From xen-devel-bounces@lists.xenproject.org Wed Nov 01 01:06:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 01:06:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626046.975955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qxzgI-0004id-PO; Wed, 01 Nov 2023 01:06:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626046.975955; Wed, 01 Nov 2023 01: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 1qxzgI-0004iW-M8; Wed, 01 Nov 2023 01:06:02 +0000
Received: by outflank-mailman (input) for mailman id 626046;
 Wed, 01 Nov 2023 01:06: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=Mpy9=GO=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1qxzgH-0004iQ-ID
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 01:06:01 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d075067c-7852-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 02:05:59 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3A115N3Y025419
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 31 Oct 2023 21:05:29 -0400 (EDT) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3A115K8c025418;
 Tue, 31 Oct 2023 18:05:20 -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: d075067c-7852-11ee-98d6-6d05b1d4d9a1
Date: Tue, 31 Oct 2023 18:05:20 -0700
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Neowutran <xen@neowutran.ovh>, 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] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZUGkUEvWwaOPMuYP@mattapan.m5p.com>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZT_LWjKgQxOE9lpj@macbook>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Mon, Oct 30, 2023 at 04:27:22PM +0100, Roger Pau Monn wrote:
> On Mon, Oct 30, 2023 at 07:50:27AM -0700, Elliott Mitchell wrote:
> > On Tue, Oct 24, 2023 at 03:51:50PM +0200, Roger Pau Monne wrote:
> > > diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
> > > index 707deef98c27..15632cc7332e 100644
> > > --- a/xen/arch/x86/genapic/x2apic.c
> > > +++ b/xen/arch/x86/genapic/x2apic.c
> > > @@ -220,38 +239,56 @@ static struct notifier_block x2apic_cpu_nfb = {
> > >  static int8_t __initdata x2apic_phys = -1;
> > >  boolean_param("x2apic_phys", x2apic_phys);
> > >  
> > > +enum {
> > > +   unset, physical, cluster, mixed
> > > +} static __initdata x2apic_mode = unset;
> > > +
> > > +static int __init parse_x2apic_mode(const char *s)
> > > +{
> > > +    if ( !cmdline_strcmp(s, "physical") )
> > > +        x2apic_mode = physical;
> > > +    else if ( !cmdline_strcmp(s, "cluster") )
> > > +        x2apic_mode = cluster;
> > > +    else if ( !cmdline_strcmp(s, "mixed") )
> > > +        x2apic_mode = mixed;
> > > +    else
> > > +        return EINVAL;
> > > +
> > > +    return 0;
> > > +}
> > > +custom_param("x2apic-mode", parse_x2apic_mode);
> > > +
> > >  const struct genapic *__init apic_x2apic_probe(void)
> > >  {
> > > -    if ( x2apic_phys < 0 )
> > > +    /* x2apic-mode option has preference over x2apic_phys. */
> > > +    if ( x2apic_phys >= 0 && x2apic_mode == unset )
> > > +        x2apic_mode = x2apic_phys ? physical : cluster;
> > > +
> > > +    if ( x2apic_mode == unset )
> > >      {
> > > -        /*
> > > -         * Force physical mode if there's no (full) interrupt remapping support:
> > > -         * The ID in clustered mode requires a 32 bit destination field due to
> > > -         * the usage of the high 16 bits to hold the cluster ID.
> > > -         */
> > > -        x2apic_phys = iommu_intremap != iommu_intremap_full ||
> > > -                      (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
> > > -                      IS_ENABLED(CONFIG_X2APIC_PHYSICAL);
> > > -    }
> > > -    else if ( !x2apic_phys )
> > > -        switch ( iommu_intremap )
> > > +        if ( acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL )
> > >          {
> > 
> > Could this explain the issues with recent AMD processors/motherboards?
> > 
> > Mainly the firmware had been setting this flag, but Xen was previously
> > ignoring it?
> 
> No, not unless you pass {no-}x2apic_phys={false,0} on the Xen command
> line to force logical (clustered) destination mode.
> 
> > As such Xen had been attempting to use cluster mode on an
> > x2APIC where that mode was broken for physical interrupts?
> 
> No, not realy, x2apic_phys was already forced to true if
> acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL is set on the FADT (I
> just delete that line in this same chunk and move it here).

I think I inverted the case in my speculation.  Perhaps AMD's firmware
SHOULD have been setting ACPI_FADT_APIC_PHYSICAL, but failed to?

Given the rough launch with AMD's latest, I could readily see there
being a goof like this.  Question will then be, will mixed mode work on
these processors?


-- 
(\___(\___(\______          --=> 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 Wed Nov 01 01:24:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 01:24:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626051.975965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qxzxy-0007rL-9Q; Wed, 01 Nov 2023 01:24:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626051.975965; Wed, 01 Nov 2023 01:24: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 1qxzxy-0007rE-5f; Wed, 01 Nov 2023 01:24:18 +0000
Received: by outflank-mailman (input) for mailman id 626051;
 Wed, 01 Nov 2023 01:24: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 1qxzxw-0007r4-NO; Wed, 01 Nov 2023 01:24: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 1qxzxw-0003oK-Gi; Wed, 01 Nov 2023 01:24: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 1qxzxw-0004D3-6Y; Wed, 01 Nov 2023 01:24:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qxzxw-0000Gg-69; Wed, 01 Nov 2023 01:24: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=5bx8P6c4GS48VSyJXTPN7BSTL6gRkNA+cla4NhznPtI=; b=OsvwYvydCs41Y1i45eG76A7E86
	Rakj3s9deagSgizKbwWSbcO71TvhE7xllZCIBGzE+2TWGQqzgLHaQ74Gyn8eTZhh5fSTsDCfSylOM
	ExGGY60V8dZ4ky4z3OQY3jgRf9vUgPN2Kq5B3RfWJhYMWiLNCd4eBtdyyHk9UOsrKM6w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183643-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183643: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ccbe2e938386ed1ec49b3ad8ed6d107e7416e273
X-Osstest-Versions-That:
    ovmf=36812d6c3e0c4402ea90e20566ac80de634d210b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Nov 2023 01:24:16 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ccbe2e938386ed1ec49b3ad8ed6d107e7416e273
baseline version:
 ovmf                 36812d6c3e0c4402ea90e20566ac80de634d210b

Last test of basis   183639  2023-10-31 15:12:49 Z    0 days
Testing same since   183643  2023-10-31 21:14:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Yuanhao Xie <yuanhao.xie@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
   36812d6c3e..ccbe2e9383  ccbe2e938386ed1ec49b3ad8ed6d107e7416e273 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 01:59:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 01:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626057.975975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy0VR-0003iC-Rb; Wed, 01 Nov 2023 01:58:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626057.975975; Wed, 01 Nov 2023 01: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 1qy0VR-0003i5-Or; Wed, 01 Nov 2023 01:58:53 +0000
Received: by outflank-mailman (input) for mailman id 626057;
 Wed, 01 Nov 2023 01:58: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=7wFu=GO=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qy0VQ-0003hz-W9
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 01:58:53 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32c7c0c0-785a-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 02:58:49 +0100 (CET)
Received: from AM6PR01CA0067.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:e0::44) by PAXPR08MB7468.eurprd08.prod.outlook.com
 (2603:10a6:102:2b6::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Wed, 1 Nov
 2023 01:58:44 +0000
Received: from AMS0EPF000001A5.eurprd05.prod.outlook.com
 (2603:10a6:20b:e0:cafe::93) by AM6PR01CA0067.outlook.office365.com
 (2603:10a6:20b:e0::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29 via Frontend
 Transport; Wed, 1 Nov 2023 01:58:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A5.mail.protection.outlook.com (10.167.16.232) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Wed, 1 Nov 2023 01:58:42 +0000
Received: ("Tessian outbound 26ee1d40577c:v228");
 Wed, 01 Nov 2023 01:58:42 +0000
Received: from 1d50ed93793d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A4B378C3-D5BB-4D5C-BFDC-8572699E076A.1; 
 Wed, 01 Nov 2023 01:58:30 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1d50ed93793d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 01 Nov 2023 01:58:30 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS4PR08MB7532.eurprd08.prod.outlook.com (2603:10a6:20b:4fb::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Wed, 1 Nov
 2023 01:58:27 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6933.028; Wed, 1 Nov 2023
 01:58: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: 32c7c0c0-785a-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=G7NB9oYTKqIezzSWB+4Jv2HYYmy7WYERwM3P3v2RVPrZeeiBj6ICce6GeMHgAtx80HWI3AaMAXTIrZCXxtxcywr6jOHNVLUCo70i3LwxNcyUuSoU1RtDJTvLtoJmKymX+pr0S1n9X/qUiU33EsRNCE5DuWrPhNN5xDBp2Wnhn8OkXu4lw0crHndIh71S5696p1J3Y5W4yncz0uAlZuXiYBgvx5JAznGVc0lA6krVp91PGlBukOXrOHq0N6FUz/y1BQyul3V16ORM7uoWM3zs/ry59UJW3O65JeVGdFwNm3vkwsE8ob3G90Gde5CP+bwjsgaCXBaOm5++wVfTKjukcQ==
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=6KCbIKvw7NtC/SYBt4hbAUM1pSPcvUI4IQb0RDApCGs=;
 b=Oqaf2IO3jQNO5xj/Y9iAJA9n7B0pUac9GkFFdIHNZzvBIvOK8AdBFWgTdUnk5qTJpVuh5aKMdF3c8D5CLySY+wWint57wdU8F16mNh+IpXBs/6Vvi/eOiZ6qA2petbcCKyX1caWoxl3uaIrnivBYpExIXg0qG+0IUGT/9OJRIiI4jBaYdav98PmILnBPVOz85bVpgW8ZYseiJ+h/NJx+rT4tgiAqGjhAKwFVYedDNwFOWlpRDEbZGcPjqbQar4aWRFvhIziEtz26L2GrdgiR58RZw30En29dd4LwJkjKmGzjPSrM4P57mgJeHMOBHh9sO2m48QYK8+YaUGKYFJH8eQ==
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=6KCbIKvw7NtC/SYBt4hbAUM1pSPcvUI4IQb0RDApCGs=;
 b=BzJ1TwxQt0BK3lQhO5CuX1Cv6AXC+Jir1ObIy7ln7VXSN/cwx0viNGlz/AxJ505jHetoqNcFGEAXMN/rbm62WA8CZFhdyrAFf09PKT5ysgQkPEe+cs8J5dKFIcgJIDKq4KN/wo7WqafL0hU7N9OFyOG/632MhY8I8jt5m/JYGOk=
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: 8a01f275641caf6b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UQlzgUPeNyjilR7wm8I4zlzocv1A4kRRiTyJPxjHBFNRbymML2T4qTOyE1/Li40RscVFzwik5VTsJq+GSpxp0LUalQ7H4bsLapsbLvfErRDumM53TceRpyOVyHIlwFlB1rG7gKsmCzDWNX0MRsHjrLbLlexguZHQMewOTCkJmft+mWyHbxQ3NRcxEyks5QAH37bZEtTQkO7uRMpND1zcPVmnzKhP8VVuv7BVgOuuW3uOCi9YRiH7FATwca5qeb5nThbVM6qBPilPRtXMvb03GhC4el9TgW7giGmqK4ynCCFA+XSz4WvK240ZyIiuFIsnCrXxu/y9u/kDGsxAYTVkBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6KCbIKvw7NtC/SYBt4hbAUM1pSPcvUI4IQb0RDApCGs=;
 b=jeCz4wRSKaRmW8LPvb/VPTm/C6ykZvm1WGvPudo0bi3dwSqFIjBkluqpTz5/JMTu4qeD5DHIub7PQ46RXrdVty3dCzshohbRE8aLsULX7YP4AH9N1nm+NNXJtBma9WXVs7rnVsOm7P7EzFudNhITgD6DPkLlmbaz39LrFUucwzT8RBQx+NF9tIFw7+KBMElhmXbxghR+XIXoYEU/rw0APUxogoI2iesdyMicFbSS/HzMHqABUlfRQ2bwuziUK0HOpg6QsbJ9KEUkAtnVLePmABVbOg3J1PAN6PoqVPmoQf3ilyq1m3BgnWjrbdhb5wKSv19EiB0Po+VRrNrD6NQrzw==
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=6KCbIKvw7NtC/SYBt4hbAUM1pSPcvUI4IQb0RDApCGs=;
 b=BzJ1TwxQt0BK3lQhO5CuX1Cv6AXC+Jir1ObIy7ln7VXSN/cwx0viNGlz/AxJ505jHetoqNcFGEAXMN/rbm62WA8CZFhdyrAFf09PKT5ysgQkPEe+cs8J5dKFIcgJIDKq4KN/wo7WqafL0hU7N9OFyOG/632MhY8I8jt5m/JYGOk=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei
 Chen <Wei.Chen@arm.com>, Penny Zheng <Penny.Zheng@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Julien Grall <jgrall@amazon.com>, Ayan Kumar
 Halder <ayan.kumar.halder@amd.com>
Subject: Re: [PATCH v8 3/8] xen/arm: Fold mmu_init_secondary_cpu() to head.S
Thread-Topic: [PATCH v8 3/8] xen/arm: Fold mmu_init_secondary_cpu() to head.S
Thread-Index: AQHaBVagUvAeq6Jj0E+dI1rvNGdSyLBkRaEAgAB9cwA=
Date: Wed, 1 Nov 2023 01:58:27 +0000
Message-ID: <D25CD22C-F529-41F7-93AB-43BEB7157B8C@arm.com>
References: <20231023021345.1731436-1-Henry.Wang@arm.com>
 <20231023021345.1731436-4-Henry.Wang@arm.com>
 <f098a07d-fa19-4b40-bfac-7b121524382a@xen.org>
In-Reply-To: <f098a07d-fa19-4b40-bfac-7b121524382a@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS4PR08MB7532:EE_|AMS0EPF000001A5:EE_|PAXPR08MB7468:EE_
X-MS-Office365-Filtering-Correlation-Id: 67a34b28-a68f-462f-9dd2-08dbda7e1310
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:
 +cCWJccZTok+R15R9NPshwNkaKvT/ZMkkh2e3rs1mdtYvs0t9RhVz49r427P13I/h8b4EKnY2ZEA1csooGfc3n/NyIlckDC0099juhBTM4IV7JNfqS3Vh1YT9RcBEYPThX54xcnNabxmN73ApOYzFG5EsY+om8Lpv70wharRft5l67bZ+p+EFUjp1jdEqs31Ha53lvuNmC3G5QrZb2bpaZOufJYBUdZFJFMNTgCFkd9wb9ZuzsjG4ob91A2KNQcPvCH25s5kxtiEvowOwvOU6exLwdHsdpCK0hXy+WWV+ywGJ6BxYEyFDMadfX+HxoTxO5IYv8Jgijl7zkFaAcOZVQmQZnVtfHpb8uD8Ip/Ca7eC+hIxUq4UJuCn6vGY5+EP629T/FI2oB03gquV9Jemb9GShj5YrkGHDyQwSkmGFgqBJRsji6OFbXPyihZVJVVP+YFIIoXH9dobzoiHlyFlO67k/UpG72XgZLwAPXT9VcoOiPIeLdZDBHhHljjLLjfnZtikbdnsGbAUC6YHaoN8Wo8022MZATTN+Vq33bccVRwCjnVjZdU/AHlBcshYthiYiFs/1JQEA0ky0dGj6x86b8Q7J3wCUXYs83bfJs2z7sLqCQ0HIx1VgKY6sWX/vtq11OB+/CVUe/5WmCctOudgGSoB3Jllu1EVvqmtgjd2tUlmDIuNPKvydJotGOQGe6vW
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:(13230031)(376002)(346002)(136003)(396003)(366004)(39860400002)(230922051799003)(64100799003)(1800799009)(451199024)(186009)(66899024)(26005)(2616005)(6512007)(38070700009)(36756003)(33656002)(86362001)(122000001)(38100700002)(2906002)(83380400001)(5660300002)(53546011)(71200400001)(478600001)(6506007)(4326008)(8676002)(6916009)(8936002)(54906003)(66946007)(316002)(66476007)(66446008)(64756008)(66556008)(91956017)(41300700001)(76116006)(6486002)(966005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <63700F5631B0514CA443ED487EC7F970@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7532
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:
 AMS0EPF000001A5.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9b0e392f-ac5d-474d-7d1d-08dbda7e0a06
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rve9SqmAP6AsNuSIZZHO1MtBipqnAr6k0hEfkxkyk5kfiwioOqj9KfI9PUB1aUC9mX8hRF8si2ZqXFxxQoOhT2mj0uoU81M7rtHFTFXjOSm+C7+z8iX5zKEwNL+JX/1C/lMHBQmTzR4b1qw88KEbKkVDSu8P1/u/PoMB2gT3X7BRFoFoZL+BlJdz/2z5YJ8Be9F5lXlLXc7zyooUoUi/6/002+be/EWJXsOMd2gLWkn0Rpd40oCfF/L9DeuNgtV6G0molypfehdBzPX+52eut3HEPJxMoKKoC7J2x6NalHws/khtFXlMfoX/FzcDiNlizz+M9+AewjLZKuL6BwN5REKSPBLP8RDWc2C7W85C503IkMboJZxuAdjyIzpMv5xoPlBsKYcfyBpMYjirIJKaiHCBdF3VgkLyWin1QiBBELdW5yMBotlXbluEFVFa/fXFywtgIR+Vbr/VGH11grBzNT9xf99r6QKqq6xdvcNzjHSZLTLsGqmttd02k2Rgq/FH44fKEp4GgZIomsVWkv77eg3SGAT+NY2snzZ+7po4lXw/GuEvS5GKi9nee4jiaaooDdJvx6jq8YaH16A+Nyx6tA8yH3sxgiLBRWS+HMRffCHSxuhNvfybazxv+dOio1LwhgMEhIzV0LqyOLYKsjI5PcK2LOpkdj+ZftHemiBtEwTgoHC4GAmNQNhxOwfvJFD26HcvFuFoUOFp7IYQPbtwbi20NOBCIKx7PtcAXQO+alL9/II/JnQrc22oLlmUCDne497oVdAcyPUff4+WQlRHvQ==
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:(13230031)(4636009)(346002)(136003)(376002)(39860400002)(396003)(230922051799003)(64100799003)(186009)(451199024)(1800799009)(82310400011)(46966006)(36840700001)(40470700004)(40460700003)(40480700001)(2616005)(6512007)(26005)(53546011)(478600001)(6506007)(336012)(47076005)(36860700001)(83380400001)(2906002)(5660300002)(41300700001)(70586007)(70206006)(966005)(6486002)(4326008)(6862004)(8676002)(316002)(8936002)(54906003)(81166007)(82740400003)(356005)(86362001)(33656002)(36756003)(66899024);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2023 01:58:42.2866
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 67a34b28-a68f-462f-9dd2-08dbda7e1310
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:
	AMS0EPF000001A5.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7468

SGkgSnVsaWVuLA0KDQo+IE9uIE5vdiAxLCAyMDIzLCBhdCAwMjoyOSwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBIZW5yeSwNCj4gDQo+ICtBeWFuDQo+IA0K
PiBPbiAyMy8xMC8yMDIzIDAzOjEzLCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4gQ3VycmVudGx5IG1t
dV9pbml0X3NlY29uZGFyeV9jcHUoKSBvbmx5IGVuZm9yY2VzIHRoZSBwYWdlIHRhYmxlDQo+PiBz
aG91bGQgbm90IGNvbnRhaW4gbWFwcGluZyB0aGF0IGFyZSBib3RoIFdyaXRhYmxlIGFuZCBlWGVj
dXRhYmxlcw0KPj4gYWZ0ZXIgYm9vdC4gVG8gZWFzZSB0aGUgYXJjaC9hcm0vbW0uYyBzcGxpdCB3
b3JrLCBmb2xkIHRoaXMgZnVuY3Rpb24NCj4+IHRvIGhlYWQuUy4NCj4+IEZvciBhcm0zMiwgaW50
cm9kdWNlIGFuIGFzc2VtYmx5IG1hY3JvIHB0X2VuZm9yY2Vfd3huLiBUaGUgbWFjcm8gaXMNCj4+
IGNhbGxlZCBiZWZvcmUgc2Vjb25kYXJ5IENQVXMganVtcGluZyBpbnRvIHRoZSBDIHdvcmxkLg0K
Pj4gRm9yIGFybTY0LCBzZXQgdGhlIFNDVExSX0F4eF9FTHhfV1hOIGZsYWcgcmlnaHQgd2hlbiB0
aGUgTU1VIGlzDQo+PiBlbmFibGVkLiBUaGlzIHdvdWxkIGF2b2lkIHRoZSBleHRyYSBUTEIgZmx1
c2ggYW5kIFNDVExSIGRhbmNlLg0KPiANCj4gRm9yIGEgcmFuZG9tIHJlYWRlciwgaXQgaXMgbm90
IGNsZWFyIHdoeSB5b3UgY2FuJ3Qgc2V0IFduWCBlYXJseSBmb3IgYXJtMzIgYXMgd2VsbC4gSSB0
aGluayBpdCB3b3VsZCBoZWxwZnVsIHRvIGV4cGxhaW4gdGhlIGRpZmZlcmVuY2UuIEkuZS4gYXQg
dGhlIHBvaW50IHRoZSBNTVUgaXMgZW5hYmxlZCwgdGhlIHBhZ2UtdGFibGVzIG1heSBzdGlsbCBj
b250YWluIG1hcHBpbmcgd2hpY2ggYXJlIHdyaXRhYmxlIGFuZCBleGVjdXRhYmxlLg0KDQpTb3Vu
ZHMgZ29vZCwgSSB3aWxsIGFkZCB0aGUgc3VnZ2VzdGVkIHNlbnRlbmNlLg0KDQo+PiAgLmVuZG0N
Cj4+ICArLyoNCj4+ICsgKiBFbmZvcmNlIFhlbiBwYWdlLXRhYmxlcyBkbyBub3QgY29udGFpbiBt
YXBwaW5nIHRoYXQgYXJlIGJvdGgNCj4+ICsgKiBXcml0YWJsZSBhbmQgZVhlY3V0YWJsZXMuDQo+
PiArICoNCj4+ICsgKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgb24gZWFjaCBzZWNvbmRhcnkgQ1BV
Lg0KPj4gKyAqLw0KPj4gKy5tYWNybyBwdF9lbmZvcmNlX3d4biB0bXANCj4+ICsgICAgICAgIG1y
YyAgIENQMzIoXHRtcCwgSFNDVExSKQ0KPj4gKyAgICAgICAgb3JyICAgXHRtcCwgXHRtcCwgI1ND
VExSX0F4eF9FTHhfV1hODQo+PiArICAgICAgICBkc2INCj4+ICsgICAgICAgIG1jciAgIENQMzIo
XHRtcCwgSFNDVExSKQ0KPj4gKyAgICAgICAgLyoNCj4+ICsgICAgICAgICAqIFRoZSBUTEJzIG1h
eSBjYWNoZSBTQ1RMUl9FTDIuV1hOLiBTbyBlbnN1cmUgaXQgaXMgc3luY2hyb25pemVkDQo+PiAr
ICAgICAgICAgKiBiZWZvcmUgZmx1c2hpbmcgdGhlIFRMQnMuDQo+PiArICAgICAgICAgKi8NCj4+
ICsgICAgICAgIGlzYg0KPj4gKyAgICAgICAgZmx1c2hfeGVuX3RsYl9sb2NhbCBcdG1wDQo+PiAr
LmVuZG0NCj4+ICsNCj4+ICAvKg0KPj4gICAqIENvbW1vbiByZWdpc3RlciB1c2FnZSBpbiB0aGlz
IGZpbGU6DQo+PiAgICogICByMCAgLQ0KPj4gQEAgLTI1NCw2ICsyNzMsNyBAQCBzZWNvbmRhcnlf
c3dpdGNoZWQ6DQo+PiAgICAgICAgICAvKiBVc2UgYSB2aXJ0dWFsIGFkZHJlc3MgdG8gYWNjZXNz
IHRoZSBVQVJULiAqLw0KPj4gICAgICAgICAgbW92X3cgcjExLCBFQVJMWV9VQVJUX1ZJUlRVQUxf
QUREUkVTUw0KPj4gICNlbmRpZg0KPj4gKyAgICAgICAgcHRfZW5mb3JjZV93eG4gcjANCj4gDQo+
IEZyb20gcmVjZW50IGRpc2N1c3Npb24gb24gSVJDLCBBeWFuIHJlbWluZGVkIG1lIHRoaXMgcGF0
Y2ggWzFdLiBJZGVhbGx5LCBJIHdvdWxkIHdhbnQgdG8gcHJpbnQgYSBtZXNzYWdlIGp1c3QgYmVm
b3JlIHRvIGluZGljYXRlIHRoYXQgdGhlIGJpdCBpcyBzZXQuIEJ1dCBJIHVuZGVyc3RhbmQgdGhh
dCB0aGlzIHdvdWxkIG5lZWQgdG8gYmUgZHJvcHBwZWQgaW4gQXlhbiByZXdvcmsgYXMgd2UgZG9u
J3QgeWV0IHN1cHBvcnQgZWFybHkgcHJpbnRrIGluIGVuYWJsZV9tbXUoKS4NCj4gDQo+IFdoaWxl
IGRlYnVnZ2luZyBhbiBNTVUgaXNzdWUgb24gQXJtMzIsIEkgd3JvdGUgYSBwYXRjaCB0byBzcHJp
bmtsZSBwcmludHMgaW4gdGhlIGVuYWJsZV9tbXUoKSBjb2RlLiBJIHdpbGwgY2xlYW4tdXAgdGhl
IHBhdGNoIGFuZCBzZW5kIGl0Lg0KDQpKdXN0IHRvIG1ha2Ugc3VyZSwgeW91ciBwYXRjaCBpcyBm
b3IgYm90aCBBcm0zMiBhbmQgQXJtNjQsIGlzIG15IHVuZGVyc3RhbmRpbmcgY29ycmVjdD8NCklm
IGl0IGlzIG9ubHkgZm9yIEFybTMyLCBkbyB5b3UgbmVlZCBtZSBhZGRpbmcgdGhlIHByaW50IGZv
ciBBcm02NCBhcyB3ZWxsIGluIHRoaXMgcGF0Y2g/DQoNCj4gSSB3aWxsIGFkZCBhIHByaW50IGF0
IHRoYXQgcG9pbnQuIE1lYW53aGlsZSwgSSB3b3VsZCBtb3ZlIHRoZSBjYWxsIGEgZmV3IGxpbmVz
IGFib3ZlPyBUaGlzIHdpbGwgYWxsb3cgQXlhbiB0byBkcm9wIFsxXS4NCg0KWWVhaCBJIHdpbGwg
aW5jbHVkZSBBeWFu4oCZcyBjaGFuZ2UgaW4gdGhpcyBwYXRjaCBhbmQgYWRkIGhpcyBzaWduLW9m
Zi4NCg0KPj4gICAgICAgICAgUFJJTlQoIi0gUmVhZHkgLVxyXG4iKQ0KPj4gICAgICAgICAgLyog
SnVtcCB0byBDIHdvcmxkICovDQo+PiAgICAgICAgICBtb3ZfdyByMiwgc3RhcnRfc2Vjb25kYXJ5
DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2FybTY0L21tdS9oZWFkLlMgYi94ZW4vYXJj
aC9hcm0vYXJtNjQvbW11L2hlYWQuUw0KPj4gaW5kZXggODgwNzVlZjA4My4uZGYwNmNlZmJiZSAx
MDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9hcm02NC9tbXUvaGVhZC5TDQo+PiArKysgYi94
ZW4vYXJjaC9hcm0vYXJtNjQvbW11L2hlYWQuUw0KPj4gQEAgLTI2NCwxMCArMjY0LDExIEBAIEVO
RFBST0MoY3JlYXRlX3BhZ2VfdGFibGVzKQ0KPj4gICAqIElucHV0czoNCj4+ICAgKiAgIHgwIDog
UGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgcGFnZSB0YWJsZXMuDQo+IA0KPiBUaGUgaW5wdXRzIGxp
c3Qgc2hvdWxkIGJlIHVwZGF0ZWQgdG8gbWVudGlvbiB3aGF0IHgxIG1lYW5zLg0KDQpJIHdpbGwg
dXNlIOKAnHgxOiBFeHRyYSBmbGFncyBvZiB0aGUgU0NUTFIu4oCdIGlmIHRoaXMgbG9va3MgZ29v
ZCB0byB5b3UuDQoNCj4+ICAgKg0KPj4gLSAqIENsb2JiZXJzIHgwIC0geDQNCj4+ICsgKiBDbG9i
YmVycyB4MCAtIHg2DQo+IA0KPiBCZWxvdywgeW91IG9ubHkgc2VlbSB0byBpbnRyb2R1Y2UgeDUu
IFNvIHNob3VsZG4ndCB0aGlzIGJlOiAiQ2xvYmJlcnMgeDAgLSB4NSI/DQoNCkhtbW0geWVzIHlv
dSBhcmUgY29ycmVjdCwgSSBibGluZGx5IGNvcGllZCB0aGUgY29kZSBmcm9tIFsyXS4gU29ycnkg
Zm9yIHRoZSBtZXNzLCBJIHdpbGwNCmNvcnJlY3QgaXQgaW4gdjkuDQoNCj4gQ2hlZXJzLA0KPiAN
Cj4gWzFdIGh0dHBzOi8vbG9yZS5rZXJuZWwub3JnL2FsbC8yMDIzMDkxMTEzNTk0Mi43OTEyMDYt
Mi1heWFuLmt1bWFyLmhhbGRlckBhbWQuY29tLw0KDQpbMl0gaHR0cHM6Ly9sb3JlLmtlcm5lbC5v
cmcveGVuLWRldmVsLzRkN2E5ODQ5LTg5OTAtOGRkZC0zNTMxLTkzZjRlMmUyNjJiMUB4ZW4ub3Jn
Lw0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiAtLSANCj4gSnVsaWVuIEdyYWxsDQoN
Cg==


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 02:50:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 02:50:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626061.975984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy1Jd-0002kR-2g; Wed, 01 Nov 2023 02:50:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626061.975984; Wed, 01 Nov 2023 02:50: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 1qy1Jd-0002kK-03; Wed, 01 Nov 2023 02:50:45 +0000
Received: by outflank-mailman (input) for mailman id 626061;
 Wed, 01 Nov 2023 02:50: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=HZ0A=GO=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1qy1Jb-0002kE-2M
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 02:50:43 +0000
Received: from sonic312-25.consmr.mail.gq1.yahoo.com
 (sonic312-25.consmr.mail.gq1.yahoo.com [98.137.69.206])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f575419-7861-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 03:50:38 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic312.consmr.mail.gq1.yahoo.com with HTTP; Wed, 1 Nov 2023 02:50:36 +0000
Received: by hermes--production-ne1-56df75844-r9tmt (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 013fa52567108109ef0e6cc6ef79cd9f; 
 Wed, 01 Nov 2023 02:50: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: 6f575419-7861-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1698807036; bh=A4kfhwIUJkyFCf/M/+KoSTmAJsJ6d9+Z7HofM+HJNOg=; h=Date:Subject:To:References:From:Cc:In-Reply-To:From:Subject:Reply-To; b=APSVPC2IkCim0+Mm8Bl8sBkT+V+7cNFyiQFTd9kLKVFBjzTEKATQqM6nVPkAF5ES2lQicv2cuFGSUqGuIjOavsdhu7Ak2748TAYs/i8wc7x7DxyXQizCSPpvDm4imnOxJOB3Rln3YOiNgqyuzAcei3+FJcjlzAYDBeDHU/ZOC1hA6/xcSYci+OI9NUiAyLek+ScdxQR1QaN/u0Yj6o11/hns1UL498+y35kw5rvLfKiS2lNa8dTwx3iMl9G8rkS0O736vu6rNZXHSumS/bzzphg9U/8kcRnGnjj0wy+zvWJ4Wd5iVEPqJXVNybPfvNHbwbX+4XfKOTe19ydpr9gHXQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1698807036; bh=pgiJyujpGhL1AtVW1FLFtgcKLcPsXYyh/IHbWMw6rmq=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=LNEonZYh0wL5r66x5TFaTxJafwabJAr/u55CLAWWIdgO2mI5Kposc/vhXyNXzksqj6d2ZRZzJ3a0T7vQwTIUWr55LRP489K4IV4QXdjkmCcaPlYQdMyRIecv08sA9PVXWJ2PRbL7geNvnF8FZPGlcM+xcpHoIX3IoMx5vRztDngKPzFfebaeW3Tv9irT9Iw5BSZLd1G2xfsvNbqdVaBAFkIZ4gFumqCJ6OL275V9ZbTxNmtzJYHFKtBy1Isg+gSFbw4h8p+5O81Fwrnb21c3Ph/Z+sn3bccrfKanBZehARCvqvAyTkncPp4treqkDEzq4NSRwmy7HZtQ6X2+emDP/g==
X-YMail-OSG: 9yY1KuMVM1kFujj0V2YOGTb1LAQGlWOnO5Y6pkH0fG.lGyVTJGVOFAW34sHmWtg
 uWLcBoiz9FOJa5ssUQPgeEOsDtv57Urd5YcfjGW.3hz1CU9Mx_9ZGtdMjAjXcy7.UauxZiPzVZzA
 2g3_bNabX0AXxKdsfamAxo9HmghoGhA4ZPME7_.1Wmy5NyGLpHxDrAoDLQSOZ5BaeUJTGrPXlDmQ
 OoKqpnWi.l96HY3FElL.V5zA0jJTctjLrE0A.SoFjRiuc4W04nKiGxujVMj2uZCYYjpmnKZes0Y2
 1sxzrQn5RpDgSfmHiaPPjxnsAbgMgN7YWL1yHI5PQwDoCQ9buMOO0MWWCAtxIQNvheZXGY6cpEPI
 UiZ0S2ueV83Zem8coq0YvEPsgd7BpP7ryPwBwtPqLG_r_F0znfQfRCnSfe4CCBH6BkFmk8kk2Ws5
 hM1WlWVTKwNkiVSxTsSOJny20jK12um44EbW8dopwgYkEIEDk6BAfbmUsT6RH.yR0mb1439rP3vg
 Xa0TA2QO0R_mAvBoleUVphig.t_mjoA2F6KE1w169cZqeJbTp9erD.BDdyMks6CtQjgmRHbjyuJP
 ZKrTz8gaMnF4qFqT.7.GGMJtj3VDgvC1L5FM.fP8Vknzu4Zkj8xu4K0uCqXKSZDIZp2IMAohWr1_
 fCKvmWJ8Jtlnld8QmpcxeFEQcblDC0cwu15.lnhu2rlcjYHDAmE3HoLwXPu.0F32TsZY89RORJBP
 A.4phfCO2UPzl3KVfMIAdFk1wmgmZtZWt8iNYuy8flxkUbOkwPjS36C8onD5NoGVuicZ4mxfPbma
 EI1jlNJyNdHfyZuTUb5nlWDK2xwOMBTWZO4yXN4i7b9Nz6TlYMkgDF.pHFM105OYmGKwAA3A0P6N
 so3FI.FXToVu8vwKrNZSxDKt4xm9QDuid6_XyHfXS3..S0v19ALZ_0mfS1P.bUf2UrynKVRJzvu7
 B.b8ErnSmG10gaHtfOSNTB0btUFckYfxJ0Ii6YwOKvE4SyAM4V8nv9ynpUmpWFgjKxz6Kcx1atV.
 URHr1BuiV_9xQaG4JDtemed6djKhh1kRGEtuoOzuTeuYb5RZRdNY9nasnYSdVYQ.wlNjcznJHwof
 8m6958z_AVr2AtkTlxBzzuL51sDus_lOOM9cX_KK3ZEolTuPcdy5E5crhe545CRZf7jq4xUK6jfq
 U9GASefEHgqqbeyfiqIWM0.hlCq4PaGpq6QBal29pFSytXrz_rN.0oWAnFLtqu3zkZZ3jMLEsvuv
 hDgA_WbKuXpLRFU.X3H0fqHR6f0IVbEQOdCXEg5BFtF0hEbBhS43v5IVUDi2UCDw_.SePIht4oL.
 w5c9Q8g0N7tnsPNcIlsVS.ZlTlRM6q3CJmryIuZkx9tPXIfznbP9zOA4ZD.OBJ3OQ2dbcgMZ6kij
 T4YI0oBuoREyqKAk4ulG7gkSFLH_Wljk9Fx8SmJ7QTBI4BCeKtqFuKG4bTi9SstJ2Qv1FR_EBb7W
 2Vw.YPDSa_8j6S8QQp46GuBKfHXQF6SGyz6XRfzXGylKmlZJrPNzt0HuUqk.oAt.j75vuwFD.Ecs
 QD1IV3jMraMHdtHBGL4jda8sGmM9gtM5V.9u0bDLwm8krYOssfnwICR4KLzw__zJSNBA4MrvuJrE
 gQ5Nh6ihoWMA3Sz244BluqbnCS620CaVl.pp67YDaaVz44vfd66qrCi1kFvYUZyweEVKYgaGGkNb
 B6W4G11qv7_6GuOo6SVIHzOsXDEgm4L2_TpM.hq9_PFp5C0PZrdX79K0qqxE206zrKv7PUTjte_N
 VTX0fS7qUppJZst3Qrv6lCPV0kW.TVQqmYaGkkwueRnY.Clzk_HxmCF5Myn4mCA7P1ALoAw95ngD
 GvME4aewLS7JLpM0u1MP8gvVT4gHzZZmtWmNkdaD_b8EcO5EOIhtAtT4GtErs0lBd9RRvdoNjbii
 Ujm_1ViLKDg9hGkH2HAoDEsYyHkUfKs72M7_ycwiulsUwtCocSJoRiPzz.nmC9LF7nr5cMTzgmgJ
 iivCtiDBp9_HifoXTjJpbnq9J.wb8xXJxHVcV0RR_ZoBB4Jv.T4S321ajxACr_MXYLuAGcz.XWYb
 KmUkVpiWraKV0Yne2JXYwYo__x40OTUrz1LNi.5iVQYm.ZZ.gpUuWl_2O4qq7m8N52Vc6QnaDwPV
 ug2zlqIDJM9RPr7gnMQCIHK_ctVfoQI6qCxosj.S4o10niwMnoKmWPkZAVc2pUdAZwljHnej.edJ
 ku9TTPL0riOD1nfsYow--
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 6798214f-177d-43a2-8ef3-89c3414a7b0d
Message-ID: <d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net>
Date: Tue, 31 Oct 2023 22:50:34 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma]
 *ERROR* Device 14450000.mixer lacks support for IOMMU
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
References: <CA+1FSiip1U0_EskJNgV3pSZPTCNOiTbpHosRLsy-6t1QQGd8Dw@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311557520.1795129@ubuntu-linux-20-04-desktop>
 <CA+1FSih0hORYZf6Hfmf=nY4jkHPvFSgGfc1tJfzN6smnKxcsxA@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311625260.1795129@ubuntu-linux-20-04-desktop>
From: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Mario Marietto <marietto2008@gmail.com>,
 xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Marek Szyprowski <m.szyprowski@samsung.com>
In-Reply-To: <alpine.DEB.2.22.394.2310311625260.1795129@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mailer: WebService/1.1.21890 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 10449

On 10/31/2023 7:45 PM, Stefano Stabellini wrote:
> Unfortunately there is no easy solution.
> 
> Do you know the version of the SMMU available on the platform? 

I am trying to discern, but I doubt we have v3 because we are
working on a very old chromebook from 2012, and I am finding
patches for smmv3 in Linux not starting until 2015. It is good to
know about this option, though, for future work we might do on newer
devices.

> If it is a SMMUv3 you can try to use the nested SMMU patch series to
> enable a virtual SMMU in Dom0: https://marc.info/?l=xen-devel&m=166991020831005
> That way, Xen can use the SMMU to protect VMs, and Dom0 can also use the
> SMMU for its own purposes at the same time.
> 
> Alternatively, you can dig into the details of the exynos-drm driver to
> see what exactly is the dependency on the IOMMU framework in Linux and
> remove the dependency. Unfortunately none of us in this thread are
> expert on exynos-drm so it would be difficult to advise on how to do
> that. For example, I don't know how you could debug the x11 problem you
> described because I don't typically work with x11 or with the exynos. If
> there is an open source mailing list for exynos-drm development they
> might be able to advise on how to remove the IOMMU dependency there.

We have received this message from Marek Szyprowski of Samsung:

https://lore.kernel.org/lkml/7a71e348-f892-4fd4-8857-b72f35ab5134@samsung.com/

Marek recommends this patch to possibly help with this issue:

https://github.com/torvalds/linux/commit/bbc4d205d93f52ee18dfa7858d51489c0506547f

and also these kernel config settings:

On 10/31/2023 8:08 AM, Marek Szyprowski wrote:
> If not, then as a temporary workaround please disable 
> CONFIG_DRM_EXYNOS_MIXER and CONFIG_DRM_EXYNOS_HDMI in your kernel config 
> and check what will happen (You will lose the HDMI output, but maybe 
> this won't a big issue).

Mario and I have preliminary evidence that applying both of Marek's
recommendations to the 6.1.59 kernel have improved the situation to
the point where now the Chromebook can run X.org on Xen. We are doing
further tests to see how Marek's patch and/or the kernel config settings
to disable the mixer and the HDMI affect the behavior of the GPU in dom0
on Xen.

> 
> The final option, which is a gross hack, would be to let Dom0 use the
> IOMMU for its own gain. Xen doesn't use the IOMMU. If you do that you
> lose freedom from interference between the VMs and you cannot run driver
> domains or directly assign devices to DomUs. But if you are running a
> research project you might be OK with that. To get it to work, you need
> to hack Xen so that it remaps the IOMMU to Dom0 to let Dom0 program it
> directly. The attached patch (untested) would be a place to start. You
> also need to pass iommu=false to the Xen command line to prevent Xen
> from using the iommu itself.

I am interested to investigate if only the mixer and the HDMI is causing
the trouble. Based on what you are telling me about Xen not exposing the
IOMMU to dom0, I don't fully understand the original log messages I was
getting when I followed Julien's suggestion to find the symbols associated
with each address in the original message, and those seemed to indicate that
the exynos_drm device was using the IOMMU in dom0, but the mixer was not,
and the fact that they both were not using the IOMMU is what caused the
test to fail and Linux refuse to initialize the GPU on dom0, whereas on
bare metal, the logs indicated both the exynos mixer, which I think is a
sub device of the exynos_drm, and the exynos_drm, use the IOMMU on bare
metal.

I also found this patch which suggests if we can get the devices to work
we will be compromising the security and isolation between guests:

https://patchwork.kernel.org/project/linux-arm-kernel/patch/20190301192017.39770-1-dianders@chromium.org/

There are plenty of unanswered questions here in my mind,

Cheers,

Chuck

> 
> Cheers,
> 
> Stefano
> 
> 
> On Wed, 1 Nov 2023, Mario Marietto wrote:
>> I'm aware of the presence of that post. I'm working on the same
>> project with the guy who explained the problem. Unfortunately,the
>> solution proposed does not work well. Xen is working,but the screen is
>> still black.
>> 
>> On Wed, Nov 1, 2023 at 12:04 AM Stefano Stabellini
>> <sstabellini@kernel.org> wrote:
>> >
>> > Hi Mario,
>> >
>> > I am adding xen-devel and a couple of other Xen maintainers that might
>> > know how to help make progress on this issues.
>> >
>> > Replies inline below.
>> >
>> >
>> > On Tue, 31 Oct 2023, Mario Marietto wrote:
>> > > Hello,
>> > >
>> > > We are a team of linux enthusiasts who are trying to boot Xen on a
>> > > Samsung XE303C12 Chromebook aka "snow"
>> > > following the suggestions in the slide show presentation here:
>> > >
>> > > https://www.slideshare.net/xen_com_mgr/xpds16-porting-xen-on-arm-to-a-new-soc-julien-grall-arm
>> > >
>> > > This device uses an exynos5250 SOC dual core 1.7 GHz with 2 MB RAM, it is
>> > > a Samsung armv7 chip with virtualization extensions.
>> > >
>> > > In particular, we have it working fairly well both on the bare metal with
>> > > a recent 6.1.59 Linux LTS kernel and also with a recent 5.4.257 LTS
>> > > kernel with KVM, the older LTS kernel version is used to test KVM because
>> > > support for KVM on arm v7 was removed from Linux around kernel version
>> > > 5.7. So we know we have the hypervisor mode enabled because we were able
>> > > to use it with KVM.
>> > >
>> > > For Xen, we are using the latest Debian build of Xen 4.17 for the Debian
>> > > armhf architecture:
>> > >
>> > > (XEN) Xen version 4.17.2-pre (Debian 4.17.1+2-gb773c48e36-1)
>> > > (pkg-xen-devel@xxxxxxxxxxxxxxx
>> > > xxxxxxxx) (arm-linux-gnueabihf-gcc (Debian
>> > > 12.2.0-14) 12.2.0) debug=n Thu May 18 19:26:30 UTC 2023
>> > >
>> > > The Linux kernel is a custom build that adds the Xen config kernel
>> > > options (CONFIG_XEN_DOM0, etc) on top of a kernel that works well on the
>> > > same Chromebook model on the bare metal. I can provide the config options
>> > > of the kernel that was used if that is helpful.
>> > >
>> > > Our method of booting is to have u-boot boot the Xen hypervisor and load
>> > > the device tree after adding the dom0 to the otherwise unaltered device
>> > > tree from the Linux kernel using u-boot fdt commands to add a /chosen
>> > > node, as described on the Xen wiki and in the pages linked from there. We
>> > > have also tried adding and loading an initrd.img using the device tree
>> > > /chosen node but that made no difference in our tests.
>> > >
>> > > We actually have the Linux LTS kernel version 6.1.59 working as dom0 with
>> > > Xen using the same version of u-boot that we used for KVM, but with a big
>> > > problem.
>> > >
>> > > The problem we see is that when booting the 6.1.59 kernel version as dom0
>> > > with Xen, the screen is totally dark and the only way to access the
>> > > system is remotely through ssh. Logs indicate most everything else is
>> > > working, such as the wifi card so we can access it remotely via ssh and a
>> > > USB optical mouse lights up when connected so USB is also working.
>> > > Obviously, the disk is also working. The Chromebook is configured to boot
>> > > from the device's SD card slot by turning on Chrome OS developer mode
>> > > options to enable booting from the SD card slot.
>> > >
>> > > The mystery is that when booting the exact same 6.1.59 kernel on the bare
>> > > metal instead of booting it as dom0 on Xen, it boots up with full access
>> > > to the screen and we can interact with the system using the X.org windows
>> > > system. But booting as dom0 with Xen, the screen is totally dark and the
>> > > only access we have to the system is through the network via ssh. Also,
>> > > when booting the 5.4.257 kernel with KVM in hypervisor mode, the screen
>> > > works and we can interact with the system through the X.org windows
>> > > system.
>> > >
>> > > Exploring the log file,we have seen the errors below :
>> > >
>> > >
>> > > With Xen (or in bare metal):
>> > >
>> > > devuan-bunsen kernel: [drm] Exynos DRM: using 14400000.fimd device for
>> > > DMA mapping operations
>> > > devuan-bunsen kernel: exynos-drm exynos-drm: bound 14400000.fimd (ops
>> > > 0xc0d96354)
>> > > devuan-bunsen kernel: exynos-drm exynos-drm: bound 14450000.mixer (ops
>> > > 0xc0d97554)
>> > > devuan-bunsen kernel: exynos-drm exynos-drm: bound
>> > > 145b0000.dp-controller (ops 0xc0d97278)
>> > > devuan-bunsen kernel: exynos-drm exynos-drm: bound 14530000.hdmi (ops
>> > > 0xc0d97bd0)
>> > > ...
>> > > devuan-bunsen kernel: Console: switching to colour frame buffer device 170x48
>> > > devuan-bunsen kernel: exynos-drm exynos-drm: [drm] fb0: exynosdrmfb
>> > > frame buffer device
>> > > devuan-bunsen kernel: [drm] Initialized exynos 1.1.0 20180330 for
>> > > exynos-drm on minor 0
>> > >
>> > > In this case,the kernel is able to use the exynos-drm kernel to start
>> > > the fb0 device. But with Xen we get this error with exynos-drm:
>> > >
>> > > devuan-bunsen kernel: [drm] Exynos DRM: using 14400000.fimd device for
>> > > DMA mapping operations
>> > > devuan-bunsen kernel: exynos-drm exynos-drm: bound 14400000.fimd (ops
>> > > 0xc0d96354)
>> > > devuan-bunsen kernel: exynos-mixer 14450000.mixer:
>> > > [drm:exynos_drm_register_dma] *ERROR* Device 14450000.mixer lacks
>> > > support for IOMMU
>> > > devuan-bunsen kernel: exynos-drm exynos-drm: failed to bind
>> > > 14450000.mixer (ops 0xc0d97554): -22
>> > > devuan-bunsen kernel: exynos-drm exynos-drm: adev bind failed: -22
>> > > devuan-bunsen kernel: exynos-dp: probe of 145b0000.dp-controller
>> > > failed with error -22
>> > >
>> > >
>> > > Any ideas why booting the same Linux kernel that results in a working
>> > > X.org display on the bare metal instead as dom0 on Xen would cause the
>> > > display to remain dark, but most other basic functions would work, such
>> > > as network, disk, and USB ? thanks.
>> >
>> > I think the issue is that Linux 6.1.59 is using the IOMMU to get the GPU
>> > to work. When running on top of Xen, the IOMMU is not available to
>> > Linux. That's because the IOMMU is used by Xen to enforce protection
>> > between VMs.
>> >
>> > It might help to rebuild Linux without IOMMU support (remove the driver
>> > from the kconfig) so that Linux cannot attempt to use the IOMMU.
>> >
>> > Also see
>> > https://marc.info/?l=xen-users&m=169844593525492



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 02:53:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 02:53:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626065.975994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy1Lw-0003NC-Ic; Wed, 01 Nov 2023 02:53:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626065.975994; Wed, 01 Nov 2023 02: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 1qy1Lw-0003N5-FK; Wed, 01 Nov 2023 02:53:08 +0000
Received: by outflank-mailman (input) for mailman id 626065;
 Wed, 01 Nov 2023 02:53: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 1qy1Lv-0003Mu-8n; Wed, 01 Nov 2023 02:53: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 1qy1Lu-0002nC-So; Wed, 01 Nov 2023 02:53: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 1qy1Lu-0007aD-Kd; Wed, 01 Nov 2023 02:53:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qy1Lu-00012V-K9; Wed, 01 Nov 2023 02:53: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=ENSzgxS28v05hV+LJEhdoDKArfZr4LQlWUsp1QVSmHE=; b=4yD67zG9TWqGffotLUNo7d0y2i
	ZjFaIYretU5qpi8Qrw1LngsxxZ8c6uEfSBef865s6Fm6+PWly2dedMwaUIh6BcSvwbqMaAEe2jpXB
	Ygk9oJLACWcGjsK26cLdE5TUNwCRS+v6G84a6RWw/8aDAhW5LC2KnEOtEI0EtHhp7ejQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183640-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183640: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-pair:xen-install/dst_host:fail:heisenbug
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:xen-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start.2:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm: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-libvirt: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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-libvirt-qcow2: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-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
    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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=9659b2a6d73b14620e187f9c626a09323853c459
X-Osstest-Versions-That:
    xen=5415b2b2118bd78d8a04f276a8312f7f0cb1a466
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Nov 2023 02:53:06 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-pair     11 xen-install/dst_host fail in 183626 pass in 183640
 test-amd64-i386-qemut-rhel6hvm-amd 7 xen-install fail in 183626 pass in 183640
 test-amd64-i386-qemuu-rhel6hvm-amd 7 xen-install fail in 183626 pass in 183640
 test-armhf-armhf-libvirt-raw 18 guest-start.2              fail pass in 183626

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail in 183626 like 183547
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183566
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183615
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183615
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183615
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183615
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183615
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183615
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183615
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183615
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183615
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183615
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183615
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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-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          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-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-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-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-amd64-i386-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-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-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
 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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  9659b2a6d73b14620e187f9c626a09323853c459
baseline version:
 xen                  5415b2b2118bd78d8a04f276a8312f7f0cb1a466

Last test of basis   183615  2023-10-30 01:53:40 Z    2 days
Testing same since   183620  2023-10-30 13:40:36 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <julien@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                                          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                              starved 
 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-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                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   5415b2b211..9659b2a6d7  9659b2a6d73b14620e187f9c626a09323853c459 -> master


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 06:04:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 06:04:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626080.976037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy4Ku-0004Dq-TW; Wed, 01 Nov 2023 06:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626080.976037; Wed, 01 Nov 2023 06: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 1qy4Ku-0004Dj-Qu; Wed, 01 Nov 2023 06:04:16 +0000
Received: by outflank-mailman (input) for mailman id 626080;
 Wed, 01 Nov 2023 06:04: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 1qy4Kt-0004DZ-CS; Wed, 01 Nov 2023 06:04: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 1qy4Kt-0007iY-Ag; Wed, 01 Nov 2023 06:04: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 1qy4Ks-0006AH-V0; Wed, 01 Nov 2023 06:04:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qy4Ks-0002DQ-Uc; Wed, 01 Nov 2023 06:04: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=vmCgM+L/QCNVHWMTjHAeflcPuD+DaxunxBKh2qqEI1Y=; b=k3PEshCNV+3lCMh4AJY1czSGYh
	smxNAjbr2Dw4BVsiLabgyipmXZUhsjr2CAH5ZHV2lCDe08UEk4kD1+dpA3XtsKnf0cy1GnUogR+sj
	fFeHQZtJiDjrlly7q7U/5RAi1CC3IRIu/Ed9L0+EWPk6GW2Qc5DxwZc+MjmyWLKgM8vU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183641-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 183641: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=dfd7b3fe0380a0313d1b573afb918ffcd92c4be5
X-Osstest-Versions-That:
    xen=b6cf4f81b5ff43a05b199c3eb8c78059d03d9485
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Nov 2023 06:04:14 +0000

flight 183641 xen-4.18-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/183641/

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 183624
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183624
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183624
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183624
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183624
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183624
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183624
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183624
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183624
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183624
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183624
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183624
 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-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-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-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-thunderx 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-thunderx 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-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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-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-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-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-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-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     15 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  dfd7b3fe0380a0313d1b573afb918ffcd92c4be5
baseline version:
 xen                  b6cf4f81b5ff43a05b199c3eb8c78059d03d9485

Last test of basis   183624  2023-10-30 18:10:43 Z    1 days
Testing same since   183641  2023-10-31 16:37:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.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                              starved 
 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-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-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
   b6cf4f81b5..dfd7b3fe03  dfd7b3fe0380a0313d1b573afb918ffcd92c4be5 -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 07:49:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 07:49:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626087.976047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy5yA-0008DB-Fb; Wed, 01 Nov 2023 07:48:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626087.976047; Wed, 01 Nov 2023 07:48: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 1qy5yA-0008D4-Cu; Wed, 01 Nov 2023 07:48:54 +0000
Received: by outflank-mailman (input) for mailman id 626087;
 Wed, 01 Nov 2023 07:48: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=HZ0A=GO=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1qy5y8-0008Cy-Jo
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 07:48:53 +0000
Received: from sonic317-22.consmr.mail.gq1.yahoo.com
 (sonic317-22.consmr.mail.gq1.yahoo.com [98.137.66.148])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16260d3b-788b-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 08:48:47 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic317.consmr.mail.gq1.yahoo.com with HTTP; Wed, 1 Nov 2023 07:48:45 +0000
Received: by hermes--production-ne1-56df75844-8k4lp (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 22a0194c371a9e8852fd76321ea5d484; 
 Wed, 01 Nov 2023 07:48: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: 16260d3b-788b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1698824925; bh=xKBheuOBg56iTeLPHfHXNouyg3Ht2h5EDwz+FbIlwr8=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=kpmSQmjx7q5HVw9nkbo1sAYvkQeIpGxdHDALGeR9f10JJvT0MKfVedFY/AU1fkyDF79iF6HiH7Txv688F2gV9sv90sXM/odt3IAm+6T6z68119k/Zcv39D2VCNaWcNKzg1QslyMEts2bNTQCTOX90e2JAhejwhhCMkX3MiGJFaZP6Q51Ep8wocXZQpo5Sgtt/6DeVzt3ZwynXwUag1ZN/V/IDo0LcMlL3gRd8ZwUXrZ4rXI0FWjxIE/hMIP2Mo8LF2Nr7tWU4ZqgfXQwIM6bdgyjbPJr5xVBz8MlyET7fJALHSBe5pULTe6Fdq6aSSi2oIx30jZdJaOpqzaLUz7VMQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1698824925; bh=KBcQlUsbSW0o/+Q5qV7NaP2xyReocxv2++FVpzAvgGb=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=AH85USvYZhllu0oWj664rHINRnPCfJhos+SBKtVT/QtY7//Vf64lf7bKLijUudExc9dOTNPqqwBVYx7FG2t7v2l5eSa6QgQIlrMHgr6xJO+E1bb6cBe/zRXpEqAdYCzL7LOO8ElBqbgHjea6G7u1ZhkMZh0BKEyj8oKIsstD4Kbr8wv8vamxDLKbl95qgSqwWb95Ic1AO/P9Ob5/G707IhRZ58EqnVwQd49ySxMWqZk3OzpgMm+nCOaJNiCLq/J8wHWzD+q/x/TU19Sm7Ttt3WTYq7ygMX8lTM3+T7NOTyUf1mUz7dbp27s+hYf7KBWJVUWtOpQBqC9T5a9skZ32dw==
X-YMail-OSG: 4uQd9MEVM1k9N8JQbYzyGKDJHgGxfGoOTf0XevNXG95olCRKmwHGtQzJNxXn_m5
 3OKTeQ1f5GXspHVEvDdod8_Vr.d8kyzDb8.hnwyJ8bUZmU5UoAlyODYVOlPxCoMA0qrEZGqfeVUO
 X_zAiLp_bJkSB4aKS0D0w8KZrLevEB_HBmXxjVRkEDz.oDcNgIbGAX8fjsig7e7oK5YYHzWXTBbk
 FTlZB2R._yyo5MjGpEGNcfiaO.m_agNj8LNpk00g0HeGYV9iB3rLorWzvEDyahtpygaajXvX9F7n
 eSW4_ApTgHje.vUD4Tkdw6K0yExuxr51S7Fv3vB7l7hVc3aYvPfKLZLRln.JrK..O2k5xWVZaSgg
 az48AU36j05G.z7rri45f8.rUlEwY.979iQ10ajYfT8XLesPpmWkQggW94uKNAb1z3enDo8mz9Nb
 Kyi.23wDgQ8K1n8FOK6XbLj5uVzQ0e6Aj9U_9_lXErjcOs7uh8nwykYynnIbeWAB7pxnyLy.F58H
 PLrLE4G1jDM9VpnPU4nhJEjQNNbPhlMEQFdOxa3b0rJwkeQW3fkmiii05Eo565MPYo7UkOauv3su
 jaI3RCnrHxhK_vEIyS0m2tUBh0Fw3BLW.0yo0D05VZDUDqAS2Rrj4PgNIlyy4GxFZ88Qv6.BRbQo
 lZPW3kM7sZn50QrIpnPfs.acoLZTAXMgnFuNh09dTpeXwNov1j_viKVl0cltJGdPDcqvoV85f.Ov
 f_k3AqESlXCzEjpPDuQpdzL11eIwyiWwkzxcLpwjQr6wgN3aG6L_nsmjiic2cMv0aclfBhpByQtV
 nmH9V8BHMcxgYG5GzVEDZHXdEWDzhcVW58CqeJDTkcVSxEP_FSrwW0iKdw5rnzhTxzK_odbijWu2
 pZVlV0Nd4LnfCtjSZX2aZovSgIGpWViJ5FoGWZFP_0y7WLplNoGgYwhSWhpjH4s.rEjUBXT568ns
 yKLmparfjgeVJRvuO2nV7FsD9aQMqq8M6HmglWnl06jGttEwDsUqBP8v3wdvOGg4n6dwCKCXKrAQ
 ti.3yL_kpSnKLG7vv0b55oUgHj3iNwVwdHxEToCenBidBVwM_bSD5UjHDwfHb7KMxI80qp.GEmMK
 AY3lBkf7FvUTscFGV3mnhhPMBHLH.975kTrKSAj_p.mvrrCSfcdJrC8ttsNIgGO0s4R6DqCwBeRf
 nsvIsSsa.9ER6siJSxrufS39oHmG.uxVXPBenPRaE3rbaGTCEBYY2EhTOTX62xeZXK_9dPRCySS_
 AesIEcYC2RJf5pSbMxi3EgYL2_G4M5_e7f7p1ZxEQy4Nx0zf2gKMvuw.l6BnfRyEuRUQyODoFdTs
 N.Vy8ytAqA5VPYJu8CUE4qfs.WxFrsvTj4w1EntRfkbYziITCuEK63LQ_MfBp4xiZL2WUuvseprv
 r8rA5wJJlNYFkd_3QqxGVKPNxvGIaAtr3B4mYTypfm08JbdSuQxhHuNsVKdjL8.LJGScXF4SoPj0
 h6rt_0xFxxIptiiDE_Bfu4odYiwcSrWglWfJjSRWRL2FWZS0KU71mF3kefiWbw0pzdRXZl_0P3Ad
 MRhCvjMezY4aoVRhU_kg_fuxILJEWgjEVIEHUxrwdiYn_cklqQbYUhoVr.MaNCCIHe9OAlrZzTgD
 1hJxSUi8CHaF.CgJDzYqb1dAvhd0yUGF05u7YXpFEv9vJ7MDOps680p_7vY8qqYuqBTlrmr7CfKB
 84G3pggJDlLfRmQU9I6I8NQoC6DglYrvEwda.Uf4lM6rr99vYy7lS_HBS1cx9jBD7YVdNFQOEOvG
 AlxVyxJ5hGkIUVhjWoaD1HMVY.AWwWD.VlSgbsubAoFl7aS_977XUIyECWCv9vfO3Rll08NcdtmC
 fgRS7A92fLuVNUCTZR2OUuUuI.XdiRCWN2RL7GrRkeyqzphsJahdi.qQDTVdTsHdI0ed.tjFa_XE
 ZGMEciqgMOBxeCBv2Nr59pYbqKQCCVRcE1FR2NKnldm799KU8BMR2e5Q3GyvNFTDPInlnqZCR1Fk
 B5zsGSxQuJq4Gc.aF91MVAW8YMU9khdT3ITn8i9MonudDBdyZ.3XYp5nsVtwBPHg8TQWBv0S25VY
 47Ep.gSWDYpdYVU.SgPq.1P.vQeuPmtYYHRS1sb263o8zk05yYNhJkQmFYIqyR9umxTmW_2WlYu9
 8srzIFoyix6f_O4Z84l2PzGE1Om2RBjTjevyZc.CLOSLkxmpCU6e8jMkS7f7chLNTUzbWTn_pD72
 sOVb9_fbAcgVny6j8icmi1FfE9jXMywsX
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 63301ed7-b9b1-4b84-8e42-16fdf7f93e04
Message-ID: <f441508b-736d-4bb4-a7d5-ce2fc2c58fc7@netscape.net>
Date: Wed, 1 Nov 2023 03:48:38 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma]
 *ERROR* Device 14450000.mixer lacks support for IOMMU
To: Marek Szyprowski <m.szyprowski@samsung.com>,
 Mario Marietto <marietto2008@gmail.com>
Cc: linux-kernel@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
 linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org,
 dri-devel@lists.freedesktop.org,
 Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>,
 Alim Akhtar <alim.akhtar@samsung.com>,
 Sylwester Nawrocki <snawrocki@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <CGME20231030230413eucas1p1c061adf636a7e8a58270a00725e1d0a2@eucas1p1.samsung.com>
 <CA+1FSign611=47=xLRucFhDjvs7A_TeFE9b8qO63WXDU8Pnkjg@mail.gmail.com>
 <7a71e348-f892-4fd4-8857-b72f35ab5134@samsung.com>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <7a71e348-f892-4fd4-8857-b72f35ab5134@samsung.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21890 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 8268

On 10/31/2023 8:08 AM, Marek Szyprowski wrote:
> Hi,
> 
> On 31.10.2023 00:03, Mario Marietto wrote:
>> We are a team of linux enthusiasts who are trying to boot Xen on a 
>> Samsung XE303C12 Chromebook aka "snow" following the suggestions in 
>> the slide show presentation here: 
>> https://www.slideshare.net/xen_com_mgr/xpds16-porting-xen-on-arm-to-a-new-soc-julien-grall-arm 
>> This device uses an exynos5250 SOC dual core 1.7 GHz with 2 MB RAM, it 
>> is a Samsung armv7 chip with virtualization extensions. In particular, 
>> we have it working fairly well both on the bare metal with a recent 
>> 6.1.59 Linux LTS kernel and also with a recent 5.4.257 LTS kernel with 
>> KVM, the older LTS kernel version is used to test KVM because support 
>> for KVM on arm v7 was removed from Linux around kernel version 5.7. So 
>> we know we have the hypervisor mode enabled because we were able to 
>> use it with KVM. For Xen, we are using the latest Debian build of Xen 
>> 4.17 for the Debian armhf architecture: (XEN) Xen version 4.17.2-pre 
>> (Debian 4.17.1+2-gb773c48e36-1) 
>> (pkg-xen-devel@xxxxxxxxxxxxxxxxxxxxxxx) (arm-linux-gnueabihf-gcc 
>> (Debian 12.2.0-14) 12.2.0) debug=n Thu May 18 19:26:30 UTC 2023 The 
>> Linux kernel is a custom build that adds the Xen config kernel options 
>> (CONFIG_XEN_DOM0, etc) on top of a kernel that works well on the same 
>> Chromebook model on the bare metal. I can provide the config options 
>> of the kernel that was used if that is helpful. Our method of booting 
>> is to have u-boot boot the Xen hypervisor and load the device tree 
>> after adding the dom0 to the otherwise unaltered device tree from the 
>> Linux kernel using u-boot fdt commands to add a /chosen node, as 
>> described on the Xen wiki and in the pages linked from there. We have 
>> also tried adding and loading an initrd.img using the device tree 
>> /chosen node but that made no difference in our tests. We actually 
>> have the Linux LTS kernel version 6.1.59 working as dom0 with Xen 
>> using the same version of u-boot that we used for KVM, but with a big 
>> problem. The problem we see is that when booting the 6.1.59 kernel 
>> version as dom0 with Xen, the screen is totally dark and the only way 
>> to access the system is remotely through ssh. Logs indicate most 
>> everything else is working, such as the wifi card so we can access it 
>> remotely via ssh and a USB optical mouse lights up when connected so 
>> USB is also working. Obviously, the disk is also working. The 
>> Chromebook is configured to boot from the device's SD card slot by 
>> turning on Chrome OS developer mode options to enable booting from the 
>> SD card slot. The mystery is that when booting the exact same 6.1.59 
>> kernel on the bare metal instead of booting it as dom0 on Xen, it 
>> boots up with full access to the screen and we can interact with the 
>> system using the X.org windows system. But booting as dom0 with Xen, 
>> the screen is totally dark and the only access we have to the system 
>> is through the network via ssh. Also, when booting the 5.4.257 kernel 
>> with KVM in hypervisor mode, the screen works and we can interact with 
>> the system through the X.org windows system. Exploring the log file,we 
>> have seen the errors below :
>>
>> Without Xen (or in bare metal):
>>
>> devuan-bunsen kernel: [drm] Exynos DRM: using 14400000.fimd device for 
>> DMA mapping operations
>> devuan-bunsen kernel: exynos-drm exynos-drm: bound 14400000.fimd (ops 
>> 0xc0d96354)
>> devuan-bunsen kernel: exynos-drm exynos-drm: bound 14450000.mixer (ops 
>> 0xc0d97554)
>> devuan-bunsen kernel: exynos-drm exynos-drm: bound 
>> 145b0000.dp-controller (ops 0xc0d97278)
>> devuan-bunsen kernel: exynos-drm exynos-drm: bound 14530000.hdmi (ops 
>> 0xc0d97bd0)
>> ...
>> devuan-bunsen kernel: Console: switching to colour frame buffer device 
>> 170x48
>> devuan-bunsen kernel: exynos-drm exynos-drm: [drm] fb0: exynosdrmfb 
>> frame buffer device
>> devuan-bunsen kernel: [drm] Initialized exynos 1.1.0 20180330 for 
>> exynos-drm on minor 0
>>
>> In this case,the kernel is able to use the exynos-drm kernel to start 
>> the fb0 device. But with Xen we get this error with exynos-drm:
>>
>> devuan-bunsen kernel: [drm] Exynos DRM: using 14400000.fimd device for 
>> DMA mapping operations
>> devuan-bunsen kernel: exynos-drm exynos-drm: bound 14400000.fimd (ops 
>> 0xc0d96354)
>> devuan-bunsen kernel: exynos-mixer 14450000.mixer: 
>> [drm:exynos_drm_register_dma] *ERROR* Device 14450000.mixer lacks 
>> support for IOMMU
>> devuan-bunsen kernel: exynos-drm exynos-drm: failed to bind 
>> 14450000.mixer (ops 0xc0d97554): -22
>> devuan-bunsen kernel: exynos-drm exynos-drm: adev bind failed: -22
>> devuan-bunsen kernel: exynos-dp: probe of 145b0000.dp-controller 
>> failed with error -22
>>
>> I'm trying to find for a solution and I've googled a little bit and I 
>> found this web site : 
>> https://lore.kernel.org/linux-arm-kernel/20220208171823.226211-8-krzysztof.kozlowski@canonical.com/ 
>> with your email address and I tried to ask for some help for fixing 
>> the bug. Any ideas why booting the same Linux kernel that results in a 
>> working X.org display on the bare metal instead as dom0 on Xen would 
>> cause the display to remain dark, but most other basic functions would 
>> work, such as network, disk, and USB ? thanks.
> 
> 
> Thanks for the detailed description! Good to hear that those boards are 
> still being used for various projects. I also have Snow Chromebook and 
> use it for daily tests of linux-next branch.

Adding Julien Grall and Stefano Stabellini

Hi Marek,

Thanks for responding to Mario's question. I also have been doing these
experiments with a Chromebook Snow, and I am the one who reported this
problem on the xen-users ML here:

https://lists.xenproject.org/archives/html/xen-users/2023-10/msg00021.html

You might find that thread interesting, especially here with some additional
log messages from the exynos_drm driver (exynos_drm_dma.c, I believe):

https://lists.xenproject.org/archives/html/xen-users/2023-10/msg00032.html

This issue is also discussed some on the xen-devel ML here:

https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00003.html

> 
> Frankly speaking I have no idea what might happen wrong. There have been 
> some changes recently in the Exynos IOMMU driver related to 
> initialization, maybe your changes related to Xen enabling changed 
> somehow the order of device initialization during boot. I assume that 
> the device-tree you use for the bare metal run and Xen enabled run 
> doesn't differ in the areas describing the hardware blocks.
> 
> Please check if cherry-picking the commit 
> https://github.com/torvalds/linux/commit/bbc4d205d93f52ee18dfa7858d51489c0506547f 
> to your v6.1.59 based kernel helps anyhow.

I tried adding that fix of the exynos IOMMU initialization from
Linux > 6.2 on top of the 6.1.59 kernel I used for the original report,
but that made no difference on Xen - it still failed with the mixer lacks
support for IOMMU message and the screen is totally dark.

> 
> If not, then as a temporary workaround please disable 
> CONFIG_DRM_EXYNOS_MIXER and CONFIG_DRM_EXYNOS_HDMI in your kernel config 
> and check what will happen (You will lose the HDMI output, but maybe 
> this won't a big issue).

This change causes the GPU to work fairly well AFAICS. Removing the mixer
and HDMI allowed the GPU to initialize, and the display manager started
normally and enabled logging into an ordinary X11 session. Based on the log
messages I was seeing, this was an obvious thing to try. Thanks for
suggesting it.

But I have a question:

How are the mixer and HDMI devices related to the main drm device? The problem
in the exynos_drm_dma driver was that on Xen, the main drm device wanted to
use IOMMU version of dma_ops, but the mixer (and probably also the HDMI if
it wouldn't have exited first) wanted to use the Xen swiotlb version of dma_ops,
but on bare metal all three devices want to use the IOMMU version of dma_ops.

The problem obviously has something to do with the fact that Xen does not
expose the same IOMMU capability to Linux as is available when running on
the bare metal.

Cheers,

> 
> 
> Best regards



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 07:50:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 07:50:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626089.976056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy5zS-000180-R1; Wed, 01 Nov 2023 07:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626089.976056; Wed, 01 Nov 2023 07:50: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 1qy5zS-00017t-No; Wed, 01 Nov 2023 07:50:14 +0000
Received: by outflank-mailman (input) for mailman id 626089;
 Wed, 01 Nov 2023 07:50: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 1qy5zR-00017K-98; Wed, 01 Nov 2023 07:50: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 1qy5zQ-0001Up-R0; Wed, 01 Nov 2023 07:50: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 1qy5zQ-0004fK-Fx; Wed, 01 Nov 2023 07:50:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qy5zQ-0004fY-FR; Wed, 01 Nov 2023 07:50: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=exkMw6VqQQWz+ttpKRbtdmVV54YfQ007PBDMfU/z6tg=; b=KleFjDQk57/vn9phqz6wYmExWe
	7gPNS6VVpbaLDtDaVqDiMoWcvI2cwcqQujbU42hVcw4UXAHZ51H4vKVwoXN41Cne01OKbnxs5Ds7l
	Q5J5dJze+n75uCtkXPXDs2TCMEa3HGrujmch5xv9TjGlJgPvVg/wIZ7hhw9JHymu5HCU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183646-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183646: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=1b1509abee839b74d3232bbd6a256a1bdc230925
X-Osstest-Versions-That:
    ovmf=ccbe2e938386ed1ec49b3ad8ed6d107e7416e273
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Nov 2023 07:50:12 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 1b1509abee839b74d3232bbd6a256a1bdc230925
baseline version:
 ovmf                 ccbe2e938386ed1ec49b3ad8ed6d107e7416e273

Last test of basis   183643  2023-10-31 21:14:30 Z    0 days
Testing same since   183646  2023-11-01 03:11:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Maslenkin <mike.maslenkin@gmail.com>
  Nickle Wang <nicklew@nvidia.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
   ccbe2e9383..1b1509abee  1b1509abee839b74d3232bbd6a256a1bdc230925 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 08:27:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 08:27:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626104.976067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy6ZH-0006SW-Uf; Wed, 01 Nov 2023 08:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626104.976067; Wed, 01 Nov 2023 08:27: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 1qy6ZH-0006SP-Qe; Wed, 01 Nov 2023 08:27:15 +0000
Received: by outflank-mailman (input) for mailman id 626104;
 Wed, 01 Nov 2023 08:27: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 1qy6ZG-0006RZ-DC
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 08:27: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 1qy6ZC-0002pZ-Ct; Wed, 01 Nov 2023 08:27:10 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1qy6ZC-0004Ob-6z; Wed, 01 Nov 2023 08: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=O/IyebYHyIEGG024OJQhMSJ9gW/kbs4LfT4m8H7kHj4=; b=4oNgu69XleDYOoIhNTdfnGlDEi
	ZAm3AlwwRasSGEDwiPR9D4I4pjHOAc8P/ZFBbD7xHK/AVdAo9n1cwbj6wBBZ+TQKXRVfaIyIAoq2S
	24G0fygF+UiAyRd2E0FqpaXYt3gZpjy08O/qTnUfi4GO2BuIUj5hE84cOUM+bV0EVEuw=;
Message-ID: <08d50d8e-00bc-4bd0-be64-49639028eca8@xen.org>
Date: Wed, 1 Nov 2023 08:27:08 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma]
 *ERROR* Device 14450000.mixer lacks support for IOMMU
Content-Language: en-GB
To: Chuck Zmudzinski <brchuckz@netscape.net>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Mario Marietto <marietto2008@gmail.com>,
 xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Marek Szyprowski <m.szyprowski@samsung.com>
References: <CA+1FSiip1U0_EskJNgV3pSZPTCNOiTbpHosRLsy-6t1QQGd8Dw@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311557520.1795129@ubuntu-linux-20-04-desktop>
 <CA+1FSih0hORYZf6Hfmf=nY4jkHPvFSgGfc1tJfzN6smnKxcsxA@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311625260.1795129@ubuntu-linux-20-04-desktop>
 <d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net>
From: Julien Grall <julien@xen.org>
In-Reply-To: <d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

@Stefano, as you pointed out, there is already a thread on xen-users for 
this discussion. Could we use this thread for any discussion? This would 
make easier to follow.

Some high level comment below.

On 01/11/2023 02:50, Chuck Zmudzinski wrote:
> On 10/31/2023 7:45 PM, Stefano Stabellini wrote:
>> Unfortunately there is no easy solution.
>>
>> Do you know the version of the SMMU available on the platform?
> 
> I am trying to discern, but I doubt we have v3 because we are
> working on a very old chromebook from 2012, and I am finding
> patches for smmv3 in Linux not starting until 2015. It is good to
> know about this option, though, for future work we might do on newer
> devices.

The chromebook is using the Exynos Sysmmu. So there is no SMMU.

> 
>> If it is a SMMUv3 you can try to use the nested SMMU patch series to
>> enable a virtual SMMU in Dom0: https://marc.info/?l=xen-devel&m=166991020831005
>> That way, Xen can use the SMMU to protect VMs, and Dom0 can also use the
>> SMMU for its own purposes at the same time.
>>
>> Alternatively, you can dig into the details of the exynos-drm driver to
>> see what exactly is the dependency on the IOMMU framework in Linux and
>> remove the dependency. Unfortunately none of us in this thread are
>> expert on exynos-drm so it would be difficult to advise on how to do
>> that. For example, I don't know how you could debug the x11 problem you
>> described because I don't typically work with x11 or with the exynos. If
>> there is an open source mailing list for exynos-drm development they
>> might be able to advise on how to remove the IOMMU dependency there.
> 
> We have received this message from Marek Szyprowski of Samsung:
> 
> https://lore.kernel.org/lkml/7a71e348-f892-4fd4-8857-b72f35ab5134@samsung.com/
> 
> Marek recommends this patch to possibly help with this issue:
> 
> https://github.com/torvalds/linux/commit/bbc4d205d93f52ee18dfa7858d51489c0506547f
> 
> and also these kernel config settings:
> 
> On 10/31/2023 8:08 AM, Marek Szyprowski wrote:
>> If not, then as a temporary workaround please disable
>> CONFIG_DRM_EXYNOS_MIXER and CONFIG_DRM_EXYNOS_HDMI in your kernel config
>> and check what will happen (You will lose the HDMI output, but maybe
>> this won't a big issue).
> 
> Mario and I have preliminary evidence that applying both of Marek's
> recommendations to the 6.1.59 kernel have improved the situation to
> the point where now the Chromebook can run X.org on Xen. We are doing
> further tests to see how Marek's patch and/or the kernel config settings
> to disable the mixer and the HDMI affect the behavior of the GPU in dom0
> on Xen.
> 
>>
>> The final option, which is a gross hack, would be to let Dom0 use the
>> IOMMU for its own gain. Xen doesn't use the IOMMU. If you do that you
>> lose freedom from interference between the VMs and you cannot run driver
>> domains or directly assign devices to DomUs. But if you are running a
>> research project you might be OK with that. To get it to work, you need
>> to hack Xen so that it remaps the IOMMU to Dom0 to let Dom0 program it
>> directly. The attached patch (untested) would be a place to start. You
>> also need to pass iommu=false to the Xen command line to prevent Xen
>> from using the iommu itself.

This is actually one of the reason why I am suggesting to do all the 
investigation in one thread. There, we already discovered that the IOMMU 
was assigned to dom0 because Xen doesn't have a driver and we don't hide 
them by default.

> 
> I am interested to investigate if only the mixer and the HDMI is causing
> the trouble. Based on what you are telling me about Xen not exposing the
> IOMMU to dom0, I don't fully understand the original log messages I was
> getting when I followed Julien's suggestion to find the symbols associated
> with each address in the original message, and those seemed to indicate that
> the exynos_drm device was using the IOMMU in dom0, but the mixer was not,
> and the fact that they both were not using the IOMMU is what caused the
> test to fail and Linux refuse to initialize the GPU on dom0, whereas on
> bare metal, the logs indicated both the exynos mixer, which I think is a
> sub device of the exynos_drm, and the exynos_drm, use the IOMMU on bare
> metal.
> 
> I also found this patch which suggests if we can get the devices to work
> we will be compromising the security and isolation between guests:

If you don't assign any device to the guests, then you will not break 
any isolation between guests because dom0 will own all of them.

But for passthrough, you would want to the IOMMU owned by Xen rather 
than dom0. Unless the Exynos sysmmu support 2-stages page-tables, then 
dom0 will not be able to use the IOMMU.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 08:46:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 08:46:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626137.976093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy6rY-0002SX-Pm; Wed, 01 Nov 2023 08:46:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626137.976093; Wed, 01 Nov 2023 08:46: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 1qy6rY-0002SQ-Mw; Wed, 01 Nov 2023 08:46:08 +0000
Received: by outflank-mailman (input) for mailman id 626137;
 Wed, 01 Nov 2023 08:46: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=HZ0A=GO=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1qy6rX-0002SK-FW
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 08:46:07 +0000
Received: from sonic307-54.consmr.mail.gq1.yahoo.com
 (sonic307-54.consmr.mail.gq1.yahoo.com [98.137.64.30])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15657b9f-7893-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 09:46:02 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic307.consmr.mail.gq1.yahoo.com with HTTP; Wed, 1 Nov 2023 08:46:00 +0000
Received: by hermes--production-bf1-5b945b6d47-dfjn7 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID bf0e8f3c4377c3bc098dc9ace9221901; 
 Wed, 01 Nov 2023 08:45: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: 15657b9f-7893-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1698828360; bh=eQWuhC3PEpHQoyROxkInbEFUdtvEYRT4uUXiLG/iJcM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=NDZDMZ9kp2PohU9vb5UsX1zPR0wUzqB0Vl2ohJnLF/FMKV6TVUxyxyoqzA3AmXihiIVzzK/OmIAFe6Pn6Yac1HMiM8/inQv6jpcZvncRW0LAFvlOOArycEcaX+akvDfRWvSuCDH9lOruaQd2C9kdXTc0MDXwoO6R75ml96OE6dAIxh21r2gTlOKHOhxHFEJl2HudJnRTNkjQwyY7R5EEB6/AiXMtBKctbHnQ3WWaIDGZtRiLWcws5eV/o8YOkJ+/LKi9Ac9cCGS4ji1w/n/nx0PpDK8nfxuPGygoAQe1t0lbWBgBX1j+20sYsqEERPwWMg7lOJ39Z774SRL1tZtefA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1698828360; bh=8wHMwd1nTUH7Bk3NVbMX/b171IvWAKlKoB363Wd+3aR=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=Gd8lgtTZnFGW57ReWgTNC9t06hDHE4A6qqaHyRuU0pduSMI8CTzUfmM0d8LUFKVe8JMYYSWmBftfLyePrcirA2+VVIVjMTNfM4blWCO3P/twabpW0CAf7VZ6oR8GgGi/ZhNeUR64ov17meu9nDcbl8Dp5nJRhemNWIYAWIiQEXFnMBDJWO16V/y/Ok3pZAgVwrCiGmC0C75To10WCnnPR9c5ICrcqZ5In5GeA1dWAveDvVx05/QEQG+vH/FqROXsHNlWHzovVHt4i/KuZUUCMhwK5yu/+du5tOv/9TwgeEXejfeGnCtUv7U/9QuAuZfWbQgFDvkwU5jAp6Dw6uwwHQ==
X-YMail-OSG: eHWikGYVM1k3gQa62n.ySzWBfPqo_XVvkxqBTs26vc3wlx_4v3mmqvooselvog3
 TAsDUHFwxGHsXsUzx5ACyuvvjxeyc7XE4gJtAQ9YpIAI2F7CuXCTCt7Bq0V2MwzOG0P9cWCHWC51
 PGLTpVvCbwwJCrpO9bBr8Lv_6AS_dD7CbEM2_eMB1UUI4ISSisiFbyyw7tVuWRI64oX50.RB7OxT
 A6XI5eHObJsRi3RvjoacdSBR.TLo.y8J1cE2DY.8N.wFyJnWue437J4uf6dbIl1q1NEVgWVmYHgl
 5RrtkAt2EbInSrZy3wP_ExFawbJBnI261Osx0iTbWUJli9yjXQCdTWPFK4cGDkAKJcloIz_KZdMA
 EP.nG9aqPOYWNKSJgiP6j27G1n6rY8Rc9bF5D0RRp4STBSI2V3RDg1QIl0eHf86aeNV.1s48h6r3
 whdPCjGHJrUeIsQYP_HsN2ZBu52ROgg07RN2Y1sAR92yBlNGf4PwDW5NRO5EADfNheaji9ju4UdY
 eYV8HJBr7sEmd2_wPP6XYiOaqURirTbJzJGqOcHxs9QMvrCn9hfBF_Toj5ESNt9gFhdKbg0yy_un
 QZSXQa9WiTeTiXtC.E3HNYB.bBwfnqSCBVHxQ0tifPO9mSQlqPQxDxXOunP0rb6iusGcH2eUSH8l
 2eAdFNeEzDBySXW1U5A8k6ux_sCpISKqiNZo6lwrdgUaxFkNk4SmO9nutH_IazaZ8AdV96M1bN1R
 t4rRO48BXUKIZ9lGQasSoU3lPz2eFMGO8D_t2_MN1xDM5A_RYLL3GS8UgjKbmbG8ja4mWQ7KAuzF
 xf7Si.db0ndnJq94SbqZehfEMJvRidBTUea5jqB4GgRyg37TPeVO_7GMOhUr0BkZnZd..FrDSCBW
 4Ha.0pgFwGisUTMaS2QWDjJ06CL3ySDIBGrbrf.qmaWwfKsA1WbeQI3xe3dXX6vTfZAK7Oqc4kLM
 ro78N.__.ZxKuwvwdkpvqh0LDHeB24Lqv8z8rr_LcpBBDxoAa7cPvBUOnVUF.OPyuKjrzTGvSSkt
 EOlfF0uuAR9eDGKqSZpT3q5jchvcf0T.2DSr_9s4Y3XMtwCWJKa3e3lqh4tXdFFAFCDIxsZX28q9
 4fpJ6_JTZKMxG_pM_qKNmwRifJttZxgIQosygYdDpTxkLRAyLE5XSvoWmK2ncZ9lb5fCnEjI5bU.
 wi39BAULsXzg0oElr3N_sYVyjOQ1wzQzr7ZBsp_0Lqs9aQNrhmY5sfAEjBIPwiT0t_L3heMl.eHR
 eg_U1EPw6EFgnP9I6drn4KuKkfIaaYAct3r268oegYhP.m8L2l2Oh__zTRywWWT4vbT6n_cGbq.F
 F0wHTu0GCa3N3g0tDSURjLoXp6I1cL5_SJPIEhZ5_l6JgLYWMS8fzB_N21lpnKWRI0pNeF4VZk7_
 wUzy6f2ChrV1RvlftXfTxlNsRrChRV8Z6y3VLQKh1yjCYwFsgvo3YfHUQro36rue2p_6ZE6e3a.N
 TKWDuPoSh73yKz92E.L2OtsHwO4Gad745NtePxHopASW5OZdWEtqC7sZrxex1htVp8wRm.UvBKLr
 Mxe1pwbUEVYuCUr_F1sBHon4whmIR_mF3foSZ95Psw_KRWUWhFAeJ1.kKvRDjvUHlSd2SgJsXrvD
 V066g2cieIbx2q4F4vOMJi03Cc9EvKt6miqDp7KoK9aOYSlHrhL00MNQ.NuMcta2f0alsgQBYmab
 NQr_dCDesqNmQcLZdesmYufolLZUpYNIDTOUwdzzyGjH25grYDMh_NEkEBGtzwWgqwNXuOP3J69l
 F3NODX6L6jWmpFuoswuuuvGkvib51RoDau8gOfZ9S3DHUni6c1OTNyOq2.VS64hctyxHhHSgb8IH
 9ZgC1emVsz1qpOsn_aG60keBlN7Wxszs_Rco8LVCve__d5AJje78JLETx0gj2bjqd8Mh4MERsmN3
 .8YCaQahAuzkCsFE4AS7LgyaCcVnAT3.yOzgFfg_MH9xGawdpcmhO5ySEizm1t0.g8TwBrYaMtYX
 mRt.a4cbmFVOTHF7yJ3byFo_8ExqBQVH5ZK2oQLHX27_CPVPIG1pNUkmFxCeJEGclzH_o1.HrNFP
 bD3aK.y_7nIT999BP2eZlOUWFiMDmTN0NBiGsR0.GITnVF_jO6fU.eq9bn7xOEKtI93_xwiSpXgT
 cOdBxl20h3nznykd1Pma3h.yH2jkH8wssbcygO1iRrUbXFXWe5_kgHtSv32OSx6e5eRBlbJdLnhY
 VLS6ChBrG3ZJyF.QyMkQFfYKUz.I6Rnh4RA--
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: e506bb59-db26-400a-8ec8-4f017021db84
Message-ID: <5b3f5d86-1499-4dbb-934e-2006a3dc108e@netscape.net>
Date: Wed, 1 Nov 2023 04:45:54 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma]
 *ERROR* Device 14450000.mixer lacks support for IOMMU
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Mario Marietto <marietto2008@gmail.com>,
 xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Marek Szyprowski <m.szyprowski@samsung.com>
References: <CA+1FSiip1U0_EskJNgV3pSZPTCNOiTbpHosRLsy-6t1QQGd8Dw@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311557520.1795129@ubuntu-linux-20-04-desktop>
 <CA+1FSih0hORYZf6Hfmf=nY4jkHPvFSgGfc1tJfzN6smnKxcsxA@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311625260.1795129@ubuntu-linux-20-04-desktop>
 <d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net>
 <08d50d8e-00bc-4bd0-be64-49639028eca8@xen.org>
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <08d50d8e-00bc-4bd0-be64-49639028eca8@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21890 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 5695

On 11/1/2023 4:27 AM, Julien Grall wrote:
> Hi,
> 
> @Stefano, as you pointed out, there is already a thread on xen-users for 
> this discussion. Could we use this thread for any discussion? This would 
> make easier to follow.
> 
> Some high level comment below.

I agree to keep the discussion here and not at other places.

I just want to add that the best results for Xen dom0 so far are
by implementing Marek's suggestion to disable these two settings
in the 6.1.59 kernel config, but leaving everything else the same,
including keeping the EXYNOS_IOMMU support enabled:

# CONFIG_DRM_EXYNOS_MIXER is not set

Disabling the mixer also makes this unavailable:

# CONFIG_HDMI

With this change, the GPU is working well enough to allow the display
manager and an X11 session to run normally on the built-in display of the
Chromebook. The Wifi also works well.

The patch from Linux 6.2 and above that fixes the exynos IOMMU initialization
did not help at all, and the same error is reported that the mixer lacks
support for IOMMU.


> 
> On 01/11/2023 02:50, Chuck Zmudzinski wrote:
>> On 10/31/2023 7:45 PM, Stefano Stabellini wrote:
>>> Unfortunately there is no easy solution.
>>>
>>> Do you know the version of the SMMU available on the platform?
>> 
>> I am trying to discern, but I doubt we have v3 because we are
>> working on a very old chromebook from 2012, and I am finding
>> patches for smmv3 in Linux not starting until 2015. It is good to
>> know about this option, though, for future work we might do on newer
>> devices.
> 
> The chromebook is using the Exynos Sysmmu. So there is no SMMU.
> 
>> 
>>> If it is a SMMUv3 you can try to use the nested SMMU patch series to
>>> enable a virtual SMMU in Dom0: https://marc.info/?l=xen-devel&m=166991020831005
>>> That way, Xen can use the SMMU to protect VMs, and Dom0 can also use the
>>> SMMU for its own purposes at the same time.
>>>
>>> Alternatively, you can dig into the details of the exynos-drm driver to
>>> see what exactly is the dependency on the IOMMU framework in Linux and
>>> remove the dependency. Unfortunately none of us in this thread are
>>> expert on exynos-drm so it would be difficult to advise on how to do
>>> that. For example, I don't know how you could debug the x11 problem you
>>> described because I don't typically work with x11 or with the exynos. If
>>> there is an open source mailing list for exynos-drm development they
>>> might be able to advise on how to remove the IOMMU dependency there.
>> 
>> We have received this message from Marek Szyprowski of Samsung:
>> 
>> https://lore.kernel.org/lkml/7a71e348-f892-4fd4-8857-b72f35ab5134@samsung.com/
>> 
>> Marek recommends this patch to possibly help with this issue:
>> 
>> https://github.com/torvalds/linux/commit/bbc4d205d93f52ee18dfa7858d51489c0506547f
>> 
>> and also these kernel config settings:
>> 
>> On 10/31/2023 8:08 AM, Marek Szyprowski wrote:
>>> If not, then as a temporary workaround please disable
>>> CONFIG_DRM_EXYNOS_MIXER and CONFIG_DRM_EXYNOS_HDMI in your kernel config
>>> and check what will happen (You will lose the HDMI output, but maybe
>>> this won't a big issue).
>> 
>> Mario and I have preliminary evidence that applying both of Marek's
>> recommendations to the 6.1.59 kernel have improved the situation to
>> the point where now the Chromebook can run X.org on Xen. We are doing
>> further tests to see how Marek's patch and/or the kernel config settings
>> to disable the mixer and the HDMI affect the behavior of the GPU in dom0
>> on Xen.
>> 
>>>
>>> The final option, which is a gross hack, would be to let Dom0 use the
>>> IOMMU for its own gain. Xen doesn't use the IOMMU. If you do that you
>>> lose freedom from interference between the VMs and you cannot run driver
>>> domains or directly assign devices to DomUs. But if you are running a
>>> research project you might be OK with that. To get it to work, you need
>>> to hack Xen so that it remaps the IOMMU to Dom0 to let Dom0 program it
>>> directly. The attached patch (untested) would be a place to start. You
>>> also need to pass iommu=false to the Xen command line to prevent Xen
>>> from using the iommu itself.
> 
> This is actually one of the reason why I am suggesting to do all the 
> investigation in one thread. There, we already discovered that the IOMMU 
> was assigned to dom0 because Xen doesn't have a driver and we don't hide 
> them by default.
> 
>> 
>> I am interested to investigate if only the mixer and the HDMI is causing
>> the trouble. Based on what you are telling me about Xen not exposing the
>> IOMMU to dom0, I don't fully understand the original log messages I was
>> getting when I followed Julien's suggestion to find the symbols associated
>> with each address in the original message, and those seemed to indicate that
>> the exynos_drm device was using the IOMMU in dom0, but the mixer was not,
>> and the fact that they both were not using the IOMMU is what caused the
>> test to fail and Linux refuse to initialize the GPU on dom0, whereas on
>> bare metal, the logs indicated both the exynos mixer, which I think is a
>> sub device of the exynos_drm, and the exynos_drm, use the IOMMU on bare
>> metal.
>> 
>> I also found this patch which suggests if we can get the devices to work
>> we will be compromising the security and isolation between guests:
> 
> If you don't assign any device to the guests, then you will not break 
> any isolation between guests because dom0 will own all of them.
> 
> But for passthrough, you would want to the IOMMU owned by Xen rather 
> than dom0. Unless the Exynos sysmmu support 2-stages page-tables, then 
> dom0 will not be able to use the IOMMU.
> 
> Cheers,
> 



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:00:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626145.976106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy75X-0005do-98; Wed, 01 Nov 2023 09:00:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626145.976106; Wed, 01 Nov 2023 09: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 1qy75X-0005dU-2P; Wed, 01 Nov 2023 09:00:35 +0000
Received: by outflank-mailman (input) for mailman id 626145;
 Wed, 01 Nov 2023 09:00: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy75V-0005d2-Ig
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:00:33 +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 1a05d8ca-7895-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:00:28 +0100 (CET)
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 4B76821847;
 Wed,  1 Nov 2023 09:00: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 1396A13460;
 Wed,  1 Nov 2023 09:00:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0BZdA6sTQmWDeQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:00: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: 1a05d8ca-7895-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698829227; 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=YzQsLmITRJfUXeZeVQgCKsJDMXDnG8wcEgTkWn0P5Nw=;
	b=sgVHMRw0sPqx0AhdUi+3Oj4zpYS39aIsGE8Sq3vHMeCS0oBCSBmurHZWrFWMewHAm51RDp
	jGiVQ08ec67Y0q3W59MauGuOvNwUvcPaq/Ob698YHbO2Ynwwg9FIn1EuQe5EPDdlvsDE2b
	nkWMWT/oMBZYpz2mFoGDg6TXPQFm7N0=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 0/3] Mini-OS: preparations for 9pfs in xenstore-stubdom
Date: Wed,  1 Nov 2023 10:00:21 +0100
Message-Id: <20231101090024.28934-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This small patch series is doing some preparations for being able to
use 9pfs in Xenstore-stubdom.

Juergen Gross (3):
  Mini-OS: make xenstore_buf externally visible
  Mini-OS: don't crash if no shutdown node is available
  Mini-OS: fix 9pfs stat receive format

 9pfront.c        |  9 +++++----
 include/xenbus.h |  2 ++
 shutdown.c       | 12 ++++--------
 xenbus.c         |  2 +-
 4 files changed, 12 insertions(+), 13 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:00:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626146.976117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy75Y-0005tx-DJ; Wed, 01 Nov 2023 09:00:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626146.976117; Wed, 01 Nov 2023 09: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 1qy75Y-0005tp-8Q; Wed, 01 Nov 2023 09:00:36 +0000
Received: by outflank-mailman (input) for mailman id 626146;
 Wed, 01 Nov 2023 09:00: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy75X-0005dE-0p
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:00:35 +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 1d2e5971-7895-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:00:33 +0100 (CET)
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 D7D761F6E6;
 Wed,  1 Nov 2023 09:00: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 AA82913460;
 Wed,  1 Nov 2023 09:00:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id lJZCKLATQmWWeQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09: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: 1d2e5971-7895-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698829232; 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=ZskEOM+MiLaIPYXwEBr/N2mAl+8BJFBTXJcg57YRBlA=;
	b=iHjnHGvI3hMjv4I3xqohuwKL1+WEXhOXfLLu5ahZQ+NT2j5kw/MfTUQHQu+zNXTQGr3p8Y
	WInP6qupjkXIl2u+GbS5En6+UgxnmxOIkG3PDq+fUVS5EHHh6iv1v/D5xa+jtr1qBRqQhA
	8Qmfs/OrrXZ/UYhjugMLv7ZJWPyvoFo=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 1/3] Mini-OS: make xenstore_buf externally visible
Date: Wed,  1 Nov 2023 10:00:22 +0100
Message-Id: <20231101090024.28934-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101090024.28934-1-jgross@suse.com>
References: <20231101090024.28934-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For support of the 9pfs frontend in Xenstore-stubdom xenstore_buf
needs to be externally visible.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 include/xenbus.h | 2 ++
 xenbus.c         | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/xenbus.h b/include/xenbus.h
index c0fc0ac5..542ee456 100644
--- a/include/xenbus.h
+++ b/include/xenbus.h
@@ -8,12 +8,14 @@ typedef unsigned long xenbus_transaction_t;
 
 #ifdef CONFIG_XENBUS
 extern uint32_t xenbus_evtchn;
+extern struct xenstore_domain_interface *xenstore_buf;
 
 /* Initialize the XenBus system. */
 void init_xenbus(void);
 void get_xenbus(void *p);
 #else
 #define xenbus_evtchn ~0
+#define xenstore_buf NULL
 
 static inline void init_xenbus(void)
 {
diff --git a/xenbus.c b/xenbus.c
index 923e8181..8bfd5bd4 100644
--- a/xenbus.c
+++ b/xenbus.c
@@ -44,7 +44,7 @@
 #define DEBUG(_f, _a...)    ((void)0)
 #endif
 
-static struct xenstore_domain_interface *xenstore_buf;
+struct xenstore_domain_interface *xenstore_buf;
 static DECLARE_WAIT_QUEUE_HEAD(xb_waitq);
 DECLARE_WAIT_QUEUE_HEAD(xenbus_watch_queue);
 static __DECLARE_SEMAPHORE_GENERIC(xb_write_sem, 1);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:00:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626149.976141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy75c-0006T5-Uc; Wed, 01 Nov 2023 09:00:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626149.976141; Wed, 01 Nov 2023 09: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 1qy75c-0006Sk-R7; Wed, 01 Nov 2023 09:00:40 +0000
Received: by outflank-mailman (input) for mailman id 626149;
 Wed, 01 Nov 2023 09:00: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy75b-0005dE-DC
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:00: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 2082a0ac-7895-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:00:38 +0100 (CET)
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 71AB821862;
 Wed,  1 Nov 2023 09:00: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 4548C13460;
 Wed,  1 Nov 2023 09:00:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id CKqxD7YTQmWeeQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:00: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: 2082a0ac-7895-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698829238; 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=BBCYYLq8RLRTC07yvHLcGeOw7lLnh2hUZttfKIwKhhk=;
	b=kmvqIvyZZbyed7wfK0z8dsqPN9cEhkgdaSxvM8FaTMZpp3gpQsfOkvn8lUqV+c3r7lpafG
	GW8iPSd7PGh454KuPgwiYRSYzhAkzNGbZqil6jR0hecUowX45BSF9offJrvY9fKFLsKfZ/
	n1sW3HxwvzuFnJykVodU1BWGf1CMTXY=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 2/3] Mini-OS: don't crash if no shutdown node is available
Date: Wed,  1 Nov 2023 10:00:23 +0100
Message-Id: <20231101090024.28934-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101090024.28934-1-jgross@suse.com>
References: <20231101090024.28934-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It might be perfectly fine not to have a control/shutdown Xenstore
node. If this is the case, don't crash, but just terminate the
shutdown thread after issuing a message that shutdown isn't available.

In fini_shutdown() clearing the watch can result in an error now, in
case the early exit above was taken. Just ignore this error now.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 shutdown.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/shutdown.c b/shutdown.c
index bb2c6f11..ded6b64d 100644
--- a/shutdown.c
+++ b/shutdown.c
@@ -75,7 +75,9 @@ static void shutdown_thread(void *p)
         xenbus_wait_for_watch(&events);
         if ((err = xenbus_read(XBT_NIL, path, &shutdown))) {
             free(err);
-            do_exit();
+            free(xenbus_unwatch_path_token(XBT_NIL, path, token));
+            printk("Shutdown Xenstore node not available.\n");
+            return;
         }
 
         if (end_shutdown_thread)
@@ -117,15 +119,9 @@ void init_shutdown(void)
 
 void fini_shutdown(void)
 {
-    char *err;
-
     end_shutdown_thread = 1;
     xenbus_release_wait_for_watch(&events);
-    err = xenbus_unwatch_path_token(XBT_NIL, path, token);
-    if (err) {
-        free(err);
-        do_exit();
-    }
+    free(xenbus_unwatch_path_token(XBT_NIL, path, token));
 }
 #endif
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:00:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:00:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626148.976128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy75Y-0005yv-Q7; Wed, 01 Nov 2023 09:00:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626148.976128; Wed, 01 Nov 2023 09: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 1qy75Y-0005wd-IG; Wed, 01 Nov 2023 09:00:36 +0000
Received: by outflank-mailman (input) for mailman id 626148;
 Wed, 01 Nov 2023 09:00: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=WIXo=GO=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1qy75Y-0005dE-4z
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:00:36 +0000
Received: from smarthost01a.ixn.mail.zen.net.uk
 (smarthost01a.ixn.mail.zen.net.uk [212.23.1.20])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1db9d30f-7895-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:00:34 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01a.ixn.mail.zen.net.uk with esmtpsa (TLS1.0) tls
 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (Exim 4.95)
 (envelope-from <james@dingwall.me.uk>) id 1qy75V-005aL3-GD
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:00:33 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 461DF88EEA0
 for <xen-devel@lists.xenproject.org>; Wed,  1 Nov 2023 09:00:33 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([IPv6:::1])
 by localhost (mail0.xen.dingwall.me.uk [IPv6:::1]) (amavisd-new, port 10024)
 with ESMTP id THK6b9QEUa-Q for <xen-devel@lists.xenproject.org>;
 Wed,  1 Nov 2023 09:00:33 +0000 (GMT)
Received: from behemoth.dingwall.me.uk (behemoth.dingwall.me.uk [192.168.1.5])
 by dingwall.me.uk (Postfix) with ESMTP id 208B888EE9D
 for <xen-devel@lists.xenproject.org>; Wed,  1 Nov 2023 09:00:33 +0000 (GMT)
Received: by behemoth.dingwall.me.uk (Postfix, from userid 1000)
 id C8AACB0AAE2; Wed,  1 Nov 2023 09:00:32 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1db9d30f-7895-11ee-98d6-6d05b1d4d9a1
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Wed, 1 Nov 2023 09:00:32 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: xen-devel@lists.xenproject.org
Subject: Re: live migration fails: qemu placing pci devices at different
 locations
Message-ID: <ZUITsLTEziW6/xFP@dingwall.me.uk>
References: <ZUDR4daChIWHZBUo@dingwall.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ZUDR4daChIWHZBUo@dingwall.me.uk>
X-Originating-smarthost01a-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189

On Tue, Oct 31, 2023 at 10:07:29AM +0000, James Dingwall wrote:
> Hi,
> 
> I'm having a bit of trouble performing live migration between hvm guests.  The
> sending side is xen 4.14.5 (qemu 5.0), receiving 4.15.5 (qemu 5.1).  The error
> message recorded in qemu-dm-<name>--incoming.log:
> 
> qemu-system-i386: Unknown savevm section or instance '0000:00:04.0/vga' 0. Make sure that your current VM setup matches your saved VM setup, including any hotplugged devices
> 
> I have patched libxl_dm.c to explicitly assign `addr=xx` values for various
> devices and when these are correct the domain migrates correctly.  However
> the configuration differences between guests means that the values are not
> consistent.  The domain config file doesn't allow the pci address to be
> expressed in the configuration for, e.g. `soundhw="DEVICE"`
> 
> e.g. 
> 
> diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
> index 6e531863ac0..daa7c49846f 100644
> --- a/tools/libs/light/libxl_dm.c
> +++ b/tools/libs/light/libxl_dm.c
> @@ -1441,7 +1441,7 @@ static int libxl__build_device_model_args_new(libxl__gc *gc,
>              flexarray_append(dm_args, "-spice");
>              flexarray_append(dm_args, spiceoptions);
>              if (libxl_defbool_val(b_info->u.hvm.spice.vdagent)) {
> -                flexarray_vappend(dm_args, "-device", "virtio-serial",
> +                flexarray_vappend(dm_args, "-device", "virtio-serial,addr=04",
>                      "-chardev", "spicevmc,id=vdagent,name=vdagent", "-device",
>                      "virtserialport,chardev=vdagent,name=com.redhat.spice.0",
>                      NULL);
> 
> The order of devices on the qemu command line (below) appears to be the same
> so my assumption is that the internals of qemu have resulted in things being
> connected in a different order.  The output of a Windows `lspci` tool is
> also included.
> 
> Could anyone make any additional suggestions on how I could try to gain
> consistency between the different qemu versions?

After a bit more head scratching we worked out the cause and a solution for
our case.  In xen 4.15.4 d65ebacb78901b695bc5e8a075ad1ad865a78928 was
introduced to stop using the deprecated qemu `-soundhw` option.  The qemu
device initialisation code looks like:

...
    soundhw_init(); // handles old -soundhw option
...
    /* init generic devices */
    rom_set_order_override(FW_CFG_ORDER_OVERRIDE_DEVICE);
    qemu_opts_foreach(qemu_find_opts("device"),
                      device_init_func, NULL, &error_fatal);
...

So for the old -soundhw option this was processed before any -device options
and the sound card was assigned the next available slot on the bus and then
any further -devices were added according to the command line order.  After
that xen change the sound card was added as a -device and depending on the
other emulated hardware would be added at a different point to the equivalent
-soundhw option.  By re-ordering the qemu command line building in libxl_dm.c
we can make the sound card be the first -device which resolves the migration
problem.

I think this would also have been a problem for live migration between 4.15.3
and 4.15.4 for a vm with a sound card and not just the major version jump we
are doing.

James


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:00:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626152.976159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy75j-0006v8-9y; Wed, 01 Nov 2023 09:00:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626152.976159; Wed, 01 Nov 2023 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 1qy75j-0006uz-7B; Wed, 01 Nov 2023 09:00:47 +0000
Received: by outflank-mailman (input) for mailman id 626152;
 Wed, 01 Nov 2023 09:00: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy75h-0005dE-NO
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:00:45 +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 23d72a20-7895-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:00:44 +0100 (CET)
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 0D1D621A58;
 Wed,  1 Nov 2023 09:00: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 D407313460;
 Wed,  1 Nov 2023 09:00:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fZEZMrsTQmWqeQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09: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>
X-Inumbo-ID: 23d72a20-7895-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698829244; 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=Or0tPQphNoLGGIqgePeOLJ1T+klAnj6lGdQ0f802gDQ=;
	b=NiwXEXSwOFrCzwRHIGYZEMFP/XfdMwMiudIEejCjpT4hEWFD6FJk1eX4RnZo54pZ9I/ABh
	1twigO1mFwK1zNp5ItPXkelsJmEbBDQ5GB3BGoLsufaYnCJmrpphchSQL/YTrynQczl1pf
	Ov8pdFWbW2zNJ3jw5irqJSA4nFV1uOA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 3/3] Mini-OS: fix 9pfs stat receive format
Date: Wed,  1 Nov 2023 10:00:24 +0100
Message-Id: <20231101090024.28934-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101090024.28934-1-jgross@suse.com>
References: <20231101090024.28934-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The format string of the received data for the 9pfs stat command is
missing the initial 2 byte total length specifier. Add it.

Fixes: 2d1dfccd3aa3 ("Mini-OS: add read and write support to 9pfsfront")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 9pfront.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/9pfront.c b/9pfront.c
index 5da8a365..43c7409f 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -711,6 +711,7 @@ static int p9_create(struct dev_9pfs *dev, uint32_t fid, char *path,
 static int p9_stat(struct dev_9pfs *dev, uint32_t fid, struct p9_stat *stat)
 {
     struct req *req = get_free_req(dev);
+    uint16_t total;
     int ret;
 
     if ( !req )
@@ -719,10 +720,10 @@ static int p9_stat(struct dev_9pfs *dev, uint32_t fid, struct p9_stat *stat)
     memset(stat, 0, sizeof(*stat));
     req->cmd = P9_CMD_STAT;
     send_9p(dev, req, "U", fid);
-    rcv_9p(dev, req, "uuUQUUULSSSSSUUU", &stat->size, &stat->type, &stat->dev,
-           stat->qid, &stat->mode, &stat->atime, &stat->mtime, &stat->length,
-           &stat->name, &stat->uid, &stat->gid, &stat->muid, &stat->extension,
-           &stat->n_uid, &stat->n_gid, &stat->n_muid);
+    rcv_9p(dev, req, "uuuUQUUULSSSSSUUU", &total, &stat->size, &stat->type,
+           &stat->dev, stat->qid, &stat->mode, &stat->atime, &stat->mtime,
+           &stat->length, &stat->name, &stat->uid, &stat->gid, &stat->muid,
+           &stat->extension, &stat->n_uid, &stat->n_gid, &stat->n_muid);
 
     ret = req->result;
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:14:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:14:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626178.976168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Iz-0002sl-Fx; Wed, 01 Nov 2023 09:14:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626178.976168; Wed, 01 Nov 2023 09:14: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 1qy7Iz-0002se-DO; Wed, 01 Nov 2023 09:14:29 +0000
Received: by outflank-mailman (input) for mailman id 626178;
 Wed, 01 Nov 2023 09:14:27 +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 1qy7Ix-0002rO-9u
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:14:27 +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 1qy7Iv-0003yV-1H; Wed, 01 Nov 2023 09:14:25 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1qy7Iu-0006zs-Rh; Wed, 01 Nov 2023 09: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>
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=IJy7ohh2P80trrurzNDpJ9gaIXCG3I2f9gcqC5joIvw=; b=T/L2zBp6/xhQ3p33R3NIKcOJEA
	tX1A69g5VIQyu9a9AxRRibPY8T6IE2G6ATGYrYWtPJIrZHhKL/K1w8knJt/8lJomYCfkdmjKSgu6s
	e10U588u9facBkGyv8eT6pmBnWRoc1svZZsCYI7cTUMg8S5DoQfNMPnCZU0tRLGQHsLM=;
Message-ID: <ad8c3c99-135c-425c-a0e9-f74c6cadbc78@xen.org>
Date: Wed, 1 Nov 2023 09:14:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma]
 *ERROR* Device 14450000.mixer lacks support for IOMMU
Content-Language: en-GB
To: Chuck Zmudzinski <brchuckz@netscape.net>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Mario Marietto <marietto2008@gmail.com>,
 xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Marek Szyprowski <m.szyprowski@samsung.com>
References: <CA+1FSiip1U0_EskJNgV3pSZPTCNOiTbpHosRLsy-6t1QQGd8Dw@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311557520.1795129@ubuntu-linux-20-04-desktop>
 <CA+1FSih0hORYZf6Hfmf=nY4jkHPvFSgGfc1tJfzN6smnKxcsxA@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311625260.1795129@ubuntu-linux-20-04-desktop>
 <d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net>
 <08d50d8e-00bc-4bd0-be64-49639028eca8@xen.org>
 <5b3f5d86-1499-4dbb-934e-2006a3dc108e@netscape.net>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5b3f5d86-1499-4dbb-934e-2006a3dc108e@netscape.net>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 01/11/2023 08:45, Chuck Zmudzinski wrote:
> On 11/1/2023 4:27 AM, Julien Grall wrote:
>> Hi,
>>
>> @Stefano, as you pointed out, there is already a thread on xen-users for
>> this discussion. Could we use this thread for any discussion? This would
>> make easier to follow.
>>
>> Some high level comment below.
> 
> I agree to keep the discussion here and not at other places.

I was meant to suggest the other thread :). But either is fine with me. 
I just want to avoid avoid multiple seperate threads for the discussion.

> 
> I just want to add that the best results for Xen dom0 so far are
> by implementing Marek's suggestion to disable these two settings
> in the 6.1.59 kernel config, but leaving everything else the same,
> including keeping the EXYNOS_IOMMU support enabled:
That's good news! I would be interested to hear how this works once you 
start to have PV backend in dom0 (I expect that the IOMMU will get 
confused with grant mapping).

Also, do you plan to passthrough any of the devices protected by IOMMU?

> 
> # CONFIG_DRM_EXYNOS_MIXER is not set
> 
> Disabling the mixer also makes this unavailable:
> 
> # CONFIG_HDMI
> 
> With this change, the GPU is working well enough to allow the display
> manager and an X11 session to run normally on the built-in display of the
> Chromebook. The Wifi also works well.

I saw your other answer about the Wifi not working when the IOMMU is not 
used. I was about to reply there, but instead I will do it here.

TBH, I am quite surprised this is the case. The only difference with 
baremetal would be the RAM regions. Do you know if the Wifi dongle only 
accept certain physical address?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:15:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:15:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626180.976179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7K1-0003mA-Pw; Wed, 01 Nov 2023 09:15:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626180.976179; Wed, 01 Nov 2023 09:15: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 1qy7K1-0003m3-MS; Wed, 01 Nov 2023 09:15:33 +0000
Received: by outflank-mailman (input) for mailman id 626180;
 Wed, 01 Nov 2023 09:15: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7K0-0003lq-OZ
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:15:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33992dea-7897-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:15:29 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 593FA4EE0741;
 Wed,  1 Nov 2023 10:15:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33992dea-7897-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [XEN PATCH][for-4.19 v6 0/8] Fix or deviate various instances of missing declarations
Date: Wed,  1 Nov 2023 10:15:15 +0100
Message-Id: <cover.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patches in this series aim to fix or deviate various instances where a
function or variable do not have a declaration visible when such entity is
defined (in violation of MISRA C:2012 Rule 8.4).
An exception listed under docs/misra/rules.rst allows asm-only functions and
variables to be exempted, while the other instances are either changed
(e.g., making them static) or a missing header inclusion is added.

Nicola Vetrini (8):
  xen: modify or add declarations for variables where needed
  x86: add deviation for asm-only functions
  x86: add asmlinkage macro to variables only used in asm code
  x86/grant: switch included header to make declarations visible
  x86/vm_event: add missing include for hvm_vm_event_do_resume
  xen/console: remove stub definition in consoled.h
  x86/mem_access: make function static
  docs/misra: exclude three more files

 automation/eclair_analysis/ECLAIR/deviations.ecl |  9 +++++++++
 docs/misra/deviations.rst                        |  6 ++++++
 docs/misra/exclude-list.json                     | 12 ++++++++++++
 xen/arch/arm/include/asm/setup.h                 |  3 +++
 xen/arch/arm/include/asm/smp.h                   |  3 +++
 xen/arch/arm/platform_hypercall.c                |  2 +-
 xen/arch/x86/cpu/mcheck/mce.c                    |  7 ++++---
 xen/arch/x86/hvm/grant_table.c                   |  3 +--
 xen/arch/x86/hvm/svm/intr.c                      |  2 +-
 xen/arch/x86/hvm/svm/nestedsvm.c                 |  2 +-
 xen/arch/x86/hvm/svm/svm.c                       |  4 ++--
 xen/arch/x86/hvm/vm_event.c                      |  1 +
 xen/arch/x86/hvm/vmx/intr.c                      |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c                       |  4 ++--
 xen/arch/x86/hvm/vmx/vvmx.c                      |  2 +-
 xen/arch/x86/include/asm/hvm/grant_table.h       |  2 ++
 xen/arch/x86/irq.c                               |  2 +-
 xen/arch/x86/mm/mem_access.c                     |  6 +++---
 xen/arch/x86/setup.c                             |  8 +++++---
 xen/arch/x86/traps.c                             |  2 +-
 xen/arch/x86/x86_64/traps.c                      |  2 +-
 xen/include/xen/compiler.h                       |  5 +++++
 xen/include/xen/consoled.h                       |  7 -------
 xen/include/xen/symbols.h                        |  1 +
 24 files changed, 67 insertions(+), 30 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:16:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:16:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626185.976189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Kt-0004Xg-63; Wed, 01 Nov 2023 09:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626185.976189; Wed, 01 Nov 2023 09:16: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 1qy7Kt-0004XZ-2Y; Wed, 01 Nov 2023 09:16:27 +0000
Received: by outflank-mailman (input) for mailman id 626185;
 Wed, 01 Nov 2023 09:16: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=z8cj=GO=cloud.com=edwin.torok@srs-se1.protection.inumbo.net>)
 id 1qy7Ks-0004XN-2Y
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:16:26 +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 5492357e-7897-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:16:25 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-40859dee28cso50900135e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 02:16:25 -0700 (PDT)
Received: from smtpclient.apple (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 s26-20020adfa29a000000b003232380ffd5sm3595894wra.106.2023.11.01.02.16.23
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 01 Nov 2023 02:16: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: 5492357e-7897-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1698830184; x=1699434984; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=KZs7Y4zGvAWTj8U3RHw5HeGotBqtrQCezqYt8W+ln7M=;
        b=I9WlFaUMO2bqeaXXR32QlT+T7Vfzuoc8TDf8tgy9XdoEHNbDga6B4YE6CZuCWSmFfp
         KYiqzB300YrDR3qGPD0l3LFDdiDhItioFY7Bpwn8S49MVkS8SQNt/TZO4S2M6DTZDMGX
         jg2ucHPT2X+t8L2rbJ7SX/bAPs7WG2Tb5579I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698830184; x=1699434984;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KZs7Y4zGvAWTj8U3RHw5HeGotBqtrQCezqYt8W+ln7M=;
        b=djNV5QcnVS0xC448Km+4pIfKkgfNLcuJI1Ne+SNJl/TdiYJ14bHXbf0Ck70PAvCzRY
         22959J1T+EmM63YR1aZSKKNBSJQVRln3DUvNIU2COCkHngg0d9zgXCSE7XvJTniwhmZY
         qcwDlH/EBbmOmTdMkPgHKSPzKaS3zalCVosRN+J2PYHUQXcrziSkGZRwmwWC4Y0X4WGk
         oeOijbcvdt2GHQIR6iks+GCyAANu3ZLKV3ODpChipha1+qW0ERUJIdGMoib6bVD5Kuu7
         FByUx7Z+X5kN3Wn/hzW4zs7X+NvKwx4+DffHapGOOMWF4o/NfitqviF8RUC/G+uQmEXD
         5WFQ==
X-Gm-Message-State: AOJu0YwiHCi16eUDgc474XgfLTkT/6fBdFXkDXCp8PFQRWzOp4EKPJMj
	QRSc7ZOPTHhfDCfmd7nuFoCmGg==
X-Google-Smtp-Source: AGHT+IFTTE0o22gChz8IwH5TXgf4st6BF811Cb/E6DKPsFi81TYyeyvRyxhMaywYEqGPIx3hOx+MJQ==
X-Received: by 2002:a5d:4a0c:0:b0:32d:a3ee:6f73 with SMTP id m12-20020a5d4a0c000000b0032da3ee6f73mr10095775wrq.42.1698830184398;
        Wed, 01 Nov 2023 02:16:24 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\))
Subject: Re: [RFC PATCH 02/22] x86/msr: implement MSR_SMI_COUNT for Dom0 on
 Intel
From: Edwin Torok <edwin.torok@cloud.com>
In-Reply-To: <2a2927b0-460b-eb52-54e1-3777dae66d11@suse.com>
Date: Wed, 1 Nov 2023 09:16:13 +0000
Cc: =?utf-8?B?RWR3aW4gVMO2csO2aw==?= <edvin.torok@citrix.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
Content-Transfer-Encoding: quoted-printable
Message-Id: <C5202D3F-A109-42E9-8BB2-54FD4E9BC25D@cloud.com>
References: <cover.1698261255.git.edwin.torok@cloud.com>
 <9d950b3c5502b5fb5fad62845b56b15d1bacc2d6.1698261255.git.edwin.torok@cloud.com>
 <6fc915a9-4415-3337-3b3d-cef0e9f735c1@suse.com>
 <E50DC831-A8A6-468C-9CF1-C60F6695304A@cloud.com>
 <2a2927b0-460b-eb52-54e1-3777dae66d11@suse.com>
To: Jan Beulich <jbeulich@suse.com>
X-Mailer: Apple Mail (2.3774.100.2.1.4)



> On 31 Oct 2023, at 09:57, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 31.10.2023 10:42, Edwin Torok wrote:
>>> On 30 Oct 2023, at 16:20, Jan Beulich <jbeulich@suse.com> wrote:
>>> On 25.10.2023 21:29, Edwin T=C3=B6r=C3=B6k wrote:
>>>> Dom0 should always be able to read this MSR: it is useful when
>>>> investigating performance issues in production.
>>>=20
>>> While I'm not outright opposed, I'm also not convinced. At the very =
least
>>> ...
>>>=20
>>>> Although the count is Thread scoped, in practice all cores were =
observed
>>>> to return the same count (perhaps due to implementation details of =
SMM),
>>>> so do not require the cpu to be pinned in order to read it.
>>>=20
>>> ... this, even if matching your observations, is going to be =
properly
>>> misleading in case counts end up diverging.
>>>=20
>>>> This MSR exists on Intel since Nehalem.
>>>>=20
>>>> Backport: 4.15+
>>>=20
>>> If this was a backporting candidate, I think a Fixes: tag would need
>>> to indicate what's being fixed here.
>>=20
>>=20
>> I used the Backport tag to indicate what is the oldest release that =
it is backportable to.
>> IIRC the choices were:
>> * 4.0+ for issues that were present for a long time (didn't look =
further back than that in history), so there isn't any particular commit =
that introduces the problem, it was like that from the very beginning, =
i.e. not a regression.
>>=20
>> * 4.13+ for issues affecting only new CPU support (I think that is =
the release that added Icelake support). I can attempt to find the =
commit that added Icelake support and mark them as Fixes: that commit =
(although there might be several of them)
>>=20
>> * 4.15+ for bugs introduced by the default read-write msr changes
>>=20
>>=20
>>> Otherwise this is merely a new
>>> feature.
>>>=20
>>=20
>> Prior to the default rdwrmsr changes it was possible to read any MSR, =
so I consider it a bug that after the default rdwrmsr changes you can no =
longer do that, it takes away a valuable debugging tool.
>=20
> As said elsewhere, making MSRs generally inaccessible was a deliberate =
change.
> I don't think any of us x86 maintainers has so far considered that as =
introducing
> a bug. MSRs being accessible as a debugging tool may be worthwhile to =
have as an
> optional feature (see my suggestion elsewhere as to a possible way to =
approach
> this), but I don't think this can be taken as an indication that we =
should revert
> back to "blind" exposure.
>=20


This particular patch (unlike the other one that is more general for all =
MSRs) is about one specific MSR, and makes it accessible to Dom0 only in =
a read-only way.
That is very different from blindly exposing it to all guests.
Anyway let me get something ready for master first, and then =
distributions that package Xen can decide whether to backport this patch =
or not, I'll replace Backport: 4.X with Backportable: 4.X (and add a =
Fixes: line) to indicate that this patch is recommended to be backported =
(for anyone who uses that version of Xen in production).

[I'm not saying that this patch is complete, as you've indicated there =
is more work required to make it work correctly wrt to pinning vs =
non-pinning, and I'll try to require a pinned Dom0 core in my next =
version]

Best regards,
--Edwin


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:25:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:25:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626192.976199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7TN-0006Vm-07; Wed, 01 Nov 2023 09:25:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626192.976199; Wed, 01 Nov 2023 09: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 1qy7TM-0006Vf-Ti; Wed, 01 Nov 2023 09:25:12 +0000
Received: by outflank-mailman (input) for mailman id 626192;
 Wed, 01 Nov 2023 09:25: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=4cZ7=GO=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1qy7TL-0006VZ-Ok
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:25:11 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8cd9c3ec-7898-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:25:09 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-32db188e254so4398208f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 02:25:09 -0700 (PDT)
Received: from smtpclient.apple (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 v7-20020a5d6107000000b0032da49e18fasm3665450wrt.23.2023.11.01.02.25.08
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 01 Nov 2023 02:25: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: 8cd9c3ec-7898-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1698830709; x=1699435509; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ZzZEhREAwlJcPojly8EStzKRFf+8Id9IQlGRUuni3EA=;
        b=gyjaiF2gQz9o6N2zc9EqKPZlTXlf/AU7P6zvJCs6/dTeYot5HaUnY2U3L8eo+H0NU/
         YA2pNLeZy8hyU3x/YCZvdiPxkiZc0T+w0OJpQ6EjMfVXEKa0dKCXWqvdfd5TuXae8dd5
         abr5W2O8jCsiJpLSwpB8j313AIxebD/O6Cc3o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698830709; x=1699435509;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ZzZEhREAwlJcPojly8EStzKRFf+8Id9IQlGRUuni3EA=;
        b=Aob2CjWGabvCc68HycbVDIny1N5BsPn2yzZEBb+TwQ/RfYwYJluSjnmnrosBuzSH4+
         Wh5JGbUozn8MtSHREFKctMlWRidCHXVr45j7qtcklSQUB5BVXO+iUpZlK1CuQOdmiY1j
         fqBdFmgiCwSRCOKe4d1BqtfvEvyjWP0QoiIvZUvhhdsbxADIZ8+CpviCsyYWm5wfadum
         MpgWl6lj4jaoDECEEG5RHFB5zqLrPrXo8W4WmspuVPJxN609JnnVetJlhjnUhCUk8pYD
         AAAA1gpba4AIOuGtZ8aQGkQRJuhBZxJEwo4zwjxX1VsclrgfzCej4JNvhFs0Op46l3Dm
         sUSQ==
X-Gm-Message-State: AOJu0YwxYiPCSx2d1q6nNgJD6o17SI0dlreUXT7gbY/LiTjTAy9fK4hh
	/UwWIk71k7iMQFtnNQQefDzZow==
X-Google-Smtp-Source: AGHT+IF5effs5dM+sbAW5iV8s6e5BK4fLf+eakIhy1McclStEk0y71tqqfkSrVt13zM5YCl+JXoQkA==
X-Received: by 2002:a5d:43c3:0:b0:32d:a476:5285 with SMTP id v3-20020a5d43c3000000b0032da4765285mr10972089wrr.31.1698830709099;
        Wed, 01 Nov 2023 02:25:09 -0700 (PDT)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.3\))
Subject: Re: [PATCH v4 0/5] Kconfig for PCI passthrough on ARM
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <20231030235240.106998-1-stewart.hildebrand@amd.com>
Date: Wed, 1 Nov 2023 09:25:07 +0000
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>,
 Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Jan Beulich <jbeulich@suse.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 David Scott <dave@recoil.org>,
 =?utf-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
 =?utf-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>,
 Edwin Torok <edwin.torok@cloud.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <AF82D7D3-7745-475E-97C6-54016D40980D@cloud.com>
References: <20231030235240.106998-1-stewart.hildebrand@amd.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
X-Mailer: Apple Mail (2.3696.120.41.1.3)



> On 30 Oct 2023, at 23:52, Stewart Hildebrand =
<stewart.hildebrand@amd.com> wrote:
>=20
> There are multiple series in development/review [1], [2] that will =
benefit from
> having a Kconfig option for PCI passthrough on ARM. Hence I have sent =
this
> series independent from any other series.
>=20
> v3->v4:
> * rename ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
>  to ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
> * fold ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
>  into ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
> * split ("xen/arm: enable vPCI for domUs") into separate hypervisor =
and
>  tools patches
>=20
> v2->v3:
> * add ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
> * rename ("xen/arm: make has_vpci depend on CONFIG_HAS_VPCI")
>      to ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
> * add ("xen/arm: enable vPCI for dom0")
>=20
> v1->v2:
> * add ("[FUTURE] xen/arm: enable vPCI for domUs")
>=20
> [1] =
https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg02361.html=

> [2] =
https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00210.html=

>=20
> Rahul Singh (1):
>  xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option
>=20
> Stewart Hildebrand (4):
>  xen/vpci: move xen_domctl_createdomain vPCI flag to common
>  xen/arm: enable vPCI for dom0
>  [FUTURE] xen/arm: enable vPCI for domUs
>  [FUTURE] tools/arm: enable vPCI for domUs
>=20
> tools/libs/light/libxl_arm.c       |  3 +++
> tools/libs/light/libxl_x86.c       |  5 ++++-
> tools/ocaml/libs/xc/xenctrl.ml     |  2 +-
> tools/ocaml/libs/xc/xenctrl.mli    |  2 +-
> tools/python/xen/lowlevel/xc/xc.c  |  5 ++++-
> xen/arch/arm/Kconfig               | 10 ++++++++++
> xen/arch/arm/domain.c              |  3 ++-
> xen/arch/arm/domain_build.c        |  6 ++++++
> xen/arch/arm/include/asm/domain.h  |  3 ---
> xen/arch/arm/include/asm/pci.h     |  9 +++++++++
> xen/arch/arm/pci/pci-host-common.c | 11 ++++++++---
> xen/arch/arm/vpci.c                |  8 ++++++++
> xen/arch/x86/domain.c              | 16 ++++++++++------
> xen/arch/x86/include/asm/domain.h  |  6 +-----
> xen/arch/x86/setup.c               |  5 +++--
> xen/common/domain.c                | 10 +++++++++-
> xen/drivers/passthrough/pci.c      | 10 ++++++++++
> xen/include/public/arch-x86/xen.h  |  5 +----
> xen/include/public/domctl.h        |  7 +++++--
> xen/include/xen/domain.h           |  2 ++
> 20 files changed, 97 insertions(+), 31 deletions(-)
>=20
>=20
> base-commit: 9659b2a6d73b14620e187f9c626a09323853c459
> --=20
> 2.42.0
>=20


Acked-by: Christian Lindig <christian.lindig@cloud.com>


The changes for the OCaml part are incremental; is someone using the =
OCaml bindings on ARM seriously?=20

=E2=80=94 C=


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:30:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:30:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626197.976219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Yo-0000aF-R1; Wed, 01 Nov 2023 09:30:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626197.976219; Wed, 01 Nov 2023 09: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 1qy7Yo-0000a6-Nk; Wed, 01 Nov 2023 09:30:50 +0000
Received: by outflank-mailman (input) for mailman id 626197;
 Wed, 01 Nov 2023 09:30: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7Ym-0000L5-K5
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:30:48 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 568fed83-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:30:47 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 4A9874EE0747;
 Wed,  1 Nov 2023 10:30:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 568fed83-7899-11ee-98d6-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH][for-4.19 v6 1/8] xen: modify or add declarations for variables where needed
Date: Wed,  1 Nov 2023 10:30:30 +0100
Message-Id: <03ff750e9580c2de8ce3d1211562a03f663d678c.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some variables with external linkage used in C code do not have
a visible declaration where they are defined. Other variables
can be made static, thereby eliminating the need for a declaration.
Doing so also resolves violations of MISRA C:2012 Rule 8.4.

Fix typo s/mcinfo_dumpped/mcinfo_dumped/ while making
the variable static.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Jan's ack is for the x86 part, but no other concerns have been
raised for the arm files.

Changes in v2:
- make xenpf_lock static on ARM
Changes in v3:
- moved back code from symbols.h to symbols.c
- dropped two declarations, now deviated
Changes in v4:
- revise commit message
---
 xen/arch/arm/include/asm/setup.h  | 3 +++
 xen/arch/arm/include/asm/smp.h    | 3 +++
 xen/arch/arm/platform_hypercall.c | 2 +-
 xen/arch/x86/cpu/mcheck/mce.c     | 7 ++++---
 xen/arch/x86/irq.c                | 2 +-
 xen/include/xen/symbols.h         | 1 +
 6 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 98af6f55f5a0..2a2d6114f2eb 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -184,9 +184,12 @@ int map_range_to_domain(const struct dt_device_node *dev,
 extern lpae_t boot_pgtable[XEN_PT_LPAE_ENTRIES];
 
 #ifdef CONFIG_ARM_64
+extern lpae_t boot_first[XEN_PT_LPAE_ENTRIES];
 extern lpae_t boot_first_id[XEN_PT_LPAE_ENTRIES];
 #endif
+extern lpae_t boot_second[XEN_PT_LPAE_ENTRIES];
 extern lpae_t boot_second_id[XEN_PT_LPAE_ENTRIES];
+extern lpae_t boot_third[XEN_PT_LPAE_ENTRIES * XEN_NR_ENTRIES(2)];
 extern lpae_t boot_third_id[XEN_PT_LPAE_ENTRIES];
 
 /* Find where Xen will be residing at runtime and return a PT entry */
diff --git a/xen/arch/arm/include/asm/smp.h b/xen/arch/arm/include/asm/smp.h
index 4fabdf5310d8..28bf24a01d95 100644
--- a/xen/arch/arm/include/asm/smp.h
+++ b/xen/arch/arm/include/asm/smp.h
@@ -6,6 +6,9 @@
 #include <asm/current.h>
 #endif
 
+extern struct init_info init_data;
+extern unsigned long smp_up_cpu;
+
 DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
 DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
 
diff --git a/xen/arch/arm/platform_hypercall.c b/xen/arch/arm/platform_hypercall.c
index 743687a30390..fde4bc3e5809 100644
--- a/xen/arch/arm/platform_hypercall.c
+++ b/xen/arch/arm/platform_hypercall.c
@@ -17,7 +17,7 @@
 #include <asm/current.h>
 #include <asm/event.h>
 
-DEFINE_SPINLOCK(xenpf_lock);
+static DEFINE_SPINLOCK(xenpf_lock);
 
 long do_platform_op(XEN_GUEST_HANDLE_PARAM(xen_platform_op_t) u_xenpf_op)
 {
diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
index 6141b7eb9cf1..779a458cd88f 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -1682,13 +1682,14 @@ long do_mca(XEN_GUEST_HANDLE_PARAM(xen_mc_t) u_xen_mc)
     return ret;
 }
 
-int mcinfo_dumpped;
+static int mcinfo_dumped;
+
 static int cf_check x86_mcinfo_dump_panic(mctelem_cookie_t mctc)
 {
     struct mc_info *mcip = mctelem_dataptr(mctc);
 
     x86_mcinfo_dump(mcip);
-    mcinfo_dumpped++;
+    mcinfo_dumped++;
 
     return 0;
 }
@@ -1702,7 +1703,7 @@ static void mc_panic_dump(void)
     for_each_online_cpu(cpu)
         mctelem_process_deferred(cpu, x86_mcinfo_dump_panic,
                                  mctelem_has_deferred_lmce(cpu));
-    dprintk(XENLOG_ERR, "End dump mc_info, %x mcinfo dumped\n", mcinfo_dumpped);
+    dprintk(XENLOG_ERR, "End dump mc_info, %x mcinfo dumped\n", mcinfo_dumped);
 }
 
 void mc_panic(const char *s)
diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
index f42ad539dcd5..ecd67f7f8416 100644
--- a/xen/arch/x86/irq.c
+++ b/xen/arch/x86/irq.c
@@ -43,7 +43,7 @@ int __read_mostly opt_irq_vector_map = OPT_IRQ_VECTOR_MAP_DEFAULT;
 static unsigned char __read_mostly irq_max_guests;
 integer_param("irq-max-guests", irq_max_guests);
 
-vmask_t global_used_vector_map;
+static vmask_t global_used_vector_map;
 
 struct irq_desc __read_mostly *irq_desc = NULL;
 
diff --git a/xen/include/xen/symbols.h b/xen/include/xen/symbols.h
index 20bbb28ef226..1b2863663aa0 100644
--- a/xen/include/xen/symbols.h
+++ b/xen/include/xen/symbols.h
@@ -33,4 +33,5 @@ struct symbol_offset {
     uint32_t stream; /* .. in the compressed stream.*/
     uint32_t addr;   /* .. and in the fixed size address array. */
 };
+
 #endif /*_XEN_SYMBOLS_H*/
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:30:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:30:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626196.976209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Yn-0000LN-JM; Wed, 01 Nov 2023 09:30:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626196.976209; Wed, 01 Nov 2023 09:30: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 1qy7Yn-0000LG-G6; Wed, 01 Nov 2023 09:30:49 +0000
Received: by outflank-mailman (input) for mailman id 626196;
 Wed, 01 Nov 2023 09:30: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7Ym-0000L5-00
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:30:48 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5611ac4f-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:30:46 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id BF14E4EE0741;
 Wed,  1 Nov 2023 10:30:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5611ac4f-7899-11ee-98d6-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [XEN PATCH][for-4.19 v6 0/8] Fix or deviate various instances of missing declarations
Date: Wed,  1 Nov 2023 10:30:29 +0100
Message-Id: <cover.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patches in this series aim to fix or deviate various instances where a
function or variable do not have a declaration visible when such entity is
defined (in violation of MISRA C:2012 Rule 8.4).
An exception listed under docs/misra/rules.rst allows asm-only functions and
variables to be exempted, while the other instances are either changed
(e.g., making them static) or a missing header inclusion is added.

Nicola Vetrini (8):
  xen: modify or add declarations for variables where needed
  x86: add deviation for asm-only functions
  x86: add asmlinkage macro to variables only used in asm code
  x86/grant: switch included header to make declarations visible
  x86/vm_event: add missing include for hvm_vm_event_do_resume
  xen/console: remove stub definition in consoled.h
  x86/mem_access: make function static
  docs/misra: exclude three more files

 automation/eclair_analysis/ECLAIR/deviations.ecl |  9 +++++++++
 docs/misra/deviations.rst                        |  6 ++++++
 docs/misra/exclude-list.json                     | 12 ++++++++++++
 xen/arch/arm/include/asm/setup.h                 |  3 +++
 xen/arch/arm/include/asm/smp.h                   |  3 +++
 xen/arch/arm/platform_hypercall.c                |  2 +-
 xen/arch/x86/cpu/mcheck/mce.c                    |  7 ++++---
 xen/arch/x86/hvm/grant_table.c                   |  3 +--
 xen/arch/x86/hvm/svm/intr.c                      |  2 +-
 xen/arch/x86/hvm/svm/nestedsvm.c                 |  2 +-
 xen/arch/x86/hvm/svm/svm.c                       |  4 ++--
 xen/arch/x86/hvm/vm_event.c                      |  1 +
 xen/arch/x86/hvm/vmx/intr.c                      |  2 +-
 xen/arch/x86/hvm/vmx/vmx.c                       |  4 ++--
 xen/arch/x86/hvm/vmx/vvmx.c                      |  2 +-
 xen/arch/x86/include/asm/hvm/grant_table.h       |  2 ++
 xen/arch/x86/irq.c                               |  2 +-
 xen/arch/x86/mm/mem_access.c                     |  6 +++---
 xen/arch/x86/setup.c                             |  8 +++++---
 xen/arch/x86/traps.c                             |  2 +-
 xen/arch/x86/x86_64/traps.c                      |  2 +-
 xen/include/xen/compiler.h                       |  5 +++++
 xen/include/xen/consoled.h                       |  7 -------
 xen/include/xen/symbols.h                        |  1 +
 24 files changed, 67 insertions(+), 30 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:30:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:30:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626199.976239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Yq-00015K-LM; Wed, 01 Nov 2023 09:30:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626199.976239; Wed, 01 Nov 2023 09: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 1qy7Yq-00015B-IN; Wed, 01 Nov 2023 09:30:52 +0000
Received: by outflank-mailman (input) for mailman id 626199;
 Wed, 01 Nov 2023 09:30: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7Yo-0000L5-T5
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:30:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 586456d0-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:30:50 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D4F5A4EE0C81;
 Wed,  1 Nov 2023 10:30:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 586456d0-7899-11ee-98d6-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH][for-4.19 v6 3/8] x86: add asmlinkage macro to variables only used in asm code
Date: Wed,  1 Nov 2023 10:30:32 +0100
Message-Id: <8e7762db94449c18e88171658c758a227e1fae9b.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

To avoid a violation of MISRA C:2012 Rule 8.4, as permitted
by docs/misra/rules.rst.

The current_stack_pointer is a declaration: mark it as such
for ECLAIR.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v3:
- Edited commit message
- Add two new variables
Changes in v5:
- Mark current_stack_pointer as a declaration.
- Use asmlinkage instead of SAF.
Changes in v6:
- moved asmlinkage after the type
---
 xen/arch/x86/setup.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a3d3f797bb1e..d70ad1e44a60 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -75,7 +75,8 @@ static bool __initdata opt_invpcid = true;
 boolean_param("invpcid", opt_invpcid);
 bool __read_mostly use_invpcid;
 
-unsigned long __read_mostly cr4_pv32_mask;
+/* Only used in asm code and within this source file */
+unsigned long asmlinkage __read_mostly cr4_pv32_mask;
 
 /* **** Linux config option: propagated to domain0. */
 /* "acpi=off":    Sisables both ACPI table parsing and interpreter. */
@@ -146,14 +147,15 @@ cpumask_t __read_mostly cpu_present_map;
 
 unsigned long __read_mostly xen_phys_start;
 
-char __section(".init.bss.stack_aligned") __aligned(STACK_SIZE)
+/* Only used in asm code and within this source file */
+char asmlinkage __section(".init.bss.stack_aligned") __aligned(STACK_SIZE)
     cpu0_stack[STACK_SIZE];
 
 /* Used by the BSP/AP paths to find the higher half stack mapping to use. */
 void *stack_start = cpu0_stack + STACK_SIZE - sizeof(struct cpu_info);
 
 /* Used by the boot asm to stash the relocated multiboot info pointer. */
-unsigned int __initdata multiboot_ptr;
+unsigned int asmlinkage __initdata multiboot_ptr;
 
 struct cpuinfo_x86 __read_mostly boot_cpu_data = { 0, 0, 0, 0, -1 };
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:30:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:30:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626198.976225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Yp-0000dt-7T; Wed, 01 Nov 2023 09:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626198.976225; Wed, 01 Nov 2023 09:30: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 1qy7Yp-0000db-0S; Wed, 01 Nov 2023 09:30:51 +0000
Received: by outflank-mailman (input) for mailman id 626198;
 Wed, 01 Nov 2023 09:30: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7Yn-0000L5-LG
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:30:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5778b6a4-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:30:49 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 370E34EE074E;
 Wed,  1 Nov 2023 10:30:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5778b6a4-7899-11ee-98d6-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>
Subject: [XEN PATCH][for-4.19 v6 2/8] x86: add deviation for asm-only functions
Date: Wed,  1 Nov 2023 10:30:31 +0100
Message-Id: <a1b5c3b273145c35535fed3647bf850d9ae5db7f.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As stated in rules.rst, functions used only in asm modules
are allowed to have no prior declaration visible when being
defined, hence these functions are marked with an
'asmlinkage' macro, which is then deviated for MISRA C:2012
Rule 8.4.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v3:
- added SAF deviations for vmx counterparts to svm functions.
Changes in v5:
- drop SAF deviations in favour of the pseudo-attribute asmlinkage
Changes in v6:
- conditioned asmlinkage definition to make it overridable;
- move the pseudo-attribute after the return type
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++
 docs/misra/deviations.rst                        | 6 ++++++
 xen/arch/x86/hvm/svm/intr.c                      | 2 +-
 xen/arch/x86/hvm/svm/nestedsvm.c                 | 2 +-
 xen/arch/x86/hvm/svm/svm.c                       | 4 ++--
 xen/arch/x86/hvm/vmx/intr.c                      | 2 +-
 xen/arch/x86/hvm/vmx/vmx.c                       | 4 ++--
 xen/arch/x86/hvm/vmx/vvmx.c                      | 2 +-
 xen/arch/x86/traps.c                             | 2 +-
 xen/arch/x86/x86_64/traps.c                      | 2 +-
 xen/include/xen/compiler.h                       | 5 +++++
 11 files changed, 30 insertions(+), 10 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index fa56e5c00a27..06619ecf7e8d 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -163,6 +163,15 @@ Therefore the absence of prior declarations is safe."
 -config=MC3R1.R8.4,reports+={safe, "first_area(any_loc(file(gcov)))"}
 -doc_end
 
+-doc_begin="Recognize the occurrence of current_stack_pointer as a declaration."
+-file_tag+={asm_defns, "^xen/arch/x86/include/asm/asm_defns\\.h$"}
+-config=MC3R1.R8.4,declarations+={safe, "loc(file(asm_defns))&&^current_stack_pointer$"}
+-doc_end
+
+-doc_begin="asmlinkage is a marker to indicate that the function is only used to interface with asm modules."
+-config=MC3R1.R8.4,declarations+={safe,"loc(text(^(?s).*asmlinkage.*$, -1..0))"}
+-doc_end
+
 -doc_begin="The following variables are compiled in multiple translation units
 belonging to different executables and therefore are safe."
 -config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 8511a189253b..d468da2f5ce9 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -133,6 +133,12 @@ Deviations related to MISRA C:2012 Rules:
        configuration. Therefore, the absence of prior declarations is safe.
      - Tagged as `safe` for ECLAIR.
 
+   * - R8.4
+     - Functions and variables used only by asm modules are either marked with
+       the `asmlinkage` macro or with a SAF-1-safe textual deviation
+       (see safe.json).
+     - Tagged as `safe` for ECLAIR.
+
    * - R8.6
      - The following variables are compiled in multiple translation units
        belonging to different executables and therefore are safe.
diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c
index 192e17ebbfbb..4805c5567213 100644
--- a/xen/arch/x86/hvm/svm/intr.c
+++ b/xen/arch/x86/hvm/svm/intr.c
@@ -123,7 +123,7 @@ static void svm_enable_intr_window(struct vcpu *v, struct hvm_intack intack)
         vmcb, general1_intercepts | GENERAL1_INTERCEPT_VINTR);
 }
 
-void svm_intr_assist(void)
+void asmlinkage svm_intr_assist(void)
 {
     struct vcpu *v = current;
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index a09b6abaaeaf..fc7658d67d4e 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -1441,7 +1441,7 @@ nestedsvm_vcpu_vmexit(struct vcpu *v, struct cpu_user_regs *regs,
 }
 
 /* VCPU switch */
-void nsvm_vcpu_switch(void)
+void asmlinkage nsvm_vcpu_switch(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
     struct vcpu *v = current;
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 24c417ca7199..cb8abe7a0066 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -1056,7 +1056,7 @@ static void noreturn cf_check svm_do_resume(void)
     reset_stack_and_jump(svm_asm_do_resume);
 }
 
-void svm_vmenter_helper(void)
+void asmlinkage svm_vmenter_helper(void)
 {
     const struct cpu_user_regs *regs = guest_cpu_user_regs();
     struct vcpu *curr = current;
@@ -2586,7 +2586,7 @@ const struct hvm_function_table * __init start_svm(void)
     return &svm_function_table;
 }
 
-void svm_vmexit_handler(void)
+void asmlinkage svm_vmexit_handler(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
     uint64_t exit_reason;
diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
index fd719c4c01d2..8beeaab1517b 100644
--- a/xen/arch/x86/hvm/vmx/intr.c
+++ b/xen/arch/x86/hvm/vmx/intr.c
@@ -224,7 +224,7 @@ void vmx_sync_exit_bitmap(struct vcpu *v)
     }
 }
 
-void vmx_intr_assist(void)
+void asmlinkage vmx_intr_assist(void)
 {
     struct hvm_intack intack;
     struct vcpu *v = current;
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 1edc7f1e919f..f5739b3aa5a1 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4035,7 +4035,7 @@ static void undo_nmis_unblocked_by_iret(void)
               guest_info | VMX_INTR_SHADOW_NMI);
 }
 
-void vmx_vmexit_handler(struct cpu_user_regs *regs)
+void asmlinkage vmx_vmexit_handler(struct cpu_user_regs *regs)
 {
     unsigned long exit_qualification, exit_reason, idtv_info, intr_info = 0;
     unsigned int vector = 0;
@@ -4787,7 +4787,7 @@ static void lbr_fixup(void)
 }
 
 /* Returns false if the vmentry has to be restarted */
-bool vmx_vmenter_helper(const struct cpu_user_regs *regs)
+bool asmlinkage vmx_vmenter_helper(const struct cpu_user_regs *regs)
 {
     struct vcpu *curr = current;
     struct domain *currd = curr->domain;
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 16b0ef82b6c8..a28803987af6 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1490,7 +1490,7 @@ static void nvmx_eptp_update(void)
     __vmwrite(EPT_POINTER, get_shadow_eptp(curr));
 }
 
-void nvmx_switch_guest(void)
+void asmlinkage nvmx_switch_guest(void)
 {
     struct vcpu *v = current;
     struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e1356f696aba..6393467b06fd 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -2265,7 +2265,7 @@ void asm_domain_crash_synchronous(unsigned long addr)
 }
 
 #ifdef CONFIG_DEBUG
-void check_ist_exit(const struct cpu_user_regs *regs, bool ist_exit)
+void asmlinkage check_ist_exit(const struct cpu_user_regs *regs, bool ist_exit)
 {
     const unsigned int ist_mask =
         (1U << X86_EXC_NMI) | (1U << X86_EXC_DB) |
diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
index e03e80813e36..668605e5bc67 100644
--- a/xen/arch/x86/x86_64/traps.c
+++ b/xen/arch/x86/x86_64/traps.c
@@ -266,7 +266,7 @@ void show_page_walk(unsigned long addr)
            l1_table_offset(addr), l1e_get_intpte(l1e), pfn);
 }
 
-void do_double_fault(struct cpu_user_regs *regs)
+void asmlinkage do_double_fault(struct cpu_user_regs *regs)
 {
     unsigned int cpu;
     unsigned long crs[8];
diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index dd99e573083f..94e2d6080d93 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -159,6 +159,11 @@
 # define ASM_FLAG_OUT(yes, no) no
 #endif
 
+/* Mark a function or variable as being used only to interface with asm */
+#ifndef asmlinkage
+#define asmlinkage
+#endif
+
 /*
  * NB: we need to disable the gcc-compat warnings for clang in some places or
  * else it will complain with: "'break' is bound to loop, GCC binds it to
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:30:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626200.976249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Yt-0001PR-Uy; Wed, 01 Nov 2023 09:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626200.976249; Wed, 01 Nov 2023 09:30: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 1qy7Yt-0001PB-RJ; Wed, 01 Nov 2023 09:30:55 +0000
Received: by outflank-mailman (input) for mailman id 626200;
 Wed, 01 Nov 2023 09:30: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7Ys-0001Kz-1B
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:30:54 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 58d75931-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:30:51 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 62FDD4EE0C87;
 Wed,  1 Nov 2023 10:30:50 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58d75931-7899-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH][for-4.19 v6 4/8] x86/grant: switch included header to make declarations visible
Date: Wed,  1 Nov 2023 10:30:33 +0100
Message-Id: <524f9099bfb0571f9c99fd024b833e9ab7360339.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The declarations for {create,replace}_grant_p2m_mapping are
not visible when these functions are defined, therefore the right
header needs to be included to allow them to be visible.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v3:
- asm/paging.h can be replaced with mm-frame.h, because just the
  definition of mfn_t is needed.
---
 xen/arch/x86/hvm/grant_table.c             | 3 +--
 xen/arch/x86/include/asm/hvm/grant_table.h | 2 ++
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/hvm/grant_table.c b/xen/arch/x86/hvm/grant_table.c
index 30d51d54a949..afe449d8882c 100644
--- a/xen/arch/x86/hvm/grant_table.c
+++ b/xen/arch/x86/hvm/grant_table.c
@@ -9,8 +9,7 @@
 
 #include <xen/types.h>
 
-#include <public/grant_table.h>
-
+#include <asm/hvm/grant_table.h>
 #include <asm/p2m.h>
 
 int create_grant_p2m_mapping(uint64_t addr, mfn_t frame,
diff --git a/xen/arch/x86/include/asm/hvm/grant_table.h b/xen/arch/x86/include/asm/hvm/grant_table.h
index 33c1da1a25f3..01e23f79b8cf 100644
--- a/xen/arch/x86/include/asm/hvm/grant_table.h
+++ b/xen/arch/x86/include/asm/hvm/grant_table.h
@@ -10,6 +10,8 @@
 #ifndef __X86_HVM_GRANT_TABLE_H__
 #define __X86_HVM_GRANT_TABLE_H__
 
+#include <xen/mm-frame.h>
+
 #ifdef CONFIG_HVM
 
 int create_grant_p2m_mapping(uint64_t addr, mfn_t frame,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:30:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626201.976254 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Yu-0001SQ-9S; Wed, 01 Nov 2023 09:30:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626201.976254; Wed, 01 Nov 2023 09:30: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 1qy7Yu-0001Rn-3V; Wed, 01 Nov 2023 09:30:56 +0000
Received: by outflank-mailman (input) for mailman id 626201;
 Wed, 01 Nov 2023 09:30: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7Yt-0001Kz-Dv
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:30:55 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a034ee4-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:30:53 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id E6D764EE0C88;
 Wed,  1 Nov 2023 10:30:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a034ee4-7899-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH][for-4.19 v6 5/8] x86/vm_event: add missing include for hvm_vm_event_do_resume
Date: Wed,  1 Nov 2023 10:30:34 +0100
Message-Id: <f6fdcc2dc5c2d1262cc2a51dd5506eab1d70759c.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The missing header makes the declaration visible when the function
is defined, thereby fixing a violation of MISRA C:2012 Rule 8.4.

Fixes: 1366a0e76db6 ("x86/vm_event: add hvm/vm_event.{h,c}")
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
---
 xen/arch/x86/hvm/vm_event.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/hvm/vm_event.c b/xen/arch/x86/hvm/vm_event.c
index 3b064bcfade5..c1af230e7aed 100644
--- a/xen/arch/x86/hvm/vm_event.c
+++ b/xen/arch/x86/hvm/vm_event.c
@@ -24,6 +24,7 @@
 #include <xen/vm_event.h>
 #include <asm/hvm/emulate.h>
 #include <asm/hvm/support.h>
+#include <asm/hvm/vm_event.h>
 #include <asm/vm_event.h>
 
 static void hvm_vm_event_set_registers(const struct vcpu *v)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:30:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:30:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626202.976269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Yw-0001y7-GX; Wed, 01 Nov 2023 09:30:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626202.976269; Wed, 01 Nov 2023 09:30: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 1qy7Yw-0001xp-CY; Wed, 01 Nov 2023 09:30:58 +0000
Received: by outflank-mailman (input) for mailman id 626202;
 Wed, 01 Nov 2023 09:30: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7Yv-0001Kz-99
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:30:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5b0b121e-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:30:54 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id D93D64EE0C89;
 Wed,  1 Nov 2023 10:30:53 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b0b121e-7899-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH][for-4.19 v6 6/8] xen/console: remove stub definition in consoled.h
Date: Wed,  1 Nov 2023 10:30:35 +0100
Message-Id: <b33557ce1092f9f70e0b8b1476ebdbccdcd86979.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The stub  definition of 'consoled_guest_tx' can be removed, since its
its single caller uses the implementation built with PV_SHIM enabled.

Fixes: 5ef49f185c2d ("x86/pv-shim: shadow PV console's page for L2 DomU")
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 xen/include/xen/consoled.h | 7 -------
 1 file changed, 7 deletions(-)

diff --git a/xen/include/xen/consoled.h b/xen/include/xen/consoled.h
index fd5d220a8aca..2b30516b3a0a 100644
--- a/xen/include/xen/consoled.h
+++ b/xen/include/xen/consoled.h
@@ -3,18 +3,11 @@
 
 #include <public/io/console.h>
 
-#ifdef CONFIG_PV_SHIM
-
 void consoled_set_ring_addr(struct xencons_interface *ring);
 struct xencons_interface *consoled_get_ring_addr(void);
 size_t consoled_guest_rx(void);
 size_t consoled_guest_tx(char c);
 
-#else
-
-size_t consoled_guest_tx(char c) { return 0; }
-
-#endif /* !CONFIG_PV_SHIM */
 #endif /* __XEN_CONSOLED_H__ */
 /*
  * Local variables:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:31:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:31:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626203.976279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Yy-0002L2-Rg; Wed, 01 Nov 2023 09:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626203.976279; Wed, 01 Nov 2023 09:31: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 1qy7Yy-0002Kj-Mp; Wed, 01 Nov 2023 09:31:00 +0000
Received: by outflank-mailman (input) for mailman id 626203;
 Wed, 01 Nov 2023 09:30: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7Yx-0001Kz-66
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:30:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c3404db-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:30:56 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 9A6E74EE0C8A;
 Wed,  1 Nov 2023 10:30:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c3404db-7899-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH][for-4.19 v6 7/8] x86/mem_access: make function static
Date: Wed,  1 Nov 2023 10:30:36 +0100
Message-Id: <30379a59fc84ad3eb9db0fd235da8034479d3417.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The function is used only within this file, and therefore can be static.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
---
Changes in v3:
- style fix
---
 xen/arch/x86/mm/mem_access.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/mm/mem_access.c b/xen/arch/x86/mm/mem_access.c
index 3449e0ee85ff..60a0cce68aa3 100644
--- a/xen/arch/x86/mm/mem_access.c
+++ b/xen/arch/x86/mm/mem_access.c
@@ -249,9 +249,9 @@ bool p2m_mem_access_check(paddr_t gpa, unsigned long gla,
     return (p2ma != p2m_access_n2rwx);
 }
 
-int p2m_set_altp2m_mem_access(struct domain *d, struct p2m_domain *hp2m,
-                              struct p2m_domain *ap2m, p2m_access_t a,
-                              gfn_t gfn)
+static int p2m_set_altp2m_mem_access(struct domain *d, struct p2m_domain *hp2m,
+                                     struct p2m_domain *ap2m, p2m_access_t a,
+                                     gfn_t gfn)
 {
     mfn_t mfn;
     p2m_type_t t;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:31:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:31:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626205.976288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7Z0-0002db-Am; Wed, 01 Nov 2023 09:31:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626205.976288; Wed, 01 Nov 2023 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 1qy7Z0-0002cv-2u; Wed, 01 Nov 2023 09:31:02 +0000
Received: by outflank-mailman (input) for mailman id 626205;
 Wed, 01 Nov 2023 09:31: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7Yy-0001Kz-Ph
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:31:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d2cbf58-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:30:58 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 8BFF94EE0744;
 Wed,  1 Nov 2023 10:30:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d2cbf58-7899-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH][for-4.19 v6 8/8] docs/misra: exclude three more files
Date: Wed,  1 Nov 2023 10:30:37 +0100
Message-Id: <d5f602e74c3db39b396c525aa1ae4c6c7f283a9f.1698829473.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These files should not conform to MISRA guidelines at the moment,
therefore they are added to the exclusion list.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
These exclusions are automatically picked up by ECLAIR's automation
to hide reports originating from these files.

Changes in v4:
- Fixed typo
---
 docs/misra/exclude-list.json | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
index 575ed22a7f67..b858a0baa106 100644
--- a/docs/misra/exclude-list.json
+++ b/docs/misra/exclude-list.json
@@ -145,6 +145,10 @@
             "rel_path": "common/zstd/*",
             "comment": "Imported from Linux, ignore for now"
         },
+        {
+            "rel_path": "common/symbols-dummy.c",
+            "comment": "The resulting code is not included in the final Xen binary, ignore for now"
+        },
         {
             "rel_path": "crypto/*",
             "comment": "Origin is external and documented in crypto/README.source"
@@ -189,6 +193,14 @@
             "rel_path": "include/acpi/acpixf.h",
             "comment": "Imported from Linux, ignore for now"
         },
+        {
+          "rel_path": "include/acpi/acexcep.h",
+          "comment": "Imported from Linux, ignore for now"
+        },
+        {
+          "rel_path": "include/acpi/acglobal.h",
+          "comment": "Imported from Linux, ignore for now"
+        },
         {
             "rel_path": "include/xen/acpi.h",
             "comment": "Imported from Linux, ignore for now"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:32:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:32:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626224.976299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7al-0005EQ-Nj; Wed, 01 Nov 2023 09:32:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626224.976299; Wed, 01 Nov 2023 09: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 1qy7al-0005EJ-Kw; Wed, 01 Nov 2023 09:32:51 +0000
Received: by outflank-mailman (input) for mailman id 626224;
 Wed, 01 Nov 2023 09:32: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=QJn5=GO=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qy7ak-0005E0-IC
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:32:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f8234f4-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:32:49 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 66D9A4EE0741;
 Wed,  1 Nov 2023 10:32:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f8234f4-7899-11ee-98d6-6d05b1d4d9a1
MIME-Version: 1.0
Date: Wed, 01 Nov 2023 10:32:49 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, Jun
 Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, Tamas
 K Lengyel <tamas@tklengyel.com>, Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: Re: [XEN PATCH][for-4.19 v6 0/8] Fix or deviate various instances of
 missing declarations
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
Message-ID: <5f196a27a1b188db5bea4f5fad381033@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-01 10:15, Nicola Vetrini wrote:
> The patches in this series aim to fix or deviate various instances 
> where a
> function or variable do not have a declaration visible when such entity 
> is
> defined (in violation of MISRA C:2012 Rule 8.4).
> An exception listed under docs/misra/rules.rst allows asm-only 
> functions and
> variables to be exempted, while the other instances are either changed
> (e.g., making them static) or a missing header inclusion is added.
> 
> Nicola Vetrini (8):
>   xen: modify or add declarations for variables where needed
>   x86: add deviation for asm-only functions
>   x86: add asmlinkage macro to variables only used in asm code
>   x86/grant: switch included header to make declarations visible
>   x86/vm_event: add missing include for hvm_vm_event_do_resume
>   xen/console: remove stub definition in consoled.h
>   x86/mem_access: make function static
>   docs/misra: exclude three more files
> 
>  automation/eclair_analysis/ECLAIR/deviations.ecl |  9 +++++++++
>  docs/misra/deviations.rst                        |  6 ++++++
>  docs/misra/exclude-list.json                     | 12 ++++++++++++
>  xen/arch/arm/include/asm/setup.h                 |  3 +++
>  xen/arch/arm/include/asm/smp.h                   |  3 +++
>  xen/arch/arm/platform_hypercall.c                |  2 +-
>  xen/arch/x86/cpu/mcheck/mce.c                    |  7 ++++---
>  xen/arch/x86/hvm/grant_table.c                   |  3 +--
>  xen/arch/x86/hvm/svm/intr.c                      |  2 +-
>  xen/arch/x86/hvm/svm/nestedsvm.c                 |  2 +-
>  xen/arch/x86/hvm/svm/svm.c                       |  4 ++--
>  xen/arch/x86/hvm/vm_event.c                      |  1 +
>  xen/arch/x86/hvm/vmx/intr.c                      |  2 +-
>  xen/arch/x86/hvm/vmx/vmx.c                       |  4 ++--
>  xen/arch/x86/hvm/vmx/vvmx.c                      |  2 +-
>  xen/arch/x86/include/asm/hvm/grant_table.h       |  2 ++
>  xen/arch/x86/irq.c                               |  2 +-
>  xen/arch/x86/mm/mem_access.c                     |  6 +++---
>  xen/arch/x86/setup.c                             |  8 +++++---
>  xen/arch/x86/traps.c                             |  2 +-
>  xen/arch/x86/x86_64/traps.c                      |  2 +-
>  xen/include/xen/compiler.h                       |  5 +++++
>  xen/include/xen/consoled.h                       |  7 -------
>  xen/include/xen/symbols.h                        |  1 +
>  24 files changed, 67 insertions(+), 30 deletions(-)

Please ignore this email; the patch series v6 has been sent fully in a 
different email

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:33:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:33:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626227.976308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7bR-0005sa-0z; Wed, 01 Nov 2023 09:33:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626227.976308; Wed, 01 Nov 2023 09: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 1qy7bQ-0005sT-Uo; Wed, 01 Nov 2023 09:33:32 +0000
Received: by outflank-mailman (input) for mailman id 626227;
 Wed, 01 Nov 2023 09:33: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7bP-0005sN-JY
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:33:31 +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 b72cf1d2-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:33:29 +0100 (CET)
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 E7C5A21846;
 Wed,  1 Nov 2023 09:33: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 B23F713460;
 Wed,  1 Nov 2023 09:33:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id p5fmKWgbQmWXCAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:33: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: b72cf1d2-7899-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831208; 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=N4aL5QrzCM57AYkQNt/qmawwf/09AoMlJ0aX++1dujc=;
	b=IWGuxDDP5P8GGJxSLkfENxEEPBpMuaYIg69rLKtFrOYvNXggpLoMxUUb7YSSriA46ZzA20
	HcqVwNQKrKPhnKh43UeQxVZxAvAxIo47BiUhrl8veWqMgO4DQQ6gOlna9Pjsms/wEXeLPJ
	9IhNa9r5c6NOBQX38IHTG5N9j0aoSHE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH 00/29] tools: enable xenstore-stubdom to use 9pfs
Date: Wed,  1 Nov 2023 10:32:56 +0100
Message-Id: <20231101093325.30302-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series is adding 9pfs support to Xenstore-stubdom, enabling it
to do logging to a dom0 directory.

This is a prerequisite for the final goal to add live update support
to Xenstore-stubdom, as it enables the stubdom to store its state in
a dom0 file.

The 9pfs backend is a new daemon written from scratch. Using a
dedicated 9pfs daemon has several advantages:

- it is using much less resources than a full blown qemu process
- it can serve multiple guests (the idea is to use it for other
  infrastructure domains, like qemu-stubdom or driver domains, too)
- it is designed to support several security enhancements, like
  limiting the number of files for a guest, or limiting the allocated
  file system space
- it doesn't support file links (neither hard nor soft links) or
  referencing parent directories via "..", minimizing the risk that
  a guest can "escape" from its home directory

Note that for now the daemon only contains the minimal needed
functionality to do logging from Xenstore-stubdom. I didn't want to
add all the 9pfs commands and security add-ons in the beginning, in
order to avoid needless efforts in case the idea of the daemon is
being rejected.

Note that the series can only be committed after the related Mini-OS
series [1] has gone in.

[1]: https://lists.xen.org/archives/html/xen-devel/2023-11/threads.html#00010


Juergen Gross (29):
  xen/public: add some more 9pfs xenstore paths
  tools: add a new xen logging daemon
  tools/xenlogd: connect to frontend
  tools/xenlogd: add transport layer
  tools/xenlogd: add 9pfs response generation support
  tools/xenlogd: add 9pfs version request support
  tools/xenlogd: add 9pfs attach request support
  tools/xenlogd: add 9pfs walk request support
  tools/xenlogd: add 9pfs open request support
  tools/xenlogd: add 9pfs clunk request support
  tools/xenlogd: add 9pfs create request support
  tools/xenlogd: add 9pfs stat request support
  tools/xenlogd: add 9pfs write request support
  tools/xenlogd: add 9pfs read request support
  tools/libs/light: add backend type for 9pfs PV devices
  tools/xl: support new 9pfs backend xenlogd
  tools/helpers: allocate xenstore event channel for xenstore stubdom
  tools/xenstored: rename xenbus_evtchn()
  stubdom: extend xenstore stubdom configs
  tools: add 9pfs device to xenstore-stubdom
  tools: tell xenstore-stubdom its own domid
  tools/xenstored:
  tools/xenstored: split domain_init()
  tools/xenstored: map stubdom interface
  tools/xenstored: mount 9pfs device in stubdom
  tools/xenstored: add helpers for filename handling
  tools/xenstored: add daemon_init() function
  tools/xenstored: support complete log capabilities in stubdom
  tools/xenstored: have a single do_control_memreport()

 docs/man/xl.cfg.5.pod.in                  |   36 +-
 stubdom/xenstore-minios.cfg               |    2 +-
 stubdom/xenstorepvh-minios.cfg            |    2 +-
 tools/Makefile                            |    1 +
 tools/helpers/init-xenstore-domain.c      |   13 +-
 tools/hotplug/Linux/launch-xenstore.in    |    1 +
 tools/include/libxl.h                     |   17 +
 tools/include/xen-tools/common-macros.h   |    4 +
 tools/libs/light/libxl_9pfs.c             |  172 ++-
 tools/libs/light/libxl_create.c           |    4 +-
 tools/libs/light/libxl_dm.c               |    2 +-
 tools/libs/light/libxl_types.idl          |   11 +
 tools/libs/light/libxl_types_internal.idl |    1 +
 tools/xenlogd/.gitignore                  |    1 +
 tools/xenlogd/Makefile                    |   38 +
 tools/xenlogd/io.c                        | 1337 +++++++++++++++++++++
 tools/xenlogd/xenlogd.c                   |  715 +++++++++++
 tools/xenlogd/xenlogd.h                   |   85 ++
 tools/xenstored/control.c                 |   29 +-
 tools/xenstored/core.c                    |   28 +-
 tools/xenstored/core.h                    |   12 +-
 tools/xenstored/domain.c                  |   72 +-
 tools/xenstored/domain.h                  |    2 +
 tools/xenstored/lu_daemon.c               |    4 +-
 tools/xenstored/minios.c                  |   49 +-
 tools/xenstored/posix.c                   |   18 +-
 tools/xl/xl_parse.c                       |   35 +
 xen/include/public/io/9pfs.h              |   34 +
 28 files changed, 2655 insertions(+), 70 deletions(-)
 create mode 100644 tools/xenlogd/.gitignore
 create mode 100644 tools/xenlogd/Makefile
 create mode 100644 tools/xenlogd/io.c
 create mode 100644 tools/xenlogd/xenlogd.c
 create mode 100644 tools/xenlogd/xenlogd.h

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:33:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:33:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626228.976319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7bV-0006C0-CB; Wed, 01 Nov 2023 09:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626228.976319; Wed, 01 Nov 2023 09:33: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 1qy7bV-0006Bt-9O; Wed, 01 Nov 2023 09:33:37 +0000
Received: by outflank-mailman (input) for mailman id 626228;
 Wed, 01 Nov 2023 09:33: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7bT-0005E0-9T
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:33:35 +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 ba4e3bae-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:33:34 +0100 (CET)
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 6F5481F74A;
 Wed,  1 Nov 2023 09:33: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 5593113460;
 Wed,  1 Nov 2023 09:33:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HrKPE24bQmWgCAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:33: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: ba4e3bae-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831214; 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=KX1+eDPCalxeEFEgNKEP+cxmDRb/81lwwxJPAyo97p8=;
	b=WSXsFID7DYLhmnxGXvKweUBY3i7yGXby1zTK3AGZr86Zo8taPPKPldaKwHeQsyU4nOxmrc
	+reDoRvzVt0rgkQer482r4vayPWu+gbIDirL4jJS7YCNHE951FOyqSL+M6FtdfrJWfS7Qz
	Q+IztHn/l618cpy1VAGAJKOTxte2xLY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>
Subject: [PATCH 01/29] xen/public: add some more 9pfs xenstore paths
Date: Wed,  1 Nov 2023 10:32:57 +0100
Message-Id: <20231101093325.30302-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add some optional additional backend paths for 9pfs PV devices. Those
paths will be supported by the new xenlogd 9pfs backend.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/include/public/io/9pfs.h | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/xen/include/public/io/9pfs.h b/xen/include/public/io/9pfs.h
index 9ad2773082..ac4bf0434b 100644
--- a/xen/include/public/io/9pfs.h
+++ b/xen/include/public/io/9pfs.h
@@ -71,6 +71,40 @@
  *                 created on the guest (no user ownership squash or remap)
  *         Only "none" is supported in this version of the protocol.
  *
+ *    max-files
+ *         Values:        <uint32_t>
+ *
+ *         The maximum number of files (including directories) allowed for
+ *         this device. Backend support of this node is optional. If the node
+ *         is not present or the value is zero the number of files is not
+ *         limited.
+ *
+ *    max-open-files
+ *         Values:        <uint32_t>
+ *
+ *         The maximum number of files the guest is allowed to have opened
+ *         concurrently. Multiple concurrent opens of the same file are counted
+ *         individually. Backend support of this node is optional. If the node
+ *         is not present or the value is zero a backend specific default is
+ *         applied.
+ *
+ *    max-space
+ *         Values:        <uint32_t>
+ *
+ *         The maximum file space in MiBs the guest is allowed to use for this
+ *         device. Backend support of this node is optional. If the node is
+ *         not present or the value is zero the space is not limited.
+ *
+ *    auto-delete
+ *         Values:        <bool>
+ *
+ *         When set to "1" the backend will delete the file with the oldest
+ *         modification date below <path> in case the allowed maximum file
+ *         space (see <max-space>) or file number (see <max-files>) is being
+ *         exceeded due to guest activity (creation or extension of files).
+ *         Files currently opened by the guest won't be deleted. Backend
+ *         support of this node is optional.
+ *
  ******************************************************************************
  *                            Frontend XenBus Nodes
  ******************************************************************************
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:33:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:33:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626237.976329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7ba-0006Z0-K8; Wed, 01 Nov 2023 09:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626237.976329; Wed, 01 Nov 2023 09:33: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 1qy7ba-0006Yr-HP; Wed, 01 Nov 2023 09:33:42 +0000
Received: by outflank-mailman (input) for mailman id 626237;
 Wed, 01 Nov 2023 09:33: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7bZ-0005sN-W9
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:33:41 +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 bd92e289-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:33:40 +0100 (CET)
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 063D921835;
 Wed,  1 Nov 2023 09:33: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 D607413460;
 Wed,  1 Nov 2023 09:33:39 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ttESM3MbQmWpCAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:33: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: bd92e289-7899-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831220; 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=6PS/B4Q2Vo5wSif1LySkXXDYKmcLHmew3UeAfGM1754=;
	b=LahJQ7AYFfYHpbMQyR4BIp13vK/OpGZ8Yv3ohtloNscXyy1IAs59lN10gBGxq09bfHFQ1C
	cyozIzBuGI6kDb22YkYc5Mkes7IIbdlokshXUgy5d9z9vnyK80rjXGt82skhYoBCY7HjV4
	PB/PublIvSGlwhkrpKGrX2/Hx7oHqp0=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 02/29] tools: add a new xen logging daemon
Date: Wed,  1 Nov 2023 10:32:58 +0100
Message-Id: <20231101093325.30302-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add "xenlogd", a new logging daemon meant to support infrastructure
domains (e.g. xenstore-stubdom) to write log files in dom0.

For now only add the code needed for starting the daemon and
registering it with Xenstore via a new "/tool/xenlog/state" node by
writing the "running" state to it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/Makefile           |   1 +
 tools/xenlogd/.gitignore |   1 +
 tools/xenlogd/Makefile   |  38 ++++++++++
 tools/xenlogd/xenlogd.c  | 145 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 185 insertions(+)
 create mode 100644 tools/xenlogd/.gitignore
 create mode 100644 tools/xenlogd/Makefile
 create mode 100644 tools/xenlogd/xenlogd.c

diff --git a/tools/Makefile b/tools/Makefile
index 3a510663a0..0225020416 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -32,6 +32,7 @@ SUBDIRS-y += xenpmd
 SUBDIRS-$(CONFIG_GOLANG) += golang
 SUBDIRS-y += xl
 SUBDIRS-y += helpers
+SUBDIRS-y += xenlogd
 SUBDIRS-$(CONFIG_X86) += xenpaging
 SUBDIRS-$(CONFIG_X86) += debugger
 SUBDIRS-$(CONFIG_TESTS) += tests
diff --git a/tools/xenlogd/.gitignore b/tools/xenlogd/.gitignore
new file mode 100644
index 0000000000..a0305ae096
--- /dev/null
+++ b/tools/xenlogd/.gitignore
@@ -0,0 +1 @@
+/xenlogd
diff --git a/tools/xenlogd/Makefile b/tools/xenlogd/Makefile
new file mode 100644
index 0000000000..550e914f59
--- /dev/null
+++ b/tools/xenlogd/Makefile
@@ -0,0 +1,38 @@
+#
+# tools/helpers/Makefile
+#
+
+XEN_ROOT = $(CURDIR)/../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+CFLAGS += $(PTHREAD_CFLAGS)
+LDFLAGS += $(PTHREAD_LDFLAGS)
+
+TARGETS := xenlogd
+
+XENLOGD_OBJS = xenlogd.o
+$(XENLOGD_OBJS): CFLAGS += $(CFLAGS_libxenstore)
+$(XENLOGD_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
+$(XENLOGD_OBJS): CFLAGS += $(CFLAGS_libxengnttab)
+xenlogd: LDLIBS += $(call xenlibs-ldlibs,store evtchn gnttab)
+
+.PHONY: all
+all: $(TARGETS)
+
+xenlogd: $(XENLOGD_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $(XENLOGD_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
+
+.PHONY: install
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+	for i in $(TARGETS); do $(INSTALL_PROG) $$i $(DESTDIR)$(LIBEXEC_BIN); done
+
+.PHONY: uninstall
+uninstall:
+	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
+
+.PHONY: clean
+clean:
+	$(RM) *.o $(TARGETS) $(DEPS_RM)
+
+distclean: clean
diff --git a/tools/xenlogd/xenlogd.c b/tools/xenlogd/xenlogd.c
new file mode 100644
index 0000000000..792d1026a3
--- /dev/null
+++ b/tools/xenlogd/xenlogd.c
@@ -0,0 +1,145 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+/*
+ * xenlogd - Xen logging daemon
+ *
+ * Copyright (C) 2023 Juergen Gross <jgross@suse.com>
+ *
+ * Daemon to enable guests to access a directory of the dom0 file system.
+ * Access is made via the 9pfs protocol (xenlogd acts as a PV 9pfs backend).
+ *
+ * Usage: xenlogd
+ *
+ * xenlogd does NOT support writing any links (neither soft links nor hard
+ * links), and it is accepting only canonicalized file paths in order to
+ * avoid the possibility to "escape" from the guest specific directory.
+ *
+ * The backend device string is "xen_9pfs", the tag used for mounting the
+ * 9pfs device is "Xen".
+ *
+ * As an additional security measure the maximum file space used by the guest
+ * can be limited by the backend Xenstore node "max-size" specifying the size
+ * in MBytes. This size includes the size of the root directory of the guest.
+ */
+
+#include <err.h>
+#include <errno.h>
+#include <signal.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <xenevtchn.h>
+#include <xengnttab.h>
+#include <xenstore.h>
+
+static bool stop_me;
+static bool daemon_running;
+static struct xs_handle *xs;
+static xengnttab_handle *xg;
+static xenevtchn_handle *xe;
+
+static void handle_stop(int sig)
+{
+    stop_me = true;
+}
+
+static void close_all(void)
+{
+    if ( daemon_running )
+        xs_rm(xs, XBT_NULL, "/tool/xenlog");
+    if ( xe )
+        xenevtchn_close(xe);
+    if ( xg )
+        xengnttab_close(xg);
+    if ( xs )
+        xs_close(xs);
+    closelog();
+}
+
+static void do_err(const char *msg)
+{
+    syslog(LOG_ALERT, "%s, errno = %d", msg, errno);
+    close_all();
+    exit(1);
+}
+
+static void xen_connect(void)
+{
+    xs_transaction_t t;
+    char *val;
+    unsigned int len;
+
+    xs = xs_open(0);
+    if ( xs == NULL )
+        do_err("xs_open() failed");
+
+    xg = xengnttab_open(NULL, 0);
+    if ( xg == NULL )
+        do_err("xengnttab_open() failed");
+
+    xe = xenevtchn_open(NULL, 0);
+    if ( xe == NULL )
+        do_err("xenevtchn_open() failed");
+
+    while ( true )
+    {
+        t = xs_transaction_start(xs);
+        if ( t == XBT_NULL )
+            do_err("xs_transaction_start() failed");
+
+        val = xs_read(xs, t, "/tool/xenlog/state", &len);
+        if ( val )
+        {
+            free(val);
+            xs_transaction_end(xs, t, true);
+            do_err("daemon already running");
+        }
+
+        if ( !xs_write(xs, t, "/tool/xenlog/state", "running",
+                       strlen("running")) )
+        {
+            xs_transaction_end(xs, t, true);
+            do_err("xs_write() failed writing state");
+        }
+
+        if ( xs_transaction_end(xs, t, false) )
+            break;
+        if ( errno != EAGAIN )
+            do_err("xs_transaction_end() failed");
+    }
+
+    daemon_running = true;
+}
+
+int main(int argc, char *argv[])
+{
+    struct sigaction act = { .sa_handler = handle_stop, };
+    int syslog_mask = LOG_MASK(LOG_WARNING) | LOG_MASK(LOG_ERR) |
+                      LOG_MASK(LOG_CRIT) | LOG_MASK(LOG_ALERT) |
+                      LOG_MASK(LOG_EMERG);
+
+    umask(027);
+    if ( getenv("XENLOGD_VERBOSE") )
+        syslog_mask |= LOG_MASK(LOG_NOTICE) | LOG_MASK(LOG_INFO);
+    openlog("xenlogd", LOG_CONS, LOG_DAEMON);
+    setlogmask(syslog_mask);
+
+    sigemptyset(&act.sa_mask);
+    sigaction(SIGHUP, &act, NULL);
+
+    xen_connect();
+
+    while ( !stop_me )
+    {
+        sleep(60);
+    }
+
+    close_all();
+
+    return 0;
+}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:33:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:33:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626239.976339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7bf-0006vt-Sg; Wed, 01 Nov 2023 09:33:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626239.976339; Wed, 01 Nov 2023 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 1qy7bf-0006vm-PF; Wed, 01 Nov 2023 09:33:47 +0000
Received: by outflank-mailman (input) for mailman id 626239;
 Wed, 01 Nov 2023 09:33: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7be-0005E0-Ty
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:33: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 c0fa375b-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:33:45 +0100 (CET)
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 9F8971F74A;
 Wed,  1 Nov 2023 09: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 6E73B13460;
 Wed,  1 Nov 2023 09:33:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id RtuLGXkbQmWvCAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:33: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: c0fa375b-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831225; 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=zFW/VVQvgTZ+SrJ4qsC1qy917Hvkbh1EVGyIT8Z0qbI=;
	b=olZzq8l+lY4WagEYglSvD4Y15X3o8GxtCbwHERZLihNRN4LtJ74VzjJfJvKVijMoWkdrgA
	T4Q63PGPKbuf25mZU3HoNV4oGEm4g4muhaykikOBLWQqrtKKpQfau9pDyB+JLOzLMkap1W
	WxWH6+q/p6aCE+XzfHi/KDdEKiMNiR8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 03/29] tools/xenlogd: connect to frontend
Date: Wed,  1 Nov 2023 10:32:59 +0100
Message-Id: <20231101093325.30302-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add the code for connecting to frontends to xenlogd.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/Makefile  |   2 +-
 tools/xenlogd/io.c      |  45 ++++
 tools/xenlogd/xenlogd.c | 575 +++++++++++++++++++++++++++++++++++++++-
 tools/xenlogd/xenlogd.h |  50 ++++
 4 files changed, 668 insertions(+), 4 deletions(-)
 create mode 100644 tools/xenlogd/io.c
 create mode 100644 tools/xenlogd/xenlogd.h

diff --git a/tools/xenlogd/Makefile b/tools/xenlogd/Makefile
index 550e914f59..0d44cd0e85 100644
--- a/tools/xenlogd/Makefile
+++ b/tools/xenlogd/Makefile
@@ -10,7 +10,7 @@ LDFLAGS += $(PTHREAD_LDFLAGS)
 
 TARGETS := xenlogd
 
-XENLOGD_OBJS = xenlogd.o
+XENLOGD_OBJS = xenlogd.o io.o
 $(XENLOGD_OBJS): CFLAGS += $(CFLAGS_libxenstore)
 $(XENLOGD_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
 $(XENLOGD_OBJS): CFLAGS += $(CFLAGS_libxengnttab)
diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
new file mode 100644
index 0000000000..ef0954d69d
--- /dev/null
+++ b/tools/xenlogd/io.c
@@ -0,0 +1,45 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+/*
+ * xenlogd - Xen logging daemon
+ *
+ * Copyright (C) 2023 Juergen Gross <jgross@suse.com>
+ *
+ * I/O thread handling.
+ */
+
+#include <stdbool.h>
+#include <string.h>
+#include <syslog.h>
+
+#include "xenlogd.h"
+
+static bool io_work_pending(device *device)
+{
+    if ( device->stop_thread )
+        return true;
+    return false;
+}
+
+void *io_thread(void *arg)
+{
+    device *device = arg;
+
+    while ( !device->stop_thread )
+    {
+        pthread_mutex_lock(&device->mutex);
+        if ( !io_work_pending(device) )
+        {
+            if ( xenevtchn_unmask(xe, device->evtchn) < 0 )
+                syslog(LOG_WARNING, "xenevtchn_unmask() failed");
+            pthread_cond_wait(&device->cond, &device->mutex);
+        }
+        pthread_mutex_unlock(&device->mutex);
+
+        /* TODO: I/O handling. */
+    }
+
+    device->thread_active = false;
+
+    return NULL;
+}
diff --git a/tools/xenlogd/xenlogd.c b/tools/xenlogd/xenlogd.c
index 792d1026a3..da0a09a122 100644
--- a/tools/xenlogd/xenlogd.c
+++ b/tools/xenlogd/xenlogd.c
@@ -24,34 +24,562 @@
 
 #include <err.h>
 #include <errno.h>
+#include <poll.h>
+#include <pthread.h>
 #include <signal.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <syslog.h>
+#include <sys/mman.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
-#include <xenevtchn.h>
 #include <xengnttab.h>
 #include <xenstore.h>
 
+#include "xenlogd.h"
+
+/*
+ * List of currently known devices.
+ * The list itself is modified only in the main thread. When a device is being
+ * removed its memory needs to be freed after the I/O thread (if existing)
+ * has stopped.
+ */
+static XEN_TAILQ_HEAD(devhead, device) devs = XEN_TAILQ_HEAD_INITIALIZER(devs);
+
+struct path {
+    char path[100];
+};
+
 static bool stop_me;
 static bool daemon_running;
 static struct xs_handle *xs;
 static xengnttab_handle *xg;
-static xenevtchn_handle *xe;
+static unsigned int now;
+
+xenevtchn_handle *xe;
 
 static void handle_stop(int sig)
 {
     stop_me = true;
 }
 
+static int check_host_path(device *device)
+{
+    struct stat statbuf;
+    char *path, *p;
+    int ret = 1;
+
+    if ( !device->host_path )
+        return 1;
+
+    if ( device->host_path[0] != '/' )
+        return 1;
+
+    path = strdup(device->host_path);
+    if ( !path )
+    {
+        syslog(LOG_CRIT, "memory allocation failure!");
+        return 1;
+    }
+
+    for ( p = path; p; )
+    {
+        p = strchr(p + 1, '/');
+        if ( p )
+            *p = 0;
+        if ( !stat(path, &statbuf) )
+        {
+            if ( !(statbuf.st_mode & S_IFDIR) )
+                break;
+            if ( !p )
+            {
+                ret = 0;
+                break;
+            }
+            *p = '/';
+            continue;
+        }
+        if ( mkdir(path, 0777) )
+            break;
+        if ( p )
+            *p = '/';
+    }
+
+    free(path);
+    return ret;
+}
+
+static void construct_frontend_path(device *device, const char *node,
+                                    struct path *p)
+{
+    snprintf(p->path, sizeof(p->path), "/local/domain/%u/device/9pfs/%u/%s",
+             device->domid, device->devid, node);
+}
+
+static void construct_backend_path(device *device, const char *node,
+                                   struct path *p)
+{
+    snprintf(p->path, sizeof(p->path), "backend/xen_9pfs/%u/%u/%s",
+             device->domid, device->devid, node);
+}
+
+static char *read_backend_node(device *device, const char *node)
+{
+    struct path p;
+    char *val;
+    unsigned int len;
+
+    construct_backend_path(device, node, &p);
+    val = xs_read(xs, XBT_NULL, p.path, &len);
+
+    return val;
+}
+
+static unsigned int uint_from_string(char *string, unsigned int def)
+{
+    unsigned long val;
+    char *end;
+
+    if ( !string )
+        return def;
+
+    val = strtoul(string, &end, 10);
+    if ( *end || val > UINT_MAX )
+        val = def;
+    free(string);
+
+    return val;
+}
+
+static unsigned int read_backend_node_uint(device *device, const char *node,
+                                           unsigned int def)
+{
+    return uint_from_string(read_backend_node(device, node), def);
+}
+
+static unsigned int read_frontend_node_uint(device *device, const char *node,
+                                            unsigned int def)
+{
+    struct path p;
+    unsigned int len;
+
+    construct_frontend_path(device, node, &p);
+
+    return uint_from_string(xs_read(xs, XBT_NULL, p.path, &len), def);
+}
+
+static int write_backend_node(device *device, const char *node, const char *val)
+{
+    struct path p;
+    struct xs_permissions perms[2] = {
+        { .id = 0, .perms = XS_PERM_NONE },
+        { .id = device->domid, .perms = XS_PERM_READ }
+    };
+
+    construct_backend_path(device, node, &p);
+    if ( !xs_write(xs, XBT_NULL, p.path, val, strlen(val)) )
+    {
+        syslog(LOG_ERR, "error writing bacḱend node \"%s\" for device %u/%u",
+               node, device->domid, device->devid);
+        return 1;
+    }
+
+    if ( !xs_set_permissions(xs, XBT_NULL, p.path, perms, 2) )
+    {
+        syslog(LOG_ERR, "error setting permissions for \"%s\"", p.path);
+        return 1;
+    }
+
+    return 0;
+}
+
+static int write_backend_state(device *device, enum xenbus_state state)
+{
+    struct path p;
+    char val[2];
+
+    snprintf(val, sizeof(val), "%u", state);
+    construct_backend_path(device, "state", &p);
+    if ( !xs_write(xs, XBT_NULL, p.path, val, 1) )
+    {
+        syslog(LOG_ERR, "error writing backend state %u for device %u/%u",
+               state, device->domid, device->devid);
+        return 1;
+    }
+
+    device->backend_state = state;
+
+    return 0;
+}
+
+static device *find_device(unsigned int domid, unsigned int devid)
+{
+    device *device;
+
+    XEN_TAILQ_FOREACH( device, &devs, list )
+    {
+        if ( domid == device->domid && devid == device->devid )
+            return device;
+    }
+
+    return NULL;
+}
+
+static void free_device(device *device)
+{
+    char token[20];
+    struct path p;
+
+    construct_frontend_path(device, "state", &p);
+    snprintf(token, sizeof(token), "%u/%u", device->domid, device->devid);
+    xs_unwatch(xs, p.path, token);
+
+    free(device->host_path);
+
+    pthread_mutex_destroy(&device->mutex);
+    pthread_cond_destroy(&device->cond);
+
+    free(device);
+}
+
+static device *new_device(unsigned int domid, unsigned int devid)
+{
+    device *device;
+    char token[20];
+    struct path p;
+    char *val;
+
+    device = calloc(1, sizeof(*device));
+    if ( !device )
+    {
+        syslog(LOG_CRIT, "Got no memory for new device %u/%u", domid, devid);
+        return NULL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+
+    construct_frontend_path(device, "state", &p);
+    snprintf(token, sizeof(token), "%u/%u", domid, devid);
+    if ( !xs_watch(xs, p.path, token) )
+    {
+        syslog(LOG_ERR, "Setting up watch for device %u/%u failed",
+               domid, devid);
+        free(device);
+        return NULL;
+    }
+
+    pthread_cond_init(&device->cond, NULL);
+    pthread_mutex_init(&device->mutex, NULL);
+
+    val = read_backend_node(device, "security_model");
+    if ( !val || strcmp(val, "none") )
+    {
+        syslog(LOG_ERR, "Security model \"%s\" for device %u/%u invalid.",
+               val, domid, devid);
+        free(val);
+        goto err;
+    }
+    free(val);
+
+    device->max_space = read_backend_node_uint(device, "max-space", 0);
+    device->max_files = read_backend_node_uint(device, "max-files", 0);
+    device->max_open_files =
+        read_backend_node_uint(device, "max-open-files", 0)
+        ?: MAX_OPEN_FILES_DEFAULT;
+    device->auto_delete = !!read_backend_node_uint(device, "auto-delete", 0);
+
+    device->host_path = read_backend_node(device, "path");
+    if ( check_host_path(device) )
+    {
+        syslog(LOG_ERR, "Host path \"%s\" for device %u/%u invalid.",
+               device->host_path, domid, devid);
+        goto err;
+    }
+
+    if ( write_backend_node(device, "versions", "1") )
+        goto err;
+    if ( write_backend_node(device, "max-rings", "1") )
+        goto err;
+    if ( write_backend_node(device, "max-ring-page-order", "9") )
+        goto err;
+
+    if ( write_backend_state(device, XenbusStateInitWait) )
+        goto err;
+
+    XEN_TAILQ_INSERT_TAIL(&devs, device, list);
+    syslog(LOG_INFO, "New device %u/%u added", domid, devid);
+
+    return device;
+
+ err:
+    free_device(device);
+    return NULL;
+}
+
+static void disconnect_guest(device *device)
+{
+    if ( device->thread_active )
+    {
+        device->stop_thread = true;
+        pthread_cond_signal(&device->cond);
+        pthread_join(device->thread, NULL);
+        device->stop_thread = false;
+    }
+
+    if ( device->data.in )
+    {
+        xengnttab_unmap(xg, device->data.in, 1 << device->ring_order);
+        device->data.in = NULL;
+    }
+    if ( device->intf )
+    {
+        xengnttab_unmap(xg, device->intf, 1 );
+        device->intf = NULL;
+    }
+
+    if ( device->evtchn )
+    {
+        xenevtchn_unbind(xe, device->evtchn);
+        device->evtchn = 0;
+    }
+}
+
+static void close_device(device *device, enum xenbus_state state)
+{
+    disconnect_guest(device);
+    write_backend_state(device, state);
+}
+
+static void connect_err(device *device, const char *msg)
+{
+    syslog(LOG_WARNING, "%s", msg);
+    close_device(device, XenbusStateClosed);
+}
+
+static void connect_device(device *device)
+{
+    unsigned int val;
+    xenevtchn_port_or_error_t evtchn;
+
+    val = read_frontend_node_uint(device, "version", 0);
+    if ( val != 1 )
+        return connect_err(device, "frontend specifies illegal version");
+    val = read_frontend_node_uint(device, "num-rings", 0);
+    if ( val != 1 )
+        return connect_err(device, "frontend specifies illegal ring number");
+
+    val = read_frontend_node_uint(device, "event-channel-0", 0);
+    if ( val == 0 )
+        return connect_err(device, "frontend specifies illegal evtchn");
+    evtchn = xenevtchn_bind_interdomain(xe, device->domid, val);
+    if ( evtchn < 0 )
+        return connect_err(device, "could not bind to event channel");
+    device->evtchn = evtchn;
+
+    val = read_frontend_node_uint(device, "ring-ref0", 0);
+    if ( val == 0 )
+        return connect_err(device, "frontend specifies illegal grant for ring");
+    device->intf = xengnttab_map_grant_ref(xg, device->domid, val,
+                                           PROT_READ | PROT_WRITE);
+    if ( !device->intf )
+        return connect_err(device, "could not map interface page");
+    device->ring_order = device->intf->ring_order;
+    if ( device->ring_order > 9 || device->ring_order < 1 )
+        return connect_err(device, "frontend specifies illegal ring order");
+    device->ring_size = XEN_FLEX_RING_SIZE(device->ring_order);
+    device->data.in = xengnttab_map_domain_grant_refs(xg,
+                                                      1 << device->ring_order,
+                                                      device->domid,
+                                                      device->intf->ref,
+                                                      PROT_READ | PROT_WRITE);
+    if ( !device->data.in )
+        return connect_err(device, "could not map ring pages");
+    device->data.out = device->data.in + device->ring_size;
+
+    if ( pthread_create(&device->thread, NULL, io_thread, device) )
+       return connect_err(device, "could not start I/O thread");
+    device->thread_active = true;
+
+    write_backend_state(device, XenbusStateConnected);
+}
+
+static void remove_device(device *device)
+{
+    XEN_TAILQ_REMOVE(&devs, device, list);
+
+    disconnect_guest(device);
+    free_device(device);
+}
+
+static void remove_all_devices(void)
+{
+    device *device, *tmp;
+
+    XEN_TAILQ_FOREACH_SAFE( device, &devs, list, tmp )
+        remove_device(device);
+}
+
+static void frontend_changed(device *device)
+{
+    struct path p;
+    char *state, *end;
+    unsigned int len;
+    unsigned long new_state;
+
+    construct_frontend_path(device, "state", &p);
+    state = xs_read(xs, XBT_NULL, p.path, &len);
+    if ( !state )
+    {
+        close_device(device, XenbusStateClosed);
+        return;
+    }
+
+    new_state = strtoul(state, &end, 10);
+    if ( *end || new_state > XenbusStateReconfigured )
+    {
+        syslog(LOG_WARNING, "unknown state \"%s\" seen for device %u/%u", state,
+               device->domid, device->devid);
+        new_state = XenbusStateUnknown;
+    }
+    free(state);
+
+    if ( new_state == device->frontend_state )
+        return;
+
+    switch ( new_state )
+    {
+    case XenbusStateInitialising:
+        break;
+
+    case XenbusStateInitialised:
+        connect_device(device);
+        break;
+
+    case XenbusStateConnected:
+        break;
+
+    case XenbusStateClosing:
+        close_device(device, XenbusStateClosing);
+        break;
+
+    case XenbusStateClosed:
+        close_device(device, XenbusStateClosed);
+        break;
+
+    default:
+        syslog(LOG_WARNING, "not handled frontend state %lu for device %u/%u",
+               new_state, device->domid, device->devid);
+        break;
+    }
+
+    device->frontend_state = new_state;
+}
+
+static void check_device(unsigned int domid, unsigned int devid)
+{
+    device *device;
+
+    device = find_device(domid, devid);
+    if ( !device )
+    {
+        device = new_device(domid, devid);
+        if ( !device )
+            return;
+    }
+
+    device->last_seen = now;
+}
+
+static void scan_backend(void)
+{
+    char **doms;
+    unsigned int n_doms, dom;
+    char **devices;
+    unsigned int n_devs, dev;
+    char dom_path[24];
+    unsigned long domid, devid;
+    char *end;
+    device *device, *tmp;
+
+    now++;
+
+    doms = xs_directory(xs, XBT_NULL, "backend/xen_9pfs", &n_doms);
+    if ( doms == NULL )
+        return;
+
+    for ( dom = 0; dom < n_doms; dom++ )
+    {
+        errno = 0;
+        domid = strtoul(doms[dom], &end, 10);
+        if ( errno || *end || domid >= DOMID_FIRST_RESERVED )
+            continue;
+
+        snprintf(dom_path, sizeof(dom_path), "backend/xen_9pfs/%lu", domid);
+        devices = xs_directory(xs, XBT_NULL, dom_path, &n_devs);
+
+        for ( dev = 0; dev < n_devs; dev++ )
+        {
+            errno = 0;
+            devid = strtoul(devices[dev], &end, 10);
+            if ( errno || *end || devid > UINT_MAX )
+                continue;
+
+            check_device(domid, devid);
+        }
+
+        free(devices);
+    }
+
+    free(doms);
+
+    XEN_TAILQ_FOREACH_SAFE( device, &devs, list, tmp )
+    {
+        if ( device->last_seen != now )
+            remove_device(device);
+    }
+}
+
+static void handle_watch(char *path, char *token)
+{
+    unsigned int domid, devid;
+    device *device;
+
+    if ( !strcmp(token, "main") )
+    {
+        scan_backend();
+        return;
+    }
+
+    if ( sscanf(token, "%u/%u", &domid, &devid) != 2 )
+    {
+        syslog(LOG_WARNING, "unknown watch event %s %s", path, token);
+        return;
+    }
+
+    device = find_device(domid, devid);
+    if ( !device )
+    {
+        syslog(LOG_WARNING, "watch event for unknown device %u/%u",
+               domid, devid);
+        return;
+    }
+
+    frontend_changed(device);
+}
+
 static void close_all(void)
 {
     if ( daemon_running )
+    {
         xs_rm(xs, XBT_NULL, "/tool/xenlog");
+        xs_unwatch(xs, "backend/xen_9pfs", "main");
+
+        remove_all_devices();
+    }
     if ( xe )
         xenevtchn_close(xe);
     if ( xg )
@@ -68,6 +596,25 @@ static void do_err(const char *msg)
     exit(1);
 }
 
+static void handle_event(void)
+{
+    xenevtchn_port_or_error_t evtchn;
+    device *device;
+
+    evtchn = xenevtchn_pending(xe);
+    if ( evtchn < 0 )
+        do_err("xenevtchn_pending() failed");
+
+    XEN_TAILQ_FOREACH( device, &devs, list )
+    {
+        if ( device->evtchn == evtchn )
+        {
+            pthread_cond_signal(&device->cond);
+            break;
+        }
+    }
+}
+
 static void xen_connect(void)
 {
     xs_transaction_t t;
@@ -122,6 +669,11 @@ int main(int argc, char *argv[])
     int syslog_mask = LOG_MASK(LOG_WARNING) | LOG_MASK(LOG_ERR) |
                       LOG_MASK(LOG_CRIT) | LOG_MASK(LOG_ALERT) |
                       LOG_MASK(LOG_EMERG);
+    char **watch;
+    struct pollfd p[2] = {
+        { .events = POLLIN, .revents = POLLIN },
+        { .events = POLLIN }
+    };
 
     umask(027);
     if ( getenv("XENLOGD_VERBOSE") )
@@ -134,9 +686,26 @@ int main(int argc, char *argv[])
 
     xen_connect();
 
+    if ( !xs_watch(xs, "backend/xen_9pfs", "main") )
+        do_err("xs_watch() in main thread failed");
+    p[0].fd = xs_fileno(xs);
+    p[1].fd = xenevtchn_fd(xe);
+
+    scan_backend();
+
     while ( !stop_me )
     {
-        sleep(60);
+        while ( (p[0].revents & POLLIN) &&
+                (watch = xs_check_watch(xs)) != NULL )
+        {
+            handle_watch(watch[XS_WATCH_PATH], watch[XS_WATCH_TOKEN]);
+            free(watch);
+        }
+
+        if ( p[1].revents & POLLIN )
+            handle_event();
+
+        poll(p, 2, 10000);
     }
 
     close_all();
diff --git a/tools/xenlogd/xenlogd.h b/tools/xenlogd/xenlogd.h
new file mode 100644
index 0000000000..a8e9f9ca22
--- /dev/null
+++ b/tools/xenlogd/xenlogd.h
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef XENLOGD_H
+#define XENLOGD_H
+
+#include <pthread.h>
+#include <stdbool.h>
+#include <xenevtchn.h>
+#include <xen_list.h>
+#include <xen/xen.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/9pfs.h>
+
+#define MAX_OPEN_FILES_DEFAULT   5
+
+typedef struct device device;
+struct device {
+    /* Admin data. */
+    XEN_TAILQ_ENTRY(device) list;
+    unsigned int last_seen;    /* Set in scan_backend(). */
+    unsigned int domid;
+    unsigned int devid;
+    bool thread_active;
+    bool stop_thread;
+    pthread_t thread;
+    pthread_cond_t cond;
+    pthread_mutex_t mutex;
+
+    /* Tool side configuration data. */
+    char *host_path;
+    unsigned int max_space;
+    unsigned int max_files;
+    unsigned int max_open_files;
+    bool auto_delete;
+
+    /* Connection data. */
+    enum xenbus_state backend_state;
+    enum xenbus_state frontend_state;
+    evtchn_port_t evtchn;
+    struct xen_9pfs_data_intf *intf;
+    unsigned int ring_order;
+    RING_IDX ring_size;
+    struct xen_9pfs_data data;
+};
+
+extern xenevtchn_handle *xe;
+
+void *io_thread(void *arg);
+
+#endif /* XENLOGD_H */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:33:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626241.976349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7bl-0007T0-Aj; Wed, 01 Nov 2023 09:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626241.976349; Wed, 01 Nov 2023 09: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 1qy7bl-0007Sp-6X; Wed, 01 Nov 2023 09:33:53 +0000
Received: by outflank-mailman (input) for mailman id 626241;
 Wed, 01 Nov 2023 09:33: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7bk-0005E0-0o
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:33:52 +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 c4480c77-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:33:51 +0100 (CET)
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 318C521835;
 Wed,  1 Nov 2023 09:33: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 0901713460;
 Wed,  1 Nov 2023 09:33:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id XsLtAH8bQmW9CAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:33: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: c4480c77-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831231; 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=SG/cdYRJD2CfQyplx7RLCTyqvUsFZjaC4L9HFaUzmyI=;
	b=nm1HWMddpIPSTRB10ydlf/RkKXoJxNeTkikN2LhqLodq01RH9XEpFhbfwd7IHKrIwXP3/I
	OCcbXvctBNWeutYYOsT4P0KQVRBc/b4X/lpnulacS3+VhvGgJfOrEeWtw2Ks2XcDKqagp0
	vsrONSBNwhNZk4AT6QOhUGKSA4tJw0Y=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 04/29] tools/xenlogd: add transport layer
Date: Wed,  1 Nov 2023 10:33:00 +0100
Message-Id: <20231101093325.30302-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the transport layer of 9pfs. This is basically the infrastructure
to receive requests from the frontend and to send the related answers
via the rings.

In order to avoid unaligned accesses e.g. on Arm, add the definition of
__packed to the common-macros.h header.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/include/xen-tools/common-macros.h |   4 +
 tools/xenlogd/io.c                      | 142 +++++++++++++++++++++++-
 tools/xenlogd/xenlogd.h                 |  16 +++
 3 files changed, 160 insertions(+), 2 deletions(-)

diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index e5ed603904..c3fd7d2a30 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -79,6 +79,10 @@
 #define __must_check __attribute__((__warn_unused_result__))
 #endif
 
+#ifndef __packed
+#define __packed __attribute__((__packed__))
+#endif
+
 #define container_of(ptr, type, member) ({              \
     typeof(((type *)0)->member) *mptr__ = (ptr);        \
     (type *)((char *)mptr__ - offsetof(type, member));  \
diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index ef0954d69d..590d06e906 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -6,24 +6,115 @@
  * Copyright (C) 2023 Juergen Gross <jgross@suse.com>
  *
  * I/O thread handling.
+ *
+ * Only handle one request at a time, pushing out the complete response
+ * before looking for the next request.
  */
 
 #include <stdbool.h>
+#include <stdlib.h>
 #include <string.h>
 #include <syslog.h>
+#include <xenctrl.h>           /* For cpu barriers. */
+#include <xen-tools/common-macros.h>
 
 #include "xenlogd.h"
 
+/*
+ * Note that the ring names "in" and "out" are from the frontend's
+ * perspective, so the "in" ring will be used for responses to the frontend,
+ * while the "out" ring is used for requests from the frontend to the
+ * backend.
+ */
+static unsigned int ring_in_free(device *device)
+{
+    unsigned int queued;
+
+    queued = xen_9pfs_queued(device->prod_pvt_in, device->intf->in_cons,
+                             device->ring_size);
+    xen_rmb();
+
+    return device->ring_size - queued;
+}
+
+static unsigned int ring_out_data(device *device)
+{
+    unsigned int queued;
+
+    queued = xen_9pfs_queued(device->intf->out_prod, device->cons_pvt_out,
+                             device->ring_size);
+    xen_rmb();
+
+    return queued;
+}
+
+static unsigned int get_request_bytes(device *device, unsigned int off,
+                                      unsigned int len)
+{
+    unsigned int size;
+    unsigned int out_data = ring_out_data(device);
+    RING_IDX prod, cons;
+
+    size = min(len - off, out_data);
+    prod = xen_9pfs_mask(device->intf->out_prod, device->ring_size);
+    cons = xen_9pfs_mask(device->cons_pvt_out, device->ring_size);
+    xen_9pfs_read_packet(device->buffer + off, device->data.out, size,
+                         prod, &cons, device->ring_size);
+
+    xen_rmb();           /* Read data out before setting visible consumer. */
+    device->cons_pvt_out += size;
+    device->intf->out_cons = device->cons_pvt_out;
+
+    /* Signal that more space is available now. */
+    xenevtchn_notify(xe, device->evtchn);
+
+    return size;
+}
+
+static unsigned int put_request_bytes(device *device, unsigned int off,
+                                      unsigned int len)
+{
+    unsigned int size;
+    unsigned int in_data = ring_in_free(device);
+    RING_IDX prod, cons;
+
+    size = min(len - off, in_data);
+    prod = xen_9pfs_mask(device->prod_pvt_in, device->ring_size);
+    cons = xen_9pfs_mask(device->intf->in_cons, device->ring_size);
+    xen_9pfs_write_packet(device->data.in, device->buffer + off, size,
+                          &prod, cons, device->ring_size);
+
+    xen_wmb();           /* Write data out before setting visible producer. */
+    device->prod_pvt_in += size;
+    device->intf->in_prod = device->prod_pvt_in;
+
+    return size;
+}
+
 static bool io_work_pending(device *device)
 {
     if ( device->stop_thread )
         return true;
-    return false;
+    if ( device->error )
+        return false;
+    return device->handle_response ? ring_in_free(device)
+                                   : ring_out_data(device);
 }
 
 void *io_thread(void *arg)
 {
     device *device = arg;
+    unsigned int count = 0;
+    struct p9_header hdr;
+    bool in_hdr = true;
+
+    device->max_size = device->ring_size;
+    device->buffer = malloc(device->max_size);
+    if ( !device->buffer )
+    {
+        syslog(LOG_CRIT, "memory allocation failure!");
+        return NULL;
+    }
 
     while ( !device->stop_thread )
     {
@@ -36,9 +127,56 @@ void *io_thread(void *arg)
         }
         pthread_mutex_unlock(&device->mutex);
 
-        /* TODO: I/O handling. */
+        if ( device->stop_thread || device->error )
+            continue;
+
+        if ( !device->handle_response )
+        {
+            if ( in_hdr )
+            {
+                count += get_request_bytes(device, count, sizeof(hdr));
+                if ( count != sizeof(hdr) )
+                    continue;
+                hdr = *(struct p9_header *)device->buffer;
+                if ( hdr.size > device->max_size || hdr.size < sizeof(hdr) )
+                {
+                    syslog(LOG_ERR, "%u.%u specified illegal request length %u",
+                           device->domid, device->devid, hdr.size);
+                    device->error = true;
+                    continue;
+                }
+                in_hdr = false;
+            }
+
+            count += get_request_bytes(device, count, hdr.size);
+            if ( count < hdr.size )
+                continue;
+
+            /* TODO: handle request. */
+
+            device->handle_response = true;
+            hdr.size = ((struct p9_header *)device->buffer)->size;
+            count = 0;
+        }
+
+        if ( device->handle_response )
+        {
+            count += put_request_bytes(device, count, hdr.size);
+
+            if ( count == hdr.size )
+            {
+                /* Signal presence of response. */
+                xenevtchn_notify(xe, device->evtchn);
+
+                device->handle_response = false;
+                in_hdr = true;
+                count = 0;
+            }
+        }
     }
 
+    free(device->buffer);
+
     device->thread_active = false;
 
     return NULL;
diff --git a/tools/xenlogd/xenlogd.h b/tools/xenlogd/xenlogd.h
index a8e9f9ca22..40aa7cd03a 100644
--- a/tools/xenlogd/xenlogd.h
+++ b/tools/xenlogd/xenlogd.h
@@ -13,6 +13,12 @@
 
 #define MAX_OPEN_FILES_DEFAULT   5
 
+struct p9_header {
+    uint32_t size;
+    uint8_t cmd;
+    uint16_t tag;
+} __attribute__((packed));
+
 typedef struct device device;
 struct device {
     /* Admin data. */
@@ -40,7 +46,17 @@ struct device {
     struct xen_9pfs_data_intf *intf;
     unsigned int ring_order;
     RING_IDX ring_size;
+
+    /* Transport layer data. */
     struct xen_9pfs_data data;
+    RING_IDX prod_pvt_in;
+    RING_IDX cons_pvt_out;
+
+    /* Request and response handling. */
+    uint32_t max_size;
+    bool error;             /* Protocol error - stop processing. */
+    bool handle_response;   /* Main loop now handling response. */
+    void *buffer;           /* Request/response buffer. */
 };
 
 extern xenevtchn_handle *xe;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:33:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:33:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626243.976359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7br-0007yD-HP; Wed, 01 Nov 2023 09:33:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626243.976359; Wed, 01 Nov 2023 09: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 1qy7br-0007y4-Dv; Wed, 01 Nov 2023 09:33:59 +0000
Received: by outflank-mailman (input) for mailman id 626243;
 Wed, 01 Nov 2023 09:33: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7bp-0005E0-Mr
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:33:57 +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 c79872cf-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:33:57 +0100 (CET)
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 B9FBB1F74A;
 Wed,  1 Nov 2023 09:33: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 9053313460;
 Wed,  1 Nov 2023 09:33:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id R162IYQbQmXDCAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:33: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: c79872cf-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831236; 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=9twQoG8Ni5j7s6nNRlwgs8V2w4vbElXCXWFZkZ1OasA=;
	b=fVRInW4p0CstzpGkfVb6dpeZF9twhiYqF0nnpSnCxFEUfdj2kjR+AayNgF65z20uKO6ZvZ
	SYY23ROOirCYGHcypuQfl0tdWn5B3Guoxzmn3fNORbOiL/gvU+jOJc3+kDDEZrE7r0RAAo
	C+WD1T9gtgrW2+LuzoPqCyzoAd1hyDA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 05/29] tools/xenlogd: add 9pfs response generation support
Date: Wed,  1 Nov 2023 10:33:01 +0100
Message-Id: <20231101093325.30302-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for generation a 9pfs protocol response via a format based
approach.

Strings are stored in a per device string buffer and they are
referenced via their offset in this buffer. This allows to avoid
having to dynamically allocate memory for each single string.

As a first user of the response handling add a generic p9_error()
function which will be used to return any error to the client.

Add all format parsing variants in order to avoid additional code churn
later when adding the users of those variants. Prepare a special case
for the "read" case already (format character 'D'): in order to avoid
adding another buffer for read data support doing the read I/O directly
into the response buffer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c      | 189 +++++++++++++++++++++++++++++++++++++++-
 tools/xenlogd/xenlogd.h |   3 +
 2 files changed, 191 insertions(+), 1 deletion(-)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index 590d06e906..5a06f72338 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -11,6 +11,7 @@
  * before looking for the next request.
  */
 
+#include <errno.h>
 #include <stdbool.h>
 #include <stdlib.h>
 #include <string.h>
@@ -20,6 +21,16 @@
 
 #include "xenlogd.h"
 
+/* P9 protocol commands (response is either cmd+1 or P9_CMD_ERROR). */
+#define P9_CMD_ERROR      107
+
+struct p9_qid {
+    uint8_t type;
+#define QID_TYPE_DIR      0x80
+    uint32_t version;
+    uint64_t path;
+};
+
 /*
  * Note that the ring names "in" and "out" are from the frontend's
  * perspective, so the "in" ring will be used for responses to the frontend,
@@ -101,6 +112,172 @@ static bool io_work_pending(device *device)
                                    : ring_out_data(device);
 }
 
+static void fmt_err(const char *fmt)
+{
+    syslog(LOG_CRIT, "illegal format %s passed to fill_buffer()", fmt);
+    exit(1);
+}
+
+/*
+ * Fill buffer with response data.
+ * fmt is a sequence of format characters. Supported characters are:
+ * a: an array (2 bytes number of elements + the following format as elements)
+ *    The number of elements is passed in the first unsigned int parameter, the
+ *    next parameter is a pointer to an array of elements as denoted by the next
+ *    format character.
+ * b: 2 byte unsigned integer
+ *    The parameter is a pointer to a uint16_t value
+ * D: Data blob (4 byte length + <length> bytes)
+ *    2 parameters are consumed, first an unsigned int for the length, then a
+ *    pointer to the first uint8_t value.
+ *    No array support.
+ * L: 8 byte unsigned integer
+ *    The parameter is a pointer to a uint64_t value
+ * Q: Qid (struct p9_qid)
+ * S: String (2 byte length + <length> characters)
+ *    The length is obtained via strlen() of the parameter, being a pointer
+ *    to the first character of the string
+ * U: 4 byte unsigned integer
+ *    The parameter is a pointer to a uint32_t value
+ */
+static void fill_buffer(device *device, uint8_t cmd, uint16_t tag,
+                        const char *fmt, ...)
+{
+    struct p9_header *hdr = device->buffer;
+    void *data = hdr + 1;
+    const char *f;
+    const void *par;
+    const char *str_val;
+    const struct p9_qid *qid;
+    unsigned int len;
+    va_list ap;
+    unsigned int array_sz = 0;
+    unsigned int elem_sz = 0;
+
+    hdr->cmd = cmd;
+    hdr->tag = tag;
+
+    va_start(ap, fmt);
+
+    for ( f = fmt; *f; f++ )
+    {
+        if ( !array_sz )
+            par = va_arg(ap, const void *);
+        else
+        {
+            par += elem_sz;
+            array_sz--;
+        }
+
+        switch ( *f )
+        {
+        case 'a':
+            f++;
+            if ( !*f || array_sz )
+                fmt_err(fmt);
+            array_sz = *(const unsigned int *)par;
+            *(__packed uint16_t *)data = array_sz;
+            data += sizeof(uint16_t);
+            par = va_arg(ap, const void *);
+            elem_sz = 0;
+            break;
+
+        case 'u':
+            *(__packed uint16_t *)data = *(const uint16_t *)par;
+            elem_sz = sizeof(uint16_t);
+            data += sizeof(uint16_t);
+            break;
+
+        case 'D':
+            if ( array_sz )
+                fmt_err(fmt);
+            len = *(const unsigned int *)par;
+            *(__packed uint32_t *)data = len;
+            data += sizeof(uint32_t);
+            par = va_arg(ap, const void *);
+            if ( data != par )
+                memcpy(data, par, len);
+            data += len;
+            break;
+
+        case 'L':
+            *(__packed uint64_t *)data = *(const uint64_t *)par;
+            elem_sz = sizeof(uint64_t);
+            data += sizeof(uint64_t);
+            break;
+
+        case 'Q':
+            qid = par;
+            elem_sz = sizeof(*qid);
+            *(uint8_t *)data = qid->type;
+            data += sizeof(uint8_t);
+            *(__packed uint32_t *)data = qid->version;
+            data += sizeof(uint32_t);
+            *(__packed uint64_t *)data = qid->path;
+            data += sizeof(uint64_t);
+            break;
+
+        case 'S':
+            str_val = par;
+            elem_sz = sizeof(str_val);
+            len = strlen(str_val);
+            *(__packed uint16_t *)data = len;
+            data += sizeof(uint16_t);
+            memcpy(data, str_val, len);
+            data += len;
+            break;
+
+        case 'U':
+            *(__packed uint32_t *)data = *(const uint32_t *)par;
+            elem_sz = sizeof(uint32_t);
+            data += sizeof(uint32_t);
+            break;
+
+        default:
+            fmt_err(fmt);
+        }
+
+        if ( array_sz )
+            f--;
+    }
+
+    hdr->size = data - device->buffer;
+}
+
+static unsigned int add_string(device *device, const char *str,
+                               unsigned int len)
+{
+    char *tmp;
+    unsigned int ret;
+
+    if ( device->str_used + len + 1 > device->str_size )
+    {
+        tmp = realloc(device->str, device->str_used + len + 1);
+        if ( !tmp )
+            return ~0;
+        device->str = tmp;
+        device->str_size = device->str_used + len + 1;
+    }
+
+    ret = device->str_used;
+    memcpy(device->str + ret, str, len);
+    device->str_used += len;
+    device->str[device->str_used++] = 0;
+
+    return ret;
+}
+
+static void p9_error(device *device, uint16_t tag, uint32_t err)
+{
+    unsigned int erroff;
+
+    strerror_r(err, device->buffer, device->ring_size);
+    erroff = add_string(device, device->buffer, strlen(device->buffer));
+    fill_buffer(device, P9_CMD_ERROR, tag, "SU",
+                erroff != ~0 ? device->str + erroff : "cannot allocate memory",
+                &err);
+}
+
 void *io_thread(void *arg)
 {
     device *device = arg;
@@ -152,7 +329,16 @@ void *io_thread(void *arg)
             if ( count < hdr.size )
                 continue;
 
-            /* TODO: handle request. */
+            device->str_used = 0;
+
+            switch ( hdr.cmd )
+            {
+            default:
+                syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
+                       device->domid, device->devid, hdr.cmd);
+                p9_error(device, hdr.tag, EOPNOTSUPP);
+                break;
+            }
 
             device->handle_response = true;
             hdr.size = ((struct p9_header *)device->buffer)->size;
@@ -175,6 +361,7 @@ void *io_thread(void *arg)
         }
     }
 
+    free(device->str);
     free(device->buffer);
 
     device->thread_active = false;
diff --git a/tools/xenlogd/xenlogd.h b/tools/xenlogd/xenlogd.h
index 40aa7cd03a..c10c6aa9e5 100644
--- a/tools/xenlogd/xenlogd.h
+++ b/tools/xenlogd/xenlogd.h
@@ -57,6 +57,9 @@ struct device {
     bool error;             /* Protocol error - stop processing. */
     bool handle_response;   /* Main loop now handling response. */
     void *buffer;           /* Request/response buffer. */
+    char *str;              /* String work space. */
+    unsigned int str_size;  /* Size of *str. */
+    unsigned int str_used;  /* Currently used size of *str. */
 };
 
 extern xenevtchn_handle *xe;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:34:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:34:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626250.976369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7cO-0000xP-Pm; Wed, 01 Nov 2023 09:34:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626250.976369; Wed, 01 Nov 2023 09:34: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 1qy7cO-0000xG-My; Wed, 01 Nov 2023 09:34:32 +0000
Received: by outflank-mailman (input) for mailman id 626250;
 Wed, 01 Nov 2023 09:34: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7cN-0005sN-Sv
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:31 +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 db63d30c-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:34:30 +0100 (CET)
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 0C03B21846;
 Wed,  1 Nov 2023 09:34: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 D8D1613460;
 Wed,  1 Nov 2023 09:34:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id YJ+TM6UbQmULCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:34: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: db63d30c-7899-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831270; 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=iYKu4ORgu+LVBDEqtNfJuA6R+ODvE4fC94p2On/5gV8=;
	b=QdG23Hcc2Eiqk0WPw8nPSZV4h+Od8vv1CJrrzNgSDcqrZu27pYMg4praAmBR5CAOHL3aMy
	snK4UiSHVujjexJ4lFacUXBXH81RU9Q4klX3q6yFFgfap5MeoT2Ag6mWRjuhH+x6J8Q9Xf
	EMN92RpaQI2b2/vlNTvqbpnAldKXCkI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 11/29] tools/xenlogd: add 9pfs create request support
Date: Wed,  1 Nov 2023 10:33:07 +0100
Message-Id: <20231101093325.30302-12-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the create request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c | 133 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 133 insertions(+)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index 2607095e51..34f137be1b 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -31,6 +31,7 @@
 #define P9_CMD_ERROR      107
 #define P9_CMD_WALK       110
 #define P9_CMD_OPEN       112
+#define P9_CMD_CREATE     114
 #define P9_CMD_CLUNK      120
 
 /* P9 protocol open flags. */
@@ -41,6 +42,12 @@
 #define P9_OTRUNC        0x10   /* or'ed in, truncate file first */
 #define P9_OREMOVE       0x40   /* or'ed in, remove file after clunk */
 
+/* P9 protocol create permission masks. */
+#define P9_CREATE_PERM_DIR        0x80000000
+#define P9_CREATE_PERM_NOTSUPP    0x03b00000   /* link, symlink, ... */
+#define P9_CREATE_PERM_DIR_MASK   0777
+#define P9_CREATE_PERM_FILE_MASK  0666
+
 #define P9_MIN_MSIZE      2048
 #define P9_VERSION        "9P2000.u"
 #define P9_WALK_MAXELEM   16
@@ -861,6 +868,128 @@ static void p9_open(device *device, struct p9_header *hdr)
     fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
 }
 
+static void p9_create(device *device, struct p9_header *hdr)
+{
+    uint32_t fid;
+    unsigned int name_off;
+    uint32_t perm;
+    uint8_t mode;
+    unsigned int ext_off;
+    struct p9_fid *fidp;
+    struct p9_fid *new_fidp;
+    char *path;
+    struct stat st;
+    struct p9_qid qid;
+    uint32_t iounit;
+    int flags;
+    int ret;
+
+    ret = fill_data(device, "USUbS", &fid, &name_off, &perm, &mode, &ext_off);
+    if ( ret != 5 )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+
+    if ( !name_ok(device->str + name_off) )
+    {
+        p9_error(device, hdr->tag, ENOENT);
+        return;
+    }
+
+    if ( perm & P9_CREATE_PERM_NOTSUPP )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = find_fid(device, fid);
+    if ( !fidp || fidp->opened )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+
+    path = malloc(strlen(fidp->path) + strlen(device->str + name_off) + 2 -
+                  strlen(device->host_path));
+    if ( !path )
+    {
+        p9_error(device, hdr->tag, ENOMEM);
+        return;
+    }
+    sprintf(path, "%s/%s", fidp->path + strlen(device->host_path),
+            device->str + name_off);
+    new_fidp = alloc_fid_mem(device, fid, path);
+    free(path);
+    if ( !new_fidp )
+    {
+        p9_error(device, hdr->tag, ENOMEM);
+        return;
+    }
+
+    if ( perm & P9_CREATE_PERM_DIR )
+    {
+        if ( mode != P9_OREAD )
+        {
+            p9_error(device, hdr->tag, EINVAL);
+            free(new_fidp);
+            return;
+        }
+        if ( mkdir(new_fidp->path, perm & P9_CREATE_PERM_DIR_MASK) < 0 )
+        {
+            p9_error(device, hdr->tag, errno);
+            free(new_fidp);
+            return;
+        }
+
+        XEN_TAILQ_REMOVE(&device->fids, fidp, list);
+        XEN_TAILQ_INSERT_HEAD(&device->fids, new_fidp, list);
+        free(fidp);
+        fidp = new_fidp;
+
+        fidp->data = opendir(fidp->path);
+        if ( !fidp->data )
+        {
+            p9_error(device, hdr->tag, errno);
+            return;
+        }
+        fidp->fd = dirfd(fidp->data);
+    }
+    else
+    {
+        flags = open_flags_from_mode(mode);
+        if ( flags < 0 )
+        {
+            p9_error(device, hdr->tag, EINVAL);
+            free(new_fidp);
+            return;
+        }
+
+        XEN_TAILQ_REMOVE(&device->fids, fidp, list);
+        XEN_TAILQ_INSERT_HEAD(&device->fids, new_fidp, list);
+        free(fidp);
+        fidp = new_fidp;
+
+        fidp->fd = creat(fidp->path, flags);
+        if ( fidp->fd < 0 )
+        {
+            p9_error(device, hdr->tag, errno);
+            return;
+        }
+    }
+
+    if ( stat(fidp->path, &st) < 0 )
+    {
+        p9_error(device, hdr->tag, errno);
+        return;
+    }
+    fill_qid(fidp->path, &qid, &st);
+    iounit = get_iounit(device, &st);
+    fidp->opened = true;
+
+    fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
+}
+
 static void p9_clunk(device *device, struct p9_header *hdr)
 {
     uint32_t fid;
@@ -964,6 +1093,10 @@ void *io_thread(void *arg)
                 p9_open(device, &hdr);
                 break;
 
+            case P9_CMD_CREATE:
+                p9_create(device, &hdr);
+                break;
+
             case P9_CMD_CLUNK:
                 p9_clunk(device, &hdr);
                 break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:34:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626252.976380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7cV-0001Ic-4i; Wed, 01 Nov 2023 09:34:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626252.976380; Wed, 01 Nov 2023 09: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 1qy7cV-0001IT-00; Wed, 01 Nov 2023 09:34:39 +0000
Received: by outflank-mailman (input) for mailman id 626252;
 Wed, 01 Nov 2023 09:34: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7cT-0005sN-J8
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:37 +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 deb7cebc-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:34:35 +0100 (CET)
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 9A3AE1F74D;
 Wed,  1 Nov 2023 09:34:35 +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 7555613460;
 Wed,  1 Nov 2023 09:34:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oid6G6sbQmURCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:34: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: deb7cebc-7899-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831275; 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=QJbdIr85qdX7H1mLMVKcVj+vNBSvf/s3S7aCwRXLZlQ=;
	b=FjGW66jTUk03x2O8LiH/g+o33zHciSnG4/T4VUzdZmrKM7aA0soKNvBrmSdn2by8i4U6rN
	iBf176Wiu1lrug9lUff6Qd18AcHNP1YU7HCIFmpAxCopK+AJZUi85e1ZCcRjBJgEt9VGhC
	QxR3G6DkI9FzhVDximIimoZlhQL/Wgg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 12/29] tools/xenlogd: add 9pfs stat request support
Date: Wed,  1 Nov 2023 10:33:08 +0100
Message-Id: <20231101093325.30302-13-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the stat request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index 34f137be1b..6e92667fab 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -33,6 +33,7 @@
 #define P9_CMD_OPEN       112
 #define P9_CMD_CREATE     114
 #define P9_CMD_CLUNK      120
+#define P9_CMD_STAT       124
 
 /* P9 protocol open flags. */
 #define P9_OREAD            0   /* read */
@@ -59,6 +60,25 @@ struct p9_qid {
     uint64_t path;
 };
 
+struct p9_stat {
+    uint16_t size;
+    uint16_t type;
+    uint32_t dev;
+    struct p9_qid qid;
+    uint32_t mode;
+    uint32_t atime;
+    uint32_t mtime;
+    uint64_t length;
+    const char *name;
+    const char *uid;
+    const char *gid;
+    const char *muid;
+    const char *extension;
+    uint32_t n_uid;
+    uint32_t n_gid;
+    uint32_t n_muid;
+};
+
 /*
  * Note that the ring names "in" and "out" are from the frontend's
  * perspective, so the "in" ring will be used for responses to the frontend,
@@ -1022,6 +1042,71 @@ static void p9_clunk(device *device, struct p9_header *hdr)
     fill_buffer(device, hdr->cmd + 1, hdr->tag, "");
 }
 
+static void fill_p9_stat(struct p9_stat *p9s, struct stat *st, const char *name)
+{
+    memset(p9s, 0, sizeof(*p9s));
+    fill_qid(NULL, &p9s->qid, st);
+    p9s->mode = st->st_mode & 0777;
+    if ( S_ISDIR(st->st_mode) )
+        p9s->mode |= P9_CREATE_PERM_DIR;
+    p9s->atime = st->st_atime;
+    p9s->mtime = st->st_mtime;
+    p9s->length = st->st_size;
+    p9s->name = name;
+    p9s->uid = "";
+    p9s->gid = "";
+    p9s->muid = "";
+    p9s->extension = "";
+    p9s->n_uid = 0;
+    p9s->n_gid = 0;
+    p9s->n_muid = 0;
+
+    /*
+     * Size of individual fields without the size field, including 5 2-byte
+     * string length fields.
+     */
+    p9s->size = 71 + strlen(p9s->name);
+}
+
+static void p9_stat(device *device, struct p9_header *hdr)
+{
+    uint32_t fid;
+    struct p9_fid *fidp;
+    struct p9_stat p9s;
+    struct stat st;
+    uint16_t total_length;
+    int ret;
+
+    ret = fill_data(device, "U", &fid);
+    if ( ret != 1 )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = find_fid(device, fid);
+    if ( !fidp )
+    {
+        p9_error(device, hdr->tag, ENOENT);
+        return;
+    }
+
+    if ( stat(fidp->path, &st) < 0 )
+    {
+        p9_error(device, hdr->tag, errno);
+        return;
+    }
+    fill_p9_stat(&p9s, &st, strrchr(fidp->path, '/') + 1);
+
+    total_length = p9s.size + sizeof(p9s.size);
+    fill_buffer(device, hdr->cmd + 1, hdr->tag, "uuuUQUUULSSSSSUUU",
+                &total_length, &p9s.size, &p9s.type, &p9s.dev, &p9s.qid,
+                &p9s.mode, &p9s.atime, &p9s.mtime, &p9s.length, p9s.name,
+                p9s.uid, p9s.gid, p9s.muid, p9s.extension, &p9s.n_uid,
+                &p9s.n_gid, &p9s.n_muid);
+
+}
+
 void *io_thread(void *arg)
 {
     device *device = arg;
@@ -1101,6 +1186,10 @@ void *io_thread(void *arg)
                 p9_clunk(device, &hdr);
                 break;
 
+            case P9_CMD_STAT:
+                p9_stat(device, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        device->domid, device->devid, hdr.cmd);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:34:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:34:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626255.976389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7cg-0001pc-Ei; Wed, 01 Nov 2023 09:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626255.976389; Wed, 01 Nov 2023 09: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 1qy7cg-0001pV-Bu; Wed, 01 Nov 2023 09:34:50 +0000
Received: by outflank-mailman (input) for mailman id 626255;
 Wed, 01 Nov 2023 09:34: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7ce-0005sN-Fs
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:48 +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 e55372ef-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:34:46 +0100 (CET)
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 AFD661F74D;
 Wed,  1 Nov 2023 09:34: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 8924813460;
 Wed,  1 Nov 2023 09:34:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id q2IdILYbQmUlCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:34: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: e55372ef-7899-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831286; 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=lD7OYj5Yt2uwwISmgGvZUOhfU+UjKp9N5PIhwoDUvt4=;
	b=FAhpGBUB5tJOWxQcnddOSvFXFux2A4K8QwWGeXi9JX/xoj7O8uG1mDdhzne8LutEltj/w5
	fmXA7Sl3eH9aZ0KevqobefRCbVtgSQPLFID+eV8oRHVZEOtkxzOtucM+dWFjtkjiCJv5Kd
	Nxglq6waIkTZgCK8xwphW4TcVKWRn1w=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 14/29] tools/xenlogd: add 9pfs read request support
Date: Wed,  1 Nov 2023 10:33:10 +0100
Message-Id: <20231101093325.30302-15-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the read request of the 9pfs protocol.

For now support only reading plain files (no directories).

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index 6b4692ca67..b3f9f96bcc 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -32,6 +32,7 @@
 #define P9_CMD_WALK       110
 #define P9_CMD_OPEN       112
 #define P9_CMD_CREATE     114
+#define P9_CMD_READ       116
 #define P9_CMD_WRITE      118
 #define P9_CMD_CLUNK      120
 #define P9_CMD_STAT       124
@@ -1011,6 +1012,61 @@ static void p9_create(device *device, struct p9_header *hdr)
     fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
 }
 
+static void p9_read(device *device, struct p9_header *hdr)
+{
+    uint32_t fid;
+    uint64_t off;
+    unsigned int len;
+    uint32_t count;
+    void *buf;
+    struct p9_fid *fidp;
+    int ret;
+
+    ret = fill_data(device, "ULU", &fid, &off, &count);
+    if ( ret != 3 )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = find_fid(device, fid);
+    if ( !fidp || !fidp->opened )
+    {
+        p9_error(device, hdr->tag, EBADF);
+        return;
+    }
+
+    if ( fidp->isdir )
+    {
+        p9_error(device, hdr->tag, EOPNOTSUPP);
+        return;
+    }
+    else
+    {
+        len = count;
+        buf = device->buffer + sizeof(*hdr) + sizeof(uint32_t);
+
+        while ( len != 0 )
+        {
+            ret = pread(fidp->fd, buf, len, off);
+            if ( ret <= 0 )
+                break;
+            len -= ret;
+            buf += ret;
+            off += ret;
+        }
+        if ( ret && len == count )
+        {
+            p9_error(device, hdr->tag, errno);
+            return;
+        }
+
+        buf = device->buffer + sizeof(*hdr) + sizeof(uint32_t);
+        len = count - len;
+        fill_buffer(device, hdr->cmd + 1, hdr->tag, "D", &len, buf);
+    }
+}
+
 static void p9_write(device *device, struct p9_header *hdr)
 {
     uint32_t fid;
@@ -1228,6 +1284,10 @@ void *io_thread(void *arg)
                 p9_create(device, &hdr);
                 break;
 
+            case P9_CMD_READ:
+                p9_read(device, &hdr);
+                break;
+
             case P9_CMD_WRITE:
                 p9_write(device, &hdr);
                 break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:43:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626281.976399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7lA-0004rN-9X; Wed, 01 Nov 2023 09:43:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626281.976399; Wed, 01 Nov 2023 09:43: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 1qy7lA-0004rG-6G; Wed, 01 Nov 2023 09:43:36 +0000
Received: by outflank-mailman (input) for mailman id 626281;
 Wed, 01 Nov 2023 09:43: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7dc-0005E0-SC
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35:48 +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 09ffa01c-789a-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:35:48 +0100 (CET)
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 2A5291F74A;
 Wed,  1 Nov 2023 09:35: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 F2EC813460;
 Wed,  1 Nov 2023 09:35:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Nw32OfMbQmWbCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09: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: 09ffa01c-789a-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831348; 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=Tql+TwCFijc3h7ziLqKYIH9oAU5Ll8hidyNHEMqapi8=;
	b=tf7oOnno8VcyQjNgDDdCvapvHU1C0OEkpFM44RMBVHYVi3DFKOdHulwj2aNhbBqjE7xo0c
	kscb0hjhSIhvKNK7RAvnL5424iCWY0XQMWLx5e2l9C3vzGs+QcSdArdpyPe5laET9Tbfan
	DFu5CcbwESWCvybaaspba7xiwzmO5+s=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 25/29] tools/xenstored: mount 9pfs device in stubdom
Date: Wed,  1 Nov 2023 10:33:21 +0100
Message-Id: <20231101093325.30302-26-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mount the 9pfs device in stubdom enabling it to use files.

This has to happen in a worker thread in order to allow the main thread
handling the required Xenstore accesses in parallel.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.h   |  5 +++++
 tools/xenstored/domain.c |  2 ++
 tools/xenstored/minios.c | 35 +++++++++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+)

diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index f7a27a4131..48ff659ec5 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -35,6 +35,8 @@
 #include "list.h"
 #include "hashtable.h"
 
+#define XENSTORE_LIB_DIR	XEN_LIB_DIR "/xenstore"
+
 #ifndef O_CLOEXEC
 #define O_CLOEXEC 0
 /* O_CLOEXEC support is needed for Live Update in the daemon case. */
@@ -385,6 +387,9 @@ static inline bool domain_is_unprivileged(const struct connection *conn)
 
 /* Return the event channel used by xenbus. */
 evtchn_port_t get_xenbus_evtchn(void);
+#ifdef __MINIOS__
+void mount_9pfs(void);
+#endif
 
 /* Write out the pidfile */
 void write_pidfile(const char *pidfile);
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 162b87b460..4263c1360f 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1236,6 +1236,8 @@ void stubdom_init(void)
 		barf_perror("Failed to initialize stubdom");
 
 	xenevtchn_notify(xce_handle, stubdom->port);
+
+	mount_9pfs();
 #endif
 }
 
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index 0779efbf91..e5a3684df6 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -19,6 +19,14 @@
 #include <sys/mman.h>
 #include "core.h"
 #include <xen/grant_table.h>
+#include <mini-os/9pfront.h>
+#include <mini-os/sched.h>
+#include <mini-os/xenbus.h>
+#include <mini-os/xmalloc.h>
+
+#define P9_STATE_PATH	"device/9pfs/0/state"
+
+static void *p9_device;
 
 void write_pidfile(const char *pidfile)
 {
@@ -54,3 +62,30 @@ void unmap_xenbus(void *interface)
 	xengnttab_unmap(*xgt_handle, interface, 1);
 }
 
+static void mount_thread(void *p)
+{
+	xenbus_event_queue events = NULL;
+	char *err;
+	char *dummy;
+
+	free(xenbus_watch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs", &events));
+
+	for (;;) {
+		xenbus_wait_for_watch(&events);
+		err = xenbus_read(XBT_NIL, P9_STATE_PATH, &dummy);
+		if (!err)
+			break;
+		free(err);
+	}
+
+	free(dummy);
+
+	free(xenbus_unwatch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs"));
+
+	p9_device = init_9pfront(0, XENSTORE_LIB_DIR);
+}
+
+void mount_9pfs(void)
+{
+	create_thread("mount-9pfs", mount_thread, NULL);
+}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:45:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:45:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626284.976409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7mZ-0005cY-Iw; Wed, 01 Nov 2023 09:45:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626284.976409; Wed, 01 Nov 2023 09: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 1qy7mZ-0005cR-Fc; Wed, 01 Nov 2023 09:45:03 +0000
Received: by outflank-mailman (input) for mailman id 626284;
 Wed, 01 Nov 2023 09: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7dY-0005sN-B4
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35: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 069ec3a6-789a-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:35:42 +0100 (CET)
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 8D7911F74A;
 Wed,  1 Nov 2023 09:35: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 6359013460;
 Wed,  1 Nov 2023 09:35:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id BLzeFu4bQmWVCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:35: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: 069ec3a6-789a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831342; 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=9rPMG1ixXzf2IlhhL0e9vKDBwC7X+7yW2VUn/FHK77E=;
	b=MadOtAbpasQPT2UQvChyyZIE/nnC/GeBOEC1jTkR6TzwzKHoqkVynqAQ2Lku8WndMgos2c
	/6Mo6jTOOebpyEu29GYd5k7pssWFMe2KhCYMe95cX8qlZsJ06C/MtVXwPKA3KByELVOxLH
	REO/4aH7P4DMV7mjQfg8hD2QpStUnyM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 24/29] tools/xenstored: map stubdom interface
Date: Wed,  1 Nov 2023 10:33:20 +0100
Message-Id: <20231101093325.30302-25-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When running as stubdom, map the stubdom's Xenstore ring page in order
to support using the 9pfs frontend.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c   |  2 ++
 tools/xenstored/domain.c | 27 ++++++++++++++++++++++++++-
 tools/xenstored/domain.h |  1 +
 3 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 42a848e098..1764b1af4e 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -3003,6 +3003,8 @@ int main(int argc, char *argv[])
 		lu_read_state();
 #endif
 
+	stubdom_init();
+
 	check_store();
 
 	/* Get ready to listen to the tools. */
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index fa17f68618..162b87b460 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -37,6 +37,10 @@
 #include <xenctrl.h>
 #include <xen/grant_table.h>
 
+#ifdef __MINIOS__
+#include <mini-os/xenbus.h>
+#endif
+
 static xc_interface **xc_handle;
 xengnttab_handle **xgt_handle;
 static evtchn_port_t virq_port;
@@ -500,6 +504,11 @@ static void *map_interface(domid_t domid)
 	if (domid == xenbus_master_domid())
 		return xenbus_map();
 
+#ifdef __MINIOS__
+	if (domid == stub_domid)
+		return xenstore_buf;
+#endif
+
 	return xengnttab_map_grant_ref(*xgt_handle, domid,
 				       GNTTAB_RESERVED_XENSTORE,
 				       PROT_READ|PROT_WRITE);
@@ -509,7 +518,7 @@ static void unmap_interface(domid_t domid, void *interface)
 {
 	if (domid == xenbus_master_domid())
 		unmap_xenbus(interface);
-	else
+	else if (domid != stub_domid)
 		xengnttab_unmap(*xgt_handle, interface, 1);
 }
 
@@ -1214,6 +1223,22 @@ void dom0_init(void)
 	xenevtchn_notify(xce_handle, dom0->port);
 }
 
+void stubdom_init(void)
+{
+#ifdef __MINIOS__
+	struct domain *stubdom;
+
+	if (stub_domid < 0)
+		return;
+
+	stubdom = introduce_domain(NULL, stub_domid, xenbus_evtchn, false);
+	if (!stubdom)
+		barf_perror("Failed to initialize stubdom");
+
+	xenevtchn_notify(xce_handle, stubdom->port);
+#endif
+}
+
 static unsigned int domhash_fn(const void *k)
 {
 	return *(const unsigned int *)k;
diff --git a/tools/xenstored/domain.h b/tools/xenstored/domain.h
index 6c00540311..49c60c56bf 100644
--- a/tools/xenstored/domain.h
+++ b/tools/xenstored/domain.h
@@ -85,6 +85,7 @@ int do_reset_watches(const void *ctx, struct connection *conn,
 void domain_static_init(void);
 void domain_init(int evtfd);
 void dom0_init(void);
+void stubdom_init(void);
 void domain_deinit(void);
 void ignore_connection(struct connection *conn, unsigned int err);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:45:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:45:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626286.976418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7nR-0006KG-R8; Wed, 01 Nov 2023 09:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626286.976418; Wed, 01 Nov 2023 09: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 1qy7nR-0006K9-O6; Wed, 01 Nov 2023 09:45:57 +0000
Received: by outflank-mailman (input) for mailman id 626286;
 Wed, 01 Nov 2023 09: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7dC-0005sN-4K
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35:22 +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 f94e2189-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:35:20 +0100 (CET)
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 390291F750;
 Wed,  1 Nov 2023 09:35: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 0911B13460;
 Wed,  1 Nov 2023 09:35:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0vbUANgbQmVpCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:35: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: f94e2189-7899-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831320; 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=7wErX+mI9M5W1zZSMWgX1THrvuDdFvzbJX+7TeHAugY=;
	b=M8XlYDPCIN4yQI7dVhoSv4MdaPN+uTAMQJ/C7Ahk02piswSTH+LMe0Ym9QORIQuBQKk8ly
	DFfgeOODy7P9tSKFg/xAASLd8SSb7z8xpMRNrhi37+fHQFm5dqp/9GypFZUgMo/imV1ave
	G7T7FhzT3q0rIQn3ll6HNLk/12dI+mk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 20/29] tools: add 9pfs device to xenstore-stubdom
Date: Wed,  1 Nov 2023 10:33:16 +0100
Message-Id: <20231101093325.30302-21-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a 9pfs device to Xenstore stubdom in order to allow it to do e.g.
logging into a dom0 file.

Use the following parameters for the new device:

- tag = "xen"
- type = "xenlogd"
- path = "/var/lib/xen/xenstore"

For now don't limit allowed file space or number of files.

Add a new libxl function for adding it similar to the function for
adding the console device.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/helpers/init-xenstore-domain.c |  2 ++
 tools/include/libxl.h                | 17 ++++++++++++++++
 tools/libs/light/libxl_9pfs.c        | 29 ++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index 140ed610ae..a65abae2ac 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -543,6 +543,8 @@ int main(int argc, char** argv)
     }
     libxl_console_add_xenstore(ctx, domid, 0, console_evtchn, console_gfn,
                                NULL);
+    libxl_p9_add_xenstore(ctx, domid, 0, LIBXL_P9_TYPE_XENLOGD, "xen",
+                          XEN_LIB_DIR"/xenstore", 0, 0, 0, 0, NULL);
     libxl_ctx_free(ctx);
 
     fd = creat(XEN_RUN_DIR "/xenstored.pid", 0666);
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 907aa0a330..ab8a67f50a 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -583,6 +583,13 @@
  * libxl_console_add_xenstore() in libxl.
  */
 #define LIBXL_HAVE_CONSOLE_ADD_XENSTORE 1
+
+/*
+ * LIBXL_HAVE_P9_ADD_XENSTORE indicates presence of the function
+ * libxl_p9_add_xenstore() in libxl.
+ */
+#define LIBXL_HAVE_P9_ADD_XENSTORE 1
+
 /*
  * libxl ABI compatibility
  *
@@ -2060,6 +2067,16 @@ int libxl_console_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
                                const libxl_asyncop_how *ao_how)
                                LIBXL_EXTERNAL_CALLERS_ONLY;
 
+/* libxl_p9_add_xenstore writes the Xenstore entries for a domain's
+ * primary 9pfs device based on domid, backend type and device parameters.
+ */
+int libxl_p9_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
+                          libxl_p9_type type, char *tag, char *path,
+                          unsigned int max_space, unsigned int max_files,
+                          unsigned int max_open_files, bool auto_delete,
+                          const libxl_asyncop_how *ao_how)
+                          LIBXL_EXTERNAL_CALLERS_ONLY;
+
 /* May be called with info_r == NULL to check for domain's existence.
  * Returns ERROR_DOMAIN_NOTFOUND if domain does not exist (used to return
  * ERROR_INVAL for this scenario). */
diff --git a/tools/libs/light/libxl_9pfs.c b/tools/libs/light/libxl_9pfs.c
index 0b9d84dce9..3297389493 100644
--- a/tools/libs/light/libxl_9pfs.c
+++ b/tools/libs/light/libxl_9pfs.c
@@ -174,6 +174,35 @@ static void libxl__device_p9_add(libxl__egc *egc, uint32_t domid,
         aodev->callback(egc, aodev);
 }
 
+int libxl_p9_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
+                          libxl_p9_type type, char *tag, char *path,
+                          unsigned int max_space, unsigned int max_files,
+                          unsigned int max_open_files, bool auto_delete,
+                          const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *aodev;
+    libxl_device_p9 p9 = { .backend_domid = backend,
+                           .tag = tag,
+                           .path = path,
+                           .security_model = "none",
+                           .type = type,
+                           .max_space = max_space,
+                           .max_files = max_files,
+                           .max_open_files = max_open_files,
+                           .auto_delete = auto_delete,
+                         };
+
+    GCNEW(aodev);
+    libxl__prepare_ao_device(ao, aodev);
+    aodev->action = LIBXL__DEVICE_ACTION_ADD;
+    aodev->callback = device_addrm_aocomplete;
+
+    libxl__device_p9_add(egc, domid, &p9, aodev);
+
+    return AO_INPROGRESS;
+}
+
 #define libxl_device_p9_list NULL
 #define libxl_device_p9_compare NULL
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:45:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:45:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626287.976425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7nS-0006MB-5W; Wed, 01 Nov 2023 09:45:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626287.976425; Wed, 01 Nov 2023 09: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 1qy7nR-0006Ls-Uw; Wed, 01 Nov 2023 09:45:57 +0000
Received: by outflank-mailman (input) for mailman id 626287;
 Wed, 01 Nov 2023 09: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7dH-0005sN-J1
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35:27 +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 fc9c9d34-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:35:26 +0100 (CET)
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 C002521A34;
 Wed,  1 Nov 2023 09:35: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 94B2A13460;
 Wed,  1 Nov 2023 09:35:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 9JLwIt0bQmV3CQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:35: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: fc9c9d34-7899-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831325; 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=8BjSz724hO0UHJzaR9rl8p5uGL31/PkIonv1NOwSIio=;
	b=fo8fYOp99g80x3D+Weo/P6nTROfs8yQHVNg3vlyLtfzZX1WG1a4mgB+93JkQ1CZ9LfxjiZ
	um2SA8Y4U2lvp6S3iD1d96DaUvT0VL7gcd3/+Mg9ocvrV1ggmSgl/hdFYJPnLdsS5jWvvN
	pKzjvgHwY3uqgul3P5lo+iebH2pJVZQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 21/29] tools: tell xenstore-stubdom its own domid
Date: Wed,  1 Nov 2023 10:33:17 +0100
Message-Id: <20231101093325.30302-22-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Pass the domid as a boot parameter when starting xenstore-stubdom.
It will be needed to administrate its own Xenstore entries.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/helpers/init-xenstore-domain.c | 4 ++--
 tools/xenstored/core.c               | 9 +++++++++
 tools/xenstored/core.h               | 1 +
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index a65abae2ac..718cb3ba4e 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -240,9 +240,9 @@ static int build(xc_interface *xch)
     }
 
     if ( param )
-        snprintf(cmdline, 512, "--event %d %s", rv, param);
+        snprintf(cmdline, 512, "--event %d --domid %u %s", rv, domid, param);
     else
-        snprintf(cmdline, 512, "--event %d", rv);
+        snprintf(cmdline, 512, "--event %d --domid %u", rv, domid);
 
     dom->guest_domid = domid;
     dom->cmdline = xc_dom_strdup(dom, cmdline);
diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index edd07711db..bb4612455d 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2732,12 +2732,16 @@ static struct option options[] = {
 	{ "watch-nb", 1, NULL, 'W' },
 #ifndef NO_LIVE_UPDATE
 	{ "live-update", 0, NULL, 'U' },
+#endif
+#ifdef __MINIOS__
+	{ "domid", 1, NULL, 2 },
 #endif
 	{ NULL, 0, NULL, 0 } };
 
 int dom0_domid = 0;
 int dom0_event = 0;
 int priv_domid = 0;
+int stub_domid = -1;
 
 static unsigned int get_optval_uint(const char *arg)
 {
@@ -2927,6 +2931,11 @@ int main(int argc, char *argv[])
 		case 'U':
 			live_update = true;
 			break;
+#endif
+#ifdef __MINIOS__
+		case 2:
+			stub_domid = get_optval_uint(optarg);
+			break;
 #endif
 		}
 	}
diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index 480b0f5f7b..f7a27a4131 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -359,6 +359,7 @@ do {						\
 extern int dom0_domid;
 extern int dom0_event;
 extern int priv_domid;
+extern int stub_domid;
 extern bool keep_orphans;
 
 extern unsigned int timeout_watch_event_msec;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:46:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:46:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626293.976438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7oM-0007Vu-By; Wed, 01 Nov 2023 09:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626293.976438; Wed, 01 Nov 2023 09:46: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 1qy7oM-0007Vn-8g; Wed, 01 Nov 2023 09:46:54 +0000
Received: by outflank-mailman (input) for mailman id 626293;
 Wed, 01 Nov 2023 09:46: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7du-0005sN-Nv
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:36:06 +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 13eeaff0-789a-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:36:05 +0100 (CET)
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 DEB551F74D;
 Wed,  1 Nov 2023 09:36: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 B20BD13460;
 Wed,  1 Nov 2023 09:36:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id xYQ6KgQcQmW7CQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:36: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: 13eeaff0-789a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831364; 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=lu0WplxXTKB8e/O4GGP2IWT4s4QFFiu0mF15YaAuCzw=;
	b=O3+NbfMDna+vFQ2XWJgN1rmM5srwOzFktfaQ9c/LnBFT5XqW8wIR4hYNbSu7wD2DPsh6gA
	poG07fVQ88QpLNk/yROr7B/p7514019YgbwCryCXpvnmChgI/qXCGhjPFD3SEePnqSrXfe
	MqOEr8yb2xRCjvMkJFPwqkIu4TQbn9k=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH 28/29] tools/xenstored: support complete log capabilities in stubdom
Date: Wed,  1 Nov 2023 10:33:24 +0100
Message-Id: <20231101093325.30302-29-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With 9pfs being fully available in Xenstore-stubdom now, there is no
reason to not fully support all logging capabilities in stubdom.

Open the logfile on stubdom only after the 9pfs file system has been
mounted.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/hotplug/Linux/launch-xenstore.in |  1 +
 tools/xenstored/control.c              | 30 +++++++++++++-------------
 tools/xenstored/minios.c               |  3 +++
 3 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/tools/hotplug/Linux/launch-xenstore.in b/tools/hotplug/Linux/launch-xenstore.in
index e854ca1eb8..da4eeca7c5 100644
--- a/tools/hotplug/Linux/launch-xenstore.in
+++ b/tools/hotplug/Linux/launch-xenstore.in
@@ -98,6 +98,7 @@ test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons && . @CONFIG_DIR@/@CONFIG_LEAF
 	[ -z "$XENSTORE_DOMAIN_SIZE" ] && XENSTORE_DOMAIN_SIZE=8
 	XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --memory $XENSTORE_DOMAIN_SIZE"
 	[ -z "$XENSTORE_MAX_DOMAIN_SIZE" ] || XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --maxmem $XENSTORE_MAX_DOMAIN_SIZE"
+	[ -z "$XENSTORED_TRACE" ] || XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS -T xenstored-trace.log"
 
 	echo -n Starting $XENSTORE_DOMAIN_KERNEL...
 	${LIBEXEC_BIN}/init-xenstore-domain $XENSTORE_DOMAIN_ARGS || exit 1
diff --git a/tools/xenstored/control.c b/tools/xenstored/control.c
index b2f64d674f..dae23a5ac0 100644
--- a/tools/xenstored/control.c
+++ b/tools/xenstored/control.c
@@ -201,19 +201,6 @@ static int do_control_quota_s(const void *ctx, struct connection *conn,
 	return EINVAL;
 }
 
-#ifdef __MINIOS__
-static int do_control_memreport(const void *ctx, struct connection *conn,
-				const char **vec, int num)
-{
-	if (num)
-		return EINVAL;
-
-	talloc_report_full(NULL, stdout);
-
-	send_ack(conn, XS_CONTROL);
-	return 0;
-}
-#else
 static int do_control_logfile(const void *ctx, struct connection *conn,
 			      const char **vec, int num)
 {
@@ -222,13 +209,26 @@ static int do_control_logfile(const void *ctx, struct connection *conn,
 
 	close_log();
 	talloc_free(tracefile);
-	tracefile = talloc_strdup(NULL, vec[0]);
+	tracefile = absolute_filename(NULL, vec[0]);
 	reopen_log();
 
 	send_ack(conn, XS_CONTROL);
 	return 0;
 }
 
+#ifdef __MINIOS__
+static int do_control_memreport(const void *ctx, struct connection *conn,
+				const char **vec, int num)
+{
+	if (num)
+		return EINVAL;
+
+	talloc_report_full(NULL, stdout);
+
+	send_ack(conn, XS_CONTROL);
+	return 0;
+}
+#else
 static int do_control_memreport(const void *ctx, struct connection *conn,
 				const char **vec, int num)
 {
@@ -309,10 +309,10 @@ static struct cmd_s cmds[] = {
 		"[-c <cmdline>] [-F] [-t <timeout>] <file>\n"
 		"    Default timeout is 60 seconds.", 5 },
 #endif
+	{ "logfile", do_control_logfile, "<file>" },
 #ifdef __MINIOS__
 	{ "memreport", do_control_memreport, "" },
 #else
-	{ "logfile", do_control_logfile, "<file>" },
 	{ "memreport", do_control_memreport, "[<file>]" },
 #endif
 	{ "print", do_control_print, "<string>" },
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index cd6e288f2a..c02a263d9d 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -87,6 +87,9 @@ static void mount_thread(void *p)
 	free(xenbus_unwatch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs"));
 
 	p9_device = init_9pfront(0, XENSTORE_LIB_DIR);
+
+	/* Start logging if selected. */
+	reopen_log();
 }
 
 void mount_9pfs(void)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:47:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:47:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626299.976448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7pK-0008JA-OQ; Wed, 01 Nov 2023 09:47:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626299.976448; Wed, 01 Nov 2023 09:47: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 1qy7pK-0008J3-Lv; Wed, 01 Nov 2023 09:47:54 +0000
Received: by outflank-mailman (input) for mailman id 626299;
 Wed, 01 Nov 2023 09:47: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7d5-0005E0-BR
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35:15 +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 f60426cb-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:35:14 +0100 (CET)
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 9D2471F74A;
 Wed,  1 Nov 2023 09:35: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 7BDAC13460;
 Wed,  1 Nov 2023 09:35:14 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 07v7HNIbQmVdCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:35: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: f60426cb-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831314; 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=0BCvqkeF/p7gtxHE7eM8MzybUWLvedVAfVRJo1N4ieE=;
	b=skswm6PqpH/X2ANmAYar1eIoRvBMUhIG1XfSQEW+md0ZUYtotEDcA4gcnnME3l3USe1swB
	Nd23c2PAGnik/Vf+9S5EeXS1Q/u725p/Hqgv8BzVTo+oIM+7OQuTESsrvOStDmovD5w4q8
	sJCPQyBlvA2w6mYehUJWT8dNj8NUYRE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH 19/29] stubdom: extend xenstore stubdom configs
Date: Wed,  1 Nov 2023 10:33:15 +0100
Message-Id: <20231101093325.30302-20-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Extend the config files of the Xenstore stubdoms to include XENBUS
and 9PFRONT items in order to support file based logging.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 stubdom/xenstore-minios.cfg    | 2 +-
 stubdom/xenstorepvh-minios.cfg | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/stubdom/xenstore-minios.cfg b/stubdom/xenstore-minios.cfg
index a41704bb6b..239da519b9 100644
--- a/stubdom/xenstore-minios.cfg
+++ b/stubdom/xenstore-minios.cfg
@@ -3,7 +3,7 @@ CONFIG_NETFRONT=n
 CONFIG_FBFRONT=n
 CONFIG_KBDFRONT=n
 CONFIG_CONSFRONT=n
-CONFIG_XENBUS=n
 CONFIG_LWIP=n
+CONFIG_9PFRONT=y
 CONFIG_BALLOON=y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
diff --git a/stubdom/xenstorepvh-minios.cfg b/stubdom/xenstorepvh-minios.cfg
index 6af51f5753..752b90d7d3 100644
--- a/stubdom/xenstorepvh-minios.cfg
+++ b/stubdom/xenstorepvh-minios.cfg
@@ -4,7 +4,7 @@ CONFIG_NETFRONT=n
 CONFIG_FBFRONT=n
 CONFIG_KBDFRONT=n
 CONFIG_CONSFRONT=n
-CONFIG_XENBUS=n
 CONFIG_LWIP=n
+CONFIG_9PFRONT=y
 CONFIG_BALLOON=y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:48:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:48:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626301.976459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7pS-0000Bg-1n; Wed, 01 Nov 2023 09:48:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626301.976459; Wed, 01 Nov 2023 09:48: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 1qy7pR-0000BZ-UO; Wed, 01 Nov 2023 09:48:01 +0000
Received: by outflank-mailman (input) for mailman id 626301;
 Wed, 01 Nov 2023 09:48: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7cz-0005E0-Rx
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35: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 f2b8dac9-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:35:09 +0100 (CET)
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 1BEF41F74A;
 Wed,  1 Nov 2023 09:35: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 E6B9F13460;
 Wed,  1 Nov 2023 09:35:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2gIaN8wbQmVWCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:35: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: f2b8dac9-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831309; 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=o4iqEXJmoZDlxNSf/ct8F3oPFJck5Vf1mV174DKFLFU=;
	b=JaUKC/pD88b+g7Gk2mtt3578hhevWGZfzX6lK5PKnGXKiMDCkBBilbdONSiYaiIO+5usvx
	mDm9HmwQZT4nqefgY+Uf2HImlIzzF1jNNWS61voEn1uEUHy4oPsWDtQi7uRGkJkqeSDTPo
	SvCWT0/421lnsVsxbbQSEJofdRm4PYs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 18/29] tools/xenstored: rename xenbus_evtchn()
Date: Wed,  1 Nov 2023 10:33:14 +0100
Message-Id: <20231101093325.30302-19-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rename the xenbus_evtchn() function to get_xenbus_evtchn() in order to
avoid two externally visible symbols with the same name when Xenstore-
stubdom is being built with a Mini-OS with CONFIG_XENBUS set.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.h   | 2 +-
 tools/xenstored/domain.c | 2 +-
 tools/xenstored/minios.c | 2 +-
 tools/xenstored/posix.c  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index ad87199042..480b0f5f7b 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -383,7 +383,7 @@ static inline bool domain_is_unprivileged(const struct connection *conn)
 }
 
 /* Return the event channel used by xenbus. */
-evtchn_port_t xenbus_evtchn(void);
+evtchn_port_t get_xenbus_evtchn(void);
 
 /* Write out the pidfile */
 void write_pidfile(const char *pidfile);
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 409b53acf9..6ef136e01f 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1208,7 +1208,7 @@ void dom0_init(void)
 	evtchn_port_t port;
 	struct domain *dom0;
 
-	port = xenbus_evtchn();
+	port = get_xenbus_evtchn();
 	if (port == -1)
 		barf_perror("Failed to initialize dom0 port");
 
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index b5c3a205e6..0779efbf91 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -38,7 +38,7 @@ void init_pipe(int reopen_log_pipe[2])
 	reopen_log_pipe[1] = -1;
 }
 
-evtchn_port_t xenbus_evtchn(void)
+evtchn_port_t get_xenbus_evtchn(void)
 {
 	return dom0_event;
 }
diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
index 6ac45fdb45..7e03dd982d 100644
--- a/tools/xenstored/posix.c
+++ b/tools/xenstored/posix.c
@@ -111,7 +111,7 @@ void unmap_xenbus(void *interface)
 	munmap(interface, getpagesize());
 }
 
-evtchn_port_t xenbus_evtchn(void)
+evtchn_port_t get_xenbus_evtchn(void)
 {
 	int fd;
 	int rc;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:50:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:50:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626309.976468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7rK-0001Ro-Cc; Wed, 01 Nov 2023 09:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626309.976468; Wed, 01 Nov 2023 09: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 1qy7rK-0001Rh-9S; Wed, 01 Nov 2023 09:49:58 +0000
Received: by outflank-mailman (input) for mailman id 626309;
 Wed, 01 Nov 2023 09:49: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7dn-0005E0-Vi
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35: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 10a643c7-789a-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:35:59 +0100 (CET)
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 4FE9621846;
 Wed,  1 Nov 2023 09:35: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 22A6013460;
 Wed,  1 Nov 2023 09:35:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id XNstB/8bQmWxCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:35: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: 10a643c7-789a-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831359; 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=VvPBJlyg+rtDKl5QJN43vNqPqvgJfq1ZXkp/nXSGa04=;
	b=BPZ84pRdrc1OTDb05gU7LEVcyGAmzcXl35NBc2rld6cmfAo8qOcXvu9IoOfzQYy2Y7cIIj
	xPop956+noIIGOQs7fqybUOzNc+2B8tJ060n4uzrxGMIq7suBgwLGs7zVH7nDjEOLU7KJK
	BKhHIv3pr94aYyDubRwop3JjZaKDmJI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 27/29] tools/xenstored: add daemon_init() function
Date: Wed,  1 Nov 2023 10:33:23 +0100
Message-Id: <20231101093325.30302-28-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some xenstored initialization needs to be done in the daemon case only,
so split it out into a new daemon_init() function being a stub in the
stubdom case.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c   |  6 +-----
 tools/xenstored/core.h   |  1 +
 tools/xenstored/minios.c |  4 ++++
 tools/xenstored/posix.c  | 10 ++++++++++
 4 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 9f48d91027..204b932ca9 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2949,11 +2949,7 @@ int main(int argc, char *argv[])
 	if (optind != argc)
 		barf("%s: No arguments desired", argv[0]);
 
-	reopen_log();
-
-	/* Make sure xenstored directory exists. */
-	/* Errors ignored here, will be reported when we open files */
-	mkdir(xenstore_daemon_rundir(), 0755);
+	daemon_init();
 
 	if (dofork) {
 		openlog("xenstored", 0, LOG_DAEMON);
diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index d3cd4a4c8a..a15d5b0d67 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -391,6 +391,7 @@ evtchn_port_t get_xenbus_evtchn(void);
 void mount_9pfs(void);
 #endif
 
+void daemon_init(void);
 const char *xenstore_rundir(void);
 char *absolute_filename(const void *ctx, const char *filename);
 
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index 104f37587b..cd6e288f2a 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -62,6 +62,10 @@ void unmap_xenbus(void *interface)
 	xengnttab_unmap(*xgt_handle, interface, 1);
 }
 
+void daemon_init(void)
+{
+}
+
 static void mount_thread(void *p)
 {
 	xenbus_event_queue events = NULL;
diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
index d02d0e446f..c84e7ef3a8 100644
--- a/tools/xenstored/posix.c
+++ b/tools/xenstored/posix.c
@@ -163,3 +163,13 @@ const char *xenstore_rundir(void)
 {
 	return xenstore_daemon_rundir();
 }
+
+void daemon_init(void)
+{
+	reopen_log();
+
+	/* Make sure xenstored directories exist. */
+	/* Errors ignored here, will be reported when we open files */
+	mkdir(xenstore_daemon_rundir(), 0755);
+	mkdir(XENSTORE_LIB_DIR, 0755);
+}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:50:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:50:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626315.976479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7ry-0002tp-LN; Wed, 01 Nov 2023 09:50:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626315.976479; Wed, 01 Nov 2023 09: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 1qy7ry-0002ti-HN; Wed, 01 Nov 2023 09:50:38 +0000
Received: by outflank-mailman (input) for mailman id 626315;
 Wed, 01 Nov 2023 09:50: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7di-0005E0-KQ
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35: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 0d53b678-789a-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:35:54 +0100 (CET)
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 B5C2A1F74A;
 Wed,  1 Nov 2023 09:35: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 8814D13460;
 Wed,  1 Nov 2023 09:35:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WHvNH/kbQmWoCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:35: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: 0d53b678-789a-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831353; 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=O8ibJTSvpdBw5QYEwaYDmGyzTvOSMmm8TeHf7YRE1kM=;
	b=NYPZa+Qtfa6ex1QlDJbLznL9uTxygKINAzDvHcaSd7HR9tN2w136SHDzRvvt+HJhXXOJR4
	4Y22JZdLc4JC+hqPZnA3p5Bzw8sI29uD3iV338qi9Zmy6jam6KZUq/7IUSU+powDzybeX4
	OaCxlTf9M6X+uOyoowsh2PVDYZpwlHQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 26/29] tools/xenstored: add helpers for filename handling
Date: Wed,  1 Nov 2023 10:33:22 +0100
Message-Id: <20231101093325.30302-27-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add some helpers for handling filenames which might need different
implementations between stubdom and daemon environments:

- expansion of relative filenames (those are not really defined today,
  just expand them to be relative to /var/lib/xen/xenstore)
- expansion of xenstore_daemon_rundir() (used e.g. for saving the state
  file in case of live update - needs to be unchanged in the daemon
  case, but should result in /var/lib/xen/xenstore for stubdom)

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c      | 9 ++++++++-
 tools/xenstored/core.h      | 3 +++
 tools/xenstored/lu_daemon.c | 4 ++--
 tools/xenstored/minios.c    | 5 +++++
 tools/xenstored/posix.c     | 6 ++++++
 5 files changed, 24 insertions(+), 3 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 1764b1af4e..9f48d91027 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -158,6 +158,13 @@ void trace_destroy(const void *data, const char *type)
 		trace("obj: DESTROY %s %p\n", type, data);
 }
 
+char *absolute_filename(const void *ctx, const char *filename)
+{
+	if (filename[0] != '/')
+		return talloc_asprintf(ctx, XENSTORE_LIB_DIR "/%s", filename);
+	return talloc_strdup(ctx, filename);
+}
+
 /**
  * Signal handler for SIGHUP, which requests that the trace log is reopened
  * (in the main loop).  A single byte is written to reopen_log_pipe, to awaken
@@ -2995,7 +3002,7 @@ int main(int argc, char *argv[])
 
 	signal(SIGHUP, trigger_reopen_log);
 	if (tracefile)
-		tracefile = talloc_strdup(NULL, tracefile);
+		tracefile = absolute_filename(NULL, tracefile);
 
 #ifndef NO_LIVE_UPDATE
 	/* Read state in case of live update. */
diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index 48ff659ec5..d3cd4a4c8a 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -391,6 +391,9 @@ evtchn_port_t get_xenbus_evtchn(void);
 void mount_9pfs(void);
 #endif
 
+const char *xenstore_rundir(void);
+char *absolute_filename(const void *ctx, const char *filename);
+
 /* Write out the pidfile */
 void write_pidfile(const char *pidfile);
 
diff --git a/tools/xenstored/lu_daemon.c b/tools/xenstored/lu_daemon.c
index 71bcabadd3..6351111ab0 100644
--- a/tools/xenstored/lu_daemon.c
+++ b/tools/xenstored/lu_daemon.c
@@ -24,7 +24,7 @@ void lu_get_dump_state(struct lu_dump_state *state)
 	state->size = 0;
 
 	state->filename = talloc_asprintf(NULL, "%s/state_dump",
-					  xenstore_daemon_rundir());
+					  xenstore_rundir());
 	if (!state->filename)
 		barf("Allocation failure");
 
@@ -65,7 +65,7 @@ FILE *lu_dump_open(const void *ctx)
 	int fd;
 
 	filename = talloc_asprintf(ctx, "%s/state_dump",
-				   xenstore_daemon_rundir());
+				   xenstore_rundir());
 	if (!filename)
 		return NULL;
 
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index e5a3684df6..104f37587b 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -89,3 +89,8 @@ void mount_9pfs(void)
 {
 	create_thread("mount-9pfs", mount_thread, NULL);
 }
+
+const char *xenstore_rundir(void)
+{
+	return XENSTORE_LIB_DIR;
+}
diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
index 7e03dd982d..d02d0e446f 100644
--- a/tools/xenstored/posix.c
+++ b/tools/xenstored/posix.c
@@ -22,6 +22,7 @@
 #include <fcntl.h>
 #include <stdlib.h>
 #include <sys/mman.h>
+#include <xen-tools/xenstore-common.h>
 
 #include "utils.h"
 #include "core.h"
@@ -157,3 +158,8 @@ void *xenbus_map(void)
 
 	return addr;
 }
+
+const char *xenstore_rundir(void)
+{
+	return xenstore_daemon_rundir();
+}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:51:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:51:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626318.976488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7sl-0003dg-Sd; Wed, 01 Nov 2023 09:51:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626318.976488; Wed, 01 Nov 2023 09: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 1qy7sl-0003dZ-Px; Wed, 01 Nov 2023 09:51:27 +0000
Received: by outflank-mailman (input) for mailman id 626318;
 Wed, 01 Nov 2023 09: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7cj-0005E0-4t
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:53 +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 e8b1f2cb-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:34:52 +0100 (CET)
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 4815E21A34;
 Wed,  1 Nov 2023 09:34: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 224B113460;
 Wed,  1 Nov 2023 09:34:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gzoMB7wbQmUuCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:34: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: e8b1f2cb-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831292; 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=w3PBNBB3kJ9bivxGczmEg6Y0kCgbJHQRQkdhIETfwqU=;
	b=Cna131tUSW3IdHlOx4FSuIUfpI+8J3oyqRhdPU4V/Fgfz9pxj4/+HDyNKawmLm7vg8oYQM
	xvK5gz7tGU3qsfMEf+9pUVcnY5AUzfFBGS+q+EEXK0wlHeboAGoTGiFlR2JrLFPgVBobMw
	owbCLPaZU2xc7wmJKchG7lrQ+PcA5qA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 15/29] tools/libs/light: add backend type for 9pfs PV devices
Date: Wed,  1 Nov 2023 10:33:11 +0100
Message-Id: <20231101093325.30302-16-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Make the backend type of 9pfs PV devices configurable. The default is
"qemu" with the related Xenstore backend-side directory being "9pfs".

Add another type "xenlogd" with the related Xenstore backend-side
directory "xen_9pfs".

As additional security features it is possible to specify:
- "max-space" for limiting the maximum space consumed on the filesystem
  in MBs
- "max-files" for limiting the maximum number of files in the
  filesystem
- "max-open-files" for limiting the maximum number of concurrent open
  files

For convenience "auto-delete" is available to let the backend delete the
oldest file of the guest in case otherwise "max-space" or "max-files"
would be violated.

The xenlogd daemon will be started by libxenlight automatically when
the first "xen_9pfs" device is being created.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/libs/light/libxl_9pfs.c             | 143 +++++++++++++++++++++-
 tools/libs/light/libxl_create.c           |   4 +-
 tools/libs/light/libxl_dm.c               |   2 +-
 tools/libs/light/libxl_types.idl          |  11 ++
 tools/libs/light/libxl_types_internal.idl |   1 +
 5 files changed, 154 insertions(+), 7 deletions(-)

diff --git a/tools/libs/light/libxl_9pfs.c b/tools/libs/light/libxl_9pfs.c
index 5ab0d3aa21..0b9d84dce9 100644
--- a/tools/libs/light/libxl_9pfs.c
+++ b/tools/libs/light/libxl_9pfs.c
@@ -33,20 +33,157 @@ static int libxl__set_xenstore_p9(libxl__gc *gc, uint32_t domid,
 
     flexarray_append_pair(front, "tag", p9->tag);
 
+    if (p9->type == LIBXL_P9_TYPE_XENLOGD) {
+        flexarray_append_pair(back, "max-space",
+                              GCSPRINTF("%u", p9->max_space));
+        flexarray_append_pair(back, "max-files",
+                              GCSPRINTF("%u", p9->max_files));
+        flexarray_append_pair(back, "max-open-files",
+                              GCSPRINTF("%u", p9->max_open_files));
+        flexarray_append_pair(back, "auto-delete",
+                              p9->auto_delete ? "1" : "0");
+    }
+
+    return 0;
+}
+
+static int libxl__device_from_p9(libxl__gc *gc, uint32_t domid,
+                                 libxl_device_p9 *type, libxl__device *device)
+{
+    device->backend_devid   = type->devid;
+    device->backend_domid   = type->backend_domid;
+    device->backend_kind    = type->type == LIBXL_P9_TYPE_QEMU
+                              ? LIBXL__DEVICE_KIND_9PFS
+                              : LIBXL__DEVICE_KIND_XEN_9PFS;
+    device->devid           = type->devid;
+    device->domid           = domid;
+    device->kind            = LIBXL__DEVICE_KIND_9PFS;
+
     return 0;
 }
 
-#define libxl__add_p9s NULL
+static int libxl_device_p9_dm_needed(void *e, unsigned domid)
+{
+    libxl_device_p9 *elem = e;
+
+    return elem->type == LIBXL_P9_TYPE_QEMU && elem->backend_domid == domid;
+}
+
+typedef struct libxl__aop9_state libxl__aop9_state;
+
+struct libxl__aop9_state {
+    libxl__spawn_state spawn;
+    libxl__ao_device *aodev;
+    libxl_device_p9 *p9;
+    uint32_t domid;
+    void (*callback)(libxl__egc *, libxl__aop9_state *, int);
+};
+
+static void xenlogd_spawn_outcome(libxl__egc *egc, libxl__aop9_state *aop9,
+                                  int rc)
+{
+    aop9->aodev->rc = rc;
+    if (rc)
+        aop9->aodev->callback(egc, aop9->aodev);
+    else
+        libxl__device_add_async(egc, aop9->domid, &libxl__p9_devtype,
+                                aop9->p9, aop9->aodev);
+}
+
+static void xenlogd_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
+                            const char *xsdata)
+{
+    STATE_AO_GC(spawn->ao);
+
+    if (!xsdata)
+        return;
+
+    if (strcmp(xsdata, "running"))
+        return;
+
+    libxl__spawn_initiate_detach(gc, spawn);
+}
+
+static void xenlogd_failed(libxl__egc *egc, libxl__spawn_state *spawn, int rc)
+{
+    libxl__aop9_state *aop9 = CONTAINER_OF(spawn, *aop9, spawn);
+
+    xenlogd_spawn_outcome(egc, aop9, rc);
+}
+
+static void xenlogd_detached(libxl__egc *egc, libxl__spawn_state *spawn)
+{
+    libxl__aop9_state *aop9 = CONTAINER_OF(spawn, *aop9, spawn);
+
+    xenlogd_spawn_outcome(egc, aop9, 0);
+}
+
+static int xenlogd_spawn(libxl__egc *egc, uint32_t domid, libxl_device_p9 *p9,
+                         libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    struct libxl__aop9_state *aop9;
+    int rc;
+    char *args[] = { "xenlogd", NULL };
+
+    if (p9->type != LIBXL_P9_TYPE_XENLOGD ||
+        libxl__xs_read(gc, XBT_NULL, "/tool/xenlog/state"))
+        return 0;
+
+    GCNEW(aop9);
+    aop9->aodev = aodev;
+    aop9->p9 = p9;
+    aop9->domid = domid;
+    aop9->callback = xenlogd_spawn_outcome;
+
+    aop9->spawn.ao = aodev->ao;
+    aop9->spawn.what = "xenlog daemon";
+    aop9->spawn.xspath = "/tool/xenlog/state";
+    aop9->spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    aop9->spawn.pidpath = "/tool/xenlog/pid";
+    aop9->spawn.midproc_cb = libxl__spawn_record_pid;
+    aop9->spawn.confirm_cb = xenlogd_confirm;
+    aop9->spawn.failure_cb = xenlogd_failed;
+    aop9->spawn.detached_cb = xenlogd_detached;
+    rc = libxl__spawn_spawn(egc, &aop9->spawn);
+    if (rc < 0)
+        return rc;
+    if (!rc) {
+        setsid();
+        libxl__exec(gc, -1, -1, -1, LIBEXEC_BIN "/xenlogd", args, NULL);
+    }
+
+    return 1;
+}
+
+static void libxl__device_p9_add(libxl__egc *egc, uint32_t domid,
+                                 libxl_device_p9 *p9,
+                                 libxl__ao_device *aodev)
+{
+    int rc;
+
+    rc = xenlogd_spawn(egc, domid, p9, aodev);
+    if (rc == 1)
+        return;
+
+    if (rc == 0)
+        libxl__device_add_async(egc, domid, &libxl__p9_devtype, p9, aodev);
+
+    aodev->rc = rc;
+    if (rc)
+        aodev->callback(egc, aodev);
+}
+
 #define libxl_device_p9_list NULL
 #define libxl_device_p9_compare NULL
 
 static LIBXL_DEFINE_UPDATE_DEVID(p9)
-static LIBXL_DEFINE_DEVICE_FROM_TYPE(p9)
+static LIBXL_DEFINE_DEVICES_ADD(p9)
 
 LIBXL_DEFINE_DEVICE_REMOVE(p9)
 
 DEFINE_DEVICE_TYPE_STRUCT(p9, 9PFS, p9s,
-    .skip_attach = 1,
     .set_xenstore_config = (device_set_xenstore_config_fn_t)
                            libxl__set_xenstore_p9,
+    .dm_needed = libxl_device_p9_dm_needed,
 );
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index ce1d431103..b19e9379b6 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1760,9 +1760,6 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_console_dispose(&console);
     }
 
-    for (i = 0; i < d_config->num_p9s; i++)
-        libxl__device_add(gc, domid, &libxl__p9_devtype, &d_config->p9s[i]);
-
     for (i = 0; i < d_config->num_pvcallsifs; i++)
         libxl__device_add(gc, domid, &libxl__pvcallsif_devtype,
                           &d_config->pvcallsifs[i]);
@@ -1899,6 +1896,7 @@ const libxl__device_type *device_type_tbl[] = {
     &libxl__vdispl_devtype,
     &libxl__vsnd_devtype,
     &libxl__virtio_devtype,
+    &libxl__p9_devtype,
     NULL
 };
 
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 14b593110f..2aaaeb5aa7 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -3761,7 +3761,7 @@ int libxl__need_xenpv_qemu(libxl__gc *gc, libxl_domain_config *d_config)
         goto out;
     }
 
-    if (d_config->num_vfbs > 0 || d_config->num_p9s > 0) {
+    if (d_config->num_vfbs > 0) {
         ret = 1;
         goto out;
     }
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 7d8bd5d216..e910bf1621 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -150,6 +150,12 @@ libxl_nic_type = Enumeration("nic_type", [
     (2, "VIF"),
     ])
 
+libxl_p9_type = Enumeration("p9_type", [
+    (0, "unknown"),
+    (1, "qemu"),
+    (2, "xenlogd"),
+    ])
+
 libxl_action_on_shutdown = Enumeration("action_on_shutdown", [
     (1, "DESTROY"),
 
@@ -942,6 +948,11 @@ libxl_device_p9 = Struct("device_p9", [
     ("path",             string),
     ("security_model",   string),
     ("devid",            libxl_devid),
+    ("type",             libxl_p9_type),
+    ("max_space",        integer),
+    ("max_files",        integer),
+    ("max_open_files",   integer),
+    ("auto_delete",      bool),
 ])
 
 libxl_device_pvcallsif = Struct("device_pvcallsif", [
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index e24288f1a5..39da71cef5 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, "VIRTIO"),
+    (19, "XEN_9PFS"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:51:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626322.976499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7t3-00045T-7c; Wed, 01 Nov 2023 09:51:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626322.976499; Wed, 01 Nov 2023 09:51: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 1qy7t3-00045M-4o; Wed, 01 Nov 2023 09:51:45 +0000
Received: by outflank-mailman (input) for mailman id 626322;
 Wed, 01 Nov 2023 09: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7cB-0005E0-On
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:19 +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 d4d612ca-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:34:19 +0100 (CET)
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 ECD8D21835;
 Wed,  1 Nov 2023 09:34: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 BC2C713460;
 Wed,  1 Nov 2023 09:34:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bjaTLJobQmXzCAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09: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>
X-Inumbo-ID: d4d612ca-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831258; 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=+E0nJLTyclf5CJbKX/5YoRErJSYEG/DI6e1oQaOsog8=;
	b=AxiGrL9PBABzKDpoI3x/ry2nsJSvs/tZRvn9MxfY3oQ40chYOcrIm3bhEJTGiKeIW+PEO0
	Y8KSjYxrKt/H32nVQHIKOWQp57xW1W1yKJFkiFot+zoWY6xNP2elypLxy9Qg9Dwo2gqeKj
	+3xYoPYT39SmKmqe7983V+pzydJhuPY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 09/29] tools/xenlogd: add 9pfs open request support
Date: Wed,  1 Nov 2023 10:33:05 +0100
Message-Id: <20231101093325.30302-10-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the open request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c      | 130 ++++++++++++++++++++++++++++++++++++++++
 tools/xenlogd/xenlogd.h |   4 ++
 2 files changed, 134 insertions(+)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index 778e1dc2c9..c2b259f42e 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -18,6 +18,8 @@
 #include <syslog.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <dirent.h>
+#include <fcntl.h>
 #include <xenctrl.h>           /* For cpu barriers. */
 #include <xen-tools/common-macros.h>
 
@@ -28,6 +30,15 @@
 #define P9_CMD_ATTACH     104
 #define P9_CMD_ERROR      107
 #define P9_CMD_WALK       110
+#define P9_CMD_OPEN       112
+
+/* P9 protocol open flags. */
+#define P9_OREAD            0   /* read */
+#define P9_OWRITE           1   /* write */
+#define P9_ORDWR            2   /* read and write */
+#define P9_OMODEMASK     0x03
+#define P9_OTRUNC        0x10   /* or'ed in, truncate file first */
+#define P9_OREMOVE       0x40   /* or'ed in, remove file after clunk */
 
 #define P9_MIN_MSIZE      2048
 #define P9_VERSION        "9P2000.u"
@@ -734,6 +745,121 @@ static void p9_walk(device *device, struct p9_header *hdr)
     free(names);
 }
 
+static int open_flags_from_mode(uint8_t mode)
+{
+    int flags;
+
+    switch ( mode & P9_OMODEMASK )
+    {
+    case P9_OREAD:
+        flags = O_RDONLY;
+        break;
+
+    case P9_OWRITE:
+        flags = O_WRONLY;
+        break;
+
+    case P9_ORDWR:
+        flags = O_RDWR;
+        break;
+
+    default:
+        return -1;
+    }
+
+    if ( mode & P9_OTRUNC )
+        flags |= O_TRUNC;
+
+    return flags;
+}
+
+static unsigned int get_iounit(device *device, struct stat *st)
+{
+    return (device->max_size - st->st_blksize) & ~(st->st_blksize - 1);
+}
+
+static void p9_open(device *device, struct p9_header *hdr)
+{
+    uint32_t fid;
+    uint8_t mode;
+    struct p9_fid *fidp;
+    struct stat st;
+    struct p9_qid qid;
+    uint32_t iounit;
+    int flags;
+    int ret;
+
+    ret = fill_data(device, "Ub", &fid, &mode);
+    if ( ret != 2 )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+    if ( mode & ~(P9_OMODEMASK | P9_OTRUNC | P9_OREMOVE) )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = find_fid(device, fid);
+    if ( !fidp )
+    {
+        p9_error(device, hdr->tag, ENOENT);
+        return;
+    }
+    if ( fidp->opened )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+
+    if ( stat(fidp->path, &st) < 0 )
+    {
+        p9_error(device, hdr->tag, ENOENT);
+        return;
+    }
+
+    fidp->isdir = S_ISDIR(st.st_mode);
+    fidp->mode = mode;
+    if ( fidp->isdir )
+    {
+        if ( mode != P9_OREAD )
+        {
+            p9_error(device, hdr->tag, EINVAL);
+            return;
+        }
+        fidp->data = opendir(fidp->path);
+        if ( !fidp->data )
+        {
+            p9_error(device, hdr->tag, errno);
+            return;
+        }
+        fidp->fd = dirfd(fidp->data);
+    }
+    else
+    {
+        flags = open_flags_from_mode(mode);
+        if ( flags < 0 )
+        {
+            p9_error(device, hdr->tag, EINVAL);
+            return;
+        }
+
+        fidp->fd = open(fidp->path, flags);
+        if ( fidp->fd < 0 )
+        {
+            p9_error(device, hdr->tag, errno);
+            return;
+        }
+    }
+
+    fill_qid(fidp->path, &qid, &st);
+    iounit = get_iounit(device, &st);
+    fidp->opened = true;
+
+    fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
+}
+
 void *io_thread(void *arg)
 {
     device *device = arg;
@@ -801,6 +927,10 @@ void *io_thread(void *arg)
                 p9_walk(device, &hdr);
                 break;
 
+            case P9_CMD_OPEN:
+                p9_open(device, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        device->domid, device->devid, hdr.cmd);
diff --git a/tools/xenlogd/xenlogd.h b/tools/xenlogd/xenlogd.h
index 23f013af9e..6b7b5e2b91 100644
--- a/tools/xenlogd/xenlogd.h
+++ b/tools/xenlogd/xenlogd.h
@@ -22,7 +22,11 @@ struct p9_header {
 struct p9_fid {
     XEN_TAILQ_ENTRY(struct p9_fid) list;
     unsigned int fid;
+    int fd;
+    uint8_t mode;
     bool opened;
+    bool isdir;
+    void *data;    /* File type specific. */
     char path[];
 };
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:52:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:52:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626324.976508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7tP-0004nn-GM; Wed, 01 Nov 2023 09:52:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626324.976508; Wed, 01 Nov 2023 09:52: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 1qy7tP-0004nb-DL; Wed, 01 Nov 2023 09:52:07 +0000
Received: by outflank-mailman (input) for mailman id 626324;
 Wed, 01 Nov 2023 09:52: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7dN-0005sN-4j
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35:33 +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 fff1a2fc-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:35:31 +0100 (CET)
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 5C6871F74A;
 Wed,  1 Nov 2023 09:35: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 2E60313460;
 Wed,  1 Nov 2023 09:35:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id u+HeCeMbQmWACQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:35: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: fff1a2fc-7899-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831331; 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=7ZIjSKw8myBsIFjSSoI4w5XeJBIQplDz3TdYVJIan38=;
	b=odwvP5Nmf8Gbt17WQoUgIELGUWVXw5tQu0g3JtB/nfDR7oN+SDGeRVyUzzx73iGnNKA1sJ
	yqhWvUCMVaHvDeyzpVHI0TXsAMhrCNkanQnsKU/Da4CFgbfLpxqUZ6q1UQ+gAhb2LISiId
	J1UMjBJ2Vhjwc4dV6Y3PJE9uEVgVF4M=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 22/29] tools/xenstored:
Date: Wed,  1 Nov 2023 10:33:18 +0100
Message-Id: <20231101093325.30302-23-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When [un]mapping the ring page of a Xenstore client, different actions
are required for "normal" guests and dom0. Today this distinction is
made at call site.

Move this distinction into [un]map_interface() instead, avoiding code
duplication and preparing special handling for [un]mapping the stub
domain's ring page.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/domain.c | 31 +++++++++++++------------------
 1 file changed, 13 insertions(+), 18 deletions(-)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 6ef136e01f..58b0942043 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -497,14 +497,20 @@ static const struct interface_funcs domain_funcs = {
 
 static void *map_interface(domid_t domid)
 {
+	if (domid == xenbus_master_domid())
+		return xenbus_map();
+
 	return xengnttab_map_grant_ref(*xgt_handle, domid,
 				       GNTTAB_RESERVED_XENSTORE,
 				       PROT_READ|PROT_WRITE);
 }
 
-static void unmap_interface(void *interface)
+static void unmap_interface(domid_t domid, void *interface)
 {
-	xengnttab_unmap(*xgt_handle, interface, 1);
+	if (domid == xenbus_master_domid())
+		unmap_xenbus(interface);
+	else
+		xengnttab_unmap(*xgt_handle, interface, 1);
 }
 
 static int domain_tree_remove_sub(const void *ctx, struct connection *conn,
@@ -594,14 +600,8 @@ static int destroy_domain(void *_domain)
 			eprintf("> Unbinding port %i failed!\n", domain->port);
 	}
 
-	if (domain->interface) {
-		/* Domain 0 was mapped by dom0_init, so it must be unmapped
-		   using munmap() and not the grant unmap call. */
-		if (domain->domid == dom0_domid)
-			unmap_xenbus(domain->interface);
-		else
-			unmap_interface(domain->interface);
-	}
+	if (domain->interface)
+		unmap_interface(domain->domid, domain->interface);
 
 	fire_special_watches("@releaseDomain");
 
@@ -966,18 +966,13 @@ static struct domain *introduce_domain(const void *ctx,
 		return NULL;
 
 	if (!domain->introduced) {
-		interface = is_master_domain ? xenbus_map()
-					     : map_interface(domid);
+		interface = map_interface(domid);
 		if (!interface && !restore)
 			return NULL;
 		if (new_domain(domain, port, restore)) {
 			rc = errno;
-			if (interface) {
-				if (is_master_domain)
-					unmap_xenbus(interface);
-				else
-					unmap_interface(interface);
-			}
+			if (interface)
+				unmap_interface(domid, interface);
 			errno = rc;
 			return NULL;
 		}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:52:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:52:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626330.976518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7u3-0005aF-PW; Wed, 01 Nov 2023 09:52:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626330.976518; Wed, 01 Nov 2023 09:52: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 1qy7u3-0005a8-My; Wed, 01 Nov 2023 09:52:47 +0000
Received: by outflank-mailman (input) for mailman id 626330;
 Wed, 01 Nov 2023 09:52: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7co-0005E0-LG
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:58 +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 ec07ff52-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:34:58 +0100 (CET)
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 D8F5021A34;
 Wed,  1 Nov 2023 09:34: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 B192B13460;
 Wed,  1 Nov 2023 09:34:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id S5b8KcEbQmU0CQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09: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>
X-Inumbo-ID: ec07ff52-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831297; 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=l2duKyjEiM300bkMtOBaVkepRhfhz+lqeaPmjMIQyAk=;
	b=CMcpfSq9Qi/4smsf1UC6cVAn+tV5ljvH7fyTC67ZhKQCQTC9wpzXTjf/Pe7pfhXq2yiSp7
	n9prsPomAQYEPQ2n8xZJDBiDMLSVy5Xnw3jRdyR+oEL/+Cqqk6/VuMQtBcxhpWLdszo5Gj
	jkFUj+OuyLb+HrDJNwEYtYM2qfTswZw=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 16/29] tools/xl: support new 9pfs backend xenlogd
Date: Wed,  1 Nov 2023 10:33:12 +0100
Message-Id: <20231101093325.30302-17-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for the new 9pfs backend "xenlogd". For this backend type
the tag defaults to "Xen" and the host side path to
"/var/log/xen/guests/<dom-name>".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 docs/man/xl.cfg.5.pod.in | 36 ++++++++++++++++++++++++++++++++++--
 tools/xl/xl_parse.c      | 35 +++++++++++++++++++++++++++++++++++
 2 files changed, 69 insertions(+), 2 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 2e234b450e..be82d35eed 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -772,10 +772,16 @@ settings, from the following list:
 
 =over 4
 
+=item B<type=TYPE>
+
+The backendtype for the PV device. Supported values are B<qemu> and B<xenlogd>.
+The default is B<qemu>.
+
 =item B<tag=STRING>
 
 9pfs tag to identify the filesystem share. The tag is needed on the
-guest side to mount it.
+guest side to mount it. For the backendtype of B<xenlogd> the tag defaults to
+"Xen".
 
 =item B<security_model="none">
 
@@ -785,12 +791,38 @@ squash or remap).
 
 =item B<path=STRING>
 
-Filesystem path on the backend to export.
+Filesystem path on the backend to export. For the backendtype of B<xenlogd>
+the path defaults to "@XEN_LOG_DIR@/guests/<guest-name>".
 
 =item B<backend=domain-id>
 
 Specify the backend domain name or id, defaults to dom0.
 
+=item B<max-files=NUMBER>
+
+Specify the maximum number of files below B<path>. A value of 0 (which
+is the default) doesn't limit the number of files. Only valid for
+B<type=xenlogd>.
+
+=item B<max-open-files=NUMBER>
+
+Specify the maximum number of concurrently opened files below B<path>.
+Multiple opens of the same file are counted individually. Only valid for
+B<type=xenlogd>, which has a default of B<max-open-files=5>.
+
+=item B<max-space=NUMBER>
+
+Specify the maximum used disk space in MiB below B<path>. A value of 0 (which
+is the default) doesn't limit the usable disk space. Only valid for
+B<type=xenlogd>.
+
+=item B<auto-delete=BOOLEAN>
+
+When set the backend will delete the oldest file which is currently not
+opened by the guest in case the disk space limit set via B<max-space> or the
+file limit set via B<max-files> is being reached. Only valid for
+B<type=xenlogd>.
+
 =back
 
 =item B<pvcalls=[ "backend=domain-id", ... ]>
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index ed983200c3..346532e117 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2232,6 +2232,20 @@ void parse_config_data(const char *config_source,
                     replace_string(&p9->tag, value);
                 } else if (!strcmp(key, "backend")) {
                     replace_string(&p9->backend_domname, value);
+                } else if (!strcmp(key, "type")) {
+                    if (libxl_p9_type_from_string(value, &p9->type)) {
+                        fprintf(stderr, "failed to parse 9pfs type: %s\n",
+                                value);
+                        exit(1);
+                    }
+                } else if (!strcmp(key, "max-files")) {
+                    p9->max_files = parse_ulong(value);
+                } else if (!strcmp(key, "max-open-files")) {
+                    p9->max_open_files = parse_ulong(value);
+                } else if (!strcmp(key, "max-space")) {
+                    p9->max_space = parse_ulong(value);
+                } else if (!strcmp(key, "auto-delete")) {
+                    p9->auto_delete = strtoul(value, NULL, 0);
                 } else {
                     fprintf(stderr, "Unknown 9pfs parameter '%s'\n", key);
                     exit(1);
@@ -2242,6 +2256,27 @@ void parse_config_data(const char *config_source,
 
             libxl_string_list_dispose(&pairs);
 
+            if (p9->type == LIBXL_P9_TYPE_UNKNOWN) {
+                p9->type = LIBXL_P9_TYPE_QEMU;
+            }
+            if (p9->type == LIBXL_P9_TYPE_QEMU &&
+                (p9->max_space || p9->auto_delete)) {
+                fprintf(stderr, "Illegal 9pfs parameter combination\n");
+                exit(1);
+            }
+            if (p9->type == LIBXL_P9_TYPE_XENLOGD) {
+                if (!p9->tag) {
+                    replace_string(&p9->tag, "Xen");
+                }
+                if (!p9->path) {
+                    char *path;
+
+                    xasprintf(&path, XEN_LOG_DIR "/guests/%s", c_info->name);
+                    replace_string(&p9->path, path);
+                    free(path);
+                }
+            }
+
             if (!p9->path || !p9->security_model || !p9->tag) {
                 fprintf(stderr, "9pfs spec missing required field!\n");
                 exit(1);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:52:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:52:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626331.976529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7uC-0005u3-1n; Wed, 01 Nov 2023 09:52:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626331.976529; Wed, 01 Nov 2023 09: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 1qy7uB-0005tq-V8; Wed, 01 Nov 2023 09:52:55 +0000
Received: by outflank-mailman (input) for mailman id 626331;
 Wed, 01 Nov 2023 09:52: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7cH-0005E0-8O
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:25 +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 d824886c-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:34:24 +0100 (CET)
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 807111F750;
 Wed,  1 Nov 2023 09:34:24 +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 4EADC13460;
 Wed,  1 Nov 2023 09:34:24 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fJrgEaAbQmUACQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:34: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: d824886c-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831264; 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=e4bHBd5w4b6aQN5bSnfLHyQxglpMW3POgwkEjblrS94=;
	b=hJA/P0wkac8sPulY6IFoArEkSp4JUf+Jp8+95iSrMEE2CB7C5mH/IgWP5kHvVsIckCrvnR
	KbJLD/kgHa9VNtMQeRX6+mJglF8Rn2ZtFq3463+rmq5U2muuXv6LO1DT68iv3IyYCvnwk4
	kIJUmvf+BzpvOF5ZX5YijN+KcGPU6dg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 10/29] tools/xenlogd: add 9pfs clunk request support
Date: Wed,  1 Nov 2023 10:33:06 +0100
Message-Id: <20231101093325.30302-11-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the clunk request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c | 37 +++++++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index c2b259f42e..2607095e51 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -31,6 +31,7 @@
 #define P9_CMD_ERROR      107
 #define P9_CMD_WALK       110
 #define P9_CMD_OPEN       112
+#define P9_CMD_CLUNK      120
 
 /* P9 protocol open flags. */
 #define P9_OREAD            0   /* read */
@@ -860,6 +861,38 @@ static void p9_open(device *device, struct p9_header *hdr)
     fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
 }
 
+static void p9_clunk(device *device, struct p9_header *hdr)
+{
+    uint32_t fid;
+    struct p9_fid *fidp;
+    int ret;
+
+    ret = fill_data(device, "U", &fid);
+    if ( ret != 1 )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = find_fid(device, fid);
+    if ( !fidp )
+    {
+        p9_error(device, hdr->tag, ENOENT);
+        return;
+    }
+
+    if ( fidp->opened )
+    {
+        close(fidp->fd);
+        if ( fidp->mode & P9_OREMOVE )
+            unlink(fidp->path);
+    }
+
+    free_fid(device, fidp);
+
+    fill_buffer(device, hdr->cmd + 1, hdr->tag, "");
+}
+
 void *io_thread(void *arg)
 {
     device *device = arg;
@@ -931,6 +964,10 @@ void *io_thread(void *arg)
                 p9_open(device, &hdr);
                 break;
 
+            case P9_CMD_CLUNK:
+                p9_clunk(device, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        device->domid, device->devid, hdr.cmd);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:53:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:53:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626333.976539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7uR-0006Ug-As; Wed, 01 Nov 2023 09:53:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626333.976539; Wed, 01 Nov 2023 09: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 1qy7uR-0006UY-5d; Wed, 01 Nov 2023 09:53:11 +0000
Received: by outflank-mailman (input) for mailman id 626333;
 Wed, 01 Nov 2023 09:53: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7cv-0005sN-79
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35:05 +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 ef4ffffe-7899-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:35:03 +0100 (CET)
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 723EF1F74A;
 Wed,  1 Nov 2023 09:35: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 46EC513460;
 Wed,  1 Nov 2023 09:35:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id X4TnD8cbQmVACQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:35: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: ef4ffffe-7899-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831303; 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=27vJ80eI9t0Dmh4t3Smn4CXNhdUOQ+kVQRJUrk4nmkU=;
	b=PRegSZq/D2YS2jcVY5VwV2nLmFeWrzfWv3s0ckAcO9GitxC6bbU6jRzOKuC3yyEsMaeopF
	I9hBWyqW1SSGwpToPCdPOYQhd9htCExSCA2oqoG6MdfqhFKoS0GisSqQ4lyX8hnD0qg428
	KfIz0VBjdEYINVgfGt+RE5d5QlxcnrA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 17/29] tools/helpers: allocate xenstore event channel for xenstore stubdom
Date: Wed,  1 Nov 2023 10:33:13 +0100
Message-Id: <20231101093325.30302-18-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to prepare support of PV frontends in xenstore-stubdom, add
allocation of a Xenstore event channel to init-xenstore-domain.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/helpers/init-xenstore-domain.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index b2d5df8ba5..140ed610ae 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -248,6 +248,13 @@ static int build(xc_interface *xch)
     dom->cmdline = xc_dom_strdup(dom, cmdline);
     dom->xenstore_domid = domid;
     dom->console_evtchn = console_evtchn;
+    rv = xc_evtchn_alloc_unbound(xch, domid, domid);
+    if ( rv < 0 )
+    {
+        fprintf(stderr, "xc_evtchn_alloc_unbound failed\n");
+        goto err;
+    }
+    dom->xenstore_evtchn = rv;
 
     rv = xc_dom_mem_init(dom, memory);
     if ( rv )
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:53:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626340.976548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7un-0007Sz-MI; Wed, 01 Nov 2023 09:53:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626340.976548; Wed, 01 Nov 2023 09: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 1qy7un-0007Sq-JL; Wed, 01 Nov 2023 09:53:33 +0000
Received: by outflank-mailman (input) for mailman id 626340;
 Wed, 01 Nov 2023 09: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7c6-0005E0-6O
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:14 +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 d184bd93-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:34:13 +0100 (CET)
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 616E321835;
 Wed,  1 Nov 2023 09:34: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 39BD013460;
 Wed,  1 Nov 2023 09:34:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5hiwDJUbQmXrCAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:34: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: d184bd93-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831253; 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=gBtgEznE3KEIFlMuwgPzeNll8kGnCvvkfUEy+BMKjGU=;
	b=E79bkSFrWNdKh7v9dMQ/SODnwbbLirN6Q7anPPTi/s3hVHOybayJkUzdG5d2oFK5RO3e9w
	ofRxMPDgFC+NWgEminjw+/oLwOGtgZ5G9LHxorh6QEKXzAfskU4h27FdN/oC6X0Si/Ichn
	AE1oMKAM9HE1qYBZ+tQsrnMJR7Dfq88=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 08/29] tools/xenlogd: add 9pfs walk request support
Date: Wed,  1 Nov 2023 10:33:04 +0100
Message-Id: <20231101093325.30302-9-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the walk request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c      | 138 ++++++++++++++++++++++++++++++++++++++++
 tools/xenlogd/xenlogd.h |   1 +
 2 files changed, 139 insertions(+)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index fa825c9f39..778e1dc2c9 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -27,9 +27,11 @@
 #define P9_CMD_VERSION    100
 #define P9_CMD_ATTACH     104
 #define P9_CMD_ERROR      107
+#define P9_CMD_WALK       110
 
 #define P9_MIN_MSIZE      2048
 #define P9_VERSION        "9P2000.u"
+#define P9_WALK_MAXELEM   16
 
 struct p9_qid {
     uint8_t type;
@@ -523,6 +525,20 @@ static int fill_qid(const char *path, struct p9_qid *qid, struct stat *stbuf)
     return 0;
 }
 
+static bool name_ok(const char *str)
+{
+    if ( !*str )
+        return false;
+
+    if ( strchr(str, '/' ) )
+        return false;
+
+    if ( !strcmp(str, "..") || !strcmp(str, ".") )
+        return false;
+
+    return true;
+}
+
 static void p9_error(device *device, uint16_t tag, uint32_t err)
 {
     unsigned int erroff;
@@ -600,6 +616,124 @@ static void p9_attach(device *device, struct p9_header *hdr)
     fill_buffer(device, hdr->cmd + 1, hdr->tag, "Q", &qid);
 }
 
+static void p9_walk(device *device, struct p9_header *hdr)
+{
+    uint32_t fid;
+    uint32_t newfid;
+    struct p9_fid *fidp;
+    struct p9_qid *qids = NULL;
+    unsigned int n_names = 0;
+    unsigned int *names = NULL;
+    unsigned int walked = 0;
+    unsigned int i;
+    char *path = NULL;
+    unsigned int path_len;
+    int ret;
+
+    ret = fill_data(device, "UUaS", &fid, &newfid, &n_names, &names);
+    if ( n_names > P9_WALK_MAXELEM )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        goto out;
+    }
+    if ( ret != 3 + n_names )
+    {
+        p9_error(device, hdr->tag, errno);
+        goto out;
+    }
+
+    fidp = find_fid(device, fid);
+    if ( !fidp )
+    {
+        p9_error(device, hdr->tag, ENOENT);
+        goto out;
+    }
+    if ( fidp->opened )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        goto out;
+    }
+
+    path_len = strlen(fidp->path) + 1;
+    for ( i = 0; i < n_names; i++ )
+    {
+        if ( !name_ok(device->str + names[i]) )
+        {
+            p9_error(device, hdr->tag, ENOENT);
+            goto out;
+        }
+        path_len += strlen(device->str + names[i]) + 1;
+    }
+    path = calloc(path_len + 1, 1);
+    if ( !path )
+    {
+        p9_error(device, hdr->tag, ENOMEM);
+        goto out;
+    }
+    strcpy(path, fidp->path);
+
+    if ( n_names )
+    {
+        qids = calloc(n_names, sizeof(*qids));
+        if ( !qids )
+        {
+            p9_error(device, hdr->tag, ENOMEM);
+            goto out;
+        }
+        for ( i = 0; i < n_names; i++ )
+        {
+            strcat(path, "/");
+            strcat(path, device->str + names[i]);
+            ret = fill_qid(path, qids + i, NULL);
+            if ( ret )
+            {
+                if ( !walked )
+                {
+                    p9_error(device, hdr->tag, errno);
+                    goto out;
+                }
+                break;
+            }
+            walked++;
+        }
+    }
+
+    if ( walked == n_names )
+    {
+        const char *rel_path = path + strlen(device->host_path);
+        bool ok = false;
+
+        if ( fid == newfid )
+        {
+            struct p9_fid *new_fidp;
+
+            new_fidp = alloc_fid_mem(device, fid, rel_path);
+            if ( new_fidp )
+            {
+                XEN_TAILQ_REMOVE(&device->fids, fidp, list);
+                XEN_TAILQ_INSERT_HEAD(&device->fids, new_fidp, list);
+                free(fidp);
+                ok = true;
+            }
+        }
+        else
+            ok = alloc_fid(device, newfid, rel_path);
+
+        if ( !ok )
+        {
+            p9_error(device, hdr->tag, errno);
+            goto out;
+        }
+    }
+
+    fill_buffer(device, hdr->cmd + 1, hdr->tag, "aQ", &walked, qids);
+
+ out:
+    free(qids);
+    free(path);
+    free(names);
+}
+
 void *io_thread(void *arg)
 {
     device *device = arg;
@@ -663,6 +797,10 @@ void *io_thread(void *arg)
                 p9_attach(device, &hdr);
                 break;
 
+            case P9_CMD_WALK:
+                p9_walk(device, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        device->domid, device->devid, hdr.cmd);
diff --git a/tools/xenlogd/xenlogd.h b/tools/xenlogd/xenlogd.h
index bd2a283ccb..23f013af9e 100644
--- a/tools/xenlogd/xenlogd.h
+++ b/tools/xenlogd/xenlogd.h
@@ -22,6 +22,7 @@ struct p9_header {
 struct p9_fid {
     XEN_TAILQ_ENTRY(struct p9_fid) list;
     unsigned int fid;
+    bool opened;
     char path[];
 };
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:54:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:54:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626344.976559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7vD-0008Eh-VW; Wed, 01 Nov 2023 09:53:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626344.976559; Wed, 01 Nov 2023 09:53: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 1qy7vD-0008Ea-SH; Wed, 01 Nov 2023 09:53:59 +0000
Received: by outflank-mailman (input) for mailman id 626344;
 Wed, 01 Nov 2023 09:53: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7dR-0005E0-Le
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:35:37 +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 03512e42-789a-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:35:37 +0100 (CET)
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 EB8441F74A;
 Wed,  1 Nov 2023 09:35: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 BE2A013460;
 Wed,  1 Nov 2023 09:35:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bDcDLegbQmWICQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09: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>
X-Inumbo-ID: 03512e42-789a-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831336; 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=RQ78E8HS1n1N0QHhM7YQ5dj02t//jI6MdPWceDYsOps=;
	b=bRBS1tJphNVYmRRl0SOjs91AtWymp4pqnQCJ30/2/NVHfu3Lgtvw+JpmtY9ru98KiKakm4
	k0nJ51OVMJVOLzGKgGJLYh8SXHXjzTuGNmV86Wi8aL2L5kyvZ1d4dftflG52FncrrGIXDY
	MvEMVXLzAGyVpbvFFIRb6MncRWeYvKg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 23/29] tools/xenstored: split domain_init()
Date: Wed,  1 Nov 2023 10:33:19 +0100
Message-Id: <20231101093325.30302-24-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today domain_init() is called either just before calling dom0_init()
in case no live update is being performed, or it is called after
reading the global state from read_state_global(), as the event
channel fd is needed.

Split up domain_init() into a preparation part which can be called
unconditionally, and in a part setting up the event channel handle.

Note that there is no chance that chk_domain_generation() can be
called now before xc_handle has been setup, so there is no need for
the related special case anymore.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c   |  2 ++
 tools/xenstored/domain.c | 12 ++++++------
 tools/xenstored/domain.h |  1 +
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index bb4612455d..42a848e098 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2972,6 +2972,8 @@ int main(int argc, char *argv[])
 
 	init_pipe(reopen_log_pipe);
 
+	domain_static_init();
+
 	/* Listen to hypervisor. */
 	if (!no_domain_init && !live_update) {
 		domain_init(-1);
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 58b0942043..fa17f68618 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1224,10 +1224,8 @@ static int domeq_fn(const void *key1, const void *key2)
 	return *(const unsigned int *)key1 == *(const unsigned int *)key2;
 }
 
-void domain_init(int evtfd)
+void domain_static_init(void)
 {
-	int rc;
-
 	/* Start with a random rather low domain count for the hashtable. */
 	domhash = create_hashtable(NULL, "domains", domhash_fn, domeq_fn, 0);
 	if (!domhash)
@@ -1258,6 +1256,11 @@ void domain_init(int evtfd)
 	xengnttab_set_max_grants(*xgt_handle, DOMID_FIRST_RESERVED);
 
 	talloc_set_destructor(xgt_handle, close_xgt_handle);
+}
+
+void domain_init(int evtfd)
+{
+	int rc;
 
 	if (evtfd < 0)
 		xce_handle = xenevtchn_open(NULL, XENEVTCHN_NO_CLOEXEC);
@@ -1291,9 +1294,6 @@ static bool chk_domain_generation(unsigned int domid, uint64_t gen)
 {
 	struct domain *d;
 
-	if (!xc_handle && domid == dom0_domid)
-		return true;
-
 	d = find_domain_struct(domid);
 
 	return d && d->generation <= gen;
diff --git a/tools/xenstored/domain.h b/tools/xenstored/domain.h
index 7625dca8cd..6c00540311 100644
--- a/tools/xenstored/domain.h
+++ b/tools/xenstored/domain.h
@@ -82,6 +82,7 @@ int do_get_domain_path(const void *ctx, struct connection *conn,
 int do_reset_watches(const void *ctx, struct connection *conn,
 		     struct buffered_data *in);
 
+void domain_static_init(void);
 void domain_init(int evtfd);
 void dom0_init(void);
 void domain_deinit(void);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:54:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:54:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626349.976569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7vZ-0000SR-8L; Wed, 01 Nov 2023 09:54:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626349.976569; Wed, 01 Nov 2023 09:54: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 1qy7vZ-0000SK-5A; Wed, 01 Nov 2023 09:54:21 +0000
Received: by outflank-mailman (input) for mailman id 626349;
 Wed, 01 Nov 2023 09:54: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7cX-0005E0-RO
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:41 +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 e20f467e-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:34:41 +0100 (CET)
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 287401F74D;
 Wed,  1 Nov 2023 09:34: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 02A2913460;
 Wed,  1 Nov 2023 09:34:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id DAT3OrAbQmUZCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:34: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: e20f467e-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831281; 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=3GExNKp/yhu+n6P2BIY5jfXZkhxU99CKU37BbtunsSk=;
	b=MppCvh+L8QO/WnZb70zdnCMROQq+m03SnlwSi2B8zsq7VvpsfxRwRzoa00hFBPd64pUJ6A
	FZGNhOZjZp9r9/AORC30jIYPaq+MBY4VA83H/ETdfTaIRn/ofphTyrrAi36CYy9/WMuu5m
	T3p1LWPe58VjNh+En1lplnIM7bpF/D8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 13/29] tools/xenlogd: add 9pfs write request support
Date: Wed,  1 Nov 2023 10:33:09 +0100
Message-Id: <20231101093325.30302-14-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the write request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index 6e92667fab..6b4692ca67 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -32,6 +32,7 @@
 #define P9_CMD_WALK       110
 #define P9_CMD_OPEN       112
 #define P9_CMD_CREATE     114
+#define P9_CMD_WRITE      118
 #define P9_CMD_CLUNK      120
 #define P9_CMD_STAT       124
 
@@ -1010,6 +1011,51 @@ static void p9_create(device *device, struct p9_header *hdr)
     fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
 }
 
+static void p9_write(device *device, struct p9_header *hdr)
+{
+    uint32_t fid;
+    uint64_t off;
+    unsigned int len;
+    uint32_t written;
+    void *buf;
+    struct p9_fid *fidp;
+    int ret;
+
+    ret = fill_data(device, "ULD", &fid, &off, &len, device->buffer);
+    if ( ret != 3 )
+    {
+        p9_error(device, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = find_fid(device, fid);
+    if ( !fidp || !fidp->opened || fidp->isdir )
+    {
+        p9_error(device, hdr->tag, EBADF);
+        return;
+    }
+
+    buf = device->buffer;
+
+    while ( len != 0 )
+    {
+        ret = pwrite(fidp->fd, buf, len, off);
+        if ( ret < 0 )
+            break;
+        len -= ret;
+        buf += ret;
+        off += ret;
+    }
+
+    written = buf - device->buffer;
+    if ( written == 0 )
+    {
+        p9_error(device, hdr->tag, errno);
+        return;
+    }
+    fill_buffer(device, hdr->cmd + 1, hdr->tag, "U", &written);
+}
+
 static void p9_clunk(device *device, struct p9_header *hdr)
 {
     uint32_t fid;
@@ -1182,6 +1228,10 @@ void *io_thread(void *arg)
                 p9_create(device, &hdr);
                 break;
 
+            case P9_CMD_WRITE:
+                p9_write(device, &hdr);
+                break;
+
             case P9_CMD_CLUNK:
                 p9_clunk(device, &hdr);
                 break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:54:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:54:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626350.976579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7vg-0000xl-Fd; Wed, 01 Nov 2023 09:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626350.976579; Wed, 01 Nov 2023 09:54: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 1qy7vg-0000xa-Ck; Wed, 01 Nov 2023 09:54:28 +0000
Received: by outflank-mailman (input) for mailman id 626350;
 Wed, 01 Nov 2023 09:54: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7bv-0005E0-2e
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34: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 cae43050-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:34:02 +0100 (CET)
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 4774421846;
 Wed,  1 Nov 2023 09:34: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 2327213460;
 Wed,  1 Nov 2023 09:34:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 374jB4obQmXQCAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09: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: cae43050-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831242; 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=kBmsQtp57emfLwa80o+3o5PurxmvQSyXJw17w10lPio=;
	b=oNIkwTdSrd7eakjTUaDxm9TYv5We1x+YcQXJJIeeR03V6ONKrS5/fLnvZnRlcgvlND6g2Q
	2iHw+fm//VaXvm1Z8Ox5MDINx+T16ZtMrRlpwqrOK54oleoyUR9eXFPwJSMs7bZ5BFiJ4J
	Oe1A2gu7l4ufezW0fyfPRAG5+p70X1g=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 06/29] tools/xenlogd: add 9pfs version request support
Date: Wed,  1 Nov 2023 10:33:02 +0100
Message-Id: <20231101093325.30302-7-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the version request of the 9pfs protocol. For the version use the
"9P2000.u" variant, as it is supported by Mini-OS and Linux.

For the request parsing add all format items needed even in future in
order to avoid code churn for those additions later.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c | 202 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 202 insertions(+)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index 5a06f72338..f35520018f 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -22,8 +22,12 @@
 #include "xenlogd.h"
 
 /* P9 protocol commands (response is either cmd+1 or P9_CMD_ERROR). */
+#define P9_CMD_VERSION    100
 #define P9_CMD_ERROR      107
 
+#define P9_MIN_MSIZE      2048
+#define P9_VERSION        "9P2000.u"
+
 struct p9_qid {
     uint8_t type;
 #define QID_TYPE_DIR      0x80
@@ -267,6 +271,169 @@ static unsigned int add_string(device *device, const char *str,
     return ret;
 }
 
+static bool chk_data(device *device, void *data, unsigned int len)
+{
+    struct p9_header *hdr = device->buffer;
+
+    if ( data + len <= device->buffer + hdr->size )
+        return true;
+
+    errno = E2BIG;
+
+    return false;
+}
+
+static bool fill_data_elem(void **par, void **array, unsigned int *array_sz,
+                           unsigned int elem_sz, void *data)
+{
+    if ( *array_sz && !*array )
+    {
+        *array = calloc(*array_sz, elem_sz);
+        if ( !*array )
+            return false;
+        *par = *array;
+    }
+
+    memcpy(*par, data, elem_sz);
+
+    if ( *array_sz )
+    {
+        *par += elem_sz;
+        *array_sz -= 1;
+    }
+
+    return true;
+}
+
+/*
+ * Fill variables with request data.
+ * fmt is a sequence of format characters. Supported characters are:
+ * a: an array (2 bytes number of elements + the following format as elements)
+ *    The number of elements is stored in the first unsigned int parameter, the
+ *    next parameter is a pointer to an array of elements as denoted by the next
+ *    format character. The array is allocated dynamically.
+ * b: 1 byte unsigned integer
+ *    The value is stored in the next parameter with type uint8_t.
+ * D: Data blob (4 byte length + <length> bytes)
+ *    2 parameters are consumed, first an unsigned int for the length, then a
+ *    pointer to the first uint8_t value.
+ *    No array support.
+ * L: 8 byte unsigned integer
+ *    The value is stored in the next parameter with type uint64_t.
+ * S: String (2 byte length + <length> characters)
+ *    The 0-terminated string is stored in device->str + off, off is stored in
+ *    the next parameter with type unsigned int.
+ * U: 4 byte unsigned integer
+ *    The value is stored in the next parameter with type uint32_t.
+ *
+ * Return value: number of filled variables, errno will be set in case of
+ *   error.
+ */
+static int fill_data(device *device, const char *fmt, ...)
+{
+    struct p9_header *hdr = device->buffer;
+    void *data = hdr + 1;
+    void *par;
+    unsigned int pars = 0;
+    const char *f;
+    va_list ap;
+    unsigned int len;
+    unsigned int str_off;
+    unsigned int array_sz = 0;
+    void **array = NULL;
+
+    va_start(ap, fmt);
+
+    for ( f = fmt; *f; f++ )
+    {
+        if ( !array_sz )
+            par = va_arg(ap, void *);
+
+        switch ( *f )
+        {
+        case 'a':
+            f++;
+            if ( !*f || array_sz )
+                fmt_err(fmt);
+            if ( !chk_data(device, data, sizeof(uint16_t)) )
+                return pars;
+            array_sz = *(__packed uint16_t *)data;
+            data += sizeof(uint16_t);
+            *(unsigned int *)par = array_sz;
+            array = va_arg(ap, void **);
+            *array = NULL;
+            break;
+
+        case 'b':
+            if ( !chk_data(device, data, sizeof(uint8_t)) )
+                return pars;
+            if ( !fill_data_elem(&par, array, &array_sz, sizeof(uint8_t),
+                                 data) )
+                return pars;
+            data += sizeof(uint8_t);
+            break;
+
+        case 'D':
+            if ( array_sz )
+                fmt_err(fmt);
+            if ( !chk_data(device, data, sizeof(uint32_t)) )
+                return pars;
+            len = *(__packed uint32_t *)data;
+            data += sizeof(uint32_t);
+            *(unsigned int *)par = len;
+            par = va_arg(ap, void *);
+            if ( !chk_data(device, data, len) )
+                return pars;
+            memcpy(par, data, len);
+            data += len;
+            break;
+
+        case 'L':
+            if ( !chk_data(device, data, sizeof(uint64_t)) )
+                return pars;
+            if ( !fill_data_elem(&par, array, &array_sz, sizeof(uint64_t),
+                                 data) )
+                return pars;
+            data += sizeof(uint64_t);
+            break;
+
+        case 'S':
+            if ( !chk_data(device, data, sizeof(uint16_t)) )
+                return pars;
+            len = *(__packed uint16_t *)data;
+            data += sizeof(uint16_t);
+            if ( !chk_data(device, data, len) )
+                return pars;
+            str_off = add_string(device, data, len);
+            if ( str_off == ~0 )
+                return pars;
+            if ( !fill_data_elem(&par, array, &array_sz, sizeof(unsigned int),
+                                 &str_off) )
+                return pars;
+            data += len;
+            break;
+
+        case 'U':
+            if ( !chk_data(device, data, sizeof(uint32_t)) )
+                return pars;
+            if ( !fill_data_elem(&par, array, &array_sz, sizeof(uint32_t),
+                                 data) )
+                return pars;
+            data += sizeof(uint32_t);
+            break;
+
+        default:
+            fmt_err(fmt);
+        }
+
+        if ( array_sz )
+            f--;
+        pars++;
+    }
+
+    return pars;
+}
+
 static void p9_error(device *device, uint16_t tag, uint32_t err)
 {
     unsigned int erroff;
@@ -278,6 +445,37 @@ static void p9_error(device *device, uint16_t tag, uint32_t err)
                 &err);
 }
 
+static void p9_version(device *device, struct p9_header *hdr)
+{
+    uint32_t max_size;
+    unsigned int off;
+    char *version;
+    int ret;
+
+    ret = fill_data(device, "US", &max_size, &off);
+    if ( ret != 2 )
+    {
+        p9_error(device, hdr->tag, errno);
+        return;
+    }
+
+    if ( max_size < P9_MIN_MSIZE )
+    {
+        p9_error(device, hdr->tag, EMSGSIZE);
+        return;
+    }
+
+    if ( max_size < device->max_size )
+        device->max_size = max_size;
+
+    version = device->str + off;
+    if ( strcmp(version, P9_VERSION) )
+        version = "unknown";
+
+    fill_buffer(device, hdr->cmd + 1, hdr->tag, "US", &device->max_size,
+                version);
+}
+
 void *io_thread(void *arg)
 {
     device *device = arg;
@@ -333,6 +531,10 @@ void *io_thread(void *arg)
 
             switch ( hdr.cmd )
             {
+            case P9_CMD_VERSION:
+                p9_version(device, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        device->domid, device->devid, hdr.cmd);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:54:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:54:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626351.976584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7vg-00012N-R8; Wed, 01 Nov 2023 09:54:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626351.976584; Wed, 01 Nov 2023 09:54: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 1qy7vg-00010a-Kq; Wed, 01 Nov 2023 09:54:28 +0000
Received: by outflank-mailman (input) for mailman id 626351;
 Wed, 01 Nov 2023 09:54: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7e0-0005sN-Bj
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:36:12 +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 17487220-789a-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 10:36:10 +0100 (CET)
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 822601F750;
 Wed,  1 Nov 2023 09:36:10 +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 4D36F13460;
 Wed,  1 Nov 2023 09:36:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UXV4EQocQmXRCQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:36: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: 17487220-789a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831370; 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=nYvyegEExGxpVyVevuNtSzRpcmdIFE44ODgb8U4L3Mw=;
	b=IvRzd0LiiImU0mfBCuFuNDX9S6iSYQ2NjakQUD61tGb8Oll4NzPwXb9+5PrhXvZv4jUY2u
	fAIKcDR6kxhpyU2dRg8nZwHhasA0+yUeqapcA+JCOX340TRuu4i3saqa1vLs2jQkGC6G6p
	lZUHlnUEvT1nXLjBJZcC6uMdg5bEkSI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 29/29] tools/xenstored: have a single do_control_memreport()
Date: Wed,  1 Nov 2023 10:33:25 +0100
Message-Id: <20231101093325.30302-30-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With 9pfs now available in Xenstore-stubdom, there is no reason to
have distinct do_control_memreport() variants for the daemon and the
stubdom implementations.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/control.c | 27 +++++++--------------------
 1 file changed, 7 insertions(+), 20 deletions(-)

diff --git a/tools/xenstored/control.c b/tools/xenstored/control.c
index dae23a5ac0..7db2c4703b 100644
--- a/tools/xenstored/control.c
+++ b/tools/xenstored/control.c
@@ -216,23 +216,11 @@ static int do_control_logfile(const void *ctx, struct connection *conn,
 	return 0;
 }
 
-#ifdef __MINIOS__
-static int do_control_memreport(const void *ctx, struct connection *conn,
-				const char **vec, int num)
-{
-	if (num)
-		return EINVAL;
-
-	talloc_report_full(NULL, stdout);
-
-	send_ack(conn, XS_CONTROL);
-	return 0;
-}
-#else
 static int do_control_memreport(const void *ctx, struct connection *conn,
 				const char **vec, int num)
 {
 	FILE *fp;
+	char *filename;
 	int fd;
 
 	if (num > 1)
@@ -255,8 +243,12 @@ static int do_control_memreport(const void *ctx, struct connection *conn,
 			if (!fp)
 				close(fd);
 		}
-	} else
-		fp = fopen(vec[0], "a");
+	} else {
+		filename = absolute_filename(ctx, vec[0]);
+		if (!filename)
+			return ENOMEM;
+		fp = fopen(filename, "a");
+	}
 
 	if (!fp)
 		return EBADF;
@@ -267,7 +259,6 @@ static int do_control_memreport(const void *ctx, struct connection *conn,
 	send_ack(conn, XS_CONTROL);
 	return 0;
 }
-#endif
 
 static int do_control_print(const void *ctx, struct connection *conn,
 			    const char **vec, int num)
@@ -310,11 +301,7 @@ static struct cmd_s cmds[] = {
 		"    Default timeout is 60 seconds.", 5 },
 #endif
 	{ "logfile", do_control_logfile, "<file>" },
-#ifdef __MINIOS__
-	{ "memreport", do_control_memreport, "" },
-#else
 	{ "memreport", do_control_memreport, "[<file>]" },
-#endif
 	{ "print", do_control_print, "<string>" },
 	{ "quota", do_control_quota,
 		"[set <name> <val>|<domid>|max [-r]]" },
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 09:54:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 09:54:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626357.976599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy7vw-0002Cr-8Q; Wed, 01 Nov 2023 09:54:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626357.976599; Wed, 01 Nov 2023 09: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 1qy7vw-0002Ck-4y; Wed, 01 Nov 2023 09:54:44 +0000
Received: by outflank-mailman (input) for mailman id 626357;
 Wed, 01 Nov 2023 09:54: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy7c0-0005E0-LA
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 09:34:08 +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 ce330d39-7899-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 10:34:08 +0100 (CET)
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 CCAC721846;
 Wed,  1 Nov 2023 09:34: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 A8A4513460;
 Wed,  1 Nov 2023 09:34:07 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id DT/6J48bQmXfCAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 09:34: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: ce330d39-7899-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698831247; 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=clPD8bKrjSItRh9+J5fvt9orEmlHmagPq1GlV/FwboY=;
	b=D9zW62sR92TOA5HFFrtOsYmlL7GuRQ/rDUKePCyhjT1JNbadVW38EdE/kU/aKfH4t3VnLt
	abq5QUf/XX4358xfp4zwFWDK2UIhGDqZvlc/Le4idc0kx/9ehwPKBGBOyy6UWX2ZyMJ7aO
	86Ean3ncbL739Wv611m+LwA+2+3gKmE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 07/29] tools/xenlogd: add 9pfs attach request support
Date: Wed,  1 Nov 2023 10:33:03 +0100
Message-Id: <20231101093325.30302-8-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101093325.30302-1-jgross@suse.com>
References: <20231101093325.30302-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the attach request of the 9pfs protocol. This introduces the "fid"
scheme of the 9pfs protocol.

As this will be needed later, use a dedicated memory allocation
function in alloc_fid().

For filling the qid data take the approach from the qemu 9pfs backend
implementation.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenlogd/io.c      | 128 ++++++++++++++++++++++++++++++++++++++++
 tools/xenlogd/xenlogd.c |   1 +
 tools/xenlogd/xenlogd.h |  11 ++++
 3 files changed, 140 insertions(+)

diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
index f35520018f..fa825c9f39 100644
--- a/tools/xenlogd/io.c
+++ b/tools/xenlogd/io.c
@@ -16,6 +16,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include <syslog.h>
+#include <sys/types.h>
+#include <sys/stat.h>
 #include <xenctrl.h>           /* For cpu barriers. */
 #include <xen-tools/common-macros.h>
 
@@ -23,6 +25,7 @@
 
 /* P9 protocol commands (response is either cmd+1 or P9_CMD_ERROR). */
 #define P9_CMD_VERSION    100
+#define P9_CMD_ATTACH     104
 #define P9_CMD_ERROR      107
 
 #define P9_MIN_MSIZE      2048
@@ -434,6 +437,92 @@ static int fill_data(device *device, const char *fmt, ...)
     return pars;
 }
 
+static struct p9_fid *find_fid(device *device, unsigned int fid)
+{
+    struct p9_fid *fidp;
+
+    XEN_TAILQ_FOREACH(fidp, &device->fids, list)
+    {
+        if ( fidp->fid == fid )
+            return fidp;
+    }
+
+    return NULL;
+}
+
+static struct p9_fid *alloc_fid_mem(device *device, unsigned int fid,
+                                    const char *path)
+{
+    struct p9_fid *fidp;
+    size_t pathlen;
+
+    pathlen = strlen(device->host_path) + strlen(path) + 1;
+    fidp = calloc(sizeof(*fidp) + pathlen, 1);
+    if ( !fidp )
+        return NULL;
+
+    fidp->fid = fid;
+    snprintf(fidp->path, pathlen, "%s%s", device->host_path, path);
+
+    return fidp;
+}
+
+static struct p9_fid *alloc_fid(device *device, unsigned int fid,
+                                const char *path)
+{
+    struct p9_fid *fidp;
+
+    if ( find_fid(device, fid) )
+    {
+        errno = EBADFD;
+        return NULL;
+    }
+
+    if ( device->n_fids >= device->max_open_files )
+    {
+        errno = EMFILE;
+        return NULL;
+    }
+
+    fidp = alloc_fid_mem(device, fid, path);
+    if ( !fidp )
+        return NULL;
+
+    XEN_TAILQ_INSERT_HEAD(&device->fids, fidp, list);
+    device->n_fids++;
+
+    return fidp;
+}
+
+static void free_fid(device *device, struct p9_fid *fidp)
+{
+    if ( !fidp )
+        return;
+
+    device->n_fids--;
+    XEN_TAILQ_REMOVE(&device->fids, fidp, list);
+    free(fidp);
+}
+
+static int fill_qid(const char *path, struct p9_qid *qid, struct stat *stbuf)
+{
+    struct stat st;
+
+    if ( !stbuf )
+    {
+        if ( stat(path, &st) )
+            return errno;
+
+        stbuf = &st;
+    }
+
+    qid->type = S_ISDIR(stbuf->st_mode) ? QID_TYPE_DIR : 0;
+    qid->version = stbuf->st_mtime ^ (stbuf->st_size << 8);
+    qid->path = stbuf->st_ino;
+
+    return 0;
+}
+
 static void p9_error(device *device, uint16_t tag, uint32_t err)
 {
     unsigned int erroff;
@@ -476,6 +565,41 @@ static void p9_version(device *device, struct p9_header *hdr)
                 version);
 }
 
+static void p9_attach(device *device, struct p9_header *hdr)
+{
+    uint32_t fid;
+    uint32_t dummy_u32;
+    unsigned int dummy_uint;
+    struct p9_qid qid;
+    int ret;
+
+    ret = fill_data(device, "UUSSU", &fid, &dummy_u32, &dummy_uint, &dummy_uint,
+                    &dummy_u32);
+    if ( ret != 5 )
+    {
+        p9_error(device, hdr->tag, errno);
+        return;
+    }
+
+    device->root_fid = alloc_fid(device, fid, "");
+    if ( !device->root_fid )
+    {
+        p9_error(device, hdr->tag, errno);
+        return;
+    }
+
+    ret = fill_qid(device->host_path, &qid, NULL);
+    if ( ret )
+    {
+        free_fid(device, device->root_fid);
+        device->root_fid = NULL;
+        p9_error(device, hdr->tag, ret);
+        return;
+    }
+
+    fill_buffer(device, hdr->cmd + 1, hdr->tag, "Q", &qid);
+}
+
 void *io_thread(void *arg)
 {
     device *device = arg;
@@ -535,6 +659,10 @@ void *io_thread(void *arg)
                 p9_version(device, &hdr);
                 break;
 
+            case P9_CMD_ATTACH:
+                p9_attach(device, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        device->domid, device->devid, hdr.cmd);
diff --git a/tools/xenlogd/xenlogd.c b/tools/xenlogd/xenlogd.c
index da0a09a122..d2de7bfbf2 100644
--- a/tools/xenlogd/xenlogd.c
+++ b/tools/xenlogd/xenlogd.c
@@ -274,6 +274,7 @@ static device *new_device(unsigned int domid, unsigned int devid)
 
     pthread_cond_init(&device->cond, NULL);
     pthread_mutex_init(&device->mutex, NULL);
+    XEN_TAILQ_INIT(&device->fids);
 
     val = read_backend_node(device, "security_model");
     if ( !val || strcmp(val, "none") )
diff --git a/tools/xenlogd/xenlogd.h b/tools/xenlogd/xenlogd.h
index c10c6aa9e5..bd2a283ccb 100644
--- a/tools/xenlogd/xenlogd.h
+++ b/tools/xenlogd/xenlogd.h
@@ -19,6 +19,12 @@ struct p9_header {
     uint16_t tag;
 } __attribute__((packed));
 
+struct p9_fid {
+    XEN_TAILQ_ENTRY(struct p9_fid) list;
+    unsigned int fid;
+    char path[];
+};
+
 typedef struct device device;
 struct device {
     /* Admin data. */
@@ -60,6 +66,11 @@ struct device {
     char *str;              /* String work space. */
     unsigned int str_size;  /* Size of *str. */
     unsigned int str_used;  /* Currently used size of *str. */
+
+    /* File system handling. */
+    XEN_TAILQ_HEAD(fidhead, struct p9_fid) fids;
+    struct p9_fid *root_fid;
+    unsigned int n_fids;
 };
 
 extern xenevtchn_handle *xe;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 10:15:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 10:15:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626374.976609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy8GB-00020A-0f; Wed, 01 Nov 2023 10:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626374.976609; Wed, 01 Nov 2023 10:15: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 1qy8GA-000203-Sd; Wed, 01 Nov 2023 10:15:38 +0000
Received: by outflank-mailman (input) for mailman id 626374;
 Wed, 01 Nov 2023 10:15: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=xZQ6=GO=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qy8G9-0001zx-GJ
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 10:15:37 +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 992c6597-789f-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 11:15:36 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2c6b30acacdso57454601fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 03:15:36 -0700 (PDT)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 s16-20020ac25fb0000000b004fe2f085d5csm172870lfe.299.2023.11.01.03.15.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Nov 2023 03:15: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: 992c6597-789f-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698833735; x=1699438535; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=d3LKsTwr8NYl8OkY+753xCgq+RDBzVLZZQcnCl8u+GI=;
        b=OVlk18ehqqSMksbKVDoK4TU5hEKSA5zm14xXKF1Y3CCOqYDWGsk0Q4F+0c9dZwTlly
         n16uGuMS05uxOl0LTmwBoA6RiHpWO0JEYVhscn2r2Fba3AvNtLcxyyFwz/TZG8XzUmyG
         8VMZzy2vsUZiHdcHTvXQpY++QMBdtPNinI9/LXB9lbxaegxmuCEIYiUDlakNX6DMMoih
         PdN7mn84qajZootd1/O9l61s3kfn42MbFZ5yPxk6tQOdTutfW/Qw9Lsd6gRdodsHohQw
         EbrvOiuc1IONEco7//SGJEYS067E+uRQhiubl2ZEI5KuCwRKcgGrfvDk7/n0LyBkh4T+
         pI5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698833735; x=1699438535;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=d3LKsTwr8NYl8OkY+753xCgq+RDBzVLZZQcnCl8u+GI=;
        b=Vgubty8j7V36yP32KL32f79L5uHFSHq5zZy8+V6cuW8l1/Zs7rWcgUBjB4IylCk/6L
         gaX5n+11o0pMwgNfo8RXfvf1+YMhjADb616u4W+bUdguJavqWTWV9S86M6VbVrWL4Wth
         75iEliQMjef9dT3MB29i4SQrMWp2MsEOur0VL/jPWP37a/8XqNqQ4RmX3j7KevtCVvNK
         hnuoXe80/WUdyiPgunn6d4hwnLYA3V/pNwA4EudHB0IUgWQSQGMkboEGexp7YI+pOnKS
         R3Y7ZrJFSDBI3YT4LJ6hQseS0nngxE38f/bVThU0ntTd9qnuLFxjGYfs3zIdXgMP6koB
         NOPQ==
X-Gm-Message-State: AOJu0YxqdX4MnuvvFP7xxnBvFYwHVxqpkt2hk496eGKV3dAjw4GeRooL
	o1URvvBNaiRDhtW91S3QEnCn4n7iGa0=
X-Google-Smtp-Source: AGHT+IEdKuhcxVDeTqZa6mSCYsk0VcdRAxVazRx7xwRylybZDiNTdXUec39J7Oy42skYr0wvUog7ug==
X-Received: by 2002:ac2:4895:0:b0:503:3421:4ebd with SMTP id x21-20020ac24895000000b0050334214ebdmr10501351lfc.63.1698833734536;
        Wed, 01 Nov 2023 03:15:34 -0700 (PDT)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Jan Beulich <jbeulich@suse.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH] xen: avoid generation of stub <asm/pci.h> header
Date: Wed,  1 Nov 2023 12:15:09 +0200
Message-ID: <f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Platforms which doesn't have HAS_PCI enabled it is needed to
have <asm/pci.h>, which contains only an empty definition of
struct arch_pci_dev ( except ARM, it introduces several
ARM-specific functions ).

Also, for architectures ( such as PPC or RISC-V ) on initial
stages of adding support, it is needed to generate <asm/pci.h>
for only define the mentioned above arch_pci_dev structure.

For the Arm-only stubs ( mentioned in <asm/pci.h> for disabled
HAS_PCI and ARM-specific) will be needed
to add <asm/pci.h> directly alongside <xen/pci.h>. Only to
<arm/domain.c> <asm/pci.h> was added.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 xen/arch/arm/domain_build.c    |  1 +
 xen/arch/arm/include/asm/pci.h |  7 -------
 xen/arch/ppc/include/asm/pci.h |  7 -------
 xen/include/xen/pci.h          | 11 +++++++++++
 4 files changed, 12 insertions(+), 14 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/pci.h

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 49792dd590..2dd2926b41 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -23,6 +23,7 @@
 #include <asm/kernel.h>
 #include <asm/setup.h>
 #include <asm/tee/tee.h>
+#include <asm/pci.h>
 #include <asm/platform.h>
 #include <asm/psci.h>
 #include <asm/setup.h>
diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
index 8cb46f6b71..7f77226c9b 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -130,13 +130,6 @@ bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end);
 
 #else   /*!CONFIG_HAS_PCI*/
 
-struct arch_pci_dev { };
-
-static always_inline bool is_pci_passthrough_enabled(void)
-{
-    return false;
-}
-
 struct pci_dev;
 
 static inline void arch_pci_init_pdev(struct pci_dev *pdev) {}
diff --git a/xen/arch/ppc/include/asm/pci.h b/xen/arch/ppc/include/asm/pci.h
deleted file mode 100644
index e76c8e5475..0000000000
--- a/xen/arch/ppc/include/asm/pci.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __ASM_PPC_PCI_H__
-#define __ASM_PPC_PCI_H__
-
-struct arch_pci_dev {
-};
-
-#endif /* __ASM_PPC_PCI_H__ */
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 251b8761a8..168ca320ce 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -68,7 +68,18 @@ typedef union {
     };
 } pci_sbdf_t;
 
+#ifdef CONFIG_HAS_PCI
 #include <asm/pci.h>
+#else
+
+struct arch_pci_dev { };
+
+static always_inline bool is_pci_passthrough_enabled(void)
+{
+    return false;
+}
+
+#endif
 
 struct pci_dev_info {
     /*
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 10:44:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 10:44:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626378.976619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy8iI-00012R-6u; Wed, 01 Nov 2023 10:44:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626378.976619; Wed, 01 Nov 2023 10:44: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 1qy8iI-00012K-3b; Wed, 01 Nov 2023 10:44:42 +0000
Received: by outflank-mailman (input) for mailman id 626378;
 Wed, 01 Nov 2023 10:44: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 1qy8iG-00012E-NJ
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 10:44: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 1qy8iF-0006Fa-S0; Wed, 01 Nov 2023 10:44:39 +0000
Received: from [15.248.3.7] (helo=[10.24.67.31])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qy8iF-0002LJ-Jt; Wed, 01 Nov 2023 10:44: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=ccAFXGKkqQK/mtlIpXLVY5okZS+iVf0F6ViqoWsx61o=; b=ddvx19nGD5EnfN9RqdQWx0A8Vd
	56vbeSS4+z4mS3aH9oqubW4l0EUdFAXQKTV76cfDFpOGQRhY2TXg8xj129y2mquYEBQFZtwIICbzI
	eo0daV7D3pLcFelCZeQj57X4iBTU0KN/eALgSeWorUWO72jVIGxtF1d35wXzP78oPQRo=;
Message-ID: <0d94c15f-e65b-42cd-b57b-f524179520c7@xen.org>
Date: Wed, 1 Nov 2023 10:44:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 18/29] tools/xenstored: rename xenbus_evtchn()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-19-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231101093325.30302-19-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2023 09:33, Juergen Gross wrote:
> Rename the xenbus_evtchn() function to get_xenbus_evtchn() in order to
> avoid two externally visible symbols with the same name when Xenstore-
> stubdom is being built with a Mini-OS with CONFIG_XENBUS set.
This works right now, but what guarantee us that Mini-OS will not change 
other symbols and clash with the one provided by Xenstored again?

Furthermore, technically, this is a problem for all the other software 
linked with Mini-OS. So wouldn't it be better to modify the Mini-OS 
build system to prefix all the symbols of the linked binary (here 
Xenstored)?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 11:08:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 11:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626382.976629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy94u-0000a2-VZ; Wed, 01 Nov 2023 11:08:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626382.976629; Wed, 01 Nov 2023 11: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 1qy94u-0000Zv-SO; Wed, 01 Nov 2023 11:08:04 +0000
Received: by outflank-mailman (input) for mailman id 626382;
 Wed, 01 Nov 2023 11:08: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qy94u-0000Zp-AU
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 11:08:04 +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 ec5fc521-78a6-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 12:08:02 +0100 (CET)
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 740891F74A;
 Wed,  1 Nov 2023 11:08: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 4E5C113460;
 Wed,  1 Nov 2023 11:08:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id V6KvEZExQmU/MQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 11:08: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: ec5fc521-78a6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698836881; 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:autocrypt:autocrypt;
	bh=1Je6nSkY4hjCXmdDMfXQTZU4HV600TIPKTlXaqU718M=;
	b=GrgZ/+mxRMXEN2nV2kqmilR935jhL9VhosOXk4Fo5oiAQQ06dGVLmS2crahZVS89anWwiQ
	FrveyM8XiOEbRPp8MWLF1WTAqPdr62s72G4fYXN4AYmdjwRXRndAluDS781Ej6XB/SuETt
	mghrZmXMTk5VdyVrHWVcj7n5zBOazjE=
Message-ID: <7b3ce122-023a-4f6a-9de4-b40795957c50@suse.com>
Date: Wed, 1 Nov 2023 12:08:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 18/29] tools/xenstored: rename xenbus_evtchn()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-19-jgross@suse.com>
 <0d94c15f-e65b-42cd-b57b-f524179520c7@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <0d94c15f-e65b-42cd-b57b-f524179520c7@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------O9iS8dAddEzF3d9ehkYb3NVP"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------O9iS8dAddEzF3d9ehkYb3NVP
Content-Type: multipart/mixed; boundary="------------UeeRwZ1C0s8ZWLiEGQYg9Qdt";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <7b3ce122-023a-4f6a-9de4-b40795957c50@suse.com>
Subject: Re: [PATCH 18/29] tools/xenstored: rename xenbus_evtchn()
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-19-jgross@suse.com>
 <0d94c15f-e65b-42cd-b57b-f524179520c7@xen.org>
In-Reply-To: <0d94c15f-e65b-42cd-b57b-f524179520c7@xen.org>

--------------UeeRwZ1C0s8ZWLiEGQYg9Qdt
Content-Type: multipart/mixed; boundary="------------81dA6Z0I8gfPJMiS77ENMSzt"

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

T24gMDEuMTEuMjMgMTE6NDQsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDAxLzExLzIwMjMgMDk6MzMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBS
ZW5hbWUgdGhlIHhlbmJ1c19ldnRjaG4oKSBmdW5jdGlvbiB0byBnZXRfeGVuYnVzX2V2dGNo
bigpIGluIG9yZGVyIHRvDQo+PiBhdm9pZCB0d28gZXh0ZXJuYWxseSB2aXNpYmxlIHN5bWJv
bHMgd2l0aCB0aGUgc2FtZSBuYW1lIHdoZW4gWGVuc3RvcmUtDQo+PiBzdHViZG9tIGlzIGJl
aW5nIGJ1aWx0IHdpdGggYSBNaW5pLU9TIHdpdGggQ09ORklHX1hFTkJVUyBzZXQuDQo+IFRo
aXMgd29ya3MgcmlnaHQgbm93LCBidXQgd2hhdCBndWFyYW50ZWUgdXMgdGhhdCBNaW5pLU9T
IHdpbGwgbm90IGNoYW5nZSBvdGhlciANCj4gc3ltYm9scyBhbmQgY2xhc2ggd2l0aCB0aGUg
b25lIHByb3ZpZGVkIGJ5IFhlbnN0b3JlZCBhZ2Fpbj8NCj4gDQo+IEZ1cnRoZXJtb3JlLCB0
ZWNobmljYWxseSwgdGhpcyBpcyBhIHByb2JsZW0gZm9yIGFsbCB0aGUgb3RoZXIgc29mdHdh
cmUgbGlua2VkIA0KPiB3aXRoIE1pbmktT1MuIFNvIHdvdWxkbid0IGl0IGJlIGJldHRlciB0
byBtb2RpZnkgdGhlIE1pbmktT1MgYnVpbGQgc3lzdGVtIHRvIA0KPiBwcmVmaXggYWxsIHRo
ZSBzeW1ib2xzIG9mIHRoZSBsaW5rZWQgYmluYXJ5IChoZXJlIFhlbnN0b3JlZCk/DQoNCkhv
dyB3b3VsZCB0aGF0IHdvcms/DQoNCiBGcm9tIE1pbmktT1MgcG9pbnQgb2YgdmlldyBsaWJy
YXJpZXMgYXJlIG5vdCBkaXN0aW5ndWlzaGFibGUgZnJvbSB0aGUNCmxpbmtlZCBhcHBsaWNh
dGlvbi4gVGhpcyB3b3VsZCBtZWFuIHRoZSBidWlsZCBzeXN0ZW0gd291bGQgcHJlZml4IHRo
ZQ0KbGlicmFyeSBzeW1ib2xzIGFzIHdlbGwsIHdoaWxlIHRoZSBhcHBsaWNhdGlvbiB3b3Vs
ZCB0cnkgdG8gcmVmZXJlbmNlDQp0aGUgdGhlIHVuLXByZWZpeGVkIGxpYnJhcnkgc3ltYm9s
cy4NCg0KSSB0aGluayB0aGUgb25seSB3YXkgdG8gYXZvaWQgdGhpcyBraW5kIG9mIHByb2Js
ZW0gd291bGQgYmUgdG8gaGF2ZSBhDQpwb3NpdGl2ZSBsaXN0IG9mIGV4cG9ydGVkIE1pbmkt
T1Mgc3ltYm9scyBhbmQgdG8gaGlkZSBhbGwgb3RoZXIgc3ltYm9scw0KZnJvbSBsaW5rZWQg
bGlicmFyaWVzIGFuZCB0aGUgYXBwLg0KDQpJIGNhbiBsb29rIGludG8gdGhpcywgYnV0IEkn
ZCBsaWtlIHRvIGRvIHRoaXMgd29yayBvdXRzaWRlIG9mIHRoaXMNCnNlcmllcyBpbiBvcmRl
ciBub3QgdG8gYmxvY2sgaXRzIGRldmVsb3BtZW50IGZvciBhbiB1bmtub3duIGFtb3VudCBv
Zg0KdGltZS4NCg0KDQpKdWVyZ2VuDQo=
--------------81dA6Z0I8gfPJMiS77ENMSzt
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-----

--------------81dA6Z0I8gfPJMiS77ENMSzt--

--------------UeeRwZ1C0s8ZWLiEGQYg9Qdt--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVCMZAFAwAAAAAACgkQsN6d1ii/Ey9e
CQf+NvOccrmVTg3p1ADEKtRHslsdjpIFLvvgY+Bo8NRKSHtN/rH0wueHhiFlRy12vARNxRdDnT3Z
Z6Dvy3eH0Pf5+mpsoJF0IIxiRpR+NZWTDgn5ge9rDpRurVWoO5P+sXaUrs8plF7AkV8qMwmIYGd8
7WcUKQFoZBqEqIHRW079RTeP0IXdRBjH9Voui69HMus4K+6ZqJLPi5MEoT6Bx7mQDKEWboob+ng/
AplOlJU3Kv8L2K97uQHbUzMNLp9Je2Pd6DRZ3q1Ecto9IRaDuAEQoagEkWX9etfUMHiM/4Wbdp1M
jG294rEJ0HKFAOvaS9fTiNPf8Rh2goMZxfNol1f+/g==
=IM7Q
-----END PGP SIGNATURE-----

--------------O9iS8dAddEzF3d9ehkYb3NVP--


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 11:11:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 11:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626389.976654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy98Z-00038T-Vk; Wed, 01 Nov 2023 11:11:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626389.976654; Wed, 01 Nov 2023 11:11: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 1qy98Z-00038M-T4; Wed, 01 Nov 2023 11:11:51 +0000
Received: by outflank-mailman (input) for mailman id 626389;
 Wed, 01 Nov 2023 11:11: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=7wFu=GO=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qy98Y-0002jT-J7
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 11:11:50 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2055.outbound.protection.outlook.com [40.107.13.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7211f5f3-78a7-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 12:11:47 +0100 (CET)
Received: from AS8PR04CA0185.eurprd04.prod.outlook.com (2603:10a6:20b:2f3::10)
 by AS8PR08MB6583.eurprd08.prod.outlook.com (2603:10a6:20b:33f::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Wed, 1 Nov
 2023 11:11:16 +0000
Received: from AMS0EPF000001A0.eurprd05.prod.outlook.com
 (2603:10a6:20b:2f3:cafe::ab) by AS8PR04CA0185.outlook.office365.com
 (2603:10a6:20b:2f3::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29 via Frontend
 Transport; Wed, 1 Nov 2023 11:11:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A0.mail.protection.outlook.com (10.167.16.230) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Wed, 1 Nov 2023 11:11:15 +0000
Received: ("Tessian outbound 26ee1d40577c:v228");
 Wed, 01 Nov 2023 11:11:15 +0000
Received: from fd811c3948c8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F0617F22-3C64-4482-8D8A-2C00BCA1E511.1; 
 Wed, 01 Nov 2023 11:11:09 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fd811c3948c8.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 01 Nov 2023 11:11:09 +0000
Received: from GV2PR08MB8001.eurprd08.prod.outlook.com (2603:10a6:150:a9::12)
 by AM8PR08MB5683.eurprd08.prod.outlook.com (2603:10a6:20b:1d1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Wed, 1 Nov
 2023 11:11:05 +0000
Received: from GV2PR08MB8001.eurprd08.prod.outlook.com
 ([fe80::2c90:d66b:b17c:83f2]) by GV2PR08MB8001.eurprd08.prod.outlook.com
 ([fe80::2c90:d66b:b17c:83f2%3]) with mapi id 15.20.6933.029; Wed, 1 Nov 2023
 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>
X-Inumbo-ID: 7211f5f3-78a7-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=DiYiTFGbscn6Jod673tl8ayll9jzlAvZrnFOt8fkGpkpIAT7ydzhVTC5mBhVmZVZq3jdwzqpViaY8/560Bg5ukEmY0tRvBBXD5fFwbwhYJ+wubfT4Aq9bfv4lvqEaqbqxnen0hkDYmJ0+q0euhom6X3P1KAA1mrHz36AYUEG5CtuxNkGzo/69oWH/bSEqpvUzdakF8oPESVi90e2t/NI9PRkpKB+C+54tvOKUpOZ5r+M9UEx2E0rKnNJF9ihTo9pSvgOFyfsVWdHH2upYNjU8usBBilCbo+urnb046XgNZL9qZDiITiW+xOSQyCcmqRgRzE7RdGnO9GjV5vPzjVQFQ==
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=R022m9DiTXlf0oYGSKrT1IcOCXXhHcLRCRvf37XUic4=;
 b=inh+6VhUBAVEIs5DdRyIQUG4e4gJa+zc8EqkrJxIlPqEE4WHIIDKDxRvUKpyvShouDj6mgeAk0FBOdHBib394cRLYKgukWqNZ+mHYeS1fllD6964/ZO4jKDQEqtqUMsSv9iJsce7wP47U8EYtbYBqZuaDXf8tUzZypZcxXQcS+LJgvNqb2XpOTzwfN7d4CGEtds16o+rHAIPuwGddQnjWpNyTjgmqKl6/fXaH4llEaPtKenVVTsIp2KNlSK/b/+ijd/JAy9vpBOGfpmOnxotC9SYCry2V8eVaWY9O7acrwH1FCx9WGXE5tc2ZA899wf5LhQLLHu1F7DlEdLhkrXwdw==
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=R022m9DiTXlf0oYGSKrT1IcOCXXhHcLRCRvf37XUic4=;
 b=go76W/scNkXVhUOhsFBWDR3NHptCcc7XDyXVoZwKINvQitjIr9G98zNSfBwOxeA/UhkNHRFQDMTIwc6xCW/IH2Xjpvkhnicu5IQIrxucGwHLFM4mtvf3zCdBHePxDeG1nJt0wPC8OkfuWAXAUulDN7O/1J3Y+0v8XbaK5q+lBv8=
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: 9706d835900ef989
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=itXZqMd5PR61EUVwJaa/3dDikzj6hv7aOfc/8QvwGKCmdYiTruhkj8MtbV6765vmaGSkqywAnN8Sa+T29WDL11YbxP0XvikGRT1YbIichn5V3V4TUHxAD3+0duZJTMdlZNC83L1dltA0LTtDB3laPL4a0g4RwyU8f8etwjyqgeQaj8A5RTdsxpCIJrpd8GelZf3/D/g8JDj6895h9tNcSRtd6ET/PZzkzYk1+iwOnSYzmiepTbjdcJZVy0nhCjWE6TBbuHQ8S5hjZMJI43iCiEm9JwuDTg9c554V1sc1FZPjmm2JmFZfepMKF2Z94HPcfVISRmrxkorC8nQwI8AEcg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R022m9DiTXlf0oYGSKrT1IcOCXXhHcLRCRvf37XUic4=;
 b=PPNo79Bec5AP5VHiZyLNoj9IWn5pY7aXPlyHEaLQTv3CTDqILMbTW8MTpAvuc0tEibukXnkLrDmc/QWM1XUdTM0QBEKl85bhEaensiqrUkj1gkpA1nMQXAdBsds38LTwMqqDEtDZTRGmrHftW3dRlnM5sW6ROroVzHPiKgJPWxR1YeYfphjp08HgHIfLVuYv2U3s/G+B/xwNUCsM760pSoEHZ7o7Qpvi5IJI7HiI4m/mKnwnPkLlO40a1qooTbXKh49b5/M8siKT+sNz6axmdXxoBGe0FEr85Nt/NlxFOEpm2Knhh2YHrLUesvvtcLBmmKXOkUWWDLAYQWWBBXGkJQ==
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=R022m9DiTXlf0oYGSKrT1IcOCXXhHcLRCRvf37XUic4=;
 b=go76W/scNkXVhUOhsFBWDR3NHptCcc7XDyXVoZwKINvQitjIr9G98zNSfBwOxeA/UhkNHRFQDMTIwc6xCW/IH2Xjpvkhnicu5IQIrxucGwHLFM4mtvf3zCdBHePxDeG1nJt0wPC8OkfuWAXAUulDN7O/1J3Y+0v8XbaK5q+lBv8=
From: Henry Wang <Henry.Wang@arm.com>
To: Xen-devel <xen-devel@lists.xenproject.org>,
	"xen-announce@lists.xenproject.org" <xen-announce@lists.xenproject.org>,
	Xen-users <xen-users@lists.xenproject.org>
CC: Community Manager <community.manager@xenproject.org>
Subject: Xen 4.18 rc5
Thread-Topic: Xen 4.18 rc5
Thread-Index: AQHaDLQbeYmGz7S65kSOlQvhwj74Hw==
Date: Wed, 1 Nov 2023 11:11:05 +0000
Message-ID: <F86371BB-DA75-4706-9E35-F1211B022AD7@arm.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	GV2PR08MB8001:EE_|AM8PR08MB5683:EE_|AMS0EPF000001A0:EE_|AS8PR08MB6583:EE_
X-MS-Office365-Filtering-Correlation-Id: 5d67227a-aec7-40cc-7fa9-08dbdacb4403
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:
 kcvuQ0UPgA7Yv7efQdUC6uoby4tECN/tHP2h3Ao/hRUqEYrcxFeTLA1SUm0C5ERtkd8Pf+ke1ygWjuOAThEfW8/vCC133N2LSHtHbtxYuqtvraSqnwLBQWpWaU8l4uqlwUGOPrffX1C6egrHNnDzQJcbuY/wghtdtrxWno3StGwrFcAZMU2re+PiJFsx2Xbn8VJLWjyfQqILQI+nG90gQp6Osrr6JY56Wp2nFB28DhZn6RkvvKmf98hutc2NmNdjGR++ByjFk2Q9Qv/WiPqiLUd4P4sk2Oe4JaxH5zUeAUvrJvhUg+/3jfiVNoyTfyu13eJggwgrqxPKD872c3q2S/KVF062gq4f08WIeGK1Uo3Iwg1S4ybbEsnJBPsnDCP5YDfexPG3rBAW66iXNPz58hucIS8rtWla1yLIxbSrI0GT2tr5YtR6xg0vtUNf7u5BiLFszB3s3FsLV7XzGZQPAPDt0z7GqL1b6Mhnj2lnILS7P5xu23deAM9DhCyE9/ZF7raA39w7zMoZ+bf/4eNMAAc9i3IYMA1mbLtLAJ0m89QlFPBtOTrB5jDEvR5SCNvBp2Z2nv5a2HMFpP03tNfe+p6YNyB8ktwQDzm0EnESn+1KAps2ml0F9m1MmibmslTO
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR08MB8001.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(39860400002)(366004)(396003)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(6512007)(2616005)(26005)(38070700009)(36756003)(86362001)(33656002)(122000001)(38100700002)(7116003)(4744005)(2906002)(5660300002)(83380400001)(71200400001)(478600001)(6506007)(8676002)(8936002)(4326008)(66946007)(316002)(66446008)(64756008)(66476007)(6486002)(66556008)(110136005)(91956017)(76116006)(966005)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2FF80E0D6B84FF4BA0EEEBA612089EC4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5683
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:
 AMS0EPF000001A0.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	913082f9-6b68-473f-6196-08dbdacb3df7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HRdGB92gi81XAkqX4vGXVxD71TjyYIURVBcu8IF4OJ+X+u9H+puTfwO169cdERFTCYnYfBSi99Pi0XX9o2ufn4ArkSzsvKiFritMzHPFQABLfutAkTXZuOjzFVxLi/xUCMmMdpTG2VoHm+pG65xbiDX1rCJ0GLZeArGV/980rmjhP9NqRnQXD3E5KoLU4/xDrWGGLRuX2Fy+DLzzLDnqcuWdd9KJdKfemtvPFtJ/88SOWLoGlwbzRyvSd4rTiaSrbgW5b5xrSsG13BKR08/zQD1sIX65m3ohDMyMPj7Ssue7F2HOr6Wbcr/WxVXZQIwSIeGy9kcZbV+5deErib1a3MoRK6OrPy70hyQAA1shBVTLZrlsRckkzKb7ta2PkEJ7fkGQFPpXwdFFlCPXBX6uu4F/1fa2ExC5hHrasKDxtnlf0eF+/eYVzewMngCU29E54hGp8EP3F+3RGgA0KQnZoIC1jAGiEUi8tOYSBc6dRCSXN1/QPRSIgW2M6EFFmpHy0XLloDYpqioq8w6eVKToIbIQlhzswZo3WmSKtCUszw4wYaokICOM9TPeqL+SJ0cfEwVTm7ZwYRtBd/C1YPG6qHOP3GIgm7YhfswbXPZa0JSxGNsz33P0G2YrGR8uNrd22bnJAuhOdDKz0p+VP0KqvKK+D5ryCxY6hXv4erY6knnfSLI9cTrTPCUr2bS2rli73yB+RZf89Ge1uOPNASASFn+INwY0QngKBnLjpa+Wdy8=
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:(13230031)(4636009)(136003)(346002)(396003)(376002)(39860400002)(230922051799003)(1800799009)(186009)(64100799003)(82310400011)(451199024)(46966006)(40470700004)(36840700001)(6512007)(26005)(2616005)(40460700003)(2906002)(4744005)(40480700001)(86362001)(33656002)(36756003)(81166007)(82740400003)(356005)(336012)(5660300002)(83380400001)(6486002)(6506007)(36860700001)(478600001)(4326008)(47076005)(8676002)(450100002)(8936002)(316002)(966005)(7116003)(70206006)(41300700001)(70586007)(110136005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2023 11:11:15.6415
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5d67227a-aec7-40cc-7fa9-08dbdacb4403
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:
	AMS0EPF000001A0.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6583

Hi all,

Xen 4.18 rc5 is tagged. You can check that out from xen.git:

git://xenbits.xen.org/xen.git 4.18.0-rc5

For your convenience there is also a tarball at:
https://downloads.xenproject.org/release/xen/4.18.0-rc5/xen-4.18.0-rc5.tar.=
gz

And the signature is at:
https://downloads.xenproject.org/release/xen/4.18.0-rc5/xen-4.18.0-rc5.tar.=
gz.sig

Please send bug reports and test reports to xen-devel@lists.xenproject.org.
When sending bug reports, please CC relevant maintainers and me
(Henry.Wang@arm.com).

Kind regards,
Henry


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 11:14:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 11:14:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626411.976665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy9B3-0005IC-DD; Wed, 01 Nov 2023 11:14:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626411.976665; Wed, 01 Nov 2023 11:14: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 1qy9B3-0005I5-AZ; Wed, 01 Nov 2023 11:14:25 +0000
Received: by outflank-mailman (input) for mailman id 626411;
 Wed, 01 Nov 2023 11:14: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 1qy9B3-0005Hx-01
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 11:14: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 1qy9B2-0006x6-6x; Wed, 01 Nov 2023 11:14:24 +0000
Received: from [15.248.3.7] (helo=[10.24.67.31])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qy9B2-0003c8-1T; Wed, 01 Nov 2023 11: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>
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=qx0Lq2J+fClUJ91224pUNqsSwM56O/nvfLM6zasqoj0=; b=G6P+GtKdZG7l88S6Alh1lVJZ1v
	gPdspEvXxlI4riucVO11Xc1EVbvyyvMVPCmg1OBSGyGhorL28N8t9qLaD34XxnwskR3ViNJRGEVri
	5RPdhF6zK19xZk8cbHs+8kZ7DW7Wiqz2oftoAG6i1zHWNeEredtAYzHcAOs9F8VVLRJc=;
Message-ID: <447ab760-3ec0-4fd2-83a0-3d44e4ac26ec@xen.org>
Date: Wed, 1 Nov 2023 11:14:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 18/29] tools/xenstored: rename xenbus_evtchn()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-19-jgross@suse.com>
 <0d94c15f-e65b-42cd-b57b-f524179520c7@xen.org>
 <7b3ce122-023a-4f6a-9de4-b40795957c50@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <7b3ce122-023a-4f6a-9de4-b40795957c50@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 01/11/2023 11:08, Juergen Gross wrote:
> On 01.11.23 11:44, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 01/11/2023 09:33, Juergen Gross wrote:
>>> Rename the xenbus_evtchn() function to get_xenbus_evtchn() in order to
>>> avoid two externally visible symbols with the same name when Xenstore-
>>> stubdom is being built with a Mini-OS with CONFIG_XENBUS set.
>> This works right now, but what guarantee us that Mini-OS will not 
>> change other symbols and clash with the one provided by Xenstored again?
>>
>> Furthermore, technically, this is a problem for all the other software 
>> linked with Mini-OS. So wouldn't it be better to modify the Mini-OS 
>> build system to prefix all the symbols of the linked binary (here 
>> Xenstored)?
> 
> How would that work?
> 
>  From Mini-OS point of view libraries are not distinguishable from the
> linked application. This would mean the build system would prefix the
> library symbols as well, while the application would try to reference
> the the un-prefixed library symbols.

AFAICT, objcopy could rename symbols. So if you pre-process the 
libraries and application before hand, then you should still be able to 
link.

> 
> I think the only way to avoid this kind of problem would be to have a
> positive list of exported Mini-OS symbols and to hide all other symbols
> from linked libraries and the app.
> 
> I can look into this, but I'd like to do this work outside of this
> series in order not to block its development for an unknown amount of
> time.

I am ok with that:

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 12:05:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 12:05:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626457.976688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qy9yE-0005tP-R8; Wed, 01 Nov 2023 12:05:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626457.976688; Wed, 01 Nov 2023 12:05: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 1qy9yE-0005tI-O4; Wed, 01 Nov 2023 12:05:14 +0000
Received: by outflank-mailman (input) for mailman id 626457;
 Wed, 01 Nov 2023 12:05: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 1qy9yD-0005tA-1z
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 12:05: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 1qy9yC-0008DZ-Jl; Wed, 01 Nov 2023 12:05:12 +0000
Received: from [15.248.3.7] (helo=[10.24.67.31])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qy9yC-0005au-8f; Wed, 01 Nov 2023 12:05: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=f6g434O77Z8NSfHjUTHsCiU7j0j7mcriyxHF8NrWbUI=; b=JS/zZCE6vmI2Zf3qSM8JDTqrqJ
	aOb3Bvb313ccbJzI8Ir/mvEmIQBLxx0wlqjfxYMykTKltxtCFkxQLaO5ob4d+Myx/RcDpM5s210ef
	R19tMEaFTmUYt4YLTkSS3wKvCyUAUJnMh8rTIj4RFfssn/QBBzucDk8x75c55nO6mqLg=;
Message-ID: <8ce56c46-b68d-4ff8-b047-3e2d3e3cb3aa@xen.org>
Date: Wed, 1 Nov 2023 12:05:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 3/8] xen/arm: Fold mmu_init_secondary_cpu() to head.S
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei Chen <Wei.Chen@arm.com>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Julien Grall <jgrall@amazon.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>
References: <20231023021345.1731436-1-Henry.Wang@arm.com>
 <20231023021345.1731436-4-Henry.Wang@arm.com>
 <f098a07d-fa19-4b40-bfac-7b121524382a@xen.org>
 <D25CD22C-F529-41F7-93AB-43BEB7157B8C@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <D25CD22C-F529-41F7-93AB-43BEB7157B8C@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 01/11/2023 01:58, Henry Wang wrote:
> Hi Julien,

Hi,

>> On Nov 1, 2023, at 02:29, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Henry,
>>
>> +Ayan
>>
>> On 23/10/2023 03:13, Henry Wang wrote:
>>> Currently mmu_init_secondary_cpu() only enforces the page table
>>> should not contain mapping that are both Writable and eXecutables
>>> after boot. To ease the arch/arm/mm.c split work, fold this function
>>> to head.S.
>>> For arm32, introduce an assembly macro pt_enforce_wxn. The macro is
>>> called before secondary CPUs jumping into the C world.
>>> For arm64, set the SCTLR_Axx_ELx_WXN flag right when the MMU is
>>> enabled. This would avoid the extra TLB flush and SCTLR dance.
>>
>> For a random reader, it is not clear why you can't set WnX early for arm32 as well. I think it would helpful to explain the difference. I.e. at the point the MMU is enabled, the page-tables may still contain mapping which are writable and executable.
> 
> Sounds good, I will add the suggested sentence.
> 
>>>   .endm
>>>   +/*
>>> + * Enforce Xen page-tables do not contain mapping that are both
>>> + * Writable and eXecutables.
>>> + *
>>> + * This should be called on each secondary CPU.
>>> + */
>>> +.macro pt_enforce_wxn tmp
>>> +        mrc   CP32(\tmp, HSCTLR)
>>> +        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
>>> +        dsb
>>> +        mcr   CP32(\tmp, HSCTLR)
>>> +        /*
>>> +         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
>>> +         * before flushing the TLBs.
>>> +         */
>>> +        isb
>>> +        flush_xen_tlb_local \tmp
>>> +.endm
>>> +
>>>   /*
>>>    * Common register usage in this file:
>>>    *   r0  -
>>> @@ -254,6 +273,7 @@ secondary_switched:
>>>           /* Use a virtual address to access the UART. */
>>>           mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
>>>   #endif
>>> +        pt_enforce_wxn r0
>>
>>  From recent discussion on IRC, Ayan reminded me this patch [1]. Ideally, I would want to print a message just before to indicate that the bit is set. But I understand that this would need to be droppped in Ayan rework as we don't yet support early printk in enable_mmu().
>>
>> While debugging an MMU issue on Arm32, I wrote a patch to sprinkle prints in the enable_mmu() code. I will clean-up the patch and send it.
> 
> Just to make sure, your patch is for both Arm32 and Arm64, is my understanding correct?

No it is only for arm32.

> If it is only for Arm32, do you need me adding the print for Arm64 as well in this patch?

No need. For arm64, we will enable WnX at the same time as the MMU. So 
we are already covered by the other prints.

> 
>> I will add a print at that point. Meanwhile, I would move the call a few lines above? This will allow Ayan to drop [1].
> 
> Yeah I will include Ayan’s change in this patch and add his sign-off.
> 
>>>           PRINT("- Ready -\r\n")
>>>           /* Jump to C world */
>>>           mov_w r2, start_secondary
>>> diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
>>> index 88075ef083..df06cefbbe 100644
>>> --- a/xen/arch/arm/arm64/mmu/head.S
>>> +++ b/xen/arch/arm/arm64/mmu/head.S
>>> @@ -264,10 +264,11 @@ ENDPROC(create_page_tables)
>>>    * Inputs:
>>>    *   x0 : Physical address of the page tables.
>>
>> The inputs list should be updated to mention what x1 means.
> 
> I will use “x1: Extra flags of the SCTLR.” if this looks good to you.

I am fine with that.

Cheers,


-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 12:28:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 12:28:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626464.976697 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyAKz-0004h3-LC; Wed, 01 Nov 2023 12:28:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626464.976697; Wed, 01 Nov 2023 12:28: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 1qyAKz-0004gw-If; Wed, 01 Nov 2023 12:28:45 +0000
Received: by outflank-mailman (input) for mailman id 626464;
 Wed, 01 Nov 2023 12:28: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=7wFu=GO=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qyAKz-0004gq-3T
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 12:28:45 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31db4117-78b2-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 13:28:43 +0100 (CET)
Received: from DU2PR04CA0244.eurprd04.prod.outlook.com (2603:10a6:10:28e::9)
 by GV1PR08MB8257.eurprd08.prod.outlook.com (2603:10a6:150:8b::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Wed, 1 Nov
 2023 12:28:38 +0000
Received: from DB5PEPF00014B8D.eurprd02.prod.outlook.com
 (2603:10a6:10:28e:cafe::cb) by DU2PR04CA0244.outlook.office365.com
 (2603:10a6:10:28e::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Wed, 1 Nov 2023 12:28:37 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B8D.mail.protection.outlook.com (10.167.8.201) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Wed, 1 Nov 2023 12:28:37 +0000
Received: ("Tessian outbound 5d213238733f:v228");
 Wed, 01 Nov 2023 12:28:37 +0000
Received: from fcbbfe95877b.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 03F591F2-6A40-4AD4-8E2B-DF03FF78F905.1; 
 Wed, 01 Nov 2023 12:28:27 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fcbbfe95877b.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 01 Nov 2023 12:28:27 +0000
Received: from GV2PR08MB8001.eurprd08.prod.outlook.com (2603:10a6:150:a9::12)
 by PA4PR08MB6063.eurprd08.prod.outlook.com (2603:10a6:102:ed::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Wed, 1 Nov
 2023 12:28:21 +0000
Received: from GV2PR08MB8001.eurprd08.prod.outlook.com
 ([fe80::2c90:d66b:b17c:83f2]) by GV2PR08MB8001.eurprd08.prod.outlook.com
 ([fe80::2c90:d66b:b17c:83f2%3]) with mapi id 15.20.6933.029; Wed, 1 Nov 2023
 12: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>
X-Inumbo-ID: 31db4117-78b2-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ogVprm7c/ASs3Dw9OO1J0bRZhaDCd4q+7VEyzKx6fgkctv3G6K/qngBKwZtQXrONmZyOTkG5uoBoUHpyZMXN4NRew1LtDIoDyGugiVCTQcMf86OyUUgPbnU0jB9Mx0YTwoldjiOq5+/KDai4sUPRooEA0W7GY8n85s6tBX4KEzv53KNdtm/6nZWi644/aNe1iAf58GDw+xVMv52snJ5jATInNhgHmn61JOJ0mfTKW8VHzlpP7VYTE3KyWeHaiFH+Cd65d+emInQCyj+jQNRggkAso6kK+cBuf/lCeDi5uNhZe9UMFbqlW6KVEXbsQTWXdtSJnbBFjsqbXyCIdybjDA==
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=bxQYQ6NlEXNAbRqIbuc9ak3TVYEhdKrDtI+ZlzcoMEE=;
 b=kgTpXCw4Dv2sXCF4QRogSVtmcOD4Z7+7/Yl0m+uDEQqNeLTfN6Vr9RQeCu5mCpIPuMd/ZmRiZFTOBhfN5YOhXCdwuranPAbFzxU4AutvDcgFqW1LZAJnZi2WlKW2xPvf1xC8BSQ1/lNpGJcLdu5reQZxmi+jX8T7Y3mAbcMiMUByXx9VdtiMCFKOik8E1OWRcqYpbMfTmm6tSW8YCAkeweCUPjKw+SG1DH2fSkto2OhRVsZ/F3k6k8b9BAOeAhdOLlO++G8cjAbmzVWwp0HIwVVm0ncK/pfVENlUaEyIagrMBf2MqdKraXDSJbISestSoFinaLTojF7qXJyllDqhRw==
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=bxQYQ6NlEXNAbRqIbuc9ak3TVYEhdKrDtI+ZlzcoMEE=;
 b=3+2ri9z8NUvHmjiXeA7hrMUx2F33OpBHDo9lPrq9C0ajaw2ztKBDzfLXFBNvQE/cx41zfNhYORWuLaO8OQMmdWqsa7xDrfRIXhhVFSS/X+7vqh6ZLLVKzXTTobhDqrrCNRdxS5rS2Xj/DV5CLgBFJkTAsYkKGd7TQ/ngWFBRqew=
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: 8a02745165ba3bd6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LpvWy2yL/CKoDga3E2bxpU6sxyEt8YciwTZ3AfuZGDROdg2ga534plj/39YKAziOyrrs8mxo14+okROE/uXkcw7YftGH3FO5iZzd6nBYtFyhKrOcORv7+3JKtYJ40hTXPY1lZpfS6+auIhBIpNUV04Km87mlxm01DIB1kTqNUrsMNz+augdtiUz6tcoIu5tHZwgcrTDxx/H6fjg1+l0Wn4aQT5mStKMY6TPqSgTyvmqro/jCWeuUSC86POq+Q+wLl9D1jqoT5jqirZ2n3082g+1GQPU39Wa5XU2O67RM59cnJylQFoyjULRajpk5EwBBkVHLXSwCLdFPk9NFtNqyMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bxQYQ6NlEXNAbRqIbuc9ak3TVYEhdKrDtI+ZlzcoMEE=;
 b=cilbTLeYtvUij8iWoaoj3AUnojA5S25RpGzg/kKQTqveia/3q1u8366p8caSuWOwd9VqLSXVG7PTZPGp4iWLl0gg93oedEYnAn793CfdtrrUYDV4ik4DPqIQWW7LfGjyNU1l+dwBTGPboJ4cxU8Epzgie6ZiLKs2nV74XcQUpvB/NQdo4dgTlddgKWKK/SlBdvNvrH4zRxm8EyIOK+xdgrpMgeEBc/P0rRD/whSpFQsLHWVtEd3mVnwmDpUacdqAMIZFs9ek1iBxciCZmAwcFi5NDpVBtRBsf7/S12bF8r23OlF69ins733KhfeQpd6NCAJufM8t0zN4H4LeB7DtdQ==
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=bxQYQ6NlEXNAbRqIbuc9ak3TVYEhdKrDtI+ZlzcoMEE=;
 b=3+2ri9z8NUvHmjiXeA7hrMUx2F33OpBHDo9lPrq9C0ajaw2ztKBDzfLXFBNvQE/cx41zfNhYORWuLaO8OQMmdWqsa7xDrfRIXhhVFSS/X+7vqh6ZLLVKzXTTobhDqrrCNRdxS5rS2Xj/DV5CLgBFJkTAsYkKGd7TQ/ngWFBRqew=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei
 Chen <Wei.Chen@arm.com>, Penny Zheng <Penny.Zheng@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Julien Grall <jgrall@amazon.com>, Ayan Kumar
 Halder <ayan.kumar.halder@amd.com>
Subject: Re: [PATCH v8 3/8] xen/arm: Fold mmu_init_secondary_cpu() to head.S
Thread-Topic: [PATCH v8 3/8] xen/arm: Fold mmu_init_secondary_cpu() to head.S
Thread-Index: AQHaBVagUvAeq6Jj0E+dI1rvNGdSyLBkRaEAgAB9cwCAAKmQgIAABmwA
Date: Wed, 1 Nov 2023 12:28:20 +0000
Message-ID: <179627AC-9FB4-4DC5-A46A-D47A19ABA497@arm.com>
References: <20231023021345.1731436-1-Henry.Wang@arm.com>
 <20231023021345.1731436-4-Henry.Wang@arm.com>
 <f098a07d-fa19-4b40-bfac-7b121524382a@xen.org>
 <D25CD22C-F529-41F7-93AB-43BEB7157B8C@arm.com>
 <8ce56c46-b68d-4ff8-b047-3e2d3e3cb3aa@xen.org>
In-Reply-To: <8ce56c46-b68d-4ff8-b047-3e2d3e3cb3aa@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	GV2PR08MB8001:EE_|PA4PR08MB6063:EE_|DB5PEPF00014B8D:EE_|GV1PR08MB8257:EE_
X-MS-Office365-Filtering-Correlation-Id: 6871f506-4016-4068-e0da-08dbdad612d6
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:
 6hH2l7ZZ/IAYdU8MluWpw2hslkT0OGHtuD/oNjEL2AJd0XEKvP7Q+Anyf/LOLKnJo/OCVantjyaKF4JFos+sYupBCvfFhmNfPZ7l0x0FLlSNqoRnoLPTGaFkH4wjNESaw/TQgxZtnbmjXslAhFkckEsrumL710zuscp6Q2Y8f0aKaSuFybwR5klsoxYhh+Fi0MfzYLhozX2dQmz9MLSa6qGRSSunoNTZjwEYv3I5q33eu2YAe6Ksd8R1Pc6uT5vZWzh0H2rQKKG13RnS/j+RG2QgptM/3IhZ3LgMRT2M1szv5H0z/d5GxtyPVjkBsmt/+nqIvhGv859qZ1D+Rq++qMVwQ3orilpV0YT9pUH1Q9sOYOAyuhhYaQnvVQuu/YGeZYxTFQMnG5U4yedFEx85ObosSpHYUBkASwcAz8tkRLK8qK7W2ae+/Byb2vxl65sQPVH9q3PtlbkTeD42HiBd26nkCiJSBZbDkhr37g5cN+CtGPPO5Zi/NuxGLQAz+SuycPk9ChBx+hhacxrjPWOzBOi2smy4LR5c5F8egaEbotPCW7E33d9FcNPfP/4jz72tVbECv5qxKgy5puRy4xAN4aPLItUitHWyyNlpQFcC0IVfwP2lJkNFufbZCiD2R/Montj3UQz/KJGeRMHJ3W8tlw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:GV2PR08MB8001.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(39860400002)(396003)(366004)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(38070700009)(38100700002)(122000001)(36756003)(86362001)(26005)(33656002)(2616005)(71200400001)(8676002)(4326008)(8936002)(316002)(53546011)(6512007)(6506007)(478600001)(6916009)(66446008)(66946007)(5660300002)(54906003)(91956017)(64756008)(76116006)(6486002)(66556008)(66476007)(41300700001)(2906002)(4744005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <61835F5E014DC845BBC6E78E8CCBA315@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6063
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:
 DB5PEPF00014B8D.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2a7dce15-3899-41b5-f444-08dbdad608b8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	khwLQAwK3iKEHfU4P0iBCHh8Phsz3sF2noqFMRiLsq2DGaAZb+Sw0UhWpjH2i4t7pd1whnj2eEb81MPNFEQvRjKlcLAKsT/llV1rpPv6+w1MNNPT0EL7UGOQ9WKYYsqiGVKpoqP54wWZnkVPLGdvjGesmNQx3+LQM/wOFF1WnR1+8rs6PRTwbRtK4hy/klDRFqf8nG/LsuEygGP0Y878ZmX1I5pCjRVMWasHfQNNg5sLio5k41K6CLl9sJ2J8giCwqvL9UFPETG4sYftHIi89yyRs1tDFpnc1u9tIUQzWCCYtScqfL4RNQbzeF8bi+eodnaRcqWk/s12XxsEXFfMyFa4MEsU8qvjzShqbIbQTWR3ZX8UTedd5XpQHydRpt+M03pg49jrEJJ6WUJFM39hnyVQ00V6IbKAYFUrxTCFsDgUXBtRMsBU4P7VHyq8EmNWDqoBNmae/w00ITC4OXJG31OP1uwLLIgn8CIVrP6R6btUD2jTqBARazmp/gsQ0QSbrx8JI3iwbKqxFkZb4yqpbSOmqmUNcoZ0xVKt5/+/t6rHcJFbPaXWjv8TrYYoq2veWgeXYPZcWYmAvbX3kH/bEvWTA1j7CVXTT1YmWQJ0OVHuF38wE95+hvlIw3F6OEhrjFzZIUD9JU8nIDkXv1BHZ1xeOtmCAQvMeQUVKjNNCQhWPz//0E1vXyTNP3T/DGvEiviRIi3PbH0rZMb27jWI23mRFpfzOra8Yz/C4n0P1MtY8j4nZpjnY7z7t7cum7mA
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:(13230031)(4636009)(396003)(39860400002)(346002)(136003)(376002)(230922051799003)(82310400011)(1800799009)(451199024)(186009)(64100799003)(40470700004)(36840700001)(46966006)(2906002)(40480700001)(40460700003)(478600001)(6486002)(2616005)(86362001)(336012)(26005)(82740400003)(33656002)(47076005)(81166007)(356005)(36756003)(6512007)(36860700001)(53546011)(6506007)(8676002)(70206006)(316002)(41300700001)(70586007)(54906003)(8936002)(5660300002)(4326008)(6862004)(4744005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2023 12:28:37.6673
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6871f506-4016-4068-e0da-08dbdad612d6
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:
	DB5PEPF00014B8D.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8257

Hi Julien,

> On Nov 1, 2023, at 20:05, Julien Grall <julien@xen.org> wrote:
>>>=20
>>> While debugging an MMU issue on Arm32, I wrote a patch to sprinkle prin=
ts in the enable_mmu() code. I will clean-up the patch and send it.
>> Just to make sure, your patch is for both Arm32 and Arm64, is my underst=
anding correct?
>=20
> No it is only for arm32.
>=20
>> If it is only for Arm32, do you need me adding the print for Arm64 as we=
ll in this patch?
>=20
> No need. For arm64, we will enable WnX at the same time as the MMU. So we=
 are already covered by the other prints.

Ok, thanks for the explanation.

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 12:35:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 12:35:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626468.976708 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyAR7-0006VQ-BS; Wed, 01 Nov 2023 12:35:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626468.976708; Wed, 01 Nov 2023 12: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 1qyAR7-0006VJ-89; Wed, 01 Nov 2023 12:35:05 +0000
Received: by outflank-mailman (input) for mailman id 626468;
 Wed, 01 Nov 2023 12:35: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 1qyAR6-0006V9-2z; Wed, 01 Nov 2023 12:35: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 1qyAR5-0000V4-Py; Wed, 01 Nov 2023 12:35: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 1qyAR5-00057I-G9; Wed, 01 Nov 2023 12:35:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyAR5-0005Aj-FY; Wed, 01 Nov 2023 12:35: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=fvPKYbc3geKhpj3AZ+nxsCSPC+082Em4VqD8Ui/QlIs=; b=y7pkiiqobujWkHNBuVE59v5xUl
	ivfENFx5Usz7U3qA3YAkG8mJvaLoEWMmq/jJniCQ0YNZB1MvbxSqBG1EofbLevoXufUdeA/kfEKHF
	WN6vHwI4SfWYxzT1rW11kxyPzOOA5spp/UzcM68hNi0svwnWg86mD9uooYISUgCWbXxU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183644-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183644: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=89ed67ef126c4160349c1b96fdb775ea6170ac90
X-Osstest-Versions-That:
    linux=ffc253263a1375a65fa6c9f62a893e9767fbebfa
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Nov 2023 12:35:03 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183617
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183617
 test-armhf-armhf-xl           8 xen-boot                 fail REGR. vs. 183617

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183617
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183617
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183617
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183617
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183617
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183617
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183617
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183617
 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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-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-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-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                89ed67ef126c4160349c1b96fdb775ea6170ac90
baseline version:
 linux                ffc253263a1375a65fa6c9f62a893e9767fbebfa

Last test of basis   183617  2023-10-30 08:36:55 Z    2 days
Failing since        183625  2023-10-31 02:27:44 Z    1 days    3 attempts
Testing same since   183644  2023-10-31 23:14:38 Z    0 days    1 attempts

------------------------------------------------------------
677 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                                          fail    
 test-armhf-armhf-xl                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              starved 
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 103321 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 12:37:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 12:37:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626474.976718 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyAT0-0007KX-TL; Wed, 01 Nov 2023 12:37:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626474.976718; Wed, 01 Nov 2023 12:37: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 1qyAT0-0007KQ-Q1; Wed, 01 Nov 2023 12:37:02 +0000
Received: by outflank-mailman (input) for mailman id 626474;
 Wed, 01 Nov 2023 12:37: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=zjJ9=GO=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1qyASz-0007KK-Vn
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 12:37:02 +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 59d2017b-78b3-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 13:36:59 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-9c2a0725825so1063071566b.2
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 05:36: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: 59d2017b-78b3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698842219; x=1699447019; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hS2BU2Xy6jRWmRKKb+9DIUtDN+SbabRL5SYoSqJL2BA=;
        b=OxHD1/SDCllWzWU2RR2hnSwwnZwloc3vvPoI0YZPsAI6WJJIAz13ZYB1WOrDBrgCcA
         ooqJrokSCVmM6UDo5ljHbARsTMdHzKi3ryl5I+8374M90MsXvx2opsuiLakLQ8sK5tOw
         iPRKzNFuxj43UfD1ppSdordIkPiCQGGlwQNQRfEsNgIt98cHR7jRRQYKbonJcQ2eOpNo
         Njbdztf61LQ2cDHiIp8ZRWJgOyRCXVWlEc3Iu10/EQCBhViVW9lWnMAWSqoaVLnVg7zP
         GP/EjLDBHPGiii9cYGeYPPZkN9nqWRa/QPEL6VMMYC5Wvvs4R+KoQYuUkQOdSCGtD6V/
         RNTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698842219; x=1699447019;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=hS2BU2Xy6jRWmRKKb+9DIUtDN+SbabRL5SYoSqJL2BA=;
        b=h0ZLfG8qZ9CoOjPxbkxL8x9NvqTZzLfCYkC+bxJAFTzl+GPPChGkHOeeoV5j5TS1Qn
         UC0cfRQSNfAWK0w3WL+OFB7wB8MMHTRrXTvWXoUAFgwEk4HzpCq0GNyuM36nlD+3ZLKd
         02MvMy4FE9OgcqnPY3UwBl+Z6kQbO+VmIcWPC/RzbbND94FLL4/dxvlYXNvgzzk+feR+
         l4vh4T3LwUfrfDrXaYIMFqjFTVeKWoa136jxXjReqqHLUIjhm4NzgVO2dDdzP4Giod7a
         T2KOD2bBX+MR4pY1Hqb+Q6Gb/je6MwQZKVRaYUFJ5FNCvsQV72m6FIP9w08KIOEjoS4M
         BJ/Q==
X-Gm-Message-State: AOJu0YzWhlAHOzkJ5JEeR++vcGHqyOJXTFf7md6yHKRZikkcdNiOsN8m
	qbBy4caZE/54qeJ7MuS9IsFEcoUA3fWNEy/eHwM=
X-Google-Smtp-Source: AGHT+IE+lWrzQFIsry0ZA/uPdSIZVkDFkZbarYB+KPeEVVx38/1YqeYdPo3ycTxfGRczrxt0gxN3wv9M0xlx3rpBG4A=
X-Received: by 2002:a17:906:db0d:b0:9d3:ccd1:a905 with SMTP id
 xj13-20020a170906db0d00b009d3ccd1a905mr1730174ejb.51.1698842219090; Wed, 01
 Nov 2023 05:36:59 -0700 (PDT)
MIME-Version: 1.0
References: <CGME20231030230413eucas1p1c061adf636a7e8a58270a00725e1d0a2@eucas1p1.samsung.com>
 <CA+1FSign611=47=xLRucFhDjvs7A_TeFE9b8qO63WXDU8Pnkjg@mail.gmail.com>
 <7a71e348-f892-4fd4-8857-b72f35ab5134@samsung.com> <f441508b-736d-4bb4-a7d5-ce2fc2c58fc7@netscape.net>
In-Reply-To: <f441508b-736d-4bb4-a7d5-ce2fc2c58fc7@netscape.net>
From: Mario Marietto <marietto2008@gmail.com>
Date: Wed, 1 Nov 2023 13:36:22 +0100
Message-ID: <CA+1FSigYRqKr3dudUAL4++ckpm_zmDebb-qU0mxx4-h_gPXD2w@mail.gmail.com>
Subject: Re: exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma]
 *ERROR* Device 14450000.mixer lacks support for IOMMU
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Marek Szyprowski <m.szyprowski@samsung.com>, linux-kernel@vger.kernel.org, 
	linux-samsung-soc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, 
	devicetree@vger.kernel.org, dri-devel@lists.freedesktop.org, 
	Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>, Alim Akhtar <alim.akhtar@samsung.com>, 
	Sylwester Nawrocki <snawrocki@kernel.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, xen-devel <xen-devel@lists.xenproject.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Marek,

I would like to recompile and install the kernel 6.6 on my ARM
Chromebook. I would like to know if your patch has been accepted and
included there. Thanks.

On Wed, Nov 1, 2023 at 8:48=E2=80=AFAM Chuck Zmudzinski <brchuckz@netscape.=
net> wrote:
>
> On 10/31/2023 8:08 AM, Marek Szyprowski wrote:
> > Hi,
> >
> > On 31.10.2023 00:03, Mario Marietto wrote:
> >> We are a team of linux enthusiasts who are trying to boot Xen on a
> >> Samsung XE303C12 Chromebook aka "snow" following the suggestions in
> >> the slide show presentation here:
> >> https://www.slideshare.net/xen_com_mgr/xpds16-porting-xen-on-arm-to-a-=
new-soc-julien-grall-arm
> >> This device uses an exynos5250 SOC dual core 1.7 GHz with 2 MB RAM, it
> >> is a Samsung armv7 chip with virtualization extensions. In particular,
> >> we have it working fairly well both on the bare metal with a recent
> >> 6.1.59 Linux LTS kernel and also with a recent 5.4.257 LTS kernel with
> >> KVM, the older LTS kernel version is used to test KVM because support
> >> for KVM on arm v7 was removed from Linux around kernel version 5.7. So
> >> we know we have the hypervisor mode enabled because we were able to
> >> use it with KVM. For Xen, we are using the latest Debian build of Xen
> >> 4.17 for the Debian armhf architecture: (XEN) Xen version 4.17.2-pre
> >> (Debian 4.17.1+2-gb773c48e36-1)
> >> (pkg-xen-devel@xxxxxxxxxxxxxxxxxxxxxxx) (arm-linux-gnueabihf-gcc
> >> (Debian 12.2.0-14) 12.2.0) debug=3Dn Thu May 18 19:26:30 UTC 2023 The
> >> Linux kernel is a custom build that adds the Xen config kernel options
> >> (CONFIG_XEN_DOM0, etc) on top of a kernel that works well on the same
> >> Chromebook model on the bare metal. I can provide the config options
> >> of the kernel that was used if that is helpful. Our method of booting
> >> is to have u-boot boot the Xen hypervisor and load the device tree
> >> after adding the dom0 to the otherwise unaltered device tree from the
> >> Linux kernel using u-boot fdt commands to add a /chosen node, as
> >> described on the Xen wiki and in the pages linked from there. We have
> >> also tried adding and loading an initrd.img using the device tree
> >> /chosen node but that made no difference in our tests. We actually
> >> have the Linux LTS kernel version 6.1.59 working as dom0 with Xen
> >> using the same version of u-boot that we used for KVM, but with a big
> >> problem. The problem we see is that when booting the 6.1.59 kernel
> >> version as dom0 with Xen, the screen is totally dark and the only way
> >> to access the system is remotely through ssh. Logs indicate most
> >> everything else is working, such as the wifi card so we can access it
> >> remotely via ssh and a USB optical mouse lights up when connected so
> >> USB is also working. Obviously, the disk is also working. The
> >> Chromebook is configured to boot from the device's SD card slot by
> >> turning on Chrome OS developer mode options to enable booting from the
> >> SD card slot. The mystery is that when booting the exact same 6.1.59
> >> kernel on the bare metal instead of booting it as dom0 on Xen, it
> >> boots up with full access to the screen and we can interact with the
> >> system using the X.org windows system. But booting as dom0 with Xen,
> >> the screen is totally dark and the only access we have to the system
> >> is through the network via ssh. Also, when booting the 5.4.257 kernel
> >> with KVM in hypervisor mode, the screen works and we can interact with
> >> the system through the X.org windows system. Exploring the log file,we
> >> have seen the errors below :
> >>
> >> Without Xen (or in bare metal):
> >>
> >> devuan-bunsen kernel: [drm] Exynos DRM: using 14400000.fimd device for
> >> DMA mapping operations
> >> devuan-bunsen kernel: exynos-drm exynos-drm: bound 14400000.fimd (ops
> >> 0xc0d96354)
> >> devuan-bunsen kernel: exynos-drm exynos-drm: bound 14450000.mixer (ops
> >> 0xc0d97554)
> >> devuan-bunsen kernel: exynos-drm exynos-drm: bound
> >> 145b0000.dp-controller (ops 0xc0d97278)
> >> devuan-bunsen kernel: exynos-drm exynos-drm: bound 14530000.hdmi (ops
> >> 0xc0d97bd0)
> >> ...
> >> devuan-bunsen kernel: Console: switching to colour frame buffer device
> >> 170x48
> >> devuan-bunsen kernel: exynos-drm exynos-drm: [drm] fb0: exynosdrmfb
> >> frame buffer device
> >> devuan-bunsen kernel: [drm] Initialized exynos 1.1.0 20180330 for
> >> exynos-drm on minor 0
> >>
> >> In this case,the kernel is able to use the exynos-drm kernel to start
> >> the fb0 device. But with Xen we get this error with exynos-drm:
> >>
> >> devuan-bunsen kernel: [drm] Exynos DRM: using 14400000.fimd device for
> >> DMA mapping operations
> >> devuan-bunsen kernel: exynos-drm exynos-drm: bound 14400000.fimd (ops
> >> 0xc0d96354)
> >> devuan-bunsen kernel: exynos-mixer 14450000.mixer:
> >> [drm:exynos_drm_register_dma] *ERROR* Device 14450000.mixer lacks
> >> support for IOMMU
> >> devuan-bunsen kernel: exynos-drm exynos-drm: failed to bind
> >> 14450000.mixer (ops 0xc0d97554): -22
> >> devuan-bunsen kernel: exynos-drm exynos-drm: adev bind failed: -22
> >> devuan-bunsen kernel: exynos-dp: probe of 145b0000.dp-controller
> >> failed with error -22
> >>
> >> I'm trying to find for a solution and I've googled a little bit and I
> >> found this web site :
> >> https://lore.kernel.org/linux-arm-kernel/20220208171823.226211-8-krzys=
ztof.kozlowski@canonical.com/
> >> with your email address and I tried to ask for some help for fixing
> >> the bug. Any ideas why booting the same Linux kernel that results in a
> >> working X.org display on the bare metal instead as dom0 on Xen would
> >> cause the display to remain dark, but most other basic functions would
> >> work, such as network, disk, and USB ? thanks.
> >
> >
> > Thanks for the detailed description! Good to hear that those boards are
> > still being used for various projects. I also have Snow Chromebook and
> > use it for daily tests of linux-next branch.
>
> Adding Julien Grall and Stefano Stabellini
>
> Hi Marek,
>
> Thanks for responding to Mario's question. I also have been doing these
> experiments with a Chromebook Snow, and I am the one who reported this
> problem on the xen-users ML here:
>
> https://lists.xenproject.org/archives/html/xen-users/2023-10/msg00021.htm=
l
>
> You might find that thread interesting, especially here with some additio=
nal
> log messages from the exynos_drm driver (exynos_drm_dma.c, I believe):
>
> https://lists.xenproject.org/archives/html/xen-users/2023-10/msg00032.htm=
l
>
> This issue is also discussed some on the xen-devel ML here:
>
> https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00003.htm=
l
>
> >
> > Frankly speaking I have no idea what might happen wrong. There have bee=
n
> > some changes recently in the Exynos IOMMU driver related to
> > initialization, maybe your changes related to Xen enabling changed
> > somehow the order of device initialization during boot. I assume that
> > the device-tree you use for the bare metal run and Xen enabled run
> > doesn't differ in the areas describing the hardware blocks.
> >
> > Please check if cherry-picking the commit
> > https://github.com/torvalds/linux/commit/bbc4d205d93f52ee18dfa7858d5148=
9c0506547f
> > to your v6.1.59 based kernel helps anyhow.
>
> I tried adding that fix of the exynos IOMMU initialization from
> Linux > 6.2 on top of the 6.1.59 kernel I used for the original report,
> but that made no difference on Xen - it still failed with the mixer lacks
> support for IOMMU message and the screen is totally dark.
>
> >
> > If not, then as a temporary workaround please disable
> > CONFIG_DRM_EXYNOS_MIXER and CONFIG_DRM_EXYNOS_HDMI in your kernel confi=
g
> > and check what will happen (You will lose the HDMI output, but maybe
> > this won't a big issue).
>
> This change causes the GPU to work fairly well AFAICS. Removing the mixer
> and HDMI allowed the GPU to initialize, and the display manager started
> normally and enabled logging into an ordinary X11 session. Based on the l=
og
> messages I was seeing, this was an obvious thing to try. Thanks for
> suggesting it.
>
> But I have a question:
>
> How are the mixer and HDMI devices related to the main drm device? The pr=
oblem
> in the exynos_drm_dma driver was that on Xen, the main drm device wanted =
to
> use IOMMU version of dma_ops, but the mixer (and probably also the HDMI i=
f
> it wouldn't have exited first) wanted to use the Xen swiotlb version of d=
ma_ops,
> but on bare metal all three devices want to use the IOMMU version of dma_=
ops.
>
> The problem obviously has something to do with the fact that Xen does not
> expose the same IOMMU capability to Linux as is available when running on
> the bare metal.
>
> Cheers,
>
> >
> >
> > Best regards
>


--=20
Mario.


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 13:23:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 13:23:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626480.976732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyBBn-0002Nj-Bi; Wed, 01 Nov 2023 13:23:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626480.976732; Wed, 01 Nov 2023 13: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 1qyBBn-0002NS-5B; Wed, 01 Nov 2023 13:23:19 +0000
Received: by outflank-mailman (input) for mailman id 626480;
 Wed, 01 Nov 2023 13:23: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=R8ij=GO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qyBBm-0002Mn-2P
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 13:23:18 +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 d0c89bf6-78b9-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 14:23:16 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-53b32dca0bfso1805597a12.0; 
 Wed, 01 Nov 2023 06:23: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: d0c89bf6-78b9-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698844996; x=1699449796; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vqMhOc0o469J2B5kXslJ09c6Fqpe+rw+VILnhQZ9WiM=;
        b=EfKK+G57lDiBffoXwfYfDRfc3aaV0hOD+OgR7nj8NXHxehRsDRWIo9zO/UXrieaGAE
         sDVBm9xbmWN0oFVrpT2LhZOLSLAEVwf9tE+bI8bW+vFgmrOSEnd0Ykg7rgOqRwT5OBYP
         8iydySDZcwSr3GC8kaVZcV7d3/JzDj1DGCY5s2uPm35aJSRdZl90Qz8i4sYNmh6+MRpN
         IWVnWG6h14scmcuab+B4dWStWUW5pjjrs5SUyCl+HD4IRQM6F+I6lI1vSDCtnNZGeiud
         gJKR6tE+ZFv+8Z9JKvjA0axUV2qnipZqhYIn3nS0UDhoSdKKUBAtsq0x/O8yU+VD7xpO
         9dzA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698844996; x=1699449796;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vqMhOc0o469J2B5kXslJ09c6Fqpe+rw+VILnhQZ9WiM=;
        b=lN0AQ37Oi3wLlTx/an/+ObTL1FVGBzvBFilWHw9UoHzgm5TeX5Yz043UpDJZ1doFXj
         4ArQ60XaZpSdUQFdOOZjgzo3J7uBFe1alRsC9O/Lu4bPJqbuiGGgiLvIQmOpJxx8+yMy
         oFmVlItB5UgO7FKwEk+viyTGRcaPQ1A6ELzUcT0ZgB/Jns/Fn1R+dCp7E5y5M0cLjNPT
         MT4d1TO54jVk5hb97ccOnzd9YZBiH4eEO34U8sUJNCfonpVwrE9B6TBKXech2uYfusKh
         D3OWBXVOWJNT9Am0qFH2u/YlpkBJpihP/dUp8r3kBw4G0pHpyogOeyMmHngFCTU9WIkW
         YVOA==
X-Gm-Message-State: AOJu0Yx9JHtOg6ojG80r9MuqKV0zQDKsi6/uf5iLEBY6oYPC6pPR3NhX
	vqD3L++KZfsKI/95z5GUn1xY4NJxhA0ysYs0sv0=
X-Google-Smtp-Source: AGHT+IEAQ5uDjCSveZCqZKHYlEZ6+nMsYYs2N4Dhb/l25nuDgkpi/SqNX9ZphGweKGZ7vXb+Tj1iq+sTWTeuQjtP5/g=
X-Received: by 2002:aa7:c042:0:b0:529:d147:e9f3 with SMTP id
 k2-20020aa7c042000000b00529d147e9f3mr2527705edo.5.1698844995640; Wed, 01 Nov
 2023 06:23:15 -0700 (PDT)
MIME-Version: 1.0
References: <20231101090024.28934-1-jgross@suse.com> <20231101090024.28934-2-jgross@suse.com>
In-Reply-To: <20231101090024.28934-2-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 1 Nov 2023 09:23:03 -0400
Message-ID: <CAKf6xptqN+QgU0TBhAfrOn3xJ-Z9-mS8WFA_X4nv7ay_RS+exA@mail.gmail.com>
Subject: Re: [PATCH 1/3] Mini-OS: make xenstore_buf externally visible
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, 
	samuel.thibault@ens-lyon.org, wl@xen.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 6:13=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> For support of the 9pfs frontend in Xenstore-stubdom xenstore_buf
> needs to be externally visible.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

xenstore_buf will be used by the xen.git patch "[PATCH 24/29]
tools/xenstored: map stubdom interface".

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 13:23:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 13:23:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626481.976742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyBC7-0002q4-H6; Wed, 01 Nov 2023 13:23:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626481.976742; Wed, 01 Nov 2023 13:23: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 1qyBC7-0002px-E8; Wed, 01 Nov 2023 13:23:39 +0000
Received: by outflank-mailman (input) for mailman id 626481;
 Wed, 01 Nov 2023 13:23: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=R8ij=GO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qyBC5-0002p4-Pz
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 13:23:37 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dbb26032-78b9-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 14:23:34 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-53de0d1dc46so11574874a12.3; 
 Wed, 01 Nov 2023 06:23: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: dbb26032-78b9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698845014; x=1699449814; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=27hvzOK9t8MeAptJDJLZpG7S335m3EOL6W7StWN64c0=;
        b=kUOmae47UJiAixlNZ8LA9HvJUaaxpOHZzmguvR3kLjYiRD00R0ZWt2lpC//djeBcx3
         AA/Fbx9xCqoXdbghLUkzrQSQp2Zl9qPxEgcZWHPwHq0m8jeDwgH83t5Q3Z1qLvwaZHvs
         tS5vnA9hwaIPFNmHX2LrJP+eyy3egBvUmzq4ntaNGCIN/4SZAqs0AUDtV7HoAPTgLNTg
         IoyJd1Ww2CStjEKQeTTnMsrg/HRc2VmG5DVbOxww0hdU0FaKkG4Zutw2i3q40A0B8ea2
         7PJgczyorvTmW6H5HTWGqY8ehHTMKFfBE6bCz3L1WUbxmpgaLFT8w7ktzY9Un3zWUfzH
         rx7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698845014; x=1699449814;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=27hvzOK9t8MeAptJDJLZpG7S335m3EOL6W7StWN64c0=;
        b=QzMdyZH1/7YQH0v2Whf/0VGI3G3QTP8M/Q3AYhzBwElbYysxOsF+bBZly31zopbWcO
         Sq63tlvJquLlrSMgAjcwv1MTYC3otv+1VBdiIj2ujm9d3axyB0WVaPCjNnfwPrakJwQU
         tRO08wJEKI2qNznQ/oJkh5pgzwQIcaRoqr0uMom3hglmQl+u/iiHW0oY0f0fKaE4RiGn
         4Yq0w9s27FzxEQLNpci8yUZnjwNP82fm1UbEkrfRImG1gQdOKtaiDz0cPFJvhrSf+gdE
         NlcTsAlweWr4YmKReN28dhg1NkxQW/8UD2p/mKUUS5c5SzI8JvfhiepLwccCPVtAGNG2
         auIg==
X-Gm-Message-State: AOJu0Yw3YCgHCVih7KX6h7DB2fB+z7liRUv7hhU9rCPxIlMGj8tD5lEu
	jhSQHxQWgFBD81NoZHPFFXBfIlqDHMlih2yvfrTX5vNp
X-Google-Smtp-Source: AGHT+IHlwpBf5Gwplo2xTsPwodrcbvvSEeUM22CeML7ZiphMdmoY3Muj3Tj6EtE6+c/A3JiYfSOatnvLd0HTSAdWUak=
X-Received: by 2002:aa7:c645:0:b0:53f:2671:e0f4 with SMTP id
 z5-20020aa7c645000000b0053f2671e0f4mr11691706edr.38.1698845013981; Wed, 01
 Nov 2023 06:23:33 -0700 (PDT)
MIME-Version: 1.0
References: <20231101090024.28934-1-jgross@suse.com> <20231101090024.28934-3-jgross@suse.com>
In-Reply-To: <20231101090024.28934-3-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 1 Nov 2023 09:23:22 -0400
Message-ID: <CAKf6xptG7r1H_fxS7OcO0+moMvgHr46h=Ap0dz3enMHqUGBTgw@mail.gmail.com>
Subject: Re: [PATCH 2/3] Mini-OS: don't crash if no shutdown node is available
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, 
	samuel.thibault@ens-lyon.org, wl@xen.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:06=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> It might be perfectly fine not to have a control/shutdown Xenstore
> node. If this is the case, don't crash, but just terminate the
> shutdown thread after issuing a message that shutdown isn't available.
>
> In fini_shutdown() clearing the watch can result in an error now, in
> case the early exit above was taken. Just ignore this error now.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 13:25:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 13:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626491.976756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyBE6-0004ca-Tm; Wed, 01 Nov 2023 13:25:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626491.976756; Wed, 01 Nov 2023 13: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 1qyBE6-0004cT-Qo; Wed, 01 Nov 2023 13:25:42 +0000
Received: by outflank-mailman (input) for mailman id 626491;
 Wed, 01 Nov 2023 13: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=R8ij=GO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qyBE6-0004cN-At
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 13:25:42 +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 2610608a-78ba-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 14:25:39 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-54366784377so3245336a12.3; 
 Wed, 01 Nov 2023 06:25: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: 2610608a-78ba-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698845139; x=1699449939; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PCF1zhy11/Fe+hN4rd/81bLCejebXRQWfFR6ycCtA9k=;
        b=SQOffq+ZciLTEQM6PYnhmVqaSeVajWbQtf9fXddiU9cj+9JzoHPdpnkZqe3SEXg1b2
         8bKNWf5EIcmYESufSs/k2j1o8Po4owdR+ViG/FAEf/yVstt2MY9sjUVL2HPrQPrPu20h
         AIClMbbwKGG+0lJB76yGPj9QLr2ABKIdGDE3wpVWUMV0JNsA8QBB/65oydsz17kdIXbp
         Ljc3sJeX9azUSz+G8EpsPxuRCPajrq8Uc2kXzBUXgAfOBxnhi4qOlAMiWWqR2fCz2gzE
         8cNWidCyHr32LvbWElvOxBFBrCVAJXtGv1Jhk58nmpvgNLPuhIoRCQMhfFv0dAjDfTnr
         aGoQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698845139; x=1699449939;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=PCF1zhy11/Fe+hN4rd/81bLCejebXRQWfFR6ycCtA9k=;
        b=cWd7x69TejbtP8Qvym8BeY+PWLSw8rqezO+qYYpr99jeOkWP1Wf9ZT8f080lmVncta
         v0rzlWoXKtEVj1cYGMxLaibX3xxvzgo6SUQywwZhAJ4pO0ueCrSaenF3xdr9CJfoiWgX
         lll0wUo6LcHr5hhopAewpBTXpJ41KisZs0wVgy1xWGkMJSYlLpiZK62eL1FZGRMKOYYB
         vf6CPFlvDotwyJvmJcmyzntZCR2imEWyi90gU8AfUETfDzx8de3KBTKCzpcMziqQjH3s
         nTpM0FXpu34ziyEktk1AkaWkimR2ssJ5frNgl9icXG4W/6hns50avK6f/wktan31tJ+n
         PEgQ==
X-Gm-Message-State: AOJu0YzQiZn0qAf7qAsassW4VG7cOHZX87hHiymMshWHTyXTOP68yv/u
	UnSDdV6cg/+tQbTFiEnQQnEY+8jMAHqKDge2q0M=
X-Google-Smtp-Source: AGHT+IF1axa/MKEsPRAOd1R9uRwuGn035Um1vtposdppp9lk1lRuoboHM+BnS+xmXTW1qUC2rF0DDtuARXqX3L9nMf8=
X-Received: by 2002:a50:950f:0:b0:543:7401:88b0 with SMTP id
 u15-20020a50950f000000b00543740188b0mr3769398eda.16.1698845138762; Wed, 01
 Nov 2023 06:25:38 -0700 (PDT)
MIME-Version: 1.0
References: <20231101090024.28934-1-jgross@suse.com> <20231101090024.28934-4-jgross@suse.com>
In-Reply-To: <20231101090024.28934-4-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 1 Nov 2023 09:25:27 -0400
Message-ID: <CAKf6xpuo3RTdf9aPZ6_jZ42cbwD=5NzDE59OYorK9OZe2zyVDA@mail.gmail.com>
Subject: Re: [PATCH 3/3] Mini-OS: fix 9pfs stat receive format
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, 
	samuel.thibault@ens-lyon.org, wl@xen.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:14=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> The format string of the received data for the 9pfs stat command is
> missing the initial 2 byte total length specifier. Add it.
>
> Fixes: 2d1dfccd3aa3 ("Mini-OS: add read and write support to 9pfsfront")
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  9pfront.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/9pfront.c b/9pfront.c
> index 5da8a365..43c7409f 100644
> --- a/9pfront.c
> +++ b/9pfront.c
> @@ -711,6 +711,7 @@ static int p9_create(struct dev_9pfs *dev, uint32_t f=
id, char *path,
>  static int p9_stat(struct dev_9pfs *dev, uint32_t fid, struct p9_stat *s=
tat)
>  {
>      struct req *req =3D get_free_req(dev);
> +    uint16_t total;
>      int ret;
>
>      if ( !req )
> @@ -719,10 +720,10 @@ static int p9_stat(struct dev_9pfs *dev, uint32_t f=
id, struct p9_stat *stat)
>      memset(stat, 0, sizeof(*stat));
>      req->cmd =3D P9_CMD_STAT;
>      send_9p(dev, req, "U", fid);
> -    rcv_9p(dev, req, "uuUQUUULSSSSSUUU", &stat->size, &stat->type, &stat=
->dev,
> -           stat->qid, &stat->mode, &stat->atime, &stat->mtime, &stat->le=
ngth,
> -           &stat->name, &stat->uid, &stat->gid, &stat->muid, &stat->exte=
nsion,
> -           &stat->n_uid, &stat->n_gid, &stat->n_muid);
> +    rcv_9p(dev, req, "uuuUQUUULSSSSSUUU", &total, &stat->size, &stat->ty=
pe,
> +           &stat->dev, stat->qid, &stat->mode, &stat->atime, &stat->mtim=
e,
> +           &stat->length, &stat->name, &stat->uid, &stat->gid, &stat->mu=
id,
> +           &stat->extension, &stat->n_uid, &stat->n_gid, &stat->n_muid);

total is unused by the linux frontend end as well.  Looks like QEMU
hard codes the value as 0.

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 13:42:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 13:42:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626500.976771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyBTz-00008n-Bl; Wed, 01 Nov 2023 13:42:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626500.976771; Wed, 01 Nov 2023 13:42: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 1qyBTz-00008g-7T; Wed, 01 Nov 2023 13:42:07 +0000
Received: by outflank-mailman (input) for mailman id 626500;
 Wed, 01 Nov 2023 13:42: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=R8ij=GO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qyBTx-00008a-UL
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 13:42:05 +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 70e6cac0-78bc-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 14:42:04 +0100 (CET)
Received: by mail-qk1-x735.google.com with SMTP id
 af79cd13be357-778af1b5b1eso465201085a.2
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 06:42:04 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 y24-20020a37e318000000b00767d6ec578csm1435758qki.20.2023.11.01.06.42.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 01 Nov 2023 06:42: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: 70e6cac0-78bc-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698846123; x=1699450923; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=5nQo5QAmg18pLngnuIRNmy7fqh3tLqP/m6ROg4gk6+E=;
        b=JC+bGT9FqHyJl9ejZrLZdRe8CLQY5Mw/pm86XRBHkTrqICUTWum6IsiDBA6enMEs64
         rzgMg4RLu+vuSN4RaF2KMO7kZXY+x3XOorxOd990yKNeHTsWHFzkZfg1a/wYs6QWESCt
         1C2xr1BtKz5CltCC1kVx43xdRm55VOs7TVyXymzaDtbJejic0kfBx/dZ9nRXE8er8ttu
         lRmY0y5AOPEscT5Orjlb/39xiG0FFekD5TWQSZoQa1aGCnF0hYv2BD8fSKdy7VB0nLAC
         IEfw0jMwgilh+ygaeqXZhv0fMclMJHXl57+zx8lDZMy9oqBrPQf6XvTQ4CM+Z8Y2A3VF
         e1hg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698846123; x=1699450923;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=5nQo5QAmg18pLngnuIRNmy7fqh3tLqP/m6ROg4gk6+E=;
        b=M3EuuzqitP0g84a2+2prdiyIZGI7EtBoRzndQfZwCHIpQCaM0hwBypD4udxMe1IG4q
         YBqhmCCPjDS4Me8Fk/qaXA0jjaJU0p1Og6H+2KZAvlg4Cmj4HXpq1wj9TkwSrbxLyIsp
         WM4sT6j1bUiq687Pu8bmwma1AiVYeKVRgg6BzB1aCP3y1zbX7yPu00abhtxvjtI/rzvA
         vUp2Umewi6bsx2Cwr70rWaJbtr5jL+6QbqeGHfxXW9BOSOkGcbcYso5LCEe8xRgPhyEo
         oDS+99TB0u/TWB2tdZqjBUCjESuAgPv0S7Fw5Oa76NDEE7Uveyco8TJGqHsU/qKy/j9k
         l+iw==
X-Gm-Message-State: AOJu0YzB6/kas7uA9dTfUdIhNejIfIaiNRHTKInezLklmdp6X3LYzvw6
	eNtgM6TFXoRNUpnTsWxqS1Y=
X-Google-Smtp-Source: AGHT+IGFKvgB4JFJWNM7MuiXcvAJMvG91K9x/Ey1AKCZT8LeTf2DTYrE5N72zByeJa9VrrfrODcTxQ==
X-Received: by 2002:a05:620a:2687:b0:76f:2214:e2c3 with SMTP id c7-20020a05620a268700b0076f2214e2c3mr17147730qkp.64.1698846123326;
        Wed, 01 Nov 2023 06:42:03 -0700 (PDT)
From: Jason Andryuk <jandryuk@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>
Cc: michal.wilczynski@intel.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	stable@vger.kernel.org,
	Jason Andryuk <jandryuk@gmail.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>,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH v4] acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0
Date: Wed,  1 Nov 2023 09:41:52 -0400
Message-ID: <20231101134154.18336-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Roger Pau Monne <roger.pau@citrix.com>

The Processor capability bits notify ACPI of the OS capabilities, and
so ACPI can adjust the return of other Processor methods taking the OS
capabilities into account.

When Linux is running as a Xen dom0, the hypervisor is the entity
in charge of processor power management, and hence Xen needs to make
sure the capabilities reported by _OSC/_PDC match the capabilities of
the driver in Xen.

Introduce a small helper to sanitize the buffer when running as Xen
dom0.

When Xen supports HWP, this serves as the equivalent of commit
a21211672c9a ("ACPI / processor: Request native thermal interrupt
handling via _OSC") to avoid SMM crashes.  Xen will set bit
ACPI_PROC_CAP_COLLAB_PROC_PERF (bit 12) in the capability bits and the
_OSC/_PDC call will apply it.

[ jandryuk: Mention Xen HWP's need.  Support _OSC & _PDC ]
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
v4:
Use xen_santize_proc_cap_bits() name - Michal
Rephrase comment - Michal

v3:
Move xen_sanitize_pdc() call to arch_acpi_set_proc_cap_bits() to cover
_OSC and _PDC.
drivers/xen/pcpu.c is CONFIG_DOM0 && CONFIG_X86

v2:
Move local variables in acpi_processor_eval_pdc() to reuse in both conditions.
---
 arch/x86/include/asm/acpi.h           | 14 ++++++++++++++
 arch/x86/include/asm/xen/hypervisor.h |  9 +++++++++
 drivers/xen/pcpu.c                    | 21 +++++++++++++++++++++
 3 files changed, 44 insertions(+)

diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
index c8a7fc23f63c..f896eed4516c 100644
--- a/arch/x86/include/asm/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -16,6 +16,9 @@
 #include <asm/x86_init.h>
 #include <asm/cpufeature.h>
 #include <asm/irq_vectors.h>
+#include <asm/xen/hypervisor.h>
+
+#include <xen/xen.h>
 
 #ifdef CONFIG_ACPI_APEI
 # include <asm/pgtable_types.h>
@@ -127,6 +130,17 @@ static inline void arch_acpi_set_proc_cap_bits(u32 *cap)
 	if (!cpu_has(c, X86_FEATURE_MWAIT) ||
 	    boot_option_idle_override == IDLE_NOMWAIT)
 		*cap &= ~(ACPI_PROC_CAP_C_C1_FFH | ACPI_PROC_CAP_C_C2C3_FFH);
+
+	if (xen_initial_domain()) {
+		/*
+		 * When Linux is running as Xen dom0, the hypervisor is the
+		 * entity in charge of the processor power management, and so
+		 * Xen needs to check the OS capabilities reported in the
+		 * processor capabilities buffer matches what the hypervisor
+		 * driver supports.
+		 */
+		xen_sanitize_proc_cap_bits(cap);
+	}
 }
 
 static inline bool acpi_has_cpu_in_madt(void)
diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index 7048dfacc04b..a9088250770f 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -100,4 +100,13 @@ static inline void leave_lazy(enum xen_lazy_mode mode)
 
 enum xen_lazy_mode xen_get_lazy_mode(void);
 
+#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI)
+void xen_sanitize_proc_cap_bits(uint32_t *buf);
+#else
+static inline void xen_sanitize_proc_cap_bits(uint32_t *buf)
+{
+	BUG();
+}
+#endif
+
 #endif /* _ASM_X86_XEN_HYPERVISOR_H */
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
index b3e3d1bb37f3..7000701dff8f 100644
--- a/drivers/xen/pcpu.c
+++ b/drivers/xen/pcpu.c
@@ -47,6 +47,9 @@
 #include <asm/xen/hypervisor.h>
 #include <asm/xen/hypercall.h>
 
+#ifdef CONFIG_ACPI
+#include <acpi/processor.h>
+#endif
 
 /*
  * @cpu_id: Xen physical cpu logic number
@@ -400,4 +403,22 @@ bool __init xen_processor_present(uint32_t acpi_id)
 
 	return online;
 }
+
+void xen_sanitize_proc_cap_bits(uint32_t *cap)
+{
+	struct xen_platform_op op = {
+		.cmd			= XENPF_set_processor_pminfo,
+		.u.set_pminfo.id	= -1,
+		.u.set_pminfo.type	= XEN_PM_PDC,
+	};
+	u32 buf[3] = { ACPI_PDC_REVISION_ID, 1, *cap };
+	int ret;
+
+	set_xen_guest_handle(op.u.set_pminfo.pdc, buf);
+	ret = HYPERVISOR_platform_op(&op);
+	if (ret)
+		pr_err("sanitize of _PDC buffer bits from Xen failed: %d\n",
+		       ret);
+	*cap = buf[2];
+}
 #endif
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 15:36:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 15:36:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626508.976794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyDGF-0007hW-ON; Wed, 01 Nov 2023 15:36:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626508.976794; Wed, 01 Nov 2023 15:36: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 1qyDGF-0007hP-Lf; Wed, 01 Nov 2023 15:36:03 +0000
Received: by outflank-mailman (input) for mailman id 626508;
 Wed, 01 Nov 2023 15:36: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyDGE-0007ME-9q
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 15:36:02 +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 5b445bd5-78cc-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 16:35:59 +0100 (CET)
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 65CAA1F750;
 Wed,  1 Nov 2023 15:35: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 3A5421348D;
 Wed,  1 Nov 2023 15:35:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gFjwDF9wQmWEKgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 15:35: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: 5b445bd5-78cc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698852959; 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=UdJzNUIeOTqnBBADOh6ziT+aqXcEEZQBJXfEa7G7Ok4=;
	b=GKmnK/ypPIlRFjePhy8AUE5xv8okyjsRq1RzQCPaqXV2Ue2tk6nUr2WZpoWfQCVlvQHYQM
	leQuVZmhiRiRQXcd9fvvWeG6vgxfUYr1a5Q9kfps8/HO1BcD9xYMrzfh8YI8A8Asa4kX2+
	VSOnmSlnxcoOsZidJ+zlHxUOULC2tQQ=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 1/2] Mini-OS: link kernel separately
Date: Wed,  1 Nov 2023 16:35:50 +0100
Message-Id: <20231101153551.11733-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101153551.11733-1-jgross@suse.com>
References: <20231101153551.11733-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add an additional link step with linking all Mini-OS kernel binaries
into a single object file.

This is done in preparation of hiding Mini-OS internal symbols before
linking the kernel with libraries and an application.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Makefile | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 7ee181a2..85c6db75 100644
--- a/Makefile
+++ b/Makefile
@@ -164,8 +164,11 @@ endif
 $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 	$(CPP) $(ASFLAGS) -P $< -o $@
 
-$(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
-	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
+$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
+	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
+
+$(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
+	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
 	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
 	$(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@-debug
 	strip -s $@-debug -o $@
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 15:36:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 15:36:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626506.976780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyDGC-0007PZ-Gp; Wed, 01 Nov 2023 15:36:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626506.976780; Wed, 01 Nov 2023 15:36: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 1qyDGC-0007PS-E1; Wed, 01 Nov 2023 15:36:00 +0000
Received: by outflank-mailman (input) for mailman id 626506;
 Wed, 01 Nov 2023 15:35: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyDGA-0007ME-OV
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 15:35: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 582483fc-78cc-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 16:35:54 +0100 (CET)
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 D35BC21A43;
 Wed,  1 Nov 2023 15:35: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 913451348D;
 Wed,  1 Nov 2023 15:35:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id d25aIVlwQmVyKgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 15:35: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: 582483fc-78cc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698852953; 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=Y3nMQB/2EuWKzt9fVn+90T3VAa1xYa9oEmc2anTsj2w=;
	b=Na47X+iCoWLZSIOMRvXuLjEDHJlVtpzoGBcl/2b8YOSHI5oLOndHoNrQTKsQhfFs7cLUxS
	baeAVTjk9YX2yrgTsY1+uxnulfV0jnS5IIbZH0TeLYR6UKbio4AvZIXZF7CFzGSxCQoVS7
	X8saiIiUed1Hw7ITZvkoUnXUpdK35cM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 0/2] Mini-OS: hide mini-os internal symbols
Date: Wed,  1 Nov 2023 16:35:49 +0100
Message-Id: <20231101153551.11733-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to avoid conflicts due to symbols with the same name when
linking Mini-OS with an application, hide all Mini9-OS internal symbols
from the application by linking the Mini-OS kernel individually and
then removing all symbols which should be used internally only.

Juergen Gross (2):
  Mini-OS: link kernel separately
  Mini-OS: keep a positive list of externally visible symbols

 Makefile    |   8 ++-
 mini-os.map | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 193 insertions(+), 2 deletions(-)
 create mode 100644 mini-os.map

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 15:36:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 15:36:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626511.976812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyDGM-00084c-3G; Wed, 01 Nov 2023 15:36:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626511.976812; Wed, 01 Nov 2023 15:36: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 1qyDGM-00084T-0M; Wed, 01 Nov 2023 15:36:10 +0000
Received: by outflank-mailman (input) for mailman id 626511;
 Wed, 01 Nov 2023 15:36: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyDGL-0007ME-4B
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 15:36:09 +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 5e9696e8-78cc-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 16:36:05 +0100 (CET)
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 030EA1F853;
 Wed,  1 Nov 2023 15:36: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 CB0C81348D;
 Wed,  1 Nov 2023 15:36:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3qEwMGRwQmWRKgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 15:36: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: 5e9696e8-78cc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698852965; 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=+tQcJhL3TubDFRQm2Z/oJsx9loCXJJxp9HJkDad5qZg=;
	b=ksAkMrHVDV5Uktl8AazwsakYBeMeU8xOXVITvDggocGrbd2gOTpea/gsoLckmBj9aShWnt
	pImZt2Q8ONB9LiJ4+OrYvnpQ0+1pg6KzMGobTu5n5pUHbb8jbZzIbvgyB/lRe3ku4O+ZMV
	hqntZ4I8GYnJBTefltFzshb1q9vfCdg=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 2/2] Mini-OS: keep a positive list of externally visible symbols
Date: Wed,  1 Nov 2023 16:35:51 +0100
Message-Id: <20231101153551.11733-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231101153551.11733-1-jgross@suse.com>
References: <20231101153551.11733-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a mini-os.map file containing all global symbols that are allowed
to be referenced by an application or library. Hide all other symbols
of Mini-OS from being visible externally.

The symbols in mini-os.map have been obtained via building all defined
and not failing stubdoms (caml-stubdom doesn't build).

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Makefile    |   3 +-
 mini-os.map | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 189 insertions(+), 1 deletion(-)
 create mode 100644 mini-os.map

diff --git a/Makefile b/Makefile
index 85c6db75..d4768110 100644
--- a/Makefile
+++ b/Makefile
@@ -164,8 +164,9 @@ endif
 $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 	$(CPP) $(ASFLAGS) -P $< -o $@
 
-$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
+$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds mini-os.map
 	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
+	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=mini-os.map $@ $@
 
 $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
 	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
diff --git a/mini-os.map b/mini-os.map
new file mode 100644
index 00000000..b62806e1
--- /dev/null
+++ b/mini-os.map
@@ -0,0 +1,187 @@
+# Mini-OS symbols being externally visible
+# entry point
+_start
+# Mini-OS service functions
+alloc_fd
+alloc_file_type
+alloc_pages
+bind_virq
+block
+console_print
+create_thread
+do_map_frames
+free_pages
+get_file_from_fd
+hypercall_page
+event_queue
+evtchn_alloc_unbound
+evtchn_bind_interdomain
+evtchn_get_peercontext
+gntmap_fini
+gntmap_init
+gntmap_map_grant_refs
+gntmap_munmap
+gntmap_set_max_grants
+map_frames_ex
+mask_evtchn
+need_pgt
+printk
+schedule
+stop_kernel
+unbind_evtchn
+unmask_evtchn
+wake
+xencons_ring_avail
+xprintk
+__local_irq_restore
+__local_irq_save
+__udivdi3
+__udivmoddi4
+__umoddi3
+# libc
+accept
+bind
+chdir
+clock_gettime
+close
+closedir
+connect
+do_exit
+dup
+dup2
+execv
+fcntl
+fork
+fstat64
+fsync
+ftruncate
+getpagesize
+getpid
+getsockname
+getsockopt
+gettimeofday
+htonl
+htons
+inet_aton
+inet_ntoa
+isatty
+kill
+link
+listen
+lockf
+lseek64
+mkdir
+mmap64
+munmap
+nanosleep
+ntohl
+ntohs
+open64
+opendir
+openlog
+pipe
+poll
+posix_openpt
+read
+readdir
+recv
+rmdir
+sbrk
+select
+select_read_flag
+send
+sendto
+setsid
+setsockopt
+sigaction
+sleep
+socket
+stat
+sysconf
+syslog
+tcgetattr
+tcsetattr
+umask
+unlink
+usleep
+waitpid
+write
+_exit
+_fini
+_init
+___lock_acquire
+___lock_acquire_recursive
+___lock_init_recursive
+___lock_release
+___lock_release_recursive
+# 9pfront driver
+init_9pfront
+# blkfront driver
+blkfront_aio
+blkfront_aio_poll
+blkfront_aio_push_operation
+blkfront_io
+blkfront_open
+blkfront_queue
+blkfront_sync
+init_blkfront
+shutdown_blkfront
+# fbfront driver
+fbfront_open
+fbfront_receive
+fbfront_resize
+fbfront_update
+init_fbfront
+shutdown_fbfront
+# kbdfront driver
+init_kbdfront
+kbdfront_open
+kbdfront_receive
+shutdown_kbdfront
+# netfront driver
+init_netfront
+netfront_receive
+netfront_tap_open
+netfront_xmit
+networking_set_addr
+shutdown_netfront
+# pcifront driver
+pcifront_conf_read
+pcifront_conf_write
+pcifront_scan
+shutdown_pcifront
+# tpmback driver
+init_tpmback
+shutdown_tpmback
+tpmback_get_opaque
+tpmback_get_peercontext
+tpmback_get_uuid
+tpmback_req_any
+tpmback_resp
+tpmback_set_opaque
+# tpmfront driver
+init_tpmfront
+shutdown_tpmfront
+tpmfront_cmd
+tpmfront_open
+# tpm_tis driver
+init_tpm_tis
+init_tpm2_tis
+tpm_tis_open
+tpm_tis_request_locality
+# xenbus driver
+xenbus_ls
+xenbus_read
+xenbus_wait_for_watch
+xenbus_watch_path_token
+xenbus_unwatch_path_token
+xs_daemon_open
+xs_directory
+xs_fileno
+xs_get_domain_path
+xs_read
+xs_read_watch
+xs_rm
+xs_unwatch
+xs_watch
+xs_write
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 16:08:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 16:08:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626527.976822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyDlr-0007Ez-KX; Wed, 01 Nov 2023 16:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626527.976822; Wed, 01 Nov 2023 16: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 1qyDlr-0007Es-Gh; Wed, 01 Nov 2023 16:08:43 +0000
Received: by outflank-mailman (input) for mailman id 626527;
 Wed, 01 Nov 2023 16:08: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyDlq-0007Em-6U
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 16:08: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 eb8d28e1-78d0-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 17:08:39 +0100 (CET)
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 2A5D01F74A;
 Wed,  1 Nov 2023 16:08: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 EB07713460;
 Wed,  1 Nov 2023 16:08:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id w6H5NwZ4QmXoOAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 16:08: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: eb8d28e1-78d0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698854919; 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=Cfrp59fBABW4y4QTV96sufw4PNIZfHEY3Moh4I0V28c=;
	b=Pyryrr+PXm98aWeB8ja7YwOdNfNVZCOoRW8MRhHqogx/9v9JpUHnQJPPqDaM9Ji+WbEnJv
	2FstA/IgIytZ/nm0KOUtdOLLgWXPDexGI3mOz21ecJbdBmzyvPNVgSuNXyzrXGetN/l8of
	9DbeUx5PJQELNO+yyZmhSHQgSUfxeos=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH] stubdom: remove caml-stubdom
Date: Wed,  1 Nov 2023 17:08:37 +0100
Message-Id: <20231101160837.32241-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to build caml-stubdom, it must be explicitly enabled via
"configure --enable-caml-stubdom". The build process is failing due to
stubdom/ocaml.patch failing to apply. Since the patched file has been
modified in 2014 the last time, it seems nobody cares for caml-stubdom
since at least then.

Remove caml-stubdom from the build system.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 stubdom/Makefile         | 51 ------------------------------------
 stubdom/caml/Makefile    | 24 -----------------
 stubdom/caml/hello.ml    |  4 ---
 stubdom/caml/main-caml.c | 42 ------------------------------
 stubdom/caml/minios.cfg  |  0
 stubdom/configure        | 56 ----------------------------------------
 stubdom/configure.ac     |  2 --
 stubdom/ocaml.patch      | 19 --------------
 8 files changed, 198 deletions(-)
 delete mode 100644 stubdom/caml/Makefile
 delete mode 100644 stubdom/caml/hello.ml
 delete mode 100644 stubdom/caml/main-caml.c
 delete mode 100644 stubdom/caml/minios.cfg
 delete mode 100644 stubdom/ocaml.patch

diff --git a/stubdom/Makefile b/stubdom/Makefile
index 0ddfce1ba2..27a18a9e33 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -257,37 +257,6 @@ $(TPMEMU_STAMPFILE): tpm_emulator-$(XEN_TARGET_ARCH) $(GMP_STAMPFILE)
 .PHONY: cross-tpmemu
 cross-tpmemu: $(TPMEMU_STAMPFILE)
 
-#############
-# Cross-ocaml
-#############
-
-CAMLLIB = $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/ocaml
-OCAML_STAMPFILE=$(CAMLLIB)/.dirstamp
-
-ocaml-$(OCAML_VERSION).tar.gz:
-	$(FETCHER) $@ $(OCAML_URL)/$@
-
-ocaml-$(XEN_TARGET_ARCH)/.dirstamp: ocaml-$(OCAML_VERSION).tar.gz ocaml.patch
-	tar xzf $<
-	cd ocaml-$(OCAML_VERSION) && patch -p0 < ../ocaml.patch
-	rm -rf ocaml-$(XEN_TARGET_ARCH)
-	mv ocaml-$(OCAML_VERSION) ocaml-$(XEN_TARGET_ARCH)
-	touch $@
-
-MINIOS_HASNOT=IPV6 INET_ATON
-
-.PHONY: cross-ocaml
-cross-ocaml: $(OCAML_STAMPFILE)
-$(OCAML_STAMPFILE): ocaml-$(XEN_TARGET_ARCH)/.dirstamp
-	cd ocaml-$(XEN_TARGET_ARCH) &&  ./configure -prefix $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf \
-		-no-pthread -no-shared-libs -no-tk -no-curses \
-		-cc "$(CC) -U_FORTIFY_SOURCE -fno-stack-protector -mno-red-zone"
-	$(foreach i,$(MINIOS_HASNOT),sed -i 's,^\(#define HAS_$(i)\),//\1,' ocaml-$(XEN_TARGET_ARCH)/config/s.h ; )
-	$(MAKE) DESTDIR= -C ocaml-$(XEN_TARGET_ARCH) world
-	$(MAKE) DESTDIR= -C ocaml-$(XEN_TARGET_ARCH) opt
-	$(MAKE) -C ocaml-$(XEN_TARGET_ARCH) install
-	touch $@
-
 #######
 # Links
 #######
@@ -419,17 +388,6 @@ ioemu: cross-zlib cross-libpci libxenguest ioemu-minios-config.mk
 	    $(QEMU_ROOT)/xen-setup-stubdom )
 	$(MAKE) DESTDIR= -C ioemu -f $(QEMU_ROOT)/Makefile
 
-######
-# caml
-######
-
-caml-minios-config.mk: $(CURDIR)/caml/minios.cfg
-	MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
-
-.PHONY: caml
-caml: $(CROSS_ROOT)
-	CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat caml-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) OCAMLC_CROSS_PREFIX=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/bin/
-
 ###
 # C
 ###
@@ -516,10 +474,6 @@ ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/ioemu/i386
 ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) libxenguest ioemu
 	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/ioemu-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
 
-.PHONY: caml-stubdom
-caml-stubdom: mini-os-$(XEN_TARGET_ARCH)-caml lwip-$(XEN_TARGET_ARCH) libxenguest cross-ocaml caml
-	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/caml/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(CURDIR)/caml/main-caml.o $(CURDIR)/caml/caml.o $(CAMLLIB)/libasmrun.a"
-
 .PHONY: c-stubdom
 c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxenguest c
 	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/c/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS=$(CURDIR)/c/main.a
@@ -580,8 +534,6 @@ endif
 
 install-c: c-stubdom
 
-install-caml: caml-stubdom
-
 install-xenstore: xenstore-stubdom
 	$(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
 	$(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-xenstore/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/xenstore-stubdom.gz"
@@ -642,13 +594,11 @@ clean: $(foreach lib,$(STUB_LIBS),clean-libxen$(lib))
 clean:
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-ioemu
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-c
-	rm -fr mini-os-$(XEN_TARGET_ARCH)-caml
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-grub
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstore
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstorepvh
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpm
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpmmgr
-	$(MAKE) DESTDIR= -C caml clean
 	$(MAKE) DESTDIR= -C c clean
 	$(MAKE) -C vtpm clean
 	$(MAKE) -C vtpmmgr clean
@@ -695,7 +645,6 @@ downloadclean: patchclean
 	rm -f pciutils-$(LIBPCI_VERSION).tar.bz2
 	rm -f grub-$(GRUB_VERSION).tar.gz
 	rm -f lwip-$(LWIP_VERSION).tar.gz
-	rm -f ocaml-$(OCAML_VERSION).tar.gz
 	rm -f polarssl-$(POLARSSL_VERSION)-gpl.tgz
 
 .PHONY: distclean
diff --git a/stubdom/caml/Makefile b/stubdom/caml/Makefile
deleted file mode 100644
index f550de1680..0000000000
--- a/stubdom/caml/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-XEN_ROOT = $(CURDIR)/../..
-
-ifeq (,$(findstring clean,$(MAKECMDGOALS)))
-include $(XEN_ROOT)/Config.mk
-endif
-
-CAMLLIB = $(shell $(OCAMLC_CROSS_PREFIX)ocamlc -where)
-DEF_CPPFLAGS += -I$(CAMLLIB)
-
-OCAMLOPT=$(OCAMLC_CROSS_PREFIX)ocamlopt
-
-OBJS := hello.cmx
-LIBS := 
-
-all: main-caml.o caml.o
-
-%.cmx: %.ml
-	$(OCAMLOPT) -c $< -o $@
-
-caml.o: $(OBJS)
-	$(OCAMLOPT) $(LIBS) $^ -output-obj -o $@
-
-clean:
-	rm -f *.a *.o *.cmx *.cmi
diff --git a/stubdom/caml/hello.ml b/stubdom/caml/hello.ml
deleted file mode 100644
index 3a7181134a..0000000000
--- a/stubdom/caml/hello.ml
+++ /dev/null
@@ -1,4 +0,0 @@
-let main arg =
-  Printf.printf "Hello, world!\n%!."
-
-let _ = Callback.register "main" main
diff --git a/stubdom/caml/main-caml.c b/stubdom/caml/main-caml.c
deleted file mode 100644
index dd55aca38f..0000000000
--- a/stubdom/caml/main-caml.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Caml bootstrap
- *
- * Samuel Thibault <Samuel.Thibault@eu.citrix.net>, January 2008
- */
-
-#include <stdio.h>
-#include <errno.h>
-
-#include <caml/mlvalues.h>
-#include <caml/callback.h>
-#include <unistd.h>
-
-/* Ugly binary compatibility with Linux */
-FILE *_stderr asm("stderr");
-int *__errno_location;
-/* Will probably break everything, probably need to fetch from glibc */
-void *__ctype_b_loc;
-
-int main(int argc, char *argv[], char *envp[])
-{
-    value *val;
-
-    /* Get current thread's value */
-    _stderr = stderr;
-    __errno_location = &errno;
-
-    printf("starting caml\n");
-
-    /* Wait before things might hang up */
-    sleep(1);
-
-    caml_startup(argv);
-    val = caml_named_value("main");
-    if (!val) {
-        printf("Couldn't find Caml main");
-        return 1;
-    }
-    caml_callback(*val, Val_int(0));
-    printf("callback returned\n");
-    return 0;
-}
diff --git a/stubdom/caml/minios.cfg b/stubdom/caml/minios.cfg
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/stubdom/configure b/stubdom/configure
index 9a2226c3b7..6d41be91b6 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -600,8 +600,6 @@ POLARSSL_VERSION
 POLARSSL_URL
 GMP_VERSION
 GMP_URL
-OCAML_VERSION
-OCAML_URL
 GRUB_VERSION
 GRUB_URL
 LWIP_VERSION
@@ -633,7 +631,6 @@ debug
 xenstorepvh
 xenstore
 grub
-caml
 c
 host_os
 host_vendor
@@ -687,7 +684,6 @@ ac_user_opts='
 enable_option_checking
 enable_ioemu_stubdom
 enable_c_stubdom
-enable_caml_stubdom
 enable_pv_grub
 enable_xenstore_stubdom
 enable_xenstorepvh_stubdom
@@ -711,7 +707,6 @@ LIBPCI_URL
 NEWLIB_URL
 LWIP_URL
 GRUB_URL
-OCAML_URL
 GMP_URL
 POLARSSL_URL
 TPMEMU_URL'
@@ -1341,7 +1336,6 @@ Optional Features:
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-ioemu-stubdom  Build and install ioemu-stubdom
   --enable-c-stubdom      Build and install c-stubdom (default is DISABLED)
-  --enable-caml-stubdom   Build and install caml-stubdom (default is DISABLED)
   --enable-pv-grub        Build and install pv-grub (default is DISABLED)
   --disable-xenstore-stubdom
                           Build and install xenstore-stubdom (default is
@@ -1371,7 +1365,6 @@ Some influential environment variables:
   NEWLIB_URL  Download url for newlib
   LWIP_URL    Download url for lwip
   GRUB_URL    Download url for grub
-  OCAML_URL   Download url for ocaml
   GMP_URL     Download url for libgmp
   POLARSSL_URL
               Download url for polarssl
@@ -2061,44 +2054,6 @@ fi
 
 
 
-# Check whether --enable-caml-stubdom was given.
-if test "${enable_caml_stubdom+set}" = set; then :
-  enableval=$enable_caml_stubdom;
-
-if test "x$enableval" = "xyes"; then :
-
-
-caml=y
-STUBDOM_TARGETS="$STUBDOM_TARGETS caml"
-STUBDOM_BUILD="$STUBDOM_BUILD caml-stubdom"
-STUBDOM_INSTALL="$STUBDOM_INSTALL install-caml"
-STUBDOM_UNINSTALL="$STUBDOM_UNINSTALL install-caml"
-
-
-else
-
-if test "x$enableval" = "xno"; then :
-
-
-caml=n
-
-
-fi
-
-fi
-
-
-else
-
-
-caml=n
-
-
-fi
-
-
-
-
 # Check whether --enable-pv-grub was given.
 if test "${enable_pv_grub+set}" = set; then :
   enableval=$enable_pv_grub;
@@ -3600,17 +3555,6 @@ GRUB_VERSION="0.97"
 
 
 
-if test "x$OCAML_URL" = "x"; then :
-
-	OCAML_URL="https://caml.inria.fr/pub/distrib/ocaml-4.02"
-
-fi
-OCAML_VERSION="4.02.0"
-
-
-
-
-
 if test "x$GMP_URL" = "x"; then :
 
 	if test "x$extfiles" = "xy"; then :
diff --git a/stubdom/configure.ac b/stubdom/configure.ac
index 471e371e14..fc736c0387 100644
--- a/stubdom/configure.ac
+++ b/stubdom/configure.ac
@@ -20,7 +20,6 @@ m4_include([../m4/fetcher.m4])
 # Enable/disable stub domains
 AX_STUBDOM_CONDITIONAL([ioemu-stubdom], [ioemu])
 AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c])
-AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml])
 AX_STUBDOM_DEFAULT_DISABLE([pv-grub], [grub])
 AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore])
 AX_STUBDOM_DEFAULT_ENABLE([xenstorepvh-stubdom], [xenstorepvh])
@@ -60,7 +59,6 @@ AX_STUBDOM_LIB([LIBPCI], [libpci], [2.2.9], [https://mirrors.edge.kernel.org/pub
 AX_STUBDOM_LIB([NEWLIB], [newlib], [1.16.0], [https://sourceware.org/ftp/newlib])
 AX_STUBDOM_LIB([LWIP], [lwip], [1.3.0], [https://download.savannah.gnu.org/releases/lwip])
 AX_STUBDOM_LIB([GRUB], [grub], [0.97], [https://alpha.gnu.org/gnu/grub])
-AX_STUBDOM_LIB_NOEXT([OCAML], [ocaml], [4.02.0], [https://caml.inria.fr/pub/distrib/ocaml-4.02])
 AX_STUBDOM_LIB([GMP], [libgmp], [4.3.2], [https://gmplib.org/download/gmp/archive])
 AX_STUBDOM_LIB([POLARSSL], [polarssl], [1.1.4])
 AX_STUBDOM_LIB([TPMEMU], [berlios tpm emulator], [0.7.4])
diff --git a/stubdom/ocaml.patch b/stubdom/ocaml.patch
deleted file mode 100644
index 50db4869dd..0000000000
--- a/stubdom/ocaml.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- byterun/Makefile.orig	2009-04-07 12:14:02.000000000 +0100
-+++ byterun/Makefile	2009-04-07 12:13:50.000000000 +0100
-@@ -22,14 +22,14 @@
- DOBJS=$(OBJS:.o=.d.o) instrtrace.d.o
- PICOBJS=$(OBJS:.o=.pic.o)
- 
--#ifeq ($(SUPPORTS_SHARED_LIBRARIES),true)
-+ifeq ($(SUPPORTS_SHARED_LIBRARIES),true)
- 
- all:: libcamlrun_shared.so
- 
- install::
- 	cp libcamlrun_shared.so $(LIBDIR)/libcamlrun_shared.so
- 
--#endif
-+endif
- 
- ocamlrun$(EXE): libcamlrun.a prims.o
- 	$(MKEXE) $(BYTECCLINKOPTS) -o ocamlrun$(EXE) \
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 16:29:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 16:29:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626531.976831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyE5W-00044Q-68; Wed, 01 Nov 2023 16:29:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626531.976831; Wed, 01 Nov 2023 16:29: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 1qyE5W-00044J-2j; Wed, 01 Nov 2023 16:29:02 +0000
Received: by outflank-mailman (input) for mailman id 626531;
 Wed, 01 Nov 2023 16:29: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=0NXV=GO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qyE5U-00044D-PT
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 16:29:00 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c285de0c-78d3-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 17:28:59 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-40850b244beso53882005e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 09:28:59 -0700 (PDT)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 i22-20020a05600c4b1600b0040303a9965asm228177wmp.40.2023.11.01.09.28.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 01 Nov 2023 09:28: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: c285de0c-78d3-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1698856138; x=1699460938; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9bPV1lGgzrmV6Yr+MwSqchQHz7SQm0nDrDHBI+kvjhk=;
        b=ACItsfYIAECoPy9BFBYt0ZxwVXnGmwZPCxv7Jw747aqqrvk49VzQJeqgjxEQQKHWxi
         4CGHkMazEils7z1sIiR40WwCyRzk84lnqKFWHp8vd33c53EMD0fWlJ2Jk4VLv7n2AUg+
         4C1BmyT5pymr+XA96+yX2hZ5D3d5pL16O+bak=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698856138; x=1699460938;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9bPV1lGgzrmV6Yr+MwSqchQHz7SQm0nDrDHBI+kvjhk=;
        b=qocJ39r1e9y0sEegHgqlSP9P1v3aCuGXsuPU309eFExpk147sZkTihe1fQRS6YmaoZ
         zM8Nu2wum/IZDkxze3QEVgQzUFL8gwpsRc1Q7ois3ztEgtOV1D+sp0QZYmE2pBLGAI2S
         1LxIg0vf+aPAM5bmO1RyuNgQnXL8hk/TyuEhi53ANfpwckogVlfr5jItCkRFNffsDd8X
         QXMl93lhvZ/P+W2SMUo5j2UGG6MEvHDzXaZ5KrakOQriFP3/il4GzOWpug1u6ioBkB1h
         xe172iI9VE+qlD1rRSb99FDMCLfzc/0vGoUK65Pggqcg8AHQkPraKv+doWpPfzNBBGRf
         fG8g==
X-Gm-Message-State: AOJu0YyH/JA2RebeH9pUmokUrBD+lCGMXcYl2cyaGbfpOmigTPEDxjLy
	kDdoD5s0X+jLaUNc7n6EgGt06g==
X-Google-Smtp-Source: AGHT+IGJZ7uPGHzdIRRR5BtoIePv/AMxKPnDvwDES8ch0jUD/IP40Snqk28RqeUGWNAFacdQQcFDow==
X-Received: by 2002:a05:600c:45ca:b0:408:4f5d:eeb2 with SMTP id s10-20020a05600c45ca00b004084f5deeb2mr14286765wmo.20.1698856137661;
        Wed, 01 Nov 2023 09:28:57 -0700 (PDT)
Message-ID: <1b305c81-6f32-41d5-8757-f50c27e8a08d@citrix.com>
Date: Wed, 1 Nov 2023 16:28:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] stubdom: remove caml-stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>,
 Edwin Torok <edvin.torok@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 Rob Hoes <Rob.Hoes@citrix.com>
References: <20231101160837.32241-1-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231101160837.32241-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 01/11/2023 4:08 pm, Juergen Gross wrote:
> In order to build caml-stubdom, it must be explicitly enabled via
> "configure --enable-caml-stubdom". The build process is failing due to
> stubdom/ocaml.patch failing to apply. Since the patched file has been
> modified in 2014 the last time, it seems nobody cares for caml-stubdom
> since at least then.
>
> Remove caml-stubdom from the build system.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

CC-ing some of the Ocaml folks just in case, but I expect that this
functionality has been entirely superseded by MirageOS and/or Solo5.

Also, hunk to the Removed section of CHANGELOG.md please (can be fixed
on commit if no other changes are needed.)

~Andrew

> ---
>  stubdom/Makefile         | 51 ------------------------------------
>  stubdom/caml/Makefile    | 24 -----------------
>  stubdom/caml/hello.ml    |  4 ---
>  stubdom/caml/main-caml.c | 42 ------------------------------
>  stubdom/caml/minios.cfg  |  0
>  stubdom/configure        | 56 ----------------------------------------
>  stubdom/configure.ac     |  2 --
>  stubdom/ocaml.patch      | 19 --------------
>  8 files changed, 198 deletions(-)
>  delete mode 100644 stubdom/caml/Makefile
>  delete mode 100644 stubdom/caml/hello.ml
>  delete mode 100644 stubdom/caml/main-caml.c
>  delete mode 100644 stubdom/caml/minios.cfg
>  delete mode 100644 stubdom/ocaml.patch
>
> diff --git a/stubdom/Makefile b/stubdom/Makefile
> index 0ddfce1ba2..27a18a9e33 100644
> --- a/stubdom/Makefile
> +++ b/stubdom/Makefile
> @@ -257,37 +257,6 @@ $(TPMEMU_STAMPFILE): tpm_emulator-$(XEN_TARGET_ARCH) $(GMP_STAMPFILE)
>  .PHONY: cross-tpmemu
>  cross-tpmemu: $(TPMEMU_STAMPFILE)
>  
> -#############
> -# Cross-ocaml
> -#############
> -
> -CAMLLIB = $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/ocaml
> -OCAML_STAMPFILE=$(CAMLLIB)/.dirstamp
> -
> -ocaml-$(OCAML_VERSION).tar.gz:
> -	$(FETCHER) $@ $(OCAML_URL)/$@
> -
> -ocaml-$(XEN_TARGET_ARCH)/.dirstamp: ocaml-$(OCAML_VERSION).tar.gz ocaml.patch
> -	tar xzf $<
> -	cd ocaml-$(OCAML_VERSION) && patch -p0 < ../ocaml.patch
> -	rm -rf ocaml-$(XEN_TARGET_ARCH)
> -	mv ocaml-$(OCAML_VERSION) ocaml-$(XEN_TARGET_ARCH)
> -	touch $@
> -
> -MINIOS_HASNOT=IPV6 INET_ATON
> -
> -.PHONY: cross-ocaml
> -cross-ocaml: $(OCAML_STAMPFILE)
> -$(OCAML_STAMPFILE): ocaml-$(XEN_TARGET_ARCH)/.dirstamp
> -	cd ocaml-$(XEN_TARGET_ARCH) &&  ./configure -prefix $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf \
> -		-no-pthread -no-shared-libs -no-tk -no-curses \
> -		-cc "$(CC) -U_FORTIFY_SOURCE -fno-stack-protector -mno-red-zone"
> -	$(foreach i,$(MINIOS_HASNOT),sed -i 's,^\(#define HAS_$(i)\),//\1,' ocaml-$(XEN_TARGET_ARCH)/config/s.h ; )
> -	$(MAKE) DESTDIR= -C ocaml-$(XEN_TARGET_ARCH) world
> -	$(MAKE) DESTDIR= -C ocaml-$(XEN_TARGET_ARCH) opt
> -	$(MAKE) -C ocaml-$(XEN_TARGET_ARCH) install
> -	touch $@
> -
>  #######
>  # Links
>  #######
> @@ -419,17 +388,6 @@ ioemu: cross-zlib cross-libpci libxenguest ioemu-minios-config.mk
>  	    $(QEMU_ROOT)/xen-setup-stubdom )
>  	$(MAKE) DESTDIR= -C ioemu -f $(QEMU_ROOT)/Makefile
>  
> -######
> -# caml
> -######
> -
> -caml-minios-config.mk: $(CURDIR)/caml/minios.cfg
> -	MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
> -
> -.PHONY: caml
> -caml: $(CROSS_ROOT)
> -	CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat caml-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) OCAMLC_CROSS_PREFIX=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/bin/
> -
>  ###
>  # C
>  ###
> @@ -516,10 +474,6 @@ ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/ioemu/i386
>  ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) libxenguest ioemu
>  	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/ioemu-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
>  
> -.PHONY: caml-stubdom
> -caml-stubdom: mini-os-$(XEN_TARGET_ARCH)-caml lwip-$(XEN_TARGET_ARCH) libxenguest cross-ocaml caml
> -	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/caml/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(CURDIR)/caml/main-caml.o $(CURDIR)/caml/caml.o $(CAMLLIB)/libasmrun.a"
> -
>  .PHONY: c-stubdom
>  c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxenguest c
>  	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/c/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS=$(CURDIR)/c/main.a
> @@ -580,8 +534,6 @@ endif
>  
>  install-c: c-stubdom
>  
> -install-caml: caml-stubdom
> -
>  install-xenstore: xenstore-stubdom
>  	$(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
>  	$(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-xenstore/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/xenstore-stubdom.gz"
> @@ -642,13 +594,11 @@ clean: $(foreach lib,$(STUB_LIBS),clean-libxen$(lib))
>  clean:
>  	rm -fr mini-os-$(XEN_TARGET_ARCH)-ioemu
>  	rm -fr mini-os-$(XEN_TARGET_ARCH)-c
> -	rm -fr mini-os-$(XEN_TARGET_ARCH)-caml
>  	rm -fr mini-os-$(XEN_TARGET_ARCH)-grub
>  	rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstore
>  	rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstorepvh
>  	rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpm
>  	rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpmmgr
> -	$(MAKE) DESTDIR= -C caml clean
>  	$(MAKE) DESTDIR= -C c clean
>  	$(MAKE) -C vtpm clean
>  	$(MAKE) -C vtpmmgr clean
> @@ -695,7 +645,6 @@ downloadclean: patchclean
>  	rm -f pciutils-$(LIBPCI_VERSION).tar.bz2
>  	rm -f grub-$(GRUB_VERSION).tar.gz
>  	rm -f lwip-$(LWIP_VERSION).tar.gz
> -	rm -f ocaml-$(OCAML_VERSION).tar.gz
>  	rm -f polarssl-$(POLARSSL_VERSION)-gpl.tgz
>  
>  .PHONY: distclean
> diff --git a/stubdom/caml/Makefile b/stubdom/caml/Makefile
> deleted file mode 100644
> index f550de1680..0000000000
> --- a/stubdom/caml/Makefile
> +++ /dev/null
> @@ -1,24 +0,0 @@
> -XEN_ROOT = $(CURDIR)/../..
> -
> -ifeq (,$(findstring clean,$(MAKECMDGOALS)))
> -include $(XEN_ROOT)/Config.mk
> -endif
> -
> -CAMLLIB = $(shell $(OCAMLC_CROSS_PREFIX)ocamlc -where)
> -DEF_CPPFLAGS += -I$(CAMLLIB)
> -
> -OCAMLOPT=$(OCAMLC_CROSS_PREFIX)ocamlopt
> -
> -OBJS := hello.cmx
> -LIBS := 
> -
> -all: main-caml.o caml.o
> -
> -%.cmx: %.ml
> -	$(OCAMLOPT) -c $< -o $@
> -
> -caml.o: $(OBJS)
> -	$(OCAMLOPT) $(LIBS) $^ -output-obj -o $@
> -
> -clean:
> -	rm -f *.a *.o *.cmx *.cmi
> diff --git a/stubdom/caml/hello.ml b/stubdom/caml/hello.ml
> deleted file mode 100644
> index 3a7181134a..0000000000
> --- a/stubdom/caml/hello.ml
> +++ /dev/null
> @@ -1,4 +0,0 @@
> -let main arg =
> -  Printf.printf "Hello, world!\n%!."
> -
> -let _ = Callback.register "main" main
> diff --git a/stubdom/caml/main-caml.c b/stubdom/caml/main-caml.c
> deleted file mode 100644
> index dd55aca38f..0000000000
> --- a/stubdom/caml/main-caml.c
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -/*
> - * Caml bootstrap
> - *
> - * Samuel Thibault <Samuel.Thibault@eu.citrix.net>, January 2008
> - */
> -
> -#include <stdio.h>
> -#include <errno.h>
> -
> -#include <caml/mlvalues.h>
> -#include <caml/callback.h>
> -#include <unistd.h>
> -
> -/* Ugly binary compatibility with Linux */
> -FILE *_stderr asm("stderr");
> -int *__errno_location;
> -/* Will probably break everything, probably need to fetch from glibc */
> -void *__ctype_b_loc;
> -
> -int main(int argc, char *argv[], char *envp[])
> -{
> -    value *val;
> -
> -    /* Get current thread's value */
> -    _stderr = stderr;
> -    __errno_location = &errno;
> -
> -    printf("starting caml\n");
> -
> -    /* Wait before things might hang up */
> -    sleep(1);
> -
> -    caml_startup(argv);
> -    val = caml_named_value("main");
> -    if (!val) {
> -        printf("Couldn't find Caml main");
> -        return 1;
> -    }
> -    caml_callback(*val, Val_int(0));
> -    printf("callback returned\n");
> -    return 0;
> -}
> diff --git a/stubdom/caml/minios.cfg b/stubdom/caml/minios.cfg
> deleted file mode 100644
> index e69de29bb2..0000000000
> diff --git a/stubdom/configure b/stubdom/configure
> index 9a2226c3b7..6d41be91b6 100755
> --- a/stubdom/configure
> +++ b/stubdom/configure
> @@ -600,8 +600,6 @@ POLARSSL_VERSION
>  POLARSSL_URL
>  GMP_VERSION
>  GMP_URL
> -OCAML_VERSION
> -OCAML_URL
>  GRUB_VERSION
>  GRUB_URL
>  LWIP_VERSION
> @@ -633,7 +631,6 @@ debug
>  xenstorepvh
>  xenstore
>  grub
> -caml
>  c
>  host_os
>  host_vendor
> @@ -687,7 +684,6 @@ ac_user_opts='
>  enable_option_checking
>  enable_ioemu_stubdom
>  enable_c_stubdom
> -enable_caml_stubdom
>  enable_pv_grub
>  enable_xenstore_stubdom
>  enable_xenstorepvh_stubdom
> @@ -711,7 +707,6 @@ LIBPCI_URL
>  NEWLIB_URL
>  LWIP_URL
>  GRUB_URL
> -OCAML_URL
>  GMP_URL
>  POLARSSL_URL
>  TPMEMU_URL'
> @@ -1341,7 +1336,6 @@ Optional Features:
>    --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
>    --enable-ioemu-stubdom  Build and install ioemu-stubdom
>    --enable-c-stubdom      Build and install c-stubdom (default is DISABLED)
> -  --enable-caml-stubdom   Build and install caml-stubdom (default is DISABLED)
>    --enable-pv-grub        Build and install pv-grub (default is DISABLED)
>    --disable-xenstore-stubdom
>                            Build and install xenstore-stubdom (default is
> @@ -1371,7 +1365,6 @@ Some influential environment variables:
>    NEWLIB_URL  Download url for newlib
>    LWIP_URL    Download url for lwip
>    GRUB_URL    Download url for grub
> -  OCAML_URL   Download url for ocaml
>    GMP_URL     Download url for libgmp
>    POLARSSL_URL
>                Download url for polarssl
> @@ -2061,44 +2054,6 @@ fi
>  
>  
>  
> -# Check whether --enable-caml-stubdom was given.
> -if test "${enable_caml_stubdom+set}" = set; then :
> -  enableval=$enable_caml_stubdom;
> -
> -if test "x$enableval" = "xyes"; then :
> -
> -
> -caml=y
> -STUBDOM_TARGETS="$STUBDOM_TARGETS caml"
> -STUBDOM_BUILD="$STUBDOM_BUILD caml-stubdom"
> -STUBDOM_INSTALL="$STUBDOM_INSTALL install-caml"
> -STUBDOM_UNINSTALL="$STUBDOM_UNINSTALL install-caml"
> -
> -
> -else
> -
> -if test "x$enableval" = "xno"; then :
> -
> -
> -caml=n
> -
> -
> -fi
> -
> -fi
> -
> -
> -else
> -
> -
> -caml=n
> -
> -
> -fi
> -
> -
> -
> -
>  # Check whether --enable-pv-grub was given.
>  if test "${enable_pv_grub+set}" = set; then :
>    enableval=$enable_pv_grub;
> @@ -3600,17 +3555,6 @@ GRUB_VERSION="0.97"
>  
>  
>  
> -if test "x$OCAML_URL" = "x"; then :
> -
> -	OCAML_URL="https://caml.inria.fr/pub/distrib/ocaml-4.02"
> -
> -fi
> -OCAML_VERSION="4.02.0"
> -
> -
> -
> -
> -
>  if test "x$GMP_URL" = "x"; then :
>  
>  	if test "x$extfiles" = "xy"; then :
> diff --git a/stubdom/configure.ac b/stubdom/configure.ac
> index 471e371e14..fc736c0387 100644
> --- a/stubdom/configure.ac
> +++ b/stubdom/configure.ac
> @@ -20,7 +20,6 @@ m4_include([../m4/fetcher.m4])
>  # Enable/disable stub domains
>  AX_STUBDOM_CONDITIONAL([ioemu-stubdom], [ioemu])
>  AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c])
> -AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml])
>  AX_STUBDOM_DEFAULT_DISABLE([pv-grub], [grub])
>  AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore])
>  AX_STUBDOM_DEFAULT_ENABLE([xenstorepvh-stubdom], [xenstorepvh])
> @@ -60,7 +59,6 @@ AX_STUBDOM_LIB([LIBPCI], [libpci], [2.2.9], [https://mirrors.edge.kernel.org/pub
>  AX_STUBDOM_LIB([NEWLIB], [newlib], [1.16.0], [https://sourceware.org/ftp/newlib])
>  AX_STUBDOM_LIB([LWIP], [lwip], [1.3.0], [https://download.savannah.gnu.org/releases/lwip])
>  AX_STUBDOM_LIB([GRUB], [grub], [0.97], [https://alpha.gnu.org/gnu/grub])
> -AX_STUBDOM_LIB_NOEXT([OCAML], [ocaml], [4.02.0], [https://caml.inria.fr/pub/distrib/ocaml-4.02])
>  AX_STUBDOM_LIB([GMP], [libgmp], [4.3.2], [https://gmplib.org/download/gmp/archive])
>  AX_STUBDOM_LIB([POLARSSL], [polarssl], [1.1.4])
>  AX_STUBDOM_LIB([TPMEMU], [berlios tpm emulator], [0.7.4])
> diff --git a/stubdom/ocaml.patch b/stubdom/ocaml.patch
> deleted file mode 100644
> index 50db4869dd..0000000000
> --- a/stubdom/ocaml.patch
> +++ /dev/null
> @@ -1,19 +0,0 @@
> ---- byterun/Makefile.orig	2009-04-07 12:14:02.000000000 +0100
> -+++ byterun/Makefile	2009-04-07 12:13:50.000000000 +0100
> -@@ -22,14 +22,14 @@
> - DOBJS=$(OBJS:.o=.d.o) instrtrace.d.o
> - PICOBJS=$(OBJS:.o=.pic.o)
> - 
> --#ifeq ($(SUPPORTS_SHARED_LIBRARIES),true)
> -+ifeq ($(SUPPORTS_SHARED_LIBRARIES),true)
> - 
> - all:: libcamlrun_shared.so
> - 
> - install::
> - 	cp libcamlrun_shared.so $(LIBDIR)/libcamlrun_shared.so
> - 
> --#endif
> -+endif
> - 
> - ocamlrun$(EXE): libcamlrun.a prims.o
> - 	$(MKEXE) $(BYTECCLINKOPTS) -o ocamlrun$(EXE) \



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 16:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 16:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626536.976841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyEFI-0006G3-7o; Wed, 01 Nov 2023 16:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626536.976841; Wed, 01 Nov 2023 16: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 1qyEFI-0006Fw-50; Wed, 01 Nov 2023 16:39:08 +0000
Received: by outflank-mailman (input) for mailman id 626536;
 Wed, 01 Nov 2023 16:39: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=0NXV=GO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qyEFG-0006EL-Vk
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 16:39:06 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 298a91f0-78d5-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 17:39:01 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5079f9675c6so10556158e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 09:39:01 -0700 (PDT)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h8-20020adfe988000000b0032f99801273sm220663wrm.66.2023.11.01.09.39.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 01 Nov 2023 09:39: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: 298a91f0-78d5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1698856741; x=1699461541; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=kE4aRrMYD6ltE/7WHt2nLkoZWRS/q/GE5PCvSsUvRMU=;
        b=kr45G/SqGD+wJcM3+BKngLQRFKHrebjT7+IArTu6N/1OEV0AIvBB7GbMIap/ziqa8j
         p1/1jCMk5WI/zuEkHOSQTbYfQ/Wy+VAykxh0CNhNfZ1lwS1n2UnWEYqGBh5PN4fNewMs
         BXkEL/UG/BU7UdY+SzVgx/DXv6guT7yy9BE3g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698856741; x=1699461541;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=kE4aRrMYD6ltE/7WHt2nLkoZWRS/q/GE5PCvSsUvRMU=;
        b=FzRZlwU+X0HNlI8hKpZKJY1xo13QnlFXnKxFL2LfhkhtQKx4TNm8csi8GHwcsdUfI+
         LW+p7JO2EI1j+cNjM6c/uWCjth2uBdytz7/AsXeXSrU9uACjUFax7/o6Cm9RgPrp2GXZ
         UoFHsHjspvMzi1nQ0MZgSD9JNDU5HpSWN7bBH3tigfX9eZXLXagFTFW9q2XOXLkGJ+Gg
         QG27mkddAvg1ySM4RV+lVG0s5Y2Q3ka/9GoCLtC/KoBkjWmIS5Ep2I9UDdbOepqrIsdC
         rVE0A6Hdn7Yyu4kJ74U/Ys8R3l5SNiR3VitGXzJK+yWVbIyrR9lsLi2yHT0l/1/AIxTO
         0y1g==
X-Gm-Message-State: AOJu0YwhzulOK9HEDR2qLYkq8rOuNzPO8i6xrwtOOn01ndGRUpoQSJQA
	u/r/U9dCKNNByKDGk2s8e5nYpQ==
X-Google-Smtp-Source: AGHT+IGcwA2AwbYVDuq6T56omgpnDL1hM6vYWQBCpPcwQbd/NoI2sNbntDS/4YMZqBPGhgK1blFNxQ==
X-Received: by 2002:ac2:54b7:0:b0:508:1aa7:dffa with SMTP id w23-20020ac254b7000000b005081aa7dffamr12309073lfk.18.1698856741038;
        Wed, 01 Nov 2023 09:39:01 -0700 (PDT)
Message-ID: <e287ebbb-77e4-461e-ae21-e2c6a8027686@citrix.com>
Date: Wed, 1 Nov 2023 16:38:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] Mini-OS: don't crash if no shutdown node is available
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231101090024.28934-1-jgross@suse.com>
 <20231101090024.28934-3-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231101090024.28934-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 01/11/2023 9:00 am, Juergen Gross wrote:
> It might be perfectly fine not to have a control/shutdown Xenstore
> node. If this is the case, don't crash, but just terminate the
> shutdown thread after issuing a message that shutdown isn't available.
>
> In fini_shutdown() clearing the watch can result in an error now, in
> case the early exit above was taken. Just ignore this error now.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Which cases might we not have a control/shutdown node?

I'm all for coping better with its absence, but it's not a piece of the
Xen ABI which is optional.

And on that front, not crashing is good, but why remove the watch?  What
if it comes into existence later?  Is there any problem with just
leaving the watch outstanding?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 16:42:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 16:42:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626545.976860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyEID-0007wT-Q9; Wed, 01 Nov 2023 16:42:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626545.976860; Wed, 01 Nov 2023 16:42: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 1qyEID-0007wL-M0; Wed, 01 Nov 2023 16:42:09 +0000
Received: by outflank-mailman (input) for mailman id 626545;
 Wed, 01 Nov 2023 16:42: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=qFMy=GO=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyEIC-0007uE-DW
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 16:42:08 +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 9780e4a5-78d5-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 17:42:06 +0100 (CET)
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 97F7C21A47;
 Wed,  1 Nov 2023 16:42: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 69A5913460;
 Wed,  1 Nov 2023 16:42:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 7e81GN1/QmUlRwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 01 Nov 2023 16:42: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: 9780e4a5-78d5-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698856925; 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:autocrypt:autocrypt;
	bh=AmVSf3iVh5PLB5CCPfnxVmNz++u+YUjG12JsFHMoo9c=;
	b=Y0Dm2nfbMYhczTJBrdoQGRidZDiVVfKopBslvnjzorjtFga3sroyQJu0hCEJjIL7BjSdMm
	QcSJZfq3L1hyvct5JkVqGEJ/lT56a5+i9kwQoAZVKAHjGZOwTKGzBZN2G7CN41HNw9huUb
	QEM2XmAmOIQK/zXi7qu6oFTP+DTBvdE=
Message-ID: <769a0a44-6a1c-40a9-aa8a-ddebd794cd79@suse.com>
Date: Wed, 1 Nov 2023 17:42:04 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] Mini-OS: don't crash if no shutdown node is available
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231101090024.28934-1-jgross@suse.com>
 <20231101090024.28934-3-jgross@suse.com>
 <e287ebbb-77e4-461e-ae21-e2c6a8027686@citrix.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <e287ebbb-77e4-461e-ae21-e2c6a8027686@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------x9kISKTTetzMZuOpyxmQOZoF"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------x9kISKTTetzMZuOpyxmQOZoF
Content-Type: multipart/mixed; boundary="------------M01IF0cgoE6w00v07YK7hGNQ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <769a0a44-6a1c-40a9-aa8a-ddebd794cd79@suse.com>
Subject: Re: [PATCH 2/3] Mini-OS: don't crash if no shutdown node is available
References: <20231101090024.28934-1-jgross@suse.com>
 <20231101090024.28934-3-jgross@suse.com>
 <e287ebbb-77e4-461e-ae21-e2c6a8027686@citrix.com>
In-Reply-To: <e287ebbb-77e4-461e-ae21-e2c6a8027686@citrix.com>

--------------M01IF0cgoE6w00v07YK7hGNQ
Content-Type: multipart/mixed; boundary="------------1ItDwVLUlTIXGsHMbCLaAFIu"

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

T24gMDEuMTEuMjMgMTc6MzgsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDAxLzExLzIw
MjMgOTowMCBhbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IEl0IG1pZ2h0IGJlIHBlcmZl
Y3RseSBmaW5lIG5vdCB0byBoYXZlIGEgY29udHJvbC9zaHV0ZG93biBYZW5zdG9yZQ0KPj4g
bm9kZS4gSWYgdGhpcyBpcyB0aGUgY2FzZSwgZG9uJ3QgY3Jhc2gsIGJ1dCBqdXN0IHRlcm1p
bmF0ZSB0aGUNCj4+IHNodXRkb3duIHRocmVhZCBhZnRlciBpc3N1aW5nIGEgbWVzc2FnZSB0
aGF0IHNodXRkb3duIGlzbid0IGF2YWlsYWJsZS4NCj4+DQo+PiBJbiBmaW5pX3NodXRkb3du
KCkgY2xlYXJpbmcgdGhlIHdhdGNoIGNhbiByZXN1bHQgaW4gYW4gZXJyb3Igbm93LCBpbg0K
Pj4gY2FzZSB0aGUgZWFybHkgZXhpdCBhYm92ZSB3YXMgdGFrZW4uIEp1c3QgaWdub3JlIHRo
aXMgZXJyb3Igbm93Lg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpn
cm9zc0BzdXNlLmNvbT4NCj4gDQo+IFdoaWNoIGNhc2VzIG1pZ2h0IHdlIG5vdCBoYXZlIGEg
Y29udHJvbC9zaHV0ZG93biBub2RlPw0KDQpYZW5zdG9yZS1zdHViZG9tLiBJdCBzaG91bGQg
X25ldmVyXyBzaHV0ZG93biwgYW5kIGl0IGlzbid0IHJlYWxseSB1bmRlcg0KY29udHJvbCBv
ZiBYZW4gdG9vbHMgKG90aGVyIHRoYW4gYmVpbmcgY3JlYXRlZCkuDQoNCj4gSSdtIGFsbCBm
b3IgY29waW5nIGJldHRlciB3aXRoIGl0cyBhYnNlbmNlLCBidXQgaXQncyBub3QgYSBwaWVj
ZSBvZiB0aGUNCj4gWGVuIEFCSSB3aGljaCBpcyBvcHRpb25hbC4NCg0KSSdkIGxpa2UgdG8g
ZGlmZmVyIGhlcmUuIFNlZSByZWFzb25pbmcgYWJvdmUuDQoNCj4gQW5kIG9uIHRoYXQgZnJv
bnQsIG5vdCBjcmFzaGluZyBpcyBnb29kLCBidXQgd2h5IHJlbW92ZSB0aGUgd2F0Y2g/wqAg
V2hhdA0KPiBpZiBpdCBjb21lcyBpbnRvIGV4aXN0ZW5jZSBsYXRlcj/CoCBJcyB0aGVyZSBh
bnkgcHJvYmxlbSB3aXRoIGp1c3QNCj4gbGVhdmluZyB0aGUgd2F0Y2ggb3V0c3RhbmRpbmc/
DQoNCkEgbmVlZGxlc3Mgd2FzdGUgb2YgbWVtb3J5IGluIFhlbnN0b3JlLXN0dWJkb20uDQoN
Cg0KSnVlcmdlbg0K
--------------1ItDwVLUlTIXGsHMbCLaAFIu
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-----

--------------1ItDwVLUlTIXGsHMbCLaAFIu--

--------------M01IF0cgoE6w00v07YK7hGNQ--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVCf90FAwAAAAAACgkQsN6d1ii/Ey/n
Ogf/QO3XPhEF3L8KKZWVUo3bru8mxyByy93ttc+hYcc28Pa893BQGhm7+QlgVtxzN4Id/HD411me
EFDYpTYoJ1dyQDpM22S/r4bXkmyj9yLk9ta6T1wUWsKAXzHxfkY+Rpsje9u/mrh1pA954qi2yHpO
onqfntpCHjJLK2P0XYpcAoVED5ui8GBHtaUxzutfEviqfybyqeeUb0gbG2Xpc2zetSeM+a/anDNg
0zDCtFi8319rB5g16Jj3yDDiPnAYT9g5VUJm+k67E0VpGZdaAOXUBKQ3dtySe8aJ4nZfv/wqaxE3
yFx5NhsbBbD94lakiWASkZuksl2dhHccon5eAS4uAQ==
=dRXQ
-----END PGP SIGNATURE-----

--------------x9kISKTTetzMZuOpyxmQOZoF--


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 16:51:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 16:51:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626553.976870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyERU-0002jg-M1; Wed, 01 Nov 2023 16:51:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626553.976870; Wed, 01 Nov 2023 16:51: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 1qyERU-0002jZ-In; Wed, 01 Nov 2023 16:51:44 +0000
Received: by outflank-mailman (input) for mailman id 626553;
 Wed, 01 Nov 2023 16: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=0NXV=GO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qyERT-0002jT-Rq
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 16:51:43 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef278a47-78d6-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 17:51:42 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4084b0223ccso53400565e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 09:51:42 -0700 (PDT)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j8-20020a5d4528000000b0032db8cccd3asm240567wra.114.2023.11.01.09.51.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 01 Nov 2023 09: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: ef278a47-78d6-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1698857502; x=1699462302; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=m1suEmG4G8yiyXorzguCYnJY1L4AXEUT5MrATcfs8aw=;
        b=YVN+geZM2U9LBIT5K3leEOYiR4mGe+/Ac38UpE6KisfGGJ4/XPMy9+pyJIvhksiCL5
         RlxE0PxekYDa7O3fWwdsKGn31sLQEW04fXOTNJCJS2nzpEQZAkLNzifqwtTVBZr3gkWT
         Pr9C7QERG6CYjyWGOv+DILsukC+aXcVykj+TY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698857502; x=1699462302;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=m1suEmG4G8yiyXorzguCYnJY1L4AXEUT5MrATcfs8aw=;
        b=Jyq9uGkhKqPtNAi5yi3PyMdi2WCz1nhsEPDh5I3zMuPK7TW2M6pe5iesr2PsnPCroU
         NGv/BUQyiLWjCPUfuGBE1guzDKwXssqq3fTTqNE3jDGML3/6dj1uZNp/JkMjCJXHnT7A
         nAB4u8sE9cD5D3Jpgn5CvNUBUwpV23lope239Di985TYpSflBALVYRo6LCEfxZTUqv8N
         xZF7rEA3TH1Djk3zl+PjipSUoawTRSHHuAfTlhA699KOMJFUw7E45AqbqiuiEYUAAZAJ
         kG/zHtruyo5YhivVX34PJ6K4vA3s7DDigdqyF7NVSldjb++2v8StWv4H64V1znGetqmU
         nPYQ==
X-Gm-Message-State: AOJu0YzKleFxMOPSJixFVgjjVqul1G+QCanQoiI79WUIDc2jxTm4euv8
	KH7rERKOwquDyRmdTPMvHfPUTttDMcDIppmEXb8=
X-Google-Smtp-Source: AGHT+IHYccc6+RucSb+0WPf2n7Qv0BZaNVWzZgPeO7nNSWYM7UtZ/amfPv9qCMWUGOGEfpCEHQZZPw==
X-Received: by 2002:a5d:4c45:0:b0:32d:a2d6:4058 with SMTP id n5-20020a5d4c45000000b0032da2d64058mr11794858wrt.62.1698857502196;
        Wed, 01 Nov 2023 09:51:42 -0700 (PDT)
Message-ID: <d3366c4d-efc8-4355-9e2b-843f3a7dad47@citrix.com>
Date: Wed, 1 Nov 2023 16:51:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 21/29] tools: tell xenstore-stubdom its own domid
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-22-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231101093325.30302-22-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 01/11/2023 9:33 am, Juergen Gross wrote:
> Pass the domid as a boot parameter when starting xenstore-stubdom.
> It will be needed to administrate its own Xenstore entries.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

I'm going to fix this differently.

Because I'm utterly sick and tired of the absurd position at the moment
where HVM guests can ask the hypervisor for their domid but PV cant. 
(Despite both being able to figure it out anyway through other
information leaks in hypercalls.)

The only reason I didn't nack the patch which created this problem to
begin with was because it was part of the original Spectre/Meltdown work.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 16:58:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 16:58:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626558.976884 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyEXZ-0004F2-BL; Wed, 01 Nov 2023 16:58:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626558.976884; Wed, 01 Nov 2023 16:58: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 1qyEXZ-0004Ev-8n; Wed, 01 Nov 2023 16:58:01 +0000
Received: by outflank-mailman (input) for mailman id 626558;
 Wed, 01 Nov 2023 16:57: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=0NXV=GO=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qyEXX-0004AM-Kb
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 16:57:59 +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 cede10bc-78d7-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 17:57:58 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40907b82ab9so6347105e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 09:57:58 -0700 (PDT)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h9-20020adfe989000000b0032d687fd9d0sm288398wrm.19.2023.11.01.09.57.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 01 Nov 2023 09:57: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: cede10bc-78d7-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1698857877; x=1699462677; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=FLZ6tNQ/A2vbiZz2sPjqUss0ApEQ9rfGLrSINlMrlcQ=;
        b=HrHW3EeXOTD2wsksJHFpxYXrDjAgvBsZbFDA9h9Jb2etdbe108tD+9sSsHPkq9eZUl
         CBOke1EN4wTxNzuAMVq5kCtQHiu3kJFZo6MW1wRkFc4BaA5fW2BUdZo5Va8Bnz18kpIn
         I3e9HrOkd8cZS3tjqN+uWv8B3FyPxirMe7cqk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698857877; x=1699462677;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=FLZ6tNQ/A2vbiZz2sPjqUss0ApEQ9rfGLrSINlMrlcQ=;
        b=BlcmOSVPHA1wtfSqieZ1NzKAlxl3KKilruOdj1yBcla9MN0UYuwAEgTleR0A+5VPb8
         ZSyXNt9mmi6p/VfGQx7dPJRh+OIqoQJUGZpCFLQk/DcXCw8RqdIRcxTXL+5M3bI4yo5/
         Uc3VQ334p4cUCp1EqAjMmXJPhx4RqPInXak9Ky5aoMVM9HZ2bFJ0ja6kXjdsROfmRbLG
         6UJl4oLuZkBl88fexOnTm4yRIc/Ez23+djDDpOfz8p95cr/5hfSprh7v6FOwOXP79T1D
         N7NgfH0NeQDjPEUvnOD9wFgjOLTtwY0aPDxYv2r/UFrmKOHiL2Lo9Zdl1C9cu3EaZUdq
         Ioyw==
X-Gm-Message-State: AOJu0YwsDPKgCFwLFAKQlKpGie3g7QWLsEseYpyvvpvQWJxLXoxAot2K
	c4artVHz2fHXbgH5aLRlgCXaUlUVSiFCIYV0tFY=
X-Google-Smtp-Source: AGHT+IFBo4oM/hRreaBXk2wb7bvdGk8J6SunxBAw7mqiXoA9kvEW1RxqO+/9Qvvi8m3EImtFHA936g==
X-Received: by 2002:a5d:584e:0:b0:32f:8b11:914e with SMTP id i14-20020a5d584e000000b0032f8b11914emr7816368wrf.8.1698857877523;
        Wed, 01 Nov 2023 09:57:57 -0700 (PDT)
Message-ID: <b3d8390f-1cd9-461c-9d98-364a01f33bb5@citrix.com>
Date: Wed, 1 Nov 2023 16:57:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/3] Mini-OS: don't crash if no shutdown node is available
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231101090024.28934-1-jgross@suse.com>
 <20231101090024.28934-3-jgross@suse.com>
 <e287ebbb-77e4-461e-ae21-e2c6a8027686@citrix.com>
 <769a0a44-6a1c-40a9-aa8a-ddebd794cd79@suse.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <769a0a44-6a1c-40a9-aa8a-ddebd794cd79@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 01/11/2023 4:42 pm, Juergen Gross wrote:
> On 01.11.23 17:38, Andrew Cooper wrote:
>> On 01/11/2023 9:00 am, Juergen Gross wrote:
>>> It might be perfectly fine not to have a control/shutdown Xenstore
>>> node. If this is the case, don't crash, but just terminate the
>>> shutdown thread after issuing a message that shutdown isn't available.
>>>
>>> In fini_shutdown() clearing the watch can result in an error now, in
>>> case the early exit above was taken. Just ignore this error now.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>
>> Which cases might we not have a control/shutdown node?
>
> Xenstore-stubdom. It should _never_ shutdown, and it isn't really under
> control of Xen tools (other than being created).
>
>> I'm all for coping better with its absence, but it's not a piece of the
>> Xen ABI which is optional.
>
> I'd like to differ here. See reasoning above.

If we're going to permit this configuration, then I think it needs an
extension to xenstore-paths to make it officially optional.

And I think it's reasonable to support, but I wouldn't go as far as
saying "never".  If you've cleaved the global xenstored in
twain/trine/etc, then individual parts of it can shut down normally.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 17:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 17:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626566.976893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyEsp-0008Rd-6m; Wed, 01 Nov 2023 17:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626566.976893; Wed, 01 Nov 2023 17:19: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 1qyEsp-0008RW-4A; Wed, 01 Nov 2023 17:19:59 +0000
Received: by outflank-mailman (input) for mailman id 626566;
 Wed, 01 Nov 2023 17:19: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 1qyEsn-0008RM-LB; Wed, 01 Nov 2023 17:19: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 1qyEsn-0007gx-E4; Wed, 01 Nov 2023 17:19: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 1qyEsn-0007Aw-0D; Wed, 01 Nov 2023 17:19:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyEsm-00079x-Vy; Wed, 01 Nov 2023 17:19: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=PWdx50xTaBcQARwHFIq9PmUo4VpvStcdEm8EPIIkYzA=; b=1wdxIERqEq2Af4eCbnH9btjwB7
	s5b1khsVlwYCbfli+yKZiu/F0MxYjz5V7lUpDugDhetu+IysYkDzmgyIckW5ijpjge9d0o9wx3UtD
	neC1uD3QVHL3gvW1mDkrMHvPHWjCXiORHgtUJFIF1uUBLxXWFJknrckkUIXWoudG9RSE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183649-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183649: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=fbbbd984998d83cf6b69e9291336aefbac23396c
X-Osstest-Versions-That:
    ovmf=1b1509abee839b74d3232bbd6a256a1bdc230925
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Nov 2023 17:19:56 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 fbbbd984998d83cf6b69e9291336aefbac23396c
baseline version:
 ovmf                 1b1509abee839b74d3232bbd6a256a1bdc230925

Last test of basis   183646  2023-11-01 03:11:04 Z    0 days
Testing same since   183649  2023-11-01 15:41:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Sami Mujawar <sami.mujawar@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
   1b1509abee..fbbbd98499  fbbbd984998d83cf6b69e9291336aefbac23396c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 17:35:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 17:35:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626572.976904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyF8C-0005AI-IV; Wed, 01 Nov 2023 17:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626572.976904; Wed, 01 Nov 2023 17: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 1qyF8C-0005AB-Eh; Wed, 01 Nov 2023 17:35:52 +0000
Received: by outflank-mailman (input) for mailman id 626572;
 Wed, 01 Nov 2023 17:35: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 1qyF8A-00059z-Jz; Wed, 01 Nov 2023 17:35: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 1qyF8A-00086N-A3; Wed, 01 Nov 2023 17:35: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 1qyF89-0007bV-V0; Wed, 01 Nov 2023 17:35:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyF89-0005qt-UX; Wed, 01 Nov 2023 17:35: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=VgaEfB8e8YGj0Y/WYJPq4LIexEhccghNd9NN/SK/iWM=; b=xblDMn882F4KTXaZmgX3YHwW6P
	CDoe3NLjOoXeKODFgm7hcrAmWkTEaF0SAbaLTfWYnE1fAEtTVwBNdetNdVPwBqJfLZfhRTe9oCxTo
	xxOiIrEPvjOEd8nx5OPtsG9j40c5vBjb3aAlQB9LCif5RNGjk4KfKs6mC6RF44PqxwY4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183647-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183647: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=fb9df5396098d4dc9b1566fc1656c5c8a3da8684
X-Osstest-Versions-That:
    libvirt=9ca910488cf43ffeb18116c76afd278d3d3cada4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Nov 2023 17:35:49 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183567
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183567
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183567
 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-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 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-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              fb9df5396098d4dc9b1566fc1656c5c8a3da8684
baseline version:
 libvirt              9ca910488cf43ffeb18116c76afd278d3d3cada4

Last test of basis   183567  2023-10-28 04:22:26 Z    4 days
Testing same since   183647  2023-11-01 04:18:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   9ca910488c..fb9df53960  fb9df5396098d4dc9b1566fc1656c5c8a3da8684 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 17:51:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 17:51:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626579.976913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyFMf-0001Fq-Pr; Wed, 01 Nov 2023 17:50:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626579.976913; Wed, 01 Nov 2023 17: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 1qyFMf-0001Fj-NJ; Wed, 01 Nov 2023 17:50:49 +0000
Received: by outflank-mailman (input) for mailman id 626579;
 Wed, 01 Nov 2023 17:50: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 1qyFMe-0001FX-D3; Wed, 01 Nov 2023 17:50: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 1qyFMd-0008Ls-Uh; Wed, 01 Nov 2023 17:50: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 1qyFMd-0007zP-GV; Wed, 01 Nov 2023 17:50:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyFMd-0007eo-G5; Wed, 01 Nov 2023 17:50: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=/sLMFuE3ErvWIkHGEO2E/tVvbbi0D+eznbtv+ypFaig=; b=QquzvXCVwRQlvTRDrhRV5813SE
	77Zy9Ud2YJtxqfZAksFfHpHnOSj+nWRNZaUoBABiBhSlibZX6lrAA2WkFr4go06GQTPL1OFRdZ46q
	IOITtplLluckRKOLMHNpIVznzmWEqDInHAxsZJA9YLExTHOdI4AjRwTF5GqM2wUG2lgA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183645-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183645: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    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-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm: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-libvirt: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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-libvirt-qcow2:migrate-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
    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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c
X-Osstest-Versions-That:
    xen=9659b2a6d73b14620e187f9c626a09323853c459
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Nov 2023 17:50:47 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-vhd      13 guest-start         fail pass in 183650-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 183650 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 183650 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183640
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183640
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183640
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183640
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183640
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183640
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183640
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183640
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183640
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183640
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183640
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183640
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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          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-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-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-support-check fail never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-amd64-i386-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-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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c
baseline version:
 xen                  9659b2a6d73b14620e187f9c626a09323853c459

Last test of basis   183640  2023-10-31 16:08:52 Z    1 days
Testing same since   183645  2023-11-01 02:57:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Federico Serafini <federico.serafini@bugseng.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.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                              starved 
 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-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-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 :

To xenbits.xen.org:/home/xen/git/xen.git
   9659b2a6d7..7befef87cc  7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c -> master


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 18:31:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 18:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626599.976972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyG0M-00019c-HQ; Wed, 01 Nov 2023 18:31:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626599.976972; Wed, 01 Nov 2023 18: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 1qyG0M-00019V-EH; Wed, 01 Nov 2023 18:31:50 +0000
Received: by outflank-mailman (input) for mailman id 626599;
 Wed, 01 Nov 2023 18:31: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=R8ij=GO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qyG0L-00019P-EE
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 18:31:49 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ea2da68e-78e4-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 19:31:47 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-53e2308198eso129124a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 11:31: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: ea2da68e-78e4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698863507; x=1699468307; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=r35kq6aNpBPoiRm92FKmop6KGmCD9BwrUQdIpaY8jZw=;
        b=F9iIo0CGTn97/vI9GVCbpVsJm0uEKjvHK9tQlRk/0pSdi3pZKxJDowegt/NLqMF0cZ
         7OoWWWh37fAJpwADSOQJDf8hi39EK3jEFuUVpQdZ0ud52NcV3Yx2fB4AgRBsf3Z6ccnv
         ImAZ1KA7UG8sjYNoT9u6rfdO+5IS96Yo5YAGhgmqk2piIF9y7s/fkfcsiP7zfZ2VNPE1
         zosuNA9SAzwW/yFFip6678k/8nvOmknvKrYx+9zdmBEZSC+MR8aWgzziLsFcDwZB03md
         fg7TM7LFKzMHJsRe2QEfyvVf/vkx/yG9Cx4cqjOmB1yg+rQJ5mmzqGvbNLJe3cqYcjAV
         y6ng==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698863507; x=1699468307;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=r35kq6aNpBPoiRm92FKmop6KGmCD9BwrUQdIpaY8jZw=;
        b=YTDw5Akrd9tY38WkeEH7azfPWi3gJE2M5S+wOYnEkPIyFOFDWvhoPpb0aWtfRrmMnI
         fek4v1YEj11Qarh8wyiDr9s0ds73RGKj18+zEfUlXzGqc1jiSfuWiA+kWHjo3/D2j6oS
         DSb4Mj/E106aY8BGaNfMiCPXlqktAO2BKmKpRM+jz/vpH1kpj7RPljM+Wu32YxxhxDth
         BC4P8Zct5HCPg0giMGboTy5Y0Rlh6/84O9or8UlR3SUR3exi+4S88xGU/LxEQ05SmFWm
         MLhArNX69MFwg2QCPFyLZoEsMQyceozDYdqUoub/loo3F1S6b24R1IyZWxcm3C9LYS51
         amKA==
X-Gm-Message-State: AOJu0YzlXqP7tZVYLd2E9Zg+ds5/EXv4B+uhCX/zCbW/DFgfU4Ge3F06
	IYGqt13uX0ILG/h2tmXJijGJmYwHHQ87L8B8dva01AU+
X-Google-Smtp-Source: AGHT+IH3ONEnch0NVpVjsgxvkQKgrBOX0QE/dgh7uhUY1AMpbY3KbxI7cQjWJdfNsAN9s6paaZRMPII88EVcvhTp/fE=
X-Received: by 2002:a05:6402:54f:b0:53f:a4f7:7bfb with SMTP id
 i15-20020a056402054f00b0053fa4f77bfbmr12397312edx.17.1698863506524; Wed, 01
 Nov 2023 11:31:46 -0700 (PDT)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-2-jgross@suse.com>
In-Reply-To: <20231101093325.30302-2-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 1 Nov 2023 14:31:33 -0400
Message-ID: <CAKf6xpurEpafOr=UkDhK=5yQs+j3Og0ar6ixGNoRcz6KZt+9LA@mail.gmail.com>
Subject: Re: [PATCH 01/29] xen/public: add some more 9pfs xenstore paths
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 7:24=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add some optional additional backend paths for 9pfs PV devices. Those
> paths will be supported by the new xenlogd 9pfs backend.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  xen/include/public/io/9pfs.h | 34 ++++++++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
>
> diff --git a/xen/include/public/io/9pfs.h b/xen/include/public/io/9pfs.h
> index 9ad2773082..ac4bf0434b 100644
> --- a/xen/include/public/io/9pfs.h
> +++ b/xen/include/public/io/9pfs.h
> @@ -71,6 +71,40 @@
>   *                 created on the guest (no user ownership squash or rem=
ap)
>   *         Only "none" is supported in this version of the protocol.
>   *
> + *    max-files
> + *         Values:        <uint32_t>
> + *
> + *         The maximum number of files (including directories) allowed f=
or
> + *         this device. Backend support of this node is optional. If the=
 node
> + *         is not present or the value is zero the number of files is no=
t
> + *         limited.
> + *
> + *    max-open-files
> + *         Values:        <uint32_t>
> + *
> + *         The maximum number of files the guest is allowed to have open=
ed
> + *         concurrently. Multiple concurrent opens of the same file are =
counted
> + *         individually. Backend support of this node is optional. If th=
e node
> + *         is not present or the value is zero a backend specific defaul=
t is
> + *         applied.
> + *
> + *    max-space
> + *         Values:        <uint32_t>
> + *
> + *         The maximum file space in MiBs the guest is allowed to use fo=
r this
> + *         device. Backend support of this node is optional. If the node=
 is
> + *         not present or the value is zero the space is not limited.
> + *
> + *    auto-delete
> + *         Values:        <bool>
> + *
> + *         When set to "1" the backend will delete the file with the old=
est
> + *         modification date below <path> in case the allowed maximum fi=
le
> + *         space (see <max-space>) or file number (see <max-files>) is b=
eing
> + *         exceeded due to guest activity (creation or extension of file=
s).
> + *         Files currently opened by the guest won't be deleted. Backend
> + *         support of this node is optional.
> + *

These seem reasonable, but it looks like xenlogd only implements
max-open-files.  They are all marked optional, so I guess it's okay to
include them.  Is there a plan to implement them?  Maybe hold off
until an implementation comes along?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 18:34:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 18:34:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626602.976983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyG2l-0002Nf-Ur; Wed, 01 Nov 2023 18:34:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626602.976983; Wed, 01 Nov 2023 18: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 1qyG2l-0002NY-QX; Wed, 01 Nov 2023 18:34:19 +0000
Received: by outflank-mailman (input) for mailman id 626602;
 Wed, 01 Nov 2023 18:34: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 1qyG2k-0002NS-KX
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 18:34: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 1qyG2k-00015F-6T; Wed, 01 Nov 2023 18:34:18 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234] helo=[10.95.171.35])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qyG2k-0001tC-10; Wed, 01 Nov 2023 18: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=2Adt2NmpNNgjOCwWSF7+q/eS2YQ4pS0NCKJxjFBT638=; b=wgtzeJ/ioPiI9qaYAIDFXYlClJ
	5BnTAPeUw2REM9kAL2uNsBZjM4et0Nsz/voRiI2M2rXZg36ic0mD01YLjy5G3qYMjVbnqRhcM/Hrb
	gd7NjVHJuVb7NoCM9GoJll2hF6OHAYCDBAAXoj6K+b7JQHHRfj3RtK+Lfw1sHhXyxOvc=;
Message-ID: <fcc12d0f-5529-4f2a-a721-f6f92410e5b7@xen.org>
Date: Wed, 1 Nov 2023 18:34:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 8/8] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Penny Zheng <penny.zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <wei.chen@arm.com>
References: <20231023021345.1731436-1-Henry.Wang@arm.com>
 <20231023021345.1731436-9-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231023021345.1731436-9-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 23/10/2023 03:13, Henry Wang wrote:
> From: Penny Zheng <penny.zheng@arm.com>
> 
> Current P2M implementation is designed for MMU system only.
> We move the MMU-specific codes into mmu/p2m.c, and only keep generic
> codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
> definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
> Also expose previously static functions p2m_vmid_allocator_init(),
> p2m_alloc_vmid() for further MPU usage. Since with the code movement
> p2m_free_vmid() is now used in two files, also expose p2m_free_vmid().
> 
> With the code movement, global variable max_vmid is used in multiple
> files instead of a single file (and will be used in MPU P2M
> implementation), declare it in the header and remove the "static" of
> this variable.
> 
> Also, since p2m_invalidate_root() should be MMU only and after the
> code movement the only caller of p2m_invalidate_root() outside of
> mmu/p2m.c is arch_domain_creation_finished(), creating a new function
> named p2m_domain_creation_finished() in mmu/p2m.c for the original
> code in arch_domain_creation_finished(), and marking
> p2m_invalidate_root() as static.
> 
> Take the opportunity to fix the incorrect coding style when possible.
> When there is bit shift in macros, take the opportunity to add the
> missing 'U' as a compliance of MISRA.
> 
> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
> Signed-off-by: Wei Chen <wei.chen@arm.com>
> Signed-off-by: Henry Wang <Henry.Wang@arm.com>

Acked-by: Julien Grall <jgrall@amazon.com>

I think the series is now fully acked. But I will wait for 4.18 to be 
released before merging this series.

Please remind me in a couple of weeks time if I forgot to merge it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 18:37:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 18:37:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626606.976992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyG5J-00035t-99; Wed, 01 Nov 2023 18:36:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626606.976992; Wed, 01 Nov 2023 18: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 1qyG5J-00035m-6S; Wed, 01 Nov 2023 18:36:57 +0000
Received: by outflank-mailman (input) for mailman id 626606;
 Wed, 01 Nov 2023 18:36: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=R8ij=GO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qyG5I-00035c-9d
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 18:36:56 +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 a12fdb47-78e5-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 19:36:54 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-540fb78363bso154219a12.0
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 11:36: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: a12fdb47-78e5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698863814; x=1699468614; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vnQ1Uat/eoRhOsQp63qB+6Ne4cXLGT+Er+2OYLyl6+Q=;
        b=QUZJyOBJbTh7QKDYOpb2K5qGz1OBkxYX3j16mTDvVDXW5mXLE4TZxfDcQI1TWsmjO2
         QzFiyJXgs7/tUt2LmI9i2tLUxMXmvFAWzfVxzs/k/VBrbwPr+MTK1owSHk9lppTkKtjo
         B8uufUZVBC9v7iuRsI916TAcuxPCNKlUbU0rF5nGmmKveHUimKL/DRChPabXiw79l/K8
         95jzzFfzPQW3KYmQKKObdqMzsB5y/h9HJR+fwFiBbaBvaioLvI1ii4d6Np2Ojn+NOz+5
         8HSb2+jTB8fKHCV6OWPYFApyA7Xfb/vZEXPRU67g2hKKiWvDcwUnHIXq4U51wx1c+fUG
         kHvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698863814; x=1699468614;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vnQ1Uat/eoRhOsQp63qB+6Ne4cXLGT+Er+2OYLyl6+Q=;
        b=gqPssGQ8R26cdNs45xFUc7kQ665ElajhdTCMvpgir/ibY5ddfSGkUVTDZZNL1qZH09
         O5wweu+dKaPEB5Zji5IZdHDBh0Y4y4P3v0awGk7WgCVl3uKKjuzdpDA+D1uNnxzZZ1Ys
         xqghL2khR1ZWAcBh8aiICZk3ZiuNXylf/UgH6bkWxCnPtc8eL8zBWJwbuMOcmHQfhlgs
         mHzYvmjM+5WdUdB5bqrrwECiW/T+9fwaKzh16MXKhW1GQDagGiBRoS0o61GqQuDCw+b/
         GPD5+4XhLgmJXqegoVGBSeKp32szmokKwTTlIHgAkw1V/xadJJXrsmt8cH2TTR0CVjG1
         Hm+A==
X-Gm-Message-State: AOJu0YwB5vXrksnBdEaFhlZduDuwQZRyLhcdzwmOkxUihnzfLztzsuXI
	SpKPurS+Ptnzfp6YDv+cV6Rjv9f6Iqcxb7EJTD8=
X-Google-Smtp-Source: AGHT+IF2MXjhJO2qjjV+d9S9tO0ZH2YqyA+/RB+xxngZoK5kIqP9imhQH0oXys819ExjO/cwaq3pgqsBgG3Isvgsnkg=
X-Received: by 2002:a50:9358:0:b0:543:7812:63cd with SMTP id
 n24-20020a509358000000b00543781263cdmr4055199eda.17.1698863813548; Wed, 01
 Nov 2023 11:36:53 -0700 (PDT)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-3-jgross@suse.com>
In-Reply-To: <20231101093325.30302-3-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 1 Nov 2023 14:36:41 -0400
Message-ID: <CAKf6xpt6LwSB2QaCnW7MvKJWq5rkR6qoFEG4ZCKVqv3MKeMMuQ@mail.gmail.com>
Subject: Re: [PATCH 02/29] tools: add a new xen logging daemon
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 10:27=E2=80=AFAM Juergen Gross <jgross@suse.com> wro=
te:
>
> Add "xenlogd", a new logging daemon meant to support infrastructure
> domains (e.g. xenstore-stubdom) to write log files in dom0.

As I understand it, your new daemon is a generic 9pfs backend, which
you use for logging.  I think naming it something like xen9pfsd would
more accurately describe its functionality.

> For now only add the code needed for starting the daemon and
> registering it with Xenstore via a new "/tool/xenlog/state" node by
> writing the "running" state to it.

To support driver domain use cases, I think you want to use a relative
Xenstore path.  While this daemon is independent from libxl, it might
be easiest to use "libxl/xenlog/" ("libxl/xen9pfs/") to take advantage
of driver domains having a read-write "libxl/" directory.

> Signed-off-by: Juergen Gross <jgross@suse.com>

The code looks good to me.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 18:42:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 18:42:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626611.977001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyGAa-0004Xu-Rx; Wed, 01 Nov 2023 18:42:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626611.977001; Wed, 01 Nov 2023 18:42: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 1qyGAa-0004Xn-PW; Wed, 01 Nov 2023 18:42:24 +0000
Received: by outflank-mailman (input) for mailman id 626611;
 Wed, 01 Nov 2023 18:42: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 1qyGAZ-0004Xh-00
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 18:42: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 1qyGAY-0001Fg-Fo; Wed, 01 Nov 2023 18:42:22 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234] helo=[10.95.171.35])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qyGAY-0002FT-99; Wed, 01 Nov 2023 18:42: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=9ZJy9dJgc7ELq9aSstnooVKsivoGZIydLSWX968Xm30=; b=Kgm7JQdkvrvU0fq5zvl6AVNaVz
	jrkep+aSSXdo+TNAbpTyVzH27SY7nuO0O0obYljECZnuf75XxrOHiyv05VA1r6Ssm9jbR4tGPNaRd
	mK0lwplyaZPvVykxhgxiGUyizi30bm3QfdIR07b8DRqtO90Hxcf5AZ6UDVxe+tWp7jbk=;
Message-ID: <22d8c9dc-9356-4274-a372-066e072ac764@xen.org>
Date: Wed, 1 Nov 2023 18:42:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] xen/arm: Add asm/domain.h include to kernel.h
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@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: <20230927140133.631192-1-luca.fancellu@arm.com>
 <20230927140133.631192-3-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230927140133.631192-3-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 27/09/2023 15:01, Luca Fancellu wrote:
> The 'enum domain_type' is defined by 'asm/domain.h' which is not
> included (directly or indirectly) by 'asm/kernel.h'.
> 
> This currently doesn't break the compilation because asm/domain.h will
> included by the user of 'kernel.h'. But it would be better to avoid
> relying on it. So add the include in 'asm/domain.h'.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 18:51:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 18:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626615.977012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyGJC-000735-MV; Wed, 01 Nov 2023 18:51:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626615.977012; Wed, 01 Nov 2023 18:51: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 1qyGJC-00072y-Jq; Wed, 01 Nov 2023 18:51:18 +0000
Received: by outflank-mailman (input) for mailman id 626615;
 Wed, 01 Nov 2023 18:51: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 1qyGJC-00072s-15
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 18:51: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 1qyGJB-0001Pd-Gk; Wed, 01 Nov 2023 18:51:17 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234] helo=[10.95.171.35])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qyGJB-0002W5-9y; Wed, 01 Nov 2023 18:51: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:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=6dcS1j9HYq9c/byVQGW4O8OE5kylsF635B+I5wI8WNU=; b=zZDSLuyu6z7WIlJrx6yNq+BGrS
	v5jQOJaXgdeEGrQ3TwPwt2sYEyNZlRsR0nn8CEoDa8OyKf/VuEP0f2XX4q9Q2hALgAA1E0+uQf8QF
	yTQqWu1jntRE24oBtxaeSeAo1lHK6fQHa7eHGZYNU0qDPDtNvddAz5Kd1oxFzREBnges=;
Message-ID: <ac71e580-3d81-4024-b19c-d3d954df5948@xen.org>
Date: Wed, 1 Nov 2023 18:51:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Content-Language: en-GB
To: Luca Fancellu <luca.fancellu@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: <20230927140133.631192-1-luca.fancellu@arm.com>
 <20230927140133.631192-4-luca.fancellu@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20230927140133.631192-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Luca,

On 27/09/2023 15:01, Luca Fancellu wrote:
> Currently the dom0less feature code is mostly inside domain_build.c
> and setup.c, it is a feature that may not be useful to everyone so
> put the code in a different compilation module in order to make it
> easier to disable the feature in the future.
> 
> Move gic_interrupt_t in domain_build.h to use it with the function
> declaration, move its comment above the declaration.
> 
> The following functions are now visible externally from domain_build
> because they are used also from the dom0less-build module:
>   - get_allocation_size
>   - set_interrupt
>   - domain_fdt_begin_node
>   - make_memory_node
>   - make_resv_memory_node
>   - make_hypervisor_node
>   - make_psci_node
>   - make_cpus_node
>   - make_timer_node
>   - handle_device_interrupts
>   - construct_domain
>   - process_shm
> 
> The functions allocate_static_memory and assign_static_memory_11
> are now externally visible, so put their declarations into
> domain_build.h and move the #else and stub definition in the header
> as well.
> 
> Move is_dom0less_mode from setup.c to dom0less-build.c and make it
> externally visible.
> 
> Where spotted, fix code style issues.
> 
> No functional change is intended.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>   xen/arch/arm/Makefile                     |    1 +
>   xen/arch/arm/dom0less-build.c             | 1087 ++++++++++++++++++
>   xen/arch/arm/domain_build.c               | 1276 ++-------------------
>   xen/arch/arm/include/asm/dom0less-build.h |   25 +
>   xen/arch/arm/include/asm/domain_build.h   |   58 +
>   xen/arch/arm/include/asm/setup.h          |    1 -
>   xen/arch/arm/setup.c                      |   33 +-
>   7 files changed, 1288 insertions(+), 1193 deletions(-)
>   create mode 100644 xen/arch/arm/dom0less-build.c
>   create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
> 
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 81c31c36fc3d..70dd7201ef30 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -15,6 +15,7 @@ obj-y += cpufeature.o
>   obj-y += decode.o
>   obj-y += device.o
>   obj-$(CONFIG_IOREQ_SERVER) += dm.o
> +obj-y += dom0less-build.init.o
>   obj-y += domain.o
>   obj-y += domain_build.init.o
>   obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
> new file mode 100644
> index 000000000000..dc9c90cf00a7
> --- /dev/null
> +++ b/xen/arch/arm/dom0less-build.c
> @@ -0,0 +1,1087 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +/*
> + * xen/arch/arm/dom0less-build.c
> + *
> + * Code related to the dom0less functionality
> + *
> + * Copyright (C) 2023 Arm Ltd.

This feels a bit odd to add your copyright here. It sounds like Arm 
wrote all the code, but you only moved. That said, I am not a lawyer.

> + */
> +
> +#include <xen/device_tree.h>
> +#include <xen/err.h>
> +#include <xen/event.h>
> +#include <xen/grant_table.h>
> +#include <xen/iocap.h>
> +#include <xen/libfdt/libfdt.h>
> +#include <xen/sched.h>
> +#include <xen/serial.h>
> +#include <xen/sizes.h>
> +#include <xen/vmap.h>
> +
> +#include <asm/arm64/sve.h>
> +#include <asm/dom0less-build.h>
> +#include <asm/domain_build.h>
> +
> +bool __init is_dom0less_mode(void)
> +{
> +    struct bootmodules *mods = &bootinfo.modules;
> +    struct bootmodule *mod;
> +    unsigned int i;
> +    bool dom0found = false;
> +    bool domUfound = false;
> +
> +    /* Look into the bootmodules */
> +    for ( i = 0 ; i < mods->nr_mods ; i++ )
> +    {
> +        mod = &mods->module[i];
> +        /* Find if dom0 and domU kernels are present */
> +        if ( mod->kind == BOOTMOD_KERNEL )
> +        {
> +            if ( mod->domU == false )
> +            {
> +                dom0found = true;
> +                break;
> +            }
> +            else
> +                domUfound = true;
> +        }
> +    }
> +
> +    /*
> +     * If there is no dom0 kernel but at least one domU, then we are in
> +     * dom0less mode
> +     */
> +    return ( !dom0found && domUfound );
> +}
> +
> +static bool __init allocate_bank_memory(struct domain *d,
> +                                        struct kernel_info *kinfo,
> +                                        gfn_t sgfn,
> +                                        paddr_t tot_size)

I understand that this is today only used by domUs. However, we could 
technically use it for allocating dom0 memory if it is not 1:1.

So I think this function should stay in domain_build.c.

The rest of the code movement looks alright to me.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 19:21:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 19:21:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626622.977042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyGmD-0005bo-FG; Wed, 01 Nov 2023 19:21:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626622.977042; Wed, 01 Nov 2023 19:21: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 1qyGmD-0005bh-Bh; Wed, 01 Nov 2023 19:21:17 +0000
Received: by outflank-mailman (input) for mailman id 626622;
 Wed, 01 Nov 2023 19:21: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=uHih=GO=citrix.com=prvs=662d42e6f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qyGmB-0005LP-Om
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 19:21:15 +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 d2f092c5-78eb-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 20:21:14 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2f092c5-78eb-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1698866474;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=Y4mUXFwEkYVV4PPcEwyjahUDfbyqiOJzsv7ADOUi+tI=;
  b=HZI4gRZyooFiHBoucUJueaOB74xKS6T8uht5HP1ekxdh3/wF+W7MBD6R
   Sw1f5KOSa3kZFLfNfIocr9OyIBZQ43nRtIDyLrgg4mWlpUPnuc2HyWSmm
   qyPm1cNxPUhtB1NRjdplTSVXHSfHDlhFrmkdAK2rKflbZCxST4HdF0S/S
   s=;
X-CSE-ConnectionGUID: Gul5WXPuT/mnsoAh0qSvvQ==
X-CSE-MsgGUID: Ocga0upYTMWL6C4tl9Gy+A==
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 130083863
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:zh75Aa9pgIP2QHgt6eYoDrUDcH6TJUtcMsCJ2f8bNWPcYEJGY0x3m
 2sWDGnXO/bbN2Lyfd5+PY6/8B8HuZDUmt9kSQU+rCA8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjVAOK6UKidYnwZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ks01BjOkGlA5AdnPKgS5AS2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklh6
 PhFFwA1cyzEguStx5u7EvBXmNoaeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUWGPEUn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwOxh7I/
 TKYpAwVBDk9P9OWkSedw06JucuRtn/nXNM9Bf6Ro6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0WsFQEuwgwA7Lx6HfpRvcGm8HXzkHYddgttdebR4A2
 0KNntjpLSdyq7DTQnWYnp+LqRuiNC5TKnUNDQcGUA1D5dDgqYMyixvnT9B/HarzhdrwcRnzz
 i6Lqm4ihrwVpc8Ny6i/u1vAhlqEupHMRxUd+gbTU2Sq/w59IoWiYuSA8lja6/9oIY2SCETEo
 H8His/Y5etID4nlqcCWaLxTRvfzva/DaWCNxwE3d3U8y9iz01G+ed1v0AljGABsNN0DUD+xe
 XTNpzoEsfe/I0CWgb9Lj5OZUpp7nfi5TYy/Bpg4ffIUPMItKlXvEDVGIB7IhT6wyiDAhIlmY
 c/DGftAG0r2HkiOINCebOAH2Ltj/TgkxGXcXvgXJDz8iuLBPRZ5pVofWWZij9zVD4ve+205C
 /4Fa6O3J+x3CYUSmBX//48JNkwtJnMmH53woME/Xrfdc1o2Rjp/VaGBmONJl2lZc0N9z7mgw
 51AchYFkwSXaYPvcm1mlUyPmJuwBM0i/BrXzAQnPEqy2mhLXLtDGJw3LsNtFZF+rbwL8BKBZ
 6VdEyl2KqgVG2uvFvV0RcWVkbGOgzzx1VzRZHf5MWRjF3OiLiSQkuLZksLU3HFmJkKKWQEW+
 tVMCiuzrUI/ejlf
IronPort-HdrOrdr: A9a23:pLFJka5eB7qgJqGoMgPXwP7XdLJyesId70hD6qm+c20zTiX+rb
 HXoB17726MtN91YhodcL+7VJVoLUmyyXcX2/hzAV7BZmjbUQKTRekJgLcKpQeQeREWndQy6U
 4PSdkbNPTASXR8kMbm8E2ZPr8bsb+6GdiT5ds2Fk0dKD1XVw==
X-Talos-CUID: =?us-ascii?q?9a23=3A8eUugGhnWThP9kjRsK0n3O1QxDJuXWDZkUjgG1K?=
 =?us-ascii?q?ETmNvU7q8SQeJw716qp87?=
X-Talos-MUID: 9a23:0jps1AbS76HDFeBTkDTjjWl/LPZUxpuKVmtRjZFXlNjHHHkl
X-IronPort-AV: E=Sophos;i="6.03,269,1694750400"; 
   d="scan'208";a="130083863"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Reima ISHII
	<ishiir@g.ecc.u-tokyo.ac.jp>, Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>, Tamas K Lengyel <tamas@tklengyel.com>, "Takahiro
 Shinagawa" <shina@ecc.u-tokyo.ac.jp>
Subject: [PATCH 1/2] x86/vmx: Fix IRQ handling for EXIT_REASON_INIT
Date: Wed, 1 Nov 2023 19:20:57 +0000
Message-ID: <20231101192058.3419310-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231101192058.3419310-1-andrew.cooper3@citrix.com>
References: <20231101192058.3419310-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

When receiving an INIT, a prior bugfix tried to ignore the INIT and continue
onwards.

Unfortunately it's not safe to return at that point in vmx_vmexit_handler().
Just out of context in the first hunk is a local_irqs_enabled() which is
depended-upon by the return-to-guest path, causing the following checklock
failure in debug builds:

  (XEN) Error: INIT received - ignoring
  (XEN) CHECKLOCK FAILURE: prev irqsafe: 0, curr irqsafe 1
  (XEN) Xen BUG at common/spinlock.c:132
  (XEN) ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:     H  ]----
  ...
  (XEN) Xen call trace:
  (XEN)    [<ffff82d040238e10>] R check_lock+0xcd/0xe1
  (XEN)    [<ffff82d040238fe3>] F _spin_lock+0x1b/0x60
  (XEN)    [<ffff82d0402ed6a8>] F pt_update_irq+0x32/0x3bb
  (XEN)    [<ffff82d0402b9632>] F vmx_intr_assist+0x3b/0x51d
  (XEN)    [<ffff82d040206447>] F vmx_asm_vmexit_handler+0xf7/0x210

Luckily, this is benign in release builds.  Accidentally having IRQs disabled
when trying to take an IRQs-on lock isn't a deadlock-vulnerable pattern.

Move the INIT handling into the main switch statement.  In hindsight, it's
wrong to skip other normal VMExit steps.

Fixes: b1f11273d5a7 ("x86/vmx: Don't spuriously crash the domain when INIT is received")
Reported-by: Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>
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: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: Tamas K Lengyel <tamas@tklengyel.com>
CC: Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>
CC: Takahiro Shinagawa <shina@ecc.u-tokyo.ac.jp>

With this patch in place, the INIT is ignored and the guest continues:

  (XEN) HVM1 restore: CPU 0
  (d1) --- Xen Test Framework ---
  (d1) Environment: HVM 64bit (Long mode 4 levels)
  (XEN) Error: INIT received - ignoring
  (d1) Test result: SUCCESS
---
 xen/arch/x86/hvm/vmx/vmx.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 1edc7f1e919f..d26920d03bbc 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -4097,10 +4097,6 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
     case EXIT_REASON_MCE_DURING_VMENTRY:
         do_machine_check(regs);
         break;
-
-    case EXIT_REASON_INIT:
-        printk(XENLOG_ERR "Error: INIT received - ignoring\n");
-        return; /* Renter the guest without further processing */
     }
 
     /* Now enable interrupts so it's safe to take locks. */
@@ -4390,6 +4386,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
     case EXIT_REASON_TRIPLE_FAULT:
         hvm_triple_fault();
         break;
+
+    case EXIT_REASON_INIT:
+        /* TODO: Turn into graceful shutdown. */
+        printk(XENLOG_ERR "Error: INIT received - ignoring\n");
+        break;
+
     case EXIT_REASON_PENDING_VIRT_INTR:
         /* Disable the interrupt window. */
         v->arch.hvm.vmx.exec_control &= ~CPU_BASED_VIRTUAL_INTR_PENDING;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 19:21:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 19:21:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626621.977032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyGmC-0005MG-7q; Wed, 01 Nov 2023 19:21:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626621.977032; Wed, 01 Nov 2023 19:21: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 1qyGmC-0005M9-54; Wed, 01 Nov 2023 19:21:16 +0000
Received: by outflank-mailman (input) for mailman id 626621;
 Wed, 01 Nov 2023 19:21: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=uHih=GO=citrix.com=prvs=662d42e6f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qyGmB-0005LP-0U
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 19:21:15 +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 d0919900-78eb-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 20:21:13 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0919900-78eb-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1698866473;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=lKvIKTnsdQD5eDC393E+y1U+oFFJhAocN+H+DFLWIu8=;
  b=XfUij1utnJPYFUQaivf9pAy1tD59AQ5T16p+DhYRnCpvWxLZqh5pJC7r
   wRVfEKnru7J2DqMqqsK1AhFvyuYXHIEPO2b9YkFxPtdvYSsQmWjY8MGSU
   pOvD7by77SR3RsBrIFiibNjv8K2MGPXWdnuJeuFrTUr86cWgkeyV5bBcP
   Q=;
X-CSE-ConnectionGUID: Gul5WXPuT/mnsoAh0qSvvQ==
X-CSE-MsgGUID: j0/BEMSTQEq9tpI9hxcP6Q==
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 130083861
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:3lm5565GIWjLWlqhC7Zu9gxRtMjHchMFZxGqfqrLsTDasY5as4F+v
 mQYUT2AbP3YMTTxL9klPY3gpEgA7ZPQn9c2SAZs/C83Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRG/ykTraCY3gtLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU355wehBtC5gZlPKkT5QeF/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m2
 uEcdQ89Vg2/wOew27WSSrF1vdo9FZy+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmRJUIXUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0MxR7A9
 jmWoT2R7hcyNoTY4xegyU6Vq/aegTvaCYICH4Xmz6s/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c/h6HvA+6QqN4rHJ+AvfDW8BJhZebPQ2uclwQiYlv
 neLgtWvAzVsub+UTHu197GIoDf0Mi8QRUcBaDEFS00Z4tDliIA1kh/LCN1kFcadktTwECrY3
 zOOoS4xlrgXy8UM0s2T/EvHgjO2jpePQwU+oBiSQmWm/wQ/bYXjZZTAwUPb7PBJBIuSRR+c+
 WQDmNmZqukFS5OV/BFhW81UQuvvvazcdmSB0BgwR/HN6ghB5VaMYIQN3wFGOXsuN8AffhbpO
 Fbopx1osco70GSRUUNnX26gI510nPiwTIy9DKC8gslmOMYrKFHdlM16TQvAhzqzzRJEfbQXY
 M/DKa6R4WAm5bOLJdZcb8way7Yvjhsm32LVSouTI/+PiuHGOyf9pVvoKjKzggEFAECs+l69H
 y53bZfi9vmmeLSWjtPr2YASN0sWCnMwGIr7rcdaHsbafFs2SD96VaGPkepxE2CAo0iyvr6Wl
 kxRp2cBlQGh7ZE5AV7iho9fhEPHAs8k8CNT0d0ENle0wXkzCbuSAFMkX8JvJ9EPrbUzpcOYu
 tFZI61s9NwTEGWYk9ncBLGhxLFfmOOD31LQYHH4PGljI/aNhWXho7fZQ+cmzwFWZgLfiCf0i
 +TIOt/zKXbbezlfMQ==
IronPort-HdrOrdr: A9a23:sLusGaElKKjX/LQTpLqE3seALOsnbusQ8zAXPo5KOHtom6uj5r
 iTdZUgpGbJYVMqM03I9urtBEDtexzhHP1OkOos1NWZPTUO0VHAROsO0WKF+UyDJ8SUzIBgPM
 lbAsxDIey1IV9mjdvrpCmUeuxQpuVviJrJuQ4G9QYJcT1X
X-Talos-CUID: 9a23:ZDl/9W4FbPI6cQCDLdss21MQR/8VSmDhi3LWOEiRCT5wc6OLcArF
X-Talos-MUID: 9a23:elACNgjWMjIY4XelIEidsMMpNp8vyYmLM3w0vIxXp9GlZCxgMA/DtWHi
X-IronPort-AV: E=Sophos;i="6.03,269,1694750400"; 
   d="scan'208";a="130083861"
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>, Jun Nakajima
	<jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, Tamas K Lengyel
	<tamas@tklengyel.com>, Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>, "Takahiro
 Shinagawa" <shina@ecc.u-tokyo.ac.jp>
Subject: [PATCH 0/2] x86/vmx: Multiple fixes
Date: Wed, 1 Nov 2023 19:20:56 +0000
Message-ID: <20231101192058.3419310-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Fixes for two bugs initially reported to the Xen Security Team, but determined
not have an impact in security-supported configurations.

The Xen Security Team would like to thank Ishiisan for engaging in responsible
disclsoure.

As a reminder to the rest of the Xen community, please do ask you're not sure.

Andrew Cooper (2):
  x86/vmx: Fix IRQ handling for EXIT_REASON_INIT
  x86/vmx: Disallow the use of inactivity states

 xen/arch/x86/hvm/vmx/vmx.c              | 12 ++++++------
 xen/arch/x86/hvm/vmx/vvmx.c             |  9 +++++++--
 xen/arch/x86/include/asm/hvm/hvm.h      |  5 ++++-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h |  1 +
 4 files changed, 18 insertions(+), 9 deletions(-)

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 19:21:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 19:21:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626619.977022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyGm5-00055z-Ty; Wed, 01 Nov 2023 19:21:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626619.977022; Wed, 01 Nov 2023 19: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 1qyGm5-00055s-RK; Wed, 01 Nov 2023 19:21:09 +0000
Received: by outflank-mailman (input) for mailman id 626619;
 Wed, 01 Nov 2023 19:21: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=uHih=GO=citrix.com=prvs=662d42e6f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qyGm4-000558-Pk
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 19:21:08 +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 cc8cf3de-78eb-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 20:21:05 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc8cf3de-78eb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1698866465;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=dAjtVuXr4bnN1ScuGLWOR+3Nub1lnq5/xnQrcyf0VXU=;
  b=B8J4zAhQjdhHtjHVyAMuMFwn5xTfC6gBscj10/gwkXn6sojNin7u8nLo
   yqSAnr1MzLx/5F7Lp/cg0pARDJ5SJ+5RxIYpGcWStev1rZnyEH2OVLGPX
   l4ZRDO+7zCTAkWSLgctNz7GDpXRhc/Ns/bh5I21eLgOc7s53FT7ik3zfD
   o=;
X-CSE-ConnectionGUID: PJy6mrjzSPeeXLTAFYLeTg==
X-CSE-MsgGUID: Q3wW79OkSSmHYeywlHBNNw==
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127288895
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:cjzQnKnDAytAOavKIVUO9u/o5gxxJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIeC26EPfnfYDagc9ElYd6zpEMB6JDSmtMyQAs/qi1mEyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+e6UKicfHkpGWeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K+aVA8w5ARkPqkS5AaGzBH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 cQ6OW4IdBKRvNq7zYKfdsBCt+AuEMa+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dMlsQYj/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xxzH/
 DKWrzWkav0cHOXE1gXao1WvvdTKvRL2SZ0WNJee0OE/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JRCO076RulxezZ6A3fGy0YST1Qb5ovv4k0XVQC9
 HWEgtfoDjxHq6CORDSW8bL8hSy2ETgYKykFfyBsZQkY5Z/lqYI6jBPKR/5iFrK4ipv+HjSY6
 zOHsik4wakShMgj1qOn8FSBiDWpzrDVRws8/S3LXWao6AxoaYrjbIutgXDA7fdGJa6URVLHo
 T0YnMuP66YHBtePjESwrP4lRe/zoazfaXuF3A8pQMFJGymRF2CLRaJBvjRkJlVSCssJSRvVS
 WHinQ5t68oGVJe1VpObc75dGuxzk/mwRY29DqqEBjZdSsIvLlPZpkmCcWbVjzi3zhV2+U0qE
 c7DKZ7EMJoMNUhwINNarc821qUiwmgF3XnSQ5/gp/hM+eHFPCHMIVvp3UHnUwzY0E9niF+Om
 zqnH5HWoyizqcWnCsUtzaYdLEoRMV8wDo3spspce4are1Q3SDF/UKGPn+N4K+SJepi5cc+Ro
 BmAtrJwkQek2xUr1y3RApycVF8fdckm9i9qVcDdFV2px2Iice6S0UvrTLNuJeNP3LU6nZZJo
 wwtJ53o7gJnFm6WpFzwrPDV8ORfSfhcrVjeYXX+PWRuI8IIqs6g0oaMQzYDPRImVkKf3fbSa
 ZX6vu8HafLvnzhfMfs=
IronPort-HdrOrdr: A9a23:Da7T7qpVQNxya6sukAye3eQaV5odeYIsimQD101hICG9vPbo8P
 xG+85rrSMc6QxhIU3I/OrqBEDuex/hHPJOjrX5Xo3SPzUO2lHIEGgK1+KLqVDd8kvFh4xgPM
 xbHZSWZueAaWRSvILX5xS5DsZl4PTvytHPuQ6n9RdQpNhRGsRd0zs=
X-Talos-CUID: 9a23:fQHlF2671YPEkamuqNsszGwFRMU/cG/m9HrdE2uEIEhYbLCpRgrF
X-Talos-MUID: 9a23:3qGD/grZ5bFoSQhqmzUezwg5K/g3soOtM3sIsaQLqtaAFQZWHSjI2Q==
X-IronPort-AV: E=Sophos;i="6.03,269,1694750400"; 
   d="scan'208";a="127288895"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Reima ISHII
	<ishiir@g.ecc.u-tokyo.ac.jp>, Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>, Tamas K Lengyel <tamas@tklengyel.com>, "Takahiro
 Shinagawa" <shina@ecc.u-tokyo.ac.jp>
Subject: [PATCH 2/2] x86/vmx: Disallow the use of inactivity states
Date: Wed, 1 Nov 2023 19:20:58 +0000
Message-ID: <20231101192058.3419310-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231101192058.3419310-1-andrew.cooper3@citrix.com>
References: <20231101192058.3419310-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Right now, vvmx will blindly copy L12's ACTIVITY_STATE into the L02 VMCS and
enter the vCPU.  Luckily for us, nested-virt is explicitly unsupported for
security bugs.

The inactivity states are HLT, SHUTDOWN and WAIT-FOR-SIPI, and as noted by the
SDM in Vol3 27.7 "Special Features of VM Entry":

  If VM entry ends with the logical processor in an inactive activity state,
  the VM entry generates any special bus cycle that is normally generated when
  that activity state is entered from the active state.

Also,

  Some activity states unconditionally block certain events.

I.e. A VMEntry with ACTIVITY=SHUTDOWN will initiate a platform reset, while a
VMEntry with ACTIVITY=WAIT-FOR-SIPI will really block everything other than
SIPIs.

Both of these activity states are for the TXT ACM to use, not for regular
hypervisors, and Xen doesn't support dropping the HLT intercept either.

There are two paths in Xen which operate on ACTIVITY_STATE.

1) The vmx_{get,set}_nonreg_state() helpers for VM-Fork.

   As regular VMs can't use any inactivity states, this is just duplicating
   the 0 from construct_vmcs().  Drop the field, leaving a comment as to why
   it is skipped.

2) Nested virt, because of ACTIVITY_STATE in vmcs_gstate_field[].

   Explicitly hide the inactivity states in the guest's view of MSR_VMX_MISC,
   and remove ACTIVITY_STATE from vmcs_gstate_field[].

   In virtual_vmentry(), we should trigger a VMEntry failure for the use of
   any inactivity states, but there's no support for that in the code at all
   so leave a TODO for when we finally start working on nested-virt in
   earnest.

Reported-by: Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>
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: Jun Nakajima <jun.nakajima@intel.com>
CC: Kevin Tian <kevin.tian@intel.com>
CC: Tamas K Lengyel <tamas@tklengyel.com>
CC: Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>
CC: Takahiro Shinagawa <shina@ecc.u-tokyo.ac.jp>

Note, entirely untested.
---
 xen/arch/x86/hvm/vmx/vmx.c              | 2 --
 xen/arch/x86/hvm/vmx/vvmx.c             | 9 +++++++--
 xen/arch/x86/include/asm/hvm/hvm.h      | 5 ++++-
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h | 1 +
 4 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index d26920d03bbc..a35fb23b0ece 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1543,7 +1543,6 @@ static void cf_check vmx_get_nonreg_state(struct vcpu *v,
 {
     vmx_vmcs_enter(v);
 
-    __vmread(GUEST_ACTIVITY_STATE, &nrs->vmx.activity_state);
     __vmread(GUEST_INTERRUPTIBILITY_INFO, &nrs->vmx.interruptibility_info);
     __vmread(GUEST_PENDING_DBG_EXCEPTIONS, &nrs->vmx.pending_dbg);
 
@@ -1558,7 +1557,6 @@ static void cf_check vmx_set_nonreg_state(struct vcpu *v,
 {
     vmx_vmcs_enter(v);
 
-    __vmwrite(GUEST_ACTIVITY_STATE, nrs->vmx.activity_state);
     __vmwrite(GUEST_INTERRUPTIBILITY_INFO, nrs->vmx.interruptibility_info);
     __vmwrite(GUEST_PENDING_DBG_EXCEPTIONS, nrs->vmx.pending_dbg);
 
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index 16b0ef82b6c8..fd0ae3916656 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -899,7 +899,10 @@ static const u16 vmcs_gstate_field[] = {
     GUEST_LDTR_AR_BYTES,
     GUEST_TR_AR_BYTES,
     GUEST_INTERRUPTIBILITY_INFO,
+    /*
+     * ACTIVITY_STATE is handled specially.
     GUEST_ACTIVITY_STATE,
+     */
     GUEST_SYSENTER_CS,
     GUEST_PREEMPTION_TIMER,
     /* natural */
@@ -1200,6 +1203,8 @@ static void virtual_vmentry(struct cpu_user_regs *regs)
     nvcpu->nv_vmentry_pending = 0;
     nvcpu->nv_vmswitch_in_progress = 1;
 
+    /* TODO: Fail VMentry for GUEST_ACTIVITY_STATE != 0 */
+
     /*
      * EFER handling:
      * hvm_set_efer won't work if CR0.PG = 1, so we change the value
@@ -2316,8 +2321,8 @@ int nvmx_msr_read_intercept(unsigned int msr, u64 *msr_content)
         data = hvm_cr4_guest_valid_bits(d);
         break;
     case MSR_IA32_VMX_MISC:
-        /* Do not support CR3-target feature now */
-        data = host_data & ~VMX_MISC_CR3_TARGET;
+        /* Do not support CR3-targets or activity states. */
+        data = host_data & ~(VMX_MISC_CR3_TARGET | VMX_MISC_ACTIVITY_MASK);
         break;
     case MSR_IA32_VMX_EPT_VPID_CAP:
         data = nept_get_ept_vpid_cap();
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 6d53713fc3a9..caeb8ef4f596 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -78,7 +78,10 @@ enum hvm_intblk {
 struct hvm_vcpu_nonreg_state {
     union {
         struct {
-            uint64_t activity_state;
+            /*
+             * ACTIVITY_STATE is part of VT-x's Non-Register state, but we
+             * don't support the use of any inactivity states.
+             */
             uint64_t interruptibility_info;
             uint64_t pending_dbg;
             uint64_t interrupt_status;
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index d07fcb2bc929..8de9977eb354 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -277,6 +277,7 @@ extern u32 vmx_secondary_exec_control;
 #define VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL 0x80000000000ULL
 extern u64 vmx_ept_vpid_cap;
 
+#define VMX_MISC_ACTIVITY_MASK                  0x000001c0
 #define VMX_MISC_PROC_TRACE                     0x00004000
 #define VMX_MISC_CR3_TARGET                     0x01ff0000
 #define VMX_MISC_VMWRITE_ALL                    0x20000000
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 19:21:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 19:21:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626627.977052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyGmg-0006ON-OC; Wed, 01 Nov 2023 19:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626627.977052; Wed, 01 Nov 2023 19:21: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 1qyGmg-0006OD-Lb; Wed, 01 Nov 2023 19:21:46 +0000
Received: by outflank-mailman (input) for mailman id 626627;
 Wed, 01 Nov 2023 19:21: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=R8ij=GO=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qyGme-000558-RR
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 19:21:44 +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 e3dc3a3a-78eb-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 20:21:43 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5431614d90eso202267a12.1
 for <xen-devel@lists.xenproject.org>; Wed, 01 Nov 2023 12:21: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: e3dc3a3a-78eb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698866502; x=1699471302; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PM6NSJbEOt/BWPfPXXP/ZRQsx7UC5F6txXiOpzlIsus=;
        b=jh6NYUwqd4xqHVByD39ukbUai0yy3b+pP0JYzddCDk1zygr1bCn6YVjwcItF7VrZ3+
         lWqQofIh54leW4jwTitSNry6d4q/MJDPAhl8l/HoSlC0Dxlg0HoqjToJYKVEmk0o94H2
         eKzIzYBya0XbrqjgNEKvE48oXYqwELqFFnXjGPJflgx+BYNh1Wlt3HaxP3qfvVotJxW/
         Xemax0QHKlULbEsCxRReXRh5c3kP0D0fKGp8Zoym1XwQICL/vnt2B1ld4hza1TDi6SXj
         iuPzQpaF0Yu9vO4brfh4RMEID9cUx1P2YrSBm1r+XeDYGdUMb7/BYck0oHD5Xx3RMB3i
         LeHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698866502; x=1699471302;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=PM6NSJbEOt/BWPfPXXP/ZRQsx7UC5F6txXiOpzlIsus=;
        b=RsS/7RNQZzwB+8pkMwcA6StTB1g6WBKYWbZHnzmuU+SrANgWV9b7lrxjwO8RtBqh/+
         sTBHXkDfjQOam5CmAVU9bJ72xB+bmhNshPND+D2sSKW7VFR+K5SJepT1n40dTOG8xELP
         DChLFMzyNOVVmbhrpp9rUMvNLUecoRm0Jen0i5UwIWkKQeQXBslEXLb+pSSuuq8F5286
         6MJHZlUBHFFW9xW3HXZI6RuYMPDlQSFGxEVuv2Ua4e46yu6GEyqYXirxP0mGwv7xFrHG
         vjYgQmYQy4U1suJqAeC0JUmQWaHVWKNs4mEgdSKdDjXeiEZdq1/O2L8LMtOwYAZVA8aT
         YNNA==
X-Gm-Message-State: AOJu0YxHycWerCtpbVb67l9+fHDrFpg3UwOP6hvIzGx48DUgN46qfkdF
	RvDyLc9mRgpn4ifwfEjd6NAkR/a7hmGTa2Hw24LugH2AxIM=
X-Google-Smtp-Source: AGHT+IHEcOa31KFeqYTGei+JGVgjKavwUcDjmUd7n6zhdQJX9pieWlPPP2XGb2hfQ4Fnd1xeUkXZf+su5NhZA5x1TV0=
X-Received: by 2002:a50:8d12:0:b0:543:5886:71c3 with SMTP id
 s18-20020a508d12000000b00543588671c3mr5141648eds.25.1698866502340; Wed, 01
 Nov 2023 12:21:42 -0700 (PDT)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-4-jgross@suse.com>
In-Reply-To: <20231101093325.30302-4-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Wed, 1 Nov 2023 15:21:29 -0400
Message-ID: <CAKf6xptkUPBSTsij=CAWaiYxTCtGH4zpZWiLuvb=teX3i_sjrA@mail.gmail.com>
Subject: Re: [PATCH 03/29] tools/xenlogd: connect to frontend
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:34=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the code for connecting to frontends to xenlogd.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

> diff --git a/tools/xenlogd/xenlogd.c b/tools/xenlogd/xenlogd.c
> index 792d1026a3..da0a09a122 100644
> --- a/tools/xenlogd/xenlogd.c
> +++ b/tools/xenlogd/xenlogd.c

> +static void connect_device(device *device)
> +{
> +    unsigned int val;
> +    xenevtchn_port_or_error_t evtchn;
1.> +
> +    val =3D read_frontend_node_uint(device, "version", 0);
> +    if ( val !=3D 1 )
> +        return connect_err(device, "frontend specifies illegal version")=
;
> +    val =3D read_frontend_node_uint(device, "num-rings", 0);
> +    if ( val !=3D 1 )
> +        return connect_err(device, "frontend specifies illegal ring numb=
er");

Linux uses 2 rings (XEN_9PFS_NUM_RINGS), and it doesn't connect when
max-rings is less than that.

max_rings =3D xenbus_read_unsigned(dev->otherend, "max-rings", 0);
if (max_rings < XEN_9PFS_NUM_RINGS)
    return -EINVAL;

new_device() writes max-rings as 1.  So this works for mini-os, but
not Linux.  I'm not requesting you to change it - just noting it.

> +
> +    val =3D read_frontend_node_uint(device, "event-channel-0", 0);
> +    if ( val =3D=3D 0 )
> +        return connect_err(device, "frontend specifies illegal evtchn");
> +    evtchn =3D xenevtchn_bind_interdomain(xe, device->domid, val);
> +    if ( evtchn < 0 )
> +        return connect_err(device, "could not bind to event channel");
> +    device->evtchn =3D evtchn;
> +
> +    val =3D read_frontend_node_uint(device, "ring-ref0", 0);
> +    if ( val =3D=3D 0 )
> +        return connect_err(device, "frontend specifies illegal grant for=
 ring");
> +    device->intf =3D xengnttab_map_grant_ref(xg, device->domid, val,
> +                                           PROT_READ | PROT_WRITE);
> +    if ( !device->intf )
> +        return connect_err(device, "could not map interface page");
> +    device->ring_order =3D device->intf->ring_order;
> +    if ( device->ring_order > 9 || device->ring_order < 1 )
> +        return connect_err(device, "frontend specifies illegal ring orde=
r");
> +    device->ring_size =3D XEN_FLEX_RING_SIZE(device->ring_order);
> +    device->data.in =3D xengnttab_map_domain_grant_refs(xg,
> +                                                      1 << device->ring_=
order,
> +                                                      device->domid,
> +                                                      device->intf->ref,
> +                                                      PROT_READ | PROT_W=
RITE);
> +    if ( !device->data.in )
> +        return connect_err(device, "could not map ring pages");
> +    device->data.out =3D device->data.in + device->ring_size;
> +
> +    if ( pthread_create(&device->thread, NULL, io_thread, device) )
> +       return connect_err(device, "could not start I/O thread");
> +    device->thread_active =3D true;
> +
> +    write_backend_state(device, XenbusStateConnected);
> +}
> +

> @@ -122,6 +669,11 @@ int main(int argc, char *argv[])
>      int syslog_mask =3D LOG_MASK(LOG_WARNING) | LOG_MASK(LOG_ERR) |
>                        LOG_MASK(LOG_CRIT) | LOG_MASK(LOG_ALERT) |
>                        LOG_MASK(LOG_EMERG);
> +    char **watch;
> +    struct pollfd p[2] =3D {
> +        { .events =3D POLLIN, .revents =3D POLLIN },

Are you intentionally setting revents to enter the loop initially?
Shouldn't the watch registration trigger it to fire anyway?

> +        { .events =3D POLLIN }
> +    };
>
>      umask(027);
>      if ( getenv("XENLOGD_VERBOSE") )
> @@ -134,9 +686,26 @@ int main(int argc, char *argv[])
>
>      xen_connect();
>
> +    if ( !xs_watch(xs, "backend/xen_9pfs", "main") )
> +        do_err("xs_watch() in main thread failed");
> +    p[0].fd =3D xs_fileno(xs);
> +    p[1].fd =3D xenevtchn_fd(xe);
> +
> +    scan_backend();
> +
>      while ( !stop_me )
>      {
> -        sleep(60);
> +        while ( (p[0].revents & POLLIN) &&
> +                (watch =3D xs_check_watch(xs)) !=3D NULL )
> +        {
> +            handle_watch(watch[XS_WATCH_PATH], watch[XS_WATCH_TOKEN]);
> +            free(watch);
> +        }
> +
> +        if ( p[1].revents & POLLIN )
> +            handle_event();
> +
> +        poll(p, 2, 10000);

Can you just use an infinite timeout and rely on the signal
interrupting the system call?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 20:38:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 20:38:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626638.977062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyHyL-0006BU-9Y; Wed, 01 Nov 2023 20:37:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626638.977062; Wed, 01 Nov 2023 20: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 1qyHyL-0006BN-6Y; Wed, 01 Nov 2023 20:37:53 +0000
Received: by outflank-mailman (input) for mailman id 626638;
 Wed, 01 Nov 2023 20: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=uHih=GO=citrix.com=prvs=662d42e6f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1qyHyJ-00069g-Hy
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 20:37:52 +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 83bdd2b2-78f6-11ee-98d6-6d05b1d4d9a1;
 Wed, 01 Nov 2023 21:37:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83bdd2b2-78f6-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1698871068;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=43oVt6N/8ogtMsgBl8YGeSvERYHwZG0JWTOITrW6Y7g=;
  b=DW7Mi79DlHKYHc+bDGgLdvnNyFb7BMkt/qw1Mk7PlD+gkAsENrsShtI0
   dTPpOmA5lpUn2GCrcqdQtc66gHZz8lcQ1Gj6hdsYFtwQdymS/LOs5o7rH
   Y2ieXHHqkgiyE2UYL30YJy1ovdNqiydlkVcVUhqVzDgFV5y+KNmN6mKK0
   0=;
X-CSE-ConnectionGUID: sTpmSzHmT+SNwEUQVNKDUA==
X-CSE-MsgGUID: SxSyzxVlRpWdjgCVXsYdWA==
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127170898
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:qPZUIazbDUWTvaCivER6t+cjxirEfRIJ4+MujC+fZmUNrF6WrkVVm
 jYfXGuHOK6OZGbzeNF3YdyxpBtS7J+GndJrHAs9/iAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjPzOHvykTrecZkidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EgHUMja4mtC5QVnPakT5zcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KXpy7
 fkjOhAIUlO4of2b/YuFbMpAu+12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyPVKfO3WjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiHJ8KxxnA9
 jOWl4j/KioKD82N2QSByGqTiu3Ath3LQ7MeK5Tto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jY+cddNF+wx6CmW17HZpQ2eAwAsUTppeNEg8sgsSlQC9
 lKPhcKvOjVpv5WcU3fb/bCRxQ5eIgBMczVEP3VdC1JYsp+8+Onfky4jUP54LLawtc/VHA2z+
 BaVgRUHuZMwofMigvDTEU/8v968mnTYZldrt1WHBzr9tFMRiJ2NPdLytQaBhRpUBMPJFgPf4
 SJsd922tbhWVfmweDqxrPLh9V1Dz92CKjTYyWV3BZgn+C/FF5WLJtsIv2gWyKuEKK85ld7Vj
 Kz741g5CGd7ZifCUEOOS9vZ5z4W5abhD8/5cfvfc8BDZJN8HCfeonA+NRDLgT6zwBF8+U3aB
 Xt8WZ/yZUv29Iw+kWHoLwvj+eRDKt8CKZP7GsmgkkXPPUu2b3+JU7YVWGazghQCxPrc+m39q
 o8PX/ZmPj0DCIUSlAGLq99MRb3LRFBnba3LRzt/LL7dfVE7RDB9V5c8A9oJIuRYokicrc+Ql
 lnVZ6OS4AOXaaHvQelSVk1eVQ==
IronPort-HdrOrdr: A9a23:4NtU1K7WrjUk6CwdzAPXwMXXdLJyesId70hD6qkRc20wTiT7//
 rFoB1/73LJYVkqNE3I9ervBEDiewK4yXcW2/hzAV7KZmCP01dASrsC0WKI+UyDJ8SRzI5g/J
 YlV5JeYeeeMWRH
X-Talos-CUID: 9a23:Mh/sQGH0MSLAtOPYqmJ8yFYRIdIFd0Ge91HPDnKBN0BKZIC8HAo=
X-Talos-MUID: 9a23:pZRUZgmvsHJKsOP7mNg6dnpZJPx58bSQDHoVrpkEtOK6BTdBNwi02WE=
X-IronPort-AV: E=Sophos;i="6.03,269,1694750400"; 
   d="scan'208";a="127170898"
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>, Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH for-4.18] x86/time: Fix UBSAN failure in __update_vcpu_system_time()
Date: Wed, 1 Nov 2023 20:37:37 +0000
Message-ID: <20231101203737.3441425-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

As reported:

  (XEN) ================================================================================
  (XEN) UBSAN: Undefined behaviour in arch/x86/time.c:1542:32
  (XEN) member access within null pointer of type 'union vcpu_info_t'
  (XEN) ----[ Xen-4.19-unstable  x86_64  debug=y ubsan=y  Not tainted ]----
  ...
  (XEN) Xen call trace:
  (XEN)    [<ffff82d040345036>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xd2
  (XEN)    [<ffff82d0403456e8>] F __ubsan_handle_type_mismatch+0x133/0x49b
  (XEN)    [<ffff82d040345b4a>] F __ubsan_handle_type_mismatch_v1+0xfa/0xfc
  (XEN)    [<ffff82d040623356>] F arch/x86/time.c#__update_vcpu_system_time+0x212/0x30f
  (XEN)    [<ffff82d040623461>] F update_vcpu_system_time+0xe/0x10
  (XEN)    [<ffff82d04062389d>] F arch/x86/time.c#local_time_calibration+0x1f7/0x523
  (XEN)    [<ffff82d0402a64b5>] F common/softirq.c#__do_softirq+0x1f4/0x31a
  (XEN)    [<ffff82d0402a67ad>] F do_softirq+0x13/0x15
  (XEN)    [<ffff82d0405a95dc>] F arch/x86/domain.c#idle_loop+0x2e0/0x367
  (XEN)
  (XEN) ================================================================================

It is not valid to derive a pointer from vcpu_info() prior to checking that
the underlying map pointer is good.

Reorder actions so the NULL pointer check is first.

Fixes: 20279afd7323 ("x86: split populating of struct vcpu_time_info into a separate function")
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: Henry Wang <Henry.Wang@arm.com>

4.18 blocker, or we'll need to issue an XSA/CVE.
---
 xen/arch/x86/time.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/time.c b/xen/arch/x86/time.c
index d0b0986509b2..6d33edd0addc 100644
--- a/xen/arch/x86/time.c
+++ b/xen/arch/x86/time.c
@@ -1539,12 +1539,14 @@ static void collect_time_info(const struct vcpu *v,
 
 static void __update_vcpu_system_time(struct vcpu *v, int force)
 {
-    struct vcpu_time_info *u = &vcpu_info(v, time), _u;
+    struct vcpu_time_info *u, _u;
     const struct domain *d = v->domain;
 
     if ( !v->vcpu_info_area.map )
         return;
 
+    u = &vcpu_info(v, time);
+
     collect_time_info(v, &_u);
 
     /* Don't bother unless timestamp record has changed or we are forced. */

base-commit: 7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 20:50:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 20:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626643.977072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyIAT-00016I-B7; Wed, 01 Nov 2023 20:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626643.977072; Wed, 01 Nov 2023 20: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 1qyIAT-00016B-85; Wed, 01 Nov 2023 20:50:25 +0000
Received: by outflank-mailman (input) for mailman id 626643;
 Wed, 01 Nov 2023 20:50: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=rL0d=GO=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1qyIAR-000165-V0
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 20:50:23 +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 44ec1db5-78f8-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 21:50:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 495D9CE1EEE;
 Wed,  1 Nov 2023 20:50:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id 754FBC433C9;
 Wed,  1 Nov 2023 20:50:14 +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
 607BAC3959F; Wed,  1 Nov 2023 20:50: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: 44ec1db5-78f8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1698871814;
	bh=RPJ/6C0oDYWolB1OcgR+Qo4OIIWKuJEI9yonjfjEeTI=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=iPrWcHmRt+5es69KVR6TWaA3ucEbZnmFJqaK6Pk0rqaSIzySYdGVXNO3KE9usHvdA
	 ff5mkFQnfTj7i7jUynkJ8M2GPyvmHnYgNw1z0pDveBAxGGOqm6ON4oRury4VaE1teg
	 zTeRcMFa78rTdTbISrsgCLQmHv4nl2eTCC3HmeYvSKeQzuDXiNENhZje3A+UUoaCkw
	 Y/qSqyj4esqc1ZHzQgHHV8UNXgQ41Cnaq1jdPlznZyNDRCitFKg+LfF2N6nSRNwkVT
	 R01bV7+v+tPf9ZMqH0Ttdo4uuFSzT9CE3sIrWHTjPCdnfcJoZfiXpFHID/sImbEt+0
	 XmEK6WWr+2KKA==
Subject: Re: [GIT PULL] xen: branch for v6.7-rc1
From: pr-tracker-bot@kernel.org
In-Reply-To: <20231028155524.19315-1-jgross@suse.com>
References: <20231028155524.19315-1-jgross@suse.com>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20231028155524.19315-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.7-rc1-tag
X-PR-Tracked-Commit-Id: 2c269f42d0f382743ab230308b836ffe5ae9b2ae
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: ca995ce438cc641c47d4b8e4abeb1878a3d07c5f
Message-Id: <169887181438.2957.13741778337095541343.pr-tracker-bot@kernel.org>
Date: Wed, 01 Nov 2023 20:50:14 +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, 28 Oct 2023 17:55:24 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.7-rc1-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/ca995ce438cc641c47d4b8e4abeb1878a3d07c5f

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 21:08:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 21:08:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626654.977088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyIRR-0004Vz-Uw; Wed, 01 Nov 2023 21:07:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626654.977088; Wed, 01 Nov 2023 21:07: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 1qyIRR-0004Vs-SM; Wed, 01 Nov 2023 21:07:57 +0000
Received: by outflank-mailman (input) for mailman id 626654;
 Wed, 01 Nov 2023 21:07: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=UCHO=GO=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1qyIRQ-0004Vm-BX
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 21:07:56 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b8a0a4d7-78fa-11ee-9b0e-b553b5be7939;
 Wed, 01 Nov 2023 22:07:53 +0100 (CET)
Received: from DM5PR08CA0025.namprd08.prod.outlook.com (2603:10b6:4:60::14) by
 SA1PR12MB7319.namprd12.prod.outlook.com (2603:10b6:806:2b5::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Wed, 1 Nov
 2023 21:07:48 +0000
Received: from CY4PEPF0000FCC4.namprd03.prod.outlook.com
 (2603:10b6:4:60:cafe::c9) by DM5PR08CA0025.outlook.office365.com
 (2603:10b6:4:60::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Wed, 1 Nov 2023 21:07:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000FCC4.mail.protection.outlook.com (10.167.242.106) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Wed, 1 Nov 2023 21:07:47 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Wed, 1 Nov
 2023 16:07:46 -0500
Received: from xsjfnuv50.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Wed, 1 Nov 2023 16:07:45 -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: b8a0a4d7-78fa-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NnqNDVOJHo9nyT5TWxoEv3b3BqC7Cdc4DDbPKis+fWyBRSwlrNp+7avdhwy3K4RrGujfNStm2qT68mLQEFRU7eAZMXhhAhnEHCBeZFW1AqHmIRXVfhGCnFSa+l71PJhFwRNyO3/IbG6IBp7pYWa563QYMP0CD9ZpMOp080/faITGGPZbpbHDPpHyQsd/EaleHfP2Q6akWMY4cRVdBQIQpezaiZZeXZALNI5F59DTPT/ZP3AwcisTUcVGOfSKLG+/hYMkD2NlQieW9cVmn8NW6rg3VVstf5r9rdLKKZWA3I9LcUp1rXZ+7hJR9/DM60qWV3FTcXBV4vdizdMzAVErlg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Moa0axuF7omkDierUjBunbHH6SOVyOt/e+07ff+jXW8=;
 b=cYfJnGIffe1bg5gm0rMfDLu/SksgTkACSpjf/LCF7p0RBM/cBjLuztMTsCIvCw+lIvaGML3q5P3K3G3sf9pyjnJHQzt6FmB3Qbt4b1daKTpgEPkBwQo6YyVGouo4haVPGuPd2345wUQx1U2l82NbRtFBgt/Uy/Ji8rzFnFKcp9UYGQueCFZVo8d5Lbeg5KW2q4G+TJe8348563uCh0XoKUUOAAv9GLu1nZZ6qzdikkBr9SnPpB3ZsDYFPP+/8p+oTkOcu3U8mBAZN7M4c1Os2fRzhTatGwi6kQCpAC7fkV41Z172+LeQreMqpZneF7I8UIV38+Y2kuo86EI0tVfqzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=nongnu.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 (0)
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=Moa0axuF7omkDierUjBunbHH6SOVyOt/e+07ff+jXW8=;
 b=ITfdo05dO4E37SNkOBKGGGxkvio+2lm4/kJS1/lscm9QhCEFI2/Lh4ujBFFSM7f0TnPhlpZpNtSS9xMfSIFRl5b1hX+eyLPKSlabxAT1zvYRA7B3N6+5Zcvq2LnELbelJa1fhlXeuWK8lVdwCyyFYVkaHW4UtZMgKQb5zjXVsL0=
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: Vikram Garhwal <vikram.garhwal@amd.com>
To: <qemu-devel@nongnu.org>
CC: <sstabellini@kernel.org>, <vikram.garhwal@amd.com>, Peter Maydell
	<peter.maydell@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, "Paul
 Durrant" <paul@xen.org>, "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: [QEMU][PATCH v1] Xen: Fix xen_set_irq() and xendevicemodel_set_irq_level()
Date: Wed, 1 Nov 2023 14:07:23 -0700
Message-ID: <20231101210724.27263-1-vikram.garhwal@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-TrafficTypeDiagnostic: CY4PEPF0000FCC4:EE_|SA1PR12MB7319:EE_
X-MS-Office365-Filtering-Correlation-Id: 61a46221-23b1-4320-e7fe-08dbdb1e99d2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1FjwNtzkfSY35JT5UXB11fIvap/I6B8BCWkMfj6c0bwcb/JAOUbUMwKWGe4j0BKYt+U82cDMDVQxWXrT9ebv2C1FvsX8tC2OZJPYQwHCxy7Z8D/lOmArAo0BQV4eQrKpuj+QuBzB/tm8px4LDbgnwnfyUIfHQ4X7lrRKf+e6akxr/2sxoZ+y7HPUONNS3aj7xZWjzUZVy81tdcAarrn6UNMJxl4tP4D3dHSj3m0wxbbqqp5sWu+sicWAtbFfyqYSNvGTbfIr3ZCEVA7ZU+Kqtx+7RIoyjM/xTT49mEm+bBJ1J3gQKqWDRMh1v6Gt7hExyaVAuBZSP2iZHfoB5dFZ4EPORwFAK8DOiJUvFTHomxFTvhXe+eI+PeyAFxYcRLQ1ezQfMd/MsWyt4tPkXZGUnw4dD/JMhkYH9tQWRITWWnu1v8RKaIr/SDa4rcU91+x6Jm8f4qQSWbI5k+RtZafyxsoFe4REhBHJKhxi0PzMixaz3K7IJcB2bGx5F73s7OAaPfHpeVZOxwq+VKUc8t3Ic5qnlqX40syKwwwCeSVBqI0NSPVTOiUInMriPtHZScJlgwiCZNgsrkQuHBH7ICRksAa5iGUEZcyact1KST0NAyZvsbcRlI0YiMrlATCOCtwL/X+w64/NRTocxSZJE8xpVKcueKgAHOaliK2XHhLhcTLdEoJgWluTiEwRo98qA3bf7kq62NrNnREuS/Op0mfozfTCANqzuy1QYULhwN3wFHpvoVsnwG8S+BVanY6BiIg1bqtt3q5nCBYVzqnOPR3R0A==
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:(13230031)(4636009)(396003)(376002)(39860400002)(136003)(346002)(230922051799003)(64100799003)(186009)(82310400011)(1800799009)(451199024)(36840700001)(46966006)(40470700004)(8676002)(4326008)(8936002)(44832011)(1076003)(6916009)(54906003)(316002)(478600001)(26005)(41300700001)(6666004)(5660300002)(336012)(2616005)(426003)(2906002)(83380400001)(40480700001)(36860700001)(47076005)(70586007)(70206006)(82740400003)(356005)(81166007)(86362001)(40460700003)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2023 21:07:47.6482
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 61a46221-23b1-4320-e7fe-08dbdb1e99d2
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:
	CY4PEPF0000FCC4.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7319

Remove '=' from 'if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41500'.
Because xendevicemodel_set_irq_level() was introduced in 4.15 version.

Also, update xendevicemodel_set_irq_level() to return -1 for older versions.

Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>
---
 hw/arm/xen_arm.c            | 4 +++-
 include/hw/xen/xen_native.h | 4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index f83b983ec5..a5631529d0 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -75,7 +75,9 @@ static MemoryRegion ram_lo, ram_hi;
 
 static void xen_set_irq(void *opaque, int irq, int level)
 {
-    xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level);
+    if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
+        error_report("xendevicemodel_set_irq_level failed");
+    }
 }
 
 static void xen_create_virtio_mmio_devices(XenArmState *xam)
diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
index 5d2718261f..6f09c48823 100644
--- a/include/hw/xen/xen_native.h
+++ b/include/hw/xen/xen_native.h
@@ -523,12 +523,12 @@ static inline int xen_set_ioreq_server_state(domid_t dom,
                                                  enable);
 }
 
-#if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41500
+#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 41500
 static inline int xendevicemodel_set_irq_level(xendevicemodel_handle *dmod,
                                                domid_t domid, uint32_t irq,
                                                unsigned int level)
 {
-    return 0;
+    return -1;
 }
 #endif
 
-- 
2.17.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 23:11:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 23:11:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626660.977097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyKMD-0007gi-L3; Wed, 01 Nov 2023 23:10:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626660.977097; Wed, 01 Nov 2023 23: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 1qyKMD-0007gb-IG; Wed, 01 Nov 2023 23:10:41 +0000
Received: by outflank-mailman (input) for mailman id 626660;
 Wed, 01 Nov 2023 23:10: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=r+92=GO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qyKMC-0007gV-DU
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 23:10:40 +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 ddcfb800-790b-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 00:10:38 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 298AB6121A;
 Wed,  1 Nov 2023 23:10:36 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B2299C433C7;
 Wed,  1 Nov 2023 23:10: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: ddcfb800-790b-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1698880235;
	bh=CKfgrSCorUUu5HIq1LEXvdZDzHMfXWmulyih12KkFsQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=i8xNC+yul3uiH1i7GSfENZEOS1yjoplt+7GdZ+RU2k0dobQZ0CRbiq41d/eTPHbfv
	 2kzJP0TPq8jk9VrgNZZ+xwR7M4mx/NIDH1T84NbIahGcNowGBi2sOkilHFQucUe7CU
	 sEhaXnf2vt400lXDfO7/1QtycDQVR17LeA5rpCTkHVQrpY5CLppC+e3ponmWUBuGJk
	 YInESeuxxsDw3hgI+sozKkw55AqMtDyEBOoS0dHCzXhI9JyMxvag3k9aXAMXjY++he
	 HfBhmq4OradXXgSYgsdd4/uoeGKfeRZQbFzahIUEe9p21RgemqGPQMcy9a9otpQSgJ
	 wRk19uRJpmfSw==
Date: Wed, 1 Nov 2023 16:10:32 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>, 
    Kevin Tian <kevin.tian@intel.com>
Subject: Re: [XEN PATCH][for-4.19 v6 2/8] x86: add deviation for asm-only
 functions
In-Reply-To: <a1b5c3b273145c35535fed3647bf850d9ae5db7f.1698829473.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311011609360.2125691@ubuntu-linux-20-04-desktop>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com> <a1b5c3b273145c35535fed3647bf850d9ae5db7f.1698829473.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 1 Nov 2023, Nicola Vetrini wrote:
> As stated in rules.rst, functions used only in asm modules
> are allowed to have no prior declaration visible when being
> defined, hence these functions are marked with an
> 'asmlinkage' macro, which is then deviated for MISRA C:2012
> Rule 8.4.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Changes in v3:
> - added SAF deviations for vmx counterparts to svm functions.
> Changes in v5:
> - drop SAF deviations in favour of the pseudo-attribute asmlinkage
> Changes in v6:
> - conditioned asmlinkage definition to make it overridable;
> - move the pseudo-attribute after the return type
> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++
>  docs/misra/deviations.rst                        | 6 ++++++
>  xen/arch/x86/hvm/svm/intr.c                      | 2 +-
>  xen/arch/x86/hvm/svm/nestedsvm.c                 | 2 +-
>  xen/arch/x86/hvm/svm/svm.c                       | 4 ++--
>  xen/arch/x86/hvm/vmx/intr.c                      | 2 +-
>  xen/arch/x86/hvm/vmx/vmx.c                       | 4 ++--
>  xen/arch/x86/hvm/vmx/vvmx.c                      | 2 +-
>  xen/arch/x86/traps.c                             | 2 +-
>  xen/arch/x86/x86_64/traps.c                      | 2 +-
>  xen/include/xen/compiler.h                       | 5 +++++
>  11 files changed, 30 insertions(+), 10 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index fa56e5c00a27..06619ecf7e8d 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -163,6 +163,15 @@ Therefore the absence of prior declarations is safe."
>  -config=MC3R1.R8.4,reports+={safe, "first_area(any_loc(file(gcov)))"}
>  -doc_end
>  
> +-doc_begin="Recognize the occurrence of current_stack_pointer as a declaration."
> +-file_tag+={asm_defns, "^xen/arch/x86/include/asm/asm_defns\\.h$"}
> +-config=MC3R1.R8.4,declarations+={safe, "loc(file(asm_defns))&&^current_stack_pointer$"}
> +-doc_end
> +
> +-doc_begin="asmlinkage is a marker to indicate that the function is only used to interface with asm modules."
> +-config=MC3R1.R8.4,declarations+={safe,"loc(text(^(?s).*asmlinkage.*$, -1..0))"}
> +-doc_end
> +
>  -doc_begin="The following variables are compiled in multiple translation units
>  belonging to different executables and therefore are safe."
>  -config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index 8511a189253b..d468da2f5ce9 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -133,6 +133,12 @@ Deviations related to MISRA C:2012 Rules:
>         configuration. Therefore, the absence of prior declarations is safe.
>       - Tagged as `safe` for ECLAIR.
>  
> +   * - R8.4
> +     - Functions and variables used only by asm modules are either marked with
> +       the `asmlinkage` macro or with a SAF-1-safe textual deviation
> +       (see safe.json).
> +     - Tagged as `safe` for ECLAIR.

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

If Julien prefers a different wording I could modify on commit as needed


>     * - R8.6
>       - The following variables are compiled in multiple translation units
>         belonging to different executables and therefore are safe.
> diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c
> index 192e17ebbfbb..4805c5567213 100644
> --- a/xen/arch/x86/hvm/svm/intr.c
> +++ b/xen/arch/x86/hvm/svm/intr.c
> @@ -123,7 +123,7 @@ static void svm_enable_intr_window(struct vcpu *v, struct hvm_intack intack)
>          vmcb, general1_intercepts | GENERAL1_INTERCEPT_VINTR);
>  }
>  
> -void svm_intr_assist(void)
> +void asmlinkage svm_intr_assist(void)
>  {
>      struct vcpu *v = current;
>      struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
> diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
> index a09b6abaaeaf..fc7658d67d4e 100644
> --- a/xen/arch/x86/hvm/svm/nestedsvm.c
> +++ b/xen/arch/x86/hvm/svm/nestedsvm.c
> @@ -1441,7 +1441,7 @@ nestedsvm_vcpu_vmexit(struct vcpu *v, struct cpu_user_regs *regs,
>  }
>  
>  /* VCPU switch */
> -void nsvm_vcpu_switch(void)
> +void asmlinkage nsvm_vcpu_switch(void)
>  {
>      struct cpu_user_regs *regs = guest_cpu_user_regs();
>      struct vcpu *v = current;
> diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
> index 24c417ca7199..cb8abe7a0066 100644
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -1056,7 +1056,7 @@ static void noreturn cf_check svm_do_resume(void)
>      reset_stack_and_jump(svm_asm_do_resume);
>  }
>  
> -void svm_vmenter_helper(void)
> +void asmlinkage svm_vmenter_helper(void)
>  {
>      const struct cpu_user_regs *regs = guest_cpu_user_regs();
>      struct vcpu *curr = current;
> @@ -2586,7 +2586,7 @@ const struct hvm_function_table * __init start_svm(void)
>      return &svm_function_table;
>  }
>  
> -void svm_vmexit_handler(void)
> +void asmlinkage svm_vmexit_handler(void)
>  {
>      struct cpu_user_regs *regs = guest_cpu_user_regs();
>      uint64_t exit_reason;
> diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c
> index fd719c4c01d2..8beeaab1517b 100644
> --- a/xen/arch/x86/hvm/vmx/intr.c
> +++ b/xen/arch/x86/hvm/vmx/intr.c
> @@ -224,7 +224,7 @@ void vmx_sync_exit_bitmap(struct vcpu *v)
>      }
>  }
>  
> -void vmx_intr_assist(void)
> +void asmlinkage vmx_intr_assist(void)
>  {
>      struct hvm_intack intack;
>      struct vcpu *v = current;
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 1edc7f1e919f..f5739b3aa5a1 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4035,7 +4035,7 @@ static void undo_nmis_unblocked_by_iret(void)
>                guest_info | VMX_INTR_SHADOW_NMI);
>  }
>  
> -void vmx_vmexit_handler(struct cpu_user_regs *regs)
> +void asmlinkage vmx_vmexit_handler(struct cpu_user_regs *regs)
>  {
>      unsigned long exit_qualification, exit_reason, idtv_info, intr_info = 0;
>      unsigned int vector = 0;
> @@ -4787,7 +4787,7 @@ static void lbr_fixup(void)
>  }
>  
>  /* Returns false if the vmentry has to be restarted */
> -bool vmx_vmenter_helper(const struct cpu_user_regs *regs)
> +bool asmlinkage vmx_vmenter_helper(const struct cpu_user_regs *regs)
>  {
>      struct vcpu *curr = current;
>      struct domain *currd = curr->domain;
> diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
> index 16b0ef82b6c8..a28803987af6 100644
> --- a/xen/arch/x86/hvm/vmx/vvmx.c
> +++ b/xen/arch/x86/hvm/vmx/vvmx.c
> @@ -1490,7 +1490,7 @@ static void nvmx_eptp_update(void)
>      __vmwrite(EPT_POINTER, get_shadow_eptp(curr));
>  }
>  
> -void nvmx_switch_guest(void)
> +void asmlinkage nvmx_switch_guest(void)
>  {
>      struct vcpu *v = current;
>      struct nestedvcpu *nvcpu = &vcpu_nestedhvm(v);
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index e1356f696aba..6393467b06fd 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -2265,7 +2265,7 @@ void asm_domain_crash_synchronous(unsigned long addr)
>  }
>  
>  #ifdef CONFIG_DEBUG
> -void check_ist_exit(const struct cpu_user_regs *regs, bool ist_exit)
> +void asmlinkage check_ist_exit(const struct cpu_user_regs *regs, bool ist_exit)
>  {
>      const unsigned int ist_mask =
>          (1U << X86_EXC_NMI) | (1U << X86_EXC_DB) |
> diff --git a/xen/arch/x86/x86_64/traps.c b/xen/arch/x86/x86_64/traps.c
> index e03e80813e36..668605e5bc67 100644
> --- a/xen/arch/x86/x86_64/traps.c
> +++ b/xen/arch/x86/x86_64/traps.c
> @@ -266,7 +266,7 @@ void show_page_walk(unsigned long addr)
>             l1_table_offset(addr), l1e_get_intpte(l1e), pfn);
>  }
>  
> -void do_double_fault(struct cpu_user_regs *regs)
> +void asmlinkage do_double_fault(struct cpu_user_regs *regs)
>  {
>      unsigned int cpu;
>      unsigned long crs[8];
> diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
> index dd99e573083f..94e2d6080d93 100644
> --- a/xen/include/xen/compiler.h
> +++ b/xen/include/xen/compiler.h
> @@ -159,6 +159,11 @@
>  # define ASM_FLAG_OUT(yes, no) no
>  #endif
>  
> +/* Mark a function or variable as being used only to interface with asm */
> +#ifndef asmlinkage
> +#define asmlinkage
> +#endif
> +
>  /*
>   * NB: we need to disable the gcc-compat warnings for clang in some places or
>   * else it will complain with: "'break' is bound to loop, GCC binds it to
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 23:12:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 23:12:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626662.977108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyKNe-0008CE-Ue; Wed, 01 Nov 2023 23:12:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626662.977108; Wed, 01 Nov 2023 23:12: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 1qyKNe-0008C7-S0; Wed, 01 Nov 2023 23:12:10 +0000
Received: by outflank-mailman (input) for mailman id 626662;
 Wed, 01 Nov 2023 23:12: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=r+92=GO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qyKNe-0008C1-5R
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 23:12:10 +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 14e32790-790c-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 00:12:09 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id A95DEB81AC8;
 Wed,  1 Nov 2023 23:12:08 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A63B9C433C7;
 Wed,  1 Nov 2023 23:12: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: 14e32790-790c-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1698880328;
	bh=UD/Os8GGsFBO/mGOPgNggotHFu0irVWRZK/pH03Vmbc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=I7vemr7hA4gCtYi8Ivf2mAHdg9XnmB1+q4DTlvetOc5qBzyLZGSQ6mhW3Tuv8gxzw
	 TJPTrMiwswibeZxuLEY9K96PONIkV8O/olFIkgSCk08KluiogZKYQvTUlCrryiCSP0
	 21lXjnPaDipOocDSjMPyzP1k1uRKSBxa+JdYpweTzrR1sE0L+FqC4LihdO3czf/ffd
	 bT3AGifk2LVxLmSGA6tXdhZnpX88J6D26UkADNWtezWz8pqVzO0YyEKNrXUYrqiwKo
	 V+1Ys5X6aZaWast6FnC/DIGTPvA5yCBAiEvDXNDy0tUwq+9t5oCbSFyMo1C1JT04x+
	 dbSyXaUd2OqeQ==
Date: Wed, 1 Nov 2023 16:12:05 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH][for-4.19 v6 3/8] x86: add asmlinkage macro to
 variables only used in asm code
In-Reply-To: <8e7762db94449c18e88171658c758a227e1fae9b.1698829473.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311011611580.2125691@ubuntu-linux-20-04-desktop>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com> <8e7762db94449c18e88171658c758a227e1fae9b.1698829473.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 1 Nov 2023, Nicola Vetrini wrote:
> To avoid a violation of MISRA C:2012 Rule 8.4, as permitted
> by docs/misra/rules.rst.
> 
> The current_stack_pointer is a declaration: mark it as such
> for ECLAIR.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 23:29:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 23:29:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626668.977118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyKeI-0002SD-D5; Wed, 01 Nov 2023 23:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626668.977118; Wed, 01 Nov 2023 23:29: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 1qyKeI-0002S6-9n; Wed, 01 Nov 2023 23:29:22 +0000
Received: by outflank-mailman (input) for mailman id 626668;
 Wed, 01 Nov 2023 23: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=r+92=GO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qyKeH-0002S0-6J
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 23:29:21 +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 7a7f504d-790e-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 00:29:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 05DCB61233;
 Wed,  1 Nov 2023 23:29:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 13098C433CB;
 Wed,  1 Nov 2023 23:29: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: 7a7f504d-790e-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1698881357;
	bh=jLP55AhZNUPirGPSeE/kbsSZXw7glcsOCUFgNe7H0Dc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=s4nuXyzz0mHd1h6FNyy7lzJfc/MClrUAy6JjElFpb+xYeGO5x6Bo9PPrWvKX3xz4q
	 kLlaE4Cw2a5LTz3+/N35ov1nYC/+ElT6tlFKdm9efPNif+iyF8qzTxqvouiq19/abu
	 TWmw8mb0AYp4nqzpfFo/TUOXBB4B9IvuakVShjYovtjnNQ70YXwpQ4jGInM7tMUARD
	 NSx+wHoQPC1BcVfcPZUzr7CyZO4bdVLPmYk6801oNX3ey9dNCKK0I9Wcij9OvIV3Q2
	 B1xfCYXqchX8fLUwHPKwwOtTgo/P2suASlOnLi7mx/nUDA+MDBKvJXchhq2hAVcYHi
	 F/1kMPlvvYI6w==
Date: Wed, 1 Nov 2023 16:29:16 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Mario Marietto <marietto2008@gmail.com>
cc: viryaos-discuss@lists.sourceforge.net, xen-devel@lists.xenproject.org, 
    sstabellini@kernel.org
Subject: Re: Imagebuilder can't compute correctly the memory addresses of
 our images
In-Reply-To: <CA+1FSig5MXNme=+3Z-nK3BGtxAuRLSk8U0w9RkfHj3nn8AAXAg@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2311011614100.2125691@ubuntu-linux-20-04-desktop>
References: <CA+1FSig5MXNme=+3Z-nK3BGtxAuRLSk8U0w9RkfHj3nn8AAXAg@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-654589276-1698880451=:2125691"
Content-ID: <alpine.DEB.2.22.394.2311011614130.2125691@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-654589276-1698880451=:2125691
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311011614131.2125691@ubuntu-linux-20-04-desktop>

Hi Mario,

Replies inline below


On Wed, 1 Nov 2023, Mario Marietto wrote:
> Hello to everyone.
> 
> We are a team of linux enthusiasts who are trying to boot Xen on a Samsung XE303C12 Chromebook aka "snow" , following the suggestions in
> the slide show presentation here:
> 
> https://www.slideshare.net/xen_com_mgr/xpds16-porting-xen-on-arm-to-a-new-soc-julien-grall-arm
> 
> This device uses an exynos5250 SOC dual core 1.7 GHz with 2 MB RAM, it is
> a Samsung armv7 chip with virtualization extensions.
> 
> In particular, we have it working fairly well both on the bare metal with
> a recent 6.1.59 Linux LTS kernel and also with a recent 5.4.257 LTS
> kernel with KVM, the older LTS kernel version is used to test KVM because
> support for KVM on arm v7 was removed from Linux around kernel version
> 5.7. So we know we have the hypervisor mode enabled because we were able
> to use it with KVM.
> 
> For Xen, we are using the latest Debian build of Xen 4.17 for the Debian
> armhf architecture:
> 
> (XEN) Xen version 4.17.2-pre (Debian 4.17.1+2-gb773c48e36-1)
> (pkg-xen-devel@xxxxxxxxxxxxxxxxxxxxxxx) (arm-linux-gnueabihf-gcc (Debian 12.2.0-14) 12.2.0) debug=n Thu May 18 19:26:30 UTC 2023
> 
> The Linux kernel is a custom build that adds the Xen config kernel
> options (CONFIG_XEN_DOM0, etc) on top of a kernel that works well on the
> same Chromebook model on the bare metal.
> 
> Our method of booting is to have u-boot boot the Xen hypervisor and load
> the device tree after adding the dom0 to the otherwise unaltered device
> tree from the Linux kernel using u-boot fdt commands to add a /chosen
> node, as described on the Xen wiki and in the pages linked from there. We
> have also tried adding and loading an initrd.img using the device tree
> /chosen node but that made no difference in our tests.
> 
> The workflow is the following :
> 
> a) let's create the file xen-config-6.1.59 :
> 
> MEMORY_START="0x0"
> MEMORY_END="0x80000000"
> LOAD_CMD="ext2load mmc 1:3"
> BOOT_CMD="bootm"
> DEVICE_TREE="exynos5250-snow-6.1.59-stb-xen-cbe+.dtb"
> XEN="xen-4.17-armhf"
> XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> DOM0_KERNEL="zImage-6.1.59-xen-mixer-off"
> DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> UBOOT_SOURCE="xen.source"
> UBOOT_SCRIPT="xen.scr"
> 
> b) let's create gen-script.sh :
> 
> bash ./uboot-script-gen -c xen-config-6.1.59 -d .
> 
> c) let's run the script gen-script.sh :
> 
> # ./gen-script
> 
> Image Name:    
> Created:      Wed Nov  1 14:34:23 2023
> Image Type:   ARM Linux Kernel Image (uncompressed)
> Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
> Load Address: 01800000
> Entry Point:  01800000
> Generated uboot script xen.scr, to be loaded at address 0xC00000:
> ext2load mmc 1:3 0xC00000 xen.scr; source 0xC00000
 
This step is confusing: step b) should directly generate xen.scr. There
is no ./gen-script to run.

 
> d) let's give a look inside the file xen.scr because we need some memory address that it has generated :
> 
> 
> ext2load mmc 1:3 0x1800000 xen-4.17-armhf.ub
> ext2load mmc 1:3 0x1A00000 exynos5250-snow-6.1.59-stb-xen-cbe+.dtb

Here the Dom0 kernel is missing?


> fdt addr 0x1A00000
> fdt resize 1024
> fdt set /chosen \#address-cells <0x2>
> fdt set /chosen \#size-cells <0x2>
> fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> fdt mknod /chosen dom0
> fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> fdt set /chosen/dom0 reg <0x0 0xE00000 0x0 0x816110 >
> fdt set /chosen xen,dom0-bootargs "console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> setenv fdt_high 0xffffffffffffffff
> bootm 0x1800000 - 0x1A00000
> 
> As you can see it has generated a lot of interesting memory addresses,but unfortunately they are all wrong,except for one,this :
> 
> 0x816110
> 
> This is well calculated.

What do you mean they are wrong? Which ones are wrong?

Imagebuilder will pick addresses 2MB aligned starting from a 2MB offset
from MEMORY_START.

So both 0x1800000 and 0x1A00000 should be good addresses because they
are in the MEMORY_START-MEMORY_END range.

There is one issue though: the dom0 kernel address 0xE00000 is not
present among the loading commands. 


> e) let's write this template,called "bootxen.source" :
> 
> mmc dev 1
> ext2load mmc 1:3 0x42000000 zImage-6.1.59-xen-mixer-off
> ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.59-stb-xen-cbe+.dtb
> fdt addr 0x5ffec000
> fdt resize 1024
> fdt set /chosen \#address-cells <0x2>
> fdt set /chosen \#size-cells <0x2>
> fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> fdt mknod /chosen dom0
> fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x816110 >
> fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused --no-log"
> bootm 0x51000000 - 0x5ffec000
> 
> As you can see,we can use only one value generated by your script : 0x816110
> The other values have been generated manually by us,not by your script,
> because the values that it produces are wrong.

If you explain why they are wrong, we can find a way to fix them. As
mentioned, they are just 2MB aligned address started at an offset from
MEMORY_START. Is it possible that you need to configure MEMORY_START and
MEMORY_END properly for your device?

For instance you should be able to get ImageBuilder to generate
addresses similar to the ones you chose if you use:

MEMORY_START="0x41e00000"
MEMORY_END="0x60000000"



> f) let's create the script to-scr.sh :
> 
> mkimage -A arm -T script -C none -a 0x50000000 -e 0x50000000 -d bootxen.source bootxen.scr
> 
> g) type these commands to boot Xen and Linux 6.1.59 as dom0 :
> 
> SMDK5250 # mmc dev 1
> SMDK5250 # ext2load mmc 1:3 0x50000000 bootxen.scr; source 0x50000000
> 
> We would like that your script was able to generate every value correctly.
> Is this possible ? Why does it,instead,fail in most cases ?

Sure it should be possible.
--8323329-654589276-1698880451=:2125691--


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 23:30:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 23:30:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626671.977128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyKfH-0003qq-PS; Wed, 01 Nov 2023 23:30:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626671.977128; Wed, 01 Nov 2023 23:30: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 1qyKfH-0003qj-MS; Wed, 01 Nov 2023 23:30:23 +0000
Received: by outflank-mailman (input) for mailman id 626671;
 Wed, 01 Nov 2023 23:30:22 +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 1qyKfG-0003qV-6V
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 23:30:22 +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 1qyKfF-0008DY-KQ; Wed, 01 Nov 2023 23:30:21 +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 1qyKfF-0007xN-7y; Wed, 01 Nov 2023 23:30: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:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=dhJ/etmUDjW6epQfiaacmo0FmAD08Ix58n7Dzp56Xg4=; b=sxxgHv
	jTibZAmBlzqRlhGbGejQLmfuSoxLtJ8tK8e9q+aLXOrkZXF1ghSND0MnFeoEvDRn2bN7KZvhJ50e8
	LXQn4OGCRIT5ePoR34VQVWY41lna8wFGvVGpOCMxw9kAju++NsrSnXZRNdsO9CrVhk/YeoIDEUPQr
	nLO7auLbQaY=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	michal.orzel@amd.com,
	ayan.kumar.halder@amd.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/2] xen/arm32: Improve logging during early boot
Date: Wed,  1 Nov 2023 23:30:09 +0000
Message-Id: <20231101233011.83098-1-julien@xen.org>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Hi all,

This small series is based on some debugging I added while investigating
f5a49eb7f8b3 ("xen/arm32: head: Add mising isb in
switch_to_runtime_mapping()").

This will make easier to narrow down where the CPU is stuck while
enabling the MMU.

Julien Grall (2):
  xen/arm32: head: Rework how the fixmap and early UART mapping are
    prepared
  xen/arm32: head: Improve logging in head.S

 xen/arch/arm/arm32/head.S               | 106 +++++++++++++-----------
 xen/arch/arm/include/asm/asm_defns.h    |   6 +-
 xen/arch/arm/include/asm/early_printk.h |   3 +
 xen/arch/arm/include/asm/mmu/layout.h   |   4 +
 xen/arch/arm/mm.c                       |   5 ++
 xen/arch/arm/xen.lds.S                  |   1 +
 6 files changed, 75 insertions(+), 50 deletions(-)

-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 23:30:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 23:30:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626672.977132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyKfI-0003uD-1b; Wed, 01 Nov 2023 23:30:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626672.977132; Wed, 01 Nov 2023 23: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 1qyKfH-0003u3-Tf; Wed, 01 Nov 2023 23:30:23 +0000
Received: by outflank-mailman (input) for mailman id 626672;
 Wed, 01 Nov 2023 23:30: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 1qyKfH-0003qb-1G
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 23:30: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 1qyKfG-0008Dg-OZ; Wed, 01 Nov 2023 23:30:22 +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 1qyKfG-0007xN-Gd; Wed, 01 Nov 2023 23:30: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=odBcBVL9cWHvRFL9NbKIk3kHR3WNFMecqyNNuQSt4r8=; b=NtUFjz6xs5m3RzGg8Siu88cIdf
	YrOvVjHxc0Z2ejwtorMvVdUYGMyRzR0tasbf5c9ZI3b65cF9tYrijCojClY+uxna1z4oOUUGUqDD4
	82Bp//nPQILsxv8r+fjnw2cRM/llm8slJuHIR9MzJ+ylp4lMGQe6NmKnCoR6qrZy0llk=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	michal.orzel@amd.com,
	ayan.kumar.halder@amd.com,
	Julien Grall <jgrall@amazon.com>,
	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/2] xen/arm32: head: Rework how the fixmap and early UART mapping are prepared
Date: Wed,  1 Nov 2023 23:30:10 +0000
Message-Id: <20231101233011.83098-2-julien@xen.org>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20231101233011.83098-1-julien@xen.org>
References: <20231101233011.83098-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Since commit 5e213f0f4d2c ("xen/arm32: head: Widen the use of the
temporary mapping"), boot_second (used to cover regions like Xen and
the fixmap) will not be mapped if the identity mapping overlap.

So it is ok to prepare the fixmap table and link it in boot_second
earlier. With that, the fixmap can also be used earlier via the
temporary mapping.

Therefore split setup_fixmap() in two:
    * The table is now linked in create_page_tables() because
      the boot page tables needs to be recreated for every CPU.
    * The early UART mapping is only added for the boot CPU0 as the
      fixmap table is not cleared when secondary CPUs boot.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/arm32/head.S | 48 ++++++++-------------------------------
 1 file changed, 9 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 33b038e7e0ca..fec2433e568f 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -183,12 +183,16 @@ past_zImage:
         bl    check_cpu_mode
         bl    cpu_init
         bl    create_page_tables
+        /* Add the UART mapping if requested */
+#ifdef CONFIG_EARLY_PRINTK
+        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
+        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
+#endif
 
         /* Address in the runtime mapping to jump to after the MMU is enabled */
         mov_w lr, primary_switched
         b     enable_mmu
 primary_switched:
-        bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
@@ -456,11 +460,6 @@ ENDPROC(cpu_init)
  * Rebuild the boot pagetable's first-level entries. The structure
  * is described in mm.c.
  *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
  * Inputs:
  *   r9 : paddr(start)
  *   r10: phys offset
@@ -488,6 +487,10 @@ create_page_tables:
         add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
 .endr
 
+        /* Map the fixmap into boot_second */
+        mov_w r0, FIXMAP_ADDR(0)
+        create_table_entry boot_second, xen_fixmap, r0, 2
+
         /*
          * Find the size of Xen in pages and multiply by the size of a
          * PTE. This will then be compared in the mapping loop below.
@@ -718,39 +721,6 @@ remove_temporary_mapping:
         mov  pc, lr
 ENDPROC(remove_temporary_mapping)
 
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   r10: Physical offset
- *   r11: Early UART base physical address
- *
- * Clobbers r0 - r4
- */
-setup_fixmap:
-#if defined(CONFIG_EARLY_PRINTK)
-        /* Add UART to the fixmap table */
-        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
-        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
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        mov   pc, lr
-ENDPROC(setup_fixmap)
-
 /*
  * Setup the initial stack and jump to the C world
  *
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 23:30:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 23:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626673.977148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyKfJ-0004Ld-96; Wed, 01 Nov 2023 23:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626673.977148; Wed, 01 Nov 2023 23:30: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 1qyKfJ-0004LS-5w; Wed, 01 Nov 2023 23:30:25 +0000
Received: by outflank-mailman (input) for mailman id 626673;
 Wed, 01 Nov 2023 23:30: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 1qyKfI-00048C-Dn
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 23:30: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 1qyKfI-0008Dy-4m; Wed, 01 Nov 2023 23:30:24 +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 1qyKfH-0007xN-PI; Wed, 01 Nov 2023 23:30: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:MIME-Version:References:
	In-Reply-To:Message-Id:Date:Subject:Cc:To:From;
	bh=o8VZQgPoWYFxMhNL2bV9PEPd6/WmxcCBwhJiRXA0y5U=; b=dWLDcstJOp/FVw1s1VBEJSCLBY
	rSmScWiJNUdCspgFdGubUEFuoFxJMrOxorzuIvpKfE0l4qlPQ1uwcnDU2A8JlQrJWO+JIdge0N5Hm
	bHIPQZP9gqDK48hS1Fwvk3uAx0JTxaXpcEro7N/EaWH2rhL8IdLSVoZAZS//eV+6ckvA=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com,
	michal.orzel@amd.com,
	ayan.kumar.halder@amd.com,
	Julien Grall <jgrall@amazon.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/2] xen/arm32: head: Improve logging in head.S
Date: Wed,  1 Nov 2023 23:30:11 +0000
Message-Id: <20231101233011.83098-3-julien@xen.org>
X-Mailer: git-send-email 2.40.1
In-Reply-To: <20231101233011.83098-1-julien@xen.org>
References: <20231101233011.83098-1-julien@xen.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

The sequence to enable the MMU on arm32 is quite complex as we may need
to jump to a temporary mapping to map Xen.

Recently, we had one bug in the logic (see f5a49eb7f8b3 ("xen/arm32:
head: Add mising isb in switch_to_runtime_mapping()") and it was
a pain to debug because there are no logging.

In order to improve the logging in the MMU switch we need to add
support for early printk while running on the identity mapping
and also on the temporary mapping.

For the identity mapping, we have only the first page of Xen mapped.
So all the strings should reside in the first page. For that purpose
a new macro PRINT_ID is introduced.

For the temporary mapping, the fixmap is already linked the temporary
area (and so does the UART). So we just need to update the register
storing the UART address (i.e. r11) to point to the UART temporary
mapping.

Take the opportunity to introduce mov_w_on_cond in order to
conditionally execute mov_w and avoid branches.

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 xen/arch/arm/arm32/head.S               | 68 ++++++++++++++++++++-----
 xen/arch/arm/include/asm/asm_defns.h    |  6 ++-
 xen/arch/arm/include/asm/early_printk.h |  3 ++
 xen/arch/arm/include/asm/mmu/layout.h   |  4 ++
 xen/arch/arm/mm.c                       |  5 ++
 xen/arch/arm/xen.lds.S                  |  1 +
 6 files changed, 71 insertions(+), 16 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index fec2433e568f..bd61521a9dea 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -46,9 +46,13 @@
  * Move an immediate constant into a 32-bit register using movw/movt
  * instructions.
  */
+.macro mov_w_on_cond cond, reg, word
+        movw\cond  \reg, #:lower16:\word
+        movt\cond  \reg, #:upper16:\word
+.endm
+
 .macro mov_w reg, word
-        movw  \reg, #:lower16:\word
-        movt  \reg, #:upper16:\word
+        mov_w_on_cond al, \reg, \word
 .endm
 
 /*
@@ -104,16 +108,26 @@
  */
 #ifdef CONFIG_EARLY_PRINTK
 /*
- * Macro to print a string to the UART, if there is one.
+ * Macros to print a string to the UART, if there is one.
+ *
+ * There are multiple flavors:
+ *  - PRINT_SECT(section, string): The @string will be located in @section
+ *  - PRINT(): The string will be located in .rodata.str.
+ *  - PRINT_ID(): When Xen is running on the Identity Mapping, it is
+ *    only possible to have a limited amount of Xen. This will create
+ *    the string in .rodata.idmap which will always be mapped.
  *
  * Clobbers r0 - r3
  */
-#define PRINT(_s)           \
-        mov   r3, lr       ;\
-        adr_l r0, 98f      ;\
-        bl    puts         ;\
-        mov   lr, r3       ;\
-        RODATA_STR(98, _s)
+#define PRINT_SECT(section, string)         \
+        mov   r3, lr                       ;\
+        adr_l r0, 98f                      ;\
+        bl    puts                         ;\
+        mov   lr, r3                       ;\
+        RODATA_SECT(section, 98, string)
+
+#define PRINT(string) PRINT_SECT(.rodata.str, string)
+#define PRINT_ID(string) PRINT_SECT(.rodata.idmap, string)
 
 /*
  * Macro to print the value of register \rb
@@ -129,6 +143,7 @@
 
 #else /* CONFIG_EARLY_PRINTK */
 #define PRINT(s)
+#define PRINT_ID(s)
 
 .macro print_reg rb
 .endm
@@ -183,11 +198,6 @@ past_zImage:
         bl    check_cpu_mode
         bl    cpu_init
         bl    create_page_tables
-        /* Add the UART mapping if requested */
-#ifdef CONFIG_EARLY_PRINTK
-        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
-        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
-#endif
 
         /* Address in the runtime mapping to jump to after the MMU is enabled */
         mov_w lr, primary_switched
@@ -593,6 +603,21 @@ enable_mmu:
         mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
         isb                          /* Now, flush the icache */
 
+        /*
+         * At this stage, the UART address will depend on whether the
+         * temporary mapping was created or not.
+         *
+         * If it was, then the UART will be mapped in the temporary
+         * area. Otherwise, it will be mapped at runtime virtual
+         * mapping.
+         */
+#ifdef CONFIG_EARLY_PRINTK
+        teq   r12, #1               /* Was the temporary mapping created? */
+        mov_w_on_cond eq, r11, TEMPORARY_EARLY_UART_VIRTUAL_ADDRESS
+        mov_w_on_cond ne, r11, EARLY_UART_VIRTUAL_ADDRESS
+#endif
+        PRINT_ID("- Paging turned on -\r\n")
+
         /*
          * The MMU is turned on and we are in the 1:1 mapping. Switch
          * to the runtime mapping.
@@ -643,12 +668,14 @@ switch_to_runtime_mapping:
         teq   r12, #0
         beq   ready_to_switch
 
+        PRINT_ID("- Switching to the temporary mapping -\r\n")
         /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
         mov_w r0, 1f
         add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
         mov   pc, r0
 
 1:
+        PRINT("- Running on the temporary mapping  -\r\n")
         /* Remove boot_second_id */
         mov   r2, #0
         mov   r3, #0
@@ -659,6 +686,8 @@ switch_to_runtime_mapping:
 
         flush_xen_tlb_local r0
 
+        PRINT("- 1:1 mapping removed -\r\n")
+
         /* Map boot_second into boot_pgtable */
         mov_w r0, XEN_VIRT_START
         create_table_entry boot_pgtable, boot_second, r0, 1
@@ -671,7 +700,10 @@ switch_to_runtime_mapping:
          */
         isb
 
+        PRINT("- Runtime mapping mapped -\r\n")
 ready_to_switch:
+        PRINT("- Jumping to runtime address -\r\n")
+
         mov   pc, lr
 ENDPROC(switch_to_runtime_mapping)
 
@@ -795,6 +827,14 @@ init_uart:
         early_uart_init r11, r1, r2
 #endif
         PRINT("- UART enabled -\r\n")
+
+        /*
+         * Add the UART mapping to the fixmap so the UART can be used
+         * as the MMU is on.
+         */
+        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
+        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
+
         mov   pc, lr
 ENDPROC(init_uart)
 
diff --git a/xen/arch/arm/include/asm/asm_defns.h b/xen/arch/arm/include/asm/asm_defns.h
index 29a9dbb002fa..ec803c0a370c 100644
--- a/xen/arch/arm/include/asm/asm_defns.h
+++ b/xen/arch/arm/include/asm/asm_defns.h
@@ -22,11 +22,13 @@
 # error "unknown ARM variant"
 #endif
 
-#define RODATA_STR(label, msg)                  \
-.pushsection .rodata.str, "aMS", %progbits, 1 ; \
+#define RODATA_SECT(section, label, msg)         \
+.pushsection section, "aMS", %progbits, 1 ;     \
 label:  .asciz msg;                             \
 .popsection
 
+#define RODATA_STR(label, msg) RODATA_SECT(.rodata.str, label, msg)
+
 #define ASM_INT(label, val)                 \
     .p2align 2;                             \
 label: .long (val);                         \
diff --git a/xen/arch/arm/include/asm/early_printk.h b/xen/arch/arm/include/asm/early_printk.h
index c5149b2976da..c1e84f8b0009 100644
--- a/xen/arch/arm/include/asm/early_printk.h
+++ b/xen/arch/arm/include/asm/early_printk.h
@@ -19,6 +19,9 @@
 #define EARLY_UART_VIRTUAL_ADDRESS \
     (FIXMAP_ADDR(FIXMAP_CONSOLE) + (CONFIG_EARLY_UART_BASE_ADDRESS & ~PAGE_MASK))
 
+#define TEMPORARY_EARLY_UART_VIRTUAL_ADDRESS \
+    (TEMPORARY_FIXMAP_ADDR(FIXMAP_CONSOLE) + (CONFIG_EARLY_UART_BASE_ADDRESS & ~PAGE_MASK))
+
 #endif /* !CONFIG_EARLY_PRINTK */
 
 #endif
diff --git a/xen/arch/arm/include/asm/mmu/layout.h b/xen/arch/arm/include/asm/mmu/layout.h
index da6be276ac5f..68855c4f3184 100644
--- a/xen/arch/arm/include/asm/mmu/layout.h
+++ b/xen/arch/arm/include/asm/mmu/layout.h
@@ -113,6 +113,10 @@
       (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
 
 #define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
+#define TEMPORARY_FIXMAP_VIRT_START TEMPORARY_AREA_ADDR(FIXMAP_VIRT_START)
+
+#define TEMPORARY_FIXMAP_ADDR(n)                    \
+     (TEMPORARY_FIXMAP_VIRT_START + (n) * PAGE_SIZE)
 
 #else /* ARM_64 */
 
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index c34cc94c907a..6ffa45c53be6 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -193,7 +193,12 @@ static void __init __maybe_unused build_assertions(void)
 #ifdef CONFIG_ARM_32
     CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
     CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START,
+                    TEMPORARY_FIXMAP_VIRT_START);
+    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START,
+                    TEMPORARY_FIXMAP_VIRT_START);
     CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+    CHECK_SAME_SLOT(second, FIXMAP_VIRT_START, TEMPORARY_FIXMAP_VIRT_START);
 #endif
 
 #undef CHECK_SAME_SLOT
diff --git a/xen/arch/arm/xen.lds.S b/xen/arch/arm/xen.lds.S
index 59b80d122fd0..20598c6963ce 100644
--- a/xen/arch/arm/xen.lds.S
+++ b/xen/arch/arm/xen.lds.S
@@ -35,6 +35,7 @@ SECTIONS
        _idmap_start = .;
        *(.text.header)
        *(.text.idmap)
+       *(.rodata.idmap)
        _idmap_end = .;
 
        *(.text.cold)
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 01 23:31:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 23:31:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626677.977157 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyKfs-0005Kv-Gm; Wed, 01 Nov 2023 23:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626677.977157; Wed, 01 Nov 2023 23:31: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 1qyKfs-0005Ko-EC; Wed, 01 Nov 2023 23:31:00 +0000
Received: by outflank-mailman (input) for mailman id 626677;
 Wed, 01 Nov 2023 23:30: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=r+92=GO=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qyKfr-0004vU-BK
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 23:30:59 +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 b60f73ae-790e-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 00:30:58 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 3E66FB81AD4;
 Wed,  1 Nov 2023 23:30:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8DA2FC433C9;
 Wed,  1 Nov 2023 23:30: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: b60f73ae-790e-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1698881457;
	bh=JxUtRxESUN+aCwM4FjmhZNb0/hDgfR/VIt2KMA7rS1E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DP88gazjYIU5slexLf+BCn5Bm2j3gpXZFNWA0FG2TIxgYnb4g7AImjTvjCKL2HdWc
	 4y4xb+xlbuYKl+pA+K73cFmjbr9HZBYUy1E2UoHsB/dqu1gzvjEsLfS/oDmmzRzmbY
	 vuzMnkv2rJYXp0wqw3nHH+jicyHGtjFEIYMWGXUTUWPecZCl/k2GSXybMML7icJNMn
	 TH1fTmzm+D/lYDUYN0js7x89Bj0TLeIdoTpwvFOAlOl4WI6DRItNguJ36NJSGoNEa2
	 7LLJxAEHfqowxCdLuQA7C2r4bnWVR0fhMqXhHtzUhRVxBFJtreLAIkyLFCLr1htw0+
	 IJDrKD2lEKTSw==
Date: Wed, 1 Nov 2023 16:30:55 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Vikram Garhwal <vikram.garhwal@amd.com>
cc: qemu-devel@nongnu.org, sstabellini@kernel.org, 
    Peter Maydell <peter.maydell@linaro.org>, 
    Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
    "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>, 
    "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [QEMU][PATCH v1] Xen: Fix xen_set_irq() and
 xendevicemodel_set_irq_level()
In-Reply-To: <20231101210724.27263-1-vikram.garhwal@amd.com>
Message-ID: <alpine.DEB.2.22.394.2311011630390.2125691@ubuntu-linux-20-04-desktop>
References: <20231101210724.27263-1-vikram.garhwal@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 1 Nov 2023, Vikram Garhwal wrote:
> Remove '=' from 'if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41500'.
> Because xendevicemodel_set_irq_level() was introduced in 4.15 version.
> 
> Also, update xendevicemodel_set_irq_level() to return -1 for older versions.
> 
> Signed-off-by: Vikram Garhwal <vikram.garhwal@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  hw/arm/xen_arm.c            | 4 +++-
>  include/hw/xen/xen_native.h | 4 ++--
>  2 files changed, 5 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
> index f83b983ec5..a5631529d0 100644
> --- a/hw/arm/xen_arm.c
> +++ b/hw/arm/xen_arm.c
> @@ -75,7 +75,9 @@ static MemoryRegion ram_lo, ram_hi;
>  
>  static void xen_set_irq(void *opaque, int irq, int level)
>  {
> -    xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level);
> +    if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
> +        error_report("xendevicemodel_set_irq_level failed");
> +    }
>  }
>  
>  static void xen_create_virtio_mmio_devices(XenArmState *xam)
> diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
> index 5d2718261f..6f09c48823 100644
> --- a/include/hw/xen/xen_native.h
> +++ b/include/hw/xen/xen_native.h
> @@ -523,12 +523,12 @@ static inline int xen_set_ioreq_server_state(domid_t dom,
>                                                   enable);
>  }
>  
> -#if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41500
> +#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 41500
>  static inline int xendevicemodel_set_irq_level(xendevicemodel_handle *dmod,
>                                                 domid_t domid, uint32_t irq,
>                                                 unsigned int level)
>  {
> -    return 0;
> +    return -1;
>  }
>  #endif
>  
> -- 
> 2.17.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 23:42:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 23:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626689.977168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyKqx-00084S-Hq; Wed, 01 Nov 2023 23:42:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626689.977168; Wed, 01 Nov 2023 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 1qyKqx-00084L-E0; Wed, 01 Nov 2023 23:42:27 +0000
Received: by outflank-mailman (input) for mailman id 626689;
 Wed, 01 Nov 2023 23: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 1qyKqw-00083T-3q
 for xen-devel@lists.xenproject.org; Wed, 01 Nov 2023 23: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 1qyKqu-0000Bd-0m; Wed, 01 Nov 2023 23:42:24 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234] helo=[10.95.171.35])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qyKqt-0008Tj-QE; Wed, 01 Nov 2023 23:42: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=t/QocEKePTtl9pN3esZXXg4SfjmCBZ5f+JDBmYXH6cc=; b=k8g5jciYzDxr+sJfEzLUvfcgSH
	7f3b7qkq1v3iC0QOK/AIQFs9+0pkbq4XgWHTD/L69h3XHztj93YUZquYvAlYPoTQH2FL27Votvfrw
	5XG8quTQocAJcahly/fZ3e9YRZ4IpV0t+Y0MXi8NMEE9Pfyc/Zk48GVkKiVgRgvcpyhg=;
Message-ID: <b914ac93-2499-4bfd-a60a-51a9f1c170ec@xen.org>
Date: Wed, 1 Nov 2023 23:42:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19 v6 2/8] x86: add deviation for asm-only
 functions
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
 <a1b5c3b273145c35535fed3647bf850d9ae5db7f.1698829473.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2311011609360.2125691@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2311011609360.2125691@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 01/11/2023 23:10, Stefano Stabellini wrote:
> On Wed, 1 Nov 2023, Nicola Vetrini wrote:
>> As stated in rules.rst, functions used only in asm modules
>> are allowed to have no prior declaration visible when being
>> defined, hence these functions are marked with an
>> 'asmlinkage' macro, which is then deviated for MISRA C:2012
>> Rule 8.4.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Changes in v3:
>> - added SAF deviations for vmx counterparts to svm functions.
>> Changes in v5:
>> - drop SAF deviations in favour of the pseudo-attribute asmlinkage
>> Changes in v6:
>> - conditioned asmlinkage definition to make it overridable;
>> - move the pseudo-attribute after the return type
>> ---
>>   automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++
>>   docs/misra/deviations.rst                        | 6 ++++++
>>   xen/arch/x86/hvm/svm/intr.c                      | 2 +-
>>   xen/arch/x86/hvm/svm/nestedsvm.c                 | 2 +-
>>   xen/arch/x86/hvm/svm/svm.c                       | 4 ++--
>>   xen/arch/x86/hvm/vmx/intr.c                      | 2 +-
>>   xen/arch/x86/hvm/vmx/vmx.c                       | 4 ++--
>>   xen/arch/x86/hvm/vmx/vvmx.c                      | 2 +-
>>   xen/arch/x86/traps.c                             | 2 +-
>>   xen/arch/x86/x86_64/traps.c                      | 2 +-
>>   xen/include/xen/compiler.h                       | 5 +++++
>>   11 files changed, 30 insertions(+), 10 deletions(-)
>>
>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> index fa56e5c00a27..06619ecf7e8d 100644
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -163,6 +163,15 @@ Therefore the absence of prior declarations is safe."
>>   -config=MC3R1.R8.4,reports+={safe, "first_area(any_loc(file(gcov)))"}
>>   -doc_end
>>   
>> +-doc_begin="Recognize the occurrence of current_stack_pointer as a declaration."
>> +-file_tag+={asm_defns, "^xen/arch/x86/include/asm/asm_defns\\.h$"}
>> +-config=MC3R1.R8.4,declarations+={safe, "loc(file(asm_defns))&&^current_stack_pointer$"}
>> +-doc_end
>> +
>> +-doc_begin="asmlinkage is a marker to indicate that the function is only used to interface with asm modules."
>> +-config=MC3R1.R8.4,declarations+={safe,"loc(text(^(?s).*asmlinkage.*$, -1..0))"}
>> +-doc_end
>> +
>>   -doc_begin="The following variables are compiled in multiple translation units
>>   belonging to different executables and therefore are safe."
>>   -config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>> index 8511a189253b..d468da2f5ce9 100644
>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -133,6 +133,12 @@ Deviations related to MISRA C:2012 Rules:
>>          configuration. Therefore, the absence of prior declarations is safe.
>>        - Tagged as `safe` for ECLAIR.
>>   
>> +   * - R8.4
>> +     - Functions and variables used only by asm modules are either marked with
>> +       the `asmlinkage` macro or with a SAF-1-safe textual deviation
>> +       (see safe.json).
>> +     - Tagged as `safe` for ECLAIR.
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> If Julien prefers a different wording I could modify on commit as needed

I think my comment on the previous version was misunderstood. I have 
asked to replace all SAF-1 with asmlinkage and I thought you agreed with 
that.

This is a similar situation to octal-ok. I don't think it is right to 
have multiple ways to tag a deviation.

I don't particular want to see more added, and I would like the current 
ones to be gone. So what's the plan to remove SAF-1-safe?

At minimum, the deviation should be extremely clear that there **must** 
be no new use of SAF-1-safe. Something like:

"- Functions and variables used only by asm modules are either marked 
with the `asmlinkage` macro. Existing code may use SAF-1-safe textual 
deviation (see safe.json) but new code should not use it.
"

Obviously this is not my preference.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 01 23:48:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 01 Nov 2023 23:48:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626694.977178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyKwU-0001MO-AA; Wed, 01 Nov 2023 23:48:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626694.977178; Wed, 01 Nov 2023 23: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 1qyKwU-0001MH-70; Wed, 01 Nov 2023 23:48:10 +0000
Received: by outflank-mailman (input) for mailman id 626694;
 Wed, 01 Nov 2023 23:48: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 1qyKwT-0001M7-Nd; Wed, 01 Nov 2023 23:48: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 1qyKwT-0000JA-Fd; Wed, 01 Nov 2023 23:48: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 1qyKwT-0007O2-6d; Wed, 01 Nov 2023 23:48:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyKwT-0002pt-69; Wed, 01 Nov 2023 23:48: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=GtkQ6iO3X/LzHJJF0ik93J+iTy0IQRy4aQAqxqbMfPY=; b=EenNZtVBuHYAlBoU2bpgECCPPH
	9zkvxbdeMd8QzL27iWTcf1Jfuuzb+Tu3pMYLk5T7l/xK7s3KF7hOIPxyymFLncI5hVj69+hyelxVQ
	O1i7mXKZ/H1/UJy9vdpQckuiby8BtIQ6CVlnY+q7JpIIY2B6H+vjdryxAeb2g5kfC05w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183648-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183648: regressions - trouble: fail/pass/starved
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale: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-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=8bc9e6515183935fa0cccaf67455c439afe4982b
X-Osstest-Versions-That:
    linux=ffc253263a1375a65fa6c9f62a893e9767fbebfa
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 01 Nov 2023 23:48:09 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183617
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183617
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183617

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183617
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183617
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183617
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183617
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183617
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183617
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183617
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183617
 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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-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-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                8bc9e6515183935fa0cccaf67455c439afe4982b
baseline version:
 linux                ffc253263a1375a65fa6c9f62a893e9767fbebfa

Last test of basis   183617  2023-10-30 08:36:55 Z    2 days
Failing since        183625  2023-10-31 02:27:44 Z    1 days    4 attempts
Testing same since   183648  2023-11-01 12:40:22 Z    0 days    1 attempts

------------------------------------------------------------
866 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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 test-amd64-amd64-qemuu-nested-amd                            fail    
 test-amd64-amd64-xl-pvhv2-amd                                pass    
 test-amd64-amd64-dom0pvh-xl-amd                              starved 
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 123323 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 00:26:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 00:26:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626701.977188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyLXl-0001se-25; Thu, 02 Nov 2023 00:26:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626701.977188; Thu, 02 Nov 2023 00:26: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 1qyLXk-0001sW-VD; Thu, 02 Nov 2023 00:26:40 +0000
Received: by outflank-mailman (input) for mailman id 626701;
 Thu, 02 Nov 2023 00:26: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=Y1wU=GP=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qyLXj-0001sN-HZ
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 00:26:39 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b98b500-7916-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 01:26:37 +0100 (CET)
Received: from AM0PR08CA0032.eurprd08.prod.outlook.com (2603:10a6:208:d2::45)
 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.6933.29; Thu, 2 Nov
 2023 00:26:34 +0000
Received: from AM3PEPF0000A797.eurprd04.prod.outlook.com
 (2603:10a6:208:d2:cafe::49) by AM0PR08CA0032.outlook.office365.com
 (2603:10a6:208:d2::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Thu, 2 Nov 2023 00:26:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A797.mail.protection.outlook.com (10.167.16.102) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 00:26:33 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Thu, 02 Nov 2023 00:26:33 +0000
Received: from 93f59d61cafb.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BBE28683-B3D6-4E22-B76A-95054C3FFD28.1; 
 Thu, 02 Nov 2023 00:26:27 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 93f59d61cafb.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Nov 2023 00:26:27 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU5PR08MB10634.eurprd08.prod.outlook.com (2603:10a6:10:51c::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Thu, 2 Nov
 2023 00:26:24 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 00:26: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: 7b98b500-7916-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=e0W8Yp8LjE1x77fkHek3bP77BaQVl4PjgelCWifRxWniSHEhkfzA56hdlHaj0y0C/6Zg95UiB51JNEwjYwCu2352X+xq8CBCuufhuzPjUP9yLc2MhQSAy1SbBcWWCjPTPangVNA1B+Uwdk7WtgFUqowmGRdjh3rEAK/K9ZhI1RWt6cW6237WUYQOXqyFELuqPw6yJoBAvYrHw9TB4oqeCbgHF6UZtT/kkumBHbIXhwdIE/X28Xc6lOgyDg2v9MVM59xosspnuo59OQkAQz3nwa/1JhngMBaxoD/7Jw/vBNxknTw0KC8d/kdThVwRIa+8y8t8bMGdoLJwUzBJXMyjAg==
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=l+xx6dDF8TT3KbcbkiNHfoWYhRPgmYTT5dC2i1/z2E4=;
 b=aK8iHgk+BMKkCuGN1HxCmnpnvqZL7EEgnKyZrDyKHLCJgDDHS+7P0mHb9/b+wnA1oZjokVHUeavQVi2mIMHtU1IGipWhC9JMPBtUb13CWZzylk+FjlLJn+BSsEoMCV+eA1Mkj5n81yb260Ug5QxCbFJ8C19qAjHc2fibloKRQyt00ctulrUDjDvtNzTaYcBlF3WRDbwAG3LFJaG6JZnHbuZfo94NnjqoCLO20WiYfIfY0PPlCvCj12N7597R13YDNAMVfOV2J9YD2Su7i94B8cVrv/27rjIS1fNxZSNlK6yn44xUgzGpxa9r1rXHVlpdrvw6/8TYUMol0Qfnykip3A==
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=l+xx6dDF8TT3KbcbkiNHfoWYhRPgmYTT5dC2i1/z2E4=;
 b=HHK5GYVmFVWdaw0zJu+lsbdBVuDhWjo8oeKyZw7miZNSg+3S0dhyq/tiDZN57ltPfAshiLvetzVbKehtgwwpZz/pYQ0TwsHBx64FTubPc48DDuKFhwJ8oO5OBcMhhClIjfV/7lKMxA+PUlFyTvkyP0oSp0NHi0XXAnJ4btzEqlk=
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: a56ca0576b01a7cb
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MkaXXqwWZBeDCDKk0UcLluy7Khh5ITk4eWPIaEtx44G8717JAXJhC+QHKVnHMjyuJWp18naN1x1/Y2UxCdCA88mRhvCdhTfZK1DFvOJUqzACE7SqLQTJ93BiOYH4iR0Q76rWwLb0w0w8Q0Afr/aUabry9tTTiXQEv2iDW0ZtHTkrHKgy2hHA5zEnkYEsHY4g7bq+4oWIavQG208asPLeRNWf3h7l5GG+nyAcQBd74SfmghXrgu9bQ/1kfmNGF115DQeb1FUVXICKEAWTfdrhbQ5EXbOe8aUyH24yrPJgCN6exvghJCAH6uuH02DAjVQ9JmkBSTcFjeptVjfPYghOqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=l+xx6dDF8TT3KbcbkiNHfoWYhRPgmYTT5dC2i1/z2E4=;
 b=V5KmQJa57Zk4T2hTDUDaVTA7hVvvqtIShA5lk9EwUYtwO5/ymeOxHjmWkOCTJgGc/AemQVZLIjvBHewYa7Nw5AAIvfzC1mcsYYWwwoJbTXgk+mAsb7qSWrl3Xrh8xLRrdWFwDlU34zBPF5diypGfig5bHoMRx+LcIkAkinmUT7Tt08fRgI99nBiJ3Qgh0YHofFJI+oqtcatqYTgbYe3rcPIsy24MMoYykFi3oj+2q1+Zx/IfLCOGDxlURPi3OJvOgQ6XzyNFq3EYtxiC0dmm8ifPNsuefpCF7Hr50XAkkEirbtb1fzjjJ9sCn6tGlxUCm7CWV0UEcoK8KCxOMltL8A==
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=l+xx6dDF8TT3KbcbkiNHfoWYhRPgmYTT5dC2i1/z2E4=;
 b=HHK5GYVmFVWdaw0zJu+lsbdBVuDhWjo8oeKyZw7miZNSg+3S0dhyq/tiDZN57ltPfAshiLvetzVbKehtgwwpZz/pYQ0TwsHBx64FTubPc48DDuKFhwJ8oO5OBcMhhClIjfV/7lKMxA+PUlFyTvkyP0oSp0NHi0XXAnJ4btzEqlk=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH for-4.18] x86/time: Fix UBSAN failure in
 __update_vcpu_system_time()
Thread-Topic: [PATCH for-4.18] x86/time: Fix UBSAN failure in
 __update_vcpu_system_time()
Thread-Index: AQHaDQNMdo+Q+JMNb0ag5u1DRain9LBmLFYA
Date: Thu, 2 Nov 2023 00:26:22 +0000
Message-ID: <90D9EFC1-E865-496F-A57D-4A6C2C84D756@arm.com>
References: <20231101203737.3441425-1-andrew.cooper3@citrix.com>
In-Reply-To: <20231101203737.3441425-1-andrew.cooper3@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU5PR08MB10634:EE_|AM3PEPF0000A797:EE_|AS8PR08MB6200:EE_
X-MS-Office365-Filtering-Correlation-Id: eb807b22-91b3-4514-a692-08dbdb3a5e51
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:
 69jV6ySwaHvivJcA32njM+++6eaPNz4E9t7807Z7pDEhgBtji2qTClsonJ1Yv4sAjcBdRuTTEHLGRQS6W4AS8zKNlOD1aEmFGRIoUQiuVr3LR/Juu3v62WCM5bZP5KGaPWiYQS1jLwW5U4esucMILIxO+kUj8g2NcRb5CeASo6SsDiHSADCBq4FBrAidZkAePt9wfabkK9WWBRLkNCbfDnJ06UqsDVKstxCJ5m9JJaS5ehveUIhGNRnT30JFLMdpQiLN8zQYdjKm+W+EOvL+7r00H1BHATyiNakVhKieJAV3hULO4CoGMSsDEn23IYki5Zdvp7G+sHFYS4lf6i6T76PXkTrPle/9UvSVG9y3DkNUi2mU5BNc4vZ6yBAuiEBwjX5wh3t18aXzTf1B/09O9DMyyhzT3HDdxoM8b4poboRpe3/lNAMI/MDLa5RK2wD+7UZmkLgDss/kCXsW1DGfzk19tbOJiwtMOMiJO+mhILDphpR5kALuQINdB5/fqddUy5tpIcL4LqL7cVURFzkeeDY7UwmMRiVedj2rTUXTcKbNl2GBCE6uN3HKAnHKs4Xk6Q8NYPVn2GgI5QT2CscZmrFdyFAxNc+5FK3GzSpc26tbBTEbIuAxYDRJyhMedInE1e+NRgliINx9BpkTw67SfQ==
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:(13230031)(376002)(136003)(366004)(396003)(39860400002)(346002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(33656002)(36756003)(86362001)(26005)(53546011)(2616005)(71200400001)(122000001)(38070700009)(38100700002)(6506007)(83380400001)(6512007)(6486002)(478600001)(2906002)(54906003)(91956017)(66946007)(41300700001)(66446008)(316002)(66476007)(76116006)(6916009)(8936002)(66556008)(4326008)(8676002)(5660300002)(64756008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0C518F11C1DB464B99A4A5F926F1E059@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10634
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:
 AM3PEPF0000A797.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c5136df9-7588-42ef-a492-08dbdb3a57ae
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZNdNG1UveGfGSxPmZ82aWpK94ShVel+Mm4bgLfy/8ahIFamvWfZMfhkOFC3lW2xm4vUGVjYxti/dSPlGdHAaggWaNr3zRMuKZwiXXwcCSohAH0MlvxxWTZhISsStkmD2lWOJfBpOn/92fr/pKnTfwFdCfUMMlmv8LGsKIBCWFETa9CJu4a+pj+l3Lx9Wh03dBsvWbPow40bwEgODBRGHRw7iLDZ0wLQsi4imzHFAqvh9ge+zNh/4Cp57lBpoJOp+aE5W4AX3Lf88PqHgAXq6uFBbdNDFCvnbniCLYBqPL0Xj3BSLeRGiBTXEkVYHLlSkb1622eDhzqPplSJeABLh14hOEbNaNiwxEIeSG/nPY8F3bsImAgFp/mtS9Zp65vF0hs5UZJ3hK4o8vnvOO2SgCBSAwkp0a/LvmETXdkoucx6rbGpZHxEG5ZyosZOXlHLNkRCi/ppnE17dnclrAN1DP/DtzTDo/XXlxn/687tjSrEEUfA4wCp/4Enk/q/AkqUYzM1V9ExBn0WybdrneZ8JlNS8VbBezISkmbPLbKNwin469UU8qCVjnukjZftVHwWJ45GgtWBzall/ds0HicQgt1xASvHRiJNV7LRuYirNzQ/AC3LrKdOK6NwnUFA7OAP7tN6jBANcW4HwmAvwz3Now3IKo+eJjYZYhVmsRfxqbCVN1mHKFvYGhQik9dx8dQCAd5vhNDh7/309qkfPiWq15hRZ0y6IcV2HuyFo7mB2nrU=
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:(13230031)(4636009)(39860400002)(136003)(346002)(396003)(376002)(230922051799003)(82310400011)(64100799003)(186009)(1800799009)(451199024)(46966006)(36840700001)(40470700004)(6512007)(26005)(40460700003)(40480700001)(33656002)(82740400003)(36756003)(86362001)(81166007)(356005)(36860700001)(6506007)(83380400001)(2906002)(2616005)(478600001)(53546011)(47076005)(316002)(8936002)(8676002)(54906003)(6862004)(6486002)(336012)(4326008)(41300700001)(5660300002)(70586007)(70206006);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 00:26:33.9583
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eb807b22-91b3-4514-a692-08dbdb3a5e51
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:
	AM3PEPF0000A797.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6200

SGkgQW5kcmV3LA0KDQo+IE9uIE5vdiAyLCAyMDIzLCBhdCAwNDozNywgQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6DQo+IA0KPiBBcyByZXBvcnRlZDoNCj4g
DQo+ICAoWEVOKSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiAgKFhFTikgVUJTQU46IFVuZGVm
aW5lZCBiZWhhdmlvdXIgaW4gYXJjaC94ODYvdGltZS5jOjE1NDI6MzINCj4gIChYRU4pIG1lbWJl
ciBhY2Nlc3Mgd2l0aGluIG51bGwgcG9pbnRlciBvZiB0eXBlICd1bmlvbiB2Y3B1X2luZm9fdCcN
Cj4gIChYRU4pIC0tLS1bIFhlbi00LjE5LXVuc3RhYmxlICB4ODZfNjQgIGRlYnVnPXkgdWJzYW49
eSAgTm90IHRhaW50ZWQgXS0tLS0NCj4gIC4uLg0KPiAgKFhFTikgWGVuIGNhbGwgdHJhY2U6DQo+
ICAoWEVOKSAgICBbPGZmZmY4MmQwNDAzNDUwMzY+XSBSIGNvbW1vbi91YnNhbi91YnNhbi5jI3Vi
c2FuX2VwaWxvZ3VlKzB4YS8weGQyDQo+ICAoWEVOKSAgICBbPGZmZmY4MmQwNDAzNDU2ZTg+XSBG
IF9fdWJzYW5faGFuZGxlX3R5cGVfbWlzbWF0Y2grMHgxMzMvMHg0OWINCj4gIChYRU4pICAgIFs8
ZmZmZjgyZDA0MDM0NWI0YT5dIEYgX191YnNhbl9oYW5kbGVfdHlwZV9taXNtYXRjaF92MSsweGZh
LzB4ZmMNCj4gIChYRU4pICAgIFs8ZmZmZjgyZDA0MDYyMzM1Nj5dIEYgYXJjaC94ODYvdGltZS5j
I19fdXBkYXRlX3ZjcHVfc3lzdGVtX3RpbWUrMHgyMTIvMHgzMGYNCj4gIChYRU4pICAgIFs8ZmZm
ZjgyZDA0MDYyMzQ2MT5dIEYgdXBkYXRlX3ZjcHVfc3lzdGVtX3RpbWUrMHhlLzB4MTANCj4gIChY
RU4pICAgIFs8ZmZmZjgyZDA0MDYyMzg5ZD5dIEYgYXJjaC94ODYvdGltZS5jI2xvY2FsX3RpbWVf
Y2FsaWJyYXRpb24rMHgxZjcvMHg1MjMNCj4gIChYRU4pICAgIFs8ZmZmZjgyZDA0MDJhNjRiNT5d
IEYgY29tbW9uL3NvZnRpcnEuYyNfX2RvX3NvZnRpcnErMHgxZjQvMHgzMWENCj4gIChYRU4pICAg
IFs8ZmZmZjgyZDA0MDJhNjdhZD5dIEYgZG9fc29mdGlycSsweDEzLzB4MTUNCj4gIChYRU4pICAg
IFs8ZmZmZjgyZDA0MDVhOTVkYz5dIEYgYXJjaC94ODYvZG9tYWluLmMjaWRsZV9sb29wKzB4MmUw
LzB4MzY3DQo+ICAoWEVOKQ0KPiAgKFhFTikgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCj4gDQo+
IEl0IGlzIG5vdCB2YWxpZCB0byBkZXJpdmUgYSBwb2ludGVyIGZyb20gdmNwdV9pbmZvKCkgcHJp
b3IgdG8gY2hlY2tpbmcgdGhhdA0KPiB0aGUgdW5kZXJseWluZyBtYXAgcG9pbnRlciBpcyBnb29k
Lg0KPiANCj4gUmVvcmRlciBhY3Rpb25zIHNvIHRoZSBOVUxMIHBvaW50ZXIgY2hlY2sgaXMgZmly
c3QuDQo+IA0KPiBGaXhlczogMjAyNzlhZmQ3MzIzICgieDg2OiBzcGxpdCBwb3B1bGF0aW5nIG9m
IHN0cnVjdCB2Y3B1X3RpbWVfaW5mbyBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24iKQ0KPiBTaWdu
ZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiAt
LS0NCj4gQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4NCj4gQ0M6IFJvZ2VyIFBh
dSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiBDQzogV2VpIExpdSA8d2xAeGVuLm9y
Zz4NCj4gQ0M6IEhlbnJ5IFdhbmcgPEhlbnJ5LldhbmdAYXJtLmNvbT4NCj4gDQo+IDQuMTggYmxv
Y2tlciwgb3Igd2UnbGwgbmVlZCB0byBpc3N1ZSBhbiBYU0EvQ1ZFLg0KDQpSZWxlYXNlLWFja2Vk
LWJ5OiBIZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQoNCktpbmQgcmVnYXJkcywNCkhl
bnJ5DQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 00:35:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 00:35:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626706.977198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyLgF-0004G2-35; Thu, 02 Nov 2023 00:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626706.977198; Thu, 02 Nov 2023 00: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 1qyLgE-0004Fv-VG; Thu, 02 Nov 2023 00:35:26 +0000
Received: by outflank-mailman (input) for mailman id 626706;
 Thu, 02 Nov 2023 00: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=Y1wU=GP=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qyLgD-0004FT-9h
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 00:35:25 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0630.outbound.protection.outlook.com
 [2a01:111:f400:fe02::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5db61e2-7917-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 01:35:24 +0100 (CET)
Received: from AM6PR10CA0015.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:89::28)
 by DBAPR08MB5655.eurprd08.prod.outlook.com (2603:10a6:10:1ab::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Thu, 2 Nov
 2023 00:35:14 +0000
Received: from AM3PEPF0000A792.eurprd04.prod.outlook.com
 (2603:10a6:209:89:cafe::ca) by AM6PR10CA0015.outlook.office365.com
 (2603:10a6:209:89::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Thu, 2 Nov 2023 00:35:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A792.mail.protection.outlook.com (10.167.16.121) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 00:35:12 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Thu, 02 Nov 2023 00:35:12 +0000
Received: from 1026e5851ebd.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E803DCE3-A45D-4C9B-984E-910DA0C02ED1.1; 
 Thu, 02 Nov 2023 00:35:06 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1026e5851ebd.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Nov 2023 00:35:06 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by VI1PR08MB5536.eurprd08.prod.outlook.com (2603:10a6:803:13b::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.32; Thu, 2 Nov
 2023 00:35:00 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 00:35: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: b5db61e2-7917-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=VjwMM5kczdu70Tz8X+8akBrNbXKqDdV23UR6NCeSoPimLKdysspgnb+gcnpiMfKmchlkCpsYEIMJ8JRwiyc7p8jYrtj5SyI+hW2LyOfgDJBiPl7wTv5UggPG2pSfUU1cS8j/sgbyac97vmVVXgB9IgHPW4dxPVbXOhSqIgtbRJkhD/DIKVswECRjCHwaSmA3e9h4KiUEvxXvSbIeXo5oV6cIut8z5/+GNrCCcWba4g+iPrjRrxO6XaPF8PceYhpLU2F4XR/lJsiSh+z2wH5G9DWQu2htmXE5BF3mxszNTz2UBGeTOqci3VN7qQG85C7E46a5rCvVCxyswyLcWuVD8A==
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=uY0i+bDrufiyejQEaFO9AjtV3Y0S6iYwwdp4/pVT21s=;
 b=HG8UIUTRGG/YK4zy7bB12MURHKZOKLwzCgYeXv3hbHwgusmqSJNXwI+wOf1tR6QKUMqVfMh0gZITWod7nzkDgUD9i5LWSBL3xg/fS8ArWRT3tsUMsXeuyLpnEz2ysM1jDtwis9VtwGElACRaOcOXuNAnRQ3eHtk7k2VSo0V7cbX8HfntzrrM7VolBCFLvcoLOkL6eO7r1jiB+UYo2NGg5GkBTBcqh3g9Yihag5ecnD3CSGOrfgLW/z8RPjGTwWp19YDJtEgSwB4ObyIJrO8MNaqwQPYrxZRXwvM3zQFQUGwIFisLZxSuith58yk4CKGsqbfSObLNa38On8cr5Ut5xw==
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=uY0i+bDrufiyejQEaFO9AjtV3Y0S6iYwwdp4/pVT21s=;
 b=mjmsXskY/oIHfyU/v1NJ+JnjlodrPyoAJU0pSR9I4CKZiJVw30fLHUquh4zjyoHh+l5lYhiMwRiNaSycATt4t0kJ14hbN9WhIGqUxFRtQxt4lHUTwtwWUxgYB7TRmuYZQZfgs0soAS/ZagXvPZr3ljMPN9CqfkOZBXxDctZCGtQ=
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: dce25e8c3f18d8d2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UFM/s9MeQEgXNRaE371PNN3jBIf1Xx04BaAI5+eJom4NT8za43Za6LUZOvrfvp8t6lIzEeuKl7490lCpk44Od4tk5+h4SVkZFs6OpsyPsvpgdYgsmcZnZsHifG5rmwZnfdy/t3b3VsnD8GLR27kaJ8QU+Fyvr9QYbHNVjTZHCtrpH4aiSt4R+4K1DhXCkW2/LXoaCwUYPMaRmG9ZvPHp+Nq6NgJVgIBmJwK41Wqylj1P9YfzxavBAa3Q/V8cABQniUsWNMiPKUdQFGnmYdu7ikL/zrXuomsyOJMB70QA1dOw3bRKYaIjgJoNvPi0GwZqhgFmSmX064S5xQRttCV0zg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uY0i+bDrufiyejQEaFO9AjtV3Y0S6iYwwdp4/pVT21s=;
 b=hqyEM1puu8ttVQKPM194coIB92Pz6pscrGrVU9/Ul4dcMYV2+9e66/UxT/gVLwARpWEeeTJvIwkiNYNq0oUktbEw/o64yFxPlkHxiEz3xLEMpRgC73kx4af2VMYzHnJ9dKW4xI1tfv26wJcdv+6pWspkYh0XUzr/ek7SWG0lbZSvB85mB16wAqJw7cq0GpSSPtm65eLU4O75kbL0Rd8Z0QOV+YA4dWKphH6Y8kXdq6qAJH1mArlu/4y5hf88K2yCnPiEShb7fr/OMmguT0ZMUMbURImubkEoW+5ztq+XLvr8R7wMzgJD7mslOyJIqi94r36CKdaQP9hQ0+sblqTTVg==
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=uY0i+bDrufiyejQEaFO9AjtV3Y0S6iYwwdp4/pVT21s=;
 b=mjmsXskY/oIHfyU/v1NJ+JnjlodrPyoAJU0pSR9I4CKZiJVw30fLHUquh4zjyoHh+l5lYhiMwRiNaSycATt4t0kJ14hbN9WhIGqUxFRtQxt4lHUTwtwWUxgYB7TRmuYZQZfgs0soAS/ZagXvPZr3ljMPN9CqfkOZBXxDctZCGtQ=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v8 8/8] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Thread-Topic: [PATCH v8 8/8] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Thread-Index: AQHaBVa3sLk3IeHXfE+9kkvgtQfUTbBl2VsAgABkvgA=
Date: Thu, 2 Nov 2023 00:35:00 +0000
Message-ID: <EA7BFF62-76A3-494B-B3EF-67E0664F98E8@arm.com>
References: <20231023021345.1731436-1-Henry.Wang@arm.com>
 <20231023021345.1731436-9-Henry.Wang@arm.com>
 <fcc12d0f-5529-4f2a-a721-f6f92410e5b7@xen.org>
In-Reply-To: <fcc12d0f-5529-4f2a-a721-f6f92410e5b7@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|VI1PR08MB5536:EE_|AM3PEPF0000A792:EE_|DBAPR08MB5655:EE_
X-MS-Office365-Filtering-Correlation-Id: cd623140-bc9a-41a4-ecb2-08dbdb3b938c
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:
 JvD5m/p6BXv1AnMZeTFJKAZckKlc14ZuNjMtIx35l082KbOqI0K1s+G/75rwKc2XbJf06PiIdazck5wo+4rny8SLCd9gbGctDVBNsITPRQC8SYQhQ67Ioten7xlCxMXWhHXbJBurJMJZxh3L2FRGw5kCn00tFlrQW0CAlaqkAR562CNet4HIBUfEGg3yoxAoFrgwMz34r7OTmmvPKieSWOul+CyyQZLA9z1DFFYGPqAH6+Iq/Dp8mWPsKhy8nRD75OkuJnCHWEvVGGHMlzUUeIkJ9y2VYvDp87vNwgQaa1oLOCwJ8euba07DHK6RshhLi/Uj/nFdex2IfRioMpIxtH4oYFyeb/yltjIKGLbS9FG3KTIrLeLkPO48DQx3xXRcMRLIRc/pj9vKvDMHEB9RQAeh8l+uk35i45NG6n8RzUzByPdbs/zv703bpncXDB3UfqlcMCxZUX5JW7r8AiBnBAqjalNCPeoxC9auvxIJMDEtFPq/jhtIHqGZljfBXLIKaan32u7I6IxVuvWi7lZ6iugZ1j58VL2PYqhs0eF1dgYjTOxRtpk5Q+FQ3goiPdQzte8Vtm5crrXxvO0XF444XyjHZyROFwql9pO/r4Io2Z9q8Pyq8n4PVEpMoKfbgCIsvI193u7YIVP/2sC/RD1KyQ==
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:(13230031)(39850400004)(366004)(396003)(136003)(376002)(346002)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(316002)(54906003)(36756003)(8936002)(4326008)(41300700001)(6916009)(8676002)(5660300002)(64756008)(38100700002)(122000001)(66446008)(66476007)(2906002)(2616005)(26005)(66556008)(66946007)(6486002)(478600001)(86362001)(83380400001)(76116006)(91956017)(33656002)(71200400001)(6512007)(53546011)(6506007)(38070700009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <FDAD0627D53C2F4C92E57E7F98E641FD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5536
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:
 AM3PEPF0000A792.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	1a51d054-b0c6-4a3d-20b1-08dbdb3b8c39
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2sOzDffOsUwiOd0g30F4p8pXDotp5DDOsDhbu3XHexhWapfDCleeH1E/sq4Ah9cfoNEFJhpXPdBgxvF8tRb/72uMtba/7lK907nIyiwVDwRtYfwdRAglW0wP4GOeLp/3fB6y6hcPsjojxVfopPPwEpTJYrt3JYmchKAs3kVCUwwD8OQYxJH7ncv+UAMABwsReqMar4/7wFsDabHWhVpGe0jHZ9kwqmFvJlKZzWt6Shwx4kzQLzk/Csoy5AF+1+k0rQE8O/sG3EIuvmmpcaOasGeD74bU5tg4iFElnO3glX1D2Umfkq8x7pEjHyp2WKS0/t8wgJMSSIs3iJVEptpbtTkHGV7V2uMUK8ORhdWnHc50VKO0ymwgZjXJBqQUh/EQtKg5RDVxGIJv2GfNhqUm+neoqkR6fD+yfVCQuHQzzaXnsGXl2s4bLoRs35Ai0ivjOdsk9IEj+f/6YW/LakNxZTH8QAqQrMx9arISTdOODTrrYJAegHykTAE8t2uImRbbJY7NPwrftwFs3dIdkU9jlAWfO9b1MvbgB4Y7pxxMYfNXHfTz3/uOYvYEEmknj8p0QKxGe/+b2k8WDqmMR0iKqfL+tpvja2m6MYhQ0EWPijwFBjUV2IGqf5qlgckTZjWSp6+RiuW6NjbxvIZoEXL+kxEryueCmA7/gLZSYAcMaSxG7tpnVF6l58XH0h20S53RDXsdE7NmK/AkdOE18cUUZmMrIZclGOCSBI5ZQYj3oNxuY3KH0TcKFV6y+LE4+q52
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:(13230031)(4636009)(396003)(136003)(346002)(39850400004)(376002)(230922051799003)(82310400011)(451199024)(186009)(64100799003)(1800799009)(36840700001)(46966006)(40470700004)(47076005)(336012)(40460700003)(70586007)(54906003)(316002)(70206006)(26005)(4326008)(8676002)(40480700001)(8936002)(6862004)(83380400001)(5660300002)(82740400003)(36756003)(6486002)(81166007)(478600001)(33656002)(2906002)(53546011)(6506007)(356005)(6512007)(86362001)(36860700001)(41300700001)(2616005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 00:35:12.7471
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cd623140-bc9a-41a4-ecb2-08dbdb3b938c
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:
	AM3PEPF0000A792.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5655

SGkgSnVsaWVuLA0KDQo+IE9uIE5vdiAyLCAyMDIzLCBhdCAwMjozNCwgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+IA0KPiBIaSBIZW5yeSwNCj4gDQo+IE9uIDIzLzEwLzIw
MjMgMDM6MTMsIEhlbnJ5IFdhbmcgd3JvdGU6DQo+PiBGcm9tOiBQZW5ueSBaaGVuZyA8cGVubnku
emhlbmdAYXJtLmNvbT4NCj4+IEN1cnJlbnQgUDJNIGltcGxlbWVudGF0aW9uIGlzIGRlc2lnbmVk
IGZvciBNTVUgc3lzdGVtIG9ubHkuDQo+PiBXZSBtb3ZlIHRoZSBNTVUtc3BlY2lmaWMgY29kZXMg
aW50byBtbXUvcDJtLmMsIGFuZCBvbmx5IGtlZXAgZ2VuZXJpYw0KPj4gY29kZXMgaW4gcDJtLmMs
IGxpa2UgVk1JRCBhbGxvY2F0b3IsIGV0Yy4gV2UgYWxzbyBtb3ZlIE1NVS1zcGVjaWZpYw0KPj4g
ZGVmaW5pdGlvbnMgYW5kIGRlY2xhcmF0aW9ucyB0byBtbXUvcDJtLmgsIHN1Y2ggYXMgcDJtX3Rs
Yl9mbHVzaF9zeW5jKCkuDQo+PiBBbHNvIGV4cG9zZSBwcmV2aW91c2x5IHN0YXRpYyBmdW5jdGlv
bnMgcDJtX3ZtaWRfYWxsb2NhdG9yX2luaXQoKSwNCj4+IHAybV9hbGxvY192bWlkKCkgZm9yIGZ1
cnRoZXIgTVBVIHVzYWdlLiBTaW5jZSB3aXRoIHRoZSBjb2RlIG1vdmVtZW50DQo+PiBwMm1fZnJl
ZV92bWlkKCkgaXMgbm93IHVzZWQgaW4gdHdvIGZpbGVzLCBhbHNvIGV4cG9zZSBwMm1fZnJlZV92
bWlkKCkuDQo+PiBXaXRoIHRoZSBjb2RlIG1vdmVtZW50LCBnbG9iYWwgdmFyaWFibGUgbWF4X3Zt
aWQgaXMgdXNlZCBpbiBtdWx0aXBsZQ0KPj4gZmlsZXMgaW5zdGVhZCBvZiBhIHNpbmdsZSBmaWxl
IChhbmQgd2lsbCBiZSB1c2VkIGluIE1QVSBQMk0NCj4+IGltcGxlbWVudGF0aW9uKSwgZGVjbGFy
ZSBpdCBpbiB0aGUgaGVhZGVyIGFuZCByZW1vdmUgdGhlICJzdGF0aWMiIG9mDQo+PiB0aGlzIHZh
cmlhYmxlLg0KPj4gQWxzbywgc2luY2UgcDJtX2ludmFsaWRhdGVfcm9vdCgpIHNob3VsZCBiZSBN
TVUgb25seSBhbmQgYWZ0ZXIgdGhlDQo+PiBjb2RlIG1vdmVtZW50IHRoZSBvbmx5IGNhbGxlciBv
ZiBwMm1faW52YWxpZGF0ZV9yb290KCkgb3V0c2lkZSBvZg0KPj4gbW11L3AybS5jIGlzIGFyY2hf
ZG9tYWluX2NyZWF0aW9uX2ZpbmlzaGVkKCksIGNyZWF0aW5nIGEgbmV3IGZ1bmN0aW9uDQo+PiBu
YW1lZCBwMm1fZG9tYWluX2NyZWF0aW9uX2ZpbmlzaGVkKCkgaW4gbW11L3AybS5jIGZvciB0aGUg
b3JpZ2luYWwNCj4+IGNvZGUgaW4gYXJjaF9kb21haW5fY3JlYXRpb25fZmluaXNoZWQoKSwgYW5k
IG1hcmtpbmcNCj4+IHAybV9pbnZhbGlkYXRlX3Jvb3QoKSBhcyBzdGF0aWMuDQo+PiBUYWtlIHRo
ZSBvcHBvcnR1bml0eSB0byBmaXggdGhlIGluY29ycmVjdCBjb2Rpbmcgc3R5bGUgd2hlbiBwb3Nz
aWJsZS4NCj4+IFdoZW4gdGhlcmUgaXMgYml0IHNoaWZ0IGluIG1hY3JvcywgdGFrZSB0aGUgb3Bw
b3J0dW5pdHkgdG8gYWRkIHRoZQ0KPj4gbWlzc2luZyAnVScgYXMgYSBjb21wbGlhbmNlIG9mIE1J
U1JBLg0KPj4gU2lnbmVkLW9mZi1ieTogUGVubnkgWmhlbmcgPHBlbm55LnpoZW5nQGFybS5jb20+
DQo+PiBTaWduZWQtb2ZmLWJ5OiBXZWkgQ2hlbiA8d2VpLmNoZW5AYXJtLmNvbT4NCj4+IFNpZ25l
ZC1vZmYtYnk6IEhlbnJ5IFdhbmcgPEhlbnJ5LldhbmdAYXJtLmNvbT4NCj4gDQo+IEFja2VkLWJ5
OiBKdWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPg0KDQpUaGFua3MhDQoNCj4gDQo+IEkg
dGhpbmsgdGhlIHNlcmllcyBpcyBub3cgZnVsbHkgYWNrZWQuIEJ1dCBJIHdpbGwgd2FpdCBmb3Ig
NC4xOCB0byBiZSByZWxlYXNlZCBiZWZvcmUgbWVyZ2luZyB0aGlzIHNlcmllcy4NCg0KSSB0aGlu
ayB0aGUgdGhpcmQgcGF0Y2ggInhlbi9hcm06IEZvbGQgbW11X2luaXRfc2Vjb25kYXJ5X2NwdSgp
IHRvIGhlYWQuU+KAnSB3aWxsIG5lZWQgdGhlDQpkb3VibGUgY2hlY2sgZnJvbSB5b3VyIHNpZGUg
OikNCg0KSGVyZSBpcyB3aGF0IEkgaGF2ZSBsb2NhbGx5LCB0byBzYXZlIHRpbWUgSSB3aWxsIGp1
c3Qgc2hvdyB0aGUgY29udGVudCBoZXJlIGZvciB5b3UgdG8gY2hlY2ssDQphbmQgSSB3aWxsIHB1
c2ggaXQgaW4gdGhlIG5leHQgZmV3IGRheXM6DQoNCmNvbW1pdCBiYTcyZDZkYzE3ZmQ3Y2U5YTg2
M2I5ZTAwYjA2YjMzYzA2OWM3NjQxDQpBdXRob3I6IEhlbnJ5IFdhbmcgPEhlbnJ5LldhbmdAYXJt
LmNvbT4NCkRhdGU6ICAgV2VkIEF1ZyAyMyAxNzo1OTo1MCAyMDIzICswODAwDQoNCiAgICB4ZW4v
YXJtOiBGb2xkIG1tdV9pbml0X3NlY29uZGFyeV9jcHUoKSB0byBoZWFkLlMNCg0KICAgIEN1cnJl
bnRseSBtbXVfaW5pdF9zZWNvbmRhcnlfY3B1KCkgb25seSBlbmZvcmNlcyB0aGUgcGFnZSB0YWJs
ZQ0KICAgIHNob3VsZCBub3QgY29udGFpbiBtYXBwaW5nIHRoYXQgYXJlIGJvdGggV3JpdGFibGUg
YW5kIGVYZWN1dGFibGVzDQogICAgYWZ0ZXIgYm9vdC4gVG8gZWFzZSB0aGUgYXJjaC9hcm0vbW0u
YyBzcGxpdCB3b3JrLCBmb2xkIHRoaXMgZnVuY3Rpb24NCiAgICB0byBoZWFkLlMuDQoNCiAgICBG
b3IgYXJtMzIsIHRoZSBXWE4gYml0IGNhbm5vdCBiZSBzZXQgZWFybHkgYmVjYXVzZSBhdCB0aGUg
cG9pbnQgd2hlbg0KICAgIHRoZSBNTVUgaXMgZW5hYmxlZCwgdGhlIHBhZ2UtdGFibGVzIG1heSBz
dGlsbCBjb250YWluIG1hcHBpbmcgd2hpY2gNCiAgICBhcmUgd3JpdGFibGUgYW5kIGV4ZWN1dGFi
bGUuIFRoZXJlZm9yZSwgaW50cm9kdWNlIGFuIGFzc2VtYmx5IG1hY3JvDQogICAgcHRfZW5mb3Jj
ZV93eG4uIFRoZSBtYWNybyBpcyBjYWxsZWQgYmVmb3JlIHNlY29uZGFyeSBDUFVzIGp1bXBpbmcN
CiAgICBpbnRvIHRoZSBDIHdvcmxkLg0KDQogICAgRm9yIGFybTY0LCBzZXQgdGhlIFNDVExSX0F4
eF9FTHhfV1hOIGZsYWcgcmlnaHQgd2hlbiB0aGUgTU1VIGlzDQogICAgZW5hYmxlZC4gVGhpcyB3
b3VsZCBhdm9pZCB0aGUgZXh0cmEgVExCIGZsdXNoIGFuZCBTQ1RMUiBkYW5jZS4NCg0KICAgIFNp
Z25lZC1vZmYtYnk6IEhlbnJ5IFdhbmcgPEhlbnJ5LldhbmdAYXJtLmNvbT4NCiAgICBDby1hdXRo
b3JlZC1ieTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4NCiAgICBTaWduZWQtb2Zm
LWJ5OiBKdWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPg0KICAgIFNpZ25lZC1vZmYtYnk6
IEF5YW4gS3VtYXIgSGFsZGVyIDxheWFuLmt1bWFyLmhhbGRlckBhbWQuY29tPg0KICAgIC0tLQ0K
ICAgIHY5Og0KICAgIC0gTW92ZSBwdF9lbmZvcmNlX3d4bigpIGZvciBhcm0zMiB1cCBhIGZldyBs
aW5lcy4NCiAgICAtIEFkZCBjb21taXQgbWVzc2FnZSBleHBsYWluaW5nIHdoeSBXWE4gY2Fubm90
IGJlIHNldCBlYXJseSBmb3IgYXJtMzIuDQogICAgLSBDb3JyZWN0IGluLWNvZGUgY29tbWVudCBm
b3IgZW5hYmxlX21tdSgpLg0KICAgIHY4Og0KICAgIC0gQ2hhbmdlIHRoZSBzZXR0aW5nIG9mIFND
VExSX0F4eF9FTHhfV1hOIGZvciBhcm02NCB0byBzZXQgdGhlDQogICAgICBmbGFnIHJpZ2h0IHdo
ZW4gdGhlIE1NVSBpcyBlbmFibGVkLg0KICAgIHY3Og0KICAgIC0gTm8gY2hhbmdlLg0KICAgIHY2
Og0KICAgIC0gTmV3IHBhdGNoLg0KDQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2FybTMyL2hl
YWQuUyBiL3hlbi9hcmNoL2FybS9hcm0zMi9oZWFkLlMNCmluZGV4IDMzYjAzOGU3ZTAuLjJmZWEy
YTg3MmEgMTAwNjQ0DQotLS0gYS94ZW4vYXJjaC9hcm0vYXJtMzIvaGVhZC5TDQorKysgYi94ZW4v
YXJjaC9hcm0vYXJtMzIvaGVhZC5TDQpAQCAtODMsNiArODMsMjUgQEANCiAgICAgICAgIGlzYg0K
IC5lbmRtDQoNCisvKg0KKyAqIEVuZm9yY2UgWGVuIHBhZ2UtdGFibGVzIGRvIG5vdCBjb250YWlu
IG1hcHBpbmcgdGhhdCBhcmUgYm90aA0KKyAqIFdyaXRhYmxlIGFuZCBlWGVjdXRhYmxlcy4NCisg
Kg0KKyAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBvbiBlYWNoIHNlY29uZGFyeSBDUFUuDQorICov
DQorLm1hY3JvIHB0X2VuZm9yY2Vfd3huIHRtcA0KKyAgICAgICAgbXJjICAgQ1AzMihcdG1wLCBI
U0NUTFIpDQorICAgICAgICBvcnIgICBcdG1wLCBcdG1wLCAjU0NUTFJfQXh4X0VMeF9XWE4NCisg
ICAgICAgIGRzYg0KKyAgICAgICAgbWNyICAgQ1AzMihcdG1wLCBIU0NUTFIpDQorICAgICAgICAv
Kg0KKyAgICAgICAgICogVGhlIFRMQnMgbWF5IGNhY2hlIFNDVExSX0VMMi5XWE4uIFNvIGVuc3Vy
ZSBpdCBpcyBzeW5jaHJvbml6ZWQNCisgICAgICAgICAqIGJlZm9yZSBmbHVzaGluZyB0aGUgVExC
cy4NCisgICAgICAgICAqLw0KKyAgICAgICAgaXNiDQorICAgICAgICBmbHVzaF94ZW5fdGxiX2xv
Y2FsIFx0bXANCisuZW5kbQ0KKw0KIC8qDQogICogQ29tbW9uIHJlZ2lzdGVyIHVzYWdlIGluIHRo
aXMgZmlsZToNCiAgKiAgIHIwICAtDQpAQCAtMjQ5LDYgKzI2OCw3IEBAIHNlY29uZGFyeV9zd2l0
Y2hlZDoNCiAgICAgICAgIGRzYg0KICAgICAgICAgaXNiDQogICAgICAgICBmbHVzaF94ZW5fdGxi
X2xvY2FsIHIwDQorICAgICAgICBwdF9lbmZvcmNlX3d4biByMA0KDQogI2lmZGVmIENPTkZJR19F
QVJMWV9QUklOVEsNCiAgICAgICAgIC8qIFVzZSBhIHZpcnR1YWwgYWRkcmVzcyB0byBhY2Nlc3Mg
dGhlIFVBUlQuICovDQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL2FybTY0L21tdS9oZWFkLlMg
Yi94ZW4vYXJjaC9hcm0vYXJtNjQvbW11L2hlYWQuUw0KaW5kZXggODgwNzVlZjA4My4uMzRkZTVk
ZjBjNyAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL2FybS9hcm02NC9tbXUvaGVhZC5TDQorKysgYi94
ZW4vYXJjaC9hcm0vYXJtNjQvbW11L2hlYWQuUw0KQEAgLTI2MywxMSArMjYzLDEzIEBAIEVORFBS
T0MoY3JlYXRlX3BhZ2VfdGFibGVzKQ0KICAqDQogICogSW5wdXRzOg0KICAqICAgeDAgOiBQaHlz
aWNhbCBhZGRyZXNzIG9mIHRoZSBwYWdlIHRhYmxlcy4NCisgKiAgIHgxIDogRXh0cmEgZmxhZ3Mg
b2YgdGhlIFNDVExSLg0KICAqDQotICogQ2xvYmJlcnMgeDAgLSB4NA0KKyAqIENsb2JiZXJzIHgw
IC0geDUNCiAgKi8NCiBlbmFibGVfbW11Og0KICAgICAgICAgbW92ICAgeDQsIHgwDQorICAgICAg
ICBtb3YgICB4NSwgeDENCiAgICAgICAgIFBSSU5UKCItIFR1cm5pbmcgb24gcGFnaW5nIC1cclxu
IikNCg0KICAgICAgICAgLyoNCkBAIC0yODMsNiArMjg1LDcgQEAgZW5hYmxlX21tdToNCiAgICAg
ICAgIG1ycyAgIHgwLCBTQ1RMUl9FTDINCiAgICAgICAgIG9yciAgIHgwLCB4MCwgI1NDVExSX0F4
eF9FTHhfTSAgLyogRW5hYmxlIE1NVSAqLw0KICAgICAgICAgb3JyICAgeDAsIHgwLCAjU0NUTFJf
QXh4X0VMeF9DICAvKiBFbmFibGUgRC1jYWNoZSAqLw0KKyAgICAgICAgb3JyICAgeDAsIHgwLCB4
NSAgICAgICAgICAgICAgICAvKiBFbmFibGUgZXh0cmEgZmxhZ3MgKi8NCiAgICAgICAgIGRzYiAg
IHN5ICAgICAgICAgICAgICAgICAgICAgLyogRmx1c2ggUFRFIHdyaXRlcyBhbmQgZmluaXNoIHJl
YWRzICovDQogICAgICAgICBtc3IgICBTQ1RMUl9FTDIsIHgwICAgICAgICAgIC8qIG5vdyBwYWdp
bmcgaXMgZW5hYmxlZCAqLw0KICAgICAgICAgaXNiICAgICAgICAgICAgICAgICAgICAgICAgICAv
KiBOb3csIGZsdXNoIHRoZSBpY2FjaGUgKi8NCkBAIC0yOTcsMTYgKzMwMCwxNyBAQCBFTkRQUk9D
KGVuYWJsZV9tbXUpDQogICogSW5wdXRzOg0KICAqICAgbHIgOiBWaXJ0dWFsIGFkZHJlc3MgdG8g
cmV0dXJuIHRvLg0KICAqDQotICogQ2xvYmJlcnMgeDAgLSB4NQ0KKyAqIENsb2JiZXJzIHgwIC0g
eDYNCiAgKi8NCiBFTlRSWShlbmFibGVfc2Vjb25kYXJ5X2NwdV9tbSkNCi0gICAgICAgIG1vdiAg
IHg1LCBscg0KKyAgICAgICAgbW92ICAgeDYsIGxyDQoNCiAgICAgICAgIGxvYWRfcGFkZHIgeDAs
IGluaXRfdHRicg0KICAgICAgICAgbGRyICAgeDAsIFt4MF0NCg0KKyAgICAgICAgbW92ICAgeDEs
ICNTQ1RMUl9BeHhfRUx4X1dYTiAgICAgICAgLyogRW5hYmxlIFd4TiBmcm9tIHRoZSBzdGFydCAq
Lw0KICAgICAgICAgYmwgICAgZW5hYmxlX21tdQ0KLSAgICAgICAgbW92ICAgbHIsIHg1DQorICAg
ICAgICBtb3YgICBsciwgeDYNCg0KICAgICAgICAgLyogUmV0dXJuIHRvIHRoZSB2aXJ0dWFsIGFk
ZHJlc3MgcmVxdWVzdGVkIGJ5IHRoZSBjYWxsZXIuICovDQogICAgICAgICByZXQNCkBAIC0zMjAs
MTQgKzMyNCwxNSBAQCBFTkRQUk9DKGVuYWJsZV9zZWNvbmRhcnlfY3B1X21tKQ0KICAqIElucHV0
czoNCiAgKiAgIGxyIDogVmlydHVhbCBhZGRyZXNzIHRvIHJldHVybiB0by4NCiAgKg0KLSAqIENs
b2JiZXJzIHgwIC0geDUNCisgKiBDbG9iYmVycyB4MCAtIHg2DQogICovDQogRU5UUlkoZW5hYmxl
X2Jvb3RfY3B1X21tKQ0KLSAgICAgICAgbW92ICAgeDUsIGxyDQorICAgICAgICBtb3YgICB4Niwg
bHINCg0KICAgICAgICAgYmwgICAgY3JlYXRlX3BhZ2VfdGFibGVzDQogICAgICAgICBsb2FkX3Bh
ZGRyIHgwLCBib290X3BndGFibGUNCg0KKyAgICAgICAgbW92ICAgeDEsICMwICAgICAgICAvKiBO
byBleHRyYSBTQ1RMUiBmbGFncyAqLw0KICAgICAgICAgYmwgICAgZW5hYmxlX21tdQ0KDQogICAg
ICAgICAvKg0KQEAgLTMzNyw3ICszNDIsNyBAQCBFTlRSWShlbmFibGVfYm9vdF9jcHVfbW0pDQog
ICAgICAgICBsZHIgICB4MCwgPTFmDQogICAgICAgICBiciAgICB4MA0KIDE6DQotICAgICAgICBt
b3YgICBsciwgeDUNCisgICAgICAgIG1vdiAgIGxyLCB4Ng0KICAgICAgICAgLyoNCiAgICAgICAg
ICAqIFRoZSAxOjEgbWFwIG1heSBjbGFzaCB3aXRoIG90aGVyIHBhcnRzIG9mIHRoZSBYZW4gdmly
dHVhbCBtZW1vcnkNCiAgICAgICAgICAqIGxheW91dC4gQXMgaXQgaXMgbm90IHVzZWQgYW55bW9y
ZSwgcmVtb3ZlIGl0IGNvbXBsZXRlbHkgdG8NCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5j
bHVkZS9hc20vbW0uaCBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9tbS5oDQppbmRleCBkMjVl
NTlmODI4Li4xNjNkMjJlY2QzIDEwMDY0NA0KLS0tIGEveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNt
L21tLmgNCisrKyBiL3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9tbS5oDQpAQCAtMjE0LDggKzIx
NCw2IEBAIGV4dGVybiB2b2lkIHJlbW92ZV9lYXJseV9tYXBwaW5ncyh2b2lkKTsNCiAvKiBBbGxv
Y2F0ZSBhbmQgaW5pdGlhbGlzZSBwYWdldGFibGVzIGZvciBhIHNlY29uZGFyeSBDUFUuIFNldHMg
aW5pdF90dGJyIHRvIHRoZQ0KICAqIG5ldyBwYWdlIHRhYmxlICovDQogZXh0ZXJuIGludCBpbml0
X3NlY29uZGFyeV9wYWdldGFibGVzKGludCBjcHUpOw0KLS8qIFN3aXRjaCBzZWNvbmRhcnkgQ1BV
UyB0byBpdHMgb3duIHBhZ2V0YWJsZXMgYW5kIGZpbmFsaXNlIE1NVSBzZXR1cCAqLw0KLWV4dGVy
biB2b2lkIG1tdV9pbml0X3NlY29uZGFyeV9jcHUodm9pZCk7DQogLyoNCiAgKiBGb3IgQXJtMzIs
IHNldCB1cCB0aGUgZGlyZWN0LW1hcHBlZCB4ZW5oZWFwOiB1cCB0byAxR0Igb2YgY29udGlndW91
cywNCiAgKiBhbHdheXMtbWFwcGVkIG1lbW9yeS4gQmFzZSBtdXN0IGJlIDMyTUIgYWxpZ25lZCBh
bmQgc2l6ZSBhIG11bHRpcGxlIG9mIDMyTUIuDQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gvYXJtL21t
LmMgYi94ZW4vYXJjaC9hcm0vbW0uYw0KaW5kZXggYjdlYjNhNmUwOC4uOTIzYTkwOTI1YyAxMDA2
NDQNCi0tLSBhL3hlbi9hcmNoL2FybS9tbS5jDQorKysgYi94ZW4vYXJjaC9hcm0vbW0uYw0KQEAg
LTMyNiwxMiArMzI2LDYgQEAgdm9pZCBfX2luaXQgc2V0dXBfcGFnZXRhYmxlcyh1bnNpZ25lZCBs
b25nIGJvb3RfcGh5c19vZmZzZXQpDQogI2VuZGlmDQogfQ0KDQotLyogTU1VIHNldHVwIGZvciBz
ZWNvbmRhcnkgQ1BVUyAod2hpY2ggYWxyZWFkeSBoYXZlIHBhZ2luZyBlbmFibGVkKSAqLw0KLXZv
aWQgbW11X2luaXRfc2Vjb25kYXJ5X2NwdSh2b2lkKQ0KLXsNCi0gICAgeGVuX3B0X2VuZm9yY2Vf
d254KCk7DQotfQ0KLQ0KICNpZmRlZiBDT05GSUdfQVJNXzMyDQogLyoNCiAgKiBTZXQgdXAgdGhl
IGRpcmVjdC1tYXBwZWQgeGVuaGVhcDoNCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc21wYm9v
dC5jIGIveGVuL2FyY2gvYXJtL3NtcGJvb3QuYw0KaW5kZXggZWM3NmRlM2NhYy4uYmViMTM3ZDA2
ZSAxMDA2NDQNCi0tLSBhL3hlbi9hcmNoL2FybS9zbXBib290LmMNCisrKyBiL3hlbi9hcmNoL2Fy
bS9zbXBib290LmMNCkBAIC0zNjEsOCArMzYxLDYgQEAgdm9pZCBzdGFydF9zZWNvbmRhcnkodm9p
ZCkNCiAgICAgICovDQogICAgIHVwZGF0ZV9zeXN0ZW1fZmVhdHVyZXMoJmN1cnJlbnRfY3B1X2Rh
dGEpOw0KDQotICAgIG1tdV9pbml0X3NlY29uZGFyeV9jcHUoKTsNCi0NCiAgICAgZ2ljX2luaXRf
c2Vjb25kYXJ5X2NwdSgpOw0KDQogICAgIHNldF9jdXJyZW50KGlkbGVfdmNwdVtjcHVpZF0pOw0K
DQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQoNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 02:30:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 02:30:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626710.977208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyNTR-0008GJ-Fy; Thu, 02 Nov 2023 02:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626710.977208; Thu, 02 Nov 2023 02: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 1qyNTR-0008GC-CW; Thu, 02 Nov 2023 02:30:21 +0000
Received: by outflank-mailman (input) for mailman id 626710;
 Thu, 02 Nov 2023 02:30: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=Y1wU=GP=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qyNTQ-0008G6-P2
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 02:30:20 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2ebc341-7927-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 03:30:18 +0100 (CET)
Received: from AM6PR0202CA0056.eurprd02.prod.outlook.com
 (2603:10a6:20b:3a::33) by DB5PR08MB10192.eurprd08.prod.outlook.com
 (2603:10a6:10:4a9::5) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Thu, 2 Nov
 2023 02:30:13 +0000
Received: from AMS0EPF000001A1.eurprd05.prod.outlook.com
 (2603:10a6:20b:3a:cafe::3f) by AM6PR0202CA0056.outlook.office365.com
 (2603:10a6:20b:3a::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Thu, 2 Nov 2023 02:30:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A1.mail.protection.outlook.com (10.167.16.231) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 02:30:12 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Thu, 02 Nov 2023 02:30:11 +0000
Received: from 244345b635b2.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3215286C-FECA-4938-A1EB-9267B3592786.1; 
 Thu, 02 Nov 2023 02:30:00 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 244345b635b2.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Nov 2023 02:30:00 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAWPR08MB9006.eurprd08.prod.outlook.com (2603:10a6:102:33f::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Thu, 2 Nov
 2023 02:29:57 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 02: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>
X-Inumbo-ID: c2ebc341-7927-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=YN/FKm4XupnlHxv6d8srl2WU5HgDXuj6Se6m8FGoMC6k5chjoln4EC88bDyMA+lgbMEeCjNd+j6o9j8ySH8S3hpuI9PzZWgOUM4+HZ2NcHbSLlHTQWKmv9k7gwLDGT9pYIA9e5eAdRvSuM0/xr+xXxN2W/UmmdYKPZcj2ka0sprHIL2DtQIXx+yEJro2OZUMfHDTRCDlU3NxtCMgr2hbAEjVQbW4uGdq6+dd9CNVYya7UQKDfMrfZ0n6Cjnfb/tU0CtX7YMS3jESDd4MXAUiaDJLDzcNAPXDb75fGa5xj87x2lE6sVBgZ9FKmmqO2w4YBfmrWcwxzZV+9hXjCG1b8w==
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=Jtxg3k86Voh2Q2GNY+hGzJPlq9sU77v95sycEcpAjQQ=;
 b=gp/dOSJnmzTI0N8RbhY+1L0MGax+4NDQqAp4LjLAn9ZOUBcLCCJRrHFznZq3TIY2N/IHsB/PrDG+E0lVKsGN2OCA56e7RR9DWaYugS/6pyc2swYWA+ENLFdsLYcB4b+hh7zORWQBN2kfBUkWnWzaJpnTL6ZGFABgj3rak2f8wwfCZyiGeSQtviwh+wG5spWV2F7UtfLVAPB0INtUr/CElooZr6nopQgyxC0Z6ZrCoAwUUyfAuclp/uTNN05dgZKbf8+To7Wdm5E6fqBqRZ4FH5HqtDaB4TdCHrJXeXMOvsmojfGVHA3P8rU7n4k8Utqh7QxbFf7cEUHKRjnL4j4a9A==
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=Jtxg3k86Voh2Q2GNY+hGzJPlq9sU77v95sycEcpAjQQ=;
 b=tcFjORRwLxH/gEdNGfAL7gLUk6THzknHpsGPT2iLpAUUSiLE8V6+0B0XNxXD969ga8IUEj8IyFuo68drvFpZxFqEL+idnxxIT2EUXq0YcmkMRC3CihjrhCqmfqBDSXyH6lhwE4C6RoB661RkmfQ9ejXgtkuQMje74Fe7/vwGwDw=
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: 5b0b99255def6662
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c/TA0iMwM8/hqsha7h4PijpeVY81gqoQvOI/7kOvmcEbQlqFO0jduNKwWNf7FM+x+669laG9zGRtC+TPAJU/MwLUl6OM4ajqu/+gc/c01aKCGWN2fJadYWJB1OH3qUSmCNOIV97M9dQW9QkgcLTs86WPn8lqU75vLyjCBo8BHrXL44lUlL5m2JKQ57rlnVJsgjHXhqmqOibcAaH3hb9Etih3oyMnyeCofId5BZ+5P08byT3kXs2IGWxAmTu4jrkKduBOnlfUeeQRJNNLduc7zf39IOZRTfsgjWlC5osFe5GXyrlCT3rwncsqjjfp3T6R7qKSV4fQAdkRhn9zzic58Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Jtxg3k86Voh2Q2GNY+hGzJPlq9sU77v95sycEcpAjQQ=;
 b=VqGFAz2/glXxIwmTJxy8l1a7HmpcSLhE/KHwexthjxaDMn+DLpbJ4rbIDzclRfbNMKIbei6T07ilLxom3PeWhRut0vVU89MriUCuyH2ZbCwC1h7e3TZFjzWXJxOBT2ZlVF9X1EElCClRTPiXEK6ghlINdJRuI5hGQEHIadjTHi+yNmeqJ6jXH4vs3skB3K/hlA2effFNYUtKmBF4JrAy5y1eXxRDpvuxCsy3BrfIvU36nuFe1L4SJ5caL9K4fRT636xoTTBaLSFhlkD+EhZxDmwzJexmUFEK7DagGr1ZEyBHyqvPG+/qOoK4I928Ph4DtRwH5jqmfH1o/5lfZvh7Jw==
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=Jtxg3k86Voh2Q2GNY+hGzJPlq9sU77v95sycEcpAjQQ=;
 b=tcFjORRwLxH/gEdNGfAL7gLUk6THzknHpsGPT2iLpAUUSiLE8V6+0B0XNxXD969ga8IUEj8IyFuo68drvFpZxFqEL+idnxxIT2EUXq0YcmkMRC3CihjrhCqmfqBDSXyH6lhwE4C6RoB661RkmfQ9ejXgtkuQMje74Fe7/vwGwDw=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Michal Orzel
	<michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>, 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/2] xen/arm32: head: Rework how the fixmap and early UART
 mapping are prepared
Thread-Topic: [PATCH 1/2] xen/arm32: head: Rework how the fixmap and early
 UART mapping are prepared
Thread-Index: AQHaDRtrrldLYi71I0SBpLEDDiH4ZbBmTqoA
Date: Thu, 2 Nov 2023 02:29:57 +0000
Message-ID: <FAB1A89E-0F0A-4410-80DC-F8DD1EC8ADE6@arm.com>
References: <20231101233011.83098-1-julien@xen.org>
 <20231101233011.83098-2-julien@xen.org>
In-Reply-To: <20231101233011.83098-2-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PAWPR08MB9006:EE_|AMS0EPF000001A1:EE_|DB5PR08MB10192:EE_
X-MS-Office365-Filtering-Correlation-Id: 1f83a34f-7526-4525-3d2b-08dbdb4ba3f9
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:
 IYyDajoiufnyVMSnKOAHKZRrWcRmdyrsHQS2qIjq82I6AI2zI8n/wnq7qOQ1vNO8/WSKCflnjTFQok1gJ8tOUJFFpATj1VcK2zYf3FRYe/IDmMnJ7didrKpBtfvi2RTGNL26qakfqSbDn4TvW6OBnmDw/MSl+ayo+lVvbAonh+2yzadD58tRqR1t7bxzcfosIxsqJXSevOiOcJ2KuWvJkBPQpySTJqZtgEbvwiK519AKO3pxqFlNioXrdAp180VtEbnSqYPXA2UvPFd2oCL1Z5ycUKfZdsowDEKZYhP38bwyi/Ey7UoPi+xwRJ9I9AKV6Y6rjvbpgDY0O2UDzO4hB9rCdAHxCqg/fEBAT7BOQl2BDzl9f+ybl4RE3Op9KBv0byU4P/5kXi32CYCCuKLvwbSla0VyWWKrhv6qkcqp+IthAX3NNLAsETxUU4BSptJNau7TdB/vNRZpuLDijhg09u34r38TqiL5KS9Vp9wwrXZP6elB2esPn06wX3DyPo1y0auQ1VdpB+HGPeu5WFK3GFZdWs1oduDapXg7ncyWOw9H5SxAt5hKtyVCheRSl+YqiuKr2VljgEI7TiA0NUhe60jnV8EnjtYdAWThXvH7dDArTiaoongbAeoWQww1W84sgmTiTeadMmQmemBLDyLXWg==
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:(13230031)(366004)(346002)(39860400002)(136003)(376002)(396003)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(122000001)(38100700002)(54906003)(5660300002)(2906002)(64756008)(66446008)(36756003)(66556008)(8676002)(316002)(76116006)(91956017)(66476007)(45080400002)(4326008)(8936002)(6486002)(83380400001)(86362001)(33656002)(6512007)(6506007)(66946007)(71200400001)(2616005)(26005)(53546011)(478600001)(41300700001)(6916009)(38070700009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <57506DAE71C7EB47B663B9447A088FDF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9006
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:
 AMS0EPF000001A1.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7c543628-6c6b-4703-5754-08dbdb4b9ade
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CziTNtUrNpNyW1XDEN0VXEkDNTnvoHgFMW9xlV2QjbF0nIDRVwsUSN47Zot8DRaBXDfi4JRFqYKCjX24wmd7P9OcjbD4qvpyrItEWhVqhuU7/mgJsu8QzWda+OEWnYxgEav+wSJYsUup2YAJPxAulATyR+uUYsDfcy2jzZ2df6ANx7lZLl2m/WQm8NK8xoNArqT2XxwC2TuDzjLzt6LGfyrFKHuc39/OtXTUWZXNI6aJB/WyWEG2HuRIPaqrRe4ZaTBO0XWq8/1/+t2aNV+9f7QzJEjQ/jZAp86GOo78t/S5tMaIW/JA9AIo26OMi8N1KsNNxB74X/yTw1E4kS16GGbIJwz1wDdJTUqSE4n0yYrkp7Z+Bbgh2fdTArrZz6nJwPIo2dgSbMOypIit28/Y8VGOn2HYhY98Ey2LTYuI1HB5QsBd+5J3yi2oTyKMGhAzljKKY+l9l7g87wEn+lxgZrXEtl68ORZJtdEmJdcHdT6VslPc0CNjhfkYwb4VCkuQ2QR9vEaUy0YghhpOrNyQaPoRhRBafAjId94/rY66YFgVRuj4FvKuK60fekmrxgMWyF8qiSY5DjJiN3Leadg1eik3o9sKOz0kdomlHBqXG5wfZuAFK2gdhUAN8Nj5OwyBJoqfNamRQwYtkjiUKZFtMimRABvLQdTw/5j9EedU12sxBP50oEKIaTGmUdr1NvZp0GAggQWEO4wLDxVNYi2exJI17bqBg61qH7wnMw8TdirVJJ50/VmrxG6p/KZQ8tKa
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:(13230031)(4636009)(136003)(346002)(376002)(396003)(39850400004)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(82310400011)(36840700001)(40470700004)(46966006)(40480700001)(36860700001)(6506007)(53546011)(45080400002)(478600001)(81166007)(356005)(83380400001)(47076005)(40460700003)(336012)(2616005)(107886003)(6512007)(33656002)(41300700001)(86362001)(2906002)(8936002)(8676002)(6862004)(4326008)(5660300002)(36756003)(54906003)(70206006)(70586007)(316002)(26005)(82740400003)(6486002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 02:30:12.2638
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f83a34f-7526-4525-3d2b-08dbdb4ba3f9
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:
	AMS0EPF000001A1.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10192

Hi Julien,

> On Nov 2, 2023, at 07:30, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Since commit 5e213f0f4d2c ("xen/arm32: head: Widen the use of the
> temporary mapping"), boot_second (used to cover regions like Xen and
> the fixmap) will not be mapped if the identity mapping overlap.
>=20
> So it is ok to prepare the fixmap table and link it in boot_second
> earlier. With that, the fixmap can also be used earlier via the
> temporary mapping.
>=20
> Therefore split setup_fixmap() in two:
>    * The table is now linked in create_page_tables() because
>      the boot page tables needs to be recreated for every CPU.
>    * The early UART mapping is only added for the boot CPU0 as the
>      fixmap table is not cleared when secondary CPUs boot.
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
> xen/arch/arm/arm32/head.S | 48 ++++++++-------------------------------
> 1 file changed, 9 insertions(+), 39 deletions(-)
>=20
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 33b038e7e0ca..fec2433e568f 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -183,12 +183,16 @@ past_zImage:
>         bl    check_cpu_mode
>         bl    cpu_init
>         bl    create_page_tables
> +        /* Add the UART mapping if requested */
> +#ifdef CONFIG_EARLY_PRINTK
> +        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
> +        create_mapping_entry xen_fixmap, r0, r11, type=3DPT_DEV_L3

I tried to test this series today and found a corner case in this patch:

If we build Xen only with this patch, and CONFIG_EARLY_PRINTK=3Dy, we
will get below from compiler:

```
arch/arm/arm32/head.S: Assembler messages:
arch/arm/arm32/head.S:189: Error: bad instruction `create_mapping_entry xen=
_fixmap,r0,r11,type=3D0xe73'
make[3]: *** [Rules.mk:253: arch/arm/arm32/head.o] Error 1
```

With the second patch applied, the above error will disappear and I confirm
arm32 will work fine with both patch applied + either CONFIG_EARLY_PRINTK=
=3D{y,n}.

Kind regards,
Henry






From xen-devel-bounces@lists.xenproject.org Thu Nov 02 07:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 07:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626717.977218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyRlT-0002GU-D2; Thu, 02 Nov 2023 07:05:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626717.977218; Thu, 02 Nov 2023 07:05: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 1qyRlT-0002GN-AF; Thu, 02 Nov 2023 07:05:15 +0000
Received: by outflank-mailman (input) for mailman id 626717;
 Thu, 02 Nov 2023 07:05: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 1qyRlS-0002GD-H1; Thu, 02 Nov 2023 07:05: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 1qyRlS-0004fc-4X; Thu, 02 Nov 2023 07:05: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 1qyRlR-000347-Sb; Thu, 02 Nov 2023 07:05:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyRlR-0004qk-Rv; Thu, 02 Nov 2023 07:05: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=ijnGJXLuXDf7uzgRxudySQwyJzqB/hB6SaBiSxf9CtI=; b=PuDq+7Cv2dLY+mty7dUUSuX0kl
	2G6I+J9ZMV5AxAruPqYZ6qxOjhFkd1utO4mUEG+rTKbwnIUlc3lSLZiDFoGnKY0EOFaBDZ/G3YLlL
	nMlJ1MBhYSf37uw3DSUJSXtkZ2kHPyVs9/SsxsJ0a+xRNviVkqxgn6smmKjcyMLYL1y8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183651-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183651: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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:migrate-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: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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-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-amd64-amd64-libvirt-raw: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale: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-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=deefd5024f0772cf56052ace9a8c347dc70bcaf3
X-Osstest-Versions-That:
    linux=ffc253263a1375a65fa6c9f62a893e9767fbebfa
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Nov 2023 07:05:13 +0000

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

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 183617
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183617
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183617
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183617
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183617
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183617
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183617
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183617
 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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 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-amd64-amd64-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-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-libvirt-raw 14 migrate-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-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                deefd5024f0772cf56052ace9a8c347dc70bcaf3
baseline version:
 linux                ffc253263a1375a65fa6c9f62a893e9767fbebfa

Last test of basis   183617  2023-10-30 08:36:55 Z    2 days
Failing since        183625  2023-10-31 02:27:44 Z    2 days    5 attempts
Testing same since   183651  2023-11-02 00:14:15 Z    0 days    1 attempts

------------------------------------------------------------
1275 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                              starved 
 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-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-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
   ffc253263a13..deefd5024f07  deefd5024f0772cf56052ace9a8c347dc70bcaf3 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 07:14:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 07:14:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626724.977231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyRu8-00040f-Bg; Thu, 02 Nov 2023 07:14:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626724.977231; Thu, 02 Nov 2023 07:14: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 1qyRu8-00040Y-8n; Thu, 02 Nov 2023 07:14:12 +0000
Received: by outflank-mailman (input) for mailman id 626724;
 Thu, 02 Nov 2023 07:14: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=WoC4=GP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyRu7-0003yP-0P
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 07:14:11 +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 691729b7-794f-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 08:14:07 +0100 (CET)
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 483211F85D;
 Thu,  2 Nov 2023 07:14: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 18ABE138EC;
 Thu,  2 Nov 2023 07:14:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id swFRBD5MQ2UxKwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 02 Nov 2023 07:14: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: 691729b7-794f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698909246; 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:autocrypt:autocrypt;
	bh=UT1M2jSCAXzhf4jcdyUiHxHURVMYy4hQejuum3hEcPA=;
	b=sn4x4G4IgpNCTvHLoqkHcBENVselkNxEbr/LpzJ5kfQsUr6eCn+mFK9kO9flWQOfbLfB1q
	PocwT7eHMCtWyh6LwNtygorbGLtfnIOYbv8m2q/j1YGa3RgQazjPaaosA9RncXuikD+Vmf
	fU5+4tvmwBkN5GHd68V5OXL9Jmd3Nzc=
Message-ID: <b955031f-435f-4e66-af2e-4d6e591b255b@suse.com>
Date: Thu, 2 Nov 2023 08:14:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] Mini-OS: don't crash if no shutdown node is available
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231101090024.28934-1-jgross@suse.com>
 <20231101090024.28934-3-jgross@suse.com>
 <e287ebbb-77e4-461e-ae21-e2c6a8027686@citrix.com>
 <769a0a44-6a1c-40a9-aa8a-ddebd794cd79@suse.com>
 <b3d8390f-1cd9-461c-9d98-364a01f33bb5@citrix.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <b3d8390f-1cd9-461c-9d98-364a01f33bb5@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ESSZqUgGe3ve2bAtKJEN9Cmf"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ESSZqUgGe3ve2bAtKJEN9Cmf
Content-Type: multipart/mixed; boundary="------------K8yLpcUejeLEAZ6HbT0U93YO";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <b955031f-435f-4e66-af2e-4d6e591b255b@suse.com>
Subject: Re: [PATCH 2/3] Mini-OS: don't crash if no shutdown node is available
References: <20231101090024.28934-1-jgross@suse.com>
 <20231101090024.28934-3-jgross@suse.com>
 <e287ebbb-77e4-461e-ae21-e2c6a8027686@citrix.com>
 <769a0a44-6a1c-40a9-aa8a-ddebd794cd79@suse.com>
 <b3d8390f-1cd9-461c-9d98-364a01f33bb5@citrix.com>
In-Reply-To: <b3d8390f-1cd9-461c-9d98-364a01f33bb5@citrix.com>

--------------K8yLpcUejeLEAZ6HbT0U93YO
Content-Type: multipart/mixed; boundary="------------NVSg8UOzcfgNLJfKbKHUfv0q"

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

T24gMDEuMTEuMjMgMTc6NTcsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDAxLzExLzIw
MjMgNDo0MiBwbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IE9uIDAxLjExLjIzIDE3OjM4
LCBBbmRyZXcgQ29vcGVyIHdyb3RlOg0KPj4+IE9uIDAxLzExLzIwMjMgOTowMCBhbSwgSnVl
cmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gSXQgbWlnaHQgYmUgcGVyZmVjdGx5IGZpbmUgbm90
IHRvIGhhdmUgYSBjb250cm9sL3NodXRkb3duIFhlbnN0b3JlDQo+Pj4+IG5vZGUuIElmIHRo
aXMgaXMgdGhlIGNhc2UsIGRvbid0IGNyYXNoLCBidXQganVzdCB0ZXJtaW5hdGUgdGhlDQo+
Pj4+IHNodXRkb3duIHRocmVhZCBhZnRlciBpc3N1aW5nIGEgbWVzc2FnZSB0aGF0IHNodXRk
b3duIGlzbid0IGF2YWlsYWJsZS4NCj4+Pj4NCj4+Pj4gSW4gZmluaV9zaHV0ZG93bigpIGNs
ZWFyaW5nIHRoZSB3YXRjaCBjYW4gcmVzdWx0IGluIGFuIGVycm9yIG5vdywgaW4NCj4+Pj4g
Y2FzZSB0aGUgZWFybHkgZXhpdCBhYm92ZSB3YXMgdGFrZW4uIEp1c3QgaWdub3JlIHRoaXMg
ZXJyb3Igbm93Lg0KPj4+Pg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20+DQo+Pj4NCj4+PiBXaGljaCBjYXNlcyBtaWdodCB3ZSBub3QgaGF2
ZSBhIGNvbnRyb2wvc2h1dGRvd24gbm9kZT8NCj4+DQo+PiBYZW5zdG9yZS1zdHViZG9tLiBJ
dCBzaG91bGQgX25ldmVyXyBzaHV0ZG93biwgYW5kIGl0IGlzbid0IHJlYWxseSB1bmRlcg0K
Pj4gY29udHJvbCBvZiBYZW4gdG9vbHMgKG90aGVyIHRoYW4gYmVpbmcgY3JlYXRlZCkuDQo+
Pg0KPj4+IEknbSBhbGwgZm9yIGNvcGluZyBiZXR0ZXIgd2l0aCBpdHMgYWJzZW5jZSwgYnV0
IGl0J3Mgbm90IGEgcGllY2Ugb2YgdGhlDQo+Pj4gWGVuIEFCSSB3aGljaCBpcyBvcHRpb25h
bC4NCj4+DQo+PiBJJ2QgbGlrZSB0byBkaWZmZXIgaGVyZS4gU2VlIHJlYXNvbmluZyBhYm92
ZS4NCj4gDQo+IElmIHdlJ3JlIGdvaW5nIHRvIHBlcm1pdCB0aGlzIGNvbmZpZ3VyYXRpb24s
IHRoZW4gSSB0aGluayBpdCBuZWVkcyBhbg0KPiBleHRlbnNpb24gdG8geGVuc3RvcmUtcGF0
aHMgdG8gbWFrZSBpdCBvZmZpY2lhbGx5IG9wdGlvbmFsLg0KPiANCj4gQW5kIEkgdGhpbmsg
aXQncyByZWFzb25hYmxlIHRvIHN1cHBvcnQsIGJ1dCBJIHdvdWxkbid0IGdvIGFzIGZhciBh
cw0KPiBzYXlpbmcgIm5ldmVyIi7CoCBJZiB5b3UndmUgY2xlYXZlZCB0aGUgZ2xvYmFsIHhl
bnN0b3JlZCBpbg0KPiB0d2Fpbi90cmluZS9ldGMsIHRoZW4gaW5kaXZpZHVhbCBwYXJ0cyBv
ZiBpdCBjYW4gc2h1dCBkb3duIG5vcm1hbGx5Lg0KDQpYZW5zdG9yZS1zdHViZG9tIGlzIGEg
dmVyeSBzcGVjaWFsIGNhc2UuIEkgZG9uJ3QgdGhpbmsgaXRzIHNodXRkb3duIG5vZGUNCmNh
biBiZSB1bmRlciBjb250cm9sIG9mIHRoZSBub3JtYWwgWGVuIHRvb2xzLCBhcyBvbmx5IHRo
ZSBzdHViZG9tIGNhbiBrbm93DQp3aGV0aGVyIGl0IGlzIGFibGUgdG8gcmVhY3QgaW4gYW55
IHNlbnNpYmxlIHdheSB0byBpdC4gSXQgbmVlZHMgdG8gdGFrZQ0Kc3BlY2lmaWMgbWVhc3Vy
ZXMgdG8gZW5zdXJlIHRoYXQgZXZlbiBpdHMgQUJJLWNvbXBsaWFudCByZWFjdGlvbiB0byBh
DQpzaHV0ZG93biByZXF1ZXN0IGlzIHZpc2libGUgdG8gWGVuIHRvb2xzIChyZW1lbWJlciB0
aGF0IHRoaXMgcmVhY3Rpb24gaXMNCmEgd3JpdGUgdG8gdGhlIHNodXRkb3duIG5vZGUgY2F1
c2luZyBhIHdhdGNoIGV2ZW50IGluIGRvbTAsIHdoaWNoIHdvbid0DQp3b3JrIHdpdGggWGVu
c3RvcmUgZ29pbmcgZG93bikuDQoNCkluIHRoZSBlbmQgdGhlcmUgaXMgbm8gd2F5IHRoZSBz
aHV0ZG93biBub2RlIGNhbiBiZSBwcmVzZW50IHdoZW4gc3RhcnRpbmcNClhlbnN0b3JlLXN0
dWJkb20uIFRoZXJlIGlzIG5vIFhlbnN0b3JlIGF0IHRoZSB0aW1lIHRoZSBub2RlIGlzIHBy
b2JlZCBpbg0KdG9kYXkncyBNaW5pLU9TIGJvb3Qgc2VxdWVuY2UuDQoNCg0KSnVlcmdlbg0K

--------------NVSg8UOzcfgNLJfKbKHUfv0q
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-----

--------------NVSg8UOzcfgNLJfKbKHUfv0q--

--------------K8yLpcUejeLEAZ6HbT0U93YO--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVDTD0FAwAAAAAACgkQsN6d1ii/Ey8D
fQf+KrJzbFZmG8UUWJxSD7t5q0Hw7rtSkCgqhuFaV2nuzrGtR7E6bZswV2Wv5Ud4f2DEEtC4uI3D
tMYVtHggF763lzhAUgYoEn5RFYcGPBs9z7xIsVZX6vWDXQS7HEQ8vWBjr+XisZq4+JjdfIdsFzm8
tW39xBS+QVABF7n6p9hUv99SkjvLCxHtJknND89gLMqnGrCvoMbbaiBovYZE3d3l7w683KkSEthF
EfYo+8dV0AnFje08BHnGCsPTvkZfIPKbQXQHU5ZSBnBqvMr9Z4P/V5XBRlsJYiJtHYPrWH9EPzfw
OV18ToQSILDJu7xZYjkvjr9iBYRjImOwZOLHAMwMDQ==
=IsaG
-----END PGP SIGNATURE-----

--------------ESSZqUgGe3ve2bAtKJEN9Cmf--


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 07:15:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 07:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626732.977241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyRvY-0004eI-Q5; Thu, 02 Nov 2023 07:15:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626732.977241; Thu, 02 Nov 2023 07:15: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 1qyRvY-0004eB-NU; Thu, 02 Nov 2023 07:15:40 +0000
Received: by outflank-mailman (input) for mailman id 626732;
 Thu, 02 Nov 2023 07:15: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=WoC4=GP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyRvX-0004e5-Gz
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 07:15: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 9f1c3f0a-794f-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 08:15:37 +0100 (CET)
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 10B0E1F74D;
 Thu,  2 Nov 2023 07:15: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 EE705138EC;
 Thu,  2 Nov 2023 07:15:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +NlyOJhMQ2UxKwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 02 Nov 2023 07: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: 9f1c3f0a-794f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698909337; 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:autocrypt:autocrypt;
	bh=3oM/WXWlOfofFMIAK4enqo5aYIL/3bVumnzEpM+AV9M=;
	b=IzJYPPe0MtgObr9gUXTypDBhMOsmF6D8PVqnu9c8hHfodHXylUeHF8/BchHSzEtgQfhsuS
	G8NeSHPZ5Zp9/cJAzItZx8lYPt1u4uXOYUNNj6qNJhp4lr+1igXFBQwups0Ciy/UfkystN
	TbY0d1yEBJI6K3UHenR9KkqCeWXcvnc=
Message-ID: <04a721e4-ba3c-4fda-b8c9-9c45ec179c2d@suse.com>
Date: Thu, 2 Nov 2023 08:15:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 01/29] xen/public: add some more 9pfs xenstore paths
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-2-jgross@suse.com>
 <CAKf6xpurEpafOr=UkDhK=5yQs+j3Og0ar6ixGNoRcz6KZt+9LA@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpurEpafOr=UkDhK=5yQs+j3Og0ar6ixGNoRcz6KZt+9LA@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------NkF8Q29L3eKHo0dNAYn7rIw7"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------NkF8Q29L3eKHo0dNAYn7rIw7
Content-Type: multipart/mixed; boundary="------------RVtsMv0YbLmJgTUNLVNd34IH";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org
Message-ID: <04a721e4-ba3c-4fda-b8c9-9c45ec179c2d@suse.com>
Subject: Re: [PATCH 01/29] xen/public: add some more 9pfs xenstore paths
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-2-jgross@suse.com>
 <CAKf6xpurEpafOr=UkDhK=5yQs+j3Og0ar6ixGNoRcz6KZt+9LA@mail.gmail.com>
In-Reply-To: <CAKf6xpurEpafOr=UkDhK=5yQs+j3Og0ar6ixGNoRcz6KZt+9LA@mail.gmail.com>

--------------RVtsMv0YbLmJgTUNLVNd34IH
Content-Type: multipart/mixed; boundary="------------sp4N3Sg1UMU0MJOkkGlv2mgW"

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

T24gMDEuMTEuMjMgMTk6MzEsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNzoyNOKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHNvbWUgb3B0aW9uYWwgYWRkaXRpb25hbCBiYWNrZW5kIHBh
dGhzIGZvciA5cGZzIFBWIGRldmljZXMuIFRob3NlDQo+PiBwYXRocyB3aWxsIGJlIHN1cHBv
cnRlZCBieSB0aGUgbmV3IHhlbmxvZ2QgOXBmcyBiYWNrZW5kLg0KPj4NCj4+IFNpZ25lZC1v
ZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4gICB4
ZW4vaW5jbHVkZS9wdWJsaWMvaW8vOXBmcy5oIHwgMzQgKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKw0KPj4gICAxIGZpbGUgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKQ0K
Pj4NCj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8vOXBmcy5oIGIveGVu
L2luY2x1ZGUvcHVibGljL2lvLzlwZnMuaA0KPj4gaW5kZXggOWFkMjc3MzA4Mi4uYWM0YmYw
NDM0YiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9pby85cGZzLmgNCj4+
ICsrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9pby85cGZzLmgNCj4+IEBAIC03MSw2ICs3MSw0
MCBAQA0KPj4gICAgKiAgICAgICAgICAgICAgICAgY3JlYXRlZCBvbiB0aGUgZ3Vlc3QgKG5v
IHVzZXIgb3duZXJzaGlwIHNxdWFzaCBvciByZW1hcCkNCj4+ICAgICogICAgICAgICBPbmx5
ICJub25lIiBpcyBzdXBwb3J0ZWQgaW4gdGhpcyB2ZXJzaW9uIG9mIHRoZSBwcm90b2NvbC4N
Cj4+ICAgICoNCj4+ICsgKiAgICBtYXgtZmlsZXMNCj4+ICsgKiAgICAgICAgIFZhbHVlczog
ICAgICAgIDx1aW50MzJfdD4NCj4+ICsgKg0KPj4gKyAqICAgICAgICAgVGhlIG1heGltdW0g
bnVtYmVyIG9mIGZpbGVzIChpbmNsdWRpbmcgZGlyZWN0b3JpZXMpIGFsbG93ZWQgZm9yDQo+
PiArICogICAgICAgICB0aGlzIGRldmljZS4gQmFja2VuZCBzdXBwb3J0IG9mIHRoaXMgbm9k
ZSBpcyBvcHRpb25hbC4gSWYgdGhlIG5vZGUNCj4+ICsgKiAgICAgICAgIGlzIG5vdCBwcmVz
ZW50IG9yIHRoZSB2YWx1ZSBpcyB6ZXJvIHRoZSBudW1iZXIgb2YgZmlsZXMgaXMgbm90DQo+
PiArICogICAgICAgICBsaW1pdGVkLg0KPj4gKyAqDQo+PiArICogICAgbWF4LW9wZW4tZmls
ZXMNCj4+ICsgKiAgICAgICAgIFZhbHVlczogICAgICAgIDx1aW50MzJfdD4NCj4+ICsgKg0K
Pj4gKyAqICAgICAgICAgVGhlIG1heGltdW0gbnVtYmVyIG9mIGZpbGVzIHRoZSBndWVzdCBp
cyBhbGxvd2VkIHRvIGhhdmUgb3BlbmVkDQo+PiArICogICAgICAgICBjb25jdXJyZW50bHku
IE11bHRpcGxlIGNvbmN1cnJlbnQgb3BlbnMgb2YgdGhlIHNhbWUgZmlsZSBhcmUgY291bnRl
ZA0KPj4gKyAqICAgICAgICAgaW5kaXZpZHVhbGx5LiBCYWNrZW5kIHN1cHBvcnQgb2YgdGhp
cyBub2RlIGlzIG9wdGlvbmFsLiBJZiB0aGUgbm9kZQ0KPj4gKyAqICAgICAgICAgaXMgbm90
IHByZXNlbnQgb3IgdGhlIHZhbHVlIGlzIHplcm8gYSBiYWNrZW5kIHNwZWNpZmljIGRlZmF1
bHQgaXMNCj4+ICsgKiAgICAgICAgIGFwcGxpZWQuDQo+PiArICoNCj4+ICsgKiAgICBtYXgt
c3BhY2UNCj4+ICsgKiAgICAgICAgIFZhbHVlczogICAgICAgIDx1aW50MzJfdD4NCj4+ICsg
Kg0KPj4gKyAqICAgICAgICAgVGhlIG1heGltdW0gZmlsZSBzcGFjZSBpbiBNaUJzIHRoZSBn
dWVzdCBpcyBhbGxvd2VkIHRvIHVzZSBmb3IgdGhpcw0KPj4gKyAqICAgICAgICAgZGV2aWNl
LiBCYWNrZW5kIHN1cHBvcnQgb2YgdGhpcyBub2RlIGlzIG9wdGlvbmFsLiBJZiB0aGUgbm9k
ZSBpcw0KPj4gKyAqICAgICAgICAgbm90IHByZXNlbnQgb3IgdGhlIHZhbHVlIGlzIHplcm8g
dGhlIHNwYWNlIGlzIG5vdCBsaW1pdGVkLg0KPj4gKyAqDQo+PiArICogICAgYXV0by1kZWxl
dGUNCj4+ICsgKiAgICAgICAgIFZhbHVlczogICAgICAgIDxib29sPg0KPj4gKyAqDQo+PiAr
ICogICAgICAgICBXaGVuIHNldCB0byAiMSIgdGhlIGJhY2tlbmQgd2lsbCBkZWxldGUgdGhl
IGZpbGUgd2l0aCB0aGUgb2xkZXN0DQo+PiArICogICAgICAgICBtb2RpZmljYXRpb24gZGF0
ZSBiZWxvdyA8cGF0aD4gaW4gY2FzZSB0aGUgYWxsb3dlZCBtYXhpbXVtIGZpbGUNCj4+ICsg
KiAgICAgICAgIHNwYWNlIChzZWUgPG1heC1zcGFjZT4pIG9yIGZpbGUgbnVtYmVyIChzZWUg
PG1heC1maWxlcz4pIGlzIGJlaW5nDQo+PiArICogICAgICAgICBleGNlZWRlZCBkdWUgdG8g
Z3Vlc3QgYWN0aXZpdHkgKGNyZWF0aW9uIG9yIGV4dGVuc2lvbiBvZiBmaWxlcykuDQo+PiAr
ICogICAgICAgICBGaWxlcyBjdXJyZW50bHkgb3BlbmVkIGJ5IHRoZSBndWVzdCB3b24ndCBi
ZSBkZWxldGVkLiBCYWNrZW5kDQo+PiArICogICAgICAgICBzdXBwb3J0IG9mIHRoaXMgbm9k
ZSBpcyBvcHRpb25hbC4NCj4+ICsgKg0KPiANCj4gVGhlc2Ugc2VlbSByZWFzb25hYmxlLCBi
dXQgaXQgbG9va3MgbGlrZSB4ZW5sb2dkIG9ubHkgaW1wbGVtZW50cw0KPiBtYXgtb3Blbi1m
aWxlcy4gIFRoZXkgYXJlIGFsbCBtYXJrZWQgb3B0aW9uYWwsIHNvIEkgZ3Vlc3MgaXQncyBv
a2F5IHRvDQo+IGluY2x1ZGUgdGhlbS4gIElzIHRoZXJlIGEgcGxhbiB0byBpbXBsZW1lbnQg
dGhlbT8gIE1heWJlIGhvbGQgb2ZmDQo+IHVudGlsIGFuIGltcGxlbWVudGF0aW9uIGNvbWVz
IGFsb25nPw0KDQpTZWUgdGhlIGNvdmVyIGxldHRlciBvZiB0aGUgc2VyaWVzLg0KDQoNCkp1
ZXJnZW4NCg==
--------------sp4N3Sg1UMU0MJOkkGlv2mgW
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-----

--------------sp4N3Sg1UMU0MJOkkGlv2mgW--

--------------RVtsMv0YbLmJgTUNLVNd34IH--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVDTJgFAwAAAAAACgkQsN6d1ii/Ey99
Dwf+K3GftvWntr2foQrV2bjkbi59oKznbwU00pHi3o62dyFCl/tsiUpO9mqn4kO1FKmwKr63mS+n
0gWFqwjKMidaa5GzQvKYgqFwQMVuGl13Z4d+J6t8MADX8DtevgHYHlWbZYLiiYZ29dBCiNvDm1eV
WzDvvYc1pGV40LD227IX6faTnAerUHpXAfg4LgZADGz5srTqui43iEH5nlXyWqkURGEz/3k60HUK
eIa2BThLNjG3czKN98QLyKr7Ci2vtn2sc+VD+0C6pDjGR4Obb5XczyprCNdSjbEE5SqCxbbbVPAZ
lTaan4wI3qnRUOQeIJ8PYnfZZ67/1gUhSmPmC/V0kQ==
=/xuk
-----END PGP SIGNATURE-----

--------------NkF8Q29L3eKHo0dNAYn7rIw7--


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 07:40:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 07:40:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626738.977256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qySJF-0000ZK-Ob; Thu, 02 Nov 2023 07:40:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626738.977256; Thu, 02 Nov 2023 07:40: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 1qySJF-0000ZD-Lk; Thu, 02 Nov 2023 07:40:09 +0000
Received: by outflank-mailman (input) for mailman id 626738;
 Thu, 02 Nov 2023 07:40: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=HN1Y=GP=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qySJD-0000Z7-QO
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 07:40:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09f53f14-7953-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 08:40:05 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 874014EE0737;
 Thu,  2 Nov 2023 08:40:04 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09f53f14-7953-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Thu, 02 Nov 2023 08:40:04 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, Simone
 Ballarin <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Jun Nakajima
 <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>
Subject: Re: [XEN PATCH][for-4.19 v6 2/8] x86: add deviation for asm-only
 functions
In-Reply-To: <b914ac93-2499-4bfd-a60a-51a9f1c170ec@xen.org>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
 <a1b5c3b273145c35535fed3647bf850d9ae5db7f.1698829473.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2311011609360.2125691@ubuntu-linux-20-04-desktop>
 <b914ac93-2499-4bfd-a60a-51a9f1c170ec@xen.org>
Message-ID: <1288b2b3c262b86cb65dcfbc4e67f65b@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Hi Julien,

On 2023-11-02 00:42, Julien Grall wrote:
> Hi Stefano,
> 
> On 01/11/2023 23:10, Stefano Stabellini wrote:
>> On Wed, 1 Nov 2023, Nicola Vetrini wrote:
>>> As stated in rules.rst, functions used only in asm modules
>>> are allowed to have no prior declaration visible when being
>>> defined, hence these functions are marked with an
>>> 'asmlinkage' macro, which is then deviated for MISRA C:2012
>>> Rule 8.4.
>>> 
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> Changes in v3:
>>> - added SAF deviations for vmx counterparts to svm functions.
>>> Changes in v5:
>>> - drop SAF deviations in favour of the pseudo-attribute asmlinkage
>>> Changes in v6:
>>> - conditioned asmlinkage definition to make it overridable;
>>> - move the pseudo-attribute after the return type
>>> ---
>>>   automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++
>>>   docs/misra/deviations.rst                        | 6 ++++++
>>>   xen/arch/x86/hvm/svm/intr.c                      | 2 +-
>>>   xen/arch/x86/hvm/svm/nestedsvm.c                 | 2 +-
>>>   xen/arch/x86/hvm/svm/svm.c                       | 4 ++--
>>>   xen/arch/x86/hvm/vmx/intr.c                      | 2 +-
>>>   xen/arch/x86/hvm/vmx/vmx.c                       | 4 ++--
>>>   xen/arch/x86/hvm/vmx/vvmx.c                      | 2 +-
>>>   xen/arch/x86/traps.c                             | 2 +-
>>>   xen/arch/x86/x86_64/traps.c                      | 2 +-
>>>   xen/include/xen/compiler.h                       | 5 +++++
>>>   11 files changed, 30 insertions(+), 10 deletions(-)
>>> 
>>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
>>> b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> index fa56e5c00a27..06619ecf7e8d 100644
>>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> @@ -163,6 +163,15 @@ Therefore the absence of prior declarations is 
>>> safe."
>>>   -config=MC3R1.R8.4,reports+={safe, 
>>> "first_area(any_loc(file(gcov)))"}
>>>   -doc_end
>>>   +-doc_begin="Recognize the occurrence of current_stack_pointer as a 
>>> declaration."
>>> +-file_tag+={asm_defns, "^xen/arch/x86/include/asm/asm_defns\\.h$"}
>>> +-config=MC3R1.R8.4,declarations+={safe, 
>>> "loc(file(asm_defns))&&^current_stack_pointer$"}
>>> +-doc_end
>>> +
>>> +-doc_begin="asmlinkage is a marker to indicate that the function is 
>>> only used to interface with asm modules."
>>> +-config=MC3R1.R8.4,declarations+={safe,"loc(text(^(?s).*asmlinkage.*$, 
>>> -1..0))"}
>>> +-doc_end
>>> +
>>>   -doc_begin="The following variables are compiled in multiple 
>>> translation units
>>>   belonging to different executables and therefore are safe."
>>>   -config=MC3R1.R8.6,declarations+={safe, 
>>> "name(current_stack_pointer||bsearch||sort)"}
>>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>>> index 8511a189253b..d468da2f5ce9 100644
>>> --- a/docs/misra/deviations.rst
>>> +++ b/docs/misra/deviations.rst
>>> @@ -133,6 +133,12 @@ Deviations related to MISRA C:2012 Rules:
>>>          configuration. Therefore, the absence of prior declarations 
>>> is safe.
>>>        - Tagged as `safe` for ECLAIR.
>>>   +   * - R8.4
>>> +     - Functions and variables used only by asm modules are either 
>>> marked with
>>> +       the `asmlinkage` macro or with a SAF-1-safe textual deviation
>>> +       (see safe.json).
>>> +     - Tagged as `safe` for ECLAIR.
>> 
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>> 
>> If Julien prefers a different wording I could modify on commit as 
>> needed
> 
> I think my comment on the previous version was misunderstood. I have 
> asked to replace all SAF-1 with asmlinkage and I thought you agreed 
> with that.
> 
> This is a similar situation to octal-ok. I don't think it is right to 
> have multiple ways to tag a deviation.
> 
> I don't particular want to see more added, and I would like the current 
> ones to be gone. So what's the plan to remove SAF-1-safe?
> 
> At minimum, the deviation should be extremely clear that there **must** 
> be no new use of SAF-1-safe. Something like:
> 
> "- Functions and variables used only by asm modules are either marked 
> with the `asmlinkage` macro. Existing code may use SAF-1-safe textual 
> deviation (see safe.json) but new code should not use it.
> "
> 
> Obviously this is not my preference.
> 
> Cheers,

I was thinking about doing a separate patch to replace the remaining SAF 
comments and change the deviation message
(not yet submitted, but it's essentially ready), so that the commits 
would look more coherent. Is that ok for you?

Thanks,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 07:44:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 07:44:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626743.977266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qySNp-0001Yo-8p; Thu, 02 Nov 2023 07:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626743.977266; Thu, 02 Nov 2023 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 1qySNp-0001Yh-5r; Thu, 02 Nov 2023 07:44:53 +0000
Received: by outflank-mailman (input) for mailman id 626743;
 Thu, 02 Nov 2023 07: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=WoC4=GP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qySNn-0001Ya-Ls
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 07:44: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 b2ad9d8a-7953-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 08:44:48 +0100 (CET)
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 926651F74D;
 Thu,  2 Nov 2023 07:44: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 64F30138EC;
 Thu,  2 Nov 2023 07:44:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id xx2oFm9TQ2UEOAAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 02 Nov 2023 07:44: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: b2ad9d8a-7953-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698911087; 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:autocrypt:autocrypt;
	bh=xUkVkarzemYJWnARJgoQ50yihwwGL1zBckyZIigLsYI=;
	b=CIedBYpf/tN7XJM5ItCKohZB4sIkB+Sd3Dll2Eo2vK+gDB9jjG33a4j6KQiKEBLujJrYAa
	jri+LgVVboNjfTcCuDO+gHmN7T2qqiFZA9WGKAEbAEAvih8qJg97HD6I4ahYBsX+2b5fKI
	0YUEKinfIBECmL8Fxs0mDDYMgUmcKjc=
Message-ID: <9b60fe7c-a960-4463-a0cf-1126ba29bcaf@suse.com>
Date: Thu, 2 Nov 2023 08:44:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/29] tools: add a new xen logging daemon
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-3-jgross@suse.com>
 <CAKf6xpt6LwSB2QaCnW7MvKJWq5rkR6qoFEG4ZCKVqv3MKeMMuQ@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpt6LwSB2QaCnW7MvKJWq5rkR6qoFEG4ZCKVqv3MKeMMuQ@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------6vJ6nJfAAau7w1K6kD3BFb7y"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------6vJ6nJfAAau7w1K6kD3BFb7y
Content-Type: multipart/mixed; boundary="------------9jx2nsC100vxE9UDSgK8VEqy";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <9b60fe7c-a960-4463-a0cf-1126ba29bcaf@suse.com>
Subject: Re: [PATCH 02/29] tools: add a new xen logging daemon
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-3-jgross@suse.com>
 <CAKf6xpt6LwSB2QaCnW7MvKJWq5rkR6qoFEG4ZCKVqv3MKeMMuQ@mail.gmail.com>
In-Reply-To: <CAKf6xpt6LwSB2QaCnW7MvKJWq5rkR6qoFEG4ZCKVqv3MKeMMuQ@mail.gmail.com>

--------------9jx2nsC100vxE9UDSgK8VEqy
Content-Type: multipart/mixed; boundary="------------ps9EnAjf7uCHLzXvR6MedG3w"

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

T24gMDEuMTEuMjMgMTk6MzYsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgMTA6MjfigK9BTSBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
IHdyb3RlOg0KPj4NCj4+IEFkZCAieGVubG9nZCIsIGEgbmV3IGxvZ2dpbmcgZGFlbW9uIG1l
YW50IHRvIHN1cHBvcnQgaW5mcmFzdHJ1Y3R1cmUNCj4+IGRvbWFpbnMgKGUuZy4geGVuc3Rv
cmUtc3R1YmRvbSkgdG8gd3JpdGUgbG9nIGZpbGVzIGluIGRvbTAuDQo+IA0KPiBBcyBJIHVu
ZGVyc3RhbmQgaXQsIHlvdXIgbmV3IGRhZW1vbiBpcyBhIGdlbmVyaWMgOXBmcyBiYWNrZW5k
LCB3aGljaA0KPiB5b3UgdXNlIGZvciBsb2dnaW5nLiAgSSB0aGluayBuYW1pbmcgaXQgc29t
ZXRoaW5nIGxpa2UgeGVuOXBmc2Qgd291bGQNCj4gbW9yZSBhY2N1cmF0ZWx5IGRlc2NyaWJl
IGl0cyBmdW5jdGlvbmFsaXR5Lg0KDQpGaW5lIHdpdGggbWUuIEknbGwgd2FpdCBhIGxpdHRs
ZSBiaXQgdG8gc2VlIHdoYXQgb3RoZXJzIHRoaW5rLg0KDQo+PiBGb3Igbm93IG9ubHkgYWRk
IHRoZSBjb2RlIG5lZWRlZCBmb3Igc3RhcnRpbmcgdGhlIGRhZW1vbiBhbmQNCj4+IHJlZ2lz
dGVyaW5nIGl0IHdpdGggWGVuc3RvcmUgdmlhIGEgbmV3ICIvdG9vbC94ZW5sb2cvc3RhdGUi
IG5vZGUgYnkNCj4+IHdyaXRpbmcgdGhlICJydW5uaW5nIiBzdGF0ZSB0byBpdC4NCj4gDQo+
IFRvIHN1cHBvcnQgZHJpdmVyIGRvbWFpbiB1c2UgY2FzZXMsIEkgdGhpbmsgeW91IHdhbnQg
dG8gdXNlIGEgcmVsYXRpdmUNCj4gWGVuc3RvcmUgcGF0aC4gIFdoaWxlIHRoaXMgZGFlbW9u
IGlzIGluZGVwZW5kZW50IGZyb20gbGlieGwsIGl0IG1pZ2h0DQo+IGJlIGVhc2llc3QgdG8g
dXNlICJsaWJ4bC94ZW5sb2cvIiAoImxpYnhsL3hlbjlwZnMvIikgdG8gdGFrZSBhZHZhbnRh
Z2UNCj4gb2YgZHJpdmVyIGRvbWFpbnMgaGF2aW5nIGEgcmVhZC13cml0ZSAibGlieGwvIiBk
aXJlY3RvcnkuDQoNCllvdSBoYXZlIGEgcG9pbnQgaGVyZS4gQW5kIGFzIGl0IGlzIGxpYnhs
IGNvbnRyb2xsaW5nIHRoZSBzdGFydCBvZiB0aGUNCmRhZW1vbiwgcHV0dGluZyBpdCB1bmRl
ciAibGlieGwiIGlzIGZpbmUgSU1PLg0KDQo+IA0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdl
biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPiANCj4gVGhlIGNvZGUgbG9va3MgZ29vZCB0
byBtZS4NCg0KVGhhbmtzLA0KDQoNCkp1ZXJnZW4NCg0K
--------------ps9EnAjf7uCHLzXvR6MedG3w
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-----

--------------ps9EnAjf7uCHLzXvR6MedG3w--

--------------9jx2nsC100vxE9UDSgK8VEqy--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVDU24FAwAAAAAACgkQsN6d1ii/Ey8j
zwf/ZlFuksdLPA0/1V8nOHDfqkMRAsX5f6CsV2GtYmbSnad6D9o1vUi+Ge6sJZPmUigbev0RH8Eh
WZ4Gv+CLmGYFnbj+iKH9cbV/U9yd6VsB/pAHor+zqiEaKq+A8WcBiBmXYbwGRf57jkRaZzOmgvig
2NrbvwhQTmPs3hHJ8KWSpBYugJscu9MxruhspdFPpZPcYSIY/xo/9Iag/JOvFLltpKCMXoR5BY8f
kKD0IvhgYoCoJT21WhZZB80ZCU3nnVF7HAQ+UOK+xMUeYYpDMFxaSPj8g+YAshHTzJWVJ6W+3T9k
L4GTaKbL0DP4ttJfPCk6F3OzfNpfW6Ep0XF5AEb1vA==
=rIwe
-----END PGP SIGNATURE-----

--------------6vJ6nJfAAau7w1K6kD3BFb7y--


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 08:23:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 08:23:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626755.977276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qySz4-00085g-Qu; Thu, 02 Nov 2023 08:23:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626755.977276; Thu, 02 Nov 2023 08:23: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 1qySz4-00085Z-Nw; Thu, 02 Nov 2023 08:23:22 +0000
Received: by outflank-mailman (input) for mailman id 626755;
 Thu, 02 Nov 2023 08:23: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=WoC4=GP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qySz3-00085T-GO
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 08:23:21 +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 13fe4efb-7959-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 09:23:19 +0100 (CET)
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 4552A1F896;
 Thu,  2 Nov 2023 08:23: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 1678C13584;
 Thu,  2 Nov 2023 08:23:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5pyHA3ZcQ2VnSgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 02 Nov 2023 08:23: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: 13fe4efb-7959-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698913398; 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:autocrypt:autocrypt;
	bh=oaSkCnCRdpHN4pcqGIPdSB/jLgcBxKgU/xpR++reEP4=;
	b=WVeJTA8mL8OzmJNw0vPnggwmvAF1xZ5rq7FzLsASnQVwdBEL3A+oBE3XxWGCPIq1YAJg0g
	Vp8ti7mikx3yIN10bTItyMbFRImNcRiJwJT8iUZ/M3IOD/SdOAf56a5afOl0xTIC97r8uI
	rnZwdvlZg5bCbKG1+bFzMuvTD3706To=
Message-ID: <30b8cb38-ecc8-4d4e-bf18-512e893de153@suse.com>
Date: Thu, 2 Nov 2023 09:23:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/29] tools/xenlogd: connect to frontend
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-4-jgross@suse.com>
 <CAKf6xptkUPBSTsij=CAWaiYxTCtGH4zpZWiLuvb=teX3i_sjrA@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xptkUPBSTsij=CAWaiYxTCtGH4zpZWiLuvb=teX3i_sjrA@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------mW0my37LWUFI7uzcWUig3KYI"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------mW0my37LWUFI7uzcWUig3KYI
Content-Type: multipart/mixed; boundary="------------zj5kvRivBLxpe3X2H03nXHiz";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <30b8cb38-ecc8-4d4e-bf18-512e893de153@suse.com>
Subject: Re: [PATCH 03/29] tools/xenlogd: connect to frontend
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-4-jgross@suse.com>
 <CAKf6xptkUPBSTsij=CAWaiYxTCtGH4zpZWiLuvb=teX3i_sjrA@mail.gmail.com>
In-Reply-To: <CAKf6xptkUPBSTsij=CAWaiYxTCtGH4zpZWiLuvb=teX3i_sjrA@mail.gmail.com>

--------------zj5kvRivBLxpe3X2H03nXHiz
Content-Type: multipart/mixed; boundary="------------K6XDtvQmGHhHiWBGQE4tsv3e"

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

T24gMDEuMTEuMjMgMjA6MjEsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNTozNOKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHRoZSBjb2RlIGZvciBjb25uZWN0aW5nIHRvIGZyb250ZW5k
cyB0byB4ZW5sb2dkLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpn
cm9zc0BzdXNlLmNvbT4NCj4gDQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVubG9nZC94ZW5s
b2dkLmMgYi90b29scy94ZW5sb2dkL3hlbmxvZ2QuYw0KPj4gaW5kZXggNzkyZDEwMjZhMy4u
ZGEwYTA5YTEyMiAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL3hlbmxvZ2QveGVubG9nZC5jDQo+
PiArKysgYi90b29scy94ZW5sb2dkL3hlbmxvZ2QuYw0KPiANCj4+ICtzdGF0aWMgdm9pZCBj
b25uZWN0X2RldmljZShkZXZpY2UgKmRldmljZSkNCj4+ICt7DQo+PiArICAgIHVuc2lnbmVk
IGludCB2YWw7DQo+PiArICAgIHhlbmV2dGNobl9wb3J0X29yX2Vycm9yX3QgZXZ0Y2huOw0K
PiAxLj4gKw0KPj4gKyAgICB2YWwgPSByZWFkX2Zyb250ZW5kX25vZGVfdWludChkZXZpY2Us
ICJ2ZXJzaW9uIiwgMCk7DQo+PiArICAgIGlmICggdmFsICE9IDEgKQ0KPj4gKyAgICAgICAg
cmV0dXJuIGNvbm5lY3RfZXJyKGRldmljZSwgImZyb250ZW5kIHNwZWNpZmllcyBpbGxlZ2Fs
IHZlcnNpb24iKTsNCj4+ICsgICAgdmFsID0gcmVhZF9mcm9udGVuZF9ub2RlX3VpbnQoZGV2
aWNlLCAibnVtLXJpbmdzIiwgMCk7DQo+PiArICAgIGlmICggdmFsICE9IDEgKQ0KPj4gKyAg
ICAgICAgcmV0dXJuIGNvbm5lY3RfZXJyKGRldmljZSwgImZyb250ZW5kIHNwZWNpZmllcyBp
bGxlZ2FsIHJpbmcgbnVtYmVyIik7DQo+IA0KPiBMaW51eCB1c2VzIDIgcmluZ3MgKFhFTl85
UEZTX05VTV9SSU5HUyksIGFuZCBpdCBkb2Vzbid0IGNvbm5lY3Qgd2hlbg0KPiBtYXgtcmlu
Z3MgaXMgbGVzcyB0aGFuIHRoYXQuDQo+IA0KPiBtYXhfcmluZ3MgPSB4ZW5idXNfcmVhZF91
bnNpZ25lZChkZXYtPm90aGVyZW5kLCAibWF4LXJpbmdzIiwgMCk7DQo+IGlmIChtYXhfcmlu
Z3MgPCBYRU5fOVBGU19OVU1fUklOR1MpDQo+ICAgICAgcmV0dXJuIC1FSU5WQUw7DQo+IA0K
PiBuZXdfZGV2aWNlKCkgd3JpdGVzIG1heC1yaW5ncyBhcyAxLiAgU28gdGhpcyB3b3JrcyBm
b3IgbWluaS1vcywgYnV0DQo+IG5vdCBMaW51eC4gIEknbSBub3QgcmVxdWVzdGluZyB5b3Ug
dG8gY2hhbmdlIGl0IC0ganVzdCBub3RpbmcgaXQuDQoNClRoYW5rcyBmb3IgdGhlIG5vdGUu
IEknbGwgY2hhbmdlIGl0IHRvIGFsbG93IG1vcmUgcmluZ3MuDQoNCj4gDQo+PiArDQo+PiAr
ICAgIHZhbCA9IHJlYWRfZnJvbnRlbmRfbm9kZV91aW50KGRldmljZSwgImV2ZW50LWNoYW5u
ZWwtMCIsIDApOw0KPj4gKyAgICBpZiAoIHZhbCA9PSAwICkNCj4+ICsgICAgICAgIHJldHVy
biBjb25uZWN0X2VycihkZXZpY2UsICJmcm9udGVuZCBzcGVjaWZpZXMgaWxsZWdhbCBldnRj
aG4iKTsNCj4+ICsgICAgZXZ0Y2huID0geGVuZXZ0Y2huX2JpbmRfaW50ZXJkb21haW4oeGUs
IGRldmljZS0+ZG9taWQsIHZhbCk7DQo+PiArICAgIGlmICggZXZ0Y2huIDwgMCApDQo+PiAr
ICAgICAgICByZXR1cm4gY29ubmVjdF9lcnIoZGV2aWNlLCAiY291bGQgbm90IGJpbmQgdG8g
ZXZlbnQgY2hhbm5lbCIpOw0KPj4gKyAgICBkZXZpY2UtPmV2dGNobiA9IGV2dGNobjsNCj4+
ICsNCj4+ICsgICAgdmFsID0gcmVhZF9mcm9udGVuZF9ub2RlX3VpbnQoZGV2aWNlLCAicmlu
Zy1yZWYwIiwgMCk7DQo+PiArICAgIGlmICggdmFsID09IDAgKQ0KPj4gKyAgICAgICAgcmV0
dXJuIGNvbm5lY3RfZXJyKGRldmljZSwgImZyb250ZW5kIHNwZWNpZmllcyBpbGxlZ2FsIGdy
YW50IGZvciByaW5nIik7DQo+PiArICAgIGRldmljZS0+aW50ZiA9IHhlbmdudHRhYl9tYXBf
Z3JhbnRfcmVmKHhnLCBkZXZpY2UtPmRvbWlkLCB2YWwsDQo+PiArICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBST1RfUkVBRCB8IFBST1RfV1JJVEUpOw0K
Pj4gKyAgICBpZiAoICFkZXZpY2UtPmludGYgKQ0KPj4gKyAgICAgICAgcmV0dXJuIGNvbm5l
Y3RfZXJyKGRldmljZSwgImNvdWxkIG5vdCBtYXAgaW50ZXJmYWNlIHBhZ2UiKTsNCj4+ICsg
ICAgZGV2aWNlLT5yaW5nX29yZGVyID0gZGV2aWNlLT5pbnRmLT5yaW5nX29yZGVyOw0KPj4g
KyAgICBpZiAoIGRldmljZS0+cmluZ19vcmRlciA+IDkgfHwgZGV2aWNlLT5yaW5nX29yZGVy
IDwgMSApDQo+PiArICAgICAgICByZXR1cm4gY29ubmVjdF9lcnIoZGV2aWNlLCAiZnJvbnRl
bmQgc3BlY2lmaWVzIGlsbGVnYWwgcmluZyBvcmRlciIpOw0KPj4gKyAgICBkZXZpY2UtPnJp
bmdfc2l6ZSA9IFhFTl9GTEVYX1JJTkdfU0laRShkZXZpY2UtPnJpbmdfb3JkZXIpOw0KPj4g
KyAgICBkZXZpY2UtPmRhdGEuaW4gPSB4ZW5nbnR0YWJfbWFwX2RvbWFpbl9ncmFudF9yZWZz
KHhnLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDEgPDwgZGV2aWNlLT5yaW5nX29yZGVyLA0KPj4gKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZS0+ZG9taWQs
DQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgZGV2aWNlLT5pbnRmLT5yZWYsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUFJPVF9SRUFEIHwgUFJPVF9XUklURSk7
DQo+PiArICAgIGlmICggIWRldmljZS0+ZGF0YS5pbiApDQo+PiArICAgICAgICByZXR1cm4g
Y29ubmVjdF9lcnIoZGV2aWNlLCAiY291bGQgbm90IG1hcCByaW5nIHBhZ2VzIik7DQo+PiAr
ICAgIGRldmljZS0+ZGF0YS5vdXQgPSBkZXZpY2UtPmRhdGEuaW4gKyBkZXZpY2UtPnJpbmdf
c2l6ZTsNCj4+ICsNCj4+ICsgICAgaWYgKCBwdGhyZWFkX2NyZWF0ZSgmZGV2aWNlLT50aHJl
YWQsIE5VTEwsIGlvX3RocmVhZCwgZGV2aWNlKSApDQo+PiArICAgICAgIHJldHVybiBjb25u
ZWN0X2VycihkZXZpY2UsICJjb3VsZCBub3Qgc3RhcnQgSS9PIHRocmVhZCIpOw0KPj4gKyAg
ICBkZXZpY2UtPnRocmVhZF9hY3RpdmUgPSB0cnVlOw0KPj4gKw0KPj4gKyAgICB3cml0ZV9i
YWNrZW5kX3N0YXRlKGRldmljZSwgWGVuYnVzU3RhdGVDb25uZWN0ZWQpOw0KPj4gK30NCj4+
ICsNCj4gDQo+PiBAQCAtMTIyLDYgKzY2OSwxMSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hh
ciAqYXJndltdKQ0KPj4gICAgICAgaW50IHN5c2xvZ19tYXNrID0gTE9HX01BU0soTE9HX1dB
Uk5JTkcpIHwgTE9HX01BU0soTE9HX0VSUikgfA0KPj4gICAgICAgICAgICAgICAgICAgICAg
ICAgTE9HX01BU0soTE9HX0NSSVQpIHwgTE9HX01BU0soTE9HX0FMRVJUKSB8DQo+PiAgICAg
ICAgICAgICAgICAgICAgICAgICBMT0dfTUFTSyhMT0dfRU1FUkcpOw0KPj4gKyAgICBjaGFy
ICoqd2F0Y2g7DQo+PiArICAgIHN0cnVjdCBwb2xsZmQgcFsyXSA9IHsNCj4+ICsgICAgICAg
IHsgLmV2ZW50cyA9IFBPTExJTiwgLnJldmVudHMgPSBQT0xMSU4gfSwNCj4gDQo+IEFyZSB5
b3UgaW50ZW50aW9uYWxseSBzZXR0aW5nIHJldmVudHMgdG8gZW50ZXIgdGhlIGxvb3AgaW5p
dGlhbGx5Pw0KPiBTaG91bGRuJ3QgdGhlIHdhdGNoIHJlZ2lzdHJhdGlvbiB0cmlnZ2VyIGl0
IHRvIGZpcmUgYW55d2F5Pw0KDQpJIGRvbid0IHJlbWVtYmVyIHdoZXJlIEkgZ290IHRoaXMg
ZnJvbS4gUHJvYmFibHkgSSByZWFsbHkgd2FudGVkIHRvIHVzZQ0KdGhlIGZpcnN0IGxvb3Ag
aXRlcmF0aW9uIGFscmVhZHkgZm9yIHByb2Nlc3NpbmcgdGhlIGZpcnN0IHJlc3BvbnNlLg0K
DQpJIHRoaW5rIEkgY2FuIGRyb3Agc2V0dGluZyByZXZlbnRzLg0KDQo+IA0KPj4gKyAgICAg
ICAgeyAuZXZlbnRzID0gUE9MTElOIH0NCj4+ICsgICAgfTsNCj4+DQo+PiAgICAgICB1bWFz
aygwMjcpOw0KPj4gICAgICAgaWYgKCBnZXRlbnYoIlhFTkxPR0RfVkVSQk9TRSIpICkNCj4+
IEBAIC0xMzQsOSArNjg2LDI2IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10p
DQo+Pg0KPj4gICAgICAgeGVuX2Nvbm5lY3QoKTsNCj4+DQo+PiArICAgIGlmICggIXhzX3dh
dGNoKHhzLCAiYmFja2VuZC94ZW5fOXBmcyIsICJtYWluIikgKQ0KPj4gKyAgICAgICAgZG9f
ZXJyKCJ4c193YXRjaCgpIGluIG1haW4gdGhyZWFkIGZhaWxlZCIpOw0KPj4gKyAgICBwWzBd
LmZkID0geHNfZmlsZW5vKHhzKTsNCj4+ICsgICAgcFsxXS5mZCA9IHhlbmV2dGNobl9mZCh4
ZSk7DQo+PiArDQo+PiArICAgIHNjYW5fYmFja2VuZCgpOw0KPj4gKw0KPj4gICAgICAgd2hp
bGUgKCAhc3RvcF9tZSApDQo+PiAgICAgICB7DQo+PiAtICAgICAgICBzbGVlcCg2MCk7DQo+
PiArICAgICAgICB3aGlsZSAoIChwWzBdLnJldmVudHMgJiBQT0xMSU4pICYmDQo+PiArICAg
ICAgICAgICAgICAgICh3YXRjaCA9IHhzX2NoZWNrX3dhdGNoKHhzKSkgIT0gTlVMTCApDQo+
PiArICAgICAgICB7DQo+PiArICAgICAgICAgICAgaGFuZGxlX3dhdGNoKHdhdGNoW1hTX1dB
VENIX1BBVEhdLCB3YXRjaFtYU19XQVRDSF9UT0tFTl0pOw0KPj4gKyAgICAgICAgICAgIGZy
ZWUod2F0Y2gpOw0KPj4gKyAgICAgICAgfQ0KPj4gKw0KPj4gKyAgICAgICAgaWYgKCBwWzFd
LnJldmVudHMgJiBQT0xMSU4gKQ0KPj4gKyAgICAgICAgICAgIGhhbmRsZV9ldmVudCgpOw0K
Pj4gKw0KPj4gKyAgICAgICAgcG9sbChwLCAyLCAxMDAwMCk7DQo+IA0KPiBDYW4geW91IGp1
c3QgdXNlIGFuIGluZmluaXRlIHRpbWVvdXQgYW5kIHJlbHkgb24gdGhlIHNpZ25hbA0KPiBp
bnRlcnJ1cHRpbmcgdGhlIHN5c3RlbSBjYWxsPw0KDQpZZXMsIHByb2JhYmx5Lg0KDQoNCkp1
ZXJnZW4NCg==
--------------K6XDtvQmGHhHiWBGQE4tsv3e
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-----

--------------K6XDtvQmGHhHiWBGQE4tsv3e--

--------------zj5kvRivBLxpe3X2H03nXHiz--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVDXHUFAwAAAAAACgkQsN6d1ii/Ey/K
ngf5ARXMZA1ZqDsPtowxBqtJuISX6EljJQzO6/O+/s6RwogDUIYYB4wNKd75EwQJbgytnd/h06Eu
arDdkEbCEwabsT1aX7tCpK+jkgtImzuoCTde65243GBWhQv+jiezuvXs9ucfu/z+DbPPp3P7mACu
zDkcloBa/rkRsFpGPeDLbNWHpt4P8t1e4qTL0d+IuXRaNGP5n1rtXsZ6wFZbCW/7zEJNltZNCTt3
E+R/JekQlvCtxwELgZGyJutwOKLVX94IgmFennPw2a+IdO30iy9pP/u7JHtcRbLt+KnALyUMcTN2
oYgXmSm0q9hLWEHfVXI008HL3zNWYttWCPULYcFzAA==
=jLHE
-----END PGP SIGNATURE-----

--------------mW0my37LWUFI7uzcWUig3KYI--


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 08:29:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 08:29:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626760.977286 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyT57-0000j8-Gt; Thu, 02 Nov 2023 08:29:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626760.977286; Thu, 02 Nov 2023 08:29: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 1qyT57-0000j1-Dw; Thu, 02 Nov 2023 08:29:37 +0000
Received: by outflank-mailman (input) for mailman id 626760;
 Thu, 02 Nov 2023 08:29: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=78LV=GP=intel.com=michal.wilczynski@srs-se1.protection.inumbo.net>)
 id 1qyT55-0000it-J6
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 08:29:35 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.93])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0f03e7b-7959-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 09:29:32 +0100 (CET)
Received: from orviesa002.jf.intel.com ([10.64.159.142])
 by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 02 Nov 2023 01:29:29 -0700
Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82])
 by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384;
 02 Nov 2023 01:29:29 -0700
Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by
 fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34; Thu, 2 Nov 2023 01:29:27 -0700
Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by
 fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34 via Frontend Transport; Thu, 2 Nov 2023 01:29:27 -0700
Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.169)
 by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.34; Thu, 2 Nov 2023 01:29:24 -0700
Received: from CO6PR11MB5603.namprd11.prod.outlook.com (2603:10b6:5:35c::12)
 by MW3PR11MB4747.namprd11.prod.outlook.com (2603:10b6:303:2f::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Thu, 2 Nov
 2023 08:29:23 +0000
Received: from CO6PR11MB5603.namprd11.prod.outlook.com
 ([fe80::e1c3:7b76:eaa7:c1d9]) by CO6PR11MB5603.namprd11.prod.outlook.com
 ([fe80::e1c3:7b76:eaa7:c1d9%4]) with mapi id 15.20.6954.021; Thu, 2 Nov 2023
 08:29: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: f0f03e7b-7959-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1698913772; x=1730449772;
  h=message-id:date:subject:to:cc:references:from:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=RKRiC1SDEw+qFE4F0mUht9c7G2+g+v6331lkQDabKl8=;
  b=BoeUS+aulAKV5vUDsBYahK1w0orxL7gYqq8/UuTvZ0J3Ylb+QExNTo2G
   M3w6bwzMEBC426p56/+AC432uSDKKwWl4ZEhOKHZ7Aj1qpGlXRzOoAQDY
   3JjZylnDpStJR+Jo61uMz++XFtvde4gXAxcjQwdQB0Col/Q10+Y2Jvtx2
   5/ZmR+k3beHpOaMwTfQaxm842xznIwamJCmkDLgBM0db+6xnh4mKB8ULc
   OQ2Kt36poJU6pv4Hcjux31hUDEafUA8S8u23RdL50UbwGSX7lCC3b2WqG
   WnCoUIPI6oyqjx4INDvHiUr6q/BDY7OgQjMIF2OD24MYk/HKE1u6E53OG
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10881"; a="385838059"
X-IronPort-AV: E=Sophos;i="6.03,270,1694761200"; 
   d="scan'208";a="385838059"
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="6.03,270,1694761200"; 
   d="scan'208";a="2363692"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CL91qwDzL7NhkWn0cbwcs5kbEr1XiNKlZuVtOmCv0IogzdZnGLo2gOSjERomLEwDFBKjdZkEYpPQW95SjBF/GxNOYBuChwP1s7221bLt79HxzEHmvVFZT3YcLQW4nEpsAjsVAbuY0DP8FU/hjVdNhaWdW9ZDg/MFY3dlOsgwBEbOV5SFwMneRzM/bpEawmc4hKouuLqw3m4C1a+uq2vyZNduu4q/oMDzCAsI/zADicKwk5LAtGU2Inu3gHv+RKx2Kw40yW+RXHdGAykMyogwkolsb9WZJBumCFUXk5Mj5tUm5MhbX0U/46xIHuW1T6rTzrV8hjCpoWrIJZ96i7HdbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xHz1QXBxa687LD+2FRrfdMRcg1twlRXobrUtJt0z2C4=;
 b=N5AGTnUez11WBGyK6BRGR/4IsGNG79o1c2K/KPT0712eIvyjySE6ErDlKMBJwH60+zmrEaCkUIuKSbdy/wMzfZ8opl+Jzj/8h0xdVrov7u8gNyzjZnDvw/GAJ6gk5Qfau2HykiCIoawMeEGLfxkQl15TFCL4eIQKZS3rBJzyeBzN1twUc/ArMGG/ZVpNs3s8swbOMk+7IAcHXp6KUzz/G2XpiIQYonuCjNSifcWPQ4tcNOb3xYk/F0WHij6DmZfdDWeRTBKTbIPUAise5ya5go2Q8e1XmdohX4C0Mo5RYHzoJAmNJP+FvZoWRRxrKhY98DjZABLDZbElxmsMzhcvJQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=intel.com;
Message-ID: <9b4f03fe-758a-43b0-92c7-7c72541013c2@intel.com>
Date: Thu, 2 Nov 2023 09:29:16 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] acpi/processor: sanitize _OSC/_PDC capabilities for
 Xen dom0
To: Jason Andryuk <jandryuk@gmail.com>, Juergen Gross <jgross@suse.com>,
	"Boris Ostrovsky" <boris.ostrovsky@oracle.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, <stable@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>,
	<x86@kernel.org>, "H. Peter Anvin" <hpa@zytor.com>,
	<linux-kernel@vger.kernel.org>, <xen-devel@lists.xenproject.org>
References: <20231101134154.18336-1-jandryuk@gmail.com>
Content-Language: en-US
From: "Wilczynski, Michal" <michal.wilczynski@intel.com>
In-Reply-To: <20231101134154.18336-1-jandryuk@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: VE1PR03CA0009.eurprd03.prod.outlook.com
 (2603:10a6:802:a0::21) To CO6PR11MB5603.namprd11.prod.outlook.com
 (2603:10b6:5:35c::12)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO6PR11MB5603:EE_|MW3PR11MB4747:EE_
X-MS-Office365-Filtering-Correlation-Id: ca54a316-efe4-45f4-b44e-08dbdb7dd0e2
X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: HL1dGMntoBbjGJQrqRzuv6MWSFJ0JTjJu0766wvyeDikx6ZwAo1bUDNcIKPKznBY7iy5EKrlHex1b9Jt7WWg1hDerNsDEIIjgsGlsLjgoIHLnF3BPH8KDRV7aMkOEtMLq+0M6RqnBqyXaXlmp9apryl+7BXTFjq8skYJNarz2Nm1nSpx1pW/N1BxIfAVVzqv6u28pVra1Eige6h7l8IPad+GTistkAoEnbhsC0dalyjJY36CS0nxPJE75xiMxUUGm449BzrGclWod/OKwzs6Mkjsvu4NbxBSLBb6NMuxwlJwHwdTOm0gMdwp/g30PYD7mILP9CeN7F2HxV/MCuYR6ECEgHgP/BAqoLsBXns2+qjEdYr/ys2ILO2MM+7Kduxy7SPzNO5qqf9J28xq54gun5zR4ttyvXnRentPo5M6/KRQDH1Ro/MVHVq60HBdaiHdKBq7GRCV8Nw3Nh5FeyqmTsIRzeqYt8evUKIVAesDOOCtLUm3Fw698ZSBlesoSmFAHBKqczO4ecLca2CyLPYaFKQ5LcsveVEUmiobumgxFzkHkrzlXC0C5KSZLu3+EYO+48dEArjFopy/tMyo9IYhx9mbUYZeWgAeYu0Gf/oVVP+wInfvO1Cz1uwiB7gr5EF/U0aDTjaq2Z8azuEPozoLzQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO6PR11MB5603.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(376002)(346002)(136003)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(31686004)(6512007)(2616005)(26005)(38100700002)(31696002)(36756003)(86362001)(82960400001)(2906002)(7416002)(6506007)(53546011)(83380400001)(5660300002)(6666004)(8676002)(4326008)(8936002)(6486002)(66556008)(66476007)(66946007)(316002)(41300700001)(110136005)(478600001)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1102;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cFZrYkxnM00rb3BmdjRRYTYrZC9xN0pBMS9UNDZYUmc4b1lCZ3FCaUhDS242?=
 =?utf-8?B?V3lzMGNBWC9nTFVnQXNtRTNKSk94Y1IrbmpydFJBaUxQbmhjc2RJekdDSVNX?=
 =?utf-8?B?VTlWRzJMaDN6ZkNQMmtVR1plUVdBb3R6WUxRSnF6b2hQNW1USnB0WU1wMFR5?=
 =?utf-8?B?TS9yNXZSeHFZMWQ4Z2cyWGdLcUlDRTdobHJFcEMzZGxzcFNUNklRZHAwNUl4?=
 =?utf-8?B?UlR4WkZZMDlYRXJLVnhFeGUrdHY1dUVXb3NUdEl6SXMyeURzRE5EQkxXSVJO?=
 =?utf-8?B?ZTlSeGlCSmF1Mk02NFBtY2loTTB5Qm9wZTliQWFMMjlHSkFYdk4xaHNFckc5?=
 =?utf-8?B?WEN6UytOaUFvaGE4Q0xhZjJaTFVyNEhGR0NHUVZTTkRtMG8xYkl0SnUrMXlj?=
 =?utf-8?B?R2cvS3JGNmxYNzRLUFJjZVNJVjRNRURKUUNPK0dRNWhORGw5R0U5Mk4yWXpW?=
 =?utf-8?B?Y0tjVVVEdUhqQzNFUkhEd0RPUkV0bittdlJXNnduaGExdE1FNFl4NEJWRDVw?=
 =?utf-8?B?N1hiN3lQaUZMRC9PUzBGOFU5UDZRaGNvMXg2OVh4L0ZzU3RrbW1iK3dWeDhM?=
 =?utf-8?B?U1VJa2ZvVkZsY3hNOURPczZWSk80d08rb3ZoWWdmZDVlSlpLWFdiV2N0R2Yz?=
 =?utf-8?B?aDJETW4wL0NnMmhRUlFDVTZzeWphSE9Hd3FIeTViOW9YaDR2L1RkYkJHUE5Q?=
 =?utf-8?B?c2h3bXJIenhxaTBmd3A2TWR3U01NcXIwM0E0MWJUWThJZnNqZ1BjUStmUE5G?=
 =?utf-8?B?aFNzNWdLNzRsSEU3Z1padExIMkwwVm9SZzMxRlhLN0VCVG9yNWtodjh2T3Jv?=
 =?utf-8?B?SDdkSnZaZm1xMzNaZmJ5VnlFVDN0RVJjVVl5TTUyb0I5Y05rMjZ4RG5Id3px?=
 =?utf-8?B?cTRnTGNIbzFoenVrbVZ6MFZ0ZU5lYm1sMEJoaE45bmRvMW15YVVKVHllT2wx?=
 =?utf-8?B?RWQzeHJ6WjJ0MzFrYmpLZWpUZ09iclhZczZiWldFY0VSMWU3Rm5IMHR2MFVB?=
 =?utf-8?B?cFR4VFBHWXdBU1hsNW5BeGVQUG5wd2JtZ3J2ZFJmSzlvdm9WWkJDQ2IvM08z?=
 =?utf-8?B?RTJ1c1c1MkZTOXk2OHNFOFdjaTlPODVzWkplYjBKMWdDZ2R3dy9qKzBvWmps?=
 =?utf-8?B?MUVURlhwMDRBV2JsOHF0NktMT2xUeXhXMkVuaTdxRVY5QkhtSU9OMGVERENE?=
 =?utf-8?B?R090YkR5ZFQ4dlF6MmF3b2QvdmthOTlkRjhWNVl2N2cwTk5jd3daQ2RuV2gv?=
 =?utf-8?B?OWVqdHZKNnI1T0drNzF6d2Rvd29JZERJdTJxZFlJK3o2cUxNbzRxenhNeVhu?=
 =?utf-8?B?ZzdEWEtacnhMenRsdlhqV3F6endrTGJpRjF2V2RSTjNJdkJLV2duRWZseW1O?=
 =?utf-8?B?clBKa0NVTlNmemhlNHBWZzRmMm9RMFpOMWZ2NVQzQmhQcGpTMFlqTjRzbEFN?=
 =?utf-8?B?cGpNN2RrMjIzemRHVkxRZ1piYmFWOTNGTENaZnlUVXFQR3lyUWRQQjlhQ3lK?=
 =?utf-8?B?UytrRWNsYi9OYUpTbGZVWTZtODhWMHhPWlRtekpaeUZReWdWUnNJdGEzeVIw?=
 =?utf-8?B?T1JFN3ZTNERVWWxKRFBXS3dvL204VEh0Zm0vRXQvOU1hZ3FXditqUFVJMFkz?=
 =?utf-8?B?L3JaeXhTZy84aXJhYVZoQmdhWWVLdGNUN0FHaEFRNUowU0w3WWJKS3pQUGFQ?=
 =?utf-8?B?dTVaZzVIeTlqZ1Vidnl2NEx3MU5UeUVXc0t4Sit4cW95NFBhU2traFVaNHRV?=
 =?utf-8?B?QlFkdUs0SG9sWURJeE1GSlFkVVZFaEVqeDM0cDBvN3dBRWRFaXVmWmVpcytr?=
 =?utf-8?B?Q2JUM3FCMnZrWnZPRG5pRnJkU2JSMFBLemRhdkt2QU1mNjBNNUVPQ212N3hv?=
 =?utf-8?B?MnZWMlNsRTRPRkE0bHliaEJVcUJ6Wnc2ZFZRUlFHVHB3UkduOHoxbmJQSGN2?=
 =?utf-8?B?aENqNVBoaDBIZVZ6cFYxUTVoNDd4YVhDZFc1WDBDV1B3TWwvNC9DL0ZUU29C?=
 =?utf-8?B?R1hManVXMXQ2M0VTQkNFUHhJWnRxVDdTeTJjRWFiVUxSN1pMb2lIRC9Dd3Fs?=
 =?utf-8?B?QklQSnh0bFNaN2J3L3NMbVZoQ3kxejRLQVBQN0NvTTFYelF4MmhoT3ZjbExu?=
 =?utf-8?B?M00xSFZqTWNVMkg0ZXZNN1lDeDF5eks3Q1RYOWQ1M203b3JVaGNhK2tzZ0Mr?=
 =?utf-8?B?S0E9PQ==?=
X-MS-Exchange-CrossTenant-Network-Message-Id: ca54a316-efe4-45f4-b44e-08dbdb7dd0e2
X-MS-Exchange-CrossTenant-AuthSource: CO6PR11MB5603.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 08:29:22.9055
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: y4PfvH+wUYmFT4M7aQriLqq1oPzVSu9qxIYGfxCzS3uwcGT7IpH3ZhkHPG35ST1uVFRrtgCO/32UM8TaweYb5NjQnR2DpmAAJlxVYbPX/N0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR11MB4747
X-OriginatorOrg: intel.com



On 11/1/2023 2:41 PM, Jason Andryuk wrote:
> From: Roger Pau Monne <roger.pau@citrix.com>
>
> The Processor capability bits notify ACPI of the OS capabilities, and
> so ACPI can adjust the return of other Processor methods taking the OS
> capabilities into account.
>
> When Linux is running as a Xen dom0, the hypervisor is the entity
> in charge of processor power management, and hence Xen needs to make
> sure the capabilities reported by _OSC/_PDC match the capabilities of
> the driver in Xen.
>
> Introduce a small helper to sanitize the buffer when running as Xen
> dom0.
>
> When Xen supports HWP, this serves as the equivalent of commit
> a21211672c9a ("ACPI / processor: Request native thermal interrupt
> handling via _OSC") to avoid SMM crashes.  Xen will set bit
> ACPI_PROC_CAP_COLLAB_PROC_PERF (bit 12) in the capability bits and the
> _OSC/_PDC call will apply it.
>
> [ jandryuk: Mention Xen HWP's need.  Support _OSC & _PDC ]
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> v4:
> Use xen_santize_proc_cap_bits() name - Michal
> Rephrase comment - Michal
>
> v3:
> Move xen_sanitize_pdc() call to arch_acpi_set_proc_cap_bits() to cover
> _OSC and _PDC.
> drivers/xen/pcpu.c is CONFIG_DOM0 && CONFIG_X86
>
> v2:
> Move local variables in acpi_processor_eval_pdc() to reuse in both conditions.
> ---
>  arch/x86/include/asm/acpi.h           | 14 ++++++++++++++
>  arch/x86/include/asm/xen/hypervisor.h |  9 +++++++++
>  drivers/xen/pcpu.c                    | 21 +++++++++++++++++++++
>  3 files changed, 44 insertions(+)
>
> diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
> index c8a7fc23f63c..f896eed4516c 100644
> --- a/arch/x86/include/asm/acpi.h
> +++ b/arch/x86/include/asm/acpi.h
> @@ -16,6 +16,9 @@
>  #include <asm/x86_init.h>
>  #include <asm/cpufeature.h>
>  #include <asm/irq_vectors.h>
> +#include <asm/xen/hypervisor.h>
> +
> +#include <xen/xen.h>
>  
>  #ifdef CONFIG_ACPI_APEI
>  # include <asm/pgtable_types.h>
> @@ -127,6 +130,17 @@ static inline void arch_acpi_set_proc_cap_bits(u32 *cap)
>  	if (!cpu_has(c, X86_FEATURE_MWAIT) ||
>  	    boot_option_idle_override == IDLE_NOMWAIT)
>  		*cap &= ~(ACPI_PROC_CAP_C_C1_FFH | ACPI_PROC_CAP_C_C2C3_FFH);
> +
> +	if (xen_initial_domain()) {
> +		/*
> +		 * When Linux is running as Xen dom0, the hypervisor is the
> +		 * entity in charge of the processor power management, and so
> +		 * Xen needs to check the OS capabilities reported in the
> +		 * processor capabilities buffer matches what the hypervisor
> +		 * driver supports.
> +		 */
> +		xen_sanitize_proc_cap_bits(cap);
> +	}
>  }
>  
>  static inline bool acpi_has_cpu_in_madt(void)
> diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
> index 7048dfacc04b..a9088250770f 100644
> --- a/arch/x86/include/asm/xen/hypervisor.h
> +++ b/arch/x86/include/asm/xen/hypervisor.h
> @@ -100,4 +100,13 @@ static inline void leave_lazy(enum xen_lazy_mode mode)
>  
>  enum xen_lazy_mode xen_get_lazy_mode(void);
>  
> +#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI)
> +void xen_sanitize_proc_cap_bits(uint32_t *buf);
> +#else
> +static inline void xen_sanitize_proc_cap_bits(uint32_t *buf)
> +{
> +	BUG();
> +}
> +#endif
> +
>  #endif /* _ASM_X86_XEN_HYPERVISOR_H */
> diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
> index b3e3d1bb37f3..7000701dff8f 100644
> --- a/drivers/xen/pcpu.c
> +++ b/drivers/xen/pcpu.c
> @@ -47,6 +47,9 @@
>  #include <asm/xen/hypervisor.h>
>  #include <asm/xen/hypercall.h>
>  
> +#ifdef CONFIG_ACPI
> +#include <acpi/processor.h>
> +#endif
>  
>  /*
>   * @cpu_id: Xen physical cpu logic number
> @@ -400,4 +403,22 @@ bool __init xen_processor_present(uint32_t acpi_id)
>  
>  	return online;
>  }
> +
> +void xen_sanitize_proc_cap_bits(uint32_t *cap)
> +{
> +	struct xen_platform_op op = {
> +		.cmd			= XENPF_set_processor_pminfo,
> +		.u.set_pminfo.id	= -1,
> +		.u.set_pminfo.type	= XEN_PM_PDC,
> +	};
> +	u32 buf[3] = { ACPI_PDC_REVISION_ID, 1, *cap };
> +	int ret;
> +
> +	set_xen_guest_handle(op.u.set_pminfo.pdc, buf);
> +	ret = HYPERVISOR_platform_op(&op);
> +	if (ret)
> +		pr_err("sanitize of _PDC buffer bits from Xen failed: %d\n",
> +		       ret);
> +	*cap = buf[2];
> +}
>  #endif

Looks good to me.
For what it's worth -
Reviewed-by: Michal Wilczynski <michal.wilczynski@intel.com>




From xen-devel-bounces@lists.xenproject.org Thu Nov 02 08:33:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 08:33:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626765.977295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyT93-0002Us-4V; Thu, 02 Nov 2023 08:33:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626765.977295; Thu, 02 Nov 2023 08: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 1qyT93-0002Ul-1c; Thu, 02 Nov 2023 08:33:41 +0000
Received: by outflank-mailman (input) for mailman id 626765;
 Thu, 02 Nov 2023 08:33: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyT91-0002Sn-Qj
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 08:33:39 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84e91d2b-795a-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 09:33:38 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB10069.eurprd04.prod.outlook.com (2603:10a6:150:121::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Thu, 2 Nov
 2023 08:33:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 08: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: 84e91d2b-795a-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kWkHJjXe7d3xealKlsWCp5K0udmlW4VrGjLzEgOm5lTec4LMzc2VqOuF9WKqdeppRTMJ1uyDAqCjYyTn1ErB0GbyyQ5hJSjjUKZpcyfEyXkwWtRGC/FOvZkUh2wq0NSTKWdvDDGtggc2SIDmpoS+GWmAde+1vDdRl2KyUB9taZFLKIO38uVPeecoBfFIACwDAM9TzHTSQbjQN88Lq0NspokHy4aPnlXq1cr1K4D8LZqUeyfHWhDUZV4BF5TO0gex/FBt7DVRCm7ZP6uT0w4CGhYunTr3e8ebUYpZG6W0Z9rTxps77Yx+112tpAdd1zviEwg9LOsCDlJ62cL9A+Ia5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=U2BvuN/CeamPsqtW1W+IGaWU0iyTL+kGvCgiPZLlIso=;
 b=ccWetqCoiKg5TfJ9k9XA6L2wgkwUPJo5rFefz0QK6aSVuiMCYV0Q2tdRgY/hZ1rnF3+jOO2/WMT4ffj340Aig1709iFo3gCWndcA69SKD+1fhSEQrgK3lHDtyd4U60MJo5FkkRe7SvSD67UO7xvbVMg+EhAWErmdVWwuVeUF1nP/m7VxM797VwIQr5PVpjT5ei+M6Qxzo63VPwcUVoId0s8uPbbUmRhRABcnppg5LpEycPODtCVPlnvpcpj+Ayii+AjUWu4RVUxGMKtm+6BbHF4HONpVjNvNiKq5sE1fSKtf8nKxrhAbWp9lPmrtoeKKqFB7Bz61h6O3Z15PBFfoWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=U2BvuN/CeamPsqtW1W+IGaWU0iyTL+kGvCgiPZLlIso=;
 b=SDkvbFq0yipLpIxFTw4ZlWvmT8govmHbQa61AEHPeO3fOp95wQBgnrBGbh4mfYkW8lZ42IZ1+Y0Xe+d+U1JvLyLLlDXGlstvj4K/5MOrmmi0SyXAZ4baW3YitDl++fSIkVTlvTzBOjXo2AXMMNoZ4rQc6kRQxkArTAQdASNixTGOqFhvzDfbD6OPjxezZBZbTydVdZMSIW6ZWzZpfkgDRyme8yhsRXIEJWLyrWQ8vA89iX+kTFIZ4vC+HqRscsIPvMsMon8iCYQV1XG8cZ8DfAs93S+nTWzEsHqkyR4UeM0+iKZ37qSl30lhhvDLhg1nkRh+efmbPn/KbsEtMNPpeA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7ca0ed7c-e797-7894-80e6-5d6497db9a99@suse.com>
Date: Thu, 2 Nov 2023 09:33:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH for-4.18] x86/time: Fix UBSAN failure in
 __update_vcpu_system_time()
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>, Henry Wang <Henry.Wang@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231101203737.3441425-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231101203737.3441425-1-andrew.cooper3@citrix.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB10069:EE_
X-MS-Office365-Filtering-Correlation-Id: 88f7d23d-9745-4f10-5cda-08dbdb7e681e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PInwxHOnzaUe2KY/euAQ8weGz+ipGN+B1aNCfCjBgHQIIqmrugQ5qZxS5EcU292hvRVXlorh1v2tlueGI9HE4Ngb+8rFUsi1pmZU3Bhm0MRzC3ROh2KqYnBSAfsCrR9K7Q3iOvTgOmLts7WeYTm2B5sFdPq+Dx1PR8eF7jbBlpEDnBhVNTqErehhEMnxESURFYa+7HF4gPmd2DXZkOG3i2b4LQz6+fv5LpGABI6e2oJoBGz44STfAtQg8Mih4LHCbiaWS7KXnVzBYW/k6C2o0pTtNSFWjHqSREgwcRrA0VfgsrEeHZVZMYYITqvrjuMu6pPJODDXBbYbLiQkHOek9Ptsg0KcQsqMrQ+cpY5H7QDcYsNMbPOkdCL2fv+fC5wKQg20QkNI6JID3xte7lWm7GImsnyPYLPWeHYYLBcka0Vz7/AxoSu41PvkswOOi+poo72OCFMaBeCk+2aT7AFGlt/qFz5dx8qmfq3Ydo9u61wfim4DW+EvNp+OmcPoz1jPAC+1T0OQ4i1EbuNHzaQnSWe76bL+ROa7hXpKqHbwm4/FH2X8tLOCir9M+jU+XqLjfe+WYt6NkuF8aen0GcMJvqWYsvebQo6KURlTlGIfeU3qyyStw/H1sl7vch1G4Sr4vw5W/TMtzuJFTyg2DM/SSQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(396003)(39860400002)(136003)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(86362001)(31696002)(36756003)(31686004)(66476007)(6512007)(6486002)(8936002)(41300700001)(478600001)(8676002)(4326008)(6506007)(53546011)(2616005)(83380400001)(26005)(5660300002)(66556008)(316002)(66946007)(6916009)(54906003)(2906002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejlkODBsSUJ6NTIzaGhvZXh4M1BVNGRNakxaenZIR1BQUDhHVjB2ZitFUlI1?=
 =?utf-8?B?NnNldjc4eUFTbUtORjlmS1k3RytaMWRFMzNoUkpySkxndkZqMmlNVlp2MTZs?=
 =?utf-8?B?STZmOWhhUUN3bGlLWEJ3Qk83ZGs3WFVUOWxGZVlYWnlIa2FJclNoditza01w?=
 =?utf-8?B?WTlIQ1VzUzBseVk3UjBvaXl5K1JXejVZbmVqTTB1U3hzWkEzcVBEOExxelh0?=
 =?utf-8?B?UFgxdjR1eCtHeUxqTWNqRXJBcjNPYlBnV1cxYXZMVkJidmZQMDMwR2FBS2Nq?=
 =?utf-8?B?eVZpKy9DZFVkMFd5eDJxdG1BRnNGcXl6NnhRc3FkdzIzUzUxd251WmZiZGp3?=
 =?utf-8?B?YVdOTUtkUjBaVG1aSTc3VmhrdExXTksybC9COFBFK25DNFBpUnhEbjYwc1p2?=
 =?utf-8?B?OSs4c01ZbU1VaGt3UDV2UjNueE5IUkRRNW5PekJ0dWMvaDdBOWo5MTY3dXhz?=
 =?utf-8?B?ejdjMDJabHJxTFpJQ3cwaXdKR2laSUNjSVozeVl6WE9nK1FHUDM0WVU3amZD?=
 =?utf-8?B?Uklna2NKQmF3SjRXQVlMMFlKV293WUt3SjAwc2twL1F0V1pVZEc2T2VFNmZD?=
 =?utf-8?B?VG4zcE1NNzdRMzhIb2YxVVorcFlMU2V1ZmhIUkFvM3FjMVdGZ1kzZUxOaFd5?=
 =?utf-8?B?Q3E3UHBVOTQ2ajVhYy9vdFNlR0d1MStTbzNoQmVycDBzd3F4S09rNGdGUFc1?=
 =?utf-8?B?QkhEZjVVZDhFNm4vNjFMZFd0aVhkYjRmZUJXSnZrQ0RKS2NVMnNQWXMwUmlY?=
 =?utf-8?B?dFp6clRnQzlwS21neDNKU21NVmJKd2xxK0xUSHZpaTNkdHBSNVBJeTAwdE1w?=
 =?utf-8?B?MkcvZTQzYWlmYW16VDFuRlgyWGIzL1UyYitZVXZQYWJpSC9GY0xLb0E1dXJh?=
 =?utf-8?B?eFFsalo0OGF2R0FPTElzM3NKR0lTTjE4SHlXWmgzUzBjMWhYRm9Sb0JBcm52?=
 =?utf-8?B?aU1naTJibjJrcCtJanlsamVMMkdGb3RDMEF5elUyMWpOeFFleFdQR3E4c1c2?=
 =?utf-8?B?Umg4aWJHaFpncHBvZTZhRnJyOGxwYUwzZ05ET2JzNGlQQno0Ti9vMTc2VUo0?=
 =?utf-8?B?ZzZNVCtlUE5mQVVHS0xNNHZWYjZLU3ZDU1BiaWc0OFU4NVNRa1BaWWRpMGNC?=
 =?utf-8?B?Y1B0TFZBRDVLeEVKbmw2eHRqWWtmL2lIeHJrYm9ucUdobE93Vnl6ekU0d0NG?=
 =?utf-8?B?cnVzY3NheU8zNXgwdHZnNTgrbkJsQlJFdXREVERJZ0EzblRWeFhoY2pEQWNR?=
 =?utf-8?B?VnJhZ01BdUNRSlh5OE5vMXprY0EwQmd3bDRPQ0NaSWJWMzluMkQxeWMvcVhu?=
 =?utf-8?B?cWFQWkJ4ejl0UlFlYzliUlR4VmFWbjJjY0pLQkg0dHV3ZW81aWJHbHZFdG9W?=
 =?utf-8?B?aitONFRaSjU1THhGWmh4UVNrYk9oNXJFc0NUUnd1WVdiZ0dyakwwYlQwTUJt?=
 =?utf-8?B?T2xFUjlpUjhSRFN3bjYvL0IrVWdvaDBLK1FTVVNmSWxiOWxBR2cvNEJIcHZJ?=
 =?utf-8?B?UXEzZ1F4OXUxTG0yLy9Zdk9vYjI1VDVsSzVJNWRjR1BXOTNIN1V0Tjg2a0VX?=
 =?utf-8?B?S3MrNUlYQWJ5ek9WNU5pcURNNGRzTkFnUEEzQmcybFIrakJaQm91Ty91bVBJ?=
 =?utf-8?B?T0kxSzZ0d2xHVXlZS01Kd3RtODIyT05veUdqTms2K3JSZ2ZOQzVtaUNPOGpI?=
 =?utf-8?B?UGpvS3pGdXh2MWVjaHlkQ0hWSk9hNzNPWDdVYkx3NkZrejFXKy84K3BlaVBG?=
 =?utf-8?B?bVBnUUw2aTVZQkVUdHZNcUVoczdVOUNWSm4vaUprRUVxY3ZlY1d0K3VuTXRF?=
 =?utf-8?B?ODFSK1RBWUVKWDVnVFRXUVZraEEzVS80cksvYnBnejA2YkpWYmRsWS9yUUQr?=
 =?utf-8?B?b1BVK3ZraVZvYnRqSlI1QkpNSGw2RXVFb0lNM1AvaHJVQ2hXNm5kYVQ3ME5C?=
 =?utf-8?B?VVd1ZUV5Z1VDRUVXdUVvTDRzd0dmY2xPOE81NnNHb0VWS3Qvb0tDU2tjU2V6?=
 =?utf-8?B?MzZOQ0tsMWFXK05yZEZSSGZRV0l6ZjRYR1NzRm15VTRqdzl1anhzK1c2MWoy?=
 =?utf-8?B?T1dHTUdUeWtzQnZzQmh3VUJPWHZORHFkcVFsNFNGQkc0UHJDemVhb0dMYWdq?=
 =?utf-8?Q?Ws6UlsdDtJuX3mmjqSMeA3LL0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 88f7d23d-9745-4f10-5cda-08dbdb7e681e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 08:33:36.3556
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mD2WvKyygwBu4W69iAIz/ESMCdmfJp4fBBHLNR03NYsSxT1F3tfkQ4BGuS1B0p1PFj/NwIJURpX72AfWruVz+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10069

On 01.11.2023 21:37, Andrew Cooper wrote:
> As reported:
> 
>   (XEN) ================================================================================
>   (XEN) UBSAN: Undefined behaviour in arch/x86/time.c:1542:32
>   (XEN) member access within null pointer of type 'union vcpu_info_t'
>   (XEN) ----[ Xen-4.19-unstable  x86_64  debug=y ubsan=y  Not tainted ]----
>   ...
>   (XEN) Xen call trace:
>   (XEN)    [<ffff82d040345036>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xd2
>   (XEN)    [<ffff82d0403456e8>] F __ubsan_handle_type_mismatch+0x133/0x49b
>   (XEN)    [<ffff82d040345b4a>] F __ubsan_handle_type_mismatch_v1+0xfa/0xfc
>   (XEN)    [<ffff82d040623356>] F arch/x86/time.c#__update_vcpu_system_time+0x212/0x30f
>   (XEN)    [<ffff82d040623461>] F update_vcpu_system_time+0xe/0x10
>   (XEN)    [<ffff82d04062389d>] F arch/x86/time.c#local_time_calibration+0x1f7/0x523
>   (XEN)    [<ffff82d0402a64b5>] F common/softirq.c#__do_softirq+0x1f4/0x31a
>   (XEN)    [<ffff82d0402a67ad>] F do_softirq+0x13/0x15
>   (XEN)    [<ffff82d0405a95dc>] F arch/x86/domain.c#idle_loop+0x2e0/0x367
>   (XEN)
>   (XEN) ================================================================================
> 
> It is not valid to derive a pointer from vcpu_info() prior to checking that
> the underlying map pointer is good.
> 
> Reorder actions so the NULL pointer check is first.
> 
> Fixes: 20279afd7323 ("x86: split populating of struct vcpu_time_info into a separate function")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

In the interest of silencing the checker
Acked-by: Jan Beulich <jbeulich@suse.com>
However, ...

> 4.18 blocker, or we'll need to issue an XSA/CVE.

... I dare to disagree (or to at least be uncertain) here, and I further
dare to question correctness of the checker (which suggests that it might
be helpful to point out in the description which version of the compiler
it was). Quoting part of a footnote of the respective part of the C99
spec, describing the unary * operator:

"Thus, &*E is equivalent to E (even if E is a null pointer), ..."

This imo leaves it at best ambiguous whether there's any actual UB here.

Furthermore, if you deem this XSA-worthy despite the generated code not
resulting in any real misbehavior, code patterns like
(found in free_heap_pages())

            struct page_info *predecessor = pg - mask;

            /* Merge with predecessor block? */
            if ( !mfn_valid(page_to_mfn(predecessor)) ||

or (found in get_page_from_l1e())

    struct page_info *page = mfn_to_page(_mfn(mfn));
    ...
    valid = mfn_valid(_mfn(mfn));

    if ( !valid ||

would be in the same class (access outside of array bounds), just that the
checker cannot spot those without producing false positives (simply because
it doesn't know frame_table[]'s bounds). We're fully aware of the existence
of such code, and we've decided to - if at all - only eliminate such cases
(slowly) as respective code is touched anyway.

Jan

PS: argo.c:find_ring_mfn() has

    *mfn = page_to_mfn(page);
    if ( !mfn_valid(*mfn) )
        ret = -EINVAL;

which, while not at risk of yielding any UB, is an entirely pointless
check (as the underlying assumption needs to be that the struct
page_info * must already be a valid pointer, or else _its_ obtaining was
possibly UB). Having such checks in the code is at best misleading.



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 08:36:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 08:36:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626768.977306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyTBS-0003Nk-GL; Thu, 02 Nov 2023 08:36:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626768.977306; Thu, 02 Nov 2023 08:36: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 1qyTBS-0003Nd-Dh; Thu, 02 Nov 2023 08:36:10 +0000
Received: by outflank-mailman (input) for mailman id 626768;
 Thu, 02 Nov 2023 08:36: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=HN1Y=GP=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qyTBR-0003NS-15
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 08:36:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd9eb127-795a-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 09:36:06 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id B26B34EE0737;
 Thu,  2 Nov 2023 09:36:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd9eb127-795a-11ee-98d6-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 02 Nov 2023 09:36:06 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>
Cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, Simone Ballarin <simone.ballarin@bugseng.com>, Doug
 Goldstein <cardoe@cardoe.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>
Subject: Re: [XEN PATCH][for-4.19 v5] xen: Add deviations for MISRA C:2012
 Rule 7.1
In-Reply-To: <alpine.DEB.2.22.394.2310311441530.1795129@ubuntu-linux-20-04-desktop>
References: <0c86b50a796ba2aaab01e30935ed559ab719d33a.1698418578.git.nicola.vetrini@bugseng.com>
 <98da41d4-f818-44c7-bd3c-b3e3b224ff0d@xen.org>
 <alpine.DEB.2.22.394.2310301544460.1625118@ubuntu-linux-20-04-desktop>
 <ee3c415d-bedd-432e-bf31-6e806b9cf976@xen.org>
 <alpine.DEB.2.22.394.2310311441530.1795129@ubuntu-linux-20-04-desktop>
Message-ID: <888f5522620fa8ef016a23e40b942e68@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Hi Julien, Stefano

On 2023-10-31 22:41, Stefano Stabellini wrote:
> On Tue, 30 Oct 2023, Julien Grall wrote:
>> Hi Stefano,
>> 
>> On 30/10/2023 22:49, Stefano Stabellini wrote:
>> > On Mon, 30 Oct 2023, Julien Grall wrote:
>> > > Hi Nicola,
>> > >
>> > > On 27/10/2023 16:11, Nicola Vetrini wrote:
>> > > > diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>> > > > index 8511a189253b..8aaaa1473fb4 100644
>> > > > --- a/docs/misra/deviations.rst
>> > > > +++ b/docs/misra/deviations.rst
>> > > > @@ -90,6 +90,13 @@ Deviations related to MISRA C:2012 Rules:
>> > > >             - __emulate_2op and __emulate_2op_nobyte
>> > > >             - read_debugreg and write_debugreg
>> > > >    +   * - R7.1
>> > > > +     - It is safe to use certain octal constants the way they are
>> > > > defined
>> > > > +       in specifications, manuals, and algorithm descriptions. Such
>> > > > places
>> > > > +       are marked safe with a /\* octal-ok \*/ in-code comment, or with
>> > > > a
>> > > > SAF
>> > > > +       comment (see safe.json).
>> > >
>> > > Reading this, it is unclear to me why we have two ways to deviate the rule
>> > > r7.1. And more importantely, how would the developper decide which one to
>> > > use?
>> >
>> > I agree with you on this and we were discussing this topic just this
>> > morning in the FUSA community call. I think we need a way to do this
>> > with the SAF framework:
>> >
>> > if (some code with violation) /* SAF-xx-safe */
>> >
>> > This doesn't work today unfortunately. It can only be done this way:
>> >
>> > /* SAF-xx-safe */
>> > if (some code with violation)
>> >
>> > Which is not always desirable. octal-ok is just an ad-hoc solution for
>> > one specific violation but we need a generic way to do this. Luca is
>> > investigating possible ways to support the previous format in SAF.
>> 
>> Why can't we use octal-ok everywhere for now?
> 
> I think this is a good option for now, yes
> 
> 
>> My point here is to make simple for the developper to know what to 
>> use.
>> 
>> >
>> > I think we should take this patch for now and harmonize it once SAF is
>> > improved.
>> 
>> The description of the deviation needs some improvement.
> 
> +1
> 
> 
>> To give an example,
>> with the current wording, one could they can use octal-ok everywhere. 
>> But
>> above, you are implying that SAF-xx-safe should be
>> preferred.
>> 
>> I would still strongly prefer if we use octal-ok everywhere because 
>> this is
>> simple to remember. But if the other are happy to have both SAF-XX and
>> octal-ok, then the description needs to be completely unambiguous and 
>> the
>> patch should contain some explanation why we have two different ways 
>> to
>> deviate.
> 
> I think we could say "octal-ok" only and not mention SAF. As you can 
> see
> from the other messages we still have work to do on SAF to be able to
> use it the way we would like to use it.

Thanks for the feedback; I'll revise the patch to use and mention only 
octal-ok.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 08:39:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 08:39:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626774.977316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyTEU-0003zN-VG; Thu, 02 Nov 2023 08:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626774.977316; Thu, 02 Nov 2023 08: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 1qyTEU-0003zG-RA; Thu, 02 Nov 2023 08:39:18 +0000
Received: by outflank-mailman (input) for mailman id 626774;
 Thu, 02 Nov 2023 08: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyTET-0003zA-Og
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 08:39:17 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20607.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e976d5a-795b-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 09:39:16 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9341.eurprd04.prod.outlook.com (2603:10a6:102:2a5::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.18; Thu, 2 Nov
 2023 08:39:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 08:39: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: 4e976d5a-795b-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fdQgSt7/y8p1DK9N/P+T2cgTJ7OmD88EyfvlgmsqjlV5TI9kq6vDJuUP3v4x5AzIan3vPhqQMpvztH5rv5+PuAzmCbL67Sjp3O/9olMNQCXWvzohFkh+WA0V24s1KPmbwWj7Zq+ZuVyK5h6gWFzOBfmXfJafWj0xLF5lVa1ZBWqmI2LUplXVtX17ebRMoIlD8+Y8/uog03qHKSiOXDH7OcySt48v5VGw3QvbvknqLiEGmeMckdv5ZoAOwSTU38K2AtdtM997+uKnJk1fECJ10yzvumd5r0Ut/RIz3HDoO2FEdhyNgszOW1pekj7Q0WFVTAvPEwGP0lz50/O+9nifvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gnNEdTC2b5YoH4KGuowk3NrtAXlJ6IAvhCBVPgYMI+E=;
 b=WO0/cx+Vl9NcFtOaOPUixi6yu0AXKJEbnFKqvm6W8P0qzdfXvJDvKoitgGR6PgFBPaFlShJ4KCc32CBpunVwKHgUBPcaXMpZP3UhXLs5cvKFs6i+e3sWYrRpRpWjOF2kmUa9Rm5HCHIFtDAmXVM7V5mjCb4hboZ5yJ3eigSS9bI2CIcBs+w3v6MyfL3PfqgV5WHerVXAwVzZBHsZ0TwI0jWQRTj9j5rO+cpXGUfYqqogsBIb3zKBpEdtBjzdlc/eZJedVFFWIhWnEimqVH6ej0CAYFfMwmlox/WOhVXFK0xn6x7F8MwhVjo6c92OJ3/NPPGG3IWHJdMZ4ny/hhs5xA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=gnNEdTC2b5YoH4KGuowk3NrtAXlJ6IAvhCBVPgYMI+E=;
 b=KTK1vXyf+YhpZ1Vy3BqVjzhp+r0CGChJPibg3IIbHF41zX/KfscwuAQvqCS1Q1qocNeejaQoOyeufJWQ4i5vlqp9mKi2P8cAycCQqzYnC6eNWxf8Icma6vLJDve4btvQzeS6Pt+dDUOW+/AIY67jUBLMMwEQGDrVjFwXQXF/ErsB6GcXh/JtRGZTxUj5IKqV/kSirQIOfM1PELK86L3IYEuDjacHRDnnGQ0TFyksC0gbsJP1OttAoRdm6FFhrxNG1biM+vJJb55x3JLMB+c6bGqSh+5l0lTGfmtPEHJDCrRXZiqlsjzCZ4OU2qieUDcAznWB7eMLlMhGqIffRl7nCg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7642b4d4-c710-d254-b182-4f4540b6c63d@suse.com>
Date: Thu, 2 Nov 2023 09:39:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] xen: avoid generation of stub <asm/pci.h> header
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9341:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d463d18-2236-4264-329e-08dbdb7f313e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XXkzSbzqyc0Jr2MTFvBBJQjM4q1g/3WrVxL4PAnpPp8yTxAtZ4yrOCRASrMvVzX4xo7IcPRxN0PhVK659Z9cWFbTwn+SUdetcZJvifhSCXbW2C2A256jd2L/tRHgtuGgbRdX0xfLFz3Dv1CdUFAPmUQBO+jH+9PB3/Izw/7jdctpdIpt35CV61I41/zToRNGpKFb0P9pF812hZgdMlIcO8o2X7fmJUjc/39n+umE0QsnUlcRb0VRXFUhxO4Cq1n6W1Z0ZtT2BvS/mKa0ClN8VEB1YGXLVloCbqDy9vzeSfZ8UWqCvnBiCpOJo+zfvi6NELY19whCPcpP7R1XtR7XbjFWViluGFaIVA4se2pDwREf/Y2yFnnqu6J8rn44wToBUmwMyL9WSWl3hX+lyqfBrI12T1ZgJJtgwWaPQDYqLxXJJt84yjcEXy+tznEzq0wZtJdV2g7NK/KNixC+hGO0kD6W+EhC9sS45M7wnPA0g9uG8RLf83b/vHN9iPQ3XsG9qaXGwveKjE42Fh7GUO7RmvS08iI8C5DIqRK93HaALYdsJVl8lVurfEF+VVylNprIS25MsPUL1pue2S0DlZ+myevccbWg+/FB+4mv3h06/CzIpiP6IGaIpHq0YEWRYwVBoah34cM8DT+HMtle5JF0PA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(39860400002)(346002)(376002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(316002)(6512007)(26005)(6506007)(6666004)(2906002)(478600001)(8936002)(53546011)(8676002)(5660300002)(66556008)(41300700001)(66476007)(54906003)(6486002)(6916009)(66946007)(4326008)(83380400001)(38100700002)(36756003)(86362001)(2616005)(31696002)(7416002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bVFPSUFMZ3BXc3VvNEF3RE5JVFhoNmEwSU1BMVNoZlZvcEFGb25qc25iLzht?=
 =?utf-8?B?U2R3VnBlTEIwMVVEL0pqVTc2VU13Lyt4WnhUQWh2SkM0bU9EL0FoNmJCOXY3?=
 =?utf-8?B?KzZ4WVIrMFk0TGM2OWlldjlyV3FNSXg3Mll5clloTmM5OUlqa2dyTi9CNzl4?=
 =?utf-8?B?cmtvazg2WWE0U1pGRWpaV0NFUThHNmVIQ0MrOW5qMld1bkhJcjJNU0FtWkh1?=
 =?utf-8?B?dHV0Wk9iSHlCNzlQRktSUkNEd1pTTWtncGIzdUNBYmhtKzQyTjRPajN1S003?=
 =?utf-8?B?REdMQ09TK2dmNEZvR0pPOTlDek93bFg1OGcwcHJIMVVkWGVzZmE2aEp3Lyt0?=
 =?utf-8?B?NUR1Q1FrMnUvWmpZZHJXUW5LeW1lSlo3ajVjNU0xb1BMbEZ1OUM1c2RUN3Nl?=
 =?utf-8?B?aTNNbm1ZT2NYUlAwUHRXWFppTmlTRXEzTjBibjdxS1lHM29nZGdaR2Z6SHMr?=
 =?utf-8?B?KzFVOFBZWGNMV2cwOW9iVmtyMjltcHIvdEpxQi9pMVFNWUdubENrTDRuNlZm?=
 =?utf-8?B?UEwxcTJaekthQ3VmblczN3FwUmhjb3dHNTJXOWV2Zkg4VzBqYUpZWFBwa0lN?=
 =?utf-8?B?cHZTYjdkTnVWSHN4ajVjeTQ1ZTZrZEY4RDZaQ1lsSjNXcW9qQ2ZDb1ZvdEJX?=
 =?utf-8?B?a2ZacnJRb29SaHNSdTNiTVUrRFlNRkFsd0NKL3NlUzIwcHJoeGd3dzROa3pH?=
 =?utf-8?B?eE00N1FTYjNTNnRORFVoL29kZjdFVTFGT1grbzdTblkram9sYVdLMEcySGtH?=
 =?utf-8?B?TUZwc09XT1QxbkRwUnEzQzhRYno1dFBJWXI5UFBrTnFpOUxvTFNqZkJvMnhk?=
 =?utf-8?B?d3FQRkFjOERHa3VZTjV4Y05lcnZSV3JSUytsQUd2WmNuUzZVaWVOUk1HQmlL?=
 =?utf-8?B?Z0VmMy9ncERGbWp4RCtpUnRZa1hBQnpNbWNOeEw2elNVZkVUcE5sQTBVYmZF?=
 =?utf-8?B?cTJVbmtpUmN1YVE4TzA3RTRPZ29RWEJVZXlMejZxN2UxRGFRYWFUSDdKZGtS?=
 =?utf-8?B?cnIxbi9qSXJ4WkNRMG9sUmJBaTNkL3ZrK1NPbldCVVpxcGl4TmFLWG1VNDhx?=
 =?utf-8?B?d085aXN3R1dkLzJDWXM0cThRTzYyT29lR3lNWTdQWnovUGJxVWZrMGo1T1RW?=
 =?utf-8?B?NUxQNEJ0cVE1a3l6ekVBOW92ZU84Rm55YnRaVVVQM05lWVAySUhJc0h4NVBQ?=
 =?utf-8?B?eDhydmRrUS9QVU1EQVVUaWI5SHNVeEplczlGbVJBSWR5YlhBdUxLWCtpYWUw?=
 =?utf-8?B?YnRwemwyRGp4U0NLK1lyaHBSUGlmQ2VxZjJKMDRqcUc3QmpjL29aY09HRDFY?=
 =?utf-8?B?WHZYTzFOOVlDbkxNNzdsWE5IZU1XY20wR2xQMUJ2clV6V3QwZndJakFhR2ZQ?=
 =?utf-8?B?NW1saHVrY254cjZ1bDNCajVSbDhQQ1puckNoWVlLWThyUVpNR2g1WG5NclBN?=
 =?utf-8?B?QTl3Z1BIeCtQbnh3NkFuRHZqUC83VnVibThsSHZOUVZuWW9xMEhNdnVNL2Qv?=
 =?utf-8?B?aUhxU1Y5RTdSTDBsd2JjV2E0bGJpRkdXMkRjUlc5dHkyay93eDdPWm9VWWtB?=
 =?utf-8?B?OWR5YlBONFhHaC9LRzY1dXNQVDh4M1hvK0xjS05tSjBTdW5NQ1RHQk5kbzFF?=
 =?utf-8?B?d3VqT0pFSFhISnMrdHVlYmRHMnJMM3hHbXNFOGl0dmdBdnkra0IzU3NDRE02?=
 =?utf-8?B?d0U5My93ZGlvb3A4dUpWWmhmeG5PZTN3TmZqL1AwcjZOdXJvMktmZUNpOVZw?=
 =?utf-8?B?QjkxK0dZV29PMmk5Z2hIU3RGeHJuUE42KzRsTEZtRHRXbjdlUFU1a2hqYSty?=
 =?utf-8?B?S1h1Tjd2K1ZMUy9GK3hqSDUwTHYvZWxGaWRSUWlqeVM5ekFkSzFVQ1FnYkFj?=
 =?utf-8?B?MmtTOTdvMlFGSm9rNnVadTZuZCtFUk5CQWVOUWN6SGhCUytRZldDZXZlT0kw?=
 =?utf-8?B?Tm5Dd0xZZExobjg4ZkpYZ3pDc0MzaXV6aVgreDluNDZNczlMNkd4Yks1SVBs?=
 =?utf-8?B?d0t3WkNtb1lIRmVjWkJNNDY3MWZuR1RRRHhiWS9YL1U5WHJTL0lOeFluUWE3?=
 =?utf-8?B?ZnVsNFlCMzFmNTJaTzBTSFpEUVFvWWNNSHdPb2twbFFDQnNHNG9FdUM4NTBU?=
 =?utf-8?Q?mMMjrrPVJhHPB41UiU7VrthyZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d463d18-2236-4264-329e-08dbdb7f313e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 08:39:13.7854
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NzowyKfSDcXcPo3Fqo2pIzRdpGck8N2xjPbbwkhXQgWwWJLsAggypHGbQOsiXUPSOFsb+PIlYD+aVQoiAO9u2w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9341

On 01.11.2023 11:15, Oleksii Kurochko wrote:
> Platforms which doesn't have HAS_PCI enabled it is needed to
> have <asm/pci.h>, which contains only an empty definition of
> struct arch_pci_dev ( except ARM, it introduces several
> ARM-specific functions ).
> 
> Also, for architectures ( such as PPC or RISC-V ) on initial
> stages of adding support, it is needed to generate <asm/pci.h>
> for only define the mentioned above arch_pci_dev structure.
> 
> For the Arm-only stubs ( mentioned in <asm/pci.h> for disabled
> HAS_PCI and ARM-specific) will be needed
> to add <asm/pci.h> directly alongside <xen/pci.h>. Only to
> <arm/domain.c> <asm/pci.h> was added.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
albeit with two remarks:

> --- a/xen/include/xen/pci.h
> +++ b/xen/include/xen/pci.h
> @@ -68,7 +68,18 @@ typedef union {
>      };
>  } pci_sbdf_t;
>  
> +#ifdef CONFIG_HAS_PCI
>  #include <asm/pci.h>
> +#else

This minimal scope of the #ifdef will do for now, but will likely want
extending down the road. Even what's visible in context is already an
entity which should be entirely unused in the code base when !HAS_PCI.

> +struct arch_pci_dev { };
> +
> +static always_inline bool is_pci_passthrough_enabled(void)

Perhaps s/always_inline/inline/ as this is moved here. We really shouldn't
use always_inline unless actually have a clear purpose.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 08:45:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 08:45:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626778.977327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyTKT-0006FO-L9; Thu, 02 Nov 2023 08:45:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626778.977327; Thu, 02 Nov 2023 08:45: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 1qyTKT-0006FH-GF; Thu, 02 Nov 2023 08:45:29 +0000
Received: by outflank-mailman (input) for mailman id 626778;
 Thu, 02 Nov 2023 08:45: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyTKS-0006FB-CJ
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 08:45:28 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20620.outbound.protection.outlook.com
 [2a01:111:f400:fe16::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b3d1f75-795c-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 09:45:26 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7380.eurprd04.prod.outlook.com (2603:10a6:20b:1d5::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Thu, 2 Nov
 2023 08:45:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 08:45: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: 2b3d1f75-795c-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NPge8gEyPnkDmw6vDBYTYspftm+iHXHo3F20AgqCHhVSsQ7LmTYNI76cszJa+I91Zcsb77ZL6jbuBF3LxHZwpm1YOARgP4SpycpLfPJwHTpWP9S3lz71Z4CkcrQnRschdZhCRuUczDamLeab0afPysdzGPXtCJqemzzvMGdRnsDbuEb7m+fWMtD0Cntw0aIKqi3XFXfdRVa33zYlvSin7YEaf7/8JZistxsJiRPIZABTgnE7KLecidDGjgsW9VQXRSlhDAvFG//CQrTTQndZ7wauFJkntRwIDy4yHfkgu0kEUBAL+3wvcEqmqbUmsDFTCAAsUrbi6O7uzwxs4Tkllg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1t/gXHc9fedS33dIEQ1GyjVQNmN+UQriLKw6VXywVWE=;
 b=EAHtRLZBiv7wjno03TVJUrLqI+ssmlQ2F8BhVYAXYraF1ZIWeh0WwzRRkaxOuKklRfbP/Sfi1HQn1Nh6yOp9hoINfd4RtkGM2L8EzeUCyUcmCSos6A+S5bkf5DKfVfqIaAuUYRgU0GZNBRy/dOJwsyfRC2ZWZtkmTvQF2ePLJXzC/pVBmsBMVO8TEgaT6XZoxSSisym5VtL6dWRi4Clt6yNjZ3HVh3aOeOwG45sgvMnt4zmRUbn2dgN7YI81A4z4gFDYY5/sNijRd7Zds+uOtn0ekQ9XT6PsbvfNaZTn7ExkjTXl+88+KNvmccAjw9VD4gkD9YkJIDHl22cg4Y0Qwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1t/gXHc9fedS33dIEQ1GyjVQNmN+UQriLKw6VXywVWE=;
 b=CIhyCG1m6FRkcLhQBu6ekKJf2HYK171tD4ILKS6FoRef5UidPmMoXQqQqHyGIORz6aM+LTKyvnq2MQ0vHJ3D1NT8l4oIZNvaHyRGaqkBVYg+I/IkXSQjHwjEzXdZoE3H5qTPdN/1hd1ga6mHhA+5fRryDux/Uj65W6Qj3tpwmVWLTd0lOKnf25xNAxUaNEk+CwTFPc4RsVEQr647s+pZEsOIWsq2hN/Ff0A+XJh8kcE0K4yrvsrMxWTxs2plXvYzqjFKb5rCwP5FV2hQAwW+27G6HncCbJyWRewH0YENEfQLWeRKGXqPfKt5WiHMxMu47Z+GEdUEDWCLZw9jVmXnCQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c586aa91-c35f-5f0c-7d1e-0df47efe79eb@suse.com>
Date: Thu, 2 Nov 2023 09:45:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] x86/irq: do not insert IRQ_MSI_EMU in emuirq mappings
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper
 <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20231031133037.157936-1-xenia.ragiadakou@amd.com>
 <ZUEsabItf_lpvi25@macbook>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZUEsabItf_lpvi25@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0099.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7380:EE_
X-MS-Office365-Filtering-Correlation-Id: 6d3a987e-ceae-4077-7cbc-08dbdb800ddc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q18YKuS9/ksLqJQKpsRbwRnQx8uM5wXLUm6qbojA3T16pC+VvdAGsRl3Nuqkvf+UKs6ujx62O3GNPviWnfuvXz5FH4r2YVSdFCfvEJFaEh7fLMFPbIM9BSPa2sM2NaLj8PV3M42/VivbEEImh+WjBaibQolpRtyzE3b3NkJLGjc/NscXfUsyJpRir9v8Eo2Q0FpBQlWFwG23Jxk5E05FdlN6zBzOhiBLCRVSJa6xBhahpIa1IxUh+7MloMZZ5Gf22v37BUTUYXcYYHE4dNMiRvcsD6v/dQZ7EzVDor0lptWWg876EjiZkdhkY965XK/KyAANm9h89GjMrpz6VewrvMq4Ww4Pl/eO8h0rjNo/jr3Uc4sXXS/NtVDTsob16yi5QiTSXabQK+pWFjlnRHtivg4u2jfDkO53YScihdx/nZnFE2LrQybtp3RNHPgxG9/Haq8Ow5SSu3OpzMXRAnUvATftPnFPTF+Tj/n0ii563nVNtkSG7gqcoXlF2AEW00bitGx0iubgRY3lWIxiW3jh03oNy8fsy0fdNDtADP9vT2OUeRR07M9a+x8L+DdjXS757q9reMcwJRY+xz+paEmq1GAUfRANDd5qczuLuKV0lawa5z4BtAiyUOURxLAwDw8fGBXSmGLomlU653PCa0YzAA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(396003)(136003)(376002)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(6512007)(2616005)(26005)(6486002)(5660300002)(36756003)(8676002)(8936002)(31696002)(2906002)(86362001)(41300700001)(54906003)(66946007)(66476007)(66556008)(4326008)(316002)(110136005)(53546011)(6506007)(478600001)(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?bzBKQVFacFJJNGNiRHBYaXJPR3c3alZXUWlSaEdvNXVzUWtVL3Q1bStSTmpv?=
 =?utf-8?B?RVpTbGJuaXFIRmpQKytTNnN1Uy8rR3JIaWw3dTI4Nkl5TFFucFVXTzJTY2dU?=
 =?utf-8?B?REVod2VSd2h4Wm9MMjZ0djVhY0IxRWFYVFozY1RMeGR5M2RLK0RmTmtMaXBs?=
 =?utf-8?B?UGdFYnVLU1FCakZmb1hPK3h2VVg2dTRHbVl3L0gvTTR0VVhMR0Rib2pIUXdN?=
 =?utf-8?B?cDRRTFZQSDhXMlRmNXQ5NjF2R2lYS21ISWRkMFY0MTh1cGYyNmFMeTZ6aXY5?=
 =?utf-8?B?d0pxVXVpREFOUzVRaXpGUStDVHBuYzJHb2x3c3hFUk9nWjFGY0xUTE1GVjR6?=
 =?utf-8?B?THl0NHJJaXA4WU4yVTBWRHA3dW0yMW13WE9kY3pwMnRZcWErTjhyeGhPQ01h?=
 =?utf-8?B?RnNwZytaZEIxR0dZSDNrcjVtdnFwZ1QvdWx3dzRwbklRcjFVbG5VdmZSL2xh?=
 =?utf-8?B?SkV2U2ovMUxRaXFRNk9RMnA4aUNaOTZJeWsrUnR5VWYrNU5LbDRHaEpIU20y?=
 =?utf-8?B?Qm92cjF1ZEtqT0wxMjNLR1V0czZjMURid2VqM3lDN0IzRkVUZ1lDNVI4UTRL?=
 =?utf-8?B?eFV3QUpEZXZ2ZVBCcnFjdWxzMWU4MWw1bjIvWmNXSGo1clhwQ2UyVStYenJt?=
 =?utf-8?B?aU1yYkNmZWVEWTZ2NFpqZUdES0JYUXJYdFlOaUxWcitEeTM3S0tRNUVXeURi?=
 =?utf-8?B?WE5jNXNaOXp0azBHWHFRa0E0VFB1ZjZxTUxEUHMraEJQNzd6ZTZjUGRPanZq?=
 =?utf-8?B?ZWJ5aWxqMkcxUW9ycUNHUHo0RmVDcjlpTFZxSmxQdklTc21lRmRBWk5jelQ1?=
 =?utf-8?B?cXVNdnlnTUEzSlg3MzhodXlvUXdlUXpOeHFwR0EvNksyTjQzR3F6RnlDOGxw?=
 =?utf-8?B?ZHFMVVhMWXBHQ29uN0pmUWpRSWQ3bTF1WXgvSlMzenNoZkNrck54R1JCZnlH?=
 =?utf-8?B?K1dqa1FQR0NwZ2NZdTJrdWVHZllhYkcwazVXK2l0a2JZejFDemV0TXpSdnZW?=
 =?utf-8?B?YS9aUE9hUTFwc3luZHl4Q08wQThXdDZpU3d3ZDRoRUhieWNXc2d4WnpRYk40?=
 =?utf-8?B?N1NzVldKUHVVTVo2UXRLTUpWNG4vajJYTCtnUVQwck50bjBvQ3FOejg1Vk1x?=
 =?utf-8?B?cG9jQ2d3SlpqU3NPZ3pjK0Vxb05LVjdad1l2bENSc3hjOFZuYzFXQ2ZVNlNK?=
 =?utf-8?B?QTg2dmRFQ2dtRlhSd1lhQzJxaWtCK293aGh1Y2pvMmVHQTlocnMvd2ZmaVY0?=
 =?utf-8?B?WDhuRnpob25obFB4ZENOcUh5cnBOaFVCejJOK01VcW45ZkFIbkxZbnNwRjdh?=
 =?utf-8?B?TGl4STBteXdkTjRlUHg3QkhleEZiU3VoYTlEajlZZWswUTlNUVNValFxakI4?=
 =?utf-8?B?WDZiNG11SjF3Nm8yeXJKV25vTnI3akZCYXk3SmlteWFLaGt4OGZLYWJMR0Fa?=
 =?utf-8?B?TGtBdXpsRitEeGJiWFJ3Zi9DZk5lS3FSSGUyN1VuSnVxZHJJbEpQMlRJL3Z5?=
 =?utf-8?B?eGE0eTZKalVWSkVjQzJOYUl0TDlvUjAzNWsrRFZaN1UyOTNJQmpyc29tV1kw?=
 =?utf-8?B?NWZ5ZEJrcnlkVE11eFltZzM5WmdsTXIvRnlpRDBmcFBwWk5WVTM3NzVlRGwy?=
 =?utf-8?B?dVlpellXeWx4cHZ4TUF2T3VwVzFXdlhObjI0Zno2MzBkeFRNbmlyQi9nNWJU?=
 =?utf-8?B?ZWVJMDBqOVlUZXNHaFVCSWJGRGhUY3FTQ0lZc01qTXdqVHJuUmk2elZnOFJz?=
 =?utf-8?B?enJrUVlnMW1vN21mTUNzY01KQkVNeDBwNTlDQURsb3JaUVRZZzhEclh0K0NT?=
 =?utf-8?B?YlZjeW0zMmZjbWJsQkVjVmFwdGZIcFdkTWhHaytwWVBjNDByYUF3REVDaVF5?=
 =?utf-8?B?d1BESE8vKy82K2JuQ3JjOU5GU3hTQUh4cm5aNXdqVUZaLy84c0wvYVlWWnlZ?=
 =?utf-8?B?NWQ2N0pONGlaWklEWlZrMmdYK3dUT3h5QmpmaTR5WlVJamhxZldFZ2NjWGRn?=
 =?utf-8?B?QzE4TEJoZVBIN25aS2xXRVVSbDdKQi9KNUh0ck9nM3BsM2lGek0vT1JtOGwx?=
 =?utf-8?B?Vlg2TWNRVFM4a1BuRWtwR1NzSFVMN05jRnhsY1MzTEQ5MER6YmM4ME5wMzh4?=
 =?utf-8?Q?tUaaGczJJMlBb+ScZA/lTaDz0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6d3a987e-ceae-4077-7cbc-08dbdb800ddc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 08:45:23.9115
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FtfBGEQ/el8I0RUXM42NQq3tuhTh19M37aDFdOZ9q+VM4SZzq8wAa1qPdP+j9aQgzq4JDmCu7sahtUqSEq8Pjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7380

On 31.10.2023 17:33, Roger Pau Monné wrote:
> On Tue, Oct 31, 2023 at 03:30:37PM +0200, Xenia Ragiadakou wrote:
>> Do not use emuirq mappings for MSIs injected by emulated devices.
>> This kind of pirq shares the same emuirq value and is not remapped.
> 
> AFAICT adding the extra emuirq mappings is harmless, and just adds
> an extra layer of translation?
> 
> Or is this causing issues, but we haven't realized because we don't
> provide emulated devices that use MSI(-X) by default?

Yeah, whether there's anything wrong with this or whether this change
is merely trying to optimize things wants spelling out.

>> Fixes: 88fccdd11ca0 ('xen: event channel remapping for emulated MSIs')
>> Signed-off-by: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
>> ---
>>
>> Question: is there any strong reason why Linux HVM guests still use pirqs?
> 
> Baggage I guess.  I've suggested in the past to switch PIRQs off by
> default for HVM, but I had no figures to show how much of a
> performance penalty that would be for passthrough devices.
> 
> My suggestion would be to introduce an xl.cfg option to select the
> availability of PIRQs for HVM guests, and set it to off by default.
> You would also need to make sure that migration (or save/restore)
> works fine, and that incoming guests from previous Xen versions (that
> won't have the option) will result in PIRQs still being enabled.
> 
> There's already a XEN_X86_EMU_USE_PIRQ flag in xen_arch_domainconfig,
> so you just need to wire the tools side in order to allow selection by
> users.
> 
>>
>>  xen/arch/x86/irq.c | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
>> index f42ad539dc..cdc8dc5a55 100644
>> --- a/xen/arch/x86/irq.c
>> +++ b/xen/arch/x86/irq.c
>> @@ -2684,7 +2684,7 @@ int map_domain_emuirq_pirq(struct domain *d, int pirq, int emuirq)
>>      }
>>  
>>      old_emuirq = domain_pirq_to_emuirq(d, pirq);
>> -    if ( emuirq != IRQ_PT )
>> +    if ( (emuirq != IRQ_PT) && (emuirq != IRQ_MSI_EMU) )
>>          old_pirq = domain_emuirq_to_pirq(d, emuirq);
> 
> I think you can just use emuirq >= 0, as we then only need the emuirq
> translation for passthrough interrupts, same for the rest of the
> changed conditions.
> 
> Looking further, the function seems to be useless when called with
> emuirq < 0, and hence it might be better to avoid such calls in the
> first place?
> 
> I have to admit I've always been very confused with the PIRQ logic, so
> it's possible I'm missing some relevant stuff here.

For any emuirq questions I'd like to suggest to Cc Stefano, who iirc was
the one introducing this machinery. Like you I've never gained proper
understanding of the concept and implementation, and hence I can always
only refer back to Stefano.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 08:57:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 08:57:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626783.977336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyTWP-0000Hn-QV; Thu, 02 Nov 2023 08:57:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626783.977336; Thu, 02 Nov 2023 08:57: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 1qyTWP-0000Hg-Md; Thu, 02 Nov 2023 08:57:49 +0000
Received: by outflank-mailman (input) for mailman id 626783;
 Thu, 02 Nov 2023 08:57: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyTWO-0000Ha-Gm
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 08:57:48 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e30530de-795d-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 09:57:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8258.eurprd04.prod.outlook.com (2603:10a6:20b:3e2::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Thu, 2 Nov
 2023 08:57:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 08: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>
X-Inumbo-ID: e30530de-795d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hZzWRhi4OwfASZB966pqSquMt4OhgHcKhWd3gxgYbYw0+nG+uFats6TFIElo3b9qSxl01bj4Eh3aQ+5b7MOBmpRdWxcsYxOPwBroSugz21Otv1XKgKqRx3FvisBlCTnEpTYb8/BKGi2nlkW5zWFaOG/tOMC/4MbPA0rAtTMrlBSdxpMC71FK9DOkHTjzZfq9C4M2VX5BUG7gUobs6IZQP2g2yV5ge4JAu+4d/T5AbRYoHVAAtc3B1oA0Yz6hPqLyS6v2Ria8kGplV0zxb6HjbWa66ymCw/pA256Ntx0AhJETyiuHEcqhy16Xrxbsx3UOD20Kdh7cSFHNv5hHkdoXrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0lx2DBSHOCtaeXWsGPxrWeetRuva96p2S+AOcz1No1g=;
 b=QUZqGdmj/M6xKDAyughbw2VyJIuiATs92iYjcFBwUhSGmNqKW0L8J3HF0RM1IDWtaSR/BzDkiZJITPRprsYNMEnmjT6gp6K5RwhRQ+e8Gup/tDlnrB8agR3vtd/mKmYH7fqLcR5fdQyBu14Jljy31FTjKGR/mN5vtJyuEOHz0sUiqPbOqdQnOwlqajhksypMZKVz9ZMendVQbj1J0/dRGmKGJaRW8ZDZlR3hQkt0tngSdZ2n0F5F+mTqFi6OnjzaAEO+opu0rcroBdz0fdQXDuhJ+a4d761GtCv+9zdEoh+BGvB47+Qsmn+k+JaFv7ow9fDnk7T7c05jQSn9kMWbFw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0lx2DBSHOCtaeXWsGPxrWeetRuva96p2S+AOcz1No1g=;
 b=UUWDiiDYzUB9UAugOMIwDrEHNDTVYSzyW6/5hpcDKin6jIQYHZR7kFCLrDRameC44Rfy4f5WlU846Vq3xMvBRAcDGi94fKgvPnRsrwGCKTK9Gy8gKlk5KowxIvGot3Tzvp6XdWrXjHEtH31b/a2q3Kiss7SynrICIjTnwBkbmNsj5lqMxCFwfxl0IW64hP7MimgiqGP1BEbKe71UrkG82w741+4FsAuJVqxSg0fexVOrPNUNOkzDIH3hBuxicBqoIaMIU1k8CAXOQbFqVoBx9JyoSKEGilZ2SlrxLaxoSrSGJKBxc5OSZutlyELqM37Dh+Gdl++hNbBUuj+0WVpTyw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8ea5ad46-dbdf-2d9b-1d90-14ff20d94ab8@suse.com>
Date: Thu, 2 Nov 2023 09:57:11 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH 1/2] x86/vmx: Fix IRQ handling for EXIT_REASON_INIT
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Takahiro Shinagawa <shina@ecc.u-tokyo.ac.jp>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231101192058.3419310-1-andrew.cooper3@citrix.com>
 <20231101192058.3419310-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231101192058.3419310-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0149.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8258:EE_
X-MS-Office365-Filtering-Correlation-Id: 0766f9e9-1baf-4ff5-a942-08dbdb81b4e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	j3VkxbThi63d9eMLkife1AK8l+5Oeyd6hBL+N9MuUDOBnNph/NOeC4pp6VYj5PhxqeNGeCssFXppxn4WefikXFb5Z5pUlXXLD8rhqAgI+KmAAi3HLCH2zDJgqReQr8u4MLJ2v0A2+h5eiH0CInhL8DQqt7YyAepK4Q40ttK50qfqiX3pD4pHZ262N13my5rNs31bQq16xK3SS5ckmo5N0aexGjC35aUzg/Oe7AmhBeFyIBHeumDBm3uOQBhi2kLY9elxohzr6Ir40IaZpHkPmhQ3HBYjbHnHKTSYMvuskNSed+EFBzeuiNxraJHtaO9WiG5v1vc13cgr6nwBnHsOo4uUd2ajZQNGN8IoK482zeY4fjQJkMX5FcV+uX71cO1sG1qRq/aZ64e9iQZuryBoZG9m2tKfEAqQ4HGMzkrhRvPEB0aOr+bg1k56dXbspFEMRfnXnKLNTr/GrgU25MVHsRJ3KFrSYAyU04D2Mgw/SFYvO0yicu0FPljyR+e7dOinWPW1ZmOGGr0+NkB6NiIArbx77SaScekrT0hAO1IlwMwt/AnseMb/VDJNbMxsZvMMfZyvM410Boohio0xpKZtpjA5vAgnyuVi2CrURDmxtcm3DeMbf+Nvc9XhQ5yyqXincziUDpqdc/ate27OLPEFbg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(346002)(136003)(230922051799003)(1800799009)(64100799003)(186009)(451199024)(36756003)(66556008)(66476007)(8936002)(4326008)(8676002)(6916009)(54906003)(26005)(316002)(66946007)(4744005)(5660300002)(2906002)(478600001)(6486002)(53546011)(41300700001)(6506007)(2616005)(6512007)(31686004)(86362001)(31696002)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z2xPSjBFcTVlQXc5UjJnRDdxSmk3SG5yb1NTU21TMFA5YlVTcG1GYWxhd2RB?=
 =?utf-8?B?ckl1MWpTcVpnN0svVUtKY2RUc0NHRjBJcWZWVFBRelVPZXpRdmNvekdIRUor?=
 =?utf-8?B?NS9nQ1NPYzVPbmxkUEZLUDBWVXFKbVdndDJYaVBIelJGNU9zby9PWExGdTdv?=
 =?utf-8?B?K0dFbDcwSmhmQll6TERSUEhtaWhmV0hGVWR0WllEVi94MG1iVzlvMWZid3JV?=
 =?utf-8?B?UTNsbXoralZHZXYxU21YZllqNG1naE1kb3FiZ2l2b1VBYXlDcU4wZHl4YVVh?=
 =?utf-8?B?NG04YUhydjRwSEt3WGU1OVBwZDNCbFNxWVRCS0o3ZHlXTlQvNDc2cTJoZmFp?=
 =?utf-8?B?SzlUV3BGN1FEUzJuVFIzUVdTK1dINVdvd0Q4bEozMGlCV1I4U3V4enBYaGdQ?=
 =?utf-8?B?Y2l1a1daZzVobndycVJLckFQZjEwUU9qREFnTHBoR2U1Nnp1SVVkRmNHZlpU?=
 =?utf-8?B?eWxLODJ1MFdMa1R4MmZlaE5KUWhnMUpCL0JjUEMwV2IwYWdRR3d3WHhCVnlW?=
 =?utf-8?B?Z1ZXV1hlM2JYZ2MrT2VHT2JTbGtYd3RrQkFRa0NwOVIzb3FFaSt6eW5YVnFH?=
 =?utf-8?B?aFA0SEJjR3FjaUJHUmR2NU1kY1JGM0tWdlZCVUV0ZXFsR0tJcnVWSDdMUFNS?=
 =?utf-8?B?ZHJkRk5uZEI4eStKdUlXRHdNT0hWSklIeDdFdnczc3dYeUZPeGxJeE5yenZS?=
 =?utf-8?B?Z3BSMUFTZTJDak5CeEJuWXZiUXQwb1ZnbjNRNXdnYldJdkZ1SkpxNGRTN1pC?=
 =?utf-8?B?dVNVakJtMEpueENGOXRhSE8zV2lZRDZEUUdQdjN1dmlBL0wvU29GS1dmVzQ0?=
 =?utf-8?B?RDFQN3FCQ1NGYXFHQkNFV29MMkhWQlR1QWVTRy9Va2g1NUNSR3NxY1BiOWVu?=
 =?utf-8?B?Ykg2bktzWUF3YlR5ai83M0JvYWczZWZEL1hEMlFGVldsWVhuaytQcUxZakZx?=
 =?utf-8?B?eTJnejk2M0xUbzhNMkJ1S0Y1d1hlSUY4Ty9ZNFpTNWROa2s1Nmx4d0ppV0lK?=
 =?utf-8?B?MHdYd0JrWjhEdTJzdmZwUmJmVS9TTWEvaVk0NVJMcThmWjFleU1KZ3Fza0NH?=
 =?utf-8?B?Q2NTMDUyS0o0SkswcXRCbm0zVjFXOHJuWFpWN2Rac0JEQk1XSEZRVmN3UTJJ?=
 =?utf-8?B?M0l4N1J6MzlkRnVXU2xwSldIcXdxTFRPdnNRUnRXa2lReE5mY0Vld1JrK0RE?=
 =?utf-8?B?TEZncDhPNjd0MVY3QjZPWWNSYXBZY0psYTRiS0lXWm1zaEdJSzV2Ym55a3Z3?=
 =?utf-8?B?T3dhaXpaTHpNTzk1Q2pyU2NCbVg1RHplcTFmWGh5MkJTRWU1Uk9ER3c2K0Z4?=
 =?utf-8?B?WU5YU3QzdmFYWCtNblpSQ0ZXVkxZbXNHd1AxdmlyQlkrUUd5OUZBTlJsUjhO?=
 =?utf-8?B?MFYvbjYxR291RkVpSVA5VVFXNU9qaWpXSkEva3hvRXJZWHQ0TlRxb09JOXZ6?=
 =?utf-8?B?WjNyLzAxUytpM2sxdDRSeVIxQXlLTXQ4c0NkT2ZzdkliWXhTTzBMYklaZTV2?=
 =?utf-8?B?bmZ6Z1IrVXlKT0pWclBZY3VFTndYTUc1eDAwOWp5ZEhXbXVMdVFJMlpGVGdt?=
 =?utf-8?B?MmFEcTliNXhWQ3FGMGtad0htNkZZbmQ1M0MyMy9nM2V3SGRMZFNSNVlEbStq?=
 =?utf-8?B?THhlOGkxLzIrUThmV3VYVGE1cXJJcXFvS0dBemJta2M4S0NDbnVrVm9OYnRn?=
 =?utf-8?B?dTRneThMSmRZV1pxcmFHSmcvb2JCZnMxKzMrTlpBOWM4a0c0OVlPeTFGTXFD?=
 =?utf-8?B?V0xmRHlGbkl6Mi9RVnloYmFwNDFsUFN0aEVUSWpzem9SdTBTT1Z1dzJKenBn?=
 =?utf-8?B?VXh3cnh6NzFFRlVvK2tqbWpqZW83VVdDWERkMXdqdFhTYnhrQ2pWSTBoUlg1?=
 =?utf-8?B?V1p2RW1HRC9BVVl2WlFMWmk2bnhZbkFldXhQTWZoU1hUcE5PZHlEYnBab3B2?=
 =?utf-8?B?QnlCa2p4UUZrcGpYNmdnRGEydTNwbmFwSjJFV0lRMmdyVXhYMUFDaUxZNUoz?=
 =?utf-8?B?WitmUXhORTdoMkNyNTltdm80T1JZL09SeHBxSmsvamxpaEdNQ1RBaGF5MkI2?=
 =?utf-8?B?aTVSbHJ2MmpXRDZpZVdVa01rWlBWYUQ2SFpqRzJ3ZE9BckplOU0rc25xcWpq?=
 =?utf-8?Q?i/L7Li2aOlngT8RQxbO/NeiJR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0766f9e9-1baf-4ff5-a942-08dbdb81b4e3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 08:57:13.8808
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 82q+k4CEto+mFEK9lxl/2vDanTZkkROk9G/jhpkZjwYzKpH2NWaXNU6DqUgjAXuxKShnYi+kCNnvn8iYQu+DvQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8258

On 01.11.2023 20:20, Andrew Cooper wrote:
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4097,10 +4097,6 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>      case EXIT_REASON_MCE_DURING_VMENTRY:
>          do_machine_check(regs);
>          break;
> -
> -    case EXIT_REASON_INIT:
> -        printk(XENLOG_ERR "Error: INIT received - ignoring\n");
> -        return; /* Renter the guest without further processing */
>      }

Wouldn't the printk() better remain where it was, and just the "return" be
purged? Otherwise between here and ...

> @@ -4390,6 +4386,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>      case EXIT_REASON_TRIPLE_FAULT:
>          hvm_triple_fault();
>          break;
> +
> +    case EXIT_REASON_INIT:
> +        /* TODO: Turn into graceful shutdown. */
> +        printk(XENLOG_ERR "Error: INIT received - ignoring\n");
> +        break;

... here there are various paths which bypass the main switch(), and hence
there would be no trace left of the unexpected INIT in certain cases.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 09:06:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 09:06:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626787.977346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyTeb-00022t-LT; Thu, 02 Nov 2023 09:06:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626787.977346; Thu, 02 Nov 2023 09: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 1qyTeb-00022m-Hq; Thu, 02 Nov 2023 09:06:17 +0000
Received: by outflank-mailman (input) for mailman id 626787;
 Thu, 02 Nov 2023 09:06: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyTea-00022e-MR
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 09:06:16 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20604.outbound.protection.outlook.com
 [2a01:111:f400:fe13::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 131dbb0b-795f-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 10:06:14 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9093.eurprd04.prod.outlook.com (2603:10a6:20b:444::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Thu, 2 Nov
 2023 09:06:12 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 09:06: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: 131dbb0b-795f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OkTeA9h9C3/8zEBw6JehR+IU9JzTyznQMUunwvjzNoSXDIkqTuQbCOJnSYXUvX2LRJUA62ucze0kiVIgk6wkayaHw7+3OBW+nUZpr4zN/cLIk4kUsMn7InaBhYhQbdY1BGkoFZ7szFhGy27/kl38ANelkyOn1mLvx85czIeW7TKDPx/BVGP2XzNLpKOJF3HFjbviQqXbKlL7ce7m8Zd8xfCNJ2YAbwUV86sPd/lXZuQARMjG6NxQVlvWpqVOrDaAok/5xiKeen5/nmp3Z+IB+Zg28s0TgWyuvMHuHmk79T9phssfIvUV9sjhLpbRDUkF8U0I6BgNpLhm/XFLwFwpnQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+EQxsmFVWlqiyl3Fyp0L0HCQ1p5H1CrT5IXWVocnuT8=;
 b=T+HC7NH1T7tOp+RNpbcbR1nLvOcGTfg3jHvJ4ATx2Trw+z6zyRZ2MV+70Bifcm01Xf5GEK4LHix2b+kDD+uaU68zA72sRtDx6bFNZ6BeU/KoddhPfxYsq68bhf2hg5Y5m1xeUT471YR/CFSlCFgjuH/Jgb+0sMllZHyoSsK8cMPYp3VNSKMOldP7VWm6yXu4Bp8uqoX834GbYeE55DfGxhLE8Vl0+r2Vnj/k4NYGMB9r1MRL4/QdmV8Lnvn03c7VEl/iGK9QbCnXAcWyBOBlmibqWNS/16yJUntWQ/OnaX4A12SnMuM3XxQOz4h3qtBcScbOeQUGgNd8/yleWiMhQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+EQxsmFVWlqiyl3Fyp0L0HCQ1p5H1CrT5IXWVocnuT8=;
 b=1Ox6PsR8mVq23Kc6t4uxsSMhj55e9YMKi/wL0ww/u/Qn/BgO4rVPCJgFQwMFuMMSYd5sOFPsQAPPibDBuGZOd5pH2zj3jRBuxzAP3y79SRig3/C3D1wTLF9G7aBten2iKqT8lRQThpAbN/zMGGiKeVTvhZLqfeuyRpLTQ/Oe3oll1dJiCGCJgOrYPa+mROSzjuCIb7GBzDgSGhdtMgfRUf+0sYYxrGcckbEZAtiUxuIAnBGCUcSt1k6eeVW3EA9YKmVbnGar8cxI/nNze3QLFjvVAy8WtRxIos1nCXmXIhuDWa7svx7iS5DonhzOFF01dETdpgtGMKrCsmc46T9fwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e4f007b3-4dd7-0509-1d37-e94a223f7008@suse.com>
Date: Thu, 2 Nov 2023 10:06:10 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH 2/2] x86/vmx: Disallow the use of inactivity states
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Takahiro Shinagawa <shina@ecc.u-tokyo.ac.jp>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231101192058.3419310-1-andrew.cooper3@citrix.com>
 <20231101192058.3419310-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231101192058.3419310-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0090.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:cd::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9093:EE_
X-MS-Office365-Filtering-Correlation-Id: fe95d3db-9ea0-45fe-d8d5-08dbdb82f611
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nNBB/pFIMmpfCSYdP6CtzXh5y0/0RfBUVTnyyvOjb+9/cX6ZuMF8vV+EjtJcgG7w9sB+MlW9F00nvBTx7EkyNMv+xHrXImrjmJjGGKxNt55JX30ArtK2dAFdQ7+cxq6UMSVqVGNTTTe5d7QZ0gB+TKRsanTUjOiEoRUOaeTK6NbSPIrFlT5QbO5C58aRXVo+9rtk/GUuAuEItSJ8/2YL2UXK+u3P1qpp0JnOU5/ZmtNchNz6/o/xD+2vRhd51a8tir6+E+6yemGMzeb9MggAHlscwTxu/9NxpHSRdmJ0fE1cyeWmv7Ig1ok/8iCozy7a+VzFL6kjUGFdux5C1b2+XL1AkLKcQ0UIv3FnPssjyJj5cmk8ndOQ9dsLormXYul2gAjkgUV0TJYtrEbrIPnsg1/0vHlvHouHj5Vl8Og9qoC5PJ5CeOkFOLZI8ah62NH5ilR8Xgthmxxsi+5zqOsGKtebGb0ZjeYjrPDWcurQp3pfJ1yOLwdfoJapNkcGRJb+UIGCo6TnwbNPYD+p2bUqJgiGX8l0qrkN7/BRnzfbohnAl9FLpgc3+zm5Lv5oM6Qrd1e8YShsA0R91jcl3PiQIZRZHVDwiMqQeW1/18Ia1nShPYP0ww/eaY8RHk/1ZRJFC0LDaDQCqnNGeXitfqsEnw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(396003)(136003)(366004)(39860400002)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(53546011)(83380400001)(38100700002)(31686004)(2616005)(5660300002)(6486002)(86362001)(4326008)(8936002)(8676002)(41300700001)(31696002)(2906002)(6506007)(6512007)(54906003)(66556008)(316002)(6916009)(66946007)(478600001)(66476007)(36756003)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aDRvaDBMdVFiUWZnV00rYm85R21zVjQvWUpwelNLMkFVUVlGNnVMaFlIdXdV?=
 =?utf-8?B?clFwbHVwbEFUNFVBV1lhV2FzSi9QZXRydElNMktrMEYvcGp4VWwzdDVBb3Fr?=
 =?utf-8?B?a3IvNFk1eEFiZUxuZGtaNlVPNjQrRGRFUkFEK3hjakpaRXlVclowMUJpdHZ5?=
 =?utf-8?B?NWVWMW1QYkdBek5HVFpuN1pJRmRDMTg3VkxWdFZQVUdHSS94dFo3ZFljaXFy?=
 =?utf-8?B?NnBncDdjeHdPRFM4TThjRnJTTnd1SFRQQWM4OUt2VFgva1VGYUJJeWlQWDhM?=
 =?utf-8?B?dm5QZXRDME5DN0pqNHFuaFpEYmpNMWQ5dHduWUYrZFJLcDNqZXVaL3RpN2RF?=
 =?utf-8?B?ZHFzaG5XWlpCUHBZbitZSlk3Y1hUa2ZwNHhobHoyM3QzRUl0RVAxcGlBRjVE?=
 =?utf-8?B?blBNamtBOS94M0VSZXltRWNOQzg1UHEvd1B5eEtDNWQxTWRhblhSQkJ5aWp0?=
 =?utf-8?B?NXlPemVSZ0NpeGlOdWVLR1djdDJoY0JGcnlTaUlmU09CWlhqeDh0T3YvelR4?=
 =?utf-8?B?b1NkQUNJT04zTzFqRmlyOTQ5Nlp1RkxLeHI3SSt4WmFqWHNURmJkNGlGdnhs?=
 =?utf-8?B?VFJyNEkzZ1g3b05Xd1JWL3ZDaFJ3U014K0l1clRlVkFjYXE4eEpUYTRaNmFI?=
 =?utf-8?B?aGpkbzFybVB2cEEyblFvTjRKVE5GbTVSWXlBMzFUQWZ3MlNzUHZDeVdaQWZq?=
 =?utf-8?B?QmxISkovYmlOZGp4M0MxSkNwdmxDbzI2dC9UaWNGcHBpbE5GK0Z2UG1ub0hD?=
 =?utf-8?B?a1cwUmxhV3FnbitUMUhMSmN5ZCtIL3RFRUtZRVdtOU9pODBMb1ZwVWxNOGdN?=
 =?utf-8?B?clpIVU1GcmxHcTNHci9GaTFnQWVYeHZpei9qa2NkSXRqajk5Sy9mUUhOWnpQ?=
 =?utf-8?B?L3lyZXpRdUVMNVR1a2k3MThFK2NPaFNDNmwyTEpNM1d2ZVd4VjBiNTZjMnI4?=
 =?utf-8?B?anVZdWI2Zi9YQ0FyK21ISGdLcnFwbzlVRHJwRzJtTXo5NlUvbkVJdUc0TE1s?=
 =?utf-8?B?bFNxUFlJcTcyYmw2cmM1R0dJMnQ0L1BlQlc1M1FiaGZWaHIzcy8vTWR0TUpW?=
 =?utf-8?B?ZURKcHUwbHFpeW5kR24ycGNUY1g1eEpDQ1Q4dFpkanBnaTBHTklFa3FaVklV?=
 =?utf-8?B?VHJhSWE2aENSQXNZSnY4ZUxGT3p3UUNGbmtsdUxKYlhuU0VMOTJIQWZ5cGZp?=
 =?utf-8?B?YnBhckJTS2QyU3RBV1FKWlJqNHNvL1JpeC92ZE1qOFVmOGV6U2JQL3JpYUc5?=
 =?utf-8?B?QTUrUms4ekF2dU5HQUFaWEdNVGhlWTZXYXZhTS9zV1N1TWhGdkxRdlNCbXln?=
 =?utf-8?B?QkhsMFQvYUduTlV5ZXlWUmVINTFBcitnMHRXOEpaQWVnMmRGa0JUR2JIb2s1?=
 =?utf-8?B?OC9MYzZsYTQ5TVJqV0VTaDBEWVBpVFZ3emYycXFDSkZwekxYV0lPdThDNTFr?=
 =?utf-8?B?TzVWMzVRazBaVVducDlwdi85WFJYQUtqV2UwUkp6aDduellicEpOV084Wk13?=
 =?utf-8?B?bTI4UTBCMmN1cUcyb2c4UzhPdm1sMFEzWENVSUp2c2xldFFldGpZcFpFRmp2?=
 =?utf-8?B?bUt3ZDdQNlViM25TcWlvSmZHNXlVS2FITXlnemlSUWdpTkpNY1BzNTZmQ1pO?=
 =?utf-8?B?OS9WMGsrYmp6bTQxUUFnazdVKzEvNURGM1dwZU5uNisraFV3c2p4S3VsbHJz?=
 =?utf-8?B?UlY2MkxIMVJQM2U3VkVwWFBZZklaNExzUVl0Qm4xQlZ3L3o1Qm9uaUt5U3lL?=
 =?utf-8?B?cGYwZ0Z5WXNXVkF3cFdmNHNJbmV2aEVvbHJzZlQxTDk5SmlBT2oxQ2JkSU0z?=
 =?utf-8?B?QWtWSGJCOTcxd0JYQlpwMkRnL0JxZWpiYmljN1psWjQvVytLRVZqb3RmdEtS?=
 =?utf-8?B?WVlyYVVRYkNQaHQrMUdQclBobVNWN1JFME13MFlVaHVHOE40L1E5RXVjUENX?=
 =?utf-8?B?YjlBQ2VoWUx0Z1hsWjFPMDFDQlBrNVlaQjAyc1JRa05qVm5oMHBvOHNmRjRC?=
 =?utf-8?B?SUFkTjdTdzh1UlFmL0pHcGJkaVRrN0c4OEtNcGRIN0NycXoveks1YllhSi8v?=
 =?utf-8?B?aHNQQVhXOExzdDJ0aFVEYU1nWDU0blQ5cXBCY09VR0JBL2hxNmVMajBreTR3?=
 =?utf-8?Q?Q1JwJTf5AWpexdUxQQVr4WQtf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fe95d3db-9ea0-45fe-d8d5-08dbdb82f611
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 09:06:12.6325
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AyXz+996ZvRMDNHSN0VblbAGm4X9pM9aQ5ISaQZtkui9nlJ68EidEtbwpE5mqwdLKtuEstWD+qyHOyMEf1A9aA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9093

On 01.11.2023 20:20, Andrew Cooper wrote:
> Right now, vvmx will blindly copy L12's ACTIVITY_STATE into the L02 VMCS and
> enter the vCPU.  Luckily for us, nested-virt is explicitly unsupported for
> security bugs.
> 
> The inactivity states are HLT, SHUTDOWN and WAIT-FOR-SIPI, and as noted by the
> SDM in Vol3 27.7 "Special Features of VM Entry":
> 
>   If VM entry ends with the logical processor in an inactive activity state,
>   the VM entry generates any special bus cycle that is normally generated when
>   that activity state is entered from the active state.
> 
> Also,
> 
>   Some activity states unconditionally block certain events.
> 
> I.e. A VMEntry with ACTIVITY=SHUTDOWN will initiate a platform reset, while a
> VMEntry with ACTIVITY=WAIT-FOR-SIPI will really block everything other than
> SIPIs.
> 
> Both of these activity states are for the TXT ACM to use, not for regular
> hypervisors, and Xen doesn't support dropping the HLT intercept either.
> 
> There are two paths in Xen which operate on ACTIVITY_STATE.
> 
> 1) The vmx_{get,set}_nonreg_state() helpers for VM-Fork.
> 
>    As regular VMs can't use any inactivity states, this is just duplicating
>    the 0 from construct_vmcs().  Drop the field, leaving a comment as to why
>    it is skipped.
> 
> 2) Nested virt, because of ACTIVITY_STATE in vmcs_gstate_field[].
> 
>    Explicitly hide the inactivity states in the guest's view of MSR_VMX_MISC,
>    and remove ACTIVITY_STATE from vmcs_gstate_field[].
> 
>    In virtual_vmentry(), we should trigger a VMEntry failure for the use of
>    any inactivity states, but there's no support for that in the code at all
>    so leave a TODO for when we finally start working on nested-virt in
>    earnest.
> 
> Reported-by: Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 02 09:11:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 09:11:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626791.977356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyTjB-00046k-5o; Thu, 02 Nov 2023 09:11:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626791.977356; Thu, 02 Nov 2023 09:11: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 1qyTjB-00046d-2P; Thu, 02 Nov 2023 09:11:01 +0000
Received: by outflank-mailman (input) for mailman id 626791;
 Thu, 02 Nov 2023 09:10: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyTj9-00046X-6S
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 09:10:59 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20601.outbound.protection.outlook.com
 [2a01:111:f400:fe12::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bac88d4e-795f-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 10:10:56 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9190.eurprd04.prod.outlook.com (2603:10a6:20b:44d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Thu, 2 Nov
 2023 09:10:52 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 09:10: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: bac88d4e-795f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B3UukqeKkHt/sE4OM8pqFGwjChLgowrvqxGm5QYW/FUQR/iZRyNv0LzpXCm86AukWvlD7LghHcZRf/bKUE0Ux+GTjVNIhkmyn51YTJ0SS1V+A8B8MTWgJ9AYGfD32xV/VnKLETw4yPbzTPg8Msm9tsdELffx3v4nOVk4NxxAWoaeeDKGnKXdzOOe/4bw6W/Mhhx3J/ZZEANIl8yBoFD5UVeNn1ZoQXvpaYQWYMEJb2H3E1DOsKogZVH/Kgt4Z1XKxABB/nvZeAtZ0/CvDUtNZeG4MX/r6fy1HRtZUfGkmpu/CiOITmwmEBkD0dB2wsjOQcJJkCiRYWNOXNhEmXIdaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tcjcbdYKJ7U4xpjb7qwXRGi4MfKePnQMFQI/66XR7k0=;
 b=LjuhJOXsGP4umCT6G4V2MQQuhNCucARZCF7e4pn3NoV/HzzhUMdz8cq8HAD7PAkW/Y3K/rBT5lPH6mDngKR4jQIXdB4VudmXLSGjhBNcAv6BDeLeyQs7kIpyOljOjUfxZGnSsISwMcSUpMpgjDppZZwXsCMnFgIl4GkwnM+FMNhZxyUVEwesQ+D3dvnqsgvUlToOJX4ZD+hs+AWJgctaMS0Urn0afM7EP6JF4hInwN5S/a4j27BLiBU1a3hjOpzzv0jjd4IaBnZ/qTssTgXH7bjTnqVH52Sl/YxOtEqV77EJJ0FWKkjW0StxzqTTSgPu2XsuM4TZb+NxDgsle0ESwg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tcjcbdYKJ7U4xpjb7qwXRGi4MfKePnQMFQI/66XR7k0=;
 b=D/ttUwtAhZI76uzQmKbLavorZ/AsxmV3+jqOEN3ssrdDx6jneAJQSzk3lVt5NYWYvYktp7iDUE6yIh7/g1o6vzA5qTR0KtIQHux5MSiogmhd3sbnTv+UtPjobZFyTqoOG4UwTEl4qrd1PyfhimoXT4BloWfDJ7+VQ1fOydyE2A/Xid3iBbA9VwLWuZ61lxfF2pBGk2opbAgTACV2eWgGiIKrlFcbBWbWXpUBjJhn0sew9/A5kbYbbC8mEmG/obKzjpt+LTIc7Uq42iK6k/dSlkvjp0y/qy6uc+dgmT9YOhWjKz0wM01IRAuNUDiENryKQvS5BlqvTlS2wcjJYYIqbQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b0c05564-eadb-5135-b465-e15dec71aa22@suse.com>
Date: Thu, 2 Nov 2023 10:10:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [RFC PATCH v2 7/8] xen: Add clang-format configuration
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@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: <20231031132304.2573924-1-luca.fancellu@arm.com>
 <20231031132304.2573924-8-luca.fancellu@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231031132304.2573924-8-luca.fancellu@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0032.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9190:EE_
X-MS-Office365-Filtering-Correlation-Id: 2defa687-8517-4e73-6981-08dbdb839cf2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eRpzgKequIiDQY+1DZ2ej+bK3QI+k6ua67tUlEoBPcTFBqmviT1PpJum5Bn9S2tOGjWyVPRLAEEcPhr6qCDsuvIyraw8z1PKz+OTwq5t4dVWlSLXrkD9SwBKXne3+Vh4xXt5VSRqCNnSj0Z/OWdQCTPlKA/OQ6I4OyCWAusiztIgd9W4TUCQltfZrSdCJoHdYfBA8Qp+Uw4K7D1KtUNeIARbAQvMG/kR0YDXmFa1tSZ6DmjP0tR8p/PIOWikA1eYOb8lpJeAF+EMwYa2kXlTTesWP5vI2gob/d0/UHdRhESpCiML1X6pvsQcohIS/zaTdWoKRI/fkAhb38Gt/6Rw5O+Zkgwqaaj003nJ2fVBSQW/61o1atG8bmwPItIr7duoVRCqGYwlgZZj9t9aK0Imxvr+q+vnR4T7WY4+7JDUb0IZuQD/dgIaM/O4CSP/6Xn7mnYS1lI7Tyci4TPZLC/wdnC/U28xBklbPplPk934bFtS3a+TRXyS26R8rDqVH2EnlGqxtYn4BcvhoYcXErOsa4AA3OasisArefIoelO5Tal3cMtnpsdPJKkqJm+Bb9ET4BGrOM7a7yGqyVl4xTsq+WajbZCdH5igfpeZHRNcBoVFoI2xLyr+LSEOGsk5LCjo6SWCDkqtXPmrIZ0s/zWnTw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(39860400002)(376002)(346002)(230922051799003)(1800799009)(64100799003)(451199024)(186009)(31686004)(31696002)(86362001)(36756003)(966005)(6486002)(41300700001)(478600001)(2906002)(30864003)(2616005)(8676002)(8936002)(316002)(6512007)(6506007)(53546011)(4326008)(83380400001)(26005)(5660300002)(66476007)(66556008)(54906003)(6916009)(66946007)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K28vbkVtTEpXaWZOOWc5bW5MbGVjL3N6WmdhNmVwWGY3eFhTUTdFWGFIcnJr?=
 =?utf-8?B?dnordWFsRkZ2cldDdVhjdVNkOUgwMUZZMmxTMlNYSkpyN0xBSkJ5NURvNHk1?=
 =?utf-8?B?LzMvOXh1WHJBa21KM1VBLzArcW9DQjhtQ245K3BuQ0pTVWYvbzE0UUgydDJI?=
 =?utf-8?B?RzVGeXhIMEdWYkRRSlJmZ0dvNDF6NVhJejJMajIyS0Robmxkbkl1Y1V5MU12?=
 =?utf-8?B?QkZaLzJrbXhxbWVWZ0JmOG1hZzRpRlQrWXp0QkIzYUM5WWVvQnFxVSsvWTVH?=
 =?utf-8?B?RUQ4c2pOVStpTHVwNVFjc2Noem5sMWxTZlpoM2xDOHBZYmRhd2QvcUNRVFZu?=
 =?utf-8?B?cVMzOVJVUE01Y0xKUXFKOTdvNFdEZUFMTlRJZ0F1SDBSL2dwUUV4azNyWUMw?=
 =?utf-8?B?cXpmcTdOV0dKOUZ6VFRlWFJlako3QmxpUWp6M2c2MXNNQ21VQ3lJOHhBL01u?=
 =?utf-8?B?Z2RZVmdjTWJwZXNxanJsRkQrMzk3aytheG16azFRZHpSY2lVRG0xRjI5Yk9L?=
 =?utf-8?B?NENxZ0xKVFBXUnArU2tWTk44VUNnL1lYNVR2ejFuNnpOMmt5YUpVTXRDWVhP?=
 =?utf-8?B?dnhJRk9mYURxQU5acURNTzNJbmVlZWhrNjdQNmFnYmhBQU4xcnhIejFuMGdR?=
 =?utf-8?B?Qm9ySnhCVk14dnlBM0RlOXpSaTUvZHlaMHMvS1h4alp5RkxjeUt3dUxUazI0?=
 =?utf-8?B?SlJmT2xGYjlieHhUU3NWN2hVaGRBa1IyS0JvazhPMy9XVHZJUjlWWlF2RzBO?=
 =?utf-8?B?TUdsNWJYUUxOeVgrbTM1RTdQZGloSGF0d1k1U1U4SVNwczBPcTdLc05LSHow?=
 =?utf-8?B?K0RvcTM3bHo5Y2lYS1ljVGFBUkc3cFg3a0VrRzFqcFEyVk9ZbEp5dEczeXVt?=
 =?utf-8?B?c3Fzb3BLTTE1ZnptajVsbWJVcExTbzJac2xRMWJpMTBIbytxODQ5YWp4Y3lh?=
 =?utf-8?B?aFM0VkR4N2R0bUh3Y0U2djJVQWIrWFpnbEtxWlIzRkQwM1ovUkd1Rjl5U1Q4?=
 =?utf-8?B?V05zR2ZQdVVzVFF1Z0tlOXdzMlJZdTl1VHk3Mjk4bndCN2grTHI3MC9Pck9T?=
 =?utf-8?B?ZGppQ1JTUCtVZ1FHVEpFbEhGb1JHYjU3SDZaN3pxcXpQSkQ0c1RXQ3lGNDdw?=
 =?utf-8?B?TTJ6L2xpOUc4c0VPb1hpaGt4ZDFLYUVBNHlFN2dIVFNXcnhLQnkzaEloMHJS?=
 =?utf-8?B?YlZUK2ZwZUVkWFpKNFd1V2JwQjIvZUJwTUpmbS9SbUhsaGZwOFJzNDhTZmVK?=
 =?utf-8?B?TE1OQUFLTmRFNzY5UDlQbFUxOG1JMlI3MDZaRGVsU0hLLzVrQ1JwVkxqbi80?=
 =?utf-8?B?TjBlTXdLalUwbU01bzhhOVFqT0NReGR4aG9NRzZDKy9uNmdkc1l0Tm5rSWIw?=
 =?utf-8?B?ZkVaR212Z09FQXFFV3kzWitEOEJCc0VacEVUbGVXeGJkY2o3M2lMeTNFOWdL?=
 =?utf-8?B?MmdRRzNpSXdJaUxFY1VXZEU5U0J0clg5TG1OQVJBODlEMGNVNWZsWUpydllY?=
 =?utf-8?B?K3VSaFoycng4dkY1Y05TaUphY3puZG9RQkJtRkJxdEErT01KemUrZ3EwMG9P?=
 =?utf-8?B?R01qeVBHL0RBcEorUzg0dWJJTHc1bm10NW0wTmVHMVRwZG9VcUxISW5DL3dQ?=
 =?utf-8?B?eVNmeldxU1VOKy94MTJWTDRiZC9GUkxEeEUzanVFQjE3UnFuZzhhNEtBYmcv?=
 =?utf-8?B?WjM3MEdhTHZWMTR5Qmc3ejZMcGlMbGo1RTZxS0lSeEpEWWNDajJEMk9Sa0lq?=
 =?utf-8?B?N3pnemcvTW5iOVJiUVJUcStVN21TY2pXVmR1OXFGNnNDa0tSSWNQckVrY2RG?=
 =?utf-8?B?RVErdlVqRCt6VW5mS1BhTTFGVzNKaDBnSVFXOHBxcnBKQktJc0VZN1VBVHhT?=
 =?utf-8?B?TEhBSXBRbE5sMmpyY3RsVGlwOXN0c0w0ZGhLWjJiSjFoZUFtc0hiTDNoZldF?=
 =?utf-8?B?Tlh2Y0NrNUZhMDNET2pxRWZwY1gzQkt2c0JCOFFrWWtNWjNRMDlDL0pQS1dD?=
 =?utf-8?B?d0hJRjJKYzkwV0xhR3ZvbXk0NnIrbFNCd1hTZEx3bzRVNmNMTUQ2TDI3ZUZi?=
 =?utf-8?B?UnFUaTc3ODJxNVlXMlJrdVhRNExDcmIrL3hPS1RBdUgrcUs0cm0rSWNtVlg5?=
 =?utf-8?Q?GV01o1Sa2w/TulitawnMVWSIc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2defa687-8517-4e73-6981-08dbdb839cf2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 09:10:52.6540
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uB2mKUFU1BrVh+ASG/deQYnjqrdSFnbwQXe3/8jv3zhaJYc38Fe0dx8ciO/b0ZWOB1R6Hzwh9kaL9c0NrOZ4VQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9190

On 31.10.2023 14:23, Luca Fancellu wrote:
> Add a clang format configuration for the Xen Hypervisor.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
>  xen/.clang-format | 693 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 693 insertions(+)
>  create mode 100644 xen/.clang-format

I think this needs splitting and every setting then individually correlating
with what we have in ./CODING_STYLE. That would entail extending ./CODING_STYLE
by anything not presently written down, but intended to be checked for. Merely
...

> --- /dev/null
> +++ b/xen/.clang-format
> @@ -0,0 +1,693 @@
> +# SPDX-License-Identifier: GPL-2.0-only
> +#
> +# clang-format configuration file. Intended for clang-format >= 15.
> +#
> +# For more information, see:
> +#
> +#   Documentation/process/clang-format.rst
> +#   https://clang.llvm.org/docs/ClangFormat.html
> +#   https://clang.llvm.org/docs/ClangFormatStyleOptions.html

... pointing to further doc is helpful in general, but imo insufficient for
the introduction of the various settings.

Jan

> +#
> +---
> +
> +# [not specified]
> +# Align function parameter that goes into a new line, under the open bracket
> +# (supported in clang-format 3.8)
> +AlignAfterOpenBracket: Align
> +
> +# [not specified]
> +# Align array of struct's elements by column and justify
> +# struct test demo[] =
> +# {
> +#     {56, 23,    "hello"},
> +#     {-1, 93463, "world"},
> +#     {7,  5,     "!!"   }
> +# };
> +# (supported in clang-format 13)
> +AlignArrayOfStructures: Left
> +
> +# [not specified]
> +# Align consecutive assignments (supported in clang-format 3.8)
> +AlignConsecutiveAssignments:
> +  Enabled: true
> +  AcrossEmptyLines: true
> +  AcrossComments: false
> +
> +# [not specified]
> +# Do not align consecutive bit fields (supported in clang-format 11)
> +AlignConsecutiveBitFields: None
> +
> +# [not specified]
> +# Do not align values of consecutive declarations
> +# (supported in clang-format 3.8)
> +AlignConsecutiveDeclarations: None
> +
> +# [not specified]
> +# Align values of consecutive macros (supported in clang-format 9)
> +AlignConsecutiveMacros:
> +  Enabled: true
> +  AcrossEmptyLines: true
> +  AcrossComments: true
> +
> +# [not specified]
> +# Align escaped newlines to the right (supported in clang-format 5)
> +AlignEscapedNewlines: Right
> +
> +# [not specified]
> +# Aligns operands of a single expression that needs to be split over multiple
> +# lines (supported in clang-format 3.5)
> +AlignOperands: Align
> +
> +# Do not align trailing consecutive comments (It helps to make clang-format
> +# reproduce the same output when it runs on an already formatted file)
> +# (supported in clang-format 3.7)
> +AlignTrailingComments: false
> +
> +# [not specified]
> +# Do not put all function call arguments on a new line, try to have at least
> +# the first one close to the opening parenthesis (supported in clang-format 9)
> +AllowAllArgumentsOnNextLine: false
> +
> +# [not specified]
> +# Do not put all function declaration parameters on a new line, try to have at
> +# least the first one close to the opening parenthesis
> +# (supported in clang-format 3.3)
> +AllowAllParametersOfDeclarationOnNextLine: false
> +
> +# Bracing condition needs to be respected even if the line is so short that the
> +# final block brace can stay on a single line
> +# (supported in clang-format 3.5)
> +AllowShortBlocksOnASingleLine: Never
> +
> +# (supported in clang-format 3.6)
> +AllowShortCaseLabelsOnASingleLine: false
> +
> +# (supported in clang-format 3.5)
> +AllowShortFunctionsOnASingleLine: None
> +
> +# (supported in clang-format 3.3)
> +AllowShortIfStatementsOnASingleLine: Never
> +
> +# (supported in clang-format 3.7)
> +AllowShortLoopsOnASingleLine: false
> +
> +# [not specified]
> +# Do not add a break after the definition return type
> +# (supported in clang-format 3.8)
> +AlwaysBreakAfterReturnType: None
> +
> +# [not specified]
> +# There is no need to use a break after an assigment to a multiline string
> +# (supported in clang-format 3.4)
> +AlwaysBreakBeforeMultilineStrings: false
> +
> +# (supported in clang-format 3.4)
> +AlwaysBreakTemplateDeclarations: false
> +
> +# Specify Xen's macro attributes (supported in clang-format 12)
> +AttributeMacros:
> +  - '__init'
> +  - '__exit'
> +  - '__initdata'
> +  - '__initconst'
> +  - '__initconstrel'
> +  - '__initdata_cf_clobber'
> +  - '__initconst_cf_clobber'
> +  - '__hwdom_init'
> +  - '__hwdom_initdata'
> +  - '__maybe_unused'
> +  - '__packed'
> +  - '__stdcall'
> +  - '__vfp_aligned'
> +  - '__alt_call_maybe_initdata'
> +  - '__cacheline_aligned'
> +  - '__ro_after_init'
> +  - 'always_inline'
> +  - 'noinline'
> +  - 'noreturn'
> +  - '__weak'
> +  - '__inline__'
> +  - '__attribute_const__'
> +  - '__transparent__'
> +  - '__used'
> +  - '__must_check'
> +  - '__kprobes'
> +
> +# [not specified]
> +# Try always to pack function call arguments on the same line before breaking
> +# (supported in clang-format 3.7)
> +BinPackArguments: true
> +
> +# [not specified]
> +# Try always to pack function declaration parameters on the same line before
> +# breaking (supported in clang-format 3.7)
> +BinPackParameters: true
> +
> +# [not specified]
> +# Do not add a spaces on bitfield 'unsigned bf:2;'
> +# (supported in clang-format 12)
> +BitFieldColonSpacing: None
> +
> +# Xen's coding style does not follow clang-format already available profiles for
> +# breaking before braces, so set it to Custom and specify each case separately
> +# (supported in clang-format 3.8)
> +BraceWrapping:
> +  # Braces ('{' and '}') are usually placed on a line of their own
> +  AfterCaseLabel: true
> +  AfterFunction: true
> +  BeforeElse: true
> +  AfterExternBlock: true
> +  # except for the opening brace in definitions of enum, struct, and union
> +  AfterEnum: false
> +  AfterStruct: false
> +  AfterUnion: false
> +  # This is unlike the Linux coding style and unlike K&R.
> +  #
> +  # if ( condition )
> +  # {
> +  #     /* Do stuff. */
> +  # }
> +  # else
> +  # {
> +  #     /* Other stuff. */
> +  # }
> +  #
> +  # while ( condition )
> +  # {
> +  #     /* Do stuff. */
> +  # }
> +  #
> +  # [non-compliant]
> +  # do-while is not compliant with CODING_STYLE because clang format doesn't
> +  # support different styles for every control statement
> +  # do
> +  # {
> +  #     /* Do stuff. */
> +  # } while ( condition );
> +  AfterControlStatement: Always
> +  BeforeWhile: false
> +  IndentBraces: false
> +  # [not specified]
> +  # Keep empty functions with braces style like this: 'void func() {}' instead
> +  # of breaking the braces
> +  SplitEmptyFunction: false
> +  # Not related to C language, but specified for completeness
> +  AfterClass: false
> +  AfterNamespace: false
> +  AfterObjCDeclaration: false
> +  BeforeCatch: false
> +  BeforeLambdaBody: false
> +  SplitEmptyRecord: true
> +  SplitEmptyNamespace: true
> +
> +# [not specified]
> +# Break only after the operator in case of a long expression
> +# (supported in clang-format 3.6)
> +BreakBeforeBinaryOperators: None
> +
> +# Xen's coding style does not follow clang-format already available profiles for
> +# breaking before braces, so set it to Custom and specify each case separately
> +# (supported in clang-format 3.7)
> +BreakBeforeBraces: Custom
> +
> +# [not specified]
> +# Break before inline ASM colon if the line length is longer than column limit.
> +# (This is a new feature upstreamed by EPAM during its work on clang-format for
> +# Xen)
> +# (supported in clang-format 16)
> +# BreakBeforeInlineASMColon: OnlyMultiline
> +
> +# [not specified]
> +# Ternary operators '?, :' can be put after a line break
> +# (supported in clang-format 3.7)
> +BreakBeforeTernaryOperators: true
> +
> +# (supported in clang-format 5)
> +BreakConstructorInitializers: BeforeComma
> +
> +# User visible strings (e.g., printk() messages) should not be split so they can
> +# be searched for more easily. (supported in clang-format 3.9)
> +BreakStringLiterals: false
> +
> +# Lines should be less than 80 characters in length
> +# (supported in clang-format 3.7)
> +ColumnLimit: 80
> +
> +# (supported in clang-format 3.7)
> +CommentPragmas: '^ IWYU pragma:'
> +
> +# Code within blocks is indented by one extra indent level
> +# (supported in clang-format 3.7)
> +ContinuationIndentWidth: 4
> +
> +# Do not derive pointer alignment style from the file
> +# (supported in clang-format 3.7)
> +DerivePointerAlignment: false
> +
> +# Taken from:
> +# git grep -h -i '^#define [^[:space:]]*for_each[^[:space:]]*(' xen/ \
> +# | sed "s,^#define \([^[:space:]]*for_each[^[:space:]]*\)(.*$,  - '\1',i" \
> +# | LC_ALL=C sort -u
> +# A vector of macros that should be interpreted as foreach loops instead of as
> +# function calls.
> +# (supported in clang-format 3.7)
> +ForEachMacros:
> +  - 'FOR_EACH_IOREQ_SERVER'
> +  - '__list_for_each_rcu'
> +  - 'dt_for_each_child_node'
> +  - 'dt_for_each_device_node'
> +  - 'dt_for_each_property_node'
> +  - 'ebitmap_for_each_positive_bit'
> +  - 'expr_list_for_each_sym'
> +  - 'fdt_for_each_property_offset'
> +  - 'fdt_for_each_subnode'
> +  - 'for_each_affinity_balance_step'
> +  - 'for_each_amd_iommu'
> +  - 'for_each_cfg_sme'
> +  - 'for_each_cpu'
> +  - 'for_each_domain'
> +  - 'for_each_domain_in_cpupool'
> +  - 'for_each_drhd_unit'
> +  - 'for_each_kimage_entry'
> +  - 'for_each_node_mask'
> +  - 'for_each_online_cpu'
> +  - 'for_each_online_node'
> +  - 'for_each_pdev'
> +  - 'for_each_possible_cpu'
> +  - 'for_each_present_cpu'
> +  - 'for_each_rmrr_device'
> +  - 'for_each_sched_unit'
> +  - 'for_each_sched_unit_vcpu'
> +  - 'for_each_set_bit'
> +  - 'for_each_vcpu'
> +  - 'for_each_vp'
> +  - 'hlist_for_each'
> +  - 'hlist_for_each_entry'
> +  - 'hlist_for_each_entry_continue'
> +  - 'hlist_for_each_entry_from'
> +  - 'hlist_for_each_entry_rcu'
> +  - 'hlist_for_each_entry_safe'
> +  - 'hlist_for_each_safe'
> +  - 'list_for_each'
> +  - 'list_for_each_backwards_safe'
> +  - 'list_for_each_continue_rcu'
> +  - 'list_for_each_entry'
> +  - 'list_for_each_entry_continue'
> +  - 'list_for_each_entry_from'
> +  - 'list_for_each_entry_rcu'
> +  - 'list_for_each_entry_reverse'
> +  - 'list_for_each_entry_safe'
> +  - 'list_for_each_entry_safe_continue'
> +  - 'list_for_each_entry_safe_from'
> +  - 'list_for_each_entry_safe_reverse'
> +  - 'list_for_each_prev'
> +  - 'list_for_each_rcu'
> +  - 'list_for_each_safe'
> +  - 'list_for_each_safe_rcu'
> +  - 'page_list_for_each'
> +  - 'page_list_for_each_safe'
> +  - 'page_list_for_each_safe_reverse'
> +
> +# A vector of macros that should be interpreted as conditionals instead of as
> +# function calls. (supported in clang-format 13)
> +#IfMacros:
> +#  - ''
> +
> +# Sort include files by block of includes and not as only one group
> +# (supported in clang-format 6)
> +IncludeBlocks: Preserve
> +
> +# [not specified]
> +# Regular expressions denoting the different #include categories used for
> +# ordering #includes. (supported in clang-format 3.8)
> +#IncludeCategories:
> +#  - Regex: '.*'
> +#    Priority: 1
> +
> +# When guessing whether a #include is the “main” include (to assign category 0,
> +# see above), use this regex of allowed suffixes to the header stem. A partial
> +# match is done, so that: - “” means “arbitrary suffix” - “$” means “no suffix”
> +# For example, if configured to “(_test)?$”, then a header a.h would be seen as
> +# the “main” include in both a.cc and a_test.cc.
> +# (Do we have a main include in Xen?)
> +# (supported in clang-format 3.9)
> +#IncludeIsMainRegex: '(Test)?$'
> +
> +# Non-case labels inside switch() bodies are preferred to be indented the same
> +# as the block's case labels (supported in clang-format 11)
> +IndentCaseBlocks: false
> +
> +# [not specified]
> +# Do not indent case labels in the switch block (supported in clang-format 3.3)
> +IndentCaseLabels: false
> +
> +# [not specified]
> +# Do not indent extern "C" block
> +# (supported in clang-format 11)
> +IndentExternBlock: NoIndent
> +
> +# Due to the behavior of GNU diffutils "diff -p", labels should be indented by
> +# at least one blank (supported in clang-format 10)
> +IndentGotoLabels: true
> +
> +# [not specified]
> +# Do not create indentation for the preprocessor directives
> +# (supported in clang-format 6)
> +IndentPPDirectives: None
> +
> +# An indent level consists of four spaces (supported in clang-format 3.7)
> +IndentWidth: 4
> +
> +# [not specified]
> +# In case a function definition or declaration needs to be wrapped after the
> +# type, do not indent the new line (supported in clang-format 3.7)
> +IndentWrappedFunctionNames: false
> +
> +# Braces should be omitted for blocks with a single statement. e.g.,
> +# if ( condition )
> +#     single_statement();
> +# (supported in clang-format 15)
> +InsertBraces: false
> +
> +# [not specified]
> +# Every file needs to end with a new line
> +# (supported in clang-format 16)
> +# InsertNewlineAtEOF: true
> +
> +# [not specified]
> +# Keep empty lines (up to MaxEmptyLinesToKeep) at end of file
> +# (supported in clang-format 17)
> +# KeepEmptyLinesAtEOF: true
> +
> +# [not specified]
> +# Do not add a new empty line at the start of the block
> +# (supported in clang-format 3.7)
> +KeepEmptyLinesAtTheStartOfBlocks: false
> +
> +# The Xen Hypervisor is written in C language (supported in clang-format 3.5)
> +Language: Cpp
> +
> +# [not specified]
> +# Line ending style is '\n' (supported in clang-format 16)
> +# LineEnding: LF
> +
> +# Specify Xen's macro that starts a block of code
> +# (supported in clang-format 3.7)
> +MacroBlockBegin: '^PLATFORM_START|^DT_DEVICE_START|^ACPI_DEVICE_START'
> +
> +# Specify Xen's macro that ends a block of code (supported in clang-format 3.7)
> +MacroBlockEnd: '^PLATFORM_END|^DT_DEVICE_END|^ACPI_DEVICE_END'
> +
> +# [not specified]
> +# Maximum consecutive empty lines allowed (supported in clang-format 3.7)
> +MaxEmptyLinesToKeep: 1
> +
> +# Parameters to tweak to discourage clang-format to break something
> +# (supported in clang-format 5)
> +PenaltyBreakAssignment: 30
> +# (supported in clang-format 3.7)
> +PenaltyBreakBeforeFirstCallParameter: 30
> +# (supported in clang-format 3.7)
> +PenaltyBreakComment: 10
> +# (supported in clang-format 3.7)
> +PenaltyBreakFirstLessLess: 0
> +# (supported in clang-format 14)
> +PenaltyBreakOpenParenthesis: 100
> +# (supported in clang-format 3.7)
> +PenaltyBreakString: 10
> +# (supported in clang-format 3.7)
> +PenaltyExcessCharacter: 100
> +# (supported in clang-format 12)
> +PenaltyIndentedWhitespace: 0
> +# (supported in clang-format 3.7)
> +PenaltyReturnTypeOnItsOwnLine: 60
> +
> +# [not specified]
> +# Pointer alignment style is on the right 'void *var'
> +# (supported in clang-format 3.7)
> +PointerAlignment: Right
> +
> +# [not specified]
> +# The number of columns to use for indentation of preprocessor statements
> +# When set to -1 (default) IndentWidth is used also for preprocessor statements.
> +# (supported in clang-format 13)
> +PPIndentWidth: -1
> +
> +# [not specified]
> +# (supported in clang-format 14)
> +QualifierAlignment: Custom
> +
> +# Specify in which order the qualifiers should appear 'static const int *var'
> +# (supported in clang-format 14)
> +QualifierOrder: ['static', 'inline', 'const', 'volatile', 'type']
> +
> +# Don't try to reflow comments to respect the column limit (It helps to make
> +# clang-format reproduce the same output when it runs on an already formatted
> +# file)
> +# (supported in clang-format 3.8)
> +ReflowComments: false
> +
> +# [not specified]
> +# Specifies the use of empty lines to separate definition blocks, including
> +# structs, enums, and functions
> +# (supported in clang-format 14)
> +SeparateDefinitionBlocks: Always
> +
> +# [not specified]
> +# Sort the include files by name (supported in clang-format 3.8)
> +# TODO: enabling this will currently break the compilation, maybe fix?
> +SortIncludes: Never
> +
> +# [not specified]
> +# Do not allow a space after a type cast '(type)var'
> +# (supported in clang-format 3.5)
> +SpaceAfterCStyleCast: false
> +
> +# [not specified]
> +# Do not allow a space after the not operator '!var'
> +# (supported in clang-format 9)
> +SpaceAfterLogicalNot: false
> +
> +# Ensure that there is a space after pointer qualifiers, when used with
> +# PointerAlignment of value Right it means 'void *const *x = NULL;'
> +# (supported in clang-format 12)
> +SpaceAroundPointerQualifiers: After
> +
> +# [not specified]
> +# Always have a space after an assign operator or a compound operator, for
> +# example '+=' (supported in clang-format 3.7)
> +SpaceBeforeAssignmentOperators: true
> +
> +# [not specified]
> +# Do not allow a space between the case argument and the final colon 'case 0:'
> +# (supported in clang-format 12)
> +SpaceBeforeCaseColon: false
> +
> +# [not specified]
> +# Have a space before the parenthesis of a control statement, do an exception
> +# for ForEach and If macros
> +SpaceBeforeParens: ControlStatementsExceptForEachMacros
> +
> +# (supported in clang-format 7)
> +SpaceBeforeRangeBasedForLoopColon: true
> +
> +# [not specified]
> +# Do not add a spaces before square brackets 'int a[5];'
> +# (supported in clang-format 10)
> +SpaceBeforeSquareBrackets: false
> +
> +# [not specified]
> +# Do not add a space inside empty parenthesis '()'
> +# (supported in clang-format 3.7)
> +SpaceInEmptyParentheses: false
> +
> +# (supported in clang-format 3.7)
> +SpacesBeforeTrailingComments: 1
> +
> +# Space characters are used to spread out logical statements, such as in the
> +# condition of an if or while 'if ( a )' 'while ( i < 5 )'
> +# (supported in clang-format 10)
> +SpacesInConditionalStatement: true
> +
> +# (supported in clang-format 3.7)
> +SpacesInContainerLiterals: false
> +
> +# [not specified]
> +# Do not add a spaces inside a type cast parenthesis '(int)var'
> +# (supported in clang-format 3.7)
> +SpacesInCStyleCastParentheses: false
> +
> +# [not specified]
> +# Do not insert spaces in empty block '{}'
> +# (supported in clang-format 3.5)
> +SpaceInEmptyBlock: false
> +
> +# Only one space is allowed at the start of a line comment
> +# (supported in clang-format 13)
> +SpacesInLineCommentPrefix:
> +  Minimum: 1
> +  Maximum: -1
> +
> +# [not specified]
> +# Do not add a spaces inside parenthesis '(var & var)'
> +# (supported in clang-format 3.7)
> +SpacesInParentheses: false
> +
> +# [not specified]
> +# Do not add spaces inside square brakets 'int a[5];'
> +# (supported in clang-format 3.7)
> +SpacesInSquareBrackets: false
> +
> +# (supported in clang-format 3.7)
> +Standard: C++03
> +
> +# Macros which are ignored in front of a statement, as if they were an
> +# attribute. So that they are not parsed as identifier
> +# (supported in clang-format 12)
> +# StatementAttributeLikeMacros: ['']
> +
> +# A vector of macros that should be interpreted as complete statements.
> +# Typical macros are expressions, and require a semi-colon to be added;
> +# sometimes this is not the case, and this allows to make clang-format aware of
> +# such cases. (supported in clang-format 8)
> +StatementMacros:
> +  - 'PROGRESS'
> +  - 'PROGRESS_VCPU'
> +  - 'bitop'
> +  - 'guest_bitop'
> +  - 'testop'
> +  - 'guest_testop'
> +  - 'DEFINE_XEN_GUEST_HANDLE'
> +  - '__DEFINE_XEN_GUEST_HANDLE'
> +  - '___DEFINE_XEN_GUEST_HANDLE'
> +  - 'presmp_initcall'
> +  - '__initcall'
> +  - '__exitcall'
> +
> +# An indent level consists of four spaces (supported in clang-format 3.7)
> +TabWidth: 4
> +
> +# A vector of macros that should be interpreted as type declarations instead of
> +# as function calls (supported in clang-format 9)
> +TypenameMacros:
> +  - 'XEN_GUEST_HANDLE'
> +  - 'XEN_GUEST_HANDLE_64'
> +  - 'XEN_GUEST_HANDLE_PARAM'
> +  - 'ELF_HANDLE_DECL'
> +
> +# Indentation is done using spaces, not tabs (supported in clang-format 3.7)
> +UseTab: Never
> +
> +# A vector of macros which are whitespace-sensitive and should not be touched
> +# (supported in clang-format 11)
> +WhitespaceSensitiveMacros:
> +  - '__stringify'
> +
> +## Not related to C language ###################################################
> +
> +# (supported in clang-format 3.3)
> +AccessModifierOffset: -4
> +
> +# (supported in clang-format 9)
> +AllowShortLambdasOnASingleLine: None
> +
> +# (supported in clang-format 16)
> +# BreakAfterAttributes: Never
> +
> +# (supported in clang-format 3.8)
> +BreakAfterJavaFieldAnnotations: false
> +
> +# (supported in clang-format 16)
> +# BreakArrays: false
> +
> +# (supported in clang-format 12)
> +BreakBeforeConceptDeclarations: Never
> +
> +# (supported in clang-format 7)
> +BreakInheritanceList: BeforeColon
> +
> +# (supported in clang-format 5)
> +CompactNamespaces: false
> +
> +# (supported in clang-format 3.7)
> +ConstructorInitializerAllOnOneLineOrOnePerLine: false
> +
> +# (supported in clang-format 3.7)
> +ConstructorInitializerIndentWidth: 4
> +
> +# (supported in clang-format 3.4)
> +Cpp11BracedListStyle: false
> +
> +# (supported in clang-format 13)
> +EmptyLineAfterAccessModifier: Leave
> +
> +# (supported in clang-format 12)
> +EmptyLineBeforeAccessModifier: Leave
> +
> +# (supported in clang-format 5)
> +FixNamespaceComments: false
> +
> +# (supported in clang-format 13)
> +IndentAccessModifiers: false
> +
> +# (supported in clang-format 15)
> +IndentRequiresClause: false
> +
> +# (supported in clang-format 11)
> +InsertTrailingCommas: None
> +
> +# (supported in clang-format 3.9)
> +JavaScriptQuotes: Leave
> +
> +# (supported in clang-format 3.9)
> +JavaScriptWrapImports: true
> +
> +# (supported in clang-format 3.7)
> +NamespaceIndentation: None
> +
> +# (supported in clang-format 7)
> +ObjCBinPackProtocolList: Auto
> +
> +# (supported in clang-format 3.7)
> +ObjCBlockIndentWidth: 4
> +
> +# (supported in clang-format 11)
> +ObjCBreakBeforeNestedBlockParam: false
> +
> +# (supported in clang-format 3.7)
> +ObjCSpaceAfterProperty: true
> +
> +# (supported in clang-format 3.7)
> +ObjCSpaceBeforeProtocolList: true
> +
> +# (supported in clang-format 14)
> +PackConstructorInitializers: Never
> +
> +# (supported in clang-format 7)
> +PenaltyBreakTemplateDeclaration: 0
> +
> +# (supported in clang-format 13)
> +ReferenceAlignment: Right
> +
> +# (supported in clang-format 16)
> +# RemoveSemicolon: false
> +
> +# (supported in clang-format 5)
> +SortUsingDeclarations: false
> +
> +# (supported in clang-format 4)
> +SpaceAfterTemplateKeyword: true
> +
> +# (supported in clang-format 7)
> +SpaceBeforeCpp11BracedList: false
> +
> +# (supported in clang-format 7)
> +SpaceBeforeCtorInitializerColon: false
> +
> +# (supported in clang-format 7)
> +SpaceBeforeInheritanceColon: true
> +
> +# (supported in clang-format 3.4)
> +SpacesInAngles: false
> +
> +...



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 09:24:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 09:24:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626796.977366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyTwT-00076u-FW; Thu, 02 Nov 2023 09:24:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626796.977366; Thu, 02 Nov 2023 09:24: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 1qyTwT-00076n-CM; Thu, 02 Nov 2023 09:24:45 +0000
Received: by outflank-mailman (input) for mailman id 626796;
 Thu, 02 Nov 2023 09:24: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=iPMu=GP=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1qyTwR-00076h-W1
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 09:24:44 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a768466d-7961-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 10:24:42 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c509f2c46cso10068331fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 02:24:42 -0700 (PDT)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 w13-20020a05651c102d00b002c50c93b053sm427171ljm.61.2023.11.02.02.24.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 02 Nov 2023 02:24: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: a768466d-7961-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698917082; x=1699521882; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=W9T/ZqfnaR0nCts3KfVtAn0njFOcWXaHDJbpOJ1mkoE=;
        b=bV3+FJxO8Tn58u86Ce83uNlYUhGWqkyk6i04qfYMZNL2AZbQkn/TaD06YmS/ATtI3M
         FgMDsLIUkvJgc+xsM9Qk0s0NcGyadecbLBXhvUrcZIQtNOAHRhpOxdpsbXkShmM2Ccb/
         8/0mgYavKJpWZD14MYI1wlkbj1qZtS4yBWtk2u809fRuDZjkRmTIg2M6avmJ/AlfT7mR
         nTD5dpZfmehB42PPUebg1A8NZt86bDal7Li/b7yvppWafgqSvxOufiYyre/224us8P1j
         2pzsQbbQMiMy31QQVfBT2lOElI1BPDdYrRWTI2KtK43fhJjnqNqE5zZElRAJ3ij4WfI+
         bqcg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698917082; x=1699521882;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=W9T/ZqfnaR0nCts3KfVtAn0njFOcWXaHDJbpOJ1mkoE=;
        b=iKeU4r1NUhkBjLsDyrZLL3iozEEJnCDhb6krYT6W9eXMRW6YDoOJaiFpFL/XKSB6tV
         Q7j++G9txT5lQIKg20ZlMEAcUrw1xT4/FNY1yYO25JbUTDrTzcsetpJ92s92ILNXYipC
         bSJB/DgX6xbBHuGIGGwDdhEfjmjwEAinsvDJPrj9rcS0amOW5VBiw7ND4zuMWh8gYClJ
         YZgcEfh8AmZhoKAf3727d4rUkFv1SMkCxufMZbsSV2PH65Lh39iPILkcoAE1N2ageXD8
         IDQpz6Fz7+UNXP27D4XWxgH9ryNzyGqTg9nYozd5fLJjiuqk5Tw3kS4s7icmsglaveFM
         A31A==
X-Gm-Message-State: AOJu0YxbfRCceuuWdPBEvYU+n/TlMeM0Kd1inBGz9irucPxp/OQRLrbI
	7LvHL8m71yGaWtxRTvebYR8=
X-Google-Smtp-Source: AGHT+IFu/sZEv35jBngm+ua3TcLyN1ASZAAtw4TXDLc6SB88PHOGYmqi462L5fC6gGR8Sp5awqrRPw==
X-Received: by 2002:a05:651c:2126:b0:2c5:23e3:ed11 with SMTP id a38-20020a05651c212600b002c523e3ed11mr17466766ljq.30.1698917081466;
        Thu, 02 Nov 2023 02:24:41 -0700 (PDT)
Message-ID: <a5ec74d67cfe7413030bc7bd8202fafc49870013.camel@gmail.com>
Subject: Re: [PATCH] xen: avoid generation of stub <asm/pci.h> header
From: Oleksii <oleksii.kurochko@gmail.com>
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>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, Shawn Anastasio <sanastasio@raptorengineering.com>, 
 xen-devel@lists.xenproject.org
Date: Thu, 02 Nov 2023 11:24:39 +0200
In-Reply-To: <7642b4d4-c710-d254-b182-4f4540b6c63d@suse.com>
References: 
	<f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
	 <7642b4d4-c710-d254-b182-4f4540b6c63d@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Thu, 2023-11-02 at 09:39 +0100, Jan Beulich wrote:
> On 01.11.2023 11:15, Oleksii Kurochko wrote:
> > Platforms which doesn't have HAS_PCI enabled it is needed to
> > have <asm/pci.h>, which contains only an empty definition of
> > struct arch_pci_dev ( except ARM, it introduces several
> > ARM-specific functions ).
> >=20
> > Also, for architectures ( such as PPC or RISC-V ) on initial
> > stages of adding support, it is needed to generate <asm/pci.h>
> > for only define the mentioned above arch_pci_dev structure.
> >=20
> > For the Arm-only stubs ( mentioned in <asm/pci.h> for disabled
> > HAS_PCI and ARM-specific) will be needed
> > to add <asm/pci.h> directly alongside <xen/pci.h>. Only to
> > <arm/domain.c> <asm/pci.h> was added.
> >=20
> > Suggested-by: Jan Beulich <jbeulich@suse.com>
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>=20
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> albeit with two remarks:

Thanks for the remarks.

>=20
> > --- a/xen/include/xen/pci.h
> > +++ b/xen/include/xen/pci.h
> > @@ -68,7 +68,18 @@ typedef union {
> > =C2=A0=C2=A0=C2=A0=C2=A0 };
> > =C2=A0} pci_sbdf_t;
> > =C2=A0
> > +#ifdef CONFIG_HAS_PCI
> > =C2=A0#include <asm/pci.h>
> > +#else
>=20
> This minimal scope of the #ifdef will do for now, but will likely
> want
> extending down the road. Even what's visible in context is already an
> entity which should be entirely unused in the code base when
> !HAS_PCI.
>=20
> > +struct arch_pci_dev { };
> > +
> > +static always_inline bool is_pci_passthrough_enabled(void)
>=20
> Perhaps s/always_inline/inline/ as this is moved here. We really
> shouldn't
> use always_inline unless actually have a clear purpose.
Could it be fixed during the commit ( in case there won't be any other
critical comments about this patch )?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 09:25:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 09:25:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626798.977377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyTxR-0007qK-Q0; Thu, 02 Nov 2023 09:25:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626798.977377; Thu, 02 Nov 2023 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 1qyTxR-0007qD-LA; Thu, 02 Nov 2023 09:25:45 +0000
Received: by outflank-mailman (input) for mailman id 626798;
 Thu, 02 Nov 2023 09:25: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyTxQ-0007q3-NG
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 09:25:44 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20621.outbound.protection.outlook.com
 [2a01:111:f400:7d00::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cbe44047-7961-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 10:25:43 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB9743.eurprd04.prod.outlook.com (2603:10a6:102:384::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.18; Thu, 2 Nov
 2023 09:25:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 09: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: cbe44047-7961-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CB5u89L6ySFYnMVkFbPSW4SNfTjgp78qRsV3qlyPXe5ioXB7T1HEUb6GAWjHhBwhc4QJD2gXGxfYpOvNHjw/rbfgo44vhSHiPK3GjcpiWmWk4Nn37fLNAEKYQJWOX2opt/zPz6ew5g/LRWuZCVh8Mj68sI6SR6wufxON62q28X6E1Iavlp67euSyhim2sWAkTLKbgz8YYLTMCqD/jULCBrZL0y19muKTnz894NcBKGDo/wLIVhk29i4upQQs/NtquqlYJDiyppYaZMY1FSkxmNs7HPuKxMsxkx0ULgTC+r0Kv7UQePy644QfG6ABbuYD04bX6auYoSiMfrChyvlNGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zpKVAJ0upb/h0b0UPw4xd9V6S+MqK9+HvGxKqgSlViA=;
 b=I50DOWqLpSUGDsZNwY/piLvMzT5AO07pVfprvpIKxB1XRAMgQK6dhwndNyJOWt7jHrGYUFkxOG1wFYV3zB3U0GxpB4W3GLmPnd0Lf0L1S8fg1+AomGwqqnG3Zv5lPNV/iTp5KSqRv7bljCV9AaFCV4pAWQH0EKcRDUdAHuoUP7ZMo3LqQKzK8IcZyTaWYTY0k3RaYXg1F9rKIhZpPfThxreGm2G9YPPjnoFC3SHQeJ0SdGszMmknZPCre2fOA/Pjy2OnNZLy0SqroMKRRjr7uLzDI9hnYGAXGWCFaDiODK/k+7yuhau/Dor6BcMGnYPTKNFf+MqVPq6pK2fjM+Ywcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zpKVAJ0upb/h0b0UPw4xd9V6S+MqK9+HvGxKqgSlViA=;
 b=Kk3XGuIE8R6/B3+asZBQ+FfT/ksJ1JrixonE8HNGrSf1P3o84eo6w74tWmlPJMoNOtMPuIFPcsVt1ZWUn9ukmw6GFMXtLW+TdLJKfWU5YKt2THMnGIH1YaWvxCG2rXMM3zJyI51mEcKGgYvgjsx89mixHabCg+6vH1qwZycVVok8AUhsDOBgvDpDWoFijCP0N8lAp8qr04YYLW9gxkgiRHEMKHi7C/Ge6mz0XJiFcasejpbCZOnIlUhL6HszfDMJESTFe6QtZydud6x9/0T2W7JWrcUJuHzgScpImFITUOHiJpihIX3Lr0XEI88UPeUNRs/bqxPskjuJldI5OWqQDg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9f16a725-0082-c43f-bab4-b6f647b103f6@suse.com>
Date: Thu, 2 Nov 2023 10:25:37 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] build: simplify clean handling of extras directory
Content-Language: en-US
To: Juergen Gross <jgross@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: <20230823083940.20020-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20230823083940.20020-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0143.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB9743:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ead45d7-3908-46b0-d785-08dbdb85add3
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:
	KiTz6moQLuz+KC72LLTczdXpQKvV8CWb3Z5eNwQjbJGh6Ak4dZ5wK9j7jU/QBd4Hua9TbnzNHV7ZzUFOS8OGUYNO1xV5Pu5EZc0dErtymGyBgDKCt6B6pp5HLZgPdOGCOzF5DHepzLGeftqFTXj39d1/sjkeed4pTcN4te7WxQU3wJ+eHIiPdWwFXzobbzVXA5WsBIUvcH3uz4ctC6SpcgOlu+05OKXyYoEYw6KTCpxaUWOnMH1UlF2PZwqzlUgHtaZ0c/bHEkB1LrgoauDVfCuL3YLaMr9i6oCJTrqETiKR9bJzkH+ScF6mqDPfmArR+bb2CP1dShbwAQb8/vmGBZM0WMvH2Lk+69ciot2o0rEZ5EkRx19RBGkKsI4S0zMH2pxGIDIZ5OJRIH1Gu1by+xLbCCX0rx+9Qx8e4aJA42K/5hjUAZI+I3MS37J0JmPh/eOPb4yptCw9fAHKkPXGd7F+71h38Tl4h1nfsf43xqFuCEP8PYEg7s5rpThLsLaHs5Ns/Na/5F23qjPLT+khfNYv0Q1uizZd8bYMebwRYC1vnCfzv9yPVpA9Aza0UAI+jaF/TgR0101Fg6ubvfUP5eM7qCg/Av2kpRoCTCBwZh36MgMoBY+rn1/mNszs62TtPJQRx7TuKMJLfOCFZ7b+EA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(136003)(396003)(366004)(376002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(66556008)(86362001)(316002)(2616005)(31696002)(4744005)(83380400001)(66476007)(2906002)(37006003)(6636002)(26005)(54906003)(66946007)(53546011)(6506007)(478600001)(41300700001)(36756003)(38100700002)(6512007)(6666004)(8676002)(4326008)(6862004)(31686004)(8936002)(6486002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ck9HVjQ5eGVkVHg4bHdza3BCRmw1MFZucUhTdkxFeHI5NWh1clNNNlAxMGVN?=
 =?utf-8?B?Z1VyUklxaTJsSVZDOWk4S2pPamtGamJUa3FzOEZsYy9QQ0dhWEw5OFBQMTNz?=
 =?utf-8?B?RVVEUjRGalhaTkdyVkhxY3NIckU1Mlh5a1o0QTJvQVlNSkpBOXU5TjYrQ2lv?=
 =?utf-8?B?R24zd1RqWGo2ZXUrM3drWHBQbG8xK1VqWWRzdk5ReDR4Q2Q1ZHpDVndDL3NH?=
 =?utf-8?B?SjAwNEJvRXZVZ09tVjRXaGsxdURpWTRkMjBYYjRGSDAwOEpNcjN6bFFhaEsx?=
 =?utf-8?B?cmgrT00zUGt2dUNKR3A3ZjMvS0huaC9sWWlFWXdac1M0NHhPZ1BmSGdwZGZG?=
 =?utf-8?B?cXVUUldhUkJjKzc3dElHTTZLanl0QXNUSXI2MVBXejl2SCtPZXpHZXpoZnVa?=
 =?utf-8?B?ZWNjVGRuNDQyckJWdU1IVDhDZVJOMkQyZTZZWFI3NlFjRTBxNlBSWGJEa3hm?=
 =?utf-8?B?cXZ0QjBTdU5aMDh3YkJlc0hTQU13a2d6M3lTcjAvMkE3SFhSREI3L2lwb1c4?=
 =?utf-8?B?Zk5vUFpxVTF5dm84N1Q0SVV1dlptRXJZamZ3TEc5NlBZaml3Uk90b2U2Zktu?=
 =?utf-8?B?SGVyTy82T1E1MGNxRzVJUmZ1dmZZck0vcC9ZYzFQMjNOdHdJeHdLL3R2b2xX?=
 =?utf-8?B?MndjV2tTeEF0WHlLd09JZ2JMOXlMKzQ0a1NjY0h0TUNSUVFWWmFsK0xSVWRx?=
 =?utf-8?B?K3ZacWhvOFovREFmeDF1SkpYNUhEaEJUb3RlSVlNZ0tDeWttV3hSWGs2MmJE?=
 =?utf-8?B?L2d1d3lNQUFOVlp0dVRvbGhmY0U3MGl1QlB3ejdvcUtWQTlrYUpac3Q1aGlu?=
 =?utf-8?B?RGNIdHJ6Z2o1UjdTTjNkcG5DWEJES2hsMGZFU2hqbjFyYmNZYTNXM0dDbVVj?=
 =?utf-8?B?OHlIOXBCU0xIZHUzK2podTd1aCtYWWVFbHBQaVZpdXlTSW9vdVhFb096YzVJ?=
 =?utf-8?B?S3lLK3NxenNUMC9HRzAwcHplRllQa1hWalU4ajFoanlWR0RSUG4yV3hraTl4?=
 =?utf-8?B?Rnp6Y3dzL25jU0k3YUZPUHVSbDNkV2V0UnpEUGYrdThrdEJTN1dpSlppUWJU?=
 =?utf-8?B?eDFKeEgySHNHdU1WbGZCQWEyNHFHMWF2d2VFY1dzVHVtY25OUVJFRkFpUDdo?=
 =?utf-8?B?VkZTa09SeTl2MnoyL0VFTXlSbjl2ZVc5blh1U2owYi8yd2NST3lLYmFGSnI1?=
 =?utf-8?B?WDJwaEc3NHdVQXNtc2xvblJUUUg0L2o3UTNTOE1QOCtoUUtsSEYxVTlJVzU4?=
 =?utf-8?B?SVQ2VGtLTS93dTZxWWpVdThOREQ4MWVPblRrdXhYVEtBVDQ2ajBlZkhPMUZU?=
 =?utf-8?B?THEwQ2hIT1kxdEZWaE95bTRSVFAzSnkyOGhWL0JkN0dsWTVEWHZvb253bDFM?=
 =?utf-8?B?aFpXNHhzMUpZWnU5cVZ6Z3hUNTRyNkVSMWN6aCtxUFBxeUJWYlRKeVZqaDlx?=
 =?utf-8?B?c0xpTXlaZ3lHUjVCbnZWQmhKdkdTRWxqRW9kM1FIL3Q5dm5RN3BHb1JySk93?=
 =?utf-8?B?TnFrOEkwWXJnbWozWFh0OG5BMVgramoxUFdsdy96YnExYUx4cTVWRHpvWjhK?=
 =?utf-8?B?enFjWTdUZXM3REY5SXVQamFlRnl4eTVvcVI5ajZLeXUwdy95ODlwSkN6R2Qz?=
 =?utf-8?B?VE5xR1NTYXZNcGpKNThwSG1oYU9FMkhmRzVvL2ZvbGpjN0hLc1pLL0djVi84?=
 =?utf-8?B?WXJxTSt3K1hSN3pDOFp0ZGs1MjdLSzB3NytjK1BJNnY4MmFtZFd0ZG9uMlpz?=
 =?utf-8?B?clpRblpEVjliTzFLbkRnc1hBUStmcFZ4aFJta0lxRVduMFZrOWVIOXhaeUwv?=
 =?utf-8?B?MzBmV1FyQ3hxLzRDbXFTaDBuU0kzZGc0cE91Qzd4NmNyWUJYQkM1Q29QUGl0?=
 =?utf-8?B?SG5IME9rZVlsbnlMOTM3eVZwbkhpazEwV2s4LzNNc1FrWHFTbE9sREd5a200?=
 =?utf-8?B?VE5Zd0J5WFM5aVhTa2oxTDF0cmhrbUFtQlBBYitpcUtxL1p1YUl4d3RVbVB5?=
 =?utf-8?B?VTJtNVZUeVRteDdIUWNQTkQ1a2ZOV011NWtQRVkrbkxua1lLUTV4b053M0o0?=
 =?utf-8?B?ZER5SG10RlhMd25jY0ZTZlF4NHZGOHlMVXpmWkU4N2tvYVBJYWJYSm52a3BS?=
 =?utf-8?Q?F2x4QFczgnRI61ihXMGM576mA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ead45d7-3908-46b0-d785-08dbdb85add3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 09:25:39.8091
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3ls9kXkTjWGpG3ZVIGKCwQX3yVTZPmUTo5hRlMT3zQ6s4GTq7EFnST9kjuBq4hwpRW3jBbBvqP25Ieh+ET1yOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9743

On 23.08.2023 10:39, Juergen Gross wrote:
> The extras directory is used only as a download target for Mini-OS
> sources. Instead of special handling extras/mini-os* in .gitignore and
> the clean targets, just use extras for that purpose.
> 
> So add "extras" to .gitignore and remove it when doing a
> "make distclean".
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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

> ---
>  .gitignore | 2 +-
>  .hgignore  | 6 +-----
>  Makefile   | 2 +-
>  3 files changed, 3 insertions(+), 7 deletions(-)

... the no longer applicable .hgignore hunk dropped.

> --- a/Makefile
> +++ b/Makefile
> @@ -246,6 +246,7 @@ clean-docs:
>  # clean, but blow away tarballs
>  .PHONY: distclean
>  distclean: $(TARGS_DISTCLEAN)
> +	rm -rf extras

I'd also be inclined to add a trailing / here, but I guess I'll better
leave the change untouched while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 09:29:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 09:29:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626804.977386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyU0z-0000UC-7P; Thu, 02 Nov 2023 09:29:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626804.977386; Thu, 02 Nov 2023 09:29: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 1qyU0z-0000U5-4F; Thu, 02 Nov 2023 09:29:25 +0000
Received: by outflank-mailman (input) for mailman id 626804;
 Thu, 02 Nov 2023 09:29: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=7lpi=GP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qyU0x-0000Tz-Sh
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 09:29:24 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d573435-7962-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 10:29:22 +0100 (CET)
Received: from MN2PR01CA0038.prod.exchangelabs.com (2603:10b6:208:23f::7) by
 CYXPR12MB9318.namprd12.prod.outlook.com (2603:10b6:930:de::22) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6933.29; Thu, 2 Nov 2023 09:29:18 +0000
Received: from BL6PEPF0001AB73.namprd02.prod.outlook.com
 (2603:10b6:208:23f:cafe::93) by MN2PR01CA0038.outlook.office365.com
 (2603:10b6:208:23f::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21 via Frontend
 Transport; Thu, 2 Nov 2023 09:29:17 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB73.mail.protection.outlook.com (10.167.242.166) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 09:29:16 +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.2507.32; Thu, 2 Nov
 2023 04:29:14 -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.2507.32; Thu, 2 Nov
 2023 04:29:08 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 2 Nov 2023 04:29:07 -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: 4d573435-7962-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DFGvTJUJdaW3AEnSipJzBXBhgWeFKVdAwbb9qkF/XWow2zSGrM4+OCSMEm2xy68aP3T0jZQQ+YbbzwCYuS4yQwWorDaf9kA2LFi+/uOz9lBZjRettXkbjzCALtQmVV1ybUzwqURm7h0LTPXqk0BYBH1SWfGBvZNXFjd4tVN5BBwYs5vC5s0HiegXyjKS6lFju0I0eoegsGOxCkxaAAd0OI6E1cl9+2Z+AA7cIgPWx/sLPsnKwRD5Mx5ZPiZyYmQ3jwJflX+8O0un1HzHylKuQndsPR1v3cKEs45rcpSDT6J3mFtxsbfCSmE8MuW9AeirgyPbmiHI9hsYAfRIxNms2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MS+ZVx6KoUhnHsv/Qo3wg0qJct/Np/glM2nB+lQejBU=;
 b=PvlfifSah/qT8MC7sZdDD2afOJuMk7coXBF++lYfBB2FDfkcnrVCTLZPX9M/qPQ54i5OC8G9KX2Mvd8jnvp8Yo3iKsSYikR+1S2nJ2xQQAmqy2rqd3+C/2egqqjhtfm0R4uEBNh7BR4kkN2FZCnIpXmrVRiSRxNCYOsm40oD6cu0bwkf3ipD26YBrFA5DU6eRlSV2E6cL+tqqtCoHPvD5rSa5sTmweHiViN5eAcb9FQuJlKNNCnVHsiaiuByPQJsDIevkzh6+PzKFHwRdVB+Xf1HBu2rSH4qWA+YPiZNhdftPzyNwA7zdA6QN/bbQpyDQ68eSFKzsv34dlF3IWIlSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=MS+ZVx6KoUhnHsv/Qo3wg0qJct/Np/glM2nB+lQejBU=;
 b=N4OeS761yqy9w30vrqcjHFv7oMpMjwdR+eIz6LeQdt9x4xO8jECaDLlZVNAk7ky+t774y9vpUSWOfmd6ogbYG1qpvLzldeHA8MWplIG/8eniy5lSHAxpNxRQgRnQ2BTTG6t3cBib8nIF7qbuaYlgd4JchRxv0FLbuRHqqwNaBSc=
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: <5936b2cc-f89f-4e7e-82cf-daaee4cf35ce@amd.com>
Date: Thu, 2 Nov 2023 10:29:06 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/arm32: head: Rework how the fixmap and early UART
 mapping are prepared
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Henry.Wang@arm.com>, <ayan.kumar.halder@amd.com>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
References: <20231101233011.83098-1-julien@xen.org>
 <20231101233011.83098-2-julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231101233011.83098-2-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB73:EE_|CYXPR12MB9318:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ae22045-1f1e-4b04-3586-08dbdb862f56
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9t1blhz4NMVi86XGaX+HlWk/nBLCK7b80e509Gc/HFs37FD//pvl9JR3nQJy2BHqlpGsfP3hWOByiaJDJsmdmsheGus5rd0jymfc/wNSwGHHwpSaogWHFvwhuPaf3jGpV8yz+aVLZF2wTyYIFRpVC1FgEcg8jQJrbNlevPCSuQysrAREe0cKjVgaILWAOr71OYYmrRO5DRb4CcmUHOvRArIicqa0VEUH2ZMzKth3i53XSoSTZIg7Lhmp1uN7hgArh8rQUh19Jv2dmZvfGC4nRJh8+cAZ7spPFIp07MSBFw3Bg0kQCKTpeM/v/sd16HyRQUWQq+e6sesIVmvJsLuLHHIB1EDxqLqqiYNfFXvxj0jpzcl0mhNzm5GC4aTm7gZEwYH2xBs34JMEmSNm4Ncwf7URYZcsePJ5Y8PxdJjiS7ye+2fZ2ZzmFw60OZyDBSFOrhKLcMhbCurIkvEzYmqFlt6d+u3fIliWa538Mugiuy51pMwV6juXWmMLWZkzskUn9bvIKNtns8wJF+TWT7YaqOC2FJF5PcqewJgv3aPSBHermYdHs9w+3KEjbXszlt5RB+fotS+8g3s4NJp0E0GqIA3/ttXAFhS5j/jGZy1RYqzEY0/S4jQc1gNrJZiY0iNFPJZgV/CVQLFSLFAd+WAB44iE0Ll/kZz5oDad0ukRof0PP/Tg1GqSYMLCEaLgaM9vyGBgh2JsFA4fjCCEGXJ5OXzL7PiJ31dypUXei0eTbnr2DH8l5oZ/7nVG/+Tsr7nl0otAE2oY3h+NeT6H4ih/3WUAI7T/ytRk3mWR636o6k24msfVDbBGbEaVjXpGr/9n
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:(13230031)(4636009)(396003)(376002)(136003)(346002)(39860400002)(230922051799003)(1800799009)(64100799003)(186009)(451199024)(82310400011)(36840700001)(46966006)(40470700004)(8676002)(86362001)(36756003)(40480700001)(31696002)(47076005)(53546011)(110136005)(70586007)(41300700001)(2906002)(36860700001)(8936002)(54906003)(316002)(70206006)(16576012)(45080400002)(5660300002)(82740400003)(356005)(478600001)(81166007)(4326008)(44832011)(426003)(26005)(336012)(2616005)(83380400001)(31686004)(40460700003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 09:29:16.5742
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ae22045-1f1e-4b04-3586-08dbdb862f56
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:
	BL6PEPF0001AB73.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9318

Hi Julien,

On 02/11/2023 00:30, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> Since commit 5e213f0f4d2c ("xen/arm32: head: Widen the use of the
> temporary mapping"), boot_second (used to cover regions like Xen and
> the fixmap) will not be mapped if the identity mapping overlap.
> 
> So it is ok to prepare the fixmap table and link it in boot_second
> earlier. With that, the fixmap can also be used earlier via the
> temporary mapping.
> 
> Therefore split setup_fixmap() in two:
>     * The table is now linked in create_page_tables() because
>       the boot page tables needs to be recreated for every CPU.
>     * The early UART mapping is only added for the boot CPU0 as the
>       fixmap table is not cleared when secondary CPUs boot.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
>  xen/arch/arm/arm32/head.S | 48 ++++++++-------------------------------
>  1 file changed, 9 insertions(+), 39 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 33b038e7e0ca..fec2433e568f 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -183,12 +183,16 @@ past_zImage:
>          bl    check_cpu_mode
>          bl    cpu_init
>          bl    create_page_tables
> +        /* Add the UART mapping if requested */
> +#ifdef CONFIG_EARLY_PRINTK
> +        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
> +        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
When building this patch, I'm getting a "Bad instruction" build error.
Quick look shows that you are trying to use the macro create_mapping_entry before macro definition.
Unless, I'm using a different baseline (latest staging) than you, this needs to be fixed.

Apart from that:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 09:35:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 09:35:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626808.977396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyU6v-0002pZ-Se; Thu, 02 Nov 2023 09:35:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626808.977396; Thu, 02 Nov 2023 09:35: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 1qyU6v-0002pR-OV; Thu, 02 Nov 2023 09:35:33 +0000
Received: by outflank-mailman (input) for mailman id 626808;
 Thu, 02 Nov 2023 09: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyU6u-0002nq-KZ
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 09:35:32 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20604.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 297bdcab-7963-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 10:35:30 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8157.eurprd04.prod.outlook.com (2603:10a6:102:1cf::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Thu, 2 Nov
 2023 09:35:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 09:35: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: 297bdcab-7963-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UJjMfpaNz5E2+B5Y4cZGh8o3SRFCgoQDtj37eE+mhhfrzLVHWVyv6G/WWpvEnpj6UbRx5zIk+fqpzOwMIqguqxqOPb+1LvN61WBgz4z/z/PuIgIm42+BgRZR84G28aL13HZxk+1lhN0cWeHXqD2pUpTHUnkmwI81uPAkcG9mbfEvEwjlgfTQfh2qr/MVSyPc06ixRtg2/wWcs46DwcQy/CLm5tkvEO6B0d0QcJL7VP9Af47vo7Ftt5ZZR7+82COBu5G4dPo9Bjm0/n1VuqOUpGACQsE3PbsTUL+A1QerDgZqh5z8Q1c6cFBxLT7I3jFjhq1XlaQkQL6gw+1dzMIsLA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HBgpidQs6Xmle+WD9y+chSEbk6VrmFKVRcQt47E3nJg=;
 b=UuNPozsxV8aEM9jAOr4qqctDHys5IsAVXnFZnsru9UGfaFyu0aavK+6y+g7GCe9Ylxuq5Pg9LNmfjkeGlVx9TpWPpM+cFeJloqsZWVWUkbtWbCXdJ0b5Tfdfxz7jXxKCFEvmdP5L/vjpCVHOv+QDNO0kAAylfMROqJZSN4vcTEL0c1CSHVM39mlgDB9rBGHRlh356Bx8UT3KmhWgSdVinjM1Rp3POsdffwWOfjcW1Psl4I9Yb/hv0xcGkEsDs0uLFcGpOxBWMeahJcEiqfIydXGtx0je8g6H4lQu+/hFq0BZduwOAEGm4h1Ot4ftZJescBO9RrcyuVjVZOpVAPOkYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HBgpidQs6Xmle+WD9y+chSEbk6VrmFKVRcQt47E3nJg=;
 b=PvdlQqaTs8WWBJRErm7bCKU+NFSRv+8UQYVtwmU45eQUOBaj/htyrXbxhK/mI8I2Tl+JJLgduZY2J+c28Fuxb2MvXqsNmqYF9sjyaGo3vIY3Du9Ze801vGjg+rUEGJD1w4It93pPJvWwiI0mzjLgR8GjLkHKCS8jR1vdKIlb7hM4k09wNo3usBUFyhkXptxgM5i/ELUXw39nXC2hiv1ggYciGfzUmTjoffytw1cpXmXJ0ZINix/t0s2JdFf2FujBgCck6QtIp3K0+7wrUlGNZDojiAnthnk9NVN70QwT3ZNIbjKUeMTllGwakFq5mu663J29xFbksPwxlJxnl7kp7A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ef862458-3df9-7272-b1ae-b38a9fbfacad@suse.com>
Date: Thu, 2 Nov 2023 10:35:24 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] xen: avoid generation of stub <asm/pci.h> header
Content-Language: en-US
To: Oleksii <oleksii.kurochko@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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
 <7642b4d4-c710-d254-b182-4f4540b6c63d@suse.com>
 <a5ec74d67cfe7413030bc7bd8202fafc49870013.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a5ec74d67cfe7413030bc7bd8202fafc49870013.camel@gmail.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8157:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e474ac8-e006-4fd6-fc5a-08dbdb870bc4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zn8Yx/TYBegZZnGmpH/o/H/toKDyWy9DYbpCrKDuZYO8Yg3ZY++/0z8O3OIbBVat1dOIOO0DKX+DK+nMput/6AtOs4qbyBpStb/eMLd3RECtSh5fxk1rXN46JtKLPtlTBV2xI+lM7cF9rKz005Z1LU6LjCSxoGkQhjXCemaADhxdrGFnZjkqsrzWDlSJQeT872D7vIe7bqoP+DLTZY1GwZAjWF2U2lMArKjdtSY7quvruioSiIxyUNkjQ//f/HFU62E5I8ggdSeyrXwTQ/ejsLqP0a0o/CNzJbSdgZ1aAb/ZfdGVCGu8KKG39hn0hejxwLepfcHDiGXNcyQ3+LfQQWCfLRvFJfVSbfdeV7OEg3TA+SQq9xU1TGmDTi4T0yCGKqbp80W6GBhS1gCRKmosMPFNSJBFPdxxghcie7I0yT5iWJ7BQUMWbxKFlGH33FKhL0V5/l9SNP4EOVETKb7W9WJbEu3KgJqlv2Ai37kM1sRq3kDfxm7S3RsghXVItAg06j1LvM3E+6VPJFP92j/JN+NZ6BSGByHcCdlnZI3z9Qrdmb3PCqCLUpQbXSUJ+9QRflWeIFlODq/WkZhE8btlhhNqi56rg6Hi92yPXJ47krah/vD/Jrmxaed55OskQQdk7jOh3/yhS8zwwXTfyyH8uQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(346002)(396003)(376002)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(4326008)(8676002)(8936002)(41300700001)(7416002)(5660300002)(36756003)(2906002)(4744005)(26005)(2616005)(53546011)(6506007)(6512007)(31686004)(38100700002)(31696002)(86362001)(6486002)(54906003)(66946007)(66476007)(66556008)(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?Qm1QRUR0WFVjb0pCYkRuZ21OQkkyb2x4OEhPa1d5UmFkbHhNV2xmVE9BZUpI?=
 =?utf-8?B?Zy8zb25FOHN4MG05OG53MlNqOWhrQ2x3S2RJbm5Gb0lRbWJOeDBWSTFheTlm?=
 =?utf-8?B?bTMxRkNzMEVZdENnVXFUV3ZMbndBNWdhL2Y2N0x5TUpjUFg3b0pPZVg3MVZK?=
 =?utf-8?B?bU1FcW1jeHRDOEpkS01vY0JnVjkzOEdLZmNzUlp1R0gxMHVIejJEakJZMnBI?=
 =?utf-8?B?MVBQckFpL2J3RWpaWUZQZWk1MjBQbjNOblo4NDF4NzZIOHJORjBHUHNvUmx1?=
 =?utf-8?B?UEJxNHpWZHU2Wi9HS2U1bDEyUnNEYStSR3NVMHZ2aDRDaFZ5cXJCYVZQdzZV?=
 =?utf-8?B?YTBVWVV3ZFZ3NnlPL3d4d2JpUy9IR1VDM01Pck5VY1ZwTU9BeHV3Y0JRYjFj?=
 =?utf-8?B?Zk5LZHllWkloVFBrZ1ZBMnhicHRaQmQwN0FMUlU4QTQ5OFFjTXZjc2FJbGtW?=
 =?utf-8?B?V1lzT0pOT0hHZ1BxdXhMNGQ2ZjhwWkNMUDJPUlI4OGI4Y1J5SithWkJrbXZl?=
 =?utf-8?B?VzhiNnJJMStWaEJNTllrRmR0aWE3a3AzYy8wVkViSyswcmFCTWJhL1JBTWNZ?=
 =?utf-8?B?VDZiZnc5Y1lhZDBCK25leWh4MFdIK29zMVlsQUhPYStpb01kU2o5Z0dtQUZJ?=
 =?utf-8?B?RTFGcThvYk14bEluemptOGNCTCtUTWFhWHQ3UTBVSUkwb3JsZkZ2YW1WcmtG?=
 =?utf-8?B?ZkljendtdEg1WGtPL1VZSjVkRlRIVFA5OUNTY2xwNnU5WjQ5S0FwSFFJZlRq?=
 =?utf-8?B?NTRrOXNsR0pILzRSblhNMFIzNG5mVXNleWZyc05DRW5pOFMyd2t4WVNGb3lY?=
 =?utf-8?B?cGVOVndSaEg0UGE0WnJhQTdWTXd6bWR3VllqV0JBUWpIUXRsZ1phaWw5U2du?=
 =?utf-8?B?eXUzS2tsbUhFSmsvZ3ZTODRmVkdtWmNZZ0FCRW16VW0xZTJlOGFwVGYvK1h6?=
 =?utf-8?B?OWt2S0VYc3VJTnVpeUxqaSt6UCsxS21qK1UrNm5HVTBVY2lFemtyZHk5Z2NN?=
 =?utf-8?B?V1BBRytqZVNvVmNaRGlHQTcyeVg3OXY3amRlbldUbk96ZHgzWkJQSFQ1OUlO?=
 =?utf-8?B?WnRSRE15Z3VUaHlqSENraEVSd1NEQk85bE5ObmJSc0xEbHdCVkwzZDNRQjRh?=
 =?utf-8?B?R0VrYlBrOVdrMDZLb0ROLzAxYm5SQUYwUjlTOXQ2Z1ZEazNRY0czRFRRSE5h?=
 =?utf-8?B?WFl0QmQ1MmJtMWRUSDBKWTVkTFdyRWVlbVBXK2JpMWs1TWRTcWVDN3pMZURj?=
 =?utf-8?B?VVVXMDF2UytrTXIwZDRSL0xodDZDOXIrdW8vbjZ2NFp6bkQyUDJabnNrd3Zw?=
 =?utf-8?B?S0E1RU9ZK0Y5OGtWb3d1VVRwMXBqNVFieVRnU2txNkdMRFk4elo1ODRHaktv?=
 =?utf-8?B?MDFjOGMrTTNjbm5yUWpvM1RZcHdBZ3FYdldxdFNsUUpqbW5vSTZqRVpaTGcw?=
 =?utf-8?B?MFhMdHZWbG5pU2tRTFdMcWpBcU1LQ1Jid0Y0SVR5ZTVWV290ZnhHSXNyY1I4?=
 =?utf-8?B?bEtRbU9EbDJHTzM3S2JzR1hpY2RIQmQ4ZzRYVGZPeEg5OHpNUXZCbWM4cWdT?=
 =?utf-8?B?Q1JDQkRvRmQybEtDZmpkVk5payt2Q011cDlQVnlpRDNiSmtOWEUyN0txclNl?=
 =?utf-8?B?dVdwbmZEeVdPYWJiYlNTeHV2UVNaNmR1Q0lVOGYycysyZTROWlJVRlRBMW5m?=
 =?utf-8?B?Mkt3emxqZ3lRZGFtQWJnNEIyQnJUZWxTSk5SUUFmMGhoa1B2bmw2UmVzNG94?=
 =?utf-8?B?UDg2Sk1JM0RoZWxnbXliM1dIdnFSSGZiU0xwNzlic2F6aENmYVpTR1ZBb3hU?=
 =?utf-8?B?eU5QOEZmc3pRZFhXWk85Nmg2dmNCenlQMHdYMVBjZGlhN2dabXpmWEQrY3FR?=
 =?utf-8?B?eG9hOTh0UFU2NDFpbkRWODRiNnB6OWhHQTNGWHNmRFArZHp5VEpnN1I3T3hj?=
 =?utf-8?B?Q0JSOEJZTGl5bDNFREc5YUFBcEZFZDVKM2p3dGNpaVJJRnk3R1k0U3JQRjF1?=
 =?utf-8?B?RkRjUVBJYjZySkdOaHpyN2FJQVF2Z1BWdzBNT0N6ZjNDRWVHcVltcDlVMjgz?=
 =?utf-8?B?VjJhU050cEFHaFJvak1JeHNDT3RXaXpvYitsSFpKQWI0SG80ZXVHVmRsUkkr?=
 =?utf-8?Q?ASksBHdMdEa5MEYyGtcLXeRRB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e474ac8-e006-4fd6-fc5a-08dbdb870bc4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 09:35:26.9453
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5mGHrK97qoyKeESHPhVSJN2RZDlRFyR+tL5cvsBledL3uHfQ30EZphGQH2nycvqjqcWpp0e+gnc1MUaIRVxMJQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8157

On 02.11.2023 10:24, Oleksii wrote:
> On Thu, 2023-11-02 at 09:39 +0100, Jan Beulich wrote:
>> On 01.11.2023 11:15, Oleksii Kurochko wrote:
>>> --- a/xen/include/xen/pci.h
>>> +++ b/xen/include/xen/pci.h
>>> @@ -68,7 +68,18 @@ typedef union {
>>>      };
>>>  } pci_sbdf_t;
>>>  
>>> +#ifdef CONFIG_HAS_PCI
>>>  #include <asm/pci.h>
>>> +#else
>>
>> This minimal scope of the #ifdef will do for now, but will likely
>> want
>> extending down the road. Even what's visible in context is already an
>> entity which should be entirely unused in the code base when
>> !HAS_PCI.
>>
>>> +struct arch_pci_dev { };
>>> +
>>> +static always_inline bool is_pci_passthrough_enabled(void)
>>
>> Perhaps s/always_inline/inline/ as this is moved here. We really
>> shouldn't
>> use always_inline unless actually have a clear purpose.
> Could it be fixed during the commit ( in case there won't be any other
> critical comments about this patch )?

Oh, yes, sure. I should have said so.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:01:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:01:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626812.977406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyUVW-0000l3-Un; Thu, 02 Nov 2023 10:00:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626812.977406; Thu, 02 Nov 2023 10: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 1qyUVW-0000kw-SC; Thu, 02 Nov 2023 10:00:58 +0000
Received: by outflank-mailman (input) for mailman id 626812;
 Thu, 02 Nov 2023 10:00: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=mOPV=GP=samsung.com=m.szyprowski@srs-se1.protection.inumbo.net>)
 id 1qyUVU-0000ko-87
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:00:56 +0000
Received: from mailout1.w1.samsung.com (mailout1.w1.samsung.com
 [210.118.77.11]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b18dadfe-7966-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 11:00:51 +0100 (CET)
Received: from eucas1p1.samsung.com (unknown [182.198.249.206])
 by mailout1.w1.samsung.com (KnoxPortal) with ESMTP id
 20231102100046euoutp011768241d7944df52f7c18edc16a84a88~Txg2wsaSV0357703577euoutp01i
 for <xen-devel@lists.xenproject.org>; Thu,  2 Nov 2023 10:00:46 +0000 (GMT)
Received: from eusmges2new.samsung.com (unknown [203.254.199.244]) by
 eucas1p2.samsung.com (KnoxPortal) with ESMTP id
 20231102100046eucas1p216166efcc00a871633dbf7b7a4c42d6a~Txg2nd9WW2590225902eucas1p2o;
 Thu,  2 Nov 2023 10:00:46 +0000 (GMT)
Received: from eucas1p1.samsung.com ( [182.198.249.206]) by
 eusmges2new.samsung.com (EUCPMTA) with SMTP id 38.C6.11320.E4373456; Thu,  2
 Nov 2023 10:00:46 +0000 (GMT)
Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by
 eucas1p1.samsung.com (KnoxPortal) with ESMTPA id
 20231102100046eucas1p1b018ef5a14059f2f825fa3a93a52d48c~Txg2QlFGo1232012320eucas1p1X;
 Thu,  2 Nov 2023 10:00:46 +0000 (GMT)
Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by
 eusmtrp2.samsung.com (KnoxPortal) with ESMTP id
 20231102100045eusmtrp2879eb68729a38fbe3551d95bf34f9789~Txg2PF3qW1849318493eusmtrp2h;
 Thu,  2 Nov 2023 10:00:45 +0000 (GMT)
Received: from eusmtip1.samsung.com ( [203.254.199.221]) by
 eusmgms1.samsung.com (EUCPMTA) with SMTP id F1.0C.10549.D4373456; Thu,  2
 Nov 2023 10:00:45 +0000 (GMT)
Received: from [106.210.134.192] (unknown [106.210.134.192]) by
 eusmtip1.samsung.com (KnoxPortal) with ESMTPA id
 20231102100045eusmtip12e5c616a2b8e3517eedd8f19f0143187~Txg1uAKJX0166201662eusmtip14;
 Thu,  2 Nov 2023 10:00:45 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b18dadfe-7966-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.11.0 mailout1.w1.samsung.com 20231102100046euoutp011768241d7944df52f7c18edc16a84a88~Txg2wsaSV0357703577euoutp01i
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com;
	s=mail20170921; t=1698919246;
	bh=ep7Sw6ViuufZBawwbcq/r+mV5K9Fjx2Ghw6XDucKMg8=;
	h=Date:Subject:To:Cc:From:In-Reply-To:References:From;
	b=RJPiyFsmlRAWrWyg3KXxtdN5/hFp/zSC9p03TZ3u6NsOMA/Fu8ryjk6v4tfqD8J2U
	 O/ReUImnwdqrZEH481V/IqqncIp1GAPkAauttLSOMxuMuXQyONK3EQPL1BJhVOQq1J
	 W3J72l5PUc7up7L2uzhH5nYrO7ZbkPkVCiQKdDSg=
X-AuditID: cbfec7f4-993ff70000022c38-e6-6543734e2620
Content-Type: multipart/alternative;
	boundary="------------pLL8w0kbVYCOaBgrkItg7rLS"
Message-ID: <601da5a5-07e4-4cb9-a257-de282a8f8be4@samsung.com>
Date: Thu, 2 Nov 2023 11:00:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma]
 *ERROR* Device 14450000.mixer lacks support for IOMMU
Content-Language: en-US
To: Chuck Zmudzinski <brchuckz@netscape.net>, Stefano Stabellini
	<sstabellini@kernel.org>
Cc: Mario Marietto <marietto2008@gmail.com>, xen-devel
	<xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>, Bertrand
	Marquis <bertrand.marquis@arm.com>
From: Marek Szyprowski <m.szyprowski@samsung.com>
In-Reply-To: <d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net>
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrCKsWRmVeSWpSXmKPExsWy7djPc7p+xc6pBi1TBCyWLtnMZDHl5TFW
	i8+zJ7NZHJrynM1i9bp4i+9bJjM5sHmsmbeG0WPnrLvsHptWdbJ5HP5whcXjY88jZo/Tt2ax
	BbBFcdmkpOZklqUW6dslcGWcndnGVnCsj6liw8VTrA2MH5qZuhg5OSQETCQm3N3G0sXIxSEk
	sIJRYv/qbkYI5wujxKvVm6Eyn4GcE3vgWrb+ussGkVjOKPHxeTczSEJI4COjxO+12iA2s0CY
	xMqPk9lBbF4BO4nZSz6A1bAIqEic/zqdFSIuKHFy5hMWEFtUQF7i/q0ZQPUcHMIC9RKtbbwQ
	Y8Qlbj2ZD7ZXRCBaoqPhEjPIXmaQva+WrWUESbAJGEp0ve1iA7E5BRwkNi7vZgcpkhD4wiFx
	4eFkVoirXSQajzRAfSAs8er4FnYIW0bi/06QDSAN7YwSC37fh3ImMEo0PL/FCFFlLXHn3C82
	kPMkBBwlrhwohDD5JG68FYS4lE9i0rbpzBBhXomONiGIRjWJWcfXwa06eOESM4TtIdF1qIlt
	AqPiLKTgmoUULLOQ/A9hy0tsfzuHeRbQBmYBTYn1u/QhwtkS7a9XsEHYGhKtc+ayoyqHGPPh
	8GyoMYoSU7ofQtWoS5zas4R5ASP3Kkbx1NLi3PTUYqO81HK94sTc4tK8dL3k/NxNjMCEefrf
	8S87GJe/+qh3iJGJg/EQowQHs5II72FTh1Qh3pTEyqrUovz4otKc1OJDjNIcLErivKop8qlC
	AumJJanZqakFqUUwWSYOTqkGpo7gTaHOWtX/7Y4G/+G4pvKIe6H7vv4kcweGXw+faE49/ud1
	u87PyefnFnsYBm09XRS3PyO+yZbz4TeZlJduK/eX3zweZHm76/k6/kCxJ2pMnbV+EzgjMpUS
	OyovZC9Wk9i0TXfv5GVd9f09WpdtnnO1i65ye8vD4Lle/JmdYcLkm7sFb8X+a3pmo+LzKLPx
	QdjjigeCu3Q4DktMe5xu8+Uor0/1BFEu3aCd69qePNdI+vOW5fO3yKD124UErs4+7bBgvtT6
	q63h9dWd2iGTvz+cK6TRtOx8Hb9z4X7TmK6m64m/TyVv44nNtV/KlcHb0v/g4cTcBH6Tvb3y
	1V/yhUr4VOPM9rHfvB03N1VJiaU4I9FQi7moOBEAiRxDMQcEAAA=
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrJIsWRmVeSWpSXmKPExsVy+t/xu7q+xc6pBrfnmFssXbKZyWLKy2Os
	Fp9nT2azODTlOZvF6nXxFt+3TGZyYPNYM28No8fOWXfZPTat6mTzOPzhCovHx55HzB6nb81i
	C2CL0rMpyi8tSVXIyC8usVWKNrQw0jO0tNAzMrHUMzQ2j7UyMlXSt7NJSc3JLEst0rdL0Mu4
	9+ofS8Ek4Yr961YzNjBO4+9i5OSQEDCR2PrrLlsXIxeHkMBSRok9y2ewQCRkJE5Oa2CFsIUl
	/lzrgip6zyjxfv1vJpAEs0CYxMnGBmYQm1fATmL2kg9gNouAisT5r9NZIeKCEidnPgEbKiog
	L3H/1gz2LkYODmGBeonWNl6IMeISt57MBxspIhAt8e7oeVaQXcwCyxklnj2cBrV4M7PEgsZz
	YIPYBAwlut6CXMTJwSngILFxeTf7BEbBWUhumoVk9ywkSyBsM4murV2MELa8xPa3c5ghbDWJ
	29uusiOLL2BkX8UoklpanJueW2yoV5yYW1yal66XnJ+7iREYp9uO/dy8g3Heq496hxiZOBgP
	MUpwMCuJ8B42dUgV4k1JrKxKLcqPLyrNSS0+xGgKDJiJzFKiyfnARJFXEm9oZmBqaGJmaWBq
	aWasJM7rWdCRKCSQnliSmp2aWpBaBNPHxMEp1cAUbL8i1Ol6+suEaWc+NjzoveY7J0BwW0hq
	JMv2VYvV5xRwMX66syw+siAo45f4TzbpbX+XP6vnSLHm1HGuD1MsDHGqjrYvb7/3tXttVMPT
	+ZcNewUY2eR+PV7yxd9zQwyv8y3jcz07tpYce+j7KZG9R6pJaSc3x8GzThMOKs7I+/yW8/KX
	kJXq61bzlWRH3uqe8z90NW+xzsFyJjFeoYDpb3jPJsw66Bpv8mcmU7TBtUsNAnn7FeLykh0L
	t5198rPLdEvzvPPzkk/s9tXu+vZqzpM5bLG710XfFM4TUoxlnHflq4zYP3OWc9dEt66yb7xR
	N0v2pHWI/FLf3mW/tH+YRH+RVXaRrDuWFRnR8UaJpTgj0VCLuag4EQASzaXgXAMAAA==
X-CMS-MailID: 20231102100046eucas1p1b018ef5a14059f2f825fa3a93a52d48c
X-Msg-Generator: CA
X-RootMTR: 20231101025041eucas1p10ed2024f9ce4ef93840854a9ab3efcae
X-EPHeader: CA
CMS-TYPE: 201P
X-CMS-RootMailID: 20231101025041eucas1p10ed2024f9ce4ef93840854a9ab3efcae
References: <CA+1FSiip1U0_EskJNgV3pSZPTCNOiTbpHosRLsy-6t1QQGd8Dw@mail.gmail.com>
	<alpine.DEB.2.22.394.2310311557520.1795129@ubuntu-linux-20-04-desktop>
	<CA+1FSih0hORYZf6Hfmf=nY4jkHPvFSgGfc1tJfzN6smnKxcsxA@mail.gmail.com>
	<alpine.DEB.2.22.394.2310311625260.1795129@ubuntu-linux-20-04-desktop>
	<CGME20231101025041eucas1p10ed2024f9ce4ef93840854a9ab3efcae@eucas1p1.samsung.com>
	<d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net>

This is a multi-part message in MIME format.
--------------pLL8w0kbVYCOaBgrkItg7rLS
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="utf-8"


On 01.11.2023 03:50, Chuck Zmudzinski wrote:
> On 10/31/2023 7:45 PM, Stefano Stabellini wrote:
>> Unfortunately there is no easy solution.
>>
>> Do you know the version of the SMMU available on the platform?
> I am trying to discern, but I doubt we have v3 because we are
> working on a very old chromebook from 2012, and I am finding
> patches for smmv3 in Linux not starting until 2015. It is good to
> know about this option, though, for future work we might do on newer
> devices.

Just to clarify. Exynos SMMU is a custom hardware designed by Samsung, 
it is not based on ARM's SMMU. Linux has a separate driver for it.

 > ...

Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland

--------------pLL8w0kbVYCOaBgrkItg7rLS
Content-Type: multipart/related;
	boundary="----hy5Mvh0XBj6r9qMQbD2fcPHUlQFxXZ9dxf_.y0Y8j4AsulgF=_1fdd14_"

------hy5Mvh0XBj6r9qMQbD2fcPHUlQFxXZ9dxf_.y0Y8j4AsulgF=_1fdd14_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: 7bit

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 01.11.2023 03:50, Chuck Zmudzinski
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net">
      <pre class="moz-quote-pre" wrap="">On 10/31/2023 7:45 PM, Stefano Stabellini wrote:
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Unfortunately there is no easy solution.

Do you know the version of the SMMU available on the platform? 
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
I am trying to discern, but I doubt we have v3 because we are
working on a very old chromebook from 2012, and I am finding
patches for smmv3 in Linux not starting until 2015. It is good to
know about this option, though, for future work we might do on newer
devices.</pre>
    </blockquote>
    <p>Just to clarify. Exynos SMMU is a custom hardware designed by
      Samsung, it is not based on ARM's SMMU. Linux has a separate
      driver for it.<br>
    </p>
    <p>&gt; ...<span style="white-space: pre-wrap">
</span></p>
    <pre class="moz-signature" cols="72">Best regards
-- 
Marek Szyprowski, PhD
Samsung R&amp;D Institute Poland</pre>
  <table id=bannersignimg data-cui-lock="true" namo_lock><tr><td><p>&nbsp;</p>
</td></tr></table><table id=confidentialsignimg data-cui-lock="true" namo_lock><tr><td><p><img unselectable="on" data-cui-image="true" style="display: inline-block; border: 0px solid; width: 520px; height: 144px;" src="cid:cafe_image_0@s-core.co.kr"><br></p>
</td></tr></table></body>
</html>
<table style='display: none;'><tbody><tr><td><img style='display: none;' border=0 src='http://ext.w1.samsung.net/mail/ext/v1/external/status/update?userid=m.szyprowski&do=bWFpbElEPTIwMjMxMTAyMTAwMDQ2ZXVjYXMxcDFiMDE4ZWY1YTE0MDU5ZjJmODI1ZmEzYTkzYTUyZDQ4YyZyZWNpcGllbnRBZGRyZXNzPXhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw__' width=0 height=0></td></tr></tbody></table>
------hy5Mvh0XBj6r9qMQbD2fcPHUlQFxXZ9dxf_.y0Y8j4AsulgF=_1fdd14_
Content-Type: image/png
Content-Transfer-Encoding: base64
Content-ID: <cafe_image_0@s-core.co.kr>

iVBORw0KGgoAAAANSUhEUgAAAggAAACQCAYAAABtVpNkAAAABHNCSVQICAgIfAhkiAAAIABJREFU
eF7tfc2uXcdx7j4kPTCidyCZN7jjAJYoPkEykGehoAB35omD2MAdWLQGF3ACe5LZBSyQnkkDv4FI
M0DuM9xRRL2DAw8sct+uXv31/rpW9d/aa5PnHNUBDni491r9U11d9XV1d31X//7v//7RwX9cAi4B
l4BLwCXgEnAJkASuBCD87Gc/+5NLxSXgEnAJuARcAi4Bl4BIQLCBAwTXBZeAS8Al4BJwCbgECgk4
QHCFcAm4BFwCLgGXgEtgJQEHCK4ULgGXgEvAJeAScAk4QHAdcAm4BFwCLgGXgEugLwGPIPRl5E+4
BFwCLgGXgEvgBycBBwg/uCH3DrsEXAIuAZeAS6AvgSGA8C//8i//dXV19ZCLOx6P3965c+fT8O+r
N2/ePPjtb3/7Xb+6+hP//M//fP/u3buvQ3lP/u3f/u0P55R1m9795S9/+ZNRGYdx+lXo+6dBfn/b
kkF47pvwzONz5CQ6Ed5/Fsr5oldOePb34ZkH59T5i1/8Ioihrhu977mN0v+gzx+H8r4MbfqnXvv1
95DfqLxny7/E81vHoPbe1vIu0bdzy5zR5XPr2ut90b1gf//0m9/85j+sMkVHw+evR/X7HJtwHXWh
1Z+/fPLxT95cXb26+9fjgx//8UXXb/35p4/+8XC48/yDr765mh2/P3/y8TcffP1iZWv/+6ePf3U8
Hj794OtvTFvd+362HVufHwIIKDwp3QGGfsZ59RroAKEnoX2+32syzxjVPersAYDe9yy9mWcNcJDB
jgOE80DfPhp9fikzunx+beeXAFsZQO6HNYAwU0vo/z+Gsp7/67/+67QDlHr2mN8z7e09u3d7tgKE
re9J/24VQAgrsReyIpOOQck46qAVGQqOgQ7vf/727dvnKYLwLaIVeA8KjOelDm2cYfRDOa+kHH6W
FSqBnIeoQ+oOf/9anpG/ZUXM9UnfAIi4T/Ts78P7n6X347O6vdQPrFy/TW2KK/CWrBiEyTvcNy1X
lkkyeiLLOC7S3vDPazEEaGv49zn/n9teGdPh9ktbSK4vpE4dQajIMxorPX7s1C154fvw3hPpp6yc
LACr6pRnD7o+jJ9EyVK7I8rXehE+ehV+P01lPISu1PQHfUoG7JHxXtYl+Q56LnKUtojOSh3pPYmA
RH3T84nmYHMMGnpqvmeNKXQIsgrz75E1/6TPep7odtM8yRFLywbwnGSZonySXdSlGV1GeUmfsi1i
O2G1U+oIK3oZpxxRTbZmtYqXslEPoq+WfEgPC/uq9T/I/BnZM9igGEEI332R7Goug+2GYYufJJnB
Rj3l+UF9r+nIauzQ1zSHmvZS2dtob5K9egLbjrkgsgsyf8n+IjzzQNs0rl/+5gjCm3tXL4N1/DYY
gVhPQEif/81X33yBZ+K7MufC9xJB+PMnjyVy+jKs/P8pOvHD4dfx8xRlQF0SnXjzo6vXp7rfBltz
5/nheIhyvbo6PEMEIZT5+1Bx9CHyI+XdKoAApSEj/SD0M4a6RcnD309rYW+gvTCwnyVFhpOWldoj
GByElxkdSn1SN5QiGdQcWkvPimPKYWQAhNS2qKwacGhnJO0PiijbH6vtlN5qNDnqZzJZRXGlLoqW
iNOWn6qs2MmFNohDq24hWAAhOf289aDlR3IVxX+6KO+VAIe4OqExjZ+PtB9jxoY0FPstAwTLeeso
ktXWUI6pW1Y7+X1MPq6DDE7c1sLz4dkInNiQ4n0uEw5TZML94a2yNP6i/3nbDM5Av4dtOl4hhjZ+
JAAhGcMP0S5pD/Qx6MWXol+i59B5OIbWGKBP8i/0FEBdv4f5qT/XsmKnyPPPmiesryRf1tVsO6w5
aW1FKtlFZzGqy7xdluqLW1BJNlF/LacPR57sSNx603Ks6E+MRkGGBBZiGbAZuv3QW62fqh0aIMCu
rrYe1HsRVFV03+wb5BPaGwFzy+5bemCNLexQkmlsk8hH+QhTV6x5z7puAQTZBmCnLEBAnLiABTjw
JkAIWwnBcr4W4IC6OIKAv+8ejx/++OsX/2EBgL/8w8f3BVTIM2+vrj5qbUFwfy75965bDGmgxend
F8fLDdfnFGSiETr81gACWVEVKs/hMBigNMlgIIvzEoI2GZykCR5Xs+n9R0mhIyKGEnLbsVet2gyk
npG0vIPVG68S5P3wlex1ZedOwKEpK+1IVblx0leMa0S6ycDFNqbJFo0SDL7up0xyTEZxWDSm8uhQ
+0N/PwllfM2rI6nTiCCwDlgrsDzWBADESa50i50ygKPoDQAQ+skAQYM+GEp5h2XAMtIAATLBOKHv
lv7QOEXwK3qH98Qgy/fSZjwn7RC50dhlQ3nv3r378qy8xyvIVMbqfFDNaGo9DTKRFTevgqO+GKvj
qnMLbcrnlTD/AKbQt8o8MW3H999//3ehv//ZkinkqGQXQS30sKfLBkCAU+W5JA4W9qOY+wnEyZjJ
WGZnqfQnl2XNW/lMA1XdfgPEWe2IoJEiCADBuf1UP9vUrGMArKM6IvUN2P1VWznilPRX2i4/cY5Y
cxeA3qov6KoAh+qZpzVAsCICj0Nw4O2TD756+YfC0VciCEXEIVQuTv7N1fEBzi5kgJDOPTBA0O9K
vVeHOw9uM0CQMW2tdHkfV0cKgNq7EQQ2CuSMmodzegBBDNdAVGC1Z6dWLs9C//P2Qfg7hLEWx9ta
gbMhwd+1cx6WwecVWQIgVYAgzrqyqisMBBnVbgRET+SJ1ateIRQrem6rTHxLt9QqJIcx9b7qTATB
OnzbAwjSZwuYKCexAggAFvJ+cIjfAfBIfwcAQtw+4kiZ3qfmVTA5hnzQFPpSizz0Igij86+2f05O
0XSsrTnJZSrZ1QCCqcszACHIUFbZcT4DWIoMRLZweLItwWXKd5b+hI9jGL8WQWgBBBU9zfMIUaVz
AQIWMtKPno6IjWvZfZ4DPGbWfOGoBmwggCJFPc1D2fMRBAMgVCMIp0gBRxa4b4g+HA9vX/cAwt3v
j48QNTh8f/hu2Za45QAByoSVBFbgZJjyPjP2Byl8NHQGQRm5HL629tRUeJdXANlQY4XDEx516Ikv
n2Pyy6ShfiKqUOyzyfMIT0rURPocPpJV1uoMgpaV2mKIIWa0S4cBBwEC9mVlL6zYX+QwtjZKaUy7
ZxAo2tLc/7bOoaQ6sm5IP3mlydshWrfYgdBqfnVLwdjGWNXHBl/fzqEog8jvGQwiRwJ4H1T6YETP
zAgCIgGy6k5jLOWLk0P0x4wgwClCL9iAyrtJX1fnQMSQYgWWdHK1Mu59HsqOjhJ9rM2/yjwpZM+A
Uo8v5M5zkscG5SvZRSAwo8soH8CYHWOKxkX7wRE42DBqf5wntdtdvCKnd6p785X2R7sTvvt5ACS/
wxhLvVJmaF8EjSMAgccM5dXORpAt655B0LZM3h3RAwab0h/YWzqnlm+6qfKwuGQbJ4uzIhIxEkGo
nkHgswZynuDq8DBtPazOEWDLIOrU8e3PD1d3foebE3o7Q8rh8wlLn+u3HKCnl/53aovh0o25zeVr
p9OLUtxmWVy6b+ys9zjlfen2evm3SwIcpbxdPbuZvZHx0NubN7Mn777VDhDeocxFUQkRF2cj3mEz
bnVViARZq5db3XHv3LWQAKIDe+SGuRYduuGNSFFV2X7z3DobxtIBwgah+SsuAZeAS8Al4BK47RJw
gHDbR9j75xJwCbgEXAIugQ0ScICwQWj+ikvAJeAScAm4BG67BBwg3PYR9v65BFwCLgGXgEtggwSG
AYJcy7hzPP5JskCN1jNLilErd69yRtu9x3NC0qEza3G5/P2ff3pKyrFH3SjjnFzgVjv2Lo/r4GtF
x7fH/xsOc/4/zkomz8Z7x4fjA4v8pCc3kKb0UpiaGc4GyV2WcZSfJcFKr03nfD/an3PqkHflkBdI
gS5182ZPTpet/d160n3mvd79/Nm2783JMFu/ulY9RQ6VdGuVlAk6F/7tks6lZ6frtfrJfZmRw+x7
nN9hr/kEHZxty0g/hwACp4B0gDAi1rlnHCCMkZNsBQgz7/UAxHUAsZcEatw/7YD2Mmhzs+PyT7PR
nqlt9r3bDBBm5IZna/lGZhxdulI6zFq5pZ2td2bayqBoKzGWbgvr1GxbRmQxBBAiQYUkcgg/MYXk
4eoJyCVscovDt0JjmVeFiexC3i+ILdTn8n1BXBG+l9UiRxDkGSbBQG5rK7HFku7yROtpreqLZBap
fwKCEimHsHeEfp9WhIuzOTyCPITIQ9pYfH48hFShkmZTsmIt/8pquEzQIc8snwMg3P3r1SvuG+hF
QQoSBzSR9eQ6E8lHj2SElYHHk9ofsuqNk5aU5YVoSUpoAlm15VrWg4xjS/+EzEQSBS2ymen7Mmat
siOpWEi/vCQgGSVJUYlVJHtbJFpakpscX9z9/vBZoZNC1CIkMGnOYGxWOiJjl5KtLMUdPhfyF8yz
rIepHKuu+E7qz4zMJcc8j6FOmpQSe+UkYJJ8J2W8ExkuxDaJr4OT1fBn6ZmHIcHNH8Pn/0OnNEe6
aGSR5ERdaNsI+RscjSRJQoIlTniG5Empfk5slkniUJ9OtV4hvvoSCYgm3zOTVYk+6bTboXxJ2bwi
9JL6cJWSEzTpZFm1/qO9PN7ymX5eyTHaPEpeldPMh8/BvcAcOAXJkpUWuVNfwbEgya4W03cizqN+
cL1F0jpOD066FpMsabCroiGSYbQgupOEWZy5l1OIkwzM9PbqvTh/OGNvmifTpGLQe8gm/GuSx9XI
3Hj+1/4eAggcQZCC4HTj30IukQwikVuEgTo8ky2J+GwiqIAjXBpz53n185SvGikrczkwvIlNS+fI
rpFrxLb89fgcKS05CsLsXOuc28cAdEoub06veTLIYTIf73wooAlOHWDk7iHUG2SQs22lELm1xXA4
BuAF0LAAkUNIxfkFtxtO8G5wJAPjELN71XjMa/0dIS2BQlmEJJrUZLCeaIQWx71sz2zpuwAEg3gl
b01sIUlZAYQk0+LzHx1D/v2g04uORhARQTIRsABYZx2RLYkAJiNITOBmAX5jxC+a9W1El63+65Wc
OPzQ/hXhkMouGA1z+M0cI1JO+H8kZktlxAynMFDMvifZHsOzD8Lvh2zImXiKnIBJykPfx1C1Aic5
vTlnK5RxkfZZpE41sjdOPw1HnLIVRjKokfckYRfLhNpey6opfCCRSE5lU808Axg3zpyYsj1G2yEO
g+ViOYEWuVVqr8hRwGBsC2ciTeNXAATUyQCAV8uD9WWd6pF0WREEjuykPjwVPZM+SH4U8I1wuyyA
kEAy655OTf4syRQyqPHf8HuZIFATzEFP9ec6PT+n79YRhFBGzLqqdCbycrBucFp2Sy/w2TRAAAEF
F3onpJF8G9JI6r1XfXZAAMKySlpyVCPtJD6XMjm9JELD7AyRq1r2eAvjG5ywRa6xGMSjKEdeOXLb
ObyvjLkMfqT1LJ5PEQQx/vJ5zrt9PNwX43P6vMjZHSIwb4OSBrpPEICQE8jA6XjnaY5MRGEcvg0A
49MyCrLswx+ujqEsKY9/EqWoQTLCTxWr8vAFAB76W9KY2qQlKA+rYvQ7f07nKmpyLeohuWpwlfUk
nUGo9l3kZ1Gx0tmFLSQpVgSBI2RMzLLI8hQdaupImg+JMS4alwUsiO6EaBsY5lJUQT5baGQXMLIC
CJMyx1jp0CSMjuZfUMY6tjH8mAQ9QsMr/YEhAugQAyZGOr0rK+SCKRUrPbQtOb/oLFmHORGRAXBq
RFLFfjXalPoAR59XoXEKLmmvC64EkhuTHK3eCzL4VKIuLdKyJOtqBMGILGTeDc3/ghV+r93y/Qi5
FfRA5BN+c7pikpsUpQGCfFakNt5QX1wJg8CPx91I288RBIu0Shx8bJPoI/2rWX41ECh4bIgKIKd5
lkINYLHiv1HzJuuMBgJbSMVqWwwq9XumA4duiF6xXGt/TwMEKYgdFgou6THTCjCtnjUQqAGE1eeJ
MOOcCAKHXRHqZWG0V10VgBBWkNKnKItErhEjCBWAkB1ycPgmgEiGnSMIaKM+/2FFEH78xxeCuONP
jaY0f59yifNWTxMgVEhLrPJqOc5H2NAYaMxEEHTfxQisuNoNgDBDkjIPEBoRBNaRDkAAEFqNVQ0g
ENPciMwxhpMRhIIVMJQxxFoohjSBg8zaGedPIDgCKDA4K+LKK7WzRf6G3PtoWwRb0jZZQSsHPRxB
gHxqZzHkeyuCUHuvEkFYhdMBisSeVLYeIlNhLYJQG1erXRa5FXOeJDnGCAJz0lAEqBpB0CRL0q/B
+swIAttt6iMiWXGsNXkWA06E9eVd9JHKaQIEpvIGL01493X45Qgag5UcKQCgSu9VIwgGQOiSig0C
hBWZmyVL67MhgADHg/14hNNjgcnpacpKMWqzEQTm3l7K3noGIazgdLg/7PsAqLAgOmcQqhGEWMbV
sgfNZxAsAIA6GKBYWwz6DAKiDeU+/HK+QZ9BMMchnfHgLYaSQCSQRolclnMlz8QYaOdaIy1hGca+
YF86RIhkHEfk2osgjJ5BQN8Z7JVRkEch9B2iLUFXZbuJziAsZ2viuQcx9osz0iQpswBBQAuf89Bn
ELKOdABCcbYhjaWM1Yn1LfTqcPjd2+Ph73k7A2OTt/AqFLU8hrwnzXu9YtxkZSoGVQwwOQ8mPeO9
XxDm5HCr1EOhaaZQjlsQOoTO0QLrDIKxigRAyOcjtKMAsRP6k5xEbAvv0Wpq6RrxFW+dSFmj78mz
zAvAdeMMRQsgyFbFyBmE5MALNks13hhXJgaLDglnG+R5oohfnYdQq+faGYQ83kmPrPr02RHzDIK0
xwCRsV4+E2KQZ8UzBQlUZQet5NEFCDrqkmRTOy8R+8Th/qRz1TMIHVIxOb8i5wAjwR/aDpCYIl1i
vyJg4whCjcyN+1/7exggjBT2Pp9ZOQdiwuKQ7bltrIXUzy239j6fc4jc5J3rk5dqh5frEriuEtAR
kOvazuverpoceRvkuvfhNrVPj8f7uEV0awCCjmCcziMsd9Ot6MEWZXrXAEHaaJ0Z4ND6ln74Oy6B
2yIBBwj7jKQDhH3kuGcpcggzRCJAef3OCf5uDUDYc1C8LJeAS8Al4BJwCfzQJeAA4YeuAd5/l4BL
wCXgEnAJGBJwgOBq4RJwCbgEXAIuAZfASgIOEFwpXAIuAZeAS8Al4BLYBhA0mcooSQgOWOhrSWiF
fB/+7ubR5itY8q6+6vIuxlXaqq9kydUpfM5Xfra2R1+jkXJqsttax8h71Keh8Rkpc8szfH9Y3tcp
Q1HmFhnx/eGRtuEefxqTeHVr5L3ZZyB7fo8PKuHz2TlglTvStprej7xbe4au6XXlKHMiXGH7qCVv
PsRbyxp6Tnv3fncvoq1zbzSNcHpY2WzfxQHpc/q2l3xb417mGWkT80k5aJMuE/0MifRCPpFT8sAR
nWMCxUvx+QxFELYChD2uZegrNjDUe5FdjAwETvfqOmedTK8uLWe+yyr3n3vv7/H93n06p00aIHBZ
nPZ3Sx0z/WRAnABCzo63pe7aOw090xkAcw6Ckfpr5fbe3fpeq1y6ty3ZFFcZ9/S7LR3As7jivPDD
XJ5Jsye3UceylRjsnPr53RmAoLk79mrD3uXMELOdU/eI7Eg/uyy0KG/0tt1WAsXZPp8NEAK6j/nI
jeQanDxF8q5LulJJ9JBJNxBBQJILJArh1VEPZIgBoXKRlEMM6EP+XLK4pbo5UYskEkGb8HlMpIFn
Q9ue37179zUEK0lMUvrUn4fPQ3rppT/hn5xRTq90VQaxFdkNym4BhNCOZ/IcktaEP2NucbRTKHlV
WleTxETawnnh6QpNzLYlY0l9kj+Rwzsmo0FbVX7wap/gEFh+lE3NIv6J13pS4g95rUgMgnIULwAS
5SAJS0yNy3WmPudUrGnMYtIajlCFz81VbaovJgFCuTUSFBVt4MRB1fHTeqbyxJsAIbTjeZp7sd8j
ZETICAe9J31g2azIiEjvH0hdek7UdEqv/NOcPzD/ApIYIbIg5SfeBmlT1nEripCTWMVkX4egwwvJ
l5RhkXctur2QdcVnDKp1K+HWkuI6kK8RwVyRiOpqIbOzEqehjXfeHD95e/fq66yXiWgr/l/eT0nX
cttTmTrRVkruFROmMWcJyi0Sh6UyWqR2OuqSE59RArEim23K5In6TvwzJ1K/3OaUubWUTVxxP2Qy
M5CUnfpa8rGMyL1IwR5kGXTnRMzG7QiNiYn8Ek+KVXaWJf1RSxpXJL0jYkOmFUD/FwK/RPbHpH4p
gsDkbTqDakzABrqCoMMFgSJTDag25ASEimRO8wxZfd4NIMDQwKEHg/dKjIiR0pLzlxdZsCzj3AII
HF1QecnF2T1MBpNTXupsWciuBQfzSejH15xSlBnmOsQptUxcsWzK5c0gptheqWwxNDPPwVindsqq
7BWcjYyJhGfDZ0iHGjIKrsl0eHuEV9YGgEMq25jrHrn6MW54vkYEgtUg2qffk7aLrFrkJFBiCyBA
B1nRdZ0aILGjYlnCaaEsDXRGCHoUsc+zUNYqc6AaPwF9sf+qD/kuND7nTIHUp0z80yAjKjK/iT4g
5z0D2aQ7mYxIZTvMPAscZUiyxpzK9XBfeD6rMYw6BcBGf2eiG8uA8Sqcs2fKs0yAhec4xTZ4ZdYO
UlhBy6yiAAjagTFXi0pvncnHChBzJU6deDQCz4bOOjtM9qWSpqF+aaP0P2cMFecYeEoSg2kk0uOs
tdx/7gNngC3T3ZdcI1KXzpqLsWIAtmQXDZw0CyndQ2ZUXROPlQBhTu5Lplk95icenIXPBplKW2Wz
ztXS2Ne4Y7IMKNU7k/0tOrr0M28xgNgwZT/VWw8ACJp8kPh8csr/GlFcbays+bUbQNBpIskJwKlY
RBqRZYoiCAURhjS4AxBq5CsipLw6DH/GUCZvTyRjFok1KA3s/w6G8X+xoDhl6ShA4DZT2RF8WKlq
UZ+OICgnkVPXame1GIPIjic/T8Pvs/ALUJAjIigPrHrh/ytiEQsggP2Mctpr0FPk5+dUshhD1C3n
BfR4Y1UZniny+o9uMUAeOvLEdRp9KAh99JiHPvzBmjAYoyTvHBVLY9Ai9hkavxpAkHmigZfutwZo
kJ+8i3I5WkL6EKNhRhrbDOZZNxn4a8IgS6dQT0VvY/IXno+G3ptRJHmuoC7PLy7bDNXU28EoL6tL
Ib06RRzwejOCUJCtNQi1mNHzk49/AlZbBiUWcdiS9nwdCUkpwquEcLwaXqVhTx3LUZAGmZve9rDO
IBzuHe5LfyCvUySFaN8NGvT4fF41L7LjxHNl6nUVQZiSuwIImvAuRRNW8iCSNGvuF2CHOW2YeI/S
zpfRJEqPb3D2rICAIqbTfEZ1gHBiBMb80LrDgJWZja0+DwEEpvgUw8mGKRjeuOppAQSpmAxUdi6g
dm0BBI4SSDlqxVJbMUUETauRGkBAWHYVQeAVJNfZoF4djSBUnekoQGg9RwfAMjALolgR3bBBVsCJ
V3I6wlOLIFT7xE4edTYAQgyZb40gEIDJq05dZyuCoKMGmDBa3sTCJqCscNwNYp+ncJ618WM9U07S
PCxqAISpCALqGCEjmoggrEAnAYTi7ISyIzJ/EEHQc8kECJahK8jXKhwUWCVLu+DcWN4qZBwp02vO
pEao9fZHV0+KFXyitx8DCGLkK3ThTcbYw0NEA2rnG2bI3GoRhBo5XAZYBSHciQ32BMBObKVbAUKV
yCwCs7kIQsmwuwAXEyBUiOu69Ow6gtAACBTliAuKwOb7HOSI0ibZ5pKIx6YIAnSKAOsuAIEdMwRH
K+Hs8MXAImzIEQRsN0QAuewNfZxCmHHfuwUQUt3FKlhRvdbOIIwABCHUQBpL6wxCXN0oQpW8DQFw
pIkyOmcQzgYIWiZSP+g7sUJUe9hNMh0FEHg/X1bEI2cQWgCBz3TIWY0DbU2s3pNVsIzJljMIzNpH
e9exzgQWR84gmOlMeeUtOqzJepJur6JleFavkFV5Kz1TOj4EEJJerOYD6yOiR0E+OHuDMxKFbHT/
Qj9W22+wBQp0mQBBkzXhXd5m4DMIvG0iYymRJwEQ0Ed5X4dr5TNFALbaKsj75XL2gNhVC4BQ7JsH
Iq+rw8MaQBgh1MK+cpNoSxntIbKvtHKFE+E+ZIbW0Pb4eVi5y3bIFPla7QyCOOF4IHT5Kfbz02fm
GYTw3YkO/bwIQk3uAGArYrbWGQQVnTiVXR547Z1BCNtXXyzsvsvPSgaLPCPltCb1QwRBn0FIen4i
lQvjSWdSls9D+yMZXe6HcRYkgpQEOjmidTiBUdYf/D0UQbBevOmf1UKaN71f3n6XgEugLwHs5d6U
0/n9HvkTe0qArxDuWe51LKt2BVPa6gCBTqVfx8HzNrkEXAL7SSCvAivRg/1q8pJusgQkgoNV/k3u
R6/tS8Tt7Ws5s+MRhJ60/HuXgEvAJeAScAm4BKIEfrARBB9/l4BLwCXgEnAJuATqEnCA4NrhEnAJ
uARcAi4Bl8BKAg4QXClcAi4Bl4BLwCXgErh+AOF95yO/pE7wtRidYxsnR7eSkoy8l0ls3sGBLOnr
26urj5YMbX3ykkvKncvunUbeo61WXvaZbGXS3hH57dHWdyX3Xj1b5/2InHp1a/3g1Msz7+LZ2inw
kT7i3Vl92dLO3F4jvbR8Z2Xja8mqdfpdt4/zL+jvdJ4dncvlnL7W3tVJxS5Rx95lntvmUZJFbrdH
EPYeRSqvkawkk3dc0uhfsuwZA3BBETeLfleEJjPELbUGlwlsrg/Ael9jNyKn69C2c8a+SGuMu+mB
8+HSbIk95j9OXtQYhy4BEb87ChBCbhlJz38RMjRuz7nO9jro3mwbLgoQMoFHbNWSQCKn90wtLRKB
SFKIlKRDPpfVpUWScnW480A+R450iziD6Vzj9+FHZ7tC0pTYlER6AkUHuQnypp/ajZSsKrMXkoCg
HINwxHKQJfnI29dL8gppz+HbEzlMyIueP1/6En9SwqYWyUk54dpkJm/oOEqMAAAgAElEQVQkAUbu
R8idDjKQVEhJVrKM1Z3D4XdvD4ef52QdSdaxbZYsQllLathTXZGghFLYmuMCeRLxjc6HXyYlIflJ
wo/a+KjyONmMRZTD0Y5TopIwJmksLBKaUdIbXhEit/4yziUpj3zEMjrJz9CJIqXrOhnKSj9SP1rz
VTKpRYdB83UhmTlEcrM4p8NPTK1beaZJKhOuUEV9V2NjpRnmuaJtyyKXw32M/UrPjEQ4OWNiQ8+4
HZauljItda9I1hMfTAlrKMEQbF5pww5f6qQ6cR4FGUNPc2pdIxqXskUuuhRV6vB54laQxFDpc2mL
/CQbFP4qk0Sd9DynSk6RhcDbEPP5o3zMfcgq8imwDbs6BjsHW3d8AdtskT5ZeSfguEISr0yAF3Xu
zZsHTORFyfk402aRiC0lRDOT9zHZF9K7txLlSRs054rOpEsJ2VYkbynXTpWgTdrD/Dsq4V1OeEZJ
w2LCtPD7QP6V1OuqPTGrsbQbCdrkb4rI5CSFo+zAQxGEgoSkyEF9IjVhukqkg2QWqRpJiibUqLF5
Fcxph2NwuKd0mJoqE2gVBmXlfMDiZeT3NtndKCQHwhG+N8qIe0WQQVmzYGyYknRZ5VNO98Q0Z5Gc
lHX2yUyQdvZkjHKOepOsBEZsyRonjiHwk5ODWG+TPGbiF/pbEZCkVVEel+Q0tGFSMl2VLfd1mTO9
V97dv169El3U6XTX8jfIUtKYA8BGYpkJ0psVQAigRpPy1FLWVnVCZc6rUcPOzNfFuUeAEDPtLTqz
zC9NQiMOEDI9AdkllS6ckc4Zn8cMJDSWXMsUtnnc7fnCOlfL17+Q8SAdb0vPCoBQCb3ndljMj0Va
4QX8oz6LIOrw/eE76CSnXVb68lLy5+t0uiSP0xgxr8C9q5Clbxm79SJokUkc18QIqLcDiy0G6CvZ
ymIucPpgwz5CH3ghAp1BP/AvbzHIZ5y6H8+klPtIxR1TqYuT5Gc194hO/28BBGRYDWUV6egtivcE
FmIq+hGSt9SeHkGbZFaMqcSp/dJti2AvAgTwynB7pB/MAZTKehqeF7AHuUXgBMChx8H6/xhAoDSN
XAg7MSjkaaWWnJEitQiNK0hS6oxbi+O8G1YyyEUd6S5JMdEWg2BkMRCJWlMnvGhFEAqkL/WD5pU7
nozpacKWIeECoAwBhIUwpnTQp5SdsZ5KnWvnX0RDVvm8F8rQZMhy35axKtLU0jMgZykNbeo9OZYT
S9wij/D/74qoUYeABKsLPT7dcU4rmC6hSUGkskQlVmxqADMnWtW8akU7RkhvrAiC1FcjSqltMVgE
NosjL4lxCsA8MV+xclWr0Je5Dp6DAhaTg8tpXSEnDd46n0eV5shhAuuFfTHHywAIlK+e9Rsreq0X
vIq12CDRBr2w0LaBIydWFEWvuFcAm2wj68vC43CU1WCmKy7lclqYqQXJs/BcHDt9pqEEjSd+BAaj
tTMI0E2MWWZhJEbEwrkEm2DM/RXwwzsjAAErZXFu2IIIjlKAaXbsABHhM3GCK34gAyAgjXxMM85k
fGgbRS3ElkYaeSbwK9xCIMxjkjfFdxOdMz+PiAnqwHechh2fEVsv2ly0h+kMqO1FevKLbTHU9spC
6DTSvkZjop3OyXHkHNAWSUoXIHx/+IxXgbzCyQ6a6k4gIipjjCAYDlreW63QVVSimHjEtV1MhPSf
8yMIJUDIqzrDaOY+YzWZ83+b2yULQFg9U9KdwtiPAISwnfCM6GJzrnvLwRkMZcu4VJwJG+49yuMV
WNwGwQqKHGgPILBR1Ea6RZt7aYCgdb9K2Ut729Z8ha6dCxCYDljahihibayVs1lHn2IH1wx4ll7U
9DtHEBToqwEEyLR3dqW0DSf6Zh3JtCIIeUuHoi46sgT5yb/WqhtbDDmqJVELAftkj3sRBIugSEcQ
pMxTW94+GYkgWHrJpE+tLQZ2vJpZVMoVhyscIsRvUmwlYAUegMOfACLkvcQ+WmwB8BkEcNFInfKs
gBBQtfO2hoAIbAO0CPPI0WcG1wZBGxPLYQvhu1CGRbCXOVnQZt6WsJiPVeTlMhGE6FAJzUNp22cQ
1ntc2THTnnwPIGRe77QnCrrQmTMIVsrMcr9RSDQQVj3t7Vb33Y2DRLzfTcY2g6PCueQ9+KVeUM5a
DhrvWbcg5L2RCAIDOJRXEqyMRxDKsw2n8yBZnpnOdQE9rTMIrZVdcQYhNJrOA1TPIFjlYVyCo/o/
wcD9z8XvLLoZnaPmYzecCY/tKOnNBoCw9EvJz4og1EhhSgBzijC05isc1rkAIe+BxzMWy5mW5SyD
2hZKkQUGCNZY82KiHK90DkDrWeMMwmgEoRzn0156dnqy/ZLJj5bvCxt4fPvzw9Wd36G+anQinefh
d82zB0FHrW0kLJJW55aIvXKxtXTeiedQsSVAEcfBMwgMTJaxpjMJ4pDzlmLSwQrpE7bYRiIICSDE
lT6vuC0SNQUmhJBPQEUXIKSQPUCIECvJTwz/W2RjFuEaz8ERgjY+gyDvgmQPYGiZJ0cQqmWAUGlP
EaXgLZZUzmXOIHCne3/XwsN5ktH+V68s+d7eDlhzuI+U5c+4BFwCLoGbIAEO/ev24mwRDl3fhP7s
0UZmnd2jPC+jL4GhMwj9Yk5P1ADCOSQp1rmAS18FmumzP+sScAm4BPaSwBLqP63EHSDE7QXQwBf7
/HvJ3MuxJbA7QHBBuwRcAi4Bl4BLwCVw8yXgAOHmj6H3wCXgEnAJuARcArtLwAHC7iL1Al0CLgGX
gEvAJXDzJeAA4eaPoffAJeAScAm4BFwCu0tgGCDICVK5XyopGq37ltKy2ue7t/odFLg1V/eInGaa
v7UdM3Xs+az0P5S3usO7Zx3nlCXy1NnT+KqRdf9a14cyRu5Cn9PW0Xe3JEBB2foq1midez6n0sVK
cpeYDGaPOvgeuFXeiOx6dk3aHxLVfMSJeFptJx3M19b4+Zs251t9PWeOWHN1q068D7vEuneuDp0j
x60yk/eGAIKeRL3OntOgm/zuiLG5yf0bafv7mIgj7ZJnQtviPWHcNSYnOQxquIz3NWl1f8/Ru+sA
EC7pHN8FQECCnhGAoBLXmABhVJ9v83O9cbsJfZ/pQ0+H3petGQIInLQBqS4lmxWILpDbGcBBp320
cj+DQEIGGqs2GF8MPqe+lIxRkvBCvpOkF5IwQ/5OyS2QQANJMSIJkrSPsm7FpEVhEv8tp+0MbX0W
Ppf3PkbZKS/2KmtV+h5JKzJJCLWjINiQbF6cqpPbn+qIbUptzRnCLIMZPnuV0nxmuRuOLifK0NnG
RH6pXMl++SglD/ky9P8LyR6GOjFWSWEz0QinEGVny+OCsQjf5zziSC+K9sCZoT4kMFFJR17IKl8/
a/S3Kj+VaOTz0M/n3E+pV9oZfmP61DS20J94lUqDHd0eay5IG3vtTvLLulKRQUzskoyMqSMWCUvo
5wMtc8wr6IDMAcifxxn6n77LUaBKhjZL12TOPLTmqdVHzJteBEHbBZXpbmWHZNxgH0TvpB7RJ55X
luyQPQ/PQd9qdg258ENdn5HsIj9A+n/UY5J1ITOacy3bsyIjUvaB+xptU02/Uj9MOyoyTW0Wm9Wy
tUX2wlSmzKXYb/YLbL910h6pSz6Tf415WcgwPPLKsinQH0oatNIFkn1eBOwhBy1jspum7tV0KNmh
+z0dwhwJz38Snv2afOZFQeYQQKhEEGDAcgMhhCA8GfhqmFmh6Eh+EQzbZyklJoxzQYohjhbAA8aG
6xODkPJVR0YrVvj0uShIFSDosDPCfHCgbJQY8LBsYGDwPbUvsqOJYebnQ9lPRDGsiUSKjfSbESDo
stlxV8g6IvkJKXA0OJyxK9T1UgwLr46T44hEI2yQtLGjcmNa0fCb04Ra7VG5yuMYa6IR3ffUNnlW
DH0OPQNUaPmFrbA81kre0XkaQCaDR6WbOQ2q7jfXaYy35IhHzvRVu63VAH8Gowm9tXQk9XFFwqJB
aSjrqZTHOsDjyeOM8Q96/Hf37t37T+kXAIcGZxVdk34/FD3nsbGiShYZjs43X9G7OCYAfAQ84jzh
+SrboZYeqzHO6WfDu9HRaX2jeWyOK6/+ZnQ+2ZgIXlhGsD3Sjla0tmZ7xK5Y9ibpBhY4Isc4v1Ef
SIA6trYgU9IAQc8Fpm9WOpvnPs2t/Jkao+jcQ78eWT6CfMfKJ1HZGiCcK4cH0qak64Gk6/AU7VM2
Mcp4IA1ytjWWDik5RoInzAH2R9acOeezcwACHHkkVdJC4AiBkeYy56hG47XRhLGSzotis4PGqpyU
U5Q2km3gPTE2wcjdx7s8aYwIAhxkJu3ApAnti45Z703rFJk8qVoOQ/oLgxL+jFwROqrBVJy1dqDv
CGvqVavUE9ok+7lF+7EixSqSlVE502fh3SiXiqHWedDj5Jb6eDLzu9KeZHxj0pPURplA4lAy8pbP
Oe0pypCVjVr91qJC2dAreceVSQsgWKQwoJxNZeVtCq2zpI+fhnpitIv7yLKQcSUZyCpXQFxB5iI6
FT7P4FLpbe4jraDi6kLLvKbDJJs4zmr8pXwZS6m/OBPQ0DUZfzg8Bl1NMhxl/MwzCMqe5MgXReii
HWKWPRk3djSQCztgrfPWuBFAkGjTalwxn3WUKo19XtUnebMTXEUpNb2wNS+oH8UctPrH+i82kgBV
tsEAKpBdx9YWDIoaIGgGReZFCH9H7h5tU9RcgD1gOUXnHt7/VOy5jjiDQ0HrgoreaIAAMLFVDnnV
T/Ncr+7NBVClvwXw1XMY4C2BaNiFHFnh5/f8+2IAgZS1hxSb6HBQaUcAwkeiZEB8WFGlLYYqQNAr
EpkQYOHSEwkRDgMgVCMIoU27AASRdysUTJMqG27tIIwIQhcg0KRsRhAsfdBgRZ4xnFT1wBq/r5yn
uYLi1bBasa1kIo5AwqU6gsIyagCElVOtTVoNhDUQ7fSxGUHoORIaf3HqAtKywwnzLnPLWyuUiq7l
xQK3G06uRobTAwi8Qk9/v8S81E4Bq0lrFVfRQTOCwONlRRD4e25fa8W/BSCgHuucSe1sWHjHtDcp
gnCWY6wRIYU6TeCgAILYeuhstPsCGOizWiRvNIKwWrTSmO8NEKToKkW0jl6paDJkwP01IwhovxVh
lO/04ntPcCBlDQEEGJJkNCUsHikvJVwM9MkRBHmeV0M1A4PO0GQuyCZ0GFczbM1EEHh/EXtsUm8P
IKQVb7GvlMJyJqmHGIuKnMw95yCD3QACDDzkylsuNYBg7auTcgM4FQ406UMcK73nqBzvijyEHQ/e
1dECOGbjvIKmUzUjCGg/VnuYRKq834XP/x7hcIxD6hvOtKzSunIZ4f1ixQB9NM47FOUMnsPglZSp
I1hVQ45Jn/MZBOmLpQOGc4tnTbTBwV4tR23I4FpjK6v/ZgSB5kcmw1FOZBVBELAR2od9/nimwNiS
ZHCyyxkEFanMW5yQAdnA2D6O2PEctCJQYoPCM/K7ohzmCAfklcbGAqwr28T2mseUo44AWojoyXMj
izGJWPIYJluXzyC0IggiB44EaX1V9gD2RWT0LPyuzjVJm/nMz7uMILAckowRHW2eQWDfqPrb1CFE
w/nsgUQglbx3T0M9DBDYqPjfPzwJiNFSITszvHkbJIMVr953vw19m+mD3saaedefdQm4BC4nAV6Y
X66WiQjCJRvhZV9vCaSogKx0/oCWcjiaV0jXuyf91mF/EKuR/hu37wk6MV2c+bh9PfUeuQRungQQ
hRnJ2XJu7zyCcK4E/X2XgEvAJeAScAncQgk4QLiFg+pdcgm4BFwCLgGXwLkScIBwrgT9fZeAS8Al
4BJwCdxCCThAuIWD6l1yCbgEXAIuAZfAuRJwgHCuBP19l4BLwCXgEnAJ3EIJOEC4hYPqXXIJuARc
Ai4Bl8C5EnCAcK4E/X2XgEvAJeAScAncQgk4QLiFg+pdcgm4BFwCLgGXwLkSmAYInHdcKufc9GgM
pwfFZ0yeVEvwwClV5T1JkRv+AY1oTPHM2e1UGtKc1CXlgS+Y/6Q8TvOJdrWy5SGjnhZyShH6Ufg8
5+KuPcvpormuWltS22Ou7t7gclrj2rMWc6CMWXj+qSI+WqW5xvjys3qM5BnmpOil1UY7R3KIK4Ke
nGZWPtf1VPq5YmNkOdX6klI1r2hUuT3QYatea2xHU6Ja4z9aBxHxSNtfgchroJ/xWU1ARnPwU9EB
/HLCLJrzBecKcs9rfpLaPER67QEug5yynG2L/C1Mf5b+URsLgizMsTSPPuQ5p3Qvp7BNGeyybLm9
PE46NW6aS+e0fcVpY+kF6zdSetfsLY836Y5wFgiXQyTqsuyQRdYFO8CMmGquZS4E+dziltA2jOe5
9jPaBtTalHS4IMxKY5F1gWzSKpW16kNhI3V7reRqWp9b9n3kWTVmuV89XdBtHf3/RQCCJdQWpbEy
MtGxYyKG70yAoAWt8pdb1MArBslURsxz3xJYxfkUCk99yGx/+Azva4BgKdQkQIhK3jKKIwDBYNLM
fdNggtvXorpmoyxjyAxuI8bBAKJ5/JThWE10GIXw76Pw+wyOsjXG2gCxPsGgoB+sNzXnjTGpON1q
znTLmaPdlqHXcqK2ZidmzUfm0NBgTTvMVMfTUE78PRcgtHRjBCBgTC0Cm9pc0GCaFxdJX7Jz4LHX
unouQNjS9jSmQwChtlAhJxjJmlKZMqeEpviVgCuDKdAECHoeMRAJfA4Fl4YFlpO8Pw9j9euW7ZoB
CLW5redx6nfNdjcXFC37oeZYwUxLshdeiUxOldpigo7E1VE8S6yt4EH6L2G4lAXNtQAIMKLMcofP
YJQtKk/5TpBorxPJ8N50gJCddpKJIPH4sydASEZbihUK2kyepZU4TRAh4smG3XD6xYThcRJypfRu
BFE9gJD6XKTotYxEL4IwChBak9Zyng1DUgDIlpNgg2itFNmwVRgfmwAhtLGIINXmDaVEjs5N2iyA
EQbYAkZJJpmlUzu8NMaxHOgrO9NaCmoL2MizcD6WXljG+4IAoYgIMWDQgMhYyRUrf9bd2QhCkEME
rDPgBvMOhFVah7ek3NXRBQKBD0L5zQgC6sf4KSpik65bt3lkkVADFyiLwcW7iCCgXmt+j/K2sP1s
2S5ta9P/i8Un+16UtUUXWu0YjiAAmYIJUZjL0kp/tWJGhUzBO4JyNECAsUvG5Z1vMdBEyJSw0o80
WCsUCkMKGekwdG+LISH4TIlam1TyuUbeMNBsvNIEBrteRpsaIOhxUsaz2I7oAYTWiqA3IfT3o1sM
eqIQq1s27K2JA8cqbQ/vZkAHHdcOmo1b0s3MUS//PxcgjDgCAuvfJka9HG60nD47ftAuQ95KZ5g5
EXM8rjTxu2MEQcoVMJm300YAApgn2SjK360tBtbpJAvt9DdHELTe1rZTGWjNtN1yFvJZDzha7QJv
ihE1ZLZZYcysbjGQXYygSwME2G3YAg0eRT4YrzR/TM6PmQjCCOCYtT+151lHMQ81QDBsUmZnJWbS
vFBQtg6U3EXUyNDh7Ht7i++tfR8CCGSMdHhK6o0rWC0gCocM75NogJCUtHoGYWunZ9+DAxHHj+2I
msGhVRfoSp+A774mI3aqMwiz1Y/kJB6qcwZxlZzketEzCC1Ez+2GE54ZEzYcRgg4s0wGuUtfm1sM
MNrGBM8rTl3HlgiC6vNZtKyt+Zjoq4szCOwQK/2M2xFYBBClbHTg4TdGoPBbAwga2HAEoXZmJDmI
wlBuIcoacRCYx6lOBlRx3/3SZxBmdFw/q50sf6/BrwWytL3aM4LAUeNkd/KWonagyb49CpGlR70z
I7VzWtJ3BR4yqG3JOC3AXmqAqd9hO8/faadvvFfVY7Ezaf5IdKaIEKbvYlSP9TjISBbFoDl/IvWx
r2XZvleA0HFEqwgCGbDicEivE1sAQmOPq4hw9CZnI3QqK2gZ+Mdp4mXe7/B5PqTYKl+fQWiFzsRh
agVC2S0j0TIYhrFZHVKstV/GUhS7d05jxED3xmCkn7La5b3LrQDBArDKGOiQdP4/jJzIZPQMQu+Q
4p6AiiMIg/00zysYehONnAUQamNb0wsxirJ/GozgRzKePfk09HOXfeNR3dTPzWwxyLsAYVZ9o9G3
gSiLua9tRB03nUFo2FwBk/K7C0DYMiZqdX8x3RjwZcUYAHRYC0BrSyv0/Vn4va99ge6fFU3bk113
KIKgDSeH/uU7tQLOK2dtSAaEWiBBcQaibNhjtyIVlhIx0NiiZHhHjJscujFCoNIu+TEBguXIRyf/
TARBrwoqslidxq85fY3+k0FbAQRrHBuOoIruR/bLrDbx6gFtFN1A/3mLQSbayCHFVE7ToLBhvNQt
Bh7DniOQZy1gwWeEuLyZZy1H1js3UnOAxiHI30tYmrfrBCRIdGOkz4j6WPo+En2w3q9F97SOMviS
+i1nOXJjyxqXURsxIiPWjb1vMbRsasWGFDaAtxh6fdYRCNStbcDMGYRWJGBEf6QNPV8243dYZjqC
EMoxzyOhfOjtnu3htk8BBF45oRAIe8TYb+kERSNWZxBqE1Q+16HrFMYZdhbJ2P1eH7qkftdOwsYT
rOo6Zg57A93tseLeChBqymtNbuvZLePI5cy8PwIQZiZj7VlaaZv7obX3ZvoCfR01QiOOID2Tt/4I
6OSDiGxUDWdt3e5Z6bA+QW3Jw7IF+j2RV4gaiNH7g1XGSJ+17ZH/TxwSE8Acz+VQObLXW9xm6jic
Qt4zc2Q2gjATWQrteMVAuaazLf1LNqV7SLHmuEdtyOicbTnzHrhIc2G1QKrV3dK9Vju4PJZtI9Ky
uk45cgahJbNZOzQq/1sBEAYVZddwU805wwA4QFhU0IqmQDlHQOUIQDgXbNFtANnn+1D2/UYdzuzE
nHGAI8/eNIDQM0wjfWa9wtU83nZq1ZH0aRgg9CIIs8BxBNT3ZHTJ788FCC3gODqnuIzrGkEYGYPG
WZCh66NpQT6UE2fWDo20X56ZAghAZK0thr1RzhkRhGIl2ApLblRcM4JQc4oaxHRWKEOr2BFjIwZR
j1fNQY8+C2W0xtqI3Kzub48qZ20FMBlerMqSgEHxDI9NTzdmJ+aoA5S+jzw7s20w86y10h2JfFTe
6664oRO9PpM9KFZhM2Nm2YLaFkNFx7v9qelFK4IwsoUzM3e2PDsLECryKcamtfruHVIejSDMLBJq
oGOLvFrvzEQQKsBq2HbO2qHRvk4DhNGC/TmXQA0sQTIjDsel6BJwCbgEehKYWXCdA1h67bht3ztA
uG0j6v1xCbgEXAIuAZfADhJwgLCDEL0Il4BLwCXgEnAJ3DYJOEC4bSPq/XEJuARcAi4Bl8AOEnCA
sIMQvQiXgEvAJeAScAncNgk4QLhtI+r9cQlcIwn85ZOPf/Lm6urV3b8eH/z4jy++u0ZN86a4BFwC
HQkMAwTrPrtkbAsZ0X4tBDd8X1hf7+DMbvqKGrcPV2yQxESuI4XvY3Ij47sVpSauEupn+VoerhKN
XOfhK0lI8SvtTemQ5c98R9W6+ocrPOnudTOdLfcVMuldY5TTuOHZahpk3SbcGuhdidFjLe+FemIO
8fD73Mpoqdvfur+M/rWyESq9MFPHytU0S0Yz94e5HjgzfHb3ePzwx1+/iORcf/7p4yP//79/+vhX
x8Ph1/HZ4+HbD77+JrJdoowPvvrmiv8PBxnfOx4+lef576WOR2E87+SMkKnsL8Oz//TnTx6HK0/H
Bx98/SIn+GnNbZSFdsTyP3kcCHkOz/7mq28i3e/y2cffhFSokQEy9CPWJX8ubTt+iPrabQtlHK5e
412UXcgofBgE8jnXbbXfrCc/+PbJB1+9LBIsybjocnr1tOuQ0mr1nD6vjYc1typzu5phtHfdka9p
8jXB2r17yRGhZdS7vsvP966e8rP6NsGEzanastYVRj3Xa9dzwSo6kjNH+tOyX73bV5avhIwmKds5
ZXX2d+TnIudK+I2JrUYzxrbshv5uGCDoF9PAHJjJy8oBTY5YUiZH4onaIM0ABN0eKDEyiTEoSRN0
mvecnY9BbtK8o5pAQRzgPQGClFXLa8Cy1RnsoPAi++gLFKhjeWJsFQlL7G/43QwQlExy9roBwFJl
DN0TICzOZnEClhMBQNCrYnYWewAEOPXovJPjvQRAWAEUAhAaIOj5xmCD2ynPyXcBDQjB04EjB9mZ
h4VFDehYwKZm0HS98txf/uHj+29+dPWawdyMQeRnNcDJ3wVAGP4ORGAnwFZzCmkx8Sg8P5TF1QIT
am4WmSA5UZZ25I1cDNP362vpuyt2OOaJQP2DNieySVrOdxYghDatUuDP5EmQPsFeWrozAhDEVnK2
zpaNqwDIFVlcSgom9jsuCuFXwv+vB0DgTgpHQWhYQfUJgHBOBMFCuxgk5fSHIgiGYwerlji7ZkrR
dw0QZIJohQx9HkqapN+zEDAMCNgla5kMZwEC6lLjk1f9YiQDgv+C2dt4XO7du3e/A1guDhCsUHgJ
GE4RhJGV/zkRhF0AgkQcrg6fFQ5aRRAMxx7fOTlC25FnWaUIi+WotzrlGYAQwciGCALaxlEhDex6
7Z8BbD2nrwBAM+MrFjtIVc1zde8IAs1riSA+lXa2SNu0rU2ONtrbms2hhcyLYCM+Exuhwcj7BAg6
0jISTbEimOcABBkHgAKWcfLB1yeC0AIIogwY2Iqi5pDaHhEEa+XI4S20RQ+MTDA4YnkmNLvKez4D
EN7lFoO0SwMpDSRqEYQRIpkZgIC2SP1pBVCwaNbIRHjSJ90ptqmU0ZwGCIhWaUPfCjFeMoJQtCNt
SYwADYT9ZxwSVtFSJ4fb9cr+7Y+unmC7IzrbwQjCAggOh7z9wJEOa5vE9LbrMP7i8I1tlvR+b+ug
59T199Z485aM2Z40dnE8Mpha+qJtAIWCh9O8awCg25xWjTlVdCuCMCsPPI9oSM1Ry3O1LQpuTyuC
wLZaz0mqP0Yi3idAsGQ4EkGo2R+9KGOABMZg1Elb1Dlrr7GFI6DVT8sAABlMSURBVMSB1y+CgGiB
hYxaKKt3BsFwfFFJkrPOOawrTpKpmOOzl4wg8JZJy8nxtkBj1Z6BCyuldvyNsOGKlKRmsAZC+hKC
FCMU96PlR4dQ0/4/mDtz6tlk4OSVp3xWQU/yLREEPVmRhz98PkS73TOYqzMIdLDuXZxB6LVv5HsG
B7JdImcaEG4/5wwC6oZjLCMT9hkEeecShxTLPjakQmcq+KmZMwgMIiJgiNsnb58ejneCUT5tMdQA
eZoneW4b3A4F+B1cofIiJ9o8aRu/W9vysObQnvTAW88gtHR7T4CQ7PRUVDaBsnweYGQejj7DvoGB
Etd57SMIljOGAATliKNsHVKUZ5nvffSgyKiQe88BleOgCjmW3bYYOiGkeJhk5BBJz3lbzhr9Hz14
1KtjJoJQk721xaGUfvgMAupAuxURVhVd19rGB7t6unPu99pBtg4pZidshM3jd429e3LgsloNq/vy
0GQEC8c7AbSVhxRn+ocIhL6RYG0xcLSiqIMOdOq6q+/wg433Z/qCZ3sAZgUmOIJAAEHPKXZqwe48
C/WZZxB4nszuk2/pb++dVsriYhiC3a8x3fbqaNkw/W6PGlqH863IspQ5I1uOMjdsyApkzMoO4ACH
wMWPwraxrVTbCtf3DIIlrJ6z0e+0Igh4Njn0YkLpCAKXaw0oO5GdbjFEIIR60+Gj5i2GxaYf5azG
g/C7G0AgOTVvMdSUuzdmevWRtmJep37UDimuDk9aQJDPp4zeYkA/egBhxDCNPGOtMK3w9hL2j844
R1pqhxSLeitbDK22zWwx1MqxIgjyLFbFfENgdYtBVs5LX+NtDf4ZPYOgt1RGxqIrEz4zQQ+PXqvs
AYSZNqoVfI4MWPaM5zBH2kbr47qsvX8pp+WwZkDySFSD221s65p2qua09Yq91g+2S3TzbbX9Km0T
W8NnoEblfO5ztbHHoltFDeI2fIo6FRFhXqTT1tX1usVgdbYR8q7uG/eEXkNw1knapExd+lZdJwBH
+Lx6BqHVTo1cO89WIwhYQfRkwiiz9ywmQ+05K+rTKxP9Dc+tAEL67hEfYEK/RiidO9EX84oj2otT
4qru4VPaut/6AJ58fwppl/vm5T50WZLey7bkW3OY1sG7+P5ABAH16NB4x9HmWwfFc4P17RVByG3n
q5enga7efOA29xx+f3sBpdGVxsGIzugZhK0rVLQM9cAeYq719sbxvnbAvbk/CxDgzEJ7sD0cHV9t
/92qfxTAjNrh2hYn2mj4h3P8V7Y/LXA44DOa2xppHK/PIcWZznLorKeAxuCsDvXUIgg3HSDMymaP
53sRBKuO9wUQev1NelGcQRg1GlbZ0wAhFNKKILTa3wYI9iE+KQ9OrrVKngcIb5+2IghtgLE+g1CL
VvTGs3aLwepPC6CNRhB67Vnkfbr+iud710C53Bm7OdKe5LBjRBNgH+/xivR9RBAIvJjt48juaASh
40iHFgPvCyCMjGfF3q7OlBl+8vpFEKyreNJw4yRqdeVXQ22EcGsH9gqe8dbzvf346xJB2KpA57y3
N0CQtghQCzqwJNxJP6NnTba0h8Y+n0Ggz6pJaEbaNLXFUAlxXySCEDoo5VpbG1of6lGIU1InvFM/
L1DPV8D1TUUQwos9510kb0JFRjRjj22XkXl0bkRnT4CQynqJ/X8uGyt3rNRn9t1bchiNIOiDmrr+
tJh7iGjfHgBmdDEwK4tWZHfAf51lf2BPw783K4IwMpn8GZeAS+CyEhCHfvdw/BRZHi9b2/UtvRVB
sLIhXt+eXKZlHQc8dZL/Mi30Uq+7BDZnUrzuHfP2uQRcAi4Bl4BLwCWwXQIOELbLzt90CbgEXAIu
AZfArZWAA4RbO7TeMZeAS8Al4BJwCWyXgAOE7bLzN10CLgGXgEvAJXBrJeAA4dYOrXfMJeAScAm4
BFwC2yUwDBB6CX2sJB36eox1JQVXc7gLco0kpCd93sp8ZV2ro8QhcvUt8zZI2dZVI+sOfXo2X9lj
LoRWghGrH1JWjRzJksXIdT95DxkdpW2himfMX8HJSM7NRYErrUoGFk9DLW9FkZ/gnGtNo0mJrOck
C+Kdvx6f12iAV9fqjCt1zfz/lZz/Mv5We4Qb4c3V1Sv+t3Ujodb3+H7oWxinV3/z1TdfYA5pWmXO
7SD1ntgiT7TM8u5S3lXQp8OzQOJ0n7kGtIkZlYeVqlhuYMT+B66LEWrmTOEcnj/cO9xHH8CPgTZD
Bs2UzYOpmmu00bWskdbzvVwJaxku3BlZ1kqvtuaWiHqYSLD4+q30RetOTWdBGqb1QOfyqMvtcbi6
Ppfm29SxNDdrCbEsiu4Rki++yloSnJUysnQrzycjX8Yi+zKPRi+ZV3UMkvBNCvXSgcakYjO5UGoQ
YhggjGKQmqNMzixwqJc82TUnPXpvtQY6tgKEVF7OCpiAhVwJetwCCJCP5ZQtx8+OXsu2lX1Q97cm
vwR0NmUDM+rISTvSd5rIaYhoqqZDI3K17rxbFL21u/EtwxUc4bdgJlwmZ0z889BKK6z7MJpmmI27
dthEplTQLa84DwaMPOdIQArlu8er1wxIdI4GNlhv7l29HAEItbFsyQNjc/dw+PUlAcKorWo9NwqA
UMY5AAHjbzkTbuO7AAhWEi4rk2gNhIlzPYbx5T4lhzcNENZz7QQybHr2hQmU500tC2op11OiL/18
DURlJx74OEISIMr/siQ4s4BKrDMAVAbIP/7ji+9G9bUFLMxcJBXAMlqfPDcNEJhLwcqN36q84cxX
bHyjAAG5/VP+6pyHW6dlFkdvJXnSbIk60sAOeMSRwfFLQp6oD8ejpMKMP2p1v8oANhpBCEVlDojr
AhBCmyzujH0jCESOI/I8FyBUQUNyxIWh+eTjn4hTM/W7EUHA8yMAQTuD8P+XnKVxZBXIvAoAC8Eg
PW8BBC4X7exFEIq2kiHqGNToJO4cj3+6NEBYc0nYq+WavXqXEYTrDhB6wIVluGcEodSx0vnvChCU
I9URRSsCcWJ+1Sm56xlQ0Z+RCIKll5a9O9kXI5vp+wII2E6ohbD1dgScsAqPPwmr8j9Uthi+DFsM
X7S2GDhcnaITsqqNRDLJaW7aYqhEEGLmsh5AkO8lm6C0R8BIi4zoXUYQLGUbyAbGlLI5qco5EYRR
0Ge1d2qLQQGJCCb+4eP7Es6OZVOYOTrUgQjC1kmdJ7BM1gAk4v9T9sXWFoOEB7VhggwKh0K8BQjZ
I0mQlhnq0xEEyyBuBQg1h8srU2wTzG4xcNkxo2SQEW+L8DaLDn3Prr5nIwjoH49ZuYpcOw7LmbbC
wq2tk17mzhHdwWp2NEyvn5M2NCN1V4eHln702o65F6MTYRuMV+w6yjba9hKMi3OVlOkvHo9GEOI4
he0ORMNO5Z3G2dpCkujCVlvSBgiGHXuXAEE7fT3QfAbBOHsge9RPw6+sqvPql8vQ0YWWM6GUnjn1
MhwuUzmD4SuBhqEIQnqWzyBwHdX82AAHAAWQl8jlzp07ryWSMEJcVDOw+FwDi1Yu9l5Z7/L7FiDi
dpwrIxNISFjv++Ojs84gtCMIYYtizXKIfrHRikY0laUBQmlQSodSApxTCmS9Yp+NIGhjNRJBaGcw
PI0mjDfaDud5Wn0tz+pwtNbL1hkEPFvuG5dnK4ryBs8g8DsjLJS8hw2HN30GQQAkp+4eJMvqzeNC
3lRm9QyC2soyeTBUlC1vH31/+MwC4r029oClBstbnWy9HjknsPy0ziDkeWil/l5FIiIDaowC8pyX
OhBB01sMTWDKjaeoZTmf5iMarbGZ3mKQwnqh8FYEIbxehMf5gF3R/0CTLIfxRnLn6w5aEQQ802t7
S1i9CELtXa4zGsS7d1/3JswIm1lne8EERErGzXSrTM2sxyZFVJpMi3hnlGXOksmWCdMqp+eMeuMi
38fV4vHO05EzCuXq5/CpRCvyHjwdVtSHFHVkAysWHD6CETMAQqagHjmDsNRz2soYAQgjMuJnuO3y
eXHmIUR1emMye0ixqHs5T/Kat2p67Z8FQFjZ5whOch49gKDbUYsebGGgRNknh3ba+27ojs3qWTqm
CIZXERoCDAzEz2l7jnqEw6krRwqQnb5rRVdy8zeAw1KPl22O0TTeiHBhbq/mo9Gvnm5a30u5cq7h
7dXVR/H8B2TyLiMI3LBznOyoAGbC0db5ghpZ0zltHwEI1jO9OkfJULTsWgBhVM6zz1lbDCij189z
bjGsHM6hvtdnrS5qoc/Z/s8ChMU5Hr6Eg8L/ZaXY3GL45LE4+kdijM1tkLQFISHXM24xxEOR5cn2
5SDYyBaDjgREWSojbLV9K0DgseptMeDZ0UOkW/Qg6kLa4tEyFCAo4yLjwwdgW/XscercBB202uVo
jqU7o3IwIk9BX48P7qYIQg/0jdZjOejelsSWslsLkdpWn10PreAJfI9GEE56G+Z/hQiuuMUQ7ISc
MQIIQbQS82MUzNRkNhRB6G0voHC9zWBVqg8PyjN6e2FmgJNDlvMHj/EenyOYaXt4/0EjoiFXCuV3
hGGr+Yzu3yhAmA3T186IjMq3F0HQ5fQAQq3eEeBVGoo1/S5/PxJ+nFnZhGhB2Pc8fNaTW4+lEO/X
thiKPhpnI6z6W4cCa/XpbQ6OXoxGEKxDWtlhhj9aTnEWINTkbp1B2GslaYKfbOhOgK+lE60IwpbI
2Ow5ip6+Nq45riMJxup79gzC7DVH3f5TZMdeHNSowntykO85SsXRipH5lZ26sWIvmUCXdg/Zp7hA
OD7geaTfW/4fngllmrbhfUUQRgRuOb1a6P+SAGGkraPPjDiykWe2AoTRdhJQ2nTNEe/zjZWRunsA
4X1GEEba/66eqQGEwpgMhkNHDJiur7UCe18A4fD94btl77p/CpwNcu2Q4shY6u2VsXfGtyxmtxh6
9b8LgFA7bzFa98VuMaSrxzhLZN0suI4AwRrTvQBCV1+uO0CwOlCLICD5j35nZP96ZouhJ9TW9yPO
H4cVrXJqB/BGIwizbW9FT3q3GKSuRgTBPLswChC2nCvhvvdCsXus/mZlPfP8SARhtLz3BRCkfSNb
DD0Dif1qWQmNnuvYAyDUVow9uc9sWVwCIIRI1qabAFa/zo0gmGObbgtZeRC2tP10w6YEjogmFAcK
0zkIq129ZEkzWww1HenZJbw3DBAGthha+jranlYZQ1sMvUnj37sERiTg/PQjUvphPiMGP4Sgv+Or
ipeUxHLQ9OrJ6PmAS7bFy3YJXFcJOEC4riPj7XIJuARcAi4Bl8B7lIADhPcofK/aJeAScAm4BFwC
11UCDhCu68h4u1wCLgGXgEvAJfAeJeAA4T0K36t2CbgEXAIuAZfAdZWAA4TrOjLeLpeAS8Al4BJw
CbxHCQwDBOvKHK4syjXD0IfM5qf/j/5ZiXv0VTomdgrvmbwNlrysOnuZBo2U0C8CSdRnkgpZrleG
63jP+UoeX6dkFkgru6DUjaRLnDa5dVUS1wR1/6QNoV0fhc81AVU11XHreqh1fRFtbLVP5BXa8BSk
WLqd3Gd8J9cpQ9uft4i3Krr1eajni1ruDKsPteyZRjsLJk2+ZlrL/WDpUmXcmeQq9kHqT/opsotJ
TVhW0LEke2GMFM6SV/KudfNDrstCnkG2z3ju6b6ynPiKse6ndT0X8uxd721d7bWuNVfoz38V2l6w
f1rXl9G/1lVZSw9ZLlpPRttTsTsrVlbWJ2v8ZE6kMX6dylzZOYPPZlWPvIvxZXuEz2dtAM9Z6C3Z
7hUPjcW5oxlzRVfv3bt3v8VFo/1CmldRJpgTNI/CbZerImkZ+mnotCkzK0uvpcOJ10cylT4ftS2W
jtzkz6YBgiWocwGCpcisJCMCrhkTPXG4LHZ4cEQ1gKDbw0ZTOwqLewF97BlbaR/eV+BEDKgJEPSY
jOZV0OOWHFeXkKpmeCwnKmXOpM1mIi5hxpT3tZNJ7Y4Mm2TAYmriGnhR4z5sZKh8y4FF3gO0Q48t
jwMDBPQRBigUEUGXBRBUu2Mbgo4+GgEIuj083q0kWIbBruoEt4+dYcugnuOQZ3Qp6XMEbC1neU57
LDtVSRJXJC3D2DBAgNy1vRMbFj57GX4LIMHzILXjOzjSCRsQ22UBOaV7XYCgbSscay8/ygxA0LJp
gfuaD6kBhFD2KgOubtuIL7pNz0wDBO48rfbPiiDsBRBC23IUIxmHlVHXSkzGOTrgPQCCASayI+kB
BL3ioFUcRyRAlW1mShwxDpoRkxE0RzzIQcoYf0vyySyXLScq380Y9SS77OgB3DQzpxjMcwACG1tt
ZKTNlRWZ9P/Rb3/72++SfhUAwVhRZaPKAIGBqQILQgddRBCUvsYVEcYgRZaeab2n8SiMugYIVj9T
v+A0PreiYJYBlHGSZ2Uuy/fiHGqJwc5xyKO6hDqQECyNzUpnpa3ntCeVWyQOs1b1NdCVZNmNlGqb
ouVQiVREO1FzWJjzCaiK/asCbMtutexMej6mwN8TIIgcWhEE1mkHCLWRH/98GCC0nAAbnmRgCsBA
764cWk3JaoPbUPZhOmduT/gbq7fsgJOSbd5iMFZuOdTVAghQfgAmMnLiOMQp7bLFQOUKoYysrr60
VsFsdIhGO4aBqa0cRi9kmOT4ZXBoX7S2GFi3xMnA8SFcaa1uROc4nNmKFGmd6RkZHb5OOpq3Sgi0
WRGEzAtSiyAk0BPlqA07hZ/jFgO3XW+r9ACCvDuxxbCaPyNbDHB8rTHSCwAGE7zlEppbbDFYc50B
FYAaP9eKYlC9WWeTvcrgZqY9yUa9Ejp32epB9KoSQYh1yJhJuB1zwwIIasyw1VaEy7XT1YCh47yj
kwV4gvz0fGf51oCQtbjTEdBRgMDjCH3ihQsBGRNQnbvFEOr3CIKadEMAobY3npT8RfhX0n9uPoNQ
iyAAKbbCg9qI9JSRn+eVHFaqrTMIo7jrnAjCaB2G0xsKAzPoIFAggE4cG8LcJtkUO7ZWO3urHetd
OG3tnK0IwlYZbXkvGcYMoCjyIitlOSuQtxiSs+meQdgSQbBAxQhAGO2zBvlqngzp1khdSn75PEtL
t1ifZub3pdrDfQCg4HbhDBOv3imqAIcfZaoBQhqHGB1jpx/skixY4t672MPw/1cMumcAwohc1PhH
IBx+HoTf5+iXBUJINnnO9MYMIFMB7+EzCJCJRK3UtuzUGQQZD45Kpvmcz3lZkdVZWd6054cAwmyn
asZGK4KUe24EAWX22lgBIfnQ3ShA0Ks41MvKc+4ZBEbN3C9epekVtNX/mVU13ucIh7XStupBdAHh
aP2MyEaMm3b+VGcGKPpdBgjnjLUutwV6a+002lZEEFo6mOZEPKQ4ewZBOyTlOJ6FeoutNW7HaD+t
OYsVdzLA2eAr52FG7pTexhA89YNXxRFgjQIEy4ao9qxC0DWdlc+TM59qT8/WGHryjZynERsEJxYc
vBxUfJ2ezSti6+CfjG/4vR9+9RkE3sKqht65PdZWRMV2xPGGDRDnraM3RluxNVXoyp4AYUb2eqGC
d/0MwrgUpwBCbf9PG5ea88IE4QNMlsNNYdbVhBjv1tiT2uGIA94SQUiKqFeS07cYOg5mdUhxrJf2
U7VJywDhnPItozTieC3dqR146xmeLe2vHd6rhI1XAKEhVwFB07cYpA9pfomTjZTmMwChJgMjHGtu
C6b6hyMILf3h1THahefD/2ULzdxiqBn6LePL72xtD7V9taWG77AgAcjCeQwAofBcpI5Pz2fHz/LT
EQQNEORdtp88v0bOIaGtjUVadPh8lqQWKYEtbW051M6kWMCftxhCO4vtttocs7YY9HkF6TMDtd/8
5jf/AR0XEMf6IW0I/5eohN9i+NnPfvan3oRroU+9n2WV1UP/avIW4SFtJHX51gqo1x/re16t6ZCV
npBKmcwVltHOrrEVI6GVNSm2ecgKCi7/8mG+Vv9nnCuvJLnMyo0WM6w3MhbJOBZ9SM7BPDw10wdd
/+jKumdEa+XWjGFLDqn/xSFFyJ5lPQMQRvtpATNlpM1tpy36XbEN+UDx7Cp3ZmxHw8StiEZPl0ec
MwEjKa6IDIycQdijDbO6resc6ae8c848xZzg8zijOl2T0ehB12RX9e2TGKn5oVx7vEgEoTYwtwUg
jKyEGzIYAgjh/SGDDHDAgGJEeUcnbWNFbAKBc1Z7ewIE6NrMSfqW0X2XxjC0I+dBsNq0BSBsASyo
eyaqNPMs9+0ch9xzlhv70bwBda6utABCBUBNAe9RfZW6Zp7lto2+N2prKv0We7kpguAAYXRm1J/b
BBCs4i4dQeh11VoB4Z0Rh4lnz4ggFFedzgUIVgRByoShZxStzibk6EPLKXQOnhbRkNkIghXWk7aP
HDa1xnHLFkMCKsW2D4/JTP9hRCt6X4z7bLnKSUZjeAmAUGn7blGvLU7YAcJ6i6FhNxwgJOG8zwhC
zw/dtu+nAMJt67z35/ZKQIBGuH72KfYYb29PvWcuAZeAS+AyEnCAcBm5eqkuAZeAS8Al4BK40RJw
gHCjh88b7xJwCbgEXAIugctIwAHCZeTqpboEXAIuAZeAS+BGS8ABwo0ePm+8S8Al4BJwCbgELiMB
BwiXkauX6hJwCbgEXAIugRstAQcIN3r4vPEuAZeAS8Al4BK4jAQcIFxGrl6qS8Al4BJwCbgEbrQE
MkC40b3wxrsEXAIuAZeAS8AlsLsE/j9MuDK3CpAvrQAAAABJRU5ErkJggg==


------hy5Mvh0XBj6r9qMQbD2fcPHUlQFxXZ9dxf_.y0Y8j4AsulgF=_1fdd14_--

--------------pLL8w0kbVYCOaBgrkItg7rLS--


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:17:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:17:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626817.977415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyUlk-0004iN-FT; Thu, 02 Nov 2023 10:17:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626817.977415; Thu, 02 Nov 2023 10:17: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 1qyUlk-0004iG-Co; Thu, 02 Nov 2023 10:17:44 +0000
Received: by outflank-mailman (input) for mailman id 626817;
 Thu, 02 Nov 2023 10: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=UOkq=GP=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qyUlj-0004i8-9U
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:17:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0e881a72-7969-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 11:17:42 +0100 (CET)
Received: from [192.168.1.15] (host-87-7-132-154.retail.telecomitalia.it
 [87.7.132.154])
 by support.bugseng.com (Postfix) with ESMTPSA id 6DA804EE0737;
 Thu,  2 Nov 2023 11:17:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e881a72-7969-11ee-98d6-6d05b1d4d9a1
Message-ID: <8dea91cd-54a6-4846-b845-f3ed334fd470@bugseng.com>
Date: Thu, 2 Nov 2023 11:17:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] x86/iommu_init: address a violation of MISRA
 C:2012 Rule 8.3
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org
References: <ba5d1368fce181a6a3a6abc150651e1e5323e489.1698238686.git.federico.serafini@bugseng.com>
 <e21cb579-842c-a3c3-db82-067dc023ef06@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <e21cb579-842c-a3c3-db82-067dc023ef06@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 30/10/23 16:01, Jan Beulich wrote:
> On 25.10.2023 15:01, Federico Serafini wrote:
>> Make function definition and declaration consistent and emphasize that
>> the formal parameter is deliberately not used.
> 
> Coming back to my earlier objection: Did you consider alternatives? Best
> would of course be to get rid of the forward declaration. That seems
> possible, albeit not quite as straightforward as it ended up being in
> other cases. Second best would be to rename the parameter in the forward
> declaration. Question of course in how far "emphasize that the formal
> parameter is deliberately not used" is important here. (If it was, I
> wonder why VT-d's do_iommu_page_fault() is left alone.)
> 
> Jan

I can propose a new version of the patch with the second option.
If one day you will decide to accept also Rule 2.7 ("A function
should not contain unused parameters"), then a deviation based on
the parameter name "unused" would be viable.

If, however, there is interest in applying the first option,
I think the best thing is for you to take care of it.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:21:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:21:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626822.977426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyUpT-0006F1-Uz; Thu, 02 Nov 2023 10:21:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626822.977426; Thu, 02 Nov 2023 10: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 1qyUpT-0006Eu-SG; Thu, 02 Nov 2023 10:21:35 +0000
Received: by outflank-mailman (input) for mailman id 626822;
 Thu, 02 Nov 2023 10:21: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=UOkq=GP=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1qyUpT-0006Em-0g
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:21:35 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 98106682-7969-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 11:21:32 +0100 (CET)
Received: from Dell.homenet.telecomitalia.it
 (host-87-7-132-154.retail.telecomitalia.it [87.7.132.154])
 by support.bugseng.com (Postfix) with ESMTPSA id 0A26D4EE0737;
 Thu,  2 Nov 2023 11:21:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98106682-7969-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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] xen/lib: remove the overwrtitten string functions from x86 build
Date: Thu,  2 Nov 2023 11:21:01 +0100
Message-Id: <c313895654437fe154e989a7d633cca2ccc710d8.1698914967.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove the generic implementation of memcpy(), memmove() and
memset() from the x86 build since a version written in asm is present.
This addesses violations of MISRA C:2012 Rule 8.6 ("An identifier with
external linkage shall have exactly one external definition").

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/lib/Makefile | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/xen/lib/Makefile b/xen/lib/Makefile
index 2d9ebb945f..ac0edd4745 100644
--- a/xen/lib/Makefile
+++ b/xen/lib/Makefile
@@ -1,5 +1,9 @@
 obj-$(CONFIG_X86) += x86/
 
+ifneq ($(CONFIG_X86),y)
+    NO_ARCH_STRING_C=y
+endif
+
 lib-y += bsearch.o
 lib-y += ctors.o
 lib-y += ctype.o
@@ -7,9 +11,9 @@ lib-y += list-sort.o
 lib-y += memchr.o
 lib-y += memchr_inv.o
 lib-y += memcmp.o
-lib-y += memcpy.o
-lib-y += memmove.o
-lib-y += memset.o
+lib-$(NO_ARCH_STRING_C) += memcpy.o
+lib-$(NO_ARCH_STRING_C) += memmove.o
+lib-$(NO_ARCH_STRING_C) += memset.o
 lib-y += muldiv64.o
 lib-y += parse-size.o
 lib-y += rbtree.o
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:23:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626826.977436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyUrf-0006qh-B4; Thu, 02 Nov 2023 10:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626826.977436; Thu, 02 Nov 2023 10: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 1qyUrf-0006qa-7R; Thu, 02 Nov 2023 10:23:51 +0000
Received: by outflank-mailman (input) for mailman id 626826;
 Thu, 02 Nov 2023 10:23: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=7lpi=GP=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qyUrd-0006qU-Mv
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:23:49 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e886be0b-7969-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 11:23:47 +0100 (CET)
Received: from MN2PR14CA0002.namprd14.prod.outlook.com (2603:10b6:208:23e::7)
 by LV3PR12MB9412.namprd12.prod.outlook.com (2603:10b6:408:211::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Thu, 2 Nov
 2023 10:23:44 +0000
Received: from MN1PEPF0000F0E4.namprd04.prod.outlook.com
 (2603:10b6:208:23e:cafe::bf) by MN2PR14CA0002.outlook.office365.com
 (2603:10b6:208:23e::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21 via Frontend
 Transport; Thu, 2 Nov 2023 10:23:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000F0E4.mail.protection.outlook.com (10.167.242.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 10:23:43 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 2 Nov
 2023 05:23:43 -0500
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 2 Nov 2023 05:23: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: e886be0b-7969-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ieWQxOcPoc9MWhYWJIAP7kEbgP+3tA9OiyNdqZg3CB5EwvfbEZMw8YQhsIYXgcWM9OLEge/E4DgS/9IjY73G99LiMe4g8tvxoFpTt+Is0bm/iBIptBH62Zw02Emlc3KvsASZ4C6dEf2comFx6PyVc4b2Vx9sUBGlHCc0tdcRLKaNgjToJDbbIdQYVyNDDcsEC0enwa2Gug7zOq3iE/pdKSCruvJJJokl4DK+zYyW4zLa77rDOcH/oVgDJNhCG3ibmR/8rsiGftgyRBqokDycGHCNYj1d+wDA0zFb3dIk8hBDJwfe0rGfZyeAg4bq89/F5lBE1Jq8rmmkjyRujfwW8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OGdyvwAmJSJb0TfGIYpLEwuMj+ZEB/r3ydoj9509cX8=;
 b=ClQgIYOMyqv36mgQCIelt7Jbf3LEWO7vcrya+yFoz9fiMef6WyRMhJuqnsuGjS+I6FrNr+t/KJil4thYO4d1U1z44/Jlg9Dg0nSwfDTbbRUcBdauV68aVXMKXi25HYzCRn8QDGokjrIpHlmPhCUI/v9uAEhbYMBy/37Ln7VZj85Lf+Z4IVzL3xG2FmB8Q73mLI7yASs6ipAw24eIPkUa7UIp3Wfb3n+c8UYnaabq07We9RiC5zyJ7hlwCalWAQZdaBfB+jwfyJNtOnIH9s9VAO3Wiy1v+iOXSwItne+wxrPuuddOgpiiYJfzCBwZdl+qinqgPJ76SvKB6+tPjg4UHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=OGdyvwAmJSJb0TfGIYpLEwuMj+ZEB/r3ydoj9509cX8=;
 b=K+mEjHxDL6oW007apfqLcXwMglpyVX9K62Ub6QxTjRvHZ1XN3JabiQ4Q1LqkmVthvj/3ZJablT47R4hdr/TEVflUKkL0skaPjMhwbF9+vvgxTvZBaJfUET8EeSkFi653oExczQfubxxhEYmnvd9Cbwne5MHqRjJfjiX2kMh3vyM=
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: <58a2c0a3-8cb0-473d-a90a-21f8d27b9206@amd.com>
Date: Thu, 2 Nov 2023 11:23:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/arm32: head: Improve logging in head.S
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: <Henry.Wang@arm.com>, <ayan.kumar.halder@amd.com>, Julien Grall
	<jgrall@amazon.com>, Stefano Stabellini <sstabellini@kernel.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
References: <20231101233011.83098-1-julien@xen.org>
 <20231101233011.83098-3-julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231101233011.83098-3-julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E4:EE_|LV3PR12MB9412:EE_
X-MS-Office365-Filtering-Correlation-Id: 23fd7542-4f03-4a57-d746-08dbdb8dca9e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bOzLeuJT8G0A+nqb/rflOvUOuSNr9XUIK6xS2u/Qb/XPMVmxdPEWJdbuznUeCVPt8RfgglEA+tMu17UeUikxC1kPYcg2i633mT3SNx5p8cDLh6iyUeQgJ80hrvDZCEj5OEemfXSvtpiba8/d+V9zyje6MUT0lgY3jOYG24IUbMdTUr3MqrzBv3tQ//ATjj+ldKHZ4gY99GVx1Dg3FBjSVFgEW9O7SsOSOg47aJvMEVw31olAm9nxtLfSOtEhxsB4R2ctYFpBe8dCVQ1751MNbMHVzkOhPDsXS/kAT5Emi8y4KV6OA3ndKn/qJqaDJRjuVtbiTEFkHns60KoLIDkNc7ZPG0DTxyyt6odgXDA94nnFkD5e7Nh8E0+uTdKYeFh+sGFJUIXfT4gSTbyp6c9g4G9snn8I0PZVJEirOpmJtVt0BLCQ6uhhHU4LB9ZNnRGKXGiK2bLcWxZuobVSa7igblIWyoYOCMPKiQ9iOnhnRLIpsA9qow2UsAKwZM+vR3PsiydJrIzo3Da6EL5zY/MMQV++39dT4nLssZC7hpzl5T3tOjFsGI3H6OyyKMMJpuwtKCZMQVHE9fS+Omr3OMxmCGZ0PO+qtq+TnJbBBMEn9lXq+hJj+xmqS/YPsnFuRhpynk7t2jCfnUyCfuxc92OZ0sIKYvZEFFnNFu4PvEwWXWqMIQeicfD3vCIm0MiWIA0b7Wj3VePJcjQESMgffz7IYAIIS9wKLzD1hWJkT+1Sh52xArhz5T8mbK8AGcy5DdRkrwe+QEbaokEJV8c3K1G1ZWSbvdg1yR4C3nXLwvJr7cF20v6K7NrqXwj1+s91lD9x
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:(13230031)(4636009)(136003)(376002)(346002)(39860400002)(396003)(230922051799003)(186009)(1800799009)(82310400011)(451199024)(64100799003)(40470700004)(36840700001)(46966006)(26005)(41300700001)(40460700003)(53546011)(2616005)(47076005)(81166007)(356005)(86362001)(31696002)(36756003)(82740400003)(36860700001)(83380400001)(426003)(336012)(110136005)(16576012)(8936002)(316002)(8676002)(54906003)(70586007)(5660300002)(70206006)(4326008)(2906002)(31686004)(44832011)(40480700001)(6666004)(478600001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 10:23:43.8867
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 23fd7542-4f03-4a57-d746-08dbdb8dca9e
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:
	MN1PEPF0000F0E4.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9412

Hi Julien,

On 02/11/2023 00:30, Julien Grall wrote:
> 
> 
> From: Julien Grall <jgrall@amazon.com>
> 
> The sequence to enable the MMU on arm32 is quite complex as we may need
> to jump to a temporary mapping to map Xen.
> 
> Recently, we had one bug in the logic (see f5a49eb7f8b3 ("xen/arm32:
> head: Add mising isb in switch_to_runtime_mapping()") and it was
> a pain to debug because there are no logging.
> 
> In order to improve the logging in the MMU switch we need to add
> support for early printk while running on the identity mapping
> and also on the temporary mapping.
> 
> For the identity mapping, we have only the first page of Xen mapped.
> So all the strings should reside in the first page. For that purpose
> a new macro PRINT_ID is introduced.
> 
> For the temporary mapping, the fixmap is already linked the temporary
> area (and so does the UART). So we just need to update the register
> storing the UART address (i.e. r11) to point to the UART temporary
> mapping.
> 
> Take the opportunity to introduce mov_w_on_cond in order to
> conditionally execute mov_w and avoid branches.
> 
> Signed-off-by: Julien Grall <jgrall@amazon.com>
> ---
>  xen/arch/arm/arm32/head.S               | 68 ++++++++++++++++++++-----
>  xen/arch/arm/include/asm/asm_defns.h    |  6 ++-
>  xen/arch/arm/include/asm/early_printk.h |  3 ++
>  xen/arch/arm/include/asm/mmu/layout.h   |  4 ++
>  xen/arch/arm/mm.c                       |  5 ++
>  xen/arch/arm/xen.lds.S                  |  1 +
>  6 files changed, 71 insertions(+), 16 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index fec2433e568f..bd61521a9dea 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -46,9 +46,13 @@
>   * Move an immediate constant into a 32-bit register using movw/movt
>   * instructions.
>   */
> +.macro mov_w_on_cond cond, reg, word
> +        movw\cond  \reg, #:lower16:\word
> +        movt\cond  \reg, #:upper16:\word
> +.endm
> +
>  .macro mov_w reg, word
> -        movw  \reg, #:lower16:\word
> -        movt  \reg, #:upper16:\word
> +        mov_w_on_cond al, \reg, \word
>  .endm
> 
>  /*
> @@ -104,16 +108,26 @@
>   */
>  #ifdef CONFIG_EARLY_PRINTK
>  /*
> - * Macro to print a string to the UART, if there is one.
> + * Macros to print a string to the UART, if there is one.
> + *
> + * There are multiple flavors:
> + *  - PRINT_SECT(section, string): The @string will be located in @section
> + *  - PRINT(): The string will be located in .rodata.str.
> + *  - PRINT_ID(): When Xen is running on the Identity Mapping, it is
> + *    only possible to have a limited amount of Xen. This will create
> + *    the string in .rodata.idmap which will always be mapped.
>   *
>   * Clobbers r0 - r3
>   */
> -#define PRINT(_s)           \
> -        mov   r3, lr       ;\
> -        adr_l r0, 98f      ;\
> -        bl    puts         ;\
> -        mov   lr, r3       ;\
> -        RODATA_STR(98, _s)
> +#define PRINT_SECT(section, string)         \
> +        mov   r3, lr                       ;\
> +        adr_l r0, 98f                      ;\
> +        bl    puts                         ;\
> +        mov   lr, r3                       ;\
> +        RODATA_SECT(section, 98, string)
> +
> +#define PRINT(string) PRINT_SECT(.rodata.str, string)
> +#define PRINT_ID(string) PRINT_SECT(.rodata.idmap, string)
> 
>  /*
>   * Macro to print the value of register \rb
> @@ -129,6 +143,7 @@
> 
>  #else /* CONFIG_EARLY_PRINTK */
>  #define PRINT(s)
> +#define PRINT_ID(s)
> 
>  .macro print_reg rb
>  .endm
> @@ -183,11 +198,6 @@ past_zImage:
>          bl    check_cpu_mode
>          bl    cpu_init
>          bl    create_page_tables
> -        /* Add the UART mapping if requested */
> -#ifdef CONFIG_EARLY_PRINTK
> -        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
> -        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
> -#endif
I think that patch no.1 should move the mapping into init_uart right away. This way
the issue I mentioned in that patch will be fixed and there will be no need to remove the code
introduced just before.

> 
>          /* Address in the runtime mapping to jump to after the MMU is enabled */
>          mov_w lr, primary_switched
> @@ -593,6 +603,21 @@ enable_mmu:
>          mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
>          isb                          /* Now, flush the icache */
> 
> +        /*
> +         * At this stage, the UART address will depend on whether the
> +         * temporary mapping was created or not.
> +         *
> +         * If it was, then the UART will be mapped in the temporary
> +         * area. Otherwise, it will be mapped at runtime virtual
> +         * mapping.
> +         */
> +#ifdef CONFIG_EARLY_PRINTK
> +        teq   r12, #1               /* Was the temporary mapping created? */
> +        mov_w_on_cond eq, r11, TEMPORARY_EARLY_UART_VIRTUAL_ADDRESS
Shouldn't the clobber list be updated?

> +        mov_w_on_cond ne, r11, EARLY_UART_VIRTUAL_ADDRESS
> +#endif
> +        PRINT_ID("- Paging turned on -\r\n")
> +
>          /*
>           * The MMU is turned on and we are in the 1:1 mapping. Switch
>           * to the runtime mapping.
> @@ -643,12 +668,14 @@ switch_to_runtime_mapping:
>          teq   r12, #0
>          beq   ready_to_switch
> 
> +        PRINT_ID("- Switching to the temporary mapping -\r\n")
>          /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
>          mov_w r0, 1f
>          add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
>          mov   pc, r0
> 
>  1:
> +        PRINT("- Running on the temporary mapping  -\r\n")
>          /* Remove boot_second_id */
>          mov   r2, #0
>          mov   r3, #0
> @@ -659,6 +686,8 @@ switch_to_runtime_mapping:
> 
>          flush_xen_tlb_local r0
> 
> +        PRINT("- 1:1 mapping removed -\r\n")
> +
>          /* Map boot_second into boot_pgtable */
>          mov_w r0, XEN_VIRT_START
>          create_table_entry boot_pgtable, boot_second, r0, 1
> @@ -671,7 +700,10 @@ switch_to_runtime_mapping:
>           */
>          isb
> 
> +        PRINT("- Runtime mapping mapped -\r\n")
>  ready_to_switch:
> +        PRINT("- Jumping to runtime address -\r\n")
This is causing a boot hang in a configuration where there is no need for temporary mapping.
In that case, we are still in 1:1 map and should use PRINT_ID

> +
>          mov   pc, lr
>  ENDPROC(switch_to_runtime_mapping)
> 
> @@ -795,6 +827,14 @@ init_uart:
>          early_uart_init r11, r1, r2
>  #endif
>          PRINT("- UART enabled -\r\n")
> +
> +        /*
> +         * Add the UART mapping to the fixmap so the UART can be used
> +         * as the MMU is on.
> +         */
> +        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
> +        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
Shouldn't the clobber list be updated to include r4?

> +
>          mov   pc, lr
>  ENDPROC(init_uart)
> 
> diff --git a/xen/arch/arm/include/asm/asm_defns.h b/xen/arch/arm/include/asm/asm_defns.h
> index 29a9dbb002fa..ec803c0a370c 100644
> --- a/xen/arch/arm/include/asm/asm_defns.h
> +++ b/xen/arch/arm/include/asm/asm_defns.h
> @@ -22,11 +22,13 @@
>  # error "unknown ARM variant"
>  #endif
> 
> -#define RODATA_STR(label, msg)                  \
> -.pushsection .rodata.str, "aMS", %progbits, 1 ; \
> +#define RODATA_SECT(section, label, msg)         \
> +.pushsection section, "aMS", %progbits, 1 ;     \
>  label:  .asciz msg;                             \
>  .popsection
> 
> +#define RODATA_STR(label, msg) RODATA_SECT(.rodata.str, label, msg)
> +
>  #define ASM_INT(label, val)                 \
>      .p2align 2;                             \
>  label: .long (val);                         \
> diff --git a/xen/arch/arm/include/asm/early_printk.h b/xen/arch/arm/include/asm/early_printk.h
> index c5149b2976da..c1e84f8b0009 100644
> --- a/xen/arch/arm/include/asm/early_printk.h
> +++ b/xen/arch/arm/include/asm/early_printk.h
> @@ -19,6 +19,9 @@
>  #define EARLY_UART_VIRTUAL_ADDRESS \
>      (FIXMAP_ADDR(FIXMAP_CONSOLE) + (CONFIG_EARLY_UART_BASE_ADDRESS & ~PAGE_MASK))
> 
> +#define TEMPORARY_EARLY_UART_VIRTUAL_ADDRESS \
> +    (TEMPORARY_FIXMAP_ADDR(FIXMAP_CONSOLE) + (CONFIG_EARLY_UART_BASE_ADDRESS & ~PAGE_MASK))
> +
>  #endif /* !CONFIG_EARLY_PRINTK */
> 
>  #endif
> diff --git a/xen/arch/arm/include/asm/mmu/layout.h b/xen/arch/arm/include/asm/mmu/layout.h
> index da6be276ac5f..68855c4f3184 100644
> --- a/xen/arch/arm/include/asm/mmu/layout.h
> +++ b/xen/arch/arm/include/asm/mmu/layout.h
> @@ -113,6 +113,10 @@
>        (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
> 
>  #define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
> +#define TEMPORARY_FIXMAP_VIRT_START TEMPORARY_AREA_ADDR(FIXMAP_VIRT_START)
> +
> +#define TEMPORARY_FIXMAP_ADDR(n)                    \
> +     (TEMPORARY_FIXMAP_VIRT_START + (n) * PAGE_SIZE)
> 
>  #else /* ARM_64 */
> 
> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
> index c34cc94c907a..6ffa45c53be6 100644
> --- a/xen/arch/arm/mm.c
> +++ b/xen/arch/arm/mm.c
> @@ -193,7 +193,12 @@ static void __init __maybe_unused build_assertions(void)
>  #ifdef CONFIG_ARM_32
>      CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
>      CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
> +    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START,
> +                    TEMPORARY_FIXMAP_VIRT_START);
> +    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START,
> +                    TEMPORARY_FIXMAP_VIRT_START);
duplicated entry?

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:27:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626831.977446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyUvD-00081u-Q5; Thu, 02 Nov 2023 10:27:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626831.977446; Thu, 02 Nov 2023 10: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 1qyUvD-00081n-NS; Thu, 02 Nov 2023 10:27:31 +0000
Received: by outflank-mailman (input) for mailman id 626831;
 Thu, 02 Nov 2023 10:27: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyUvC-00080C-DR
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:27:30 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c009ad2-796a-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 11:27:28 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB10051.eurprd04.prod.outlook.com (2603:10a6:800:1db::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.17; Thu, 2 Nov
 2023 10:27:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 10: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>
X-Inumbo-ID: 6c009ad2-796a-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d+9CQx+GMV7Ou1WrSbWglI9eEwfPCNzndfmyta7R3AtI5RQ/scl4hONqt8g4Y6+zAN7PkxeggGe+Bi+7vPIFmuJMsf1VZDHE/6hqRjZIiU/rUliSwMkU4hXznfsMwKO0yErjS2nJHUQNfeFqXragVBbWRshcOSy1LrS0XG50y6YWzXSSA1Su3Vapot/jZnop9udHMQA6J2Zi045fRsir19i36JhTnLyDYsQdS5o+GOVFvFkqAFb8hikrE2IwITvuc6BFnEmq1tffdzEzTgSfqjMoOLYc3dkTtqKUJkOW+0SUMALHhZixxwa7QbItNlJFTPLI4IXmN56/0daPvdyu0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2LMVskElm2zKUqZWBjYVOrRPqqXawdoZIw1Szx7bGes=;
 b=dAHbn2hoJjI8rhazAu1CjBAQtZ8pevERkLM5eu2Tt+edapj5A/sIP00dLtvbJIm+upc4c/6489WIXheIGuBWbX8sRPI59NKSzfSHRu/T6YOBaU7igM5CXnn7K7jXdrCfgTTfH4hS1Uq3n6bgch9A2IXPG9udUGX2XckJUy5yhZjfkwtQWmQdZ81nNj4B50lHg3QqxlCRdadRQlhMSik/4cdQSGeSjPOSNTNRz4VWhYvGhsUuppys9bQkw3RIVloRw0Fhp/7M3F5Y1AyUdrIrqYbIi4trHdDf4T2Tq7ZhvsoAtdPGC1OgJb5069bcMXkpSjf5L6G7zrzpG1fKgSUY2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2LMVskElm2zKUqZWBjYVOrRPqqXawdoZIw1Szx7bGes=;
 b=wvLEmLnhkowCdSDSCOqQcNzR/VjnTem0/89ic5q39Dxy4mlXhoURpYZLDph2YkWnLr58jALsnPk/E65cSMnbaFnoa+oza/ed6gIBWmA7+HDmLmUCumDfl6VXtceDvt8+FR2JqTe/zyFY7VLxcrHWc9/ef81NVwo9Hdvi7ZeMWRN2lUuvVD+3yAqg0AK//52iMlJmRZn5ttWn7nrG8LOggPd39MiQ+CqL0huUMCxaGDg7204OGFAQG0fFbFfFZx1543iMewRTMmqaXwyC77ly3ieDRiHe/nK+2VRhUV6YsjND/sB6Wo46RcEhSia6LopIDSfz/yMSMnVbYcojcPbDlg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <895b3bac-6b1e-8379-9c59-5c911428a2bd@suse.com>
Date: Thu, 2 Nov 2023 11:27:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH] xen/lib: remove the overwrtitten string functions
 from x86 build
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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: <c313895654437fe154e989a7d633cca2ccc710d8.1698914967.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c313895654437fe154e989a7d633cca2ccc710d8.1698914967.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0217.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ac::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB10051:EE_
X-MS-Office365-Filtering-Correlation-Id: 84ec361c-f121-47cf-14ee-08dbdb8e4ea1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	r9WVoMHL8tSkXCGxOjBwOxMjX1plj/D9jZ4JealvBh5Fy3lpZCWnb23mople0zUJEHQDpnenmf6qJFMFGQ+OTUMBIzD6FfKtxndNgmNLqWM1mNjPW7UeaiTZyqETPiw/FIVieAOSKRy4p3KYo+D7b30GJbBboOt94Y2T9SsyY6vhnwVmWKjEWGfssi6Q8kp9Efo4U6CZVnJHY3uSbtHVZLAPXKzyewF4qunFhWAQ1gA9SXBLWSrfsHMj1Z/GQNj2RmStIz6KLzYiip0TZkGdyvE8zr9RMnM/B8KqvUGkVQxf3A6MH0ArAi2hgh8QJLWOMeXz+20qjyaIpMwZafZrnDGzZ6we2nASz235Mlx0DBo9dJLwW0YKLIH8Q5qoKYEAtlJSaEIl5del2z+wBchF/orKOM9L/gvjhuynz95WIy5hnenJN9W9QPJAKMoLCAWUnxUYp1hoF6TkeOPRLN0FDlbJi53+076LQF/WjaxUsRR27tWSmiMSYSXbC2v1nZy2Tt+JH3zBlCFikUKrKT/LPAGdO8cgbE1y2VYBtQmNTVa/6DwBy13/+RAQQtaheEijJ2q/oUrR6VwaJD8M67MpYgfTGO5v40d3ogUHLs7jzyWfYEt330/vnLnCrGlPVGGEghlClJpk0fa1HzSLSSq+Qvj3hZJt3efZdIpsQCAAAX8JeispNgEjDmF9cofQWV/G
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(376002)(136003)(346002)(366004)(230922051799003)(230273577357003)(230173577357003)(451199024)(186009)(1800799009)(64100799003)(31696002)(36756003)(86362001)(31686004)(2906002)(6506007)(8676002)(6486002)(6666004)(4744005)(41300700001)(478600001)(6512007)(316002)(4326008)(53546011)(8936002)(66476007)(5660300002)(2616005)(26005)(6916009)(66556008)(38100700002)(66946007)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bm13TE5MSVViNDdvb0RnVnd1R05xUmNsWk0rZ0JPMnlScDNNK0k5MTdIbXpv?=
 =?utf-8?B?L3FPRWs4dkdUakxxdWpNZXMrWk1qVm1adDdZK2dybHdHRXlsMStkK0tvN01V?=
 =?utf-8?B?dldUOGJKSGtyN3QvZUxlU2pmWTlkN2tMbWRqbnZ3VC95NmswNzZTSGdOYWRU?=
 =?utf-8?B?RytSbXVVV2tpUFBnb0V2RjRqZUs4QU1ndWExRlB2cnlGdzFPSi9mZlZTU1Jh?=
 =?utf-8?B?cjd1OHFCSWRNbDRCdW5yVFJSNkNwMzR2aTVERGc3SVdEZ2JISDlmVVp1TnJI?=
 =?utf-8?B?U3ZpdXMwOXlqNXAyMmZHQUFBVVFYbjRzSEFQQ1BNckhCbVE1UFRMR3BBZXdC?=
 =?utf-8?B?OWx1eWR5YkxPSW4vcjZjK3Q3azFUdnJLemgvN2FRUzR2d2hHUVo1MjVnbUdM?=
 =?utf-8?B?YVZqdk9QWFRNUEFKODNBUGRvaWpONjc1c3ZnbTNlWDFXSXJQcjI3N0ZLR1V0?=
 =?utf-8?B?d1RjdytXd2tpL1BKMVhWOGV3UW9rRmV2eW93NXNsOHY5VUNicWMvZ3NWT3Ro?=
 =?utf-8?B?dTdMWmtWWXFTR1doYzNIeUtMMzdMbU1UQTdOb1RFdVMvb1FnK1RVU08xSjJ6?=
 =?utf-8?B?M09GbURQbFB2b1lSdzVyMnhEVDRrYjU3Y0p1UHZCZHNwMXZKYnlIaEcwdUwz?=
 =?utf-8?B?NkVxcVp5dzJXQjFLVWdyYUNuYTByWm4vdmJTQzRxbmF0a2t2SXZ1cEpPWFRu?=
 =?utf-8?B?RVEzaGVGMUNocndpTHViMkNOREtFcFVGZUR0Y0JqbXVmUzRGV2ZxY2E0WVhh?=
 =?utf-8?B?S3R6ZHNzZytIci85cjlpRWZuSVBtckN3ZWR0bWhUUW9teWI3RUl4LzB4SEcw?=
 =?utf-8?B?cFpjNHI1T241aWErZWFCZDZhV0k3UHFwdndHVmk3d21RWjVIbVBaKzhjZnYy?=
 =?utf-8?B?OWtDWHRLUCtydHlzdDVBY3hzL1F2R2d0RFBNc3pRM2hHNTlhczVaVUwyQnh2?=
 =?utf-8?B?TStESC9qOHo5WlN2TktJcWxFS1JUT3lmWTlCWlB4Wi8wQzdIU1NiUUpVM3hi?=
 =?utf-8?B?d0ZaSVBlYU5wRyt0d2d6Y2pZWU0wbGFFY1JRblFRVm4vRTQxNEhYNVo3QVpp?=
 =?utf-8?B?TmlLUk9Gdi9ZRTVxbU1hbWljMFlGdkl3eGJGam84N2l0L2I5Z0tDamFmemdo?=
 =?utf-8?B?ZUVFenIxWjA5UDR0WjB0T1ZmSy8weTVvanQvaHR4bG8vQjZkR1hBSFZmU0ZD?=
 =?utf-8?B?MzZxcVZSeDEzVGF5T1BGVkZ3YTdnVmdZVHlNRDc0eVB4SEJWVG9ZM20rUmtv?=
 =?utf-8?B?S011NWl1R1dzRkxTL1BPRDQvRWlkNkFSOHYrZjR3SkwxVDlhRmMwWmsrUDVJ?=
 =?utf-8?B?WEpGRnNSYnB5VWhDRmQvckY2THkvZWZ2OGhQVzVzelpPQ2wwMG8zQXZwaU1Y?=
 =?utf-8?B?Sk01QnJ1a1ZBczlTTXBnRC9WNnpyWWNEanV6TDAyd1RRN0R3b1l3ZzRQczdj?=
 =?utf-8?B?UE1raUdFNUtrSTFSVzlabnBnUjVHbVE1cmNJNEplQ2dNODBWUWdEQmVMMTdF?=
 =?utf-8?B?R1FOVktNTUFLS1RzemUzY0MrR0Jrd25WTzhhb2xiT1lxUTZTSnhCaUZCbGNt?=
 =?utf-8?B?c0ZNcGZMNUpOT3d2RnJJcTFDaDg4d1dqNWRBVnBqYlQ3YWNhemZYZUgrOHQ3?=
 =?utf-8?B?SFliaFpUUU5xNytGL0h0ekhjS2JHdUU1YjhSM2dHQ3NzN0F0WnRGeGduNDhl?=
 =?utf-8?B?cGJ2V0N3dlVqRXFsaHlzNzY2OGxad2ptT1p1Q0Q1eHY3WDYxVGpJTjU4c1FV?=
 =?utf-8?B?SS9sTFRZV3FCM0F4L0ppcGZ5OC85cG0vcFRmU0k2Q3B1NEk5bkVZR1Z4dGFG?=
 =?utf-8?B?eGVOQ05ZU0I5SFJFcnNKTUdsMnl1bS9sUUJ2K3M3TWJPcU1LZHVwNzVGOE0x?=
 =?utf-8?B?UlRERHhDdEM1UGpSaUtqeGl3WDc5NENmQmhFZVN0aHJkOWVQNTFud0lHdS9F?=
 =?utf-8?B?TkVZMVpLSlZUTHZWU1F6dHgyT1VXMjg5WjczY2YzaXpZY0FlOU0xZG9iUWg1?=
 =?utf-8?B?RFlLK3lKSGdldXZ1R1BROWY0UFZwTVNsRzVSZkkvRC90eStqN0RiNjVMTkFD?=
 =?utf-8?B?TkZzQnQyYVVBN0pDZXMrNE92aU1makJTUFpLQjdXeXYrNlBqVDdFdFd3Z1pt?=
 =?utf-8?Q?9gxwIVf134ENq9dZNO8HaVTR7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 84ec361c-f121-47cf-14ee-08dbdb8e4ea1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 10:27:25.7180
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: t+hW1xU4LfOWez8HjoBHVs1DVUJ3P3u6bzh5JffoZBNqR8INhKxmR2hR2NuyV5d9zTDESYuQWWnSzRpucoF+eQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB10051

On 02.11.2023 11:21, Federico Serafini wrote:
> Remove the generic implementation of memcpy(), memmove() and
> memset() from the x86 build since a version written in asm is present.
> This addesses violations of MISRA C:2012 Rule 8.6 ("An identifier with
> external linkage shall have exactly one external definition").

Yet part of the purpose of the code in lib/ is specifically to be available
as a (uniform) fallback. Nothing from the resulting lib.a is going to be
linked into the final Xen binaries, so I consider Eclair wrong (in some way
at least) to view such symbols as having multiple definitions.

Furthermore, if we really wanted to do conditional building like this, then
what to exclude would want to be determined dynamically, such that it won't
be necessary to keep two (or more) pieces of code in sync.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626835.977456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyUxf-0000uP-D7; Thu, 02 Nov 2023 10:30:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626835.977456; Thu, 02 Nov 2023 10:30: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 1qyUxf-0000tg-8R; Thu, 02 Nov 2023 10:30:03 +0000
Received: by outflank-mailman (input) for mailman id 626835;
 Thu, 02 Nov 2023 10:30: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=7M36=GP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qyUxe-0000dt-2T
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:30:02 +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 c721648d-796a-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 11:30:01 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-32fb1d757f7so31335f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 03:30:01 -0700 (PDT)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 b11-20020a5d4d8b000000b0032d8354fb43sm2041299wru.76.2023.11.02.03.30.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Nov 2023 03:30: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: c721648d-796a-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1698921000; x=1699525800; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=yccH37pLgrndCu7FCdF+BpM0+THtRg5nnyRwQ3fPyvA=;
        b=eyLAuGCylIp4imbZmsiwArsu9eI9IdbJdQnFaLJf7U0viFj2s4gfZiSP2sT8TmI50p
         CJN+yT0AdxKFlVOyUMTFMouON6qroDLkD2JOXq0rl7VgMp9mpee0hs+sMJag2TKcBp7Z
         B+NA2gfVk5tWpEwKZn6AT9uHo2BcgsNM3YZhI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698921000; x=1699525800;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=yccH37pLgrndCu7FCdF+BpM0+THtRg5nnyRwQ3fPyvA=;
        b=CuN7+wfHV0IXCR5dGLDezwtdJT3EV1qutcQ6N8T0sj8qJHXXTCgmkOZMrFziOFsMsu
         YUtSSPunYwr5ZHOFzJeCJK4r09Ln7QOwQpMqBBda89yqhosobPTEJ1BP4yCkT+30G0rp
         wDVJpgoc7lNfiEoblmiGSlR2Xwhg6OZSSwkCaqjV7PKmRxyV2FHQ6kBB18UWlgj12GAy
         StoGYNmwKmCuies/i6k758WS7RQAZNEY1SFL/QN4tVQ5wtt8npXXoLhLZ4pcWuHzdNao
         TAaEASaP9A4x82X71McEG8xOrxktN4IU4bXWBUz2pJpFBML+wuXGFwE6gbl2mpTRVQQ6
         Zzfg==
X-Gm-Message-State: AOJu0YwEdh8p0lbSOCOqvT2DGXQA2VLkvdQhg70CrV4dbE93hwaPMt3n
	ZkjWWoeREyrHSJ1JoAxrYXwSBQ==
X-Google-Smtp-Source: AGHT+IFax1h/3qo2rp+/fHSOnQ4Cn0bsuAAvrdtLBpAKceEWpFYr5Di4TFH34FGDaSDHuKM7Qg1vew==
X-Received: by 2002:a05:6000:1849:b0:32f:7acd:8743 with SMTP id c9-20020a056000184900b0032f7acd8743mr13165090wri.11.1698921000614;
        Thu, 02 Nov 2023 03:30:00 -0700 (PDT)
Message-ID: <fd55a636-094f-4c9a-b57c-44fcefa1eb20@citrix.com>
Date: Thu, 2 Nov 2023 10:29:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] xen/lib: remove the overwrtitten string functions
 from x86 build
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.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: <c313895654437fe154e989a7d633cca2ccc710d8.1698914967.git.federico.serafini@bugseng.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <c313895654437fe154e989a7d633cca2ccc710d8.1698914967.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/11/2023 10:21 am, Federico Serafini wrote:
> Remove the generic implementation of memcpy(), memmove() and
> memset() from the x86 build since a version written in asm is present.
> This addesses violations of MISRA C:2012 Rule 8.6 ("An identifier with
> external linkage shall have exactly one external definition").
>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

As I said on one of the previous calls, this is an error in analysis,
not a bug in Xen.

The behaviour when linking a library is well defined by the toolchain. 
Disassemble the final hypervisor and observe that there really is only
one implementation, and it's always the arch-optimised version when both
exist.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:43:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:43:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626840.977466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyVAW-0004Gq-G1; Thu, 02 Nov 2023 10:43:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626840.977466; Thu, 02 Nov 2023 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 1qyVAW-0004Gj-D9; Thu, 02 Nov 2023 10:43:20 +0000
Received: by outflank-mailman (input) for mailman id 626840;
 Thu, 02 Nov 2023 10:43:19 +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 1qyVAV-0004Gd-Lh
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:43:19 +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 1qyVAV-0001ob-4o; Thu, 02 Nov 2023 10:43:19 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.12.44]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qyVAU-0003yi-TI; Thu, 02 Nov 2023 10:43: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=R+l6Xp/3Gms1+FpXyRLBY0HurX3tx2uJobuuSOkpZtc=; b=0Bzh1hl6149ugTgo/l1md+pM2G
	yd/d3bOnP+KnXaM0zP6bTg5UG29a5zDJ0bXm/4I6akzLw8tP8pUEE2c59iWgAyg+pM48pcCYvxqu0
	Z+fVxwQRVpBu9v75kuoM2hYvtztYWqAhjS+Wn4j9cQJDOsRDnoh/eBpkx3Xxcd6Qc53Q=;
Message-ID: <96d4fd1e-5910-49c5-95d9-cc224b6d4ce7@xen.org>
Date: Thu, 2 Nov 2023 10:43:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/arm32: head: Improve logging in head.S
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com, ayan.kumar.halder@amd.com,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231101233011.83098-1-julien@xen.org>
 <20231101233011.83098-3-julien@xen.org>
 <58a2c0a3-8cb0-473d-a90a-21f8d27b9206@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <58a2c0a3-8cb0-473d-a90a-21f8d27b9206@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 02/11/2023 10:23, Michal Orzel wrote:
> Hi Julien,

Hi Michal,

> On 02/11/2023 00:30, Julien Grall wrote:
>>
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> The sequence to enable the MMU on arm32 is quite complex as we may need
>> to jump to a temporary mapping to map Xen.
>>
>> Recently, we had one bug in the logic (see f5a49eb7f8b3 ("xen/arm32:
>> head: Add mising isb in switch_to_runtime_mapping()") and it was
>> a pain to debug because there are no logging.
>>
>> In order to improve the logging in the MMU switch we need to add
>> support for early printk while running on the identity mapping
>> and also on the temporary mapping.
>>
>> For the identity mapping, we have only the first page of Xen mapped.
>> So all the strings should reside in the first page. For that purpose
>> a new macro PRINT_ID is introduced.
>>
>> For the temporary mapping, the fixmap is already linked the temporary
>> area (and so does the UART). So we just need to update the register
>> storing the UART address (i.e. r11) to point to the UART temporary
>> mapping.
>>
>> Take the opportunity to introduce mov_w_on_cond in order to
>> conditionally execute mov_w and avoid branches.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>> ---
>>   xen/arch/arm/arm32/head.S               | 68 ++++++++++++++++++++-----
>>   xen/arch/arm/include/asm/asm_defns.h    |  6 ++-
>>   xen/arch/arm/include/asm/early_printk.h |  3 ++
>>   xen/arch/arm/include/asm/mmu/layout.h   |  4 ++
>>   xen/arch/arm/mm.c                       |  5 ++
>>   xen/arch/arm/xen.lds.S                  |  1 +
>>   6 files changed, 71 insertions(+), 16 deletions(-)
>>
>> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
>> index fec2433e568f..bd61521a9dea 100644
>> --- a/xen/arch/arm/arm32/head.S
>> +++ b/xen/arch/arm/arm32/head.S
>> @@ -46,9 +46,13 @@
>>    * Move an immediate constant into a 32-bit register using movw/movt
>>    * instructions.
>>    */
>> +.macro mov_w_on_cond cond, reg, word
>> +        movw\cond  \reg, #:lower16:\word
>> +        movt\cond  \reg, #:upper16:\word
>> +.endm
>> +
>>   .macro mov_w reg, word
>> -        movw  \reg, #:lower16:\word
>> -        movt  \reg, #:upper16:\word
>> +        mov_w_on_cond al, \reg, \word
>>   .endm
>>
>>   /*
>> @@ -104,16 +108,26 @@
>>    */
>>   #ifdef CONFIG_EARLY_PRINTK
>>   /*
>> - * Macro to print a string to the UART, if there is one.
>> + * Macros to print a string to the UART, if there is one.
>> + *
>> + * There are multiple flavors:
>> + *  - PRINT_SECT(section, string): The @string will be located in @section
>> + *  - PRINT(): The string will be located in .rodata.str.
>> + *  - PRINT_ID(): When Xen is running on the Identity Mapping, it is
>> + *    only possible to have a limited amount of Xen. This will create
>> + *    the string in .rodata.idmap which will always be mapped.
>>    *
>>    * Clobbers r0 - r3
>>    */
>> -#define PRINT(_s)           \
>> -        mov   r3, lr       ;\
>> -        adr_l r0, 98f      ;\
>> -        bl    puts         ;\
>> -        mov   lr, r3       ;\
>> -        RODATA_STR(98, _s)
>> +#define PRINT_SECT(section, string)         \
>> +        mov   r3, lr                       ;\
>> +        adr_l r0, 98f                      ;\
>> +        bl    puts                         ;\
>> +        mov   lr, r3                       ;\
>> +        RODATA_SECT(section, 98, string)
>> +
>> +#define PRINT(string) PRINT_SECT(.rodata.str, string)
>> +#define PRINT_ID(string) PRINT_SECT(.rodata.idmap, string)
>>
>>   /*
>>    * Macro to print the value of register \rb
>> @@ -129,6 +143,7 @@
>>
>>   #else /* CONFIG_EARLY_PRINTK */
>>   #define PRINT(s)
>> +#define PRINT_ID(s)
>>
>>   .macro print_reg rb
>>   .endm
>> @@ -183,11 +198,6 @@ past_zImage:
>>           bl    check_cpu_mode
>>           bl    cpu_init
>>           bl    create_page_tables
>> -        /* Add the UART mapping if requested */
>> -#ifdef CONFIG_EARLY_PRINTK
>> -        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
>> -        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
>> -#endif
> I think that patch no.1 should move the mapping into init_uart right away. This way
> the issue I mentioned in that patch will be fixed and there will be no need to remove the code
> introduced just before.

Correct. I folded the fix in the wrong patch.

> 
>>
>>           /* Address in the runtime mapping to jump to after the MMU is enabled */
>>           mov_w lr, primary_switched
>> @@ -593,6 +603,21 @@ enable_mmu:
>>           mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
>>           isb                          /* Now, flush the icache */
>>
>> +        /*
>> +         * At this stage, the UART address will depend on whether the
>> +         * temporary mapping was created or not.
>> +         *
>> +         * If it was, then the UART will be mapped in the temporary
>> +         * area. Otherwise, it will be mapped at runtime virtual
>> +         * mapping.
>> +         */
>> +#ifdef CONFIG_EARLY_PRINTK
>> +        teq   r12, #1               /* Was the temporary mapping created? */
>> +        mov_w_on_cond eq, r11, TEMPORARY_EARLY_UART_VIRTUAL_ADDRESS
> Shouldn't the clobber list be updated?
> 
>> +        mov_w_on_cond ne, r11, EARLY_UART_VIRTUAL_ADDRESS
>> +#endif
>> +        PRINT_ID("- Paging turned on -\r\n")
>> +
>>           /*
>>            * The MMU is turned on and we are in the 1:1 mapping. Switch
>>            * to the runtime mapping.
>> @@ -643,12 +668,14 @@ switch_to_runtime_mapping:
>>           teq   r12, #0
>>           beq   ready_to_switch
>>
>> +        PRINT_ID("- Switching to the temporary mapping -\r\n")
>>           /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
>>           mov_w r0, 1f
>>           add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
>>           mov   pc, r0
>>
>>   1:
>> +        PRINT("- Running on the temporary mapping  -\r\n")
>>           /* Remove boot_second_id */
>>           mov   r2, #0
>>           mov   r3, #0
>> @@ -659,6 +686,8 @@ switch_to_runtime_mapping:
>>
>>           flush_xen_tlb_local r0
>>
>> +        PRINT("- 1:1 mapping removed -\r\n")
>> +
>>           /* Map boot_second into boot_pgtable */
>>           mov_w r0, XEN_VIRT_START
>>           create_table_entry boot_pgtable, boot_second, r0, 1
>> @@ -671,7 +700,10 @@ switch_to_runtime_mapping:
>>            */
>>           isb
>>
>> +        PRINT("- Runtime mapping mapped -\r\n")
>>   ready_to_switch:
>> +        PRINT("- Jumping to runtime address -\r\n")
> This is causing a boot hang in a configuration where there is no need for temporary mapping.
> In that case, we are still in 1:1 map and should use PRINT_ID

Good point. I will switch.

> 
>> +
>>           mov   pc, lr
>>   ENDPROC(switch_to_runtime_mapping)
>>
>> @@ -795,6 +827,14 @@ init_uart:
>>           early_uart_init r11, r1, r2
>>   #endif
>>           PRINT("- UART enabled -\r\n")
>> +
>> +        /*
>> +         * Add the UART mapping to the fixmap so the UART can be used
>> +         * as the MMU is on.
>> +         */
>> +        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
>> +        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
> Shouldn't the clobber list be updated to include r4?

It should.

> 
>> +
>>           mov   pc, lr
>>   ENDPROC(init_uart)
>>
>> diff --git a/xen/arch/arm/include/asm/asm_defns.h b/xen/arch/arm/include/asm/asm_defns.h
>> index 29a9dbb002fa..ec803c0a370c 100644
>> --- a/xen/arch/arm/include/asm/asm_defns.h
>> +++ b/xen/arch/arm/include/asm/asm_defns.h
>> @@ -22,11 +22,13 @@
>>   # error "unknown ARM variant"
>>   #endif
>>
>> -#define RODATA_STR(label, msg)                  \
>> -.pushsection .rodata.str, "aMS", %progbits, 1 ; \
>> +#define RODATA_SECT(section, label, msg)         \
>> +.pushsection section, "aMS", %progbits, 1 ;     \
>>   label:  .asciz msg;                             \
>>   .popsection
>>
>> +#define RODATA_STR(label, msg) RODATA_SECT(.rodata.str, label, msg)
>> +
>>   #define ASM_INT(label, val)                 \
>>       .p2align 2;                             \
>>   label: .long (val);                         \
>> diff --git a/xen/arch/arm/include/asm/early_printk.h b/xen/arch/arm/include/asm/early_printk.h
>> index c5149b2976da..c1e84f8b0009 100644
>> --- a/xen/arch/arm/include/asm/early_printk.h
>> +++ b/xen/arch/arm/include/asm/early_printk.h
>> @@ -19,6 +19,9 @@
>>   #define EARLY_UART_VIRTUAL_ADDRESS \
>>       (FIXMAP_ADDR(FIXMAP_CONSOLE) + (CONFIG_EARLY_UART_BASE_ADDRESS & ~PAGE_MASK))
>>
>> +#define TEMPORARY_EARLY_UART_VIRTUAL_ADDRESS \
>> +    (TEMPORARY_FIXMAP_ADDR(FIXMAP_CONSOLE) + (CONFIG_EARLY_UART_BASE_ADDRESS & ~PAGE_MASK))
>> +
>>   #endif /* !CONFIG_EARLY_PRINTK */
>>
>>   #endif
>> diff --git a/xen/arch/arm/include/asm/mmu/layout.h b/xen/arch/arm/include/asm/mmu/layout.h
>> index da6be276ac5f..68855c4f3184 100644
>> --- a/xen/arch/arm/include/asm/mmu/layout.h
>> +++ b/xen/arch/arm/include/asm/mmu/layout.h
>> @@ -113,6 +113,10 @@
>>         (TEMPORARY_AREA_FIRST_SLOT << XEN_PT_LEVEL_SHIFT(1)))
>>
>>   #define TEMPORARY_XEN_VIRT_START    TEMPORARY_AREA_ADDR(XEN_VIRT_START)
>> +#define TEMPORARY_FIXMAP_VIRT_START TEMPORARY_AREA_ADDR(FIXMAP_VIRT_START)
>> +
>> +#define TEMPORARY_FIXMAP_ADDR(n)                    \
>> +     (TEMPORARY_FIXMAP_VIRT_START + (n) * PAGE_SIZE)
>>
>>   #else /* ARM_64 */
>>
>> diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
>> index c34cc94c907a..6ffa45c53be6 100644
>> --- a/xen/arch/arm/mm.c
>> +++ b/xen/arch/arm/mm.c
>> @@ -193,7 +193,12 @@ static void __init __maybe_unused build_assertions(void)
>>   #ifdef CONFIG_ARM_32
>>       CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
>>       CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
>> +    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START,
>> +                    TEMPORARY_FIXMAP_VIRT_START);
>> +    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START,
>> +                    TEMPORARY_FIXMAP_VIRT_START);
> duplicated entry?

Yes it is duplicated.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:56:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626844.977476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyVN0-0007gr-KS; Thu, 02 Nov 2023 10:56:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626844.977476; Thu, 02 Nov 2023 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 1qyVN0-0007gk-H8; Thu, 02 Nov 2023 10:56:14 +0000
Received: by outflank-mailman (input) for mailman id 626844;
 Thu, 02 Nov 2023 10:56: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 1qyVMz-0007ge-Lk
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:56: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 1qyVMz-00022q-3q; Thu, 02 Nov 2023 10:56:13 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.12.44]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qyVMy-0004Z0-Tb; Thu, 02 Nov 2023 10:56: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=w+zlhcyZSz/cZVH69Ah5ltNKo1jpjAn6CgZjeNsDIPg=; b=mnq4zw7ygSmzv4H4mZotfyTX1b
	LcjBYuQFtym9dfpRR4eP18aO3qreY8slcPjG6IbxNuoeFPrtm+B++pUCuWFJbnlPGuxqk2IewVg4o
	r2CiTyFKNEztR5fOd4Ok2MSl4zmClLkRDMzmNzTHNrvL2o4ZtDAGLmUde9b43CluuKAw=;
Message-ID: <2fae1a6d-c1cc-4386-96af-ece2c27dc541@xen.org>
Date: Thu, 2 Nov 2023 10:56:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] xen/arm32: head: Improve logging in head.S
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com, ayan.kumar.halder@amd.com,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231101233011.83098-1-julien@xen.org>
 <20231101233011.83098-3-julien@xen.org>
 <58a2c0a3-8cb0-473d-a90a-21f8d27b9206@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <58a2c0a3-8cb0-473d-a90a-21f8d27b9206@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 02/11/2023 10:23, Michal Orzel wrote:
>>           /* Address in the runtime mapping to jump to after the MMU is enabled */
>>           mov_w lr, primary_switched
>> @@ -593,6 +603,21 @@ enable_mmu:
>>           mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
>>           isb                          /* Now, flush the icache */
>>
>> +        /*
>> +         * At this stage, the UART address will depend on whether the
>> +         * temporary mapping was created or not.
>> +         *
>> +         * If it was, then the UART will be mapped in the temporary
>> +         * area. Otherwise, it will be mapped at runtime virtual
>> +         * mapping.
>> +         */
>> +#ifdef CONFIG_EARLY_PRINTK
>> +        teq   r12, #1               /* Was the temporary mapping created? */
>> +        mov_w_on_cond eq, r11, TEMPORARY_EARLY_UART_VIRTUAL_ADDRESS
> Shouldn't the clobber list be updated?

I missed this comment. I understand it will get clobbered today, but 
thinking a bit more, I would actually prefer if r11 is updated to 
EARLY_UART_ADDRESS just right after calling switch_to_runtime_mapping.

So we can add more prints in remove_identity_mapping() and 
remove_temporary_mapping().

I will have a look to update this patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:56:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:56:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626846.977485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyVNd-0008Ou-S3; Thu, 02 Nov 2023 10:56:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626846.977485; Thu, 02 Nov 2023 10:56: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 1qyVNd-0008Ol-PQ; Thu, 02 Nov 2023 10:56:53 +0000
Received: by outflank-mailman (input) for mailman id 626846;
 Thu, 02 Nov 2023 10:56: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 1qyVNc-0008NB-EK
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:56: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 1qyVNc-00023a-3F; Thu, 02 Nov 2023 10:56:52 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.12.44]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qyVNb-0004Z0-Tc; Thu, 02 Nov 2023 10:56: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=SJi0UlDtRi+udPA4Kz4MGbTj//6wpAVOWVMdd9vpL6w=; b=HxMdOLlucK+S6CD+jV6cll7RU+
	RkJhqi6HlDYeXD8CPnJAOm1oTfFBobyOGYqZeJjfKgYhn41z0FUbzPhxlLvaFae2yTfDG4J4m4AMR
	BRdv8c+Muy8imSYe62GdvLO+odntlh4k+5jDoiLF8FMleWqSO/ipQ0rPHH2FW5RWogM4=;
Message-ID: <2ee2d567-3bb4-4769-bcd9-1d5e4cfbb850@xen.org>
Date: Thu, 2 Nov 2023 10:56:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/arm32: head: Rework how the fixmap and early UART
 mapping are prepared
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231101233011.83098-1-julien@xen.org>
 <20231101233011.83098-2-julien@xen.org>
 <FAB1A89E-0F0A-4410-80DC-F8DD1EC8ADE6@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <FAB1A89E-0F0A-4410-80DC-F8DD1EC8ADE6@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 02/11/2023 02:29, Henry Wang wrote:
> Hi Julien,
> 
>> On Nov 2, 2023, at 07:30, Julien Grall <julien@xen.org> wrote:
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Since commit 5e213f0f4d2c ("xen/arm32: head: Widen the use of the
>> temporary mapping"), boot_second (used to cover regions like Xen and
>> the fixmap) will not be mapped if the identity mapping overlap.
>>
>> So it is ok to prepare the fixmap table and link it in boot_second
>> earlier. With that, the fixmap can also be used earlier via the
>> temporary mapping.
>>
>> Therefore split setup_fixmap() in two:
>>     * The table is now linked in create_page_tables() because
>>       the boot page tables needs to be recreated for every CPU.
>>     * The early UART mapping is only added for the boot CPU0 as the
>>       fixmap table is not cleared when secondary CPUs boot.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>> ---
>> xen/arch/arm/arm32/head.S | 48 ++++++++-------------------------------
>> 1 file changed, 9 insertions(+), 39 deletions(-)
>>
>> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
>> index 33b038e7e0ca..fec2433e568f 100644
>> --- a/xen/arch/arm/arm32/head.S
>> +++ b/xen/arch/arm/arm32/head.S
>> @@ -183,12 +183,16 @@ past_zImage:
>>          bl    check_cpu_mode
>>          bl    cpu_init
>>          bl    create_page_tables
>> +        /* Add the UART mapping if requested */
>> +#ifdef CONFIG_EARLY_PRINTK
>> +        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
>> +        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
> 
> I tried to test this series today and found a corner case in this patch:
> 
> If we build Xen only with this patch, and CONFIG_EARLY_PRINTK=y, we
> will get below from compiler:
> 
> ```
> arch/arm/arm32/head.S: Assembler messages:
> arch/arm/arm32/head.S:189: Error: bad instruction `create_mapping_entry xen_fixmap,r0,r11,type=0xe73'
> make[3]: *** [Rules.mk:253: arch/arm/arm32/head.o] Error 1
> ```
> 
> With the second patch applied, the above error will disappear and I confirm
> arm32 will work fine with both patch applied + either CONFIG_EARLY_PRINTK={y,n}.

Thanks for testing. Yes I merged one hunk into the wrong patch. I will 
re-order the code.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 10:57:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 10:57:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626849.977495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyVOZ-0000lj-4P; Thu, 02 Nov 2023 10:57:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626849.977495; Thu, 02 Nov 2023 10:57: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 1qyVOZ-0000lc-1X; Thu, 02 Nov 2023 10:57:51 +0000
Received: by outflank-mailman (input) for mailman id 626849;
 Thu, 02 Nov 2023 10:57: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 1qyVOX-0000lW-Qq
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 10:57: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 1qyVOX-00027S-I0; Thu, 02 Nov 2023 10:57:49 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.12.44]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qyVOX-0004Z0-Bt; Thu, 02 Nov 2023 10:57: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=rNY1Y+KMu/4A2keWOlbEuyFwP8ASD43ilm5i62YfBoc=; b=s+q4E5gi2J2CmKs9tUmVtb23hY
	kNnlM2G+uBt6ymZs0P9FUVTOFYNd4r4+7KoSF5F8ApKt8gvOBrTumSpEtXpffLyDf58K2MsmFnnJl
	E9pd3VF8Ie5+jqWwGb2Q1rhoCgEcxcPvQWQAyTYgnMcs75rHlel8b3cxRd5Q8bnCcFHQ=;
Message-ID: <b0a9d158-4732-4f9f-96f9-4062cc5d0bea@xen.org>
Date: Thu, 2 Nov 2023 10:57:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] xen/arm32: head: Rework how the fixmap and early UART
 mapping are prepared
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com, ayan.kumar.halder@amd.com,
 Julien Grall <jgrall@amazon.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231101233011.83098-1-julien@xen.org>
 <20231101233011.83098-2-julien@xen.org>
 <5936b2cc-f89f-4e7e-82cf-daaee4cf35ce@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5936b2cc-f89f-4e7e-82cf-daaee4cf35ce@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 02/11/2023 09:29, Michal Orzel wrote:
> On 02/11/2023 00:30, Julien Grall wrote:
>>
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Since commit 5e213f0f4d2c ("xen/arm32: head: Widen the use of the
>> temporary mapping"), boot_second (used to cover regions like Xen and
>> the fixmap) will not be mapped if the identity mapping overlap.
>>
>> So it is ok to prepare the fixmap table and link it in boot_second
>> earlier. With that, the fixmap can also be used earlier via the
>> temporary mapping.
>>
>> Therefore split setup_fixmap() in two:
>>      * The table is now linked in create_page_tables() because
>>        the boot page tables needs to be recreated for every CPU.
>>      * The early UART mapping is only added for the boot CPU0 as the
>>        fixmap table is not cleared when secondary CPUs boot.
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>> ---
>>   xen/arch/arm/arm32/head.S | 48 ++++++++-------------------------------
>>   1 file changed, 9 insertions(+), 39 deletions(-)
>>
>> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
>> index 33b038e7e0ca..fec2433e568f 100644
>> --- a/xen/arch/arm/arm32/head.S
>> +++ b/xen/arch/arm/arm32/head.S
>> @@ -183,12 +183,16 @@ past_zImage:
>>           bl    check_cpu_mode
>>           bl    cpu_init
>>           bl    create_page_tables
>> +        /* Add the UART mapping if requested */
>> +#ifdef CONFIG_EARLY_PRINTK
>> +        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
>> +        create_mapping_entry xen_fixmap, r0, r11, type=PT_DEV_L3
> When building this patch, I'm getting a "Bad instruction" build error.
> Quick look shows that you are trying to use the macro create_mapping_entry before macro definition.
> Unless, I'm using a different baseline (latest staging) than you, this needs to be fixed.

You are using the correct baseline. I have just ended up fix the build 
in patch #2 by mistake. I will move the change here.

> 
> Apart from that:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Thanks!

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 11:15:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 11:15:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626857.977506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyVfy-0004eP-Nb; Thu, 02 Nov 2023 11:15:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626857.977506; Thu, 02 Nov 2023 11:15: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 1qyVfy-0004eI-Kx; Thu, 02 Nov 2023 11:15:50 +0000
Received: by outflank-mailman (input) for mailman id 626857;
 Thu, 02 Nov 2023 11:15: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=wS6e=GP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qyVfx-0004eC-Pb
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 11:15:49 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ac339e5-7971-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 12:15:45 +0100 (CET)
Received: from AM0PR04CA0143.eurprd04.prod.outlook.com (2603:10a6:208:55::48)
 by PAVPR08MB9649.eurprd08.prod.outlook.com (2603:10a6:102:310::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Thu, 2 Nov
 2023 11:15:42 +0000
Received: from AMS0EPF000001A7.eurprd05.prod.outlook.com
 (2603:10a6:208:55:cafe::6b) by AM0PR04CA0143.outlook.office365.com
 (2603:10a6:208:55::48) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21 via Frontend
 Transport; Thu, 2 Nov 2023 11:15:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A7.mail.protection.outlook.com (10.167.16.234) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 11:15:40 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Thu, 02 Nov 2023 11:15:40 +0000
Received: from 8dc625f13b2f.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E31F48B7-6DF8-4CBA-AE79-6DDF4542E0C1.1; 
 Thu, 02 Nov 2023 11:15:29 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8dc625f13b2f.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Nov 2023 11:15:29 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB7392.eurprd08.prod.outlook.com (2603:10a6:10:353::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Thu, 2 Nov
 2023 11:15:26 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866%3]) with mapi id 15.20.6954.021; Thu, 2 Nov 2023
 11: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: 2ac339e5-7971-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=WhiEiM9AMZcHpVRobSGz+fhkfF/8QR2nlIlPdslEXK/OKTIruNaKTtFV6cK0UeY03MQEEpVUVNzSqgd8eY9krwVpbm3GFTZj1igdx12GZRyNBe97IQ0Ga7G3gn8ZKTT2f/NXwue+KYAzK49by0JQO6Q95tt8uSgHKiqDIVi8Ku+VsOM33Moq6+egGJpIPpsGzyez7NEQgGXs7PhjvoqsY9CCKACDMVRszuDWnOD8muPBsOMaSFZXdcy1C7VgpySJP2bVSFzyGBe9J6HH6KzDCjyRsRywuql9Na4YC83duDn5f5gQPTiN/caWwUqsp03o1oe3xGAIIqITZ0nSvtDJPw==
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=ij4llLYRvzJoeeCMyPmnoP//UnQFLv2i3Iz6lGsUXlk=;
 b=BeAk1I+RAPMc+1GO19W9KSXIUS48J1nK6fFAVorb2FPgNT/ofnCaTmKtqxpBVrcqxQ1lY3Kag42Cn6R7RTOTeWr3Y+gy9hnlwq29kL+fuMfSP66I33kr6929RuuskM0CyP79XyhaUFV/Vhn5US8In/BKZD7UZ668t0WimcsOxfS06fpux/YVn9SivBG6SZMoXD140ZgMTR7pdMreQF0rdIc1YaW9j/Ow2NjUMP4zldqx9AbzEwQidm3JoQTBsfgyCXLaRm4ZGXHGSur5pJd3l/rvocvEpgPKJS/GfsIcJR4tegvlDJMeXZc7k7urhTvmFPI7z1uG0BSj4ZOP4bmaIw==
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=ij4llLYRvzJoeeCMyPmnoP//UnQFLv2i3Iz6lGsUXlk=;
 b=KbKMgJsSqKMt7WJt3O+o2K2q7Sah8gjc0Am088ynogaMED0hZv8o9ultZjOetQnAwI/l6JoVqCkRDUh2Nuynn+jHbYE1kvP+sLw5PM5IFX4LLnJWNiMd+7xlKWBajTuFkaAHxzVzoiIFgsBbjmP6Bed+gA5f+X0B9s/pkVHScEI=
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: 87e44249aaf424df
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FwbEhRITkqfMglOI34NsHtancemB0pI31mNasDBfreyll578OlZWz/8oHLsvFxq1WEHWVtStaFSGW9kDk6pLwOyHtkMsXMuUrWA50VzjHkhMBKdeDagxky95xv7/RGJPYt1klkiwjIcH2hTTP6VTiS7AvqeH8kP16zASbSVgBnkwmH5qtq5gSJ6/OZp90mTafXAxMUKtCzIrWsm1flh2PaOhO+MK6TTZXtMnb7LkaIIvh0S117kUruhNsYXhZ1dy7dsY/yEAseWRLpUD5LKzqGT/D7q7WpeJDmUkcITT+PyrBdsoAoPXG2Nut7rOquJdnGWAL1Nk82e8CG3TgmAskg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ij4llLYRvzJoeeCMyPmnoP//UnQFLv2i3Iz6lGsUXlk=;
 b=EXvDUN2nBtUjwEBFVARWibhTY8n0ifvTcYYs1QW5NdYdQGmzMfftZDIThH8RO+akcrwumC5defEUbLaZfSlm1TQL/PYH5cpG8vJmiYidBupsIfVAb/uNLVhFB1C7vZTmEILqazxupwcXtpG9Xhcm0U3XhyeRJwskuAZgbX0ytlacHVAm/05UQnwi1a7HLwIR8W6FVA497TuqxGO6+Vyx+1AbOrsLks1P8rxURfCA/3ZUd80rS+Ated4Nv8MvQaH5ImQjFetyq6UIN3UDNANywREezdILODV5pEDsSgIW6cfNlv6Um7w6NPJhQ/j946613MdjUn4ZS3CQY3BhPmxjSg==
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=ij4llLYRvzJoeeCMyPmnoP//UnQFLv2i3Iz6lGsUXlk=;
 b=KbKMgJsSqKMt7WJt3O+o2K2q7Sah8gjc0Am088ynogaMED0hZv8o9ultZjOetQnAwI/l6JoVqCkRDUh2Nuynn+jHbYE1kvP+sLw5PM5IFX4LLnJWNiMd+7xlKWBajTuFkaAHxzVzoiIFgsBbjmP6Bed+gA5f+X0B9s/pkVHScEI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v2 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Topic: [PATCH v2 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Index: AQHZ8UtNgBNI2koBH0+cEATmTDiuOrBmBjGAgAES7gA=
Date: Thu, 2 Nov 2023 11:15:26 +0000
Message-ID: <00D15160-A5C1-4A42-A11E-9A9282676653@arm.com>
References: <20230927140133.631192-1-luca.fancellu@arm.com>
 <20230927140133.631192-4-luca.fancellu@arm.com>
 <ac71e580-3d81-4024-b19c-d3d954df5948@xen.org>
In-Reply-To: <ac71e580-3d81-4024-b19c-d3d954df5948@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB7392:EE_|AMS0EPF000001A7:EE_|PAVPR08MB9649:EE_
X-MS-Office365-Filtering-Correlation-Id: db2107a9-9d0e-4cfc-1cb3-08dbdb950c88
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:
 8TXN/MUu+1dv5F61a7pRHX/tF5hfO5VUYP8zI6yt1rwMNqEP9q//sZW88oEAOHRYoqqocPPQc1merYpWiGmokU+O6JFBQ9EbdehoXjB9dAwWcCCS7Fqmb7X8IXWY0+A94MzWKBGyrzWDhwFrqaHe2TG/XWga3MsHOABnj8UI8g86dA8mBWoIK8BUeuU/KMUVt+QRJhDEAecPVOCZ2cWckOX5ocNj7orRfloQCJG5Zz2ZshKJjtMZID6oR31T+aCYi8HPz0vnSUa6PM3U/FqHIYHRtt8qLsS7KPZcGg8pctTpl2U5ESmXVVGUdNtEz5l+dtnLSDI5XGeb7R3JQDEdaOun+fZFfzKxygB0cq34MRxWAAHwHgeUw5uQuws5KFgQgpRIPMNDkhg6Cc478eR2kYquv2x60M6cOu773HIRprSEHG7Wmi15sO9NjmEsGYGRhWuJeFsew7v6GubCKyKEK9gy/ymb6IsEgBdg9+JAtdgpCjZtrhBXWjhxp3A3qiAEMwLdyY1hgE6isaFVFpDE0H63dK3m6GvNHCJm6fsHgGzL8LFe8B0CpTrX41XRv6D5kmTVE1oFbGG1Z6C/P+BrB0S2yKnoIyBXLCHK18Y1ME30XUwnohd0UMVe4aDmyKk4qhoHjfUXo/0A+F8D8GpnO99dxWpsNX7euuUAwH6r3qc=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(396003)(376002)(366004)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(8676002)(8936002)(4326008)(91956017)(54906003)(64756008)(66446008)(66476007)(76116006)(66946007)(6916009)(66556008)(316002)(5660300002)(2906002)(122000001)(83380400001)(6486002)(478600001)(41300700001)(26005)(86362001)(6506007)(71200400001)(2616005)(33656002)(36756003)(6512007)(38100700002)(38070700009)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <78A3CCAD2393444F8FA5A115837A750A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7392
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:
 AMS0EPF000001A7.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3154e6d9-c714-44b9-4c3a-08dbdb9503dc
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AOQbAgCI+ePonP9gl6EAOnvwAdnL9MZoTUjpB694v8ol4mBmlP1L8F+ZpenpS6OsJjDbnpahKd2rU2/g6sHyxNgEoE46PGqfcezJBztGEdim//M6P3PhtjXe44p3vr4s4fbRENjqWleSe7kurDCUHq5aK/+4y/iK88NRHPBdb3t2JfFY6AiCh46t68M7sHQ8VMtHa27AwdoCvKKdD6K35mMiyiut/0eggAlmT6PsSZW3c76tSp6LboHI+Jep2rptX+OSDIQqr0LYV/zBE1qweLGHpG9KPYl0c0T2W1IDafpz0B2vtnlx6IaZysn/JNRGbjbXpVpYRqmi1jmuIeTnM9R2J3GNJWTQfwWZpcXf9TQfmiddib0pDSG2SdwbFVAMINglt4xrH0+nzpv1Fk4dGUrX+Gyr3J90PPUtW68E6npqkMZAFziE6AzKFAnbds6Of7cAuquoMiOGLZkE6GH+yE5sHf1/pl86pg1wNkT1yp6m2x689ODJWJcr+R86GUE1ksOFQVZR+bvxR/wcDiw84zVQI1M82wp4H3U/3/fAGgHO3nkCt+dqAKshxaqPoRVB5cffiubLtBGJdlbLZbwYbEuk56CGuSsGwUY9Emm7/6kKHAOGiqr1Mq6WotEcqlbzveTBf5gl32v9dSy4f24nvB3mXBAz+aZX7rlRVq2i9Q1TQ/6uSfXJvGrBP9sK8JBXbtx1BDf5h3LNJtwMUJcYoW5LsZvN6u4nEgld0GTY6Er5mPYLi5N2pqAmpjwfABwKT9MdbqeNDFJ7KqBlgNUgYg==
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:(13230031)(4636009)(39860400002)(136003)(396003)(346002)(376002)(230922051799003)(451199024)(64100799003)(1800799009)(82310400011)(186009)(46966006)(36840700001)(40470700004)(40460700003)(6862004)(4326008)(8676002)(8936002)(54906003)(316002)(40480700001)(70586007)(70206006)(2906002)(33656002)(41300700001)(5660300002)(86362001)(336012)(83380400001)(356005)(47076005)(81166007)(26005)(82740400003)(2616005)(107886003)(36860700001)(36756003)(478600001)(6506007)(6486002)(6512007)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 11:15:40.9289
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: db2107a9-9d0e-4cfc-1cb3-08dbdb950c88
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:
	AMS0EPF000001A7.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9649


Hi Julien,

>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build=
.c
>> new file mode 100644
>> index 000000000000..dc9c90cf00a7
>> --- /dev/null
>> +++ b/xen/arch/arm/dom0less-build.c
>> @@ -0,0 +1,1087 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +/*
>> + * xen/arch/arm/dom0less-build.c
>> + *
>> + * Code related to the dom0less functionality
>> + *
>> + * Copyright (C) 2023 Arm Ltd.
>=20
> This feels a bit odd to add your copyright here. It sounds like Arm wrote=
 all the code, but you only moved. That said, I am not a lawyer.

Mmm yes, we should be required to put our copyright in everything we create=
 or modify or touch,
said that, I could modify that to be like this:

/*
 * xen/arch/arm/dom0less-build.c=20
 *
 * Code related to the dom0less functionality
 *
 * Original code from xen/arch/arm/domain_build.c
 * Modifications: Copyright (C) 2023 Arm Ltd.
 */

What do you think?

>=20
>> + */
>> +
>> +#include <xen/device_tree.h>
>> +#include <xen/err.h>
>> +#include <xen/event.h>
>> +#include <xen/grant_table.h>
>> +#include <xen/iocap.h>
>> +#include <xen/libfdt/libfdt.h>
>> +#include <xen/sched.h>
>> +#include <xen/serial.h>
>> +#include <xen/sizes.h>
>> +#include <xen/vmap.h>
>> +
>> +#include <asm/arm64/sve.h>
>> +#include <asm/dom0less-build.h>
>> +#include <asm/domain_build.h>
>> +
>> +bool __init is_dom0less_mode(void)
>> +{
>> +    struct bootmodules *mods =3D &bootinfo.modules;
>> +    struct bootmodule *mod;
>> +    unsigned int i;
>> +    bool dom0found =3D false;
>> +    bool domUfound =3D false;
>> +
>> +    /* Look into the bootmodules */
>> +    for ( i =3D 0 ; i < mods->nr_mods ; i++ )
>> +    {
>> +        mod =3D &mods->module[i];
>> +        /* Find if dom0 and domU kernels are present */
>> +        if ( mod->kind =3D=3D BOOTMOD_KERNEL )
>> +        {
>> +            if ( mod->domU =3D=3D false )
>> +            {
>> +                dom0found =3D true;
>> +                break;
>> +            }
>> +            else
>> +                domUfound =3D true;
>> +        }
>> +    }
>> +
>> +    /*
>> +     * If there is no dom0 kernel but at least one domU, then we are in
>> +     * dom0less mode
>> +     */
>> +    return ( !dom0found && domUfound );
>> +}
>> +
>> +static bool __init allocate_bank_memory(struct domain *d,
>> +                                        struct kernel_info *kinfo,
>> +                                        gfn_t sgfn,
>> +                                        paddr_t tot_size)
>=20
> I understand that this is today only used by domUs. However, we could tec=
hnically use it for allocating dom0 memory if it is not 1:1.
>=20
> So I think this function should stay in domain_build.c.

Ok I can leave it there, is it ok for you if I protect it using the KConfig=
 in domain_build.c since that code is currently not used apart from dom0les=
s?
(I will do that in the last patch if you agree)

>=20
> The rest of the code movement looks alright to me.
>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 11:28:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 11:28:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626862.977516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyVsB-000070-Rx; Thu, 02 Nov 2023 11:28:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626862.977516; Thu, 02 Nov 2023 11:28: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 1qyVsB-00006t-Ol; Thu, 02 Nov 2023 11:28:27 +0000
Received: by outflank-mailman (input) for mailman id 626862;
 Thu, 02 Nov 2023 11:28: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 1qyVsA-00006n-EG
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 11:28: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 1qyVs9-0002se-S3; Thu, 02 Nov 2023 11:28:25 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.12.44]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1qyVs9-0005jO-LA; Thu, 02 Nov 2023 11:28: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=9mHTYqQzwu36vXKDSsnmB4GJRICAK0qZBV4svFmugSU=; b=kWB5sZUKNwb4/aZ6X8GbryI0t3
	ezmjNMT6kZ6UGE6rk9RLRy3DcifITU3TBNCbGyXvrStznqmtMt1pPehScz8yG6p+U5p8pYtL3/mIe
	NN1R3jn6S3lbx/rCsX3RVUH4APqur3/n28+HpoJvwxUki9TcyYcpHHG17htnvWk8Kt98=;
Message-ID: <ea139ebd-f196-4cd1-aa2f-f7736ff52613@xen.org>
Date: Thu, 2 Nov 2023 11:28:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Chen <Wei.Chen@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230927140133.631192-1-luca.fancellu@arm.com>
 <20230927140133.631192-4-luca.fancellu@arm.com>
 <ac71e580-3d81-4024-b19c-d3d954df5948@xen.org>
 <00D15160-A5C1-4A42-A11E-9A9282676653@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <00D15160-A5C1-4A42-A11E-9A9282676653@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 02/11/2023 11:15, Luca Fancellu wrote:
> 
> Hi Julien,
> 
>>> diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
>>> new file mode 100644
>>> index 000000000000..dc9c90cf00a7
>>> --- /dev/null
>>> +++ b/xen/arch/arm/dom0less-build.c
>>> @@ -0,0 +1,1087 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +/*
>>> + * xen/arch/arm/dom0less-build.c
>>> + *
>>> + * Code related to the dom0less functionality
>>> + *
>>> + * Copyright (C) 2023 Arm Ltd.
>>
>> This feels a bit odd to add your copyright here. It sounds like Arm wrote all the code, but you only moved. That said, I am not a lawyer.
> 
> Mmm yes, we should be required to put our copyright in everything we create or modify or touch,
> said that, I could modify that to be like this:

This is debatable. IIRC we discussed this in a recent-ish community 
call. From my understanding, we are tracking the authorship/copyright 
using signed-off-by/author in the commit message.

> 
> /*
>   * xen/arch/arm/dom0less-build.c
>   *
>   * Code related to the dom0less functionality
>   *
>   * Original code from xen/arch/arm/domain_build.c
>   * Modifications: Copyright (C) 2023 Arm Ltd.
>   */
> 
> What do you think?

TBH, it is not clear to me what sort of modifications you did that would 
require a copyright from Arm. AFAICT, you only moved the code.

Anyway, I will let the others express their views here.

> 
>>
>>> + */
>>> +
>>> +#include <xen/device_tree.h>
>>> +#include <xen/err.h>
>>> +#include <xen/event.h>
>>> +#include <xen/grant_table.h>
>>> +#include <xen/iocap.h>
>>> +#include <xen/libfdt/libfdt.h>
>>> +#include <xen/sched.h>
>>> +#include <xen/serial.h>
>>> +#include <xen/sizes.h>
>>> +#include <xen/vmap.h>
>>> +
>>> +#include <asm/arm64/sve.h>
>>> +#include <asm/dom0less-build.h>
>>> +#include <asm/domain_build.h>
>>> +
>>> +bool __init is_dom0less_mode(void)
>>> +{
>>> +    struct bootmodules *mods = &bootinfo.modules;
>>> +    struct bootmodule *mod;
>>> +    unsigned int i;
>>> +    bool dom0found = false;
>>> +    bool domUfound = false;
>>> +
>>> +    /* Look into the bootmodules */
>>> +    for ( i = 0 ; i < mods->nr_mods ; i++ )
>>> +    {
>>> +        mod = &mods->module[i];
>>> +        /* Find if dom0 and domU kernels are present */
>>> +        if ( mod->kind == BOOTMOD_KERNEL )
>>> +        {
>>> +            if ( mod->domU == false )
>>> +            {
>>> +                dom0found = true;
>>> +                break;
>>> +            }
>>> +            else
>>> +                domUfound = true;
>>> +        }
>>> +    }
>>> +
>>> +    /*
>>> +     * If there is no dom0 kernel but at least one domU, then we are in
>>> +     * dom0less mode
>>> +     */
>>> +    return ( !dom0found && domUfound );
>>> +}
>>> +
>>> +static bool __init allocate_bank_memory(struct domain *d,
>>> +                                        struct kernel_info *kinfo,
>>> +                                        gfn_t sgfn,
>>> +                                        paddr_t tot_size)
>>
>> I understand that this is today only used by domUs. However, we could technically use it for allocating dom0 memory if it is not 1:1.
>>
>> So I think this function should stay in domain_build.c.
> 
> Ok I can leave it there, is it ok for you if I protect it using the KConfig in domain_build.c since that code is currently not used apart from dom0less?
> (I will do that in the last patch if you agree)

I am fine with that.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 11:42:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 11:42:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626866.977526 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyW5z-0003uJ-2C; Thu, 02 Nov 2023 11:42:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626866.977526; Thu, 02 Nov 2023 11:42: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 1qyW5y-0003uC-VV; Thu, 02 Nov 2023 11:42:42 +0000
Received: by outflank-mailman (input) for mailman id 626866;
 Thu, 02 Nov 2023 11:42: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=wS6e=GP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qyW5x-0003u6-Io
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 11:42:41 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2048.outbound.protection.outlook.com [40.107.7.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ed7e0ea5-7974-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 12:42:40 +0100 (CET)
Received: from AM6P191CA0104.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:8a::45)
 by DBAPR08MB5670.eurprd08.prod.outlook.com (2603:10a6:10:1a6::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Thu, 2 Nov
 2023 11:42:04 +0000
Received: from AMS0EPF000001A3.eurprd05.prod.outlook.com
 (2603:10a6:209:8a:cafe::b7) by AM6P191CA0104.outlook.office365.com
 (2603:10a6:209:8a::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21 via Frontend
 Transport; Thu, 2 Nov 2023 11:42:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A3.mail.protection.outlook.com (10.167.16.228) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 11:42:04 +0000
Received: ("Tessian outbound 5d213238733f:v228");
 Thu, 02 Nov 2023 11:42:04 +0000
Received: from 1575cde339b8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2AAB0CA1-BE1F-4C47-A776-6803876FAE37.1; 
 Thu, 02 Nov 2023 11:41:57 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 1575cde339b8.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Nov 2023 11:41:57 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB9584.eurprd08.prod.outlook.com (2603:10a6:10:448::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Thu, 2 Nov
 2023 11:41:55 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866%3]) with mapi id 15.20.6954.021; Thu, 2 Nov 2023
 11:41: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: ed7e0ea5-7974-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=mXel+1hTGoFcN6kYzZKPyx6Q4jJ4Dk883BCssTGONAPxDtLfUGBSFuwis45iBMqoMEYm7BLgYRu4H2AF1X4ghLYLq1j1ca+TSRcZ6uil3puGYJwxpZCiApj4Q5cP3rcH2aePTBKZVt6H12+GEsI5bsRHCSPZqw7AI5sqTyW1S55zI8SfR9yATo8dcr1eT5aJjMbdk+VOR8dsXppMrTu+JBfxr26uHhOb40bE3NBUJyazrFG7Uf4VdBYnLg4pkJe9fZdB5YFxaLBtN8cONNkCoA/Xuh6JveO22RN62SjVW9t52EnlWgHlTLyERQeiJ+LdJjsDsF7XjqpKVklyZf7D9w==
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=/7NjX8SCkzfViTzn5JyNACGHWqFlHkV2txgZSx65WU8=;
 b=JwuWMOiCCdXmN9swHajNuUwwMaUX9TJ7c2+h+fdQPjBXpP27Vd8Ac525IL5Sh2Srj6P+oyWgX44ZzYmYz2ewwcfxpxUewsN1gH1wFIWKMBNe5XclD2lKfqlkG5oUVXRb+cTf9NHOakqH+t5jSXgdk5D/35xscfjxM+TyMqTFVJigZR8Bi+/1pI59TpSU55/dlGEfUvDU+JQ4sEv1mro0iLtwzilKn3qROC2afib8WvS1DNJeQC8EVjKAAPGKnd/i66Punt1tP0k538zDlcI6d5lr0S9nlXE9tr80y37gfubrSrtpGJiz2mOWh8udDrmtC5apYhOgpvcrBogiVLDA3A==
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=/7NjX8SCkzfViTzn5JyNACGHWqFlHkV2txgZSx65WU8=;
 b=6PkcomXZNLPBna29U1TmINduR8NRVNXZ3AJHaamKqMVFs/ho0o0/qFmtzQ2DOCeCHF1jItr1X8ea0efCIrp/gLvG5t0iA9F0x4tcTdWwr1pfbE6ydEtcnzI7m0At1a7qfimQTD5BvetvDk23UkS2L7uJFXiY4gHQUDX/KRf2NZU=
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: 8e21026ccccc410f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=m9NgHnBfAKMHPNDIENnIL0vlxj0Tlb0UCmiS+A0L58ALEKR1Z3Ef/ta+JZOv+aXG/Lbq0b/iBVc6gkFjwzxjgbGBWlaV6eZqjDyui9JFfS2sm7VtGkno9bBYR2djRVj4iZQIBxtE3srSfafRH/fNjaVRC41kQ/XvjryD4AsWvmCbRcVFjU1J20ZjWMBejDKtCn/GmhWpmvc75KNARw0oKihKz0Q/KVvxH3yu7DX9vobBTm7B+bMTDc+BBBMOy/TATGmCqQSRBxl1+3zvf1Z806zoZxLAxPrx2PcvxLztbcUs4s8O4kTOkE97oPO1+rUMJK6VYdSpg4X7Cqq1dr/TuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/7NjX8SCkzfViTzn5JyNACGHWqFlHkV2txgZSx65WU8=;
 b=X0ONsZMvI8zJFyeWDyfbV3a9sF98My8CdZQkh+UGVb0qigDK6rXH4fHHHvQ8MuN1LzWleliZSL6MxnbmBSND6TIe0sA3AkWQiL1rOknjyXpMahqiBqCckPvxfXBiLhqb21Yf1Q5DNgGuohymb4hJdP0TFapTxi/ECLlzUfMI/S6Jb4yKPcF87TtJa6XHr+hf/0cn7zz3q6vVca6urtm/Gbu/8M2MlH8gnG77UnRAVVJkqvrmu6L7Hk8SgNdd8NiEvnVQMHCSurqhSfLn/pLWlFFb9xpVuTmrRJ/gV05q6w3twgeao47BTkCi3PR8iFrOMagG7uDR/8HdkSL4dys3IA==
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=/7NjX8SCkzfViTzn5JyNACGHWqFlHkV2txgZSx65WU8=;
 b=6PkcomXZNLPBna29U1TmINduR8NRVNXZ3AJHaamKqMVFs/ho0o0/qFmtzQ2DOCeCHF1jItr1X8ea0efCIrp/gLvG5t0iA9F0x4tcTdWwr1pfbE6ydEtcnzI7m0At1a7qfimQTD5BvetvDk23UkS2L7uJFXiY4gHQUDX/KRf2NZU=
From: Luca Fancellu <Luca.Fancellu@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: [RFC PATCH v2 7/8] xen: Add clang-format configuration
Thread-Topic: [RFC PATCH v2 7/8] xen: Add clang-format configuration
Thread-Index: AQHaC/2DXZmPSKf8g0iXRwPyHo/7ZrBmwPcAgAAqKoA=
Date: Thu, 2 Nov 2023 11:41:55 +0000
Message-ID: <1B8E95BC-1633-4452-BFC3-D7F5C417E7C0@arm.com>
References: <20231031132304.2573924-1-luca.fancellu@arm.com>
 <20231031132304.2573924-8-luca.fancellu@arm.com>
 <b0c05564-eadb-5135-b465-e15dec71aa22@suse.com>
In-Reply-To: <b0c05564-eadb-5135-b465-e15dec71aa22@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB9584:EE_|AMS0EPF000001A3:EE_|DBAPR08MB5670:EE_
X-MS-Office365-Filtering-Correlation-Id: a2895582-c352-4a9b-959b-08dbdb98bc48
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:
 uY6+UKdCdAdPYjDonhmD23UBeuzxpmsTn3D+huI1wAWpP2AA4yBfGWG5nfRmXP4cmFFian7FNCzm/hEFJJ+6VUXGmXALyLYayPvXMGnLrLmoox3VDgciBe93Pj2jdOkgPcqIG1ZXShwYSAUfyVEch+7ZcM+S+orrcgy8q3+LBAEbAm+gcpSeWJiwuHPvQJwoGzqyUnuUmFfgSazG6yIdP7n38NHePRz/g54F/Ti1bqDb0+8okDDzc4MY1QYVjwehg2OLFhVT+6+Hpglq9bmvedg74tTjRF0jEV2fgELsO77gui/5qdFgNJNcYTMWivOXPM2SoLFDyGITO1jZ2jtObl6D4g88L8KHDVGl6iLkdYsoGCIqpQbvQHj/bnXj+yAAwZgWVw2laXtYs1eYVGC0R0bIz7UaR623V74BwZoC6AapV81vyZd5yKFgjagn2cTkXY6Cb5I1OFydZqFxdHaGDLpGtQbvlzAQZdk4iJUy/mgkH66TuxA8mIyk8TSYCHT8gNIMuL/LOCGdTriKSWO8e8rOdX7F2kHABtPkgB8UYuDYkjR1ZnPfRWpP0Nm+j1pFiBg8RpoawbCR6keDnVi64KGkgqaCRfuEzYp6SDd+tcYJdMjYrWhsF8XfiyD4m5so9UUZsfQIab2kbMvoo0JMOG8J1rADwnl94kOKNyttrNE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(39860400002)(396003)(376002)(346002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(2616005)(26005)(53546011)(6506007)(6512007)(38100700002)(36756003)(33656002)(86362001)(122000001)(38070700009)(83380400001)(2906002)(8676002)(4326008)(8936002)(5660300002)(316002)(6916009)(91956017)(66446008)(54906003)(66946007)(66556008)(64756008)(76116006)(66476007)(478600001)(71200400001)(41300700001)(6486002)(966005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <25EBB6473FE5E0479AFEB2D072D8B52C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9584
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:
 AMS0EPF000001A3.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d1e43566-9e89-4619-9a9c-08dbdb98b71f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	skODoaj+PnD6+EhAb9+JLX7vcrxo13EsWVGjvLpsjcF3PyO62VS1Prf7A6XqZ50f2yRXrTsi9SZCTiHBhtF4i0TOswGJ1RgPjAhUApQtMj1lRGrwztZCzRynhboWVl5tP7M+co7nitgbBfPg3Qb89QXu1oPiUDwPxDcBvi/K8Fc60Ecm9xwSxen6ZZilSjgM/xQG5OdDMz9SNe5fZubFkOPOraMHmPTn501PU0/FMV/u3FlRj6lSWUcX7EBRFSm8Tnj7d23bWNlkq3geUwFFOJhd5Ug2PNshSdTWL45VQ1EyZxJITRGtiiJUBph6R5GRDRpj991TeqDkwPgOAd742xqEcYZUvYsnYOlm65U5G8BprKYYHa1P8zKsS5PgCBVThxINAnHdkGkM+OzFAzP8ukVEi2KdKzGx1XZdNrh4qPU6tluovwyH5wnZLFMLghp3w78AIefzvby/KxLFlPKFwT6L5Gk+tVvHxgxY4ir1y0Tj6S5+jOoid1uNu9CoApC0ok6HvJaKgsMjoJu40xwJYGH/yUNswDpaHvQ/FJGIGjwP27vn7ah3nHLlp1QRlLcgOstU0Oq/h3LOfFnJ6YVZikSBmgB1ppyXsZETQLsjOACHuwy7AHzA8gQNMAYf2lG4TioetV58V63Opyg7pgLIToCJ+D3/d94UEmpbk1/7fCOORXbQ8RRqiJsHE5J4xZJLG4q0NE+4/6AA8tFOTfQpZx43cp7Bk+dTHPspn/CDi582afy9iZhEZpQ2bcmPGs3wrH4yAZwRBGlQ5ncYwO1vtQ==
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:(13230031)(4636009)(376002)(136003)(39850400004)(346002)(396003)(230922051799003)(186009)(451199024)(82310400011)(64100799003)(1800799009)(46966006)(40470700004)(36840700001)(6512007)(40460700003)(336012)(2616005)(82740400003)(26005)(966005)(6486002)(5660300002)(4326008)(36756003)(6862004)(8676002)(8936002)(33656002)(2906002)(86362001)(41300700001)(54906003)(70206006)(70586007)(316002)(53546011)(6506007)(478600001)(40480700001)(36860700001)(47076005)(356005)(81166007)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 11:42:04.2817
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a2895582-c352-4a9b-959b-08dbdb98bc48
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:
	AMS0EPF000001A3.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5670

SGkgSmFuLA0KDQo+IE9uIDIgTm92IDIwMjMsIGF0IDA5OjEwLCBKYW4gQmV1bGljaCA8amJldWxp
Y2hAc3VzZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMzEuMTAuMjAyMyAxNDoyMywgTHVjYSBGYW5j
ZWxsdSB3cm90ZToNCj4+IEFkZCBhIGNsYW5nIGZvcm1hdCBjb25maWd1cmF0aW9uIGZvciB0aGUg
WGVuIEh5cGVydmlzb3IuDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1
Y2EuZmFuY2VsbHVAYXJtLmNvbT4NCj4+IC0tLQ0KPj4geGVuLy5jbGFuZy1mb3JtYXQgfCA2OTMg
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gMSBmaWxl
IGNoYW5nZWQsIDY5MyBpbnNlcnRpb25zKCspDQo+PiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuLy5j
bGFuZy1mb3JtYXQNCj4gDQo+IEkgdGhpbmsgdGhpcyBuZWVkcyBzcGxpdHRpbmcgYW5kIGV2ZXJ5
IHNldHRpbmcgdGhlbiBpbmRpdmlkdWFsbHkgY29ycmVsYXRpbmcNCj4gd2l0aCB3aGF0IHdlIGhh
dmUgaW4gLi9DT0RJTkdfU1RZTEUuIFRoYXQgd291bGQgZW50YWlsIGV4dGVuZGluZyAuL0NPRElO
R19TVFlMRQ0KPiBieSBhbnl0aGluZyBub3QgcHJlc2VudGx5IHdyaXR0ZW4gZG93biwgYnV0IGlu
dGVuZGVkIHRvIGJlIGNoZWNrZWQgZm9yLg0KDQpEbyB5b3UgbWVhbiBpbnRyb2R1Y2luZyBvbmUg
cGFyYW1ldGVyIGZvciBlYWNoIHBhdGNoIHdpdGggdGhlIGNvcnJlc3BvbmRpbmcgZW50cnkgaW4N
CkNPRElOR19TVFlMRT8NCg0KSXQgd291bGQgbWFrZSBzZW5zZSwgaG93ZXZlciB0aGVyZSBhcmUg
MTE2IHBhcmFtZXRlcnMsIGZyb20gdGhvc2UgSSB0aGluayBhdCBsZWFzdCA1NiBuZWVkcw0KdG8g
aGF2ZSBhIGNvcnJlc3BvbmRpbmcgZW50cnkgaW4gQ09ESU5HX1NUWUxFIChtYXliZSBpbiB0aGUg
ZW5kIHRoZXkgd2lsbCBiZSBsZXNzLCBidXQgSSBkb27igJl0IGV4cGVjdA0KdGhlbSB0byBiZSBs
ZXNzIHRoYW4gNDApLCBzbyBnaXZlbiB0aGUgYW1vdW50IG9mIHBhdGNoZXMsIEnigJltIGFmcmFp
ZCB0byBmbG9vZCB0aGUgbWFpbGluZyBsaXN0Lg0KDQpJIHdhcyB0aGlua2luZyB3ZSBjb3VsZCBk
aXNjdXNzIHRoZW0gaW4gY2h1bmtzIGFuZCB1cGRhdGUgdGhlIHNlcmllIGR1cmluZyB0aW1lLCB3
ZSBjb3VsZCBwdXQgaW4gdGhpcw0KcGF0Y2ggYWxzbyB0aGUgdXBkYXRlIHRvIHRoZSBDT0RJTkdf
U1RZTEUgZmlsZS4gU29tZXRoaW5nIGxpa2UgdGhlIE1JU1JBIHJ1bGUgYWNjZXB0YW5jZSwgd2hh
dA0KZG8geW91IHRoaW5rPyBTaGFsbCB3ZSBkbyB0aGUgZGlzY3Vzc2lvbiBieSBNTCBvciBieSBt
ZWV0aW5ncz8gRXZlcnkgdGltZSBJIGNvdWxkIGJyaW5nIHVwIGEgbnVtYmVyDQpvZiBwYXJhbWV0
ZXJzIGFuZCB1cGRhdGUgdGhlIHNlcmllIHdoZW4gdGhlIGRpc2N1c3Npb24gb24gdGhlbSBpcyBm
aW5pc2hlZC4NCg0KDQoNClRoaXMgaXMgbXkgYnJlYWtkb3duOg0KDQoxMTYgdG90YWwgY29uZmln
dXJhYmxlcw0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KMTMgc3RyYWlnaHRmb3J3YXJkDQoN
CkF0dHJpYnV0ZU1hY3JvczoNCiAgLVsuLi5dDQoNCkNvbHVtbkxpbWl0OiA4MA0KDQpJbmRlbnRX
aWR0aDogNA0KDQpMYW5ndWFnZTogQ3BwDQoNCk1hY3JvQmxvY2tCZWdpbjogJ15QTEFURk9STV9T
VEFSVHxeRFRfREVWSUNFX1NUQVJUfF5BQ1BJX0RFVklDRV9TVEFSVCcNCg0KTWFjcm9CbG9ja0Vu
ZDogJ15QTEFURk9STV9FTkR8XkRUX0RFVklDRV9FTkR8XkFDUElfREVWSUNFX0VORCcNCg0KU3Rh
bmRhcmQ6IEMrKzAzDQoNClN0YXRlbWVudE1hY3JvczoNCiAgLSBbLi4uXQ0KDQpUYWJXaWR0aDog
NA0KDQpUeXBlbmFtZU1hY3JvczoNCiAgLSAnWEVOX0dVRVNUX0hBTkRMRScNCiAgLSAnWEVOX0dV
RVNUX0hBTkRMRV82NCcNCiAgLSAnWEVOX0dVRVNUX0hBTkRMRV9QQVJBTScNCiAgLSAnRUxGX0hB
TkRMRV9ERUNMJw0KDQpVc2VUYWI6IE5ldmVyDQoNCldoaXRlc3BhY2VTZW5zaXRpdmVNYWNyb3M6
DQogIC0gJ19fc3RyaW5naWZ5Jw0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KNTYgdGhhdCBy
ZXF1aXJlcyBkaXNjdXNzaW9ucw0KDQpRdWFsaWZpZXJBbGlnbm1lbnQ6IEN1c3RvbQ0KUXVhbGlm
aWVyT3JkZXI6IFsnc3RhdGljJywgJ2lubGluZScsICdjb25zdCcsICd2b2xhdGlsZScsICd0eXBl
J10NCg0KQWxpZ25BZnRlck9wZW5CcmFja2V0OiBBbGlnbg0KDQpBbGlnbkFycmF5T2ZTdHJ1Y3R1
cmVzOiBMZWZ0DQoNCkFsaWduQ29uc2VjdXRpdmVBc3NpZ25tZW50czoNCiAgRW5hYmxlZDogZmFs
c2UNCiAgQWNyb3NzRW1wdHlMaW5lczogZmFsc2UNCiAgQWNyb3NzQ29tbWVudHM6IGZhbHNlDQoN
CkFsaWduQ29uc2VjdXRpdmVCaXRGaWVsZHM6IE5vbmUNCg0KQWxpZ25Db25zZWN1dGl2ZURlY2xh
cmF0aW9uczogTm9uZQ0KDQpBbGlnbkNvbnNlY3V0aXZlTWFjcm9zOg0KICBFbmFibGVkOiBmYWxz
ZQ0KICBBY3Jvc3NFbXB0eUxpbmVzOiBmYWxzZQ0KICBBY3Jvc3NDb21tZW50czogZmFsc2UNCg0K
QWxpZ25Fc2NhcGVkTmV3bGluZXM6IFJpZ2h0DQoNCkFsaWduT3BlcmFuZHM6IEFsaWduDQoNCkFs
aWduVHJhaWxpbmdDb21tZW50czogZmFsc2UNCg0KQWxsb3dBbGxBcmd1bWVudHNPbk5leHRMaW5l
OiBmYWxzZQ0KDQpBbGxvd0FsbFBhcmFtZXRlcnNPZkRlY2xhcmF0aW9uT25OZXh0TGluZTogZmFs
c2UNCg0KQWxsb3dTaG9ydEJsb2Nrc09uQVNpbmdsZUxpbmU6IE5ldmVyDQoNCkFsbG93U2hvcnRD
YXNlTGFiZWxzT25BU2luZ2xlTGluZTogZmFsc2UNCg0KQWxsb3dTaG9ydEZ1bmN0aW9uc09uQVNp
bmdsZUxpbmU6IE5vbmUNCg0KQWxsb3dTaG9ydElmU3RhdGVtZW50c09uQVNpbmdsZUxpbmU6IE5l
dmVyDQoNCkFsbG93U2hvcnRMb29wc09uQVNpbmdsZUxpbmU6IGZhbHNlDQoNCkFsd2F5c0JyZWFr
QWZ0ZXJSZXR1cm5UeXBlOiBOb25lDQoNCkFsd2F5c0JyZWFrQmVmb3JlTXVsdGlsaW5lU3RyaW5n
czogZmFsc2UNCg0KQmluUGFja0FyZ3VtZW50czogdHJ1ZQ0KDQpCaW5QYWNrUGFyYW1ldGVyczog
dHJ1ZQ0KDQpCaXRGaWVsZENvbG9uU3BhY2luZzogTm9uZQ0KDQpCcmVha0JlZm9yZUJyYWNlczog
Q3VzdG9tDQpCcmFjZVdyYXBwaW5nOg0KICBBZnRlckNhc2VMYWJlbDogdHJ1ZQ0KICBBZnRlckZ1
bmN0aW9uOiB0cnVlDQogIEJlZm9yZUVsc2U6IHRydWUNCiAgQWZ0ZXJFeHRlcm5CbG9jazogdHJ1
ZQ0KICBBZnRlckVudW06IGZhbHNlDQogIEFmdGVyU3RydWN0OiBmYWxzZQ0KICBBZnRlclVuaW9u
OiBmYWxzZQ0KICBBZnRlckNvbnRyb2xTdGF0ZW1lbnQ6IEFsd2F5cw0KICBCZWZvcmVXaGlsZTog
ZmFsc2UNCiAgSW5kZW50QnJhY2VzOiBmYWxzZQ0KICBTcGxpdEVtcHR5RnVuY3Rpb246IGZhbHNl
DQogIEFmdGVyQ2xhc3M6IGZhbHNlDQogIEFmdGVyTmFtZXNwYWNlOiBmYWxzZQ0KICBBZnRlck9i
akNEZWNsYXJhdGlvbjogZmFsc2UNCiAgQmVmb3JlQ2F0Y2g6IGZhbHNlDQogIEJlZm9yZUxhbWJk
YUJvZHk6IGZhbHNlDQogIFNwbGl0RW1wdHlSZWNvcmQ6IHRydWUNCiAgU3BsaXRFbXB0eU5hbWVz
cGFjZTogdHJ1ZQ0KDQpCcmVha0JlZm9yZUJpbmFyeU9wZXJhdG9yczogTm9uZQ0KDQpCcmVha0Jl
Zm9yZVRlcm5hcnlPcGVyYXRvcnM6IHRydWUNCg0KQnJlYWtTdHJpbmdMaXRlcmFsczogZmFsc2UN
Cg0KSW5jbHVkZUJsb2NrczogUHJlc2VydmUNCg0KSW5kZW50Q2FzZUJsb2NrczogZmFsc2UNCg0K
SW5kZW50Q2FzZUxhYmVsczogZmFsc2UNCg0KSW5kZW50R290b0xhYmVsczogdHJ1ZQ0KDQpJbmRl
bnRQUERpcmVjdGl2ZXM6IE5vbmUNCg0KSW5kZW50V3JhcHBlZEZ1bmN0aW9uTmFtZXM6IGZhbHNl
DQoNCkluc2VydEJyYWNlczogZmFsc2UNCg0KS2VlcEVtcHR5TGluZXNBdFRoZVN0YXJ0T2ZCbG9j
a3M6IGZhbHNlDQoNCk1heEVtcHR5TGluZXNUb0tlZXA6IDENCg0KUG9pbnRlckFsaWdubWVudDog
UmlnaHQNCg0KUFBJbmRlbnRXaWR0aDogLTENCg0KUmVmbG93Q29tbWVudHM6IGZhbHNlDQoNClNl
cGFyYXRlRGVmaW5pdGlvbkJsb2NrczogQWx3YXlzDQoNClNvcnRJbmNsdWRlczogTmV2ZXINCg0K
U3BhY2VBZnRlckNTdHlsZUNhc3Q6IGZhbHNlDQoNClNwYWNlQWZ0ZXJMb2dpY2FsTm90OiBmYWxz
ZQ0KDQpTcGFjZUFyb3VuZFBvaW50ZXJRdWFsaWZpZXJzOiBBZnRlcg0KDQpTcGFjZUJlZm9yZUFz
c2lnbm1lbnRPcGVyYXRvcnM6IHRydWUNCg0KU3BhY2VCZWZvcmVDYXNlQ29sb246IGZhbHNlDQoN
ClNwYWNlQmVmb3JlUGFyZW5zOiBDb250cm9sU3RhdGVtZW50c0V4Y2VwdEZvckVhY2hNYWNyb3MN
Cg0KU3BhY2VCZWZvcmVTcXVhcmVCcmFja2V0czogZmFsc2UNCg0KU3BhY2VJbkVtcHR5UGFyZW50
aGVzZXM6IGZhbHNlDQoNClNwYWNlc0JlZm9yZVRyYWlsaW5nQ29tbWVudHM6IDENCg0KU3BhY2Vz
SW5Db25kaXRpb25hbFN0YXRlbWVudDogdHJ1ZQ0KDQpTcGFjZXNJbkNTdHlsZUNhc3RQYXJlbnRo
ZXNlczogZmFsc2UNCg0KU3BhY2VJbkVtcHR5QmxvY2s6IGZhbHNlDQoNClNwYWNlc0luTGluZUNv
bW1lbnRQcmVmaXg6DQogIE1pbmltdW06IDENCiAgTWF4aW11bTogLTENCg0KU3BhY2VzSW5QYXJl
bnRoZXNlczogZmFsc2UNCg0KU3BhY2VzSW5TcXVhcmVCcmFja2V0czogZmFsc2UNCg0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0NCjEwIGRvbid0IHJlYWxseSBuZWVkIGEgZGlzY3Vzc2lvbg0KDQpQ
ZW5hbHR5QnJlYWtBc3NpZ25tZW50OiAzMA0KDQpQZW5hbHR5QnJlYWtCZWZvcmVGaXJzdENhbGxQ
YXJhbWV0ZXI6IDMwDQoNClBlbmFsdHlCcmVha0NvbW1lbnQ6IDEwDQoNClBlbmFsdHlCcmVha0Zp
cnN0TGVzc0xlc3M6IDANCg0KUGVuYWx0eUJyZWFrT3BlblBhcmVudGhlc2lzOiAxMDANCg0KUGVu
YWx0eUJyZWFrU3RyaW5nOiAxMA0KDQpQZW5hbHR5RXhjZXNzQ2hhcmFjdGVyOiAxMDANCg0KUGVu
YWx0eUluZGVudGVkV2hpdGVzcGFjZTogMA0KDQpQZW5hbHR5UmV0dXJuVHlwZU9uSXRzT3duTGlu
ZTogNjANCg0KQ29tbWVudFByYWdtYXM6ICdeIElXWVUgcHJhZ21hOicNCg0KPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0NCjM3IG5vbiByZWxhdGVkIHRvIEMgbGFuZ3VhZ2UNCg0KQWx3YXlzQnJlYWtU
ZW1wbGF0ZURlY2xhcmF0aW9uczogZmFsc2UNCg0KQnJlYWtDb25zdHJ1Y3RvckluaXRpYWxpemVy
czogQmVmb3JlQ29tbWENCg0KQWNjZXNzTW9kaWZpZXJPZmZzZXQ6IC00DQoNCkFsbG93U2hvcnRM
YW1iZGFzT25BU2luZ2xlTGluZTogTm9uZQ0KDQpCcmVha0FmdGVySmF2YUZpZWxkQW5ub3RhdGlv
bnM6IGZhbHNlDQoNCkJyZWFrQmVmb3JlQ29uY2VwdERlY2xhcmF0aW9uczogTmV2ZXINCg0KQnJl
YWtJbmhlcml0YW5jZUxpc3Q6IEJlZm9yZUNvbG9uDQoNCkNvbXBhY3ROYW1lc3BhY2VzOiBmYWxz
ZQ0KDQpDb25zdHJ1Y3RvckluaXRpYWxpemVyQWxsT25PbmVMaW5lT3JPbmVQZXJMaW5lOiBmYWxz
ZQ0KDQpDb25zdHJ1Y3RvckluaXRpYWxpemVySW5kZW50V2lkdGg6IDQNCg0KQ3BwMTFCcmFjZWRM
aXN0U3R5bGU6IGZhbHNlDQoNCkVtcHR5TGluZUFmdGVyQWNjZXNzTW9kaWZpZXI6IExlYXZlDQoN
CkVtcHR5TGluZUJlZm9yZUFjY2Vzc01vZGlmaWVyOiBMZWF2ZQ0KDQpGaXhOYW1lc3BhY2VDb21t
ZW50czogZmFsc2UNCg0KSW5kZW50QWNjZXNzTW9kaWZpZXJzOiBmYWxzZQ0KDQpJbmRlbnRSZXF1
aXJlc0NsYXVzZTogZmFsc2UNCg0KSW5zZXJ0VHJhaWxpbmdDb21tYXM6IE5vbmUNCg0KSmF2YVNj
cmlwdFF1b3RlczogTGVhdmUNCg0KSmF2YVNjcmlwdFdyYXBJbXBvcnRzOiB0cnVlDQoNCk5hbWVz
cGFjZUluZGVudGF0aW9uOiBOb25lDQoNCk9iakNCaW5QYWNrUHJvdG9jb2xMaXN0OiBBdXRvDQoN
Ck9iakNCbG9ja0luZGVudFdpZHRoOiA0DQoNCk9iakNCcmVha0JlZm9yZU5lc3RlZEJsb2NrUGFy
YW06IGZhbHNlDQoNCk9iakNTcGFjZUFmdGVyUHJvcGVydHk6IHRydWUNCg0KT2JqQ1NwYWNlQmVm
b3JlUHJvdG9jb2xMaXN0OiB0cnVlDQoNClBhY2tDb25zdHJ1Y3RvckluaXRpYWxpemVyczogTmV2
ZXINCg0KUGVuYWx0eUJyZWFrVGVtcGxhdGVEZWNsYXJhdGlvbjogMA0KDQpSZWZlcmVuY2VBbGln
bm1lbnQ6IFJpZ2h0DQoNClNvcnRVc2luZ0RlY2xhcmF0aW9uczogZmFsc2UNCg0KU3BhY2VBZnRl
clRlbXBsYXRlS2V5d29yZDogdHJ1ZQ0KDQpTcGFjZUJlZm9yZUNwcDExQnJhY2VkTGlzdDogZmFs
c2UNCg0KU3BhY2VCZWZvcmVDdG9ySW5pdGlhbGl6ZXJDb2xvbjogZmFsc2UNCg0KU3BhY2VCZWZv
cmVJbmhlcml0YW5jZUNvbG9uOiB0cnVlDQoNClNwYWNlc0luQW5nbGVzOiBmYWxzZQ0KDQpTcGFj
ZXNJbkNvbnRhaW5lckxpdGVyYWxzOiBmYWxzZQ0KDQpTcGFjZUJlZm9yZVJhbmdlQmFzZWRGb3JM
b29wQ29sb246IHRydWUNCg0KSW5kZW50RXh0ZXJuQmxvY2s6IE5vSW5kZW50DQoNCj4gDQo+PiAt
LS0gL2Rldi9udWxsDQo+PiArKysgYi94ZW4vLmNsYW5nLWZvcm1hdA0KPj4gQEAgLTAsMCArMSw2
OTMgQEANCj4+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCj4+ICsj
DQo+PiArIyBjbGFuZy1mb3JtYXQgY29uZmlndXJhdGlvbiBmaWxlLiBJbnRlbmRlZCBmb3IgY2xh
bmctZm9ybWF0ID49IDE1Lg0KPj4gKyMNCj4+ICsjIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWU6
DQo+PiArIw0KPj4gKyMgICBEb2N1bWVudGF0aW9uL3Byb2Nlc3MvY2xhbmctZm9ybWF0LnJzdA0K
Pj4gKyMgICBodHRwczovL2NsYW5nLmxsdm0ub3JnL2RvY3MvQ2xhbmdGb3JtYXQuaHRtbA0KPj4g
KyMgICBodHRwczovL2NsYW5nLmxsdm0ub3JnL2RvY3MvQ2xhbmdGb3JtYXRTdHlsZU9wdGlvbnMu
aHRtbA0KPiANCj4gLi4uIHBvaW50aW5nIHRvIGZ1cnRoZXIgZG9jIGlzIGhlbHBmdWwgaW4gZ2Vu
ZXJhbCwgYnV0IGltbyBpbnN1ZmZpY2llbnQgZm9yDQo+IHRoZSBpbnRyb2R1Y3Rpb24gb2YgdGhl
IHZhcmlvdXMgc2V0dGluZ3MuDQoNClllcyBJIHJlYWxpc2Ugbm93IHRoYXQgSeKAmXZlIGNvcGll
ZCB0aGlzIGZyb20gTGludXggYW5kIEkgc2hvdWxkIGhhdmUgZHJvcHBlZCBhdCBsZWFzdA0KdGhl
IGxpbmUgRG9jdW1lbnRhdGlvbi9wcm9jZXNzL2NsYW5nLWZvcm1hdC5yc3QgYW5kIGh0dHBzOi8v
Y2xhbmcubGx2bS5vcmcvZG9jcy9DbGFuZ0Zvcm1hdC5odG1sLg0KVGhlIGxpbmUgaHR0cHM6Ly9j
bGFuZy5sbHZtLm9yZy9kb2NzL0NsYW5nRm9ybWF0U3R5bGVPcHRpb25zLmh0bWwgSSB0aGluayBt
YWtlcyBzZW5zZQ0KYmVjYXVzZSBpdOKAmXMgYSBkb2N1bWVudGF0aW9uIHRvIHRoZSBjbGFuZy1m
b3JtYXQgcGFyYW1ldGVyIHByZXNlbnQgaW4gdGhlIGZpbGUuDQoNClRoYW5rcyBmb3IgeW91ciBy
ZXZpZXcuDQoNCkNoZWVycywNCkx1Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 11:53:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 11:53:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626871.977535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyWG3-0006mn-2n; Thu, 02 Nov 2023 11:53:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626871.977535; Thu, 02 Nov 2023 11:53: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 1qyWG3-0006mg-0H; Thu, 02 Nov 2023 11:53:07 +0000
Received: by outflank-mailman (input) for mailman id 626871;
 Thu, 02 Nov 2023 11:53: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyWG2-0006ma-96
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 11:53:06 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe13::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 615fa0bf-7976-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 12:53:04 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8201.eurprd04.prod.outlook.com (2603:10a6:10:25e::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Thu, 2 Nov
 2023 11:53:02 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 11:53: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: 615fa0bf-7976-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MP/188sceik53rsaWALkZY2Do82oI8pLkgB8LtE9OmcPlOwPf29cthBaP6/r2W85oY8Jm6IQUHNs/XKXLAuvJeFn4Diz57W/DbOm9o19wEhtNjxqio0pWZpXTKTyrFy20WLoCVJTNvTsHP5oeJ/Wccv/7YSRDAGvI6E6+pcAM+6LZ1E4FdXwHZ9uHs7uauKxg616TNoAfxVhnXgVWCJIbIwxFoAWDtCCxP1iNQuBEmnXJ5eLyT80JlHC18OaagSfIizzJRRlyr5sFNWcZZn2v6VWJczUlVhsEmSSu/0c2dewO+V6qomOGgb/LdR4YL3zS9Dy6ls8lMQm5Q5NR83Z0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=o1KA8qJIqLWTqZ00YDqq6kXEDEkylLPDVPyw/Qtdjws=;
 b=cETl6tWlXo9Kab9eWzw3JpZYqIclkTrmO6HTtBMU5/paXqlcHx6kWW0EgTYdvM1sMoHx4ZMflpnyr6RSbchKZBR1dAYfoY0SdFDmPi8kIgs4yfbopVFdAH4IC4PEb4517zTkExevva3pUp80Eb2VfQBPUXP47dny37hISTVXCMkge7maMGbq68D0DeE5EeYLGjIMwRcIw4yEDdJb/aohe1iT597UcjgjO2bmqBRysYNzzcy/hcM956kNh9z03lIgNAphDCxqyPFBwHzLIasFCvrho4fnnK97h/RuRvE62QRSyJXhy+rJxlbVpfegZXP+xoglqPLUpgkGEF2XCtDN6Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=o1KA8qJIqLWTqZ00YDqq6kXEDEkylLPDVPyw/Qtdjws=;
 b=hH1JC+9s4r/q1LE3Amw/XK8BqaRgzFDs89GUMO+Vb8wQM95OlaJ0kI7KFkiZkKqs0Gxphn4A27kzhVjtFNgZ89VgH43HibNGaE67Z5+6VIdsppS3zTxQHhZHywGviNBggI5Jz42v97z0d5KINwyEJtznLXmGWtpNf6v8BQ/HdjwvMqK94aVvb0IDMVZAWEi5U6hYes6ysirUnZhPe7B+PqTfZqSAFg0VUHS+DXQSpJkVndweaf5J42kTDsDWbUGFOftHzSxRezm9QrKbMG7meoCrQmso4f4VItOthy2cQ/f3rRIookxRH/t8E2qhXhBIo2lSOQ+kHohszYwJUanbzg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <504743a2-ae84-5ebc-a753-bdd15c3a7b43@suse.com>
Date: Thu, 2 Nov 2023 12:53:00 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [RFC PATCH v2 7/8] xen: Add clang-format configuration
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@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" <xen-devel@lists.xenproject.org>
References: <20231031132304.2573924-1-luca.fancellu@arm.com>
 <20231031132304.2573924-8-luca.fancellu@arm.com>
 <b0c05564-eadb-5135-b465-e15dec71aa22@suse.com>
 <1B8E95BC-1633-4452-BFC3-D7F5C417E7C0@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1B8E95BC-1633-4452-BFC3-D7F5C417E7C0@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR5P281CA0045.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f3::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8201:EE_
X-MS-Office365-Filtering-Correlation-Id: fcf98e2b-fd1e-4e1e-b180-08dbdb9a446f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+KJlEarvYOj+0Xo4USWG4j/jbgFV4atlUg7KF5wP8gZcN4ke5uhhmBgVzrO6uNOGAKElpmhb8nUgLH6JZ/+zLaCJzKd3vLuH/tafOPHpUQnWH906H2WjY/MN1+7Tlk7WGcpHNvMirRtNFxIcew8L0LR5w/PZlW43CkcS/WYbfA1neKCRDRCMDH7dld695bup2hV5IFLZ79/ZIuXnbRnjnDyOmUIEP6Ic/fgtXDbDqJ6rOVgh4mpL6T5agaOcvSPMtV045zdIv+JUPFTk8GutcgF9NDbapuUxz7T88vRDQdFqZTpWWTU7de1Zt1OTi/wiOUFMy8zxut5+6/qtEKGfyCIXK77sWmeI/o29vxiVKxZNpn5pTfijnyfaYG2wh0UcSE21Bs/DdkZqP9xiN78brLZTlOMpqjZBqR1pbWdOSikajcgHFezuA1dWXtsF7DJFMSFIM73/CXQpYKH3nnGZHz1HQpQVQERpo47cwAKiZZ8FpdgsmMOzchPkar7pxGbDJJPCgjyamq9tI6p1/JC+aoEbdpfQEuR8Uqs2w6QPpHpcfeoeJKWrgFfhPWl8DTts2zjWf8sX3jfhddmsqXlpM54fdlPVW7ItpmvjKkzJ47T7fG7iXOYgWROGgkH5KhvOupuY5TDJRubQMEnppBn1hg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(31686004)(2616005)(6512007)(26005)(38100700002)(31696002)(36756003)(86362001)(2906002)(83380400001)(478600001)(53546011)(6506007)(4326008)(66476007)(66556008)(8936002)(6486002)(316002)(6916009)(8676002)(54906003)(66946007)(5660300002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZktDZ2hnVm1RaG5ZSUJOOWs4R21LOU1qYksyVWNwZTl3N3RkaVhJWU80S1M2?=
 =?utf-8?B?aUZrRXdqdWNacUM5N3J3TTN2VXFWTGR6UFdDMFd1eEFYSy81V0taSlp3UU8w?=
 =?utf-8?B?eG80a2RRSnpxRU1MN1prM2hUZ1M5b2cxUEQ2VU5RUUpHZjYxcEV4azNKRXpI?=
 =?utf-8?B?NGJYWGQ5dS9sbUhoUzJ2eGFXTUJrWGNJSVpmRjVsWGhoenFtNjVIUzcxOWU4?=
 =?utf-8?B?SlZvOUFsaEJGOTRQK2RORHRZN1Vmbkp6bnk1QmxPNlJKNmphQzdmSURCaEx5?=
 =?utf-8?B?amZFK05pOVRqQS95SGNMNXB5UlNnRVRGNHNDbkhGa2s1MmRVaDJkOERtVE9o?=
 =?utf-8?B?QXlIVVd5UlZncVdPUlR4V2dTZzdFRkJCU2M1c3UrSVE2eHZCWFVvOUdpNGZM?=
 =?utf-8?B?a0hvQis4UHlvWVBlUjFraXpYVk1YMHAwS3E2cHo5cTBIdk9RYXFHcTRqWENO?=
 =?utf-8?B?WXpkV01uL2U0cGVPZTNTUkY2Sk50UzVXV25tQjdXNXF2SXVpaTlpRXM3WitL?=
 =?utf-8?B?aEJnN1N2UEpPUjFGRnR3UElsVHMrYlpscFdlWDYrZGkxdEFJUmhqTjZFbGNM?=
 =?utf-8?B?UlJLemdCVURUd0prcXVDVGI0anRMRzJxYy9LcGlmUU55c3Z6VGNQc2h0bE5h?=
 =?utf-8?B?NU1JejZBOEE3VDNhTjR3NCtGK1VyNHB2VWF4TjYwVDFCRVhQSjI1SmZzSUR0?=
 =?utf-8?B?QXJINWtwOWtVVnl5VkZYV3U0cWtpd3d1SDVsbDlvRTl6dGpIajkyYXNhSDdN?=
 =?utf-8?B?U3FKSHB2YXNXWkQ2VThOUUg5SEFYZUJmR05yMlJlWTA3cUdqVjZlYW8zcGVV?=
 =?utf-8?B?YVF2ZTBVUFA0VVNHZmZWd1JSM1BiMlcvUi8xNENuSGVTVnFzTFEzMUFvQkVZ?=
 =?utf-8?B?bEFhN2hoaWcxUTFFZ2dSQkVGd24yYU9tdGFLLzhHUW8rQVJiNlNuVFFIbGtZ?=
 =?utf-8?B?VFVCSE5palFackhYYjlNQzBoSEJJdFNmYmhaK25SZkNFenduRWxuSmpIWS9E?=
 =?utf-8?B?UzdHQXpBTjJMV05UbTAxNVo4MG0rK0VleWJrdHJiTWJJajNmTFFTMkhIVmZT?=
 =?utf-8?B?R3R4eEUzM3lLVHF1VGhXbzFhdGFQWUNZbUNwS1ZkY2RyMHp1S3U5aFlHb0E1?=
 =?utf-8?B?eU1sdWwvWHZLazk1dHduL2tqSy91S1hpbXJEVGRvdlZFWVNXZFE1cDl4V3lR?=
 =?utf-8?B?TStkbDJRcCtnTlRYV2FUV0Q1TC9OK0dnVnNseTRxbWtpTDZnZU1VKzRTeVh3?=
 =?utf-8?B?KzBMbW9MMlY4YjMyMTdUUG5uWWRJdVBTTUhjYmZtN3FucmU2aUxDcnl4bzh6?=
 =?utf-8?B?Um1OVGVrWm1wbmdRejVYaCtjcmlzYkhDd294d3QyaTZwS0hodkp2elZJNmk2?=
 =?utf-8?B?THBEaHJrb1dHTmtWUGV4b2xHUGN1U0llNWZEbGc0c0dNenRrWjZGbk81WUY1?=
 =?utf-8?B?UEsvRTByZlZ1aTJJUkN4YkZWU21SV0FWWnA0VjE5OEFGSVg3RGs1M3IvVlFz?=
 =?utf-8?B?cWpGK2l2Z1AxZTVQblRvbUFiOWR0WjBSZHkyd01IUXNNS0FjMzhsTU1uN3N5?=
 =?utf-8?B?YXZxOTg2MHEvakNFTzdlc0xRVVByb3ExcTRTRjRrZk04MjNnUkEvOTFXY3I5?=
 =?utf-8?B?MUJZWnNtcmZ0RU15cjl5OUN0N2JBbDhrWkx6dCtYU0hjMHZYZFIwelQ5TWFE?=
 =?utf-8?B?S1FHUXlnVlBUU3UzWHVtOEgxNDlNcyttM0tWbFZNYnNhMG1jSkxYWXRVeFBo?=
 =?utf-8?B?MjBoMGE3ZVVyM3ZsdkFtUTZ4dEVHbkRsMHcrZjhyS1BITXhSaURtaTlwUUFy?=
 =?utf-8?B?RkYrZERaUm1Qb0ZONWtCTzZQZ0xxTGxTQVNyT0RjeWR3enNMcHN5ZVFSZXRD?=
 =?utf-8?B?SURheTVCVDhYVGJIaUxFUGF2ZXpaSnJlTzlic05aVGI0bk5hMjRZOXkrSjI0?=
 =?utf-8?B?L25LNU93TzZIcVN1eDFTVitwTXh1dUtpcVpldTV2ZGVMWnNCZEh0QjM2MFhu?=
 =?utf-8?B?b2lleUlvc0h0eTRUVFNLampMVi9ORU5BakxFdFBwczJLVWNtaWlLMmlXdit6?=
 =?utf-8?B?c3RHYzVOOE4weW5pQnplZmpSSS9mT2lMUzdOUTd0RWxCc3lRYXBQSGlQTFBH?=
 =?utf-8?Q?3wCkOPAt8wQNj8ba83bauna/t?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fcf98e2b-fd1e-4e1e-b180-08dbdb9a446f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 11:53:02.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: 0l+cgSH7j9mtYMSxySKI4I1dF+WpodmOMhZvCdXOzfS1OULHdN6vxeEJFx4Dpt+wjiWM8kjk9a8RyU07jTZ+LQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8201

On 02.11.2023 12:41, Luca Fancellu wrote:
>> On 2 Nov 2023, at 09:10, Jan Beulich <jbeulich@suse.com> wrote:
>> On 31.10.2023 14:23, Luca Fancellu wrote:
>>> Add a clang format configuration for the Xen Hypervisor.
>>>
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>> ---
>>> xen/.clang-format | 693 ++++++++++++++++++++++++++++++++++++++++++++++
>>> 1 file changed, 693 insertions(+)
>>> create mode 100644 xen/.clang-format
>>
>> I think this needs splitting and every setting then individually correlating
>> with what we have in ./CODING_STYLE. That would entail extending ./CODING_STYLE
>> by anything not presently written down, but intended to be checked for.
> 
> Do you mean introducing one parameter for each patch with the corresponding entry in
> CODING_STYLE?
> 
> It would make sense, however there are 116 parameters, from those I think at least 56 needs
> to have a corresponding entry in CODING_STYLE (maybe in the end they will be less, but I don’t expect
> them to be less than 40), so given the amount of patches, I’m afraid to flood the mailing list.

Some grouping may certainly make sense, for related settings. What I'm
completely lost with the present submission is which of the settings
merely enforce existing content of ./CODING_STYLE, and which ones
(silently) impose new rules which everyone may agree with, but also may
not.

> I was thinking we could discuss them in chunks and update the serie during time, we could put in this
> patch also the update to the CODING_STYLE file. Something like the MISRA rule acceptance, what
> do you think? Shall we do the discussion by ML or by meetings? Every time I could bring up a number
> of parameters and update the serie when the discussion on them is finished.

Afaic - email if at all possible. The more that, considering past
attempts to extend ./CODING_STYLE, for some items it may be close to
impossible to reach agreement.

> This is my breakdown:
> 
> 116 total configurables
> 
> ================================================================================
> 13 straightforward

What exactly do you qualify as such?

> AttributeMacros:
>   -[...]
> 
> ColumnLimit: 80
> 
> IndentWidth: 4
> 
> Language: Cpp
> 
> MacroBlockBegin: '^PLATFORM_START|^DT_DEVICE_START|^ACPI_DEVICE_START'
> 
> MacroBlockEnd: '^PLATFORM_END|^DT_DEVICE_END|^ACPI_DEVICE_END'

Without explanation it is, for example, not clear to me what these two
settings are about. Which includes me not understanding why these
identifiers are (apparently) special in some specific way.

> Standard: C++03

I don't consider this "straightforward" at all. Only C99 could be deemed
straightforward here, imo.

> ================================================================================
> 10 don't really need a discussion
> 
> PenaltyBreakAssignment: 30
> 
> PenaltyBreakBeforeFirstCallParameter: 30
> 
> PenaltyBreakComment: 10
> 
> PenaltyBreakFirstLessLess: 0
> 
> PenaltyBreakOpenParenthesis: 100
> 
> PenaltyBreakString: 10
> 
> PenaltyExcessCharacter: 100
> 
> PenaltyIndentedWhitespace: 0
> 
> PenaltyReturnTypeOnItsOwnLine: 60
> 
> CommentPragmas: '^ IWYU pragma:'

Like with the "straightforward" ones above, without knowing what these
affect (or whether some simply don't affect us at all, and hence could
be set to any value) I can't follow the "don't really need a discussion"
qualification.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 12:40:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 12:40:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626876.977546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyWz8-00088C-F8; Thu, 02 Nov 2023 12:39:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626876.977546; Thu, 02 Nov 2023 12:39: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 1qyWz8-000885-CE; Thu, 02 Nov 2023 12:39:42 +0000
Received: by outflank-mailman (input) for mailman id 626876;
 Thu, 02 Nov 2023 12:39: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=WoC4=GP=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyWz6-00087z-RP
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 12:39:40 +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 e22fbdc3-797c-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 13:39:37 +0100 (CET)
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 DE086211B7;
 Thu,  2 Nov 2023 12:39: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 7906F13584;
 Thu,  2 Nov 2023 12:39:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id jRQiHIiYQ2UHTwAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 02 Nov 2023 12:39: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: e22fbdc3-797c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698928776; 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:autocrypt:autocrypt;
	bh=NumExfw7b7jl8+PV88ZPHRJcpWQdjUAEGZJB9fUjNqE=;
	b=QpD8ueA1yZ1w7UQ7VrS+4EHGDM+RIh8GuovJd5Aq/FoRvsDzcaZomdFg4NsFDx9Bne+yYL
	1uaFHb92Ahcyii7/W/L+7Mid89JBt6Hmr/UswxBz6mcgICqomqActb0WeVEgrhKIf0mbUl
	LLzVshbLK4T5YdH4lWQ5tdVI+37bS8M=
Message-ID: <b334a685-1ae3-4516-a20e-fcad6afa1b82@suse.com>
Date: Thu, 2 Nov 2023 13:39:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] acpi/processor: sanitize _OSC/_PDC capabilities for
 Xen dom0
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: michal.wilczynski@intel.com, Roger Pau Monne <roger.pau@citrix.com>,
 stable@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>, x86@kernel.org,
 "H. Peter Anvin" <hpa@zytor.com>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org
References: <20231101134154.18336-1-jandryuk@gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20231101134154.18336-1-jandryuk@gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------GeXtumTG9sO2J41GyIwExxjr"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------GeXtumTG9sO2J41GyIwExxjr
Content-Type: multipart/mixed; boundary="------------iNTgkfKdoQNMvuxn5MyuXCc6";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: michal.wilczynski@intel.com, Roger Pau Monne <roger.pau@citrix.com>,
 stable@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>, x86@kernel.org,
 "H. Peter Anvin" <hpa@zytor.com>, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org
Message-ID: <b334a685-1ae3-4516-a20e-fcad6afa1b82@suse.com>
Subject: Re: [PATCH v4] acpi/processor: sanitize _OSC/_PDC capabilities for
 Xen dom0
References: <20231101134154.18336-1-jandryuk@gmail.com>
In-Reply-To: <20231101134154.18336-1-jandryuk@gmail.com>

--------------iNTgkfKdoQNMvuxn5MyuXCc6
Content-Type: multipart/mixed; boundary="------------HmMJy3FbGtJNF6tRuGxYzBxs"

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

T24gMDEuMTEuMjMgMTQ6NDEsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IEZyb206IFJvZ2Vy
IFBhdSBNb25uZSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+IA0KPiBUaGUgUHJvY2Vzc29y
IGNhcGFiaWxpdHkgYml0cyBub3RpZnkgQUNQSSBvZiB0aGUgT1MgY2FwYWJpbGl0aWVzLCBh
bmQNCj4gc28gQUNQSSBjYW4gYWRqdXN0IHRoZSByZXR1cm4gb2Ygb3RoZXIgUHJvY2Vzc29y
IG1ldGhvZHMgdGFraW5nIHRoZSBPUw0KPiBjYXBhYmlsaXRpZXMgaW50byBhY2NvdW50Lg0K
PiANCj4gV2hlbiBMaW51eCBpcyBydW5uaW5nIGFzIGEgWGVuIGRvbTAsIHRoZSBoeXBlcnZp
c29yIGlzIHRoZSBlbnRpdHkNCj4gaW4gY2hhcmdlIG9mIHByb2Nlc3NvciBwb3dlciBtYW5h
Z2VtZW50LCBhbmQgaGVuY2UgWGVuIG5lZWRzIHRvIG1ha2UNCj4gc3VyZSB0aGUgY2FwYWJp
bGl0aWVzIHJlcG9ydGVkIGJ5IF9PU0MvX1BEQyBtYXRjaCB0aGUgY2FwYWJpbGl0aWVzIG9m
DQo+IHRoZSBkcml2ZXIgaW4gWGVuLg0KPiANCj4gSW50cm9kdWNlIGEgc21hbGwgaGVscGVy
IHRvIHNhbml0aXplIHRoZSBidWZmZXIgd2hlbiBydW5uaW5nIGFzIFhlbg0KPiBkb20wLg0K
PiANCj4gV2hlbiBYZW4gc3VwcG9ydHMgSFdQLCB0aGlzIHNlcnZlcyBhcyB0aGUgZXF1aXZh
bGVudCBvZiBjb21taXQNCj4gYTIxMjExNjcyYzlhICgiQUNQSSAvIHByb2Nlc3NvcjogUmVx
dWVzdCBuYXRpdmUgdGhlcm1hbCBpbnRlcnJ1cHQNCj4gaGFuZGxpbmcgdmlhIF9PU0MiKSB0
byBhdm9pZCBTTU0gY3Jhc2hlcy4gIFhlbiB3aWxsIHNldCBiaXQNCj4gQUNQSV9QUk9DX0NB
UF9DT0xMQUJfUFJPQ19QRVJGIChiaXQgMTIpIGluIHRoZSBjYXBhYmlsaXR5IGJpdHMgYW5k
IHRoZQ0KPiBfT1NDL19QREMgY2FsbCB3aWxsIGFwcGx5IGl0Lg0KPiANCj4gWyBqYW5kcnl1
azogTWVudGlvbiBYZW4gSFdQJ3MgbmVlZC4gIFN1cHBvcnQgX09TQyAmIF9QREMgXQ0KPiBT
aWduZWQtb2ZmLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4N
Cj4gQ2M6IHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmcNCj4gU2lnbmVkLW9mZi1ieTogSmFzb24g
QW5kcnl1ayA8amFuZHJ5dWtAZ21haWwuY29tPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBH
cm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg0K
--------------HmMJy3FbGtJNF6tRuGxYzBxs
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-----

--------------HmMJy3FbGtJNF6tRuGxYzBxs--

--------------iNTgkfKdoQNMvuxn5MyuXCc6--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVDmIgFAwAAAAAACgkQsN6d1ii/Ey+I
FAf+JuV7739i5ZJxj7ZNB1aWVSvAwnyHzpqgmGlNdEZmRe9yWJY4Px16TRKt/noBusFkyh040Wc5
Vabxf5AS5ZBXiDccE55IdyEbbujCVObx0H/PqxH6z0R3AWsdfCwDavUd60tbGzY2Ri0lkqRL70P3
S8KnWxDvcsBXnBIE7Yia/BqDJv5ni337RDCTMWLkrGiySfVmzJL4z3mTqgIPilBg250oi4FHJ7l7
gpGmVnWE3Nk1AUn7pMxzkSRLjzILr38sabSQmndcQiybIHR5XDx20jAHD75FilZ2UzmB2mgBiOPa
OZrI95z2K325V2RozeQF1ukjYMMIm4eRA/SM4O1gng==
=B/LA
-----END PGP SIGNATURE-----

--------------GeXtumTG9sO2J41GyIwExxjr--


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 12:45:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 12:45:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626880.977556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyX4l-0001Sx-3K; Thu, 02 Nov 2023 12:45:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626880.977556; Thu, 02 Nov 2023 12:45: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 1qyX4l-0001Sq-0D; Thu, 02 Nov 2023 12:45:31 +0000
Received: by outflank-mailman (input) for mailman id 626880;
 Thu, 02 Nov 2023 12:45: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 1qyX4k-0001Sg-1O; Thu, 02 Nov 2023 12:45: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 1qyX4j-0004jl-Iw; Thu, 02 Nov 2023 12:45: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 1qyX4j-00089K-9F; Thu, 02 Nov 2023 12:45:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyX4j-00071m-8m; Thu, 02 Nov 2023 12:45: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=u07aZrMmq0ODl0RkmNCX50UZIwUPI4ejJzcQVkMdAFw=; b=GuRJ47Ib+1iqtWXRYdAAfQlIud
	I+uxA5NJFGWtlAcUOzfi9sfy3kh1vtkf619RKUk4DnKgesypLxYMUoq3AMC8bBw6c7M0ybz015zId
	1cLgDY1lSsPqiinO0It9nALzZBhsZAGGRYf3ej9d8Vy9ox9HPcHFLHGwTANiHnyqqK0M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183655-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183655: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=649c190a1feafdb54440bebbcac58abc90fa335b
X-Osstest-Versions-That:
    xen=7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Nov 2023 12:45:29 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  649c190a1feafdb54440bebbcac58abc90fa335b
baseline version:
 xen                  7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c

Last test of basis   183642  2023-10-31 17:00:27 Z    1 days
Testing same since   183655  2023-11-02 10:02:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   7befef87cc..649c190a1f  649c190a1feafdb54440bebbcac58abc90fa335b -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 12:59:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 12:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626887.977566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyXHw-0004Qg-8k; Thu, 02 Nov 2023 12:59:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626887.977566; Thu, 02 Nov 2023 12: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 1qyXHw-0004QZ-5x; Thu, 02 Nov 2023 12:59:08 +0000
Received: by outflank-mailman (input) for mailman id 626887;
 Thu, 02 Nov 2023 12:59: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 1qyXHv-0004QP-8m; Thu, 02 Nov 2023 12:59: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 1qyXHu-0004yO-GC; Thu, 02 Nov 2023 12:59: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 1qyXHu-0008UO-6q; Thu, 02 Nov 2023 12:59:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyXHu-0003aQ-6M; Thu, 02 Nov 2023 12:59: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=einvrGqeEpywYjBguMrx2lEZ13vMNchF7G50fz8R/jE=; b=N0XQrE12mUmwG+zQCoEOq7OpdR
	dLEvkms+XB25np1/gdLFsfdljaf1GonNVR6SMNTFDczges36DtG/CfoSbaTT2kSPxFSL4RFbGqTC9
	ZlP8zFly+z1KH2/iDDBf/rBrfjZV6KgBHEr4eC7BF4ufTjmPIpAN4hdG1YyHClDrKyNw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183652-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183652: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-rtds:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-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-libvirt: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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-libvirt-qcow2: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-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
    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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c
X-Osstest-Versions-That:
    xen=7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Nov 2023 12:59:06 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-vhd      13 guest-start      fail in 183645 pass in 183652
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install    fail pass in 183645

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop fail in 183645 blocked in 183652
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183645
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183645
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183645
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183645
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183645
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183645
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183645
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183645
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183645
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183645
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183645
 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-amd64-i386-libvirt-xsm  15 migrate-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          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-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-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 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-amd64-amd64-libvirt-xsm 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-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-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-amd64-i386-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-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-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
 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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c
baseline version:
 xen                  7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c

Last test of basis   183652  2023-11-02 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                                          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                              starved 
 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-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-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 Thu Nov 02 13:13:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 13:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626894.977576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyXVb-0007gD-Je; Thu, 02 Nov 2023 13:13:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626894.977576; Thu, 02 Nov 2023 13:13: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 1qyXVb-0007g6-Fz; Thu, 02 Nov 2023 13:13:15 +0000
Received: by outflank-mailman (input) for mailman id 626894;
 Thu, 02 Nov 2023 13:13: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=Ro7C=GP=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1qyXVa-0007g0-4J
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 13:13:14 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93a6535b-7981-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 14:13:13 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-9a58dbd5daeso147912866b.2
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 06:13: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: 93a6535b-7981-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698930792; x=1699535592; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=KFX9nA8MiGfjc/Tli2bHISHS6okQzeLLaq+Zntf2zGs=;
        b=LQS8wnSLg0S/ZbnaQvt5FgZlGbnSavwJZCvHL8owzNzbLrbF6USF0TNF9Xrvwa8Hwe
         ZcMU3bkdAIaDcpPhuZuj4bhvtvHXs1yCyQunvUKYgo/L/KVRyAQYUgpx5AebP7o6kFJg
         Q16KH4Pa4cpJ4YScw3D1RWk80rAMoAqqhBU6EzsAUk191lb0kL3ONYTq75gjQm5aoNAO
         fEwqxBVX4yCQrGUh+olOUnscD/lT26TiB00rl6gD6Y8H/7zf/KweewMM2bZoa5xwNyQ6
         RXlrbHS8b65w6qyZ8hlO6VY1VLuZx3SnuyC3QcirLXDsUagoyk7QfWdKABD+H5AVWgmd
         PaKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698930792; x=1699535592;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=KFX9nA8MiGfjc/Tli2bHISHS6okQzeLLaq+Zntf2zGs=;
        b=jKof11QRWSKeiZ/7ysS0lS7a0VUW/NIBrblj6i/Cf+vGlYO33pyFRuBOJcE87hRAlh
         2wE/N7RkPBmHCS9cxi6CkbuCWGBEMA32k56arQ32l5JSEYEe4hjylWcNLJTVOpQjAXtJ
         AJjmvCEBGjA6y45olJnJVbcCwX2+ekHvfPoFZiqo7aH2NgX83JUvDKSyqfL2LiQGvwbS
         gG7oYVslWdDMwuKopsjr4s5qupjFqCbPMnlY+EUq/plDTRg4xy/dqDMsK/DixT4UBq7P
         5mURNFF+U7e2KzHWZAgmdcfKdeYBrcKyuHd+RWa5siz7RhJLGrTsTCbhD+7YoMV77nss
         dSsg==
X-Gm-Message-State: AOJu0YzXtJFa1GR025AZt512zcG+sGmSQx1uXpERAbUBLQ6S0Kuj1r3c
	lQoF5DSZkg6gYmKbkfBV3Qwp1SEiWCYPxm15CAM=
X-Google-Smtp-Source: AGHT+IGfraWbkNeaetVdnfAhwwp6CIfLTgdDrxrrTcz0t+E4exLwlPwbxwqvt4tbx+9OkFuAquRwQJdKjcWyzZ0NEWk=
X-Received: by 2002:a17:906:794e:b0:9be:1012:91a9 with SMTP id
 l14-20020a170906794e00b009be101291a9mr4537018ejo.4.1698930792341; Thu, 02 Nov
 2023 06:13:12 -0700 (PDT)
MIME-Version: 1.0
References: <CA+1FSiip1U0_EskJNgV3pSZPTCNOiTbpHosRLsy-6t1QQGd8Dw@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311557520.1795129@ubuntu-linux-20-04-desktop>
 <CA+1FSih0hORYZf6Hfmf=nY4jkHPvFSgGfc1tJfzN6smnKxcsxA@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311625260.1795129@ubuntu-linux-20-04-desktop>
 <CGME20231101025041eucas1p10ed2024f9ce4ef93840854a9ab3efcae@eucas1p1.samsung.com>
 <d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net> <601da5a5-07e4-4cb9-a257-de282a8f8be4@samsung.com>
In-Reply-To: <601da5a5-07e4-4cb9-a257-de282a8f8be4@samsung.com>
From: Mario Marietto <marietto2008@gmail.com>
Date: Thu, 2 Nov 2023 14:12:35 +0100
Message-ID: <CA+1FSigOeO-d9jpgzyZZKNesakg6WthWEjL8d=dM4waghNfODg@mail.gmail.com>
Subject: Re: exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma]
 *ERROR* Device 14450000.mixer lacks support for IOMMU
To: Marek Szyprowski <m.szyprowski@samsung.com>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Chuck Zmudzinski <brchuckz@netscape.net>, Stefano Stabellini <sstabellini@kernel.org>, 
	xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>
Content-Type: multipart/related; boundary="0000000000006046d006092b26b7"

--0000000000006046d006092b26b7
Content-Type: multipart/alternative; boundary="0000000000006046cf06092b26b6"

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

@Marek Marczykowski-G=C3=B3recki <marmarek@invisiblethingslab.com> : I've
recompiled the kernel 6.6 on my ARM Chromebook to test if your patch helped
to fix the "black screen" issue. And not,it does not work. Is this expected
or is there something wrong with your patch ?

On Thu, Nov 2, 2023 at 11:00=E2=80=AFAM Marek Szyprowski <m.szyprowski@sams=
ung.com>
wrote:

>
> On 01.11.2023 03:50, Chuck Zmudzinski wrote:
>
> On 10/31/2023 7:45 PM, Stefano Stabellini wrote:
>
> Unfortunately there is no easy solution.
>
> Do you know the version of the SMMU available on the platform?
>
> I am trying to discern, but I doubt we have v3 because we are
> working on a very old chromebook from 2012, and I am finding
> patches for smmv3 in Linux not starting until 2015. It is good to
> know about this option, though, for future work we might do on newer
> devices.
>
> Just to clarify. Exynos SMMU is a custom hardware designed by Samsung, it
> is not based on ARM's SMMU. Linux has a separate driver for it.
>
> > ...
>
> Best regards
> --
> Marek Szyprowski, PhD
> Samsung R&D Institute Poland
>
>
>
>
>

--=20
Mario.

--0000000000006046cf06092b26b6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><a class=3D"gmail_plusreply" id=3D"plusReplyChip-0" href=
=3D"mailto:marmarek@invisiblethingslab.com" tabindex=3D"-1">@Marek Marczyko=
wski-G=C3=B3recki</a> : I&#39;ve recompiled the kernel 6.6 on my ARM Chrome=
book to test if your patch helped to fix the &quot;black screen&quot; issue=
. And not,it does not work. Is this expected or is there something wrong wi=
th your patch ? <br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" c=
lass=3D"gmail_attr">On Thu, Nov 2, 2023 at 11:00=E2=80=AFAM Marek Szyprowsk=
i &lt;<a href=3D"mailto:m.szyprowski@samsung.com">m.szyprowski@samsung.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"><=
u></u>

 =20
   =20
 =20
  <div>
    <p><br>
    </p>
    <div>On 01.11.2023 03:50, Chuck Zmudzinski
      wrote:<br>
    </div>
    <blockquote type=3D"cite">
      <pre>On 10/31/2023 7:45 PM, Stefano Stabellini wrote:
</pre>
      <blockquote type=3D"cite">
        <pre>Unfortunately there is no easy solution.

Do you know the version of the SMMU available on the platform?=20
</pre>
      </blockquote>
      <pre>I am trying to discern, but I doubt we have v3 because we are
working on a very old chromebook from 2012, and I am finding
patches for smmv3 in Linux not starting until 2015. It is good to
know about this option, though, for future work we might do on newer
devices.</pre>
    </blockquote>
    <p>Just to clarify. Exynos SMMU is a custom hardware designed by
      Samsung, it is not based on ARM&#39;s SMMU. Linux has a separate
      driver for it.<br>
    </p>
    <p>&gt; ...<span style=3D"white-space:pre-wrap">
</span></p>
    <pre cols=3D"72">Best regards
--=20
Marek Szyprowski, PhD
Samsung R&amp;D Institute Poland</pre>
  <table id=3D"m_6730843707970249706bannersignimg"><tbody><tr><td><p>=C2=A0=
</p>
</td></tr></tbody></table><table id=3D"m_6730843707970249706confidentialsig=
nimg"><tbody><tr><td><p><img style=3D"display: inline-block; border: 0px so=
lid; width: 520px; height: 144px;" src=3D"cid:ii_18b902868a6c204bfcc1"><br>=
</p>
</td></tr></tbody></table></div>

<table style=3D"display:none"><tbody><tr><td><img style=3D"display: none;" =
border=3D"0" src=3D"http://ext.w1.samsung.net/mail/ext/v1/external/status/u=
pdate?userid=3Dm.szyprowski&amp;do=3DbWFpbElEPTIwMjMxMTAyMTAwMDQ2ZXVjYXMxcD=
FiMDE4ZWY1YTE0MDU5ZjJmODI1ZmEzYTkzYTUyZDQ4YyZyZWNpcGllbnRBZGRyZXNzPW1hcmlld=
HRvMjAwOEBnbWFpbC5jb20_" width=3D"0" height=3D"0"></td></tr></tbody></table=
></blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pr=
efix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></=
div>

--0000000000006046cf06092b26b6--
--0000000000006046d006092b26b7
Content-Type: image/png; name=noname
Content-Disposition: inline; filename=noname
Content-Transfer-Encoding: base64
Content-ID: <ii_18b902868a6c204bfcc1>
X-Attachment-Id: ii_18b902868a6c204bfcc1

iVBORw0KGgoAAAANSUhEUgAAAggAAACQCAYAAABtVpNkAAAABHNCSVQICAgIfAhkiAAAIABJREFU
eF7tfc2uXcdx7j4kPTCidyCZN7jjAJYoPkEykGehoAB35omD2MAdWLQGF3ACe5LZBSyQnkkDv4FI
M0DuM9xRRL2DAw8sct+uXv31/rpW9d/aa5PnHNUBDni491r9U11d9XV1d31X//7v//7RwX9cAi4B
l4BLwCXgEnAJkASuBCD87Gc/+5NLxSXgEnAJuARcAi4Bl4BIQLCBAwTXBZeAS8Al4BJwCbgECgk4
QHCFcAm4BFwCLgGXgEtgJQEHCK4ULgGXgEvAJeAScAk4QHAdcAm4BFwCLgGXgEugLwGPIPRl5E+4
BFwCLgGXgEvgBycBBwg/uCH3DrsEXAIuAZeAS6AvgSGA8C//8i//dXV19ZCLOx6P3965c+fT8O+r
N2/ePPjtb3/7Xb+6+hP//M//fP/u3buvQ3lP/u3f/u0P55R1m9795S9/+ZNRGYdx+lXo+6dBfn/b
kkF47pvwzONz5CQ6Ed5/Fsr5oldOePb34ZkH59T5i1/8Ioihrhu977mN0v+gzx+H8r4MbfqnXvv1
95DfqLxny7/E81vHoPbe1vIu0bdzy5zR5XPr2ut90b1gf//0m9/85j+sMkVHw+evR/X7HJtwHXWh
1Z+/fPLxT95cXb26+9fjgx//8UXXb/35p4/+8XC48/yDr765mh2/P3/y8TcffP1iZWv/+6ePf3U8
Hj794OtvTFvd+362HVufHwIIKDwp3QGGfsZ59RroAKEnoX2+32syzxjVPersAYDe9yy9mWcNcJDB
jgOE80DfPhp9fikzunx+beeXAFsZQO6HNYAwU0vo/z+Gsp7/67/+67QDlHr2mN8z7e09u3d7tgKE
re9J/24VQAgrsReyIpOOQck46qAVGQqOgQ7vf/727dvnKYLwLaIVeA8KjOelDm2cYfRDOa+kHH6W
FSqBnIeoQ+oOf/9anpG/ZUXM9UnfAIi4T/Ts78P7n6X347O6vdQPrFy/TW2KK/CWrBiEyTvcNy1X
lkkyeiLLOC7S3vDPazEEaGv49zn/n9teGdPh9ktbSK4vpE4dQajIMxorPX7s1C154fvw3hPpp6yc
LACr6pRnD7o+jJ9EyVK7I8rXehE+ehV+P01lPISu1PQHfUoG7JHxXtYl+Q56LnKUtojOSh3pPYmA
RH3T84nmYHMMGnpqvmeNKXQIsgrz75E1/6TPep7odtM8yRFLywbwnGSZonySXdSlGV1GeUmfsi1i
O2G1U+oIK3oZpxxRTbZmtYqXslEPoq+WfEgPC/uq9T/I/BnZM9igGEEI332R7Goug+2GYYufJJnB
Rj3l+UF9r+nIauzQ1zSHmvZS2dtob5K9egLbjrkgsgsyf8n+IjzzQNs0rl/+5gjCm3tXL4N1/DYY
gVhPQEif/81X33yBZ+K7MufC9xJB+PMnjyVy+jKs/P8pOvHD4dfx8xRlQF0SnXjzo6vXp7rfBltz
5/nheIhyvbo6PEMEIZT5+1Bx9CHyI+XdKoAApSEj/SD0M4a6RcnD309rYW+gvTCwnyVFhpOWldoj
GByElxkdSn1SN5QiGdQcWkvPimPKYWQAhNS2qKwacGhnJO0PiijbH6vtlN5qNDnqZzJZRXGlLoqW
iNOWn6qs2MmFNohDq24hWAAhOf289aDlR3IVxX+6KO+VAIe4OqExjZ+PtB9jxoY0FPstAwTLeeso
ktXWUI6pW1Y7+X1MPq6DDE7c1sLz4dkInNiQ4n0uEw5TZML94a2yNP6i/3nbDM5Av4dtOl4hhjZ+
JAAhGcMP0S5pD/Qx6MWXol+i59B5OIbWGKBP8i/0FEBdv4f5qT/XsmKnyPPPmiesryRf1tVsO6w5
aW1FKtlFZzGqy7xdluqLW1BJNlF/LacPR57sSNx603Ks6E+MRkGGBBZiGbAZuv3QW62fqh0aIMCu
rrYe1HsRVFV03+wb5BPaGwFzy+5bemCNLexQkmlsk8hH+QhTV6x5z7puAQTZBmCnLEBAnLiABTjw
JkAIWwnBcr4W4IC6OIKAv+8ejx/++OsX/2EBgL/8w8f3BVTIM2+vrj5qbUFwfy75965bDGmgxend
F8fLDdfnFGSiETr81gACWVEVKs/hMBigNMlgIIvzEoI2GZykCR5Xs+n9R0mhIyKGEnLbsVet2gyk
npG0vIPVG68S5P3wlex1ZedOwKEpK+1IVblx0leMa0S6ycDFNqbJFo0SDL7up0xyTEZxWDSm8uhQ
+0N/PwllfM2rI6nTiCCwDlgrsDzWBADESa50i50ygKPoDQAQ+skAQYM+GEp5h2XAMtIAATLBOKHv
lv7QOEXwK3qH98Qgy/fSZjwn7RC50dhlQ3nv3r378qy8xyvIVMbqfFDNaGo9DTKRFTevgqO+GKvj
qnMLbcrnlTD/AKbQt8o8MW3H999//3ehv//ZkinkqGQXQS30sKfLBkCAU+W5JA4W9qOY+wnEyZjJ
WGZnqfQnl2XNW/lMA1XdfgPEWe2IoJEiCADBuf1UP9vUrGMArKM6IvUN2P1VWznilPRX2i4/cY5Y
cxeA3qov6KoAh+qZpzVAsCICj0Nw4O2TD756+YfC0VciCEXEIVQuTv7N1fEBzi5kgJDOPTBA0O9K
vVeHOw9uM0CQMW2tdHkfV0cKgNq7EQQ2CuSMmodzegBBDNdAVGC1Z6dWLs9C//P2Qfg7hLEWx9ta
gbMhwd+1cx6WwecVWQIgVYAgzrqyqisMBBnVbgRET+SJ1ateIRQrem6rTHxLt9QqJIcx9b7qTATB
OnzbAwjSZwuYKCexAggAFvJ+cIjfAfBIfwcAQtw+4kiZ3qfmVTA5hnzQFPpSizz0Igij86+2f05O
0XSsrTnJZSrZ1QCCqcszACHIUFbZcT4DWIoMRLZweLItwWXKd5b+hI9jGL8WQWgBBBU9zfMIUaVz
AQIWMtKPno6IjWvZfZ4DPGbWfOGoBmwggCJFPc1D2fMRBAMgVCMIp0gBRxa4b4g+HA9vX/cAwt3v
j48QNTh8f/hu2Za45QAByoSVBFbgZJjyPjP2Byl8NHQGQRm5HL629tRUeJdXANlQY4XDEx516Ikv
n2Pyy6ShfiKqUOyzyfMIT0rURPocPpJV1uoMgpaV2mKIIWa0S4cBBwEC9mVlL6zYX+QwtjZKaUy7
ZxAo2tLc/7bOoaQ6sm5IP3mlydshWrfYgdBqfnVLwdjGWNXHBl/fzqEog8jvGQwiRwJ4H1T6YETP
zAgCIgGy6k5jLOWLk0P0x4wgwClCL9iAyrtJX1fnQMSQYgWWdHK1Mu59HsqOjhJ9rM2/yjwpZM+A
Uo8v5M5zkscG5SvZRSAwo8soH8CYHWOKxkX7wRE42DBqf5wntdtdvCKnd6p785X2R7sTvvt5ACS/
wxhLvVJmaF8EjSMAgccM5dXORpAt655B0LZM3h3RAwab0h/YWzqnlm+6qfKwuGQbJ4uzIhIxEkGo
nkHgswZynuDq8DBtPazOEWDLIOrU8e3PD1d3foebE3o7Q8rh8wlLn+u3HKCnl/53aovh0o25zeVr
p9OLUtxmWVy6b+ys9zjlfen2evm3SwIcpbxdPbuZvZHx0NubN7Mn777VDhDeocxFUQkRF2cj3mEz
bnVViARZq5db3XHv3LWQAKIDe+SGuRYduuGNSFFV2X7z3DobxtIBwgah+SsuAZeAS8Al4BK47RJw
gHDbR9j75xJwCbgEXAIugQ0ScICwQWj+ikvAJeAScAm4BG67BBwg3PYR9v65BFwCLgGXgEtggwSG
AYJcy7hzPP5JskCN1jNLilErd69yRtu9x3NC0qEza3G5/P2ff3pKyrFH3SjjnFzgVjv2Lo/r4GtF
x7fH/xsOc/4/zkomz8Z7x4fjA4v8pCc3kKb0UpiaGc4GyV2WcZSfJcFKr03nfD/an3PqkHflkBdI
gS5182ZPTpet/d160n3mvd79/Nm2783JMFu/ulY9RQ6VdGuVlAk6F/7tks6lZ6frtfrJfZmRw+x7
nN9hr/kEHZxty0g/hwACp4B0gDAi1rlnHCCMkZNsBQgz7/UAxHUAsZcEatw/7YD2Mmhzs+PyT7PR
nqlt9r3bDBBm5IZna/lGZhxdulI6zFq5pZ2td2bayqBoKzGWbgvr1GxbRmQxBBAiQYUkcgg/MYXk
4eoJyCVscovDt0JjmVeFiexC3i+ILdTn8n1BXBG+l9UiRxDkGSbBQG5rK7HFku7yROtpreqLZBap
fwKCEimHsHeEfp9WhIuzOTyCPITIQ9pYfH48hFShkmZTsmIt/8pquEzQIc8snwMg3P3r1SvuG+hF
QQoSBzSR9eQ6E8lHj2SElYHHk9ofsuqNk5aU5YVoSUpoAlm15VrWg4xjS/+EzEQSBS2ymen7Mmat
siOpWEi/vCQgGSVJUYlVJHtbJFpakpscX9z9/vBZoZNC1CIkMGnOYGxWOiJjl5KtLMUdPhfyF8yz
rIepHKuu+E7qz4zMJcc8j6FOmpQSe+UkYJJ8J2W8ExkuxDaJr4OT1fBn6ZmHIcHNH8Pn/0OnNEe6
aGSR5ERdaNsI+RscjSRJQoIlTniG5Empfk5slkniUJ9OtV4hvvoSCYgm3zOTVYk+6bTboXxJ2bwi
9JL6cJWSEzTpZFm1/qO9PN7ymX5eyTHaPEpeldPMh8/BvcAcOAXJkpUWuVNfwbEgya4W03cizqN+
cL1F0jpOD066FpMsabCroiGSYbQgupOEWZy5l1OIkwzM9PbqvTh/OGNvmifTpGLQe8gm/GuSx9XI
3Hj+1/4eAggcQZCC4HTj30IukQwikVuEgTo8ky2J+GwiqIAjXBpz53n185SvGikrczkwvIlNS+fI
rpFrxLb89fgcKS05CsLsXOuc28cAdEoub06veTLIYTIf73wooAlOHWDk7iHUG2SQs22lELm1xXA4
BuAF0LAAkUNIxfkFtxtO8G5wJAPjELN71XjMa/0dIS2BQlmEJJrUZLCeaIQWx71sz2zpuwAEg3gl
b01sIUlZAYQk0+LzHx1D/v2g04uORhARQTIRsABYZx2RLYkAJiNITOBmAX5jxC+a9W1El63+65Wc
OPzQ/hXhkMouGA1z+M0cI1JO+H8kZktlxAynMFDMvifZHsOzD8Lvh2zImXiKnIBJykPfx1C1Aic5
vTlnK5RxkfZZpE41sjdOPw1HnLIVRjKokfckYRfLhNpey6opfCCRSE5lU808Axg3zpyYsj1G2yEO
g+ViOYEWuVVqr8hRwGBsC2ciTeNXAATUyQCAV8uD9WWd6pF0WREEjuykPjwVPZM+SH4U8I1wuyyA
kEAy655OTf4syRQyqPHf8HuZIFATzEFP9ec6PT+n79YRhFBGzLqqdCbycrBucFp2Sy/w2TRAAAEF
F3onpJF8G9JI6r1XfXZAAMKySlpyVCPtJD6XMjm9JELD7AyRq1r2eAvjG5ywRa6xGMSjKEdeOXLb
ObyvjLkMfqT1LJ5PEQQx/vJ5zrt9PNwX43P6vMjZHSIwb4OSBrpPEICQE8jA6XjnaY5MRGEcvg0A
49MyCrLswx+ujqEsKY9/EqWoQTLCTxWr8vAFAB76W9KY2qQlKA+rYvQ7f07nKmpyLeohuWpwlfUk
nUGo9l3kZ1Gx0tmFLSQpVgSBI2RMzLLI8hQdaupImg+JMS4alwUsiO6EaBsY5lJUQT5baGQXMLIC
CJMyx1jp0CSMjuZfUMY6tjH8mAQ9QsMr/YEhAugQAyZGOr0rK+SCKRUrPbQtOb/oLFmHORGRAXBq
RFLFfjXalPoAR59XoXEKLmmvC64EkhuTHK3eCzL4VKIuLdKyJOtqBMGILGTeDc3/ghV+r93y/Qi5
FfRA5BN+c7pikpsUpQGCfFakNt5QX1wJg8CPx91I288RBIu0Shx8bJPoI/2rWX41ECh4bIgKIKd5
lkINYLHiv1HzJuuMBgJbSMVqWwwq9XumA4duiF6xXGt/TwMEKYgdFgou6THTCjCtnjUQqAGE1eeJ
MOOcCAKHXRHqZWG0V10VgBBWkNKnKItErhEjCBWAkB1ycPgmgEiGnSMIaKM+/2FFEH78xxeCuONP
jaY0f59yifNWTxMgVEhLrPJqOc5H2NAYaMxEEHTfxQisuNoNgDBDkjIPEBoRBNaRDkAAEFqNVQ0g
ENPciMwxhpMRhIIVMJQxxFoohjSBg8zaGedPIDgCKDA4K+LKK7WzRf6G3PtoWwRb0jZZQSsHPRxB
gHxqZzHkeyuCUHuvEkFYhdMBisSeVLYeIlNhLYJQG1erXRa5FXOeJDnGCAJz0lAEqBpB0CRL0q/B
+swIAttt6iMiWXGsNXkWA06E9eVd9JHKaQIEpvIGL01493X45Qgag5UcKQCgSu9VIwgGQOiSig0C
hBWZmyVL67MhgADHg/14hNNjgcnpacpKMWqzEQTm3l7K3noGIazgdLg/7PsAqLAgOmcQqhGEWMbV
sgfNZxAsAIA6GKBYWwz6DAKiDeU+/HK+QZ9BMMchnfHgLYaSQCSQRolclnMlz8QYaOdaIy1hGca+
YF86RIhkHEfk2osgjJ5BQN8Z7JVRkEch9B2iLUFXZbuJziAsZ2viuQcx9osz0iQpswBBQAuf89Bn
ELKOdABCcbYhjaWM1Yn1LfTqcPjd2+Ph73k7A2OTt/AqFLU8hrwnzXu9YtxkZSoGVQwwOQ8mPeO9
XxDm5HCr1EOhaaZQjlsQOoTO0QLrDIKxigRAyOcjtKMAsRP6k5xEbAvv0Wpq6RrxFW+dSFmj78mz
zAvAdeMMRQsgyFbFyBmE5MALNks13hhXJgaLDglnG+R5oohfnYdQq+faGYQ83kmPrPr02RHzDIK0
xwCRsV4+E2KQZ8UzBQlUZQet5NEFCDrqkmRTOy8R+8Th/qRz1TMIHVIxOb8i5wAjwR/aDpCYIl1i
vyJg4whCjcyN+1/7exggjBT2Pp9ZOQdiwuKQ7bltrIXUzy239j6fc4jc5J3rk5dqh5frEriuEtAR
kOvazuverpoceRvkuvfhNrVPj8f7uEV0awCCjmCcziMsd9Ot6MEWZXrXAEHaaJ0Z4ND6ln74Oy6B
2yIBBwj7jKQDhH3kuGcpcggzRCJAef3OCf5uDUDYc1C8LJeAS8Al4BJwCfzQJeAA4YeuAd5/l4BL
wCXgEnAJGBJwgOBq4RJwCbgEXAIuAZfASgIOEFwpXAIuAZeAS8Al4BLYBhA0mcooSQgOWOhrSWiF
fB/+7ubR5itY8q6+6vIuxlXaqq9kydUpfM5Xfra2R1+jkXJqsttax8h71Keh8Rkpc8szfH9Y3tcp
Q1HmFhnx/eGRtuEefxqTeHVr5L3ZZyB7fo8PKuHz2TlglTvStprej7xbe4au6XXlKHMiXGH7qCVv
PsRbyxp6Tnv3fncvoq1zbzSNcHpY2WzfxQHpc/q2l3xb417mGWkT80k5aJMuE/0MifRCPpFT8sAR
nWMCxUvx+QxFELYChD2uZegrNjDUe5FdjAwETvfqOmedTK8uLWe+yyr3n3vv7/H93n06p00aIHBZ
nPZ3Sx0z/WRAnABCzo63pe7aOw090xkAcw6Ckfpr5fbe3fpeq1y6ty3ZFFcZ9/S7LR3As7jivPDD
XJ5Jsye3UceylRjsnPr53RmAoLk79mrD3uXMELOdU/eI7Eg/uyy0KG/0tt1WAsXZPp8NEAK6j/nI
jeQanDxF8q5LulJJ9JBJNxBBQJILJArh1VEPZIgBoXKRlEMM6EP+XLK4pbo5UYskEkGb8HlMpIFn
Q9ue37179zUEK0lMUvrUn4fPQ3rppT/hn5xRTq90VQaxFdkNym4BhNCOZ/IcktaEP2NucbRTKHlV
WleTxETawnnh6QpNzLYlY0l9kj+Rwzsmo0FbVX7wap/gEFh+lE3NIv6J13pS4g95rUgMgnIULwAS
5SAJS0yNy3WmPudUrGnMYtIajlCFz81VbaovJgFCuTUSFBVt4MRB1fHTeqbyxJsAIbTjeZp7sd8j
ZETICAe9J31g2azIiEjvH0hdek7UdEqv/NOcPzD/ApIYIbIg5SfeBmlT1nEripCTWMVkX4egwwvJ
l5RhkXctur2QdcVnDKp1K+HWkuI6kK8RwVyRiOpqIbOzEqehjXfeHD95e/fq66yXiWgr/l/eT0nX
cttTmTrRVkruFROmMWcJyi0Sh6UyWqR2OuqSE59RArEim23K5In6TvwzJ1K/3OaUubWUTVxxP2Qy
M5CUnfpa8rGMyL1IwR5kGXTnRMzG7QiNiYn8Ek+KVXaWJf1RSxpXJL0jYkOmFUD/FwK/RPbHpH4p
gsDkbTqDakzABrqCoMMFgSJTDag25ASEimRO8wxZfd4NIMDQwKEHg/dKjIiR0pLzlxdZsCzj3AII
HF1QecnF2T1MBpNTXupsWciuBQfzSejH15xSlBnmOsQptUxcsWzK5c0gptheqWwxNDPPwVindsqq
7BWcjYyJhGfDZ0iHGjIKrsl0eHuEV9YGgEMq25jrHrn6MW54vkYEgtUg2qffk7aLrFrkJFBiCyBA
B1nRdZ0aILGjYlnCaaEsDXRGCHoUsc+zUNYqc6AaPwF9sf+qD/kuND7nTIHUp0z80yAjKjK/iT4g
5z0D2aQ7mYxIZTvMPAscZUiyxpzK9XBfeD6rMYw6BcBGf2eiG8uA8Sqcs2fKs0yAhec4xTZ4ZdYO
UlhBy6yiAAjagTFXi0pvncnHChBzJU6deDQCz4bOOjtM9qWSpqF+aaP0P2cMFecYeEoSg2kk0uOs
tdx/7gNngC3T3ZdcI1KXzpqLsWIAtmQXDZw0CyndQ2ZUXROPlQBhTu5Lplk95icenIXPBplKW2Wz
ztXS2Ne4Y7IMKNU7k/0tOrr0M28xgNgwZT/VWw8ACJp8kPh8csr/GlFcbays+bUbQNBpIskJwKlY
RBqRZYoiCAURhjS4AxBq5CsipLw6DH/GUCZvTyRjFok1KA3s/w6G8X+xoDhl6ShA4DZT2RF8WKlq
UZ+OICgnkVPXame1GIPIjic/T8Pvs/ALUJAjIigPrHrh/ytiEQsggP2Mctpr0FPk5+dUshhD1C3n
BfR4Y1UZniny+o9uMUAeOvLEdRp9KAh99JiHPvzBmjAYoyTvHBVLY9Ai9hkavxpAkHmigZfutwZo
kJ+8i3I5WkL6EKNhRhrbDOZZNxn4a8IgS6dQT0VvY/IXno+G3ptRJHmuoC7PLy7bDNXU28EoL6tL
Ib06RRzwejOCUJCtNQi1mNHzk49/AlZbBiUWcdiS9nwdCUkpwquEcLwaXqVhTx3LUZAGmZve9rDO
IBzuHe5LfyCvUySFaN8NGvT4fF41L7LjxHNl6nUVQZiSuwIImvAuRRNW8iCSNGvuF2CHOW2YeI/S
zpfRJEqPb3D2rICAIqbTfEZ1gHBiBMb80LrDgJWZja0+DwEEpvgUw8mGKRjeuOppAQSpmAxUdi6g
dm0BBI4SSDlqxVJbMUUETauRGkBAWHYVQeAVJNfZoF4djSBUnekoQGg9RwfAMjALolgR3bBBVsCJ
V3I6wlOLIFT7xE4edTYAQgyZb40gEIDJq05dZyuCoKMGmDBa3sTCJqCscNwNYp+ncJ618WM9U07S
PCxqAISpCALqGCEjmoggrEAnAYTi7ISyIzJ/EEHQc8kECJahK8jXKhwUWCVLu+DcWN4qZBwp02vO
pEao9fZHV0+KFXyitx8DCGLkK3ThTcbYw0NEA2rnG2bI3GoRhBo5XAZYBSHciQ32BMBObKVbAUKV
yCwCs7kIQsmwuwAXEyBUiOu69Ow6gtAACBTliAuKwOb7HOSI0ibZ5pKIx6YIAnSKAOsuAIEdMwRH
K+Hs8MXAImzIEQRsN0QAuewNfZxCmHHfuwUQUt3FKlhRvdbOIIwABCHUQBpL6wxCXN0oQpW8DQFw
pIkyOmcQzgYIWiZSP+g7sUJUe9hNMh0FEHg/X1bEI2cQWgCBz3TIWY0DbU2s3pNVsIzJljMIzNpH
e9exzgQWR84gmOlMeeUtOqzJepJur6JleFavkFV5Kz1TOj4EEJJerOYD6yOiR0E+OHuDMxKFbHT/
Qj9W22+wBQp0mQBBkzXhXd5m4DMIvG0iYymRJwEQ0Ed5X4dr5TNFALbaKsj75XL2gNhVC4BQ7JsH
Iq+rw8MaQBgh1MK+cpNoSxntIbKvtHKFE+E+ZIbW0Pb4eVi5y3bIFPla7QyCOOF4IHT5Kfbz02fm
GYTw3YkO/bwIQk3uAGArYrbWGQQVnTiVXR547Z1BCNtXXyzsvsvPSgaLPCPltCb1QwRBn0FIen4i
lQvjSWdSls9D+yMZXe6HcRYkgpQEOjmidTiBUdYf/D0UQbBevOmf1UKaN71f3n6XgEugLwHs5d6U
0/n9HvkTe0qArxDuWe51LKt2BVPa6gCBTqVfx8HzNrkEXAL7SSCvAivRg/1q8pJusgQkgoNV/k3u
R6/tS8Tt7Ws5s+MRhJ60/HuXgEvAJeAScAm4BKIEfrARBB9/l4BLwCXgEnAJuATqEnCA4NrhEnAJ
uARcAi4Bl8BKAg4QXClcAi4Bl4BLwCXgErh+AOF95yO/pE7wtRidYxsnR7eSkoy8l0ls3sGBLOnr
26urj5YMbX3ykkvKncvunUbeo61WXvaZbGXS3hH57dHWdyX3Xj1b5/2InHp1a/3g1Msz7+LZ2inw
kT7i3Vl92dLO3F4jvbR8Z2Xja8mqdfpdt4/zL+jvdJ4dncvlnL7W3tVJxS5Rx95lntvmUZJFbrdH
EPYeRSqvkawkk3dc0uhfsuwZA3BBETeLfleEJjPELbUGlwlsrg/Ael9jNyKn69C2c8a+SGuMu+mB
8+HSbIk95j9OXtQYhy4BEb87ChBCbhlJz38RMjRuz7nO9jro3mwbLgoQMoFHbNWSQCKn90wtLRKB
SFKIlKRDPpfVpUWScnW480A+R450iziD6Vzj9+FHZ7tC0pTYlER6AkUHuQnypp/ajZSsKrMXkoCg
HINwxHKQJfnI29dL8gppz+HbEzlMyIueP1/6En9SwqYWyUk54dpkJm/oOEqMAAAgAElEQVQkAUbu
R8idDjKQVEhJVrKM1Z3D4XdvD4ef52QdSdaxbZYsQllLathTXZGghFLYmuMCeRLxjc6HXyYlIflJ
wo/a+KjyONmMRZTD0Y5TopIwJmksLBKaUdIbXhEit/4yziUpj3zEMjrJz9CJIqXrOhnKSj9SP1rz
VTKpRYdB83UhmTlEcrM4p8NPTK1beaZJKhOuUEV9V2NjpRnmuaJtyyKXw32M/UrPjEQ4OWNiQ8+4
HZauljItda9I1hMfTAlrKMEQbF5pww5f6qQ6cR4FGUNPc2pdIxqXskUuuhRV6vB54laQxFDpc2mL
/CQbFP4qk0Sd9DynSk6RhcDbEPP5o3zMfcgq8imwDbs6BjsHW3d8AdtskT5ZeSfguEISr0yAF3Xu
zZsHTORFyfk402aRiC0lRDOT9zHZF9K7txLlSRs054rOpEsJ2VYkbynXTpWgTdrD/Dsq4V1OeEZJ
w2LCtPD7QP6V1OuqPTGrsbQbCdrkb4rI5CSFo+zAQxGEgoSkyEF9IjVhukqkg2QWqRpJiibUqLF5
Fcxph2NwuKd0mJoqE2gVBmXlfMDiZeT3NtndKCQHwhG+N8qIe0WQQVmzYGyYknRZ5VNO98Q0Z5Gc
lHX2yUyQdvZkjHKOepOsBEZsyRonjiHwk5ODWG+TPGbiF/pbEZCkVVEel+Q0tGFSMl2VLfd1mTO9
V97dv169El3U6XTX8jfIUtKYA8BGYpkJ0psVQAigRpPy1FLWVnVCZc6rUcPOzNfFuUeAEDPtLTqz
zC9NQiMOEDI9AdkllS6ckc4Zn8cMJDSWXMsUtnnc7fnCOlfL17+Q8SAdb0vPCoBQCb3ndljMj0Va
4QX8oz6LIOrw/eE76CSnXVb68lLy5+t0uiSP0xgxr8C9q5Clbxm79SJokUkc18QIqLcDiy0G6CvZ
ymIucPpgwz5CH3ghAp1BP/AvbzHIZ5y6H8+klPtIxR1TqYuT5Gc194hO/28BBGRYDWUV6egtivcE
FmIq+hGSt9SeHkGbZFaMqcSp/dJti2AvAgTwynB7pB/MAZTKehqeF7AHuUXgBMChx8H6/xhAoDSN
XAg7MSjkaaWWnJEitQiNK0hS6oxbi+O8G1YyyEUd6S5JMdEWg2BkMRCJWlMnvGhFEAqkL/WD5pU7
nozpacKWIeECoAwBhIUwpnTQp5SdsZ5KnWvnX0RDVvm8F8rQZMhy35axKtLU0jMgZykNbeo9OZYT
S9wij/D/74qoUYeABKsLPT7dcU4rmC6hSUGkskQlVmxqADMnWtW8akU7RkhvrAiC1FcjSqltMVgE
NosjL4lxCsA8MV+xclWr0Je5Dp6DAhaTg8tpXSEnDd46n0eV5shhAuuFfTHHywAIlK+e9Rsreq0X
vIq12CDRBr2w0LaBIydWFEWvuFcAm2wj68vC43CU1WCmKy7lclqYqQXJs/BcHDt9pqEEjSd+BAaj
tTMI0E2MWWZhJEbEwrkEm2DM/RXwwzsjAAErZXFu2IIIjlKAaXbsABHhM3GCK34gAyAgjXxMM85k
fGgbRS3ElkYaeSbwK9xCIMxjkjfFdxOdMz+PiAnqwHechh2fEVsv2ly0h+kMqO1FevKLbTHU9spC
6DTSvkZjop3OyXHkHNAWSUoXIHx/+IxXgbzCyQ6a6k4gIipjjCAYDlreW63QVVSimHjEtV1MhPSf
8yMIJUDIqzrDaOY+YzWZ83+b2yULQFg9U9KdwtiPAISwnfCM6GJzrnvLwRkMZcu4VJwJG+49yuMV
WNwGwQqKHGgPILBR1Ea6RZt7aYCgdb9K2Ut729Z8ha6dCxCYDljahihibayVs1lHn2IH1wx4ll7U
9DtHEBToqwEEyLR3dqW0DSf6Zh3JtCIIeUuHoi46sgT5yb/WqhtbDDmqJVELAftkj3sRBIugSEcQ
pMxTW94+GYkgWHrJpE+tLQZ2vJpZVMoVhyscIsRvUmwlYAUegMOfACLkvcQ+WmwB8BkEcNFInfKs
gBBQtfO2hoAIbAO0CPPI0WcG1wZBGxPLYQvhu1CGRbCXOVnQZt6WsJiPVeTlMhGE6FAJzUNp22cQ
1ntc2THTnnwPIGRe77QnCrrQmTMIVsrMcr9RSDQQVj3t7Vb33Y2DRLzfTcY2g6PCueQ9+KVeUM5a
DhrvWbcg5L2RCAIDOJRXEqyMRxDKsw2n8yBZnpnOdQE9rTMIrZVdcQYhNJrOA1TPIFjlYVyCo/o/
wcD9z8XvLLoZnaPmYzecCY/tKOnNBoCw9EvJz4og1EhhSgBzijC05isc1rkAIe+BxzMWy5mW5SyD
2hZKkQUGCNZY82KiHK90DkDrWeMMwmgEoRzn0156dnqy/ZLJj5bvCxt4fPvzw9Wd36G+anQinefh
d82zB0FHrW0kLJJW55aIvXKxtXTeiedQsSVAEcfBMwgMTJaxpjMJ4pDzlmLSwQrpE7bYRiIICSDE
lT6vuC0SNQUmhJBPQEUXIKSQPUCIECvJTwz/W2RjFuEaz8ERgjY+gyDvgmQPYGiZJ0cQqmWAUGlP
EaXgLZZUzmXOIHCne3/XwsN5ktH+V68s+d7eDlhzuI+U5c+4BFwCLoGbIAEO/ev24mwRDl3fhP7s
0UZmnd2jPC+jL4GhMwj9Yk5P1ADCOSQp1rmAS18FmumzP+sScAm4BPaSwBLqP63EHSDE7QXQwBf7
/HvJ3MuxJbA7QHBBuwRcAi4Bl4BLwCVw8yXgAOHmj6H3wCXgEnAJuARcArtLwAHC7iL1Al0CLgGX
gEvAJXDzJeAA4eaPoffAJeAScAm4BFwCu0tgGCDICVK5XyopGq37ltKy2ue7t/odFLg1V/eInGaa
v7UdM3Xs+az0P5S3usO7Zx3nlCXy1NnT+KqRdf9a14cyRu5Cn9PW0Xe3JEBB2foq1midez6n0sVK
cpeYDGaPOvgeuFXeiOx6dk3aHxLVfMSJeFptJx3M19b4+Zs251t9PWeOWHN1q068D7vEuneuDp0j
x60yk/eGAIKeRL3OntOgm/zuiLG5yf0bafv7mIgj7ZJnQtviPWHcNSYnOQxquIz3NWl1f8/Ru+sA
EC7pHN8FQECCnhGAoBLXmABhVJ9v83O9cbsJfZ/pQ0+H3petGQIInLQBqS4lmxWILpDbGcBBp320
cj+DQEIGGqs2GF8MPqe+lIxRkvBCvpOkF5IwQ/5OyS2QQANJMSIJkrSPsm7FpEVhEv8tp+0MbX0W
Ppf3PkbZKS/2KmtV+h5JKzJJCLWjINiQbF6cqpPbn+qIbUptzRnCLIMZPnuV0nxmuRuOLifK0NnG
RH6pXMl++SglD/ky9P8LyR6GOjFWSWEz0QinEGVny+OCsQjf5zziSC+K9sCZoT4kMFFJR17IKl8/
a/S3Kj+VaOTz0M/n3E+pV9oZfmP61DS20J94lUqDHd0eay5IG3vtTvLLulKRQUzskoyMqSMWCUvo
5wMtc8wr6IDMAcifxxn6n77LUaBKhjZL12TOPLTmqdVHzJteBEHbBZXpbmWHZNxgH0TvpB7RJ55X
luyQPQ/PQd9qdg258ENdn5HsIj9A+n/UY5J1ITOacy3bsyIjUvaB+xptU02/Uj9MOyoyTW0Wm9Wy
tUX2wlSmzKXYb/YLbL910h6pSz6Tf415WcgwPPLKsinQH0oatNIFkn1eBOwhBy1jspum7tV0KNmh
+z0dwhwJz38Snv2afOZFQeYQQKhEEGDAcgMhhCA8GfhqmFmh6Eh+EQzbZyklJoxzQYohjhbAA8aG
6xODkPJVR0YrVvj0uShIFSDosDPCfHCgbJQY8LBsYGDwPbUvsqOJYebnQ9lPRDGsiUSKjfSbESDo
stlxV8g6IvkJKXA0OJyxK9T1UgwLr46T44hEI2yQtLGjcmNa0fCb04Ra7VG5yuMYa6IR3ffUNnlW
DH0OPQNUaPmFrbA81kre0XkaQCaDR6WbOQ2q7jfXaYy35IhHzvRVu63VAH8Gowm9tXQk9XFFwqJB
aSjrqZTHOsDjyeOM8Q96/Hf37t37T+kXAIcGZxVdk34/FD3nsbGiShYZjs43X9G7OCYAfAQ84jzh
+SrboZYeqzHO6WfDu9HRaX2jeWyOK6/+ZnQ+2ZgIXlhGsD3Sjla0tmZ7xK5Y9ibpBhY4Isc4v1Ef
SIA6trYgU9IAQc8Fpm9WOpvnPs2t/Jkao+jcQ78eWT6CfMfKJ1HZGiCcK4cH0qak64Gk6/AU7VM2
Mcp4IA1ytjWWDik5RoInzAH2R9acOeezcwACHHkkVdJC4AiBkeYy56hG47XRhLGSzotis4PGqpyU
U5Q2km3gPTE2wcjdx7s8aYwIAhxkJu3ApAnti45Z703rFJk8qVoOQ/oLgxL+jFwROqrBVJy1dqDv
CGvqVavUE9ok+7lF+7EixSqSlVE502fh3SiXiqHWedDj5Jb6eDLzu9KeZHxj0pPURplA4lAy8pbP
Oe0pypCVjVr91qJC2dAreceVSQsgWKQwoJxNZeVtCq2zpI+fhnpitIv7yLKQcSUZyCpXQFxB5iI6
FT7P4FLpbe4jraDi6kLLvKbDJJs4zmr8pXwZS6m/OBPQ0DUZfzg8Bl1NMhxl/MwzCMqe5MgXReii
HWKWPRk3djSQCztgrfPWuBFAkGjTalwxn3WUKo19XtUnebMTXEUpNb2wNS+oH8UctPrH+i82kgBV
tsEAKpBdx9YWDIoaIGgGReZFCH9H7h5tU9RcgD1gOUXnHt7/VOy5jjiDQ0HrgoreaIAAMLFVDnnV
T/Ncr+7NBVClvwXw1XMY4C2BaNiFHFnh5/f8+2IAgZS1hxSb6HBQaUcAwkeiZEB8WFGlLYYqQNAr
EpkQYOHSEwkRDgMgVCMIoU27AASRdysUTJMqG27tIIwIQhcg0KRsRhAsfdBgRZ4xnFT1wBq/r5yn
uYLi1bBasa1kIo5AwqU6gsIyagCElVOtTVoNhDUQ7fSxGUHoORIaf3HqAtKywwnzLnPLWyuUiq7l
xQK3G06uRobTAwi8Qk9/v8S81E4Bq0lrFVfRQTOCwONlRRD4e25fa8W/BSCgHuucSe1sWHjHtDcp
gnCWY6wRIYU6TeCgAILYeuhstPsCGOizWiRvNIKwWrTSmO8NEKToKkW0jl6paDJkwP01IwhovxVh
lO/04ntPcCBlDQEEGJJkNCUsHikvJVwM9MkRBHmeV0M1A4PO0GQuyCZ0GFczbM1EEHh/EXtsUm8P
IKQVb7GvlMJyJqmHGIuKnMw95yCD3QACDDzkylsuNYBg7auTcgM4FQ406UMcK73nqBzvijyEHQ/e
1dECOGbjvIKmUzUjCGg/VnuYRKq834XP/x7hcIxD6hvOtKzSunIZ4f1ixQB9NM47FOUMnsPglZSp
I1hVQ45Jn/MZBOmLpQOGc4tnTbTBwV4tR23I4FpjK6v/ZgSB5kcmw1FOZBVBELAR2od9/nimwNiS
ZHCyyxkEFanMW5yQAdnA2D6O2PEctCJQYoPCM/K7ohzmCAfklcbGAqwr28T2mseUo44AWojoyXMj
izGJWPIYJluXzyC0IggiB44EaX1V9gD2RWT0LPyuzjVJm/nMz7uMILAckowRHW2eQWDfqPrb1CFE
w/nsgUQglbx3T0M9DBDYqPjfPzwJiNFSITszvHkbJIMVr953vw19m+mD3saaedefdQm4BC4nAV6Y
X66WiQjCJRvhZV9vCaSogKx0/oCWcjiaV0jXuyf91mF/EKuR/hu37wk6MV2c+bh9PfUeuQRungQQ
hRnJ2XJu7zyCcK4E/X2XgEvAJeAScAncQgk4QLiFg+pdcgm4BFwCLgGXwLkScIBwrgT9fZeAS8Al
4BJwCdxCCThAuIWD6l1yCbgEXAIuAZfAuRJwgHCuBP19l4BLwCXgEnAJ3EIJOEC4hYPqXXIJuARc
Ai4Bl8C5EnCAcK4E/X2XgEvAJeAScAncQgk4QLiFg+pdcgm4BFwCLgGXwLkSmAYInHdcKufc9GgM
pwfFZ0yeVEvwwClV5T1JkRv+AY1oTPHM2e1UGtKc1CXlgS+Y/6Q8TvOJdrWy5SGjnhZyShH6Ufg8
5+KuPcvpormuWltS22Ou7t7gclrj2rMWc6CMWXj+qSI+WqW5xvjys3qM5BnmpOil1UY7R3KIK4Ke
nGZWPtf1VPq5YmNkOdX6klI1r2hUuT3QYatea2xHU6Ja4z9aBxHxSNtfgchroJ/xWU1ARnPwU9EB
/HLCLJrzBecKcs9rfpLaPER67QEug5yynG2L/C1Mf5b+URsLgizMsTSPPuQ5p3Qvp7BNGeyybLm9
PE46NW6aS+e0fcVpY+kF6zdSetfsLY836Y5wFgiXQyTqsuyQRdYFO8CMmGquZS4E+dziltA2jOe5
9jPaBtTalHS4IMxKY5F1gWzSKpW16kNhI3V7reRqWp9b9n3kWTVmuV89XdBtHf3/RQCCJdQWpbEy
MtGxYyKG70yAoAWt8pdb1MArBslURsxz3xJYxfkUCk99yGx/+Azva4BgKdQkQIhK3jKKIwDBYNLM
fdNggtvXorpmoyxjyAxuI8bBAKJ5/JThWE10GIXw76Pw+wyOsjXG2gCxPsGgoB+sNzXnjTGpON1q
znTLmaPdlqHXcqK2ZidmzUfm0NBgTTvMVMfTUE78PRcgtHRjBCBgTC0Cm9pc0GCaFxdJX7Jz4LHX
unouQNjS9jSmQwChtlAhJxjJmlKZMqeEpviVgCuDKdAECHoeMRAJfA4Fl4YFlpO8Pw9j9euW7ZoB
CLW5redx6nfNdjcXFC37oeZYwUxLshdeiUxOldpigo7E1VE8S6yt4EH6L2G4lAXNtQAIMKLMcofP
YJQtKk/5TpBorxPJ8N50gJCddpKJIPH4sydASEZbihUK2kyepZU4TRAh4smG3XD6xYThcRJypfRu
BFE9gJD6XKTotYxEL4IwChBak9Zyng1DUgDIlpNgg2itFNmwVRgfmwAhtLGIINXmDaVEjs5N2iyA
EQbYAkZJJpmlUzu8NMaxHOgrO9NaCmoL2MizcD6WXljG+4IAoYgIMWDQgMhYyRUrf9bd2QhCkEME
rDPgBvMOhFVah7ek3NXRBQKBD0L5zQgC6sf4KSpik65bt3lkkVADFyiLwcW7iCCgXmt+j/K2sP1s
2S5ta9P/i8Un+16UtUUXWu0YjiAAmYIJUZjL0kp/tWJGhUzBO4JyNECAsUvG5Z1vMdBEyJSw0o80
WCsUCkMKGekwdG+LISH4TIlam1TyuUbeMNBsvNIEBrteRpsaIOhxUsaz2I7oAYTWiqA3IfT3o1sM
eqIQq1s27K2JA8cqbQ/vZkAHHdcOmo1b0s3MUS//PxcgjDgCAuvfJka9HG60nD47ftAuQ95KZ5g5
EXM8rjTxu2MEQcoVMJm300YAApgn2SjK360tBtbpJAvt9DdHELTe1rZTGWjNtN1yFvJZDzha7QJv
ihE1ZLZZYcysbjGQXYygSwME2G3YAg0eRT4YrzR/TM6PmQjCCOCYtT+151lHMQ81QDBsUmZnJWbS
vFBQtg6U3EXUyNDh7Ht7i++tfR8CCGSMdHhK6o0rWC0gCocM75NogJCUtHoGYWunZ9+DAxHHj+2I
msGhVRfoSp+A774mI3aqMwiz1Y/kJB6qcwZxlZzketEzCC1Ez+2GE54ZEzYcRgg4s0wGuUtfm1sM
MNrGBM8rTl3HlgiC6vNZtKyt+Zjoq4szCOwQK/2M2xFYBBClbHTg4TdGoPBbAwga2HAEoXZmJDmI
wlBuIcoacRCYx6lOBlRx3/3SZxBmdFw/q50sf6/BrwWytL3aM4LAUeNkd/KWonagyb49CpGlR70z
I7VzWtJ3BR4yqG3JOC3AXmqAqd9hO8/faadvvFfVY7Ezaf5IdKaIEKbvYlSP9TjISBbFoDl/IvWx
r2XZvleA0HFEqwgCGbDicEivE1sAQmOPq4hw9CZnI3QqK2gZ+Mdp4mXe7/B5PqTYKl+fQWiFzsRh
agVC2S0j0TIYhrFZHVKstV/GUhS7d05jxED3xmCkn7La5b3LrQDBArDKGOiQdP4/jJzIZPQMQu+Q
4p6AiiMIg/00zysYehONnAUQamNb0wsxirJ/GozgRzKePfk09HOXfeNR3dTPzWwxyLsAYVZ9o9G3
gSiLua9tRB03nUFo2FwBk/K7C0DYMiZqdX8x3RjwZcUYAHRYC0BrSyv0/Vn4va99ge6fFU3bk113
KIKgDSeH/uU7tQLOK2dtSAaEWiBBcQaibNhjtyIVlhIx0NiiZHhHjJscujFCoNIu+TEBguXIRyf/
TARBrwoqslidxq85fY3+k0FbAQRrHBuOoIruR/bLrDbx6gFtFN1A/3mLQSbayCHFVE7ToLBhvNQt
Bh7DniOQZy1gwWeEuLyZZy1H1js3UnOAxiHI30tYmrfrBCRIdGOkz4j6WPo+En2w3q9F97SOMviS
+i1nOXJjyxqXURsxIiPWjb1vMbRsasWGFDaAtxh6fdYRCNStbcDMGYRWJGBEf6QNPV8243dYZjqC
EMoxzyOhfOjtnu3htk8BBF45oRAIe8TYb+kERSNWZxBqE1Q+16HrFMYZdhbJ2P1eH7qkftdOwsYT
rOo6Zg57A93tseLeChBqymtNbuvZLePI5cy8PwIQZiZj7VlaaZv7obX3ZvoCfR01QiOOID2Tt/4I
6OSDiGxUDWdt3e5Z6bA+QW3Jw7IF+j2RV4gaiNH7g1XGSJ+17ZH/TxwSE8Acz+VQObLXW9xm6jic
Qt4zc2Q2gjATWQrteMVAuaazLf1LNqV7SLHmuEdtyOicbTnzHrhIc2G1QKrV3dK9Vju4PJZtI9Ky
uk45cgahJbNZOzQq/1sBEAYVZddwU805wwA4QFhU0IqmQDlHQOUIQDgXbNFtANnn+1D2/UYdzuzE
nHGAI8/eNIDQM0wjfWa9wtU83nZq1ZH0aRgg9CIIs8BxBNT3ZHTJ788FCC3gODqnuIzrGkEYGYPG
WZCh66NpQT6UE2fWDo20X56ZAghAZK0thr1RzhkRhGIl2ApLblRcM4JQc4oaxHRWKEOr2BFjIwZR
j1fNQY8+C2W0xtqI3Kzub48qZ20FMBlerMqSgEHxDI9NTzdmJ+aoA5S+jzw7s20w86y10h2JfFTe
6664oRO9PpM9KFZhM2Nm2YLaFkNFx7v9qelFK4IwsoUzM3e2PDsLECryKcamtfruHVIejSDMLBJq
oGOLvFrvzEQQKsBq2HbO2qHRvk4DhNGC/TmXQA0sQTIjDsel6BJwCbgEehKYWXCdA1h67bht3ztA
uG0j6v1xCbgEXAIuAZfADhJwgLCDEL0Il4BLwCXgEnAJ3DYJOEC4bSPq/XEJuARcAi4Bl8AOEnCA
sIMQvQiXgEvAJeAScAncNgk4QLhtI+r9cQlcIwn85ZOPf/Lm6urV3b8eH/z4jy++u0ZN86a4BFwC
HQkMAwTrPrtkbAsZ0X4tBDd8X1hf7+DMbvqKGrcPV2yQxESuI4XvY3Ij47sVpSauEupn+VoerhKN
XOfhK0lI8SvtTemQ5c98R9W6+ocrPOnudTOdLfcVMuldY5TTuOHZahpk3SbcGuhdidFjLe+FemIO
8fD73Mpoqdvfur+M/rWyESq9MFPHytU0S0Yz94e5HjgzfHb3ePzwx1+/iORcf/7p4yP//79/+vhX
x8Ph1/HZ4+HbD77+JrJdoowPvvrmiv8PBxnfOx4+lef576WOR2E87+SMkKnsL8Oz//TnTx6HK0/H
Bx98/SIn+GnNbZSFdsTyP3kcCHkOz/7mq28i3e/y2cffhFSokQEy9CPWJX8ubTt+iPrabQtlHK5e
412UXcgofBgE8jnXbbXfrCc/+PbJB1+9LBIsybjocnr1tOuQ0mr1nD6vjYc1typzu5phtHfdka9p
8jXB2r17yRGhZdS7vsvP966e8rP6NsGEzanastYVRj3Xa9dzwSo6kjNH+tOyX73bV5avhIwmKds5
ZXX2d+TnIudK+I2JrUYzxrbshv5uGCDoF9PAHJjJy8oBTY5YUiZH4onaIM0ABN0eKDEyiTEoSRN0
mvecnY9BbtK8o5pAQRzgPQGClFXLa8Cy1RnsoPAi++gLFKhjeWJsFQlL7G/43QwQlExy9roBwFJl
DN0TICzOZnEClhMBQNCrYnYWewAEOPXovJPjvQRAWAEUAhAaIOj5xmCD2ynPyXcBDQjB04EjB9mZ
h4VFDehYwKZm0HS98txf/uHj+29+dPWawdyMQeRnNcDJ3wVAGP4ORGAnwFZzCmkx8Sg8P5TF1QIT
am4WmSA5UZZ25I1cDNP362vpuyt2OOaJQP2DNieySVrOdxYghDatUuDP5EmQPsFeWrozAhDEVnK2
zpaNqwDIFVlcSgom9jsuCuFXwv+vB0DgTgpHQWhYQfUJgHBOBMFCuxgk5fSHIgiGYwerlji7ZkrR
dw0QZIJohQx9HkqapN+zEDAMCNgla5kMZwEC6lLjk1f9YiQDgv+C2dt4XO7du3e/A1guDhCsUHgJ
GE4RhJGV/zkRhF0AgkQcrg6fFQ5aRRAMxx7fOTlC25FnWaUIi+WotzrlGYAQwciGCALaxlEhDex6
7Z8BbD2nrwBAM+MrFjtIVc1zde8IAs1riSA+lXa2SNu0rU2ONtrbms2hhcyLYCM+Exuhwcj7BAg6
0jISTbEimOcABBkHgAKWcfLB1yeC0AIIogwY2Iqi5pDaHhEEa+XI4S20RQ+MTDA4YnkmNLvKez4D
EN7lFoO0SwMpDSRqEYQRIpkZgIC2SP1pBVCwaNbIRHjSJ90ptqmU0ZwGCIhWaUPfCjFeMoJQtCNt
SYwADYT9ZxwSVtFSJ4fb9cr+7Y+unmC7IzrbwQjCAggOh7z9wJEOa5vE9LbrMP7i8I1tlvR+b+ug
59T199Z485aM2Z40dnE8Mpha+qJtAIWCh9O8awCg25xWjTlVdCuCMCsPPI9oSM1Ry3O1LQpuTyuC
wLZaz0mqP0Yi3idAsGQ4EkGo2R+9KGOABMZg1Elb1Dlrr7GFI6DVT8sAABlMSURBVMSB1y+CgGiB
hYxaKKt3BsFwfFFJkrPOOawrTpKpmOOzl4wg8JZJy8nxtkBj1Z6BCyuldvyNsOGKlKRmsAZC+hKC
FCMU96PlR4dQ0/4/mDtz6tlk4OSVp3xWQU/yLREEPVmRhz98PkS73TOYqzMIdLDuXZxB6LVv5HsG
B7JdImcaEG4/5wwC6oZjLCMT9hkEeecShxTLPjakQmcq+KmZMwgMIiJgiNsnb58ejneCUT5tMdQA
eZoneW4b3A4F+B1cofIiJ9o8aRu/W9vysObQnvTAW88gtHR7T4CQ7PRUVDaBsnweYGQejj7DvoGB
Etd57SMIljOGAATliKNsHVKUZ5nvffSgyKiQe88BleOgCjmW3bYYOiGkeJhk5BBJz3lbzhr9Hz14
1KtjJoJQk721xaGUfvgMAupAuxURVhVd19rGB7t6unPu99pBtg4pZidshM3jd429e3LgsloNq/vy
0GQEC8c7AbSVhxRn+ocIhL6RYG0xcLSiqIMOdOq6q+/wg433Z/qCZ3sAZgUmOIJAAEHPKXZqwe48
C/WZZxB4nszuk2/pb++dVsriYhiC3a8x3fbqaNkw/W6PGlqH863IspQ5I1uOMjdsyApkzMoO4ACH
wMWPwraxrVTbCtf3DIIlrJ6z0e+0Igh4Njn0YkLpCAKXaw0oO5GdbjFEIIR60+Gj5i2GxaYf5azG
g/C7G0AgOTVvMdSUuzdmevWRtmJep37UDimuDk9aQJDPp4zeYkA/egBhxDCNPGOtMK3w9hL2j844
R1pqhxSLeitbDK22zWwx1MqxIgjyLFbFfENgdYtBVs5LX+NtDf4ZPYOgt1RGxqIrEz4zQQ+PXqvs
AYSZNqoVfI4MWPaM5zBH2kbr47qsvX8pp+WwZkDySFSD221s65p2qua09Yq91g+2S3TzbbX9Km0T
W8NnoEblfO5ztbHHoltFDeI2fIo6FRFhXqTT1tX1usVgdbYR8q7uG/eEXkNw1knapExd+lZdJwBH
+Lx6BqHVTo1cO89WIwhYQfRkwiiz9ywmQ+05K+rTKxP9Dc+tAEL67hEfYEK/RiidO9EX84oj2otT
4qru4VPaut/6AJ58fwppl/vm5T50WZLey7bkW3OY1sG7+P5ABAH16NB4x9HmWwfFc4P17RVByG3n
q5enga7efOA29xx+f3sBpdGVxsGIzugZhK0rVLQM9cAeYq719sbxvnbAvbk/CxDgzEJ7sD0cHV9t
/92qfxTAjNrh2hYn2mj4h3P8V7Y/LXA44DOa2xppHK/PIcWZznLorKeAxuCsDvXUIgg3HSDMymaP
53sRBKuO9wUQev1NelGcQRg1GlbZ0wAhFNKKILTa3wYI9iE+KQ9OrrVKngcIb5+2IghtgLE+g1CL
VvTGs3aLwepPC6CNRhB67Vnkfbr+iud710C53Bm7OdKe5LBjRBNgH+/xivR9RBAIvJjt48juaASh
40iHFgPvCyCMjGfF3q7OlBl+8vpFEKyreNJw4yRqdeVXQ22EcGsH9gqe8dbzvf346xJB2KpA57y3
N0CQtghQCzqwJNxJP6NnTba0h8Y+n0Ggz6pJaEbaNLXFUAlxXySCEDoo5VpbG1of6lGIU1InvFM/
L1DPV8D1TUUQwos9510kb0JFRjRjj22XkXl0bkRnT4CQynqJ/X8uGyt3rNRn9t1bchiNIOiDmrr+
tJh7iGjfHgBmdDEwK4tWZHfAf51lf2BPw783K4IwMpn8GZeAS+CyEhCHfvdw/BRZHi9b2/UtvRVB
sLIhXt+eXKZlHQc8dZL/Mi30Uq+7BDZnUrzuHfP2uQRcAi4Bl4BLwCWwXQIOELbLzt90CbgEXAIu
AZfArZWAA4RbO7TeMZeAS8Al4BJwCWyXgAOE7bLzN10CLgGXgEvAJXBrJeAA4dYOrXfMJeAScAm4
BFwC2yUwDBB6CX2sJB36eox1JQVXc7gLco0kpCd93sp8ZV2ro8QhcvUt8zZI2dZVI+sOfXo2X9lj
LoRWghGrH1JWjRzJksXIdT95DxkdpW2himfMX8HJSM7NRYErrUoGFk9DLW9FkZ/gnGtNo0mJrOck
C+Kdvx6f12iAV9fqjCt1zfz/lZz/Mv5We4Qb4c3V1Sv+t3Ujodb3+H7oWxinV3/z1TdfYA5pWmXO
7SD1ntgiT7TM8u5S3lXQp8OzQOJ0n7kGtIkZlYeVqlhuYMT+B66LEWrmTOEcnj/cO9xHH8CPgTZD
Bs2UzYOpmmu00bWskdbzvVwJaxku3BlZ1kqvtuaWiHqYSLD4+q30RetOTWdBGqb1QOfyqMvtcbi6
Ppfm29SxNDdrCbEsiu4Rki++yloSnJUysnQrzycjX8Yi+zKPRi+ZV3UMkvBNCvXSgcakYjO5UGoQ
YhggjGKQmqNMzixwqJc82TUnPXpvtQY6tgKEVF7OCpiAhVwJetwCCJCP5ZQtx8+OXsu2lX1Q97cm
vwR0NmUDM+rISTvSd5rIaYhoqqZDI3K17rxbFL21u/EtwxUc4bdgJlwmZ0z889BKK6z7MJpmmI27
dthEplTQLa84DwaMPOdIQArlu8er1wxIdI4GNlhv7l29HAEItbFsyQNjc/dw+PUlAcKorWo9NwqA
UMY5AAHjbzkTbuO7AAhWEi4rk2gNhIlzPYbx5T4lhzcNENZz7QQybHr2hQmU500tC2op11OiL/18
DURlJx74OEISIMr/siQ4s4BKrDMAVAbIP/7ji+9G9bUFLMxcJBXAMlqfPDcNEJhLwcqN36q84cxX
bHyjAAG5/VP+6pyHW6dlFkdvJXnSbIk60sAOeMSRwfFLQp6oD8ejpMKMP2p1v8oANhpBCEVlDojr
AhBCmyzujH0jCESOI/I8FyBUQUNyxIWh+eTjn4hTM/W7EUHA8yMAQTuD8P+XnKVxZBXIvAoAC8Eg
PW8BBC4X7exFEIq2kiHqGNToJO4cj3+6NEBYc0nYq+WavXqXEYTrDhB6wIVluGcEodSx0vnvChCU
I9URRSsCcWJ+1Sm56xlQ0Z+RCIKll5a9O9kXI5vp+wII2E6ohbD1dgScsAqPPwmr8j9Uthi+DFsM
X7S2GDhcnaITsqqNRDLJaW7aYqhEEGLmsh5AkO8lm6C0R8BIi4zoXUYQLGUbyAbGlLI5qco5EYRR
0Ge1d2qLQQGJCCb+4eP7Es6OZVOYOTrUgQjC1kmdJ7BM1gAk4v9T9sXWFoOEB7VhggwKh0K8BQjZ
I0mQlhnq0xEEyyBuBQg1h8srU2wTzG4xcNkxo2SQEW+L8DaLDn3Prr5nIwjoH49ZuYpcOw7LmbbC
wq2tk17mzhHdwWp2NEyvn5M2NCN1V4eHln702o65F6MTYRuMV+w6yjba9hKMi3OVlOkvHo9GEOI4
he0ORMNO5Z3G2dpCkujCVlvSBgiGHXuXAEE7fT3QfAbBOHsge9RPw6+sqvPql8vQ0YWWM6GUnjn1
MhwuUzmD4SuBhqEIQnqWzyBwHdX82AAHAAWQl8jlzp07ryWSMEJcVDOw+FwDi1Yu9l5Z7/L7FiDi
dpwrIxNISFjv++Ojs84gtCMIYYtizXKIfrHRikY0laUBQmlQSodSApxTCmS9Yp+NIGhjNRJBaGcw
PI0mjDfaDud5Wn0tz+pwtNbL1hkEPFvuG5dnK4ryBs8g8DsjLJS8hw2HN30GQQAkp+4eJMvqzeNC
3lRm9QyC2soyeTBUlC1vH31/+MwC4r029oClBstbnWy9HjknsPy0ziDkeWil/l5FIiIDaowC8pyX
OhBB01sMTWDKjaeoZTmf5iMarbGZ3mKQwnqh8FYEIbxehMf5gF3R/0CTLIfxRnLn6w5aEQQ802t7
S1i9CELtXa4zGsS7d1/3JswIm1lne8EERErGzXSrTM2sxyZFVJpMi3hnlGXOksmWCdMqp+eMeuMi
38fV4vHO05EzCuXq5/CpRCvyHjwdVtSHFHVkAysWHD6CETMAQqagHjmDsNRz2soYAQgjMuJnuO3y
eXHmIUR1emMye0ixqHs5T/Kat2p67Z8FQFjZ5whOch49gKDbUYsebGGgRNknh3ba+27ojs3qWTqm
CIZXERoCDAzEz2l7jnqEw6krRwqQnb5rRVdy8zeAw1KPl22O0TTeiHBhbq/mo9Gvnm5a30u5cq7h
7dXVR/H8B2TyLiMI3LBznOyoAGbC0db5ghpZ0zltHwEI1jO9OkfJULTsWgBhVM6zz1lbDCij189z
bjGsHM6hvtdnrS5qoc/Z/s8ChMU5Hr6Eg8L/ZaXY3GL45LE4+kdijM1tkLQFISHXM24xxEOR5cn2
5SDYyBaDjgREWSojbLV9K0DgseptMeDZ0UOkW/Qg6kLa4tEyFCAo4yLjwwdgW/XscercBB202uVo
jqU7o3IwIk9BX48P7qYIQg/0jdZjOejelsSWslsLkdpWn10PreAJfI9GEE56G+Z/hQiuuMUQ7ISc
MQIIQbQS82MUzNRkNhRB6G0voHC9zWBVqg8PyjN6e2FmgJNDlvMHj/EenyOYaXt4/0EjoiFXCuV3
hGGr+Yzu3yhAmA3T186IjMq3F0HQ5fQAQq3eEeBVGoo1/S5/PxJ+nFnZhGhB2Pc8fNaTW4+lEO/X
thiKPhpnI6z6W4cCa/XpbQ6OXoxGEKxDWtlhhj9aTnEWINTkbp1B2GslaYKfbOhOgK+lE60IwpbI
2Ow5ip6+Nq45riMJxup79gzC7DVH3f5TZMdeHNSowntykO85SsXRipH5lZ26sWIvmUCXdg/Zp7hA
OD7geaTfW/4fngllmrbhfUUQRgRuOb1a6P+SAGGkraPPjDiykWe2AoTRdhJQ2nTNEe/zjZWRunsA
4X1GEEba/66eqQGEwpgMhkNHDJiur7UCe18A4fD94btl77p/CpwNcu2Q4shY6u2VsXfGtyxmtxh6
9b8LgFA7bzFa98VuMaSrxzhLZN0suI4AwRrTvQBCV1+uO0CwOlCLICD5j35nZP96ZouhJ9TW9yPO
H4cVrXJqB/BGIwizbW9FT3q3GKSuRgTBPLswChC2nCvhvvdCsXus/mZlPfP8SARhtLz3BRCkfSNb
DD0Dif1qWQmNnuvYAyDUVow9uc9sWVwCIIRI1qabAFa/zo0gmGObbgtZeRC2tP10w6YEjogmFAcK
0zkIq129ZEkzWww1HenZJbw3DBAGthha+jranlYZQ1sMvUnj37sERiTg/PQjUvphPiMGP4Sgv+Or
ipeUxHLQ9OrJ6PmAS7bFy3YJXFcJOEC4riPj7XIJuARcAi4Bl8B7lIADhPcofK/aJeAScAm4BFwC
11UCDhCu68h4u1wCLgGXgEvAJfAeJeAA4T0K36t2CbgEXAIuAZfAdZWAA4TrOjLeLpeAS8Al4BJw
CbxHCQwDBOvKHK4syjXD0IfM5qf/j/5ZiXv0VTomdgrvmbwNlrysOnuZBo2U0C8CSdRnkgpZrleG
63jP+UoeX6dkFkgru6DUjaRLnDa5dVUS1wR1/6QNoV0fhc81AVU11XHreqh1fRFtbLVP5BXa8BSk
WLqd3Gd8J9cpQ9uft4i3Krr1eajni1ruDKsPteyZRjsLJk2+ZlrL/WDpUmXcmeQq9kHqT/opsotJ
TVhW0LEke2GMFM6SV/KudfNDrstCnkG2z3ju6b6ynPiKse6ndT0X8uxd721d7bWuNVfoz38V2l6w
f1rXl9G/1lVZSw9ZLlpPRttTsTsrVlbWJ2v8ZE6kMX6dylzZOYPPZlWPvIvxZXuEz2dtAM9Z6C3Z
7hUPjcW5oxlzRVfv3bt3v8VFo/1CmldRJpgTNI/CbZerImkZ+mnotCkzK0uvpcOJ10cylT4ftS2W
jtzkz6YBgiWocwGCpcisJCMCrhkTPXG4LHZ4cEQ1gKDbw0ZTOwqLewF97BlbaR/eV+BEDKgJEPSY
jOZV0OOWHFeXkKpmeCwnKmXOpM1mIi5hxpT3tZNJ7Y4Mm2TAYmriGnhR4z5sZKh8y4FF3gO0Q48t
jwMDBPQRBigUEUGXBRBUu2Mbgo4+GgEIuj083q0kWIbBruoEt4+dYcugnuOQZ3Qp6XMEbC1neU57
LDtVSRJXJC3D2DBAgNy1vRMbFj57GX4LIMHzILXjOzjSCRsQ22UBOaV7XYCgbSscay8/ygxA0LJp
gfuaD6kBhFD2KgOubtuIL7pNz0wDBO48rfbPiiDsBRBC23IUIxmHlVHXSkzGOTrgPQCCASayI+kB
BL3ioFUcRyRAlW1mShwxDpoRkxE0RzzIQcoYf0vyySyXLScq380Y9SS77OgB3DQzpxjMcwACG1tt
ZKTNlRWZ9P/Rb3/72++SfhUAwVhRZaPKAIGBqQILQgddRBCUvsYVEcYgRZaeab2n8SiMugYIVj9T
v+A0PreiYJYBlHGSZ2Uuy/fiHGqJwc5xyKO6hDqQECyNzUpnpa3ntCeVWyQOs1b1NdCVZNmNlGqb
ouVQiVREO1FzWJjzCaiK/asCbMtutexMej6mwN8TIIgcWhEE1mkHCLWRH/98GCC0nAAbnmRgCsBA
764cWk3JaoPbUPZhOmduT/gbq7fsgJOSbd5iMFZuOdTVAghQfgAmMnLiOMQp7bLFQOUKoYysrr60
VsFsdIhGO4aBqa0cRi9kmOT4ZXBoX7S2GFi3xMnA8SFcaa1uROc4nNmKFGmd6RkZHb5OOpq3Sgi0
WRGEzAtSiyAk0BPlqA07hZ/jFgO3XW+r9ACCvDuxxbCaPyNbDHB8rTHSCwAGE7zlEppbbDFYc50B
FYAaP9eKYlC9WWeTvcrgZqY9yUa9Ejp32epB9KoSQYh1yJhJuB1zwwIIasyw1VaEy7XT1YCh47yj
kwV4gvz0fGf51oCQtbjTEdBRgMDjCH3ihQsBGRNQnbvFEOr3CIKadEMAobY3npT8RfhX0n9uPoNQ
iyAAKbbCg9qI9JSRn+eVHFaqrTMIo7jrnAjCaB2G0xsKAzPoIFAggE4cG8LcJtkUO7ZWO3urHetd
OG3tnK0IwlYZbXkvGcYMoCjyIitlOSuQtxiSs+meQdgSQbBAxQhAGO2zBvlqngzp1khdSn75PEtL
t1ifZub3pdrDfQCg4HbhDBOv3imqAIcfZaoBQhqHGB1jpx/skixY4t672MPw/1cMumcAwohc1PhH
IBx+HoTf5+iXBUJINnnO9MYMIFMB7+EzCJCJRK3UtuzUGQQZD45Kpvmcz3lZkdVZWd6054cAwmyn
asZGK4KUe24EAWX22lgBIfnQ3ShA0Ks41MvKc+4ZBEbN3C9epekVtNX/mVU13ucIh7XStupBdAHh
aP2MyEaMm3b+VGcGKPpdBgjnjLUutwV6a+002lZEEFo6mOZEPKQ4ewZBOyTlOJ6FeoutNW7HaD+t
OYsVdzLA2eAr52FG7pTexhA89YNXxRFgjQIEy4ao9qxC0DWdlc+TM59qT8/WGHryjZynERsEJxYc
vBxUfJ2ezSti6+CfjG/4vR9+9RkE3sKqht65PdZWRMV2xPGGDRDnraM3RluxNVXoyp4AYUb2eqGC
d/0MwrgUpwBCbf9PG5ea88IE4QNMlsNNYdbVhBjv1tiT2uGIA94SQUiKqFeS07cYOg5mdUhxrJf2
U7VJywDhnPItozTieC3dqR146xmeLe2vHd6rhI1XAKEhVwFB07cYpA9pfomTjZTmMwChJgMjHGtu
C6b6hyMILf3h1THahefD/2ULzdxiqBn6LePL72xtD7V9taWG77AgAcjCeQwAofBcpI5Pz2fHz/LT
EQQNEORdtp88v0bOIaGtjUVadPh8lqQWKYEtbW051M6kWMCftxhCO4vtttocs7YY9HkF6TMDtd/8
5jf/AR0XEMf6IW0I/5eohN9i+NnPfvan3oRroU+9n2WV1UP/avIW4SFtJHX51gqo1x/re16t6ZCV
npBKmcwVltHOrrEVI6GVNSm2ecgKCi7/8mG+Vv9nnCuvJLnMyo0WM6w3MhbJOBZ9SM7BPDw10wdd
/+jKumdEa+XWjGFLDqn/xSFFyJ5lPQMQRvtpATNlpM1tpy36XbEN+UDx7Cp3ZmxHw8StiEZPl0ec
MwEjKa6IDIycQdijDbO6resc6ae8c848xZzg8zijOl2T0ehB12RX9e2TGKn5oVx7vEgEoTYwtwUg
jKyEGzIYAgjh/SGDDHDAgGJEeUcnbWNFbAKBc1Z7ewIE6NrMSfqW0X2XxjC0I+dBsNq0BSBsASyo
eyaqNPMs9+0ch9xzlhv70bwBda6utABCBUBNAe9RfZW6Zp7lto2+N2prKv0We7kpguAAYXRm1J/b
BBCs4i4dQeh11VoB4Z0Rh4lnz4ggFFedzgUIVgRByoShZxStzibk6EPLKXQOnhbRkNkIghXWk7aP
HDa1xnHLFkMCKsW2D4/JTP9hRCt6X4z7bLnKSUZjeAmAUGn7blGvLU7YAcJ6i6FhNxwgJOG8zwhC
zw/dtu+nAMJt67z35/ZKQIBGuH72KfYYb29PvWcuAZeAS+AyEnCAcBm5eqkuAZeAS8Al4BK40RJw
gHCjh88b7xJwCbgEXAIugctIwAHCZeTqpboEXAIuAZeAS+BGS8ABwo0ePm+8S8Al4BJwCbgELiMB
BwiXkauX6hJwCbgEXAIugRstAQcIN3r4vPEuAZeAS8Al4BK4jAQcIFxGrl6qS8Al4BJwCbgEbrQE
MkC40b3wxrsEXAIuAZeAS8AlsLsE/j9MuDK3CpAvrQAAAABJRU5ErkJggg==
--0000000000006046d006092b26b7--


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 13:18:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 13:18:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626898.977586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyXaD-0000c1-7w; Thu, 02 Nov 2023 13:18:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626898.977586; Thu, 02 Nov 2023 13: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 1qyXaD-0000bu-4H; Thu, 02 Nov 2023 13:18:01 +0000
Received: by outflank-mailman (input) for mailman id 626898;
 Thu, 02 Nov 2023 13: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=7GzT=GP=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1qyXaB-0000bo-QM
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 13:17:59 +0000
Received: from sender3-op-o17.zoho.com (sender3-op-o17.zoho.com
 [136.143.184.17]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3be1b934-7982-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 14:17:57 +0100 (CET)
Received: from mail-yw1-f181.google.com (mail-yw1-f181.google.com
 [209.85.128.181]) by mx.zohomail.com
 with SMTPS id 1698931072439773.4063100314564;
 Thu, 2 Nov 2023 06:17:52 -0700 (PDT)
Received: by mail-yw1-f181.google.com with SMTP id
 00721157ae682-5af5b532d8fso11021307b3.2
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 06:17: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: 3be1b934-7982-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1698931074; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=EkO8O429mN8NP1pIqdoJQ+cjzcC7yqUr3QHBFOsmgHvpZiFZfEsF/ZKh+h7uUhSCVTe+ZY0MSAWjfUCO72klbt8VmxRhe0sbFfv9RSi4HSpemb6vJ37zV9Flpbc1NSSgsfx7+lXulmCYQcNnD6/FO+ufFV2VUJNwP6/4FW+99go=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1698931074; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=Z/Dfm9D3/b6kTHF4kSxLSu1hkKj2luCtX0NhIqjYorY=; 
	b=JrHgJShKR+UZjAgN55R8nn7zYQ4J6QVFyGyWHjz7LbB691xrRh+Ox0J8Bv+7e4wGyRhio5cxSimgp2YuocX75y+bnhT8dL5NYZZhDE36qzjdDUtyfI+bWISzQ1CtlQLIR2b66PlHJMkt/q6DOeBIdBGScOo1qm6Q/6Oj6vHU0Oo=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=tklengyel.com;
	spf=pass  smtp.mailfrom=tamas@tklengyel.com;
	dmarc=pass header.from=<tamas@tklengyel.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1698931074;
	s=zmail; d=tklengyel.com; i=tamas@tklengyel.com;
	h=MIME-Version:References:In-Reply-To:From:From:Date:Date:Message-ID:Subject:Subject:To:To:Cc:Cc:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=Z/Dfm9D3/b6kTHF4kSxLSu1hkKj2luCtX0NhIqjYorY=;
	b=R8KAfukqA7R429BWuTS9lPgMOTMOL4NUlJOci1bXjbKsjZP6U8kDE7gWcfGW4Xu3
	9mC3M7+KkDSIcJ0XGcMQCbLa3hp3KpQisi+Ea3BHfLhuQ/MWnwlU677rlzFfteu8g8f
	t15u7ubG2cuv6dfz2dFaq+Vwz/sZf9AMMr/3geLo=
X-Gm-Message-State: AOJu0Ywnx8qPk5zlYsS5Qhz9P/sYRADshLZM9cM8Xao93LTeOPszwasR
	GRWaqXRZO3xHZ9QuP6vOHG5Bw/q3+bMGeB3Dn6M=
X-Google-Smtp-Source: AGHT+IGcojE0DIrM1JNcbYuKU8gLNqJqFntipwAulYqUZv1SNBVMsd11UImxdejHVXiQ1icRofuM7ttVNDNvKCYJ00E=
X-Received: by 2002:a5b:706:0:b0:d9b:3b3e:5a07 with SMTP id
 g6-20020a5b0706000000b00d9b3b3e5a07mr17263999ybq.5.1698931071561; Thu, 02 Nov
 2023 06:17:51 -0700 (PDT)
MIME-Version: 1.0
References: <20231101192058.3419310-1-andrew.cooper3@citrix.com> <20231101192058.3419310-3-andrew.cooper3@citrix.com>
In-Reply-To: <20231101192058.3419310-3-andrew.cooper3@citrix.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Thu, 2 Nov 2023 09:17:14 -0400
X-Gmail-Original-Message-ID: <CABfawh=DAGvkAgW=S5DhdCPhqe2iLvK+6LG8kBjx8qJ-2q5Bgg@mail.gmail.com>
Message-ID: <CABfawh=DAGvkAgW=S5DhdCPhqe2iLvK+6LG8kBjx8qJ-2q5Bgg@mail.gmail.com>
Subject: Re: [PATCH 2/2] x86/vmx: Disallow the use of inactivity states
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, 
	Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>, Jan Beulich <JBeulich@suse.com>, 
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>, 
	Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian <kevin.tian@intel.com>, 
	Takahiro Shinagawa <shina@ecc.u-tokyo.ac.jp>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 3:21=E2=80=AFPM Andrew Cooper <andrew.cooper3@citrix=
.com> wrote:
>
> Right now, vvmx will blindly copy L12's ACTIVITY_STATE into the L02 VMCS =
and
> enter the vCPU.  Luckily for us, nested-virt is explicitly unsupported fo=
r
> security bugs.
>
> The inactivity states are HLT, SHUTDOWN and WAIT-FOR-SIPI, and as noted b=
y the
> SDM in Vol3 27.7 "Special Features of VM Entry":
>
>   If VM entry ends with the logical processor in an inactive activity sta=
te,
>   the VM entry generates any special bus cycle that is normally generated=
 when
>   that activity state is entered from the active state.
>
> Also,
>
>   Some activity states unconditionally block certain events.
>
> I.e. A VMEntry with ACTIVITY=3DSHUTDOWN will initiate a platform reset, w=
hile a
> VMEntry with ACTIVITY=3DWAIT-FOR-SIPI will really block everything other =
than
> SIPIs.
>
> Both of these activity states are for the TXT ACM to use, not for regular
> hypervisors, and Xen doesn't support dropping the HLT intercept either.
>
> There are two paths in Xen which operate on ACTIVITY_STATE.
>
> 1) The vmx_{get,set}_nonreg_state() helpers for VM-Fork.
>
>    As regular VMs can't use any inactivity states, this is just duplicati=
ng
>    the 0 from construct_vmcs().  Drop the field, leaving a comment as to =
why
>    it is skipped.

I would like to keep the vmx_get_nonreg_state() function being able to
gather this field as it might be an interesting piece of data we want
to keep an eye on during fuzzing. I would prefer just sanitizing the
value in the set() function with perhaps a gdprintk message that it
happened?

Tamas


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 13:27:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 13:27:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626903.977596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyXjW-0002zf-3w; Thu, 02 Nov 2023 13:27:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626903.977596; Thu, 02 Nov 2023 13: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 1qyXjV-0002zY-Vj; Thu, 02 Nov 2023 13:27:37 +0000
Received: by outflank-mailman (input) for mailman id 626903;
 Thu, 02 Nov 2023 13:27: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyXjU-0002zP-GI
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 13:27:36 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95758272-7983-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 14:27:35 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8443.eurprd04.prod.outlook.com (2603:10a6:102:1da::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Thu, 2 Nov
 2023 13:27:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 13:27: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: 95758272-7983-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IYvX+/gzK+APhROE7OBTedZxCL+V+slcL42/NpK41dDdCJkA6gTx1jdrDPteFxXJmKEGjyODY6l5tr+J/9f2mdpfLM1HqlajLpiBGyNZNmxXVdope9mweRxfMK20jnvO6zUjivzMHw3tkTMiTFLVLlCtfoqF1E0BmqdBK2KI0MVAWkWrHD6/JKKHLYvPT7nKvMGyjbqeJAEXSil1MEKmB3oOTJDJujg9QlRY5W8kFstr4y7f+xZOiPxPMo2N2IzSeo5TvqgJVFPsSAhoaDtcLgzDl1iOZzYE1qpQ2WUwhMJmw6Rb/mymclf28spt+PiRAHd1cUFilm4jWq3XbtgJiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ajsHny3y5i9coSLg7K60qJWyHmWCIPz1/9pdrtL8pAs=;
 b=CHCRFD2D9nEpXEhME/3Q0emZe+DIK89fkLxh+f8FibFuN59GZ19xUU0AcBHJO1fh1e6EQv7IbHY3j0V9JvIkcJJ7tUHbA1V8ZE0MmkQ5y5Oy8CQ6H1KGKFys8CIz8Jzte3HQddIi064xiHLxQFecyQWy80ySXHpHT5vcEaaXuiuv39lSrpCniUmc2/kWNab4YeQPcTvwCETnUYj/psX5ex6z4qG7LoLVq/peF7ZO4l6/091j9uuoZ70J6Yl1i0OaKFeHmNx6+VJ1q4PJvaeUSEO5bh4bFkP3Jb8xZ2MzN+soPZxKz56qSRT9VwsGgIfHK6nv2DAHVLh9M1SQjmLhNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ajsHny3y5i9coSLg7K60qJWyHmWCIPz1/9pdrtL8pAs=;
 b=cNyrlKvT1629owj38CM2nsF7BNXbe+5+CtFoqfDMG712C0odT/3bXBL1cCZjyuwvFfyzPjbwLGqfwpCFB4I8yj8farRx3TP09trKm/iaExP8m2kP6SjpyxxVRGNoWGpROI+t/bUrfd+gA6uPxp1hhylDnRV7eaKCMPFVD6tnp+5JOiL7VhUkETuybtI6/JaHnVjiPYquJRfgiE4HUwKQ5blhkbGAUcW5/5H7CLvvzb4ouKZW8WkbPJFvJuN4yVFHsXrEBtyB5ZmW0ninO7tdSWQU18w/o+TvXBCIVLo20JpcaiDTs7OTmMoWb862s3jeGmsyNBTS4meqgRHx5lNbgw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4d7cd892-f814-50cb-b296-69b957128508@suse.com>
Date: Thu, 2 Nov 2023 14:27:30 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19 v6 2/8] x86: add deviation for asm-only
 functions
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
 <a1b5c3b273145c35535fed3647bf850d9ae5db7f.1698829473.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2311011609360.2125691@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2311011609360.2125691@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0153.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8443:EE_
X-MS-Office365-Filtering-Correlation-Id: a1d79b99-bc9d-4184-3e60-08dbdba77887
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VRB4lmQ7q8uEBZcN/M/2vGjg0Fbl7GO5Dm1sswtRi69i0k+K5mzOolAXDoF6T2JQ+i3n/DbKa0DuH3Cyq4gjFtHVWmlWbmiHh+FMQbCNxzvHmvn6Vklgz1GglBRxB9DlBusvrCX6+8y7O4m0Ojh18jG47p9RFPZ9MKn5KIjy+L6AviKLfvyzfp0CZYG54o6d/4RKvRfTmp39l7BRnSQCyqJsWZ4bPZzr+vVeyQlvFp0HN8lrDhEi5TeMif4ro3+8nlUNw2mdgBid4z69slzJSEmLJyBXHPsIwWYezbRZSN/U/Eaez8kkgvDEUw7bTLoBIXf5ernokQg8bt34fEopuJNq9nMbz/tjBOszf27F2IahUomCk9+5sMyDZ9bD2SGIsofFXKoAxSv3DulvH9KIjUiOBpeNgdnegvcVwM+1EP9kueTYLs/kS5OQUTK2nj5vjSpq/TgPfX7k59z7cTSuQ8l52O5m8d3X9mgxvu2XWNs4MjfEqlfiNjvdwLtzhRHBPbywucmyFzsFAfzHJw1+6D12zavVEnrdmQcEywJMltxYz6sIE8H90J1cQh6e3YutGTAqDB5La6mb9HryG0aZc0e4fuxVAUFTjfhLt7gWGOULpB2BekCsBu4Bu9HugX9h1aJUbXkek4C6GD9rzHFHTg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(136003)(39860400002)(376002)(396003)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(26005)(2616005)(6512007)(478600001)(53546011)(6506007)(2906002)(83380400001)(8676002)(5660300002)(41300700001)(110136005)(66946007)(66556008)(8936002)(316002)(4326008)(6486002)(54906003)(66476007)(38100700002)(31696002)(36756003)(86362001)(7416002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3hpSjBuWndQaUtoaklpcDloZ3VabXF4ZytoSkdORHc5OWcxTm9DQXUrdmIy?=
 =?utf-8?B?bzFXaGxTL24vY1NlNjRERDhjL2FQWGRxUm93RWFkY29VdTVCcE94N1dUNy81?=
 =?utf-8?B?VjJiMmdxcEx6OHZDcXVqYW1BTWxuV3VFK0FkREloTFVtamJvbUtwb0FHOVZD?=
 =?utf-8?B?dlpUcEpxdHNZNThTNWFMVWdJcmlhSnVmb2VUQTZWdDAxb0swbjZyeGlpSnFO?=
 =?utf-8?B?ZmFRd2VTUjVpRk1XMFVycE81Y1l6TjZrbUxhUW55bks5TGh5ZmYyMm53Z29a?=
 =?utf-8?B?R2IvazY1QjhzRGhZbDVyZGEwVVFtYkt3QnAzRitxc2FBTlRuNWV1ODY5WXp1?=
 =?utf-8?B?TVFjMlRQc2xldWp2aUJSUTB5SE1iUWpmT1g1RXYrTlFTRkxra1kxMmk3cTlP?=
 =?utf-8?B?TVc3WVJDQjNBRG1mNjY4Yi9Fd2ZZQWJxaWJ6SDBoYVk0UE5zZVV0K3FtZFll?=
 =?utf-8?B?TjVoOU9idTFPOHlBSUFTODEwM0pqem53YUNqQVBZdW9rdkxIdDhBa2pmTFFH?=
 =?utf-8?B?cExBWHczRWFzb2hsbUwra2FKWUFnME9GUWpiZS9ubWVCTXd3VTBiMGhBb3Fv?=
 =?utf-8?B?Q0FpWElkUFc0eG94TnhSalZrNE9vQWROL2UvRVlNaFU1ZCsxMjNIT2lqUmNT?=
 =?utf-8?B?OFU2T3cwSmpqbCtqNG9CRFAyRWZETjJJU0gvaGJQTmhVR2pLRlIvVEZUWlJL?=
 =?utf-8?B?VFhPSVUwQ0wzWjVyTHpZNWVxMHFnSXpUdE0yeGx4YlNJbDRSOVRiczNMcERu?=
 =?utf-8?B?ek9HVmE3TzB0YjZKaVFqYWdnYlYrS1BFaVpOc1hudjNlRERYckFtVldwSEg0?=
 =?utf-8?B?Uzd0clBGTlMxQkRScklVUnBpSlNpbk1pTDBXaVJGdTVyWW5DaUlXVG9wMG5z?=
 =?utf-8?B?cmc3N0pBNTFqZnZud1VPWTgyU3B0b09lNUJPU1hOK0xDa0RVNm9XZitsdlJs?=
 =?utf-8?B?OFZxaktWaG51YWkzWk55RGhsTUNEd3VickJaM09jaE9hU1pVMDZwZFkxaTd6?=
 =?utf-8?B?WjZieU5jZ1RDNWZCck9ZODVKR1pVT2M3Mm1qU2V2RU9lV1hyTjlsbFNSeGhj?=
 =?utf-8?B?L3lpb3NLUGJBdCtjUmcxSk5PalgzK2x4ZU1XVUN4VUcwNEFlaHlNMXZsU0p0?=
 =?utf-8?B?ZDdXQ0RTWjdWRFkvR0N2MnFacTNwVlhhOFMxMFNlTlk2dDUwTysvOFBWSFZG?=
 =?utf-8?B?VVhzeHkydytITnBLdVdqYTdneDZtVGxTTnNYdUFYOS9RNmJaUkFxc3FTV3Fz?=
 =?utf-8?B?QmdrQTFpQmVDWnJiZUQ5bG5YRC8vdkpMeEt0WE5rdXZsazBMMWVTa0UyckZa?=
 =?utf-8?B?blV4Z2xGR3M3SXdCeEMyUk1td0pLNnc0cmNMMGlXVmxTaGZyS3h1bEFIME5K?=
 =?utf-8?B?M29QQzJ3cmtCQ1JiZWI5V0ZjUCtqWGtTbFVDeWQraHArdXNSd3hGeEVITi9p?=
 =?utf-8?B?WjZ3czBpdERJcUVqQnIwNENBR1d4ak9wVkVwUkxUbnFMT2FiaFRCbkIrRERs?=
 =?utf-8?B?d21KU1MvSHlpYktZK2p3akQrOGpSNXFlczNSRmNjcXg2SDhIM3JYZEgySTRC?=
 =?utf-8?B?eEYvd3FyV2JSNmFQd09iZU9yOWNRaGpkV1p4amVIU2dvV2VJUHVZWmpMaUJZ?=
 =?utf-8?B?ZkRPWk9kMG12SlhGM0RCVmZpbmsxcGxFRGQ5S2psYzR3bHVOU3dlVHVYQ0x0?=
 =?utf-8?B?MitGUXBMQ1JhL0pkZU9xdFhzMmtrVmdoV2R0NmRiQUpNL2pnTFk4NWhoeUtN?=
 =?utf-8?B?M2FCUHVYQlYyb29YVFR1clFDT1h1VnhoSjB5TkN1Zk0yK1JhZWwycWk4RjRu?=
 =?utf-8?B?dUlOVk11YmZhMFRTaXhLRkVZYTcwczdVL0lSc09RTUpobUZ3aW1xRW40eTBy?=
 =?utf-8?B?ZXVmZWx2ZnovaERFY05OVDAwRVlDeHFKbnRObmpyRVNjODh6aGdDMDlPb1RF?=
 =?utf-8?B?bEN5VnpNTVpJYndnUXJtK2pCSlVIY3ArQktpVU5hdTI0TXZETkU4Mys4Wjc5?=
 =?utf-8?B?WXJKcysyZGJvK0hrTWZCU29zQ3prOXB0QVYybHFBNk1OUmY0alBqRk96UzEv?=
 =?utf-8?B?YmF6V3I2dGxFOTY2aWRrSnh4WTkxTkZxa2tiWE9VNEFwdlJ2QnZuZEVuQmln?=
 =?utf-8?Q?Q0F4sNcqEXRlAD61EfSrs8/Sj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1d79b99-bc9d-4184-3e60-08dbdba77887
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 13:27:33.2113
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PYwIJR+UkTulETIoM5lsAD9JwqbIr/0RnXpfwYMcVD/f1dFkz/2maTC5ywdBPlrApD1vyjc90BYavuWxfoVXAA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8443

On 02.11.2023 00:10, Stefano Stabellini wrote:
> On Wed, 1 Nov 2023, Nicola Vetrini wrote:
>> As stated in rules.rst, functions used only in asm modules
>> are allowed to have no prior declaration visible when being
>> defined, hence these functions are marked with an
>> 'asmlinkage' macro, which is then deviated for MISRA C:2012
>> Rule 8.4.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Changes in v3:
>> - added SAF deviations for vmx counterparts to svm functions.
>> Changes in v5:
>> - drop SAF deviations in favour of the pseudo-attribute asmlinkage
>> Changes in v6:
>> - conditioned asmlinkage definition to make it overridable;
>> - move the pseudo-attribute after the return type
>> ---
>>  automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++
>>  docs/misra/deviations.rst                        | 6 ++++++
>>  xen/arch/x86/hvm/svm/intr.c                      | 2 +-
>>  xen/arch/x86/hvm/svm/nestedsvm.c                 | 2 +-
>>  xen/arch/x86/hvm/svm/svm.c                       | 4 ++--
>>  xen/arch/x86/hvm/vmx/intr.c                      | 2 +-
>>  xen/arch/x86/hvm/vmx/vmx.c                       | 4 ++--
>>  xen/arch/x86/hvm/vmx/vvmx.c                      | 2 +-
>>  xen/arch/x86/traps.c                             | 2 +-
>>  xen/arch/x86/x86_64/traps.c                      | 2 +-
>>  xen/include/xen/compiler.h                       | 5 +++++
>>  11 files changed, 30 insertions(+), 10 deletions(-)
>>
>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> index fa56e5c00a27..06619ecf7e8d 100644
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -163,6 +163,15 @@ Therefore the absence of prior declarations is safe."
>>  -config=MC3R1.R8.4,reports+={safe, "first_area(any_loc(file(gcov)))"}
>>  -doc_end
>>  
>> +-doc_begin="Recognize the occurrence of current_stack_pointer as a declaration."
>> +-file_tag+={asm_defns, "^xen/arch/x86/include/asm/asm_defns\\.h$"}
>> +-config=MC3R1.R8.4,declarations+={safe, "loc(file(asm_defns))&&^current_stack_pointer$"}
>> +-doc_end
>> +
>> +-doc_begin="asmlinkage is a marker to indicate that the function is only used to interface with asm modules."
>> +-config=MC3R1.R8.4,declarations+={safe,"loc(text(^(?s).*asmlinkage.*$, -1..0))"}
>> +-doc_end
>> +
>>  -doc_begin="The following variables are compiled in multiple translation units
>>  belonging to different executables and therefore are safe."
>>  -config=MC3R1.R8.6,declarations+={safe, "name(current_stack_pointer||bsearch||sort)"}
>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>> index 8511a189253b..d468da2f5ce9 100644
>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -133,6 +133,12 @@ Deviations related to MISRA C:2012 Rules:
>>         configuration. Therefore, the absence of prior declarations is safe.
>>       - Tagged as `safe` for ECLAIR.
>>  
>> +   * - R8.4
>> +     - Functions and variables used only by asm modules are either marked with
>> +       the `asmlinkage` macro or with a SAF-1-safe textual deviation
>> +       (see safe.json).
>> +     - Tagged as `safe` for ECLAIR.
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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

> If Julien prefers a different wording I could modify on commit as needed

... wording clarified along the lines of his subsequent reply. Yet better
would be, as also suggested by him, to accompany this with a 2nd patch
replacing the now deprecated SAF-* comments.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 13:28:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 13:28:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626905.977606 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyXkK-0003T6-Bd; Thu, 02 Nov 2023 13:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626905.977606; Thu, 02 Nov 2023 13:28: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 1qyXkK-0003Sz-8p; Thu, 02 Nov 2023 13:28:28 +0000
Received: by outflank-mailman (input) for mailman id 626905;
 Thu, 02 Nov 2023 13:28: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyXkI-0003NP-MN
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 13:28:26 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2f4eea6-7983-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 14:28:25 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB9925.eurprd04.prod.outlook.com (2603:10a6:150:112::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Thu, 2 Nov
 2023 13:28:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 13: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>
X-Inumbo-ID: b2f4eea6-7983-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NIqaJAUhvbn/KrLXGRcfC/+wy6qYDcaG0y1KNz7qMpy+F+IsXvsr4E+DK/y1a7HjHV5lHPJbxGKpA7ZlFnpzohkO7zzkJVNa5Vo0ANYUbDDkMtqf/MSrcyO3cCfDEFWpn64JslQO8Wfb8jwy7astO7REesPPYZhlnmUdQgtey1A4adNeeG1MoGKOtT85gUlZ2+Z0eEZArFrejOyTEba8qXU8AaBIfuZACnc33gGm/jqYpCxsEt0A1/O1rttkvtbQO5gW1wIMTfgmmNmijDRdbQ+1Wpau69TXOfGrRPhBHf/QQN16eSbECk+rNHlP9It6qc8VIQ8JETfRfENZU5C/6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yYUscSSUCxAQepHs5OWsrqUs3DPmLjqHYNo2fuZb48c=;
 b=QqTMNeEF99eEewfHO2kt1RrUBxSk76099cuzvmVXccidqyjo1eGKjuwdX1qY5kMMbiYi6tPKPpwhxvXEIBk2c0ymOa1wFTNV6XHD46eC8SrCkYm9EOaAzcJidpCSwacj76vgY84Uw123N1etf2iaCjEoC1UlbLAwk0iE4KNLbAxURKKJASCj6/2kVP2Q+dZN3dVHJJv3jQQ7SwewrXPnO7egUdrF5vXazYg4Q1b5Dy+hrNt5iOegUg4x/6qFCWC0R5Jls3mkerJ5dp0CR274BpsPali4qN/Fy/jqU1WTjJhaOSmHJ2QDVWF5g6V0DVx1pGUPv0H9sDDCOvqbtoZBaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yYUscSSUCxAQepHs5OWsrqUs3DPmLjqHYNo2fuZb48c=;
 b=BYMgMf+Xki5kpgIyrNs5UbZQKCxAttqSVTLp/giYbb2F7a7hs3KT8UrADhbWMtX+faVpI9hlQ2I1uKs2vymLNWTNazyfNBsEFsQR5YbbtbxAgwhTwCC5hhBx7mZspglwZwPVtlVDbyU/foM1PSlNBOOoA9zOXNJstYNIcySaK1g61UV9iZtbsBOvRERahGcxO6HxGetcaNjG8qEStsxuoHlaptm6brU8nPwB/UKkd1+tGgzA2j1wBHVPn/1i4Rrx+sMzpqgCbHsEKJsglEC5HNBJk+dJCUREfOBD8QaQDNL6jOYWOBJluutWnibs29rUMSQRr9MUD5O0a2FCX38ueA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d3704ac6-7ea9-cb33-4890-f3524bfef730@suse.com>
Date: Thu, 2 Nov 2023 14:28:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19 v6 3/8] x86: add asmlinkage macro to
 variables only used in asm code
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
 <8e7762db94449c18e88171658c758a227e1fae9b.1698829473.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2311011611580.2125691@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2311011611580.2125691@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0165.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB9925:EE_
X-MS-Office365-Filtering-Correlation-Id: 82c940d7-3c4e-4a9c-2815-08dbdba7952b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jP0iZCPjZWP1aZm0Q5tzQy1OGWNJYac95oBUUP18IjeSZmI6AzZVBIEcdsLcRaviLgeRI/KVMQx5pC6gCJGOliD+CTEeryl87G0DHPBydNzq+gtCtPlpXSl4ZAkLogAcFotzmzA1QgU60Wktp8XP2DG4TCH0yFsExGfPZh1R/xwt2krlFlNmF4o36uJPAz5K9uhrk0fYRYrCclBQhmRoZaU8lfp8W/EGOkTpwPx7Klz3D33jBh1bL1WOoDbFafVQmd0BEBoubN3TSmoLndyWqjCqAfO5SCSu7cBwQrFwP576yubX7+tNOcO+pOgqzk0xScdUSy+FEZrKLnH2W3NPii2TlzUdp3DhJund/4C4syT5f+HyCc0qMTDkoROVVT+75qq056/nlpE5k9zYbDBMssxrJBYcQt1aaqNIX9lzBLzeSs4xDOq3ugQ1+YHjlDAcqxbuBkhDUtihWy8c9vyClK7E5ct2aaBbYhHYnVK4NBv5ec9kqskX6OsmxG21lBz/iDPISc6xKj34bqTDWLzuPFgOXDRRnUAkMbm8KiZffqQ6mohk07o9RjzERiTA5lumI6dymohC5hR1i1OahH9lIaPlIu3LX1h/oIykoa6fftitHbmZd48UsQfBkVHDniI3A4SeU1p74DVolytI4Vsq+w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(396003)(39860400002)(376002)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(38100700002)(6506007)(53546011)(478600001)(31686004)(2616005)(6512007)(7416002)(31696002)(41300700001)(4744005)(86362001)(2906002)(8936002)(8676002)(4326008)(5660300002)(36756003)(54906003)(66556008)(66476007)(66946007)(6916009)(316002)(26005)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2lUVnA2K1VpKzdMWng2VGlyZ0RlbS9YWmg2cEhrUkpzTjVRbG5CVURwQWdC?=
 =?utf-8?B?OWc3WGUrbVZjcDFpNGR6UnRMUGtUdWZVL3JjR2JEczNncm1ZclVObkV1UHhr?=
 =?utf-8?B?RUwrTUJrZDdPSWNkdHZMeWZ5TUFNbnpzQmxscTdOcytFajE5dlNZRzZxR0xJ?=
 =?utf-8?B?RTVCNE8rN3I4cUUzWWpWTjJWTURzQzRRVU5mazlPTHE2SFVuZUt0eTd3OTFq?=
 =?utf-8?B?a0NmWXJwNEp0Sm4zR0xYQlExYmJ3QW5VWVJ6ZTF6akQ1c1RpbGFQdHkxM2Zl?=
 =?utf-8?B?cXQyOTNjMmFLU2toMEFpTkRVTnREcnVpR2VFWXEzekEvYmYybjRrV1Jkb0tG?=
 =?utf-8?B?ZmcyMlB0UUhDREtXQUszVE8ybjJOVi9KWHFwUytDRUNaVEV2T0FNN3kvZlov?=
 =?utf-8?B?WXJ6RWNRU0NmNmNyKzRQcXlRNVhVV1ZKUE1jZ1R2UGV2dE9ueXYzdlZTenhs?=
 =?utf-8?B?YXlmVEYxS1hnVmVoYTg3aDhLTkNCekFjLzBIZVAvWDFEdmlralQvbzk0MU82?=
 =?utf-8?B?N0Z2RkwrSDJBRXZ2Y2JMN1grMjNtQmlTR3l4WXEzZXFjeUxtNDU0QUFUYkFW?=
 =?utf-8?B?QXlOR1Q4dWRQNDlzTnpnZm9zVk0xNmdJMUc4MStuTy9XeU1la1pSc3VBMy9t?=
 =?utf-8?B?MEFNdm4wL2FMM1JBMmdnT3BxTHZ0L1dJbGk3a3NLdXA3UkVRSnlUN0NjUzA0?=
 =?utf-8?B?SWRkNU9nUFYvVnBUNWlJc2tCQ3VzMmxCdVhDVlRzenllc0dUc0k5bDJLV2ZN?=
 =?utf-8?B?N1JvUjNpc3REU0JVcGY0MEdXY2RVT0FmanpJVkFBNm9LaEZKV3UvSGx3UEpO?=
 =?utf-8?B?Qmp4WEhSREdMQXlHRWZwaGtLcTNZZXdMdWpQcHVXZlBEMkVGRzYwTHZWdmhT?=
 =?utf-8?B?WU9ROC9kOUxCeGVKdjV3MW0yTGYyeG5mM0ZBdzZRSHk4MmQxNW1JTnlrQkUy?=
 =?utf-8?B?cHM2ZU1Yc0Z0T3dpOGV3RTJOOXJ1ckpvYkJFK3BJSGFTcms4Q1BsTWZpdXd5?=
 =?utf-8?B?OTVSZmVOaVBTQTBHT1p1MVpuaVVlRTA5cVo0bE5YQTJCOFNMZEZvSGlZQlNX?=
 =?utf-8?B?d1RsaE5yQjIyc0VUZVU2NFNMU1NlMHd2Uk93SVZxaFo2ZXZNdUhUTlZJWVcr?=
 =?utf-8?B?alNHRjk4c0lidXV1ZnNXdUtNdVROenNHWXgvZFpHMlRwRXJJajRqSnpESTNI?=
 =?utf-8?B?S2tOb3RzNEs3eHh1ZytxSWtUQUpVT3VveWtjT1FMTmhSaXZDcCsxU3pQVlNQ?=
 =?utf-8?B?WkppVlJOY29KdjJ3dFh6aVcwSmZrK3lnamZaQ05DTy9maExkZXVBNDJyVVp4?=
 =?utf-8?B?VGJBekdoVi9qYmthdTQvWDJ5NCtqQWhjdDdkWStJUlZxYUw1N0hObnloN0tY?=
 =?utf-8?B?MEVicW5yWW55L0J0ZEJDWU9md3phZTQ5dXlqa0VOQlZBWHhEZklNWlk0RkhN?=
 =?utf-8?B?bWtxZDlLNHBkRE1hR0sxRlpKQmxldTFLSWdjaWE0ZTNPVmVXWXdYWVRZbkdD?=
 =?utf-8?B?bGRDRDRsK1M0a2k0RHBRSW9mMkFDMVR1NzVJcmlrbVFURk1lSjBTZlJscG9C?=
 =?utf-8?B?VDZZUUo0QlREaTZjRVFyZlJQK1JzNHJhYUlzMjZtQ3V3TDI3OStSS1hCQkZ0?=
 =?utf-8?B?am5KOSsvQlZaQ1Z5S2p6bEZOYjlpczY5NG9DRDdmS1pmVnBQM1J2QTJ4bmNW?=
 =?utf-8?B?K2FiRlJrVWFuTW9rejhkTFFmOFFGUkgzRHJLOHRBa213UTJFak9kdjVkN0ph?=
 =?utf-8?B?Q3VMTjRvRGF2dGhUTklQcFJzTEdieitoMDdlWXFobFlnU0hOQWVzekxPVWgz?=
 =?utf-8?B?VDZxWUkyZVJMbGcxY0Zkb0xCLzlmeTBtSXp5RVRJWWluc2R1YUlOMTcxRG85?=
 =?utf-8?B?cU91UzVFbytWdjZ6NW93VkxkOUk0bWtzbHltYTJQTk5vUHRsSXFkVU5USElu?=
 =?utf-8?B?VmtVWjk1bmxnQTlNNFJ5VHovM3hpYWhTVEU1MHkyeGhtVDRKZXR5cnI4ak5t?=
 =?utf-8?B?MDhKem4vVjFGdHdmRWNCOVEycW9mdnU5b0wyaXRQN1pjNXJjb0NKTTA3endT?=
 =?utf-8?B?Z0FCYmtyWHc0R2xiaVVHbkdlMjZyTnhMV0s4bEIrbzhBbzIyaVlPNDRENmxH?=
 =?utf-8?Q?0c5TkWNm8H2axPTKgR6Y79Won?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82c940d7-3c4e-4a9c-2815-08dbdba7952b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 13:28:21.2794
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Y1AtS6/49KPOqH6myAcC7mV9kkks4DMDUNobfJRgo854aya07rVc/LDmXBuy7B0d7I6VkOpk/IQmblUbOskrsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9925

On 02.11.2023 00:12, Stefano Stabellini wrote:
> On Wed, 1 Nov 2023, Nicola Vetrini wrote:
>> To avoid a violation of MISRA C:2012 Rule 8.4, as permitted
>> by docs/misra/rules.rst.
>>
>> The current_stack_pointer is a declaration: mark it as such
>> for ECLAIR.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 13:38:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 13:38:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626911.977616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyXtp-0005z1-7t; Thu, 02 Nov 2023 13:38:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626911.977616; Thu, 02 Nov 2023 13:38: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 1qyXtp-0005yu-5B; Thu, 02 Nov 2023 13:38:17 +0000
Received: by outflank-mailman (input) for mailman id 626911;
 Thu, 02 Nov 2023 13:38: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyXto-0005yo-P5
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 13:38:16 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20611.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 126f2cf7-7985-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 14:38:14 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7885.eurprd04.prod.outlook.com (2603:10a6:102:ce::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Thu, 2 Nov
 2023 13:38:12 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 13: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: 126f2cf7-7985-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fV5rhPBX68eiYu282YqkgOAdYCLrkRWvmHkLpqmlwsh90QP+e1SNsOgMFjai2NNCuvzpQskRWQpTmD6Y53/3TBNrBGRkCJya+dKMG5rwUnrPRgaTAgjM4Jb3MAQpTwMH7E5VEcAcbbe8G5WGFsjWplN+ZHsnM2GGAqX62+gBskO7Y3aIY6w+dq94EHA2Ou846SYSKbLE1aXTdw6ZbrVq+Kbm0FzqLFUbLRXqtkVzwE8YZjgKh3lW911RP5CwQTwvVwGCPQN2R0KTz2lY2d276HYIyv1Z0z1KlAxpAHb3ACLQdD2YnVv9VALk0yCxzWk0RxujPnsbGctpeS+UxPrz6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DShagFbYufQ7iJ59NqINy6XQkDydi3xSk7ddZkstnQw=;
 b=c1dto9v1M3V91pNzbpMxOkN6mcfKmdAmLChs+RTqRO5RJr8i7fzfDl3jrOHy929GruZp7ExCUhz97hxtXACkMWjDYvIcpRiSLTeHWQGXRwaPiIkszqVPd5YYhDPeUYOjBshwOla8zM8pVqj6RLOgEbMOTX16WkvTiwe4cYBsAWF6KcCBh38k7S2wAAdMEs5AUM7vjCi6H6SC5RAKFk6GFALZnI57d2LLAn6WFeCdW9Q7iPTt8b65Mq0Ry/TpseWZwM4MiQPtYaMe4H3OPwOOE+RW2XifNSC3JYYXSGx/3z/B4MZn1igJvdIB4NMdn7A+v4IPgvB7Xl3NHQM7vqoQ2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DShagFbYufQ7iJ59NqINy6XQkDydi3xSk7ddZkstnQw=;
 b=Ry3RRAzl7i/BzV8HPOJVFvHOqFRcIBjEPqFodSO2uIJIm4BBc9H41TINv95Yuf4XycKCVgA7DmARV+B8ejBoet0RNixVuvTMEBYB//ZBuDtDMM956+LGceX7tEb9YijX0HyjSJmVR/gsOHxs2HsoYMhvklJrE8zZIng58juBz029BW0EfE2ZcOkU63JGhC7/If9FMfCIV3t2AHIAEN7hRvPjDvn64+lo1XIbvth1pOdlKFDWNGw8IYF8LTaHjVufp+OthEB9aemcC2YE2e7mWq2r6iQeiiN4FoTlCEYmsaexG1Hvp4ty6MZ+EOl4G8R14geR8E/8162VfKI/i/8BBg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e6ec9635-4856-6f3b-88f6-d1baddad4741@suse.com>
Date: Thu, 2 Nov 2023 14:38:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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: <20231031145259.77199-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231031145259.77199-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0003.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c8::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7885:EE_
X-MS-Office365-Filtering-Correlation-Id: 4bd1d504-e6cc-453e-9c1e-08dbdba8f539
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	seH3w3QFGZ1AsX07RrIgluH168e4iTBU213DwO26tfDylL9ggXNHlyGLt//xQrUnoSe6SPKLMCBGP4ZP6/fVsc3nQ5pjamPpAPjL9GeboArQ7p60qxYFbzmCUDhupKENLHgJ1+tz9VMwjCYFaDL+eR09c0mjl8zpUfz9i126p2lQXvDPdi921M0v1h7mlk3U2asdVDdRqk0sFXGzwEyqBk3yILbBw0ilac1IVj5O7u5VboadATMlqtses+6li0RmfOp/d7mln9I2b22uN7gOmKlL8gpdVduMzeMBSgGXdaCN3yAWjwbSlnFh70vWd8eryzZNCU6+4lcSfeBh1/1Fgv+mm25yBldY3DHLOf5HQBO/1oCnHsoC/+UkQRYjenCpa8ZW8C+1a8dNcE6LFRtFskE2nHRRFHVzrkYfevLQF1oKb608N98Kz8vhuEkumsCrgQzpyxNCE0U7Z1GZ6VQVa0YDqi4uV99ygqHk2zuDkdWTNg7X82STQmaeP6XI1/+UdCQB0As6QqpiI6t7uv6GB7RhvZN5yxxa5D7U+PDKM66QGNGZ5xzU9T3TATvH1pJVohpr1VCE27/PdDZ2K6aZryA57FumvQCSaRqaKV9Pv1DrsU5V1xKgtCH2mDeGRLMk9QOQgJKi3RnPaxf0vXVavFY8F7Mzrqnn4nWvYqoD/CSd4m2t702XxIVhHMwwxVAH
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(39860400002)(366004)(376002)(396003)(230173577357003)(230922051799003)(230273577357003)(1800799009)(186009)(451199024)(64100799003)(478600001)(4326008)(53546011)(6506007)(6486002)(54906003)(26005)(316002)(6916009)(86362001)(66476007)(66946007)(36756003)(31696002)(2616005)(66556008)(5660300002)(38100700002)(41300700001)(8936002)(8676002)(2906002)(6512007)(31686004)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OW9EdWFwUHlmRlVHc2Y2YVJlOG05SnVJaGFydmFqVy9NWmo3T09EQjFwT1Qz?=
 =?utf-8?B?bUYwY1pZbzh3Z1QwbS9uWVh0Y3FyRWJvS3Zxcjg5L2g3NWZsN0hZc3VwTGtt?=
 =?utf-8?B?bWU2cTVXZWFEQklxZVVWUllsQmZiTGttQkJJUVhwT1RlRVBpU0tkb1VzNlVO?=
 =?utf-8?B?RXMzVUdDT3pBbTNsbHJ2eGVNa1lZeVRwb3pNTStUd0NZbExmTEZrbG9qMFVY?=
 =?utf-8?B?SThoTDd1TDRVNUxtekV3MnpUOU9adkUvVXVVblRudUZJUVdTVXFJK3psSUhJ?=
 =?utf-8?B?OFUvVWRRV0lWSGgycDNOMXY4bXdPekdLV2hsRjlVdk5ZRVNvclhSN0gxUnNV?=
 =?utf-8?B?MXR3RXZiVHQvckNPZDFRRUMvTzR3ZklhZWdhOW1wbWtPOFZwRzhpMjBIeitE?=
 =?utf-8?B?TFhBbUE0QXU4QzNJbmowekovV2ZTVHVZc1BHbG1jQmhzTXZINk5OZGw3Z01a?=
 =?utf-8?B?ZUVWemVJdlRRMnhDaTMzSFppUnRqSkV2Zkk4dEh4K0htdlJiSTFEaEtlTFFP?=
 =?utf-8?B?cy8vTVE5VEtiTjFFQ3JrcUhQTXQ4NWRUZ2p2VDg5aHZSemp1S1hSRldYQkFz?=
 =?utf-8?B?RHF0dHVvdmdNOHUxc1BWZG9GS2U0dzRTQ0xlc09NMlNJdmM1ZGlsV2xOd3M2?=
 =?utf-8?B?cjZjd3JYc3pBV3RPNnF3MkJxM3l4M0pycjc0ajFpbmhJQm03UnFGYjZxZjFF?=
 =?utf-8?B?OTI5a0Y0MkJVZFJVRWdCa1FOZUM2TXlPNGxjVkM1VHg2eGg1NFZxZzVZU1E4?=
 =?utf-8?B?N3BzYXd5MURUZmpDdHVzaTNhYVdmOWtRUld4TGVVV3lLT3hLVnpUbVRQZXhC?=
 =?utf-8?B?YlY0ajl1MnBPZ3I4Qm1aUmc5enNZTTB1c2kvbDMrT0F1RVdlNUhJWmJVWXNX?=
 =?utf-8?B?eVVYendUY0VBSlBNQkV6WXp3L1ZlbkJqNmpnem1JS3lDNmx1VHhsV0FOc0pC?=
 =?utf-8?B?V25nSUQ4Y0pRTUhiWVhpbXhqbUhMeVNtcXF1MGdyMUR5ZmhxSTZuZ0pXREZa?=
 =?utf-8?B?Wm9HZmxaSkJUQ0luMXZjRGVCd3VPcS9KVlZWMy9KRUEweE9YcGtKTTJQZ3JR?=
 =?utf-8?B?YkpvQ3BPdEVXZGNBMU1tdCt6NmJGRkFpWkF5OFQ2eDB1MkNBTjk0cXR6SGJw?=
 =?utf-8?B?aXluT0ZCeFVFNkhkWlN4MFArS3plQTRYb3ZKR3JmS01sdm9xKzc4YmtBOFdM?=
 =?utf-8?B?UG1FMjNORlBJbVl6VE9HbGVLWWVleXZhZXNGaW0zLzNXaEhUdEJqalVrWVhX?=
 =?utf-8?B?N3VIM0Y0Q2EzcHdPN2pOV1VRYjBubSt6WHN3Z3liWU5Yd1BPTytiM2d3T0Fa?=
 =?utf-8?B?YXlTYmthd01QNTRldTRhbmp4SmNYRFlsc2NJaTFuR3lXK0ZKdXNyaGF6cXVI?=
 =?utf-8?B?dHR2QWRxVGJkZTI5Tzl3RTBtRGxXSFJTV1BacUJPeGZwc0doWjdCeVZab3RZ?=
 =?utf-8?B?MnRIRnpTYVlIVTNIeHcvU1JjRFBtdDR6bU5WZ1RnK0FtY1JlVnJjS05ES2lV?=
 =?utf-8?B?Tk00cjkvTmlKZVB3azZwSWNWdU1DT3JmWU9ubUZRdmIrL0tyS29DTHRFdEl5?=
 =?utf-8?B?YUdqTkJpek9LeDBKRUxzVzloVGpPR05ia0l1S0k0TXZ1dUNFbFB3TjdzbzZh?=
 =?utf-8?B?cWYyRW9VTTg3SGVzN2c5ZHNKZ204cUs2YXZwdHBvSFp5dmxKWjJhT0RVL1Fm?=
 =?utf-8?B?NG1YaWlUNHNmVjNld2J2SUM1THhrdWIvMmR1OE8xMGNCZ0FhQXdTZnlQa2FB?=
 =?utf-8?B?Y3JVQVFVOTZrdERhY2UyWU00eG9obEQ1MUhHMDMzclRnSlJuc2JPaTN5N2J4?=
 =?utf-8?B?RVpNRDdkaEd0UDJrTTlYZmVBVXNTZzVOVW9GeXFKUElDQXJMQ0R4SWhQNHEv?=
 =?utf-8?B?cVhtMlEwbERGaGRUNlI4akJieEM5TkUyK1p6ZnJveCs1dzlPM1YwZUFTNFU3?=
 =?utf-8?B?NHI2QkNCNWN1YWNpK0NmeDkrem1JOG9XWjM0OExJOFluck43UjgyNUFYRk9q?=
 =?utf-8?B?ZzZSWFIrTkZvQlpNVU8ySllESTdEZTVqRHZvTlRLcWZDZHY0S1Y3YmlZSTQy?=
 =?utf-8?B?Q3RsalJDNUNXVk9jVXU0eStOM3IzL3dLbEROdnJhZFBmZTNLWitXanRUcnk4?=
 =?utf-8?Q?zQvsyR4u6DphWAmWvauvPWibt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4bd1d504-e6cc-453e-9c1e-08dbdba8f539
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 13:38:12.0012
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dcFB+uCSXlb2SkY+6s9ZXqVTy9VAgTP0ivGpo0ljiybqnc6nU0/K6qAOcZDJo1O3tEnzyGL/MxIlBZvVvWgSJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7885

On 31.10.2023 15:52, Roger Pau Monne wrote:
> --- a/xen/arch/x86/genapic/x2apic.c
> +++ b/xen/arch/x86/genapic/x2apic.c
> @@ -180,6 +180,29 @@ static const struct genapic __initconstrel apic_x2apic_cluster = {
>      .send_IPI_self = send_IPI_self_x2apic
>  };
>  
> +/*
> + * Mixed x2APIC mode: use physical for external (device) interrupts, and
> + * cluster for inter processor interrupts.  Such mode has the benefits of not
> + * sharing the vector space with all CPUs on the cluster, while still allowing
> + * IPIs to be more efficiently delivered by not having to perform an ICR write
> + * for each target CPU.
> + */
> +static const struct genapic __initconstrel apic_x2apic_mixed = {
> +    APIC_INIT("x2apic_mixed", NULL),
> +    /*
> +     * NB: IPIs use the send_IPI_{mask,self} hooks only, other fields are
> +     * exclusively used by external interrupts and hence are set to use
> +     * Physical destination mode handlers.
> +     */
> +    .int_delivery_mode = dest_Fixed,
> +    .int_dest_mode = 0 /* physical delivery */,
> +    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
> +    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
> +    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> +    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
> +    .send_IPI_self = send_IPI_self_x2apic
> +};

I'm afraid the comment is still misleading in one respect: The .init_apic_ldr
hook is also set to its Clustered mode handler (and validly so). As before my
suggestion would be to leverage that we're using dedicated initializers here
and have a Physical mode portion and a Clustered mode one, each clarifying in
a brief leading comment where/how the handlers are used.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 13:49:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 13:49:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626916.977626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyY41-00006w-AE; Thu, 02 Nov 2023 13:48:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626916.977626; Thu, 02 Nov 2023 13:48: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 1qyY41-00006p-6b; Thu, 02 Nov 2023 13:48:49 +0000
Received: by outflank-mailman (input) for mailman id 626916;
 Thu, 02 Nov 2023 13:48: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyY3z-00005M-Kz
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 13:48:47 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe02::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b3b1c22-7986-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 14:48:46 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7975.eurprd04.prod.outlook.com (2603:10a6:20b:2a4::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.14; Thu, 2 Nov
 2023 13:48:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 13:48: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: 8b3b1c22-7986-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BNa9GWMVTPq6A1/BX8j5DmFOvMBGfvskliD7lWIdARcOhqSOmUTG9bwzi+1PFvu+UmzDShC5r3oiTPZe3Hpaoecs0ymerb5mg/pvlLs0au9HLSJJ615JZykXNf8PiukUW3mkr5Sk0410dJ7FV3No4t1KMYABh9m8Mfq8Povw+TELxBvWOGzmRRW13JMS1bzDU8UdT6bJ2K6+y3FcJzkfSDGjgOinDq6QRNl+co2dO0zyY+9/Sx4FqJFUotOoRhDoof5OLm0EdoVKG6YxteU2WXaPYjNTY3RpD0QqJVv52JWbvMGsLxvIi/u8y/IC7Tp6hAhZnmf2w+EhAg5EZgPqyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nsxli57NdPnbBLkRZQST2iOVkCwDLBT5mKJ4Grai8+c=;
 b=FF0vM8gy3ogbxI8O+IAoqQhEayssDEifFjfoPAOPjXRaWjOstZYRJ7bpmje6nyQEyelj2hDbajuSnE0PyNGHjhX9+1ro0cvABR1xKP8MvvKJ9/bXoJU3yZBIbVILMpIXsGStXGpUF7xjqbvgKxIl9MowKSQuqC449cWh/L6Hu0Tx+ZaqXRkKNLztW5VWvvmE6EOuvoCTfhJuHIsKOEicRLt7bNCu0qZTVITB0TeNPdDhcSg85xgwfK7HsUZPbEphUjEGRB0NFc9qBzG18HlX6JXbLzeQSkMYPQS26j3zIklCpujAM0+e9e/UcaPZUP9E32syf0NbYNydM540uiO7xg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nsxli57NdPnbBLkRZQST2iOVkCwDLBT5mKJ4Grai8+c=;
 b=zOapNGZZCWEUNVdYP2ZZrEmmG2bNXgzSiwDRWYu4umdf3nmXCR5iZnRAOx07cu2/E8FrUIgiyziVvimXN6X7WadJ0vpJr0F9XSVEbvtNCPz/FIMfGm6xLqqrcO0ao82CG2IxkFMugE7Lf7shJNPw6uKMKw4zj5T4krLV2CPJH0yNqlS3WWfNTL5yXZvmAPG3WCGfwJjSVBoTnhiNikmrWLEvKGu1p/2hwrh8ys9pkXoCXK47DLlnPUonhFnzi2GjLf/yTThmXx8JMn4VBGooNxScO0ZRND4kIoOhjCPzC87zd2N+3vhxb4ZcYKUSEl1Rp6bVAmMotPUbgmqTt6d2xA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3e750007-5878-c08b-eadc-f84f9a504a0f@suse.com>
Date: Thu, 2 Nov 2023 14:48:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>
References: <20231031145259.77199-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231031145259.77199-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0050.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7975:EE_
X-MS-Office365-Filtering-Correlation-Id: 7972c4da-27fe-4552-2a72-08dbdbaa6e13
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	860uQ8AG5SbGeqy2/zVi7WCHGE4prFSaw0fuRMKkoArFcGTvcTKERYaNWm2bdjlspOjPSe+AbeKpNsWhGne0lPsSjWUaBpovL9om8QzJco93l6AWxidUYsOdDQhhoIH3csN6qTcuOO7wOVrl69IHTcNmOVFF2O/iSO7WmHJ+sNyRWxPORqBBs3vt6O/o9gCyjILB0D3eatMd5Kkg8cPvmIKICeuZzdpK1xbN5spuvG27/jstmpu/y+uB6IR3RSw5CXxWtnryqrXsGLVKnM1fwyLid9dWoIoyR9Edq3PweFc4dQjCguMEjk0OHiEEiDXT6sQRL7vSl9Ek1Jxld0DXcS1lbPzi5litodYV15b1mQnPp1EGj85Qs+/hjQ7OsiAGKr3CBXk6XxZNaI0LxHUopjsBc73E67tNUJsns2uowuujlmczowFZqhtQm4rl+obIVrKPE83nYk9SpF08P1cHucb1eAWo3mK4Ez6mJh89RM2W4sd7VlWzkJ8+dV8q5Ggi/ycY7aVWNaqv14pDMYvqi7t+nOuhGCkiPaaE8YvY1QiJGkUBqBKkw0ds1XoTXPJeE1o8uwgeNElYzdq3awAYBhAc0lMy+qmyDJUOZL4RQe14zLTKCvuL0xP4hIAR9JPOmlGBU2bUQBb7pLNcD6xwrlVDlnmeTFc1w0zixSJC1Lbr4Kz7yqjMOAKQMgqhwrSR
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(346002)(376002)(39860400002)(230273577357003)(230922051799003)(230173577357003)(451199024)(1800799009)(64100799003)(186009)(6512007)(83380400001)(2906002)(66899024)(66946007)(478600001)(66556008)(6486002)(86362001)(41300700001)(8936002)(54906003)(5660300002)(6506007)(66476007)(316002)(6916009)(8676002)(38100700002)(36756003)(2616005)(26005)(4326008)(31696002)(53546011)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YlcyTGFFZ3lGdHZPcjY1c3UwelRZb3JGSEpPY0oxUlpwYlJidUo3K2dVMHF4?=
 =?utf-8?B?b2tRUTdsOEdlUDU1MTNyV1I0SEJGMVhWYURXMTkva3RNVEpnbXhsVTVtczJK?=
 =?utf-8?B?UEdBeHdneFFaN0NZeXNrc3FFUUJDUkszdWpxMCt5SkxsR2ZWWEwvaUV6M1h5?=
 =?utf-8?B?SWNKRGptZHhmd0VFNzJMait1OVMwR3Q2YU1EY0ZoUjJhOVY4R01nbU9wV3hm?=
 =?utf-8?B?YW5LYWg1cVFaRWM3dU5UWkdwbEM2clA4V2ROV0dodHlHY1RQL0R1TUp5OFNY?=
 =?utf-8?B?VmhuSG0xRFBGYWtLb3VMVWp2ZDFXRThvVVQzZ3lkUStZS2tQV1ZvdDVOS0Uz?=
 =?utf-8?B?eXRXMG56eHJXVkNBSE5xUm40L2ZqMFdYcnNQalVvUGt4d1p4NHJRdHJ5b05W?=
 =?utf-8?B?ekU3ayttNFQ2eFhKaGpkVXEzdTNLSkxTMDJ6R2RmVmlweXE3eDFQZmFaUEY0?=
 =?utf-8?B?cmszRUFjVzJLOVc0OFQvaHpZTDJ6dGF2eldPeHBzeFphV3VRUC9ZMWd2UmxS?=
 =?utf-8?B?S2RIZVY0eWVaQWFvcnlXb0M0REdQMlJlK052RDdFZDAxdGFRUFZjVEpieDZZ?=
 =?utf-8?B?d2VQNnUyb0dmWXB3TFU0Rk1SSSt3dFhCUXRscHQ0bmt2Smtkb3AxVmQyRzlG?=
 =?utf-8?B?WE8wcHVzbmhFdzdxT25Ed1lwL0xPQXhWN05ZeURsQ2lGY2M3clZ4cTAxckVx?=
 =?utf-8?B?VFdoQzIwaGVMNDF6eVo3VzN2aStUVVQ5S3VKZFE1dWtaajRpOTdxTXlXaExz?=
 =?utf-8?B?ZzIwanNXTmoyei9hYlB5MjVQQ3VQREI3cFpVYndxMUk2SlY0SmNNaG1ITTBx?=
 =?utf-8?B?N3oxN1VKQmZiQ2cyQzRoRUIwWGJhaUJKRkNWb0xja0xLQ1BEeWZvTmJka0dD?=
 =?utf-8?B?SDErMVpMSHpJNVp6V0ZaUFlqemlQeUdJRkZoOVZkMFd6QWF0VlZheWdxMjJO?=
 =?utf-8?B?UWllVlFGSkhZY2Q2aTZqcDZCeTc1b09kaS9jMGJrWjdLUGw4SHZ2QmFkOFRn?=
 =?utf-8?B?M2MvWWZ4azhTMEJ3bmZkY3Uwc3ljc09lWWsvUmNYS2Y4U1VmOERESzZqM0tG?=
 =?utf-8?B?cUt0WGRIZUw5TUtJRUpQWUVjTzlaSjFGdU90MStTOEUzajFqNGRMSG5aTUp6?=
 =?utf-8?B?Mld2MTk0NUhFUzh3bStTeTZ1c1pjeU5VZzhSdXRJVVc5Q05kN3pOQzd5L3Zl?=
 =?utf-8?B?cWpNZjdYVi9JemVIM3h1WWlTbUFPa2EyQU5pTjZmZ0hvUVE2L2F3SEVhMjJV?=
 =?utf-8?B?K3c4Ri9GYk9tNnJTZmcwWCsrTUp0YzAvbVc2TDFkQ21WY25JbVh3bXp1Wkp4?=
 =?utf-8?B?Rkp4NDNpSnI0SWJaeUxXZVAvdnk4UnJ1UGZIK1BMVm8raVNMVTIzZ3k5bVZ6?=
 =?utf-8?B?ejJ0aURFS0g3WmN1ODFBcFV4cGNWYS9xVFlONkxPK0oxMGRSNFVvZ3ZVK2FT?=
 =?utf-8?B?aVExZ0lJUjRZcWgwSmRnR2F1QWI0cDN2ZEkxSytUZlNRZXdoTStsTVVncHFC?=
 =?utf-8?B?U0VyclVleG90WHdkTG9NY1NjOWhBNWw0V3c5cnFVbUthNzZsS1VnQ0ZpL3Vq?=
 =?utf-8?B?S0RMSGxEMmtpcE12WEJGQndCb1pYTWI5UmpaTFZNSTR0VXdmSmV0L0dxZHVi?=
 =?utf-8?B?WWFxRmVSbGhsYnJDSmNjU21iVGVBeTM3UUFyUEFJamdkbHU5TzFnSEoyY3pY?=
 =?utf-8?B?Q0Uvc1JWSFNGUDR3R2F0RnNnRGxJSlAxMWUrNjJDVit1aWk3Nzg5akNndUdw?=
 =?utf-8?B?VVhoMUlLSnBld3Nlc0dFZVQ5NGg1ZXdwa0tiZGQ0YW4rSHZFc1o5SGFzSFVT?=
 =?utf-8?B?bE41RHEzY0hHMjEzbmVQTUZpVm1KSGk0TWt1eVd0K045b1dqUVVicUlIcDhF?=
 =?utf-8?B?MFB2UTkvNFd6UmhQWDRrb3JtNWtQQWNsYVBPSXoyaUJXeUtTanJHU2M4N2lX?=
 =?utf-8?B?NC9IU1phMkFPdWpsd290MURaUUtLZE82eUVsRVNFcUV2R21qbmU2bzB0MEY3?=
 =?utf-8?B?YSt2UXVWQ1RJK2tOUWRVMzB2dWErZDFZT29RR0l3dUJJb2NWSEQxK0xhWFRa?=
 =?utf-8?B?aW9JVHdVanVUcGpCUHpkb09JbncyWk82VXRZMDhkbXBDUytDbGtXTkozLzNQ?=
 =?utf-8?Q?IwNMB/SDls3Abtw6S2aQlBCop?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7972c4da-27fe-4552-2a72-08dbdbaa6e13
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 13:48:44.1767
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0weZNPfbEWhl/NuVtakr/Me8ciPYH/MVrAPBKlnEGfepRRC2b5ej5CGJnewoLQv99vh5H9o5Ec/HFzeRZNm/rA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7975

On 31.10.2023 15:52, Roger Pau Monne wrote:
> --- a/xen/arch/x86/genapic/x2apic.c
> +++ b/xen/arch/x86/genapic/x2apic.c
> @@ -180,6 +180,29 @@ static const struct genapic __initconstrel apic_x2apic_cluster = {
>      .send_IPI_self = send_IPI_self_x2apic
>  };
>  
> +/*
> + * Mixed x2APIC mode: use physical for external (device) interrupts, and
> + * cluster for inter processor interrupts.  Such mode has the benefits of not
> + * sharing the vector space with all CPUs on the cluster, while still allowing
> + * IPIs to be more efficiently delivered by not having to perform an ICR write
> + * for each target CPU.
> + */
> +static const struct genapic __initconstrel apic_x2apic_mixed = {
> +    APIC_INIT("x2apic_mixed", NULL),
> +    /*
> +     * NB: IPIs use the send_IPI_{mask,self} hooks only, other fields are
> +     * exclusively used by external interrupts and hence are set to use
> +     * Physical destination mode handlers.
> +     */
> +    .int_delivery_mode = dest_Fixed,
> +    .int_dest_mode = 0 /* physical delivery */,
> +    .init_apic_ldr = init_apic_ldr_x2apic_cluster,

INT_DEST_MODE and the init_apic_ldr hook pointer are used in one place
that's neither IPI nor device-IRQ related: What connect_bsp_APIC() logs
is already not really correct for x2APIC mode, but clearly things go
worse with this further extension of the possible modes. I think this
wants adjusting to cover the (now) three x2APIC modes as well. (It
could also be updated up front to deal with the two original x2APIC
modes, but personally I'd fold the whole change right into here.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 13:52:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 13:52:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626919.977636 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyY7h-0001YA-Qi; Thu, 02 Nov 2023 13:52:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626919.977636; Thu, 02 Nov 2023 13: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 1qyY7h-0001Y3-Mk; Thu, 02 Nov 2023 13:52:37 +0000
Received: by outflank-mailman (input) for mailman id 626919;
 Thu, 02 Nov 2023 13:52: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=HN1Y=GP=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qyY7g-0001Xs-4N
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 13:52:36 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13517c29-7987-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 14:52:34 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 6D7DA4EE0737;
 Thu,  2 Nov 2023 14:52:34 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13517c29-7987-11ee-98d6-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 02 Nov 2023 14:52:34 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
 <kevin.tian@intel.com>
Subject: Re: [XEN PATCH][for-4.19 v6 2/8] x86: add deviation for asm-only
 functions
In-Reply-To: <4d7cd892-f814-50cb-b296-69b957128508@suse.com>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
 <a1b5c3b273145c35535fed3647bf850d9ae5db7f.1698829473.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2311011609360.2125691@ubuntu-linux-20-04-desktop>
 <4d7cd892-f814-50cb-b296-69b957128508@suse.com>
Message-ID: <9ad7f6210c15f520297aac00e8af0e64@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-02 14:27, Jan Beulich wrote:
> On 02.11.2023 00:10, Stefano Stabellini wrote:
>> On Wed, 1 Nov 2023, Nicola Vetrini wrote:
>>> As stated in rules.rst, functions used only in asm modules
>>> are allowed to have no prior declaration visible when being
>>> defined, hence these functions are marked with an
>>> 'asmlinkage' macro, which is then deviated for MISRA C:2012
>>> Rule 8.4.
>>> 
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> Changes in v3:
>>> - added SAF deviations for vmx counterparts to svm functions.
>>> Changes in v5:
>>> - drop SAF deviations in favour of the pseudo-attribute asmlinkage
>>> Changes in v6:
>>> - conditioned asmlinkage definition to make it overridable;
>>> - move the pseudo-attribute after the return type
>>> ---
>>>  automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++
>>>  docs/misra/deviations.rst                        | 6 ++++++
>>>  xen/arch/x86/hvm/svm/intr.c                      | 2 +-
>>>  xen/arch/x86/hvm/svm/nestedsvm.c                 | 2 +-
>>>  xen/arch/x86/hvm/svm/svm.c                       | 4 ++--
>>>  xen/arch/x86/hvm/vmx/intr.c                      | 2 +-
>>>  xen/arch/x86/hvm/vmx/vmx.c                       | 4 ++--
>>>  xen/arch/x86/hvm/vmx/vvmx.c                      | 2 +-
>>>  xen/arch/x86/traps.c                             | 2 +-
>>>  xen/arch/x86/x86_64/traps.c                      | 2 +-
>>>  xen/include/xen/compiler.h                       | 5 +++++
>>>  11 files changed, 30 insertions(+), 10 deletions(-)
>>> 
>>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
>>> b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> index fa56e5c00a27..06619ecf7e8d 100644
>>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> @@ -163,6 +163,15 @@ Therefore the absence of prior declarations is 
>>> safe."
>>>  -config=MC3R1.R8.4,reports+={safe, 
>>> "first_area(any_loc(file(gcov)))"}
>>>  -doc_end
>>> 
>>> +-doc_begin="Recognize the occurrence of current_stack_pointer as a 
>>> declaration."
>>> +-file_tag+={asm_defns, "^xen/arch/x86/include/asm/asm_defns\\.h$"}
>>> +-config=MC3R1.R8.4,declarations+={safe, 
>>> "loc(file(asm_defns))&&^current_stack_pointer$"}
>>> +-doc_end
>>> +
>>> +-doc_begin="asmlinkage is a marker to indicate that the function is 
>>> only used to interface with asm modules."
>>> +-config=MC3R1.R8.4,declarations+={safe,"loc(text(^(?s).*asmlinkage.*$, 
>>> -1..0))"}
>>> +-doc_end
>>> +
>>>  -doc_begin="The following variables are compiled in multiple 
>>> translation units
>>>  belonging to different executables and therefore are safe."
>>>  -config=MC3R1.R8.6,declarations+={safe, 
>>> "name(current_stack_pointer||bsearch||sort)"}
>>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>>> index 8511a189253b..d468da2f5ce9 100644
>>> --- a/docs/misra/deviations.rst
>>> +++ b/docs/misra/deviations.rst
>>> @@ -133,6 +133,12 @@ Deviations related to MISRA C:2012 Rules:
>>>         configuration. Therefore, the absence of prior declarations 
>>> is safe.
>>>       - Tagged as `safe` for ECLAIR.
>>> 
>>> +   * - R8.4
>>> +     - Functions and variables used only by asm modules are either 
>>> marked with
>>> +       the `asmlinkage` macro or with a SAF-1-safe textual deviation
>>> +       (see safe.json).
>>> +     - Tagged as `safe` for ECLAIR.
>> 
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> with ...
> 
>> If Julien prefers a different wording I could modify on commit as 
>> needed
> 
> ... wording clarified along the lines of his subsequent reply. Yet 
> better
> would be, as also suggested by him, to accompany this with a 2nd patch
> replacing the now deprecated SAF-* comments.
> 
> Jan

Yes, as replied to Julien in this thread: a second patch will be 
submitted shortly.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 14:24:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 14:24:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626925.977646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyYcP-0008Sc-4z; Thu, 02 Nov 2023 14:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626925.977646; Thu, 02 Nov 2023 14:24: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 1qyYcP-0008SV-27; Thu, 02 Nov 2023 14:24:21 +0000
Received: by outflank-mailman (input) for mailman id 626925;
 Thu, 02 Nov 2023 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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyYcN-0008SP-UR
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 14:24:19 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2070.outbound.protection.outlook.com [40.107.7.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82332957-798b-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 15:24:18 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7007.eurprd04.prod.outlook.com (2603:10a6:803:13e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.16; Thu, 2 Nov
 2023 14:23:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 14:23: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: 82332957-798b-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZAqF0W4YlxaXCs68tmNkYz0bAJU4z4PDHozCd5ICSyL0XcLyS2Gj0lkoOlEqq9EAEcGUoLCB0VEzElqtAcfK0l/FUAt1DvnO05BTCuMLnnUYjONadJKy09xqoaFD0zciG8Q+CK1JPrJ2Xzr7bxzr99KYoIXB/zcSqRydBK727lAkCh4keP0fZu+4ZRMeiAWjtaXX4BHYFnPvCDshLN+i4zkMUktSgWeNneaXl/AFwUqZHKZNsQCo9hZxHpVmynM9fs90Fw5ub7f5LtMefpXSX2v5mKfrmxxDQQjuHNsyjXG9IoFD65EKD3VTTHQn77ylR3xP9YpAMsHDegEa+v1EdQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=327YiGjoXN6nCav2A9E9WBoxK7xf1O/U0swjGWj2UwU=;
 b=GGXtTFdc82qDPjXWPMn6nKvp5L1nS5/QSq7WKBgmHDgbE8dfqFBqDmK/L+Vr1LtJODCwGhg3nmlF2cDvz+vy4336G2fqbRiMZBAsnl9wGBUYJrimdC7UO5pyYNxNyUXc+eOsCwC36NViInKoDjEAeCVfpl0P2R2GtUwsSuwzSee5BC0hzl2ZAIoiGoQacu4dSzyaPDjVQpjo1wNOkwMfGtwrMk3vFgG1T9/UojKlyP0zLxexQFpL83EIea/O3Dco+nE9028NtLTjqK7qGSO3MTVzcWlm4ZpbSN3ZXJGfO4EJkdy9J/uSbV+dJ/zYp3vGj5wUi0bgwaIVfl2IPg96zg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=327YiGjoXN6nCav2A9E9WBoxK7xf1O/U0swjGWj2UwU=;
 b=33L57lrkoELQarVMd8IzdakwyumsHmr+lWGIIY9b1F9dACwTLcERKrOEMxG+tTxEggfR4T/dW2LkGqzq0f7LwW1hCKKZnaJZr21ZI2GxuuFmvHJg8Xg707R7WGizCFQD/Mq14hVH5vEBbebx9RCCn1zce4h5C5Hxbl9xrzlpeZ/HpBdkUzLIS/TMwTG4plS+Yl85UuGDObVvQcY2JjZtvVKHYChhjKaC5LClqBLP9iRkpujldYpJTgqKtywEsTV4vq6MlHln1W8aOpjMNtDNhGAO53KbxZ4Tie9ZZMy9Sn08oMC7J488clsvEi83fbFDDd5P+h+zo101Mx0nuf3vNg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <47711743-f6b6-130b-6be5-cfbb84ee5e2a@suse.com>
Date: Thu, 2 Nov 2023 15:23:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Federico Serafini <federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] AMD/IOMMU: drop tasklet handler forward declaration
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0020.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7007:EE_
X-MS-Office365-Filtering-Correlation-Id: 50a5d5e2-1980-4dd2-4078-08dbdbaf51c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i586hxCy/YwQcGXtT4URZT9p1qJk2GGJBn/9G1QnV4AtBAELKpif/LUMoVHEx+RfCK8FOCj7TTk1lg8mFGdcXzFaDnLNUUgKS2Mip+6t67tHRSkB3mZqTpq6FBHWU/WhQHqBj5+eSUhAWmEt4r/bPumEXU0jaTlMf0ODd+oPlqlPFcEI9xJrn7WXkn/Z/xuxdetRNqBFH4nQjpBcvRDAUFtNUUOfeS+V0VQN5Q8PUn/EMN0duUSCjS4FX6rCj920rxA/i9eerl7nlvwD8J6lB3p5ocvpry31GLQAFI+XmjdE3/HMhcZ9/UGBFOw85rOTKEoRYZAkMGQp816om3jFMiSuvVcs0lrWNrOoK1ZdS2bkLDWdO5dE5RF2F3D/tHD9kTtuUlOn8e6dgIYI/oCd2u9ntTXidM3zBlM3ULAAuuwxxFrBiroi8BZWsujd/xHf0CYm88FMjI1uzN8DsJeoqncefqnVffryE4X6lkQNgWoMP3BNgB5g2d8YTztXNU9AU9WIhk6IGUAT1YoUMx1AUkCLPlrWUOTamLqiDhHy4sYq2kBpT7XBTGsU85/iXEAvzUWHW/227pJz9pQzx0wNktnfOMAiL8gtFuBrhPgEJewdm3oVVCtVhfzA1knwyxLgcx3L2PRvsfk5fDR2OG8X+w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(396003)(136003)(366004)(39860400002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(2906002)(31686004)(26005)(6512007)(38100700002)(2616005)(31696002)(86362001)(36756003)(8676002)(478600001)(6506007)(66476007)(54906003)(316002)(4326008)(66946007)(6486002)(6916009)(41300700001)(5660300002)(66556008)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bk8zb0NjUzJzOW5JRzduYjJCbjJMNjZwcjJadmduMGVVdHZTUHhXQzVCK3FN?=
 =?utf-8?B?b0JpdFJDY25VWDNNYTNUaHJLeWhjZmxIYmRzWGpCelFIZWh6dUttNXI5SDlP?=
 =?utf-8?B?WXJicC9EcEsyQXd2UnBURCtEUFp6aXlNOVRSSEFwMDA3ektMV3I3aU55NkNq?=
 =?utf-8?B?bmJzUVhLWmxRSlVFQ1VvZ2lobnlwU0hkZFU2MXFGd2hua0IzRG9ZbEZsanRt?=
 =?utf-8?B?cVpvK0JjK2dOaFdjUHNUMU1RVXVxUzlUcDB0Qlc4Y2JvVFlnZzdlM00zMmli?=
 =?utf-8?B?c1Z4Y2FWNy9rNDEvWEhLV0lPOXMxbjZsMFdab3JBZ0ZVUzFmN1lQS2ZmYVVS?=
 =?utf-8?B?SDFLRGRjbitvVHZ6UTlETXMyQldHTldPRU8vY2xYSUkveVpjV3JOdDlZTTBn?=
 =?utf-8?B?UllBY21CaFN0dlhIaENaOW5yMEZMYi8vOWtsMmo4K0hjR0VBdCtEM0JnaVZP?=
 =?utf-8?B?Y2RpVnd5Q2FCRzdhNURBQzZZNjVVVURoQWwyUkVBblhCS0x1dndXVlUybzRw?=
 =?utf-8?B?RHlqSFNkMTRjT3Z2dGpPTFA5bitIem10Q2NkV1luYkNvdTUwSlNUV2xWT2Vp?=
 =?utf-8?B?K1lQaE1DajlNZG5UMTZUZklDZnF6K01aSHpFbEZ5OTZKMHA1dzEzaUExbCtH?=
 =?utf-8?B?NjZQTmxOc3hVZUFDdUNJYWJQMUFyR0NoQnZFK2tOcFpPOFBwL2ErR1R4cVVv?=
 =?utf-8?B?bCtwUjRyWTVscjZxRDE0S09OUyt3WVFoWExNRkl2MHM3dkJOK1lTMWdHUHU4?=
 =?utf-8?B?MTdkTW50VFNoczMyZHdMdy9QTklUWjRWZmtvekg5NzRPUlY0VUIvdjZ0UmFl?=
 =?utf-8?B?U29ibDdxOTdaNG5yVUUydk9saXhHajRJVDFBS1h6eVpYdXJab0d2RjIwSzdI?=
 =?utf-8?B?d0JGTTVxWk5Zd1ZXUk5GWmEva1lmcXIydmdUUWtHYk91U2w0ZFBSdytnZTA1?=
 =?utf-8?B?d053NWtwcE5EZUp0S3JITG9ia1Z1QlE3cnUrcndJeWhSMldRQVZKTGs1OHVQ?=
 =?utf-8?B?K1ptT3RJanplb3kzclFDWHh0S0FJbWk5anVaaWJPZXByZ1BiZXpiMkp0eS9O?=
 =?utf-8?B?Z1hxa3FRMnRaMWdRYm1QYlUxUWw4cTRYdng3Nml1aExSK3prVFJQSVVvTkkr?=
 =?utf-8?B?blB5aFVKWVNnN2FxRHhMRTZUcnROUTZsYnRPZWZVdzFvbHlVQWMrQ3czV0tW?=
 =?utf-8?B?TlgyaVVJUzkyTlZReGZ1NWQ2MkRnS0hJSnJTQlhoL2dtUWF2ZXQ0bXd4Yjh4?=
 =?utf-8?B?RVFaazJUUGNORUFiUVBRa2xwUG5uQ2RwTDVwTklJK2IwSkxZWmVrWEJ2SXc2?=
 =?utf-8?B?MXJ5TlRJNThJQjYvNTNWQ2lZVFhjNEZ5Rnd2TkFDVW12cFVSVjdkT3FXK0RK?=
 =?utf-8?B?WmVOd3hMN01CRVhYYXRPOFM5czhqSGFLYU5peDBwQm5XR25sOWp4YURQRHZ6?=
 =?utf-8?B?KytZT3JyeFZrRkQvb1hPTlI3R1RZNE5rbCt4L0NWbWpZd2syQXZVMEJMY3pN?=
 =?utf-8?B?NkFIWUpiM0o3cDRvUFd3VGl5b3BWT0F6SG1mKzAraFMzK0prOGRyVlVNSlgv?=
 =?utf-8?B?U1kwWmtvQ01PMWpqcVpLQ2lyVUxyS2NqQlFrTFM5NFI2V0F5WWM1MVRZNlk1?=
 =?utf-8?B?UHBvZjhUM21BbndPVnhmVTh6Y29KdmpCZzhITFlqY3RPdHlNbWh4TmZwanpa?=
 =?utf-8?B?UUNRN09rb256VkNCTk1YaFNCNVBFVitJaWpxVExPOGJEQUtCTFBrd0hlRzdN?=
 =?utf-8?B?QzcxbFFXTk1XTnNpbEpCQzdpQjJhOVhsbVhLSHdablNDdUNGZlNTdkVUZGln?=
 =?utf-8?B?bHU0MCtJT3lMSXJENXE0aFF4REZ2aUxueWt3VVJlNUJCa1VWT1lWZEZnQkov?=
 =?utf-8?B?UlM1ZTVuVXRlNFNEWDR5VVY5SW1IQTZUcTcrSXNLS3EwZDZDeURhOUgxK0d2?=
 =?utf-8?B?bnVaenF3TUlLQlhGTko1Vlh4S0NpZ3FIZm5tTjRHZElMTnVXWHB3dHNXejBr?=
 =?utf-8?B?SEprV083WnNING1RRGM3U0k5VkVJVG1Ta1ZONzB0ZXBHWm9vTURETlhwb2x1?=
 =?utf-8?B?T0RRaXp1cWlXYlg5TGdVVXZaNDBSVHFlTW90YzhUOCsreUtzMTQ2Smg5aGNO?=
 =?utf-8?Q?uNrLqNlptyC/2n2v45mykTS4n?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 50a5d5e2-1980-4dd2-4078-08dbdbaf51c7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 14:23:44.2266
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Sro50XJ4GthE3Oohcf/S2aDSjgp0F+/12L+VJ0Gjt/fEiFMF8KBqqREtuJEDGaVWORT1ti4IoUMNUZOkOjXLtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7007

do_amd_iommu_irq()'s forward declaration uses a parameter name different
from what the definition uses, thus vioating Misra C:2012 rule 8.3. We
can get away without such a forward declaration if instead we forward-
declare amd_iommu_irq_tasklet, putting its initialization past the
handler function's definition.

No functional change.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
We could even get away without forward-declaring amd_iommu_irq_tasklet,
by using softirq_tasklet_init in e.g. amd_iomm_prepare() or
amd_iommu_init(), much like VT-d code does. Still that's code that can
be avoided, even if (in the final binary) that code ends up in
.init.text, and hence will be discarded when booting completes. IOW I'd
instead be inclined to make VT-d code match what is being switched to
here.

--- a/xen/drivers/passthrough/amd/iommu_init.c
+++ b/xen/drivers/passthrough/amd/iommu_init.c
@@ -26,8 +26,7 @@
 static int __initdata nr_amd_iommus;
 static bool __initdata pci_init;
 
-static void cf_check do_amd_iommu_irq(void *data);
-static DECLARE_SOFTIRQ_TASKLET(amd_iommu_irq_tasklet, do_amd_iommu_irq, NULL);
+static struct tasklet amd_iommu_irq_tasklet;
 
 unsigned int __read_mostly amd_iommu_acpi_info;
 unsigned int __read_mostly ivrs_bdf_entries;
@@ -715,6 +714,8 @@ static void cf_check do_amd_iommu_irq(vo
     }
 }
 
+static DECLARE_SOFTIRQ_TASKLET(amd_iommu_irq_tasklet, do_amd_iommu_irq, NULL);
+
 static void cf_check iommu_interrupt_handler(
     int irq, void *dev_id, struct cpu_user_regs *regs)
 {


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 14:24:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 14:24:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626926.977656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyYcZ-0000Oo-Cg; Thu, 02 Nov 2023 14:24:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626926.977656; Thu, 02 Nov 2023 14:24: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 1qyYcZ-0000Oh-A2; Thu, 02 Nov 2023 14:24:31 +0000
Received: by outflank-mailman (input) for mailman id 626926;
 Thu, 02 Nov 2023 14:24: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=5SK+=GP=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyYcZ-0008SP-02
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 14:24:31 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88f82b95-798b-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 15:24:30 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7007.eurprd04.prod.outlook.com (2603:10a6:803:13e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.16; Thu, 2 Nov
 2023 14:24:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Thu, 2 Nov 2023
 14:24: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: 88f82b95-798b-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZJe2EuyNLLJe27D/a3bYuUd5/PczQuvGO/BOsM+ZjjizF5567AP/U+p//WfBiyQEfIyfwAx+CJHsw9aLhfspLHtR7lYXufYm1iRsqn1XTmO9ZjtCSGMpyPp1+kEjaXnfu9iOoXcT8JzkNtnig0VxK+BIXM0EAJw2u4sllBJZwIPKqQjBco8H8GxZltTvyRvAM+yrplOjOdLXuOy3gViaIJf/cds0fzz6grnBPvwPJ83BN6D5rLz1DHCQ3jfhzgPHpbbuNnfRlcae3LMe+VikJt+LYkqoZByCm9idm0vqxzUV1LRhrTDC41pILd5GHrYMv93SKO7wKupRGRwaruCwCw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AGpJJNfEkHTNmP/I2gqqtBdgV/3ysAmfN2nToV2GzM0=;
 b=mgI7ocBPpiRgYjs1acf3qQNlhsRRvP6D6fPv3TAF8caQFX0m5VbNgQYR+VkZH4zYcaZe/ODiYTHoL28950FmzX4Fe2pkVKJqQTc+edWoAGVKUAs9q0FsO9taQW0HEspnSYt6V7dXVCDC13e5OeySiaq3CP9h+lME89qOyF4rGblouTbyPdVRTP2CfviK2kQh5CBswW1lFUiEVjZ1i1U6PiQBetSJ4BYbknFrj6nMu5Akvp5aPDvYdlXJNukvpmem9zaOq9ULJn7bKtT2xYyWzxVWTTRjIRe6SOgachxB5aP9QJePOVHjNy61vLSBrOn8ctBdnCGrWXmev9rTS+Si4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AGpJJNfEkHTNmP/I2gqqtBdgV/3ysAmfN2nToV2GzM0=;
 b=qNavjaw6tV7SZBvzcchA9/4ANZ2rCx44EZJNh8QO9rJLvq7EOZOPrXXzUPtl76Km2wBS/wQFOyU7wndxfKiWKeAQLXUAaz67WQ2aWe43PYLN0+OkbUgL0O34sxx1xkuBybbhZ8tkN4k26jzTv7dGxy3MJi9UeXxY5LX1X8LvdTvhCRhUxOOE4K754GmQArCd1A7Ecp12s+3D/gdesC09uGxxH0IbmhgNcQ9Z8+C3ahx01g3n9kzcOmk+plbLGQKrgG1OK26KCwUb15ysZOFlv3qGN8cvHc5q1wF4zSrFdA/eGD+KCpxhn2bELEW2uxC38GbQ29wq5CrJ4Sxo7SlqyA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ebffcb35-f2fb-6f4d-c304-7ed7b5ef0968@suse.com>
Date: Thu, 2 Nov 2023 15:24:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH v2] x86/iommu_init: address a violation of MISRA
 C:2012 Rule 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org
References: <ba5d1368fce181a6a3a6abc150651e1e5323e489.1698238686.git.federico.serafini@bugseng.com>
 <e21cb579-842c-a3c3-db82-067dc023ef06@suse.com>
 <8dea91cd-54a6-4846-b845-f3ed334fd470@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8dea91cd-54a6-4846-b845-f3ed334fd470@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0031.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7007:EE_
X-MS-Office365-Filtering-Correlation-Id: 7825ee99-4a7a-4f5d-c540-08dbdbaf6b6d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sWHS032fccKN/1noZ333UUFFmlItgJUcnmNA64EEqahkBkluNcTZHhG8Qt1vSWbpFRBs//2ga5eORHPYuSedex4gJZdXmbPWSi4d3nfOsk6mdmq7DRQRBzeGuwLqGwcTyg2nQVXVsPL1F3pug9oXZt7E5ZFFe3auXmO2awsZIJy0wqvpX0umJ8NHuA+rkhPc4CBofjNSV7QviqdO7dcShAgDad9pqPY7tq5V6eEq9+MeBL9YSVfbzaGMqlzVmQurw9GzY566nR5tzRIDB52xcOk8fGOqIOKpAvKUum5VNyKqjWNM8NmgesS7nnGpNp2Z3hRYKhljzctR3s/AmTEsNhMlMbENRMO6gSRhsWI9vfKs7gh0M6rhl5qFAW1UuJkes9f5S70ht/ZJfNct+pQDrkeX6TUUzMXUAtBlq9cyOrPlxH3UOAQBFINdsgS0jWWmVE9j33xWyqRx9Az28SRNqV96TVGwyfpcNE0Gr9HDMSAEn8BP36UuQJ9edIvBb+URMvvzC2f0Tud3VYcnUdVimXY1mtk4IvW/lTJOIpqjOb//OLJ6+zWhUUV06vWL1Zus7kS7yp7FHSaOhmdU3ApSHZPlenNoYjU6redfzhPdxJR7LIq4Rk+LlpB7cUxPunP2gwhsmbFMkvu6jNhB5FA3SQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(396003)(136003)(366004)(39860400002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(2906002)(31686004)(26005)(6512007)(38100700002)(2616005)(31696002)(86362001)(36756003)(8676002)(478600001)(6506007)(66476007)(53546011)(316002)(4326008)(66946007)(6486002)(6916009)(41300700001)(5660300002)(66556008)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2U4NTAyMUl2QkxSdVNEOTNqcW1hcjVGRDFrcjJIM0ViSTdqdTFRU0s2VVhC?=
 =?utf-8?B?UDFoa21pdFV0bHJrSVM5dDNoano1dmQvN1lwL0xpaUtUczk0eVFyWGEwZDd2?=
 =?utf-8?B?djFVL1ZyOG1PWUlJeTFJdnBoUThydU1jWmo3TVd3Z3Q1bmdMMVZoWmhyUVZ2?=
 =?utf-8?B?ZmwzdVB2TDErS1BndHV3ZFJlRktDb3FnM1BYdkNsbkw1bm5WT2RxNTdhTEF3?=
 =?utf-8?B?MmQzRFVtQXdiNWxnRTZSZnhqTElqOHA2OG9mTVR2OU9PRThQYUJIK2lQQmNE?=
 =?utf-8?B?MVIyd05XTEFQWGVNd285N0xnckFtaXREVy92ZUc4VmJrNWFBMXJra2Rlalpp?=
 =?utf-8?B?WXlmNGFkeE5KZG5JcFpIbzJGVVZmMGZsaGlFa3J6eEtreWF2NWF0UVVHaDJQ?=
 =?utf-8?B?YUhlOUhkd0VjTkdYZFF2RElLd211LzRZV3FPcCsxMUw0am5NT1ZQR3ZUbDdJ?=
 =?utf-8?B?eDhJazIyM2lsaTc3Ymt4NlAwNndSMFVBSUptZmdaMnA4dWc2NXFpZTZZc0Mw?=
 =?utf-8?B?eitPdS93cnAwbVQ5N0ZtaXlaa3YzcHcrMWtqZTkyb29mT0prTzYxdkkxKzhn?=
 =?utf-8?B?MnREZG5tbFZwanRaOXM0anhDMFd1WVpHY2JaREVyUFNCWlBHWGxHSjRoUGtG?=
 =?utf-8?B?am93QUl2OURkMllyMTdYOExNZzRsb3VNRFhCaUdkZjNQVDV1VmthMnEyTGFI?=
 =?utf-8?B?bVNmR0Foekp4cmpWdUxYVXR4dndqbHNnWTViUmdpNmY1dUI1WUJCbU5WOUNS?=
 =?utf-8?B?amF6RHFVUHoyS09kaU5aOU5GNU16WE5EeGxockY1VlViRWFIeHBDaTllcCtW?=
 =?utf-8?B?eHFFMHg1Vm12S3ZoZjVMakw4RjRWWWVHSTFDNS9zNzg1cXduZXorQ1J1WVBu?=
 =?utf-8?B?NGJiV1pJUEM4RElOaDRCY2srTk1GV2JlTDJlNHY0cGVEaDZVVWtJdlh0bWIv?=
 =?utf-8?B?K0pGdHh4RHcvWXN6cWJOVnhtVFVUU2xYanl1VnJWZzVLSkZOWmhXNGdpVTBP?=
 =?utf-8?B?ZzZKTlBJTGVwbjFCN0p2WkhiN0NlUVA2ZnZUY1ZVSy9qOXJ6UjNreC9zWXNJ?=
 =?utf-8?B?eXpnY0hWQmg1K2VFWWJMT2hzYzRCVDBvTVo3RFNyWnpjUW9tbmd2RVk3cmVO?=
 =?utf-8?B?MmpoY1pBeElFVUVtM0pSSFFIRTY1eXhXL3UyeFNZMDBpNmJzRGp1WjdCSXJH?=
 =?utf-8?B?NWlKLzZRcUhKNS90ZkhYUVRRT3FyZU00djNHd0FDZVp0UlhMbENVMldCZ0FH?=
 =?utf-8?B?Rm9lTWF4dlJlU2h2ZDNqVUx0WVVVQjFqN01NdDFac29xYTk5L2I4dXhFaXpG?=
 =?utf-8?B?MUpLNkszdi9uRDFpaFI3ck1wak50TklWMy9sSHNwYk4wNEFGamdWVFRVWloy?=
 =?utf-8?B?ZTZZclNib2kvQ1dORGRFaERMNjdhM0daYVBPTzJrRWlTTlhQckg3NmRWRjRN?=
 =?utf-8?B?bE1KSWJlNy9ZR3F3L3A0ZVdSajlyUGpneGZkbU42RXhyS2xydW5TWi8xVTJw?=
 =?utf-8?B?T2lHYndlWHVwMTl6YXpldXczeElCS3BtaDFkVk1DTnpXKzZYMjJqUjZEclR3?=
 =?utf-8?B?ZVhBUkd0L3l1dDlhRFRSaGx0eHV1VFVSbXhVc1UxMGI0T0YxcW1zTVdGcU5i?=
 =?utf-8?B?eWdEQjYxZDljSGlJUU44UWVrZ0I3VUtQNEpyc0IwQWNnN3M1OFVkR3ltSXN6?=
 =?utf-8?B?azVFVHhLMklwRW5OV2FmV0tpcnVMR3NXNkh4NDVhSGNrelovUjl1cEVmQkpj?=
 =?utf-8?B?ZGNWb2hTTWZ0Yk1pS1NpQmNXbFVEVGpRNWFvRGM2c2ZiR0xmWFo3TGNrc09X?=
 =?utf-8?B?NkJET0M0d09JM1J4TlRQMThyRVZrWWF0LzlXMmF6bzRzeWtBNGlNUFlBbHF3?=
 =?utf-8?B?TUR2TXJtSmJscU5NdU5sZzlzOXZ2bUZDSmdYY1FCTytlRzg4NE03YnY1ak5p?=
 =?utf-8?B?OTNPaGZuQ0c2cGNoMUJlcEFIQWdpbXo1QjhqVFF6ZnJDSEZUZWhNVW9kWHcx?=
 =?utf-8?B?VUNQQmo0Rkt0UE5QRUJKcVFTN20wellaSjVIVkpwZ05sVUptUm1FdVB1YUxH?=
 =?utf-8?B?ZkdlSHNkcEFISnJrN1VJV01QUXhhZG9OLzN4aEJORGRTd01sRFIzWmdjb1ZZ?=
 =?utf-8?Q?rlN4/dDoq/dJ1Mdx7fH3U32Xn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7825ee99-4a7a-4f5d-c540-08dbdbaf6b6d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 14:24:27.3276
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M2nYb/SseZaED6EiK4Wp7GhYeJQ/YL84yUMbEYSN3lPAzUoemTSZS5gorG4Mr1JHmByaNWc2jqxeieu2XGgfRA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7007

On 02.11.2023 11:17, Federico Serafini wrote:
> On 30/10/23 16:01, Jan Beulich wrote:
>> On 25.10.2023 15:01, Federico Serafini wrote:
>>> Make function definition and declaration consistent and emphasize that
>>> the formal parameter is deliberately not used.
>>
>> Coming back to my earlier objection: Did you consider alternatives? Best
>> would of course be to get rid of the forward declaration. That seems
>> possible, albeit not quite as straightforward as it ended up being in
>> other cases. Second best would be to rename the parameter in the forward
>> declaration. Question of course in how far "emphasize that the formal
>> parameter is deliberately not used" is important here. (If it was, I
>> wonder why VT-d's do_iommu_page_fault() is left alone.)
> 
> I can propose a new version of the patch with the second option.
> If one day you will decide to accept also Rule 2.7 ("A function
> should not contain unused parameters"), then a deviation based on
> the parameter name "unused" would be viable.
> 
> If, however, there is interest in applying the first option,
> I think the best thing is for you to take care of it.

Done.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 16:14:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 16:14:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626934.977666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyaKe-0003EF-El; Thu, 02 Nov 2023 16:14:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626934.977666; Thu, 02 Nov 2023 16:14: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 1qyaKe-0003E8-Bs; Thu, 02 Nov 2023 16:14:08 +0000
Received: by outflank-mailman (input) for mailman id 626934;
 Thu, 02 Nov 2023 16:14: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=wS6e=GP=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1qyaKc-0003Bm-VU
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 16:14:07 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0601.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d74f7ec0-799a-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 17:14:04 +0100 (CET)
Received: from AS9PR06CA0504.eurprd06.prod.outlook.com (2603:10a6:20b:49b::30)
 by GV1PR08MB7873.eurprd08.prod.outlook.com (2603:10a6:150:5c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Thu, 2 Nov
 2023 16:13:56 +0000
Received: from AMS0EPF000001B6.eurprd05.prod.outlook.com
 (2603:10a6:20b:49b:cafe::89) by AS9PR06CA0504.outlook.office365.com
 (2603:10a6:20b:49b::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Thu, 2 Nov 2023 16:13:56 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B6.mail.protection.outlook.com (10.167.16.170) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 16:13:55 +0000
Received: ("Tessian outbound 385ad2f98d71:v228");
 Thu, 02 Nov 2023 16:13:55 +0000
Received: from d4100d802f67.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F6323044-8531-4894-832A-3E45232025BC.1; 
 Thu, 02 Nov 2023 16:13:49 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d4100d802f67.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 02 Nov 2023 16:13:49 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB9PR08MB6475.eurprd08.prod.outlook.com (2603:10a6:10:253::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.20; Thu, 2 Nov
 2023 16:13:45 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866%3]) with mapi id 15.20.6954.021; Thu, 2 Nov 2023
 16:13: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: d74f7ec0-799a-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=mOzMeMickPDEf94OVCntZN+3lj9LIVasVBtooAI+GPX6OdgLK3aMN77BqHdRm8MkGqn6ErocuAkM+lMVx8wLE7zrJjbBGpwMjNPhPIVTJ5sK19qFMZ86mdues1PWzYvUxmzJduJKhiFLRELnUXXJpKYAXtMt5t72HLo6GV6fOnzE2yA6KduvOrRlNBv6snXstioH+U+RzFtUxgFO1bT8uvlnBB/PdC4lieh9BQw4VqCwIB/agY6cWb1OL6qKPqQQfHb+OGlpqzUlOka4cwOG7TZtOLWwGPb5R+Swpeglx0K2/LAJXYq287BVvpdmsDqcZK2szU25l4ODuiIlyIw8Zg==
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=fHVk9NfprxMDWjhg0e2LFxw/0tPRa/j0xCn7MrkIwgk=;
 b=J/sGJkF3BZA1f53wwa43fA9cDI7yKZoKb3tvncJIZVZ89bXhdTWN/phLydJOXyOyyRZ0xanweZ/s3qHL7EGmYwe4+bRuHDalH2bJsItyGleC2uoW4vs2G2T1GvNHD3agEKgZXYvLxKfJImR1pO3csYJV8GMIcVCVaFFXHAea0z+WNBfxu1tS6aSncGYTqnChRcglTXy2JxcSEHeomy57ZYuyQDI+uFP48zlXTHrp6a+cT7dZF0f+rNPfSajjC1LdU0nHAnFV1JeiG/zCNlkHo53YaFM8KnT3kdCCYV95K+37Lb4jY4xUift20euxU21L38hBPcZ16+ROa3MxoPtOpw==
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=fHVk9NfprxMDWjhg0e2LFxw/0tPRa/j0xCn7MrkIwgk=;
 b=8DaPC9O8KAEnxqg1redbJI7kGR83p09o2k2iiG8XEofG8ow+xIou8UFzvY3DjkbdksZAe1Deb852wZ3FWqIUexKw4EMX5NEUHxD2mgWD2colx35Lt3YjjWQBAepkiSY/X3olxbADyrr89ZEFELZGPMxCHELOgGF6rEBIgg+aWho=
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: 1e4c87d74166d710
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ivXrWWVtiFlRdgVYu2Wfp6/CB1pUnYOpnNm1PQTeheE6IkTEM0+fHK0CE6JPZiEMAIYF8oWqalcuBTVJATTj9o5gC2Y9Vr5AS9G9gOxKK11c0ukenE6EKzN7zELd0LKGalF8BvAowrXgU7R4/1yIegupiFAJ5rCTGNmNBLe+KAevEl/h7yNKZ+ce+mt4+WbcOwh1+wOVs1mS11gNKhYNtdZGUBJ1qWJ0GtW08Th81RyHiUfUCmAQ7WkO3mc0f9zAfCkg18MpeMC/h/BQDnHjw5RDZDdve4yfbcJxJcN1oq1GeiJcZPBDbFEsHTaYVJxgabmszzWnpKJLv1tl3DzrtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fHVk9NfprxMDWjhg0e2LFxw/0tPRa/j0xCn7MrkIwgk=;
 b=ebLqLlptiTPRGWAfg6WsyFATL9TPzkFGjM2o7YmuWRV2Eht/xHsl3PTw5M9G4pK58ln2nZyZb/g05inyXSySxHRaK/A5HBl610+A2fg157T2Pazh88a4iITjcdVksZxpnyn7fCd/V18EgaUdZNjjsfkZVQ5i3xkulS/GbR8EMRzsmY2I6nZ4f33bxMuyTaECD/dutEgIqOFEGyyoqHmDvlkgJLySMw5FLW2l7BD0yiYjL33LBt1GHHMMmVLTsxqhKC+uqHvKeSLYDUyELM8aZLSYY1eEbHSJM26Y3plW8JChIvpmC2P7zxs13SOL9u4KXEBFvhpbqT2bP1OFPUeFKw==
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=fHVk9NfprxMDWjhg0e2LFxw/0tPRa/j0xCn7MrkIwgk=;
 b=8DaPC9O8KAEnxqg1redbJI7kGR83p09o2k2iiG8XEofG8ow+xIou8UFzvY3DjkbdksZAe1Deb852wZ3FWqIUexKw4EMX5NEUHxD2mgWD2colx35Lt3YjjWQBAepkiSY/X3olxbADyrr89ZEFELZGPMxCHELOgGF6rEBIgg+aWho=
From: Luca Fancellu <Luca.Fancellu@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: [RFC PATCH v2 7/8] xen: Add clang-format configuration
Thread-Topic: [RFC PATCH v2 7/8] xen: Add clang-format configuration
Thread-Index: AQHaC/2DXZmPSKf8g0iXRwPyHo/7ZrBmwPcAgAAqKoCAAAMlAIAASM0A
Date: Thu, 2 Nov 2023 16:13:45 +0000
Message-ID: <0D9B5B7B-FB49-492F-AA58-183A999C8D2E@arm.com>
References: <20231031132304.2573924-1-luca.fancellu@arm.com>
 <20231031132304.2573924-8-luca.fancellu@arm.com>
 <b0c05564-eadb-5135-b465-e15dec71aa22@suse.com>
 <1B8E95BC-1633-4452-BFC3-D7F5C417E7C0@arm.com>
 <504743a2-ae84-5ebc-a753-bdd15c3a7b43@suse.com>
In-Reply-To: <504743a2-ae84-5ebc-a753-bdd15c3a7b43@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DB9PR08MB6475:EE_|AMS0EPF000001B6:EE_|GV1PR08MB7873:EE_
X-MS-Office365-Filtering-Correlation-Id: f4173bc3-625b-4e06-acd2-08dbdbbeb6ab
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:
 xbr0BvaucLG1zIX3wV1xMiifcXnWbBWOyskY44+/6oNy1koHhGCyj6Y78gC1QTi/3XlwjSZbbImqGHPGoPTveNfuS8Qely4hFix+W78MDQTjp3UCVfKgu6IR31aQXCDQ19TuZM9vf2WM0Vpbx9suKYLilTLsvO58vMGUdaTy0VgqE6BsiTTEN9tKZc9GuJyU8nmypCv4MXtjzKdf6lvW0vmyqdPAuNxzZBnq63W8qbr7MdD/hfRvtHYrmlkOXzsi8G4u26SwJla2eNZGnSJfRddQvZDITmQClsHxDykCsFxJNue5UXB+gDywdcxqOPSfnMIdGyu8lzdE3O3QfRRsusiH7WeO5uafiofZ8DRMaj/bvZX7Np5sdydLC1mRGhDfK+hSZRx/AEhxifdOGduHFDAOd9PemW9BvEU8c5WdORlt38HFjL/It+sENtFcM5RB9EF772Cuw9inRhUTYNx3Ei2QOai1v4pVKfPJH8WBg3Ca7o63iw+5ov0NM/yVIoEiGopjEGSnNVspFLB8uwnTkFoFptWahZzA+if/O7E81BDzNjtdZGRDqvSr0NAYs6xTAGpyKXTCCVEDJ7mgbLG1d62LKpvTGqhDAIJJc2P1/AZ1bwaY71tmZBmvu1kl8TeSI0trQ5dG3hlFm+cmkT8xYQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(396003)(39860400002)(376002)(230922051799003)(186009)(64100799003)(1800799009)(451199024)(91956017)(66476007)(54906003)(66556008)(64756008)(66946007)(76116006)(66446008)(6916009)(8936002)(8676002)(316002)(4326008)(5660300002)(2906002)(122000001)(83380400001)(478600001)(6486002)(6506007)(53546011)(2616005)(86362001)(71200400001)(41300700001)(33656002)(36756003)(6512007)(38100700002)(26005)(38070700009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9F25F1A7029B1C49BF693DB651CF672D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6475
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:
 AMS0EPF000001B6.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c546009d-996e-4e46-249b-08dbdbbeb078
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u9gDBEKc2I5UlStT9ONerGEKd619T7BGTUDAY20t1rlDzbft9fqr8kGDwkjazX0G8aiCcDVE06v095z5R0RUkLagaCBfwbgXuO7lcS6zUFdYbeXal8q/DYN3jlWGK8P1N8T6iO/y+jiS/4C/2a/Ol7ecznlufR6M8wWbvrqMb2C5up8LeOQ1M56sfGewcuf6mMTAs8d3OhGrKdXj/k2C+kgHIipZOe4kboDyYKR6FNP2iwj3B3abQO0oBZyJg3qjXuyp3LYS46LdVyCQCtkcOh3KV2CLiDAEeieNfhLXX2rjn+kL7bF67ZLdd5th6HnrjyzgDp7CDAVHaWtLlqvtzHuTfjpCJdrnyUFJKlL80brIB0KZwXCz35tcmDrknWcPdb48933Hz9G5N+ejR3cIq0HRykQZekOhHrf2CHRXqURHQ5u8KX9BroenwRPnY3Y/lczzyC0PTqwiPLHSzKSXdRSR9JqzSXGjfUAX2EEqa905tkW+tLNprYSe2eyE6EJdqnMpq99P8+q4Bb7jnFbU/qd38TyUBZGiRnRHRI7PGw07cK/eZ14G1uXaU+XmRob6VN5G2sTRrm2Pc+O+NHAOX0mSAfAEk+ZqhzYCA/c6+ypkFZqMNW70r47w+3s58GiuF2jxfKMYsJ+AtuCHOTX2X0tQ72mqVk4MT7FAF8dVB12hmKKeMqDldmWeEOze450q6/A47/0CW0k0hr4OAzWgXqq3hPT1k4HEE8j9Wj2C/nQBKTppc4hjnvOJDOSXURmN
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:(13230031)(4636009)(136003)(376002)(396003)(39860400002)(346002)(230922051799003)(82310400011)(451199024)(1800799009)(64100799003)(186009)(40470700004)(36840700001)(46966006)(70586007)(70206006)(40460700003)(54906003)(6512007)(86362001)(82740400003)(81166007)(356005)(6506007)(53546011)(2906002)(6486002)(33656002)(478600001)(36756003)(47076005)(36860700001)(83380400001)(336012)(41300700001)(26005)(2616005)(5660300002)(8936002)(316002)(40480700001)(8676002)(6862004)(4326008);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 16:13:55.7405
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f4173bc3-625b-4e06-acd2-08dbdbbeb6ab
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:
	AMS0EPF000001B6.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7873

DQoNCj4gT24gMiBOb3YgMjAyMywgYXQgMTE6NTMsIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNl
LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAwMi4xMS4yMDIzIDEyOjQxLCBMdWNhIEZhbmNlbGx1IHdy
b3RlOg0KPj4+IE9uIDIgTm92IDIwMjMsIGF0IDA5OjEwLCBKYW4gQmV1bGljaCA8amJldWxpY2hA
c3VzZS5jb20+IHdyb3RlOg0KPj4+IE9uIDMxLjEwLjIwMjMgMTQ6MjMsIEx1Y2EgRmFuY2VsbHUg
d3JvdGU6DQo+Pj4+IEFkZCBhIGNsYW5nIGZvcm1hdCBjb25maWd1cmF0aW9uIGZvciB0aGUgWGVu
IEh5cGVydmlzb3IuDQo+Pj4+IA0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBMdWNhIEZhbmNlbGx1IDxs
dWNhLmZhbmNlbGx1QGFybS5jb20+DQo+Pj4+IC0tLQ0KPj4+PiB4ZW4vLmNsYW5nLWZvcm1hdCB8
IDY5MyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+Pj4+
IDEgZmlsZSBjaGFuZ2VkLCA2OTMgaW5zZXJ0aW9ucygrKQ0KPj4+PiBjcmVhdGUgbW9kZSAxMDA2
NDQgeGVuLy5jbGFuZy1mb3JtYXQNCj4+PiANCj4+PiBJIHRoaW5rIHRoaXMgbmVlZHMgc3BsaXR0
aW5nIGFuZCBldmVyeSBzZXR0aW5nIHRoZW4gaW5kaXZpZHVhbGx5IGNvcnJlbGF0aW5nDQo+Pj4g
d2l0aCB3aGF0IHdlIGhhdmUgaW4gLi9DT0RJTkdfU1RZTEUuIFRoYXQgd291bGQgZW50YWlsIGV4
dGVuZGluZyAuL0NPRElOR19TVFlMRQ0KPj4+IGJ5IGFueXRoaW5nIG5vdCBwcmVzZW50bHkgd3Jp
dHRlbiBkb3duLCBidXQgaW50ZW5kZWQgdG8gYmUgY2hlY2tlZCBmb3IuDQo+PiANCj4+IERvIHlv
dSBtZWFuIGludHJvZHVjaW5nIG9uZSBwYXJhbWV0ZXIgZm9yIGVhY2ggcGF0Y2ggd2l0aCB0aGUg
Y29ycmVzcG9uZGluZyBlbnRyeSBpbg0KPj4gQ09ESU5HX1NUWUxFPw0KPj4gDQo+PiBJdCB3b3Vs
ZCBtYWtlIHNlbnNlLCBob3dldmVyIHRoZXJlIGFyZSAxMTYgcGFyYW1ldGVycywgZnJvbSB0aG9z
ZSBJIHRoaW5rIGF0IGxlYXN0IDU2IG5lZWRzDQo+PiB0byBoYXZlIGEgY29ycmVzcG9uZGluZyBl
bnRyeSBpbiBDT0RJTkdfU1RZTEUgKG1heWJlIGluIHRoZSBlbmQgdGhleSB3aWxsIGJlIGxlc3Ms
IGJ1dCBJIGRvbuKAmXQgZXhwZWN0DQo+PiB0aGVtIHRvIGJlIGxlc3MgdGhhbiA0MCksIHNvIGdp
dmVuIHRoZSBhbW91bnQgb2YgcGF0Y2hlcywgSeKAmW0gYWZyYWlkIHRvIGZsb29kIHRoZSBtYWls
aW5nIGxpc3QuDQo+IA0KPiBTb21lIGdyb3VwaW5nIG1heSBjZXJ0YWlubHkgbWFrZSBzZW5zZSwg
Zm9yIHJlbGF0ZWQgc2V0dGluZ3MuIFdoYXQgSSdtDQo+IGNvbXBsZXRlbHkgbG9zdCB3aXRoIHRo
ZSBwcmVzZW50IHN1Ym1pc3Npb24gaXMgd2hpY2ggb2YgdGhlIHNldHRpbmdzDQo+IG1lcmVseSBl
bmZvcmNlIGV4aXN0aW5nIGNvbnRlbnQgb2YgLi9DT0RJTkdfU1RZTEUsIGFuZCB3aGljaCBvbmVz
DQo+IChzaWxlbnRseSkgaW1wb3NlIG5ldyBydWxlcyB3aGljaCBldmVyeW9uZSBtYXkgYWdyZWUg
d2l0aCwgYnV0IGFsc28gbWF5DQo+IG5vdC4NCg0KSSB3aWxsIHN0YXJ0IGEgc2VwYXJhdGUgdGhy
ZWFkLCByZWZlcnJpbmcgdG8gdGhpcyBzZXJpZSwgd2l0aCBhbGwgdGhlIG1haW50YWluZXJzIGFu
ZCBJIHdpbGwNCnB1c2ggYSBudW1iZXIgb2YgcGFyYW1ldGVycyBhdCB0aGUgdGltZSwgc3RhcnRp
bmcgZnJvbSB0aGUgb25lIHRoYXQgYWxyZWFkeSBlbmZvcmNlcyB0aGUNCmNvbnRlbnQgb2YgdGhl
IGNvZGluZyBzdHlsZSwgd2l0aCBleHBsYW5hdGlvbiBmb3IgdGhlbS4NCg0KPiANCj4+IEkgd2Fz
IHRoaW5raW5nIHdlIGNvdWxkIGRpc2N1c3MgdGhlbSBpbiBjaHVua3MgYW5kIHVwZGF0ZSB0aGUg
c2VyaWUgZHVyaW5nIHRpbWUsIHdlIGNvdWxkIHB1dCBpbiB0aGlzDQo+PiBwYXRjaCBhbHNvIHRo
ZSB1cGRhdGUgdG8gdGhlIENPRElOR19TVFlMRSBmaWxlLiBTb21ldGhpbmcgbGlrZSB0aGUgTUlT
UkEgcnVsZSBhY2NlcHRhbmNlLCB3aGF0DQo+PiBkbyB5b3UgdGhpbms/IFNoYWxsIHdlIGRvIHRo
ZSBkaXNjdXNzaW9uIGJ5IE1MIG9yIGJ5IG1lZXRpbmdzPyBFdmVyeSB0aW1lIEkgY291bGQgYnJp
bmcgdXAgYSBudW1iZXINCj4+IG9mIHBhcmFtZXRlcnMgYW5kIHVwZGF0ZSB0aGUgc2VyaWUgd2hl
biB0aGUgZGlzY3Vzc2lvbiBvbiB0aGVtIGlzIGZpbmlzaGVkLg0KPiANCj4gQWZhaWMgLSBlbWFp
bCBpZiBhdCBhbGwgcG9zc2libGUuIFRoZSBtb3JlIHRoYXQsIGNvbnNpZGVyaW5nIHBhc3QNCj4g
YXR0ZW1wdHMgdG8gZXh0ZW5kIC4vQ09ESU5HX1NUWUxFLCBmb3Igc29tZSBpdGVtcyBpdCBtYXkg
YmUgY2xvc2UgdG8NCj4gaW1wb3NzaWJsZSB0byByZWFjaCBhZ3JlZW1lbnQuDQo+IA0KPj4gVGhp
cyBpcyBteSBicmVha2Rvd246DQo+PiANCj4+IDExNiB0b3RhbCBjb25maWd1cmFibGVzDQo+PiAN
Cj4+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+PiAxMyBzdHJhaWdodGZvcndhcmQNCj4gDQo+
IFdoYXQgZXhhY3RseSBkbyB5b3UgcXVhbGlmeSBhcyBzdWNoPw0KPiANCj4+IEF0dHJpYnV0ZU1h
Y3JvczoNCj4+ICAtWy4uLl0NCj4+IA0KPj4gQ29sdW1uTGltaXQ6IDgwDQo+PiANCj4+IEluZGVu
dFdpZHRoOiA0DQo+PiANCj4+IExhbmd1YWdlOiBDcHANCj4+IA0KPj4gTWFjcm9CbG9ja0JlZ2lu
OiAnXlBMQVRGT1JNX1NUQVJUfF5EVF9ERVZJQ0VfU1RBUlR8XkFDUElfREVWSUNFX1NUQVJUJw0K
Pj4gDQo+PiBNYWNyb0Jsb2NrRW5kOiAnXlBMQVRGT1JNX0VORHxeRFRfREVWSUNFX0VORHxeQUNQ
SV9ERVZJQ0VfRU5EJw0KPiANCj4gV2l0aG91dCBleHBsYW5hdGlvbiBpdCBpcywgZm9yIGV4YW1w
bGUsIG5vdCBjbGVhciB0byBtZSB3aGF0IHRoZXNlIHR3bw0KPiBzZXR0aW5ncyBhcmUgYWJvdXQu
IFdoaWNoIGluY2x1ZGVzIG1lIG5vdCB1bmRlcnN0YW5kaW5nIHdoeSB0aGVzZQ0KPiBpZGVudGlm
aWVycyBhcmUgKGFwcGFyZW50bHkpIHNwZWNpYWwgaW4gc29tZSBzcGVjaWZpYyB3YXkuDQo+IA0K
Pj4gU3RhbmRhcmQ6IEMrKzAzDQo+IA0KPiBJIGRvbid0IGNvbnNpZGVyIHRoaXMgInN0cmFpZ2h0
Zm9yd2FyZCIgYXQgYWxsLiBPbmx5IEM5OSBjb3VsZCBiZSBkZWVtZWQNCj4gc3RyYWlnaHRmb3J3
YXJkIGhlcmUsIGltby4NCg0KU3VyZSwgSSB3aWxsIHN0YXJ0IGZyb20gdGhlIOKAnHN0cmFpZ2h0
Zm9yd2FyZOKAnSB3aGljaCBJIG1lYW4gdGhlIG9uZSB0aGF0IEkgdGhpbmsgYXJlIGxlc3MgY29u
dHJvdmVyc2lhbCwNCmZvciBleGFtcGxlIGhlcmUgSSBrbm93IHdlbGwgdGhhdCB3ZSB1c2UgQzk5
LCBidXQgY2xhbmctZm9ybWF0IHdhcyBub3QgcmVhbGx5IG1lYW50IGZvciBDLCBpdOKAmXMgbW9y
ZQ0KQ3BwIG9yaWVudGVkLCBob3dldmVyIEMrKzAzIGlzIHRoZSB2YWx1ZSB1c2VkIGJ5IExpbnV4
IHNvIEkgZ3Vlc3MgaXQgY2FuIGJlIGZpbmUgYWxzbyBmb3IgdXMuDQoNCkFueXdheSBhcyBJIHNh
aWQsIEkgY2FuIHN0YXJ0IGFub3RoZXIgdGhyZWFkIHdpdGggYSBmZXcgcGFyYW1ldGVycyB0aGF0
IHdlIGNhbiBhbmFseXplIGVhY2ggdGltZS4NCg0KPiANCj4+ID09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09DQo+PiAxMCBkb24ndCByZWFsbHkgbmVlZCBhIGRpc2N1c3Npb24NCj4+IA0KPj4gUGVuYWx0
eUJyZWFrQXNzaWdubWVudDogMzANCj4+IA0KPj4gUGVuYWx0eUJyZWFrQmVmb3JlRmlyc3RDYWxs
UGFyYW1ldGVyOiAzMA0KPj4gDQo+PiBQZW5hbHR5QnJlYWtDb21tZW50OiAxMA0KPj4gDQo+PiBQ
ZW5hbHR5QnJlYWtGaXJzdExlc3NMZXNzOiAwDQo+PiANCj4+IFBlbmFsdHlCcmVha09wZW5QYXJl
bnRoZXNpczogMTAwDQo+PiANCj4+IFBlbmFsdHlCcmVha1N0cmluZzogMTANCj4+IA0KPj4gUGVu
YWx0eUV4Y2Vzc0NoYXJhY3RlcjogMTAwDQo+PiANCj4+IFBlbmFsdHlJbmRlbnRlZFdoaXRlc3Bh
Y2U6IDANCj4+IA0KPj4gUGVuYWx0eVJldHVyblR5cGVPbkl0c093bkxpbmU6IDYwDQo+PiANCj4+
IENvbW1lbnRQcmFnbWFzOiAnXiBJV1lVIHByYWdtYTonDQo+IA0KPiBMaWtlIHdpdGggdGhlICJz
dHJhaWdodGZvcndhcmQiIG9uZXMgYWJvdmUsIHdpdGhvdXQga25vd2luZyB3aGF0IHRoZXNlDQo+
IGFmZmVjdCAob3Igd2hldGhlciBzb21lIHNpbXBseSBkb24ndCBhZmZlY3QgdXMgYXQgYWxsLCBh
bmQgaGVuY2UgY291bGQNCj4gYmUgc2V0IHRvIGFueSB2YWx1ZSkgSSBjYW4ndCBmb2xsb3cgdGhl
ICJkb24ndCByZWFsbHkgbmVlZCBhIGRpc2N1c3Npb24iDQo+IHF1YWxpZmljYXRpb24uDQoNClNv
IGhlcmUgSSBtZWFudCB0aGF0IHRoZXNlIHBhcmFtZXRlcnMgYXJlIG9ubHkgdHVuaW5nIHRoZSBh
bGdvcml0aG0sIHNvIHRoZWlyIHZhbHVlDQppcyBub3Qgc29tZXRoaW5nIGVuZm9yY2luZyBhIHJ1
bGUsIHNvIHRoZXkgYXJlIGluIHNvbWUgd2F5IOKAnGJlbmRpbmfigJ0gc29tZSBvZiB0aGVtDQpi
dXQgdGhlaXIgZWZmZWN0IGlzIHZpc2libGUgbW9zdGx5IGluIGNvbmp1bmN0aW9uIHdpdGggdGhl
IG92ZXJhbGwgY29tcHV0YXRpb24gb2YgZXZlcnkgcnVsZS4NCg0KQnV0IG9mIGNvdXJzZSB3ZSBh
cmUgZ29pbmcgdG8gZGlzY3VzcyBhbHNvIHRoZW0sIGl04oCZcyBqdXN0IHRoYXQgSSBkb27igJl0
IGZlZWwgdGhlcmUgbWlnaHQgYmUNCmRpc2FncmVlbWVudHMgb24gdGhlbS4NCg0KPiANCj4gSmFu
DQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 16:55:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 16:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626938.977676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyayB-000169-JQ; Thu, 02 Nov 2023 16:54:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626938.977676; Thu, 02 Nov 2023 16:54: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 1qyayB-000162-Ek; Thu, 02 Nov 2023 16:54:59 +0000
Received: by outflank-mailman (input) for mailman id 626938;
 Thu, 02 Nov 2023 16:54: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 1qyayA-00015p-78; Thu, 02 Nov 2023 16:54: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 1qyayA-0002fi-0c; Thu, 02 Nov 2023 16:54: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 1qyay9-0002cY-Nr; Thu, 02 Nov 2023 16:54:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyay9-0002Uk-NK; Thu, 02 Nov 2023 16:54: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=97DW0YjrrBOXhC7I9lKFTwJOKXMD2ds9DPrARfjGk88=; b=Qruobz7FGpHzupRppTC/5OIkeg
	Qb6WsJ6nqdcggh11wy6LjO80YvODSxL4NhkOshSvuSPMrfv9c+ep0yyThxB7esL7FRxEGincuM6H/
	Fl9xa4XbGLhcXDonwxwQGEx4PJ1JOVzvbRXdtgvmejiOc9a/SJV4n3pktYs6HXn3SwZA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183653-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183653: tolerable FAIL - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-qcow2:guest-start:fail:heisenbug
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=e7facdca25ddcc0fdabc8d86fdc1f1da39285fdf
X-Osstest-Versions-That:
    libvirt=fb9df5396098d4dc9b1566fc1656c5c8a3da8684
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Nov 2023 16:54:57 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 13 guest-start       fail pass in 183659-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 183659 like 183647
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 183659 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183647
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183647
 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-xsm 15 migrate-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-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 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-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-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

version targeted for testing:
 libvirt              e7facdca25ddcc0fdabc8d86fdc1f1da39285fdf
baseline version:
 libvirt              fb9df5396098d4dc9b1566fc1656c5c8a3da8684

Last test of basis   183647  2023-11-01 04:18:50 Z    1 days
Testing same since   183653  2023-11-02 04:20:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Jiri Denemark <jdenemar@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               fail    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   fb9df53960..e7facdca25  e7facdca25ddcc0fdabc8d86fdc1f1da39285fdf -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 17:54:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 17:54:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626944.977686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qybtS-0001S1-UC; Thu, 02 Nov 2023 17:54:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626944.977686; Thu, 02 Nov 2023 17: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 1qybtS-0001Ru-QI; Thu, 02 Nov 2023 17:54:10 +0000
Received: by outflank-mailman (input) for mailman id 626944;
 Thu, 02 Nov 2023 17:54: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=mhp2=GP=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qybtR-0001Ro-PS
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 17:54:09 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20605.outbound.protection.outlook.com
 [2a01:111:f400:7eab::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cff8e0f4-79a8-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 18:54:06 +0100 (CET)
Received: from DS7PR03CA0333.namprd03.prod.outlook.com (2603:10b6:8:55::15) by
 CH3PR12MB9195.namprd12.prod.outlook.com (2603:10b6:610:1a3::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.21; Thu, 2 Nov 2023 17:53:59 +0000
Received: from CY4PEPF0000EDD2.namprd03.prod.outlook.com
 (2603:10b6:8:55:cafe::8d) by DS7PR03CA0333.outlook.office365.com
 (2603:10b6:8:55::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Thu, 2 Nov 2023 17:53:59 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD2.mail.protection.outlook.com (10.167.241.206) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 17:53:58 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 2 Nov
 2023 12:53:58 -0500
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 2 Nov 2023 12:53: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: cff8e0f4-79a8-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ek/JsCkm5y38h7uA/1mbJxbuFi4YzTVJHXxhSolq5ImiRztE3lRrEIDikIRZcuwAZtHOLjnNkSPX85T6Xp39Fuh1Kw7qklO3a+FQkt62YsTf+/IZjy9fCaW3TS/dyll/Bxd5GlybVji9fGQM3lqklKijwZg8mqmE1ZX+jwwTEE68z1cewU8oTmszctAB1cKqizkZ9Pa7ikMWLzlOqDV4hv8Pu+EI0HlA9AQo0JbrizNS3tACbufKOCjuhKj7Y1xiuo1EvuOyK4iyG0XWZv6wajq/E4RB93PZwIWQ5JBLCF24C4SA3HfuRndGpLzGwaF4cEOKtDH7S++iCYO6Upstcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8Cp7GdJisUrzHV8In5XvrFPvdPl+Qz7Ff7zcH2mphZk=;
 b=IuoXhQmJDZorCJQD0B7ijEegxX5Xe+Y9PJOdEGe7yXKiYx9ybQ97HR2dnVWE+nI/dltqOT22MCK0WI7igfGvgCYiRanaWXizD2UmYzE7Z2GyaIStdiueAAzuiD6hXtMzcaCz+MJ3Zznaloky2o8uYYnUxm6LbAm4N2i65im6Hmnmu5uy7DLaWPO3wOmUQfRDR07hPfsP0+lq3n7vhwJ69u/mddapAXZ0nf44wEzgYF7Pg3YzGI9oUb+G935uY39YlG/vu/1RZFhpx4WFC/FvVCay+9j1T4NvpoZJEu+QLE1CV4NoLn2PPPbjPGl2p9HOg/sJUqzh6sq3sYk9V6uprQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=cloud.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 (0)
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=8Cp7GdJisUrzHV8In5XvrFPvdPl+Qz7Ff7zcH2mphZk=;
 b=O24X6piXhvWSsqML21nzyHwziV+fjzUwqUCgfbB7tq0Ab6oO+aIb4diluSQaOdKlqB91wM9gzs20vTw+nq3+xYzUDq46rfDpl3x0JOM0bqWCq2IbeDPIkCcKjb4bw4rLnqcVbaUcInb1pQeaicsZWNNoPtVWURtYddBO2bhRsW4=
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: <7648fc06-1159-452a-8599-739020554fa4@amd.com>
Date: Thu, 2 Nov 2023 13:53:54 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 0/5] Kconfig for PCI passthrough on ARM
Content-Language: en-US
To: Christian Lindig <christian.lindig@cloud.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>,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Juergen
 Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, Christian
 Lindig <christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	=?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>, Edwin Torok
	<edwin.torok@cloud.com>
References: <20231030235240.106998-1-stewart.hildebrand@amd.com>
 <AF82D7D3-7745-475E-97C6-54016D40980D@cloud.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <AF82D7D3-7745-475E-97C6-54016D40980D@cloud.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD2:EE_|CH3PR12MB9195:EE_
X-MS-Office365-Filtering-Correlation-Id: 3bbde7b3-08b3-403f-01a2-08dbdbccb0cc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A/vkpPSSstrHU4Uyt2SiLw2GDsu3dKX9VaYg9axSkMhXBzgyHl/psVpV70Zk4MrrpdkvYDuJkBz9uNieG7aUOPL92gNsDkVj66tmhle8qHoWO6kXNQ0rpjp0XW5ioDSSkxlwLva8QG9J9krKj9J5k2CQV/MfEjzTmjpSybMCpLiwpO4xpFT/AP6CYubQg0WQl9zsXA4iFwXK9iZzepQdnC96wgtcCO2ryxcCl3Jzl1lwaYzLR+RHdJhXqRKXJEJGSI0MjcWwg5rZUNJqUxcJjVxcA5frrBeWS2kOlnhtV6Wezlzk9qOPTkFnicJpz5X62pz/m2WjXROAcdMveBHXO6nje96XK4Z/p85xOAY99TfN+OyNigQeDHHKUiAyAYuYiKTrYBQKZ8STAWk5EgUpdU8vh7WkIvV4o53sPycNAbKSvRWHzt7eQYMgQuBYgOOLo9nKKiuRx9y8h5RQTzPTUpu51eFPPZt645dn1dTlXCfl9YAaYK+WE9+OFaY1iD2mx6MS0zeOApR53U7wDdcthG13yItOr++IwwT25/4pfcxoQZzPJlJbpelMf5inA4ixRzRmChFB+r1PLpDKehenj0LbEXjaTYH5ZPAgbSbt7YIzCU+gA0VbFQdugbvm6ZxF6b9l/tYIeUGFMOIdptpzD0c0DHwn0+rVGqQwvjv30iejU5WFzjzDTGm6S5ADytSY5mode7xQpOToxKj8OaYiZFOyE0Bt952Qic0MMoXpx2xoXhc6KRC3ai1c27jREjO4TXKYk/50aSoQftu+4U9d5vKlKerivgVoM1RkRKCrxkI=
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:(13230031)(4636009)(39860400002)(136003)(346002)(396003)(376002)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(82310400011)(40470700004)(46966006)(36840700001)(966005)(40460700003)(426003)(47076005)(26005)(336012)(81166007)(356005)(36860700001)(70586007)(6916009)(16576012)(70206006)(54906003)(7416002)(316002)(5660300002)(8936002)(8676002)(4326008)(53546011)(2906002)(2616005)(41300700001)(44832011)(478600001)(82740400003)(31696002)(86362001)(36756003)(83380400001)(40480700001)(31686004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 17:53:58.7934
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3bbde7b3-08b3-403f-01a2-08dbdbccb0cc
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:
	CY4PEPF0000EDD2.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9195

On 11/1/23 05:25, Christian Lindig wrote:
>> On 30 Oct 2023, at 23:52, Stewart Hildebrand <stewart.hildebrand@amd.com> wrote:
>>
>> There are multiple series in development/review [1], [2] that will benefit from
>> having a Kconfig option for PCI passthrough on ARM. Hence I have sent this
>> series independent from any other series.
>>
>> v3->v4:
>> * rename ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
>>  to ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
>> * fold ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
>>  into ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
>> * split ("xen/arm: enable vPCI for domUs") into separate hypervisor and
>>  tools patches
>>
>> v2->v3:
>> * add ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
>> * rename ("xen/arm: make has_vpci depend on CONFIG_HAS_VPCI")
>>      to ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
>> * add ("xen/arm: enable vPCI for dom0")
>>
>> v1->v2:
>> * add ("[FUTURE] xen/arm: enable vPCI for domUs")
>>
>> [1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg02361.html
>> [2] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00210.html
>>
>> Rahul Singh (1):
>>  xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option
>>
>> Stewart Hildebrand (4):
>>  xen/vpci: move xen_domctl_createdomain vPCI flag to common
>>  xen/arm: enable vPCI for dom0
>>  [FUTURE] xen/arm: enable vPCI for domUs
>>  [FUTURE] tools/arm: enable vPCI for domUs
>>
>> tools/libs/light/libxl_arm.c       |  3 +++
>> tools/libs/light/libxl_x86.c       |  5 ++++-
>> tools/ocaml/libs/xc/xenctrl.ml     |  2 +-
>> tools/ocaml/libs/xc/xenctrl.mli    |  2 +-
>> tools/python/xen/lowlevel/xc/xc.c  |  5 ++++-
>> xen/arch/arm/Kconfig               | 10 ++++++++++
>> xen/arch/arm/domain.c              |  3 ++-
>> xen/arch/arm/domain_build.c        |  6 ++++++
>> xen/arch/arm/include/asm/domain.h  |  3 ---
>> xen/arch/arm/include/asm/pci.h     |  9 +++++++++
>> xen/arch/arm/pci/pci-host-common.c | 11 ++++++++---
>> xen/arch/arm/vpci.c                |  8 ++++++++
>> xen/arch/x86/domain.c              | 16 ++++++++++------
>> xen/arch/x86/include/asm/domain.h  |  6 +-----
>> xen/arch/x86/setup.c               |  5 +++--
>> xen/common/domain.c                | 10 +++++++++-
>> xen/drivers/passthrough/pci.c      | 10 ++++++++++
>> xen/include/public/arch-x86/xen.h  |  5 +----
>> xen/include/public/domctl.h        |  7 +++++--
>> xen/include/xen/domain.h           |  2 ++
>> 20 files changed, 97 insertions(+), 31 deletions(-)
>>
>>
>> base-commit: 9659b2a6d73b14620e187f9c626a09323853c459
>> -- 
>> 2.42.0
>>
> 
> 
> Acked-by: Christian Lindig <christian.lindig@cloud.com>

Thanks, I'll add this tag to the relevant patch ("xen/vpci: move xen_domctl_createdomain vPCI flag to common").

> 
> 
> The changes for the OCaml part are incremental; is someone using the OCaml bindings on ARM seriously? 

The patch touching OCaml is essentially code movement from x86 to common.


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 18:30:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 18:30:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626949.977696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qycSr-0007W0-Qd; Thu, 02 Nov 2023 18:30:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626949.977696; Thu, 02 Nov 2023 18:30: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 1qycSr-0007Vt-MH; Thu, 02 Nov 2023 18:30:45 +0000
Received: by outflank-mailman (input) for mailman id 626949;
 Thu, 02 Nov 2023 18:30: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=Af+B=GP=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qycSq-0007Vn-V3
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 18:30:45 +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 ede20119-79ad-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 19:30:42 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-53e751aeb3cso2034517a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 11:30: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: ede20119-79ad-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698949842; x=1699554642; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Uy/RDA6jQwzA0cX1H6r3EJj2PH3gaa2gA4/nfPT+XRY=;
        b=NhyO88QYZa4rCoCA04yJbfGcqiRCgEEsrZy/c6WRcLPlBTVHOU8N+WgaiLq4zZJAUm
         jSBR7CE9D3MzoOKTnnQw+SDFJLKX0kBtr+Y41QYqcApQLXkkQvsMZwaqbNm8a58FGDKF
         lkskxKtCk0X4/XFUMUYEqX/fi5+PLOh54q9ZkdW+vyEb36uGomO/MUF1C//o1VxrJ8pP
         FrzizuyjwYNIhAuMnfaV5ahQMberIDRdEItLtsrgibnRCCsFhRViVZTKBJ2880EIKUcm
         XDaFv0W0UZcM9C5SOtxlorDcx/upE70+rx4wfI1C7JyvSjKd5lw7/Bwcs0vLrnWHjkGD
         DPOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698949842; x=1699554642;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Uy/RDA6jQwzA0cX1H6r3EJj2PH3gaa2gA4/nfPT+XRY=;
        b=c/Mu35sMqZzBoPvY+rym424ZCGfN+HJ8I1SNUxYQcRJstLm2Qfawr1Cln2ZiJdA2VF
         iVb3Wpgq0RLYr4UqCXzfYO/lVhowAhQIqPdi2DbfV3Aa8MbI0tAm4qw9mte9E7GnpS1e
         HQEzVmtFvUx0PGBfZboykMrjwAYMHtFLp7m0NmZge2o205QJH8eFo+MetS9LAlhJX1C7
         xM6GrHbHiaBBhCsKoVSquLZFpzITvSGjKyfGUkRH+GwszxoYvqJj7Fvlvyj/KbVRfbuH
         sa2enh6OonZLrs2ZcOf2L52pHogAiHKcUypBb+iZ2bu7a5hEcxNi3zGtj0jrvRKk3vHa
         ++Pg==
X-Gm-Message-State: AOJu0YxmBKWxEWJb0g79Z6JAEd5E2J/kNsBEBRTKHb+XAXixjcozxfII
	kEbVZ2nYTT2ceq6s5cpCoffiNb3JUh9FWus2KYs=
X-Google-Smtp-Source: AGHT+IFjUqCZfkwGbHNl/Lbxfod7sB2TQiOK+VsDuZZU6mQ3DVzRl6vhegVz6TniJYAzvuukVcum3gPVVIiahw9o9aM=
X-Received: by 2002:a05:6402:3586:b0:53d:d879:34f3 with SMTP id
 y6-20020a056402358600b0053dd87934f3mr19679369edc.1.1698949841560; Thu, 02 Nov
 2023 11:30:41 -0700 (PDT)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-5-jgross@suse.com>
In-Reply-To: <20231101093325.30302-5-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 2 Nov 2023 14:30:30 -0400
Message-ID: <CAKf6xptuzB_tkYaksQfLb2kWtX03cjoQ2iGon1typjbkLT2AXQ@mail.gmail.com>
Subject: Re: [PATCH 04/29] tools/xenlogd: add transport layer
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:34=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the transport layer of 9pfs. This is basically the infrastructure
> to receive requests from the frontend and to send the related answers
> via the rings.
>
> In order to avoid unaligned accesses e.g. on Arm, add the definition of
> __packed to the common-macros.h header.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---

> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> index ef0954d69d..590d06e906 100644
> --- a/tools/xenlogd/io.c
> +++ b/tools/xenlogd/io.c

> +static unsigned int get_request_bytes(device *device, unsigned int off,
> +                                      unsigned int len)
> +{
> +    unsigned int size;
> +    unsigned int out_data =3D ring_out_data(device);
> +    RING_IDX prod, cons;
> +
> +    size =3D min(len - off, out_data);
> +    prod =3D xen_9pfs_mask(device->intf->out_prod, device->ring_size);
> +    cons =3D xen_9pfs_mask(device->cons_pvt_out, device->ring_size);
> +    xen_9pfs_read_packet(device->buffer + off, device->data.out, size,
> +                         prod, &cons, device->ring_size);
> +
> +    xen_rmb();           /* Read data out before setting visible consume=
r. */
> +    device->cons_pvt_out +=3D size;
> +    device->intf->out_cons =3D device->cons_pvt_out;
> +
> +    /* Signal that more space is available now. */
> +    xenevtchn_notify(xe, device->evtchn);
> +
> +    return size;
> +}
> +
> +static unsigned int put_request_bytes(device *device, unsigned int off,
> +                                      unsigned int len)

Should this be named put_response_bytes?

> +{
> +    unsigned int size;
> +    unsigned int in_data =3D ring_in_free(device);
> +    RING_IDX prod, cons;
> +
> +    size =3D min(len - off, in_data);

IIUC, len is the total length of the outgoing data.  Maybe total_len
would be a better name?  I at least read len as just a length for a
particular call.  Same comment applies to get_request_bytes() if you
want to follow it.

> +    prod =3D xen_9pfs_mask(device->prod_pvt_in, device->ring_size);
> +    cons =3D xen_9pfs_mask(device->intf->in_cons, device->ring_size);
> +    xen_9pfs_write_packet(device->data.in, device->buffer + off, size,
> +                          &prod, cons, device->ring_size);
> +
> +    xen_wmb();           /* Write data out before setting visible produc=
er. */
> +    device->prod_pvt_in +=3D size;
> +    device->intf->in_prod =3D device->prod_pvt_in;
> +
> +    return size;
> +}
> +
>  static bool io_work_pending(device *device)
>  {
>      if ( device->stop_thread )
>          return true;
> -    return false;
> +    if ( device->error )
> +        return false;
> +    return device->handle_response ? ring_in_free(device)
> +                                   : ring_out_data(device);
>  }
>
>  void *io_thread(void *arg)
>  {
>      device *device =3D arg;
> +    unsigned int count =3D 0;
> +    struct p9_header hdr;
> +    bool in_hdr =3D true;
> +
> +    device->max_size =3D device->ring_size;
> +    device->buffer =3D malloc(device->max_size);
> +    if ( !device->buffer )
> +    {
> +        syslog(LOG_CRIT, "memory allocation failure!");
> +        return NULL;
> +    }
>
>      while ( !device->stop_thread )
>      {
> @@ -36,9 +127,56 @@ void *io_thread(void *arg)
>          }
>          pthread_mutex_unlock(&device->mutex);
>
> -        /* TODO: I/O handling. */
> +        if ( device->stop_thread || device->error )
> +            continue;
> +
> +        if ( !device->handle_response )
> +        {
> +            if ( in_hdr )
> +            {
> +                count +=3D get_request_bytes(device, count, sizeof(hdr))=
;
> +                if ( count !=3D sizeof(hdr) )
> +                    continue;
> +                hdr =3D *(struct p9_header *)device->buffer;
> +                if ( hdr.size > device->max_size || hdr.size < sizeof(hd=
r) )
> +                {
> +                    syslog(LOG_ERR, "%u.%u specified illegal request len=
gth %u",
> +                           device->domid, device->devid, hdr.size);
> +                    device->error =3D true;

When device->error is set, io_thread stops processing requests, but do
we want to also tear down this backend?  The event channel at least is
left in place and unmasked.

> +                    continue;
> +                }
> +                in_hdr =3D false;
> +            }
> +
> +            count +=3D get_request_bytes(device, count, hdr.size);
> +            if ( count < hdr.size )
> +                continue;
> +
> +            /* TODO: handle request. */
> +
> +            device->handle_response =3D true;
> +            hdr.size =3D ((struct p9_header *)device->buffer)->size;

hdr.size is set during the struct copy above, so this isn't needed?

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 18:49:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 18:49:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626953.977705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyckg-0001gN-9c; Thu, 02 Nov 2023 18:49:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626953.977705; Thu, 02 Nov 2023 18:49: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 1qyckg-0001gG-6V; Thu, 02 Nov 2023 18:49:10 +0000
Received: by outflank-mailman (input) for mailman id 626953;
 Thu, 02 Nov 2023 18:49: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=Af+B=GP=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qycke-0001gA-Mn
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 18:49:08 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f9880ad-79b0-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 19:49:05 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-5440f25dcc7so182023a12.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 11:49: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: 7f9880ad-79b0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698950945; x=1699555745; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xUnouD3i9m5FUwdGk7oTZpsyo6P6hX1HRPdljs4EnPY=;
        b=he3HnzcQZ8pfYmvziJiQ0hNUoZfJNgvWfie8RaBtza0Mz/9dqoUVXAaUZUYzQkIZtX
         fJcV0aVX7YyPAsFOo9AJfwHgzR+J1LnXn0GfM70yvnpbfpYo/xsQG8b4HqgAaJfsthLE
         rHSSOXBl7notADKKeSydUO0bOzTiaMqhwM69I0WjKrwgCS7jXk1ASAE6bSOYf0t4wCDV
         9SG7hJ/YhHkbYVCYLRIkDBU30VMnrJFmEdy7OHf8ffyLQ2QZ8eiapejK40WwuRjCYvJK
         8oLZh75798GNc52EJpY8Y8uy0tQggP8BQQVlcfm5i4D/5OJBCukLiHU2t4MiAzhidTgV
         TWIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698950945; x=1699555745;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xUnouD3i9m5FUwdGk7oTZpsyo6P6hX1HRPdljs4EnPY=;
        b=fhxnJuUIulgtlZ81dRI+wS4s5DTOmsqyvRqpXdJG4YYPFAOgtLF0ji9QlmUfcKH8Nb
         Ik44kMmjTQGvFxsysoyDHl6OWjwo/bfakxVgW8+BK/AhomlplJw8PSOJjk8Z1V9tlG87
         nXJoBHuZMkD9cnyS/iudXFzF4N04ju5re3IDJOkoNK61zN6jJn9ZqT2y9VmCjHSPj1c8
         /TNCKPSOowxBPdvFuC+As7lnpAuQ1DcWk2W2zwwpSbm5qAzdjAzsVzbh4Occ//8RKXKL
         6V8RrD+WBp5J+a8qGxfqF8vw1ST5ikYVpjYyRL1WpjHo+1Zbgf4BveDcHsWjbQBeLzL9
         YcDQ==
X-Gm-Message-State: AOJu0YwzworEtuAAeuLmkHksNu+xzRteRFEmSglX96/BQuwlH7OTXUVY
	YiPaAFI6Vjd2gLotq4CX5G6bAen3DUg+a0naBpsMHcAk
X-Google-Smtp-Source: AGHT+IGMaYeyWE4un6peZaffeb8+B69IUw4SzhUKyNp41jGrccwPGm51uUByWthyty1EJGu7ttOAZxsikwQ/V8UgYMA=
X-Received: by 2002:a50:d7dc:0:b0:543:7a41:4858 with SMTP id
 m28-20020a50d7dc000000b005437a414858mr6579445edj.22.1698950945135; Thu, 02
 Nov 2023 11:49:05 -0700 (PDT)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-6-jgross@suse.com>
In-Reply-To: <20231101093325.30302-6-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 2 Nov 2023 14:48:54 -0400
Message-ID: <CAKf6xpvfVfDWmQnGxtDyxQ_6d0zWmb6FeXJKJfw+jk5-UcqO9A@mail.gmail.com>
Subject: Re: [PATCH 05/29] tools/xenlogd: add 9pfs response generation support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 6:56=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add support for generation a 9pfs protocol response via a format based
> approach.
>
> Strings are stored in a per device string buffer and they are
> referenced via their offset in this buffer. This allows to avoid
> having to dynamically allocate memory for each single string.
>
> As a first user of the response handling add a generic p9_error()
> function which will be used to return any error to the client.
>
> Add all format parsing variants in order to avoid additional code churn
> later when adding the users of those variants. Prepare a special case
> for the "read" case already (format character 'D'): in order to avoid
> adding another buffer for read data support doing the read I/O directly
> into the response buffer.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---

> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> index 590d06e906..5a06f72338 100644
> --- a/tools/xenlogd/io.c
> +++ b/tools/xenlogd/io.c

> @@ -101,6 +112,172 @@ static bool io_work_pending(device *device)
>                                     : ring_out_data(device);
>  }
>
> +static void fmt_err(const char *fmt)
> +{
> +    syslog(LOG_CRIT, "illegal format %s passed to fill_buffer()", fmt);
> +    exit(1);
> +}
> +
> +/*
> + * Fill buffer with response data.
> + * fmt is a sequence of format characters. Supported characters are:
> + * a: an array (2 bytes number of elements + the following format as ele=
ments)
> + *    The number of elements is passed in the first unsigned int paramet=
er, the
> + *    next parameter is a pointer to an array of elements as denoted by =
the next
> + *    format character.
> + * b: 2 byte unsigned integer
> + *    The parameter is a pointer to a uint16_t value
> + * D: Data blob (4 byte length + <length> bytes)
> + *    2 parameters are consumed, first an unsigned int for the length, t=
hen a
> + *    pointer to the first uint8_t value.
> + *    No array support.
> + * L: 8 byte unsigned integer
> + *    The parameter is a pointer to a uint64_t value
> + * Q: Qid (struct p9_qid)
> + * S: String (2 byte length + <length> characters)
> + *    The length is obtained via strlen() of the parameter, being a poin=
ter
> + *    to the first character of the string
> + * U: 4 byte unsigned integer
> + *    The parameter is a pointer to a uint32_t value
> + */
> +static void fill_buffer(device *device, uint8_t cmd, uint16_t tag,
> +                        const char *fmt, ...)
> +{
> +    struct p9_header *hdr =3D device->buffer;
> +    void *data =3D hdr + 1;
> +    const char *f;
> +    const void *par;
> +    const char *str_val;
> +    const struct p9_qid *qid;
> +    unsigned int len;
> +    va_list ap;
> +    unsigned int array_sz =3D 0;
> +    unsigned int elem_sz =3D 0;
> +
> +    hdr->cmd =3D cmd;
> +    hdr->tag =3D tag;
> +
> +    va_start(ap, fmt);
> +
> +    for ( f =3D fmt; *f; f++ )
> +    {
> +        if ( !array_sz )
> +            par =3D va_arg(ap, const void *);
> +        else
> +        {
> +            par +=3D elem_sz;
> +            array_sz--;
> +        }
> +
> +        switch ( *f )
> +        {
> +        case 'a':
> +            f++;
> +            if ( !*f || array_sz )
> +                fmt_err(fmt);
> +            array_sz =3D *(const unsigned int *)par;
> +            *(__packed uint16_t *)data =3D array_sz;

Is it worth checking that array_sz doesn't exceed 0xffff?

> +            data +=3D sizeof(uint16_t);
> +            par =3D va_arg(ap, const void *);
> +            elem_sz =3D 0;
> +            break;
> +
> +        case 'u':
> +            *(__packed uint16_t *)data =3D *(const uint16_t *)par;
> +            elem_sz =3D sizeof(uint16_t);
> +            data +=3D sizeof(uint16_t);
> +            break;
> +
> +        case 'D':
> +            if ( array_sz )
> +                fmt_err(fmt);
> +            len =3D *(const unsigned int *)par;
> +            *(__packed uint32_t *)data =3D len;
> +            data +=3D sizeof(uint32_t);
> +            par =3D va_arg(ap, const void *);
> +            if ( data !=3D par )
> +                memcpy(data, par, len);
> +            data +=3D len;
> +            break;
> +
> +        case 'L':
> +            *(__packed uint64_t *)data =3D *(const uint64_t *)par;
> +            elem_sz =3D sizeof(uint64_t);
> +            data +=3D sizeof(uint64_t);
> +            break;
> +
> +        case 'Q':
> +            qid =3D par;
> +            elem_sz =3D sizeof(*qid);
> +            *(uint8_t *)data =3D qid->type;
> +            data +=3D sizeof(uint8_t);
> +            *(__packed uint32_t *)data =3D qid->version;
> +            data +=3D sizeof(uint32_t);
> +            *(__packed uint64_t *)data =3D qid->path;
> +            data +=3D sizeof(uint64_t);
> +            break;
> +
> +        case 'S':
> +            str_val =3D par;
> +            elem_sz =3D sizeof(str_val);
> +            len =3D strlen(str_val);

Should len be checked to ensure it doesn't exceed 0xffff?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 19:06:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 19:06:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626957.977716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyd10-00057L-Lv; Thu, 02 Nov 2023 19:06:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626957.977716; Thu, 02 Nov 2023 19: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 1qyd10-00057E-Ij; Thu, 02 Nov 2023 19:06:02 +0000
Received: by outflank-mailman (input) for mailman id 626957;
 Thu, 02 Nov 2023 19:06: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=7M36=GP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qyd0z-000578-3Q
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 19:06:01 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dbcd4350-79b2-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 20:05:59 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-32fb1d757f7so343534f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 12:05:59 -0700 (PDT)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j8-20020adff008000000b0032f7cc56509sm66400wro.98.2023.11.02.12.05.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Nov 2023 12:05: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: dbcd4350-79b2-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1698951959; x=1699556759; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=3+AMNa0HLOtdvZ2o5TtgiGIpuxXgRgUROGevVxWpl3Q=;
        b=PEfUUyGE8JV+bZ78pgWb20uVDuoSfokCPB8Qiq0qJUUl86JL2X8mErow1UUp7oc+FF
         Gd38Vpv6oIWESTtZAHGbKGcu2ADPhwNeOrCEkDbo5+UTvhi/o/XX1oCJpxl4QXSo7t2o
         6ENgUv/ezJz/yvX1a77EHWXzSaUJ5MUnQ2T5o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698951959; x=1699556759;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=3+AMNa0HLOtdvZ2o5TtgiGIpuxXgRgUROGevVxWpl3Q=;
        b=dX7tA4mdWrEG0SCN9QIcj0xQg79K5logpjZMlXBUwvagLqxsyvd8gvZcHurEqILJKN
         geNtRUmuo1tgdmpG276dRBXG/SX5/lgmLpK4KuiTpHG19LlSMsWz2CqfSBVXrrIzATDk
         XhPY/pv+LezjSn+skEhVZZqpo2HrpS2jdx8aonEeqs6f2yqrZAXTjI3IoWis9fL+dorA
         k5Gp5tnpXUZ6vJ8SCxRJKv6XtjuE5fsdvzhCUohnKFhe65yt3v+6Gx6MtAjUskCKciDz
         dB0yD77pJUJIGdbQeVR0Ae3yacuVN1BCXbcdEFi0Z9iOb2WOo9fR3IVf2dRTTjTtO51f
         /50A==
X-Gm-Message-State: AOJu0Ywsm60BOQLJJZd29+OHajQFlC1kABXkSaiGqUroPd+F0hnNhGnd
	ijxKOl+UGfi2GzGfzoTAo8Wwkg==
X-Google-Smtp-Source: AGHT+IGQLclTSC9VLMRKB9j9Z3FZj7o5p476j/mZw2AXCjPxN6yMNxKZ+CVL/Np0AHLj6LSDotH2Jg==
X-Received: by 2002:a05:6000:1447:b0:32f:7f6c:72a6 with SMTP id v7-20020a056000144700b0032f7f6c72a6mr12150272wrx.16.1698951958940;
        Thu, 02 Nov 2023 12:05:58 -0700 (PDT)
Message-ID: <e8c03b95-2b17-4d3f-af1a-4dd53e57f9d8@citrix.com>
Date: Thu, 2 Nov 2023 19:05:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH for-4.18] x86/time: Fix UBSAN failure in
 __update_vcpu_system_time()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231101203737.3441425-1-andrew.cooper3@citrix.com>
 <7ca0ed7c-e797-7894-80e6-5d6497db9a99@suse.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <7ca0ed7c-e797-7894-80e6-5d6497db9a99@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/11/2023 8:33 am, Jan Beulich wrote:
> On 01.11.2023 21:37, Andrew Cooper wrote:
>> As reported:
>>
>>   (XEN) ================================================================================
>>   (XEN) UBSAN: Undefined behaviour in arch/x86/time.c:1542:32
>>   (XEN) member access within null pointer of type 'union vcpu_info_t'
>>   (XEN) ----[ Xen-4.19-unstable  x86_64  debug=y ubsan=y  Not tainted ]----
>>   ...
>>   (XEN) Xen call trace:
>>   (XEN)    [<ffff82d040345036>] R common/ubsan/ubsan.c#ubsan_epilogue+0xa/0xd2
>>   (XEN)    [<ffff82d0403456e8>] F __ubsan_handle_type_mismatch+0x133/0x49b
>>   (XEN)    [<ffff82d040345b4a>] F __ubsan_handle_type_mismatch_v1+0xfa/0xfc
>>   (XEN)    [<ffff82d040623356>] F arch/x86/time.c#__update_vcpu_system_time+0x212/0x30f
>>   (XEN)    [<ffff82d040623461>] F update_vcpu_system_time+0xe/0x10
>>   (XEN)    [<ffff82d04062389d>] F arch/x86/time.c#local_time_calibration+0x1f7/0x523
>>   (XEN)    [<ffff82d0402a64b5>] F common/softirq.c#__do_softirq+0x1f4/0x31a
>>   (XEN)    [<ffff82d0402a67ad>] F do_softirq+0x13/0x15
>>   (XEN)    [<ffff82d0405a95dc>] F arch/x86/domain.c#idle_loop+0x2e0/0x367
>>   (XEN)
>>   (XEN) ================================================================================
>>
>> It is not valid to derive a pointer from vcpu_info() prior to checking that
>> the underlying map pointer is good.
>>
>> Reorder actions so the NULL pointer check is first.
>>
>> Fixes: 20279afd7323 ("x86: split populating of struct vcpu_time_info into a separate function")
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> In the interest of silencing the checker
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> However, ...
>
>> 4.18 blocker, or we'll need to issue an XSA/CVE.
> ... I dare to disagree (or to at least be uncertain) here, and I further
> dare to question correctness of the checker (which suggests that it might
> be helpful to point out in the description which version of the compiler
> it was). Quoting part of a footnote of the respective part of the C99
> spec, describing the unary * operator:
>
> "Thus, &*E is equivalent to E (even if E is a null pointer), ..."
>
> This imo leaves it at best ambiguous whether there's any actual UB here.

I'd argue that this isn't relevant.

What matters how the compiler interprets the spec, and in this case GCC
is telling us explicitly that it does consider this to be UB.

Whether there is a practical consequence is a different question, but ...

> Furthermore, if you deem this XSA-worthy despite the generated code not
> resulting in any real misbehavior

... we've issued XSAs for this class of issue before.  XSA-328 is the
one I specifically remember, but I'm sure we've done others too.

In this case, an unprivileged guest can control the NULL-ness here, so
if there's a practical consequence from the compiler then the guest can
definitely tickle that consequence.

Alternatively, the security team could decide to change it's stance on
this class of issues.

> , code patterns like
> (found in free_heap_pages())
>
>             struct page_info *predecessor = pg - mask;
>
>             /* Merge with predecessor block? */
>             if ( !mfn_valid(page_to_mfn(predecessor)) ||
>
> or (found in get_page_from_l1e())
>
>     struct page_info *page = mfn_to_page(_mfn(mfn));
>     ...
>     valid = mfn_valid(_mfn(mfn));
>
>     if ( !valid ||
>
> would be in the same class (access outside of array bounds), just that the
> checker cannot spot those without producing false positives (simply because
> it doesn't know frame_table[]'s bounds). We're fully aware of the existence
> of such code, and we've decided to - if at all - only eliminate such cases
> (slowly) as respective code is touched anyway.

I don't agree with describing these as the same class.  NULL deference
is different to OoB, even if they overlap from an underlying mechanics
point of view.

Nevertheless, I've raised that "valid" pattern with the security team
before, and I would certainly prefer to express it differently.

But neither of them trigger UBSAN.  GCC can't see any wiggle room to
potentially optimise, and I expect it's because __mfn_valid() is in an
external call.

If we had working LTO, I'd be interested to see that alters the UBSAN
determination or not.

>
> Jan
>
> PS: argo.c:find_ring_mfn() has
>
>     *mfn = page_to_mfn(page);
>     if ( !mfn_valid(*mfn) )
>         ret = -EINVAL;
>
> which, while not at risk of yielding any UB, is an entirely pointless
> check (as the underlying assumption needs to be that the struct
> page_info * must already be a valid pointer, or else _its_ obtaining was
> possibly UB). Having such checks in the code is at best misleading.
>

Yeah, that does looks wonky.  Luckily ARGO is still experimental.

Although given the topics on the call today, I wonder whether this is
really appropriate, seeing as ARGO underpins the security model on OpenXT...

I did have some plans (for copious free time, of course) to investigate
coccinelle and use it like Linux does, in order to spot and correct
known anti-patterns.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 19:16:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 19:16:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626962.977726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qydAt-0007Fn-KB; Thu, 02 Nov 2023 19:16:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626962.977726; Thu, 02 Nov 2023 19:16: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 1qydAt-0007Fg-Gu; Thu, 02 Nov 2023 19:16:15 +0000
Received: by outflank-mailman (input) for mailman id 626962;
 Thu, 02 Nov 2023 19:15: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=7M36=GP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qyd9m-00073V-A8
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 19:15:06 +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 210154d1-79b4-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 20:15:05 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-32db188e254so759696f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 12:15:05 -0700 (PDT)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 o25-20020a5d58d9000000b0032db430fb9bsm86201wrf.68.2023.11.02.12.15.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Nov 2023 12:15: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: 210154d1-79b4-11ee-98d6-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1698952504; x=1699557304; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/WFlO5lpcERroBO4vg9LKLz1TVeISTzTk/LnAiyB/nU=;
        b=C0oc0F3Cs61gsKm8dXP9OU/fxLJYLpikboHawFlHcm4NoDwGSzANzkmAJTjlsnPcvO
         H+H1zPS21p3HWZCrDEE6/7jE5d5aa72oXjwQJQKZp2C5byFvq2Uk0kCPnmKOs1hy5Kyj
         RVUEJO3tD2o+rr7BiNIHu4v/EQdkmKesgIp8AybggyEtQrbJZyo7cmgDYkXpGeFnH0dx
         pFmskGju4/EUZhWPlMr/9+gTmXpQmtYdtM6BLKEEiBoQ/NZ8109tPf3M5XVaq0rMf9yZ
         N4Xzr+a4g8L1hDOD2dye8H9ZG6u3Eg78XnO92Sc5eN46XsgDV+s6ohzEZ9BczqtLdsb5
         Bkhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698952504; x=1699557304;
        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:subject:date:message-id:reply-to;
        bh=/WFlO5lpcERroBO4vg9LKLz1TVeISTzTk/LnAiyB/nU=;
        b=HqwBGPmEU/At6HdXzlbZeY7XLS7yMZRS5OvUSCb13ONcbRE1PV0JevlqlIeffEKVjH
         nWgTKFEjFJZqyPNS6ctNVFU6EgIKkB9NWeDBVEZIYWtL83dF9WwcMXF5qgV6K+Q8H0lt
         nouMQfPRGLiXH4XYzYrxp1WimX577OWfXj5d/4JnYeTIBKhQ5x3kqQlJhRljAjmkXZ42
         8r2l2bYivm8ct6JkQLZrricqJeEbbB+2MPD9+lRWn783khvtCEoRV5oCHM1Pafs+2TU6
         FBT7z1lEd/d4mEckhJ/4vpOGQalTl7wHXaoD8G95cy5WUeu2oPLYNP2jHm/EtsZe2WBf
         Z3Fg==
X-Gm-Message-State: AOJu0Ywf94FJl5Fc+lqmznssGg4nN43n6fP567sHN2crlrpAIlJJtRPg
	JcoRUGJ4i7yh5Wk6vTD6FZGZtQ==
X-Google-Smtp-Source: AGHT+IFBmphUMvsMFvEc7S3O26TJBTgSA7J0oyGM6imNppL2Ap9ufBGhyndUXj1hmp4AFMCve9gRMA==
X-Received: by 2002:adf:d1e4:0:b0:32f:7c6c:aa14 with SMTP id g4-20020adfd1e4000000b0032f7c6caa14mr15146689wrd.37.1698952504596;
        Thu, 02 Nov 2023 12:15:04 -0700 (PDT)
Message-ID: <feb6578d-9c2f-4e7f-ab1b-af588c22165b@tibco.com>
Date: Thu, 2 Nov 2023 19:15:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/29] tools: add a new xen logging daemon
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-3-jgross@suse.com>
 <CAKf6xpt6LwSB2QaCnW7MvKJWq5rkR6qoFEG4ZCKVqv3MKeMMuQ@mail.gmail.com>
 <9b60fe7c-a960-4463-a0cf-1126ba29bcaf@suse.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <9b60fe7c-a960-4463-a0cf-1126ba29bcaf@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/11/2023 7:44 am, Juergen Gross wrote:
> On 01.11.23 19:36, Jason Andryuk wrote:
>> On Wed, Nov 1, 2023 at 10:27 AM Juergen Gross <jgross@suse.com> wrote:
>>>
>>> Add "xenlogd", a new logging daemon meant to support infrastructure
>>> domains (e.g. xenstore-stubdom) to write log files in dom0.
>>
>> As I understand it, your new daemon is a generic 9pfs backend, which
>> you use for logging.  I think naming it something like xen9pfsd would
>> more accurately describe its functionality.
>
> Fine with me. I'll wait a little bit to see what others think.

FWIW, I too looked at xenlogd and thought it probably wasn't ideal, but
I was going to wait until glancing at the whole series before suggesting
an alternative.

If it really is a generic 9pfs backend, then +1 to Jason's suggestion,
although preferably as xen-9pfsd for improved legibility.


But a couple of other remarks while I'm here.

It's great to see that it only uses stable libraries, and I hope that
remains true to the end of the series.  If we end up wanting unstable
APIs, can I suggest that we take the opportunity to stabilise them as a
prerequisite.

In this patch, stop_me needs to be volatile or read with
ACCESS_ONCE()/etc.  The only thing stopping GCC turning it into an
infinite loop is sleep() being an external call.  daemon_running may
need similar treatment, depending on how it gets used in later patches.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 19:25:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 19:25:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626968.977735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qydJy-0000kw-JX; Thu, 02 Nov 2023 19:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626968.977735; Thu, 02 Nov 2023 19: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 1qydJy-0000kp-Gw; Thu, 02 Nov 2023 19:25:38 +0000
Received: by outflank-mailman (input) for mailman id 626968;
 Thu, 02 Nov 2023 19:25: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=Af+B=GP=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qydJx-0000kQ-Vv
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 19:25:37 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 990b2632-79b5-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 20:25:36 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5230a22cfd1so2228090a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 12:25: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: 990b2632-79b5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698953135; x=1699557935; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=sI3NNmtBMGkEdi8DCS8PFyqpcNw/YewEffJ8wf5Mcpk=;
        b=VyVgccL6PAZUe9TLOPkGcEkeICsmzrjfc+F2qPBzj1FrSc1bqExQimP4T7U9141cqF
         9RyDX2ZId3VRpJiKCo3hz8HHcFfyoV51fJ9rJeoZS0Ge4ckLh8IzplMUqXLPh/6K9sB3
         s/0cGJnhNkXOQbM67El9xXuqztP8qTp0IzC2r2rqa+eii+viXjJajQV13/spC6jI4QZ4
         hn41o+hOXnCLmKsknbfJXZNUBk16SNB87BOTqG2NhzgzoWqvPUe1Wf9qiJtfumF74/7M
         1upJCAN7Lz2WSC5N0i7VUxHQJugHSDKMpl5MKVhP6/Z7JFKKNLbP+6tz9jB/8DHO0xsw
         jJAg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698953135; x=1699557935;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=sI3NNmtBMGkEdi8DCS8PFyqpcNw/YewEffJ8wf5Mcpk=;
        b=KUPLT0n/j3RKD+B9R04w9GV0KeJsoqXpmZr6CGyblxNqvjf1xDcIbu0Ux0uF5CIkRr
         O9q53ITc/Vl6A3+KnfAzYWuxJSmaqr7kuJIsm/zZ33KLjZcM+qymUp8jtk40rOUJTYNS
         UZTvMmadGXmmufNixVcO7dibxOidwq5k77pWOwysZgnZm+xM412v8Vc45egPF61lUIYP
         TvY0HNvgjHpVF1L5gZ+vW03JqMP9ma8SfGCh0x/uDRsGGchs/ZsNEXAjOYdoo4HJqLVq
         JYeDyQtLpq+Wq73YUi5p2c5EIE0LR6a/2Cq+yQFBCa6GxAvsFvGf29AJ1qIlpxQ6PS+/
         mDoA==
X-Gm-Message-State: AOJu0Yz1l0b27Gd5p2Xsuj/UtlhV3abzsthlS2igju1XFPL2JFtU6SLm
	vviSOMWUqOw8wZK80HgueoUVlsWJ1RcEPKIU6LQ=
X-Google-Smtp-Source: AGHT+IGEXJbRPvEJF2AA+rz1qCWtFyL0YzX42peVrcvFviGVxWzAJIpN/yUR9Vplz/zNpTSc1TZQuFKEk6nuaDrX0bE=
X-Received: by 2002:a05:6402:31ee:b0:540:77f8:240 with SMTP id
 dy14-20020a05640231ee00b0054077f80240mr14955225edb.14.1698953135329; Thu, 02
 Nov 2023 12:25:35 -0700 (PDT)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-7-jgross@suse.com>
In-Reply-To: <20231101093325.30302-7-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 2 Nov 2023 15:25:23 -0400
Message-ID: <CAKf6xpvGcHJuCE2ZK8vZc=kyW_2CLJOa0s2RFBnh8e2=JECheA@mail.gmail.com>
Subject: Re: [PATCH 06/29] tools/xenlogd: add 9pfs version request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:54=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the version request of the 9pfs protocol. For the version use the
> "9P2000.u" variant, as it is supported by Mini-OS and Linux.
>
> For the request parsing add all format items needed even in future in
> order to avoid code churn for those additions later.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 19:47:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 19:47:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626972.977745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qydem-0004TO-9d; Thu, 02 Nov 2023 19:47:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626972.977745; Thu, 02 Nov 2023 19:47: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 1qydem-0004TH-71; Thu, 02 Nov 2023 19:47:08 +0000
Received: by outflank-mailman (input) for mailman id 626972;
 Thu, 02 Nov 2023 19:47: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=NU+V=GP=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qydel-0004TB-ES
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 19:47:07 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e83::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97e09686-79b8-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 20:47:03 +0100 (CET)
Received: from DM6PR08CA0040.namprd08.prod.outlook.com (2603:10b6:5:1e0::14)
 by IA1PR12MB8285.namprd12.prod.outlook.com (2603:10b6:208:3f6::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.30; Thu, 2 Nov
 2023 19:46:59 +0000
Received: from DS1PEPF00017096.namprd05.prod.outlook.com
 (2603:10b6:5:1e0:cafe::a3) by DM6PR08CA0040.outlook.office365.com
 (2603:10b6:5:1e0::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Thu, 2 Nov 2023 19:46:59 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF00017096.mail.protection.outlook.com (10.167.18.100) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 19:46:58 +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.2507.32; Thu, 2 Nov
 2023 14:46:58 -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.2507.32; Thu, 2 Nov
 2023 14:46:57 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Thu, 2 Nov 2023 14:46:56 -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: 97e09686-79b8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eMCNcE+G6LGyIdQDLn/PaXsBDhdqjwcOGRUl67RjWIqcx7NS0vf4Kv1H9sPQYJbaaiQZK24PZ0aTTmA5xSL+HPdR58JzvHtoZcG+SeFkyaa3WjjHPAoEp0jAbaCw3zwbwfhUTjqywTb6X/+8TVbgN6yzML8IsPIWCmOMw/6kyT5A6AHZentoK2FjaoLBO7uFHJ6TO9zL/t+acWh7TM2IjKnXLel2fMUfTNWzPhkbNntW3R0lXOO14PYETtaF4+1uhKsE5/wZxuX0UN8zyEm4EQqfN2fM+QDntbCOSjwJPa17JtQekzNZXO6s0bPoYNfXazt/+y4n0TP3su/Oq+PO8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tNzcROT9UhTBzRLICl/1JgHtAA3AmFH6QDOoVTcUgss=;
 b=HVSr5DrWOA+C38nOxvLBnLJt4gKvPmQIGBMLLdN2HISZwvI3NuCAYQ+kzFHX5XRGJ3YwSoNO9TsQLI5BA1wtC/8TK+duaUPzWOYeQytpP1hsNOava/s1vk4eFtK0V+JzamdJt/jCpqDMX7I4CxFAhWUG9yPzYdF39FbB6dpeCBsHqqf12mBjBAphevK1ESArlzRiIfhfU6qcCspATbO+0dl8pKdVuGxjGBjgB0zuPYnH80xVDoG8Zpe2ihFqnS1dERJpfHW+/y1ln55Kk3IUYVQiFUuw27dpAzo5AVt0tNKgRKF/T5uiHvAE0F3J96CwDdPyNDn5ApVnME6dknje7A==
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 (0)
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=tNzcROT9UhTBzRLICl/1JgHtAA3AmFH6QDOoVTcUgss=;
 b=Am3vmeO2ubFzkRjM9LojURFcRg21TIST/pCGxgk6CX/VeXMUIblpToubiYwWk+3FsaFrWvBbME9S9bGoHh/MPBy91QwRG8lYbBbkP2AwIq6PX4RFeiGtd+ARrJx00q7h3dQOzLJk/6o8fSEScViReJoxkL5uMBcaM0m0PE89Ovc=
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 <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [XEN v4] xen/arm32: head: Replace load_paddr with adr_l when they are equivalent
Date: Thu, 2 Nov 2023 19:46:49 +0000
Message-ID: <20231102194649.3385653-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF00017096:EE_|IA1PR12MB8285:EE_
X-MS-Office365-Filtering-Correlation-Id: e679e545-ce70-415b-7deb-08dbdbdc7a13
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w6NmNmwMLbP8rOUe8PgopovY6AlL0uLma6sHyYew+eneoaSEGnxbwKyExmnqFxGF048lTbL5NTxva3WolvkuglgNNcIxL35d8pxoChTmUBlx7taTrjcPgp2MDtnPppvYcFZFnP0EeRkBt4/Sdu0wf9btonRPGubqopP5f7PKKkkZK4I0Mt5xryEB2/Ia7zFY2wI6VwgAYRd54MigajVwl7jPaZEhBZdHpR4N0A4joYkzLMOjiWftMMCNDtvdfwn7uUdJbMD3kdJ/oNbauILsriqT+fVyo0NEoGudzGDIVCnjL2oHFazedsMjXnRccEyy1rw6lYXLe1/RP4Cw/zwuwhcD07vcLx+aDHIAq4QKLw38kNK6RbU92Mexay7vTP6RksoU7Aod/UmtfSdL9eP/FTAFRe08X1FxO1Ye7kIXfFhi1QJjZ1b0dIMrumQBfCe3wFj0QdYL7mQQJgu6PyJ2edCr5wXbfg3qRwPB/NGDP1RcQ3A43tbJYxHXfyhYFk3dxhMSpxHwp10cehsuc0XBQlA6msDIeUkpFVvQlAO9hDfLP/yB2Ot8qMT30ElLeiTJszfCbKiyjBvSV3NLlhTaAM3KkEd1BP+fOT3oXCIxcq+J2Opxo1XWc3C6DCiVwW4nA6SbUQ04iwVePK/dwFXXZB0vSxOK9GZ7WWA9Zc/s1Fyjz3Nuqsx6n6gKxPbq/W/60wQIJhJ3qJGMCJZVKxFS1MjRiA8QsPGw1lZO2zYl4O2kwr7deZCFsZL6McnDPHK9dGiN4bN9KTCI+Lf+CVRJxA==
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:(13230031)(4636009)(136003)(39860400002)(396003)(346002)(376002)(230922051799003)(451199024)(82310400011)(186009)(1800799009)(64100799003)(46966006)(36840700001)(40470700004)(6666004)(478600001)(40460700003)(40480700001)(1076003)(2616005)(426003)(86362001)(26005)(336012)(82740400003)(966005)(83380400001)(47076005)(81166007)(36756003)(356005)(103116003)(36860700001)(41300700001)(70586007)(70206006)(54906003)(316002)(6916009)(5660300002)(8936002)(4326008)(8676002)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 19:46:58.7786
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e679e545-ce70-415b-7deb-08dbdbdc7a13
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:
	DS1PEPF00017096.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8285

Before the MMU is turned on, PC uses physical address. Thus, one can use adr_l
instead of load_paddr to obtain the physical address of a symbol.

The only exception (for this replacement) is create_table_entry() which is
called before and after MMU is turned on.

Also, in lookup_processor_type() "r10" is no longer used. The reason being
__lookup_processor_type uses adr_l (thus r10 is no longer used to obtain the
physical address offset). Consequently, there is no need to save/restore r10.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---

Refer https://lists.archive.carbon60.com/xen/devel/682900 for details.

Changes from :-

v1 :- 1. No need to modify create_table_entry().
2. Remove "mov   r10, #0 " in lookup_processor_type().

v2 :- 1. No need to save/restore r10 in lookup_processor_type().
2. Update the commit message title.

v3 :- 1. In __lookup_processor_type(), update the comment.
Add Michal's R-b.

 xen/arch/arm/arm32/head.S | 23 +++++++++--------------
 1 file changed, 9 insertions(+), 14 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 33b038e7e0..20e92bdb61 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -171,7 +171,7 @@ past_zImage:
 
         /* Using the DTB in the .dtb section? */
 .ifnes CONFIG_DTB_FILE,""
-        load_paddr r8, _sdtb
+        adr_l r8, _sdtb
 .endif
 
         /* Initialize the UART if earlyprintk has been enabled. */
@@ -213,7 +213,7 @@ GLOBAL(init_secondary)
         mrc   CP32(r1, MPIDR)
         bic   r7, r1, #(~MPIDR_HWID_MASK) /* Mask out flags to get CPU ID */
 
-        load_paddr r0, smp_up_cpu
+        adr_l r0, smp_up_cpu
         dsb
 2:      ldr   r1, [r0]
         cmp   r1, r7
@@ -479,7 +479,7 @@ create_page_tables:
          * create_table_entry_paddr() will clobber the register storing
          * the physical address of the table to point to.
          */
-        load_paddr r5, boot_third
+        adr_l r5, boot_third
         mov_w r4, XEN_VIRT_START
 .rept XEN_NR_ENTRIES(2)
         mov   r0, r5                        /* r0 := paddr(l3 table) */
@@ -578,7 +578,7 @@ enable_mmu:
         flush_xen_tlb_local r0
 
         /* Write Xen's PT's paddr into the HTTBR */
-        load_paddr r0, boot_pgtable
+        adr_l r0, boot_pgtable
         mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
         mcrr  CP64(r0, r1, HTTBR)
         isb
@@ -876,19 +876,14 @@ putn:   mov   pc, lr
 
 /* This provides a C-API version of __lookup_processor_type */
 ENTRY(lookup_processor_type)
-        stmfd sp!, {r4, r10, lr}
-        mov   r10, #0                   /* r10 := offset between virt&phys */
+        stmfd sp!, {r4, lr}
         bl    __lookup_processor_type
         mov r0, r1
-        ldmfd sp!, {r4, r10, pc}
+        ldmfd sp!, {r4, pc}
 
 /*
  *  Read processor ID register (CP#15, CR0), and Look up in the linker-built
- * supported processor list. Note that we can't use the absolute addresses for
- * the __proc_info lists since we aren't running with the MMU on (and therefore,
- * we are not in correct address space). We have to calculate the offset.
- *
- * r10: offset between virt&phys
+ * supported processor list.
  *
  * Returns:
  * r0: CPUID
@@ -897,8 +892,8 @@ ENTRY(lookup_processor_type)
  */
 __lookup_processor_type:
         mrc   CP32(r0, MIDR)                /* r0 := our cpu id */
-        load_paddr r1, __proc_info_start
-        load_paddr r2, __proc_info_end
+        adr_l r1, __proc_info_start
+        adr_l r2, __proc_info_end
 1:      ldr   r3, [r1, #PROCINFO_cpu_mask]
         and   r4, r0, r3                    /* r4 := our cpu id with mask */
         ldr   r3, [r1, #PROCINFO_cpu_val]   /* r3 := cpu val in current proc info */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 20:00:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 20:00:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626976.977756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qydrR-0008LM-D1; Thu, 02 Nov 2023 20:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626976.977756; Thu, 02 Nov 2023 20:00: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 1qydrR-0008LF-AJ; Thu, 02 Nov 2023 20:00:13 +0000
Received: by outflank-mailman (input) for mailman id 626976;
 Thu, 02 Nov 2023 20:00: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=mhp2=GP=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qydrQ-0008L9-5c
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 20:00:12 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d6bd574-79ba-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 21:00:10 +0100 (CET)
Received: from SN7PR04CA0205.namprd04.prod.outlook.com (2603:10b6:806:126::30)
 by IA1PR12MB7735.namprd12.prod.outlook.com (2603:10b6:208:421::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Thu, 2 Nov
 2023 20:00:07 +0000
Received: from SA2PEPF000015CA.namprd03.prod.outlook.com
 (2603:10b6:806:126:cafe::ff) by SN7PR04CA0205.outlook.office365.com
 (2603:10b6:806:126::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Thu, 2 Nov 2023 20:00:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015CA.mail.protection.outlook.com (10.167.241.200) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 20:00:06 +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.2507.32; Thu, 2 Nov
 2023 15:00:04 -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.2507.32; Thu, 2 Nov
 2023 14:59:52 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 2 Nov 2023 14:59:51 -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: 6d6bd574-79ba-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UhKAF9SYvDx7p7lrHN+qlLsX/rTRkb7LiubN9n+qm25EwunKjv3Xyq4qwBf59Fzxi25145UKScDU2MGpStRvp367nRFTEzSNmLQjifVpnUbhitFPc2ZlWWqQwVnbdLYAaSG5d2/8nb0GTMtSr21+PLLApp1qWBhcrDP+W6+EdfIqjfbRSdpXfktBKZvAgf3R1grUii70mfQNyTzJfBTVzCePoUUJowa1HchLc2BhWn1v5M6uN4kDNm1xRTMd+xlKaScF10cqw1hvZlhcul93ReXpoD8++YAGn647t+LEafrQjVPQV5wBdCGvfZLN++q6m+AKrl2S3Fl6H8BsQfCxuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9pbSh33RgAruEh+vBumoIsMWbvi+aD15/uYNDowXUZc=;
 b=QPUFqDJowJF/d2gkEyfiRKCUO2bLSM77SVrkL6fCfMXofsNI5gVZ9xg/rVV/ijfbp4buEm6k8d6UboEAZQj2sJ6AW6wpaMSKSvvPsaati8Y+ZInpSZ5dUW6gGGs1S7rHISet8osU2n39uLN+z7DyUhZqJFzUJzeJs7HswWCe2bW+mdDHBvHw2LcRBZErnnyXzAZHgDH+rBIQff8gH/cJB6OhiBMvQYdlqHTD6irUf6aWvZohBE5xePYIEUK+82OFLJ13iYLid0dUiM0BZBYs7BReLtADoi5JRMBa1d3hFWPClm18Z0vaXECciN/EU23zvZkLzqyO6QxpgbDyqmBTiA==
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 (0)
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=9pbSh33RgAruEh+vBumoIsMWbvi+aD15/uYNDowXUZc=;
 b=gEEtBBGLmdUcVLTwUGrRKhR8qkFzVwBf9vZLppbLHNBR4H/7YHJUiOHndkQG7XWdAduI/FNZ6nTBrO1s8MMrsBHy920exYi59A7iy4IAW797BdD6Ym1N5VpI5seTheHCCvEeTChEJlzHEZw5LBXjv60xcqBe1p/T/+xDkUwEmqU=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, "Juergen
 Gross" <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
	Christian Lindig <christian.lindig@citrix.com>, David Scott
	<dave@recoil.org>, =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>
Subject: [PATCH v5 0/5] Kconfig for PCI passthrough on ARM
Date: Thu, 2 Nov 2023 15:59:28 -0400
Message-ID: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CA:EE_|IA1PR12MB7735:EE_
X-MS-Office365-Filtering-Correlation-Id: 7f1b4133-2c12-4d61-f1cd-08dbdbde4f9c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k3Mgme+V0JahNg2S+K39WpIOWgezQoI9zOd8/GIS2l/wZTZ5BZKssAbzSooIscqrsvhMsB/L4W416jI4fTqqeHdf/vFAxegU9TNG/VQ1HyRWed/Y7Dgu05Wf4TrXx/xKTHNopOa96KAuznalVkr+H3ZPCz6uBJKGs+oaxXVljhQwDdrnKdJcbaiWCIhVtKJmvqWGq48xenTO27nAnp9E5l+22udRTjFh2eP6NEgCmoIykqHQrJ5OkSAfXkNuFEWvN9M83UDDNwrI5i5PLxPYJQjZEGsQK8akNB0RConLFQ+oyYxlW4D26JmU1lvzgXNBrKdE/xmZjLzFzG3CeUpXWUDVH69yplPA5plmO3v/4ZrCdmY/H7ZH/Szhszudt4x8cFlkyfRZqKkk4u4i63V5U8CyJ1Go8oBxCYmuC+qbEbUTqILNkwPAwCX4x7aIzLm44lP2iyJH+36ByKyKLYZyfqMzffsD3wQpgwBX4GD9PTwhIpx9Kkg0hBFFs8DYp32mDfZVxJMoZ3Bkcua7XXhBA5F+HyaFwzzy0kNi2/fn9ZJ09Ix1tVGVpR4PBKnQ5gcNeQNcF6k8yslpVBRv+prevV+aI6f/3bYj1AyRrK5EKtE6f0cVmP4pMOtSQ4j/u8KH8EeeqQLzgCC2d9k5gqf9z6SZwrDpGyr3BcwsNVAU+TxEfVgDSg10GuMEaBSCnYHMTigqj2rX+cTQ6+xQlwa6iplQyrXNfwSPN9wspLFtSpAX4aumlZwGOdtk1Fyu+rMHraebjtGfHEdjm23uRc6OyQ==
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:(13230031)(4636009)(39860400002)(376002)(346002)(136003)(396003)(230922051799003)(82310400011)(64100799003)(186009)(1800799009)(451199024)(46966006)(36840700001)(40470700004)(2906002)(7416002)(26005)(1076003)(40460700003)(40480700001)(86362001)(82740400003)(36756003)(81166007)(356005)(426003)(36860700001)(2616005)(83380400001)(44832011)(478600001)(316002)(47076005)(8936002)(6666004)(6916009)(4326008)(8676002)(54906003)(966005)(336012)(41300700001)(5660300002)(70586007)(70206006)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 20:00:06.5621
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7f1b4133-2c12-4d61-f1cd-08dbdbde4f9c
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:
	SA2PEPF000015CA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7735

There are multiple series in development/review [1], [2] that will benefit from
having a Kconfig option for PCI passthrough on ARM. Hence I have sent this
series independent from any other series.

v4->v5:
* add [FUTURE] tag to ("xen/arm: enable vPCI for dom0")
* address feedback in individual patches

v3->v4:
* rename ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
  to ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
* fold ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
  into ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
* split ("xen/arm: enable vPCI for domUs") into separate hypervisor and
  tools patches

v2->v3:
* add ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
* rename ("xen/arm: make has_vpci depend on CONFIG_HAS_VPCI")
      to ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
* add ("xen/arm: enable vPCI for dom0")

v1->v2:
* add ("[FUTURE] xen/arm: enable vPCI for domUs")

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00210.html

Rahul Singh (1):
  xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option

Stewart Hildebrand (4):
  xen/vpci: move xen_domctl_createdomain vPCI flag to common
  [FUTURE] xen/arm: enable vPCI for dom0
  [FUTURE] xen/arm: enable vPCI for domUs
  [FUTURE] tools/arm: enable vPCI for domUs

 tools/libs/light/libxl_arm.c       |  3 +++
 tools/libs/light/libxl_x86.c       |  5 ++++-
 tools/ocaml/libs/xc/xenctrl.ml     |  2 +-
 tools/ocaml/libs/xc/xenctrl.mli    |  2 +-
 tools/python/xen/lowlevel/xc/xc.c  |  5 ++++-
 xen/arch/arm/Kconfig               | 10 ++++++++++
 xen/arch/arm/domain.c              |  3 ++-
 xen/arch/arm/domain_build.c        |  6 ++++++
 xen/arch/arm/include/asm/domain.h  |  5 ++---
 xen/arch/arm/include/asm/pci.h     |  9 +++++++++
 xen/arch/arm/pci/pci-host-common.c | 11 ++++++++---
 xen/arch/arm/vpci.c                |  8 ++++++++
 xen/arch/x86/domain.c              | 13 ++++++++-----
 xen/arch/x86/include/asm/domain.h  | 15 ++++++++++-----
 xen/arch/x86/setup.c               |  4 ++--
 xen/common/domain.c                | 16 +++++++++++++++-
 xen/drivers/passthrough/pci.c      | 20 ++++++++++++++++++++
 xen/include/public/arch-x86/xen.h  |  5 +----
 xen/include/public/domctl.h        |  7 +++++--
 xen/include/xen/domain.h           | 12 ++++++++++++
 20 files changed, 131 insertions(+), 30 deletions(-)


base-commit: 649c190a1feafdb54440bebbcac58abc90fa335b
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 20:00:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 20:00:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626978.977766 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qydrp-0000Fk-LM; Thu, 02 Nov 2023 20:00:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626978.977766; Thu, 02 Nov 2023 20:00: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 1qydrp-0000Fd-IS; Thu, 02 Nov 2023 20:00:37 +0000
Received: by outflank-mailman (input) for mailman id 626978;
 Thu, 02 Nov 2023 20:00: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=mhp2=GP=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qydrn-0008L9-SW
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 20:00:35 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b0b667d-79ba-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 21:00:34 +0100 (CET)
Received: from CH0PR13CA0031.namprd13.prod.outlook.com (2603:10b6:610:b2::6)
 by DM6PR12MB4236.namprd12.prod.outlook.com (2603:10b6:5:212::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Thu, 2 Nov
 2023 20:00:28 +0000
Received: from DS3PEPF000099D9.namprd04.prod.outlook.com
 (2603:10b6:610:b2:cafe::73) by CH0PR13CA0031.outlook.office365.com
 (2603:10b6:610:b2::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10 via Frontend
 Transport; Thu, 2 Nov 2023 20:00:28 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099D9.mail.protection.outlook.com (10.167.17.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 20:00:26 +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.2507.32; Thu, 2 Nov
 2023 15:00:25 -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.2507.32; Thu, 2 Nov
 2023 15:00:25 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 2 Nov 2023 15:00:23 -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: 7b0b667d-79ba-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DN4Og5+Klkd9Sx4lqt2+f+JCPw/RKx9eVwNoI9HRq74u79pN3aRhOBpYG2DcIGY5ZX9+PJBusR1x2tEJt296LlbIaD37b+wTJpRlVl4s8quubr+EOVJ2rC8BXC23dzEFfVGoJZiRzb/t83BlR1TdwNN6prFOVCm5dgB917m65u4DE2R3p5xQkRm4cBLheINWiSy76Y5xnrA+Fee6Us2Sfhjp8oAA5FzjDss1gyR0vexsbkqqAA1l3RhOz8DLpokD6ws+qTBIXdDjDKp940w+Bar2AIhHGfGFyqKeNWYi0yASXp34+X4Q3BnaazylOuOgQ/n29S5yA9HuO6bC/teWbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LjnO2W6+4f0rPNUpLRFrSyi97Jq1KFFGDsynMmfMRLg=;
 b=E+4d1JqC3f5OOblUHjVXVgRsUNavU8GUaQiTMUBpZEI2rQCQ/9Lx4oq1OQxpqA73MlSMofo2e3oX6lIM6AKa3R6kO4ptK1fSpoRkccXXTbjQ4dx/zVd4gqXozKxVS4AQV4cWtfsQsCBZYeBTkbaXQ2/q+LaqPp3x6Plp2e7bS5x7I6l/uzQT+8xrH3G/+CzZ+pss9GtvPZap5/ivNXE5y7RljaeWO8muJ/Sk6AAwxtGioRjlnLE1HqcqJGZIwOpf8FhvsQ2/gjY0JWC4XU4hZKsdlRsLXzVnBQ6p2zocx8bCPTsJrVDle96j7qg1YiOhjvY5JgIJfIceL3R65Z6jTg==
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 (0)
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=LjnO2W6+4f0rPNUpLRFrSyi97Jq1KFFGDsynMmfMRLg=;
 b=Sybzzpe8q+VbPEMoL91aphg1T7qenSB8N9S4nzJEYcqU9ow0alSX3ztjDEzqJBxBHrd0Azsa/imOajjUqpORkBr+smPE3jjfmK/7acUj8GleJEn2oElngkpTRGNdZvum8ZKfw9ehweaq6S73fL/bxd4n3au78rXifxQBpwaFWFk=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.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>, "Christian
 Lindig" <christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Oleksandr
 Andrushchenko" <oleksandr_andrushchenko@epam.com>, Rahul Singh
	<rahul.singh@arm.com>, Christian Lindig <christian.lindig@cloud.com>
Subject: [PATCH v5 2/5] xen/vpci: move xen_domctl_createdomain vPCI flag to common
Date: Thu, 2 Nov 2023 15:59:30 -0400
Message-ID: <20231102195938.1254489-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099D9:EE_|DM6PR12MB4236:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b6b81a3-bd7f-4906-9bfe-08dbdbde5bc1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/GMLFyDDCkvyfY8NEgSD2PtpVYL/Z5N/Wg2gVyam0lBbKiDKG10elLbuu4f+Bh67vXvgCSSducKMmHFDlw4oncQZpRTYlNHCnP/CVcmTrHev8UqYds3PoOrSsFhXvwKLY8Grm8n+F6bFoXQjFffAkItq1F6vNCcQy/eHz9hhikwiQLNJfFx8nydWYeF1LcwDRWKNfdwZaDStpsQXwkuL4dEGFPXmASsP3qUnUlbvWV1xCSPrkMjiIqQGP2kHji16VGUoxbsgiEbCjOEV/uVyCXIL5skFsnKDcdn5/Uijo55xSLgFhYtd5ikI9h5Pvrp/O545kCNZHtMr6oEANXtOGg9fkHXrDWVj89wh95chI0DCdzcvd8DNcY+AGNBns1sfjqNtzdyP6Xc17Uz8lV+zZKuiRPLyykX8GqtGV2NoWjhHk9QMQdyRDlkU+pQlfWnvcsueY8T0YWIuXLZ+ZvY1IBqh0z5CaY/mTh6xabSIZ+J7GNzeLnjrE1UzJhhhFDqey1fmx8bESRTZxbEXxeUYV6MnXCSPCGoBdYLbO6tYEL0MtbcgwHivgRRnrPLfd3KIaFa/UV1/8JkdzHdyGBdd+qu47ZlkO47QnUYljHzbl72/60ctckvFqXdaaj7/VXcRECsN1JEGX2XZ93Tib2K12Fw/789JQsbgw0KBmV9KPZXNvfijs1TbBw6oZ/xPxuoIjanpCriouxJ/ZwYVStu1jIIQUXkyflYSGOWznWQ0uMm5nACB6gytGxyyjyg7Po3q1HQHoOK8UWW7jSMDWk84xveNzqWEAWcf/5LDVx8EmC8=
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:(13230031)(4636009)(136003)(376002)(396003)(346002)(39860400002)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(82310400011)(36840700001)(40470700004)(46966006)(8676002)(5660300002)(7416002)(4326008)(41300700001)(6916009)(54906003)(70206006)(70586007)(316002)(8936002)(30864003)(44832011)(966005)(2906002)(478600001)(40460700003)(6666004)(40480700001)(36860700001)(47076005)(81166007)(356005)(83380400001)(36756003)(1076003)(26005)(336012)(426003)(2616005)(86362001)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 20:00:26.9038
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b6b81a3-bd7f-4906-9bfe-08dbdbde5bc1
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:
	DS3PEPF000099D9.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4236

Both x86 and ARM need a way at domain creation time to specify whether
the domain needs vPCI emulation. Move the vPCI flag from x86
xen_domctl_createdomain.arch.emulation_flags to the common
xen_domctl_createdomain.flags.

Move has_vpci() macro to common header.

Bump XEN_DOMCTL_INTERFACE_VERSION since we're modifying flags inside
struct xen_domctl_createdomain and xen_arch_domainconfig.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Acked-by: Christian Lindig <christian.lindig@cloud.com>
---
v4->v5:
* move flags_optional change in xen/arch/arm/domain.c to next patch
* change latter 2 args to emulation_flags_ok() to unsigned int
* move vpci && !hvm check to common code
* remove stray spaces in emulation_flags_ok(), and a minor style fixup
* add CONFIG_HAS_VPCI check into has_vpci()
* add Christian's A-b (OCaml)

v3->v4:
* renamed, was:
  ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
* reworked: move x86 vPCI flag to common instead of adding another arch
  specific vPCI flag
* folded ("xen/arm: make has_vpci() depend on d->arch.has_vpci") into
  this patch (retain Signed-off-by's from [1] and [2])

v2->v3:
* new patch

[1] https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/commit/27be1729ce8128dbe37275ce7946b2fbd2e5a382
[2] https://github.com/xen-troops/xen/commit/bf12185e6fb2e31db0d8e6ea9ccd8a02abadec17
---
 tools/libs/light/libxl_x86.c      |  5 ++++-
 tools/ocaml/libs/xc/xenctrl.ml    |  2 +-
 tools/ocaml/libs/xc/xenctrl.mli   |  2 +-
 tools/python/xen/lowlevel/xc/xc.c |  5 ++++-
 xen/arch/arm/include/asm/domain.h |  3 ---
 xen/arch/x86/domain.c             | 13 ++++++++-----
 xen/arch/x86/include/asm/domain.h |  6 +-----
 xen/arch/x86/setup.c              |  4 ++--
 xen/common/domain.c               | 16 +++++++++++++++-
 xen/include/public/arch-x86/xen.h |  5 +----
 xen/include/public/domctl.h       |  7 +++++--
 xen/include/xen/domain.h          |  3 +++
 12 files changed, 45 insertions(+), 26 deletions(-)

diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index d16573e72cd4..ebce1552accd 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -8,13 +8,16 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
 {
     switch(d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
-        config->arch.emulation_flags = (XEN_X86_EMU_ALL & ~XEN_X86_EMU_VPCI);
+        config->arch.emulation_flags = XEN_X86_EMU_ALL;
+        config->flags &= ~XEN_DOMCTL_CDF_vpci;
         break;
     case LIBXL_DOMAIN_TYPE_PVH:
         config->arch.emulation_flags = XEN_X86_EMU_LAPIC;
+        config->flags &= ~XEN_DOMCTL_CDF_vpci;
         break;
     case LIBXL_DOMAIN_TYPE_PV:
         config->arch.emulation_flags = 0;
+        config->flags &= ~XEN_DOMCTL_CDF_vpci;
         break;
     default:
         abort();
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index d6c6eb73db44..6f3da9c6e064 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -46,7 +46,6 @@ type x86_arch_emulation_flags =
   | X86_EMU_IOMMU
   | X86_EMU_PIT
   | X86_EMU_USE_PIRQ
-  | X86_EMU_VPCI
 
 type x86_arch_misc_flags =
   | X86_MSR_RELAXED
@@ -70,6 +69,7 @@ type domain_create_flag =
   | CDF_IOMMU
   | CDF_NESTED_VIRT
   | CDF_VPMU
+  | CDF_VPCI
 
 type domain_create_iommu_opts =
   | IOMMU_NO_SHAREPT
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index 3bfc16edba96..e2dd02bec962 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -40,7 +40,6 @@ type x86_arch_emulation_flags =
   | X86_EMU_IOMMU
   | X86_EMU_PIT
   | X86_EMU_USE_PIRQ
-  | X86_EMU_VPCI
 
 type x86_arch_misc_flags =
   | X86_MSR_RELAXED
@@ -63,6 +62,7 @@ type domain_create_flag =
   | CDF_IOMMU
   | CDF_NESTED_VIRT
   | CDF_VPMU
+  | CDF_VPCI
 
 type domain_create_iommu_opts =
   | IOMMU_NO_SHAREPT
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
index d3ea350e07b9..e3623cdcb90d 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -159,7 +159,10 @@ static PyObject *pyxc_domain_create(XcObject *self,
 
 #if defined (__i386) || defined(__x86_64__)
     if ( config.flags & XEN_DOMCTL_CDF_hvm )
-        config.arch.emulation_flags = (XEN_X86_EMU_ALL & ~XEN_X86_EMU_VPCI);
+    {
+        config.arch.emulation_flags = XEN_X86_EMU_ALL;
+        config.flags &= ~XEN_DOMCTL_CDF_vpci;
+    }
 #elif defined (__arm__) || defined(__aarch64__)
     config.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
 #else
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 99e798ffff68..be9ed39c9d42 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -298,9 +298,6 @@ static inline void arch_vcpu_block(struct vcpu *v) {}
 
 #define arch_vm_assist_valid_mask(d) (1UL << VMASST_TYPE_runstate_update_flag)
 
-/* vPCI is not available on Arm */
-#define has_vpci(d)    ({ (void)(d); false; })
-
 struct arch_vcpu_io {
     struct instr_details dabt_instr; /* when the instruction is decoded */
 };
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 3712e36df930..98f0397686cf 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -712,7 +712,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
     return 0;
 }
 
-static bool emulation_flags_ok(const struct domain *d, uint32_t emflags)
+static bool emulation_flags_ok(const struct domain *d, unsigned int emflags,
+                               unsigned int cdf)
 {
 #ifdef CONFIG_HVM
     /* This doesn't catch !CONFIG_HVM case but it is better than nothing */
@@ -722,11 +723,13 @@ static bool emulation_flags_ok(const struct domain *d, uint32_t emflags)
     if ( is_hvm_domain(d) )
     {
         if ( is_hardware_domain(d) &&
-             emflags != (X86_EMU_VPCI | X86_EMU_LAPIC | X86_EMU_IOAPIC) )
+             (!(cdf & XEN_DOMCTL_CDF_vpci) ||
+              emflags != (X86_EMU_LAPIC | X86_EMU_IOAPIC)) )
             return false;
         if ( !is_hardware_domain(d) &&
-             emflags != (X86_EMU_ALL & ~X86_EMU_VPCI) &&
-             emflags != X86_EMU_LAPIC )
+             ((cdf & XEN_DOMCTL_CDF_vpci) ||
+              (emflags != X86_EMU_ALL &&
+               emflags != X86_EMU_LAPIC)) )
             return false;
     }
     else if ( emflags != 0 && emflags != X86_EMU_PIT )
@@ -798,7 +801,7 @@ int arch_domain_create(struct domain *d,
         return -EINVAL;
     }
 
-    if ( !emulation_flags_ok(d, emflags) )
+    if ( !emulation_flags_ok(d, emflags, config->flags) )
     {
         printk(XENLOG_G_ERR "d%d: Xen does not allow %s domain creation "
                "with the current selection of emulators: %#x\n",
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 619e667938ed..cb02a4d1ebb2 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -471,7 +471,6 @@ struct arch_domain
 #define X86_EMU_VGA      XEN_X86_EMU_VGA
 #define X86_EMU_IOMMU    XEN_X86_EMU_IOMMU
 #define X86_EMU_USE_PIRQ XEN_X86_EMU_USE_PIRQ
-#define X86_EMU_VPCI     XEN_X86_EMU_VPCI
 #else
 #define X86_EMU_LAPIC    0
 #define X86_EMU_HPET     0
@@ -482,7 +481,6 @@ struct arch_domain
 #define X86_EMU_VGA      0
 #define X86_EMU_IOMMU    0
 #define X86_EMU_USE_PIRQ 0
-#define X86_EMU_VPCI     0
 #endif
 
 #define X86_EMU_PIT     XEN_X86_EMU_PIT
@@ -492,8 +490,7 @@ struct arch_domain
                                  X86_EMU_PM | X86_EMU_RTC |             \
                                  X86_EMU_IOAPIC | X86_EMU_PIC |         \
                                  X86_EMU_VGA | X86_EMU_IOMMU |          \
-                                 X86_EMU_PIT | X86_EMU_USE_PIRQ |       \
-                                 X86_EMU_VPCI)
+                                 X86_EMU_PIT | X86_EMU_USE_PIRQ)
 
 #define has_vlapic(d)      (!!((d)->arch.emulation_flags & X86_EMU_LAPIC))
 #define has_vhpet(d)       (!!((d)->arch.emulation_flags & X86_EMU_HPET))
@@ -505,7 +502,6 @@ struct arch_domain
 #define has_viommu(d)      (!!((d)->arch.emulation_flags & X86_EMU_IOMMU))
 #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
 #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
-#define has_vpci(d)        (!!((d)->arch.emulation_flags & X86_EMU_VPCI))
 
 #define gdt_ldt_pt_idx(v) \
       ((v)->vcpu_id >> (PAGETABLE_ORDER - GDT_LDT_VCPU_SHIFT))
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a3d3f797bb1e..00dfcf231e21 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -890,12 +890,12 @@ static struct domain *__init create_dom0(const module_t *image,
 
     if ( opt_dom0_pvh )
     {
-        dom0_cfg.flags |= (XEN_DOMCTL_CDF_hvm |
+        dom0_cfg.flags |= (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_vpci |
                            ((hvm_hap_supported() && !opt_dom0_shadow) ?
                             XEN_DOMCTL_CDF_hap : 0));
 
         dom0_cfg.arch.emulation_flags |=
-            XEN_X86_EMU_LAPIC | XEN_X86_EMU_IOAPIC | XEN_X86_EMU_VPCI;
+            XEN_X86_EMU_LAPIC | XEN_X86_EMU_IOAPIC;
     }
 
     if ( iommu_enabled )
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8f9ab01c0cb7..6a42eb6d8c18 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -509,12 +509,14 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
     bool hap = config->flags & XEN_DOMCTL_CDF_hap;
     bool iommu = config->flags & XEN_DOMCTL_CDF_iommu;
     bool vpmu = config->flags & XEN_DOMCTL_CDF_vpmu;
+    bool vpci = config->flags & XEN_DOMCTL_CDF_vpci;
 
     if ( config->flags &
          ~(XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap |
            XEN_DOMCTL_CDF_s3_integrity | XEN_DOMCTL_CDF_oos_off |
            XEN_DOMCTL_CDF_xs_domain | XEN_DOMCTL_CDF_iommu |
-           XEN_DOMCTL_CDF_nested_virt | XEN_DOMCTL_CDF_vpmu) )
+           XEN_DOMCTL_CDF_nested_virt | XEN_DOMCTL_CDF_vpmu |
+           XEN_DOMCTL_CDF_vpci) )
     {
         dprintk(XENLOG_INFO, "Unknown CDF flags %#x\n", config->flags);
         return -EINVAL;
@@ -575,6 +577,18 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
+    if ( vpci && !hvm )
+    {
+        dprintk(XENLOG_INFO, "vPCI requested for non-HVM guest\n");
+        return -EINVAL;
+    }
+
+    if ( vpci && !IS_ENABLED(CONFIG_HAS_VPCI) )
+    {
+        dprintk(XENLOG_INFO, "vPCI requested but not enabled\n");
+        return -EINVAL;
+    }
+
     return arch_sanitise_domain_config(config);
 }
 
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index c0f4551247f4..4cf066761c6b 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -283,15 +283,12 @@ struct xen_arch_domainconfig {
 #define XEN_X86_EMU_PIT             (1U<<_XEN_X86_EMU_PIT)
 #define _XEN_X86_EMU_USE_PIRQ       9
 #define XEN_X86_EMU_USE_PIRQ        (1U<<_XEN_X86_EMU_USE_PIRQ)
-#define _XEN_X86_EMU_VPCI           10
-#define XEN_X86_EMU_VPCI            (1U<<_XEN_X86_EMU_VPCI)
 
 #define XEN_X86_EMU_ALL             (XEN_X86_EMU_LAPIC | XEN_X86_EMU_HPET |  \
                                      XEN_X86_EMU_PM | XEN_X86_EMU_RTC |      \
                                      XEN_X86_EMU_IOAPIC | XEN_X86_EMU_PIC |  \
                                      XEN_X86_EMU_VGA | XEN_X86_EMU_IOMMU |   \
-                                     XEN_X86_EMU_PIT | XEN_X86_EMU_USE_PIRQ |\
-                                     XEN_X86_EMU_VPCI)
+                                     XEN_X86_EMU_PIT | XEN_X86_EMU_USE_PIRQ)
     uint32_t emulation_flags;
 
 /*
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index a33f9ec32b08..5f3b5579c377 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -21,7 +21,7 @@
 #include "hvm/save.h"
 #include "memory.h"
 
-#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
+#define XEN_DOMCTL_INTERFACE_VERSION 0x00000017
 
 /*
  * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
@@ -55,9 +55,12 @@ struct xen_domctl_createdomain {
 #define XEN_DOMCTL_CDF_nested_virt    (1U << _XEN_DOMCTL_CDF_nested_virt)
 /* Should we expose the vPMU to the guest? */
 #define XEN_DOMCTL_CDF_vpmu           (1U << 7)
+/* Should vPCI be enabled for the guest? */
+#define _XEN_DOMCTL_CDF_vpci          8
+#define XEN_DOMCTL_CDF_vpci           (1U<<_XEN_DOMCTL_CDF_vpci)
 
 /* Max XEN_DOMCTL_CDF_* constant.  Used for ABI checking. */
-#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_vpmu
+#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_vpci
 
     uint32_t flags;
 
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 54d88bf5e34b..ab8f06c5f6a2 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -51,6 +51,9 @@ void arch_get_domain_info(const struct domain *d,
 
 #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
 
+#define has_vpci(d) (((d)->options & XEN_DOMCTL_CDF_vpci) && \
+                     IS_ENABLED(CONFIG_HAS_VPCI))
+
 /*
  * Arch-specifics.
  */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 20:00:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 20:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626979.977775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qydrz-0000by-1R; Thu, 02 Nov 2023 20:00:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626979.977775; Thu, 02 Nov 2023 20: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 1qydry-0000br-Ul; Thu, 02 Nov 2023 20:00:46 +0000
Received: by outflank-mailman (input) for mailman id 626979;
 Thu, 02 Nov 2023 20:00: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=mhp2=GP=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qydrx-0000bG-SX
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 20:00:45 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20617.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80bf2312-79ba-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 21:00:43 +0100 (CET)
Received: from PH7PR17CA0028.namprd17.prod.outlook.com (2603:10b6:510:323::8)
 by CY5PR12MB6251.namprd12.prod.outlook.com (2603:10b6:930:21::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.29; Thu, 2 Nov
 2023 20:00:38 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:510:323:cafe::78) by PH7PR17CA0028.outlook.office365.com
 (2603:10b6:510:323::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21 via Frontend
 Transport; Thu, 2 Nov 2023 20:00:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015CB.mail.protection.outlook.com (10.167.241.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 20:00:37 +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.2507.32; Thu, 2 Nov
 2023 15:00:10 -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.2507.32; Thu, 2 Nov
 2023 15:00:10 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 2 Nov 2023 15:00:08 -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: 80bf2312-79ba-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DgfxmImPfVTiJMNB0Wpk/VEPP/UHFDr/DJkSEpBHsQ2hBSm+RqBVAqSJE2Rxq3XZU/jV6IY4szhYHJaVHXnTx+5qlAIX7lzo9XFKzTF3g4Vl7dlLv9Gszhv8rEm8hBKxfvzujDgtln8P85b9qDZjyz3pM8tm5Pk2GsIHcivPtPwUEzCywf/Ipy/VEcY9ig2r4a3gcY0DEDNyXIu/fpj2otYwhsnKhDEmczl3cFzXEgJJP9FfjICaSZviDeJbko9RbZNeVmeaJbWG3KkXaFP+LXYK3SOLVf1bI4Da9enRPjy9CnYoX694CE357FBeQw9T2HsgROxWaVM1CU/wJVPFpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DLtVJgg2CaFtIR8gaoR2mC1Q7M054B9aA+rGVYOSc/0=;
 b=G92DrPTk6Dg1D1HvrZiRfGw+qXp7WYednTQrYHPJ5I2hKv37JFYOVHXIvCtClDTlUATvRQzwEE8ktBsA/3Twrxxq7JWou63it0UeZM4drrJzT1vNGRrLwGDjrBDYaefSiSPE2dJ2dWFTIcpAP+lZCIyCkVpjqr1f8ATYDqR0xRh+4nrXSQpQVG15uAMu3x7/FRAi3Y7Rwh5kIbUIUN5soXNY1BORwchaoCDCaRdelirH0SHIRv56E8miyA8Lq/UOtvYZFOeo6hnBeG4ZqGbA92IhT3WYa/892W3YPUtnA868fjZ9MckZ6vDLanSS1j6LvWFtCHYgkb6iruUmMpFxIA==
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 (0)
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=DLtVJgg2CaFtIR8gaoR2mC1Q7M054B9aA+rGVYOSc/0=;
 b=4QGb89SS48/uUMdBsokD0mPiplAYahIzkT8CcmsTz+vmDIWOyJyQCGz+VXdKUt1igl9vxH5XDQO/npl93h5uhVgGN1Ji4gMUqarFmGw8FimOaqM+CqYlzu1HAeYm9/Mvw6bbDzKqYJEia19pjMVcyrCjYzbCOuRSebprg+HlzVo=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v5 1/5] xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option
Date: Thu, 2 Nov 2023 15:59:29 -0400
Message-ID: <20231102195938.1254489-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|CY5PR12MB6251:EE_
X-MS-Office365-Filtering-Correlation-Id: 479f0b57-8cdc-45c6-8c0a-08dbdbde61dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KR0jAD2qqUILGTSbEKfoLA2swSVBFTl9OZ0W/t0ik1VJb5fdc7WgZFxyZ3WfI1+8HDkc3QfeUbv2UDBczVPBqJUI6clHBXgct5H6AipIySDgFMb/Jff3VUw7ahdXGud7ulDfQT4oW+6m8twrYIIDdAN1/UZHHs2TIWs6pj3rjepkGNMYMQkpXZfscsvMLcLhjnmXcyp9UIAfQ3UmJymnVT52qLsdNlGY85/LUqS0aL3S/Dw9did5BHQ7QyQNZ4xKKw47fUOfPlXbFzuQEy+9xLGA6GvYVOov9hBfPk80XqDK/vBXPshb031nV1z6oBRvoOP/2eL0CnTvZ1f8e6RcYc0W5ItUTaI34JxYF9X+P8zuNGlo7p1Bo3BgcfLZpo6SkU5BEJDZr/iu0gwSNhg1uV0HDaaUzp2EcHsKogyiLTG/pnhwkbZgcCpgnLFhgRhqekxmn6pvf5Sq90Ac8FYPTdwRiQVDcRx97GxOTOo78locT2ZAKK4EFBplXwKiXaCTRxevuo7a0e4vfvWhP3K/4EPWFT/1SzSDEPqmBjosVXaNyIEWzhujDayi3D//U9RDOMNf9MQZoTW+ht5/TCNL+pcO2+wtiajRIgapVT16PBLtakrSkewZ5W3yeOeg3o5KCmoKjObWTL7/8SzbY7Bpj37IKiwWu6UhbxIki4a60eqQ1x0JdpdPvIskG8dpogMnWFo6Zgwz9BAwGtFKqA0vuwuo7v7u+IOpg5tK55j24fdZVNMylp0gYlUU4h2cD5leg1dFKS/tJk0BjJQAWN5jgQ==
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:(13230031)(4636009)(39860400002)(376002)(396003)(136003)(346002)(230922051799003)(1800799009)(186009)(64100799003)(82310400011)(451199024)(46966006)(36840700001)(40470700004)(1076003)(2616005)(26005)(40460700003)(86362001)(82740400003)(36756003)(356005)(47076005)(81166007)(336012)(36860700001)(426003)(8676002)(6916009)(5660300002)(4326008)(2906002)(8936002)(44832011)(54906003)(40480700001)(316002)(478600001)(6666004)(70586007)(41300700001)(70206006)(966005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 20:00:37.1623
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 479f0b57-8cdc-45c6-8c0a-08dbdbde61dc
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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6251

From: Rahul Singh <rahul.singh@arm.com>

Setting CONFIG_PCI_PASSTHROUGH=y will enable PCI passthrough on ARM, even though
the feature is not yet complete in the current upstream codebase. The purpose of
this is to make it easier to enable the necessary configs (HAS_PCI, HAS_VPCI) for
testing and development of PCI passthrough on ARM.

Since PCI passthrough on ARM is still work in progress at this time, make it
depend on EXPERT.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
(cherry picked from commit 9a08f1f7ce28ec619640ba9ce11018bf443e9a0e from the
 downstream branch [1])

v4->v5:
* no change

v3->v4:
* no change

v2->v3:
* add Julien's A-b

v1->v2:
* drop "ARM" naming since it is already in an ARM category
* depend on EXPERT instead of UNSUPPORTED

Changes from downstream to v1:
* depends on ARM_64 (Stefano)
* Don't select HAS_VPCI_GUEST_SUPPORT since this config option is not currently
  used in the upstream codebase. This will want to be re-added here once the
  vpci series [2] is merged.
* Don't select ARM_SMMU_V3 since this option can already be selected
  independently. While PCI passthrough on ARM depends on an SMMU, it does not
  depend on a particular version or variant of an SMMU.
* Don't select HAS_ITS since this option can already be selected independently.
  HAS_ITS may want to be added here once the MSI series [1] is merged.
* Don't select LATE_HWDOM since this option is unrelated to PCI passthrough.

[1] https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/commits/poc/pci-passthrough
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.html
---
 xen/arch/arm/Kconfig | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b78..5ff68e5d5979 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -190,6 +190,15 @@ config STATIC_SHM
 	help
 	  This option enables statically shared memory on a dom0less system.
 
+config PCI_PASSTHROUGH
+	bool "PCI passthrough" if EXPERT
+	depends on ARM_64
+	select HAS_PCI
+	select HAS_VPCI
+	default n
+	help
+	  This option enables PCI device passthrough
+
 endmenu
 
 menu "ARM errata workaround via the alternative framework"
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 20:01:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 20:01:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626982.977787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qydsH-00016Q-Ck; Thu, 02 Nov 2023 20:01:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626982.977787; Thu, 02 Nov 2023 20:01: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 1qydsH-00016H-7s; Thu, 02 Nov 2023 20:01:05 +0000
Received: by outflank-mailman (input) for mailman id 626982;
 Thu, 02 Nov 2023 20:01: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=mhp2=GP=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qydsG-0000bG-4j
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 20:01:04 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20616.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::616])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8be6b2d9-79ba-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 21:01:02 +0100 (CET)
Received: from BL1PR13CA0360.namprd13.prod.outlook.com (2603:10b6:208:2c6::35)
 by IA1PR12MB7541.namprd12.prod.outlook.com (2603:10b6:208:42f::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Thu, 2 Nov
 2023 20:00:59 +0000
Received: from BL6PEPF0001AB75.namprd02.prod.outlook.com
 (2603:10b6:208:2c6:cafe::9c) by BL1PR13CA0360.outlook.office365.com
 (2603:10b6:208:2c6::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10 via Frontend
 Transport; Thu, 2 Nov 2023 20:00:59 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB75.mail.protection.outlook.com (10.167.242.168) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 20:00:58 +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.2507.32; Thu, 2 Nov
 2023 15:00:57 -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.2507.32; Thu, 2 Nov
 2023 15:00:57 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 2 Nov 2023 15:00: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: 8be6b2d9-79ba-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JhC1Xqda0VQs9o3OAKU2bam7Lru7yhRI1Q5wJs7bzaO1x//tpVHlfBUGSZAOfqkT0PiQqQs3IY46sVwyTVl2b4cUy330Rcu4VxryPknt0QcpO5vGsx88C2uFFZY5ftvEEn7tOFMtukCJc/59X6Dc8h+cPpDr4yMeh2puLDeh3TPs0tC66xiU0i7z9ZZnMPLWPWtm4AIzpobPNffsPoVpGhOmnn9CD4RuU6QHGec95Fc1Jq4UtH6aLx+v5TTuI9WTP/rp+2jPfyL1idkKhxzqdhSaxoklptUDkNp2uzYqT4jwgMEa/5x+Txqnw99Ljg+ppR+8b4YmViapCCNREPlpOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=swMECjZS0pFwEUksinFcexGL91Xa93viRgwHU+0cU2I=;
 b=PwFtVg0uWWlatN90I5bHjua3k6CWJSeCO0Yr96l+WPjdYjKBZkRWJTHeR4y3CQ3ZjoLE09mdWdM2SEpEpyW+SKbr6HnHGgzm8C40JfU+aA76jver3+9nKRzgTdox6Nc8xLiZOXhrIrcPX0NFMVjpsVYxqOTLWLObCFD8cOdlpfwVqG2nh7tWTluSNlcgQ2b5S1jWZ1skMuU48l4rHWhpWqdW1RJWnJKQmxqyfPavJl7R9OZocezuY4+iIyH/5Ip6W3C9kRTMqQylazNyHqlqrLiV0QYHzwutSU9cjZPtStmyW48P3EerUZV5R8kUAQfjfT3c7rIDn9eRk1v2tKlPtQ==
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 (0)
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=swMECjZS0pFwEUksinFcexGL91Xa93viRgwHU+0cU2I=;
 b=4woCjpPIvNUMn5ksRorRAVlHU+U0VRJkG75R99b4RGHq4dSGxo4Mdm6DYHwvm0+palIhNElQf4qkMPq0Mdd+S/S6I9v48+id7NkOJj/hlqDx+ziXBS74gTRCG+lxGd61lJE4MRBOsWZRkXQGbcl3TtolHoLvymlgpZoa8vMjh1s=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.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>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH v5 4/5] [FUTURE] xen/arm: enable vPCI for domUs
Date: Thu, 2 Nov 2023 15:59:32 -0400
Message-ID: <20231102195938.1254489-5-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB75:EE_|IA1PR12MB7541:EE_
X-MS-Office365-Filtering-Correlation-Id: c603b87c-47c4-4e5e-7942-08dbdbde6ea4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Gf8JQMyGH+OItyujxTR+aGr4hTXGE/mNB1vGaot8KoZvwt4DxCW1SocRjzhmpgc90xikHJfpecP12ztiZiINxZkh2l+yL0Tt7ij5dfOWDsBxF2X+4ae+5qzXgZNrscn/qwOFRzIrLpHmgE+6iDko5kv/P28NVtvpiEDeEP06toIdB2zdU50ZH3KXvwIxr8fDlUAO3fzhUcvpC8MrHLocZAZDRHSL7tEVdVuaqJFBOjcQix38uP1pzAJCbfmJhZt6HyKn/iXxhQeOapHaGeGQgXulGHDOXWP5VF/R40i6PvzlKVOZukuIKiIyIYfi7Ez77FkjA5jVxuQ+p2/mr4CfrIvEvvOemK8GeGs/yVdftlRVgg3kPBAs+VvySFma+vd/AnmF3L4Gdivqx8XK8LiVuGukZN+rgH6ZN3gm7vsg1Q/CKqVXf57SQRK4l4Nmkol/t+jrtcn/wbkOz07iWEyQlsw8Arz0LvIQkLuuDXiBvN/mb9Nqe6EMPLFL58X/QGig4sbt+lojfSwdiew3VWy8GCHOxIZQxLwQ/1fpDd4/t2PLDzBPRK4puiD7F+mqXXy8kzlFeyB7R1sBcdJUYE43ykaHVkO1KuUCXZ0vWjtGWRbZJ3wFpsQlwgHJNyRVYwSVZC7UXBB2o59E1AryLF/KPb9hsg7X9CzPy1Rx3lOWk9GTg8adRzRHDtmcbXi7JDZ6Gp8hWiizaQ3cJ2T68eepbtts+VMJNsb9CGqaFKwDExZSP6YnPPIwy0E4If2HUkqc3oxNdSBsacE9pt0oN99fWclcDqJ2hpfrLJiQI6b4GmQ=
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:(13230031)(4636009)(136003)(376002)(346002)(396003)(39860400002)(230922051799003)(230173577357003)(230273577357003)(64100799003)(82310400011)(186009)(451199024)(1800799009)(40470700004)(36840700001)(46966006)(40480700001)(40460700003)(83380400001)(47076005)(26005)(336012)(1076003)(81166007)(356005)(36860700001)(70206006)(70586007)(426003)(7416002)(5660300002)(54906003)(6916009)(4326008)(8676002)(8936002)(44832011)(316002)(41300700001)(6666004)(2616005)(966005)(2906002)(478600001)(36756003)(86362001)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 20:00:58.6365
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c603b87c-47c4-4e5e-7942-08dbdbde6ea4
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:
	BL6PEPF0001AB75.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7541

Select HAS_VPCI_GUEST_SUPPORT in Kconfig for enabling vPCI support for
domUs.

Add checks to fail guest creation if the configuration is invalid.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
As the tag implies, this patch is not intended to be merged (yet).

Note that CONFIG_HAS_VPCI_GUEST_SUPPORT is not currently used in the
upstream code base. It will be used by the vPCI series [1]. This patch
is intended to be merged as part of the vPCI series. I'll coordinate
with Volodymyr to include this in the vPCI series or resend afterwards.
Meanwhile, I'll include it here until the Kconfig and
xen_domctl_createdomain prerequisites have been committed.

v4->v5:
* replace is_system_domain() check with dom_io check
* return an error in XEN_DOMCTL_assign_device (thanks Jan!)
* remove CONFIG_ARM check
* add needs_vpci() and arch_needs_vpci()
* add HAS_VPCI_GUEST_SUPPORT check to has_vpci()

v3->v4:
* refuse to create domain if configuration is invalid
* split toolstack change into separate patch

v2->v3:
* set pci flags in toolstack

v1->v2:
* new patch

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.html
---
 xen/arch/arm/Kconfig              |  1 +
 xen/arch/arm/include/asm/domain.h |  2 ++
 xen/arch/arm/vpci.c               |  8 ++++++++
 xen/arch/x86/include/asm/domain.h |  9 +++++++++
 xen/drivers/passthrough/pci.c     | 20 ++++++++++++++++++++
 xen/include/xen/domain.h          | 13 +++++++++++--
 6 files changed, 51 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5ff68e5d5979..3845b238a33f 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -195,6 +195,7 @@ config PCI_PASSTHROUGH
 	depends on ARM_64
 	select HAS_PCI
 	select HAS_VPCI
+	select HAS_VPCI_GUEST_SUPPORT
 	default n
 	help
 	  This option enables PCI device passthrough
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index be9ed39c9d42..e4b4a12233f0 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -31,6 +31,8 @@ enum domain_type {
 
 #define is_domain_direct_mapped(d) ((d)->cdf & CDF_directmap)
 
+#define arch_needs_vpci(d) ({ (void)(d); true; })
+
 /*
  * Is the domain using the host memory layout?
  *
diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index 3bc4bb55082a..61e0edcedea9 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -2,6 +2,7 @@
 /*
  * xen/arch/arm/vpci.c
  */
+#include <xen/lib.h>
 #include <xen/sched.h>
 #include <xen/vpci.h>
 
@@ -90,8 +91,15 @@ int domain_vpci_init(struct domain *d)
             return ret;
     }
     else
+    {
+        if ( !IS_ENABLED(CONFIG_HAS_VPCI_GUEST_SUPPORT) )
+        {
+            gdprintk(XENLOG_ERR, "vPCI requested but guest support not enabled\n");
+            return -EINVAL;
+        }
         register_mmio_handler(d, &vpci_mmio_handler,
                               GUEST_VPCI_ECAM_BASE, GUEST_VPCI_ECAM_SIZE, NULL);
+    }
 
     return 0;
 }
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index cb02a4d1ebb2..57bbe842e18d 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -503,6 +503,15 @@ struct arch_domain
 #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
 #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
 
+#define is_pvh_domain(d) ({                                  \
+    unsigned int _emflags = (d)->arch.emulation_flags;       \
+    IS_ENABLED(CONFIG_HVM) &&                                \
+        ((_emflags == X86_EMU_LAPIC) ||                      \
+         (_emflags == (X86_EMU_LAPIC | X86_EMU_IOAPIC))); })
+
+/* PCI passthrough may be backed by qemu for non-PVH domains */
+#define arch_needs_vpci(d) is_pvh_domain(d)
+
 #define gdt_ldt_pt_idx(v) \
       ((v)->vcpu_id >> (PAGETABLE_ORDER - GDT_LDT_VCPU_SHIFT))
 #define pv_gdt_ptes(v) \
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 04d00c7c37df..2203725a2aa6 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1542,6 +1542,18 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
     pcidevs_unlock();
 }
 
+static bool needs_vpci(const struct domain *d)
+{
+    if ( is_hardware_domain(d) )
+        return false;
+
+    if ( d == dom_io )
+        /* xl pci-assignable-add assigns PCI devices to domIO */
+        return false;
+
+    return arch_needs_vpci(d);
+}
+
 int iommu_do_pci_domctl(
     struct xen_domctl *domctl, struct domain *d,
     XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
@@ -1618,6 +1630,14 @@ int iommu_do_pci_domctl(
         bus = PCI_BUS(machine_sbdf);
         devfn = PCI_DEVFN(machine_sbdf);
 
+        if ( needs_vpci(d) && !has_vpci(d) )
+        {
+            printk(XENLOG_G_WARNING "Cannot assign %pp to %pd: vPCI support not enabled\n",
+                   &PCI_SBDF(seg, bus, devfn), d);
+            ret = -EPERM;
+            break;
+        }
+
         pcidevs_lock();
         ret = device_assigned(seg, bus, devfn);
         if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index ab8f06c5f6a2..c3364d6e2e44 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -51,8 +51,17 @@ void arch_get_domain_info(const struct domain *d,
 
 #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
 
-#define has_vpci(d) (((d)->options & XEN_DOMCTL_CDF_vpci) && \
-                     IS_ENABLED(CONFIG_HAS_VPCI))
+#define has_vpci(d) ({                                                        \
+    const struct domain *_d = (d);                                            \
+    bool _has_vpci = false;                                                   \
+    if ( (_d->options & XEN_DOMCTL_CDF_vpci) && IS_ENABLED(CONFIG_HAS_VPCI) ) \
+    {                                                                         \
+        if ( is_hardware_domain(_d) )                                         \
+            _has_vpci = true;                                                 \
+        else if ( IS_ENABLED(CONFIG_HAS_VPCI_GUEST_SUPPORT) )                 \
+            _has_vpci = true;                                                 \
+    }                                                                         \
+    _has_vpci; })
 
 /*
  * Arch-specifics.
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 20:01:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 20:01:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626983.977796 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qydsI-0001N9-KN; Thu, 02 Nov 2023 20:01:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626983.977796; Thu, 02 Nov 2023 20:01: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 1qydsI-0001N1-HH; Thu, 02 Nov 2023 20:01:06 +0000
Received: by outflank-mailman (input) for mailman id 626983;
 Thu, 02 Nov 2023 20:01: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=mhp2=GP=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qydsH-0008L9-9s
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 20:01:05 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20612.outbound.protection.outlook.com
 [2a01:111:f400:7e89::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d12e61e-79ba-11ee-98d6-6d05b1d4d9a1;
 Thu, 02 Nov 2023 21:01:04 +0100 (CET)
Received: from BL1PR13CA0332.namprd13.prod.outlook.com (2603:10b6:208:2c6::7)
 by DS0PR12MB8365.namprd12.prod.outlook.com (2603:10b6:8:f8::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Thu, 2 Nov
 2023 20:01:00 +0000
Received: from BL6PEPF0001AB75.namprd02.prod.outlook.com
 (2603:10b6:208:2c6:cafe::5b) by BL1PR13CA0332.outlook.office365.com
 (2603:10b6:208:2c6::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10 via Frontend
 Transport; Thu, 2 Nov 2023 20:01:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB75.mail.protection.outlook.com (10.167.242.168) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 20:00:59 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 2 Nov
 2023 15:00:41 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 2 Nov 2023 15:00:40 -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: 8d12e61e-79ba-11ee-98d6-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OgYGmF5/6R3GWvdk05Z48eK6waBl/dvLOqKrmzpzBJG8vJS8ETXMPVjKYFGQ+wbxWOweCRgFL3S+jOlYXkJCpy6fv+gLuWjUp+P0UmTXRpFuMso7jGufhI9Q9zEIi7vHFMmM5qkBrAGZlEnuSmXLqoaGbT0dkTIVdnNRWOn9jAQTiDhfWE2/zWFH/pWzmKKIa9iMDXqIJ5u2UqfluBNUtXnkw6KljY+glxnAiXjldRG7udxa0DxTjgnzq1bHgfgYC/cob7u+oITeAn9/ooRYQJwIWopwhUIlHEXnrM7Kw+oteAsoxKXI2Hwh9tKhUFkxOa02NuXunU/mVVa3XrLppQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=foc/8FzmXuit5/zyCxOQj1X7zaT4pCrJhL/sb10f1wA=;
 b=eFxWKvahDoyNDlZaZ74l5hXSOloZp8yFXNyjMuGcEp/lyVMhb3tNhfdDxwcmezH02odGSU6fZj1989NS473GpDXxAY4jDXuSPDzXmShDLJRXliIAu2dIZEJewt7SSx3B6iukEweWxyAjooc8KYqQqgm+2EfQJQwNctaKBplbyQ/mzyttYcoQ970f+CuRlGJxuOvyM1HVNcqSddMYFY/Y/vmBB3ezeujtPgRQnaFdHBI6dplTPwVp0UnR5f2d/WY1QpCyB4EWorBHqwFx2/FRRQ68A00aF4Rrjx52XJIFyLuD0uddMvTMm57lwD2u2/uI4y9rvjzajW0dn4cCWo8xqQ==
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 (0)
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=foc/8FzmXuit5/zyCxOQj1X7zaT4pCrJhL/sb10f1wA=;
 b=TjwSqwAK+JAARlJ/ajiXMzQMKIbAXk7tK1Bfoom9t0Om3f3ZD5HXTbTZcQ7j5RXjckNdqypBzySud7OnNYp+Vj7f7VbKW+2hZ5g5cylNfCwRlfTLgUEV1hQMO1uZwQyfIWLUk81U3YNtA6tgDW5FOF58gvVQcdIMSkeJKdAxP6E=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 3/5] [FUTURE] xen/arm: enable vPCI for dom0
Date: Thu, 2 Nov 2023 15:59:31 -0400
Message-ID: <20231102195938.1254489-4-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB75:EE_|DS0PR12MB8365:EE_
X-MS-Office365-Filtering-Correlation-Id: 53fc6118-3ab6-4aae-5c23-08dbdbde6f6a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	s/z+ll5Zdw/O/vqbnqQLPRg55HjsCziILRbiI30BSvtQ/LzexvZFWGb9mJ0hwrk9vqTg5NYC3m56XE/xcC/ZbAxQqg9UShI2YXwr8SF4AQL/VyY0JSBkBYiwW2806TuqDb0EjCihefV0ry+JrDSjXCjrpmQXgBgU+/8xAEC3KM188vfKyDmovccS2fAZah5TIL4KVVcCJdeyyBQMDUjXV867oB/2DlGt018uaF0yL/2orDp7bjxXaqYJ79EzvmXjy9kjK9IhCTf/SPSN1wjfkYZZJ8FAgGS3gCTw6V1rdHWH29LYtcajCdFb5yV39TENbId61IcRvtegJ4OjAyLySvWNXSbRbPKj6Y1GhIyyp0ifxuLWqNDImu7Jiz6FnbOwDgbHTdr0c/lZP5jKF+xKdZmjcPQhHSu9Qhi2DbDUpShuJWqb7jje4EUnwh98fxM9+SqVvE4NYTEfM1Am6uRcznvcjpG5W5yGxH8J0JYzyf0nqBDh2K5/8wduHz+EXp+vYs9/I6HY4WL69busKVVT775AQ5gw/uLUm5++mGoebgwhw3mafQNFxbP9RfoKWZNKKzdVDmzD1DLeOSOIeP9cI5ooyWSpy1DPcZ0ajBl8Tpyu6g7wz6Q2Tk/N2SlqwfzMepjFSeT5DXfCPH2HIoS/OgtAFo0WN2dfhfwzI8c20nfkcpEmGf1NWdHnGdj4nskaYbmJt3eOXOGTbH/6lyQjT/jOK7czrc4CdFVmO4SmGKYziJ8/sb5ffVvAwvhibwr9R4/7FNr41svC4rMxMytsJw==
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:(13230031)(4636009)(346002)(396003)(39860400002)(376002)(136003)(230922051799003)(64100799003)(451199024)(1800799009)(82310400011)(186009)(46966006)(40470700004)(36840700001)(478600001)(40480700001)(966005)(426003)(356005)(40460700003)(336012)(81166007)(82740400003)(36756003)(70586007)(70206006)(5660300002)(2616005)(47076005)(6666004)(86362001)(6916009)(36860700001)(54906003)(1076003)(41300700001)(44832011)(8936002)(4326008)(2906002)(83380400001)(26005)(8676002)(316002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 20:00:59.9177
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 53fc6118-3ab6-4aae-5c23-08dbdbde6f6a
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:
	BL6PEPF0001AB75.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8365

Set the vPCI flag in xen_domctl_createdomain to enable vPCI for dom0 if
iommu and PCI passthrough are enabled and there exists a PCI host bridge
in the system.

Adjust pci_host_iterate_bridges_and_count() to count the number of host
bridges if no callback is provided.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
Allowing/enabling vPCI for dom0 on ARM should follow or be part of the
PCI passthrough SMMU series [1]. I'm including it here due to
prerequisites in this Kconfig series. Once the prerequisites are
committed I'll move this patch to the PCI passthrough SMMU series.

v4->v5:
* add [FUTURE] tag
* move flags_optional change from the previous patch to here

v3->v4:
* depend on iommu_enabled, pci_passthrough_enabled, and whether there
  is a pci host bridge

v2->v3:
* new patch

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00210.html
---
 xen/arch/arm/domain.c              |  3 ++-
 xen/arch/arm/domain_build.c        |  6 ++++++
 xen/arch/arm/include/asm/pci.h     |  9 +++++++++
 xen/arch/arm/pci/pci-host-common.c | 11 ++++++++---
 4 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 28e3aaa5e482..1409a4235e13 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -607,7 +607,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
 {
     unsigned int max_vcpus;
     unsigned int flags_required = (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap);
-    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu);
+    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu |
+                                   XEN_DOMCTL_CDF_vpci);
     unsigned int sve_vl_bits = sve_decode_vl(config->arch.sve_vl);
 
     if ( (config->flags & ~flags_optional) != flags_required )
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 49792dd590ee..4750f5c6ad31 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3915,6 +3915,12 @@ void __init create_dom0(void)
             panic("SVE vector length error\n");
     }
 
+    if ( IS_ENABLED(CONFIG_HAS_VPCI) &&
+         iommu_enabled &&
+         is_pci_passthrough_enabled() &&
+         (pci_host_iterate_bridges_and_count(NULL, NULL) > 0) )
+        dom0_cfg.flags |= XEN_DOMCTL_CDF_vpci;
+
     dom0 = domain_create(0, &dom0_cfg, CDF_privileged | CDF_directmap);
     if ( IS_ERR(dom0) )
         panic("Error creating domain 0 (rc = %ld)\n", PTR_ERR(dom0));
diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
index 8cb46f6b7185..4ae4d8cff8bf 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -154,5 +154,14 @@ static inline int pci_get_new_domain_nr(void)
     return -1;
 }
 
+struct pci_host_bridge;
+
+static inline int pci_host_iterate_bridges_and_count(
+    struct domain *d,
+    int (*cb)(struct domain *d, struct pci_host_bridge *bridge))
+{
+    return 0;
+}
+
 #endif  /*!CONFIG_HAS_PCI*/
 #endif /* __ARM_PCI_H__ */
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
index c0faf0f43675..e6a03ae668f8 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -319,9 +319,14 @@ int pci_host_iterate_bridges_and_count(struct domain *d,
     {
         int ret;
 
-        ret = cb(d, bridge);
-        if ( ret < 0 )
-            return ret;
+        if ( cb )
+        {
+            ret = cb(d, bridge);
+            if ( ret < 0 )
+                return ret;
+        }
+        else
+            ret = 1;
         count += ret;
     }
     return count;
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 20:01:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 20:01:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.626988.977806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qydsf-00024m-3n; Thu, 02 Nov 2023 20:01:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 626988.977806; Thu, 02 Nov 2023 20: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 1qydsf-00024f-0x; Thu, 02 Nov 2023 20:01:29 +0000
Received: by outflank-mailman (input) for mailman id 626988;
 Thu, 02 Nov 2023 20:01: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=mhp2=GP=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qydsd-0000bG-DO
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 20:01:27 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 99bbd4ea-79ba-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 21:01:25 +0100 (CET)
Received: from MN2PR08CA0018.namprd08.prod.outlook.com (2603:10b6:208:239::23)
 by CY5PR12MB6575.namprd12.prod.outlook.com (2603:10b6:930:41::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Thu, 2 Nov
 2023 20:01:19 +0000
Received: from BL6PEPF0001AB76.namprd02.prod.outlook.com
 (2603:10b6:208:239:cafe::13) by MN2PR08CA0018.outlook.office365.com
 (2603:10b6:208:239::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19 via Frontend
 Transport; Thu, 2 Nov 2023 20:01:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB76.mail.protection.outlook.com (10.167.242.169) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Thu, 2 Nov 2023 20:01:18 +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.2507.32; Thu, 2 Nov
 2023 15:01:16 -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.2507.32; Thu, 2 Nov
 2023 15:01:13 -0500
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 2 Nov 2023 15:01:12 -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: 99bbd4ea-79ba-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XvnvBI1jQc7P3iNgtanvGtELPkJnanpDublf2zbGDTE1ZCg/K8wUtXdV1Qs9pVnuiI20ttcb1v9SDCmnCKeeiJqtR66mZmFKXuGQTfAsp4TIjt3yDtlmWVayfhyLAQXHPxIi6KGcBDgUm+q1zQkkLqOxtSCUtBee3xCsI2UMx00F7DVAUwUF68pxplH4blAfMpTwdJpBJl5t4WDghF1NTuX2YzRs5/rvGCv8ZkQzaJNJFatYNXa+CLJI7EmVgsFj/g9kMQmtLbhCRftSDPjtHqRPz6R6GU2TyZ7rqucwzGe6GK3bFeqAC9dHpPRRX61SORkty2WlbHxRMmho62HbvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3uwbiWJ1nI3UFBqjsZm4vAYZ3Ae/EpuSxlOkJkStLfA=;
 b=Mz8atBG0mrNpA6cXey8aPgsRg1Sg6+Pnw71yV+FkSZfGFLS4Yq8AUvlYpdXHO9pZtDO/C5kuztHqomII0lmYd6UYFXEO7Zj7boKpvfWoEvBTMTQEgYD1QbzbniMLhpa/CHzHNvGbWAMCJr31DVdxYK4CPSWOO9899BXVrYbBwbL6mfFE4xLklHcWmP6Qmx/V5UiT5A38X+KeXyjylsZPEK5Xf3rFEcveKlnF+9HSSlq2gNdysRcpoV9zn7weALlKMTxaPnFiHYyitPiZEWVoVvcQcsmLk4E5IcPc8Ca3TOIOKp/TdjxPJBSzLKO6UjP8+IAU3ufAi/HP1lrvuas1xA==
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 (0)
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=3uwbiWJ1nI3UFBqjsZm4vAYZ3Ae/EpuSxlOkJkStLfA=;
 b=APQcW4kY85/x5xL9U3eZ66BjCHujeV6R/WYZpc6c/2aqoLP369RL3uRoRMxPWbYP/6gCTCLFHKwBiFNBm4fRGDBQy2ZaALtVkU3FqI8hzZjxnTXBpw+EI75KwAuLa7HTd+Wc955drYQw/8ticQT+vkJgwptH0VFJZbZVzevg0zw=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v5 5/5] [FUTURE] tools/arm: enable vPCI for domUs
Date: Thu, 2 Nov 2023 15:59:33 -0400
Message-ID: <20231102195938.1254489-6-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB76:EE_|CY5PR12MB6575:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b91149a-b549-4f28-9d87-08dbdbde7a70
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4Q6LTwBKsV6adbBlnsonGS2aXbksVl1jUaOcNmf0z/rlh7PHlc5untp62E7vXLOVK21EGqfagHz/yNzFNATdiVQRnD1YVl03cdZgMJVfgV+/7jnw7+zynaanb1a6lzxp5Upb4CcYpc9y84YkoF/BrayO1rm+MOYvYbFI2ROAyCSoxENq6jrjLSK9Ff/oN72jhROMi1aQE1XjUDdG7NmumdzTdn/okTLY+Mj+VUTJJ3EWAkgQfPUKxUnh4FfQIghrJULXvCQXOEdptzpJ7Pl5YPLpEMEHsrFpzfT+g2SOeh82B31e9CVPWOKa3Ku4UoM1pbX/bDpQyGxU4wbAHWCLWVZMqF2pUZ2OPedz38cqqSGkxVkCVu1QQAguVYlHrVBmSMtFJcMn1GUjXz/AAEA82I/dO7QbMpnjsKM5r22zBmKDafK4XrB+aYxvtp4hk45fj2PF0ix9uj/LJKAp4sUaicR8kYWZfIWY+5ocrNzouqAwDJKzbLi5mOySVJFOb3ncY5aN3q0jVGzbtzuoTskFJPTa5AixmSi+nebEUAYupLHiUqIC0mCU+xfESVpoEGr11CuaCwjE773IzDIZx5WGReGAb5JQ8tQVp1pHEdb25RhVnpqUvPafj4J4ldleO3yAv/M0Ty7CFqEDjth6/08ScRF/qTHr2e/GC5LbNw8GmVXIBrG3Rf/CDUWcYER+TUQw02ueiWmbfE3gDf7w/IQAAhxUmWA8g2cEU+8p/D763cqVn4JnA8PZwO5sVoWj98ivOLeEGQgv4RTvppu9VMBw4A==
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:(13230031)(4636009)(346002)(376002)(39860400002)(136003)(396003)(230922051799003)(64100799003)(1800799009)(82310400011)(186009)(451199024)(36840700001)(40470700004)(46966006)(6916009)(47076005)(316002)(4744005)(86362001)(40460700003)(2616005)(1076003)(2906002)(336012)(81166007)(426003)(54906003)(26005)(70206006)(356005)(478600001)(36756003)(44832011)(41300700001)(8676002)(6666004)(8936002)(70586007)(40480700001)(82740400003)(36860700001)(4326008)(5660300002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Nov 2023 20:01:18.4136
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b91149a-b549-4f28-9d87-08dbdbde7a70
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:
	BL6PEPF0001AB76.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6575

Set the vPCI flag in xen_domctl_createdomain to enable vPCI if a pci
device has been specified in the xl domain config file.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
Same story as the patch before this regarding the [FUTURE] tag.

v4->v5:
* no change

v3->v4:
* split from ("xen/arm: enable vPCI for domUs")
---
 tools/libs/light/libxl_arm.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 15391917748c..6daed958e598 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -222,6 +222,9 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         config->arch.sve_vl = d_config->b_info.arch_arm.sve_vl / 128U;
     }
 
+    if (d_config->num_pcidevs)
+        config->flags |= XEN_DOMCTL_CDF_vpci;
+
     return 0;
 }
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 02 20:46:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 20:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627002.977816 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyeaF-0004no-DM; Thu, 02 Nov 2023 20:46:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627002.977816; Thu, 02 Nov 2023 20: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 1qyeaF-0004nh-AO; Thu, 02 Nov 2023 20:46:31 +0000
Received: by outflank-mailman (input) for mailman id 627002;
 Thu, 02 Nov 2023 20:46: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=7M36=GP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qyeaE-0004ji-6n
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 20:46:30 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5015de7-79c0-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 21:46:28 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40853c639abso10146425e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 13:46:27 -0700 (PDT)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f6-20020a05600c4e8600b003fefb94ccc9sm275951wmq.11.2023.11.02.13.46.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Nov 2023 13:46: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: e5015de7-79c0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1698957987; x=1699562787; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=Fx+uTt7AEj2kg5G+ALI4668vlDHq4qZHdiNlVhY+qgQ=;
        b=FazaOY18vLlQh6VgU274vwta2HAGNrheddFsJR5OBD+5texxSKJUoxJCgP4N+RI9fK
         n5m4IsIsQmrWY59C8jXS5NlYXlSt41Qegll0nQBvfwr6Ul6pey1MKERmnlnMFiawKhHQ
         fnnG9J+mNYJ+rBNPGACNdqxz0edRDs3DFAglo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698957987; x=1699562787;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Fx+uTt7AEj2kg5G+ALI4668vlDHq4qZHdiNlVhY+qgQ=;
        b=rNf5qvLAeJ0TByMylIgFeDySkQZevUCe3irWLbzkAEiHlIP25FncxgODpfLktm7Ik9
         miFSofUpgMKSqKozGNvXmnnALXZkRJ4LdvAwQ3HePcUWQQX4NYQuc/osVkglZCiMceh7
         3LdyVZSBu4iB+hnLbGNj7m+G5RqnP7sWVmNE3ykFWUmQBX1X3qGBE4ghuQdljA+AwYsb
         MFHFEwwvOZSAwcLZHwrMWOgY3k0cKO8HthSS1pQFLxrK4soC4RPt+kCyyvxqbu68ibJF
         x0TbvLHaUyndQ3k1up2sWkZ5cfXE7vXEkunCb70/RlfATo7MkdeUUTmPyU/LWqZvCv56
         Vtrw==
X-Gm-Message-State: AOJu0YwCynOYsQ4kZB6sLkqrza558oDGDiqC9ELt0gqniFT/tsN5mZhR
	98N/XvNW3n+HmzBgswHxlA25O1D4plNuQC1ZWQc=
X-Google-Smtp-Source: AGHT+IFB0dG1yWTYlalRoWDF8iQYZVvfaVRqGUNg3TKlsyRSwThdS+kPG6wP9qpbDOBQD3RmEM5cLA==
X-Received: by 2002:a05:600c:3b1c:b0:405:39c1:a98b with SMTP id m28-20020a05600c3b1c00b0040539c1a98bmr16667099wms.20.1698957987430;
        Thu, 02 Nov 2023 13:46:27 -0700 (PDT)
Message-ID: <46fd1ea5-6b0c-4fe5-b01c-1aed6888f468@citrix.com>
Date: Thu, 2 Nov 2023 20:46:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] AMD/IOMMU: drop tasklet handler forward declaration
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Federico Serafini <federico.serafini@bugseng.com>
References: <47711743-f6b6-130b-6be5-cfbb84ee5e2a@suse.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <47711743-f6b6-130b-6be5-cfbb84ee5e2a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 02/11/2023 2:23 pm, Jan Beulich wrote:
> do_amd_iommu_irq()'s forward declaration uses a parameter name different
> from what the definition uses, thus vioating Misra C:2012 rule 8.3. We
> can get away without such a forward declaration if instead we forward-
> declare amd_iommu_irq_tasklet, putting its initialization past the
> handler function's definition.
>
> No functional change.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 21:26:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 21:26:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627006.977826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyfCz-0005Qh-BW; Thu, 02 Nov 2023 21:26:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627006.977826; Thu, 02 Nov 2023 21: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 1qyfCz-0005Qa-8g; Thu, 02 Nov 2023 21:26:33 +0000
Received: by outflank-mailman (input) for mailman id 627006;
 Thu, 02 Nov 2023 21:26: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 1qyfCy-0005QQ-26; Thu, 02 Nov 2023 21:26: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 1qyfCx-0000z4-OD; Thu, 02 Nov 2023 21:26: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 1qyfCx-0002ds-F9; Thu, 02 Nov 2023 21:26:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyfCx-0002CI-Ef; Thu, 02 Nov 2023 21:26: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=KUaup6FXuLJmQoW5x1abK9xIjWlXSRXMA34oGCwuBHs=; b=65Ir1SkpoWFckPYrGU8F6dxn/B
	8XUKNg2/W3iwlg0t1l9fbKN32cGBUDam5AimmzDuliXj73L2ACHM01E+BliHGHeJbOG64WY6ABQHb
	Eto9LhW+Nz+/p+HiPzoU5gpMiMfquSxxmO7ehsZGv9nfe+4rkG3E77xrC4NN91cKYAhA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183662-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183662: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8da978bf68535ec9fc41f400f22f09b033dd535a
X-Osstest-Versions-That:
    ovmf=fbbbd984998d83cf6b69e9291336aefbac23396c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Nov 2023 21:26:31 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8da978bf68535ec9fc41f400f22f09b033dd535a
baseline version:
 ovmf                 fbbbd984998d83cf6b69e9291336aefbac23396c

Last test of basis   183649  2023-11-01 15:41:02 Z    1 days
Testing same since   183662  2023-11-02 19:12:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael Kubacki <michael.kubacki@microsoft.com>
  Pedro Falcato <pedro.falcato@gmail.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
   fbbbd98499..8da978bf68  8da978bf68535ec9fc41f400f22f09b033dd535a -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 21:35:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 21:35:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627012.977836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyfLh-0007kJ-7B; Thu, 02 Nov 2023 21:35:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627012.977836; Thu, 02 Nov 2023 21:35: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 1qyfLh-0007kC-3z; Thu, 02 Nov 2023 21:35:33 +0000
Received: by outflank-mailman (input) for mailman id 627012;
 Thu, 02 Nov 2023 21: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 1qyfLg-0007k2-CG; Thu, 02 Nov 2023 21: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 1qyfLg-0001I5-3E; Thu, 02 Nov 2023 21: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 1qyfLf-0002qw-R8; Thu, 02 Nov 2023 21:35:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyfLf-0005b7-Qm; Thu, 02 Nov 2023 21:35: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=QarD3iMjwoZAEwiih8ut7oQodbia4TAxaJYI08XyLqk=; b=e/MGdhJVdUzqJRjVq+TwvZUvNe
	c56RC1cJkAWLT9sFv4ddY78lfVmynf67AzmQKl5A1acIrfL4/ehV/rjj8b/ULLwEUc5Q4MElRO9DC
	EPnx8KOt/otjo5JuaGmRw/gLERxRX5xv+EGOoX6sFxBM0iYZc7qy1OzNF29KTt6j1fbg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183654-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183654: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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:migrate-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=babe393974de0351c0e6cca50f5f84edaf8d7fa1
X-Osstest-Versions-That:
    linux=deefd5024f0772cf56052ace9a8c347dc70bcaf3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 02 Nov 2023 21:35:31 +0000

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

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 183651
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183651
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183651
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183651
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183651
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183651
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183651
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183651
 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-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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                babe393974de0351c0e6cca50f5f84edaf8d7fa1
baseline version:
 linux                deefd5024f0772cf56052ace9a8c347dc70bcaf3

Last test of basis   183651  2023-11-02 00:14:15 Z    0 days
Testing same since   183654  2023-11-02 07:11:53 Z    0 days    1 attempts

------------------------------------------------------------
326 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                              starved 
 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-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-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
   deefd5024f07..babe393974de  babe393974de0351c0e6cca50f5f84edaf8d7fa1 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 22:19:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 22:19:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627019.977846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyg2H-0006tJ-Ba; Thu, 02 Nov 2023 22:19:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627019.977846; Thu, 02 Nov 2023 22:19: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 1qyg2H-0006tC-8l; Thu, 02 Nov 2023 22:19:33 +0000
Received: by outflank-mailman (input) for mailman id 627019;
 Thu, 02 Nov 2023 22:19: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=UmZ/=GP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qyg2G-0006t6-AF
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 22:19:32 +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 e3879bd2-79cd-11ee-9b0e-b553b5be7939;
 Thu, 02 Nov 2023 23:19:29 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 46549B81CA3;
 Thu,  2 Nov 2023 22:19:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A27EBC433C8;
 Thu,  2 Nov 2023 22:19:26 +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: e3879bd2-79cd-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1698963567;
	bh=byD+YuTd3iXirB/rWOPno319fKmJ/3C6tGOusnVGaDg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lZjXGocBte2uFYgWtLxJcNilgQj1B09KCexpJFWnMpDKfNx7btRb4S0o8hXoDU9MS
	 HnAi/1tZWKemizlUbAVPZGJ+szaElpKFV6Hwga3Q2a0uV9SNVrX72ZltWCq/beHKIt
	 zFyjqQKq6NG4opQ3mpJ48VXZMiDe2bVpgLvDtBCYiV2DKMFRs5auQtT6PSSB6eajHd
	 R0QrZYBtDiWgDYUBOBnCF+/jSYLh57q5dWsFZFSzpS/YKBM1tzIPcR5K7g9dvUds3Y
	 6CRxFZDbA1StcfrSeon2KB8edJoj6UI2P55p5fUpwoj3+lAAllF3cwgec/RIy1yiHk
	 +toLilmHqVcdA==
Date: Thu, 2 Nov 2023 15:19:25 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Xenia Ragiadakou <xenia.ragiadakou@amd.com>, 
    xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>, 
    Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] x86/irq: do not insert IRQ_MSI_EMU in emuirq mappings
In-Reply-To: <c586aa91-c35f-5f0c-7d1e-0df47efe79eb@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311021506330.2125691@ubuntu-linux-20-04-desktop>
References: <20231031133037.157936-1-xenia.ragiadakou@amd.com> <ZUEsabItf_lpvi25@macbook> <c586aa91-c35f-5f0c-7d1e-0df47efe79eb@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1772198601-1698962922=:2125691"
Content-ID: <alpine.DEB.2.22.394.2311021508580.2125691@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-1772198601-1698962922=:2125691
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311021508581.2125691@ubuntu-linux-20-04-desktop>

On Thu, 2 Nov 2023, Jan Beulich wrote:
> On 31.10.2023 17:33, Roger Pau Monné wrote:
> > On Tue, Oct 31, 2023 at 03:30:37PM +0200, Xenia Ragiadakou wrote:
> >> Do not use emuirq mappings for MSIs injected by emulated devices.
> >> This kind of pirq shares the same emuirq value and is not remapped.
> > 
> > AFAICT adding the extra emuirq mappings is harmless, and just adds
> > an extra layer of translation?
> > 
> > Or is this causing issues, but we haven't realized because we don't
> > provide emulated devices that use MSI(-X) by default?
> 
> Yeah, whether there's anything wrong with this or whether this change
> is merely trying to optimize things wants spelling out.
> 
> >> Fixes: 88fccdd11ca0 ('xen: event channel remapping for emulated MSIs')
> >> Signed-off-by: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
> >> ---
> >>
> >> Question: is there any strong reason why Linux HVM guests still use pirqs?
> > 
> > Baggage I guess.  I've suggested in the past to switch PIRQs off by
> > default for HVM, but I had no figures to show how much of a
> > performance penalty that would be for passthrough devices.
> > 
> > My suggestion would be to introduce an xl.cfg option to select the
> > availability of PIRQs for HVM guests, and set it to off by default.
> > You would also need to make sure that migration (or save/restore)
> > works fine, and that incoming guests from previous Xen versions (that
> > won't have the option) will result in PIRQs still being enabled.
> > 
> > There's already a XEN_X86_EMU_USE_PIRQ flag in xen_arch_domainconfig,
> > so you just need to wire the tools side in order to allow selection by
> > users.
> > 
> >>
> >>  xen/arch/x86/irq.c | 8 ++++----
> >>  1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
> >> index f42ad539dc..cdc8dc5a55 100644
> >> --- a/xen/arch/x86/irq.c
> >> +++ b/xen/arch/x86/irq.c
> >> @@ -2684,7 +2684,7 @@ int map_domain_emuirq_pirq(struct domain *d, int pirq, int emuirq)
> >>      }
> >>  
> >>      old_emuirq = domain_pirq_to_emuirq(d, pirq);
> >> -    if ( emuirq != IRQ_PT )
> >> +    if ( (emuirq != IRQ_PT) && (emuirq != IRQ_MSI_EMU) )
> >>          old_pirq = domain_emuirq_to_pirq(d, emuirq);
> > 
> > I think you can just use emuirq >= 0, as we then only need the emuirq
> > translation for passthrough interrupts, same for the rest of the
> > changed conditions.

I think this should work


> > Looking further, the function seems to be useless when called with
> > emuirq < 0, and hence it might be better to avoid such calls in the
> > first place?
> > 
> > I have to admit I've always been very confused with the PIRQ logic, so
> > it's possible I'm missing some relevant stuff here.
> 
> For any emuirq questions I'd like to suggest to Cc Stefano, who iirc was
> the one introducing this machinery. Like you I've never gained proper
> understanding of the concept and implementation, and hence I can always
> only refer back to Stefano.

At the time it was introduced as a minor performance improvement and
also because it helped us get the right hooks in place in Linux to
upstream Dom0 support (the MSI/MSI-X setup hooks). The feature came with
a high cost in complexity but it was worth it.

Now that many years have passed, Dom0 support has been in Linux for a
long time, the performance improvement alone is not worth keeping this
complexity in Xen. Especially considering direct interrupt injection is
a feature available in many modern interrupt controllers across arches
(x86, ARM, RISC-V).

I think it is time to get rid of XEN_X86_EMU_USE_PIRQ so that guests
stop using the feature. It is fragile. Removing XEN_X86_EMU_USE_PIRQ is
on my todo list but I welcome anyone doing it.
--8323329-1772198601-1698962922=:2125691--


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 22:23:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 22:23:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627022.977856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyg5k-0008Oh-RS; Thu, 02 Nov 2023 22:23:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627022.977856; Thu, 02 Nov 2023 22: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 1qyg5k-0008Oa-OY; Thu, 02 Nov 2023 22:23:08 +0000
Received: by outflank-mailman (input) for mailman id 627022;
 Thu, 02 Nov 2023 22:23: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=UmZ/=GP=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1qyg5j-0008OR-ES
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 22:23:07 +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 64aa3a66-79ce-11ee-98d7-6d05b1d4d9a1;
 Thu, 02 Nov 2023 23:23:05 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 2634AB81E1A;
 Thu,  2 Nov 2023 22:23:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 56889C433C8;
 Thu,  2 Nov 2023 22:23: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: 64aa3a66-79ce-11ee-98d7-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1698963784;
	bh=e9xvSEN23zZhoD3ITWnhftdjBgoK/PfzmzVsdrC1pQA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aDwDa4o0caCE+Ze3h50U4ZKQLSu1HWPf05Cpqy21V3Ujf0DiPAcSHyQejXCPX5eMx
	 z9LrKiUEQToIkj4nnhKjXHBdgV3A/0vZcyHCMnY2NbdXO53PRWsnijBIC/NrNyRg4o
	 Y6+Z3PLGqyUU95jet4TN6N0kg6O76+dAN/WjPuLCCSeUojeum58C5D70LOQUhfGT5f
	 JZEBABdVaAoA8YuUkNuU6NDTbAdJwAModV6db53YkgrO+vSVF8ljbPXfZVy9neVrmb
	 MgGhIvy3U7s1w0JccbfoN4cxx0qb4o4bVWoULyzQz0I+6SIJjr26VfqIaCZlCPXEa3
	 e4GABYQDyMRHA==
Date: Thu, 2 Nov 2023 15:23:01 -0700 (PDT)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Federico Serafini <federico.serafini@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.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] xen/lib: remove the overwrtitten string functions
 from x86 build
In-Reply-To: <fd55a636-094f-4c9a-b57c-44fcefa1eb20@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311021521500.2125691@ubuntu-linux-20-04-desktop>
References: <c313895654437fe154e989a7d633cca2ccc710d8.1698914967.git.federico.serafini@bugseng.com> <fd55a636-094f-4c9a-b57c-44fcefa1eb20@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1302277698-1698963784=:2125691"

  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-1302277698-1698963784=:2125691
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 2 Nov 2023, Andrew Cooper wrote:
> On 02/11/2023 10:21 am, Federico Serafini wrote:
> > Remove the generic implementation of memcpy(), memmove() and
> > memset() from the x86 build since a version written in asm is present.
> > This addesses violations of MISRA C:2012 Rule 8.6 ("An identifier with
> > external linkage shall have exactly one external definition").
> >
> > Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> 
> As I said on one of the previous calls, this is an error in analysis,
> not a bug in Xen.
> 
> The behaviour when linking a library is well defined by the toolchain. 
> Disassemble the final hypervisor and observe that there really is only
> one implementation, and it's always the arch-optimised version when both
> exist.

This is done automatically by linker, right? I am asking because I was
curious and searching through the build system but couldn't find a
specific place where the dropping of the lib implementation of things is
done.
--8323329-1302277698-1698963784=:2125691--


From xen-devel-bounces@lists.xenproject.org Thu Nov 02 22:44:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 02 Nov 2023 22:44:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627027.977865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qygQD-0004jJ-GM; Thu, 02 Nov 2023 22:44:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627027.977865; Thu, 02 Nov 2023 22:44: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 1qygQD-0004jC-Da; Thu, 02 Nov 2023 22:44:17 +0000
Received: by outflank-mailman (input) for mailman id 627027;
 Thu, 02 Nov 2023 22:44: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=7M36=GP=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qygQB-0004j5-VJ
 for xen-devel@lists.xenproject.org; Thu, 02 Nov 2023 22:44:16 +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 591d0883-79d1-11ee-98d7-6d05b1d4d9a1;
 Thu, 02 Nov 2023 23:44:14 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-408425c7c10so10791305e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 15:44:14 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 fb14-20020a05600c520e00b0040841e79715sm461646wmb.27.2023.11.02.15.44.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 02 Nov 2023 15:44: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: 591d0883-79d1-11ee-98d7-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1698965054; x=1699569854; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=p0rB/2LsNl68vDxX1EJoSXT8XjF2Avfiz+vjjcUdzjg=;
        b=JLcMAIt8UN5sJtsrPlUHYoj/XU5WcIXaaeLloD31qT+5Y+kld3BfvrtbSarFzxt53S
         DJmt36LrYHp1gW7aCEt9DxddVnZfijRAbZNITdiQvVwwIS22/jKqmIh5HOsOWTHoQJH7
         +Su0qP3tGU6f8dpEHNcujeS/e7ypjdVbh0qyw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698965054; x=1699569854;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=p0rB/2LsNl68vDxX1EJoSXT8XjF2Avfiz+vjjcUdzjg=;
        b=vhfYUObnNepZTkZ7O9EbHTICxD/kosAH0x/hZz61fZ7uyfDDMreD4OxG8n2lnt/Bxo
         /j3aWRbnEwKGi7ybrBKNFcRah9dGcksGSzZy+IXTwgnl2QJgclCVl0QtxyxA+jBdahgN
         p3zuey3kvlqs0zovFtZfFmcNdhKsahg2n+g6jTR+vbDaDBDDLgj+Wt6/3jPUq60TpsI2
         UibTcHPhC/6ICpoJ0rh6FsDrIgNPpQYPaSIQtVIKBRipkjcoMFGMNneWe5+psYhl6g+R
         a4l3IZ4MMcfQKkCfyLaW+qzA82+78RTxuZt0FbbfGGJ1y1ZE/+Wo86TwvDvlqldcy++i
         Sd4Q==
X-Gm-Message-State: AOJu0YxzOzToClS0/4ftBI94uVjCVRTBASe7KhucVZE5j7NBysSSgdXZ
	weoAvlPUi8q2vD50VSBBTpWw3Q==
X-Google-Smtp-Source: AGHT+IHJcGAuj/8Xlb0Qt6xkr6jrs0biwA6mRBBjLti4Uw81ecVRYShj3rz677LXzH/H2fqk2iF1pg==
X-Received: by 2002:a05:600c:5250:b0:409:5a92:4718 with SMTP id fc16-20020a05600c525000b004095a924718mr5000283wmb.36.1698965054125;
        Thu, 02 Nov 2023 15:44:14 -0700 (PDT)
Message-ID: <1982dde0-8651-4de4-83f8-c39d50268d8e@citrix.com>
Date: Thu, 2 Nov 2023 22:44:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [XEN PATCH] xen/lib: remove the overwrtitten string functions
 from x86 build
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org, consulting@bugseng.com,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
References: <c313895654437fe154e989a7d633cca2ccc710d8.1698914967.git.federico.serafini@bugseng.com>
 <fd55a636-094f-4c9a-b57c-44fcefa1eb20@citrix.com>
 <alpine.DEB.2.22.394.2311021521500.2125691@ubuntu-linux-20-04-desktop>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <alpine.DEB.2.22.394.2311021521500.2125691@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 02/11/2023 10:23 pm, Stefano Stabellini wrote:
> On Thu, 2 Nov 2023, Andrew Cooper wrote:
>> On 02/11/2023 10:21 am, Federico Serafini wrote:
>>> Remove the generic implementation of memcpy(), memmove() and
>>> memset() from the x86 build since a version written in asm is present.
>>> This addesses violations of MISRA C:2012 Rule 8.6 ("An identifier with
>>> external linkage shall have exactly one external definition").
>>>
>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> As I said on one of the previous calls, this is an error in analysis,
>> not a bug in Xen.
>>
>> The behaviour when linking a library is well defined by the toolchain. 
>> Disassemble the final hypervisor and observe that there really is only
>> one implementation, and it's always the arch-optimised version when both
>> exist.
> This is done automatically by linker, right? I am asking because I was
> curious and searching through the build system but couldn't find a
> specific place where the dropping of the lib implementation of things is
> done.

It's a property of linking, yes.

There is a specified order that libraries are searched (L->R on the
cmdline, IIRC) and the first object in a library to provide the symbol
is the object that gets linked in.

There are corner cases where you can pull in unrelated code and end up
with multiple symbols of the same name, and this is explicitly mitigated
by having one (public) function per object file wihtin the libs.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 01:39:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 01:39:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627033.977876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyj90-0004sg-W4; Fri, 03 Nov 2023 01:38:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627033.977876; Fri, 03 Nov 2023 01:38: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 1qyj90-0004sZ-TO; Fri, 03 Nov 2023 01:38:42 +0000
Received: by outflank-mailman (input) for mailman id 627033;
 Fri, 03 Nov 2023 01:38: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=ed2V=GQ=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1qyj8z-0004s4-QY
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 01:38:41 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b49ca1c4-79e9-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 02:38:38 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id AB19D2014F;
 Fri,  3 Nov 2023 02:38:35 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id IkvMV_u2jOa6; Fri,  3 Nov 2023 02:38:35 +0100 (CET)
Received: from begin.home (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id EC0DC20147;
 Fri,  3 Nov 2023 02:38:34 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.97-RC3)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1qyj8s-00000000WKd-2IkE; Fri, 03 Nov 2023 02:38:34 +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: b49ca1c4-79e9-11ee-9b0e-b553b5be7939
Date: Fri, 3 Nov 2023 02:38:34 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 1/2] Mini-OS: link kernel separately
Message-ID: <20231103013834.rtx3f4udl65hc5zd@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231101153551.11733-1-jgross@suse.com>
 <20231101153551.11733-2-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231101153551.11733-2-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le mer. 01 nov. 2023 16:35:50 +0100, a ecrit:
> Add an additional link step with linking all Mini-OS kernel binaries
> into a single object file.
> 
> This is done in preparation of hiding Mini-OS internal symbols before
> linking the kernel with libraries and an application.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

thanks!

> ---
>  Makefile | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 7ee181a2..85c6db75 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -164,8 +164,11 @@ endif
>  $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
>  	$(CPP) $(ASFLAGS) -P $< -o $@
>  
> -$(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
> -	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
> +$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
> +	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
> +
> +$(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
> +	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
>  	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
>  	$(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@-debug
>  	strip -s $@-debug -o $@
> -- 
> 2.35.3
> 


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 01:42:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 01:42:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627039.977890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyjCt-0006MN-GE; Fri, 03 Nov 2023 01:42:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627039.977890; Fri, 03 Nov 2023 01:42: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 1qyjCt-0006MG-Da; Fri, 03 Nov 2023 01:42:43 +0000
Received: by outflank-mailman (input) for mailman id 627039;
 Fri, 03 Nov 2023 01:42: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=wEjK=GQ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qyjCs-0006MA-NZ
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 01:42:42 +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 47072ed0-79ea-11ee-98d7-6d05b1d4d9a1;
 Fri, 03 Nov 2023 02:42:41 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-53e2308198eso2659417a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 02 Nov 2023 18:42: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: 47072ed0-79ea-11ee-98d7-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1698975761; x=1699580561; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=j6S6moRFxcwEt/aWKWcecyTl87JrHJdjfXdVy+KY5ks=;
        b=Hv4HJjPwYuOTXR+AHn1wr/9/y8it9dv5Z8EbmY2LWiKETE3ajhP7VDd8xRpgZDBwJb
         MiaOpPOYW0dT1DVlDdeqnKNHSj8QMQq8Y/iV4JujHSVgTDUBDrRxqB7zjUcu0PmwDMth
         H6HNYd6MgKl/wj0NrjGmeHt41MuqfIP4MXEDQvsuC4q4esPFGV41CSX0Arsdy36sE91t
         ayRy9TAsWOuE3PTC1GnM2f8Q21bG5kTmzXYmy2vBi6bXDVO/0J8ERDBwuWkOwwMhojcW
         OjheOlf5KIjBlHFBKgL/dXYJ3hd1m/o4Qa6v3jhzdw+TmivjMxxcWaJnTmOEyZvhXmnK
         WNdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1698975761; x=1699580561;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=j6S6moRFxcwEt/aWKWcecyTl87JrHJdjfXdVy+KY5ks=;
        b=D8VyDnspFLQFccWfFm13Li0Dsas5ePnG4qQ6K8tZMhDMry7Z0qzSnwr3Z9gNbNCJB1
         +f2a9NXu8QHZzDks+3KxUFxruP4dvgrn8tPclvdOPVQqG7rG89n+C1gWEbtzTnsjQ+ty
         iEpJ9u/TqtHTHXDZ7j/5q3VYmcad3S2OQh6cwGygmiT4DjSx3zer/41RauZax8H6hoda
         jah4rszfwdaJ/dEpz/oOMqzQtGw/epAVjN8YsvPlG6dlgVpxHw0Femv/8bFVMb3rywLQ
         RPzXUbfbg4uOBD7szx8SfVVlJWZYx+gZ2O3r3pLWTs/bTR8APnirIzl5Z7TUYD109icB
         40Sg==
X-Gm-Message-State: AOJu0Yw6Id9Hg7j8gFQVGjBtmMw4MLMt3f4sqMCFkbBQZHEYlTHEASoH
	IvWPsChELakuoprEI1KwLlODI++L8YV4CdTTfCA=
X-Google-Smtp-Source: AGHT+IH/RMDuS0RSONPu0TdYz0dMW8TwE1sPNukKwwofLVl4AtZMFqyw9c2bW1R2F4+/bkhs8WK6VA/3LfhymdLKXSg=
X-Received: by 2002:aa7:d941:0:b0:531:a63:cf25 with SMTP id
 l1-20020aa7d941000000b005310a63cf25mr16400765eds.33.1698975760988; Thu, 02
 Nov 2023 18:42:40 -0700 (PDT)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-4-jgross@suse.com>
 <CAKf6xptkUPBSTsij=CAWaiYxTCtGH4zpZWiLuvb=teX3i_sjrA@mail.gmail.com> <30b8cb38-ecc8-4d4e-bf18-512e893de153@suse.com>
In-Reply-To: <30b8cb38-ecc8-4d4e-bf18-512e893de153@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Thu, 2 Nov 2023 21:42:29 -0400
Message-ID: <CAKf6xpumCFYor9uE8Km2M24vvpko4RmA+Vm-qRdLoFLCkxmhfw@mail.gmail.com>
Subject: Re: [PATCH 03/29] tools/xenlogd: connect to frontend
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 2, 2023 at 4:23=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> On 01.11.23 20:21, Jason Andryuk wrote:
> > On Wed, Nov 1, 2023 at 5:34=E2=80=AFAM Juergen Gross <jgross@suse.com> =
wrote:
> >>
> >> Add the code for connecting to frontends to xenlogd.
> >>
> >> Signed-off-by: Juergen Gross <jgross@suse.com>
> >
> >> diff --git a/tools/xenlogd/xenlogd.c b/tools/xenlogd/xenlogd.c
> >> index 792d1026a3..da0a09a122 100644
> >> --- a/tools/xenlogd/xenlogd.c
> >> +++ b/tools/xenlogd/xenlogd.c
> >
> >> +static void connect_device(device *device)
> >> +{
> >> +    unsigned int val;
> >> +    xenevtchn_port_or_error_t evtchn;
> > 1.> +
> >> +    val =3D read_frontend_node_uint(device, "version", 0);
> >> +    if ( val !=3D 1 )
> >> +        return connect_err(device, "frontend specifies illegal versio=
n");
> >> +    val =3D read_frontend_node_uint(device, "num-rings", 0);
> >> +    if ( val !=3D 1 )
> >> +        return connect_err(device, "frontend specifies illegal ring n=
umber");
> >
> > Linux uses 2 rings (XEN_9PFS_NUM_RINGS), and it doesn't connect when
> > max-rings is less than that.
> >
> > max_rings =3D xenbus_read_unsigned(dev->otherend, "max-rings", 0);
> > if (max_rings < XEN_9PFS_NUM_RINGS)
> >      return -EINVAL;
> >
> > new_device() writes max-rings as 1.  So this works for mini-os, but
> > not Linux.  I'm not requesting you to change it - just noting it.
>
> Thanks for the note. I'll change it to allow more rings.

I'm happy to work on Linux compatibility as a follow up, if you just
want to focus on your Mini-OS use case.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 01:57:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 01:57:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627045.977900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyjRJ-0000NY-Rr; Fri, 03 Nov 2023 01:57:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627045.977900; Fri, 03 Nov 2023 01:57: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 1qyjRJ-0000NR-PH; Fri, 03 Nov 2023 01:57:37 +0000
Received: by outflank-mailman (input) for mailman id 627045;
 Fri, 03 Nov 2023 01:57: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 1qyjRI-0000NH-PC; Fri, 03 Nov 2023 01:57: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 1qyjRI-0006Jf-Dc; Fri, 03 Nov 2023 01:57: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 1qyjRI-000822-54; Fri, 03 Nov 2023 01:57:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyjRI-0003zO-4f; Fri, 03 Nov 2023 01:57: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=VRBY9sZHJIrXjVq4xKtt9XCs7nw0BC8GRrOmWiRVsvI=; b=l8G7GSQ8MwhanuJu9aiT5008LJ
	yPrTSVSrXNix21wr/QgHkM4C3ffSgRjCDjhx9cdRt0jbq7+E4tde/jZ6nuQlazM3z045cOEi/Nlqw
	U75kBTZvhSMYN5V48KdtUVf6D/K7yp5s4y7xCecGxCetLtYn1q2Ax3nSrtH2jy+3ytOY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183665-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183665: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=ea083911b1dc609506dd715b82f75759f7807c31
X-Osstest-Versions-That:
    xen=649c190a1feafdb54440bebbcac58abc90fa335b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Nov 2023 01:57:36 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  ea083911b1dc609506dd715b82f75759f7807c31
baseline version:
 xen                  649c190a1feafdb54440bebbcac58abc90fa335b

Last test of basis   183655  2023-11-02 10:02:07 Z    0 days
Testing same since   183665  2023-11-02 22:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   649c190a1f..ea083911b1  ea083911b1dc609506dd715b82f75759f7807c31 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 02:10:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 02:10:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627051.977910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyjdM-0003CD-1n; Fri, 03 Nov 2023 02:10:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627051.977910; Fri, 03 Nov 2023 02:10: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 1qyjdL-0003BU-TL; Fri, 03 Nov 2023 02:10:03 +0000
Received: by outflank-mailman (input) for mailman id 627051;
 Fri, 03 Nov 2023 02:10: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=ed2V=GQ=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1qyjdL-0002vm-1s
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 02:10:03 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1747ee2a-79ee-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 03:09:59 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 3DFF220155;
 Fri,  3 Nov 2023 03:09:59 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id qGrFA2YTBLNr; Fri,  3 Nov 2023 03:09:59 +0100 (CET)
Received: from begin.home (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id ECE1920152;
 Fri,  3 Nov 2023 03:09:58 +0100 (CET)
Received: from samy by begin.home with local (Exim 4.97-RC3)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1qyjdG-00000000WiV-2HNv; Fri, 03 Nov 2023 03:09:58 +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: 1747ee2a-79ee-11ee-9b0e-b553b5be7939
Date: Fri, 3 Nov 2023 03:09:58 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH 2/2] Mini-OS: keep a positive list of externally visible
 symbols
Message-ID: <20231103020958.4fwx75czgkwa5oxt@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231101153551.11733-1-jgross@suse.com>
 <20231101153551.11733-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231101153551.11733-3-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Hello,

Juergen Gross, le mer. 01 nov. 2023 16:35:51 +0100, a ecrit:
> The symbols in mini-os.map have been obtained via building all defined
> and not failing stubdoms (caml-stubdom doesn't build).
> 
> +++ b/mini-os.map
> @@ -0,0 +1,187 @@
> +# Mini-OS symbols being externally visible
> +# entry point
> +_start
> +# Mini-OS service functions
> +alloc_fd
> +alloc_file_type
> +alloc_pages
> +bind_virq

I believe we also want bind_pirq

> +block
> +console_print
> +create_thread

Also
exit_thread
msleep

> +do_map_frames
> +free_pages
> +get_file_from_fd
> +hypercall_page
> +event_queue
> +evtchn_alloc_unbound
> +evtchn_bind_interdomain
> +evtchn_get_peercontext
> +gntmap_fini
> +gntmap_init
> +gntmap_map_grant_refs
> +gntmap_munmap
> +gntmap_set_max_grants
> +map_frames_ex

I believe we also want
map_frame_rw
map_frame_virt
unmap_frames

> +mask_evtchn

I believe we also want
clear_evtchn

> +need_pgt
> +printk
> +schedule
> +stop_kernel
> +unbind_evtchn
> +unmask_evtchn
> +wake
> +xencons_ring_avail

Only this xencons_ function? It's very surprising being alone

> +xprintk
> +__local_irq_restore
> +__local_irq_save

I guess we also want

gnttab_alloc_and_grant
gnttab_grant_access
gnttab_grant_transfer
gnttab_end_transfer
gnttab_end_access
gnttabop_error

ioremap
ioremap_nocache
iounmap

> +__udivdi3
> +__udivmoddi4
> +__umoddi3

Please put those in a libgcc section.

> +# libc

There are quite a few more that we'll want here: at least all of the
string/stdio operations of include/lib.h include/posix/strings.h (for the case when we don't
have newlib's libc)

Also,

ioctl
shutdown
getpeername
recvfrom
closelog
vsyslog
err
errx
warn
warnx
verr
verrx
vwarn
vwarnx
getuid
geteuid
getgid
getegid
gethostname
nice
_ctype
malloc
realloc
free

> +accept
> +bind
> +chdir
> +clock_gettime
> +close
> +closedir
> +connect
> +do_exit
> +dup
> +dup2
> +execv
> +fcntl
> +fork
> +fstat64
> +fsync
> +ftruncate
> +getpagesize
> +getpid
> +getsockname
> +getsockopt
> +gettimeofday
> +htonl
> +htons
> +inet_aton
> +inet_ntoa
> +isatty
> +kill
> +link
> +listen
> +lockf
> +lseek64
> +mkdir
> +mmap64
> +munmap
> +nanosleep
> +ntohl
> +ntohs
> +open64
> +opendir
> +openlog
> +pipe
> +poll
> +posix_openpt
> +read
> +readdir
> +recv
> +rmdir
> +sbrk
> +select
> +select_read_flag
> +send
> +sendto
> +setsid
> +setsockopt
> +sigaction
> +sleep
> +socket
> +stat
> +sysconf
> +syslog
> +tcgetattr
> +tcsetattr

I believe we also want cfmakeraw

> +umask
> +unlink
> +usleep
> +waitpid
> +write
> +_exit
> +_fini
> +_init
> +___lock_acquire
> +___lock_acquire_recursive
> +___lock_init_recursive
> +___lock_release
> +___lock_release_recursive
> +# 9pfront driver
> +init_9pfront
> +# blkfront driver
> +blkfront_aio
> +blkfront_aio_poll
> +blkfront_aio_push_operation
> +blkfront_io
> +blkfront_open
> +blkfront_queue
> +blkfront_sync
> +init_blkfront
> +shutdown_blkfront
> +# fbfront driver
> +fbfront_open
> +fbfront_receive
> +fbfront_resize
> +fbfront_update
> +init_fbfront
> +shutdown_fbfront
> +# kbdfront driver
> +init_kbdfront
> +kbdfront_open
> +kbdfront_receive
> +shutdown_kbdfront
> +# netfront driver
> +init_netfront
> +netfront_receive
> +netfront_tap_open
> +netfront_xmit
> +networking_set_addr
> +shutdown_netfront

I believe we also want
netfront_get_netmask
netfront_get_gateway
suspend_netfront
resume_netfront
start_networking
stop_networking
networking_set_addr

> +# pcifront driver
> +pcifront_conf_read
> +pcifront_conf_write
> +pcifront_scan
> +shutdown_pcifront

I believe we also want
init_pcifront
pcifront_op
pcifront_enable_msi
pcifront_disable_msi
pcifront_enable_msix
pcifront_disable_msiX

> +# tpmback driver
> +init_tpmback
> +shutdown_tpmback
> +tpmback_get_opaque
> +tpmback_get_peercontext
> +tpmback_get_uuid
> +tpmback_req_any
> +tpmback_resp
> +tpmback_set_opaque

I believe we also want
tpmback_req
tpmback_wait_for_frontend_connect
tpmback_num_frontends

> +# tpmfront driver
> +init_tpmfront
> +shutdown_tpmfront
> +tpmfront_cmd
> +tpmfront_open

I believe we also want tpmfront_set_locality

> +# tpm_tis driver
> +init_tpm_tis
> +init_tpm2_tis
> +tpm_tis_open
> +tpm_tis_request_locality

I believe we also want tpm_tis_cmd

> +# xenbus driver
> +xenbus_ls
> +xenbus_read
> +xenbus_wait_for_watch
> +xenbus_watch_path_token
> +xenbus_unwatch_path_token

Also
xenbus_wait_for_watch_return
xenbus_wait_for_value
xenbus_wait_for_state_change
xenbus_switch_state
xenbus_write
xenbus_msg_reply
xenbus_rm
xenbus_get_perms
xenbus_set_perms
xenbus_transaction_start
xenbus_transaction_end
xenbus_read_integer
xenbus_read_uuid
xenbus_printf
xenbus_get_self_id

> +xs_daemon_open
> +xs_directory
> +xs_fileno
> +xs_get_domain_path
> +xs_read
> +xs_read_watch
> +xs_rm
> +xs_unwatch
> +xs_watch
> +xs_write
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 02:59:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 02:59:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627071.977968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qykP4-0001r8-7G; Fri, 03 Nov 2023 02:59:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627071.977968; Fri, 03 Nov 2023 02:59: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 1qykP4-0001r1-2p; Fri, 03 Nov 2023 02:59:22 +0000
Received: by outflank-mailman (input) for mailman id 627071;
 Fri, 03 Nov 2023 02:59: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 1qykP3-0001qr-Bz; Fri, 03 Nov 2023 02:59: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 1qykP3-0000Ja-9f; Fri, 03 Nov 2023 02:59: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 1qykP2-0002wm-TA; Fri, 03 Nov 2023 02:59:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qykP2-0001PJ-Si; Fri, 03 Nov 2023 02:59: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=nRxEA3k/yucRqMFJt3mo+JbrMmfV3AUA+ob5dJIis5Y=; b=H0613CNtZrWvIjyUaf+lyoFbBW
	AQTkLYMhqquS4rvqq126Q46F4pU0SnCGtL4ResjA4KRDojZXZchxQyMtBfA+uoQLTVbnY6GjQJeVO
	77c+rMnVxw9f7CZcshnbfbcxOWWhILocReJdmmKBPR9CPBZ6wxsd0xSfBEOcvWjmTkh8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183658-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183658: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-amd64-amd64-libvirt-xsm:migrate-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-libvirt: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-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-libvirt-qcow2: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-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
    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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=649c190a1feafdb54440bebbcac58abc90fa335b
X-Osstest-Versions-That:
    xen=7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Nov 2023 02:59:20 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail pass in 183666-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183645
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183652
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183652
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183652
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183652
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183652
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183652
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183652
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183652
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183652
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183652
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183652
 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-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-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-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-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     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-amd64-amd64-libvirt-xsm 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-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-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-amd64-i386-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-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-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
 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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  649c190a1feafdb54440bebbcac58abc90fa335b
baseline version:
 xen                  7befef87cc9b1bb8ca15d866ce1ecd9165ccb58c

Last test of basis   183652  2023-11-02 01:52:12 Z    1 days
Testing same since   183658  2023-11-02 13:08:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.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                              starved 
 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                                  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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   7befef87cc..649c190a1f  649c190a1feafdb54440bebbcac58abc90fa335b -> master


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 06:28:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 06:28:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627078.977978 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qynfB-0003TN-CI; Fri, 03 Nov 2023 06:28:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627078.977978; Fri, 03 Nov 2023 06: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 1qynfB-0003TG-8y; Fri, 03 Nov 2023 06:28:13 +0000
Received: by outflank-mailman (input) for mailman id 627078;
 Fri, 03 Nov 2023 06: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 1qynfA-0003T6-5b; Fri, 03 Nov 2023 06: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 1qynf9-0005sE-OG; Fri, 03 Nov 2023 06:28: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 1qynf9-0003fs-FO; Fri, 03 Nov 2023 06:28:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qynf9-0004gX-F1; Fri, 03 Nov 2023 06:28: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=eFYFbwaY1LS1RAKL5+m0Ik8A3mWNxAS59cSgRHQ6X78=; b=yDLlKXJKLYuOUVYvC5yhF6B2Uk
	OHx+xONT11egczQv6OpUwc5MPQwn93X87Bfdz89QLWtwwNRGHUcH40tw9wDsoyRydk2f093fpTFeH
	ZFfwe+BF18GONw460JGLaR4T+fslosrj6pcgKEga+J6M8Lc+DhL+thaoFhQ85Mgm5ONI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183663-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 183663: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=6f9285975b1c6e82889a6118503ca367e3aa78fd
X-Osstest-Versions-That:
    xen=dfd7b3fe0380a0313d1b573afb918ffcd92c4be5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Nov 2023 06:28:11 +0000

flight 183663 xen-4.18-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/183663/

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 183641
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183641
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183641
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183641
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183641
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183641
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183641
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183641
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183641
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183641
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183641
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183641
 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-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-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-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-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-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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-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-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-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-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-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     15 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  6f9285975b1c6e82889a6118503ca367e3aa78fd
baseline version:
 xen                  dfd7b3fe0380a0313d1b573afb918ffcd92c4be5

Last test of basis   183641  2023-10-31 16:37:05 Z    2 days
Testing same since   183663  2023-11-02 21:40:29 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                                          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                              starved 
 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-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-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
   dfd7b3fe03..6f9285975b  6f9285975b1c6e82889a6118503ca367e3aa78fd -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 07:37:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 07:37:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627085.977991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyojW-0003wz-BD; Fri, 03 Nov 2023 07:36:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627085.977991; Fri, 03 Nov 2023 07: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 1qyojW-0003ws-8g; Fri, 03 Nov 2023 07:36:46 +0000
Received: by outflank-mailman (input) for mailman id 627085;
 Fri, 03 Nov 2023 07: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=Jk6d=GQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyojU-0003wW-Gh
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 07: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 bab6839b-7a1b-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 08:36:41 +0100 (CET)
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 89086218A2;
 Fri,  3 Nov 2023 07:36: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 5E28F13907;
 Fri,  3 Nov 2023 07:36:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id VuaVFQijRGXyPgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 03 Nov 2023 07:36: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: bab6839b-7a1b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698997000; 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:autocrypt:autocrypt;
	bh=UEpBVrjl2EGpx7VnVYRkY2SLgROJ5B7EVra1w98XB5o=;
	b=NlXM2VD2NlYSV0GP81zCw4JWBVQt5UW3zMgIiny1cS0jYI/DdU6AmaAZfc2vvx3PA5z2n3
	bbjpEH9soWVIUY1oyjGxNwbPGeLhmmX90pwEZa9PbGP8YoRbCBA7lmA+eOTrzms+EzvzqT
	xOYrV2uaXxIHbVBrNCVAA7vnFrGxBow=
Message-ID: <1db8ada3-e810-4981-969b-7376ef34b2f4@suse.com>
Date: Fri, 3 Nov 2023 08:36:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 02/29] tools: add a new xen logging daemon
Content-Language: en-US
To: Andrew Cooper <andcooper@tibco.com>, Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-3-jgross@suse.com>
 <CAKf6xpt6LwSB2QaCnW7MvKJWq5rkR6qoFEG4ZCKVqv3MKeMMuQ@mail.gmail.com>
 <9b60fe7c-a960-4463-a0cf-1126ba29bcaf@suse.com>
 <feb6578d-9c2f-4e7f-ab1b-af588c22165b@tibco.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <feb6578d-9c2f-4e7f-ab1b-af588c22165b@tibco.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------XxT8BXL7y0WjdWwHDHekej5O"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------XxT8BXL7y0WjdWwHDHekej5O
Content-Type: multipart/mixed; boundary="------------f4rVKe60lnQN0tsQ25MXPgZt";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andcooper@tibco.com>, Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <1db8ada3-e810-4981-969b-7376ef34b2f4@suse.com>
Subject: Re: [PATCH 02/29] tools: add a new xen logging daemon
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-3-jgross@suse.com>
 <CAKf6xpt6LwSB2QaCnW7MvKJWq5rkR6qoFEG4ZCKVqv3MKeMMuQ@mail.gmail.com>
 <9b60fe7c-a960-4463-a0cf-1126ba29bcaf@suse.com>
 <feb6578d-9c2f-4e7f-ab1b-af588c22165b@tibco.com>
In-Reply-To: <feb6578d-9c2f-4e7f-ab1b-af588c22165b@tibco.com>

--------------f4rVKe60lnQN0tsQ25MXPgZt
Content-Type: multipart/mixed; boundary="------------Q1cHvneDoHxvDUmX549ca0sS"

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

T24gMDIuMTEuMjMgMjA6MTUsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDAyLzExLzIw
MjMgNzo0NCBhbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IE9uIDAxLjExLjIzIDE5OjM2
LCBKYXNvbiBBbmRyeXVrIHdyb3RlOg0KPj4+IE9uIFdlZCwgTm92IDEsIDIwMjMgYXQgMTA6
MjfigK9BTSBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+IHdyb3RlOg0KPj4+Pg0K
Pj4+PiBBZGQgInhlbmxvZ2QiLCBhIG5ldyBsb2dnaW5nIGRhZW1vbiBtZWFudCB0byBzdXBw
b3J0IGluZnJhc3RydWN0dXJlDQo+Pj4+IGRvbWFpbnMgKGUuZy4geGVuc3RvcmUtc3R1YmRv
bSkgdG8gd3JpdGUgbG9nIGZpbGVzIGluIGRvbTAuDQo+Pj4NCj4+PiBBcyBJIHVuZGVyc3Rh
bmQgaXQsIHlvdXIgbmV3IGRhZW1vbiBpcyBhIGdlbmVyaWMgOXBmcyBiYWNrZW5kLCB3aGlj
aA0KPj4+IHlvdSB1c2UgZm9yIGxvZ2dpbmcuwqAgSSB0aGluayBuYW1pbmcgaXQgc29tZXRo
aW5nIGxpa2UgeGVuOXBmc2Qgd291bGQNCj4+PiBtb3JlIGFjY3VyYXRlbHkgZGVzY3JpYmUg
aXRzIGZ1bmN0aW9uYWxpdHkuDQo+Pg0KPj4gRmluZSB3aXRoIG1lLiBJJ2xsIHdhaXQgYSBs
aXR0bGUgYml0IHRvIHNlZSB3aGF0IG90aGVycyB0aGluay4NCj4gDQo+IEZXSVcsIEkgdG9v
IGxvb2tlZCBhdCB4ZW5sb2dkIGFuZCB0aG91Z2h0IGl0IHByb2JhYmx5IHdhc24ndCBpZGVh
bCwgYnV0DQo+IEkgd2FzIGdvaW5nIHRvIHdhaXQgdW50aWwgZ2xhbmNpbmcgYXQgdGhlIHdo
b2xlIHNlcmllcyBiZWZvcmUgc3VnZ2VzdGluZw0KPiBhbiBhbHRlcm5hdGl2ZS4NCj4gDQo+
IElmIGl0IHJlYWxseSBpcyBhIGdlbmVyaWMgOXBmcyBiYWNrZW5kLCB0aGVuICsxIHRvIEph
c29uJ3Mgc3VnZ2VzdGlvbiwNCj4gYWx0aG91Z2ggcHJlZmVyYWJseSBhcyB4ZW4tOXBmc2Qg
Zm9yIGltcHJvdmVkIGxlZ2liaWxpdHkuDQoNCk9rYXkuDQoNCj4gQnV0IGEgY291cGxlIG9m
IG90aGVyIHJlbWFya3Mgd2hpbGUgSSdtIGhlcmUuDQo+IA0KPiBJdCdzIGdyZWF0IHRvIHNl
ZSB0aGF0IGl0IG9ubHkgdXNlcyBzdGFibGUgbGlicmFyaWVzLCBhbmQgSSBob3BlIHRoYXQN
Cj4gcmVtYWlucyB0cnVlIHRvIHRoZSBlbmQgb2YgdGhlIHNlcmllcy7CoCBJZiB3ZSBlbmQg
dXAgd2FudGluZyB1bnN0YWJsZQ0KPiBBUElzLCBjYW4gSSBzdWdnZXN0IHRoYXQgd2UgdGFr
ZSB0aGUgb3Bwb3J0dW5pdHkgdG8gc3RhYmlsaXNlIHRoZW0gYXMgYQ0KPiBwcmVyZXF1aXNp
dGUuDQoNCk5vIHVuc3RhYmxlIEFQSXMuIEl0IGRvZXMgdXNlIHhlbmN0cmwuaCwgYnV0IGl0
IG5lZWRzIHRoYXQgb25seSBmb3IgdGhlDQpjcHUgYmFycmllcnMuIE1heWJlIHdlIHNob3Vs
ZCBleHRyYWN0IHRob3NlIHRvIGFub3RoZXIgaGVhZGVyPw0KDQo+IEluIHRoaXMgcGF0Y2gs
IHN0b3BfbWUgbmVlZHMgdG8gYmUgdm9sYXRpbGUgb3IgcmVhZCB3aXRoDQo+IEFDQ0VTU19P
TkNFKCkvZXRjLsKgIFRoZSBvbmx5IHRoaW5nIHN0b3BwaW5nIEdDQyB0dXJuaW5nIGl0IGlu
dG8gYW4NCj4gaW5maW5pdGUgbG9vcCBpcyBzbGVlcCgpIGJlaW5nIGFuIGV4dGVybmFsIGNh
bGwuDQoNCk9rYXksIHdpbGwgdXNlIHZvbGF0aWxlLg0KDQo+wqBkYWVtb25fcnVubmluZyBt
YXkNCj4gbmVlZCBzaW1pbGFyIHRyZWF0bWVudCwgZGVwZW5kaW5nIG9uIGhvdyBpdCBnZXRz
IHVzZWQgaW4gbGF0ZXIgcGF0Y2hlcy4NCg0KSSBkb24ndCB0aGluayBpdCBuZWVkcyBzcGVj
aWFsIHRyZWF0bWVudC4NCg0KDQpKdWVyZ2VuDQo=
--------------Q1cHvneDoHxvDUmX549ca0sS
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-----

--------------Q1cHvneDoHxvDUmX549ca0sS--

--------------f4rVKe60lnQN0tsQ25MXPgZt--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVEowcFAwAAAAAACgkQsN6d1ii/Ey8o
Igf/bdtQJ8p49sBKtewlc1eSIZksB3jGj4Bwl3jYZOhmTVGZHToM4m53zz+1XBNUGb7Z5zFSdrEY
Vwzw3UuBYBtnFcEJ4ybt0cqvlH+ODSzbi3qpzuCC9ZPQv1h4NVIIYzBWYSDPgvplfPNTgAsC6feP
AoljNuGYdp8+D8j8n3tiv5yd5mndOnzmN4oZDgl6uYki9gauVD2wr18OphoIa+SOum0IzWS2bvzz
2487Ilh7VCVAF3DTm5cRsI26ANKVddvikS/1mOUJ3QLbQghlni7RAjQO0ybQ6LcUdruYXtV9KuZV
N33rytLI6Ho39SBfTa/iJOpFzrwGUTFqp6qVOR+mPg==
=Q94r
-----END PGP SIGNATURE-----

--------------XxT8BXL7y0WjdWwHDHekej5O--


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 07:37:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 07:37:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627087.978003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyokJ-0004Vw-P2; Fri, 03 Nov 2023 07:37:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627087.978003; Fri, 03 Nov 2023 07:37: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 1qyokJ-0004Vn-Ku; Fri, 03 Nov 2023 07:37:35 +0000
Received: by outflank-mailman (input) for mailman id 627087;
 Fri, 03 Nov 2023 07:37: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=Jk6d=GQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyokH-0004UT-Kp
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 07:37:33 +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 d8f028ba-7a1b-11ee-98d7-6d05b1d4d9a1;
 Fri, 03 Nov 2023 08:37:31 +0100 (CET)
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 EE5FE2188B;
 Fri,  3 Nov 2023 07:37: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 C87FD13907;
 Fri,  3 Nov 2023 07:37:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kO3zLjujRGXyPgAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 03 Nov 2023 07: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>
X-Inumbo-ID: d8f028ba-7a1b-11ee-98d7-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698997051; 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:autocrypt:autocrypt;
	bh=RNZj5b6E7O2waT3iIX8xiP4PnSvF74nYVJ1yWqtxz1g=;
	b=CbaukewniaD8v7+cDdwhG66fpoHfYaSTL7TVW8qwmF/HAFTXjle9b8NA0BJ3J2TQhaSVdq
	IfS7uz4s+K2RYMApJfO9Is1UxGkXn0C9nqexGFzJCOB9ePwdFqp4A4rXHOX7T7QAw/Phko
	ffD1Br/gAYDyNdbzsIpaLKAzHtPg77w=
Message-ID: <0dff5b9e-7b37-48cc-a701-3f5b0fc8575c@suse.com>
Date: Fri, 3 Nov 2023 08:37:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 03/29] tools/xenlogd: connect to frontend
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-4-jgross@suse.com>
 <CAKf6xptkUPBSTsij=CAWaiYxTCtGH4zpZWiLuvb=teX3i_sjrA@mail.gmail.com>
 <30b8cb38-ecc8-4d4e-bf18-512e893de153@suse.com>
 <CAKf6xpumCFYor9uE8Km2M24vvpko4RmA+Vm-qRdLoFLCkxmhfw@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpumCFYor9uE8Km2M24vvpko4RmA+Vm-qRdLoFLCkxmhfw@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------CTdw9ol59GQ8Fbdq0K5hcLRa"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------CTdw9ol59GQ8Fbdq0K5hcLRa
Content-Type: multipart/mixed; boundary="------------vPT9LrhCysISvG0WXM1UYq9s";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <0dff5b9e-7b37-48cc-a701-3f5b0fc8575c@suse.com>
Subject: Re: [PATCH 03/29] tools/xenlogd: connect to frontend
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-4-jgross@suse.com>
 <CAKf6xptkUPBSTsij=CAWaiYxTCtGH4zpZWiLuvb=teX3i_sjrA@mail.gmail.com>
 <30b8cb38-ecc8-4d4e-bf18-512e893de153@suse.com>
 <CAKf6xpumCFYor9uE8Km2M24vvpko4RmA+Vm-qRdLoFLCkxmhfw@mail.gmail.com>
In-Reply-To: <CAKf6xpumCFYor9uE8Km2M24vvpko4RmA+Vm-qRdLoFLCkxmhfw@mail.gmail.com>

--------------vPT9LrhCysISvG0WXM1UYq9s
Content-Type: multipart/mixed; boundary="------------waHWLFgLrOm09nnv31zfGGsX"

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

T24gMDMuMTEuMjMgMDI6NDIsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFRodSwgTm92
IDIsIDIwMjMgYXQgNDoyM+KAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gT24gMDEuMTEuMjMgMjA6MjEsIEphc29uIEFuZHJ5dWsgd3JvdGU6
DQo+Pj4gT24gV2VkLCBOb3YgMSwgMjAyMyBhdCA1OjM04oCvQU0gSnVlcmdlbiBHcm9zcyA8
amdyb3NzQHN1c2UuY29tPiB3cm90ZToNCj4+Pj4NCj4+Pj4gQWRkIHRoZSBjb2RlIGZvciBj
b25uZWN0aW5nIHRvIGZyb250ZW5kcyB0byB4ZW5sb2dkLg0KPj4+Pg0KPj4+PiBTaWduZWQt
b2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+Pj4NCj4+Pj4gZGlm
ZiAtLWdpdCBhL3Rvb2xzL3hlbmxvZ2QveGVubG9nZC5jIGIvdG9vbHMveGVubG9nZC94ZW5s
b2dkLmMNCj4+Pj4gaW5kZXggNzkyZDEwMjZhMy4uZGEwYTA5YTEyMiAxMDA2NDQNCj4+Pj4g
LS0tIGEvdG9vbHMveGVubG9nZC94ZW5sb2dkLmMNCj4+Pj4gKysrIGIvdG9vbHMveGVubG9n
ZC94ZW5sb2dkLmMNCj4+Pg0KPj4+PiArc3RhdGljIHZvaWQgY29ubmVjdF9kZXZpY2UoZGV2
aWNlICpkZXZpY2UpDQo+Pj4+ICt7DQo+Pj4+ICsgICAgdW5zaWduZWQgaW50IHZhbDsNCj4+
Pj4gKyAgICB4ZW5ldnRjaG5fcG9ydF9vcl9lcnJvcl90IGV2dGNobjsNCj4+PiAxLj4gKw0K
Pj4+PiArICAgIHZhbCA9IHJlYWRfZnJvbnRlbmRfbm9kZV91aW50KGRldmljZSwgInZlcnNp
b24iLCAwKTsNCj4+Pj4gKyAgICBpZiAoIHZhbCAhPSAxICkNCj4+Pj4gKyAgICAgICAgcmV0
dXJuIGNvbm5lY3RfZXJyKGRldmljZSwgImZyb250ZW5kIHNwZWNpZmllcyBpbGxlZ2FsIHZl
cnNpb24iKTsNCj4+Pj4gKyAgICB2YWwgPSByZWFkX2Zyb250ZW5kX25vZGVfdWludChkZXZp
Y2UsICJudW0tcmluZ3MiLCAwKTsNCj4+Pj4gKyAgICBpZiAoIHZhbCAhPSAxICkNCj4+Pj4g
KyAgICAgICAgcmV0dXJuIGNvbm5lY3RfZXJyKGRldmljZSwgImZyb250ZW5kIHNwZWNpZmll
cyBpbGxlZ2FsIHJpbmcgbnVtYmVyIik7DQo+Pj4NCj4+PiBMaW51eCB1c2VzIDIgcmluZ3Mg
KFhFTl85UEZTX05VTV9SSU5HUyksIGFuZCBpdCBkb2Vzbid0IGNvbm5lY3Qgd2hlbg0KPj4+
IG1heC1yaW5ncyBpcyBsZXNzIHRoYW4gdGhhdC4NCj4+Pg0KPj4+IG1heF9yaW5ncyA9IHhl
bmJ1c19yZWFkX3Vuc2lnbmVkKGRldi0+b3RoZXJlbmQsICJtYXgtcmluZ3MiLCAwKTsNCj4+
PiBpZiAobWF4X3JpbmdzIDwgWEVOXzlQRlNfTlVNX1JJTkdTKQ0KPj4+ICAgICAgIHJldHVy
biAtRUlOVkFMOw0KPj4+DQo+Pj4gbmV3X2RldmljZSgpIHdyaXRlcyBtYXgtcmluZ3MgYXMg
MS4gIFNvIHRoaXMgd29ya3MgZm9yIG1pbmktb3MsIGJ1dA0KPj4+IG5vdCBMaW51eC4gIEkn
bSBub3QgcmVxdWVzdGluZyB5b3UgdG8gY2hhbmdlIGl0IC0ganVzdCBub3RpbmcgaXQuDQo+
Pg0KPj4gVGhhbmtzIGZvciB0aGUgbm90ZS4gSSdsbCBjaGFuZ2UgaXQgdG8gYWxsb3cgbW9y
ZSByaW5ncy4NCj4gDQo+IEknbSBoYXBweSB0byB3b3JrIG9uIExpbnV4IGNvbXBhdGliaWxp
dHkgYXMgYSBmb2xsb3cgdXAsIGlmIHlvdSBqdXN0DQo+IHdhbnQgdG8gZm9jdXMgb24geW91
ciBNaW5pLU9TIHVzZSBjYXNlLg0KDQpUaGFua3MsIGJ1dCBJIHRoaW5rIHRoaXMgc2hvdWxk
IGJlIHBhcnQgb2YgdGhlIGluaXRpYWwgc2VyaWVzLg0KDQoNCkp1ZXJnZW4NCg==
--------------waHWLFgLrOm09nnv31zfGGsX
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-----

--------------waHWLFgLrOm09nnv31zfGGsX--

--------------vPT9LrhCysISvG0WXM1UYq9s--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVEozsFAwAAAAAACgkQsN6d1ii/Ey81
OggAh/0KlugCglJfzISbobf49dQkr/wKpp83PtWoet8kQNWNbaBDAzZ+TrZdBuHVkb3ltar2yA0i
9DhBwJk5djSntDkRCPCdnO1yDMj3MBx42Ea8hZlfo4IUVDYRG2s1p4cCoXKBAknk/iQmH3O/22ys
gQiIbI0ISYluUcNPIVRyB1jko6X8JnzlkJa5Higoll84rgPiVCRbZry1/wNrtVDF239rdrLdI7Rv
SfAHjaZFPHBxl33wN/8XihfP2hhdSYrDt29IM3JlNkRjpY8zRhRDUBtzw9WIbbxX6bMEEbaSzHJX
8syoCP2o6c1rGa7A8ocZ/ezHFi0yEHEc/dZeuGueCA==
=o0XC
-----END PGP SIGNATURE-----

--------------CTdw9ol59GQ8Fbdq0K5hcLRa--


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 07:50:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 07:50:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627094.978012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyowc-0007Ls-Qv; Fri, 03 Nov 2023 07:50:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627094.978012; Fri, 03 Nov 2023 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 1qyowc-0007Ll-OB; Fri, 03 Nov 2023 07:50:18 +0000
Received: by outflank-mailman (input) for mailman id 627094;
 Fri, 03 Nov 2023 07:50: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=Jk6d=GQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyowb-0007Lf-B9
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 07:50:17 +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 9fa9d041-7a1d-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 08:50:15 +0100 (CET)
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 8E5731F388;
 Fri,  3 Nov 2023 07:50: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 60F9613907;
 Fri,  3 Nov 2023 07:50:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id u/AyFjWmRGUIRQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 03 Nov 2023 07:50: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: 9fa9d041-7a1d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698997813; 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:autocrypt:autocrypt;
	bh=sEnKtdlVKut0UFbLrE04zgnIG+8FcO5vo5TJW/mLbYc=;
	b=B1Vv6d+UsmxjZiwwp1arZujUnn5XghiuYOfvTsXG7Wg3IMqyz4iKDHCqiadj7fgEqWf3CH
	O2TR9hqJut4Ji9/9mQq4vm0Au7BZIcudPpLLuQkgkd7u9dJjtUpxjoCk/WJNoqGhT7vyhu
	l66OBGEzz4RHuAYek8O5KlP/rL3MBfM=
Message-ID: <8f87741f-1625-40f7-a050-d459a9528d29@suse.com>
Date: Fri, 3 Nov 2023 08:50:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 04/29] tools/xenlogd: add transport layer
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-5-jgross@suse.com>
 <CAKf6xptuzB_tkYaksQfLb2kWtX03cjoQ2iGon1typjbkLT2AXQ@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xptuzB_tkYaksQfLb2kWtX03cjoQ2iGon1typjbkLT2AXQ@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------d3eCWCM1LSbV7np8kAenTGcP"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------d3eCWCM1LSbV7np8kAenTGcP
Content-Type: multipart/mixed; boundary="------------B0565T6iRGVLHdA2F1ncPfFU";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <8f87741f-1625-40f7-a050-d459a9528d29@suse.com>
Subject: Re: [PATCH 04/29] tools/xenlogd: add transport layer
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-5-jgross@suse.com>
 <CAKf6xptuzB_tkYaksQfLb2kWtX03cjoQ2iGon1typjbkLT2AXQ@mail.gmail.com>
In-Reply-To: <CAKf6xptuzB_tkYaksQfLb2kWtX03cjoQ2iGon1typjbkLT2AXQ@mail.gmail.com>

--------------B0565T6iRGVLHdA2F1ncPfFU
Content-Type: multipart/mixed; boundary="------------rZXjmHOXIwUnSG0CU08MRles"

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

T24gMDIuMTEuMjMgMTk6MzAsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNTozNOKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHRoZSB0cmFuc3BvcnQgbGF5ZXIgb2YgOXBmcy4gVGhpcyBp
cyBiYXNpY2FsbHkgdGhlIGluZnJhc3RydWN0dXJlDQo+PiB0byByZWNlaXZlIHJlcXVlc3Rz
IGZyb20gdGhlIGZyb250ZW5kIGFuZCB0byBzZW5kIHRoZSByZWxhdGVkIGFuc3dlcnMNCj4+
IHZpYSB0aGUgcmluZ3MuDQo+Pg0KPj4gSW4gb3JkZXIgdG8gYXZvaWQgdW5hbGlnbmVkIGFj
Y2Vzc2VzIGUuZy4gb24gQXJtLCBhZGQgdGhlIGRlZmluaXRpb24gb2YNCj4+IF9fcGFja2Vk
IHRvIHRoZSBjb21tb24tbWFjcm9zLmggaGVhZGVyLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6
IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPiANCj4+IGRpZmYg
LS1naXQgYS90b29scy94ZW5sb2dkL2lvLmMgYi90b29scy94ZW5sb2dkL2lvLmMNCj4+IGlu
ZGV4IGVmMDk1NGQ2OWQuLjU5MGQwNmU5MDYgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5s
b2dkL2lvLmMNCj4+ICsrKyBiL3Rvb2xzL3hlbmxvZ2QvaW8uYw0KPiANCj4+ICtzdGF0aWMg
dW5zaWduZWQgaW50IGdldF9yZXF1ZXN0X2J5dGVzKGRldmljZSAqZGV2aWNlLCB1bnNpZ25l
ZCBpbnQgb2ZmLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
dW5zaWduZWQgaW50IGxlbikNCj4+ICt7DQo+PiArICAgIHVuc2lnbmVkIGludCBzaXplOw0K
Pj4gKyAgICB1bnNpZ25lZCBpbnQgb3V0X2RhdGEgPSByaW5nX291dF9kYXRhKGRldmljZSk7
DQo+PiArICAgIFJJTkdfSURYIHByb2QsIGNvbnM7DQo+PiArDQo+PiArICAgIHNpemUgPSBt
aW4obGVuIC0gb2ZmLCBvdXRfZGF0YSk7DQo+PiArICAgIHByb2QgPSB4ZW5fOXBmc19tYXNr
KGRldmljZS0+aW50Zi0+b3V0X3Byb2QsIGRldmljZS0+cmluZ19zaXplKTsNCj4+ICsgICAg
Y29ucyA9IHhlbl85cGZzX21hc2soZGV2aWNlLT5jb25zX3B2dF9vdXQsIGRldmljZS0+cmlu
Z19zaXplKTsNCj4+ICsgICAgeGVuXzlwZnNfcmVhZF9wYWNrZXQoZGV2aWNlLT5idWZmZXIg
KyBvZmYsIGRldmljZS0+ZGF0YS5vdXQsIHNpemUsDQo+PiArICAgICAgICAgICAgICAgICAg
ICAgICAgIHByb2QsICZjb25zLCBkZXZpY2UtPnJpbmdfc2l6ZSk7DQo+PiArDQo+PiArICAg
IHhlbl9ybWIoKTsgICAgICAgICAgIC8qIFJlYWQgZGF0YSBvdXQgYmVmb3JlIHNldHRpbmcg
dmlzaWJsZSBjb25zdW1lci4gKi8NCj4+ICsgICAgZGV2aWNlLT5jb25zX3B2dF9vdXQgKz0g
c2l6ZTsNCj4+ICsgICAgZGV2aWNlLT5pbnRmLT5vdXRfY29ucyA9IGRldmljZS0+Y29uc19w
dnRfb3V0Ow0KPj4gKw0KPj4gKyAgICAvKiBTaWduYWwgdGhhdCBtb3JlIHNwYWNlIGlzIGF2
YWlsYWJsZSBub3cuICovDQo+PiArICAgIHhlbmV2dGNobl9ub3RpZnkoeGUsIGRldmljZS0+
ZXZ0Y2huKTsNCj4+ICsNCj4+ICsgICAgcmV0dXJuIHNpemU7DQo+PiArfQ0KPj4gKw0KPj4g
K3N0YXRpYyB1bnNpZ25lZCBpbnQgcHV0X3JlcXVlc3RfYnl0ZXMoZGV2aWNlICpkZXZpY2Us
IHVuc2lnbmVkIGludCBvZmYsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB1bnNpZ25lZCBpbnQgbGVuKQ0KPiANCj4gU2hvdWxkIHRoaXMgYmUgbmFtZWQg
cHV0X3Jlc3BvbnNlX2J5dGVzPw0KDQpZZXMuDQoNCj4gDQo+PiArew0KPj4gKyAgICB1bnNp
Z25lZCBpbnQgc2l6ZTsNCj4+ICsgICAgdW5zaWduZWQgaW50IGluX2RhdGEgPSByaW5nX2lu
X2ZyZWUoZGV2aWNlKTsNCj4+ICsgICAgUklOR19JRFggcHJvZCwgY29uczsNCj4+ICsNCj4+
ICsgICAgc2l6ZSA9IG1pbihsZW4gLSBvZmYsIGluX2RhdGEpOw0KPiANCj4gSUlVQywgbGVu
IGlzIHRoZSB0b3RhbCBsZW5ndGggb2YgdGhlIG91dGdvaW5nIGRhdGEuICBNYXliZSB0b3Rh
bF9sZW4NCj4gd291bGQgYmUgYSBiZXR0ZXIgbmFtZT8gIEkgYXQgbGVhc3QgcmVhZCBsZW4g
YXMganVzdCBhIGxlbmd0aCBmb3IgYQ0KPiBwYXJ0aWN1bGFyIGNhbGwuICBTYW1lIGNvbW1l
bnQgYXBwbGllcyB0byBnZXRfcmVxdWVzdF9ieXRlcygpIGlmIHlvdQ0KPiB3YW50IHRvIGZv
bGxvdyBpdC4NCg0KRmluZSB3aXRoIG1lLg0KDQo+IA0KPj4gKyAgICBwcm9kID0geGVuXzlw
ZnNfbWFzayhkZXZpY2UtPnByb2RfcHZ0X2luLCBkZXZpY2UtPnJpbmdfc2l6ZSk7DQo+PiAr
ICAgIGNvbnMgPSB4ZW5fOXBmc19tYXNrKGRldmljZS0+aW50Zi0+aW5fY29ucywgZGV2aWNl
LT5yaW5nX3NpemUpOw0KPj4gKyAgICB4ZW5fOXBmc193cml0ZV9wYWNrZXQoZGV2aWNlLT5k
YXRhLmluLCBkZXZpY2UtPmJ1ZmZlciArIG9mZiwgc2l6ZSwNCj4+ICsgICAgICAgICAgICAg
ICAgICAgICAgICAgICZwcm9kLCBjb25zLCBkZXZpY2UtPnJpbmdfc2l6ZSk7DQo+PiArDQo+
PiArICAgIHhlbl93bWIoKTsgICAgICAgICAgIC8qIFdyaXRlIGRhdGEgb3V0IGJlZm9yZSBz
ZXR0aW5nIHZpc2libGUgcHJvZHVjZXIuICovDQo+PiArICAgIGRldmljZS0+cHJvZF9wdnRf
aW4gKz0gc2l6ZTsNCj4+ICsgICAgZGV2aWNlLT5pbnRmLT5pbl9wcm9kID0gZGV2aWNlLT5w
cm9kX3B2dF9pbjsNCj4+ICsNCj4+ICsgICAgcmV0dXJuIHNpemU7DQo+PiArfQ0KPj4gKw0K
Pj4gICBzdGF0aWMgYm9vbCBpb193b3JrX3BlbmRpbmcoZGV2aWNlICpkZXZpY2UpDQo+PiAg
IHsNCj4+ICAgICAgIGlmICggZGV2aWNlLT5zdG9wX3RocmVhZCApDQo+PiAgICAgICAgICAg
cmV0dXJuIHRydWU7DQo+PiAtICAgIHJldHVybiBmYWxzZTsNCj4+ICsgICAgaWYgKCBkZXZp
Y2UtPmVycm9yICkNCj4+ICsgICAgICAgIHJldHVybiBmYWxzZTsNCj4+ICsgICAgcmV0dXJu
IGRldmljZS0+aGFuZGxlX3Jlc3BvbnNlID8gcmluZ19pbl9mcmVlKGRldmljZSkNCj4+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmluZ19vdXRfZGF0YShkZXZp
Y2UpOw0KPj4gICB9DQo+Pg0KPj4gICB2b2lkICppb190aHJlYWQodm9pZCAqYXJnKQ0KPj4g
ICB7DQo+PiAgICAgICBkZXZpY2UgKmRldmljZSA9IGFyZzsNCj4+ICsgICAgdW5zaWduZWQg
aW50IGNvdW50ID0gMDsNCj4+ICsgICAgc3RydWN0IHA5X2hlYWRlciBoZHI7DQo+PiArICAg
IGJvb2wgaW5faGRyID0gdHJ1ZTsNCj4+ICsNCj4+ICsgICAgZGV2aWNlLT5tYXhfc2l6ZSA9
IGRldmljZS0+cmluZ19zaXplOw0KPj4gKyAgICBkZXZpY2UtPmJ1ZmZlciA9IG1hbGxvYyhk
ZXZpY2UtPm1heF9zaXplKTsNCj4+ICsgICAgaWYgKCAhZGV2aWNlLT5idWZmZXIgKQ0KPj4g
KyAgICB7DQo+PiArICAgICAgICBzeXNsb2coTE9HX0NSSVQsICJtZW1vcnkgYWxsb2NhdGlv
biBmYWlsdXJlISIpOw0KPj4gKyAgICAgICAgcmV0dXJuIE5VTEw7DQo+PiArICAgIH0NCj4+
DQo+PiAgICAgICB3aGlsZSAoICFkZXZpY2UtPnN0b3BfdGhyZWFkICkNCj4+ICAgICAgIHsN
Cj4+IEBAIC0zNiw5ICsxMjcsNTYgQEAgdm9pZCAqaW9fdGhyZWFkKHZvaWQgKmFyZykNCj4+
ICAgICAgICAgICB9DQo+PiAgICAgICAgICAgcHRocmVhZF9tdXRleF91bmxvY2soJmRldmlj
ZS0+bXV0ZXgpOw0KPj4NCj4+IC0gICAgICAgIC8qIFRPRE86IEkvTyBoYW5kbGluZy4gKi8N
Cj4+ICsgICAgICAgIGlmICggZGV2aWNlLT5zdG9wX3RocmVhZCB8fCBkZXZpY2UtPmVycm9y
ICkNCj4+ICsgICAgICAgICAgICBjb250aW51ZTsNCj4+ICsNCj4+ICsgICAgICAgIGlmICgg
IWRldmljZS0+aGFuZGxlX3Jlc3BvbnNlICkNCj4+ICsgICAgICAgIHsNCj4+ICsgICAgICAg
ICAgICBpZiAoIGluX2hkciApDQo+PiArICAgICAgICAgICAgew0KPj4gKyAgICAgICAgICAg
ICAgICBjb3VudCArPSBnZXRfcmVxdWVzdF9ieXRlcyhkZXZpY2UsIGNvdW50LCBzaXplb2Yo
aGRyKSk7DQo+PiArICAgICAgICAgICAgICAgIGlmICggY291bnQgIT0gc2l6ZW9mKGhkcikg
KQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+PiArICAgICAgICAgICAg
ICAgIGhkciA9ICooc3RydWN0IHA5X2hlYWRlciAqKWRldmljZS0+YnVmZmVyOw0KPj4gKyAg
ICAgICAgICAgICAgICBpZiAoIGhkci5zaXplID4gZGV2aWNlLT5tYXhfc2l6ZSB8fCBoZHIu
c2l6ZSA8IHNpemVvZihoZHIpICkNCj4+ICsgICAgICAgICAgICAgICAgew0KPj4gKyAgICAg
ICAgICAgICAgICAgICAgc3lzbG9nKExPR19FUlIsICIldS4ldSBzcGVjaWZpZWQgaWxsZWdh
bCByZXF1ZXN0IGxlbmd0aCAldSIsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAg
ZGV2aWNlLT5kb21pZCwgZGV2aWNlLT5kZXZpZCwgaGRyLnNpemUpOw0KPj4gKyAgICAgICAg
ICAgICAgICAgICAgZGV2aWNlLT5lcnJvciA9IHRydWU7DQo+IA0KPiBXaGVuIGRldmljZS0+
ZXJyb3IgaXMgc2V0LCBpb190aHJlYWQgc3RvcHMgcHJvY2Vzc2luZyByZXF1ZXN0cywgYnV0
IGRvDQo+IHdlIHdhbnQgdG8gYWxzbyB0ZWFyIGRvd24gdGhpcyBiYWNrZW5kPyAgVGhlIGV2
ZW50IGNoYW5uZWwgYXQgbGVhc3QgaXMNCj4gbGVmdCBpbiBwbGFjZSBhbmQgdW5tYXNrZWQu
DQoNCkkgdGhpbmsgdGVhcmluZyBkb3duIHRoZSBiYWNrZW5kIHNob3VsZG4ndCBiZSBkb25l
LCBidXQgeW91IGFyZSByaWdodCB0aGF0DQp0aGUgZXZlbnQgY2hhbm5lbCBzaG91bGQgYmUg
a2VwdCBtYXNrZWQuDQoNCj4gDQo+PiArICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsN
Cj4+ICsgICAgICAgICAgICAgICAgfQ0KPj4gKyAgICAgICAgICAgICAgICBpbl9oZHIgPSBm
YWxzZTsNCj4+ICsgICAgICAgICAgICB9DQo+PiArDQo+PiArICAgICAgICAgICAgY291bnQg
Kz0gZ2V0X3JlcXVlc3RfYnl0ZXMoZGV2aWNlLCBjb3VudCwgaGRyLnNpemUpOw0KPj4gKyAg
ICAgICAgICAgIGlmICggY291bnQgPCBoZHIuc2l6ZSApDQo+PiArICAgICAgICAgICAgICAg
IGNvbnRpbnVlOw0KPj4gKw0KPj4gKyAgICAgICAgICAgIC8qIFRPRE86IGhhbmRsZSByZXF1
ZXN0LiAqLw0KPj4gKw0KPj4gKyAgICAgICAgICAgIGRldmljZS0+aGFuZGxlX3Jlc3BvbnNl
ID0gdHJ1ZTsNCj4+ICsgICAgICAgICAgICBoZHIuc2l6ZSA9ICgoc3RydWN0IHA5X2hlYWRl
ciAqKWRldmljZS0+YnVmZmVyKS0+c2l6ZTsNCj4gDQo+IGhkci5zaXplIGlzIHNldCBkdXJp
bmcgdGhlIHN0cnVjdCBjb3B5IGFib3ZlLCBzbyB0aGlzIGlzbid0IG5lZWRlZD8NCg0KSXQg
d2lsbCBiZSBuZWVkZWQgbGF0ZXIgd2hlbiB0aGUgIlRPRE8iIGlzIGZpbGxlZCBpbiwgYXMg
aXQgd2lsbCB0aGVuIGJlIHRoZQ0KcmVzcG9uc2Ugc2l6ZS4NCg0KDQpKdWVyZ2VuDQo=
--------------rZXjmHOXIwUnSG0CU08MRles
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-----

--------------rZXjmHOXIwUnSG0CU08MRles--

--------------B0565T6iRGVLHdA2F1ncPfFU--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVEpjUFAwAAAAAACgkQsN6d1ii/Ey8I
0wf+Ov2p8XawFKkYZU1xOsPqiHOo5HXCi6EQevN6N8OzBUwdWh4k8erDMVKMhpgOzraPNOouLRf+
kcL/vfNbjrzN0g4b3vbcoDad40FjG4Z9Q7QOVQ+6EnY7UMiaGvnSvggDbZLcFNv4m1Qq5cOoyCDj
zVfvH6jxIbuUnolWD4XtZOjKCeD/nXafGgf6mzJk4Fn0e+/rWtyay1e+/w0PVV/ic/CnL3Qbhvm6
doVxu+jNxFEnez/vw9Ifvjp6zVA+Kjw7MKHmcJqseCPkHNts7UDs1h3bRMn25PrAEute1TjsJm1j
JVNoyxeHGHomzM4Z8pEXYfqN9Youwwy8vVMT610adg==
=ceLo
-----END PGP SIGNATURE-----

--------------d3eCWCM1LSbV7np8kAenTGcP--


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 07:52:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 07:52:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627096.978022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyoyq-0007u1-6d; Fri, 03 Nov 2023 07:52:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627096.978022; Fri, 03 Nov 2023 07:52: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 1qyoyq-0007tu-3T; Fri, 03 Nov 2023 07:52:36 +0000
Received: by outflank-mailman (input) for mailman id 627096;
 Fri, 03 Nov 2023 07:52: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=Jk6d=GQ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qyoyo-0007tj-Oh
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 07:52:34 +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 f25260da-7a1d-11ee-98d7-6d05b1d4d9a1;
 Fri, 03 Nov 2023 08:52:33 +0100 (CET)
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 30812218FA;
 Fri,  3 Nov 2023 07:52:33 +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 EE83513907;
 Fri,  3 Nov 2023 07:52:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id w6m9OMCmRGX/RQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 03 Nov 2023 07:52: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: f25260da-7a1d-11ee-98d7-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1698997953; 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:autocrypt:autocrypt;
	bh=Is9Wloka0aROgEcg397sjWHHtg2LegcDAi31PeDy3nA=;
	b=ajFLwJEKI5njEzk9xd7ZrK/UpfGIST+2b+NEo8fMGZQhyINILYO6kBDiMR9tWqivic5CdJ
	qXPMD7/gzcdozO41riRaAKULnIFsA4xwpg/VzibxZ1ql5Sho2NAIVevCyCXt0MXidDsovf
	ywaizw28Z+PFlqe+eov3nrTvvEpco7A=
Message-ID: <9e9cd8d0-ce1f-4799-90c9-905f60c1e547@suse.com>
Date: Fri, 3 Nov 2023 08:52:32 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 05/29] tools/xenlogd: add 9pfs response generation support
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-6-jgross@suse.com>
 <CAKf6xpvfVfDWmQnGxtDyxQ_6d0zWmb6FeXJKJfw+jk5-UcqO9A@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpvfVfDWmQnGxtDyxQ_6d0zWmb6FeXJKJfw+jk5-UcqO9A@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------g7SNRB2NKHKRTVtnWj18EujN"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------g7SNRB2NKHKRTVtnWj18EujN
Content-Type: multipart/mixed; boundary="------------sBepSIE3Xv1N00vVxqg3tF3t";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <9e9cd8d0-ce1f-4799-90c9-905f60c1e547@suse.com>
Subject: Re: [PATCH 05/29] tools/xenlogd: add 9pfs response generation support
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-6-jgross@suse.com>
 <CAKf6xpvfVfDWmQnGxtDyxQ_6d0zWmb6FeXJKJfw+jk5-UcqO9A@mail.gmail.com>
In-Reply-To: <CAKf6xpvfVfDWmQnGxtDyxQ_6d0zWmb6FeXJKJfw+jk5-UcqO9A@mail.gmail.com>

--------------sBepSIE3Xv1N00vVxqg3tF3t
Content-Type: multipart/mixed; boundary="------------vzHLfOqOC2noWP1HluZQmPlB"

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

T24gMDIuMTEuMjMgMTk6NDgsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNjo1NuKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpb24gYSA5cGZzIHByb3Rv
Y29sIHJlc3BvbnNlIHZpYSBhIGZvcm1hdCBiYXNlZA0KPj4gYXBwcm9hY2guDQo+Pg0KPj4g
U3RyaW5ncyBhcmUgc3RvcmVkIGluIGEgcGVyIGRldmljZSBzdHJpbmcgYnVmZmVyIGFuZCB0
aGV5IGFyZQ0KPj4gcmVmZXJlbmNlZCB2aWEgdGhlaXIgb2Zmc2V0IGluIHRoaXMgYnVmZmVy
LiBUaGlzIGFsbG93cyB0byBhdm9pZA0KPj4gaGF2aW5nIHRvIGR5bmFtaWNhbGx5IGFsbG9j
YXRlIG1lbW9yeSBmb3IgZWFjaCBzaW5nbGUgc3RyaW5nLg0KPj4NCj4+IEFzIGEgZmlyc3Qg
dXNlciBvZiB0aGUgcmVzcG9uc2UgaGFuZGxpbmcgYWRkIGEgZ2VuZXJpYyBwOV9lcnJvcigp
DQo+PiBmdW5jdGlvbiB3aGljaCB3aWxsIGJlIHVzZWQgdG8gcmV0dXJuIGFueSBlcnJvciB0
byB0aGUgY2xpZW50Lg0KPj4NCj4+IEFkZCBhbGwgZm9ybWF0IHBhcnNpbmcgdmFyaWFudHMg
aW4gb3JkZXIgdG8gYXZvaWQgYWRkaXRpb25hbCBjb2RlIGNodXJuDQo+PiBsYXRlciB3aGVu
IGFkZGluZyB0aGUgdXNlcnMgb2YgdGhvc2UgdmFyaWFudHMuIFByZXBhcmUgYSBzcGVjaWFs
IGNhc2UNCj4+IGZvciB0aGUgInJlYWQiIGNhc2UgYWxyZWFkeSAoZm9ybWF0IGNoYXJhY3Rl
ciAnRCcpOiBpbiBvcmRlciB0byBhdm9pZA0KPj4gYWRkaW5nIGFub3RoZXIgYnVmZmVyIGZv
ciByZWFkIGRhdGEgc3VwcG9ydCBkb2luZyB0aGUgcmVhZCBJL08gZGlyZWN0bHkNCj4+IGlu
dG8gdGhlIHJlc3BvbnNlIGJ1ZmZlci4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+PiAtLS0NCj4gDQo+PiBkaWZmIC0tZ2l0IGEv
dG9vbHMveGVubG9nZC9pby5jIGIvdG9vbHMveGVubG9nZC9pby5jDQo+PiBpbmRleCA1OTBk
MDZlOTA2Li41YTA2ZjcyMzM4IDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMveGVubG9nZC9pby5j
DQo+PiArKysgYi90b29scy94ZW5sb2dkL2lvLmMNCj4gDQo+PiBAQCAtMTAxLDYgKzExMiwx
NzIgQEAgc3RhdGljIGJvb2wgaW9fd29ya19wZW5kaW5nKGRldmljZSAqZGV2aWNlKQ0KPj4g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogcmluZ19vdXRfZGF0YShk
ZXZpY2UpOw0KPj4gICB9DQo+Pg0KPj4gK3N0YXRpYyB2b2lkIGZtdF9lcnIoY29uc3QgY2hh
ciAqZm10KQ0KPj4gK3sNCj4+ICsgICAgc3lzbG9nKExPR19DUklULCAiaWxsZWdhbCBmb3Jt
YXQgJXMgcGFzc2VkIHRvIGZpbGxfYnVmZmVyKCkiLCBmbXQpOw0KPj4gKyAgICBleGl0KDEp
Ow0KPj4gK30NCj4+ICsNCj4+ICsvKg0KPj4gKyAqIEZpbGwgYnVmZmVyIHdpdGggcmVzcG9u
c2UgZGF0YS4NCj4+ICsgKiBmbXQgaXMgYSBzZXF1ZW5jZSBvZiBmb3JtYXQgY2hhcmFjdGVy
cy4gU3VwcG9ydGVkIGNoYXJhY3RlcnMgYXJlOg0KPj4gKyAqIGE6IGFuIGFycmF5ICgyIGJ5
dGVzIG51bWJlciBvZiBlbGVtZW50cyArIHRoZSBmb2xsb3dpbmcgZm9ybWF0IGFzIGVsZW1l
bnRzKQ0KPj4gKyAqICAgIFRoZSBudW1iZXIgb2YgZWxlbWVudHMgaXMgcGFzc2VkIGluIHRo
ZSBmaXJzdCB1bnNpZ25lZCBpbnQgcGFyYW1ldGVyLCB0aGUNCj4+ICsgKiAgICBuZXh0IHBh
cmFtZXRlciBpcyBhIHBvaW50ZXIgdG8gYW4gYXJyYXkgb2YgZWxlbWVudHMgYXMgZGVub3Rl
ZCBieSB0aGUgbmV4dA0KPj4gKyAqICAgIGZvcm1hdCBjaGFyYWN0ZXIuDQo+PiArICogYjog
MiBieXRlIHVuc2lnbmVkIGludGVnZXINCj4+ICsgKiAgICBUaGUgcGFyYW1ldGVyIGlzIGEg
cG9pbnRlciB0byBhIHVpbnQxNl90IHZhbHVlDQo+PiArICogRDogRGF0YSBibG9iICg0IGJ5
dGUgbGVuZ3RoICsgPGxlbmd0aD4gYnl0ZXMpDQo+PiArICogICAgMiBwYXJhbWV0ZXJzIGFy
ZSBjb25zdW1lZCwgZmlyc3QgYW4gdW5zaWduZWQgaW50IGZvciB0aGUgbGVuZ3RoLCB0aGVu
IGENCj4+ICsgKiAgICBwb2ludGVyIHRvIHRoZSBmaXJzdCB1aW50OF90IHZhbHVlLg0KPj4g
KyAqICAgIE5vIGFycmF5IHN1cHBvcnQuDQo+PiArICogTDogOCBieXRlIHVuc2lnbmVkIGlu
dGVnZXINCj4+ICsgKiAgICBUaGUgcGFyYW1ldGVyIGlzIGEgcG9pbnRlciB0byBhIHVpbnQ2
NF90IHZhbHVlDQo+PiArICogUTogUWlkIChzdHJ1Y3QgcDlfcWlkKQ0KPj4gKyAqIFM6IFN0
cmluZyAoMiBieXRlIGxlbmd0aCArIDxsZW5ndGg+IGNoYXJhY3RlcnMpDQo+PiArICogICAg
VGhlIGxlbmd0aCBpcyBvYnRhaW5lZCB2aWEgc3RybGVuKCkgb2YgdGhlIHBhcmFtZXRlciwg
YmVpbmcgYSBwb2ludGVyDQo+PiArICogICAgdG8gdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0
aGUgc3RyaW5nDQo+PiArICogVTogNCBieXRlIHVuc2lnbmVkIGludGVnZXINCj4+ICsgKiAg
ICBUaGUgcGFyYW1ldGVyIGlzIGEgcG9pbnRlciB0byBhIHVpbnQzMl90IHZhbHVlDQo+PiAr
ICovDQo+PiArc3RhdGljIHZvaWQgZmlsbF9idWZmZXIoZGV2aWNlICpkZXZpY2UsIHVpbnQ4
X3QgY21kLCB1aW50MTZfdCB0YWcsDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3QgY2hhciAqZm10LCAuLi4pDQo+PiArew0KPj4gKyAgICBzdHJ1Y3QgcDlfaGVhZGVyICpo
ZHIgPSBkZXZpY2UtPmJ1ZmZlcjsNCj4+ICsgICAgdm9pZCAqZGF0YSA9IGhkciArIDE7DQo+
PiArICAgIGNvbnN0IGNoYXIgKmY7DQo+PiArICAgIGNvbnN0IHZvaWQgKnBhcjsNCj4+ICsg
ICAgY29uc3QgY2hhciAqc3RyX3ZhbDsNCj4+ICsgICAgY29uc3Qgc3RydWN0IHA5X3FpZCAq
cWlkOw0KPj4gKyAgICB1bnNpZ25lZCBpbnQgbGVuOw0KPj4gKyAgICB2YV9saXN0IGFwOw0K
Pj4gKyAgICB1bnNpZ25lZCBpbnQgYXJyYXlfc3ogPSAwOw0KPj4gKyAgICB1bnNpZ25lZCBp
bnQgZWxlbV9zeiA9IDA7DQo+PiArDQo+PiArICAgIGhkci0+Y21kID0gY21kOw0KPj4gKyAg
ICBoZHItPnRhZyA9IHRhZzsNCj4+ICsNCj4+ICsgICAgdmFfc3RhcnQoYXAsIGZtdCk7DQo+
PiArDQo+PiArICAgIGZvciAoIGYgPSBmbXQ7ICpmOyBmKysgKQ0KPj4gKyAgICB7DQo+PiAr
ICAgICAgICBpZiAoICFhcnJheV9zeiApDQo+PiArICAgICAgICAgICAgcGFyID0gdmFfYXJn
KGFwLCBjb25zdCB2b2lkICopOw0KPj4gKyAgICAgICAgZWxzZQ0KPj4gKyAgICAgICAgew0K
Pj4gKyAgICAgICAgICAgIHBhciArPSBlbGVtX3N6Ow0KPj4gKyAgICAgICAgICAgIGFycmF5
X3N6LS07DQo+PiArICAgICAgICB9DQo+PiArDQo+PiArICAgICAgICBzd2l0Y2ggKCAqZiAp
DQo+PiArICAgICAgICB7DQo+PiArICAgICAgICBjYXNlICdhJzoNCj4+ICsgICAgICAgICAg
ICBmKys7DQo+PiArICAgICAgICAgICAgaWYgKCAhKmYgfHwgYXJyYXlfc3ogKQ0KPj4gKyAg
ICAgICAgICAgICAgICBmbXRfZXJyKGZtdCk7DQo+PiArICAgICAgICAgICAgYXJyYXlfc3og
PSAqKGNvbnN0IHVuc2lnbmVkIGludCAqKXBhcjsNCj4+ICsgICAgICAgICAgICAqKF9fcGFj
a2VkIHVpbnQxNl90ICopZGF0YSA9IGFycmF5X3N6Ow0KPiANCj4gSXMgaXQgd29ydGggY2hl
Y2tpbmcgdGhhdCBhcnJheV9zeiBkb2Vzbid0IGV4Y2VlZCAweGZmZmY/DQoNCkkgY2FuIGFk
ZCB0aGF0Lg0KDQo+IA0KPj4gKyAgICAgICAgICAgIGRhdGEgKz0gc2l6ZW9mKHVpbnQxNl90
KTsNCj4+ICsgICAgICAgICAgICBwYXIgPSB2YV9hcmcoYXAsIGNvbnN0IHZvaWQgKik7DQo+
PiArICAgICAgICAgICAgZWxlbV9zeiA9IDA7DQo+PiArICAgICAgICAgICAgYnJlYWs7DQo+
PiArDQo+PiArICAgICAgICBjYXNlICd1JzoNCj4+ICsgICAgICAgICAgICAqKF9fcGFja2Vk
IHVpbnQxNl90ICopZGF0YSA9ICooY29uc3QgdWludDE2X3QgKilwYXI7DQo+PiArICAgICAg
ICAgICAgZWxlbV9zeiA9IHNpemVvZih1aW50MTZfdCk7DQo+PiArICAgICAgICAgICAgZGF0
YSArPSBzaXplb2YodWludDE2X3QpOw0KPj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4gKw0K
Pj4gKyAgICAgICAgY2FzZSAnRCc6DQo+PiArICAgICAgICAgICAgaWYgKCBhcnJheV9zeiAp
DQo+PiArICAgICAgICAgICAgICAgIGZtdF9lcnIoZm10KTsNCj4+ICsgICAgICAgICAgICBs
ZW4gPSAqKGNvbnN0IHVuc2lnbmVkIGludCAqKXBhcjsNCj4+ICsgICAgICAgICAgICAqKF9f
cGFja2VkIHVpbnQzMl90ICopZGF0YSA9IGxlbjsNCj4+ICsgICAgICAgICAgICBkYXRhICs9
IHNpemVvZih1aW50MzJfdCk7DQo+PiArICAgICAgICAgICAgcGFyID0gdmFfYXJnKGFwLCBj
b25zdCB2b2lkICopOw0KPj4gKyAgICAgICAgICAgIGlmICggZGF0YSAhPSBwYXIgKQ0KPj4g
KyAgICAgICAgICAgICAgICBtZW1jcHkoZGF0YSwgcGFyLCBsZW4pOw0KPj4gKyAgICAgICAg
ICAgIGRhdGEgKz0gbGVuOw0KPj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4gKw0KPj4gKyAg
ICAgICAgY2FzZSAnTCc6DQo+PiArICAgICAgICAgICAgKihfX3BhY2tlZCB1aW50NjRfdCAq
KWRhdGEgPSAqKGNvbnN0IHVpbnQ2NF90ICopcGFyOw0KPj4gKyAgICAgICAgICAgIGVsZW1f
c3ogPSBzaXplb2YodWludDY0X3QpOw0KPj4gKyAgICAgICAgICAgIGRhdGEgKz0gc2l6ZW9m
KHVpbnQ2NF90KTsNCj4+ICsgICAgICAgICAgICBicmVhazsNCj4+ICsNCj4+ICsgICAgICAg
IGNhc2UgJ1EnOg0KPj4gKyAgICAgICAgICAgIHFpZCA9IHBhcjsNCj4+ICsgICAgICAgICAg
ICBlbGVtX3N6ID0gc2l6ZW9mKCpxaWQpOw0KPj4gKyAgICAgICAgICAgICoodWludDhfdCAq
KWRhdGEgPSBxaWQtPnR5cGU7DQo+PiArICAgICAgICAgICAgZGF0YSArPSBzaXplb2YodWlu
dDhfdCk7DQo+PiArICAgICAgICAgICAgKihfX3BhY2tlZCB1aW50MzJfdCAqKWRhdGEgPSBx
aWQtPnZlcnNpb247DQo+PiArICAgICAgICAgICAgZGF0YSArPSBzaXplb2YodWludDMyX3Qp
Ow0KPj4gKyAgICAgICAgICAgICooX19wYWNrZWQgdWludDY0X3QgKilkYXRhID0gcWlkLT5w
YXRoOw0KPj4gKyAgICAgICAgICAgIGRhdGEgKz0gc2l6ZW9mKHVpbnQ2NF90KTsNCj4+ICsg
ICAgICAgICAgICBicmVhazsNCj4+ICsNCj4+ICsgICAgICAgIGNhc2UgJ1MnOg0KPj4gKyAg
ICAgICAgICAgIHN0cl92YWwgPSBwYXI7DQo+PiArICAgICAgICAgICAgZWxlbV9zeiA9IHNp
emVvZihzdHJfdmFsKTsNCj4+ICsgICAgICAgICAgICBsZW4gPSBzdHJsZW4oc3RyX3ZhbCk7
DQo+IA0KPiBTaG91bGQgbGVuIGJlIGNoZWNrZWQgdG8gZW5zdXJlIGl0IGRvZXNuJ3QgZXhj
ZWVkIDB4ZmZmZj8NCg0KSSdsbCBhZGQgdGhhdCBjaGVjay4NCg0KDQpKdWVyZ2VuDQoNCg==

--------------vzHLfOqOC2noWP1HluZQmPlB
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-----

--------------vzHLfOqOC2noWP1HluZQmPlB--

--------------sBepSIE3Xv1N00vVxqg3tF3t--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVEpsAFAwAAAAAACgkQsN6d1ii/Ey8v
FggAneanKF75TwPmh4CVvx36288v1sNCVJiTqDZZA+l55vj0OJHcdgTKvaYj+f9lGuhLmTimmWD4
+KkmwCPwXBtMSC2ZCRKkUkX11kQ6MSbKFlXxt2Omm/oYbywl2Zurt67TeoMZflxxr/4mqqygFgZK
+yOL24RcNs6NRDUx6lyeG3LruFOd8+hgkbPKSsN45KftXHEcIxRFMaI7rz6r6z4LXlynVC6so/YP
rYt6YnjlA09Qj/DQz1TuuZBuYa30Zkk1RsCu0Kfpoq5SBt7RmFPxgmKD3KMIE9LFtEoN1unFkId9
+MM35br0V0DsOX5FRVSTweFJ2C1muFVknVWnpVX/gw==
=sZGF
-----END PGP SIGNATURE-----

--------------g7SNRB2NKHKRTVtnWj18EujN--


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 10:34:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 10:34:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627128.978032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyrUy-0006jq-SX; Fri, 03 Nov 2023 10:33:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627128.978032; Fri, 03 Nov 2023 10:33: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 1qyrUy-0006jj-Po; Fri, 03 Nov 2023 10:33:56 +0000
Received: by outflank-mailman (input) for mailman id 627128;
 Fri, 03 Nov 2023 10:33: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 1qyrUx-0006jZ-M7; Fri, 03 Nov 2023 10:33: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 1qyrUx-0003eM-EZ; Fri, 03 Nov 2023 10:33: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 1qyrUx-0006sv-1N; Fri, 03 Nov 2023 10:33:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyrUx-0001I4-0w; Fri, 03 Nov 2023 10:33: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=L4yDwCLe686+RLSiPLvWxu7Har+J+7g1uDAJUgd1fTU=; b=p+QdEN1B4OAsfjOW3XA1bW2SD7
	L6hMkLa/foQs3+UTKa2spPg85hqb/6vPyn1uErrCkd1AscvGA+ZazoX96Nb5CNiuKfiKhZqv6LpBv
	M7txf6rg8q3iDlHlDEH8KxJeN1SQdtgXl2XneEs8ZQIrl6ejPfsmwRmNEIexG4dzAMcg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183664-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183664: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=4652b8e4f3ffa48c706ec334f048c217a7d9750d
X-Osstest-Versions-That:
    linux=babe393974de0351c0e6cca50f5f84edaf8d7fa1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Nov 2023 10:33:55 +0000

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

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 183654
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183654
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183654
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183654
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183654
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183654
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183654
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183654
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                4652b8e4f3ffa48c706ec334f048c217a7d9750d
baseline version:
 linux                babe393974de0351c0e6cca50f5f84edaf8d7fa1

Last test of basis   183654  2023-11-02 07:11:53 Z    1 days
Testing same since   183664  2023-11-02 21:42:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Aring <aahringo@redhat.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexey Dobriyan <adobriyan@gmail.com>
  Amir Goldstein <amir73il@gmail.com>
  Andrea Righi <andrea.righi@canonical.com>
  Baokun Li <libaokun1@huawei.com>
  Brian Foster <bfoster@redhat.com>
  Cheng-Han Wu <hank20010209@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Dave Hansen <dave.hansen@linux.intel.com> # for x86
  Dave Kleikamp <dave.kleikamp@oracle.com>
  David Teigland <teigland@redhat.com>
  Eric Biggers <ebiggers@google.com>
  Eric Snowberg <eric.snowberg@oracle.com>
  Ferry Meng <mengferry@linux.alibaba.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gou Hao <gouhao@uniontech.com>
  Guo Ren <guoren@kernel.org>
  Heiko Carstens <hca@linux.ibm.com>
  Jan Cincera <hcincera@gmail.com>
  Jan Kara <jack@suse.cz>
  Jinke Han <hanjinke.666@bytedance.com>
  Joel Granados <j.granados@samsung.com>
  Joseph Qi <joseph.qi@linux.alibaba.com>
  Juntong Deng <juntong.deng@outlook.com>
  Kangjing Huang <huangkangjing@gmail.com>
  Kees Cook <keescook@chromium.org>
  Kemeng Shi <shikemeng@huaweicloud.com>
  Krister Johansen <kjlx@templeofstupid.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lu Hongfei <luhongfei@vivo.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Manas Ghandat <ghandatmanas@gmail.com>
  Marios Makassikis <mmakassikis@freebox.fr>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Max Kellermann <max.kellermann@ionos.com>
  Mimi Zohar <zohar@linux.ibm.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Ojaswin Mujoo <ojaswin@linux.ibm.com>
  Prasad Pandit <pjp@fedoraproject.org>
  Raul E Rangel <rrangel@chromium.org>
  Steve French <stfrench@microsoft.com>
  Theodore Ts'o <tytso@mit.edu>
  Tiezhu Yang <yangtiezhu@loongson.cn>
  Tiwei Bie <tiwei.btw@antgroup.com>
  Wang Jianjian <wangjianjian0@foxmail.com>
  Ye Bin <yebin10@huawei.com>
  Yuezhang Mo <Yuezhang.Mo@sony.com>
  Zhang Yi <yi.zhang@huawei.com>
  Zhihao Cheng <chengzhihao1@huawei.com>
  Zhu Mao <zhumao001@208suo.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                              starved 
 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-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-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
   babe393974de..4652b8e4f3ff  4652b8e4f3ffa48c706ec334f048c217a7d9750d -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 12:48:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 12:48:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627148.978042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qytay-0006O8-DT; Fri, 03 Nov 2023 12:48:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627148.978042; Fri, 03 Nov 2023 12: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 1qytay-0006O1-9m; Fri, 03 Nov 2023 12:48:16 +0000
Received: by outflank-mailman (input) for mailman id 627148;
 Fri, 03 Nov 2023 12:48: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=bUT0=GQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qytaw-0006Nv-Nr
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 12:48:14 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3fa22fe7-7a47-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 13:48:12 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c50fbc218bso25107271fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 05:48:12 -0700 (PDT)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 r18-20020a05600c35d200b00401e32b25adsm2430774wmq.4.2023.11.03.05.48.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Nov 2023 05:48: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: 3fa22fe7-7a47-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699015692; x=1699620492; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=6z/CTwPVft9YxHQEffNlGVJ0NKXctBcOJcHsTZxNVdc=;
        b=C551k5yW5pSAVqyWUfIBnX1YdRmi/Ez+QH6y8N8SENk+jNQaoEg6rg7QU31yh++5nb
         cm40lrb5/gRZUzfswTu6hefvScmHbe9bhFXg1M+jkVPQaYVBQII7SJ1qVZsZjXsjXqpG
         Zx54napjCt/ALIZNpe0AQuw4iA9RWuuv16Ea4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699015692; x=1699620492;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6z/CTwPVft9YxHQEffNlGVJ0NKXctBcOJcHsTZxNVdc=;
        b=NyJ5jEP04YO4jdEBkB/F1NaEutcJWvtRpuapIguf9U+i+3dQLYgeddaaI81ULFq4G+
         EcJ6lI2YHPaSy/C9emx+4Ky1kbh+nYMRMk/NI8Yo+Iam4QdCc550zbNQlEzzaQ6/pQ8g
         TAhXeEpEgRH6CPeeHbrZaCBIuppbGX0Q4hcUBK3UjROODbeTndMYgkI6O5TfWyKeOnBq
         FWxc4xWKzA2IjXfDdzi7aWUSyiYMAN+Oh7JGFxZdN0yxUwUe3Rh4Ho0xsoIQY22krvqM
         3HU+5Tw/j/RllRVdXoEGv8q84QrOw9o/ymbbcTyfzN25JkunDnu0B+Jp8J49iJkTybY9
         tRSg==
X-Gm-Message-State: AOJu0YyOX3V5UKZKEcmdQ7rkbRFA22VpiqEcFE8qHEJprPBbC0ge1oG8
	YB+3Gw1Ux0Iyx25pduRevBHiFg==
X-Google-Smtp-Source: AGHT+IHt2PjZulTb+AjCXvBlqginVjGhxzWBe2YVNUqReAkCZplB0PKrHMvuhMZyNGqfWY75/FAJFQ==
X-Received: by 2002:a05:651c:207:b0:2c5:1867:b0b7 with SMTP id y7-20020a05651c020700b002c51867b0b7mr15785511ljn.25.1699015691758;
        Fri, 03 Nov 2023 05:48:11 -0700 (PDT)
Date: Fri, 3 Nov 2023 13:48:10 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>,
	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 v2] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZUTsCjVYXQzJVVJi@macbook>
References: <20231031145259.77199-1-roger.pau@citrix.com>
 <e6ec9635-4856-6f3b-88f6-d1baddad4741@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <e6ec9635-4856-6f3b-88f6-d1baddad4741@suse.com>

On Thu, Nov 02, 2023 at 02:38:09PM +0100, Jan Beulich wrote:
> On 31.10.2023 15:52, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/genapic/x2apic.c
> > +++ b/xen/arch/x86/genapic/x2apic.c
> > @@ -180,6 +180,29 @@ static const struct genapic __initconstrel apic_x2apic_cluster = {
> >      .send_IPI_self = send_IPI_self_x2apic
> >  };
> >  
> > +/*
> > + * Mixed x2APIC mode: use physical for external (device) interrupts, and
> > + * cluster for inter processor interrupts.  Such mode has the benefits of not
> > + * sharing the vector space with all CPUs on the cluster, while still allowing
> > + * IPIs to be more efficiently delivered by not having to perform an ICR write
> > + * for each target CPU.
> > + */
> > +static const struct genapic __initconstrel apic_x2apic_mixed = {
> > +    APIC_INIT("x2apic_mixed", NULL),
> > +    /*
> > +     * NB: IPIs use the send_IPI_{mask,self} hooks only, other fields are
> > +     * exclusively used by external interrupts and hence are set to use
> > +     * Physical destination mode handlers.
> > +     */
> > +    .int_delivery_mode = dest_Fixed,
> > +    .int_dest_mode = 0 /* physical delivery */,
> > +    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
> > +    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
> > +    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> > +    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
> > +    .send_IPI_self = send_IPI_self_x2apic
> > +};
> 
> I'm afraid the comment is still misleading in one respect: The .init_apic_ldr
> hook is also set to its Clustered mode handler (and validly so). As before my
> suggestion would be to leverage that we're using dedicated initializers here
> and have a Physical mode portion and a Clustered mode one, each clarifying in
> a brief leading comment where/how the handlers are used.

I've split this as:

/*
 * Mixed x2APIC mode: use physical for external (device) interrupts, and
 * cluster for inter processor interrupts.  Such mode has the benefits of not
 * sharing the vector space with all CPUs on the cluster, while still allowing
 * IPIs to be more efficiently delivered by not having to perform an ICR write
 * for each target CPU.
 */
static const struct genapic __initconstrel apic_x2apic_mixed = {
    APIC_INIT("x2apic_mixed", NULL),
    /*
     * The following fields are exclusively used by external interrupts and
     * hence are set to use Physical destination mode handlers.
     */
    .int_delivery_mode = dest_Fixed,
    .int_dest_mode = 0 /* physical delivery */,
    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
    /*
     * The following fields are exclusively used by IPIs and hence are set to
     * use Cluster Logical destination mode handlers.  Note that init_apic_ldr
     * is not used by IPIs, but the per-CPU fields it initializes are only used
     * by the IPI hooks.
     */
    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
    .send_IPI_self = send_IPI_self_x2apic
};

Pending whether the usage of some of the fields in connect_bsp_APIC()
can be removed.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 12:51:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 12:51:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627151.978051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qytdy-0007mg-QO; Fri, 03 Nov 2023 12:51:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627151.978051; Fri, 03 Nov 2023 12: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 1qytdy-0007mZ-Nk; Fri, 03 Nov 2023 12:51:22 +0000
Received: by outflank-mailman (input) for mailman id 627151;
 Fri, 03 Nov 2023 12:51: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=zopV=GQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qytdw-0007mP-SQ
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 12:51:21 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20614.outbound.protection.outlook.com
 [2a01:111:f400:fe16::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae8a94f4-7a47-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 13:51:18 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8269.eurprd04.prod.outlook.com (2603:10a6:102:1c4::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Fri, 3 Nov
 2023 12:51:16 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Fri, 3 Nov 2023
 12:51: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: ae8a94f4-7a47-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nf6JNwdhffJXiaz2pTj7yHVFH6wxq7zweObUpga949c8Sp8CQg4gewWPpgIQGOuwsLdcYgtm0PPZYqMQGQinIrge8hiI1HS6L/umekHjwoXmbfeTx7mGHXg91BC4LQoAOmOuVTUCtTv0Kt9P1ZZj3UuGuyachU3RIBCeCFrog04yW4GS2nvQ9trxY7zy1Q09Hdb0sNmtzJ4PYZ5fSxiDicRu4LMcmAX4wqqfH1vvdsi+0gwF9Snm4Hb6a9tUJcUqVU5P1f9Itv9o5hyEb3RvQ1leSomQ63agD2BwV3fGQBew0c/+DWZr1MdgE4/wKiQI/VY8VSYCDjV+iFbScu282Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qGzGem3z0ZFDtL5rxeh0XSvIPLjEeOCyiB4G39LHwr4=;
 b=c5TOeBaiC1fMovqMrn0uR5mMooFQtaz44BVW4sGC57/Xc8V65hPjacGQyzANG7Uv+Xmq4xkyogOnM99fUfuqOV7g7H14H++yhS1rCq9ucrBOfvD5gVm6Jli3M92eblrLUt5BSvdaNUK3taMX8u7pP0NmLHXaHkOePwtr3vl5uCzX6Op//moiaM2tlLGWQLFHNOHdu0/zWdgPjxQGjk3Qklxl7AStTsd4DiI4RLQmOh5FQj6XaJuRCsDU2YulN8ay5J6ePdgB1VztAcoYx5GYAhm5rkHH1/4NRNXw+A4q6NPqcz9llkJxsNzOsKHDGJYTlevf+zh09Jz0N3hVLjXskA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=qGzGem3z0ZFDtL5rxeh0XSvIPLjEeOCyiB4G39LHwr4=;
 b=fmXMsa+JYcPs9zlEGqQyXRQuMZwahQhZoR7Bof8B6hANi0Ud710G6N+qpVkgoRkIRHd5s3geWEl7wVeseSIDjXsonANsIezqg5cL6jcYteggNjf54ln3r2cNpDEQJxKx/afxJS+8QIfiH0K/aOvCgCG9/rAcA0h9PtU79Uq5nsZBb8vjfUoeehI7Yc8Iye9bEZODgnbps1ArCNyos+29t+kBeZfenYfvAX+tcYVDxKZikigYMrs7cgKBPXBUZ+RjITXTUFntx7HSe05ncAOb2nV/8g/Ijvd9UR3hLF3QAM8uuAFc0v2qIYwPVoIE+GgNZmVwi/SoqWi8Ohv/U09E9g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <869b790e-91c1-f416-585e-2c14eb4a5087@suse.com>
Date: Fri, 3 Nov 2023 13:51:13 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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: <20231031145259.77199-1-roger.pau@citrix.com>
 <e6ec9635-4856-6f3b-88f6-d1baddad4741@suse.com> <ZUTsCjVYXQzJVVJi@macbook>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZUTsCjVYXQzJVVJi@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0083.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9b::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8269:EE_
X-MS-Office365-Filtering-Correlation-Id: 286ce3a4-3d18-48fb-1478-08dbdc6b9115
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NAiHAoJkL5vwXwx1LNBqX98huE5ucuukx3j9TygI1Yu3hvlMfut5v27aII0qgycRyj7GkugHmkbHPpqhsduez37FyAhAACzgFDorN9Vn4vu/pBKOArf/qmeRFthWIoMyLtpNMfMj4palU//FEs0b6n5iy72Y+TqcEe/fURCw6z1CACDovoyJdCck6itluWnEC89IfdO1hFoKvEyEu2q497AIMT/CIASB3TEQBC27c0ChBUrKsmwW3A2Q/vcfMUHIY88+3YLd9fJhEUkQgpE0JSfdbHdE5on02JjlKNyjDilXsD+Sh2prk8YQ2uOQec6Akka2bgXjVKHEezu2Rneh1ZNIdTyC+EoZd0ahRDqLeAeWmRS6UC6Yr9eU0rcWqUrFJGpK3DypjApTq4ifIu/HtCzeMbPTFEx7VpKc93Y1LcttZESNtTwPEto7arsu4IfwbL7/os1Am70eiACVXj1bUKY2eEEvk7RGbJybpQx5qORs+ISCPIcAUAYomJnYsf5/t7oebZKaxP84EnzkjxhQcXXqSyiYhekAMoFLDBDDJ+nV7isA5J8i93Q83v3oKNBi7fLCA8RSZ4dmQxF42TRDm2s8hjmGsKtdfVgG4qf2P9b1lxT4Uo6GQ1tEHGsOPyi2Q7VxG/lTYZBIGyCqPER6MRS+x8KEQjnAU1PA8THDeeLwgzK6lm21SZ3ubTZVu5Ei
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(346002)(136003)(396003)(366004)(230273577357003)(230922051799003)(230173577357003)(186009)(1800799009)(451199024)(64100799003)(86362001)(6666004)(38100700002)(6486002)(6512007)(36756003)(6506007)(478600001)(53546011)(31696002)(2906002)(2616005)(31686004)(6916009)(54906003)(66476007)(66556008)(66946007)(316002)(26005)(5660300002)(8936002)(8676002)(4326008)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bzViVEJPbzNnUWhrNmxYbmJxZ3J3RVRPRHUzdW5vTnFKN1p3RXllTGpoS2lw?=
 =?utf-8?B?R3VyTW1leFY5U241ZGprWVI0WWJXZnY5Rkp0bDhNM0dCZTB4N1F4N3RoQ3JP?=
 =?utf-8?B?TU94cGZkeldNVVRMcmNrczJubnFqNVpDQWZBUlE5WUxUZmJqanBIa0RrNlZ1?=
 =?utf-8?B?WnNWTHlMcXNaanZKRmxhb2IrNzIxNTExVzIzOHJ6NmtjWnZ0SHEwcHY5ZVpm?=
 =?utf-8?B?VWJ6V1dHdlZzSi9iRExKMjNYakNtOWU5OTUrN0VzOGMzU3VCTnJGcVdCR200?=
 =?utf-8?B?RHIzZnQvL2ZxelRHbTFnR0lTcWM5OFlScS9pNmpDdjgrVDFZbDBha2FGNTk3?=
 =?utf-8?B?RmVPNzJyN0N6NTdLTGVrVHI4Nm9HUzAwWnNuVk1jdFUrZkxQUmN4V2dTRGFJ?=
 =?utf-8?B?UkFtWjVTM2JJSi9pR29TRDJYSThuWDEvZW1NN0dPZVRoaVljSGU4TlNLRE1y?=
 =?utf-8?B?QmJneVhYbUp3Zng4SHprdFdMc3hKamdXb2NnVWZnZWNHY3QrYXJSMDI1ZXVt?=
 =?utf-8?B?NDIvWEJzVzhCZ1lKL0ZJWlBpdlVyZlc5VVBHd3FMdlN2S1d6aTZaWDFRR1px?=
 =?utf-8?B?SHVqTEpsV3FzSEQ0UmtYZnphWVFPak51UHo3V0hGMU5RMDQxd3JMT2JZMlRL?=
 =?utf-8?B?aDZObU5XdnVraGZ5V0NORU5waU1ZaG9PUFZ6MnZpcVAzQkdmUG9jc1ZEeVJR?=
 =?utf-8?B?bFE0YXh6ZVJoVVM3Nno3dzNkcXRZYld0VjBnVWFqNjE1ZlNTUDYrdlJMSlpm?=
 =?utf-8?B?UllFaUl0dFJyVTVJdGZmM1dqOXBJU3k0Zy9WVDJBczNaVG5Od0RZaFV6MG9r?=
 =?utf-8?B?ZlJ5Ukh0MEd4V3dTMVo2Z0xLbTNvdVEyZnRKc09DL0xJMktYVlVKaTNOTHdN?=
 =?utf-8?B?UUMwTVhKTDNUOGMvcUswdTRxZ1Z0b2JCN1YzVURvckpTcGZqNTN2VmdHU0kx?=
 =?utf-8?B?NTJuUERjVitwWjdBdGNiT2sraWIvL25udyt0MlhPQ2tOa3BmRGpxQmJVWVhH?=
 =?utf-8?B?ZXRqeDFVOXZ4djBsS2pkSFFvY1hXS3hUaXNrS3ptdkxzOWJNaitpV0ZvWXQr?=
 =?utf-8?B?VktrRzlDUDZJdkJ6Yk5JY0l5VGxRdnhMRndwR1ZoRWRQS2dtQW5WWENkeHhY?=
 =?utf-8?B?SXh5Z1o3bmY2c2loNXF5aURBVzk2Q1hjbTZYWU1JZk05Q1R6OCtWS3BQcGJh?=
 =?utf-8?B?Wk1NMk12MUZCbEdaTWtZZnZwMEdxYXpwUkVsNlRxaDA5VGp1UjBIaEU4TU1n?=
 =?utf-8?B?WUV5dEU3WXA1cG94UVZiRkRIM0tXSmZIT0xXbjRzSVZxdkVvYno0a0ZiOCt3?=
 =?utf-8?B?bCt3MEdqYWNYcHdsblFOa084RFpKWmxnL3kxdEFWZ01iKzdFTU50Q0dZOGdp?=
 =?utf-8?B?S0YxZmwxcTM2Y0NweUxNVURBVkJsdHRVQUNneEVXaUdqTWE2SXk4NXJSNE05?=
 =?utf-8?B?dEhDcU1zU21rY1ZVQTd4YVdJeTFicUZzbFoySFRwRFovc09McHpaRUdLejVq?=
 =?utf-8?B?aVFkTUlhYzhHc2NDUk8wK0Q1WkVKOXFER2RyeDY0TUJrR2FnV1VXMEJnYlBY?=
 =?utf-8?B?N3F5NmhpZ25RSnoremRaaVppTER1Ui9Rclp4eC9Nend3TEV2WWNkaFZVMEtm?=
 =?utf-8?B?elJGK094VVpSL2U1UW9LNEN4eXNrV250U0ZxcXdZOUVBNjdQNCtyT21VRDhM?=
 =?utf-8?B?OU9YMVM3MDZESS9MbEtBVVJKZStSYmlQSmNBSGhoSWc0MElDeDFRRk1Vb1M3?=
 =?utf-8?B?OTJnWExoNUwxMk5BdHVXdnJhSnVoOGh3OXdHTnFldlhkMTR0MXVCSTE3WVVv?=
 =?utf-8?B?Uys4REtISHlQY0VXUkdwcmxQRHZ2NHIxNFVBUVZRUWdXZTFCYWdmSzZoS3Fu?=
 =?utf-8?B?NFp4dWxSMVd4bmxNVjBtanVlRVUrazM0S3JoOS9lcHRpeFJXaEQ1ZVJ1K1dk?=
 =?utf-8?B?WnQrWm9PQmlseTJZbkM2UnZla1poTWI0a21icTBSVXlnaFVkQmhSVUw2SlQr?=
 =?utf-8?B?aDgwRWxQbzIrRWxoVXlHMG12ZW5oejFQSkpNYm5DZ3kvdEM1V3lWaVhhRFpr?=
 =?utf-8?B?QjdWVDcxVTVXQjI0enFqMUNJTS9DL2ViMmNQSnJCS0ZSMlpaLy9lNzhIN0t2?=
 =?utf-8?Q?YbTRPQku84d1eymijHedcnGAF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 286ce3a4-3d18-48fb-1478-08dbdc6b9115
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 12:51:16.0686
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SR4o54AJJA4+NHczirJXax2DWMZ5GmT1TMJP91P64r7/S4q7EO/MQpTETEYFElRiHZal+e5FG/DnyKxNtqETjg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8269

On 03.11.2023 13:48, Roger Pau Monné wrote:
> On Thu, Nov 02, 2023 at 02:38:09PM +0100, Jan Beulich wrote:
>> On 31.10.2023 15:52, Roger Pau Monne wrote:
>>> --- a/xen/arch/x86/genapic/x2apic.c
>>> +++ b/xen/arch/x86/genapic/x2apic.c
>>> @@ -180,6 +180,29 @@ static const struct genapic __initconstrel apic_x2apic_cluster = {
>>>      .send_IPI_self = send_IPI_self_x2apic
>>>  };
>>>  
>>> +/*
>>> + * Mixed x2APIC mode: use physical for external (device) interrupts, and
>>> + * cluster for inter processor interrupts.  Such mode has the benefits of not
>>> + * sharing the vector space with all CPUs on the cluster, while still allowing
>>> + * IPIs to be more efficiently delivered by not having to perform an ICR write
>>> + * for each target CPU.
>>> + */
>>> +static const struct genapic __initconstrel apic_x2apic_mixed = {
>>> +    APIC_INIT("x2apic_mixed", NULL),
>>> +    /*
>>> +     * NB: IPIs use the send_IPI_{mask,self} hooks only, other fields are
>>> +     * exclusively used by external interrupts and hence are set to use
>>> +     * Physical destination mode handlers.
>>> +     */
>>> +    .int_delivery_mode = dest_Fixed,
>>> +    .int_dest_mode = 0 /* physical delivery */,
>>> +    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
>>> +    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
>>> +    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
>>> +    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
>>> +    .send_IPI_self = send_IPI_self_x2apic
>>> +};
>>
>> I'm afraid the comment is still misleading in one respect: The .init_apic_ldr
>> hook is also set to its Clustered mode handler (and validly so). As before my
>> suggestion would be to leverage that we're using dedicated initializers here
>> and have a Physical mode portion and a Clustered mode one, each clarifying in
>> a brief leading comment where/how the handlers are used.
> 
> I've split this as:
> 
> /*
>  * Mixed x2APIC mode: use physical for external (device) interrupts, and
>  * cluster for inter processor interrupts.  Such mode has the benefits of not
>  * sharing the vector space with all CPUs on the cluster, while still allowing
>  * IPIs to be more efficiently delivered by not having to perform an ICR write
>  * for each target CPU.
>  */
> static const struct genapic __initconstrel apic_x2apic_mixed = {
>     APIC_INIT("x2apic_mixed", NULL),
>     /*
>      * The following fields are exclusively used by external interrupts and
>      * hence are set to use Physical destination mode handlers.
>      */
>     .int_delivery_mode = dest_Fixed,
>     .int_dest_mode = 0 /* physical delivery */,
>     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
>     .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
>     /*
>      * The following fields are exclusively used by IPIs and hence are set to
>      * use Cluster Logical destination mode handlers.  Note that init_apic_ldr
>      * is not used by IPIs,

Not quite correct, I think: This is setting up the receive side of the IPIs
(iirc LDR needs to be set for logical delivery mode to be usable). Beyond
that lgtm, fwiw.

Jan

> but the per-CPU fields it initializes are only used
>      * by the IPI hooks.
>      */
>     .init_apic_ldr = init_apic_ldr_x2apic_cluster,
>     .send_IPI_mask = send_IPI_mask_x2apic_cluster,
>     .send_IPI_self = send_IPI_self_x2apic
> };
> 
> Pending whether the usage of some of the fields in connect_bsp_APIC()
> can be removed.
> 
> Thanks, Roger.



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 13:42:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 13:42:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627165.978061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyuQw-0006yK-D2; Fri, 03 Nov 2023 13:41:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627165.978061; Fri, 03 Nov 2023 13: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 1qyuQw-0006yD-AJ; Fri, 03 Nov 2023 13:41:58 +0000
Received: by outflank-mailman (input) for mailman id 627165;
 Fri, 03 Nov 2023 13:41: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=bUT0=GQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qyuQv-0006y7-8a
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 13:41:57 +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 beba7be8-7a4e-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 14:41:52 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4084de32db5so18310745e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 06:41:52 -0700 (PDT)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 y8-20020a5d4708000000b0032d9523de65sm1895028wrq.48.2023.11.03.06.41.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Nov 2023 06:41: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: beba7be8-7a4e-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699018911; x=1699623711; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=KPhnDk3yFtgQalvvXMUI+OvNhiBQCR0sjk+I64vS5I8=;
        b=TfqqpsfnojTTsoIX2eZv8jSIo4sF8qNv7zdX2PG5RE7Njyw/nXCdqpPb9mP26nNTQ3
         Miol2nlRrmZ2JrsausZWy9Ebi2m2iLja9Ou7keewpf75MkmGsWXnKkck5D0j3Zb32Z0X
         4uEoGLgOz55YVrBxnpbiuUv2IpfO3efi9Q/b0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699018911; x=1699623711;
        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:subject:date:message-id:reply-to;
        bh=KPhnDk3yFtgQalvvXMUI+OvNhiBQCR0sjk+I64vS5I8=;
        b=baChidZAxfuDPNaC1Ie6nGQRQ5vsB7gs7HDimQfE+0OaFNSe9IRqi/sJdhhRLJXoyf
         eyJ/CRrTTG07OgsrqEHXRFBbAk/v10nqvBuimOImTnvSteooP+ZaplB/eHIXueT0lTkV
         8rs5YGEHfaJurkdhZ5HZyZAKqVDqCN81t0SFXynPwCcyfsZPtR97Xlew6chT1N6BQ+MS
         ZKFfKKfDuniDhMk2Hjlj2qkXBKTaFO8oCYpf3b11J8MoGDqFNYRHl1aMwF+eOHHLArNw
         2DEPq+MQTxMwcqC0pJzgRmyCVGQWz6QB8MiGQuoWEVbxkepn8JO2mX7cRaFRXMHH3WG0
         GaeQ==
X-Gm-Message-State: AOJu0YxutHcss2DZfzC0T5XdglDCSBQMrG/pwK/ftnfSNZTczLW6UWd7
	yfiuG5lDenPFKfTpY3cietRpqA==
X-Google-Smtp-Source: AGHT+IEIWtX0VDm1xZJU7+w4TbvQJGIlgpVFXzeVSl8Fv5nDUTIYgvrEw+/gVJd4vgqd0eepsN/KuQ==
X-Received: by 2002:adf:d1ca:0:b0:32f:7967:aa4d with SMTP id b10-20020adfd1ca000000b0032f7967aa4dmr15118310wrd.68.1699018911634;
        Fri, 03 Nov 2023 06:41:51 -0700 (PDT)
Date: Fri, 3 Nov 2023 14:41:50 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>,
	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 v2] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZUT4nig3QbIodRwV@macbook>
References: <20231031145259.77199-1-roger.pau@citrix.com>
 <e6ec9635-4856-6f3b-88f6-d1baddad4741@suse.com>
 <ZUTsCjVYXQzJVVJi@macbook>
 <869b790e-91c1-f416-585e-2c14eb4a5087@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <869b790e-91c1-f416-585e-2c14eb4a5087@suse.com>

On Fri, Nov 03, 2023 at 01:51:13PM +0100, Jan Beulich wrote:
> On 03.11.2023 13:48, Roger Pau Monné wrote:
> > On Thu, Nov 02, 2023 at 02:38:09PM +0100, Jan Beulich wrote:
> >> On 31.10.2023 15:52, Roger Pau Monne wrote:
> >>> --- a/xen/arch/x86/genapic/x2apic.c
> >>> +++ b/xen/arch/x86/genapic/x2apic.c
> >>> @@ -180,6 +180,29 @@ static const struct genapic __initconstrel apic_x2apic_cluster = {
> >>>      .send_IPI_self = send_IPI_self_x2apic
> >>>  };
> >>>  
> >>> +/*
> >>> + * Mixed x2APIC mode: use physical for external (device) interrupts, and
> >>> + * cluster for inter processor interrupts.  Such mode has the benefits of not
> >>> + * sharing the vector space with all CPUs on the cluster, while still allowing
> >>> + * IPIs to be more efficiently delivered by not having to perform an ICR write
> >>> + * for each target CPU.
> >>> + */
> >>> +static const struct genapic __initconstrel apic_x2apic_mixed = {
> >>> +    APIC_INIT("x2apic_mixed", NULL),
> >>> +    /*
> >>> +     * NB: IPIs use the send_IPI_{mask,self} hooks only, other fields are
> >>> +     * exclusively used by external interrupts and hence are set to use
> >>> +     * Physical destination mode handlers.
> >>> +     */
> >>> +    .int_delivery_mode = dest_Fixed,
> >>> +    .int_dest_mode = 0 /* physical delivery */,
> >>> +    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
> >>> +    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
> >>> +    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> >>> +    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
> >>> +    .send_IPI_self = send_IPI_self_x2apic
> >>> +};
> >>
> >> I'm afraid the comment is still misleading in one respect: The .init_apic_ldr
> >> hook is also set to its Clustered mode handler (and validly so). As before my
> >> suggestion would be to leverage that we're using dedicated initializers here
> >> and have a Physical mode portion and a Clustered mode one, each clarifying in
> >> a brief leading comment where/how the handlers are used.
> > 
> > I've split this as:
> > 
> > /*
> >  * Mixed x2APIC mode: use physical for external (device) interrupts, and
> >  * cluster for inter processor interrupts.  Such mode has the benefits of not
> >  * sharing the vector space with all CPUs on the cluster, while still allowing
> >  * IPIs to be more efficiently delivered by not having to perform an ICR write
> >  * for each target CPU.
> >  */
> > static const struct genapic __initconstrel apic_x2apic_mixed = {
> >     APIC_INIT("x2apic_mixed", NULL),
> >     /*
> >      * The following fields are exclusively used by external interrupts and
> >      * hence are set to use Physical destination mode handlers.
> >      */
> >     .int_delivery_mode = dest_Fixed,
> >     .int_dest_mode = 0 /* physical delivery */,
> >     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
> >     .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
> >     /*
> >      * The following fields are exclusively used by IPIs and hence are set to
> >      * use Cluster Logical destination mode handlers.  Note that init_apic_ldr
> >      * is not used by IPIs,
> 
> Not quite correct, I think: This is setting up the receive side of the IPIs
> (iirc LDR needs to be set for logical delivery mode to be usable). Beyond
> that lgtm, fwiw.

No, LDR is read-only in x2APIC mode (it's rw in xAPIC mode).
init_apic_ldr_x2apic_cluster() just reads LDR, but doesn't set it.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 14:25:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 14:25:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627176.978071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyv7B-0005JW-Ki; Fri, 03 Nov 2023 14:25:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627176.978071; Fri, 03 Nov 2023 14:25: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 1qyv7B-0005JP-Hr; Fri, 03 Nov 2023 14:25:37 +0000
Received: by outflank-mailman (input) for mailman id 627176;
 Fri, 03 Nov 2023 14: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=zopV=GQ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qyv7A-0005JH-4n
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 14:25:36 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9c0e4a0-7a54-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 15:25:34 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7120.eurprd04.prod.outlook.com (2603:10a6:800:124::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Fri, 3 Nov
 2023 14:25:32 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::d924:b650:a2ad:7b25%3]) with mapi id 15.20.6954.019; Fri, 3 Nov 2023
 14:25: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: d9c0e4a0-7a54-11ee-98d8-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Xa+NptrlU20MtQC6rfkC601ssInUObVffj6tC7iKTi4b21+anX3kjx7CMyvp/Z0WrSj8DC5Cqc5dmCikitJoVzrlNPcUlwMMUSJT5wYybwV+dtERoTzgZ8nunBEvTQ1RozWIN65U9pMMHsNxGyOaOOqzzGS1upSAlBqug2uWfchxTgYBblbp/3dRctBKf7u3/uUyo2w6qOOKEpxIL05J3Mj8AiqcecJrEgBfmUE5d51XUuzZSQmWgQxQXSohcGRg0yn0lNlfOf/MlMxnKQWOovVZHEWKLFUn6udFJGer92rokZUEgajpxWWEMNzSeaSOfG0KULQPuZZzEzWTrRwVxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R3X8e0fu4vthgi4zigQbWNAthBBLrp+q2J+crtzxxaA=;
 b=DOKICPZwZ7w/cScfN8AgMOsXtUwR9uYs+Y3GHcgOQcmyNM43OYGHoPwIo55KtF310JBGsrEEXY75jZoKKgzNA9nL0oa3RgHxGqbSJzTAWiTWipHg6ahtW8/SYNGDCgXsW38ZTEfPLGeNHOEjqht7Xdvcu6FSAc9gGrzkpsJI1A27OJ27m8p/4EnJmT+37RfnWSwAiS35CGAV9e1fHbv8bglnzPHFLlx58mr4oJ9VBIHsXuYZFCb2CelneV07riDjCGtIoCFHdiEy4EHBnbzclVqnyS6MLAuxwYi6yw8jKfPTI/Pr/kZweet1ab1jZPaoW3J65ATp8YgLjlP4de6nTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=R3X8e0fu4vthgi4zigQbWNAthBBLrp+q2J+crtzxxaA=;
 b=rH3RvjsjpPLLetS3RBnPx4BSLYfrsk6pG+BbtXe8eCvLrQgVQrt/injjx/FU1GkzVHCtO9vNP7Vp8NfTz4TNEBS9TIjBCLqwgipaavVcwd+IZ3O1zrwngXIGZJkodx7Jx/P9MS1nVCQAjs1j1XCACWnFYfiAnrkPdDbcG1aVUDguri7axo3goJEDwf7CfNQVO3O/XiXL55v2DKpQACVy8MEuSxPP1oiZcLVLSvkMRU95Lh8cY7dpbe748ANQDtlf7yOiejtiBj6o2UKMzFfFpZFoN0P4ZD6r44aXJXQ+OWRmXkvs56MDrNaGn4RbXaI2EMJ9eFJE0Zz9MvhwSIOx8g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bca91593-f822-3f73-9390-a0be751241e5@suse.com>
Date: Fri, 3 Nov 2023 15:25:29 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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: <20231031145259.77199-1-roger.pau@citrix.com>
 <e6ec9635-4856-6f3b-88f6-d1baddad4741@suse.com> <ZUTsCjVYXQzJVVJi@macbook>
 <869b790e-91c1-f416-585e-2c14eb4a5087@suse.com> <ZUT4nig3QbIodRwV@macbook>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZUT4nig3QbIodRwV@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0094.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7120:EE_
X-MS-Office365-Filtering-Correlation-Id: afb8d5d6-83b4-4bfd-a6ce-08dbdc78bccf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	C+DkslFZZoHh1KYyRw2EYBujSXxIEVA2he6UYLaL79jr2ma59a7Bean2HFXHfIQjHQpZX8oUfii4C2SRI2iPFQ52Ht67tXE9cRsIrNsSEhMqqBM2rV1IiORzIaMT1QrlI4OsVCS5o8qkvzbr6ElHM0GZycsp+h2PHuvZkzQVYbCfDS/8c1tVJqRDKH0KBDSDrsnOcK7uFT/RgbfNerSO5Zw7JJPYddMa52n6gGr93zxdBuwccoZzQ6OdmolUI4qwCPgH6rJIEibyY3ewHJunKfBbwsrW+At5Le0ydLDVNTJH+bocNeAEs7XwrkKiIJHZd46rZKpdwTPMAJjPtlOURPYuZTmEczUZ1ZNU5Hr4YvLbY3cRnuDhUVr4A2ehDh0Qz2ziqpQyZTeIzfSFrfv3cDAKr/a215/SB2ZK1X2+Cf146oLZW1o/OnLnHlcKueM73Scix+plTkCOpphmKoY75kN5uI/oTF+yzl/BvV7Bm6j43BtpHclqUwoVsKsweyJdRbK94lTDyx3r/ctkNIM4dF5e7Rw7H6fwy2kmQASwIWvrHBvahWRvl3wCuFjeVYwOHRBjwFE/jMwBbPXICvUGftnRQo/wTRvPQrl0kR3yMuOuKWxLqFPjJYqSjJ/ZkNXBJf6t57m9gXOGgsnhcg0eZ3pzZKhK/QISsqQQS1C6ZD3wCyNI6BsrOhB0yDPGLsyX
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(136003)(366004)(376002)(396003)(230173577357003)(230273577357003)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(2616005)(26005)(478600001)(6512007)(53546011)(6486002)(6506007)(316002)(66556008)(8936002)(6916009)(5660300002)(6666004)(41300700001)(66946007)(4326008)(54906003)(2906002)(66476007)(8676002)(38100700002)(86362001)(31696002)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YlRreHNHTlk3TytkSjc5N3dOVjJ5WlVIQWpKUDM2c3pvN0gveVowOHlJNE56?=
 =?utf-8?B?b1ZjR1Bwd2JSaGtpZ2FZOEFhWmp4cmp4TkRuTjdmQWIxZ3pRUG5qK2xtSXN3?=
 =?utf-8?B?bHo1R0g5TjFDZTV2L2EzaTBoT2ozU1NrR0lTNUxYc3J0d1NNbTFDUTJHMG4y?=
 =?utf-8?B?QWFJL3dqOHBWbkFEWG5hWmI4UkZTTTVjNEF1NHVlcmlOWEhGSkRhYTZoWXNz?=
 =?utf-8?B?b2QyVTRDUzRxM0RQZmRiWWZxRmFvU1FVSm12VDBoUEZtWm1Vc2NKOUVnT3F0?=
 =?utf-8?B?UzdJL0tPak8vRDllQnc3UDdKMytQQUlycWJXNEZuSGpVdkRUS3ozQXgwWFdT?=
 =?utf-8?B?NXpjUWZvRHBoYlAzUldhR0ZWd20xZEtEZUZwRDczYi91eENLclpxUzVJa04z?=
 =?utf-8?B?WFFPTENONEU4cUZaVDJQSjN3Y1FNbEIwdHhhRTNLMTFkYVBxZndUY2t5QTYv?=
 =?utf-8?B?a255U2RZTUNCUFg5NlZYNXpxTVBjNmVxMmRwdGlkR0t1a0l1Vzd1a1F2K3VK?=
 =?utf-8?B?bVJnYjhuNWxRNU04dWx6a0Q5ZlJBMzJyK1crOVBsc0pWS3JrOW5Eb01nT29G?=
 =?utf-8?B?NThndXNack11UjJXb2dwTHkra01PamVCbEU2QXJhWE40elZuOUJ3TFM2UTVu?=
 =?utf-8?B?c203Qms0YXBBdVlZY3JhbEdNaWhPRVkxMUF3M2h5cER5ZzQ1U1k0d0NKekpQ?=
 =?utf-8?B?bE9iODVpRjFDRXZOVTZEd0F5aWJSTmoyM3JaKy9ETzFZUWVRcWRlZ2ZQMGZ5?=
 =?utf-8?B?M0RWTnRiaFJNSS9TNElQWWxKZmkwQTVEZm9yeWpTTVUxWndTam1IZytjVkQ2?=
 =?utf-8?B?YmY0WlFuYXFBZU1ySlFlaGIrK1ZjeW43Yk1rMFh6alRDMWpMbXRabU1aMGF0?=
 =?utf-8?B?ajFhdHFIN2ZlM2FXOFE4T1F6UVRwQkJ4RWZPbVJPWm45VUpCbVVMNnNTRUtq?=
 =?utf-8?B?RWRwNGM2Q1huN3NYSitHclJNV0FEVUIrZ3FGMk4zclhyRHk0Ylh4dTJRcE9h?=
 =?utf-8?B?dEF5bWdXc0VBTVh4NGZPM1NOMDVZVWFHdkVvWHpRaCt4NjVJSUJORlZHVjBN?=
 =?utf-8?B?aFdPZysvSkk4RU5sZWp2V1Z3ZkJVMEVTMlhMcDRTTmNxamF2WXpBRG96TEpK?=
 =?utf-8?B?M05EOE9VWUd3TzhRYXZTVTBJN2dGcGFVbFpkdWtzWWtnK2NsN2VOWG5yK2lx?=
 =?utf-8?B?RVNqaUJDNU9KMzYxL1FQSXF0VTdsV015Sjd4NlByUHRJWHJLN3p1UFdMbDdK?=
 =?utf-8?B?WXlNZmRaT0VmTW0zdHh5Tkl2TGJxR1lBWDdFUmN4VGNBMjlUM01sMTFvRC9B?=
 =?utf-8?B?K1FZbkZneTlXM2dRSENJQlNiMzFhV1lZOGdCaTBIWGRHL0V6S0EvNDJOc0p4?=
 =?utf-8?B?WjViR0FvbFQ4UW9xZWFwWVp2T05xdW1RWTRvZHhlcXRHVTF4N1R2QlhwNldi?=
 =?utf-8?B?RjYxUWNRa2FWVThraWdXZlU5cXdpRDhzaVJDOUdEV3ZRRWk2TVphVXI1SDh5?=
 =?utf-8?B?bFNzYWtUa05ZeGpoNDlFSWRnZ0hHZkNZK21JS1hzU1FvVlNlVG5kV003SUdr?=
 =?utf-8?B?aVlsbmphMjR3Q2JBMUwvUG9oSm5zVW5vQjlCME0vdlZEVmhOSVdveGZ3VWJX?=
 =?utf-8?B?NXdGOVRxd0hHemh1Wlc5Nk9uS3Zzd1FKMEdxWFA4ZkxZMy9zUlB4OE93Mkl0?=
 =?utf-8?B?TEhWYk9UWUtEbGFocWJPSnJBMHRYZC9LaHVJaGdyMUdENzh3ZTVvUXFmSFMz?=
 =?utf-8?B?bndVZVFpWlhTR1Q5SFlqQ24zOFd2eVJFY0JabWp0UUZvQmREcmlERlVnTUQ1?=
 =?utf-8?B?RFkwRHdESCtvc0dLUmttTWJDbXlydjN3VzhyWURKci9jTlpoN2pBY044blg3?=
 =?utf-8?B?elJCUmJqY2trWVBRR3ZsN1hDQmxlUE9ZMUpoYkk0VkxpeDZvUVhZcnZySEdC?=
 =?utf-8?B?dVcvRXRSbWNFQXNOVU10ZFR5SHVaVGVLYnlnMC9JdVNnNzBuNyt3M29VQVJ1?=
 =?utf-8?B?TVNTeWxFRWE1c0UyMFhmRjJVeDR4V1NrNjF0Z3ZQM1hqTEhGMEg5U1VYVXE2?=
 =?utf-8?B?QmRzcmJHSTZKd1lrT08rTUJ3eU43SVVQWU8vakVsUGRjVFlqMmlqZFA3S0dK?=
 =?utf-8?Q?5XP5H2Ivlu9L6it/3NMt6nb3p?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: afb8d5d6-83b4-4bfd-a6ce-08dbdc78bccf
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 14:25:32.5982
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: frKDA4bCItGEwTO9vNvUFCoOYjKArVX9tpHeb+puZ84DJPV3xfjPfGxZyffEarmEiXVX95Fo3k3aQkstn3NMFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7120

On 03.11.2023 14:41, Roger Pau Monné wrote:
> On Fri, Nov 03, 2023 at 01:51:13PM +0100, Jan Beulich wrote:
>> On 03.11.2023 13:48, Roger Pau Monné wrote:
>>> On Thu, Nov 02, 2023 at 02:38:09PM +0100, Jan Beulich wrote:
>>>> On 31.10.2023 15:52, Roger Pau Monne wrote:
>>>>> --- a/xen/arch/x86/genapic/x2apic.c
>>>>> +++ b/xen/arch/x86/genapic/x2apic.c
>>>>> @@ -180,6 +180,29 @@ static const struct genapic __initconstrel apic_x2apic_cluster = {
>>>>>      .send_IPI_self = send_IPI_self_x2apic
>>>>>  };
>>>>>  
>>>>> +/*
>>>>> + * Mixed x2APIC mode: use physical for external (device) interrupts, and
>>>>> + * cluster for inter processor interrupts.  Such mode has the benefits of not
>>>>> + * sharing the vector space with all CPUs on the cluster, while still allowing
>>>>> + * IPIs to be more efficiently delivered by not having to perform an ICR write
>>>>> + * for each target CPU.
>>>>> + */
>>>>> +static const struct genapic __initconstrel apic_x2apic_mixed = {
>>>>> +    APIC_INIT("x2apic_mixed", NULL),
>>>>> +    /*
>>>>> +     * NB: IPIs use the send_IPI_{mask,self} hooks only, other fields are
>>>>> +     * exclusively used by external interrupts and hence are set to use
>>>>> +     * Physical destination mode handlers.
>>>>> +     */
>>>>> +    .int_delivery_mode = dest_Fixed,
>>>>> +    .int_dest_mode = 0 /* physical delivery */,
>>>>> +    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
>>>>> +    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
>>>>> +    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
>>>>> +    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
>>>>> +    .send_IPI_self = send_IPI_self_x2apic
>>>>> +};
>>>>
>>>> I'm afraid the comment is still misleading in one respect: The .init_apic_ldr
>>>> hook is also set to its Clustered mode handler (and validly so). As before my
>>>> suggestion would be to leverage that we're using dedicated initializers here
>>>> and have a Physical mode portion and a Clustered mode one, each clarifying in
>>>> a brief leading comment where/how the handlers are used.
>>>
>>> I've split this as:
>>>
>>> /*
>>>  * Mixed x2APIC mode: use physical for external (device) interrupts, and
>>>  * cluster for inter processor interrupts.  Such mode has the benefits of not
>>>  * sharing the vector space with all CPUs on the cluster, while still allowing
>>>  * IPIs to be more efficiently delivered by not having to perform an ICR write
>>>  * for each target CPU.
>>>  */
>>> static const struct genapic __initconstrel apic_x2apic_mixed = {
>>>     APIC_INIT("x2apic_mixed", NULL),
>>>     /*
>>>      * The following fields are exclusively used by external interrupts and
>>>      * hence are set to use Physical destination mode handlers.
>>>      */
>>>     .int_delivery_mode = dest_Fixed,
>>>     .int_dest_mode = 0 /* physical delivery */,
>>>     .vector_allocation_cpumask = vector_allocation_cpumask_phys,
>>>     .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
>>>     /*
>>>      * The following fields are exclusively used by IPIs and hence are set to
>>>      * use Cluster Logical destination mode handlers.  Note that init_apic_ldr
>>>      * is not used by IPIs,
>>
>> Not quite correct, I think: This is setting up the receive side of the IPIs
>> (iirc LDR needs to be set for logical delivery mode to be usable). Beyond
>> that lgtm, fwiw.
> 
> No, LDR is read-only in x2APIC mode (it's rw in xAPIC mode).
> init_apic_ldr_x2apic_cluster() just reads LDR, but doesn't set it.

Oh, right, silly me. Perhaps the function could have a better name
(reflecting its purpose, and making more clear that the hook is merely
leveraged for the purpose).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 14:33:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 14:33:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627181.978081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyvF9-0006v1-Jy; Fri, 03 Nov 2023 14:33:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627181.978081; Fri, 03 Nov 2023 14: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 1qyvF9-0006ut-H8; Fri, 03 Nov 2023 14:33:51 +0000
Received: by outflank-mailman (input) for mailman id 627181;
 Fri, 03 Nov 2023 14:33: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 1qyvF7-0006uO-PW; Fri, 03 Nov 2023 14:33: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 1qyvF7-0000g8-Dr; Fri, 03 Nov 2023 14:33: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 1qyvF7-00088E-3s; Fri, 03 Nov 2023 14:33:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyvF7-0001NC-3W; Fri, 03 Nov 2023 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qU3QnPGuYn5gR24xebstO4idEQhcnkoOiVtYj4e0Un4=; b=1dpR667wsv840FkuR1esNNcmFA
	v1AOr5OvdU6a7/sU7gmBKV5GCjAgxm1i081CKbgNVCYHw9HWaRGJBz4A/wSKL5baXq78wdi0pi6V7
	CZuplEdtJoEyo6DxLaFYKI1eceTCMH4Ln2kBiOfjW87SFSi5vzvKgq2a89qG2Aov15V4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183670-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183670: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
X-Osstest-Versions-That:
    xen=ea083911b1dc609506dd715b82f75759f7807c31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Nov 2023 14:33:49 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
baseline version:
 xen                  ea083911b1dc609506dd715b82f75759f7807c31

Last test of basis   183665  2023-11-02 22:00:25 Z    0 days
Testing same since   183670  2023-11-03 11:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Xenia Ragiadakou <xenia.ragiadakou@amd.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   ea083911b1..5ae0a4ad38  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 14:47:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 14:47:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627192.978093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyvSM-00015e-SJ; Fri, 03 Nov 2023 14:47:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627192.978093; Fri, 03 Nov 2023 14:47: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 1qyvSM-00015X-ND; Fri, 03 Nov 2023 14:47:30 +0000
Received: by outflank-mailman (input) for mailman id 627192;
 Fri, 03 Nov 2023 14:47: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=bUT0=GQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qyvSL-00015Q-Vm
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 14:47:30 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e7aee650-7a57-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 15:47:26 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5094727fa67so2795525e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 07:47:26 -0700 (PDT)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 n20-20020a05600c4f9400b00407efbc4361sm2762616wmq.9.2023.11.03.07.47.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Nov 2023 07:47: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: e7aee650-7a57-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699022845; x=1699627645; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=r9Pur53aXX6Bxw6RU57qyCCoNZ2sEuITX/v8qmBWqSI=;
        b=LTiTiY5ie5xV27aRlLRe1iO6WGaiDLQjBjxM5rP4+WRCHbPJXpLtUFARutQx97/DCc
         h8puwFoJNyoK9hzUCKj9hxiw8ikqxXdmBQ+EevF1+lO9W5OLHbradqkm32/4Mz1fvliX
         BnDZ/ja5ZBzi6+mDfZRD75tFQqW03WSNrZeOY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699022845; x=1699627645;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=r9Pur53aXX6Bxw6RU57qyCCoNZ2sEuITX/v8qmBWqSI=;
        b=FTCBp9J+mNL2fj4W/rnXICvr3/Ft+bIbSnEIZM3lL9rPCM8lwBzCjwJWsnSjSmw+wl
         5TKsO6WbcktAYoLiXwiDZfBc1vuETqELFqeF/gkM0IAl7Af3qFa9qlCAHy04khmtkUMH
         pUEgiY4xa5YjIbqwNySMqxveq07fa9Oat4Vo2oRz8xXGA4YBmJgpDms13YIV6Fcu/t0y
         IshaTBM3oCe6ZQ3cyMkMN+c2kvlymSKWsd53/H8eDivrd415+yffHmB5SDSXFJ0P+GsC
         PP6OYrY9vzqcxOrOmCv1LMNiy+h3h+QuH6ZKv/r6yS5/ngNZVJyjr9VaFo451qvKZgBl
         etLg==
X-Gm-Message-State: AOJu0YzRccXsR8dllT1WmbXrKKdp2dPX4wPn1pnX3+uHu8nmByr8jgBp
	B+65pHKPrCGB8XJbUiP4yhDSTdbLlBZ8slxbUXE=
X-Google-Smtp-Source: AGHT+IFRxypOoorYIqtQeJBu2jXYtex7/pCAcyY3jsu4/Dwx6EhK8G3WdpT3jpIhJkNt1SDErNB3mw==
X-Received: by 2002:ac2:47f4:0:b0:507:9784:644d with SMTP id b20-20020ac247f4000000b005079784644dmr15160042lfp.15.1699022845035;
        Fri, 03 Nov 2023 07:47:25 -0700 (PDT)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@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: [PATCH v3] x86/x2apic: introduce a mixed physical/cluster mode
Date: Fri,  3 Nov 2023 15:45:37 +0100
Message-ID: <20231103144537.90914-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current implementation of x2APIC requires to either use Cluster Logical or
Physical mode for all interrupts.  However the selection of Physical vs Logical
is not done at APIC setup, an APIC can be addressed both in Physical or Logical
destination modes concurrently.

Introduce a new x2APIC mode called mixed, which uses Logical Cluster mode for
IPIs, and Physical mode for external interrupts, thus attempting to use the
best method for each interrupt type.

Using Physical mode for external interrupts allows more vectors to be used, and
interrupt balancing to be more accurate.

Using Logical Cluster mode for IPIs allows less accesses to the ICR register
when sending those, as multiple CPUs can be targeted with a single ICR register
write.

A simple test calling flush_tlb_all() 10000 times in a tight loop on a 96 CPU
box gives the following average figures:

Physical mode: 26617931ns
Mixed mode:    23865337ns

So ~10% improvement versus plain Physical mode.  Note that Xen uses Cluster
mode by default, and hence is already using the fastest way for IPI delivery at
the cost of reducing the amount of vectors available system-wide.

Make the newly introduced mode the default one.

Note the printing of the APIC addressing mode done in connect_bsp_APIC() has
been removed, as with the newly introduced mixed mode this would require more
fine grained printing, or else would be incorrect.  The addressing mode can
already be derived from the APIC driver in use, which is printed by different
helpers.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - Split comment regarding usage of genapic fields.
 - Remove the printing of the APIC addressing mode in connect_bsp_APIC().

Changes since v1:
 - Add change log entry.
 - Fix indentation and usage of tristate in Kconfig.
 - Adjust comment regarding hooks used by external interrupts in
   apic_x2apic_mixed.
---
 CHANGELOG.md                      |  2 +
 docs/misc/xen-command-line.pandoc | 12 ++++
 xen/arch/x86/Kconfig              | 35 +++++++++--
 xen/arch/x86/apic.c               |  6 +-
 xen/arch/x86/genapic/x2apic.c     | 96 +++++++++++++++++++++++--------
 5 files changed, 116 insertions(+), 35 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b184dde8b15f..80deba5d2550 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ### Changed
 
 ### Added
+ - On x86 introduce a new x2APIC driver that uses Cluster Logical addressing
+   mode for IPIs and Physical addressing mode for external interrupts.
 
 ### Removed
 
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 9a19a04157cb..8e65f8bd18bf 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2804,6 +2804,15 @@ the watchdog.
 
 Permit use of x2apic setup for SMP environments.
 
+### x2apic-mode (x86)
+> `= physical | cluster | mixed`
+
+> Default: `physical` if **FADT** mandates physical mode, otherwise set at
+>          build time by CONFIG_X2APIC_{PHYSICAL,LOGICAL,MIXED}.
+
+In the case that x2apic is in use, this option switches between modes to
+address APICs in the system as interrupt destinations.
+
 ### x2apic_phys (x86)
 > `= <boolean>`
 
@@ -2814,6 +2823,9 @@ 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.
 
+**WARNING: `x2apic_phys` is deprecated and superseded by `x2apic-mode`.
+The latter takes precedence if both are set.**
+
 ### xenheap_megabytes (arm32)
 > `= <size>`
 
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index eac77573bd75..cd9286f295e5 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -228,11 +228,18 @@ config XEN_ALIGN_2M
 
 endchoice
 
-config X2APIC_PHYSICAL
-	bool "x2APIC Physical Destination mode"
+choice
+	prompt "x2APIC Destination mode"
+	default X2APIC_MIXED
 	help
-	  Use x2APIC Physical Destination mode by default when available.
+	  Select APIC addressing when x2APIC is enabled.
+
+	  The default mode is mixed which should provide the best aspects
+	  of both physical and cluster modes.
 
+config X2APIC_PHYSICAL
+	bool "Physical Destination mode"
+	help
 	  When using this mode APICs are addressed using the Physical
 	  Destination mode, which allows using all dynamic vectors on each
 	  CPU independently.
@@ -242,9 +249,27 @@ config X2APIC_PHYSICAL
 	  destination inter processor interrupts (IPIs) slightly slower than
 	  Logical Destination mode.
 
-	  The mode when this option is not selected is Logical Destination.
+config X2APIC_CLUSTER
+	bool "Cluster Destination mode"
+	help
+	  When using this mode APICs are addressed using the Cluster Logical
+	  Destination mode.
+
+	  Cluster Destination has the benefit of sending IPIs faster since
+	  multiple APICs can be targeted as destinations of a single IPI.
+	  However the vector space is shared between all CPUs on the cluster,
+	  and hence using this mode reduces the number of available vectors
+	  when compared to Physical mode.
 
-	  If unsure, say N.
+config X2APIC_MIXED
+	bool "Mixed Destination mode"
+	help
+	  When using this mode APICs are addressed using the Cluster Logical
+	  Destination mode for IPIs and Physical mode for external interrupts.
+
+	  Should provide the best of both modes.
+
+endchoice
 
 config GUEST
 	bool
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index f1264ce7ed1e..6acdd0ec1468 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -229,11 +229,7 @@ void __init connect_bsp_APIC(void)
         outb(0x01, 0x23);
     }
 
-    printk("Enabling APIC mode:  %s.  Using %d I/O APICs\n",
-           !INT_DEST_MODE ? "Physical"
-                          : init_apic_ldr == init_apic_ldr_flat ? "Flat"
-                                                                : "Clustered",
-           nr_ioapics);
+    printk("Enabling APIC mode.  Using %d I/O APICs\n", nr_ioapics);
     enable_apic_mode();
 }
 
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index 707deef98c27..875952adc42d 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -180,6 +180,34 @@ static const struct genapic __initconstrel apic_x2apic_cluster = {
     .send_IPI_self = send_IPI_self_x2apic
 };
 
+/*
+ * Mixed x2APIC mode: use physical for external (device) interrupts, and
+ * cluster for inter processor interrupts.  Such mode has the benefits of not
+ * sharing the vector space with all CPUs on the cluster, while still allowing
+ * IPIs to be more efficiently delivered by not having to perform an ICR write
+ * for each target CPU.
+ */
+static const struct genapic __initconstrel apic_x2apic_mixed = {
+    APIC_INIT("x2apic_mixed", NULL),
+    /*
+     * The following fields are exclusively used by external interrupts and
+     * hence are set to use Physical destination mode handlers.
+     */
+    .int_delivery_mode = dest_Fixed,
+    .int_dest_mode = 0 /* physical delivery */,
+    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
+    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
+    /*
+     * The following fields are exclusively used by IPIs and hence are set to
+     * use Cluster Logical destination mode handlers.  Note that init_apic_ldr
+     * is not used by IPIs, but the per-CPU fields it initializes are only used
+     * by the IPI hooks.
+     */
+    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
+    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
+    .send_IPI_self = send_IPI_self_x2apic
+};
+
 static int cf_check update_clusterinfo(
     struct notifier_block *nfb, unsigned long action, void *hcpu)
 {
@@ -220,38 +248,56 @@ static struct notifier_block x2apic_cpu_nfb = {
 static int8_t __initdata x2apic_phys = -1;
 boolean_param("x2apic_phys", x2apic_phys);
 
+enum {
+   unset, physical, cluster, mixed
+} static __initdata x2apic_mode = unset;
+
+static int __init parse_x2apic_mode(const char *s)
+{
+    if ( !cmdline_strcmp(s, "physical") )
+        x2apic_mode = physical;
+    else if ( !cmdline_strcmp(s, "cluster") )
+        x2apic_mode = cluster;
+    else if ( !cmdline_strcmp(s, "mixed") )
+        x2apic_mode = mixed;
+    else
+        return EINVAL;
+
+    return 0;
+}
+custom_param("x2apic-mode", parse_x2apic_mode);
+
 const struct genapic *__init apic_x2apic_probe(void)
 {
-    if ( x2apic_phys < 0 )
+    /* x2apic-mode option has preference over x2apic_phys. */
+    if ( x2apic_phys >= 0 && x2apic_mode == unset )
+        x2apic_mode = x2apic_phys ? physical : cluster;
+
+    if ( x2apic_mode == unset )
     {
-        /*
-         * Force physical mode if there's no (full) interrupt remapping support:
-         * The ID in clustered mode requires a 32 bit destination field due to
-         * the usage of the high 16 bits to hold the cluster ID.
-         */
-        x2apic_phys = iommu_intremap != iommu_intremap_full ||
-                      (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
-                      IS_ENABLED(CONFIG_X2APIC_PHYSICAL);
-    }
-    else if ( !x2apic_phys )
-        switch ( iommu_intremap )
+        if ( acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL )
         {
-        case iommu_intremap_off:
-        case iommu_intremap_restricted:
-            printk("WARNING: x2APIC cluster mode is not supported %s interrupt remapping -"
-                   " forcing phys mode\n",
-                   iommu_intremap == iommu_intremap_off ? "without"
-                                                        : "with restricted");
-            x2apic_phys = true;
-            break;
-
-        case iommu_intremap_full:
-            break;
+            printk(XENLOG_INFO "ACPI FADT forcing x2APIC physical mode\n");
+            x2apic_mode = physical;
         }
+        else
+            x2apic_mode = IS_ENABLED(CONFIG_X2APIC_MIXED) ? mixed
+                          : (IS_ENABLED(CONFIG_X2APIC_PHYSICAL) ? physical
+                                                                : cluster);
+    }
 
-    if ( x2apic_phys )
+    if ( x2apic_mode == physical )
         return &apic_x2apic_phys;
 
+    if ( x2apic_mode == cluster && iommu_intremap != iommu_intremap_full )
+    {
+        printk("WARNING: x2APIC cluster mode is not supported %s interrupt remapping -"
+               " forcing mixed mode\n",
+               iommu_intremap == iommu_intremap_off ? "without"
+                                                    : "with restricted");
+        x2apic_mode = mixed;
+    }
+
     if ( !this_cpu(cluster_cpus) )
     {
         update_clusterinfo(NULL, CPU_UP_PREPARE,
@@ -260,7 +306,7 @@ const struct genapic *__init apic_x2apic_probe(void)
         register_cpu_notifier(&x2apic_cpu_nfb);
     }
 
-    return &apic_x2apic_cluster;
+    return x2apic_mode == cluster ? &apic_x2apic_cluster : &apic_x2apic_mixed;
 }
 
 void __init check_x2apic_preenabled(void)
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 14:50:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 14:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627195.978102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyvVV-0002UD-8c; Fri, 03 Nov 2023 14:50:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627195.978102; Fri, 03 Nov 2023 14:50: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 1qyvVV-0002U6-5f; Fri, 03 Nov 2023 14:50:45 +0000
Received: by outflank-mailman (input) for mailman id 627195;
 Fri, 03 Nov 2023 14:50: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=ozhd=GQ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qyvVT-0002Ty-QN
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 14:50:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c484d21-7a58-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 15:50:42 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 0E91A4EE0744;
 Fri,  3 Nov 2023 15:50:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c484d21-7a58-11ee-98d8-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH][for-4.19 v6] xen: Add deviations for MISRA C:2012 Rule 7.1
Date: Fri,  3 Nov 2023 15:50:36 +0100
Message-Id: <3646e75ebfc8b78d44578e3303bfa1660e0b684b.1699022991.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As specified in rules.rst, these constants can be used
in the code.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- replace some SAF deviations with configurations
Changes in v3:
- refine configurations and justifications
Changes in v4:
- updated deviation record comment.
Changes in v5:
- use octal-ok instead of keying the deviation to the file.
Changes in v6:
- use octal-ok everywhere; remove SAF-2-safe
---
 .../eclair_analysis/ECLAIR/deviations.ecl     |  7 ++--
 docs/misra/deviations.rst                     |  6 +++
 xen/arch/x86/hvm/svm/emulate.c                |  6 +--
 xen/arch/x86/hvm/svm/svm.h                    | 38 +++++++++----------
 xen/common/inflate.c                          |  4 +-
 5 files changed, 33 insertions(+), 28 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index fa56e5c00a27..fabbf9d66330 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -85,10 +85,9 @@ conform to the directive."
 # Series 7.
 #
 
--doc_begin="Usage of the following constants is safe, since they are given as-is
-in the inflate algorithm specification and there is therefore no risk of them
-being interpreted as decimal constants."
--config=MC3R1.R7.1,literals={safe, "^0(007|37|070|213|236|300|321|330|331|332|333|334|335|337|371)$"}
+-doc_begin="It is safe to use certain octal constants the way they are defined
+in specifications, manuals, and algorithm descriptions."
+-config=MC3R1.R7.1,reports+={safe, "any_area(any_loc(any_exp(text(^.*octal-ok.*$))))"}
 -doc_end
 
 -doc_begin="Violations in files that maintainers have asked to not modify in the
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 8511a189253b..3a214d66eb37 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -90,6 +90,12 @@ Deviations related to MISRA C:2012 Rules:
          - __emulate_2op and __emulate_2op_nobyte
          - read_debugreg and write_debugreg
 
+   * - R7.1
+     - It is safe to use certain octal constants the way they are defined
+       in specifications, manuals, and algorithm descriptions. Such places
+       are marked safe with a /\* octal-ok \*/ in-code comment.
+     - Tagged as `safe` for ECLAIR.
+
    * - R7.2
      - Violations caused by __HYPERVISOR_VIRT_START are related to the
        particular use of it done in xen_mk_ulong.
diff --git a/xen/arch/x86/hvm/svm/emulate.c b/xen/arch/x86/hvm/svm/emulate.c
index aa2c61c433b3..93ac1d3435f9 100644
--- a/xen/arch/x86/hvm/svm/emulate.c
+++ b/xen/arch/x86/hvm/svm/emulate.c
@@ -90,9 +90,9 @@ unsigned int svm_get_insn_len(struct vcpu *v, unsigned int instr_enc)
         if ( !instr_modrm )
             return emul_len;
 
-        if ( modrm_mod       == MASK_EXTR(instr_modrm, 0300) &&
-             (modrm_reg & 7) == MASK_EXTR(instr_modrm, 0070) &&
-             (modrm_rm  & 7) == MASK_EXTR(instr_modrm, 0007) )
+        if ( modrm_mod       == MASK_EXTR(instr_modrm, 0300) && /* octal-ok */
+             (modrm_reg & 7) == MASK_EXTR(instr_modrm, 0070) && /* octal-ok */
+             (modrm_rm  & 7) == MASK_EXTR(instr_modrm, 0007) )  /* octal-ok */
             return emul_len;
     }
 
diff --git a/xen/arch/x86/hvm/svm/svm.h b/xen/arch/x86/hvm/svm/svm.h
index d2a781fc3fb5..8dbf37ff4961 100644
--- a/xen/arch/x86/hvm/svm/svm.h
+++ b/xen/arch/x86/hvm/svm/svm.h
@@ -53,25 +53,25 @@ static inline void svm_invlpga(unsigned long linear, uint32_t asid)
  */
 #define INSTR_ENC(opc, modrm) (((opc) << 8) | (modrm))
 
-#define INSTR_PAUSE       INSTR_ENC(X86EMUL_OPC_F3(0, 0x90), 0)
-#define INSTR_INT3        INSTR_ENC(X86EMUL_OPC(   0, 0xcc), 0)
-#define INSTR_ICEBP       INSTR_ENC(X86EMUL_OPC(   0, 0xf1), 0)
-#define INSTR_HLT         INSTR_ENC(X86EMUL_OPC(   0, 0xf4), 0)
-#define INSTR_XSETBV      INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0321)
-#define INSTR_VMRUN       INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0330)
-#define INSTR_VMCALL      INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0331)
-#define INSTR_VMLOAD      INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0332)
-#define INSTR_VMSAVE      INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0333)
-#define INSTR_STGI        INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0334)
-#define INSTR_CLGI        INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0335)
-#define INSTR_INVLPGA     INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0337)
-#define INSTR_RDTSCP      INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0371)
-#define INSTR_INVD        INSTR_ENC(X86EMUL_OPC(0x0f, 0x08), 0)
-#define INSTR_WBINVD      INSTR_ENC(X86EMUL_OPC(0x0f, 0x09), 0)
-#define INSTR_WRMSR       INSTR_ENC(X86EMUL_OPC(0x0f, 0x30), 0)
-#define INSTR_RDTSC       INSTR_ENC(X86EMUL_OPC(0x0f, 0x31), 0)
-#define INSTR_RDMSR       INSTR_ENC(X86EMUL_OPC(0x0f, 0x32), 0)
-#define INSTR_CPUID       INSTR_ENC(X86EMUL_OPC(0x0f, 0xa2), 0)
+#define INSTR_PAUSE      INSTR_ENC(X86EMUL_OPC_F3(0, 0x90), 0)
+#define INSTR_INT3       INSTR_ENC(X86EMUL_OPC(   0, 0xcc), 0)
+#define INSTR_ICEBP      INSTR_ENC(X86EMUL_OPC(   0, 0xf1), 0)
+#define INSTR_HLT        INSTR_ENC(X86EMUL_OPC(   0, 0xf4), 0)
+#define INSTR_XSETBV     INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0321) /* octal-ok */
+#define INSTR_VMRUN      INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0330) /* octal-ok */
+#define INSTR_VMCALL     INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0331) /* octal-ok */
+#define INSTR_VMLOAD     INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0332) /* octal-ok */
+#define INSTR_VMSAVE     INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0333) /* octal-ok */
+#define INSTR_STGI       INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0334) /* octal-ok */
+#define INSTR_CLGI       INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0335) /* octal-ok */
+#define INSTR_INVLPGA    INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0337) /* octal-ok */
+#define INSTR_RDTSCP     INSTR_ENC(X86EMUL_OPC(0x0f, 0x01), 0371) /* octal-ok */
+#define INSTR_INVD       INSTR_ENC(X86EMUL_OPC(0x0f, 0x08), 0)
+#define INSTR_WBINVD     INSTR_ENC(X86EMUL_OPC(0x0f, 0x09), 0)
+#define INSTR_WRMSR      INSTR_ENC(X86EMUL_OPC(0x0f, 0x30), 0)
+#define INSTR_RDTSC      INSTR_ENC(X86EMUL_OPC(0x0f, 0x31), 0)
+#define INSTR_RDMSR      INSTR_ENC(X86EMUL_OPC(0x0f, 0x32), 0)
+#define INSTR_CPUID      INSTR_ENC(X86EMUL_OPC(0x0f, 0xa2), 0)
 
 unsigned int svm_get_insn_len(struct vcpu *v, unsigned int instr_enc);
 unsigned int svm_get_task_switch_insn_len(void);
diff --git a/xen/common/inflate.c b/xen/common/inflate.c
index 8fa4b96d12a3..58f263d9e852 100644
--- a/xen/common/inflate.c
+++ b/xen/common/inflate.c
@@ -1201,8 +1201,8 @@ static int __init gunzip(void)
     magic[1] = NEXTBYTE();
     method   = NEXTBYTE();
 
-    if (magic[0] != 037 ||
-        ((magic[1] != 0213) && (magic[1] != 0236))) {
+    if (magic[0] != 037 ||                            /* octal-ok */
+        ((magic[1] != 0213) && (magic[1] != 0236))) { /* octal-ok */
         error("bad gzip magic numbers");
         return -1;
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 15:10:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 15:10:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627204.978111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyvoV-0005xe-QL; Fri, 03 Nov 2023 15:10:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627204.978111; Fri, 03 Nov 2023 15:10: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 1qyvoV-0005xX-NK; Fri, 03 Nov 2023 15:10:23 +0000
Received: by outflank-mailman (input) for mailman id 627204;
 Fri, 03 Nov 2023 15:10: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=va+T=GQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qyvoU-0005xR-Hd
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 15:10:22 +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 1a708aea-7a5b-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 16:10:20 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40859c464daso16101485e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 08:10:20 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 bg13-20020a05600c3c8d00b0040644e699a0sm2777734wmb.45.2023.11.03.08.10.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Nov 2023 08:10: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: 1a708aea-7a5b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699024219; x=1699629019; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=L7xL0JHxy48XbKJOsjFmJ5Xt0LCUmhYdcJs/vX5UpwE=;
        b=ZO6tfBp9OKaePYeiG6h9PT6o4PT5k4lqSuQFycCWklqNLvi3r4/17veCX15mGT9zdB
         Z15Ve4rBTezCA8kn7e1xkIy2W0SRsEQCpK1j/Vvv3VSkEimTKzwwX6jp8t1F99GSec4/
         kfkyFMxiv8D2ipiCtqXI265ULjuI8wi9BH4wA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699024219; x=1699629019;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=L7xL0JHxy48XbKJOsjFmJ5Xt0LCUmhYdcJs/vX5UpwE=;
        b=Nep1BKYL9utYLTBUdFl2Ldadg8/dwh0YaFrmUoY2OEEhZqTymCX8+1NZ6zQVBEZ2Bi
         Z+MPkO4lPioshszwCcHF7SfQ/eNyAYHsyU9qUBy3cQpD1zdbdc0FDbmV69suThKKbKri
         70pYM3/Jg3AZH6y2j8ODcTepCHmF1+fI4THkrAVBTnJATphTAwiN0VSwADI0gqvz5p4i
         n4BBuSMT/6JtYHy8P/a9yrNNH2zMp08HTO4vRdQUv+6yylFi1UfCiP1jTRml0M1zdBrA
         k/L6w+pMmR42qIM+LqnHq0ajpV442HgJc1SeUqPhhdi+pH/gq1CbcXYxJAlTUO4PzAoX
         x0kw==
X-Gm-Message-State: AOJu0Yz0Xstur8vCLnfDVfy7RKIBhNdPWTPPRyjJDo0iKQmDLbDi//Q5
	je+BQTDISlbC3+ZrSQ0TqCSewA==
X-Google-Smtp-Source: AGHT+IE0lqnJco/5hh8ZwGVR9ztCQwr6fxuwBDfLY6LMZjSdDjBoU/V/2YOcccOUtcEOfLIsWUftRA==
X-Received: by 2002:a05:600c:a01:b0:409:5bd2:aa08 with SMTP id z1-20020a05600c0a0100b004095bd2aa08mr6621356wmp.11.1699024219242;
        Fri, 03 Nov 2023 08:10:19 -0700 (PDT)
Message-ID: <93fc77ad-8696-4d83-b916-e47f883ac366@citrix.com>
Date: Fri, 3 Nov 2023 15:10:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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: <20231103144537.90914-1-roger.pau@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231103144537.90914-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/11/2023 2:45 pm, Roger Pau Monne wrote:
> The current implementation of x2APIC requires to either use Cluster Logical or

I'd suggest starting with "Xen's current ..." to make it clear that this
is our logic, not a property of x2APIC itself.

> Physical mode for all interrupts.  However the selection of Physical vs Logical
> is not done at APIC setup, an APIC can be addressed both in Physical or Logical
> destination modes concurrently.
>
> Introduce a new x2APIC mode called mixed, which uses Logical Cluster mode for
> IPIs, and Physical mode for external interrupts, thus attempting to use the
> best method for each interrupt type.
>
> Using Physical mode for external interrupts allows more vectors to be used, and
> interrupt balancing to be more accurate.
>
> Using Logical Cluster mode for IPIs allows less accesses to the ICR register

s/less/fewer/

> when sending those, as multiple CPUs can be targeted with a single ICR register
> write.
>
> A simple test calling flush_tlb_all() 10000 times in a tight loop on a 96 CPU
> box gives the following average figures:
>
> Physical mode: 26617931ns
> Mixed mode:    23865337ns
>
> So ~10% improvement versus plain Physical mode.  Note that Xen uses Cluster
> mode by default, and hence is already using the fastest way for IPI delivery at
> the cost of reducing the amount of vectors available system-wide.

96 looks suspiciously like an Intel number.  In nothing else, you ought
to say which CPU is it, because microarchitecture matters.  By any
chance can we try this on one of the Bergamos, to give us a datapoint at
512?

As far as the stats go, it would be helpful to give a number for Cluster
mode too, because if it's different from Mixed mode (in this test), then
it shows an error in our reasoning.

> Make the newly introduced mode the default one.
>
> Note the printing of the APIC addressing mode done in connect_bsp_APIC() has
> been removed, as with the newly introduced mixed mode this would require more
> fine grained printing, or else would be incorrect.  The addressing mode can
> already be derived from the APIC driver in use, which is printed by different
> helpers.
>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Thankyou for doing this.  It's far less invasive than I was fearing.

One real bug (which Gitlab will block on), one other suspected bug that
probably nothing will notice. Minor notes otherwise.

> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index b184dde8b15f..80deba5d2550 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -9,6 +9,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>  ### Changed
>  
>  ### Added
> + - On x86 introduce a new x2APIC driver that uses Cluster Logical addressing
> +   mode for IPIs and Physical addressing mode for external interrupts.

Could I request that you copy the structure of 4.18 post-reformat, in
the hope that I don't have to repeat that patch for 4.19.

Something like

 - On x86:
   - Introduce a new ...

> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> index eac77573bd75..cd9286f295e5 100644
> --- a/xen/arch/x86/Kconfig
> +++ b/xen/arch/x86/Kconfig
> @@ -228,11 +228,18 @@ config XEN_ALIGN_2M
>  
>  endchoice
>  
> -config X2APIC_PHYSICAL
> -	bool "x2APIC Physical Destination mode"
> +choice
> +	prompt "x2APIC Destination mode"

"x2APIC Driver default" is going to be more meaningful to a non-expert
reading this menu entry, IMO.

> diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
> index 707deef98c27..875952adc42d 100644
> --- a/xen/arch/x86/genapic/x2apic.c
> +++ b/xen/arch/x86/genapic/x2apic.c
> @@ -180,6 +180,34 @@ static const struct genapic __initconstrel apic_x2apic_cluster = {
>      .send_IPI_self = send_IPI_self_x2apic
>  };
>  
> +/*
> + * Mixed x2APIC mode: use physical for external (device) interrupts, and
> + * cluster for inter processor interrupts.  Such mode has the benefits of not
> + * sharing the vector space with all CPUs on the cluster, while still allowing
> + * IPIs to be more efficiently delivered by not having to perform an ICR write
> + * for each target CPU.
> + */
> +static const struct genapic __initconstrel apic_x2apic_mixed = {
> +    APIC_INIT("x2apic_mixed", NULL),

Newline here please.

> +    /*
> +     * The following fields are exclusively used by external interrupts and
> +     * hence are set to use Physical destination mode handlers.
> +     */
> +    .int_delivery_mode = dest_Fixed,
> +    .int_dest_mode = 0 /* physical delivery */,
> +    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
> +    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,

And here.

> +    /*
> +     * The following fields are exclusively used by IPIs and hence are set to
> +     * use Cluster Logical destination mode handlers.  Note that init_apic_ldr
> +     * is not used by IPIs, but the per-CPU fields it initializes are only used
> +     * by the IPI hooks.
> +     */
> +    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
> +    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
> +    .send_IPI_self = send_IPI_self_x2apic

Trailing comma please.

> +};
> +
>  static int cf_check update_clusterinfo(
>      struct notifier_block *nfb, unsigned long action, void *hcpu)
>  {
> @@ -220,38 +248,56 @@ static struct notifier_block x2apic_cpu_nfb = {
>  static int8_t __initdata x2apic_phys = -1;
>  boolean_param("x2apic_phys", x2apic_phys);
>  
> +enum {
> +   unset, physical, cluster, mixed
> +} static __initdata x2apic_mode = unset;
> +
> +static int __init parse_x2apic_mode(const char *s)

cf_check

> +{
> +    if ( !cmdline_strcmp(s, "physical") )
> +        x2apic_mode = physical;
> +    else if ( !cmdline_strcmp(s, "cluster") )
> +        x2apic_mode = cluster;
> +    else if ( !cmdline_strcmp(s, "mixed") )
> +        x2apic_mode = mixed;
> +    else
> +        return EINVAL;

-EINVAL ?

> +
> +    return 0;
> +}
> +custom_param("x2apic-mode", parse_x2apic_mode);
> +
>  const struct genapic *__init apic_x2apic_probe(void)
>  {
> -    if ( x2apic_phys < 0 )
> +    /* x2apic-mode option has preference over x2apic_phys. */
> +    if ( x2apic_phys >= 0 && x2apic_mode == unset )
> +        x2apic_mode = x2apic_phys ? physical : cluster;

I know this is just a rearrangement, but IMO it's clearer to follow as:

/* Honour the legacy cmdline setting if it's the only one provided. */
if (  x2apic_mode == unset && x2apic_phys >= 0 )
    ...

There are too many x2apic's in the first comment to read what's going on
at a glance.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 15:13:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 15:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627208.978122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyvrc-0006oL-DN; Fri, 03 Nov 2023 15:13:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627208.978122; Fri, 03 Nov 2023 15:13: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 1qyvrc-0006oE-A3; Fri, 03 Nov 2023 15:13:36 +0000
Received: by outflank-mailman (input) for mailman id 627208;
 Fri, 03 Nov 2023 15:13: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=wEjK=GQ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qyvrb-0006o8-CO
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 15:13:35 +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 8dae3429-7a5b-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 16:13:33 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-5230a22cfd1so3647174a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 08:13: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: 8dae3429-7a5b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699024413; x=1699629213; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wjC1EiTM5mmUDJ0CTRFxFLf4Utwun6btGt4CiPlS7f8=;
        b=B225BN6V7MczYAQy2vWPUMv111hLYLqlEgq1rq/03mVqhmhq6t5INxRcXXCEaL4Fct
         0wECZ67RBUf4W2Q8+UzURl1rHfAu+tY3P9P0z6fbnposBbbF/eZHqMjNScIZXb8frlhV
         3ylGiHSHA575ojO0jcPmJ8Tghoa88hh5+7t8L2DkGaS0dIVtYBD3SnRqLbDXDP+JPIeL
         SAWLN9FEsVSw84ar+R+0YRk4Bvu4rdyu269Y8i4TAVgBM+vj4q10ZOnJSYb0lly3t4Ld
         9BAPh2QsMIPsRTJYORTJdKb8saag+yhiM0dATSz2ZW8GfsgpTffonZ/pmuF6Y2dRuYV2
         qHYA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699024413; x=1699629213;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wjC1EiTM5mmUDJ0CTRFxFLf4Utwun6btGt4CiPlS7f8=;
        b=haMtg7ye76qT2AN84azzBvYXOlEdhWKmV1jOpjH8zo/+npsXJkztU1w+teMj/Phaxi
         JVtkonfIY3kwO3XbudQ0mMVzlfkPcWo1cOTv8EFyUF6X6/BHIzO+3Yx7T9Gmw51cW1Po
         CFcj1VL12VAdSQZC0FyLGa87m+EUpuue+lIfBYKKOrsbzY3RLUl+oOicMi0vCbCuaGxi
         Q/VBVRh8+vAI/4lTjxCP3pnvtKuybgLD+l6UWknT59V2KKxslHosD/INj8e89po00m5w
         DUvKBrHqoX8rSPPIOQK4wnTcoSx+0BNDndxs0tu4Dl/IldJIKaKVy9g5QtX327A1UxOP
         s74w==
X-Gm-Message-State: AOJu0YwQNuqYyUlGXycilJYJuLBorFahuOt/Mq+qFOfwq6oO/XfJ3AZE
	HbsMnbUvxxrHSC+KkvDDKcASxVRYzrtETPwTJ3M=
X-Google-Smtp-Source: AGHT+IHjnyvdA5GbxMPI8eLuRWrSAUxPlzFPpotTBUVT1/BpY2EvW5qG4arPyi4lgZNcuZPUzosVm3tgj92qNdAztBs=
X-Received: by 2002:a50:9b41:0:b0:543:50cd:3f3d with SMTP id
 a1-20020a509b41000000b0054350cd3f3dmr11041759edj.16.1699024412492; Fri, 03
 Nov 2023 08:13:32 -0700 (PDT)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-8-jgross@suse.com>
In-Reply-To: <20231101093325.30302-8-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Fri, 3 Nov 2023 11:13:20 -0400
Message-ID: <CAKf6xptypy5bnkwofJ_e7qHickAaR-qhMsHtwM-r7Pt2jBvvBQ@mail.gmail.com>
Subject: Re: [PATCH 07/29] tools/xenlogd: add 9pfs attach request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:54=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the attach request of the 9pfs protocol. This introduces the "fid"
> scheme of the 9pfs protocol.
>
> As this will be needed later, use a dedicated memory allocation
> function in alloc_fid().
>
> For filling the qid data take the approach from the qemu 9pfs backend
> implementation.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/xenlogd/io.c      | 128 ++++++++++++++++++++++++++++++++++++++++
>  tools/xenlogd/xenlogd.c |   1 +
>  tools/xenlogd/xenlogd.h |  11 ++++
>  3 files changed, 140 insertions(+)
>
> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> index f35520018f..fa825c9f39 100644
> --- a/tools/xenlogd/io.c
> +++ b/tools/xenlogd/io.c

> +static struct p9_fid *alloc_fid_mem(device *device, unsigned int fid,
> +                                    const char *path)
> +{
> +    struct p9_fid *fidp;
> +    size_t pathlen;
> +
> +    pathlen =3D strlen(device->host_path) + strlen(path) + 1;
> +    fidp =3D calloc(sizeof(*fidp) + pathlen, 1);
> +    if ( !fidp )
> +        return NULL;
> +
> +    fidp->fid =3D fid;
> +    snprintf(fidp->path, pathlen, "%s%s", device->host_path, path);

check_host_path() should be enhanced to ensure host_path has a
trailing '/', or switch this to "%s/%s" to ensure it's always present?

> +
> +    return fidp;
> +}
> +


> +static void free_fid(device *device, struct p9_fid *fidp)
> +{
> +    if ( !fidp )
> +        return;
> +
> +    device->n_fids--;
> +    XEN_TAILQ_REMOVE(&device->fids, fidp, list);
> +    free(fidp);
> +}
> +
> +static int fill_qid(const char *path, struct p9_qid *qid, struct stat *s=
tbuf)

Nit: ordering is input, output, optional input, so you might want to re-ord=
er?

stbuf can be const?

> +{
> +    struct stat st;
> +
> +    if ( !stbuf )
> +    {
> +        if ( stat(path, &st) )
> +            return errno;
> +
> +        stbuf =3D &st;
> +    }
> +
> +    qid->type =3D S_ISDIR(stbuf->st_mode) ? QID_TYPE_DIR : 0;
> +    qid->version =3D stbuf->st_mtime ^ (stbuf->st_size << 8);
> +    qid->path =3D stbuf->st_ino;
> +
> +    return 0;
> +}
> +
>  static void p9_error(device *device, uint16_t tag, uint32_t err)
>  {
>      unsigned int erroff;
> @@ -476,6 +565,41 @@ static void p9_version(device *device, struct p9_hea=
der *hdr)
>                  version);
>  }
>
> +static void p9_attach(device *device, struct p9_header *hdr)
> +{
> +    uint32_t fid;
> +    uint32_t dummy_u32;
> +    unsigned int dummy_uint;
> +    struct p9_qid qid;
> +    int ret;
> +
> +    ret =3D fill_data(device, "UUSSU", &fid, &dummy_u32, &dummy_uint, &d=
ummy_uint,
> +                    &dummy_u32);
> +    if ( ret !=3D 5 )
> +    {
> +        p9_error(device, hdr->tag, errno);
> +        return;
> +    }

We might want to check the first dummy_u32 (afid) to ensure it's NOFID?
"""
If the client does not wish to authenticate the connection, or knows
that authentication is not required, the afid field in the attach mes-
sage should be set to NOFID, defined as (u32int)~0 in fcall.h. If the
client does wish to authenticate, it must acquire and validate an afid
using an auth message before doing the attach.
"""

Since auth isn't implemented, it's probably not necessary to check afid?

I've been looking at these as reference:
https://ericvh.github.io/9p-rfc/rfc9p2000.html
https://ericvh.github.io/9p-rfc/rfc9p2000.u.html

> +
> +    device->root_fid =3D alloc_fid(device, fid, "");
> +    if ( !device->root_fid )
> +    {
> +        p9_error(device, hdr->tag, errno);
> +        return;
> +    }
> +
> +    ret =3D fill_qid(device->host_path, &qid, NULL);
> +    if ( ret )
> +    {
> +        free_fid(device, device->root_fid);

root_fid is only freed in this error path.  Maybe free_device() should
free all the fids?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 15:34:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 15:34:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627220.978132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qywBi-0002YX-1F; Fri, 03 Nov 2023 15:34:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627220.978132; Fri, 03 Nov 2023 15:34: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 1qywBh-0002YQ-Tg; Fri, 03 Nov 2023 15:34:21 +0000
Received: by outflank-mailman (input) for mailman id 627220;
 Fri, 03 Nov 2023 15:34: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=bUT0=GQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qywBg-0002YK-9b
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 15:34:20 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74643503-7a5e-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 16:34:19 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-5094cb3a036so2327677e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 08:34:19 -0700 (PDT)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 i20-20020a05600c355400b0040839fcb217sm2858004wmq.8.2023.11.03.08.34.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Nov 2023 08:34: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: 74643503-7a5e-11ee-98d8-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699025659; x=1699630459; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=qM2+RUZsByN764Ar2nK/rsj5kAkXUS/lv8hXHW6c7ZI=;
        b=PFIWFCfDneN6GyRcmgOxYHCZYVkbPxpqsqUxKXbRHcgvxSa+O6fKKg9aXD2E8FDLX9
         mQ/hT1dx2D9tr+75mR47YJoXB4pfvJDSvjQJtQAbrITDQcadRDmTlYP1DR8tJReAtR3m
         EVTrAxJ7JM96ycjQSxC2ogZRIBB/p9r925OkQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699025659; x=1699630459;
        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:subject:date:message-id:reply-to;
        bh=qM2+RUZsByN764Ar2nK/rsj5kAkXUS/lv8hXHW6c7ZI=;
        b=sNBc/wq3iSUbhwSulFmNnZXqm0om/cQdNutE7fOae7tUYNS8x+D0XXrOpK70AAMCbq
         4Bs5LMosV3rwDFcw2KhfNM22eulEc1Q5tDsqE99mYaa1woKKb8R1XWdxELtpcMw9iszZ
         oya20BMBu9IFw7gRBSCIsD2yPsgckD7hxeu9KuKt9iiiuyihyC1cIqiB338wwiOsAvLV
         tuhJ8+DFq0Hmd+UhutSMPyQQBaDrSN+NHdRng+Z3PhdBB7H42uuQxf4NgcxjiI09RmXR
         fS+F6mG4FcmWlORpeObQ8tMmrNnin2T9bbT23pFZJD5foRXtx27Tfx1gGZ14RIsyQljf
         tNTg==
X-Gm-Message-State: AOJu0Yz8e6FgfcF5QkT17vTkV6LtDyRgt4VvhMWaFZgA+fE1cLcT4TJ2
	fMhTHjciqvJhU+CLnZKBGekS6Q==
X-Google-Smtp-Source: AGHT+IGeywt5bXrA2suk7ylLpNg/AeEjXE7iZQbY7/p/uL9705jQg0odbXNLPXsK1L9mduqmoC0wqQ==
X-Received: by 2002:a05:6512:114b:b0:507:9ae6:6913 with SMTP id m11-20020a056512114b00b005079ae66913mr20625569lfg.28.1699025658882;
        Fri, 03 Nov 2023 08:34:18 -0700 (PDT)
Date: Fri, 3 Nov 2023 16:34:17 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>,
	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 v3] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZUUS-fzShqxOs5IO@macbook>
References: <20231103144537.90914-1-roger.pau@citrix.com>
 <93fc77ad-8696-4d83-b916-e47f883ac366@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <93fc77ad-8696-4d83-b916-e47f883ac366@citrix.com>

On Fri, Nov 03, 2023 at 03:10:18PM +0000, Andrew Cooper wrote:
> On 03/11/2023 2:45 pm, Roger Pau Monne wrote:
> > The current implementation of x2APIC requires to either use Cluster Logical or
> 
> I'd suggest starting with "Xen's current ..." to make it clear that this
> is our logic, not a property of x2APIC itself.
> 
> > Physical mode for all interrupts.  However the selection of Physical vs Logical
> > is not done at APIC setup, an APIC can be addressed both in Physical or Logical
> > destination modes concurrently.
> >
> > Introduce a new x2APIC mode called mixed, which uses Logical Cluster mode for
> > IPIs, and Physical mode for external interrupts, thus attempting to use the
> > best method for each interrupt type.
> >
> > Using Physical mode for external interrupts allows more vectors to be used, and
> > interrupt balancing to be more accurate.
> >
> > Using Logical Cluster mode for IPIs allows less accesses to the ICR register
> 
> s/less/fewer/
> 
> > when sending those, as multiple CPUs can be targeted with a single ICR register
> > write.
> >
> > A simple test calling flush_tlb_all() 10000 times in a tight loop on a 96 CPU
> > box gives the following average figures:
> >
> > Physical mode: 26617931ns
> > Mixed mode:    23865337ns
> >
> > So ~10% improvement versus plain Physical mode.  Note that Xen uses Cluster
> > mode by default, and hence is already using the fastest way for IPI delivery at
> > the cost of reducing the amount of vectors available system-wide.
> 
> 96 looks suspiciously like an Intel number.  In nothing else, you ought
> to say which CPU is it, because microarchitecture matters.  By any
> chance can we try this on one of the Bergamos, to give us a datapoint at
> 512?

Let me see if I can grab the only one that's not broken.

Those figures are from an Intel IceLake IIRC.  Cluster mode is the
default, so this change shouldn't effect the performance of builds
that use the default settings.

> > diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
> > index eac77573bd75..cd9286f295e5 100644
> > --- a/xen/arch/x86/Kconfig
> > +++ b/xen/arch/x86/Kconfig
> > @@ -228,11 +228,18 @@ config XEN_ALIGN_2M
> >  
> >  endchoice
> >  
> > -config X2APIC_PHYSICAL
> > -	bool "x2APIC Physical Destination mode"
> > +choice
> > +	prompt "x2APIC Destination mode"
> 
> "x2APIC Driver default" is going to be more meaningful to a non-expert
> reading this menu entry, IMO.

I will leave the helps as-is.

> > +};
> > +
> >  static int cf_check update_clusterinfo(
> >      struct notifier_block *nfb, unsigned long action, void *hcpu)
> >  {
> > @@ -220,38 +248,56 @@ static struct notifier_block x2apic_cpu_nfb = {
> >  static int8_t __initdata x2apic_phys = -1;
> >  boolean_param("x2apic_phys", x2apic_phys);
> >  
> > +enum {
> > +   unset, physical, cluster, mixed
> > +} static __initdata x2apic_mode = unset;
> > +
> > +static int __init parse_x2apic_mode(const char *s)
> 
> cf_check

I'm probably confused, but other users of custom_param() do have the
cf_check attribute, see parse_spec_ctrl() for example.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 15:38:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 15:38:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627224.978142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qywFk-0003BD-Gu; Fri, 03 Nov 2023 15:38:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627224.978142; Fri, 03 Nov 2023 15: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 1qywFk-0003B6-E8; Fri, 03 Nov 2023 15:38:32 +0000
Received: by outflank-mailman (input) for mailman id 627224;
 Fri, 03 Nov 2023 15:38: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=bUT0=GQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qywFi-0003Ay-UD
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 15:38:30 +0000
Received: from mail-wr1-x42f.google.com (mail-wr1-x42f.google.com
 [2a00:1450:4864:20::42f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 090fc829-7a5f-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 16:38:29 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-32f737deedfso1300449f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 08:38:28 -0700 (PDT)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 j17-20020a056000125100b0032db4e660d9sm2128827wrx.56.2023.11.03.08.38.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Nov 2023 08:38: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: 090fc829-7a5f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699025908; x=1699630708; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=nvysMWqX16TnYNvJrKwt8jASZkvVS2iEjXWvVWFbwO0=;
        b=lGySgKgvgq1KNhdAxFoXD7SscQDrRcMqiopP6emMiipmhhxV/sjB0LEJqf/WvUBIpB
         8GPfV+D0/WMpwuZKxwVMWL4SAmDzP7pmU1+itX0eKNOiP7WAOxQxeZ75qQHaMQq55N3s
         2EVz6etTZcNDB8YsgYqkR18ZLD03T0k9S9XNA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699025908; x=1699630708;
        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:subject:date:message-id:reply-to;
        bh=nvysMWqX16TnYNvJrKwt8jASZkvVS2iEjXWvVWFbwO0=;
        b=Dj2/ZVbrqVGQ8mbRPgMIWgzqG8+uyBMSDggSLcCrBYidBtZzH+6C5EI9uzyLjp24NZ
         J+5ZnVXp7Ei9dcUtYAlU/5S2FziF3gKC2W+hLzHoXMoGhUmz8jM8d/eOhJX3zD11PTbF
         6pYA03Mr+5U+ogxRgWq6fk57/0nIr+bShdkfl+H0kYgDyM3tMpMJV8tKdHvIvK3UsGVH
         Tkl+GzfykWn/YyzNEF8bVYJQB2rZ6nlaS+Bvwx9w10vhbkMVcOtgNqc9xWW80zjiG6KR
         qnDAwTlrATfFUWQ+gpk47hKaobdvxCJz5JTHBMQFYfpE+RxKo3cZ9asYAt/8JLMPyKJ+
         UEXA==
X-Gm-Message-State: AOJu0YzEVSh1P5djRyNXj2xHS+uRAXfk9x5Mu7N4gH3aqPbibZuKu6EV
	mL6GSyYh6fBrJqizMqwD1zXLvg==
X-Google-Smtp-Source: AGHT+IFY40YsKIBfXVTsaLu03cXKMDsXP2+9dxwxlRpovxJwOq8atexFF3YYLbV4Pr04Gm6fOQ22SQ==
X-Received: by 2002:a5d:64ad:0:b0:32f:7b89:2675 with SMTP id m13-20020a5d64ad000000b0032f7b892675mr19680774wrp.65.1699025908364;
        Fri, 03 Nov 2023 08:38:28 -0700 (PDT)
Date: Fri, 3 Nov 2023 16:38:27 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>,
	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 v3] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZUUT82jpICws01ZQ@macbook>
References: <20231103144537.90914-1-roger.pau@citrix.com>
 <93fc77ad-8696-4d83-b916-e47f883ac366@citrix.com>
 <ZUUS-fzShqxOs5IO@macbook>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZUUS-fzShqxOs5IO@macbook>

On Fri, Nov 03, 2023 at 04:34:17PM +0100, Roger Pau Monné wrote:
> On Fri, Nov 03, 2023 at 03:10:18PM +0000, Andrew Cooper wrote:
> > On 03/11/2023 2:45 pm, Roger Pau Monne wrote:
> > > +};
> > > +
> > >  static int cf_check update_clusterinfo(
> > >      struct notifier_block *nfb, unsigned long action, void *hcpu)
> > >  {
> > > @@ -220,38 +248,56 @@ static struct notifier_block x2apic_cpu_nfb = {
> > >  static int8_t __initdata x2apic_phys = -1;
> > >  boolean_param("x2apic_phys", x2apic_phys);
> > >  
> > > +enum {
> > > +   unset, physical, cluster, mixed
> > > +} static __initdata x2apic_mode = unset;
> > > +
> > > +static int __init parse_x2apic_mode(const char *s)
> > 
> > cf_check
> 
> I'm probably confused, but other users of custom_param() do have the
> cf_check attribute, see parse_spec_ctrl() for example.

... other users of custom_param() do _not_ have the ...

Sorry.


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 15:39:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 15:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627226.978152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qywGj-0003iT-Qv; Fri, 03 Nov 2023 15:39:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627226.978152; Fri, 03 Nov 2023 15: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 1qywGj-0003iM-N6; Fri, 03 Nov 2023 15:39:33 +0000
Received: by outflank-mailman (input) for mailman id 627226;
 Fri, 03 Nov 2023 15:39: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=AOuS=GQ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qywGh-0003i7-Rv
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 15:39:32 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2cc5f90b-7a5f-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 16:39:30 +0100 (CET)
Received: from DS7PR03CA0075.namprd03.prod.outlook.com (2603:10b6:5:3bb::20)
 by PH7PR12MB7428.namprd12.prod.outlook.com (2603:10b6:510:203::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Fri, 3 Nov
 2023 15:39:25 +0000
Received: from DS1PEPF00017096.namprd05.prod.outlook.com
 (2603:10b6:5:3bb:cafe::3c) by DS7PR03CA0075.outlook.office365.com
 (2603:10b6:5:3bb::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.22 via Frontend
 Transport; Fri, 3 Nov 2023 15:39:25 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF00017096.mail.protection.outlook.com (10.167.18.100) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Fri, 3 Nov 2023 15:39:25 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 3 Nov
 2023 10:39:25 -0500
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Fri, 3 Nov 2023 10:39:23 -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: 2cc5f90b-7a5f-11ee-98d8-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hueivS4yX5fMJ4myFGzTAFehGkKaP0HfQ5ZWZ3gXjFYdXADrj09dslHa1FqDiWqjb1NexHCx8uRoLziI97PJZEuuErF+JDJpjQSsmLQwNfWKxq/kqVk9Wo8ycxk0SS+Whn1Vy3R3xrTgBMKnv06VWFuAxqFzZZXMOI7l5jM20I0AhXZLWYZLLYfriVgUJkiLMQA2UPfojgp23DnSGIf1Vunals9CrW+iAKNOag5X7HzmDRcSCzz+ugqc60LuHt53AaeX5zZsiHD5/ywiZyeqPsUgpOYeLUdFrFHdYN8FvCzy6eLVdNLoMSHd7rBBMe+9PAX1QByM/B/FAZt4zIZ+XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GKNexmUa3jn9+hTtdgPh/NPObG01v0Fc/Xv7Cqhhkfk=;
 b=KuEHzGMO5rqNjDqDDqnHZRc+eGfWHohYvRrC11zIWnTerM6f8+M6mJu7OWG1oXosc9lggSZRRLiExv4mQh/d4NkkloXIkCnfYFXhCITGda3YO/hAbiimivdQ8/u8sAZ+wJ53O07CkN/N+P0/HZUf+ANJPj8LoSpVzq83iKCR61DFm2BXDp0LWMkWHBU33MFVIRPXE3xePiVtnJTAluYVxixurq1/u5d42PRn6N3yTZ+eY9AC2rGa31hu4I89P76B3EGWjrdJXaSD6/i9c4VnaKYz41vDpsjAbcu/U2eUyMg4juLhGcEqWoB9WPbZxaY7OYoRd0mquNhmYq839Gg0FQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.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 (0)
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=GKNexmUa3jn9+hTtdgPh/NPObG01v0Fc/Xv7Cqhhkfk=;
 b=reR7WKyOS8AO635sjxBR8WlmCBYwmQk/7nv4zz84lNXQsf01fYBP+u/wf/4F0OFu7b9AbPazvA4e22D6W6Y355ZHyql2h3ykCIBkwPFmGnTP/vweeC0O5sZYEv8oLC9GXUNEkAL+NDgxsBNWkvVSxOasIxxJoTyIob121hJQirc=
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: <cc409ec3-bf77-4f47-bff5-ee9c0d2bc83e@amd.com>
Date: Fri, 3 Nov 2023 11:39:23 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v10 03/17] vpci: use per-domain PCI lock to protect vpci
 structure
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <Oleksandr_Andrushchenko@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>, Jun Nakajima <jun.nakajima@intel.com>, Kevin Tian
	<kevin.tian@intel.com>, Paul Durrant <paul@xen.org>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-4-volodymyr_babchuk@epam.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <20231012220854.2736994-4-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF00017096:EE_|PH7PR12MB7428:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c429b08-c3ee-4578-023e-08dbdc830f35
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LN1MMm9MIteIwEXPyuTvWgTvHIe484Fcn1GOZBU3mYW+JCqAxUC8rvgs+jL0c8sZWrLDeNxupyd4VKO73VGnKF3qK293orW3vdD03fk5k00EVI7Q3Hy1/Ey+d/DSFHURd6RCwAflXmZp0w2JMhmIJ15HuG4M/7mFt20ZI4PnmjnZfKRynG7XW9rdjUayND4ZCQrW9Yjq8tGxr4pP4eStM3hutKD8nFNHKHvtemxyCGaZ1Q6fNdg9vVUE/60Knw1fLIPMhEaq4y3qYGK0KNe4rlxkX6vkRqHYQpWlGhPvI/Jui4RoIWkMb9krostVbLgE1wS+NqxZJS4YfoSE0u6ksW5fNL98bmTtwqvB2eZhwEG6qPn3RJAJ74EMQLzfvgM8kBTt4ULmA4l6HyLooyJo2K4fNaiAtnqg1dN0Ot8hFoobZavudpj9uQldL0A3nvcAFlQRn/ZNSO/GRmIXwnOgm1QdSc4iFSxlD/2B/a4+Y3Gz6kp9uOeTCu5mtBdcMmvIwDqmv+67XVCkrn+6dhub6tsyyE6t6Q42uOU3V/tvp7R2An+a5DNhyq9VfP3tIk+jpTnvGtIaqDbEv+Q2jb4qmHwLFzoizBz+PZRCpnsjn5/fpGpIi2MqYmMUaL9ZQMpK/V25HwjTRpsZAL8MyCUnPBdkEcnsOFmIvC04YaJup53+7S2X7xbg1q4Uidci7r56baPsPpEigr420pFvzsq/M/zi+2OCTfR9BOep4F0rfqQL/A7M2Kcrj5XotmsdiPboHliQop+PffrC/HP4k0E7Z+J92yLbAuuFGoLN8OoUkhY=
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:(13230031)(4636009)(136003)(346002)(396003)(39860400002)(376002)(230922051799003)(82310400011)(64100799003)(186009)(1800799009)(451199024)(36840700001)(46966006)(40470700004)(31686004)(2616005)(26005)(40480700001)(40460700003)(36756003)(31696002)(81166007)(86362001)(82740400003)(356005)(83380400001)(426003)(7416002)(47076005)(5660300002)(336012)(53546011)(2906002)(36860700001)(478600001)(4326008)(54906003)(16576012)(8676002)(316002)(8936002)(110136005)(70586007)(70206006)(44832011)(41300700001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 15:39:25.6234
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c429b08-c3ee-4578-023e-08dbdc830f35
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:
	DS1PEPF00017096.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7428

On 10/12/23 18:09, Volodymyr Babchuk wrote:
> 6. We are removing multiple ASSERT(pcidevs_locked()) instances because
> they are too strict now: they should be corrected to
> ASSERT(pcidevs_locked() || rw_is_locked(&d->pci_lock)), but problem is
> that mentioned instances does not have access to the domain
> pointer and it is not feasible to pass a domain pointer to a function
> just for debugging purposes.

...

> diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
> index 20275260b3..466725d8ca 100644
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -988,8 +988,6 @@ static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc,
>  {
>      struct msi_desc *old_desc;
> 
> -    ASSERT(pcidevs_locked());
> -
>      if ( !pdev )
>          return -ENODEV;

I know it is mentioned in the commit message, so the ASSERT removal above may be okay. However, just to mention it: as we are passing pdev to this function now, we can access the domain pointer here. So the ASSERT can be turned into (after the !pdev check):

    ASSERT(pcidevs_locked() || rw_is_locked(&pdev->domain->pci_lock));

In which case pdev->domain != NULL might also want to be checked.

> 
> @@ -1043,8 +1041,6 @@ static int __pci_enable_msix(struct msi_info *msi, struct msi_desc **desc,
>  {
>      struct msi_desc *old_desc;
> 
> -    ASSERT(pcidevs_locked());
> -
>      if ( !pdev || !pdev->msix )
>          return -ENODEV;

Same here.

> 
> @@ -1154,8 +1150,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,
>                    struct pci_dev *pdev)
>  {
> -    ASSERT(pcidevs_locked());
> -
>      if ( !use_msi )
>          return -EPERM;
> 


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 15:44:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 15:44:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627233.978161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qywLa-0005UC-Bm; Fri, 03 Nov 2023 15:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627233.978161; Fri, 03 Nov 2023 15:44: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 1qywLa-0005U5-9G; Fri, 03 Nov 2023 15:44:34 +0000
Received: by outflank-mailman (input) for mailman id 627233;
 Fri, 03 Nov 2023 15:44: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=va+T=GQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qywLY-0005Tz-F6
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 15:44:32 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e11e0dbd-7a5f-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 16:44:31 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-40837ebba42so14339085e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 08:44:31 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 j28-20020a05600c1c1c00b003fe15ac0934sm6211931wms.1.2023.11.03.08.44.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Nov 2023 08: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: e11e0dbd-7a5f-11ee-98d8-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699026271; x=1699631071; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=R8MvfRrJRSHNjMGe6FAfum5u6PJqLvR1bBU5o8D0Q3A=;
        b=b0Pr2rp0EBFfeIsAdMMl56A5qz1sidWZlA7GiHMHLpHi92sE1req7oC2vDIQbFHPzY
         YWZeb29ZjSRa+nOu6xASZsraU/z3lc0vdDT20yqruZMD/IDRy/HC1ESc0+aiZgoeH8rx
         Ca672uLqJZ7ii6FODb/p89ISMdoNw3y+PPTa8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699026271; x=1699631071;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :content-language:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=R8MvfRrJRSHNjMGe6FAfum5u6PJqLvR1bBU5o8D0Q3A=;
        b=ADnJbgJHbqcCQoJATFoucG9rLnZwkcR0Sw3nlBqN//Gfm5dVSUNEx8J0h5Wka8ghZE
         +zvClY6SJvFOwHBN9iaT55EL1H00a8gGBWOQMLOGXYlcZC3J1QPFzzkOlfw5inRVSK2v
         HrC5ZZeqM+jscdASH9fng7niNKrvhDCQntZS6imgCEnJjpZzfk9URgC9dS9WJrLssXns
         buuJ+iYI2nD1Xz0h6nMnXHikO0xTdvJfIAZNWIWAxqJ2As08LR4C31BzD6VS0rZBGR5S
         yei2R+mCo7HzbwuYovt7yOcwJSoz0GtdKBsyDwHxXBl43aLjr5uefRSeZH5pmg9WYlli
         g+OQ==
X-Gm-Message-State: AOJu0YyPQc5VVa7NIwkpUf9a6VOmo7Ah8EjiYOxD6qnfmCNGzkjHea8E
	4eqmCQrPDxgU5SVQsqyjQDP+uw==
X-Google-Smtp-Source: AGHT+IFY4AiCPvaG4UdukUBM1+C10YO5JpcDfa1IceSD9hfxiYbugdV0+v99DNnM8V67tkNQELp9oQ==
X-Received: by 2002:a05:600c:3041:b0:409:703c:b9b1 with SMTP id n1-20020a05600c304100b00409703cb9b1mr1696448wmh.40.1699026270776;
        Fri, 03 Nov 2023 08:44:30 -0700 (PDT)
Message-ID: <ce44f81a-5dae-4c24-9ed2-f3cdffb78129@citrix.com>
Date: Fri, 3 Nov 2023 15:44:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH v3] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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: <20231103144537.90914-1-roger.pau@citrix.com>
 <93fc77ad-8696-4d83-b916-e47f883ac366@citrix.com> <ZUUS-fzShqxOs5IO@macbook>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZUUS-fzShqxOs5IO@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/11/2023 3:34 pm, Roger Pau Monné wrote:
> On Fri, Nov 03, 2023 at 03:10:18PM +0000, Andrew Cooper wrote:
>> On 03/11/2023 2:45 pm, Roger Pau Monne wrote:
>>> when sending those, as multiple CPUs can be targeted with a single ICR register
>>> write.
>>>
>>> A simple test calling flush_tlb_all() 10000 times in a tight loop on a 96 CPU
>>> box gives the following average figures:
>>>
>>> Physical mode: 26617931ns
>>> Mixed mode:    23865337ns
>>>
>>> So ~10% improvement versus plain Physical mode.  Note that Xen uses Cluster
>>> mode by default, and hence is already using the fastest way for IPI delivery at
>>> the cost of reducing the amount of vectors available system-wide.
>> 96 looks suspiciously like an Intel number.  In nothing else, you ought
>> to say which CPU is it, because microarchitecture matters.  By any
>> chance can we try this on one of the Bergamos, to give us a datapoint at
>> 512?
> Let me see if I can grab the only one that's not broken.
>
> Those figures are from an Intel IceLake IIRC.  Cluster mode is the
> default, so this change shouldn't effect the performance of builds
> that use the default settings.

"shouldn't" being the operative word.

You're presenting evidence to try and convince the reader that the
reasoning is correct.

Therefore, it is important to confirm your assumptions, and that means
measuring and reporting all 3.

Part of the analysis should say "we expected mixed and cluster to be the
same, and the results show that".

And obviously, if mixed and cluster are wildly different, then we take a
step back and think harder.
>>> diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
>>> index eac77573bd75..cd9286f295e5 100644
>>> --- a/xen/arch/x86/Kconfig
>>> +++ b/xen/arch/x86/Kconfig
>>> @@ -228,11 +228,18 @@ config XEN_ALIGN_2M
>>>  
>>>  endchoice
>>>  
>>> -config X2APIC_PHYSICAL
>>> -	bool "x2APIC Physical Destination mode"
>>> +choice
>>> +	prompt "x2APIC Destination mode"
>> "x2APIC Driver default" is going to be more meaningful to a non-expert
>> reading this menu entry, IMO.
> I will leave the helps as-is.
Yeah, the help text is fine.  It's just the title itself.

>
>>> +};
>>> +
>>>  static int cf_check update_clusterinfo(
>>>      struct notifier_block *nfb, unsigned long action, void *hcpu)
>>>  {
>>> @@ -220,38 +248,56 @@ static struct notifier_block x2apic_cpu_nfb = {
>>>  static int8_t __initdata x2apic_phys = -1;
>>>  boolean_param("x2apic_phys", x2apic_phys);
>>>  
>>> +enum {
>>> +   unset, physical, cluster, mixed
>>> +} static __initdata x2apic_mode = unset;
>>> +
>>> +static int __init parse_x2apic_mode(const char *s)
>> cf_check
> I'm probably confused, but other users of custom_param() do have the
> cf_check attribute, see parse_spec_ctrl() for example.

Yes, and this function needs one but is missing it.

cf_check equates to "This function needs an ENDBR", which it does
because it's invoked by function pointer.

It likely doesn't expode on a CET-active machine because this logic runs
prior to turning CET-IBT on, and you'll only get a build error in the
buster-ibt pipeline which has a still-unupstreamed GCC patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 15:57:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 15:57:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627241.978172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qywXW-00009a-HP; Fri, 03 Nov 2023 15:56:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627241.978172; Fri, 03 Nov 2023 15:56: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 1qywXW-00009T-Dt; Fri, 03 Nov 2023 15:56:54 +0000
Received: by outflank-mailman (input) for mailman id 627241;
 Fri, 03 Nov 2023 15:56: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=bUT0=GQ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qywXV-00007Q-7v
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 15:56:53 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a523d97-7a61-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 16:56:51 +0100 (CET)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2c594196344so30053201fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 08:56:51 -0700 (PDT)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p12-20020a05600c358c00b003fe61c33df5sm2967362wmq.3.2023.11.03.08.56.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Nov 2023 08:56: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: 9a523d97-7a61-11ee-98d8-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699027011; x=1699631811; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=lr2nSdRi+Qg0bYNURxf8o7SgpC2C+6dA+impShbvdQY=;
        b=WAwtUh8xUcA3xJjDYUCdrq4aGCpLzGKCJNE/QwZDjizJdxqCggLufbER/ZIJpPVso3
         GDI4jgVZf0DWk5zRsviwcHnEYdayZp1YEsSuB4lnyfGGk3vbcygZj0R9G9la7OHLuvwm
         633A3jy741xwIv2/e2VaiBUMtOGZ5DsdCNMOg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699027011; x=1699631811;
        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:subject:date:message-id:reply-to;
        bh=lr2nSdRi+Qg0bYNURxf8o7SgpC2C+6dA+impShbvdQY=;
        b=siXRHYOJml3kir1LqtUFxYdIT5Oz/OoZfCIN/+GZUI7GZdb3TA96R5N/Ttd9Vzla5/
         rSUcLRGcX5kZ5f+tboD3eiV8cSaklbZ15g9e4+2Vwo+P0k9vQgBG6R4SYU4N6dfJ4/N2
         2AKgS+PwEAFAapMT2laoXEQfateBxFJBAJdATXwpZuQ5SjX8yGCgUN688s4054Iym0pK
         swXr3HYdy20VXHnNsDMlkRprhWOL9ZlIhePjvkSSmfTYVVIdl/DnXCZYI+gd4dGV/kwV
         ss9/q4RIjQVNGuI3Snbtn2NBT9kIEot5Jw8k4AH/HTS9lhyHx/lcJEnt/y2jjEyVUkkE
         Ao0g==
X-Gm-Message-State: AOJu0Yz0FNtig5a9b8NyWFXd3hYfjyK3UHzIZoXnvJ+TazvuPe5RZxwE
	aisfinMvtTpaZpNXDtNh+nRDcA==
X-Google-Smtp-Source: AGHT+IHZJbiRgKHzBt3dBpQH2mTmXBaiCQV27divBTAu040E/7i4mLVxrzdeiw1GQejin7Dt0U1Hhw==
X-Received: by 2002:a05:651c:c9b:b0:2c0:7d6:570a with SMTP id bz27-20020a05651c0c9b00b002c007d6570amr20747117ljb.33.1699027010973;
        Fri, 03 Nov 2023 08:56:50 -0700 (PDT)
Date: Fri, 3 Nov 2023 16:56:50 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@xenproject.org>,
	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 v3] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZUUYQhinrxrJcL63@macbook>
References: <20231103144537.90914-1-roger.pau@citrix.com>
 <93fc77ad-8696-4d83-b916-e47f883ac366@citrix.com>
 <ZUUS-fzShqxOs5IO@macbook>
 <ce44f81a-5dae-4c24-9ed2-f3cdffb78129@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ce44f81a-5dae-4c24-9ed2-f3cdffb78129@citrix.com>

On Fri, Nov 03, 2023 at 03:44:30PM +0000, Andrew Cooper wrote:
> On 03/11/2023 3:34 pm, Roger Pau Monné wrote:
> > On Fri, Nov 03, 2023 at 03:10:18PM +0000, Andrew Cooper wrote:
> >> On 03/11/2023 2:45 pm, Roger Pau Monne wrote:
> >>> when sending those, as multiple CPUs can be targeted with a single ICR register
> >>> write.
> >>>
> >>> A simple test calling flush_tlb_all() 10000 times in a tight loop on a 96 CPU
> >>> box gives the following average figures:
> >>>
> >>> Physical mode: 26617931ns
> >>> Mixed mode:    23865337ns
> >>>
> >>> So ~10% improvement versus plain Physical mode.  Note that Xen uses Cluster
> >>> mode by default, and hence is already using the fastest way for IPI delivery at
> >>> the cost of reducing the amount of vectors available system-wide.
> >> 96 looks suspiciously like an Intel number.  In nothing else, you ought
> >> to say which CPU is it, because microarchitecture matters.  By any
> >> chance can we try this on one of the Bergamos, to give us a datapoint at
> >> 512?
> > Let me see if I can grab the only one that's not broken.
> >
> > Those figures are from an Intel IceLake IIRC.  Cluster mode is the
> > default, so this change shouldn't effect the performance of builds
> > that use the default settings.
> 
> "shouldn't" being the operative word.
> 
> You're presenting evidence to try and convince the reader that the
> reasoning is correct.
> 
> Therefore, it is important to confirm your assumptions, and that means
> measuring and reporting all 3.
> 
> Part of the analysis should say "we expected mixed and cluster to be the
> same, and the results show that".
> 
> And obviously, if mixed and cluster are wildly different, then we take a
> step back and think harder.

If they are different I'm definitely not sending the patch :).

> >>> +};
> >>> +
> >>>  static int cf_check update_clusterinfo(
> >>>      struct notifier_block *nfb, unsigned long action, void *hcpu)
> >>>  {
> >>> @@ -220,38 +248,56 @@ static struct notifier_block x2apic_cpu_nfb = {
> >>>  static int8_t __initdata x2apic_phys = -1;
> >>>  boolean_param("x2apic_phys", x2apic_phys);
> >>>  
> >>> +enum {
> >>> +   unset, physical, cluster, mixed
> >>> +} static __initdata x2apic_mode = unset;
> >>> +
> >>> +static int __init parse_x2apic_mode(const char *s)
> >> cf_check
> > I'm probably confused, but other users of custom_param() do have the
> > cf_check attribute, see parse_spec_ctrl() for example.
> 
> Yes, and this function needs one but is missing it.
> 
> cf_check equates to "This function needs an ENDBR", which it does
> because it's invoked by function pointer.
> 
> It likely doesn't expode on a CET-active machine because this logic runs
> prior to turning CET-IBT on, and you'll only get a build error in the
> buster-ibt pipeline which has a still-unupstreamed GCC patch.

That was my guess, that CET wasn't yet active by the time this is
called.

For consistency we should fix all handlers of custom_param() (and
other command line parsing helpers) so they uniformly use cf_check,
otherwise it's likely I will make the same mistake when copy&paste to
introduce a new option.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 16:23:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 16:23:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627264.978198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qywxF-0007D1-OW; Fri, 03 Nov 2023 16:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627264.978198; Fri, 03 Nov 2023 16: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 1qywxF-0007Cu-LW; Fri, 03 Nov 2023 16:23:29 +0000
Received: by outflank-mailman (input) for mailman id 627264;
 Fri, 03 Nov 2023 16:23: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 1qywxE-0007Ck-8d; Fri, 03 Nov 2023 16:23: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 1qywxE-0003uh-6G; Fri, 03 Nov 2023 16:23: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 1qywxD-0002a8-OW; Fri, 03 Nov 2023 16:23:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qywxD-0001wZ-Nx; Fri, 03 Nov 2023 16:23: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=LDJ5UQmKmUTjBtHwV4pVsiZHav7xivIKp6c7+Onk34c=; b=RuRv1QcEWnD/FtT94SDnwMB9T5
	WleOyY1F9yDrDP/SMM7Tp4ty3eUQ8fD/FRQr3kGbyJKM0Kpm9F2o1DKhGYIOzYDUzL+0a8v3efXdP
	RWaeK1ugyS1t26ifXt7n5vWqBvren9HYkLJcuDQtae/D8b7V4hj2K/Ke3bEKvC/BoLoA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183667-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183667: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-amd64-amd64-libvirt-xsm:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-libvirt-qcow2: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-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
    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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=ea083911b1dc609506dd715b82f75759f7807c31
X-Osstest-Versions-That:
    xen=649c190a1feafdb54440bebbcac58abc90fa335b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Nov 2023 16:23:27 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183658
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183658
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183658
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183658
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183658
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183658
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183658
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183658
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183658
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183658
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183658
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183658
 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-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-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-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-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     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-amd64-amd64-libvirt-xsm 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-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-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-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-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
 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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  ea083911b1dc609506dd715b82f75759f7807c31
baseline version:
 xen                  649c190a1feafdb54440bebbcac58abc90fa335b

Last test of basis   183658  2023-11-02 13:08:57 Z    1 days
Testing same since   183667  2023-11-03 03:02:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Bertrand Marquis <bertrand.marquis@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  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                                          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                              starved 
 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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   649c190a1f..ea083911b1  ea083911b1dc609506dd715b82f75759f7807c31 -> master


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 17:26:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 17:26:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627281.978208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyxw5-0000sa-98; Fri, 03 Nov 2023 17:26:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627281.978208; Fri, 03 Nov 2023 17: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 1qyxw5-0000sT-5q; Fri, 03 Nov 2023 17:26:21 +0000
Received: by outflank-mailman (input) for mailman id 627281;
 Fri, 03 Nov 2023 17:26: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=sVO2=GQ=citrix.com=prvs=6645367c8=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1qyxw3-0000sN-GV
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 17:26:19 +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 1621c9e3-7a6e-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 18:26:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1621c9e3-7a6e-11ee-98d8-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1699032375;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=yN70GOoQktKPfAW3IF83IxnbcNK56YwJ2jVGY4KfhVk=;
  b=KY5Z5suq8r46jpa+02Pawk4IgTY3QXrYcPKnMdONNiVwsayDBVdYnQep
   5MCkxx1HlNYO2HO9OGjE/Ek2254Jooskk2gz0vdpYnwUPTMzOfxBN/PS0
   JiJ5GJNHI4WHLiNFoL5Qi1QVAZhRR7RrcYujZ4bfZL8yXFy9nQ9pzlQrb
   Y=;
X-CSE-ConnectionGUID: 3puI7Y9fT5KL74H8rEvnbA==
X-CSE-MsgGUID: ESGCXgn2QkqXPlMKtyqIYQ==
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127951790
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:gfXooKyZ7XODwkksTO16t+cpxirEfRIJ4+MujC+fZmUNrF6WrkVWz
 TAdXzzTbPbZYmShL9tyb4q+9hxU68OByd5mHFdv+CAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjPzOHvykTrecZkidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EgHUMja4mtC5QVnPasT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KTpW6
 N1HGWEDUk2go73q4OKhZ/dqjO12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyPVKfO3WjOX9OYH46tP2vnWK5dzRXpUiKrK4zy2PS0BZwwP7mN9+9ltmiHJ8KzxvB+
 TOel4j/KjwhG/evxjzfy3G1ttfLuADnSZszJYTto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jYHQMZZGeA+7ACLy4LX7hyfC2xCSSROAPQ+vdIybSwn0
 BmOhdyBLSVitaDQRX+D+7O8qzS0Ni4Ia2gYakc5oRAtuoe55ttp11SWE4clT/bdYsDJ9S/Ym
 CiXjXcP1rsv0O0viPmbrUrqnTSmj82cJuIq3Tk7Tl5J/ysgOt/0P9fwuQGLhRpTBNzHFAXf5
 hDoj+DbvLhUU8zX/MCYaLxVROnB2hqTDNHLbbeD9bEK8C6k/zaYZZpR5j5lTKuCGp1fIWCwC
 KM/VBk42XOyAJdJRfUsC25JI552pZUM7Py8PhwuUvJAY4JqaCiM9zx0aEib0gjFyRZ9wfBiY
 c/HL5jyVh727JiLKxLvGY8gPUIDn31lmws/u7igp/hY7VZuTCHMEupUWLd/Rus48LmFsG3oz
 jqrDOPTk083eLSnMkHqHXs7cQhiwY4TWcqn9KS6t4erfmJbJY3WI6WNkeJ6K9w5zv09eyWh1
 ijVZ3K0AWHX3RXvQThmoFg6AF8zdf6TdU4GABE=
IronPort-HdrOrdr: A9a23:GT6fT6D6ScllFPHlHelW55DYdb4zR+YMi2TDt3oddfWaSKylfq
 GV7ZAmPHrP4gr5N0tOpTntAse9qBDnhPtICOsqTNSftWDd0QPFEGgL1+DfKlbbak/DH4BmtJ
 uJc8JFeaDN5VoRt7eH3OFveexQv+Vu88qT9JnjJ28Gd3AMV0n5hT0JcTpyFCdNNW97LKt8Lr
 WwzOxdqQGtfHwGB/7LfEXsD4D41qT2fIuNW29/OyIa
X-Talos-CUID: 9a23:yBnY4WGGh5DFzFqzqmI87FM1RfF0fEGA71OPf2/oE0t3Tre8HAo=
X-Talos-MUID: 9a23:6ap0tQYoaHs0LOBTmgTDrwFtMp1R4L2eMEQosokXoui1DHkl
X-IronPort-AV: E=Sophos;i="6.03,273,1694750400"; 
   d="scan'208";a="127951790"
From: Ross Lagerwall <ross.lagerwall@citrix.com>
To: <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
	<qemu-devel@nongnu.org>, Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH] xen/pt: Emulate multifunction bit in header type
Date: Fri, 3 Nov 2023 17:26:01 +0000
Message-ID: <20231103172601.1319375-1-ross.lagerwall@citrix.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

The intention of the code appears to have been to unconditionally set
the multifunction bit but since the emulation mask is 0x00 it has no
effect. Instead, emulate the bit and set it based on the multifunction
property of the PCIDevice (which can be set using QAPI).

This allows making passthrough devices appear as functions in a Xen
guest.

Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 hw/xen/xen_pt_config_init.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
index 2b8680b112fa..e6ec32e3ccd2 100644
--- a/hw/xen/xen_pt_config_init.c
+++ b/hw/xen/xen_pt_config_init.c
@@ -291,7 +291,10 @@ static int xen_pt_header_type_reg_init(XenPCIPassthroughState *s,
                                        uint32_t *data)
 {
     /* read PCI_HEADER_TYPE */
-    *data = reg->init_val | 0x80;
+    *data = reg->init_val;
+    if ((PCI_DEVICE(s)->cap_present & QEMU_PCI_CAP_MULTIFUNCTION)) {
+        *data |= PCI_HEADER_TYPE_MULTI_FUNCTION;
+    }
     return 0;
 }
 
@@ -676,7 +679,7 @@ static XenPTRegInfo xen_pt_emu_reg_header0[] = {
         .size       = 1,
         .init_val   = 0x00,
         .ro_mask    = 0xFF,
-        .emu_mask   = 0x00,
+        .emu_mask   = PCI_HEADER_TYPE_MULTI_FUNCTION,
         .init       = xen_pt_header_type_reg_init,
         .u.b.read   = xen_pt_byte_reg_read,
         .u.b.write  = xen_pt_byte_reg_write,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 17:34:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 17:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627286.978217 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyy4N-0002pJ-7s; Fri, 03 Nov 2023 17:34:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627286.978217; Fri, 03 Nov 2023 17: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 1qyy4N-0002pC-5F; Fri, 03 Nov 2023 17:34:55 +0000
Received: by outflank-mailman (input) for mailman id 627286;
 Fri, 03 Nov 2023 17:34: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=VrR1=GQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qyy4L-0002p1-Ta
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 17:34:54 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4889379f-7a6f-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 18:34:49 +0100 (CET)
Received: from CYXPR03CA0002.namprd03.prod.outlook.com (2603:10b6:930:d0::8)
 by CH2PR12MB4134.namprd12.prod.outlook.com (2603:10b6:610:a7::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Fri, 3 Nov
 2023 17:34:44 +0000
Received: from CY4PEPF0000E9DA.namprd05.prod.outlook.com
 (2603:10b6:930:d0:cafe::73) by CYXPR03CA0002.outlook.office365.com
 (2603:10b6:930:d0::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.22 via Frontend
 Transport; Fri, 3 Nov 2023 17:34:44 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9DA.mail.protection.outlook.com (10.167.241.79) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Fri, 3 Nov 2023 17:34:43 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 3 Nov
 2023 12:34:43 -0500
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Fri, 3 Nov 2023 12:34:42 -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: 4889379f-7a6f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D3DOQdTR/0clyh7Fl81FMACw1W1Y/2akwlHupgzHdn6pPfg3/QqKQ97Xq/h+ikvDEh1GEVSpV+b3fDgNODhql01aWXpXYLzYhZC/VqAmpT9M7QpBpO1QN6tnOSnuhMLlUtRi15jRSVYWdkDB/pMV56GLW/WCABqE/Rt2RX8S8eZK9+Dy/CL1S91eXhFYO8KxY8Z6QEd4YT76VnM04/PxojDtXA+Gps70ON7Msf3eli7/xFL9G2ZgbTLKUkc/LxqtcN5MbvEmEbqnJxOj68wyqUS+/7INwFToMe0nmc1I4YmMDiFT1pneJX67NRmRIXtpiqwMR4Szhov310Oy0j8mPQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bnDYIsJDNzdWK1B6E7XtLTwREV5ouPUxVLKOnssY218=;
 b=jornZWkHNTMfQ9nOMH8sRY5C47tGwzdf32u9qfPVJ+3NNsWu2yH4FHBccH9Hn8mS1MHAcMIzLhOOIh9BDfISTXPO5TiRXERxrpqcsqJS29LMzQpUEQsmuuqpwtZfo58RcuSa9wYa3MwHAKPK6ycIA7dCKAZt6H4qV02omx24H1cWnqHxI6eO6v0KqCEa5hUu37vW14TANwdDv5vl12BaRyeDJge/2R3oEsOrerixIPnqT/iv675+VoBIj3zsvOmYGjPbKkTGqrgU5UV5P0AKvwiu8duzNT64AwfDQMgAJCVSCEVlbFAftjecvW9Op2I6V/VjXh6UZT8j1sryNvNh/A==
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 (0)
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=bnDYIsJDNzdWK1B6E7XtLTwREV5ouPUxVLKOnssY218=;
 b=k32vNVqBj+V3OPHAq1lO8jMANJzsM1UoFmO5Kytivjdr/PcFSmB00S/E2fqq+BoGqq0Q99l17OlTcrpCPPyk3BUxGlyZrugwAmq85T6gNUGdV09+iIaATMfE6WR+3RE8vxPOCwbcUFXyfeTpWhQIb+OzFk6eUz81Dhh2L4DOos0=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [PATCH v2 0/2] xen/arm: Split MMU code as the prepration of MPU work form Arm32
Date: Fri, 3 Nov 2023 17:34:34 +0000
Message-ID: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DA:EE_|CH2PR12MB4134:EE_
X-MS-Office365-Filtering-Correlation-Id: 86e9422f-0989-4341-c85d-08dbdc932ac7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ipFe16kY0TbWMvLiuLLN4m4oZedeog+buWfiGp/8PlE1fENGHYkSCAF2HPtjP8QgG5JXm92g11kKm14uRb0vSfc/vCD2UqNUaBLC5qhFeLk8BmEPrFXe8G4YNndV9sr+8RpCM7jU2SFAsPgeLN/jgIdOJZBwykCW4DF2NuzKk4bh77hi9EmI1nVwwjVIZat6x9LAGciewjrUp7HmhpGqWVvd8i7djS3EhAd15rCG2kJyL2Hf83PVHExUzMPwaggqQ0W+5+ijo35XREbfvJM+OpUu7bsKmkQE4mvqkGJJIYbO7/TMJvN/QC4jgVF3YLajmR1TFXpH8abrtPDu+5zk2X2cTcO995wpP8IrpKogpaifjazLmAts+gU/396ke3e/QlssTW8oPdUGYHOuUbWSRkwGR2XDLCC6qemXOaj42UyRYttoYCNfide+ndIHB/EB68w8pkcyOB+h8xl4EYwwBnw7hW3VuSCfD0uGTfr4AHsDSy7wS1Nu/axVZl9pg/Zp4jm/gTWDUk9ibGBvHRTUccI900QDzIDhIuqEf/Oo1BOz+yy9ZyN/LAhEdHPoiTS+IUW7V1vvN5GHOv9l/sDZFstpf78LgWuscIILUqp2y6hDm7hdYVUyM9zbhIxo+xA4CGKZCUMdFzBO6UDB6FGfk54ScI7b9W+CcVSmpMQJdkjDM//vXkisS0xjnlAaq9Pd34FhJmDXmH3Jd+wOynFZwuA8shb+cAc5LNgVIUc3ua+Vyh77OTTT1cwU/7e4nR0vbuu386fRicPwy9kvij590tSD7mEFn9lAwJNxtTu2Fw8=
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:(13230031)(4636009)(346002)(39860400002)(136003)(376002)(396003)(230922051799003)(451199024)(1800799009)(64100799003)(82310400011)(186009)(36840700001)(46966006)(40470700004)(103116003)(36860700001)(47076005)(83380400001)(336012)(26005)(2616005)(6666004)(86362001)(36756003)(81166007)(356005)(82740400003)(426003)(1076003)(40480700001)(966005)(40460700003)(478600001)(8676002)(6916009)(54906003)(316002)(4326008)(41300700001)(5660300002)(2906002)(8936002)(70206006)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 17:34:43.8002
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 86e9422f-0989-4341-c85d-08dbdc932ac7
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:
	CY4PEPF0000E9DA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4134

Hi,

These are the set of patches based on top of
"[PATCH v8 0/8] xen/arm: Split MMU code as the prepration of MPU work".
This is the preparation work to add MPU support on Arm32.

There are two more dependencies for this series :-

1. "[XEN v1 1/4] xen/arm: arm32: Move pt_enforce_wxn() so that it can be bundled with other MMU functionality"
is merged into "[PATCH v8 3/8] xen/arm: Fold mmu_init_secondary_cpu() to head.S"
as per the discussion on [1].

2. "[XEN v4] xen/arm32: head: Replace load_paddr with adr_l when they are equivalent"

Julien, I see that you have submitted "[PATCH 0/2] xen/arm32: Improve logging during early boot" [2].
Let me know if you want to reorder this series or base your series on top of mine.

[1] - https://lore.kernel.org/all/f098a07d-fa19-4b40-bfac-7b121524382a@xen.org/#t
[2] - https://lore.kernel.org/all/20231101233011.83098-3-julien@xen.org/T/

Changes from :-

v1 - Dropped "[XEN v1 1/4] xen/arm: arm32: Move pt_enforce_wxn() so that it can be bundled with other MMU functionality"
and "[XEN v1 4/4] xen/arm: traps.c: Enclose VMSA specific registers within CONFIG_MMU".

Ayan Kumar Halder (2):
  xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()
  xen/arm32: head Split and move MMU-specific head.S to mmu/head.S

 xen/arch/arm/arm32/head.S               | 566 +-----------------------
 xen/arch/arm/arm32/mmu/Makefile         |   1 +
 xen/arch/arm/arm32/mmu/head.S           | 559 +++++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/macros.h |  57 +++
 4 files changed, 622 insertions(+), 561 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/head.S

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 17:34:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 17:34:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627287.978228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyy4O-00034B-Fi; Fri, 03 Nov 2023 17:34:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627287.978228; Fri, 03 Nov 2023 17:34: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 1qyy4O-000342-Cn; Fri, 03 Nov 2023 17:34:56 +0000
Received: by outflank-mailman (input) for mailman id 627287;
 Fri, 03 Nov 2023 17:34: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=VrR1=GQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qyy4M-0002p1-Nq
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 17:34:54 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4b6ed440-7a6f-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 18:34:53 +0100 (CET)
Received: from DM6PR01CA0027.prod.exchangelabs.com (2603:10b6:5:296::32) by
 DS0PR12MB8573.namprd12.prod.outlook.com (2603:10b6:8:162::15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.24; Fri, 3 Nov 2023 17:34:49 +0000
Received: from CY4PEPF0000E9DB.namprd05.prod.outlook.com
 (2603:10b6:5:296:cafe::11) by DM6PR01CA0027.outlook.office365.com
 (2603:10b6:5:296::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.22 via Frontend
 Transport; Fri, 3 Nov 2023 17:34:49 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9DB.mail.protection.outlook.com (10.167.241.81) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Fri, 3 Nov 2023 17:34:48 +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.2507.32; Fri, 3 Nov
 2023 12:34:48 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 3 Nov
 2023 10:34:47 -0700
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Fri, 3 Nov 2023 12:34: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: 4b6ed440-7a6f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NQmA+7ea8x2c/dAEBOymvF3E9IRuh9zagNOWH4musoxhXSvF3uceWXCOqdFbhNk24Zdws4W7XcLem7VG7N2NgMWXjyujcubcvI6q+C9hqs2EZZysH0fdIp9kisD82WMb2vVo59eUicVAcJ2xqvLRnrAVLfKLy6/g6akN/82ji+bwR3EZUQPGeSag3rIYwn0ZnNcHoD48reALB+Xhv7g2xrc2I0IyMOAvEv/u2cV/MFyUhew7AIAviILhLnvm8YPa1zfNdd8Vbnx0qLbE5r3O52lMvacTlbulc8jwdYV5ijS8/qr5XfgFXuBcvKods7fgOtgukAkcFFtCG7xu3nllug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sVyKlruN93Y2nH2RPeYOuO64js7MDsSPgd411DOj63s=;
 b=lAUyK0LC6X+XC6lt2IAIfiOKchpaMwM5PLLVjEPzj18i8jdAGbvzsKGso9vtXfVrXE/dwtpcafpjGQdJEuZm8eLvaKBUIf1gFxysFVJfsxoXRfNoChUmqcjzG5HcPvHiilDBHeKT3dYgAYtxMqiekaVNdzjO3l7+cL1RiTB7GJV0OsOD4XMwWUI1m3g1c3orAsuvI3v31jlUJdNx6/5cKQBo6m99AolsD2TDgJCh0KseTLSpwBEZEqxmFfuJ75zWu8Z4sr+1J95cfVqNvdSljbm8VIqVRuVOAL+rOZj2aCviPOih0uR9fqt+WZnKeHzOe2y1Z3No3vXVco9YzMzz+g==
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 (0)
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=sVyKlruN93Y2nH2RPeYOuO64js7MDsSPgd411DOj63s=;
 b=KW3VcHLO8uezEsbCvyNwLIpPxYTYWOaEsaQC2KP+DoSvyt5f3p1two9Mw9SqipT+WTbYRPCo3ZqMXZAKNbS7bxesmA8anhCiwZzIEWibM8A6xkhsQFOWvUL1wQVowb/b4K6cSLUlt57zAlnC7KjP0SUSbCtWjlQ3+2lmTqZCvno=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [PATCH v2 1/2] xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()
Date: Fri, 3 Nov 2023 17:34:35 +0000
Message-ID: <20231103173436.3912488-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
References: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DB:EE_|DS0PR12MB8573:EE_
X-MS-Office365-Filtering-Correlation-Id: 8919aee2-9ec7-40fe-b050-08dbdc932db0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wAgzK9gumNvvp6Ojbwzj4+FKByloeoQtoCxWFM19YiD/wPSU9VyJYjk46Y8Ci6v4Biw69urJ/IKfpXICruT+BF1Enh+JkYXCa+rR5XbUqyXxDNKKPl+xKW+hvPZWDDuZzXN1/XXgS0vpb9wuw1rYd8CgUt89gBZWCKNbZ70yN5EgHYyGxsmZfK9obxYV9mX3GwV1XDbyCtFcRuy5qZGGnfvjFYQMT7Il/KrR24iegZj6pyXpig9jY3heDcw87FAh9ISYcp4R9kKHPoyPQmeF7XE7JHoRFUq6s7q4XLOoVLDWfJPaJw9fH4pv5aQStfx+N1XoLSTxteU7ZQZY057JXM2+JNKiWEudZw9Gmt2Wy6FZGvDJgfKrt6F41gFV7BLjb86MlBw1B6azHuGJcrIskLRWDevTB8kCi1n8mlHkyCzslif4eTqkKHZXaXqfmL94vp9l1mIdw+FT41o8CiUQDWBpgQczzoR4V6vzifFc7mtEfpGZrqUETnk8JclmmAmMOVGFowu4zN/+HJ6g6YcEUqLbMnKF/k7Xo8VmY/+mxcAPJJmA4FJyMKkijxXNUhlextZyMjTLgenOFE0NvyS8HbO64mb2K11+Orl5wIoBzZe1sK3y7bZ6Eazi/dGpSPZ6jUq71+6irzuOOHHSws2UXcH+uQNCEsU1q8/8/rJgl0av4Vq3Qfptoh2XoDCvO1YioG1XF0XkclNXedUQUVgNrCZrrE3DEOM4w/MrsOQwJlQ3RIUsTqjNNxLKrNGPaU5vaBNpgWbeUf8S5UcI0ouNtRqx4c4klMhwhuzLx/A7GDA=
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:(13230031)(4636009)(396003)(346002)(376002)(39860400002)(136003)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(82310400011)(36840700001)(40470700004)(46966006)(41300700001)(316002)(5660300002)(6916009)(336012)(426003)(40460700003)(103116003)(4326008)(8936002)(8676002)(36860700001)(356005)(83380400001)(86362001)(81166007)(2906002)(26005)(54906003)(478600001)(47076005)(6666004)(1076003)(82740400003)(2616005)(36756003)(70586007)(40480700001)(70206006)(21314003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 17:34:48.6820
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8919aee2-9ec7-40fe-b050-08dbdc932db0
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:
	CY4PEPF0000E9DB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8573

All the MMU related functionality have been clubbed together in
enable_boot_cpu_mm() for booting primary cpu and enable_secondary_cpu_mm() for
booting secondary cpus.
This is done in preparation for moving the code related to MMU in MMU specific
file and in order to support non MMU cpus in future.

This is based on d2f8df5b3ede commit.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Changes from :-

v1 - 1. Added a proper commit message.
2. Some style and other fixes suggested in v1. 

 xen/arch/arm/arm32/head.S | 89 +++++++++++++++++++++++++++++----------
 1 file changed, 67 insertions(+), 22 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 2d7e690bf5..7004443798 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -201,13 +201,11 @@ past_zImage:
 
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
 
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
         mov_w lr, primary_switched
-        b     enable_mmu
+        b     enable_boot_cpu_mm
+
 primary_switched:
-        bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
@@ -249,27 +247,11 @@ GLOBAL(init_secondary)
 #endif
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
 
-        /* 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
-         * setup in prepare_secondary_mm.
-         *
-         * XXX: This is not compliant with the Arm Arm.
-         */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
-        ldrd  r4, r5, [r4]           /* Actual value */
-        dsb
-        mcrr  CP64(r4, r5, HTTBR)
-        dsb
-        isb
-        flush_xen_tlb_local r0
-        pt_enforce_wxn r0
+        b     enable_secondary_cpu_mm
 
+secondary_switched:
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
@@ -692,6 +674,69 @@ ready_to_switch:
         mov   pc, lr
 ENDPROC(switch_to_runtime_mapping)
 
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * 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 - r6
+ */
+enable_secondary_cpu_mm:
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Non-boot CPUs need to move on to the proper pagetables, which were
+         * setup in prepare_secondary_mm.
+         *
+         * XXX: This is not compliant with the Arm Arm.
+         */
+        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        ldrd  r4, r5, [r4]           /* Actual value */
+        dsb
+        mcrr  CP64(r4, r5, HTTBR)
+        dsb
+        isb
+        flush_xen_tlb_local r0
+        pt_enforce_wxn r0
+
+        /* Return to the virtual address requested by the caller. */
+        mov   pc, r6
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * 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 - r6
+ */
+enable_boot_cpu_mm:
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /* Return to the virtual address requested by the caller. */
+        mov   lr, r6
+
+        b     setup_fixmap
+ENDPROC(enable_boot_cpu_mm)
+
 /*
  * Remove the 1:1 map from the page-tables. It is not easy to keep track
  * where the 1:1 map was mapped, so we will look for the top-level entry
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 17:35:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 17:35:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627288.978238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyy4U-0003Ny-PZ; Fri, 03 Nov 2023 17:35:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627288.978238; Fri, 03 Nov 2023 17:35: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 1qyy4U-0003Nr-ME; Fri, 03 Nov 2023 17:35:02 +0000
Received: by outflank-mailman (input) for mailman id 627288;
 Fri, 03 Nov 2023 17:35: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=VrR1=GQ=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1qyy4S-0002p1-HI
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 17:35:00 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4dff3950-7a6f-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 18:34:57 +0100 (CET)
Received: from CYXPR03CA0005.namprd03.prod.outlook.com (2603:10b6:930:d0::9)
 by DM6PR12MB4123.namprd12.prod.outlook.com (2603:10b6:5:21f::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Fri, 3 Nov
 2023 17:34:52 +0000
Received: from CY4PEPF0000E9DA.namprd05.prod.outlook.com
 (2603:10b6:930:d0:cafe::36) by CYXPR03CA0005.outlook.office365.com
 (2603:10b6:930:d0::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.22 via Frontend
 Transport; Fri, 3 Nov 2023 17:34:52 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9DA.mail.protection.outlook.com (10.167.241.79) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Fri, 3 Nov 2023 17:34:51 +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.2507.32; Fri, 3 Nov
 2023 12:34:51 -0500
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 3 Nov
 2023 10:34:50 -0700
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Fri, 3 Nov 2023 12:34:49 -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: 4dff3950-7a6f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G0aRo2kvyJc4PQDbzuF0+COE6R+zRNbqF//5hKYu2PQ2oZ5uaXyw8eOB6hwN3KVejD+6K87/ue9O5yjKi8uEf6VC5DAYBoU+Q9BrayfoFtq8wqwFcW7YvmaLfFHhiw4RpQBq8TvO0Hm9s4qt72n5mQhaTmJ1YZYmFjjqhc5U9bYxy+VIYYHoel6wgyFnLo7q6V7+iNnRSBEXRL+QBv8YPrD5EjRpSdLkbcZwnnVPpOSieQHd6bcfHifcCSh5fdCTkx6BXCULk5kx4kZQXqSlkiuIGYfO7MqVtww1mrHrHYBwMpJ43sAiKaxJ1TLd4GfPrte5PYHP07l1+/STUqFDoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/AqngVXR0Hk1jH0QmK7X84ExNiplo+d9Ve/bRXWh0JE=;
 b=lwMdD5dBlX+15FBu0UTz3ZUo02NTjvpLGG2lQ2ExZaqGorFKt7F4CgYwbUOk1BmNGeiA8XF77BdbhAPHZfutdoFe10Je7cGTnLtDcvkUHo1XUluvw2JN6g85k6deo/wv5P8f6sckvCJs+PjqjsAppI7F5zA+9JLCDaCceE69aYpd64XrSHNUpY3F9wJ1RjKPw33OWKBTNAALi2ujwrTQ1C2kUhKPXvfzHfVq990ArAUL6YZjl3YQesvH/jHM6EHim/TRiFaU7aNb7rMKwEmOv5IUwd4veMpTBTGHS3uneGWCBVO+5CL/s4dRwJyUkOfqqbA7e2JVOMDFb98ZQHI3jQ==
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 (0)
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=/AqngVXR0Hk1jH0QmK7X84ExNiplo+d9Ve/bRXWh0JE=;
 b=21H7vc3TdSKt+hpYeZJyVagI5SuwJKlcC1Y+QVoIeCZBepck1Qsj54cJWm7XOrNleOcv5yZB2lZI1EGs0OuummFmvy8rLGAlng1PoyzVfpyh+FQ6RF4dXIQ/5/yGadmRSHPP1xjJy0gwOjkQx2PEIjeJkoMCxCU1bHCkIoTJzVQ=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [PATCH v2 2/2] xen/arm32: head Split and move MMU-specific head.S to mmu/head.S
Date: Fri, 3 Nov 2023 17:34:36 +0000
Message-ID: <20231103173436.3912488-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
References: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DA:EE_|DM6PR12MB4123:EE_
X-MS-Office365-Filtering-Correlation-Id: 4ced40f6-9331-45fe-c907-08dbdc932fb9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9pbigJt9aZJ43/A8vSMV3u4I9NhPux0xlm1UjuWxzgTc+cGCLRxS0W9Xq7YEi5mJCXdGMeTDIc1vQL0kTz2ZW2yl0lkhv5zZy4LwBcXYEHvvJZp7E05G2c9IiIyxs1IjJvj/Th8QZblzTI+jVzI2S9iOzRhN5gDSTEswgwgaCS2KfiTdIsBmQKrgRkCjZF2NtFrFIzXwW7Tdigq42hlieCSFRZqCZvKvkKy6m74aZnAzZOhxOMd2xzSvyt1MFCIz3cG5b8FlAW5Cw0RpXVcgquqSe8sLwzR9afsoLWH79iZ31cU7bjPz6s1Ae37y0o9W1drfht/RKcdS1VReknCmX/3XyItG+MMzGSi9sgMniMzCvImiLf80kkQP3dp6wdgJXvEH3ycPCVA8zcBUHYHTgKx91I1D0AQkCMkIroUJ2JLxgywdN2TlfcCix+GLe+Ix87ISQUKH4B3Tfz5bD8yBZ7xge9eImRgiCTlGF7GFrvrX//RB14DLl5cwWUD9+kntEDj4nNSG5xWOnIYkFPyrfRT/q5G/ZEJzRfKObUx1+f91ZXV59Cpd3wWgPAd1HH2Ec0nzuwgilMcPfEw1EDUwF1YwanxWMUiAvEIJ///RtXEHyZKHQ3btzjJpYRzqTSxR1qyoqUyqGkPq3dCFkltM+pDltnJHEMJCjlds3s1UyXaw5mXhWEdrz8RA3gc6IH/S8iXOcaM54skMJskPZv4d4rVw+u3x/Pqvv6YjC3D8+NqUwaLlD8sX0fz6gzoy5ut5Y0Iou/z1uk9tBa4wSyL2yT58ySrnKflxx47J6RqbSqdyplPnHIHR91QDq/zLn71atbiJ47DdeSZFzuvsL4hW5w==
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:(13230031)(4636009)(346002)(376002)(136003)(396003)(39860400002)(230922051799003)(230173577357003)(230273577357003)(64100799003)(451199024)(186009)(1800799009)(82310400011)(36840700001)(40470700004)(46966006)(40460700003)(26005)(40480700001)(2616005)(478600001)(1076003)(6666004)(336012)(36860700001)(426003)(47076005)(30864003)(83380400001)(2906002)(8676002)(70206006)(70586007)(41300700001)(5660300002)(8936002)(4326008)(316002)(6916009)(356005)(82740400003)(54906003)(103116003)(86362001)(81166007)(36756003)(21314003)(36900700001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 17:34:51.9565
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4ced40f6-9331-45fe-c907-08dbdc932fb9
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:
	CY4PEPF0000E9DA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4123

The MMU specific code in head.S will not be used on MPU systems.
Instead of introducing more #ifdefs which will bring complexity
to the code, move MMU related code to mmu/head.S and keep common
code in head.S. Two notes while moving:
 - As "fail" in original head.S is very simple and this name is too
   easy to be conflicted, duplicate it in mmu/head.S instead of
   exporting it.
 - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm and
   setup_fixmap as they will be used externally.

Also move the assembly macros shared by head.S and mmu/head.S to
macros.h.

Note that, only the first 4KB of Xen image will be mapped as identity
(PA == VA). At the moment, Xen guarantees this by having everything
that needs to be used in the identity mapping in .text.header section
of head.S, and the size will be checked by _idmap_start and _idmap_end
at link time if this fits in 4KB. Since we are introducing a new head.S
in this patch, although we can add .text.header to the new file to
guarantee all identity map code still in the first 4KB. However, the
order of these two files on this 4KB depends on the build toolchains.
Hence, introduce a new section named .text.idmap in the region between
_idmap_start and _idmap_end. And in Xen linker script, we force the
.text.idmap contents to linked after .text.header. This will ensure
code of head.S always be at the top of Xen binary.

This is based on commit 6734327d76be.

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from v1 :-

1. Added a commit message

2. Moved load_paddr to mmu/head.S

 xen/arch/arm/arm32/head.S               | 603 +-----------------------
 xen/arch/arm/arm32/mmu/Makefile         |   1 +
 xen/arch/arm/arm32/mmu/head.S           | 559 ++++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/macros.h |  57 +++
 4 files changed, 618 insertions(+), 602 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/head.S

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 7004443798..ff727e469c 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -22,86 +22,10 @@
 
 #define ZIMAGE_MAGIC_NUMBER 0x016f2818
 
-#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
-#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
-#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
-
-#define PT_UPPER(x) (PT_##x & 0xf00)
-#define PT_LOWER(x) (PT_##x & 0x0ff)
-
-/* Convenience defines to get slot used by Xen mapping. */
-#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
-#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
-
-/* Offset between the early boot xen mapping and the runtime xen mapping */
-#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
-
 #if defined(CONFIG_EARLY_PRINTK) && defined(CONFIG_EARLY_PRINTK_INC)
 #include CONFIG_EARLY_PRINTK_INC
 #endif
 
-/*
- * Move an immediate constant into a 32-bit register using movw/movt
- * instructions.
- */
-.macro mov_w reg, word
-        movw  \reg, #:lower16:\word
-        movt  \reg, #:upper16:\word
-.endm
-
-/*
- * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
- * within the range +/- 4GB of the PC.
- *
- * @dst: destination register
- * @sym: name of the symbol
- */
-.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
-        mov_w \rb, \sym
-        add   \rb, \rb, r10
-.endm
-
-/*
- * Flush local TLBs
- *
- * @tmp: Scratch register
- *
- * See asm/arm32/flushtlb.h for the explanation of the sequence.
- */
-.macro flush_xen_tlb_local tmp
-        dsb   nshst
-        mcr   CP32(\tmp, TLBIALLH)
-        dsb   nsh
-        isb
-.endm
-
-/*
- * Enforce Xen page-tables do not contain mapping that are both
- * Writable and eXecutables.
- *
- * This should be called on each secondary CPU.
- */
-.macro pt_enforce_wxn tmp
-        mrc   CP32(\tmp, HSCTLR)
-        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
-        dsb
-        mcr   CP32(\tmp, HSCTLR)
-        /*
-         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
-         * before flushing the TLBs.
-         */
-        isb
-        flush_xen_tlb_local \tmp
-.endm
-
 /*
  * Common register usage in this file:
  *   r0  -
@@ -121,38 +45,6 @@
  *   r14 - LR
  *   r15 - PC
  */
-#ifdef CONFIG_EARLY_PRINTK
-/*
- * Macro to print a string to the UART, if there is one.
- *
- * Clobbers r0 - r3
- */
-#define PRINT(_s)           \
-        mov   r3, lr       ;\
-        adr_l r0, 98f      ;\
-        bl    puts         ;\
-        mov   lr, r3       ;\
-        RODATA_STR(98, _s)
-
-/*
- * Macro to print the value of register \rb
- *
- * Clobbers r0 - r4
- */
-.macro print_reg rb
-        mov   r0, \rb
-        mov   r4, lr
-        bl    putn
-        mov   lr, r4
-.endm
-
-#else /* CONFIG_EARLY_PRINTK */
-#define PRINT(s)
-
-.macro print_reg rb
-.endm
-
-#endif /* !CONFIG_EARLY_PRINTK */
 
         .section .text.header, "ax", %progbits
         .arm
@@ -355,467 +247,6 @@ 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 (physical
- * address)
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     physical address of the table to point to
- * virt:    virtual address
- * lvl:     page-table level
- *
- * Preserves \virt
- * Clobbers \tbl, r1 - r3
- *
- * Note that \tbl and \virt should be in a register other than r1 - r3
- */
-.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
-        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
-        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
-
-        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
-        orr   r2, r2, \tbl           /*           + \tbl paddr */
-        mov   r3, #0
-
-        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
-
-        strd  r2, r3, [\tbl, r1]
-.endm
-
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl (symbol)
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     table symbol to point to
- * virt:    virtual address
- * lvl:     page-table level
- *
- * Preserves \virt
- * Clobbers r1 - r4
- *
- * Also use r10 for the phys offset.
- *
- * Note that \virt should be in a register other than r1 - r4
- */
-.macro create_table_entry, ptbl, tbl, virt, lvl
-        load_paddr r4, \tbl
-        create_table_entry_from_paddr \ptbl, r4, \virt, \lvl
- .endm
-
-/*
- * Macro to create a mapping entry in \tbl to \paddr. Only mapping in 3rd
- * level table (i.e page granularity) is supported.
- *
- * ptbl:     table symbol where the entry will be created
- * virt:    virtual address
- * phys:    physical address
- * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
- *
- * Preserves \virt, \phys
- * Clobbers r1 - r4
- *
- * 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
-        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
-        lsr   r1, \virt, #THIRD_SHIFT
-        and   r1, r1, r2             /* r1 := slot in \tlb */
-        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
-
-        lsr   r4, \phys, #THIRD_SHIFT
-        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
-
-        movw  r2, #\type             /* r2:r3 := right for section PT */
-        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
-        mov   r3, #0
-
-        adr_l r4, \ptbl
-
-        strd  r2, r3, [r4, r1]
-.endm
-
-/*
- * Rebuild the boot pagetable's first-level entries. The structure
- * is described in mm.c.
- *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r5
- */
-create_page_tables:
-        /* Prepare the page-tables for mapping Xen */
-        mov_w r0, XEN_VIRT_START
-
-        /*
-         * We need to use a stash register because
-         * create_table_entry_paddr() will clobber the register storing
-         * the physical address of the table to point to.
-         */
-        adr_l r5, boot_third
-        mov_w r4, XEN_VIRT_START
-.rept XEN_NR_ENTRIES(2)
-        mov   r0, r5                        /* r0 := paddr(l3 table) */
-        create_table_entry_from_paddr boot_second, r0, r4, 2
-        add   r4, r4, #XEN_PT_LEVEL_SIZE(2) /* r4 := Next vaddr */
-        add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
-.endr
-
-        /*
-         * Find the size of Xen in pages and multiply by the size of a
-         * PTE. This will then be compared in the mapping loop below.
-         *
-         * Note the multiplication is just to avoid using an extra
-         * register/instruction per iteration.
-         */
-        mov_w r0, _start            /* r0 := vaddr(_start) */
-        mov_w r1, _end              /* r1 := vaddr(_end) */
-        sub   r0, r1, r0            /* r0 := effective size of Xen */
-        lsr   r0, r0, #PAGE_SHIFT   /* r0 := Number of pages for Xen */
-        lsl   r0, r0, #3            /* r0 := Number of pages * PTE size */
-
-        /* Setup boot_third: */
-        adr_l r4, boot_third
-
-        lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
-        lsl   r2, r2, #THIRD_SHIFT
-        orr   r2, r2, #PT_UPPER(MEM_L3) /* r2:r3 := map */
-        orr   r2, r2, #PT_LOWER(MEM_L3)
-        mov   r3, #0x0
-
-        /* ... map of vaddr(start) in boot_third */
-        mov   r1, #0
-1:      strd  r2, r3, [r4, r1]       /* Map vaddr(start) */
-        add   r2, r2, #PAGE_SIZE     /* Next page */
-        add   r1, r1, #8             /* Next slot */
-        cmp   r1, r0                 /* Loop until we map all of Xen */
-        blo   1b
-
-        /*
-         * Setup the 1:1 mapping so we can turn the MMU on. Note that
-         * only the first page of Xen will be part of the 1:1 mapping.
-         */
-        create_table_entry boot_pgtable, boot_second_id, r9, 1
-        create_table_entry boot_second_id, boot_third_id, r9, 2
-        create_mapping_entry boot_third_id, r9, r9
-
-        /*
-         * Find the first slot used. If the slot is not the same
-         * as TEMPORARY_AREA_FIRST_SLOT, then we will want to switch
-         * to the temporary mapping before jumping to the runtime
-         * virtual mapping.
-         */
-        get_table_slot r1, r9, 1     /* r1 := first slot */
-        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
-        bne   use_temporary_mapping
-
-        mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-        mov   r12, #0                /* r12 := temporary mapping not created */
-        mov   pc, lr
-
-use_temporary_mapping:
-        /*
-         * The identity mapping is not using the first slot
-         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
-         * See switch_to_runtime_mapping for more details.
-         */
-        PRINT("- Create temporary mapping -\r\n")
-
-        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
-        mov_w r0, TEMPORARY_XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-
-        mov   r12, #1                /* r12 := temporary mapping created */
-        mov   pc, lr
-ENDPROC(create_page_tables)
-
-/*
- * 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:
- *   r9 : paddr(start)
- *  r12 : Was the temporary mapping created?
- *   lr : Virtual address to return to
- *
- * Clobbers r0 - r5
- */
-enable_mmu:
-        PRINT("- Turning on paging -\r\n")
-
-        /*
-         * The state of the TLBs is unknown before turning on the MMU.
-         * Flush them to avoid stale one.
-         */
-        flush_xen_tlb_local r0
-
-        /* Write Xen's PT's paddr into the HTTBR */
-        adr_l r0, boot_pgtable
-        mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
-        mcrr  CP64(r0, r1, HTTBR)
-        isb
-
-        mrc   CP32(r0, HSCTLR)
-        /* Enable MMU and D-cache */
-        orr   r0, r0, #(SCTLR_Axx_ELx_M|SCTLR_Axx_ELx_C)
-        dsb                          /* Flush PTE writes and finish reads */
-        mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
-        isb                          /* Now, flush the icache */
-
-        /*
-         * The MMU is turned on and we are in the 1:1 mapping. Switch
-         * to the runtime mapping.
-         */
-        mov   r5, lr                /* Save LR before overwritting it */
-        mov_w lr, 1f                /* Virtual address in the runtime mapping */
-        b     switch_to_runtime_mapping
-1:
-        mov   lr, r5                /* Restore LR */
-        /*
-         * At this point, either the 1:1 map or the temporary mapping
-         * will be present. The former may clash with other parts of the
-         * Xen virtual memory layout. As both of them are not used
-         * anymore, remove them completely to avoid having to worry
-         * about replacing existing mapping afterwards.
-         *
-         * On return this will jump to the virtual address requested by
-         * the caller.
-         */
-        teq   r12, #0
-        beq   remove_identity_mapping
-        b     remove_temporary_mapping
-ENDPROC(enable_mmu)
-
-/*
- * Switch to the runtime mapping. The logic depends on whether the
- * runtime virtual region is clashing with the physical address
- *
- *  - If it is not clashing, we can directly jump to the address in
- *    the runtime mapping.
- *  - If it is clashing, create_page_tables() would have mapped Xen to
- *    a temporary virtual address. We need to switch to the temporary
- *    mapping so we can remove the identity mapping and map Xen at the
- *    correct position.
- *
- * Inputs
- *    r9: paddr(start)
- *   r12: Was a temporary mapping created?
- *    lr: Address in the runtime mapping to jump to
- *
- * Clobbers r0 - r4
- */
-switch_to_runtime_mapping:
-        /*
-         * Jump to the runtime mapping if the virt and phys are not
-         * clashing
-         */
-        teq   r12, #0
-        beq   ready_to_switch
-
-        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
-        mov_w r0, 1f
-        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
-        mov   pc, r0
-
-1:
-        /* Remove boot_second_id */
-        mov   r2, #0
-        mov   r3, #0
-        adr_l r0, boot_pgtable
-        get_table_slot r1, r9, 1            /* r1 := first slot */
-        lsl   r1, r1, #3                    /* r1 := first slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-
-        /* Map boot_second into boot_pgtable */
-        mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-
-        /* Ensure any page table updates are visible before continuing */
-        dsb   nsh
-        /*
-         * The function will return on the runtime mapping. So we want
-         * to prevent instruction fetch before the dsb completes.
-         */
-        isb
-
-ready_to_switch:
-        mov   pc, lr
-ENDPROC(switch_to_runtime_mapping)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
- * 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 - r6
- */
-enable_secondary_cpu_mm:
-        mov   r6, lr
-
-        bl    create_page_tables
-
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
-        mov_w lr, 1f
-        b     enable_mmu
-1:
-        /*
-         * Non-boot CPUs need to move on to the proper pagetables, which were
-         * setup in prepare_secondary_mm.
-         *
-         * XXX: This is not compliant with the Arm Arm.
-         */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
-        ldrd  r4, r5, [r4]           /* Actual value */
-        dsb
-        mcrr  CP64(r4, r5, HTTBR)
-        dsb
-        isb
-        flush_xen_tlb_local r0
-        pt_enforce_wxn r0
-
-        /* Return to the virtual address requested by the caller. */
-        mov   pc, r6
-ENDPROC(enable_secondary_cpu_mm)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for the boot CPU.
- * 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 - r6
- */
-enable_boot_cpu_mm:
-        mov   r6, lr
-
-        bl    create_page_tables
-
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
-        mov_w lr, 1f
-        b     enable_mmu
-1:
-        /* Return to the virtual address requested by the caller. */
-        mov   lr, r6
-
-        b     setup_fixmap
-ENDPROC(enable_boot_cpu_mm)
-
-/*
- * Remove the 1:1 map from the page-tables. It is not easy to keep track
- * where the 1:1 map was mapped, so we will look for the top-level entry
- * exclusive to the 1:1 map and remove it.
- *
- * Inputs:
- *   r9 : paddr(start)
- *
- * Clobbers r0 - r3
- */
-remove_identity_mapping:
-        /* r2:r3 := invalid page-table entry */
-        mov   r2, #0x0
-        mov   r3, #0x0
-
-        /* Find the first slot used and remove it */
-        get_table_slot r1, r9, 1     /* r1 := first slot */
-        mov_w r0, boot_pgtable       /* r0 := root table */
-        lsl   r1, r1, #3             /* r1 := Slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-        mov   pc, lr
-ENDPROC(remove_identity_mapping)
-
-/*
- * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
- *
- * Clobbers r0 - r3
- */
-remove_temporary_mapping:
-        /* r2:r3 := invalid page-table entry */
-        mov   r2, #0
-        mov   r3, #0
-
-        adr_l r0, boot_pgtable
-        mov_w r1, TEMPORARY_XEN_VIRT_START
-        get_table_slot r1, r1, 1     /* r1 := first slot */
-        lsl   r1, r1, #3             /* r1 := first slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-
-        mov  pc, lr
-ENDPROC(remove_temporary_mapping)
-
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   r10: Physical offset
- *   r11: Early UART base physical address
- *
- * Clobbers r0 - r4
- */
-setup_fixmap:
-#if defined(CONFIG_EARLY_PRINTK)
-        /* Add UART to the fixmap table */
-        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
-        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
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        mov   pc, lr
-ENDPROC(setup_fixmap)
-
 /*
  * Setup the initial stack and jump to the C world
  *
@@ -843,38 +274,6 @@ fail:   PRINT("- Boot failed -\r\n")
         b     1b
 ENDPROC(fail)
 
-/*
- * Switch TTBR
- * r1:r0       ttbr
- *
- * TODO: This code does not comply with break-before-make.
- */
-ENTRY(switch_ttbr)
-        dsb                            /* Ensure the flushes happen before
-                                        * continuing */
-        isb                            /* Ensure synchronization with previous
-                                        * changes to text */
-        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
-        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
-        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
-        dsb                            /* Ensure completion of TLB+BP flush */
-        isb
-
-        mcrr  CP64(r0, r1, HTTBR)
-
-        dsb                            /* ensure memory accesses do not cross
-                                        * over the TTBR0 write */
-        isb                            /* Ensure synchronization with previous
-                                        * changes to text */
-        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
-        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
-        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
-        dsb                            /* Ensure completion of TLB+BP flush */
-        isb
-
-        mov pc, lr
-ENDPROC(switch_ttbr)
-
 #ifdef CONFIG_EARLY_PRINTK
 /*
  * Initialize the UART. Should only be called on the boot CPU.
@@ -899,7 +298,7 @@ ENDPROC(init_uart)
  * r11: Early UART base address
  * Clobbers r0-r1
  */
-puts:
+ENTRY(puts)
         early_uart_ready r11, r1
         ldrb  r1, [r0], #1           /* Load next char */
         teq   r1, #0                 /* Exit on nul */
diff --git a/xen/arch/arm/arm32/mmu/Makefile b/xen/arch/arm/arm32/mmu/Makefile
index b18cec4836..336805c636 100644
--- a/xen/arch/arm/arm32/mmu/Makefile
+++ b/xen/arch/arm/arm32/mmu/Makefile
@@ -1 +1,2 @@
 obj-y += mm.o
+obj-y += head.o
diff --git a/xen/arch/arm/arm32/mmu/head.S b/xen/arch/arm/arm32/mmu/head.S
new file mode 100644
index 0000000000..4882936590
--- /dev/null
+++ b/xen/arch/arm/arm32/mmu/head.S
@@ -0,0 +1,559 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/arm32/mmu/head.S
+ *
+ * Arm32 MMU specific start-of-day code.
+ */
+
+#include <asm/page.h>
+#include <asm/early_printk.h>
+
+#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
+#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
+#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
+
+#define PT_UPPER(x) (PT_##x & 0xf00)
+#define PT_LOWER(x) (PT_##x & 0x0ff)
+
+/* Convenience defines to get slot used by Xen mapping. */
+#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
+#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
+
+.macro load_paddr rb, sym
+        mov_w \rb, \sym
+        add   \rb, \rb, r10
+.endm
+
+/*
+ * Flush local TLBs
+ *
+ * @tmp: Scratch register
+ *
+ * See asm/arm32/flushtlb.h for the explanation of the sequence.
+ */
+.macro flush_xen_tlb_local tmp
+        dsb   nshst
+        mcr   CP32(\tmp, TLBIALLH)
+        dsb   nsh
+        isb
+.endm
+
+/*
+ * Enforce Xen page-tables do not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each secondary CPU.
+ */
+.macro pt_enforce_wxn tmp
+        mrc   CP32(\tmp, HSCTLR)
+        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
+        dsb
+        mcr   CP32(\tmp, HSCTLR)
+        /*
+         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+         * before flushing the TLBs.
+         */
+        isb
+        flush_xen_tlb_local \tmp
+.endm
+
+/* 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 (physical
+ * address)
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     physical address of the table to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ *
+ * Preserves \virt
+ * Clobbers \tbl, r1 - r3
+ *
+ * Note that \tbl and \virt should be in a register other than r1 - r3
+ */
+.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
+        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
+        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
+
+        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
+        orr   r2, r2, \tbl           /*           + \tbl paddr */
+        mov   r3, #0
+
+        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
+
+        strd  r2, r3, [\tbl, r1]
+.endm
+
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl (symbol)
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     table symbol to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ *
+ * Preserves \virt
+ * Clobbers r1 - r4
+ *
+ * Also use r10 for the phys offset.
+ *
+ * Note that \virt should be in a register other than r1 - r4
+ */
+.macro create_table_entry, ptbl, tbl, virt, lvl
+        load_paddr r4, \tbl
+        create_table_entry_from_paddr \ptbl, r4, \virt, \lvl
+ .endm
+
+/*
+ * Macro to create a mapping entry in \tbl to \paddr. Only mapping in 3rd
+ * level table (i.e page granularity) is supported.
+ *
+ * ptbl:     table symbol where the entry will be created
+ * virt:    virtual address
+ * phys:    physical address
+ * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
+ *
+ * Preserves \virt, \phys
+ * Clobbers r1 - r4
+ *
+ * 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
+        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
+        lsr   r1, \virt, #THIRD_SHIFT
+        and   r1, r1, r2             /* r1 := slot in \tlb */
+        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
+
+        lsr   r4, \phys, #THIRD_SHIFT
+        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
+
+        movw  r2, #\type             /* r2:r3 := right for section PT */
+        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
+        mov   r3, #0
+
+        adr_l r4, \ptbl
+
+        strd  r2, r3, [r4, r1]
+.endm
+.section .text.idmap, "ax", %progbits
+
+/*
+ * Rebuild the boot pagetable's first-level entries. The structure
+ * is described in mm.c.
+ *
+ * After the CPU enables paging it will add the fixmap mapping
+ * to these page tables, however this may clash with the 1:1
+ * mapping. So each CPU must rebuild the page tables here with
+ * the 1:1 in place.
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r5
+ */
+create_page_tables:
+        /* Prepare the page-tables for mapping Xen */
+        mov_w r0, XEN_VIRT_START
+
+        /*
+         * We need to use a stash register because
+         * create_table_entry_paddr() will clobber the register storing
+         * the physical address of the table to point to.
+         */
+        adr_l r5, boot_third
+        mov_w r4, XEN_VIRT_START
+.rept XEN_NR_ENTRIES(2)
+        mov   r0, r5                        /* r0 := paddr(l3 table) */
+        create_table_entry_from_paddr boot_second, r0, r4, 2
+        add   r4, r4, #XEN_PT_LEVEL_SIZE(2) /* r4 := Next vaddr */
+        add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
+.endr
+
+        /*
+         * Find the size of Xen in pages and multiply by the size of a
+         * PTE. This will then be compared in the mapping loop below.
+         *
+         * Note the multiplication is just to avoid using an extra
+         * register/instruction per iteration.
+         */
+        mov_w r0, _start            /* r0 := vaddr(_start) */
+        mov_w r1, _end              /* r1 := vaddr(_end) */
+        sub   r0, r1, r0            /* r0 := effective size of Xen */
+        lsr   r0, r0, #PAGE_SHIFT   /* r0 := Number of pages for Xen */
+        lsl   r0, r0, #3            /* r0 := Number of pages * PTE size */
+
+        /* Setup boot_third: */
+        adr_l r4, boot_third
+
+        lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
+        lsl   r2, r2, #THIRD_SHIFT
+        orr   r2, r2, #PT_UPPER(MEM_L3) /* r2:r3 := map */
+        orr   r2, r2, #PT_LOWER(MEM_L3)
+        mov   r3, #0x0
+
+        /* ... map of vaddr(start) in boot_third */
+        mov   r1, #0
+1:      strd  r2, r3, [r4, r1]       /* Map vaddr(start) */
+        add   r2, r2, #PAGE_SIZE     /* Next page */
+        add   r1, r1, #8             /* Next slot */
+        cmp   r1, r0                 /* Loop until we map all of Xen */
+        blo   1b
+
+        /*
+         * Setup the 1:1 mapping so we can turn the MMU on. Note that
+         * only the first page of Xen will be part of the 1:1 mapping.
+         */
+        create_table_entry boot_pgtable, boot_second_id, r9, 1
+        create_table_entry boot_second_id, boot_third_id, r9, 2
+        create_mapping_entry boot_third_id, r9, r9
+
+        /*
+         * Find the first slot used. If the slot is not the same
+         * as TEMPORARY_AREA_FIRST_SLOT, then we will want to switch
+         * to the temporary mapping before jumping to the runtime
+         * virtual mapping.
+         */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
+        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
+        bne   use_temporary_mapping
+
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+        mov   r12, #0                /* r12 := temporary mapping not created */
+        mov   pc, lr
+
+use_temporary_mapping:
+        /*
+         * The identity mapping is not using the first slot
+         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
+         * See switch_to_runtime_mapping for more details.
+         */
+        PRINT("- Create temporary mapping -\r\n")
+
+        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
+        mov_w r0, TEMPORARY_XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        mov   r12, #1                /* r12 := temporary mapping created */
+        mov   pc, lr
+ENDPROC(create_page_tables)
+
+/*
+ * 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:
+ *   r9 : paddr(start)
+ *  r12 : Was the temporary mapping created?
+ *   lr : Virtual address to return to
+ *
+ * Clobbers r0 - r5
+ */
+enable_mmu:
+        PRINT("- Turning on paging -\r\n")
+
+        /*
+         * The state of the TLBs is unknown before turning on the MMU.
+         * Flush them to avoid stale one.
+         */
+        flush_xen_tlb_local r0
+
+        /* Write Xen's PT's paddr into the HTTBR */
+        adr_l r0, boot_pgtable
+        mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
+        mcrr  CP64(r0, r1, HTTBR)
+        isb
+
+        mrc   CP32(r0, HSCTLR)
+        /* Enable MMU and D-cache */
+        orr   r0, r0, #(SCTLR_Axx_ELx_M|SCTLR_Axx_ELx_C)
+        dsb                          /* Flush PTE writes and finish reads */
+        mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
+        isb                          /* Now, flush the icache */
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        mov   r5, lr                /* Save LR before overwritting it */
+        mov_w lr, 1f                /* Virtual address in the runtime mapping */
+        b     switch_to_runtime_mapping
+1:
+        mov   lr, r5                /* Restore LR */
+        /*
+         * At this point, either the 1:1 map or the temporary mapping
+         * will be present. The former may clash with other parts of the
+         * Xen virtual memory layout. As both of them are not used
+         * anymore, remove them completely to avoid having to worry
+         * about replacing existing mapping afterwards.
+         *
+         * On return this will jump to the virtual address requested by
+         * the caller.
+         */
+        teq   r12, #0
+        beq   remove_identity_mapping
+        b     remove_temporary_mapping
+ENDPROC(enable_mmu)
+
+/*
+ * Switch to the runtime mapping. The logic depends on whether the
+ * runtime virtual region is clashing with the physical address
+ *
+ *  - If it is not clashing, we can directly jump to the address in
+ *    the runtime mapping.
+ *  - If it is clashing, create_page_tables() would have mapped Xen to
+ *    a temporary virtual address. We need to switch to the temporary
+ *    mapping so we can remove the identity mapping and map Xen at the
+ *    correct position.
+ *
+ * Inputs
+ *    r9: paddr(start)
+ *   r12: Was a temporary mapping created?
+ *    lr: Address in the runtime mapping to jump to
+ *
+ * Clobbers r0 - r4
+ */
+switch_to_runtime_mapping:
+        /*
+         * Jump to the runtime mapping if the virt and phys are not
+         * clashing
+         */
+        teq   r12, #0
+        beq   ready_to_switch
+
+        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
+        mov_w r0, 1f
+        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
+        mov   pc, r0
+
+1:
+        /* Remove boot_second_id */
+        mov   r2, #0
+        mov   r3, #0
+        adr_l r0, boot_pgtable
+        get_table_slot r1, r9, 1            /* r1 := first slot */
+        lsl   r1, r1, #3                    /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        /* Map boot_second into boot_pgtable */
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        /* Ensure any page table updates are visible before continuing */
+        dsb   nsh
+        /*
+         * The function will return on the runtime mapping. So we want
+         * to prevent instruction fetch before the dsb completes.
+         */
+        isb
+
+ready_to_switch:
+        mov   pc, lr
+ENDPROC(switch_to_runtime_mapping)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * 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 - r6
+ */
+ENTRY(enable_secondary_cpu_mm)
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Non-boot CPUs need to move on to the proper pagetables, which were
+         * setup in prepare_secondary_mm.
+         *
+         * XXX: This is not compliant with the Arm Arm.
+         */
+        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        ldrd  r4, r5, [r4]           /* Actual value */
+        dsb
+        mcrr  CP64(r4, r5, HTTBR)
+        dsb
+        isb
+        flush_xen_tlb_local r0
+        pt_enforce_wxn r0
+
+        /* Return to the virtual address requested by the caller. */
+        mov   pc, r6
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * 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 - r6
+ */
+ENTRY(enable_boot_cpu_mm)
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /* Return to the virtual address requested by the caller. */
+        mov   lr, r6
+
+        b     setup_fixmap
+ENDPROC(enable_boot_cpu_mm)
+
+/*
+ * Remove the 1:1 map from the page-tables. It is not easy to keep track
+ * where the 1:1 map was mapped, so we will look for the top-level entry
+ * exclusive to the 1:1 map and remove it.
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *
+ * Clobbers r0 - r3
+ */
+remove_identity_mapping:
+        /* r2:r3 := invalid page-table entry */
+        mov   r2, #0x0
+        mov   r3, #0x0
+
+        /* Find the first slot used and remove it */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
+        mov_w r0, boot_pgtable       /* r0 := root table */
+        lsl   r1, r1, #3             /* r1 := Slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+        mov   pc, lr
+ENDPROC(remove_identity_mapping)
+
+/*
+ * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
+ *
+ * Clobbers r0 - r3
+ */
+remove_temporary_mapping:
+        /* r2:r3 := invalid page-table entry */
+        mov   r2, #0
+        mov   r3, #0
+
+        adr_l r0, boot_pgtable
+        mov_w r1, TEMPORARY_XEN_VIRT_START
+        get_table_slot r1, r1, 1     /* r1 := first slot */
+        lsl   r1, r1, #3             /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        mov  pc, lr
+ENDPROC(remove_temporary_mapping)
+
+/*
+ * Map the UART in the fixmap (when earlyprintk is used) and hook the
+ * fixmap table in the page tables.
+ *
+ * The fixmap cannot be mapped in create_page_tables because it may
+ * clash with the 1:1 mapping.
+ *
+ * Inputs:
+ *   r10: Physical offset
+ *   r11: Early UART base physical address
+ *
+ * Clobbers r0 - r4
+ */
+setup_fixmap:
+#if defined(CONFIG_EARLY_PRINTK)
+        /* Add UART to the fixmap table */
+        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
+        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
+        /* Ensure any page table updates made above have occurred. */
+        dsb   nshst
+        /*
+         * The fixmap area will be used soon after. So ensure no hardware
+         * translation happens before the dsb completes.
+         */
+        isb
+
+        mov   pc, lr
+ENDPROC(setup_fixmap)
+
+/* Fail-stop */
+fail:   PRINT("- Boot failed -\r\n")
+1:      wfe
+        b     1b
+ENDPROC(fail)
+
+/*
+ * Switch TTBR
+ * r1:r0       ttbr
+ *
+ * TODO: This code does not comply with break-before-make.
+ */
+ENTRY(switch_ttbr)
+        dsb                            /* Ensure the flushes happen before
+                                        * continuing */
+        isb                            /* Ensure synchronization with previous
+                                        * changes to text */
+        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
+        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
+        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
+        dsb                            /* Ensure completion of TLB+BP flush */
+        isb
+
+        mcrr  CP64(r0, r1, HTTBR)
+
+        dsb                            /* ensure memory accesses do not cross
+                                        * over the TTBR0 write */
+        isb                            /* Ensure synchronization with previous
+                                        * changes to text */
+        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
+        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
+        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
+        dsb                            /* Ensure completion of TLB+BP flush */
+        isb
+
+        mov pc, lr
+ENDPROC(switch_ttbr)
diff --git a/xen/arch/arm/include/asm/arm32/macros.h b/xen/arch/arm/include/asm/arm32/macros.h
index a4e20aa520..a06f485974 100644
--- a/xen/arch/arm/include/asm/arm32/macros.h
+++ b/xen/arch/arm/include/asm/arm32/macros.h
@@ -1,8 +1,65 @@
 #ifndef __ASM_ARM_ARM32_MACROS_H
 #define __ASM_ARM_ARM32_MACROS_H
 
+/* Offset between the early boot xen mapping and the runtime xen mapping */
+#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
+
     .macro ret
         mov     pc, lr
     .endm
 
+/*
+ * Move an immediate constant into a 32-bit register using movw/movt
+ * instructions.
+ */
+.macro mov_w reg, word
+        movw  \reg, #:lower16:\word
+        movt  \reg, #:upper16:\word
+.endm
+
+/*
+ * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
+ * within the range +/- 4GB of the PC.
+ *
+ * @dst: destination register
+ * @sym: name of the symbol
+ */
+.macro adr_l, dst, sym
+        mov_w \dst, \sym - .Lpc\@
+        .set  .Lpc\@, .+ 8          /* PC bias */
+        add   \dst, \dst, pc
+.endm
+
+#ifdef CONFIG_EARLY_PRINTK
+/*
+ * Macro to print a string to the UART, if there is one.
+ *
+ * Clobbers r0 - r3
+ */
+#define PRINT(_s)           \
+        mov   r3, lr       ;\
+        adr_l r0, 98f      ;\
+        bl    puts         ;\
+        mov   lr, r3       ;\
+        RODATA_STR(98, _s)
+
+/*
+ * Macro to print the value of register \rb
+ *
+ * Clobbers r0 - r4
+ */
+.macro print_reg rb
+        mov   r0, \rb
+        mov   r4, lr
+        bl    putn
+        mov   lr, r4
+.endm
+
+#else /* CONFIG_EARLY_PRINTK */
+#define PRINT(s)
+
+.macro print_reg rb
+.endm
+
+#endif /* !CONFIG_EARLY_PRINTK */
 #endif /* __ASM_ARM_ARM32_MACROS_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 17:59:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 17:59:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627301.978248 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyyRn-0008He-VM; Fri, 03 Nov 2023 17:59:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627301.978248; Fri, 03 Nov 2023 17:59: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 1qyyRn-0008HX-Qj; Fri, 03 Nov 2023 17:59:07 +0000
Received: by outflank-mailman (input) for mailman id 627301;
 Fri, 03 Nov 2023 17:59: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=ozhd=GQ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qyyRm-0008HR-ID
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 17:59:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac64f3c5-7a72-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 18:59:04 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 63FF74EE0744;
 Fri,  3 Nov 2023 18:59:01 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac64f3c5-7a72-11ee-98d8-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis tools
Date: Fri,  3 Nov 2023 18:58:58 +0100
Message-Id: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Static analysis tools may detect a possible null
pointer dereference at line 760 (the memcpy call)
of xen/common/domain.c. This ASSERT helps them in
detecting that such a condition is not possible
and also provides a basic sanity check.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
The check may be later improved by proper error checking
instead of relying on the semantics explained here:
https://lore.kernel.org/xen-devel/61f04d4b-34d9-4fd1-a989-56b042b4f3d8@citrix.com/

This addresses the caution reported by ECLAIR for MISRA C:2012 D4.11
---
 xen/common/domain.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8f9ab01c0cb7..9378c0417645 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -700,6 +700,8 @@ struct domain *domain_create(domid_t domid,
 
     if ( !is_idle_domain(d) )
     {
+        ASSERT(config);
+
         watchdog_domain_init(d);
         init_status |= INIT_watchdog;
 
-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 18:05:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 18:05:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627305.978258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyyY2-0001bo-I7; Fri, 03 Nov 2023 18:05:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627305.978258; Fri, 03 Nov 2023 18: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 1qyyY2-0001bh-FJ; Fri, 03 Nov 2023 18:05:34 +0000
Received: by outflank-mailman (input) for mailman id 627305;
 Fri, 03 Nov 2023 18: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=ozhd=GQ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qyyY1-0001bb-IE
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 18:05:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 938875be-7a73-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 19:05:31 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id C5FBE4EE0744;
 Fri,  3 Nov 2023 19:05:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 938875be-7a73-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH][for-4.19] xen: replace occurrences of SAF-1-safe with asmlinkage attribute
Date: Fri,  3 Nov 2023 19:05:27 +0100
Message-Id: <334b360fada7177e0b6e074fbdd33e02ce186b8f.1699034672.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
by the asmlinkage pseudo-attribute, for the sake of uniformity.
The deviation with a comment based on the SAF framework is also
mentioned as a last resort.

Add missing 'xen/compiler.h' #include-s where needed.

The text in docs/misra/deviations.rst is modified to reflect this change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 docs/misra/deviations.rst   |  6 +++---
 xen/arch/arm/cpuerrata.c    |  7 +++----
 xen/arch/arm/setup.c        |  5 ++---
 xen/arch/arm/smpboot.c      |  3 +--
 xen/arch/arm/traps.c        | 21 +++++++--------------
 xen/arch/x86/boot/cmdline.c |  5 +++--
 xen/arch/x86/boot/reloc.c   |  7 ++++---
 xen/arch/x86/extable.c      |  3 +--
 xen/arch/x86/setup.c        |  3 +--
 xen/arch/x86/traps.c        | 27 +++++++++------------------
 xen/common/efi/boot.c       |  5 ++---
 11 files changed, 36 insertions(+), 56 deletions(-)

diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index d468da2f5ce9..ed5d36c08647 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -134,9 +134,9 @@ Deviations related to MISRA C:2012 Rules:
      - Tagged as `safe` for ECLAIR.
 
    * - R8.4
-     - Functions and variables used only by asm modules are either marked with
-       the `asmlinkage` macro or with a SAF-1-safe textual deviation
-       (see safe.json).
+     - Functions and variables used only to interface with asm modules should
+       be marked with the `asmlinkage` macro. If that's not possible, consider
+       using the SAF-1-safe textual deviation (see safe.json).
      - Tagged as `safe` for ECLAIR.
 
    * - R8.6
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index 9137958fb682..a28fa6ac78cc 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -370,10 +370,9 @@ custom_param("spec-ctrl", parse_spec_ctrl);
 
 /* Arm64 only for now as for Arm32 the workaround is currently handled in C. */
 #ifdef CONFIG_ARM_64
-/* SAF-1-safe */
-void __init arm_enable_wa2_handling(const struct alt_instr *alt,
-                                    const uint32_t *origptr,
-                                    uint32_t *updptr, int nr_inst)
+void asmlinkage __init arm_enable_wa2_handling(const struct alt_instr *alt,
+                                               const uint32_t *origptr,
+                                               uint32_t *updptr, int nr_inst)
 {
     BUG_ON(nr_inst != 1);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3f3a45719ccb..bedbce3c0d37 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1077,9 +1077,8 @@ static bool __init is_dom0less_mode(void)
 size_t __read_mostly dcache_line_bytes;
 
 /* C entry point for boot CPU */
-/* SAF-1-safe */
-void __init start_xen(unsigned long boot_phys_offset,
-                      unsigned long fdt_paddr)
+void asmlinkage __init start_xen(unsigned long boot_phys_offset,
+                                 unsigned long fdt_paddr)
 {
     size_t fdt_size;
     const char *cmdline;
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index ec76de3cac12..a32f610b47d9 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -303,8 +303,7 @@ smp_prepare_cpus(void)
 }
 
 /* Boot the current CPU */
-/* SAF-1-safe */
-void start_secondary(void)
+void asmlinkage start_secondary(void)
 {
     unsigned int cpuid = init_data.cpuid;
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 5aa14d470791..63d3bc7bd67b 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -161,8 +161,7 @@ void init_traps(void)
     isb();
 }
 
-/* SAF-1-safe */
-void __div0(void)
+void asmlinkage __div0(void)
 {
     printk("Division by zero in hypervisor.\n");
     BUG();
@@ -1955,8 +1954,7 @@ static inline bool needs_ssbd_flip(struct vcpu *v)
  * Actions that needs to be done after entering the hypervisor from the
  * guest and before the interrupts are unmasked.
  */
-/* SAF-1-safe */
-void enter_hypervisor_from_guest_preirq(void)
+void asmlinkage enter_hypervisor_from_guest_preirq(void)
 {
     struct vcpu *v = current;
 
@@ -1970,8 +1968,7 @@ void enter_hypervisor_from_guest_preirq(void)
  * guest and before we handle any request. Depending on the exception trap,
  * this may be called with interrupts unmasked.
  */
-/* SAF-1-safe */
-void enter_hypervisor_from_guest(void)
+void asmlinkage enter_hypervisor_from_guest(void)
 {
     struct vcpu *v = current;
 
@@ -1999,8 +1996,7 @@ void enter_hypervisor_from_guest(void)
     vgic_sync_from_lrs(v);
 }
 
-/* SAF-1-safe */
-void do_trap_guest_sync(struct cpu_user_regs *regs)
+void asmlinkage do_trap_guest_sync(struct cpu_user_regs *regs)
 {
     const union hsr hsr = { .bits = regs->hsr };
 
@@ -2195,14 +2191,12 @@ void do_trap_guest_serror(struct cpu_user_regs *regs)
     __do_trap_serror(regs, true);
 }
 
-/* SAF-1-safe */
-void do_trap_irq(struct cpu_user_regs *regs)
+void asmlinkage do_trap_irq(struct cpu_user_regs *regs)
 {
     gic_interrupt(regs, 0);
 }
 
-/* SAF-1-safe */
-void do_trap_fiq(struct cpu_user_regs *regs)
+void asmlinkage do_trap_fiq(struct cpu_user_regs *regs)
 {
     gic_interrupt(regs, 1);
 }
@@ -2275,8 +2269,7 @@ static bool check_for_vcpu_work(void)
  *
  * The function will return with IRQ masked.
  */
-/* SAF-1-safe */
-void leave_hypervisor_to_guest(void)
+void asmlinkage leave_hypervisor_to_guest(void)
 {
     local_irq_disable();
 
diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index f9eee756aaed..93c6b68ed909 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -31,6 +31,7 @@ asm (
     );
 
 #include <xen/kconfig.h>
+#include <xen/compiler.h>
 #include "defs.h"
 #include "video.h"
 
@@ -340,8 +341,8 @@ static void vga_parse(const char *cmdline, early_boot_opts_t *ebo)
 }
 #endif
 
-/* SAF-1-safe */
-void __stdcall cmdline_parse_early(const char *cmdline, early_boot_opts_t *ebo)
+void asmlinkage __stdcall cmdline_parse_early(const char *cmdline,
+                                              early_boot_opts_t *ebo)
 {
     if ( !cmdline )
         return;
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 609b02cb73dc..668918db879a 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -33,6 +33,8 @@ asm (
 #include "../../../include/xen/kconfig.h"
 #include <public/arch-x86/hvm/start_info.h>
 
+#include <xen/compiler.h>
+
 #ifdef CONFIG_VIDEO
 # include "video.h"
 
@@ -347,9 +349,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
     return mbi_out;
 }
 
-/* SAF-1-safe */
-void *__stdcall reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
-                      uint32_t video_info)
+void *asmlinkage __stdcall reloc(uint32_t magic, uint32_t in,
+                                 uint32_t trampoline, uint32_t video_info)
 {
     alloc = trampoline;
 
diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c
index 74b14246e9d8..51245221ec03 100644
--- a/xen/arch/x86/extable.c
+++ b/xen/arch/x86/extable.c
@@ -194,8 +194,7 @@ static int __init cf_check stub_selftest(void)
 __initcall(stub_selftest);
 #endif
 
-/* SAF-1-safe */
-unsigned long search_pre_exception_table(struct cpu_user_regs *regs)
+unsigned asmlinkage long search_pre_exception_table(struct cpu_user_regs *regs)
 {
     unsigned long addr = regs->rip;
     unsigned long fixup = search_one_extable(
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index d70ad1e44a60..958ebeeef0c3 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -970,8 +970,7 @@ static struct domain *__init create_dom0(const module_t *image,
 /* How much of the directmap is prebuilt at compile time. */
 #define PREBUILT_MAP_LIMIT (1 << L2_PAGETABLE_SHIFT)
 
-/* SAF-1-safe */
-void __init noreturn __start_xen(unsigned long mbi_p)
+void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
 {
     const char *memmap_type = NULL;
     char *cmdline, *kextra, *loader;
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 6393467b06fd..2c2e19fe8964 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -833,8 +833,7 @@ void fatal_trap(const struct cpu_user_regs *regs, bool show_remote)
           (regs->eflags & X86_EFLAGS_IF) ? "" : " IN INTERRUPT CONTEXT");
 }
 
-/* SAF-1-safe */
-void do_unhandled_trap(struct cpu_user_regs *regs)
+void asmlinkage do_unhandled_trap(struct cpu_user_regs *regs)
 {
     unsigned int trapnr = regs->entry_vector;
 
@@ -921,8 +920,7 @@ static bool extable_fixup(struct cpu_user_regs *regs, bool print)
     return true;
 }
 
-/* SAF-1-safe */
-void do_trap(struct cpu_user_regs *regs)
+void asmlinkage do_trap(struct cpu_user_regs *regs)
 {
     unsigned int trapnr = regs->entry_vector;
 
@@ -1154,8 +1152,7 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
     }
 }
 
-/* SAF-1-safe */
-void do_invalid_op(struct cpu_user_regs *regs)
+void asmlinkage do_invalid_op(struct cpu_user_regs *regs)
 {
     u8 bug_insn[2];
     const void *eip = (const void *)regs->rip;
@@ -1200,8 +1197,7 @@ void do_invalid_op(struct cpu_user_regs *regs)
     panic("FATAL TRAP: vector = %d (invalid opcode)\n", X86_EXC_UD);
 }
 
-/* SAF-1-safe */
-void do_int3(struct cpu_user_regs *regs)
+void asmlinkage do_int3(struct cpu_user_regs *regs)
 {
     struct vcpu *curr = current;
 
@@ -1568,8 +1564,7 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs)
     return 0;
 }
 
-/* SAF-1-safe */
-void do_page_fault(struct cpu_user_regs *regs)
+void asmlinkage do_page_fault(struct cpu_user_regs *regs)
 {
     unsigned long addr;
     unsigned int error_code;
@@ -1646,8 +1641,7 @@ void do_page_fault(struct cpu_user_regs *regs)
  * during early boot (an issue was seen once, but was most likely a hardware
  * problem).
  */
-/* SAF-1-safe */
-void __init do_early_page_fault(struct cpu_user_regs *regs)
+void asmlinkage __init do_early_page_fault(struct cpu_user_regs *regs)
 {
     static unsigned int __initdata stuck;
     static unsigned long __initdata prev_eip, prev_cr2;
@@ -1847,8 +1841,7 @@ void trigger_nmi_continuation(void)
     apic_wait_icr_idle();
 }
 
-/* SAF-1-safe */
-void do_device_not_available(struct cpu_user_regs *regs)
+void asmlinkage do_device_not_available(struct cpu_user_regs *regs)
 {
 #ifdef CONFIG_PV
     struct vcpu *curr = current;
@@ -1884,8 +1877,7 @@ void do_device_not_available(struct cpu_user_regs *regs)
 #endif
 }
 
-/* SAF-1-safe */
-void do_debug(struct cpu_user_regs *regs)
+void asmlinkage do_debug(struct cpu_user_regs *regs)
 {
     unsigned long dr6;
     struct vcpu *v = current;
@@ -2010,8 +2002,7 @@ void do_debug(struct cpu_user_regs *regs)
     pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
 }
 
-/* SAF-1-safe */
-void do_entry_CP(struct cpu_user_regs *regs)
+void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
 {
     static const char errors[][10] = {
         [1] = "near ret",
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index e5e86f22b2b2..bc58dfce2f6c 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1254,9 +1254,8 @@ static void __init efi_exit_boot(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *Syste
     efi_fw_vendor = (void *)efi_fw_vendor + DIRECTMAP_VIRT_START;
 }
 
-/* SAF-1-safe */
-void EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
-                                      EFI_SYSTEM_TABLE *SystemTable)
+void asmlinkage EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
+                                                 EFI_SYSTEM_TABLE *SystemTable)
 {
     static EFI_GUID __initdata loaded_image_guid = LOADED_IMAGE_PROTOCOL;
     static EFI_GUID __initdata shim_lock_guid = SHIM_LOCK_PROTOCOL_GUID;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 18:08:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 18:08:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627309.978268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyybK-0002Uv-0E; Fri, 03 Nov 2023 18:08:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627309.978268; Fri, 03 Nov 2023 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 1qyybJ-0002Uo-TS; Fri, 03 Nov 2023 18:08:57 +0000
Received: by outflank-mailman (input) for mailman id 627309;
 Fri, 03 Nov 2023 18:08: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=ozhd=GQ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1qyybI-0002Ui-HB
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 18:08:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d7a9c87-7a74-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 19:08:55 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3A2EE4EE0744;
 Fri,  3 Nov 2023 19:08:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d7a9c87-7a74-11ee-98d8-6d05b1d4d9a1
MIME-Version: 1.0
Date: Fri, 03 Nov 2023 19:08:55 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
In-Reply-To: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
Message-ID: <3e58166f7dcfb3fd3bd15614096b27ce@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-03 18:58, Nicola Vetrini wrote:
> Static analysis tools may detect a possible null
> pointer dereference at line 760 (the memcpy call)
> of xen/common/domain.c. This ASSERT helps them in
> detecting that such a condition is not possible
> and also provides a basic sanity check.
> 
Suggested-by: Julien Grall <julien@xen.org>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

This should have been present as well, I forgot to add it.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 18:11:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 18:11:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627313.978278 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyydw-000472-DY; Fri, 03 Nov 2023 18:11:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627313.978278; Fri, 03 Nov 2023 18:11: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 1qyydw-00046v-9e; Fri, 03 Nov 2023 18:11:40 +0000
Received: by outflank-mailman (input) for mailman id 627313;
 Fri, 03 Nov 2023 18:11: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 1qyydu-00046l-Hz; Fri, 03 Nov 2023 18:11: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 1qyydu-0006nm-Cd; Fri, 03 Nov 2023 18:11: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 1qyydu-0006dZ-0U; Fri, 03 Nov 2023 18:11:38 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qyydu-0003jY-07; Fri, 03 Nov 2023 18:11: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=/uYkXp6Rb9iaKJcCERCGDMlhjGl+nFdKaRzNeKyMGYA=; b=GG8fZUC8OoV/9Ot0ntvAlPBBd9
	lSPg/cHIs0dhoS2WU6tjb1bL4YdSsgMe8X5BJffSD2P4hxk7iZEyoG2BUvjFXPtclu2QLtFpg7S8U
	6zkG892siUVdMHysro/uc/otPxtENckiQ14N27LS0dQxcOlGmbm8ZndEEIZE7+mKjGAE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183668-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183668: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=47ee78048cbacc643f9eacc55039ded609b2ad74
X-Osstest-Versions-That:
    libvirt=e7facdca25ddcc0fdabc8d86fdc1f1da39285fdf
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Nov 2023 18:11:38 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 183653
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183653
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183653
 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-xsm 15 migrate-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-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 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-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              47ee78048cbacc643f9eacc55039ded609b2ad74
baseline version:
 libvirt              e7facdca25ddcc0fdabc8d86fdc1f1da39285fdf

Last test of basis   183653  2023-11-02 04:20:30 Z    1 days
Testing same since   183668  2023-11-03 04:22:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Peter Krempa <pkrempa@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   e7facdca25..47ee78048c  47ee78048cbacc643f9eacc55039ded609b2ad74 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 18:57:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 18:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627323.978288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qyzM6-00038o-Lc; Fri, 03 Nov 2023 18:57:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627323.978288; Fri, 03 Nov 2023 18:57: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 1qyzM6-00038h-Hx; Fri, 03 Nov 2023 18:57:18 +0000
Received: by outflank-mailman (input) for mailman id 627323;
 Fri, 03 Nov 2023 18:57: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=AOuS=GQ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1qyzM4-00038b-Ne
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 18:57:16 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7e88::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id caeb077d-7a7a-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 19:57:11 +0100 (CET)
Received: from PH8PR05CA0017.namprd05.prod.outlook.com (2603:10b6:510:2cc::29)
 by LV2PR12MB5941.namprd12.prod.outlook.com (2603:10b6:408:172::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Fri, 3 Nov
 2023 18:57:07 +0000
Received: from SA2PEPF000015CA.namprd03.prod.outlook.com
 (2603:10b6:510:2cc:cafe::6c) by PH8PR05CA0017.outlook.office365.com
 (2603:10b6:510:2cc::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10 via Frontend
 Transport; Fri, 3 Nov 2023 18:57:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015CA.mail.protection.outlook.com (10.167.241.200) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6954.19 via Frontend Transport; Fri, 3 Nov 2023 18:57:06 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 3 Nov
 2023 13:57:05 -0500
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Fri, 3 Nov 2023 13:57: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: caeb077d-7a7a-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LCgXwkm1x1SbnSUxQlUE5m6i2X/XpIkTRbncLLiVF6B0n6uhPcUK/WVdwNKp/cweMQ/6xn2iRD+IUFbzyzz7Lp0MCicE4nu94pjN6hosqbnrri3nc/YBsqt+FtpH4dvhcNs5bNWSVY6UHWE1JHD4WfQHq2X2KDTGJIH8GEBGXxHmP5Cr7vmBY1KJOH8VnX3dc1wAqY82HpBY5XGBQbn7uNuX9paeOjR9liwnRTs4h0/G+gGPVhl9juPCauvXwh4lsz0DNMsXGkBt/wpiDmZaxfB8hIa30Y+U9wEO6QLsxEkUvXFycT8B9tbeAqNKpW/i+RpLiVvyEx79yjFz5/7sKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+oasChRSyY8L4lzZUNHygl3p+RdmafvD9eLNDlUNPU=;
 b=cbUWSQrVBDm8AlcIocXEJLkhG+TEMLVQEZm7jTzCOtZSbcKrzsnQDqBPdulayxhHtKPVzPNsLDhD7en53ZtF61aT4yRswH+x8JygjoZMOrWqYFNWQWrtjb+Z//sk+EItYRrQfXWR/su9md6e/YgLCr+gtbJ5PXTX5iRVCNFzXrMcC88p1crB8eNWCL5KEtlslByg+SBGxCd4K4pXcOTiB+1QEdJDx4e7o1RpiW/21L06KAGwv14iBex1sAg0Av7cIWvUnMQM8WDenQ2wof69YyGO1pHOJxNOYj/X/7vhCbwC5z56a+Ld1ci4Pr37mO7JcB9WOusp6b0FSISDOQVr7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=R+oasChRSyY8L4lzZUNHygl3p+RdmafvD9eLNDlUNPU=;
 b=Gztp/vgeEsNlet3Cftc+dKgmXYIbCbrMHuj4/QTKvwUsC1HYybj4/T8NHcGVLRdJkNaQHWmdsyWeUxZCSIs7mzqAtP8dxfnRVWma6NYsKuUoaco7AkH5lcv+0CGXNQd4EK5DGq742aKOC1EA9Vrbo1Il9PsqnYwuKIOLT0de4uA=
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: <955bfaeb-eb74-4f48-924e-cb3e290fe6c5@amd.com>
Date: Fri, 3 Nov 2023 14:57:03 -0400
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 2/9] iommu/arm: Add iommu_dt_xlate()
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Rahul Singh <rahul.singh@arm.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Jan Beulich <jbeulich@suse.com>, Paul Durrant
	<paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20231004145604.1085358-1-stewart.hildebrand@amd.com>
 <20231004145604.1085358-3-stewart.hildebrand@amd.com>
 <31be8fc3-f156-4fd1-9700-2cadbcbec392@xen.org>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <31be8fc3-f156-4fd1-9700-2cadbcbec392@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CA:EE_|LV2PR12MB5941:EE_
X-MS-Office365-Filtering-Correlation-Id: 3da4c009-c0b9-4fc7-b7e9-08dbdc9eacbf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6afcpPcO38fa1MembjYXbcrZcEEpa5SjEcwN1nireKVBbNtB5+0nXsG6p5U3Kd6MzBS1REUjhy/7R53tvHF0H1D3rzfnOuL1+aHnW9kvic0S8qQh6Y3OrHjagctqS8xftq74ChAOnAwnX7kUVXh74BubbrVm42iez9wiJ/9zS+c72rtJM1defBQzjM7ZTbIdQTM6Xm2C26iMBPsfNk3VSMn7DeMKoJqKAnX1HqwR+sJheqYa1oP689L/k96fhxgtVVEa1UKxhXs1DtcFqsLU3HKf9lFNMP5PrGSqFt1yCUHXbAHyJ+LA3AJbEZ3n9jIVstxppGye/0mpE9eHGIQ3XJnLeD4CuSH27sb2uwNCfSkvcr6wedRRcMGY4Qb7GXJdtTKqjkFGSmz1VrhqFBfCgv+FZcX3rcUuG44n2fjSe4Io3HpV3Xz2EG/CdivmZxLnNXNCcqJusW+jBvSoCNTzxeEtXaDJVich8MwD/4aYPMrrvZ8EkgqMTgkJxVqrP44oZhkmxr2kwulVae2V1/Ml0E5OQNiJCmTGkYcQFje3X/vM1eG0RaFBTEKfyaEcU+tLZgtEGbhyhISjRixOga4gAUbOph1tb7sNVp6CIx3Ssdajd1z07Te2DXjD1NEDJVg/4VRYO4quYBwOsYnDQcDuwaeH1lYzfqjYyT5+JDP6etxEjJwKC+KR8VUKtX2/hafXYyQwLvV9UIJAo9zRNNryjebKeKe8BadFXoCT4eQYftYd4g4IKiZV+B4sKmcpXuZOThaHJOjneZNJwK7qpqcWxe7uc+TOGjbIhNB3DFr36gg=
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:(13230031)(4636009)(346002)(376002)(39860400002)(136003)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799009)(82310400011)(36840700001)(46966006)(40470700004)(40460700003)(26005)(2616005)(478600001)(36860700001)(53546011)(47076005)(336012)(426003)(2906002)(83380400001)(5660300002)(44832011)(41300700001)(966005)(110136005)(16576012)(8936002)(4326008)(54906003)(8676002)(70206006)(70586007)(316002)(86362001)(356005)(82740400003)(81166007)(31696002)(36756003)(31686004)(40480700001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 18:57:06.3777
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3da4c009-c0b9-4fc7-b7e9-08dbdc9eacbf
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:
	SA2PEPF000015CA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5941

On 10/24/23 14:39, Julien Grall wrote:
> Hi Stewart,
> 
> On 04/10/2023 15:55, Stewart Hildebrand wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> Move code for processing DT IOMMU specifier to a separate helper.
>> This helper will be re-used for adding PCI devices by the subsequent
>> patches as we will need exact the same actions for processing
>> DT PCI-IOMMU specifier.
>>
>> While at it introduce NO_IOMMU to avoid magic "1".
>>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>> v4->v5:
>> * rebase on top of "dynamic node programming using overlay dtbo" series
>> * move #define NO_IOMMU 1 to header
>> * s/these/this/ inside comment
>>
>> v3->v4:
>> * make dt_phandle_args *iommu_spec const
>> * move !ops->add_device check to helper
>>
>> v2->v3:
>> * no change
>>
>> v1->v2:
>> * no change
>>
>> downstream->v1:
>> * trivial rebase
>> * s/dt_iommu_xlate/iommu_dt_xlate/
>>
>> (cherry picked from commit c26bab0415ca303df86aba1d06ef8edc713734d3 from
>>   the downstream branch poc/pci-passthrough from
>>   https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc.git)
>> ---
>>   xen/drivers/passthrough/device_tree.c | 48 +++++++++++++++++----------
>>   xen/include/xen/iommu.h               |  2 ++
>>   2 files changed, 32 insertions(+), 18 deletions(-)
>>
>> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
>> index 075fb25a3706..159ace9856c9 100644
>> --- a/xen/drivers/passthrough/device_tree.c
>> +++ b/xen/drivers/passthrough/device_tree.c
>> @@ -137,6 +137,30 @@ int iommu_release_dt_devices(struct domain *d)
>>       return 0;
>>   }
>>
>> +static int iommu_dt_xlate(struct device *dev,
>> +                          const struct dt_phandle_args *iommu_spec)
>> +{
>> +    const struct iommu_ops *ops = iommu_get_ops();
> 
> NIT: Rather than calling iommu_get_ops(), how about passing the ops as a
> parameter of iommu_dt_xlate()?

Yes, will do.

> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Thanks!

> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 19:46:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 19:46:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627329.978307 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz07z-00032o-BD; Fri, 03 Nov 2023 19:46:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627329.978307; Fri, 03 Nov 2023 19:46: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 1qz07z-00032h-8a; Fri, 03 Nov 2023 19:46:47 +0000
Received: by outflank-mailman (input) for mailman id 627329;
 Fri, 03 Nov 2023 19:46: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=wEjK=GQ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qz07y-0002vU-PA
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 19:46:46 +0000
Received: from mail-qv1-xf36.google.com (mail-qv1-xf36.google.com
 [2607:f8b0:4864:20::f36])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7eac6fa-7a81-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 20:46:45 +0100 (CET)
Received: by mail-qv1-xf36.google.com with SMTP id
 6a1803df08f44-66d0169cf43so14333826d6.3
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 12:46:45 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 ef19-20020a0562140a7300b0063f88855ef2sm1022825qvb.101.2023.11.03.12.46.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Nov 2023 12:46: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: b7eac6fa-7a81-11ee-98d8-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699040804; x=1699645604; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6gqDHPgN6jv++qihAVFZm0kQRDggASrTCe7c/nz15F8=;
        b=L7mOowzysLxb6JDWGfn62Xcx7nWDdWHyIUmgHIBfAlbScF1Vl81kPHUv0bTRiZwawq
         AbN/nqKa+FgxpZfhauNYsZU9NSVfrk+nYrgiXpvYOyAwla82GS/AGU11xuPaEE9taOlP
         W5xlZkuS5rOVcCbLHNz++Rqp1Goibo1l0V0qyar1T+RTpNHyl7teJ27+GtpWq0EU3o5w
         cDgcXQXaH/Ekj6kILAZM87XjkPVGbNmu4XFhtZe//KKBYR5IA44qGVuVrZfM7ACrVVWl
         MSRszQq/YzVVKX7gmQ4u89LaBXTSpZMerkjm0YumpQH0fCK2UXl256+Rt/ZXYmI+aNbs
         NwpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699040804; x=1699645604;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6gqDHPgN6jv++qihAVFZm0kQRDggASrTCe7c/nz15F8=;
        b=P8FS4NeEYbtxEXvomf+KE/lulqPTbmpRGNlzopTG9a4R+/TRDFbYMRbgt0S0S3CTVd
         zKNkdNcDprQQtmEC3YFV6ZfFmQUnImYfAka6DLpDGm2hVPMmqd4KKGnNV+d2ipN05VBx
         GIyhXoAYJcbGRNmxxSRK9eSVUwiDvwMlU6ZpmaVq/5S2pTTfTIEzikQzlvlu/h51onkt
         ZaoIB+5Jgpsrl7En8ErBPP5lXix9bgQRR2CNFq+9dehnqwhKcgDJFgc/tLYgGvWBobOq
         V567M2TcznHx/MqUaz4OTnU9yS9NXe2Xjv7MlpjKlTPWHn/Tzd+4cvr7YIbqVc/y18X5
         3JjQ==
X-Gm-Message-State: AOJu0YwhShpGGSUBaAeYpmN5wSQ2lbTKkCQLeOSrOxrZLVvIWQ/z8odn
	gciWqPzFtH4tBNXQj2bmZtUn09+xI/s=
X-Google-Smtp-Source: AGHT+IGHHdFzOukNi8hidgytliM+4825JSb86BpajPyr1TL5n6ElQiNdLtX7508lkq2xBR0JnZQg1g==
X-Received: by 2002:a05:6214:1c41:b0:64f:4e64:5962 with SMTP id if1-20020a0562141c4100b0064f4e645962mr30190273qvb.31.1699040803814;
        Fri, 03 Nov 2023 12:46:43 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	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 for-4.18 1/2] golang: Fixup binding for Arm FF-A
Date: Fri,  3 Nov 2023 15:45:50 -0400
Message-ID: <20231103194551.64448-2-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231103194551.64448-1-jandryuk@gmail.com>
References: <20231103194551.64448-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The new FF-A TEE type changed the go bindings.  Update them.

Fixes: 8abdd8d52862 ("tools: add Arm FF-A mediator")
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/golang/xenlight/types.gen.go | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 4f40aac28c..6a9ebb3fec 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -488,6 +488,7 @@ type TeeType int
 const(
 TeeTypeNone TeeType = 0
 TeeTypeOptee TeeType = 1
+TeeTypeFfa TeeType = 2
 )
 
 type SveType int
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 19:46:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 19:46:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627328.978297 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz07y-0002o3-4C; Fri, 03 Nov 2023 19:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627328.978297; Fri, 03 Nov 2023 19: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 1qz07y-0002nw-1S; Fri, 03 Nov 2023 19:46:46 +0000
Received: by outflank-mailman (input) for mailman id 627328;
 Fri, 03 Nov 2023 19:46: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=wEjK=GQ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qz07v-0002nq-Sg
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 19:46:43 +0000
Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com
 [2607:f8b0:4864:20::734])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b566556f-7a81-11ee-9b0e-b553b5be7939;
 Fri, 03 Nov 2023 20:46:41 +0100 (CET)
Received: by mail-qk1-x734.google.com with SMTP id
 af79cd13be357-77063481352so283971385a.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 12:46:41 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 ef19-20020a0562140a7300b0063f88855ef2sm1022825qvb.101.2023.11.03.12.46.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Nov 2023 12:46: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: b566556f-7a81-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699040800; x=1699645600; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=j+4dhvies66LiWDYNd3p0v1aNRY4JVVMabvE4Lw6PAk=;
        b=RSs/mNgCcUto2fBhPqWoNc6QFqaUM3cB2WA+bw88iPxkfn+gZHk2+h9qiaHQ33w5/X
         5RM/hs9mnQ8TYu6kgWGs0hMGjT9MjtEgc0eWFlGMxLpIHg+ZgC0RbfCxhduzEBS6lQX2
         qMdqmaLAt6cL9UYxk4Fpt2R0XMwtwfxRwBx9DRBFfMT7fW/zvQ7r+PMN9JXUuuDQs8TT
         ZdjxinjeaakCWvh8uSQkNwzDfscdo9GH1cOqnKFSlnIRnVSwAnxr36VO6J/cx0D5j0F6
         8nf7//12zEwtv5GlOqT8OgYiABN6bq1CLT1WxJzK6A0YsxTSoRlY+UA8JPiang9U66Ep
         unkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699040800; x=1699645600;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=j+4dhvies66LiWDYNd3p0v1aNRY4JVVMabvE4Lw6PAk=;
        b=Q3OhHB5J9hPrW4/I+eV6WOVEfyoUqSjKn524WWGTmww1lhsVFGO7+oeSxv8GUxMYsW
         MEtYEFh/k1jEiF1DyxdhbtMZoK5QVRfZ+o1t4cV++qe9jTgdLw9KIFAq+2rawr0YyOdK
         xI3dcG3HIw20WCKKeQhTrgBUoo/Er3/ZFmiedQ8CSQXixdcOqig4kr3a37HiFhZhuKiX
         STl9j6ASgmZXbqD0NEKR+2wUo35QE5eCi8q1UeFld/NFNDSNcdEsstf+luOgPIcsBU64
         Ngr13lehnLEGLaF7mUNuvRHW0LS9YpRAJCAeMkDTZZdoZi54h8krIfJi/1BUiWz632K6
         NbuA==
X-Gm-Message-State: AOJu0YxBaw+KS0PvN0Bk4wAalWr94MZQ96yDlPFD3/pSxUCM4CIHKH9j
	o/5DvuTYuEWLUDdXHcWLXo5QMobGWis=
X-Google-Smtp-Source: AGHT+IHtC23R3PfWvCji43KEKMgNvhcAf0oEP03VOqeOocFjW2h+G9uvMENVUv76n5qY1dKLjicsSg==
X-Received: by 2002:a05:6214:c43:b0:672:131e:4e9 with SMTP id r3-20020a0562140c4300b00672131e04e9mr5379946qvj.6.1699040799771;
        Fri, 03 Nov 2023 12:46:39 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	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 for-4.18 0/2] golang: Binding fixes
Date: Fri,  3 Nov 2023 15:45:49 -0400
Message-ID: <20231103194551.64448-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These two patches refresh the bindings which have gone a little stale.
I used two separate patches since the XSA-443 one may want backporting.

Jason Andryuk (2):
  golang: Fixup binding for Arm FF-A
  golang: Fix bindings after XSA-443

 tools/golang/xenlight/helpers.gen.go | 9 +++++++++
 tools/golang/xenlight/types.gen.go   | 3 +++
 2 files changed, 12 insertions(+)

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 19:46:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 19:46:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627330.978318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz082-0003Ia-KW; Fri, 03 Nov 2023 19:46:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627330.978318; Fri, 03 Nov 2023 19:46: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 1qz082-0003IN-GC; Fri, 03 Nov 2023 19:46:50 +0000
Received: by outflank-mailman (input) for mailman id 627330;
 Fri, 03 Nov 2023 19:46: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=wEjK=GQ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qz081-0002vU-Vh
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 19:46:49 +0000
Received: from mail-yw1-x112d.google.com (mail-yw1-x112d.google.com
 [2607:f8b0:4864:20::112d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba2d877d-7a81-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 20:46:49 +0100 (CET)
Received: by mail-yw1-x112d.google.com with SMTP id
 00721157ae682-5afa5dbc378so29662657b3.0
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 12:46:49 -0700 (PDT)
Received: from pm2-ws13.praxislan02.com
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 ef19-20020a0562140a7300b0063f88855ef2sm1022825qvb.101.2023.11.03.12.46.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 03 Nov 2023 12:46: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: ba2d877d-7a81-11ee-98d8-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699040807; x=1699645607; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Wpl41EZOjbyg7XVTpO/UNcoGu53oa0BiEkeSWfPcuVI=;
        b=itFAp0aZBbuKpmvApoO9fRzHcEnBv9hlza5dqcixBh0Qo2kcnrskRf0hjDuFw0jthg
         ChnCdpcOZYn/BjkcIMhWz/StljThmnr6+sTpTi68R82YH8RUlC7QncQG/b2RKOblOKtA
         tOSAcIkDuLb1TT1j42msPY+Sv95NitnXNX1yU+/JrmkFTJtqQZuxOIN6O6Wh6z5dkRJh
         6Y3VUz8G5hEAjIJE/+Pkf8fUkeXRWZs+kmcZe0pbz5dewMDEE0I6sQWVvqzhyEJzAevC
         uTFZH4ntpTLwhq/r9YL+Xs2LI8sKs4Po7acLSfFnvoiyuTGiacufV53Nf7S9htbaq30x
         aerg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699040807; x=1699645607;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Wpl41EZOjbyg7XVTpO/UNcoGu53oa0BiEkeSWfPcuVI=;
        b=VRL7nABDyjo+iBBftDuGshUdeiCpU92nP55FtVO+06OFFFHjDBnbhc+7tQQFibwpcG
         NL4FOaqusrWm15xowkxZjMYAQ88JB8380aCP9x5Su5ZdtFvMIvX6U0IYRRKZn4pkbKEL
         nC9VybnJoybKUpK0wLq94yHVWtBGaQNAwqrLGTSwHBV4/9sZH3agvoBA1kUBHtBh8ofy
         /H/G5/M4vZIyZXAPYB5SEzUnWyPkaLurM/SiBXZDEn+zQiMaZrkJ3BhC21Oj31aHd7tF
         yqK3mypRkXWRVErjQ/p8h58zd3t+e37j8xknlWd1qnCOwWRn9FILFes/QfLERs5iZqGg
         5wbw==
X-Gm-Message-State: AOJu0YxU+kCpUnapyIkT1znAEHxmk2v67theGff2jsE2MWMuEzJ/yN0l
	ZsyUZslXgXOQ9ewfxR4sWVFHJOboAq8=
X-Google-Smtp-Source: AGHT+IFIsiNTYs6B0gk0IIINbN64zIztMVccIMt2EE26aigghBFgcHmejDrGE4GDsrXT8affct0jcg==
X-Received: by 2002:a0d:ddd3:0:b0:5a7:bb6e:7958 with SMTP id g202-20020a0dddd3000000b005a7bb6e7958mr4385337ywe.7.1699040807516;
        Fri, 03 Nov 2023 12:46:47 -0700 (PDT)
From: Jason Andryuk <jandryuk@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
	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 for-4.18 2/2] golang: Fix bindings after XSA-443
Date: Fri,  3 Nov 2023 15:45:51 -0400
Message-ID: <20231103194551.64448-3-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231103194551.64448-1-jandryuk@gmail.com>
References: <20231103194551.64448-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The new bootloader_restrict and bootloader_user fields in the libxl idl
change the bindings.  Update them.

Fixes: 1f762642d2ca ("libxl: add support for running bootloader in restricted mode")
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/golang/xenlight/helpers.gen.go | 9 +++++++++
 tools/golang/xenlight/types.gen.go   | 2 ++
 2 files changed, 11 insertions(+)

diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight/helpers.gen.go
index 3ecffdf0ef..35e209ff1b 100644
--- a/tools/golang/xenlight/helpers.gen.go
+++ b/tools/golang/xenlight/helpers.gen.go
@@ -1112,6 +1112,10 @@ x.Bootloader = C.GoString(xc.bootloader)
 if err := x.BootloaderArgs.fromC(&xc.bootloader_args);err != nil {
 return fmt.Errorf("converting field BootloaderArgs: %v", err)
 }
+if err := x.BootloaderRestrict.fromC(&xc.bootloader_restrict);err != nil {
+return fmt.Errorf("converting field BootloaderRestrict: %v", err)
+}
+x.BootloaderUser = C.GoString(xc.bootloader_user)
 x.TimerMode = TimerMode(xc.timer_mode)
 if err := x.NestedHvm.fromC(&xc.nested_hvm);err != nil {
 return fmt.Errorf("converting field NestedHvm: %v", err)
@@ -1465,6 +1469,11 @@ xc.bootloader = C.CString(x.Bootloader)}
 if err := x.BootloaderArgs.toC(&xc.bootloader_args); err != nil {
 return fmt.Errorf("converting field BootloaderArgs: %v", err)
 }
+if err := x.BootloaderRestrict.toC(&xc.bootloader_restrict); err != nil {
+return fmt.Errorf("converting field BootloaderRestrict: %v", err)
+}
+if x.BootloaderUser != "" {
+xc.bootloader_user = C.CString(x.BootloaderUser)}
 xc.timer_mode = C.libxl_timer_mode(x.TimerMode)
 if err := x.NestedHvm.toC(&xc.nested_hvm); err != nil {
 return fmt.Errorf("converting field NestedHvm: %v", err)
diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/types.gen.go
index 6a9ebb3fec..7907aa8999 100644
--- a/tools/golang/xenlight/types.gen.go
+++ b/tools/golang/xenlight/types.gen.go
@@ -577,6 +577,8 @@ DeviceTree string
 Acpi Defbool
 Bootloader string
 BootloaderArgs StringList
+BootloaderRestrict Defbool
+BootloaderUser string
 TimerMode TimerMode
 NestedHvm Defbool
 Apic Defbool
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 03 19:48:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 19:48:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627337.978327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz09y-0004RF-VW; Fri, 03 Nov 2023 19:48:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627337.978327; Fri, 03 Nov 2023 19:48: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 1qz09y-0004R8-Ss; Fri, 03 Nov 2023 19:48:50 +0000
Received: by outflank-mailman (input) for mailman id 627337;
 Fri, 03 Nov 2023 19:48: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=wEjK=GQ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qz09x-0004Qy-L7
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 19:48:49 +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 019c7857-7a82-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 20:48:48 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-542d654d03cso3945956a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 12:48: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: 019c7857-7a82-11ee-98d8-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699040928; x=1699645728; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VZQCaLuQc2CvuSffKn1ajRC9RT5dWlLDAI6PwcajCHw=;
        b=QqtXS6Mgqm4SiiqzoZJsOpJgczgkKg2xC1K1wV9zto9X/3LSZsTNci91f3E1WqzPmi
         e51IhdKzF0X5hqZVJKPH9Ik1ERaLXfRVWajb9aiAs2AQIVhOF/ZoZnq6RROrLxrE3Ynu
         VkKd7HIlaveJLoI7CgG934mwKRxAJmBHC2+yHybkJSlRbHB4vbDOkSsquqfOSp8TwAq3
         0jDzrd7qiYDQRFef9rXS/eV5MGEQp/sK0JeDqQ7L2iB4xBEhp2iBk3DjRLZhQaaV3dk6
         N/sTxY94p4RNImYZWXCf3t53U2M5hPZGVqxyj90p8DZRpUgdzoRAOaMg3ciAbexXh6Ka
         mYUQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699040928; x=1699645728;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=VZQCaLuQc2CvuSffKn1ajRC9RT5dWlLDAI6PwcajCHw=;
        b=OyZE2k7gyqPMoE6V0zkv0VC9gYEBkrrryosg4FI5O7kjl60zD8EK+qfzCSwq+11hui
         5X8Z9Efyvsl7rPxs50OeJGSgzhBMbMdP5nHLNze8YcTdlwHcRV9rTh7H7wNTy2TMgOgP
         e/eGFnPWj2F0UfTNPNHXde3APQsKxLLtSfEKPqNPJTpMs+xy9fQNYiqCt33C+18+zpBN
         rJtN7hFAnb22xzJsFk8bQ55+4SW+BYDBZNZKqFD6+2cEoAwhgNkELFijbFhPUjdPCpbB
         OLGVWvwR4CVST+yR86+fLJtmSECrbSxqMxA54ouXTDKifhzJ65RvpYslnxytyL408eCD
         JtGg==
X-Gm-Message-State: AOJu0YyvLLLREukF+S9oeHhQN358PkymtJzyv//DRWuB64xlS3WfuVdj
	YQWH1AwUHQudAFxREw5CC0W4Mq1H29oBM5yNbGieKsWK+hU=
X-Google-Smtp-Source: AGHT+IFyXOf3cCQGY239oLHAgDAQ322v9xv1Ta7EsCeYQ2QLrFqRPniOMEb8ZTZrkiu6xjY6QnCmXOhhVsREahpHUnw=
X-Received: by 2002:a50:bac8:0:b0:543:7f7d:4a3f with SMTP id
 x66-20020a50bac8000000b005437f7d4a3fmr9991006ede.30.1699040927986; Fri, 03
 Nov 2023 12:48:47 -0700 (PDT)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-9-jgross@suse.com>
In-Reply-To: <20231101093325.30302-9-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Fri, 3 Nov 2023 15:48:35 -0400
Message-ID: <CAKf6xptRA6N8ymdgqPS_c+LjBFgN9NmmJAuJx3+vCV8GGkaw6Q@mail.gmail.com>
Subject: Re: [PATCH 08/29] tools/xenlogd: add 9pfs walk request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 6:09=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the walk request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/xenlogd/io.c      | 138 ++++++++++++++++++++++++++++++++++++++++
>  tools/xenlogd/xenlogd.h |   1 +
>  2 files changed, 139 insertions(+)
>
> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> index fa825c9f39..778e1dc2c9 100644
> --- a/tools/xenlogd/io.c
> +++ b/tools/xenlogd/io.c

> @@ -600,6 +616,124 @@ static void p9_attach(device *device, struct p9_hea=
der *hdr)
>      fill_buffer(device, hdr->cmd + 1, hdr->tag, "Q", &qid);
>  }
>
> +static void p9_walk(device *device, struct p9_header *hdr)
> +{
> +    uint32_t fid;
> +    uint32_t newfid;
> +    struct p9_fid *fidp;
> +    struct p9_qid *qids =3D NULL;
> +    unsigned int n_names =3D 0;
> +    unsigned int *names =3D NULL;
> +    unsigned int walked =3D 0;
> +    unsigned int i;
> +    char *path =3D NULL;
> +    unsigned int path_len;
> +    int ret;
> +
> +    ret =3D fill_data(device, "UUaS", &fid, &newfid, &n_names, &names);
> +    if ( n_names > P9_WALK_MAXELEM )
> +    {
> +        p9_error(device, hdr->tag, EINVAL);
> +        goto out;
> +    }
> +    if ( ret !=3D 3 + n_names )
> +    {
> +        p9_error(device, hdr->tag, errno);
> +        goto out;
> +    }
> +
> +    fidp =3D find_fid(device, fid);
> +    if ( !fidp )
> +    {
> +        p9_error(device, hdr->tag, ENOENT);
> +        goto out;
> +    }
> +    if ( fidp->opened )
> +    {
> +        p9_error(device, hdr->tag, EINVAL);
> +        goto out;
> +    }

https://ericvh.github.io/9p-rfc/rfc9p2000.html#anchor33
"""
The fid must represent a directory unless zero path name elements are speci=
fied.
"""
and
"""
For the first elementwise walk to succeed, the file identified by fid
must be a directory, and the implied user of the request must have
permission to search the directory (see intro(5)). Subsequent
elementwise walks have equivalent restrictions applied to the implicit
fid that results from the preceding elementwise walk.
"""

Maybe a dir check should be added?  However, it doesn't look like QEMU
does this check.  Seems like it is implicitly checked by the path
concatenation, so it may be fine as-is.

If you think it's ok as-is:
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 19:50:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 19:50:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627343.978338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz0BP-0005qx-94; Fri, 03 Nov 2023 19:50:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627343.978338; Fri, 03 Nov 2023 19:50: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 1qz0BP-0005qq-6C; Fri, 03 Nov 2023 19:50:19 +0000
Received: by outflank-mailman (input) for mailman id 627343;
 Fri, 03 Nov 2023 19:50: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=va+T=GQ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qz0BO-0005qk-1V
 for xen-devel@lists.xenproject.org; Fri, 03 Nov 2023 19:50:18 +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 361490e7-7a82-11ee-98d8-6d05b1d4d9a1;
 Fri, 03 Nov 2023 20:50:17 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-32f7bd27c2aso1635269f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 03 Nov 2023 12:50:17 -0700 (PDT)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 f16-20020adff450000000b0032fb7b4f191sm2256009wrp.91.2023.11.03.12.50.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 03 Nov 2023 12:50: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: 361490e7-7a82-11ee-98d8-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1699041016; x=1699645816; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Dw1KxyFf/ZyRIX2bXOtGfCz+sH1TNbRRmAYCq3USUCs=;
        b=iAughmNQaRXWO9gyEyLKUJmsbmWi4WPdDsLD+iYg9XKhnV6Jr+E0Vi2Z+UANa9n/Bl
         yU5pRGOp4ar6g4AOMydadcXbEKqlK/iosLrfrGeJxL/D4heQMw0CABiQmhgK2VO6vYpT
         /q3B72OIVDU9fXoqQ32GZsXHGPH0VdS6HJ59elldEWvENoXYFMuhv6E4+irVMV4sWLP0
         +7iQ4TOBMRAdSu0dhKDEomiwiyocA9lxbbCpznize0t7FR95nzK8+7bmUlK873Q7xt8b
         SCFAqb7BqFoCztPVmkQgyr2kBl44bn7dIxRLrtbmFeMLBZMsB3v5lDm8aLnAwJZmNPqW
         Vd7g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699041016; x=1699645816;
        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:subject:date:message-id:reply-to;
        bh=Dw1KxyFf/ZyRIX2bXOtGfCz+sH1TNbRRmAYCq3USUCs=;
        b=eWNsrdzix9NBg3T37ulXdwobyye6k4CJYnnJ6BjpymmEtYREHqS/qtc48wWQ5atHzy
         36O+U5QSbMLTHNpgh/ADpa59I6t6Tf0ruRb6Vx71VV/WryRfUgTQ78yPk2p6OHgrrIqM
         pTyrzPsMQ/Qlw529hkAmJXsg/sd2ZgTFPnX4yTzrO3k8hckxz/voBAqAk1cw2AgQ4F/b
         aurNfUQyEZfK07FzESCDbtQFy4aVQtaHnCHKtKmw+AH2B6AXJU8fa5Xem993P+F6IRrk
         u8YWE4JckO5b8sV2bI4ihOK3n1kQMo0L/iZRkgaYjFzr2jrBqa0Bo/ECAZf/mzolzR3U
         AEsg==
X-Gm-Message-State: AOJu0YxlHUNUWbzxhJw02hywal+HIawItUEaCyCxxd0/ExQvI2K0ON0z
	2X0Z8vAbs6aoq6nIvaymCP0E2g==
X-Google-Smtp-Source: AGHT+IHFtYClmcesLpQQF8aL3m3IwdclJsueLsVRRvARObYqMdN3IK/kJGVdJ40JjNLUu61LnBAbfQ==
X-Received: by 2002:adf:e0d0:0:b0:32d:81fe:7104 with SMTP id m16-20020adfe0d0000000b0032d81fe7104mr15292943wri.63.1699041016254;
        Fri, 03 Nov 2023 12:50:16 -0700 (PDT)
Message-ID: <e4d1a87f-fdf3-4461-b212-1ed28c93019b@tibco.com>
Date: Fri, 3 Nov 2023 19:50:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.18 0/2] golang: Binding fixes
Content-Language: en-GB
To: Jason Andryuk <jandryuk@gmail.com>, xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>, George Dunlap
 <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Xen Security <security@xen.org>
References: <20231103194551.64448-1-jandryuk@gmail.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <20231103194551.64448-1-jandryuk@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/11/2023 7:45 pm, Jason Andryuk wrote:
> These two patches refresh the bindings which have gone a little stale.
> I used two separate patches since the XSA-443 one may want backporting.
>
> Jason Andryuk (2):
>   golang: Fixup binding for Arm FF-A
>   golang: Fix bindings after XSA-443

Bah - the security team did mess up there.

Also, we very clearly need the Golang bindings to be a blocking build
test in GitlabCI to avoid repeats of this in the future.

I'm tempted to the Gitlab change ought to be for-4.18 too.  Henry, thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 03 22:27:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 03 Nov 2023 22:27:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627349.978348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz2cu-0005VX-2I; Fri, 03 Nov 2023 22:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627349.978348; Fri, 03 Nov 2023 22:26: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 1qz2ct-0005VQ-UM; Fri, 03 Nov 2023 22:26:51 +0000
Received: by outflank-mailman (input) for mailman id 627349;
 Fri, 03 Nov 2023 22:26: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 1qz2cs-0005VG-I7; Fri, 03 Nov 2023 22:26: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 1qz2cs-0004Xx-Aj; Fri, 03 Nov 2023 22:26: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 1qz2cr-0001m7-UQ; Fri, 03 Nov 2023 22:26:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qz2cr-0005oa-Tw; Fri, 03 Nov 2023 22:26: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=81D1ClNhe55sPubkoqKvkHJzRovz6XF+h4yukbzxjBw=; b=YY9gwv8b1OWpiZgEE2xDcbwZa/
	C/5NtYkv0Km09Tjl2QKoxpnHz9IOLYPG0pUhY0YGoKFv1+mLPeyDEI7934eBFJxeZQiwFaCD4C5Kn
	zLijIYHK0sAXUCPVxvuxrAVksxLqrjxgY9JPwtWjo/JhGIjb/dVBdEE+golNm/pJrJUM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183672-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183672: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=0b4acb88d67520ad5cd9fd8896db0a2e203eaca4
X-Osstest-Versions-That:
    ovmf=8da978bf68535ec9fc41f400f22f09b033dd535a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 03 Nov 2023 22:26:49 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 0b4acb88d67520ad5cd9fd8896db0a2e203eaca4
baseline version:
 ovmf                 8da978bf68535ec9fc41f400f22f09b033dd535a

Last test of basis   183662  2023-11-02 19:12:44 Z    1 days
Testing same since   183672  2023-11-03 20:14:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ni, Ray <ray.ni@intel.com>
  Ray Ni <ray.ni@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
   8da978bf68..0b4acb88d6  0b4acb88d67520ad5cd9fd8896db0a2e203eaca4 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Nov 04 00:50:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Nov 2023 00:50:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627368.978357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz4re-0008Kg-Si; Sat, 04 Nov 2023 00:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627368.978357; Sat, 04 Nov 2023 00:50: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 1qz4re-0008KZ-Q5; Sat, 04 Nov 2023 00:50:14 +0000
Received: by outflank-mailman (input) for mailman id 627368;
 Sat, 04 Nov 2023 00:50: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 1qz4rc-0008KP-Os; Sat, 04 Nov 2023 00:50: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 1qz4rc-0008Qf-Hb; Sat, 04 Nov 2023 00:50: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 1qz4rc-0005cG-7J; Sat, 04 Nov 2023 00:50:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qz4rc-0003vv-6t; Sat, 04 Nov 2023 00:50: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=2f/5PaOUtU4MPBHEpU0/V2wu5CBuRYraavsoOtEnSF4=; b=s2u+yznj7W7JLOqfhZJ89dsFCT
	hBJ+0D9M2WScSmrVLjwYEjMwAXpUwljyRmHkOiUalrVciJYtuvfEGkOx+OpYAnZkWJJ+whEo8xMnx
	jy3mq5iEULRSYTSkkoKLRAGU/C4kiaNTRjCZOMIa3OXB/9fK9g4eEs4WUp3JZ/47tXPM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183673-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183673: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=08ac799d36332d41d1a25ff3df748672676c0947
X-Osstest-Versions-That:
    ovmf=0b4acb88d67520ad5cd9fd8896db0a2e203eaca4
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Nov 2023 00:50:12 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 08ac799d36332d41d1a25ff3df748672676c0947
baseline version:
 ovmf                 0b4acb88d67520ad5cd9fd8896db0a2e203eaca4

Last test of basis   183672  2023-11-03 20:14:31 Z    0 days
Testing same since   183673  2023-11-03 22:41:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ray Ni <ray.ni@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
   0b4acb88d6..08ac799d36  08ac799d36332d41d1a25ff3df748672676c0947 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Nov 04 01:53:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Nov 2023 01:53:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627374.978367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz5qQ-00064G-Dj; Sat, 04 Nov 2023 01:53:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627374.978367; Sat, 04 Nov 2023 01:53: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 1qz5qQ-000649-Ax; Sat, 04 Nov 2023 01:53:02 +0000
Received: by outflank-mailman (input) for mailman id 627374;
 Sat, 04 Nov 2023 01:53: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 1qz5qO-00063z-Fv; Sat, 04 Nov 2023 01:53: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 1qz5qO-0008DE-8e; Sat, 04 Nov 2023 01:53: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 1qz5qN-0007jb-SB; Sat, 04 Nov 2023 01:52:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qz5qN-0008Rp-Rn; Sat, 04 Nov 2023 01: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=1fSnCQpCCv4pbl/Z1Em71i4eh/c1pUzodc5D8U1wYII=; b=HMPqy/OumBpWXM1mTL9X9YM2Da
	KDIsUrTIFlek1BqPGJhMSX5H6yOju4g00k9K+ci5jT9jn6TSMHRsEsaA6dO0WYKTpKzrksM9AacEX
	keemMBrM2xisy4CDga6e0QBa9AD2K2zj0aCKdbcDjgjMbYVhhOBZRYe4Un28jZGLsL/E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183669-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183669: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=8f6f76a6a29f36d2f3e4510d0bde5046672f6924
X-Osstest-Versions-That:
    linux=4652b8e4f3ffa48c706ec334f048c217a7d9750d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Nov 2023 01:52:59 +0000

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

Failures :-/ but no regressions.

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

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183664
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183664
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183664
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183664
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183664
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183664
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183664
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183664
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                8f6f76a6a29f36d2f3e4510d0bde5046672f6924
baseline version:
 linux                4652b8e4f3ffa48c706ec334f048c217a7d9750d

Last test of basis   183664  2023-11-02 21:42:45 Z    1 days
Testing same since   183669  2023-11-03 10:39:11 Z    0 days    1 attempts

------------------------------------------------------------
473 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                              starved 
 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-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                               fail    
 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-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
   4652b8e4f3ff..8f6f76a6a29f  8f6f76a6a29f36d2f3e4510d0bde5046672f6924 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Nov 04 02:16:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Nov 2023 02:16:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627380.978378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz6Ck-0001Hc-8K; Sat, 04 Nov 2023 02:16:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627380.978378; Sat, 04 Nov 2023 02: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 1qz6Ck-0001HV-5b; Sat, 04 Nov 2023 02:16:06 +0000
Received: by outflank-mailman (input) for mailman id 627380;
 Sat, 04 Nov 2023 02: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=+4ux=GR=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qz6Cj-0001HP-1E
 for xen-devel@lists.xenproject.org; Sat, 04 Nov 2023 02:16:05 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on062c.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1874c4be-7ab8-11ee-9b0e-b553b5be7939;
 Sat, 04 Nov 2023 03:16:00 +0100 (CET)
Received: from DUZPR01CA0320.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4ba::16) by AS8PR08MB9816.eurprd08.prod.outlook.com
 (2603:10a6:20b:613::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Sat, 4 Nov
 2023 02:15:56 +0000
Received: from DU6PEPF0000B61C.eurprd02.prod.outlook.com
 (2603:10a6:10:4ba:cafe::af) by DUZPR01CA0320.outlook.office365.com
 (2603:10a6:10:4ba::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.22 via Frontend
 Transport; Sat, 4 Nov 2023 02:15:56 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000B61C.mail.protection.outlook.com (10.167.8.135) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Sat, 4 Nov 2023 02:15:56 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Sat, 04 Nov 2023 02:15:56 +0000
Received: from 595410eb0493.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 AC7CFD53-3641-4533-A13D-48E5DABABBC9.1; 
 Sat, 04 Nov 2023 02:15:50 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 595410eb0493.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 04 Nov 2023 02:15:49 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PR3PR08MB5691.eurprd08.prod.outlook.com (2603:10a6:102:82::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Sat, 4 Nov
 2023 02:15:48 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6954.024; Sat, 4 Nov 2023
 02:15: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: 1874c4be-7ab8-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=aYiQGf8LaUZajXahyxjdq2me+QMMZk0gsiqrWoLbaMZPdNE3Il1lAY0Sg4cF99X0ZHY8JNjvmWtqSwTB7ngqBP3FpKDtfHlUNygRVcpiY4zCrJU/bHsSFof8d08CuntHAoI0CA3Oq277EUIPKYca4CNyYvFKZfSYnRCg1nmYnxONd0RaS2dKeq27FQhDFMEnvwWLZ28TKyH0kOA0g6VuZeGctyiRQ3kiTMQo+nHSeFaRVx97Fn/APvAq6J2A3puqwWzrZ+cytk/rTaTDY1EbkyH69+nRWlEexXSi4yC2YdKaPaEBeWVfCNxafwI/VqifaMTsbq35/1Q3efKBFPPZ9w==
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=Gi6bNnnWYePAazOkWF41UQAELdd4ntMtKMJfrumrFJw=;
 b=iXNdWz3Ufu3QRLjhhUKIGpI+FIPRI3CaixVWrVxZGWFaSBBRjVWtyAVYCyJY+z3Bi0j0T+Gq/J4l42DnEQDsfb6utgkJyct/JteLovwj5pV8uScBRVL6zW8otXuUv89yif70pQDAThJAFPE2qy4GbB3fT9xUSJlBzTxWYlYWpAkXGvS8F2ouAqg1Hewkwn7xfvEvZerALfgBTfThH7VrSBBcKGMHeZiTjZ7WW9fB2IZD2zz08tsDjuNqe9F0RXhvZGSnQbLRD39JzBmyYNNwKihlrAeCV6Ge6MLaltE3z9l1ME+wwryLJdEX35f3XKbbMZecEO1sOPezu18RVLa2+Q==
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=Gi6bNnnWYePAazOkWF41UQAELdd4ntMtKMJfrumrFJw=;
 b=VOOtNhMnu6eSG0ENs0AIIbI1ayyzGwTwsp3WNrUaw+Mn4J6lW4kep2I0VveUg3tXPljJw7jZHCPZakk9lkHCkFEkoacQkZzHIQCB0A5kzYQrDdVUrRfpoq8mwq3Tv947VpxQXsHq7DtbHJTCLNYWnPtY6KWo2naWdPcCGDoobv4=
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: 75933191bdd06c60
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ik3heFEwmXYcJS6DSL0TGLhaT+8qv7XgczvoHSJGGMVb7gk72ODUOTGot12q4yuDXDw7nXMXxo8PPomFJFrdA/e3qnaH0Pujsp2raFq0+oCDuEi8qpVB0e6pB7pXSaZjlA0xmTk2wstsZ5JJU3UbrOj+ljrsSpQdNcTzkHGmW6j7OL5g/6OY5ygezHLzqc7Kro44PjsbUVun+UPKHv+z7m6cNQqhvxIhe6oE8nRfbtGkDWuSdk1awqvrIXECppO4yXEHs1spLlUsIK1yay1bXlzww08eB5UDrwVNl3y2i1Yvet3MkfVVmq++LpJGMEDEW5c2yiOeSGexXINaIqHO9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gi6bNnnWYePAazOkWF41UQAELdd4ntMtKMJfrumrFJw=;
 b=JHtBX3TKEjgJwDaHgT/WA6tE/4M55bEVa+V2DLdq6Hng8Wacm3vqIsGDD4dNRt60+8waVXYSoV1h65OlUEJQyPEjKooq6KEKmNX61opMh6bfHaoYIL0icn1LA3GCjqAUHy5hFJrfPoG4JvhS0CA7JOOdr39rmmqDIN3no/T4t6b/QwBXoxW3PsTd61ZAU9k1kxcSYt5OoKEXRHJXd8t0SqZv+xYGKR14x2KgTqKR5In6c2/IdMdAHWufT1a/+AK+j6UfjE2NOGO+WsFJZxzppyCKf/JFTa1nbfdoXvsC+JlGuLz8FBBlLnuwTTJNoNZYNjy1D3CMuUn7a8hP4kHWtw==
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=Gi6bNnnWYePAazOkWF41UQAELdd4ntMtKMJfrumrFJw=;
 b=VOOtNhMnu6eSG0ENs0AIIbI1ayyzGwTwsp3WNrUaw+Mn4J6lW4kep2I0VveUg3tXPljJw7jZHCPZakk9lkHCkFEkoacQkZzHIQCB0A5kzYQrDdVUrRfpoq8mwq3Tv947VpxQXsHq7DtbHJTCLNYWnPtY6KWo2naWdPcCGDoobv4=
From: Henry Wang <Henry.Wang@arm.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH for-4.18 1/2] golang: Fixup binding for Arm FF-A
Thread-Topic: [PATCH for-4.18 1/2] golang: Fixup binding for Arm FF-A
Thread-Index: AQHaDo5/rAoHHBoXz0ypotKLPpiTU7BpbHyA
Date: Sat, 4 Nov 2023 02:15:48 +0000
Message-ID: <5448E3DC-70FE-45BD-BBC4-41AB51D98D02@arm.com>
References: <20231103194551.64448-1-jandryuk@gmail.com>
 <20231103194551.64448-2-jandryuk@gmail.com>
In-Reply-To: <20231103194551.64448-2-jandryuk@gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PR3PR08MB5691:EE_|DU6PEPF0000B61C:EE_|AS8PR08MB9816:EE_
X-MS-Office365-Filtering-Correlation-Id: 2526ea77-de2d-49fb-df9e-08dbdcdbfaa5
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:
 /XYQqFaM9ZDOvVVgGW2ID2AdDT4ESjCtxvSF9m0HcL4oRQyfrz0mfH+tJG+qG99eTyK37pq9WavRHupQvOS9bL0PyhZdWcA8oFNr2PT55UhWoyUTz8rrIS/fkErnSHaOTVaUR5/74+qxwPM3jNh6u8HW1DZpkfErEAbaDej1udsbGeG02sWMXzoCciT1rft+EbrBx9Y4kafphh4Q6kHenaUndRqLbPlvZBfaWI4O2jehJIvuXakit5shkfyugHv3u2M1gF7cQbI+5gAeqcSyRc9mEIjQHk6+wYaNoNv1MpZuw2gV8wCfRWgdcy3GS4Wf4Wu/gtJL+gB/s7J7oZFeLJYU0DsZqgdPNuOli0qbFyWmQwcXj1fyOx0dGG6Ckf4bEE30+lny+tdaZkulTHamfHvmQJZflHUAMtkeVCZuJygA59M0MqZRDnhYpGOImq+38c4NsS/8yH7JOoZtMlSbaGdsVFdKyyPF3Pn3Sq8rHf/ZlN4S446MTmt1RN213CezsurNt5bRv0DE2CT7o4Em88OWXgm9dVXeLHu0dskbM78kbA2w/S4jlod5TDj5Wljy0w8Fx5Y1HML5duYgKNb4D/pXuclOeYnIdIbZdc6FmCXzeh1/pIYK00EOFF7wZV66q5sU3aW3NnM5GuLvj7+Kyg==
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:(13230031)(376002)(346002)(396003)(39860400002)(366004)(136003)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(2616005)(6512007)(478600001)(53546011)(6506007)(4326008)(2906002)(5660300002)(4744005)(54906003)(41300700001)(91956017)(71200400001)(6486002)(76116006)(64756008)(8936002)(66946007)(316002)(8676002)(6916009)(66556008)(66446008)(66476007)(38070700009)(83380400001)(122000001)(26005)(38100700002)(36756003)(33656002)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <A27A1920E2BBAF4D9928DEC19E5F7E16@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5691
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:
 DU6PEPF0000B61C.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ac16a1a4-86e5-4384-b9f3-08dbdcdbf5d9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h6oT7zlR/BzhUBrpx0KPEZXJPAFYRQZuU5qOUNZkL92ZUTbSEC4Cw9GfMrR26GGD+p/t/Cga1GbiXFDCLsScnkkCP32IKhul0iLBf739s/Rg4dKFPCyp1GWKKWUsDbSPlsysWpyKhLRlop62CLsObLzoA3LuDO9Bp/jmO1/yuNonjMCJ13WKiRaDWWs0nRRToCkayljlrmsaYj2cpXd83ASmEDe/lCloa6Xq13pZyz4qGLjl3DvPFMsKbo4mzU96l9Et7qlWzuy6Xk2HWruADfN+ghi0OWqSs+Fkf6y+S1N0LW7/IusbstD/fo3p2DcWty3LqxLn6alUWn8APZfMypu4VKlMqh2j5rlTfWtn1hlmqTdcTmBmfUp3gzNg1dZXm7dzEzjZwmvs/fQZsp8OKOTXQsOEA9qTAfuTmXfcNljX4h9EWd/2Bg8MR9/EKZd7LksSsWN29VS1uKLkPYSDFAE3d8YS0Lw6bq+naEbZ1Yg8atx43K4L/H1ygnsguIbGFOV8mK3SPy1H4Kmcyy0m6OT8rQ+sfJNrbUlkbvqRgKpPwGT9tZdLPW2LB0URzctlFtzWliEsnsyS46WczHjtDG0vwGCZ1ndeMkynB2Ilvs2pO3xQmr3LKM/jTVy5u+3Hc0ImKlSwq08J4oonNUky0fn85G6wcULDvaTjbiWCd1CpkgcPgM+OKahsKQaUd4u4qgRpNdXM5poZpzwuNo4v6qvuj6sMqiAkJ1MvvwLijnqbqfpqpbI/4mER/IwxvEDb
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:(13230031)(4636009)(39860400002)(396003)(346002)(376002)(136003)(230922051799003)(451199024)(1800799009)(64100799003)(82310400011)(186009)(40470700004)(36840700001)(46966006)(40460700003)(2616005)(26005)(6512007)(36860700001)(47076005)(6506007)(2906002)(4744005)(5660300002)(83380400001)(53546011)(6486002)(41300700001)(8676002)(478600001)(6862004)(4326008)(336012)(70206006)(107886003)(8936002)(70586007)(316002)(54906003)(356005)(81166007)(82740400003)(86362001)(33656002)(36756003)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 02:15:56.2305
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2526ea77-de2d-49fb-df9e-08dbdcdbfaa5
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:
	DU6PEPF0000B61C.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9816

Hi Jason,

> On Nov 4, 2023, at 03:45, Jason Andryuk <jandryuk@gmail.com> wrote:
>=20
> The new FF-A TEE type changed the go bindings.  Update them.
>=20
> Fixes: 8abdd8d52862 ("tools: add Arm FF-A mediator")
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry

> ---
> tools/golang/xenlight/types.gen.go | 1 +
> 1 file changed, 1 insertion(+)
>=20
> diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/t=
ypes.gen.go
> index 4f40aac28c..6a9ebb3fec 100644
> --- a/tools/golang/xenlight/types.gen.go
> +++ b/tools/golang/xenlight/types.gen.go
> @@ -488,6 +488,7 @@ type TeeType int
> const(
> TeeTypeNone TeeType =3D 0
> TeeTypeOptee TeeType =3D 1
> +TeeTypeFfa TeeType =3D 2
> )
>=20
> type SveType int
> --=20
> 2.41.0
>=20



From xen-devel-bounces@lists.xenproject.org Sat Nov 04 02:16:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Nov 2023 02:16:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627381.978387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz6D4-0001em-L7; Sat, 04 Nov 2023 02:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627381.978387; Sat, 04 Nov 2023 02: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 1qz6D4-0001ef-IR; Sat, 04 Nov 2023 02:16:26 +0000
Received: by outflank-mailman (input) for mailman id 627381;
 Sat, 04 Nov 2023 02: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=+4ux=GR=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qz6D3-0001HP-PH
 for xen-devel@lists.xenproject.org; Sat, 04 Nov 2023 02:16:25 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 26a0a523-7ab8-11ee-9b0e-b553b5be7939;
 Sat, 04 Nov 2023 03:16:24 +0100 (CET)
Received: from AM8P189CA0003.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:218::8)
 by DB9PR08MB9610.eurprd08.prod.outlook.com (2603:10a6:10:454::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.24; Sat, 4 Nov
 2023 02:16:16 +0000
Received: from AM4PEPF00027A63.eurprd04.prod.outlook.com
 (2603:10a6:20b:218:cafe::28) by AM8P189CA0003.outlook.office365.com
 (2603:10a6:20b:218::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.22 via Frontend
 Transport; Sat, 4 Nov 2023 02:16:15 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A63.mail.protection.outlook.com (10.167.16.73) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.19 via Frontend Transport; Sat, 4 Nov 2023 02:16:15 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Sat, 04 Nov 2023 02:16:15 +0000
Received: from e58922b0c441.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 391AD7E4-C7D5-4400-AB02-1035345D0B10.1; 
 Sat, 04 Nov 2023 02:16:09 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e58922b0c441.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 04 Nov 2023 02:16:09 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PR3PR08MB5691.eurprd08.prod.outlook.com (2603:10a6:102:82::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Sat, 4 Nov
 2023 02:16:07 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6954.024; Sat, 4 Nov 2023
 02: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>
X-Inumbo-ID: 26a0a523-7ab8-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=HvjITBzraaf9crlP7QaPnvRt80NO+UN5A2V58BTkrSaSujttvL2g131nQXiEPa23uFLNALO8VoLpEZ/oYSb4uF/3LnSRoxs+4kAoJiURlLeKu/4Am6ixoOzrYGDhlkl69VVMtLjoaCIDp1UtOwAbniDjF4J0VRgQZO/n89Pf3Zlxbr/es84bEuENTtHxJ5rrdXBtha3RBE4cj8s86lNeBB/GFvC4H2r4RxaI9wXkrSTJnhs+WiYRI75n+kofkZLNbcVkl3p59isVBJzMDLXlXsrl3ou4LUyGNFRn6CXQdL01Kii3nUY+kl7LPBH4bbn34OiYvm4CADv6waXVoiZUiw==
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=23ocd15KxNKHpMt7BDapiYDfvLJQwt/++ZubtLmI0bo=;
 b=OfU94rgCfl5GerroLYIsj2xLNaEgSXdZACaQZpwHhc6un4jt8bRnqwwYlpSlnSwz512OT4kUEGLqMIwRNp7vyDAtQe8/vzEp71CjM3J8stsOnxGAqpo43owTR1M14yvAd6SGNXvcxzc/8WmHIlS8RIrN0j/7AElKPlKoK3ttsunpM4+vNFRLZJgYb52kEJ5OnkUTaXETTm68+oPNPHNhMW023JuI9G4gmU1Hzbx7/3B/5sYqi2yGve4d3B0w9efs7poBZIvqDTkcEeMGNMLuQ/l1iHbHkPiN0eWIA6VFnQTJIGjf45ydhRgLPv0Kk0caPTURPCNx1Lqiz+zdGZJK8A==
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=23ocd15KxNKHpMt7BDapiYDfvLJQwt/++ZubtLmI0bo=;
 b=MlacfVB7oaGbvoi/4ntunbkbqTbIGv4RIbmSUUrySAGp8o6LSVBH1Ias/mWXEyP6ceBP3TCFNi4YrTRhEZHR62kTxlsIQuOgkj5Q8XSoqqFSOI3acLdT/mVOtZR5vD6YDHkyuJm/XEqkqb9I6aByNEagcbf4EiZ3kxL0yfID8uk=
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: f9758cee7acf8c0c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JVF2snktdroo1BWppp5Cf1Xy16fe9Swp6Ga+qWnmZAQVlC8zBHbZqVk/A7AraJZ6mDLbLTXOzPQmadJunFBUiXiqBFBNGJAaF+rMzy7LeF3X9tFqNMe08NWdJSFs4/LFfD4hkdKG80WpCXwdjrtr2qlTGcSdwmiD9/yzhT7NIlFEP95OPnP3j9u6M6kIudrBwQ8njXC/o3tszlQtI5VGq0XYFRK+N0nnP3W+cwjiPMiv3rZJDVrNwSTW+JlpmZQ4O14OolMrrokitQka0KL/x2of89j++UIvPC5/2iKWSOMOWou8zzOsiO68Ld9ESRrYfVM3ZQz1C/CN3wp4KuhanQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=23ocd15KxNKHpMt7BDapiYDfvLJQwt/++ZubtLmI0bo=;
 b=GMdU/Y0SoG2W3ConjG5t3PxANJhUXMHEjSPS1+zDDGEvSSP2xvmfuPpDuSeoBBM57wyA2Eq+N4/tS1Hre4XbYSzKQJd20oEqZii9Q7wb/ojOE/qjtVZbphP+JqGepytP7mcXg7lwNoON7WYUyCyXcv0z5QgddpecuEMSGllBP/IVpVvx6xxBQhhQaTxNZfdaHeMKOZWGMvdu0Yn9NGqlAeIYPQWVGQa3dzCdN47Ak65pxEoX08nh+agokaDmFtsM0ynDd5LZFbLJ+vu6GXSHfP54XvbfzqgH7/4LdWLA0bRqHMwnm5xx0QfNnm7FDmQlHrzPzB1wNcF9L4JKxwmDKQ==
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=23ocd15KxNKHpMt7BDapiYDfvLJQwt/++ZubtLmI0bo=;
 b=MlacfVB7oaGbvoi/4ntunbkbqTbIGv4RIbmSUUrySAGp8o6LSVBH1Ias/mWXEyP6ceBP3TCFNi4YrTRhEZHR62kTxlsIQuOgkj5Q8XSoqqFSOI3acLdT/mVOtZR5vD6YDHkyuJm/XEqkqb9I6aByNEagcbf4EiZ3kxL0yfID8uk=
From: Henry Wang <Henry.Wang@arm.com>
To: Jason Andryuk <jandryuk@gmail.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, George Dunlap
	<george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH for-4.18 2/2] golang: Fix bindings after XSA-443
Thread-Topic: [PATCH for-4.18 2/2] golang: Fix bindings after XSA-443
Thread-Index: AQHaDo6Aq26qQwXlX02gTo8hbJL1+rBpbJIA
Date: Sat, 4 Nov 2023 02:16:07 +0000
Message-ID: <0440F4B8-5099-43C9-9A5C-4786B3310E73@arm.com>
References: <20231103194551.64448-1-jandryuk@gmail.com>
 <20231103194551.64448-3-jandryuk@gmail.com>
In-Reply-To: <20231103194551.64448-3-jandryuk@gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PR3PR08MB5691:EE_|AM4PEPF00027A63:EE_|DB9PR08MB9610:EE_
X-MS-Office365-Filtering-Correlation-Id: b8ac28bf-710a-447e-d9d2-08dbdcdc062c
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:
 u4uYJf2WU7FTZfGIDxDDvg6n6melAOpxbTPB6j6aW2WUtkYyAQPi2gFLqGRXm63SJNsKDpoPbyaAqP7wtuiOOUT8qGze8AbPL4fZSK7k9ToiozOwppcQiH0yaRDjlzidI1MILX6oNQwzhtae7kSXUYvtt1nRuX9I+iSec1sUMeW+cK2rnykowWPQerlbxF0n8NMUTfUjKy9xAXFz0Kl3u8bWJGxNBYHc4vj2IBZZrEyCKKCizapvXosoLapNbRxk3JEE/ehO0yUO4zdmdVmMF8eqNcUEBKkjRyc0k6eEB/RmiS+AaxqvhZwZtm+Xf6DpKF8Ikzsf1d/UNtlB/m7QVkPSYsXJ7nQ3jAWak+g4NyJDu016rtggp9W4QqdYfe04A1McOFxFlVHHMsxFfmAYc6bCIiDTmLleKDxUj8UQR20GqCUuAw38XmezuXE57xn1vyAtFmVb/qRO4ftjJCFH9v7I7UBAV7T+dQRIMd/Z8AXrgQhp0Mtp0UQoA0XagP4g8z1zVILrDvDP/MMyks7KmRbdT40/SOftx/Kjl2druhmZbin0VtVRjB55dZp9p+nSwmwB19fwfTlDPtPZO57XgW9r4jYfiAFfxzmYEj4TproNIQf2xpCOwjucSimbQqGtcjngDJh1b9lUJbJaeQxfVQ==
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:(13230031)(376002)(346002)(396003)(39860400002)(366004)(136003)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(2616005)(6512007)(478600001)(53546011)(6506007)(4326008)(2906002)(5660300002)(54906003)(41300700001)(91956017)(71200400001)(6486002)(76116006)(64756008)(8936002)(66946007)(316002)(8676002)(6916009)(66556008)(66446008)(66476007)(38070700009)(83380400001)(122000001)(26005)(38100700002)(36756003)(33656002)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <27F26ED12AA7074BB360C46346BDF8F7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5691
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:
 AM4PEPF00027A63.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	27d4213f-465d-414d-632a-08dbdcdc0123
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	12nCnXW923ztBbKB0bqBxdazCDQfK9o1onJaZsbuFVV8SyunZNv7lb7A48KGtt78+mqSKBlxtwqgpiNtmhymB9hhzMMAKzqfC3XzS+U4Y1uuGH4dMeAcJpdvrg3k3G0sMOHUSBktZmpKDDzU4jZII3/kqQA6V1TxDiF0508iG/a1urThg8iHTPDomWo8wy0zTMCMzGByfrLHQXofmwztWKnVWtKTXGD3+Ioi7hVVYzcq+YCvFNjlslIhOD9zX+6BLJ/uGfsbIlLkZuhjMzHlmLlUSaLRA4Diwmwr09kIuKyXC4FFUPz1hQ9Z9LxjfeBsd+0AUt5UxFCEzywnIWAe30PlYoN61Yk7etXvVr1J30D5Uw5NGQS2Hk/QQw9ZnYFYBanrE/KijZi5IjpX9wkjBE741WodZUj6OSwL6Dh12mFCAVKCRg4lws2aM4jH3UgYp/cnq/+0iqm83I26YE41luvsEvLU404Zxw1FESr6HqMmUXlaxNi8F/DDyqbjy23xSfsahTYhylU6Mlh1Mo8HguY+zLv59YqexJyoMX1YSbLWdZESmSGKMXtT6gmTYc5DWgkX3N9DhTaat45os5rJ+1A86L4NtOVaGTJYIslGBmlkPzE4uLb9MsQT9eJ/glxe2Fa/UP8/c5ADCf0rN8wpQNCVdjXv+EBREKOgJo4ezI+HUStZ4O41GmbamFzjDcnhFz3xY59rgk1snV4PDiJIqJFsPtLI/Ae6u/xqgwRHQzACC9xodwLtKFHEZyL70FAm
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:(13230031)(4636009)(396003)(346002)(136003)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(82310400011)(40470700004)(36840700001)(46966006)(81166007)(356005)(82740400003)(40480700001)(53546011)(6506007)(40460700003)(36860700001)(86362001)(33656002)(36756003)(47076005)(26005)(2616005)(336012)(107886003)(2906002)(6486002)(4326008)(6512007)(83380400001)(478600001)(70206006)(70586007)(316002)(6862004)(8676002)(8936002)(5660300002)(54906003)(41300700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2023 02:16:15.7106
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b8ac28bf-710a-447e-d9d2-08dbdcdc062c
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:
	AM4PEPF00027A63.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9610

Hi Jason,

> On Nov 4, 2023, at 03:45, Jason Andryuk <jandryuk@gmail.com> wrote:
>=20
> The new bootloader_restrict and bootloader_user fields in the libxl idl
> change the bindings.  Update them.
>=20
> Fixes: 1f762642d2ca ("libxl: add support for running bootloader in restri=
cted mode")
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry

> ---
> tools/golang/xenlight/helpers.gen.go | 9 +++++++++
> tools/golang/xenlight/types.gen.go   | 2 ++
> 2 files changed, 11 insertions(+)
>=20
> diff --git a/tools/golang/xenlight/helpers.gen.go b/tools/golang/xenlight=
/helpers.gen.go
> index 3ecffdf0ef..35e209ff1b 100644
> --- a/tools/golang/xenlight/helpers.gen.go
> +++ b/tools/golang/xenlight/helpers.gen.go
> @@ -1112,6 +1112,10 @@ x.Bootloader =3D C.GoString(xc.bootloader)
> if err :=3D x.BootloaderArgs.fromC(&xc.bootloader_args);err !=3D nil {
> return fmt.Errorf("converting field BootloaderArgs: %v", err)
> }
> +if err :=3D x.BootloaderRestrict.fromC(&xc.bootloader_restrict);err !=3D=
 nil {
> +return fmt.Errorf("converting field BootloaderRestrict: %v", err)
> +}
> +x.BootloaderUser =3D C.GoString(xc.bootloader_user)
> x.TimerMode =3D TimerMode(xc.timer_mode)
> if err :=3D x.NestedHvm.fromC(&xc.nested_hvm);err !=3D nil {
> return fmt.Errorf("converting field NestedHvm: %v", err)
> @@ -1465,6 +1469,11 @@ xc.bootloader =3D C.CString(x.Bootloader)}
> if err :=3D x.BootloaderArgs.toC(&xc.bootloader_args); err !=3D nil {
> return fmt.Errorf("converting field BootloaderArgs: %v", err)
> }
> +if err :=3D x.BootloaderRestrict.toC(&xc.bootloader_restrict); err !=3D =
nil {
> +return fmt.Errorf("converting field BootloaderRestrict: %v", err)
> +}
> +if x.BootloaderUser !=3D "" {
> +xc.bootloader_user =3D C.CString(x.BootloaderUser)}
> xc.timer_mode =3D C.libxl_timer_mode(x.TimerMode)
> if err :=3D x.NestedHvm.toC(&xc.nested_hvm); err !=3D nil {
> return fmt.Errorf("converting field NestedHvm: %v", err)
> diff --git a/tools/golang/xenlight/types.gen.go b/tools/golang/xenlight/t=
ypes.gen.go
> index 6a9ebb3fec..7907aa8999 100644
> --- a/tools/golang/xenlight/types.gen.go
> +++ b/tools/golang/xenlight/types.gen.go
> @@ -577,6 +577,8 @@ DeviceTree string
> Acpi Defbool
> Bootloader string
> BootloaderArgs StringList
> +BootloaderRestrict Defbool
> +BootloaderUser string
> TimerMode TimerMode
> NestedHvm Defbool
> Apic Defbool
> --=20
> 2.41.0
>=20



From xen-devel-bounces@lists.xenproject.org Sat Nov 04 02:23:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Nov 2023 02:23:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627389.978397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qz6JT-0003PA-C3; Sat, 04 Nov 2023 02:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627389.978397; Sat, 04 Nov 2023 02: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 1qz6JT-0003P3-9Q; Sat, 04 Nov 2023 02:23:03 +0000
Received: by outflank-mailman (input) for mailman id 627389;
 Sat, 04 Nov 2023 02:23: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 1qz6JS-0003Ot-1k; Sat, 04 Nov 2023 02:23: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 1qz6JR-0000vY-Qg; Sat, 04 Nov 2023 02: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 1qz6JR-0008O8-IV; Sat, 04 Nov 2023 02:23:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qz6JR-0003fU-I1; Sat, 04 Nov 2023 02: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EkWAFPyX0DBhnueErZ566CGimFqzR6K1AQCdYqkyHU8=; b=SZFmQH/yaSuRxAAajlIT5ACC2L
	BBBoGUquzsipVmlmkz+IJHShcShaLkyuOponXUE/Krdw3vOIfwkIej6c7XvAJlgTiVS0LMa72mUJQ
	j+v4pWasTgsXyUjq+GSQvS55RNYfKpKi0F4J0s6OAYdvTp/WAnBIjemII2mZjZRcvWPE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183671-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183671: regressions - trouble: blocked/fail/pass/starved
X-Osstest-Failures:
    xen-unstable:build-arm64-pvops:kernel-build:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:regression
    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:test-arm64-arm64-xl-credit2: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-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-amd64-amd64-libvirt-xsm:migrate-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-libvirt:migrate-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-armhf-armhf-libvirt-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-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
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
X-Osstest-Versions-That:
    xen=ea083911b1dc609506dd715b82f75759f7807c31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Nov 2023 02:23:01 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 183667
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install  fail REGR. vs. 183667

Tests which did not succeed, but are not blocking:
 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
 test-arm64-arm64-xl-credit2   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     16 saverestore-support-check    fail  like 183667
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183667
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183667
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183667
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183667
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183667
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183667
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183667
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183667
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183667
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183667
 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-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     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-amd64-amd64-libvirt-xsm 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-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-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
baseline version:
 xen                  ea083911b1dc609506dd715b82f75759f7807c31

Last test of basis   183667  2023-11-03 03:02:01 Z    0 days
Testing same since   183671  2023-11-03 16:40:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Xenia Ragiadakou <xenia.ragiadakou@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                                          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                                            fail    
 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           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                                 blocked 
 test-amd64-i386-libvirt-xsm                                  pass    
 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-qemut-rhel6hvm-amd                           pass    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-dom0pvh-xl-amd                              starved 
 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-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                                     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                                 blocked 
 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-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                                 pass    
 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 5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Nov 3 11:28:09 2023 +0100

    AMD/IOMMU: drop tasklet handler forward declaration
    
    do_amd_iommu_irq()'s forward declaration uses a parameter name different
    from what the definition uses, thus vioating Misra C:2012 rule 8.3. We
    can get away without such a forward declaration if instead we forward-
    declare amd_iommu_irq_tasklet, putting its initialization past the
    handler function's definition.
    
    No functional change.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit b6c7951f23a42215a0d1af2541d0702db1971c47
Author: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
Date:   Fri Nov 3 11:27:29 2023 +0100

    x86/hvm/dom0: fix PVH initrd and metadata placement
    
    Zephyr image consists of multiple non-contiguous load segments
    that reside in different RAM regions. For instance:
    ELF: phdr: paddr=0x1000 memsz=0x8000
    ELF: phdr: paddr=0x100000 memsz=0x28a90
    ELF: phdr: paddr=0x128aa0 memsz=0x7560
    ELF: memory: 0x1000 -> 0x130000
    
    However, the logic that determines the best placement for dom0
    initrd and metadata, assumes that the image is fully contained
    in a single RAM region, not taking into account the cases where:
    (1) start > kernel_start && end > kernel_end
    (2) start < kernel_start && end < kernel_end
    (3) start > kernel_start && end < kernel_end
    
    In case (1), the evaluation will result in end = kernel_start,
    i.e. end < start, and will load initrd in the middle of the kernel.
    In case (2), the evaluation will result in start = kernel_end,
    i.e. end < start, and will load initrd at kernel_end, that is out
    of the memory region under evaluation.
    In case (3), the evaluation will result in either end = kernel_start
    or start = kernel_end but in both cases will be end < start, and
    will either load initrd in the middle of the image, or arbitrarily
    at kernel_end.
    
    This patch reorganizes the conditionals to include so far unconsidered
    cases as well, uniformly returning the lowest available address.
    
    Fixes: 73b47eea2104 ('x86/dom0: improve PVH initrd and metadata placement')
    Signed-off-by: Xenia Ragiadakou <xenia.ragiadakou@amd.com>
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit 86b06295f6c79f6d9413d67426ae125bae820f52
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Nov 3 11:26:29 2023 +0100

    arch: drop get_processor_id()
    
    smp_processor_id() is what we commonly use; there's no need for it to
    have an alias.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> # arm
    Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

commit ad193a79c25ae24f1de5f37900e1da74ab48e8bd
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Nov 3 11:25:03 2023 +0100

    xenoprof: move asm/ include
    
    There's no need for xen/xenoprof.h to include the arch header when the
    respective config option is off. The only compensation needed is for
    svm.c to explicitly include the arch header instead of the common one
    (matching what vmx.c and traps.c do).
    
    With that Arm's header can be deleted, and neither RISC-V nor PPC will
    need to introduce one.
    
    While there also adjust and move the (prior) inclusion of inttypes.h.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
    Reviewed-by: Bertrand Marquis <bertrand.marquis@arm.com> # arm

commit 7d46710f084f8ea88b0bbb812f486d3ac019a2bf
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Nov 3 11:23:18 2023 +0100

    console: conditionalize console_input_domain()
    
    The function was introduced for just one piece of code to use; it is
    dead code in cases where the respective Kconfig option is disabled, thus
    violating Misra C:2012 rule 2.1 there.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

commit ea3dabfb80d77b07f7aa34d88ba2d3bf3b1916c8
Author: Jan Beulich <jbeulich@suse.com>
Date:   Fri Nov 3 11:22:18 2023 +0100

    x86/PVH: allow Dom0 ELF parsing to be verbose
    
    VERBOSE had ceased to exist already before the introduction of this ELF
    parsing code.
    
    Fixes: 62ba982424cb ("x86: parse Dom0 kernel for PVHv2")
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Roger Pau Monné <roger.pau@citrix.com>

commit 9589296e9c0ef7af352cebd8f6d59732ba2b187e
Author: Juergen Gross <jgross@suse.com>
Date:   Fri Nov 3 11:21:28 2023 +0100

    build: simplify clean handling of extras directory
    
    The extras directory is used only as a download target for Mini-OS
    sources. Instead of special handling extras/mini-os* in .gitignore and
    the clean targets, just use extras for that purpose.
    
    So add "extras" to .gitignore and remove it when doing a
    "make distclean".
    
    Signed-off-by: Juergen Gross <jgross@suse.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Sat Nov 04 11:59:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Nov 2023 11:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627440.978422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzFIr-0000FI-K5; Sat, 04 Nov 2023 11:59:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627440.978422; Sat, 04 Nov 2023 11: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 1qzFIr-0000FB-HH; Sat, 04 Nov 2023 11:59:01 +0000
Received: by outflank-mailman (input) for mailman id 627440;
 Sat, 04 Nov 2023 11:58: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 1qzFIp-0000F1-Kc; Sat, 04 Nov 2023 11:58: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 1qzFIp-0006z6-Cd; Sat, 04 Nov 2023 11:58: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 1qzFIp-0001dC-2l; Sat, 04 Nov 2023 11:58:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzFIp-0000hL-2H; Sat, 04 Nov 2023 11:58: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=cI9l1Ru5UuIADoHssl0Iui9xEVzEMLoP/yG6jgSV398=; b=FEd4NvSS/SFEYTBHZhg6DgmHuH
	MIzAa0eWMwuq18xhROgM3zulR+I+4FxdNEsD3VqhlBx4smJgfWntqja1tLd490FbjAxJTEs/WU4tM
	Xt7gYRRlAcoVl6dj63b7mNhJCM2eCgpLMHDsQD7DUCSdPf4NbQ/BefZIRTTRiMbFfxhg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183675-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183675: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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: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-credit1: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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=e392ea4d4d00880bf94550151b1ace4f88a4b17a
X-Osstest-Versions-That:
    linux=8f6f76a6a29f36d2f3e4510d0bde5046672f6924
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Nov 2023 11:58:59 +0000

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

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 183681-retest
 test-armhf-armhf-libvirt      8 xen-boot            fail pass in 183681-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 183681 like 183669
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 183681 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183669
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183669
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183669
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183669
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183669
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183669
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183669
 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-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-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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt-raw 14 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                e392ea4d4d00880bf94550151b1ace4f88a4b17a
baseline version:
 linux                8f6f76a6a29f36d2f3e4510d0bde5046672f6924

Last test of basis   183669  2023-11-03 10:39:11 Z    1 days
Testing same since   183675  2023-11-04 01:57:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Dr. David Alan Gilbert" <linux@treblig.org>
  Aboorva Devarajan <aboorvad@linux.vnet.ibm.com>
  Aditya Gupta <adityag@linux.ibm.com>
  Adrian Hunter <adrian.hunter@intel.com>
  Alessandro Carminati (Red Hat) <alessandro.carminati@gmail.com>
  Alexander Gordeev <agordeev@linux.ibm.com>
  Alexey Dobriyan <adobriyan@gmail.com>
  Amit Machhiwal <amachhiw@linux.vnet.ibm.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arnaldo Carvalho de Melo <acme@kernel.org>
  Arnaldo Carvalho de Melo <acme@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Athira Rajeev <atrajeev@linux.vnet.ibm.com>
  Baoquan He <bhe@redhat.com>
  Beau Belgrave <beaub@linux.microsoft.com>
  Benjamin Gray <bgray@linux.ibm.com>
  Besar Wicaksono <bwicaksono@nvidia.com>
  Changbin Du <changbin.du@huawei.com>
  Charles Han <hanchunchao@inspur.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Christophe Leroy <christophe.leroy@csgroup.eu>
  Colin Ian King <colin.i.king@gmail.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Bristot de Oliveira <bristot@kernel.org>
  Disha Goel <disgoel@linux.ibm.com>
  Disha Goel<disgoel@linux.ibm.com>
  Dr. David Alan Gilbert <linux@treblig.org>
  Gaosheng Cui <cuigaosheng1@huawei.com>
  Gaurav Batra <gbatra@linux.vnet.ibm.com>
  Gautam Menghani <gautam@linux.ibm.com>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Georgia Garcia <georgia.garcia@canonical.com>
  GONG, Ruiqi <gongruiqi1@huawei.com>
  GONG, Ruiqi <gongruiqi@huaweicloud.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Harald Freudenberger <freude@linux.ibm.com>
  Haren Myneni <haren@linux.ibm.com>
  Hari Bathini <hbathini@linux.ibm.com>
  Heiko Carstens <hca@linux.ibm.com>
  Ian Rogers <irogers@google.com>
  Ilkka Koskinen <ilkka@os.amperecomputing.com>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ingo Franzki <ifranzki@linux.ibm.com>
  James Clark <james.clark@arm.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jing Zhang <renyu.zj@linux.alibaba.com>
  Jiri Olsa <jolsa@kernel.org>
  John Johansen <john.johansen@canonical.com>
  John Ogness <john.ogness@linutronix.de>
  Jonathan Corbet <corbet@lwn.net>
  Jonathan Neuschäfer <j.neuschaefer@gmx.net>
  Jordan Niethe <jniethe5@gmail.com>
  Julia Lawall <Julia.Lawall@inria.fr>
  Justin Stitt <justinstitt@google.com>
  Kajol Jain <kjain@linux.ibm.com>
  Kautuk Consul <kconsul@linux.vnet.ibm.com>
  Kees Cook <keescook@chromium.org>
  Konstantin Meskhidze <konstantin.meskhidze@huawei.com>
  Kuan-Wei Chiu <visitorckw@gmail.com>
  Leo Yan <leo.yan@linaro.org>
  Li kunyu <kunyu@nfschina.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Michael Neuling <mikey@neuling.org>
  Michael Petlan <mpetlan@redhat.com>
  Mickaël Salaün <mic@digikod.net>
  Minjie Du <duminjie@vivo.com>
  Muhammad Muzammil <m.muzzammilashraf@gmail.com>
  Namhyung Kim <namhyung@kernel.org>
  Naresh Kamboju <naresh.kamboju@linaro.org>
  Nathan Chancellor <nathan@kernel.org>
  Naveen N Rao <naveen@kernel.org>
  Nicholas Piggin <npiggin@gmail.com>
  Nick Child <nnac123@linux.ibm.com>
  Peter Lafreniere <peter@n8pjl.ca>
  Peter Oberparleiter <oberpar@linux.ibm.com>
  Petr Mladek <pmladek@suse.com>
  Quanfa Fu <quanfafu@gmail.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Bangoria <ravi.bangoria@amd.com>
  Rob Herring <robh@kernel.org>
  Ruidong Tian <tianruidong@linux.alibaba.com>
  Sachin Sant <sachinp@linux.ibm.com>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shrikanth Hegde <sshegde@linux.vnet.ibm.com>
  Song Liu <song@kernel.org>
  Srikar Dronamraju <srikar@linux.vnet.ibm.com>
  Stanislav Kinsburskii <stanislav.kinsburskii@gmail.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sumanth Korikkar <sumanthk@linux.ibm.com>
  Suzuki K Poulose <suzuki.poulose@arm.com>
  Thomas Gleixner (Intel) <tglx@linutronix.de>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Richter <tmricht@linux.ibm.com>
  Tobias Huschle <huschle@linux.ibm.com>
  Uros Bizjak <ubizjak@gmail.com>
  Vaibhav Jain <vaibhav@linux.ibm.com>
  Vasily Gorbik <gor@linux.ibm.com>
  Veronika Molnarova <vmolnaro@redhat.com>
  Vinicius Costa Gomes <vinicius.gomes@intel.com>
  Wang Yufen <wangyufen@huawei.com>
  Xiu Jianfeng <xiujianfeng@huawei.com>
  Xu Yang <xu.yang_2@nxp.com>
  Yang Jihong <yangjihong1@huawei.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yuan Tan <tanyuan@tinylab.org>
  Yury Norov <yury.norov@gmail.com>
  Zheng Yejian <zhengyejian1@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                 fail    
 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                              starved 
 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-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                                     fail    
 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-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
   8f6f76a6a29f..e392ea4d4d00  e392ea4d4d00880bf94550151b1ace4f88a4b17a -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Nov 04 13:35:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Nov 2023 13:35:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627482.978461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzGoF-0004KJ-V1; Sat, 04 Nov 2023 13:35:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627482.978461; Sat, 04 Nov 2023 13: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 1qzGoF-0004KC-SS; Sat, 04 Nov 2023 13:35:31 +0000
Received: by outflank-mailman (input) for mailman id 627482;
 Sat, 04 Nov 2023 13:35: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 1qzGoE-0004K2-JO; Sat, 04 Nov 2023 13:35: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 1qzGoE-0000vM-FI; Sat, 04 Nov 2023 13:35: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 1qzGoE-0003uY-3X; Sat, 04 Nov 2023 13:35:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzGoE-0008Cn-2z; Sat, 04 Nov 2023 13:35: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=3WZsQxxy1pa55pF4faX73Q9LJJdwt/THmU9kdiCpLFk=; b=DpiB9a041xZQYQXvk/IyzE27wq
	0SIU+UmM8uQO4N7uKJGUgGeoROKX96uGBtLEMGsshd5kExo94rajnPeI0FBOAGttbwHAkZZ/rtcMp
	zy7ao1SzB9F1axgHXepU55zalub5kaLQE7Ve78cgqasqWaxTFs/io+JVyb+9L63oICss=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183676-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183676: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-amd64-amd64-libvirt-xsm:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-libvirt-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-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
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
X-Osstest-Versions-That:
    xen=ea083911b1dc609506dd715b82f75759f7807c31
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Nov 2023 13:35:30 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183667
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183667
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183667
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183667
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183667
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183667
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183667
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183667
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183667
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183667
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183667
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183667
 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-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-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-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     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-amd64-amd64-libvirt-xsm 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-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-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-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
baseline version:
 xen                  ea083911b1dc609506dd715b82f75759f7807c31

Last test of basis   183667  2023-11-03 03:02:01 Z    1 days
Testing same since   183671  2023-11-03 16:40:31 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Xenia Ragiadakou <xenia.ragiadakou@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                                          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                              starved 
 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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   ea083911b1..5ae0a4ad38  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7 -> master


From xen-devel-bounces@lists.xenproject.org Sat Nov 04 16:54:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Nov 2023 16:54:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627531.978471 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzJuX-0002gL-3O; Sat, 04 Nov 2023 16:54:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627531.978471; Sat, 04 Nov 2023 16: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 1qzJuX-0002gE-0p; Sat, 04 Nov 2023 16:54:13 +0000
Received: by outflank-mailman (input) for mailman id 627531;
 Sat, 04 Nov 2023 16:54: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 1qzJuV-0002g4-4i; Sat, 04 Nov 2023 16:54: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 1qzJuU-000606-Jx; Sat, 04 Nov 2023 16:54: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 1qzJuU-0003Zo-8M; Sat, 04 Nov 2023 16:54:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzJuU-0001wj-7t; Sat, 04 Nov 2023 16:54: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=cy6gFFheWCSJQKfWMLY4M53+X/8s2m+wxly1U11mFsQ=; b=kBhWqmbq80e0x8snkdO8svZRTt
	Sv0h8BHbmMWoDyfe6S4xpppjNU4SlHUsixmymrA0xro371VAWnuf8qpT/8RaNoPHcbSCnIHEBqWd+
	vKXnKLhTBS3yUGUJ+j1Z2SOhzptKx6T0csLgUmfl8nl6tBj8S6ScDFcpuJ0qGDOPiqGA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183679-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183679: tolerable FAIL - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=9231566146c0614d1339dd94cf98f82f1d1baee2
X-Osstest-Versions-That:
    libvirt=47ee78048cbacc643f9eacc55039ded609b2ad74
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Nov 2023 16:54:10 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 17 guest-start/debian.repeat fail pass in 183683-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183668
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183668
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183668
 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-xsm 15 migrate-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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-xsm 16 saverestore-support-check    fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              9231566146c0614d1339dd94cf98f82f1d1baee2
baseline version:
 libvirt              47ee78048cbacc643f9eacc55039ded609b2ad74

Last test of basis   183668  2023-11-03 04:22:22 Z    1 days
Testing same since   183679  2023-11-04 04:21:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Laine Stump <laine@redhat.com>
  Pavel Hrdina <phrdina@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   47ee78048c..9231566146  9231566146c0614d1339dd94cf98f82f1d1baee2 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Nov 04 20:57:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 04 Nov 2023 20:57:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627544.978481 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzNhq-0004n5-2U; Sat, 04 Nov 2023 20:57:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627544.978481; Sat, 04 Nov 2023 20:57: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 1qzNhp-0004my-V9; Sat, 04 Nov 2023 20:57:21 +0000
Received: by outflank-mailman (input) for mailman id 627544;
 Sat, 04 Nov 2023 20:57: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 1qzNho-0004mm-JE; Sat, 04 Nov 2023 20:57: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 1qzNho-0003FW-BE; Sat, 04 Nov 2023 20:57: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 1qzNhn-0000wi-Ts; Sat, 04 Nov 2023 20:57:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzNhn-0006ir-TL; Sat, 04 Nov 2023 20:57: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=bX5qJJe4nvTDNmvfCTJn3kBEEGiazBRuzpRd5mBVv1w=; b=3A5kzARdg4ycbdEZqAwLiJSQSO
	36EF8DcftLasonZu9WWyt/FL08jomyTV5IM0XF2F2ZzAejqkBoVVWEn4Ij4DufN8G+Vs51POxXFzR
	dby4klb+291JHoGC7RERGkAJ4XHu3+cDStiJ2jkSGbaFDYshI/6oA2HdJDGnwLbuPSAw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183682-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183682: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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: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-credit1: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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=90b0c2b2edd1adff742c621e246562fbefa11b70
X-Osstest-Versions-That:
    linux=e392ea4d4d00880bf94550151b1ace4f88a4b17a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 04 Nov 2023 20:57:19 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt   16 saverestore-support-check fail blocked in 183675
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183675
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183675
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183675
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183675
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183675
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183675
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183675
 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-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-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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                90b0c2b2edd1adff742c621e246562fbefa11b70
baseline version:
 linux                e392ea4d4d00880bf94550151b1ace4f88a4b17a

Last test of basis   183675  2023-11-04 01:57:54 Z    0 days
Testing same since   183682  2023-11-04 12:12:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Crt Mori <cmo@melexis.com>"
  "Gustavo A. R. Silva" <gustavoars@kernel.org>
  "Jiri Slaby (SUSE)" <jirislaby@kernel.org>
  "Rafael J. Wysocki" <rafael@kernel.org>
  "Ricardo B. Marliere" <ricardo@marliere.net>
  Abdel Alkuor <abdelalkuor@geotab.com>
  Abhijit Gangurde <abhijit.gangurde@amd.com>
  Alain Volmat <alain.volmat@foss.st.com>
  Alan Previn <alan.previn.teres.alexis@intel.com>
  Alan Stern <stern@rowland.harvard.edu>
  Alejandro Colomar <alx@kernel.org>
  Alexander Sverdlin <alexander.sverdlin@gmail.com>
  Alexander Usyskin <alexander.usyskin@intel.com>
  Alexey Dobriyan <adobriyan@gmail.com>
  Alexon Oliveira <alexondunkan@gmail.com>
  Alisa-Dariana Roman <alisa.roman@analog.com>
  Amelie Delaunay <amelie.delaunay@foss.st.com>
  Ana-Maria Cusco <ana-maria.cusco@analog.com>
  Andi Shyti <andi.shyti@linux.intel.com>
  Andreas Kemnade <andreas@kemnade.info>
  Andrey Konovalov <andreyknvl@gmail.com>
  André Apitzsch <git@apitzsch.eu>
  André Draszik <andre.draszik@linaro.org>
  Andy Shen Shen <shengaoya@inspur.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Antoniu Miclaus <antoniu.miclaus@analog.com>
  Apelete Seketeli <aseketeli@baylibre.com>
  Arnd Bergmann <arnd@arndb.de>
  Arnd Bergmann <arnd@kernel.org>
  Ayush Singh <ayushdevel1325@gmail.com>
  Azeem Shaikh <azeems@google.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Bard Liao <yung-chuan.liao@linux.intel.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Baruch Siach <baruch@tkos.co.il>
  Basavaraj Natikar <Basavaraj.Natikar@amd.com>
  Benjamin Poirier <benjamin.poirier@gmail.com>
  Benson Leung <bleung@chromium.org>
  Biju Das <biju.das.jz@bp.renesas.com>
  Bjorn Andersson <quic_bjorande@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bo Liu <liubo03@inspur.com>
  Bragatheswaran Manickavel <bragathemanick0908@gmail.com>
  Calvince Otieno <calvncce@gmail.com>
  Cameron Williams <cang1@live.co.uk>
  Carlos Llamas <cmllamas@google.com>
  Chanwoo Choi <cw00.choi@samsung.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chen Ni <nichen@iscas.ac.cn>
  Chengfeng Ye <dg573847474@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Chunyan Zhang <zhang.lyra@gmail.com>
  Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
  Claudiu Beznea <claudiu.beznea@microchip.com>
  Conor Dooley <conor.dooley@microchip.com>
  Crescent CY Hsieh <crescentcy.hsieh@moxa.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Golle <daniel@makrotopia.org>
  Daniel Starke <daniel.starke@siemens.com>
  Dave Jiang <dave.jiang@intel.com>
  David Lechner <dlechner@baylibre.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Dinh Nguyen <dinguyen@kernel.org>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dorcas AnonoLitunya <anonolitunya@gmail.com>
  Duje Mihanović <duje.mihanovic@skole.hr>
  Erwan Le Ray <erwan.leray@foss.st.com>
  Fabio Estevam <festevam@denx.de>
  Fabrice Gasnier <fabrice.gasnier@foss.st.com>
  Fenghua Yu <fenghua.yu@intel.com>
  Florian Eckert <fe@dev.tdt.de>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Frank Li <Frank.Li@nxp.com>
  Frederic Barrat <fbarrat@linux.ibm.com>
  Gabriel Somlo <gsomlo@gmail.com>
  Gary Rookard <garyrookard@fastmail.org>
  Geert Uytterhoeven <geert+renesas@glider.be>
  George Stark <gnstark@sberdevices.ru>
  Georgi Djakov <djakov@kernel.org>
  Gil Fine <gil.fine@linux.intel.com>
  Gilbert Adikankwu <gilbertadikankwu@gmail.com>
  Grant B Adams <nemith592@gmail.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guo Ren <guoren@kernel.org>
  GUO Zihua <guozihua@huawei.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Günther Noack <gnoack@google.com>
  Hanno Böck <hanno@hboeck.de>
  Hans de Goede <hdegoede@redhat.com>
  Hardik Gajjar <hgajjar@de.adit-jv.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Hongren Zheng <i@zenithal.me>
  Hugo Villeneuve <hvilleneuve@dimonoff.com>
  Huqiang Qin <huqiang.qin@amlogic.com>
  Ian Abbott <abbotti@mev.co.uk>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  iuncuim <iuncuim@gmail.com>
  Ivan Orlov <ivan.orlov0322@gmail.com>
  Jacky Huang <ychuang3@nuvoton.com>
  Jakub Kicinski <kuba@kernel.org>
  James Clark <james.clark@arm.com>
  James Gruber <jimmyjgruber@gmail.com>
  Javier Carrasco <javier.carrasco.cruz@gmail.com>
  Javier Martinez Canillas <javierm@redhat.com>
  Jean-Baptiste Maneyrol <jean-baptiste.maneyrol@tdk.com>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jerome Brunet <jbrunet@baylibre.com>
  Jesper Nilsson <jesper.nilsson@axis.com>
  Jia-Ju Bai <baijiaju@buaa.edu.cn>
  Jimmy Hu <hhhuuu@google.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jiri Kosina <jkosina@suse.cz>
  Jiri Slaby (SUSE) <jirislaby@kernel.org>
  Jisheng Zhang <jszhang@kernel.org>
  Joe Wang <joe_wang@aspeedtech.com>
  John Ogness <john.ogness@linutronix.de>
  Jonas Blixt <jonas.blixt@actia.se>
  Jonathan Bell <jonathan@raspberrypi.com>
  Jonathan Bergh <bergh.jonathan@gmail.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Neuschäfer <j.neuschaefer@gmx.net>
  Jorge Sanjuan Garcia <jorge.sanjuangarcia@duagon.com>
  Jose Javier Rodriguez Barbarin <JoseJavier.Rodriguez@duagon.com>
  Julien Malik <julien.malik@unseenlabs.fr>
  Justin Stitt <justinstitt@google.com>
  Kaiwei Liu <kaiwei.liu@unisoc.com>
  Karina Yankevich <k.yankevich@omp.ru>
  Kees Cook <keescook@chromium.org>
  Khalid Aziz <khalid@gonehiking.org>
  Khalid Azzi <khalid@gonehiking.org>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Krishna Kurapati <quic_kriskura@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuan-Wei Chiu <visitorckw@gmail.com>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Lars-Peter Clausen <lars@metafoo.de>
  Li Zetao <lizetao1@huawei.com>
  Liam Beguin <liambeguin@gmail.com>
  Liha Sikanen <lihasika@gmail.com>
  LihaSika <lihasika@gmail.com>
  Lijun Pan <lijun.pan@intel.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Luca Ceresoli <luca.ceresoli@bootlin.com>
  Luca Weiss <luca.weiss@fairphone.com>
  Luca Weiss <luca@z3ntu.xyz>
  Lucas Tanure <tanure@linux.com>
  Luis Chamberlain <mcgrof@kernel.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Lukas Wunner <lukas@wunner.de>
  Manish Pandey <quic_mapa@quicinc.com>
  Marcus Folkesson <marcus.folkesson@gmail.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Mario Limonciello <mario.limonciello@amd.com>
  Marius Cristea <marius.cristea@microchip.com>
  Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  Martin Kaiser <martin@kaiser.cx>
  Martin Kepplinger <martink@posteo.de>
  Masahiro Yamada <masahiroy@kernel.org>
  Mateusz Majewski <m.majewski2@samsung.com>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthew Howell <matthew.howell@sealevel.com>
  Matti Lehtimäki <matti.lehtimaki@gmail.com>
  Matti Vaittinen <mazziesaccount@gmail.com>
  Maurizio Lombardi <mlombard@redhat.com>
  Max Filippov <jcmvbkbc@gmail.com>
  Max Kellermann <max.kellermann@ionos.com>
  Mehdi Djait <mehdi.djait.k@gmail.com>
  Michael Grzeschik <m.grzeschik@pengutronix.de>
  Michael Hennerich <michael.hennerich@analog.com>
  Michael Straube <straube.linux@gmail.com>
  Michael Wu <michael@allwinnertech.com>
  Michał Mirosław <mirq-linux@rere.qmqm.pl>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mike Tipton <quic_mdtipton@quicinc.com>
  Mikhail Kalashnikov <iuncuim@gmail.com>
  Milan Broz <gmazyland@gmail.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Mrinmay Sarkar <quic_msarkar@quicinc.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Mukesh Ojha <quic_mojha@quicinc.com>
  Nandha Kumar Singaram <nandhakumar.singaram@gmail.com>
  Nava kishore Manne <nava.kishore.manne@amd.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nikhil Agarwal <nikhil.agarwal@amd.com>
  Niklas Schnelle <schnelle@linux.ibm.com>
  Nipun Gupta <nipun.gupta@amd.com>
  Nitheesh Sekar <quic_nsekar@quicinc.com>
  Nitin Rawat <quic_nitirawa@quicinc.com>
  Oliver Crumrine <ozlinux@hotmail.com>
  Olivier Dautricourt <olivierdautricourt@gmail.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Pavan Bobba <opensource206@gmail.com>
  Pavel Krasavin <pkrasavin@imaqliq.com>
  Pawel Laszczak <pawell@cadence.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Ujfalusi <peter.ujfalusi@gmail.com>
  Philipp Hortmann <philipp.g.hortmann@gmail.com>
  Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
  Piyush Mehta <piyush.mehta@amd.com>
  Prashant Malani <pmalani@chromium.org>
  Puneet Gupta <puneet.gupta@amd.com>
  Raag Jadav <raag.jadav@intel.com>
  Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
  Rafał Miłecki <rafal@milecki.pl>
  Rajan Vaja <rajan.vaja@xilinx.com>
  Ramona Bolboaca <ramona.bolboaca@analog.com>
  Ramona Gradinariu <ramona.gradinariu@analog.com>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Li <ayaka@soulik.info>
  Raphael Gallais-Pou <rgallaispou@gmail.com>
  Ricardo B. Marliere <ricardo@marliere.net>
  Ricardo Lopes <ricardoapl.dev@gmail.com>
  Richard Purdie <richard.purdie@linuxfoundation.org>
  Rob Herring <robh@kernel.org>
  Rodríguez Barbarin, José Javier <josejavier.rodriguez@duagon.com>
  Rohit Agarwal <quic_rohiagar@quicinc.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Sam Protsenko <semen.protsenko@linaro.org>
  Samuel Thibault <samuel.thibault@ens-lyon.org>
  Sanjuán García, Jorge <Jorge.SanjuanGarcia@duagon.com>
  Saravana Kannan <saravanak@google.com>
  Sascha Hauer <s.hauer@pengutronix.de>
  Sebastian Reichel <sebastian.reichel@collabora.com>
  Sergey Khimich <serghox@gmail.com>
  Sergey Shtylyov <s.shtylyov@omp.ru>
  Sergio Paracuellos <sergio.paracuellos@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Shuijing Li <shuijing.li@mediatek.com>
  Shuzhen Wang <shuzhenwang@google.com>
  Siddharth Vadapalli <s-vadapalli@ti.com>
  Simon Arlott <simon@octiron.net>
  Soumya Negi <soumya.negi97@gmail.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Srinivas Pandruvada<srinivas.pandruvada@linux.intel.com>
  Stanley Chang <stanley_chang@realtek.com>
  Stefan Windfeldt-Prytz <stefan.windfeldt-prytz@axis.com>
  Swarup Laxman Kotiaklapudi <swarupkotikalapudi@gmail.com>
  syzbot+6867a9777f4b8dc4e256@syzkaller.appspotmail.com
  Thierry Reding <treding@nvidia.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Thomas Gleixner <tglx@linutronix.de>
  Thomas Richard <thomas.richard@bootlin.com>
  Thomas Weißschuh <linux@weissschuh.net>
  Thorsten Leemhuis <linux@leemhuis.info>
  Timur Tabi <timur@kernel.org>
  Tom Zanussi <tom.zanussi@linux.intel.com>
  Tomas Winkler <tomas.winkler@intel.com>
  Tomer Maimon <tmaimon77@gmail.com>
  Tony Lindgren <tony@atomide.com>
  Tree Davies <tdavies@darkphysics.net>
  Tzuyi Chang <tychang@realtek.com>
  Uday M Bhat <uday.m.bhat@intel.com>
  Udipto Goswami <quic_ugoswami@quicinc.com>
  Umang Jain <umang.jain@ideasonboard.com>
  Utkarsh Patel <utkarsh.h.patel@intel.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Valentin Caron <valentin.caron@foss.st.com>
  Valentine Sinitsyn <valesini@yandex-team.ru>
  Varadarajan Narayanan <quic_varada@quicinc.com>
  Vinod Koul <vkoul@kernel.org>
  Viresh Kumar <viresh.kumar@linaro.org>
  Vitaly Lubart <vitaly.lubart@intel.com>
  Wentong Wu <wentong.wu@intel.com>
  Wesley Cheng <quic_wcheng@quicinc.com>
  William Breathitt Gray <william.gray@linaro.org>
  Willy Tarreau <w@1wt.eu>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xu Yilun <yilun.xu@intel.com>
  Xu Yilun <yilun.xu@linux.intel.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yi Yang <yiyang13@huawei.com>
  Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
  Yue Haibing <yuehaibing@huawei.com>
  Zev Weiss <zev@bewilderbeest.net>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhangfei Gao <zhangfei.gao@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-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                              starved 
 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-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-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
   e392ea4d4d00..90b0c2b2edd1  90b0c2b2edd1adff742c621e246562fbefa11b70 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Nov 05 01:51:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Nov 2023 01:51:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627560.978491 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzSIE-0003ek-OE; Sun, 05 Nov 2023 01:51:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627560.978491; Sun, 05 Nov 2023 01:51: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 1qzSIE-0003ec-H0; Sun, 05 Nov 2023 01:51:14 +0000
Received: by outflank-mailman (input) for mailman id 627560;
 Sun, 05 Nov 2023 01:51: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 1qzSID-0003eA-DA; Sun, 05 Nov 2023 01:51: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 1qzSID-0000cY-1V; Sun, 05 Nov 2023 01:51: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 1qzSIC-00032m-5w; Sun, 05 Nov 2023 01:51:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzSIC-0002H6-5R; Sun, 05 Nov 2023 01:51: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=8HFSXYl/nbBvj1HVkYfQtNq2sntLnTZ/LrdZtgNNw9k=; b=f78rOcO21YW8fUyLYEzvB+G/X+
	dUCG324f9z+U8PWrwjrzvPonbj3DRXa7PLKN6AgbwRjh/qeumqTbJvoltLX5wQgGzGztr8v8MANsw
	KPw1f+O5SOYxPvklTPtQFpBoS/8uRCLBzwLSTuHzn4TM9LWL99dj4Z78TdiVE4hVMhhk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183685-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183685: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=038499a2681c1adab5a508da34621f74c52bc05c
X-Osstest-Versions-That:
    ovmf=08ac799d36332d41d1a25ff3df748672676c0947
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 05 Nov 2023 01:51:12 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 038499a2681c1adab5a508da34621f74c52bc05c
baseline version:
 ovmf                 08ac799d36332d41d1a25ff3df748672676c0947

Last test of basis   183673  2023-11-03 22:41:00 Z    1 days
Testing same since   183685  2023-11-04 23:42:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jordan Justen <jordan.l.justen@intel.com>
  Julien Grall <julien@xen.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
   08ac799d36..038499a268  038499a2681c1adab5a508da34621f74c52bc05c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Nov 05 04:09:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Nov 2023 04:09:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627570.978501 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzURQ-0002pJ-CJ; Sun, 05 Nov 2023 04:08:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627570.978501; Sun, 05 Nov 2023 04: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 1qzURQ-0002pB-6N; Sun, 05 Nov 2023 04:08:52 +0000
Received: by outflank-mailman (input) for mailman id 627570;
 Sun, 05 Nov 2023 04:08: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 1qzURO-0002p1-R1; Sun, 05 Nov 2023 04:08: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 1qzURO-0004U2-LS; Sun, 05 Nov 2023 04:08: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 1qzURO-0000oq-7n; Sun, 05 Nov 2023 04:08:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzURO-0001lT-7I; Sun, 05 Nov 2023 04:08: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=khG7OddpY8wZ7xX9ypQ569so1emzAGOueYPHtYkHsAE=; b=X97gUtS6S/FKEcO6YLWtePcPD9
	Vb0iSYqsemG6r4N4romp+U2z3/KpBU/oV2wVdhqHjV7Dx9t37LooGSjgqcjC283jfcnh2nZMDI+lK
	r+9/NIRtFr5T4lgLKs/m9i05vNBx2FZiWw5RYRfOFQ6ZWY/jle7Ro7MTeybRsbAfpCno=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183684-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183684: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=aea6bf908d730b01bd264a8821159db9463c111c
X-Osstest-Versions-That:
    linux=90b0c2b2edd1adff742c621e246562fbefa11b70
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 05 Nov 2023 04:08:50 +0000

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

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 183682
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183682
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183682
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183682
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183682
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183682
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183682
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183682
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                aea6bf908d730b01bd264a8821159db9463c111c
baseline version:
 linux                90b0c2b2edd1adff742c621e246562fbefa11b70

Last test of basis   183682  2023-11-04 12:12:00 Z    0 days
Testing same since   183684  2023-11-04 21:12:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alan Maguire <alan.maguire@oracle.com>
  Alice Ryhl <aliceryhl@google.com>
  Ard Biesheuvel <ardb@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Ashok Raj <ashok.raj@intel.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Catalin Marinas <catalin.marinas@arm.com>
  Chao Yu <chao@kernel.org>
  Christian Schoenebeck <linux_oss@crudebyte.com>
  Daeho Jeong <daehojeong@google.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Rosenberg <drosen@google.com>
  Dominique Martinet <asmadeus@codewreck.org>
  Eric Biggers <ebiggers@google.com>
  Guo Ren <guoren@kernel.org>
  Hangyu Hua <hbh25y@gmail.com>
  Helge Deller <deller@gmx.de>  # parisc
  Ingo Molnar <mingo@kernel.org>
  Jack Brennen <jbrennen@google.com>
  Jaegeuk Kim <jaegeuk@kernel.org>
  Jiao Zhou <jiaozhou@google.com>
  Jiri Olsa <jolsa@kernel.org>
  Jiri Slaby (SUSE) <jirislaby@kernel.org>
  KaiLong Wang <wangkailong@jari.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Marco Elver <elver@google.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matthew Garrett <mgarrett@aurora.tech>
  Matthew Maurer <mmaurer@google.com>
  Meetakshi Setiya <msetiya@microsoft.com>
  Miguel Ojeda <ojeda@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  Nick Desaulniers <ndesaulniers@google.com>
  Paolo Bonzini <pbonzini@redhat.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ricardo B. Marliere <ricardo@marliere.net>
  Richard Weinberger <richard@nod.at>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Shyam Prasad N <sprasad@microsoft.com>
  Simon Glass <sjg@chromium.org>
  Sishuai Gong <sishuai.system@gmail.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Steve French <stfrench@microsoft.com>
  Su Hui <suhui@nfschina.com>
  Sven Schnelle <svens@linux.ibm.com> # s390
  Thomas Gleixner <tglx@linutronix.de>
  Yue Haibing <yuehaibing@huawei.com>
  Zhiguo Niu <zhiguo.niu@unisoc.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                              starved 
 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-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-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
   90b0c2b2edd1..aea6bf908d73  aea6bf908d730b01bd264a8821159db9463c111c -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Nov 05 10:34:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Nov 2023 10:34:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627645.978510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzaRx-0005Ro-0g; Sun, 05 Nov 2023 10:33:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627645.978510; Sun, 05 Nov 2023 10:33: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 1qzaRw-0005Rh-UC; Sun, 05 Nov 2023 10:33:48 +0000
Received: by outflank-mailman (input) for mailman id 627645;
 Sun, 05 Nov 2023 10:33: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 1qzaRw-0005RX-Ds; Sun, 05 Nov 2023 10:33: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 1qzaRw-0005mo-9n; Sun, 05 Nov 2023 10:33: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 1qzaRw-0001ti-12; Sun, 05 Nov 2023 10:33:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzaRw-0003kn-0e; Sun, 05 Nov 2023 10:33: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=G7p/wlgSv3gln+MYQG661MPIfPo55gzzpXs3N9AZ+ww=; b=JEFgGRbNf3AE3VANRKnWOLkpD0
	lNnkUX5zm1lD91SMb2wwcFGbms3kYgn05MdNC4Ozm8YtTUwhQN0w49zIvqEt1BMvfxhmtp74JNzzO
	oghrJwIEJcbpj1W50523kTS9VbtlPCDOB7Zl9cRw5Y8DMJ7+jHnsoQrvHlEmJ+t2RN84=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183686-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183686: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-amd64-amd64-libvirt-xsm:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-libvirt-qcow2: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-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
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
X-Osstest-Versions-That:
    xen=5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 05 Nov 2023 10:33:48 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 183671
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183676
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183676
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183676
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183676
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183676
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183676
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183676
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183676
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183676
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183676
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183676
 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-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-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-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     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-amd64-amd64-libvirt-xsm 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-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-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-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-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-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-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
baseline version:
 xen                  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7

Last test of basis   183686  2023-11-05 01:57:09 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                              starved 
 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-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-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 Sun Nov 05 14:16:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 05 Nov 2023 14:16:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627666.978520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzduh-0004p0-OS; Sun, 05 Nov 2023 14:15:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627666.978520; Sun, 05 Nov 2023 14:15: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 1qzduh-0004ot-Lk; Sun, 05 Nov 2023 14:15:43 +0000
Received: by outflank-mailman (input) for mailman id 627666;
 Sun, 05 Nov 2023 14:15: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 1qzdug-0004oj-6v; Sun, 05 Nov 2023 14:15: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 1qzduf-0002U3-Vh; Sun, 05 Nov 2023 14:15: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 1qzduf-00075v-HH; Sun, 05 Nov 2023 14:15:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzduf-0007fh-Gr; Sun, 05 Nov 2023 14: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=OgoLnwyDrxrjN/lVLv0G51LVTMSB+/sIoR3oTYkQ8zE=; b=EDK63XWs6fsaDacfadtkMLB8C4
	ME8fFmCJWcGOos/SDpxcv+fsDtCxajNh+DJiHbnE5rXn8gN/nmcr0bupZW/p6xrzeZX8gdc5xJicl
	n9UhU3Ik+BMv7DDhua8nnE4lZouaYqIofei/Ml6wgg/pEybgIEUkcu+StjkxXQDb9pNA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183687-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183687: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=1c41041124bd14dd6610da256a3da4e5b74ce6b1
X-Osstest-Versions-That:
    linux=aea6bf908d730b01bd264a8821159db9463c111c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 05 Nov 2023 14:15:41 +0000

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

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 183684
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183684
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183684
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183684
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183684
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183684
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183684
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183684
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                1c41041124bd14dd6610da256a3da4e5b74ce6b1
baseline version:
 linux                aea6bf908d730b01bd264a8821159db9463c111c

Last test of basis   183684  2023-11-04 21:12:04 Z    0 days
Testing same since   183687  2023-11-05 04:20:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Alexey Kardashevskiy <aik@amd.com>
  Alison Schofield <alison.schofield@intel.com>
  Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Arseniy Krasnov <AVKrasnov@sberdevices.ru>
  Ben Skeggs <bskeggs@redhat.com>
  Billy Tsai <billy_tsai@aspeedtech.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Bruce Suen <bruce_suen@163.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Williams <dan.j.williams@intel.com>
  Dave Airlie <airlied@redhat.com>
  Dave Jiang <dave.jiang@intel.com>
  Denis Arefev <arefev@swemel.ru>
  Dinghao Liu <dinghao.liu@zju.edu.cn>
  Frank Li <Frank.Li@nxp.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Heiko Stuebner <heiko@sntech.de>
  Ira Weiny <ira.weiny@intel.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jim Harris <jim.harris@samsung.com>
  Joshua Yeong <joshua.yeong@starfivetech.com>
  Justin Stitt <justinstitt@google.com>
  Kees Cook <keescook@chromium.org>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Li Zhijian <lizhijian@fujitsu.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Mamta Shukla <mamta.shukla@leica-geosystems.com>
  Martin Blumenstingl <martin.blumenstingl@googlemail.com>
  Martin Kurbanov <mmkurbanov@salutedevices.com>
  Matt Johnston <matt@codeconstruct.com.au>
  Md Sadre Alam <quic_mdalam@quicinc.com>
  Michael Walle <mwalle@kernel.org>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Nicolas Ferre <nicolas.ferre@microchip.com>
  Pankaj Gupta <pankaj.gupta@amd.com>
  Peter Gonda <pgonda@google.com>
  Rafał Miłecki <rafal@milecki.pl>
  Rob Herring <robh@kernel.org>
  Robert Richter <rrichter@amd.com>
  Shivamurthy Shastri <shivamurthy.shastri@linutronix.de>
  Simon Glass <sjg@chromium.org>
  Sridharan S N <quic_sridsn@quicinc.com>
  Terry Bowman <terry.bowman@amd.com>
  Thomas Gleixner <tglx@linutronix.de>
  Tudor Ambarus <tudor.ambarus@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vishal Verma <vishal.l.verma@intel.com>
  Yi Yang <yiyang13@huawei.com>
  Zbigniew Lukwinski <zbigniew.lukwinski@linux.intel.com>
  ZhaoLong Wang <wangzhaolong1@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                              starved 
 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-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-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
   aea6bf908d73..1c41041124bd  1c41041124bd14dd6610da256a3da4e5b74ce6b1 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 02:19:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 02:19:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627722.978531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzpCi-0005Oy-Ai; Mon, 06 Nov 2023 02:19:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627722.978531; Mon, 06 Nov 2023 02:19: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 1qzpCi-0005Or-80; Mon, 06 Nov 2023 02:19:04 +0000
Received: by outflank-mailman (input) for mailman id 627722;
 Mon, 06 Nov 2023 02:19: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=4FDE=GT=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qzpCh-0005Ol-N2
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 02:19:03 +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 c73fdbb6-7c4a-11ee-98d9-6d05b1d4d9a1;
 Mon, 06 Nov 2023 03:18:31 +0100 (CET)
Received: by mail-pl1-x633.google.com with SMTP id
 d9443c01a7336-1cc1e1e74beso35972225ad.1
 for <xen-devel@lists.xenproject.org>; Sun, 05 Nov 2023 18:18:31 -0800 (PST)
Received: from leoy-huanghe.lan ([98.98.115.250])
 by smtp.gmail.com with ESMTPSA id
 q10-20020a170902edca00b001ca4c7bee0csm4753128plk.232.2023.11.05.18.18.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 05 Nov 2023 18:18:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c73fdbb6-7c4a-11ee-98d9-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699237110; x=1699841910; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=kqf7rNi+WxXAZfOava1mzLsn0PzHha6DHlqJsLtusSA=;
        b=l111KO8BzyFvedQJ6X45H3F98Xnj6ITGtov6yW23v/g1uhcn6usvTuxkdYguvTrgK3
         ZVeiykhBUoupW5J84/w38by6R555PNsLvLaMzljIauKlDMMARDBO9W+plBfogyQ1kKuB
         QcP91HsFviUtnPOBdAq8ic690Loo9MbFAKK+Ls6TJn0sS+eP+4E2nO4sW/FQpOskJQwK
         020q8utYcBdEf+yGHZoHQ+rno+ns4+oVg0Su1iTlzBB1sJjBdMnRU0lhfKsk+UpCtWTO
         wRBLSknR7RNO+Og5Q84RiUpHGjvJ+CKC1vbxAk4GKXcNoac4OWwOS/Npto6y0YHB91++
         +I1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699237110; x=1699841910;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kqf7rNi+WxXAZfOava1mzLsn0PzHha6DHlqJsLtusSA=;
        b=fgfiHZLqrl01Gk9CSWeE7Mm2zzKgAILfOvPmLMYGAVhUIh6QJfp7arhgkXTZ1p+Ee1
         Pl6B8PbxwZUVIv7tI7+Qw9ebThmD/M4DQ0AUyiO3RN2wayky6csZkNVNcw8UhpgF8BVj
         cv/RpVRTeywXz0jyNcseectfIUM5XEpJeUk6TK0e4scaNdrHlhYZExQtUuA948JAxG8b
         Zfy995NKmeZWNRDzAjEqn7lhix13PHzxLIdw7qXwgr0luwSz4TN+NN0EykGssq0FCjMI
         zi8dtzHqABk9WlF3c6YYxB0Kh4ohWVrwTk6pxzV1vHoqdSnf2nLNsXAKhYRfPCMLwlJc
         GW7w==
X-Gm-Message-State: AOJu0YxBU5HP5lnyPuo3mXHJ8zQ4nYAvxI9y1GaegwaLQAcQ1CTVHPIO
	OvwZ9rgYS9M3PFW5XugKzk+u2H6wD0+EasG6Fq/QAA==
X-Google-Smtp-Source: AGHT+IGLjwE3IIdmC2ADiaVBwy4UibPPS8rUPW8nktlB6ncfb7mVhLrb0tCnNCYDhWjWQIDtk2iUEw==
X-Received: by 2002:a17:902:e2cc:b0:1c3:3b5c:1fbf with SMTP id l12-20020a170902e2cc00b001c33b5c1fbfmr25933284plc.10.1699237110252;
        Sun, 05 Nov 2023 18:18:30 -0800 (PST)
Date: Mon, 6 Nov 2023 10:18:25 +0800
From: Leo Yan <leo.yan@linaro.org>
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>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v4] xen/arm: Skip memory nodes if not enabled
Message-ID: <20231106021742.GA90848@leoy-huanghe.lan>
References: <20231013120442.1267488-1-leo.yan@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231013120442.1267488-1-leo.yan@linaro.org>

Hi maintainers,

On Fri, Oct 13, 2023 at 08:04:42PM +0800, Leo Yan wrote:
> Currently, Xen doesn't check the status property of memory/reserved
> memory nodes, which may lead to the following issues:
> 
> - If a memory node has a status "disabled" it implies that it should
>   not be used. Xen does not handle the status property for the memory
>   node and ends up using it.
> 
> - If a reserved memory node has a status "disabled", it means that this
>   region is no longer reserved and can be used, but the "disabled"
>   status is not handled by Xen.
> 
>   Xen passes the intact device tree binding of the reserved memory nodes
>   to Dom0 and creates a memory node to cover reserved regions. Disabled
>   reserved memory nodes are ignored by the Dom0 Linux kernel, thus the
>   Dom0 Linux kernel will continue to allocate pages from such a region.
> 
>   On the other hand, since the disabled status is not handled by Xen,
>   the disabled reserved memory regions are excluded from the page
>   management in Xen which results in Xen being unable to obtain the
>   corresponding MFN, in the end, Xen reports error like:
> 
>   (XEN) arch/arm/p2m.c:2202: d0v0: Failing to acquire the MFN 0x1a02dc
> 
> This patch introduces a function device_tree_node_is_available(). If it
> detects a memory node is not enabled, Xen will not add the memory region
> into the memory lists. In the end, this avoids to generate the memory
> node for the disabled memory regions sent to the kernel and the kernel
> cannot use the disabled memory nodes any longer.
> 
> Since this patch adds checking device node's status in the
> device_tree_get_meminfo() function, except it checks for memory nodes
> and reserved memory nodes, it also supports status for static memory
> and static heap.
> 
> Suggested-by: Michal Orzel <michal.orzel@amd.com>
> Signed-off-by: Leo Yan <leo.yan@linaro.org>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

Gentle ping.

I don't see this patch is landed in Xen master or staging branch, should
anything I need to follow up?

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 02:24:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 02:24:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627725.978540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzpHx-000722-UO; Mon, 06 Nov 2023 02:24:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627725.978540; Mon, 06 Nov 2023 02:24: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 1qzpHx-00071v-Rm; Mon, 06 Nov 2023 02:24:29 +0000
Received: by outflank-mailman (input) for mailman id 627725;
 Mon, 06 Nov 2023 02:24: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=4FDE=GT=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qzpHx-00071U-62
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 02:24:29 +0000
Received: from mail-pf1-x433.google.com (mail-pf1-x433.google.com
 [2607:f8b0:4864:20::433])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a5ce600-7c4b-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 03:24:26 +0100 (CET)
Received: by mail-pf1-x433.google.com with SMTP id
 d2e1a72fcca58-6b709048f32so3766658b3a.0
 for <xen-devel@lists.xenproject.org>; Sun, 05 Nov 2023 18:24:25 -0800 (PST)
Received: from leoy-huanghe.lan ([98.98.115.250])
 by smtp.gmail.com with ESMTPSA id
 iw9-20020a170903044900b001c465bedaccsm4763179plb.83.2023.11.05.18.24.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 05 Nov 2023 18:24:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a5ce600-7c4b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699237464; x=1699842264; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=VwH//0tqxHHApavRRGpIf4b9WQrVS9xDl1w7EkYp1gY=;
        b=SvSRKWH+2oIHp0z33gy3FUjLtvSBLy/V62MJLycLjA9ukV+0ckvJEZGebHHjddzeaP
         KDHbiVQ/WzoPJtxGXbnAer+rKT9edwU87i7k+QqsLQcacguowZfhE1uNVjvO8mzpz0oS
         vRxtKqmpxyHJmTN5U4nWITakX4xxR+fZMdTf0eUmt1yLyclbM2zjbbtYBnZrnrtEDbWl
         Dt+R5dYhUd/mBNxdJgjrV91yff92ZSTnD4I8uRjddtNtVqKsjgGzvZMlCOgOeqyjfw1b
         OrDkts0yA8GN7uSlm1lt+uwpocDLJZKNZK4mFKafKjo5e23jhDH82pfbcWpFeha8eylG
         ux8g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699237464; x=1699842264;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VwH//0tqxHHApavRRGpIf4b9WQrVS9xDl1w7EkYp1gY=;
        b=gxkrwtDU7xQq/nx9/cI4imux/pUbXrugHDrGYExLPhDKw7J9iokMUAB4SHD9DSWrfW
         ezD/g4u7B0PbWl+iUtIH7uovIWiJJkxA2cax39gI912j2bCYRzoCa/B6dLzr08OqkFqQ
         CuHpGo9CI41AjtGrORwAyyQIWCsE3ShkJ4Qn/QoZu9WTNYIwWxTvWXvTnbs3jHqyaRhR
         ynWfk4sJL9bKmDzh8erVHySPgd7oHHymKup/1F1FpRJNdiGiwl31+V3TKV1TfOQFeiVn
         E8Jl4QL8w3Di9erd2Vh0u5qwLwrOy8N708AyBLwaNiEXV95NEB/8hsyVfmtMd0B2RDw1
         PPJw==
X-Gm-Message-State: AOJu0Yy6gF+tR+7Sh74dJmIFbi05d403X+TXZPS7xii3fSLXauYYSz80
	evaw5F/p46uEh69lZeMEKbnQcSlJIR/Bnfsk4sk4bCa+
X-Google-Smtp-Source: AGHT+IHSePs2SWQZsbdsNkbRZudcL6u7bqkO4cpOPp1iYzZO2TS19ZS8Ug7yn+pvGtHihYJeyHnSGQ==
X-Received: by 2002:a05:6a21:189:b0:181:6bde:72aa with SMTP id le9-20020a056a21018900b001816bde72aamr13917470pzb.42.1699237464123;
        Sun, 05 Nov 2023 18:24:24 -0800 (PST)
Date: Mon, 6 Nov 2023 10:24:19 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Alexey Klimov <alexey.klimov@linaro.org>,
	Luca Fancellu <Luca.Fancellu@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Rahul Singh <Rahul.Singh@arm.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v4 2/2] xen/arm: Enlarge identity map space to 10TB
Message-ID: <20231106022419.GB90848@leoy-huanghe.lan>
References: <5a5e960b-e6fd-4617-b33a-10cf07f5bb52@xen.org>
 <8BCB97B4-CBDD-43D9-B0F8-7F637B8BE559@arm.com>
 <4B2BD200-5D3E-49D5-BF13-65B769AD4B90@arm.com>
 <CANgGJDqHu0CB=zzZqda18giLYDkL3My+gT592GLO-b9HsF2A4g@mail.gmail.com>
 <d3952200-9edb-4de0-94e3-c00c571a10b9@xen.org>
 <794B0D71-70A7-4546-98E0-EC01573E0D89@arm.com>
 <990b21a3-f8c7-4d02-a8ac-63d31794a76d@xen.org>
 <alpine.DEB.2.22.394.2310171258330.965337@ubuntu-linux-20-04-desktop>
 <4fc83e61-1e57-4f75-b017-7045842165e5@xen.org>
 <69be876f-4238-4041-a6ff-50f7f6487d5d@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <69be876f-4238-4041-a6ff-50f7f6487d5d@xen.org>

Hi all,

On Wed, Oct 18, 2023 at 07:11:11PM +0100, Julien Grall wrote:

[...]

> > Anyway, both Bertrand and you seems to be against the Fixes tag here. So
> > I can compromise with the "This commit fixes...". However, can Bertrand
> > or you update process/send-patches.pandoc so it is clear for a
> > contributor when they should add Fixes tag (which BTW I still disagree
> > with but if the majority agrees, then I will not nack)?
> 
> We had a chat about this during the Arm maintainer calls. The disagreement
> boiled down to the fact that SUPPORT.md (or the documentation) doesn't say
> anything about whether loading Xen above 2TB was supported or not. Depending
> on the view, one could consider a bug or not.
> 
> Looking through the documentation, the best place to document might actually
> be misc/arm/booting.txt where we already have some requirements to boot Xen
> (such the binary must be entered in NS EL2 mode).
> 
> I will prepare a patch and send one.

I saw Julien's patch "docs/arm: Document where Xen should be loaded in
memory" has landed on the staging branch [1].

Should I respin this patch set and update the document to 10TB
limitation?  I need maintainer's sugguestion, otherwise I don't know
how to proceed for this patch set.

Thanks,
Leo

[1] https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=5415b2b2118bd78d8a04f276a8312f7f0cb1a466


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 03:25:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 03:25:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627732.978550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzqEH-0006ul-6N; Mon, 06 Nov 2023 03:24:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627732.978550; Mon, 06 Nov 2023 03:24: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 1qzqEH-0006ue-3Z; Mon, 06 Nov 2023 03:24:45 +0000
Received: by outflank-mailman (input) for mailman id 627732;
 Mon, 06 Nov 2023 03:24: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 1qzqEG-0006uU-01; Mon, 06 Nov 2023 03:24: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 1qzqEF-0003Qv-Ga; Mon, 06 Nov 2023 03: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 1qzqEF-0003Tc-25; Mon, 06 Nov 2023 03:24:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzqEF-0001Aa-1h; Mon, 06 Nov 2023 03:24: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=BRBRneq89at2wvSQdlKBVoC10tIZ0Udko8Yx/A/rdYM=; b=c96RZFP/vQU6AVg2+HesNPxKPU
	1lm8wR0xRi+zGgMVQ8rnEsWXrIZRHjDnoYSHJrTLtMVUv4wQiv9ft97IwY5YJNb5ZYhzVecJH0lC/
	9R5uHAr8QKLEvySBZ+EXBz8MGSL3XVUeuPTzmKsEMEYoRmxcXi1P3CdX3mx15rMIHTBg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183688-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183688: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=1cfb751165ef685b80635218beff38d6afbce4e2
X-Osstest-Versions-That:
    linux=1c41041124bd14dd6610da256a3da4e5b74ce6b1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Nov 2023 03:24:43 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2  8 xen-boot          fail pass in 183691-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 183691 like 183687
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 183691 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183687
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183687
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183687
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183687
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183687
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183687
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183687
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt     15 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                1cfb751165ef685b80635218beff38d6afbce4e2
baseline version:
 linux                1c41041124bd14dd6610da256a3da4e5b74ce6b1

Last test of basis   183687  2023-11-05 04:20:04 Z    0 days
Testing same since   183688  2023-11-05 19:14:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alain Volmat <alain.volmat@foss.st.com>
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Andi Shyti <andi.shyti@kernel.org>
  Axel Lin <axel.lin@ingics.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Biju Das <biju.das.jz@bp.renesas.com>
  Boris Brezillon <boris.brezillon@free-electrons.com>
  Bryan O'Donoghue <bryan.odonoghue@linaro.org>
  Camel Guo <camel.guo@axis.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Golle <daniel@makrotopia.org>
  Daniel Mack <daniel@zonque.org>
  Ferry Meng <mengferry@linux.alibaba.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Heiner Kallweit <hkallweit1@gmail.com>
  Ivan Orlov <ivan.orlov0322@gmail.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Yan <yanaijie@huawei.com>
  Justin Stitt <justinstitt@google.com>
  Kees Cook <keescook@chromium.org>
  Konstantin Meskhidze <konstantin.meskhidze@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luca Weiss <luca.weiss@fairphone.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Nicolas Ferre <nicolas.ferre@microchip.com>
  Peter Rosin <peda@axentia.se>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Richard Weinberger <richard@nod.at>
  Rob Herring <robh@kernel.org>
  Sean Nyekjaer <sean@geanix.com>
  Shawn Guo <shawn.guo@linaro.org>
  Takashi Sakamoto <o-takashi@sakamocchi.jp>
  Vincent Whitchurch <vincent.whitchurch@axis.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Wolfram Sang <wsa@kernel.org>
  Yang Li <yang.lee@linux.alibaba.com>
  ye xingchen <ye.xingchen@zte.com.cn>
  ZhaoLong Wang <wangzhaolong1@huawei.com>
  Zhihao Cheng <chengzhihao1@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                              starved 
 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-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                               fail    
 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-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
   1c41041124bd..1cfb751165ef  1cfb751165ef685b80635218beff38d6afbce4e2 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 04:11:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 04:11:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627738.978561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzqxT-0004Y3-KS; Mon, 06 Nov 2023 04:11:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627738.978561; Mon, 06 Nov 2023 04: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 1qzqxT-0004Xw-Hg; Mon, 06 Nov 2023 04:11:27 +0000
Received: by outflank-mailman (input) for mailman id 627738;
 Mon, 06 Nov 2023 04:11: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 1qzqxS-0004Xm-Mh; Mon, 06 Nov 2023 04:11: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 1qzqxS-0004av-A8; Mon, 06 Nov 2023 04:11: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 1qzqxR-0005dk-Un; Mon, 06 Nov 2023 04:11:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1qzqxR-0008SO-UL; Mon, 06 Nov 2023 04:11: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=UWrDISoMiGHPalUjyHdEU60L/ohJTvyfnQL+/kacJnk=; b=jPIx9ToUCtsMd/Q87Ls1oSD92B
	I8oefPA8msUNY8vVhJPmcBZVPBUvpQuLmbrU/ZHZsxPRgEJ/3QWnt6Rpg9vvVGW5lITzHY5IZNEUu
	rHERhv/v6wdosOcLDMeY322sgIllArZpFGKU+JlusVi0oMIo6LRkf2QBVpZ+anwTh+G4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183689-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183689: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=778134e491a9f53abc903f6fa730d8389f27697d
X-Osstest-Versions-That:
    ovmf=038499a2681c1adab5a508da34621f74c52bc05c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Nov 2023 04:11:25 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 778134e491a9f53abc903f6fa730d8389f27697d
baseline version:
 ovmf                 038499a2681c1adab5a508da34621f74c52bc05c

Last test of basis   183685  2023-11-04 23:42:55 Z    1 days
Testing same since   183689  2023-11-06 01:42:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jeff Brasen <jbrasen@nvidia.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
   038499a268..778134e491  778134e491a9f53abc903f6fa730d8389f27697d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 05:38:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 05:38:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627749.978570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzsJp-00068r-Vw; Mon, 06 Nov 2023 05:38:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627749.978570; Mon, 06 Nov 2023 05:38: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 1qzsJp-00068k-TP; Mon, 06 Nov 2023 05:38:37 +0000
Received: by outflank-mailman (input) for mailman id 627749;
 Mon, 06 Nov 2023 05:38: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=dMkJ=GT=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1qzsJo-00068e-EC
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 05:38:36 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060a.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b8415ef7-7c66-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 06:38:31 +0100 (CET)
Received: from DB7PR05CA0038.eurprd05.prod.outlook.com (2603:10a6:10:2e::15)
 by AS4PR08MB8046.eurprd08.prod.outlook.com (2603:10a6:20b:586::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Mon, 6 Nov
 2023 05:38:20 +0000
Received: from DB5PEPF00014B8A.eurprd02.prod.outlook.com
 (2603:10a6:10:2e:cafe::8a) by DB7PR05CA0038.outlook.office365.com
 (2603:10a6:10:2e::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28 via Frontend
 Transport; Mon, 6 Nov 2023 05:38:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B8A.mail.protection.outlook.com (10.167.8.198) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Mon, 6 Nov 2023 05:38:20 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Mon, 06 Nov 2023 05:38:20 +0000
Received: from 6763c1eeb11d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E3FB7EBF-9ECC-48B1-A12B-DAE10C8FA63A.1; 
 Mon, 06 Nov 2023 05:38:13 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6763c1eeb11d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 06 Nov 2023 05:38:13 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by GVXPR08MB10497.eurprd08.prod.outlook.com (2603:10a6:150:156::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Mon, 6 Nov
 2023 05:38:08 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6954.027; Mon, 6 Nov 2023
 05:38: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: b8415ef7-7c66-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AhTYHrO6P5rww4sQcrLXpTZbeQtZACKHAE+AzPDpd5439pay2Ctsgu/Eh4bCwGeRWFbD9m3G7enXFqZtyXtCJ8pEm5eP5inLwu6oj7Vw0RrDtjhLWe0Sl4qpLf+5IJUELC+KKZgzI3YMbOsGDJ8tydjJVacY8XTVHVdQlwsXu4gnwfKoIfR1qJv/8hwk/OpZqfDN1FmlO+0sMw+0dVEJ16z/rr4kuVFbA2YafW/PEanCGit4Ob7ZjF0oCZeuqOGXOrp/MvK0MRPZip7gCw7vmvyEOp6i9YxRBpunXbW9gxAsQVkGfUCltzrjgbBJByOXuHV8/Wd0mXGdTHDQWbhklw==
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=rU695EsDwXCoyW5LId9miYAKZ0HiQbfzOra//yg0PfM=;
 b=QSzawpdTIMA0aO5IkTe0GCwKHQ+mAk0FXf5iezVXYVaKOLsEIsFgKaAr96frIH2yE9tnKx4AcaBWrwLdUXoPIjc97MB73/sRv7ih0dkD8E7gagSHBSBuDnsPww+g8z3dQrxQlblVg+NpdLfLAMtnEL7DZylMdJ7U8qh8DPrTtonrTtpXU0UHvDKm90H74OH8z9mpsDJc6ijo7cxfBF4WJUFlAvy9ePnx8+XB9v7of7Cx7uoOpNIdu4m73RAYx03AW+8IvTEhdpKV9zggxMZil6aAnG+YhhfCTyu/nW7D/vdIVIPHxA8Bf0aMDZiIu0NSuy3y8zQ32u5L2+DNC2GDTQ==
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=rU695EsDwXCoyW5LId9miYAKZ0HiQbfzOra//yg0PfM=;
 b=JF8HrXwJd6IKUbuS05YIQcTKCt/B35YVazeI8BdBqrUkvOiE2+2hII21XbmXnvXD4t1iFS3wBHZNw1r0bNT0BS2KMjpWUTcuow765+GVDF8lIJqKWMVJhKDNnqprCo3g+xpDCmVrrKcmtPItpKoVHBsKJSpQ2Wgob29+qHUGxlo=
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: a60f03472c54160d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zd4/uPZSERSFVytrxtVsJsru3IQDomb1VJxkzIVQyCyxShxc/Z3NIjIi2Z/NU/Q93BO65/SoKvaumLaNRrx7xSnl6xCJiimXiN4/nShUduwNptDIVxcf46JmUH9ca7MJ7yQN7p+Fnau95h4qXmGCeimePEVeQSjCUjNkeFBjSShziJ28Fo/WNFSfkopqFN+XqBFkb7QqAv4+e0G0yUXAnIr0NJZmT75OZy+rP+TrpP3iv2NARSv2yxp8wxq/aCiweJBftmgmfv3hC2HkgodJyITMUtepMIOV4y9ONLt8DC/Vbf1Lh2/zQMjUXsjiMbzuReMWphYPhCWVWm3GY8efxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rU695EsDwXCoyW5LId9miYAKZ0HiQbfzOra//yg0PfM=;
 b=gvbtjnUdceUEdScofnDHNaHweEaLz26Kz0+ppuZWqsTwObomrrHQZi++VX47V9hJt5r1zuvKoCkjol50bHYa8oBY8i0tEKBvAglx9aKv6Tli1QWy4DHQJS3s7syJCpi+SdIGvl/QxfCAgn27Nq0BjnMp+/RcP/YXKjYNzEJjrVF3w0AV2kXiYQtTL0dCL83YqzazTGgD61nc5MAK7L9OVaKESoUziAoMADhzbk2PY4RRgmATvuO2IJmWfPe3TySzAPNsnY5TI7am2zAyc4lSEv/qMXq7FnZrQdbMSi6+zxPh/KzeyawBmP1brxSJpb4dRq2cfztgWcvNQ4cT+ko1jg==
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=rU695EsDwXCoyW5LId9miYAKZ0HiQbfzOra//yg0PfM=;
 b=JF8HrXwJd6IKUbuS05YIQcTKCt/B35YVazeI8BdBqrUkvOiE2+2hII21XbmXnvXD4t1iFS3wBHZNw1r0bNT0BS2KMjpWUTcuow765+GVDF8lIJqKWMVJhKDNnqprCo3g+xpDCmVrrKcmtPItpKoVHBsKJSpQ2Wgob29+qHUGxlo=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andcooper@tibco.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
CC: Jason Andryuk <jandryuk@gmail.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Xen Security <security@xen.org>
Subject: Re: [PATCH for-4.18 0/2] golang: Binding fixes
Thread-Topic: [PATCH for-4.18 0/2] golang: Binding fixes
Thread-Index: AQHaDo59LJxC+f9OLku+bqf7JaHAd7BpANCAgAPI24A=
Date: Mon, 6 Nov 2023 05:38:08 +0000
Message-ID: <CE0D9014-BD9A-45C5-90EA-94EF780D5100@arm.com>
References: <20231103194551.64448-1-jandryuk@gmail.com>
 <e4d1a87f-fdf3-4461-b212-1ed28c93019b@tibco.com>
In-Reply-To: <e4d1a87f-fdf3-4461-b212-1ed28c93019b@tibco.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|GVXPR08MB10497:EE_|DB5PEPF00014B8A:EE_|AS4PR08MB8046:EE_
X-MS-Office365-Filtering-Correlation-Id: 6ccc4be8-f110-4b8e-6ff0-08dbde8a95b2
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:
 pt0yuAvF4HZY54EeXtLTGBJvnzIceUmlmsdVHcQYkAdr+KTC5DyGEODMZwuMfRoL35h36lMVOAiC37MTiSowZ5SAtTZVmSebtyzXB5ANDHag0YC/h7Fuw1z4Te9Gh1LR59O8o1kRmkiPdMfuo7w1aIX7GM/iUsgQawNKkuFwRzv8wKFnas21qahgjLAkwFuKcvPjAkTn11fRJgl0zCVWOHgovqroblrFLsQdn+LPtgT/mhTfVsOD9+1X5Q5SAUjBjHibahDjmC4hA/0e5KBsLGb1Z3likGK6wjIzktXv4Y8ouDSNdmUMQ+g9+nbZmjs2M3qgnpG2vDTJenJm6X9g1/CiwGi6KVhMlsgkR20wDfaIL6Z2JQL8GxpEBgg8H+vkDAqnsIGKHyey2HKV4SjUIn3KspH6MZgwwLbZ+o2AHH0OVVZi41NrdJpUMf4vQ/JtQZbsrafkyVCXMvnNAkxTgPYCxiy0oiBy0l0garyAp78XIf0lpbAMeca0avJr3BBQDJlVKRpRi4Y243xjOfIq97OnIAl3PzB0cED6h+mgDRvJ5b3Z4n3bPZBakJ3DfuiI2ObjGfapKrIpzt00V/Xa0FkUGmm3QhclCBaLuSL5BN6R3MpcgYlpxNWDw5qlByFr6rCA5cF4hbXnzNj0A//D/9qCxgR1CvfLCixSRU1Vn1HoGNiSKwYOBUUirOBsQqdx
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:(13230031)(136003)(39860400002)(366004)(346002)(396003)(376002)(230173577357003)(230922051799003)(230273577357003)(64100799003)(186009)(1800799009)(451199024)(53546011)(6506007)(2616005)(6512007)(966005)(6486002)(71200400001)(478600001)(83380400001)(5660300002)(26005)(2906002)(64756008)(66946007)(66476007)(76116006)(66556008)(66446008)(41300700001)(91956017)(316002)(110136005)(4326008)(54906003)(8676002)(8936002)(38070700009)(38100700002)(33656002)(36756003)(86362001)(122000001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <CC4FC79EBF325146A0E4D9B2F17EDE36@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10497
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:
 DB5PEPF00014B8A.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b2abeaaa-2915-4078-646e-08dbde8a8ec9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7mySYlc7QxcZGl0q2YavRIGKcyVHiJumhAv/GadrIaGgG0oaVsMqabMAKdpRfdRtjZXFFnrRjl2vyMWFQOprqCqi6jCAMhXjEteOHI4qPR5zS2TbBJdLTvDhjPI/qLhOeVWr4QdWF3Qh18q1wfudrVZ41gdyAVWXxO468cQEXFruibUJ9SepecHmt9R8VI2HBwEcd5ioW1ejtlRl5zql4g+UCbWX3Fmfdpp5/O5ujAshYPbpcB9ddWSeeUkj5OlL4ub2uwXLnn2UITsyylojs9j/o0NRXb5sseon5ANRIYFOv1xFIrggsV21upSsZhP8VeEn6iA1nmmB7+3dIKGI8G9lGljwvNlFWEDNTr3rBVGQIUGfuMkYSvcqTAO8uX1wJs/Y08vOO4aFpW1vfq7n3OZ9zpR+4Eak1SqLBcfR3HEcfgLq5y3ut+yV57XvAsRpewP92piKqzl5rlAhtcj5V09lIYyaDiIcODrmCb0Ebe0K9twrtbZ5eXPyl8z2QSxP7dvEXtcfvefy02O02+a8NYv9t7lPLkBEEzCfsB7lW/KRtzH9lSzpqMvBTfsFKP9G1ugMuhby7rCPrUTdNPC9dqC8hasG5ry2ESd9rAjsekILDgxepLQaNcW3GpWAvv16Cc3UVRJLfz/a9N3xdtvt/SVHBa6cwRkcUillq/1r/NeB8OVtT7Ar2wbxzVX38OMstfCWicvaszLzU7uRqahYjmK6ovkW5SWXZfEvzEe6lEeQVyJNitVfSs5d1BfeXfWpWtWPaa9H5QFLrS5vle8jzvXoUzLiw0H2HGLGWNGnEjI=
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:(13230031)(4636009)(346002)(396003)(136003)(376002)(39860400002)(230922051799003)(230173577357003)(230273577357003)(186009)(451199024)(64100799003)(1800799009)(82310400011)(46966006)(36840700001)(40470700004)(83380400001)(8936002)(8676002)(4326008)(336012)(40460700003)(36860700001)(81166007)(33656002)(356005)(86362001)(82740400003)(36756003)(2906002)(41300700001)(47076005)(5660300002)(966005)(2616005)(478600001)(6512007)(6506007)(70206006)(70586007)(53546011)(26005)(40480700001)(110136005)(54906003)(316002)(6486002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 05:38:20.1409
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ccc4be8-f110-4b8e-6ff0-08dbde8a95b2
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:
	DB5PEPF00014B8A.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8046

SGkgQW5kcmV3LA0KDQo+IE9uIE5vdiA0LCAyMDIzLCBhdCAwMzo1MCwgQW5kcmV3IENvb3BlciA8
YW5kY29vcGVyQHRpYmNvLmNvbT4gd3JvdGU6DQo+IA0KPiBbYW5kY29vcGVyQHRpYmNvLmNvbSBh
cHBlYXJzIHNpbWlsYXIgdG8gc29tZW9uZSB3aG8gcHJldmlvdXNseSBzZW50IHlvdSBlbWFpbCwg
YnV0IG1heSBub3QgYmUgdGhhdCBwZXJzb24uIExlYXJuIHdoeSB0aGlzIGNvdWxkIGJlIGEgcmlz
ayBhdCBodHRwczovL2FrYS5tcy9MZWFybkFib3V0U2VuZGVySWRlbnRpZmljYXRpb24gXQ0KDQoo
K1lvdXIgd29yayBlbWFpbCBhZGRyZXNzIHNpbmNlIHRoaXMgcmVwbHkgc29tZWhvdyBlbmRlZCB1
cCB3aXRoIG15IGZpbHRlciwNCkkgZm91bmQgdGhpcyBlbWFpbCBhIGJpdCBsYXRlciwgc29ycnkg
Zm9yIHRoZSBsYXRlIHJlcGx5LikNCg0KPiANCj4gT24gMDMvMTEvMjAyMyA3OjQ1IHBtLCBKYXNv
biBBbmRyeXVrIHdyb3RlOg0KPj4gVGhlc2UgdHdvIHBhdGNoZXMgcmVmcmVzaCB0aGUgYmluZGlu
Z3Mgd2hpY2ggaGF2ZSBnb25lIGEgbGl0dGxlIHN0YWxlLg0KPj4gSSB1c2VkIHR3byBzZXBhcmF0
ZSBwYXRjaGVzIHNpbmNlIHRoZSBYU0EtNDQzIG9uZSBtYXkgd2FudCBiYWNrcG9ydGluZy4NCj4+
IA0KPj4gSmFzb24gQW5kcnl1ayAoMik6DQo+PiAgZ29sYW5nOiBGaXh1cCBiaW5kaW5nIGZvciBB
cm0gRkYtQQ0KPj4gIGdvbGFuZzogRml4IGJpbmRpbmdzIGFmdGVyIFhTQS00NDMNCj4gDQo+IEJh
aCAtIHRoZSBzZWN1cml0eSB0ZWFtIGRpZCBtZXNzIHVwIHRoZXJlLg0KPiANCj4gQWxzbywgd2Ug
dmVyeSBjbGVhcmx5IG5lZWQgdGhlIEdvbGFuZyBiaW5kaW5ncyB0byBiZSBhIGJsb2NraW5nIGJ1
aWxkDQo+IHRlc3QgaW4gR2l0bGFiQ0kgdG8gYXZvaWQgcmVwZWF0cyBvZiB0aGlzIGluIHRoZSBm
dXR1cmUuDQo+IA0KPiBJJ20gdGVtcHRlZCB0byB0aGUgR2l0bGFiIGNoYW5nZSBvdWdodCB0byBi
ZSBmb3ItNC4xOCB0b28uICBIZW5yeSwgdGhvdWdodHM/DQoNCkFzIGxvbmcgYXMgdGhlIEdpdExh
YiBDSSBjaGFuZ2UgY2FuIGJlIHN1Ym1pdHRlZCB3aXRoaW4gdGhlIDQuMTggcmVsZWFzZQ0KdGlt
ZWxpbmUsIEkgd29u4oCZdCBvYmplY3QgaXQuIFRoYW5rcy4NCg0KS2luZCByZWdhcmRzLA0KSGVu
cnkNCg0KPiANCj4gfkFuZHJldw0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 05:56:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 05:56:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627754.978580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzsbK-0000aL-HW; Mon, 06 Nov 2023 05:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627754.978580; Mon, 06 Nov 2023 05: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 1qzsbK-0000aH-Ef; Mon, 06 Nov 2023 05:56:42 +0000
Received: by outflank-mailman (input) for mailman id 627754;
 Mon, 06 Nov 2023 05:56: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=KAaQ=GT=infradead.org=rdunlap@srs-se1.protection.inumbo.net>)
 id 1qzsbI-0000a7-O9
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 05:56:41 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f015abb-7c69-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 06:56:37 +0100 (CET)
Received: from [50.53.46.231] (helo=bombadil.infradead.org)
 by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1qzsb9-00FujY-22; Mon, 06 Nov 2023 05:56: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: 3f015abb-7c69-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding:
	MIME-Version:Message-ID:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=DEejfhwXImBiGzcbo0qc6ToTtzflXskyiDMdckWzU8I=; b=PWMNNTxSQGk/qq9CDWArWxt9Aw
	NeJuj0uChyLTovkvhyvvv9nN4CBgl8mrchIDbn1D0hrPLkGm3jec2SYlJLFm7n60kGFDy8lPMP88L
	LEUTm3uYGuxebm4fFEpl76VJnd2d4/XmdQqnc+8scNJqTBQuHV5pznMunbMIsqu1UgJQrcHCiJga0
	m9FeJVV8GfDOO/R9pZpN5Q6KERVviEKStJYVg0QQ52KYPHdc2tEDWLK2klKIoj22pEB/DmOpFLRAM
	O8l/UeBa0hsjA0ovKK6SplIlS0zHNVZ+V3V8WVYFiOMIEiWI4Toxh0xs7TIWVp5gse0m4m5SjbRLP
	nTEapITw==;
From: Randy Dunlap <rdunlap@infradead.org>
To: linux-kernel@vger.kernel.org
Cc: Randy Dunlap <rdunlap@infradead.org>,
	kernel test robot <lkp@intel.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH] xen/shbuf: eliminate 17 kernel-doc warnings
Date: Sun,  5 Nov 2023 21:56:31 -0800
Message-ID: <20231106055631.21520-1-rdunlap@infradead.org>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Don't use kernel-doc markers ("/**") for comments that are not in
kernel-doc format. This prevents multiple kernel-doc warnings:

xen-front-pgdir-shbuf.c:25: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * This structure represents the structure of a shared page
xen-front-pgdir-shbuf.c:37: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Shared buffer ops which are differently implemented
xen-front-pgdir-shbuf.c:65: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Get granted reference to the very first page of the
xen-front-pgdir-shbuf.c:85: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Map granted references of the shared buffer.
xen-front-pgdir-shbuf.c:106: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Unmap granted references of the shared buffer.
xen-front-pgdir-shbuf.c:127: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Free all the resources of the shared buffer.
xen-front-pgdir-shbuf.c:154: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Get the number of pages the page directory consumes itself.
xen-front-pgdir-shbuf.c:164: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Calculate the number of grant references needed to share the buffer
xen-front-pgdir-shbuf.c:176: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Calculate the number of grant references needed to share the buffer
xen-front-pgdir-shbuf.c:194: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Unmap the buffer previously mapped with grant references
xen-front-pgdir-shbuf.c:242: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Map the buffer with grant references provided by the backend.
xen-front-pgdir-shbuf.c:324: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Fill page directory with grant references to the pages of the
xen-front-pgdir-shbuf.c:354: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Fill page directory with grant references to the pages of the
xen-front-pgdir-shbuf.c:393: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Grant references to the frontend's buffer pages.
xen-front-pgdir-shbuf.c:422: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Grant all the references needed to share the buffer.
xen-front-pgdir-shbuf.c:470: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Allocate all required structures to mange shared buffer.
xen-front-pgdir-shbuf.c:510: warning: This comment starts with '/**', but isn't a kernel-doc comment. Refer Documentation/doc-guide/kernel-doc.rst
 * Allocate a new instance of a shared buffer.

Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: kernel test robot <lkp@intel.com>
Closes: lore.kernel.org/r/202311060203.yQrpPZhm-lkp@intel.com
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
---
 drivers/xen/xen-front-pgdir-shbuf.c |   34 +++++++++++++-------------
 1 file changed, 17 insertions(+), 17 deletions(-)

diff -- a/drivers/xen/xen-front-pgdir-shbuf.c b/drivers/xen/xen-front-pgdir-shbuf.c
--- a/drivers/xen/xen-front-pgdir-shbuf.c
+++ b/drivers/xen/xen-front-pgdir-shbuf.c
@@ -21,7 +21,7 @@
 
 #include <xen/xen-front-pgdir-shbuf.h>
 
-/**
+/*
  * This structure represents the structure of a shared page
  * that contains grant references to the pages of the shared
  * buffer. This structure is common to many Xen para-virtualized
@@ -33,7 +33,7 @@ struct xen_page_directory {
 	grant_ref_t gref[]; /* Variable length */
 };
 
-/**
+/*
  * Shared buffer ops which are differently implemented
  * depending on the allocation mode, e.g. if the buffer
  * is allocated by the corresponding backend or frontend.
@@ -61,7 +61,7 @@ struct xen_front_pgdir_shbuf_ops {
 	int (*unmap)(struct xen_front_pgdir_shbuf *buf);
 };
 
-/**
+/*
  * Get granted reference to the very first page of the
  * page directory. Usually this is passed to the backend,
  * so it can find/fill the grant references to the buffer's
@@ -81,7 +81,7 @@ xen_front_pgdir_shbuf_get_dir_start(stru
 }
 EXPORT_SYMBOL_GPL(xen_front_pgdir_shbuf_get_dir_start);
 
-/**
+/*
  * Map granted references of the shared buffer.
  *
  * Depending on the shared buffer mode of allocation
@@ -102,7 +102,7 @@ int xen_front_pgdir_shbuf_map(struct xen
 }
 EXPORT_SYMBOL_GPL(xen_front_pgdir_shbuf_map);
 
-/**
+/*
  * Unmap granted references of the shared buffer.
  *
  * Depending on the shared buffer mode of allocation
@@ -123,7 +123,7 @@ int xen_front_pgdir_shbuf_unmap(struct x
 }
 EXPORT_SYMBOL_GPL(xen_front_pgdir_shbuf_unmap);
 
-/**
+/*
  * Free all the resources of the shared buffer.
  *
  * \param buf shared buffer which resources to be freed.
@@ -150,7 +150,7 @@ EXPORT_SYMBOL_GPL(xen_front_pgdir_shbuf_
 				 offsetof(struct xen_page_directory, \
 					  gref)) / sizeof(grant_ref_t))
 
-/**
+/*
  * Get the number of pages the page directory consumes itself.
  *
  * \param buf shared buffer.
@@ -160,7 +160,7 @@ static int get_num_pages_dir(struct xen_
 	return DIV_ROUND_UP(buf->num_pages, XEN_NUM_GREFS_PER_PAGE);
 }
 
-/**
+/*
  * Calculate the number of grant references needed to share the buffer
  * and its pages when backend allocates the buffer.
  *
@@ -172,7 +172,7 @@ static void backend_calc_num_grefs(struc
 	buf->num_grefs = get_num_pages_dir(buf);
 }
 
-/**
+/*
  * Calculate the number of grant references needed to share the buffer
  * and its pages when frontend allocates the buffer.
  *
@@ -190,7 +190,7 @@ static void guest_calc_num_grefs(struct
 #define xen_page_to_vaddr(page) \
 	((uintptr_t)pfn_to_kaddr(page_to_xen_pfn(page)))
 
-/**
+/*
  * Unmap the buffer previously mapped with grant references
  * provided by the backend.
  *
@@ -238,7 +238,7 @@ static int backend_unmap(struct xen_fron
 	return ret;
 }
 
-/**
+/*
  * Map the buffer with grant references provided by the backend.
  *
  * \param buf shared buffer.
@@ -320,7 +320,7 @@ static int backend_map(struct xen_front_
 	return ret;
 }
 
-/**
+/*
  * Fill page directory with grant references to the pages of the
  * page directory itself.
  *
@@ -350,7 +350,7 @@ static void backend_fill_page_dir(struct
 	page_dir->gref_dir_next_page = XEN_GREF_LIST_END;
 }
 
-/**
+/*
  * Fill page directory with grant references to the pages of the
  * page directory and the buffer we share with the backend.
  *
@@ -389,7 +389,7 @@ static void guest_fill_page_dir(struct x
 	}
 }
 
-/**
+/*
  * Grant references to the frontend's buffer pages.
  *
  * These will be shared with the backend, so it can
@@ -418,7 +418,7 @@ static int guest_grant_refs_for_buffer(s
 	return 0;
 }
 
-/**
+/*
  * Grant all the references needed to share the buffer.
  *
  * Grant references to the page directory pages and, if
@@ -466,7 +466,7 @@ static int grant_references(struct xen_f
 	return 0;
 }
 
-/**
+/*
  * Allocate all required structures to mange shared buffer.
  *
  * \param buf shared buffer.
@@ -506,7 +506,7 @@ static const struct xen_front_pgdir_shbu
 	.grant_refs_for_buffer = guest_grant_refs_for_buffer,
 };
 
-/**
+/*
  * Allocate a new instance of a shared buffer.
  *
  * \param cfg configuration to be used while allocating a new shared buffer.


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 06:02:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 06:02:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627759.978590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzsgN-00027y-3N; Mon, 06 Nov 2023 06:01:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627759.978590; Mon, 06 Nov 2023 06: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 1qzsgN-00027r-0l; Mon, 06 Nov 2023 06:01:55 +0000
Received: by outflank-mailman (input) for mailman id 627759;
 Mon, 06 Nov 2023 06:01: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=czoR=GT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qzsgK-00027l-Uj
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 06:01:53 +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 fa341c2b-7c69-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 07:01:50 +0100 (CET)
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 387E11F38A;
 Mon,  6 Nov 2023 06:01: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 F31CD138E5;
 Mon,  6 Nov 2023 06:01:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OMJ/OU2BSGUwGwAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Nov 2023 06:01: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: fa341c2b-7c69-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699250510; 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:autocrypt:autocrypt;
	bh=59AgskFfJ8ZDRPe+nQZ2XM1bfbKYKiz35XjQTuOu/Zw=;
	b=MXJFkreefWbeg/7dVomv8ynJTGiELxW2PTqU/zoIffSwkqYUyAUBaYt2e2H2w3NLaWSVkw
	FRUolBcw83bDfTvO8fqmNRi1fOyeDZ+61oZVT69x97OO1XqmsHI+GU3RB3m/4hTP0aJtws
	msRbk9+9FD/+aM9FMJ3tijj0b0QcrwI=
Message-ID: <d1e40b11-e585-4df7-aecf-ca5c862338ae@suse.com>
Date: Mon, 6 Nov 2023 07:01:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/shbuf: eliminate 17 kernel-doc warnings
Content-Language: en-US
To: Randy Dunlap <rdunlap@infradead.org>, linux-kernel@vger.kernel.org
Cc: kernel test robot <lkp@intel.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20231106055631.21520-1-rdunlap@infradead.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20231106055631.21520-1-rdunlap@infradead.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------UUpw9yy9c4JGcQKVp2RbrEDO"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------UUpw9yy9c4JGcQKVp2RbrEDO
Content-Type: multipart/mixed; boundary="------------N0DbgYE4B0YGZ36ABGARpjtb";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Randy Dunlap <rdunlap@infradead.org>, linux-kernel@vger.kernel.org
Cc: kernel test robot <lkp@intel.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Message-ID: <d1e40b11-e585-4df7-aecf-ca5c862338ae@suse.com>
Subject: Re: [PATCH] xen/shbuf: eliminate 17 kernel-doc warnings
References: <20231106055631.21520-1-rdunlap@infradead.org>
In-Reply-To: <20231106055631.21520-1-rdunlap@infradead.org>

--------------N0DbgYE4B0YGZ36ABGARpjtb
Content-Type: multipart/mixed; boundary="------------60Cv0cm9ZBk9hDt0b9Pj0UoR"

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

T24gMDYuMTEuMjMgMDY6NTYsIFJhbmR5IER1bmxhcCB3cm90ZToNCj4gRG9uJ3QgdXNlIGtl
cm5lbC1kb2MgbWFya2VycyAoIi8qKiIpIGZvciBjb21tZW50cyB0aGF0IGFyZSBub3QgaW4N
Cj4ga2VybmVsLWRvYyBmb3JtYXQuIFRoaXMgcHJldmVudHMgbXVsdGlwbGUga2VybmVsLWRv
YyB3YXJuaW5nczoNCj4gDQo+IHhlbi1mcm9udC1wZ2Rpci1zaGJ1Zi5jOjI1OiB3YXJuaW5n
OiBUaGlzIGNvbW1lbnQgc3RhcnRzIHdpdGggJy8qKicsIGJ1dCBpc24ndCBhIGtlcm5lbC1k
b2MgY29tbWVudC4gUmVmZXIgRG9jdW1lbnRhdGlvbi9kb2MtZ3VpZGUva2VybmVsLWRvYy5y
c3QNCj4gICAqIFRoaXMgc3RydWN0dXJlIHJlcHJlc2VudHMgdGhlIHN0cnVjdHVyZSBvZiBh
IHNoYXJlZCBwYWdlDQo+IHhlbi1mcm9udC1wZ2Rpci1zaGJ1Zi5jOjM3OiB3YXJuaW5nOiBU
aGlzIGNvbW1lbnQgc3RhcnRzIHdpdGggJy8qKicsIGJ1dCBpc24ndCBhIGtlcm5lbC1kb2Mg
Y29tbWVudC4gUmVmZXIgRG9jdW1lbnRhdGlvbi9kb2MtZ3VpZGUva2VybmVsLWRvYy5yc3QN
Cj4gICAqIFNoYXJlZCBidWZmZXIgb3BzIHdoaWNoIGFyZSBkaWZmZXJlbnRseSBpbXBsZW1l
bnRlZA0KPiB4ZW4tZnJvbnQtcGdkaXItc2hidWYuYzo2NTogd2FybmluZzogVGhpcyBjb21t
ZW50IHN0YXJ0cyB3aXRoICcvKionLCBidXQgaXNuJ3QgYSBrZXJuZWwtZG9jIGNvbW1lbnQu
IFJlZmVyIERvY3VtZW50YXRpb24vZG9jLWd1aWRlL2tlcm5lbC1kb2MucnN0DQo+ICAgKiBH
ZXQgZ3JhbnRlZCByZWZlcmVuY2UgdG8gdGhlIHZlcnkgZmlyc3QgcGFnZSBvZiB0aGUNCj4g
eGVuLWZyb250LXBnZGlyLXNoYnVmLmM6ODU6IHdhcm5pbmc6IFRoaXMgY29tbWVudCBzdGFy
dHMgd2l0aCAnLyoqJywgYnV0IGlzbid0IGEga2VybmVsLWRvYyBjb21tZW50LiBSZWZlciBE
b2N1bWVudGF0aW9uL2RvYy1ndWlkZS9rZXJuZWwtZG9jLnJzdA0KPiAgICogTWFwIGdyYW50
ZWQgcmVmZXJlbmNlcyBvZiB0aGUgc2hhcmVkIGJ1ZmZlci4NCj4geGVuLWZyb250LXBnZGly
LXNoYnVmLmM6MTA2OiB3YXJuaW5nOiBUaGlzIGNvbW1lbnQgc3RhcnRzIHdpdGggJy8qKics
IGJ1dCBpc24ndCBhIGtlcm5lbC1kb2MgY29tbWVudC4gUmVmZXIgRG9jdW1lbnRhdGlvbi9k
b2MtZ3VpZGUva2VybmVsLWRvYy5yc3QNCj4gICAqIFVubWFwIGdyYW50ZWQgcmVmZXJlbmNl
cyBvZiB0aGUgc2hhcmVkIGJ1ZmZlci4NCj4geGVuLWZyb250LXBnZGlyLXNoYnVmLmM6MTI3
OiB3YXJuaW5nOiBUaGlzIGNvbW1lbnQgc3RhcnRzIHdpdGggJy8qKicsIGJ1dCBpc24ndCBh
IGtlcm5lbC1kb2MgY29tbWVudC4gUmVmZXIgRG9jdW1lbnRhdGlvbi9kb2MtZ3VpZGUva2Vy
bmVsLWRvYy5yc3QNCj4gICAqIEZyZWUgYWxsIHRoZSByZXNvdXJjZXMgb2YgdGhlIHNoYXJl
ZCBidWZmZXIuDQo+IHhlbi1mcm9udC1wZ2Rpci1zaGJ1Zi5jOjE1NDogd2FybmluZzogVGhp
cyBjb21tZW50IHN0YXJ0cyB3aXRoICcvKionLCBidXQgaXNuJ3QgYSBrZXJuZWwtZG9jIGNv
bW1lbnQuIFJlZmVyIERvY3VtZW50YXRpb24vZG9jLWd1aWRlL2tlcm5lbC1kb2MucnN0DQo+
ICAgKiBHZXQgdGhlIG51bWJlciBvZiBwYWdlcyB0aGUgcGFnZSBkaXJlY3RvcnkgY29uc3Vt
ZXMgaXRzZWxmLg0KPiB4ZW4tZnJvbnQtcGdkaXItc2hidWYuYzoxNjQ6IHdhcm5pbmc6IFRo
aXMgY29tbWVudCBzdGFydHMgd2l0aCAnLyoqJywgYnV0IGlzbid0IGEga2VybmVsLWRvYyBj
b21tZW50LiBSZWZlciBEb2N1bWVudGF0aW9uL2RvYy1ndWlkZS9rZXJuZWwtZG9jLnJzdA0K
PiAgICogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgZ3JhbnQgcmVmZXJlbmNlcyBuZWVkZWQg
dG8gc2hhcmUgdGhlIGJ1ZmZlcg0KPiB4ZW4tZnJvbnQtcGdkaXItc2hidWYuYzoxNzY6IHdh
cm5pbmc6IFRoaXMgY29tbWVudCBzdGFydHMgd2l0aCAnLyoqJywgYnV0IGlzbid0IGEga2Vy
bmVsLWRvYyBjb21tZW50LiBSZWZlciBEb2N1bWVudGF0aW9uL2RvYy1ndWlkZS9rZXJuZWwt
ZG9jLnJzdA0KPiAgICogQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgZ3JhbnQgcmVmZXJlbmNl
cyBuZWVkZWQgdG8gc2hhcmUgdGhlIGJ1ZmZlcg0KPiB4ZW4tZnJvbnQtcGdkaXItc2hidWYu
YzoxOTQ6IHdhcm5pbmc6IFRoaXMgY29tbWVudCBzdGFydHMgd2l0aCAnLyoqJywgYnV0IGlz
bid0IGEga2VybmVsLWRvYyBjb21tZW50LiBSZWZlciBEb2N1bWVudGF0aW9uL2RvYy1ndWlk
ZS9rZXJuZWwtZG9jLnJzdA0KPiAgICogVW5tYXAgdGhlIGJ1ZmZlciBwcmV2aW91c2x5IG1h
cHBlZCB3aXRoIGdyYW50IHJlZmVyZW5jZXMNCj4geGVuLWZyb250LXBnZGlyLXNoYnVmLmM6
MjQyOiB3YXJuaW5nOiBUaGlzIGNvbW1lbnQgc3RhcnRzIHdpdGggJy8qKicsIGJ1dCBpc24n
dCBhIGtlcm5lbC1kb2MgY29tbWVudC4gUmVmZXIgRG9jdW1lbnRhdGlvbi9kb2MtZ3VpZGUv
a2VybmVsLWRvYy5yc3QNCj4gICAqIE1hcCB0aGUgYnVmZmVyIHdpdGggZ3JhbnQgcmVmZXJl
bmNlcyBwcm92aWRlZCBieSB0aGUgYmFja2VuZC4NCj4geGVuLWZyb250LXBnZGlyLXNoYnVm
LmM6MzI0OiB3YXJuaW5nOiBUaGlzIGNvbW1lbnQgc3RhcnRzIHdpdGggJy8qKicsIGJ1dCBp
c24ndCBhIGtlcm5lbC1kb2MgY29tbWVudC4gUmVmZXIgRG9jdW1lbnRhdGlvbi9kb2MtZ3Vp
ZGUva2VybmVsLWRvYy5yc3QNCj4gICAqIEZpbGwgcGFnZSBkaXJlY3Rvcnkgd2l0aCBncmFu
dCByZWZlcmVuY2VzIHRvIHRoZSBwYWdlcyBvZiB0aGUNCj4geGVuLWZyb250LXBnZGlyLXNo
YnVmLmM6MzU0OiB3YXJuaW5nOiBUaGlzIGNvbW1lbnQgc3RhcnRzIHdpdGggJy8qKicsIGJ1
dCBpc24ndCBhIGtlcm5lbC1kb2MgY29tbWVudC4gUmVmZXIgRG9jdW1lbnRhdGlvbi9kb2Mt
Z3VpZGUva2VybmVsLWRvYy5yc3QNCj4gICAqIEZpbGwgcGFnZSBkaXJlY3Rvcnkgd2l0aCBn
cmFudCByZWZlcmVuY2VzIHRvIHRoZSBwYWdlcyBvZiB0aGUNCj4geGVuLWZyb250LXBnZGly
LXNoYnVmLmM6MzkzOiB3YXJuaW5nOiBUaGlzIGNvbW1lbnQgc3RhcnRzIHdpdGggJy8qKics
IGJ1dCBpc24ndCBhIGtlcm5lbC1kb2MgY29tbWVudC4gUmVmZXIgRG9jdW1lbnRhdGlvbi9k
b2MtZ3VpZGUva2VybmVsLWRvYy5yc3QNCj4gICAqIEdyYW50IHJlZmVyZW5jZXMgdG8gdGhl
IGZyb250ZW5kJ3MgYnVmZmVyIHBhZ2VzLg0KPiB4ZW4tZnJvbnQtcGdkaXItc2hidWYuYzo0
MjI6IHdhcm5pbmc6IFRoaXMgY29tbWVudCBzdGFydHMgd2l0aCAnLyoqJywgYnV0IGlzbid0
IGEga2VybmVsLWRvYyBjb21tZW50LiBSZWZlciBEb2N1bWVudGF0aW9uL2RvYy1ndWlkZS9r
ZXJuZWwtZG9jLnJzdA0KPiAgICogR3JhbnQgYWxsIHRoZSByZWZlcmVuY2VzIG5lZWRlZCB0
byBzaGFyZSB0aGUgYnVmZmVyLg0KPiB4ZW4tZnJvbnQtcGdkaXItc2hidWYuYzo0NzA6IHdh
cm5pbmc6IFRoaXMgY29tbWVudCBzdGFydHMgd2l0aCAnLyoqJywgYnV0IGlzbid0IGEga2Vy
bmVsLWRvYyBjb21tZW50LiBSZWZlciBEb2N1bWVudGF0aW9uL2RvYy1ndWlkZS9rZXJuZWwt
ZG9jLnJzdA0KPiAgICogQWxsb2NhdGUgYWxsIHJlcXVpcmVkIHN0cnVjdHVyZXMgdG8gbWFu
Z2Ugc2hhcmVkIGJ1ZmZlci4NCj4geGVuLWZyb250LXBnZGlyLXNoYnVmLmM6NTEwOiB3YXJu
aW5nOiBUaGlzIGNvbW1lbnQgc3RhcnRzIHdpdGggJy8qKicsIGJ1dCBpc24ndCBhIGtlcm5l
bC1kb2MgY29tbWVudC4gUmVmZXIgRG9jdW1lbnRhdGlvbi9kb2MtZ3VpZGUva2VybmVsLWRv
Yy5yc3QNCj4gICAqIEFsbG9jYXRlIGEgbmV3IGluc3RhbmNlIG9mIGEgc2hhcmVkIGJ1ZmZl
ci4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IFJhbmR5IER1bmxhcCA8cmR1bmxhcEBpbmZyYWRl
YWQub3JnPg0KPiBSZXBvcnRlZC1ieToga2VybmVsIHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5j
b20+DQo+IENsb3NlczogbG9yZS5rZXJuZWwub3JnL3IvMjAyMzExMDYwMjAzLnlRcnBQWmht
LWxrcEBpbnRlbC5jb20NCj4gQ2M6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4N
Cj4gQ2M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4g
Q2M6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNv
bT4NCj4gQ2M6IHhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZw0KDQpBY2tlZC1ieTog
SnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCkp1ZXJnZW4NCg0K
--------------60Cv0cm9ZBk9hDt0b9Pj0UoR
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-----

--------------60Cv0cm9ZBk9hDt0b9Pj0UoR--

--------------N0DbgYE4B0YGZ36ABGARpjtb--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVIgU0FAwAAAAAACgkQsN6d1ii/Ey+i
WQf/THFpWAJlimlbD2vVGFcxCTmUxGz4pEZqI1sWzovjT9tK7XA8irY3PNiCWqmDbgZ9HUxHCgVY
v4aXHovhXjkUC3xSVgzqLM/QRHh0rrKvxy+KJEN06O7TGzBf1UYgAxrkVtvOZAZmojdocWV3MLWf
Zi+UqkmQBGBJOoC48o90/ebSl+B6qVT2w99uSEKEajqYMWFfrzlnPqspt6XgfWrAsA6KnQMHrz5d
6WzQmUkpan4WbaKocskW0gyNwK5up+sqKb6Qd4LNlIXPueu2UJQadN7JysStoQbx3outhdSs14/g
RRu7rB5pi/dHXBALR1tmI01G7c4PlwwlG5I4zTw9Hg==
=1NYV
-----END PGP SIGNATURE-----

--------------UUpw9yy9c4JGcQKVp2RbrEDO--


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 06:47:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 06:47:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627763.978601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qztOG-00085v-EP; Mon, 06 Nov 2023 06:47:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627763.978601; Mon, 06 Nov 2023 06: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 1qztOG-00085o-BH; Mon, 06 Nov 2023 06:47:16 +0000
Received: by outflank-mailman (input) for mailman id 627763;
 Mon, 06 Nov 2023 06:47: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=bfeq=GT=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qztOF-00085i-3t
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 06:47:15 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20620.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4e103842-7c70-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 07:47:09 +0100 (CET)
Received: from PH8PR05CA0019.namprd05.prod.outlook.com (2603:10b6:510:2cc::25)
 by DS0PR12MB7607.namprd12.prod.outlook.com (2603:10b6:8:13f::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Mon, 6 Nov
 2023 06:47:05 +0000
Received: from SA2PEPF000015CA.namprd03.prod.outlook.com
 (2603:10b6:510:2cc:cafe::b4) by PH8PR05CA0019.outlook.office365.com
 (2603:10b6:510:2cc::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.16 via Frontend
 Transport; Mon, 6 Nov 2023 06:47:05 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015CA.mail.protection.outlook.com (10.167.241.200) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Mon, 6 Nov 2023 06:47:04 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Mon, 6 Nov
 2023 00:47:03 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 6 Nov 2023 00:47:02 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e103842-7c70-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=djIkxABigLQnj4s9KXhPntf4sWMLEZpz+wnj8wwdUKkYn2c+3TNf7bQzm7Ho3wj/vnwjH94ZbymsaTtrfrYo/2x+in2YVAhBzuIY3D/nA/AfR/d5dLBwhX174mai5GCFfkf+N0pd/vY2AzbHBPpikqF51Gqy4E8B14nPf3icIWIhmvt0u3AW6nZV9FOaRVfd5J3i1yNa+2cLlcyegEzH0P1RjiUErwynyTHFUfWyZqxnQRqBCXAElDhMAc64wV65qvdDSAAsSyZkCRCuoWaB+H1+30RwBabUOq7iqQ2BUOPZeKKoJXl9opxr27E79ZnIF1XcZ5Vw2MKswUFuFbUdqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QBOYLagDXaoSSRituXJjlZccbZdDxwf0TYkuUkHOfC8=;
 b=mlg9puw+1c6ACp/oCcpyKG5ymjcpZWFk4YYQLPjYcmgPpXbPGl+c9vplk+yWYfz3X3qgYLmusvEsWjd43wuXcGeuQh+v4+HaXVK4/xAs1vhLRDUXP0TUSewJnCtGQ78vSNSdLCzMt5eAD162oZAuNLqT56xQLo/0vr/j0Gn0nAupqUMODhGiEx4XIhHLpmf5YltMjftKgXuljESZobooTYNTf966qynmPr/fY33VaRIN404lAgcjzdlMx8aLNQDV1g/7vuacJwYLn+KwYaU/HzpEYslxkaJAe7EykkK7Z9hUd0ANkbvPqkCmv1hZ2YVaOlky1tg442x9VohO8efMAA==
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 (0)
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=QBOYLagDXaoSSRituXJjlZccbZdDxwf0TYkuUkHOfC8=;
 b=LPPA3MYXLYr32mb3v4bNxe7pw3F1m3m1oh2to52xsOZr70AzhsoFbY4tileo2qG1gCuMlfm4fOTYL3VZFpSh4azEPFnFBuWZHBmfEuzzhR0sdMPTBAJ1xf9rda7Dp9JNcJvSp4M6ORR24KUToZmj44ImlwRHENypw3hVxhoFhnA=
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: <98557d2a-234b-4031-a812-174c31892d52@amd.com>
Date: Mon, 6 Nov 2023 07:46:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/arm32: head: Introduce
 enable_{boot,secondary}_cpu_mm()
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>
References: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
 <20231103173436.3912488-2-ayan.kumar.halder@amd.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231103173436.3912488-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CA:EE_|DS0PR12MB7607:EE_
X-MS-Office365-Filtering-Correlation-Id: 98217d62-67f9-4368-2a88-08dbde943018
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uAQ8/DzuqGo38aTogb9Yru597fH93dOPKbAfQ5niln5r2jm2uyQYgaHwg1QgBV4KQPzjs9+E9NSWhYLxY4xmRoA2j8tQOeCKP4rCtwQbhBAnTyhZKo9hpIDXp2B1aFJOAkKr6uCo0DvXE/GyYHb1cvXad2TZcFyELx0PHmI/84/1IRoN6CTvfy7KxFHAvQCwEmWmB5cnrpdEuBOt3vhJL/atxpTGUirHqDMHKN5gsfqeRhgjIGb3PDjg9NxjN6HNlm6s2kYqSy84TYt8QRlSRcm10/qxdySRUHbZO6fT3nRGF9FmK4y75XcbxuCHeWaLvcoUWuroBoBHk0yEUyGXVWkGct5BaCTKGd8Ct8Rsw8Fy05qUlP+Tp1f1KGA7PDCwhLHFHy9WDsiOR4b8EYv+PU35jyoaybMIo/7HGreiRLg7dFGUVEtWvWFzFco3iYU5ghi0ZpxpRjGNwPkbSE2uVesBPJ/A/LKX1S8j6/9bYowg24u7kgFFFtZms1TN7kEeIirzD6fUjMPeq6gQ9fiJzBgtnVKNCOrZYUqlpQ/U/iGkMGjkxGbmcgHXKyw/1iC5o6KbWDl+03xaN05keVYVcKaFM0thJogLoP4nT7kHBvisL6lyjeW32ELW5PsfoKW5uGJNQoYwzR0xzioLGoeLvrVwEwft8nnnG3oeelSwMXHZarIrP6FIZjW9UsnlNiWk7pRtUOBzTIx8frOWrPXLux7qtkK6wZaEgjOzI9EVr5xEhAy6KGPgdktY4o955BMI28R6yphRNTxdI2octzzO4ywxKmBuz4zg2VOPfz952FmxVXtOPqPfj8s0daT3p2hGkO34G1dsQ3fSz4Z7zMyuEw==
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:(13230031)(4636009)(376002)(136003)(39860400002)(396003)(346002)(230922051799003)(1800799009)(64100799003)(186009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(40460700003)(36756003)(40480700001)(26005)(426003)(316002)(336012)(8676002)(4326008)(8936002)(83380400001)(110136005)(70206006)(54906003)(16576012)(70586007)(5660300002)(36860700001)(44832011)(41300700001)(47076005)(478600001)(2906002)(6666004)(53546011)(2616005)(31686004)(82740400003)(81166007)(31696002)(86362001)(356005)(21314003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 06:47:04.5692
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 98217d62-67f9-4368-2a88-08dbde943018
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:
	SA2PEPF000015CA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7607

Hi Ayan,

On 03/11/2023 18:34, Ayan Kumar Halder wrote:
> 
> 
> All the MMU related functionality have been clubbed together in
> enable_boot_cpu_mm() for booting primary cpu and enable_secondary_cpu_mm() for
> booting secondary cpus.
> This is done in preparation for moving the code related to MMU in MMU specific
> file and in order to support non MMU cpus in future.
> 
> This is based on d2f8df5b3ede commit.
NIT: when referencing other commits, use <12 digits> ("<commit_title>")

> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> Changes from :-
> 
> v1 - 1. Added a proper commit message.
> 2. Some style and other fixes suggested in v1.
> 
>  xen/arch/arm/arm32/head.S | 89 +++++++++++++++++++++++++++++----------
>  1 file changed, 67 insertions(+), 22 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 2d7e690bf5..7004443798 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -201,13 +201,11 @@ past_zImage:
> 
>          bl    check_cpu_mode
>          bl    cpu_init
> -        bl    create_page_tables
> 
> -        /* Address in the runtime mapping to jump to after the MMU is enabled */
>          mov_w lr, primary_switched
> -        b     enable_mmu
> +        b     enable_boot_cpu_mm
> +
>  primary_switched:
> -        bl    setup_fixmap
>  #ifdef CONFIG_EARLY_PRINTK
>          /* Use a virtual address to access the UART. */
>          mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
> @@ -249,27 +247,11 @@ GLOBAL(init_secondary)
>  #endif
>          bl    check_cpu_mode
>          bl    cpu_init
> -        bl    create_page_tables
> 
> -        /* 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
> -         * setup in prepare_secondary_mm.
> -         *
> -         * XXX: This is not compliant with the Arm Arm.
> -         */
> -        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
> -        ldrd  r4, r5, [r4]           /* Actual value */
> -        dsb
> -        mcrr  CP64(r4, r5, HTTBR)
> -        dsb
> -        isb
> -        flush_xen_tlb_local r0
> -        pt_enforce_wxn r0
> +        b     enable_secondary_cpu_mm
> 
> +secondary_switched:
>  #ifdef CONFIG_EARLY_PRINTK
>          /* Use a virtual address to access the UART. */
>          mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
> @@ -692,6 +674,69 @@ ready_to_switch:
>          mov   pc, lr
>  ENDPROC(switch_to_runtime_mapping)
> 
> +/*
> + * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
> + * 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 - r6
> + */
> +enable_secondary_cpu_mm:
> +        mov   r6, lr
> +
> +        bl    create_page_tables
> +
> +        /* Address in the runtime mapping to jump to after the MMU is enabled */
> +        mov_w lr, 1f
> +        b     enable_mmu
> +1:
> +        /*
> +         * Non-boot CPUs need to move on to the proper pagetables, which were
> +         * setup in prepare_secondary_mm.
> +         *
> +         * XXX: This is not compliant with the Arm Arm.
> +         */
> +        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
> +        ldrd  r4, r5, [r4]           /* Actual value */
> +        dsb
> +        mcrr  CP64(r4, r5, HTTBR)
> +        dsb
> +        isb
> +        flush_xen_tlb_local r0
> +        pt_enforce_wxn r0
> +
> +        /* Return to the virtual address requested by the caller. */
> +        mov   pc, r6
> +ENDPROC(enable_secondary_cpu_mm)
> +
> +/*
> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
> + * 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 - r6
> + */
> +enable_boot_cpu_mm:
> +        mov   r6, lr
> +
> +        bl    create_page_tables
> +
> +        /* Address in the runtime mapping to jump to after the MMU is enabled */
> +        mov_w lr, 1f
> +        b     enable_mmu
> +1:
> +        /* Return to the virtual address requested by the caller. */
I find this comment a bit misleading as it reads as if this instruction was causing a return.

Apart from that, this change LGTM. Depending on the order of other arm32 head.S patches:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 06:57:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 06:57:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627768.978611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qztYF-0001ek-Et; Mon, 06 Nov 2023 06:57:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627768.978611; Mon, 06 Nov 2023 06: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 1qztYF-0001ed-C7; Mon, 06 Nov 2023 06:57:35 +0000
Received: by outflank-mailman (input) for mailman id 627768;
 Mon, 06 Nov 2023 06: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=bfeq=GT=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qztYD-0001eX-Sa
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 06:57:34 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c10c6840-7c71-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 07:57:31 +0100 (CET)
Received: from DM5PR08CA0029.namprd08.prod.outlook.com (2603:10b6:4:60::18) by
 IA1PR12MB8309.namprd12.prod.outlook.com (2603:10b6:208:3fe::8) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.28; Mon, 6 Nov 2023 06:57:27 +0000
Received: from DS3PEPF000099DC.namprd04.prod.outlook.com
 (2603:10b6:4:60:cafe::ad) by DM5PR08CA0029.outlook.office365.com
 (2603:10b6:4:60::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28 via Frontend
 Transport; Mon, 6 Nov 2023 06:57:27 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS3PEPF000099DC.mail.protection.outlook.com (10.167.17.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Mon, 6 Nov 2023 06:57:26 +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.2507.32; Mon, 6 Nov
 2023 00:57:26 -0600
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.2507.32; Mon, 6 Nov
 2023 00:57:25 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 6 Nov 2023 00:57:24 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c10c6840-7c71-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fOjbKNskuvdtUk8u+PsW1/FLQchjVKNlCJS3G1ulSzEzX2oa+Chs+qSkbN/biFG0a6jqiNtpKxrQEOYlbIGkKsRmRfHx3EUlpQe5P4rHo1SJq98i/ufZz7Z73z0YVvbyU08i9Toi79bK100doL9zkSesWuw430xe3KEIdW+/pW153D5vrueDlYvhjZ/1DBZdZGFqBt6mTtBdrZUZGGADNL6g+bBjwGmcPmOokLSH7BUtqACU+9WLGilGxOzbSlLKB5eVVlYGWFRzX22+aV7FF5giOvFEqgBul5VLKuJwR2ZkjOb7NOYFl3GvyAccB3+RbbLZ9g4p+tNil8IYTV41ew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=08MkzduDHPZbOqZcQJJKpBm+Rs1CAZ/takEcLpicuuI=;
 b=N3fmiOK3eL3c9uRYRAu+tY70/PEFDqb9CYY/39lc3BVKLm8yBTqLiISkgCe4O6kMCCrNzfg/xIdBE7lkL4xlKPFHKGbryDQTzelni2/Xj4+43ilDKke4imjwYjPzUzN6h3RGP+/U9+XKqmPSf8aUqBtVWft1QvbxSid/fr0cXEryRwsF9i4F9yHvsSIGP71wbttF+imZxqOm55l1sRIXrhPsnieYuBWZO4cEObOtAr1kKMg2q9VBCGLszGMxypZdrgKV+bjoxUvb4MC4A76JO8i+aQ3LkBPUl7sJ/A7bs9cTW0fJB05pPteMvullJHwR3PtD8k9BcUvwcKCu1ggEZQ==
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 (0)
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=08MkzduDHPZbOqZcQJJKpBm+Rs1CAZ/takEcLpicuuI=;
 b=FUUyQr86y2BJJHh8V3cIFp4Oco4woA8E29H4uTC0kqad1C4lyRP1Zr3UWEvt4Xs3xfgqz/JU46cAcCLyfUvimBrBgKZEnqIJetp3b8gXj7or1IG6yjomADs6BrRy5pICM+PBuKihjwF32/82JHsEJdbatqgCS8JxGl+cGLOV1xA=
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: <a502d0be-2873-4ee3-8f7e-9c9806740126@amd.com>
Date: Mon, 6 Nov 2023 07:57:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] xen/arm32: head Split and move MMU-specific head.S
 to mmu/head.S
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>
References: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
 <20231103173436.3912488-3-ayan.kumar.halder@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231103173436.3912488-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099DC:EE_|IA1PR12MB8309:EE_
X-MS-Office365-Filtering-Correlation-Id: cc5af0cf-e48f-4925-284a-08dbde95a2fa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5Mdn2HvoZE48AtUC4jOWNYpERHzTc6EzhHwCTUeat6IAego9Fx1B63pffdu0UHfpyTAxQyPG+RXNndc6LFkbaMeZYdlZjfrJ7ljZSs4mVysKO2ylTu8zcqroAY2Q3s0x+njesVqtSGAdgTcBVsIOEBqYnGuH0Y4vL1GY0xkcOSsQ97UCvAWHvy46LUaaoZ5aNPuMB2g8WYgym1d4wsAaZHaLpkzEMYsqaZlsnIwFZ096mnxa9Rm3Wrqcb75+M7k0ATdQh8kSLPAlymJbVHLjGgFKxTNKfXJ6ULGJw3ZEjAMimYZ+pbJf6DxZpnmIAxF8gtH06SLKGSj5Y1fGQfTHTXNBXM4XyIwD3FHDoJmRkQgDefp9+PtDOpMoL3h6w40MpQgORTnI2EVpFuWfa3xZ/yD0H2+R6rOg4HVDoIA8MVtl0VovHAIjPkXh436aHt7/R/BeyUi02aZMr4zRK2aytfVstWJvNGNFb7LaYHdm7lvS0CiUe1ODDIY4OgoFCqu7iqi8BluexrD4hdMnSUnAbTBTiy870/A8BAAzhJY1cLwESM0kK/GrP6w1wFCAJuJom+0mnHSMsIihWFUcSH7bl+nMc2vwKcFmezBm9ixPMqSoqNRwWz+fWq0X1JSX7RoFdl9APOdDc5dY5/+QTUb1MoS31RVEUMFLOkZJjBk2AZTzpN0INx8ruyihAMKtCJUQgwvlXx6H1z1y0+SgJgtIrpT8voVQPXYuRK1J8FDfvx0VG9BvqEBFz+De3Fd4zr6vQ/0kENGLSUolsMStCVaxApJoRHwpNjjXXOggajohz/bu8TXteNuLNDHp554hEh2vpE8yPvuv0GoZfyfUv5uBwKQlXqKVqjQiwW5uPykGrOIy3OXQ2TnUCindh7+zUItU
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:(13230031)(4636009)(346002)(376002)(39860400002)(396003)(136003)(230922051799003)(230273577357003)(230173577357003)(1800799009)(64100799003)(82310400011)(451199024)(186009)(40470700004)(46966006)(36840700001)(82740400003)(2616005)(336012)(40460700003)(426003)(110136005)(70586007)(70206006)(83380400001)(26005)(478600001)(53546011)(2906002)(8676002)(4326008)(8936002)(41300700001)(40480700001)(36756003)(5660300002)(36860700001)(31696002)(30864003)(86362001)(47076005)(44832011)(81166007)(316002)(54906003)(356005)(16576012)(31686004)(21314003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 06:57:26.7916
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc5af0cf-e48f-4925-284a-08dbde95a2fa
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:
	DS3PEPF000099DC.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8309

Hi Ayan,

On 03/11/2023 18:34, Ayan Kumar Halder wrote:
> 
> 
> The MMU specific code in head.S will not be used on MPU systems.
> Instead of introducing more #ifdefs which will bring complexity
> to the code, move MMU related code to mmu/head.S and keep common
> code in head.S. Two notes while moving:
>  - As "fail" in original head.S is very simple and this name is too
>    easy to be conflicted, duplicate it in mmu/head.S instead of
>    exporting it.
>  - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm and
>    setup_fixmap as they will be used externally.
puts as well

> 
> Also move the assembly macros shared by head.S and mmu/head.S to
> macros.h.
> 
> Note that, only the first 4KB of Xen image will be mapped as identity
> (PA == VA). At the moment, Xen guarantees this by having everything
> that needs to be used in the identity mapping in .text.header section
> of head.S, and the size will be checked by _idmap_start and _idmap_end
> at link time if this fits in 4KB. Since we are introducing a new head.S
> in this patch, although we can add .text.header to the new file to
> guarantee all identity map code still in the first 4KB. However, the
> order of these two files on this 4KB depends on the build toolchains.
> Hence, introduce a new section named .text.idmap in the region between
> _idmap_start and _idmap_end. And in Xen linker script, we force the
> .text.idmap contents to linked after .text.header. This will ensure
> code of head.S always be at the top of Xen binary.
> 
> This is based on commit 6734327d76be.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> Changes from v1 :-
> 
> 1. Added a commit message
> 
> 2. Moved load_paddr to mmu/head.S
> 
>  xen/arch/arm/arm32/head.S               | 603 +-----------------------
>  xen/arch/arm/arm32/mmu/Makefile         |   1 +
>  xen/arch/arm/arm32/mmu/head.S           | 559 ++++++++++++++++++++++
>  xen/arch/arm/include/asm/arm32/macros.h |  57 +++
>  4 files changed, 618 insertions(+), 602 deletions(-)
>  create mode 100644 xen/arch/arm/arm32/mmu/head.S
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 7004443798..ff727e469c 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -22,86 +22,10 @@
> 
>  #define ZIMAGE_MAGIC_NUMBER 0x016f2818
> 
> -#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
> -#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
> -#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
> -#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
> -#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
> -
> -#define PT_UPPER(x) (PT_##x & 0xf00)
> -#define PT_LOWER(x) (PT_##x & 0x0ff)
> -
> -/* Convenience defines to get slot used by Xen mapping. */
> -#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
> -#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
> -
> -/* Offset between the early boot xen mapping and the runtime xen mapping */
> -#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
> -
>  #if defined(CONFIG_EARLY_PRINTK) && defined(CONFIG_EARLY_PRINTK_INC)
>  #include CONFIG_EARLY_PRINTK_INC
>  #endif
> 
> -/*
> - * Move an immediate constant into a 32-bit register using movw/movt
> - * instructions.
> - */
> -.macro mov_w reg, word
> -        movw  \reg, #:lower16:\word
> -        movt  \reg, #:upper16:\word
> -.endm
> -
> -/*
> - * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
> - * within the range +/- 4GB of the PC.
> - *
> - * @dst: destination register
> - * @sym: name of the symbol
> - */
> -.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
> -        mov_w \rb, \sym
> -        add   \rb, \rb, r10
> -.endm
> -
> -/*
> - * Flush local TLBs
> - *
> - * @tmp: Scratch register
> - *
> - * See asm/arm32/flushtlb.h for the explanation of the sequence.
> - */
> -.macro flush_xen_tlb_local tmp
> -        dsb   nshst
> -        mcr   CP32(\tmp, TLBIALLH)
> -        dsb   nsh
> -        isb
> -.endm
> -
> -/*
> - * Enforce Xen page-tables do not contain mapping that are both
> - * Writable and eXecutables.
> - *
> - * This should be called on each secondary CPU.
> - */
> -.macro pt_enforce_wxn tmp
> -        mrc   CP32(\tmp, HSCTLR)
> -        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
> -        dsb
> -        mcr   CP32(\tmp, HSCTLR)
> -        /*
> -         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
> -         * before flushing the TLBs.
> -         */
> -        isb
> -        flush_xen_tlb_local \tmp
> -.endm
> -
>  /*
>   * Common register usage in this file:
>   *   r0  -
> @@ -121,38 +45,6 @@
>   *   r14 - LR
>   *   r15 - PC
>   */
> -#ifdef CONFIG_EARLY_PRINTK
> -/*
> - * Macro to print a string to the UART, if there is one.
> - *
> - * Clobbers r0 - r3
> - */
> -#define PRINT(_s)           \
> -        mov   r3, lr       ;\
> -        adr_l r0, 98f      ;\
> -        bl    puts         ;\
> -        mov   lr, r3       ;\
> -        RODATA_STR(98, _s)
> -
> -/*
> - * Macro to print the value of register \rb
> - *
> - * Clobbers r0 - r4
> - */
> -.macro print_reg rb
> -        mov   r0, \rb
> -        mov   r4, lr
> -        bl    putn
> -        mov   lr, r4
> -.endm
> -
> -#else /* CONFIG_EARLY_PRINTK */
> -#define PRINT(s)
> -
> -.macro print_reg rb
> -.endm
> -
> -#endif /* !CONFIG_EARLY_PRINTK */
> 
>          .section .text.header, "ax", %progbits
>          .arm
> @@ -355,467 +247,6 @@ 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 (physical
> - * address)
> - *
> - * ptbl:    table symbol where the entry will be created
> - * tbl:     physical address of the table to point to
> - * virt:    virtual address
> - * lvl:     page-table level
> - *
> - * Preserves \virt
> - * Clobbers \tbl, r1 - r3
> - *
> - * Note that \tbl and \virt should be in a register other than r1 - r3
> - */
> -.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
> -        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
> -        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
> -
> -        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
> -        orr   r2, r2, \tbl           /*           + \tbl paddr */
> -        mov   r3, #0
> -
> -        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
> -
> -        strd  r2, r3, [\tbl, r1]
> -.endm
> -
> -
> -/*
> - * Macro to create a page table entry in \ptbl to \tbl (symbol)
> - *
> - * ptbl:    table symbol where the entry will be created
> - * tbl:     table symbol to point to
> - * virt:    virtual address
> - * lvl:     page-table level
> - *
> - * Preserves \virt
> - * Clobbers r1 - r4
> - *
> - * Also use r10 for the phys offset.
> - *
> - * Note that \virt should be in a register other than r1 - r4
> - */
> -.macro create_table_entry, ptbl, tbl, virt, lvl
> -        load_paddr r4, \tbl
> -        create_table_entry_from_paddr \ptbl, r4, \virt, \lvl
> - .endm
> -
> -/*
> - * Macro to create a mapping entry in \tbl to \paddr. Only mapping in 3rd
> - * level table (i.e page granularity) is supported.
> - *
> - * ptbl:     table symbol where the entry will be created
> - * virt:    virtual address
> - * phys:    physical address
> - * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
> - *
> - * Preserves \virt, \phys
> - * Clobbers r1 - r4
> - *
> - * 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
> -        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
> -        lsr   r1, \virt, #THIRD_SHIFT
> -        and   r1, r1, r2             /* r1 := slot in \tlb */
> -        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
> -
> -        lsr   r4, \phys, #THIRD_SHIFT
> -        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
> -
> -        movw  r2, #\type             /* r2:r3 := right for section PT */
> -        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
> -        mov   r3, #0
> -
> -        adr_l r4, \ptbl
> -
> -        strd  r2, r3, [r4, r1]
> -.endm
> -
> -/*
> - * Rebuild the boot pagetable's first-level entries. The structure
> - * is described in mm.c.
> - *
> - * After the CPU enables paging it will add the fixmap mapping
> - * to these page tables, however this may clash with the 1:1
> - * mapping. So each CPU must rebuild the page tables here with
> - * the 1:1 in place.
> - *
> - * Inputs:
> - *   r9 : paddr(start)
> - *   r10: phys offset
> - *
> - * Output:
> - *   r12: Was a temporary mapping created?
> - *
> - * Clobbers r0 - r5
> - */
> -create_page_tables:
> -        /* Prepare the page-tables for mapping Xen */
> -        mov_w r0, XEN_VIRT_START
> -
> -        /*
> -         * We need to use a stash register because
> -         * create_table_entry_paddr() will clobber the register storing
> -         * the physical address of the table to point to.
> -         */
> -        adr_l r5, boot_third
> -        mov_w r4, XEN_VIRT_START
> -.rept XEN_NR_ENTRIES(2)
> -        mov   r0, r5                        /* r0 := paddr(l3 table) */
> -        create_table_entry_from_paddr boot_second, r0, r4, 2
> -        add   r4, r4, #XEN_PT_LEVEL_SIZE(2) /* r4 := Next vaddr */
> -        add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
> -.endr
> -
> -        /*
> -         * Find the size of Xen in pages and multiply by the size of a
> -         * PTE. This will then be compared in the mapping loop below.
> -         *
> -         * Note the multiplication is just to avoid using an extra
> -         * register/instruction per iteration.
> -         */
> -        mov_w r0, _start            /* r0 := vaddr(_start) */
> -        mov_w r1, _end              /* r1 := vaddr(_end) */
> -        sub   r0, r1, r0            /* r0 := effective size of Xen */
> -        lsr   r0, r0, #PAGE_SHIFT   /* r0 := Number of pages for Xen */
> -        lsl   r0, r0, #3            /* r0 := Number of pages * PTE size */
> -
> -        /* Setup boot_third: */
> -        adr_l r4, boot_third
> -
> -        lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
> -        lsl   r2, r2, #THIRD_SHIFT
> -        orr   r2, r2, #PT_UPPER(MEM_L3) /* r2:r3 := map */
> -        orr   r2, r2, #PT_LOWER(MEM_L3)
> -        mov   r3, #0x0
> -
> -        /* ... map of vaddr(start) in boot_third */
> -        mov   r1, #0
> -1:      strd  r2, r3, [r4, r1]       /* Map vaddr(start) */
> -        add   r2, r2, #PAGE_SIZE     /* Next page */
> -        add   r1, r1, #8             /* Next slot */
> -        cmp   r1, r0                 /* Loop until we map all of Xen */
> -        blo   1b
> -
> -        /*
> -         * Setup the 1:1 mapping so we can turn the MMU on. Note that
> -         * only the first page of Xen will be part of the 1:1 mapping.
> -         */
> -        create_table_entry boot_pgtable, boot_second_id, r9, 1
> -        create_table_entry boot_second_id, boot_third_id, r9, 2
> -        create_mapping_entry boot_third_id, r9, r9
> -
> -        /*
> -         * Find the first slot used. If the slot is not the same
> -         * as TEMPORARY_AREA_FIRST_SLOT, then we will want to switch
> -         * to the temporary mapping before jumping to the runtime
> -         * virtual mapping.
> -         */
> -        get_table_slot r1, r9, 1     /* r1 := first slot */
> -        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
> -        bne   use_temporary_mapping
> -
> -        mov_w r0, XEN_VIRT_START
> -        create_table_entry boot_pgtable, boot_second, r0, 1
> -        mov   r12, #0                /* r12 := temporary mapping not created */
> -        mov   pc, lr
> -
> -use_temporary_mapping:
> -        /*
> -         * The identity mapping is not using the first slot
> -         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
> -         * See switch_to_runtime_mapping for more details.
> -         */
> -        PRINT("- Create temporary mapping -\r\n")
> -
> -        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
> -        mov_w r0, TEMPORARY_XEN_VIRT_START
> -        create_table_entry boot_pgtable, boot_second, r0, 1
> -
> -        mov   r12, #1                /* r12 := temporary mapping created */
> -        mov   pc, lr
> -ENDPROC(create_page_tables)
> -
> -/*
> - * 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:
> - *   r9 : paddr(start)
> - *  r12 : Was the temporary mapping created?
> - *   lr : Virtual address to return to
> - *
> - * Clobbers r0 - r5
> - */
> -enable_mmu:
> -        PRINT("- Turning on paging -\r\n")
> -
> -        /*
> -         * The state of the TLBs is unknown before turning on the MMU.
> -         * Flush them to avoid stale one.
> -         */
> -        flush_xen_tlb_local r0
> -
> -        /* Write Xen's PT's paddr into the HTTBR */
> -        adr_l r0, boot_pgtable
> -        mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
> -        mcrr  CP64(r0, r1, HTTBR)
> -        isb
> -
> -        mrc   CP32(r0, HSCTLR)
> -        /* Enable MMU and D-cache */
> -        orr   r0, r0, #(SCTLR_Axx_ELx_M|SCTLR_Axx_ELx_C)
> -        dsb                          /* Flush PTE writes and finish reads */
> -        mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
> -        isb                          /* Now, flush the icache */
> -
> -        /*
> -         * The MMU is turned on and we are in the 1:1 mapping. Switch
> -         * to the runtime mapping.
> -         */
> -        mov   r5, lr                /* Save LR before overwritting it */
> -        mov_w lr, 1f                /* Virtual address in the runtime mapping */
> -        b     switch_to_runtime_mapping
> -1:
> -        mov   lr, r5                /* Restore LR */
> -        /*
> -         * At this point, either the 1:1 map or the temporary mapping
> -         * will be present. The former may clash with other parts of the
> -         * Xen virtual memory layout. As both of them are not used
> -         * anymore, remove them completely to avoid having to worry
> -         * about replacing existing mapping afterwards.
> -         *
> -         * On return this will jump to the virtual address requested by
> -         * the caller.
> -         */
> -        teq   r12, #0
> -        beq   remove_identity_mapping
> -        b     remove_temporary_mapping
> -ENDPROC(enable_mmu)
> -
> -/*
> - * Switch to the runtime mapping. The logic depends on whether the
> - * runtime virtual region is clashing with the physical address
> - *
> - *  - If it is not clashing, we can directly jump to the address in
> - *    the runtime mapping.
> - *  - If it is clashing, create_page_tables() would have mapped Xen to
> - *    a temporary virtual address. We need to switch to the temporary
> - *    mapping so we can remove the identity mapping and map Xen at the
> - *    correct position.
> - *
> - * Inputs
> - *    r9: paddr(start)
> - *   r12: Was a temporary mapping created?
> - *    lr: Address in the runtime mapping to jump to
> - *
> - * Clobbers r0 - r4
> - */
> -switch_to_runtime_mapping:
> -        /*
> -         * Jump to the runtime mapping if the virt and phys are not
> -         * clashing
> -         */
> -        teq   r12, #0
> -        beq   ready_to_switch
> -
> -        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
> -        mov_w r0, 1f
> -        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
> -        mov   pc, r0
> -
> -1:
> -        /* Remove boot_second_id */
> -        mov   r2, #0
> -        mov   r3, #0
> -        adr_l r0, boot_pgtable
> -        get_table_slot r1, r9, 1            /* r1 := first slot */
> -        lsl   r1, r1, #3                    /* r1 := first slot offset */
> -        strd  r2, r3, [r0, r1]
> -
> -        flush_xen_tlb_local r0
> -
> -        /* Map boot_second into boot_pgtable */
> -        mov_w r0, XEN_VIRT_START
> -        create_table_entry boot_pgtable, boot_second, r0, 1
> -
> -        /* Ensure any page table updates are visible before continuing */
> -        dsb   nsh
> -        /*
> -         * The function will return on the runtime mapping. So we want
> -         * to prevent instruction fetch before the dsb completes.
> -         */
> -        isb
> -
> -ready_to_switch:
> -        mov   pc, lr
> -ENDPROC(switch_to_runtime_mapping)
> -
> -/*
> - * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
> - * 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 - r6
> - */
> -enable_secondary_cpu_mm:
> -        mov   r6, lr
> -
> -        bl    create_page_tables
> -
> -        /* Address in the runtime mapping to jump to after the MMU is enabled */
> -        mov_w lr, 1f
> -        b     enable_mmu
> -1:
> -        /*
> -         * Non-boot CPUs need to move on to the proper pagetables, which were
> -         * setup in prepare_secondary_mm.
> -         *
> -         * XXX: This is not compliant with the Arm Arm.
> -         */
> -        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
> -        ldrd  r4, r5, [r4]           /* Actual value */
> -        dsb
> -        mcrr  CP64(r4, r5, HTTBR)
> -        dsb
> -        isb
> -        flush_xen_tlb_local r0
> -        pt_enforce_wxn r0
> -
> -        /* Return to the virtual address requested by the caller. */
> -        mov   pc, r6
> -ENDPROC(enable_secondary_cpu_mm)
> -
> -/*
> - * Enable mm (turn on the data cache and the MMU) for the boot CPU.
> - * 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 - r6
> - */
> -enable_boot_cpu_mm:
> -        mov   r6, lr
> -
> -        bl    create_page_tables
> -
> -        /* Address in the runtime mapping to jump to after the MMU is enabled */
> -        mov_w lr, 1f
> -        b     enable_mmu
> -1:
> -        /* Return to the virtual address requested by the caller. */
> -        mov   lr, r6
> -
> -        b     setup_fixmap
> -ENDPROC(enable_boot_cpu_mm)
> -
> -/*
> - * Remove the 1:1 map from the page-tables. It is not easy to keep track
> - * where the 1:1 map was mapped, so we will look for the top-level entry
> - * exclusive to the 1:1 map and remove it.
> - *
> - * Inputs:
> - *   r9 : paddr(start)
> - *
> - * Clobbers r0 - r3
> - */
> -remove_identity_mapping:
> -        /* r2:r3 := invalid page-table entry */
> -        mov   r2, #0x0
> -        mov   r3, #0x0
> -
> -        /* Find the first slot used and remove it */
> -        get_table_slot r1, r9, 1     /* r1 := first slot */
> -        mov_w r0, boot_pgtable       /* r0 := root table */
> -        lsl   r1, r1, #3             /* r1 := Slot offset */
> -        strd  r2, r3, [r0, r1]
> -
> -        flush_xen_tlb_local r0
> -        mov   pc, lr
> -ENDPROC(remove_identity_mapping)
> -
> -/*
> - * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
> - *
> - * Clobbers r0 - r3
> - */
> -remove_temporary_mapping:
> -        /* r2:r3 := invalid page-table entry */
> -        mov   r2, #0
> -        mov   r3, #0
> -
> -        adr_l r0, boot_pgtable
> -        mov_w r1, TEMPORARY_XEN_VIRT_START
> -        get_table_slot r1, r1, 1     /* r1 := first slot */
> -        lsl   r1, r1, #3             /* r1 := first slot offset */
> -        strd  r2, r3, [r0, r1]
> -
> -        flush_xen_tlb_local r0
> -
> -        mov  pc, lr
> -ENDPROC(remove_temporary_mapping)
> -
> -/*
> - * Map the UART in the fixmap (when earlyprintk is used) and hook the
> - * fixmap table in the page tables.
> - *
> - * The fixmap cannot be mapped in create_page_tables because it may
> - * clash with the 1:1 mapping.
> - *
> - * Inputs:
> - *   r10: Physical offset
> - *   r11: Early UART base physical address
> - *
> - * Clobbers r0 - r4
> - */
> -setup_fixmap:
> -#if defined(CONFIG_EARLY_PRINTK)
> -        /* Add UART to the fixmap table */
> -        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
> -        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
> -        /* Ensure any page table updates made above have occurred. */
> -        dsb   nshst
> -        /*
> -         * The fixmap area will be used soon after. So ensure no hardware
> -         * translation happens before the dsb completes.
> -         */
> -        isb
> -
> -        mov   pc, lr
> -ENDPROC(setup_fixmap)
> -
>  /*
>   * Setup the initial stack and jump to the C world
>   *
> @@ -843,38 +274,6 @@ fail:   PRINT("- Boot failed -\r\n")
>          b     1b
>  ENDPROC(fail)
> 
> -/*
> - * Switch TTBR
> - * r1:r0       ttbr
> - *
> - * TODO: This code does not comply with break-before-make.
> - */
> -ENTRY(switch_ttbr)
> -        dsb                            /* Ensure the flushes happen before
> -                                        * continuing */
> -        isb                            /* Ensure synchronization with previous
> -                                        * changes to text */
> -        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
> -        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
> -        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
> -        dsb                            /* Ensure completion of TLB+BP flush */
> -        isb
> -
> -        mcrr  CP64(r0, r1, HTTBR)
> -
> -        dsb                            /* ensure memory accesses do not cross
> -                                        * over the TTBR0 write */
> -        isb                            /* Ensure synchronization with previous
> -                                        * changes to text */
> -        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
> -        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
> -        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
> -        dsb                            /* Ensure completion of TLB+BP flush */
> -        isb
> -
> -        mov pc, lr
> -ENDPROC(switch_ttbr)
> -
>  #ifdef CONFIG_EARLY_PRINTK
>  /*
>   * Initialize the UART. Should only be called on the boot CPU.
> @@ -899,7 +298,7 @@ ENDPROC(init_uart)
>   * r11: Early UART base address
>   * Clobbers r0-r1
>   */
> -puts:
> +ENTRY(puts)
Can we name it asm_puts similar like it was done for arm64 so that it is clear that it should be only used in assembly?

>          early_uart_ready r11, r1
>          ldrb  r1, [r0], #1           /* Load next char */
>          teq   r1, #0                 /* Exit on nul */
> diff --git a/xen/arch/arm/arm32/mmu/Makefile b/xen/arch/arm/arm32/mmu/Makefile
> index b18cec4836..336805c636 100644
> --- a/xen/arch/arm/arm32/mmu/Makefile
> +++ b/xen/arch/arm/arm32/mmu/Makefile
> @@ -1 +1,2 @@
>  obj-y += mm.o
> +obj-y += head.o
keep alphabetical order

[...]
> diff --git a/xen/arch/arm/include/asm/arm32/macros.h b/xen/arch/arm/include/asm/arm32/macros.h
> index a4e20aa520..a06f485974 100644
> --- a/xen/arch/arm/include/asm/arm32/macros.h
> +++ b/xen/arch/arm/include/asm/arm32/macros.h
> @@ -1,8 +1,65 @@
>  #ifndef __ASM_ARM_ARM32_MACROS_H
>  #define __ASM_ARM_ARM32_MACROS_H
> 
> +/* Offset between the early boot xen mapping and the runtime xen mapping */
> +#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
It is only used in MMU head.S so I would move it there.

> +
>      .macro ret
>          mov     pc, lr
>      .endm
> 
> +/*
> + * Move an immediate constant into a 32-bit register using movw/movt
> + * instructions.
> + */
> +.macro mov_w reg, word
> +        movw  \reg, #:lower16:\word
> +        movt  \reg, #:upper16:\word
> +.endm
> +
> +/*
> + * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
> + * within the range +/- 4GB of the PC.
> + *
> + * @dst: destination register
> + * @sym: name of the symbol
> + */
> +.macro adr_l, dst, sym
> +        mov_w \dst, \sym - .Lpc\@
> +        .set  .Lpc\@, .+ 8          /* PC bias */
> +        add   \dst, \dst, pc
> +.endm
> +
> +#ifdef CONFIG_EARLY_PRINTK
> +/*
> + * Macro to print a string to the UART, if there is one.
> + *
> + * Clobbers r0 - r3
> + */
> +#define PRINT(_s)           \
> +        mov   r3, lr       ;\
> +        adr_l r0, 98f      ;\
> +        bl    puts         ;\
> +        mov   lr, r3       ;\
> +        RODATA_STR(98, _s)
> +
> +/*
> + * Macro to print the value of register \rb
> + *
> + * Clobbers r0 - r4
> + */
> +.macro print_reg rb
> +        mov   r0, \rb
> +        mov   r4, lr
> +        bl    putn
> +        mov   lr, r4
> +.endm
You moved the macro print_reg but you did not export putn which is incorrect.
BTW. I have a patch in my backlog to move print_reg and export putn(as asm_putn) for arm64 so that we can make use of that macro not only
in common head.S (even though not used in other places it aids debugging).

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 07:36:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 07:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627776.978622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzu9u-0007mc-Iy; Mon, 06 Nov 2023 07:36:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627776.978622; Mon, 06 Nov 2023 07: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 1qzu9u-0007mV-EI; Mon, 06 Nov 2023 07:36:30 +0000
Received: by outflank-mailman (input) for mailman id 627776;
 Mon, 06 Nov 2023 07:36: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=fhP7=GT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qzu9s-0007mP-HS
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 07:36:28 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on062c.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 31b19e99-7c77-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 08:36:27 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9126.eurprd04.prod.outlook.com (2603:10a6:20b:449::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.10; Mon, 6 Nov
 2023 07:36:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.016; Mon, 6 Nov 2023
 07: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>
X-Inumbo-ID: 31b19e99-7c77-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J+kGoyey9nY9X5Gijoz8IE+LQ3IUmSUmSb5aTZ56VSqDF8dC8+s9DdZGlsYKJ+uVmzGGH+KQ8wkQ7LlLkcqOdG0eALA0kUyisIJlSDzPWjZF8CdLdDnjGyski/p0twZaUuO7bfBGJD5kwLVopkFxoYebRDlDkyYVdDkp4XWKssjqCf8cR5TsiDoyN7OngKXIr5qDjzHqPRlE6FVlrSLktb9XaiXofqsMfaGQS+vsxJY2/siXhZOBxVNBNdphDCPRLRy7OCvBBthUFPVO+MCDAFJ/D8IdsG+Oc3mgFt+cTHCz4Uvupn5XoO53fpeSANO8bvMx6uHiQSEpm3KZY4sGwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4ReeFiBuHSMKwxCCL5+pdqeU2nqnFYLyt5jmD8RkNTQ=;
 b=Qf58OScDacVe8gOAxNYvwnR81SQuhKl7Wi9cFGKsZgs7AYTKzEp3FI54AjzkYWSw5oqyLN6hDy7QfIxHlldcuHApMupMpoiBQbqzD1pxWONnqKzvrylHMd++96E9gtgLwabR4lDXYSqeo1k3HwRxxC2iz4jHyz/sf+pZOxD5mAjya0VXLh0BIRI/oQI5Mho03WttaV9t9Akb0yINSZqhvhhM+bFw4NA+sv7zmoQ4unE6BQHenGN+BN538qex1Wzud11+EnGREkAtEGQ971NeVGAaM/FS1t6YQW1IsE0z9F45vk1OTP6rGyFGzdItIB5E+oqdonNyW6Ig+qgpHDzKiA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4ReeFiBuHSMKwxCCL5+pdqeU2nqnFYLyt5jmD8RkNTQ=;
 b=1aIHRFBeE06vly4dh3hpWaogQlHFHnzyrociPEobu85r1JRtwk8MhUt84YPy/bGVIUzMZPLzI9D0zCZrJZG05Ch1lgRURI2tuejgMAK2tk7c3et3lljtEqfa3G37jKdi7gZhZQeLNd6kFyhok+A0FbsgNnPI/HcS+Ioz+XBT9kkMH7aMv5AtTUM6DdhoNaMIUqNey3yh3FWUtEAZBoTyb/1vZ9QlBOdltrCzPBr7nZA4JuqTF/XKqw1SHNL8J26GFWm0gi1s6BJml1uijD9XgH3TUbQPfMN3tMp2nFwMKK1NDjmf1ateCKu5HRqT9PzeRagQnY3ONAa4FTdt90z9jQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f755d70e-3851-4891-148c-5f83fb33f9f1@suse.com>
Date: Mon, 6 Nov 2023 08:36:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: New Defects reported by Coverity Scan for XenProject
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <6547674e54da3_1c3af2c62521719a8359bc@prd-scan-dashboard-0.mail>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6547674e54da3_1c3af2c62521719a8359bc@prd-scan-dashboard-0.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0130.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b9::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9126:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b6bc6df-ef88-4b91-36c2-08dbde9b1478
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	A0Z5laGV2eTINybcQU06ZxbmfMpeTRF5AaA5NlzUY+PphQe8kLGxqPG9Mv3p5o9oNfCvtTWtgcRC3VUjAgs/+krGWRkSozwOCGj46tZK8Iu8B+uto7PiQcN9WgOJT33uQyC2Gl7FAXRY4qH2QFYoqPTLVGRngID2e0hhj6CdMpvx4NsyYuk4OeS6OyImjNPBWosU7NUmAUx7GL9s1c70T9BSO165Hl1++g9Y0kX+5iSdUlnq/iW8BZHB8Lk64e9oZjEytCjTt9+OxDEhBxWPSRQOqm2GzxObicJ8raSULM9nTEn6N2b4wgG3KsHGx/0CSzKzjVOM1cagAjMAbfekQRy05huYLPPojukPMZhyfUwSpa4Js+bpKlUKCyzhnm/ramHeBx36XdkPx+yT5xNxWf8C/+9F8MnLVVMO4jQEZo81/w1Khz2JUyhRduNyimskG0DZE/d0kTH6AFlx/VXtLuJpkFGIvlGtWfoe9PSwEWiFftKJjp7nizptJOmYbK4aGsxWylQj3T8PDMY4gX7YUiLQtfypVjUQaYv5BqVoBE82FVYyXcmycuv1HzlyUJWtyEdytJXulpvAwQYS+oRuOk4T2b1i3kvZ0UEKrlyhcBYVoG4aeCa18OysxLBGKQieVhB3wq9gDCsm2T0QAmS5DA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(396003)(346002)(366004)(376002)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(6506007)(31686004)(26005)(6512007)(53546011)(2616005)(38100700002)(83380400001)(31696002)(86362001)(36756003)(6486002)(41300700001)(6916009)(66556008)(5660300002)(478600001)(66476007)(316002)(8676002)(966005)(8936002)(66946007)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bTBNelppeUhBSTkrOXdXR29jazBrS2lzQ2xlL1BpS0RrNGluOGdoR0xaWGEy?=
 =?utf-8?B?YnNhMExocjMyckc2Q3hXWjBRL2tyd3VoY01pazZtLzYzT2xpU1E0WktQNW9k?=
 =?utf-8?B?K2lveUk5NmFxSXZUVlY5U0cwMllGQjRVc2lOSVZQejJ0VzRTM3pwZFh3dDBP?=
 =?utf-8?B?TzFMQnVDdm8rM3FKSFExb0xFVUZ0NkloVWI5cWJRaHhZanZPSVdzam5rQlFF?=
 =?utf-8?B?ZFZXd1U3TzdGZVVyNjNjY1pHVVplQmc3ZUd0SjFTMTN2T3RnSXlsaHBVeVJs?=
 =?utf-8?B?bm13QWlhaFVpSEtUb3p1bVBrbzVCNENCLy91bUJHaDNidE9EOGZhRTBXQU9J?=
 =?utf-8?B?RENkR3hNQ3dwUkNFc3h1RmNPK3dOSzBIaTMxQjUxdjJjTVl3NTRZNXZ4Nmxy?=
 =?utf-8?B?d3NOaWdRbXhTOHV5SVNPclIvcVRGcFI3OGVhZitnVElYR1FTNkVtSUZCYnhC?=
 =?utf-8?B?Zzc2bDZSR1UweEdQUEg3SlJWT3pYeDkxWm8rWUZmVVRzcGhaNGJPNmZoTHda?=
 =?utf-8?B?Qy9UM2Z4YkR5cGdrU0xBeDlocmpVTnU3MEI2UkZicUVseVpQVDYyNGNEb0Rv?=
 =?utf-8?B?UGFGQjliY2hZcmZ3djVjVkRkM1NIaU1GNFhIV0llOG93MURYNkVvUkVhWUUz?=
 =?utf-8?B?cXF0NzIwNlppcGFIWHVCK0h6VWs0UFJRdGVGK2Q3czBpTFZ0YU5Rd0hybW9Z?=
 =?utf-8?B?UUdKRFNUV0RWTzhnYlRyWSs4R0F2QVFldUF2eGVCdmlSaTNrUkxtN0pmZURB?=
 =?utf-8?B?b3dXRFREbWpxZnphWTJrWFVHak91VDRZZDJmSkd6bmFwYWYzYnNVTDN4Zzkz?=
 =?utf-8?B?cTFnM2p3MkRZKzRLZ3VSdDhpK0tMeEVld0tZUFVNekNBeUJPeEZjaXJwRk9O?=
 =?utf-8?B?VHVYSjVDeGo0Z1U4WGVJY2FMR3pwWmVEdU9GeWQ2bDJ3UURITDNtL3pPT0tv?=
 =?utf-8?B?azdtQ0tBNTNWVGtPM1ZOdDhyNWpacEFqNUF0SmZPTVE4TnlzOUdzZi9EcjEv?=
 =?utf-8?B?dkJadkRVbkU1VzFwdE01TnhKUmFWdzIxd0QxUmgrY0QxVTNiSmhOckQ4cTVT?=
 =?utf-8?B?aFIyNmFFNkpGVldNTDd3VDArREVDdXUrMmxqelowRzhZbGJxNkVraUlJVncr?=
 =?utf-8?B?cklwOExYTVlPZWpaUUFwVnQwRVdtaG04Y1dTL3BmaVhES2pnaDJ6VTl3Mzgr?=
 =?utf-8?B?STNWYjBQVFZrYmFwZ3R2WlJ2VFZUanFQSnc5RTM5NHB2cS96WXdHeTFvU0F1?=
 =?utf-8?B?dEt5QXB0ZVhvRjYxVitwWUlGRTFlUW5yOE5CZEFTYlJVd3FlaVVGbnAzclJL?=
 =?utf-8?B?ZFlDZXNiOUVLL3hqdkNiUSt1dmlrZW1MbDNpMERkT1A4N3lFYkk3bk5ON1pM?=
 =?utf-8?B?NkVnOWxiYnh5SDkvTU03RENTUm1xTzBCclJRSTlteHdKTGlGVXBEVkNqa09j?=
 =?utf-8?B?d25PbEVPMTFaT3FCbHN0SmYrcXJ2UjZRd2FrWmJ4SjJRVDZtSnhJWGpzVkdT?=
 =?utf-8?B?dFYweXY0V0M2YWJDRHF4NUpnVWhZUmM3alRzUmNkYmd5bTNBcnRnM2ZpV3pn?=
 =?utf-8?B?YTE5cFRmc0ZpLy9WbnFPMmpSQVRLSXF2L2I0cjBMYUNNZm9iRkNiUTlKOFVJ?=
 =?utf-8?B?aE1ldHRUaitzcWthY29BSmdDMnZ3VlFUK3QzS0RkQ3VudEt1bXRMdGlBcDVh?=
 =?utf-8?B?N3VzeXdNcEZzTndzYUtuNkg3ZW5oOHVvTnZoSnBDeUZhbENEMGZMaFJBNGI0?=
 =?utf-8?B?MkpDZlBaNS91UDNCdXhsSCthcnF6bk92TTFWSS9FMkhxMUx6THk2QjlHUG13?=
 =?utf-8?B?Z3pNaDdNUFpHNEVzODFTQ3JMM1JOSktKYkZXTVdreE5Ed3J5bjFjS0l0Z292?=
 =?utf-8?B?ZXZTQUFINk91aGxwTUU1UENwWUgzNEttTFNuOW85VWRwTHAzeC82RzkxSUFt?=
 =?utf-8?B?RVJPZE9ablJFWGw0ZzU5TWdod3d1eWdKZUZGTGtJSysrWTJDNjkwM0NrNlhT?=
 =?utf-8?B?L1p4VC9HZ2NMb0d4UWNDSitPbVlENVZudXJDbG1lSE9yMWJKTThaUjdFY2Ra?=
 =?utf-8?B?dUVKOURFSGovaDVhazYzM2VZZ0F6SDJGQU50VithZ2tHeW9OeHkxQTU1elpF?=
 =?utf-8?Q?fMZCIG7RHl+R1SCSCT6IzyT8a?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b6bc6df-ef88-4b91-36c2-08dbde9b1478
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 07:36:24.8927
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3ivmRESAq5W/kIaHtQvjv1sUzQtWBGJD5zz2MLeLcqVNeYWkZ0h9e/vyEa3/fQfPulLRTF9bytYskQzANt17jg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9126

On 05.11.2023 10:58, scan-admin@coverity.com wrote:
> Hi,
> 
> Please find the latest report on new defect(s) introduced to XenProject found with Coverity Scan.
> 
> 1 new defect(s) introduced to XenProject found with Coverity Scan.
> 1 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.
> 
> New defect(s) Reported-by: Coverity Scan
> Showing 1 of 1 defect(s)
> 
> 
> ** CID 1548622:  Null pointer dereferences  (NULL_RETURNS)
> /tools/firmware/xen-dir/xen-root/xen/arch/x86/cpu/mcheck/mcaction.c: 96 in mc_memerr_dhandler()
> 
> 
> ________________________________________________________________________________________________________
> *** CID 1548622:  Null pointer dereferences  (NULL_RETURNS)
> /tools/firmware/xen-dir/xen-root/xen/arch/x86/cpu/mcheck/mcaction.c: 96 in mc_memerr_dhandler()
> 90                     d = rcu_lock_domain_by_id(bank->mc_domid);
> 91                     ASSERT(d);

No matter that this code can certainly do with hardening, how can - with
this ASSERT() - ...

> 92                     gfn = get_gpfn_from_mfn((bank->mc_addr) >> PAGE_SHIFT);
> 93     
> 94                     if ( unmmap_broken_page(d, mfn, gfn) )
> 95                     {
>>>>     CID 1548622:  Null pointer dereferences  (NULL_RETURNS)
>>>>     Dereferencing "d", which is known to be "NULL".
> 96                         printk("Unmap broken memory %"PRI_mfn" for DOM%d failed\n",
> 97                                mfn_x(mfn), d->domain_id);

... Coverity "know" that d is going to be NULL here? Best I can infer is
that in a release build d _may_ end up being NULL.

Jan

> 98                         goto vmce_failed;
> 99                     }
> 100     
> 101                     mc_vcpuid = global->mc_vcpuid;
> 
> 
> ________________________________________________________________________________________________________
> To view the defects in Coverity Scan visit, https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yrkTUyUdtq5BaG0O6OgOkaWpauWH6sxLlz8YmsOhJ7zG6w078-2FaiuRz-2FB00i-2BJg44c-3DkX6u_NrtkCdDF-2FTaaXLm1QcFPOFnojIs14Wzrh5dJFBeSVj1z0ksrlVQuW7Zy-2FqT57QjqzVjiJF2PJIK07-2BSEjUth5ouhE2qFNhId4LvekHJXd6ELiP0-2B8XnhP1gdLp7TRFFOvUeT6Lddf1YNNmN9XrN3-2BNawzLRRIl7-2FdJPswV5cGaWoBREWQjGxEUac95xJecxLgQNoDwwrxYdn9zW95rrbSw-3D-3D
> 
>   To manage Coverity Scan email notifications for "jbeulich@suse.com", click https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50yped04pjJnmXOsUBtKYNIXxbOS2X-2FCa8eHT5AKto97sa5BC-2BcmyJ5bO5I-2FkczMtlG1epQQquNnD30oPjt4w9gsO1RjVU3f-2FwTsFle9tjKmWG5Kz60AmOhqmk5R1j-2BvLczY-3DAAhv_NrtkCdDF-2FTaaXLm1QcFPOFnojIs14Wzrh5dJFBeSVj1z0ksrlVQuW7Zy-2FqT57Qjqz6yaPk3udV-2B3LoxYpnR2IqMFgeYigqqRYw7WrjuBUd8j1KxekL3U98J70arECI-2BGRvwoXYzOJyfYbO5RKuSCm6Sa6RhyBu6G5o3KPByDgONSFcrLmsCWs9Tu18suJjyZJI0LMS3WFM-2BGpXs6QChyjA-3D-3D
> 



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 07:53:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 07:53:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627782.978631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzuPq-0002GH-Sw; Mon, 06 Nov 2023 07:52:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627782.978631; Mon, 06 Nov 2023 07:52: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 1qzuPq-0002GA-Q1; Mon, 06 Nov 2023 07:52:58 +0000
Received: by outflank-mailman (input) for mailman id 627782;
 Mon, 06 Nov 2023 07:52: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=czoR=GT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qzuPp-0002G4-Ov
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 07:52: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 7f6226f2-7c79-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 08:52:56 +0100 (CET)
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 17BBC216DA;
 Mon,  6 Nov 2023 07:52: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 DD8B8138F3;
 Mon,  6 Nov 2023 07:52:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Fzx6NFebSGWjRgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Nov 2023 07: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>
X-Inumbo-ID: 7f6226f2-7c79-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699257176; 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:autocrypt:autocrypt;
	bh=dNDJrSNSTE4bfSynjWIOGWS0hiaABGumsmPSUh7IwNo=;
	b=YAgYWAf5wVlkeqtaqu01kYEyDwtTvUt0vYsIGdPPnVLMIhlYiKzM7xeJ0TiBv1TY4/10+X
	ZlgAPCw+UXOsQXIA6YgiUYO/DJww0vS++1xJoGr2CMPjvskHgrOQIId/rPz/X1sp92KteN
	i0qP7OjYeFt0pNmkbmPSdA797do6rpQ=
Message-ID: <1833e1d0-1c4d-465e-ac39-9eb0548c3eba@suse.com>
Date: Mon, 6 Nov 2023 08:52:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 07/29] tools/xenlogd: add 9pfs attach request support
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-8-jgross@suse.com>
 <CAKf6xptypy5bnkwofJ_e7qHickAaR-qhMsHtwM-r7Pt2jBvvBQ@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xptypy5bnkwofJ_e7qHickAaR-qhMsHtwM-r7Pt2jBvvBQ@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ovl4gz4NQZpSlH8DBaKX00aI"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ovl4gz4NQZpSlH8DBaKX00aI
Content-Type: multipart/mixed; boundary="------------yznEd5np0LfQKDtss3EuFxPM";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <1833e1d0-1c4d-465e-ac39-9eb0548c3eba@suse.com>
Subject: Re: [PATCH 07/29] tools/xenlogd: add 9pfs attach request support
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-8-jgross@suse.com>
 <CAKf6xptypy5bnkwofJ_e7qHickAaR-qhMsHtwM-r7Pt2jBvvBQ@mail.gmail.com>
In-Reply-To: <CAKf6xptypy5bnkwofJ_e7qHickAaR-qhMsHtwM-r7Pt2jBvvBQ@mail.gmail.com>

--------------yznEd5np0LfQKDtss3EuFxPM
Content-Type: multipart/mixed; boundary="------------8PJViXBMUeW1yKuTa2wf8gc9"

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

T24gMDMuMTEuMjMgMTY6MTMsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNTo1NOKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHRoZSBhdHRhY2ggcmVxdWVzdCBvZiB0aGUgOXBmcyBwcm90
b2NvbC4gVGhpcyBpbnRyb2R1Y2VzIHRoZSAiZmlkIg0KPj4gc2NoZW1lIG9mIHRoZSA5cGZz
IHByb3RvY29sLg0KPj4NCj4+IEFzIHRoaXMgd2lsbCBiZSBuZWVkZWQgbGF0ZXIsIHVzZSBh
IGRlZGljYXRlZCBtZW1vcnkgYWxsb2NhdGlvbg0KPj4gZnVuY3Rpb24gaW4gYWxsb2NfZmlk
KCkuDQo+Pg0KPj4gRm9yIGZpbGxpbmcgdGhlIHFpZCBkYXRhIHRha2UgdGhlIGFwcHJvYWNo
IGZyb20gdGhlIHFlbXUgOXBmcyBiYWNrZW5kDQo+PiBpbXBsZW1lbnRhdGlvbi4NCj4+DQo+
PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+PiAt
LS0NCj4+ICAgdG9vbHMveGVubG9nZC9pby5jICAgICAgfCAxMjggKysrKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gICB0b29scy94ZW5sb2dkL3hlbmxvZ2Qu
YyB8ICAgMSArDQo+PiAgIHRvb2xzL3hlbmxvZ2QveGVubG9nZC5oIHwgIDExICsrKysNCj4+
ICAgMyBmaWxlcyBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9ucygrKQ0KPj4NCj4+IGRpZmYgLS1n
aXQgYS90b29scy94ZW5sb2dkL2lvLmMgYi90b29scy94ZW5sb2dkL2lvLmMNCj4+IGluZGV4
IGYzNTUyMDAxOGYuLmZhODI1YzlmMzkgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5sb2dk
L2lvLmMNCj4+ICsrKyBiL3Rvb2xzL3hlbmxvZ2QvaW8uYw0KPiANCj4+ICtzdGF0aWMgc3Ry
dWN0IHA5X2ZpZCAqYWxsb2NfZmlkX21lbShkZXZpY2UgKmRldmljZSwgdW5zaWduZWQgaW50
IGZpZCwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBj
aGFyICpwYXRoKQ0KPj4gK3sNCj4+ICsgICAgc3RydWN0IHA5X2ZpZCAqZmlkcDsNCj4+ICsg
ICAgc2l6ZV90IHBhdGhsZW47DQo+PiArDQo+PiArICAgIHBhdGhsZW4gPSBzdHJsZW4oZGV2
aWNlLT5ob3N0X3BhdGgpICsgc3RybGVuKHBhdGgpICsgMTsNCj4+ICsgICAgZmlkcCA9IGNh
bGxvYyhzaXplb2YoKmZpZHApICsgcGF0aGxlbiwgMSk7DQo+PiArICAgIGlmICggIWZpZHAg
KQ0KPj4gKyAgICAgICAgcmV0dXJuIE5VTEw7DQo+PiArDQo+PiArICAgIGZpZHAtPmZpZCA9
IGZpZDsNCj4+ICsgICAgc25wcmludGYoZmlkcC0+cGF0aCwgcGF0aGxlbiwgIiVzJXMiLCBk
ZXZpY2UtPmhvc3RfcGF0aCwgcGF0aCk7DQo+IA0KPiBjaGVja19ob3N0X3BhdGgoKSBzaG91
bGQgYmUgZW5oYW5jZWQgdG8gZW5zdXJlIGhvc3RfcGF0aCBoYXMgYQ0KPiB0cmFpbGluZyAn
LycsIG9yIHN3aXRjaCB0aGlzIHRvICIlcy8lcyIgdG8gZW5zdXJlIGl0J3MgYWx3YXlzIHBy
ZXNlbnQ/DQoNCk5vLCAicGF0aCIgaXMgYWx3YXlzIHN0YXJ0aW5nIHdpdGggYSAiLyIgaWYg
aXQgaXMgbm90IGVtcHR5Lg0KDQo+IA0KPj4gKw0KPj4gKyAgICByZXR1cm4gZmlkcDsNCj4+
ICt9DQo+PiArDQo+IA0KPiANCj4+ICtzdGF0aWMgdm9pZCBmcmVlX2ZpZChkZXZpY2UgKmRl
dmljZSwgc3RydWN0IHA5X2ZpZCAqZmlkcCkNCj4+ICt7DQo+PiArICAgIGlmICggIWZpZHAg
KQ0KPj4gKyAgICAgICAgcmV0dXJuOw0KPj4gKw0KPj4gKyAgICBkZXZpY2UtPm5fZmlkcy0t
Ow0KPj4gKyAgICBYRU5fVEFJTFFfUkVNT1ZFKCZkZXZpY2UtPmZpZHMsIGZpZHAsIGxpc3Qp
Ow0KPj4gKyAgICBmcmVlKGZpZHApOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgaW50IGZp
bGxfcWlkKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBwOV9xaWQgKnFpZCwgc3RydWN0IHN0
YXQgKnN0YnVmKQ0KPiANCj4gTml0OiBvcmRlcmluZyBpcyBpbnB1dCwgb3V0cHV0LCBvcHRp
b25hbCBpbnB1dCwgc28geW91IG1pZ2h0IHdhbnQgdG8gcmUtb3JkZXI/DQoNCkhtbSwgSSBk
aWQgaXQgb24gcHVycG9zZSwgYXMgdGhlIGxhc3QgcGFyYW1ldGVyIGlzIG9wdGlvbmFsIChh
cyB5b3Ugc2FpZCkuDQoNCj4gDQo+IHN0YnVmIGNhbiBiZSBjb25zdD8NCg0KWWVzLg0KDQo+
IA0KPj4gK3sNCj4+ICsgICAgc3RydWN0IHN0YXQgc3Q7DQo+PiArDQo+PiArICAgIGlmICgg
IXN0YnVmICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgaWYgKCBzdGF0KHBhdGgsICZzdCkg
KQ0KPj4gKyAgICAgICAgICAgIHJldHVybiBlcnJubzsNCj4+ICsNCj4+ICsgICAgICAgIHN0
YnVmID0gJnN0Ow0KPj4gKyAgICB9DQo+PiArDQo+PiArICAgIHFpZC0+dHlwZSA9IFNfSVNE
SVIoc3RidWYtPnN0X21vZGUpID8gUUlEX1RZUEVfRElSIDogMDsNCj4+ICsgICAgcWlkLT52
ZXJzaW9uID0gc3RidWYtPnN0X210aW1lIF4gKHN0YnVmLT5zdF9zaXplIDw8IDgpOw0KPj4g
KyAgICBxaWQtPnBhdGggPSBzdGJ1Zi0+c3RfaW5vOw0KPj4gKw0KPj4gKyAgICByZXR1cm4g
MDsNCj4+ICt9DQo+PiArDQo+PiAgIHN0YXRpYyB2b2lkIHA5X2Vycm9yKGRldmljZSAqZGV2
aWNlLCB1aW50MTZfdCB0YWcsIHVpbnQzMl90IGVycikNCj4+ICAgew0KPj4gICAgICAgdW5z
aWduZWQgaW50IGVycm9mZjsNCj4+IEBAIC00NzYsNiArNTY1LDQxIEBAIHN0YXRpYyB2b2lk
IHA5X3ZlcnNpb24oZGV2aWNlICpkZXZpY2UsIHN0cnVjdCBwOV9oZWFkZXIgKmhkcikNCj4+
ICAgICAgICAgICAgICAgICAgIHZlcnNpb24pOw0KPj4gICB9DQo+Pg0KPj4gK3N0YXRpYyB2
b2lkIHA5X2F0dGFjaChkZXZpY2UgKmRldmljZSwgc3RydWN0IHA5X2hlYWRlciAqaGRyKQ0K
Pj4gK3sNCj4+ICsgICAgdWludDMyX3QgZmlkOw0KPj4gKyAgICB1aW50MzJfdCBkdW1teV91
MzI7DQo+PiArICAgIHVuc2lnbmVkIGludCBkdW1teV91aW50Ow0KPj4gKyAgICBzdHJ1Y3Qg
cDlfcWlkIHFpZDsNCj4+ICsgICAgaW50IHJldDsNCj4+ICsNCj4+ICsgICAgcmV0ID0gZmls
bF9kYXRhKGRldmljZSwgIlVVU1NVIiwgJmZpZCwgJmR1bW15X3UzMiwgJmR1bW15X3VpbnQs
ICZkdW1teV91aW50LA0KPj4gKyAgICAgICAgICAgICAgICAgICAgJmR1bW15X3UzMik7DQo+
PiArICAgIGlmICggcmV0ICE9IDUgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBwOV9lcnJv
cihkZXZpY2UsIGhkci0+dGFnLCBlcnJubyk7DQo+PiArICAgICAgICByZXR1cm47DQo+PiAr
ICAgIH0NCj4gDQo+IFdlIG1pZ2h0IHdhbnQgdG8gY2hlY2sgdGhlIGZpcnN0IGR1bW15X3Uz
MiAoYWZpZCkgdG8gZW5zdXJlIGl0J3MgTk9GSUQ/DQo+ICIiIg0KPiBJZiB0aGUgY2xpZW50
IGRvZXMgbm90IHdpc2ggdG8gYXV0aGVudGljYXRlIHRoZSBjb25uZWN0aW9uLCBvciBrbm93
cw0KPiB0aGF0IGF1dGhlbnRpY2F0aW9uIGlzIG5vdCByZXF1aXJlZCwgdGhlIGFmaWQgZmll
bGQgaW4gdGhlIGF0dGFjaCBtZXMtDQo+IHNhZ2Ugc2hvdWxkIGJlIHNldCB0byBOT0ZJRCwg
ZGVmaW5lZCBhcyAodTMyaW50KX4wIGluIGZjYWxsLmguIElmIHRoZQ0KPiBjbGllbnQgZG9l
cyB3aXNoIHRvIGF1dGhlbnRpY2F0ZSwgaXQgbXVzdCBhY3F1aXJlIGFuZCB2YWxpZGF0ZSBh
biBhZmlkDQo+IHVzaW5nIGFuIGF1dGggbWVzc2FnZSBiZWZvcmUgZG9pbmcgdGhlIGF0dGFj
aC4NCj4gIiIiDQo+IA0KPiBTaW5jZSBhdXRoIGlzbid0IGltcGxlbWVudGVkLCBpdCdzIHBy
b2JhYmx5IG5vdCBuZWNlc3NhcnkgdG8gY2hlY2sgYWZpZD8NCg0KVGhhdCB3YXMgdGhlIGlk
ZWEsIHllcy4NCg0KPiANCj4gSSd2ZSBiZWVuIGxvb2tpbmcgYXQgdGhlc2UgYXMgcmVmZXJl
bmNlOg0KPiBodHRwczovL2VyaWN2aC5naXRodWIuaW8vOXAtcmZjL3JmYzlwMjAwMC5odG1s
DQo+IGh0dHBzOi8vZXJpY3ZoLmdpdGh1Yi5pby85cC1yZmMvcmZjOXAyMDAwLnUuaHRtbA0K
PiANCj4+ICsNCj4+ICsgICAgZGV2aWNlLT5yb290X2ZpZCA9IGFsbG9jX2ZpZChkZXZpY2Us
IGZpZCwgIiIpOw0KPj4gKyAgICBpZiAoICFkZXZpY2UtPnJvb3RfZmlkICkNCj4+ICsgICAg
ew0KPj4gKyAgICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHItPnRhZywgZXJybm8pOw0KPj4g
KyAgICAgICAgcmV0dXJuOw0KPj4gKyAgICB9DQo+PiArDQo+PiArICAgIHJldCA9IGZpbGxf
cWlkKGRldmljZS0+aG9zdF9wYXRoLCAmcWlkLCBOVUxMKTsNCj4+ICsgICAgaWYgKCByZXQg
KQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBmcmVlX2ZpZChkZXZpY2UsIGRldmljZS0+cm9v
dF9maWQpOw0KPiANCj4gcm9vdF9maWQgaXMgb25seSBmcmVlZCBpbiB0aGlzIGVycm9yIHBh
dGguICBNYXliZSBmcmVlX2RldmljZSgpIHNob3VsZA0KPiBmcmVlIGFsbCB0aGUgZmlkcz8N
Cg0KTm8sIGJ1dCBpb190aHJlYWQoKSBzaG91bGQgZG8gc28gYXQgdGhlIGVuZC4NCg0KDQpK
dWVyZ2VuDQo=
--------------8PJViXBMUeW1yKuTa2wf8gc9
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-----

--------------8PJViXBMUeW1yKuTa2wf8gc9--

--------------yznEd5np0LfQKDtss3EuFxPM--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVIm1cFAwAAAAAACgkQsN6d1ii/Ey96
FQf9FgBCFoPXBwqu/rXXjkbWDHYF21rlqPAwjRisoJq+VTDcBoBhlYqFD7LZhMkmtivYxEgX5vNe
A1AMD5JzBE6HtVm1bqjDgIyJ2+dhSIOlWem1uF60SF+QxuhhQGfw1Wgm24LocReM9HCgb2bePYPO
rEymPkMt9c13IA2JM1O9BdX9s7Q/VZZNZvABv8/ZlqcDkLuUc9AhF7PFYpeHqeP9Fl3fxfor0DIv
k3IlTideDZNFjaUR38yQOnw/DQqkaf1vPOWqYn3X1ObMAnEK1RQyy2sByuPaqFuYiL/LLUQlCA5j
+bG4QNbl3S1nyTnim3KnaGBk6vJRs/8m78hKwxqHag==
=RWOw
-----END PGP SIGNATURE-----

--------------ovl4gz4NQZpSlH8DBaKX00aI--


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 07:53:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 07:53:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627784.978641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzuQc-0002sz-6o; Mon, 06 Nov 2023 07:53:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627784.978641; Mon, 06 Nov 2023 07:53: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 1qzuQc-0002ss-3F; Mon, 06 Nov 2023 07:53:46 +0000
Received: by outflank-mailman (input) for mailman id 627784;
 Mon, 06 Nov 2023 07:53: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=czoR=GT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qzuQa-0002sY-Vg
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 07:53:44 +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 99b828fb-7c79-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 08:53:41 +0100 (CET)
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 91AD71F38A;
 Mon,  6 Nov 2023 07:53: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 6DE36138F3;
 Mon,  6 Nov 2023 07:53:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id COJMGYSbSGWjRgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Nov 2023 07: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>
X-Inumbo-ID: 99b828fb-7c79-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699257220; 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:autocrypt:autocrypt;
	bh=Uh8n8XMwOJkoeRhtkuPqkM9hRpXQ8HRDlvtenHOGga8=;
	b=Vzf0qbogSr0qMdIcmHKWlJQ/OGGTVHBd1tObki6VxumkLjv1yAPB1KrhteqNUBwNLAEI0m
	9VJfdG45sNZSiY1BQhUqf3EL6jwFMv2Pf2aSTpISv8ZHUloAr24c3nGGf57tyUh/W1AEW6
	mFTBWMzy5bHf7P4QKpWB5E4y9xhFJVA=
Message-ID: <ff9a8e04-8d22-4433-b59d-bfabf514577c@suse.com>
Date: Mon, 6 Nov 2023 08:53:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 08/29] tools/xenlogd: add 9pfs walk request support
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-9-jgross@suse.com>
 <CAKf6xptRA6N8ymdgqPS_c+LjBFgN9NmmJAuJx3+vCV8GGkaw6Q@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xptRA6N8ymdgqPS_c+LjBFgN9NmmJAuJx3+vCV8GGkaw6Q@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------5rqGZdZRviF2oqOV3eU1luVa"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------5rqGZdZRviF2oqOV3eU1luVa
Content-Type: multipart/mixed; boundary="------------7Fs02FfKLi8s9Oyh2Gv9WYqX";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <ff9a8e04-8d22-4433-b59d-bfabf514577c@suse.com>
Subject: Re: [PATCH 08/29] tools/xenlogd: add 9pfs walk request support
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-9-jgross@suse.com>
 <CAKf6xptRA6N8ymdgqPS_c+LjBFgN9NmmJAuJx3+vCV8GGkaw6Q@mail.gmail.com>
In-Reply-To: <CAKf6xptRA6N8ymdgqPS_c+LjBFgN9NmmJAuJx3+vCV8GGkaw6Q@mail.gmail.com>

--------------7Fs02FfKLi8s9Oyh2Gv9WYqX
Content-Type: multipart/mixed; boundary="------------pcB5luPRs0tossLzlklJQPfJ"

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

T24gMDMuMTEuMjMgMjA6NDgsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNjowOeKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHRoZSB3YWxrIHJlcXVlc3Qgb2YgdGhlIDlwZnMgcHJvdG9j
b2wuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2Uu
Y29tPg0KPj4gLS0tDQo+PiAgIHRvb2xzL3hlbmxvZ2QvaW8uYyAgICAgIHwgMTM4ICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICAgdG9vbHMveGVubG9n
ZC94ZW5sb2dkLmggfCAgIDEgKw0KPj4gICAyIGZpbGVzIGNoYW5nZWQsIDEzOSBpbnNlcnRp
b25zKCspDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbmxvZ2QvaW8uYyBiL3Rvb2xz
L3hlbmxvZ2QvaW8uYw0KPj4gaW5kZXggZmE4MjVjOWYzOS4uNzc4ZTFkYzJjOSAxMDA2NDQN
Cj4+IC0tLSBhL3Rvb2xzL3hlbmxvZ2QvaW8uYw0KPj4gKysrIGIvdG9vbHMveGVubG9nZC9p
by5jDQo+IA0KPj4gQEAgLTYwMCw2ICs2MTYsMTI0IEBAIHN0YXRpYyB2b2lkIHA5X2F0dGFj
aChkZXZpY2UgKmRldmljZSwgc3RydWN0IHA5X2hlYWRlciAqaGRyKQ0KPj4gICAgICAgZmls
bF9idWZmZXIoZGV2aWNlLCBoZHItPmNtZCArIDEsIGhkci0+dGFnLCAiUSIsICZxaWQpOw0K
Pj4gICB9DQo+Pg0KPj4gK3N0YXRpYyB2b2lkIHA5X3dhbGsoZGV2aWNlICpkZXZpY2UsIHN0
cnVjdCBwOV9oZWFkZXIgKmhkcikNCj4+ICt7DQo+PiArICAgIHVpbnQzMl90IGZpZDsNCj4+
ICsgICAgdWludDMyX3QgbmV3ZmlkOw0KPj4gKyAgICBzdHJ1Y3QgcDlfZmlkICpmaWRwOw0K
Pj4gKyAgICBzdHJ1Y3QgcDlfcWlkICpxaWRzID0gTlVMTDsNCj4+ICsgICAgdW5zaWduZWQg
aW50IG5fbmFtZXMgPSAwOw0KPj4gKyAgICB1bnNpZ25lZCBpbnQgKm5hbWVzID0gTlVMTDsN
Cj4+ICsgICAgdW5zaWduZWQgaW50IHdhbGtlZCA9IDA7DQo+PiArICAgIHVuc2lnbmVkIGlu
dCBpOw0KPj4gKyAgICBjaGFyICpwYXRoID0gTlVMTDsNCj4+ICsgICAgdW5zaWduZWQgaW50
IHBhdGhfbGVuOw0KPj4gKyAgICBpbnQgcmV0Ow0KPj4gKw0KPj4gKyAgICByZXQgPSBmaWxs
X2RhdGEoZGV2aWNlLCAiVVVhUyIsICZmaWQsICZuZXdmaWQsICZuX25hbWVzLCAmbmFtZXMp
Ow0KPj4gKyAgICBpZiAoIG5fbmFtZXMgPiBQOV9XQUxLX01BWEVMRU0gKQ0KPj4gKyAgICB7
DQo+PiArICAgICAgICBwOV9lcnJvcihkZXZpY2UsIGhkci0+dGFnLCBFSU5WQUwpOw0KPj4g
KyAgICAgICAgZ290byBvdXQ7DQo+PiArICAgIH0NCj4+ICsgICAgaWYgKCByZXQgIT0gMyAr
IG5fbmFtZXMgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBwOV9lcnJvcihkZXZpY2UsIGhk
ci0+dGFnLCBlcnJubyk7DQo+PiArICAgICAgICBnb3RvIG91dDsNCj4+ICsgICAgfQ0KPj4g
Kw0KPj4gKyAgICBmaWRwID0gZmluZF9maWQoZGV2aWNlLCBmaWQpOw0KPj4gKyAgICBpZiAo
ICFmaWRwICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHIt
PnRhZywgRU5PRU5UKTsNCj4+ICsgICAgICAgIGdvdG8gb3V0Ow0KPj4gKyAgICB9DQo+PiAr
ICAgIGlmICggZmlkcC0+b3BlbmVkICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgcDlfZXJy
b3IoZGV2aWNlLCBoZHItPnRhZywgRUlOVkFMKTsNCj4+ICsgICAgICAgIGdvdG8gb3V0Ow0K
Pj4gKyAgICB9DQo+IA0KPiBodHRwczovL2VyaWN2aC5naXRodWIuaW8vOXAtcmZjL3JmYzlw
MjAwMC5odG1sI2FuY2hvcjMzDQo+ICIiIg0KPiBUaGUgZmlkIG11c3QgcmVwcmVzZW50IGEg
ZGlyZWN0b3J5IHVubGVzcyB6ZXJvIHBhdGggbmFtZSBlbGVtZW50cyBhcmUgc3BlY2lmaWVk
Lg0KPiAiIiINCj4gYW5kDQo+ICIiIg0KPiBGb3IgdGhlIGZpcnN0IGVsZW1lbnR3aXNlIHdh
bGsgdG8gc3VjY2VlZCwgdGhlIGZpbGUgaWRlbnRpZmllZCBieSBmaWQNCj4gbXVzdCBiZSBh
IGRpcmVjdG9yeSwgYW5kIHRoZSBpbXBsaWVkIHVzZXIgb2YgdGhlIHJlcXVlc3QgbXVzdCBo
YXZlDQo+IHBlcm1pc3Npb24gdG8gc2VhcmNoIHRoZSBkaXJlY3RvcnkgKHNlZSBpbnRybyg1
KSkuIFN1YnNlcXVlbnQNCj4gZWxlbWVudHdpc2Ugd2Fsa3MgaGF2ZSBlcXVpdmFsZW50IHJl
c3RyaWN0aW9ucyBhcHBsaWVkIHRvIHRoZSBpbXBsaWNpdA0KPiBmaWQgdGhhdCByZXN1bHRz
IGZyb20gdGhlIHByZWNlZGluZyBlbGVtZW50d2lzZSB3YWxrLg0KPiAiIiINCj4gDQo+IE1h
eWJlIGEgZGlyIGNoZWNrIHNob3VsZCBiZSBhZGRlZD8gIEhvd2V2ZXIsIGl0IGRvZXNuJ3Qg
bG9vayBsaWtlIFFFTVUNCj4gZG9lcyB0aGlzIGNoZWNrLiAgU2VlbXMgbGlrZSBpdCBpcyBp
bXBsaWNpdGx5IGNoZWNrZWQgYnkgdGhlIHBhdGgNCj4gY29uY2F0ZW5hdGlvbiwgc28gaXQg
bWF5IGJlIGZpbmUgYXMtaXMuDQo+IA0KPiBJZiB5b3UgdGhpbmsgaXQncyBvayBhcy1pczoN
Cj4gUmV2aWV3ZWQtYnk6IEphc29uIEFuZHJ5dWsgPGphbmRyeXVrQGdtYWlsLmNvbT4NCg0K
VGhhbmtzLg0KDQpJIHRoaW5rIEknbGwgbGVhdmUgaXQgYXMgaXMuDQoNCg0KSnVlcmdlbg0K
DQo=
--------------pcB5luPRs0tossLzlklJQPfJ
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-----

--------------pcB5luPRs0tossLzlklJQPfJ--

--------------7Fs02FfKLi8s9Oyh2Gv9WYqX--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVIm4QFAwAAAAAACgkQsN6d1ii/Ey+E
cgf/TH3zJYuXpk3lDwtoYMixCzm2eoqxl+z+uYVqKLKxSuuPcWbl6aUos6HjeGW+71FkJo4r+eUu
QuzbuWeSIf+ABfTUaS+q9nk5YGWGG3SVJ0F0OodLGMFTAWHcN68LB1olU9YAmzLtL04qjBIiavu4
tjJcqIyM+F/6kTgDLJ37fRbI+HsQ3jS6NHSsSgxDu+ojUzjkOWztUvrUndxJYhmogno3quK2/5vO
Vx/Bupvtb3M1xWofbYy1ZcavwouUYRVF5p8+v+a9Ez98ZaStkW890htnIKJO8DcvYbSh/pc40msu
nLGVape7NYx4YJvrfV9js5hzoP19v7+xMJ1AZjCA1Q==
=dlq+
-----END PGP SIGNATURE-----

--------------5rqGZdZRviF2oqOV3eU1luVa--


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 08:20:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 08:20:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627798.978651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzupz-0007XU-RU; Mon, 06 Nov 2023 08:19:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627798.978651; Mon, 06 Nov 2023 08:19: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 1qzupz-0007XN-OE; Mon, 06 Nov 2023 08:19:59 +0000
Received: by outflank-mailman (input) for mailman id 627798;
 Mon, 06 Nov 2023 08:19: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qzupx-0007XH-Bt
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 08:19:57 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 431f274d-7c7d-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 09:19:53 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-32fa7d15f4eso2882884f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 00:19:53 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 z16-20020a5d6550000000b0032dbf6bf7a2sm8691599wrv.97.2023.11.06.00.19.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 00:19:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 431f274d-7c7d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699258792; x=1699863592; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Wt459yraeLTvrfPt8QvYZWqsACE7mwS0V3y0FyXEils=;
        b=VpJrT2SzGZfIzk0I32pllGfPRLM+PkoD+fNLNDSkQLXwaONhz5wVjEqXn3QbbcFqp3
         Z9WucIYe+dPNrarE4t1MaDnwMrz0jeG+xNQE5Ci7e3NMx/z39ohCtH1SBcz06Dw9wzFt
         fNmfyKHEXRJYmSSlvKlWi30N6veAMwaked0fw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699258792; x=1699863592;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Wt459yraeLTvrfPt8QvYZWqsACE7mwS0V3y0FyXEils=;
        b=ueuYxX+EyO7tF6517SpUWuleB32YJs0RLO30n6rzzYJSYGRiIbgAi9c4aJT+dcLYka
         18BlaS6LIwQk+Ir1fkJoufD7TDcMnjvlxyxY05n3EWrjuUb3CqssK+w2xYl2DN16emSk
         g+zrD4wMiLpoGK/IV4cmcuKoAef13J3mnIN+tmYQ/3nsdWIkTcTcCsG+pYfFVlJfL7bp
         omsZsArcI0QX0Z2FFkpSqjl0IWw6pWEEQwDG2EF6GQ5zn9124oFSWsqU4Vc38q3Cr7eg
         Jj+mju45v25uoTJ1XhKd7B24j7gijDFnZL3uHRhwhGTnrSseOmd6iI5GCrhjGgIkNF4V
         AptA==
X-Gm-Message-State: AOJu0YzLOIHeen72yWErdrjhLzt2lSIA093OAuJ9ao0Bk2tzTxwskjGj
	xuG/DEkojylzrFZ+9yMqVwGhGBFDrJdYpZ7kmo8=
X-Google-Smtp-Source: AGHT+IHsNnriSRYKjCt1Xu4VUOfR7laapCBMf5cR/gYbQMgb3n4AAyQieVQjvzlFgIx/ePQzJZVMdg==
X-Received: by 2002:a5d:64aa:0:b0:32f:ad68:7474 with SMTP id m10-20020a5d64aa000000b0032fad687474mr11133147wrp.20.1699258791791;
        Mon, 06 Nov 2023 00:19:51 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>,
	xen-devel@dornerworks.com
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Nathan Studer <nathan.studer@dornerworks.com>,
	Stewart Hildebrand <stewart@stew.dk>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH] tools: Remove all DECLARE_* op macros in xc
Date: Mon,  6 Nov 2023 08:19:46 +0000
Message-Id: <20231106081946.1055-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These macros were hiding that the ops are not zero-initialized by the
toolstack. This is needlessly opaque for something so simple, so this patch
removes them and replaces them with explicit zero-initialising versions.

The patch also removes PHYSDEV_OP from there, as that seems to be an old
dead macro.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
@Daniel: I CC'd you due to the DECLARE_FLASK_OP removal, though it
shouldn't functionally affect anything at all.

The patch looks big, but all changes are reproducible via this snippet in
the "tools/libs" folder, followed by manually removing the #defines in
"xc_private.h"

  for f in `find -name "*.[ch]"`; do                                 \
      sed -i 's/DECLARE_FLASK_OP/struct xen_flask_op op = {0}/g' $f; \
      sed -i 's/DECLARE_SYSCTL/struct xen_sysctl sysctl = {0}/g' $f; \
      sed -i 's/DECLARE_DOMCTL/struct xen_domctl domctl = {0}/g' $f; \
      sed -i 's/DECLARE_PLATFORM_OP/struct xen_platform_op platform_op = {0}/g' $f; \
  done
---
 tools/libs/ctrl/xc_arinc653.c           |   4 +-
 tools/libs/ctrl/xc_cpu_hotplug.c        |   8 +-
 tools/libs/ctrl/xc_cpupool.c            |  14 +--
 tools/libs/ctrl/xc_csched.c             |   8 +-
 tools/libs/ctrl/xc_csched2.c            |   8 +-
 tools/libs/ctrl/xc_domain.c             | 108 ++++++++++++------------
 tools/libs/ctrl/xc_flask.c              |  34 ++++----
 tools/libs/ctrl/xc_memshr.c             |   2 +-
 tools/libs/ctrl/xc_misc.c               |  40 ++++-----
 tools/libs/ctrl/xc_monitor.c            |  30 +++----
 tools/libs/ctrl/xc_pm.c                 |  32 +++----
 tools/libs/ctrl/xc_private.c            |   4 +-
 tools/libs/ctrl/xc_private.h            |   6 --
 tools/libs/ctrl/xc_psr.c                |  22 ++---
 tools/libs/ctrl/xc_resource.c           |   2 +-
 tools/libs/ctrl/xc_rt.c                 |   8 +-
 tools/libs/ctrl/xc_tbuf.c               |  12 +--
 tools/libs/ctrl/xc_vm_event.c           |   4 +-
 tools/libs/guest/xg_cpuid_x86.c         |   8 +-
 tools/libs/guest/xg_dom_arm.c           |   2 +-
 tools/libs/guest/xg_dom_boot.c          |   2 +-
 tools/libs/guest/xg_dom_x86.c           |   2 +-
 tools/libs/guest/xg_offline_page.c      |   6 +-
 tools/libs/guest/xg_resume.c            |   6 +-
 tools/libs/guest/xg_sr_restore_x86_pv.c |   6 +-
 25 files changed, 186 insertions(+), 192 deletions(-)

diff --git a/tools/libs/ctrl/xc_arinc653.c b/tools/libs/ctrl/xc_arinc653.c
index 5d61c1ac11..736b2df222 100644
--- a/tools/libs/ctrl/xc_arinc653.c
+++ b/tools/libs/ctrl/xc_arinc653.c
@@ -33,7 +33,7 @@ xc_sched_arinc653_schedule_set(
     struct xen_sysctl_arinc653_schedule *schedule)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(
         schedule,
         sizeof(*schedule),
@@ -63,7 +63,7 @@ xc_sched_arinc653_schedule_get(
     struct xen_sysctl_arinc653_schedule *schedule)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(
         schedule,
         sizeof(*schedule),
diff --git a/tools/libs/ctrl/xc_cpu_hotplug.c b/tools/libs/ctrl/xc_cpu_hotplug.c
index 2ea9825779..bf1a515197 100644
--- a/tools/libs/ctrl/xc_cpu_hotplug.c
+++ b/tools/libs/ctrl/xc_cpu_hotplug.c
@@ -22,7 +22,7 @@
 
 int xc_cpu_online(xc_interface *xch, int cpu)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_cpu_hotplug;
@@ -35,7 +35,7 @@ int xc_cpu_online(xc_interface *xch, int cpu)
 
 int xc_cpu_offline(xc_interface *xch, int cpu)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_cpu_hotplug;
@@ -48,7 +48,7 @@ int xc_cpu_offline(xc_interface *xch, int cpu)
 
 int xc_smt_enable(xc_interface *xch)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_cpu_hotplug;
@@ -61,7 +61,7 @@ int xc_smt_enable(xc_interface *xch)
 
 int xc_smt_disable(xc_interface *xch)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_cpu_hotplug;
diff --git a/tools/libs/ctrl/xc_cpupool.c b/tools/libs/ctrl/xc_cpupool.c
index fbd8cc9d03..268886bfa9 100644
--- a/tools/libs/ctrl/xc_cpupool.c
+++ b/tools/libs/ctrl/xc_cpupool.c
@@ -39,7 +39,7 @@ int xc_cpupool_create(xc_interface *xch,
                       uint32_t sched_id)
 {
     int err;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_CREATE;
@@ -56,7 +56,7 @@ int xc_cpupool_create(xc_interface *xch,
 int xc_cpupool_destroy(xc_interface *xch,
                        uint32_t poolid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_DESTROY;
@@ -70,7 +70,7 @@ xc_cpupoolinfo_t *xc_cpupool_getinfo(xc_interface *xch,
     int err = 0;
     xc_cpupoolinfo_t *info = NULL;
     int local_size;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BUFFER(uint8_t, local);
 
     local_size = xc_get_cpumap_size(xch);
@@ -129,7 +129,7 @@ int xc_cpupool_addcpu(xc_interface *xch,
                       uint32_t poolid,
                       int cpu)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_ADDCPU;
@@ -152,7 +152,7 @@ int xc_cpupool_removecpu(xc_interface *xch,
 {
     unsigned retries;
     int err = 0;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_RMCPU;
@@ -170,7 +170,7 @@ int xc_cpupool_movedomain(xc_interface *xch,
                           uint32_t poolid,
                           uint32_t domid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_MOVEDOMAIN;
@@ -184,7 +184,7 @@ xc_cpumap_t xc_cpupool_freeinfo(xc_interface *xch)
     int err = -1;
     xc_cpumap_t cpumap = NULL;
     int mapsize;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BUFFER(uint8_t, local);
 
     mapsize = xc_get_cpumap_size(xch);
diff --git a/tools/libs/ctrl/xc_csched.c b/tools/libs/ctrl/xc_csched.c
index 8e8c67220a..21a10c3321 100644
--- a/tools/libs/ctrl/xc_csched.c
+++ b/tools/libs/ctrl/xc_csched.c
@@ -29,7 +29,7 @@ xc_sched_credit_domain_set(
     uint32_t domid,
     struct xen_domctl_sched_credit *sdom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -49,7 +49,7 @@ xc_sched_credit_domain_get(
     uint32_t domid,
     struct xen_domctl_sched_credit *sdom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -70,7 +70,7 @@ xc_sched_credit_params_set(
     uint32_t cpupool_id,
     struct xen_sysctl_credit_schedule *schedule)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_scheduler_op;
     sysctl.u.scheduler_op.cpupool_id = cpupool_id;
@@ -93,7 +93,7 @@ xc_sched_credit_params_get(
     uint32_t cpupool_id,
     struct xen_sysctl_credit_schedule *schedule)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_scheduler_op;
     sysctl.u.scheduler_op.cpupool_id = cpupool_id;
diff --git a/tools/libs/ctrl/xc_csched2.c b/tools/libs/ctrl/xc_csched2.c
index 5eb753ad99..93a25a4571 100644
--- a/tools/libs/ctrl/xc_csched2.c
+++ b/tools/libs/ctrl/xc_csched2.c
@@ -29,7 +29,7 @@ xc_sched_credit2_domain_set(
     uint32_t domid,
     struct xen_domctl_sched_credit2 *sdom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -49,7 +49,7 @@ xc_sched_credit2_domain_get(
     uint32_t domid,
     struct xen_domctl_sched_credit2 *sdom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -70,7 +70,7 @@ xc_sched_credit2_params_set(
     uint32_t cpupool_id,
     struct xen_sysctl_credit2_schedule *schedule)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_scheduler_op;
     sysctl.u.scheduler_op.cpupool_id = cpupool_id;
@@ -93,7 +93,7 @@ xc_sched_credit2_params_get(
     uint32_t cpupool_id,
     struct xen_sysctl_credit2_schedule *schedule)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_scheduler_op;
     sysctl.u.scheduler_op.cpupool_id = cpupool_id;
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index 724fa6f753..b9d723fbb0 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -27,7 +27,7 @@ int xc_domain_create(xc_interface *xch, uint32_t *pdomid,
                      struct xen_domctl_createdomain *config)
 {
     int err;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_createdomain;
     domctl.domain = *pdomid;
@@ -54,7 +54,7 @@ int xc_domain_cacheflush(xc_interface *xch, uint32_t domid,
      */
     return 0;
 #else
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_cacheflush;
     domctl.domain = domid;
     domctl.u.cacheflush.start_pfn = start_pfn;
@@ -66,7 +66,7 @@ int xc_domain_cacheflush(xc_interface *xch, uint32_t domid,
 int xc_domain_pause(xc_interface *xch,
                     uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_pausedomain;
     domctl.domain = domid;
     return do_domctl(xch, &domctl);
@@ -76,7 +76,7 @@ int xc_domain_pause(xc_interface *xch,
 int xc_domain_unpause(xc_interface *xch,
                       uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_unpausedomain;
     domctl.domain = domid;
     return do_domctl(xch, &domctl);
@@ -86,7 +86,7 @@ int xc_domain_unpause(xc_interface *xch,
 int xc_domain_destroy(xc_interface *xch,
                       uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_destroydomain;
     domctl.domain = domid;
     return do_domctl(xch, &domctl);
@@ -123,7 +123,7 @@ int xc_domain_node_setaffinity(xc_interface *xch,
                                uint32_t domid,
                                xc_nodemap_t nodemap)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BUFFER(uint8_t, local);
     int ret = -1;
     int nodesize;
@@ -161,7 +161,7 @@ int xc_domain_node_getaffinity(xc_interface *xch,
                                uint32_t domid,
                                xc_nodemap_t nodemap)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BUFFER(uint8_t, local);
     int ret = -1;
     int nodesize;
@@ -203,7 +203,7 @@ int xc_vcpu_setaffinity(xc_interface *xch,
                         xc_cpumap_t cpumap_soft_inout,
                         uint32_t flags)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(cpumap_hard_inout, 0,
                              XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     DECLARE_HYPERCALL_BOUNCE(cpumap_soft_inout, 0,
@@ -257,7 +257,7 @@ int xc_vcpu_getaffinity(xc_interface *xch,
                         xc_cpumap_t cpumap_soft,
                         uint32_t flags)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(cpumap_hard, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     DECLARE_HYPERCALL_BOUNCE(cpumap_soft, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     int ret = -1;
@@ -304,7 +304,7 @@ int xc_vcpu_getaffinity(xc_interface *xch,
 int xc_domain_get_guest_width(xc_interface *xch, uint32_t domid,
                               unsigned int *guest_width)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     memset(&domctl, 0, sizeof(domctl));
     domctl.domain = domid;
@@ -325,7 +325,7 @@ int xc_dom_vuart_init(xc_interface *xch,
                       xen_pfn_t gfn,
                       evtchn_port_t *evtchn)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     int rc = 0;
 
     memset(&domctl, 0, sizeof(domctl));
@@ -369,7 +369,7 @@ int xc_domain_getinfolist(xc_interface *xch,
                           xc_domaininfo_t *info)
 {
     int ret = 0;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(info, max_domains*sizeof(*info), XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, info) )
@@ -396,7 +396,7 @@ int xc_set_broken_page_p2m(xc_interface *xch,
                            unsigned long pfn)
 {
     int ret;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_set_broken_page_p2m;
     domctl.domain = domid;
@@ -413,7 +413,7 @@ int xc_domain_hvm_getcontext(xc_interface *xch,
                              uint32_t size)
 {
     int ret;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(ctxt_buf, size, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, ctxt_buf) )
@@ -441,7 +441,7 @@ int xc_domain_hvm_getcontext_partial(xc_interface *xch,
                                      uint32_t size)
 {
     int ret;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(ctxt_buf, size, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( !ctxt_buf || xc_hypercall_bounce_pre(xch, ctxt_buf) )
@@ -468,7 +468,7 @@ int xc_domain_hvm_setcontext(xc_interface *xch,
                              uint32_t size)
 {
     int ret;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(ctxt_buf, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, ctxt_buf) )
@@ -492,7 +492,7 @@ int xc_vcpu_getcontext(xc_interface *xch,
                        vcpu_guest_context_any_t *ctxt)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(ctxt, sizeof(vcpu_guest_context_any_t), XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, ctxt) )
@@ -517,7 +517,7 @@ int xc_vcpu_get_extstate(xc_interface *xch,
 {
     int rc = -ENODEV;
 #if defined (__i386__) || defined(__x86_64__)
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BUFFER(void, buffer);
     bool get_state;
 
@@ -606,7 +606,7 @@ int xc_shadow_control(xc_interface *xch,
                       unsigned int mode)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     memset(&domctl, 0, sizeof(domctl));
 
@@ -690,7 +690,7 @@ int xc_domain_setmaxmem(xc_interface *xch,
                         uint32_t domid,
                         uint64_t max_memkb)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_max_mem;
     domctl.domain = domid;
     domctl.u.max_mem.max_memkb = max_memkb;
@@ -808,7 +808,7 @@ int xc_domain_set_time_offset(xc_interface *xch,
                               uint32_t domid,
                               int32_t time_offset_seconds)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_settimeoffset;
     domctl.domain = domid;
     domctl.u.settimeoffset.time_offset_seconds = time_offset_seconds;
@@ -822,7 +822,7 @@ int xc_domain_set_tsc_info(xc_interface *xch,
                            uint32_t gtsc_khz,
                            uint32_t incarnation)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_settscinfo;
     domctl.domain = domid;
     domctl.u.tsc_info.tsc_mode = tsc_mode;
@@ -840,7 +840,7 @@ int xc_domain_get_tsc_info(xc_interface *xch,
                            uint32_t *incarnation)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_gettscinfo;
     domctl.domain = domid;
@@ -1280,7 +1280,7 @@ int xc_domain_get_pod_target(xc_interface *xch,
 
 int xc_domain_max_vcpus(xc_interface *xch, uint32_t domid, unsigned int max)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_max_vcpus;
     domctl.domain = domid;
     domctl.u.max_vcpus.max    = max;
@@ -1290,7 +1290,7 @@ int xc_domain_max_vcpus(xc_interface *xch, uint32_t domid, unsigned int max)
 int xc_domain_sethandle(xc_interface *xch, uint32_t domid,
                         xen_domain_handle_t handle)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_setdomainhandle;
     domctl.domain = domid;
     memcpy(domctl.u.setdomainhandle.handle, handle,
@@ -1304,7 +1304,7 @@ int xc_vcpu_getinfo(xc_interface *xch,
                     xc_vcpuinfo_t *info)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_getvcpuinfo;
     domctl.domain = domid;
@@ -1323,7 +1323,7 @@ int xc_domain_ioport_permission(xc_interface *xch,
                                 uint32_t nr_ports,
                                 uint32_t allow_access)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_ioport_permission;
     domctl.domain = domid;
@@ -1340,7 +1340,7 @@ int xc_availheap(xc_interface *xch,
                  int node,
                  uint64_t *bytes)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int rc;
 
     sysctl.cmd = XEN_SYSCTL_availheap;
@@ -1360,7 +1360,7 @@ int xc_vcpu_setcontext(xc_interface *xch,
                        uint32_t vcpu,
                        vcpu_guest_context_any_t *ctxt)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(ctxt, sizeof(vcpu_guest_context_any_t), XC_HYPERCALL_BUFFER_BOUNCE_IN);
     int rc;
 
@@ -1384,7 +1384,7 @@ int xc_domain_irq_permission(xc_interface *xch,
                              uint32_t pirq,
                              bool allow_access)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_irq_permission;
     domctl.domain = domid;
@@ -1400,7 +1400,7 @@ int xc_domain_iomem_permission(xc_interface *xch,
                                unsigned long nr_mfns,
                                uint8_t allow_access)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_iomem_permission;
     domctl.domain = domid;
@@ -1416,7 +1416,7 @@ int xc_domain_send_trigger(xc_interface *xch,
                            uint32_t trigger,
                            uint32_t vcpu)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_sendtrigger;
     domctl.domain = domid;
@@ -1485,7 +1485,7 @@ int xc_domain_setdebugging(xc_interface *xch,
                            uint32_t domid,
                            unsigned int enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_setdebugging;
     domctl.domain = domid;
@@ -1499,7 +1499,7 @@ int xc_assign_device(
     uint32_t machine_sbdf,
     uint32_t flags)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_assign_device;
     domctl.domain = domid;
@@ -1519,7 +1519,7 @@ int xc_get_device_group(
     uint32_t *sdev_array)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(sdev_array, max_sdevs * sizeof(*sdev_array),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
@@ -1551,7 +1551,7 @@ int xc_test_assign_device(
     uint32_t domid,
     uint32_t machine_sbdf)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_test_assign_device;
     domctl.domain = domid;
@@ -1567,7 +1567,7 @@ int xc_deassign_device(
     uint32_t domid,
     uint32_t machine_sbdf)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_deassign_device;
     domctl.domain = domid;
@@ -1585,7 +1585,7 @@ int xc_assign_dt_device(
 {
     int rc;
     size_t size = strlen(path);
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(path, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, path) )
@@ -1617,7 +1617,7 @@ int xc_test_assign_dt_device(
 {
     int rc;
     size_t size = strlen(path);
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(path, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, path) )
@@ -1645,7 +1645,7 @@ int xc_deassign_dt_device(
 {
     int rc;
     size_t size = strlen(path);
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(path, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, path) )
@@ -1679,7 +1679,7 @@ int xc_domain_update_msi_irq(
 {
     int rc;
     struct xen_domctl_bind_pt_irq *bind;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_bind_pt_irq;
     domctl.domain = domid;
@@ -1704,7 +1704,7 @@ int xc_domain_unbind_msi_irq(
 {
     int rc;
     struct xen_domctl_bind_pt_irq *bind;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_unbind_pt_irq;
     domctl.domain = domid;
@@ -1733,7 +1733,7 @@ static int xc_domain_bind_pt_irq_int(
 {
     int rc;
     struct xen_domctl_bind_pt_irq *bind;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_bind_pt_irq;
     domctl.domain = domid;
@@ -1791,7 +1791,7 @@ static int xc_domain_unbind_pt_irq_int(
 {
     int rc;
     struct xen_domctl_bind_pt_irq *bind;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_unbind_pt_irq;
     domctl.domain = domid;
@@ -1886,7 +1886,7 @@ int xc_domain_memory_mapping(
     unsigned long nr_mfns,
     uint32_t add_mapping)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     xc_domaininfo_t info;
     int ret = 0, rc;
     unsigned long done = 0, nr, max_batch_sz;
@@ -1958,7 +1958,7 @@ int xc_domain_ioport_mapping(
     uint32_t nr_ports,
     uint32_t add_mapping)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_ioport_mapping;
     domctl.domain = domid;
@@ -1975,7 +1975,7 @@ int xc_domain_set_target(
     uint32_t domid,
     uint32_t target)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_set_target;
     domctl.domain = domid;
@@ -1987,7 +1987,7 @@ int xc_domain_set_target(
 int xc_domain_subscribe_for_suspend(
     xc_interface *xch, uint32_t dom, evtchn_port_t port)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_subscribe;
     domctl.domain = dom;
@@ -1998,7 +1998,7 @@ int xc_domain_subscribe_for_suspend(
 
 int xc_domain_debug_control(xc_interface *xc, uint32_t domid, uint32_t sop, uint32_t vcpu)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     memset(&domctl, 0, sizeof(domctl));
     domctl.domain = domid;
@@ -2015,7 +2015,7 @@ int xc_domain_p2m_audit(xc_interface *xch,
                         uint64_t *m2p_bad,   
                         uint64_t *p2m_bad)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     int rc;
 
     domctl.cmd = XEN_DOMCTL_audit_p2m;
@@ -2033,7 +2033,7 @@ int xc_domain_set_access_required(xc_interface *xch,
                                   uint32_t domid,
                                   unsigned int required)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_set_access_required;
     domctl.domain = domid;
@@ -2043,7 +2043,7 @@ int xc_domain_set_access_required(xc_interface *xch,
 
 int xc_domain_set_virq_handler(xc_interface *xch, uint32_t domid, int virq)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_set_virq_handler;
     domctl.domain = domid;
@@ -2063,7 +2063,7 @@ int xc_domain_setvnuma(xc_interface *xch,
                        unsigned int *vnode_to_pnode)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(vmemrange, sizeof(*vmemrange) * nr_vmemranges,
                              XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     DECLARE_HYPERCALL_BOUNCE(vdistance, sizeof(*vdistance) *
@@ -2175,7 +2175,7 @@ int xc_domain_getvnuma(xc_interface *xch,
 int xc_domain_soft_reset(xc_interface *xch,
                          uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     domctl.cmd = XEN_DOMCTL_soft_reset;
     domctl.domain = domid;
     return do_domctl(xch, &domctl);
diff --git a/tools/libs/ctrl/xc_flask.c b/tools/libs/ctrl/xc_flask.c
index c1652ba48d..c0b4805479 100644
--- a/tools/libs/ctrl/xc_flask.c
+++ b/tools/libs/ctrl/xc_flask.c
@@ -64,7 +64,7 @@ int xc_flask_op(xc_interface *xch, xen_flask_op_t *op)
 int xc_flask_load(xc_interface *xch, char *buf, uint32_t size)
 {
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     DECLARE_HYPERCALL_BOUNCE(buf, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     if ( xc_hypercall_bounce_pre(xch, buf) )
     {
@@ -86,7 +86,7 @@ int xc_flask_load(xc_interface *xch, char *buf, uint32_t size)
 int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t size, uint32_t *sid)
 {
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     DECLARE_HYPERCALL_BOUNCE(buf, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, buf) )
@@ -112,7 +112,7 @@ int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t size, uint32_
 int xc_flask_sid_to_context(xc_interface *xch, int sid, char *buf, uint32_t size)
 {
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     DECLARE_HYPERCALL_BOUNCE(buf, size, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, buf) )
@@ -135,7 +135,7 @@ int xc_flask_sid_to_context(xc_interface *xch, int sid, char *buf, uint32_t size
 
 int xc_flask_getenforce(xc_interface *xch)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     op.cmd = FLASK_GETENFORCE;
     
     return xc_flask_op(xch, &op);
@@ -143,7 +143,7 @@ int xc_flask_getenforce(xc_interface *xch)
 
 int xc_flask_setenforce(xc_interface *xch, int mode)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     op.cmd = FLASK_SETENFORCE;
     op.u.enforce.enforcing = mode;
    
@@ -153,7 +153,7 @@ int xc_flask_setenforce(xc_interface *xch, int mode)
 int xc_flask_getbool_byid(xc_interface *xch, int id, char *name, uint32_t size, int *curr, int *pend)
 {
     int rv;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     DECLARE_HYPERCALL_BOUNCE(name, size, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, name) )
@@ -185,7 +185,7 @@ int xc_flask_getbool_byid(xc_interface *xch, int id, char *name, uint32_t size,
 int xc_flask_getbool_byname(xc_interface *xch, char *name, int *curr, int *pend)
 {
     int rv;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     DECLARE_HYPERCALL_BOUNCE(name, strlen(name), XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, name) )
@@ -217,7 +217,7 @@ int xc_flask_getbool_byname(xc_interface *xch, char *name, int *curr, int *pend)
 int xc_flask_setbool(xc_interface *xch, char *name, int value, int commit)
 {
     int rv;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     DECLARE_HYPERCALL_BOUNCE(name, strlen(name), XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, name) )
@@ -245,7 +245,7 @@ static int xc_flask_add(xc_interface *xch, uint32_t ocon, uint64_t low, uint64_t
 {
     uint32_t sid;
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
 
     err = xc_flask_context_to_sid(xch, scontext, strlen(scontext), &sid);
     if ( err )
@@ -284,7 +284,7 @@ int xc_flask_add_device(xc_interface *xch, unsigned long device, char *scontext)
 
 static int xc_flask_del(xc_interface *xch, uint32_t ocon, uint64_t low, uint64_t high)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
 
     op.cmd = FLASK_DEL_OCONTEXT;
     op.u.ocontext.ocon = ocon;
@@ -320,7 +320,7 @@ int xc_flask_access(xc_interface *xch, const char *scon, const char *tcon,
                 uint32_t *auditallow, uint32_t *auditdeny,
                 uint32_t *seqno)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     int err;
 
     err = xc_flask_context_to_sid(xch, (char*)scon, strlen(scon), &op.u.access.ssid);
@@ -359,7 +359,7 @@ int xc_flask_access(xc_interface *xch, const char *scon, const char *tcon,
 int xc_flask_avc_hashstats(xc_interface *xch, char *buf, int size)
 {
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
   
     op.cmd = FLASK_AVC_HASHSTATS;
   
@@ -377,7 +377,7 @@ int xc_flask_avc_cachestats(xc_interface *xch, char *buf, int size)
 {
     int err, n;
     int i = 0;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
 
     n = snprintf(buf, size, "lookups hits misses allocations reclaims frees\n");
     buf += n;
@@ -406,7 +406,7 @@ int xc_flask_avc_cachestats(xc_interface *xch, char *buf, int size)
 
 int xc_flask_policyvers(xc_interface *xch)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     op.cmd = FLASK_POLICYVERS;
 
     return xc_flask_op(xch, &op);
@@ -414,7 +414,7 @@ int xc_flask_policyvers(xc_interface *xch)
 
 int xc_flask_getavc_threshold(xc_interface *xch)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     op.cmd = FLASK_GETAVC_THRESHOLD;
     
     return xc_flask_op(xch, &op);
@@ -422,7 +422,7 @@ int xc_flask_getavc_threshold(xc_interface *xch)
 
 int xc_flask_setavc_threshold(xc_interface *xch, int threshold)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     op.cmd = FLASK_SETAVC_THRESHOLD;
     op.u.setavc_threshold.threshold = threshold;
 
@@ -431,7 +431,7 @@ int xc_flask_setavc_threshold(xc_interface *xch, int threshold)
 
 int xc_flask_relabel_domain(xc_interface *xch, uint32_t domid, uint32_t sid)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {0};
     op.cmd = FLASK_RELABEL_DOMAIN;
     op.u.relabel.domid = domid;
     op.u.relabel.sid = sid;
diff --git a/tools/libs/ctrl/xc_memshr.c b/tools/libs/ctrl/xc_memshr.c
index 2f65b3b22e..0b69dcaaa3 100644
--- a/tools/libs/ctrl/xc_memshr.c
+++ b/tools/libs/ctrl/xc_memshr.c
@@ -28,7 +28,7 @@ int xc_memshr_control(xc_interface *xch,
                       uint32_t domid,
                       int enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     struct xen_domctl_mem_sharing_op *op;
 
     domctl.cmd = XEN_DOMCTL_mem_sharing_op;
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 4159294b2e..33925f7a99 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -138,7 +138,7 @@ int xc_readconsolering(xc_interface *xch,
 {
     int ret;
     unsigned int nr_chars = *pnr_chars;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(buffer, nr_chars, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, buffer) )
@@ -170,7 +170,7 @@ int xc_readconsolering(xc_interface *xch,
 int xc_send_debug_keys(xc_interface *xch, const char *keys)
 {
     int ret, len = strlen(keys);
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE_IN(keys, len);
 
     if ( xc_hypercall_bounce_pre(xch, keys) )
@@ -191,7 +191,7 @@ int xc_physinfo(xc_interface *xch,
                 xc_physinfo_t *put_info)
 {
     int ret;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_physinfo;
 
@@ -206,7 +206,7 @@ int xc_physinfo(xc_interface *xch,
 int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
 {
     int ret;
-    DECLARE_PLATFORM_OP;
+    struct xen_platform_op platform_op = {0};
     DECLARE_HYPERCALL_BUFFER(struct xenpf_microcode_update, uc);
 
     uc = xc_hypercall_buffer_alloc(xch, uc, len);
@@ -265,7 +265,7 @@ int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
                    xc_cputopo_t *cputopo)
 {
     int ret;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(cputopo, *max_cpus * sizeof(*cputopo),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
@@ -292,7 +292,7 @@ int xc_numainfo(xc_interface *xch, unsigned *max_nodes,
                 xc_meminfo_t *meminfo, uint32_t *distance)
 {
     int ret;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(meminfo, *max_nodes * sizeof(*meminfo),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     DECLARE_HYPERCALL_BOUNCE(distance,
@@ -328,7 +328,7 @@ int xc_pcitopoinfo(xc_interface *xch, unsigned num_devs,
 {
     int ret = 0;
     unsigned processed = 0;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(devs, num_devs * sizeof(*devs),
                              XC_HYPERCALL_BUFFER_BOUNCE_IN);
     DECLARE_HYPERCALL_BOUNCE(nodes, num_devs* sizeof(*nodes),
@@ -366,7 +366,7 @@ int xc_sched_id(xc_interface *xch,
                 int *sched_id)
 {
     int ret;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_sched_id;
 
@@ -451,7 +451,7 @@ out:
 
 int xc_perfc_reset(xc_interface *xch)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_perfc_op;
     sysctl.u.perfc_op.cmd = XEN_SYSCTL_PERFCOP_reset;
@@ -466,7 +466,7 @@ int xc_perfc_query_number(xc_interface *xch,
                           int *nbr_val)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_perfc_op;
     sysctl.u.perfc_op.cmd = XEN_SYSCTL_PERFCOP_query;
@@ -487,7 +487,7 @@ int xc_perfc_query(xc_interface *xch,
                    struct xc_hypercall_buffer *desc,
                    struct xc_hypercall_buffer *val)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BUFFER_ARGUMENT(desc);
     DECLARE_HYPERCALL_BUFFER_ARGUMENT(val);
 
@@ -501,7 +501,7 @@ int xc_perfc_query(xc_interface *xch,
 
 int xc_lockprof_reset(xc_interface *xch)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_lockprof_op;
     sysctl.u.lockprof_op.cmd = XEN_SYSCTL_LOCKPROF_reset;
@@ -514,7 +514,7 @@ int xc_lockprof_query_number(xc_interface *xch,
                              uint32_t *n_elems)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_lockprof_op;
     sysctl.u.lockprof_op.max_elem = 0;
@@ -534,7 +534,7 @@ int xc_lockprof_query(xc_interface *xch,
                       struct xc_hypercall_buffer *data)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BUFFER_ARGUMENT(data);
 
     sysctl.cmd = XEN_SYSCTL_lockprof_op;
@@ -553,7 +553,7 @@ int xc_getcpuinfo(xc_interface *xch, int max_cpus,
                   xc_cpuinfo_t *info, int *nr_cpus)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(info, max_cpus*sizeof(*info), XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, info) )
@@ -579,7 +579,7 @@ int xc_livepatch_upload(xc_interface *xch,
                         uint32_t size)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BUFFER(char, local);
     DECLARE_HYPERCALL_BOUNCE(name, 0 /* later */, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     struct xen_livepatch_name def_name = { };
@@ -632,7 +632,7 @@ int xc_livepatch_get(xc_interface *xch,
                      struct xen_livepatch_status *status)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(name, 0 /*adjust later */, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     struct xen_livepatch_name def_name = { };
 
@@ -689,7 +689,7 @@ int xc_livepatch_list_get_sizes(xc_interface *xch, unsigned int *nr,
                                 uint32_t *name_total_size,
                                 uint32_t *metadata_total_size)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int rc;
 
     if ( !nr || !name_total_size || !metadata_total_size )
@@ -770,7 +770,7 @@ int xc_livepatch_list(xc_interface *xch, const unsigned int max,
                       unsigned int *done, unsigned int *left)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     /* The sizes are adjusted later - hence zero. */
     DECLARE_HYPERCALL_BOUNCE(info, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     DECLARE_HYPERCALL_BOUNCE(name, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
@@ -965,7 +965,7 @@ static int _xc_livepatch_action(xc_interface *xch,
                                 uint32_t flags)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     /* The size is figured out when we strlen(name) */
     DECLARE_HYPERCALL_BOUNCE(name, 0, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     struct xen_livepatch_name def_name = { };
diff --git a/tools/libs/ctrl/xc_monitor.c b/tools/libs/ctrl/xc_monitor.c
index 3cb96f444f..9938897810 100644
--- a/tools/libs/ctrl/xc_monitor.c
+++ b/tools/libs/ctrl/xc_monitor.c
@@ -48,7 +48,7 @@ int xc_monitor_get_capabilities(xc_interface *xch, uint32_t domain_id,
                                 uint32_t *capabilities)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     if ( !capabilities )
     {
@@ -72,7 +72,7 @@ int xc_monitor_write_ctrlreg(xc_interface *xch, uint32_t domain_id,
                              uint16_t index, bool enable, bool sync,
                              uint64_t bitmask, bool onchangeonly)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -92,7 +92,7 @@ int xc_monitor_write_ctrlreg(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_mov_to_msr(xc_interface *xch, uint32_t domain_id, uint32_t msr,
                           bool enable, bool onchangeonly)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -108,7 +108,7 @@ int xc_monitor_mov_to_msr(xc_interface *xch, uint32_t domain_id, uint32_t msr,
 int xc_monitor_software_breakpoint(xc_interface *xch, uint32_t domain_id,
                                    bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -122,7 +122,7 @@ int xc_monitor_software_breakpoint(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_singlestep(xc_interface *xch, uint32_t domain_id,
                           bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -136,7 +136,7 @@ int xc_monitor_singlestep(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_descriptor_access(xc_interface *xch, uint32_t domain_id,
                                  bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -150,7 +150,7 @@ int xc_monitor_descriptor_access(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_guest_request(xc_interface *xch, uint32_t domain_id, bool enable,
                              bool sync, bool allow_userspace)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -166,7 +166,7 @@ int xc_monitor_guest_request(xc_interface *xch, uint32_t domain_id, bool enable,
 int xc_monitor_inguest_pagefault(xc_interface *xch, uint32_t domain_id,
                                 bool disable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -180,7 +180,7 @@ int xc_monitor_inguest_pagefault(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_emulate_each_rep(xc_interface *xch, uint32_t domain_id,
                                 bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -193,7 +193,7 @@ int xc_monitor_emulate_each_rep(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_debug_exceptions(xc_interface *xch, uint32_t domain_id,
                                 bool enable, bool sync)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -207,7 +207,7 @@ int xc_monitor_debug_exceptions(xc_interface *xch, uint32_t domain_id,
 
 int xc_monitor_cpuid(xc_interface *xch, uint32_t domain_id, bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -221,7 +221,7 @@ int xc_monitor_cpuid(xc_interface *xch, uint32_t domain_id, bool enable)
 int xc_monitor_privileged_call(xc_interface *xch, uint32_t domain_id,
                                bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -235,7 +235,7 @@ int xc_monitor_privileged_call(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_emul_unimplemented(xc_interface *xch, uint32_t domain_id,
                                   bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -249,7 +249,7 @@ int xc_monitor_emul_unimplemented(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
                       bool sync)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -263,7 +263,7 @@ int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
 
 int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
diff --git a/tools/libs/ctrl/xc_pm.c b/tools/libs/ctrl/xc_pm.c
index b20b675280..b05ef43cfb 100644
--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -28,7 +28,7 @@
  */
 int xc_pm_get_max_px(xc_interface *xch, int cpuid, int *max_px)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_get_pmstat;
@@ -44,7 +44,7 @@ int xc_pm_get_max_px(xc_interface *xch, int cpuid, int *max_px)
 
 int xc_pm_get_pxstat(xc_interface *xch, int cpuid, struct xc_px_stat *pxpt)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     /* Sizes unknown until xc_pm_get_max_px */
     DECLARE_NAMED_HYPERCALL_BOUNCE(trans, pxpt->trans_pt, 0, XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     DECLARE_NAMED_HYPERCALL_BOUNCE(pt, pxpt->pt, 0, XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
@@ -99,7 +99,7 @@ int xc_pm_get_pxstat(xc_interface *xch, int cpuid, struct xc_px_stat *pxpt)
 
 int xc_pm_reset_pxstat(xc_interface *xch, int cpuid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_get_pmstat;
     sysctl.u.get_pmstat.type = PMSTAT_reset_pxstat;
@@ -110,7 +110,7 @@ int xc_pm_reset_pxstat(xc_interface *xch, int cpuid)
 
 int xc_pm_get_max_cx(xc_interface *xch, int cpuid, int *max_cx)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int ret = 0;
 
     sysctl.cmd = XEN_SYSCTL_get_pmstat;
@@ -125,7 +125,7 @@ int xc_pm_get_max_cx(xc_interface *xch, int cpuid, int *max_cx)
 
 int xc_pm_get_cxstat(xc_interface *xch, int cpuid, struct xc_cx_stat *cxpt)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_NAMED_HYPERCALL_BOUNCE(triggers, cxpt->triggers,
                                    cxpt->nr * sizeof(*cxpt->triggers),
                                    XC_HYPERCALL_BUFFER_BOUNCE_OUT);
@@ -183,7 +183,7 @@ unlock_0:
 
 int xc_pm_reset_cxstat(xc_interface *xch, int cpuid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_get_pmstat;
     sysctl.u.get_pmstat.type = PMSTAT_reset_cxstat;
@@ -200,7 +200,7 @@ int xc_pm_reset_cxstat(xc_interface *xch, int cpuid)
 int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
                         struct xc_get_cpufreq_para *user_para)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int ret = 0;
     struct xen_get_cpufreq_para *sys_para = &sysctl.u.pm_op.u.get_para;
     DECLARE_NAMED_HYPERCALL_BOUNCE(affected_cpus,
@@ -310,7 +310,7 @@ unlock_1:
 
 int xc_set_cpufreq_gov(xc_interface *xch, int cpuid, char *govname)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     char *scaling_governor = sysctl.u.pm_op.u.set_gov.scaling_governor;
 
     if ( !xch || !govname )
@@ -330,7 +330,7 @@ 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)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( !xch )
     {
@@ -349,7 +349,7 @@ int xc_set_cpufreq_para(xc_interface *xch, int cpuid,
 int xc_set_cpufreq_cppc(xc_interface *xch, int cpuid,
                         xc_set_cppc_para_t *set_cppc)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int ret;
 
     if ( !xch )
@@ -372,7 +372,7 @@ int xc_set_cpufreq_cppc(xc_interface *xch, int cpuid,
 int xc_get_cpufreq_avgfreq(xc_interface *xch, int cpuid, int *avg_freq)
 {
     int ret = 0;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( !xch || !avg_freq )
     {
@@ -395,7 +395,7 @@ 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)
 {
    int rc;
-   DECLARE_SYSCTL;
+   struct xen_sysctl sysctl = {0};
 
    sysctl.cmd = XEN_SYSCTL_pm_op;
    sysctl.u.pm_op.cmd = XEN_SYSCTL_pm_op_set_sched_opt_smt;
@@ -409,7 +409,7 @@ int xc_set_sched_opt_smt(xc_interface *xch, uint32_t value)
 static int get_max_cstate(xc_interface *xch, uint32_t *value, uint32_t type)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( !xch || !value )
     {
@@ -438,7 +438,7 @@ int xc_get_cpuidle_max_csubstate(xc_interface *xch, uint32_t *value)
 
 static int set_max_cstate(xc_interface *xch, uint32_t value, uint32_t type)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( !xch )
     {
@@ -465,7 +465,7 @@ int xc_set_cpuidle_max_csubstate(xc_interface *xch, uint32_t value)
 
 int xc_enable_turbo(xc_interface *xch, int cpuid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( !xch )
     {
@@ -480,7 +480,7 @@ int xc_enable_turbo(xc_interface *xch, int cpuid)
 
 int xc_disable_turbo(xc_interface *xch, int cpuid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( !xch )
     {
diff --git a/tools/libs/ctrl/xc_private.c b/tools/libs/ctrl/xc_private.c
index 6293a45531..f44775e170 100644
--- a/tools/libs/ctrl/xc_private.c
+++ b/tools/libs/ctrl/xc_private.c
@@ -229,7 +229,7 @@ int xc_get_pfn_type_batch(xc_interface *xch, uint32_t dom,
                           unsigned int num, xen_pfn_t *arr)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(arr, sizeof(*arr) * num, XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     if ( xc_hypercall_bounce_pre(xch, arr) )
         return -1;
@@ -398,7 +398,7 @@ int xc_maximum_ram_page(xc_interface *xch, unsigned long *max_mfn)
 
 long long xc_domain_get_cpu_usage(xc_interface *xch, uint32_t domid, int vcpu)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_getvcpuinfo;
     domctl.domain = domid;
diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h
index 8faabaea67..d8b7da2805 100644
--- a/tools/libs/ctrl/xc_private.h
+++ b/tools/libs/ctrl/xc_private.h
@@ -62,12 +62,6 @@ struct iovec {
 #include <sys/uio.h>
 #endif
 
-#define DECLARE_DOMCTL struct xen_domctl domctl
-#define DECLARE_SYSCTL struct xen_sysctl sysctl
-#define DECLARE_PHYSDEV_OP struct physdev_op physdev_op
-#define DECLARE_FLASK_OP struct xen_flask_op op
-#define DECLARE_PLATFORM_OP struct xen_platform_op platform_op
-
 #undef PAGE_SHIFT
 #undef PAGE_SIZE
 #undef PAGE_MASK
diff --git a/tools/libs/ctrl/xc_psr.c b/tools/libs/ctrl/xc_psr.c
index 1a0ab636f0..fcbd9ff278 100644
--- a/tools/libs/ctrl/xc_psr.c
+++ b/tools/libs/ctrl/xc_psr.c
@@ -29,7 +29,7 @@
 
 int xc_psr_cmt_attach(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_psr_cmt_op;
     domctl.domain = domid;
@@ -40,7 +40,7 @@ int xc_psr_cmt_attach(xc_interface *xch, uint32_t domid)
 
 int xc_psr_cmt_detach(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_psr_cmt_op;
     domctl.domain = domid;
@@ -53,7 +53,7 @@ int xc_psr_cmt_get_domain_rmid(xc_interface *xch, uint32_t domid,
                                uint32_t *rmid)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_psr_cmt_op;
     domctl.domain = domid;
@@ -71,7 +71,7 @@ int xc_psr_cmt_get_total_rmid(xc_interface *xch, uint32_t *total_rmid)
 {
     static int val = 0;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( val )
     {
@@ -95,7 +95,7 @@ int xc_psr_cmt_get_l3_upscaling_factor(xc_interface *xch,
 {
     static int val = 0;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( val )
     {
@@ -118,7 +118,7 @@ int xc_psr_cmt_get_l3_upscaling_factor(xc_interface *xch,
 int xc_psr_cmt_get_l3_event_mask(xc_interface *xch, uint32_t *event_mask)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_psr_cmt_op;
     sysctl.u.psr_cmt_op.cmd =
@@ -137,7 +137,7 @@ int xc_psr_cmt_get_l3_cache_size(xc_interface *xch, uint32_t cpu,
 {
     static int val = 0;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( val )
     {
@@ -230,7 +230,7 @@ int xc_psr_cmt_enabled(xc_interface *xch)
 {
     static int val = -1;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( val >= 0 )
         return val;
@@ -252,7 +252,7 @@ int xc_psr_set_domain_data(xc_interface *xch, uint32_t domid,
                            xc_psr_type type, uint32_t target,
                            uint64_t data)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     uint32_t cmd;
 
     switch ( type )
@@ -291,7 +291,7 @@ int xc_psr_get_domain_data(xc_interface *xch, uint32_t domid,
                            uint64_t *data)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     uint32_t cmd;
 
     switch ( type )
@@ -333,7 +333,7 @@ int xc_psr_get_hw_info(xc_interface *xch, uint32_t socket,
                        xc_psr_feat_type type, xc_psr_hw_info *hw_info)
 {
     int rc = -1;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     if ( !hw_info )
     {
diff --git a/tools/libs/ctrl/xc_resource.c b/tools/libs/ctrl/xc_resource.c
index 3394cc1833..4ccb7f0521 100644
--- a/tools/libs/ctrl/xc_resource.c
+++ b/tools/libs/ctrl/xc_resource.c
@@ -22,7 +22,7 @@
 static int xc_resource_op_one(xc_interface *xch, xc_resource_op_t *op)
 {
     int rc;
-    DECLARE_PLATFORM_OP;
+    struct xen_platform_op platform_op = {0};
     DECLARE_NAMED_HYPERCALL_BOUNCE(entries, op->entries,
                                 op->nr_entries * sizeof(*op->entries),
                                 XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
diff --git a/tools/libs/ctrl/xc_rt.c b/tools/libs/ctrl/xc_rt.c
index ad257c6e52..5b4b34e87b 100644
--- a/tools/libs/ctrl/xc_rt.c
+++ b/tools/libs/ctrl/xc_rt.c
@@ -29,7 +29,7 @@ int xc_sched_rtds_domain_set(xc_interface *xch,
                            struct xen_domctl_sched_rtds *sdom)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -48,7 +48,7 @@ int xc_sched_rtds_domain_get(xc_interface *xch,
                            struct xen_domctl_sched_rtds *sdom)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -70,7 +70,7 @@ int xc_sched_rtds_vcpu_set(xc_interface *xch,
 {
     int rc = 0;
     unsigned processed = 0;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(vcpus, sizeof(*vcpus) * num_vcpus,
                              XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
@@ -104,7 +104,7 @@ int xc_sched_rtds_vcpu_get(xc_interface *xch,
 {
     int rc = 0;
     unsigned processed = 0;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(vcpus, sizeof(*vcpus) * num_vcpus,
                              XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
 
diff --git a/tools/libs/ctrl/xc_tbuf.c b/tools/libs/ctrl/xc_tbuf.c
index 283fbd1c8f..ce1ac95d62 100644
--- a/tools/libs/ctrl/xc_tbuf.c
+++ b/tools/libs/ctrl/xc_tbuf.c
@@ -27,7 +27,7 @@
 
 static int tbuf_enable(xc_interface *xch, int enable)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_tbuf_op;
     sysctl.interface_version = XEN_SYSCTL_INTERFACE_VERSION;
@@ -41,7 +41,7 @@ static int tbuf_enable(xc_interface *xch, int enable)
 
 int xc_tbuf_set_size(xc_interface *xch, unsigned long size)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_tbuf_op;
     sysctl.interface_version = XEN_SYSCTL_INTERFACE_VERSION;
@@ -55,7 +55,7 @@ int xc_tbuf_get_size(xc_interface *xch, unsigned long *size)
 {
     struct t_info *t_info;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_tbuf_op;
     sysctl.interface_version = XEN_SYSCTL_INTERFACE_VERSION;
@@ -82,7 +82,7 @@ int xc_tbuf_get_size(xc_interface *xch, unsigned long *size)
 int xc_tbuf_enable(xc_interface *xch, unsigned long pages, unsigned long *mfn,
                    unsigned long *size)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int rc;
 
     /*
@@ -116,7 +116,7 @@ int xc_tbuf_disable(xc_interface *xch)
 
 int xc_tbuf_set_cpu_mask(xc_interface *xch, xc_cpumap_t mask)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(mask, 0, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     int ret = -1;
     int bits, cpusize;
@@ -160,7 +160,7 @@ int xc_tbuf_set_cpu_mask(xc_interface *xch, xc_cpumap_t mask)
 
 int xc_tbuf_set_evt_mask(xc_interface *xch, uint32_t mask)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
 
     sysctl.cmd = XEN_SYSCTL_tbuf_op;
     sysctl.interface_version = XEN_SYSCTL_INTERFACE_VERSION;
diff --git a/tools/libs/ctrl/xc_vm_event.c b/tools/libs/ctrl/xc_vm_event.c
index a97c615b18..971bdcb9c0 100644
--- a/tools/libs/ctrl/xc_vm_event.c
+++ b/tools/libs/ctrl/xc_vm_event.c
@@ -25,7 +25,7 @@
 int xc_vm_event_control(xc_interface *xch, uint32_t domain_id, unsigned int op,
                         unsigned int mode, uint32_t *port)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     int rc;
 
     domctl.cmd = XEN_DOMCTL_vm_event_op;
@@ -158,7 +158,7 @@ void *xc_vm_event_enable(xc_interface *xch, uint32_t domain_id, int param,
 
 int xc_vm_event_get_version(xc_interface *xch)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     int rc;
 
     domctl.cmd = XEN_DOMCTL_vm_event_op;
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index f2b1e80901..0932d82f0a 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -38,7 +38,7 @@ enum {
 
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_get_cpu_levelling_caps;
@@ -53,7 +53,7 @@ int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps)
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(featureset,
                              *nr_features * sizeof(*featureset),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
@@ -167,7 +167,7 @@ static int get_domain_cpu_policy(xc_interface *xch, uint32_t domid,
                                  uint32_t *nr_leaves, xen_cpuid_leaf_t *leaves,
                                  uint32_t *nr_msrs, xen_msr_entry_t *msrs)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(leaves,
                              *nr_leaves * sizeof(*leaves),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
@@ -207,7 +207,7 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
                              uint32_t *err_leaf_p, uint32_t *err_subleaf_p,
                              uint32_t *err_msr_p)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BOUNCE(leaves,
                              nr_leaves * sizeof(*leaves),
                              XC_HYPERCALL_BUFFER_BOUNCE_IN);
diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
index d616dccbd6..832ad291ac 100644
--- a/tools/libs/guest/xg_dom_arm.c
+++ b/tools/libs/guest/xg_dom_arm.c
@@ -204,7 +204,7 @@ static int set_mode(xc_interface *xch, uint32_t domid, const char *guest_type)
         { "xen-3.0-aarch64", 64 },
         { "xen-3.0-armv7l",  32 },
     };
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     int i,rc;
 
     domctl.domain = domid;
diff --git a/tools/libs/guest/xg_dom_boot.c b/tools/libs/guest/xg_dom_boot.c
index 6e0847e718..ae6aa07c97 100644
--- a/tools/libs/guest/xg_dom_boot.c
+++ b/tools/libs/guest/xg_dom_boot.c
@@ -39,7 +39,7 @@
 
 static int setup_hypercall_page(struct xc_dom_image *dom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     xen_pfn_t pfn;
     int rc;
 
diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
index 811d176488..c5414f96cd 100644
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -1158,7 +1158,7 @@ static int x86_compat(xc_interface *xch, uint32_t domid,
         { "xen-3.0-x86_32p", 32 },
         { "xen-3.0-x86_64",  64 },
     };
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     int i,rc;
 
     memset(&domctl, 0, sizeof(domctl));
diff --git a/tools/libs/guest/xg_offline_page.c b/tools/libs/guest/xg_offline_page.c
index 5f61d49456..71d9fc0427 100644
--- a/tools/libs/guest/xg_offline_page.c
+++ b/tools/libs/guest/xg_offline_page.c
@@ -51,7 +51,7 @@ static struct domain_info_context *dinfo = &_dinfo;
 int xc_mark_page_online(xc_interface *xch, unsigned long start,
                         unsigned long end, uint32_t *status)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(status, sizeof(uint32_t)*(end - start + 1), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     int ret = -1;
 
@@ -81,7 +81,7 @@ int xc_mark_page_online(xc_interface *xch, unsigned long start,
 int xc_mark_page_offline(xc_interface *xch, unsigned long start,
                           unsigned long end, uint32_t *status)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(status, sizeof(uint32_t)*(end - start + 1), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     int ret = -1;
 
@@ -111,7 +111,7 @@ int xc_mark_page_offline(xc_interface *xch, unsigned long start,
 int xc_query_page_offline_status(xc_interface *xch, unsigned long start,
                                  unsigned long end, uint32_t *status)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {0};
     DECLARE_HYPERCALL_BOUNCE(status, sizeof(uint32_t)*(end - start + 1), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     int ret = -1;
 
diff --git a/tools/libs/guest/xg_resume.c b/tools/libs/guest/xg_resume.c
index c85d09a7f5..47f5da3462 100644
--- a/tools/libs/guest/xg_resume.c
+++ b/tools/libs/guest/xg_resume.c
@@ -93,7 +93,7 @@ static int modify_returncode(xc_interface *xch, uint32_t domid)
 
 static int xc_domain_resume_cooperative(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     int rc;
 
     /*
@@ -111,7 +111,7 @@ static int xc_domain_resume_cooperative(xc_interface *xch, uint32_t domid)
 #if defined(__i386__) || defined(__x86_64__)
 static int xc_domain_resume_hvm(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     /*
      * The domctl XEN_DOMCTL_resumedomain unpause each vcpu. After
@@ -132,7 +132,7 @@ static int xc_domain_resume_hvm(xc_interface *xch, uint32_t domid)
 
 static int xc_domain_resume_any(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     xc_domaininfo_t info;
     int i, rc = -1;
 #if defined(__i386__) || defined(__x86_64__)
diff --git a/tools/libs/guest/xg_sr_restore_x86_pv.c b/tools/libs/guest/xg_sr_restore_x86_pv.c
index eaeb97f4a0..1ceac893ec 100644
--- a/tools/libs/guest/xg_sr_restore_x86_pv.c
+++ b/tools/libs/guest/xg_sr_restore_x86_pv.c
@@ -376,7 +376,7 @@ static int process_vcpu_extended(struct xc_sr_context *ctx,
     xc_interface *xch = ctx->xch;
     struct xc_sr_x86_pv_restore_vcpu *vcpu =
         &ctx->x86.pv.restore.vcpus[vcpuid];
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
 
     domctl.cmd = XEN_DOMCTL_set_ext_vcpucontext;
     domctl.domain = ctx->domid;
@@ -401,7 +401,7 @@ static int process_vcpu_xsave(struct xc_sr_context *ctx,
     struct xc_sr_x86_pv_restore_vcpu *vcpu =
         &ctx->x86.pv.restore.vcpus[vcpuid];
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BUFFER(void, buffer);
 
     buffer = xc_hypercall_buffer_alloc(xch, buffer, vcpu->xsave.size);
@@ -439,7 +439,7 @@ static int process_vcpu_msrs(struct xc_sr_context *ctx,
     struct xc_sr_x86_pv_restore_vcpu *vcpu =
         &ctx->x86.pv.restore.vcpus[vcpuid];
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {0};
     DECLARE_HYPERCALL_BUFFER(void, buffer);
 
     buffer = xc_hypercall_buffer_alloc(xch, buffer, vcpu->msr.size);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 08:42:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 08:42:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627807.978665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzvC2-0003bH-SU; Mon, 06 Nov 2023 08:42:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627807.978665; Mon, 06 Nov 2023 08:42: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 1qzvC2-0003b1-O4; Mon, 06 Nov 2023 08:42:46 +0000
Received: by outflank-mailman (input) for mailman id 627807;
 Mon, 06 Nov 2023 08:42: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=czoR=GT=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1qzvC1-0003aZ-Up
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 08:42:45 +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 73f1f3b2-7c80-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 09:42:44 +0100 (CET)
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 C0F6F21846;
 Mon,  6 Nov 2023 08:42: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 92F51138E5;
 Mon,  6 Nov 2023 08:42:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id eFkgIgKnSGVqXgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 06 Nov 2023 08:42: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: 73f1f3b2-7c80-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699260162; 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:autocrypt:autocrypt;
	bh=/CyEE+nyKyQmVlQ/exmrZWx9a8YfUq09Ec3Pge4YxWw=;
	b=AnXPwcmN8uCUOHKJKEYuj6vh+n8iKm6jq1koHE5nKZTo2vezX+4f0Nhu8uPCQbHbAAd/ZR
	yV73Pg4jxc9e3iGm+drqK+UH1WTUuVF85FQWNm3thUrEDQp7PMCN1KlXBXK8SOC6E5sKd3
	RJ0Hzorbwq3khUeIOvUqDRwZOKP3Dmo=
Message-ID: <2f9dc89a-fab3-4a83-a557-c22afa5aaf1d@suse.com>
Date: Mon, 6 Nov 2023 09:42:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] Mini-OS: keep a positive list of externally visible
 symbols
Content-Language: en-US
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
References: <20231101153551.11733-1-jgross@suse.com>
 <20231101153551.11733-3-jgross@suse.com>
 <20231103020958.4fwx75czgkwa5oxt@begin>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20231103020958.4fwx75czgkwa5oxt@begin>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------5tAF8FihmJIbOEculUIEgr02"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------5tAF8FihmJIbOEculUIEgr02
Content-Type: multipart/mixed; boundary="------------mcoZ0c7CvINgCTS2ztvvRFnE";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org, wl@xen.org
Message-ID: <2f9dc89a-fab3-4a83-a557-c22afa5aaf1d@suse.com>
Subject: Re: [PATCH 2/2] Mini-OS: keep a positive list of externally visible
 symbols
References: <20231101153551.11733-1-jgross@suse.com>
 <20231101153551.11733-3-jgross@suse.com>
 <20231103020958.4fwx75czgkwa5oxt@begin>
In-Reply-To: <20231103020958.4fwx75czgkwa5oxt@begin>

--------------mcoZ0c7CvINgCTS2ztvvRFnE
Content-Type: multipart/mixed; boundary="------------VB9whz1cuiJFJVgDjpLmdgvu"

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

T24gMDMuMTEuMjMgMDM6MDksIFNhbXVlbCBUaGliYXVsdCB3cm90ZToNCj4gSGVsbG8sDQo+
IA0KPiBKdWVyZ2VuIEdyb3NzLCBsZSBtZXIuIDAxIG5vdi4gMjAyMyAxNjozNTo1MSArMDEw
MCwgYSBlY3JpdDoNCj4+IFRoZSBzeW1ib2xzIGluIG1pbmktb3MubWFwIGhhdmUgYmVlbiBv
YnRhaW5lZCB2aWEgYnVpbGRpbmcgYWxsIGRlZmluZWQNCj4+IGFuZCBub3QgZmFpbGluZyBz
dHViZG9tcyAoY2FtbC1zdHViZG9tIGRvZXNuJ3QgYnVpbGQpLg0KPj4NCj4+ICsrKyBiL21p
bmktb3MubWFwDQo+PiBAQCAtMCwwICsxLDE4NyBAQA0KPj4gKyMgTWluaS1PUyBzeW1ib2xz
IGJlaW5nIGV4dGVybmFsbHkgdmlzaWJsZQ0KPj4gKyMgZW50cnkgcG9pbnQNCj4+ICtfc3Rh
cnQNCj4+ICsjIE1pbmktT1Mgc2VydmljZSBmdW5jdGlvbnMNCj4+ICthbGxvY19mZA0KPj4g
K2FsbG9jX2ZpbGVfdHlwZQ0KPj4gK2FsbG9jX3BhZ2VzDQo+PiArYmluZF92aXJxDQo+IA0K
PiBJIGJlbGlldmUgd2UgYWxzbyB3YW50IGJpbmRfcGlycQ0KDQpJbiBnZW5lcmFsOiB5ZXMg
dG8gYWxsIG9mIHlvdXIgcmVtYXJrcyAodGhhbmtzIGZvciBsb29raW5nIHVwIHRoZSBtaXNz
aW5nDQpzeW1ib2xzKS4NCg0KVGhpcyB3YXMgYSBmaXJzdCByb3VuZCB0byBzZWUgd2hldGhl
ciB0aGUgYXBwcm9hY2ggaXMgZmluZS4gWW91ciBhbnN3ZXIgc2VlbXMNCnRvIGluZGljYXRl
IHRoYXQgdGhpcyBpcyB0aGUgY2FzZS4NCg0KSSdsbCBleHBhbmQgdGhlIGxpc3QgYXMgeW91
IHJlcXVlc3RlZCBpbiB0aGUgbmV4dCB2ZXJzaW9uLg0KDQoNCkp1ZXJnZW4NCg==
--------------VB9whz1cuiJFJVgDjpLmdgvu
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-----

--------------VB9whz1cuiJFJVgDjpLmdgvu--

--------------mcoZ0c7CvINgCTS2ztvvRFnE--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVIpwIFAwAAAAAACgkQsN6d1ii/Ey9i
aQf/dYAZR8R2xYO7F/AwG38hTb78RpONI0bq6wEK4Ztdhn+j70gvv7vvn23LCuR+YCyiTEYTGY/y
oqeMch6geGHEahX2PRcqbcQj6c4UUcVvz6lWgUl/i/e+WmmMesNW3b3US2h8Af5o726i/tEmr5rf
ujRB+DLU7fVLZ78Xi9YrTKY9hdXwQ6niHpE9MQrBvDuWv89VRrBF6yxO2xvKQwOdKOEG7PU8Jbxc
teH6nRYCkWLGjUZPe9JurIizOpGssuIdmJW05nzC77HMs5gYIiEIbMiaJi/NQIAHjzVsYYXZxwcz
rKFS/al0uV8mg95kA6JfHQLzzO8nf1eQmksxDFAp9g==
=thIM
-----END PGP SIGNATURE-----

--------------5tAF8FihmJIbOEculUIEgr02--


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 09:26:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 09:26:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627840.978675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzvsc-00029t-Bx; Mon, 06 Nov 2023 09:26:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627840.978675; Mon, 06 Nov 2023 09:26: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 1qzvsc-00029m-91; Mon, 06 Nov 2023 09:26:46 +0000
Received: by outflank-mailman (input) for mailman id 627840;
 Mon, 06 Nov 2023 09:26: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=fhP7=GT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qzvsa-00029g-Sa
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 09:26:44 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20612.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 994be42d-7c86-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 10:26:43 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8106.eurprd04.prod.outlook.com (2603:10a6:10:24b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.16; Mon, 6 Nov
 2023 09:26:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.016; Mon, 6 Nov 2023
 09:26: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: 994be42d-7c86-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N+hhP/IwJA4L6TWf6wmCSJQgF5LKgn9yLKccza0ORFd05xZS9chSpPeLjKxYfmaeakYiDxcroYGAp3kkXGVpylPDEPbb5xRyoVCMFZ/d+2amGvlGd5huwRrqaNPzafOPBBz0rmcVH5yIG3yFA6CMdKqGjvw7kHLbDSuGPjFnj4rLyJABHjfPvozi4YFiyPoV6hGhEvGYc6CJs/17SMlxWTqLIrdmDpJe7v0A5JuxzkUAjsKBnUa/8warMWxRKIk4ONctheLuzX3lC6vAszcVrSC/uYqi0chEw/67XO2rqnAaTuX7JXZ7ruy83q2ffK6y++/XDEf8G7dKQNItEhESDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vYN8ptyLz54paeRSlbGwEqaXGw/wC7h0IBeHgj9h1s4=;
 b=ho61lZ2wuidXz7G8eJlFWqqfECy/D6/YlywT/nNv84yBVsnWbAjD73fNkv1Ad2Pryu2bMLDmUtHS0ciBeaEfabz8OdP+3aC9PIHVkcIke10jQXHKshn15nvAzo1I5H998G3jsIShTowsW1MuZwnwQ7ihaFC3LEqNrn1X0RhB/NAmoXP+C90xWKNJU/3I3Mwp9uTqTBywHuvZKx0oFaYkWQQECGD0XsTwGs0yWR9IrLajobZ+yi3Uql6ikyC9m0hQOSLmfsJN+qrE1OchPgzgZwMMOp3CJ1ceh5HRNuP+WoKv7/4ssxhycCkNP1Tp2O0bhABOfLqSaJFjrwEaKlYYKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vYN8ptyLz54paeRSlbGwEqaXGw/wC7h0IBeHgj9h1s4=;
 b=AqRtSlst1GVcAniJahkhaV5ZOrq/Qp+AW9jV7IxQqdKtrwkkgvUYofW2ODDrAkB0JKT90v9PSFtrr9Ne6wliOcamRQOMFbJoZ0tb4ENKWGsSouDUHboeWknVLISM6Zr68HR4TjUDJhiL/586Y8Vu6Hkdywx9Q35w9nEaBy3XphEJx1t8ya+TZBZZvZZ4MyMPzUScKULA37mXYctN+zG+EIpJfitmpO7cW2g/4geRsSi+7ABQaj6GDf+Xhs4jmZ8ar9/qYsbw71ek5qTEd3fRRzUj6Ex/sb9or6T1s3JGAkzAffDgikyY1QeR7sjSlJMn6TVKFPQ9pHhcs3E/B8bHGQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <72bb9f75-66a2-1452-40af-a90430cf7eca@suse.com>
Date: Mon, 6 Nov 2023 10:26:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v5 4/5] [FUTURE] xen/arm: enable vPCI for domUs
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
 <20231102195938.1254489-5-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231102195938.1254489-5-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0345.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ea::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8106:EE_
X-MS-Office365-Filtering-Correlation-Id: a46ef933-c6f8-4335-5146-08dbdeaa7bc9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fdZ0WCG/M6QinZlRPtJo/nn2RZmaEa1cSDELQRScOmfTfX9m7DcOCokjor5xYQHNCskx8WTuyfw0kQzapziL26PxW4Sgv6283xibCUedszsaTCxzGH1aT/4Os82NRFh6QJJCEZDMd4Prp+afENsNWd+EOnryAAbNMxa3zFM3XWXOzrqVbjhzxV+kHAeq47emQ5W9+pWxAE9T48XWiQvCuO6S33GNmgnefxvkoG10+cnimk9lhgKiNr2vM1NCnrwZDFQI/kEQ3MqVabzFSFdjwzJlj2Gxo3QwyohUa2sqhZsuIA8vpBLPPMr4nlYbVR8ibeEN8J0tZ3pgZr6Xyb8+qthFtwu1JQWTomHPIP2Ng5dR1/NklIzupsYTv40B87ONS64OZBvjcEN8lBTXXp+9SyDyLGpzBd/yj7CqpOPQsv+U13bGysl5pEqXi8SGXp5TgmpNzN/cIk6B/pIwKdvj4rSxJk98RdYWYuiDHK5lDRwjNT09hazrY5fRjfwzcAmTxy6Su72wbbZ6JNUno8LLLCnBcUmFR70w9mhRDxxPZPKzbHwqhxY9pgDXk1idzfvsDdX+Ih0fjI0Sgc3oBim3soHFL8GqTmR3AieK/tK/BpSuL5RrUnjpmUJV3TA+Wx8a1Pwvqut8BbJ13LuBY1CvLA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(346002)(366004)(396003)(39860400002)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(31686004)(6486002)(66476007)(6506007)(6512007)(66556008)(53546011)(478600001)(66946007)(36756003)(86362001)(31696002)(26005)(38100700002)(2616005)(83380400001)(8676002)(2906002)(7416002)(6916009)(316002)(41300700001)(5660300002)(54906003)(4326008)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWxsbnRxK05OeElSaXJ6Q1pYbjR0eEpRVkZSK0ZCbm1OdzA5RVEwNU9UYTRV?=
 =?utf-8?B?aFc5L3FKSHI1R3ZKUm15eGxOQWRrdFhUenNWMys5dmhXUnBic1drZTJSUFhL?=
 =?utf-8?B?SytHOTFyQ21oRnlIbDNKLytGWjlrdE9uVU40c0srNUI0aFNNL25aMWxZcEs2?=
 =?utf-8?B?c2x0YmE0cFFtNkRBcnRicTMwNUxqRWFTTTNJcjVnVzFJVDNEOEI5dG5zejRI?=
 =?utf-8?B?TnozdFJ5THpPUEgzSXMzZkQ2TjZmNWl3Rm9QaFU3ZGI5a0FITkJCd1JYK294?=
 =?utf-8?B?Sk9Jc3ljQTFkek92Zlh1WnE2VHpoSUxyYk5qalZ2clltcGtuWFBHR1I2ZDJ1?=
 =?utf-8?B?SnA2RlNVZXZMWVh3VENOUTBpU0oxN015dXFUNVNoclBDZHh3L2NsclQ4K1ds?=
 =?utf-8?B?YVdYdnc5N3BxTVR4c1dpUjFOWUVRN3RDRkJMWUJ6V1F3YkNNQkNxVkFRYVpO?=
 =?utf-8?B?bVBVWHNKQThVU1dmbWk0djYwc0NoQm5QMHpQQTRKakR0T2RudGFNMmxSWHNH?=
 =?utf-8?B?cUpGanVzSDV5QTFNdWl1VUNMY1J6alNxeDJJam1lZklOa1hhbDBCYkNJdG4y?=
 =?utf-8?B?Q0YrZVlQM2NBR2dOVU8wYkZVU3ZnZGZOUmpjRkYwZk9lVUhUNTlvMlB4YmRY?=
 =?utf-8?B?Rk10THhQUDdzRVdnUXdFYVNzSFFtTjBoRll2VnpNNlZLNlpXZng3WU1mands?=
 =?utf-8?B?amFjb2J1Y25XNHdDemdidHFBZEtGZGlEUDlQOWVvUUNwWFpQYkhwSENrWTZs?=
 =?utf-8?B?N0huNVlmZW8zdTFLcmxNcW0zUEdYbGVRbXJGSC80WXJwTjd1Qm41eUluMEo4?=
 =?utf-8?B?eVNIZjlIWGdJdHZmV3ovUnVsVHkweGJkUml0S05zM09BQVI5STB6SnBvNnVT?=
 =?utf-8?B?RDlZQUlib254akxTeWRyc2JJVmE2SlpZVXRKMU13WHdpQ3JhdFZMS1VBVUVD?=
 =?utf-8?B?Sy9ReFc0TjBST2UvWFJVRFVzUFViZXZ3YWhsVVdGS1BLdXpCQzRFZ2VUY0RN?=
 =?utf-8?B?ek8vK0svQVVxZ3F5UktPaC9QWWxwdHZMNzNrblZpZTQxZUcrRUNIcWkyZXkz?=
 =?utf-8?B?WnBBNDZDYXp1ZWxzTDE3emtpcjhDZWFyVlVTM3FTZ25RU0wySFNjSndhcENl?=
 =?utf-8?B?YWJoalhuVytQZTVyMWJOenFvajFhZ00zV2xrRjRzajlCdlI1WUxNM3dOV0Rk?=
 =?utf-8?B?ampjTDAyUnBiWDlLYWxSNGlqTExxT1dvYm9lT0JuRXhWdkZCM2VFb1JkYWxk?=
 =?utf-8?B?OWtpUXFTRXJaMkZpbkNWUHlrNW5icXkrVXZUUEJxYXlpQjRGYUxQZ2lveVor?=
 =?utf-8?B?cmRmWWkvSytrZXJzZ1Bpa1hvY25idnpLOFE1MnYvSUpLNThnT2QzYWc5WnZy?=
 =?utf-8?B?SjlFcVl2Y1NwaStqMTk3TFdtTEFpdDVzanJ0WVlEZDZsdUpjUlZRWDdzcUpO?=
 =?utf-8?B?blRRNCtmUEpmRzgyVkhtSHdOWmdJaWJ5emtZSGRTeElUNHkyRWhIQ2hMckNH?=
 =?utf-8?B?RDRObENZQi9yTlRHN2M0R1BwTmhjM1RLZ0hXRjY1RFdUQmpUSXdON1N4bUV0?=
 =?utf-8?B?aHlDOFlGWE0xeGxJU1RYTHEzMkZGb1BRRFdHcjBEL2g1NXVzMWxXTUl5bFpu?=
 =?utf-8?B?UG1EMFFSRWVXM0dFTlRWcS80VDFxTTlFVmx4ek1Ody9MTHlKU09PSkh3MzZG?=
 =?utf-8?B?dGJLZ21XQTdqdUJSWjcvUUlVQ2hhSnFXM2Znd0huL0xTS0o4QUtOKzczUjRi?=
 =?utf-8?B?UUZqNEtxR0J5QTQxUWtId1E1YVFNeWloV1Nua0p0Z0xGTHM0eEhaZWl6ZFhR?=
 =?utf-8?B?SDhmdFhwcFVTTzl1K1A1bG9WWVVrZHR5RklyNFRUVEpnM21uUXlCOXNWT2JU?=
 =?utf-8?B?Z1NRd256TjRUSFlPR2Vvb2ZvY21jRi9QZW9FbndPc1FBeWVSak45VmtuK2Zo?=
 =?utf-8?B?cmRMcXJlcWdFQTNnWFJSamxLYmNRd25VQUNsT2kvSTVNYmd6a2gyY1lLYXZz?=
 =?utf-8?B?RUl1YlNjbC81a1FVeU5WNWVlWWVZT2N2QTlpU2o5ZTlnN1dVQjJBaGNkQ0w1?=
 =?utf-8?B?R1hNMGF4b1Uwc3Y5NWRkVmc3aUZ2UmtTeXFFTkd1dGNFTjdWTkRJdytDSDdi?=
 =?utf-8?Q?70ZSZ5jdYcRulbldNz2mom8c3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a46ef933-c6f8-4335-5146-08dbdeaa7bc9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 09:26:40.7680
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 30q0QXXWbxbK1owDIz7JP8epTXRFOvO+ILt/GJPr/9BAaJi4fT1Evpa3dMykTAMdgN7Mwk9YLhQQuhnM8XtB5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8106

On 02.11.2023 20:59, Stewart Hildebrand wrote:
> --- a/xen/arch/x86/include/asm/domain.h
> +++ b/xen/arch/x86/include/asm/domain.h
> @@ -503,6 +503,15 @@ struct arch_domain
>  #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
>  #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
>  
> +#define is_pvh_domain(d) ({                                  \
> +    unsigned int _emflags = (d)->arch.emulation_flags;       \
> +    IS_ENABLED(CONFIG_HVM) &&                                \
> +        ((_emflags == X86_EMU_LAPIC) ||                      \
> +         (_emflags == (X86_EMU_LAPIC | X86_EMU_IOAPIC))); })

I'm not convinced we want to re-introduce such a predicate; it'll be at
risk of going stale when the boundary between HVM and PVH becomes more
"fuzzy".

> +/* PCI passthrough may be backed by qemu for non-PVH domains */
> +#define arch_needs_vpci(d) is_pvh_domain(d)

Wouldn't we want to check for exactly what the comment alludes to then,
i.e. whether the domain has any (specific?) device model attached?

> --- a/xen/include/xen/domain.h
> +++ b/xen/include/xen/domain.h
> @@ -51,8 +51,17 @@ void arch_get_domain_info(const struct domain *d,
>  
>  #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
>  
> -#define has_vpci(d) (((d)->options & XEN_DOMCTL_CDF_vpci) && \
> -                     IS_ENABLED(CONFIG_HAS_VPCI))
> +#define has_vpci(d) ({                                                        \
> +    const struct domain *_d = (d);                                            \
> +    bool _has_vpci = false;                                                   \
> +    if ( (_d->options & XEN_DOMCTL_CDF_vpci) && IS_ENABLED(CONFIG_HAS_VPCI) ) \
> +    {                                                                         \
> +        if ( is_hardware_domain(_d) )                                         \
> +            _has_vpci = true;                                                 \
> +        else if ( IS_ENABLED(CONFIG_HAS_VPCI_GUEST_SUPPORT) )                 \
> +            _has_vpci = true;                                                 \
> +    }                                                                         \
> +    _has_vpci; })

This is a commonly executed check, and as such wants to remain as simple as
possible. Wouldn't it be better anyway to prevent XEN_DOMCTL_CDF_vpci getting
set for a domain which cannot possibly have vPCI?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 09:39:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 09:39:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627847.978685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzw4w-0004Bo-GD; Mon, 06 Nov 2023 09:39:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627847.978685; Mon, 06 Nov 2023 09:39: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 1qzw4w-0004Bh-CC; Mon, 06 Nov 2023 09:39:30 +0000
Received: by outflank-mailman (input) for mailman id 627847;
 Mon, 06 Nov 2023 09:39: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 1qzw4w-0004Bb-0H
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 09:39: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 1qzw4t-0004o3-Op; Mon, 06 Nov 2023 09:39:27 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1qzw4t-0004MU-IM; Mon, 06 Nov 2023 09:39: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=9FR8jS6PMxDyPj6ghrdzLZwsRjPVGpDiJucwvM8TA4o=; b=17VzvrhsKb4qcWdDtqs1O3yLUT
	CsEsjY/OtM/3GgWzafQbQMiLJoyjLpT2g3tXHKbob90tUTLTlA9uF92iCRI3LNuIWN1CyQjBLhwYQ
	2sFH9ERaxm8tPr73CPnbeAGFFwtmOXft8T86BxrgYuk1h/gGNTJjrNlxA13/ptdVnXN4=;
Message-ID: <80a5c950-242b-467c-8764-8f06e19dc5d4@xen.org>
Date: Mon, 6 Nov 2023 09:39:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/2] xen/arm: Enlarge identity map space to 10TB
Content-Language: en-GB
To: Leo Yan <leo.yan@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Alexey Klimov <alexey.klimov@linaro.org>,
 Luca Fancellu <Luca.Fancellu@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Rahul Singh <Rahul.Singh@arm.com>, Henry Wang <Henry.Wang@arm.com>
References: <5a5e960b-e6fd-4617-b33a-10cf07f5bb52@xen.org>
 <8BCB97B4-CBDD-43D9-B0F8-7F637B8BE559@arm.com>
 <4B2BD200-5D3E-49D5-BF13-65B769AD4B90@arm.com>
 <CANgGJDqHu0CB=zzZqda18giLYDkL3My+gT592GLO-b9HsF2A4g@mail.gmail.com>
 <d3952200-9edb-4de0-94e3-c00c571a10b9@xen.org>
 <794B0D71-70A7-4546-98E0-EC01573E0D89@arm.com>
 <990b21a3-f8c7-4d02-a8ac-63d31794a76d@xen.org>
 <alpine.DEB.2.22.394.2310171258330.965337@ubuntu-linux-20-04-desktop>
 <4fc83e61-1e57-4f75-b017-7045842165e5@xen.org>
 <69be876f-4238-4041-a6ff-50f7f6487d5d@xen.org>
 <20231019093559.GA105208@leoy-huanghe.lan>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231019093559.GA105208@leoy-huanghe.lan>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 19/10/2023 10:35, Leo Yan wrote:
> Hi Julien,

Hi Leo,


> On Wed, Oct 18, 2023 at 07:11:11PM +0100, Julien Grall wrote:
>> On 18/10/2023 11:59, Julien Grall wrote:
>>> On 17/10/2023 20:58, Stefano Stabellini wrote:
> 
> [...]
> 
>>> I don't really see the problem for someone to mistakenly backport this
>>> patch. In fact, this could potentially save them a lot of debugging if
>>> it happens that Xen is loaded above 2TB.
>>>
>>> Anyway, both Bertrand and you seems to be against the Fixes tag here. So
>>> I can compromise with the "This commit fixes...". However, can Bertrand
>>> or you update process/send-patches.pandoc so it is clear for a
>>> contributor when they should add Fixes tag (which BTW I still disagree
>>> with but if the majority agrees, then I will not nack)?
>>
>> We had a chat about this during the Arm maintainer calls. The disagreement
>> boiled down to the fact that SUPPORT.md (or the documentation) doesn't say
>> anything about whether loading Xen above 2TB was supported or not. Depending
>> on the view, one could consider a bug or not.
>>
>> Looking through the documentation, the best place to document might actually
>> be misc/arm/booting.txt where we already have some requirements to boot Xen
>> (such the binary must be entered in NS EL2 mode).
>>
>> I will prepare a patch and send one.
> 
> 
> I would like to check if here is anything specific I should follow up
> on. Based on the discussion in this thread, I've come to the following
> conclusions:
> 
> - Remove the fixes tags;
> - Add a description in commit log, something like:
>    "Since commit 1c78d76b67e1 ('xen/arm64: mm: Introduce helpers to
>     prepare/enable/disable the identity mapping'), Xen will fail to boot
>     up if it's loaded in memory above 2TB. This commit fixes the
>     regression introduced by that commit."
> - Add tages:
>    A review tag from Michal Orzel
>    A review tag from Bertrand Marquis
>    A test tag from Henry Wang
> 
> Should I repin a new patch set to address the items mentioned above?

You will also want to update the documentation after
"docs/arm: Document where Xen should be loaded in
memory"

> 
> Another question is for the 'Release-acked-by' tag.  Henry gave this
> tag, but I don't know how to handle it if I need to respin this patch.
> Seems to me this is a special tag only for release process, so I don't
> need to include it in the new patch, right?

The release-acked-by tag is only necessary during freeze period if the 
patch will land in the next release (i.e. 4.18). In this case, your 
patch will be part of the 4.19, so you can remove the release-acked-by.


If your patch was targeting 4.19, then it is usually fine to keep the 
release-acked-by even for the respin. It means that the release manager 
is happy for the patch to go assuming the patch has all the necessary 
reviews.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 09:45:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 09:45:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627852.978695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzwAo-0006D4-4E; Mon, 06 Nov 2023 09:45:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627852.978695; Mon, 06 Nov 2023 09: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 1qzwAo-0006Cx-1Q; Mon, 06 Nov 2023 09:45:34 +0000
Received: by outflank-mailman (input) for mailman id 627852;
 Mon, 06 Nov 2023 09:45: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=4FDE=GT=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qzwAn-0006Cr-0t
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 09:45:33 +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 38b8295b-7c89-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 10:45:30 +0100 (CET)
Received: by mail-pl1-x62e.google.com with SMTP id
 d9443c01a7336-1cc58219376so38819805ad.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 01:45:30 -0800 (PST)
Received: from leoy-huanghe.lan ([98.98.115.250])
 by smtp.gmail.com with ESMTPSA id
 z16-20020a170903019000b001b9dab0397bsm5488348plg.29.2023.11.06.01.45.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 01:45:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38b8295b-7c89-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699263929; x=1699868729; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=PbF+1AmPDCX2G8t0HO+WfeoFmwuMIpjHIK0HTaK+N60=;
        b=SbNb4sbyKTU0WRDavojH/wpzgqL6N0Uh2jenYUx+ssPm27pJAO9iU7dCTBuELwxKoI
         dXQjW/kULBs67moIFN2aKjlm7SVA/unxk3ra7QWpXhg155fBZ81SGILEJza4kV55+H50
         bEVHRGeT7Y3ViYPEwjCcOkKjJqzGD45vDkDmVuAHSDFfGqOkO47d51yNSBwuOUehSwEJ
         cfp5o45nWQzfMDusRx4G4hCkBA+Xhq/kNfgx+XAghuVGVY+LXaq8M8dGNTwp7NstcLri
         nBvKF0WIhBhzgtW+va6OHGHSUqXBBWwnalw3TUVJ8saQ1XywIL6YFRvfSpZzP+0TS82x
         RAEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699263929; x=1699868729;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PbF+1AmPDCX2G8t0HO+WfeoFmwuMIpjHIK0HTaK+N60=;
        b=Qr/qjh9f1WoxI1Unj3FeI0AH9tJD8k0JyQ0gX5x0XR0/CaXSEPfAhdSClOoZYicHku
         IVMUOji4mnK1e8OYc7ikzebg+QVFtirLZVnlE6fKjyt818i2zOi/MFfJ1eV2gpzZvvdY
         k1Txh7Kis/0l8Kxe4FTxAKpwMS3HvSt2tNDEYm9prtzewJ/4WCl9kXJqbquCEOc4hp8H
         nNanKC5wgW/fYregCVOZGvj3wU4ozd0HGZCXfOQtLdKIrwDYJL/7AsBsNtWSaS1Bouja
         798zFZf/06+kWfdnSwe6UaLhzRS7dAoSl9y0vtUNya8URRK0foxv25N2nAejGtNBEBu4
         81Mg==
X-Gm-Message-State: AOJu0YzcSiNys5gzta1+YfMI1YwI37tzlAB5nBcOzZ8p4Mq/cGdoq1xM
	i6fUJmiEew9u3zyg+LqSt/+sJA==
X-Google-Smtp-Source: AGHT+IHm+X8j2z1DxsDDoHhnSXLWyU82SvTbxD5brG3rNZ0LSfiOTGf/NFZW2o11kRk2cc/mkgQkxg==
X-Received: by 2002:a17:903:2945:b0:1b8:90bd:d157 with SMTP id li5-20020a170903294500b001b890bdd157mr28341379plb.26.1699263929150;
        Mon, 06 Nov 2023 01:45:29 -0800 (PST)
Date: Mon, 6 Nov 2023 17:45:24 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Alexey Klimov <alexey.klimov@linaro.org>,
	Luca Fancellu <Luca.Fancellu@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Rahul Singh <Rahul.Singh@arm.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v4 2/2] xen/arm: Enlarge identity map space to 10TB
Message-ID: <20231106094524.GD90848@leoy-huanghe.lan>
References: <4B2BD200-5D3E-49D5-BF13-65B769AD4B90@arm.com>
 <CANgGJDqHu0CB=zzZqda18giLYDkL3My+gT592GLO-b9HsF2A4g@mail.gmail.com>
 <d3952200-9edb-4de0-94e3-c00c571a10b9@xen.org>
 <794B0D71-70A7-4546-98E0-EC01573E0D89@arm.com>
 <990b21a3-f8c7-4d02-a8ac-63d31794a76d@xen.org>
 <alpine.DEB.2.22.394.2310171258330.965337@ubuntu-linux-20-04-desktop>
 <4fc83e61-1e57-4f75-b017-7045842165e5@xen.org>
 <69be876f-4238-4041-a6ff-50f7f6487d5d@xen.org>
 <20231019093559.GA105208@leoy-huanghe.lan>
 <80a5c950-242b-467c-8764-8f06e19dc5d4@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <80a5c950-242b-467c-8764-8f06e19dc5d4@xen.org>

Hi Julien,

On Mon, Nov 06, 2023 at 09:39:24AM +0000, Julien Grall wrote:

[...]

> > I would like to check if here is anything specific I should follow up
> > on. Based on the discussion in this thread, I've come to the following
> > conclusions:
> > 
> > - Remove the fixes tags;
> > - Add a description in commit log, something like:
> >    "Since commit 1c78d76b67e1 ('xen/arm64: mm: Introduce helpers to
> >     prepare/enable/disable the identity mapping'), Xen will fail to boot
> >     up if it's loaded in memory above 2TB. This commit fixes the
> >     regression introduced by that commit."
> > - Add tages:
> >    A review tag from Michal Orzel
> >    A review tag from Bertrand Marquis
> >    A test tag from Henry Wang
> > 
> > Should I repin a new patch set to address the items mentioned above?
> 
> You will also want to update the documentation after
> "docs/arm: Document where Xen should be loaded in
> memory"

Will do.

> > Another question is for the 'Release-acked-by' tag.  Henry gave this
> > tag, but I don't know how to handle it if I need to respin this patch.
> > Seems to me this is a special tag only for release process, so I don't
> > need to include it in the new patch, right?
> 
> The release-acked-by tag is only necessary during freeze period if the patch
> will land in the next release (i.e. 4.18). In this case, your patch will be
> part of the 4.19, so you can remove the release-acked-by.

Okay, I will _not_ include release-acked-by tag in the respin.

> If your patch was targeting 4.19, then it is usually fine to keep the
> release-acked-by even for the respin. It means that the release manager is
> happy for the patch to go assuming the patch has all the necessary reviews.

Thanks for explaination.

Leo


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 09:52:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 09:52:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627857.978704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzwHp-0007ka-TM; Mon, 06 Nov 2023 09:52:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627857.978704; Mon, 06 Nov 2023 09: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 1qzwHp-0007kT-Qj; Mon, 06 Nov 2023 09:52:49 +0000
Received: by outflank-mailman (input) for mailman id 627857;
 Mon, 06 Nov 2023 09:52: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 1qzwHo-0007kN-3E
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 09:52: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 1qzwHn-00052W-Fq; Mon, 06 Nov 2023 09:52:47 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1qzwHn-0004nH-9f; Mon, 06 Nov 2023 09:52: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=//ZYwYu36g+6CwoNnXnY06ymeF7+F/xC9kHo5vXQDN4=; b=AjMv8mNr80PYvdAyeJ0FnpqVuZ
	hX9Kves20ORnJOylVNSHNqmNYlP0RFZG3Ui5SdFkOrSfKFTKqHEcqOhAPhtMSAhMhrVNmjf51+PqK
	j+EXlwYivTMXyODMXcUykq4HKzcDVbiJCxjf2TthPh9deuZEg/dcyuK5yppKc1kFacdw=;
Message-ID: <191b5aa4-182f-4b2e-8430-e605de592890@xen.org>
Date: Mon, 6 Nov 2023 09:52:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/arm: Skip memory nodes if not enabled
Content-Language: en-GB
To: Leo Yan <leo.yan@linaro.org>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20231013120442.1267488-1-leo.yan@linaro.org>
 <20231106021742.GA90848@leoy-huanghe.lan>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231106021742.GA90848@leoy-huanghe.lan>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 06/11/2023 02:18, Leo Yan wrote:
> Hi maintainers,

Hi Leo,

> On Fri, Oct 13, 2023 at 08:04:42PM +0800, Leo Yan wrote:
>> Currently, Xen doesn't check the status property of memory/reserved
>> memory nodes, which may lead to the following issues:
>>
>> - If a memory node has a status "disabled" it implies that it should
>>    not be used. Xen does not handle the status property for the memory
>>    node and ends up using it.
>>
>> - If a reserved memory node has a status "disabled", it means that this
>>    region is no longer reserved and can be used, but the "disabled"
>>    status is not handled by Xen.
>>
>>    Xen passes the intact device tree binding of the reserved memory nodes
>>    to Dom0 and creates a memory node to cover reserved regions. Disabled
>>    reserved memory nodes are ignored by the Dom0 Linux kernel, thus the
>>    Dom0 Linux kernel will continue to allocate pages from such a region.
>>
>>    On the other hand, since the disabled status is not handled by Xen,
>>    the disabled reserved memory regions are excluded from the page
>>    management in Xen which results in Xen being unable to obtain the
>>    corresponding MFN, in the end, Xen reports error like:
>>
>>    (XEN) arch/arm/p2m.c:2202: d0v0: Failing to acquire the MFN 0x1a02dc
>>
>> This patch introduces a function device_tree_node_is_available(). If it
>> detects a memory node is not enabled, Xen will not add the memory region
>> into the memory lists. In the end, this avoids to generate the memory
>> node for the disabled memory regions sent to the kernel and the kernel
>> cannot use the disabled memory nodes any longer.
>>
>> Since this patch adds checking device node's status in the
>> device_tree_get_meminfo() function, except it checks for memory nodes
>> and reserved memory nodes, it also supports status for static memory
>> and static heap.
>>
>> Suggested-by: Michal Orzel <michal.orzel@amd.com>
>> Signed-off-by: Leo Yan <leo.yan@linaro.org>
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> Gentle ping.
> 
> I don't see this patch is landed in Xen master or staging branch, should
> anything I need to follow up?

The tree has been frozen for the past few weeks for any patches that are 
not meant for 4.18. We branched for 4.18 last week so staging is now in 
soft-reopening until 4.18 is released.

I am aware of few patches that are ready to be merged. But I haven't yet 
gone through all of them and merge to 4.19. It will probably be done 
once 4.18 is released.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 09:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 09:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627859.978714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzwIr-0008S5-64; Mon, 06 Nov 2023 09:53:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627859.978714; Mon, 06 Nov 2023 09: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 1qzwIr-0008Ry-32; Mon, 06 Nov 2023 09:53:53 +0000
Received: by outflank-mailman (input) for mailman id 627859;
 Mon, 06 Nov 2023 09:53: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 1qzwIp-0008QY-Cy
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 09:53: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 1qzwIp-00053Z-5l; Mon, 06 Nov 2023 09:53:51 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1qzwIp-0004nH-0H; Mon, 06 Nov 2023 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>
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=cJATdYo+iijO7qEBgIriC1BaUUK41CidpnXU//mwrvY=; b=1Qwc9ygAHDswsH6J6P/IX0ujX1
	eI8dRDKYGXAKgJMFtV+J6igrceKGb3HjyFRhWQhBz0pM1lBHT0DqmRXqcomXNg9Da1qnFCMkz62Kh
	gYpM4BNn7BnrXJw5HThobU+8CeNDguKeudVRCzxsz6N+4wmPYzbNK0naX8u/lgU4MHqI=;
Message-ID: <db7a52da-3a91-4c2b-87b3-d730b3f8016b@xen.org>
Date: Mon, 6 Nov 2023 09:53:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 0/2] xen/arm: Split MMU code as the prepration of MPU
 work form Arm32
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com, michal.orzel@arm.com,
 henry.wang@arm.com, Volodymyr_Babchuk@epam.com
References: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 03/11/2023 17:34, Ayan Kumar Halder wrote:
> Hi,

Hi Ayan,

> These are the set of patches based on top of
> "[PATCH v8 0/8] xen/arm: Split MMU code as the prepration of MPU work".
> This is the preparation work to add MPU support on Arm32.
> 
> There are two more dependencies for this series :-
> 
> 1. "[XEN v1 1/4] xen/arm: arm32: Move pt_enforce_wxn() so that it can be bundled with other MMU functionality"
> is merged into "[PATCH v8 3/8] xen/arm: Fold mmu_init_secondary_cpu() to head.S"
> as per the discussion on [1].
> 
> 2. "[XEN v4] xen/arm32: head: Replace load_paddr with adr_l when they are equivalent"
> 
> Julien, I see that you have submitted "[PATCH 0/2] xen/arm32: Improve logging during early boot" [2].
> Let me know if you want to reorder this series or base your series on top of mine.

I will rebase my patches on top of yours.

Cheers.

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:32:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:32:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627870.978724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzwu5-0007AG-G6; Mon, 06 Nov 2023 10:32:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627870.978724; Mon, 06 Nov 2023 10:32: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 1qzwu5-0007A9-Cu; Mon, 06 Nov 2023 10:32:21 +0000
Received: by outflank-mailman (input) for mailman id 627870;
 Mon, 06 Nov 2023 10:32: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=4FDE=GT=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1qzwu4-0007A3-34
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:32:20 +0000
Received: from mail-oi1-x234.google.com (mail-oi1-x234.google.com
 [2607:f8b0:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c21c3f8d-7c8f-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 11:32:18 +0100 (CET)
Received: by mail-oi1-x234.google.com with SMTP id
 5614622812f47-3b3f55e1bbbso2792481b6e.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 02:32:18 -0800 (PST)
Received: from leoy-huanghe.lan ([98.98.115.250])
 by smtp.gmail.com with ESMTPSA id
 s12-20020a056a00194c00b006979f70fdd5sm5260934pfk.219.2023.11.06.02.32.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 02:32:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c21c3f8d-7c8f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699266737; x=1699871537; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=3Glr2SFL0YBMIuUBsQl3elw2fY+LCwHpY+w6UQc49Lw=;
        b=CXXz+OpYIAUvxGB5vVM0OXnn5hFXJQ8YWELVc2tA1uh8pDLrH4hcK7IGLxNJhjrEG9
         KE6taWiTd/q3FKrA0xEQYefijSunh/9vpbbTNfMO7TAaL9Ggwtn4oSM709Bsx8AAlN06
         KCBTBCe04BUS4JUKsoQ+Sgwxui7zYC/9ZLLzZI6JRi9P//SwMHuf6v2cad2bFi+aoJzj
         V+DExx/w5J2c1p80LCqOOPZWGIqrTTiOPrdy3yDS35kJaAnfuagrXzfgfW+yKSI2Iz/3
         UOpNPdT9QJcuIBxn7MpjaDyU0ypnqxjrF041Ew+SHxWyoeHvrJuA3Jh1VlX6iLPOXeFf
         LENg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699266737; x=1699871537;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3Glr2SFL0YBMIuUBsQl3elw2fY+LCwHpY+w6UQc49Lw=;
        b=kYCH7U8dpc4w8z6RkhlLaP7JuzoiaLwiI1SAVA64M+w2+ScPah6dxQ0ulldAuIBXP2
         MfI0Iz9PaNXGA4Kg7oSWMddK5L2Z7H4kzk3BnVQqkw3Eb14Mag/ynR7H3er92Wp4y3Mb
         eAbeQs0XYwMZN1m+Pp47HiK7MxxUkspesTTkYvHzv6FbsuQGTXQqIdFi6vJoKv4PK+UE
         ucBHgusjfYu1iFA1sf8uouIoeKqlJR0Vop3oFa6O+ZCJ4BHcqp3yxAacmk6qULOPaB12
         QfZsSZhTuLZoF2Ql3wgQl4k5lA+osTk7LwU80ZbR5zkh0oZhljMB1i6Pn/AbeL1bBxNi
         LfKw==
X-Gm-Message-State: AOJu0YwTQH5zVw6vCpnPmFqVgiQ2+NFyTv5Yqge6GoCOkscSF5tJ2591
	Bg6Y/xR2MTLzmrpedFlCXNr/nQ==
X-Google-Smtp-Source: AGHT+IE4QzQKpNqlC/4uXIcoEWj1FRMWDCdQkrCDDpEdbaTq0K26Bj6WMrp/1R8uuU4XsnIKnN8E/w==
X-Received: by 2002:a05:6808:4189:b0:3a7:6d4a:fd78 with SMTP id dj9-20020a056808418900b003a76d4afd78mr27230415oib.24.1699266736813;
        Mon, 06 Nov 2023 02:32:16 -0800 (PST)
Date: Mon, 6 Nov 2023 18:32:12 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH v4] xen/arm: Skip memory nodes if not enabled
Message-ID: <20231106103212.GE90848@leoy-huanghe.lan>
References: <20231013120442.1267488-1-leo.yan@linaro.org>
 <20231106021742.GA90848@leoy-huanghe.lan>
 <191b5aa4-182f-4b2e-8430-e605de592890@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <191b5aa4-182f-4b2e-8430-e605de592890@xen.org>

Hi Julien,

On Mon, Nov 06, 2023 at 09:52:45AM +0000, Julien Grall wrote:

[...]

> > Gentle ping.
> > 
> > I don't see this patch is landed in Xen master or staging branch, should
> > anything I need to follow up?
> 
> The tree has been frozen for the past few weeks for any patches that are not
> meant for 4.18. We branched for 4.18 last week so staging is now in
> soft-reopening until 4.18 is released.

Thank you for the info.

> I am aware of few patches that are ready to be merged. But I haven't yet
> gone through all of them and merge to 4.19. It will probably be done once
> 4.18 is released.

Sure, good to know this.  I will wait a bit and just let me know if
I need to follow up anything.

Thanks,
Leo


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627881.978768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzx1i-0001dg-2C; Mon, 06 Nov 2023 10:40:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627881.978768; Mon, 06 Nov 2023 10:40: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 1qzx1h-0001a9-QM; Mon, 06 Nov 2023 10:40:13 +0000
Received: by outflank-mailman (input) for mailman id 627881;
 Mon, 06 Nov 2023 10:40: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qzx1g-00010q-CY
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:40: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 db10bb24-7c90-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 11:40:09 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1qzx1R-00ARzw-0T; Mon, 06 Nov 2023 10:39:57 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1qzx1Q-000qGD-0J; Mon, 06 Nov 2023 10:39: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
X-Inumbo-ID: db10bb24-7c90-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:
	To:From:Reply-To:Content-ID:Content-Description;
	bh=2aX82uZpC1qyK8a13DdVvtrvr4nDdAxx84xCzWlWkQE=; b=Lsa03UYsBW/tPFhN+jMR5L26U/
	TVzIcfwnVOKWq5iVAbYsqR6CCu2/cqD2aOvhXmFK94xOl7AaqnrWzCxnvgNIK+qbGL3dSymFt2T1w
	TxnN1TH0mJkh1qzM/BhXXPzV7ivfJRv24SyfrEi9Wn71X/x5BxUf3616HSSSnHGXSzY5RLRicYzGq
	7YwIXlaz/0icDCQWAP1xDbdRgUrI64/oY3c6TeFVPJwinCYCKUzxgRZ0K+HaQk+yAufoKx5SztD5n
	PuPTmD1h8oBzywh7Jh1H9fiiYouwogazRnsvbqM526NkjyZpNfe1bEFjOBIPG7UHC0kDEpTVLKQW6
	aL2RWHyQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	qemu-stable@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	kvm@vger.kernel.org
Subject: [PULL 5/7] hw/xen: fix XenStore watch delivery to guest
Date: Mon,  6 Nov 2023 10:39:53 +0000
Message-ID: <20231106103955.200867-6-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106103955.200867-1-dwmw2@infradead.org>
References: <20231106103955.200867-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

When fire_watch_cb() found the response buffer empty, it would call
deliver_watch() to generate the XS_WATCH_EVENT message in the response
buffer and send an event channel notification to the guest… without
actually *copying* the response buffer into the ring. So there was
nothing for the guest to see. The pending response didn't actually get
processed into the ring until the guest next triggered some activity
from its side.

Add the missing call to put_rsp().

It might have been slightly nicer to call xen_xenstore_event() here,
which would *almost* have worked. Except for the fact that it calls
xen_be_evtchn_pending() to check that it really does have an event
pending (and clear the eventfd for next time). And under Xen it's
defined that setting that fd to O_NONBLOCK isn't guaranteed to work,
so the emu implementation follows suit.

This fixes Xen device hot-unplug.

Cc: qemu-stable@nongnu.org
Fixes: 0254c4d19df ("hw/xen: Add xenstore wire implementation and implementation stubs")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 660d0b72f9..8e716a7009 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -1357,10 +1357,12 @@ static void fire_watch_cb(void *opaque, const char *path, const char *token)
     } else {
         deliver_watch(s, path, token);
         /*
-         * If the message was queued because there was already ring activity,
-         * no need to wake the guest. But if not, we need to send the evtchn.
+         * Attempt to queue the message into the actual ring, and send
+         * the event channel notification if any bytes are copied.
          */
-        xen_be_evtchn_notify(s->eh, s->be_port);
+        if (s->rsp_pending && put_rsp(s) > 0) {
+            xen_be_evtchn_notify(s->eh, s->be_port);
+        }
     }
 }
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627882.978779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzx1i-0001uk-QL; Mon, 06 Nov 2023 10:40:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627882.978779; Mon, 06 Nov 2023 10:40: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 1qzx1i-0001t7-IK; Mon, 06 Nov 2023 10:40:14 +0000
Received: by outflank-mailman (input) for mailman id 627882;
 Mon, 06 Nov 2023 10:40: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qzx1h-00010s-1n
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:40:13 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id db3f9ead-7c90-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 11:40:09 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1qzx1R-00ARzt-0U; Mon, 06 Nov 2023 10:39:57 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1qzx1P-000qFu-2O; Mon, 06 Nov 2023 10:39: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
X-Inumbo-ID: db3f9ead-7c90-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=8hFASJ6FJkP5+9JiryopkqrFh+wE1Upzc1d8akCwXKw=; b=HsrZzoi7oxWmojvdJbVOfncH0N
	LbE/oaY1cF3jW518bYSyd7CXECURPhDuOuFEE8NyoL8eFV3GGox+Hzctzdk+/TrfqieRU1enW9yFr
	9QS6NRkLSjfqmAQLbcdxS3Gb1+iD4xJilLEbyoaeMSg2pJ4JawL966SDpIEVrq04r+qmKAXrLxj4e
	ZX45hY+bYHsbjDE//upJSGdIXJBW9tqgCeakGBy0fTLvjj0NoQi92EG8h6lsFZHgKf7HrBEqMiegB
	Myb8iENcsbB7PG7qHQYJleGczojpxfri7o1i2f3titfD/eMwazbQ+Pf+kPbTTzWI8D2JtXw0NnvD8
	By83/WAw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	qemu-stable@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	kvm@vger.kernel.org
Subject: [PULL 0/7] xenfv-stable queue
Date: Mon,  6 Nov 2023 10:39:48 +0000
Message-ID: <20231106103955.200867-1-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

The following changes since commit d762bf97931b58839316b68a570eecc6143c9e3e:

  Merge tag 'pull-target-arm-20231102' of https://git.linaro.org/people/pmaydell/qemu-arm into staging (2023-11-03 10:04:12 +0800)

are available in the Git repository at:

  git://git.infradead.org/users/dwmw2/qemu.git tags/pull-xenfv-stable-20231106

for you to fetch changes up to a1c1082908dde4867b1ac55f546bea0c17d52318:

  hw/xen: use correct default protocol for xen-block on x86 (2023-11-06 10:03:45 +0000)

----------------------------------------------------------------
Bugfixes for emulated Xen support

Selected bugfixes for mainline and stable, especially to the per-vCPU
local APIC vector delivery mode for event channel notifications, which
was broken in a number of ways.

The xen-block driver has been defaulting to the wrong protocol for x86
guest, and this fixes that — which is technically an incompatible change
but I'm fairly sure nobody relies on the broken behaviour (and in
production I *have* seen guests which rely on the correct behaviour,
which now matches the blkback driver in the Linux kernel).

A handful of other simple fixes for issues which came to light as new
features (qv) were being developed.

----------------------------------------------------------------
David Woodhouse (7):
      i386/xen: Don't advertise XENFEAT_supervisor_mode_kernel
      i386/xen: fix per-vCPU upcall vector for Xen emulation
      hw/xen: select kernel mode for per-vCPU event channel upcall vector
      hw/xen: don't clear map_track[] in xen_gnttab_reset()
      hw/xen: fix XenStore watch delivery to guest
      hw/xen: take iothread mutex in xen_evtchn_reset_op()
      hw/xen: use correct default protocol for xen-block on x86

 hw/block/xen-block.c       | 10 +++++++---
 hw/i386/kvm/xen_evtchn.c   |  7 +++++++
 hw/i386/kvm/xen_gnttab.c   |  2 --
 hw/i386/kvm/xen_xenstore.c |  8 +++++---
 include/sysemu/kvm_xen.h   |  1 +
 target/i386/kvm/xen-emu.c  | 16 +++++++++++-----
 6 files changed, 31 insertions(+), 13 deletions(-)


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627880.978757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzx1h-0001Ql-JT; Mon, 06 Nov 2023 10:40:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627880.978757; Mon, 06 Nov 2023 10:40: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 1qzx1h-0001MC-AT; Mon, 06 Nov 2023 10:40:13 +0000
Received: by outflank-mailman (input) for mailman id 627880;
 Mon, 06 Nov 2023 10:40: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qzx1f-00010q-LY
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:40: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 dace42e9-7c90-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 11:40:09 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1qzx1R-00ARzu-0T; Mon, 06 Nov 2023 10:39:57 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1qzx1P-000qG1-2r; Mon, 06 Nov 2023 10:39: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
X-Inumbo-ID: dace42e9-7c90-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=bUIwWhSmxxhL6AS/9ZXbE9mq6OB7mrxWvKvI7fmMtUk=; b=PKghrx40QFAYvqzmoIilm9wA2v
	pxZ4oYhwBBymCgCvc2Usep0OkshnQ9Rwj2ML4rAPFff0nwvxNOOgCpLIhKFfZopoZz6V8n3pnLQ5d
	CMv725X/ZTTpYldzx15AzhXXWx2ND9Dt4ek5Uy9Vt1nPHDw6LewWuAuFU+bLiEYuYfK8bfOxlxsN2
	SFAeRgy0QbzGk+nFD7rctc7gjWEhxy/Z7fYhfXO/rBWJ/ZlNLlGf4sCrEboyJupti1CBCOlqROAdf
	M3mlUGHG2Yl8MCbvml+3PT7xKfd/AMvTSKDHLPPs2e8R537YDpdqMY5HwnN8efhApCB97O/WgTONw
	tmskLnaA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	qemu-stable@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	kvm@vger.kernel.org
Subject: [PULL 2/7] i386/xen: fix per-vCPU upcall vector for Xen emulation
Date: Mon,  6 Nov 2023 10:39:50 +0000
Message-ID: <20231106103955.200867-3-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106103955.200867-1-dwmw2@infradead.org>
References: <20231106103955.200867-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The per-vCPU upcall vector support had three problems. Firstly it was
using the wrong hypercall argument and would always return -EFAULT when
the guest tried to set it up. Secondly it was using the wrong ioctl() to
pass the vector to the kernel and thus the *kernel* would always return
-EINVAL. Finally, even when delivering the event directly from userspace
with an MSI, it put the destination CPU ID into the wrong bits of the
MSI address.

Linux doesn't (yet) use this mode so it went without decent testing
for a while.

Cc: qemu-stable@nongnu.org
Fixes: 105b47fdf2d0 ("i386/xen: implement HVMOP_set_evtchn_upcall_vector")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 target/i386/kvm/xen-emu.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index 0055441b2e..7c504d9fa4 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -306,7 +306,7 @@ static int kvm_xen_set_vcpu_callback_vector(CPUState *cs)
 
     trace_kvm_xen_set_vcpu_callback(cs->cpu_index, vector);
 
-    return kvm_vcpu_ioctl(cs, KVM_XEN_HVM_SET_ATTR, &xva);
+    return kvm_vcpu_ioctl(cs, KVM_XEN_VCPU_SET_ATTR, &xva);
 }
 
 static void do_set_vcpu_callback_vector(CPUState *cs, run_on_cpu_data data)
@@ -440,7 +440,8 @@ void kvm_xen_inject_vcpu_callback_vector(uint32_t vcpu_id, int type)
          * deliver it as an MSI.
          */
         MSIMessage msg = {
-            .address = APIC_DEFAULT_ADDRESS | X86_CPU(cs)->apic_id,
+            .address = APIC_DEFAULT_ADDRESS |
+                       (X86_CPU(cs)->apic_id << MSI_ADDR_DEST_ID_SHIFT),
             .data = vector | (1UL << MSI_DATA_LEVEL_SHIFT),
         };
         kvm_irqchip_send_msi(kvm_state, msg);
@@ -849,8 +850,7 @@ static bool kvm_xen_hcall_hvm_op(struct kvm_xen_exit *exit, X86CPU *cpu,
     int ret = -ENOSYS;
     switch (cmd) {
     case HVMOP_set_evtchn_upcall_vector:
-        ret = kvm_xen_hcall_evtchn_upcall_vector(exit, cpu,
-                                                 exit->u.hcall.params[0]);
+        ret = kvm_xen_hcall_evtchn_upcall_vector(exit, cpu, arg);
         break;
 
     case HVMOP_pagetable_dying:
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627876.978736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzx1g-00011K-A1; Mon, 06 Nov 2023 10:40:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627876.978736; Mon, 06 Nov 2023 10:40: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 1qzx1g-00011C-4t; Mon, 06 Nov 2023 10:40:12 +0000
Received: by outflank-mailman (input) for mailman id 627876;
 Mon, 06 Nov 2023 10:40: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qzx1e-00010s-CZ
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:40:10 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9d8e9b5-7c90-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 11:40:07 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1qzx1P-005R1g-J6; Mon, 06 Nov 2023 10:39:56 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1qzx1P-000qFx-2a; Mon, 06 Nov 2023 10:39: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
X-Inumbo-ID: d9d8e9b5-7c90-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=wOMw/UywJs8oL1LQQcgtToi+dJjeH7aP4AFa7EtnSbM=; b=lUwHxNJ1U1La7N7HYHVdJ5UMsn
	L8ZcNKscZiT57bK7PQz2qfH1Pug1s7gtF1UB9Qji6aLEC9gfsjAsIdOJwPdRy/F/k3F+ce++T32+8
	eE8N+RrSBOuq4MsSShJMGOSb6Q3bcuJnlVvYQKyOrcA3rJs6NAUto8yac1SEV/F5Jt9e/NH8i0Nwq
	Bah8ewkbmFCtdlxyGBAdeceVBaU4xgbna65iOtV4uDZE61AVW3WnewCx3ytOYQhaM/pjG9CDl+Nue
	klanfVjqoByXh3jztUzwBeZGiNvXkPVtDz/JOFUWbgLTFQ49tyAiDj3KaV89rMjfyTMuFmzaIu19O
	nK5wZ4Zg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	qemu-stable@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	kvm@vger.kernel.org
Subject: [PULL 1/7] i386/xen: Don't advertise XENFEAT_supervisor_mode_kernel
Date: Mon,  6 Nov 2023 10:39:49 +0000
Message-ID: <20231106103955.200867-2-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106103955.200867-1-dwmw2@infradead.org>
References: <20231106103955.200867-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

This confuses lscpu into thinking it's running in PVH mode.

Cc: qemu-stable@nongnu.org
Fixes: bedcc139248 ("i386/xen: implement HYPERVISOR_xen_version")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 target/i386/kvm/xen-emu.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index 76348f9d5d..0055441b2e 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -267,7 +267,6 @@ static bool kvm_xen_hcall_xen_version(struct kvm_xen_exit *exit, X86CPU *cpu,
             fi.submap |= 1 << XENFEAT_writable_page_tables |
                          1 << XENFEAT_writable_descriptor_tables |
                          1 << XENFEAT_auto_translated_physmap |
-                         1 << XENFEAT_supervisor_mode_kernel |
                          1 << XENFEAT_hvm_callback_vector |
                          1 << XENFEAT_hvm_safe_pvclock |
                          1 << XENFEAT_hvm_pirqs;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627877.978737 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzx1g-00014j-F8; Mon, 06 Nov 2023 10:40:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627877.978737; Mon, 06 Nov 2023 10:40: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 1qzx1g-00013Y-CJ; Mon, 06 Nov 2023 10:40:12 +0000
Received: by outflank-mailman (input) for mailman id 627877;
 Mon, 06 Nov 2023 10:40: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qzx1f-00010s-1h
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:40:11 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9cf4d07-7c90-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 11:40:07 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1qzx1P-005R1j-Rh; Mon, 06 Nov 2023 10:39:56 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1qzx1Q-000qGL-0i; Mon, 06 Nov 2023 10:39: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
X-Inumbo-ID: d9cf4d07-7c90-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=4uz818AY0/m+FRzGeIhGz1ZTqpxzLihnWApmCN46dps=; b=fKwQs5UAJQKDc4KMhJikM8x0P+
	jPOTGf+YxCgZTG/biDh3QzX3JwAbu0gE40tBY8XR/RZ3HilkTvWvdgtoMbVM/GryZUjrqPv/srYx4
	+ipkc9VhfDcYvAyXEPUXUUHSwPPlvgV05kdutHUN0YQWlbfVFPhtzdPr9P3gzllPa+c2RQrgYl6xO
	6BYbsvGDvWMmLVvsAho+MJkjTcjB/wbjsPkkpXi882fTxrvbre3s1QCQSJw92wKxWoLxH0GOWQ49U
	osQBPzD5cm4z9Xb9QrnOHQjCv0800KW3Xgu428Cxh5JoUgybYy4O1wohQagI+6cxYjmo5Ua7CiFYT
	qbjp+IOg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	qemu-stable@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	kvm@vger.kernel.org
Subject: [PULL 7/7] hw/xen: use correct default protocol for xen-block on x86
Date: Mon,  6 Nov 2023 10:39:55 +0000
Message-ID: <20231106103955.200867-8-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106103955.200867-1-dwmw2@infradead.org>
References: <20231106103955.200867-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Even on x86_64 the default protocol is the x86-32 one if the guest doesn't
specifically ask for x86-64.

Cc: qemu-stable@nongnu.org
Fixes: b6af8926fb85 ("xen: add implementations of xen-block connect and disconnect functions...")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/block/xen-block.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index a07cd7eb5d..bfa53960c3 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -115,9 +115,13 @@ static void xen_block_connect(XenDevice *xendev, Error **errp)
         return;
     }
 
-    if (xen_device_frontend_scanf(xendev, "protocol", "%ms",
-                                  &str) != 1) {
-        protocol = BLKIF_PROTOCOL_NATIVE;
+    if (xen_device_frontend_scanf(xendev, "protocol", "%ms", &str) != 1) {
+        /* x86 defaults to the 32-bit protocol even for 64-bit guests. */
+        if (object_dynamic_cast(OBJECT(qdev_get_machine()), "x86-machine")) {
+            protocol = BLKIF_PROTOCOL_X86_32;
+        } else {
+            protocol = BLKIF_PROTOCOL_NATIVE;
+        }
     } else {
         if (strcmp(str, XEN_IO_PROTO_ABI_X86_32) == 0) {
             protocol = BLKIF_PROTOCOL_X86_32;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627878.978746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzx1g-00019R-Ta; Mon, 06 Nov 2023 10:40:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627878.978746; Mon, 06 Nov 2023 10:40: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 1qzx1g-00016R-Kp; Mon, 06 Nov 2023 10:40:12 +0000
Received: by outflank-mailman (input) for mailman id 627878;
 Mon, 06 Nov 2023 10:40: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qzx1d-00010q-16
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:40:11 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9d0841d-7c90-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 11:40:07 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1qzx1P-005R1i-Rt; Mon, 06 Nov 2023 10:39:56 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1qzx1Q-000qGH-0X; Mon, 06 Nov 2023 10:39: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
X-Inumbo-ID: d9d0841d-7c90-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=oTzSlnwFiwNNyo9+XLJSozlV3tES1c1DD/ZmREeHw24=; b=AFLH666BhTE9iLsKwkcxfjYYVk
	EK1GRnKx1eeQSIv4t+AlzQ51FcOiV4PCFI+D9tzyDeaMe6dga8PYsEugIJlk8ThSR6cXwK2AKXIxM
	vYAXj7UM09WBHcehjYNl+F4q/IdDbIauXkudVIoN/MgOzhWFA+Pyh9VobKDkjCaBQ0r3+ac+bZ7f4
	vjf/MzboSSR81s4957qqdvrSVWv9ufNI6hAQ3y8jvHLmnO/b1ZYN4vlIQa8/WUDuCtsOyPoL13Siu
	1oguA+OYtjBq95Y5Tnq77a8QjdpITiik2VpWIa7KX8H7aNQBgSFdL60drlP/vZ+JFZUNtSuxNPsF8
	R+CngbmA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	qemu-stable@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	kvm@vger.kernel.org
Subject: [PULL 6/7] hw/xen: take iothread mutex in xen_evtchn_reset_op()
Date: Mon,  6 Nov 2023 10:39:54 +0000
Message-ID: <20231106103955.200867-7-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106103955.200867-1-dwmw2@infradead.org>
References: <20231106103955.200867-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The xen_evtchn_soft_reset() function requires the iothread mutex, but is
also called for the EVTCHNOP_reset hypercall. Ensure the mutex is taken
in that case.

Cc: qemu-stable@nongnu.org
Fixes: a15b10978fe6 ("hw/xen: Implement EVTCHNOP_reset")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_evtchn.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index 3d6f4b4a0a..b2b4be9983 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -1135,6 +1135,7 @@ int xen_evtchn_reset_op(struct evtchn_reset *reset)
         return -ESRCH;
     }
 
+    QEMU_IOTHREAD_LOCK_GUARD();
     return xen_evtchn_soft_reset();
 }
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627879.978753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzx1h-0001I4-AN; Mon, 06 Nov 2023 10:40:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627879.978753; Mon, 06 Nov 2023 10:40: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 1qzx1g-0001FD-Vr; Mon, 06 Nov 2023 10:40:12 +0000
Received: by outflank-mailman (input) for mailman id 627879;
 Mon, 06 Nov 2023 10:40: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qzx1g-00010s-1d
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:40:12 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d9838fad-7c90-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 11:40:07 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1qzx1P-005R1h-Og; Mon, 06 Nov 2023 10:39:56 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1qzx1Q-000qG9-09; Mon, 06 Nov 2023 10:39: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
X-Inumbo-ID: d9838fad-7c90-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=UEnjaXF9IbVpfGR6pVwSlj7B+44LHx3n6ww2MVgkTpA=; b=v9GGJRYSotjmH5aMKb615be3Wh
	A1SIx3pqMqmeGy+3oNTCGKnqFJdb5KIGg/zpCYxMEK7EBG7CvNqv+7uzJTgzNZhqT0p2zeACSmuQA
	AE9Kr3tGyv2X7LVTKZOoFBHE46N3ry/HY7XkMw5A+oxo7NStJih00MnU/DfEkCStM2lAuuFIbtAo8
	Spa3GytWn1hjEQUXwjU6P8Y23QDIdFc+5uHZFRkSkz0ARD998Lnm06p8S8FoaQUDm1amp/qKAkVpx
	9pHknZWs5urn5hg6GhsU81PlAY/6Iu3JLqi8s6vVBCnHktWnbr8Ks22660tRwpyHG5cuC/T6JHDQ5
	N2C6zWEA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	qemu-stable@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	kvm@vger.kernel.org
Subject: [PULL 4/7] hw/xen: don't clear map_track[] in xen_gnttab_reset()
Date: Mon,  6 Nov 2023 10:39:52 +0000
Message-ID: <20231106103955.200867-5-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106103955.200867-1-dwmw2@infradead.org>
References: <20231106103955.200867-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The refcounts actually correspond to 'active_ref' structures stored in a
GHashTable per "user" on the backend side (mostly, per XenDevice).

If we zero map_track[] on reset, then when the backend drivers get torn
down and release their mapping we hit the assert(s->map_track[ref] != 0)
in gnt_unref().

So leave them in place. Each backend driver will disconnect and reconnect
as the guest comes back up again and reconnects, and it all works out OK
in the end as the old refs get dropped.

Cc: qemu-stable@nongnu.org
Fixes: de26b2619789 ("hw/xen: Implement soft reset for emulated gnttab")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_gnttab.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 21c30e3659..839ec920a1 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -541,7 +541,5 @@ int xen_gnttab_reset(void)
     s->entries.v1[GNTTAB_RESERVED_XENSTORE].flags = GTF_permit_access;
     s->entries.v1[GNTTAB_RESERVED_XENSTORE].frame = XEN_SPECIAL_PFN(XENSTORE);
 
-    memset(s->map_track, 0, s->max_frames * ENTRIES_PER_FRAME_V1);
-
     return 0;
 }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:40:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:40:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627883.978805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzx1p-0002xW-78; Mon, 06 Nov 2023 10:40:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627883.978805; Mon, 06 Nov 2023 10: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 1qzx1p-0002xM-3R; Mon, 06 Nov 2023 10:40:21 +0000
Received: by outflank-mailman (input) for mailman id 627883;
 Mon, 06 Nov 2023 10: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1qzx1n-00010s-Da
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:40:19 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfb94609-7c90-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 11:40:16 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1qzx1R-00ARzv-0U; Mon, 06 Nov 2023 10:39:57 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1qzx1P-000qG5-39; Mon, 06 Nov 2023 10:39: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
X-Inumbo-ID: dfb94609-7c90-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=8y74Lolq5T0LDv+PFoxvm3kC9HGA3LQOfihqJijE5SE=; b=FSFn3mS59GJdfRIIZe12qeoM/o
	IUERkSlLtCLvpnlYwLH6az4jVaFuBqFZkAJYtUxAo0HgeY2vOdA36i6m6Xj4q+yrSvHLLL2j8Pw/W
	NKOSTnOExI8mA2isNjoZuF5apu2cXNSLP8kzai1deGgZD2IZD/Hrz3+3NwSZR3IeJob91PC3k4AWQ
	B0BKwsh538eW76PLt8gjOJLhI1itgLev1mjgpKRRzza9kuDHtICG5LUlsQ3jRZCw1cSrtTAMPmoiY
	Hv6JfsUoHvVQIlRmEQ3q/UaaKJ/SA99AcAd9/0uipDjNbLGPP+viqyvqV/EeKhZ8uTATdsoiArTSz
	7O0eEqyw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	qemu-stable@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	kvm@vger.kernel.org
Subject: [PULL 3/7] hw/xen: select kernel mode for per-vCPU event channel upcall vector
Date: Mon,  6 Nov 2023 10:39:51 +0000
Message-ID: <20231106103955.200867-4-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106103955.200867-1-dwmw2@infradead.org>
References: <20231106103955.200867-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

A guest which has configured the per-vCPU upcall vector may set the
HVM_PARAM_CALLBACK_IRQ param to fairly much anything other than zero.

For example, Linux v6.0+ after commit b1c3497e604 ("x86/xen: Add support
for HVMOP_set_evtchn_upcall_vector") will just do this after setting the
vector:

       /* Trick toolstack to think we are enlightened. */
       if (!cpu)
               rc = xen_set_callback_via(1);

That's explicitly setting the delivery to GSI#1, but it's supposed to be
overridden by the per-vCPU vector setting. This mostly works in Qemu
*except* for the logic to enable the in-kernel handling of event channels,
which falsely determines that the kernel cannot accelerate GSI delivery
in this case.

Add a kvm_xen_has_vcpu_callback_vector() to report whether vCPU#0 has
the vector set, and use that in xen_evtchn_set_callback_param() to
enable the kernel acceleration features even when the param *appears*
to be set to target a GSI.

Preserve the Xen behaviour that when HVM_PARAM_CALLBACK_IRQ is set to
*zero* the event channel delivery is disabled completely. (Which is
what that bizarre guest behaviour is working round in the first place.)

Cc: qemu-stable@nongnu.org
Fixes: 91cce756179 ("hw/xen: Add xen_evtchn device for event channel emulation")
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_evtchn.c  | 6 ++++++
 include/sysemu/kvm_xen.h  | 1 +
 target/i386/kvm/xen-emu.c | 7 +++++++
 3 files changed, 14 insertions(+)

diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index a731738411..3d6f4b4a0a 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -490,6 +490,12 @@ int xen_evtchn_set_callback_param(uint64_t param)
         break;
     }
 
+    /* If the guest has set a per-vCPU callback vector, prefer that. */
+    if (gsi && kvm_xen_has_vcpu_callback_vector()) {
+        in_kernel = kvm_xen_has_cap(EVTCHN_SEND);
+        gsi = 0;
+    }
+
     if (!ret) {
         /* If vector delivery was turned *off* then tell the kernel */
         if ((s->callback_param >> CALLBACK_VIA_TYPE_SHIFT) ==
diff --git a/include/sysemu/kvm_xen.h b/include/sysemu/kvm_xen.h
index 595abfbe40..961c702c4e 100644
--- a/include/sysemu/kvm_xen.h
+++ b/include/sysemu/kvm_xen.h
@@ -22,6 +22,7 @@
 int kvm_xen_soft_reset(void);
 uint32_t kvm_xen_get_caps(void);
 void *kvm_xen_get_vcpu_info_hva(uint32_t vcpu_id);
+bool kvm_xen_has_vcpu_callback_vector(void);
 void kvm_xen_inject_vcpu_callback_vector(uint32_t vcpu_id, int type);
 void kvm_xen_set_callback_asserted(void);
 int kvm_xen_set_vcpu_virq(uint32_t vcpu_id, uint16_t virq, uint16_t port);
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index 7c504d9fa4..75b2c557b9 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -424,6 +424,13 @@ void kvm_xen_set_callback_asserted(void)
     }
 }
 
+bool kvm_xen_has_vcpu_callback_vector(void)
+{
+    CPUState *cs = qemu_get_cpu(0);
+
+    return cs && !!X86_CPU(cs)->env.xen_vcpu_callback_vector;
+}
+
 void kvm_xen_inject_vcpu_callback_vector(uint32_t vcpu_id, int type)
 {
     CPUState *cs = qemu_get_cpu(vcpu_id);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 10:59:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 10:59:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627910.978814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzxJx-0001UQ-M8; Mon, 06 Nov 2023 10:59:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627910.978814; Mon, 06 Nov 2023 10: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 1qzxJx-0001UJ-JM; Mon, 06 Nov 2023 10:59:05 +0000
Received: by outflank-mailman (input) for mailman id 627910;
 Mon, 06 Nov 2023 10:59: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=DhA2=GT=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1qzxJw-0001U5-Gq
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 10:59:04 +0000
Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de
 [85.215.255.24]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f10d95c-7c93-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 11:59:03 +0100 (CET)
Received: from sender by smtp.strato.de (RZmta 49.9.1 AUTH)
 with ESMTPSA id 0b3125zA6Ax2mGc
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Mon, 6 Nov 2023 11:59:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f10d95c-7c93-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; t=1699268342; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=bFuA7owH4v+A2nizifOQqXwr6xMdGPWSCAv3xhb6ArTYl6oEoE+Us51pksvJ04C9Vo
    CHpkLeCUnet6O5l40eoQrKgh0yl5QeYg2BMapKOYYs0XjgZnG7QBTaj2D2+ANPxKVDG/
    JaaER43Um1u7tNBkAjsxU2BFc8iGyoByPlUGR84S7OENmjC+PuBSnvqrF68RYxSzWft7
    kRFOfnUBVg5PSMKXvCEBSkUsieekWPWoS+weCRA38ChtoGNWgDfnTwQJQKi1J45NxZCw
    6zfB4oeD/Wz3yBxLVB5ogDTNCcIm7ZKjluwLhZBvsfoG9BILUje1vE5L+rR+hsvD9SAh
    3G4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1699268342;
    s=strato-dkim-0002; d=strato.com;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=s1opiu+sP0b9Q9aml9+moy2gSuLh4TtEsvY0kONdsBQ=;
    b=NGADdmYeQ6v0TSqvgxWdKd14V9EKtSWyVPg1jEv/jlVLGPNRttr2cLojqFLRsPMBIF
    tUDvFUzSexA9oge1PZREKHOPhVBFVMZuzTSQx6t9HgQZmJSFi96/UI/0Gu2Ga9L+ry8w
    3sGtJzft0koFAGqPy4HOJnwPM6vqoybVjPc/VeMKpM/FHzAZ5ULtvdFnpFnCH8hEK1Ey
    VIe7as52vonEtL3BNrxqZQSMJ3eTuVsvV1XnbAAKr/TIn/AoUCIA81Dp7c99/v7D85xW
    C7NwXBlLB/ABJHXDkTH4I880sRxmwhztdaW+eA6sqWRByvlAHnSptC1c5S2/zQurg4bn
    ooxA==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1699268342;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=s1opiu+sP0b9Q9aml9+moy2gSuLh4TtEsvY0kONdsBQ=;
    b=j0vPn3AoyiC/1PdOay2hQVsxRNAp0enEPtGLtpxmY6k74E2duaBOvVZWMQrfphUsjs
    RgKa8Pco/DjfjtmOX/w2/NENdbTo3D/ER5U8RsPXbBdO2Vmu7G+h8p24xB0UhaOQ0LZW
    A0eWlrmOJl4/CrqNAfWTe8oU6EzhCo1dLexf4cLNiN4rHaF7R7YhiQUKKE6YRkCWKTHX
    mYdv12OQRWHfWaciFUDraCL9zVrVVXByjFjTQdVQrMQip6kzrFg+NoI9M4gFQ+yzfpci
    dFYrFJoSNrHBGqwXPJQGDnwbwO8N5K/67V5Es96TLOm64JU96+Got3fsERgHdLAaViNp
    y2tw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1699268342;
    s=strato-dkim-0003; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=s1opiu+sP0b9Q9aml9+moy2gSuLh4TtEsvY0kONdsBQ=;
    b=i28BquZQotovZpBHgNDVmfrdl2QYgv1Aa6HD3xBDXIV+3sP/d4ogMKGOAxEPrX1sJB
    nrjyWl6KkheGwiS8I4AA==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR5BhaIaRnsNaqJN2h0dTFZeqQ89seVgD7Tlo9gNQ=="
Date: Mon, 6 Nov 2023 11:58:52 +0100
From: Olaf Hering <olaf@aepfle.de>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] tools: Remove all DECLARE_* op macros in xc
Message-ID: <20231106115852.31df968d.olaf@aepfle.de>
In-Reply-To: <20231106081946.1055-1-alejandro.vallejo@cloud.com>
References: <20231106081946.1055-1-alejandro.vallejo@cloud.com>
X-Mailer: Claws Mail 20230817T113819.a897c59c hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/8tl.52dIfAi_EQHgOYW1sh0";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/8tl.52dIfAi_EQHgOYW1sh0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Mon,  6 Nov 2023 08:19:46 +0000 Alejandro Vallejo <alejandro.vallejo@cloud.=
com>:

> +    struct xen_sysctl sysctl =3D {0};

What is that zero doing here? I think a plain {} will do it as well.


Olaf

--Sig_/8tl.52dIfAi_EQHgOYW1sh0
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

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

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmVIxuwACgkQ86SN7mm1
DoDeWA/+L5jKXs81KmCTEY/W1wbM0Y0XFKF+0HtMGMg8N/9i9DQ6a17TkW+NU/3i
QksXhp7PgyqK+yxkNNFxCw9UUyUePc77sMatbstGOri5MiSYth30ufMADvzo1a/o
Z+Yq9ur4qvpL8oqqoKbSqzuj4hG+Yh5BulgTzW3DmsqKiObMql1HBp0f8WTVtURK
vz/MWMHK1g6DGVP8otHRK4s1QT84uxTCLUScUWQlCivuzVUm5sYImJ0Zhs9B+SjP
t7V+DtT8iTQGaYvI4qjIrCHzsvwNH4W2aRUALu1gutd8g4Xqb4YGXqqQ3ki4VNo1
RDBLhJ7sZsY//Bbwqd6+IJT3UqUxE+V8VRKjeugk61QeCZV1Hd5jU5uJE6INQi4c
OfRf5kkofYBgMLhagXvII1S9XXLqbpu+Ia2HgpR+qiD+m4cBtKWo+WbfQTJ6GvCb
KV0rO0cuUpTP0OrcV6Oqj6ptUze7IHUiVJFsHNoaGGA2JxeUuPdSj/vJ5ehzjnza
wJzZrr5QH10OLheCa7jystWfdeCsrMzWmX/kpYgRnM6O3XMmmO/l67XdF9z1pLDE
AwMdIb+DiZ2AdAKzFlnuyO1QsHPLQHqf0sYP0LDs2UBOBfPkbcVpnav+9FsyuUNm
gZBkIvTzfDc8RfJKmNca1tf+vix4Qnugp084pZEdOgrxxuzc5ec=
=h/VO
-----END PGP SIGNATURE-----

--Sig_/8tl.52dIfAi_EQHgOYW1sh0--


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 11:29:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 11:29:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627919.978824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzxmn-0001kE-UL; Mon, 06 Nov 2023 11:28:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627919.978824; Mon, 06 Nov 2023 11: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 1qzxmn-0001k7-Rm; Mon, 06 Nov 2023 11:28:53 +0000
Received: by outflank-mailman (input) for mailman id 627919;
 Mon, 06 Nov 2023 11:28: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qzxmm-0001k1-Fd
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 11:28:52 +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 a84cd4b2-7c97-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 12:28:50 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40837ebba42so27447205e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 03:28:50 -0800 (PST)
Received: from EMEAENGAAD19049. ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 fo15-20020a05600c690f00b0040535648639sm11619729wmb.36.2023.11.06.03.28.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 03:28:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a84cd4b2-7c97-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699270129; x=1699874929; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=VGfc3gfbDRrir/J4QO0JhF4Upc3wwkf6/bLgPGcLt9E=;
        b=kCMuayL5OCWI1Glo2RGSfBHhC9E+7THJ2Y9D6wx3GJSa99Yn1qP66+BIQ1fgtAg1Hj
         D23zFOFHIyafEGEW1mo3EoLLETCJx/59m+MLDzCgrKXjOiMUspRvdOndWzK9gcxtXNuJ
         RF9Jebi3rtqzXO8Dlmg17Hu/DRREb9LSglWf4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699270129; x=1699874929;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VGfc3gfbDRrir/J4QO0JhF4Upc3wwkf6/bLgPGcLt9E=;
        b=pU/7r/fvc5aPDZpTcQ18GuAqnblZ9W9RulpSK2uqt4Hjthq2ZeBPDRLfTBLUQBPlvt
         Cc3+IYWSC2mjbmbcbpY731tyYietHvRTSgXpGy6ZHdmxiXkcPrpFooAh2+weVGqTB2XU
         vhJ6H+NmEL6q/ojDlwtxYZvzdhb5ezYhoc8qOiwYfeuRFR2CyZFqNPxbb6MwbKdwGTqf
         9ismOmoei+LtZ5v82l/Ppeww5DWCJrwUO8Emo2CMZB1niQiNv/4WnU9fTfdbovPi2diA
         1zSnd/jVj2kNU3CcJ+CfCFG16wtSS0R1jwAcCOJow0MWMDukhaMrksDkDO+Oiy0+ggbk
         lJsg==
X-Gm-Message-State: AOJu0YykhD3rK87gMWUzDJLiAuvRcWmeqJx3FquwFiLSGxScST7j1/uF
	tnpzJaaMWAzgnqdLyLJO385GofJz2jPUYpyjn1U=
X-Google-Smtp-Source: AGHT+IFHg8gh/H+5jof+h5bmSgoRADpS8Dhuv4DbRs9yCNYJ6ZEhshlAXQ+7+WN2sJUMowLqi0Gfng==
X-Received: by 2002:a05:600c:3b10:b0:408:492a:8f3 with SMTP id m16-20020a05600c3b1000b00408492a08f3mr18466928wms.5.1699270129683;
        Mon, 06 Nov 2023 03:28:49 -0800 (PST)
Message-ID: <6548cdf1.050a0220.f6f91.6db5@mx.google.com>
X-Google-Original-Message-ID: <ZUjN7hxE7ArSwHpg@EMEAENGAAD19049.>
Date: Mon, 6 Nov 2023 11:28:46 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Olaf Hering <olaf@aepfle.de>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] tools: Remove all DECLARE_* op macros in xc
References: <20231106081946.1055-1-alejandro.vallejo@cloud.com>
 <20231106115852.31df968d.olaf@aepfle.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231106115852.31df968d.olaf@aepfle.de>

Hi,

On Mon, Nov 06, 2023 at 11:58:52AM +0100, Olaf Hering wrote:
> Mon,  6 Nov 2023 08:19:46 +0000 Alejandro Vallejo <alejandro.vallejo@cloud.com>:
> 
> > +    struct xen_sysctl sysctl = {0};
> 
> What is that zero doing here?

Some context:
  https://gcc.gnu.org/legacy-ml/gcc/2019-07/msg00066.html

{0} is the standardized form of zero-initialization. I don't mind terribly
using either, but {} requires an extra extension.

> I think a plain {} will do it as well.
> 
> 
> Olaf

It would, but only on compilers implementing GNU C extensions.

Thanks,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 11:30:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 11:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627922.978835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzxnt-0002JW-DB; Mon, 06 Nov 2023 11:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627922.978835; Mon, 06 Nov 2023 11:30: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 1qzxnt-0002JO-90; Mon, 06 Nov 2023 11:30:01 +0000
Received: by outflank-mailman (input) for mailman id 627922;
 Mon, 06 Nov 2023 11:29: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=gUrR=GT=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qzxnr-0002J8-TZ
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 11:29:59 +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 d13ea4ef-7c97-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 12:29:58 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-32f7bd27c2aso3086085f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 03:29:58 -0800 (PST)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 v2-20020a05600c428200b0040303a9965asm11704826wmc.40.2023.11.06.03.29.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Nov 2023 03:29:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d13ea4ef-7c97-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1699270198; x=1699874998; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=PjV4O4c3JZzkwIriMCXrHJSY161Nk7xmbKTqvB8Whvg=;
        b=Or91uPnpPttoAumdVatweqLHOBg8pYBIGoPh8gq8xbkbesWsWk4A33AxkYUw3WmVlL
         KcDyH3ZNdOL9nmu7mnjtmigV27zI5TN197n9dS7RlQPbAEXUCY0l3Vfh3+GuSR8SXnPa
         7sWZRUlAebjMAG71mOYszF4Ti0eIoXfdwNnn4WAgZsxbdFo/C8g757S7oYyk2ThMo47z
         i4QmhdogBiu1OC64MPD50zC7I5mMnAGeC3UdeBKbk5UH3oxwcPvzJREfqxrfYxjpUztR
         D/glB86vcFCtAam43nle+RVgjxX6f3Mj47Ib36OXzzBswKEzpy+mXcDrYn9Sz0yzJ1S+
         6FGw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699270198; x=1699874998;
        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:subject:date:message-id:reply-to;
        bh=PjV4O4c3JZzkwIriMCXrHJSY161Nk7xmbKTqvB8Whvg=;
        b=NtGm5HVKeibC8Dhgs7nQlELldybQYTIik4sPV/k1mZTXGwpv1FUlsTWWqSyZzLibU7
         tKXWXyQOCqsGpxzVviSGZv60EjjQiievKDqHn42TJofWu38DGC3MPGgAR26TaU6eGDME
         oLxYcdSCi1kutkYbyvfpt6r4nCjnUbNsZmbF42xT4zEaDsrTeMfBGOCLTls8LT4X68xO
         +G3n6UPqEvjJ1BOzbEXM6NUC0ECIAAAtJfQcIT4gP3NMEGaBfEFGlgoURtsVO0fPPYDm
         ZqvdJYd2o+3b0ok/R56R8eooSlLjomgSnSeDeTVuH0PgWqcK2ZSSI/bAX2FP4iZZfW1R
         bfew==
X-Gm-Message-State: AOJu0YzhYF+T2l3CCUZTozg06zL/lDQyBSZI6M2LWH3g8JksN+zXk1oS
	T2/HvqHY6EfuJqgYoIVYjrVqYg==
X-Google-Smtp-Source: AGHT+IHH+th+UqrD6fpV9iv+m81TdCNhIV3D+bEzFI8C1XxafQo+FrCuDHRkPJGM/YEus8BhrkhZWA==
X-Received: by 2002:a05:600c:4fc6:b0:408:5a1c:9de7 with SMTP id o6-20020a05600c4fc600b004085a1c9de7mr24748613wmq.7.1699270198364;
        Mon, 06 Nov 2023 03:29:58 -0800 (PST)
Message-ID: <3620b635-0014-4def-b4c6-aadf099b0410@tibco.com>
Date: Mon, 6 Nov 2023 11:29:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools: Remove all DECLARE_* op macros in xc
Content-Language: en-GB
To: Olaf Hering <olaf@aepfle.de>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>
References: <20231106081946.1055-1-alejandro.vallejo@cloud.com>
 <20231106115852.31df968d.olaf@aepfle.de>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <20231106115852.31df968d.olaf@aepfle.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/11/2023 10:58 am, Olaf Hering wrote:
> Mon,  6 Nov 2023 08:19:46 +0000 Alejandro Vallejo <alejandro.vallejo@cloud.com>:
>
>> +    struct xen_sysctl sysctl = {0};
> What is that zero doing here? I think a plain {} will do it as well.

Indeed.  It needs to be {} and not {0} to compile on some obsolete but
still supported versions of GCC.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 11:31:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 11:31:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627926.978845 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzxpO-0003iQ-MN; Mon, 06 Nov 2023 11:31:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627926.978845; Mon, 06 Nov 2023 11: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 1qzxpO-0003iJ-JO; Mon, 06 Nov 2023 11:31:34 +0000
Received: by outflank-mailman (input) for mailman id 627926;
 Mon, 06 Nov 2023 11:31:32 +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 1qzxpM-0003i9-JO
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 11: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 1qzxpL-0007GW-Id; Mon, 06 Nov 2023 11:31:31 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1qzxpL-0008Nm-An; Mon, 06 Nov 2023 11:31: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=0d9jyMH64ANqw5HM4IjlCELfI0SKRl54FTCpftn33Xw=; b=QILZImVPDVOO3Fvj/AXxODPC57
	oO411s1EXrQgrkSejKD57ofJWxUxq+kpDVVF9xtRAvPvyXS7qfNkDBTzLHKk6C2TiPi1Nv+DK9p/I
	H3NEZAgW+OY0AFF/ZAmdeCaoGen/bN7y37iAfGPzOdwkYGa2Ua/wjUagct/w3W7QyAQg=;
Message-ID: <d4196b09-427d-458f-87f4-7e7126bf6f39@xen.org>
Date: Mon, 6 Nov 2023 11:31:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/arm: Skip memory nodes if not enabled
Content-Language: en-GB
To: Leo Yan <leo.yan@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20231013120442.1267488-1-leo.yan@linaro.org>
 <20231106021742.GA90848@leoy-huanghe.lan>
 <191b5aa4-182f-4b2e-8430-e605de592890@xen.org>
 <20231106103212.GE90848@leoy-huanghe.lan>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231106103212.GE90848@leoy-huanghe.lan>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 06/11/2023 10:32, Leo Yan wrote:
> Hi Julien,
> 
> On Mon, Nov 06, 2023 at 09:52:45AM +0000, Julien Grall wrote:
> 
> [...]
> 
>>> Gentle ping.
>>>
>>> I don't see this patch is landed in Xen master or staging branch, should
>>> anything I need to follow up?
>>
>> The tree has been frozen for the past few weeks for any patches that are not
>> meant for 4.18. We branched for 4.18 last week so staging is now in
>> soft-reopening until 4.18 is released.
> 
> Thank you for the info.
> 
>> I am aware of few patches that are ready to be merged. But I haven't yet
>> gone through all of them and merge to 4.19. It will probably be done once
>> 4.18 is released.
> 
> Sure, good to know this.  I will wait a bit and just let me know if
> I need to follow up anything.

Please ping me in ~ 2 weeks time if your patch is still not merged.

@Stefano, did you add this patch in your for-next branch?

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 11:39:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 11:39:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627934.978856 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzxwb-00062d-Ev; Mon, 06 Nov 2023 11:39:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627934.978856; Mon, 06 Nov 2023 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 1qzxwb-00062W-AX; Mon, 06 Nov 2023 11:39:01 +0000
Received: by outflank-mailman (input) for mailman id 627934;
 Mon, 06 Nov 2023 11:39: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=wfGl=GT=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1qzxwa-00062Q-1A
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 11:39:00 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 132facad-7c99-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 12:38:58 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-50931355d48so5800144e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 03:38:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 132facad-7c99-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699270738; x=1699875538; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dIQKgSzgwbku1JPn/gvo5ekb9GLKzMwMF5PjP2lXSxo=;
        b=Fhth9GF1Fiml1025U+7ByGxqT0kpjnTSYo3yq4HIFP0T4XM+GR5wvNSgxZ23T/NuIL
         48fxWsetsKbizYsxfs6is3OxhU8ChTzdSNYk9hSOTvmKXIceGnYPLDuwyLlYC9a03BBF
         H4nVZvhUhzqVf0MlqDJPJr9jSFcLa1GMcBR3Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699270738; x=1699875538;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dIQKgSzgwbku1JPn/gvo5ekb9GLKzMwMF5PjP2lXSxo=;
        b=NhoigaubSDbsWTP42JpYrA0dpLIjKkqrxCZD0jwHAN7TjgGciyC2tpYzHa2GKxae/Z
         qQbJat4dIGQBDGUsYR0+8647MetGPxFQz8zq+czwUIPLcL/Vthw8Eqa/svoUGK9I4Kmu
         LoS5pK7KQf5zivVbey5rZEkjkMFUPHiIRQxteeOG1t8A6Ei2xfK813l+m0DPWX/WRQc0
         7+ICV/TUfX3e6wrelo9IuL8nuMJOTr9avHVGRJy5yTARJ//6MMNa2DdPKDj74Shbz/T7
         BWOgjH+EKymxqGYKxFLECX7RUKZk29heHW5IncP6zoVFtC1htCFjG9pGZohMJ1JSH3jL
         JNMA==
X-Gm-Message-State: AOJu0Ywd61mBXDqeIGdJtY0hjp8fLzf/qgHYh+KEVoLLZgyiRgqvlH2e
	pSTVS3y+Zb5pSrsOE7rFS2rlOMsyayAnyWkG9aKeVw==
X-Google-Smtp-Source: AGHT+IG7Oqnsnn4fR5WLixXNZL+Dp3LkmTEIqoDua1cMcKer/gD/9lLY47dlnFPYR53nMWMSloXO66U5uTVka1Nv2aQ=
X-Received: by 2002:a05:6512:114b:b0:507:9ae6:6913 with SMTP id
 m11-20020a056512114b00b005079ae66913mr27173892lfg.28.1699270738444; Mon, 06
 Nov 2023 03:38:58 -0800 (PST)
MIME-Version: 1.0
References: <20231103194551.64448-1-jandryuk@gmail.com> <20231103194551.64448-2-jandryuk@gmail.com>
In-Reply-To: <20231103194551.64448-2-jandryuk@gmail.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 6 Nov 2023 11:38:47 +0000
Message-ID: <CA+zSX=aL0npFkNbTVV8Br2e=0nQrCau13GWpA9=SBcujx7838A@mail.gmail.com>
Subject: Re: [PATCH for-4.18 1/2] golang: Fixup binding for Arm FF-A
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>, 
	Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 3, 2023 at 7:46=E2=80=AFPM Jason Andryuk <jandryuk@gmail.com> w=
rote:
>
> The new FF-A TEE type changed the go bindings.  Update them.
>
> Fixes: 8abdd8d52862 ("tools: add Arm FF-A mediator")
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Acked-by: George Dunlap <george.dunlap@cloud.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 11:41:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 11:41:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627937.978865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzxyx-0007Pg-Ph; Mon, 06 Nov 2023 11:41:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627937.978865; Mon, 06 Nov 2023 11:41: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 1qzxyx-0007PZ-Mh; Mon, 06 Nov 2023 11:41:27 +0000
Received: by outflank-mailman (input) for mailman id 627937;
 Mon, 06 Nov 2023 11:41: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=wfGl=GT=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1qzxyw-0007PS-U5
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 11:41:26 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a45f61d-7c99-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 12:41:25 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-507adc3381cso5528584e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 03:41:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a45f61d-7c99-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699270884; x=1699875684; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Exb8z0n5FTbsiAJyh7PIbKX/eT+wH30KoslYnsrsVIE=;
        b=Bgwjj481Bnr+LWYsf+ahoqEuxi6sthTpKf7EV7hSktNqYWzcGmyDvs2oIMt78wGFod
         fKEnA0EuBs0bHBK5x4L61PzqirP2T0dODOcWvTTNtPRmESI778uDfVzEZ8s6sR6Ke6tQ
         kd9k6xBOITMisbJgDbV3chBusBneJRD+cOtCg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699270884; x=1699875684;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Exb8z0n5FTbsiAJyh7PIbKX/eT+wH30KoslYnsrsVIE=;
        b=d06hGf3Um75csiLPsfSPf+6/n82WGLHNqcRJv6q2YFKY7LgetlHqpKBfe410nVYUwi
         ptn3d1zVrnwEpJHFoo7lAiQzHJbb2n4Zv1lnSwKooaH/21T0y3VcBrzLxZ/alCO/pp5U
         QWiAMnb0r/7S4D0U+IcGfztgA9GMlZ+FwPAyDQx3IdOFHFi0U3Q4BukdowUhSwYWwp9e
         kUgY8XmCmtV8+HxQdt0kFsBJKJ4Xlunzyv1F6JZqJKQpETXgi7X1I3e128X5ZAmgXoS8
         SN/FKElhA+6Z5qndCMIlpLFbCDwpUiV0TsCnMTpUA8Rv7DOcxvb+o72k7TtnWGpw8Khm
         4cSw==
X-Gm-Message-State: AOJu0YywSjQhBqtkU69bQt2w5FuIUkFWV9nlkwSqVffQMLEQR7yNKesL
	XWcc4ZeJGxknmBytjmaIRmZq/yB2pJVO8QxHRMQtMw==
X-Google-Smtp-Source: AGHT+IH65iS8OhPawiyOxTMZ82yfCa9TnErS44hKE71ht1HnFndsto80jp1u3FmAGn5iDkv3L1AqfH/gP1tgOKmvBls=
X-Received: by 2002:a05:6512:b8d:b0:509:47e1:6ebe with SMTP id
 b13-20020a0565120b8d00b0050947e16ebemr11301595lfv.14.1699270884657; Mon, 06
 Nov 2023 03:41:24 -0800 (PST)
MIME-Version: 1.0
References: <20231103194551.64448-1-jandryuk@gmail.com> <20231103194551.64448-3-jandryuk@gmail.com>
In-Reply-To: <20231103194551.64448-3-jandryuk@gmail.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 6 Nov 2023 11:41:13 +0000
Message-ID: <CA+zSX=YUkiwkNV_p1SsAYbyd2q76VfwWqi_mBoCwaVpca-GfXQ@mail.gmail.com>
Subject: Re: [PATCH for-4.18 2/2] golang: Fix bindings after XSA-443
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>, 
	Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 3, 2023 at 7:46=E2=80=AFPM Jason Andryuk <jandryuk@gmail.com> w=
rote:
>
> The new bootloader_restrict and bootloader_user fields in the libxl idl
> change the bindings.  Update them.
>
> Fixes: 1f762642d2ca ("libxl: add support for running bootloader in restri=
cted mode")
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>

Acked-by: George Dunlap <george.dunlap@cloud.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 11:52:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 11:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627943.978875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzy9V-0002K3-Qq; Mon, 06 Nov 2023 11:52:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627943.978875; Mon, 06 Nov 2023 11:52: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 1qzy9V-0002Jw-Mw; Mon, 06 Nov 2023 11:52:21 +0000
Received: by outflank-mailman (input) for mailman id 627943;
 Mon, 06 Nov 2023 11:52: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=wfGl=GT=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1qzy9U-0002Jq-LJ
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 11:52:20 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f08ae62e-7c9a-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 12:52:19 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2c4fdf94666so57993261fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 03:52:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f08ae62e-7c9a-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699271539; x=1699876339; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JolvOm92yOZ1uSPHZ4lckHErC5pIJP7wH73mtN8LrOA=;
        b=W4oTxf9VWcueWQxlnev7BSSmplc4A5OTGoc1AcekWKYzWg8lBHFA32kXA+Vel8c+FH
         X0t0S/9KPyZ8fRm+8QLfgbdCGDpcSmBVeOsvnyfsp5H4OvULslopew6eLpuOVx+nQfEY
         eQsrnlh8rvRNhm8Nmc6eQUFkg/Wwon7VChji0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699271539; x=1699876339;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JolvOm92yOZ1uSPHZ4lckHErC5pIJP7wH73mtN8LrOA=;
        b=VNjI0H+3EMu64TPbsQj1GI2anL8u0QbzTe/MYdZzqttJ0hAC2f6pcw7hjzEp6KXEqh
         ItJxkrJi5CC0Kt0ermmCiGrfFMdH/BoykrSrXzU4JEntJH/5uz6NKZtHiY8KSzNh0tx4
         7uIk7kCu10rfuP77yTc7limfyX6oMCpl/NHCEnfl2iP4j6MqUxc20cfgWlgnONf0SMeW
         6Jq6mrsZsQl/jqqB2Mdt3iIvwQM88LO+bpw+u8stRAH2NfJX3XU6qu3LXlCMFZOGdikX
         sWY3wP8S6OT/zzKaINNNARLk66NVMR8aslha3Kz+APjwDk9Y8aTL78bB4I/4dan0QAeT
         71LA==
X-Gm-Message-State: AOJu0YyKFkkLeX1FjdDojU1kvHgDSNHU1Dttx46Dm6xeQ1j9IT1qHBF5
	t2NI1V+ZxkD3IF2fTu4HFuT/RnA6UG2vz8W+jyvSDg==
X-Google-Smtp-Source: AGHT+IG7qNjAO4YMznVsDeDdDfA0+mTM77BRHg8YkB2I5SXXILOUEQxRAlmZT8dnYWsLiYP8AHsOP9iCEynp+uk5iP0=
X-Received: by 2002:a05:651c:221c:b0:2bc:dcdb:b5dc with SMTP id
 y28-20020a05651c221c00b002bcdcdbb5dcmr27658540ljq.39.1699271539333; Mon, 06
 Nov 2023 03:52:19 -0800 (PST)
MIME-Version: 1.0
References: <20231103194551.64448-1-jandryuk@gmail.com>
In-Reply-To: <20231103194551.64448-1-jandryuk@gmail.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 6 Nov 2023 11:52:08 +0000
Message-ID: <CA+zSX=aoRoGY3--7uLZjvVeGQbQ+ns+Lio=voWr88o4j8j-d6A@mail.gmail.com>
Subject: Re: [PATCH for-4.18 0/2] golang: Binding fixes
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>, 
	Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 3, 2023 at 7:46=E2=80=AFPM Jason Andryuk <jandryuk@gmail.com> w=
rote:
>
> These two patches refresh the bindings which have gone a little stale.
> I used two separate patches since the XSA-443 one may want backporting.

Thanks for these.  Out of curiosity, do you use the golang bindings,
and if so, are you happy with how you're consuming them now?  We had
talked at some point about exposing the bindings somewhere on xenbits
(or maybe gitlab) such that people should simply add the path to their
golang projects and have it download & build like "normal".  Is that
something you'd find useful?

Peace,
 -George


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 11:54:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 11:54:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627946.978885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzyB7-0003Kn-69; Mon, 06 Nov 2023 11:54:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627946.978885; Mon, 06 Nov 2023 11: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 1qzyB7-0003Kg-1l; Mon, 06 Nov 2023 11:54:01 +0000
Received: by outflank-mailman (input) for mailman id 627946;
 Mon, 06 Nov 2023 11: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=wfGl=GT=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1qzyB5-0003Hr-Qu
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 11:53:59 +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 2afbcf1b-7c9b-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 12:53:57 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-50930f126b1so5356199e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 03:53:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2afbcf1b-7c9b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699271637; x=1699876437; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jXchnVxI+7x50nS0csdX/GoCFitfXphCFKOOVO3T9fQ=;
        b=g4GmVBDxH9TDluIGkyNnNcabLvP+K+mx45b3dHxfwLxeu8b89ut+lN+5ZBDH52sceL
         lEWToiJ3QimUoml+IFpR0FK2yxYilSX1pMSNobDKMtocjsB5ttGgmUKaRiVBxSw0SPRk
         5ew3p2aK/1FDDtNKtaVJUoPKbms09Y4Uf/oiw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699271637; x=1699876437;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jXchnVxI+7x50nS0csdX/GoCFitfXphCFKOOVO3T9fQ=;
        b=YjK6hclMbHyjH5aGgTKMKzidJvO1Y6FibzcSzNt+5/KEm2kcsgjdP01aR29Ml7A5Pk
         pUilm3VFi97qxldT5GTe+mNam3NtWbKaP+7JiJHyN5s6pdTkBe4qenqPAMoXvyV8GskV
         gv9bh92LbXMJnl84/AL4S49zOyLAurbUd9F3LliRKDdKk0PqU7Thep+64H13Ho0MKPnn
         n+Sghho4GCGXYK8S+0Zi70QErMX/+1i8MPfWaG8QQfqTcfviXTOALxB2PMFrW0T20QHR
         m2aA5o80aqV/JqiCK+I/8FoDorrd4lc0zjEFJvfSJCtRJGLYJIkpyv+ZSTvTXAj+zoLB
         Sejg==
X-Gm-Message-State: AOJu0Yw8vl0v+a0X2UnZAX8nPoH7aV3UEhchSFqyxtPKJesBfXljqn4i
	1IF+wpjZwFiZqgW5whygkd+Wmoi8R9MfniIC+gS/CA==
X-Google-Smtp-Source: AGHT+IFJW6aJwRVZw4/rjLwxYAmS8jAAXA2jkFPmyjDhQ9DZ5r+ROk1uocKOUgLeZRq4VK3+zqlPU12402507jx3cZo=
X-Received: by 2002:a05:6512:3582:b0:505:9872:7a16 with SMTP id
 m2-20020a056512358200b0050598727a16mr19605495lfr.49.1699271637382; Mon, 06
 Nov 2023 03:53:57 -0800 (PST)
MIME-Version: 1.0
References: <20231103194551.64448-1-jandryuk@gmail.com> <20231103194551.64448-3-jandryuk@gmail.com>
 <CA+zSX=YUkiwkNV_p1SsAYbyd2q76VfwWqi_mBoCwaVpca-GfXQ@mail.gmail.com>
In-Reply-To: <CA+zSX=YUkiwkNV_p1SsAYbyd2q76VfwWqi_mBoCwaVpca-GfXQ@mail.gmail.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 6 Nov 2023 11:53:46 +0000
Message-ID: <CA+zSX=ZkswegH0n0k25-0nKXonGiLei-bA2TS=rqXWpNtOVtHw@mail.gmail.com>
Subject: Re: [PATCH for-4.18 2/2] golang: Fix bindings after XSA-443
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>, 
	Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich <jbeulich@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 6, 2023 at 11:41=E2=80=AFAM George Dunlap <george.dunlap@cloud.=
com> wrote:
>
> On Fri, Nov 3, 2023 at 7:46=E2=80=AFPM Jason Andryuk <jandryuk@gmail.com>=
 wrote:
> >
> > The new bootloader_restrict and bootloader_user fields in the libxl idl
> > change the bindings.  Update them.
> >
> > Fixes: 1f762642d2ca ("libxl: add support for running bootloader in rest=
ricted mode")
> > Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
>
> Acked-by: George Dunlap <george.dunlap@cloud.com>

Also, as Jason pointed out in the cover letter, we probably want to
backport this patch; I'm not sure exactly who's in charge of that for
tools.

 -George


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 12:16:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 12:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627955.978894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzyWI-00012c-Uj; Mon, 06 Nov 2023 12:15:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627955.978894; Mon, 06 Nov 2023 12:15: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 1qzyWI-00012V-Rp; Mon, 06 Nov 2023 12:15:54 +0000
Received: by outflank-mailman (input) for mailman id 627955;
 Mon, 06 Nov 2023 12:15: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=fhP7=GT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1qzyWH-000111-ES
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 12:15:53 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe13::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a24b4e1-7c9e-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 13:15:51 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB10008.eurprd04.prod.outlook.com (2603:10a6:102:38b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.15; Mon, 6 Nov
 2023 12:15:49 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.016; Mon, 6 Nov 2023
 12:15: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: 3a24b4e1-7c9e-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jVskM7jerw/Rw780/Ez1wL93bVLo0UGcBJaPozg4OhQNmtrgQK5iTKXZlHGz4vuXVHxuV8i2G8e0tOz5f5R7tpAAaxazelFqjaaencciktuqnErhYYj9DwBf36oa+2HZYpxIc+lguM45h0kpDlEebbxK0lDW6EFrxGPy6EYg2mN5/zu17zgPItJZizOHOYzsdft568fxYlLMErT5tVziuC/gQqoAmAaby0w52/LfAU8LRAnRtUaFtdopfKNMnE/KBzMBCEOuL0FsqdVMapPnCZxX+jHq/cOORlFfx2c+PQjEHC81fsw3SyHVs7yHZ7bHJcsz/9nK3ugAZAjx006dUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+59P6gpqLr73SFZMAkxna4luEGQIliLF55Brt89zOlE=;
 b=VTOauYk/tCr9wyimOktpoBvyXKXi2zG+KgBVXjBeCsWAwKjOXPpwdXEznVe47IRJhyDZhtmUV6f5sq1fUmUElrjaq1qnTwp2qi5293IOtt3QouyMLTMsE7J1ym3yVnuyL3UgcErTcnq0uGbs5dCCI6Yu9jTImpxRYx0BAvydZrdPP3ELF9YWTPFEnyxMTppInHlNR1Tx4jwzo/Rh/QtKzpTGdfJuF/iOoy/LQrLA6ua72g9iTOylG49lQJuuH8ulD0F9vhu95Z7estJG6XAhD+3uCbJCBDL5n/Q2MKbeZTP4jYkeRdhq0wdTpmF2kbZ5XJeTMkpUTObxKiMbxEQv8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+59P6gpqLr73SFZMAkxna4luEGQIliLF55Brt89zOlE=;
 b=4xstlmYs19yG/6Zz2uOF6mGgwT1cCCXsG0AzltmYNdDZ5NoFOlexTknzZDn/oVMoNiA90NRhA38rH494Y7N5v4ZssqKBEJR5zJICZ+Qgi6XJ68ORI0o9s1JwXMgh+VVTr9+rbB3P70ipRXlzfC8v4EY4dFjS+zY2ymQxgdDxtvvb4LAK8lHesLGgX8aIGENLFsnPDZwOqCV8D+ijLtv9ZdsVMI/wSux9W138K+HiK8rvbufIcwOIlgdX403RenvkPSac47cn8xMNVk9BuhAcAUyoCaYabJBGRmWdwQxxw31Wi7S66+Km66XmOoTWSTZObClleVQ18/GVAs/DyQViJA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <56d0960d-eb29-194f-bae6-b98cc9652f02@suse.com>
Date: Mon, 6 Nov 2023 13:15:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH for-4.18 2/2] golang: Fix bindings after XSA-443
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>,
 Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231103194551.64448-1-jandryuk@gmail.com>
 <20231103194551.64448-3-jandryuk@gmail.com>
 <CA+zSX=YUkiwkNV_p1SsAYbyd2q76VfwWqi_mBoCwaVpca-GfXQ@mail.gmail.com>
 <CA+zSX=ZkswegH0n0k25-0nKXonGiLei-bA2TS=rqXWpNtOVtHw@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CA+zSX=ZkswegH0n0k25-0nKXonGiLei-bA2TS=rqXWpNtOVtHw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0443.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB10008:EE_
X-MS-Office365-Filtering-Correlation-Id: 89f689f5-5854-469e-edaf-08dbdec21d23
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LUAbVqI7EzDMZOyImmax31+QjKvxlER73EEkGPjgzPgD8XGNxV+EI7M5KvhMiXwDj5tTqIrT3kXz9XLaPqme69g2RYZITS8JjbjiytPNI+kRHI25TQz0b2U+jimmhbUkPu5lD05McWPkjDweWxLRikbbMgVZpBNO4BRHfCcBxXWihQ8ERODFj0p0t9qcclgOqTYXzTp/xh2DY7SiOvLR1yWGzX112+Xp/x+XBYYJOkl8AuRMJRsH/ZJFS3BTrlPWFMULEm90jxyaKMjoVA5JWn4d0IjM9+X4mnQS/osu1fdVLeVvFUGyEaSDrflW+vdEN+LVbC0kIhSfP6gBF4ANVgABK2S3FfntXXUV4It4T0en85eCX+odz8h2ySiJUes5BubXGzNKvjkCLMrwMEb2xsnPsb2OP7/3KQKwgCrezLFte+a5U4FHH3Cox1hxoCWdJyWsHsX+WCa3FidWFf3NuYctVZCOxmWa3bI2wmpyL40HhJzEpv6XbHZy/1bJLNBOsmj1XRv2rX24N3Jz5d19encarKVwdF5ukxVrEZ4kNmm3o6QB4c02ICRK7/J7Hhl/7MW6PU/kzj6EPSX2d3JJzhsycEFBvAWUMANym7Bb5vWhLprAIt/Mi6E++ak0ZfmrefDHhg2IONT08nRgAUcSaA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(39860400002)(136003)(376002)(366004)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(31686004)(66946007)(478600001)(6506007)(53546011)(6666004)(41300700001)(26005)(36756003)(38100700002)(6512007)(66476007)(2906002)(2616005)(4744005)(6486002)(83380400001)(31696002)(86362001)(4326008)(66556008)(54906003)(316002)(8676002)(6916009)(5660300002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2Eranptdlk3NE9YUW44WVNRK25TMVlkNXNmUldKWWhHTkdwQVptVnNaNzdI?=
 =?utf-8?B?UkY1ZVNOQzNvM2tBSVJnYlQrKzlNRFJFbTg5RGV4bG50OWUzMDBDWEtyTlNB?=
 =?utf-8?B?Q2RUazVDK0lxTDNKaDJnQjNVcHVmYlhpcmRpTGM2aDg0bFI3ZENpbVMrS0Fx?=
 =?utf-8?B?TDYwV25uTGowY004bk9TUEdWVTI0M3JqYjllcFhvQVE3SWpmMU9UWUtqdVhr?=
 =?utf-8?B?YlA2Z0VTb05iSExZU3ZodlJnOEVXN2hWSWVDUlduVEZKTThBNDVSV1dUVisr?=
 =?utf-8?B?b3dSNU1tK0M1dkwrWTJHR1NmSHdhT3ArL0IwSTR3YmptbllSMjdsakw1YldP?=
 =?utf-8?B?cS8yc2tsZFRGSEMxeStvS1dkVGhEMGZUMElrM1hmMVZuM3pURS9lcUFab3d5?=
 =?utf-8?B?SUZieGhFbXc0MXBud2EzNWJRN0VGUkVIRkQwUHA4V1FRNWdid3dpRVZnOVc1?=
 =?utf-8?B?TW04bGlXV2NHT1U2TUhtRnhQakVMVXVlWFBpMmdseGFBVnZtY2YrWE80S3Ns?=
 =?utf-8?B?NDZpWCt3b2ZISU90SWpPcnlrQ2FjcjFjUWFkeDEvcElyc2lGVTBEdU5DNUR2?=
 =?utf-8?B?STZ2RVYzOFczdW4vTUF2TTJqRmc3dm50djBZb0FhY0ZSdkhpZzh5bTAwWTRy?=
 =?utf-8?B?eDFuNzk0SnNoV0tyWkg0b0ZUK2hKNDJWSlIxd2NhQ0JhbDZCbkZQSENNeVlK?=
 =?utf-8?B?MldTTXFRVStHRWlUK1BLRlpUVy9ZVXVoTXBKeTQ3TUJCZFBLR2xUOVk5Z2Yy?=
 =?utf-8?B?cXZvZzUxZVVXcEQyR1ZHbVJUdWtJK3ZqQVFhd3YvMWwwMFduQUN3NXVCQ1BK?=
 =?utf-8?B?VklRQkxNQ1pEclFiYUd6cmo4MUpYNFg5czlZZ1drNHA5UHl6OWtwSU5BaWZU?=
 =?utf-8?B?b1ZObHFnWU82QUpuZkppZUxydnRiSER4ZlQyNjZleGkvUitiK0k1RWk2ZVFp?=
 =?utf-8?B?WWVMeHRPOUV0NDgrU2tJc0xGNXdhckJzZExXWS9QTTYzNURkVjVoUG55b2p2?=
 =?utf-8?B?SllIN0FwN0k1VnltclA3ZUM4bHJ4RWROaUk3eXFtUE96UVlQVisxSVVUWWVP?=
 =?utf-8?B?VUp5WXV6NmV4STNWQ0syQVZyVFc0WlluazNNZkJsZllqdytObWx0Rlk4blov?=
 =?utf-8?B?em0yWHUycnA1NlZMRXhrS3NvTFlMckR6VGhoRFNQMEFVV1dITEw4aU9kK3ZN?=
 =?utf-8?B?UTEzK1hjZWZlbVAvdnpZZmhXcFJudDlydVBMWHpqMGdDU1ZQZHZtb2xoeGJY?=
 =?utf-8?B?VnlTelJTTEhHOTRRSytDdTgzTEpnazFUSkVjcjJ2S0FwMWQvaFpSalBMcVU5?=
 =?utf-8?B?MG5iRDJUYUFpWEhrMTZrL1BGSjJIMFNJTHV0OHJFeHFVZzg5ZXRIUlZFL0Fr?=
 =?utf-8?B?NXduV0N6c0EyMUxzZGhZSU55WGhVb3pyY3VEdDhxcjg0TmlodFhia1YrZTJ3?=
 =?utf-8?B?YU9EdXBTcGcyeklUQkpGMjEzVjQ0YnRCZThwTGJIcTh0dXpPbDFlNkFPZmlW?=
 =?utf-8?B?UkZoYzhudzJudTdqekQwR2pRRnlwYlpRNTVJVHFKOTFWSTVmVTlkcWlwT1Z6?=
 =?utf-8?B?cUlkcHZVYWRhL2ZDdlFIQW5rUWVnbFRLVVFSaDBTNlRUc2hGNTBCckNwWTJz?=
 =?utf-8?B?TCtxUGRFRGlqSW81TVAxUUxkUy9JT1RkWXA3T0NDcmxjbVNzamtQUWYySW10?=
 =?utf-8?B?cDh6MzhZK1pZZFhYWVgwUGhCZElDNTNBRFJtQjVwNnhDTHpsLzc1K21OYUps?=
 =?utf-8?B?YW9lZWFaMnBPUzFkYWx4YWJCbFc4TVRBcXdjTVVBcFlFUnZJZldvVEJFeWwr?=
 =?utf-8?B?RWhlb09tZlJNMWIvMm5wbDdMcnNHblNZYTFjai9USHhnUjhuNTNkclZKQ3VX?=
 =?utf-8?B?K3pZNDk0Y0lmRVJkZEVLVmhGazN2U1VGQUtsVE9YdStJL0xObmJPYWgvc2FU?=
 =?utf-8?B?NzBoNVlVVXhxWnhyQ2VvbkYzNG9haTRHTWgvVmNBRXRpU0pBUnBWeHVya0lt?=
 =?utf-8?B?RFA0YnpvT0JpNlhzKzFTeEdoaVQwK093dHNMZ0NPZlEyYzVXVHduSFFDZHVx?=
 =?utf-8?B?UWJMbGtoQ2REUW45YW1IQWp3TTdnU0d5V1NXUENEQWR0UTNqRElxbUFYdlFP?=
 =?utf-8?Q?ZVmDsAGIBlzDpfyedfx/RDwJS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 89f689f5-5854-469e-edaf-08dbdec21d23
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 12:15:49.8178
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WXU4pa0KpxsrIQVyULL93YX5NhRI0g0oLGXl9aCzFwm3AhUrYox8c1c5AFgXQxIm34x3PRAKwXsyF7yxB2nmQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB10008

On 06.11.2023 12:53, George Dunlap wrote:
> On Mon, Nov 6, 2023 at 11:41 AM George Dunlap <george.dunlap@cloud.com> wrote:
>>
>> On Fri, Nov 3, 2023 at 7:46 PM Jason Andryuk <jandryuk@gmail.com> wrote:
>>>
>>> The new bootloader_restrict and bootloader_user fields in the libxl idl
>>> change the bindings.  Update them.
>>>
>>> Fixes: 1f762642d2ca ("libxl: add support for running bootloader in restricted mode")
>>> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
>>
>> Acked-by: George Dunlap <george.dunlap@cloud.com>
> 
> Also, as Jason pointed out in the cover letter, we probably want to
> backport this patch; I'm not sure exactly who's in charge of that for
> tools.

I'll try to remember to pick this up once it has been committed.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 12:45:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 12:45:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627959.978905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzyyg-0000U5-7F; Mon, 06 Nov 2023 12:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627959.978905; Mon, 06 Nov 2023 12: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 1qzyyg-0000Ty-3p; Mon, 06 Nov 2023 12:45:14 +0000
Received: by outflank-mailman (input) for mailman id 627959;
 Mon, 06 Nov 2023 12: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=ruOg=GT=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1qzyye-0000Ts-Uo
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 12:45:13 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52c8343c-7ca2-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 13:45:11 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-507bd64814fso5902863e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 04:45:11 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 w10-20020a5d680a000000b003143867d2ebsm9424024wru.63.2023.11.06.04.45.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 04:45:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52c8343c-7ca2-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699274710; x=1699879510; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=usx5Hsk7mWMh4lWkYDs9TXFOgLGcxxcuxLNu4P9874k=;
        b=ug6cjbUt7DfUeO9+9kFInkIQYDSso9ZibbW0gVXE2JpxLjvi3QBsoXrqm4ynWNymm3
         6b92M9Zug5l7GBXKIug98lqKF7z2cDCX4JmEQR4tVzCIcfdE5S2x6eSz3PB33iDww33F
         5YJdDrtZvVcAIsECoHHK6rR9M2HGYoRgmij0g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699274710; x=1699879510;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=usx5Hsk7mWMh4lWkYDs9TXFOgLGcxxcuxLNu4P9874k=;
        b=KkbZ26JagDK4CQqcziyTfu7cYMzr6blZXEWHWBpFduwawlTJM1MCBsHq95Xw3qe7IQ
         3mFPCJSXa9cqZW9ZufkxTl28MxyKHnqPf7MdXtKP37E/00N/IzoD6u6FDd1UO6Y0JqWs
         Tt5JxWevmRBimLdVzMUb3RjaqdsT11ClKidT9Y56XgLlv12eyuxWEDdapVZJSjQc/54G
         kOpP0QxlPtF8PEeGtCEGIxhawrWYGHK8TybnH2EWwxXq7Ym1FXUH3KF0941622guZtm6
         kg99S1Z5c/zF0DIwlLV0yVFPv4y2LjWhqM0lifz6BqSZkS2oo0uQT68uc5MGwWfyfvvH
         diew==
X-Gm-Message-State: AOJu0Yxo6LyGL6hWYkAQkOVFvTCJ2n8SFLZQb8E/dOwNoFrq1ODtPzNb
	MoYDTf6uAQm8y8mwBUWn1GulHQ==
X-Google-Smtp-Source: AGHT+IFryMJGAzVzqUtTYudtZjs8rh+qRp3ZQpK7ndi/LeeUre/QDrmAOe0roUv2yendfJRQoD+h3Q==
X-Received: by 2002:a05:6512:39c6:b0:507:ab58:7f7a with SMTP id k6-20020a05651239c600b00507ab587f7amr27700426lfu.10.1699274710595;
        Mon, 06 Nov 2023 04:45:10 -0800 (PST)
Date: Mon, 6 Nov 2023 13:45:09 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [PATCH for-4.18 0/2] golang: Binding fixes
Message-ID: <ZUjf1bZrlH8nsX-j@macbook>
References: <20231103194551.64448-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231103194551.64448-1-jandryuk@gmail.com>

On Fri, Nov 03, 2023 at 03:45:49PM -0400, Jason Andryuk wrote:
> These two patches refresh the bindings which have gone a little stale.
> I used two separate patches since the XSA-443 one may want backporting.

The XSA-443 one is only relevant for unstable and 4.18.  Stable
branches at the time of the XSA didn't get those fields added as it
would break the API.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 13:05:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 13:05:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627966.978914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzzHj-0004qD-Oj; Mon, 06 Nov 2023 13:04:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627966.978914; Mon, 06 Nov 2023 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 1qzzHj-0004q6-Lw; Mon, 06 Nov 2023 13:04:55 +0000
Received: by outflank-mailman (input) for mailman id 627966;
 Mon, 06 Nov 2023 13:04: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=H3DI=GT=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qzzHi-0004q0-H2
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 13:04:54 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1257b9f3-7ca5-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 14:04:51 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-53e3b8f906fso7374202a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 05:04:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1257b9f3-7ca5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699275891; x=1699880691; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J6G3kfz4ehKniPbbIVtZsVpSce3D5iXid7MrLz4n+S8=;
        b=Q3JTeW2U3uMhD4RU2aBNJWN7POmQZm0UwqU+Zh21AIMfRvboOhg1/+RdW4IFcSZvrF
         XTRAcJFOzfSx9+2Fwlbtm4Zp8NNn5/UXX4e+57JtpEW9fkEoR2cWvXht9+X6BB820qBy
         eqy5D88iH/uphxznLWXGFh2n/ODbqM5myAgGNU9UReR5oExori+EJ59YTXqM/BRQXcXz
         Rujh4qmdurLUy5UTSrWhSSX4Yl1W99mZ42dNP8uRJ4t7gifVE9oYPjQ6X+lSJC6J+Fyu
         slXVFaSr9/JXF/qz1pVfUgbb9F0xktbyCllxg1bC2rtNTI8iQ7lReNywWYVqH7dbSv2u
         WoIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699275891; x=1699880691;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=J6G3kfz4ehKniPbbIVtZsVpSce3D5iXid7MrLz4n+S8=;
        b=ppaFpB4/J3+JqEQQ3rAdcoyrFL2Opwuk9hYay07ilkEIEEFXVQZSAqh9VYmqvo5B4C
         YhuaqlYUbrhmYEqlsQXuFRuoDJK3CPn5kWLT5he3VAAXAr2ESR9M9CpgKrK46EFJux+e
         o9dLPKV/vhV93ZutkkLj3ESgtV97pRUPe4YiUIJkL6Xud7cgScJk/o1ujtSWRgq02sN1
         CmTKnlFiXk/dbVkz6+X1Lw7ic0psCLzycZ2EG8gqKteI6VoWQh36OePZ/TbdzpV7obOi
         HwEznKmIzCYFykk8q6HEI1uAfrQZBvG+9oSucQ20YK3zGFW+W8GoIgVuDfIRFgB4uEzn
         YKaQ==
X-Gm-Message-State: AOJu0YwidXu8nvMVmQ4IbBidC0YwmTKo7Y1XTZGS/H/2PHcdILTyux8p
	FiIA6CzR8xrQYNwY0cGBOLGaqW8Eui8hX8kndic=
X-Google-Smtp-Source: AGHT+IHNTIqP6ToEdeqngXDCOEEAnsMCVUqjZ+aX7lAtXPd6HynR+mVj6N6VhZOT9LS/RfowLB+PJlOoot9Uzd/3tHQ=
X-Received: by 2002:a50:d583:0:b0:53e:ec17:c885 with SMTP id
 v3-20020a50d583000000b0053eec17c885mr25193224edi.10.1699275890837; Mon, 06
 Nov 2023 05:04:50 -0800 (PST)
MIME-Version: 1.0
References: <20231103194551.64448-1-jandryuk@gmail.com> <CA+zSX=aoRoGY3--7uLZjvVeGQbQ+ns+Lio=voWr88o4j8j-d6A@mail.gmail.com>
In-Reply-To: <CA+zSX=aoRoGY3--7uLZjvVeGQbQ+ns+Lio=voWr88o4j8j-d6A@mail.gmail.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 6 Nov 2023 08:04:38 -0500
Message-ID: <CAKf6xpvmQuNP9=zR1mZbEiJ_no_ehcU_FVZsnExoz0gpJjT8Ug@mail.gmail.com>
Subject: Re: [PATCH for-4.18 0/2] golang: Binding fixes
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>, 
	Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 6, 2023 at 6:52=E2=80=AFAM George Dunlap <george.dunlap@cloud.c=
om> wrote:
>
> On Fri, Nov 3, 2023 at 7:46=E2=80=AFPM Jason Andryuk <jandryuk@gmail.com>=
 wrote:
> >
> > These two patches refresh the bindings which have gone a little stale.
> > I used two separate patches since the XSA-443 one may want backporting.
>
> Thanks for these.  Out of curiosity, do you use the golang bindings,
> and if so, are you happy with how you're consuming them now?  We had
> talked at some point about exposing the bindings somewhere on xenbits
> (or maybe gitlab) such that people should simply add the path to their
> golang projects and have it download & build like "normal".  Is that
> something you'd find useful?

Hi George,

No, I do not use the bindings, so I cannot answer your questions.  I
just noticed the bindings were stale when doing a rebase.

I think Andrew's idea to check these via gitlab is a good one.  They
seem to often be missed.  I only noticed because I had installed go,
and I only installed go to check binding generation for a previous
patch series.

Since the bindings are auto generated, do they really need to be
checked into the tree?  If gitlab checks their generation, then maybe
they don't need to be checked in?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 13:06:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 13:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627969.978925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzzJD-0005RF-41; Mon, 06 Nov 2023 13:06:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627969.978925; Mon, 06 Nov 2023 13: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 1qzzJD-0005R8-0u; Mon, 06 Nov 2023 13:06:27 +0000
Received: by outflank-mailman (input) for mailman id 627969;
 Mon, 06 Nov 2023 13: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=H3DI=GT=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1qzzJB-0005R2-Hn
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 13:06:25 +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 492ee84d-7ca5-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 14:06:23 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-53dd752685fso7391355a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 05:06:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 492ee84d-7ca5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699275983; x=1699880783; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ELRYQZKkES8PTQajV1im084C0bW7XyWkpmhDM0jUfTU=;
        b=W09cL3V/uiWvBO7V+TkOL/qbBkOZxEWBp8ZcF4ikGt2UrprPkKq4iqJFqUazB1065q
         py6Pi+x1+FmznehJJNTztGIzP+d37CyttntyJvW71nbCF1NcVjktQi2kxdKiLXbHd0hU
         jOvruTjlk1/wixSLymV0FSeULVIngAqvrsN8oXWDNG1xHnIxWiukkYmCCZhTyBALKYzI
         Qxb1lz4hE2tt09VKj+bQY2UxqkpalAVCmiGenUXC33HteGqAL1kCxqaQnWPHidSlvZ6u
         vk2gM/P6CTBcRU/HtETdfFPsXj0V+h3T5cYvhodLq/ZEGZ76LglC1I3EykFGlCXBWsb7
         743g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699275983; x=1699880783;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ELRYQZKkES8PTQajV1im084C0bW7XyWkpmhDM0jUfTU=;
        b=Nxnv/U/9RXLko5hTHepKWBILGSQ3uMJBMxZaSrQ9RN0Y806yq7wjPSik7tYP4/tkop
         ePMzuk49RKdzIlXHR5EvTNmPQZoDootSGMaJ0d2jS1cFHZpmB1zizEPGXEhCPOwCV7PX
         M0EnV0lveroh29edH1B0QZRan3xdy89ij+vUb3/5w/WkuJO80ikPjukrpEgVhIT0e+r2
         NMzygpc4ZPI1KA92oRnJZeUurOlYY+gV6XwSvWKjcOLugoPws2Gr0sjdetETg8Xj2qoQ
         M15xZc3G3AR4c9JsXEi4e/EQ7cu1EcHU3wTiwPQxwqvUGbF90TTW4u8b0+EOvC1oLPAZ
         NhRA==
X-Gm-Message-State: AOJu0YxAZhZr7co9PrOk0xQUCFeowTNHo8b6Nrz83VsPfbKNqVanK8eC
	EYlFuW/snrXHVNmJ2aFpnCHl54elO3gQ1dsOMBU=
X-Google-Smtp-Source: AGHT+IGKRYnJx9F2q8PDQIovQUudvOOu8CTr0zwmAsx0InVEfC+g3qc1rJwXkRY6t8PySnCfDerGGj4kyrLKz7LDCSU=
X-Received: by 2002:aa7:c994:0:b0:53e:f321:e6fd with SMTP id
 c20-20020aa7c994000000b0053ef321e6fdmr24406363edt.9.1699275983073; Mon, 06
 Nov 2023 05:06:23 -0800 (PST)
MIME-Version: 1.0
References: <20231103194551.64448-1-jandryuk@gmail.com> <ZUjf1bZrlH8nsX-j@macbook>
In-Reply-To: <ZUjf1bZrlH8nsX-j@macbook>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 6 Nov 2023 08:06:11 -0500
Message-ID: <CAKf6xpuostm4JZZ_QT_5R_TA6QqFdq9ZzEfMWAhQANROA3_7Qg@mail.gmail.com>
Subject: Re: [PATCH for-4.18 0/2] golang: Binding fixes
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, Henry Wang <Henry.Wang@arm.com>, 
	George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Jan Beulich <jbeulich@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 6, 2023 at 7:45=E2=80=AFAM Roger Pau Monn=C3=A9 <roger.pau@citr=
ix.com> wrote:
>
> On Fri, Nov 03, 2023 at 03:45:49PM -0400, Jason Andryuk wrote:
> > These two patches refresh the bindings which have gone a little stale.
> > I used two separate patches since the XSA-443 one may want backporting.
>
> The XSA-443 one is only relevant for unstable and 4.18.  Stable
> branches at the time of the XSA didn't get those fields added as it
> would break the API.

Oh, good.  Thanks for confirming, Roger.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 13:14:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 13:14:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627975.978935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzzQS-0007si-RX; Mon, 06 Nov 2023 13:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627975.978935; Mon, 06 Nov 2023 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 1qzzQS-0007sb-OM; Mon, 06 Nov 2023 13:13:56 +0000
Received: by outflank-mailman (input) for mailman id 627975;
 Mon, 06 Nov 2023 13:13: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qzzQR-0007sV-8c
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 13:13:55 +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 5537c8d7-7ca6-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 14:13:53 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40842752c6eso34315405e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 05:13:53 -0800 (PST)
Received: from EMEAENGAAD19049. ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 s11-20020a5d424b000000b0032da40fd7bdsm9494981wrr.24.2023.11.06.05.13.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 05:13:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5537c8d7-7ca6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699276433; x=1699881233; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=HaCRG8hXKyMFUUQ6QvwCzf6vguymuIrfLBnLAzsuP7A=;
        b=PcqEfSeiPBGBS3wAHR73LYHhm96uzrLP1XJxWrks9zpCA0yM/k+BrYS+ZLRN1i2olR
         LoF1NAjtWonHtcHlz/08fSImQDs7pQnveoowNVFl9nCgSdVzee+Xpm3wfc/ps12cuBzZ
         8pxDTE+0QOV+aVkMuW4GNzL+l6eeiQ/8fhmQk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699276433; x=1699881233;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=HaCRG8hXKyMFUUQ6QvwCzf6vguymuIrfLBnLAzsuP7A=;
        b=KMz2kqHMxxk8q7BtMLNAgc69d/sWdh2NjkA/goK5C5q2NKWTZn0QsUf/CYOCZtMPeY
         2R1ZLyEh1QFElPPfIu/r3k34+nRtujRB4bSxGxuke+WxNRNehBYUs1YvwDynvAqAzNr7
         BPhr4gJLxlOaugw681kPqBgD37fzwZelIb/Xc/kolrwMKTHNHlvKlTYjeZuth2uqbgV+
         OoNsmnFqRs29JqwXjL6Xh09yOe8ZPwuMmJ/hjf23/bBOFFfT/ADJzT+cux2OWPWGR3tP
         LKq0CynwRAOesl9Wgsbx9214BK/fUWF2jLP7MQ8s3spWk2iWn19YISnesH33OklICYVj
         a6dA==
X-Gm-Message-State: AOJu0Yx1nFZBnpXf/XJ1fzxhWZpFwt8mAH0N4got4qqDYTKLYGlMyLeG
	ck7ATJLN4Xbo6hHqYng3VUW9w+hn1NfKTbGH4qo=
X-Google-Smtp-Source: AGHT+IFnnO7ZMp2xlLL8u09LAlFKBAOWMJ2lgVzuiXewHR42+uVaRLPY4I3dE5ERPjP0rtMxSrwbyw==
X-Received: by 2002:a5d:4a4c:0:b0:32d:d2ef:b0c1 with SMTP id v12-20020a5d4a4c000000b0032dd2efb0c1mr21390340wrs.33.1699276432721;
        Mon, 06 Nov 2023 05:13:52 -0800 (PST)
Message-ID: <6548e690.5d0a0220.b4d80.fa60@mx.google.com>
X-Google-Original-Message-ID: <ZUjmjgxYntDlN28q@EMEAENGAAD19049.>
Date: Mon, 6 Nov 2023 13:13:50 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Andrew Cooper <andcooper@tibco.com>
Cc: Olaf Hering <olaf@aepfle.de>,
	Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH] tools: Remove all DECLARE_* op macros in xc
References: <20231106081946.1055-1-alejandro.vallejo@cloud.com>
 <20231106115852.31df968d.olaf@aepfle.de>
 <3620b635-0014-4def-b4c6-aadf099b0410@tibco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3620b635-0014-4def-b4c6-aadf099b0410@tibco.com>

On Mon, Nov 06, 2023 at 11:29:57AM +0000, Andrew Cooper wrote:
> On 06/11/2023 10:58 am, Olaf Hering wrote:
> > Mon,  6 Nov 2023 08:19:46 +0000 Alejandro Vallejo <alejandro.vallejo@cloud.com>:
> >
> >> +    struct xen_sysctl sysctl = {0};
> > What is that zero doing here? I think a plain {} will do it as well.
> 
> Indeed. It needs to be {} and not {0} to compile on some obsolete but
> still supported versions of GCC.
> 
> ~Andrew
I tried to find out what you're talking about and all I could find was:

  https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36750

I'm guessing we are already inhibiting that warning because grepping for
{0} shows a bunch of uses of this pattern both in toolstack and the
hypervisor. If this breaks something it's already broken.

Either way, sure. Let me re-generate the diff. I have strong philosophical
objections to keeping support for >10yo toolchains in detriment of >20yo
standards, but I'll just save the rant for another day.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 13:19:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 13:19:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627980.978945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzzW9-0001LV-E5; Mon, 06 Nov 2023 13:19:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627980.978945; Mon, 06 Nov 2023 13:19: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 1qzzW9-0001LO-Ba; Mon, 06 Nov 2023 13:19:49 +0000
Received: by outflank-mailman (input) for mailman id 627980;
 Mon, 06 Nov 2023 13:19: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=bfeq=GT=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1qzzW8-0001LI-Lk
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 13:19:48 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20626.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2695abd2-7ca7-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 14:19:45 +0100 (CET)
Received: from CY8PR22CA0008.namprd22.prod.outlook.com (2603:10b6:930:45::18)
 by SJ2PR12MB9006.namprd12.prod.outlook.com (2603:10b6:a03:540::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Mon, 6 Nov
 2023 13:19:41 +0000
Received: from CY4PEPF0000E9D1.namprd03.prod.outlook.com
 (2603:10b6:930:45:cafe::40) by CY8PR22CA0008.outlook.office365.com
 (2603:10b6:930:45::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28 via Frontend
 Transport; Mon, 6 Nov 2023 13:19:41 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D1.mail.protection.outlook.com (10.167.241.144) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Mon, 6 Nov 2023 13:19:41 +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.2507.32; Mon, 6 Nov
 2023 07:19:40 -0600
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.2507.32; Mon, 6 Nov
 2023 07:19:40 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32
 via Frontend Transport; Mon, 6 Nov 2023 07:19:38 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2695abd2-7ca7-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GbGSXwQsiiyJtJ+c0SWjGFiKNFiLHtMhZEhRs34J1j0mmtj3ZvSo5UMHe3Uw2iY8lIuhhcqvdOodofo8RmM/3G8gFXXh/9XQ5cc9NIysItiRLUgpdJo9hAmM3PFNMasaIjne9MH9pXOW6+YaImdtzBW+dAolg6q4+6nORjv3B5NLYWXNIzLEe1Eveh6pHWXFUxKeXQYv7tn9PkGKsrTfbRNa6QSDjXPIO858zdLPNTYHEjy9I7CHtrVtUH2CzOUZS6z91XOqQ1ZpDHrzHiDy3mnRNDp668E0Qh0vQQAFAq/pF1l15/Q0kOLnJovkkmRC0XBiDq+BaMdtE9XkUhs8jQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p/ajYP7sP2N9LYlmXyLJoKZdzh8sqIe132eMUezyJ5c=;
 b=gRUQiZfESvWq2qSMdmT4fv1IaTOMD4CFi0dZCpOGdJmbZ6qK6I40RPuJ+NEOQJ8X5PGcvS3PlVpmq2b/uasIVZQoBwM1XGv/GAZRZIo2l9MQabUR5Pj7rJ3vENJdnnRo1keXPYabbr6Mfft+OVx1GYKldmvm9urhtHSoOpzkO7BRfzVfs0Ma0PZK+DTXaqENRiiBdcRX60LD8xLblgnasOEW7uV9Swa+vBoQFff2+0bBucN/svhokpKIzUbIN6TVUMUTeOs2jRVEwSpZUjhXGZlPUQ2LZibNuf4S+4hwYWxOtCV7+cA2CIvul9nHbGgqRNxCkNO3m5Gi8GSSAR32+g==
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 (0)
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=p/ajYP7sP2N9LYlmXyLJoKZdzh8sqIe132eMUezyJ5c=;
 b=ZrWsXvCdiUaFOyex60+NKVFD2J6gWrMq1wg3751vEjUeHWicZLV8ROHddRHSckrLRirzQO2qRRmwrNY2CU3pe+Nr//ocuYAjzInZ7vrcPyAhfSb1L2yThQilLSR7EQBEdHgC4bHztmUJwRZpUwIGIDtc+EYTAg7TPjd+khYBeIc=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.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] MAINTAINERS: add xen/drivers/char/imx-lpuart.c to ARM section
Date: Mon, 6 Nov 2023 14:19:22 +0100
Message-ID: <20231106131922.29240-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D1:EE_|SJ2PR12MB9006:EE_
X-MS-Office365-Filtering-Correlation-Id: 495ae9de-0bbf-4ed6-a3e6-08dbdecb08d7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w6cGR8/Tr2Jsc3Dm5uJHTejHhcB99zKYWyyuRNXBx/XvileMlvbYExs6f6FGNIhHcnXdktwguVCKQrxA0pwLVFon99f2ORyyjAIPX3zGkmGAut+ZVnsd3vXEvVqXxLPXf8VvINJ/M9z3lBMerk8412+442g7vYm/oeD8CSVE1UV/W/J7kDfuvnMUEYvhaSX6KjCyMavAB3Rtx6XY2PVCZEsXffwqsClfUam9BMqQMFaeaFLNo6Pby1mROUqjLRAwzHjBrslyHYGENWhAxxESKrIpC6NG4L9arEUclphFs94gEfp3J6GXdQTXicVrWhscqhi6LfCcnyNsSjouydmQHGTGrGIUnw3JUomzwq28btWTLVtJOPPTRtdktRO8C7R488vsMjXwEva3hJHUAsWRUjHzYXOwCtVS/C2YSkz/voIlwRlGmP+AFqoNqp2yZKOdvwYZgjr13GkvCD+y3Y5xjS2bKGCww/V8bKfsDgEDA6i99a2VVp3z7O4FNw+AyfpT3ZJ2ayfQ8lmqdKa4IF0r/0BSCXvS4ZV8fdqAM4E/0B0JFWF7Kkh76XVq9yyY0TySv3cRrkiXFJ40MGY16AaMQRvQEbRrkH8/ve6Tsy3jHRUjijaaRnMQoTTVo5d6gHq6URiw9Yd2o9TQBpDIQk03fIDuOxlZGAkv2vXJJ3udb+uBC5Y86S5hPa6sTwdDtqv+eN40LrNjusGs49vrwfQd4LOYcoDWh2otQR6KUxX8XLvnufr3pRq0usqGz3YCDWJg3lsLt5EGI03E1nsxgqVgPA==
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:(13230031)(4636009)(396003)(346002)(39860400002)(376002)(136003)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(82310400011)(46966006)(40470700004)(36840700001)(40460700003)(40480700001)(6666004)(36860700001)(47076005)(36756003)(86362001)(81166007)(82740400003)(356005)(5660300002)(2906002)(4744005)(478600001)(426003)(336012)(26005)(2616005)(1076003)(8676002)(70206006)(70586007)(6916009)(54906003)(316002)(4326008)(41300700001)(8936002)(44832011)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 13:19:41.0040
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 495ae9de-0bbf-4ed6-a3e6-08dbdecb08d7
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:
	CY4PEPF0000E9D1.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9006

Add it to the list next to other Arm serial drivers, so it does not fall
back to THE REST.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index a5a5f2bffb24..0fcf5a6f3671 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -255,6 +255,7 @@ F:	xen/arch/arm/
 F:	xen/drivers/char/arm-uart.c
 F:	xen/drivers/char/cadence-uart.c
 F:	xen/drivers/char/exynos4210-uart.c
+F:	xen/drivers/char/imx-lpuart.c
 F:	xen/drivers/char/meson-uart.c
 F:	xen/drivers/char/mvebu-uart.c
 F:	xen/drivers/char/omap-uart.c
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 13:25:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 13:25:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627986.978955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzzbo-0003Sr-64; Mon, 06 Nov 2023 13:25:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627986.978955; Mon, 06 Nov 2023 13: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 1qzzbo-0003Sk-2W; Mon, 06 Nov 2023 13:25:40 +0000
Received: by outflank-mailman (input) for mailman id 627986;
 Mon, 06 Nov 2023 13:25: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1qzzbm-0003Se-Do
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 13:25:38 +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 f6f0fe58-7ca7-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 14:25:34 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-32dcd3e5f3fso2739786f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 05:25:34 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 f18-20020a5d58f2000000b0032da4c98ab2sm9410734wrd.35.2023.11.06.05.25.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 05:25:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6f0fe58-7ca7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699277133; x=1699881933; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=BrsN8g85tOZCVitdJsaSvLMkxIXsjHmxBEHEuL5QyAw=;
        b=hPvsOGAYqCwzSjCZwch67lx5L9s9J0MNpwnB2/9qeEJzyhnTlzKPohOnbgNQiqMRMg
         p8tKcnDZuziRiuNt9csvQFxIkHnzi8FDV+25UuO8DU7t8j9evJFSOjcIDtIyFwjR1EI9
         Ku2MifT1f58yasccd4+VCgMP1gFppsKMNVk1k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699277133; x=1699881933;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=BrsN8g85tOZCVitdJsaSvLMkxIXsjHmxBEHEuL5QyAw=;
        b=fpRp2k6MjJ5nIZP6AlcjAIdcq33Ir/wSsPZSFbDpiyRVFkxjzl99KrsGt9GpmwJcNg
         mse2tbwEdmSSjYAVKjuDk3akUuB+HdgW/LPf8qopsur5elNUZ2tJweBVTCnodgUg15bZ
         FfiAa2vYxPGwXdAgsr+dezJ9+/FWQ9gLOtzrS2fAnu7lX7c/pLT6F1LuSRNRwYiIh54k
         tGxB+Tp+10p9cEVo5MV9nOdznyi1YACLn0D9VViCEni5kdOZaUISCAUyPNeLL2pUugS4
         kHIpKVS8D8PHz9iGPsDzq3VWOGfbM2k/vTHXqbbGdHC1W2mp4fk6y8dk7YhHV4GKN9GY
         sfGw==
X-Gm-Message-State: AOJu0YwkzH5/ft9lzTil1Wja5XgYDhgXR5xn33TVaycbdmYFgki4KK81
	T7PFNb8zMs8pB0palfzIP6IP9dmZHESg0YVKvfA=
X-Google-Smtp-Source: AGHT+IFH8vonB56laO79Py5VYcnm7uOCoQjjtNhJKEciZBtfBeAiszeqo4ywv/trva87VRaxUOz5Zg==
X-Received: by 2002:a5d:5986:0:b0:32f:8248:e00 with SMTP id n6-20020a5d5986000000b0032f82480e00mr21460995wri.51.1699277132883;
        Mon, 06 Nov 2023 05:25:32 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>,
	xen-devel@dornerworks.com
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Nathan Studer <nathan.studer@dornerworks.com>,
	Stewart Hildebrand <stewart@stew.dk>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH v2] tools: Remove all DECLARE_* op macros in xc
Date: Mon,  6 Nov 2023 13:25:29 +0000
Message-Id: <20231106132529.21248-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These macros were hiding that the ops are not zero-initialized by the
toolstack. This is needlessly opaque for something so simple, so this patch
removes them and replaces them with explicit zero-initialising versions.

The patch also removes PHYSDEV_OP from there, as that seems to be an old
dead macro.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
@Daniel: I CC'd you due to the DECLARE_FLASK_OP removal, though it
shouldn't functionally affect anything at all.

The patch looks big, but all changes are reproducible via this snippet in
the "tools/libs" folder, followed by manually removing the #defines in
"xc_private.h"

  for f in `find -name "*.[ch]"`; do                                 \
      sed -i 's/DECLARE_FLASK_OP/struct xen_flask_op op = {}/g' $f; \
      sed -i 's/DECLARE_SYSCTL/struct xen_sysctl sysctl = {}/g' $f; \
      sed -i 's/DECLARE_DOMCTL/struct xen_domctl domctl = {}/g' $f; \
      sed -i 's/DECLARE_PLATFORM_OP/struct xen_platform_op platform_op = {}/g' $f; \
  done
---
 tools/libs/ctrl/xc_arinc653.c           |   4 +-
 tools/libs/ctrl/xc_cpu_hotplug.c        |   8 +-
 tools/libs/ctrl/xc_cpupool.c            |  14 +--
 tools/libs/ctrl/xc_csched.c             |   8 +-
 tools/libs/ctrl/xc_csched2.c            |   8 +-
 tools/libs/ctrl/xc_domain.c             | 108 ++++++++++++------------
 tools/libs/ctrl/xc_flask.c              |  34 ++++----
 tools/libs/ctrl/xc_memshr.c             |   2 +-
 tools/libs/ctrl/xc_misc.c               |  40 ++++-----
 tools/libs/ctrl/xc_monitor.c            |  30 +++----
 tools/libs/ctrl/xc_pm.c                 |  32 +++----
 tools/libs/ctrl/xc_private.c            |   4 +-
 tools/libs/ctrl/xc_private.h            |   6 --
 tools/libs/ctrl/xc_psr.c                |  22 ++---
 tools/libs/ctrl/xc_resource.c           |   2 +-
 tools/libs/ctrl/xc_rt.c                 |   8 +-
 tools/libs/ctrl/xc_tbuf.c               |  12 +--
 tools/libs/ctrl/xc_vm_event.c           |   4 +-
 tools/libs/guest/xg_cpuid_x86.c         |   8 +-
 tools/libs/guest/xg_dom_arm.c           |   2 +-
 tools/libs/guest/xg_dom_boot.c          |   2 +-
 tools/libs/guest/xg_dom_x86.c           |   2 +-
 tools/libs/guest/xg_offline_page.c      |   6 +-
 tools/libs/guest/xg_resume.c            |   6 +-
 tools/libs/guest/xg_sr_restore_x86_pv.c |   6 +-
 25 files changed, 186 insertions(+), 192 deletions(-)

diff --git a/tools/libs/ctrl/xc_arinc653.c b/tools/libs/ctrl/xc_arinc653.c
index 5d61c1ac11..7f1bb723ba 100644
--- a/tools/libs/ctrl/xc_arinc653.c
+++ b/tools/libs/ctrl/xc_arinc653.c
@@ -33,7 +33,7 @@ xc_sched_arinc653_schedule_set(
     struct xen_sysctl_arinc653_schedule *schedule)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(
         schedule,
         sizeof(*schedule),
@@ -63,7 +63,7 @@ xc_sched_arinc653_schedule_get(
     struct xen_sysctl_arinc653_schedule *schedule)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(
         schedule,
         sizeof(*schedule),
diff --git a/tools/libs/ctrl/xc_cpu_hotplug.c b/tools/libs/ctrl/xc_cpu_hotplug.c
index 2ea9825779..136aad2a39 100644
--- a/tools/libs/ctrl/xc_cpu_hotplug.c
+++ b/tools/libs/ctrl/xc_cpu_hotplug.c
@@ -22,7 +22,7 @@
 
 int xc_cpu_online(xc_interface *xch, int cpu)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_cpu_hotplug;
@@ -35,7 +35,7 @@ int xc_cpu_online(xc_interface *xch, int cpu)
 
 int xc_cpu_offline(xc_interface *xch, int cpu)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_cpu_hotplug;
@@ -48,7 +48,7 @@ int xc_cpu_offline(xc_interface *xch, int cpu)
 
 int xc_smt_enable(xc_interface *xch)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_cpu_hotplug;
@@ -61,7 +61,7 @@ int xc_smt_enable(xc_interface *xch)
 
 int xc_smt_disable(xc_interface *xch)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_cpu_hotplug;
diff --git a/tools/libs/ctrl/xc_cpupool.c b/tools/libs/ctrl/xc_cpupool.c
index fbd8cc9d03..f0ff332e83 100644
--- a/tools/libs/ctrl/xc_cpupool.c
+++ b/tools/libs/ctrl/xc_cpupool.c
@@ -39,7 +39,7 @@ int xc_cpupool_create(xc_interface *xch,
                       uint32_t sched_id)
 {
     int err;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_CREATE;
@@ -56,7 +56,7 @@ int xc_cpupool_create(xc_interface *xch,
 int xc_cpupool_destroy(xc_interface *xch,
                        uint32_t poolid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_DESTROY;
@@ -70,7 +70,7 @@ xc_cpupoolinfo_t *xc_cpupool_getinfo(xc_interface *xch,
     int err = 0;
     xc_cpupoolinfo_t *info = NULL;
     int local_size;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BUFFER(uint8_t, local);
 
     local_size = xc_get_cpumap_size(xch);
@@ -129,7 +129,7 @@ int xc_cpupool_addcpu(xc_interface *xch,
                       uint32_t poolid,
                       int cpu)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_ADDCPU;
@@ -152,7 +152,7 @@ int xc_cpupool_removecpu(xc_interface *xch,
 {
     unsigned retries;
     int err = 0;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_RMCPU;
@@ -170,7 +170,7 @@ int xc_cpupool_movedomain(xc_interface *xch,
                           uint32_t poolid,
                           uint32_t domid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_cpupool_op;
     sysctl.u.cpupool_op.op = XEN_SYSCTL_CPUPOOL_OP_MOVEDOMAIN;
@@ -184,7 +184,7 @@ xc_cpumap_t xc_cpupool_freeinfo(xc_interface *xch)
     int err = -1;
     xc_cpumap_t cpumap = NULL;
     int mapsize;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BUFFER(uint8_t, local);
 
     mapsize = xc_get_cpumap_size(xch);
diff --git a/tools/libs/ctrl/xc_csched.c b/tools/libs/ctrl/xc_csched.c
index 8e8c67220a..d59b50d4d4 100644
--- a/tools/libs/ctrl/xc_csched.c
+++ b/tools/libs/ctrl/xc_csched.c
@@ -29,7 +29,7 @@ xc_sched_credit_domain_set(
     uint32_t domid,
     struct xen_domctl_sched_credit *sdom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -49,7 +49,7 @@ xc_sched_credit_domain_get(
     uint32_t domid,
     struct xen_domctl_sched_credit *sdom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -70,7 +70,7 @@ xc_sched_credit_params_set(
     uint32_t cpupool_id,
     struct xen_sysctl_credit_schedule *schedule)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_scheduler_op;
     sysctl.u.scheduler_op.cpupool_id = cpupool_id;
@@ -93,7 +93,7 @@ xc_sched_credit_params_get(
     uint32_t cpupool_id,
     struct xen_sysctl_credit_schedule *schedule)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_scheduler_op;
     sysctl.u.scheduler_op.cpupool_id = cpupool_id;
diff --git a/tools/libs/ctrl/xc_csched2.c b/tools/libs/ctrl/xc_csched2.c
index 5eb753ad99..c032e3603e 100644
--- a/tools/libs/ctrl/xc_csched2.c
+++ b/tools/libs/ctrl/xc_csched2.c
@@ -29,7 +29,7 @@ xc_sched_credit2_domain_set(
     uint32_t domid,
     struct xen_domctl_sched_credit2 *sdom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -49,7 +49,7 @@ xc_sched_credit2_domain_get(
     uint32_t domid,
     struct xen_domctl_sched_credit2 *sdom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -70,7 +70,7 @@ xc_sched_credit2_params_set(
     uint32_t cpupool_id,
     struct xen_sysctl_credit2_schedule *schedule)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_scheduler_op;
     sysctl.u.scheduler_op.cpupool_id = cpupool_id;
@@ -93,7 +93,7 @@ xc_sched_credit2_params_get(
     uint32_t cpupool_id,
     struct xen_sysctl_credit2_schedule *schedule)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_scheduler_op;
     sysctl.u.scheduler_op.cpupool_id = cpupool_id;
diff --git a/tools/libs/ctrl/xc_domain.c b/tools/libs/ctrl/xc_domain.c
index 724fa6f753..f2d9d14b4d 100644
--- a/tools/libs/ctrl/xc_domain.c
+++ b/tools/libs/ctrl/xc_domain.c
@@ -27,7 +27,7 @@ int xc_domain_create(xc_interface *xch, uint32_t *pdomid,
                      struct xen_domctl_createdomain *config)
 {
     int err;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_createdomain;
     domctl.domain = *pdomid;
@@ -54,7 +54,7 @@ int xc_domain_cacheflush(xc_interface *xch, uint32_t domid,
      */
     return 0;
 #else
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_cacheflush;
     domctl.domain = domid;
     domctl.u.cacheflush.start_pfn = start_pfn;
@@ -66,7 +66,7 @@ int xc_domain_cacheflush(xc_interface *xch, uint32_t domid,
 int xc_domain_pause(xc_interface *xch,
                     uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_pausedomain;
     domctl.domain = domid;
     return do_domctl(xch, &domctl);
@@ -76,7 +76,7 @@ int xc_domain_pause(xc_interface *xch,
 int xc_domain_unpause(xc_interface *xch,
                       uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_unpausedomain;
     domctl.domain = domid;
     return do_domctl(xch, &domctl);
@@ -86,7 +86,7 @@ int xc_domain_unpause(xc_interface *xch,
 int xc_domain_destroy(xc_interface *xch,
                       uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_destroydomain;
     domctl.domain = domid;
     return do_domctl(xch, &domctl);
@@ -123,7 +123,7 @@ int xc_domain_node_setaffinity(xc_interface *xch,
                                uint32_t domid,
                                xc_nodemap_t nodemap)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BUFFER(uint8_t, local);
     int ret = -1;
     int nodesize;
@@ -161,7 +161,7 @@ int xc_domain_node_getaffinity(xc_interface *xch,
                                uint32_t domid,
                                xc_nodemap_t nodemap)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BUFFER(uint8_t, local);
     int ret = -1;
     int nodesize;
@@ -203,7 +203,7 @@ int xc_vcpu_setaffinity(xc_interface *xch,
                         xc_cpumap_t cpumap_soft_inout,
                         uint32_t flags)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(cpumap_hard_inout, 0,
                              XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     DECLARE_HYPERCALL_BOUNCE(cpumap_soft_inout, 0,
@@ -257,7 +257,7 @@ int xc_vcpu_getaffinity(xc_interface *xch,
                         xc_cpumap_t cpumap_soft,
                         uint32_t flags)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(cpumap_hard, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     DECLARE_HYPERCALL_BOUNCE(cpumap_soft, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     int ret = -1;
@@ -304,7 +304,7 @@ int xc_vcpu_getaffinity(xc_interface *xch,
 int xc_domain_get_guest_width(xc_interface *xch, uint32_t domid,
                               unsigned int *guest_width)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     memset(&domctl, 0, sizeof(domctl));
     domctl.domain = domid;
@@ -325,7 +325,7 @@ int xc_dom_vuart_init(xc_interface *xch,
                       xen_pfn_t gfn,
                       evtchn_port_t *evtchn)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     int rc = 0;
 
     memset(&domctl, 0, sizeof(domctl));
@@ -369,7 +369,7 @@ int xc_domain_getinfolist(xc_interface *xch,
                           xc_domaininfo_t *info)
 {
     int ret = 0;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(info, max_domains*sizeof(*info), XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, info) )
@@ -396,7 +396,7 @@ int xc_set_broken_page_p2m(xc_interface *xch,
                            unsigned long pfn)
 {
     int ret;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_set_broken_page_p2m;
     domctl.domain = domid;
@@ -413,7 +413,7 @@ int xc_domain_hvm_getcontext(xc_interface *xch,
                              uint32_t size)
 {
     int ret;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(ctxt_buf, size, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, ctxt_buf) )
@@ -441,7 +441,7 @@ int xc_domain_hvm_getcontext_partial(xc_interface *xch,
                                      uint32_t size)
 {
     int ret;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(ctxt_buf, size, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( !ctxt_buf || xc_hypercall_bounce_pre(xch, ctxt_buf) )
@@ -468,7 +468,7 @@ int xc_domain_hvm_setcontext(xc_interface *xch,
                              uint32_t size)
 {
     int ret;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(ctxt_buf, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, ctxt_buf) )
@@ -492,7 +492,7 @@ int xc_vcpu_getcontext(xc_interface *xch,
                        vcpu_guest_context_any_t *ctxt)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(ctxt, sizeof(vcpu_guest_context_any_t), XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, ctxt) )
@@ -517,7 +517,7 @@ int xc_vcpu_get_extstate(xc_interface *xch,
 {
     int rc = -ENODEV;
 #if defined (__i386__) || defined(__x86_64__)
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BUFFER(void, buffer);
     bool get_state;
 
@@ -606,7 +606,7 @@ int xc_shadow_control(xc_interface *xch,
                       unsigned int mode)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     memset(&domctl, 0, sizeof(domctl));
 
@@ -690,7 +690,7 @@ int xc_domain_setmaxmem(xc_interface *xch,
                         uint32_t domid,
                         uint64_t max_memkb)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_max_mem;
     domctl.domain = domid;
     domctl.u.max_mem.max_memkb = max_memkb;
@@ -808,7 +808,7 @@ int xc_domain_set_time_offset(xc_interface *xch,
                               uint32_t domid,
                               int32_t time_offset_seconds)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_settimeoffset;
     domctl.domain = domid;
     domctl.u.settimeoffset.time_offset_seconds = time_offset_seconds;
@@ -822,7 +822,7 @@ int xc_domain_set_tsc_info(xc_interface *xch,
                            uint32_t gtsc_khz,
                            uint32_t incarnation)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_settscinfo;
     domctl.domain = domid;
     domctl.u.tsc_info.tsc_mode = tsc_mode;
@@ -840,7 +840,7 @@ int xc_domain_get_tsc_info(xc_interface *xch,
                            uint32_t *incarnation)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_gettscinfo;
     domctl.domain = domid;
@@ -1280,7 +1280,7 @@ int xc_domain_get_pod_target(xc_interface *xch,
 
 int xc_domain_max_vcpus(xc_interface *xch, uint32_t domid, unsigned int max)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_max_vcpus;
     domctl.domain = domid;
     domctl.u.max_vcpus.max    = max;
@@ -1290,7 +1290,7 @@ int xc_domain_max_vcpus(xc_interface *xch, uint32_t domid, unsigned int max)
 int xc_domain_sethandle(xc_interface *xch, uint32_t domid,
                         xen_domain_handle_t handle)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_setdomainhandle;
     domctl.domain = domid;
     memcpy(domctl.u.setdomainhandle.handle, handle,
@@ -1304,7 +1304,7 @@ int xc_vcpu_getinfo(xc_interface *xch,
                     xc_vcpuinfo_t *info)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_getvcpuinfo;
     domctl.domain = domid;
@@ -1323,7 +1323,7 @@ int xc_domain_ioport_permission(xc_interface *xch,
                                 uint32_t nr_ports,
                                 uint32_t allow_access)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_ioport_permission;
     domctl.domain = domid;
@@ -1340,7 +1340,7 @@ int xc_availheap(xc_interface *xch,
                  int node,
                  uint64_t *bytes)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int rc;
 
     sysctl.cmd = XEN_SYSCTL_availheap;
@@ -1360,7 +1360,7 @@ int xc_vcpu_setcontext(xc_interface *xch,
                        uint32_t vcpu,
                        vcpu_guest_context_any_t *ctxt)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(ctxt, sizeof(vcpu_guest_context_any_t), XC_HYPERCALL_BUFFER_BOUNCE_IN);
     int rc;
 
@@ -1384,7 +1384,7 @@ int xc_domain_irq_permission(xc_interface *xch,
                              uint32_t pirq,
                              bool allow_access)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_irq_permission;
     domctl.domain = domid;
@@ -1400,7 +1400,7 @@ int xc_domain_iomem_permission(xc_interface *xch,
                                unsigned long nr_mfns,
                                uint8_t allow_access)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_iomem_permission;
     domctl.domain = domid;
@@ -1416,7 +1416,7 @@ int xc_domain_send_trigger(xc_interface *xch,
                            uint32_t trigger,
                            uint32_t vcpu)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_sendtrigger;
     domctl.domain = domid;
@@ -1485,7 +1485,7 @@ int xc_domain_setdebugging(xc_interface *xch,
                            uint32_t domid,
                            unsigned int enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_setdebugging;
     domctl.domain = domid;
@@ -1499,7 +1499,7 @@ int xc_assign_device(
     uint32_t machine_sbdf,
     uint32_t flags)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_assign_device;
     domctl.domain = domid;
@@ -1519,7 +1519,7 @@ int xc_get_device_group(
     uint32_t *sdev_array)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(sdev_array, max_sdevs * sizeof(*sdev_array),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
@@ -1551,7 +1551,7 @@ int xc_test_assign_device(
     uint32_t domid,
     uint32_t machine_sbdf)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_test_assign_device;
     domctl.domain = domid;
@@ -1567,7 +1567,7 @@ int xc_deassign_device(
     uint32_t domid,
     uint32_t machine_sbdf)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_deassign_device;
     domctl.domain = domid;
@@ -1585,7 +1585,7 @@ int xc_assign_dt_device(
 {
     int rc;
     size_t size = strlen(path);
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(path, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, path) )
@@ -1617,7 +1617,7 @@ int xc_test_assign_dt_device(
 {
     int rc;
     size_t size = strlen(path);
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(path, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, path) )
@@ -1645,7 +1645,7 @@ int xc_deassign_dt_device(
 {
     int rc;
     size_t size = strlen(path);
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(path, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, path) )
@@ -1679,7 +1679,7 @@ int xc_domain_update_msi_irq(
 {
     int rc;
     struct xen_domctl_bind_pt_irq *bind;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_bind_pt_irq;
     domctl.domain = domid;
@@ -1704,7 +1704,7 @@ int xc_domain_unbind_msi_irq(
 {
     int rc;
     struct xen_domctl_bind_pt_irq *bind;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_unbind_pt_irq;
     domctl.domain = domid;
@@ -1733,7 +1733,7 @@ static int xc_domain_bind_pt_irq_int(
 {
     int rc;
     struct xen_domctl_bind_pt_irq *bind;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_bind_pt_irq;
     domctl.domain = domid;
@@ -1791,7 +1791,7 @@ static int xc_domain_unbind_pt_irq_int(
 {
     int rc;
     struct xen_domctl_bind_pt_irq *bind;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_unbind_pt_irq;
     domctl.domain = domid;
@@ -1886,7 +1886,7 @@ int xc_domain_memory_mapping(
     unsigned long nr_mfns,
     uint32_t add_mapping)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     xc_domaininfo_t info;
     int ret = 0, rc;
     unsigned long done = 0, nr, max_batch_sz;
@@ -1958,7 +1958,7 @@ int xc_domain_ioport_mapping(
     uint32_t nr_ports,
     uint32_t add_mapping)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_ioport_mapping;
     domctl.domain = domid;
@@ -1975,7 +1975,7 @@ int xc_domain_set_target(
     uint32_t domid,
     uint32_t target)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_set_target;
     domctl.domain = domid;
@@ -1987,7 +1987,7 @@ int xc_domain_set_target(
 int xc_domain_subscribe_for_suspend(
     xc_interface *xch, uint32_t dom, evtchn_port_t port)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_subscribe;
     domctl.domain = dom;
@@ -1998,7 +1998,7 @@ int xc_domain_subscribe_for_suspend(
 
 int xc_domain_debug_control(xc_interface *xc, uint32_t domid, uint32_t sop, uint32_t vcpu)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     memset(&domctl, 0, sizeof(domctl));
     domctl.domain = domid;
@@ -2015,7 +2015,7 @@ int xc_domain_p2m_audit(xc_interface *xch,
                         uint64_t *m2p_bad,   
                         uint64_t *p2m_bad)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     int rc;
 
     domctl.cmd = XEN_DOMCTL_audit_p2m;
@@ -2033,7 +2033,7 @@ int xc_domain_set_access_required(xc_interface *xch,
                                   uint32_t domid,
                                   unsigned int required)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_set_access_required;
     domctl.domain = domid;
@@ -2043,7 +2043,7 @@ int xc_domain_set_access_required(xc_interface *xch,
 
 int xc_domain_set_virq_handler(xc_interface *xch, uint32_t domid, int virq)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_set_virq_handler;
     domctl.domain = domid;
@@ -2063,7 +2063,7 @@ int xc_domain_setvnuma(xc_interface *xch,
                        unsigned int *vnode_to_pnode)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(vmemrange, sizeof(*vmemrange) * nr_vmemranges,
                              XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     DECLARE_HYPERCALL_BOUNCE(vdistance, sizeof(*vdistance) *
@@ -2175,7 +2175,7 @@ int xc_domain_getvnuma(xc_interface *xch,
 int xc_domain_soft_reset(xc_interface *xch,
                          uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     domctl.cmd = XEN_DOMCTL_soft_reset;
     domctl.domain = domid;
     return do_domctl(xch, &domctl);
diff --git a/tools/libs/ctrl/xc_flask.c b/tools/libs/ctrl/xc_flask.c
index c1652ba48d..21ba697ad6 100644
--- a/tools/libs/ctrl/xc_flask.c
+++ b/tools/libs/ctrl/xc_flask.c
@@ -64,7 +64,7 @@ int xc_flask_op(xc_interface *xch, xen_flask_op_t *op)
 int xc_flask_load(xc_interface *xch, char *buf, uint32_t size)
 {
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     DECLARE_HYPERCALL_BOUNCE(buf, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     if ( xc_hypercall_bounce_pre(xch, buf) )
     {
@@ -86,7 +86,7 @@ int xc_flask_load(xc_interface *xch, char *buf, uint32_t size)
 int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t size, uint32_t *sid)
 {
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     DECLARE_HYPERCALL_BOUNCE(buf, size, XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, buf) )
@@ -112,7 +112,7 @@ int xc_flask_context_to_sid(xc_interface *xch, char *buf, uint32_t size, uint32_
 int xc_flask_sid_to_context(xc_interface *xch, int sid, char *buf, uint32_t size)
 {
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     DECLARE_HYPERCALL_BOUNCE(buf, size, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, buf) )
@@ -135,7 +135,7 @@ int xc_flask_sid_to_context(xc_interface *xch, int sid, char *buf, uint32_t size
 
 int xc_flask_getenforce(xc_interface *xch)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     op.cmd = FLASK_GETENFORCE;
     
     return xc_flask_op(xch, &op);
@@ -143,7 +143,7 @@ int xc_flask_getenforce(xc_interface *xch)
 
 int xc_flask_setenforce(xc_interface *xch, int mode)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     op.cmd = FLASK_SETENFORCE;
     op.u.enforce.enforcing = mode;
    
@@ -153,7 +153,7 @@ int xc_flask_setenforce(xc_interface *xch, int mode)
 int xc_flask_getbool_byid(xc_interface *xch, int id, char *name, uint32_t size, int *curr, int *pend)
 {
     int rv;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     DECLARE_HYPERCALL_BOUNCE(name, size, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, name) )
@@ -185,7 +185,7 @@ int xc_flask_getbool_byid(xc_interface *xch, int id, char *name, uint32_t size,
 int xc_flask_getbool_byname(xc_interface *xch, char *name, int *curr, int *pend)
 {
     int rv;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     DECLARE_HYPERCALL_BOUNCE(name, strlen(name), XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, name) )
@@ -217,7 +217,7 @@ int xc_flask_getbool_byname(xc_interface *xch, char *name, int *curr, int *pend)
 int xc_flask_setbool(xc_interface *xch, char *name, int value, int commit)
 {
     int rv;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     DECLARE_HYPERCALL_BOUNCE(name, strlen(name), XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
     if ( xc_hypercall_bounce_pre(xch, name) )
@@ -245,7 +245,7 @@ static int xc_flask_add(xc_interface *xch, uint32_t ocon, uint64_t low, uint64_t
 {
     uint32_t sid;
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
 
     err = xc_flask_context_to_sid(xch, scontext, strlen(scontext), &sid);
     if ( err )
@@ -284,7 +284,7 @@ int xc_flask_add_device(xc_interface *xch, unsigned long device, char *scontext)
 
 static int xc_flask_del(xc_interface *xch, uint32_t ocon, uint64_t low, uint64_t high)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
 
     op.cmd = FLASK_DEL_OCONTEXT;
     op.u.ocontext.ocon = ocon;
@@ -320,7 +320,7 @@ int xc_flask_access(xc_interface *xch, const char *scon, const char *tcon,
                 uint32_t *auditallow, uint32_t *auditdeny,
                 uint32_t *seqno)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     int err;
 
     err = xc_flask_context_to_sid(xch, (char*)scon, strlen(scon), &op.u.access.ssid);
@@ -359,7 +359,7 @@ int xc_flask_access(xc_interface *xch, const char *scon, const char *tcon,
 int xc_flask_avc_hashstats(xc_interface *xch, char *buf, int size)
 {
     int err;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
   
     op.cmd = FLASK_AVC_HASHSTATS;
   
@@ -377,7 +377,7 @@ int xc_flask_avc_cachestats(xc_interface *xch, char *buf, int size)
 {
     int err, n;
     int i = 0;
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
 
     n = snprintf(buf, size, "lookups hits misses allocations reclaims frees\n");
     buf += n;
@@ -406,7 +406,7 @@ int xc_flask_avc_cachestats(xc_interface *xch, char *buf, int size)
 
 int xc_flask_policyvers(xc_interface *xch)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     op.cmd = FLASK_POLICYVERS;
 
     return xc_flask_op(xch, &op);
@@ -414,7 +414,7 @@ int xc_flask_policyvers(xc_interface *xch)
 
 int xc_flask_getavc_threshold(xc_interface *xch)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     op.cmd = FLASK_GETAVC_THRESHOLD;
     
     return xc_flask_op(xch, &op);
@@ -422,7 +422,7 @@ int xc_flask_getavc_threshold(xc_interface *xch)
 
 int xc_flask_setavc_threshold(xc_interface *xch, int threshold)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     op.cmd = FLASK_SETAVC_THRESHOLD;
     op.u.setavc_threshold.threshold = threshold;
 
@@ -431,7 +431,7 @@ int xc_flask_setavc_threshold(xc_interface *xch, int threshold)
 
 int xc_flask_relabel_domain(xc_interface *xch, uint32_t domid, uint32_t sid)
 {
-    DECLARE_FLASK_OP;
+    struct xen_flask_op op = {};
     op.cmd = FLASK_RELABEL_DOMAIN;
     op.u.relabel.domid = domid;
     op.u.relabel.sid = sid;
diff --git a/tools/libs/ctrl/xc_memshr.c b/tools/libs/ctrl/xc_memshr.c
index 2f65b3b22e..6f5e005c99 100644
--- a/tools/libs/ctrl/xc_memshr.c
+++ b/tools/libs/ctrl/xc_memshr.c
@@ -28,7 +28,7 @@ int xc_memshr_control(xc_interface *xch,
                       uint32_t domid,
                       int enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     struct xen_domctl_mem_sharing_op *op;
 
     domctl.cmd = XEN_DOMCTL_mem_sharing_op;
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 4159294b2e..5ecdfa2c79 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -138,7 +138,7 @@ int xc_readconsolering(xc_interface *xch,
 {
     int ret;
     unsigned int nr_chars = *pnr_chars;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(buffer, nr_chars, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, buffer) )
@@ -170,7 +170,7 @@ int xc_readconsolering(xc_interface *xch,
 int xc_send_debug_keys(xc_interface *xch, const char *keys)
 {
     int ret, len = strlen(keys);
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE_IN(keys, len);
 
     if ( xc_hypercall_bounce_pre(xch, keys) )
@@ -191,7 +191,7 @@ int xc_physinfo(xc_interface *xch,
                 xc_physinfo_t *put_info)
 {
     int ret;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_physinfo;
 
@@ -206,7 +206,7 @@ int xc_physinfo(xc_interface *xch,
 int xc_microcode_update(xc_interface *xch, const void *buf, size_t len)
 {
     int ret;
-    DECLARE_PLATFORM_OP;
+    struct xen_platform_op platform_op = {};
     DECLARE_HYPERCALL_BUFFER(struct xenpf_microcode_update, uc);
 
     uc = xc_hypercall_buffer_alloc(xch, uc, len);
@@ -265,7 +265,7 @@ int xc_cputopoinfo(xc_interface *xch, unsigned *max_cpus,
                    xc_cputopo_t *cputopo)
 {
     int ret;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(cputopo, *max_cpus * sizeof(*cputopo),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
@@ -292,7 +292,7 @@ int xc_numainfo(xc_interface *xch, unsigned *max_nodes,
                 xc_meminfo_t *meminfo, uint32_t *distance)
 {
     int ret;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(meminfo, *max_nodes * sizeof(*meminfo),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     DECLARE_HYPERCALL_BOUNCE(distance,
@@ -328,7 +328,7 @@ int xc_pcitopoinfo(xc_interface *xch, unsigned num_devs,
 {
     int ret = 0;
     unsigned processed = 0;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(devs, num_devs * sizeof(*devs),
                              XC_HYPERCALL_BUFFER_BOUNCE_IN);
     DECLARE_HYPERCALL_BOUNCE(nodes, num_devs* sizeof(*nodes),
@@ -366,7 +366,7 @@ int xc_sched_id(xc_interface *xch,
                 int *sched_id)
 {
     int ret;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_sched_id;
 
@@ -451,7 +451,7 @@ out:
 
 int xc_perfc_reset(xc_interface *xch)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_perfc_op;
     sysctl.u.perfc_op.cmd = XEN_SYSCTL_PERFCOP_reset;
@@ -466,7 +466,7 @@ int xc_perfc_query_number(xc_interface *xch,
                           int *nbr_val)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_perfc_op;
     sysctl.u.perfc_op.cmd = XEN_SYSCTL_PERFCOP_query;
@@ -487,7 +487,7 @@ int xc_perfc_query(xc_interface *xch,
                    struct xc_hypercall_buffer *desc,
                    struct xc_hypercall_buffer *val)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BUFFER_ARGUMENT(desc);
     DECLARE_HYPERCALL_BUFFER_ARGUMENT(val);
 
@@ -501,7 +501,7 @@ int xc_perfc_query(xc_interface *xch,
 
 int xc_lockprof_reset(xc_interface *xch)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_lockprof_op;
     sysctl.u.lockprof_op.cmd = XEN_SYSCTL_LOCKPROF_reset;
@@ -514,7 +514,7 @@ int xc_lockprof_query_number(xc_interface *xch,
                              uint32_t *n_elems)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_lockprof_op;
     sysctl.u.lockprof_op.max_elem = 0;
@@ -534,7 +534,7 @@ int xc_lockprof_query(xc_interface *xch,
                       struct xc_hypercall_buffer *data)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BUFFER_ARGUMENT(data);
 
     sysctl.cmd = XEN_SYSCTL_lockprof_op;
@@ -553,7 +553,7 @@ int xc_getcpuinfo(xc_interface *xch, int max_cpus,
                   xc_cpuinfo_t *info, int *nr_cpus)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(info, max_cpus*sizeof(*info), XC_HYPERCALL_BUFFER_BOUNCE_OUT);
 
     if ( xc_hypercall_bounce_pre(xch, info) )
@@ -579,7 +579,7 @@ int xc_livepatch_upload(xc_interface *xch,
                         uint32_t size)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BUFFER(char, local);
     DECLARE_HYPERCALL_BOUNCE(name, 0 /* later */, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     struct xen_livepatch_name def_name = { };
@@ -632,7 +632,7 @@ int xc_livepatch_get(xc_interface *xch,
                      struct xen_livepatch_status *status)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(name, 0 /*adjust later */, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     struct xen_livepatch_name def_name = { };
 
@@ -689,7 +689,7 @@ int xc_livepatch_list_get_sizes(xc_interface *xch, unsigned int *nr,
                                 uint32_t *name_total_size,
                                 uint32_t *metadata_total_size)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int rc;
 
     if ( !nr || !name_total_size || !metadata_total_size )
@@ -770,7 +770,7 @@ int xc_livepatch_list(xc_interface *xch, const unsigned int max,
                       unsigned int *done, unsigned int *left)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     /* The sizes are adjusted later - hence zero. */
     DECLARE_HYPERCALL_BOUNCE(info, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     DECLARE_HYPERCALL_BOUNCE(name, 0, XC_HYPERCALL_BUFFER_BOUNCE_OUT);
@@ -965,7 +965,7 @@ static int _xc_livepatch_action(xc_interface *xch,
                                 uint32_t flags)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     /* The size is figured out when we strlen(name) */
     DECLARE_HYPERCALL_BOUNCE(name, 0, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     struct xen_livepatch_name def_name = { };
diff --git a/tools/libs/ctrl/xc_monitor.c b/tools/libs/ctrl/xc_monitor.c
index 3cb96f444f..5e3a01c333 100644
--- a/tools/libs/ctrl/xc_monitor.c
+++ b/tools/libs/ctrl/xc_monitor.c
@@ -48,7 +48,7 @@ int xc_monitor_get_capabilities(xc_interface *xch, uint32_t domain_id,
                                 uint32_t *capabilities)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     if ( !capabilities )
     {
@@ -72,7 +72,7 @@ int xc_monitor_write_ctrlreg(xc_interface *xch, uint32_t domain_id,
                              uint16_t index, bool enable, bool sync,
                              uint64_t bitmask, bool onchangeonly)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -92,7 +92,7 @@ int xc_monitor_write_ctrlreg(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_mov_to_msr(xc_interface *xch, uint32_t domain_id, uint32_t msr,
                           bool enable, bool onchangeonly)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -108,7 +108,7 @@ int xc_monitor_mov_to_msr(xc_interface *xch, uint32_t domain_id, uint32_t msr,
 int xc_monitor_software_breakpoint(xc_interface *xch, uint32_t domain_id,
                                    bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -122,7 +122,7 @@ int xc_monitor_software_breakpoint(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_singlestep(xc_interface *xch, uint32_t domain_id,
                           bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -136,7 +136,7 @@ int xc_monitor_singlestep(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_descriptor_access(xc_interface *xch, uint32_t domain_id,
                                  bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -150,7 +150,7 @@ int xc_monitor_descriptor_access(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_guest_request(xc_interface *xch, uint32_t domain_id, bool enable,
                              bool sync, bool allow_userspace)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -166,7 +166,7 @@ int xc_monitor_guest_request(xc_interface *xch, uint32_t domain_id, bool enable,
 int xc_monitor_inguest_pagefault(xc_interface *xch, uint32_t domain_id,
                                 bool disable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -180,7 +180,7 @@ int xc_monitor_inguest_pagefault(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_emulate_each_rep(xc_interface *xch, uint32_t domain_id,
                                 bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -193,7 +193,7 @@ int xc_monitor_emulate_each_rep(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_debug_exceptions(xc_interface *xch, uint32_t domain_id,
                                 bool enable, bool sync)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -207,7 +207,7 @@ int xc_monitor_debug_exceptions(xc_interface *xch, uint32_t domain_id,
 
 int xc_monitor_cpuid(xc_interface *xch, uint32_t domain_id, bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -221,7 +221,7 @@ int xc_monitor_cpuid(xc_interface *xch, uint32_t domain_id, bool enable)
 int xc_monitor_privileged_call(xc_interface *xch, uint32_t domain_id,
                                bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -235,7 +235,7 @@ int xc_monitor_privileged_call(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_emul_unimplemented(xc_interface *xch, uint32_t domain_id,
                                   bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -249,7 +249,7 @@ int xc_monitor_emul_unimplemented(xc_interface *xch, uint32_t domain_id,
 int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
                       bool sync)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
@@ -263,7 +263,7 @@ int xc_monitor_vmexit(xc_interface *xch, uint32_t domain_id, bool enable,
 
 int xc_monitor_io(xc_interface *xch, uint32_t domain_id, bool enable)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_monitor_op;
     domctl.domain = domain_id;
diff --git a/tools/libs/ctrl/xc_pm.c b/tools/libs/ctrl/xc_pm.c
index b20b675280..b27b45c3dc 100644
--- a/tools/libs/ctrl/xc_pm.c
+++ b/tools/libs/ctrl/xc_pm.c
@@ -28,7 +28,7 @@
  */
 int xc_pm_get_max_px(xc_interface *xch, int cpuid, int *max_px)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_get_pmstat;
@@ -44,7 +44,7 @@ int xc_pm_get_max_px(xc_interface *xch, int cpuid, int *max_px)
 
 int xc_pm_get_pxstat(xc_interface *xch, int cpuid, struct xc_px_stat *pxpt)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     /* Sizes unknown until xc_pm_get_max_px */
     DECLARE_NAMED_HYPERCALL_BOUNCE(trans, pxpt->trans_pt, 0, XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     DECLARE_NAMED_HYPERCALL_BOUNCE(pt, pxpt->pt, 0, XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
@@ -99,7 +99,7 @@ int xc_pm_get_pxstat(xc_interface *xch, int cpuid, struct xc_px_stat *pxpt)
 
 int xc_pm_reset_pxstat(xc_interface *xch, int cpuid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_get_pmstat;
     sysctl.u.get_pmstat.type = PMSTAT_reset_pxstat;
@@ -110,7 +110,7 @@ int xc_pm_reset_pxstat(xc_interface *xch, int cpuid)
 
 int xc_pm_get_max_cx(xc_interface *xch, int cpuid, int *max_cx)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int ret = 0;
 
     sysctl.cmd = XEN_SYSCTL_get_pmstat;
@@ -125,7 +125,7 @@ int xc_pm_get_max_cx(xc_interface *xch, int cpuid, int *max_cx)
 
 int xc_pm_get_cxstat(xc_interface *xch, int cpuid, struct xc_cx_stat *cxpt)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_NAMED_HYPERCALL_BOUNCE(triggers, cxpt->triggers,
                                    cxpt->nr * sizeof(*cxpt->triggers),
                                    XC_HYPERCALL_BUFFER_BOUNCE_OUT);
@@ -183,7 +183,7 @@ unlock_0:
 
 int xc_pm_reset_cxstat(xc_interface *xch, int cpuid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_get_pmstat;
     sysctl.u.get_pmstat.type = PMSTAT_reset_cxstat;
@@ -200,7 +200,7 @@ int xc_pm_reset_cxstat(xc_interface *xch, int cpuid)
 int xc_get_cpufreq_para(xc_interface *xch, int cpuid,
                         struct xc_get_cpufreq_para *user_para)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int ret = 0;
     struct xen_get_cpufreq_para *sys_para = &sysctl.u.pm_op.u.get_para;
     DECLARE_NAMED_HYPERCALL_BOUNCE(affected_cpus,
@@ -310,7 +310,7 @@ unlock_1:
 
 int xc_set_cpufreq_gov(xc_interface *xch, int cpuid, char *govname)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     char *scaling_governor = sysctl.u.pm_op.u.set_gov.scaling_governor;
 
     if ( !xch || !govname )
@@ -330,7 +330,7 @@ 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)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( !xch )
     {
@@ -349,7 +349,7 @@ int xc_set_cpufreq_para(xc_interface *xch, int cpuid,
 int xc_set_cpufreq_cppc(xc_interface *xch, int cpuid,
                         xc_set_cppc_para_t *set_cppc)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int ret;
 
     if ( !xch )
@@ -372,7 +372,7 @@ int xc_set_cpufreq_cppc(xc_interface *xch, int cpuid,
 int xc_get_cpufreq_avgfreq(xc_interface *xch, int cpuid, int *avg_freq)
 {
     int ret = 0;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( !xch || !avg_freq )
     {
@@ -395,7 +395,7 @@ 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)
 {
    int rc;
-   DECLARE_SYSCTL;
+   struct xen_sysctl sysctl = {};
 
    sysctl.cmd = XEN_SYSCTL_pm_op;
    sysctl.u.pm_op.cmd = XEN_SYSCTL_pm_op_set_sched_opt_smt;
@@ -409,7 +409,7 @@ int xc_set_sched_opt_smt(xc_interface *xch, uint32_t value)
 static int get_max_cstate(xc_interface *xch, uint32_t *value, uint32_t type)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( !xch || !value )
     {
@@ -438,7 +438,7 @@ int xc_get_cpuidle_max_csubstate(xc_interface *xch, uint32_t *value)
 
 static int set_max_cstate(xc_interface *xch, uint32_t value, uint32_t type)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( !xch )
     {
@@ -465,7 +465,7 @@ int xc_set_cpuidle_max_csubstate(xc_interface *xch, uint32_t value)
 
 int xc_enable_turbo(xc_interface *xch, int cpuid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( !xch )
     {
@@ -480,7 +480,7 @@ int xc_enable_turbo(xc_interface *xch, int cpuid)
 
 int xc_disable_turbo(xc_interface *xch, int cpuid)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( !xch )
     {
diff --git a/tools/libs/ctrl/xc_private.c b/tools/libs/ctrl/xc_private.c
index 6293a45531..abd0b0d849 100644
--- a/tools/libs/ctrl/xc_private.c
+++ b/tools/libs/ctrl/xc_private.c
@@ -229,7 +229,7 @@ int xc_get_pfn_type_batch(xc_interface *xch, uint32_t dom,
                           unsigned int num, xen_pfn_t *arr)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(arr, sizeof(*arr) * num, XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     if ( xc_hypercall_bounce_pre(xch, arr) )
         return -1;
@@ -398,7 +398,7 @@ int xc_maximum_ram_page(xc_interface *xch, unsigned long *max_mfn)
 
 long long xc_domain_get_cpu_usage(xc_interface *xch, uint32_t domid, int vcpu)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_getvcpuinfo;
     domctl.domain = domid;
diff --git a/tools/libs/ctrl/xc_private.h b/tools/libs/ctrl/xc_private.h
index 8faabaea67..d8b7da2805 100644
--- a/tools/libs/ctrl/xc_private.h
+++ b/tools/libs/ctrl/xc_private.h
@@ -62,12 +62,6 @@ struct iovec {
 #include <sys/uio.h>
 #endif
 
-#define DECLARE_DOMCTL struct xen_domctl domctl
-#define DECLARE_SYSCTL struct xen_sysctl sysctl
-#define DECLARE_PHYSDEV_OP struct physdev_op physdev_op
-#define DECLARE_FLASK_OP struct xen_flask_op op
-#define DECLARE_PLATFORM_OP struct xen_platform_op platform_op
-
 #undef PAGE_SHIFT
 #undef PAGE_SIZE
 #undef PAGE_MASK
diff --git a/tools/libs/ctrl/xc_psr.c b/tools/libs/ctrl/xc_psr.c
index 1a0ab636f0..477009ec12 100644
--- a/tools/libs/ctrl/xc_psr.c
+++ b/tools/libs/ctrl/xc_psr.c
@@ -29,7 +29,7 @@
 
 int xc_psr_cmt_attach(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_psr_cmt_op;
     domctl.domain = domid;
@@ -40,7 +40,7 @@ int xc_psr_cmt_attach(xc_interface *xch, uint32_t domid)
 
 int xc_psr_cmt_detach(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_psr_cmt_op;
     domctl.domain = domid;
@@ -53,7 +53,7 @@ int xc_psr_cmt_get_domain_rmid(xc_interface *xch, uint32_t domid,
                                uint32_t *rmid)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_psr_cmt_op;
     domctl.domain = domid;
@@ -71,7 +71,7 @@ int xc_psr_cmt_get_total_rmid(xc_interface *xch, uint32_t *total_rmid)
 {
     static int val = 0;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( val )
     {
@@ -95,7 +95,7 @@ int xc_psr_cmt_get_l3_upscaling_factor(xc_interface *xch,
 {
     static int val = 0;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( val )
     {
@@ -118,7 +118,7 @@ int xc_psr_cmt_get_l3_upscaling_factor(xc_interface *xch,
 int xc_psr_cmt_get_l3_event_mask(xc_interface *xch, uint32_t *event_mask)
 {
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_psr_cmt_op;
     sysctl.u.psr_cmt_op.cmd =
@@ -137,7 +137,7 @@ int xc_psr_cmt_get_l3_cache_size(xc_interface *xch, uint32_t cpu,
 {
     static int val = 0;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( val )
     {
@@ -230,7 +230,7 @@ int xc_psr_cmt_enabled(xc_interface *xch)
 {
     static int val = -1;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( val >= 0 )
         return val;
@@ -252,7 +252,7 @@ int xc_psr_set_domain_data(xc_interface *xch, uint32_t domid,
                            xc_psr_type type, uint32_t target,
                            uint64_t data)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     uint32_t cmd;
 
     switch ( type )
@@ -291,7 +291,7 @@ int xc_psr_get_domain_data(xc_interface *xch, uint32_t domid,
                            uint64_t *data)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     uint32_t cmd;
 
     switch ( type )
@@ -333,7 +333,7 @@ int xc_psr_get_hw_info(xc_interface *xch, uint32_t socket,
                        xc_psr_feat_type type, xc_psr_hw_info *hw_info)
 {
     int rc = -1;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     if ( !hw_info )
     {
diff --git a/tools/libs/ctrl/xc_resource.c b/tools/libs/ctrl/xc_resource.c
index 3394cc1833..cb6a97202b 100644
--- a/tools/libs/ctrl/xc_resource.c
+++ b/tools/libs/ctrl/xc_resource.c
@@ -22,7 +22,7 @@
 static int xc_resource_op_one(xc_interface *xch, xc_resource_op_t *op)
 {
     int rc;
-    DECLARE_PLATFORM_OP;
+    struct xen_platform_op platform_op = {};
     DECLARE_NAMED_HYPERCALL_BOUNCE(entries, op->entries,
                                 op->nr_entries * sizeof(*op->entries),
                                 XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
diff --git a/tools/libs/ctrl/xc_rt.c b/tools/libs/ctrl/xc_rt.c
index ad257c6e52..3cb3fbb923 100644
--- a/tools/libs/ctrl/xc_rt.c
+++ b/tools/libs/ctrl/xc_rt.c
@@ -29,7 +29,7 @@ int xc_sched_rtds_domain_set(xc_interface *xch,
                            struct xen_domctl_sched_rtds *sdom)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -48,7 +48,7 @@ int xc_sched_rtds_domain_get(xc_interface *xch,
                            struct xen_domctl_sched_rtds *sdom)
 {
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_scheduler_op;
     domctl.domain = domid;
@@ -70,7 +70,7 @@ int xc_sched_rtds_vcpu_set(xc_interface *xch,
 {
     int rc = 0;
     unsigned processed = 0;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(vcpus, sizeof(*vcpus) * num_vcpus,
                              XC_HYPERCALL_BUFFER_BOUNCE_IN);
 
@@ -104,7 +104,7 @@ int xc_sched_rtds_vcpu_get(xc_interface *xch,
 {
     int rc = 0;
     unsigned processed = 0;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(vcpus, sizeof(*vcpus) * num_vcpus,
                              XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
 
diff --git a/tools/libs/ctrl/xc_tbuf.c b/tools/libs/ctrl/xc_tbuf.c
index 283fbd1c8f..73b0d1e323 100644
--- a/tools/libs/ctrl/xc_tbuf.c
+++ b/tools/libs/ctrl/xc_tbuf.c
@@ -27,7 +27,7 @@
 
 static int tbuf_enable(xc_interface *xch, int enable)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_tbuf_op;
     sysctl.interface_version = XEN_SYSCTL_INTERFACE_VERSION;
@@ -41,7 +41,7 @@ static int tbuf_enable(xc_interface *xch, int enable)
 
 int xc_tbuf_set_size(xc_interface *xch, unsigned long size)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_tbuf_op;
     sysctl.interface_version = XEN_SYSCTL_INTERFACE_VERSION;
@@ -55,7 +55,7 @@ int xc_tbuf_get_size(xc_interface *xch, unsigned long *size)
 {
     struct t_info *t_info;
     int rc;
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_tbuf_op;
     sysctl.interface_version = XEN_SYSCTL_INTERFACE_VERSION;
@@ -82,7 +82,7 @@ int xc_tbuf_get_size(xc_interface *xch, unsigned long *size)
 int xc_tbuf_enable(xc_interface *xch, unsigned long pages, unsigned long *mfn,
                    unsigned long *size)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int rc;
 
     /*
@@ -116,7 +116,7 @@ int xc_tbuf_disable(xc_interface *xch)
 
 int xc_tbuf_set_cpu_mask(xc_interface *xch, xc_cpumap_t mask)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(mask, 0, XC_HYPERCALL_BUFFER_BOUNCE_IN);
     int ret = -1;
     int bits, cpusize;
@@ -160,7 +160,7 @@ int xc_tbuf_set_cpu_mask(xc_interface *xch, xc_cpumap_t mask)
 
 int xc_tbuf_set_evt_mask(xc_interface *xch, uint32_t mask)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
 
     sysctl.cmd = XEN_SYSCTL_tbuf_op;
     sysctl.interface_version = XEN_SYSCTL_INTERFACE_VERSION;
diff --git a/tools/libs/ctrl/xc_vm_event.c b/tools/libs/ctrl/xc_vm_event.c
index a97c615b18..2f03315648 100644
--- a/tools/libs/ctrl/xc_vm_event.c
+++ b/tools/libs/ctrl/xc_vm_event.c
@@ -25,7 +25,7 @@
 int xc_vm_event_control(xc_interface *xch, uint32_t domain_id, unsigned int op,
                         unsigned int mode, uint32_t *port)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     int rc;
 
     domctl.cmd = XEN_DOMCTL_vm_event_op;
@@ -158,7 +158,7 @@ void *xc_vm_event_enable(xc_interface *xch, uint32_t domain_id, int param,
 
 int xc_vm_event_get_version(xc_interface *xch)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     int rc;
 
     domctl.cmd = XEN_DOMCTL_vm_event_op;
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index f2b1e80901..4497087daa 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -38,7 +38,7 @@ enum {
 
 int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     int ret;
 
     sysctl.cmd = XEN_SYSCTL_get_cpu_levelling_caps;
@@ -53,7 +53,7 @@ int xc_get_cpu_levelling_caps(xc_interface *xch, uint32_t *caps)
 int xc_get_cpu_featureset(xc_interface *xch, uint32_t index,
                           uint32_t *nr_features, uint32_t *featureset)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(featureset,
                              *nr_features * sizeof(*featureset),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
@@ -167,7 +167,7 @@ static int get_domain_cpu_policy(xc_interface *xch, uint32_t domid,
                                  uint32_t *nr_leaves, xen_cpuid_leaf_t *leaves,
                                  uint32_t *nr_msrs, xen_msr_entry_t *msrs)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(leaves,
                              *nr_leaves * sizeof(*leaves),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
@@ -207,7 +207,7 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
                              uint32_t *err_leaf_p, uint32_t *err_subleaf_p,
                              uint32_t *err_msr_p)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BOUNCE(leaves,
                              nr_leaves * sizeof(*leaves),
                              XC_HYPERCALL_BUFFER_BOUNCE_IN);
diff --git a/tools/libs/guest/xg_dom_arm.c b/tools/libs/guest/xg_dom_arm.c
index d616dccbd6..2fd8ee7ad4 100644
--- a/tools/libs/guest/xg_dom_arm.c
+++ b/tools/libs/guest/xg_dom_arm.c
@@ -204,7 +204,7 @@ static int set_mode(xc_interface *xch, uint32_t domid, const char *guest_type)
         { "xen-3.0-aarch64", 64 },
         { "xen-3.0-armv7l",  32 },
     };
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     int i,rc;
 
     domctl.domain = domid;
diff --git a/tools/libs/guest/xg_dom_boot.c b/tools/libs/guest/xg_dom_boot.c
index 6e0847e718..5c7e12221d 100644
--- a/tools/libs/guest/xg_dom_boot.c
+++ b/tools/libs/guest/xg_dom_boot.c
@@ -39,7 +39,7 @@
 
 static int setup_hypercall_page(struct xc_dom_image *dom)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     xen_pfn_t pfn;
     int rc;
 
diff --git a/tools/libs/guest/xg_dom_x86.c b/tools/libs/guest/xg_dom_x86.c
index 811d176488..cba01384ae 100644
--- a/tools/libs/guest/xg_dom_x86.c
+++ b/tools/libs/guest/xg_dom_x86.c
@@ -1158,7 +1158,7 @@ static int x86_compat(xc_interface *xch, uint32_t domid,
         { "xen-3.0-x86_32p", 32 },
         { "xen-3.0-x86_64",  64 },
     };
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     int i,rc;
 
     memset(&domctl, 0, sizeof(domctl));
diff --git a/tools/libs/guest/xg_offline_page.c b/tools/libs/guest/xg_offline_page.c
index 5f61d49456..ffd0e6975e 100644
--- a/tools/libs/guest/xg_offline_page.c
+++ b/tools/libs/guest/xg_offline_page.c
@@ -51,7 +51,7 @@ static struct domain_info_context *dinfo = &_dinfo;
 int xc_mark_page_online(xc_interface *xch, unsigned long start,
                         unsigned long end, uint32_t *status)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(status, sizeof(uint32_t)*(end - start + 1), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     int ret = -1;
 
@@ -81,7 +81,7 @@ int xc_mark_page_online(xc_interface *xch, unsigned long start,
 int xc_mark_page_offline(xc_interface *xch, unsigned long start,
                           unsigned long end, uint32_t *status)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(status, sizeof(uint32_t)*(end - start + 1), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     int ret = -1;
 
@@ -111,7 +111,7 @@ int xc_mark_page_offline(xc_interface *xch, unsigned long start,
 int xc_query_page_offline_status(xc_interface *xch, unsigned long start,
                                  unsigned long end, uint32_t *status)
 {
-    DECLARE_SYSCTL;
+    struct xen_sysctl sysctl = {};
     DECLARE_HYPERCALL_BOUNCE(status, sizeof(uint32_t)*(end - start + 1), XC_HYPERCALL_BUFFER_BOUNCE_BOTH);
     int ret = -1;
 
diff --git a/tools/libs/guest/xg_resume.c b/tools/libs/guest/xg_resume.c
index c85d09a7f5..31c49d320e 100644
--- a/tools/libs/guest/xg_resume.c
+++ b/tools/libs/guest/xg_resume.c
@@ -93,7 +93,7 @@ static int modify_returncode(xc_interface *xch, uint32_t domid)
 
 static int xc_domain_resume_cooperative(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     int rc;
 
     /*
@@ -111,7 +111,7 @@ static int xc_domain_resume_cooperative(xc_interface *xch, uint32_t domid)
 #if defined(__i386__) || defined(__x86_64__)
 static int xc_domain_resume_hvm(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     /*
      * The domctl XEN_DOMCTL_resumedomain unpause each vcpu. After
@@ -132,7 +132,7 @@ static int xc_domain_resume_hvm(xc_interface *xch, uint32_t domid)
 
 static int xc_domain_resume_any(xc_interface *xch, uint32_t domid)
 {
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     xc_domaininfo_t info;
     int i, rc = -1;
 #if defined(__i386__) || defined(__x86_64__)
diff --git a/tools/libs/guest/xg_sr_restore_x86_pv.c b/tools/libs/guest/xg_sr_restore_x86_pv.c
index eaeb97f4a0..9cd6a88022 100644
--- a/tools/libs/guest/xg_sr_restore_x86_pv.c
+++ b/tools/libs/guest/xg_sr_restore_x86_pv.c
@@ -376,7 +376,7 @@ static int process_vcpu_extended(struct xc_sr_context *ctx,
     xc_interface *xch = ctx->xch;
     struct xc_sr_x86_pv_restore_vcpu *vcpu =
         &ctx->x86.pv.restore.vcpus[vcpuid];
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
 
     domctl.cmd = XEN_DOMCTL_set_ext_vcpucontext;
     domctl.domain = ctx->domid;
@@ -401,7 +401,7 @@ static int process_vcpu_xsave(struct xc_sr_context *ctx,
     struct xc_sr_x86_pv_restore_vcpu *vcpu =
         &ctx->x86.pv.restore.vcpus[vcpuid];
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BUFFER(void, buffer);
 
     buffer = xc_hypercall_buffer_alloc(xch, buffer, vcpu->xsave.size);
@@ -439,7 +439,7 @@ static int process_vcpu_msrs(struct xc_sr_context *ctx,
     struct xc_sr_x86_pv_restore_vcpu *vcpu =
         &ctx->x86.pv.restore.vcpus[vcpuid];
     int rc;
-    DECLARE_DOMCTL;
+    struct xen_domctl domctl = {};
     DECLARE_HYPERCALL_BUFFER(void, buffer);
 
     buffer = xc_hypercall_buffer_alloc(xch, buffer, vcpu->msr.size);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 13:50:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 13:50:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627994.978964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1qzzzD-0000yL-6W; Mon, 06 Nov 2023 13:49:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627994.978964; Mon, 06 Nov 2023 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 1qzzzD-0000yE-2z; Mon, 06 Nov 2023 13:49:51 +0000
Received: by outflank-mailman (input) for mailman id 627994;
 Mon, 06 Nov 2023 13: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=gUrR=GT=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1qzzzB-0000y7-9a
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 13:49:49 +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 58ff4e33-7cab-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 14:49:47 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4081ccf69dcso32447145e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 05:49:47 -0800 (PST)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y8-20020a5d4708000000b0032d2f09d991sm9515572wrq.33.2023.11.06.05.49.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Nov 2023 05:49:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58ff4e33-7cab-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699278586; x=1699883386; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=sd6fb91Q4Xr6NPHBENxTqPWK3ZF161HQkHkpMYoAkWM=;
        b=lIqkfUptXp7HkI/uzFIYZdHi8KThe1xLxguNFfXsphlDJQOsNoNR/a5PGI2gThPhP3
         OuG/IZ0dZqQUZ3xMAkCGtE/jiV4ikclnD8J45Gzi4tmcfynid5nCDrOa46JnbC1JlwKR
         C8aMGwWPvYAcO97r7X2Y2/O6MPjWXblqYCgv8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699278586; x=1699883386;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=sd6fb91Q4Xr6NPHBENxTqPWK3ZF161HQkHkpMYoAkWM=;
        b=YTbM0Or5mGauAqWLC3USpBiBQcZOCG+MqgcUrx2hbjWp2V/MbzydeTywb2GRoG8dUP
         xujBLuQmNfYGkt2ZGQ5B1/euGUUKpHlz5/fq0ASK1gzrwIyKNqPTjYbugaF1qdno1FsP
         YZgbgw86R+6XmxO+CYJN7EiUWeKyxDoC3v7UiM+H1q3UYZwm7DpkgRJSoDazy1YcaVKZ
         QhdQiqnNIVw5tvPgXeraOMbHZVkd5WrlJHN09qsdKgm5ELCxEytnoSmblBpu+5QZgwOL
         MUZ76mlrDWpLQ3mRfBJx0apcJfDowl6aojX6/0+Cug8s2couubrqkIB96SvaVeT98+UN
         aP2w==
X-Gm-Message-State: AOJu0YxQCMNbSu5mCwm/FSV+w/6yJL1oKK2LHkcyBwAfRl1cgPARfKUT
	erZ3swhhWq/f8RC2yhla5mlurA==
X-Google-Smtp-Source: AGHT+IFIzXnjUrh+hbK3S1dvl7bEXmLeca8XFcy80K0H7Tck0RYiBN9h0uW9e4zuzD2DsRY48XuhVg==
X-Received: by 2002:a05:6000:1e98:b0:32f:64f2:815 with SMTP id dd24-20020a0560001e9800b0032f64f20815mr8140416wrb.33.1699278586592;
        Mon, 06 Nov 2023 05:49:46 -0800 (PST)
Message-ID: <1e5e8d65-c625-49b7-aecf-8526bca9f174@citrix.com>
Date: Mon, 6 Nov 2023 13:49:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] tools: Remove all DECLARE_* op macros in xc
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, xen-devel@dornerworks.com
Cc: Nathan Studer <nathan.studer@dornerworks.com>,
 Stewart Hildebrand <stewart@stew.dk>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 "Daniel P. Smith" <dpsmith@apertussolutions.com>
References: <20231106132529.21248-1-alejandro.vallejo@cloud.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231106132529.21248-1-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/11/2023 1:25 pm, Alejandro Vallejo wrote:
> These macros were hiding that the ops are not zero-initialized by the
> toolstack. This is needlessly opaque for something so simple, so this patch
> removes them and replaces them with explicit zero-initialising versions.
>
> The patch also removes PHYSDEV_OP from there, as that seems to be an old
> dead macro.
>
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 13:52:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 13:52:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.627997.978975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r001S-0002Lk-HM; Mon, 06 Nov 2023 13:52:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 627997.978975; Mon, 06 Nov 2023 13: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 1r001S-0002Ld-Ef; Mon, 06 Nov 2023 13:52:10 +0000
Received: by outflank-mailman (input) for mailman id 627997;
 Mon, 06 Nov 2023 13:52: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=gUrR=GT=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r001R-0002LX-28
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 13:52:09 +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 ac7397f9-7cab-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 14:52:07 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4083cd3917eso34529595e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 05:52:07 -0800 (PST)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h19-20020a05600c30d300b004063c9f68f2sm12085344wmn.26.2023.11.06.05.52.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Nov 2023 05:52:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac7397f9-7cab-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699278726; x=1699883526; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=O32cHMpdyaCz5LOPRe7uLWNtRlMxmfU4hBpS+Ae/FCI=;
        b=LhrD3zZd40xGkFTbLPYgmsMvONc+FXTx+JaW9a1MxnvKAZwYoHvsSNSUjUV9EMrOaJ
         UjSGaS3N4dLJi0xtX7KOWC/uEgWiW9TqVL76HwZ2Fy9XrRMlcxS0m3Jz5kbDy8+s/5Yv
         5WTjNiZQPVbOPkPkgcgGrXvfawOdJrRQDTqtM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699278726; x=1699883526;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=O32cHMpdyaCz5LOPRe7uLWNtRlMxmfU4hBpS+Ae/FCI=;
        b=mUQfpdYJZDq4yQUK46dEF8BlpLIl8SWx+2rggk0o9WGOGz54q8lbV7HB2TFcLgwIxD
         5dSBzXjBoy9dVU1E+22m+ybsJWinnkWAjmY6yzKW1FfUaL1+Ff1LMKNXxsTdEL+5mC0K
         iiMzDkeG8WqOlLPlVqgzFgPEpbR2Q9CQZZ6rPtV7T7+a7Z0pGp8weFjZU5hkHOoIZibu
         UoqiIIYokIDKGdA119PRpyh9YQpwXoYP1wdcoKYqR3p5n5yH7iiAjQHQ00nW/ZLb4ev/
         hbaiawPCgPv4MvVaQPcFNvICundOR7FSubc0uqYTVi7s3YkglxpL6/3AawxZHnWJjZfM
         PKPg==
X-Gm-Message-State: AOJu0Yy/OWWrYMTTLtYDM+ECRdwS5HyohQaSU5B6ho4L8HI99198T+CN
	h/GacUCaV9/Q10aH0FOxCx6MdA==
X-Google-Smtp-Source: AGHT+IFRIJJnS6INwHLdDLvL+iK9jG2mVGnXOQei+CLPHVVj94iCTskJQXoAHVlSbwYA8ahhGKi1xw==
X-Received: by 2002:a05:600c:4f44:b0:408:389d:c22e with SMTP id m4-20020a05600c4f4400b00408389dc22emr24384256wmq.25.1699278726701;
        Mon, 06 Nov 2023 05:52:06 -0800 (PST)
Message-ID: <e13a9138-9415-4009-a427-8367013152e2@citrix.com>
Date: Mon, 6 Nov 2023 13:52:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.18 0/2] golang: Binding fixes
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jason Andryuk <jandryuk@gmail.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 George Dunlap <george.dunlap@citrix.com>, Nick Rosbrook
 <rosbrookn@gmail.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Xen Security <security@xen.org>
References: <20231103194551.64448-1-jandryuk@gmail.com>
 <e4d1a87f-fdf3-4461-b212-1ed28c93019b@tibco.com>
 <CE0D9014-BD9A-45C5-90EA-94EF780D5100@arm.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <CE0D9014-BD9A-45C5-90EA-94EF780D5100@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/11/2023 5:38 am, Henry Wang wrote:
> Hi Andrew,
>
>> On Nov 4, 2023, at 03:50, Andrew Cooper <andcooper@tibco.com> wrote:
>>
>> [andcooper@tibco.com appears similar to someone who previously sent you email, but may not be that person. Learn why this could be a risk at https://aka.ms/LearnAboutSenderIdentification ]
> (+Your work email address since this reply somehow ended up with my filter,
> I found this email a bit later, sorry for the late reply.)

sigh.

It seems a Thunderbird update has clobbered my configuration, and for
reasons of the corporate merger, @tibco is still our probably accounts.

I'll see about fixing up.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 13:54:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 13:54:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628001.978985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0046-00031W-VK; Mon, 06 Nov 2023 13:54:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628001.978985; Mon, 06 Nov 2023 13:54: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 1r0046-00031P-SD; Mon, 06 Nov 2023 13:54:54 +0000
Received: by outflank-mailman (input) for mailman id 628001;
 Mon, 06 Nov 2023 13:54: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=fhP7=GT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0045-00031F-Qn
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 13:54:53 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e83f65a-7cac-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 14:54:51 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9865.eurprd04.prod.outlook.com (2603:10a6:10:4f0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.8; Mon, 6 Nov
 2023 13:54:49 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.016; Mon, 6 Nov 2023
 13:54: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: 0e83f65a-7cac-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=a38QHW4l31WwgpnZGchyuAgSV6AiJLsHtjAwas6Gw/8XFo4ixohC2z62dHIxtYhAXdDvQv34nk09p0RLvWnyCb+InicBGV+xBjKkMBmnOPtui6eBu7D0CW7+v0e8Yohi2phTqyJdVtlPRibGB5xY3l7mOdfAlR4CIXFGJEgojmGfICBTBCQpoeUm5UDj9oPpQEg2VFge6Osy0l3c5EIEMTYp40iEkEmMy1eb2s89vZUxnBqRbcVNcoZIRFLCjGWAoT2EpYzse+bnVaPJpIZ4TJNGfFuoeMmFd5h4Y2/OmgSSU5+f9OP6miW2X7ux71PEO7qBueUnJWhaUCuaUQERBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KnCVJruYxgBv2eG/1yjy9xmZRo9eW8MY0BXa4erKkTU=;
 b=kwtUQV9+sOHvgWtIq4EejIfiNFkUyxLkUTql7MHtBq6lG4hMKnMQnrYw8VkjIbrHprRLcymiuMLz+5W+lzyIopaHKT+hG7zJNNeUtzMW9AWaaaxf41jc1ARvp64axQh3JI2UGCDDotoJCKQc+sdL2sz91NT9hXqJeUAZ9rofdY9NgB/qvH6OA3xIh0/90hG/PchcY8zNZ8N8bTB1DDOueq5zGCtj2xaxjWQriwnp3QegmcXxP4yExRmu+xFP6h3slcJSSjKxrMEkN0hg0agKZYiJiUgp5JlPvOqTCGGA8A2QxOdlkc2xkQUiX9l7aR1V+E2tKOrmsByqiuW1Vwj8fA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KnCVJruYxgBv2eG/1yjy9xmZRo9eW8MY0BXa4erKkTU=;
 b=wNbtFz2qDnOBSX629PNYIiLGSW5/84dpUt9P5MZwNs8E7fcMDmntsScrNkYiu7xP2Eq4YOYt6hOkNL/nY6sraByx1vU/Ptr/64+IEppA1JjoAjq4CY/jcO6VhBQ0dkI7L6jnBHeHEp8qkdmuiCyPCYHAbW9OJqrlHHbw8/j2EXFggL5PcUBHs6Gjuaumfv0Lqv27DBigGgNPx7Yd17tcrTXaZPSO0D0qTXYHvFdQixHZOZfOFVxmkctjv6pe5Le/pU+mtjXM/8JRO40OytKbUAG6VHI2O2WE74HCgScPFaZSJ3gB2vUvU8z5/zHgH1HlflA34UT8DZwf2ygyJNZvdQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1e09e3a6-fa95-723b-1477-b76eb7e4ad16@suse.com>
Date: Mon, 6 Nov 2023 14:54:47 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] tools: Remove all DECLARE_* op macros in xc
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Olaf Hering <olaf@aepfle.de>, Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andcooper@tibco.com>
References: <20231106081946.1055-1-alejandro.vallejo@cloud.com>
 <20231106115852.31df968d.olaf@aepfle.de>
 <3620b635-0014-4def-b4c6-aadf099b0410@tibco.com>
 <6548e690.5d0a0220.b4d80.fa60@mx.google.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6548e690.5d0a0220.b4d80.fa60@mx.google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c7::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9865:EE_
X-MS-Office365-Filtering-Correlation-Id: 70590cd8-b7b3-46c6-55ca-08dbdecff101
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gJT1VQsZ34UDHZW6044f2enKC+sQ3o1boAWAhEnzR6IZmtNHBa3+D8TcHoRktfiOlRyCUQCf3jt74003cGpk9XReTjVatnjOzSjN39M1FlAXvP3V1624ad499beyqBHRAvjHEmRpudM0Uc8pAIzx1qdhE/ybXEXtvzl3PkWEWRcpSfLsznHTMgUTBdux8c3GYHwMQszjQKuailW2gM079ZdeK002Zx9gsBrykBKnXzf5Og79r1cvvtIXVUR3HTE5/9dcATLTJdEqxDs/aPWjmm3Qup5+/c54GhTj0cf+TSnCL9Ua1I6y8zTfmftNCmo58ad8Z+uQh34MOvrsYCCph44V7m+qAh8uLKjaDt+Q9/lr8NPHOBvMhiQ/Qlb0/M4utsJvcSltmTOxF8NE2VOZvP+0M+2Y7FLWVHluwn2YU8pCAY7EDjNFMhU+6SMycirGqFRnLuLsuN97fh9nx+A1qp2fsmnJEcC4DIdhh9vd6M7U29xpnFXY4ixMV9pjmnypRocSYFQ4KFfjZqBxjZDbW1YQ44vakU2GThbs5boJhI4mK3BPYWurKHdzs+KAl79p/RAcuOs2kpx/Dnh6WtWcUMW3cYsmUSd3saktDWvleMxMacxgcvPp67o1Yp+JiPzVOxZT00H7uxQQVsp3P25Pi2DvsPOlTCs+/8zEQxjv6K+/69QtY8diiQmyhCmz6DPK
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(376002)(39860400002)(136003)(346002)(230273577357003)(230922051799003)(230173577357003)(186009)(451199024)(1800799009)(64100799003)(2616005)(6512007)(86362001)(4326008)(6916009)(41300700001)(36756003)(66946007)(5660300002)(54906003)(6486002)(966005)(478600001)(66476007)(316002)(31696002)(8936002)(66556008)(26005)(2906002)(8676002)(6506007)(53546011)(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?VnlmclFPekwrZTg0RlBFYU5SRWNlVnFLa3dmZDhsNllDbjJPR3BsdWdCQXhh?=
 =?utf-8?B?TUY0UTR3R0NjMDJ5cnJQSll5RGFCaks1a256dFNQZjQxZUJMRWh4ajJrOUUw?=
 =?utf-8?B?eEkybnlpcThTWTR4ZXFCVW5qLzlHR2tWN3VkSGJDNlYyNmNFR2E0bW8rbHM2?=
 =?utf-8?B?bjNCMDAzWTRTQnlYRytDblcwZVRLNmczUjlKRjdjQ1lFenV3WW5nQTA2VWRv?=
 =?utf-8?B?TXEvV3QzODN5bXBsaHYyQUxmZGdyeDMrRXZZVEJrYnlMYzBLK1dONDJkMW9t?=
 =?utf-8?B?MUNkUkJaTTBwQmxiL1g5WjVoVFY3YUFsZGs5VU00ZFRzOXZ3aWFoK1Z0eWFL?=
 =?utf-8?B?THRmdEtTLzVPV0lEdit1enFsQjZYVTZFTUR1dEdtdCtpeXdobFB6ZGpzQk1w?=
 =?utf-8?B?N0tpa2l2dW1oS3QranFDUlgwY1BzVnRmbU5hZklJa3Zndm9YUUs1V2duL0Jn?=
 =?utf-8?B?RXFFK0R2c21UUm5BVWN1OEVDenp3dlVjdVBJcHVaL2xTU2I4cFNTQkd4TFRH?=
 =?utf-8?B?SjZPbHo4NktPREl4bzg1dUc1YTBQTkkrQ2hoSHJOdUE3WklNVS8veE5RODhh?=
 =?utf-8?B?R1JBTS9BblpwUERJL1dtZ0tBMGdHSy9hMHl6TXJNTVllVUM5RFNMUFA0UkJP?=
 =?utf-8?B?L0JleThxczl2L3FaQ3FPQjBERnM1V2FDUnk2N0R5M1hRZzk1NGptYXJhanpB?=
 =?utf-8?B?NThHaFdrUGlHdjlQVnBpdlNpWnlib1c0WWRVdFl4WDhPK2ZmQmg0Wkk4M29G?=
 =?utf-8?B?MHBCaEs2TTQvWUUrSjk2ZEVvK2FDYkUyQmtIVm5kVFNvM2pCVGcxTXJkSmRS?=
 =?utf-8?B?Zmw3WngrZnloazBIbUVXbmIvZ3lOWXBtSXV6dDlhVXI4eDBHVzhiL202VXB3?=
 =?utf-8?B?V2c3YWNRWGlxMGdneThTUFl4WFJmOWtNZmpXRzE4aTJlcGNVbkdEVnJxMFNu?=
 =?utf-8?B?SlRGWUxuc3BCTUNGaWhTYXpxL1QwbXBJVWl3bERPeHJoczVHWmdLek9td2VT?=
 =?utf-8?B?KzNzWnQwTUF2UlkwRTRwaTVBZnFMbVNyRzNTbG15Yi9rclFmMDJYZFNWUDll?=
 =?utf-8?B?SzFMSDQraXNySXMwY1hCUFNTNmNOWFpkN1Foa3pHelZnNlNoZFBEdHhGYnZU?=
 =?utf-8?B?NnBzZE1OcnJZcmFpSysrdTFKQU1SMFdBbERaN1BpeDZOQy9aNFMwMm1YQVh3?=
 =?utf-8?B?NDFsTU4zd0NGWWltRUJCTEttVWYvWDJZd0NNREE0Szd4SWRZVGNEem5MQmhI?=
 =?utf-8?B?TEZ0M0cyd2JMSGRnRHpIREszVTdQOUxtQzZ6Um9XZjd5QXlraC8yZHF1SEc1?=
 =?utf-8?B?bGh1ODg0Lzl0ZGtvZXNNK3BCUU04VDN5Q2twV3pHdlhxWDlUNk1LelpPeDdT?=
 =?utf-8?B?UE0yZWlPVWJ1RHdmMkxOU0dZU3lTK2NIcEM0enBOZTZlMUFoNmNWRDA0WTk0?=
 =?utf-8?B?N2VqenFHamY2Wk8yRSsyaEY3dVR0VVd5TnZGOU5XOEFUWHJMOXMwczIrWHh0?=
 =?utf-8?B?MHNWOWZ3MFppa0pVT1B0Y2M4RCtkMWtnL0FScDRJL0tuREZvVzlwbExsWjlN?=
 =?utf-8?B?cFlaL1NiQ2J3Z2NqOHR0Y1BxK1Q4enRnQUpxc0NZT1ZyTTFsQkg4V3VJNk5h?=
 =?utf-8?B?YkxkWlpvN3BVR1FXQkVkbzlVN0w0RUQzOGJPWjJDMnJqcWhaVjZsTjJwUmN6?=
 =?utf-8?B?N1YyQ3I4NDF6OUM1UFhCMlh0QWdTNnRScnd3dldUVUFzVEJmN2Rid0x1dC9n?=
 =?utf-8?B?QVFkZUtMOFlYcit5cDJ3Z2x6UHFsMUc5QUJOUHpoVzdRaVlDc2Nqa3BTTlpl?=
 =?utf-8?B?R01oVklwK1U5RDgyOXdUeUNXWXRQcHNCTTM1c1FNSmRoSENoNGtQNXphYXNp?=
 =?utf-8?B?QU1KT0ZzbC81U0IvNFBKd2NzdmJSZGZIMW52L25id1pXRmhaWGdybXJiRmln?=
 =?utf-8?B?MzJadE50NnAyaFdYSnRTS2kxRTVIckFlYmdHa1cybUF3QmxHOEFkV3FNbzJH?=
 =?utf-8?B?dmxzbnAvR3hUQU5HYVQ0dVJGN25UVkFsVVBzOHJjRnNQa3lFK1VDbTA5SGYr?=
 =?utf-8?B?Z29BbVpmQzUrcGpwSlB0b0l4ZktLcitlRExDZExiUXFBQjhwVllVR3ZYR3Zz?=
 =?utf-8?Q?3Mf5DPC8F9VT7kagf0DQZWYB8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 70590cd8-b7b3-46c6-55ca-08dbdecff101
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 13:54:48.7441
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: l3i7urYQicpFKj2T7OqAQnGHapBrCRFMAbUFXbn0Q6kCjTx1cuV4iphgGeJhOZp/PXgHU5gebIcTWAG1Z59oZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9865

On 06.11.2023 14:13, Alejandro Vallejo wrote:
> On Mon, Nov 06, 2023 at 11:29:57AM +0000, Andrew Cooper wrote:
>> On 06/11/2023 10:58 am, Olaf Hering wrote:
>>> Mon,  6 Nov 2023 08:19:46 +0000 Alejandro Vallejo <alejandro.vallejo@cloud.com>:
>>>
>>>> +    struct xen_sysctl sysctl = {0};
>>> What is that zero doing here? I think a plain {} will do it as well.
>>
>> Indeed.  It needs to be {} and not {0} to compile on some obsolete but
>> still supported versions of GCC.
>>
>> ~Andrew
> I tried to find out what you're talking about and all I could find was:
> 
>   https://gcc.gnu.org/bugzilla/show_bug.cgi?id=36750
> 
> I'm guessing we are already inhibiting that warning because grepping for
> {0} shows a bunch of uses of this pattern both in toolstack and the
> hypervisor. If this breaks something it's already broken.

But it depends on the nature of the structure / union whether old gcc
would have an issue here. Just seeing the pattern in some places doesn't
mean they're also fine to have elsewhere.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 13:59:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 13:59:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628009.978995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r008o-0004xZ-HC; Mon, 06 Nov 2023 13:59:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628009.978995; Mon, 06 Nov 2023 13: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 1r008o-0004xS-EA; Mon, 06 Nov 2023 13:59:46 +0000
Received: by outflank-mailman (input) for mailman id 628009;
 Mon, 06 Nov 2023 13:59: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 1r008n-0004xI-DJ; Mon, 06 Nov 2023 13:59: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 1r008n-0002BT-5n; Mon, 06 Nov 2023 13:59: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 1r008m-00056K-MZ; Mon, 06 Nov 2023 13:59:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r008m-0004dJ-M8; Mon, 06 Nov 2023 13:59: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=yZsq6C1B+K5Q1kSJr0VK4mbgyCjWdGEWKHptuqD2dGg=; b=taHKMqWCdinVg0RxcXsGF2sG9r
	gAmFZ/1xjpu7slkGV19kpmz3pbkZerhJkoYapLAlxfbuR8tXP9WBcoRylegWttPj8GhhjN4Eo/BC/
	XQDMPl6fr/piRDTpXQaGzZhNV4qHxIm9PxFiH2AKpxIOIkfKsp81O9anXpUA0ARWA5do=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183690-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183690: tolerable trouble: fail/pass/starved
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-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: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-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-amd64-amd64-libvirt-xsm:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-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
    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-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:hosts-allocate:starved:nonblocking
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
X-Osstest-Versions-That:
    xen=5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Nov 2023 13:59:44 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183686
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183686
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183686
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183686
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183686
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183686
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183686
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183686
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183686
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183686
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 183686
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183686
 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      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-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-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-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     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-amd64-amd64-libvirt-xsm 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-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-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-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-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-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  3 hosts-allocate               starved n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  3 hosts-allocate               starved n/a

version targeted for testing:
 xen                  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
baseline version:
 xen                  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7

Last test of basis   183690  2023-11-06 01:52:13 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                           starved 
 test-amd64-i386-qemuu-rhel6hvm-amd                           starved 
 test-amd64-amd64-dom0pvh-xl-amd                              starved 
 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-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-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 Nov 06 14:12:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:12:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628016.979005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00Ko-0008UO-R9; Mon, 06 Nov 2023 14:12:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628016.979005; Mon, 06 Nov 2023 14:12: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 1r00Ko-0008UH-O7; Mon, 06 Nov 2023 14:12:10 +0000
Received: by outflank-mailman (input) for mailman id 628016;
 Mon, 06 Nov 2023 14:12: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 1r00Kn-0008U7-5P; Mon, 06 Nov 2023 14:12: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 1r00Km-0002fL-Si; Mon, 06 Nov 2023 14:12: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 1r00Km-0005OU-GP; Mon, 06 Nov 2023 14:12:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r00Km-0007kQ-Fz; Mon, 06 Nov 2023 14:12: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=BiohGMosWBYIx9B3bSvS48TUX7rf3o6uWv63Dik3G+8=; b=MhCBonP3hHrZwynywDqQymdCdm
	F/ZT8viGupExuABHGEK9kwtl73TUFczEptEtFRznoOuzYCuy9/f07TMLmJjtJzGVybe/TwRN4RMim
	0G2lEZTK5HybOxcxTadFASaeKd8dHRZBiIijMh5LuCqIzEKqba13gBI4OG8yWKVMlo+0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183692-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183692: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-raw:host-ping-check-xen:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=d2f51b3516dade79269ff45eae2a7668ae711b25
X-Osstest-Versions-That:
    linux=1cfb751165ef685b80635218beff38d6afbce4e2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Nov 2023 14:12:08 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 10 host-ping-check-xen fail pass in 183693-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail blocked in 183688
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 183693 like 183688
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 183693 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183688
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183688
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183688
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183688
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183688
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183688
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt     15 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                d2f51b3516dade79269ff45eae2a7668ae711b25
baseline version:
 linux                1cfb751165ef685b80635218beff38d6afbce4e2

Last test of basis   183688  2023-11-05 19:14:09 Z    0 days
Testing same since   183692  2023-11-06 03:32:37 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Palmer <daniel@0x0f.com>
  Doug Berger <opendmb@gmail.com>
  Dragos Tatulea <dtatulea@nvidia.com>
  Eugenio Pérez <eperezma@redhat.com>
  Fabio Estevam <festevam@denx.de>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Jason Wang <jasowang@redhat.com>
  Jason-JH.Lin <jason-jh.lin@mediatek.com>
  Jassi Brar <jaswinder.singh@linaro.org>
  Javier Carrasco <javier.carrasco.cruz@gmail.com>
  Kathiravan Thirumoorthy <quic_kathirav@quicinc.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lei Yang <leiyang@redhat.com>
  Leon Romanovsky <leon@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Marek Vasut <marex@denx.de>
  Maxim Korotkov <korotkov.maxim.s@gmail.com>
  Michael S. Tsirkin <mst@redhat.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nikita Shubin <nikita.shubin@maquefel.me>
  Peng Fan <peng.fan@nxp.com>
  Rob Herring <robh@kernel.org>
  Romain Perier <romain.perier@gmail.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shawn.Shao <shawn.shao@jaguarmicro.com>
  Si-Wei Liu <si-wei.liu@oracle.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Tanmay Shah <tanmay.shah@amd.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Xuan Zhuo <xuanzhuo@linux.alibaba.com>
  Xueshi Hu <xueshi.hu@smartx.com>
  zhenwei pi <pizhenwei@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-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                              starved 
 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-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                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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
   1cfb751165ef..d2f51b3516da  d2f51b3516dade79269ff45eae2a7668ae711b25 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:20:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:20:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628022.979014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00Sn-0003C5-LX; Mon, 06 Nov 2023 14:20:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628022.979014; Mon, 06 Nov 2023 14: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 1r00Sn-0003By-Iu; Mon, 06 Nov 2023 14:20:25 +0000
Received: by outflank-mailman (input) for mailman id 628022;
 Mon, 06 Nov 2023 14:20: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=y50s=GT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r00Sn-0003Bs-1t
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:20:25 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9f87af35-7caf-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:20:23 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id F1D0C4EE0740;
 Mon,  6 Nov 2023 15:20:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f87af35-7caf-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Mon, 06 Nov 2023 15:20:22 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [RFC 1/4] x86/ioemul: address MISRA C:2012 Rule 9.3
In-Reply-To: <alpine.DEB.2.22.394.2310271419260.271731@ubuntu-linux-20-04-desktop>
References: <cover.1698155925.git.nicola.vetrini@bugseng.com>
 <76c9f78179a8bb5b4f99b34f163933394f79066c.1698155925.git.nicola.vetrini@bugseng.com>
 <60e26ad6-7366-2604-e9b2-ed401cee6e73@suse.com>
 <alpine.DEB.2.22.394.2310241317030.271731@ubuntu-linux-20-04-desktop>
 <41562c7a-6260-3104-b2d4-d6fd4df0cffc@suse.com>
 <4e88d7ab94b9fc73554eee5b78612b63@bugseng.com>
 <8cb336ca-41ed-8adc-957a-28b5585c84f1@suse.com>
 <alpine.DEB.2.22.394.2310271419260.271731@ubuntu-linux-20-04-desktop>
Message-ID: <9888aa5c298584c22cf55b13befeaaa6@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-10-27 23:38, Stefano Stabellini wrote:
> On Thu, 26 Oct 2023, Jan Beulich wrote:
>> On 26.10.2023 14:32, Nicola Vetrini wrote:
>> > On 25/10/2023 09:56, Jan Beulich wrote:
>> >> On 24.10.2023 22:27, Stefano Stabellini wrote:
>> >>> On Tue, 24 Oct 2023, Jan Beulich wrote:
>> >>>> On 24.10.2023 16:31, Nicola Vetrini wrote:
>> >>>>> Partially explicitly initalized .matches arrays result in violations
>> >>>>> of Rule 9.3; this is resolved by using designated initializers,
>> >>>>> which is permitted by the Rule.
>> >>>>>
>> >>>>> Mechanical changes.
>> >>>>>
>> >>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> >>>>
>> >>>> While not overly bad, I'm still not really seeing the improvement.
>> >>>> Yet aiui changes induced by Misra are supposed to improve things in
>> >>>> some direction?
>> >>>
>> >>> I think the improvement is clarity, in the sense that the designated
>> >>> initializers make it clearer that the array may be sparsely
>> >>> initialized
>> >>> and that the remaining elements should be initialized to zero
>> >>> automatically.
>> >>
>> >> That's as clear from the original code, imo.
> 
> This specific instance is simple and might be clear either way, but in
> general especially in more complex scenarios and potentially nested
> structures and arrays, it could be harder to figure out and that leads
> to errors. The MISRA checker is a powerful tool to help us make sure 
> the
> code is correct in all cases, but to take advantage of it properly we
> need to get to the point where we don't have violations in the current
> code.
> 
> Looking at the results, we have zero violations for Rule 9.3 on ARM
> already and only 55 on x86. It should be possible to fix them all
> mechanically in short order. Of course for that to happen, we need to
> make some compromises. For instance, adding {0} like in the example
> below, or adding [0]=init,[2]=init like in the first version of the
> patch. Taking individually, they might not be all great improvements,
> but all together having the Xen codebase Rule 9.3-free and easy to scan
> for future violations should be.
> 
> 
> 
>> > There's also this functionally equivalent alternative, with or without
>> > the zeros, which
>> > doesn't incur in the risk of mistakenly attempting to initialize the
>> > same element twice,
>> > while also giving an explicit cue to the reader that all elements are
>> > truly zero-initialized.
>> >
>> >           .matches = {
>> >               DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
>> >               DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL5"),
>> > +            {0}, {0}
>> >           },
>> 
>> Adding a dependency on the array actually having 4 elements (while 
>> iirc
>> we have seen already that we could in principle go down to 3). A 
>> change
>> of this number would then require touching all these sites, which is
>> what we'd like to avoid.
> 
> How often the array needs to change though? Looking at the git history
> it doesn't seem the number of elements ever changed. So I think it is a
> good tradeoff, and I would go with this type of fix (maybe also at the
> other locations mechanically too although I haven't looked at them in
> details).

Hi, any updates on this? Considering the opinions expressed above, what 
would
be the path preferred by the community?

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:24:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:24:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628027.979025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00XA-0004XZ-5V; Mon, 06 Nov 2023 14:24:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628027.979025; Mon, 06 Nov 2023 14:24: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 1r00XA-0004XS-2w; Mon, 06 Nov 2023 14:24:56 +0000
Received: by outflank-mailman (input) for mailman id 628027;
 Mon, 06 Nov 2023 14: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=y50s=GT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r00X8-0004XM-Rw
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:24:54 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4003c4b0-7cb0-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 15:24:52 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 5D7D94EE0740;
 Mon,  6 Nov 2023 15:24:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4003c4b0-7cb0-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Mon, 06 Nov 2023 15:24:52 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH][for-4.19 v4] xen: address violations of Rule 11.9
In-Reply-To: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com>
References: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com>
Message-ID: <fe9f04781ea1ad9bc5f9b92bf58cd09b@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-10-19 09:55, Nicola Vetrini wrote:
> The constant 0 is used instead of NULL in '__ACCESS_ONCE' as a
> compile-time check to detect non-scalar types; its usage for this
> purpose is deviated.
> 
> Furthermore, the 'typeof_field' macro is introduced as a general way
> to access the type of a struct member without declaring a variable
> of struct type. Both this macro and 'sizeof_field' are moved to
> 'xen/macros.h'.
> 
> No functional change intended.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Changes in v2:
> - added entry in deviations.rst
> Changes in v3:
> - dropped access_field
> - moved macro to macros.h
> ---
> Changes in v4:
> - Amend deviation record.
> ---

This patch has received some R-by-s, but no acks at the moment.
Perhaps at least one is needed to get this into 4.19?

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:28:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:28:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628033.979034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00aD-0005W6-Jo; Mon, 06 Nov 2023 14:28:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628033.979034; Mon, 06 Nov 2023 14:28: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 1r00aD-0005Vz-Gq; Mon, 06 Nov 2023 14:28:05 +0000
Received: by outflank-mailman (input) for mailman id 628033;
 Mon, 06 Nov 2023 14:28: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=fhP7=GT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r00aB-0005Vt-Pu
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:28:03 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe12::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b1310af8-7cb0-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:28:02 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7548.eurprd04.prod.outlook.com (2603:10a6:10:20c::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.16; Mon, 6 Nov
 2023 14:28:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.016; Mon, 6 Nov 2023
 14:28: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: b1310af8-7cb0-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J9x9sB4TV7IReacBntZ9W6hHLZIA7xCWXJEzgpdl/eRFNGYku5bgolIc2wZF9MzFq32Gn1rNymf/9m512+ljJoLY7roNf5I+cDcXojSD3PJ+tx5jzUX13evRsAg34GuWTuY1ldZu/lOezCotzQyyJhFwiC/3vcfGfv8cyIZRyfF6aWZ6U0Gg2aMH7D/sghIhHlQG5gUwe2A2jkRWyDe/C62KbrwO9SWGteBG4D7stV+AzhnY22jdBUd6Kx6EKXP992PIVKfGMXqCZzreQNU9QAFav8Q6FXZSGtTr2sO8SpC+PjxJHtKudkWp4V7b3VNnZN26yMNoxrPFurcMYwN/PA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zbzF92ZsPyTGKT4HUFdTx0UvVSW1J+2BxcYu8QUCqyQ=;
 b=fE3RJ9rqTCCFHzRhbBgHEFxA4JtNo1AJAShYzfiStEouHRKMpTfEV2UJSx/TE7jNAhAp0Gk22gV/SRfVmZXra2P2vJ4hyp/rNqVp22pH2Pwh9RJWGyopUsibyXbOt023f8mtrN2zx1VQkPxfzgZe81SAv5+X8ZOPxHrD0MUgLNQEqeL+z+Nd2yg91AJF5zaBVnbNonVGuYmo+YdqTcOimrsvXn1oV10Xbz+LMbUp5BOvQSI0XZXsz6NjyIS+ihQfOWwV8nxGTI46Ilrpt2/5xeERUBa4kIDj++QL512cuRIUr/keCzQCSVECatNiVXy7O+9DQxh9PaBZnBD4FPc4Vg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zbzF92ZsPyTGKT4HUFdTx0UvVSW1J+2BxcYu8QUCqyQ=;
 b=OAjA7wFbM8doV3bxafLyM0UJ2HycY9Duvn15WjUi89HYffS0DporuGWaaKEHU8gevSANmY84i2Vu0gjnndmKJ/B9sxFT7Amg/PRbgx6CoI1YlWICx1KMaBJpWM59oxA0r5ohUbFflLk/6VK1IVfjgwS4utP2GmaTrG3zLGt7W3h6PtSM+ayLzrrF/NtL6daFISPSNPul1xQI4/N9Ra125W+O+eIqZt1MaAC6y9g5D4Zvf9xNRvQesqUOYdbgssiacF5cPHTkcfvmkbF2jH/G1tJERP0tdI7BAMifzg90Y3+NjSHMe1vxjt6EQc9aFavc8EuWga11BJZwACrqd6IpPA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fc56aa7c-9931-cadf-53cd-0f1f482a953d@suse.com>
Date: Mon, 6 Nov 2023 15:27:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19 v4] xen: address violations of Rule 11.9
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com>
 <fe9f04781ea1ad9bc5f9b92bf58cd09b@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <fe9f04781ea1ad9bc5f9b92bf58cd09b@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7548:EE_
X-MS-Office365-Filtering-Correlation-Id: 435601de-3537-4c61-59c0-08dbded49484
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cS7mxcHBsHwzmar9UKZQADwOi4VWOOSQ/6Q9GxuNDzbiihln0eCdtSe8E78HjE41mTRIWEGHvymzcBv8z6Lx4BzAZ8JfNKevX/kRAeh2mZbfD9WToaWhNXtTA1JI3sNE1LFSWL/TA1y6uLOJxsKhWJeif2BxQ8cRYb/5AGA+38Dg1C6LrhAeYGXuekTWSlovbMeBj0gAGbYYu3BkJlZeM4mYaC/rd3h8F1EqYnVy7YCnGuM5tdF2gc8Iv7Enke1xYhyvj7V9z6VBp0viJNVXJ4XkDlwfX/6cxf8EEk3pDSBSwHgzS67OeONyhxfYlpHw4vDUJFFPn8zwfay7iuqJEvW5lUyHSNWJ85bVykrSTi+YgfJkZ50LimKF9eFQKD0qtqPndDXpmK9vST87unBCivFtW4PBGEKkGYwC3AFhqIdaquoxgCJjTa66QsX5L8AYvcl3cd3enZqjU9elvekZvRE0fwY2u/t8k6MniWyG0R5X4nFT5+w4kxP6zgSnRbc29M7jtktJB0rWrbocaBRYqsB2YKGxWKb9vs3p0HnkM2NFmD4otGJ/6O6fz4gtyTqwG4l1Br/VeAS92qO766Pjlrji1amnX16gQg8Lbgol6t3AcUtrMtY3ZvD9PvFkPKQcodMzTYjHTfenGCE7R70Zsw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(136003)(39860400002)(396003)(366004)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(36756003)(31686004)(31696002)(86362001)(38100700002)(6512007)(53546011)(6506007)(2616005)(26005)(6486002)(316002)(8676002)(66946007)(6916009)(66476007)(66556008)(83380400001)(4326008)(54906003)(8936002)(478600001)(2906002)(7416002)(4001150100001)(5660300002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MXBRSGFBVzdnT0NDSWpUbHRoNVRpYzdtSXdMdC9sVXk2TTJsak1ibGtiTlA0?=
 =?utf-8?B?TzRDTTVjWnJpTWdNcEpISUgzOUZ0WmZUYWljSGtRSWxwdlBWZi9PU0FNbkh1?=
 =?utf-8?B?RkhkWENLUk9kUzh1TUZjWE9FWjRwK0d5RmZWYklNRnpEOEZEOFhKSUs2blZj?=
 =?utf-8?B?YVZmR2VhTFJ4V0FsajFQdktORjNzWDhhd3NZUEc0Rm5ZbERoMW1JRHJoYlJG?=
 =?utf-8?B?dXVsTi8yMVBtaHExR3h3eUFLbDNEUmVWcVBoTWQ5SGlqeFo1TEdsSlFVRDFW?=
 =?utf-8?B?bll4T1B1U01XSHZSc2NxSloxbkFhYmJvV3o0ZERnc2tuMHVpTkRBT0pFOFVG?=
 =?utf-8?B?aTlXMytVWlFhU21pTld6T2RadjMyUjUrRjB4SnpMVUVSMDYvbVM4WFlCQk1N?=
 =?utf-8?B?bzFVWC9NVk9EWU1kdmMwMXJmRVZuaVRkb0YzVmIyaUlaU2srd0JaUzlaanlH?=
 =?utf-8?B?elpuNDU2cExSZXpZS25kamhFUjBheHNHbHdrdk5TejVBQUZrNjFWSWQ4ZHBL?=
 =?utf-8?B?engyU0VDYUlmSGVZUWdvSHVxM1N2WHNXb0tyK2d1Rkh6Ykw3SGVWZXovTzZB?=
 =?utf-8?B?KzJQU2Q3VmRoOWNnb2xveEtHeHAvRCtFUSsxK3B6a2wreTBGUDdFamppSjdr?=
 =?utf-8?B?VFV5SzNDS2tkbFFhNVg5THJqZmRBaThCODQ5L05IVlpWMFRwRVpGVXlqMGlV?=
 =?utf-8?B?OTVNc21nenRvRUY3VUgyNW5VM2dtOFhSY0NZc0dnS3dlek1oT3cvR1FIRjNZ?=
 =?utf-8?B?eUREekszVC83UzBJQ0M3Z3RvNm9LdGFKY2l2T0RuSlRJSDY5c3lKTncycmha?=
 =?utf-8?B?MWhGRnJqUk5UOFc5ZFVOeEJ3UXB4VFRyczZhbnJsYlArTlBqZlVIelJjUnAz?=
 =?utf-8?B?WFpnRkk0bnVXWUFIK2FtZFhsby9rQ3hJaThKTnQ1MXFMTkt6Q3lKK0hOVk5t?=
 =?utf-8?B?WldraVdFR0JCcGpUVFE3YUlVMGZrdEJJV1lmS3dYUEhpNnZmRk9rdTZ4SC9w?=
 =?utf-8?B?VE4yY3ZYbDNwZ2hkZy9vVWwrNUs1SjVvQzAwSGtlM3ZOOHZSZjQxSW14dUl4?=
 =?utf-8?B?a1FQMDNDcXdsblRGbjNVNnVlaUYyZDNPcG5NYzJMdm1xR2RJZVFRenY3cFVa?=
 =?utf-8?B?Y3ErUHVKaDBsZDVjMUVCWXVEK2tHREplWmY4UnFwWHM4MTZhOTI4eXJrTm9E?=
 =?utf-8?B?UzJtRzZZamRMR2s3RHVYZzBQckxVNy9WemZyQTBydjA3cnZlYUNVV2JoNVA3?=
 =?utf-8?B?VVAzOEcxeXFJREJkeXhkZlRQMDlucWMwZFBUT1hUdTdabEEyY2pWQlN2NjhL?=
 =?utf-8?B?VC9hWGtROEREY1JjcERxbW9tYWNmVXNhWFdxY1RlU09RRHZmNG1qUUh0QytE?=
 =?utf-8?B?b3VhWGZNWGdUV2dKQ2Vab2dFWkZwVmo0MXExTkhqNjJna2pCSUVka2FpV25j?=
 =?utf-8?B?SGQ4OHYvVTFCQnZ4WGRvTXZHRzV3K0ZkVzZ1bnlUN0VkUHRFUmtHYTJJTHkz?=
 =?utf-8?B?Q0NFcjZNSSt0TnQzMGFudnNTbkJYQU41MVF1VXVjbThIZEFGeCs5RnBCVjFO?=
 =?utf-8?B?R2J0K2twNktnY3d4c0o2cDhOdkl6T2dXMGEyRDlxM0ZucWZRZ20rRXpaZjRJ?=
 =?utf-8?B?UEFyV2pQdG1BTTdxUm9naFRnYUQvaW5xa2pQa3FPdlEzMEtnZWNZOUQ0Rzdp?=
 =?utf-8?B?MGgzdlhpM05oYm0vS1ZOaEJDcTQ4SHRPR1JRbWFlVzZuTHRManp4eEdHYXdu?=
 =?utf-8?B?MzVXLzRyQ1o2dlE4aTVZbGhnRGVIditBWG5NRVRkU0d0amFqZ3FrbXZuY0sr?=
 =?utf-8?B?cnl6UlIxRlRLSnJIQnpiSUNMbDljU0NmZmxZTDFTd3pUSnZ4MEpCckdGVG5B?=
 =?utf-8?B?SjREbXBWMWZwQXRFY3d0T1BBWGdRNHFTazNDNjU2WjQwcmg4MmhvUi93TmhT?=
 =?utf-8?B?aGxtVTNiY0RIK1dEa2oyYllGRyt3LytWR040WnpyNVFDSERoSWZQZzhXN3RB?=
 =?utf-8?B?QitDN3NScVMyUkJHWlZuWnh6VkFhS0xCcnhmWitYdlNEK29CRmFxQTE5dFVi?=
 =?utf-8?B?SWQ4MjJGK3VwWnlvM09rUU51bnVmYXR4dFl1bUd3Qmh1MGFPS0k3bjhtY2Jz?=
 =?utf-8?Q?3ymLSV8zsfTBH4i5VmzQEZc6k?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 435601de-3537-4c61-59c0-08dbded49484
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 14:28:01.0651
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +g4k2bDizePw7Q3glDjxqDIoKMNvaU3W7ymCotGk2HqZMKDxeT3mfthQWuPSjJldeSPiw/u2tdwETe2rDmUDdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7548

On 06.11.2023 15:24, Nicola Vetrini wrote:
> On 2023-10-19 09:55, Nicola Vetrini wrote:
>> The constant 0 is used instead of NULL in '__ACCESS_ONCE' as a
>> compile-time check to detect non-scalar types; its usage for this
>> purpose is deviated.
>>
>> Furthermore, the 'typeof_field' macro is introduced as a general way
>> to access the type of a struct member without declaring a variable
>> of struct type. Both this macro and 'sizeof_field' are moved to
>> 'xen/macros.h'.
>>
>> No functional change intended.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>> ---
>> Changes in v2:
>> - added entry in deviations.rst
>> Changes in v3:
>> - dropped access_field
>> - moved macro to macros.h
>> ---
>> Changes in v4:
>> - Amend deviation record.
>> ---
> 
> This patch has received some R-by-s, but no acks at the moment.
> Perhaps at least one is needed to get this into 4.19?

I didn't think it does, and I have it marked as ready to go in. But
from an earlier email from Stefano I inferred that it might be
preferable to commit larger sets of Misra changes only once the tree
is fully open again.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:28:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:28:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628035.979045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00aV-0005r4-VM; Mon, 06 Nov 2023 14:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628035.979045; Mon, 06 Nov 2023 14: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 1r00aV-0005qx-SK; Mon, 06 Nov 2023 14:28:23 +0000
Received: by outflank-mailman (input) for mailman id 628035;
 Mon, 06 Nov 2023 14:28: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=ruOg=GT=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r00aU-0005qR-7z
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:28:22 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb514086-7cb0-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 15:28:19 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-50939d39d0fso5895688e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 06:28:19 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 h16-20020a05600004d000b0032dbf99bf4fsm9748253wri.89.2023.11.06.06.28.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 06:28:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb514086-7cb0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699280898; x=1699885698; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=9bggPV/g63AZVzvaMXpD354U5ftKOCvH5qww65SI6YY=;
        b=l3g6Dq4vynhq+gGj4e5e4nH3LK+qruFwplPJAiy/DfQHm513i2EzSQoZIDg5bPSPpi
         ECLrGFlXzdd5bw4R8Iraul0eXr9+bfVRaI+HSD0o8v05LVQHGe3Iip50qn+Vy0dzLGVH
         Vxz5s98bGiYKmYjauhOiVYm9VfA6D5cyE1oCw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699280898; x=1699885698;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=9bggPV/g63AZVzvaMXpD354U5ftKOCvH5qww65SI6YY=;
        b=BBbPqqx5FnYp/XlKJnI5dyd7grMBcDi5krxgn6Y03ZO2JhCzCWhDvhxAE2Y89MpMm2
         oWbMK8sskzCH0NnuW/wSCV+JAMtPBxi1uEZJeAMZMeUlQ6m5AmCzQ0FyPERxEWC51yxH
         xAjk9w4h8rXKol/uXwKULv63Tp6YvBs+2ojiePk4L2oZd7lT5Q819guM/bSfEEjuCt4R
         5mg99FO1PH2TR+GtXpcK+0rLj8E0AkZBav3+U33w1+NaIWylrOviAkuFDy6GT4Oa6XJl
         o4eSg8AIV9aMsE6n8kTYgTtniATnzZ6Ruhz4fZFObyh7gaoC3Tk8vRjxeW2DKpPXVubd
         3ZKQ==
X-Gm-Message-State: AOJu0Yzq8oD1mVQ8poktNVic5FIDCBzw3DMLBK1ujAnjnRecMDpoY2l8
	cw2GbUaY7ovZg8NxhrYP0TV+xEUDt9/8rsVlWDw=
X-Google-Smtp-Source: AGHT+IEI8jt9waQPm9QfY5EF4YHvv2xk2jebXW61g4Rqv3tkCs3fQNNBAb+wxzQPJEZqKjVGVSsLjg==
X-Received: by 2002:a05:6512:4845:b0:500:acf1:b432 with SMTP id ep5-20020a056512484500b00500acf1b432mr23568668lfb.63.1699280898163;
        Mon, 06 Nov 2023 06:28:18 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@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: [PATCH v4] x86/x2apic: introduce a mixed physical/cluster mode
Date: Mon,  6 Nov 2023 15:27:39 +0100
Message-ID: <20231106142739.19650-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current implementation of x2APIC requires to either use Cluster Logical or
Physical mode for all interrupts.  However the selection of Physical vs Logical
is not done at APIC setup, an APIC can be addressed both in Physical or Logical
destination modes concurrently.

Introduce a new x2APIC mode called Mixed, which uses Logical Cluster mode for
IPIs, and Physical mode for external interrupts, thus attempting to use the
best method for each interrupt type.

Using Physical mode for external interrupts allows more vectors to be used, and
interrupt balancing to be more accurate.

Using Logical Cluster mode for IPIs allows fewer accesses to the ICR register
when sending those, as multiple CPUs can be targeted with a single ICR register
write.

A simple test calling flush_tlb_all() 10000 times on a tight loop on AMD EPYC
9754 with 512 CPUs gives the following figures in nano seconds:

x mixed
+ phys
* cluster
    N           Min           Max        Median           Avg        Stddev
x  25 3.5131328e+08 3.5716441e+08 3.5410987e+08 3.5432659e+08     1566737.4
+  12  1.231082e+09  1.238824e+09 1.2370528e+09 1.2357981e+09     2853892.9
Difference at 95.0% confidence
	8.81472e+08 +/- 1.46849e+06
	248.774% +/- 0.96566%
	(Student's t, pooled s = 2.05985e+06)
*  11 3.5099276e+08 3.5561459e+08 3.5461234e+08 3.5415668e+08     1415071.9
No difference proven at 95.0% confidence

So Mixed has no difference when compared to Cluster mode, and Physical mode is
248% slower when compared to either Mixed or Cluster modes with a 95%
confidence.

Note that Xen uses Cluster mode by default, and hence is already using the
fastest way for IPI delivery at the cost of reducing the amount of vectors
available system-wide.

Make the newly introduced mode the default one.

Note the printing of the APIC addressing mode done in connect_bsp_APIC() has
been removed, as with the newly introduced mixed mode this would require more
fine grained printing, or else would be incorrect.  The addressing mode can
already be derived from the APIC driver in use, which is printed by different
helpers.

Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v3:
 - Rename Kconfig option.
 - Cosmetic code fixes.
 - Return negative error from parse_x2apic_mode().
 - Add cf_check attribute to cmdline parsing hook.
 - Add more figures re the performance difference.

Changes since v2:
 - Split comment regarding usage of genapic fields.
 - Remove the printing of the APIC addressing mode in connect_bsp_APIC().

Changes since v1:
 - Add change log entry.
 - Fix indentation and usage of tristate in Kconfig.
 - Adjust comment regarding hooks used by external interrupts in
   apic_x2apic_mixed.
---
 CHANGELOG.md                      |  3 +
 docs/misc/xen-command-line.pandoc | 12 ++++
 xen/arch/x86/Kconfig              | 35 +++++++++--
 xen/arch/x86/apic.c               |  6 +-
 xen/arch/x86/genapic/x2apic.c     | 98 +++++++++++++++++++++++--------
 5 files changed, 119 insertions(+), 35 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index b184dde8b15f..c341c9d0bf5d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ### Changed
 
 ### Added
+ - On x86:
+   - Introduce a new x2APIC driver that uses Cluster Logical addressing mode
+     for IPIs and Physical addressing mode for external interrupts.
 
 ### Removed
 
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 9a19a04157cb..8e65f8bd18bf 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -2804,6 +2804,15 @@ the watchdog.
 
 Permit use of x2apic setup for SMP environments.
 
+### x2apic-mode (x86)
+> `= physical | cluster | mixed`
+
+> Default: `physical` if **FADT** mandates physical mode, otherwise set at
+>          build time by CONFIG_X2APIC_{PHYSICAL,LOGICAL,MIXED}.
+
+In the case that x2apic is in use, this option switches between modes to
+address APICs in the system as interrupt destinations.
+
 ### x2apic_phys (x86)
 > `= <boolean>`
 
@@ -2814,6 +2823,9 @@ 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.
 
+**WARNING: `x2apic_phys` is deprecated and superseded by `x2apic-mode`.
+The latter takes precedence if both are set.**
+
 ### xenheap_megabytes (arm32)
 > `= <size>`
 
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index eac77573bd75..1acdffc51c22 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -228,11 +228,18 @@ config XEN_ALIGN_2M
 
 endchoice
 
-config X2APIC_PHYSICAL
-	bool "x2APIC Physical Destination mode"
+choice
+	prompt "x2APIC Driver default"
+	default X2APIC_MIXED
 	help
-	  Use x2APIC Physical Destination mode by default when available.
+	  Select APIC addressing when x2APIC is enabled.
+
+	  The default mode is mixed which should provide the best aspects
+	  of both physical and cluster modes.
 
+config X2APIC_PHYSICAL
+	bool "Physical Destination mode"
+	help
 	  When using this mode APICs are addressed using the Physical
 	  Destination mode, which allows using all dynamic vectors on each
 	  CPU independently.
@@ -242,9 +249,27 @@ config X2APIC_PHYSICAL
 	  destination inter processor interrupts (IPIs) slightly slower than
 	  Logical Destination mode.
 
-	  The mode when this option is not selected is Logical Destination.
+config X2APIC_CLUSTER
+	bool "Cluster Destination mode"
+	help
+	  When using this mode APICs are addressed using the Cluster Logical
+	  Destination mode.
+
+	  Cluster Destination has the benefit of sending IPIs faster since
+	  multiple APICs can be targeted as destinations of a single IPI.
+	  However the vector space is shared between all CPUs on the cluster,
+	  and hence using this mode reduces the number of available vectors
+	  when compared to Physical mode.
 
-	  If unsure, say N.
+config X2APIC_MIXED
+	bool "Mixed Destination mode"
+	help
+	  When using this mode APICs are addressed using the Cluster Logical
+	  Destination mode for IPIs and Physical mode for external interrupts.
+
+	  Should provide the best of both modes.
+
+endchoice
 
 config GUEST
 	bool
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index f1264ce7ed1e..6acdd0ec1468 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -229,11 +229,7 @@ void __init connect_bsp_APIC(void)
         outb(0x01, 0x23);
     }
 
-    printk("Enabling APIC mode:  %s.  Using %d I/O APICs\n",
-           !INT_DEST_MODE ? "Physical"
-                          : init_apic_ldr == init_apic_ldr_flat ? "Flat"
-                                                                : "Clustered",
-           nr_ioapics);
+    printk("Enabling APIC mode.  Using %d I/O APICs\n", nr_ioapics);
     enable_apic_mode();
 }
 
diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
index 707deef98c27..b88c7a96fe3e 100644
--- a/xen/arch/x86/genapic/x2apic.c
+++ b/xen/arch/x86/genapic/x2apic.c
@@ -180,6 +180,36 @@ static const struct genapic __initconstrel apic_x2apic_cluster = {
     .send_IPI_self = send_IPI_self_x2apic
 };
 
+/*
+ * Mixed x2APIC mode: use physical for external (device) interrupts, and
+ * cluster for inter processor interrupts.  Such mode has the benefits of not
+ * sharing the vector space with all CPUs on the cluster, while still allowing
+ * IPIs to be more efficiently delivered by not having to perform an ICR write
+ * for each target CPU.
+ */
+static const struct genapic __initconstrel apic_x2apic_mixed = {
+    APIC_INIT("x2apic_mixed", NULL),
+
+    /*
+     * The following fields are exclusively used by external interrupts and
+     * hence are set to use Physical destination mode handlers.
+     */
+    .int_delivery_mode = dest_Fixed,
+    .int_dest_mode = 0 /* physical delivery */,
+    .vector_allocation_cpumask = vector_allocation_cpumask_phys,
+    .cpu_mask_to_apicid = cpu_mask_to_apicid_phys,
+
+    /*
+     * The following fields are exclusively used by IPIs and hence are set to
+     * use Cluster Logical destination mode handlers.  Note that init_apic_ldr
+     * is not used by IPIs, but the per-CPU fields it initializes are only used
+     * by the IPI hooks.
+     */
+    .init_apic_ldr = init_apic_ldr_x2apic_cluster,
+    .send_IPI_mask = send_IPI_mask_x2apic_cluster,
+    .send_IPI_self = send_IPI_self_x2apic,
+};
+
 static int cf_check update_clusterinfo(
     struct notifier_block *nfb, unsigned long action, void *hcpu)
 {
@@ -220,38 +250,56 @@ static struct notifier_block x2apic_cpu_nfb = {
 static int8_t __initdata x2apic_phys = -1;
 boolean_param("x2apic_phys", x2apic_phys);
 
+enum {
+   unset, physical, cluster, mixed
+} static __initdata x2apic_mode = unset;
+
+static int __init cf_check parse_x2apic_mode(const char *s)
+{
+    if ( !cmdline_strcmp(s, "physical") )
+        x2apic_mode = physical;
+    else if ( !cmdline_strcmp(s, "cluster") )
+        x2apic_mode = cluster;
+    else if ( !cmdline_strcmp(s, "mixed") )
+        x2apic_mode = mixed;
+    else
+        return -EINVAL;
+
+    return 0;
+}
+custom_param("x2apic-mode", parse_x2apic_mode);
+
 const struct genapic *__init apic_x2apic_probe(void)
 {
-    if ( x2apic_phys < 0 )
+    /* Honour the legacy cmdline setting if it's the only one provided. */
+    if ( x2apic_mode == unset && x2apic_phys >= 0 )
+        x2apic_mode = x2apic_phys ? physical : cluster;
+
+    if ( x2apic_mode == unset )
     {
-        /*
-         * Force physical mode if there's no (full) interrupt remapping support:
-         * The ID in clustered mode requires a 32 bit destination field due to
-         * the usage of the high 16 bits to hold the cluster ID.
-         */
-        x2apic_phys = iommu_intremap != iommu_intremap_full ||
-                      (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
-                      IS_ENABLED(CONFIG_X2APIC_PHYSICAL);
-    }
-    else if ( !x2apic_phys )
-        switch ( iommu_intremap )
+        if ( acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL )
         {
-        case iommu_intremap_off:
-        case iommu_intremap_restricted:
-            printk("WARNING: x2APIC cluster mode is not supported %s interrupt remapping -"
-                   " forcing phys mode\n",
-                   iommu_intremap == iommu_intremap_off ? "without"
-                                                        : "with restricted");
-            x2apic_phys = true;
-            break;
-
-        case iommu_intremap_full:
-            break;
+            printk(XENLOG_INFO "ACPI FADT forcing x2APIC physical mode\n");
+            x2apic_mode = physical;
         }
+        else
+            x2apic_mode = IS_ENABLED(CONFIG_X2APIC_MIXED) ? mixed
+                          : (IS_ENABLED(CONFIG_X2APIC_PHYSICAL) ? physical
+                                                                : cluster);
+    }
 
-    if ( x2apic_phys )
+    if ( x2apic_mode == physical )
         return &apic_x2apic_phys;
 
+    if ( x2apic_mode == cluster && iommu_intremap != iommu_intremap_full )
+    {
+        printk("WARNING: x2APIC cluster mode is not supported %s interrupt remapping -"
+               " forcing mixed mode\n",
+               iommu_intremap == iommu_intremap_off ? "without"
+                                                    : "with restricted");
+        x2apic_mode = mixed;
+    }
+
     if ( !this_cpu(cluster_cpus) )
     {
         update_clusterinfo(NULL, CPU_UP_PREPARE,
@@ -260,7 +308,7 @@ const struct genapic *__init apic_x2apic_probe(void)
         register_cpu_notifier(&x2apic_cpu_nfb);
     }
 
-    return &apic_x2apic_cluster;
+    return x2apic_mode == cluster ? &apic_x2apic_cluster : &apic_x2apic_mixed;
 }
 
 void __init check_x2apic_preenabled(void)
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:30:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:30:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628040.979055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00cx-0007Vm-Bz; Mon, 06 Nov 2023 14:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628040.979055; Mon, 06 Nov 2023 14:30: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 1r00cx-0007Vf-93; Mon, 06 Nov 2023 14:30:55 +0000
Received: by outflank-mailman (input) for mailman id 628040;
 Mon, 06 Nov 2023 14:30: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=y50s=GT=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r00cw-0007VX-Ag
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:30:54 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 16f20ac4-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:30:53 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id AA4234EE0740;
 Mon,  6 Nov 2023 15:30:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16f20ac4-7cb1-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Mon, 06 Nov 2023 15:30:52 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v4] xen: address violations of Rule 11.9
In-Reply-To: <fc56aa7c-9931-cadf-53cd-0f1f482a953d@suse.com>
References: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com>
 <fe9f04781ea1ad9bc5f9b92bf58cd09b@bugseng.com>
 <fc56aa7c-9931-cadf-53cd-0f1f482a953d@suse.com>
Message-ID: <b09d120e531c626a97fccda4b248204f@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-06 15:27, Jan Beulich wrote:
> On 06.11.2023 15:24, Nicola Vetrini wrote:
>> On 2023-10-19 09:55, Nicola Vetrini wrote:
>>> The constant 0 is used instead of NULL in '__ACCESS_ONCE' as a
>>> compile-time check to detect non-scalar types; its usage for this
>>> purpose is deviated.
>>> 
>>> Furthermore, the 'typeof_field' macro is introduced as a general way
>>> to access the type of a struct member without declaring a variable
>>> of struct type. Both this macro and 'sizeof_field' are moved to
>>> 'xen/macros.h'.
>>> 
>>> No functional change intended.
>>> 
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>>> ---
>>> Changes in v2:
>>> - added entry in deviations.rst
>>> Changes in v3:
>>> - dropped access_field
>>> - moved macro to macros.h
>>> ---
>>> Changes in v4:
>>> - Amend deviation record.
>>> ---
>> 
>> This patch has received some R-by-s, but no acks at the moment.
>> Perhaps at least one is needed to get this into 4.19?
> 
> I didn't think it does, and I have it marked as ready to go in. But
> from an earlier email from Stefano I inferred that it might be
> preferable to commit larger sets of Misra changes only once the tree
> is fully open again.
> 
> Jan

Ok, thanks for the clarification.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:35:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:35:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628048.979074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00hL-00009h-3L; Mon, 06 Nov 2023 14:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628048.979074; Mon, 06 Nov 2023 14: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 1r00hL-00009a-0f; Mon, 06 Nov 2023 14:35:27 +0000
Received: by outflank-mailman (input) for mailman id 628048;
 Mon, 06 Nov 2023 14: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hJ-0008Lv-PS
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:35:25 +0000
Received: from smtp-fw-80008.amazon.com (smtp-fw-80008.amazon.com
 [99.78.197.219]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7e721c7-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:35:24 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-iad-1d-m6i4x-d23e07e8.us-east-1.amazon.com)
 ([10.25.36.214]) by smtp-border-fw-80008.pdx80.corp.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:35:21 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan3.iad.amazon.com [10.32.235.38])
 by email-inbound-relay-iad-1d-m6i4x-d23e07e8.us-east-1.amazon.com (Postfix)
 with ESMTPS id 20E1283A70; Mon,  6 Nov 2023 14:35:14 +0000 (UTC)
Received: from EX19MTAUWA002.ant.amazon.com [10.0.38.20:14317]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.52.187:2525]
 with esmtp (Farcaster)
 id 1c473c1c-c50b-4c1c-b64e-8d2edea49916; Mon, 6 Nov 2023 14:35:13 +0000 (UTC)
Received: from EX19EXOUWB002.ant.amazon.com (10.250.64.247) by
 EX19MTAUWA002.ant.amazon.com (10.250.64.202) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:13 +0000
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19EXOUWB002.ant.amazon.com (10.250.64.247) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1258.27; Mon, 6 Nov 2023 14:35:12 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7e721c7-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="41362360"
X-Farcaster-Flow-ID: 1c473c1c-c50b-4c1c-b64e-8d2edea49916
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, "Peter
 Maydell" <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, "Paul
 Durrant" <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Richard
 Henderson" <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, "Marcel
 Apfelbaum" <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 00/17] Get Xen PV shim running in QEMU, add net and console
Date: Mon, 6 Nov 2023 14:34:50 +0000
Message-ID: <20231106143507.1060610-1-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Precedence: Bulk

The Xen PV shim requires a PV console; add that. Also update the Xen PV 
network support to the new XenDevice model so that it can be used with 
emulated Xen guests. Fix up the Xen block support to allow it to be used
with '-device file=IMAGE,if=xen'.

Update the documentation to reflect all of these, taking the opportunity
to simplify what it says about q35, by making unplug work for AHCI.

Ignore the VCPU_SSHOTTMR_future timer flag, and advertise the 'fixed'
per-vCPU upcall vector support, as newer upstream Xen do.

Fix a bug where net_cleanup() would remove the NIC from underneath the 
emulated network devices, which doesn't work well when network devices 
have their own destructors (as the Xen PV one has to, in order to clean 
up the XenStore nodes).

v4:
 • Drop the fixes from the start of the series, which have been sent as
   a separate pull request (cc: qemu-stable):
   https://lore.kernel.org/qemu-devel/20231106103955.200867-1-dwmw2@infradead.org/
 • Go back to the original, more hackish, version of making `-nic` work
   for Xen network. The better fix for that is not going to get through
   review before the soft freeze.
 • Fix the documentation so the docs can reference the '-initrd' command
   line option with newer Sphinx.
 • Improve the duplicate detection for Xen block devices to match all
   partitions and even the same disk number on different majors.

David Woodhouse (17):
      i386/xen: Ignore VCPU_SSHOTTMR_future flag in set_singleshot_timer()
      hw/xen: Clean up event channel 'type_val' handling to use union
      include: update Xen public headers to Xen 4.17.2 release
      i386/xen: advertise XEN_HVM_CPUID_UPCALL_VECTOR in CPUID
      hw/xen: populate store frontend nodes with XenStore PFN/port
      hw/xen: automatically assign device index to block devices
      hw/xen: add get_frontend_path() method to XenDeviceClass
      hw/xen: do not repeatedly try to create a failing backend device
      hw/xen: update Xen console to XenDevice model
      hw/xen: add support for Xen primary console in emulated mode
      hw/xen: only remove peers of PCI NICs on unplug
      hw/xen: update Xen PV NIC to XenDevice model
      hw/i386/pc: support '-nic' for xen-net-device
      net: do not delete nics in net_cleanup()
      xen-platform: unplug AHCI disks
      doc/sphinx/hxtool.py: add optional label argument to SRST directive
      docs: update Xen-on-KVM documentation



 MAINTAINERS                                    |   2 +-
 blockdev.c                                     |  15 +-
 docs/sphinx/hxtool.py                          |  18 +-
 docs/system/i386/xen.rst                       | 107 +++--
 docs/system/invocation.rst                     |   1 +
 hw/block/xen-block.c                           | 118 ++++-
 hw/char/trace-events                           |   8 +
 hw/char/xen_console.c                          | 572 +++++++++++++++++++------
 hw/i386/kvm/meson.build                        |   1 +
 hw/i386/kvm/trace-events                       |   2 +
 hw/i386/kvm/xen-stubs.c                        |   8 +
 hw/i386/kvm/xen_evtchn.c                       | 151 +++----
 hw/i386/kvm/xen_gnttab.c                       |   7 +-
 hw/i386/kvm/xen_primary_console.c              | 193 +++++++++
 hw/i386/kvm/xen_primary_console.h              |  23 +
 hw/i386/kvm/xen_xenstore.c                     |  23 +-
 hw/i386/pc.c                                   |  11 +-
 hw/i386/pc_piix.c                              |   2 +-
 hw/i386/pc_q35.c                               |   2 +-
 hw/i386/xen/xen_platform.c                     |  77 ++--
 hw/net/meson.build                             |   2 +-
 hw/net/trace-events                            |  11 +
 hw/net/xen_nic.c                               | 484 ++++++++++++++++-----
 hw/xen/xen-backend.c                           |  27 +-
 hw/xen/xen-bus.c                               |  23 +-
 hw/xen/xen-legacy-backend.c                    |   1 -
 hw/xen/xen_devconfig.c                         |  28 --
 hw/xenpv/xen_machine_pv.c                      |  10 -
 include/hw/i386/pc.h                           |   4 +-
 include/hw/xen/interface/arch-arm.h            |  37 +-
 include/hw/xen/interface/arch-x86/cpuid.h      |  31 +-
 include/hw/xen/interface/arch-x86/xen-x86_32.h |  19 +-
 include/hw/xen/interface/arch-x86/xen-x86_64.h |  19 +-
 include/hw/xen/interface/arch-x86/xen.h        |  26 +-
 include/hw/xen/interface/event_channel.h       |  19 +-
 include/hw/xen/interface/features.h            |  19 +-
 include/hw/xen/interface/grant_table.h         |  19 +-
 include/hw/xen/interface/hvm/hvm_op.h          |  19 +-
 include/hw/xen/interface/hvm/params.h          |  19 +-
 include/hw/xen/interface/io/blkif.h            |  27 +-
 include/hw/xen/interface/io/console.h          |  19 +-
 include/hw/xen/interface/io/fbif.h             |  19 +-
 include/hw/xen/interface/io/kbdif.h            |  19 +-
 include/hw/xen/interface/io/netif.h            |  25 +-
 include/hw/xen/interface/io/protocols.h        |  19 +-
 include/hw/xen/interface/io/ring.h             |  49 +--
 include/hw/xen/interface/io/usbif.h            |  19 +-
 include/hw/xen/interface/io/xenbus.h           |  19 +-
 include/hw/xen/interface/io/xs_wire.h          |  36 +-
 include/hw/xen/interface/memory.h              |  30 +-
 include/hw/xen/interface/physdev.h             |  23 +-
 include/hw/xen/interface/sched.h               |  19 +-
 include/hw/xen/interface/trace.h               |  19 +-
 include/hw/xen/interface/vcpu.h                |  19 +-
 include/hw/xen/interface/version.h             |  19 +-
 include/hw/xen/interface/xen-compat.h          |  19 +-
 include/hw/xen/interface/xen.h                 |  19 +-
 include/hw/xen/xen-backend.h                   |   1 +
 include/hw/xen/xen-bus.h                       |   5 +-
 include/hw/xen/xen-legacy-backend.h            |   1 -
 net/net.c                                      |  28 +-
 qemu-options.hx                                |  14 +-
 target/i386/kvm/kvm.c                          |   4 +
 target/i386/kvm/xen-emu.c                      |  43 +-
 64 files changed, 1681 insertions(+), 991 deletions(-)




From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:35:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:35:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628047.979064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00hI-0008M8-Rh; Mon, 06 Nov 2023 14:35:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628047.979064; Mon, 06 Nov 2023 14: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 1r00hI-0008M1-PA; Mon, 06 Nov 2023 14:35:24 +0000
Received: by outflank-mailman (input) for mailman id 628047;
 Mon, 06 Nov 2023 14: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hH-0008Lv-Fk
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:35:23 +0000
Received: from smtp-fw-2101.amazon.com (smtp-fw-2101.amazon.com [72.21.196.25])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6b29fda-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:35:22 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2b-m6i4x-189d700f.us-west-2.amazon.com) ([10.43.8.6])
 by smtp-border-fw-2101.iad2.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:35:19 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan3.pdx.amazon.com [10.39.38.70])
 by email-inbound-relay-pdx-2b-m6i4x-189d700f.us-west-2.amazon.com (Postfix)
 with ESMTPS id 85A1640D84; Mon,  6 Nov 2023 14:35:16 +0000 (UTC)
Received: from EX19MTAUWC001.ant.amazon.com [10.0.38.20:34329]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.34.186:2525]
 with esmtp (Farcaster)
 id 76d34537-32d9-44b2-b563-58d436590f5f; Mon, 6 Nov 2023 14:35:16 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWC001.ant.amazon.com (10.250.64.174) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:15 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6b29fda-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="361122546"
X-Farcaster-Flow-ID: 76d34537-32d9-44b2-b563-58d436590f5f
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 01/17] i386/xen: Ignore VCPU_SSHOTTMR_future flag in set_singleshot_timer()
Date: Mon, 6 Nov 2023 14:34:51 +0000
Message-ID: <20231106143507.1060610-2-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

Upstream Xen now ignores this flag¹, since the only guest kernel ever to
use it was buggy.

¹ https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=19c6cbd909

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 target/i386/kvm/xen-emu.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index 75b2c557b9..1dc9ab0d91 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -1077,17 +1077,13 @@ static int vcpuop_stop_periodic_timer(CPUState *target)
  * Must always be called with xen_timers_lock held.
  */
 static int do_set_singleshot_timer(CPUState *cs, uint64_t timeout_abs,
-                                   bool future, bool linux_wa)
+                                   bool linux_wa)
 {
     CPUX86State *env = &X86_CPU(cs)->env;
     int64_t now = kvm_get_current_ns();
     int64_t qemu_now = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);
     int64_t delta = timeout_abs - now;
 
-    if (future && timeout_abs < now) {
-        return -ETIME;
-    }
-
     if (linux_wa && unlikely((int64_t)timeout_abs < 0 ||
                              (delta > 0 && (uint32_t)(delta >> 50) != 0))) {
         /*
@@ -1129,9 +1125,13 @@ static int vcpuop_set_singleshot_timer(CPUState *cs, uint64_t arg)
     }
 
     QEMU_LOCK_GUARD(&X86_CPU(cs)->env.xen_timers_lock);
-    return do_set_singleshot_timer(cs, sst.timeout_abs_ns,
-                                   !!(sst.flags & VCPU_SSHOTTMR_future),
-                                   false);
+
+    /*
+     * We ignore the VCPU_SSHOTTMR_future flag, just as Xen now does.
+     * The only guest that ever used it, got it wrong.
+     * https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=19c6cbd909
+     */
+    return do_set_singleshot_timer(cs, sst.timeout_abs_ns, false);
 }
 
 static int vcpuop_stop_singleshot_timer(CPUState *cs)
@@ -1156,7 +1156,7 @@ static bool kvm_xen_hcall_set_timer_op(struct kvm_xen_exit *exit, X86CPU *cpu,
         err = vcpuop_stop_singleshot_timer(CPU(cpu));
     } else {
         QEMU_LOCK_GUARD(&X86_CPU(cpu)->env.xen_timers_lock);
-        err = do_set_singleshot_timer(CPU(cpu), timeout, false, true);
+        err = do_set_singleshot_timer(CPU(cpu), timeout, true);
     }
     exit->u.hcall.result = err;
     return true;
@@ -1844,7 +1844,7 @@ int kvm_put_xen_state(CPUState *cs)
         QEMU_LOCK_GUARD(&env->xen_timers_lock);
         if (env->xen_singleshot_timer_ns) {
             ret = do_set_singleshot_timer(cs, env->xen_singleshot_timer_ns,
-                                    false, false);
+                                          false);
             if (ret < 0) {
                 return ret;
             }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:35:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:35:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628049.979085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00hQ-0000Vb-Dz; Mon, 06 Nov 2023 14:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628049.979085; Mon, 06 Nov 2023 14:35: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 1r00hQ-0000VP-B1; Mon, 06 Nov 2023 14:35:32 +0000
Received: by outflank-mailman (input) for mailman id 628049;
 Mon, 06 Nov 2023 14:35: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hP-0008Lv-9H
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:35:31 +0000
Received: from smtp-fw-80008.amazon.com (smtp-fw-80008.amazon.com
 [99.78.197.219]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc066d1a-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:35:30 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2c-m6i4x-fa5fe5fb.us-west-2.amazon.com)
 ([10.25.36.214]) by smtp-border-fw-80008.pdx80.corp.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:35:29 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan3.pdx.amazon.com [10.39.38.70])
 by email-inbound-relay-pdx-2c-m6i4x-fa5fe5fb.us-west-2.amazon.com (Postfix)
 with ESMTPS id 853C440D97; Mon,  6 Nov 2023 14:35:27 +0000 (UTC)
Received: from EX19MTAUWC001.ant.amazon.com [10.0.38.20:38824]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.34.186:2525]
 with esmtp (Farcaster)
 id a38c1c50-3e5f-41f4-90b2-de170ca49c03; Mon, 6 Nov 2023 14:35:26 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWC001.ant.amazon.com (10.250.64.174) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:26 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc066d1a-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="41362385"
X-Farcaster-Flow-ID: a38c1c50-3e5f-41f4-90b2-de170ca49c03
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 04/17] i386/xen: advertise XEN_HVM_CPUID_UPCALL_VECTOR in CPUID
Date: Mon, 6 Nov 2023 14:34:54 +0000
Message-ID: <20231106143507.1060610-5-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

This will allow Linux guests (since v6.0) to use the per-vCPU upcall
vector delivered as MSI through the local APIC.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 target/i386/kvm/kvm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 770e81d56e..11b8177eff 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -1837,6 +1837,10 @@ int kvm_arch_init_vcpu(CPUState *cs)
                 c->eax |= XEN_HVM_CPUID_VCPU_ID_PRESENT;
                 c->ebx = cs->cpu_index;
             }
+
+            if (cs->kvm_state->xen_version >= XEN_VERSION(4, 17)) {
+                c->eax |= XEN_HVM_CPUID_UPCALL_VECTOR;
+            }
         }
 
         r = kvm_xen_init_vcpu(cs);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:35:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:35:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628050.979090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00hQ-0000Z6-ND; Mon, 06 Nov 2023 14:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628050.979090; Mon, 06 Nov 2023 14:35: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 1r00hQ-0000Xn-In; Mon, 06 Nov 2023 14:35:32 +0000
Received: by outflank-mailman (input) for mailman id 628050;
 Mon, 06 Nov 2023 14: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hQ-0000Us-2Q
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:35:32 +0000
Received: from smtp-fw-52004.amazon.com (smtp-fw-52004.amazon.com
 [52.119.213.154]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id baf88e3a-7cb1-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 15:35:29 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO
 email-inbound-relay-iad-1a-m6i4x-617e30c2.us-east-1.amazon.com) ([10.43.8.2])
 by smtp-border-fw-52004.iad7.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:35:27 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan2.iad.amazon.com [10.32.235.34])
 by email-inbound-relay-iad-1a-m6i4x-617e30c2.us-east-1.amazon.com (Postfix)
 with ESMTPS id 9FCE669295; Mon,  6 Nov 2023 14:35:20 +0000 (UTC)
Received: from EX19MTAUWB002.ant.amazon.com [10.0.21.151:48591]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.28.94:2525]
 with esmtp (Farcaster)
 id 927607e1-2df9-4bf5-81a9-e1390d599a5c; Mon, 6 Nov 2023 14:35:19 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWB002.ant.amazon.com (10.250.64.231) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:19 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: baf88e3a-7cb1-11ee-9b0e-b553b5be7939
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="164474836"
X-Farcaster-Flow-ID: 927607e1-2df9-4bf5-81a9-e1390d599a5c
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 02/17] hw/xen: Clean up event channel 'type_val' handling to use union
Date: Mon, 6 Nov 2023 14:34:52 +0000
Message-ID: <20231106143507.1060610-3-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

A previous implementation of this stuff used a 64-bit field for all of
the port information (vcpu/type/type_val) and did atomic exchanges on
them. When I implemented that in Qemu I regretted my life choices and
just kept it simple with locking instead.

So there's no need for the XenEvtchnPort to be so simplistic. We can
use a union for the pirq/virq/interdomain information, which lets us
keep a separate bit for the 'remote domain' in interdomain ports. A
single bit is enough since the only possible targets are loopback or
qemu itself.

So now we can ditch PORT_INFO_TYPEVAL_REMOTE_QEMU and the horrid
manual masking, although the in-memory representation is identical
so there's no change in the saved state ABI.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_evtchn.c | 151 ++++++++++++++++++---------------------
 1 file changed, 70 insertions(+), 81 deletions(-)

diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index b2b4be9983..02b8cbf8df 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -58,7 +58,15 @@ OBJECT_DECLARE_SIMPLE_TYPE(XenEvtchnState, XEN_EVTCHN)
 typedef struct XenEvtchnPort {
     uint32_t vcpu;      /* Xen/ACPI vcpu_id */
     uint16_t type;      /* EVTCHNSTAT_xxxx */
-    uint16_t type_val;  /* pirq# / virq# / remote port according to type */
+    union {
+        uint16_t val;  /* raw value for serialization etc. */
+        uint16_t pirq;
+        uint16_t virq;
+        struct {
+            uint16_t port:15;
+            uint16_t to_qemu:1; /* Only two targets; qemu or loopback */
+        } interdomain;
+    } u;
 } XenEvtchnPort;
 
 /* 32-bit compatibility definitions, also used natively in 32-bit build */
@@ -105,14 +113,6 @@ struct xenevtchn_handle {
     int fd;
 };
 
-/*
- * For unbound/interdomain ports there are only two possible remote
- * domains; self and QEMU. Use a single high bit in type_val for that,
- * and the low bits for the remote port number (or 0 for unbound).
- */
-#define PORT_INFO_TYPEVAL_REMOTE_QEMU           0x8000
-#define PORT_INFO_TYPEVAL_REMOTE_PORT_MASK      0x7FFF
-
 /*
  * These 'emuirq' values are used by Xen in the LM stream... and yes, I am
  * insane enough to think about guest-transparent live migration from actual
@@ -210,16 +210,16 @@ static int xen_evtchn_post_load(void *opaque, int version_id)
         XenEvtchnPort *p = &s->port_table[i];
 
         if (p->type == EVTCHNSTAT_pirq) {
-            assert(p->type_val);
-            assert(p->type_val < s->nr_pirqs);
+            assert(p->u.pirq);
+            assert(p->u.pirq < s->nr_pirqs);
 
             /*
              * Set the gsi to IRQ_UNBOUND; it may be changed to an actual
              * GSI# below, or to IRQ_MSI_EMU when the MSI table snooping
              * catches up with it.
              */
-            s->pirq[p->type_val].gsi = IRQ_UNBOUND;
-            s->pirq[p->type_val].port = i;
+            s->pirq[p->u.pirq].gsi = IRQ_UNBOUND;
+            s->pirq[p->u.pirq].port = i;
         }
     }
     /* Rebuild s->pirq[].gsi mapping */
@@ -243,7 +243,7 @@ static const VMStateDescription xen_evtchn_port_vmstate = {
     .fields = (VMStateField[]) {
         VMSTATE_UINT32(vcpu, XenEvtchnPort),
         VMSTATE_UINT16(type, XenEvtchnPort),
-        VMSTATE_UINT16(type_val, XenEvtchnPort),
+        VMSTATE_UINT16(u.val, XenEvtchnPort),
         VMSTATE_END_OF_LIST()
     }
 };
@@ -605,14 +605,13 @@ static void unbind_backend_ports(XenEvtchnState *s)
 
     for (i = 1; i < s->nr_ports; i++) {
         p = &s->port_table[i];
-        if (p->type == EVTCHNSTAT_interdomain &&
-            (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU)) {
-            evtchn_port_t be_port = p->type_val & PORT_INFO_TYPEVAL_REMOTE_PORT_MASK;
+        if (p->type == EVTCHNSTAT_interdomain && p->u.interdomain.to_qemu) {
+            evtchn_port_t be_port = p->u.interdomain.port;
 
             if (s->be_handles[be_port]) {
                 /* This part will be overwritten on the load anyway. */
                 p->type = EVTCHNSTAT_unbound;
-                p->type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU;
+                p->u.interdomain.port = 0;
 
                 /* Leave the backend port open and unbound too. */
                 if (kvm_xen_has_cap(EVTCHN_SEND)) {
@@ -650,30 +649,22 @@ int xen_evtchn_status_op(struct evtchn_status *status)
 
     switch (p->type) {
     case EVTCHNSTAT_unbound:
-        if (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) {
-            status->u.unbound.dom = DOMID_QEMU;
-        } else {
-            status->u.unbound.dom = xen_domid;
-        }
+        status->u.unbound.dom = p->u.interdomain.to_qemu ? DOMID_QEMU
+                                                         : xen_domid;
         break;
 
     case EVTCHNSTAT_interdomain:
-        if (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) {
-            status->u.interdomain.dom = DOMID_QEMU;
-        } else {
-            status->u.interdomain.dom = xen_domid;
-        }
-
-        status->u.interdomain.port = p->type_val &
-            PORT_INFO_TYPEVAL_REMOTE_PORT_MASK;
+        status->u.interdomain.dom = p->u.interdomain.to_qemu ? DOMID_QEMU
+                                                             : xen_domid;
+        status->u.interdomain.port = p->u.interdomain.port;
         break;
 
     case EVTCHNSTAT_pirq:
-        status->u.pirq = p->type_val;
+        status->u.pirq = p->u.pirq;
         break;
 
     case EVTCHNSTAT_virq:
-        status->u.virq = p->type_val;
+        status->u.virq = p->u.virq;
         break;
     }
 
@@ -989,7 +980,7 @@ static int clear_port_pending(XenEvtchnState *s, evtchn_port_t port)
 static void free_port(XenEvtchnState *s, evtchn_port_t port)
 {
     s->port_table[port].type = EVTCHNSTAT_closed;
-    s->port_table[port].type_val = 0;
+    s->port_table[port].u.val = 0;
     s->port_table[port].vcpu = 0;
 
     if (s->nr_ports == port + 1) {
@@ -1012,7 +1003,7 @@ static int allocate_port(XenEvtchnState *s, uint32_t vcpu, uint16_t type,
         if (s->port_table[p].type == EVTCHNSTAT_closed) {
             s->port_table[p].vcpu = vcpu;
             s->port_table[p].type = type;
-            s->port_table[p].type_val = val;
+            s->port_table[p].u.val = val;
 
             *port = p;
 
@@ -1053,15 +1044,15 @@ static int close_port(XenEvtchnState *s, evtchn_port_t port,
         return -ENOENT;
 
     case EVTCHNSTAT_pirq:
-        s->pirq[p->type_val].port = 0;
-        if (s->pirq[p->type_val].is_translated) {
+        s->pirq[p->u.pirq].port = 0;
+        if (s->pirq[p->u.pirq].is_translated) {
             *flush_kvm_routes = true;
         }
         break;
 
     case EVTCHNSTAT_virq:
-        kvm_xen_set_vcpu_virq(virq_is_global(p->type_val) ? 0 : p->vcpu,
-                              p->type_val, 0);
+        kvm_xen_set_vcpu_virq(virq_is_global(p->u.virq) ? 0 : p->vcpu,
+                              p->u.virq, 0);
         break;
 
     case EVTCHNSTAT_ipi:
@@ -1071,8 +1062,8 @@ static int close_port(XenEvtchnState *s, evtchn_port_t port,
         break;
 
     case EVTCHNSTAT_interdomain:
-        if (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) {
-            uint16_t be_port = p->type_val & ~PORT_INFO_TYPEVAL_REMOTE_QEMU;
+        if (p->u.interdomain.to_qemu) {
+            uint16_t be_port = p->u.interdomain.port;
             struct xenevtchn_handle *xc = s->be_handles[be_port];
             if (xc) {
                 if (kvm_xen_has_cap(EVTCHN_SEND)) {
@@ -1082,14 +1073,15 @@ static int close_port(XenEvtchnState *s, evtchn_port_t port,
             }
         } else {
             /* Loopback interdomain */
-            XenEvtchnPort *rp = &s->port_table[p->type_val];
-            if (!valid_port(p->type_val) || rp->type_val != port ||
+            XenEvtchnPort *rp = &s->port_table[p->u.interdomain.port];
+            if (!valid_port(p->u.interdomain.port) ||
+                rp->u.interdomain.port != port ||
                 rp->type != EVTCHNSTAT_interdomain) {
                 error_report("Inconsistent state for interdomain unbind");
             } else {
                 /* Set the other end back to unbound */
                 rp->type = EVTCHNSTAT_unbound;
-                rp->type_val = 0;
+                rp->u.interdomain.port = 0;
             }
         }
         break;
@@ -1214,7 +1206,7 @@ int xen_evtchn_bind_vcpu_op(struct evtchn_bind_vcpu *vcpu)
     if (p->type == EVTCHNSTAT_interdomain ||
         p->type == EVTCHNSTAT_unbound ||
         p->type == EVTCHNSTAT_pirq ||
-        (p->type == EVTCHNSTAT_virq && virq_is_global(p->type_val))) {
+        (p->type == EVTCHNSTAT_virq && virq_is_global(p->u.virq))) {
         /*
          * unmask_port() with do_unmask==false will just raise the event
          * on the new vCPU if the port was already pending.
@@ -1359,19 +1351,15 @@ int xen_evtchn_bind_ipi_op(struct evtchn_bind_ipi *ipi)
 int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
 {
     XenEvtchnState *s = xen_evtchn_singleton;
-    uint16_t type_val;
     int ret;
 
     if (!s) {
         return -ENOTSUP;
     }
 
-    if (interdomain->remote_dom == DOMID_QEMU) {
-        type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU;
-    } else if (interdomain->remote_dom == DOMID_SELF ||
-               interdomain->remote_dom == xen_domid) {
-        type_val = 0;
-    } else {
+    if (interdomain->remote_dom != DOMID_QEMU &&
+        interdomain->remote_dom != DOMID_SELF &&
+        interdomain->remote_dom != xen_domid) {
         return -ESRCH;
     }
 
@@ -1382,8 +1370,8 @@ int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
     qemu_mutex_lock(&s->port_lock);
 
     /* The newly allocated port starts out as unbound */
-    ret = allocate_port(s, 0, EVTCHNSTAT_unbound, type_val,
-                        &interdomain->local_port);
+    ret = allocate_port(s, 0, EVTCHNSTAT_unbound, 0, &interdomain->local_port);
+
     if (ret) {
         goto out;
     }
@@ -1408,7 +1396,8 @@ int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
             assign_kernel_eventfd(lp->type, xc->guest_port, xc->fd);
         }
         lp->type = EVTCHNSTAT_interdomain;
-        lp->type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU | interdomain->remote_port;
+        lp->u.interdomain.to_qemu = 1;
+        lp->u.interdomain.port = interdomain->remote_port;
         ret = 0;
     } else {
         /* Loopback */
@@ -1416,19 +1405,18 @@ int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
         XenEvtchnPort *lp = &s->port_table[interdomain->local_port];
 
         /*
-         * The 'remote' port for loopback must be an unbound port allocated for
-         * communication with the local domain (as indicated by rp->type_val
-         * being zero, not PORT_INFO_TYPEVAL_REMOTE_QEMU), and must *not* be
-         * the port that was just allocated for the local end.
+         * The 'remote' port for loopback must be an unbound port allocated
+         * for communication with the local domain, and must *not* be the
+         * port that was just allocated for the local end.
          */
         if (interdomain->local_port != interdomain->remote_port &&
-            rp->type == EVTCHNSTAT_unbound && rp->type_val == 0) {
+            rp->type == EVTCHNSTAT_unbound && !rp->u.interdomain.to_qemu) {
 
             rp->type = EVTCHNSTAT_interdomain;
-            rp->type_val = interdomain->local_port;
+            rp->u.interdomain.port = interdomain->local_port;
 
             lp->type = EVTCHNSTAT_interdomain;
-            lp->type_val = interdomain->remote_port;
+            lp->u.interdomain.port = interdomain->remote_port;
         } else {
             ret = -EINVAL;
         }
@@ -1447,7 +1435,6 @@ int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
 int xen_evtchn_alloc_unbound_op(struct evtchn_alloc_unbound *alloc)
 {
     XenEvtchnState *s = xen_evtchn_singleton;
-    uint16_t type_val;
     int ret;
 
     if (!s) {
@@ -1458,18 +1445,20 @@ int xen_evtchn_alloc_unbound_op(struct evtchn_alloc_unbound *alloc)
         return -ESRCH;
     }
 
-    if (alloc->remote_dom == DOMID_QEMU) {
-        type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU;
-    } else if (alloc->remote_dom == DOMID_SELF ||
-               alloc->remote_dom == xen_domid) {
-        type_val = 0;
-    } else {
+    if (alloc->remote_dom != DOMID_QEMU &&
+        alloc->remote_dom != DOMID_SELF &&
+        alloc->remote_dom != xen_domid) {
         return -EPERM;
     }
 
     qemu_mutex_lock(&s->port_lock);
 
-    ret = allocate_port(s, 0, EVTCHNSTAT_unbound, type_val, &alloc->port);
+    ret = allocate_port(s, 0, EVTCHNSTAT_unbound, 0, &alloc->port);
+
+    if (!ret && alloc->remote_dom == DOMID_QEMU) {
+        XenEvtchnPort *p = &s->port_table[alloc->port];
+        p->u.interdomain.to_qemu = 1;
+    }
 
     qemu_mutex_unlock(&s->port_lock);
 
@@ -1496,12 +1485,12 @@ int xen_evtchn_send_op(struct evtchn_send *send)
 
     switch (p->type) {
     case EVTCHNSTAT_interdomain:
-        if (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) {
+        if (p->u.interdomain.to_qemu) {
             /*
              * This is an event from the guest to qemu itself, which is
              * serving as the driver domain.
              */
-            uint16_t be_port = p->type_val & ~PORT_INFO_TYPEVAL_REMOTE_QEMU;
+            uint16_t be_port = p->u.interdomain.port;
             struct xenevtchn_handle *xc = s->be_handles[be_port];
             if (xc) {
                 eventfd_write(xc->fd, 1);
@@ -1511,7 +1500,7 @@ int xen_evtchn_send_op(struct evtchn_send *send)
             }
         } else {
             /* Loopback interdomain ports; just a complex IPI */
-            set_port_pending(s, p->type_val);
+            set_port_pending(s, p->u.interdomain.port);
         }
         break;
 
@@ -1553,8 +1542,7 @@ int xen_evtchn_set_port(uint16_t port)
 
     /* QEMU has no business sending to anything but these */
     if (p->type == EVTCHNSTAT_virq ||
-        (p->type == EVTCHNSTAT_interdomain &&
-         (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU))) {
+        (p->type == EVTCHNSTAT_interdomain && p->u.interdomain.to_qemu)) {
         set_port_pending(s, port);
         ret = 0;
     }
@@ -2064,7 +2052,7 @@ int xen_be_evtchn_bind_interdomain(struct xenevtchn_handle *xc, uint32_t domid,
     switch (gp->type) {
     case EVTCHNSTAT_interdomain:
         /* Allow rebinding after migration, preserve port # if possible */
-        be_port = gp->type_val & ~PORT_INFO_TYPEVAL_REMOTE_QEMU;
+        be_port = gp->u.interdomain.port;
         assert(be_port != 0);
         if (!s->be_handles[be_port]) {
             s->be_handles[be_port] = xc;
@@ -2085,7 +2073,8 @@ int xen_be_evtchn_bind_interdomain(struct xenevtchn_handle *xc, uint32_t domid,
         }
 
         gp->type = EVTCHNSTAT_interdomain;
-        gp->type_val = be_port | PORT_INFO_TYPEVAL_REMOTE_QEMU;
+        gp->u.interdomain.to_qemu = 1;
+        gp->u.interdomain.port = be_port;
         xc->guest_port = guest_port;
         if (kvm_xen_has_cap(EVTCHN_SEND)) {
             assign_kernel_eventfd(gp->type, guest_port, xc->fd);
@@ -2130,7 +2119,7 @@ int xen_be_evtchn_unbind(struct xenevtchn_handle *xc, evtchn_port_t port)
         /* This should never *not* be true */
         if (gp->type == EVTCHNSTAT_interdomain) {
             gp->type = EVTCHNSTAT_unbound;
-            gp->type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU;
+            gp->u.interdomain.port = 0;
         }
 
         if (kvm_xen_has_cap(EVTCHN_SEND)) {
@@ -2284,11 +2273,11 @@ EvtchnInfoList *qmp_xen_event_list(Error **errp)
 
         info->type = p->type;
         if (p->type == EVTCHNSTAT_interdomain) {
-            info->remote_domain = g_strdup((p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) ?
+            info->remote_domain = g_strdup(p->u.interdomain.to_qemu ?
                                            "qemu" : "loopback");
-            info->target = p->type_val & PORT_INFO_TYPEVAL_REMOTE_PORT_MASK;
+            info->target = p->u.interdomain.port;
         } else {
-            info->target = p->type_val;
+            info->target = p->u.val; /* pirq# or virq# */
         }
         info->vcpu = p->vcpu;
         info->pending = test_bit(i, pending);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:35:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:35:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628051.979105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00hZ-0001FY-1L; Mon, 06 Nov 2023 14:35:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628051.979105; Mon, 06 Nov 2023 14:35: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 1r00hY-0001Ex-TF; Mon, 06 Nov 2023 14:35:40 +0000
Received: by outflank-mailman (input) for mailman id 628051;
 Mon, 06 Nov 2023 14:35: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hX-0008Lv-8h
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:35:39 +0000
Received: from smtp-fw-33001.amazon.com (smtp-fw-33001.amazon.com
 [207.171.190.10]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id befd1d6c-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:35:36 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-iad-1e-m6i4x-b538c141.us-east-1.amazon.com) ([10.43.8.6])
 by smtp-border-fw-33001.sea14.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:35:32 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan2.iad.amazon.com [10.32.235.34])
 by email-inbound-relay-iad-1e-m6i4x-b538c141.us-east-1.amazon.com (Postfix)
 with ESMTPS id 23189A0FAF; Mon,  6 Nov 2023 14:35:23 +0000 (UTC)
Received: from EX19MTAUWC002.ant.amazon.com [10.0.7.35:26660]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.52.187:2525]
 with esmtp (Farcaster)
 id a759a9d9-1c63-4a45-8564-de5087df7c67; Mon, 6 Nov 2023 14:35:23 +0000 (UTC)
Received: from EX19EXOUWB001.ant.amazon.com (10.250.64.229) by
 EX19MTAUWC002.ant.amazon.com (10.250.64.143) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:23 +0000
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19EXOUWB001.ant.amazon.com (10.250.64.229) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1258.27; Mon, 6 Nov 2023 14:35:22 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: befd1d6c-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="311812503"
X-Farcaster-Flow-ID: a759a9d9-1c63-4a45-8564-de5087df7c67
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, "Peter
 Maydell" <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, "Paul
 Durrant" <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Richard
 Henderson" <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, "Marcel
 Apfelbaum" <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 03/17] include: update Xen public headers to Xen 4.17.2 release
Date: Mon, 6 Nov 2023 14:34:53 +0000
Message-ID: <20231106143507.1060610-4-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

... in order to advertise the XEN_HVM_CPUID_UPCALL_VECTOR feature,
which will come in a subsequent commit.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Acked-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c                    |  2 +-
 include/hw/xen/interface/arch-arm.h           | 37 +++++++-------
 include/hw/xen/interface/arch-x86/cpuid.h     | 31 +++++-------
 .../hw/xen/interface/arch-x86/xen-x86_32.h    | 19 +------
 .../hw/xen/interface/arch-x86/xen-x86_64.h    | 19 +------
 include/hw/xen/interface/arch-x86/xen.h       | 26 ++--------
 include/hw/xen/interface/event_channel.h      | 19 +------
 include/hw/xen/interface/features.h           | 19 +------
 include/hw/xen/interface/grant_table.h        | 19 +------
 include/hw/xen/interface/hvm/hvm_op.h         | 19 +------
 include/hw/xen/interface/hvm/params.h         | 19 +------
 include/hw/xen/interface/io/blkif.h           | 27 ++++------
 include/hw/xen/interface/io/console.h         | 19 +------
 include/hw/xen/interface/io/fbif.h            | 19 +------
 include/hw/xen/interface/io/kbdif.h           | 19 +------
 include/hw/xen/interface/io/netif.h           | 25 +++-------
 include/hw/xen/interface/io/protocols.h       | 19 +------
 include/hw/xen/interface/io/ring.h            | 49 ++++++++++---------
 include/hw/xen/interface/io/usbif.h           | 19 +------
 include/hw/xen/interface/io/xenbus.h          | 19 +------
 include/hw/xen/interface/io/xs_wire.h         | 36 ++++++--------
 include/hw/xen/interface/memory.h             | 30 +++++-------
 include/hw/xen/interface/physdev.h            | 23 ++-------
 include/hw/xen/interface/sched.h              | 19 +------
 include/hw/xen/interface/trace.h              | 19 +------
 include/hw/xen/interface/vcpu.h               | 19 +------
 include/hw/xen/interface/version.h            | 19 +------
 include/hw/xen/interface/xen-compat.h         | 19 +------
 include/hw/xen/interface/xen.h                | 19 +------
 29 files changed, 124 insertions(+), 523 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 8e716a7009..831da535fc 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -331,7 +331,7 @@ static void xs_error(XenXenstoreState *s, unsigned int id,
     const char *errstr = NULL;
 
     for (unsigned int i = 0; i < ARRAY_SIZE(xsd_errors); i++) {
-        struct xsd_errors *xsd_error = &xsd_errors[i];
+        const struct xsd_errors *xsd_error = &xsd_errors[i];
 
         if (xsd_error->errnum == errnum) {
             errstr = xsd_error->errstring;
diff --git a/include/hw/xen/interface/arch-arm.h b/include/hw/xen/interface/arch-arm.h
index 94b31511dd..1528ced509 100644
--- a/include/hw/xen/interface/arch-arm.h
+++ b/include/hw/xen/interface/arch-arm.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * arch-arm.h
  *
  * Guest OS interface to ARM 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.
- *
  * Copyright 2011 (C) Citrix Systems
  */
 
@@ -361,6 +344,7 @@ typedef uint64_t xen_callback_t;
 #define PSR_DBG_MASK    (1<<9)        /* arm64: Debug Exception mask */
 #define PSR_IT_MASK     (0x0600fc00)  /* Thumb If-Then Mask */
 #define PSR_JAZELLE     (1<<24)       /* Jazelle Mode */
+#define PSR_Z           (1<<30)       /* Zero condition flag */
 
 /* 32 bit modes */
 #define PSR_MODE_USR 0x10
@@ -383,7 +367,15 @@ typedef uint64_t xen_callback_t;
 #define PSR_MODE_EL1t 0x04
 #define PSR_MODE_EL0t 0x00
 
-#define PSR_GUEST32_INIT  (PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_SVC)
+/*
+ * We set PSR_Z to be able to boot Linux kernel versions with an invalid
+ * encoding of the first 8 NOP instructions. See commit a92882a4d270 in
+ * Linux.
+ *
+ * Note that PSR_Z is also set by U-Boot and QEMU -kernel when loading
+ * zImage kernels on aarch32.
+ */
+#define PSR_GUEST32_INIT (PSR_Z|PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_SVC)
 #define PSR_GUEST64_INIT (PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_EL1h)
 
 #define SCTLR_GUEST_INIT    xen_mk_ullong(0x00c50078)
@@ -398,6 +390,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.
@@ -484,6 +480,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
diff --git a/include/hw/xen/interface/arch-x86/cpuid.h b/include/hw/xen/interface/arch-x86/cpuid.h
index ce46305bee..7ecd16ae05 100644
--- a/include/hw/xen/interface/arch-x86/cpuid.h
+++ b/include/hw/xen/interface/arch-x86/cpuid.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * arch-x86/cpuid.h
  *
  * CPUID interface to 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.
- *
  * Copyright (c) 2007 Citrix Systems, Inc.
  *
  * Authors:
@@ -102,6 +85,18 @@
 #define XEN_HVM_CPUID_IOMMU_MAPPINGS   (1u << 2)
 #define XEN_HVM_CPUID_VCPU_ID_PRESENT  (1u << 3) /* vcpu id is present in EBX */
 #define XEN_HVM_CPUID_DOMID_PRESENT    (1u << 4) /* domid is present in ECX */
+/*
+ * With interrupt format set to 0 (non-remappable) bits 55:49 from the
+ * IO-APIC RTE and bits 11:5 from the MSI address can be used to store
+ * high bits for the Destination ID. This expands the Destination ID
+ * field from 8 to 15 bits, allowing to target APIC IDs up 32768.
+ */
+#define XEN_HVM_CPUID_EXT_DEST_ID      (1u << 5)
+/*
+ * Per-vCPU event channel upcalls work correctly with physical IRQs
+ * bound to event channels.
+ */
+#define XEN_HVM_CPUID_UPCALL_VECTOR    (1u << 6)
 
 /*
  * Leaf 6 (0x40000x05)
diff --git a/include/hw/xen/interface/arch-x86/xen-x86_32.h b/include/hw/xen/interface/arch-x86/xen-x86_32.h
index 19d7388633..139438e835 100644
--- a/include/hw/xen/interface/arch-x86/xen-x86_32.h
+++ b/include/hw/xen/interface/arch-x86/xen-x86_32.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * xen-x86_32.h
  *
  * Guest OS interface to x86 32-bit 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.
- *
  * Copyright (c) 2004-2007, K A Fraser
  */
 
diff --git a/include/hw/xen/interface/arch-x86/xen-x86_64.h b/include/hw/xen/interface/arch-x86/xen-x86_64.h
index 40aed14366..5d9035ed22 100644
--- a/include/hw/xen/interface/arch-x86/xen-x86_64.h
+++ b/include/hw/xen/interface/arch-x86/xen-x86_64.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * xen-x86_64.h
  *
  * Guest OS interface to x86 64-bit 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.
- *
  * Copyright (c) 2004-2006, K A Fraser
  */
 
diff --git a/include/hw/xen/interface/arch-x86/xen.h b/include/hw/xen/interface/arch-x86/xen.h
index 7acd94c8eb..c0f4551247 100644
--- a/include/hw/xen/interface/arch-x86/xen.h
+++ b/include/hw/xen/interface/arch-x86/xen.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * arch-x86/xen.h
  *
  * Guest OS 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.
- *
  * Copyright (c) 2004-2006, K A Fraser
  */
 
@@ -320,12 +303,9 @@ struct xen_arch_domainconfig {
     uint32_t misc_flags;
 };
 
-/* Location of online VCPU bitmap. */
-#define XEN_ACPI_CPU_MAP             0xaf00
-#define XEN_ACPI_CPU_MAP_LEN         ((HVM_MAX_VCPUS + 7) / 8)
+/* Max  XEN_X86_* constant. Used for ABI checking. */
+#define XEN_X86_MISC_FLAGS_MAX XEN_X86_MSR_RELAXED
 
-/* GPE0 bit set during CPU hotplug */
-#define XEN_ACPI_GPE0_CPUHP_BIT      2
 #endif
 
 /*
diff --git a/include/hw/xen/interface/event_channel.h b/include/hw/xen/interface/event_channel.h
index 73c9f38ce1..0d91a1c4af 100644
--- a/include/hw/xen/interface/event_channel.h
+++ b/include/hw/xen/interface/event_channel.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * event_channel.h
  *
  * Event channels between domains.
  *
- * 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.
- *
  * Copyright (c) 2003-2004, K A Fraser.
  */
 
diff --git a/include/hw/xen/interface/features.h b/include/hw/xen/interface/features.h
index 9ee2f760ef..d2a9175aae 100644
--- a/include/hw/xen/interface/features.h
+++ b/include/hw/xen/interface/features.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * features.h
  *
  * Feature flags, reported by XENVER_get_features.
  *
- * 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.
- *
  * Copyright (c) 2006, Keir Fraser <keir@xensource.com>
  */
 
diff --git a/include/hw/xen/interface/grant_table.h b/include/hw/xen/interface/grant_table.h
index 7934d7b718..1dfa17a6d0 100644
--- a/include/hw/xen/interface/grant_table.h
+++ b/include/hw/xen/interface/grant_table.h
@@ -1,27 +1,10 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * grant_table.h
  *
  * Interface for granting foreign access to page frames, and receiving
  * page-ownership transfers.
  *
- * 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.
- *
  * Copyright (c) 2004, K A Fraser
  */
 
diff --git a/include/hw/xen/interface/hvm/hvm_op.h b/include/hw/xen/interface/hvm/hvm_op.h
index 870ec52060..e22adf0319 100644
--- a/include/hw/xen/interface/hvm/hvm_op.h
+++ b/include/hw/xen/interface/hvm/hvm_op.h
@@ -1,22 +1,5 @@
+/* SPDX-License-Identifier: MIT */
 /*
- * 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.
- *
  * Copyright (c) 2007, Keir Fraser
  */
 
diff --git a/include/hw/xen/interface/hvm/params.h b/include/hw/xen/interface/hvm/params.h
index c9d6e70d7b..a22b4ed45d 100644
--- a/include/hw/xen/interface/hvm/params.h
+++ b/include/hw/xen/interface/hvm/params.h
@@ -1,22 +1,5 @@
+/* SPDX-License-Identifier: MIT */
 /*
- * 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.
- *
  * Copyright (c) 2007, Keir Fraser
  */
 
diff --git a/include/hw/xen/interface/io/blkif.h b/include/hw/xen/interface/io/blkif.h
index 4cdba79aba..22f1eef0c0 100644
--- a/include/hw/xen/interface/io/blkif.h
+++ b/include/hw/xen/interface/io/blkif.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * blkif.h
  *
  * Unified block-device I/O interface for Xen guest OSes.
  *
- * 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.
- *
  * Copyright (c) 2003-2004, Keir Fraser
  * Copyright (c) 2012, Spectra Logic Corporation
  */
@@ -363,6 +346,14 @@
  *      that the frontend requires that the logical block size is 512 as it
  *      is hardcoded (which is the case in some frontend implementations).
  *
+ * trusted
+ *      Values:         0/1 (boolean)
+ *      Default value:  1
+ *
+ *      A value of "0" indicates that the frontend should not trust the
+ *      backend, and should deploy whatever measures available to protect from
+ *      a malicious backend on the other end.
+ *
  *------------------------- Virtual Device Properties -------------------------
  *
  * device-type
diff --git a/include/hw/xen/interface/io/console.h b/include/hw/xen/interface/io/console.h
index 4811f47220..4509b4b689 100644
--- a/include/hw/xen/interface/io/console.h
+++ b/include/hw/xen/interface/io/console.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * console.h
  *
  * Console I/O interface for Xen guest OSes.
  *
- * 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.
- *
  * Copyright (c) 2005, Keir Fraser
  */
 
diff --git a/include/hw/xen/interface/io/fbif.h b/include/hw/xen/interface/io/fbif.h
index cc25aab32e..93c73195d8 100644
--- a/include/hw/xen/interface/io/fbif.h
+++ b/include/hw/xen/interface/io/fbif.h
@@ -1,24 +1,7 @@
+/* SPDX-License-Identifier: MIT */
 /*
  * fbif.h -- Xen virtual frame buffer device
  *
- * 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.
- *
  * Copyright (C) 2005 Anthony Liguori <aliguori@us.ibm.com>
  * Copyright (C) 2006 Red Hat, Inc., Markus Armbruster <armbru@redhat.com>
  */
diff --git a/include/hw/xen/interface/io/kbdif.h b/include/hw/xen/interface/io/kbdif.h
index a6b01c52c7..4bde6b3821 100644
--- a/include/hw/xen/interface/io/kbdif.h
+++ b/include/hw/xen/interface/io/kbdif.h
@@ -1,24 +1,7 @@
+/* SPDX-License-Identifier: MIT */
 /*
  * kbdif.h -- Xen virtual keyboard/mouse
  *
- * 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.
- *
  * Copyright (C) 2005 Anthony Liguori <aliguori@us.ibm.com>
  * Copyright (C) 2006 Red Hat, Inc., Markus Armbruster <armbru@redhat.com>
  */
diff --git a/include/hw/xen/interface/io/netif.h b/include/hw/xen/interface/io/netif.h
index 00dd258712..c13b85061d 100644
--- a/include/hw/xen/interface/io/netif.h
+++ b/include/hw/xen/interface/io/netif.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * netif.h
  *
  * Unified network-device I/O interface for Xen guest OSes.
  *
- * 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.
- *
  * Copyright (c) 2003-2004, Keir Fraser
  */
 
@@ -160,6 +143,12 @@
  * be applied if it is set.
  */
 
+/*
+ * The setting of "trusted" node to "0" in the frontend path signals that the
+ * frontend should not trust the backend, and should deploy whatever measures
+ * available to protect from a malicious backend on the other end.
+ */
+
 /*
  * Control ring
  * ============
diff --git a/include/hw/xen/interface/io/protocols.h b/include/hw/xen/interface/io/protocols.h
index 52b4de0f81..7815e1ff0f 100644
--- a/include/hw/xen/interface/io/protocols.h
+++ b/include/hw/xen/interface/io/protocols.h
@@ -1,24 +1,7 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * protocols.h
  *
- * 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.
- *
  * Copyright (c) 2008, Keir Fraser
  */
 
diff --git a/include/hw/xen/interface/io/ring.h b/include/hw/xen/interface/io/ring.h
index c486c457e0..025939278b 100644
--- a/include/hw/xen/interface/io/ring.h
+++ b/include/hw/xen/interface/io/ring.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * ring.h
  *
  * Shared producer-consumer ring macros.
  *
- * 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.
- *
  * Tim Deegan and Andrew Warfield November 2004.
  */
 
@@ -95,9 +78,8 @@ typedef unsigned int RING_IDX;
  * of the shared memory area (PAGE_SIZE, for instance). To initialise
  * the front half:
  *
- *     mytag_front_ring_t front_ring;
- *     SHARED_RING_INIT((mytag_sring_t *)shared_page);
- *     FRONT_RING_INIT(&front_ring, (mytag_sring_t *)shared_page, PAGE_SIZE);
+ *     mytag_front_ring_t ring;
+ *     XEN_FRONT_RING_INIT(&ring, (mytag_sring_t *)shared_page, PAGE_SIZE);
  *
  * Initializing the back follows similarly (note that only the front
  * initializes the shared ring):
@@ -184,6 +166,11 @@ typedef struct __name##_back_ring __name##_back_ring_t
 
 #define FRONT_RING_INIT(_r, _s, __size) FRONT_RING_ATTACH(_r, _s, 0, __size)
 
+#define XEN_FRONT_RING_INIT(r, s, size) do {                            \
+    SHARED_RING_INIT(s);                                                \
+    FRONT_RING_INIT(r, s, size);                                        \
+} while (0)
+
 #define BACK_RING_ATTACH(_r, _s, _i, __size) do {                       \
     (_r)->rsp_prod_pvt = (_i);                                          \
     (_r)->req_cons = (_i);                                              \
@@ -208,11 +195,11 @@ typedef struct __name##_back_ring __name##_back_ring_t
     (RING_FREE_REQUESTS(_r) == 0)
 
 /* Test if there are outstanding messages to be processed on a ring. */
-#define RING_HAS_UNCONSUMED_RESPONSES(_r)                               \
+#define XEN_RING_NR_UNCONSUMED_RESPONSES(_r)                            \
     ((_r)->sring->rsp_prod - (_r)->rsp_cons)
 
 #ifdef __GNUC__
-#define RING_HAS_UNCONSUMED_REQUESTS(_r) ({                             \
+#define XEN_RING_NR_UNCONSUMED_REQUESTS(_r) ({                          \
     unsigned int req = (_r)->sring->req_prod - (_r)->req_cons;          \
     unsigned int rsp = RING_SIZE(_r) -                                  \
         ((_r)->req_cons - (_r)->rsp_prod_pvt);                          \
@@ -220,13 +207,27 @@ typedef struct __name##_back_ring __name##_back_ring_t
 })
 #else
 /* Same as above, but without the nice GCC ({ ... }) syntax. */
-#define RING_HAS_UNCONSUMED_REQUESTS(_r)                                \
+#define XEN_RING_NR_UNCONSUMED_REQUESTS(_r)                             \
     ((((_r)->sring->req_prod - (_r)->req_cons) <                        \
       (RING_SIZE(_r) - ((_r)->req_cons - (_r)->rsp_prod_pvt))) ?        \
      ((_r)->sring->req_prod - (_r)->req_cons) :                         \
      (RING_SIZE(_r) - ((_r)->req_cons - (_r)->rsp_prod_pvt)))
 #endif
 
+#ifdef XEN_RING_HAS_UNCONSUMED_IS_BOOL
+/*
+ * These variants should only be used in case no caller is abusing them for
+ * obtaining the number of unconsumed responses/requests.
+ */
+#define RING_HAS_UNCONSUMED_RESPONSES(_r) \
+    (!!XEN_RING_NR_UNCONSUMED_RESPONSES(_r))
+#define RING_HAS_UNCONSUMED_REQUESTS(_r)  \
+    (!!XEN_RING_NR_UNCONSUMED_REQUESTS(_r))
+#else
+#define RING_HAS_UNCONSUMED_RESPONSES(_r) XEN_RING_NR_UNCONSUMED_RESPONSES(_r)
+#define RING_HAS_UNCONSUMED_REQUESTS(_r)  XEN_RING_NR_UNCONSUMED_REQUESTS(_r)
+#endif
+
 /* Direct access to individual ring elements, by index. */
 #define RING_GET_REQUEST(_r, _idx)                                      \
     (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))
diff --git a/include/hw/xen/interface/io/usbif.h b/include/hw/xen/interface/io/usbif.h
index c0a552e195..875af0dc7c 100644
--- a/include/hw/xen/interface/io/usbif.h
+++ b/include/hw/xen/interface/io/usbif.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: MIT */
 /*
  * usbif.h
  *
@@ -5,24 +6,6 @@
  *
  * Copyright (C) 2009, FUJITSU LABORATORIES LTD.
  * Author: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
- *
- * 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_IO_USBIF_H__
diff --git a/include/hw/xen/interface/io/xenbus.h b/include/hw/xen/interface/io/xenbus.h
index 927f9db552..9cd0cd7c67 100644
--- a/include/hw/xen/interface/io/xenbus.h
+++ b/include/hw/xen/interface/io/xenbus.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /*****************************************************************************
  * xenbus.h
  *
  * Xenbus protocol details.
  *
- * 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.
- *
  * Copyright (C) 2005 XenSource Ltd.
  */
 
diff --git a/include/hw/xen/interface/io/xs_wire.h b/include/hw/xen/interface/io/xs_wire.h
index 4dd6632669..04e6849feb 100644
--- a/include/hw/xen/interface/io/xs_wire.h
+++ b/include/hw/xen/interface/io/xs_wire.h
@@ -1,25 +1,8 @@
+/* SPDX-License-Identifier: MIT */
 /*
  * Details of the "wire" protocol between Xen Store Daemon and client
  * library or guest kernel.
  *
- * 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.
- *
  * Copyright (C) 2005 Rusty Russell IBM Corporation
  */
 
@@ -71,11 +54,12 @@ struct xsd_errors
 #ifdef EINVAL
 #define XSD_ERROR(x) { x, #x }
 /* LINTED: static unused */
-static struct xsd_errors xsd_errors[]
+static const struct xsd_errors xsd_errors[]
 #if defined(__GNUC__)
 __attribute__((unused))
 #endif
     = {
+    /* /!\ New errors should be added at the end of the array. */
     XSD_ERROR(EINVAL),
     XSD_ERROR(EACCES),
     XSD_ERROR(EEXIST),
@@ -90,7 +74,8 @@ __attribute__((unused))
     XSD_ERROR(EBUSY),
     XSD_ERROR(EAGAIN),
     XSD_ERROR(EISCONN),
-    XSD_ERROR(E2BIG)
+    XSD_ERROR(E2BIG),
+    XSD_ERROR(EPERM),
 };
 #endif
 
@@ -124,6 +109,7 @@ struct xenstore_domain_interface {
     XENSTORE_RING_IDX rsp_cons, rsp_prod;
     uint32_t server_features; /* Bitmap of features supported by the server */
     uint32_t connection;
+    uint32_t error;
 };
 
 /* Violating this is very bad.  See docs/misc/xenstore.txt. */
@@ -135,10 +121,18 @@ struct xenstore_domain_interface {
 
 /* The ability to reconnect a ring */
 #define XENSTORE_SERVER_FEATURE_RECONNECTION 1
+/* The presence of the "error" field in the ring page */
+#define XENSTORE_SERVER_FEATURE_ERROR        2
 
 /* Valid values for the connection field */
 #define XENSTORE_CONNECTED 0 /* the steady-state */
-#define XENSTORE_RECONNECT 1 /* guest has initiated a reconnect */
+#define XENSTORE_RECONNECT 1 /* reconnect in progress */
+
+/* Valid values for the error field */
+#define XENSTORE_ERROR_NONE    0 /* No error */
+#define XENSTORE_ERROR_COMM    1 /* Communication problem */
+#define XENSTORE_ERROR_RINGIDX 2 /* Invalid ring index */
+#define XENSTORE_ERROR_PROTO   3 /* Protocol violation (payload too long) */
 
 #endif /* _XS_WIRE_H */
 
diff --git a/include/hw/xen/interface/memory.h b/include/hw/xen/interface/memory.h
index 383a9468c3..29cf5c8239 100644
--- a/include/hw/xen/interface/memory.h
+++ b/include/hw/xen/interface/memory.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * memory.h
  *
  * Memory reservation and information.
  *
- * 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.
- *
  * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
  */
 
@@ -541,12 +524,14 @@ struct xen_mem_sharing_op {
                 uint32_t gref;     /* IN: gref to debug         */
             } u;
         } debug;
-        struct mem_sharing_op_fork {      /* OP_FORK */
+        struct mem_sharing_op_fork {      /* OP_FORK{,_RESET} */
             domid_t parent_domain;        /* IN: parent's domain id */
 /* Only makes sense for short-lived forks */
 #define XENMEM_FORK_WITH_IOMMU_ALLOWED (1u << 0)
 /* Only makes sense for short-lived forks */
 #define XENMEM_FORK_BLOCK_INTERRUPTS   (1u << 1)
+#define XENMEM_FORK_RESET_STATE        (1u << 2)
+#define XENMEM_FORK_RESET_MEMORY       (1u << 3)
             uint16_t flags;               /* IN: optional settings */
             uint32_t pad;                 /* Must be set to 0 */
         } fork;
@@ -662,6 +647,13 @@ struct xen_mem_acquire_resource {
      * two calls.
      */
     uint32_t nr_frames;
+    /*
+     * Padding field, must be zero on input.
+     * In a previous version this was an output field with the lowest bit
+     * named XENMEM_rsrc_acq_caller_owned. Future versions of this interface
+     * will not reuse this bit as an output with the field being zero on
+     * input.
+     */
     uint32_t pad;
     /*
      * IN - the index of the initial frame to be mapped. This parameter
diff --git a/include/hw/xen/interface/physdev.h b/include/hw/xen/interface/physdev.h
index d271766ad0..f0c0d4727c 100644
--- a/include/hw/xen/interface/physdev.h
+++ b/include/hw/xen/interface/physdev.h
@@ -1,22 +1,5 @@
+/* SPDX-License-Identifier: MIT */
 /*
- * 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.
- *
  * Copyright (c) 2006, Keir Fraser
  */
 
@@ -211,8 +194,8 @@ struct physdev_manage_pci_ext {
     /* IN */
     uint8_t bus;
     uint8_t devfn;
-    unsigned is_extfn;
-    unsigned is_virtfn;
+    uint32_t is_extfn;
+    uint32_t is_virtfn;
     struct {
         uint8_t bus;
         uint8_t devfn;
diff --git a/include/hw/xen/interface/sched.h b/include/hw/xen/interface/sched.h
index 811bd87c82..b4362c6a1d 100644
--- a/include/hw/xen/interface/sched.h
+++ b/include/hw/xen/interface/sched.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * sched.h
  *
  * Scheduler state interactions
  *
- * 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.
- *
  * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
  */
 
diff --git a/include/hw/xen/interface/trace.h b/include/hw/xen/interface/trace.h
index d5fa4aea8d..62a179971d 100644
--- a/include/hw/xen/interface/trace.h
+++ b/include/hw/xen/interface/trace.h
@@ -1,24 +1,7 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * include/public/trace.h
  *
- * 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.
- *
  * Mark Williamson, (C) 2004 Intel Research Cambridge
  * Copyright (C) 2005 Bin Ren
  */
diff --git a/include/hw/xen/interface/vcpu.h b/include/hw/xen/interface/vcpu.h
index 3623af932f..81a3b3a743 100644
--- a/include/hw/xen/interface/vcpu.h
+++ b/include/hw/xen/interface/vcpu.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * vcpu.h
  *
  * VCPU initialisation, query, and hotplug.
  *
- * 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.
- *
  * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
  */
 
diff --git a/include/hw/xen/interface/version.h b/include/hw/xen/interface/version.h
index 17a81e23cd..9c78b4f3b6 100644
--- a/include/hw/xen/interface/version.h
+++ b/include/hw/xen/interface/version.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * version.h
  *
  * Xen version, type, and compile information.
  *
- * 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.
- *
  * Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com>
  * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
  */
diff --git a/include/hw/xen/interface/xen-compat.h b/include/hw/xen/interface/xen-compat.h
index e1c027a95c..97fe698498 100644
--- a/include/hw/xen/interface/xen-compat.h
+++ b/include/hw/xen/interface/xen-compat.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * xen-compat.h
  *
  * Guest OS interface to Xen.  Compatibility layer.
  *
- * 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.
- *
  * Copyright (c) 2006, Christian Limpach
  */
 
diff --git a/include/hw/xen/interface/xen.h b/include/hw/xen/interface/xen.h
index e373592c33..920567e006 100644
--- a/include/hw/xen/interface/xen.h
+++ b/include/hw/xen/interface/xen.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * xen.h
  *
  * Guest OS interface to 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.
- *
  * Copyright (c) 2004, K A Fraser
  */
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:35:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:35:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628053.979111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00hZ-0001Ie-DW; Mon, 06 Nov 2023 14:35:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628053.979111; Mon, 06 Nov 2023 14:35: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 1r00hZ-0001H8-5F; Mon, 06 Nov 2023 14:35:41 +0000
Received: by outflank-mailman (input) for mailman id 628053;
 Mon, 06 Nov 2023 14:35: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hY-0008Lv-98
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:35:40 +0000
Received: from smtp-fw-6001.amazon.com (smtp-fw-6001.amazon.com [52.95.48.154])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c120c03b-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:35:39 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO
 email-inbound-relay-pdx-2c-m6i4x-f7c754c9.us-west-2.amazon.com) ([10.43.8.2])
 by smtp-border-fw-6001.iad6.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:35:37 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan3.pdx.amazon.com [10.39.38.70])
 by email-inbound-relay-pdx-2c-m6i4x-f7c754c9.us-west-2.amazon.com (Postfix)
 with ESMTPS id 0A7D740D5C; Mon,  6 Nov 2023 14:35:30 +0000 (UTC)
Received: from EX19MTAUWA001.ant.amazon.com [10.0.7.35:63487]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.5.146:2525]
 with esmtp (Farcaster)
 id 596d3f28-a5d2-4782-97e7-2b84a86ff3e3; Mon, 6 Nov 2023 14:35:30 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWA001.ant.amazon.com (10.250.64.217) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:29 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c120c03b-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="368627988"
X-Farcaster-Flow-ID: 596d3f28-a5d2-4782-97e7-2b84a86ff3e3
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 05/17] hw/xen: populate store frontend nodes with XenStore PFN/port
Date: Mon, 6 Nov 2023 14:34:55 +0000
Message-ID: <20231106143507.1060610-6-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

This is kind of redundant since without being able to get these through
some other method (HVMOP_get_param) the guest wouldn't be able to access
XenStore in order to find them.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 831da535fc..b7c0407765 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -1434,6 +1434,7 @@ static void alloc_guest_port(XenXenstoreState *s)
 int xen_xenstore_reset(void)
 {
     XenXenstoreState *s = xen_xenstore_singleton;
+    GList *perms;
     int err;
 
     if (!s) {
@@ -1461,6 +1462,16 @@ int xen_xenstore_reset(void)
     }
     s->be_port = err;
 
+    /* Create frontend store nodes */
+    perms = g_list_append(NULL, xs_perm_as_string(XS_PERM_NONE, DOMID_QEMU));
+    perms = g_list_append(perms, xs_perm_as_string(XS_PERM_READ, xen_domid));
+
+    relpath_printf(s, perms, "store/port", "%u", s->guest_port);
+    relpath_printf(s, perms, "store/ring-ref", "%lu",
+                   XEN_SPECIAL_PFN(XENSTORE));
+
+    g_list_free_full(perms, g_free);
+
     /*
      * We don't actually access the guest's page through the grant, because
      * this isn't real Xen, and we can just use the page we gave it in the
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:35:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:35:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628058.979125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00hh-0002Ho-Rj; Mon, 06 Nov 2023 14:35:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628058.979125; Mon, 06 Nov 2023 14:35: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 1r00hh-0002Hh-OT; Mon, 06 Nov 2023 14:35:49 +0000
Received: by outflank-mailman (input) for mailman id 628058;
 Mon, 06 Nov 2023 14: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hg-0000Us-Gi
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:35:48 +0000
Received: from smtp-fw-9106.amazon.com (smtp-fw-9106.amazon.com
 [207.171.188.206]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4c969db-7cb1-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 15:35:46 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO
 email-inbound-relay-pdx-2c-m6i4x-5eae960a.us-west-2.amazon.com)
 ([10.25.36.210]) by smtp-border-fw-9106.sea19.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:35:44 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan2.pdx.amazon.com [10.39.38.66])
 by email-inbound-relay-pdx-2c-m6i4x-5eae960a.us-west-2.amazon.com (Postfix)
 with ESMTPS id 0237E40D52; Mon,  6 Nov 2023 14:35:37 +0000 (UTC)
Received: from EX19MTAUWA001.ant.amazon.com [10.0.7.35:8079]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.34.186:2525]
 with esmtp (Farcaster)
 id 412408a9-6880-48e2-bde9-8f615dae06ec; Mon, 6 Nov 2023 14:35:37 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWA001.ant.amazon.com (10.250.64.217) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:32 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4c969db-7cb1-11ee-9b0e-b553b5be7939
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="682419969"
X-Farcaster-Flow-ID: 412408a9-6880-48e2-bde9-8f615dae06ec
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 06/17] hw/xen: automatically assign device index to block devices
Date: Mon, 6 Nov 2023 14:34:56 +0000
Message-ID: <20231106143507.1060610-7-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

There's no need to force the user to assign a vdev. We can automatically
assign one, starting at xvda and searching until we find the first disk
name that's unused.

This means we can now allow '-drive if=xen,file=xxx' to work without an
explicit separate -driver argument, just like if=virtio.

Rip out the legacy handling from the xenpv machine, which was scribbling
over any disks configured by the toolstack, and didn't work with anything
but raw images.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Acked-by: Kevin Wolf <kwolf@redhat.com>
---
 blockdev.c                          |  15 +++-
 hw/block/xen-block.c                | 118 ++++++++++++++++++++++++++--
 hw/xen/xen_devconfig.c              |  28 -------
 hw/xenpv/xen_machine_pv.c           |   9 ---
 include/hw/xen/xen-legacy-backend.h |   1 -
 5 files changed, 125 insertions(+), 46 deletions(-)

diff --git a/blockdev.c b/blockdev.c
index 1517dc6210..e9b7e38dc4 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -255,13 +255,13 @@ void drive_check_orphaned(void)
          * Ignore default drives, because we create certain default
          * drives unconditionally, then leave them unclaimed.  Not the
          * users fault.
-         * Ignore IF_VIRTIO, because it gets desugared into -device,
-         * so we can leave failing to -device.
+         * Ignore IF_VIRTIO or IF_XEN, because it gets desugared into
+         * -device, so we can leave failing to -device.
          * Ignore IF_NONE, because leaving unclaimed IF_NONE remains
          * available for device_add is a feature.
          */
         if (dinfo->is_default || dinfo->type == IF_VIRTIO
-            || dinfo->type == IF_NONE) {
+            || dinfo->type == IF_XEN || dinfo->type == IF_NONE) {
             continue;
         }
         if (!blk_get_attached_dev(blk)) {
@@ -977,6 +977,15 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type,
         qemu_opt_set(devopts, "driver", "virtio-blk", &error_abort);
         qemu_opt_set(devopts, "drive", qdict_get_str(bs_opts, "id"),
                      &error_abort);
+    } else if (type == IF_XEN) {
+        QemuOpts *devopts;
+        devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 0,
+                                   &error_abort);
+        qemu_opt_set(devopts, "driver",
+                     (media == MEDIA_CDROM) ? "xen-cdrom" : "xen-disk",
+                     &error_abort);
+        qemu_opt_set(devopts, "drive", qdict_get_str(bs_opts, "id"),
+                     &error_abort);
     }
 
     filename = qemu_opt_get(legacy_opts, "file");
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index bfa53960c3..6d64ede94f 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -27,13 +27,119 @@
 #include "sysemu/block-backend.h"
 #include "sysemu/iothread.h"
 #include "dataplane/xen-block.h"
+#include "hw/xen/interface/io/xs_wire.h"
 #include "trace.h"
 
+#define XVDA_MAJOR 202
+#define XVDQ_MAJOR (1 << 20)
+#define XVDBGQCV_MAJOR ((1 << 21) - 1)
+#define HDA_MAJOR 3
+#define HDC_MAJOR 22
+#define SDA_MAJOR 8
+
+
+static int vdev_to_diskno(unsigned int vdev_nr)
+{
+    switch (vdev_nr >> 8) {
+    case XVDA_MAJOR:
+    case SDA_MAJOR:
+        return (vdev_nr >> 4) & 0x15;
+
+    case HDA_MAJOR:
+        return (vdev_nr >> 6) & 1;
+
+    case HDC_MAJOR:
+        return ((vdev_nr >> 6) & 1) + 2;
+
+    case XVDQ_MAJOR ... XVDBGQCV_MAJOR:
+        return (vdev_nr >> 8) & 0xfffff;
+
+    default:
+        return -1;
+    }
+}
+
+#define MAX_AUTO_VDEV 4096
+
+/*
+ * Find a free device name in the xvda → xvdfan range and set it in
+ * blockdev->props.vdev. Our definition of "free" is that there must
+ * be no other disk or partition with the same disk number.
+ *
+ * You are technically permitted to have all of hda, hda1, sda, sda1,
+ * xvda and xvda1 as *separate* PV block devices with separate backing
+ * stores. That doesn't make it a good idea. This code will skip xvda
+ * if *any* of those "conflicting" devices already exists.
+ *
+ * The limit of xvdfan (disk 4095) is fairly arbitrary just to avoid a
+ * stupidly sized bitmap, but Linux as of v6.6 doesn't support anything
+ * higher than that anyway.
+ */
+static bool xen_block_find_free_vdev(XenBlockDevice *blockdev, Error **errp)
+{
+    XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(blockdev)));
+    unsigned long used_devs[BITS_TO_LONGS(MAX_AUTO_VDEV)];
+    XenBlockVdev *vdev = &blockdev->props.vdev;
+    char fe_path[XENSTORE_ABS_PATH_MAX + 1];
+    char **existing_frontends;
+    unsigned int nr_existing = 0;
+    unsigned int vdev_nr;
+    int i, disk = 0;
+
+    snprintf(fe_path, sizeof(fe_path), "/local/domain/%u/device/vbd",
+             blockdev->xendev.frontend_id);
+
+    existing_frontends = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, fe_path,
+                                               &nr_existing);
+    if (!existing_frontends && errno != ENOENT) {
+        error_setg_errno(errp, errno, "cannot read %s", fe_path);
+        return false;
+    }
+
+    memset(used_devs, 0, sizeof(used_devs));
+    for (i = 0; i < nr_existing; i++) {
+        if (qemu_strtoui(existing_frontends[i], NULL, 10, &vdev_nr)) {
+            free(existing_frontends[i]);
+            continue;
+        }
+
+        free(existing_frontends[i]);
+
+        disk = vdev_to_diskno(vdev_nr);
+        if (disk < 0 || disk >= MAX_AUTO_VDEV) {
+            continue;
+        }
+
+        set_bit(disk, used_devs);
+    }
+    free(existing_frontends);
+
+    disk = find_first_zero_bit(used_devs, MAX_AUTO_VDEV);
+    if (disk == MAX_AUTO_VDEV) {
+        error_setg(errp, "cannot find device vdev for block device");
+        return false;
+    }
+
+    vdev->type = XEN_BLOCK_VDEV_TYPE_XVD;
+    vdev->partition = 0;
+    vdev->disk = disk;
+    if (disk < (1 << 4)) {
+        vdev->number = (XVDA_MAJOR << 8) | (disk << 4);
+    } else {
+        vdev->number = (XVDQ_MAJOR << 8) | (disk << 8);
+    }
+    return true;
+}
+
 static char *xen_block_get_name(XenDevice *xendev, Error **errp)
 {
     XenBlockDevice *blockdev = XEN_BLOCK_DEVICE(xendev);
     XenBlockVdev *vdev = &blockdev->props.vdev;
 
+    if (vdev->type == XEN_BLOCK_VDEV_TYPE_INVALID &&
+        !xen_block_find_free_vdev(blockdev, errp)) {
+        return NULL;
+    }
     return g_strdup_printf("%lu", vdev->number);
 }
 
@@ -482,10 +588,10 @@ static void xen_block_set_vdev(Object *obj, Visitor *v, const char *name,
     case XEN_BLOCK_VDEV_TYPE_DP:
     case XEN_BLOCK_VDEV_TYPE_XVD:
         if (vdev->disk < (1 << 4) && vdev->partition < (1 << 4)) {
-            vdev->number = (202 << 8) | (vdev->disk << 4) |
+            vdev->number = (XVDA_MAJOR << 8) | (vdev->disk << 4) |
                 vdev->partition;
         } else if (vdev->disk < (1 << 20) && vdev->partition < (1 << 8)) {
-            vdev->number = (1 << 28) | (vdev->disk << 8) |
+            vdev->number = (XVDQ_MAJOR << 8) | (vdev->disk << 8) |
                 vdev->partition;
         } else {
             goto invalid;
@@ -495,10 +601,11 @@ static void xen_block_set_vdev(Object *obj, Visitor *v, const char *name,
     case XEN_BLOCK_VDEV_TYPE_HD:
         if ((vdev->disk == 0 || vdev->disk == 1) &&
             vdev->partition < (1 << 6)) {
-            vdev->number = (3 << 8) | (vdev->disk << 6) | vdev->partition;
+            vdev->number = (HDA_MAJOR << 8) | (vdev->disk << 6) |
+                vdev->partition;
         } else if ((vdev->disk == 2 || vdev->disk == 3) &&
                    vdev->partition < (1 << 6)) {
-            vdev->number = (22 << 8) | ((vdev->disk - 2) << 6) |
+            vdev->number = (HDC_MAJOR << 8) | ((vdev->disk - 2) << 6) |
                 vdev->partition;
         } else {
             goto invalid;
@@ -507,7 +614,8 @@ static void xen_block_set_vdev(Object *obj, Visitor *v, const char *name,
 
     case XEN_BLOCK_VDEV_TYPE_SD:
         if (vdev->disk < (1 << 4) && vdev->partition < (1 << 4)) {
-            vdev->number = (8 << 8) | (vdev->disk << 4) | vdev->partition;
+            vdev->number = (SDA_MAJOR << 8) | (vdev->disk << 4) |
+                vdev->partition;
         } else {
             goto invalid;
         }
diff --git a/hw/xen/xen_devconfig.c b/hw/xen/xen_devconfig.c
index 9b7304e544..3f77c675c6 100644
--- a/hw/xen/xen_devconfig.c
+++ b/hw/xen/xen_devconfig.c
@@ -46,34 +46,6 @@ static int xen_config_dev_all(char *fe, char *be)
 
 /* ------------------------------------------------------------- */
 
-int xen_config_dev_blk(DriveInfo *disk)
-{
-    char fe[256], be[256], device_name[32];
-    int vdev = 202 * 256 + 16 * disk->unit;
-    int cdrom = disk->media_cd;
-    const char *devtype = cdrom ? "cdrom" : "disk";
-    const char *mode    = cdrom ? "r"     : "w";
-    const char *filename = qemu_opt_get(disk->opts, "file");
-
-    snprintf(device_name, sizeof(device_name), "xvd%c", 'a' + disk->unit);
-    xen_pv_printf(NULL, 1, "config disk %d [%s]: %s\n",
-                  disk->unit, device_name, filename);
-    xen_config_dev_dirs("vbd", "qdisk", vdev, fe, be, sizeof(fe));
-
-    /* frontend */
-    xenstore_write_int(fe, "virtual-device",  vdev);
-    xenstore_write_str(fe, "device-type",     devtype);
-
-    /* backend */
-    xenstore_write_str(be, "dev",             device_name);
-    xenstore_write_str(be, "type",            "file");
-    xenstore_write_str(be, "params",          filename);
-    xenstore_write_str(be, "mode",            mode);
-
-    /* common stuff */
-    return xen_config_dev_all(fe, be);
-}
-
 int xen_config_dev_nic(NICInfo *nic)
 {
     char fe[256], be[256];
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index 17cda5ec13..1533f5dfb4 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -32,7 +32,6 @@
 
 static void xen_init_pv(MachineState *machine)
 {
-    DriveInfo *dinfo;
     int i;
 
     setup_xen_backend_ops();
@@ -64,14 +63,6 @@ static void xen_init_pv(MachineState *machine)
         vga_interface_created = true;
     }
 
-    /* configure disks */
-    for (i = 0; i < 16; i++) {
-        dinfo = drive_get(IF_XEN, 0, i);
-        if (!dinfo)
-            continue;
-        xen_config_dev_blk(dinfo);
-    }
-
     /* configure nics */
     for (i = 0; i < nb_nics; i++) {
         if (!nd_table[i].model || 0 != strcmp(nd_table[i].model, "xen"))
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index 6c307c5f2c..fc42146bc2 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -81,7 +81,6 @@ extern struct XenDevOps xen_usb_ops;          /* xen-usb.c         */
 
 /* configuration (aka xenbus setup) */
 void xen_config_cleanup(void);
-int xen_config_dev_blk(DriveInfo *disk);
 int xen_config_dev_nic(NICInfo *nic);
 int xen_config_dev_vfb(int vdev, const char *type);
 int xen_config_dev_vkbd(int vdev);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:36:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:36:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628064.979135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00hx-0003Km-3M; Mon, 06 Nov 2023 14:36:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628064.979135; Mon, 06 Nov 2023 14:36: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 1r00hw-0003KP-Vz; Mon, 06 Nov 2023 14:36:04 +0000
Received: by outflank-mailman (input) for mailman id 628064;
 Mon, 06 Nov 2023 14:36: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hv-0000Us-R6
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:03 +0000
Received: from smtp-fw-9106.amazon.com (smtp-fw-9106.amazon.com
 [207.171.188.206]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cdece1ad-7cb1-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 15:36:01 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO
 email-inbound-relay-iad-1e-m6i4x-a65ebc6e.us-east-1.amazon.com)
 ([10.25.36.210]) by smtp-border-fw-9106.sea19.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:35:59 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan3.iad.amazon.com [10.32.235.38])
 by email-inbound-relay-iad-1e-m6i4x-a65ebc6e.us-east-1.amazon.com (Postfix)
 with ESMTPS id 6AF9266E6B; Mon,  6 Nov 2023 14:35:45 +0000 (UTC)
Received: from EX19MTAUWA001.ant.amazon.com [10.0.7.35:47772]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.11.184:2525]
 with esmtp (Farcaster)
 id 576d4266-9628-4069-86ae-a145910d19d1; Mon, 6 Nov 2023 14:35:45 +0000 (UTC)
Received: from EX19EXOUWA001.ant.amazon.com (10.250.64.209) by
 EX19MTAUWA001.ant.amazon.com (10.250.64.218) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:35 +0000
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19EXOUWA001.ant.amazon.com (10.250.64.209) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1258.27; Mon, 6 Nov 2023 14:35:35 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdece1ad-7cb1-11ee-9b0e-b553b5be7939
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="682420060"
X-Farcaster-Flow-ID: 576d4266-9628-4069-86ae-a145910d19d1
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, "Peter
 Maydell" <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, "Paul
 Durrant" <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Richard
 Henderson" <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, "Marcel
 Apfelbaum" <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 07/17] hw/xen: add get_frontend_path() method to XenDeviceClass
Date: Mon, 6 Nov 2023 14:34:57 +0000
Message-ID: <20231106143507.1060610-8-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

The primary Xen console is special. The guest's side is set up for it by
the toolstack automatically and not by the standard PV init sequence.

Accordingly, its *frontend* doesn't appear in …/device/console/0 either;
instead it appears under …/console in the guest's XenStore node.

To allow the Xen console driver to override the frontend path for the
primary console, add a method to the XenDeviceClass which can be used
instead of the standard xen_device_get_frontend_path()

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/xen/xen-bus.c         | 11 ++++++++++-
 include/hw/xen/xen-bus.h |  2 ++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index ece8ec40cd..12ff782005 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -711,8 +711,17 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
 {
     ERRP_GUARD();
     XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
+    XenDeviceClass *xendev_class = XEN_DEVICE_GET_CLASS(xendev);
 
-    xendev->frontend_path = xen_device_get_frontend_path(xendev);
+    if (xendev_class->get_frontend_path) {
+        xendev->frontend_path = xendev_class->get_frontend_path(xendev, errp);
+        if (!xendev->frontend_path) {
+            error_prepend(errp, "failed to create frontend: ");
+            return;
+        }
+    } else {
+        xendev->frontend_path = xen_device_get_frontend_path(xendev);
+    }
 
     /*
      * The frontend area may have already been created by a legacy
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index f435898164..eb440880b5 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -33,6 +33,7 @@ struct XenDevice {
 };
 typedef struct XenDevice XenDevice;
 
+typedef char *(*XenDeviceGetFrontendPath)(XenDevice *xendev, Error **errp);
 typedef char *(*XenDeviceGetName)(XenDevice *xendev, Error **errp);
 typedef void (*XenDeviceRealize)(XenDevice *xendev, Error **errp);
 typedef void (*XenDeviceFrontendChanged)(XenDevice *xendev,
@@ -46,6 +47,7 @@ struct XenDeviceClass {
     /*< public >*/
     const char *backend;
     const char *device;
+    XenDeviceGetFrontendPath get_frontend_path;
     XenDeviceGetName get_name;
     XenDeviceRealize realize;
     XenDeviceFrontendChanged frontend_changed;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:36:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:36:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628065.979145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00hz-0003e4-Ad; Mon, 06 Nov 2023 14:36:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628065.979145; Mon, 06 Nov 2023 14:36: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 1r00hz-0003ds-7J; Mon, 06 Nov 2023 14:36:07 +0000
Received: by outflank-mailman (input) for mailman id 628065;
 Mon, 06 Nov 2023 14:36: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hy-0000Us-0m
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:06 +0000
Received: from smtp-fw-9105.amazon.com (smtp-fw-9105.amazon.com
 [207.171.188.204]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cf029e34-7cb1-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 15:36:03 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO
 email-inbound-relay-pdx-2b-m6i4x-32fb4f1a.us-west-2.amazon.com)
 ([10.25.36.210]) by smtp-border-fw-9105.sea19.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:36:02 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan2.pdx.amazon.com [10.39.38.66])
 by email-inbound-relay-pdx-2b-m6i4x-32fb4f1a.us-west-2.amazon.com (Postfix)
 with ESMTPS id 513BF27C7FC; Mon,  6 Nov 2023 14:35:58 +0000 (UTC)
Received: from EX19MTAUWA001.ant.amazon.com [10.0.7.35:13407]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.21.17:2525]
 with esmtp (Farcaster)
 id 84b22f4b-16ca-48d4-8201-95492ce3a265; Mon, 6 Nov 2023 14:35:57 +0000 (UTC)
Received: from EX19EXOUWC001.ant.amazon.com (10.250.64.135) by
 EX19MTAUWA001.ant.amazon.com (10.250.64.218) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:46 +0000
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19EXOUWC001.ant.amazon.com (10.250.64.135) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1258.27; Mon, 6 Nov 2023 14:35:45 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf029e34-7cb1-11ee-9b0e-b553b5be7939
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="683074538"
X-Farcaster-Flow-ID: 84b22f4b-16ca-48d4-8201-95492ce3a265
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, "Peter
 Maydell" <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, "Paul
 Durrant" <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Richard
 Henderson" <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, "Marcel
 Apfelbaum" <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 10/17] hw/xen: add support for Xen primary console in emulated mode
Date: Mon, 6 Nov 2023 14:35:00 +0000
Message-ID: <20231106143507.1060610-11-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

The primary console is special because the toolstack maps a page into
the guest for its ring, and also allocates the guest-side event channel.
The guest's grant table is even primed to export that page using a known
grant ref#. Add support for all that in emulated mode, so that we can
have a primary console.

For reasons unclear, the backends running under real Xen don't just use
a mapping of the well-known GNTTAB_RESERVED_CONSOLE grant ref (which
would also be in the ring-ref node in XenStore). Instead, the toolstack
sets the ring-ref node of the primary console to the GFN of the guest
page. The backend is expected to handle that special case and map it
with foreignmem operations instead.

We don't have an implementation of foreignmem ops for emulated Xen mode,
so just make it map GNTTAB_RESERVED_CONSOLE instead. This would probably
work for real Xen too, but we can't work out how to make real Xen create
a primary console of type "ioemu" to make QEMU drive it, so we can't
test that; might as well leave it as it is for now under Xen.

Now at last we can boot the Xen PV shim and run PV kernels in QEMU.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/char/xen_console.c             |  78 ++++++++----
 hw/i386/kvm/meson.build           |   1 +
 hw/i386/kvm/trace-events          |   2 +
 hw/i386/kvm/xen-stubs.c           |   8 ++
 hw/i386/kvm/xen_gnttab.c          |   7 +-
 hw/i386/kvm/xen_primary_console.c | 193 ++++++++++++++++++++++++++++++
 hw/i386/kvm/xen_primary_console.h |  23 ++++
 hw/i386/kvm/xen_xenstore.c        |  10 ++
 hw/xen/xen-bus.c                  |   5 +
 include/hw/xen/xen-bus.h          |   1 +
 target/i386/kvm/xen-emu.c         |  23 +++-
 11 files changed, 328 insertions(+), 23 deletions(-)
 create mode 100644 hw/i386/kvm/xen_primary_console.c
 create mode 100644 hw/i386/kvm/xen_primary_console.h

diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 4a419dc287..5cbee2f184 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -33,6 +33,8 @@
 #include "hw/qdev-properties-system.h"
 #include "hw/xen/interface/io/console.h"
 #include "hw/xen/interface/io/xs_wire.h"
+#include "hw/xen/interface/grant_table.h"
+#include "hw/i386/kvm/xen_primary_console.h"
 #include "trace.h"
 
 struct buffer {
@@ -230,24 +232,47 @@ static bool xen_console_connect(XenDevice *xendev, Error **errp)
         return false;
     }
 
-    if (!con->dev) {
-        xen_pfn_t mfn = (xen_pfn_t)con->ring_ref;
-        con->sring = qemu_xen_foreignmem_map(xendev->frontend_id, NULL,
-                                             PROT_READ | PROT_WRITE,
-                                             1, &mfn, NULL);
-        if (!con->sring) {
-            error_setg(errp, "failed to map console page");
-            return false;
+    switch (con->dev) {
+    case 0:
+        /*
+         * The primary console is special. For real Xen the ring-ref is
+         * actually a GFN which needs to be mapped as foreignmem.
+         */
+        if (xen_mode != XEN_EMULATE) {
+            xen_pfn_t mfn = (xen_pfn_t)con->ring_ref;
+            con->sring = qemu_xen_foreignmem_map(xendev->frontend_id, NULL,
+                                                 PROT_READ | PROT_WRITE,
+                                                 1, &mfn, NULL);
+            if (!con->sring) {
+                error_setg(errp, "failed to map console page");
+                return false;
+            }
+            break;
         }
-    } else {
+
+        /*
+         * For Xen emulation, we still follow the convention of ring-ref
+         * holding the GFN, but we map the fixed GNTTAB_RESERVED_CONSOLE
+         * grant ref because there is no implementation of foreignmem
+         * operations for emulated mode. The emulation code which handles
+         * the guest-side page and event channel also needs to be informed
+         * of the backend event channel port, in order to reconnect to it
+         * after a soft reset.
+         */
+        xen_primary_console_set_be_port(
+            xen_event_channel_get_local_port(con->event_channel));
+        con->ring_ref = GNTTAB_RESERVED_CONSOLE;
+        /* fallthrough */
+    default:
         con->sring = xen_device_map_grant_refs(xendev,
                                                &con->ring_ref, 1,
                                                PROT_READ | PROT_WRITE,
                                                errp);
         if (!con->sring) {
-            error_prepend(errp, "failed to map grant ref: ");
+            error_prepend(errp, "failed to map console grant ref: ");
             return false;
         }
+        break;
     }
 
     trace_xen_console_connect(con->dev, con->ring_ref, port,
@@ -272,10 +297,14 @@ static void xen_console_disconnect(XenDevice *xendev, Error **errp)
         xen_device_unbind_event_channel(xendev, con->event_channel,
                                         errp);
         con->event_channel = NULL;
+
+        if (xen_mode == XEN_EMULATE && !con->dev) {
+            xen_primary_console_set_be_port(0);
+        }
     }
 
     if (con->sring) {
-        if (!con->dev) {
+        if (!con->dev && xen_mode != XEN_EMULATE) {
             qemu_xen_foreignmem_unmap(con->sring, 1);
         } else {
             xen_device_unmap_grant_refs(xendev, con->sring,
@@ -338,14 +367,19 @@ static char *xen_console_get_name(XenDevice *xendev, Error **errp)
     if (con->dev == -1) {
         XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
         char fe_path[XENSTORE_ABS_PATH_MAX + 1];
+        int idx = (xen_mode == XEN_EMULATE) ? 0 : 1;
         char *value;
-        int idx = 1;
 
         /* Theoretically we could go up to INT_MAX here but that's overkill */
         while (idx < 100) {
-            snprintf(fe_path, sizeof(fe_path),
-                     "/local/domain/%u/device/console/%u",
-                     xendev->frontend_id, idx);
+            if (!idx) {
+                snprintf(fe_path, sizeof(fe_path),
+                         "/local/domain/%u/console", xendev->frontend_id);
+            } else {
+                snprintf(fe_path, sizeof(fe_path),
+                         "/local/domain/%u/device/console/%u",
+                         xendev->frontend_id, idx);
+            }
             value = qemu_xen_xs_read(xenbus->xsh, XBT_NULL, fe_path, NULL);
             if (!value) {
                 if (errno == ENOENT) {
@@ -400,11 +434,15 @@ static void xen_console_realize(XenDevice *xendev, Error **errp)
      * be mapped directly as foreignmem (not a grant ref), and the guest port
      * was allocated *for* the guest by the toolstack. The guest gets these
      * through HVMOP_get_param and can use the console long before it's got
-     * XenStore up and running. We cannot create those for a Xen guest.
+     * XenStore up and running. We cannot create those for a true Xen guest,
+     * but we can for Xen emulation.
      */
     if (!con->dev) {
-        if (xen_device_frontend_scanf(xendev, "ring-ref", "%u", &u) != 1 ||
-            xen_device_frontend_scanf(xendev, "port", "%u", &u) != 1) {
+        if (xen_mode == XEN_EMULATE) {
+            xen_primary_console_create();
+        } else if (xen_device_frontend_scanf(xendev, "ring-ref", "%u", &u)
+                   != 1 ||
+                   xen_device_frontend_scanf(xendev, "port", "%u", &u) != 1) {
             error_setg(errp, "cannot create primary Xen console");
             return;
         }
@@ -417,8 +455,8 @@ static void xen_console_realize(XenDevice *xendev, Error **errp)
         xen_device_frontend_printf(xendev, "tty", "%s", cs->filename + 4);
     }
 
-    /* No normal PV driver initialization for the primary console */
-    if (!con->dev) {
+    /* No normal PV driver initialization for the primary console under Xen */
+    if (!con->dev && xen_mode != XEN_EMULATE) {
         xen_console_connect(xendev, errp);
     }
 }
diff --git a/hw/i386/kvm/meson.build b/hw/i386/kvm/meson.build
index ab143d6474..a4a2e23c06 100644
--- a/hw/i386/kvm/meson.build
+++ b/hw/i386/kvm/meson.build
@@ -9,6 +9,7 @@ i386_kvm_ss.add(when: 'CONFIG_XEN_EMU', if_true: files(
   'xen_evtchn.c',
   'xen_gnttab.c',
   'xen_xenstore.c',
+  'xen_primary_console.c',
   'xenstore_impl.c',
   ))
 
diff --git a/hw/i386/kvm/trace-events b/hw/i386/kvm/trace-events
index e4c82de6f3..67bf7f174e 100644
--- a/hw/i386/kvm/trace-events
+++ b/hw/i386/kvm/trace-events
@@ -18,3 +18,5 @@ xenstore_watch(const char *path, const char *token) "path %s token %s"
 xenstore_unwatch(const char *path, const char *token) "path %s token %s"
 xenstore_reset_watches(void) ""
 xenstore_watch_event(const char *path, const char *token) "path %s token %s"
+xen_primary_console_create(void) ""
+xen_primary_console_reset(int port) "port %u"
diff --git a/hw/i386/kvm/xen-stubs.c b/hw/i386/kvm/xen-stubs.c
index ae406e0b02..d03131e686 100644
--- a/hw/i386/kvm/xen-stubs.c
+++ b/hw/i386/kvm/xen-stubs.c
@@ -15,6 +15,7 @@
 #include "qapi/qapi-commands-misc-target.h"
 
 #include "xen_evtchn.h"
+#include "xen_primary_console.h"
 
 void xen_evtchn_snoop_msi(PCIDevice *dev, bool is_msix, unsigned int vector,
                           uint64_t addr, uint32_t data, bool is_masked)
@@ -30,6 +31,13 @@ bool xen_evtchn_deliver_pirq_msi(uint64_t address, uint32_t data)
     return false;
 }
 
+void xen_primary_console_create(void)
+{
+}
+
+void xen_primary_console_set_be_port(uint16_t port)
+{
+}
 #ifdef TARGET_I386
 EvtchnInfoList *qmp_xen_event_list(Error **errp)
 {
diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 839ec920a1..0a24f53f20 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -25,6 +25,7 @@
 #include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_gnttab.h"
+#include "xen_primary_console.h"
 
 #include "sysemu/kvm.h"
 #include "sysemu/kvm_xen.h"
@@ -537,9 +538,13 @@ int xen_gnttab_reset(void)
     s->nr_frames = 0;
 
     memset(s->entries.v1, 0, XEN_PAGE_SIZE * s->max_frames);
-
     s->entries.v1[GNTTAB_RESERVED_XENSTORE].flags = GTF_permit_access;
     s->entries.v1[GNTTAB_RESERVED_XENSTORE].frame = XEN_SPECIAL_PFN(XENSTORE);
 
+    if (xen_primary_console_get_pfn()) {
+        s->entries.v1[GNTTAB_RESERVED_CONSOLE].flags = GTF_permit_access;
+        s->entries.v1[GNTTAB_RESERVED_CONSOLE].frame = XEN_SPECIAL_PFN(CONSOLE);
+    }
+
     return 0;
 }
diff --git a/hw/i386/kvm/xen_primary_console.c b/hw/i386/kvm/xen_primary_console.c
new file mode 100644
index 0000000000..abe79f565b
--- /dev/null
+++ b/hw/i386/kvm/xen_primary_console.c
@@ -0,0 +1,193 @@
+/*
+ * QEMU Xen emulation: Primary console support
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Authors: David Woodhouse <dwmw2@infradead.org>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#include "qemu/osdep.h"
+
+#include "qapi/error.h"
+
+#include "hw/sysbus.h"
+#include "hw/xen/xen.h"
+#include "hw/xen/xen_backend_ops.h"
+#include "xen_evtchn.h"
+#include "xen_overlay.h"
+#include "xen_primary_console.h"
+
+#include "sysemu/kvm.h"
+#include "sysemu/kvm_xen.h"
+
+#include "trace.h"
+
+#include "hw/xen/interface/event_channel.h"
+#include "hw/xen/interface/grant_table.h"
+
+#define TYPE_XEN_PRIMARY_CONSOLE "xen-primary-console"
+OBJECT_DECLARE_SIMPLE_TYPE(XenPrimaryConsoleState, XEN_PRIMARY_CONSOLE)
+
+struct XenPrimaryConsoleState {
+    /*< private >*/
+    SysBusDevice busdev;
+    /*< public >*/
+
+    MemoryRegion console_page;
+    void *cp;
+
+    evtchn_port_t guest_port;
+    evtchn_port_t be_port;
+
+    struct xengntdev_handle *gt;
+    void *granted_xs;
+};
+
+struct XenPrimaryConsoleState *xen_primary_console_singleton;
+
+static void xen_primary_console_realize(DeviceState *dev, Error **errp)
+{
+    XenPrimaryConsoleState *s = XEN_PRIMARY_CONSOLE(dev);
+
+    if (xen_mode != XEN_EMULATE) {
+        error_setg(errp, "Xen primary console support is for Xen emulation");
+        return;
+    }
+
+    memory_region_init_ram(&s->console_page, OBJECT(dev), "xen:console_page",
+                           XEN_PAGE_SIZE, &error_abort);
+    memory_region_set_enabled(&s->console_page, true);
+    s->cp = memory_region_get_ram_ptr(&s->console_page);
+    memset(s->cp, 0, XEN_PAGE_SIZE);
+
+    /* We can't map it this early as KVM isn't ready */
+    xen_primary_console_singleton = s;
+}
+
+static void xen_primary_console_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(klass);
+
+    dc->realize = xen_primary_console_realize;
+}
+
+static const TypeInfo xen_primary_console_info = {
+    .name          = TYPE_XEN_PRIMARY_CONSOLE,
+    .parent        = TYPE_SYS_BUS_DEVICE,
+    .instance_size = sizeof(XenPrimaryConsoleState),
+    .class_init    = xen_primary_console_class_init,
+};
+
+
+void xen_primary_console_create(void)
+{
+    DeviceState *dev = sysbus_create_simple(TYPE_XEN_PRIMARY_CONSOLE, -1, NULL);
+
+    trace_xen_primary_console_create();
+
+    xen_primary_console_singleton = XEN_PRIMARY_CONSOLE(dev);
+
+    /*
+     * Defer the init (xen_primary_console_reset()) until KVM is set up and the
+     * overlay page can be mapped.
+     */
+}
+
+static void xen_primary_console_register_types(void)
+{
+    type_register_static(&xen_primary_console_info);
+}
+
+type_init(xen_primary_console_register_types)
+
+uint16_t xen_primary_console_get_port(void)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (!s) {
+        return 0;
+    }
+    return s->guest_port;
+}
+
+void xen_primary_console_set_be_port(uint16_t port)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (s) {
+        s->be_port = port;
+    }
+}
+
+uint64_t xen_primary_console_get_pfn(void)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (!s) {
+        return 0;
+    }
+    return XEN_SPECIAL_PFN(CONSOLE);
+}
+
+void *xen_primary_console_get_map(void)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (!s) {
+        return 0;
+    }
+    return s->cp;
+}
+
+static void alloc_guest_port(XenPrimaryConsoleState *s)
+{
+    struct evtchn_alloc_unbound alloc = {
+        .dom = DOMID_SELF,
+        .remote_dom = DOMID_QEMU,
+    };
+
+    if (!xen_evtchn_alloc_unbound_op(&alloc)) {
+        s->guest_port = alloc.port;
+    }
+}
+
+static void rebind_guest_port(XenPrimaryConsoleState *s)
+{
+    struct evtchn_bind_interdomain inter = {
+        .remote_dom = DOMID_QEMU,
+        .remote_port = s->be_port,
+    };
+
+    if (!xen_evtchn_bind_interdomain_op(&inter)) {
+        s->guest_port = inter.local_port;
+    }
+
+    s->be_port = 0;
+}
+
+int xen_primary_console_reset(void)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (!s) {
+        return 0;
+    }
+
+    if (!memory_region_is_mapped(&s->console_page)) {
+        uint64_t gpa = XEN_SPECIAL_PFN(CONSOLE) << TARGET_PAGE_BITS;
+        xen_overlay_do_map_page(&s->console_page, gpa);
+    }
+
+    if (s->be_port) {
+        rebind_guest_port(s);
+    } else {
+        alloc_guest_port(s);
+    }
+
+    trace_xen_primary_console_reset(s->guest_port);
+
+    s->gt = qemu_xen_gnttab_open();
+    uint32_t xs_gntref = GNTTAB_RESERVED_CONSOLE;
+    s->granted_xs = qemu_xen_gnttab_map_refs(s->gt, 1, xen_domid, &xs_gntref,
+                                             PROT_READ | PROT_WRITE);
+
+    return 0;
+}
diff --git a/hw/i386/kvm/xen_primary_console.h b/hw/i386/kvm/xen_primary_console.h
new file mode 100644
index 0000000000..7e2989ea0d
--- /dev/null
+++ b/hw/i386/kvm/xen_primary_console.h
@@ -0,0 +1,23 @@
+/*
+ * QEMU Xen emulation: Primary console support
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Authors: David Woodhouse <dwmw2@infradead.org>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef QEMU_XEN_PRIMARY_CONSOLE_H
+#define QEMU_XEN_PRIMARY_CONSOLE_H
+
+void xen_primary_console_create(void);
+int xen_primary_console_reset(void);
+
+uint16_t xen_primary_console_get_port(void);
+void xen_primary_console_set_be_port(uint16_t port);
+uint64_t xen_primary_console_get_pfn(void);
+void *xen_primary_console_get_map(void);
+
+#endif /* QEMU_XEN_PRIMARY_CONSOLE_H */
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index b7c0407765..6e651960b3 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -25,6 +25,7 @@
 #include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_evtchn.h"
+#include "xen_primary_console.h"
 #include "xen_xenstore.h"
 
 #include "sysemu/kvm.h"
@@ -1434,6 +1435,7 @@ static void alloc_guest_port(XenXenstoreState *s)
 int xen_xenstore_reset(void)
 {
     XenXenstoreState *s = xen_xenstore_singleton;
+    int console_port;
     GList *perms;
     int err;
 
@@ -1470,6 +1472,14 @@ int xen_xenstore_reset(void)
     relpath_printf(s, perms, "store/ring-ref", "%lu",
                    XEN_SPECIAL_PFN(XENSTORE));
 
+    console_port = xen_primary_console_get_port();
+    if (console_port) {
+        relpath_printf(s, perms, "console/ring-ref", "%lu",
+                       XEN_SPECIAL_PFN(CONSOLE));
+        relpath_printf(s, perms, "console/port", "%u", console_port);
+        relpath_printf(s, perms, "console/state", "%u", XenbusStateInitialised);
+    }
+
     g_list_free_full(perms, g_free);
 
     /*
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 3ffd1a5333..cc6f1b362f 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -922,6 +922,11 @@ void xen_device_notify_event_channel(XenDevice *xendev,
     }
 }
 
+unsigned int xen_event_channel_get_local_port(XenEventChannel *channel)
+{
+    return channel->local_port;
+}
+
 void xen_device_unbind_event_channel(XenDevice *xendev,
                                      XenEventChannel *channel,
                                      Error **errp)
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index eb440880b5..38d40afa37 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -131,5 +131,6 @@ void xen_device_notify_event_channel(XenDevice *xendev,
 void xen_device_unbind_event_channel(XenDevice *xendev,
                                      XenEventChannel *channel,
                                      Error **errp);
+unsigned int xen_event_channel_get_local_port(XenEventChannel *channel);
 
 #endif /* HW_XEN_BUS_H */
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index 1dc9ab0d91..c0631f9cf4 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -28,6 +28,7 @@
 #include "hw/i386/kvm/xen_overlay.h"
 #include "hw/i386/kvm/xen_evtchn.h"
 #include "hw/i386/kvm/xen_gnttab.h"
+#include "hw/i386/kvm/xen_primary_console.h"
 #include "hw/i386/kvm/xen_xenstore.h"
 
 #include "hw/xen/interface/version.h"
@@ -182,7 +183,8 @@ int kvm_xen_init(KVMState *s, uint32_t hypercall_msr)
         return ret;
     }
 
-    /* The page couldn't be overlaid until KVM was initialized */
+    /* The pages couldn't be overlaid until KVM was initialized */
+    xen_primary_console_reset();
     xen_xenstore_reset();
 
     return 0;
@@ -812,11 +814,23 @@ static bool handle_get_param(struct kvm_xen_exit *exit, X86CPU *cpu,
     case HVM_PARAM_STORE_EVTCHN:
         hp.value = xen_xenstore_get_port();
         break;
+    case HVM_PARAM_CONSOLE_PFN:
+        hp.value = xen_primary_console_get_pfn();
+        if (!hp.value) {
+            err = -EINVAL;
+        }
+        break;
+    case HVM_PARAM_CONSOLE_EVTCHN:
+        hp.value = xen_primary_console_get_port();
+        if (!hp.value) {
+            err = -EINVAL;
+        }
+        break;
     default:
         return false;
     }
 
-    if (kvm_copy_to_gva(cs, arg, &hp, sizeof(hp))) {
+    if (!err && kvm_copy_to_gva(cs, arg, &hp, sizeof(hp))) {
         err = -EFAULT;
     }
 out:
@@ -1427,6 +1441,11 @@ int kvm_xen_soft_reset(void)
         return err;
     }
 
+    err = xen_primary_console_reset();
+    if (err) {
+        return err;
+    }
+
     err = xen_xenstore_reset();
     if (err) {
         return err;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:43:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:43:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628088.979162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00p5-0007Be-LQ; Mon, 06 Nov 2023 14:43:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628088.979162; Mon, 06 Nov 2023 14:43: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 1r00p5-00079z-EA; Mon, 06 Nov 2023 14:43:27 +0000
Received: by outflank-mailman (input) for mailman id 628088;
 Mon, 06 Nov 2023 14: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hw-0008Lv-6v
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:04 +0000
Received: from smtp-fw-52002.amazon.com (smtp-fw-52002.amazon.com
 [52.119.213.150]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cee7a777-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:36:02 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-iad-1e-m6i4x-6e7a78d7.us-east-1.amazon.com) ([10.43.8.6])
 by smtp-border-fw-52002.iad7.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:36:00 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan2.iad.amazon.com [10.32.235.34])
 by email-inbound-relay-iad-1e-m6i4x-6e7a78d7.us-east-1.amazon.com (Postfix)
 with ESMTPS id 354448463C; Mon,  6 Nov 2023 14:35:49 +0000 (UTC)
Received: from EX19MTAUWA002.ant.amazon.com [10.0.38.20:33609]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.52.187:2525]
 with esmtp (Farcaster)
 id 17b942b6-4bce-4e6d-bd4d-69894513813a; Mon, 6 Nov 2023 14:35:49 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWA002.ant.amazon.com (10.250.64.202) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:38 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cee7a777-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="593337468"
X-Farcaster-Flow-ID: 17b942b6-4bce-4e6d-bd4d-69894513813a
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 08/17] hw/xen: do not repeatedly try to create a failing backend device
Date: Mon, 6 Nov 2023 14:34:58 +0000
Message-ID: <20231106143507.1060610-9-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

If xen_backend_device_create() fails to instantiate a device, the XenBus
code will just keep trying over and over again each time the bus is
re-enumerated, as long as the backend appears online and in
XenbusStateInitialising.

The only thing which prevents the XenBus code from recreating duplicates
of devices which already exist, is the fact that xen_device_realize()
sets the backend state to XenbusStateInitWait. If the attempt to create
the device doesn't get *that* far, that's when it will keep getting
retried.

My first thought was to handle errors by setting the backend state to
XenbusStateClosed, but that doesn't work for XenConsole which wants to
*ignore* any device of type != "ioemu" completely.

So, make xen_backend_device_create() *keep* the XenBackendInstance for a
failed device, and provide a new xen_backend_exists() function to allow
xen_bus_type_enumerate() to check whether one already exists before
creating a new one.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/xen/xen-backend.c         | 27 +++++++++++++++++++++------
 hw/xen/xen-bus.c             |  3 ++-
 include/hw/xen/xen-backend.h |  1 +
 3 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/hw/xen/xen-backend.c b/hw/xen/xen-backend.c
index 5b0fb76eae..b9bf70a9f5 100644
--- a/hw/xen/xen-backend.c
+++ b/hw/xen/xen-backend.c
@@ -101,6 +101,24 @@ static XenBackendInstance *xen_backend_list_find(XenDevice *xendev)
     return NULL;
 }
 
+bool xen_backend_exists(const char *type, const char *name)
+{
+    const XenBackendImpl *impl = xen_backend_table_lookup(type);
+    XenBackendInstance *backend;
+
+    if (!impl) {
+        return false;
+    }
+
+    QLIST_FOREACH(backend, &backend_list, entry) {
+        if (backend->impl == impl && !strcmp(backend->name, name)) {
+            return true;
+        }
+    }
+
+    return false;
+}
+
 static void xen_backend_list_remove(XenBackendInstance *backend)
 {
     QLIST_REMOVE(backend, entry);
@@ -122,11 +140,6 @@ void xen_backend_device_create(XenBus *xenbus, const char *type,
     backend->name = g_strdup(name);
 
     impl->create(backend, opts, errp);
-    if (*errp) {
-        g_free(backend->name);
-        g_free(backend);
-        return;
-    }
 
     backend->impl = impl;
     xen_backend_list_add(backend);
@@ -165,7 +178,9 @@ bool xen_backend_try_device_destroy(XenDevice *xendev, Error **errp)
     }
 
     impl = backend->impl;
-    impl->destroy(backend, errp);
+    if (backend->xendev) {
+        impl->destroy(backend, errp);
+    }
 
     xen_backend_list_remove(backend);
     g_free(backend->name);
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 12ff782005..3ffd1a5333 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -209,7 +209,8 @@ static void xen_bus_type_enumerate(XenBus *xenbus, const char *type)
                           NULL, "%u", &online) != 1)
             online = 0;
 
-        if (online && state == XenbusStateInitialising) {
+        if (online && state == XenbusStateInitialising &&
+            !xen_backend_exists(type, backend[i])) {
             Error *local_err = NULL;
 
             xen_bus_backend_create(xenbus, type, backend[i], backend_path,
diff --git a/include/hw/xen/xen-backend.h b/include/hw/xen/xen-backend.h
index aac2fd454d..0f01631ae7 100644
--- a/include/hw/xen/xen-backend.h
+++ b/include/hw/xen/xen-backend.h
@@ -33,6 +33,7 @@ XenDevice *xen_backend_get_device(XenBackendInstance *backend);
 void xen_backend_register(const XenBackendInfo *info);
 const char **xen_backend_get_types(unsigned int *nr);
 
+bool xen_backend_exists(const char *type, const char *name);
 void xen_backend_device_create(XenBus *xenbus, const char *type,
                                const char *name, QDict *opts, Error **errp);
 bool xen_backend_try_device_destroy(XenDevice *xendev, Error **errp);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:43:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:43:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628087.979155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00p5-00078A-BV; Mon, 06 Nov 2023 14:43:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628087.979155; Mon, 06 Nov 2023 14:43: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 1r00p5-000783-7a; Mon, 06 Nov 2023 14:43:27 +0000
Received: by outflank-mailman (input) for mailman id 628087;
 Mon, 06 Nov 2023 14:43: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00iD-0008Lv-9o
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:21 +0000
Received: from smtp-fw-80008.amazon.com (smtp-fw-80008.amazon.com
 [99.78.197.219]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8f81c57-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:36:20 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2a-m6i4x-af372327.us-west-2.amazon.com)
 ([10.25.36.214]) by smtp-border-fw-80008.pdx80.corp.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:36:18 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan2.pdx.amazon.com [10.39.38.66])
 by email-inbound-relay-pdx-2a-m6i4x-af372327.us-west-2.amazon.com (Postfix)
 with ESMTPS id 2CCF460F5A; Mon,  6 Nov 2023 14:36:16 +0000 (UTC)
Received: from EX19MTAUWA002.ant.amazon.com [10.0.38.20:39754]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.11.184:2525]
 with esmtp (Farcaster)
 id 765750b6-add6-4432-93b6-144cb5af84c7; Mon, 6 Nov 2023 14:36:15 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWA002.ant.amazon.com (10.250.64.202) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:36:07 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:36: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8f81c57-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="41362663"
X-Farcaster-Flow-ID: 765750b6-add6-4432-93b6-144cb5af84c7
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 17/17] docs: update Xen-on-KVM documentation
Date: Mon, 6 Nov 2023 14:35:07 +0000
Message-ID: <20231106143507.1060610-18-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

Add notes about console and network support, and how to launch PV guests.
Clean up the disk configuration examples now that that's simpler, and
remove the comment about IDE unplug on q35/AHCI now that it's fixed.

Update the -initrd option documentation to explain how to quote commas
in module command lines, and reference it when documenting PV guests.

Also update stale avocado test filename in MAINTAINERS.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 MAINTAINERS              |   2 +-
 docs/system/i386/xen.rst | 107 +++++++++++++++++++++++++++++----------
 qemu-options.hx          |  14 +++--
 3 files changed, 91 insertions(+), 32 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 8e8a7d5be5..3252be2696 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -490,7 +490,7 @@ S: Supported
 F: include/sysemu/kvm_xen.h
 F: target/i386/kvm/xen*
 F: hw/i386/kvm/xen*
-F: tests/avocado/xen_guest.py
+F: tests/avocado/kvm_xen_guest.py
 
 Guest CPU Cores (other accelerators)
 ------------------------------------
diff --git a/docs/system/i386/xen.rst b/docs/system/i386/xen.rst
index f06765e88c..f3bd90d4d6 100644
--- a/docs/system/i386/xen.rst
+++ b/docs/system/i386/xen.rst
@@ -15,46 +15,24 @@ Setup
 -----
 
 Xen mode is enabled by setting the ``xen-version`` property of the KVM
-accelerator, for example for Xen 4.10:
+accelerator, for example for Xen 4.17:
 
 .. parsed-literal::
 
-  |qemu_system| --accel kvm,xen-version=0x4000a,kernel-irqchip=split
+  |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split
 
 Additionally, virtual APIC support can be advertised to the guest through the
 ``xen-vapic`` CPU flag:
 
 .. parsed-literal::
 
-  |qemu_system| --accel kvm,xen-version=0x4000a,kernel-irqchip=split --cpu host,+xen_vapic
+  |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split --cpu host,+xen-vapic
 
 When Xen support is enabled, QEMU changes hypervisor identification (CPUID
 0x40000000..0x4000000A) to Xen. The KVM identification and features are not
 advertised to a Xen guest. If Hyper-V is also enabled, the Xen identification
 moves to leaves 0x40000100..0x4000010A.
 
-The Xen platform device is enabled automatically for a Xen guest. This allows
-a guest to unplug all emulated devices, in order to use Xen PV block and network
-drivers instead. Under Xen, the boot disk is typically available both via IDE
-emulation, and as a PV block device. Guest bootloaders typically use IDE to load
-the guest kernel, which then unplugs the IDE and continues with the Xen PV block
-device.
-
-This configuration can be achieved as follows
-
-.. parsed-literal::
-
-  |qemu_system| -M pc --accel kvm,xen-version=0x4000a,kernel-irqchip=split \\
-       -drive file=${GUEST_IMAGE},if=none,id=disk,file.locking=off -device xen-disk,drive=disk,vdev=xvda \\
-       -drive file=${GUEST_IMAGE},index=2,media=disk,file.locking=off,if=ide
-
-It is necessary to use the pc machine type, as the q35 machine uses AHCI instead
-of legacy IDE, and AHCI disks are not unplugged through the Xen PV unplug
-mechanism.
-
-VirtIO devices can also be used; Linux guests may need to be dissuaded from
-umplugging them by adding 'xen_emul_unplug=never' on their command line.
-
 Properties
 ----------
 
@@ -63,7 +41,10 @@ The following properties exist on the KVM accelerator object:
 ``xen-version``
   This property contains the Xen version in ``XENVER_version`` form, with the
   major version in the top 16 bits and the minor version in the low 16 bits.
-  Setting this property enables the Xen guest support.
+  Setting this property enables the Xen guest support. If Xen version 4.5 or
+  greater is specified, the HVM leaf in Xen CPUID is populated. Xen version
+  4.6 enables the vCPU ID in CPUID, and version 4.17 advertises vCPU upcall
+  vector support to the guest.
 
 ``xen-evtchn-max-pirq``
   Xen PIRQs represent an emulated physical interrupt, either GSI or MSI, which
@@ -83,8 +64,78 @@ The following properties exist on the KVM accelerator object:
   through simultaneous grants. For guests with large numbers of PV devices and
   high throughput, it may be desirable to increase this value.
 
-OS requirements
----------------
+Xen paravirtual devices
+-----------------------
+
+The Xen PCI platform device is enabled automatically for a Xen guest. This
+allows a guest to unplug all emulated devices, in order to use paravirtual
+block and network drivers instead.
+
+Those paravirtual Xen block, network (and console) devices can be created
+through the command line, and/or hot-plugged.
+
+To provide a Xen console device, define a character device and then a device
+of type ``xen-console`` to connect to it. For the Xen console equivalent of
+the handy ``-serial mon:stdio`` option, for example:
+
+.. parsed-literal::
+   -chardev stdio,mux=on,id=char0,signal=off -mon char0 \\
+   -device xen-console,chardev=char0
+
+The Xen network device is ``xen-net-device``, which becomes the default NIC
+model for emulated Xen guests, meaning that just the default NIC provided
+by QEMU should automatically work and present a Xen network device to the
+guest.
+
+Disks can be configured with '``-drive file=${GUEST_IMAGE},if=xen``' and will
+appear to the guest as ``xvda`` onwards.
+
+Under Xen, the boot disk is typically available both via IDE emulation, and
+as a PV block device. Guest bootloaders typically use IDE to load the guest
+kernel, which then unplugs the IDE and continues with the Xen PV block device.
+
+This configuration can be achieved as follows:
+
+.. parsed-literal::
+
+  |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split \\
+       -drive file=${GUEST_IMAGE},if=xen \\
+       -drive file=${GUEST_IMAGE},file.locking=off,if=ide
+
+VirtIO devices can also be used; Linux guests may need to be dissuaded from
+umplugging them by adding '``xen_emul_unplug=never``' on their command line.
+
+Booting Xen PV guests
+---------------------
+
+Booting PV guest kernels is possible by using the Xen PV shim (a version of Xen
+itself, designed to run inside a Xen HVM guest and provide memory management
+services for one guest alone).
+
+The Xen binary is provided as the ``-kernel`` and the guest kernel itself (or
+PV Grub image) as the ``-initrd`` image, which actually just means the first
+multiboot "module". For example:
+
+.. parsed-literal::
+
+  |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split \\
+       -chardev stdio,id=char0 -device xen-console,chardev=char0 \\
+       -display none  -m 1G  -kernel xen -initrd bzImage \\
+       -append "pv-shim console=xen,pv -- console=hvc0 root=/dev/xvda1" \\
+       -drive file=${GUEST_IMAGE},if=xen
+
+The Xen image must be built with the ``CONFIG_XEN_GUEST`` and ``CONFIG_PV_SHIM``
+options, and as of Xen 4.17, Xen's PV shim mode does not support using a serial
+port; it must have a Xen console or it will panic.
+
+The example above provides the guest kernel command line after a separator
+(" ``--`` ") on the Xen command line, and does not provide the guest kernel
+with an actual initramfs, which would need to listed as a second multiboot
+module. For more complicated alternatives, see the
+:ref:`documentation <initrd-reference-label>` for the ``-initrd`` option.
+
+Host OS requirements
+--------------------
 
 The minimal Xen support in the KVM accelerator requires the host to be running
 Linux v5.12 or newer. Later versions add optimisations: Linux v5.17 added
diff --git a/qemu-options.hx b/qemu-options.hx
index e26230bac5..e2c037815a 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -3981,15 +3981,23 @@ ERST
 
 DEF("initrd", HAS_ARG, QEMU_OPTION_initrd, \
            "-initrd file    use 'file' as initial ram disk\n", QEMU_ARCH_ALL)
-SRST
+SRST(initrd)
+
 ``-initrd file``
     Use file as initial ram disk.
 
 ``-initrd "file1 arg=foo,file2"``
     This syntax is only available with multiboot.
 
-    Use file1 and file2 as modules and pass arg=foo as parameter to the
-    first module.
+    Use file1 and file2 as modules and pass ``arg=foo`` as parameter to the
+    first module. Commas can be provided in module parameters by doubling
+    them on the command line to escape them:
+
+``-initrd "bzImage earlyprintk=xen,,keep root=/dev/xvda1,initrd.img"``
+    Multiboot only. Use bzImage as the first module with
+    "``earlyprintk=xen,keep root=/dev/xvda1``" as its command line,
+    and initrd.img as the second module.
+
 ERST
 
 DEF("dtb", HAS_ARG, QEMU_OPTION_dtb, \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:43:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:43:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628090.979175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00pI-00089W-Pw; Mon, 06 Nov 2023 14:43:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628090.979175; Mon, 06 Nov 2023 14: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 1r00pI-00089M-Mq; Mon, 06 Nov 2023 14:43:40 +0000
Received: by outflank-mailman (input) for mailman id 628090;
 Mon, 06 Nov 2023 14:43: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00i7-0008Lv-2p
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:15 +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 d5ce4202-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:36:14 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2b-m6i4x-f323d91c.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; 06 Nov 2023 14:36:12 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan2.pdx.amazon.com [10.39.38.66])
 by email-inbound-relay-pdx-2b-m6i4x-f323d91c.us-west-2.amazon.com (Postfix)
 with ESMTPS id E847040D42; Mon,  6 Nov 2023 14:36:07 +0000 (UTC)
Received: from EX19MTAUWB002.ant.amazon.com [10.0.21.151:61593]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.11.184:2525]
 with esmtp (Farcaster)
 id f0c356cd-5b93-449f-ac4c-7f89b55f7d62; Mon, 6 Nov 2023 14:36:07 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWB002.ant.amazon.com (10.250.64.231) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:36:01 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d5ce4202-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="366329800"
X-Farcaster-Flow-ID: f0c356cd-5b93-449f-ac4c-7f89b55f7d62
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 15/17] xen-platform: unplug AHCI disks
Date: Mon, 6 Nov 2023 14:35:05 +0000
Message-ID: <20231106143507.1060610-16-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

To support Xen guests using the Q35 chipset, the unplug protocol needs
to also remove AHCI disks.

Make pci_xen_ide_unplug() more generic, iterating over the children
of the PCI device and destroying the "ide-hd" devices. That works the
same for both AHCI and IDE, as does the detection of the primary disk
as unit 0 on the bus named "ide.0".

Then pci_xen_ide_unplug() can be used for both AHCI and IDE devices.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/xen/xen_platform.c | 68 +++++++++++++++++++++++++-------------
 1 file changed, 45 insertions(+), 23 deletions(-)

diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index e2dd1b536a..ef7d3fc05f 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -169,39 +169,60 @@ static void pci_unplug_nics(PCIBus *bus)
  *
  * [1] https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/hvm-emulated-unplug.pandoc
  */
-static void pci_xen_ide_unplug(PCIDevice *d, bool aux)
+struct ide_unplug_state {
+    bool aux;
+    int nr_unplugged;
+};
+
+static int ide_dev_unplug(DeviceState *dev, void *_st)
 {
-    DeviceState *dev = DEVICE(d);
-    PCIIDEState *pci_ide;
-    int i;
+    struct ide_unplug_state *st = _st;
     IDEDevice *idedev;
     IDEBus *idebus;
     BlockBackend *blk;
+    int unit;
+
+    idedev = IDE_DEVICE(object_dynamic_cast(OBJECT(dev), "ide-hd"));
+    if (!idedev) {
+        return 0;
+    }
 
-    pci_ide = PCI_IDE(dev);
+    idebus = IDE_BUS(qdev_get_parent_bus(dev));
 
-    for (i = aux ? 1 : 0; i < 4; i++) {
-        idebus = &pci_ide->bus[i / 2];
-        blk = idebus->ifs[i % 2].blk;
+    unit = (idedev == idebus->slave);
+    assert(unit || idedev == idebus->master);
 
-        if (blk && idebus->ifs[i % 2].drive_kind != IDE_CD) {
-            if (!(i % 2)) {
-                idedev = idebus->master;
-            } else {
-                idedev = idebus->slave;
-            }
+    if (st->aux && !unit && !strcmp(BUS(idebus)->name, "ide.0")) {
+        return 0;
+    }
 
-            blk_drain(blk);
-            blk_flush(blk);
+    blk = idebus->ifs[unit].blk;
+    if (blk) {
+        blk_drain(blk);
+        blk_flush(blk);
 
-            blk_detach_dev(blk, DEVICE(idedev));
-            idebus->ifs[i % 2].blk = NULL;
-            idedev->conf.blk = NULL;
-            monitor_remove_blk(blk);
-            blk_unref(blk);
-        }
+        blk_detach_dev(blk, DEVICE(idedev));
+        idebus->ifs[unit].blk = NULL;
+        idedev->conf.blk = NULL;
+        monitor_remove_blk(blk);
+        blk_unref(blk);
+    }
+
+    object_unparent(OBJECT(dev));
+    st->nr_unplugged++;
+
+    return 0;
+}
+
+static void pci_xen_ide_unplug(PCIDevice *d, bool aux)
+{
+    struct ide_unplug_state st = { aux, 0 };
+    DeviceState *dev = DEVICE(d);
+
+    qdev_walk_children(dev, NULL, NULL, ide_dev_unplug, NULL, &st);
+    if (st.nr_unplugged) {
+        pci_device_reset(d);
     }
-    pci_device_reset(d);
 }
 
 static void unplug_disks(PCIBus *b, PCIDevice *d, void *opaque)
@@ -216,6 +237,7 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void *opaque)
 
     switch (pci_get_word(d->config + PCI_CLASS_DEVICE)) {
     case PCI_CLASS_STORAGE_IDE:
+    case PCI_CLASS_STORAGE_SATA:
         pci_xen_ide_unplug(d, aux);
         break;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:43:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:43:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628093.979180 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00pJ-0008Ec-3b; Mon, 06 Nov 2023 14:43:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628093.979180; Mon, 06 Nov 2023 14: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 1r00pI-0008Dg-UI; Mon, 06 Nov 2023 14:43:40 +0000
Received: by outflank-mailman (input) for mailman id 628093;
 Mon, 06 Nov 2023 14: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hz-0008Lv-Oh
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:07 +0000
Received: from smtp-fw-52002.amazon.com (smtp-fw-52002.amazon.com
 [52.119.213.150]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d17ee69a-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:36:06 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-iad-1a-m6i4x-bbc6e425.us-east-1.amazon.com) ([10.43.8.6])
 by smtp-border-fw-52002.iad7.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:36:05 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan3.iad.amazon.com [10.32.235.38])
 by email-inbound-relay-iad-1a-m6i4x-bbc6e425.us-east-1.amazon.com (Postfix)
 with ESMTPS id 17A368080C; Mon,  6 Nov 2023 14:35:57 +0000 (UTC)
Received: from EX19MTAUWC001.ant.amazon.com [10.0.38.20:50797]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.56.57:2525]
 with esmtp (Farcaster)
 id 27ecb041-5320-4ada-8535-aecec80b38b8; Mon, 6 Nov 2023 14:35:57 +0000 (UTC)
Received: from EX19EXOUWB001.ant.amazon.com (10.250.64.229) by
 EX19MTAUWC001.ant.amazon.com (10.250.64.174) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:51 +0000
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19EXOUWB001.ant.amazon.com (10.250.64.229) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1258.27; Mon, 6 Nov 2023 14:35:51 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d17ee69a-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="593337496"
X-Farcaster-Flow-ID: 27ecb041-5320-4ada-8535-aecec80b38b8
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, "Peter
 Maydell" <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, "Paul
 Durrant" <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Richard
 Henderson" <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, "Marcel
 Apfelbaum" <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 12/17] hw/xen: update Xen PV NIC to XenDevice model
Date: Mon, 6 Nov 2023 14:35:02 +0000
Message-ID: <20231106143507.1060610-13-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

This allows us to use Xen PV networking with emulated Xen guests, and to
add them on the command line or hotplug.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/net/meson.build        |   2 +-
 hw/net/trace-events       |  11 +
 hw/net/xen_nic.c          | 484 +++++++++++++++++++++++++++++---------
 hw/xenpv/xen_machine_pv.c |   1 -
 4 files changed, 381 insertions(+), 117 deletions(-)

diff --git a/hw/net/meson.build b/hw/net/meson.build
index 2632634df3..f64651c467 100644
--- a/hw/net/meson.build
+++ b/hw/net/meson.build
@@ -1,5 +1,5 @@
 system_ss.add(when: 'CONFIG_DP8393X', if_true: files('dp8393x.c'))
-system_ss.add(when: 'CONFIG_XEN', if_true: files('xen_nic.c'))
+system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen_nic.c'))
 system_ss.add(when: 'CONFIG_NE2000_COMMON', if_true: files('ne2000.c'))
 
 # PCI network cards
diff --git a/hw/net/trace-events b/hw/net/trace-events
index 3abfd65e5b..3097742cc0 100644
--- a/hw/net/trace-events
+++ b/hw/net/trace-events
@@ -482,3 +482,14 @@ dp8393x_receive_oversize(int size) "oversize packet, pkt_size is %d"
 dp8393x_receive_not_netcard(void) "packet not for netcard"
 dp8393x_receive_packet(int crba) "Receive packet at 0x%"PRIx32
 dp8393x_receive_write_status(int crba) "Write status at 0x%"PRIx32
+
+# xen_nic.c
+xen_netdev_realize(int dev, const char *info, const char *peer) "vif%u info '%s' peer '%s'"
+xen_netdev_unrealize(int dev) "vif%u"
+xen_netdev_create(int dev) "vif%u"
+xen_netdev_destroy(int dev) "vif%u"
+xen_netdev_disconnect(int dev) "vif%u"
+xen_netdev_connect(int dev, unsigned int tx, unsigned int rx, int port) "vif%u tx %u rx %u port %u"
+xen_netdev_frontend_changed(const char *dev, int state) "vif%s state %d"
+xen_netdev_tx(int dev, int ref, int off, int len, unsigned int flags, const char *c, const char *d, const char *m, const char *e) "vif%u ref %u off %u len %u flags 0x%x%s%s%s%s"
+xen_netdev_rx(int dev, int idx, int status, int flags) "vif%u idx %d status %d flags 0x%x"
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 9bbf6599fc..af4ba3f1e6 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -20,6 +20,13 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/main-loop.h"
+#include "qemu/cutils.h"
+#include "qemu/log.h"
+#include "qemu/qemu-print.h"
+#include "qapi/qmp/qdict.h"
+#include "qapi/error.h"
+
 #include <sys/socket.h>
 #include <sys/ioctl.h>
 #include <sys/wait.h>
@@ -27,18 +34,26 @@
 #include "net/net.h"
 #include "net/checksum.h"
 #include "net/util.h"
-#include "hw/xen/xen-legacy-backend.h"
+
+#include "hw/xen/xen-backend.h"
+#include "hw/xen/xen-bus-helper.h"
+#include "hw/qdev-properties.h"
+#include "hw/qdev-properties-system.h"
 
 #include "hw/xen/interface/io/netif.h"
+#include "hw/xen/interface/io/xs_wire.h"
+
+#include "trace.h"
 
 /* ------------------------------------------------------------- */
 
 struct XenNetDev {
-    struct XenLegacyDevice      xendev;  /* must be first */
-    char                  *mac;
+    struct XenDevice      xendev;  /* must be first */
+    XenEventChannel       *event_channel;
+    int                   dev;
     int                   tx_work;
-    int                   tx_ring_ref;
-    int                   rx_ring_ref;
+    unsigned int          tx_ring_ref;
+    unsigned int          rx_ring_ref;
     struct netif_tx_sring *txs;
     struct netif_rx_sring *rxs;
     netif_tx_back_ring_t  tx_ring;
@@ -47,6 +62,11 @@ struct XenNetDev {
     NICState              *nic;
 };
 
+typedef struct XenNetDev XenNetDev;
+
+#define TYPE_XEN_NET_DEVICE "xen-net-device"
+OBJECT_DECLARE_SIMPLE_TYPE(XenNetDev, XEN_NET_DEVICE)
+
 /* ------------------------------------------------------------- */
 
 static void net_tx_response(struct XenNetDev *netdev, netif_tx_request_t *txp, int8_t st)
@@ -68,7 +88,8 @@ static void net_tx_response(struct XenNetDev *netdev, netif_tx_request_t *txp, i
     netdev->tx_ring.rsp_prod_pvt = ++i;
     RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&netdev->tx_ring, notify);
     if (notify) {
-        xen_pv_send_notify(&netdev->xendev);
+        xen_device_notify_event_channel(XEN_DEVICE(netdev),
+                                        netdev->event_channel, NULL);
     }
 
     if (i == netdev->tx_ring.req_cons) {
@@ -104,13 +125,16 @@ static void net_tx_error(struct XenNetDev *netdev, netif_tx_request_t *txp, RING
 #endif
 }
 
-static void net_tx_packets(struct XenNetDev *netdev)
+static bool net_tx_packets(struct XenNetDev *netdev)
 {
+    bool done_something = false;
     netif_tx_request_t txreq;
     RING_IDX rc, rp;
     void *page;
     void *tmpbuf = NULL;
 
+    assert(qemu_mutex_iothread_locked());
+
     for (;;) {
         rc = netdev->tx_ring.req_cons;
         rp = netdev->tx_ring.sring->req_prod;
@@ -122,49 +146,52 @@ static void net_tx_packets(struct XenNetDev *netdev)
             }
             memcpy(&txreq, RING_GET_REQUEST(&netdev->tx_ring, rc), sizeof(txreq));
             netdev->tx_ring.req_cons = ++rc;
+            done_something = true;
 
 #if 1
             /* should not happen in theory, we don't announce the *
              * feature-{sg,gso,whatelse} flags in xenstore (yet?) */
             if (txreq.flags & NETTXF_extra_info) {
-                xen_pv_printf(&netdev->xendev, 0, "FIXME: extra info flag\n");
+                qemu_log_mask(LOG_UNIMP, "vif%u: FIXME: extra info flag\n",
+                              netdev->dev);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
             if (txreq.flags & NETTXF_more_data) {
-                xen_pv_printf(&netdev->xendev, 0, "FIXME: more data flag\n");
+                qemu_log_mask(LOG_UNIMP, "vif%u: FIXME: more data flag\n",
+                              netdev->dev);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
 #endif
 
             if (txreq.size < 14) {
-                xen_pv_printf(&netdev->xendev, 0, "bad packet size: %d\n",
-                              txreq.size);
+                qemu_log_mask(LOG_GUEST_ERROR, "vif%u: bad packet size: %d\n",
+                              netdev->dev, txreq.size);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
 
             if ((txreq.offset + txreq.size) > XEN_PAGE_SIZE) {
-                xen_pv_printf(&netdev->xendev, 0, "error: page crossing\n");
+                qemu_log_mask(LOG_GUEST_ERROR, "vif%u: error: page crossing\n",
+                              netdev->dev);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
 
-            xen_pv_printf(&netdev->xendev, 3,
-                          "tx packet ref %d, off %d, len %d, flags 0x%x%s%s%s%s\n",
-                          txreq.gref, txreq.offset, txreq.size, txreq.flags,
-                          (txreq.flags & NETTXF_csum_blank)     ? " csum_blank"     : "",
-                          (txreq.flags & NETTXF_data_validated) ? " data_validated" : "",
-                          (txreq.flags & NETTXF_more_data)      ? " more_data"      : "",
-                          (txreq.flags & NETTXF_extra_info)     ? " extra_info"     : "");
+            trace_xen_netdev_tx(netdev->dev, txreq.gref, txreq.offset,
+                                txreq.size, txreq.flags,
+                                (txreq.flags & NETTXF_csum_blank)     ? " csum_blank"     : "",
+                                (txreq.flags & NETTXF_data_validated) ? " data_validated" : "",
+                                (txreq.flags & NETTXF_more_data)      ? " more_data"      : "",
+                                (txreq.flags & NETTXF_extra_info)     ? " extra_info"     : "");
 
-            page = xen_be_map_grant_ref(&netdev->xendev, txreq.gref,
-                                        PROT_READ);
+            page = xen_device_map_grant_refs(&netdev->xendev, &txreq.gref, 1,
+                                             PROT_READ, NULL);
             if (page == NULL) {
-                xen_pv_printf(&netdev->xendev, 0,
-                              "error: tx gref dereference failed (%d)\n",
-                             txreq.gref);
+                qemu_log_mask(LOG_GUEST_ERROR,
+                              "vif%u: tx gref dereference failed (%d)\n",
+                              netdev->dev, txreq.gref);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
@@ -181,7 +208,8 @@ static void net_tx_packets(struct XenNetDev *netdev)
                 qemu_send_packet(qemu_get_queue(netdev->nic),
                                  page + txreq.offset, txreq.size);
             }
-            xen_be_unmap_grant_ref(&netdev->xendev, page, txreq.gref);
+            xen_device_unmap_grant_refs(&netdev->xendev, page, &txreq.gref, 1,
+                                        NULL);
             net_tx_response(netdev, &txreq, NETIF_RSP_OKAY);
         }
         if (!netdev->tx_work) {
@@ -190,6 +218,7 @@ static void net_tx_packets(struct XenNetDev *netdev)
         netdev->tx_work = 0;
     }
     g_free(tmpbuf);
+    return done_something;
 }
 
 /* ------------------------------------------------------------- */
@@ -212,14 +241,13 @@ static void net_rx_response(struct XenNetDev *netdev,
         resp->status = (int16_t)st;
     }
 
-    xen_pv_printf(&netdev->xendev, 3,
-                  "rx response: idx %d, status %d, flags 0x%x\n",
-                  i, resp->status, resp->flags);
+    trace_xen_netdev_rx(netdev->dev, i, resp->status, resp->flags);
 
     netdev->rx_ring.rsp_prod_pvt = ++i;
     RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&netdev->rx_ring, notify);
     if (notify) {
-        xen_pv_send_notify(&netdev->xendev);
+        xen_device_notify_event_channel(XEN_DEVICE(netdev),
+                                        netdev->event_channel, NULL);
     }
 }
 
@@ -232,7 +260,9 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
     RING_IDX rc, rp;
     void *page;
 
-    if (netdev->xendev.be_state != XenbusStateConnected) {
+    assert(qemu_mutex_iothread_locked());
+
+    if (xen_device_backend_get_state(&netdev->xendev) != XenbusStateConnected) {
         return -1;
     }
 
@@ -244,24 +274,26 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
         return 0;
     }
     if (size > XEN_PAGE_SIZE - NET_IP_ALIGN) {
-        xen_pv_printf(&netdev->xendev, 0, "packet too big (%lu > %ld)",
-                      (unsigned long)size, XEN_PAGE_SIZE - NET_IP_ALIGN);
+        qemu_log_mask(LOG_GUEST_ERROR, "vif%u: packet too big (%lu > %ld)",
+                      netdev->dev, (unsigned long)size,
+                      XEN_PAGE_SIZE - NET_IP_ALIGN);
         return -1;
     }
 
     memcpy(&rxreq, RING_GET_REQUEST(&netdev->rx_ring, rc), sizeof(rxreq));
     netdev->rx_ring.req_cons = ++rc;
 
-    page = xen_be_map_grant_ref(&netdev->xendev, rxreq.gref, PROT_WRITE);
+    page = xen_device_map_grant_refs(&netdev->xendev, &rxreq.gref, 1,
+                                     PROT_WRITE, NULL);
     if (page == NULL) {
-        xen_pv_printf(&netdev->xendev, 0,
-                      "error: rx gref dereference failed (%d)\n",
-                      rxreq.gref);
+        qemu_log_mask(LOG_GUEST_ERROR,
+                      "vif%u: rx gref dereference failed (%d)\n",
+                      netdev->dev, rxreq.gref);
         net_rx_response(netdev, &rxreq, NETIF_RSP_ERROR, 0, 0, 0);
         return -1;
     }
     memcpy(page + NET_IP_ALIGN, buf, size);
-    xen_be_unmap_grant_ref(&netdev->xendev, page, rxreq.gref);
+    xen_device_unmap_grant_refs(&netdev->xendev, page, &rxreq.gref, 1, NULL);
     net_rx_response(netdev, &rxreq, NETIF_RSP_OKAY, NET_IP_ALIGN, size, 0);
 
     return size;
@@ -275,139 +307,361 @@ static NetClientInfo net_xen_info = {
     .receive = net_rx_packet,
 };
 
-static int net_init(struct XenLegacyDevice *xendev)
+static void xen_netdev_realize(XenDevice *xendev, Error **errp)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
+    ERRP_GUARD();
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+    NetClientState *nc;
 
-    /* read xenstore entries */
-    if (netdev->mac == NULL) {
-        netdev->mac = xenstore_read_be_str(&netdev->xendev, "mac");
-    }
-
-    /* do we have all we need? */
-    if (netdev->mac == NULL) {
-        return -1;
-    }
+    qemu_macaddr_default_if_unset(&netdev->conf.macaddr);
 
-    if (net_parse_macaddr(netdev->conf.macaddr.a, netdev->mac) < 0) {
-        return -1;
-    }
+    xen_device_frontend_printf(xendev, "mac", "%02x:%02x:%02x:%02x:%02x:%02x",
+                               netdev->conf.macaddr.a[0],
+                               netdev->conf.macaddr.a[1],
+                               netdev->conf.macaddr.a[2],
+                               netdev->conf.macaddr.a[3],
+                               netdev->conf.macaddr.a[4],
+                               netdev->conf.macaddr.a[5]);
 
     netdev->nic = qemu_new_nic(&net_xen_info, &netdev->conf,
-                               "xen", NULL, netdev);
+                               object_get_typename(OBJECT(xendev)),
+                               DEVICE(xendev)->id, netdev);
 
-    qemu_set_info_str(qemu_get_queue(netdev->nic),
-                      "nic: xenbus vif macaddr=%s", netdev->mac);
+    nc = qemu_get_queue(netdev->nic);
+    qemu_format_nic_info_str(nc, netdev->conf.macaddr.a);
 
     /* fill info */
-    xenstore_write_be_int(&netdev->xendev, "feature-rx-copy", 1);
-    xenstore_write_be_int(&netdev->xendev, "feature-rx-flip", 0);
+    xen_device_backend_printf(xendev, "feature-rx-copy", "%u", 1);
+    xen_device_backend_printf(xendev, "feature-rx-flip", "%u", 0);
 
-    return 0;
+    trace_xen_netdev_realize(netdev->dev, nc->info_str, nc->peer ?
+                             nc->peer->name : "(none)");
 }
 
-static int net_connect(struct XenLegacyDevice *xendev)
+static bool net_event(void *_xendev)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
-    int rx_copy;
+    XenNetDev *netdev = XEN_NET_DEVICE(_xendev);
+    bool done_something;
 
-    if (xenstore_read_fe_int(&netdev->xendev, "tx-ring-ref",
-                             &netdev->tx_ring_ref) == -1) {
-        return -1;
+    done_something = net_tx_packets(netdev);
+    qemu_flush_queued_packets(qemu_get_queue(netdev->nic));
+    return done_something;
+}
+
+static bool xen_netdev_connect(XenDevice *xendev, Error **errp)
+{
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+    unsigned int port, rx_copy;
+
+    assert(qemu_mutex_iothread_locked());
+
+    if (xen_device_frontend_scanf(xendev, "tx-ring-ref", "%u",
+                                  &netdev->tx_ring_ref) != 1) {
+        error_setg(errp, "failed to read tx-ring-ref");
+        return false;
     }
-    if (xenstore_read_fe_int(&netdev->xendev, "rx-ring-ref",
-                             &netdev->rx_ring_ref) == -1) {
-        return 1;
+
+    if (xen_device_frontend_scanf(xendev, "rx-ring-ref", "%u",
+                                  &netdev->rx_ring_ref) != 1) {
+        error_setg(errp, "failed to read rx-ring-ref");
+        return false;
     }
-    if (xenstore_read_fe_int(&netdev->xendev, "event-channel",
-                             &netdev->xendev.remote_port) == -1) {
-        return -1;
+
+    if (xen_device_frontend_scanf(xendev, "event-channel", "%u",
+                                  &port) != 1) {
+        error_setg(errp, "failed to read event-channel");
+        return false;
     }
 
-    if (xenstore_read_fe_int(&netdev->xendev, "request-rx-copy", &rx_copy) == -1) {
+    if (xen_device_frontend_scanf(xendev, "request-rx-copy", "%u",
+                                  &rx_copy) != 1) {
         rx_copy = 0;
     }
     if (rx_copy == 0) {
-        xen_pv_printf(&netdev->xendev, 0,
-                      "frontend doesn't support rx-copy.\n");
-        return -1;
+        error_setg(errp, "frontend doesn't support rx-copy");
+        return false;
     }
 
-    netdev->txs = xen_be_map_grant_ref(&netdev->xendev,
-                                       netdev->tx_ring_ref,
-                                       PROT_READ | PROT_WRITE);
+    netdev->txs = xen_device_map_grant_refs(xendev,
+                                            &netdev->tx_ring_ref, 1,
+                                            PROT_READ | PROT_WRITE,
+                                            errp);
     if (!netdev->txs) {
-        return -1;
+        error_prepend(errp, "failed to map tx grant ref: ");
+        return false;
     }
-    netdev->rxs = xen_be_map_grant_ref(&netdev->xendev,
-                                       netdev->rx_ring_ref,
-                                       PROT_READ | PROT_WRITE);
+
+    netdev->rxs = xen_device_map_grant_refs(xendev,
+                                            &netdev->rx_ring_ref, 1,
+                                            PROT_READ | PROT_WRITE,
+                                            errp);
     if (!netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
-                               netdev->tx_ring_ref);
-        netdev->txs = NULL;
-        return -1;
+        error_prepend(errp, "failed to map rx grant ref: ");
+        return false;
     }
+
     BACK_RING_INIT(&netdev->tx_ring, netdev->txs, XEN_PAGE_SIZE);
     BACK_RING_INIT(&netdev->rx_ring, netdev->rxs, XEN_PAGE_SIZE);
 
-    xen_be_bind_evtchn(&netdev->xendev);
+    netdev->event_channel = xen_device_bind_event_channel(xendev, port,
+                                                          net_event,
+                                                          netdev,
+                                                          errp);
+    if (!netdev->event_channel) {
+        return false;
+    }
 
-    xen_pv_printf(&netdev->xendev, 1, "ok: tx-ring-ref %d, rx-ring-ref %d, "
-                  "remote port %d, local port %d\n",
-                  netdev->tx_ring_ref, netdev->rx_ring_ref,
-                  netdev->xendev.remote_port, netdev->xendev.local_port);
+    trace_xen_netdev_connect(netdev->dev, netdev->tx_ring_ref,
+                             netdev->rx_ring_ref, port);
 
     net_tx_packets(netdev);
-    return 0;
+    return true;
 }
 
-static void net_disconnect(struct XenLegacyDevice *xendev)
+static void xen_netdev_disconnect(XenDevice *xendev, Error **errp)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+
+    trace_xen_netdev_disconnect(netdev->dev);
+
+    assert(qemu_mutex_iothread_locked());
 
-    xen_pv_unbind_evtchn(&netdev->xendev);
+    netdev->tx_ring.sring = NULL;
+    netdev->rx_ring.sring = NULL;
 
+    if (netdev->event_channel) {
+        xen_device_unbind_event_channel(xendev, netdev->event_channel,
+                                        errp);
+        netdev->event_channel = NULL;
+    }
     if (netdev->txs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
-                               netdev->tx_ring_ref);
+        xen_device_unmap_grant_refs(xendev, netdev->txs,
+                                    &netdev->tx_ring_ref, 1, errp);
         netdev->txs = NULL;
     }
     if (netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->rxs,
-                               netdev->rx_ring_ref);
+        xen_device_unmap_grant_refs(xendev, netdev->rxs,
+                                    &netdev->rx_ring_ref, 1, errp);
         netdev->rxs = NULL;
     }
 }
 
-static void net_event(struct XenLegacyDevice *xendev)
+/* -------------------------------------------------------------------- */
+
+
+static void xen_netdev_frontend_changed(XenDevice *xendev,
+                                       enum xenbus_state frontend_state,
+                                       Error **errp)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
-    net_tx_packets(netdev);
-    qemu_flush_queued_packets(qemu_get_queue(netdev->nic));
+    ERRP_GUARD();
+    enum xenbus_state backend_state = xen_device_backend_get_state(xendev);
+
+    trace_xen_netdev_frontend_changed(xendev->name, frontend_state);
+
+    switch (frontend_state) {
+    case XenbusStateConnected:
+        if (backend_state == XenbusStateConnected) {
+            break;
+        }
+
+        xen_netdev_disconnect(xendev, errp);
+        if (*errp) {
+            break;
+        }
+
+        if (!xen_netdev_connect(xendev, errp)) {
+            xen_netdev_disconnect(xendev, NULL);
+            xen_device_backend_set_state(xendev, XenbusStateClosing);
+            break;
+        }
+
+        xen_device_backend_set_state(xendev, XenbusStateConnected);
+        break;
+
+    case XenbusStateClosing:
+        xen_device_backend_set_state(xendev, XenbusStateClosing);
+        break;
+
+    case XenbusStateClosed:
+    case XenbusStateUnknown:
+        xen_netdev_disconnect(xendev, errp);
+        if (*errp) {
+            break;
+        }
+
+        xen_device_backend_set_state(xendev, XenbusStateClosed);
+        break;
+
+    case XenbusStateInitialised:
+        /*
+         * Linux netback does nothing on the frontend going (back) to
+         * XenbusStateInitialised, so do the same here.
+         */
+    default:
+        break;
+    }
 }
 
-static int net_free(struct XenLegacyDevice *xendev)
+static char *xen_netdev_get_name(XenDevice *xendev, Error **errp)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+
+    if (netdev->dev == -1) {
+        XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
+        char fe_path[XENSTORE_ABS_PATH_MAX + 1];
+        int idx = (xen_mode == XEN_EMULATE) ? 0 : 1;
+        char *value;
+
+        /* Theoretically we could go up to INT_MAX here but that's overkill */
+        while (idx < 100) {
+            snprintf(fe_path, sizeof(fe_path),
+                     "/local/domain/%u/device/vif/%u",
+                     xendev->frontend_id, idx);
+            value = qemu_xen_xs_read(xenbus->xsh, XBT_NULL, fe_path, NULL);
+            if (!value) {
+                if (errno == ENOENT) {
+                    netdev->dev = idx;
+                    goto found;
+                }
+                error_setg(errp, "cannot read %s: %s", fe_path,
+                           strerror(errno));
+                return NULL;
+            }
+            free(value);
+            idx++;
+        }
+        error_setg(errp, "cannot find device index for netdev device");
+        return NULL;
+    }
+ found:
+    return g_strdup_printf("%u", netdev->dev);
+}
+
+static void xen_netdev_unrealize(XenDevice *xendev)
+{
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+
+    trace_xen_netdev_unrealize(netdev->dev);
+
+    /* Disconnect from the frontend in case this has not already happened */
+    xen_netdev_disconnect(xendev, NULL);
 
     if (netdev->nic) {
         qemu_del_nic(netdev->nic);
-        netdev->nic = NULL;
     }
-    g_free(netdev->mac);
-    netdev->mac = NULL;
-    return 0;
 }
 
 /* ------------------------------------------------------------- */
 
-struct XenDevOps xen_netdev_ops = {
-    .size       = sizeof(struct XenNetDev),
-    .flags      = DEVOPS_FLAG_NEED_GNTDEV,
-    .init       = net_init,
-    .initialise    = net_connect,
-    .event      = net_event,
-    .disconnect = net_disconnect,
-    .free       = net_free,
+static Property xen_netdev_properties[] = {
+    DEFINE_NIC_PROPERTIES(XenNetDev, conf),
+    DEFINE_PROP_INT32("idx", XenNetDev, dev, -1),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
+static void xen_netdev_class_init(ObjectClass *class, void *data)
+{
+    DeviceClass *dev_class = DEVICE_CLASS(class);
+    XenDeviceClass *xendev_class = XEN_DEVICE_CLASS(class);
+
+    xendev_class->backend = "qnic";
+    xendev_class->device = "vif";
+    xendev_class->get_name = xen_netdev_get_name;
+    xendev_class->realize = xen_netdev_realize;
+    xendev_class->frontend_changed = xen_netdev_frontend_changed;
+    xendev_class->unrealize = xen_netdev_unrealize;
+    set_bit(DEVICE_CATEGORY_NETWORK, dev_class->categories);
+    dev_class->user_creatable = true;
+
+    device_class_set_props(dev_class, xen_netdev_properties);
+}
+
+static const TypeInfo xen_net_type_info = {
+    .name = TYPE_XEN_NET_DEVICE,
+    .parent = TYPE_XEN_DEVICE,
+    .instance_size = sizeof(XenNetDev),
+    .class_init = xen_netdev_class_init,
+};
+
+static void xen_net_register_types(void)
+{
+    type_register_static(&xen_net_type_info);
+}
+
+type_init(xen_net_register_types)
+
+/* Called to instantiate a XenNetDev when the backend is detected. */
+static void xen_net_device_create(XenBackendInstance *backend,
+                                  QDict *opts, Error **errp)
+{
+    ERRP_GUARD();
+    XenBus *xenbus = xen_backend_get_bus(backend);
+    const char *name = xen_backend_get_name(backend);
+    XenDevice *xendev = NULL;
+    unsigned long number;
+    const char *macstr;
+    XenNetDev *net;
+    MACAddr mac;
+
+    if (qemu_strtoul(name, NULL, 10, &number) || number >= INT_MAX) {
+        error_setg(errp, "failed to parse name '%s'", name);
+        goto fail;
+    }
+
+    trace_xen_netdev_create(number);
+
+    macstr = qdict_get_try_str(opts, "mac");
+    if (macstr == NULL) {
+        error_setg(errp, "no MAC address found");
+        goto fail;
+    }
+
+    if (net_parse_macaddr(mac.a, macstr) < 0) {
+        error_setg(errp, "failed to parse MAC address");
+        goto fail;
+    }
+
+    xendev = XEN_DEVICE(qdev_new(TYPE_XEN_NET_DEVICE));
+    net = XEN_NET_DEVICE(xendev);
+
+    net->dev = number;
+    memcpy(&net->conf.macaddr, &mac, sizeof(mac));
+
+    if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
+        xen_backend_set_device(backend, xendev);
+        return;
+    }
+
+    error_prepend(errp, "realization of net device %lu failed: ",
+                  number);
+
+ fail:
+    if (xendev) {
+        object_unparent(OBJECT(xendev));
+    }
+}
+
+static void xen_net_device_destroy(XenBackendInstance *backend,
+                                   Error **errp)
+{
+    ERRP_GUARD();
+    XenDevice *xendev = xen_backend_get_device(backend);
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+
+    trace_xen_netdev_destroy(netdev->dev);
+
+    object_unparent(OBJECT(xendev));
+}
+
+static const XenBackendInfo xen_net_backend_info  = {
+    .type = "qnic",
+    .create = xen_net_device_create,
+    .destroy = xen_net_device_destroy,
 };
+
+static void xen_net_register_backend(void)
+{
+    xen_backend_register(&xen_net_backend_info);
+}
+
+xen_backend_init(xen_net_register_backend);
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index 1533f5dfb4..9f9f137f99 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -54,7 +54,6 @@ static void xen_init_pv(MachineState *machine)
     }
 
     xen_be_register("vfb", &xen_framebuffer_ops);
-    xen_be_register("qnic", &xen_netdev_ops);
 
     /* configure framebuffer */
     if (vga_interface_type == VGA_XENFB) {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:43:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:43:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628094.979194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00pL-0000RB-Js; Mon, 06 Nov 2023 14:43:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628094.979194; Mon, 06 Nov 2023 14: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 1r00pL-0000R1-GN; Mon, 06 Nov 2023 14:43:43 +0000
Received: by outflank-mailman (input) for mailman id 628094;
 Mon, 06 Nov 2023 14: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00i9-0008Lv-3N
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:17 +0000
Received: from smtp-fw-52002.amazon.com (smtp-fw-52002.amazon.com
 [52.119.213.150]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7123974-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:36:16 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2a-m6i4x-1197e3af.us-west-2.amazon.com) ([10.43.8.6])
 by smtp-border-fw-52002.iad7.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:36:13 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan2.pdx.amazon.com [10.39.38.66])
 by email-inbound-relay-pdx-2a-m6i4x-1197e3af.us-west-2.amazon.com (Postfix)
 with ESMTPS id 1D23922B010; Mon,  6 Nov 2023 14:36:09 +0000 (UTC)
Received: from EX19MTAUWA002.ant.amazon.com [10.0.38.20:26365]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.37.121:2525]
 with esmtp (Farcaster)
 id e345a6ca-52b1-4100-bbdc-3568478e064d; Mon, 6 Nov 2023 14:36:09 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWA002.ant.amazon.com (10.250.64.202) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:36:04 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:36: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7123974-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="593337518"
X-Farcaster-Flow-ID: e345a6ca-52b1-4100-bbdc-3568478e064d
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 16/17] doc/sphinx/hxtool.py: add optional label argument to SRST directive
Date: Mon, 6 Nov 2023 14:35:06 +0000
Message-ID: <20231106143507.1060610-17-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

We can't just embed labels directly into files like qemu-options.hx which
are included from multiple top-level RST files, because Sphinx sees the
labels as duplicate: https://github.com/sphinx-doc/sphinx/issues/9707

So add an 'emitrefs' option to the Sphinx hxtool-doc directive, which is
set only in invocation.rst and not from the HTML rendition of the man
page. Along with an argument to the SRST directive which causes a label
of the form '.. _LABEL-reference-label:' to be emitted when the emitrefs
option is set.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 docs/sphinx/hxtool.py      | 18 +++++++++++++++++-
 docs/system/invocation.rst |  1 +
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/docs/sphinx/hxtool.py b/docs/sphinx/hxtool.py
index 9f6b9d87dc..bfb0929573 100644
--- a/docs/sphinx/hxtool.py
+++ b/docs/sphinx/hxtool.py
@@ -78,18 +78,28 @@ def parse_archheading(file, lnum, line):
         serror(file, lnum, "Invalid ARCHHEADING line")
     return match.group(1)
 
+def parse_srst(file, lnum, line):
+    """Handle an SRST directive"""
+    # The input should be "SRST(label)".
+    match = re.match(r'SRST\((.*?)\)', line)
+    if match is None:
+        serror(file, lnum, "Invalid SRST line")
+    return match.group(1)
+
 class HxtoolDocDirective(Directive):
     """Extract rST fragments from the specified .hx file"""
     required_argument = 1
     optional_arguments = 1
     option_spec = {
-        'hxfile': directives.unchanged_required
+        'hxfile': directives.unchanged_required,
+        'emitrefs': directives.flag
     }
     has_content = False
 
     def run(self):
         env = self.state.document.settings.env
         hxfile = env.config.hxtool_srctree + '/' + self.arguments[0]
+        emitrefs = "emitrefs" in self.options
 
         # Tell sphinx of the dependency
         env.note_dependency(os.path.abspath(hxfile))
@@ -113,6 +123,12 @@ def run(self):
                         serror(hxfile, lnum, 'expected ERST, found SRST')
                     else:
                         state = HxState.RST
+                        if emitrefs and line != "SRST":
+                            label = parse_srst(hxfile, lnum, line)
+                            if label != "":
+                                rstlist.append("", hxfile, lnum - 1)
+                                refline = ".. _" + label + "-reference-label:"
+                                rstlist.append(refline, hxfile, lnum - 1)
                 elif directive == 'ERST':
                     if state == HxState.CTEXT:
                         serror(hxfile, lnum, 'expected SRST, found ERST')
diff --git a/docs/system/invocation.rst b/docs/system/invocation.rst
index 4ba38fc23d..ef75dad2e2 100644
--- a/docs/system/invocation.rst
+++ b/docs/system/invocation.rst
@@ -11,6 +11,7 @@ disk_image is a raw hard disk image for IDE hard disk 0. Some targets do
 not need a disk image.
 
 .. hxtool-doc:: qemu-options.hx
+    :emitrefs:
 
 Device URL Syntax
 ~~~~~~~~~~~~~~~~~
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:43:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628095.979201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00pM-0000Z8-2R; Mon, 06 Nov 2023 14:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628095.979201; Mon, 06 Nov 2023 14:43: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 1r00pL-0000WE-RB; Mon, 06 Nov 2023 14:43:43 +0000
Received: by outflank-mailman (input) for mailman id 628095;
 Mon, 06 Nov 2023 14:43: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hv-0008Lv-6s
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:03 +0000
Received: from smtp-fw-9105.amazon.com (smtp-fw-9105.amazon.com
 [207.171.188.204]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cdec91e6-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:36:01 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO
 email-inbound-relay-pdx-2a-m6i4x-d47337e0.us-west-2.amazon.com)
 ([10.25.36.210]) by smtp-border-fw-9105.sea19.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:36:00 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan3.pdx.amazon.com [10.39.38.70])
 by email-inbound-relay-pdx-2a-m6i4x-d47337e0.us-west-2.amazon.com (Postfix)
 with ESMTPS id 5555D60EB9; Mon,  6 Nov 2023 14:35:52 +0000 (UTC)
Received: from EX19MTAUWA002.ant.amazon.com [10.0.38.20:5172]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.28.94:2525]
 with esmtp (Farcaster)
 id a6ca9ea9-34d5-42d7-b4c4-6cc6a7da776d; Mon, 6 Nov 2023 14:35:52 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWA002.ant.amazon.com (10.250.64.202) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:41 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cdec91e6-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="683074520"
X-Farcaster-Flow-ID: a6ca9ea9-34d5-42d7-b4c4-6cc6a7da776d
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 09/17] hw/xen: update Xen console to XenDevice model
Date: Mon, 6 Nov 2023 14:34:59 +0000
Message-ID: <20231106143507.1060610-10-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

This allows (non-primary) console devices to be created on the command
line and hotplugged.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/char/trace-events        |   8 +
 hw/char/xen_console.c       | 532 +++++++++++++++++++++++++++---------
 hw/xen/xen-legacy-backend.c |   1 -
 3 files changed, 411 insertions(+), 130 deletions(-)

diff --git a/hw/char/trace-events b/hw/char/trace-events
index babf4d35ea..7a398c82a5 100644
--- a/hw/char/trace-events
+++ b/hw/char/trace-events
@@ -105,3 +105,11 @@ cadence_uart_baudrate(unsigned baudrate) "baudrate %u"
 # sh_serial.c
 sh_serial_read(char *id, unsigned size, uint64_t offs, uint64_t val) " %s size %d offs 0x%02" PRIx64 " -> 0x%02" PRIx64
 sh_serial_write(char *id, unsigned size, uint64_t offs, uint64_t val) "%s size %d offs 0x%02" PRIx64 " <- 0x%02" PRIx64
+
+# xen_console.c
+xen_console_connect(unsigned int idx, unsigned int ring_ref, unsigned int port, unsigned int limit) "idx %u ring_ref %u port %u limit %u"
+xen_console_disconnect(unsigned int idx) "idx %u"
+xen_console_unrealize(unsigned int idx) "idx %u"
+xen_console_realize(unsigned int idx, const char *chrdev) "idx %u chrdev %s"
+xen_console_device_create(unsigned int idx) "idx %u"
+xen_console_device_destroy(unsigned int idx) "idx %u"
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 810dae3f44..4a419dc287 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -20,15 +20,20 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/cutils.h"
 #include <sys/select.h>
 #include <termios.h>
 
 #include "qapi/error.h"
 #include "sysemu/sysemu.h"
 #include "chardev/char-fe.h"
-#include "hw/xen/xen-legacy-backend.h"
-
+#include "hw/xen/xen-backend.h"
+#include "hw/xen/xen-bus-helper.h"
+#include "hw/qdev-properties.h"
+#include "hw/qdev-properties-system.h"
 #include "hw/xen/interface/io/console.h"
+#include "hw/xen/interface/io/xs_wire.h"
+#include "trace.h"
 
 struct buffer {
     uint8_t *data;
@@ -39,16 +44,22 @@ struct buffer {
 };
 
 struct XenConsole {
-    struct XenLegacyDevice  xendev;  /* must be first */
+    struct XenDevice  xendev;  /* must be first */
+    XenEventChannel   *event_channel;
+    int               dev;
     struct buffer     buffer;
-    char              console[XEN_BUFSIZE];
-    int               ring_ref;
+    char              *fe_path;
+    unsigned int      ring_ref;
     void              *sring;
     CharBackend       chr;
     int               backlog;
 };
+typedef struct XenConsole XenConsole;
+
+#define TYPE_XEN_CONSOLE_DEVICE "xen-console"
+OBJECT_DECLARE_SIMPLE_TYPE(XenConsole, XEN_CONSOLE_DEVICE)
 
-static void buffer_append(struct XenConsole *con)
+static bool buffer_append(XenConsole *con)
 {
     struct buffer *buffer = &con->buffer;
     XENCONS_RING_IDX cons, prod, size;
@@ -60,7 +71,7 @@ static void buffer_append(struct XenConsole *con)
 
     size = prod - cons;
     if ((size == 0) || (size > sizeof(intf->out)))
-        return;
+        return false;
 
     if ((buffer->capacity - buffer->size) < size) {
         buffer->capacity += (size + 1024);
@@ -73,7 +84,7 @@ static void buffer_append(struct XenConsole *con)
 
     xen_mb();
     intf->out_cons = cons;
-    xen_pv_send_notify(&con->xendev);
+    xen_device_notify_event_channel(XEN_DEVICE(con), con->event_channel, NULL);
 
     if (buffer->max_capacity &&
         buffer->size > buffer->max_capacity) {
@@ -89,6 +100,7 @@ static void buffer_append(struct XenConsole *con)
         if (buffer->consumed > buffer->max_capacity - over)
             buffer->consumed = buffer->max_capacity - over;
     }
+    return true;
 }
 
 static void buffer_advance(struct buffer *buffer, size_t len)
@@ -100,7 +112,7 @@ static void buffer_advance(struct buffer *buffer, size_t len)
     }
 }
 
-static int ring_free_bytes(struct XenConsole *con)
+static int ring_free_bytes(XenConsole *con)
 {
     struct xencons_interface *intf = con->sring;
     XENCONS_RING_IDX cons, prod, space;
@@ -118,13 +130,13 @@ static int ring_free_bytes(struct XenConsole *con)
 
 static int xencons_can_receive(void *opaque)
 {
-    struct XenConsole *con = opaque;
+    XenConsole *con = opaque;
     return ring_free_bytes(con);
 }
 
 static void xencons_receive(void *opaque, const uint8_t *buf, int len)
 {
-    struct XenConsole *con = opaque;
+    XenConsole *con = opaque;
     struct xencons_interface *intf = con->sring;
     XENCONS_RING_IDX prod;
     int i, max;
@@ -141,10 +153,10 @@ static void xencons_receive(void *opaque, const uint8_t *buf, int len)
     }
     xen_wmb();
     intf->in_prod = prod;
-    xen_pv_send_notify(&con->xendev);
+    xen_device_notify_event_channel(XEN_DEVICE(con), con->event_channel, NULL);
 }
 
-static void xencons_send(struct XenConsole *con)
+static bool xencons_send(XenConsole *con)
 {
     ssize_t len, size;
 
@@ -159,174 +171,436 @@ static void xencons_send(struct XenConsole *con)
     if (len < 1) {
         if (!con->backlog) {
             con->backlog = 1;
-            xen_pv_printf(&con->xendev, 1,
-                          "backlog piling up, nobody listening?\n");
         }
     } else {
         buffer_advance(&con->buffer, len);
         if (con->backlog && len == size) {
             con->backlog = 0;
-            xen_pv_printf(&con->xendev, 1, "backlog is gone\n");
         }
     }
+    return len > 0;
 }
 
 /* -------------------------------------------------------------------- */
 
-static int store_con_info(struct XenConsole *con)
+static bool con_event(void *_xendev)
 {
-    Chardev *cs = qemu_chr_fe_get_driver(&con->chr);
-    char *pts = NULL;
-    char *dom_path;
-    g_autoptr(GString) path = NULL;
+    XenConsole *con = XEN_CONSOLE_DEVICE(_xendev);
+    bool done_something;
+
+    if (xen_device_backend_get_state(&con->xendev) != XenbusStateConnected) {
+        return false;
+    }
+
+    done_something = buffer_append(con);
+
+    if (con->buffer.size - con->buffer.consumed) {
+        done_something |= xencons_send(con);
+    }
+    return done_something;
+}
+
+/* -------------------------------------------------------------------- */
+
+static bool xen_console_connect(XenDevice *xendev, Error **errp)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+    unsigned int port, limit;
+
+    if (xen_device_frontend_scanf(xendev, "ring-ref", "%u",
+                                  &con->ring_ref) != 1) {
+        error_setg(errp, "failed to read ring-ref");
+        return false;
+    }
 
-    /* Only continue if we're talking to a pty. */
-    if (!CHARDEV_IS_PTY(cs)) {
-        return 0;
+    if (xen_device_frontend_scanf(xendev, "port", "%u", &port) != 1) {
+        error_setg(errp, "failed to read remote port");
+        return false;
     }
-    pts = cs->filename + 4;
 
-    dom_path = qemu_xen_xs_get_domain_path(xenstore, xen_domid);
-    if (!dom_path) {
-        return 0;
+    if (xen_device_frontend_scanf(xendev, "limit", "%u", &limit) == 1) {
+        con->buffer.max_capacity = limit;
     }
 
-    path = g_string_new(dom_path);
-    free(dom_path);
+    con->event_channel = xen_device_bind_event_channel(xendev, port,
+                                                       con_event,
+                                                       con,
+                                                       errp);
+    if (!con->event_channel) {
+        return false;
+    }
 
-    if (con->xendev.dev) {
-        g_string_append_printf(path, "/device/console/%d", con->xendev.dev);
+    if (!con->dev) {
+        xen_pfn_t mfn = (xen_pfn_t)con->ring_ref;
+        con->sring = qemu_xen_foreignmem_map(xendev->frontend_id, NULL,
+                                             PROT_READ | PROT_WRITE,
+                                             1, &mfn, NULL);
+        if (!con->sring) {
+            error_setg(errp, "failed to map console page");
+            return false;
+        }
     } else {
-        g_string_append(path, "/console");
+        con->sring = xen_device_map_grant_refs(xendev,
+                                               &con->ring_ref, 1,
+                                               PROT_READ | PROT_WRITE,
+                                               errp);
+        if (!con->sring) {
+            error_prepend(errp, "failed to map grant ref: ");
+            return false;
+        }
     }
-    g_string_append(path, "/tty");
 
-    if (xenstore_write_str(con->console, path->str, pts)) {
-        fprintf(stderr, "xenstore_write_str for '%s' fail", path->str);
-        return -1;
+    trace_xen_console_connect(con->dev, con->ring_ref, port,
+                              con->buffer.max_capacity);
+
+    qemu_chr_fe_set_handlers(&con->chr, xencons_can_receive,
+                             xencons_receive, NULL, NULL, con, NULL,
+                             true);
+    return true;
+}
+
+static void xen_console_disconnect(XenDevice *xendev, Error **errp)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+
+    trace_xen_console_disconnect(con->dev);
+
+    qemu_chr_fe_set_handlers(&con->chr, NULL, NULL, NULL, NULL,
+                             con, NULL, true);
+
+    if (con->event_channel) {
+        xen_device_unbind_event_channel(xendev, con->event_channel,
+                                        errp);
+        con->event_channel = NULL;
+    }
+
+    if (con->sring) {
+        if (!con->dev) {
+            qemu_xen_foreignmem_unmap(con->sring, 1);
+        } else {
+            xen_device_unmap_grant_refs(xendev, con->sring,
+                                        &con->ring_ref, 1, errp);
+        }
+        con->sring = NULL;
     }
-    return 0;
 }
 
-static int con_init(struct XenLegacyDevice *xendev)
+static void xen_console_frontend_changed(XenDevice *xendev,
+                                         enum xenbus_state frontend_state,
+                                         Error **errp)
 {
-    struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
-    char *type, *dom, label[32];
-    int ret = 0;
-    const char *output;
-
-    /* setup */
-    dom = qemu_xen_xs_get_domain_path(xenstore, con->xendev.dom);
-    if (!xendev->dev) {
-        snprintf(con->console, sizeof(con->console), "%s/console", dom);
-    } else {
-        snprintf(con->console, sizeof(con->console), "%s/device/console/%d", dom, xendev->dev);
+    ERRP_GUARD();
+    enum xenbus_state backend_state = xen_device_backend_get_state(xendev);
+
+    switch (frontend_state) {
+    case XenbusStateInitialised:
+    case XenbusStateConnected:
+        if (backend_state == XenbusStateConnected) {
+            break;
+        }
+
+        xen_console_disconnect(xendev, errp);
+        if (*errp) {
+            break;
+        }
+
+        if (!xen_console_connect(xendev, errp)) {
+            xen_device_backend_set_state(xendev, XenbusStateClosing);
+            break;
+        }
+
+        xen_device_backend_set_state(xendev, XenbusStateConnected);
+        break;
+
+    case XenbusStateClosing:
+        xen_device_backend_set_state(xendev, XenbusStateClosing);
+        break;
+
+    case XenbusStateClosed:
+    case XenbusStateUnknown:
+        xen_console_disconnect(xendev, errp);
+        if (*errp) {
+            break;
+        }
+
+        xen_device_backend_set_state(xendev, XenbusStateClosed);
+        break;
+
+    default:
+        break;
     }
-    free(dom);
+}
 
-    type = xenstore_read_str(con->console, "type");
-    if (!type || strcmp(type, "ioemu") != 0) {
-        xen_pv_printf(xendev, 1, "not for me (type=%s)\n", type);
-        ret = -1;
-        goto out;
+static char *xen_console_get_name(XenDevice *xendev, Error **errp)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+
+    if (con->dev == -1) {
+        XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
+        char fe_path[XENSTORE_ABS_PATH_MAX + 1];
+        char *value;
+        int idx = 1;
+
+        /* Theoretically we could go up to INT_MAX here but that's overkill */
+        while (idx < 100) {
+            snprintf(fe_path, sizeof(fe_path),
+                     "/local/domain/%u/device/console/%u",
+                     xendev->frontend_id, idx);
+            value = qemu_xen_xs_read(xenbus->xsh, XBT_NULL, fe_path, NULL);
+            if (!value) {
+                if (errno == ENOENT) {
+                    con->dev = idx;
+                    goto found;
+                }
+                error_setg(errp, "cannot read %s: %s", fe_path,
+                           strerror(errno));
+                return NULL;
+            }
+            free(value);
+            idx++;
+        }
+        error_setg(errp, "cannot find device index for console device");
+        return NULL;
     }
+ found:
+    return g_strdup_printf("%u", con->dev);
+}
+
+static void xen_console_unrealize(XenDevice *xendev)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+
+    trace_xen_console_unrealize(con->dev);
 
-    output = xenstore_read_str(con->console, "output");
+    /* Disconnect from the frontend in case this has not already happened */
+    xen_console_disconnect(xendev, NULL);
 
-    /* no Xen override, use qemu output device */
-    if (output == NULL) {
-        if (con->xendev.dev) {
-            qemu_chr_fe_init(&con->chr, serial_hd(con->xendev.dev),
-                             &error_abort);
+    qemu_chr_fe_deinit(&con->chr, false);
+}
+
+static void xen_console_realize(XenDevice *xendev, Error **errp)
+{
+    ERRP_GUARD();
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+    Chardev *cs = qemu_chr_fe_get_driver(&con->chr);
+    unsigned int u;
+
+    if (!cs) {
+        error_setg(errp, "no backing character device");
+        return;
+    }
+
+    if (con->dev == -1) {
+        error_setg(errp, "no device index provided");
+        return;
+    }
+
+    /*
+     * The Xen primary console is special. The ring-ref is actually a GFN to
+     * be mapped directly as foreignmem (not a grant ref), and the guest port
+     * was allocated *for* the guest by the toolstack. The guest gets these
+     * through HVMOP_get_param and can use the console long before it's got
+     * XenStore up and running. We cannot create those for a Xen guest.
+     */
+    if (!con->dev) {
+        if (xen_device_frontend_scanf(xendev, "ring-ref", "%u", &u) != 1 ||
+            xen_device_frontend_scanf(xendev, "port", "%u", &u) != 1) {
+            error_setg(errp, "cannot create primary Xen console");
+            return;
         }
+    }
+
+    trace_xen_console_realize(con->dev, object_get_typename(OBJECT(cs)));
+
+    if (CHARDEV_IS_PTY(cs)) {
+        /* Strip the leading 'pty:' */
+        xen_device_frontend_printf(xendev, "tty", "%s", cs->filename + 4);
+    }
+
+    /* No normal PV driver initialization for the primary console */
+    if (!con->dev) {
+        xen_console_connect(xendev, errp);
+    }
+}
+
+static char *console_frontend_path(struct qemu_xs_handle *xenstore,
+                                   unsigned int dom_id, unsigned int dev)
+{
+    if (!dev) {
+        return g_strdup_printf("/local/domain/%u/console", dom_id);
     } else {
-        snprintf(label, sizeof(label), "xencons%d", con->xendev.dev);
-        qemu_chr_fe_init(&con->chr,
-                         /*
-                          * FIXME: sure we want to support implicit
-                          * muxed monitors here?
-                          */
-                         qemu_chr_new_mux_mon(label, output, NULL),
-                         &error_abort);
+        return g_strdup_printf("/local/domain/%u/device/console/%u", dom_id,
+                               dev);
     }
+}
 
-    store_con_info(con);
+static char *xen_console_get_frontend_path(XenDevice *xendev, Error **errp)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+    XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
+    char *ret = console_frontend_path(xenbus->xsh, xendev->frontend_id,
+                                      con->dev);
 
-out:
-    g_free(type);
+    if (!ret) {
+        error_setg(errp, "failed to create frontend path");
+    }
     return ret;
 }
 
-static int con_initialise(struct XenLegacyDevice *xendev)
+
+static Property xen_console_properties[] = {
+    DEFINE_PROP_CHR("chardev", XenConsole, chr),
+    DEFINE_PROP_INT32("idx", XenConsole, dev, -1),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
+static void xen_console_class_init(ObjectClass *class, void *data)
 {
-    struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
-    int limit;
-
-    if (xenstore_read_int(con->console, "ring-ref", &con->ring_ref) == -1)
-        return -1;
-    if (xenstore_read_int(con->console, "port", &con->xendev.remote_port) == -1)
-        return -1;
-    if (xenstore_read_int(con->console, "limit", &limit) == 0)
-        con->buffer.max_capacity = limit;
+    DeviceClass *dev_class = DEVICE_CLASS(class);
+    XenDeviceClass *xendev_class = XEN_DEVICE_CLASS(class);
+
+    xendev_class->backend = "console";
+    xendev_class->device = "console";
+    xendev_class->get_name = xen_console_get_name;
+    xendev_class->realize = xen_console_realize;
+    xendev_class->frontend_changed = xen_console_frontend_changed;
+    xendev_class->unrealize = xen_console_unrealize;
+    xendev_class->get_frontend_path = xen_console_get_frontend_path;
+
+    device_class_set_props(dev_class, xen_console_properties);
+}
 
-    if (!xendev->dev) {
-        xen_pfn_t mfn = con->ring_ref;
-        con->sring = qemu_xen_foreignmem_map(con->xendev.dom, NULL,
-                                             PROT_READ | PROT_WRITE,
-                                             1, &mfn, NULL);
-    } else {
-        con->sring = xen_be_map_grant_ref(xendev, con->ring_ref,
-                                          PROT_READ | PROT_WRITE);
-    }
-    if (!con->sring)
-        return -1;
+static const TypeInfo xen_console_type_info = {
+    .name = TYPE_XEN_CONSOLE_DEVICE,
+    .parent = TYPE_XEN_DEVICE,
+    .instance_size = sizeof(XenConsole),
+    .class_init = xen_console_class_init,
+};
 
-    xen_be_bind_evtchn(&con->xendev);
-    qemu_chr_fe_set_handlers(&con->chr, xencons_can_receive,
-                             xencons_receive, NULL, NULL, con, NULL, true);
-
-    xen_pv_printf(xendev, 1,
-                  "ring mfn %d, remote port %d, local port %d, limit %zd\n",
-                  con->ring_ref,
-                  con->xendev.remote_port,
-                  con->xendev.local_port,
-                  con->buffer.max_capacity);
-    return 0;
+static void xen_console_register_types(void)
+{
+    type_register_static(&xen_console_type_info);
 }
 
-static void con_disconnect(struct XenLegacyDevice *xendev)
+type_init(xen_console_register_types)
+
+/* Called to instantiate a XenConsole when the backend is detected. */
+static void xen_console_device_create(XenBackendInstance *backend,
+                                      QDict *opts, Error **errp)
 {
-    struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
+    ERRP_GUARD();
+    XenBus *xenbus = xen_backend_get_bus(backend);
+    const char *name = xen_backend_get_name(backend);
+    unsigned long number;
+    char *fe = NULL, *type = NULL, *output = NULL;
+    char label[32];
+    XenDevice *xendev = NULL;
+    XenConsole *con;
+    Chardev *cd = NULL;
+    struct qemu_xs_handle *xsh = xenbus->xsh;
+
+    if (qemu_strtoul(name, NULL, 10, &number) || number > INT_MAX) {
+        error_setg(errp, "failed to parse name '%s'", name);
+        goto fail;
+    }
 
-    qemu_chr_fe_deinit(&con->chr, false);
-    xen_pv_unbind_evtchn(&con->xendev);
+    trace_xen_console_device_create(number);
 
-    if (con->sring) {
-        if (!xendev->dev) {
-            qemu_xen_foreignmem_unmap(con->sring, 1);
-        } else {
-            xen_be_unmap_grant_ref(xendev, con->sring, con->ring_ref);
+    fe = console_frontend_path(xsh, xen_domid, number);
+    if (fe == NULL) {
+        error_setg(errp, "failed to generate frontend path");
+        goto fail;
+    }
+
+    if (xs_node_scanf(xsh, XBT_NULL, fe, "type", errp, "%ms", &type) != 1) {
+        error_prepend(errp, "failed to read console device type: ");
+        goto fail;
+    }
+
+    if (strcmp(type, "ioemu")) {
+        error_setg(errp, "declining to handle console type '%s'",
+                   type);
+        goto fail;
+    }
+
+    xendev = XEN_DEVICE(qdev_new(TYPE_XEN_CONSOLE_DEVICE));
+    con = XEN_CONSOLE_DEVICE(xendev);
+
+    con->dev = number;
+
+    snprintf(label, sizeof(label), "xencons%ld", number);
+
+    if (xs_node_scanf(xsh, XBT_NULL, fe, "output", NULL, "%ms", &output) == 1) {
+        /*
+         * FIXME: sure we want to support implicit
+         * muxed monitors here?
+         */
+        cd = qemu_chr_new_mux_mon(label, output, NULL);
+        if (!cd) {
+            error_setg(errp, "console: No valid chardev found at '%s': ",
+                       output);
+            goto fail;
         }
-        con->sring = NULL;
+    } else if (number) {
+        cd = serial_hd(number);
+        if (!cd) {
+            error_prepend(errp, "console: No serial device #%ld found: ",
+                          number);
+            goto fail;
+        }
+    } else {
+        /* No 'output' node on primary console: use null. */
+        cd = qemu_chr_new(label, "null", NULL);
+        if (!cd) {
+            error_setg(errp, "console: failed to create null device");
+            goto fail;
+        }
+    }
+
+    if (!qemu_chr_fe_init(&con->chr, cd, errp)) {
+        error_prepend(errp, "console: failed to initialize backing chardev: ");
+        goto fail;
+    }
+
+    if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
+        xen_backend_set_device(backend, xendev);
+        goto done;
+    }
+
+    error_prepend(errp, "realization of console device %lu failed: ",
+                  number);
+
+ fail:
+    if (xendev) {
+        object_unparent(OBJECT(xendev));
     }
+ done:
+    g_free(fe);
+    free(type);
+    free(output);
 }
 
-static void con_event(struct XenLegacyDevice *xendev)
+static void xen_console_device_destroy(XenBackendInstance *backend,
+                                       Error **errp)
 {
-    struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
+    ERRP_GUARD();
+    XenDevice *xendev = xen_backend_get_device(backend);
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
 
-    buffer_append(con);
-    if (con->buffer.size - con->buffer.consumed)
-        xencons_send(con);
-}
+    trace_xen_console_device_destroy(con->dev);
 
-/* -------------------------------------------------------------------- */
+    object_unparent(OBJECT(xendev));
+}
 
-struct XenDevOps xen_console_ops = {
-    .size       = sizeof(struct XenConsole),
-    .flags      = DEVOPS_FLAG_IGNORE_STATE|DEVOPS_FLAG_NEED_GNTDEV,
-    .init       = con_init,
-    .initialise = con_initialise,
-    .event      = con_event,
-    .disconnect = con_disconnect,
+static const XenBackendInfo xen_console_backend_info  = {
+    .type = "console",
+    .create = xen_console_device_create,
+    .destroy = xen_console_device_destroy,
 };
+
+static void xen_console_register_backend(void)
+{
+    xen_backend_register(&xen_console_backend_info);
+}
+
+xen_backend_init(xen_console_register_backend);
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 4ded3cec23..124dd5f3d6 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -623,7 +623,6 @@ void xen_be_init(void)
 
     xen_set_dynamic_sysbus();
 
-    xen_be_register("console", &xen_console_ops);
     xen_be_register("vkbd", &xen_kbdmouse_ops);
 #ifdef CONFIG_VIRTFS
     xen_be_register("9pfs", &xen_9pfs_ops);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:43:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628096.979205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00pM-0000di-CX; Mon, 06 Nov 2023 14:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628096.979205; Mon, 06 Nov 2023 14:43: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 1r00pM-0000ck-6W; Mon, 06 Nov 2023 14:43:44 +0000
Received: by outflank-mailman (input) for mailman id 628096;
 Mon, 06 Nov 2023 14:43: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00iE-0008Lv-A2
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:22 +0000
Received: from smtp-fw-9106.amazon.com (smtp-fw-9106.amazon.com
 [207.171.188.206]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d916f548-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:36:20 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO
 email-inbound-relay-iad-1e-m6i4x-6e7a78d7.us-east-1.amazon.com)
 ([10.25.36.210]) by smtp-border-fw-9106.sea19.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:36:17 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan2.iad.amazon.com [10.32.235.34])
 by email-inbound-relay-iad-1e-m6i4x-6e7a78d7.us-east-1.amazon.com (Postfix)
 with ESMTPS id C365780650; Mon,  6 Nov 2023 14:36:07 +0000 (UTC)
Received: from EX19MTAUWB002.ant.amazon.com [10.0.21.151:42871]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.53.251:2525]
 with esmtp (Farcaster)
 id 2f456b54-d745-49c6-a6fe-1ae7d4e8d6d6; Mon, 6 Nov 2023 14:36:06 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWB002.ant.amazon.com (10.250.64.231) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:57 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d916f548-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="682420133"
X-Farcaster-Flow-ID: 2f456b54-d745-49c6-a6fe-1ae7d4e8d6d6
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 14/17] net: do not delete nics in net_cleanup()
Date: Mon, 6 Nov 2023 14:35:04 +0000
Message-ID: <20231106143507.1060610-15-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

In net_cleanup() we only need to delete the netdevs, as those may have
state which outlives Qemu when it exits, and thus may actually need to
be cleaned up on exit.

The nics, on the other hand, are owned by the device which created them.
Most devices don't bother to clean up on exit because they don't have
any state which will outlive Qemu... but XenBus devices do need to clean
up their nodes in XenStore, and do have an exit handler to delete them.

When the XenBus exit handler destroys the xen-net-device, it attempts
to delete its nic after net_cleanup() had already done so. And crashes.

Fix this by only deleting netdevs as we walk the list. As the comment
notes, we can't use QTAILQ_FOREACH_SAFE() as each deletion may remove
*multiple* entries, including the "safely" saved 'next' pointer. But
we can store the *previous* entry, since nics are safe.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 net/net.c | 28 ++++++++++++++++++++++------
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/net/net.c b/net/net.c
index c0c0cbe99e..bbe33da176 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1499,18 +1499,34 @@ static void net_vm_change_state_handler(void *opaque, bool running,
 
 void net_cleanup(void)
 {
-    NetClientState *nc;
+    NetClientState *nc, **p = &QTAILQ_FIRST(&net_clients);
 
     /*cleanup colo compare module for COLO*/
     colo_compare_cleanup();
 
-    /* We may del multiple entries during qemu_del_net_client(),
-     * so QTAILQ_FOREACH_SAFE() is also not safe here.
+    /*
+     * Walk the net_clients list and remove the netdevs but *not* any
+     * NET_CLIENT_DRIVER_NIC entries. The latter are owned by the device
+     * model which created them, and in some cases (e.g. xen-net-device)
+     * the device itself may do cleanup at exit and will be upset if we
+     * just delete its NIC from underneath it.
+     *
+     * Since qemu_del_net_client() may delete multiple entries, using
+     * QTAILQ_FOREACH_SAFE() is not safe here. The only safe pointer
+     * to keep as a bookmark is a NET_CLIENT_DRIVER_NIC entry, so keep
+     * 'p' pointing to either the head of the list, or the 'next' field
+     * of the latest NET_CLIENT_DRIVER_NIC, and operate on *p as we walk
+     * the list.
+     *
+     * The 'nc' variable isn't part of the list traversal; it's purely
+     * for convenience as too much '(*p)->' has a tendency to make the
+     * readers' eyes bleed.
      */
-    while (!QTAILQ_EMPTY(&net_clients)) {
-        nc = QTAILQ_FIRST(&net_clients);
+    while (*p) {
+        nc = *p;
         if (nc->info->type == NET_CLIENT_DRIVER_NIC) {
-            qemu_del_nic(qemu_get_nic(nc));
+            /* Skip NET_CLIENT_DRIVER_NIC entries */
+            p = &QTAILQ_NEXT(nc, next);
         } else {
             qemu_del_net_client(nc);
         }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:43:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:43:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628097.979214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00pN-0000xP-86; Mon, 06 Nov 2023 14:43:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628097.979214; Mon, 06 Nov 2023 14:43: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 1r00pM-0000t4-Vm; Mon, 06 Nov 2023 14:43:44 +0000
Received: by outflank-mailman (input) for mailman id 628097;
 Mon, 06 Nov 2023 14:43: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00i8-0008Lv-32
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:16 +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 d6d37267-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:36:15 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-iad-1e-m6i4x-b538c141.us-east-1.amazon.com) ([10.43.8.6])
 by smtp-border-fw-6002.iad6.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:36:14 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan2.iad.amazon.com [10.32.235.34])
 by email-inbound-relay-iad-1e-m6i4x-b538c141.us-east-1.amazon.com (Postfix)
 with ESMTPS id AAC23A2579; Mon,  6 Nov 2023 14:36:05 +0000 (UTC)
Received: from EX19MTAUWB002.ant.amazon.com [10.0.21.151:16675]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.28.94:2525]
 with esmtp (Farcaster)
 id deb27e6d-8725-48a3-a146-4d3938248c61; Mon, 6 Nov 2023 14:36:05 +0000 (UTC)
Received: from EX19EXOUWC001.ant.amazon.com (10.250.64.135) by
 EX19MTAUWB002.ant.amazon.com (10.250.64.231) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:49 +0000
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19EXOUWC001.ant.amazon.com (10.250.64.135) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1258.27; Mon, 6 Nov 2023 14:35:48 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6d37267-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="366329806"
X-Farcaster-Flow-ID: deb27e6d-8725-48a3-a146-4d3938248c61
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, "Peter
 Maydell" <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, "Paul
 Durrant" <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Richard
 Henderson" <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, "Marcel
 Apfelbaum" <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 11/17] hw/xen: only remove peers of PCI NICs on unplug
Date: Mon, 6 Nov 2023 14:35:01 +0000
Message-ID: <20231106143507.1060610-12-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

When the Xen guest asks to unplug *emulated* NICs, it's kind of unhelpful
also to unplug the peer of the *Xen* PV NIC.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/xen/xen_platform.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index 17457ff3de..e2dd1b536a 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -140,9 +140,14 @@ static void unplug_nic(PCIBus *b, PCIDevice *d, void *o)
 /* Remove the peer of the NIC device. Normally, this would be a tap device. */
 static void del_nic_peer(NICState *nic, void *opaque)
 {
-    NetClientState *nc;
+    NetClientState *nc = qemu_get_queue(nic);
+    ObjectClass *klass = module_object_class_by_name(nc->model);
+
+    /* Only delete peers of PCI NICs that we're about to delete */
+    if (!klass || !object_class_dynamic_cast(klass, TYPE_PCI_DEVICE)) {
+        return;
+    }
 
-    nc = qemu_get_queue(nic);
     if (nc->peer)
         qemu_del_net_client(nc->peer);
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 14:44:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 14:44:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628110.979235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r00q6-0003ns-Cl; Mon, 06 Nov 2023 14:44:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628110.979235; Mon, 06 Nov 2023 14:44: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 1r00q6-0003nh-9X; Mon, 06 Nov 2023 14:44:30 +0000
Received: by outflank-mailman (input) for mailman id 628110;
 Mon, 06 Nov 2023 14: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=wwoJ=GT=infradead.org=prvs=667a8cc2a=dwmw2@srs-se1.protection.inumbo.net>)
 id 1r00hy-0008Lv-7H
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:36:06 +0000
Received: from smtp-fw-9105.amazon.com (smtp-fw-9105.amazon.com
 [207.171.188.204]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d035709b-7cb1-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 15:36:04 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO
 email-inbound-relay-pdx-2b-m6i4x-ed19f671.us-west-2.amazon.com)
 ([10.25.36.210]) by smtp-border-fw-9105.sea19.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Nov 2023 14:36:04 +0000
Received: from smtpout.prod.us-west-2.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan3.pdx.amazon.com [10.39.38.70])
 by email-inbound-relay-pdx-2b-m6i4x-ed19f671.us-west-2.amazon.com (Postfix)
 with ESMTPS id 57FFA8AE35; Mon,  6 Nov 2023 14:36:01 +0000 (UTC)
Received: from EX19MTAUWA001.ant.amazon.com [10.0.7.35:51494]
 by smtpin.naws.us-west-2.prod.farcaster.email.amazon.dev [10.0.21.17:2525]
 with esmtp (Farcaster)
 id 4a8f9d97-7809-40e0-a295-df935d3adabd; Mon, 6 Nov 2023 14:36:00 +0000 (UTC)
Received: from EX19MTAUWB001.ant.amazon.com (10.250.64.248) by
 EX19MTAUWA001.ant.amazon.com (10.250.64.217) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 6 Nov 2023 14:35:54 +0000
Received: from u3832b3a9db3152.ant.amazon.com (10.106.83.6) by
 mail-relay.amazon.com (10.250.64.254) with Microsoft SMTP Server id
 15.2.1118.39 via Frontend Transport; Mon, 6 Nov 2023 14:35: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d035709b-7cb1-11ee-98da-6d05b1d4d9a1
X-IronPort-AV: E=Sophos;i="6.03,281,1694736000"; 
   d="scan'208";a="683074547"
X-Farcaster-Flow-ID: 4a8f9d97-7809-40e0-a295-df935d3adabd
From: David Woodhouse <dwmw2@infradead.org>
To: <qemu-devel@nongnu.org>
CC: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?=
	<marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
	<eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, <qemu-block@nongnu.org>,
	<xen-devel@lists.xenproject.org>, <kvm@vger.kernel.org>
Subject: [PATCH v4 13/17] hw/i386/pc: support '-nic' for xen-net-device
Date: Mon, 6 Nov 2023 14:35:03 +0000
Message-ID: <20231106143507.1060610-14-dwmw2@infradead.org>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106143507.1060610-1-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
Precedence: Bulk

From: David Woodhouse <dwmw@amazon.co.uk>

The default NIC creation seems a bit hackish to me. I don't understand
why each platform has to call pci_nic_init_nofail() from a point in the
code where it actually has a pointer to the PCI bus, and then we have
the special cases for things like ne2k_isa.

If qmp_device_add() can *find* the appropriate bus and instantiate
the device on it, why can't we just do that from generic code for
creating the default NICs too?

But that isn't a yak I want to shave today. Add a xenbus field to the
PCMachineState so that it can make its way from pc_basic_device_init()
to pc_nic_init() and be handled as a special case like ne2k_isa is.

Now we can launch emulated Xen guests with '-nic user'.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/i386/pc.c             | 11 ++++++++---
 hw/i386/pc_piix.c        |  2 +-
 hw/i386/pc_q35.c         |  2 +-
 hw/xen/xen-bus.c         |  4 +++-
 include/hw/i386/pc.h     |  4 +++-
 include/hw/xen/xen-bus.h |  2 +-
 6 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 6031234a73..c2bc3fa52d 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1259,7 +1259,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
         if (pcms->bus) {
             pci_create_simple(pcms->bus, -1, "xen-platform");
         }
-        xen_bus_init();
+        pcms->xenbus = xen_bus_init();
         xen_be_init();
     }
 #endif
@@ -1287,7 +1287,8 @@ void pc_basic_device_init(struct PCMachineState *pcms,
                     pcms->vmport != ON_OFF_AUTO_ON);
 }
 
-void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus)
+void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
+                 BusState *xen_bus)
 {
     MachineClass *mc = MACHINE_CLASS(pcmc);
     int i;
@@ -1297,7 +1298,11 @@ void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus)
         NICInfo *nd = &nd_table[i];
         const char *model = nd->model ? nd->model : mc->default_nic;
 
-        if (g_str_equal(model, "ne2k_isa")) {
+        if (xen_bus && (!nd->model || g_str_equal(model, "xen-net-device"))) {
+            DeviceState *dev = qdev_new("xen-net-device");
+            qdev_set_nic_properties(dev, nd);
+            qdev_realize_and_unref(dev, xen_bus, &error_fatal);
+        } else if (g_str_equal(model, "ne2k_isa")) {
             pc_init_ne2k_isa(isa_bus, nd);
         } else {
             pci_nic_init_nofail(nd, pci_bus, model, NULL);
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 26e161beb9..eace854335 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -342,7 +342,7 @@ static void pc_init1(MachineState *machine,
     pc_basic_device_init(pcms, isa_bus, x86ms->gsi, rtc_state, true,
                          0x4);
 
-    pc_nic_init(pcmc, isa_bus, pci_bus);
+    pc_nic_init(pcmc, isa_bus, pci_bus, pcms->xenbus);
 
     if (pcmc->pci_enabled) {
         pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 597943ff1b..4f3e5412f6 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -340,7 +340,7 @@ static void pc_q35_init(MachineState *machine)
 
     /* the rest devices to which pci devfn is automatically assigned */
     pc_vga_init(isa_bus, host_bus);
-    pc_nic_init(pcmc, isa_bus, host_bus);
+    pc_nic_init(pcmc, isa_bus, host_bus, pcms->xenbus);
 
     if (machine->nvdimms_state->is_enabled) {
         nvdimm_init_acpi_state(machine->nvdimms_state, system_io,
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index cc6f1b362f..4973e7d9c9 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1133,11 +1133,13 @@ static void xen_register_types(void)
 
 type_init(xen_register_types)
 
-void xen_bus_init(void)
+BusState *xen_bus_init(void)
 {
     DeviceState *dev = qdev_new(TYPE_XEN_BRIDGE);
     BusState *bus = qbus_new(TYPE_XEN_BUS, dev, NULL);
 
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
     qbus_set_bus_hotplug_handler(bus);
+
+    return bus;
 }
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 29a9724524..a10ceeabbf 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -33,6 +33,7 @@ typedef struct PCMachineState {
 
     /* Pointers to devices and objects: */
     PCIBus *bus;
+    BusState *xenbus;
     I2CBus *smbus;
     PFlashCFI01 *flash[2];
     ISADevice *pcspk;
@@ -184,7 +185,8 @@ void pc_basic_device_init(struct PCMachineState *pcms,
 void pc_cmos_init(PCMachineState *pcms,
                   BusState *ide0, BusState *ide1,
                   ISADevice *s);
-void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus);
+void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
+                 BusState *xen_bus);
 
 void pc_i8259_create(ISABus *isa_bus, qemu_irq *i8259_irqs);
 
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 38d40afa37..334ddd1ff6 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -75,7 +75,7 @@ struct XenBusClass {
 OBJECT_DECLARE_TYPE(XenBus, XenBusClass,
                     XEN_BUS)
 
-void xen_bus_init(void);
+BusState *xen_bus_init(void);
 
 void xen_device_backend_set_state(XenDevice *xendev,
                                   enum xenbus_state state);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:05:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628137.979295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01AG-0000wO-VF; Mon, 06 Nov 2023 15:05:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628137.979295; Mon, 06 Nov 2023 15:05: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 1r01AG-0000vz-PO; Mon, 06 Nov 2023 15:05:20 +0000
Received: by outflank-mailman (input) for mailman id 628137;
 Mon, 06 Nov 2023 15:05: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r01AF-000892-Sy
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:05:20 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e571f82d-7cb5-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 16:05:17 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40838915cecso33861875e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:05:17 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 q8-20020a05600c46c800b0040776008abdsm12507392wmo.40.2023.11.06.07.05.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 07:05:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e571f82d-7cb5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699283117; x=1699887917; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=yowsapQA+Hk3t7pzlY0dGZgRSDLtI+G/ZK19XU66m/8=;
        b=TGgk+CMOf9kZwnz5k96Jk3ZwvCMd4VreUA0K1BwF6pVYBisELmB+e98AMRMYxOHPaf
         sdq+dHPUs47hrLi0es5d8vyPq3+c0Dy1um8GIrQIhcQdctgpRNnnGehXDAF3lXcN1NR0
         UB6D56zOAKvnWoN6YsjNV7ByqzHgPWhWifiC0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699283117; x=1699887917;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=yowsapQA+Hk3t7pzlY0dGZgRSDLtI+G/ZK19XU66m/8=;
        b=wWC9zdpXV2DKO9VAJmDdb/yeZ4hMypckRaRajpOpTaX6KB5sCKy4dSHcOMzrR0WM5M
         Pdx+I1XyAhk6zufEg/zZYekFaSpVUEpwpiXGRqebtfENLAZpqwNCPGecL8ZOW/+VoX4K
         /Dl9TLiNLaXDHnaizEJJBAOpU8DbM/ICHOuuPTa9OMaYz3voxk4jbR9nHRusjavrvil9
         JtDP7yL74e+cIAu8s+PuM0nCSVFMdWnaQNUCI468Fy9ZXr2sy/bIBhimo3PrIPmCtd6e
         QfveQU2qZZKYKRjKHeDjm42T5PRB4lWqyKfovmOhsGERbPOvckd1aUEew2Cv9nsOVRMW
         /lsQ==
X-Gm-Message-State: AOJu0Yw3MnIOIKeF/JhiFiSVC4G/MwXCCgCi0SUd9zEh1yatTXkKqfhb
	lt4tOh3z/uIJu9D1u8PJTRppwn4QvI7oQiZK6jA=
X-Google-Smtp-Source: AGHT+IGnVq4XQdzv37lduWCcsMnjRT/Dj0YkahdBsVtH52O+w5UUdeRpX50hKpxt9wyKM61zcglBcw==
X-Received: by 2002:a05:600c:4fcb:b0:401:b204:3b97 with SMTP id o11-20020a05600c4fcb00b00401b2043b97mr24125222wmq.4.1699283116697;
        Mon, 06 Nov 2023 07:05:16 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 6/6] tools/pygrub: Hook libfsimage's fdopen() to pygrub
Date: Mon,  6 Nov 2023 15:05:08 +0000
Message-Id: <20231106150508.22665-7-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch increases the security posture by removing the need to grant
filesystem access to the depriv pygrub. Using libfsimage's fdopen(), the
parent thread in the depriv procedure can simply ensure all the appropriate
file descriptors are present before revoking permissions to the filesystem.

A convenient usability side-effect is that it's no longer required for the
restricted user to have access to the disk, because the depriv thread
already has the file descriptor open by its parent.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 docs/man/xl.cfg.5.pod.in         |  6 +-
 tools/pygrub/src/ExtLinuxConf.py | 20 ++++---
 tools/pygrub/src/GrubConf.py     | 29 ++++++----
 tools/pygrub/src/LiloConf.py     | 20 ++++---
 tools/pygrub/src/pygrub          | 95 ++++++++------------------------
 5 files changed, 68 insertions(+), 102 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 2e234b450e..e3fd2e37eb 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1704,8 +1704,7 @@ See docs/features/qemu-deprivilege.pandoc for more information
 on how to setup the unprivileged users.
 
 Note that running the bootloader in restricted mode also implies using
-non-interactive mode, and the disk image must be readable by the
-restricted user.
+non-interactive mode.
 
 =item B<bootloader_user=USERNAME>
 
@@ -2768,8 +2767,7 @@ See docs/features/qemu-deprivilege.pandoc for more information
 on how to setup the unprivileged users.
 
 Note that running the bootloader in restricted mode also implies using
-non-interactive mode, and the disk image must be readable by the
-restricted user.
+non-interactive mode.
 
 =item B<bootloader_user=USERNAME>
 
diff --git a/tools/pygrub/src/ExtLinuxConf.py b/tools/pygrub/src/ExtLinuxConf.py
index 4e990a9304..f2e9a81013 100644
--- a/tools/pygrub/src/ExtLinuxConf.py
+++ b/tools/pygrub/src/ExtLinuxConf.py
@@ -123,6 +123,7 @@ class ExtLinuxImage(object):
 class ExtLinuxConfigFile(object):
     def __init__(self, fn = None):
         self.filename = fn
+        self.file = None
         self.images = []
         self.timeout = -1
         self._default = 0
@@ -138,16 +139,21 @@ class ExtLinuxConfigFile(object):
 
     def parse(self, buf = None):
         if buf is None:
-            if self.filename is None:
+            if not self.filename and not self.file:
                 raise ValueError("No config file defined to parse!")
 
-            f = open(self.filename, 'r')
-            lines = f.readlines()
-            f.close()
-        else:
-            lines = buf.split("\n")
+            if self.file:
+                buf = file.read()
+                path = self.file.name
+            else:
+                f = open(self.filename, 'r')
+                buf = f.read()
+                f.close()
+        lines = buf.split("\n")
+
+        if not path:
+            path = os.path.dirname(self.filename)
 
-        path = os.path.dirname(self.filename)
         img = []
         for l in lines:
             l = l.strip()
diff --git a/tools/pygrub/src/GrubConf.py b/tools/pygrub/src/GrubConf.py
index 580c9628ca..96b79b89a7 100644
--- a/tools/pygrub/src/GrubConf.py
+++ b/tools/pygrub/src/GrubConf.py
@@ -170,6 +170,7 @@ class GrubImage(_GrubImage):
 class _GrubConfigFile(object):
     def __init__(self, fn = None):
         self.filename = fn
+        self.file = None
         self.images = []
         self.timeout = -1
         self._default = 0
@@ -271,14 +272,16 @@ class GrubConfigFile(_GrubConfigFile):
 
     def parse(self, buf = None):
         if buf is None:
-            if self.filename is None:
+            if not self.filename and not self.file:
                 raise ValueError("No config file defined to parse!")
 
-            f = open(self.filename, 'r')
-            lines = f.readlines()
-            f.close()
-        else:
-            lines = buf.split("\n")
+            if self.file:
+                buf = file.read()
+            else:
+                f = open(self.filename, 'r')
+                buf = f.read()
+                f.close()
+        lines = buf.split("\n")
 
         img = None
         title = ""
@@ -370,14 +373,16 @@ class Grub2ConfigFile(_GrubConfigFile):
 
     def parse(self, buf = None):
         if buf is None:
-            if self.filename is None:
+            if not self.filename and not self.file:
                 raise ValueError("No config file defined to parse!")
 
-            f = open(self.filename, 'r')
-            lines = f.readlines()
-            f.close()
-        else:
-            lines = buf.split("\n")
+            if self.file:
+                buf = file.read()
+            else:
+                f = open(self.filename, 'r')
+                buf = f.read()
+                f.close()
+        lines = buf.split("\n")
 
         in_function = False
         img = None
diff --git a/tools/pygrub/src/LiloConf.py b/tools/pygrub/src/LiloConf.py
index e3bfcb5244..73f8fcb214 100644
--- a/tools/pygrub/src/LiloConf.py
+++ b/tools/pygrub/src/LiloConf.py
@@ -90,6 +90,7 @@ class LiloImage(object):
 class LiloConfigFile(object):
     def __init__(self, fn = None):
         self.filename = fn
+        self.file = None
         self.images = []
         self.timeout = -1
         self._default = 0
@@ -99,16 +100,21 @@ class LiloConfigFile(object):
 
     def parse(self, buf = None):
         if buf is None:
-            if self.filename is None:
+            if not self.filename and not self.file:
                 raise ValueError("No config file defined to parse!")
 
-            f = open(self.filename, 'r')
-            lines = f.readlines()
-            f.close()
-        else:
-            lines = buf.split("\n")
+            if self.file:
+                buf = file.read()
+                path = self.file.name
+            else:
+                f = open(self.filename, 'r')
+                buf = f.read()
+                f.close()
+        lines = buf.split("\n")
+
+        if not path:
+            path = os.path.dirname(self.filename)
 
-        path = os.path.dirname(self.filename)
         img = []
         for l in lines:
             l = l.strip()
diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index b96bdfd849..123e9c40ad 100755
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -66,14 +66,6 @@ def unshare(flags):
     # Undo it so that every mount done in the NS stay confined within it.
     subprocess.check_output(["mount", "--make-rprivate", "/"])
 
-def bind_mount(src, dst, options):
-    open(dst, "a").close() # touch
-
-    rc = subprocess.call(["mount", "--bind", "-o", options, src, dst])
-    if rc != 0:
-        raise RuntimeError("bad_mount: src=%s dst=%s opts=%s" %
-                           (src, dst, options))
-
 def downgrade_rlimits():
     # Wipe the authority to use unrequired resources
     resource.setrlimit(resource.RLIMIT_NPROC,    (0, 0))
@@ -103,7 +95,7 @@ def downgrade_rlimits():
 
     resource.setrlimit(resource.RLIMIT_FSIZE, (fsize, fsize))
 
-def depriv(output_directory, output, device, uid, path_kernel, path_ramdisk):
+def depriv(output_directory, uid, path_kernel, path_ramdisk):
     # The only point of this call is to force the loading of libfsimage.
     # That way, we don't need to bind-mount it into the chroot
     rc = xenfsimage.init()
@@ -114,7 +106,7 @@ def depriv(output_directory, output, device, uid, path_kernel, path_ramdisk):
 
     # Create a temporary directory for the chroot
     chroot = tempfile.mkdtemp(prefix=str(uid)+'-', dir=output_directory) + '/'
-    device_path = '/device'
+    os.chmod(chroot, 0o700)
 
     pid = os.fork()
     if pid:
@@ -129,16 +121,7 @@ def depriv(output_directory, output, device, uid, path_kernel, path_ramdisk):
             if rc != 0 or os.path.getsize(path) == 0:
                 os.unlink(path)
 
-        # Unshare(CLONE_NEWNS) ensures this is not required, but that's not
-        # present on *BSD, so recursively unmount everything if needed.
-        # Quietly.
-        with open('/dev/null', 'w') as devnull:
-            subprocess.call(["umount", "-f", chroot + device_path],
-                            stdout=devnull, stderr=devnull)
-            subprocess.call(["umount", "-f", chroot],
-                            stdout=devnull, stderr=devnull)
         os.rmdir(chroot)
-
         sys.exit(rc)
 
     # By unsharing the namespace we're making sure it's all bulk-released
@@ -150,20 +133,6 @@ def depriv(output_directory, output, device, uid, path_kernel, path_ramdisk):
     # Set sensible limits using the setrlimit interface
     downgrade_rlimits()
 
-    # We'll mount tmpfs on the chroot to ensure the deprivileged child
-    # cannot affect the persistent state. It's RW now in order to
-    # bind-mount the device, but note it's remounted RO after that.
-    rc = subprocess.call(["mount", "-t", "tmpfs", "none", chroot])
-    if rc != 0:
-        raise RuntimeError("mount_tmpfs rc=%d dst=\"%s\"" % (rc, chroot))
-
-    # Bind the untrusted device RO
-    bind_mount(device, chroot + device_path, "ro,nosuid,noexec")
-
-    rc = subprocess.call(["mount", "-t", "tmpfs", "-o", "remount,ro,nosuid,noexec,nodev", "none", chroot])
-    if rc != 0:
-        raise RuntimeError("remount_tmpfs rc=%d dst=\"%s\"" % (rc, chroot))
-
     # Drop superpowers!
     os.chroot(chroot)
     os.chdir('/')
@@ -171,15 +140,7 @@ def depriv(output_directory, output, device, uid, path_kernel, path_ramdisk):
     os.setgroups([uid])
     os.setuid(uid)
 
-    return device_path
-
-def read_size_roundup(fd, size):
-    if platform.system() != 'FreeBSD':
-        return size
-    st = os.fstat(fd)
-    if (not stat.S_ISCHR(st.st_mode)):
-        return size
-    # Round up to sector size if it's a raw character device
+def round_up_to_sectorsize(size):
     return (((size)+((SECTOR_SIZE)-1))&(~((SECTOR_SIZE)-1)))
 
 def enable_cursor(ison):
@@ -196,9 +157,8 @@ def enable_cursor(ison):
 DISK_TYPE_RAW, DISK_TYPE_HYBRIDISO, DISK_TYPE_DOS = range(3)
 def identify_disk_image(file):
     """Detect DOS partition table or HybridISO format."""
-    fd = os.open(file, os.O_RDONLY)
-    buf = os.read(fd, read_size_roundup(fd, 0x8006))
-    os.close(fd)
+    file.seek(0, 0)
+    buf = file.read(0x8200)
 
     if len(buf) >= 512 and \
            struct.unpack("H", buf[0x1fe: 0x200]) == (0xaa55,):
@@ -215,10 +175,8 @@ V_ROOT=0x2
 def get_solaris_slice(file, offset):
     """Find the root slice in a Solaris VTOC."""
 
-    fd = os.open(file, os.O_RDONLY)
-    os.lseek(fd, offset + (DK_LABEL_LOC * SECTOR_SIZE), 0)
-    buf = os.read(fd, 512)
-    os.close(fd)
+    file.seek(offset + (DK_LABEL_LOC * SECTOR_SIZE), 0)
+    buf = file.read(512)
     if struct.unpack("<H", buf[508:510])[0] != DKL_MAGIC:
         raise RuntimeError("Invalid disklabel magic")
 
@@ -234,9 +192,8 @@ def get_solaris_slice(file, offset):
     raise RuntimeError("No root slice found")
 
 def get_fs_offset_gpt(file):
-    fd = os.open(file, os.O_RDONLY)
-    os.lseek(fd, SECTOR_SIZE, 0)
-    buf = os.read(fd, 512)
+    file.seek(512, 0)
+    buf = file.read(512)
     partcount = struct.unpack("<L", buf[80:84])[0]
     partsize = struct.unpack("<L", buf[84:88])[0]
     i = partcount
@@ -267,9 +224,8 @@ def get_partition_offsets(file):
     else:
         raise ValueError('Unhandled image type returnd by identify_disk_image(): %d' % (image_type,))
 
-    fd = os.open(file, os.O_RDONLY)
-    buf = os.read(fd, 512)
-    os.close(fd)
+    file.seek(0, 0)
+    buf = file.read(512)
     for poff in (446, 462, 478, 494): # partition offsets
 
         # MBR contains a 16 byte descriptor per partition
@@ -565,9 +521,6 @@ class Grub:
         """Read the given file to parse the config.  If fs = None, then
         we're being given a raw config file rather than a disk image."""
 
-        if not os.access(fn, os.R_OK):
-            raise RuntimeError("Unable to access %s" %(fn,))
-
         cfg_list = [(x,grub.GrubConf.Grub2ConfigFile) for x in ["/boot/grub/grub.cfg", "/grub/grub.cfg",
                         "/boot/grub2/grub.cfg", "/grub2/grub.cfg"]] + \
                    [(x,grub.ExtLinuxConf.ExtLinuxConfigFile) for x in ["/boot/isolinux/isolinux.cfg",
@@ -582,7 +535,8 @@ class Grub:
             # set the config file and parse it
             for f,parser in cfg_list:
                 self.cf = parser()
-                self.cf.filename = fn
+                self.cf.filename = None
+                self.cf.fd = file
                 self.cf.parse()
                 return
 
@@ -591,6 +545,7 @@ class Grub:
                 print("Using %s to parse %s" % (parser,f), file=sys.stderr)
                 self.cf = parser()
                 self.cf.filename = f
+                self.cf.fd = None
                 break
         if self.__dict__.get('cf', None) is None:
             raise RuntimeError("couldn't find bootloader config file in the image provided.")
@@ -880,7 +835,7 @@ if __name__ == "__main__":
     def usage():
         print("Usage: %s [-q|--quiet] [-i|--interactive] [-l|--list-entries] [-n|--not-really] [--output=] [--kernel=] [--ramdisk=] [--args=] [--entry=] [--output-directory=] [--output-format=sxp|simple|simple0] [--runas=] [--offset=] <image>" %(sys.argv[0],), file=sys.stderr)
 
-    def copy_from_image(fs, file_to_read, file_type, fd_dst, path_dst, not_really):
+    def copy_from_image(fs, file_to_read, file_type, fd_dst, not_really):
         if not_really:
             if fs.file_exists(file_to_read):
                 return "<%s:%s>" % (file_type, file_to_read)
@@ -898,14 +853,7 @@ if __name__ == "__main__":
                 os.close(fd_dst)
                 del datafile
                 return
-            try:
-                os.write(fd_dst, data)
-            except Exception as e:
-                print(e, file=sys.stderr)
-                if path_dst:
-                    os.unlink(path_dst)
-                del datafile
-                sys.exit("Error writing temporary copy of "+file_type)
+            os.write(fd_dst, data)
             dataoff += len(data)
 
     try:
@@ -1020,13 +968,15 @@ if __name__ == "__main__":
         (fd_ramdisk, path_ramdisk) = tempfile.mkstemp(prefix="boot_ramdisk.",
                                                       dir=output_directory)
 
+    file = open(file, 'rb')
+
     if output is None:
         fd = sys.stdout.fileno()
     else:
         fd = os.open(output, os.O_WRONLY)
 
     if uid:
-        file = depriv(output_directory, output, file, uid, path_kernel, path_ramdisk)
+        depriv(output_directory, uid, path_kernel, path_ramdisk)
 
     # debug
     if isconfig:
@@ -1049,9 +999,10 @@ if __name__ == "__main__":
     if part_offs is None:
         part_offs = get_partition_offsets(file)
 
+    file.seek(0, 0)
     for offset in part_offs:
         try:
-            fs = xenfsimage.open(file, offset, bootfsoptions)
+            fs = xenfsimage.fdopen(os.dup(file.fileno()), offset, bootfsoptions)
 
             chosencfg = sniff_solaris(fs, incfg)
 
@@ -1083,13 +1034,13 @@ if __name__ == "__main__":
         raise RuntimeError("Unable to find partition containing kernel")
 
     copy_from_image(fs, chosencfg["kernel"], "kernel",
-                    fd_kernel, None if uid else path_kernel, not_really)
+                    fd_kernel, not_really)
     bootcfg["kernel"] = path_kernel
 
     if chosencfg["ramdisk"]:
         try:
             copy_from_image(fs, chosencfg["ramdisk"], "ramdisk",
-                            fd_ramdisk, None if uid else path_ramdisk, not_really)
+                            fd_ramdisk, not_really)
         except:
             if not uid and not not_really:
                     os.unlink(path_kernel)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:05:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628132.979244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01AE-00089a-3O; Mon, 06 Nov 2023 15:05:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628132.979244; Mon, 06 Nov 2023 15: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 1r01AE-00089S-0r; Mon, 06 Nov 2023 15:05:18 +0000
Received: by outflank-mailman (input) for mailman id 628132;
 Mon, 06 Nov 2023 15:05: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r01AC-000892-Bq
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:05:16 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e36e36cb-7cb5-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 16:05:14 +0100 (CET)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2c6b30acacdso61666331fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:05:14 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 q8-20020a05600c46c800b0040776008abdsm12507392wmo.40.2023.11.06.07.05.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 07:05:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e36e36cb-7cb5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699283113; x=1699887913; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=kZ5iPIHVMmyDKXCEcRpB1PLVr212+b0o2RYlwTZzSbw=;
        b=csuCPZXd8b4Xwft6rsJxnLhaNQewbwuGCBeMBGfCJ9mxnm551isON1hmF+/s/646Wd
         oVt6gBsxWVkDySX7YBT++h6qw6nVaiq2cKTAxuA5Rnm5TJX28FtfobX+uUxHlk18K7Hj
         ao4lWz1RF39KAMx7sTA0b3JM2ovOfJYpxkrLg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699283113; x=1699887913;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=kZ5iPIHVMmyDKXCEcRpB1PLVr212+b0o2RYlwTZzSbw=;
        b=njDFPHig4Mdu2ZfahCW3n1fSOSxD/iv1QeQwaZMH3FR6ZY1LX1EgdXQO2+w9lx8g5O
         +X4LbriwlCIlOFaQqpTeTwU7GVOQVF0BXHhqy51AKlpkjn3zlULjoXBmqZjExDCbTZjd
         FXGZNwy9j+rDUSsI/bcl+kquDeL3U6DDc3SXDwt7gfIsZ3l0RfDUZexhu/vMbUi1M3su
         z0YDle1yNtbChRnVJKF9ilLiSMn5keTzoZDzpPZufzmV+XZC3X7a6pLa+RUxCP5p4yE7
         V3VcHa0UF+L8xyFxIPMEuEVVPLpEkmDQ7aDmBZtB+R7uhGKrVVQemr1vWDO2ur6A2GXt
         MVgQ==
X-Gm-Message-State: AOJu0YzSmNhPdHnCSjb4g3wXwVv3vrohu0YRi323i0gFn/9vf91VwWo7
	8hYmDocHUmQ0J6jvMdLLt+IOUp9BX2+iQQbVanU=
X-Google-Smtp-Source: AGHT+IGyi2S6KzVl8/CIZkXikN4EfOvMJITc61jW9uBr9shg1jkD0ewUerNvzJkP1A1yAoxpi6SJcQ==
X-Received: by 2002:a05:651c:39a:b0:2c5:ee7:b322 with SMTP id e26-20020a05651c039a00b002c50ee7b322mr22221290ljp.18.1699283112985;
        Mon, 06 Nov 2023 07:05:12 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 0/6] Pygrub security enhancements and bugfixes
Date: Mon,  6 Nov 2023 15:05:02 +0000
Message-Id: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

A few extra bugfixes and security enhancements for pygrub.

The biggest security enhacement is the removal of filesystem permissions
from the depriv thread of pygrub. This is possible on newer versions of
e2fsprogs, as it has an interface to consume file descriptors rather than
file paths.

Bug fixes
=========

Patch 1: Properly confines the mount namespace in Linux systems and
         corrects an incorrect statement about older Linux kernels being
         buggy with them. With this patch, mounts done inside the namespace
         disappear altogether after the last process is killed.
Patch 2: Fixes a bug preventing setting the LIMIT_FSIZE override

Security enhancements
=====================

Patch 3: Limits the amount of memory pygrub can chew
Patch 4: Tweaks libfsimage to support a new interface ( fdopen() ) which
         allows passing file descriptors rather than paths
Patch 5: Modifies the python bindings to grant access to the new interface
Patch 6: Modifies pygrub to open every required file before depriv.

Alejandro Vallejo (6):
  tools/pygrub: Set mount propagation to private recursively
  tools/pygrub: Fix bug in LIMIT_FSIZE env variable override
  tools/pygrub: Restrict depriv operation with RLIMIT_AS
  tools/libfsimage: Add an fdopen() interface to libfsimage
  tools/pygrub: Expose libfsimage's fdopen() to python
  tools/pygrub: Hook libfsimage's fdopen() to pygrub

 docs/man/xl.cfg.5.pod.in                    |   6 +-
 tools/libfsimage/common/fsimage.c           |  42 ++++++--
 tools/libfsimage/common/fsimage_grub.c      |   2 +-
 tools/libfsimage/common/fsimage_plugin.c    |   4 +-
 tools/libfsimage/common/fsimage_priv.h      |   3 +-
 tools/libfsimage/common/mapfile-GNU         |   2 +
 tools/libfsimage/common/mapfile-SunOS       |   2 +
 tools/libfsimage/common/xenfsimage.h        |   3 +
 tools/libfsimage/common/xenfsimage_plugin.h |   2 +-
 tools/libfsimage/ext2fs-lib/ext2fs-lib.c    |  14 ++-
 tools/pygrub/src/ExtLinuxConf.py            |  20 ++--
 tools/pygrub/src/GrubConf.py                |  29 ++---
 tools/pygrub/src/LiloConf.py                |  20 ++--
 tools/pygrub/src/fsimage/fsimage.c          |  33 ++++++
 tools/pygrub/src/pygrub                     | 113 +++++++-------------
 15 files changed, 173 insertions(+), 122 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:05:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628135.979263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01AF-0008Q7-26; Mon, 06 Nov 2023 15:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628135.979263; Mon, 06 Nov 2023 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 1r01AE-0008OE-R7; Mon, 06 Nov 2023 15:05:18 +0000
Received: by outflank-mailman (input) for mailman id 628135;
 Mon, 06 Nov 2023 15:05: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r01AD-000893-As
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:05:17 +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 e4d616d2-7cb5-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 16:05:16 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4083f613275so34133525e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:05:16 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 q8-20020a05600c46c800b0040776008abdsm12507392wmo.40.2023.11.06.07.05.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 07:05:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4d616d2-7cb5-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699283115; x=1699887915; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HRK5wV0p3XK/zB6bzaQicMvY21LdOakLo9+vF3VIjHw=;
        b=UWV17fW+ctiXRL6URYf0akj+iraMAytVnugFX7wFd7UQUWGXcRFxY+XDhehGBFXy0t
         QvwS9j0ia/KUoD94zq72Nae3vhme4ZYQgUihBLFUi9utlyD57lPNF5Nnwl1yEGm62z/V
         bI1o5HL7/IW9z/81dcqJ5pJZftZJDoNvE5zRk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699283115; x=1699887915;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=HRK5wV0p3XK/zB6bzaQicMvY21LdOakLo9+vF3VIjHw=;
        b=kX/RqYcmbrPGQn2RUPJeFBTaZcBY9qZaK4LwAd3shAH83vcsnuAWmo9ZdJlR6H1uLx
         w86pOHdSRAqy8JqspGOwm52iRZzcQUEGH1TQ91MUR74T6bdGTpOWpP4K7y8h2Kyr1uiQ
         vhQ19K7f5ItDSs1ipPTeE4lmY8w9bLDCQCLS0d3oRBObXPNus3VRZo/415t6ALSTC1Sv
         l7I3Nd66AjcB1huvaMn9pruuSCeVBh8vRWKUf1fAtnCrvVPZWHqKx5/xBxt/qFv9VYyY
         f06WUi3L3tMFz1zgfclSxLwbvPd1k+rmHFZFdLlRzkrqmUkhxK2Z2AWLwZ98pkGDQOoY
         eQ0A==
X-Gm-Message-State: AOJu0YzPyfbhtpwX8pFM9XcQyXaTl7XiUYfjQ1wEmCChz7tL0gqt0PcQ
	cp37behFPjJPgPm14tCldvq1OXWWleRQQbqbreQ=
X-Google-Smtp-Source: AGHT+IG18h4uGdSyUknwafJjm6DBdq+5DvkA9UzKtHFfxAq/HwAKalRu7cbbWqCtuHf/w/f+LVM1nw==
X-Received: by 2002:a05:600c:4fd1:b0:408:80bb:ae80 with SMTP id o17-20020a05600c4fd100b0040880bbae80mr25137238wmq.7.1699283115679;
        Mon, 06 Nov 2023 07:05:15 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 5/6] tools/pygrub: Expose libfsimage's fdopen() to python
Date: Mon,  6 Nov 2023 15:05:07 +0000
Message-Id: <20231106150508.22665-6-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Create a wrapper for the new fdopen() function of libfsimage.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/pygrub/src/fsimage/fsimage.c | 33 ++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/tools/pygrub/src/fsimage/fsimage.c b/tools/pygrub/src/fsimage/fsimage.c
index 12dfcff6e3..216f265331 100644
--- a/tools/pygrub/src/fsimage/fsimage.c
+++ b/tools/pygrub/src/fsimage/fsimage.c
@@ -270,6 +270,30 @@ fsimage_open(PyObject *o, PyObject *args, PyObject *kwargs)
 	return (PyObject *)fs;
 }
 
+static PyObject *
+fsimage_fdopen(PyObject *o, PyObject *args, PyObject *kwargs)
+{
+	static char *kwlist[] = { "fd", "offset", "options", NULL };
+	int fd;
+	char *options = NULL;
+	uint64_t offset = 0;
+	fsimage_fs_t *fs;
+
+	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i|Ls", kwlist,
+	    &fd, &offset, &options))
+		return (NULL);
+
+	if ((fs = PyObject_NEW(fsimage_fs_t, &fsimage_fs_type)) == NULL)
+		return (NULL);
+
+	if ((fs->fs = fsi_fdopen_fsimage(fd, offset, options)) == NULL) {
+		PyErr_SetFromErrno(PyExc_IOError);
+		return (NULL);
+	}
+
+	return (PyObject *)fs;
+}
+
 static PyObject *
 fsimage_getbootstring(PyObject *o, PyObject *args)
 {
@@ -302,6 +326,13 @@ PyDoc_STRVAR(fsimage_open__doc__,
     "offset - offset of file system within file image.\n"
     "options - mount options string.\n");
 
+PyDoc_STRVAR(fsimage_fdopen__doc__,
+    "fdopen(fd, [offset=off]) - Use the file provided by the given fd as a filesystem image.\n"
+    "\n"
+    "fd - File descriptor to use.\n"
+    "offset - offset of file system within file image.\n"
+    "options - mount options string.\n");
+
 PyDoc_STRVAR(fsimage_getbootstring__doc__,
     "getbootstring(fs) - Return the boot string needed for this file system "
     "or NULL if none is needed.\n");
@@ -315,6 +346,8 @@ static struct PyMethodDef fsimage_module_methods[] = {
 	    METH_VARARGS, fsimage_init__doc__ },
 	{ "open", (PyCFunction)fsimage_open,
 	    METH_VARARGS|METH_KEYWORDS, fsimage_open__doc__ },
+	{ "fdopen", (PyCFunction)fsimage_fdopen,
+	    METH_VARARGS|METH_KEYWORDS, fsimage_fdopen__doc__ },
 	{ "getbootstring", (PyCFunction)fsimage_getbootstring,
 	    METH_VARARGS, fsimage_getbootstring__doc__ },
 	{ NULL, NULL, 0, NULL }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:05:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628133.979250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01AE-0008BY-DP; Mon, 06 Nov 2023 15:05:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628133.979250; Mon, 06 Nov 2023 15: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 1r01AE-0008BE-9A; Mon, 06 Nov 2023 15:05:18 +0000
Received: by outflank-mailman (input) for mailman id 628133;
 Mon, 06 Nov 2023 15:05: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r01AD-000892-0u
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:05:17 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e39219c9-7cb5-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 16:05:14 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-40891d38e3fso32313555e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:05:14 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 q8-20020a05600c46c800b0040776008abdsm12507392wmo.40.2023.11.06.07.05.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 07:05:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e39219c9-7cb5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699283114; x=1699887914; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DxkVS4hBSJv6X7HlZm/O6maHe61jzX44hOr03J+Zv60=;
        b=Hp5fJYZqVFhKh1upbu/mARsyNOFDsVIsXDG4i2cllh2xoZyr9D0wuJ4DgqXbZqU+KQ
         vLvmqOO++8DubvoEQq+Ay7GnyDYefyTDd/7/E0LwTMAmHBwMTK9xOVKhQ36dhUHVG7A0
         3pW3eq6qloksvX7Ge3xXRBOwD/t92SXdKvhrw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699283114; x=1699887914;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DxkVS4hBSJv6X7HlZm/O6maHe61jzX44hOr03J+Zv60=;
        b=vqDp8FzflJrY0LzqRMdifTRY9Wo0dqM9lK1gu+sNKPJ/eQR1FXYcKWaFh6xf5EMkbR
         TiZ1zjuMMT+64XC43DBYBlCpDPKGaqq97upuS834Rm/pTuGsRmqgrqbPXxsnLZzNaaU2
         U7xj2O1EGQh4wVKzxH/DW5g5Su5MDCg9SdmxJFz3vdn7UgqIcSGzNP5sb3qpzAEYpa6P
         BrRX2NtCjkNoiHYl4nxOIckcGX3NE1Oiw8n4wjpUXr3IKehlUDHVZ15Arq9rx6HuAt0q
         WTduexXb/OjdN0avakyTC6QrD9wWM3MjZcLMhdbDMONhcXr4pLRldFw7Z2QNDD31EY4A
         8l0g==
X-Gm-Message-State: AOJu0YwqzbrBRDtNk3Wx6niMaAis0XlCVE/JVrDLxaWeCFuz1wZuRA7q
	whrsgKjCNEmIjNPP297u4W51L59cak9ENoZ4k3I=
X-Google-Smtp-Source: AGHT+IHK5/VVMvkWkg0o/sGZuDH2oGFdVWlv421KRFLy61nmtP55QYZaQVd3uX7wVa/c5bsIloEYnA==
X-Received: by 2002:a05:600c:470e:b0:408:4f50:9602 with SMTP id v14-20020a05600c470e00b004084f509602mr25649437wmo.12.1699283113467;
        Mon, 06 Nov 2023 07:05:13 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/6] tools/pygrub: Set mount propagation to private recursively
Date: Mon,  6 Nov 2023 15:05:03 +0000
Message-Id: <20231106150508.22665-2-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is important in order for every mount done inside a mount namespace to
go away after the namespace itself goes away. The comment referring to
unreliability in Linux 4.19 was just wrong.

This patch sets the story straight and makes the depriv pygrub a bit more
confined should a layer of the onion be vulnerable.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/pygrub/src/pygrub | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index 541e562327..08540ad288 100755
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -55,6 +55,12 @@ def unshare(flags):
     if unshare(flags) < 0:
         raise OSError(ctypes.get_errno(), os.strerror(ctypes.get_errno()))
 
+    # It's very typical for systemd to mount / with MS_SHARED. That means
+    # any events in the new namespace get propagated back to the parent.
+    #
+    # Undo it so that every mount done in the NS stay confined within it.
+    subprocess.check_output(["mount", "--make-rprivate", "/"])
+
 def bind_mount(src, dst, options):
     open(dst, "a").close() # touch
 
@@ -113,11 +119,9 @@ def depriv(output_directory, output, device, uid, path_kernel, path_ramdisk):
             if rc != 0 or os.path.getsize(path) == 0:
                 os.unlink(path)
 
-        # Normally, unshare(CLONE_NEWNS) will ensure this is not required.
-        # However, this syscall doesn't exist in *BSD systems and doesn't
-        # auto-unmount everything on older Linux kernels (At least as of
-        # Linux 4.19, but it seems fixed in 5.15). Either way,
-        # recursively unmount everything if needed. Quietly.
+        # Unshare(CLONE_NEWNS) ensures this is not required, but that's not
+        # present on *BSD, so recursively unmount everything if needed.
+        # Quietly.
         with open('/dev/null', 'w') as devnull:
             subprocess.call(["umount", "-f", chroot + device_path],
                             stdout=devnull, stderr=devnull)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:05:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628134.979258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01AE-0008Ja-OO; Mon, 06 Nov 2023 15:05:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628134.979258; Mon, 06 Nov 2023 15: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 1r01AE-0008JB-Hx; Mon, 06 Nov 2023 15:05:18 +0000
Received: by outflank-mailman (input) for mailman id 628134;
 Mon, 06 Nov 2023 15:05: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r01AD-000893-1F
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:05:17 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e43a4f46-7cb5-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 16:05:15 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-40850b244beso35235505e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:05:15 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 q8-20020a05600c46c800b0040776008abdsm12507392wmo.40.2023.11.06.07.05.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 07:05:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e43a4f46-7cb5-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699283115; x=1699887915; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/bWTMrd0hqyfKgRpoolH0LkMWSKATEK93JdgDRPa6nY=;
        b=KcOLb2EuKe8AfUg1uUOfXEXDUF8n22rFQ+2cQ94EDWlxhFh0+f9wxykLIsLbwV6hxz
         BNH323jCnxULB+I0BkZqI1lHQu7OFW74cDCsD0jKJ9QuIboORVPYhEWTtmV9KMz0Cqiu
         woD/pV/4aAcdZHcR6ML3o+sp+INsAPu0D/TYI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699283115; x=1699887915;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/bWTMrd0hqyfKgRpoolH0LkMWSKATEK93JdgDRPa6nY=;
        b=CRmR9WFxyvjofpzIsRVxdjEEaZpky/PvqSMRCoowhMSOPA5tJXbUGGqEOl6GnDm3eD
         nmcpPazYe+oOAPf3k39DmgpZ4w5cuDSCYQ4gZVA63+AP4dSL0ESeu6o1MZ6/uHQUo70o
         XPc8nSElA1ttPcpiQwYnD2OEsqqAojhGRi7bRStkM8T5NM8ETw1jHbJhSql7CT2QfwPW
         JL/fqKM2Se3c4b9UpaOa5cCKCdNfEEp5wP8REg8xj8ZdNzp5sQet8pRWBPwp8KUffnNf
         hVngp5IU2uLcQIF8Mkvn6llyaN7NLH8xiQqQ/xmgmE5ch6uTj4G7q+UgY1x54cVtH64w
         TDRw==
X-Gm-Message-State: AOJu0YxP6WJkvSD+Yw5At7iBeVy1BEvH+DF+UTZmGAOUsjdToYAEUJ5o
	JEOKhHBhMzRDk8WcxrhqVLlgiH4mkL6QxMyyZQw=
X-Google-Smtp-Source: AGHT+IE65AVWleH4U/Zc+SQDhA16L/LXkoWcrwzeBuSOUVeWDJlO6PAtQaDAVcEGIYTbLkXxOoJSpg==
X-Received: by 2002:a05:600c:1988:b0:409:19a0:d26f with SMTP id t8-20020a05600c198800b0040919a0d26fmr24529964wmq.23.1699283114818;
        Mon, 06 Nov 2023 07:05:14 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 3/6] tools/pygrub: Restrict depriv operation with RLIMIT_AS
Date: Mon,  6 Nov 2023 15:05:05 +0000
Message-Id: <20231106150508.22665-4-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Prevents the depriv pygrub from consuming more than a fixed amount of
memory.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/pygrub/src/pygrub | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index 327cf51774..b96bdfd849 100755
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -39,6 +39,11 @@ SECTOR_SIZE = 512
 # pygrub
 LIMIT_FSIZE = 128 << 20
 
+# Unless provided through the env variable PYGRUB_MAX_RAM_USAGE_MB, then
+# this is the maximum amount of memory allowed to be used by the depriv
+# pygrub.
+LIMIT_AS = 2 * LIMIT_FSIZE
+
 CLONE_NEWNS = 0x00020000 # mount namespace
 CLONE_NEWNET = 0x40000000 # network namespace
 CLONE_NEWIPC = 0x08000000 # IPC namespace
@@ -75,6 +80,11 @@ def downgrade_rlimits():
     resource.setrlimit(resource.RLIMIT_CORE,     (0, 0))
     resource.setrlimit(resource.RLIMIT_MEMLOCK,  (0, 0))
 
+    max_ram_usage = LIMIT_AS
+    if "PYGRUB_MAX_RAM_USAGE_MB" in os.environ.keys():
+        max_ram_usage = int(os.environ["PYGRUB_MAX_RAM_USAGE_MB"]) << 20
+    resource.setrlimit(resource.RLIMIT_AS,  (max_ram_usage, max_ram_usage))
+
     # py2's resource module doesn't know about resource.RLIMIT_MSGQUEUE
     #
     # TODO: Use resource.RLIMIT_MSGQUEUE after python2 is deprecated
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:05:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628136.979269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01AF-00007x-CI; Mon, 06 Nov 2023 15:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628136.979269; Mon, 06 Nov 2023 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 1r01AF-00005z-5n; Mon, 06 Nov 2023 15:05:19 +0000
Received: by outflank-mailman (input) for mailman id 628136;
 Mon, 06 Nov 2023 15:05: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r01AE-000892-14
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:05:18 +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 e467330d-7cb5-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 16:05:16 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4083740f92dso33829815e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:05:16 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 q8-20020a05600c46c800b0040776008abdsm12507392wmo.40.2023.11.06.07.05.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 07:05:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e467330d-7cb5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699283115; x=1699887915; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kUl/YemLBar/By9ea/qJ8DP9EY4pMDlEHPma04eJp64=;
        b=aa7gL0Zr/oz7ZM11Nv1NtlDtXfHKFTd5MpV9hOheAkn3oF/nvcNmDTJKK+x+n2dqJy
         Esh2/jKMjAbD97HUwEn4SlfYwpIyXvBnkoXA55oqyzZ7DXnchD4OzB4xC4d5odj3piYP
         6dZ2M8GlUWtWciCCjZfGIvwYU3d19yZ6gvuUE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699283115; x=1699887915;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kUl/YemLBar/By9ea/qJ8DP9EY4pMDlEHPma04eJp64=;
        b=EV++YPxEulF/hc1ZvL3kuwI2/RF+2tY4egjptXdCDjRsrSCz0bxAewEbnPl92Z2hoJ
         ajNqzGwIrUPfvhCsgAWkp2PPydkJRFYcAF3jwq5uQAnCpWq4HLEmkR7xrjp+y/U3TZbt
         Ga2a07NCOhvdSpDNBAuY+MkXbS5ro3xtXstTX8+EGfXlwNKx5rZcEsvYwpQk86qRMzH9
         fLjSpHA2XjWrhZjAt4m51D516QN3CXYpAxvc5ph+owRa2lpx7pZ66xZg5ja7ibcJepsS
         bz+HIvGig15UVfQrNRhJF52ycnLgD6mM03crCrPddUr49eOufee9hUBU2rgop5veGif2
         hbyw==
X-Gm-Message-State: AOJu0YwNu/55egELo6bH6HfUoRxmf+iguSc+cTalR+MwOTPUsltJRn2e
	ywdImMYQlb+cfEQUXALW24dPdAsoHf3vseZMBiA=
X-Google-Smtp-Source: AGHT+IFiYrJniTDE0DlNzldrdMGBp1AMlFw3FlzGj3VRdyqCtM3fEF3dtfiPOzWteyxQ0kvPGlFgyA==
X-Received: by 2002:a05:600c:358a:b0:408:59d4:f3d8 with SMTP id p10-20020a05600c358a00b0040859d4f3d8mr24447779wmq.18.1699283115286;
        Mon, 06 Nov 2023 07:05:15 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 4/6] tools/libfsimage: Add an fdopen() interface to libfsimage
Date: Mon,  6 Nov 2023 15:05:06 +0000
Message-Id: <20231106150508.22665-5-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently libfsimage requires taking a path so it can open a file itself.
This needs not to be the case and is, as far as I've gathered, a side
effect of the ext2fs-lib's optional dependency because it couldn't cope
directly with FDs until e2fsprogs-1.43.2. That was 2016, so it's safe to
make use of this feature in order to improve the security stance of pygrub.

  https://github.com/tytso/e2fsprogs/commit/4ccf9e4fe165cfa966c8af0f3d310230aa5c3a1e

This patch modifies the internals of libfsimage to:
  * Expose a new fdopen() function
    * Mirrors open(), except we pass an fd rather than a path
  * Refactor open() to use fdopen() internally
  * Rewire libfsimage so paths are not passed around
  * Rewire ext2fs-lib shim to use unixfd_io_manager

Note that while fdopen() takes an FD, close() will still close it. Clients
of libfsimage must ensure they duplicate any file descriptor they want to
preserve past the lifetime of the fsi_t* objects that use them.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/libfsimage/common/fsimage.c           | 42 +++++++++++++++------
 tools/libfsimage/common/fsimage_grub.c      |  2 +-
 tools/libfsimage/common/fsimage_plugin.c    |  4 +-
 tools/libfsimage/common/fsimage_priv.h      |  3 +-
 tools/libfsimage/common/mapfile-GNU         |  2 +
 tools/libfsimage/common/mapfile-SunOS       |  2 +
 tools/libfsimage/common/xenfsimage.h        |  3 ++
 tools/libfsimage/common/xenfsimage_plugin.h |  2 +-
 tools/libfsimage/ext2fs-lib/ext2fs-lib.c    | 14 ++++++-
 9 files changed, 56 insertions(+), 18 deletions(-)

diff --git a/tools/libfsimage/common/fsimage.c b/tools/libfsimage/common/fsimage.c
index 5cfa56a84d..1fd302e506 100644
--- a/tools/libfsimage/common/fsimage.c
+++ b/tools/libfsimage/common/fsimage.c
@@ -38,15 +38,32 @@ static pthread_mutex_t fsi_lock = PTHREAD_MUTEX_INITIALIZER;
 
 fsi_t *fsi_open_fsimage(const char *path, uint64_t off, const char *options)
 {
-	fsi_t *fsi = NULL;
+	fsi_t *fsi;
 	int fd;
 	int err;
 
 	if ((fd = open(path, O_RDONLY)) == -1)
-		goto fail;
+		return NULL;
+
+	fsi = fsi_fdopen_fsimage(fd, off, options);
+
+	if (fsi)
+		return fsi;
+
+	err = errno;
+	(void) close(fd);
+	errno = err;
+
+	return NULL;
+}
+
+fsi_t *fsi_fdopen_fsimage(int fd, uint64_t off, const char *options)
+{
+	fsi_t *fsi = NULL;
+	int err;
 
 	if ((fsi = malloc(sizeof(*fsi))) == NULL)
-		goto fail;
+		return NULL;
 
 	fsi->f_fd = fd;
 	fsi->f_off = off;
@@ -54,20 +71,17 @@ fsi_t *fsi_open_fsimage(const char *path, uint64_t off, const char *options)
 	fsi->f_bootstring = NULL;
 
 	pthread_mutex_lock(&fsi_lock);
-	err = find_plugin(fsi, path, options);
+	err = find_plugin(fsi, options);
 	pthread_mutex_unlock(&fsi_lock);
-	if (err != 0)
-		goto fail;
 
-	return (fsi);
+	if (!err)
+		return fsi;
 
-fail:
 	err = errno;
-	if (fd != -1)
-		(void) close(fd);
 	free(fsi);
 	errno = err;
-	return (NULL);
+
+	return NULL;
 }
 
 void fsi_close_fsimage(fsi_t *fsi)
@@ -167,3 +181,9 @@ fsi_fs_bootstring(fsi_t *fsi)
 {
 	return (fsi->f_bootstring);
 }
+
+int
+fsi_fd(fsi_t *fsi)
+{
+	return (fsi->f_fd);
+}
diff --git a/tools/libfsimage/common/fsimage_grub.c b/tools/libfsimage/common/fsimage_grub.c
index 258d48bfbb..04397235f7 100644
--- a/tools/libfsimage/common/fsimage_grub.c
+++ b/tools/libfsimage/common/fsimage_grub.c
@@ -221,7 +221,7 @@ fsig_substring(const char *s1, const char *s2)
 }
 
 static int
-fsig_mount(fsi_t *fsi, const char *path, const char *options)
+fsig_mount(fsi_t *fsi, const char *options)
 {
 	fsig_plugin_ops_t *ops = fsi->f_plugin->fp_data;
 	fsi_file_t *ffi;
diff --git a/tools/libfsimage/common/fsimage_plugin.c b/tools/libfsimage/common/fsimage_plugin.c
index d0cb9e96a6..6645ce3bfe 100644
--- a/tools/libfsimage/common/fsimage_plugin.c
+++ b/tools/libfsimage/common/fsimage_plugin.c
@@ -175,7 +175,7 @@ fail:
 	return (ret);
 }
 
-int find_plugin(fsi_t *fsi, const char *path, const char *options)
+int find_plugin(fsi_t *fsi, const char *options)
 {
 	fsi_plugin_t *fp;
 	int ret = 0;
@@ -185,7 +185,7 @@ int find_plugin(fsi_t *fsi, const char *path, const char *options)
 
 	for (fp = plugins; fp != NULL; fp = fp->fp_next) {
 		fsi->f_plugin = fp;
-		if (fp->fp_ops->fpo_mount(fsi, path, options) == 0)
+		if (fp->fp_ops->fpo_mount(fsi, options) == 0)
 			goto out;
 	}
 
diff --git a/tools/libfsimage/common/fsimage_priv.h b/tools/libfsimage/common/fsimage_priv.h
index 2274403557..779e433b37 100644
--- a/tools/libfsimage/common/fsimage_priv.h
+++ b/tools/libfsimage/common/fsimage_priv.h
@@ -29,6 +29,7 @@ extern C {
 #endif
 
 #include <sys/types.h>
+#include <stdbool.h>
 
 #include "xenfsimage.h"
 #include "xenfsimage_plugin.h"
@@ -54,7 +55,7 @@ struct fsi_file {
 	void *ff_data;
 };
 
-int find_plugin(fsi_t *, const char *, const char *);
+int find_plugin(fsi_t *, const char *);
 
 #ifdef __cplusplus
 };
diff --git a/tools/libfsimage/common/mapfile-GNU b/tools/libfsimage/common/mapfile-GNU
index 2d54d527d7..658f313315 100644
--- a/tools/libfsimage/common/mapfile-GNU
+++ b/tools/libfsimage/common/mapfile-GNU
@@ -3,6 +3,7 @@ VERSION {
 		global:
 			fsi_init;
 			fsi_open_fsimage;
+			fsi_fdopen_fsimage;
 			fsi_close_fsimage;
 			fsi_file_exists;
 			fsi_open_file;
@@ -12,6 +13,7 @@ VERSION {
 			fsi_bootstring_alloc;
 			fsi_bootstring_free;
 			fsi_fs_bootstring;
+			fsi_fd;
 	
 			fsip_fs_set_data;
 			fsip_file_alloc;
diff --git a/tools/libfsimage/common/mapfile-SunOS b/tools/libfsimage/common/mapfile-SunOS
index 48deedb425..a03646ff73 100644
--- a/tools/libfsimage/common/mapfile-SunOS
+++ b/tools/libfsimage/common/mapfile-SunOS
@@ -2,6 +2,7 @@ libfsimage.so.1.0 {
 	global:
 		fsi_init;
 		fsi_open_fsimage;
+		fsi_fdopen_fsimage;
 		fsi_close_fsimage;
 		fsi_file_exists;
 		fsi_open_file;
@@ -11,6 +12,7 @@ libfsimage.so.1.0 {
 		fsi_bootstring_alloc;
 		fsi_bootstring_free;
 		fsi_fs_bootstring;
+		fsi_fd;
 
 		fsip_fs_set_data;
 		fsip_file_alloc;
diff --git a/tools/libfsimage/common/xenfsimage.h b/tools/libfsimage/common/xenfsimage.h
index 341883b2d7..8048cc7470 100644
--- a/tools/libfsimage/common/xenfsimage.h
+++ b/tools/libfsimage/common/xenfsimage.h
@@ -44,6 +44,7 @@ typedef struct fsi_file fsi_file_t;
 int fsi_init(void);
 
 fsi_t *fsi_open_fsimage(const char *, uint64_t, const char *);
+fsi_t *fsi_fdopen_fsimage(int, uint64_t, const char *);
 void fsi_close_fsimage(fsi_t *);
 
 int fsi_file_exists(fsi_t *, const char *);
@@ -57,6 +58,8 @@ char *fsi_bootstring_alloc(fsi_t *, size_t);
 void fsi_bootstring_free(fsi_t *);
 char *fsi_fs_bootstring(fsi_t *);
 
+int fsi_fd(fsi_t *);
+
 #ifdef __cplusplus
 };
 #endif
diff --git a/tools/libfsimage/common/xenfsimage_plugin.h b/tools/libfsimage/common/xenfsimage_plugin.h
index 4135769018..996ea5ecbb 100644
--- a/tools/libfsimage/common/xenfsimage_plugin.h
+++ b/tools/libfsimage/common/xenfsimage_plugin.h
@@ -38,7 +38,7 @@ typedef struct fsi_plugin fsi_plugin_t;
 
 typedef struct fsi_plugin_ops {
 	int fpo_version;
-	int (*fpo_mount)(fsi_t *, const char *, const char *);
+	int (*fpo_mount)(fsi_t *, const char *);
 	int (*fpo_umount)(fsi_t *);
 	fsi_file_t *(*fpo_open)(fsi_t *, const char *);
 	ssize_t (*fpo_read)(fsi_file_t *, void *, size_t);
diff --git a/tools/libfsimage/ext2fs-lib/ext2fs-lib.c b/tools/libfsimage/ext2fs-lib/ext2fs-lib.c
index 864a15b349..9f07ea288f 100644
--- a/tools/libfsimage/ext2fs-lib/ext2fs-lib.c
+++ b/tools/libfsimage/ext2fs-lib/ext2fs-lib.c
@@ -25,15 +25,25 @@
 #include INCLUDE_EXTFS_H
 #include <errno.h>
 #include <inttypes.h>
+#include <stdio.h>
 
 static int
-ext2lib_mount(fsi_t *fsi, const char *name, const char *options)
+ext2lib_mount(fsi_t *fsi, const char *options)
 {
 	int err;
 	char opts[30] = "";
 	ext2_filsys *fs;
 	uint64_t offset = fsip_fs_offset(fsi);
 
+	/*
+	 * We must choose unixfd_io_manager rather than unix_io_manager in
+	 * order for the library to accept fd strings instead of paths. It
+	 * still means we must pass a string representing an fd rather than
+	 * an int, but at least this way we don't need to pass paths around
+	 */
+	char name[32] = {0};
+	(void)snprintf(name, sizeof(name) - 1, "%d", fsi_fd(fsi));
+
 	if (offset)
 		snprintf(opts, 29, "offset=%" PRId64, offset);
 
@@ -41,7 +51,7 @@ ext2lib_mount(fsi_t *fsi, const char *name, const char *options)
 	if (fs == NULL)
 		return (-1);
 
-	err = ext2fs_open2(name, opts, 0, 0, 0, unix_io_manager, fs);
+	err = ext2fs_open2(name, opts, 0, 0, 0, unixfd_io_manager, fs);
 
 	if (err != 0) {
 		free(fs);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:05:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628138.979305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01AM-0001Lc-AA; Mon, 06 Nov 2023 15:05:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628138.979305; Mon, 06 Nov 2023 15:05: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 1r01AM-0001LR-79; Mon, 06 Nov 2023 15:05:26 +0000
Received: by outflank-mailman (input) for mailman id 628138;
 Mon, 06 Nov 2023 15: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=9eGT=GT=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r01AK-000892-DO
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:05:24 +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 e8176dff-7cb5-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 16:05:22 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-40907b82ab9so32935115e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:05:22 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 q8-20020a05600c46c800b0040776008abdsm12507392wmo.40.2023.11.06.07.05.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 07:05:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8176dff-7cb5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699283121; x=1699887921; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z4/Hgemc7FudDEbRsY77L74znr+mz6WqSRzC5h7qg2g=;
        b=X49b5EgeCbaWw46qSJ4hKp1gccCM3lf2KUICJ+OWIYgWuMo7AewmzSLq+fGWOfOVza
         QTFdkfYHMzIW6yghbDVftQVRT75npFQazoAF+wYcIr91sY5ZeUf7qc/kUBU7GWM1yCEG
         mq6fJbPCWXKg14JW9kA3uH+QD8dLdScMLwJRk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699283121; x=1699887921;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=z4/Hgemc7FudDEbRsY77L74znr+mz6WqSRzC5h7qg2g=;
        b=uz/prow8c/cjicBT25pDbwBiCztZTFL5goSx9cjFd6bPsS3hvLW80nmIhf7aJqcO8C
         tsCxKLcytLyV3VhKwrEKpD/ZUJ+uNMZOSBZWDMjTHmZ6u0J3gyZlJkJGIRZolTmGiEyT
         ultHvamaxwYOI31MvFQza5XAQZiU1u8fLDm9nSDqCcXqV722ODvzDztlyfersfhovc8t
         XbApz8xK0uyW22Ifojq3xDNROugBV/y6ralyhx2T/+6U6S25UNyVIR5UrVSNQJU8qz/p
         4s96Y27+VVadvGvKfW+igG9M4TNQcxkw+ST1Z1ud5VMDmpVrjoWY5Fm1eHp72c8RlQqG
         WbHw==
X-Gm-Message-State: AOJu0YwEbvGQz7iIU684ZQb58yPd5QIBJOCQEWs5s93iLDozucg+Dzcm
	HJi3ffn9trTD8my0XZpBgam4d/yuBX9p13n8cAg=
X-Google-Smtp-Source: AGHT+IGh7mkaVJD+dEz1MhtP/IPYiw7iBgy6n149cmbUk/mpic12Beg8L/ECH7uBbE6E9DQ1MHmlpw==
X-Received: by 2002:a05:600c:19d3:b0:402:f91e:df80 with SMTP id u19-20020a05600c19d300b00402f91edf80mr11789213wmq.3.1699283114304;
        Mon, 06 Nov 2023 07:05:14 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 2/6] tools/pygrub: Fix bug in LIMIT_FSIZE env variable override
Date: Mon,  6 Nov 2023 15:05:04 +0000
Message-Id: <20231106150508.22665-3-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The env variable must be interpreted as an integer. As it is, the override
logic simply causes an exception.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/pygrub/src/pygrub | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index 08540ad288..327cf51774 100755
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -89,7 +89,7 @@ def downgrade_rlimits():
     # write permissions are bound.
     fsize = LIMIT_FSIZE
     if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ.keys():
-        fsize = os.environ["PYGRUB_MAX_FILE_SIZE_MB"] << 20
+        fsize = int(os.environ["PYGRUB_MAX_FILE_SIZE_MB"]) << 20
 
     resource.setrlimit(resource.RLIMIT_FSIZE, (fsize, fsize))
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:16:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:16:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628163.979314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01LJ-0006HR-Bg; Mon, 06 Nov 2023 15:16:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628163.979314; Mon, 06 Nov 2023 15:16: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 1r01LJ-0006HK-8n; Mon, 06 Nov 2023 15:16:45 +0000
Received: by outflank-mailman (input) for mailman id 628163;
 Mon, 06 Nov 2023 15:16: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=0/lM=GT=kernel.org=kbusch@srs-se1.protection.inumbo.net>)
 id 1r01LH-0006HA-IU
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:16: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 7aac92d1-7cb7-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 16:16:38 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 1393660F89;
 Mon,  6 Nov 2023 15:16:37 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 97714C433BC;
 Mon,  6 Nov 2023 15:16: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: 7aac92d1-7cb7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699283796;
	bh=/HAwmovzMZdoeZvZsHcdokGslREftSrFRuxNINmZTNE=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=p1efQTYvGf8rVFkUIm2klEwzrW2mtKPa5EF8rwprtr9zH5WwvnNajfJl+shtHJF50
	 /ZnBBtxAYwFDXG51JGihfmCzTaX4OxyMbmJEk3SUsAA17/dTb9U9/QQvh52VD84FTM
	 VfEN6nj25Eenlmdmzjt6BJwNVvI+dgDFpIybQyLD9c+5Ee4exOLb3CTy9naiQDXXhU
	 Cw/TfswQygCrntLmNHPTMdYdv3g15hW+NIhMfAYqmc2HfwvR4gsKunhB1q+pSmO1C1
	 Pz32FeIJO3uX+B6Vw1z/QG9JVxwaQX4FzOdrrkHTjHSL4DFDV5YjUDxfCNKfOStlS5
	 LYvEnkgAbPC1A==
Date: Mon, 6 Nov 2023 08:16:33 -0700
From: Keith Busch <kbusch@kernel.org>
To: Mikulas Patocka <mpatocka@redhat.com>
Cc: Christoph Hellwig <hch@lst.de>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, iommu@lists.linux.dev,
	Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>,
	Jens Axboe <axboe@fb.com>, Sagi Grimberg <sagi@grimberg.me>,
	Jan Kara <jack@suse.cz>, Vlastimil Babka <vbabka@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>,
	Michal Hocko <mhocko@suse.com>, stable@vger.kernel.org,
	regressions@lists.linux.dev, Alasdair Kergon <agk@redhat.com>,
	Mike Snitzer <snitzer@kernel.org>, dm-devel@lists.linux.dev,
	linux-mm@kvack.org
Subject: Re: [PATCH] swiotlb-xen: provide the "max_mapping_size" method
Message-ID: <ZUkDUXDF6g4P86F3@kbusch-mbp.dhcp.thefacebook.com>
References: <ZUOL8kXVTF1OngeN@mail-itl>
 <3cb4133c-b6db-9187-a678-11ed8c9456e@redhat.com>
 <ZUUctamEFtAlSnSV@mail-itl>
 <ZUUlqJoS6_1IznzT@kbusch-mbp.dhcp.thefacebook.com>
 <ZUVYT1Xp4+hFT27W@mail-itl>
 <ZUV3TApYYoh_oiRR@kbusch-mbp.dhcp.thefacebook.com>
 <11a9886d-316c-edcd-d6da-24ad0b9a2b4@redhat.com>
 <ZUZOKitOAqqKiJ4n@kbusch-mbp.dhcp.thefacebook.com>
 <20231106071008.GB17022@lst.de>
 <928b5df7-fada-cf2f-6f6a-257a84547c3@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <928b5df7-fada-cf2f-6f6a-257a84547c3@redhat.com>

On Mon, Nov 06, 2023 at 03:59:40PM +0100, Mikulas Patocka wrote:
> There's a bug that when using the XEN hypervisor with dm-crypt on NVMe, 
> the kernel deadlocks [1].
> 
> The deadlocks are caused by inability to map a large bio vector -
> dma_map_sgtable always returns an error, this gets propagated to the block
> layer as BLK_STS_RESOURCE and the block layer retries the request
> indefinitely.
> 
> XEN uses the swiotlb framework to map discontiguous pages into contiguous
> runs that are submitted to the PCIe device. The swiotlb framework has a
> limitation on the length of a mapping - this needs to be announced with
> the max_mapping_size method to make sure that the hardware drivers do not
> create larger mappings.
> 
> Without max_mapping_size, the NVMe block driver would create large
> mappings that overrun the maximum mapping size.
> 
> [1] https://lore.kernel.org/stable/ZTNH0qtmint%2FzLJZ@mail-itl/

This should be a "Link:" tag.

> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
> Reported-by: Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>
> Tested-by: Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>
> Suggested-by: Keith Busch <kbusch@kernel.org>

I was about to send the same thing. I did a little more than suggest
this: it's is the very patch I wrote for testing, minus the redundant
nvme bits! But since you already have a commit message for it...

Acked-by: Keith Busch <kbusch@kernel.org>

> Suggested-by: Christoph Hellwig <hch@lst.de>
> Cc: stable@vger.kernel.org
> 
> ---
>  drivers/xen/swiotlb-xen.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> Index: linux-stable/drivers/xen/swiotlb-xen.c
> ===================================================================
> --- linux-stable.orig/drivers/xen/swiotlb-xen.c	2023-11-03 17:57:18.000000000 +0100
> +++ linux-stable/drivers/xen/swiotlb-xen.c	2023-11-06 15:30:59.000000000 +0100
> @@ -405,4 +405,5 @@ const struct dma_map_ops xen_swiotlb_dma
>  	.get_sgtable = dma_common_get_sgtable,
>  	.alloc_pages = dma_common_alloc_pages,
>  	.free_pages = dma_common_free_pages,
> +	.max_mapping_size = swiotlb_max_mapping_size,
>  };



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:27:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:27:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628130.979325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01Vl-00010Q-A0; Mon, 06 Nov 2023 15:27:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628130.979325; Mon, 06 Nov 2023 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 1r01Vl-00010J-6q; Mon, 06 Nov 2023 15:27:33 +0000
Received: by outflank-mailman (input) for mailman id 628130;
 Mon, 06 Nov 2023 14: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=Z8vV=GT=redhat.com=mpatocka@srs-se1.protection.inumbo.net>)
 id 1r0151-0006Yn-FH
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 14:59:55 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 23499a33-7cb5-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 15:59:52 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-587-wo667hKyNIaLrPo-Wqz7rg-1; Mon, 06 Nov 2023 09:59:42 -0500
Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com
 [10.11.54.10])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4D89F811001;
 Mon,  6 Nov 2023 14:59:40 +0000 (UTC)
Received: from file1-rdu.file-001.prod.rdu2.dc.redhat.com (unknown
 [10.11.5.21])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 270FE492BFA;
 Mon,  6 Nov 2023 14:59:40 +0000 (UTC)
Received: by file1-rdu.file-001.prod.rdu2.dc.redhat.com (Postfix,
 from userid 12668)
 id 0FFB830C72A7; Mon,  6 Nov 2023 14:59:40 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by file1-rdu.file-001.prod.rdu2.dc.redhat.com (Postfix) with ESMTP id
 0CADB3FD16; Mon,  6 Nov 2023 15:59:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23499a33-7cb5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1699282791;
	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=MvbDfj8UoB/iWWxf+0USaZxvp1nymUg9UUSbnVJnGJg=;
	b=RKdRArT3Saf3AaU17gzFv74+A9RcK7n3BSSdSbIr60XSQRVsO6GTlEQQEK011teO+5Y1Lx
	CwWF7JMg5vbhR5rC7udmRjlG7Oh+imVHfOD8H7BTmdBD8LWuebo7c0kdy/8FzVg79CMOD/
	sVQ//DD7opEhCdlHIuTCddx1D1v/6Aw=
X-MC-Unique: wo667hKyNIaLrPo-Wqz7rg-1
Date: Mon, 6 Nov 2023 15:59:40 +0100 (CET)
From: Mikulas Patocka <mpatocka@redhat.com>
To: Christoph Hellwig <hch@lst.de>, Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, iommu@lists.linux.dev
cc: Keith Busch <kbusch@kernel.org>, 
    Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>, 
    Jens Axboe <axboe@fb.com>, Sagi Grimberg <sagi@grimberg.me>, 
    Jan Kara <jack@suse.cz>, Vlastimil Babka <vbabka@suse.cz>, 
    Andrew Morton <akpm@linux-foundation.org>, 
    Matthew Wilcox <willy@infradead.org>, Michal Hocko <mhocko@suse.com>, 
    stable@vger.kernel.org, regressions@lists.linux.dev, 
    Alasdair Kergon <agk@redhat.com>, Mike Snitzer <snitzer@kernel.org>, 
    dm-devel@lists.linux.dev, linux-mm@kvack.org
Subject: [PATCH] swiotlb-xen: provide the "max_mapping_size" method
In-Reply-To: <20231106071008.GB17022@lst.de>
Message-ID: <928b5df7-fada-cf2f-6f6a-257a84547c3@redhat.com>
References: <ZULvkPhcpgAVyI8w@mail-itl> <ac5b5ac0-9e8-c1b0-a26-62f832f845f0@redhat.com> <ZUOL8kXVTF1OngeN@mail-itl> <3cb4133c-b6db-9187-a678-11ed8c9456e@redhat.com> <ZUUctamEFtAlSnSV@mail-itl> <ZUUlqJoS6_1IznzT@kbusch-mbp.dhcp.thefacebook.com>
 <ZUVYT1Xp4+hFT27W@mail-itl> <ZUV3TApYYoh_oiRR@kbusch-mbp.dhcp.thefacebook.com> <11a9886d-316c-edcd-d6da-24ad0b9a2b4@redhat.com> <ZUZOKitOAqqKiJ4n@kbusch-mbp.dhcp.thefacebook.com> <20231106071008.GB17022@lst.de>
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="185210117-1402013940-1699282657=:1480693"
Content-ID: <affb703a-5868-3532-3764-a2a166f949ac@redhat.com>
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--185210117-1402013940-1699282657=:1480693
Content-Type: text/plain; CHARSET=ISO-8859-15
Content-Transfer-Encoding: 8BIT
Content-ID: <40c9ae7-22c6-db9f-f832-d2d54af8b3f9@redhat.com>

There's a bug that when using the XEN hypervisor with dm-crypt on NVMe, 
the kernel deadlocks [1].

The deadlocks are caused by inability to map a large bio vector -
dma_map_sgtable always returns an error, this gets propagated to the block
layer as BLK_STS_RESOURCE and the block layer retries the request
indefinitely.

XEN uses the swiotlb framework to map discontiguous pages into contiguous
runs that are submitted to the PCIe device. The swiotlb framework has a
limitation on the length of a mapping - this needs to be announced with
the max_mapping_size method to make sure that the hardware drivers do not
create larger mappings.

Without max_mapping_size, the NVMe block driver would create large
mappings that overrun the maximum mapping size.

[1] https://lore.kernel.org/stable/ZTNH0qtmint%2FzLJZ@mail-itl/

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Reported-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>
Tested-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>
Suggested-by: Keith Busch <kbusch@kernel.org>
Suggested-by: Christoph Hellwig <hch@lst.de>
Cc: stable@vger.kernel.org

---
 drivers/xen/swiotlb-xen.c |    1 +
 1 file changed, 1 insertion(+)

Index: linux-stable/drivers/xen/swiotlb-xen.c
===================================================================
--- linux-stable.orig/drivers/xen/swiotlb-xen.c	2023-11-03 17:57:18.000000000 +0100
+++ linux-stable/drivers/xen/swiotlb-xen.c	2023-11-06 15:30:59.000000000 +0100
@@ -405,4 +405,5 @@ const struct dma_map_ops xen_swiotlb_dma
 	.get_sgtable = dma_common_get_sgtable,
 	.alloc_pages = dma_common_alloc_pages,
 	.free_pages = dma_common_free_pages,
+	.max_mapping_size = swiotlb_max_mapping_size,
 };
--185210117-1402013940-1699282657=:1480693--



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:30:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:30:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628170.979335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01Yx-0002x0-QY; Mon, 06 Nov 2023 15:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628170.979335; Mon, 06 Nov 2023 15:30: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 1r01Yx-0002wt-Mo; Mon, 06 Nov 2023 15:30:51 +0000
Received: by outflank-mailman (input) for mailman id 628170;
 Mon, 06 Nov 2023 15: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=anSp=GT=redhat.com=msnitzer@srs-se1.protection.inumbo.net>)
 id 1r01Yw-0002wm-Vj
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:30:50 +0000
Received: from mail-qt1-f172.google.com (mail-qt1-f172.google.com
 [209.85.160.172]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 757f98e9-7cb9-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 16:30:48 +0100 (CET)
Received: by mail-qt1-f172.google.com with SMTP id
 d75a77b69052e-41cc537ed54so29556031cf.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:30:48 -0800 (PST)
Received: from localhost (pool-68-160-141-91.bstnma.fios.verizon.net.
 [68.160.141.91]) by smtp.gmail.com with ESMTPSA id
 bb29-20020a05622a1b1d00b00418122186ccsm3481815qtb.12.2023.11.06.07.30.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 06 Nov 2023 07:30:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 757f98e9-7cb9-11ee-9b0e-b553b5be7939
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699284647; x=1699889447;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hrjYpFY8E2oiY2xxYzQ2GUG1YMJAJZ45VGuFmmeRh4c=;
        b=GLWdG282KOSnvg8TfymEytv/r272E+kA1/OZqwSoOlFQ/aTqsybTUL3zzxlOnSbbPh
         xKSoH+loN6J/uE9YqHdyzqxyD6HEg5dO31IjmwW6IJ4dEItRIU6pN/6vLATfjvef0ygk
         XhrrX0IaEoRYemgcE/OEF9oHCcLYjKerKpLZ/mkouiOkWtOPbYZ1VmJpAXDEO6aceBTc
         BpiL6B6SRJ/le0ENET42cutncjEVWI+I8xJZLAIWzQaTRGvR2BDu6cSMelnlz4CaKFO4
         fniXA5gO+1cSXobzw7LED4Zl/7ADaAXDeka5cI/2neTZ260U8CgSDiP1iLWKt3yU/bvW
         VNtA==
X-Gm-Message-State: AOJu0Yxtmdvj7n4ni4go2fQ62+iByCRbCUZBEYjTaLj6sMQOXfKJoMeM
	FqUJuCXkRj9r1Y6mNLID06M8
X-Google-Smtp-Source: AGHT+IEM/+zw76Fcxpj1WquMbJygUaMozC9Wk7yN5zbxmT5CSz4J9onVl5IQCkCNvJJhkdQNmfPFUA==
X-Received: by 2002:ac8:7d50:0:b0:41c:bbf3:b24b with SMTP id h16-20020ac87d50000000b0041cbbf3b24bmr35421169qtb.27.1699284647197;
        Mon, 06 Nov 2023 07:30:47 -0800 (PST)
Date: Mon, 6 Nov 2023 10:30:45 -0500
From: Mike Snitzer <snitzer@kernel.org>
To: Keith Busch <kbusch@kernel.org>
Cc: Mikulas Patocka <mpatocka@redhat.com>, Christoph Hellwig <hch@lst.de>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, iommu@lists.linux.dev,
	Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>,
	Jens Axboe <axboe@fb.com>, Sagi Grimberg <sagi@grimberg.me>,
	Jan Kara <jack@suse.cz>, Vlastimil Babka <vbabka@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>,
	Michal Hocko <mhocko@suse.com>, stable@vger.kernel.org,
	regressions@lists.linux.dev, Alasdair Kergon <agk@redhat.com>,
	dm-devel@lists.linux.dev, linux-mm@kvack.org
Subject: Re: swiotlb-xen: provide the "max_mapping_size" method
Message-ID: <ZUkGpblDX637QV9y@redhat.com>
References: <3cb4133c-b6db-9187-a678-11ed8c9456e@redhat.com>
 <ZUUctamEFtAlSnSV@mail-itl>
 <ZUUlqJoS6_1IznzT@kbusch-mbp.dhcp.thefacebook.com>
 <ZUVYT1Xp4+hFT27W@mail-itl>
 <ZUV3TApYYoh_oiRR@kbusch-mbp.dhcp.thefacebook.com>
 <11a9886d-316c-edcd-d6da-24ad0b9a2b4@redhat.com>
 <ZUZOKitOAqqKiJ4n@kbusch-mbp.dhcp.thefacebook.com>
 <20231106071008.GB17022@lst.de>
 <928b5df7-fada-cf2f-6f6a-257a84547c3@redhat.com>
 <ZUkDUXDF6g4P86F3@kbusch-mbp.dhcp.thefacebook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ZUkDUXDF6g4P86F3@kbusch-mbp.dhcp.thefacebook.com>

On Mon, Nov 06 2023 at 10:16P -0500,
Keith Busch <kbusch@kernel.org> wrote:

> On Mon, Nov 06, 2023 at 03:59:40PM +0100, Mikulas Patocka wrote:
> > There's a bug that when using the XEN hypervisor with dm-crypt on NVMe, 
> > the kernel deadlocks [1].
> > 
> > The deadlocks are caused by inability to map a large bio vector -
> > dma_map_sgtable always returns an error, this gets propagated to the block
> > layer as BLK_STS_RESOURCE and the block layer retries the request
> > indefinitely.
> > 
> > XEN uses the swiotlb framework to map discontiguous pages into contiguous
> > runs that are submitted to the PCIe device. The swiotlb framework has a
> > limitation on the length of a mapping - this needs to be announced with
> > the max_mapping_size method to make sure that the hardware drivers do not
> > create larger mappings.
> > 
> > Without max_mapping_size, the NVMe block driver would create large
> > mappings that overrun the maximum mapping size.
> > 
> > [1] https://lore.kernel.org/stable/ZTNH0qtmint%2FzLJZ@mail-itl/
> 
> This should be a "Link:" tag.
> 
> > Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
> > Reported-by: Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>
> > Tested-by: Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>
> > Suggested-by: Keith Busch <kbusch@kernel.org>
> 
> I was about to send the same thing. I did a little more than suggest
> this: it's is the very patch I wrote for testing, minus the redundant
> nvme bits! But since you already have a commit message for it...
> 
> Acked-by: Keith Busch <kbusch@kernel.org>

No, this patch should be attributed to you Keith.

Mikulas, I like that you ran with getting a fix prepared but please
update the patch so Keith is the author and use Link: as suggested for
the v2. Note: you'll still use your Signed-off-by since you had a role
in getting this patch together (but please move yours to the end of
the header).

Mike


> 
> > Suggested-by: Christoph Hellwig <hch@lst.de>
> > Cc: stable@vger.kernel.org
> > 
> > ---
> >  drivers/xen/swiotlb-xen.c |    1 +
> >  1 file changed, 1 insertion(+)
> > 
> > Index: linux-stable/drivers/xen/swiotlb-xen.c
> > ===================================================================
> > --- linux-stable.orig/drivers/xen/swiotlb-xen.c	2023-11-03 17:57:18.000000000 +0100
> > +++ linux-stable/drivers/xen/swiotlb-xen.c	2023-11-06 15:30:59.000000000 +0100
> > @@ -405,4 +405,5 @@ const struct dma_map_ops xen_swiotlb_dma
> >  	.get_sgtable = dma_common_get_sgtable,
> >  	.alloc_pages = dma_common_alloc_pages,
> >  	.free_pages = dma_common_free_pages,
> > +	.max_mapping_size = swiotlb_max_mapping_size,
> >  };
> 


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:54:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:54:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628175.979345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r01vR-0000fg-Is; Mon, 06 Nov 2023 15:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628175.979345; Mon, 06 Nov 2023 15: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 1r01vR-0000fZ-GE; Mon, 06 Nov 2023 15:54:05 +0000
Received: by outflank-mailman (input) for mailman id 628175;
 Mon, 06 Nov 2023 15: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=4jw9=GT=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r01vP-0000eD-NT
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:54:03 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b44b0b6e-7cbc-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 16:54:01 +0100 (CET)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2c5087d19a6so62827431fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:54:01 -0800 (PST)
Received: from [10.95.110.31] (54-240-197-231.amazon.com. [54.240.197.231])
 by smtp.gmail.com with ESMTPSA id
 t10-20020a05600c198a00b004064ac107cfsm12608013wmq.39.2023.11.06.07.54.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Nov 2023 07:54:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b44b0b6e-7cbc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699286041; x=1699890841; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Nt6CguaXRq/YZ+PZ3lvfxXKUnqOduWpE0HGPF4W1wY0=;
        b=ZK0yxLI7mCeOcL1I3KGoX7Cuv617OYEqOhHo67Ryg5ieKg0Csc0QP0GcKRc/7SeO/T
         t/82rbhwlItQFVfD61rN8HwevA0RSQWd8bXH0fakKD8VvEoAQbEqLr0lyEgmvamEJLsZ
         /ixtMkoF8Rx65Wufabyhra1aqoeGKuy5w5i9p6SuxyhBiNVzqt2bSwN2/kzhz7nOMMNp
         v1WRcAmSIAUnnpSnY51CGhFnIC3WPyBzxxSodbwYCRMUquyRX3kgzBvByTWS8EdWNjgl
         yTfHnTmKIqAJ9huGE/jJr+oeqmSw7DHGCBBMzDp0zJk+gpZt73S/1Ol5OYWS66ZRw2pz
         EhpQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699286041; x=1699890841;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Nt6CguaXRq/YZ+PZ3lvfxXKUnqOduWpE0HGPF4W1wY0=;
        b=lnYC6AeP9psW8gFvi7ZOBFjjrK2+YyLoyDzPs9JylCEFO/9DmVGuAGKCIvvTcOqP+f
         KjooTrX7JGabw5xu8vaqNkIakSI3rSJSZOususpXDdg+U+0zple+LTT6WfB5APlgrv/3
         KuMJZzSp9wLtWYd79RFGd+kbJxXoy1VQgnxv2NDl5KH+/YABmqo1/u0zBcTYI5yso31U
         F9Ui3A4eUgM3A6mHckRsifCdIYNTan356Flr9ZlnGQRUBXYv+03IhKdmsvBMymT63Jkd
         hT/6djnBy/p0hbzzXF8rfjtPJrqUvpKGLmsnNV7epvSfo/jhqNev/G2WO8Wfzi7JuvLJ
         WeQg==
X-Gm-Message-State: AOJu0Yz17eNXDlrkvLLGGVg2kyZfZbFBGdJ6j/3QXTnglzjadXA5LshF
	CCuZGQz/flxYg7WkgOyNPlY=
X-Google-Smtp-Source: AGHT+IGCoYjqZL7KCS5nKOgoZCWqBe7yFIheTDPrXy3X0fCB+qVxX20b8MuMAQC0/PdVpz/QlzJQHg==
X-Received: by 2002:a2e:8692:0:b0:2c5:2191:3f35 with SMTP id l18-20020a2e8692000000b002c521913f35mr24457967lji.2.1699286040925;
        Mon, 06 Nov 2023 07:54:00 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <d8838073-5169-4f84-bc98-912f5afa285b@xen.org>
Date: Mon, 6 Nov 2023 15:53:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH] xen/pt: Emulate multifunction bit in header type
To: Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, qemu-devel@nongnu.org
References: <20231103172601.1319375-1-ross.lagerwall@citrix.com>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <20231103172601.1319375-1-ross.lagerwall@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 03/11/2023 17:26, Ross Lagerwall wrote:
> The intention of the code appears to have been to unconditionally set
> the multifunction bit but since the emulation mask is 0x00 it has no
> effect. Instead, emulate the bit and set it based on the multifunction
> property of the PCIDevice (which can be set using QAPI).
> 
> This allows making passthrough devices appear as functions in a Xen
> guest.
> 
> Signed-off-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 15:59:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 15:59:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628180.979354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r020F-0002X8-4l; Mon, 06 Nov 2023 15:59:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628180.979354; Mon, 06 Nov 2023 15: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 1r020F-0002X1-2E; Mon, 06 Nov 2023 15:59:03 +0000
Received: by outflank-mailman (input) for mailman id 628180;
 Mon, 06 Nov 2023 15: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=4jw9=GT=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r020D-0002Wv-Mi
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 15:59:01 +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 65ed00a8-7cbd-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 16:58:59 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40842752c6eso35687795e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 07:58:59 -0800 (PST)
Received: from [10.95.110.31] (54-240-197-231.amazon.com. [54.240.197.231])
 by smtp.gmail.com with ESMTPSA id
 bs14-20020a056000070e00b0032d8eecf901sm10060456wrb.3.2023.11.06.07.58.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Nov 2023 07:58:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65ed00a8-7cbd-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699286339; x=1699891139; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=YdRU2ICAmJ5fzVK5A8/S2GOgHKTlNLHwKSHWlkevpuU=;
        b=HWR2JDKQk9tI65PGGeS7k9dQDTKkeMscALgVvv38ax+0lRbZ8DFGwbQnNkMOq2wg+M
         EFQi4W6S2Pk7h2JbQ7EkU2wlmHHbq27Z/WwJWSLTjvQG/mUpgGtUzzGLa1dPeaSSGsBj
         QO8Cft0xWd49qSPjnT+kiQiSbAd/oPRnDYP5x8ulVI/hjoo4HynfVU8FhI0nysqg6rDX
         CVX9s3HZvQDd1QZQMSKB1HW+8y9g2L43dNrUL4lJI0HjQ+zCsmbLd9Xr7cVKit+ckP0F
         diBxHgeDi8bVPrfYoNGrTnGA+xhDqqAkcp4PTND1FCv2s+5bjyl/OjZO4PJzeDUYPYI4
         9iaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699286339; x=1699891139;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YdRU2ICAmJ5fzVK5A8/S2GOgHKTlNLHwKSHWlkevpuU=;
        b=IG5QlTYBveA90HSgoK4lUuUvqMdC6K75fB5opnxQ08aJ1L0NwoLYKKwaafngRXhEnT
         s1uqAps43xeSDe123zjincI0j8iAlRw03+nDB6nMn0oe+ONCayj8OCCKZFhytnr6NdIO
         6YXb6D/ZMTSLUNp3H6KU/5x8qCGmIW3hj+jGJ5W1cIjJ2BuV7FE2UG6pShORGFvJOqiz
         A6u1bUltsX+MCqJwCk0kddzNyMaHthWFzK/giwFtcgD/Z8g975tdQ1iI4uWJuuoGfNyt
         7cEy7NiIw1JTgrMyaMXv/afp5tDUuWI2JztSxIKpT/QplJFUdMACf0JZqc1c8Uq9QVMB
         2O+w==
X-Gm-Message-State: AOJu0YytpPc/OTwsnZOd+4jjdqQ8P3Le0+iLjWS9KaSNl4qRwQ937dTV
	rw87rfbQ7qTbnk37JG3hLBM=
X-Google-Smtp-Source: AGHT+IG+oPN1NQBnC7slICVrFKIK+QQJ+pHrO26W48S90buGxRQhChU5XJhSimZD7bEJ7PpCsy+dGA==
X-Received: by 2002:a5d:6051:0:b0:32d:a4c4:f700 with SMTP id j17-20020a5d6051000000b0032da4c4f700mr20821057wrt.38.1699286338898;
        Mon, 06 Nov 2023 07:58:58 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <e2cb5f62-9a32-4ea2-bb34-b551dcb0755c@xen.org>
Date: Mon, 6 Nov 2023 15:58:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v4 06/17] hw/xen: automatically assign device index to
 block devices
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Jason Wang <jasowang@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 qemu-block@nongnu.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org
References: <20231106143507.1060610-1-dwmw2@infradead.org>
 <20231106143507.1060610-7-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20231106143507.1060610-7-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 06/11/2023 14:34, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> There's no need to force the user to assign a vdev. We can automatically
> assign one, starting at xvda and searching until we find the first disk
> name that's unused.
> 
> This means we can now allow '-drive if=xen,file=xxx' to work without an
> explicit separate -driver argument, just like if=virtio.
> 
> Rip out the legacy handling from the xenpv machine, which was scribbling
> over any disks configured by the toolstack, and didn't work with anything
> but raw images.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Acked-by: Kevin Wolf <kwolf@redhat.com>
> ---
>   blockdev.c                          |  15 +++-
>   hw/block/xen-block.c                | 118 ++++++++++++++++++++++++++--
>   hw/xen/xen_devconfig.c              |  28 -------
>   hw/xenpv/xen_machine_pv.c           |   9 ---
>   include/hw/xen/xen-legacy-backend.h |   1 -
>   5 files changed, 125 insertions(+), 46 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 16:01:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 16:01:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628185.979364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r022b-0004Wp-KK; Mon, 06 Nov 2023 16:01:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628185.979364; Mon, 06 Nov 2023 16: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 1r022b-0004Wi-HL; Mon, 06 Nov 2023 16:01:29 +0000
Received: by outflank-mailman (input) for mailman id 628185;
 Mon, 06 Nov 2023 16:01: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=4jw9=GT=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r022a-0004WZ-Dl
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 16:01:28 +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 bdf8ac37-7cbd-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 17:01:27 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-32dc9ff4a8fso2692238f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 08:01:27 -0800 (PST)
Received: from [10.95.110.31] (54-240-197-231.amazon.com. [54.240.197.231])
 by smtp.gmail.com with ESMTPSA id
 h3-20020a5d5043000000b0032dba85ea1bsm9838958wrt.75.2023.11.06.08.01.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Nov 2023 08:01:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bdf8ac37-7cbd-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699286487; x=1699891287; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=VuSTMH9ud0jYjriaosHkWWyigJusFLw9itadu/Ef8us=;
        b=JgkfHWDroRTgYtyz025MUkLawCxbPatDY9M3ncIsqZ61SBqCTUbmx525lRQdiLn8xP
         9PgUxD1bBFeCzYdMUws5O1RhOMU+EXyHzq+AvHs91mpiVrmvqkScP8JdWqLuThQXgHhs
         ujEcN04/62Q5gwaKp/0tAJzpP5BXvpjMCOqXYuZpMxtethSq7WTpczBqiBMolO+lE4gz
         SQu6xr4nGbNnUXG52fhQDyBWJT6+Toa9tezrxAWqWNXbRQStbJGO5b5LJPKYFrpj8Mjy
         j65A/6e8PzwRsHWMXO1D5DE0+UpGSCEJbX/xpP2P1zxTydPyzWwbC6ffANCrvR+ldzO4
         lVsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699286487; x=1699891287;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VuSTMH9ud0jYjriaosHkWWyigJusFLw9itadu/Ef8us=;
        b=A4d7VFXAf+Zmlx63HGY0S5qNWFBgXWAxXk6Qe9idUoNHvwuDAaxN2AmwCzUJTOcJgE
         ipHStsoC7IZJZzSTwtm/kiUiln1Xrj4kx/pXTuRzUVxaHeNixRUhUXG9W9M2wYXKpop4
         Y/470GDg5lLo3EK451KMu1lAJ0Fy8nuYBJa40LV6ySMWBQ0t8rrSy3eV5rrZVvlt0725
         +dQXocSHLCJtBTpJ31O6fEWcmeMGykfeW+ywOjV1xw4rnJhiCpSDyIUaTg8uvSravN3q
         8fpg68EWIt5t9ZRluSIXQg69POkrqwhZgJfcNzwAz8XJRAmmAfgpqEgOHn4h9QHAx51j
         ZSkA==
X-Gm-Message-State: AOJu0YzBP3QysbUSrqjUtcjLU/JIvLdcWvBSImRzjFG8mUGvKSz6JGho
	61KN4oQhTtWSl7vfDW3t6SQ=
X-Google-Smtp-Source: AGHT+IE+3PRRsyWElc9zPvKSrIuMWGE4WXTjXvI2QsMrBJiC6CPa5U2EB5CV13HsYIol7JDB6fOz+Q==
X-Received: by 2002:a5d:6485:0:b0:32f:a7d5:4ef with SMTP id o5-20020a5d6485000000b0032fa7d504efmr11943384wri.44.1699286486710;
        Mon, 06 Nov 2023 08:01:26 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <71dc2018-9840-458e-8ca6-3cb8ab86666d@xen.org>
Date: Mon, 6 Nov 2023 16:01:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v4 13/17] hw/i386/pc: support '-nic' for xen-net-device
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Jason Wang <jasowang@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 qemu-block@nongnu.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org
References: <20231106143507.1060610-1-dwmw2@infradead.org>
 <20231106143507.1060610-14-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20231106143507.1060610-14-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 06/11/2023 14:35, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> The default NIC creation seems a bit hackish to me. I don't understand
> why each platform has to call pci_nic_init_nofail() from a point in the
> code where it actually has a pointer to the PCI bus, and then we have
> the special cases for things like ne2k_isa.
> 
> If qmp_device_add() can *find* the appropriate bus and instantiate
> the device on it, why can't we just do that from generic code for
> creating the default NICs too?
> 
> But that isn't a yak I want to shave today. Add a xenbus field to the
> PCMachineState so that it can make its way from pc_basic_device_init()
> to pc_nic_init() and be handled as a special case like ne2k_isa is.
> 
> Now we can launch emulated Xen guests with '-nic user'.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/i386/pc.c             | 11 ++++++++---
>   hw/i386/pc_piix.c        |  2 +-
>   hw/i386/pc_q35.c         |  2 +-
>   hw/xen/xen-bus.c         |  4 +++-
>   include/hw/i386/pc.h     |  4 +++-
>   include/hw/xen/xen-bus.h |  2 +-
>   6 files changed, 17 insertions(+), 8 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 16:06:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 16:06:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628192.979374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0277-0005od-5B; Mon, 06 Nov 2023 16:06:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628192.979374; Mon, 06 Nov 2023 16:06: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 1r0277-0005oW-2f; Mon, 06 Nov 2023 16:06:09 +0000
Received: by outflank-mailman (input) for mailman id 628192;
 Mon, 06 Nov 2023 16:06: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=4jw9=GT=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r0276-0005oQ-Co
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 16:06:08 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 64a470ea-7cbe-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 17:06:07 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-4083f613272so40717375e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 08:06:07 -0800 (PST)
Received: from [10.95.110.31] (54-240-197-231.amazon.com. [54.240.197.231])
 by smtp.gmail.com with ESMTPSA id
 h15-20020a05600c314f00b004094d4292aesm12576758wmo.18.2023.11.06.08.06.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Nov 2023 08:06:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64a470ea-7cbe-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699286766; x=1699891566; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=MeZXKteg9ly/LgC189oPLkONMw9yBgVhmCgiKF0kD7Q=;
        b=i+u4G/4tkN7RNzWrUVrUQbmUkyVEPwWU3F9EF/bb3URqCfmPwAQ+eRJjP7FHLX63N9
         GOzqyMXOgqQGzddHfd8Gk0DvT0VNxv3ylz3+5v9GYNAHy5tJZx+QErniwcXev0zTAROo
         +sAWFQigpO54mBBsiyLd0Ba3+KgL7xJCgjckjTNimqiKB+2XFkrAN5EKZcz/WTdjSnoR
         6sev9GDNqAz+3DQqXct30fKwMoH6CuZUfk6rrXnQON9vEC2yBU0qo6Mq5y8Hu1lVsH9J
         PL8dHV063Vosb3OqSJVrMQxiZlo9ZmrTHQfzohGA1z31z9xdSxmpvE9Y4pOPwRXtCgWP
         iZjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699286766; x=1699891566;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MeZXKteg9ly/LgC189oPLkONMw9yBgVhmCgiKF0kD7Q=;
        b=c3Z6VDCPeFsWKCMj1FmmBTGsZiTE/ewVawqxZtb3sAL8EgMFrz/ZqVbomeRWY3GxS9
         HrGpz9OZu32cys/5iN1WcCcPk2luVDu4N2wR2ze7xdLR8Mdz9A3kK/qWTUUqZRG+1Iay
         YcBReSML75+wZiokGAsM/PNn5tS/bY0d1MAI1AEZef+d9yt9ZyFFIkzsUIZmK7V1fWUo
         0kmQ0gf5tIL2AjWA8zWb3AnC+LlMoFYPBkqyOSSVF996TWYc7ByDy+qoQ5HoR0DSOXTE
         +AdUBcgclwWaZLaJ32zzp/XlDAe/XaaBzvyEIJ4o3Ha6FHYbt/SCT72F2Clnzu1ajSQl
         JiIA==
X-Gm-Message-State: AOJu0YzZTa457MN/6Ot1RLwLdFLCvYcRBuMdbxvAjI677IPF8wHPlufR
	ogabNeQSyn5MKUX4LIDrYA4=
X-Google-Smtp-Source: AGHT+IHSWnf3wN6plpUIgGebG8qT3uQ6MHwdZ3cvFdZB/eJDKIi8+G3R12MVZ1RUvoie9Yarv/csaQ==
X-Received: by 2002:a05:600c:1d19:b0:409:5a92:470e with SMTP id l25-20020a05600c1d1900b004095a92470emr102303wms.28.1699286766483;
        Mon, 06 Nov 2023 08:06:06 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <8531c820-549a-4979-9575-e659ab1b6659@xen.org>
Date: Mon, 6 Nov 2023 16:06:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v4 16/17] doc/sphinx/hxtool.py: add optional label
 argument to SRST directive
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Jason Wang <jasowang@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 qemu-block@nongnu.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org
References: <20231106143507.1060610-1-dwmw2@infradead.org>
 <20231106143507.1060610-17-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20231106143507.1060610-17-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 06/11/2023 14:35, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> We can't just embed labels directly into files like qemu-options.hx which
> are included from multiple top-level RST files, because Sphinx sees the
> labels as duplicate: https://github.com/sphinx-doc/sphinx/issues/9707
> 
> So add an 'emitrefs' option to the Sphinx hxtool-doc directive, which is
> set only in invocation.rst and not from the HTML rendition of the man
> page. Along with an argument to the SRST directive which causes a label
> of the form '.. _LABEL-reference-label:' to be emitted when the emitrefs
> option is set.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   docs/sphinx/hxtool.py      | 18 +++++++++++++++++-
>   docs/system/invocation.rst |  1 +
>   2 files changed, 18 insertions(+), 1 deletion(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 16:07:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 16:07:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628195.979384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r027y-0006KE-Dk; Mon, 06 Nov 2023 16:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628195.979384; Mon, 06 Nov 2023 16: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 1r027y-0006K7-B6; Mon, 06 Nov 2023 16:07:02 +0000
Received: by outflank-mailman (input) for mailman id 628195;
 Mon, 06 Nov 2023 16: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=gUrR=GT=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r027w-0005oQ-KG
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 16:07:00 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 841584e8-7cbe-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 17:06:59 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2c50ec238aeso65275271fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 08:06:59 -0800 (PST)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 b15-20020a05600010cf00b00318147fd2d3sm9749787wrx.41.2023.11.06.08.06.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Nov 2023 08:06:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 841584e8-7cbe-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699286819; x=1699891619; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=TpU+dF1Q0CmsNv/cFqnoD09TDGC8Jje+Aks60P0puqY=;
        b=dgfye3WfVBE8TgaGb0qOkrtekqHrSBKTjmHWeyo03nWO3hD9dw0LrM604xGHl5yN93
         93B+N7YR6Qfu7P87U6Aty+R4xSMIX5gT16FZYtvqQaCVMYayumJR7cHTEEPsTpwx3QL2
         kn8+R7OrJEaBCoPyok7vBy3QYKm9WnRuZh9+M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699286819; x=1699891619;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=TpU+dF1Q0CmsNv/cFqnoD09TDGC8Jje+Aks60P0puqY=;
        b=lg+WWSPuxL4tDyDj+aErTTA24lxS5/JXDWuoWvADoHVg62XkNeelQKVeii/83eFIXz
         P5jpmBwSgsXc8ctEt1wjhUTX1XwenVSTSwosucHJXBPPvPfu4NEkJVJAhzZeR1yxsvQz
         zJOyOJBcMS1WON82h95VdJKjrAXXFnS7dh0k2FbsOluJ1UM0DIHlfnERGCaJVu7Lu3Yu
         U8/MaL+v8kxqdjg1mc/VkTWQqgI83DmfRVScv+gIsDiKHgyYxJ5DmAjXfVeNshI3s4uD
         DPttFr1uHz5U8sm5hyEKuldAMymEADpP6pkpnLIW3EZrz4UpKz0tbF6haMeNflTq2jMM
         Bsrw==
X-Gm-Message-State: AOJu0Yyc9OmXhSPajiwC4wqwxrwzUFQFYEZECRWSnXCNz+5w+79UeENe
	2Y7fUirYGtYfbji+nKUWg5/18A==
X-Google-Smtp-Source: AGHT+IEJebUuvC+dbzHh4zCl/eWf4BtYaAvd9577EaEVLCGMaGmrh7O4A45eflAvn61fQBVXKrjxEg==
X-Received: by 2002:ac2:5634:0:b0:507:aaab:528c with SMTP id b20-20020ac25634000000b00507aaab528cmr21226759lff.69.1699286819097;
        Mon, 06 Nov 2023 08:06:59 -0800 (PST)
Message-ID: <e52bf34c-0aca-4204-8502-11a45ecdb94d@citrix.com>
Date: Mon, 6 Nov 2023 16:06:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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: <20231106142739.19650-1-roger.pau@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231106142739.19650-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/11/2023 2:27 pm, Roger Pau Monne wrote:
> The current implementation of x2APIC requires to either use Cluster Logical or
> Physical mode for all interrupts.  However the selection of Physical vs Logical
> is not done at APIC setup, an APIC can be addressed both in Physical or Logical
> destination modes concurrently.
>
> Introduce a new x2APIC mode called Mixed, which uses Logical Cluster mode for
> IPIs, and Physical mode for external interrupts, thus attempting to use the
> best method for each interrupt type.
>
> Using Physical mode for external interrupts allows more vectors to be used, and
> interrupt balancing to be more accurate.
>
> Using Logical Cluster mode for IPIs allows fewer accesses to the ICR register
> when sending those, as multiple CPUs can be targeted with a single ICR register
> write.
>
> A simple test calling flush_tlb_all() 10000 times on a tight loop on AMD EPYC
> 9754 with 512 CPUs gives the following figures in nano seconds:
>
> x mixed
> + phys
> * cluster
>     N           Min           Max        Median           Avg        Stddev
> x  25 3.5131328e+08 3.5716441e+08 3.5410987e+08 3.5432659e+08     1566737.4
> +  12  1.231082e+09  1.238824e+09 1.2370528e+09 1.2357981e+09     2853892.9
> Difference at 95.0% confidence
> 	8.81472e+08 +/- 1.46849e+06
> 	248.774% +/- 0.96566%
> 	(Student's t, pooled s = 2.05985e+06)
> *  11 3.5099276e+08 3.5561459e+08 3.5461234e+08 3.5415668e+08     1415071.9
> No difference proven at 95.0% confidence
>
> So Mixed has no difference when compared to Cluster mode, and Physical mode is
> 248% slower when compared to either Mixed or Cluster modes with a 95%
> confidence.
>
> Note that Xen uses Cluster mode by default, and hence is already using the
> fastest way for IPI delivery at the cost of reducing the amount of vectors
> available system-wide.
>
> Make the newly introduced mode the default one.
>
> Note the printing of the APIC addressing mode done in connect_bsp_APIC() has
> been removed, as with the newly introduced mixed mode this would require more
> fine grained printing, or else would be incorrect.  The addressing mode can
> already be derived from the APIC driver in use, which is printed by different
> helpers.
>
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 16:10:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 16:10:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628201.979394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r02B6-0000Kk-SD; Mon, 06 Nov 2023 16:10:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628201.979394; Mon, 06 Nov 2023 16:10: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 1r02B6-0000Kd-Pi; Mon, 06 Nov 2023 16:10:16 +0000
Received: by outflank-mailman (input) for mailman id 628201;
 Mon, 06 Nov 2023 16:10: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=4jw9=GT=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r02B5-0000KX-Tj
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 16:10:15 +0000
Received: from mail-oa1-x31.google.com (mail-oa1-x31.google.com
 [2001:4860:4864:20::31])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f754955b-7cbe-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 17:10:14 +0100 (CET)
Received: by mail-oa1-x31.google.com with SMTP id
 586e51a60fabf-1efa01323b4so3009375fac.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 08:10:13 -0800 (PST)
Received: from [10.95.110.31] (54-240-197-231.amazon.com. [54.240.197.231])
 by smtp.gmail.com with ESMTPSA id
 d31-20020ab014a2000000b007b0f0d45133sm1599687uae.25.2023.11.06.08.10.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 06 Nov 2023 08:10:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f754955b-7cbe-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699287012; x=1699891812; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=o9tVeKqMjlN1sJbwbYzCcGCuISPVc7ZyUOuNd53U1po=;
        b=XukNM3MfQE4oY/nBxbhPQFtqHLbTqAFbyfzTtc9JmeUaETTOKlwZCJRghbND7yYI43
         n41CMnWh3OQybSVMg3y3iOZRfniTAxdTi97EpK41Oz3RuuuoAOMRv2BG5tjDXIlNGsZw
         P3qWYa9vOV9OrCOgh+yjxVXfhrKJ9K+DjBlvUBnFw43XtOIKzUxD+UhKjmaxUCfY3+0M
         alp7ErY/tKlCIBAdmyGTe2xAj182gm3/SbuPOyX75SbABpDAGYp1A8GGqWF/AD8uacZc
         ypEP9Eb63fslZ0ELmdqv5Y8eZhhg1XjgMa0FyzHx9In4Z19qsoMkb2QLQIVcWL0Hk7DH
         ZnQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699287012; x=1699891812;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=o9tVeKqMjlN1sJbwbYzCcGCuISPVc7ZyUOuNd53U1po=;
        b=sWyylSjEqNEGuhBJ+MH0CPygXUcWPRrT4lRv5Z5eGHcH4z4/g/HkZJg9LJ20SKWIdF
         FsEMO8gC+PVLZbyNYmbPT4UwiuQYQhzT5apf1xuhdUbIZoeCeFjdvsvCTh0T+KmSlSWy
         UuKXhfuLUQBFkjYrDzq7CZztYktuJ7nQKGPVjGoXdaX1Cc9zj6xF8/quvb2mrZnthOto
         dSfdXhmE1DxaUa+KeSMJ0j4rXO5e2tWheEDcgw1DMentBoKlMxNoDO4Fil9RWvNfLmWU
         skLCQB0A6KJlUye/reMLPCecMQ5atp0SdfBRwRzgDT8PoVJsHrJHIdeI99N5a4xnxXHC
         g/LQ==
X-Gm-Message-State: AOJu0YyLBGNliT3mzEa8xUnGyIzqG6q3ccdOcjJosYDYw/glu8qZUpcX
	tEJwWV2lWzMdjDcWGcxdnK0=
X-Google-Smtp-Source: AGHT+IE/sRaTmVzjjCiO2dK5s1AvjHxOUyoPSJxnyNWlqiA3OF+6Q3xTw5HxTC+nzv/U1i2QoMa6WQ==
X-Received: by 2002:a05:6870:788:b0:1e9:c7cc:df9a with SMTP id en8-20020a056870078800b001e9c7ccdf9amr148125oab.11.1699287012406;
        Mon, 06 Nov 2023 08:10:12 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <9f15534c-8b79-4127-9b91-0dc449547833@xen.org>
Date: Mon, 6 Nov 2023 16:10:05 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v4 17/17] docs: update Xen-on-KVM documentation
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Jason Wang <jasowang@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 qemu-block@nongnu.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org
References: <20231106143507.1060610-1-dwmw2@infradead.org>
 <20231106143507.1060610-18-dwmw2@infradead.org>
Organization: Xen Project
In-Reply-To: <20231106143507.1060610-18-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 06/11/2023 14:35, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Add notes about console and network support, and how to launch PV guests.
> Clean up the disk configuration examples now that that's simpler, and
> remove the comment about IDE unplug on q35/AHCI now that it's fixed.
> 
> Update the -initrd option documentation to explain how to quote commas
> in module command lines, and reference it when documenting PV guests.
> 
> Also update stale avocado test filename in MAINTAINERS.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   MAINTAINERS              |   2 +-
>   docs/system/i386/xen.rst | 107 +++++++++++++++++++++++++++++----------
>   qemu-options.hx          |  14 +++--
>   3 files changed, 91 insertions(+), 32 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 16:22:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 16:22:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628206.979405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r02Mc-0003hu-UR; Mon, 06 Nov 2023 16:22:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628206.979405; Mon, 06 Nov 2023 16:22: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 1r02Mc-0003hn-RM; Mon, 06 Nov 2023 16:22:10 +0000
Received: by outflank-mailman (input) for mailman id 628206;
 Mon, 06 Nov 2023 16: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=fhP7=GT=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r02Ma-0003hh-S4
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 16:22:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20613.outbound.protection.outlook.com
 [2a01:111:f400:7d00::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a10a6f0f-7cc0-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 17:22:07 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7206.eurprd04.prod.outlook.com (2603:10a6:10:1a4::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.16; Mon, 6 Nov
 2023 16:22:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.016; Mon, 6 Nov 2023
 16:22: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: a10a6f0f-7cc0-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZXEedkAaEM6Rulcbs4IP3UGTbS1Q4Wdf82lLwhZLi+puVBneNLEt0fHSy9ifm7oGrjCesT8nS/662uHYKriu8/5EysSmzekG+LmT82ZKQtvi+jPM3Tv0H8AtsJfkl99RrGz6VcTFj0FVC8vWLMZ5L3zWKod+awzvRaknrfzBX3rbRAI7B1TfmDlbm2EEn0usQ4qqYMAMejqEWJXhPSqEDY7Y4OxObHklA2BYSVyDQo4MPMtsUkOj/ivjY3VgcT1hS4wdxYQmvf60JNhIZ8pQUejNHnBmzRXDBvr860btxL99MC9Kwk8SRe9aJY5JH8MotqOu0/e8HxIEmC/Fs8CNZw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2rAObDEDL1ynZezy8jMvZAdzISo3aJpqWQbI79H4Voo=;
 b=DSkVb27zfq6oEq42WSS/brqJCEb99P+fMYFG4SeGE73r2nHOyCzF4ssKc7irj9e3KXHlBaw0712xiv3ZE2scdrnZD3GTkCr10PzLxbWdKccQ2NMZWk8PPAcDft4Xnf84auzS/aARMVLKNe1lnulNyxjY4CInpvm8+OSMN075Rl7l14t6w2lUj9hPiAKfCrWIQhhdaYLwCQaHa3FuqS5ef49u2t044GqgjB+j9tCZiGh7wD+KSFOJYKoHl5ztgvdjTZaxBzMb6tpRKPnWkWEl9KjHhlO8QYxdNuT0ib2u0mBlPPGH+mzXCUEbFipkOuduzggdup2JK98MWi/S4SNbbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2rAObDEDL1ynZezy8jMvZAdzISo3aJpqWQbI79H4Voo=;
 b=GPIXSKJ+B80T0CAqShtNQiPQcwIooalB/z07uLHw979a9WkrUwMOe3d4IgIH5r7DKDnHf+iNP1qWC2zd1DVr08KhOlDEeJj8kdiB+2ioPZ/FOCqnO73yhTqS+81ZN2Hys9PF5+H/t7LtCisuvcGA2HgCxDoAiEnCG1fL1jdbQHMZeLpq0CjasRLPjU5OQdlXMxfVxf4NZhxm/Y0ZUKZDKwkF5GTBNwk7uy8mb34sP7j0ilsWiYYMP982Woa5UXKqe5MPB2SWSAb5LSmubsG3b9UvpuUxMoeyKAlP/n8UKXfzwnVV3hR27yCm0JL1IZ0nTjY32A56cQ/zaVhJ1y/5pA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <311c7b8b-f3b8-ecc0-3a98-62b9dc43ed98@suse.com>
Date: Mon, 6 Nov 2023 17:22:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v4] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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: <20231106142739.19650-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231106142739.19650-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7206:EE_
X-MS-Office365-Filtering-Correlation-Id: 0af1893a-4e6c-46b5-11b9-08dbdee483a6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Oy+74X5FLtEEoVXGwgIesnMqhfWICRHTxGhAd6LCEY336UwIzGk6xaoFk0g7XtVl7I0L+vyq1qroZ40TxIqqxb8naFKK3wg9SK5jP6R4xj7D3iUPxMVtKrsrEhEiH1j5bWP4SnmRsPMN0WD390XK1uHiuyGplpPky0JJIyFDfyipqFgwIUFEbVgWLvv5VzUcZ8h81S4h4lIspMOFN29hBSC8MV/cUpbCrYTfwQnXW4c9ZR0etN9Il8OZzcSUh/KF5yKsmYY3lP3ehLqWvUeAU8WxB/lhvhcZUV0ruL9H3GAP+rLkVSTLoaUx1wO1SAXW4eZx2nuhrGs7hlCVR9FL6x84TuYGHlnuIti1cTov2JGjgoBwAqqitrz+q7s1kLx5IwUFvG+Jor6UeMFBxzZw0QyhHZQhKShhDyGQux1mkj4ydmYFAG4HNW9pTz/lzJxoVGb1w0Teuod3b9ySnJR64xbEwYZAyjMu8fY0J6iHvQqUdHvy7zDXLCPaFatuOpEb9SH+y/RLUg5Qh7u8bvF0bUU3lgGqs79Nv5IHZ31R4T3EM/DMxl04Kb0qkMvAhioyi31W53HI/+mTmXfEHbw+3jPXrGURw0Fc/vov3JbRkY7xIHUXtp/0rzfHAK/7Rp1IUQ5Qz0p0LEbk6AFy5iwawdlwFo0ttT9g4Eo+0l15Y9/hBwuPDQ9zV5sSnBlIPE0M
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(396003)(346002)(366004)(39860400002)(230922051799003)(230173577357003)(230273577357003)(1800799009)(451199024)(64100799003)(186009)(2906002)(5660300002)(31696002)(86362001)(66946007)(316002)(6916009)(66556008)(66476007)(54906003)(8936002)(8676002)(4326008)(36756003)(41300700001)(26005)(2616005)(83380400001)(6512007)(53546011)(6506007)(38100700002)(31686004)(6486002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RTBPYytTQXA1RjVYTUlObGFrYkFBdm1XOUFyaVdkdjIwMlBJWEVTVUJPeWlG?=
 =?utf-8?B?Z0xkd1hQSDFQRVJ4L1VpTFNaNWZSSTVERjhTcUk3NEtQd2J4Z1NNckV5VHNY?=
 =?utf-8?B?bmFMYjFMdEkyRFEyQXd6YWxwVnYwV2FtMlZITTVDamIyTVBaVkxZZTJieFFE?=
 =?utf-8?B?WHU5aWtBbFNPSU5MZk1HYit2WktyUGZKb3ZsVlZtNllrcWs3STBTMkpFbkx2?=
 =?utf-8?B?bTMzTVljcXFwTS8vVDV2YVFFSFM2N25hWU9pNjY3VUhHZ0JQZWcwVS96U2NB?=
 =?utf-8?B?UjJPbXJJVm8zekE0RXMzMndPaHBNWXovb3pYS1BKR2RNRnZoUVoxSUZBSW05?=
 =?utf-8?B?cW01dDQ2ZTZxdFJodTNqUUVqMkhBY1Q1UzhiUVFMUFNHVmE5YnVwTHYzUU1R?=
 =?utf-8?B?WTViN1MyOWxiRUpUYXZHbnJ6eDFnM3hza3JFMXl5RGYwdlhabXlKbitpMFBL?=
 =?utf-8?B?SWo4NUZReStXMlhwUVNRZDNESm4wOUljTjJJY3RDNjJBTUF1NTRHc2JGN0sz?=
 =?utf-8?B?QXNEVGpFRnN5dUtQYTEzS0x2ME0yb3MxUzN1dzFmUTEralpLbDdsUzJYc1Bw?=
 =?utf-8?B?Ylo1a1ROSGFQbjE5azljU0VJSTJqRUJOUXZ5akdnVWIzMnBoZklCV1o0YXhw?=
 =?utf-8?B?SEhZRDhUMUlVZzNtMHlqRDB3YnlJOVhUSjZvQnF0ak9BNXRCSzFETFQyWVcz?=
 =?utf-8?B?WGNERTdoU2gzdDFpc2drbnovZ0RKMXMvUVkwOVI5TkQ2OC8rZ2p1UmVLb2M1?=
 =?utf-8?B?SE9YNnlkMi9QMUlmR3U0YzluaWNBWjF4TFVOUysyZkdJZ2ZLOGxZanpDMVVS?=
 =?utf-8?B?SjZTSG9pOS9KdnJTaVZteGhSd3RtbFEyS1k1TDRBZlU4c1lPNGZlZDVXOGQ4?=
 =?utf-8?B?VUU5NG1zNmV4NUZuUkN2WW1YdnN3c0VNM0VxRTNDbzhzUjl0d3Z2QnR0OGZ2?=
 =?utf-8?B?WmJrcTlpaG5LY3JXY0Zpc3ZUWjlhMWhvVkVSRlNaT2hkcUt2bzRRVWphWEFn?=
 =?utf-8?B?OTBLOGtHV3p5czN6ZkFSOXlaQVo2UzhUTGRIR0ZmTS9JMmxRYWk0MlZqcWVo?=
 =?utf-8?B?YnczOVk3VHFSTVU5dEtmNXpwQ1VMZkgzOVdtRUlDY1VQTTY2d3g1NGp5NzhP?=
 =?utf-8?B?ZG00UjF0c2lvRG4wSUdyOFJhQStLejBKeTlHTXZKdUxKVDcwY0xKWm5CdUE5?=
 =?utf-8?B?cVVxWTR4VVZ3Y3FuMkJYelFqT2pIcmhGYUR3ZFkzNWI4WjVsVzhKYVdPUCtN?=
 =?utf-8?B?dm5iVW5lN2ozSXU3UzExKy9CbWxBTHBLN1cwSWdVOVVMUTcreHFNU0J0SitX?=
 =?utf-8?B?VzVDM3pieVVqVEtoS1R3dEkyeE83WjRpeVBLMmFSVTJpOWU5S2RDVlJKeVRZ?=
 =?utf-8?B?V2dkVEp6a2xYNm5hVitYcGQ2T2hoWXNoTFFvWVBzMXRuQkNqaG5vd3hBdmZx?=
 =?utf-8?B?c2lqL2lYbXdqTDJVUEZjdEdCZWZKalNWbDNKNHBXd0J6MFFIVGdrS3h0TGl5?=
 =?utf-8?B?QStvTjMzaEtYUkFQVzBvYTNrayt1ekNWT282bndmczdXMnAzd0JrMmg3bFJv?=
 =?utf-8?B?d0VRWm83L1JBWXlKeGdoRzhoMlVSOWwrS2RTM0p3dVBzVDJOTTRmSTNzVXFh?=
 =?utf-8?B?S2F5M0p1ekZjOXVhMmZGblpTeklEUVR2eDdJYTFOY2hFWVo5UU11RnJtYmlD?=
 =?utf-8?B?TGdab25YbGNicnZWU0JrRWZ3Z3pWRTEzQmE3STJ6UXlMaGtDUGRYbmd5d3Vq?=
 =?utf-8?B?S0xxOGZoN1Y3WVI0MWRxbEU2bXJSUll1UE8xNHV6YVZ0NTFIMVA2UHJ1VEdU?=
 =?utf-8?B?bGVDYXNrQit2Um9oanoyVW9sNmhibzdSTEt4YWU0cFFJNmpJUzBDR3B2UGxk?=
 =?utf-8?B?dFpISmg5VFQ0MXNpdGhKT0h1L2VyV0pibEpyRDRHWlZmUGpxWDJkbTVmNldL?=
 =?utf-8?B?YUZtWjN5V2RNQS8rc0prcjNMS2s2ckRKNDF4dmozNFpwS1N3c0tiWDlBanhY?=
 =?utf-8?B?RmlIMHhKR25qVDV2QVYvSUVPN0hlM3VvRUtpWENLcW85NXh4OTd4RkVBS1U2?=
 =?utf-8?B?azVZcVZHOVRtM1JDRG8vMDVXQ244VGlUTDhYV21oeW9lR3dnWmZKOXdzbVlx?=
 =?utf-8?Q?7hgBQreeF1nNkIK3L7ktftGWK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0af1893a-4e6c-46b5-11b9-08dbdee483a6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 16:22:04.6755
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3RVdN/lAGbR8MEqHyhbnAt5s6Z3KKEliJGIOQZuAnDTeS4PSd0WJhCLE0E1cGUxJ7DYX8ppdMrU4mhm6Sg1TRQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7206

On 06.11.2023 15:27, Roger Pau Monne wrote:
> The current implementation of x2APIC requires to either use Cluster Logical or
> Physical mode for all interrupts.  However the selection of Physical vs Logical
> is not done at APIC setup, an APIC can be addressed both in Physical or Logical
> destination modes concurrently.
> 
> Introduce a new x2APIC mode called Mixed, which uses Logical Cluster mode for
> IPIs, and Physical mode for external interrupts, thus attempting to use the
> best method for each interrupt type.
> 
> Using Physical mode for external interrupts allows more vectors to be used, and
> interrupt balancing to be more accurate.
> 
> Using Logical Cluster mode for IPIs allows fewer accesses to the ICR register
> when sending those, as multiple CPUs can be targeted with a single ICR register
> write.
> 
> A simple test calling flush_tlb_all() 10000 times on a tight loop on AMD EPYC
> 9754 with 512 CPUs gives the following figures in nano seconds:
> 
> x mixed
> + phys
> * cluster
>     N           Min           Max        Median           Avg        Stddev
> x  25 3.5131328e+08 3.5716441e+08 3.5410987e+08 3.5432659e+08     1566737.4
> +  12  1.231082e+09  1.238824e+09 1.2370528e+09 1.2357981e+09     2853892.9
> Difference at 95.0% confidence
> 	8.81472e+08 +/- 1.46849e+06
> 	248.774% +/- 0.96566%
> 	(Student's t, pooled s = 2.05985e+06)
> *  11 3.5099276e+08 3.5561459e+08 3.5461234e+08 3.5415668e+08     1415071.9
> No difference proven at 95.0% confidence
> 
> So Mixed has no difference when compared to Cluster mode, and Physical mode is
> 248% slower when compared to either Mixed or Cluster modes with a 95%
> confidence.
> 
> Note that Xen uses Cluster mode by default, and hence is already using the
> fastest way for IPI delivery at the cost of reducing the amount of vectors
> available system-wide.
> 
> Make the newly introduced mode the default one.
> 
> Note the printing of the APIC addressing mode done in connect_bsp_APIC() has
> been removed, as with the newly introduced mixed mode this would require more
> fine grained printing, or else would be incorrect.  The addressing mode can
> already be derived from the APIC driver in use, which is printed by different
> helpers.
> 
> Suggested-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Nov 06 16:40:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 16:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628213.979415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r02eW-0000uj-Et; Mon, 06 Nov 2023 16:40:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628213.979415; Mon, 06 Nov 2023 16: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 1r02eW-0000uc-C9; Mon, 06 Nov 2023 16:40:40 +0000
Received: by outflank-mailman (input) for mailman id 628213;
 Mon, 06 Nov 2023 16:40: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=leKN=GT=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r02eV-0000uW-GT
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 16:40:39 +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 37455159-7cc3-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 17:40:38 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-9d0b4dfd60dso692532366b.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 08:40:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 37455159-7cc3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699288838; x=1699893638; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=tDmapJXd1vsGd9OWGdQBsESQ54MAu9BnA2MHGJJm2ek=;
        b=H0qz2IH01KHToXFRERTFRvwmH++KDMZCwrL+wktHwBdRUTo+/46HbRU+tZJVAqKh5O
         PtOEcI+cCl1OkLAyaivoIVkuooeR15PDbtrl+fuaCKn2j69XYkUPXX8eGiTp7Nu2Xbaa
         lMboRkhh6UcecmiQh7mshcwqL07fxbzk72NvE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699288838; x=1699893638;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=tDmapJXd1vsGd9OWGdQBsESQ54MAu9BnA2MHGJJm2ek=;
        b=duJwvHIaG+qFAQHzCXIrk2f0Gyv43Ato0zXEuH15xOylxbT9Qn5YRCqsdBdcZdJ4Iy
         +HzP88O+mLXYMRONBa2fEESl95dU9fG97OHUaQBrEkifOaiBXqdGj1XDh5G9vmMbX1kw
         yH3cgVl6HrqaPcyjA2f+6fCZdbV23pwN+/wDwMmN1CPNKzLRLTSuxi15tWGqQr0ZUpa3
         rFfeMKf0c0GK0D7fF1zY57poAEn9qiiXAUABSbNCnCP7P91LWBCkNhfUK6NOyTcqi3Lv
         L05x3IJo4SX2BflWOgfz5LHVvgTQEvXJmDwdm89glQNELlxT+1Fji0Y8HNCB558SlNRP
         2F3g==
X-Gm-Message-State: AOJu0YwU6RhxyKCi+gRvRg5gxOSzIPavmzbgPcbBynwVuR3DpvLnWw0j
	regO0ixxwitk+p1bcU9TcaNO0UtlUo4gJoPLJ4aBmWnwPv/JwhNCF74=
X-Google-Smtp-Source: AGHT+IEvvaK2jKI868CRglEFLlYiWXmkN/ubLFlgBWYQdWpF56+8ENOupEY5tN00gd+1fnw0Q6/6ECMU7IYRBJ9Md4s=
X-Received: by 2002:a17:907:1def:b0:9d6:d78f:cdd9 with SMTP id
 og47-20020a1709071def00b009d6d78fcdd9mr11745152ejc.35.1699288837703; Mon, 06
 Nov 2023 08:40:37 -0800 (PST)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 6 Nov 2023 16:40:01 +0000
Message-ID: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com>
Subject: Informal voting proposal
To: xen-devel@lists.xenproject.org, committers@xenproject.org
Content-Type: multipart/alternative; boundary="0000000000008adfaa06097e83da"

--0000000000008adfaa06097e83da
Content-Type: text/plain; charset="UTF-8"

Hi all,

As an open-source community, there will always be differences of opinion in
approaches and the way we think. It is imperative, however, that we view
this diversity as a source of strength rather than a hindrance.

Recent deliberations within our project have led to certain matters being
put on hold due to an inability to reach a consensus. While formal voting
procedures serve their purpose, they can be time-consuming and may not
always lead to meaningful progress.

Having received agreement from a few maintainers already, I would like to
propose the following:

*Informal voting method:*

   1. Each project should ideally have more than 2 maintainers to
   facilitate impartial discussions. Projects lacking this configuration will
   be addressed at a later stage.
   2. Anyone in the community is welcome to voice their opinions, ideas,
   and concerns about any patch or contribution.
   3. If members cannot agree, the majority informal vote of the
   maintainers will be the decision that stands. For instance, if, after
   careful consideration of all suggestions and concerns, 2 out of 3
   maintainers endorse a solution within the x86 subsystem, it shall be the
   decision we move forward with.
   4. Naturally, there may be exceptional circumstances, as such, a formal
   vote may be warranted but should happen only a few times a year for serious
   cases only.
   5. Informal votes can be as easy as 2 out of 3 maintainers providing
   their Acked-by/Reviewed-by tag. Alternatively, Maintainers can call an
   informal vote by simply emailing the thread with "informal vote proposed,
   option 1 and option 2."
   6. *All maintainers should reply with their vote within 5 working days.*

   7. Please note that with any new process, there will always be room for
   improvement and we will reiterate where needed.

Ultimately our goal here is to prevent the project coming to a standstill
while deliberating decisions that we all cannot agree on. This may mean
compromising in the short term but I am sure the long-term benefits will
stand for themselves.

*If you have any strong objections to the informal voting, please let me
know by 30th November 2023. *
*Should I receive no objections, the process will be implemented as of 1st
December 2023.*

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group

--0000000000008adfaa06097e83da
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<div><br>As an open-source community, there will al=
ways be differences of opinion in approaches and the way we think. It is im=
perative, however, that we view this diversity as a source of strength rath=
er than a hindrance.<br><br>Recent deliberations within our project have le=
d to certain matters being put on hold due to an inability to reach a conse=
nsus. While formal voting procedures serve their purpose, they can be time-=
consuming and may not always lead to meaningful progress.<div><br></div><di=
v>Having received agreement from a few maintainers already, I would like to=
 propose=C2=A0the following:</div><div><br></div><div><b>Informal voting me=
thod:</b></div><div><ol><li>Each project should ideally have more than 2 ma=
intainers to facilitate impartial discussions. Projects lacking this config=
uration will be addressed at a later stage.</li><li>Anyone in the community=
 is welcome to voice their opinions, ideas, and concerns about any patch or=
 contribution.</li><li>If members cannot agree, the majority informal vote =
of the maintainers will be the decision that stands. For instance, if, afte=
r careful consideration of all suggestions and concerns, 2 out of 3 maintai=
ners endorse a solution within the x86 subsystem, it shall be the decision =
we move forward with.</li><li>Naturally, there may be exceptional circumsta=
nces, as such, a formal vote may be warranted but should happen only a few =
times a year for serious cases only.</li><li>Informal votes can be as easy =
as 2 out of 3 maintainers providing their Acked-by/Reviewed-by tag. Alterna=
tively, Maintainers can call an informal vote by simply emailing the thread=
 with &quot;informal vote proposed, option 1 and option 2.&quot;=C2=A0</li>=
<li><b>All maintainers should reply with their vote within 5 working days.<=
/b>=C2=A0=C2=A0</li><li>Please note that with any new process, there will a=
lways be room for improvement and we will reiterate where needed.</li></ol>=
<div>Ultimately=C2=A0our goal here is to prevent the project coming to a st=
andstill while deliberating decisions that=C2=A0we all cannot agree on. Thi=
s may mean compromising in the short term but I am sure the long-term benef=
its will stand for themselves.=C2=A0=C2=A0</div><div><font color=3D"#ff0000=
"><br></font></div><div><font color=3D"#ff0000"><b>If you have any strong o=
bjections to the informal voting, please let me know by <u>30th November 20=
23.=C2=A0</u></b></font></div><div><font color=3D"#ff0000"><b>Should I rece=
ive no objections, the process will be implemented as of 1st December 2023.=
</b></font></div><div><br></div></div><div><div><div dir=3D"ltr" class=3D"g=
mail_signature" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>Ma=
ny thanks,</div><div>Kelly Choi</div><div><br></div><div><div style=3D"colo=
r:rgb(136,136,136)">Open Source Community Manager</div><div style=3D"color:=
rgb(136,136,136)">XenServer, Cloud Software Group</div></div></div></div></=
div></div></div></div>

--0000000000008adfaa06097e83da--


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 16:53:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 16:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628218.979425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r02rH-0004N1-Fv; Mon, 06 Nov 2023 16:53:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628218.979425; Mon, 06 Nov 2023 16:53: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 1r02rH-0004Mu-DD; Mon, 06 Nov 2023 16:53:51 +0000
Received: by outflank-mailman (input) for mailman id 628218;
 Mon, 06 Nov 2023 16:53:50 +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 1r02rG-0004Mo-5c
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 16:53:50 +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 1r02rF-0006oe-M4; Mon, 06 Nov 2023 16:53:49 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=[192.168.14.214]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r02rF-0007o7-FH; Mon, 06 Nov 2023 16:53: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=btsdVK4i3azk38huuzg8H8AnqlWbJMY+Yd36RmWSKvQ=; b=6b4nlT7KpjDVzyEB9yZlSKcskF
	l5qxUPmIrCl2BHN/StTNLpALz3M+bnX1E8EDmRR4PIIwwpdd8K0tF3c9/ArSgzYqxS5Xx8jmi6Cjq
	1H7I9pDFlYAmOV++s/h9y8yx1i1DJwv1mNu2AE7Va87N5iJSyOnY1jWENM2YburX/ZNI=;
Message-ID: <fc503d74-7b08-4802-8b23-4809369a4ddb@xen.org>
Date: Mon, 6 Nov 2023 16:53:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 8/8] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Penny Zheng <Penny.Zheng@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
References: <20231023021345.1731436-1-Henry.Wang@arm.com>
 <20231023021345.1731436-9-Henry.Wang@arm.com>
 <fcc12d0f-5529-4f2a-a721-f6f92410e5b7@xen.org>
 <EA7BFF62-76A3-494B-B3EF-67E0664F98E8@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <EA7BFF62-76A3-494B-B3EF-67E0664F98E8@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 02/11/2023 00:35, Henry Wang wrote:
> Hi Julien,

Hi,

>> On Nov 2, 2023, at 02:34, Julien Grall <julien@xen.org> wrote:
>>
>> Hi Henry,
>>
>> On 23/10/2023 03:13, Henry Wang wrote:
>>> From: Penny Zheng <penny.zheng@arm.com>
>>> Current P2M implementation is designed for MMU system only.
>>> We move the MMU-specific codes into mmu/p2m.c, and only keep generic
>>> codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
>>> definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
>>> Also expose previously static functions p2m_vmid_allocator_init(),
>>> p2m_alloc_vmid() for further MPU usage. Since with the code movement
>>> p2m_free_vmid() is now used in two files, also expose p2m_free_vmid().
>>> With the code movement, global variable max_vmid is used in multiple
>>> files instead of a single file (and will be used in MPU P2M
>>> implementation), declare it in the header and remove the "static" of
>>> this variable.
>>> Also, since p2m_invalidate_root() should be MMU only and after the
>>> code movement the only caller of p2m_invalidate_root() outside of
>>> mmu/p2m.c is arch_domain_creation_finished(), creating a new function
>>> named p2m_domain_creation_finished() in mmu/p2m.c for the original
>>> code in arch_domain_creation_finished(), and marking
>>> p2m_invalidate_root() as static.
>>> Take the opportunity to fix the incorrect coding style when possible.
>>> When there is bit shift in macros, take the opportunity to add the
>>> missing 'U' as a compliance of MISRA.
>>> Signed-off-by: Penny Zheng <penny.zheng@arm.com>
>>> Signed-off-by: Wei Chen <wei.chen@arm.com>
>>> Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>>
>> Acked-by: Julien Grall <jgrall@amazon.com>
> 
> Thanks!
> 
>>
>> I think the series is now fully acked. But I will wait for 4.18 to be released before merging this series.
> 
> I think the third patch "xen/arm: Fold mmu_init_secondary_cpu() to head.S” will need the
> double check from your side :)

Oh yes :).

> 
> Here is what I have locally, to save time I will just show the content here for you to check,
> and I will push it in the next few days:
> 
> commit ba72d6dc17fd7ce9a863b9e00b06b33c069c7641
> Author: Henry Wang <Henry.Wang@arm.com>
> Date:   Wed Aug 23 17:59:50 2023 +0800
> 
>      xen/arm: Fold mmu_init_secondary_cpu() to head.S
> 
>      Currently mmu_init_secondary_cpu() only enforces the page table
>      should not contain mapping that are both Writable and eXecutables
>      after boot. To ease the arch/arm/mm.c split work, fold this function
>      to head.S.
> 
>      For arm32, the WXN bit cannot be set early because at the point when
>      the MMU is enabled, the page-tables may still contain mapping which
>      are writable and executable. Therefore, introduce an assembly macro
>      pt_enforce_wxn. The macro is called before secondary CPUs jumping
>      into the C world.
> 
>      For arm64, set the SCTLR_Axx_ELx_WXN flag right when the MMU is
>      enabled. This would avoid the extra TLB flush and SCTLR dance.
> 
>      Signed-off-by: Henry Wang <Henry.Wang@arm.com>
>      Co-authored-by: Julien Grall <jgrall@amazon.com>
>      Signed-off-by: Julien Grall <jgrall@amazon.com>
>      Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>

The commit message is clearer. Thanks! Feel free to add my tag for the 
next version:

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 17:08:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 17:08:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628224.979435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0355-0007zv-Ng; Mon, 06 Nov 2023 17:08:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628224.979435; Mon, 06 Nov 2023 17: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 1r0355-0007zo-Ka; Mon, 06 Nov 2023 17:08:07 +0000
Received: by outflank-mailman (input) for mailman id 628224;
 Mon, 06 Nov 2023 17:08:06 +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 1r0354-0007zh-FB
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 17:08:06 +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 1r0354-0007Gq-22; Mon, 06 Nov 2023 17:08:06 +0000
Received: from 54-240-197-224.amazon.com ([54.240.197.224]
 helo=[192.168.14.214]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0353-0002IH-Rl; Mon, 06 Nov 2023 17:08: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=3hpd9zPnm6XprtG0Ez6b9BbuPXzY0XN/8DYrhp8JOFU=; b=ftFVql0Fh8hl9ikwJTwWwYnw2S
	2CsJHu2/njV6U+lW9tZsiZKGDgrMlkD0sya6sfxsXSbkW15ketmJEuxwTskme0Dz9ZrLXOcAUHMwn
	ROVL+Zyltw5h2ZhvmPML8k+kCFtGbSBjQEBHwIM9p9czvHUNZcxSvwiFA8YSVlTO65O8=;
Message-ID: <9de0ddc1-9932-430d-bb46-9aab86ddc0b4@xen.org>
Date: Mon, 6 Nov 2023 17:08:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/arm32: head: Introduce
 enable_{boot,secondary}_cpu_mm()
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com, michal.orzel@arm.com,
 henry.wang@arm.com, Volodymyr_Babchuk@epam.com
References: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
 <20231103173436.3912488-2-ayan.kumar.halder@amd.com>
 <98557d2a-234b-4031-a812-174c31892d52@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <98557d2a-234b-4031-a812-174c31892d52@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 06/11/2023 06:46, Michal Orzel wrote:
> On 03/11/2023 18:34, Ayan Kumar Halder wrote:
>> +/*
>> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
>> + * 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 - r6
>> + */
>> +enable_boot_cpu_mm:
>> +        mov   r6, lr
>> +
>> +        bl    create_page_tables
>> +
>> +        /* Address in the runtime mapping to jump to after the MMU is enabled */
>> +        mov_w lr, 1f
>> +        b     enable_mmu
>> +1:
>> +        /* Return to the virtual address requested by the caller. */
> I find this comment a bit misleading as it reads as if this instruction was causing a return.

For the arm64 side, we have the comment on top of the branch 
instruction. I would suggest the following:

"
Prepare the fixmap. The function will return to the virtual address 
requested by the caller.
"

> 
> Apart from that, this change LGTM. Depending on the order of other arm32 head.S patches:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> ~Michal

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 17:11:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 17:11:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628228.979444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r038d-0001iB-6B; Mon, 06 Nov 2023 17:11:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628228.979444; Mon, 06 Nov 2023 17:11: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 1r038d-0001i4-3F; Mon, 06 Nov 2023 17:11:47 +0000
Received: by outflank-mailman (input) for mailman id 628228;
 Mon, 06 Nov 2023 17:11: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 1r038b-0001hu-IX
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 17:11: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 1r038b-0007Ji-1B; Mon, 06 Nov 2023 17:11:45 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.14.214]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r038a-0002cA-Ry; Mon, 06 Nov 2023 17: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>
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=/tlXdg1zsTQDxNrnksF8yi1uUeG7Q24OPNiDvP4b4bU=; b=E4hkHYuJexe9W2drNZHVcgYWVc
	HPiiG8Bw1tVGudijs9Qqi+LZVqWQD7MXykafaiRmA4/0qixnGbMnuXNfhJzmNAevDEEdk8mtVbuRG
	xMBctjUSRRTVVvUSnGZt/xjhofX4QY1HVdxUwz7iMl0wGsqTTYWxpOZ5IB8iUSTHuWVY=;
Message-ID: <342f045a-0291-4f4b-9e89-db0b208a8ae1@xen.org>
Date: Mon, 6 Nov 2023 17:11:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/2] xen/arm32: head: Introduce
 enable_{boot,secondary}_cpu_mm()
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com, michal.orzel@arm.com,
 henry.wang@arm.com, Volodymyr_Babchuk@epam.com
References: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
 <20231103173436.3912488-2-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231103173436.3912488-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 03/11/2023 17:34, Ayan Kumar Halder wrote:
> All the MMU related functionality have been clubbed together in
> enable_boot_cpu_mm() for booting primary cpu and enable_secondary_cpu_mm() for
> booting secondary cpus.
> This is done in preparation for moving the code related to MMU in MMU specific
> file and in order to support non MMU cpus in future.
> 
> This is based on d2f8df5b3ede commit.
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> ---
> 
> Changes from :-
> 
> v1 - 1. Added a proper commit message.
> 2. Some style and other fixes suggested in v1.
> 
>   xen/arch/arm/arm32/head.S | 89 +++++++++++++++++++++++++++++----------
>   1 file changed, 67 insertions(+), 22 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 2d7e690bf5..7004443798 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -201,13 +201,11 @@ past_zImage:
>   
>           bl    check_cpu_mode
>           bl    cpu_init
> -        bl    create_page_tables
>   
> -        /* Address in the runtime mapping to jump to after the MMU is enabled */
>           mov_w lr, primary_switched
> -        b     enable_mmu
> +        b     enable_boot_cpu_mm
> +
>   primary_switched:
> -        bl    setup_fixmap
>   #ifdef CONFIG_EARLY_PRINTK
>           /* Use a virtual address to access the UART. */
>           mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
> @@ -249,27 +247,11 @@ GLOBAL(init_secondary)
>   #endif
>           bl    check_cpu_mode
>           bl    cpu_init
> -        bl    create_page_tables
>   
> -        /* 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
> -         * setup in prepare_secondary_mm.
> -         *
> -         * XXX: This is not compliant with the Arm Arm.
> -         */
> -        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
> -        ldrd  r4, r5, [r4]           /* Actual value */
> -        dsb
> -        mcrr  CP64(r4, r5, HTTBR)
> -        dsb
> -        isb
> -        flush_xen_tlb_local r0
> -        pt_enforce_wxn r0
> +        b     enable_secondary_cpu_mm
>   
> +secondary_switched:
>   #ifdef CONFIG_EARLY_PRINTK
>           /* Use a virtual address to access the UART. */
>           mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
> @@ -692,6 +674,69 @@ ready_to_switch:
>           mov   pc, lr
>   ENDPROC(switch_to_runtime_mapping)
>   
> +/*
> + * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
> + * 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 - r6

r12 will also be set. I think you want to mention it (may be not in 
clobbers) with its purpose within the function as it is less obvious 
than r6.

> + */
> +enable_secondary_cpu_mm:
> +        mov   r6, lr
> +
> +        bl    create_page_tables
> +
> +        /* Address in the runtime mapping to jump to after the MMU is enabled */
> +        mov_w lr, 1f
> +        b     enable_mmu
> +1:
> +        /*
> +         * Non-boot CPUs need to move on to the proper pagetables, which were
> +         * setup in prepare_secondary_mm.
> +         *
> +         * XXX: This is not compliant with the Arm Arm.
> +         */
> +        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
> +        ldrd  r4, r5, [r4]           /* Actual value */
> +        dsb
> +        mcrr  CP64(r4, r5, HTTBR)
> +        dsb
> +        isb
> +        flush_xen_tlb_local r0
> +        pt_enforce_wxn r0
> +
> +        /* Return to the virtual address requested by the caller. */
> +        mov   pc, r6
> +ENDPROC(enable_secondary_cpu_mm)
> +
> +/*
> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
> + * 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 - r6

Same here.


With that and Michal's comment addressed:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 17:12:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 17:12:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628232.979455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r039U-0002FQ-F5; Mon, 06 Nov 2023 17:12:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628232.979455; Mon, 06 Nov 2023 17: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 1r039U-0002FH-Bn; Mon, 06 Nov 2023 17:12:40 +0000
Received: by outflank-mailman (input) for mailman id 628232;
 Mon, 06 Nov 2023 17:12: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=Z8vV=GT=redhat.com=mpatocka@srs-se1.protection.inumbo.net>)
 id 1r039S-0002En-G0
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 17:12:38 +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 adebd26b-7cc7-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 18:12:36 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-632-_45CrAGuNjOuxKLbB7FT_Q-1; Mon,
 06 Nov 2023 12:12:31 -0500
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com
 [10.11.54.3])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 674ED3821568;
 Mon,  6 Nov 2023 17:12:30 +0000 (UTC)
Received: from file1-rdu.file-001.prod.rdu2.dc.redhat.com (unknown
 [10.11.5.21])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 47C5D1121308;
 Mon,  6 Nov 2023 17:12:30 +0000 (UTC)
Received: by file1-rdu.file-001.prod.rdu2.dc.redhat.com (Postfix,
 from userid 12668)
 id 3227530C72A7; Mon,  6 Nov 2023 17:12:30 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by file1-rdu.file-001.prod.rdu2.dc.redhat.com (Postfix) with ESMTP id
 2E33F3FD16; Mon,  6 Nov 2023 18:12:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adebd26b-7cc7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1699290755;
	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=xtsXGyrCZBmUJfCxzrPKMMdVxxHur1sL8JecsuLgwa0=;
	b=Y+0xfMr2o5tCEnJaHnfqd7QUVxuT1ZZgxZs+imYKxly0YcZ/DEkMftE2YZBB7d0m3kIAZ/
	S8Pfphv0I1F7+uesArUFqzAuOaUh7tDy4ZR8RlcdyjQHab+0zecKpDpdK8Eia1QhtST6Md
	wWpQ9XED4ohq9YgBOEgLsuISksliftA=
X-MC-Unique: _45CrAGuNjOuxKLbB7FT_Q-1
Date: Mon, 6 Nov 2023 18:12:30 +0100 (CET)
From: Mikulas Patocka <mpatocka@redhat.com>
To: Mike Snitzer <snitzer@kernel.org>
cc: Keith Busch <kbusch@kernel.org>, Christoph Hellwig <hch@lst.de>, 
    Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, iommu@lists.linux.dev, 
    Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>, 
    Jens Axboe <axboe@fb.com>, Sagi Grimberg <sagi@grimberg.me>, 
    Jan Kara <jack@suse.cz>, Vlastimil Babka <vbabka@suse.cz>, 
    Andrew Morton <akpm@linux-foundation.org>, 
    Matthew Wilcox <willy@infradead.org>, Michal Hocko <mhocko@suse.com>, 
    stable@vger.kernel.org, regressions@lists.linux.dev, 
    Alasdair Kergon <agk@redhat.com>, dm-devel@lists.linux.dev, 
    linux-mm@kvack.org
Subject: [PATCH v2] swiotlb-xen: provide the "max_mapping_size" method
In-Reply-To: <ZUkGpblDX637QV9y@redhat.com>
Message-ID: <151bef41-e817-aea9-675-a35fdac4ed@redhat.com>
References: <3cb4133c-b6db-9187-a678-11ed8c9456e@redhat.com> <ZUUctamEFtAlSnSV@mail-itl> <ZUUlqJoS6_1IznzT@kbusch-mbp.dhcp.thefacebook.com> <ZUVYT1Xp4+hFT27W@mail-itl> <ZUV3TApYYoh_oiRR@kbusch-mbp.dhcp.thefacebook.com> <11a9886d-316c-edcd-d6da-24ad0b9a2b4@redhat.com>
 <ZUZOKitOAqqKiJ4n@kbusch-mbp.dhcp.thefacebook.com> <20231106071008.GB17022@lst.de> <928b5df7-fada-cf2f-6f6a-257a84547c3@redhat.com> <ZUkDUXDF6g4P86F3@kbusch-mbp.dhcp.thefacebook.com> <ZUkGpblDX637QV9y@redhat.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="185210117-1837111149-1699290694=:1497320"
Content-ID: <478c056-3a19-eb50-34da-911cf13fc558@redhat.com>
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--185210117-1837111149-1699290694=:1497320
Content-Type: text/plain; CHARSET=ISO-8859-15
Content-Transfer-Encoding: 8BIT
Content-ID: <4468b751-727c-3ffb-15cc-683422283a27@redhat.com>

From: Keith Busch <kbusch@kernel.org>

There's a bug that when using the XEN hypervisor with bios with large
multi-page bio vectors on NVMe, the kernel deadlocks [1].

The deadlocks are caused by inability to map a large bio vector -
dma_map_sgtable always returns an error, this gets propagated to the block
layer as BLK_STS_RESOURCE and the block layer retries the request
indefinitely.

XEN uses the swiotlb framework to map discontiguous pages into contiguous
runs that are submitted to the PCIe device. The swiotlb framework has a
limitation on the length of a mapping - this needs to be announced with
the max_mapping_size method to make sure that the hardware drivers do not
create larger mappings.

Without max_mapping_size, the NVMe block driver would create large
mappings that overrun the maximum mapping size.

Reported-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>
Link: https://lore.kernel.org/stable/ZTNH0qtmint%2FzLJZ@mail-itl/ [1]
Tested-by: Marek Marczykowski-Grecki <marmarek@invisiblethingslab.com>
Suggested-by: Christoph Hellwig <hch@lst.de>
Cc: stable@vger.kernel.org
Signed-off-by: Keith Busch <kbusch@kernel.org>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>

---
 drivers/xen/swiotlb-xen.c |    1 +
 1 file changed, 1 insertion(+)

Index: linux-stable/drivers/xen/swiotlb-xen.c
===================================================================
--- linux-stable.orig/drivers/xen/swiotlb-xen.c	2023-11-03 17:57:18.000000000 +0100
+++ linux-stable/drivers/xen/swiotlb-xen.c	2023-11-06 15:30:59.000000000 +0100
@@ -405,4 +405,5 @@ const struct dma_map_ops xen_swiotlb_dma
 	.get_sgtable = dma_common_get_sgtable,
 	.alloc_pages = dma_common_alloc_pages,
 	.free_pages = dma_common_free_pages,
+	.max_mapping_size = swiotlb_max_mapping_size,
 };
--185210117-1837111149-1699290694=:1497320--



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 17:20:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 17:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628240.979465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r03Gy-0005Sx-DE; Mon, 06 Nov 2023 17:20:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628240.979465; Mon, 06 Nov 2023 17:20: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 1r03Gy-0005Sq-9s; Mon, 06 Nov 2023 17:20:24 +0000
Received: by outflank-mailman (input) for mailman id 628240;
 Mon, 06 Nov 2023 17:20: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 1r03Gx-0005Sk-9X
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 17:20: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 1r03Gw-0007UL-SK; Mon, 06 Nov 2023 17:20:22 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.14.214]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r03Gw-0002oo-KR; Mon, 06 Nov 2023 17:20: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=IDnGh/AYMoQD8T3di00ptgrEEFC0VvzvYfbGbs9gsqU=; b=zgX4jg35fhz95gl0i5F3UkB86K
	JZJcifjKvBDZXZW+at9SUMeiIGh7aCxJUQTXOtWndoktpdaPqHPhDF8olnIb0Boy4pUehU3u4SB4Q
	0qPeX9F3iZAW6j0WaCN1JH9jtpIJgnPN+ahOpVpkmjd+nBgT9NQdwcgQlLXcGM7BP/Hs=;
Message-ID: <63c5c386-ccff-4688-a335-3983129392b8@xen.org>
Date: Mon, 6 Nov 2023 17:20:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] xen/arm32: head Split and move MMU-specific head.S
 to mmu/head.S
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com, michal.orzel@arm.com,
 henry.wang@arm.com, Volodymyr_Babchuk@epam.com
References: <20231103173436.3912488-1-ayan.kumar.halder@amd.com>
 <20231103173436.3912488-3-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231103173436.3912488-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Ayan,

On 03/11/2023 17:34, Ayan Kumar Halder wrote:
> The MMU specific code in head.S will not be used on MPU systems.
> Instead of introducing more #ifdefs which will bring complexity
> to the code, move MMU related code to mmu/head.S and keep common
> code in head.S. Two notes while moving:
>   - As "fail" in original head.S is very simple and this name is too
>     easy to be conflicted, duplicate it in mmu/head.S instead of
>     exporting it.
>   - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm and
>     setup_fixmap as they will be used externally.
> 
> Also move the assembly macros shared by head.S and mmu/head.S to
> macros.h.
> 
> Note that, only the first 4KB of Xen image will be mapped as identity
> (PA == VA). At the moment, Xen guarantees this by having everything
> that needs to be used in the identity mapping in .text.header section
> of head.S, and the size will be checked by _idmap_start and _idmap_end
> at link time if this fits in 4KB. Since we are introducing a new head.S
> in this patch, although we can add .text.header to the new file to
> guarantee all identity map code still in the first 4KB. However, the
> order of these two files on this 4KB depends on the build toolchains.
> Hence, introduce a new section named .text.idmap in the region between
> _idmap_start and _idmap_end. And in Xen linker script, we force the
> .text.idmap contents to linked after .text.header. This will ensure
> code of head.S always be at the top of Xen binary.
This paragraph doesn't make much sense as you don't introduce 
.text.idmap. Instead, you piggy back on a previous commit. So I would 
suggest to delete it.

[...]

> +.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 */
> +        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
> +
> +        lsr   r4, \phys, #THIRD_SHIFT
> +        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
> +
> +        movw  r2, #\type             /* r2:r3 := right for section PT */
> +        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
> +        mov   r3, #0
> +
> +        adr_l r4, \ptbl
> +
> +        strd  r2, r3, [r4, r1]
> +.endm

Newline here please.

> +.section .text.idmap, "ax", %progbits

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 17:41:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 17:41:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628244.979476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r03as-0002qj-2l; Mon, 06 Nov 2023 17:40:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628244.979476; Mon, 06 Nov 2023 17:40: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 1r03ar-0002qc-Uf; Mon, 06 Nov 2023 17:40:57 +0000
Received: by outflank-mailman (input) for mailman id 628244;
 Mon, 06 Nov 2023 17:40: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 1r03aq-0002qW-DG
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 17:40: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 1r03aj-00080S-4k; Mon, 06 Nov 2023 17:40:49 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[192.168.14.214]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r03ai-0003kd-UJ; Mon, 06 Nov 2023 17:40: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:To:Subject:MIME-Version:Date:Message-ID;
	bh=1WIafKxbXySPh1fBpOElj/hEX6FkM0qWCQyGa7IvW8Y=; b=cj26dw4cGo0poaQvKr+qIS3eU3
	ujS+QlVXHHOY96AxY4yUjutmirCUrkkxGBbpAPpruN1qlIWiSgPgxEYPf6f8p6x8qiAwNkrZ3i6Kr
	GEEs2dEl/oC3kVMHQcS9kLWYmMzXQFuLvtk3apPKAIsKEHyN631+tmYdvXD0ryi1/Fa0=;
Message-ID: <39e6d4b3-5468-4b91-a030-f36bcce3583d@xen.org>
Date: Mon, 6 Nov 2023 17:40:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Informal voting proposal
Content-Language: en-GB
To: Kelly Choi <kelly.choi@cloud.com>, xen-devel@lists.xenproject.org,
 committers@xenproject.org
References: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Kelly,

On 06/11/2023 16:40, Kelly Choi wrote:
> Hi all,
> 
> As an open-source community, there will always be differences of opinion in
> approaches and the way we think. It is imperative, however, that we view
> this diversity as a source of strength rather than a hindrance.
> 
> Recent deliberations within our project have led to certain matters being
> put on hold due to an inability to reach a consensus. While formal voting
> procedures serve their purpose, they can be time-consuming and may not
> always lead to meaningful progress.
> 
> Having received agreement from a few maintainers already, I would like to
> propose the following:

Thanks for the sending the proposal. While I like the idea of informal 
vote to move faster, I would like to ask some clarifications.

> 
> *Informal voting method:*
> 
>     1. Each project should ideally have more than 2 maintainers to
>     facilitate impartial discussions. Projects lacking this configuration will
>     be addressed at a later stage.
>     2. Anyone in the community is welcome to voice their opinions, ideas,
>     and concerns about any patch or contribution.
>     3. If members cannot agree, the majority informal vote of the
>     maintainers will be the decision that stands. For instance, if, after
>     careful consideration of all suggestions and concerns, 2 out of 3
>     maintainers endorse a solution within the x86 subsystem, it shall be the
>     decision we move forward with.

How do you know that all the options have been carefully considered?

>     4. Naturally, there may be exceptional circumstances, as such, a formal
>     vote may be warranted but should happen only a few times a year for serious
>     cases only.
Similarly here, you are suggesting that a formal vote can be called. But 
it is not super clear what would be the condition it could be used and 
how it can be called.

For instance, per the informal rule, if 2 out of 3 maintainers accept. 
Then it would be sensible for the patch to be merged as soon as the 5 
days windows is closed. Yet the 3rd maintainer technically object it. So 
could that maintainer request a formal vote? If so, how long do they have?

>     5. Informal votes can be as easy as 2 out of 3 maintainers providing
>     their Acked-by/Reviewed-by tag. Alternatively, Maintainers can call an
>     informal vote by simply emailing the thread with "informal vote proposed,
>     option 1 and option 2."
>     6. *All maintainers should reply with their vote within 5 working days.*

While I understand we want to move fast, this means that a maintainer 
that is away for PTO would not have the opportunity to answer.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 17:48:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 17:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628248.979485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r03hk-0005AU-Oj; Mon, 06 Nov 2023 17:48:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628248.979485; Mon, 06 Nov 2023 17:48: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 1r03hk-0005AN-Lv; Mon, 06 Nov 2023 17:48:04 +0000
Received: by outflank-mailman (input) for mailman id 628248;
 Mon, 06 Nov 2023 17:48: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=/fhL=GT=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r03hi-0005AH-NK
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 17:48:02 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2061f.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f7cba29-7ccc-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 18:47:59 +0100 (CET)
Received: from DM6PR17CA0008.namprd17.prod.outlook.com (2603:10b6:5:1b3::21)
 by PH7PR12MB6489.namprd12.prod.outlook.com (2603:10b6:510:1f7::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Mon, 6 Nov
 2023 17:47:56 +0000
Received: from DS3PEPF000099D9.namprd04.prod.outlook.com
 (2603:10b6:5:1b3:cafe::d4) by DM6PR17CA0008.outlook.office365.com
 (2603:10b6:5:1b3::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28 via Frontend
 Transport; Mon, 6 Nov 2023 17:47:55 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS3PEPF000099D9.mail.protection.outlook.com (10.167.17.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Mon, 6 Nov 2023 17:47:55 +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.2507.32; Mon, 6 Nov
 2023 11:47:54 -0600
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.2507.32; Mon, 6 Nov
 2023 11:47:54 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 6 Nov 2023 11:47:52 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f7cba29-7ccc-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f6Okd9k2Bu+ub8rn5Fz9yMmBgchVsQHuAZrZIjFegV5oWeak/g9fdYd7dCRfkwDSQN/RmnSbjScqRNRHmisbholjogxNsExrugjGIlmX8PFSQ8HVytN4uXnclriM9FdBXw+AdXC98ri0fBaeTO/0qlBTvTTGsllO4MLVGMCp/UYBtUl2rJ3JDZ8tfyWJVWgaezDU/DvxdNbarVxLTHoen03fXRZ8hEMJ6eh2FsWQze0YA9FBOQRELm1J4mM6VHXmvaUR2vdAT8VTqW0qgXf49mGShPkBF49rNwlmXjqol9ulOgBXl3xZqWJvawm+ijccjQWIj1aexQ8T8jZih0/kMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cx8pDRogpcYqms54K2gsyznF472DXVcc//V/df7+vAk=;
 b=DePEPe7bTaQu5IUNQwXzxA9C8fz60Y968QKWYvs1P8WN08Y6CBJpY3cp4uTkoZ29YWS5L6CaMcT0Miovx04IbCcpKFKRAnxhdUpG0WAEFLTrwv7vKFVKfilu+D5TiTBOrFGEYIxU/d8umJn2wVQ5nZxJMQqgDoyxHJsSgvsntMZCsQILiYwiw5AM0yXdhI0cZGcJ4Z/rbo7niiYJAgSbCL6zl3a0SiBrkDTTGoBQsRM+HBZ8qym/8Esi0hkPJxOUxXPNWgx9yRPivAZKxN5kPCFyXhGUuQ4jGFehdKTK4M++WE7ak/D+PRv/hQPDk83D1Fg7hpZ+b/WEIk13WnbQvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=cx8pDRogpcYqms54K2gsyznF472DXVcc//V/df7+vAk=;
 b=ZBN/QyNZiqy2eo7/+kV7ymDIhynxFg227lRVrSK5zYjBIzOru41WTdh5PVLJgttJKuK5kLwKjTJ25WOzveM2DQ2plf2K+1+V4XbZryiCxhkySIlTlEoOlwJCL0a6Xe8Tr8ZoHH4rYpj/1uvCvtD5YjygjTYpAEwXvC2PkoysotU=
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: <1b5b4c60-e6b9-4f89-bafc-1410be9a8f3a@amd.com>
Date: Mon, 6 Nov 2023 12:47:52 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 8/9] Revert "xen/arm: Add cmdline boot option
 "pci-passthrough = <boolean>""
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@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>, 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: <20231004145604.1085358-1-stewart.hildebrand@amd.com>
 <20231004145604.1085358-9-stewart.hildebrand@amd.com>
 <2f802877-1d89-4d28-9f47-a13e7cd277c0@xen.org>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <2f802877-1d89-4d28-9f47-a13e7cd277c0@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099D9:EE_|PH7PR12MB6489:EE_
X-MS-Office365-Filtering-Correlation-Id: 1faecca8-3a47-4be4-fac3-08dbdef081ee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rpCFaLzcqN/TRmyH0VAGbPbIE1F8Tp54rg/Qx9uIr2IGKI/1ZswPNMauSRaHXkn0qF3kg7cvoq8D5TeRAx4+di/C8fMjw3PW+CSTNwU66NodmQT+FWVJOdatxjA85DLf8GfTgXgmNs6r8TQbN1KSZyZo5O4kYSSxrUH74JxSq1j1Qibhm7l6ulSdd8xv+Wb4gOAPcCLQXI2SAmobbL9qdKG+r1tTXcJIGNR7Vx+vDUsfImDQuT/IwiLe9AT0vBeOcsuNx1tSFnKcFLuWQ/RBvrwHDydN9/IURgkjpJQxsyLfVHJ/ziPYdTM37xFUb1djUdkXGM+avnIB/2LZvOg75h3OG3ASKfqXZenpapSCWYmemFSmHFRSoOL/AX1RWCgkuT5A+ni7Lve5LobCm4kQN+DIta/LXRvsvfHH63AGpLaaMR5B/V750H2Jn3mfHylnF1f5bnwrnXwQalho24QL/exUgCwAG1ygEO3n5W42GlL0LNUKoQembw8kJQjEsvpV+LkT59WOZ6UyF6qXStZwhwBj2zGA4N4A8KWLsFfVdngX84ltUv/FCvvW4WZyU0x5dEbY1gqfU4dpvI6LE3BLoKDjjeC2zCeocHsCn5aurkl9+NSdCV/4CRlfHGfq1NNKiDbSEtwMOnkLalVZchaKyKFuoauwcxgagZ97ied64gnBgAxAZMTQtTQ5yKbW+hdOCm0JXGzo+w7JFr8CqMvFA+VXPJUw30IdV/6FRwY/yGZo2d5hnqjKlBkHQ91DL12Q/NGlTU+DnbHMQQGiCmXaKGPA52DqilUsnxhTYPE5+Zr1TzcQ9IK3gfYIylN9ufQt
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:(13230031)(4636009)(346002)(376002)(39860400002)(396003)(136003)(230922051799003)(82310400011)(451199024)(1800799009)(64100799003)(186009)(46966006)(36840700001)(40470700004)(8676002)(44832011)(2616005)(426003)(40460700003)(336012)(5660300002)(31696002)(70586007)(70206006)(82740400003)(26005)(478600001)(36756003)(54906003)(16576012)(110136005)(316002)(53546011)(4326008)(40480700001)(2906002)(47076005)(4744005)(8936002)(36860700001)(41300700001)(81166007)(86362001)(356005)(7416002)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 17:47:55.3840
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1faecca8-3a47-4be4-fac3-08dbdef081ee
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:
	DS3PEPF000099D9.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB6489

On 10/20/23 14:13, Julien Grall wrote:
> Hi,
> 
> On 04/10/2023 15:55, Stewart Hildebrand wrote:
>> From: Rahul Singh <rahul.singh@arm.com>
>>
>> This enables us to use IOMMU + PCI in dom0 without having to specify
>> "pci-passthrough=yes".
> 
> IIRC, the goal was to also allow to easily disable PCI passthrough (IOW
> vPCI at boot time). How would you do that now?

Right, a full revert would not allow that. I'll drop this revert/patch. Instead, allowing the PHYSDEVOP_pci_device_{add,remove} calls and xen/arch/arm/pci/pci.c:pci_init() to succeed in case of pci-passthrough=no looks like it'll work.

> 
>>
>> This reverts commit 15517ed61f55be6039aedcc99720ee07c772ed44.
> 
> Rahul's signed-off-by and yours are missing.
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:21:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:21:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628257.979494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r059c-0000pO-GV; Mon, 06 Nov 2023 19:20:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628257.979494; Mon, 06 Nov 2023 19:20: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 1r059c-0000pH-Dh; Mon, 06 Nov 2023 19:20:56 +0000
Received: by outflank-mailman (input) for mailman id 628257;
 Mon, 06 Nov 2023 19:20: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=m4Jo=GT=gmail.com=pryorm09@srs-se1.protection.inumbo.net>)
 id 1r059b-0000pB-K9
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:20:55 +0000
Received: from mail-vk1-xa2d.google.com (mail-vk1-xa2d.google.com
 [2607:f8b0:4864:20::a2d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99dc4153-7cd9-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:20:53 +0100 (CET)
Received: by mail-vk1-xa2d.google.com with SMTP id
 71dfb90a1353d-4ac0d137835so1095043e0c.2
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 11:20:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99dc4153-7cd9-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699298452; x=1699903252; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=IhUgSwMNdcZHFfcMC0yDUBum+5v3yqsB458IxpUAuKs=;
        b=F/r1fdqUYYj+kK7MJmbZFg1dIRzYRzJVy9CqHarP8/fK1yQgUDT35Ltpef9+vkZRC5
         f5TP5iC0SSfQJN8JySUdBhJBxAv2Yhr/VuLs3S+D/OoXJEadU3BqRg0Yaw0GiC1HcIin
         MQEGHIy5+1QMaQBk+VeEV8FciNox8eiArF/k3qP0jo2TkrXqePdGEDYT+7WCbBHZfxbM
         OcHMcIU1sFydnu3IcTM8OHl00lcDnUx+KvGzuea2MP1WycGGm9lZ+AotqLt5esqaEbIE
         tMlGlmC0qP2mtLGFq3rI9u8I+6NezMomYV1/6EfksbcpUj6cRqvi5Gg9qLjk2RVcl3jk
         +A1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699298452; x=1699903252;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=IhUgSwMNdcZHFfcMC0yDUBum+5v3yqsB458IxpUAuKs=;
        b=W0LdLwsy6vWUru7lslWrIbK1m2ao1yInyB9es2TQdOWlO2dQ+1mYw9aH1x95dUeXEL
         qF6zUwQe0+MX+ENdogz2TF83Z8C8S1JigPtvy+6HhsKeq6NNX0pil4aQmx/LQOM5pveO
         XHOc1VyVsFpt6EyDNAAfr+6CYZMf/HE8XXlc96ASV3TmaBNrYqv/hmC1HadP+owNCYk0
         sKctvEzbY58xhmsU1ZMjIzlkde3Bp8enZXvlsq8R3qYqthYKqR8//P4/8OTj1OvTXW5k
         W/UpovgLwIpy7/fZkZ089DfYLh/n748De/Tk/bMDp2TDaQorQ/uh+uYRlNzkB9AgjLpu
         1yfQ==
X-Gm-Message-State: AOJu0YzRUphGb2jt0YmyrUi29y1c+hDTWVRWPZ4fHummNZOtWFk+kevd
	78alVG5FumW37oiEy9pEHL7p6Iiyvx4SttMTpHoMmI8m6vo=
X-Google-Smtp-Source: AGHT+IESMY3ya3Ey42BjQaUcH79crMcso4lBRt6hBuqxe/07IvzWXpTCCHqEQZm7FULYhACQtGcJwdAl+U33Qq+zEGY=
X-Received: by 2002:a1f:ad52:0:b0:49a:9146:ec02 with SMTP id
 w79-20020a1fad52000000b0049a9146ec02mr26464312vke.1.1699298451953; Mon, 06
 Nov 2023 11:20:51 -0800 (PST)
MIME-Version: 1.0
From: Pry Mar <pryorm09@gmail.com>
Date: Mon, 6 Nov 2023 11:20:40 -0800
Message-ID: <CAHnBbQ_LT9hhpBO3=zKoxPe2uoK9OY7zvTKFhbtX+GwHfgduXw@mail.gmail.com>
Subject: [kernel-6.5-bug] with xen-4.18~rc4 on ub-24.04 noble, booting xen
 domU shows UBSAN errors in blkback & netback drivers
To: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="00000000000098a24d060980c062"

--00000000000098a24d060980c062
Content-Type: text/plain; charset="UTF-8"

Hello,

These 2 errors show in dmesg late in boot process when xen domU launch:
1)  blkback
UBSAN: array-index-out-of-bounds in
/build/linux-D15vQj/linux-6.5.0/drivers/block/xen-blkback/blkback.c:1227:4

2) netback
[   55.209063] UBSAN: array-index-out-of-bounds in
/build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netback/netback.c:289:3
[   55.209268] index 3 is out of range for type 'xen_netif_tx_sring_entry
[1]'
[   55.209401] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.5.0-9-generic
#9-Ubuntu

The xen sources don't seem to generate these UBSAN errors and I included
the patch from staging-4.18. It seems only the xen related kernel drivers
are
doing UBSAN errors.

BTW the dom0 works fine. The xen-4.18~rc4 debian delta was a forward port
from Jammy.

cheers,
PryMar56
##xen-packaging on OFTC

--00000000000098a24d060980c062
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello,</div><div><br></div><div>These 2 errors show i=
n dmesg late in boot process when xen domU launch:<br></div><div>1)=C2=A0 b=
lkback<br></div><div>UBSAN: array-index-out-of-bounds in /build/linux-D15vQ=
j/linux-6.5.0/drivers/block/xen-blkback/blkback.c:1227:4</div><div><br></di=
v><div>2) netback<br></div><div>[ =C2=A0 55.209063] UBSAN: array-index-out-=
of-bounds in /build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netback/netbac=
k.c:289:3<br>[ =C2=A0 55.209268] index 3 is out of range for type &#39;xen_=
netif_tx_sring_entry [1]&#39;<br>[ =C2=A0 55.209401] CPU: 3 PID: 0 Comm: sw=
apper/3 Not tainted 6.5.0-9-generic #9-Ubuntu</div><div><br></div><div>The =
xen sources don&#39;t seem to generate these UBSAN errors and I included th=
e patch from staging-4.18. It seems only the xen related kernel drivers are=
</div><div>doing UBSAN errors.</div><div><br></div><div>BTW the dom0 works =
fine. The xen-4.18~rc4 debian delta was a forward port from Jammy.</div><di=
v><br></div><div>cheers,</div><div>PryMar56</div><div>##xen-packaging on OF=
TC<br></div><div><br></div></div>

--00000000000098a24d060980c062--


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:27:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628262.979504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05GG-0002KV-5V; Mon, 06 Nov 2023 19:27:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628262.979504; Mon, 06 Nov 2023 19:27: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 1r05GG-0002KO-31; Mon, 06 Nov 2023 19:27:48 +0000
Received: by outflank-mailman (input) for mailman id 628262;
 Mon, 06 Nov 2023 19:27: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 1r05GF-0002KE-Al; Mon, 06 Nov 2023 19:27: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 1r05GF-0001xa-70; Mon, 06 Nov 2023 19:27: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 1r05GE-0003z9-SG; Mon, 06 Nov 2023 19:27:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r05GE-0001uP-Rp; Mon, 06 Nov 2023 19: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=MzTveY2+5Jg+hwxx39T/qNghzAswNmGWMjHSWNGMCbo=; b=c4/IBUj5eso5tcsKC4dMsNMGi6
	dRdjbd2NIYRwOwjlZDwmqPM1+oZ1BNPyaPe106paCjaq+7VHeG/DBUlfIfECWipVI3lXzboYHeHGJ
	hni9WQ+6cQG+aBHmaib4+n7SJWopjYGdrwmOY1d4avQzy1vryBG/cLg+WN9woV/gIOiU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183694-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183694: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef
X-Osstest-Versions-That:
    xen=5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 06 Nov 2023 19:27:46 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef
baseline version:
 xen                  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7

Last test of basis   183670  2023-11-03 11:00:26 Z    3 days
Testing same since   183694  2023-11-06 17:02:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  George Dunlap <george.dunlap@cloud.com>
  Jason Andryuk <jandryuk@gmail.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   5ae0a4ad38..1f849edc2f  1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:34:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:34:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628269.979515 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05MI-000445-Tj; Mon, 06 Nov 2023 19:34:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628269.979515; Mon, 06 Nov 2023 19: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 1r05MI-00043y-QW; Mon, 06 Nov 2023 19:34:02 +0000
Received: by outflank-mailman (input) for mailman id 628269;
 Mon, 06 Nov 2023 19:34: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=H3DI=GT=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r05MH-00043s-Vc
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:34:01 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f9f74df-7cdb-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:34:00 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-540c54944c4so9703209a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 11:34:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f9f74df-7cdb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699299240; x=1699904040; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8wU0DABnWXR+b7H1Q7egghnKD5yBKkBHjShRejw6yjM=;
        b=mmW0VvhvNP+M3QBXjQZ0Nskx+q2kqU9sEFM0ttUWqs0aEqJdfoDGCBU51ShgkznHsS
         5aMDnpcUk7QiWFm0AleXMuMgocwes1t5ebbvzkpWtvheTyE6PVHLCxuz4iayw/I7lOj+
         XLKBq8FV+7QvybxHCLpT7kizIdt1hACkmJE3duRsjmCrG15uwpuilBsGKUCi75gSytjh
         QHwforrvePyii78u7q/tqkSv7E2BTNE8xVPRqFwOZrSKUQvVHKoLTby9JHNe6CI66M/H
         58RAkPu5PtlVcLpv3gOhOoq7LmrT7+qClR0b6rU1iNhjz9Sd9k9bOyDp4juyGAiy/cFd
         TS2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699299240; x=1699904040;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8wU0DABnWXR+b7H1Q7egghnKD5yBKkBHjShRejw6yjM=;
        b=YoC9RIYvE6KbEEKOhCQBaWHNWFJgRbL5/NCtYcPi/S8x9g7xjex7xEgaKGGFI+jN3z
         SeI3GkhTuI5YC9LyOq2oRGfomtY115SoGu628NVjH//UOPr0yBWKLGDb7eAKu7JdrFMZ
         ME3L8a0SKpymEMd/PcwwUYAcMObSghj5oUtCqfMLrQxODjb6t4ftVW6is3dlV8K9obt3
         UyQvG4KWMcvKvkjTTTwNJPHEpBa8QXLqDfiOwt9TeuZgv0inneB+DNVQg2cFuvxemE1c
         Hq/ZjLScoPt4/te+Na2UJ3lSYGIoCQ8VkHj9oWHcS16kR8TDUNjlOE+s8ZkU/vWlXzWk
         6sqg==
X-Gm-Message-State: AOJu0YxCQMIO9bDpPCCwraV6nuXiT2NoMppm3eOfhUfOaqagX+cMS7sX
	eF4OmG29egrKw5+q8zxBKvITj5HFW0LOm7UDL/E=
X-Google-Smtp-Source: AGHT+IEQ7KmihvZrEodUruNY6mDJZtm4gUK77oG0+bN3ZTRf/9oKJYAQVgMfNsQG/etzvjPXmWh2lQd+uge6R5/Uwq8=
X-Received: by 2002:a50:d6d5:0:b0:543:57dd:503 with SMTP id
 l21-20020a50d6d5000000b0054357dd0503mr471202edj.3.1699299240208; Mon, 06 Nov
 2023 11:34:00 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-10-jgross@suse.com>
In-Reply-To: <20231101093325.30302-10-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 6 Nov 2023 14:33:48 -0500
Message-ID: <CAKf6xpt44k5zVjeeYR3vaAxXXc0oMn=r0m+eKpa6KMB6idK-qw@mail.gmail.com>
Subject: Re: [PATCH 09/29] tools/xenlogd: add 9pfs open request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 6:13=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the open request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/xenlogd/io.c      | 130 ++++++++++++++++++++++++++++++++++++++++
>  tools/xenlogd/xenlogd.h |   4 ++
>  2 files changed, 134 insertions(+)
>
> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> index 778e1dc2c9..c2b259f42e 100644
> --- a/tools/xenlogd/io.c
> +++ b/tools/xenlogd/io.c

> @@ -734,6 +745,121 @@ static void p9_walk(device *device, struct p9_heade=
r *hdr)
>      free(names);
>  }
>
> +static int open_flags_from_mode(uint8_t mode)
> +{
> +    int flags;
> +
> +    switch ( mode & P9_OMODEMASK )
> +    {
> +    case P9_OREAD:
> +        flags =3D O_RDONLY;
> +        break;
> +
> +    case P9_OWRITE:
> +        flags =3D O_WRONLY;
> +        break;
> +
> +    case P9_ORDWR:
> +        flags =3D O_RDWR;
> +        break;
> +
> +    default:
> +        return -1;
> +    }
> +
> +    if ( mode & P9_OTRUNC )
> +        flags |=3D O_TRUNC;

"""
In addition, if mode has the OTRUNC (0x10) bit set, the file is to be
truncated, which requires write permission (if the file is
append-only, and permission is granted, the open succeeds but the file
will not be trun- cated);
"""

This relies on libc O_TRUNC handling - I think that is probably better
than something custom so you get the libc semantics.

> +
> +    return flags;
> +}
> +
> +static unsigned int get_iounit(device *device, struct stat *st)
> +{
> +    return (device->max_size - st->st_blksize) & ~(st->st_blksize - 1);
> +}
> +
> +static void p9_open(device *device, struct p9_header *hdr)
> +{
> +    uint32_t fid;
> +    uint8_t mode;
> +    struct p9_fid *fidp;
> +    struct stat st;
> +    struct p9_qid qid;
> +    uint32_t iounit;
> +    int flags;
> +    int ret;
> +
> +    ret =3D fill_data(device, "Ub", &fid, &mode);
> +    if ( ret !=3D 2 )
> +    {
> +        p9_error(device, hdr->tag, EINVAL);
> +        return;
> +    }
> +    if ( mode & ~(P9_OMODEMASK | P9_OTRUNC | P9_OREMOVE) )
> +    {
> +        p9_error(device, hdr->tag, EINVAL);
> +        return;
> +    }
> +
> +    fidp =3D find_fid(device, fid);
> +    if ( !fidp )
> +    {
> +        p9_error(device, hdr->tag, ENOENT);

If the host_path points at a populated directory, there is nothing
that populates the fids for pre-existing files and directories?  So
those files cannot be opened?  I guess that's not needed for
Xenstore-stubdom?

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:36:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:36:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628273.979525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05OR-00054h-9d; Mon, 06 Nov 2023 19:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628273.979525; Mon, 06 Nov 2023 19:36: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 1r05OR-00054a-5d; Mon, 06 Nov 2023 19:36:15 +0000
Received: by outflank-mailman (input) for mailman id 628273;
 Mon, 06 Nov 2023 19:36: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=H3DI=GT=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r05OP-00054U-JO
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:36:13 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bda619b1-7cdb-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:36:11 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-53dfc28a2afso8232461a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 11:36:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bda619b1-7cdb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699299371; x=1699904171; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wf/XTjzBC/pMVYJ/UzNvpO+cbOr+u1lKMFDp/0CyKds=;
        b=dL3JavqKRXBqLTjgHq55Rn3rFaEZWaciyjOl9GLxhQl90TJefTXYpNDfurtVH8Q9Aj
         kZSO2IJYZVy0AbZg6GgkfMQXC+dTKi4IGagUcv5SstkxW6ObHsDf7zevqB7SnVIybPsM
         xtzGmBnqugpIMod0qAuxxLDKE1j2oZNmTB/Xbj2P/QXU/m7CH0siL3I1a9oVm6qPQlOU
         T25RUWTNn/LR2yPqK+f5KLyV8SSOwYj/9zCHcsf4aM60CBTFBKdR/8Dyd4NdRn+I4cyw
         8Ipz6NMz00Nkv7MPZnW7Is2VSMrjECFMzpqfz0VmhneG4TnsIup3/LzjAybW3Cb3aIxz
         laQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699299371; x=1699904171;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wf/XTjzBC/pMVYJ/UzNvpO+cbOr+u1lKMFDp/0CyKds=;
        b=thsY4L9Z60Bn1nz5s1pDCzB7z5x6WEstAMxmgcW9td1WrkSqGPRrlkz1oduszepRk6
         hD6aeZ1d9X1SMSVXrltx29DhtA0g/21vd1g05g2+DFVc5h7T/CeZ0fk56DYSvIO8MIQC
         nhhJlbPErp8Y61FEen4LS31LHeJkRIld65TF1Z71wd/cO69qsiu+LZzt8C60VZE6rzBR
         gRBWzAeBclWfKZMZ7kU8KCIu+45o0JvE+bW3fvCqTwE3ZDX2jtgsGJTOpEtUD6JlOZ9r
         q1V9IKlt4nxR0XqisRXapU82umBzd5WlVnMYrfVn7I04nl3m2D8jixzx4cbJeg/JcvzZ
         FThw==
X-Gm-Message-State: AOJu0Yy+sf3hRDM7+l14uNc2xsn1yJHQUeYOCAVEdLX5pAs1BF1eo+iX
	53gwMjRyPX5gaPdh50LjwXUPqgSIfV2ThBilXKA=
X-Google-Smtp-Source: AGHT+IHVSx7tlQFhnmo58+OAxzf/JjENYICF6qV9h8S863wDtx7fn3V4fkqeZN0jJM9wQk8x2675mRW42c3kT4oFanE=
X-Received: by 2002:a50:d483:0:b0:544:55c3:ccf9 with SMTP id
 s3-20020a50d483000000b0054455c3ccf9mr5891481edi.22.1699299371101; Mon, 06 Nov
 2023 11:36:11 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-11-jgross@suse.com>
In-Reply-To: <20231101093325.30302-11-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 6 Nov 2023 14:35:59 -0500
Message-ID: <CAKf6xpvKvJiKh1qSfPRHVeuy5V_7E=_-owvd5mbSy0NSDJwioA@mail.gmail.com>
Subject: Re: [PATCH 10/29] tools/xenlogd: add 9pfs clunk request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 8:26=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the clunk request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:53:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628278.979535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05f3-0008Op-Kb; Mon, 06 Nov 2023 19:53:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628278.979535; Mon, 06 Nov 2023 19:53: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 1r05f3-0008Oi-Hv; Mon, 06 Nov 2023 19:53:25 +0000
Received: by outflank-mailman (input) for mailman id 628278;
 Mon, 06 Nov 2023 19:53: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=H3DI=GT=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r05f1-0008OT-Ui
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:53:23 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2431229d-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:53:22 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-507bd64814fso6595435e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 11:53:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2431229d-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699300402; x=1699905202; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dypKsM/okWu/oQXIO+rsol5GgpxF+vS+NW0YmoY6b7k=;
        b=K4sMz3Q+obsD1EbGtJppjgn4lKg5cF5Ab+l+ChxeUX8GW8uX9Z0nflNyJl2r/OXJ9L
         PLPf0PjH+PPKXb3SqjxMAsHhbWqvEWZKK0XKe5MEE1aw5U7VZrLkVu+9ccfbG6u7UpSV
         iwRbisXSRJip/xKaxf4jnNUKzff4Ce+5OkDT4LM0/Ntri8DLH4KjJKLy6qRZrXUxKYWN
         l/4HjKgl6Yk8s7i2iRrUec9GjlKIZGF9WMT80D56BOa02onUwtWb5lR2lJbD/YWHUKGr
         JDZHlMKXyvppkjyHH1FhiSJGunZRxMLYRrApVxGOkgIIZgePKj/Q62plBcNg7/OfhcF8
         NiFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699300402; x=1699905202;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dypKsM/okWu/oQXIO+rsol5GgpxF+vS+NW0YmoY6b7k=;
        b=H47dqBYHvsXYpWetVWJPGFeQ7P8i+1U3n78lqVQT44fESExa/0V8hNcLp5wFcloU9Z
         J+7fSevrhEak7W43rN0xrUkjekheziLxe2x9knZBE/BYOdM1dtg+H6ned8mF4OUP3Sgv
         2rUG+tbyBPDc5DeSOyZMKiXnpsOPeo9F9z0pq8TGKhLOB+xZMJuVCRdWewMcxUJwJKK3
         R48k19dq9JjVSNhoULrQ94a3/P7AG3Djly/exEdzJlrmKVXt6+Qx2ajaHK21jbDFMQb8
         l4YNDxsX/q53m0qvDgcV5tnF4V/s11wNxeAik8Jjk+FSDYKfawWvk8N8Ec4XMhlL2KrC
         7+jg==
X-Gm-Message-State: AOJu0YwELlBeyGj8KpVWnhU1hNHmZbIt3lgFE2VGm/gU9amG6hWACOLy
	651+59Wn0lMalOB1DREqFMr6AeiPYG0IjJ4YCqriUZVQvmI=
X-Google-Smtp-Source: AGHT+IGgViUJvrdZSfSKFyD+DiUWJWlCPaOWgrhC9F5rRBPOiZZwCI/SKo+BESiYRqY5BUqDBQnlzANKaL9MX2RxAjk=
X-Received: by 2002:ac2:5467:0:b0:4fe:8c1d:9e81 with SMTP id
 e7-20020ac25467000000b004fe8c1d9e81mr21027134lfn.36.1699300401936; Mon, 06
 Nov 2023 11:53:21 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-12-jgross@suse.com>
In-Reply-To: <20231101093325.30302-12-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 6 Nov 2023 14:53:09 -0500
Message-ID: <CAKf6xpu1-tQCY-DRtr2A7fo5=koKR4SjdKEw5J3EsUcY-8iO9Q@mail.gmail.com>
Subject: Re: [PATCH 11/29] tools/xenlogd: add 9pfs create request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 6:48=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the create request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/xenlogd/io.c | 133 +++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 133 insertions(+)
>
> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> index 2607095e51..34f137be1b 100644
> --- a/tools/xenlogd/io.c
> +++ b/tools/xenlogd/io.c
> @@ -31,6 +31,7 @@
>  #define P9_CMD_ERROR      107
>  #define P9_CMD_WALK       110
>  #define P9_CMD_OPEN       112
> +#define P9_CMD_CREATE     114
>  #define P9_CMD_CLUNK      120
>
>  /* P9 protocol open flags. */
> @@ -41,6 +42,12 @@
>  #define P9_OTRUNC        0x10   /* or'ed in, truncate file first */
>  #define P9_OREMOVE       0x40   /* or'ed in, remove file after clunk */
>
> +/* P9 protocol create permission masks. */
> +#define P9_CREATE_PERM_DIR        0x80000000
> +#define P9_CREATE_PERM_NOTSUPP    0x03b00000   /* link, symlink, ... */
> +#define P9_CREATE_PERM_DIR_MASK   0777
> +#define P9_CREATE_PERM_FILE_MASK  0666
> +
>  #define P9_MIN_MSIZE      2048
>  #define P9_VERSION        "9P2000.u"
>  #define P9_WALK_MAXELEM   16
> @@ -861,6 +868,128 @@ static void p9_open(device *device, struct p9_heade=
r *hdr)
>      fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
>  }
>
> +static void p9_create(device *device, struct p9_header *hdr)
> +{
> +    uint32_t fid;
> +    unsigned int name_off;
> +    uint32_t perm;
> +    uint8_t mode;
> +    unsigned int ext_off;
> +    struct p9_fid *fidp;
> +    struct p9_fid *new_fidp;
> +    char *path;
> +    struct stat st;
> +    struct p9_qid qid;
> +    uint32_t iounit;
> +    int flags;
> +    int ret;
> +
> +    ret =3D fill_data(device, "USUbS", &fid, &name_off, &perm, &mode, &e=
xt_off);
> +    if ( ret !=3D 5 )
> +    {
> +        p9_error(device, hdr->tag, EINVAL);
> +        return;
> +    }
> +
> +    if ( !name_ok(device->str + name_off) )
> +    {
> +        p9_error(device, hdr->tag, ENOENT);
> +        return;
> +    }
> +
> +    if ( perm & P9_CREATE_PERM_NOTSUPP )
> +    {
> +        p9_error(device, hdr->tag, EINVAL);
> +        return;
> +    }
> +
> +    fidp =3D find_fid(device, fid);
> +    if ( !fidp || fidp->opened )
> +    {
> +        p9_error(device, hdr->tag, EINVAL);
> +        return;
> +    }
> +
> +    path =3D malloc(strlen(fidp->path) + strlen(device->str + name_off) =
+ 2 -
> +                  strlen(device->host_path));
> +    if ( !path )
> +    {
> +        p9_error(device, hdr->tag, ENOMEM);
> +        return;
> +    }
> +    sprintf(path, "%s/%s", fidp->path + strlen(device->host_path),
> +            device->str + name_off);
> +    new_fidp =3D alloc_fid_mem(device, fid, path);
> +    free(path);
> +    if ( !new_fidp )
> +    {
> +        p9_error(device, hdr->tag, ENOMEM);
> +        return;
> +    }
> +
> +    if ( perm & P9_CREATE_PERM_DIR )
> +    {
> +        if ( mode !=3D P9_OREAD )
> +        {
> +            p9_error(device, hdr->tag, EINVAL);
> +            free(new_fidp);
> +            return;
> +        }
> +        if ( mkdir(new_fidp->path, perm & P9_CREATE_PERM_DIR_MASK) < 0 )
> +        {
> +            p9_error(device, hdr->tag, errno);
> +            free(new_fidp);
> +            return;
> +        }
> +
> +        XEN_TAILQ_REMOVE(&device->fids, fidp, list);
> +        XEN_TAILQ_INSERT_HEAD(&device->fids, new_fidp, list);
> +        free(fidp);
> +        fidp =3D new_fidp;
> +
> +        fidp->data =3D opendir(fidp->path);
> +        if ( !fidp->data )
> +        {
> +            p9_error(device, hdr->tag, errno);
> +            return;
> +        }
> +        fidp->fd =3D dirfd(fidp->data);
> +    }
> +    else
> +    {
> +        flags =3D open_flags_from_mode(mode);
> +        if ( flags < 0 )
> +        {
> +            p9_error(device, hdr->tag, EINVAL);
> +            free(new_fidp);
> +            return;
> +        }
> +
> +        XEN_TAILQ_REMOVE(&device->fids, """fidp, list);
> +        XEN_TAILQ_INSERT_HEAD(&device->fids, new_fidp, list);
> +        free(fidp);
> +        fidp =3D new_fidp;
> +
> +        fidp->fd =3D creat(fidp->path, flags);

https://ericvh.github.io/9p-rfc/rfc9p2000.html#anchor29
"""
The create request asks the file server to create a new file with the
name supplied, in the directory (dir) represented by fid, and requires
write permission in the directory. The owner of the file is the
implied user id of the request, the group of the file is the same as
dir, and the permissions are the value of

perm & (~0666 | (dir.perm & 0666))

if a regular file is being created and

perm & (~0777 | (dir.perm & 0777))

if a directory is being created. This means, for example, that if the
create allows read permission to others, but the containing directory
does not, then the created file will not allow others to read the
file.
"""

So P9_CREATE_PERM_FILE_MASK (which is otherwise unused) should be
incorporated.  Also the mode and the permissions are handled
independently:
"""
Finally, the newly created file is opened according to mode, and fid
will represent the newly opened file. Mode is not checked against the
permissions in perm.
"""

I think fidp->mode should be set in here somewhere based on mode.  And
`flags` for creat should be derived from the incoming perms.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628282.979544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05h1-0001Ix-Vw; Mon, 06 Nov 2023 19:55:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628282.979544; Mon, 06 Nov 2023 19:55: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 1r05h1-0001Iq-T5; Mon, 06 Nov 2023 19:55:27 +0000
Received: by outflank-mailman (input) for mailman id 628282;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05gy-0001Ig-JE
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:26 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6af681b7-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:21 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fe-00AkGA-0M; Mon, 06 Nov 2023 19:54:03 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GPF-2Q; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 6af681b7-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Q6WJzrf/gsQj4hekd5E3jTDYvSsFsIQ40+J5PbVDAlw=; b=hN6jXJARRmz2GcvDSca7kv1iBF
	MD6IM83m3OlMumoHTu1tfa5Hh5TNwVAO2zuzdBV7ya9YTeAksrYH2KAvYWnvU5vZc9PtViL6FYuLD
	4rVMwVE/8xp2ESjC7pSdGhtZQW+Racktv0Jg7A9rDfvVCHY0fIMZ1JypA3E44pMAOX3VMdt2PSWfU
	M2S/w5oq+ePOvVJq+1b+kHHcURRQ4CafaKAjihmSN/viVnhW+oLS/NDdiSmLhxkF316u0LnDdceA6
	3GnYTj3WXakTIuiyW6b2gdCJ2powAIsP/BxehtWnuN5+wA/bsvIwgA1DgVBkiJqDtFpodoETq8VrF
	szF2/wkA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 37/46] hw/net/lasi_i82596: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:42 +0000
Message-ID: <20231106195352.301038-38-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/net/lasi_i82596.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/hw/net/lasi_i82596.c b/hw/net/lasi_i82596.c
index e37f7fabe9..c4c197aaa8 100644
--- a/hw/net/lasi_i82596.c
+++ b/hw/net/lasi_i82596.c
@@ -125,11 +125,10 @@ SysBusI82596State *lasi_82596_init(MemoryRegion *addr_space,
     static const MACAddr HP_MAC = {
         .a = { 0x08, 0x00, 0x09, 0xef, 0x34, 0xf6 } };
 
-    qemu_check_nic_model(&nd_table[0], TYPE_LASI_82596);
     dev = qdev_new(TYPE_LASI_82596);
     s = SYSBUS_I82596(dev);
     s->state.irq = lan_irq;
-    qdev_set_nic_properties(dev, &nd_table[0]);
+    qemu_configure_nic_device(dev, true, NULL);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
     s->state.conf.macaddr = HP_MAC; /* set HP MAC prefix */
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628283.979555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hA-0001ae-6p; Mon, 06 Nov 2023 19:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628283.979555; Mon, 06 Nov 2023 19: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 1r05hA-0001aV-3h; Mon, 06 Nov 2023 19:55:36 +0000
Received: by outflank-mailman (input) for mailman id 628283;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05h8-0001Ig-Ry
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:34 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 714b4d46-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:32 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fc-00AkFz-36; Mon, 06 Nov 2023 19:54:01 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GOH-1v; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 714b4d46-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=pKyWLUeZ8sfmO5fyN4MlL6OrMrKB7GvrujedGo0ZyJE=; b=FoOapH2CsU3eZJM6l0DOL3I9As
	RpfM/XGmr7wrYSCXubkQvzBZGS2+BXXde3H/WcPFI8WMFziPPdtSWcZPfp9Vj4CJQQPe0Igx9+5oA
	4XzYvOGT9XEfI7UiL1FMSLnqYdEtwkxjVIjwMUIzGRMd+BfBdjtZy3TuvTO1l5/HRnTJ68Y3OSSH+
	uwDnF3Tl7oIiBvEdXzfQc177sJ5TJqgvW9/a4FbpqmMnjAjLX0fhGKofbwglkd6Q96QI0HtMN9sif
	37RFpI1G9osLb1B63SPQOEClME+mn0NyoO4Qo5eD7y+Rjh0lda8KU3hEH2zILm7fIUgjCQSaI81zk
	N1wN70dA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 24/46] hw/arm/fsl: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:29 +0000
Message-ID: <20231106195352.301038-25-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/fsl-imx25.c  | 2 +-
 hw/arm/fsl-imx6.c   | 2 +-
 hw/arm/fsl-imx6ul.c | 2 +-
 hw/arm/fsl-imx7.c   | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/hw/arm/fsl-imx25.c b/hw/arm/fsl-imx25.c
index 24c4374590..28084d2e5a 100644
--- a/hw/arm/fsl-imx25.c
+++ b/hw/arm/fsl-imx25.c
@@ -170,7 +170,7 @@ static void fsl_imx25_realize(DeviceState *dev, Error **errp)
     }
 
     object_property_set_uint(OBJECT(&s->fec), "phy-num", s->phy_num, &err);
-    qdev_set_nic_properties(DEVICE(&s->fec), &nd_table[0]);
+    qemu_configure_nic_device(DEVICE(&s->fec), true, NULL);
 
     if (!sysbus_realize(SYS_BUS_DEVICE(&s->fec), errp)) {
         return;
diff --git a/hw/arm/fsl-imx6.c b/hw/arm/fsl-imx6.c
index 4fa7f0b95e..273bc79283 100644
--- a/hw/arm/fsl-imx6.c
+++ b/hw/arm/fsl-imx6.c
@@ -380,7 +380,7 @@ static void fsl_imx6_realize(DeviceState *dev, Error **errp)
     }
 
     object_property_set_uint(OBJECT(&s->eth), "phy-num", s->phy_num, &err);
-    qdev_set_nic_properties(DEVICE(&s->eth), &nd_table[0]);
+    qemu_configure_nic_device(DEVICE(&s->eth), true, NULL);
     if (!sysbus_realize(SYS_BUS_DEVICE(&s->eth), errp)) {
         return;
     }
diff --git a/hw/arm/fsl-imx6ul.c b/hw/arm/fsl-imx6ul.c
index e37b69a5e1..ca3dd439ec 100644
--- a/hw/arm/fsl-imx6ul.c
+++ b/hw/arm/fsl-imx6ul.c
@@ -442,7 +442,7 @@ static void fsl_imx6ul_realize(DeviceState *dev, Error **errp)
                                  s->phy_num[i], &error_abort);
         object_property_set_uint(OBJECT(&s->eth[i]), "tx-ring-num",
                                  FSL_IMX6UL_ETH_NUM_TX_RINGS, &error_abort);
-        qdev_set_nic_properties(DEVICE(&s->eth[i]), &nd_table[i]);
+        qemu_configure_nic_device(DEVICE(&s->eth[i]), true, NULL);
         sysbus_realize(SYS_BUS_DEVICE(&s->eth[i]), &error_abort);
 
         sysbus_mmio_map(SYS_BUS_DEVICE(&s->eth[i]), 0,
diff --git a/hw/arm/fsl-imx7.c b/hw/arm/fsl-imx7.c
index 474cfdc87c..1acbe065db 100644
--- a/hw/arm/fsl-imx7.c
+++ b/hw/arm/fsl-imx7.c
@@ -446,7 +446,7 @@ static void fsl_imx7_realize(DeviceState *dev, Error **errp)
                                  s->phy_num[i], &error_abort);
         object_property_set_uint(OBJECT(&s->eth[i]), "tx-ring-num",
                                  FSL_IMX7_ETH_NUM_TX_RINGS, &error_abort);
-        qdev_set_nic_properties(DEVICE(&s->eth[i]), &nd_table[i]);
+        qemu_configure_nic_device(DEVICE(&s->eth[i]), true, NULL);
         sysbus_realize(SYS_BUS_DEVICE(&s->eth[i]), &error_abort);
 
         sysbus_mmio_map(SYS_BUS_DEVICE(&s->eth[i]), 0, FSL_IMX7_ENETn_ADDR[i]);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628284.979561 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hA-0001ft-Jx; Mon, 06 Nov 2023 19:55:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628284.979561; Mon, 06 Nov 2023 19: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 1r05hA-0001ed-EX; Mon, 06 Nov 2023 19:55:36 +0000
Received: by outflank-mailman (input) for mailman id 628284;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05h9-0001Ig-SM
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:35 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 716d20eb-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:32 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fb-00AkFg-2j; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GNP-1V; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 716d20eb-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=uI6218d08/cSOBxZVhTlSem5C3AVIU6Zm5P1V+8LsMo=; b=WtaXpx9cIFo6D4kvZ4SvG6Jpwi
	huHya+dPj7gspQwnLSmS8IcuiymPUGIbVtWUYp+tn2sSPqQ39hpf8NKj5Fv4Qn4Xh2X1KpqyBuy6N
	UgLyt6y3hKX34eMU751rQvNIeLwCW5sWc+e/M3L//QoEc6ix/gqGabboJtdpAfVxeXqUwBGM+O2Pj
	3l+9UfAjMgVHmMxuOQ6FqzlCWIDup1I1lkXLmfK4w+/AipVM+FmSdbLcZ/YAPzEphLZpMS+0gY1nd
	h83gKCHLz8HoPJ00cC8OkRQx+R/d2X0CcVy6RUzEW6YdS3kp7omu4vE181J99lrxG+KMKclsPcC1I
	SUBIG5vQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 13/46] hw/mips/malta: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:18 +0000
Message-ID: <20231106195352.301038-14-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The Malta board setup code would previously place the first NIC into PCI
slot 11 if was a PCNet card, and the rest (including the first if it was
anything other than a PCNet card) would be dynamically assigned.

Now it will place any PCNet NIC into slot 11, and then anything else will
be dynamically assigned.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/mips/malta.c | 15 +++------------
 1 file changed, 3 insertions(+), 12 deletions(-)

diff --git a/hw/mips/malta.c b/hw/mips/malta.c
index 049de46a9e..0998d94053 100644
--- a/hw/mips/malta.c
+++ b/hw/mips/malta.c
@@ -605,18 +605,9 @@ static MaltaFPGAState *malta_fpga_init(MemoryRegion *address_space,
 /* Network support */
 static void network_init(PCIBus *pci_bus)
 {
-    int i;
-
-    for (i = 0; i < nb_nics; i++) {
-        NICInfo *nd = &nd_table[i];
-        const char *default_devaddr = NULL;
-
-        if (i == 0 && (!nd->model || strcmp(nd->model, "pcnet") == 0))
-            /* The malta board has a PCNet card using PCI SLOT 11 */
-            default_devaddr = "0b";
-
-        pci_nic_init_nofail(nd, pci_bus, "pcnet", default_devaddr);
-    }
+    /* The malta board has a PCNet card using PCI SLOT 11 */
+    pci_init_nic_in_slot(pci_bus, "pcnet", NULL, "0b");
+    pci_init_nic_devices(pci_bus, "pcnet");
 }
 
 static void bl_setup_gt64120_jump_kernel(void **p, uint64_t run_addr,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628285.979574 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hB-00026B-RA; Mon, 06 Nov 2023 19:55:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628285.979574; Mon, 06 Nov 2023 19: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 1r05hB-000250-OG; Mon, 06 Nov 2023 19:55:37 +0000
Received: by outflank-mailman (input) for mailman id 628285;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hA-0001Ig-SV
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:36 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72382b58-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:33 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fc-00AkG9-37; Mon, 06 Nov 2023 19:54:02 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GP9-28; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 72382b58-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=tlzAB3Jn/UWpyGkQsCC1RyHcWVov5/+PrTpxS04M0Yo=; b=fJHIzraBFvJZJ10z0UlO4aRJj/
	hLvbp2Pve7Xl/DpKD8kAP6iuZkpDARbSazchWV2nc8WqXdLkAOWPBJ0Lk2e0/a8XPsBH9lHjQ/UxI
	91IUnUT/jAODNLORFQq3LjMM2DWg996OBIWOvaGuxcMBiO5MW3/2MyaUIyygth+ZSHoLJTT5t1sFp
	7g2rLRKqjSHzUjNaZaNsp87VNFib/Q0gk5yTJofnKN6v6uK31fS+rGaz43y/oPF/HTQjJW3s6KBI4
	15d2ynXpAj+ssIMKEXqKfSBFkmHyIhsnEh+1qqeYiDOyf9x7nzgrzX1GgO43DYk68838vdbnaEMLA
	bi3Jrljw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 36/46] hw/mips/jazz: use qemu_find_nic_info()
Date: Mon,  6 Nov 2023 19:49:41 +0000
Message-ID: <20231106195352.301038-37-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Extract the MAC address from the NICInfo, or generate one explicitly if
there was no corresponding NIC configuration, to put it in the PROM.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/mips/jazz.c | 15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

diff --git a/hw/mips/jazz.c b/hw/mips/jazz.c
index d33a76ad4d..39a82fc2be 100644
--- a/hw/mips/jazz.c
+++ b/hw/mips/jazz.c
@@ -113,15 +113,19 @@ static const MemoryRegionOps dma_dummy_ops = {
     .endianness = DEVICE_NATIVE_ENDIAN,
 };
 
-static void mips_jazz_init_net(NICInfo *nd, IOMMUMemoryRegion *rc4030_dma_mr,
+static void mips_jazz_init_net(IOMMUMemoryRegion *rc4030_dma_mr,
                                DeviceState *rc4030, MemoryRegion *dp8393x_prom)
 {
     DeviceState *dev;
     SysBusDevice *sysbus;
     int checksum, i;
     uint8_t *prom;
+    NICInfo *nd;
 
-    qemu_check_nic_model(nd, "dp83932");
+    nd = qemu_find_nic_info("dp8393x", true, "dp82932");
+    if (!nd) {
+        return;
+    }
 
     dev = qdev_new("dp8393x");
     qdev_set_nic_properties(dev, nd);
@@ -316,12 +320,7 @@ static void mips_jazz_init(MachineState *machine,
     }
 
     /* Network controller */
-    if (nb_nics == 1) {
-        mips_jazz_init_net(&nd_table[0], rc4030_dma_mr, rc4030, dp8393x_prom);
-    } else if (nb_nics > 1) {
-        error_report("This machine only supports one NIC");
-        exit(1);
-    }
+    mips_jazz_init_net(rc4030_dma_mr, rc4030, dp8393x_prom);
 
     /* SCSI adapter */
     dev = qdev_new(TYPE_SYSBUS_ESP);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628286.979585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hE-0002Os-5c; Mon, 06 Nov 2023 19:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628286.979585; Mon, 06 Nov 2023 19:55: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 1r05hE-0002Oh-1c; Mon, 06 Nov 2023 19:55:40 +0000
Received: by outflank-mailman (input) for mailman id 628286;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hC-00024f-0b
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:38 +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 7409c60c-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:36 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fb-00AkFw-2j; Mon, 06 Nov 2023 19:54:07 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GNw-0V; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7409c60c-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=uwihplmHUI41+5Uemb4Oxlu9ois5VtdRK79kjClcmBs=; b=ZtXf0/NC/hpWVyDiZ8ZZZvEhOG
	vRqsNRJjXJnjcOuf3xSWtMMEMyf5hZKuDu8F6/7Taq4jiNqTen6jhjJl79f06fauEuhh2qltX2d2T
	Kec7AtpGoQ+0Ho+6jtOZaIXGX7XZKImOUjQU5IAdaWKA7WxCCywTkUaGdnzlNBq9d47zklDFrWV+B
	LmxmLnAzOeZHk4NIASLzhWyKSEy4vAoCLEodkruh+njQ3nkKtJRoo3HQo4M1l1S14R+OfVhpFyhp+
	wHk9E7GCr9WA+gEXQwS8FfSBNMDo9WuXXVesVeKC9YC9eXrK4Bb3TG5nrokqbdyovtwudnwBJobHu
	D+BVgLhQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 20/46] hw/xtensa/virt: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:25 +0000
Message-ID: <20231106195352.301038-21-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/xtensa/virt.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/hw/xtensa/virt.c b/hw/xtensa/virt.c
index a6cf646e99..5310a88861 100644
--- a/hw/xtensa/virt.c
+++ b/hw/xtensa/virt.c
@@ -102,9 +102,7 @@ static void create_pcie(MachineState *ms, CPUXtensaState *env, int irq_base,
 
     pci = PCI_HOST_BRIDGE(dev);
     if (pci->bus) {
-        for (i = 0; i < nb_nics; i++) {
-            pci_nic_init_nofail(&nd_table[i], pci->bus, mc->default_nic, NULL);
-        }
+        pci_init_nic_devices(pci->bus, mc->default_nic);
     }
 }
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628287.979590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hE-0002Rb-I6; Mon, 06 Nov 2023 19:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628287.979590; Mon, 06 Nov 2023 19:55: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 1r05hE-0002QX-8l; Mon, 06 Nov 2023 19:55:40 +0000
Received: by outflank-mailman (input) for mailman id 628287;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hC-0001Ig-7Z
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:38 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 73570866-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:35 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fb-00AkFi-2f; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GNZ-1y; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 73570866-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=9F94s85N161zpHncvzHPgHeV1YSdfSxyasD9KuzjSZQ=; b=bgZYgx5/6fVBDmshDfQfGpcoJa
	hEcGronT1Mrlm/GMtUt25KwxrxYJq5G9pAKwgZVawUSKTyL/pPZGyahE6hBfZ8QQN7r8xXvu2Sr5c
	U0CtRd6bWjvZ32F0V9KEuxtlOUxQzw2vkpRjJaIyJUEEdpZ4AvNgaS+5aEPqljEsOj4WNuuZSXgKn
	g17T87x+Cq1NKfAAT6rwTs3/6JnKwG51uBAN1i9bUNBIO4ZyV4BrnS28Ah+9zvJkb2KltpBfxMke/
	mI4hd3/a9SrEmVGQK+xZjpZUFZJ7DmCM9Bk4p0Xj4I4wxYtIPNQuGDzuDS8usmtXrsph43j8pPj+V
	I7YADE3g==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 15/46] hw/ppc/prep: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:20 +0000
Message-ID: <20231106195352.301038-16-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Previously, the first PCI NIC would be placed in PCI slot 3 and the rest
would be dynamically assigned. Even if the user overrode the default NIC
type and made it something other than PCNet.

Now, the first PCNet NIC (that is, anything not explicitly specified
to be anything different) will go to slot 3 even if it isn't the first
NIC specified on the commnd line. And anything else will be dynamically
assigned.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/ppc/prep.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/hw/ppc/prep.c b/hw/ppc/prep.c
index 137276bcb9..1a6cd05c61 100644
--- a/hw/ppc/prep.c
+++ b/hw/ppc/prep.c
@@ -241,7 +241,6 @@ static void ibm_40p_init(MachineState *machine)
     ISADevice *isa_dev;
     ISABus *isa_bus;
     void *fw_cfg;
-    int i;
     uint32_t kernel_base = 0, initrd_base = 0;
     long kernel_size = 0, initrd_size = 0;
     char boot_device;
@@ -336,10 +335,9 @@ static void ibm_40p_init(MachineState *machine)
         /* XXX: s3-trio at PCI_DEVFN(2, 0) */
         pci_vga_init(pci_bus);
 
-        for (i = 0; i < nb_nics; i++) {
-            pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic,
-                                i == 0 ? "3" : NULL);
-        }
+        /* First PCNET device at PCI_DEVFN(3, 0) */
+        pci_init_nic_in_slot(pci_bus, mc->default_nic, NULL, "3");
+        pci_init_nic_devices(pci_bus, mc->default_nic);
     }
 
     /* Prepare firmware configuration for OpenBIOS */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628288.979594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hE-0002Uw-RY; Mon, 06 Nov 2023 19:55:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628288.979594; Mon, 06 Nov 2023 19:55: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 1r05hE-0002T4-Hh; Mon, 06 Nov 2023 19:55:40 +0000
Received: by outflank-mailman (input) for mailman id 628288;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hC-00024f-MO
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:38 +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 7400c4db-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:36 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fb-00AkFh-2f; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GNT-1j; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7400c4db-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=GlXzCO3XdZ21RHsZxfP3RgbC823eeizUvksRPyKhf1o=; b=RAUGPMsu100KfZb039B1zNPPkr
	cnY3LL3SvbpR9CyekIYZvvCjkmeb6oCjI1mGH3a11Yj47QP6Nc7dY6lddHZeoLur9u37Ym3tqo4HL
	H+xpOMm1Z2rVr76YsT5Q2WEWSlnT5urIIFGrvZnrIGayTZeot4bBeLNJphF+5Ke2+mH2hVlApSOpw
	k97BXrAIzeO23Apx4Kcfdhouw0PP8Dc+tEKdMtYpHJ8ZN7MOxHqVb/BkDPpS0CIaLhEcT2rC/jPJF
	agqYepClQ/BkaconP80L6s0IEHAtzlwfCRodn1TqzSfpq5bFVMq0MlvqdRbXt2R04i2ThcRcHFwmX
	LYXKOxLA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 14/46] hw/mips/loongson3_virt: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:19 +0000
Message-ID: <20231106195352.301038-15-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/mips/loongson3_virt.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/hw/mips/loongson3_virt.c b/hw/mips/loongson3_virt.c
index 33eae01eca..caedde2df0 100644
--- a/hw/mips/loongson3_virt.c
+++ b/hw/mips/loongson3_virt.c
@@ -451,9 +451,7 @@ static inline void loongson3_virt_devices_init(MachineState *machine,
         usb_create_simple(usb_bus_find(-1), "usb-tablet");
     }
 
-    for (i = 0; i < nb_nics; i++) {
-        pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
-    }
+    pci_init_nic_devices(pci_bus, mc->default_nic);
 }
 
 static void mips_loongson3_virt_init(MachineState *machine)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628289.979601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hF-0002if-LT; Mon, 06 Nov 2023 19:55:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628289.979601; Mon, 06 Nov 2023 19:55: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 1r05hF-0002fm-9V; Mon, 06 Nov 2023 19:55:41 +0000
Received: by outflank-mailman (input) for mailman id 628289;
 Mon, 06 Nov 2023 19:55: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hC-0001Ig-Sy
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:39 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 736924cb-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:35 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fc-007tal-Ke; Mon, 06 Nov 2023 19:54:01 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GPL-2d; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 736924cb-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=AhJIqQ4JvGd0KYjdhY7u9mp0ZZRVDk/M4nuhh3LTnPc=; b=V9EgTCJo/9IUxzcjTxQ4eFZZSm
	Ek6V7ePz+KGtWWGQNNARR+vI/mCIf9Q/gnaNJBBwPHNjdliCmaBx4KRTkOjCKTbSIpwVNub1LwcPA
	0lMqOy/iKe54l12rVjL2iut9OXpYLDrsKUCeCtLvsc7mdr+RsOjsuF8h9efzma3fdwXOb6ofTL0AW
	/Hsffv6lw4wXFeqhC5py2TQEdYhFxrbEBaixDii3zP35BNgJPG6w3kUpgJhVWuXEocKxpqVebCscz
	kYG+lo69p+fjtLHJHrfOIeykzGmf9r54SF20igEQUBX5z8ihKTL1rIdS1YMBCNcvJR6O8uU9pmUCw
	ICKcfI8A==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 38/46] hw/openrisc/openrisc_sim: use qemu_create_nic_device()
Date: Mon,  6 Nov 2023 19:49:43 +0000
Message-ID: <20231106195352.301038-39-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/openrisc/openrisc_sim.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/hw/openrisc/openrisc_sim.c b/hw/openrisc/openrisc_sim.c
index 35da123aef..bffd6f721f 100644
--- a/hw/openrisc/openrisc_sim.c
+++ b/hw/openrisc/openrisc_sim.c
@@ -170,7 +170,7 @@ static void openrisc_create_fdt(Or1ksimState *state,
 
 static void openrisc_sim_net_init(Or1ksimState *state, hwaddr base, hwaddr size,
                                   int num_cpus, OpenRISCCPU *cpus[],
-                                  int irq_pin, NICInfo *nd)
+                                  int irq_pin)
 {
     void *fdt = state->fdt;
     DeviceState *dev;
@@ -178,8 +178,10 @@ static void openrisc_sim_net_init(Or1ksimState *state, hwaddr base, hwaddr size,
     char *nodename;
     int i;
 
-    dev = qdev_new("open_eth");
-    qdev_set_nic_properties(dev, nd);
+    dev = qemu_create_nic_device("open_eth", true, NULL);
+    if (!dev) {
+        return;
+    }
 
     s = SYS_BUS_DEVICE(dev);
     sysbus_realize_and_unref(s, &error_fatal);
@@ -313,12 +315,10 @@ static void openrisc_sim_init(MachineState *machine)
     openrisc_create_fdt(state, or1ksim_memmap, smp_cpus, machine->ram_size,
                         machine->kernel_cmdline);
 
-    if (nd_table[0].used) {
-        openrisc_sim_net_init(state, or1ksim_memmap[OR1KSIM_ETHOC].base,
-                              or1ksim_memmap[OR1KSIM_ETHOC].size,
-                              smp_cpus, cpus,
-                              OR1KSIM_ETHOC_IRQ, nd_table);
-    }
+    openrisc_sim_net_init(state, or1ksim_memmap[OR1KSIM_ETHOC].base,
+                          or1ksim_memmap[OR1KSIM_ETHOC].size,
+                          smp_cpus, cpus,
+                          OR1KSIM_ETHOC_IRQ);
 
     if (smp_cpus > 1) {
         openrisc_sim_ompic_init(state, or1ksim_memmap[OR1KSIM_OMPIC].base,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628290.979612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hG-0002s1-H5; Mon, 06 Nov 2023 19:55:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628290.979612; Mon, 06 Nov 2023 19: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 1r05hF-0002qT-U2; Mon, 06 Nov 2023 19:55:41 +0000
Received: by outflank-mailman (input) for mailman id 628290;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hD-00024f-MW
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:39 +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 7419ae07-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:36 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fa-00AkFe-1t; Mon, 06 Nov 2023 19:53:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GNG-0t; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7419ae07-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=nQ3rktK8dEdIEwAMeeCC6bqdVVt9BSYkg4MRVTEfqOM=; b=SlkY4tP2znbXS4OHj3RcvyUsSm
	tuzLgYByxSm10vbMtYpyBtc8ACf6FEKT8fPuxx5Pb0dCNYaSL3cYvM9If40duOtk7XbVSLE3yjIGt
	9ASf8Ehupryu5QVXH1ak2UGqTv3xZ4i2+Bl1Pn5vKVhMe3mG1hbH6zKXlYBBCc/rKqJZ7cHDIX57b
	b1Ey2YUdG5TNE5hWQDIAhh+x7XnaMBHNuGjsQPNoY2lgSCHi5ogIUlFrNHhlik79+xhmB9oDZBvKu
	XaK/MHdaHL9U1QktbGG1tz8vpQ7S+tUHNSXNctY/Boc7rJacSZAxXv8qBUQ+RqMjAW9vnAEn7D4ho
	RPVIRK3g==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 11/46] hw/loongarch: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:16 +0000
Message-ID: <20231106195352.301038-12-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/loongarch/virt.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/hw/loongarch/virt.c b/hw/loongarch/virt.c
index 4b7dc67a2d..c48804ac38 100644
--- a/hw/loongarch/virt.c
+++ b/hw/loongarch/virt.c
@@ -504,9 +504,7 @@ static void loongarch_devices_init(DeviceState *pch_pic, LoongArchMachineState *
     fdt_add_uart_node(lams);
 
     /* Network init */
-    for (i = 0; i < nb_nics; i++) {
-        pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
-    }
+    pci_init_nic_devices(pci_bus, mc->default_nic);
 
     /*
      * There are some invalid guest memory access.
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628291.979617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hG-00037I-Vx; Mon, 06 Nov 2023 19:55:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628291.979617; Mon, 06 Nov 2023 19: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 1r05hG-00035V-M3; Mon, 06 Nov 2023 19:55:42 +0000
Received: by outflank-mailman (input) for mailman id 628291;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hE-00024f-Ml
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:40 +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 74829bfb-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:37 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fa-00AkFZ-1z; Mon, 06 Nov 2023 19:53:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fZ-001GMb-14; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 74829bfb-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=lQGkWaXlk0kHJQOu4VM9UyFsuEmDTGHLTrgFw2PSPLc=; b=M76NPgkCYn+13IEfnWOpGFyHqC
	TrrbmTHCT04fTedllyOjCpCNMndbfiKzftDnT+OKNyY1NkCYQyeAe3nnU+nJHOM/PqxcxQ37qTWWC
	LG9lJFgdiJxBfeVjJWwF4wSvM0o6fKz6QNmBFb+tM521TGVpXl5A6dDlgh7zCzsoCYlvi+6HHxln+
	9Jab/Ojr9pjujlwIUn7m9mG1IoTXZC7y3vdg8jDeeXFqHrdNh5PVCLVBVgGttoeybhNwE9ByQBoSB
	9Ev80pQZCwSMEWEUUOj0yzda1SlfY6tj7W9y6pnVhFjYF2jbF7/oMxl25FSZeM0xgT8dU3DqupTyy
	AvfgROSw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 01/46] net: add qemu_{configure,create}_nic_device(), qemu_find_nic_info()
Date: Mon,  6 Nov 2023 19:49:06 +0000
Message-ID: <20231106195352.301038-2-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Most code which directly accesses nd_table[] and nb_nics uses them for
one of two things. Either "I have created a NIC device and I'd like a
configuration for it", or "I will create a NIC device *if* there is a
configuration for it".  With some variants on the theme around whether
they actually *check* if the model specified in the configuration is
the right one.

Provide functions which perform both of those, allowing platforms to
be a little more consistent and as a step towards making nd_table[]
and nb_nics private to the net code.

Also export the qemu_find_nic_info() helper, as some platforms have
special cases they need to handle.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 include/net/net.h |  7 ++++++-
 net/net.c         | 51 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 57 insertions(+), 1 deletion(-)

diff --git a/include/net/net.h b/include/net/net.h
index 2fb1c9181c..56be694c75 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -205,7 +205,12 @@ int qemu_show_nic_models(const char *arg, const char *const *models);
 void qemu_check_nic_model(NICInfo *nd, const char *model);
 int qemu_find_nic_model(NICInfo *nd, const char * const *models,
                         const char *default_model);
-
+NICInfo *qemu_find_nic_info(const char *typename, bool match_default,
+                            const char *alias);
+bool qemu_configure_nic_device(DeviceState *dev, bool match_default,
+                               const char *alias);
+DeviceState *qemu_create_nic_device(const char *typename, bool match_default,
+                                    const char *alias);
 void print_net_client(Monitor *mon, NetClientState *nc);
 void net_socket_rs_init(SocketReadState *rs,
                         SocketReadStateFinalize *finalize,
diff --git a/net/net.c b/net/net.c
index bbe33da176..f8b4973a1e 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1072,6 +1072,57 @@ static int net_init_nic(const Netdev *netdev, const char *name,
     return idx;
 }
 
+NICInfo *qemu_find_nic_info(const char *typename, bool match_default,
+                            const char *alias)
+{
+    NICInfo *nd;
+    int i;
+
+    for (i = 0; i < nb_nics; i++) {
+        nd = &nd_table[i];
+
+        if (!nd->used || nd->instantiated) {
+            continue;
+        }
+
+        if ((match_default && !nd->model) || !g_strcmp0(nd->model, typename)
+            || (alias && !g_strcmp0(nd->model, alias))) {
+            return nd;
+        }
+    }
+    return NULL;
+}
+
+
+/* "I have created a device. Please configure it if you can" */
+bool qemu_configure_nic_device(DeviceState *dev, bool match_default,
+                               const char *alias)
+{
+    NICInfo *nd = qemu_find_nic_info(object_get_typename(OBJECT(dev)),
+                                     match_default, alias);
+
+    if (nd) {
+        qdev_set_nic_properties(dev, nd);
+        return true;
+    }
+    return false;
+}
+
+/* "Please create a device, if you have a configuration for it" */
+DeviceState *qemu_create_nic_device(const char *typename, bool match_default,
+                                    const char *alias)
+{
+    NICInfo *nd = qemu_find_nic_info(typename, match_default, alias);
+    DeviceState *dev;
+
+    if (!nd) {
+        return NULL;
+    }
+
+    dev = qdev_new(typename);
+    qdev_set_nic_properties(dev, nd);
+    return dev;
+}
 
 static int (* const net_client_init_fun[NET_CLIENT_DRIVER__MAX])(
     const Netdev *netdev,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628293.979628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hI-0003Lu-BM; Mon, 06 Nov 2023 19:55:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628293.979628; Mon, 06 Nov 2023 19: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 1r05hH-0003Gu-PV; Mon, 06 Nov 2023 19:55:43 +0000
Received: by outflank-mailman (input) for mailman id 628293;
 Mon, 06 Nov 2023 19:55: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hF-00024f-ND
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:41 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 753ec876-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:39 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fc-007tag-Lr; Mon, 06 Nov 2023 19:54:01 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GP1-1f; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 753ec876-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=wozYunS9mL+E+NW7be8DLpB1Vtj79zSyr6dMjYfNaXI=; b=IoLpE9gkE9J0qJIMBKoLN90jlx
	dKMP44wh/kmWLVGWQCMB36Wv1ZZxqGgjjpQRZKpKfNoKjUQp6AKep39tQtJrYYYL1KXOun27Tm2GN
	QPhq6Anifsq/JrWLTIvLeUf8+PeQuWGUxsCYIVdofOeqgT/Y3R2i7Ceuqu+p5rEqsxbFErCJgRe8l
	tjPGWVxf4PIHCp702jkTJGOC7W3uGhRjs7Dmu2eHpX8TfsYQ1Z9Dy665uJkun4qXq4HIkqgvzKhbm
	E16+bEzNUcXzYTZFZQCI8g9JOuLpX6dxzYS4NTMTL6BBFggj2Zc8r1GjsfOAnydeobZejFaVVLxr4
	k55ywrFg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 34/46] hw/microblaze: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:39 +0000
Message-ID: <20231106195352.301038-35-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/microblaze/petalogix_ml605_mmu.c      | 3 +--
 hw/microblaze/petalogix_s3adsp1800_mmu.c | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/hw/microblaze/petalogix_ml605_mmu.c b/hw/microblaze/petalogix_ml605_mmu.c
index fb7889cf67..0f5fabc32e 100644
--- a/hw/microblaze/petalogix_ml605_mmu.c
+++ b/hw/microblaze/petalogix_ml605_mmu.c
@@ -133,7 +133,6 @@ petalogix_ml605_init(MachineState *machine)
     sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]);
 
     /* axi ethernet and dma initialization. */
-    qemu_check_nic_model(&nd_table[0], "xlnx.axi-ethernet");
     eth0 = qdev_new("xlnx.axi-ethernet");
     dma = qdev_new("xlnx.axi-dma");
 
@@ -145,7 +144,7 @@ petalogix_ml605_init(MachineState *machine)
                                   "axistream-connected-target", NULL);
     cs = object_property_get_link(OBJECT(dma),
                                   "axistream-control-connected-target", NULL);
-    qdev_set_nic_properties(eth0, &nd_table[0]);
+    qemu_configure_nic_device(eth0, true, NULL);
     qdev_prop_set_uint32(eth0, "rxmem", 0x1000);
     qdev_prop_set_uint32(eth0, "txmem", 0x1000);
     object_property_set_link(OBJECT(eth0), "axistream-connected", ds,
diff --git a/hw/microblaze/petalogix_s3adsp1800_mmu.c b/hw/microblaze/petalogix_s3adsp1800_mmu.c
index 505639c298..dad46bd7f9 100644
--- a/hw/microblaze/petalogix_s3adsp1800_mmu.c
+++ b/hw/microblaze/petalogix_s3adsp1800_mmu.c
@@ -114,9 +114,8 @@ petalogix_s3adsp1800_init(MachineState *machine)
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, TIMER_BASEADDR);
     sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq[TIMER_IRQ]);
 
-    qemu_check_nic_model(&nd_table[0], "xlnx.xps-ethernetlite");
     dev = qdev_new("xlnx.xps-ethernetlite");
-    qdev_set_nic_properties(dev, &nd_table[0]);
+    qemu_configure_nic_device(dev, true, NULL);
     qdev_prop_set_uint32(dev, "tx-ping-pong", 0);
     qdev_prop_set_uint32(dev, "rx-ping-pong", 0);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628292.979635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hJ-0003Za-DY; Mon, 06 Nov 2023 19:55:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628292.979635; Mon, 06 Nov 2023 19:55: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 1r05hI-0003Vt-Rj; Mon, 06 Nov 2023 19:55:44 +0000
Received: by outflank-mailman (input) for mailman id 628292;
 Mon, 06 Nov 2023 19:55: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hF-0001Ig-Dx
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:41 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 752943bf-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:38 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fb-007tab-VU; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GOe-0A; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 752943bf-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=uVqD0N8xPMjrBJQgjiJIoni6BiAb3d/o4YlG390jwak=; b=roICQBHrd89cGUxxnVQ4SGclNs
	XDjywuqCAUA3rIR1ANWkBnG8pvsdilTtU1Shmu14Xh+Dlja1cu83/djrGY4S3Brgit+tJ175Yxw72
	qHussyQYr2ufcgB2kP3CwPwt5erN4ypQ8VYgQk9vlxWBH8Y3bG/SHHsmKBhgCrf4CDQte6PSsVbha
	BCxmvRH90iYXqsb4Dn+lUOWkYiBtjqO6gfKekI1FW4QmW4AmoU83zuRoaUao53crzpCx6K6cl20aT
	9so4T+ODmprdAaxd2nTr/MdJfd5BZ4v0402+Ux9u5VnzUrkeIPJktgn+lvga+phr+nXUtuYczzq1F
	3y7Vlc7Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 29/46] hw/arm/stellaris: use qemu_find_nic_info()
Date: Mon,  6 Nov 2023 19:49:34 +0000
Message-ID: <20231106195352.301038-30-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Rather than just using qemu_configure_nic_device(), populate the MAC
address in the system-registers device by peeking at the NICInfo before
it's assigned to the device.

Generate the MAC address early, if there is no matching -nic option.
Otherwise the MAC address wouldn't be generated until net_client_init1()
runs.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/stellaris.c | 30 ++++++++++++++++++++++--------
 1 file changed, 22 insertions(+), 8 deletions(-)

diff --git a/hw/arm/stellaris.c b/hw/arm/stellaris.c
index dd90f686bf..fdf15aab63 100644
--- a/hw/arm/stellaris.c
+++ b/hw/arm/stellaris.c
@@ -1027,7 +1027,8 @@ static void stellaris_init(MachineState *ms, stellaris_board_info *board)
     DeviceState *ssys_dev;
     int i;
     int j;
-    const uint8_t *macaddr;
+    NICInfo *nd;
+    MACAddr mac;
 
     MemoryRegion *sram = g_new(MemoryRegion, 1);
     MemoryRegion *flash = g_new(MemoryRegion, 1);
@@ -1050,12 +1051,22 @@ static void stellaris_init(MachineState *ms, stellaris_board_info *board)
      * need its sysclk output.
      */
     ssys_dev = qdev_new(TYPE_STELLARIS_SYS);
-    /* Most devices come preprogrammed with a MAC address in the user data. */
-    macaddr = nd_table[0].macaddr.a;
+
+    /*
+     * Most devices come preprogrammed with a MAC address in the user data.
+     * Generate a MAC address now, if there isn't a matching -nic for it.
+     */
+    nd = qemu_find_nic_info("stellaris_enet", true, "stellaris");
+    if (nd) {
+        memcpy(mac.a, nd->macaddr.a, sizeof(mac.a));
+    } else {
+        qemu_macaddr_default_if_unset(&mac);
+    }
+
     qdev_prop_set_uint32(ssys_dev, "user0",
-                         macaddr[0] | (macaddr[1] << 8) | (macaddr[2] << 16));
+                         mac.a[0] | (mac.a[1] << 8) | (mac.a[2] << 16));
     qdev_prop_set_uint32(ssys_dev, "user1",
-                         macaddr[3] | (macaddr[4] << 8) | (macaddr[5] << 16));
+                         mac.a[3] | (mac.a[4] << 8) | (mac.a[5] << 16));
     qdev_prop_set_uint32(ssys_dev, "did0", board->did0);
     qdev_prop_set_uint32(ssys_dev, "did1", board->did1);
     qdev_prop_set_uint32(ssys_dev, "dc0", board->dc0);
@@ -1267,10 +1278,13 @@ static void stellaris_init(MachineState *ms, stellaris_board_info *board)
     if (board->dc4 & (1 << 28)) {
         DeviceState *enet;
 
-        qemu_check_nic_model(&nd_table[0], "stellaris");
-
         enet = qdev_new("stellaris_enet");
-        qdev_set_nic_properties(enet, &nd_table[0]);
+        if (nd) {
+            qdev_set_nic_properties(enet, nd);
+        } else {
+            qdev_prop_set_macaddr(enet, "mac", mac.a);
+        }
+
         sysbus_realize_and_unref(SYS_BUS_DEVICE(enet), &error_fatal);
         sysbus_mmio_map(SYS_BUS_DEVICE(enet), 0, 0x40048000);
         sysbus_connect_irq(SYS_BUS_DEVICE(enet), 0, qdev_get_gpio_in(nvic, 42));
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628294.979648 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hL-0003zw-2U; Mon, 06 Nov 2023 19:55:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628294.979648; Mon, 06 Nov 2023 19:55: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 1r05hK-0003ru-9e; Mon, 06 Nov 2023 19:55:46 +0000
Received: by outflank-mailman (input) for mailman id 628294;
 Mon, 06 Nov 2023 19:55: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hG-0001Ig-CV
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:42 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75c66d7b-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:39 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fa-007taP-Qm; Mon, 06 Nov 2023 19:53:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GNs-08; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 75c66d7b-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=53sT3CeDc9xXHXsxnlVgayDW0vZ6KE0BHHmNTnQfdBU=; b=HCwjrtiiJKiyFyU3x/NClKXi9b
	xvqGzELhrV7zmvpEhf70Qpc4Dv6Bo5o9kSmwVqFA/llaL/c2omY3KrJD96KvgRTOK8UqFxoTc5vLU
	HYxEf0aCK3PtGeFMO2Vkokgksqk9hPvQseo+afAp3kFPYf0yPdwUqzW346DhK6YVcENrldih7xm7x
	x0xgLqtgoOLOOlb6WY9heOhN98STW7gpFvgVWOUeuI8AQIfC+OyhKGIejtt0Vqq8iefPcJVNVp9lD
	lTBFgycuq+gi7+El6wIselkcLZRb9qGT/Z8QbjzGdnywxijjdBfaJ27zt09wtODTP4FCDxXeJWoxH
	ecMm0sOQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 19/46] hw/sparc64/sun4u: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:24 +0000
Message-ID: <20231106195352.301038-20-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The first sunhme NIC gets placed a function 1 on slot 1 of PCI bus A,
and the rest are dynamically assigned on PCI bus B.

Previously, any PCI NIC would get the special treatment purely by
virtue of being first in the list.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/sparc64/sun4u.c | 27 ++++++++-------------------
 1 file changed, 8 insertions(+), 19 deletions(-)

diff --git a/hw/sparc64/sun4u.c b/hw/sparc64/sun4u.c
index c871170378..be06278f7d 100644
--- a/hw/sparc64/sun4u.c
+++ b/hw/sparc64/sun4u.c
@@ -642,29 +642,18 @@ static void sun4uv_init(MemoryRegion *address_space_mem,
 
     memset(&macaddr, 0, sizeof(MACAddr));
     onboard_nic = false;
-    for (i = 0; i < nb_nics; i++) {
-        PCIBus *bus;
-        nd = &nd_table[i];
-
-        if (!nd->model || strcmp(nd->model, mc->default_nic) == 0) {
-            if (!onboard_nic) {
-                pci_dev = pci_new_multifunction(PCI_DEVFN(1, 1), mc->default_nic);
-                bus = pci_busA;
-                memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr));
-                onboard_nic = true;
-            } else {
-                pci_dev = pci_new(-1, mc->default_nic);
-                bus = pci_busB;
-            }
-        } else {
-            pci_dev = pci_new(-1, nd->model);
-            bus = pci_busB;
-        }
 
+    nd = qemu_find_nic_info(mc->default_nic, true, NULL);
+    if (nd) {
+        pci_dev = pci_new_multifunction(PCI_DEVFN(1, 1), mc->default_nic);
         dev = &pci_dev->qdev;
         qdev_set_nic_properties(dev, nd);
-        pci_realize_and_unref(pci_dev, bus, &error_fatal);
+        pci_realize_and_unref(pci_dev, pci_busA, &error_fatal);
+
+        memcpy(&macaddr, &nd->macaddr.a, sizeof(MACAddr));
+        onboard_nic = true;
     }
+    pci_init_nic_devices(pci_busB, mc->default_nic);
 
     /* If we don't have an onboard NIC, grab a default MAC address so that
      * we have a valid machine id */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628296.979654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hM-0004Dt-3r; Mon, 06 Nov 2023 19:55:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628296.979654; Mon, 06 Nov 2023 19: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 1r05hL-000476-FZ; Mon, 06 Nov 2023 19:55:47 +0000
Received: by outflank-mailman (input) for mailman id 628296;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hG-0001Ig-PO
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:42 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 760c71ff-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:40 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fb-00AkFf-2g; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GNL-1G; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 760c71ff-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=MtsxthwV/XHTVMI8Ph+V2vIGIyQmamq03UN301HMpX4=; b=DAx/R55kK7r8sP6AD0SSADmu8W
	6mv00cH13ry/O54Sp8qxXE34rxLnhofaOJUW1qGtQ/qsfuhzcqJUVr9I7hQJBodwJhYyKbuRvwIP0
	mhghhgHKbon1H8aYLpaHHe3QpOzgK09XrLyS83jLgmxFf3wl63b2Mble6kSsVzMwp00NGKftWyDy2
	67oJ3dnffyFdKhWF4GFw5dn6n5g3AbZO7tcWFsi2ouv9N9AhqXxKbDrhkDzjRtGNT9HPUn8OpRyY8
	nuuQRVH7hiUNbcQiAdIayce9GCd6MAsp19CIW5rrY9YWCRZRUENfxq9jw/TX254Mmyw5fP+Z53IvD
	Jyu/YTnQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 12/46] hw/mips/fuloong2e: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:17 +0000
Message-ID: <20231106195352.301038-13-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The previous behaviour was: *if* the first NIC specified on the command
line was an RTL8139 (or unspecified model) then it gets assigned to PCI
slot 7, which is where the Fuloong board had an RTL8139. All other
devices (including the first, if it was specified a anything other then
an rtl8319) get dynamically assigned on the bus.

The new behaviour is subtly different: If the first NIC was given a
specific model *other* than rtl8139, and a subsequent NIC was not,
then the rtl8139 (or unspecified) NIC will go to slot 7 and the rest
will be dynamically assigned.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/mips/fuloong2e.c | 16 +++-------------
 1 file changed, 3 insertions(+), 13 deletions(-)

diff --git a/hw/mips/fuloong2e.c b/hw/mips/fuloong2e.c
index 97b2c8ed8e..a45aac368c 100644
--- a/hw/mips/fuloong2e.c
+++ b/hw/mips/fuloong2e.c
@@ -201,19 +201,9 @@ static void main_cpu_reset(void *opaque)
 /* Network support */
 static void network_init(PCIBus *pci_bus)
 {
-    int i;
-
-    for (i = 0; i < nb_nics; i++) {
-        NICInfo *nd = &nd_table[i];
-        const char *default_devaddr = NULL;
-
-        if (i == 0 && (!nd->model || strcmp(nd->model, "rtl8139") == 0)) {
-            /* The Fuloong board has a RTL8139 card using PCI SLOT 7 */
-            default_devaddr = "07";
-        }
-
-        pci_nic_init_nofail(nd, pci_bus, "rtl8139", default_devaddr);
-    }
+    /* The Fuloong board has a RTL8139 card using PCI SLOT 7 */
+    pci_init_nic_in_slot(pci_bus, "rtl8139", NULL, "07");
+    pci_init_nic_devices(pci_bus, "rtl8139");
 }
 
 static void mips_fuloong2e_init(MachineState *machine)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628295.979667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hN-0004Wj-Pl; Mon, 06 Nov 2023 19:55:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628295.979667; Mon, 06 Nov 2023 19: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 1r05hM-0004Un-PM; Mon, 06 Nov 2023 19:55:48 +0000
Received: by outflank-mailman (input) for mailman id 628295;
 Mon, 06 Nov 2023 19: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hG-00024f-NE
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:42 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75732b8a-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:39 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fZ-007taD-Lg; Mon, 06 Nov 2023 19:53:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fZ-001GN0-2k; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 75732b8a-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=bVGb2+EtT3pxaWvqPLp7baiGIuRpc42koRGOsdWnaUk=; b=MJ//FNBUN0RR6akkNu4HqHKoF/
	R9fft9mzeG8dISAeh7sAKjvw25oviaBrJnG/og5qIgXhZbVXZK1rmkc69JssbKNk7QArI2kmUcYYj
	C5USwiZDMQgHEsHs43rPFggc3num0yEhn1ZKi28t+3u1eqYJ50Mdzpun87OFaCIsQ0EQlU6Rjq4Jo
	xWbtNqjyAx01Ci5xYgGe0q6tbuObyhIBhBrXp9Mplg9Hcbsc5sl+fnEAJqlv76RltSJj+6OcSRvuD
	45B/PxRcpYjSrHAjo+fIdLcfWUZ7GYtjz/fJz/h0FNtbZ1EiDhXPTYM3xA/133TyrM55GBqrl8yPs
	kKfkBZlw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 07/46] hw/alpha/dp264: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:12 +0000
Message-ID: <20231106195352.301038-8-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/alpha/dp264.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/hw/alpha/dp264.c b/hw/alpha/dp264.c
index 03495e1e60..52a1fa310b 100644
--- a/hw/alpha/dp264.c
+++ b/hw/alpha/dp264.c
@@ -124,9 +124,7 @@ static void clipper_init(MachineState *machine)
     pci_vga_init(pci_bus);
 
     /* Network setup.  e1000 is good enough, failing Tulip support.  */
-    for (i = 0; i < nb_nics; i++) {
-        pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
-    }
+    pci_init_nic_devices(pci_bus, mc->default_nic);
 
     /* Super I/O */
     isa_create_simple(isa_bus, TYPE_SMC37C669_SUPERIO);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628297.979674 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hO-0004rc-JU; Mon, 06 Nov 2023 19:55:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628297.979674; Mon, 06 Nov 2023 19:55: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 1r05hO-0004nc-5Q; Mon, 06 Nov 2023 19:55:50 +0000
Received: by outflank-mailman (input) for mailman id 628297;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hH-0001Ig-E9
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:43 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7601ed68-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:40 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fe-00AkGC-0M; Mon, 06 Nov 2023 19:54:03 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GPS-2s; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 7601ed68-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=ZkSNmy83S4DOqkgHUNjcsUnKDxjqNwsV356V+7t17VI=; b=qI6rJXydA7R/M6fAerFOBb6064
	vYPc06e3p0bbzaWYVR0L+4gDvKQz8UuyFrTaXAiS9iModAs8BvE9nklt920g009I9oTiEYlDGcnwb
	TxIEK/K2UU4Ge3U7F1wrdgPT9IBPM4pdi7UHBeKioI0ah8QaoLCGgz2dv4zXFGcFKyrgcvfFzL0/R
	W4PrsYz4psosvSxLL79+S38i70n5LlonFwof1mR0Tutckfi9JO9xZCPHGQUOEhRlzRQ9Z/0koBZNY
	jl4RbZ6f/l8LQosJ78at4pKZPAipPOc1uSDhYVCidAQ/rYGCHH9EPr/i+LobYW8ycjUyWPjY81SEc
	2HnOMQEQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 39/46] hw/riscv: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:44 +0000
Message-ID: <20231106195352.301038-40-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/riscv/microchip_pfsoc.c | 14 ++------------
 hw/riscv/sifive_u.c        |  7 +------
 2 files changed, 3 insertions(+), 18 deletions(-)

diff --git a/hw/riscv/microchip_pfsoc.c b/hw/riscv/microchip_pfsoc.c
index b775aa8946..7725dfbde5 100644
--- a/hw/riscv/microchip_pfsoc.c
+++ b/hw/riscv/microchip_pfsoc.c
@@ -202,7 +202,6 @@ static void microchip_pfsoc_soc_realize(DeviceState *dev, Error **errp)
     MemoryRegion *envm_data = g_new(MemoryRegion, 1);
     MemoryRegion *qspi_xip_mem = g_new(MemoryRegion, 1);
     char *plic_hart_config;
-    NICInfo *nd;
     int i;
 
     sysbus_realize(SYS_BUS_DEVICE(&s->e_cpus), &error_abort);
@@ -411,17 +410,8 @@ static void microchip_pfsoc_soc_realize(DeviceState *dev, Error **errp)
         memmap[MICROCHIP_PFSOC_USB].size);
 
     /* GEMs */
-
-    nd = &nd_table[0];
-    if (nd->used) {
-        qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
-        qdev_set_nic_properties(DEVICE(&s->gem0), nd);
-    }
-    nd = &nd_table[1];
-    if (nd->used) {
-        qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
-        qdev_set_nic_properties(DEVICE(&s->gem1), nd);
-    }
+    qemu_configure_nic_device(DEVICE(&s->gem0), true, NULL);
+    qemu_configure_nic_device(DEVICE(&s->gem1), true, NULL);
 
     object_property_set_int(OBJECT(&s->gem0), "revision", GEM_REVISION, errp);
     object_property_set_int(OBJECT(&s->gem0), "phy-addr", 8, errp);
diff --git a/hw/riscv/sifive_u.c b/hw/riscv/sifive_u.c
index ec76dce6c9..5207ec1fa5 100644
--- a/hw/riscv/sifive_u.c
+++ b/hw/riscv/sifive_u.c
@@ -789,7 +789,6 @@ static void sifive_u_soc_realize(DeviceState *dev, Error **errp)
     MemoryRegion *l2lim_mem = g_new(MemoryRegion, 1);
     char *plic_hart_config;
     int i, j;
-    NICInfo *nd = &nd_table[0];
 
     qdev_prop_set_uint32(DEVICE(&s->u_cpus), "num-harts", ms->smp.cpus - 1);
     qdev_prop_set_uint32(DEVICE(&s->u_cpus), "hartid-base", 1);
@@ -893,11 +892,7 @@ static void sifive_u_soc_realize(DeviceState *dev, Error **errp)
     }
     sysbus_mmio_map(SYS_BUS_DEVICE(&s->otp), 0, memmap[SIFIVE_U_DEV_OTP].base);
 
-    /* FIXME use qdev NIC properties instead of nd_table[] */
-    if (nd->used) {
-        qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
-        qdev_set_nic_properties(DEVICE(&s->gem), nd);
-    }
+    qemu_configure_nic_device(DEVICE(&s->gem), true, NULL);
     object_property_set_int(OBJECT(&s->gem), "revision", GEM_REVISION,
                             &error_abort);
     if (!sysbus_realize(SYS_BUS_DEVICE(&s->gem), errp)) {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628298.979687 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hQ-0005Dc-9z; Mon, 06 Nov 2023 19:55:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628298.979687; Mon, 06 Nov 2023 19: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 1r05hP-000588-Iz; Mon, 06 Nov 2023 19:55:51 +0000
Received: by outflank-mailman (input) for mailman id 628298;
 Mon, 06 Nov 2023 19:55: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hH-00024f-NK
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:43 +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 7589314a-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:39 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fb-00AkFq-2b; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GNd-2K; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7589314a-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=O7+HX3w6XyECWcZnAzqqwZKvx1qj71QgIwZtZm02KnA=; b=FYb1RUmFgC2o88t7cCEf/HK/k+
	xkOfAXzqneBS6o/ywK5HQaFPcCwcjcU7pTseyg6U7f0hvbWH1XdOXoCN9Db3kssQWHUTPgVeJ3UaX
	l9vRtYto0dT+2vRCliOYN05Jm0EnGuBMRSeAD6Rv6L5QQSKVaCn5xRMo4gI8GdDu4APmWCfwr3NlQ
	c4eiGjOG9KoBH/9Nj6q1vK7uNP2l/v+21L7oK4P5Y8mxkACz/c3ixumWvjQu5hW9YluKHnK3rLpM+
	bHdHiyy6YOdTMckCWVzCw0dR5aB+o1dTEsh9ZegMTqnhTiKmkaMX2twqS6fG8UhU1qQxTzdiP7spC
	rwzZiV3g==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 16/46] hw/ppc/spapr: use qemu_get_nic_info() and pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:21 +0000
Message-ID: <20231106195352.301038-17-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Avoid directly referencing nd_table[] by first instantiating any
spapr-vlan devices using a qemu_get_nic_info() loop, then calling
pci_init_nic_devices() to do the rest.

No functional change intended.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/ppc/spapr.c | 18 +++++-------------
 1 file changed, 5 insertions(+), 13 deletions(-)

diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index df09aa9d6a..3d8ad75790 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -2796,6 +2796,7 @@ static void spapr_machine_init(MachineState *machine)
     MemoryRegion *sysmem = get_system_memory();
     long load_limit, fw_size;
     Error *resize_hpt_err = NULL;
+    NICInfo *nd;
 
     if (!filename) {
         error_report("Could not find LPAR firmware '%s'", bios_name);
@@ -2996,21 +2997,12 @@ static void spapr_machine_init(MachineState *machine)
 
     phb = spapr_create_default_phb();
 
-    for (i = 0; i < nb_nics; i++) {
-        NICInfo *nd = &nd_table[i];
-
-        if (!nd->model) {
-            nd->model = g_strdup("spapr-vlan");
-        }
-
-        if (g_str_equal(nd->model, "spapr-vlan") ||
-            g_str_equal(nd->model, "ibmveth")) {
-            spapr_vlan_create(spapr->vio_bus, nd);
-        } else {
-            pci_nic_init_nofail(&nd_table[i], phb->bus, nd->model, NULL);
-        }
+    while ((nd = qemu_find_nic_info("spapr-vlan", true, "ibmveth"))) {
+        spapr_vlan_create(spapr->vio_bus, nd);
     }
 
+    pci_init_nic_devices(phb->bus, NULL);
+
     for (i = 0; i <= drive_get_max_bus(IF_SCSI); i++) {
         spapr_vscsi_create(spapr->vio_bus);
     }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628299.979692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hR-0005Up-DY; Mon, 06 Nov 2023 19:55:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628299.979692; Mon, 06 Nov 2023 19:55: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 1r05hQ-0005OW-Po; Mon, 06 Nov 2023 19:55:52 +0000
Received: by outflank-mailman (input) for mailman id 628299;
 Mon, 06 Nov 2023 19:55: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hI-00024f-Nj
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:44 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7587d4b8-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:39 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fa-007taN-LN; Mon, 06 Nov 2023 19:53:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GNj-2g; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7587d4b8-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=5bcCMvV82e1Sve2BVcG15Kkp2UpIXLhocOoMJ70sRvM=; b=MkbWAP53t45zN+J3OWeTYLRWqY
	IxlT+triXTTst7xf9SvNcu8e8o7Y0xaQ4Ne6iu1sC6cAx4OcKM5enOL97HpiQYuuSwPUIVIF+5TdK
	MtcKcGgKJ3l5ADxs/LybZam94ZFFFa9iaUGNCykVTVjEFYxwZuyI4Bqgmtz7xhrpJh8nXM7ojZdSr
	uoG91AJ6DjX9JRGuYnwh0gBz5OP/QET0xcxH8+d91nQT+Z0g5ZEonDhQuPKD5idwhniGeKgJcqRRZ
	qBTybWjW24MrUYxXRNdxTR2jofI8qvQoAw3+ygenrcCyriRs/Lu1txhaK9XjnuhVc+hfjrtDrBAd3
	91AbXCAA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 17/46] hw/ppc: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:22 +0000
Message-ID: <20231106195352.301038-18-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/ppc/e500.c          |  4 +---
 hw/ppc/mac_newworld.c  |  4 +---
 hw/ppc/mac_oldworld.c  |  4 +---
 hw/ppc/ppc440_bamboo.c | 14 +++++---------
 4 files changed, 8 insertions(+), 18 deletions(-)

diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c
index e04114fb3c..f62eeb3411 100644
--- a/hw/ppc/e500.c
+++ b/hw/ppc/e500.c
@@ -1075,9 +1075,7 @@ void ppce500_init(MachineState *machine)
 
     if (pci_bus) {
         /* Register network interfaces. */
-        for (i = 0; i < nb_nics; i++) {
-            pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
-        }
+        pci_init_nic_devices(pci_bus, mc->default_nic);
     }
 
     /* Register spinning region */
diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c
index 535710314a..b36dbaf2b6 100644
--- a/hw/ppc/mac_newworld.c
+++ b/hw/ppc/mac_newworld.c
@@ -444,9 +444,7 @@ static void ppc_core99_init(MachineState *machine)
         graphic_depth = 15;
     }
 
-    for (i = 0; i < nb_nics; i++) {
-        pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
-    }
+    pci_init_nic_devices(pci_bus, mc->default_nic);
 
     /* The NewWorld NVRAM is not located in the MacIO device */
     if (kvm_enabled() && qemu_real_host_page_size() > 4096) {
diff --git a/hw/ppc/mac_oldworld.c b/hw/ppc/mac_oldworld.c
index 9acc7adfc9..1981d3d8f6 100644
--- a/hw/ppc/mac_oldworld.c
+++ b/hw/ppc/mac_oldworld.c
@@ -277,9 +277,7 @@ static void ppc_heathrow_init(MachineState *machine)
 
     pci_vga_init(pci_bus);
 
-    for (i = 0; i < nb_nics; i++) {
-        pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
-    }
+    pci_init_nic_devices(pci_bus, mc->default_nic);
 
     /* MacIO IDE */
     ide_drive_get(hd, ARRAY_SIZE(hd));
diff --git a/hw/ppc/ppc440_bamboo.c b/hw/ppc/ppc440_bamboo.c
index a189942de4..c75c3083e6 100644
--- a/hw/ppc/ppc440_bamboo.c
+++ b/hw/ppc/ppc440_bamboo.c
@@ -161,7 +161,6 @@ static void bamboo_init(MachineState *machine)
     DeviceState *uicdev;
     SysBusDevice *uicsbd;
     int success;
-    int i;
 
     if (kvm_enabled()) {
         error_report("machine %s does not support the KVM accelerator",
@@ -234,14 +233,11 @@ static void bamboo_init(MachineState *machine)
     }
 
     if (pcibus) {
-        /* Register network interfaces. */
-        for (i = 0; i < nb_nics; i++) {
-            /*
-             * There are no PCI NICs on the Bamboo board, but there are
-             * PCI slots, so we can pick whatever default model we want.
-             */
-            pci_nic_init_nofail(&nd_table[i], pcibus, mc->default_nic, NULL);
-        }
+        /*
+         * There are no PCI NICs on the Bamboo board, but there are
+         * PCI slots, so we can pick whatever default model we want.
+         */
+        pci_init_nic_devices(pcibus, mc->default_nic);
     }
 
     /* Load kernel. */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628300.979707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hT-0005rb-NW; Mon, 06 Nov 2023 19:55:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628300.979707; Mon, 06 Nov 2023 19: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 1r05hS-0005mw-DF; Mon, 06 Nov 2023 19:55:54 +0000
Received: by outflank-mailman (input) for mailman id 628300;
 Mon, 06 Nov 2023 19:55: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hJ-00024f-Ng
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:45 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75c2a6bf-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:39 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fZ-007taC-BY; Mon, 06 Nov 2023 19:53:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fZ-001GMj-1Z; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 75c2a6bf-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:
	To:From:Reply-To:Content-ID:Content-Description;
	bh=WZmVL1uI/KotgdQhXO/qrZTP/dohS1pm8NaUzNrIdIE=; b=nv6FvVLjCIrbFr+0UrcGp1qnHZ
	j8eZtUiloNyLV0p1HBnbUW3cQA8b3Ad9kga46jhIwPt+7DNjSjq91AetVDsNzVWurXkc032ybq1cE
	ndRNvWJ4wo7eQLok0W4yWtMBv7cdAqvtge6WiUHZ3UyrQBo44ihqFXo7OxqI7PWDGPNoc7p9WQYme
	4PQJtIywrHXUUkH4K+Ssyufegy11RZx/ogCOTJ06D4svHb90SfbDwab44b5ZV0YXbhjXOUbC9uQuU
	QL4J2f8mqAaxsJJJyZz0JvhN+OETvwULHgUoTDvqyODAJb8821GAXA9ZUr78ZA2sv3chD4cHetanC
	Zkp1ElpQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 03/46] net: add qemu_create_nic_bus_devices()
Date: Mon,  6 Nov 2023 19:49:08 +0000
Message-ID: <20231106195352.301038-4-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

This will instantiate any NICs which live on a given bus type. Each bus
is allowed *one* substitution (for PCI it's virtio → virtio-net-pci, for
Xen it's xen → xen-net-device; no point in overengineering it unless we
actually want more).

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 include/net/net.h |  3 +++
 net/net.c         | 53 +++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+)

diff --git a/include/net/net.h b/include/net/net.h
index 56be694c75..ce830a47d0 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -211,6 +211,9 @@ bool qemu_configure_nic_device(DeviceState *dev, bool match_default,
                                const char *alias);
 DeviceState *qemu_create_nic_device(const char *typename, bool match_default,
                                     const char *alias);
+void qemu_create_nic_bus_devices(BusState *bus, const char *parent_type,
+                                 const char *default_model,
+                                 const char *alias, const char *alias_target);
 void print_net_client(Monitor *mon, NetClientState *nc);
 void net_socket_rs_init(SocketReadState *rs,
                         SocketReadStateFinalize *finalize,
diff --git a/net/net.c b/net/net.c
index 807220e630..73621795cb 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1208,6 +1208,59 @@ DeviceState *qemu_create_nic_device(const char *typename, bool match_default,
     return dev;
 }
 
+void qemu_create_nic_bus_devices(BusState *bus, const char *parent_type,
+                                 const char *default_model,
+                                 const char *alias, const char *alias_target)
+{
+    GPtrArray *nic_models = qemu_get_nic_models(parent_type);
+    const char *model;
+    DeviceState *dev;
+    NICInfo *nd;
+    int i;
+
+    if (nic_model_help) {
+        if (alias_target) {
+            add_nic_model_help(alias_target, alias);
+        }
+        for (i = 0; i < nic_models->len - 1; i++) {
+            add_nic_model_help(nic_models->pdata[i], NULL);
+        }
+    }
+
+    /* Drop the NULL terminator which would make g_str_equal() unhappy */
+    nic_models->len--;
+
+    for (i = 0; i < nb_nics; i++) {
+        nd = &nd_table[i];
+
+        if (!nd->used || nd->instantiated) {
+            continue;
+        }
+
+        model = nd->model ? nd->model : default_model;
+        if (!model) {
+            continue;
+        }
+
+        /* Each bus type is allowed *one* substitution */
+        if (g_str_equal(model, alias)) {
+            model = alias_target;
+        }
+
+        if (!g_ptr_array_find_with_equal_func(nic_models, model,
+                                              g_str_equal, NULL)) {
+            /* This NIC does not live on this bus. */
+            continue;
+        }
+
+        dev = qdev_new(model);
+        qdev_set_nic_properties(dev, nd);
+        qdev_realize_and_unref(dev, bus, &error_fatal);
+    }
+
+    g_ptr_array_free(nic_models, true);
+}
+
 static int (* const net_client_init_fun[NET_CLIENT_DRIVER__MAX])(
     const Netdev *netdev,
     const char *name,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 19:55:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 19:55:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628301.979714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05hV-0006QS-NO; Mon, 06 Nov 2023 19:55:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628301.979714; Mon, 06 Nov 2023 19: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 1r05hU-0006Km-Fe; Mon, 06 Nov 2023 19:55:56 +0000
Received: by outflank-mailman (input) for mailman id 628301;
 Mon, 06 Nov 2023 19:55: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hK-00024f-Nx
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:46 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 760f8356-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:40 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fZ-007taH-Tz; Mon, 06 Nov 2023 19:53:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GNC-0Y; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 760f8356-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Z4wmNoHv5HpsnaTauDJ4KT56/93LmHuykc4Xtvki9Sg=; b=okUsf/dbtKaDDR4uvBRKlfksBe
	mOsew+y19pPxm6WkzBeZQmIsCkMkrCRZPh4wQAqznMOq479Kv1X/XeZhBsuMpmzcqlqyBjhvuv7mc
	X3zHNT5gbkXIAeyZO/ki5Nn+oNQNcMigOyb78lXLViYKwd+1mKFkf2UcndTYkLY8zfSKT1Z+XcsRT
	YH6QR0tAmfggF3h75IKoC5fWNsE0yXOaS+f7bDC+81/gHpZlpc6JprIODCd72otABCMpT9fs+1amf
	ISabgUU5mXohO05dJGhI4O4ERYg+PMOMS4pHdOPKLW7zsv6y6gg1wvxDg1HYR/fI+GErAkGYu1A3I
	fcO8OPOw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 10/46] hw/hppa: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:15 +0000
Message-ID: <20231106195352.301038-11-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/hppa/machine.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/hw/hppa/machine.c b/hw/hppa/machine.c
index 67d4d1b5e0..d7cee6e49e 100644
--- a/hw/hppa/machine.c
+++ b/hw/hppa/machine.c
@@ -309,7 +309,6 @@ static void machine_HP_common_init_tail(MachineState *machine, PCIBus *pci_bus)
     uint64_t kernel_entry = 0, kernel_low, kernel_high;
     MemoryRegion *addr_space = get_system_memory();
     MemoryRegion *rom_region;
-    long i;
     unsigned int smp_cpus = machine->smp.cpus;
     SysBusDevice *s;
 
@@ -333,10 +332,8 @@ static void machine_HP_common_init_tail(MachineState *machine, PCIBus *pci_bus)
                         qdev_get_gpio_in(lasi_dev, LASI_IRQ_LAN_HPA));
     }
 
-    for (i = 0; i < nb_nics; i++) {
-        if (!enable_lasi_lan()) {
-            pci_nic_init_nofail(&nd_table[i], pci_bus, mc->default_nic, NULL);
-        }
+    if (!enable_lasi_lan()) {
+        pci_init_nic_devices(pci_bus, mc->default_nic);
     }
 
     /* BMC board: HP Powerbar SP2 Diva (with console only) */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:04:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:04:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628346.979745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05pe-0005Pb-Ml; Mon, 06 Nov 2023 20:04:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628346.979745; Mon, 06 Nov 2023 20: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 1r05pe-0005PU-Ic; Mon, 06 Nov 2023 20:04:22 +0000
Received: by outflank-mailman (input) for mailman id 628346;
 Mon, 06 Nov 2023 20: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hU-00024f-PT
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:56 +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 7a6b3313-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:47 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fc-00AkG0-33; Mon, 06 Nov 2023 19:54:01 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GOW-2o; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7a6b3313-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=CwrcftsMNPuPT4LX6xWfoQshSKeiy5wRc7ZmctS6KKk=; b=dEGvR06KP0y4apTEU1yjiPEPOc
	kpKKLIyCjS6YI/yS9dc5pWcbRmkOU/Dav0mBmqcS5mUmsVn+RiYPn4dnGqSRdP4qBeSqRCmHGQEvA
	I8LuIGoJCq3BEX7GEI/6xYRZWRxHlG40RXDYR0dS+ry/epAQ8ZyPxx8EOoLoWyFDoT7rfu4GVj0QD
	Wwl9NmeKPPaJQZRnfXOe2lneNGMDoQTLfTBFpOMiDQWdbid/1p0ASecZwTixO3sgt3maGhzE3Oew0
	oh3HP5CJNhQbnYgCdJf0PAR1WYf+848zw2bMgK4n0NwFb6snrmBz9ZRz8lJFiEV8rmBRMLswyWHiq
	qDltYN6Q==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 27/46] hw/arm/highbank: use qemu_create_nic_device()
Date: Mon,  6 Nov 2023 19:49:32 +0000
Message-ID: <20231106195352.301038-28-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/highbank.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/hw/arm/highbank.c b/hw/arm/highbank.c
index f12aacea6b..798e5391dc 100644
--- a/hw/arm/highbank.c
+++ b/hw/arm/highbank.c
@@ -296,19 +296,17 @@ static void calxeda_init(MachineState *machine, enum cxmachines machine_id)
 
     sysbus_create_simple(TYPE_SYSBUS_AHCI, 0xffe08000, pic[83]);
 
-    if (nd_table[0].used) {
-        qemu_check_nic_model(&nd_table[0], "xgmac");
-        dev = qdev_new("xgmac");
-        qdev_set_nic_properties(dev, &nd_table[0]);
+    dev = qemu_create_nic_device("xgmac", true, NULL);
+    if (dev) {
         sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
         sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0xfff50000);
         sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic[77]);
         sysbus_connect_irq(SYS_BUS_DEVICE(dev), 1, pic[78]);
         sysbus_connect_irq(SYS_BUS_DEVICE(dev), 2, pic[79]);
+    }
 
-        qemu_check_nic_model(&nd_table[1], "xgmac");
-        dev = qdev_new("xgmac");
-        qdev_set_nic_properties(dev, &nd_table[1]);
+    dev = qemu_create_nic_device("xgmac", true, NULL);
+    if (dev) {
         sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
         sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0xfff51000);
         sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic[80]);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:05:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:05:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628350.979754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05qT-0006D4-UU; Mon, 06 Nov 2023 20:05:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628350.979754; Mon, 06 Nov 2023 20: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 1r05qT-0006Cx-Rr; Mon, 06 Nov 2023 20:05:13 +0000
Received: by outflank-mailman (input) for mailman id 628350;
 Mon, 06 Nov 2023 20:05: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hX-00024f-Qo
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:59 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7aedb545-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:48 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fb-007taY-Qy; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GOS-2S; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7aedb545-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=EpdGNoGFkRCi4Qvl/S0sgiqhTuALOqILji2oYIIE5vk=; b=LOYAb6AAsMdoRYJ1wRdGHL6q7h
	SUGFPJBPKfWIUY/4784sl3Pr7Sdnlgod8BNGBZz++iDrTSG73po1wInrkjEf45oTYLEneyYDOv/w8
	NgqwMq98pJw3CsziD9tBTLhtJXEtMF/465WNvPXAtwVd6izZtNEhK/UmCP6NYom2+WK/iY1PubBhY
	Dje2HPE9feEMmv6VCBHNvJFrfkGrbhkxa/xCL7rNhBeDM8CEEiWQptto378SYD1bRr7YcdMo4b7/k
	gopeS3Xte2NTO1YWohdB3mcY/oNMAhOrtzazUZXLQo+uQUMcLa8uZ2wQ+aqAMNWv/J+fBiE6GciXw
	QpR3Lflw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 26/46] hw/net/lan9118: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:31 +0000
Message-ID: <20231106195352.301038-27-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Some callers instantiate the device unconditionally, others will do so only
if there is a NICInfo to go with it. This appears to be fairly random, but
preseve the existing behaviour for now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/kzm.c             | 4 ++--
 hw/arm/mps2.c            | 2 +-
 hw/arm/realview.c        | 6 ++----
 hw/arm/vexpress.c        | 4 ++--
 hw/net/lan9118.c         | 5 ++---
 include/hw/net/lan9118.h | 2 +-
 6 files changed, 10 insertions(+), 13 deletions(-)

diff --git a/hw/arm/kzm.c b/hw/arm/kzm.c
index 9be91ebeaa..2ccd6f8a76 100644
--- a/hw/arm/kzm.c
+++ b/hw/arm/kzm.c
@@ -113,8 +113,8 @@ static void kzm_init(MachineState *machine)
         alias_offset += ram[i].size;
     }
 
-    if (nd_table[0].used) {
-        lan9118_init(&nd_table[0], KZM_LAN9118_ADDR,
+    if (qemu_find_nic_info("lan9118", true, NULL)) {
+        lan9118_init(KZM_LAN9118_ADDR,
                      qdev_get_gpio_in(DEVICE(&s->soc.avic), 52));
     }
 
diff --git a/hw/arm/mps2.c b/hw/arm/mps2.c
index d92fd60684..cb3da1ef5c 100644
--- a/hw/arm/mps2.c
+++ b/hw/arm/mps2.c
@@ -458,7 +458,7 @@ static void mps2_common_init(MachineState *machine)
     /* In hardware this is a LAN9220; the LAN9118 is software compatible
      * except that it doesn't support the checksum-offload feature.
      */
-    lan9118_init(&nd_table[0], mmc->ethernet_base,
+    lan9118_init(mmc->ethernet_base,
                  qdev_get_gpio_in(armv7m,
                                   mmc->fpga_type == FPGA_AN511 ? 47 : 13));
 
diff --git a/hw/arm/realview.c b/hw/arm/realview.c
index 6e7529d98f..1f88da3702 100644
--- a/hw/arm/realview.c
+++ b/hw/arm/realview.c
@@ -84,7 +84,6 @@ static void realview_init(MachineState *machine,
     SysBusDevice *busdev;
     qemu_irq pic[64];
     PCIBus *pci_bus = NULL;
-    NICInfo *nd;
     DriveInfo *dinfo;
     I2CBus *i2c;
     int n;
@@ -295,10 +294,9 @@ static void realview_init(MachineState *machine,
         }
     }
 
-    nd = qemu_find_nic_info(is_pb ? "lan9118" : "smc91c111", true, NULL);
-    if (nd) {
+    if (qemu_find_nic_info(is_pb ? "lan9118" : "smc91c111", true, NULL)) {
         if (is_pb) {
-            lan9118_init(nd, 0x4e000000, pic[28]);
+            lan9118_init(0x4e000000, pic[28]);
         } else {
             smc91c111_init(0x4e000000, pic[28]);
         }
diff --git a/hw/arm/vexpress.c b/hw/arm/vexpress.c
index 8ff37f52ca..4a6cb3bdf5 100644
--- a/hw/arm/vexpress.c
+++ b/hw/arm/vexpress.c
@@ -686,8 +686,8 @@ static void vexpress_common_init(MachineState *machine)
     memory_region_add_subregion(sysmem, map[VE_VIDEORAM], &vms->vram);
 
     /* 0x4e000000 LAN9118 Ethernet */
-    if (nd_table[0].used) {
-        lan9118_init(&nd_table[0], map[VE_ETHERNET], pic[15]);
+    if (qemu_find_nic_info("lan9118", true, NULL)) {
+        lan9118_init(map[VE_ETHERNET], pic[15]);
     }
 
     /* VE_USB: not modelled */
diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c
index e5c4af182d..42fe5efd8c 100644
--- a/hw/net/lan9118.c
+++ b/hw/net/lan9118.c
@@ -1407,14 +1407,13 @@ static void lan9118_register_types(void)
 
 /* Legacy helper function.  Should go away when machine config files are
    implemented.  */
-void lan9118_init(NICInfo *nd, uint32_t base, qemu_irq irq)
+void lan9118_init(uint32_t base, qemu_irq irq)
 {
     DeviceState *dev;
     SysBusDevice *s;
 
-    qemu_check_nic_model(nd, "lan9118");
     dev = qdev_new(TYPE_LAN9118);
-    qdev_set_nic_properties(dev, nd);
+    qemu_configure_nic_device(dev, true, NULL);
     s = SYS_BUS_DEVICE(dev);
     sysbus_realize_and_unref(s, &error_fatal);
     sysbus_mmio_map(s, 0, base);
diff --git a/include/hw/net/lan9118.h b/include/hw/net/lan9118.h
index 3d0c67f339..4bf9da7a63 100644
--- a/include/hw/net/lan9118.h
+++ b/include/hw/net/lan9118.h
@@ -15,6 +15,6 @@
 
 #define TYPE_LAN9118 "lan9118"
 
-void lan9118_init(NICInfo *, uint32_t, qemu_irq);
+void lan9118_init(uint32_t, qemu_irq);
 
 #endif
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:05:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:05:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628351.979765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05qZ-0006Vj-4l; Mon, 06 Nov 2023 20:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628351.979765; Mon, 06 Nov 2023 20: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 1r05qZ-0006Vc-1r; Mon, 06 Nov 2023 20:05:19 +0000
Received: by outflank-mailman (input) for mailman id 628351;
 Mon, 06 Nov 2023 20: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hT-00024f-PD
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:55 +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 79f82449-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:46 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fc-00AkG4-34; Mon, 06 Nov 2023 19:54:02 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GOw-1N; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 79f82449-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=GDtrv5GSjA400CLJSMbKuasKGDSmgWJXtlHBLRSiC9o=; b=O65gB/NMeHk0pDk66c4543YPTN
	dCsd0FF68SdwaefhDnsvm+bQXVXdLxqE42V5S2xHeiaL98Ca6P3X2IvdOpHGgI0Q6aSnct7FPITfB
	+lb89XQd1MZv8RvJDO/P9NIiwhRKDpZIaOrTGXnkuYhDX1kHDSsH2tzYn3Rgj8IrpdC1o6cUSdW87
	VvNoGoiN2tOz5H8+vXXbfyZ2qfpsDdXPdjrBTEjPImCLiJ29gXxSb1NeKCoZFkTItmQ/lU/fby3IM
	+KYCRHFexwezBgIxpVevVmNyi5dsqNPNXfbY3dTDV9MAzbPNv40sA6zxjzSm8kWXMUt6vU4W63NH1
	MasqHlug==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 33/46] hw/m68k/q800: use qemu_find_nic_info()
Date: Mon,  6 Nov 2023 19:49:38 +0000
Message-ID: <20231106195352.301038-34-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

If a corresponding NIC configuration was found, it will have a MAC address
already assigned, so use that. Else, generate and assign a default one.

Using qemu_find_nic_info() is simpler than the alternative of using
qemu_configure_nic_device() and then having to fetch the "mac" property
as a string and convert it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/m68k/q800.c | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/hw/m68k/q800.c b/hw/m68k/q800.c
index 1d7cd5ff1c..165def9c35 100644
--- a/hw/m68k/q800.c
+++ b/hw/m68k/q800.c
@@ -48,6 +48,7 @@
 #include "hw/display/macfb.h"
 #include "hw/block/swim.h"
 #include "net/net.h"
+#include "net/util.h"
 #include "qapi/error.h"
 #include "qemu/error-report.h"
 #include "sysemu/qtest.h"
@@ -271,6 +272,8 @@ static void q800_machine_init(MachineState *machine)
     BusState *adb_bus;
     NubusBus *nubus;
     DriveInfo *dinfo;
+    NICInfo *nd;
+    MACAddr mac;
     uint8_t rng_seed[32];
 
     linux_boot = (kernel_filename != NULL);
@@ -371,13 +374,6 @@ static void q800_machine_init(MachineState *machine)
 
     /* MACSONIC */
 
-    if (nb_nics > 1) {
-        error_report("q800 can only have one ethernet interface");
-        exit(1);
-    }
-
-    qemu_check_nic_model(&nd_table[0], "dp83932");
-
     /*
      * MacSonic driver needs an Apple MAC address
      * Valid prefix are:
@@ -387,14 +383,21 @@ static void q800_machine_init(MachineState *machine)
      * 08:00:07 Apple
      * (Q800 use the last one)
      */
-    nd_table[0].macaddr.a[0] = 0x08;
-    nd_table[0].macaddr.a[1] = 0x00;
-    nd_table[0].macaddr.a[2] = 0x07;
-
     object_initialize_child(OBJECT(machine), "dp8393x", &m->dp8393x,
                             TYPE_DP8393X);
     dev = DEVICE(&m->dp8393x);
-    qdev_set_nic_properties(dev, &nd_table[0]);
+    nd = qemu_find_nic_info(TYPE_DP8393X, true, "dp83932");
+    if (nd) {
+        qdev_set_nic_properties(dev, nd);
+        memcpy(mac.a, nd->macaddr.a, sizeof(mac.a));
+    } else {
+        qemu_macaddr_default_if_unset(&mac);
+    }
+    mac.a[0] = 0x08;
+    mac.a[1] = 0x00;
+    mac.a[2] = 0x07;
+    qdev_prop_set_macaddr(dev, "mac", mac.a);
+
     qdev_prop_set_uint8(dev, "it_shift", 2);
     qdev_prop_set_bit(dev, "big_endian", true);
     object_property_set_link(OBJECT(dev), "dma_mr",
@@ -415,7 +418,7 @@ static void q800_machine_init(MachineState *machine)
     prom = memory_region_get_ram_ptr(dp8393x_prom);
     checksum = 0;
     for (i = 0; i < 6; i++) {
-        prom[i] = revbit8(nd_table[0].macaddr.a[i]);
+        prom[i] = revbit8(mac.a[i]);
         checksum ^= prom[i];
     }
     prom[7] = 0xff - checksum;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:05:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:05:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628356.979775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05r6-0007Qp-EU; Mon, 06 Nov 2023 20:05:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628356.979775; Mon, 06 Nov 2023 20: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 1r05r6-0007Qh-BK; Mon, 06 Nov 2023 20:05:52 +0000
Received: by outflank-mailman (input) for mailman id 628356;
 Mon, 06 Nov 2023 20:05: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hO-00024f-Oi
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:50 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77cf3edf-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:43 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fc-007tah-BC; Mon, 06 Nov 2023 19:54:01 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GP5-1u; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 77cf3edf-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=L5VhMhMWWBNBbH2l848PbF3Scoxc1bNY0ufdNZIbk1U=; b=iGwdZ+aCxnLlfra+boD9l6BbR5
	ZecLaYSnhd2Mj6VGcRr5cKFp3OHC4upiyzuowHAzrNm+l9PPjYHAkA4bsuk85Y4nKk52kzr3+zyEd
	WnS0EyMGlN6ZDfyfDTmHT/OpldPg+ZJbZZPEcHW5jilZh/O9C382WNiPYOg9DNJ13rHwCLDxJFCPm
	Y+L4+sh6q+geRp+KAezyv3Z+Nb5xjuNyuOBLWRC7q+PqKSiqxSUwzaBCQGXmBFP4ccIZe+YhY+YYX
	TdkNjwVq2/Gm1+kB1qfNHER9XVHZDiq28bZA9sEfSnKDxSIznvYI5NHm4VScCILsu+ZnzaauwqDEy
	7knI7PNw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 35/46] hw/mips/mipssim: use qemu_create_nic_device()
Date: Mon,  6 Nov 2023 19:49:40 +0000
Message-ID: <20231106195352.301038-36-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The MIPS SIM platform instantiates its NIC only if a corresponding
configuration exists for it. Use qemu_create_nic_device() function for
that.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/mips/mipssim.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/hw/mips/mipssim.c b/hw/mips/mipssim.c
index 4f743f37eb..d930526fd6 100644
--- a/hw/mips/mipssim.c
+++ b/hw/mips/mipssim.c
@@ -110,13 +110,15 @@ static void main_cpu_reset(void *opaque)
     }
 }
 
-static void mipsnet_init(int base, qemu_irq irq, NICInfo *nd)
+static void mipsnet_init(int base, qemu_irq irq)
 {
     DeviceState *dev;
     SysBusDevice *s;
 
-    dev = qdev_new("mipsnet");
-    qdev_set_nic_properties(dev, nd);
+    dev = qemu_create_nic_device("mipsnet", true, NULL);
+    if (!dev) {
+        return;
+    }
 
     s = SYS_BUS_DEVICE(dev);
     sysbus_realize_and_unref(s, &error_fatal);
@@ -217,9 +219,8 @@ mips_mipssim_init(MachineState *machine)
                       sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0));
     }
 
-    if (nd_table[0].used)
-        /* MIPSnet uses the MIPS CPU INT0, which is interrupt 2. */
-        mipsnet_init(0x4200, env->irq[2], &nd_table[0]);
+    /* MIPSnet uses the MIPS CPU INT0, which is interrupt 2. */
+    mipsnet_init(0x4200, env->irq[2]);
 }
 
 static void mips_mipssim_machine_init(MachineClass *mc)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:06:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628364.979790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05rj-0008Js-15; Mon, 06 Nov 2023 20:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628364.979790; Mon, 06 Nov 2023 20:06: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 1r05ri-0008JL-TX; Mon, 06 Nov 2023 20:06:30 +0000
Received: by outflank-mailman (input) for mailman id 628364;
 Mon, 06 Nov 2023 20:06: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hK-0001Ig-Eh
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:46 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 76e35812-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:41 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fb-007taU-BN; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GOC-1Y; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 76e35812-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=b/4LHUVwE3s/LELrt+0ER1ploJUp0OvQT5xXzN2r1Zo=; b=wO03cTdGV6iCEdBG6L0F1cccO1
	QHSGg+nUHOXWPBZvM1na4u5Vn0DxTDkX6KPZkAonJt+d1Enf6ARbK0irjKYcgE98PDTHSUsp+ae/e
	MErCOIrLehEAU9XtYb3Ab96/YhbXt3+WrtEkFl5fDCZxg/VCp9C3VZW5tF7f85QBmOHVtBUVdNmpK
	MK0pvW0U+32sS60xeuqo6zB/MXVPkPcUmCAiu+qqQaHx9c0O4ngdT8NYhPcp8QuvyqAFFNrFJlyvV
	TYhStPSHFu1/IJCYuapswv/aXPQwANpELKGmLssVZJgBYzav2I6TFCsFx087/9NOnZIHS82EV6YJy
	Q2HkysFQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 23/46] hw/arm/exynos4: use qemu_create_nic_device()
Date: Mon,  6 Nov 2023 19:49:28 +0000
Message-ID: <20231106195352.301038-24-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/exynos4_boards.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/hw/arm/exynos4_boards.c b/hw/arm/exynos4_boards.c
index b0e13eb4f0..003992189b 100644
--- a/hw/arm/exynos4_boards.c
+++ b/hw/arm/exynos4_boards.c
@@ -76,10 +76,8 @@ static void lan9215_init(uint32_t base, qemu_irq irq)
     SysBusDevice *s;
 
     /* This should be a 9215 but the 9118 is close enough */
-    if (nd_table[0].used) {
-        qemu_check_nic_model(&nd_table[0], "lan9118");
-        dev = qdev_new(TYPE_LAN9118);
-        qdev_set_nic_properties(dev, &nd_table[0]);
+    dev = qemu_create_nic_device(TYPE_LAN9118, true, NULL);
+    if (dev) {
         qdev_prop_set_uint32(dev, "mode_16bit", 1);
         s = SYS_BUS_DEVICE(dev);
         sysbus_realize_and_unref(s, &error_fatal);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:06:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628363.979785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05ri-0008Hm-Pj; Mon, 06 Nov 2023 20:06:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628363.979785; Mon, 06 Nov 2023 20:06: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 1r05ri-0008He-N6; Mon, 06 Nov 2023 20:06:30 +0000
Received: by outflank-mailman (input) for mailman id 628363;
 Mon, 06 Nov 2023 20:06: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hS-0001Ig-GC
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:54 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a9ea761-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:48 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fb-007taV-FP; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GON-2E; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7a9ea761-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=q0R/vGQ9T82wbQo8p5ZlrUQuMaAjQBGhQrtm5gCHFCU=; b=YK3C7Jenk8mKIqGsUPnTM8EyMw
	POLjAyOcSK0W2nDQyOB2QKERFVOXLtAM8+Eia0Y14pKOJNsATlJqpxv6JlVEbkDNYtghyf1UmyRQX
	PrB/HF2paV+1bsRVE6RKGuXAGQuamQ9TQ81HyyI7hmWIZBK29wXf0aaQAsBc/ZXJ3Nf+6i5U2t6E1
	7KVtgPm3H/8Ud8rHHF3VHKZceX6K/IMgYs0/Q/IrNufePqWlNamLXvESBdKCwjSiY6/zMkMGq+v26
	m+dGAQv/40uXcGzWgcW1RTl7euzbtf1m8nckwmOYBYK6bX/OJeLw/JVvqBx9i2vuxPgRTVnuGEJb9
	hwMMKwyQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 25/46] hw/net/smc91c111: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:30 +0000
Message-ID: <20231106195352.301038-26-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Some callers instantiate the device unconditionally, others will do so only
if there is a NICInfo to go with it. This appears to be fairly random, but
preserve the existing behaviour for now.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/gumstix.c           |  6 ++----
 hw/arm/integratorcp.c      |  5 +++--
 hw/arm/mainstone.c         |  3 +--
 hw/arm/realview.c          | 25 ++++++++++---------------
 hw/arm/versatilepb.c       | 15 ++++-----------
 hw/net/smc91c111.c         |  5 ++---
 include/hw/net/smc91c111.h |  2 +-
 7 files changed, 23 insertions(+), 38 deletions(-)

diff --git a/hw/arm/gumstix.c b/hw/arm/gumstix.c
index 2ca4140c9f..f58c4da7f9 100644
--- a/hw/arm/gumstix.c
+++ b/hw/arm/gumstix.c
@@ -74,8 +74,7 @@ static void connex_init(MachineState *machine)
                           FLASH_SECTOR_SIZE, 2, 0, 0, 0, 0, 0);
 
     /* Interrupt line of NIC is connected to GPIO line 36 */
-    smc91c111_init(&nd_table[0], 0x04000300,
-                    qdev_get_gpio_in(cpu->gpio, 36));
+    smc91c111_init(0x04000300, qdev_get_gpio_in(cpu->gpio, 36));
 }
 
 static void verdex_init(MachineState *machine)
@@ -98,8 +97,7 @@ static void verdex_init(MachineState *machine)
                           FLASH_SECTOR_SIZE, 2, 0, 0, 0, 0, 0);
 
     /* Interrupt line of NIC is connected to GPIO line 99 */
-    smc91c111_init(&nd_table[0], 0x04000300,
-                    qdev_get_gpio_in(cpu->gpio, 99));
+    smc91c111_init(0x04000300, qdev_get_gpio_in(cpu->gpio, 99));
 }
 
 static void connex_class_init(ObjectClass *oc, void *data)
diff --git a/hw/arm/integratorcp.c b/hw/arm/integratorcp.c
index d176e9af7e..29bc128992 100644
--- a/hw/arm/integratorcp.c
+++ b/hw/arm/integratorcp.c
@@ -669,8 +669,9 @@ static void integratorcp_init(MachineState *machine)
     sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, 0x1d000000);
     sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, pic[25]);
 
-    if (nd_table[0].used)
-        smc91c111_init(&nd_table[0], 0xc8000000, pic[27]);
+    if (qemu_find_nic_info("smc91c111", true, NULL)) {
+        smc91c111_init(0xc8000000, pic[27]);
+    }
 
     sysbus_create_simple("pl110", 0xc0000000, pic[22]);
 
diff --git a/hw/arm/mainstone.c b/hw/arm/mainstone.c
index 68329c4617..84dbb6e525 100644
--- a/hw/arm/mainstone.c
+++ b/hw/arm/mainstone.c
@@ -153,8 +153,7 @@ static void mainstone_common_init(MachineState *machine,
             qdev_get_gpio_in(mst_irq, S1_IRQ),
             qdev_get_gpio_in(mst_irq, S1_CD_IRQ));
 
-    smc91c111_init(&nd_table[0], MST_ETH_PHYS,
-                    qdev_get_gpio_in(mst_irq, ETHERNET_IRQ));
+    smc91c111_init(MST_ETH_PHYS, qdev_get_gpio_in(mst_irq, ETHERNET_IRQ));
 
     mainstone_binfo.board_id = arm_id;
     arm_load_kernel(mpu->cpu, machine, &mainstone_binfo);
diff --git a/hw/arm/realview.c b/hw/arm/realview.c
index 132217b2ed..6e7529d98f 100644
--- a/hw/arm/realview.c
+++ b/hw/arm/realview.c
@@ -89,7 +89,6 @@ static void realview_init(MachineState *machine,
     I2CBus *i2c;
     int n;
     unsigned int smp_cpus = machine->smp.cpus;
-    int done_nic = 0;
     qemu_irq cpu_irq[4];
     int is_mpcore = 0;
     int is_pb = 0;
@@ -295,24 +294,20 @@ static void realview_init(MachineState *machine,
             n--;
         }
     }
-    for(n = 0; n < nb_nics; n++) {
-        nd = &nd_table[n];
-
-        if (!done_nic && (!nd->model ||
-                    strcmp(nd->model, is_pb ? "lan9118" : "smc91c111") == 0)) {
-            if (is_pb) {
-                lan9118_init(nd, 0x4e000000, pic[28]);
-            } else {
-                smc91c111_init(nd, 0x4e000000, pic[28]);
-            }
-            done_nic = 1;
+
+    nd = qemu_find_nic_info(is_pb ? "lan9118" : "smc91c111", true, NULL);
+    if (nd) {
+        if (is_pb) {
+            lan9118_init(nd, 0x4e000000, pic[28]);
         } else {
-            if (pci_bus) {
-                pci_nic_init_nofail(nd, pci_bus, "rtl8139", NULL);
-            }
+            smc91c111_init(0x4e000000, pic[28]);
         }
     }
 
+    if (pci_bus) {
+        pci_init_nic_devices(pci_bus, "rtl8139");
+    }
+
     dev = sysbus_create_simple(TYPE_ARM_SBCON_I2C, 0x10002000, NULL);
     i2c = (I2CBus *)qdev_get_child_bus(dev, "i2c");
     i2c_slave_create_simple(i2c, "ds1338", 0x68);
diff --git a/hw/arm/versatilepb.c b/hw/arm/versatilepb.c
index 2f22dc890f..7bf2ba7c21 100644
--- a/hw/arm/versatilepb.c
+++ b/hw/arm/versatilepb.c
@@ -192,10 +192,8 @@ static void versatile_init(MachineState *machine, int board_id)
     SysBusDevice *busdev;
     DeviceState *pl041;
     PCIBus *pci_bus;
-    NICInfo *nd;
     I2CBus *i2c;
     int n;
-    int done_smc = 0;
     DriveInfo *dinfo;
 
     if (machine->ram_size > 0x10000000) {
@@ -263,16 +261,11 @@ static void versatile_init(MachineState *machine, int board_id)
     sysbus_connect_irq(busdev, 3, sic[30]);
     pci_bus = (PCIBus *)qdev_get_child_bus(dev, "pci");
 
-    for(n = 0; n < nb_nics; n++) {
-        nd = &nd_table[n];
-
-        if (!done_smc && (!nd->model || strcmp(nd->model, "smc91c111") == 0)) {
-            smc91c111_init(nd, 0x10010000, sic[25]);
-            done_smc = 1;
-        } else {
-            pci_nic_init_nofail(nd, pci_bus, "rtl8139", NULL);
-        }
+    if (qemu_find_nic_info("smc91c111", true, NULL)) {
+        smc91c111_init(0x10010000, sic[25]);
     }
+    pci_init_nic_devices(pci_bus, "rtl8139");
+
     if (machine_usb(machine)) {
         pci_create_simple(pci_bus, -1, "pci-ohci");
     }
diff --git a/hw/net/smc91c111.c b/hw/net/smc91c111.c
index ddbceda967..dec4982cfe 100644
--- a/hw/net/smc91c111.c
+++ b/hw/net/smc91c111.c
@@ -817,14 +817,13 @@ static void smc91c111_register_types(void)
 
 /* Legacy helper function.  Should go away when machine config files are
    implemented.  */
-void smc91c111_init(NICInfo *nd, uint32_t base, qemu_irq irq)
+void smc91c111_init(uint32_t base, qemu_irq irq)
 {
     DeviceState *dev;
     SysBusDevice *s;
 
-    qemu_check_nic_model(nd, "smc91c111");
     dev = qdev_new(TYPE_SMC91C111);
-    qdev_set_nic_properties(dev, nd);
+    qemu_configure_nic_device(dev, true, NULL);
     s = SYS_BUS_DEVICE(dev);
     sysbus_realize_and_unref(s, &error_fatal);
     sysbus_mmio_map(s, 0, base);
diff --git a/include/hw/net/smc91c111.h b/include/hw/net/smc91c111.h
index df5b11dcef..dba32a233f 100644
--- a/include/hw/net/smc91c111.h
+++ b/include/hw/net/smc91c111.h
@@ -13,6 +13,6 @@
 
 #include "net/net.h"
 
-void smc91c111_init(NICInfo *, uint32_t, qemu_irq);
+void smc91c111_init(uint32_t, qemu_irq);
 
 #endif
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:07:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628370.979805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05sS-00019s-7P; Mon, 06 Nov 2023 20:07:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628370.979805; Mon, 06 Nov 2023 20:07: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 1r05sS-00019c-4m; Mon, 06 Nov 2023 20:07:16 +0000
Received: by outflank-mailman (input) for mailman id 628370;
 Mon, 06 Nov 2023 20:07: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hT-0001Ig-GE
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:55 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7b871ac9-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:49 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fa-00AkFa-1s; Mon, 06 Nov 2023 19:53:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fZ-001GMf-1K; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7b871ac9-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=NtM5dvM1hcy/esdporcv2SoK/3lYRmBKLdh9Syn+Wp0=; b=ngzUVgS4H/dtZV5qL2t7cAUpck
	uJlyiTRKkP7Yz7NAXqv7rY2nhJ1+lLV/L00BXYGxy9gXTakinwc94gdhlEafmtalVHp6TRK5lJjzj
	HA9LAMqTDMjc7Ql8v20cHvCxKBuVOYy1bXJwpFEzFEmGaDCCass7fnEmbXmXSLHh8u65qk+BLFsBz
	Q68O+4Q63xnhS37lChAigIDopyGum0MChZw2cddB0gtfkqmHFM1xK/DF8bljADrNkbIUNFT7AIl6H
	Tv4pjhaIrF8+f+PrZrY30XAqtUl8nHeBMzPfdXfnf5QcNFPbDcgGpLT4WgDRSKo7Et6DEVMaBH2hc
	ajduyDJA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 02/46] net: report list of available models according to platform
Date: Mon,  6 Nov 2023 19:49:07 +0000
Message-ID: <20231106195352.301038-3-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

By noting the models for which a configuration was requested, we can give
the user an accurate list of which NIC models were actually available on
the platform/configuration that was otherwise chosen.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 net/net.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 94 insertions(+)

diff --git a/net/net.c b/net/net.c
index f8b4973a1e..807220e630 100644
--- a/net/net.c
+++ b/net/net.c
@@ -75,6 +75,8 @@ typedef QSIMPLEQ_HEAD(, NetdevQueueEntry) NetdevQueue;
 
 static NetdevQueue nd_queue = QSIMPLEQ_HEAD_INITIALIZER(nd_queue);
 
+static GHashTable *nic_model_help;
+
 /***********************************************************/
 /* network device redirectors */
 
@@ -1072,12 +1074,94 @@ static int net_init_nic(const Netdev *netdev, const char *name,
     return idx;
 }
 
+static gboolean add_nic_result(gpointer key, gpointer value, gpointer user_data)
+{
+    GPtrArray *results = user_data;
+    GPtrArray *alias_list = value;
+    const char *model = key;
+    char *result;
+
+    if (!alias_list) {
+        result = g_strdup(model);
+    } else {
+        GString *result_str = g_string_new(model);
+        int i;
+
+        g_string_append(result_str, " (aka ");
+        for (i = 0; i < alias_list->len; i++) {
+            if (i) {
+                g_string_append(result_str, ", ");
+            }
+            g_string_append(result_str, alias_list->pdata[i]);
+        }
+        g_string_append(result_str, ")");
+        result = result_str->str;
+        g_string_free(result_str, false);
+        g_ptr_array_unref(alias_list);
+    }
+    g_ptr_array_add(results, result);
+    return true;
+}
+
+static int model_cmp(char **a, char **b)
+{
+    return strcmp(*a, *b);
+}
+
+static void show_nic_models(void)
+{
+    GPtrArray *results = g_ptr_array_new();
+    int i;
+
+    g_hash_table_foreach_remove(nic_model_help, add_nic_result, results);
+    g_ptr_array_sort(results, (GCompareFunc)model_cmp);
+
+    printf("Available NIC models for this configuration:\n");
+    for (i = 0 ; i < results->len; i++) {
+        printf("%s\n", (char *)results->pdata[i]);
+    }
+    g_hash_table_unref(nic_model_help);
+    nic_model_help = NULL;
+}
+
+static void add_nic_model_help(const char *model, const char *alias)
+{
+    GPtrArray *alias_list = NULL;
+
+    if (g_hash_table_lookup_extended(nic_model_help, model, NULL,
+                                     (gpointer *)&alias_list)) {
+        /* Already exists, no alias to add: return */
+        if (!alias) {
+            return;
+        }
+        if (alias_list) {
+            /* Check if this alias is already in the list. Add if not. */
+            if (!g_ptr_array_find_with_equal_func(alias_list, alias,
+                                                  g_str_equal, NULL)) {
+                g_ptr_array_add(alias_list, g_strdup(alias));
+            }
+            return;
+        }
+    }
+    /* Either this model wasn't in the list already, or a first alias added */
+    if (alias) {
+        alias_list = g_ptr_array_new();
+        g_ptr_array_set_free_func(alias_list, g_free);
+        g_ptr_array_add(alias_list, g_strdup(alias));
+    }
+    g_hash_table_replace(nic_model_help, g_strdup(model), alias_list);
+}
+
 NICInfo *qemu_find_nic_info(const char *typename, bool match_default,
                             const char *alias)
 {
     NICInfo *nd;
     int i;
 
+    if (nic_model_help) {
+        add_nic_model_help(typename, alias);
+    }
+
     for (i = 0; i < nb_nics; i++) {
         nd = &nd_table[i];
 
@@ -1591,6 +1675,10 @@ void net_check_clients(void)
     NetClientState *nc;
     int i;
 
+    if (nic_model_help) {
+        show_nic_models();
+        exit(0);
+    }
     net_hub_check_clients();
 
     QTAILQ_FOREACH(nc, &net_clients, next) {
@@ -1670,6 +1758,12 @@ static int net_param_nic(void *dummy, QemuOpts *opts, Error **errp)
     memset(ni, 0, sizeof(*ni));
     ni->model = qemu_opt_get_del(opts, "model");
 
+    if (!nic_model_help && !g_strcmp0(ni->model, "help")) {
+        nic_model_help = g_hash_table_new_full(g_str_hash, g_str_equal,
+                                               g_free, NULL);
+        return 0;
+    }
+
     /* Create an ID if the user did not specify one */
     nd_id = g_strdup(qemu_opts_id(opts));
     if (!nd_id) {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:07:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628374.979814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05sf-0001a3-ER; Mon, 06 Nov 2023 20:07:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628374.979814; Mon, 06 Nov 2023 20:07: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 1r05sf-0001Zw-Be; Mon, 06 Nov 2023 20:07:29 +0000
Received: by outflank-mailman (input) for mailman id 628374;
 Mon, 06 Nov 2023 20:07: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hN-0001Ig-FK
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:49 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7797d83a-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:42 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fc-00AkG3-38; Mon, 06 Nov 2023 19:54:02 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GOj-0X; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 7797d83a-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Jxij+S2rfNvx9smk2rq4E6p1vQ2IBZRLtKjjuNaESe0=; b=J6F/YyAH/jx1Xnu0nwmkVlLLZR
	pEswynx78j+BxXrSprmpbB98QVZpHz5coTHg+rJye7skkR4cRnVBzVqPYFPCDGeFeGzhnKaMLTU3I
	Na1KhproVJR0IY0PcJxyikz2ngGannldbG4kvqAY/Yvi8jUrenBSzQkHJ4yDz0BKxOkJeDBE7fZKD
	7+mL/Nwc4AkGo9+OD7G3ww/v9KhV6/qaNWLOGw443LVqSWsZIXgysaC7vx2n7x2p6SXSkQ1lau6d7
	1mQfWYIIRrGXl+afi28C//fzxyDmM63NpAifDYm5YjOFpOY2n5VvZP6W0LiAVPOZYnRQI+CT3dUFF
	YYYIYP6w==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 30/46] hw/arm: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:35 +0000
Message-ID: <20231106195352.301038-31-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/mps2-tz.c     |  8 ++------
 hw/arm/msf2-soc.c    |  6 +-----
 hw/arm/musicpal.c    |  3 +--
 hw/arm/xilinx_zynq.c | 11 ++++-------
 hw/arm/xlnx-versal.c |  7 +------
 hw/arm/xlnx-zynqmp.c |  8 +-------
 6 files changed, 10 insertions(+), 33 deletions(-)

diff --git a/hw/arm/mps2-tz.c b/hw/arm/mps2-tz.c
index eae3639da2..6808143a07 100644
--- a/hw/arm/mps2-tz.c
+++ b/hw/arm/mps2-tz.c
@@ -499,14 +499,12 @@ static MemoryRegion *make_eth_dev(MPS2TZMachineState *mms, void *opaque,
                                   const PPCExtraData *extradata)
 {
     SysBusDevice *s;
-    NICInfo *nd = &nd_table[0];
 
     /* In hardware this is a LAN9220; the LAN9118 is software compatible
      * except that it doesn't support the checksum-offload feature.
      */
-    qemu_check_nic_model(nd, "lan9118");
     mms->lan9118 = qdev_new(TYPE_LAN9118);
-    qdev_set_nic_properties(mms->lan9118, nd);
+    qemu_configure_nic_device(mms->lan9118, true, NULL);
 
     s = SYS_BUS_DEVICE(mms->lan9118);
     sysbus_realize_and_unref(s, &error_fatal);
@@ -524,7 +522,6 @@ static MemoryRegion *make_eth_usb(MPS2TZMachineState *mms, void *opaque,
      * irqs[] is the ethernet IRQ.
      */
     SysBusDevice *s;
-    NICInfo *nd = &nd_table[0];
 
     memory_region_init(&mms->eth_usb_container, OBJECT(mms),
                        "mps2-tz-eth-usb-container", 0x200000);
@@ -533,9 +530,8 @@ static MemoryRegion *make_eth_usb(MPS2TZMachineState *mms, void *opaque,
      * In hardware this is a LAN9220; the LAN9118 is software compatible
      * except that it doesn't support the checksum-offload feature.
      */
-    qemu_check_nic_model(nd, "lan9118");
     mms->lan9118 = qdev_new(TYPE_LAN9118);
-    qdev_set_nic_properties(mms->lan9118, nd);
+    qemu_configure_nic_device(mms->lan9118, true, NULL);
 
     s = SYS_BUS_DEVICE(mms->lan9118);
     sysbus_realize_and_unref(s, &error_fatal);
diff --git a/hw/arm/msf2-soc.c b/hw/arm/msf2-soc.c
index b5fe9f364d..35bf1d64e1 100644
--- a/hw/arm/msf2-soc.c
+++ b/hw/arm/msf2-soc.c
@@ -197,12 +197,8 @@ static void m2sxxx_soc_realize(DeviceState *dev_soc, Error **errp)
         g_free(bus_name);
     }
 
-    /* FIXME use qdev NIC properties instead of nd_table[] */
-    if (nd_table[0].used) {
-        qemu_check_nic_model(&nd_table[0], TYPE_MSS_EMAC);
-        qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]);
-    }
     dev = DEVICE(&s->emac);
+    qemu_configure_nic_device(dev, true, NULL);
     object_property_set_link(OBJECT(&s->emac), "ahb-bus",
                              OBJECT(get_system_memory()), &error_abort);
     if (!sysbus_realize(SYS_BUS_DEVICE(&s->emac), errp)) {
diff --git a/hw/arm/musicpal.c b/hw/arm/musicpal.c
index 9703bfb97f..a60139ce53 100644
--- a/hw/arm/musicpal.c
+++ b/hw/arm/musicpal.c
@@ -1286,9 +1286,8 @@ static void musicpal_init(MachineState *machine)
     }
     sysbus_create_simple(TYPE_MV88W8618_FLASHCFG, MP_FLASHCFG_BASE, NULL);
 
-    qemu_check_nic_model(&nd_table[0], "mv88w8618");
     dev = qdev_new(TYPE_MV88W8618_ETH);
-    qdev_set_nic_properties(dev, &nd_table[0]);
+    qemu_configure_nic_device(dev, true, "mv88w8618");
     object_property_set_link(OBJECT(dev), "dma-memory",
                              OBJECT(get_system_memory()), &error_fatal);
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c
index dbb9793aa1..73a6472b91 100644
--- a/hw/arm/xilinx_zynq.c
+++ b/hw/arm/xilinx_zynq.c
@@ -108,16 +108,13 @@ static void zynq_write_board_setup(ARMCPU *cpu,
 
 static struct arm_boot_info zynq_binfo = {};
 
-static void gem_init(NICInfo *nd, uint32_t base, qemu_irq irq)
+static void gem_init(uint32_t base, qemu_irq irq)
 {
     DeviceState *dev;
     SysBusDevice *s;
 
     dev = qdev_new(TYPE_CADENCE_GEM);
-    if (nd->used) {
-        qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
-        qdev_set_nic_properties(dev, nd);
-    }
+    qemu_configure_nic_device(dev, true, NULL);
     object_property_set_int(OBJECT(dev), "phy-addr", 7, &error_abort);
     s = SYS_BUS_DEVICE(dev);
     sysbus_realize_and_unref(s, &error_fatal);
@@ -279,8 +276,8 @@ static void zynq_init(MachineState *machine)
     sysbus_create_varargs("cadence_ttc", 0xF8002000,
             pic[69-IRQ_OFFSET], pic[70-IRQ_OFFSET], pic[71-IRQ_OFFSET], NULL);
 
-    gem_init(&nd_table[0], 0xE000B000, pic[54-IRQ_OFFSET]);
-    gem_init(&nd_table[1], 0xE000C000, pic[77-IRQ_OFFSET]);
+    gem_init(0xE000B000, pic[54 - IRQ_OFFSET]);
+    gem_init(0xE000C000, pic[77 - IRQ_OFFSET]);
 
     for (n = 0; n < 2; n++) {
         int hci_irq = n ? 79 : 56;
diff --git a/hw/arm/xlnx-versal.c b/hw/arm/xlnx-versal.c
index 4f74a64a0d..c9561995ae 100644
--- a/hw/arm/xlnx-versal.c
+++ b/hw/arm/xlnx-versal.c
@@ -249,18 +249,13 @@ static void versal_create_gems(Versal *s, qemu_irq *pic)
         static const int irqs[] = { VERSAL_GEM0_IRQ_0, VERSAL_GEM1_IRQ_0};
         static const uint64_t addrs[] = { MM_GEM0, MM_GEM1 };
         char *name = g_strdup_printf("gem%d", i);
-        NICInfo *nd = &nd_table[i];
         DeviceState *dev;
         MemoryRegion *mr;
 
         object_initialize_child(OBJECT(s), name, &s->lpd.iou.gem[i],
                                 TYPE_CADENCE_GEM);
         dev = DEVICE(&s->lpd.iou.gem[i]);
-        /* FIXME use qdev NIC properties instead of nd_table[] */
-        if (nd->used) {
-            qemu_check_nic_model(nd, "cadence_gem");
-            qdev_set_nic_properties(dev, nd);
-        }
+        qemu_configure_nic_device(dev, true, NULL);
         object_property_set_int(OBJECT(dev), "phy-addr", 23, &error_abort);
         object_property_set_int(OBJECT(dev), "num-priority-queues", 2,
                                 &error_abort);
diff --git a/hw/arm/xlnx-zynqmp.c b/hw/arm/xlnx-zynqmp.c
index 5905a33015..4f1714e4a1 100644
--- a/hw/arm/xlnx-zynqmp.c
+++ b/hw/arm/xlnx-zynqmp.c
@@ -616,13 +616,7 @@ static void xlnx_zynqmp_realize(DeviceState *dev, Error **errp)
     }
 
     for (i = 0; i < XLNX_ZYNQMP_NUM_GEMS; i++) {
-        NICInfo *nd = &nd_table[i];
-
-        /* FIXME use qdev NIC properties instead of nd_table[] */
-        if (nd->used) {
-            qemu_check_nic_model(nd, TYPE_CADENCE_GEM);
-            qdev_set_nic_properties(DEVICE(&s->gem[i]), nd);
-        }
+        qemu_configure_nic_device(DEVICE(&s->gem[i]), true, NULL);
         object_property_set_int(OBJECT(&s->gem[i]), "revision", GEM_REVISION,
                                 &error_abort);
         object_property_set_int(OBJECT(&s->gem[i]), "phy-addr", 23,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:08:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:08:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628382.979825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05t9-0002Tv-SF; Mon, 06 Nov 2023 20:07:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628382.979825; Mon, 06 Nov 2023 20:07: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 1r05t9-0002To-Ol; Mon, 06 Nov 2023 20:07:59 +0000
Received: by outflank-mailman (input) for mailman id 628382;
 Mon, 06 Nov 2023 20:07: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hq-0001Ig-MZ
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:56:18 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b4b9d71-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:56:16 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fd-007tb0-50; Mon, 06 Nov 2023 19:54:02 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fd-001GPq-1J; Mon, 06 Nov 2023 19: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
X-Inumbo-ID: 8b4b9d71-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=rm/pmqYI6mjjqqrOLmrc9x1lSoz+dJDC9gj42DRuQk0=; b=cu1GrDIiiNZSYoZ345aCg6DSo1
	5BMiXQroAAhwpbCaUDnLB8Q0LNaJRZnP9h4Skn+gKHvDif78f/8+MPLyfoivx+ee7LTUdTv/Oznen
	EjATyhIYuQKLJ/2kh6QnKX82u1VT2V6Hucs8vfcP5FVMnyGZZBKevhKIH/vw60+GjFuZIZrDAr9hu
	KVnLqlvzYHKCJdpaCa7gregdtGgPPRne6UTtmOza/4qCAVsVHdstYnTd5W3+JtOMBMpYdX8jONzWY
	aEO3ZNrFD6CM+ckLYrViJ5Ovh0fHLrTcS8q9s7SH3IdQ7qw4ZzIRABEmF00EaBpqNM+lee7i9OlsJ
	QtTJmxhw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 44/46] hw/pci: remove pci_nic_init_nofail()
Date: Mon,  6 Nov 2023 19:49:49 +0000
Message-ID: <20231106195352.301038-45-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

This function is no longer used.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/pci/pci.c         | 72 --------------------------------------------
 include/hw/pci/pci.h |  3 --
 2 files changed, 75 deletions(-)

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 5703266c0b..097609ca54 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -1853,78 +1853,6 @@ const pci_class_desc *get_class_desc(int class)
     return desc;
 }
 
-/* Initialize a PCI NIC.  */
-PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus *rootbus,
-                               const char *default_model,
-                               const char *default_devaddr)
-{
-    const char *devaddr = nd->devaddr ? nd->devaddr : default_devaddr;
-    GPtrArray *pci_nic_models;
-    PCIBus *bus;
-    PCIDevice *pci_dev;
-    DeviceState *dev;
-    int devfn;
-    int i;
-    int dom, busnr;
-    unsigned slot;
-
-    if (nd->model && !strcmp(nd->model, "virtio")) {
-        g_free(nd->model);
-        nd->model = g_strdup("virtio-net-pci");
-    }
-
-    pci_nic_models = qemu_get_nic_models(TYPE_PCI_DEVICE);
-
-    if (qemu_show_nic_models(nd->model, (const char **)pci_nic_models->pdata)) {
-        exit(0);
-    }
-
-    i = qemu_find_nic_model(nd, (const char **)pci_nic_models->pdata,
-                            default_model);
-    if (i < 0) {
-        exit(1);
-    }
-
-    if (!rootbus) {
-        error_report("No primary PCI bus");
-        exit(1);
-    }
-
-    assert(!rootbus->parent_dev);
-
-    if (!devaddr) {
-        devfn = -1;
-        busnr = 0;
-    } else {
-        if (pci_parse_devaddr(devaddr, &dom, &busnr, &slot, NULL) < 0) {
-            error_report("Invalid PCI device address %s for device %s",
-                         devaddr, nd->model);
-            exit(1);
-        }
-
-        if (dom != 0) {
-            error_report("No support for non-zero PCI domains");
-            exit(1);
-        }
-
-        devfn = PCI_DEVFN(slot, 0);
-    }
-
-    bus = pci_find_bus_nr(rootbus, busnr);
-    if (!bus) {
-        error_report("Invalid PCI device address %s for device %s",
-                     devaddr, nd->model);
-        exit(1);
-    }
-
-    pci_dev = pci_new(devfn, nd->model);
-    dev = &pci_dev->qdev;
-    qdev_set_nic_properties(dev, nd);
-    pci_realize_and_unref(pci_dev, bus, &error_fatal);
-    g_ptr_array_free(pci_nic_models, true);
-    return pci_dev;
-}
-
 void pci_init_nic_devices(PCIBus *bus, const char *default_model)
 {
     qemu_create_nic_bus_devices(&bus->qbus, TYPE_PCI_DEVICE, default_model,
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index 684d49bdcd..420cfbb5f8 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -314,9 +314,6 @@ void pci_device_set_intx_routing_notifier(PCIDevice *dev,
                                           PCIINTxRoutingNotifier notifier);
 void pci_device_reset(PCIDevice *dev);
 
-PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus *rootbus,
-                               const char *default_model,
-                               const char *default_devaddr);
 void pci_init_nic_devices(PCIBus *bus, const char *default_model);
 bool pci_init_nic_in_slot(PCIBus *rootbus, const char *default_model,
                           const char *alias, const char *devaddr);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:08:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:08:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628385.979835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05tN-0002zM-3i; Mon, 06 Nov 2023 20:08:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628385.979835; Mon, 06 Nov 2023 20: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 1r05tN-0002zF-0x; Mon, 06 Nov 2023 20:08:13 +0000
Received: by outflank-mailman (input) for mailman id 628385;
 Mon, 06 Nov 2023 20: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hX-0001Ig-Gy
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:59 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e24d68d-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:53 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fa-007taO-Kr; Mon, 06 Nov 2023 19:53:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GNn-33; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7e24d68d-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=mKejtkSe+nFfQ0aoeWucod44zhEmF2o9bYQegdFzkdU=; b=Rk23+bVe1uIucZnhqpW349FZ+y
	COtS9j6HVINOASM87trkyxdyoXEKEExBGPZCo0r51i8vE9fdkBU4t5bDpimD0Z9xRnYrg+35a3s3n
	VEw62xkWw34eQptQZjbrnUCSIAzgj18Wr6p7Tw1s13pPMK5m8cgESyzOJZ6CAebER98ZMDSzDMTF8
	74m6OdxEHV2vTDtEsI9QtKc2jf2BGO77UaO9Tg7nOSZp4PWRa99idqW/BK0F9M5ou8UHXCaW4X0DP
	lZyWMgICBLhH1K5EaV8GegsYRSnlz+aymO6vQeWf9ko0nNiWSzNq6EZgQhXxAA730V15hB+c/yvRB
	TRQacxNw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 18/46] hw/sh4/r2d: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:23 +0000
Message-ID: <20231106195352.301038-19-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Previously, the first PCI NIC would be assigned to slot 2 even if the
user override the model and made it something other than an rtl8139
which is the default. Everything else would be dynamically assigned.

Now, the first rtl8139 gets slot 2 and everything else is dynamic.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp>
---
 hw/sh4/r2d.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/hw/sh4/r2d.c b/hw/sh4/r2d.c
index 4944994e9c..e9f316a6ce 100644
--- a/hw/sh4/r2d.c
+++ b/hw/sh4/r2d.c
@@ -240,7 +240,6 @@ static void r2d_init(MachineState *machine)
     MemoryRegion *sdram = g_new(MemoryRegion, 1);
     qemu_irq *irq;
     DriveInfo *dinfo;
-    int i;
     DeviceState *dev;
     SysBusDevice *busdev;
     MemoryRegion *address_space_mem = get_system_memory();
@@ -309,9 +308,8 @@ static void r2d_init(MachineState *machine)
                           0x555, 0x2aa, 0);
 
     /* NIC: rtl8139 on-board, and 2 slots. */
-    for (i = 0; i < nb_nics; i++)
-        pci_nic_init_nofail(&nd_table[i], pci_bus,
-                            mc->default_nic, i == 0 ? "2" : NULL);
+    pci_init_nic_in_slot(pci_bus, mc->default_nic, NULL, "2");
+    pci_init_nic_devices(pci_bus, mc->default_nic);
 
     /* USB keyboard */
     usb_create_simple(usb_bus_find(-1), "usb-kbd");
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:08:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:08:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628387.979844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05tS-0003Kl-Bn; Mon, 06 Nov 2023 20:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628387.979844; Mon, 06 Nov 2023 20: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 1r05tS-0003Kb-94; Mon, 06 Nov 2023 20:08:18 +0000
Received: by outflank-mailman (input) for mailman id 628387;
 Mon, 06 Nov 2023 20:08: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hP-0001Ig-Fn
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:51 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79703108-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:46 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fZ-007taG-R7; Mon, 06 Nov 2023 19:53:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fa-001GN8-0B; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 79703108-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=IRrS1Ip1Y1CS4Hz1ksfmSuWNiYQxa0GsEECWORyCCB4=; b=fUutKnPvhKKYNvPnaUSytK4Drp
	wIw63I9XKRhaK8DOjjloQB8quEVxhSV+OUywFeqHPnHW92zLDm/qClFUq0I426fxoCizket/1f2/1
	Pu1dxOWpnrPUrfydMjmyfwwL0e1koDvdIfEPwgK/hBjxovrWSY8VbkYrLfMDizwr6mFWlT8IMUaqM
	yXIa8MwsmIl9y7bjKwp/S5LWH73qH6GZr9diDz6/lJyjujD0+xuIjutKsuLRaLi55f4fSX/GJ2whN
	RmTarm+G02AnuZm54FvhFzuVAhNtho6uEMoKHgVnwm+qUVo1Pqy0h6css3kUKXUKqPlB/0lNP9mhI
	TshVueXQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 09/46] hw/arm/virt: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:14 +0000
Message-ID: <20231106195352.301038-10-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/virt.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/hw/arm/virt.c b/hw/arm/virt.c
index 92085d2d8f..61706bfcfc 100644
--- a/hw/arm/virt.c
+++ b/hw/arm/virt.c
@@ -1481,9 +1481,7 @@ static void create_pcie(VirtMachineState *vms)
     pci->bypass_iommu = vms->default_bus_bypass_iommu;
     vms->bus = pci->bus;
     if (vms->bus) {
-        for (i = 0; i < nb_nics; i++) {
-            pci_nic_init_nofail(&nd_table[i], pci->bus, mc->default_nic, NULL);
-        }
+        pci_init_nic_devices(pci->bus, mc->default_nic);
     }
 
     nodename = vms->pciehb_nodename = g_strdup_printf("/pcie@%" PRIx64, base);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:08:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:08:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628394.979855 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05to-0004Di-L0; Mon, 06 Nov 2023 20:08:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628394.979855; Mon, 06 Nov 2023 20: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 1r05to-0004Db-Ho; Mon, 06 Nov 2023 20:08:40 +0000
Received: by outflank-mailman (input) for mailman id 628394;
 Mon, 06 Nov 2023 20:08: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hR-0001Ig-Fi
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:53 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79fb1c10-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:46 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fd-007tb3-6F; Mon, 06 Nov 2023 19:54:02 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fd-001GPu-1Y; Mon, 06 Nov 2023 19: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
X-Inumbo-ID: 79fb1c10-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=vZowVkCjMFbp95UJRr5lu+JPxdNb9doXjcXZRlmZdv8=; b=Y/rkI5F0NcvCFoLbktSjr9lD+p
	JghtzoFzu1jDfHij1/EbcuKd66GBWDMTanBgalqLdoTiZOA/Vs2zIKMhAwjpEWhC+ogI3P5/QnQCW
	ee3GrAB/elUOQ5ZswbLXnTB04HdYuoyZ0IZ7KB3LfvtHV92kmes+GTH4SFL+BHuFQiu3iKxL3hk09
	ao5Od0E02mZsu2PxliLHdwYKYf7QvlXUrSJLbvKvuGmlm4k6bho2IPdG20Ysp2YAFS9TM3WOSH94j
	0W9WhgZJl96jwmHF+1r7uuYiuvxpYSbQ3efgbg4ED59wjEdGIKiLh2g8faL+E72DdJnyM+9+xJoXV
	9yAC6hug==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 45/46] net: remove qemu_show_nic_models(), qemu_find_nic_model()
Date: Mon,  6 Nov 2023 19:49:50 +0000
Message-ID: <20231106195352.301038-46-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

These old functions can be removed now too. Let net_param_nic() print
the full set of network devices directly, and also make it note that a
list more specific to this platform/config will be available by using
'-nic model=help' instead.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 include/net/net.h |  3 ---
 net/net.c         | 39 ++++++---------------------------------
 2 files changed, 6 insertions(+), 36 deletions(-)

diff --git a/include/net/net.h b/include/net/net.h
index 1512650190..290e604f03 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -201,9 +201,6 @@ void qemu_set_vnet_hdr_len(NetClientState *nc, int len);
 int qemu_set_vnet_le(NetClientState *nc, bool is_le);
 int qemu_set_vnet_be(NetClientState *nc, bool is_be);
 void qemu_macaddr_default_if_unset(MACAddr *macaddr);
-int qemu_show_nic_models(const char *arg, const char *const *models);
-int qemu_find_nic_model(NICInfo *nd, const char * const *models,
-                        const char *default_model);
 NICInfo *qemu_find_nic_info(const char *typename, bool match_default,
                             const char *alias);
 bool qemu_configure_nic_device(DeviceState *dev, bool match_default,
diff --git a/net/net.c b/net/net.c
index ffc722069f..a3532a71a5 100644
--- a/net/net.c
+++ b/net/net.c
@@ -962,38 +962,6 @@ GPtrArray *qemu_get_nic_models(const char *device_type)
     return nic_models;
 }
 
-int qemu_show_nic_models(const char *arg, const char *const *models)
-{
-    int i;
-
-    if (!arg || !is_help_option(arg)) {
-        return 0;
-    }
-
-    printf("Available NIC models:\n");
-    for (i = 0 ; models[i]; i++) {
-        printf("%s\n", models[i]);
-    }
-    return 1;
-}
-
-int qemu_find_nic_model(NICInfo *nd, const char * const *models,
-                        const char *default_model)
-{
-    int i;
-
-    if (!nd->model)
-        nd->model = g_strdup(default_model);
-
-    for (i = 0 ; models[i]; i++) {
-        if (strcmp(nd->model, models[i]) == 0)
-            return i;
-    }
-
-    error_report("Unsupported NIC model: %s", nd->model);
-    return -1;
-}
-
 static int net_init_nic(const Netdev *netdev, const char *name,
                         NetClientState *peer, Error **errp)
 {
@@ -1776,9 +1744,14 @@ static int net_param_nic(void *dummy, QemuOpts *opts, Error **errp)
         }
         if (is_help_option(type)) {
             GPtrArray *nic_models = qemu_get_nic_models(TYPE_DEVICE);
+            int i;
             show_netdevs();
             printf("\n");
-            qemu_show_nic_models(type, (const char **)nic_models->pdata);
+            printf("Supported NIC models "
+                   "(use -nic model=help for a filtered list):\n");
+            for (i = 0 ; nic_models->pdata[i]; i++) {
+                printf("%s\n", (char *)nic_models->pdata[i]);
+            }
             g_ptr_array_free(nic_models, true);
             exit(0);
         }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:08:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:08:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628395.979864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05tp-0004a4-W3; Mon, 06 Nov 2023 20:08:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628395.979864; Mon, 06 Nov 2023 20:08: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 1r05tp-0004Yw-T0; Mon, 06 Nov 2023 20:08:41 +0000
Received: by outflank-mailman (input) for mailman id 628395;
 Mon, 06 Nov 2023 20:08: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hZ-00024f-Qw
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:56:01 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7e79ebd2-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:54 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fb-007taR-5p; Mon, 06 Nov 2023 19:53:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GO5-1B; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7e79ebd2-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=6GcIfEqXlcnmmpl6cCrOJJoCYIHAK8lem5JXl9qMtnE=; b=QgCulFrknk++puvIc8xv05TqtR
	ADnGU4Ge42C6n3KqRuee9qIvAs4ZgXlXooWWLWMPSbZ/lpLi9+wE9xe6GVO/4BsLlBskszEcJDK6u
	b3d3S2TxMQMhgXjUfJSAK3IwaTpeS/1SRYzaDnHN9cZiwTGqPEWhM1EqUxQvMij3D08njv1hf5zLa
	E/lM25PmshZs8n2z0u4s3k7l0k1+QXsNOATEHgXW/QoH3JjQt3ZgoUN3i4Gchyr+zQsq5GJvdqmij
	X3sRfxM531p1pPRUzK4tX06o2kILA2Ha9sZbaHB9lPivmaGLCN9QJ0WqbYR+xL7WDMzqWR4T7rmwY
	KJ2AyMOQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 22/46] hw/arm/aspeed: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:27 +0000
Message-ID: <20231106195352.301038-23-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/aspeed.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/hw/arm/aspeed.c b/hw/arm/aspeed.c
index cc59176563..bed5e4f40b 100644
--- a/hw/arm/aspeed.c
+++ b/hw/arm/aspeed.c
@@ -356,7 +356,6 @@ static void aspeed_machine_init(MachineState *machine)
     AspeedMachineClass *amc = ASPEED_MACHINE_GET_CLASS(machine);
     AspeedSoCClass *sc;
     int i;
-    NICInfo *nd = &nd_table[0];
 
     bmc->soc = ASPEED_SOC(object_new(amc->soc_name));
     object_property_add_child(OBJECT(machine), "soc", OBJECT(bmc->soc));
@@ -371,10 +370,10 @@ static void aspeed_machine_init(MachineState *machine)
                              &error_fatal);
 
     for (i = 0; i < sc->macs_num; i++) {
-        if ((amc->macs_mask & (1 << i)) && nd->used) {
-            qemu_check_nic_model(nd, TYPE_FTGMAC100);
-            qdev_set_nic_properties(DEVICE(&bmc->soc->ftgmac100[i]), nd);
-            nd++;
+        if ((amc->macs_mask & (1 << i)) &&
+            !qemu_configure_nic_device(DEVICE(&bmc->soc->ftgmac100[i]),
+                                       true, NULL)) {
+            break; /* No configs left; stop asking */
         }
     }
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:08:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:08:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628396.979870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05tq-0004du-Cb; Mon, 06 Nov 2023 20:08:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628396.979870; Mon, 06 Nov 2023 20:08: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 1r05tq-0004cf-57; Mon, 06 Nov 2023 20:08:42 +0000
Received: by outflank-mailman (input) for mailman id 628396;
 Mon, 06 Nov 2023 20: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hS-00024f-PC
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:54 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 794daf83-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:45 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fc-007tae-3G; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GOs-10; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 794daf83-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=iPxcn58/AAKxiN1dNS5rnN7sTmuNEYb7/WSBfAbgKcA=; b=fPGcPwmGo3ugBewrtdrZNE+JjU
	IwQ8TwjJlCXqIs5LwqTUGVc9/cjiKknmyIEDT8XxwIrT5cPra8FZ3SGi4c9tjn5lLxKxRNuNGYGar
	w1D2e/9a2V+oNL8N50mzzkxfwmNlamjQ2pM+ZtXueIvd0maGoIm3DeYJwwGCs7DJy6tfxTA4jSYem
	TSbdlbAV5GbWKYb9P4fQ/BSwnX6Bzek/8as7+KqwDyeBmcCscLtX8AQ0pGrbNdzqZA3uf1pIeT9pA
	pSboYoNmaWKquUAxmRErJYeQ+7GUOc+1Ye5kiDOo0GsdXjJv7ZV+c5NaNobxqMEWsovVXhVwyLih6
	UIgzKYsA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 32/46] hw/m68k/mcf5208: use qemu_create_nic_device()
Date: Mon,  6 Nov 2023 19:49:37 +0000
Message-ID: <20231106195352.301038-33-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/m68k/mcf5208.c | 20 ++++++--------------
 1 file changed, 6 insertions(+), 14 deletions(-)

diff --git a/hw/m68k/mcf5208.c b/hw/m68k/mcf5208.c
index d22d8536db..c1a5bde571 100644
--- a/hw/m68k/mcf5208.c
+++ b/hw/m68k/mcf5208.c
@@ -206,16 +206,16 @@ static void mcf5208_sys_init(MemoryRegion *address_space, qemu_irq *pic)
     }
 }
 
-static void mcf_fec_init(MemoryRegion *sysmem, NICInfo *nd, hwaddr base,
-                         qemu_irq *irqs)
+static void mcf_fec_init(MemoryRegion *sysmem, hwaddr base, qemu_irq *irqs)
 {
     DeviceState *dev;
     SysBusDevice *s;
     int i;
 
-    qemu_check_nic_model(nd, TYPE_MCF_FEC_NET);
-    dev = qdev_new(TYPE_MCF_FEC_NET);
-    qdev_set_nic_properties(dev, nd);
+    dev = qemu_create_nic_device(TYPE_MCF_FEC_NET, true, NULL);
+    if (!dev) {
+        return;
+    }
 
     s = SYS_BUS_DEVICE(dev);
     sysbus_realize_and_unref(s, &error_fatal);
@@ -267,17 +267,9 @@ static void mcf5208evb_init(MachineState *machine)
 
     mcf5208_sys_init(address_space_mem, pic);
 
-    if (nb_nics > 1) {
-        error_report("Too many NICs");
-        exit(1);
-    }
-    if (nd_table[0].used) {
-        mcf_fec_init(address_space_mem, &nd_table[0],
-                     0xfc030000, pic + 36);
-    }
+    mcf_fec_init(address_space_mem, 0xfc030000, pic + 36);
 
     g_free(pic);
-
     /*  0xfc000000 SCM.  */
     /*  0xfc004000 XBS.  */
     /*  0xfc008000 FlexBus CS.  */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:08:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:08:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628400.979885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05ty-0005Qa-Ji; Mon, 06 Nov 2023 20:08:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628400.979885; Mon, 06 Nov 2023 20:08: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 1r05ty-0005QN-Fz; Mon, 06 Nov 2023 20:08:50 +0000
Received: by outflank-mailman (input) for mailman id 628400;
 Mon, 06 Nov 2023 20:08: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hN-00024f-Oc
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:49 +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 779c45cb-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:42 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fb-00AkFy-2Z; Mon, 06 Nov 2023 19:54:02 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GO0-0s; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 779c45cb-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=hIoRnAOMf4YLSnQadmaBzYXHMtK98X95ymuChZmuyOk=; b=qUzKCqpVO6Udx/7XIIZTFy0bXa
	8m85YwoNugBIZJ3XycbR/IgX5y/nXHX99FXCHqy5/o1vseWe0iaTrMoL7MC9FrQ0dc15abMItpQYp
	ZWJR1xN6KWhkW72+kWxsmKO27l6QjOeqBVWusI+Hz2MbeJrLM2hFQkN4Kf/4BSyixYnl65hkvrThQ
	qUJl8QRy1qnLdzOGW+Q2qIXWES9a99eal/SYiDM/UTBtyKCjIVqTujTI8PVOfA0Hg0nF4M2XIhOPE
	pqd28U2LshWkEgecDecNcvuQck8JMbE2m/iNgYoQnZgpMkJjSO7ZVbLHC9lvfQYXkLzxlaVVbyegU
	pI4+5QFA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 21/46] hw/arm/allwinner: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:26 +0000
Message-ID: <20231106195352.301038-22-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/allwinner-a10.c |  6 +-----
 hw/arm/allwinner-h3.c  |  6 +-----
 hw/arm/allwinner-r40.c | 27 ++-------------------------
 3 files changed, 4 insertions(+), 35 deletions(-)

diff --git a/hw/arm/allwinner-a10.c b/hw/arm/allwinner-a10.c
index b0ea3f7f66..57f52871ec 100644
--- a/hw/arm/allwinner-a10.c
+++ b/hw/arm/allwinner-a10.c
@@ -142,11 +142,7 @@ static void aw_a10_realize(DeviceState *dev, Error **errp)
     sysbus_realize(SYS_BUS_DEVICE(&s->dramc), &error_fatal);
     sysbus_mmio_map(SYS_BUS_DEVICE(&s->dramc), 0, AW_A10_DRAMC_BASE);
 
-    /* FIXME use qdev NIC properties instead of nd_table[] */
-    if (nd_table[0].used) {
-        qemu_check_nic_model(&nd_table[0], TYPE_AW_EMAC);
-        qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]);
-    }
+    qemu_configure_nic_device(DEVICE(&s->emac), true, NULL);
     if (!sysbus_realize(SYS_BUS_DEVICE(&s->emac), errp)) {
         return;
     }
diff --git a/hw/arm/allwinner-h3.c b/hw/arm/allwinner-h3.c
index f05afddf7e..4f102ad082 100644
--- a/hw/arm/allwinner-h3.c
+++ b/hw/arm/allwinner-h3.c
@@ -369,11 +369,7 @@ static void allwinner_h3_realize(DeviceState *dev, Error **errp)
                               "sd-bus");
 
     /* EMAC */
-    /* FIXME use qdev NIC properties instead of nd_table[] */
-    if (nd_table[0].used) {
-        qemu_check_nic_model(&nd_table[0], TYPE_AW_SUN8I_EMAC);
-        qdev_set_nic_properties(DEVICE(&s->emac), &nd_table[0]);
-    }
+    qemu_configure_nic_device(DEVICE(&s->emac), true, NULL);
     object_property_set_link(OBJECT(&s->emac), "dma-memory",
                              OBJECT(get_system_memory()), &error_fatal);
     sysbus_realize(SYS_BUS_DEVICE(&s->emac), &error_fatal);
diff --git a/hw/arm/allwinner-r40.c b/hw/arm/allwinner-r40.c
index a0d367c60d..4d5661b014 100644
--- a/hw/arm/allwinner-r40.c
+++ b/hw/arm/allwinner-r40.c
@@ -294,7 +294,6 @@ static void allwinner_r40_init(Object *obj)
 
 static void allwinner_r40_realize(DeviceState *dev, Error **errp)
 {
-    const char *r40_nic_models[] = { "gmac", "emac", NULL };
     AwR40State *s = AW_R40(dev);
 
     /* CPUs */
@@ -454,31 +453,8 @@ static void allwinner_r40_realize(DeviceState *dev, Error **errp)
     sysbus_mmio_map(SYS_BUS_DEVICE(&s->dramc), 2,
                     s->memmap[AW_R40_DEV_DRAMPHY]);
 
-    /* nic support gmac and emac */
-    for (int i = 0; i < ARRAY_SIZE(r40_nic_models) - 1; i++) {
-        NICInfo *nic = &nd_table[i];
-
-        if (!nic->used) {
-            continue;
-        }
-        if (qemu_show_nic_models(nic->model, r40_nic_models)) {
-            exit(0);
-        }
-
-        switch (qemu_find_nic_model(nic, r40_nic_models, r40_nic_models[0])) {
-        case 0: /* gmac */
-            qdev_set_nic_properties(DEVICE(&s->gmac), nic);
-            break;
-        case 1: /* emac */
-            qdev_set_nic_properties(DEVICE(&s->emac), nic);
-            break;
-        default:
-            exit(1);
-            break;
-        }
-    }
-
     /* GMAC */
+    qemu_configure_nic_device(DEVICE(&s->gmac), true, "gmac");
     object_property_set_link(OBJECT(&s->gmac), "dma-memory",
                                      OBJECT(get_system_memory()), &error_fatal);
     sysbus_realize(SYS_BUS_DEVICE(&s->gmac), &error_fatal);
@@ -487,6 +463,7 @@ static void allwinner_r40_realize(DeviceState *dev, Error **errp)
                        qdev_get_gpio_in(DEVICE(&s->gic), AW_R40_GIC_SPI_GMAC));
 
     /* EMAC */
+    qemu_configure_nic_device(DEVICE(&s->emac), true, "emac");
     sysbus_realize(SYS_BUS_DEVICE(&s->emac), &error_fatal);
     sysbus_mmio_map(SYS_BUS_DEVICE(&s->emac), 0, s->memmap[AW_R40_DEV_EMAC]);
     sysbus_connect_irq(SYS_BUS_DEVICE(&s->emac), 0,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:08:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628402.979895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05u2-0005pz-Qv; Mon, 06 Nov 2023 20:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628402.979895; Mon, 06 Nov 2023 20: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 1r05u2-0005po-NT; Mon, 06 Nov 2023 20:08:54 +0000
Received: by outflank-mailman (input) for mailman id 628402;
 Mon, 06 Nov 2023 20:08: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hV-00024f-Pa
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:57 +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 7a833cd0-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:47 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fa-00AkFY-1t; Mon, 06 Nov 2023 19:54:03 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fZ-001GMY-0f; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7a833cd0-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=jfinUFME5vHgG0Hbc71s2Ph9qUPDyCq4yqkHSCiEdHI=; b=jAOxbBAoA6i6Q/nEXwkPy1P9eC
	y5hTfCm8qwuZJ6nM0xe1W399aMtfkEkugYUJ49a86HBs823Uj6BL2YOyqjmPv3Qz6LaFAuseWtYvJ
	L89r3xUM8WrfA+Sc5Fh/5Mz9hbplclnf0qtTyhf2ismJKuHMTX6oYJhXZljjefnLNSHpld+ESvPAe
	5O07/Q2bhmvkTz6K4YWKRArEP0ofp9HH+EZ7d95ccWaXYEMhb8V6NfNFGEOPVBMLxL7Co46GpuzyA
	m5WbQSbDPuY10d42/i4KG0Jr8yrAhOXalsvY0tWxalP5bGE1kR1PD91XNrabizOHB7HFACbeZoGrw
	45CGG2Mg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 00/46] Rework matching of network devices to -nic options
Date: Mon,  6 Nov 2023 19:49:05 +0000
Message-ID: <20231106195352.301038-1-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

In https://lore.kernel.org/qemu-devel/20231019154020.99080-20-dwmw2@infradead.org/
I lamented that the default NIC creation seemed fairly hackish but "that
isn't a yak I want to shave today."

Yet here we are...

Most platforms iterating directly over the nd_table[] are doing one of 
two things. Either they are creating the NIC for their platform and want
to find a matching -nic configuration for it, if such exists. Or they
are only going to create that platform NIC if a matching config *does*
exist.

All of those can be converted to the new qemu_configure_nic_device()
and qemu_create_nic_device() functions. The latter of which will call
qdev_new() to create the device (and apply the config) if a matching
NIC config does exist for it. The existing behaviour of each platform
has been preserved for now, despite it being apparently fairly random.

PCI and indeed XenBus can use a qemu_create_nic_bus_devices() which will 
create all NICs that live on a given bus type. That covers most 
platforms, but some PCI platforms do something special with the first 
NIC of a given type, placing it in the slot where it would have been on 
the real hardware. There were various inconsistencies in the way the 
platforms did so, and whether they cared what model the NIC was. Those 
subtle behavioural changes I *have* allowed to change, and now the 
pci_init_nic_slot() function will pick the first NIC that the user 
specified which isn't explicitly *not* the default type, and put that
in the specified slot.

The tests for npcm7xx used to lament that they had to instantiate both
NICs even when they wanted to test only the second, because there was
no way to specify which hardware devices gets which configuration. I
made that untrue, by allowing 'emc0' and 'emc1' aliases, and fixed up
the test accordingly.

There are one or two special cases which want to do special things with
the MAC address of the primary NIC, to set up a system identification
(or force it to use an Apple OUI, in the case of m68k/q400). All those
work out relatively cleanly too.

And I can clean up the ugly patch which fixed up the Xen network device 
handling, and replace it with a simple call to the new 
qemu_create_nic_bus_devices() function.

I suspect that we can remove the pci_init_nic_devices() from platform
code and just do it later, except for platforms which *care* which
PCI bus the dynamic devices go on (is that just sun4u which puts its
primary NIC onto a different bus?).

Finally, while we're at it, clean up -nic model=help to only print
the device models which are actually usable on the given platform
rather than just listing them *all*.

And now we can make nd_table[] and nb_nics static in net/net.c because
nothing else has any business poking at them directly.


 v2: Some build fixes after better coverage testing, revert the Xen fix
     in this series because I'm putting the less invasive hack into 8.2
     (hopefully).

David Woodhouse (46):
      net: add qemu_{configure,create}_nic_device(), qemu_find_nic_info()
      net: report list of available models according to platform
      net: add qemu_create_nic_bus_devices()
      hw/pci: add pci_init_nic_devices(), pci_init_nic_in_slot()
      hw/i386/pc: use qemu_get_nic_info() and pci_init_nic_devices()
      hw/xen: use qemu_create_nic_bus_devices() to instantiate Xen NICs
      hw/alpha/dp264: use pci_init_nic_devices()
      hw/arm/sbsa-ref: use pci_init_nic_devices()
      hw/arm/virt: use pci_init_nic_devices()
      hw/hppa: use pci_init_nic_devices()
      hw/loongarch: use pci_init_nic_devices()
      hw/mips/fuloong2e: use pci_init_nic_devices()
      hw/mips/malta: use pci_init_nic_devices()
      hw/mips/loongson3_virt: use pci_init_nic_devices()
      hw/ppc/prep: use pci_init_nic_devices()
      hw/ppc/spapr: use qemu_get_nic_info() and pci_init_nic_devices()
      hw/ppc: use pci_init_nic_devices()
      hw/sh4/r2d: use pci_init_nic_devices()
      hw/sparc64/sun4u: use pci_init_nic_devices()
      hw/xtensa/virt: use pci_init_nic_devices()
      hw/arm/allwinner: use qemu_configure_nic_device()
      hw/arm/aspeed: use qemu_configure_nic_device()
      hw/arm/exynos4: use qemu_create_nic_device()
      hw/arm/fsl: use qemu_configure_nic_device()
      hw/net/smc91c111: use qemu_configure_nic_device()
      hw/net/lan9118: use qemu_configure_nic_device()
      hw/arm/highbank: use qemu_create_nic_device()
      hw/arm/npcm7xx: use qemu_configure_nic_device, allow emc0/emc1 as aliases
      hw/arm/stellaris: use qemu_find_nic_info()
      hw/arm: use qemu_configure_nic_device()
      hw/net/etraxfs-eth: use qemu_configure_nic_device()
      hw/m68k/mcf5208: use qemu_create_nic_device()
      hw/m68k/q800: use qemu_find_nic_info()
      hw/microblaze: use qemu_configure_nic_device()
      hw/mips/mipssim: use qemu_create_nic_device()
      hw/mips/jazz: use qemu_find_nic_info()
      hw/net/lasi_i82596: use qemu_configure_nic_device()
      hw/openrisc/openrisc_sim: use qemu_create_nic_device()
      hw/riscv: use qemu_configure_nic_device()
      hw/s390x/s390-virtio-ccw: use qemu_create_nic_device()
      hw/sparc/sun4m: use qemu_find_nic_info()
      hw/xtensa/xtfpga: use qemu_create_nic_device()
      net: remove qemu_check_nic_model()
      hw/pci: remove pci_nic_init_nofail()
      net: remove qemu_show_nic_models(), qemu_find_nic_model()
      net: make nb_nics and nd_table[] static in net/net.c


 hw/alpha/dp264.c                         |   4 +-
 hw/arm/allwinner-a10.c                   |   6 +-
 hw/arm/allwinner-h3.c                    |   6 +-
 hw/arm/allwinner-r40.c                   |  27 +---
 hw/arm/aspeed.c                          |   9 +-
 hw/arm/exynos4_boards.c                  |   6 +-
 hw/arm/fsl-imx25.c                       |   2 +-
 hw/arm/fsl-imx6.c                        |   2 +-
 hw/arm/fsl-imx6ul.c                      |   2 +-
 hw/arm/fsl-imx7.c                        |   2 +-
 hw/arm/gumstix.c                         |   6 +-
 hw/arm/highbank.c                        |  12 +-
 hw/arm/integratorcp.c                    |   5 +-
 hw/arm/kzm.c                             |   4 +-
 hw/arm/mainstone.c                       |   3 +-
 hw/arm/mps2-tz.c                         |   8 +-
 hw/arm/mps2.c                            |   2 +-
 hw/arm/msf2-soc.c                        |   6 +-
 hw/arm/musicpal.c                        |   3 +-
 hw/arm/npcm7xx.c                         |  16 +-
 hw/arm/realview.c                        |  25 ++-
 hw/arm/sbsa-ref.c                        |   4 +-
 hw/arm/stellaris.c                       |  30 +++-
 hw/arm/versatilepb.c                     |  15 +-
 hw/arm/vexpress.c                        |   4 +-
 hw/arm/virt.c                            |   4 +-
 hw/arm/xilinx_zynq.c                     |  11 +-
 hw/arm/xlnx-versal.c                     |   7 +-
 hw/arm/xlnx-zynqmp.c                     |   8 +-
 hw/cris/axis_dev88.c                     |   9 +-
 hw/hppa/machine.c                        |   7 +-
 hw/i386/pc.c                             |  33 ++--
 hw/i386/pc_piix.c                        |   2 +-
 hw/i386/pc_q35.c                         |   2 +-
 hw/loongarch/virt.c                      |   4 +-
 hw/m68k/mcf5208.c                        |  20 +--
 hw/m68k/q800.c                           |  29 ++--
 hw/microblaze/petalogix_ml605_mmu.c      |   3 +-
 hw/microblaze/petalogix_s3adsp1800_mmu.c |   3 +-
 hw/mips/fuloong2e.c                      |  16 +-
 hw/mips/jazz.c                           |  15 +-
 hw/mips/loongson3_virt.c                 |   4 +-
 hw/mips/malta.c                          |  15 +-
 hw/mips/mipssim.c                        |  13 +-
 hw/net/etraxfs_eth.c                     |   5 +-
 hw/net/lan9118.c                         |   5 +-
 hw/net/lasi_i82596.c                     |   3 +-
 hw/net/smc91c111.c                       |   5 +-
 hw/openrisc/openrisc_sim.c               |  18 +--
 hw/pci/pci.c                             |  73 +++------
 hw/ppc/e500.c                            |   4 +-
 hw/ppc/mac_newworld.c                    |   4 +-
 hw/ppc/mac_oldworld.c                    |   4 +-
 hw/ppc/ppc440_bamboo.c                   |  14 +-
 hw/ppc/prep.c                            |   8 +-
 hw/ppc/spapr.c                           |  18 +--
 hw/riscv/microchip_pfsoc.c               |  14 +-
 hw/riscv/sifive_u.c                      |   7 +-
 hw/s390x/s390-virtio-ccw.c               |  11 +-
 hw/sh4/r2d.c                             |   6 +-
 hw/sparc/sun4m.c                         |  20 ++-
 hw/sparc64/sun4u.c                       |  27 +---
 hw/xen/xen-bus.c                         |   6 +-
 hw/xen/xen_devconfig.c                   |  25 ---
 hw/xenpv/xen_machine_pv.c                |   9 --
 hw/xtensa/virt.c                         |   4 +-
 hw/xtensa/xtfpga.c                       |  13 +-
 include/hw/cris/etraxfs.h                |   2 +-
 include/hw/i386/pc.h                     |   4 +-
 include/hw/net/lan9118.h                 |   2 +-
 include/hw/net/ne2000-isa.h              |   2 -
 include/hw/net/smc91c111.h               |   2 +-
 include/hw/pci/pci.h                     |   7 +-
 include/hw/xen/xen-bus.h                 |   2 +-
 include/hw/xen/xen-legacy-backend.h      |   1 -
 include/net/net.h                        |  18 +--
 net/net.c                                | 253 +++++++++++++++++++++++++------
 system/globals.c                         |   2 -
 tests/qtest/npcm7xx_emc-test.c           |  18 +--
 79 files changed, 479 insertions(+), 551 deletions(-)




From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:09:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:09:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628409.979905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05uE-0006iI-9D; Mon, 06 Nov 2023 20:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628409.979905; Mon, 06 Nov 2023 20: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 1r05uE-0006i9-5t; Mon, 06 Nov 2023 20:09:06 +0000
Received: by outflank-mailman (input) for mailman id 628409;
 Mon, 06 Nov 2023 20:09: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hL-00024f-OM
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:47 +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 7660e792-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:40 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fa-00AkFc-23; Mon, 06 Nov 2023 19:53:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fZ-001GMs-29; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7660e792-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=nKaL0h6141eitj4K0MNLoRYMtReclAF0CgFldUtFE4o=; b=k7u5UpseJdx7OyDyqnIXJZCmbQ
	SZKN965XVMQ8CUtA1H0Gb6HRGSRaBletLgwVTxvPAi8DO7mqs2gUxSfa/kCYtw1WRbydqKKUotDFR
	QgL7XhO6nyDr2G2r5tguqF3OWoK9E8jPTGzzQo+grnkJ3bgAahIb86jJkA3sD21a2tmjnEY+c7Swb
	5l0ms4wN9YEoXf5hmkjGbna4tCJmEtjDpA22RysYNCTX2SccgVP/nsAbQAHWMIa+3b9qSdOO8yGwH
	UXOWiGvs+BxlzyaB1vYD8lqf5miZ/1beD6HvWEEqKartnqMAgIaP/yOGJt88tHuDtxyxUy2GUeXpH
	18m2jPOg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 05/46] hw/i386/pc: use qemu_get_nic_info() and pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:10 +0000
Message-ID: <20231106195352.301038-6-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Eliminate direct access to nd_table[] and nb_nics by processing the the
Xen and ISA NICs first and then calling pci_init_nic_devices() for the
rest.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/pc.c                | 26 ++++++++++++++++----------
 include/hw/net/ne2000-isa.h |  2 --
 2 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index c2bc3fa52d..4078d2d231 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -652,8 +652,11 @@ static void pc_init_ne2k_isa(ISABus *bus, NICInfo *nd)
 {
     static int nb_ne2k = 0;
 
-    if (nb_ne2k == NE2000_NB_MAX)
+    if (nb_ne2k == NE2000_NB_MAX) {
+        error_setg(&error_fatal,
+                   "maximum number of ISA NE2000 devices exceeded");
         return;
+    }
     isa_ne2000_init(bus, ne2000_io[nb_ne2k],
                     ne2000_irq[nb_ne2k], nd);
     nb_ne2k++;
@@ -1291,23 +1294,26 @@ void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
                  BusState *xen_bus)
 {
     MachineClass *mc = MACHINE_CLASS(pcmc);
-    int i;
+    bool default_is_ne2k = g_str_equal(mc->default_nic, TYPE_ISA_NE2000);
+    NICInfo *nd;
 
     rom_set_order_override(FW_CFG_ORDER_OVERRIDE_NIC);
-    for (i = 0; i < nb_nics; i++) {
-        NICInfo *nd = &nd_table[i];
-        const char *model = nd->model ? nd->model : mc->default_nic;
 
-        if (xen_bus && (!nd->model || g_str_equal(model, "xen-net-device"))) {
+    if (xen_bus) {
+        while (nc = qemu_find_nic_info("xen-net-device", true, NULL)) {
             DeviceState *dev = qdev_new("xen-net-device");
             qdev_set_nic_properties(dev, nd);
             qdev_realize_and_unref(dev, xen_bus, &error_fatal);
-        } else if (g_str_equal(model, "ne2k_isa")) {
-            pc_init_ne2k_isa(isa_bus, nd);
-        } else {
-            pci_nic_init_nofail(nd, pci_bus, model, NULL);
         }
     }
+
+    while ((nd = qemu_find_nic_info(TYPE_ISA_NE2000, default_is_ne2k, NULL))) {
+        pc_init_ne2k_isa(isa_bus, nd);
+    }
+
+    /* Anything remaining should be a PCI NIC */
+    pci_init_nic_devices(pci_bus, mc->default_nic);
+
     rom_reset_order_override();
 }
 
diff --git a/include/hw/net/ne2000-isa.h b/include/hw/net/ne2000-isa.h
index af59ee0b02..73bae10ad1 100644
--- a/include/hw/net/ne2000-isa.h
+++ b/include/hw/net/ne2000-isa.h
@@ -22,8 +22,6 @@ static inline ISADevice *isa_ne2000_init(ISABus *bus, int base, int irq,
 {
     ISADevice *d;
 
-    qemu_check_nic_model(nd, "ne2k_isa");
-
     d = isa_try_new(TYPE_ISA_NE2000);
     if (d) {
         DeviceState *dev = DEVICE(d);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:09:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628415.979915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05uM-0007Xv-JW; Mon, 06 Nov 2023 20:09:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628415.979915; Mon, 06 Nov 2023 20:09: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 1r05uM-0007X7-F7; Mon, 06 Nov 2023 20:09:14 +0000
Received: by outflank-mailman (input) for mailman id 628415;
 Mon, 06 Nov 2023 20:09: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hY-0001Ig-Gz
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:56:00 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7eee44e8-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:55 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fd-007tat-4h; Mon, 06 Nov 2023 19:54:01 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fd-001GPm-0x; Mon, 06 Nov 2023 19: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
X-Inumbo-ID: 7eee44e8-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=oZFrVya+rdWrf3x18ocvL/Kncj5tARqXig5ZmBeCviY=; b=csdvWB5TP4sQ94OEt9+XbYER05
	hbmUqcsiCNfJB5IKyQ3eSi1XtpfOiWBPJuC08a5MBE5ehHLCECUUTKMJHslVo5FzJ6hGBeqXQEGbV
	Dsol5aBk9Ua6OBUpM9OgZ6/hStstD/gRRhw/RLq7gFq6l20MKN8AfFKlm+zBpoYaPFMB43qyB9vpd
	Efm1U6RK1SRjoS9g5kfyjEvYgMqTiMGVnY3lhytvgc3Nbx1Rsq8MtH2nF3RmTUPDtFj9/jpOeia8W
	1yxmrvg1F0HPQfZRXR8/0/QxU0wW86zfYnVyWFVUWZzFuGVp7cJZrD1PLAu3UmdJun3X4tR6wsfsw
	DDtixxYA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 43/46] net: remove qemu_check_nic_model()
Date: Mon,  6 Nov 2023 19:49:48 +0000
Message-ID: <20231106195352.301038-44-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 include/net/net.h |  1 -
 net/net.c         | 13 -------------
 2 files changed, 14 deletions(-)

diff --git a/include/net/net.h b/include/net/net.h
index ce830a47d0..1512650190 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -202,7 +202,6 @@ int qemu_set_vnet_le(NetClientState *nc, bool is_le);
 int qemu_set_vnet_be(NetClientState *nc, bool is_be);
 void qemu_macaddr_default_if_unset(MACAddr *macaddr);
 int qemu_show_nic_models(const char *arg, const char *const *models);
-void qemu_check_nic_model(NICInfo *nd, const char *model);
 int qemu_find_nic_model(NICInfo *nd, const char * const *models,
                         const char *default_model);
 NICInfo *qemu_find_nic_info(const char *typename, bool match_default,
diff --git a/net/net.c b/net/net.c
index 73621795cb..ffc722069f 100644
--- a/net/net.c
+++ b/net/net.c
@@ -977,19 +977,6 @@ int qemu_show_nic_models(const char *arg, const char *const *models)
     return 1;
 }
 
-void qemu_check_nic_model(NICInfo *nd, const char *model)
-{
-    const char *models[2];
-
-    models[0] = model;
-    models[1] = NULL;
-
-    if (qemu_show_nic_models(nd->model, models))
-        exit(0);
-    if (qemu_find_nic_model(nd, models, model) < 0)
-        exit(1);
-}
-
 int qemu_find_nic_model(NICInfo *nd, const char * const *models,
                         const char *default_model)
 {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:09:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:09:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628423.979934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05ug-0000EA-2b; Mon, 06 Nov 2023 20:09:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628423.979934; Mon, 06 Nov 2023 20:09: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 1r05uf-0000E3-Ve; Mon, 06 Nov 2023 20:09:33 +0000
Received: by outflank-mailman (input) for mailman id 628423;
 Mon, 06 Nov 2023 20:09: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hM-0001Ig-Ex
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:48 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 775f5d78-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:42 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fa-00AkFd-1p; Mon, 06 Nov 2023 19:53:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fZ-001GMw-2O; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 775f5d78-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=udFQWarJn+hEJgz2ZpM+rMCQmr2oQkjwNUAfu2C/g0c=; b=m+mvt0iBoqp36d4xmxonPeSMsr
	F812/mq4W1OECg+8jFEzI/RIr5PILlCWSlJleBGLINYomXUm1eOlLurzG7cNRgSZrct3Af/5gs49Q
	+UuzWqNCu2e2oQAhmBYcgLhUqbYXVdTrsBZIaOw923YVo0gbIeDChkloZgySxkRbAbrft0hJU43Vh
	0CrD6u56IBLuWxT3KclSCBlRkZqXebOg/LwUfXXK9IhVWpxZ9qnidqLNmnalb2cS7RwxfDIduIIP+
	W/3NXOhLwC1SBGdO4UQitet2UTqfB1hG19ZOu7xcKsHPPINvm3npSnyy43TA916uWXsNCvBCscHed
	+y5FSF6w==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 06/46] hw/xen: use qemu_create_nic_bus_devices() to instantiate Xen NICs
Date: Mon,  6 Nov 2023 19:49:11 +0000
Message-ID: <20231106195352.301038-7-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

When instantiating XenBus itself, for each NIC which is configured with
either the model unspecified, or set to to "xen" or "xen-net-device",
create a corresponding xen-net-device for it.

Now we can revert the previous more hackish version which relied on the
platform code explicitly registering the NICs on its own XenBus, having
returned the BusState* from xen_bus_init() itself.

This also fixes the setup for Xen PV guests, which was previously broken
in various ways and never actually managed to peer with the netdev.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/pc.c                        | 13 ++-----------
 hw/i386/pc_piix.c                   |  2 +-
 hw/i386/pc_q35.c                    |  2 +-
 hw/xen/xen-bus.c                    |  6 ++++--
 hw/xen/xen_devconfig.c              | 25 -------------------------
 hw/xenpv/xen_machine_pv.c           |  9 ---------
 include/hw/i386/pc.h                |  4 +---
 include/hw/xen/xen-bus.h            |  2 +-
 include/hw/xen/xen-legacy-backend.h |  1 -
 9 files changed, 10 insertions(+), 54 deletions(-)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 4078d2d231..86abba61c0 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1262,7 +1262,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
         if (pcms->bus) {
             pci_create_simple(pcms->bus, -1, "xen-platform");
         }
-        pcms->xenbus = xen_bus_init();
+        xen_bus_init();
         xen_be_init();
     }
 #endif
@@ -1290,8 +1290,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
                     pcms->vmport != ON_OFF_AUTO_ON);
 }
 
-void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
-                 BusState *xen_bus)
+void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus)
 {
     MachineClass *mc = MACHINE_CLASS(pcmc);
     bool default_is_ne2k = g_str_equal(mc->default_nic, TYPE_ISA_NE2000);
@@ -1299,14 +1298,6 @@ void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
 
     rom_set_order_override(FW_CFG_ORDER_OVERRIDE_NIC);
 
-    if (xen_bus) {
-        while (nc = qemu_find_nic_info("xen-net-device", true, NULL)) {
-            DeviceState *dev = qdev_new("xen-net-device");
-            qdev_set_nic_properties(dev, nd);
-            qdev_realize_and_unref(dev, xen_bus, &error_fatal);
-        }
-    }
-
     while ((nd = qemu_find_nic_info(TYPE_ISA_NE2000, default_is_ne2k, NULL))) {
         pc_init_ne2k_isa(isa_bus, nd);
     }
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index eace854335..26e161beb9 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -342,7 +342,7 @@ static void pc_init1(MachineState *machine,
     pc_basic_device_init(pcms, isa_bus, x86ms->gsi, rtc_state, true,
                          0x4);
 
-    pc_nic_init(pcmc, isa_bus, pci_bus, pcms->xenbus);
+    pc_nic_init(pcmc, isa_bus, pci_bus);
 
     if (pcmc->pci_enabled) {
         pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 4f3e5412f6..597943ff1b 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -340,7 +340,7 @@ static void pc_q35_init(MachineState *machine)
 
     /* the rest devices to which pci devfn is automatically assigned */
     pc_vga_init(isa_bus, host_bus);
-    pc_nic_init(pcmc, isa_bus, host_bus, pcms->xenbus);
+    pc_nic_init(pcmc, isa_bus, host_bus);
 
     if (machine->nvdimms_state->is_enabled) {
         nvdimm_init_acpi_state(machine->nvdimms_state, system_io,
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 4973e7d9c9..fb82cc33e4 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -19,6 +19,7 @@
 #include "qapi/error.h"
 #include "qapi/qmp/qdict.h"
 #include "sysemu/sysemu.h"
+#include "net/net.h"
 #include "trace.h"
 
 static char *xen_device_get_backend_path(XenDevice *xendev)
@@ -1133,7 +1134,7 @@ static void xen_register_types(void)
 
 type_init(xen_register_types)
 
-BusState *xen_bus_init(void)
+void xen_bus_init(void)
 {
     DeviceState *dev = qdev_new(TYPE_XEN_BRIDGE);
     BusState *bus = qbus_new(TYPE_XEN_BUS, dev, NULL);
@@ -1141,5 +1142,6 @@ BusState *xen_bus_init(void)
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
     qbus_set_bus_hotplug_handler(bus);
 
-    return bus;
+    qemu_create_nic_bus_devices(bus, TYPE_XEN_DEVICE, "xen-net-device",
+                                "xen", "xen-net-device");
 }
diff --git a/hw/xen/xen_devconfig.c b/hw/xen/xen_devconfig.c
index 3f77c675c6..2150869f60 100644
--- a/hw/xen/xen_devconfig.c
+++ b/hw/xen/xen_devconfig.c
@@ -46,31 +46,6 @@ static int xen_config_dev_all(char *fe, char *be)
 
 /* ------------------------------------------------------------- */
 
-int xen_config_dev_nic(NICInfo *nic)
-{
-    char fe[256], be[256];
-    char mac[20];
-    int vlan_id = -1;
-
-    net_hub_id_for_client(nic->netdev, &vlan_id);
-    snprintf(mac, sizeof(mac), "%02x:%02x:%02x:%02x:%02x:%02x",
-             nic->macaddr.a[0], nic->macaddr.a[1], nic->macaddr.a[2],
-             nic->macaddr.a[3], nic->macaddr.a[4], nic->macaddr.a[5]);
-    xen_pv_printf(NULL, 1, "config nic %d: mac=\"%s\"\n", vlan_id, mac);
-    xen_config_dev_dirs("vif", "qnic", vlan_id, fe, be, sizeof(fe));
-
-    /* frontend */
-    xenstore_write_int(fe, "handle",     vlan_id);
-    xenstore_write_str(fe, "mac",        mac);
-
-    /* backend */
-    xenstore_write_int(be, "handle",     vlan_id);
-    xenstore_write_str(be, "mac",        mac);
-
-    /* common stuff */
-    return xen_config_dev_all(fe, be);
-}
-
 int xen_config_dev_vfb(int vdev, const char *type)
 {
     char fe[256], be[256];
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index 9f9f137f99..1130d1a147 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -32,8 +32,6 @@
 
 static void xen_init_pv(MachineState *machine)
 {
-    int i;
-
     setup_xen_backend_ops();
 
     /* Initialize backend core & drivers */
@@ -62,13 +60,6 @@ static void xen_init_pv(MachineState *machine)
         vga_interface_created = true;
     }
 
-    /* configure nics */
-    for (i = 0; i < nb_nics; i++) {
-        if (!nd_table[i].model || 0 != strcmp(nd_table[i].model, "xen"))
-            continue;
-        xen_config_dev_nic(nd_table + i);
-    }
-
     xen_bus_init();
 
     /* config cleanup hook */
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index a10ceeabbf..29a9724524 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -33,7 +33,6 @@ typedef struct PCMachineState {
 
     /* Pointers to devices and objects: */
     PCIBus *bus;
-    BusState *xenbus;
     I2CBus *smbus;
     PFlashCFI01 *flash[2];
     ISADevice *pcspk;
@@ -185,8 +184,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
 void pc_cmos_init(PCMachineState *pcms,
                   BusState *ide0, BusState *ide1,
                   ISADevice *s);
-void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
-                 BusState *xen_bus);
+void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus);
 
 void pc_i8259_create(ISABus *isa_bus, qemu_irq *i8259_irqs);
 
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 334ddd1ff6..38d40afa37 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -75,7 +75,7 @@ struct XenBusClass {
 OBJECT_DECLARE_TYPE(XenBus, XenBusClass,
                     XEN_BUS)
 
-BusState *xen_bus_init(void);
+void xen_bus_init(void);
 
 void xen_device_backend_set_state(XenDevice *xendev,
                                   enum xenbus_state state);
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index fc42146bc2..2cca174778 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -81,7 +81,6 @@ extern struct XenDevOps xen_usb_ops;          /* xen-usb.c         */
 
 /* configuration (aka xenbus setup) */
 void xen_config_cleanup(void);
-int xen_config_dev_nic(NICInfo *nic);
 int xen_config_dev_vfb(int vdev, const char *type);
 int xen_config_dev_vkbd(int vdev);
 int xen_config_dev_console(int vdev);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:09:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:09:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628421.979925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05ub-0008Gs-Qt; Mon, 06 Nov 2023 20:09:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628421.979925; Mon, 06 Nov 2023 20:09: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 1r05ub-0008Gl-NR; Mon, 06 Nov 2023 20:09:29 +0000
Received: by outflank-mailman (input) for mailman id 628421;
 Mon, 06 Nov 2023 20:09: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hL-0001Ig-Ei
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:47 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 777748b8-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:42 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fe-00AkGF-0J; Mon, 06 Nov 2023 19:54:03 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fd-001GPd-0F; Mon, 06 Nov 2023 19: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
X-Inumbo-ID: 777748b8-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=6llESs8/oOse6Qm5wJ5lTY9fMB0QkZmfTge4Rjf6G8M=; b=buYUSYgObmiJkgEwvOBOxICL5m
	Bu6dMQKL5r8EhzkrGEb6+QQLWhg4/ivpdi4hYISAKXzzl84UBkMxM8nA9pLswCfwEoDVSPEJMtJPS
	EobPO3/gZvrfN7EDLA3nJRcnsc1B+SNMzoJ9gpDbQOgvvyxCdFzM821lKBfrfAv9Epn/H0ylfjXsX
	o1vuclcKrn33Xg2SnDEzyMrNKJghJcdDfgLR69P38aiPUYnxsOieXhd8i91CuR4hgZoSLvwd20pBa
	UJKSMbQ3YOL87CNsct14MZJgcgnyv4BHk+8Mbr8CZLSJajVwO26WGABsw3+99noLxbwxJqhY2MbC2
	+d5TIpng==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 41/46] hw/sparc/sun4m: use qemu_find_nic_info()
Date: Mon,  6 Nov 2023 19:49:46 +0000
Message-ID: <20231106195352.301038-42-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Obtain the MAC address from the NIC configuration if there is one, or
generate one explicitly so that it can be placed in the PROM.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/sparc/sun4m.c | 20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

diff --git a/hw/sparc/sun4m.c b/hw/sparc/sun4m.c
index 17bf5f2879..75b0c0ff7a 100644
--- a/hw/sparc/sun4m.c
+++ b/hw/sparc/sun4m.c
@@ -299,13 +299,15 @@ static void *iommu_init(hwaddr addr, uint32_t version, qemu_irq irq)
 
 static void *sparc32_dma_init(hwaddr dma_base,
                               hwaddr esp_base, qemu_irq espdma_irq,
-                              hwaddr le_base, qemu_irq ledma_irq, NICInfo *nd)
+                              hwaddr le_base, qemu_irq ledma_irq,
+                              MACAddr *mac)
 {
     DeviceState *dma;
     ESPDMADeviceState *espdma;
     LEDMADeviceState *ledma;
     SysBusESPState *esp;
     SysBusPCNetState *lance;
+    NICInfo *nd = qemu_find_nic_info("lance", true, NULL);
 
     dma = qdev_new(TYPE_SPARC32_DMA);
     espdma = SPARC32_ESPDMA_DEVICE(object_resolve_path_component(
@@ -320,7 +322,14 @@ static void *sparc32_dma_init(hwaddr dma_base,
 
     lance = SYSBUS_PCNET(object_resolve_path_component(
                          OBJECT(ledma), "lance"));
-    qdev_set_nic_properties(DEVICE(lance), nd);
+
+    if (nd) {
+        qdev_set_nic_properties(DEVICE(lance), nd);
+        memcpy(mac->a, nd->macaddr.a, sizeof(mac->a));
+    } else {
+        qemu_macaddr_default_if_unset(mac);
+        qdev_prop_set_macaddr(DEVICE(lance), "mac", mac->a);
+    }
 
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dma), &error_fatal);
     sysbus_mmio_map(SYS_BUS_DEVICE(dma), 0, dma_base);
@@ -832,7 +841,7 @@ static void sun4m_hw_init(MachineState *machine)
     unsigned int smp_cpus = machine->smp.cpus;
     unsigned int max_cpus = machine->smp.max_cpus;
     HostMemoryBackend *ram_memdev = machine->memdev;
-    NICInfo *nd = &nd_table[0];
+    MACAddr hostid;
 
     if (machine->ram_size > hwdef->max_mem) {
         error_report("Too much memory for this machine: %" PRId64 ","
@@ -893,10 +902,9 @@ static void sun4m_hw_init(MachineState *machine)
                         hwdef->iommu_pad_base, hwdef->iommu_pad_len);
     }
 
-    qemu_check_nic_model(nd, TYPE_LANCE);
     sparc32_dma_init(hwdef->dma_base,
                      hwdef->esp_base, slavio_irq[18],
-                     hwdef->le_base, slavio_irq[16], nd);
+                     hwdef->le_base, slavio_irq[16], &hostid);
 
     if (graphic_depth != 8 && graphic_depth != 24) {
         error_report("Unsupported depth: %d", graphic_depth);
@@ -1048,7 +1056,7 @@ static void sun4m_hw_init(MachineState *machine)
                                     machine->initrd_filename,
                                     machine->ram_size, &initrd_size);
 
-    nvram_init(nvram, (uint8_t *)&nd->macaddr, machine->kernel_cmdline,
+    nvram_init(nvram, hostid.a, machine->kernel_cmdline,
                machine->boot_config.order, machine->ram_size, kernel_size,
                graphic_width, graphic_height, graphic_depth,
                hwdef->nvram_machine_id, "Sun4m");
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:10:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:10:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628433.979945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05vA-0002Dk-Fs; Mon, 06 Nov 2023 20:10:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628433.979945; Mon, 06 Nov 2023 20:10: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 1r05vA-0002CN-CJ; Mon, 06 Nov 2023 20:10:04 +0000
Received: by outflank-mailman (input) for mailman id 628433;
 Mon, 06 Nov 2023 20:10: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hQ-00024f-Ot
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:52 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 785e257f-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:44 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fd-007tb4-AH; Mon, 06 Nov 2023 19:54:02 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fd-001GPy-1n; Mon, 06 Nov 2023 19: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
X-Inumbo-ID: 785e257f-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Z8O29x0pWQhZMVbX+dyJJms7pdOJv3y/EsgO2DOPUaY=; b=teESO/RtJYYuQVVx1IuFV0fYHO
	QYkJ+WGnPXZGnQb1cse22y5yOxa7n7e0Kz9gFUDvPXwOrQ9QSYu4Ovjg0hvBHAzorWNmcxX8W8dC0
	x87OOZSgAuxGCv05xk2sxU/hWkqL0IJNMWnplS8QUNwg4DDtGsMhPKdCNYRhSn6/w/mEAsw80nSGO
	Yhpresf2n6tgaRnolyiqGAYkjI4+MQu9W54FKMH8udpcer0iA4y8o8+GsniLtFQBClqEJHf0SN35I
	Qc3+cijtHnuNn01n3lUiCUsvyaNlcvNMpoPx6tLeT2rU/MhC43rFjcvlYrZ+/d5dzyzaxOxLw8cOS
	2rB2sH3w==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 46/46] net: make nb_nics and nd_table[] static in net/net.c
Date: Mon,  6 Nov 2023 19:49:51 +0000
Message-ID: <20231106195352.301038-47-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 include/net/net.h | 4 ----
 net/net.c         | 3 +++
 system/globals.c  | 2 --
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/include/net/net.h b/include/net/net.h
index 290e604f03..5a38766942 100644
--- a/include/net/net.h
+++ b/include/net/net.h
@@ -245,10 +245,6 @@ struct NICInfo {
     int nvectors;
 };
 
-extern int nb_nics;
-extern NICInfo nd_table[MAX_NICS];
-extern const char *host_net_devices[];
-
 /* from net.c */
 extern NetClientStateList net_clients;
 bool netdev_is_modern(const char *optstr);
diff --git a/net/net.c b/net/net.c
index a3532a71a5..957daad58d 100644
--- a/net/net.c
+++ b/net/net.c
@@ -77,6 +77,9 @@ static NetdevQueue nd_queue = QSIMPLEQ_HEAD_INITIALIZER(nd_queue);
 
 static GHashTable *nic_model_help;
 
+static int nb_nics;
+static NICInfo nd_table[MAX_NICS];
+
 /***********************************************************/
 /* network device redirectors */
 
diff --git a/system/globals.c b/system/globals.c
index e83b5428d1..b6d4e72530 100644
--- a/system/globals.c
+++ b/system/globals.c
@@ -36,8 +36,6 @@ int display_opengl;
 const char* keyboard_layout;
 bool enable_mlock;
 bool enable_cpu_pm;
-int nb_nics;
-NICInfo nd_table[MAX_NICS];
 int autostart = 1;
 int vga_interface_type = VGA_NONE;
 bool vga_interface_created;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:10:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:10:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628434.979950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05vA-0002Hq-Ot; Mon, 06 Nov 2023 20:10:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628434.979950; Mon, 06 Nov 2023 20:10: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 1r05vA-0002Gp-Iy; Mon, 06 Nov 2023 20:10:04 +0000
Received: by outflank-mailman (input) for mailman id 628434;
 Mon, 06 Nov 2023 20:10: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hQ-0001Ig-Fd
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:52 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 79ca66fb-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:46 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fc-007tas-W0; Mon, 06 Nov 2023 19:54:01 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fd-001GPh-0e; Mon, 06 Nov 2023 19: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
X-Inumbo-ID: 79ca66fb-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=3IJgWxMmUdLOBVuYUZ4BO4uyS9hEOvqvAglyEu5N/aM=; b=j6KlICENR/MCVSKkvWFpHlDir2
	SJpTd6hXGivub3V8Rz710ZQhhjzcIYKyHLqI4xBbKgJlXCMQUtDDjojU3CtRwaOyojn2drQl74kTH
	Kcola95OJDvw1AiBtg+MWnNHBl6subOMR5K8WmYvQway11zNxqyPfd7dY/I+/T7J8Bnj6qcnIDRwg
	UXPppJ5I9BsnvVnqy7e0KHwUcjjRNae1sgCvkXqLn7Q6wLNZAyGNSsLC3bLNadONxLFNKND0u0332
	1VsdAXPFzU2KF+iIIkDrImtJZ2ad2Rl8ciGW6sNehFhqZZiXTVLM9if5CUSEg4+qs0cSblZv2qdiV
	DXZo9Nsw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 42/46] hw/xtensa/xtfpga: use qemu_create_nic_device()
Date: Mon,  6 Nov 2023 19:49:47 +0000
Message-ID: <20231106195352.301038-43-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/xtensa/xtfpga.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c
index fbad1c83a3..f49e6591dc 100644
--- a/hw/xtensa/xtfpga.c
+++ b/hw/xtensa/xtfpga.c
@@ -141,14 +141,16 @@ static void xtfpga_net_init(MemoryRegion *address_space,
         hwaddr base,
         hwaddr descriptors,
         hwaddr buffers,
-        qemu_irq irq, NICInfo *nd)
+        qemu_irq irq)
 {
     DeviceState *dev;
     SysBusDevice *s;
     MemoryRegion *ram;
 
-    dev = qdev_new("open_eth");
-    qdev_set_nic_properties(dev, nd);
+    dev = qemu_create_nic_device("open_eth", true, NULL);
+    if (!dev) {
+        return;
+    }
 
     s = SYS_BUS_DEVICE(dev);
     sysbus_realize_and_unref(s, &error_fatal);
@@ -301,10 +303,7 @@ static void xtfpga_init(const XtfpgaBoardDesc *board, MachineState *machine)
         memory_region_add_subregion(system_memory, board->io[1], io);
     }
     xtfpga_fpga_init(system_io, 0x0d020000, freq);
-    if (nd_table[0].used) {
-        xtfpga_net_init(system_io, 0x0d030000, 0x0d030400, 0x0d800000,
-                        extints[1], nd_table);
-    }
+    xtfpga_net_init(system_io, 0x0d030000, 0x0d030400, 0x0d800000, extints[1]);
 
     serial_mm_init(system_io, 0x0d050020, 2, extints[0],
                    115200, serial_hd(0), DEVICE_NATIVE_ENDIAN);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:10:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:10:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628437.979964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05vH-0003EN-Tg; Mon, 06 Nov 2023 20:10:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628437.979964; Mon, 06 Nov 2023 20:10: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 1r05vH-0003EA-Qc; Mon, 06 Nov 2023 20:10:11 +0000
Received: by outflank-mailman (input) for mailman id 628437;
 Mon, 06 Nov 2023 20:10: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hM-00024f-OZ
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:48 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7731e206-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:42 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fb-007tac-T3; Mon, 06 Nov 2023 19:54:00 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GOn-0l; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 7731e206-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=zmRxefaOlZ1QCUdKZwdqB/DEaAmsXLMPcBmPIeG+a8A=; b=CULtrOgTvy2P+uj3GUT44YcvX5
	Oa6Y9aiFioc+wiiL3dwrqXBdUNnksVq5ypvQ8/iMRfKOBx30TQhHQ4xdg8TcHy3QzBAAzuWa5p5E6
	nAIseoMtwSdN7oulDwRDgsx4hWFaqLK5k21qgGeYz33T+m+tv9KF+lE8wc6IX/1xdg+bkhfP7LsXT
	vj6e+cD+9NazieNKE7mcE+KO7hcPrgfrRPO9WXY1UF5Z3DYohZxea8vDJmI0JNHzzwwWHoEFHJIfy
	/kpmpy6SbXnR/74ud8Czsbx3eS7b9jlYt0PS+b1R9fy6omZBi0VOBU5iT8gXsk8z74k/wRowc2fWB
	KZa17tGQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 31/46] hw/net/etraxfs-eth: use qemu_configure_nic_device()
Date: Mon,  6 Nov 2023 19:49:36 +0000
Message-ID: <20231106195352.301038-32-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/cris/axis_dev88.c      | 9 ++++-----
 hw/net/etraxfs_eth.c      | 5 ++---
 include/hw/cris/etraxfs.h | 2 +-
 3 files changed, 7 insertions(+), 9 deletions(-)

diff --git a/hw/cris/axis_dev88.c b/hw/cris/axis_dev88.c
index d82050d927..5556634921 100644
--- a/hw/cris/axis_dev88.c
+++ b/hw/cris/axis_dev88.c
@@ -308,15 +308,14 @@ void axisdev88_init(MachineState *machine)
 
     /* Add the two ethernet blocks.  */
     dma_eth = g_malloc0(sizeof dma_eth[0] * 4); /* Allocate 4 channels.  */
-    etraxfs_eth_init(&nd_table[0], 0x30034000, 1, &dma_eth[0], &dma_eth[1]);
-    if (nb_nics > 1) {
-        etraxfs_eth_init(&nd_table[1], 0x30036000, 2, &dma_eth[2], &dma_eth[3]);
-    }
 
+    etraxfs_eth_init(0x30034000, 1, &dma_eth[0], &dma_eth[1]);
     /* The DMA Connector block is missing, hardwire things for now.  */
     etraxfs_dmac_connect_client(etraxfs_dmac, 0, &dma_eth[0]);
     etraxfs_dmac_connect_client(etraxfs_dmac, 1, &dma_eth[1]);
-    if (nb_nics > 1) {
+
+    if (qemu_find_nic_info("etraxfs-eth", true, "fseth")) {
+        etraxfs_eth_init(0x30036000, 2, &dma_eth[2], &dma_eth[3]);
         etraxfs_dmac_connect_client(etraxfs_dmac, 6, &dma_eth[2]);
         etraxfs_dmac_connect_client(etraxfs_dmac, 7, &dma_eth[3]);
     }
diff --git a/hw/net/etraxfs_eth.c b/hw/net/etraxfs_eth.c
index 1b82aec794..ab60eaac04 100644
--- a/hw/net/etraxfs_eth.c
+++ b/hw/net/etraxfs_eth.c
@@ -646,15 +646,14 @@ static void etraxfs_eth_class_init(ObjectClass *klass, void *data)
 
 /* Instantiate an ETRAXFS Ethernet MAC.  */
 DeviceState *
-etraxfs_eth_init(NICInfo *nd, hwaddr base, int phyaddr,
+etraxfs_eth_init(hwaddr base, int phyaddr,
                  struct etraxfs_dma_client *dma_out,
                  struct etraxfs_dma_client *dma_in)
 {
     DeviceState *dev;
-    qemu_check_nic_model(nd, "fseth");
 
     dev = qdev_new("etraxfs-eth");
-    qdev_set_nic_properties(dev, nd);
+    qemu_configure_nic_device(dev, true, "fseth");
     qdev_prop_set_uint32(dev, "phyaddr", phyaddr);
 
     /*
diff --git a/include/hw/cris/etraxfs.h b/include/hw/cris/etraxfs.h
index 467b529dc0..012c4e9974 100644
--- a/include/hw/cris/etraxfs.h
+++ b/include/hw/cris/etraxfs.h
@@ -31,7 +31,7 @@
 #include "hw/sysbus.h"
 #include "qapi/error.h"
 
-DeviceState *etraxfs_eth_init(NICInfo *nd, hwaddr base, int phyaddr,
+DeviceState *etraxfs_eth_init(hwaddr base, int phyaddr,
                               struct etraxfs_dma_client *dma_out,
                               struct etraxfs_dma_client *dma_in);
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:10:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:10:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628446.979975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05vl-0004TA-6A; Mon, 06 Nov 2023 20:10:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628446.979975; Mon, 06 Nov 2023 20: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 1r05vl-0004T3-2Y; Mon, 06 Nov 2023 20:10:41 +0000
Received: by outflank-mailman (input) for mailman id 628446;
 Mon, 06 Nov 2023 20:10: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hP-00024f-Om
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:51 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 785a8523-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:44 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fc-007tap-QA; Mon, 06 Nov 2023 19:54:01 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fc-001GPX-35; Mon, 06 Nov 2023 19:54: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
X-Inumbo-ID: 785a8523-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=gF9acMYW8IKLrRRq9sLrR6j7pHNgn6jgFhPV981Epmk=; b=iMqGFzb1iZ6zDzbxEiqOxE4h/M
	Ezsel84Uh0IKL/u2eWooTe7azkHFwbVCSnEv4G6BlGdhvV7cuDJBN7ABxSiUo1u+05rJIT1Hdmu2H
	xquye/LNQ2Y6lK5A3AOJio4QcfmFeRcfU5YCk9dQVgfQHyuGv9CgCgfNvxb4GaMS+XfcaBL8/Ao2o
	rqgSG3ZHK9AY6CXVI1l9HOLW0bbKrs974cQ5q9p3VNurTXB/Tilja2hOcVuQ4nnGchEz49P6zidU6
	6KVJaJFGpJYBj7K/aUnq/kNZg6MmJ4g2Bv9+up8Vm6GhE+/R7utSmV/ImClJfINyGcKuO7QVZNXb5
	GbbmSeEA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 40/46] hw/s390x/s390-virtio-ccw: use qemu_create_nic_device()
Date: Mon,  6 Nov 2023 19:49:45 +0000
Message-ID: <20231106195352.301038-41-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/s390x/s390-virtio-ccw.c | 11 ++---------
 1 file changed, 2 insertions(+), 9 deletions(-)

diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 7262725d2e..69d6852840 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -221,16 +221,9 @@ static void s390_init_ipl_dev(const char *kernel_filename,
 
 static void s390_create_virtio_net(BusState *bus, const char *name)
 {
-    int i;
-
-    for (i = 0; i < nb_nics; i++) {
-        NICInfo *nd = &nd_table[i];
-        DeviceState *dev;
-
-        qemu_check_nic_model(nd, "virtio");
+    DeviceState *dev;
 
-        dev = qdev_new(name);
-        qdev_set_nic_properties(dev, nd);
+    while ((dev = qemu_create_nic_device(name, true, "virtio"))) {
         qdev_realize_and_unref(dev, bus, &error_fatal);
     }
 }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:11:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:11:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628458.979984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r05wQ-0005FR-Dq; Mon, 06 Nov 2023 20:11:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628458.979984; Mon, 06 Nov 2023 20: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 1r05wQ-0005FI-BN; Mon, 06 Nov 2023 20:11:22 +0000
Received: by outflank-mailman (input) for mailman id 628458;
 Mon, 06 Nov 2023 20:11: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hR-00024f-Ou
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:53 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 788de5bf-7cde-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 20:55:44 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fc-007taq-QU; Mon, 06 Nov 2023 19:54:01 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fb-001GOa-32; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 788de5bf-7cde-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=5FFKf2juZuA0ARVGIdD/KabCPqMDr3tXXa+7Wjm6OEc=; b=nhLStgriurSl+95ZJ1bV99z/fM
	Q6SCSmnzLUSaREzhe3y9/2DM+GKQ5RASwtLQKq2/Fd7WgDMsMG+YNGcJdFFy+Cs2t9MiYjrtS1GTC
	AWyV+C+RlGJu4uwZpCnoSbFXEX14ZROMFKHpdS3epeh0plxxrMI1Dur0RKZxTyMdjrgNBOAMHth34
	DmFlIpPbX6Ak7e9FVX+FXbu5bW/AJcvtDsRT+Hnxc6/qVNI0LvtWlkMYTjZUvkP8G1Uh5tNHAGz2Y
	YxXDn12xt97z0jX2U0KSdwTk0YU2BR3+OKN+jEoegbBIvsOLe8fS3Y+Dh/ByqY4HO1XrTlX+uYcDX
	z+M2OUEA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 28/46] hw/arm/npcm7xx: use qemu_configure_nic_device, allow emc0/emc1 as aliases
Date: Mon,  6 Nov 2023 19:49:33 +0000
Message-ID: <20231106195352.301038-29-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Also update the test to specify which device to attach the test socket
to, and remove the comment lamenting the fact that we can't do so.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/arm/npcm7xx.c               | 16 +++++++++-------
 tests/qtest/npcm7xx_emc-test.c | 18 ++++--------------
 2 files changed, 13 insertions(+), 21 deletions(-)

diff --git a/hw/arm/npcm7xx.c b/hw/arm/npcm7xx.c
index 15ff21d047..ee395864e4 100644
--- a/hw/arm/npcm7xx.c
+++ b/hw/arm/npcm7xx.c
@@ -655,8 +655,9 @@ static void npcm7xx_realize(DeviceState *dev, Error **errp)
 
     /*
      * EMC Modules. Cannot fail.
-     * The mapping of the device to its netdev backend works as follows:
-     * emc[i] = nd_table[i]
+     * Use the available NIC configurations in order, allowing 'emc0' and
+     * 'emc1' to by used as aliases for the model= parameter to override.
+     *
      * This works around the inability to specify the netdev property for the
      * emc device: it's not pluggable and thus the -device option can't be
      * used.
@@ -664,12 +665,13 @@ static void npcm7xx_realize(DeviceState *dev, Error **errp)
     QEMU_BUILD_BUG_ON(ARRAY_SIZE(npcm7xx_emc_addr) != ARRAY_SIZE(s->emc));
     QEMU_BUILD_BUG_ON(ARRAY_SIZE(s->emc) != 2);
     for (i = 0; i < ARRAY_SIZE(s->emc); i++) {
-        s->emc[i].emc_num = i;
         SysBusDevice *sbd = SYS_BUS_DEVICE(&s->emc[i]);
-        if (nd_table[i].used) {
-            qemu_check_nic_model(&nd_table[i], TYPE_NPCM7XX_EMC);
-            qdev_set_nic_properties(DEVICE(sbd), &nd_table[i]);
-        }
+        char alias[6];
+
+        s->emc[i].emc_num = i;
+        snprintf(alias, sizeof(alias), "emc%u", i);
+        qemu_configure_nic_device(DEVICE(sbd), true, alias);
+
         /*
          * The device exists regardless of whether it's connected to a QEMU
          * netdev backend. So always instantiate it even if there is no
diff --git a/tests/qtest/npcm7xx_emc-test.c b/tests/qtest/npcm7xx_emc-test.c
index b046f1d76a..f7646fae2c 100644
--- a/tests/qtest/npcm7xx_emc-test.c
+++ b/tests/qtest/npcm7xx_emc-test.c
@@ -225,21 +225,11 @@ static int *packet_test_init(int module_num, GString *cmd_line)
     g_assert_cmpint(ret, != , -1);
 
     /*
-     * KISS and use -nic. We specify two nics (both emc{0,1}) because there's
-     * currently no way to specify only emc1: The driver implicitly relies on
-     * emc[i] == nd_table[i].
+     * KISS and use -nic. The driver accepts 'emc0' and 'emc1' as aliases
+     * in the 'model' field to specify the device to match.
      */
-    if (module_num == 0) {
-        g_string_append_printf(cmd_line,
-                               " -nic socket,fd=%d,model=" TYPE_NPCM7XX_EMC " "
-                               " -nic user,model=" TYPE_NPCM7XX_EMC " ",
-                               test_sockets[1]);
-    } else {
-        g_string_append_printf(cmd_line,
-                               " -nic user,model=" TYPE_NPCM7XX_EMC " "
-                               " -nic socket,fd=%d,model=" TYPE_NPCM7XX_EMC " ",
-                               test_sockets[1]);
-    }
+    g_string_append_printf(cmd_line, " -nic socket,fd=%d,model=emc%d ",
+                           test_sockets[1], module_num);
 
     g_test_queue_destroy(packet_test_clear, test_sockets);
     return test_sockets;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:16:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:16:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628478.979995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r060v-0006XF-4v; Mon, 06 Nov 2023 20:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628478.979995; Mon, 06 Nov 2023 20:16: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 1r060v-0006X8-1A; Mon, 06 Nov 2023 20:16:01 +0000
Received: by outflank-mailman (input) for mailman id 628478;
 Mon, 06 Nov 2023 20:16: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=nwd5=GT=desiato.srs.infradead.org=BATV+aa7b7dce24b49c47a83c+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hJ-0001Ig-EN
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:45 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7636bf0b-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:41 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r05fa-00AkFb-1y; Mon, 06 Nov 2023 19:53:59 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fZ-001GMo-1x; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 7636bf0b-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=U9HaIssH58wcf3kdA9UwHwQ4m5fDVnktA3V3gnm0GPk=; b=STONSx2GTmWGB8ZjHot2dssO0q
	ZMbNmU2Aj1xfjeFjVptjUHGMDCNfmHEeHiXWrQOeGrnuu4lIAPs47AXJus1Mdu1b/yvv7nkzLbvVK
	ggOliQYM8trHhpghqfnshlFXUBurYa15bwTXwDV3BE3QNhUM1RRXjsaCYdWvCD577kfCxiuN2aO+f
	7v+SVNTdzneSbb6q+s9U7CQeQGjFztXIms64KzOd+TeG2LGgs++svtU2rYaqkr8euM4niKQ5dRvxP
	LQ5G8dnY53KfUZOUICk7e70f4dliDqjMJTJK4taT0nTYbxVOhd16CEO1gqhuq4IYh+zPQX7anYyVG
	WQAnuMWQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 04/46] hw/pci: add pci_init_nic_devices(), pci_init_nic_in_slot()
Date: Mon,  6 Nov 2023 19:49:09 +0000
Message-ID: <20231106195352.301038-5-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The loop over nd_table[] to add PCI NICs is repeated in quite a few
places. Add a helper function to do it.

Some platforms also try to instantiate a specific model in a specific
slot, to match the real hardware. Add pci_init_nic_in_slot() for that
purpose.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/pci/pci.c         | 45 ++++++++++++++++++++++++++++++++++++++++++++
 include/hw/pci/pci.h |  4 +++-
 2 files changed, 48 insertions(+), 1 deletion(-)

diff --git a/hw/pci/pci.c b/hw/pci/pci.c
index 885c04b6f5..5703266c0b 100644
--- a/hw/pci/pci.c
+++ b/hw/pci/pci.c
@@ -1925,6 +1925,51 @@ PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus *rootbus,
     return pci_dev;
 }
 
+void pci_init_nic_devices(PCIBus *bus, const char *default_model)
+{
+    qemu_create_nic_bus_devices(&bus->qbus, TYPE_PCI_DEVICE, default_model,
+                                "virtio", "virtio-net-pci");
+}
+
+bool pci_init_nic_in_slot(PCIBus *rootbus, const char *model,
+                          const char *alias, const char *devaddr)
+{
+    NICInfo *nd = qemu_find_nic_info(model, true, alias);
+    int dom, busnr, devfn;
+    PCIDevice *pci_dev;
+    unsigned slot;
+    PCIBus *bus;
+
+    if (!nd) {
+        return false;
+    }
+
+    if (!devaddr || pci_parse_devaddr(devaddr, &dom, &busnr, &slot, NULL) < 0) {
+        error_report("Invalid PCI device address %s for device %s",
+                     devaddr, model);
+        exit(1);
+    }
+
+    if (dom != 0) {
+        error_report("No support for non-zero PCI domains");
+        exit(1);
+    }
+
+    devfn = PCI_DEVFN(slot, 0);
+
+    bus = pci_find_bus_nr(rootbus, busnr);
+    if (!bus) {
+        error_report("Invalid PCI device address %s for device %s",
+                     devaddr, model);
+        exit(1);
+    }
+
+    pci_dev = pci_new(devfn, model);
+    qdev_set_nic_properties(&pci_dev->qdev, nd);
+    pci_realize_and_unref(pci_dev, bus, &error_fatal);
+    return true;
+}
+
 PCIDevice *pci_vga_init(PCIBus *bus)
 {
     vga_interface_created = true;
diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
index ea5aff118b..684d49bdcd 100644
--- a/include/hw/pci/pci.h
+++ b/include/hw/pci/pci.h
@@ -317,7 +317,9 @@ void pci_device_reset(PCIDevice *dev);
 PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus *rootbus,
                                const char *default_model,
                                const char *default_devaddr);
-
+void pci_init_nic_devices(PCIBus *bus, const char *default_model);
+bool pci_init_nic_in_slot(PCIBus *rootbus, const char *default_model,
+                          const char *alias, const char *devaddr);
 PCIDevice *pci_vga_init(PCIBus *bus);
 
 static inline PCIBus *pci_get_bus(const PCIDevice *dev)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:16:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:16:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628479.980004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0612-0006vC-AR; Mon, 06 Nov 2023 20:16:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628479.980004; Mon, 06 Nov 2023 20:16: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 1r0612-0006v5-7l; Mon, 06 Nov 2023 20:16:08 +0000
Received: by outflank-mailman (input) for mailman id 628479;
 Mon, 06 Nov 2023 20:16: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=OHvK=GT=casper.srs.infradead.org=BATV+7ad6dfa9aff48d363c6b+7379+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r05hI-0001Ig-EF
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 19:55:44 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 761632ae-7cde-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 20:55:40 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r05fZ-007taE-M3; Mon, 06 Nov 2023 19:53:58 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r05fZ-001GN4-37; Mon, 06 Nov 2023 19:53: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
X-Inumbo-ID: 761632ae-7cde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=54+9O4MqgKMWNsVDV15P7KT3O3JFiZ0ZmbsNt5OSIo4=; b=uNNnb4D/Jn1NaKTOnlwcXQoBXr
	a7fpJfDZDugOPHlTeDJm5R48ox/KWkG8Kq4VkoW7MrTotDiXX/DNpR8Lx0OIXTa/wlniktk7vXmfZ
	dHj8fjR/z8Yert6javbL8WnB15z9bB7adrZkTchjktVEBMCdmcasEitmq3xKy5xZoKnog4LvVBdId
	gVI2G1ARrSNVDtX1PsfPalbOtKhwBGGDEjoobpG7heQ4S3MtgTVZP7KUMi9uX7qnJBCY4WT97Q0hh
	U8N4avC/qXHuGQuPqJSQ2fsHmTqLfcJSfOEFwq8K+TIzHHPFbtH22DRt5MHxbLdfAwAEyyUd639pH
	CmTmGuNw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
	Beniamino Galvani <b.galvani@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
	Niek Linnenbank <nieklinnenbank@gmail.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	Andrew Jeffery <andrew@codeconstruct.com.au>,
	Joel Stanley <joel@jms.id.au>,
	Igor Mitsyanko <i.mitsyanko@gmail.com>,
	Jean-Christophe Dubois <jcd@tribudubois.net>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Rob Herring <robh@kernel.org>,
	Subbaraya Sundeep <sundeep.lkml@gmail.com>,
	Jan Kiszka <jan.kiszka@web.de>,
	Tyrone Ting <kfting@nuvoton.com>,
	Hao Wu <wuhaotsh@google.com>,
	Radoslaw Biernacki <rad@semihalf.com>,
	Leif Lindholm <quic_llindhol@quicinc.com>,
	Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
	Alistair Francis <alistair@alistair23.me>,
	Helge Deller <deller@gmx.de>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Song Gao <gaosong@loongson.cn>,
	Thomas Huth <huth@tuxfamily.org>,
	Laurent Vivier <laurent@vivier.eu>,
	Huacai Chen <chenhuacai@kernel.org>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>,
	=?UTF-8?q?Herv=C3=A9=20Poussineau?= <hpoussin@reactos.org>,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Jason Wang <jasowang@redhat.com>,
	Jia Liu <proljc@gmail.com>,
	Stafford Horne <shorne@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liweiwei@iscas.ac.cn>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	David Hildenbrand <david@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Halil Pasic <pasic@linux.ibm.com>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Eric Farman <farman@linux.ibm.com>,
	Yoshinori Sato <ysato@users.sourceforge.jp>,
	Magnus Damm <magnus.damm@gmail.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Max Filippov <jcmvbkbc@gmail.com>,
	qemu-arm@nongnu.org,
	qemu-ppc@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH for-8.3 v2 08/46] hw/arm/sbsa-ref: use pci_init_nic_devices()
Date: Mon,  6 Nov 2023 19:49:13 +0000
Message-ID: <20231106195352.301038-9-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231106195352.301038-1-dwmw2@infradead.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Leif Lindholm <quic_llindhol@quicinc.com>
---
 hw/arm/sbsa-ref.c | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/hw/arm/sbsa-ref.c b/hw/arm/sbsa-ref.c
index bce44690e5..7ad8e1fcea 100644
--- a/hw/arm/sbsa-ref.c
+++ b/hw/arm/sbsa-ref.c
@@ -689,9 +689,7 @@ static void create_pcie(SBSAMachineState *sms)
 
     pci = PCI_HOST_BRIDGE(dev);
     if (pci->bus) {
-        for (i = 0; i < nb_nics; i++) {
-            pci_nic_init_nofail(&nd_table[i], pci->bus, mc->default_nic, NULL);
-        }
+        pci_init_nic_devices(pci->bus, mc->default_nic);
     }
 
     pci_create_simple(pci->bus, -1, "bochs-display");
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 06 20:25:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 20:25:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628486.980014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r069R-00046D-4V; Mon, 06 Nov 2023 20:24:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628486.980014; Mon, 06 Nov 2023 20: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 1r069R-000466-1x; Mon, 06 Nov 2023 20:24:49 +0000
Received: by outflank-mailman (input) for mailman id 628486;
 Mon, 06 Nov 2023 20:24: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=/fhL=GT=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r069P-00044m-V8
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 20:24:48 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20614.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85dddb95-7ce2-11ee-98da-6d05b1d4d9a1;
 Mon, 06 Nov 2023 21:24:45 +0100 (CET)
Received: from CYZPR05CA0032.namprd05.prod.outlook.com (2603:10b6:930:a3::14)
 by CH2PR12MB4326.namprd12.prod.outlook.com (2603:10b6:610:af::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Mon, 6 Nov
 2023 20:24:41 +0000
Received: from CY4PEPF0000EDD6.namprd03.prod.outlook.com
 (2603:10b6:930:a3:cafe::5) by CYZPR05CA0032.outlook.office365.com
 (2603:10b6:930:a3::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.16 via Frontend
 Transport; Mon, 6 Nov 2023 20:24:41 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EDD6.mail.protection.outlook.com (10.167.241.210) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Mon, 6 Nov 2023 20:24:41 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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.2507.32; Mon, 6 Nov
 2023 14:24:40 -0600
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.2507.32; Mon, 6 Nov
 2023 14:24:40 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 6 Nov 2023 14:24:39 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85dddb95-7ce2-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NYnhZk1ABtS9bOI/QjOtzqDXGMlMQ4J+mfGKfg/fIhJu126LOYHsPQtR39EX+dXXlRVw8aDKVFrffMNAvIM9ITAQfuYuiIFGRVI8OaHef9uvM0p21fu+bFeVdK+eO+vJ7d1wLatFHEAyiBDQ2LKq3EXrl1EbHIDH48saYgNHRt8vkEHhZQ0ddK3Nj9GxzdRfG47/qKVZHSwghS33tDVI1gkS/HjVtE1ZMoj9yDdNjU9/MsaLqHJ+dycrx/i/hLjMnwQpRDBY7kM6hHemodXycKxtjmzYbVBr8vSrcSVffXiPKeZkxsT64R6XgasxdcV5x3YVpHyOERoH3I38krQdXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K8iGUZkNGBL474ZwZDGSTdsDCXJ/VRYsDvP6g0IjKuM=;
 b=h3m+T+VFOflmVs0YI0XjiwYy1XLC+ME+Gnxd3Pkfu2FU6erhYm74BkIlGi0naxxF7+gl97tAOkbAgO7zHVHRnj3CpwCBeayggB2xoPngJGsuYhPx80WxB9Jl+WFGxkaNla65Kw5d944lX5QJrpLO6IzS9WDTKIvDvwLFNEFIy79cI4XkBtsA9/mrge/n8XNRyu8BDtwybiT+7FiJ+baXZDjpsoROD7VJLNVdc2iDlyWzp6tGi85I/oYeUp8U32zMjvbIIsvuba7i7yXjE9jSWAK045D2nvWXmARIuF8wZVVO7ak+tPEsjBRLmW7aRFoNnvFiOqawgOG6XuAX5lNg5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=K8iGUZkNGBL474ZwZDGSTdsDCXJ/VRYsDvP6g0IjKuM=;
 b=BzogQmf3HtDrwGFP2epF47WkupDXdqVocDHosoyf4g8qNXZN+5vYcznrKezSxJa2rQ2WMjKxqn7cFIfd+eGPMM5p+yT6lpJu8Kfc/NU48zucfEBv5aP5S7xHqEiD0MttbJ0Lv0b3AFZgzWAT8euCpBNUhmWqsOCblZflSfl60P0=
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: <256368a6-77a8-464f-a443-3d4185854bf3@amd.com>
Date: Mon, 6 Nov 2023 15:24:38 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 7/9] xen/arm: Fix mapping for PCI bridge mmio region
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231004145604.1085358-1-stewart.hildebrand@amd.com>
 <20231004145604.1085358-8-stewart.hildebrand@amd.com>
 <7a1bb4f1-4bb1-4592-8ddf-9e97ad4a39f3@xen.org>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <7a1bb4f1-4bb1-4592-8ddf-9e97ad4a39f3@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD6:EE_|CH2PR12MB4326:EE_
X-MS-Office365-Filtering-Correlation-Id: 499ac964-03a6-42d0-0912-08dbdf06682f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/SPE8Oe6E5F4AHY/ZZN310xj20gUggNNxHBPfFrZ12dQNWH8txED7TSWWcLRs6juOrWFQZHRFMH1oXkby47z9H/8MrgQ3msZszqImy6nj9So1tQH49W1qn8ck9OAOOOLnVsDHBD3BrBlmgftYzlrbSPuwXDs8BV3Dl1UOYmCwMDFIU2HWZXJEv7P/1//WVzztfE4Rw/dPvwdvEme7obGMpopHbsCvoNnIw3rZs0ZHwISkmT0CrWjjM8CwKqBTeyRpZsJqEiop1ltxv0U3WER5BLNkIcp9eTsnweL5P8awqHR+rWQC45U2k7BqDaF9TbRy7tjM52aETyZt5GVLGpBOwmmQ3cX5iyRjj8h3wcRPY8/AlRYLWJNPpKL57pdDOw19nMuxcO5OpVfZaw1bJhccC6REDdukPLiuVdvjbDX43QJUZqj1K1JeHVf0ASCNTeG30Lr0ArPoMKsr10UC2MOEuuqKAwGYHa2kxa69KeksMewZCnwm+Oro/IIblbwexrOeZ8D9LmvZMLhQQeGMa2VmWZwEC5eL4M0mmeLvGFOtUY+XE8kWykovfwTD+Fu2WkAwceAfBpcdsvUHaZM84+1ZFyKh488/sK0KCnfB442C8TsX4Cp67XxZWrezGUy1BPsZl2jWMyU1sH8swXJuCu8DhujxHUMB/XO8IV+h6XntqutueDktS776/8kmHzMHbLIqDHldiyEqu0XlY2VP5i29CtFYT3QMxpiGy7071dSJg9kXAuk1jU9j09wb2Zi2Tv6Mr0DxLdonWec86sNc12C3nAMOL0xZnkq+TlLZvS8F+8=
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:(13230031)(4636009)(39860400002)(346002)(136003)(376002)(396003)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(82310400011)(46966006)(36840700001)(40470700004)(31686004)(40480700001)(40460700003)(336012)(426003)(53546011)(26005)(41300700001)(47076005)(2616005)(36756003)(81166007)(356005)(82740400003)(31696002)(86362001)(5660300002)(966005)(2906002)(44832011)(36860700001)(83380400001)(4326008)(8936002)(8676002)(70206006)(316002)(16576012)(70586007)(54906003)(478600001)(110136005)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Nov 2023 20:24:41.2674
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 499ac964-03a6-42d0-0912-08dbdf06682f
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:
	CY4PEPF0000EDD6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4326

On 10/20/23 14:17, Julien Grall wrote:
> Hi Stewart,
> 
> On 04/10/2023 15:55, Stewart Hildebrand wrote:
>> From: Rahul Singh <rahul.singh@arm.com>
>>
>> Current code skip the mapping for PCI bridge MMIO region to dom0 when
>> pci_passthrough_enabled flag is set. Mapping should be skip when
>> has_vpci(d) is enabled for the domain, as we need to skip the mapping
>> only when VPCI handler are registered for ECAM.
>>
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>> v4->v5:
>> * new patch
> 
> I am a bit lost. How is this a new patch but...
> 
>> * rebase on top of "dynamic node programming using overlay dtbo" series
>> * replace !is_pci_passthrough_enabled() check with !IS_ENABLED(CONFIG_HAS_PCI)
>>    instead of removing
> 
> ... there is a changelog. Did you get the patch from somewhere?

Yes, it was picked up from [1]. The changelog is describing what changed since getting the patch from [1]. I'll clarify this here in the next rev.

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00483.html

> 
>> ---
>>   xen/arch/arm/device.c       | 2 +-
>>   xen/arch/arm/domain_build.c | 4 ++--
>>   2 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
>> index 1f631d327441..4d69c298858d 100644
>> --- a/xen/arch/arm/device.c
>> +++ b/xen/arch/arm/device.c
>> @@ -330,7 +330,7 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
>>           .d = d,
>>           .p2mt = p2mt,
>>           .skip_mapping = !own_device ||
>> -                        (is_pci_passthrough_enabled() &&
>> +                        (has_vpci(d) &&
>>                           (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),
>>           .iomem_ranges = iomem_ranges,
>>           .irq_ranges = irq_ranges
>> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
>> index 7da254709d17..2c55528a62d4 100644
>> --- a/xen/arch/arm/domain_build.c
>> +++ b/xen/arch/arm/domain_build.c
>> @@ -1064,7 +1064,7 @@ static void __init assign_static_memory_11(struct domain *d,
>>   #endif
>>
>>   /*
>> - * When PCI passthrough is available we want to keep the
>> + * When HAS_PCI is enabled we want to keep the
>>    * "linux,pci-domain" in sync for every host bridge.
>>    *
>>    * Xen may not have a driver for all the host bridges. So we have
>> @@ -1080,7 +1080,7 @@ static int __init handle_linux_pci_domain(struct kernel_info *kinfo,
>>       uint16_t segment;
>>       int res;
>>
>> -    if ( !is_pci_passthrough_enabled() )
>> +    if ( !IS_ENABLED(CONFIG_HAS_PCI) )
> 
> I don't understand why this wants to be HAS_PCI rather than has_vcpi()?
> This also doesn't seem to be mentioned in the commit message.

This particular change was essentially preparation for reverting the pci-passthrough option to ensure we didn't break the ability to bisect. Since we will not revert the pci-passthrough option after all, I will drop this change in domain_build.c for the next rev.

> 
>>           return 0;
>>
>>       if ( !dt_device_type_is_equal(node, "pci") )
> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 21:15:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 21:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628491.980025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r06wX-0001iE-Ug; Mon, 06 Nov 2023 21:15:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628491.980025; Mon, 06 Nov 2023 21:15: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 1r06wX-0001i7-QQ; Mon, 06 Nov 2023 21:15:33 +0000
Received: by outflank-mailman (input) for mailman id 628491;
 Mon, 06 Nov 2023 21:15: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=m4Jo=GT=gmail.com=pryorm09@srs-se1.protection.inumbo.net>)
 id 1r06wX-0001i1-0O
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 21:15:33 +0000
Received: from mail-ua1-x931.google.com (mail-ua1-x931.google.com
 [2607:f8b0:4864:20::931])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c8a04fa-7ce9-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 22:15:29 +0100 (CET)
Received: by mail-ua1-x931.google.com with SMTP id
 a1e0cc1a2514c-7bae8dd095cso1008492241.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 13:15:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c8a04fa-7ce9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699305328; x=1699910128; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :from:to:cc:subject:date:message-id:reply-to;
        bh=P34TTyG1M6l3tTyWmHV4nVwibIUSQI3i7n59PsrG2tQ=;
        b=EalRm/Y+SC6+QYOWoL7iUhvGJoiSNCL38y3gl9kLDWTw1V15ysOkCyxFU3pFoq6qur
         jt+j0GuYTPt7M+THp3WBnsrE9s0Hptx53/LkJckGKbvRot7eyFvPLcX4Z1eSqmPwyIVK
         d+t4yiq+QwQED3H5IIaP7Xqj9sc0kD8uDcGrcRHxuuiWK3Eo6T+66czWWU5WA87G27/a
         YrzeXDS0WFKjr2DomT14aWEaUOIXCIUGBz1+p7fTQi+59Zvbx1UBcpuwKa9Ab78Lg8JI
         v4ofLLk0fAYdgT/Peu5gLjd2AUapmuIRsK5uZughzilsAJcm4Ti0mvJnsVKf3en7s5AQ
         up7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699305328; x=1699910128;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=P34TTyG1M6l3tTyWmHV4nVwibIUSQI3i7n59PsrG2tQ=;
        b=LRJpxGp/0VyGiWeTWDJHO0Mq0xWudHVkTACf2Ep8erPE+iHqQDcpCaFZGtdiQa/cY3
         tQ8KXWJklYBDcOmeLlsyZg9DveCOLf/zUGsjtPJlF8xCVQdw3ThH61HiNF2OHU1lY64J
         bEykSgTKdGe0iMNetoUJL4sR1AOg0kVIUBxdCbVIbXTxUAzV3FqOcuZ+nRbW1MGq7MKw
         sCUWpguqV87JymXio7fAUgjUjdK4PVK6/uAq2blq1zR8kY/B4bH2ACCO7BoZDB6CF6GI
         mKrRYKLJLYE6aXxzW1X65WLTTMCiexEQslZjGGkxS8tLqLGP+FUHcW3WR2wFZ67OFO8D
         Qtfg==
X-Gm-Message-State: AOJu0YwdubNr3EKtvtuJGbs7UM+mt8O2+f3KMuk1dKexMbbSl/bq31Mi
	kOk9/1xezBQc9CSJJTt6MYEat6/odcwIQCf3PcYwF5aDQ6E=
X-Google-Smtp-Source: AGHT+IEDWfR3DE6qVGL6TQBxQ8PgHrVVJcabDibZy1C64eImfQqzlgeXAKR97YdczEe0piRBJ9NmcmGIowUdejGYFuY=
X-Received: by 2002:a67:c181:0:b0:45d:b9fa:48e9 with SMTP id
 h1-20020a67c181000000b0045db9fa48e9mr6494684vsj.31.1699305328392; Mon, 06 Nov
 2023 13:15:28 -0800 (PST)
MIME-Version: 1.0
References: <CAHnBbQ_LT9hhpBO3=zKoxPe2uoK9OY7zvTKFhbtX+GwHfgduXw@mail.gmail.com>
In-Reply-To: <CAHnBbQ_LT9hhpBO3=zKoxPe2uoK9OY7zvTKFhbtX+GwHfgduXw@mail.gmail.com>
From: Pry Mar <pryorm09@gmail.com>
Date: Mon, 6 Nov 2023 13:15:16 -0800
Message-ID: <CAHnBbQ_-6gX+spYteE205jprab4pqVjBSwyK=b_JtYd3tF_53w@mail.gmail.com>
Subject: Re: [kernel-6.5-bug] with xen-4.18~rc4 on ub-24.04 noble, booting xen
 domU shows UBSAN errors in blkback & netback drivers
To: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="00000000000076c4780609825a09"

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

Similar trouble in domU, independent of the dom0 kernel:

[    0.605954] UBSAN: array-index-out-of-bounds in
/build/linux-D15vQj/linux-6.5.0/drivers/block/xen-blkfront.c:1544:3
[    0.605962] index 1 is out of range for type 'blkif_sring_entry [1]'
[    0.605968] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 6.5.0-9-generic
#9-Ubuntu

[    4.021091] UBSAN: array-index-out-of-bounds in
/build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netfront.c:413:4
[    4.021100] index 1 is out of range for type 'xen_netif_tx_sring_entry
[1]'
[    4.021114] CPU: 3 PID: 1 Comm: systemd Not tainted 6.5.0-9-generic
#9-Ubuntu

[ 1288.106524] UBSAN: array-index-out-of-bounds in
/build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netfront.c:807:4
[ 1288.106533] index 137 is out of range for type 'xen_netif_tx_sring_entry
[1]'
[ 1288.106540] CPU: 0 PID: 320 Comm: sshd Not tainted 6.5.0-9-generic
#9-Ubuntu

domU is giving far more trace output.
On Mon, Nov 6, 2023 at 11:20=E2=80=AFAM Pry Mar <pryorm09@gmail.com> wrote:

> Hello,
>
> These 2 errors show in dmesg late in boot process when xen domU launch:
> 1)  blkback
> UBSAN: array-index-out-of-bounds in
> /build/linux-D15vQj/linux-6.5.0/drivers/block/xen-blkback/blkback.c:1227:=
4
>
> 2) netback
> [   55.209063] UBSAN: array-index-out-of-bounds in
> /build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netback/netback.c:289:3
> [   55.209268] index 3 is out of range for type 'xen_netif_tx_sring_entry
> [1]'
> [   55.209401] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.5.0-9-generic
> #9-Ubuntu
>
> The xen sources don't seem to generate these UBSAN errors and I included
> the patch from staging-4.18. It seems only the xen related kernel drivers
> are
> doing UBSAN errors.
>
> BTW the dom0 works fine. The xen-4.18~rc4 debian delta was a forward port
> from Jammy.
>
> cheers,
> PryMar56
> ##xen-packaging on OFTC
>
>

--00000000000076c4780609825a09
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div>Similar trouble in domU, independent=
 of the dom0 kernel:</div><div><br></div><div>[ =C2=A0 =C2=A00.605954] UBSA=
N: array-index-out-of-bounds in /build/linux-D15vQj/linux-6.5.0/drivers/blo=
ck/xen-blkfront.c:1544:3<br>[ =C2=A0 =C2=A00.605962] index 1 is out of rang=
e for type &#39;blkif_sring_entry [1]&#39;<br>[ =C2=A0 =C2=A00.605968] CPU:=
 2 PID: 0 Comm: swapper/2 Not tainted 6.5.0-9-generic #9-Ubuntu<br></div><d=
iv><br></div><div>[ =C2=A0 =C2=A04.021091] UBSAN: array-index-out-of-bounds=
 in /build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netfront.c:413:4<br>[ =
=C2=A0 =C2=A04.021100] index 1 is out of range for type &#39;xen_netif_tx_s=
ring_entry [1]&#39;<br>[ =C2=A0 =C2=A04.021114] CPU: 3 PID: 1 Comm: systemd=
 Not tainted 6.5.0-9-generic #9-Ubuntu</div><div><br></div><div>[ 1288.1065=
24] UBSAN: array-index-out-of-bounds in /build/linux-D15vQj/linux-6.5.0/dri=
vers/net/xen-netfront.c:807:4<br>[ 1288.106533] index 137 is out of range f=
or type &#39;xen_netif_tx_sring_entry [1]&#39;<br>[ 1288.106540] CPU: 0 PID=
: 320 Comm: sshd Not tainted 6.5.0-9-generic #9-Ubuntu<br></div></div><div>=
<br></div><div>domU is giving far more trace output.<br></div><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Nov 6, 2023 at =
11:20=E2=80=AFAM Pry Mar &lt;<a href=3D"mailto:pryorm09@gmail.com">pryorm09=
@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(204,204,204);padding=
-left:1ex"><div dir=3D"ltr"><div>Hello,</div><div><br></div><div>These 2 er=
rors show in dmesg late in boot process when xen domU launch:<br></div><div=
>1)=C2=A0 blkback<br></div><div>UBSAN: array-index-out-of-bounds in /build/=
linux-D15vQj/linux-6.5.0/drivers/block/xen-blkback/blkback.c:1227:4</div><d=
iv><br></div><div>2) netback<br></div><div>[ =C2=A0 55.209063] UBSAN: array=
-index-out-of-bounds in /build/linux-D15vQj/linux-6.5.0/drivers/net/xen-net=
back/netback.c:289:3<br>[ =C2=A0 55.209268] index 3 is out of range for typ=
e &#39;xen_netif_tx_sring_entry [1]&#39;<br>[ =C2=A0 55.209401] CPU: 3 PID:=
 0 Comm: swapper/3 Not tainted 6.5.0-9-generic #9-Ubuntu</div><div><br></di=
v><div>The xen sources don&#39;t seem to generate these UBSAN errors and I =
included the patch from staging-4.18. It seems only the xen related kernel =
drivers are</div><div>doing UBSAN errors.</div><div><br></div><div>BTW the =
dom0 works fine. The xen-4.18~rc4 debian delta was a forward port from Jamm=
y.</div><div><br></div><div>cheers,</div><div>PryMar56</div><div>##xen-pack=
aging on OFTC<br></div><div><br></div></div>
</blockquote></div></div>

--00000000000076c4780609825a09--


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 22:24:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 22:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628500.980035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r080g-0004MZ-Ri; Mon, 06 Nov 2023 22:23:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628500.980035; Mon, 06 Nov 2023 22:23: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 1r080g-0004MS-O3; Mon, 06 Nov 2023 22:23:54 +0000
Received: by outflank-mailman (input) for mailman id 628500;
 Mon, 06 Nov 2023 22:23: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=m4Jo=GT=gmail.com=pryorm09@srs-se1.protection.inumbo.net>)
 id 1r080f-0004G8-BY
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 22:23:53 +0000
Received: from mail-ua1-x92d.google.com (mail-ua1-x92d.google.com
 [2607:f8b0:4864:20::92d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 27844d10-7cf3-11ee-9b0e-b553b5be7939;
 Mon, 06 Nov 2023 23:23:48 +0100 (CET)
Received: by mail-ua1-x92d.google.com with SMTP id
 a1e0cc1a2514c-7ba9bd62fdfso1525400241.3
 for <xen-devel@lists.xenproject.org>; Mon, 06 Nov 2023 14:23:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27844d10-7cf3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699309427; x=1699914227; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xRdEQYvZRcyr4WyJBrVAX+Hn0AlmUYFSmXj4llZD6Dc=;
        b=dWqZU8gJCwGs2+JBnFlcXhs70xXiudcYV+LyYo0k6cCT54YLAVwP29/F2y9EYv7MlV
         9lKifMEhdlixxszSWLLf6+15PATkPtmPvn+vq4e5lt/0HuBozdP005/8rYrPinizTjYl
         gtMdpQFjj452kZ8zLsmOF8n5L1/iM2QgVq06GK3QPHxgZjUQByVEX7cv1GxYIu5ZrFsX
         NW9mVHfDh9VmDYy6TZi3TK3YABDn6zEMQ1+jRCNQoed69ufBL5HyPqSQcFv6+lGDoGpb
         s54fUk1ugWZChWExDPRTCmaXXRc9Ne7q76pJekWeYH+1eDw8sUzMEcHPE6feMMH1azLn
         fwWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699309427; x=1699914227;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xRdEQYvZRcyr4WyJBrVAX+Hn0AlmUYFSmXj4llZD6Dc=;
        b=py2xoh9c2sFWGJsqeP6ijx6wgdH6E08FZdplLq1g1ZcSe5FmX+fsLE3V53jPTB+F7S
         cWOWHY1FXsJAkAbe9MIMFnW4m+kpXqqMAHANCiU7GPAL+6Caf43Y9IpdYIUObGW/uArc
         O3uh6S4SzAik3DZ0+/ODW5kLoKG4DSkddBLbMO2OTXkq4oXK54UEVstrg29dBSx+JpR0
         NzzRaSr9QjtviC2hPrm1wjWPpoUNNXFWgbQX89GKSqPA3mKrTCesP+olIvPRaLIuD7B9
         lzY0U+fhoLYR6GhJ5FzY8L540I0/82E1+Dhhhu6tnh0kXF7A+NEIHVWc3jVXX/lMu2UY
         /l2g==
X-Gm-Message-State: AOJu0YymcBj9JEtLUy2D9ZQJGJdsTPs/STGHVOEvbM6Xye9zzYAa1PlZ
	zIrytqGOKA496v+bW+krY69d4842PZEaqM3zlaDTpeIuvCg=
X-Google-Smtp-Source: AGHT+IHrGuzyvwAmitmNt+67Ih31C9hE7X1JR8e6zsWK35/s/hVBxTImCpLWOJ3hB3F8mx7EjeOxsNPEMUb/qwmvHBE=
X-Received: by 2002:a67:c113:0:b0:45f:274:8c32 with SMTP id
 d19-20020a67c113000000b0045f02748c32mr5213104vsj.32.1699309427112; Mon, 06
 Nov 2023 14:23:47 -0800 (PST)
MIME-Version: 1.0
References: <CAHnBbQ_LT9hhpBO3=zKoxPe2uoK9OY7zvTKFhbtX+GwHfgduXw@mail.gmail.com>
 <CAHnBbQ_-6gX+spYteE205jprab4pqVjBSwyK=b_JtYd3tF_53w@mail.gmail.com>
In-Reply-To: <CAHnBbQ_-6gX+spYteE205jprab4pqVjBSwyK=b_JtYd3tF_53w@mail.gmail.com>
From: Pry Mar <pryorm09@gmail.com>
Date: Mon, 6 Nov 2023 14:23:35 -0800
Message-ID: <CAHnBbQ8RnfsdQPmFaf_L-Y_3Fv4ZP-70cG-WCma=BdDRLXRS8w@mail.gmail.com>
Subject: Re: [kernel-6.5-bug] with xen-4.18~rc4 on ub-24.04 noble, booting xen
 domU shows UBSAN errors in blkback & netback drivers
To: xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="000000000000c443370609834eca"

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

 looking at a bookworm domU, tried linux-image-6.5.0-0.deb12.1-amd64 from
bookworm-backports in the ub-24.04 dom0, no such UBSAN errors.

Going to request a build of kernel-6.5 in Noble with
 # CONFIG_UBSAN is not set

their kernel config has:
CONFIG_UBSAN=3Dy
# CONFIG_UBSAN_TRAP is not set
CONFIG_CC_HAS_UBSAN_BOUNDS_STRICT=3Dy
CONFIG_UBSAN_BOUNDS=3Dy
CONFIG_UBSAN_BOUNDS_STRICT=3Dy
CONFIG_UBSAN_SHIFT=3Dy
# CONFIG_UBSAN_DIV_ZERO is not set
CONFIG_UBSAN_BOOL=3Dy
CONFIG_UBSAN_ENUM=3Dy
# CONFIG_UBSAN_ALIGNMENT is not set
CONFIG_UBSAN_SANITIZE_ALL=3Dy
# CONFIG_TEST_UBSAN is not set

On Mon, Nov 6, 2023 at 1:15=E2=80=AFPM Pry Mar <pryorm09@gmail.com> wrote:

> Similar trouble in domU, independent of the dom0 kernel:
>
> [    0.605954] UBSAN: array-index-out-of-bounds in
> /build/linux-D15vQj/linux-6.5.0/drivers/block/xen-blkfront.c:1544:3
> [    0.605962] index 1 is out of range for type 'blkif_sring_entry [1]'
> [    0.605968] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 6.5.0-9-generic
> #9-Ubuntu
>
> [    4.021091] UBSAN: array-index-out-of-bounds in
> /build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netfront.c:413:4
> [    4.021100] index 1 is out of range for type 'xen_netif_tx_sring_entry
> [1]'
> [    4.021114] CPU: 3 PID: 1 Comm: systemd Not tainted 6.5.0-9-generic
> #9-Ubuntu
>
> [ 1288.106524] UBSAN: array-index-out-of-bounds in
> /build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netfront.c:807:4
> [ 1288.106533] index 137 is out of range for type
> 'xen_netif_tx_sring_entry [1]'
> [ 1288.106540] CPU: 0 PID: 320 Comm: sshd Not tainted 6.5.0-9-generic
> #9-Ubuntu
>
> domU is giving far more trace output.
> On Mon, Nov 6, 2023 at 11:20=E2=80=AFAM Pry Mar <pryorm09@gmail.com> wrot=
e:
>
>> Hello,
>>
>> These 2 errors show in dmesg late in boot process when xen domU launch:
>> 1)  blkback
>> UBSAN: array-index-out-of-bounds in
>> /build/linux-D15vQj/linux-6.5.0/drivers/block/xen-blkback/blkback.c:1227=
:4
>>
>> 2) netback
>> [   55.209063] UBSAN: array-index-out-of-bounds in
>> /build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netback/netback.c:289:3
>> [   55.209268] index 3 is out of range for type 'xen_netif_tx_sring_entr=
y
>> [1]'
>> [   55.209401] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.5.0-9-generic
>> #9-Ubuntu
>>
>> The xen sources don't seem to generate these UBSAN errors and I included
>> the patch from staging-4.18. It seems only the xen related kernel driver=
s
>> are
>> doing UBSAN errors.
>>
>> BTW the dom0 works fine. The xen-4.18~rc4 debian delta was a forward por=
t
>> from Jammy.
>>
>> cheers,
>> PryMar56
>> ##xen-packaging on OFTC
>>
>>

--000000000000c443370609834eca
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>=C2=A0looking at a bookworm domU, tried linux-image-6=
.5.0-0.deb12.1-amd64 from bookworm-backports in the ub-24.04 dom0, no such =
UBSAN errors.</div><div><br></div><div>Going to request a build of kernel-6=
.5 in Noble with</div><div>=C2=A0# CONFIG_UBSAN is not set</div><div><br></=
div><div>their kernel config has:</div><div>CONFIG_UBSAN=3Dy<br># CONFIG_UB=
SAN_TRAP is not set<br>CONFIG_CC_HAS_UBSAN_BOUNDS_STRICT=3Dy<br>CONFIG_UBSA=
N_BOUNDS=3Dy<br>CONFIG_UBSAN_BOUNDS_STRICT=3Dy<br>CONFIG_UBSAN_SHIFT=3Dy<br=
># CONFIG_UBSAN_DIV_ZERO is not set<br>CONFIG_UBSAN_BOOL=3Dy<br>CONFIG_UBSA=
N_ENUM=3Dy<br># CONFIG_UBSAN_ALIGNMENT is not set<br>CONFIG_UBSAN_SANITIZE_=
ALL=3Dy<br># CONFIG_TEST_UBSAN is not set<br></div></div><br><div class=3D"=
gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Nov 6, 2023 at 1=
:15=E2=80=AFPM Pry Mar &lt;<a href=3D"mailto:pryorm09@gmail.com">pryorm09@g=
mail.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"><div dir=3D"ltr"><div dir=3D"ltr"><div>Similar trouble in domU, ind=
ependent of the dom0 kernel:</div><div><br></div><div>[ =C2=A0 =C2=A00.6059=
54] UBSAN: array-index-out-of-bounds in /build/linux-D15vQj/linux-6.5.0/dri=
vers/block/xen-blkfront.c:1544:3<br>[ =C2=A0 =C2=A00.605962] index 1 is out=
 of range for type &#39;blkif_sring_entry [1]&#39;<br>[ =C2=A0 =C2=A00.6059=
68] CPU: 2 PID: 0 Comm: swapper/2 Not tainted 6.5.0-9-generic #9-Ubuntu<br>=
</div><div><br></div><div>[ =C2=A0 =C2=A04.021091] UBSAN: array-index-out-o=
f-bounds in /build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netfront.c:413:=
4<br>[ =C2=A0 =C2=A04.021100] index 1 is out of range for type &#39;xen_net=
if_tx_sring_entry [1]&#39;<br>[ =C2=A0 =C2=A04.021114] CPU: 3 PID: 1 Comm: =
systemd Not tainted 6.5.0-9-generic #9-Ubuntu</div><div><br></div><div>[ 12=
88.106524] UBSAN: array-index-out-of-bounds in /build/linux-D15vQj/linux-6.=
5.0/drivers/net/xen-netfront.c:807:4<br>[ 1288.106533] index 137 is out of =
range for type &#39;xen_netif_tx_sring_entry [1]&#39;<br>[ 1288.106540] CPU=
: 0 PID: 320 Comm: sshd Not tainted 6.5.0-9-generic #9-Ubuntu<br></div></di=
v><div><br></div><div>domU is giving far more trace output.<br></div><div c=
lass=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Mon, Nov 6, 2=
023 at 11:20=E2=80=AFAM Pry Mar &lt;<a href=3D"mailto:pryorm09@gmail.com" t=
arget=3D"_blank">pryorm09@gmail.com</a>&gt; wrote:<br></div><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div>Hello,</div><div><=
br></div><div>These 2 errors show in dmesg late in boot process when xen do=
mU launch:<br></div><div>1)=C2=A0 blkback<br></div><div>UBSAN: array-index-=
out-of-bounds in /build/linux-D15vQj/linux-6.5.0/drivers/block/xen-blkback/=
blkback.c:1227:4</div><div><br></div><div>2) netback<br></div><div>[ =C2=A0=
 55.209063] UBSAN: array-index-out-of-bounds in /build/linux-D15vQj/linux-6=
.5.0/drivers/net/xen-netback/netback.c:289:3<br>[ =C2=A0 55.209268] index 3=
 is out of range for type &#39;xen_netif_tx_sring_entry [1]&#39;<br>[ =C2=
=A0 55.209401] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.5.0-9-generic #9=
-Ubuntu</div><div><br></div><div>The xen sources don&#39;t seem to generate=
 these UBSAN errors and I included the patch from staging-4.18. It seems on=
ly the xen related kernel drivers are</div><div>doing UBSAN errors.</div><d=
iv><br></div><div>BTW the dom0 works fine. The xen-4.18~rc4 debian delta wa=
s a forward port from Jammy.</div><div><br></div><div>cheers,</div><div>Pry=
Mar56</div><div>##xen-packaging on OFTC<br></div><div><br></div></div>
</blockquote></div></div>
</blockquote></div>

--000000000000c443370609834eca--


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 22:48:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 22:48:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628505.980045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r08Oi-0005h8-Ne; Mon, 06 Nov 2023 22:48:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628505.980045; Mon, 06 Nov 2023 22: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 1r08Oi-0005h1-KG; Mon, 06 Nov 2023 22:48:44 +0000
Received: by outflank-mailman (input) for mailman id 628505;
 Mon, 06 Nov 2023 22:48: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 1r08Og-0005gc-VA
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 22:48: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 1r08Of-0007RC-W8; Mon, 06 Nov 2023 22:48:41 +0000
Received: from gw1.octic.net ([88.97.20.152] 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 1r08Of-0007e8-QC; Mon, 06 Nov 2023 22:48: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=nMuWyPTIbkMAZqmS0UmXalINWa+fAvwCByyv7D3PN+o=; b=VaaTbWctud5/r4XwOGfuTv4oOF
	z/P9E7YKO4Bp4hgsW8S7sgKKM1PfCytuBy5RS16KtJuD/vwDt//eHweahgGgcDaow8mT/Q0gMqgqQ
	RkxN8ZkKB2GYP6r/YEiF7zx0P9YojmKppY34Bs4TVhzGYG7HbH80l1Gsk/rO+7gSMjzE=;
Message-ID: <39c47227-7695-4ef7-9e29-7a85253b5895@xen.org>
Date: Mon, 6 Nov 2023 22:48:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] MAINTAINERS: add xen/drivers/char/imx-lpuart.c to ARM
 section
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231106131922.29240-1-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231106131922.29240-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 06/11/2023 13:19, Michal Orzel wrote:
> Add it to the list next to other Arm serial drivers, so it does not fall
> back to THE REST.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Julien Grall <jgrall@amazon>

I will also commit the patch now.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 22:57:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 22:57:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628509.980055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r08XE-0002tg-Ib; Mon, 06 Nov 2023 22:57:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628509.980055; Mon, 06 Nov 2023 22:57: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 1r08XE-0002tZ-FT; Mon, 06 Nov 2023 22:57:32 +0000
Received: by outflank-mailman (input) for mailman id 628509;
 Mon, 06 Nov 2023 22:57: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 1r08XD-0002tT-R4
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 22:57: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 1r08XC-0007dT-Tb; Mon, 06 Nov 2023 22:57:30 +0000
Received: from gw1.octic.net ([88.97.20.152] 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 1r08XC-0007xY-Kq; Mon, 06 Nov 2023 22:57: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=k1W35WbMFZsKcoShx29lagZp4A9j3oSQ7wkLX5qxz/c=; b=jorTpUY64SPbOcrkjVb+jVwhVa
	pxNH/2AqADOatsnkeaYeGDXIAUDYf0Ob5iiBvnZOxWtppBQZU14ADq7x1fE0OLB5rJLjwYdw3XhKf
	1HcpCI3ZOstKEKj/NOcQnNrHC+Ra0/ZPqFs609lSKbYk4h/XePLmoD+ohFWD49+vKlUU=;
Message-ID: <ef60f721-f784-4595-8866-e1c57da7e48f@xen.org>
Date: Mon, 6 Nov 2023 22:57:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <334b360fada7177e0b6e074fbdd33e02ce186b8f.1699034672.git.nicola.vetrini@bugseng.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <334b360fada7177e0b6e074fbdd33e02ce186b8f.1699034672.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 03/11/2023 18:05, Nicola Vetrini wrote:
> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
> by the asmlinkage pseudo-attribute, for the sake of uniformity.
> The deviation with a comment based on the SAF framework is also
> mentioned as a last resort.

I don't see any reason to keep SAF-1 after this patch. So can this be 
removed?

> 
> Add missing 'xen/compiler.h' #include-s where needed.
> 
> The text in docs/misra/deviations.rst is modified to reflect this change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>   docs/misra/deviations.rst   |  6 +++---
>   xen/arch/arm/cpuerrata.c    |  7 +++----
>   xen/arch/arm/setup.c        |  5 ++---
>   xen/arch/arm/smpboot.c      |  3 +--
>   xen/arch/arm/traps.c        | 21 +++++++--------------
>   xen/arch/x86/boot/cmdline.c |  5 +++--
>   xen/arch/x86/boot/reloc.c   |  7 ++++---
>   xen/arch/x86/extable.c      |  3 +--
>   xen/arch/x86/setup.c        |  3 +--
>   xen/arch/x86/traps.c        | 27 +++++++++------------------
>   xen/common/efi/boot.c       |  5 ++---
>   11 files changed, 36 insertions(+), 56 deletions(-)
> 
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index d468da2f5ce9..ed5d36c08647 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -134,9 +134,9 @@ Deviations related to MISRA C:2012 Rules:
>        - Tagged as `safe` for ECLAIR.
>   
>      * - R8.4
> -     - Functions and variables used only by asm modules are either marked with
> -       the `asmlinkage` macro or with a SAF-1-safe textual deviation
> -       (see safe.json).

I thought we agreed to a different wording [1]. So is this really based 
on last version?

> +     - Functions and variables used only to interface with asm modules should
> +       be marked with the `asmlinkage` macro. If that's not possible, consider
> +       using the SAF-1-safe textual deviation (see safe.json).

See above. Actually, I am a bit surprised that SAF-1 is still mentioned 
given that I have now requested multiple that it should be removed and I 
haven't yet seen a reason to keep it.

Cheers,

[1] 
https://lore.kernel.org/all/b914ac93-2499-4bfd-a60a-51a9f1c170ec@xen.org/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 06 23:37:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 06 Nov 2023 23:37:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628513.980064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r099U-0003T7-Fa; Mon, 06 Nov 2023 23:37:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628513.980064; Mon, 06 Nov 2023 23:37: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 1r099U-0003T0-Cv; Mon, 06 Nov 2023 23:37:04 +0000
Received: by outflank-mailman (input) for mailman id 628513;
 Mon, 06 Nov 2023 23:37: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 1r099S-0003Su-UM
 for xen-devel@lists.xenproject.org; Mon, 06 Nov 2023 23:37: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 1r099R-0000EF-L8; Mon, 06 Nov 2023 23:37:01 +0000
Received: from gw1.octic.net ([88.97.20.152] 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 1r099R-00017x-Eb; Mon, 06 Nov 2023 23: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=FXZee6PuDgeI2YZADsXwiR4hxv3DFvnuoFN7ilxVdA8=; b=VKAHJwelsWopMRPNFpM18cXlQu
	CZT+Iq2mjB/pYOGhbhfeFEh6Bul8tvTPkwIAfwBo7ePCH6gxE5SFWUzybl2W/jl25xQ0fQdo3FxFW
	LORiWgZZ8TEk4INDreFKYtBr7kSWBApSa921fUVkpVCVyiNOlPL0f0qs3Xqlddm1eXUU=;
Message-ID: <68471b07-6091-46c0-b2aa-562fcdec4a42@xen.org>
Date: Mon, 6 Nov 2023 23:36:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen: avoid generation of stub <asm/pci.h> header
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.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>,
 Shawn Anastasio <sanastasio@raptorengineering.com>
References: <f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 01/11/2023 10:15, Oleksii Kurochko wrote:
> Platforms which doesn't have HAS_PCI enabled it is needed to
> have <asm/pci.h>, which contains only an empty definition of
> struct arch_pci_dev ( except ARM, it introduces several
> ARM-specific functions ).
> 
> Also, for architectures ( such as PPC or RISC-V ) on initial
> stages of adding support, it is needed to generate <asm/pci.h>
> for only define the mentioned above arch_pci_dev structure.
> 
> For the Arm-only stubs ( mentioned in <asm/pci.h> for disabled
> HAS_PCI and ARM-specific) will be needed
NIT: You seem to have a mix of ARM and Arm within the same commit 
message. I know that there are debate on which one to use (even though 
the latter is correct). I am ok if you want to either, but please at 
least be consistent :).

> to add <asm/pci.h> directly alongside <xen/pci.h>. Only to
> <arm/domain.c> <asm/pci.h> was added.

You are lucky here because there is only one place needed, so including 
both <xen/pci.h> and <asm/pci.h> is ok. However, I am not sure I like 
this approach as a general solution as it may require to include both 
the common and arch specific header in multiple places.

Anyway, we can discuss this in more details once we have an example.

Acked-by: Julien Grall <jgrall@amazon.com>

> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
>   xen/arch/arm/domain_build.c    |  1 +
>   xen/arch/arm/include/asm/pci.h |  7 -------
>   xen/arch/ppc/include/asm/pci.h |  7 -------
>   xen/include/xen/pci.h          | 11 +++++++++++
>   4 files changed, 12 insertions(+), 14 deletions(-)
>   delete mode 100644 xen/arch/ppc/include/asm/pci.h
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 49792dd590..2dd2926b41 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -23,6 +23,7 @@
>   #include <asm/kernel.h>
>   #include <asm/setup.h>
>   #include <asm/tee/tee.h>
> +#include <asm/pci.h>
>   #include <asm/platform.h>
>   #include <asm/psci.h>
>   #include <asm/setup.h>
> diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
> index 8cb46f6b71..7f77226c9b 100644
> --- a/xen/arch/arm/include/asm/pci.h
> +++ b/xen/arch/arm/include/asm/pci.h
> @@ -130,13 +130,6 @@ bool pci_check_bar(const struct pci_dev *pdev, mfn_t start, mfn_t end);
>   
>   #else   /*!CONFIG_HAS_PCI*/
>   
> -struct arch_pci_dev { };
> -
> -static always_inline bool is_pci_passthrough_enabled(void)
> -{
> -    return false;
> -}
> -
>   struct pci_dev;
>   
>   static inline void arch_pci_init_pdev(struct pci_dev *pdev) {}

Some of the definion in !CONFIG_HAS_PCI seems unnecessary. This one is 
an example. I will have a look to clean them up after your patch is 
committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 00:10:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 00:10:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628517.980075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r09fi-000807-E9; Tue, 07 Nov 2023 00:10:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628517.980075; Tue, 07 Nov 2023 00:10: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 1r09fi-000800-B8; Tue, 07 Nov 2023 00:10:22 +0000
Received: by outflank-mailman (input) for mailman id 628517;
 Tue, 07 Nov 2023 00:10: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=7kXw=GU=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r09fg-0007zq-GU
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 00:10:20 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0868d5db-7d02-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 01:10:18 +0100 (CET)
Received: from AM0PR07CA0034.eurprd07.prod.outlook.com (2603:10a6:208:ac::47)
 by GV2PR08MB8121.eurprd08.prod.outlook.com (2603:10a6:150:7d::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Tue, 7 Nov
 2023 00:10:00 +0000
Received: from AM3PEPF0000A79C.eurprd04.prod.outlook.com
 (2603:10a6:208:ac:cafe::52) by AM0PR07CA0034.outlook.office365.com
 (2603:10a6:208:ac::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.16 via Frontend
 Transport; Tue, 7 Nov 2023 00:10:00 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A79C.mail.protection.outlook.com (10.167.16.107) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Tue, 7 Nov 2023 00:09:59 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Tue, 07 Nov 2023 00:09:59 +0000
Received: from fde633c079c4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A58920FE-A9F4-4233-8271-5E2787C3B205.1; 
 Tue, 07 Nov 2023 00:09:52 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fde633c079c4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 07 Nov 2023 00:09:52 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PA4PR08MB5981.eurprd08.prod.outlook.com (2603:10a6:102:e2::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Tue, 7 Nov
 2023 00:09:50 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6954.028; Tue, 7 Nov 2023
 00: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: 0868d5db-7d02-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=J4zxhEj3pB+GDFH7HlyvUvHv9vjZ1bJIu+FkOUjCVkn+ZTWvj4oALCR3b3PFJXpefEEA/Vqk75NXocQVGCy02Xh26+5+odYk8q8iQxxnisoGFpw/BLWx0N9ObEsBi1rWQphr+I/FbwqICXCUZ+Va/7/qnhBXU+Z4BcSL79wNtqZwmERd/AiXA8jKhuUi9QtavhGQ4i31BxD8G45eM4iLSdoOW7oS3XTc8aG7rhPx7eg3cKNM45tJwUJQKdWUD8m4mgUOI394Sbu+7eMEc8PeG2bpmdnlqrNITEz8ost5SqHhIBqsMQ0cHuXfxqttujgz5wgJMMVxOv4dY/LeWt+neg==
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=BtqyCPIUyHaSeEENDJNns8yZ6jT+ClT1ngFWOl0+vTA=;
 b=I8fBuP5uvRUeTvXozCWCHMJZWar5eK1gBJlA2DvTBFNF98QN+YoW0JA/vumvhN381Obn9UhfUZ4WZ+4Asae3bbUh269nY18qq++aXcFjMYSn1LGYzZE27x6CaCCt1AqQoGTTzoX5L83zKmGdaG3gW/RSSF1ZAmPWsR2U/j3Sbt7t4emoyZuqzWkr58T2V01G5DV2cAW/4UUDn8OIOUvsYBNtn3MEDuTMQEBbAngfqq6EAgkYRvPzBS6B75RQydup9b1NzOioWNvEZRnBPs2AM+k9AgvCcIIoLCO7yzX30DZN2Ph2qvilu7MI0g4CNt40j5WWYJVbCo694aks6sjuVw==
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=BtqyCPIUyHaSeEENDJNns8yZ6jT+ClT1ngFWOl0+vTA=;
 b=G9JoOaoo6y/b05rALKPPrqtRvNKiKqWe7/Fjf/QSlVLE3zXTuMB2zmJIpYJCJmefIAi7SV5f1XIZU7tQ9NfZR2RKqBuD+cIa3f17cxIl6qePWDOBrb9qH2FOJNvbvj6qvzp3dDghre1uWtnmV48xZ5eFNO6Kd+9btaojuoVArDc=
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: 3d877c471d95e95d
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UbhMhhPorF5kDeamQqre8W0ATeTPJJ84gCJdNkUrHn9KxHySI4e2jIJtgSuISCNvfWfpgVXUkr4Wvja3G7lUFIuFELVNPzvEsPOQUW0foxdDdPQScqZ7tVOdEE2sZ82+y+gGH30RPaVFc5o9hkCvPqNLDcC8XInMNrsLHDqku3NFX1L69tXHezOei1Dx4fEaeXa4Ad60RVAlLjYLAMpLKOkH6pZi8pV+mocwl5f6VFfMg9WtDSGC9dqzpcfBbe2R0holYhbe8gseF+FpGuxO9m/m9/VT9Geh/DtzAd5vXgo7Ox28s8WdL+4+uNJSR75NOGQQFLxQzys+n1754VsRxw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BtqyCPIUyHaSeEENDJNns8yZ6jT+ClT1ngFWOl0+vTA=;
 b=J13Fe8nBHbyFWZYZ6w0Zyj67Uv7h2Izi5O9gFUbSt6oIEuHADNnf1bO9+nNVuXRFTS3nHjzvkdQi08AzGXUUxBlrtwhL4fGcavwubTjlvqI6VH+jiIVKxEt+kVVSO5A4mgptIGsKlgi+JI0lcLm+2A8xVJPwfnQLxH+sA2+8nnLVHYGEKmUpI1m6f+2PCgYDDO7Ob0ZAxcaCxRZHPVA04ReKlPxrTq5tlgc8OqUJ4zjI4iWPsESlyXg2Q2XwJq8oNsnjX/V9BzuAxmcrbP8jx2yGToJN3yjDmgkKoX4/wTb6jJYSE5rowLBB9eK1/xw9HbaQqlT4rqV7/KBzsl7iWQ==
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=BtqyCPIUyHaSeEENDJNns8yZ6jT+ClT1ngFWOl0+vTA=;
 b=G9JoOaoo6y/b05rALKPPrqtRvNKiKqWe7/Fjf/QSlVLE3zXTuMB2zmJIpYJCJmefIAi7SV5f1XIZU7tQ9NfZR2RKqBuD+cIa3f17cxIl6qePWDOBrb9qH2FOJNvbvj6qvzp3dDghre1uWtnmV48xZ5eFNO6Kd+9btaojuoVArDc=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Roger Pau Monne <roger.pau@citrix.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, Community Manager
	<community.manager@xenproject.org>, 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 v4] x86/x2apic: introduce a mixed physical/cluster mode
Thread-Topic: [PATCH v4] x86/x2apic: introduce a mixed physical/cluster mode
Thread-Index: AQHaEL2HdnKn60ZZBkKY+yRAm03LbrBtdQ4AgACG2QA=
Date: Tue, 7 Nov 2023 00:09:46 +0000
Message-ID: <299C4640-236C-4EE1-AD70-07DBE4CE2144@arm.com>
References: <20231106142739.19650-1-roger.pau@citrix.com>
 <e52bf34c-0aca-4204-8502-11a45ecdb94d@citrix.com>
In-Reply-To: <e52bf34c-0aca-4204-8502-11a45ecdb94d@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PA4PR08MB5981:EE_|AM3PEPF0000A79C:EE_|GV2PR08MB8121:EE_
X-MS-Office365-Filtering-Correlation-Id: 7752b097-5ba1-49a4-c9d0-08dbdf25e1e9
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:
 y82L3HY+TMLTmLZL8anfFOc6IohXbZwXB2rukx7weXwwRJ3e5Fk+rfl1FV+/fyBFzHUUVJ7uDpBtNaVoT8iff+FRa31bE5GzyVFl37wxFGXw2oNKE7pfrC09Gnz2/NReIC/iM/MLwvH9LXVv3AKkB5k4lv0Pu7gJjAdJFDQvZ6wJ1g9YxHfCGmduyruIB4i/Uq5p2GvnKGwvpPszqebAUNUUSMc1diwuiOCDAruZ8VU4MGw8LxuIVSXDsoj7yBK7h153wZFwwjITNUXsr7hYF8m2ICnjm+HGxLQ4gRlY1dNhQP/qnBCc9+7CHUwGfJElAIQ0YGjPtqTR7fXBd0RjYqQCsHOdp3bIgCQSf5BU00UofTSRq9OPMOb7lCIoXZWWx4gAvaKH0A0bhunGGGRZ+LvY8T1S6gnZBFNN6l+/VdE11BK+o5TKiV2u+sfEtE2fdYTCnuHrvwHuAsXTh5FDDr4hpur8u54JH98t4C3qAeyG8pmaTZvu7G08Ohlqup50J210kwYarlXTSBgik+irS+oE2SdSZocrf+uv2wlH4e2MfT3wmLBMUJTSI1Cp0s394/vFYcyayC1+JdnXIodmsJrYMdsit8tCKOcQkJ2mX/FIxMLPmeq1FQ/43kPCEfdKM7bmO9bmkhAD9xYai6+UoPsMh0RwSglu6ygaM2R+8FUtA2PY7+Gn9iu9Wqf8OFr1
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:(13230031)(136003)(346002)(39860400002)(366004)(376002)(396003)(230922051799003)(230273577357003)(230173577357003)(186009)(64100799003)(1800799009)(451199024)(38100700002)(6506007)(53546011)(6512007)(6486002)(478600001)(71200400001)(6666004)(36756003)(64756008)(54906003)(316002)(6916009)(122000001)(91956017)(2616005)(83380400001)(66556008)(66946007)(66446008)(66476007)(26005)(76116006)(8676002)(4326008)(8936002)(86362001)(2906002)(41300700001)(33656002)(38070700009)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <4C6689DD89A68442BDCBFD97E34E9BD3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB5981
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:
 AM3PEPF0000A79C.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2e204f13-4caa-4020-fe34-08dbdf25da1c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0FfJ9lswitazYj3yKc1tcQYSQt36mUCYss0IcIdh92oAZ7hiRgVQ3T6Eho1abY+pLeaB/t0ZbBNNFGxyhShRGPgMRzS6+q0+rztbOnOhAK0V/6cv4de/UylO4xTQ8jsWCI/jAQyhlBqoP0ujynN3Ah8bh605CLU5wYwqaIVIeTNjj9+l8dmtYVp2SUAroM11K504RurthsQO8N4wmBKcO29Sv7W95tx03PFRSetUXy/do6v7HmJeYr3jHkmmL3cXmmib3fqBrb8EJAmNT+kor7Frl7FMx1IhB0kO3rUFQHgWIJVXPxOEm/uw81dRGat7+oeBlIez77gxiXlLrc8M6EZWY1TCpgV0zbcfO1kojB4j7SnaGEpUQPGvPE99hPp8a7I+xW3v8Y22tCcjbT2AMaQyZHsYjod6OL4IPlj9FgCxXtNkUeaFdswwRL91osErdYAARS2X75imVcXmxNpRMR+o9Hl4O3P6AQTlsPbQV6PB7+kzIi1A8uTyHtTOVxb6j6MJ243S0duL8cyTZafcEQU9exIRw9aVWP0D7SEOYwHlgRdSs5aBDYPj6Oibi6Yw5SJmt3fnAuuyN9FaujgI97/0AAHDs90fvfdvscXNUV713zDsyWP+Ctqw8ALUk+vR8FameFRY+bH7O88IRoevwdY+ZnFQe8WtPKHUwRUDZ9OCQDUW3RWHtSEXFSrZVgxT8YKD9JKBMVrjoK2nf9JLmHeKqMtC3KGBB1kEXCM6asDb8oSM9mBrOgCSGP6PAxt/L5hJq5g9FDReXpJ7eWnQPM+r0GXdI8meY82eNL1fCbA=
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:(13230031)(4636009)(346002)(376002)(396003)(136003)(39860400002)(230273577357003)(230173577357003)(230922051799003)(64100799003)(1800799009)(186009)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(478600001)(41300700001)(6512007)(47076005)(53546011)(6506007)(2616005)(6486002)(6666004)(5660300002)(336012)(83380400001)(8676002)(8936002)(6862004)(4326008)(36860700001)(2906002)(26005)(54906003)(70206006)(70586007)(316002)(86362001)(82740400003)(356005)(81166007)(40480700001)(36756003)(40460700003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 00:09:59.9567
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7752b097-5ba1-49a4-c9d0-08dbdf25e1e9
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:
	AM3PEPF0000A79C.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8121

SGkgUm9nZXIsDQoNCj4gT24gTm92IDcsIDIwMjMsIGF0IDAwOjA2LCBBbmRyZXcgQ29vcGVyIDxh
bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IE9uIDA2LzExLzIwMjMgMjoy
NyBwbSwgUm9nZXIgUGF1IE1vbm5lIHdyb3RlOg0KPj4gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRp
b24gb2YgeDJBUElDIHJlcXVpcmVzIHRvIGVpdGhlciB1c2UgQ2x1c3RlciBMb2dpY2FsIG9yDQo+
PiBQaHlzaWNhbCBtb2RlIGZvciBhbGwgaW50ZXJydXB0cy4gIEhvd2V2ZXIgdGhlIHNlbGVjdGlv
biBvZiBQaHlzaWNhbCB2cyBMb2dpY2FsDQo+PiBpcyBub3QgZG9uZSBhdCBBUElDIHNldHVwLCBh
biBBUElDIGNhbiBiZSBhZGRyZXNzZWQgYm90aCBpbiBQaHlzaWNhbCBvciBMb2dpY2FsDQo+PiBk
ZXN0aW5hdGlvbiBtb2RlcyBjb25jdXJyZW50bHkuDQo+PiANCj4+IEludHJvZHVjZSBhIG5ldyB4
MkFQSUMgbW9kZSBjYWxsZWQgTWl4ZWQsIHdoaWNoIHVzZXMgTG9naWNhbCBDbHVzdGVyIG1vZGUg
Zm9yDQo+PiBJUElzLCBhbmQgUGh5c2ljYWwgbW9kZSBmb3IgZXh0ZXJuYWwgaW50ZXJydXB0cywg
dGh1cyBhdHRlbXB0aW5nIHRvIHVzZSB0aGUNCj4+IGJlc3QgbWV0aG9kIGZvciBlYWNoIGludGVy
cnVwdCB0eXBlLg0KPj4gDQo+PiBVc2luZyBQaHlzaWNhbCBtb2RlIGZvciBleHRlcm5hbCBpbnRl
cnJ1cHRzIGFsbG93cyBtb3JlIHZlY3RvcnMgdG8gYmUgdXNlZCwgYW5kDQo+PiBpbnRlcnJ1cHQg
YmFsYW5jaW5nIHRvIGJlIG1vcmUgYWNjdXJhdGUuDQo+PiANCj4+IFVzaW5nIExvZ2ljYWwgQ2x1
c3RlciBtb2RlIGZvciBJUElzIGFsbG93cyBmZXdlciBhY2Nlc3NlcyB0byB0aGUgSUNSIHJlZ2lz
dGVyDQo+PiB3aGVuIHNlbmRpbmcgdGhvc2UsIGFzIG11bHRpcGxlIENQVXMgY2FuIGJlIHRhcmdl
dGVkIHdpdGggYSBzaW5nbGUgSUNSIHJlZ2lzdGVyDQo+PiB3cml0ZS4NCj4+IA0KPj4gQSBzaW1w
bGUgdGVzdCBjYWxsaW5nIGZsdXNoX3RsYl9hbGwoKSAxMDAwMCB0aW1lcyBvbiBhIHRpZ2h0IGxv
b3Agb24gQU1EIEVQWUMNCj4+IDk3NTQgd2l0aCA1MTIgQ1BVcyBnaXZlcyB0aGUgZm9sbG93aW5n
IGZpZ3VyZXMgaW4gbmFubyBzZWNvbmRzOg0KPj4gDQo+PiB4IG1peGVkDQo+PiArIHBoeXMNCj4+
ICogY2x1c3Rlcg0KPj4gICAgTiAgICAgICAgICAgTWluICAgICAgICAgICBNYXggICAgICAgIE1l
ZGlhbiAgICAgICAgICAgQXZnICAgICAgICBTdGRkZXYNCj4+IHggIDI1IDMuNTEzMTMyOGUrMDgg
My41NzE2NDQxZSswOCAzLjU0MTA5ODdlKzA4IDMuNTQzMjY1OWUrMDggICAgIDE1NjY3MzcuNA0K
Pj4gKyAgMTIgIDEuMjMxMDgyZSswOSAgMS4yMzg4MjRlKzA5IDEuMjM3MDUyOGUrMDkgMS4yMzU3
OTgxZSswOSAgICAgMjg1Mzg5Mi45DQo+PiBEaWZmZXJlbmNlIGF0IDk1LjAlIGNvbmZpZGVuY2UN
Cj4+IDguODE0NzJlKzA4ICsvLSAxLjQ2ODQ5ZSswNg0KPj4gMjQ4Ljc3NCUgKy8tIDAuOTY1NjYl
DQo+PiAoU3R1ZGVudCdzIHQsIHBvb2xlZCBzID0gMi4wNTk4NWUrMDYpDQo+PiAqICAxMSAzLjUw
OTkyNzZlKzA4IDMuNTU2MTQ1OWUrMDggMy41NDYxMjM0ZSswOCAzLjU0MTU2NjhlKzA4ICAgICAx
NDE1MDcxLjkNCj4+IE5vIGRpZmZlcmVuY2UgcHJvdmVuIGF0IDk1LjAlIGNvbmZpZGVuY2UNCj4+
IA0KPj4gU28gTWl4ZWQgaGFzIG5vIGRpZmZlcmVuY2Ugd2hlbiBjb21wYXJlZCB0byBDbHVzdGVy
IG1vZGUsIGFuZCBQaHlzaWNhbCBtb2RlIGlzDQo+PiAyNDglIHNsb3dlciB3aGVuIGNvbXBhcmVk
IHRvIGVpdGhlciBNaXhlZCBvciBDbHVzdGVyIG1vZGVzIHdpdGggYSA5NSUNCj4+IGNvbmZpZGVu
Y2UuDQo+PiANCj4+IE5vdGUgdGhhdCBYZW4gdXNlcyBDbHVzdGVyIG1vZGUgYnkgZGVmYXVsdCwg
YW5kIGhlbmNlIGlzIGFscmVhZHkgdXNpbmcgdGhlDQo+PiBmYXN0ZXN0IHdheSBmb3IgSVBJIGRl
bGl2ZXJ5IGF0IHRoZSBjb3N0IG9mIHJlZHVjaW5nIHRoZSBhbW91bnQgb2YgdmVjdG9ycw0KPj4g
YXZhaWxhYmxlIHN5c3RlbS13aWRlLg0KPj4gDQo+PiBNYWtlIHRoZSBuZXdseSBpbnRyb2R1Y2Vk
IG1vZGUgdGhlIGRlZmF1bHQgb25lLg0KPj4gDQo+PiBOb3RlIHRoZSBwcmludGluZyBvZiB0aGUg
QVBJQyBhZGRyZXNzaW5nIG1vZGUgZG9uZSBpbiBjb25uZWN0X2JzcF9BUElDKCkgaGFzDQo+PiBi
ZWVuIHJlbW92ZWQsIGFzIHdpdGggdGhlIG5ld2x5IGludHJvZHVjZWQgbWl4ZWQgbW9kZSB0aGlz
IHdvdWxkIHJlcXVpcmUgbW9yZQ0KPj4gZmluZSBncmFpbmVkIHByaW50aW5nLCBvciBlbHNlIHdv
dWxkIGJlIGluY29ycmVjdC4gIFRoZSBhZGRyZXNzaW5nIG1vZGUgY2FuDQo+PiBhbHJlYWR5IGJl
IGRlcml2ZWQgZnJvbSB0aGUgQVBJQyBkcml2ZXIgaW4gdXNlLCB3aGljaCBpcyBwcmludGVkIGJ5
IGRpZmZlcmVudA0KPj4gaGVscGVycy4NCj4+IA0KPj4gU3VnZ2VzdGVkLWJ5OiBBbmRyZXcgQ29v
cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogUm9nZXIg
UGF1IE1vbm7DqSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+IA0KPiBSZXZpZXdlZC1ieTogQW5k
cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCg0KQWNrZWQtYnk6IEhlbnJ5
IFdhbmcgPEhlbnJ5LldhbmdAYXJtLmNvbT4gIyBDSEFOR0VMT0cNCg0KS2luZCByZWdhcmRzLA0K
SGVucnkNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 00:39:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 00:39:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628522.980085 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0A81-0000uq-Pk; Tue, 07 Nov 2023 00:39:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628522.980085; Tue, 07 Nov 2023 00:39: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 1r0A81-0000uj-Ms; Tue, 07 Nov 2023 00:39:37 +0000
Received: by outflank-mailman (input) for mailman id 628522;
 Tue, 07 Nov 2023 00:39: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 1r0A80-0000uZ-Pi; Tue, 07 Nov 2023 00:39: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 1r0A80-0002ES-ES; Tue, 07 Nov 2023 00:39: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 1r0A80-0000W5-1n; Tue, 07 Nov 2023 00:39:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0A80-0002xC-1D; Tue, 07 Nov 2023 00:39: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=EABvf1WVof7WH3yHCjQ40KdDco3AJH/8JwDYFL1KqsQ=; b=u1SWNwAuaRlmg/8c8Mz/IVLAzI
	Npqh2gWPbTO0VxM9L/Vz3u9iC81/Q9Ufu685APbv2cHlc2E1IthFWmZLCzk3zhxsg6Olwf7tk8/VV
	mjEsV6GYzEikDfLY5nfIOL+UQfbg+GIoXys+NptApgqmJIe8Mjh3SanfHToo5bsQp6V4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183696-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183696: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=ae02d487a3a4f198e37ca5029ae04abd8976076d
X-Osstest-Versions-That:
    ovmf=778134e491a9f53abc903f6fa730d8389f27697d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 00:39:36 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 ae02d487a3a4f198e37ca5029ae04abd8976076d
baseline version:
 ovmf                 778134e491a9f53abc903f6fa730d8389f27697d

Last test of basis   183689  2023-11-06 01:42:37 Z    0 days
Testing same since   183696  2023-11-06 20:46:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laszlo Ersek <lersek@redhat.com>
  Rebecca Cran <rebecca@bsdio.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
   778134e491..ae02d487a3  ae02d487a3a4f198e37ca5029ae04abd8976076d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 01:44:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 01:44:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628529.980094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0B8j-0001xC-EV; Tue, 07 Nov 2023 01:44:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628529.980094; Tue, 07 Nov 2023 01: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 1r0B8j-0001x5-Bl; Tue, 07 Nov 2023 01:44:25 +0000
Received: by outflank-mailman (input) for mailman id 628529;
 Tue, 07 Nov 2023 01:44: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 1r0B8h-0001uC-Pa; Tue, 07 Nov 2023 01:44: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 1r0B8h-00020P-Cd; Tue, 07 Nov 2023 01:44: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 1r0B8h-0004D2-0u; Tue, 07 Nov 2023 01:44:23 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0B8h-0006pE-0Y; Tue, 07 Nov 2023 01: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=e+LY8w89973j2PtZ8A2zsvVv2/s39Igj/UznvmVcaak=; b=bbUqSTQeCT8SwkW2OPZ+FMVquV
	KcDoiAOjJLSMBwek0+j37SXJQ/Xk+V0cqFEozfdxtifuhHQwTd/MzSmEmfcN9MZkYfAGtnxTat9mb
	w9N38KtWtrFIVHzgMJuGMIajlK8WC7MsLQiXWgS25Okv62WzfjoLFPpXKN4D2EqmedCI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183697-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183697: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a
X-Osstest-Versions-That:
    xen=1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 01:44:23 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a
baseline version:
 xen                  1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef

Last test of basis   183694  2023-11-06 17:02:11 Z    0 days
Testing same since   183697  2023-11-06 23:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@amd.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   1f849edc2f..de1cc5102b  de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 02:08:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 02:08:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628537.980105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0BVZ-0000Eb-8A; Tue, 07 Nov 2023 02:08:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628537.980105; Tue, 07 Nov 2023 02:08: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 1r0BVZ-0000EU-5O; Tue, 07 Nov 2023 02:08:01 +0000
Received: by outflank-mailman (input) for mailman id 628537;
 Tue, 07 Nov 2023 02:08: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=7kXw=GU=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r0BVY-0000EO-9O
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 02:08:00 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 780bdf9b-7d12-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 03:07:57 +0100 (CET)
Received: from AM5PR04CA0025.eurprd04.prod.outlook.com (2603:10a6:206:1::38)
 by AM7PR08MB5525.eurprd08.prod.outlook.com (2603:10a6:20b:107::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 7 Nov
 2023 02:07:53 +0000
Received: from AM2PEPF0001C715.eurprd05.prod.outlook.com
 (2603:10a6:206:1:cafe::b5) by AM5PR04CA0025.outlook.office365.com
 (2603:10a6:206:1::38) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29 via Frontend
 Transport; Tue, 7 Nov 2023 02:07:53 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C715.mail.protection.outlook.com (10.167.16.185) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Tue, 7 Nov 2023 02:07:53 +0000
Received: ("Tessian outbound 385ad2f98d71:v228");
 Tue, 07 Nov 2023 02:07:52 +0000
Received: from cc0daed59e76.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D049E0AF-9AA6-432F-8FD6-0EE882536E25.1; 
 Tue, 07 Nov 2023 02:07:46 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id cc0daed59e76.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 07 Nov 2023 02:07:46 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by VI1PR08MB10145.eurprd08.prod.outlook.com (2603:10a6:800:1ca::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 7 Nov
 2023 02:07:43 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6954.028; Tue, 7 Nov 2023
 02: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: 780bdf9b-7d12-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=YN82b7fvQOJFIl02aSs2Lec4JL+Gt19mvXi98ps4JzEYyb1HUNGyctLggT6kryxdZ6046VA4Wln9NkKKpFRhjTZYuN6TwOMoFDFHN/9Eyt+17yJrTa+0B/IaCgxcaYSFPduZUTUirpkbn9Q68LvA/+thXvjmv1g03hauYvdhTYKj/d3f0jz2arkEVeqcLAhXyvHVGlkC5YNUGdIflgNMeo8E+C/APCVevHFKStQCjdHEJEN9BNyynD1XeQ2tNZ7M3Y2dO4mmmVciQ24RJ09ZtbC0ih2tBa48/mRYsNBdYFgfm/0VSQ781cTVDwDltuYfSoznytTPeW+uwcaFnL6iIw==
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=HjUbt3yVydKt5NlzW28pp2dnE/6FBLz/CH7IGL5o6aQ=;
 b=Wybez+s+M4LRAaMpK9oQqbcDnmWmZ1MZ8CXbo3kkRvEUVC4Rsjorex+wJ+oOvHVAljS41ylDv0KHY/wDxOvf4Q+JWBhKNI5K2zQlN51SIvwhHb3npKEi5mgKGqDQ+41q+KWcqeGvPDgLDBv6CjCv34re42oP/rq9rCkzh9hJvosBVWhnQsXXWMZ5FKOwNDdvnCQ5lJMepIn9P9CHwjb5AOb0XsU6iU+AKB7lPiY4GDf//1XmE3GXsk6FlZ+OwMsD8gl94AfdPOC0od1pSMGfzq1bsase8aiLl4OzpthLjximqcsrQXxwmbMMugPq6z2321V/6azv1xtCH83u6w2QAA==
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=HjUbt3yVydKt5NlzW28pp2dnE/6FBLz/CH7IGL5o6aQ=;
 b=ODtwUrxKnbROmSjHa38Ygi+K5g3J8s4lG6qItIN/7a/86E9QEE16PIFWYsdSP699ji5okq5XVgtvqOrdmi35WxlhDZksbqMcL8y+Ursc3S8fJ9GJBskQR7ra98isc0xf4FYgsUi7L7qCUUJ5I8HLy29LNGWUKTSfpG1ii/UAX5g=
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: 418c15c54cbf374c
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i7+IAwS0cNmKTBOQO9rA5a6tvraSq5eQ5bg0nATPu9IBbsKCI5wwnsyCHq1IwkgBbP4WqkAGI0jkMuXaYdAHndiSoN2GL4rMO8ln51gFHx/taJWH5kpDH5f8lhiIHPxLJdn59wWLKZD2OTEJEONb2ph9Tl6syQqbBoMyUL93nNQvBT+1er4X08TLXCDBqHnggMcNzV6krWVr11E2a50nWTvEqmZ8813ccPblqLfG51wy9wXlOe9iJgKLI8iwDnJpj5LL1dn+HJJeYG5Z2D5FB/8gYy9s/zZ6qYAH6SC9A2BBmsZSmjvOMOAu5EcsLmwNn5qsvs0N3C2128z+vHgayQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HjUbt3yVydKt5NlzW28pp2dnE/6FBLz/CH7IGL5o6aQ=;
 b=mpTIXlP+2raw7vjBbnB6iRPnBu4TindjvvG4kAcGO5kE4AOFNIbkT0Opp1RfdSRx6MIJ58arThsKV7hNSGfFG7dIU9tl062n/zXNX5ZS0NXr9Ns8BmB+UXdrUMq3A+RUg6HQVWzH3J1PWu++mzyRaiHozYFqrOveI1KyQMMDrF7Up71qshB9cgAkU4xdxlpo3Tj39/Bci6xM5bZynYUxOzoaKb6B77+83WJdoh+ieDnfjA44CRVPkK2X+3jsNGkFiG19/nwD/GZw/cWaEaRwgfiQiL3sCNKYVsdGUVig9kgSb6A+FVC1gbw4s5StuFTZP0AbYsC1zzs1w3DUE5LC6g==
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=HjUbt3yVydKt5NlzW28pp2dnE/6FBLz/CH7IGL5o6aQ=;
 b=ODtwUrxKnbROmSjHa38Ygi+K5g3J8s4lG6qItIN/7a/86E9QEE16PIFWYsdSP699ji5okq5XVgtvqOrdmi35WxlhDZksbqMcL8y+Ursc3S8fJ9GJBskQR7ra98isc0xf4FYgsUi7L7qCUUJ5I8HLy29LNGWUKTSfpG1ii/UAX5g=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Penny Zheng
	<Penny.Zheng@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Wei Chen <Wei.Chen@arm.com>
Subject: Re: [PATCH v8 8/8] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Thread-Topic: [PATCH v8 8/8] xen/arm: mmu: move MMU specific P2M code to
 mmu/p2m.{c,h}
Thread-Index: AQHaBVa3sLk3IeHXfE+9kkvgtQfUTbBl2VsAgABkvgCAB1rXgIAAmrMA
Date: Tue, 7 Nov 2023 02:07:40 +0000
Message-ID: <D3DBD455-F704-459B-80E6-BA93B3A4149F@arm.com>
References: <20231023021345.1731436-1-Henry.Wang@arm.com>
 <20231023021345.1731436-9-Henry.Wang@arm.com>
 <fcc12d0f-5529-4f2a-a721-f6f92410e5b7@xen.org>
 <EA7BFF62-76A3-494B-B3EF-67E0664F98E8@arm.com>
 <fc503d74-7b08-4802-8b23-4809369a4ddb@xen.org>
In-Reply-To: <fc503d74-7b08-4802-8b23-4809369a4ddb@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|VI1PR08MB10145:EE_|AM2PEPF0001C715:EE_|AM7PR08MB5525:EE_
X-MS-Office365-Filtering-Correlation-Id: 1deb5fab-a063-4e1f-f568-08dbdf3659ed
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:
 hSeSpfw9fbRT9bOEcN+z9iKl1P83OIws9TOKLKuQdxlYuoErmlBLQ2d70LkPQxp9TQcaZXhH201yR/Bre2fjmWnSrdctXDbsT/9VswNjUvnKS68e6juZcVO1SW1mkcoCuOg6FaTfKkRHXkaNi86mcy1zsqQ3mWw0xPUM17tepNnY4BUYg+paJx46WWqwm5xj7yqSBzezplYXV3coFTpnMwfUOawWf0jZDlKzfVvRRkKIiaAYrAV7yujtH42bMxiBhqAP7NoHdr7WAVEZNSwtiF5qukp70+pZYa2hJ78ZrKPGXpAKBl83Q5ORUNQAZlCKf4RJPr6/xSq/7qZWHR3ha9vpVkMktDMxCTTbmstVLAjw5jxWV3TOdqKFKUAlotHbR/b1C3JbbwZ3dyRuJpnSAcJ67n7x7/Wm5Eb/Prx5o2HAyff47ppALJLNsekF8GM21ipHh+EeNx6VoUZ5MejNwtnPoNgeJJNVOvK4IO8yfUMASmgoZg/fJ6R927qJrjc5tHQ4sML37JPELlzh+DIYzx6gDXwXg+6GvGlcQ+7oyy3zzD9sXRD7tOpFPZHNGwgHON0/bfS9TEC/Hfn1FELdi6G2iz8eZFtfRC/mti8lIKgT6c7nZxrH2RPG1S7dw7fsEYwkOYRlcXuhv2DmZpt/Hw==
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:(13230031)(39860400002)(346002)(376002)(396003)(366004)(136003)(230922051799003)(1800799009)(64100799003)(451199024)(186009)(83380400001)(53546011)(91956017)(66946007)(6512007)(76116006)(26005)(2616005)(478600001)(6506007)(71200400001)(4326008)(8936002)(8676002)(66446008)(66556008)(64756008)(66476007)(54906003)(316002)(6916009)(6486002)(5660300002)(41300700001)(38100700002)(86362001)(122000001)(2906002)(38070700009)(33656002)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <1C24652D1F50504C80ACC028ED9D8652@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB10145
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:
 AM2PEPF0001C715.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	45bc60fe-10a4-4b9d-6016-08dbdf365235
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	X1cFU44neIpVLRKkOUHmWkAv2w9HHLhpimCzoFoWYgVYfBnBOfjDH3vHLNzp0sc+5GLSg86xTw6YAha5OGyfYkBY4s4nUMd3jAm30IWi0MiSGBRyJb3EhmSSg7JpsFJVafpb9YC3Gv0wEsVE4I/D1hTtKmwWYccP0CQkvo9Y8X/cMP4Gpx0RIT80n4jTd1fOMMB1kGGXHCeKG1MIC+V4uu9eYvvcxwA3sm2VcBoUHyK7YZ3A6w7aYyD+3JRdezPSmSbinfnGIe8U3sGiZHOKZlmCiPxmQgqC9qjRCP0ONrpqPgAfc34Mqye4N/UvZLUTMD1sctmgjfgQFIyvw06EXgMJNFZG+dsLERoEGxBI1X3KBg5ByaKayNNtLOzrfoPiCmagr9iR2q5fzrN4KciyXq7JtogiXDuzswpsDqU0TtuC1/ksmaONkylw1mH3++13iiI2rbBq4tqtqOc4CI42GIrOw1SJDIeTokvgxYXYvkaQpyVCZ2Cr00yI7mhLT4HEGQah/I5P4YyV9wSjZ/K+JrchSLr99POLxraaP/2VNVGvdtZ4Uhec++5uPAUxu/JBY9QGygccBjNgA6VI7HWA4+AqFfoIww8iH9WNANaNsS522ylfm+KwEh4MFy51123elJNRBvL18vOYGB9svCPvBrxwVidxG8HnOs3NjR8jISG6o820EAD2fhi4LiVKn9YPpv8x5QDspDLuaugUUdCCJwnfnF609/tFV5hxb0S48qWtNlEoA6ite2JQsnACsjHL
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:(13230031)(4636009)(39860400002)(136003)(396003)(376002)(346002)(230922051799003)(451199024)(82310400011)(64100799003)(186009)(1800799009)(40470700004)(36840700001)(46966006)(2906002)(2616005)(53546011)(6512007)(6486002)(478600001)(6506007)(83380400001)(47076005)(54906003)(26005)(70586007)(336012)(5660300002)(41300700001)(6862004)(8936002)(4326008)(8676002)(70206006)(316002)(36860700001)(33656002)(36756003)(82740400003)(81166007)(356005)(86362001)(40460700003)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 02:07:53.2583
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1deb5fab-a063-4e1f-f568-08dbdf3659ed
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:
	AM2PEPF0001C715.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5525

SGkgSnVsaWVuLA0KDQo+IE9uIE5vdiA3LCAyMDIzLCBhdCAwMDo1MywgSnVsaWVuIEdyYWxsIDxq
dWxpZW5AeGVuLm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4gSSB0aGluayB0aGUgc2VyaWVzIGlzIG5v
dyBmdWxseSBhY2tlZC4gQnV0IEkgd2lsbCB3YWl0IGZvciA0LjE4IHRvIGJlIHJlbGVhc2VkIGJl
Zm9yZSBtZXJnaW5nIHRoaXMgc2VyaWVzLg0KPj4gSSB0aGluayB0aGUgdGhpcmQgcGF0Y2ggInhl
bi9hcm06IEZvbGQgbW11X2luaXRfc2Vjb25kYXJ5X2NwdSgpIHRvIGhlYWQuU+KAnSB3aWxsIG5l
ZWQgdGhlDQo+PiBkb3VibGUgY2hlY2sgZnJvbSB5b3VyIHNpZGUgOikNCj4gDQo+IE9oIHllcyA6
KS4NCj4gDQo+PiBIZXJlIGlzIHdoYXQgSSBoYXZlIGxvY2FsbHksIHRvIHNhdmUgdGltZSBJIHdp
bGwganVzdCBzaG93IHRoZSBjb250ZW50IGhlcmUgZm9yIHlvdSB0byBjaGVjaywNCj4+IGFuZCBJ
IHdpbGwgcHVzaCBpdCBpbiB0aGUgbmV4dCBmZXcgZGF5czoNCj4+IGNvbW1pdCBiYTcyZDZkYzE3
ZmQ3Y2U5YTg2M2I5ZTAwYjA2YjMzYzA2OWM3NjQxDQo+PiBBdXRob3I6IEhlbnJ5IFdhbmcgPEhl
bnJ5LldhbmdAYXJtLmNvbT4NCj4+IERhdGU6ICAgV2VkIEF1ZyAyMyAxNzo1OTo1MCAyMDIzICsw
ODAwDQo+PiAgICAgeGVuL2FybTogRm9sZCBtbXVfaW5pdF9zZWNvbmRhcnlfY3B1KCkgdG8gaGVh
ZC5TDQo+PiAgICAgQ3VycmVudGx5IG1tdV9pbml0X3NlY29uZGFyeV9jcHUoKSBvbmx5IGVuZm9y
Y2VzIHRoZSBwYWdlIHRhYmxlDQo+PiAgICAgc2hvdWxkIG5vdCBjb250YWluIG1hcHBpbmcgdGhh
dCBhcmUgYm90aCBXcml0YWJsZSBhbmQgZVhlY3V0YWJsZXMNCj4+ICAgICBhZnRlciBib290LiBU
byBlYXNlIHRoZSBhcmNoL2FybS9tbS5jIHNwbGl0IHdvcmssIGZvbGQgdGhpcyBmdW5jdGlvbg0K
Pj4gICAgIHRvIGhlYWQuUy4NCj4+ICAgICBGb3IgYXJtMzIsIHRoZSBXWE4gYml0IGNhbm5vdCBi
ZSBzZXQgZWFybHkgYmVjYXVzZSBhdCB0aGUgcG9pbnQgd2hlbg0KPj4gICAgIHRoZSBNTVUgaXMg
ZW5hYmxlZCwgdGhlIHBhZ2UtdGFibGVzIG1heSBzdGlsbCBjb250YWluIG1hcHBpbmcgd2hpY2gN
Cj4+ICAgICBhcmUgd3JpdGFibGUgYW5kIGV4ZWN1dGFibGUuIFRoZXJlZm9yZSwgaW50cm9kdWNl
IGFuIGFzc2VtYmx5IG1hY3JvDQo+PiAgICAgcHRfZW5mb3JjZV93eG4uIFRoZSBtYWNybyBpcyBj
YWxsZWQgYmVmb3JlIHNlY29uZGFyeSBDUFVzIGp1bXBpbmcNCj4+ICAgICBpbnRvIHRoZSBDIHdv
cmxkLg0KPj4gICAgIEZvciBhcm02NCwgc2V0IHRoZSBTQ1RMUl9BeHhfRUx4X1dYTiBmbGFnIHJp
Z2h0IHdoZW4gdGhlIE1NVSBpcw0KPj4gICAgIGVuYWJsZWQuIFRoaXMgd291bGQgYXZvaWQgdGhl
IGV4dHJhIFRMQiBmbHVzaCBhbmQgU0NUTFIgZGFuY2UuDQo+PiAgICAgU2lnbmVkLW9mZi1ieTog
SGVucnkgV2FuZyA8SGVucnkuV2FuZ0Bhcm0uY29tPg0KPj4gICAgIENvLWF1dGhvcmVkLWJ5OiBK
dWxpZW4gR3JhbGwgPGpncmFsbEBhbWF6b24uY29tPg0KPj4gICAgIFNpZ25lZC1vZmYtYnk6IEp1
bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+DQo+PiAgICAgU2lnbmVkLW9mZi1ieTogQXlh
biBLdW1hciBIYWxkZXIgPGF5YW4ua3VtYXIuaGFsZGVyQGFtZC5jb20+DQo+IA0KPiBUaGUgY29t
bWl0IG1lc3NhZ2UgaXMgY2xlYXJlci4gVGhhbmtzISBGZWVsIGZyZWUgdG8gYWRkIG15IHRhZyBm
b3IgdGhlIG5leHQgdmVyc2lvbjoNCj4gDQo+IFJldmlld2VkLWJ5OiBKdWxpZW4gR3JhbGwgPGpn
cmFsbEBhbWF6b24uY29tPg0KDQpUaGFuayB5b3UgdmVyeSBtdWNoISBJIHdpbGwgc2VuZCBhIHY5
IHdpdGggYWxsIHN0dWZmIHNvcnRlZC4NCg0KTm90ZSBmb3IgbXlzZWxmIGlzIHRoYXQgdGhpcyBz
ZXJpZXMgc2hvdWxkIGhhdmUgc29tZSBjb25mbGljdCB3aXRoIExlb+KAmXMgc2VyaWVzIGZvciBB
VkEsIHNvDQpJIHNob3VsZCBkbyBhIHByb3BlciByZWJhc2UgYmFzZWQgb24gdGhlIG9yZGVyIG9m
IG1lcmdpbmcgdGhlc2UgdHdvIHNlcmllcy4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiAN
Cj4gQ2hlZXJzLA0KPiANCj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 02:56:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 02:56:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628542.980114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0CFz-00047p-LU; Tue, 07 Nov 2023 02:55:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628542.980114; Tue, 07 Nov 2023 02:55: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 1r0CFz-00047i-Iu; Tue, 07 Nov 2023 02:55:59 +0000
Received: by outflank-mailman (input) for mailman id 628542;
 Tue, 07 Nov 2023 02:55: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 1r0CFy-00047Y-7u; Tue, 07 Nov 2023 02: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 1r0CFx-00044M-U2; Tue, 07 Nov 2023 02:55: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 1r0CFx-0008EA-Hr; Tue, 07 Nov 2023 02:55:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0CFx-0000OA-HU; Tue, 07 Nov 2023 02: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=rcEPGrEMjDV5QWgNS2YnahMs0q5ieDx8hW5/Paci3fY=; b=anIPOfWi5zc11nPpOTLN08jcWF
	akJPpl7es5/fJ5HT4ABUxBbJKmlnHGVmn6fqOwHg5j0Q5r08QOK62dgg5/L7ohmD2d6wdnmPcI5rT
	kUuUMxlaa361OEbogab36bPt/rA98ouMXvoXIy6UPDzRwztvdROu9Ngt5xG6rmJvebmk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183699-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183699: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=da219919538b679d5cf7387f4eba6c20384bf868
X-Osstest-Versions-That:
    ovmf=ae02d487a3a4f198e37ca5029ae04abd8976076d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 02:55:57 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 da219919538b679d5cf7387f4eba6c20384bf868
baseline version:
 ovmf                 ae02d487a3a4f198e37ca5029ae04abd8976076d

Last test of basis   183696  2023-11-06 20:46:34 Z    0 days
Testing same since   183699  2023-11-07 00:44:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Joey Vagedes <joeyvagedes@gmail.com>
  Joey Vagedes <joeyvagedes@microsoft.com>
  Liming Gao <gaoliming@byosoft.com.cn>

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
   ae02d487a3..da21991953  da219919538b679d5cf7387f4eba6c20384bf868 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 03:02:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 03:02:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628548.980125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0CM8-0005bs-B9; Tue, 07 Nov 2023 03:02:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628548.980125; Tue, 07 Nov 2023 03: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 1r0CM8-0005bl-8W; Tue, 07 Nov 2023 03:02:20 +0000
Received: by outflank-mailman (input) for mailman id 628548;
 Tue, 07 Nov 2023 03:02: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=s63f=GU=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r0CM7-0005bf-9F
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 03:02:19 +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 0edd2ef0-7d1a-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 04:02:17 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-453-Pk4mdENMOXq5-CxBqCqMvw-1; Mon, 06 Nov 2023 22:02:01 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2F70082193C;
 Tue,  7 Nov 2023 03:02:01 +0000 (UTC)
Received: from localhost (unknown [10.39.192.48])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 5019F502B;
 Tue,  7 Nov 2023 03:01:59 +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: 0edd2ef0-7d1a-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1699326136;
	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=Tz6O63wS9xvXe/DSKsh5Kh+EKEvdNpB8Byv3/EykdAg=;
	b=ad/Cj2wltYu0Zfs47eG/9mJ055WxpU93xrFGjRyEPd8u7DhPR6DlwLOyZw4mS8y1VVSOf9
	uNslVaxNA8hz3sP7ttKDuz3BrDI70Q24th8Y/NpzPn24yAGj62w8rFSEhoQIYN7qQb3Ncu
	p+hzAxc+e5sdlTjivInv8+V6fOJUBw4=
X-MC-Unique: Pk4mdENMOXq5-CxBqCqMvw-1
Date: Tue, 7 Nov 2023 11:01:58 +0800
From: Stefan Hajnoczi <stefanha@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: qemu-devel@nongnu.org, qemu-stable@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>, Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
	kvm@vger.kernel.org
Subject: Re: [PULL 0/7] xenfv-stable queue
Message-ID: <20231107030158.GA952663@fedora>
References: <20231106103955.200867-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="wp5z172Ctjx3Blgf"
Content-Disposition: inline
In-Reply-To: <20231106103955.200867-1-dwmw2@infradead.org>
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5


--wp5z172Ctjx3Blgf
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmVJqKYACgkQnKSrs4Gr
c8gMmwf9GAB7eByH2P6TUvsHNM0P8Xl1xHhxPxDQ3frOBLumzDoLuebaCa2oVib4
T0tEdiG0loSkUc7+MT4y4gWe1+1L5baYwlw2hu4e+6l1lI9qTrvE4BZhn2Dd8Qzz
iJtMERsgLr7Xm1qAId88EC9/FxL4k1fWAaZ2cOzRxtRtJNwfHm8vzTpXryIfnsRz
B/FxIY/zGBpbww8qOA7kUeftb+XRa8O82jSdh/WyHFN0nO4HspLkmnTW3a/LSHUx
qrdweXdCLgmMJHuwqb2aQ3dWK6KKQQphfwSeAlIb+CfmT2aGdt5j1bFVlMDdFuic
aqhiL+Ibvu++zxPXLMagJrI+jY01oQ==
=u1Xn
-----END PGP SIGNATURE-----

--wp5z172Ctjx3Blgf--



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 04:19:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 04:19:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628554.980134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0DY5-0006dX-VW; Tue, 07 Nov 2023 04:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628554.980134; Tue, 07 Nov 2023 04:18: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 1r0DY5-0006dQ-Sv; Tue, 07 Nov 2023 04:18:45 +0000
Received: by outflank-mailman (input) for mailman id 628554;
 Tue, 07 Nov 2023 04:18: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=FGpL=GU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r0DY4-0006dK-1s
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 04:18:44 +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 ba5a176d-7d24-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 05:18:40 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id EBFF461118;
 Tue,  7 Nov 2023 04:18:38 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD399C433C7;
 Tue,  7 Nov 2023 04:18: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: ba5a176d-7d24-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699330718;
	bh=5PvihFHBU7SqgdRwrtVBo1+6I/pEiB/RH5ISX/VMPpA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Bp79TRjy24dSDD/qE6n8ck8XIFc1iINY8FONEu+yGlfyIKf7sAGTIkE76bM888oZi
	 t/diEaICWenT4mb89FLqqlQdr/kMR8ohF/pvt10vL2t3MlUQZ7W5Ej0iBA4Ey2oOkN
	 piKy8MQFGWSR8jbtWOGfriFcQA+cCu5jAMkoeQ0AKDSBphqAXqQgoJX2EBGq7AUs9m
	 ioOn9opMSHLLz4obHlrt6gDID/c0CNS2W8XpnuwKZL3U7uIcedn3ZGSugjsSZyBJeb
	 8rD6UJHi0B64OlMSCYXWFRgCRWeUB583TG1QBgNuSaaCB5p2ZG8ANgU7du4WCoaekW
	 pOdtrknRPGb8A==
Date: Mon, 6 Nov 2023 20:18:31 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Mikulas Patocka <mpatocka@redhat.com>
cc: Mike Snitzer <snitzer@kernel.org>, Keith Busch <kbusch@kernel.org>, 
    Christoph Hellwig <hch@lst.de>, Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, iommu@lists.linux.dev, 
    Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>, 
    Jens Axboe <axboe@fb.com>, Sagi Grimberg <sagi@grimberg.me>, 
    Jan Kara <jack@suse.cz>, Vlastimil Babka <vbabka@suse.cz>, 
    Andrew Morton <akpm@linux-foundation.org>, 
    Matthew Wilcox <willy@infradead.org>, Michal Hocko <mhocko@suse.com>, 
    stable@vger.kernel.org, regressions@lists.linux.dev, 
    Alasdair Kergon <agk@redhat.com>, dm-devel@lists.linux.dev, 
    linux-mm@kvack.org
Subject: Re: [PATCH v2] swiotlb-xen: provide the "max_mapping_size" method
In-Reply-To: <151bef41-e817-aea9-675-a35fdac4ed@redhat.com>
Message-ID: <alpine.DEB.2.22.394.2311061211080.3478774@ubuntu-linux-20-04-desktop>
References: <3cb4133c-b6db-9187-a678-11ed8c9456e@redhat.com> <ZUUctamEFtAlSnSV@mail-itl> <ZUUlqJoS6_1IznzT@kbusch-mbp.dhcp.thefacebook.com> <ZUVYT1Xp4+hFT27W@mail-itl> <ZUV3TApYYoh_oiRR@kbusch-mbp.dhcp.thefacebook.com> <11a9886d-316c-edcd-d6da-24ad0b9a2b4@redhat.com>
 <ZUZOKitOAqqKiJ4n@kbusch-mbp.dhcp.thefacebook.com> <20231106071008.GB17022@lst.de> <928b5df7-fada-cf2f-6f6a-257a84547c3@redhat.com> <ZUkDUXDF6g4P86F3@kbusch-mbp.dhcp.thefacebook.com> <ZUkGpblDX637QV9y@redhat.com>
 <151bef41-e817-aea9-675-a35fdac4ed@redhat.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-46487316-1699301481=:3478774"
Content-ID: <alpine.DEB.2.22.394.2311062018170.3478774@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-46487316-1699301481=:3478774
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311062018171.3478774@ubuntu-linux-20-04-desktop>

On Mon, 6 Nov 2023, Mikulas Patocka wrote:
> From: Keith Busch <kbusch@kernel.org>
> 
> There's a bug that when using the XEN hypervisor with bios with large
> multi-page bio vectors on NVMe, the kernel deadlocks [1].
> 
> The deadlocks are caused by inability to map a large bio vector -
> dma_map_sgtable always returns an error, this gets propagated to the block
> layer as BLK_STS_RESOURCE and the block layer retries the request
> indefinitely.
> 
> XEN uses the swiotlb framework to map discontiguous pages into contiguous
> runs that are submitted to the PCIe device. The swiotlb framework has a
> limitation on the length of a mapping - this needs to be announced with
> the max_mapping_size method to make sure that the hardware drivers do not
> create larger mappings.
> 
> Without max_mapping_size, the NVMe block driver would create large
> mappings that overrun the maximum mapping size.
> 
> Reported-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Link: https://lore.kernel.org/stable/ZTNH0qtmint%2FzLJZ@mail-itl/ [1]
> Tested-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
> Suggested-by: Christoph Hellwig <hch@lst.de>
> Cc: stable@vger.kernel.org
> Signed-off-by: Keith Busch <kbusch@kernel.org>
> Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  drivers/xen/swiotlb-xen.c |    1 +
>  1 file changed, 1 insertion(+)
> 
> Index: linux-stable/drivers/xen/swiotlb-xen.c
> ===================================================================
> --- linux-stable.orig/drivers/xen/swiotlb-xen.c	2023-11-03 17:57:18.000000000 +0100
> +++ linux-stable/drivers/xen/swiotlb-xen.c	2023-11-06 15:30:59.000000000 +0100
> @@ -405,4 +405,5 @@ const struct dma_map_ops xen_swiotlb_dma
>  	.get_sgtable = dma_common_get_sgtable,
>  	.alloc_pages = dma_common_alloc_pages,
>  	.free_pages = dma_common_free_pages,
> +	.max_mapping_size = swiotlb_max_mapping_size,
>  };
--8323329-46487316-1699301481=:3478774--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 04:19:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 04:19:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628555.980144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0DYB-0006sy-6O; Tue, 07 Nov 2023 04:18:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628555.980144; Tue, 07 Nov 2023 04:18: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 1r0DYB-0006sn-3W; Tue, 07 Nov 2023 04:18:51 +0000
Received: by outflank-mailman (input) for mailman id 628555;
 Tue, 07 Nov 2023 04:18: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=FGpL=GU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r0DYA-0006dK-16
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 04:18:50 +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 bf0ff402-7d24-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 05:18:48 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id E414A61055;
 Tue,  7 Nov 2023 04:18:46 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EB5F0C433C8;
 Tue,  7 Nov 2023 04:18: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
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf0ff402-7d24-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699330726;
	bh=sJX8RNfonAKRBUfb3IouxMgt3wqfCOt+uN3yCttZxCQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=g848FBEk6CEa78NKj1PVBG99fmFBVubHzb36pzxEOc+w34oWyw21MKKD/SdH1cbhv
	 IcI21W1R66zhoeDMLUJbdbrYHlWqwFEdnsjXoY4lyd5DI9HGlXr8G5VVgt/sYgweoZ
	 EMmW3Y8XSffAub9tQWVCW+jn7F2FJC8m+Zz4mwriaGVwBL7PKLVsQJtAD9v35Y/l++
	 ASR2QmZlec3/Sh3EBJ8P41pJNTKNeTO3J05zJXJxD3r9Tl8lgZUAwITSMt7MPtmQFj
	 advEi9+5WWrjhFxWSM5Kn7dRyhrMuFENk4WNB7onZHGT/5tlg6bAESwAZZeZ/iDWGn
	 6w19F3lzv+70w==
Date: Mon, 6 Nov 2023 20:18:44 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Kelly Choi <kelly.choi@cloud.com>, xen-devel@lists.xenproject.org, 
    committers@xenproject.org
Subject: Re: Informal voting proposal
In-Reply-To: <39e6d4b3-5468-4b91-a030-f36bcce3583d@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311061254560.3478774@ubuntu-linux-20-04-desktop>
References: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com> <39e6d4b3-5468-4b91-a030-f36bcce3583d@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 6 Nov 2023, Julien Grall wrote:
> Hi Kelly,
> 
> On 06/11/2023 16:40, Kelly Choi wrote:
> > Hi all,
> > 
> > As an open-source community, there will always be differences of opinion in
> > approaches and the way we think. It is imperative, however, that we view
> > this diversity as a source of strength rather than a hindrance.
> > 
> > Recent deliberations within our project have led to certain matters being
> > put on hold due to an inability to reach a consensus. While formal voting
> > procedures serve their purpose, they can be time-consuming and may not
> > always lead to meaningful progress.
> > 
> > Having received agreement from a few maintainers already, I would like to
> > propose the following:
> 
> Thanks for the sending the proposal. While I like the idea of informal vote to
> move faster, I would like to ask some clarifications.
>
> > *Informal voting method:*
> > 
> >     1. Each project should ideally have more than 2 maintainers to
> >     facilitate impartial discussions. Projects lacking this configuration
> > will
> >     be addressed at a later stage.
> >     2. Anyone in the community is welcome to voice their opinions, ideas,
> >     and concerns about any patch or contribution.
> >     3. If members cannot agree, the majority informal vote of the
> >     maintainers will be the decision that stands. For instance, if, after
> >     careful consideration of all suggestions and concerns, 2 out of 3
> >     maintainers endorse a solution within the x86 subsystem, it shall be the
> >     decision we move forward with.
> 
> How do you know that all the options have been carefully considered?

I don't think there is a hard rule on this. We follow the discussion on
the list the same way as we do today.

While I like the informal vote proposal and effectively we have already
been following it in many areas of the project, I don't think we should
change the current processes from that point of view.


> >     4. Naturally, there may be exceptional circumstances, as such, a formal
> >     vote may be warranted but should happen only a few times a year for
> > serious
> >     cases only.
> Similarly here, you are suggesting that a formal vote can be called. But it is
> not super clear what would be the condition it could be used and how it can be
> called.

The formal vote is basically the same we already have today. It would
follow the existing voting rules and guidelines already part of the
governance.


> For instance, per the informal rule, if 2 out of 3 maintainers accept. Then it
> would be sensible for the patch to be merged as soon as the 5 days windows is
> closed. Yet the 3rd maintainer technically object it. So could that maintainer
> request a formal vote? If so, how long do they have?

It is difficult to write down a process that works in all cases, and if
we did it would probably end up being slower rather than faster.

In my view if someone doesn't agree with his other co-maintainers and he
is outvoted (e.g. 2/3 of the maintainers prefer a different option), the
individual is entitled to raise a request for a vote with the
committers, which is the same as we already have today.

Ideally a formal vote would be rare, maybe once or twice a year, so I
hope we won't need to optimize the formal vote.


> >     5. Informal votes can be as easy as 2 out of 3 maintainers providing
> >     their Acked-by/Reviewed-by tag. Alternatively, Maintainers can call an
> >     informal vote by simply emailing the thread with "informal vote
> > proposed,
> >     option 1 and option 2."
> >     6. *All maintainers should reply with their vote within 5 working days.*
> 
> While I understand we want to move fast, this means that a maintainer that is
> away for PTO would not have the opportunity to answer.

PTO is a bit of a special case because we typically know when one of the
maintainers is on PTO. If it is a short PTO and if the vacationing
maintainer could have a strong opinion on the subject then it would make
sense to wait. If it is a long leave of absence (several weeks or
months) then I don't think we can wait.

So I think the 5 working days is OK as a rule of thumb, but of course it
shouldn't be used to work around objections of a maintainer by waiting
for him to go on holiday :-)


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 04:19:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 04:19:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628556.980155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0DYO-0007FP-DE; Tue, 07 Nov 2023 04:19:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628556.980155; Tue, 07 Nov 2023 04:19: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 1r0DYO-0007FI-AW; Tue, 07 Nov 2023 04:19:04 +0000
Received: by outflank-mailman (input) for mailman id 628556;
 Tue, 07 Nov 2023 04:19: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=FGpL=GU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r0DYN-0006dK-Hn
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 04:19:03 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c6bd8da0-7d24-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 05:19:01 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id B72F3CE0E99;
 Tue,  7 Nov 2023 04:18:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3E3BBC433C8;
 Tue,  7 Nov 2023 04:18: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: c6bd8da0-7d24-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699330736;
	bh=Jc1lBlbqvnbhNgyJEvI4G7Y3CNDrZLJUdrYb0k50Qrg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lWn5AeCwtuNJ4JQgdvd2z/I2v+hRkx6kvf9jj9cfzQKrA88X79oh8CcNiyqAEA7pH
	 20wxOyqNy0ylbpQtphagGoPjrn1rDWsbdvU+mAiH+qmMvfCSlMYSbz75UVdI469cCX
	 XvbS7qZ1L2pXHh+Sb/PsGaUafmgq3N8SV2NxfYi7ziCCUEtyDsQEhZseEQD1HFPnkI
	 YDhppBhjpLlyLk1FMLg3yG/kgiuHK/TMk6rpK5BExk0aRvzVaMaqpJSc+DV+oIn9+3
	 HKz3n1Mr6b4gwele3hTTHEoJexmJUI4Mr1SsN/8g+7+Mt06f+qooXSU60/tpS8H23M
	 CHXEXjVpPKjkQ==
Date: Mon, 6 Nov 2023 20:18:52 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, George Dunlap <george.dunlap@citrix.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
In-Reply-To: <3e58166f7dcfb3fd3bd15614096b27ce@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311061648330.3478774@ubuntu-linux-20-04-desktop>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com> <3e58166f7dcfb3fd3bd15614096b27ce@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 3 Nov 2023, Nicola Vetrini wrote:
> On 2023-11-03 18:58, Nicola Vetrini wrote:
> > Static analysis tools may detect a possible null
> > pointer dereference at line 760 (the memcpy call)
> > of xen/common/domain.c. This ASSERT helps them in
> > detecting that such a condition is not possible
> > and also provides a basic sanity check.
> > 
> Suggested-by: Julien Grall <julien@xen.org>
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 04:19:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 04:19:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628557.980165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0DYR-0007Xe-Nh; Tue, 07 Nov 2023 04:19:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628557.980165; Tue, 07 Nov 2023 04: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 1r0DYR-0007XV-Kq; Tue, 07 Nov 2023 04:19:07 +0000
Received: by outflank-mailman (input) for mailman id 628557;
 Tue, 07 Nov 2023 04:19: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=FGpL=GU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r0DYQ-0006dK-57
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 04:19: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 c8e00f0b-7d24-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 05:19:04 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 630D661157;
 Tue,  7 Nov 2023 04:19:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2A184C433C8;
 Tue,  7 Nov 2023 04:19: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: c8e00f0b-7d24-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699330743;
	bh=vEuthZicR3zSH1913e+4VzvcAWfkDMQWB8v9FopXls4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qwe0Q6y4J1HbSdoCvmmFD+hnHKklMB/Bc1JLNSpHYCI52/nepml8i9YuvmrGgvX1b
	 wYErWAEEbh9C9VFdPgZnA9f4vvP9w2nfA6SgG7wHoKaw/kWG5cuj4ugPC4miRLYiVg
	 uhVg4WW74d3gZiG9Gu51pNYbmgqh/htDH18gFRtH21+N9kNjFgbVAMpolZhRQx8KvZ
	 /VvZcnaz7c7PJuKYRSyoNfb3FOCHBjHdnYGVJgWc0QMWk8GkXWN++WVqv/WZ9ZtfM/
	 iXzeaeLymjn6rQTyD+inuw32S8YU4G3nWeO9Pn+FT3ONsJkMthMNkr0FuA34z7nR1/
	 8M2GVf8twEbhA==
Date: Mon, 6 Nov 2023 20:18:59 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH][for-4.19 v6] xen: Add deviations for MISRA C:2012
 Rule 7.1
In-Reply-To: <3646e75ebfc8b78d44578e3303bfa1660e0b684b.1699022991.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311061649260.3478774@ubuntu-linux-20-04-desktop>
References: <3646e75ebfc8b78d44578e3303bfa1660e0b684b.1699022991.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 3 Nov 2023, Nicola Vetrini wrote:
> As specified in rules.rst, these constants can be used
> in the code.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
 
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 04:59:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 04:59:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628572.980183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0EBI-00014E-Sw; Tue, 07 Nov 2023 04:59:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628572.980183; Tue, 07 Nov 2023 04:59: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 1r0EBI-000147-OB; Tue, 07 Nov 2023 04:59:16 +0000
Received: by outflank-mailman (input) for mailman id 628572;
 Tue, 07 Nov 2023 04:59: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 1r0EBH-00013v-Hm; Tue, 07 Nov 2023 04:59: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 1r0EBH-0007Dz-FP; Tue, 07 Nov 2023 04:59: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 1r0EBH-0003Oj-09; Tue, 07 Nov 2023 04:59:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0EBG-00057Y-Vv; Tue, 07 Nov 2023 04: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=jg6vO0hJ06aJcIldLtFeTq43qxK2zdnjTwUVP9j5mHo=; b=iwDYkWTWPnh0nYm/zKAFSq3X5Q
	yQNk3RRfn98YcNMrS+euNT0njGP4mrCcsrRzcpEvMrrF2o4Pk3vPZL/hrOd4ZSOZNqLkza1FMvLfL
	fJWBzXWngBCF9NaA248eVuXViI405nKfixKj28mLHHJtMd/i6qU95+MlsO1bJSwqE6fE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183695-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183695: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-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: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-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-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-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-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
    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-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef
X-Osstest-Versions-That:
    xen=5ae0a4ad3822e7118e33d162de87fb8c03db7ce7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 04:59:14 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 183701-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183676
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183690
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183690
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183690
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183690
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183690
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183690
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183690
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183690
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183690
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183690
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183690
 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      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-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-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-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     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-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-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-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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef
baseline version:
 xen                  5ae0a4ad3822e7118e33d162de87fb8c03db7ce7

Last test of basis   183690  2023-11-06 01:52:13 Z    1 days
Testing same since   183695  2023-11-06 19:37:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  George Dunlap <george.dunlap@cloud.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                                          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                  fail    
 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                              starved 
 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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   5ae0a4ad38..1f849edc2f  1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef -> master


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 05:21:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 05:21:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628579.980192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0EWF-0006zV-Lb; Tue, 07 Nov 2023 05:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628579.980192; Tue, 07 Nov 2023 05:20: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 1r0EWF-0006zO-Hx; Tue, 07 Nov 2023 05:20:55 +0000
Received: by outflank-mailman (input) for mailman id 628579;
 Tue, 07 Nov 2023 05:20: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 1r0EWE-0006zE-Fh; Tue, 07 Nov 2023 05:20: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 1r0EWE-00085C-4h; Tue, 07 Nov 2023 05:20: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 1r0EWD-000433-ML; Tue, 07 Nov 2023 05:20:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0EWD-0003o2-Lm; Tue, 07 Nov 2023 05:20: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=4nTTDZ4XUcSmQUXJLmOoShqjviV9vXTjRU0+mHfrTE4=; b=Gqpxc5nJ8KwwOR/lJsXXndmOhF
	nTgPWO/aFGY5TRaz0DnITICV71FdjNkzahzCn3aFBBD5TroA+gvjzhlJCjRkcRAlp5Zcz9iKPpWDW
	yzsYoXzIAcaSenOJd2t5YMaFBatTmtlU7gU3Tegx4AEI5UZDQ17RjKuDLYCv5XDmz6EM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183700-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183700: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=c96b4da2a079eb837ab3af9aeb86a97078b3bde6
X-Osstest-Versions-That:
    ovmf=da219919538b679d5cf7387f4eba6c20384bf868
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 05:20:53 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 c96b4da2a079eb837ab3af9aeb86a97078b3bde6
baseline version:
 ovmf                 da219919538b679d5cf7387f4eba6c20384bf868

Last test of basis   183699  2023-11-07 00:44:24 Z    0 days
Testing same since   183700  2023-11-07 03:42:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Laszlo Ersek <lersek@redhat.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Michael Kubacki <mikuback@microsoft.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
   da21991953..c96b4da2a0  c96b4da2a079eb837ab3af9aeb86a97078b3bde6 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 07:03:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 07:03:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628586.980202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0G7Y-0000P7-Og; Tue, 07 Nov 2023 07:03:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628586.980202; Tue, 07 Nov 2023 07:03: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 1r0G7Y-0000P0-Lq; Tue, 07 Nov 2023 07:03:32 +0000
Received: by outflank-mailman (input) for mailman id 628586;
 Tue, 07 Nov 2023 07:03: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=Ht7K=GU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r0G7X-0000Nd-0d
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 07:03:31 +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 c041674f-7d3b-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 08:03:28 +0100 (CET)
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 45EC922C69;
 Tue,  7 Nov 2023 07:03: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 1E7D1132FD;
 Tue,  7 Nov 2023 07:03:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 9q75BT/hSWV2KQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Nov 2023 07:03: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: c041674f-7d3b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699340607; 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:autocrypt:autocrypt;
	bh=nz0ZoeivXbxcQetK7MURKdI9SaQjB8enap9dT0j7iaA=;
	b=TM8JSHUGxSRnCgMO2g8Kdhhejj2h+hOANctHS278XGZZJml/Jus1vGLingwEWJKvjmlYxz
	dy9SIgZKaUp0sRbKorHwyN4nwUYFO1OheEU9n1uNTGd5QXMcL707mvIvpWV8SflfjqZRof
	RuUxVGAw9QvBYjOuVXpVV3hBpUOuxD8=
Message-ID: <fa441108-1a84-47da-8070-baa3302f8216@suse.com>
Date: Tue, 7 Nov 2023 08:03:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 09/29] tools/xenlogd: add 9pfs open request support
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-10-jgross@suse.com>
 <CAKf6xpt44k5zVjeeYR3vaAxXXc0oMn=r0m+eKpa6KMB6idK-qw@mail.gmail.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpt44k5zVjeeYR3vaAxXXc0oMn=r0m+eKpa6KMB6idK-qw@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------EDU76HeuOEHUjs7vUjSkclql"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------EDU76HeuOEHUjs7vUjSkclql
Content-Type: multipart/mixed; boundary="------------3cDH7yUVj7JmIQj7wZGR2bw8";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <fa441108-1a84-47da-8070-baa3302f8216@suse.com>
Subject: Re: [PATCH 09/29] tools/xenlogd: add 9pfs open request support
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-10-jgross@suse.com>
 <CAKf6xpt44k5zVjeeYR3vaAxXXc0oMn=r0m+eKpa6KMB6idK-qw@mail.gmail.com>
In-Reply-To: <CAKf6xpt44k5zVjeeYR3vaAxXXc0oMn=r0m+eKpa6KMB6idK-qw@mail.gmail.com>

--------------3cDH7yUVj7JmIQj7wZGR2bw8
Content-Type: multipart/mixed; boundary="------------ofUivaIjDtwjUVJoouoel1I4"

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

T24gMDYuMTEuMjMgMjA6MzMsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNjoxM+KAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHRoZSBvcGVuIHJlcXVlc3Qgb2YgdGhlIDlwZnMgcHJvdG9j
b2wuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2Uu
Y29tPg0KPj4gLS0tDQo+PiAgIHRvb2xzL3hlbmxvZ2QvaW8uYyAgICAgIHwgMTMwICsrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICAgdG9vbHMveGVubG9n
ZC94ZW5sb2dkLmggfCAgIDQgKysNCj4+ICAgMiBmaWxlcyBjaGFuZ2VkLCAxMzQgaW5zZXJ0
aW9ucygrKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5sb2dkL2lvLmMgYi90b29s
cy94ZW5sb2dkL2lvLmMNCj4+IGluZGV4IDc3OGUxZGMyYzkuLmMyYjI1OWY0MmUgMTAwNjQ0
DQo+PiAtLS0gYS90b29scy94ZW5sb2dkL2lvLmMNCj4+ICsrKyBiL3Rvb2xzL3hlbmxvZ2Qv
aW8uYw0KPiANCj4+IEBAIC03MzQsNiArNzQ1LDEyMSBAQCBzdGF0aWMgdm9pZCBwOV93YWxr
KGRldmljZSAqZGV2aWNlLCBzdHJ1Y3QgcDlfaGVhZGVyICpoZHIpDQo+PiAgICAgICBmcmVl
KG5hbWVzKTsNCj4+ICAgfQ0KPj4NCj4+ICtzdGF0aWMgaW50IG9wZW5fZmxhZ3NfZnJvbV9t
b2RlKHVpbnQ4X3QgbW9kZSkNCj4+ICt7DQo+PiArICAgIGludCBmbGFnczsNCj4+ICsNCj4+
ICsgICAgc3dpdGNoICggbW9kZSAmIFA5X09NT0RFTUFTSyApDQo+PiArICAgIHsNCj4+ICsg
ICAgY2FzZSBQOV9PUkVBRDoNCj4+ICsgICAgICAgIGZsYWdzID0gT19SRE9OTFk7DQo+PiAr
ICAgICAgICBicmVhazsNCj4+ICsNCj4+ICsgICAgY2FzZSBQOV9PV1JJVEU6DQo+PiArICAg
ICAgICBmbGFncyA9IE9fV1JPTkxZOw0KPj4gKyAgICAgICAgYnJlYWs7DQo+PiArDQo+PiAr
ICAgIGNhc2UgUDlfT1JEV1I6DQo+PiArICAgICAgICBmbGFncyA9IE9fUkRXUjsNCj4+ICsg
ICAgICAgIGJyZWFrOw0KPj4gKw0KPj4gKyAgICBkZWZhdWx0Og0KPj4gKyAgICAgICAgcmV0
dXJuIC0xOw0KPj4gKyAgICB9DQo+PiArDQo+PiArICAgIGlmICggbW9kZSAmIFA5X09UUlVO
QyApDQo+PiArICAgICAgICBmbGFncyB8PSBPX1RSVU5DOw0KPiANCj4gIiIiDQo+IEluIGFk
ZGl0aW9uLCBpZiBtb2RlIGhhcyB0aGUgT1RSVU5DICgweDEwKSBiaXQgc2V0LCB0aGUgZmls
ZSBpcyB0byBiZQ0KPiB0cnVuY2F0ZWQsIHdoaWNoIHJlcXVpcmVzIHdyaXRlIHBlcm1pc3Np
b24gKGlmIHRoZSBmaWxlIGlzDQo+IGFwcGVuZC1vbmx5LCBhbmQgcGVybWlzc2lvbiBpcyBn
cmFudGVkLCB0aGUgb3BlbiBzdWNjZWVkcyBidXQgdGhlIGZpbGUNCj4gd2lsbCBub3QgYmUg
dHJ1bi0gY2F0ZWQpOw0KPiAiIiINCj4gDQo+IFRoaXMgcmVsaWVzIG9uIGxpYmMgT19UUlVO
QyBoYW5kbGluZyAtIEkgdGhpbmsgdGhhdCBpcyBwcm9iYWJseSBiZXR0ZXINCj4gdGhhbiBz
b21ldGhpbmcgY3VzdG9tIHNvIHlvdSBnZXQgdGhlIGxpYmMgc2VtYW50aWNzLg0KDQpUaGF0
IHdhcyBteSB0aGlua2luZywgeWVzLg0KDQo+IA0KPj4gKw0KPj4gKyAgICByZXR1cm4gZmxh
Z3M7DQo+PiArfQ0KPj4gKw0KPj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgZ2V0X2lvdW5pdChk
ZXZpY2UgKmRldmljZSwgc3RydWN0IHN0YXQgKnN0KQ0KPj4gK3sNCj4+ICsgICAgcmV0dXJu
IChkZXZpY2UtPm1heF9zaXplIC0gc3QtPnN0X2Jsa3NpemUpICYgfihzdC0+c3RfYmxrc2l6
ZSAtIDEpOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgdm9pZCBwOV9vcGVuKGRldmljZSAq
ZGV2aWNlLCBzdHJ1Y3QgcDlfaGVhZGVyICpoZHIpDQo+PiArew0KPj4gKyAgICB1aW50MzJf
dCBmaWQ7DQo+PiArICAgIHVpbnQ4X3QgbW9kZTsNCj4+ICsgICAgc3RydWN0IHA5X2ZpZCAq
ZmlkcDsNCj4+ICsgICAgc3RydWN0IHN0YXQgc3Q7DQo+PiArICAgIHN0cnVjdCBwOV9xaWQg
cWlkOw0KPj4gKyAgICB1aW50MzJfdCBpb3VuaXQ7DQo+PiArICAgIGludCBmbGFnczsNCj4+
ICsgICAgaW50IHJldDsNCj4+ICsNCj4+ICsgICAgcmV0ID0gZmlsbF9kYXRhKGRldmljZSwg
IlViIiwgJmZpZCwgJm1vZGUpOw0KPj4gKyAgICBpZiAoIHJldCAhPSAyICkNCj4+ICsgICAg
ew0KPj4gKyAgICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHItPnRhZywgRUlOVkFMKTsNCj4+
ICsgICAgICAgIHJldHVybjsNCj4+ICsgICAgfQ0KPj4gKyAgICBpZiAoIG1vZGUgJiB+KFA5
X09NT0RFTUFTSyB8IFA5X09UUlVOQyB8IFA5X09SRU1PVkUpICkNCj4+ICsgICAgew0KPj4g
KyAgICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHItPnRhZywgRUlOVkFMKTsNCj4+ICsgICAg
ICAgIHJldHVybjsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBmaWRwID0gZmluZF9maWQo
ZGV2aWNlLCBmaWQpOw0KPj4gKyAgICBpZiAoICFmaWRwICkNCj4+ICsgICAgew0KPj4gKyAg
ICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHItPnRhZywgRU5PRU5UKTsNCj4gDQo+IElmIHRo
ZSBob3N0X3BhdGggcG9pbnRzIGF0IGEgcG9wdWxhdGVkIGRpcmVjdG9yeSwgdGhlcmUgaXMg
bm90aGluZw0KPiB0aGF0IHBvcHVsYXRlcyB0aGUgZmlkcyBmb3IgcHJlLWV4aXN0aW5nIGZp
bGVzIGFuZCBkaXJlY3Rvcmllcz8gIFNvDQo+IHRob3NlIGZpbGVzIGNhbm5vdCBiZSBvcGVu
ZWQ/ICBJIGd1ZXNzIHRoYXQncyBub3QgbmVlZGVkIGZvcg0KPiBYZW5zdG9yZS1zdHViZG9t
Pw0KDQpJdCBpcyB0aGUgZ3Vlc3Qgd2hpY2ggaXMgYXNzb2NpYXRpbmcgYSBmaWQgd2l0aCBh
IGZpbGUuIEZvciBvcGVuaW5nIGFuDQpleGlzdGluZyBmaWxlIHRoZSBndWVzdCBzaG91bGQg
dXNlIHRoZSBXQUxLIGNvbW1hbmQgdG8gd2FsayB0aGUgcGF0aCBmcm9tDQphIGtub3duIGZp
ZCAoZS5nLiB0aGUgcm9vdCBmaWQgYXNzb2NpYXRlZCBhdCBBVFRBQ0ggdGltZSkgdG8gdGhl
IHRhcmdldA0KZmlsZS4NCg0KDQpKdWVyZ2VuDQo=
--------------ofUivaIjDtwjUVJoouoel1I4
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-----

--------------ofUivaIjDtwjUVJoouoel1I4--

--------------3cDH7yUVj7JmIQj7wZGR2bw8--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVJ4T4FAwAAAAAACgkQsN6d1ii/Ey+3
uwf/Q7yHJu4s7lSjsiSEDG5NJ0tHB0T9D/ommLT6512JgTUrCePOZoZ7RZmzkwoKABEvE8CMmp91
4lLHaM5nG5rJrzzA00oTKaqhK69dLV1FKdPcgG2LAJKqoWFX0BEOJ3cd5sYQieUWohoUUk+nPqHu
Mv0v7MEOYVTe+tV+ciQkwvqXUNlZ5Xl/IP7it4Yvxr2ASf3DJI9//fLNYt72YX79TDgHV5TK/43N
9gMKsmsiSAO1M6O4tIrzwRJM+VS8RsrH4UC16DiInqFTRUdEwjz3xyTbPwl8Fq+4CMcn8B4nd822
MRFAMgnskFi+8VYBgl1cXOjnxHe+/Fg6NpESOmM5dQ==
=BFz1
-----END PGP SIGNATURE-----

--------------EDU76HeuOEHUjs7vUjSkclql--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 07:15:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 07:15:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628592.980213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0GIz-0003IK-Qk; Tue, 07 Nov 2023 07:15:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628592.980213; Tue, 07 Nov 2023 07:15: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 1r0GIz-0003ID-NI; Tue, 07 Nov 2023 07:15:21 +0000
Received: by outflank-mailman (input) for mailman id 628592;
 Tue, 07 Nov 2023 07:15: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=Ht7K=GU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r0GIz-0003I7-3r
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 07:15:21 +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 688cb94e-7d3d-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 08:15:20 +0100 (CET)
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 3B09F22C82;
 Tue,  7 Nov 2023 07:15: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 070EE132FD;
 Tue,  7 Nov 2023 07:15:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id JPYYAAfkSWXvLQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Nov 2023 07: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>
X-Inumbo-ID: 688cb94e-7d3d-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699341319; 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:autocrypt:autocrypt;
	bh=lu4QoJffdI8Wck0IdmEd0/7AWUT6PG52E2F/oqg2UeE=;
	b=bk1VwlpicyKZNQLOnNDbIVdyOrgzQa4ez1XLLFDI8av8n8JPMpmcjczxprdqAk/cm6QSCJ
	skfx+qBphG0HePKqqjpTed35qRIXF9E8OijCJ+pFSdiSDXUO8BnBK02/eWqRWZjM9A7y4z
	Dvg5hF5M6sNusBr7Rg6p6PLMwIwOpyE=
Message-ID: <83621ad0-412d-4d43-9d7d-9380683a6cf8@suse.com>
Date: Tue, 7 Nov 2023 08:15:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 11/29] tools/xenlogd: add 9pfs create request support
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-12-jgross@suse.com>
 <CAKf6xpu1-tQCY-DRtr2A7fo5=koKR4SjdKEw5J3EsUcY-8iO9Q@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpu1-tQCY-DRtr2A7fo5=koKR4SjdKEw5J3EsUcY-8iO9Q@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------SYlxQkl5QoF0X29hWkMGoVPV"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------SYlxQkl5QoF0X29hWkMGoVPV
Content-Type: multipart/mixed; boundary="------------heHP9N18alraz5GydgOjX04P";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <83621ad0-412d-4d43-9d7d-9380683a6cf8@suse.com>
Subject: Re: [PATCH 11/29] tools/xenlogd: add 9pfs create request support
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-12-jgross@suse.com>
 <CAKf6xpu1-tQCY-DRtr2A7fo5=koKR4SjdKEw5J3EsUcY-8iO9Q@mail.gmail.com>
In-Reply-To: <CAKf6xpu1-tQCY-DRtr2A7fo5=koKR4SjdKEw5J3EsUcY-8iO9Q@mail.gmail.com>

--------------heHP9N18alraz5GydgOjX04P
Content-Type: multipart/mixed; boundary="------------BCciAmy21nQTsqrVe5apsHUe"

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

T24gMDYuMTEuMjMgMjA6NTMsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNjo0OOKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHRoZSBjcmVhdGUgcmVxdWVzdCBvZiB0aGUgOXBmcyBwcm90
b2NvbC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3Vz
ZS5jb20+DQo+PiAtLS0NCj4+ICAgdG9vbHMveGVubG9nZC9pby5jIHwgMTMzICsrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPj4gICAxIGZpbGUgY2hh
bmdlZCwgMTMzIGluc2VydGlvbnMoKykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVu
bG9nZC9pby5jIGIvdG9vbHMveGVubG9nZC9pby5jDQo+PiBpbmRleCAyNjA3MDk1ZTUxLi4z
NGYxMzdiZTFiIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMveGVubG9nZC9pby5jDQo+PiArKysg
Yi90b29scy94ZW5sb2dkL2lvLmMNCj4+IEBAIC0zMSw2ICszMSw3IEBADQo+PiAgICNkZWZp
bmUgUDlfQ01EX0VSUk9SICAgICAgMTA3DQo+PiAgICNkZWZpbmUgUDlfQ01EX1dBTEsgICAg
ICAgMTEwDQo+PiAgICNkZWZpbmUgUDlfQ01EX09QRU4gICAgICAgMTEyDQo+PiArI2RlZmlu
ZSBQOV9DTURfQ1JFQVRFICAgICAxMTQNCj4+ICAgI2RlZmluZSBQOV9DTURfQ0xVTksgICAg
ICAxMjANCj4+DQo+PiAgIC8qIFA5IHByb3RvY29sIG9wZW4gZmxhZ3MuICovDQo+PiBAQCAt
NDEsNiArNDIsMTIgQEANCj4+ICAgI2RlZmluZSBQOV9PVFJVTkMgICAgICAgIDB4MTAgICAv
KiBvcidlZCBpbiwgdHJ1bmNhdGUgZmlsZSBmaXJzdCAqLw0KPj4gICAjZGVmaW5lIFA5X09S
RU1PVkUgICAgICAgMHg0MCAgIC8qIG9yJ2VkIGluLCByZW1vdmUgZmlsZSBhZnRlciBjbHVu
ayAqLw0KPj4NCj4+ICsvKiBQOSBwcm90b2NvbCBjcmVhdGUgcGVybWlzc2lvbiBtYXNrcy4g
Ki8NCj4+ICsjZGVmaW5lIFA5X0NSRUFURV9QRVJNX0RJUiAgICAgICAgMHg4MDAwMDAwMA0K
Pj4gKyNkZWZpbmUgUDlfQ1JFQVRFX1BFUk1fTk9UU1VQUCAgICAweDAzYjAwMDAwICAgLyog
bGluaywgc3ltbGluaywgLi4uICovDQo+PiArI2RlZmluZSBQOV9DUkVBVEVfUEVSTV9ESVJf
TUFTSyAgIDA3NzcNCj4+ICsjZGVmaW5lIFA5X0NSRUFURV9QRVJNX0ZJTEVfTUFTSyAgMDY2
Ng0KPj4gKw0KPj4gICAjZGVmaW5lIFA5X01JTl9NU0laRSAgICAgIDIwNDgNCj4+ICAgI2Rl
ZmluZSBQOV9WRVJTSU9OICAgICAgICAiOVAyMDAwLnUiDQo+PiAgICNkZWZpbmUgUDlfV0FM
S19NQVhFTEVNICAgMTYNCj4+IEBAIC04NjEsNiArODY4LDEyOCBAQCBzdGF0aWMgdm9pZCBw
OV9vcGVuKGRldmljZSAqZGV2aWNlLCBzdHJ1Y3QgcDlfaGVhZGVyICpoZHIpDQo+PiAgICAg
ICBmaWxsX2J1ZmZlcihkZXZpY2UsIGhkci0+Y21kICsgMSwgaGRyLT50YWcsICJRVSIsICZx
aWQsICZpb3VuaXQpOw0KPj4gICB9DQo+Pg0KPj4gK3N0YXRpYyB2b2lkIHA5X2NyZWF0ZShk
ZXZpY2UgKmRldmljZSwgc3RydWN0IHA5X2hlYWRlciAqaGRyKQ0KPj4gK3sNCj4+ICsgICAg
dWludDMyX3QgZmlkOw0KPj4gKyAgICB1bnNpZ25lZCBpbnQgbmFtZV9vZmY7DQo+PiArICAg
IHVpbnQzMl90IHBlcm07DQo+PiArICAgIHVpbnQ4X3QgbW9kZTsNCj4+ICsgICAgdW5zaWdu
ZWQgaW50IGV4dF9vZmY7DQo+PiArICAgIHN0cnVjdCBwOV9maWQgKmZpZHA7DQo+PiArICAg
IHN0cnVjdCBwOV9maWQgKm5ld19maWRwOw0KPj4gKyAgICBjaGFyICpwYXRoOw0KPj4gKyAg
ICBzdHJ1Y3Qgc3RhdCBzdDsNCj4+ICsgICAgc3RydWN0IHA5X3FpZCBxaWQ7DQo+PiArICAg
IHVpbnQzMl90IGlvdW5pdDsNCj4+ICsgICAgaW50IGZsYWdzOw0KPj4gKyAgICBpbnQgcmV0
Ow0KPj4gKw0KPj4gKyAgICByZXQgPSBmaWxsX2RhdGEoZGV2aWNlLCAiVVNVYlMiLCAmZmlk
LCAmbmFtZV9vZmYsICZwZXJtLCAmbW9kZSwgJmV4dF9vZmYpOw0KPj4gKyAgICBpZiAoIHJl
dCAhPSA1ICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHIt
PnRhZywgRUlOVkFMKTsNCj4+ICsgICAgICAgIHJldHVybjsNCj4+ICsgICAgfQ0KPj4gKw0K
Pj4gKyAgICBpZiAoICFuYW1lX29rKGRldmljZS0+c3RyICsgbmFtZV9vZmYpICkNCj4+ICsg
ICAgew0KPj4gKyAgICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHItPnRhZywgRU5PRU5UKTsN
Cj4+ICsgICAgICAgIHJldHVybjsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBpZiAoIHBl
cm0gJiBQOV9DUkVBVEVfUEVSTV9OT1RTVVBQICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAg
cDlfZXJyb3IoZGV2aWNlLCBoZHItPnRhZywgRUlOVkFMKTsNCj4+ICsgICAgICAgIHJldHVy
bjsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBmaWRwID0gZmluZF9maWQoZGV2aWNlLCBm
aWQpOw0KPj4gKyAgICBpZiAoICFmaWRwIHx8IGZpZHAtPm9wZW5lZCApDQo+PiArICAgIHsN
Cj4+ICsgICAgICAgIHA5X2Vycm9yKGRldmljZSwgaGRyLT50YWcsIEVJTlZBTCk7DQo+PiAr
ICAgICAgICByZXR1cm47DQo+PiArICAgIH0NCj4+ICsNCj4+ICsgICAgcGF0aCA9IG1hbGxv
YyhzdHJsZW4oZmlkcC0+cGF0aCkgKyBzdHJsZW4oZGV2aWNlLT5zdHIgKyBuYW1lX29mZikg
KyAyIC0NCj4+ICsgICAgICAgICAgICAgICAgICBzdHJsZW4oZGV2aWNlLT5ob3N0X3BhdGgp
KTsNCj4+ICsgICAgaWYgKCAhcGF0aCApDQo+PiArICAgIHsNCj4+ICsgICAgICAgIHA5X2Vy
cm9yKGRldmljZSwgaGRyLT50YWcsIEVOT01FTSk7DQo+PiArICAgICAgICByZXR1cm47DQo+
PiArICAgIH0NCj4+ICsgICAgc3ByaW50ZihwYXRoLCAiJXMvJXMiLCBmaWRwLT5wYXRoICsg
c3RybGVuKGRldmljZS0+aG9zdF9wYXRoKSwNCj4+ICsgICAgICAgICAgICBkZXZpY2UtPnN0
ciArIG5hbWVfb2ZmKTsNCj4+ICsgICAgbmV3X2ZpZHAgPSBhbGxvY19maWRfbWVtKGRldmlj
ZSwgZmlkLCBwYXRoKTsNCj4+ICsgICAgZnJlZShwYXRoKTsNCj4+ICsgICAgaWYgKCAhbmV3
X2ZpZHAgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBwOV9lcnJvcihkZXZpY2UsIGhkci0+
dGFnLCBFTk9NRU0pOw0KPj4gKyAgICAgICAgcmV0dXJuOw0KPj4gKyAgICB9DQo+PiArDQo+
PiArICAgIGlmICggcGVybSAmIFA5X0NSRUFURV9QRVJNX0RJUiApDQo+PiArICAgIHsNCj4+
ICsgICAgICAgIGlmICggbW9kZSAhPSBQOV9PUkVBRCApDQo+PiArICAgICAgICB7DQo+PiAr
ICAgICAgICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHItPnRhZywgRUlOVkFMKTsNCj4+ICsg
ICAgICAgICAgICBmcmVlKG5ld19maWRwKTsNCj4+ICsgICAgICAgICAgICByZXR1cm47DQo+
PiArICAgICAgICB9DQo+PiArICAgICAgICBpZiAoIG1rZGlyKG5ld19maWRwLT5wYXRoLCBw
ZXJtICYgUDlfQ1JFQVRFX1BFUk1fRElSX01BU0spIDwgMCApDQo+PiArICAgICAgICB7DQo+
PiArICAgICAgICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHItPnRhZywgZXJybm8pOw0KPj4g
KyAgICAgICAgICAgIGZyZWUobmV3X2ZpZHApOw0KPj4gKyAgICAgICAgICAgIHJldHVybjsN
Cj4+ICsgICAgICAgIH0NCj4+ICsNCj4+ICsgICAgICAgIFhFTl9UQUlMUV9SRU1PVkUoJmRl
dmljZS0+ZmlkcywgZmlkcCwgbGlzdCk7DQo+PiArICAgICAgICBYRU5fVEFJTFFfSU5TRVJU
X0hFQUQoJmRldmljZS0+ZmlkcywgbmV3X2ZpZHAsIGxpc3QpOw0KPj4gKyAgICAgICAgZnJl
ZShmaWRwKTsNCj4+ICsgICAgICAgIGZpZHAgPSBuZXdfZmlkcDsNCj4+ICsNCj4+ICsgICAg
ICAgIGZpZHAtPmRhdGEgPSBvcGVuZGlyKGZpZHAtPnBhdGgpOw0KPj4gKyAgICAgICAgaWYg
KCAhZmlkcC0+ZGF0YSApDQo+PiArICAgICAgICB7DQo+PiArICAgICAgICAgICAgcDlfZXJy
b3IoZGV2aWNlLCBoZHItPnRhZywgZXJybm8pOw0KPj4gKyAgICAgICAgICAgIHJldHVybjsN
Cj4+ICsgICAgICAgIH0NCj4+ICsgICAgICAgIGZpZHAtPmZkID0gZGlyZmQoZmlkcC0+ZGF0
YSk7DQo+PiArICAgIH0NCj4+ICsgICAgZWxzZQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBm
bGFncyA9IG9wZW5fZmxhZ3NfZnJvbV9tb2RlKG1vZGUpOw0KPj4gKyAgICAgICAgaWYgKCBm
bGFncyA8IDAgKQ0KPj4gKyAgICAgICAgew0KPj4gKyAgICAgICAgICAgIHA5X2Vycm9yKGRl
dmljZSwgaGRyLT50YWcsIEVJTlZBTCk7DQo+PiArICAgICAgICAgICAgZnJlZShuZXdfZmlk
cCk7DQo+PiArICAgICAgICAgICAgcmV0dXJuOw0KPj4gKyAgICAgICAgfQ0KPj4gKw0KPj4g
KyAgICAgICAgWEVOX1RBSUxRX1JFTU9WRSgmZGV2aWNlLT5maWRzLCAiIiJmaWRwLCBsaXN0
KTsNCj4+ICsgICAgICAgIFhFTl9UQUlMUV9JTlNFUlRfSEVBRCgmZGV2aWNlLT5maWRzLCBu
ZXdfZmlkcCwgbGlzdCk7DQo+PiArICAgICAgICBmcmVlKGZpZHApOw0KPj4gKyAgICAgICAg
ZmlkcCA9IG5ld19maWRwOw0KPj4gKw0KPj4gKyAgICAgICAgZmlkcC0+ZmQgPSBjcmVhdChm
aWRwLT5wYXRoLCBmbGFncyk7DQo+IA0KPiBodHRwczovL2VyaWN2aC5naXRodWIuaW8vOXAt
cmZjL3JmYzlwMjAwMC5odG1sI2FuY2hvcjI5DQo+ICIiIg0KPiBUaGUgY3JlYXRlIHJlcXVl
c3QgYXNrcyB0aGUgZmlsZSBzZXJ2ZXIgdG8gY3JlYXRlIGEgbmV3IGZpbGUgd2l0aCB0aGUN
Cj4gbmFtZSBzdXBwbGllZCwgaW4gdGhlIGRpcmVjdG9yeSAoZGlyKSByZXByZXNlbnRlZCBi
eSBmaWQsIGFuZCByZXF1aXJlcw0KPiB3cml0ZSBwZXJtaXNzaW9uIGluIHRoZSBkaXJlY3Rv
cnkuIFRoZSBvd25lciBvZiB0aGUgZmlsZSBpcyB0aGUNCj4gaW1wbGllZCB1c2VyIGlkIG9m
IHRoZSByZXF1ZXN0LCB0aGUgZ3JvdXAgb2YgdGhlIGZpbGUgaXMgdGhlIHNhbWUgYXMNCj4g
ZGlyLCBhbmQgdGhlIHBlcm1pc3Npb25zIGFyZSB0aGUgdmFsdWUgb2YNCj4gDQo+IHBlcm0g
JiAofjA2NjYgfCAoZGlyLnBlcm0gJiAwNjY2KSkNCj4gDQo+IGlmIGEgcmVndWxhciBmaWxl
IGlzIGJlaW5nIGNyZWF0ZWQgYW5kDQo+IA0KPiBwZXJtICYgKH4wNzc3IHwgKGRpci5wZXJt
ICYgMDc3NykpDQo+IA0KPiBpZiBhIGRpcmVjdG9yeSBpcyBiZWluZyBjcmVhdGVkLiBUaGlz
IG1lYW5zLCBmb3IgZXhhbXBsZSwgdGhhdCBpZiB0aGUNCj4gY3JlYXRlIGFsbG93cyByZWFk
IHBlcm1pc3Npb24gdG8gb3RoZXJzLCBidXQgdGhlIGNvbnRhaW5pbmcgZGlyZWN0b3J5DQo+
IGRvZXMgbm90LCB0aGVuIHRoZSBjcmVhdGVkIGZpbGUgd2lsbCBub3QgYWxsb3cgb3RoZXJz
IHRvIHJlYWQgdGhlDQo+IGZpbGUuDQo+ICIiIg0KPiANCj4gU28gUDlfQ1JFQVRFX1BFUk1f
RklMRV9NQVNLICh3aGljaCBpcyBvdGhlcndpc2UgdW51c2VkKSBzaG91bGQgYmUNCj4gaW5j
b3Jwb3JhdGVkLiAgQWxzbyB0aGUgbW9kZSBhbmQgdGhlIHBlcm1pc3Npb25zIGFyZSBoYW5k
bGVkDQo+IGluZGVwZW5kZW50bHk6DQo+ICIiIg0KPiBGaW5hbGx5LCB0aGUgbmV3bHkgY3Jl
YXRlZCBmaWxlIGlzIG9wZW5lZCBhY2NvcmRpbmcgdG8gbW9kZSwgYW5kIGZpZA0KPiB3aWxs
IHJlcHJlc2VudCB0aGUgbmV3bHkgb3BlbmVkIGZpbGUuIE1vZGUgaXMgbm90IGNoZWNrZWQg
YWdhaW5zdCB0aGUNCj4gcGVybWlzc2lvbnMgaW4gcGVybS4NCj4gIiIiDQo+IA0KPiBJIHRo
aW5rIGZpZHAtPm1vZGUgc2hvdWxkIGJlIHNldCBpbiBoZXJlIHNvbWV3aGVyZSBiYXNlZCBv
biBtb2RlLiAgQW5kDQo+IGBmbGFnc2AgZm9yIGNyZWF0IHNob3VsZCBiZSBkZXJpdmVkIGZy
b20gdGhlIGluY29taW5nIHBlcm1zLg0KDQpZZXMsIEkgYWdyZWUuDQoNCg0KSnVlcmdlbg0K

--------------BCciAmy21nQTsqrVe5apsHUe
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-----

--------------BCciAmy21nQTsqrVe5apsHUe--

--------------heHP9N18alraz5GydgOjX04P--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVJ5AYFAwAAAAAACgkQsN6d1ii/Ey8O
uwf+KRBAb4NNhHu+C/0nPfwkiAqg5DzMElbBwIu67hUppdL2uJZkvpMV1zjml2uBHCyqTUfT/siy
anzu/ZIfQaLWsN8np6RoxA5jRfICIn7HRFk937gXo56Vjfdq1XCjOOgy4Aeob8P+rCBcXAhcQ7/4
RGYvpn5Xri78o//MDwvSYdn2enrYnU8Rj5ZUurCXFVDxFcv7lUQapFSucb/dpHbuxEwyVBmj+Ix5
6bn1cHcqXx8v/CzqzDbFD4pZS85h59u01E+uOCOp8nkoKHQQG9DsM8krnflVeFZlUPkFIObtAri/
wfuygD4NBb7YNMwuHDWo6TtefpOTknDthoOSqhZPSw==
=Azzs
-----END PGP SIGNATURE-----

--------------SYlxQkl5QoF0X29hWkMGoVPV--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 07:50:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 07:50:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628599.980223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0GrD-0001fE-G9; Tue, 07 Nov 2023 07:50:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628599.980223; Tue, 07 Nov 2023 07:50: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 1r0GrD-0001f7-Bw; Tue, 07 Nov 2023 07:50:43 +0000
Received: by outflank-mailman (input) for mailman id 628599;
 Tue, 07 Nov 2023 07:50: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 1r0GrC-0001ex-07; Tue, 07 Nov 2023 07:50: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 1r0GrB-0003Dp-Oy; Tue, 07 Nov 2023 07:50: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 1r0GrB-00020m-Be; Tue, 07 Nov 2023 07:50:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0GrB-0003rc-B9; Tue, 07 Nov 2023 07: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=g6XQrmB3aB6tXIuocArJDi4KqXgS5fL0Gzf+1RoXNRQ=; b=whvCkscAEsevsu7XGkE8PCIpHJ
	0/CKeepJ+oTQJqpSNAKAJ0tLH4bJ7xeL9jfQsD+fpFdFyQcx9rSLsjh8UM6w2D0A4OrSmE011+LY8
	nbVq6eWaniwbbN+TP51THK6i4HcALqcFCA7AtrTNXqWgH0ITmA1bFHeRLOQoFubE43r4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183698-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183698: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-raw: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds: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-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=be3ca57cfb777ad820c6659d52e60bbdd36bf5ff
X-Osstest-Versions-That:
    linux=d2f51b3516dade79269ff45eae2a7668ae711b25
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 07:50:41 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail blocked in 183692
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183692
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183692
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183692
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183692
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183692
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183692
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183692
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     15 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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                be3ca57cfb777ad820c6659d52e60bbdd36bf5ff
baseline version:
 linux                d2f51b3516dade79269ff45eae2a7668ae711b25

Last test of basis   183692  2023-11-06 03:32:37 Z    1 days
Testing same since   183698  2023-11-06 23:42:18 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrey Konovalov <andrey.konovalov@linaro.org>
  Arnd Bergmann <arnd@arndb.de>
  Benjamin Gaignard <benjamin.gaignard@collabora.com>
  Benjamin Mugnier <benjamin.mugnier@foss.st.com> (st-vgxy61)
  Biju Das <biju.das.jz@bp.renesas.com>
  Bingbu Cao <bingbu.cao@intel.com>
  Bryan O'Donoghue <bryan.odonoghue@linaro.org>
  Bryan O'Donoghue <bryan.odonoghue@linaro.org> # rb3 # db410c
  Chen Jiahao <chenjiahao16@huawei.com>
  Chen-Yu Tsai <wenst@chromium.org>
  Chengfeng Ye <dg573847474@gmail.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Colin Ian King <colin.i.king@gmail.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniele Alessandrelli <daniele.alessandrelli@intel.com>
  Dave Stevenson <dave.stevenson@raspberrypi.com>
  Fabio Estevam <festevam@denx.de>
  Fei Shao <fshao@chromium.org>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Guoniu.zhou <guoniu.zhou@nxp.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hao Yao <hao.yao@intel.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Irui Wang <irui.wang@mediatek.com>
  Jacopo Mondi <jacopo.mondi@ideasonboard.com>
  Jai Luthra <j-luthra@ti.com>
  Jean-Michel Hautbois <jeanmichel.hautbois@ideasonboard.com>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jiasheng Jiang <jiasheng@iscas.ac.cn>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Juerg Haefliger <juerg.haefliger@canonical.com>
  Julia Lawall <Julia.Lawall@inria.fr>
  Julien Massot <julien.massot@collabora.com>
  Kate Hsuan <hpa@redhat.com>
  Katya Orlova <e.orlova@ispras.ru>
  Kees Cook <keescook@chromium.org>
  Ken Lin <ken_lin5@hotmail.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Krzysztof Hałasa <khalasa@piap.pl>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Lee Jones <lee@kernel.org>
  Li Zetao <lizetao1@huawei.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Luca Ceresoli <luca.ceresoli@bootlin.com>
  Ma Ke <make_ruc2021@163.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Marek Vasut <marex@denx.de>
  Martin Dørum <dorum@noisolation.com>
  Martin Tůma <martin.tuma@digiteqautomotive.com>
  Marvin Lin <milkfafa@gmail.com>
  Mauro Carvalho Chehab <mchehab@kernel.org>
  Maxime Ripard <mripard@kernel.org>
  Mikhail Rudenko <mike.rudenko@gmail.com>
  Ming Qian <ming.qian@nxp.com>
  Moudy Ho <moudy.ho@mediatek.com>
  Nicolas Ferre <nicolas.ferre@microchip.com>
  Patrick Whewell <patrick.whewell@sightlineapplications.com>
  Paul Kocialkowski <paul.kocialkowski@bootlin.com>
  Pratyush Yadav <p.yadav@ti.com>
  Qingwu Zhang <qingwu.zhang@intel.com>
  Rajeshwar R Shinde <coolrrsh@gmail.com>
  rasheed.hsueh <rasheed.hsueh@lcfc.corp-partner.google.com>
  Reka Norman <rekanorman@chromium.org>
  Ricardo B. Marliere <ricardo@marliere.net>
  Rob Herring <robh@kernel.org>
  Ross Zwisler <zwisler@google.com>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Sakari Ailus <sakari.ailus@linux.intel.com>
  Sean Young <sean@mess.org>
  Shravan Chippa <shravan.chippa@microchip.com>
  Sicelo A. Mhlongo <absicsz@gmail.com>
  Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
  Stefan Adolfsson <sadolfsson@chromium.org>
  Suhrid Subramaniam <suhrid.subramaniam@mediatek.com>
  Takashi Iwai <tiwai@suse.de>
  Tomasz Figa <tfiga@chromium.org>
  Tommaso Merciai <tomm.merciai@gmail.com>
  Umang Jain <umang.jain@ideasonboard.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vaishnav Achath <vaishnav.a@ti.com>
  Vikash Garodia <quic_vgarodia@quicinc.com>
  Wang Ming <machel@vivo.com>
  Wentong Wu <wentong.wu@intel.com>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiaolei Wang <xiaolei.wang@windriver.com>
  Yu Liao <liaoyu15@huawei.com>
  Yue Haibing <yuehaibing@huawei.com>
  Yunfei Dong <yunfei.dong@mediatek.com>
  Zelong Dong <zelong.dong@amlogic.com>
  Zheng Wang <zyytlz.wz@163.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                              starved 
 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-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-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
   d2f51b3516da..be3ca57cfb77  be3ca57cfb777ad820c6659d52e60bbdd36bf5ff -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 08:23:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 08:23:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628612.980233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0HN1-0007ji-CA; Tue, 07 Nov 2023 08:23:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628612.980233; Tue, 07 Nov 2023 08:23: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 1r0HN1-0007jb-97; Tue, 07 Nov 2023 08:23:35 +0000
Received: by outflank-mailman (input) for mailman id 628612;
 Tue, 07 Nov 2023 08:23: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 1r0HN0-0007jV-35
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 08:23: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 1r0HMo-0004Z9-Gt; Tue, 07 Nov 2023 08:23:22 +0000
Received: from gw1.octic.net ([88.97.20.152] 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 1r0HMo-0007zC-BS; Tue, 07 Nov 2023 08:23: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=FU99nNsSKbOGU3acvMAOLvKB1HfvAXlexL0DEQQJpj0=; b=uqkex9Znoo0hTRbkCy74vrtJ6A
	NgWVlFySNMOMMsmG2ZSatjPy3gJn6moyB+L3ZW5ggulDrZYBCEr3xFTmDsZVvP0otRqqIoDhkzB7N
	m7gt0VYmiMiiOiKaUsLk5gPOrRZsUTAMJercLdc9ZjmQ94Wyw9WF3dHD6Ke9m5i/NC14=;
Message-ID: <3ca89630-1625-46cc-b78b-9b9c073ccea3@xen.org>
Date: Tue, 7 Nov 2023 08:23:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Informal voting proposal
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Kelly Choi <kelly.choi@cloud.com>, xen-devel@lists.xenproject.org,
 committers@xenproject.org
References: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com>
 <39e6d4b3-5468-4b91-a030-f36bcce3583d@xen.org>
 <alpine.DEB.2.22.394.2311061254560.3478774@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2311061254560.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 07/11/2023 04:18, Stefano Stabellini wrote:
> On Mon, 6 Nov 2023, Julien Grall wrote:
>> Hi Kelly,
>>
>> On 06/11/2023 16:40, Kelly Choi wrote:
>>> Hi all,
>>>
>>> As an open-source community, there will always be differences of opinion in
>>> approaches and the way we think. It is imperative, however, that we view
>>> this diversity as a source of strength rather than a hindrance.
>>>
>>> Recent deliberations within our project have led to certain matters being
>>> put on hold due to an inability to reach a consensus. While formal voting
>>> procedures serve their purpose, they can be time-consuming and may not
>>> always lead to meaningful progress.
>>>
>>> Having received agreement from a few maintainers already, I would like to
>>> propose the following:
>>
>> Thanks for the sending the proposal. While I like the idea of informal vote to
>> move faster, I would like to ask some clarifications.
>>
>>> *Informal voting method:*
>>>
>>>      1. Each project should ideally have more than 2 maintainers to
>>>      facilitate impartial discussions. Projects lacking this configuration
>>> will
>>>      be addressed at a later stage.
>>>      2. Anyone in the community is welcome to voice their opinions, ideas,
>>>      and concerns about any patch or contribution.
>>>      3. If members cannot agree, the majority informal vote of the
>>>      maintainers will be the decision that stands. For instance, if, after
>>>      careful consideration of all suggestions and concerns, 2 out of 3
>>>      maintainers endorse a solution within the x86 subsystem, it shall be the
>>>      decision we move forward with.
>>
>> How do you know that all the options have been carefully considered?
> 
> I don't think there is a hard rule on this. We follow the discussion on > the list the same way as we do today.

To me the fact we need to write down the informal rules means that 
something already gone wrong before. So I feel that rules should be 
unambiguous to avoid any problem afterwards.

> 
> While I like the informal vote proposal and effectively we have already
> been following it in many areas of the project, I don't think we should
> change the current processes from that point of view.

I am confused. Are you suggesting that we should not write down how 
informal votes works?

> 
> 
>>>      4. Naturally, there may be exceptional circumstances, as such, a formal
>>>      vote may be warranted but should happen only a few times a year for
>>> serious
>>>      cases only.
>> Similarly here, you are suggesting that a formal vote can be called. But it is
>> not super clear what would be the condition it could be used and how it can be
>> called.
> 
> The formal vote is basically the same we already have today. It would
> follow the existing voting rules and guidelines already part of the
> governance.

Reading through the governance, I couldn't find anywhere indicating in 
which condition the formal votes can be triggered. Hence my question here.

>> For instance, per the informal rule, if 2 out of 3 maintainers accept. Then it
>> would be sensible for the patch to be merged as soon as the 5 days windows is
>> closed. Yet the 3rd maintainer technically object it. So could that maintainer
>> request a formal vote? If so, how long do they have?
> 
> It is difficult to write down a process that works in all cases, and if
> we did it would probably end up being slower rather than faster.
> 
> In my view if someone doesn't agree with his other co-maintainers and he
> is outvoted (e.g. 2/3 of the maintainers prefer a different option), the
> individual is entitled to raise a request for a vote with the
> committers, which is the same as we already have today.
> 
> Ideally a formal vote would be rare, maybe once or twice a year, so I
> hope we won't need to optimize the formal vote.

Ok. So the expectation is that all the maintainers will accept the 
informal votes in the majority of the cases. If this is not the case, 
then we will revise the rules. Is that correct?

>>>      5. Informal votes can be as easy as 2 out of 3 maintainers providing
>>>      their Acked-by/Reviewed-by tag. Alternatively, Maintainers can call an
>>>      informal vote by simply emailing the thread with "informal vote
>>> proposed,
>>>      option 1 and option 2."
>>>      6. *All maintainers should reply with their vote within 5 working days.*
>>
>> While I understand we want to move fast, this means that a maintainer that is
>> away for PTO would not have the opportunity to answer.
> 
> PTO is a bit of a special case because we typically know when one of the
> maintainers is on PTO. If it is a short PTO and if the vacationing
> maintainer could have a strong opinion on the subject then it would make
> sense to wait. If it is a long leave of absence (several weeks or
> months) then I don't think we can wait.
> 
> So I think the 5 working days is OK as a rule of thumb, but of course it
> shouldn't be used to work around objections of a maintainer by waiting
> for him to go on holiday :-)

Well... It has been done before ;). That's why I think it is important 
to write down because at least it is not left to interpretation.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 08:36:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 08:36:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628616.980243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0HZS-0001om-F0; Tue, 07 Nov 2023 08:36:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628616.980243; Tue, 07 Nov 2023 08:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0HZS-0001of-Bx; Tue, 07 Nov 2023 08:36:26 +0000
Received: by outflank-mailman (input) for mailman id 628616;
 Tue, 07 Nov 2023 08:36: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0HZQ-0001oW-CW
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 08:36:24 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba1e10eb-7d48-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 09:36:21 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 86CC84EE0C81;
 Tue,  7 Nov 2023 09:36:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba1e10eb-7d48-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Tue, 07 Nov 2023 09:36:15 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH][for-4.19] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <ef60f721-f784-4595-8866-e1c57da7e48f@xen.org>
References: <334b360fada7177e0b6e074fbdd33e02ce186b8f.1699034672.git.nicola.vetrini@bugseng.com>
 <ef60f721-f784-4595-8866-e1c57da7e48f@xen.org>
Message-ID: <bb40675e3372abf264dcd63d0d64d476@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-06 23:57, Julien Grall wrote:
> Hi Nicola,
> 
> On 03/11/2023 18:05, Nicola Vetrini wrote:
>> The comment-based justifications for MISRA C:2012 Rule 8.4 are 
>> replaced
>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>> The deviation with a comment based on the SAF framework is also
>> mentioned as a last resort.
> 
> I don't see any reason to keep SAF-1 after this patch. So can this be 
> removed?
> 

In documenting-violations.rst it's stated:
"Entries in the database shall never be removed, even if they are not 
used
anymore in the code (if a patch is removing or modifying the faulty 
line).
This is to make sure that numbers are not reused which could lead to 
conflicts
with old branches or misleading justifications."

that's why I kept SAF-1 in the safe.json file and added the remark about 
it
being a last resort. I am ok with that remark becoming not to use SAF-1 
in new code
at all (I probably didn't go back to check your reply when writing the 
patch).

>> 
>> Add missing 'xen/compiler.h' #include-s where needed.
>> 
>> The text in docs/misra/deviations.rst is modified to reflect this 
>> change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>   docs/misra/deviations.rst   |  6 +++---
>>   xen/arch/arm/cpuerrata.c    |  7 +++----
>>   xen/arch/arm/setup.c        |  5 ++---
>>   xen/arch/arm/smpboot.c      |  3 +--
>>   xen/arch/arm/traps.c        | 21 +++++++--------------
>>   xen/arch/x86/boot/cmdline.c |  5 +++--
>>   xen/arch/x86/boot/reloc.c   |  7 ++++---
>>   xen/arch/x86/extable.c      |  3 +--
>>   xen/arch/x86/setup.c        |  3 +--
>>   xen/arch/x86/traps.c        | 27 +++++++++------------------
>>   xen/common/efi/boot.c       |  5 ++---
>>   11 files changed, 36 insertions(+), 56 deletions(-)
>> 
>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>> index d468da2f5ce9..ed5d36c08647 100644
>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -134,9 +134,9 @@ Deviations related to MISRA C:2012 Rules:
>>        - Tagged as `safe` for ECLAIR.
>>        * - R8.4
>> -     - Functions and variables used only by asm modules are either 
>> marked with
>> -       the `asmlinkage` macro or with a SAF-1-safe textual deviation
>> -       (see safe.json).
> 
> I thought we agreed to a different wording [1]. So is this really based 
> on last version?
> 
>> +     - Functions and variables used only to interface with asm 
>> modules should
>> +       be marked with the `asmlinkage` macro. If that's not possible, 
>> consider
>> +       using the SAF-1-safe textual deviation (see safe.json).
> 
> See above. Actually, I am a bit surprised that SAF-1 is still mentioned 
> given that I have now requested multiple that it should be removed and 
> I haven't yet seen a reason to keep it.
> 
> Cheers,
> 
> [1] 
> https://lore.kernel.org/all/b914ac93-2499-4bfd-a60a-51a9f1c170ec@xen.org/

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:15:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:15:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628624.980253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IAx-0008Tw-BG; Tue, 07 Nov 2023 09:15:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628624.980253; Tue, 07 Nov 2023 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 1r0IAx-0008Tp-7y; Tue, 07 Nov 2023 09:15:11 +0000
Received: by outflank-mailman (input) for mailman id 628624;
 Tue, 07 Nov 2023 09:15: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=tjAr=GU=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r0IAu-0008Tj-UN
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:15:09 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23f4dd9d-7d4e-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 10:15:06 +0100 (CET)
Received: from CY8P220CA0013.NAMP220.PROD.OUTLOOK.COM (2603:10b6:930:46::9) by
 DM6PR12MB4043.namprd12.prod.outlook.com (2603:10b6:5:216::14) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.28; Tue, 7 Nov 2023 09:15:03 +0000
Received: from CY4PEPF0000E9DB.namprd05.prod.outlook.com
 (2603:10b6:930:46:cafe::e2) by CY8P220CA0013.outlook.office365.com
 (2603:10b6:930:46::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29 via Frontend
 Transport; Tue, 7 Nov 2023 09:15:03 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9DB.mail.protection.outlook.com (10.167.241.81) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Tue, 7 Nov 2023 09:15:02 +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.2507.32; Tue, 7 Nov
 2023 03:15:01 -0600
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.2507.32; Tue, 7 Nov
 2023 03:14:43 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32
 via Frontend Transport; Tue, 7 Nov 2023 03:14:41 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23f4dd9d-7d4e-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g4ndbjnbgk980dgrmTXQG05AyIrr/P5C9CoM1ZCsux+y7UCFsVnIMluokYvH7wl5PdMpp5a64iKeshhs7V2vK2iQpWjrzStJajpOWJbg50cdHSfqF3kjf15YY2HZYdKIHrpPedM3ZuC8uoRI2n3e7K5UEhLE68PrxHXIbvXDHiLHsyy4rjR+/BvjaRRHGZlDgusWnwymrxc+gr33kemwukqKNe3ukNKJHKYRLnR0+tF2Hyo2cKAD5gT1YW/aW9CS3Dk3BqrwOyd9EYlCJSnPMMh5AXXS8jg69FHNhbXB17g1iLiWaEiH8CtNXUPpFdGnd+8Bsrp2DJoLvPYd/1YVqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DjS8PUvMoyk/GGe8HZDq/JIIKYhL8ZZdZRfEE4IxtYk=;
 b=dlDbrptvN2T1t4Wqx0t52KzTwuL75REllGUa64GLohO3gwure6K95xuX6KMd4iC7wj46beLIBrf5W4WjgtgoQpJhbGMYSbIT8zCz5cb2yNzHPKTSCSH6COFx9AEy6HX9IKepjrkyWJNmv/vaucY02bGtd9vD9GsSl2pB2lbLp3pQE6H94zPL3cqbfEwcavVNgHdK3AJWxxCFzqPi1rJ6Elhpa8PWmlHIEfjlgtTlVhWJEKxvsK7FyB5qtxaDu9lf8O4woc+o49p/opVIuKSLi4obEK3AHoSO5Ymj1YQtVtMjHYm9LRNluA6tN095mQLsvgMeMlgW7milKMH8hPLimw==
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 (0)
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=DjS8PUvMoyk/GGe8HZDq/JIIKYhL8ZZdZRfEE4IxtYk=;
 b=Xpiy/TbsNfEOAMEw2UKXtDUy/tAKtzEs1mkueFZ13UqtjLhhWylaLp5toUWoXOeNSMlDufYAk6pxF4on7mXB+G9X52EoLawhwKUx+tZGda4EXEsi9xzjfjvGBxLqGvE4ffFxViQweiXyt6s46l4cx+0WcKBbLPHMuc5iFtbUE/0=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.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] ubsan: Fix pointer overflow error message
Date: Tue, 7 Nov 2023 10:14:17 +0100
Message-ID: <20231107091417.34159-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DB:EE_|DM6PR12MB4043:EE_
X-MS-Office365-Filtering-Correlation-Id: 44bd74e2-ee25-4976-ac6c-08dbdf720652
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	C5CzIEC/gT5loj68mtJ4U3Ptl2hv+j4G7qj9f52cAxwupRltapRPucnDAFgIU2/OftX1+sWSaFiCBzcuwSXfMqjt6m+WYsryF1jcPv2eRRbiQcaovZ/+KW2AiJOr6jt/VK/aPB/ao4uLDZjySkxLV6p9nwpA+ivXP5eY0lcoqrdXOkoDocnTeI1YBv5LYzy4IQ6FA1v+T993UdktreXBOq5k+L/uYPheLFcNBKghiIb1sxy2igvAXOEbwms3qQJtuePZC+Iryy0vRqDlaOmS+1KElwK45cMWvfNdeaBe//AkpCIEw5uafgoe7rrWlHChIuF7xfz5RV3B3vK+SolPuEJ+uDkuOYYiaSKzmUnOLXv9nwax96M9ctnS17AFOTiAeDXFKeTUsKbXCJuNHW2Ld6ZzB9d2tLpkXWVN5FaOuK4NOW77iKcdbMPA63FNQOLGpRf+Nug5PVgddshHz3RQx0ZrmhAFrZPVVU/YQ5NeIa7zlalwhq9IqJuDG6hXHNK7/t2w0JOkJssOeMsq43uWYaIv8/VYoHP4YI5GNKbazVXQa3pQLuI1Se5F2YAA4p5l2Qbpq84WZOAdY3+aNtO1yP5ie+8jVwIsM1vCcoFu/ihh47ShQNlmI730rk57l0BX6V682lBmx+sfWuJbPd/sJdpK5depOLy8+LRNQmKtcTmqCSwXjZHmlltZp0xbovy1xpnGr/284J8xycl83m1JV7n8chd9dkpIN+Qfs+VOQi38QzJpeRtA3wmhUV1u5dMrAV4AwMPEcLUF2Idcf6Ba+A==
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:(13230031)(4636009)(396003)(136003)(39860400002)(346002)(376002)(230922051799003)(451199024)(1800799009)(64100799003)(82310400011)(186009)(40470700004)(36840700001)(46966006)(8676002)(41300700001)(6916009)(8936002)(36756003)(4326008)(40480700001)(2906002)(36860700001)(5660300002)(356005)(54906003)(316002)(86362001)(44832011)(47076005)(81166007)(426003)(70586007)(70206006)(83380400001)(336012)(40460700003)(26005)(82740400003)(2616005)(1076003)(6666004)(478600001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 09:15:02.7310
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 44bd74e2-ee25-4976-ac6c-08dbdf720652
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:
	CY4PEPF0000E9DB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4043

In __ubsan_handle_pointer_overflow(), fix the condition for determining
whether a pointer operation overflowed or underflowed. Currently, the
function reports "underflowed" when it should be reporting "overflowed"
and vice versa.

Example of incorrect error reporting:
void *foo = (void *)__UINTPTR_MAX__;
foo += 1;

UBSAN:
pointer operation underflowed ffffffff to 00000000

Fixes: 4e3fb2fb47d6 ("ubsan: add clang 5.0 support")
Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/common/ubsan/ubsan.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/ubsan/ubsan.c b/xen/common/ubsan/ubsan.c
index 0fddacabda6a..a3a80fa99eec 100644
--- a/xen/common/ubsan/ubsan.c
+++ b/xen/common/ubsan/ubsan.c
@@ -513,7 +513,7 @@ void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data,
 	ubsan_prologue(&data->location, &flags);
 
 	pr_err("pointer operation %s %p to %p\n",
-	       base > result ? "underflowed" : "overflowed",
+	       base > result ? "overflowed" : "underflowed",
 	       _p(base), _p(result));
 
 	ubsan_epilogue(&flags);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628629.980267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHq-0001Z9-7v; Tue, 07 Nov 2023 09:22:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628629.980267; Tue, 07 Nov 2023 09:22: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 1r0IHq-0001Y5-4T; Tue, 07 Nov 2023 09:22:18 +0000
Received: by outflank-mailman (input) for mailman id 628629;
 Tue, 07 Nov 2023 09:22: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHp-0001Vh-5T
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:17 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23fb82cd-7d4f-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 10:22:15 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHN-00BPkW-UH; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHO-001hKg-0o; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 23fb82cd-7d4f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=kWdbDjeYz0afnZnwtIhprW3R32uFeN2KMkLsabrtTH8=; b=Cw1GeOn4kpo8cW2cKosb3qe9MO
	dyfGbnQtiq55C/Sw5Cvina+fKES9cSV1XfsFJKhXJ8bfrclHP+3L26I7mgvzz36dYJllEEnQVMFsF
	HoV0m5bq0JsQl3wDWE5ikNkzgPrAOk2jazWS6AWFEzKvMquaosPtu882fXTRAIxIGqEUyNlJ36lK8
	73fT2RuvI8EN9w/U/J7MLWSnVhqkU01k8NGlVQJcCpkFdGpvaMLJAoJ3YqsH3oyip60Pp8NsU4Znu
	kxLCpOt+uhIAe47HC6/wZ/m+fAP8JC3j4vMJILoOf02sh1d0Nu5BWz4neZVPHvWNLeYVLXgUeQCiN
	hD6B72zA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 13/15] hw/i386/pc: support '-nic' for xen-net-device
Date: Tue,  7 Nov 2023 09:21:45 +0000
Message-ID: <20231107092149.404842-14-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The default NIC creation seems a bit hackish to me. I don't understand
why each platform has to call pci_nic_init_nofail() from a point in the
code where it actually has a pointer to the PCI bus, and then we have
the special cases for things like ne2k_isa.

If qmp_device_add() can *find* the appropriate bus and instantiate
the device on it, why can't we just do that from generic code for
creating the default NICs too?

But that isn't a yak I want to shave today. Add a xenbus field to the
PCMachineState so that it can make its way from pc_basic_device_init()
to pc_nic_init() and be handled as a special case like ne2k_isa is.

Now we can launch emulated Xen guests with '-nic user'.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/pc.c             | 11 ++++++++---
 hw/i386/pc_piix.c        |  2 +-
 hw/i386/pc_q35.c         |  2 +-
 hw/xen/xen-bus.c         |  4 +++-
 include/hw/i386/pc.h     |  4 +++-
 include/hw/xen/xen-bus.h |  2 +-
 6 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 1aef21aa2c..188bc9d0f8 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1261,7 +1261,7 @@ void pc_basic_device_init(struct PCMachineState *pcms,
         if (pcms->bus) {
             pci_create_simple(pcms->bus, -1, "xen-platform");
         }
-        xen_bus_init();
+        pcms->xenbus = xen_bus_init();
         xen_be_init();
     }
 #endif
@@ -1289,7 +1289,8 @@ void pc_basic_device_init(struct PCMachineState *pcms,
                     pcms->vmport != ON_OFF_AUTO_ON);
 }
 
-void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus)
+void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
+                 BusState *xen_bus)
 {
     MachineClass *mc = MACHINE_CLASS(pcmc);
     int i;
@@ -1299,7 +1300,11 @@ void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus)
         NICInfo *nd = &nd_table[i];
         const char *model = nd->model ? nd->model : mc->default_nic;
 
-        if (g_str_equal(model, "ne2k_isa")) {
+        if (xen_bus && (!nd->model || g_str_equal(model, "xen-net-device"))) {
+            DeviceState *dev = qdev_new("xen-net-device");
+            qdev_set_nic_properties(dev, nd);
+            qdev_realize_and_unref(dev, xen_bus, &error_fatal);
+        } else if (g_str_equal(model, "ne2k_isa")) {
             pc_init_ne2k_isa(isa_bus, nd);
         } else {
             pci_nic_init_nofail(nd, pci_bus, model, NULL);
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index 26e161beb9..eace854335 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -342,7 +342,7 @@ static void pc_init1(MachineState *machine,
     pc_basic_device_init(pcms, isa_bus, x86ms->gsi, rtc_state, true,
                          0x4);
 
-    pc_nic_init(pcmc, isa_bus, pci_bus);
+    pc_nic_init(pcmc, isa_bus, pci_bus, pcms->xenbus);
 
     if (pcmc->pci_enabled) {
         pc_cmos_init(pcms, idebus[0], idebus[1], rtc_state);
diff --git a/hw/i386/pc_q35.c b/hw/i386/pc_q35.c
index 597943ff1b..4f3e5412f6 100644
--- a/hw/i386/pc_q35.c
+++ b/hw/i386/pc_q35.c
@@ -340,7 +340,7 @@ static void pc_q35_init(MachineState *machine)
 
     /* the rest devices to which pci devfn is automatically assigned */
     pc_vga_init(isa_bus, host_bus);
-    pc_nic_init(pcmc, isa_bus, host_bus);
+    pc_nic_init(pcmc, isa_bus, host_bus, pcms->xenbus);
 
     if (machine->nvdimms_state->is_enabled) {
         nvdimm_init_acpi_state(machine->nvdimms_state, system_io,
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index cc6f1b362f..4973e7d9c9 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1133,11 +1133,13 @@ static void xen_register_types(void)
 
 type_init(xen_register_types)
 
-void xen_bus_init(void)
+BusState *xen_bus_init(void)
 {
     DeviceState *dev = qdev_new(TYPE_XEN_BRIDGE);
     BusState *bus = qbus_new(TYPE_XEN_BUS, dev, NULL);
 
     sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
     qbus_set_bus_hotplug_handler(bus);
+
+    return bus;
 }
diff --git a/include/hw/i386/pc.h b/include/hw/i386/pc.h
index 29a9724524..a10ceeabbf 100644
--- a/include/hw/i386/pc.h
+++ b/include/hw/i386/pc.h
@@ -33,6 +33,7 @@ typedef struct PCMachineState {
 
     /* Pointers to devices and objects: */
     PCIBus *bus;
+    BusState *xenbus;
     I2CBus *smbus;
     PFlashCFI01 *flash[2];
     ISADevice *pcspk;
@@ -184,7 +185,8 @@ void pc_basic_device_init(struct PCMachineState *pcms,
 void pc_cmos_init(PCMachineState *pcms,
                   BusState *ide0, BusState *ide1,
                   ISADevice *s);
-void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus);
+void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
+                 BusState *xen_bus);
 
 void pc_i8259_create(ISABus *isa_bus, qemu_irq *i8259_irqs);
 
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 38d40afa37..334ddd1ff6 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -75,7 +75,7 @@ struct XenBusClass {
 OBJECT_DECLARE_TYPE(XenBus, XenBusClass,
                     XEN_BUS)
 
-void xen_bus_init(void);
+BusState *xen_bus_init(void);
 
 void xen_device_backend_set_state(XenDevice *xendev,
                                   enum xenbus_state state);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628631.980293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHt-0002G6-0C; Tue, 07 Nov 2023 09:22:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628631.980293; Tue, 07 Nov 2023 09: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 1r0IHs-0002Fv-R4; Tue, 07 Nov 2023 09:22:20 +0000
Received: by outflank-mailman (input) for mailman id 628631;
 Tue, 07 Nov 2023 09: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHr-0001o6-1B
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:19 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2129bb3a-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:11 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHO-00BPkQ-0G; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHO-001hKY-0Q; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 2129bb3a-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=1KT9EULamfGWBsDbQCRvMfNeVSOXCHwthAZFU3QSF2E=; b=nbPbET+ogzyS0Nszl9tIDztYOj
	B/OU8h2bqLiUnu94ilTwo/+fK7IR9doLaLgwcjRy292B/+45UEjyQk67tfAFY5uD36tnBGkasZdpU
	Wx9rN7LgcUol65nup1uegyTPZKo/T2OvOn8iOVDvCuIm/BfL4qfUW9HVO97+pkN8oWh7mxv3ORqZS
	yJdtlw1Yn8Akc+iEbkNXeNQA/Ei6L17GAf5n2RwDcIMFoYSoqsgrMGyuZR7LQDUZVvwIFv+c4VnJw
	12BRdeKBTxvI5AW3/T8tY4fnqLH1EhtFmnCcAz7WquKg515Mx6DJILhWwWBPjuehtrndjyZ77G1z4
	CYQY/2fQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 11/15] hw/xen: only remove peers of PCI NICs on unplug
Date: Tue,  7 Nov 2023 09:21:43 +0000
Message-ID: <20231107092149.404842-12-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

When the Xen guest asks to unplug *emulated* NICs, it's kind of unhelpful
also to unplug the peer of the *Xen* PV NIC.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/xen/xen_platform.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index 17457ff3de..e2dd1b536a 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -140,9 +140,14 @@ static void unplug_nic(PCIBus *b, PCIDevice *d, void *o)
 /* Remove the peer of the NIC device. Normally, this would be a tap device. */
 static void del_nic_peer(NICState *nic, void *opaque)
 {
-    NetClientState *nc;
+    NetClientState *nc = qemu_get_queue(nic);
+    ObjectClass *klass = module_object_class_by_name(nc->model);
+
+    /* Only delete peers of PCI NICs that we're about to delete */
+    if (!klass || !object_class_dynamic_cast(klass, TYPE_PCI_DEVICE)) {
+        return;
+    }
 
-    nc = qemu_get_queue(nic);
     if (nc->peer)
         qemu_del_net_client(nc->peer);
 }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628630.980283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHr-0001zw-IB; Tue, 07 Nov 2023 09:22:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628630.980283; Tue, 07 Nov 2023 09:22: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 1r0IHr-0001zm-Dx; Tue, 07 Nov 2023 09:22:19 +0000
Received: by outflank-mailman (input) for mailman id 628630;
 Tue, 07 Nov 2023 09:22: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHq-0001Vh-0H
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:18 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 24892248-7d4f-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 10:22:16 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHO-00BPkY-3C; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHO-001hKo-19; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 24892248-7d4f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=YJV5o104qjauuiRqcLLaaBRiRTHcW4la7jnMKfwf+K4=; b=cXL8LypY6rlFsaV56+e/DjbVqU
	RoQUR6lbnGbrqsclyoZC+HYzegiv3pFjFQCZ7gU1ug+xOoRcxJP3Jr9OOK+SfkppcR9DD7sHeC+SN
	wjm1KPuYqZNv/VLy9SXZY5IF9fqUMwNebr0vQlGypMe3zYjRc9oiPNycttxsNL4IZd8/ADWGaEeSE
	dWJg+EL41yAVH6MXSwbteq9Ap45i+71y9TTtGb+V+pX2DyOlmPVLdgizOivb2ajAMP2irEh/yb0w6
	GLxqgwCm40NU5OBiXq/u8G4vv7N+HssHaZXqAtZjQpL3Owh2OMm9N0oGg4KWw/eWtAWh4+4MZyE20
	rPtyB4cQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 15/15] docs: update Xen-on-KVM documentation
Date: Tue,  7 Nov 2023 09:21:47 +0000
Message-ID: <20231107092149.404842-16-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Add notes about console and network support, and how to launch PV guests.
Clean up the disk configuration examples now that that's simpler, and
remove the comment about IDE unplug on q35/AHCI now that it's fixed.

Update the -initrd option documentation to explain how to quote commas
in module command lines, and reference it when documenting PV guests.

Also update stale avocado test filename in MAINTAINERS.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 MAINTAINERS              |   2 +-
 docs/system/i386/xen.rst | 107 +++++++++++++++++++++++++++++----------
 qemu-options.hx          |  12 ++++-
 3 files changed, 90 insertions(+), 31 deletions(-)

diff --git a/MAINTAINERS b/MAINTAINERS
index 59b92ee640..fd6b362311 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -490,7 +490,7 @@ S: Supported
 F: include/sysemu/kvm_xen.h
 F: target/i386/kvm/xen*
 F: hw/i386/kvm/xen*
-F: tests/avocado/xen_guest.py
+F: tests/avocado/kvm_xen_guest.py
 
 Guest CPU Cores (other accelerators)
 ------------------------------------
diff --git a/docs/system/i386/xen.rst b/docs/system/i386/xen.rst
index f06765e88c..81898768ba 100644
--- a/docs/system/i386/xen.rst
+++ b/docs/system/i386/xen.rst
@@ -15,46 +15,24 @@ Setup
 -----
 
 Xen mode is enabled by setting the ``xen-version`` property of the KVM
-accelerator, for example for Xen 4.10:
+accelerator, for example for Xen 4.17:
 
 .. parsed-literal::
 
-  |qemu_system| --accel kvm,xen-version=0x4000a,kernel-irqchip=split
+  |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split
 
 Additionally, virtual APIC support can be advertised to the guest through the
 ``xen-vapic`` CPU flag:
 
 .. parsed-literal::
 
-  |qemu_system| --accel kvm,xen-version=0x4000a,kernel-irqchip=split --cpu host,+xen_vapic
+  |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split --cpu host,+xen-vapic
 
 When Xen support is enabled, QEMU changes hypervisor identification (CPUID
 0x40000000..0x4000000A) to Xen. The KVM identification and features are not
 advertised to a Xen guest. If Hyper-V is also enabled, the Xen identification
 moves to leaves 0x40000100..0x4000010A.
 
-The Xen platform device is enabled automatically for a Xen guest. This allows
-a guest to unplug all emulated devices, in order to use Xen PV block and network
-drivers instead. Under Xen, the boot disk is typically available both via IDE
-emulation, and as a PV block device. Guest bootloaders typically use IDE to load
-the guest kernel, which then unplugs the IDE and continues with the Xen PV block
-device.
-
-This configuration can be achieved as follows
-
-.. parsed-literal::
-
-  |qemu_system| -M pc --accel kvm,xen-version=0x4000a,kernel-irqchip=split \\
-       -drive file=${GUEST_IMAGE},if=none,id=disk,file.locking=off -device xen-disk,drive=disk,vdev=xvda \\
-       -drive file=${GUEST_IMAGE},index=2,media=disk,file.locking=off,if=ide
-
-It is necessary to use the pc machine type, as the q35 machine uses AHCI instead
-of legacy IDE, and AHCI disks are not unplugged through the Xen PV unplug
-mechanism.
-
-VirtIO devices can also be used; Linux guests may need to be dissuaded from
-umplugging them by adding 'xen_emul_unplug=never' on their command line.
-
 Properties
 ----------
 
@@ -63,7 +41,10 @@ The following properties exist on the KVM accelerator object:
 ``xen-version``
   This property contains the Xen version in ``XENVER_version`` form, with the
   major version in the top 16 bits and the minor version in the low 16 bits.
-  Setting this property enables the Xen guest support.
+  Setting this property enables the Xen guest support. If Xen version 4.5 or
+  greater is specified, the HVM leaf in Xen CPUID is populated. Xen version
+  4.6 enables the vCPU ID in CPUID, and version 4.17 advertises vCPU upcall
+  vector support to the guest.
 
 ``xen-evtchn-max-pirq``
   Xen PIRQs represent an emulated physical interrupt, either GSI or MSI, which
@@ -83,8 +64,78 @@ The following properties exist on the KVM accelerator object:
   through simultaneous grants. For guests with large numbers of PV devices and
   high throughput, it may be desirable to increase this value.
 
-OS requirements
----------------
+Xen paravirtual devices
+-----------------------
+
+The Xen PCI platform device is enabled automatically for a Xen guest. This
+allows a guest to unplug all emulated devices, in order to use paravirtual
+block and network drivers instead.
+
+Those paravirtual Xen block, network (and console) devices can be created
+through the command line, and/or hot-plugged.
+
+To provide a Xen console device, define a character device and then a device
+of type ``xen-console`` to connect to it. For the Xen console equivalent of
+the handy ``-serial mon:stdio`` option, for example:
+
+.. parsed-literal::
+   -chardev stdio,mux=on,id=char0,signal=off -mon char0 \\
+   -device xen-console,chardev=char0
+
+The Xen network device is ``xen-net-device``, which becomes the default NIC
+model for emulated Xen guests, meaning that just the default NIC provided
+by QEMU should automatically work and present a Xen network device to the
+guest.
+
+Disks can be configured with '``-drive file=${GUEST_IMAGE},if=xen``' and will
+appear to the guest as ``xvda`` onwards.
+
+Under Xen, the boot disk is typically available both via IDE emulation, and
+as a PV block device. Guest bootloaders typically use IDE to load the guest
+kernel, which then unplugs the IDE and continues with the Xen PV block device.
+
+This configuration can be achieved as follows:
+
+.. parsed-literal::
+
+  |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split \\
+       -drive file=${GUEST_IMAGE},if=xen \\
+       -drive file=${GUEST_IMAGE},file.locking=off,if=ide
+
+VirtIO devices can also be used; Linux guests may need to be dissuaded from
+umplugging them by adding '``xen_emul_unplug=never``' on their command line.
+
+Booting Xen PV guests
+---------------------
+
+Booting PV guest kernels is possible by using the Xen PV shim (a version of Xen
+itself, designed to run inside a Xen HVM guest and provide memory management
+services for one guest alone).
+
+The Xen binary is provided as the ``-kernel`` and the guest kernel itself (or
+PV Grub image) as the ``-initrd`` image, which actually just means the first
+multiboot "module". For example:
+
+.. parsed-literal::
+
+  |qemu_system| --accel kvm,xen-version=0x40011,kernel-irqchip=split \\
+       -chardev stdio,id=char0 -device xen-console,chardev=char0 \\
+       -display none  -m 1G  -kernel xen -initrd bzImage \\
+       -append "pv-shim console=xen,pv -- console=hvc0 root=/dev/xvda1" \\
+       -drive file=${GUEST_IMAGE},if=xen
+
+The Xen image must be built with the ``CONFIG_XEN_GUEST`` and ``CONFIG_PV_SHIM``
+options, and as of Xen 4.17, Xen's PV shim mode does not support using a serial
+port; it must have a Xen console or it will panic.
+
+The example above provides the guest kernel command line after a separator
+(" ``--`` ") on the Xen command line, and does not provide the guest kernel
+with an actual initramfs, which would need to listed as a second multiboot
+module. For more complicated alternatives, see the command line
+documentation for the ``-initrd`` option.
+
+Host OS requirements
+--------------------
 
 The minimal Xen support in the KVM accelerator requires the host to be running
 Linux v5.12 or newer. Later versions add optimisations: Linux v5.17 added
diff --git a/qemu-options.hx b/qemu-options.hx
index 7809036d8c..3eee3c33eb 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -3986,14 +3986,22 @@ ERST
 DEF("initrd", HAS_ARG, QEMU_OPTION_initrd, \
            "-initrd file    use 'file' as initial ram disk\n", QEMU_ARCH_ALL)
 SRST
+
 ``-initrd file``
     Use file as initial ram disk.
 
 ``-initrd "file1 arg=foo,file2"``
     This syntax is only available with multiboot.
 
-    Use file1 and file2 as modules and pass arg=foo as parameter to the
-    first module.
+    Use file1 and file2 as modules and pass ``arg=foo`` as parameter to the
+    first module. Commas can be provided in module parameters by doubling
+    them on the command line to escape them:
+
+``-initrd "bzImage earlyprintk=xen,,keep root=/dev/xvda1,initrd.img"``
+    Multiboot only. Use bzImage as the first module with
+    "``earlyprintk=xen,keep root=/dev/xvda1``" as its command line,
+    and initrd.img as the second module.
+
 ERST
 
 DEF("dtb", HAS_ARG, QEMU_OPTION_dtb, \
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628628.980262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHp-0001Vz-Vt; Tue, 07 Nov 2023 09:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628628.980262; Tue, 07 Nov 2023 09:22: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 1r0IHp-0001Vs-TM; Tue, 07 Nov 2023 09:22:17 +0000
Received: by outflank-mailman (input) for mailman id 628628;
 Tue, 07 Nov 2023 09:22: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHo-0001Vh-BU
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:16 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 236425a0-7d4f-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 10:22:15 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHN-00BPkN-EV; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHN-001hK6-2O; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 236425a0-7d4f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=Y5nSkWJw65PHeAdiBedCwu3yPseNBbhZrt6JYWluBCc=; b=cObvXjOX3/RyB6nEUD8NqAqbho
	39j7fyu3Hl8bNr15LpLDYX0ZGxtwHXjjV+NdfnWKC7CY9oyEehxXZqySY42QsnXQslNle+nxsQfb5
	pnh74iKyjXT+C60fLp7KpqsOB5oSZ1bDgGqQezRHHSNcdpUcShuVmd0GcIcn98KvP6Ewf+dGJ47RA
	g2p+0NOE3xCOBKvASAEP2cZ0hivbriWRBXT5LyLFXSzeKQIzs3gB2bGDGo54HGv7E3wHDNvV2w27h
	2NDVdMQ3EwxitW4Vm7lKwG0aSt1I6OIYLSUwbOovEGtv6Hlx9XaqCH9mUkh6JNLa2WtzxDH/LWKQ5
	5N64zJsg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 04/15] i386/xen: advertise XEN_HVM_CPUID_UPCALL_VECTOR in CPUID
Date: Tue,  7 Nov 2023 09:21:36 +0000
Message-ID: <20231107092149.404842-5-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

This will allow Linux guests (since v6.0) to use the per-vCPU upcall
vector delivered as MSI through the local APIC.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 target/i386/kvm/kvm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 770e81d56e..11b8177eff 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -1837,6 +1837,10 @@ int kvm_arch_init_vcpu(CPUState *cs)
                 c->eax |= XEN_HVM_CPUID_VCPU_ID_PRESENT;
                 c->ebx = cs->cpu_index;
             }
+
+            if (cs->kvm_state->xen_version >= XEN_VERSION(4, 17)) {
+                c->eax |= XEN_HVM_CPUID_UPCALL_VECTOR;
+            }
         }
 
         r = kvm_xen_init_vcpu(cs);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628632.980298 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHt-0002JY-Ay; Tue, 07 Nov 2023 09:22:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628632.980298; Tue, 07 Nov 2023 09:22: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 1r0IHt-0002IH-4S; Tue, 07 Nov 2023 09:22:21 +0000
Received: by outflank-mailman (input) for mailman id 628632;
 Tue, 07 Nov 2023 09:22: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHr-0001Vh-3F
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:19 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25737f0f-7d4f-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 10:22:18 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHN-00BPkL-8r; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHN-001hJy-1u; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 25737f0f-7d4f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=ldaWM+gDHfd6Xp3v91LJNro28chXyp7v9vtW0DR3dbc=; b=gouk68fGVvphc3/EDuizxqyQeK
	cxUOdHrGYObAyuFtxTt/yJnJgqnlKCdULHugUzAYTDZgle8QVMO2s5PbzF7JS6zAud0GoU959sQBV
	UTKwzvFcr2JMA8+bkQ993tVL/cY0Uij7Mi98UAYm3QLd+svft7DbLxBCvB2tYX4CLespbBUG17aNi
	GxgBI97FhaII5LrL90cZgmtYABfmERe9Oi6utyar8YmUtD0uhGUd8PYD3iKlbQwcRS2x2Ub6wxxim
	CLIIT3M3wl+xMhpEtNm8lwi3ei//PMU/I5maGL3Sv7UI9zmNbErOcRiF5U9GZuEdOyqlCgySZur/W
	Oef8hnvQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 02/15] hw/xen: Clean up event channel 'type_val' handling to use union
Date: Tue,  7 Nov 2023 09:21:34 +0000
Message-ID: <20231107092149.404842-3-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

A previous implementation of this stuff used a 64-bit field for all of
the port information (vcpu/type/type_val) and did atomic exchanges on
them. When I implemented that in Qemu I regretted my life choices and
just kept it simple with locking instead.

So there's no need for the XenEvtchnPort to be so simplistic. We can
use a union for the pirq/virq/interdomain information, which lets us
keep a separate bit for the 'remote domain' in interdomain ports. A
single bit is enough since the only possible targets are loopback or
qemu itself.

So now we can ditch PORT_INFO_TYPEVAL_REMOTE_QEMU and the horrid
manual masking, although the in-memory representation is identical
so there's no change in the saved state ABI.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_evtchn.c | 151 ++++++++++++++++++---------------------
 1 file changed, 70 insertions(+), 81 deletions(-)

diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index b2b4be9983..02b8cbf8df 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -58,7 +58,15 @@ OBJECT_DECLARE_SIMPLE_TYPE(XenEvtchnState, XEN_EVTCHN)
 typedef struct XenEvtchnPort {
     uint32_t vcpu;      /* Xen/ACPI vcpu_id */
     uint16_t type;      /* EVTCHNSTAT_xxxx */
-    uint16_t type_val;  /* pirq# / virq# / remote port according to type */
+    union {
+        uint16_t val;  /* raw value for serialization etc. */
+        uint16_t pirq;
+        uint16_t virq;
+        struct {
+            uint16_t port:15;
+            uint16_t to_qemu:1; /* Only two targets; qemu or loopback */
+        } interdomain;
+    } u;
 } XenEvtchnPort;
 
 /* 32-bit compatibility definitions, also used natively in 32-bit build */
@@ -105,14 +113,6 @@ struct xenevtchn_handle {
     int fd;
 };
 
-/*
- * For unbound/interdomain ports there are only two possible remote
- * domains; self and QEMU. Use a single high bit in type_val for that,
- * and the low bits for the remote port number (or 0 for unbound).
- */
-#define PORT_INFO_TYPEVAL_REMOTE_QEMU           0x8000
-#define PORT_INFO_TYPEVAL_REMOTE_PORT_MASK      0x7FFF
-
 /*
  * These 'emuirq' values are used by Xen in the LM stream... and yes, I am
  * insane enough to think about guest-transparent live migration from actual
@@ -210,16 +210,16 @@ static int xen_evtchn_post_load(void *opaque, int version_id)
         XenEvtchnPort *p = &s->port_table[i];
 
         if (p->type == EVTCHNSTAT_pirq) {
-            assert(p->type_val);
-            assert(p->type_val < s->nr_pirqs);
+            assert(p->u.pirq);
+            assert(p->u.pirq < s->nr_pirqs);
 
             /*
              * Set the gsi to IRQ_UNBOUND; it may be changed to an actual
              * GSI# below, or to IRQ_MSI_EMU when the MSI table snooping
              * catches up with it.
              */
-            s->pirq[p->type_val].gsi = IRQ_UNBOUND;
-            s->pirq[p->type_val].port = i;
+            s->pirq[p->u.pirq].gsi = IRQ_UNBOUND;
+            s->pirq[p->u.pirq].port = i;
         }
     }
     /* Rebuild s->pirq[].gsi mapping */
@@ -243,7 +243,7 @@ static const VMStateDescription xen_evtchn_port_vmstate = {
     .fields = (VMStateField[]) {
         VMSTATE_UINT32(vcpu, XenEvtchnPort),
         VMSTATE_UINT16(type, XenEvtchnPort),
-        VMSTATE_UINT16(type_val, XenEvtchnPort),
+        VMSTATE_UINT16(u.val, XenEvtchnPort),
         VMSTATE_END_OF_LIST()
     }
 };
@@ -605,14 +605,13 @@ static void unbind_backend_ports(XenEvtchnState *s)
 
     for (i = 1; i < s->nr_ports; i++) {
         p = &s->port_table[i];
-        if (p->type == EVTCHNSTAT_interdomain &&
-            (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU)) {
-            evtchn_port_t be_port = p->type_val & PORT_INFO_TYPEVAL_REMOTE_PORT_MASK;
+        if (p->type == EVTCHNSTAT_interdomain && p->u.interdomain.to_qemu) {
+            evtchn_port_t be_port = p->u.interdomain.port;
 
             if (s->be_handles[be_port]) {
                 /* This part will be overwritten on the load anyway. */
                 p->type = EVTCHNSTAT_unbound;
-                p->type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU;
+                p->u.interdomain.port = 0;
 
                 /* Leave the backend port open and unbound too. */
                 if (kvm_xen_has_cap(EVTCHN_SEND)) {
@@ -650,30 +649,22 @@ int xen_evtchn_status_op(struct evtchn_status *status)
 
     switch (p->type) {
     case EVTCHNSTAT_unbound:
-        if (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) {
-            status->u.unbound.dom = DOMID_QEMU;
-        } else {
-            status->u.unbound.dom = xen_domid;
-        }
+        status->u.unbound.dom = p->u.interdomain.to_qemu ? DOMID_QEMU
+                                                         : xen_domid;
         break;
 
     case EVTCHNSTAT_interdomain:
-        if (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) {
-            status->u.interdomain.dom = DOMID_QEMU;
-        } else {
-            status->u.interdomain.dom = xen_domid;
-        }
-
-        status->u.interdomain.port = p->type_val &
-            PORT_INFO_TYPEVAL_REMOTE_PORT_MASK;
+        status->u.interdomain.dom = p->u.interdomain.to_qemu ? DOMID_QEMU
+                                                             : xen_domid;
+        status->u.interdomain.port = p->u.interdomain.port;
         break;
 
     case EVTCHNSTAT_pirq:
-        status->u.pirq = p->type_val;
+        status->u.pirq = p->u.pirq;
         break;
 
     case EVTCHNSTAT_virq:
-        status->u.virq = p->type_val;
+        status->u.virq = p->u.virq;
         break;
     }
 
@@ -989,7 +980,7 @@ static int clear_port_pending(XenEvtchnState *s, evtchn_port_t port)
 static void free_port(XenEvtchnState *s, evtchn_port_t port)
 {
     s->port_table[port].type = EVTCHNSTAT_closed;
-    s->port_table[port].type_val = 0;
+    s->port_table[port].u.val = 0;
     s->port_table[port].vcpu = 0;
 
     if (s->nr_ports == port + 1) {
@@ -1012,7 +1003,7 @@ static int allocate_port(XenEvtchnState *s, uint32_t vcpu, uint16_t type,
         if (s->port_table[p].type == EVTCHNSTAT_closed) {
             s->port_table[p].vcpu = vcpu;
             s->port_table[p].type = type;
-            s->port_table[p].type_val = val;
+            s->port_table[p].u.val = val;
 
             *port = p;
 
@@ -1053,15 +1044,15 @@ static int close_port(XenEvtchnState *s, evtchn_port_t port,
         return -ENOENT;
 
     case EVTCHNSTAT_pirq:
-        s->pirq[p->type_val].port = 0;
-        if (s->pirq[p->type_val].is_translated) {
+        s->pirq[p->u.pirq].port = 0;
+        if (s->pirq[p->u.pirq].is_translated) {
             *flush_kvm_routes = true;
         }
         break;
 
     case EVTCHNSTAT_virq:
-        kvm_xen_set_vcpu_virq(virq_is_global(p->type_val) ? 0 : p->vcpu,
-                              p->type_val, 0);
+        kvm_xen_set_vcpu_virq(virq_is_global(p->u.virq) ? 0 : p->vcpu,
+                              p->u.virq, 0);
         break;
 
     case EVTCHNSTAT_ipi:
@@ -1071,8 +1062,8 @@ static int close_port(XenEvtchnState *s, evtchn_port_t port,
         break;
 
     case EVTCHNSTAT_interdomain:
-        if (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) {
-            uint16_t be_port = p->type_val & ~PORT_INFO_TYPEVAL_REMOTE_QEMU;
+        if (p->u.interdomain.to_qemu) {
+            uint16_t be_port = p->u.interdomain.port;
             struct xenevtchn_handle *xc = s->be_handles[be_port];
             if (xc) {
                 if (kvm_xen_has_cap(EVTCHN_SEND)) {
@@ -1082,14 +1073,15 @@ static int close_port(XenEvtchnState *s, evtchn_port_t port,
             }
         } else {
             /* Loopback interdomain */
-            XenEvtchnPort *rp = &s->port_table[p->type_val];
-            if (!valid_port(p->type_val) || rp->type_val != port ||
+            XenEvtchnPort *rp = &s->port_table[p->u.interdomain.port];
+            if (!valid_port(p->u.interdomain.port) ||
+                rp->u.interdomain.port != port ||
                 rp->type != EVTCHNSTAT_interdomain) {
                 error_report("Inconsistent state for interdomain unbind");
             } else {
                 /* Set the other end back to unbound */
                 rp->type = EVTCHNSTAT_unbound;
-                rp->type_val = 0;
+                rp->u.interdomain.port = 0;
             }
         }
         break;
@@ -1214,7 +1206,7 @@ int xen_evtchn_bind_vcpu_op(struct evtchn_bind_vcpu *vcpu)
     if (p->type == EVTCHNSTAT_interdomain ||
         p->type == EVTCHNSTAT_unbound ||
         p->type == EVTCHNSTAT_pirq ||
-        (p->type == EVTCHNSTAT_virq && virq_is_global(p->type_val))) {
+        (p->type == EVTCHNSTAT_virq && virq_is_global(p->u.virq))) {
         /*
          * unmask_port() with do_unmask==false will just raise the event
          * on the new vCPU if the port was already pending.
@@ -1359,19 +1351,15 @@ int xen_evtchn_bind_ipi_op(struct evtchn_bind_ipi *ipi)
 int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
 {
     XenEvtchnState *s = xen_evtchn_singleton;
-    uint16_t type_val;
     int ret;
 
     if (!s) {
         return -ENOTSUP;
     }
 
-    if (interdomain->remote_dom == DOMID_QEMU) {
-        type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU;
-    } else if (interdomain->remote_dom == DOMID_SELF ||
-               interdomain->remote_dom == xen_domid) {
-        type_val = 0;
-    } else {
+    if (interdomain->remote_dom != DOMID_QEMU &&
+        interdomain->remote_dom != DOMID_SELF &&
+        interdomain->remote_dom != xen_domid) {
         return -ESRCH;
     }
 
@@ -1382,8 +1370,8 @@ int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
     qemu_mutex_lock(&s->port_lock);
 
     /* The newly allocated port starts out as unbound */
-    ret = allocate_port(s, 0, EVTCHNSTAT_unbound, type_val,
-                        &interdomain->local_port);
+    ret = allocate_port(s, 0, EVTCHNSTAT_unbound, 0, &interdomain->local_port);
+
     if (ret) {
         goto out;
     }
@@ -1408,7 +1396,8 @@ int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
             assign_kernel_eventfd(lp->type, xc->guest_port, xc->fd);
         }
         lp->type = EVTCHNSTAT_interdomain;
-        lp->type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU | interdomain->remote_port;
+        lp->u.interdomain.to_qemu = 1;
+        lp->u.interdomain.port = interdomain->remote_port;
         ret = 0;
     } else {
         /* Loopback */
@@ -1416,19 +1405,18 @@ int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
         XenEvtchnPort *lp = &s->port_table[interdomain->local_port];
 
         /*
-         * The 'remote' port for loopback must be an unbound port allocated for
-         * communication with the local domain (as indicated by rp->type_val
-         * being zero, not PORT_INFO_TYPEVAL_REMOTE_QEMU), and must *not* be
-         * the port that was just allocated for the local end.
+         * The 'remote' port for loopback must be an unbound port allocated
+         * for communication with the local domain, and must *not* be the
+         * port that was just allocated for the local end.
          */
         if (interdomain->local_port != interdomain->remote_port &&
-            rp->type == EVTCHNSTAT_unbound && rp->type_val == 0) {
+            rp->type == EVTCHNSTAT_unbound && !rp->u.interdomain.to_qemu) {
 
             rp->type = EVTCHNSTAT_interdomain;
-            rp->type_val = interdomain->local_port;
+            rp->u.interdomain.port = interdomain->local_port;
 
             lp->type = EVTCHNSTAT_interdomain;
-            lp->type_val = interdomain->remote_port;
+            lp->u.interdomain.port = interdomain->remote_port;
         } else {
             ret = -EINVAL;
         }
@@ -1447,7 +1435,6 @@ int xen_evtchn_bind_interdomain_op(struct evtchn_bind_interdomain *interdomain)
 int xen_evtchn_alloc_unbound_op(struct evtchn_alloc_unbound *alloc)
 {
     XenEvtchnState *s = xen_evtchn_singleton;
-    uint16_t type_val;
     int ret;
 
     if (!s) {
@@ -1458,18 +1445,20 @@ int xen_evtchn_alloc_unbound_op(struct evtchn_alloc_unbound *alloc)
         return -ESRCH;
     }
 
-    if (alloc->remote_dom == DOMID_QEMU) {
-        type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU;
-    } else if (alloc->remote_dom == DOMID_SELF ||
-               alloc->remote_dom == xen_domid) {
-        type_val = 0;
-    } else {
+    if (alloc->remote_dom != DOMID_QEMU &&
+        alloc->remote_dom != DOMID_SELF &&
+        alloc->remote_dom != xen_domid) {
         return -EPERM;
     }
 
     qemu_mutex_lock(&s->port_lock);
 
-    ret = allocate_port(s, 0, EVTCHNSTAT_unbound, type_val, &alloc->port);
+    ret = allocate_port(s, 0, EVTCHNSTAT_unbound, 0, &alloc->port);
+
+    if (!ret && alloc->remote_dom == DOMID_QEMU) {
+        XenEvtchnPort *p = &s->port_table[alloc->port];
+        p->u.interdomain.to_qemu = 1;
+    }
 
     qemu_mutex_unlock(&s->port_lock);
 
@@ -1496,12 +1485,12 @@ int xen_evtchn_send_op(struct evtchn_send *send)
 
     switch (p->type) {
     case EVTCHNSTAT_interdomain:
-        if (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) {
+        if (p->u.interdomain.to_qemu) {
             /*
              * This is an event from the guest to qemu itself, which is
              * serving as the driver domain.
              */
-            uint16_t be_port = p->type_val & ~PORT_INFO_TYPEVAL_REMOTE_QEMU;
+            uint16_t be_port = p->u.interdomain.port;
             struct xenevtchn_handle *xc = s->be_handles[be_port];
             if (xc) {
                 eventfd_write(xc->fd, 1);
@@ -1511,7 +1500,7 @@ int xen_evtchn_send_op(struct evtchn_send *send)
             }
         } else {
             /* Loopback interdomain ports; just a complex IPI */
-            set_port_pending(s, p->type_val);
+            set_port_pending(s, p->u.interdomain.port);
         }
         break;
 
@@ -1553,8 +1542,7 @@ int xen_evtchn_set_port(uint16_t port)
 
     /* QEMU has no business sending to anything but these */
     if (p->type == EVTCHNSTAT_virq ||
-        (p->type == EVTCHNSTAT_interdomain &&
-         (p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU))) {
+        (p->type == EVTCHNSTAT_interdomain && p->u.interdomain.to_qemu)) {
         set_port_pending(s, port);
         ret = 0;
     }
@@ -2064,7 +2052,7 @@ int xen_be_evtchn_bind_interdomain(struct xenevtchn_handle *xc, uint32_t domid,
     switch (gp->type) {
     case EVTCHNSTAT_interdomain:
         /* Allow rebinding after migration, preserve port # if possible */
-        be_port = gp->type_val & ~PORT_INFO_TYPEVAL_REMOTE_QEMU;
+        be_port = gp->u.interdomain.port;
         assert(be_port != 0);
         if (!s->be_handles[be_port]) {
             s->be_handles[be_port] = xc;
@@ -2085,7 +2073,8 @@ int xen_be_evtchn_bind_interdomain(struct xenevtchn_handle *xc, uint32_t domid,
         }
 
         gp->type = EVTCHNSTAT_interdomain;
-        gp->type_val = be_port | PORT_INFO_TYPEVAL_REMOTE_QEMU;
+        gp->u.interdomain.to_qemu = 1;
+        gp->u.interdomain.port = be_port;
         xc->guest_port = guest_port;
         if (kvm_xen_has_cap(EVTCHN_SEND)) {
             assign_kernel_eventfd(gp->type, guest_port, xc->fd);
@@ -2130,7 +2119,7 @@ int xen_be_evtchn_unbind(struct xenevtchn_handle *xc, evtchn_port_t port)
         /* This should never *not* be true */
         if (gp->type == EVTCHNSTAT_interdomain) {
             gp->type = EVTCHNSTAT_unbound;
-            gp->type_val = PORT_INFO_TYPEVAL_REMOTE_QEMU;
+            gp->u.interdomain.port = 0;
         }
 
         if (kvm_xen_has_cap(EVTCHN_SEND)) {
@@ -2284,11 +2273,11 @@ EvtchnInfoList *qmp_xen_event_list(Error **errp)
 
         info->type = p->type;
         if (p->type == EVTCHNSTAT_interdomain) {
-            info->remote_domain = g_strdup((p->type_val & PORT_INFO_TYPEVAL_REMOTE_QEMU) ?
+            info->remote_domain = g_strdup(p->u.interdomain.to_qemu ?
                                            "qemu" : "loopback");
-            info->target = p->type_val & PORT_INFO_TYPEVAL_REMOTE_PORT_MASK;
+            info->target = p->u.interdomain.port;
         } else {
-            info->target = p->type_val;
+            info->target = p->u.val; /* pirq# or virq# */
         }
         info->vcpu = p->vcpu;
         info->pending = test_bit(i, pending);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628633.980304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHt-0002PF-P2; Tue, 07 Nov 2023 09:22:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628633.980304; Tue, 07 Nov 2023 09:22: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 1r0IHt-0002NG-H6; Tue, 07 Nov 2023 09:22:21 +0000
Received: by outflank-mailman (input) for mailman id 628633;
 Tue, 07 Nov 2023 09: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHr-0001o6-Na
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:19 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24028d86-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:15 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHN-00BPkO-EG; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHN-001hKA-2Y; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 24028d86-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=JgU6E8czOnyEdFZ4KMWVk8ZUZQwhpS/SOzIrn/4R494=; b=MsrRHgDKexgi0vQ/h0LhcV2/MC
	c9fo4GUifP9KVpV8YMsNFHazYOTI9qqLgSOX2YiD93wJDPKV5l0SUFJVPFW396VwB+++58tVLgWdF
	OCq1KDrkrl64Co2Y4kmHnpzSDw4cwNHAKC7p6rLPLgtpnGKG4a3mWPVKBotcG8n5L88NThyr11ECC
	CiH6qCTRJo+Tnf1ilUQoGuExwt0JuHYfX+2pHUDoyPt9fU4DY8T15JdqAnK9WHGxwuAlxMKbglsk3
	H9EWfXn/mZPpSLG60Ee6v+fQ1gy7l2S9m/dR054eurI+E4E4BNrn/eOnlYK+C+I+7WBjcZyrd9S/p
	7N7+JdJQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 05/15] hw/xen: populate store frontend nodes with XenStore PFN/port
Date: Tue,  7 Nov 2023 09:21:37 +0000
Message-ID: <20231107092149.404842-6-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

This is kind of redundant since without being able to get these through
some other method (HVMOP_get_param) the guest wouldn't be able to access
XenStore in order to find them.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 831da535fc..b7c0407765 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -1434,6 +1434,7 @@ static void alloc_guest_port(XenXenstoreState *s)
 int xen_xenstore_reset(void)
 {
     XenXenstoreState *s = xen_xenstore_singleton;
+    GList *perms;
     int err;
 
     if (!s) {
@@ -1461,6 +1462,16 @@ int xen_xenstore_reset(void)
     }
     s->be_port = err;
 
+    /* Create frontend store nodes */
+    perms = g_list_append(NULL, xs_perm_as_string(XS_PERM_NONE, DOMID_QEMU));
+    perms = g_list_append(perms, xs_perm_as_string(XS_PERM_READ, xen_domid));
+
+    relpath_printf(s, perms, "store/port", "%u", s->guest_port);
+    relpath_printf(s, perms, "store/ring-ref", "%lu",
+                   XEN_SPECIAL_PFN(XENSTORE));
+
+    g_list_free_full(perms, g_free);
+
     /*
      * We don't actually access the guest's page through the grant, because
      * this isn't real Xen, and we can just use the page we gave it in the
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628634.980310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHu-0002Wr-8q; Tue, 07 Nov 2023 09:22:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628634.980310; Tue, 07 Nov 2023 09:22: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 1r0IHt-0002U9-Sc; Tue, 07 Nov 2023 09:22:21 +0000
Received: by outflank-mailman (input) for mailman id 628634;
 Tue, 07 Nov 2023 09:22: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHs-0001o6-NS
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:20 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 212afb9a-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:11 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHN-00BPkI-86; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHN-001hJu-1c; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 212afb9a-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:
	To:From:Reply-To:Content-ID:Content-Description;
	bh=V5wVtrx8UgxSKoOwvw8is7afApLiI289ZQm564mFLDc=; b=clTzUXXVLN8HHynxbFTl5nUC2c
	LTq7FBlCH+K/ZXc7WSJTD2S55w1W8E+9stw7i0URoaQWirpU6ADloyFwc9b6CnMzIeVhwvODrNn7V
	r/qdCDiOrbhwbA7ULU2lyyKvW7/0vcfgdxeFL6lK97a8+8iRxcwlaDtu5vxKYRhNe1bti0o4oWhEt
	/7kj+D49LE7fo4DXnjz8VfJUJaVHrvIpBhVipOdo+OrQHsnbR7tlRUtrbGy6yYePoh1AZakMqrpxj
	TcoOzzUAgt2pRp+b+XpHVqURS1kP/lyIXl5Eyuet+Yt2OaVwM57nr3I/mM2QGAa1mx01zZBtH3Zyu
	Pz2xu1zw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 01/15] i386/xen: Ignore VCPU_SSHOTTMR_future flag in set_singleshot_timer()
Date: Tue,  7 Nov 2023 09:21:33 +0000
Message-ID: <20231107092149.404842-2-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Upstream Xen now ignores this flag¹, since the only guest kernel ever to
use it was buggy.

¹ https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=19c6cbd909

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 target/i386/kvm/xen-emu.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index 75b2c557b9..1dc9ab0d91 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -1077,17 +1077,13 @@ static int vcpuop_stop_periodic_timer(CPUState *target)
  * Must always be called with xen_timers_lock held.
  */
 static int do_set_singleshot_timer(CPUState *cs, uint64_t timeout_abs,
-                                   bool future, bool linux_wa)
+                                   bool linux_wa)
 {
     CPUX86State *env = &X86_CPU(cs)->env;
     int64_t now = kvm_get_current_ns();
     int64_t qemu_now = qemu_clock_get_ns(QEMU_CLOCK_VIRTUAL);
     int64_t delta = timeout_abs - now;
 
-    if (future && timeout_abs < now) {
-        return -ETIME;
-    }
-
     if (linux_wa && unlikely((int64_t)timeout_abs < 0 ||
                              (delta > 0 && (uint32_t)(delta >> 50) != 0))) {
         /*
@@ -1129,9 +1125,13 @@ static int vcpuop_set_singleshot_timer(CPUState *cs, uint64_t arg)
     }
 
     QEMU_LOCK_GUARD(&X86_CPU(cs)->env.xen_timers_lock);
-    return do_set_singleshot_timer(cs, sst.timeout_abs_ns,
-                                   !!(sst.flags & VCPU_SSHOTTMR_future),
-                                   false);
+
+    /*
+     * We ignore the VCPU_SSHOTTMR_future flag, just as Xen now does.
+     * The only guest that ever used it, got it wrong.
+     * https://xenbits.xen.org/gitweb/?p=xen.git;a=commitdiff;h=19c6cbd909
+     */
+    return do_set_singleshot_timer(cs, sst.timeout_abs_ns, false);
 }
 
 static int vcpuop_stop_singleshot_timer(CPUState *cs)
@@ -1156,7 +1156,7 @@ static bool kvm_xen_hcall_set_timer_op(struct kvm_xen_exit *exit, X86CPU *cpu,
         err = vcpuop_stop_singleshot_timer(CPU(cpu));
     } else {
         QEMU_LOCK_GUARD(&X86_CPU(cpu)->env.xen_timers_lock);
-        err = do_set_singleshot_timer(CPU(cpu), timeout, false, true);
+        err = do_set_singleshot_timer(CPU(cpu), timeout, true);
     }
     exit->u.hcall.result = err;
     return true;
@@ -1844,7 +1844,7 @@ int kvm_put_xen_state(CPUState *cs)
         QEMU_LOCK_GUARD(&env->xen_timers_lock);
         if (env->xen_singleshot_timer_ns) {
             ret = do_set_singleshot_timer(cs, env->xen_singleshot_timer_ns,
-                                    false, false);
+                                          false);
             if (ret < 0) {
                 return ret;
             }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628635.980331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHv-0003BW-V0; Tue, 07 Nov 2023 09:22:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628635.980331; Tue, 07 Nov 2023 09:22: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 1r0IHv-00039g-L6; Tue, 07 Nov 2023 09:22:23 +0000
Received: by outflank-mailman (input) for mailman id 628635;
 Tue, 07 Nov 2023 09:22: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHt-0001o6-NW
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:21 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24d0d2ba-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:17 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHN-00BPkP-Ow; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHO-001hKU-0F; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 24d0d2ba-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:
	To:From:Reply-To:Content-ID:Content-Description;
	bh=UgLxSwo365zz+/44wQ0qh4hTDu+UXQd2xnjoGkPIK7U=; b=Li94tqtDtoAluxOQZ2adry538r
	jLL0kzCXF49RP10tKCSAnXi8qL7ODHhMZieYGcSoTiq1bNhFvuX+FrfscOYt97e4bXmj4RLVYMx2i
	7iLfjLpBwJEh/CQDaproPqkHNViI0twHPxwFGGhAWLFpwm/5gqv23m7WXOiROqfFd+plQ2fm4sUv4
	9uKN8PiFi4IQhsW0sequBScMSBq9JNZQ+A+oNPFE9Qci/Qgps8LvRt/jL1XQkZWiCvNgn3GKVyOeX
	vmDjh0UKWnkTM8VtLdunoQfXNcCGIXU3s4wi0zJAktq8LKJC9c8DZZvzxnI4MolN/STPLAPjxarSt
	RMhKZqgA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 10/15] hw/xen: add support for Xen primary console in emulated mode
Date: Tue,  7 Nov 2023 09:21:42 +0000
Message-ID: <20231107092149.404842-11-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The primary console is special because the toolstack maps a page into
the guest for its ring, and also allocates the guest-side event channel.
The guest's grant table is even primed to export that page using a known
grant ref#. Add support for all that in emulated mode, so that we can
have a primary console.

For reasons unclear, the backends running under real Xen don't just use
a mapping of the well-known GNTTAB_RESERVED_CONSOLE grant ref (which
would also be in the ring-ref node in XenStore). Instead, the toolstack
sets the ring-ref node of the primary console to the GFN of the guest
page. The backend is expected to handle that special case and map it
with foreignmem operations instead.

We don't have an implementation of foreignmem ops for emulated Xen mode,
so just make it map GNTTAB_RESERVED_CONSOLE instead. This would probably
work for real Xen too, but we can't work out how to make real Xen create
a primary console of type "ioemu" to make QEMU drive it, so we can't
test that; might as well leave it as it is for now under Xen.

Now at last we can boot the Xen PV shim and run PV kernels in QEMU.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/char/xen_console.c             |  78 ++++++++----
 hw/i386/kvm/meson.build           |   1 +
 hw/i386/kvm/trace-events          |   2 +
 hw/i386/kvm/xen-stubs.c           |   8 ++
 hw/i386/kvm/xen_gnttab.c          |   7 +-
 hw/i386/kvm/xen_primary_console.c | 193 ++++++++++++++++++++++++++++++
 hw/i386/kvm/xen_primary_console.h |  23 ++++
 hw/i386/kvm/xen_xenstore.c        |  10 ++
 hw/xen/xen-bus.c                  |   5 +
 include/hw/xen/xen-bus.h          |   1 +
 target/i386/kvm/xen-emu.c         |  23 +++-
 11 files changed, 328 insertions(+), 23 deletions(-)
 create mode 100644 hw/i386/kvm/xen_primary_console.c
 create mode 100644 hw/i386/kvm/xen_primary_console.h

diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 4a419dc287..5cbee2f184 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -33,6 +33,8 @@
 #include "hw/qdev-properties-system.h"
 #include "hw/xen/interface/io/console.h"
 #include "hw/xen/interface/io/xs_wire.h"
+#include "hw/xen/interface/grant_table.h"
+#include "hw/i386/kvm/xen_primary_console.h"
 #include "trace.h"
 
 struct buffer {
@@ -230,24 +232,47 @@ static bool xen_console_connect(XenDevice *xendev, Error **errp)
         return false;
     }
 
-    if (!con->dev) {
-        xen_pfn_t mfn = (xen_pfn_t)con->ring_ref;
-        con->sring = qemu_xen_foreignmem_map(xendev->frontend_id, NULL,
-                                             PROT_READ | PROT_WRITE,
-                                             1, &mfn, NULL);
-        if (!con->sring) {
-            error_setg(errp, "failed to map console page");
-            return false;
+    switch (con->dev) {
+    case 0:
+        /*
+         * The primary console is special. For real Xen the ring-ref is
+         * actually a GFN which needs to be mapped as foreignmem.
+         */
+        if (xen_mode != XEN_EMULATE) {
+            xen_pfn_t mfn = (xen_pfn_t)con->ring_ref;
+            con->sring = qemu_xen_foreignmem_map(xendev->frontend_id, NULL,
+                                                 PROT_READ | PROT_WRITE,
+                                                 1, &mfn, NULL);
+            if (!con->sring) {
+                error_setg(errp, "failed to map console page");
+                return false;
+            }
+            break;
         }
-    } else {
+
+        /*
+         * For Xen emulation, we still follow the convention of ring-ref
+         * holding the GFN, but we map the fixed GNTTAB_RESERVED_CONSOLE
+         * grant ref because there is no implementation of foreignmem
+         * operations for emulated mode. The emulation code which handles
+         * the guest-side page and event channel also needs to be informed
+         * of the backend event channel port, in order to reconnect to it
+         * after a soft reset.
+         */
+        xen_primary_console_set_be_port(
+            xen_event_channel_get_local_port(con->event_channel));
+        con->ring_ref = GNTTAB_RESERVED_CONSOLE;
+        /* fallthrough */
+    default:
         con->sring = xen_device_map_grant_refs(xendev,
                                                &con->ring_ref, 1,
                                                PROT_READ | PROT_WRITE,
                                                errp);
         if (!con->sring) {
-            error_prepend(errp, "failed to map grant ref: ");
+            error_prepend(errp, "failed to map console grant ref: ");
             return false;
         }
+        break;
     }
 
     trace_xen_console_connect(con->dev, con->ring_ref, port,
@@ -272,10 +297,14 @@ static void xen_console_disconnect(XenDevice *xendev, Error **errp)
         xen_device_unbind_event_channel(xendev, con->event_channel,
                                         errp);
         con->event_channel = NULL;
+
+        if (xen_mode == XEN_EMULATE && !con->dev) {
+            xen_primary_console_set_be_port(0);
+        }
     }
 
     if (con->sring) {
-        if (!con->dev) {
+        if (!con->dev && xen_mode != XEN_EMULATE) {
             qemu_xen_foreignmem_unmap(con->sring, 1);
         } else {
             xen_device_unmap_grant_refs(xendev, con->sring,
@@ -338,14 +367,19 @@ static char *xen_console_get_name(XenDevice *xendev, Error **errp)
     if (con->dev == -1) {
         XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
         char fe_path[XENSTORE_ABS_PATH_MAX + 1];
+        int idx = (xen_mode == XEN_EMULATE) ? 0 : 1;
         char *value;
-        int idx = 1;
 
         /* Theoretically we could go up to INT_MAX here but that's overkill */
         while (idx < 100) {
-            snprintf(fe_path, sizeof(fe_path),
-                     "/local/domain/%u/device/console/%u",
-                     xendev->frontend_id, idx);
+            if (!idx) {
+                snprintf(fe_path, sizeof(fe_path),
+                         "/local/domain/%u/console", xendev->frontend_id);
+            } else {
+                snprintf(fe_path, sizeof(fe_path),
+                         "/local/domain/%u/device/console/%u",
+                         xendev->frontend_id, idx);
+            }
             value = qemu_xen_xs_read(xenbus->xsh, XBT_NULL, fe_path, NULL);
             if (!value) {
                 if (errno == ENOENT) {
@@ -400,11 +434,15 @@ static void xen_console_realize(XenDevice *xendev, Error **errp)
      * be mapped directly as foreignmem (not a grant ref), and the guest port
      * was allocated *for* the guest by the toolstack. The guest gets these
      * through HVMOP_get_param and can use the console long before it's got
-     * XenStore up and running. We cannot create those for a Xen guest.
+     * XenStore up and running. We cannot create those for a true Xen guest,
+     * but we can for Xen emulation.
      */
     if (!con->dev) {
-        if (xen_device_frontend_scanf(xendev, "ring-ref", "%u", &u) != 1 ||
-            xen_device_frontend_scanf(xendev, "port", "%u", &u) != 1) {
+        if (xen_mode == XEN_EMULATE) {
+            xen_primary_console_create();
+        } else if (xen_device_frontend_scanf(xendev, "ring-ref", "%u", &u)
+                   != 1 ||
+                   xen_device_frontend_scanf(xendev, "port", "%u", &u) != 1) {
             error_setg(errp, "cannot create primary Xen console");
             return;
         }
@@ -417,8 +455,8 @@ static void xen_console_realize(XenDevice *xendev, Error **errp)
         xen_device_frontend_printf(xendev, "tty", "%s", cs->filename + 4);
     }
 
-    /* No normal PV driver initialization for the primary console */
-    if (!con->dev) {
+    /* No normal PV driver initialization for the primary console under Xen */
+    if (!con->dev && xen_mode != XEN_EMULATE) {
         xen_console_connect(xendev, errp);
     }
 }
diff --git a/hw/i386/kvm/meson.build b/hw/i386/kvm/meson.build
index ab143d6474..a4a2e23c06 100644
--- a/hw/i386/kvm/meson.build
+++ b/hw/i386/kvm/meson.build
@@ -9,6 +9,7 @@ i386_kvm_ss.add(when: 'CONFIG_XEN_EMU', if_true: files(
   'xen_evtchn.c',
   'xen_gnttab.c',
   'xen_xenstore.c',
+  'xen_primary_console.c',
   'xenstore_impl.c',
   ))
 
diff --git a/hw/i386/kvm/trace-events b/hw/i386/kvm/trace-events
index e4c82de6f3..67bf7f174e 100644
--- a/hw/i386/kvm/trace-events
+++ b/hw/i386/kvm/trace-events
@@ -18,3 +18,5 @@ xenstore_watch(const char *path, const char *token) "path %s token %s"
 xenstore_unwatch(const char *path, const char *token) "path %s token %s"
 xenstore_reset_watches(void) ""
 xenstore_watch_event(const char *path, const char *token) "path %s token %s"
+xen_primary_console_create(void) ""
+xen_primary_console_reset(int port) "port %u"
diff --git a/hw/i386/kvm/xen-stubs.c b/hw/i386/kvm/xen-stubs.c
index ae406e0b02..d03131e686 100644
--- a/hw/i386/kvm/xen-stubs.c
+++ b/hw/i386/kvm/xen-stubs.c
@@ -15,6 +15,7 @@
 #include "qapi/qapi-commands-misc-target.h"
 
 #include "xen_evtchn.h"
+#include "xen_primary_console.h"
 
 void xen_evtchn_snoop_msi(PCIDevice *dev, bool is_msix, unsigned int vector,
                           uint64_t addr, uint32_t data, bool is_masked)
@@ -30,6 +31,13 @@ bool xen_evtchn_deliver_pirq_msi(uint64_t address, uint32_t data)
     return false;
 }
 
+void xen_primary_console_create(void)
+{
+}
+
+void xen_primary_console_set_be_port(uint16_t port)
+{
+}
 #ifdef TARGET_I386
 EvtchnInfoList *qmp_xen_event_list(Error **errp)
 {
diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 839ec920a1..0a24f53f20 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -25,6 +25,7 @@
 #include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_gnttab.h"
+#include "xen_primary_console.h"
 
 #include "sysemu/kvm.h"
 #include "sysemu/kvm_xen.h"
@@ -537,9 +538,13 @@ int xen_gnttab_reset(void)
     s->nr_frames = 0;
 
     memset(s->entries.v1, 0, XEN_PAGE_SIZE * s->max_frames);
-
     s->entries.v1[GNTTAB_RESERVED_XENSTORE].flags = GTF_permit_access;
     s->entries.v1[GNTTAB_RESERVED_XENSTORE].frame = XEN_SPECIAL_PFN(XENSTORE);
 
+    if (xen_primary_console_get_pfn()) {
+        s->entries.v1[GNTTAB_RESERVED_CONSOLE].flags = GTF_permit_access;
+        s->entries.v1[GNTTAB_RESERVED_CONSOLE].frame = XEN_SPECIAL_PFN(CONSOLE);
+    }
+
     return 0;
 }
diff --git a/hw/i386/kvm/xen_primary_console.c b/hw/i386/kvm/xen_primary_console.c
new file mode 100644
index 0000000000..abe79f565b
--- /dev/null
+++ b/hw/i386/kvm/xen_primary_console.c
@@ -0,0 +1,193 @@
+/*
+ * QEMU Xen emulation: Primary console support
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Authors: David Woodhouse <dwmw2@infradead.org>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#include "qemu/osdep.h"
+
+#include "qapi/error.h"
+
+#include "hw/sysbus.h"
+#include "hw/xen/xen.h"
+#include "hw/xen/xen_backend_ops.h"
+#include "xen_evtchn.h"
+#include "xen_overlay.h"
+#include "xen_primary_console.h"
+
+#include "sysemu/kvm.h"
+#include "sysemu/kvm_xen.h"
+
+#include "trace.h"
+
+#include "hw/xen/interface/event_channel.h"
+#include "hw/xen/interface/grant_table.h"
+
+#define TYPE_XEN_PRIMARY_CONSOLE "xen-primary-console"
+OBJECT_DECLARE_SIMPLE_TYPE(XenPrimaryConsoleState, XEN_PRIMARY_CONSOLE)
+
+struct XenPrimaryConsoleState {
+    /*< private >*/
+    SysBusDevice busdev;
+    /*< public >*/
+
+    MemoryRegion console_page;
+    void *cp;
+
+    evtchn_port_t guest_port;
+    evtchn_port_t be_port;
+
+    struct xengntdev_handle *gt;
+    void *granted_xs;
+};
+
+struct XenPrimaryConsoleState *xen_primary_console_singleton;
+
+static void xen_primary_console_realize(DeviceState *dev, Error **errp)
+{
+    XenPrimaryConsoleState *s = XEN_PRIMARY_CONSOLE(dev);
+
+    if (xen_mode != XEN_EMULATE) {
+        error_setg(errp, "Xen primary console support is for Xen emulation");
+        return;
+    }
+
+    memory_region_init_ram(&s->console_page, OBJECT(dev), "xen:console_page",
+                           XEN_PAGE_SIZE, &error_abort);
+    memory_region_set_enabled(&s->console_page, true);
+    s->cp = memory_region_get_ram_ptr(&s->console_page);
+    memset(s->cp, 0, XEN_PAGE_SIZE);
+
+    /* We can't map it this early as KVM isn't ready */
+    xen_primary_console_singleton = s;
+}
+
+static void xen_primary_console_class_init(ObjectClass *klass, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(klass);
+
+    dc->realize = xen_primary_console_realize;
+}
+
+static const TypeInfo xen_primary_console_info = {
+    .name          = TYPE_XEN_PRIMARY_CONSOLE,
+    .parent        = TYPE_SYS_BUS_DEVICE,
+    .instance_size = sizeof(XenPrimaryConsoleState),
+    .class_init    = xen_primary_console_class_init,
+};
+
+
+void xen_primary_console_create(void)
+{
+    DeviceState *dev = sysbus_create_simple(TYPE_XEN_PRIMARY_CONSOLE, -1, NULL);
+
+    trace_xen_primary_console_create();
+
+    xen_primary_console_singleton = XEN_PRIMARY_CONSOLE(dev);
+
+    /*
+     * Defer the init (xen_primary_console_reset()) until KVM is set up and the
+     * overlay page can be mapped.
+     */
+}
+
+static void xen_primary_console_register_types(void)
+{
+    type_register_static(&xen_primary_console_info);
+}
+
+type_init(xen_primary_console_register_types)
+
+uint16_t xen_primary_console_get_port(void)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (!s) {
+        return 0;
+    }
+    return s->guest_port;
+}
+
+void xen_primary_console_set_be_port(uint16_t port)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (s) {
+        s->be_port = port;
+    }
+}
+
+uint64_t xen_primary_console_get_pfn(void)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (!s) {
+        return 0;
+    }
+    return XEN_SPECIAL_PFN(CONSOLE);
+}
+
+void *xen_primary_console_get_map(void)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (!s) {
+        return 0;
+    }
+    return s->cp;
+}
+
+static void alloc_guest_port(XenPrimaryConsoleState *s)
+{
+    struct evtchn_alloc_unbound alloc = {
+        .dom = DOMID_SELF,
+        .remote_dom = DOMID_QEMU,
+    };
+
+    if (!xen_evtchn_alloc_unbound_op(&alloc)) {
+        s->guest_port = alloc.port;
+    }
+}
+
+static void rebind_guest_port(XenPrimaryConsoleState *s)
+{
+    struct evtchn_bind_interdomain inter = {
+        .remote_dom = DOMID_QEMU,
+        .remote_port = s->be_port,
+    };
+
+    if (!xen_evtchn_bind_interdomain_op(&inter)) {
+        s->guest_port = inter.local_port;
+    }
+
+    s->be_port = 0;
+}
+
+int xen_primary_console_reset(void)
+{
+    XenPrimaryConsoleState *s = xen_primary_console_singleton;
+    if (!s) {
+        return 0;
+    }
+
+    if (!memory_region_is_mapped(&s->console_page)) {
+        uint64_t gpa = XEN_SPECIAL_PFN(CONSOLE) << TARGET_PAGE_BITS;
+        xen_overlay_do_map_page(&s->console_page, gpa);
+    }
+
+    if (s->be_port) {
+        rebind_guest_port(s);
+    } else {
+        alloc_guest_port(s);
+    }
+
+    trace_xen_primary_console_reset(s->guest_port);
+
+    s->gt = qemu_xen_gnttab_open();
+    uint32_t xs_gntref = GNTTAB_RESERVED_CONSOLE;
+    s->granted_xs = qemu_xen_gnttab_map_refs(s->gt, 1, xen_domid, &xs_gntref,
+                                             PROT_READ | PROT_WRITE);
+
+    return 0;
+}
diff --git a/hw/i386/kvm/xen_primary_console.h b/hw/i386/kvm/xen_primary_console.h
new file mode 100644
index 0000000000..7e2989ea0d
--- /dev/null
+++ b/hw/i386/kvm/xen_primary_console.h
@@ -0,0 +1,23 @@
+/*
+ * QEMU Xen emulation: Primary console support
+ *
+ * Copyright © 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved.
+ *
+ * Authors: David Woodhouse <dwmw2@infradead.org>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ */
+
+#ifndef QEMU_XEN_PRIMARY_CONSOLE_H
+#define QEMU_XEN_PRIMARY_CONSOLE_H
+
+void xen_primary_console_create(void);
+int xen_primary_console_reset(void);
+
+uint16_t xen_primary_console_get_port(void);
+void xen_primary_console_set_be_port(uint16_t port);
+uint64_t xen_primary_console_get_pfn(void);
+void *xen_primary_console_get_map(void);
+
+#endif /* QEMU_XEN_PRIMARY_CONSOLE_H */
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index b7c0407765..6e651960b3 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -25,6 +25,7 @@
 #include "hw/xen/xen_backend_ops.h"
 #include "xen_overlay.h"
 #include "xen_evtchn.h"
+#include "xen_primary_console.h"
 #include "xen_xenstore.h"
 
 #include "sysemu/kvm.h"
@@ -1434,6 +1435,7 @@ static void alloc_guest_port(XenXenstoreState *s)
 int xen_xenstore_reset(void)
 {
     XenXenstoreState *s = xen_xenstore_singleton;
+    int console_port;
     GList *perms;
     int err;
 
@@ -1470,6 +1472,14 @@ int xen_xenstore_reset(void)
     relpath_printf(s, perms, "store/ring-ref", "%lu",
                    XEN_SPECIAL_PFN(XENSTORE));
 
+    console_port = xen_primary_console_get_port();
+    if (console_port) {
+        relpath_printf(s, perms, "console/ring-ref", "%lu",
+                       XEN_SPECIAL_PFN(CONSOLE));
+        relpath_printf(s, perms, "console/port", "%u", console_port);
+        relpath_printf(s, perms, "console/state", "%u", XenbusStateInitialised);
+    }
+
     g_list_free_full(perms, g_free);
 
     /*
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 3ffd1a5333..cc6f1b362f 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -922,6 +922,11 @@ void xen_device_notify_event_channel(XenDevice *xendev,
     }
 }
 
+unsigned int xen_event_channel_get_local_port(XenEventChannel *channel)
+{
+    return channel->local_port;
+}
+
 void xen_device_unbind_event_channel(XenDevice *xendev,
                                      XenEventChannel *channel,
                                      Error **errp)
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index eb440880b5..38d40afa37 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -131,5 +131,6 @@ void xen_device_notify_event_channel(XenDevice *xendev,
 void xen_device_unbind_event_channel(XenDevice *xendev,
                                      XenEventChannel *channel,
                                      Error **errp);
+unsigned int xen_event_channel_get_local_port(XenEventChannel *channel);
 
 #endif /* HW_XEN_BUS_H */
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index 1dc9ab0d91..c0631f9cf4 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -28,6 +28,7 @@
 #include "hw/i386/kvm/xen_overlay.h"
 #include "hw/i386/kvm/xen_evtchn.h"
 #include "hw/i386/kvm/xen_gnttab.h"
+#include "hw/i386/kvm/xen_primary_console.h"
 #include "hw/i386/kvm/xen_xenstore.h"
 
 #include "hw/xen/interface/version.h"
@@ -182,7 +183,8 @@ int kvm_xen_init(KVMState *s, uint32_t hypercall_msr)
         return ret;
     }
 
-    /* The page couldn't be overlaid until KVM was initialized */
+    /* The pages couldn't be overlaid until KVM was initialized */
+    xen_primary_console_reset();
     xen_xenstore_reset();
 
     return 0;
@@ -812,11 +814,23 @@ static bool handle_get_param(struct kvm_xen_exit *exit, X86CPU *cpu,
     case HVM_PARAM_STORE_EVTCHN:
         hp.value = xen_xenstore_get_port();
         break;
+    case HVM_PARAM_CONSOLE_PFN:
+        hp.value = xen_primary_console_get_pfn();
+        if (!hp.value) {
+            err = -EINVAL;
+        }
+        break;
+    case HVM_PARAM_CONSOLE_EVTCHN:
+        hp.value = xen_primary_console_get_port();
+        if (!hp.value) {
+            err = -EINVAL;
+        }
+        break;
     default:
         return false;
     }
 
-    if (kvm_copy_to_gva(cs, arg, &hp, sizeof(hp))) {
+    if (!err && kvm_copy_to_gva(cs, arg, &hp, sizeof(hp))) {
         err = -EFAULT;
     }
 out:
@@ -1427,6 +1441,11 @@ int kvm_xen_soft_reset(void)
         return err;
     }
 
+    err = xen_primary_console_reset();
+    if (err) {
+        return err;
+    }
+
     err = xen_xenstore_reset();
     if (err) {
         return err;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628636.980342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHx-0003b1-9j; Tue, 07 Nov 2023 09:22:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628636.980342; Tue, 07 Nov 2023 09:22: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 1r0IHx-0003Zx-2b; Tue, 07 Nov 2023 09:22:25 +0000
Received: by outflank-mailman (input) for mailman id 628636;
 Tue, 07 Nov 2023 09:22: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHu-0001o6-Nm
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:22 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 248043a1-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:16 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHN-00BPkR-UA; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHO-001hKQ-03; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 248043a1-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=IcBaGplpgRkAVCTqBdQEfMN5GwDsnTzqsXSXRTZbkSk=; b=IZ1izr3ZEJI9LJhC2RCFdhabhS
	fl1rtJRxxX0qerXPNI8WnM9YN2J++OKmWKdOmnadq8QzfyI4A9jG3+XjKQJSKiNU5BFwcEuRExSVu
	bKBoWU51PUI0zL88M1qZSesJYrCnxaPwTKt1///b5nSGxAIMVFWbRqQ8FwHRg0ZZ7lyHXIu4MLktF
	0Iz94o7c8PApVnndcOmwiQmIecJhfMcjJVjfdOnM10CoM3zdmzv3Lt0I4d0UIuptTqe0nMaPe/RYJ
	wAnni8lmqdQky+JjGY5+YWzGbCII6uAsxiYOqOm4X2pOGDyjieR0/rgvM8KieMkfn2++Ap6XjhPpl
	QkglfyVg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 09/15] hw/xen: update Xen console to XenDevice model
Date: Tue,  7 Nov 2023 09:21:41 +0000
Message-ID: <20231107092149.404842-10-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

This allows (non-primary) console devices to be created on the command
line and hotplugged.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/char/trace-events        |   8 +
 hw/char/xen_console.c       | 532 +++++++++++++++++++++++++++---------
 hw/xen/xen-legacy-backend.c |   1 -
 3 files changed, 411 insertions(+), 130 deletions(-)

diff --git a/hw/char/trace-events b/hw/char/trace-events
index babf4d35ea..7a398c82a5 100644
--- a/hw/char/trace-events
+++ b/hw/char/trace-events
@@ -105,3 +105,11 @@ cadence_uart_baudrate(unsigned baudrate) "baudrate %u"
 # sh_serial.c
 sh_serial_read(char *id, unsigned size, uint64_t offs, uint64_t val) " %s size %d offs 0x%02" PRIx64 " -> 0x%02" PRIx64
 sh_serial_write(char *id, unsigned size, uint64_t offs, uint64_t val) "%s size %d offs 0x%02" PRIx64 " <- 0x%02" PRIx64
+
+# xen_console.c
+xen_console_connect(unsigned int idx, unsigned int ring_ref, unsigned int port, unsigned int limit) "idx %u ring_ref %u port %u limit %u"
+xen_console_disconnect(unsigned int idx) "idx %u"
+xen_console_unrealize(unsigned int idx) "idx %u"
+xen_console_realize(unsigned int idx, const char *chrdev) "idx %u chrdev %s"
+xen_console_device_create(unsigned int idx) "idx %u"
+xen_console_device_destroy(unsigned int idx) "idx %u"
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 810dae3f44..4a419dc287 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -20,15 +20,20 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/cutils.h"
 #include <sys/select.h>
 #include <termios.h>
 
 #include "qapi/error.h"
 #include "sysemu/sysemu.h"
 #include "chardev/char-fe.h"
-#include "hw/xen/xen-legacy-backend.h"
-
+#include "hw/xen/xen-backend.h"
+#include "hw/xen/xen-bus-helper.h"
+#include "hw/qdev-properties.h"
+#include "hw/qdev-properties-system.h"
 #include "hw/xen/interface/io/console.h"
+#include "hw/xen/interface/io/xs_wire.h"
+#include "trace.h"
 
 struct buffer {
     uint8_t *data;
@@ -39,16 +44,22 @@ struct buffer {
 };
 
 struct XenConsole {
-    struct XenLegacyDevice  xendev;  /* must be first */
+    struct XenDevice  xendev;  /* must be first */
+    XenEventChannel   *event_channel;
+    int               dev;
     struct buffer     buffer;
-    char              console[XEN_BUFSIZE];
-    int               ring_ref;
+    char              *fe_path;
+    unsigned int      ring_ref;
     void              *sring;
     CharBackend       chr;
     int               backlog;
 };
+typedef struct XenConsole XenConsole;
+
+#define TYPE_XEN_CONSOLE_DEVICE "xen-console"
+OBJECT_DECLARE_SIMPLE_TYPE(XenConsole, XEN_CONSOLE_DEVICE)
 
-static void buffer_append(struct XenConsole *con)
+static bool buffer_append(XenConsole *con)
 {
     struct buffer *buffer = &con->buffer;
     XENCONS_RING_IDX cons, prod, size;
@@ -60,7 +71,7 @@ static void buffer_append(struct XenConsole *con)
 
     size = prod - cons;
     if ((size == 0) || (size > sizeof(intf->out)))
-        return;
+        return false;
 
     if ((buffer->capacity - buffer->size) < size) {
         buffer->capacity += (size + 1024);
@@ -73,7 +84,7 @@ static void buffer_append(struct XenConsole *con)
 
     xen_mb();
     intf->out_cons = cons;
-    xen_pv_send_notify(&con->xendev);
+    xen_device_notify_event_channel(XEN_DEVICE(con), con->event_channel, NULL);
 
     if (buffer->max_capacity &&
         buffer->size > buffer->max_capacity) {
@@ -89,6 +100,7 @@ static void buffer_append(struct XenConsole *con)
         if (buffer->consumed > buffer->max_capacity - over)
             buffer->consumed = buffer->max_capacity - over;
     }
+    return true;
 }
 
 static void buffer_advance(struct buffer *buffer, size_t len)
@@ -100,7 +112,7 @@ static void buffer_advance(struct buffer *buffer, size_t len)
     }
 }
 
-static int ring_free_bytes(struct XenConsole *con)
+static int ring_free_bytes(XenConsole *con)
 {
     struct xencons_interface *intf = con->sring;
     XENCONS_RING_IDX cons, prod, space;
@@ -118,13 +130,13 @@ static int ring_free_bytes(struct XenConsole *con)
 
 static int xencons_can_receive(void *opaque)
 {
-    struct XenConsole *con = opaque;
+    XenConsole *con = opaque;
     return ring_free_bytes(con);
 }
 
 static void xencons_receive(void *opaque, const uint8_t *buf, int len)
 {
-    struct XenConsole *con = opaque;
+    XenConsole *con = opaque;
     struct xencons_interface *intf = con->sring;
     XENCONS_RING_IDX prod;
     int i, max;
@@ -141,10 +153,10 @@ static void xencons_receive(void *opaque, const uint8_t *buf, int len)
     }
     xen_wmb();
     intf->in_prod = prod;
-    xen_pv_send_notify(&con->xendev);
+    xen_device_notify_event_channel(XEN_DEVICE(con), con->event_channel, NULL);
 }
 
-static void xencons_send(struct XenConsole *con)
+static bool xencons_send(XenConsole *con)
 {
     ssize_t len, size;
 
@@ -159,174 +171,436 @@ static void xencons_send(struct XenConsole *con)
     if (len < 1) {
         if (!con->backlog) {
             con->backlog = 1;
-            xen_pv_printf(&con->xendev, 1,
-                          "backlog piling up, nobody listening?\n");
         }
     } else {
         buffer_advance(&con->buffer, len);
         if (con->backlog && len == size) {
             con->backlog = 0;
-            xen_pv_printf(&con->xendev, 1, "backlog is gone\n");
         }
     }
+    return len > 0;
 }
 
 /* -------------------------------------------------------------------- */
 
-static int store_con_info(struct XenConsole *con)
+static bool con_event(void *_xendev)
 {
-    Chardev *cs = qemu_chr_fe_get_driver(&con->chr);
-    char *pts = NULL;
-    char *dom_path;
-    g_autoptr(GString) path = NULL;
+    XenConsole *con = XEN_CONSOLE_DEVICE(_xendev);
+    bool done_something;
+
+    if (xen_device_backend_get_state(&con->xendev) != XenbusStateConnected) {
+        return false;
+    }
+
+    done_something = buffer_append(con);
+
+    if (con->buffer.size - con->buffer.consumed) {
+        done_something |= xencons_send(con);
+    }
+    return done_something;
+}
+
+/* -------------------------------------------------------------------- */
+
+static bool xen_console_connect(XenDevice *xendev, Error **errp)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+    unsigned int port, limit;
+
+    if (xen_device_frontend_scanf(xendev, "ring-ref", "%u",
+                                  &con->ring_ref) != 1) {
+        error_setg(errp, "failed to read ring-ref");
+        return false;
+    }
 
-    /* Only continue if we're talking to a pty. */
-    if (!CHARDEV_IS_PTY(cs)) {
-        return 0;
+    if (xen_device_frontend_scanf(xendev, "port", "%u", &port) != 1) {
+        error_setg(errp, "failed to read remote port");
+        return false;
     }
-    pts = cs->filename + 4;
 
-    dom_path = qemu_xen_xs_get_domain_path(xenstore, xen_domid);
-    if (!dom_path) {
-        return 0;
+    if (xen_device_frontend_scanf(xendev, "limit", "%u", &limit) == 1) {
+        con->buffer.max_capacity = limit;
     }
 
-    path = g_string_new(dom_path);
-    free(dom_path);
+    con->event_channel = xen_device_bind_event_channel(xendev, port,
+                                                       con_event,
+                                                       con,
+                                                       errp);
+    if (!con->event_channel) {
+        return false;
+    }
 
-    if (con->xendev.dev) {
-        g_string_append_printf(path, "/device/console/%d", con->xendev.dev);
+    if (!con->dev) {
+        xen_pfn_t mfn = (xen_pfn_t)con->ring_ref;
+        con->sring = qemu_xen_foreignmem_map(xendev->frontend_id, NULL,
+                                             PROT_READ | PROT_WRITE,
+                                             1, &mfn, NULL);
+        if (!con->sring) {
+            error_setg(errp, "failed to map console page");
+            return false;
+        }
     } else {
-        g_string_append(path, "/console");
+        con->sring = xen_device_map_grant_refs(xendev,
+                                               &con->ring_ref, 1,
+                                               PROT_READ | PROT_WRITE,
+                                               errp);
+        if (!con->sring) {
+            error_prepend(errp, "failed to map grant ref: ");
+            return false;
+        }
     }
-    g_string_append(path, "/tty");
 
-    if (xenstore_write_str(con->console, path->str, pts)) {
-        fprintf(stderr, "xenstore_write_str for '%s' fail", path->str);
-        return -1;
+    trace_xen_console_connect(con->dev, con->ring_ref, port,
+                              con->buffer.max_capacity);
+
+    qemu_chr_fe_set_handlers(&con->chr, xencons_can_receive,
+                             xencons_receive, NULL, NULL, con, NULL,
+                             true);
+    return true;
+}
+
+static void xen_console_disconnect(XenDevice *xendev, Error **errp)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+
+    trace_xen_console_disconnect(con->dev);
+
+    qemu_chr_fe_set_handlers(&con->chr, NULL, NULL, NULL, NULL,
+                             con, NULL, true);
+
+    if (con->event_channel) {
+        xen_device_unbind_event_channel(xendev, con->event_channel,
+                                        errp);
+        con->event_channel = NULL;
+    }
+
+    if (con->sring) {
+        if (!con->dev) {
+            qemu_xen_foreignmem_unmap(con->sring, 1);
+        } else {
+            xen_device_unmap_grant_refs(xendev, con->sring,
+                                        &con->ring_ref, 1, errp);
+        }
+        con->sring = NULL;
     }
-    return 0;
 }
 
-static int con_init(struct XenLegacyDevice *xendev)
+static void xen_console_frontend_changed(XenDevice *xendev,
+                                         enum xenbus_state frontend_state,
+                                         Error **errp)
 {
-    struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
-    char *type, *dom, label[32];
-    int ret = 0;
-    const char *output;
-
-    /* setup */
-    dom = qemu_xen_xs_get_domain_path(xenstore, con->xendev.dom);
-    if (!xendev->dev) {
-        snprintf(con->console, sizeof(con->console), "%s/console", dom);
-    } else {
-        snprintf(con->console, sizeof(con->console), "%s/device/console/%d", dom, xendev->dev);
+    ERRP_GUARD();
+    enum xenbus_state backend_state = xen_device_backend_get_state(xendev);
+
+    switch (frontend_state) {
+    case XenbusStateInitialised:
+    case XenbusStateConnected:
+        if (backend_state == XenbusStateConnected) {
+            break;
+        }
+
+        xen_console_disconnect(xendev, errp);
+        if (*errp) {
+            break;
+        }
+
+        if (!xen_console_connect(xendev, errp)) {
+            xen_device_backend_set_state(xendev, XenbusStateClosing);
+            break;
+        }
+
+        xen_device_backend_set_state(xendev, XenbusStateConnected);
+        break;
+
+    case XenbusStateClosing:
+        xen_device_backend_set_state(xendev, XenbusStateClosing);
+        break;
+
+    case XenbusStateClosed:
+    case XenbusStateUnknown:
+        xen_console_disconnect(xendev, errp);
+        if (*errp) {
+            break;
+        }
+
+        xen_device_backend_set_state(xendev, XenbusStateClosed);
+        break;
+
+    default:
+        break;
     }
-    free(dom);
+}
 
-    type = xenstore_read_str(con->console, "type");
-    if (!type || strcmp(type, "ioemu") != 0) {
-        xen_pv_printf(xendev, 1, "not for me (type=%s)\n", type);
-        ret = -1;
-        goto out;
+static char *xen_console_get_name(XenDevice *xendev, Error **errp)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+
+    if (con->dev == -1) {
+        XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
+        char fe_path[XENSTORE_ABS_PATH_MAX + 1];
+        char *value;
+        int idx = 1;
+
+        /* Theoretically we could go up to INT_MAX here but that's overkill */
+        while (idx < 100) {
+            snprintf(fe_path, sizeof(fe_path),
+                     "/local/domain/%u/device/console/%u",
+                     xendev->frontend_id, idx);
+            value = qemu_xen_xs_read(xenbus->xsh, XBT_NULL, fe_path, NULL);
+            if (!value) {
+                if (errno == ENOENT) {
+                    con->dev = idx;
+                    goto found;
+                }
+                error_setg(errp, "cannot read %s: %s", fe_path,
+                           strerror(errno));
+                return NULL;
+            }
+            free(value);
+            idx++;
+        }
+        error_setg(errp, "cannot find device index for console device");
+        return NULL;
     }
+ found:
+    return g_strdup_printf("%u", con->dev);
+}
+
+static void xen_console_unrealize(XenDevice *xendev)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+
+    trace_xen_console_unrealize(con->dev);
 
-    output = xenstore_read_str(con->console, "output");
+    /* Disconnect from the frontend in case this has not already happened */
+    xen_console_disconnect(xendev, NULL);
 
-    /* no Xen override, use qemu output device */
-    if (output == NULL) {
-        if (con->xendev.dev) {
-            qemu_chr_fe_init(&con->chr, serial_hd(con->xendev.dev),
-                             &error_abort);
+    qemu_chr_fe_deinit(&con->chr, false);
+}
+
+static void xen_console_realize(XenDevice *xendev, Error **errp)
+{
+    ERRP_GUARD();
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+    Chardev *cs = qemu_chr_fe_get_driver(&con->chr);
+    unsigned int u;
+
+    if (!cs) {
+        error_setg(errp, "no backing character device");
+        return;
+    }
+
+    if (con->dev == -1) {
+        error_setg(errp, "no device index provided");
+        return;
+    }
+
+    /*
+     * The Xen primary console is special. The ring-ref is actually a GFN to
+     * be mapped directly as foreignmem (not a grant ref), and the guest port
+     * was allocated *for* the guest by the toolstack. The guest gets these
+     * through HVMOP_get_param and can use the console long before it's got
+     * XenStore up and running. We cannot create those for a Xen guest.
+     */
+    if (!con->dev) {
+        if (xen_device_frontend_scanf(xendev, "ring-ref", "%u", &u) != 1 ||
+            xen_device_frontend_scanf(xendev, "port", "%u", &u) != 1) {
+            error_setg(errp, "cannot create primary Xen console");
+            return;
         }
+    }
+
+    trace_xen_console_realize(con->dev, object_get_typename(OBJECT(cs)));
+
+    if (CHARDEV_IS_PTY(cs)) {
+        /* Strip the leading 'pty:' */
+        xen_device_frontend_printf(xendev, "tty", "%s", cs->filename + 4);
+    }
+
+    /* No normal PV driver initialization for the primary console */
+    if (!con->dev) {
+        xen_console_connect(xendev, errp);
+    }
+}
+
+static char *console_frontend_path(struct qemu_xs_handle *xenstore,
+                                   unsigned int dom_id, unsigned int dev)
+{
+    if (!dev) {
+        return g_strdup_printf("/local/domain/%u/console", dom_id);
     } else {
-        snprintf(label, sizeof(label), "xencons%d", con->xendev.dev);
-        qemu_chr_fe_init(&con->chr,
-                         /*
-                          * FIXME: sure we want to support implicit
-                          * muxed monitors here?
-                          */
-                         qemu_chr_new_mux_mon(label, output, NULL),
-                         &error_abort);
+        return g_strdup_printf("/local/domain/%u/device/console/%u", dom_id,
+                               dev);
     }
+}
 
-    store_con_info(con);
+static char *xen_console_get_frontend_path(XenDevice *xendev, Error **errp)
+{
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
+    XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
+    char *ret = console_frontend_path(xenbus->xsh, xendev->frontend_id,
+                                      con->dev);
 
-out:
-    g_free(type);
+    if (!ret) {
+        error_setg(errp, "failed to create frontend path");
+    }
     return ret;
 }
 
-static int con_initialise(struct XenLegacyDevice *xendev)
+
+static Property xen_console_properties[] = {
+    DEFINE_PROP_CHR("chardev", XenConsole, chr),
+    DEFINE_PROP_INT32("idx", XenConsole, dev, -1),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
+static void xen_console_class_init(ObjectClass *class, void *data)
 {
-    struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
-    int limit;
-
-    if (xenstore_read_int(con->console, "ring-ref", &con->ring_ref) == -1)
-        return -1;
-    if (xenstore_read_int(con->console, "port", &con->xendev.remote_port) == -1)
-        return -1;
-    if (xenstore_read_int(con->console, "limit", &limit) == 0)
-        con->buffer.max_capacity = limit;
+    DeviceClass *dev_class = DEVICE_CLASS(class);
+    XenDeviceClass *xendev_class = XEN_DEVICE_CLASS(class);
+
+    xendev_class->backend = "console";
+    xendev_class->device = "console";
+    xendev_class->get_name = xen_console_get_name;
+    xendev_class->realize = xen_console_realize;
+    xendev_class->frontend_changed = xen_console_frontend_changed;
+    xendev_class->unrealize = xen_console_unrealize;
+    xendev_class->get_frontend_path = xen_console_get_frontend_path;
+
+    device_class_set_props(dev_class, xen_console_properties);
+}
 
-    if (!xendev->dev) {
-        xen_pfn_t mfn = con->ring_ref;
-        con->sring = qemu_xen_foreignmem_map(con->xendev.dom, NULL,
-                                             PROT_READ | PROT_WRITE,
-                                             1, &mfn, NULL);
-    } else {
-        con->sring = xen_be_map_grant_ref(xendev, con->ring_ref,
-                                          PROT_READ | PROT_WRITE);
-    }
-    if (!con->sring)
-        return -1;
+static const TypeInfo xen_console_type_info = {
+    .name = TYPE_XEN_CONSOLE_DEVICE,
+    .parent = TYPE_XEN_DEVICE,
+    .instance_size = sizeof(XenConsole),
+    .class_init = xen_console_class_init,
+};
 
-    xen_be_bind_evtchn(&con->xendev);
-    qemu_chr_fe_set_handlers(&con->chr, xencons_can_receive,
-                             xencons_receive, NULL, NULL, con, NULL, true);
-
-    xen_pv_printf(xendev, 1,
-                  "ring mfn %d, remote port %d, local port %d, limit %zd\n",
-                  con->ring_ref,
-                  con->xendev.remote_port,
-                  con->xendev.local_port,
-                  con->buffer.max_capacity);
-    return 0;
+static void xen_console_register_types(void)
+{
+    type_register_static(&xen_console_type_info);
 }
 
-static void con_disconnect(struct XenLegacyDevice *xendev)
+type_init(xen_console_register_types)
+
+/* Called to instantiate a XenConsole when the backend is detected. */
+static void xen_console_device_create(XenBackendInstance *backend,
+                                      QDict *opts, Error **errp)
 {
-    struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
+    ERRP_GUARD();
+    XenBus *xenbus = xen_backend_get_bus(backend);
+    const char *name = xen_backend_get_name(backend);
+    unsigned long number;
+    char *fe = NULL, *type = NULL, *output = NULL;
+    char label[32];
+    XenDevice *xendev = NULL;
+    XenConsole *con;
+    Chardev *cd = NULL;
+    struct qemu_xs_handle *xsh = xenbus->xsh;
+
+    if (qemu_strtoul(name, NULL, 10, &number) || number > INT_MAX) {
+        error_setg(errp, "failed to parse name '%s'", name);
+        goto fail;
+    }
 
-    qemu_chr_fe_deinit(&con->chr, false);
-    xen_pv_unbind_evtchn(&con->xendev);
+    trace_xen_console_device_create(number);
 
-    if (con->sring) {
-        if (!xendev->dev) {
-            qemu_xen_foreignmem_unmap(con->sring, 1);
-        } else {
-            xen_be_unmap_grant_ref(xendev, con->sring, con->ring_ref);
+    fe = console_frontend_path(xsh, xen_domid, number);
+    if (fe == NULL) {
+        error_setg(errp, "failed to generate frontend path");
+        goto fail;
+    }
+
+    if (xs_node_scanf(xsh, XBT_NULL, fe, "type", errp, "%ms", &type) != 1) {
+        error_prepend(errp, "failed to read console device type: ");
+        goto fail;
+    }
+
+    if (strcmp(type, "ioemu")) {
+        error_setg(errp, "declining to handle console type '%s'",
+                   type);
+        goto fail;
+    }
+
+    xendev = XEN_DEVICE(qdev_new(TYPE_XEN_CONSOLE_DEVICE));
+    con = XEN_CONSOLE_DEVICE(xendev);
+
+    con->dev = number;
+
+    snprintf(label, sizeof(label), "xencons%ld", number);
+
+    if (xs_node_scanf(xsh, XBT_NULL, fe, "output", NULL, "%ms", &output) == 1) {
+        /*
+         * FIXME: sure we want to support implicit
+         * muxed monitors here?
+         */
+        cd = qemu_chr_new_mux_mon(label, output, NULL);
+        if (!cd) {
+            error_setg(errp, "console: No valid chardev found at '%s': ",
+                       output);
+            goto fail;
         }
-        con->sring = NULL;
+    } else if (number) {
+        cd = serial_hd(number);
+        if (!cd) {
+            error_prepend(errp, "console: No serial device #%ld found: ",
+                          number);
+            goto fail;
+        }
+    } else {
+        /* No 'output' node on primary console: use null. */
+        cd = qemu_chr_new(label, "null", NULL);
+        if (!cd) {
+            error_setg(errp, "console: failed to create null device");
+            goto fail;
+        }
+    }
+
+    if (!qemu_chr_fe_init(&con->chr, cd, errp)) {
+        error_prepend(errp, "console: failed to initialize backing chardev: ");
+        goto fail;
+    }
+
+    if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
+        xen_backend_set_device(backend, xendev);
+        goto done;
+    }
+
+    error_prepend(errp, "realization of console device %lu failed: ",
+                  number);
+
+ fail:
+    if (xendev) {
+        object_unparent(OBJECT(xendev));
     }
+ done:
+    g_free(fe);
+    free(type);
+    free(output);
 }
 
-static void con_event(struct XenLegacyDevice *xendev)
+static void xen_console_device_destroy(XenBackendInstance *backend,
+                                       Error **errp)
 {
-    struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
+    ERRP_GUARD();
+    XenDevice *xendev = xen_backend_get_device(backend);
+    XenConsole *con = XEN_CONSOLE_DEVICE(xendev);
 
-    buffer_append(con);
-    if (con->buffer.size - con->buffer.consumed)
-        xencons_send(con);
-}
+    trace_xen_console_device_destroy(con->dev);
 
-/* -------------------------------------------------------------------- */
+    object_unparent(OBJECT(xendev));
+}
 
-struct XenDevOps xen_console_ops = {
-    .size       = sizeof(struct XenConsole),
-    .flags      = DEVOPS_FLAG_IGNORE_STATE|DEVOPS_FLAG_NEED_GNTDEV,
-    .init       = con_init,
-    .initialise = con_initialise,
-    .event      = con_event,
-    .disconnect = con_disconnect,
+static const XenBackendInfo xen_console_backend_info  = {
+    .type = "console",
+    .create = xen_console_device_create,
+    .destroy = xen_console_device_destroy,
 };
+
+static void xen_console_register_backend(void)
+{
+    xen_backend_register(&xen_console_backend_info);
+}
+
+xen_backend_init(xen_console_register_backend);
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 4ded3cec23..124dd5f3d6 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -623,7 +623,6 @@ void xen_be_init(void)
 
     xen_set_dynamic_sysbus();
 
-    xen_be_register("console", &xen_console_ops);
     xen_be_register("vkbd", &xen_kbdmouse_ops);
 #ifdef CONFIG_VIRTFS
     xen_be_register("9pfs", &xen_9pfs_ops);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628637.980352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IHz-0003vz-1w; Tue, 07 Nov 2023 09:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628637.980352; Tue, 07 Nov 2023 09:22: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 1r0IHy-0003uz-Oy; Tue, 07 Nov 2023 09:22:26 +0000
Received: by outflank-mailman (input) for mailman id 628637;
 Tue, 07 Nov 2023 09:22: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=nBTJ=GU=desiato.srs.infradead.org=BATV+c94b4d3bb33faa26daf4+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHw-0001Vh-W5
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:25 +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 292ec2bb-7d4f-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 10:22:24 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r0IHP-00BtG4-0U; Tue, 07 Nov 2023 09:21:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHO-001hKk-0y; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 292ec2bb-7d4f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=qaX76sba0ihoWf79BpMjucCx6OK5R/g8GeoiQOwguNA=; b=Vy4F3cdmVrZDN8OdQ8yswaBCcD
	H0d5tv4GKZdX8q2YUADeKMPnY3Y8Q5m2INiIh49d5erdwPxXHU8DaWOCeg7BHS6XPPQmSwOGEUiij
	qBT2PgRY+d8steJDkFD6bceOapYA+Ut92ElQ0CcqwgxTdjramjxxgg4fxJ1SxyL7gIxG00oixtquZ
	gvMORJpAETT5lNq0thRGyroFWHBj7inI/7JrPLLwAzVsFyzxK+LkwVMzuQ+Aq19bHfoqlaOTAxTTK
	ykDmbRecugCKq+9TPczxpacUUpZQnpeNfH5koRx0/XwM4XBdFZTjaPc/fhR4kC9KSqPCZZcy0uznk
	8a7xJLZg==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 14/15] xen-platform: unplug AHCI disks
Date: Tue,  7 Nov 2023 09:21:46 +0000
Message-ID: <20231107092149.404842-15-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

To support Xen guests using the Q35 chipset, the unplug protocol needs
to also remove AHCI disks.

Make pci_xen_ide_unplug() more generic, iterating over the children
of the PCI device and destroying the "ide-hd" devices. That works the
same for both AHCI and IDE, as does the detection of the primary disk
as unit 0 on the bus named "ide.0".

Then pci_xen_ide_unplug() can be used for both AHCI and IDE devices.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/i386/xen/xen_platform.c | 68 +++++++++++++++++++++++++-------------
 1 file changed, 45 insertions(+), 23 deletions(-)

diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c
index e2dd1b536a..ef7d3fc05f 100644
--- a/hw/i386/xen/xen_platform.c
+++ b/hw/i386/xen/xen_platform.c
@@ -169,39 +169,60 @@ static void pci_unplug_nics(PCIBus *bus)
  *
  * [1] https://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=docs/misc/hvm-emulated-unplug.pandoc
  */
-static void pci_xen_ide_unplug(PCIDevice *d, bool aux)
+struct ide_unplug_state {
+    bool aux;
+    int nr_unplugged;
+};
+
+static int ide_dev_unplug(DeviceState *dev, void *_st)
 {
-    DeviceState *dev = DEVICE(d);
-    PCIIDEState *pci_ide;
-    int i;
+    struct ide_unplug_state *st = _st;
     IDEDevice *idedev;
     IDEBus *idebus;
     BlockBackend *blk;
+    int unit;
+
+    idedev = IDE_DEVICE(object_dynamic_cast(OBJECT(dev), "ide-hd"));
+    if (!idedev) {
+        return 0;
+    }
 
-    pci_ide = PCI_IDE(dev);
+    idebus = IDE_BUS(qdev_get_parent_bus(dev));
 
-    for (i = aux ? 1 : 0; i < 4; i++) {
-        idebus = &pci_ide->bus[i / 2];
-        blk = idebus->ifs[i % 2].blk;
+    unit = (idedev == idebus->slave);
+    assert(unit || idedev == idebus->master);
 
-        if (blk && idebus->ifs[i % 2].drive_kind != IDE_CD) {
-            if (!(i % 2)) {
-                idedev = idebus->master;
-            } else {
-                idedev = idebus->slave;
-            }
+    if (st->aux && !unit && !strcmp(BUS(idebus)->name, "ide.0")) {
+        return 0;
+    }
 
-            blk_drain(blk);
-            blk_flush(blk);
+    blk = idebus->ifs[unit].blk;
+    if (blk) {
+        blk_drain(blk);
+        blk_flush(blk);
 
-            blk_detach_dev(blk, DEVICE(idedev));
-            idebus->ifs[i % 2].blk = NULL;
-            idedev->conf.blk = NULL;
-            monitor_remove_blk(blk);
-            blk_unref(blk);
-        }
+        blk_detach_dev(blk, DEVICE(idedev));
+        idebus->ifs[unit].blk = NULL;
+        idedev->conf.blk = NULL;
+        monitor_remove_blk(blk);
+        blk_unref(blk);
+    }
+
+    object_unparent(OBJECT(dev));
+    st->nr_unplugged++;
+
+    return 0;
+}
+
+static void pci_xen_ide_unplug(PCIDevice *d, bool aux)
+{
+    struct ide_unplug_state st = { aux, 0 };
+    DeviceState *dev = DEVICE(d);
+
+    qdev_walk_children(dev, NULL, NULL, ide_dev_unplug, NULL, &st);
+    if (st.nr_unplugged) {
+        pci_device_reset(d);
     }
-    pci_device_reset(d);
 }
 
 static void unplug_disks(PCIBus *b, PCIDevice *d, void *opaque)
@@ -216,6 +237,7 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void *opaque)
 
     switch (pci_get_word(d->config + PCI_CLASS_DEVICE)) {
     case PCI_CLASS_STORAGE_IDE:
+    case PCI_CLASS_STORAGE_SATA:
         pci_xen_ide_unplug(d, aux);
         break;
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628638.980362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0II0-0004FK-CD; Tue, 07 Nov 2023 09:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628638.980362; Tue, 07 Nov 2023 09:22: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 1r0II0-0004Ef-7J; Tue, 07 Nov 2023 09:22:28 +0000
Received: by outflank-mailman (input) for mailman id 628638;
 Tue, 07 Nov 2023 09:22: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=nBTJ=GU=desiato.srs.infradead.org=BATV+c94b4d3bb33faa26daf4+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IHy-0001Vh-GX
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:26 +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 29df22b6-7d4f-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 10:22:25 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r0IHP-00BtG0-0R; Tue, 07 Nov 2023 09:21:53 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHN-001hKE-2j; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 29df22b6-7d4f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:
	To:From:Reply-To:Content-ID:Content-Description;
	bh=p1TCK7hLxXEKum2Tsaw5VkE6db165HBQBm1sdmwAs1w=; b=oCSMVNM1teIxbXVCbf2YUYOOYv
	QdG+oBrcYnkc+9kiqJvTj1LKFc05fkKTq6+xzTiZ0DlQ2l5ttkjNH2VGHXwo2LHbjmjirI7OQ0k9Y
	ai0pC9nkKAeZuQbU7A2caBy6359YxfXZ6u+bPlPbmDqtID0zSSoTtDUEo/fbNKirvjufBL79O8zRo
	iD9tLNyTNaFLt0DjzEN6jNfBuvyHN3W2F9kvXY0tJiimsmR1uBQAhSKW/OUkmjxDtLmpduuxKMtNc
	aPVbvWa9Iiu9X7VZZlPGwVosB12YqnZLBCM+ukSrTB5PqdWUGIOsFnsaKH2Tdxq+VXQa89DP90FrU
	yjBhujXw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 06/15] hw/xen: automatically assign device index to block devices
Date: Tue,  7 Nov 2023 09:21:38 +0000
Message-ID: <20231107092149.404842-7-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

There's no need to force the user to assign a vdev. We can automatically
assign one, starting at xvda and searching until we find the first disk
name that's unused.

This means we can now allow '-drive if=xen,file=xxx' to work without an
explicit separate -driver argument, just like if=virtio.

Rip out the legacy handling from the xenpv machine, which was scribbling
over any disks configured by the toolstack, and didn't work with anything
but raw images.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 blockdev.c                          |  15 +++-
 hw/block/xen-block.c                | 118 ++++++++++++++++++++++++++--
 hw/xen/xen_devconfig.c              |  28 -------
 hw/xenpv/xen_machine_pv.c           |   9 ---
 include/hw/xen/xen-legacy-backend.h |   1 -
 5 files changed, 125 insertions(+), 46 deletions(-)

diff --git a/blockdev.c b/blockdev.c
index 1517dc6210..e9b7e38dc4 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -255,13 +255,13 @@ void drive_check_orphaned(void)
          * Ignore default drives, because we create certain default
          * drives unconditionally, then leave them unclaimed.  Not the
          * users fault.
-         * Ignore IF_VIRTIO, because it gets desugared into -device,
-         * so we can leave failing to -device.
+         * Ignore IF_VIRTIO or IF_XEN, because it gets desugared into
+         * -device, so we can leave failing to -device.
          * Ignore IF_NONE, because leaving unclaimed IF_NONE remains
          * available for device_add is a feature.
          */
         if (dinfo->is_default || dinfo->type == IF_VIRTIO
-            || dinfo->type == IF_NONE) {
+            || dinfo->type == IF_XEN || dinfo->type == IF_NONE) {
             continue;
         }
         if (!blk_get_attached_dev(blk)) {
@@ -977,6 +977,15 @@ DriveInfo *drive_new(QemuOpts *all_opts, BlockInterfaceType block_default_type,
         qemu_opt_set(devopts, "driver", "virtio-blk", &error_abort);
         qemu_opt_set(devopts, "drive", qdict_get_str(bs_opts, "id"),
                      &error_abort);
+    } else if (type == IF_XEN) {
+        QemuOpts *devopts;
+        devopts = qemu_opts_create(qemu_find_opts("device"), NULL, 0,
+                                   &error_abort);
+        qemu_opt_set(devopts, "driver",
+                     (media == MEDIA_CDROM) ? "xen-cdrom" : "xen-disk",
+                     &error_abort);
+        qemu_opt_set(devopts, "drive", qdict_get_str(bs_opts, "id"),
+                     &error_abort);
     }
 
     filename = qemu_opt_get(legacy_opts, "file");
diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index bfa53960c3..6d64ede94f 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -27,13 +27,119 @@
 #include "sysemu/block-backend.h"
 #include "sysemu/iothread.h"
 #include "dataplane/xen-block.h"
+#include "hw/xen/interface/io/xs_wire.h"
 #include "trace.h"
 
+#define XVDA_MAJOR 202
+#define XVDQ_MAJOR (1 << 20)
+#define XVDBGQCV_MAJOR ((1 << 21) - 1)
+#define HDA_MAJOR 3
+#define HDC_MAJOR 22
+#define SDA_MAJOR 8
+
+
+static int vdev_to_diskno(unsigned int vdev_nr)
+{
+    switch (vdev_nr >> 8) {
+    case XVDA_MAJOR:
+    case SDA_MAJOR:
+        return (vdev_nr >> 4) & 0x15;
+
+    case HDA_MAJOR:
+        return (vdev_nr >> 6) & 1;
+
+    case HDC_MAJOR:
+        return ((vdev_nr >> 6) & 1) + 2;
+
+    case XVDQ_MAJOR ... XVDBGQCV_MAJOR:
+        return (vdev_nr >> 8) & 0xfffff;
+
+    default:
+        return -1;
+    }
+}
+
+#define MAX_AUTO_VDEV 4096
+
+/*
+ * Find a free device name in the xvda → xvdfan range and set it in
+ * blockdev->props.vdev. Our definition of "free" is that there must
+ * be no other disk or partition with the same disk number.
+ *
+ * You are technically permitted to have all of hda, hda1, sda, sda1,
+ * xvda and xvda1 as *separate* PV block devices with separate backing
+ * stores. That doesn't make it a good idea. This code will skip xvda
+ * if *any* of those "conflicting" devices already exists.
+ *
+ * The limit of xvdfan (disk 4095) is fairly arbitrary just to avoid a
+ * stupidly sized bitmap, but Linux as of v6.6 doesn't support anything
+ * higher than that anyway.
+ */
+static bool xen_block_find_free_vdev(XenBlockDevice *blockdev, Error **errp)
+{
+    XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(blockdev)));
+    unsigned long used_devs[BITS_TO_LONGS(MAX_AUTO_VDEV)];
+    XenBlockVdev *vdev = &blockdev->props.vdev;
+    char fe_path[XENSTORE_ABS_PATH_MAX + 1];
+    char **existing_frontends;
+    unsigned int nr_existing = 0;
+    unsigned int vdev_nr;
+    int i, disk = 0;
+
+    snprintf(fe_path, sizeof(fe_path), "/local/domain/%u/device/vbd",
+             blockdev->xendev.frontend_id);
+
+    existing_frontends = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, fe_path,
+                                               &nr_existing);
+    if (!existing_frontends && errno != ENOENT) {
+        error_setg_errno(errp, errno, "cannot read %s", fe_path);
+        return false;
+    }
+
+    memset(used_devs, 0, sizeof(used_devs));
+    for (i = 0; i < nr_existing; i++) {
+        if (qemu_strtoui(existing_frontends[i], NULL, 10, &vdev_nr)) {
+            free(existing_frontends[i]);
+            continue;
+        }
+
+        free(existing_frontends[i]);
+
+        disk = vdev_to_diskno(vdev_nr);
+        if (disk < 0 || disk >= MAX_AUTO_VDEV) {
+            continue;
+        }
+
+        set_bit(disk, used_devs);
+    }
+    free(existing_frontends);
+
+    disk = find_first_zero_bit(used_devs, MAX_AUTO_VDEV);
+    if (disk == MAX_AUTO_VDEV) {
+        error_setg(errp, "cannot find device vdev for block device");
+        return false;
+    }
+
+    vdev->type = XEN_BLOCK_VDEV_TYPE_XVD;
+    vdev->partition = 0;
+    vdev->disk = disk;
+    if (disk < (1 << 4)) {
+        vdev->number = (XVDA_MAJOR << 8) | (disk << 4);
+    } else {
+        vdev->number = (XVDQ_MAJOR << 8) | (disk << 8);
+    }
+    return true;
+}
+
 static char *xen_block_get_name(XenDevice *xendev, Error **errp)
 {
     XenBlockDevice *blockdev = XEN_BLOCK_DEVICE(xendev);
     XenBlockVdev *vdev = &blockdev->props.vdev;
 
+    if (vdev->type == XEN_BLOCK_VDEV_TYPE_INVALID &&
+        !xen_block_find_free_vdev(blockdev, errp)) {
+        return NULL;
+    }
     return g_strdup_printf("%lu", vdev->number);
 }
 
@@ -482,10 +588,10 @@ static void xen_block_set_vdev(Object *obj, Visitor *v, const char *name,
     case XEN_BLOCK_VDEV_TYPE_DP:
     case XEN_BLOCK_VDEV_TYPE_XVD:
         if (vdev->disk < (1 << 4) && vdev->partition < (1 << 4)) {
-            vdev->number = (202 << 8) | (vdev->disk << 4) |
+            vdev->number = (XVDA_MAJOR << 8) | (vdev->disk << 4) |
                 vdev->partition;
         } else if (vdev->disk < (1 << 20) && vdev->partition < (1 << 8)) {
-            vdev->number = (1 << 28) | (vdev->disk << 8) |
+            vdev->number = (XVDQ_MAJOR << 8) | (vdev->disk << 8) |
                 vdev->partition;
         } else {
             goto invalid;
@@ -495,10 +601,11 @@ static void xen_block_set_vdev(Object *obj, Visitor *v, const char *name,
     case XEN_BLOCK_VDEV_TYPE_HD:
         if ((vdev->disk == 0 || vdev->disk == 1) &&
             vdev->partition < (1 << 6)) {
-            vdev->number = (3 << 8) | (vdev->disk << 6) | vdev->partition;
+            vdev->number = (HDA_MAJOR << 8) | (vdev->disk << 6) |
+                vdev->partition;
         } else if ((vdev->disk == 2 || vdev->disk == 3) &&
                    vdev->partition < (1 << 6)) {
-            vdev->number = (22 << 8) | ((vdev->disk - 2) << 6) |
+            vdev->number = (HDC_MAJOR << 8) | ((vdev->disk - 2) << 6) |
                 vdev->partition;
         } else {
             goto invalid;
@@ -507,7 +614,8 @@ static void xen_block_set_vdev(Object *obj, Visitor *v, const char *name,
 
     case XEN_BLOCK_VDEV_TYPE_SD:
         if (vdev->disk < (1 << 4) && vdev->partition < (1 << 4)) {
-            vdev->number = (8 << 8) | (vdev->disk << 4) | vdev->partition;
+            vdev->number = (SDA_MAJOR << 8) | (vdev->disk << 4) |
+                vdev->partition;
         } else {
             goto invalid;
         }
diff --git a/hw/xen/xen_devconfig.c b/hw/xen/xen_devconfig.c
index 9b7304e544..3f77c675c6 100644
--- a/hw/xen/xen_devconfig.c
+++ b/hw/xen/xen_devconfig.c
@@ -46,34 +46,6 @@ static int xen_config_dev_all(char *fe, char *be)
 
 /* ------------------------------------------------------------- */
 
-int xen_config_dev_blk(DriveInfo *disk)
-{
-    char fe[256], be[256], device_name[32];
-    int vdev = 202 * 256 + 16 * disk->unit;
-    int cdrom = disk->media_cd;
-    const char *devtype = cdrom ? "cdrom" : "disk";
-    const char *mode    = cdrom ? "r"     : "w";
-    const char *filename = qemu_opt_get(disk->opts, "file");
-
-    snprintf(device_name, sizeof(device_name), "xvd%c", 'a' + disk->unit);
-    xen_pv_printf(NULL, 1, "config disk %d [%s]: %s\n",
-                  disk->unit, device_name, filename);
-    xen_config_dev_dirs("vbd", "qdisk", vdev, fe, be, sizeof(fe));
-
-    /* frontend */
-    xenstore_write_int(fe, "virtual-device",  vdev);
-    xenstore_write_str(fe, "device-type",     devtype);
-
-    /* backend */
-    xenstore_write_str(be, "dev",             device_name);
-    xenstore_write_str(be, "type",            "file");
-    xenstore_write_str(be, "params",          filename);
-    xenstore_write_str(be, "mode",            mode);
-
-    /* common stuff */
-    return xen_config_dev_all(fe, be);
-}
-
 int xen_config_dev_nic(NICInfo *nic)
 {
     char fe[256], be[256];
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index 17cda5ec13..1533f5dfb4 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -32,7 +32,6 @@
 
 static void xen_init_pv(MachineState *machine)
 {
-    DriveInfo *dinfo;
     int i;
 
     setup_xen_backend_ops();
@@ -64,14 +63,6 @@ static void xen_init_pv(MachineState *machine)
         vga_interface_created = true;
     }
 
-    /* configure disks */
-    for (i = 0; i < 16; i++) {
-        dinfo = drive_get(IF_XEN, 0, i);
-        if (!dinfo)
-            continue;
-        xen_config_dev_blk(dinfo);
-    }
-
     /* configure nics */
     for (i = 0; i < nb_nics; i++) {
         if (!nd_table[i].model || 0 != strcmp(nd_table[i].model, "xen"))
diff --git a/include/hw/xen/xen-legacy-backend.h b/include/hw/xen/xen-legacy-backend.h
index 6c307c5f2c..fc42146bc2 100644
--- a/include/hw/xen/xen-legacy-backend.h
+++ b/include/hw/xen/xen-legacy-backend.h
@@ -81,7 +81,6 @@ extern struct XenDevOps xen_usb_ops;          /* xen-usb.c         */
 
 /* configuration (aka xenbus setup) */
 void xen_config_cleanup(void);
-int xen_config_dev_blk(DriveInfo *disk);
 int xen_config_dev_nic(NICInfo *nic);
 int xen_config_dev_vfb(int vdev, const char *type);
 int xen_config_dev_vkbd(int vdev);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628639.980373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0II2-0004iB-Tc; Tue, 07 Nov 2023 09:22:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628639.980373; Tue, 07 Nov 2023 09: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 1r0II2-0004hq-Mk; Tue, 07 Nov 2023 09:22:30 +0000
Received: by outflank-mailman (input) for mailman id 628639;
 Tue, 07 Nov 2023 09:22: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=nBTJ=GU=desiato.srs.infradead.org=BATV+c94b4d3bb33faa26daf4+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0II1-0001o6-Em
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:29 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29d72479-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:25 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r0IHP-00BtG1-0d; Tue, 07 Nov 2023 09:21:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHN-001hKI-2u; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 29d72479-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:
	To:From:Reply-To:Content-ID:Content-Description;
	bh=8NC7zpHNUo9fTggjfL7ZxSV8IkLkmeuOC0riizcU694=; b=aV84bzG7ukFmJTaTuA0mtfKe0U
	+Ajm3miAr4CJKjCvycFlH65hRrcWMVTEtDB6vE8ggMdhPtHYWGnrVE3nZ8HX9zT3gR9MDlttFZCDa
	qfq4FXPaWILOFgdHLMr68c01echV8zlcMU7mpjnyNluBIW3HrnFT2CP+WVFX6z1POLZ3pzkXFkp87
	wZ+hbaIGdPrsK39ki+HNpF6PEgk7lbTExcDAhhaJ/u2HXP70FjDcdHJruS5CCUSSrrlP6I6G/+7cL
	ZVpIk+g5iLiVrs97EEAvKpdJR1nEkcXu6Srn4Br9OYPXe4e9tg/CIu/ayYaFroJw4Y3SR3wSzIaMQ
	TuWynf4w==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 07/15] hw/xen: add get_frontend_path() method to XenDeviceClass
Date: Tue,  7 Nov 2023 09:21:39 +0000
Message-ID: <20231107092149.404842-8-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

The primary Xen console is special. The guest's side is set up for it by
the toolstack automatically and not by the standard PV init sequence.

Accordingly, its *frontend* doesn't appear in …/device/console/0 either;
instead it appears under …/console in the guest's XenStore node.

To allow the Xen console driver to override the frontend path for the
primary console, add a method to the XenDeviceClass which can be used
instead of the standard xen_device_get_frontend_path()

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/xen/xen-bus.c         | 11 ++++++++++-
 include/hw/xen/xen-bus.h |  2 ++
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index ece8ec40cd..12ff782005 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -711,8 +711,17 @@ static void xen_device_frontend_create(XenDevice *xendev, Error **errp)
 {
     ERRP_GUARD();
     XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
+    XenDeviceClass *xendev_class = XEN_DEVICE_GET_CLASS(xendev);
 
-    xendev->frontend_path = xen_device_get_frontend_path(xendev);
+    if (xendev_class->get_frontend_path) {
+        xendev->frontend_path = xendev_class->get_frontend_path(xendev, errp);
+        if (!xendev->frontend_path) {
+            error_prepend(errp, "failed to create frontend: ");
+            return;
+        }
+    } else {
+        xendev->frontend_path = xen_device_get_frontend_path(xendev);
+    }
 
     /*
      * The frontend area may have already been created by a legacy
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index f435898164..eb440880b5 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -33,6 +33,7 @@ struct XenDevice {
 };
 typedef struct XenDevice XenDevice;
 
+typedef char *(*XenDeviceGetFrontendPath)(XenDevice *xendev, Error **errp);
 typedef char *(*XenDeviceGetName)(XenDevice *xendev, Error **errp);
 typedef void (*XenDeviceRealize)(XenDevice *xendev, Error **errp);
 typedef void (*XenDeviceFrontendChanged)(XenDevice *xendev,
@@ -46,6 +47,7 @@ struct XenDeviceClass {
     /*< public >*/
     const char *backend;
     const char *device;
+    XenDeviceGetFrontendPath get_frontend_path;
     XenDeviceGetName get_name;
     XenDeviceRealize realize;
     XenDeviceFrontendChanged frontend_changed;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628640.980381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0II4-0004yX-Hb; Tue, 07 Nov 2023 09:22:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628640.980381; Tue, 07 Nov 2023 09:22: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 1r0II4-0004xH-7X; Tue, 07 Nov 2023 09:22:32 +0000
Received: by outflank-mailman (input) for mailman id 628640;
 Tue, 07 Nov 2023 09:22: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0II2-0001o6-Ew
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:30 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a84d693-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:26 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IHN-00BPkH-8E; Tue, 07 Nov 2023 09:21:50 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHN-001hJr-1M; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 2a84d693-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	Content-Type:MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=ucdObmILc+svUFlf4s5gX1kFp4HY4wFKGOFMUEIZPls=; b=m+6KCPtfywuMzy0JoQbV+w7wmx
	f7rodZuTJgm0KJbtmp/wN+QtcVXg+E8CDbH9YBcHNyNsPTeHgHjGttf72Y5StBlCBkJeFuJKeJGXb
	cl9bQVwLyEbA2dkQiy/UIc8G8lw7//JhMhp6ofCqa2KKM8uNoJimYu3m+xyrv2zXcGKrY/EhpQuvB
	C0PHzW/axS3b2NdJD9/M0JoZOkny5KUgMK+k5qEvWgypdKO1FtPt97zCe1s88WY1PEioJciMuFWP8
	6DxNZS0fu17GIhvk7inm5TktSxQGHv4u7H/pOcO5ddtUJ2cFCVuvdzOOQYUlMSgJqol+xfuGi5f5t
	SewKbTpw==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 00/15] xenfv.for-upstream queue
Date: Tue,  7 Nov 2023 09:21:32 +0000
Message-ID: <20231107092149.404842-1-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

The following changes since commit 8aba939e77daca10eac99d9d467f65ba7df5ab3e:

  Merge tag 'pull-riscv-to-apply-20231107' of https://github.com/alistair23/qemu into staging (2023-11-07 11:08:16 +0800)

are available in the Git repository at:

  git://git.infradead.org/users/dwmw2/qemu.git tags/pull-xenfv.for-upstream-20231107

for you to fetch changes up to cc9d10b9e89f0325c1a14955534d6b28ea586fba:

  docs: update Xen-on-KVM documentation (2023-11-07 08:58:02 +0000)

----------------------------------------------------------------
Xen PV guest support for 8.2

Add Xen PV console and network support, the former of which enables the
Xen "PV shim" to be used to support PV guests.

Also clean up the block support and make it work when the user passes
just 'drive file=IMAGE,if=xen' on the command line.

Update the documentation to reflect all of these, taking the opportunity
to simplify what it says about q35 by making unplug work for AHCI.

Ignore the VCPU_SSHOTTMR_future timer flag, and advertise the 'fixed'
per-vCPU upcall vector support, as newer upstream Xen do.

----------------------------------------------------------------
David Woodhouse (15):
      i386/xen: Ignore VCPU_SSHOTTMR_future flag in set_singleshot_timer()
      hw/xen: Clean up event channel 'type_val' handling to use union
      include: update Xen public headers to Xen 4.17.2 release
      i386/xen: advertise XEN_HVM_CPUID_UPCALL_VECTOR in CPUID
      hw/xen: populate store frontend nodes with XenStore PFN/port
      hw/xen: automatically assign device index to block devices
      hw/xen: add get_frontend_path() method to XenDeviceClass
      hw/xen: do not repeatedly try to create a failing backend device
      hw/xen: update Xen console to XenDevice model
      hw/xen: add support for Xen primary console in emulated mode
      hw/xen: only remove peers of PCI NICs on unplug
      hw/xen: update Xen PV NIC to XenDevice model
      hw/i386/pc: support '-nic' for xen-net-device
      xen-platform: unplug AHCI disks
      docs: update Xen-on-KVM documentation

 MAINTAINERS                                    |   2 +-
 blockdev.c                                     |  15 +-
 docs/system/i386/xen.rst                       | 107 +++--
 hw/block/xen-block.c                           | 118 ++++-
 hw/char/trace-events                           |   8 +
 hw/char/xen_console.c                          | 572 +++++++++++++++++++------
 hw/i386/kvm/meson.build                        |   1 +
 hw/i386/kvm/trace-events                       |   2 +
 hw/i386/kvm/xen-stubs.c                        |   8 +
 hw/i386/kvm/xen_evtchn.c                       | 151 +++----
 hw/i386/kvm/xen_gnttab.c                       |   7 +-
 hw/i386/kvm/xen_primary_console.c              | 193 +++++++++
 hw/i386/kvm/xen_primary_console.h              |  23 +
 hw/i386/kvm/xen_xenstore.c                     |  23 +-
 hw/i386/pc.c                                   |  11 +-
 hw/i386/pc_piix.c                              |   2 +-
 hw/i386/pc_q35.c                               |   2 +-
 hw/i386/xen/xen_platform.c                     |  77 ++--
 hw/net/meson.build                             |   2 +-
 hw/net/trace-events                            |  11 +
 hw/net/xen_nic.c                               | 484 ++++++++++++++++-----
 hw/xen/xen-backend.c                           |  27 +-
 hw/xen/xen-bus.c                               |  23 +-
 hw/xen/xen-legacy-backend.c                    |   1 -
 hw/xen/xen_devconfig.c                         |  28 --
 hw/xenpv/xen_machine_pv.c                      |  10 -
 include/hw/i386/pc.h                           |   4 +-
 include/hw/xen/interface/arch-arm.h            |  37 +-
 include/hw/xen/interface/arch-x86/cpuid.h      |  31 +-
 include/hw/xen/interface/arch-x86/xen-x86_32.h |  19 +-
 include/hw/xen/interface/arch-x86/xen-x86_64.h |  19 +-
 include/hw/xen/interface/arch-x86/xen.h        |  26 +-
 include/hw/xen/interface/event_channel.h       |  19 +-
 include/hw/xen/interface/features.h            |  19 +-
 include/hw/xen/interface/grant_table.h         |  19 +-
 include/hw/xen/interface/hvm/hvm_op.h          |  19 +-
 include/hw/xen/interface/hvm/params.h          |  19 +-
 include/hw/xen/interface/io/blkif.h            |  27 +-
 include/hw/xen/interface/io/console.h          |  19 +-
 include/hw/xen/interface/io/fbif.h             |  19 +-
 include/hw/xen/interface/io/kbdif.h            |  19 +-
 include/hw/xen/interface/io/netif.h            |  25 +-
 include/hw/xen/interface/io/protocols.h        |  19 +-
 include/hw/xen/interface/io/ring.h             |  49 +--
 include/hw/xen/interface/io/usbif.h            |  19 +-
 include/hw/xen/interface/io/xenbus.h           |  19 +-
 include/hw/xen/interface/io/xs_wire.h          |  36 +-
 include/hw/xen/interface/memory.h              |  30 +-
 include/hw/xen/interface/physdev.h             |  23 +-
 include/hw/xen/interface/sched.h               |  19 +-
 include/hw/xen/interface/trace.h               |  19 +-
 include/hw/xen/interface/vcpu.h                |  19 +-
 include/hw/xen/interface/version.h             |  19 +-
 include/hw/xen/interface/xen-compat.h          |  19 +-
 include/hw/xen/interface/xen.h                 |  19 +-
 include/hw/xen/xen-backend.h                   |   1 +
 include/hw/xen/xen-bus.h                       |   5 +-
 include/hw/xen/xen-legacy-backend.h            |   1 -
 qemu-options.hx                                |  12 +-
 target/i386/kvm/kvm.c                          |   4 +
 target/i386/kvm/xen-emu.c                      |  43 +-
 61 files changed, 1640 insertions(+), 983 deletions(-)
 create mode 100644 hw/i386/kvm/xen_primary_console.c
 create mode 100644 hw/i386/kvm/xen_primary_console.h


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628641.980393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0II7-0005aa-Ig; Tue, 07 Nov 2023 09:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628641.980393; Tue, 07 Nov 2023 09: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 1r0II7-0005aF-E9; Tue, 07 Nov 2023 09:22:35 +0000
Received: by outflank-mailman (input) for mailman id 628641;
 Tue, 07 Nov 2023 09:22: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=nBTJ=GU=desiato.srs.infradead.org=BATV+c94b4d3bb33faa26daf4+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0II3-0001o6-FA
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:31 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2a562f30-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:26 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r0IHP-00BtFz-0U; Tue, 07 Nov 2023 09:21:54 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHN-001hK2-2E; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 2a562f30-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=lTDYSahJW4UUiWgznhkZdcQOi0CYd2zLdiIFM7BcnfI=; b=hYfu2xiwXg9Yw8Etl/JFzHj7Nh
	ThlOyohrMeCS+vHaZWzrr+MByMmWSEtNOD9CdmYOBUNWBT6fLqm3+CvZHWCJcA0uIKad6K0UEvRDZ
	fmkHdGsbxb1TE46gzIAylOw8hzRyafFHrJfuSuPHpZe1u6Y1HWz3R06+tBWhfA63FhubAzTavKHLl
	ttmDfDXOJr0vVzH1KxeJaY0D3RZTSfoy+xibLxyRgi5ZAPfs8t5b/aflZBbIZGzE/APqXJ8lRWCAX
	kP+KXyTVnWW4udJrWrVp/zIBBIQWU6esCdx6dse29uis5EoTgCZnQQmu8jui5OUhpIHmnLcJ9xHrN
	exe7vMjA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 03/15] include: update Xen public headers to Xen 4.17.2 release
Date: Tue,  7 Nov 2023 09:21:35 +0000
Message-ID: <20231107092149.404842-4-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

... in order to advertise the XEN_HVM_CPUID_UPCALL_VECTOR feature,
which will come in a subsequent commit.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Acked-by: Paul Durrant <paul@xen.org>
---
 hw/i386/kvm/xen_xenstore.c                    |  2 +-
 include/hw/xen/interface/arch-arm.h           | 37 +++++++-------
 include/hw/xen/interface/arch-x86/cpuid.h     | 31 +++++-------
 .../hw/xen/interface/arch-x86/xen-x86_32.h    | 19 +------
 .../hw/xen/interface/arch-x86/xen-x86_64.h    | 19 +------
 include/hw/xen/interface/arch-x86/xen.h       | 26 ++--------
 include/hw/xen/interface/event_channel.h      | 19 +------
 include/hw/xen/interface/features.h           | 19 +------
 include/hw/xen/interface/grant_table.h        | 19 +------
 include/hw/xen/interface/hvm/hvm_op.h         | 19 +------
 include/hw/xen/interface/hvm/params.h         | 19 +------
 include/hw/xen/interface/io/blkif.h           | 27 ++++------
 include/hw/xen/interface/io/console.h         | 19 +------
 include/hw/xen/interface/io/fbif.h            | 19 +------
 include/hw/xen/interface/io/kbdif.h           | 19 +------
 include/hw/xen/interface/io/netif.h           | 25 +++-------
 include/hw/xen/interface/io/protocols.h       | 19 +------
 include/hw/xen/interface/io/ring.h            | 49 ++++++++++---------
 include/hw/xen/interface/io/usbif.h           | 19 +------
 include/hw/xen/interface/io/xenbus.h          | 19 +------
 include/hw/xen/interface/io/xs_wire.h         | 36 ++++++--------
 include/hw/xen/interface/memory.h             | 30 +++++-------
 include/hw/xen/interface/physdev.h            | 23 ++-------
 include/hw/xen/interface/sched.h              | 19 +------
 include/hw/xen/interface/trace.h              | 19 +------
 include/hw/xen/interface/vcpu.h               | 19 +------
 include/hw/xen/interface/version.h            | 19 +------
 include/hw/xen/interface/xen-compat.h         | 19 +------
 include/hw/xen/interface/xen.h                | 19 +------
 29 files changed, 124 insertions(+), 523 deletions(-)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 8e716a7009..831da535fc 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -331,7 +331,7 @@ static void xs_error(XenXenstoreState *s, unsigned int id,
     const char *errstr = NULL;
 
     for (unsigned int i = 0; i < ARRAY_SIZE(xsd_errors); i++) {
-        struct xsd_errors *xsd_error = &xsd_errors[i];
+        const struct xsd_errors *xsd_error = &xsd_errors[i];
 
         if (xsd_error->errnum == errnum) {
             errstr = xsd_error->errstring;
diff --git a/include/hw/xen/interface/arch-arm.h b/include/hw/xen/interface/arch-arm.h
index 94b31511dd..1528ced509 100644
--- a/include/hw/xen/interface/arch-arm.h
+++ b/include/hw/xen/interface/arch-arm.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * arch-arm.h
  *
  * Guest OS interface to ARM 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.
- *
  * Copyright 2011 (C) Citrix Systems
  */
 
@@ -361,6 +344,7 @@ typedef uint64_t xen_callback_t;
 #define PSR_DBG_MASK    (1<<9)        /* arm64: Debug Exception mask */
 #define PSR_IT_MASK     (0x0600fc00)  /* Thumb If-Then Mask */
 #define PSR_JAZELLE     (1<<24)       /* Jazelle Mode */
+#define PSR_Z           (1<<30)       /* Zero condition flag */
 
 /* 32 bit modes */
 #define PSR_MODE_USR 0x10
@@ -383,7 +367,15 @@ typedef uint64_t xen_callback_t;
 #define PSR_MODE_EL1t 0x04
 #define PSR_MODE_EL0t 0x00
 
-#define PSR_GUEST32_INIT  (PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_SVC)
+/*
+ * We set PSR_Z to be able to boot Linux kernel versions with an invalid
+ * encoding of the first 8 NOP instructions. See commit a92882a4d270 in
+ * Linux.
+ *
+ * Note that PSR_Z is also set by U-Boot and QEMU -kernel when loading
+ * zImage kernels on aarch32.
+ */
+#define PSR_GUEST32_INIT (PSR_Z|PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_SVC)
 #define PSR_GUEST64_INIT (PSR_ABT_MASK|PSR_FIQ_MASK|PSR_IRQ_MASK|PSR_MODE_EL1h)
 
 #define SCTLR_GUEST_INIT    xen_mk_ullong(0x00c50078)
@@ -398,6 +390,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.
@@ -484,6 +480,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
diff --git a/include/hw/xen/interface/arch-x86/cpuid.h b/include/hw/xen/interface/arch-x86/cpuid.h
index ce46305bee..7ecd16ae05 100644
--- a/include/hw/xen/interface/arch-x86/cpuid.h
+++ b/include/hw/xen/interface/arch-x86/cpuid.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * arch-x86/cpuid.h
  *
  * CPUID interface to 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.
- *
  * Copyright (c) 2007 Citrix Systems, Inc.
  *
  * Authors:
@@ -102,6 +85,18 @@
 #define XEN_HVM_CPUID_IOMMU_MAPPINGS   (1u << 2)
 #define XEN_HVM_CPUID_VCPU_ID_PRESENT  (1u << 3) /* vcpu id is present in EBX */
 #define XEN_HVM_CPUID_DOMID_PRESENT    (1u << 4) /* domid is present in ECX */
+/*
+ * With interrupt format set to 0 (non-remappable) bits 55:49 from the
+ * IO-APIC RTE and bits 11:5 from the MSI address can be used to store
+ * high bits for the Destination ID. This expands the Destination ID
+ * field from 8 to 15 bits, allowing to target APIC IDs up 32768.
+ */
+#define XEN_HVM_CPUID_EXT_DEST_ID      (1u << 5)
+/*
+ * Per-vCPU event channel upcalls work correctly with physical IRQs
+ * bound to event channels.
+ */
+#define XEN_HVM_CPUID_UPCALL_VECTOR    (1u << 6)
 
 /*
  * Leaf 6 (0x40000x05)
diff --git a/include/hw/xen/interface/arch-x86/xen-x86_32.h b/include/hw/xen/interface/arch-x86/xen-x86_32.h
index 19d7388633..139438e835 100644
--- a/include/hw/xen/interface/arch-x86/xen-x86_32.h
+++ b/include/hw/xen/interface/arch-x86/xen-x86_32.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * xen-x86_32.h
  *
  * Guest OS interface to x86 32-bit 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.
- *
  * Copyright (c) 2004-2007, K A Fraser
  */
 
diff --git a/include/hw/xen/interface/arch-x86/xen-x86_64.h b/include/hw/xen/interface/arch-x86/xen-x86_64.h
index 40aed14366..5d9035ed22 100644
--- a/include/hw/xen/interface/arch-x86/xen-x86_64.h
+++ b/include/hw/xen/interface/arch-x86/xen-x86_64.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * xen-x86_64.h
  *
  * Guest OS interface to x86 64-bit 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.
- *
  * Copyright (c) 2004-2006, K A Fraser
  */
 
diff --git a/include/hw/xen/interface/arch-x86/xen.h b/include/hw/xen/interface/arch-x86/xen.h
index 7acd94c8eb..c0f4551247 100644
--- a/include/hw/xen/interface/arch-x86/xen.h
+++ b/include/hw/xen/interface/arch-x86/xen.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * arch-x86/xen.h
  *
  * Guest OS 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.
- *
  * Copyright (c) 2004-2006, K A Fraser
  */
 
@@ -320,12 +303,9 @@ struct xen_arch_domainconfig {
     uint32_t misc_flags;
 };
 
-/* Location of online VCPU bitmap. */
-#define XEN_ACPI_CPU_MAP             0xaf00
-#define XEN_ACPI_CPU_MAP_LEN         ((HVM_MAX_VCPUS + 7) / 8)
+/* Max  XEN_X86_* constant. Used for ABI checking. */
+#define XEN_X86_MISC_FLAGS_MAX XEN_X86_MSR_RELAXED
 
-/* GPE0 bit set during CPU hotplug */
-#define XEN_ACPI_GPE0_CPUHP_BIT      2
 #endif
 
 /*
diff --git a/include/hw/xen/interface/event_channel.h b/include/hw/xen/interface/event_channel.h
index 73c9f38ce1..0d91a1c4af 100644
--- a/include/hw/xen/interface/event_channel.h
+++ b/include/hw/xen/interface/event_channel.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * event_channel.h
  *
  * Event channels between domains.
  *
- * 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.
- *
  * Copyright (c) 2003-2004, K A Fraser.
  */
 
diff --git a/include/hw/xen/interface/features.h b/include/hw/xen/interface/features.h
index 9ee2f760ef..d2a9175aae 100644
--- a/include/hw/xen/interface/features.h
+++ b/include/hw/xen/interface/features.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * features.h
  *
  * Feature flags, reported by XENVER_get_features.
  *
- * 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.
- *
  * Copyright (c) 2006, Keir Fraser <keir@xensource.com>
  */
 
diff --git a/include/hw/xen/interface/grant_table.h b/include/hw/xen/interface/grant_table.h
index 7934d7b718..1dfa17a6d0 100644
--- a/include/hw/xen/interface/grant_table.h
+++ b/include/hw/xen/interface/grant_table.h
@@ -1,27 +1,10 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * grant_table.h
  *
  * Interface for granting foreign access to page frames, and receiving
  * page-ownership transfers.
  *
- * 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.
- *
  * Copyright (c) 2004, K A Fraser
  */
 
diff --git a/include/hw/xen/interface/hvm/hvm_op.h b/include/hw/xen/interface/hvm/hvm_op.h
index 870ec52060..e22adf0319 100644
--- a/include/hw/xen/interface/hvm/hvm_op.h
+++ b/include/hw/xen/interface/hvm/hvm_op.h
@@ -1,22 +1,5 @@
+/* SPDX-License-Identifier: MIT */
 /*
- * 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.
- *
  * Copyright (c) 2007, Keir Fraser
  */
 
diff --git a/include/hw/xen/interface/hvm/params.h b/include/hw/xen/interface/hvm/params.h
index c9d6e70d7b..a22b4ed45d 100644
--- a/include/hw/xen/interface/hvm/params.h
+++ b/include/hw/xen/interface/hvm/params.h
@@ -1,22 +1,5 @@
+/* SPDX-License-Identifier: MIT */
 /*
- * 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.
- *
  * Copyright (c) 2007, Keir Fraser
  */
 
diff --git a/include/hw/xen/interface/io/blkif.h b/include/hw/xen/interface/io/blkif.h
index 4cdba79aba..22f1eef0c0 100644
--- a/include/hw/xen/interface/io/blkif.h
+++ b/include/hw/xen/interface/io/blkif.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * blkif.h
  *
  * Unified block-device I/O interface for Xen guest OSes.
  *
- * 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.
- *
  * Copyright (c) 2003-2004, Keir Fraser
  * Copyright (c) 2012, Spectra Logic Corporation
  */
@@ -363,6 +346,14 @@
  *      that the frontend requires that the logical block size is 512 as it
  *      is hardcoded (which is the case in some frontend implementations).
  *
+ * trusted
+ *      Values:         0/1 (boolean)
+ *      Default value:  1
+ *
+ *      A value of "0" indicates that the frontend should not trust the
+ *      backend, and should deploy whatever measures available to protect from
+ *      a malicious backend on the other end.
+ *
  *------------------------- Virtual Device Properties -------------------------
  *
  * device-type
diff --git a/include/hw/xen/interface/io/console.h b/include/hw/xen/interface/io/console.h
index 4811f47220..4509b4b689 100644
--- a/include/hw/xen/interface/io/console.h
+++ b/include/hw/xen/interface/io/console.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * console.h
  *
  * Console I/O interface for Xen guest OSes.
  *
- * 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.
- *
  * Copyright (c) 2005, Keir Fraser
  */
 
diff --git a/include/hw/xen/interface/io/fbif.h b/include/hw/xen/interface/io/fbif.h
index cc25aab32e..93c73195d8 100644
--- a/include/hw/xen/interface/io/fbif.h
+++ b/include/hw/xen/interface/io/fbif.h
@@ -1,24 +1,7 @@
+/* SPDX-License-Identifier: MIT */
 /*
  * fbif.h -- Xen virtual frame buffer device
  *
- * 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.
- *
  * Copyright (C) 2005 Anthony Liguori <aliguori@us.ibm.com>
  * Copyright (C) 2006 Red Hat, Inc., Markus Armbruster <armbru@redhat.com>
  */
diff --git a/include/hw/xen/interface/io/kbdif.h b/include/hw/xen/interface/io/kbdif.h
index a6b01c52c7..4bde6b3821 100644
--- a/include/hw/xen/interface/io/kbdif.h
+++ b/include/hw/xen/interface/io/kbdif.h
@@ -1,24 +1,7 @@
+/* SPDX-License-Identifier: MIT */
 /*
  * kbdif.h -- Xen virtual keyboard/mouse
  *
- * 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.
- *
  * Copyright (C) 2005 Anthony Liguori <aliguori@us.ibm.com>
  * Copyright (C) 2006 Red Hat, Inc., Markus Armbruster <armbru@redhat.com>
  */
diff --git a/include/hw/xen/interface/io/netif.h b/include/hw/xen/interface/io/netif.h
index 00dd258712..c13b85061d 100644
--- a/include/hw/xen/interface/io/netif.h
+++ b/include/hw/xen/interface/io/netif.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * netif.h
  *
  * Unified network-device I/O interface for Xen guest OSes.
  *
- * 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.
- *
  * Copyright (c) 2003-2004, Keir Fraser
  */
 
@@ -160,6 +143,12 @@
  * be applied if it is set.
  */
 
+/*
+ * The setting of "trusted" node to "0" in the frontend path signals that the
+ * frontend should not trust the backend, and should deploy whatever measures
+ * available to protect from a malicious backend on the other end.
+ */
+
 /*
  * Control ring
  * ============
diff --git a/include/hw/xen/interface/io/protocols.h b/include/hw/xen/interface/io/protocols.h
index 52b4de0f81..7815e1ff0f 100644
--- a/include/hw/xen/interface/io/protocols.h
+++ b/include/hw/xen/interface/io/protocols.h
@@ -1,24 +1,7 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * protocols.h
  *
- * 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.
- *
  * Copyright (c) 2008, Keir Fraser
  */
 
diff --git a/include/hw/xen/interface/io/ring.h b/include/hw/xen/interface/io/ring.h
index c486c457e0..025939278b 100644
--- a/include/hw/xen/interface/io/ring.h
+++ b/include/hw/xen/interface/io/ring.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * ring.h
  *
  * Shared producer-consumer ring macros.
  *
- * 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.
- *
  * Tim Deegan and Andrew Warfield November 2004.
  */
 
@@ -95,9 +78,8 @@ typedef unsigned int RING_IDX;
  * of the shared memory area (PAGE_SIZE, for instance). To initialise
  * the front half:
  *
- *     mytag_front_ring_t front_ring;
- *     SHARED_RING_INIT((mytag_sring_t *)shared_page);
- *     FRONT_RING_INIT(&front_ring, (mytag_sring_t *)shared_page, PAGE_SIZE);
+ *     mytag_front_ring_t ring;
+ *     XEN_FRONT_RING_INIT(&ring, (mytag_sring_t *)shared_page, PAGE_SIZE);
  *
  * Initializing the back follows similarly (note that only the front
  * initializes the shared ring):
@@ -184,6 +166,11 @@ typedef struct __name##_back_ring __name##_back_ring_t
 
 #define FRONT_RING_INIT(_r, _s, __size) FRONT_RING_ATTACH(_r, _s, 0, __size)
 
+#define XEN_FRONT_RING_INIT(r, s, size) do {                            \
+    SHARED_RING_INIT(s);                                                \
+    FRONT_RING_INIT(r, s, size);                                        \
+} while (0)
+
 #define BACK_RING_ATTACH(_r, _s, _i, __size) do {                       \
     (_r)->rsp_prod_pvt = (_i);                                          \
     (_r)->req_cons = (_i);                                              \
@@ -208,11 +195,11 @@ typedef struct __name##_back_ring __name##_back_ring_t
     (RING_FREE_REQUESTS(_r) == 0)
 
 /* Test if there are outstanding messages to be processed on a ring. */
-#define RING_HAS_UNCONSUMED_RESPONSES(_r)                               \
+#define XEN_RING_NR_UNCONSUMED_RESPONSES(_r)                            \
     ((_r)->sring->rsp_prod - (_r)->rsp_cons)
 
 #ifdef __GNUC__
-#define RING_HAS_UNCONSUMED_REQUESTS(_r) ({                             \
+#define XEN_RING_NR_UNCONSUMED_REQUESTS(_r) ({                          \
     unsigned int req = (_r)->sring->req_prod - (_r)->req_cons;          \
     unsigned int rsp = RING_SIZE(_r) -                                  \
         ((_r)->req_cons - (_r)->rsp_prod_pvt);                          \
@@ -220,13 +207,27 @@ typedef struct __name##_back_ring __name##_back_ring_t
 })
 #else
 /* Same as above, but without the nice GCC ({ ... }) syntax. */
-#define RING_HAS_UNCONSUMED_REQUESTS(_r)                                \
+#define XEN_RING_NR_UNCONSUMED_REQUESTS(_r)                             \
     ((((_r)->sring->req_prod - (_r)->req_cons) <                        \
       (RING_SIZE(_r) - ((_r)->req_cons - (_r)->rsp_prod_pvt))) ?        \
      ((_r)->sring->req_prod - (_r)->req_cons) :                         \
      (RING_SIZE(_r) - ((_r)->req_cons - (_r)->rsp_prod_pvt)))
 #endif
 
+#ifdef XEN_RING_HAS_UNCONSUMED_IS_BOOL
+/*
+ * These variants should only be used in case no caller is abusing them for
+ * obtaining the number of unconsumed responses/requests.
+ */
+#define RING_HAS_UNCONSUMED_RESPONSES(_r) \
+    (!!XEN_RING_NR_UNCONSUMED_RESPONSES(_r))
+#define RING_HAS_UNCONSUMED_REQUESTS(_r)  \
+    (!!XEN_RING_NR_UNCONSUMED_REQUESTS(_r))
+#else
+#define RING_HAS_UNCONSUMED_RESPONSES(_r) XEN_RING_NR_UNCONSUMED_RESPONSES(_r)
+#define RING_HAS_UNCONSUMED_REQUESTS(_r)  XEN_RING_NR_UNCONSUMED_REQUESTS(_r)
+#endif
+
 /* Direct access to individual ring elements, by index. */
 #define RING_GET_REQUEST(_r, _idx)                                      \
     (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req))
diff --git a/include/hw/xen/interface/io/usbif.h b/include/hw/xen/interface/io/usbif.h
index c0a552e195..875af0dc7c 100644
--- a/include/hw/xen/interface/io/usbif.h
+++ b/include/hw/xen/interface/io/usbif.h
@@ -1,3 +1,4 @@
+/* SPDX-License-Identifier: MIT */
 /*
  * usbif.h
  *
@@ -5,24 +6,6 @@
  *
  * Copyright (C) 2009, FUJITSU LABORATORIES LTD.
  * Author: Noboru Iwamatsu <n_iwamatsu@jp.fujitsu.com>
- *
- * 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_IO_USBIF_H__
diff --git a/include/hw/xen/interface/io/xenbus.h b/include/hw/xen/interface/io/xenbus.h
index 927f9db552..9cd0cd7c67 100644
--- a/include/hw/xen/interface/io/xenbus.h
+++ b/include/hw/xen/interface/io/xenbus.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /*****************************************************************************
  * xenbus.h
  *
  * Xenbus protocol details.
  *
- * 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.
- *
  * Copyright (C) 2005 XenSource Ltd.
  */
 
diff --git a/include/hw/xen/interface/io/xs_wire.h b/include/hw/xen/interface/io/xs_wire.h
index 4dd6632669..04e6849feb 100644
--- a/include/hw/xen/interface/io/xs_wire.h
+++ b/include/hw/xen/interface/io/xs_wire.h
@@ -1,25 +1,8 @@
+/* SPDX-License-Identifier: MIT */
 /*
  * Details of the "wire" protocol between Xen Store Daemon and client
  * library or guest kernel.
  *
- * 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.
- *
  * Copyright (C) 2005 Rusty Russell IBM Corporation
  */
 
@@ -71,11 +54,12 @@ struct xsd_errors
 #ifdef EINVAL
 #define XSD_ERROR(x) { x, #x }
 /* LINTED: static unused */
-static struct xsd_errors xsd_errors[]
+static const struct xsd_errors xsd_errors[]
 #if defined(__GNUC__)
 __attribute__((unused))
 #endif
     = {
+    /* /!\ New errors should be added at the end of the array. */
     XSD_ERROR(EINVAL),
     XSD_ERROR(EACCES),
     XSD_ERROR(EEXIST),
@@ -90,7 +74,8 @@ __attribute__((unused))
     XSD_ERROR(EBUSY),
     XSD_ERROR(EAGAIN),
     XSD_ERROR(EISCONN),
-    XSD_ERROR(E2BIG)
+    XSD_ERROR(E2BIG),
+    XSD_ERROR(EPERM),
 };
 #endif
 
@@ -124,6 +109,7 @@ struct xenstore_domain_interface {
     XENSTORE_RING_IDX rsp_cons, rsp_prod;
     uint32_t server_features; /* Bitmap of features supported by the server */
     uint32_t connection;
+    uint32_t error;
 };
 
 /* Violating this is very bad.  See docs/misc/xenstore.txt. */
@@ -135,10 +121,18 @@ struct xenstore_domain_interface {
 
 /* The ability to reconnect a ring */
 #define XENSTORE_SERVER_FEATURE_RECONNECTION 1
+/* The presence of the "error" field in the ring page */
+#define XENSTORE_SERVER_FEATURE_ERROR        2
 
 /* Valid values for the connection field */
 #define XENSTORE_CONNECTED 0 /* the steady-state */
-#define XENSTORE_RECONNECT 1 /* guest has initiated a reconnect */
+#define XENSTORE_RECONNECT 1 /* reconnect in progress */
+
+/* Valid values for the error field */
+#define XENSTORE_ERROR_NONE    0 /* No error */
+#define XENSTORE_ERROR_COMM    1 /* Communication problem */
+#define XENSTORE_ERROR_RINGIDX 2 /* Invalid ring index */
+#define XENSTORE_ERROR_PROTO   3 /* Protocol violation (payload too long) */
 
 #endif /* _XS_WIRE_H */
 
diff --git a/include/hw/xen/interface/memory.h b/include/hw/xen/interface/memory.h
index 383a9468c3..29cf5c8239 100644
--- a/include/hw/xen/interface/memory.h
+++ b/include/hw/xen/interface/memory.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * memory.h
  *
  * Memory reservation and information.
  *
- * 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.
- *
  * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
  */
 
@@ -541,12 +524,14 @@ struct xen_mem_sharing_op {
                 uint32_t gref;     /* IN: gref to debug         */
             } u;
         } debug;
-        struct mem_sharing_op_fork {      /* OP_FORK */
+        struct mem_sharing_op_fork {      /* OP_FORK{,_RESET} */
             domid_t parent_domain;        /* IN: parent's domain id */
 /* Only makes sense for short-lived forks */
 #define XENMEM_FORK_WITH_IOMMU_ALLOWED (1u << 0)
 /* Only makes sense for short-lived forks */
 #define XENMEM_FORK_BLOCK_INTERRUPTS   (1u << 1)
+#define XENMEM_FORK_RESET_STATE        (1u << 2)
+#define XENMEM_FORK_RESET_MEMORY       (1u << 3)
             uint16_t flags;               /* IN: optional settings */
             uint32_t pad;                 /* Must be set to 0 */
         } fork;
@@ -662,6 +647,13 @@ struct xen_mem_acquire_resource {
      * two calls.
      */
     uint32_t nr_frames;
+    /*
+     * Padding field, must be zero on input.
+     * In a previous version this was an output field with the lowest bit
+     * named XENMEM_rsrc_acq_caller_owned. Future versions of this interface
+     * will not reuse this bit as an output with the field being zero on
+     * input.
+     */
     uint32_t pad;
     /*
      * IN - the index of the initial frame to be mapped. This parameter
diff --git a/include/hw/xen/interface/physdev.h b/include/hw/xen/interface/physdev.h
index d271766ad0..f0c0d4727c 100644
--- a/include/hw/xen/interface/physdev.h
+++ b/include/hw/xen/interface/physdev.h
@@ -1,22 +1,5 @@
+/* SPDX-License-Identifier: MIT */
 /*
- * 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.
- *
  * Copyright (c) 2006, Keir Fraser
  */
 
@@ -211,8 +194,8 @@ struct physdev_manage_pci_ext {
     /* IN */
     uint8_t bus;
     uint8_t devfn;
-    unsigned is_extfn;
-    unsigned is_virtfn;
+    uint32_t is_extfn;
+    uint32_t is_virtfn;
     struct {
         uint8_t bus;
         uint8_t devfn;
diff --git a/include/hw/xen/interface/sched.h b/include/hw/xen/interface/sched.h
index 811bd87c82..b4362c6a1d 100644
--- a/include/hw/xen/interface/sched.h
+++ b/include/hw/xen/interface/sched.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * sched.h
  *
  * Scheduler state interactions
  *
- * 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.
- *
  * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
  */
 
diff --git a/include/hw/xen/interface/trace.h b/include/hw/xen/interface/trace.h
index d5fa4aea8d..62a179971d 100644
--- a/include/hw/xen/interface/trace.h
+++ b/include/hw/xen/interface/trace.h
@@ -1,24 +1,7 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * include/public/trace.h
  *
- * 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.
- *
  * Mark Williamson, (C) 2004 Intel Research Cambridge
  * Copyright (C) 2005 Bin Ren
  */
diff --git a/include/hw/xen/interface/vcpu.h b/include/hw/xen/interface/vcpu.h
index 3623af932f..81a3b3a743 100644
--- a/include/hw/xen/interface/vcpu.h
+++ b/include/hw/xen/interface/vcpu.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * vcpu.h
  *
  * VCPU initialisation, query, and hotplug.
  *
- * 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.
- *
  * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
  */
 
diff --git a/include/hw/xen/interface/version.h b/include/hw/xen/interface/version.h
index 17a81e23cd..9c78b4f3b6 100644
--- a/include/hw/xen/interface/version.h
+++ b/include/hw/xen/interface/version.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * version.h
  *
  * Xen version, type, and compile information.
  *
- * 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.
- *
  * Copyright (c) 2005, Nguyen Anh Quynh <aquynh@gmail.com>
  * Copyright (c) 2005, Keir Fraser <keir@xensource.com>
  */
diff --git a/include/hw/xen/interface/xen-compat.h b/include/hw/xen/interface/xen-compat.h
index e1c027a95c..97fe698498 100644
--- a/include/hw/xen/interface/xen-compat.h
+++ b/include/hw/xen/interface/xen-compat.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * xen-compat.h
  *
  * Guest OS interface to Xen.  Compatibility layer.
  *
- * 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.
- *
  * Copyright (c) 2006, Christian Limpach
  */
 
diff --git a/include/hw/xen/interface/xen.h b/include/hw/xen/interface/xen.h
index e373592c33..920567e006 100644
--- a/include/hw/xen/interface/xen.h
+++ b/include/hw/xen/interface/xen.h
@@ -1,26 +1,9 @@
+/* SPDX-License-Identifier: MIT */
 /******************************************************************************
  * xen.h
  *
  * Guest OS interface to 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.
- *
  * Copyright (c) 2004, K A Fraser
  */
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:22:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628642.980397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0II8-0005h3-6a; Tue, 07 Nov 2023 09:22:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628642.980397; Tue, 07 Nov 2023 09: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 1r0II7-0005fu-VF; Tue, 07 Nov 2023 09:22:35 +0000
Received: by outflank-mailman (input) for mailman id 628642;
 Tue, 07 Nov 2023 09:22: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=nBTJ=GU=desiato.srs.infradead.org=BATV+c94b4d3bb33faa26daf4+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0II4-0001o6-FK
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:32 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2bb40de2-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:28 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r0IHP-00BtG3-0d; Tue, 07 Nov 2023 09:21:55 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHO-001hKc-0d; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 2bb40de2-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=4jb9LQebbNr1lu55nsYxyaR/4to34RzPc6idNKPDLDo=; b=pJG7uqRdoB/2roBAZ+xs9pfJRk
	uDJN3KXIU18DwhoZmm4Y+rEG1lvYbdD6Aw7um24z3ieV7V1XYE0irfYDtZ8sPh7XcH0cU49loQUWF
	KEqwPdvCpDNJ2oT2hFgxEXCYrORsJNjincPkjz2YFvZfQ1OJir4LO761YXEpd5VAZQjLPRUTyKPj1
	xBga34HAMXv4ajXsynOADAiVSFL41GMMrN2Hg0dhSro9IC7lzpAxpr3P9LNuXQtvHZTBi5PHbnC+b
	0ifxuoI/8Iumcf17Y99Y/ppi02Yr33Pk5rJMfWIGp6kb5XBu6c4I6zWgr+ADQD9JahCzavBHI8K7g
	ce3oQMzA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 12/15] hw/xen: update Xen PV NIC to XenDevice model
Date: Tue,  7 Nov 2023 09:21:44 +0000
Message-ID: <20231107092149.404842-13-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

This allows us to use Xen PV networking with emulated Xen guests, and to
add them on the command line or hotplug.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/net/meson.build        |   2 +-
 hw/net/trace-events       |  11 +
 hw/net/xen_nic.c          | 484 +++++++++++++++++++++++++++++---------
 hw/xenpv/xen_machine_pv.c |   1 -
 4 files changed, 381 insertions(+), 117 deletions(-)

diff --git a/hw/net/meson.build b/hw/net/meson.build
index 2632634df3..f64651c467 100644
--- a/hw/net/meson.build
+++ b/hw/net/meson.build
@@ -1,5 +1,5 @@
 system_ss.add(when: 'CONFIG_DP8393X', if_true: files('dp8393x.c'))
-system_ss.add(when: 'CONFIG_XEN', if_true: files('xen_nic.c'))
+system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen_nic.c'))
 system_ss.add(when: 'CONFIG_NE2000_COMMON', if_true: files('ne2000.c'))
 
 # PCI network cards
diff --git a/hw/net/trace-events b/hw/net/trace-events
index 3abfd65e5b..3097742cc0 100644
--- a/hw/net/trace-events
+++ b/hw/net/trace-events
@@ -482,3 +482,14 @@ dp8393x_receive_oversize(int size) "oversize packet, pkt_size is %d"
 dp8393x_receive_not_netcard(void) "packet not for netcard"
 dp8393x_receive_packet(int crba) "Receive packet at 0x%"PRIx32
 dp8393x_receive_write_status(int crba) "Write status at 0x%"PRIx32
+
+# xen_nic.c
+xen_netdev_realize(int dev, const char *info, const char *peer) "vif%u info '%s' peer '%s'"
+xen_netdev_unrealize(int dev) "vif%u"
+xen_netdev_create(int dev) "vif%u"
+xen_netdev_destroy(int dev) "vif%u"
+xen_netdev_disconnect(int dev) "vif%u"
+xen_netdev_connect(int dev, unsigned int tx, unsigned int rx, int port) "vif%u tx %u rx %u port %u"
+xen_netdev_frontend_changed(const char *dev, int state) "vif%s state %d"
+xen_netdev_tx(int dev, int ref, int off, int len, unsigned int flags, const char *c, const char *d, const char *m, const char *e) "vif%u ref %u off %u len %u flags 0x%x%s%s%s%s"
+xen_netdev_rx(int dev, int idx, int status, int flags) "vif%u idx %d status %d flags 0x%x"
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 9bbf6599fc..af4ba3f1e6 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -20,6 +20,13 @@
  */
 
 #include "qemu/osdep.h"
+#include "qemu/main-loop.h"
+#include "qemu/cutils.h"
+#include "qemu/log.h"
+#include "qemu/qemu-print.h"
+#include "qapi/qmp/qdict.h"
+#include "qapi/error.h"
+
 #include <sys/socket.h>
 #include <sys/ioctl.h>
 #include <sys/wait.h>
@@ -27,18 +34,26 @@
 #include "net/net.h"
 #include "net/checksum.h"
 #include "net/util.h"
-#include "hw/xen/xen-legacy-backend.h"
+
+#include "hw/xen/xen-backend.h"
+#include "hw/xen/xen-bus-helper.h"
+#include "hw/qdev-properties.h"
+#include "hw/qdev-properties-system.h"
 
 #include "hw/xen/interface/io/netif.h"
+#include "hw/xen/interface/io/xs_wire.h"
+
+#include "trace.h"
 
 /* ------------------------------------------------------------- */
 
 struct XenNetDev {
-    struct XenLegacyDevice      xendev;  /* must be first */
-    char                  *mac;
+    struct XenDevice      xendev;  /* must be first */
+    XenEventChannel       *event_channel;
+    int                   dev;
     int                   tx_work;
-    int                   tx_ring_ref;
-    int                   rx_ring_ref;
+    unsigned int          tx_ring_ref;
+    unsigned int          rx_ring_ref;
     struct netif_tx_sring *txs;
     struct netif_rx_sring *rxs;
     netif_tx_back_ring_t  tx_ring;
@@ -47,6 +62,11 @@ struct XenNetDev {
     NICState              *nic;
 };
 
+typedef struct XenNetDev XenNetDev;
+
+#define TYPE_XEN_NET_DEVICE "xen-net-device"
+OBJECT_DECLARE_SIMPLE_TYPE(XenNetDev, XEN_NET_DEVICE)
+
 /* ------------------------------------------------------------- */
 
 static void net_tx_response(struct XenNetDev *netdev, netif_tx_request_t *txp, int8_t st)
@@ -68,7 +88,8 @@ static void net_tx_response(struct XenNetDev *netdev, netif_tx_request_t *txp, i
     netdev->tx_ring.rsp_prod_pvt = ++i;
     RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&netdev->tx_ring, notify);
     if (notify) {
-        xen_pv_send_notify(&netdev->xendev);
+        xen_device_notify_event_channel(XEN_DEVICE(netdev),
+                                        netdev->event_channel, NULL);
     }
 
     if (i == netdev->tx_ring.req_cons) {
@@ -104,13 +125,16 @@ static void net_tx_error(struct XenNetDev *netdev, netif_tx_request_t *txp, RING
 #endif
 }
 
-static void net_tx_packets(struct XenNetDev *netdev)
+static bool net_tx_packets(struct XenNetDev *netdev)
 {
+    bool done_something = false;
     netif_tx_request_t txreq;
     RING_IDX rc, rp;
     void *page;
     void *tmpbuf = NULL;
 
+    assert(qemu_mutex_iothread_locked());
+
     for (;;) {
         rc = netdev->tx_ring.req_cons;
         rp = netdev->tx_ring.sring->req_prod;
@@ -122,49 +146,52 @@ static void net_tx_packets(struct XenNetDev *netdev)
             }
             memcpy(&txreq, RING_GET_REQUEST(&netdev->tx_ring, rc), sizeof(txreq));
             netdev->tx_ring.req_cons = ++rc;
+            done_something = true;
 
 #if 1
             /* should not happen in theory, we don't announce the *
              * feature-{sg,gso,whatelse} flags in xenstore (yet?) */
             if (txreq.flags & NETTXF_extra_info) {
-                xen_pv_printf(&netdev->xendev, 0, "FIXME: extra info flag\n");
+                qemu_log_mask(LOG_UNIMP, "vif%u: FIXME: extra info flag\n",
+                              netdev->dev);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
             if (txreq.flags & NETTXF_more_data) {
-                xen_pv_printf(&netdev->xendev, 0, "FIXME: more data flag\n");
+                qemu_log_mask(LOG_UNIMP, "vif%u: FIXME: more data flag\n",
+                              netdev->dev);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
 #endif
 
             if (txreq.size < 14) {
-                xen_pv_printf(&netdev->xendev, 0, "bad packet size: %d\n",
-                              txreq.size);
+                qemu_log_mask(LOG_GUEST_ERROR, "vif%u: bad packet size: %d\n",
+                              netdev->dev, txreq.size);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
 
             if ((txreq.offset + txreq.size) > XEN_PAGE_SIZE) {
-                xen_pv_printf(&netdev->xendev, 0, "error: page crossing\n");
+                qemu_log_mask(LOG_GUEST_ERROR, "vif%u: error: page crossing\n",
+                              netdev->dev);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
 
-            xen_pv_printf(&netdev->xendev, 3,
-                          "tx packet ref %d, off %d, len %d, flags 0x%x%s%s%s%s\n",
-                          txreq.gref, txreq.offset, txreq.size, txreq.flags,
-                          (txreq.flags & NETTXF_csum_blank)     ? " csum_blank"     : "",
-                          (txreq.flags & NETTXF_data_validated) ? " data_validated" : "",
-                          (txreq.flags & NETTXF_more_data)      ? " more_data"      : "",
-                          (txreq.flags & NETTXF_extra_info)     ? " extra_info"     : "");
+            trace_xen_netdev_tx(netdev->dev, txreq.gref, txreq.offset,
+                                txreq.size, txreq.flags,
+                                (txreq.flags & NETTXF_csum_blank)     ? " csum_blank"     : "",
+                                (txreq.flags & NETTXF_data_validated) ? " data_validated" : "",
+                                (txreq.flags & NETTXF_more_data)      ? " more_data"      : "",
+                                (txreq.flags & NETTXF_extra_info)     ? " extra_info"     : "");
 
-            page = xen_be_map_grant_ref(&netdev->xendev, txreq.gref,
-                                        PROT_READ);
+            page = xen_device_map_grant_refs(&netdev->xendev, &txreq.gref, 1,
+                                             PROT_READ, NULL);
             if (page == NULL) {
-                xen_pv_printf(&netdev->xendev, 0,
-                              "error: tx gref dereference failed (%d)\n",
-                             txreq.gref);
+                qemu_log_mask(LOG_GUEST_ERROR,
+                              "vif%u: tx gref dereference failed (%d)\n",
+                              netdev->dev, txreq.gref);
                 net_tx_error(netdev, &txreq, rc);
                 continue;
             }
@@ -181,7 +208,8 @@ static void net_tx_packets(struct XenNetDev *netdev)
                 qemu_send_packet(qemu_get_queue(netdev->nic),
                                  page + txreq.offset, txreq.size);
             }
-            xen_be_unmap_grant_ref(&netdev->xendev, page, txreq.gref);
+            xen_device_unmap_grant_refs(&netdev->xendev, page, &txreq.gref, 1,
+                                        NULL);
             net_tx_response(netdev, &txreq, NETIF_RSP_OKAY);
         }
         if (!netdev->tx_work) {
@@ -190,6 +218,7 @@ static void net_tx_packets(struct XenNetDev *netdev)
         netdev->tx_work = 0;
     }
     g_free(tmpbuf);
+    return done_something;
 }
 
 /* ------------------------------------------------------------- */
@@ -212,14 +241,13 @@ static void net_rx_response(struct XenNetDev *netdev,
         resp->status = (int16_t)st;
     }
 
-    xen_pv_printf(&netdev->xendev, 3,
-                  "rx response: idx %d, status %d, flags 0x%x\n",
-                  i, resp->status, resp->flags);
+    trace_xen_netdev_rx(netdev->dev, i, resp->status, resp->flags);
 
     netdev->rx_ring.rsp_prod_pvt = ++i;
     RING_PUSH_RESPONSES_AND_CHECK_NOTIFY(&netdev->rx_ring, notify);
     if (notify) {
-        xen_pv_send_notify(&netdev->xendev);
+        xen_device_notify_event_channel(XEN_DEVICE(netdev),
+                                        netdev->event_channel, NULL);
     }
 }
 
@@ -232,7 +260,9 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
     RING_IDX rc, rp;
     void *page;
 
-    if (netdev->xendev.be_state != XenbusStateConnected) {
+    assert(qemu_mutex_iothread_locked());
+
+    if (xen_device_backend_get_state(&netdev->xendev) != XenbusStateConnected) {
         return -1;
     }
 
@@ -244,24 +274,26 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
         return 0;
     }
     if (size > XEN_PAGE_SIZE - NET_IP_ALIGN) {
-        xen_pv_printf(&netdev->xendev, 0, "packet too big (%lu > %ld)",
-                      (unsigned long)size, XEN_PAGE_SIZE - NET_IP_ALIGN);
+        qemu_log_mask(LOG_GUEST_ERROR, "vif%u: packet too big (%lu > %ld)",
+                      netdev->dev, (unsigned long)size,
+                      XEN_PAGE_SIZE - NET_IP_ALIGN);
         return -1;
     }
 
     memcpy(&rxreq, RING_GET_REQUEST(&netdev->rx_ring, rc), sizeof(rxreq));
     netdev->rx_ring.req_cons = ++rc;
 
-    page = xen_be_map_grant_ref(&netdev->xendev, rxreq.gref, PROT_WRITE);
+    page = xen_device_map_grant_refs(&netdev->xendev, &rxreq.gref, 1,
+                                     PROT_WRITE, NULL);
     if (page == NULL) {
-        xen_pv_printf(&netdev->xendev, 0,
-                      "error: rx gref dereference failed (%d)\n",
-                      rxreq.gref);
+        qemu_log_mask(LOG_GUEST_ERROR,
+                      "vif%u: rx gref dereference failed (%d)\n",
+                      netdev->dev, rxreq.gref);
         net_rx_response(netdev, &rxreq, NETIF_RSP_ERROR, 0, 0, 0);
         return -1;
     }
     memcpy(page + NET_IP_ALIGN, buf, size);
-    xen_be_unmap_grant_ref(&netdev->xendev, page, rxreq.gref);
+    xen_device_unmap_grant_refs(&netdev->xendev, page, &rxreq.gref, 1, NULL);
     net_rx_response(netdev, &rxreq, NETIF_RSP_OKAY, NET_IP_ALIGN, size, 0);
 
     return size;
@@ -275,139 +307,361 @@ static NetClientInfo net_xen_info = {
     .receive = net_rx_packet,
 };
 
-static int net_init(struct XenLegacyDevice *xendev)
+static void xen_netdev_realize(XenDevice *xendev, Error **errp)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
+    ERRP_GUARD();
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+    NetClientState *nc;
 
-    /* read xenstore entries */
-    if (netdev->mac == NULL) {
-        netdev->mac = xenstore_read_be_str(&netdev->xendev, "mac");
-    }
-
-    /* do we have all we need? */
-    if (netdev->mac == NULL) {
-        return -1;
-    }
+    qemu_macaddr_default_if_unset(&netdev->conf.macaddr);
 
-    if (net_parse_macaddr(netdev->conf.macaddr.a, netdev->mac) < 0) {
-        return -1;
-    }
+    xen_device_frontend_printf(xendev, "mac", "%02x:%02x:%02x:%02x:%02x:%02x",
+                               netdev->conf.macaddr.a[0],
+                               netdev->conf.macaddr.a[1],
+                               netdev->conf.macaddr.a[2],
+                               netdev->conf.macaddr.a[3],
+                               netdev->conf.macaddr.a[4],
+                               netdev->conf.macaddr.a[5]);
 
     netdev->nic = qemu_new_nic(&net_xen_info, &netdev->conf,
-                               "xen", NULL, netdev);
+                               object_get_typename(OBJECT(xendev)),
+                               DEVICE(xendev)->id, netdev);
 
-    qemu_set_info_str(qemu_get_queue(netdev->nic),
-                      "nic: xenbus vif macaddr=%s", netdev->mac);
+    nc = qemu_get_queue(netdev->nic);
+    qemu_format_nic_info_str(nc, netdev->conf.macaddr.a);
 
     /* fill info */
-    xenstore_write_be_int(&netdev->xendev, "feature-rx-copy", 1);
-    xenstore_write_be_int(&netdev->xendev, "feature-rx-flip", 0);
+    xen_device_backend_printf(xendev, "feature-rx-copy", "%u", 1);
+    xen_device_backend_printf(xendev, "feature-rx-flip", "%u", 0);
 
-    return 0;
+    trace_xen_netdev_realize(netdev->dev, nc->info_str, nc->peer ?
+                             nc->peer->name : "(none)");
 }
 
-static int net_connect(struct XenLegacyDevice *xendev)
+static bool net_event(void *_xendev)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
-    int rx_copy;
+    XenNetDev *netdev = XEN_NET_DEVICE(_xendev);
+    bool done_something;
 
-    if (xenstore_read_fe_int(&netdev->xendev, "tx-ring-ref",
-                             &netdev->tx_ring_ref) == -1) {
-        return -1;
+    done_something = net_tx_packets(netdev);
+    qemu_flush_queued_packets(qemu_get_queue(netdev->nic));
+    return done_something;
+}
+
+static bool xen_netdev_connect(XenDevice *xendev, Error **errp)
+{
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+    unsigned int port, rx_copy;
+
+    assert(qemu_mutex_iothread_locked());
+
+    if (xen_device_frontend_scanf(xendev, "tx-ring-ref", "%u",
+                                  &netdev->tx_ring_ref) != 1) {
+        error_setg(errp, "failed to read tx-ring-ref");
+        return false;
     }
-    if (xenstore_read_fe_int(&netdev->xendev, "rx-ring-ref",
-                             &netdev->rx_ring_ref) == -1) {
-        return 1;
+
+    if (xen_device_frontend_scanf(xendev, "rx-ring-ref", "%u",
+                                  &netdev->rx_ring_ref) != 1) {
+        error_setg(errp, "failed to read rx-ring-ref");
+        return false;
     }
-    if (xenstore_read_fe_int(&netdev->xendev, "event-channel",
-                             &netdev->xendev.remote_port) == -1) {
-        return -1;
+
+    if (xen_device_frontend_scanf(xendev, "event-channel", "%u",
+                                  &port) != 1) {
+        error_setg(errp, "failed to read event-channel");
+        return false;
     }
 
-    if (xenstore_read_fe_int(&netdev->xendev, "request-rx-copy", &rx_copy) == -1) {
+    if (xen_device_frontend_scanf(xendev, "request-rx-copy", "%u",
+                                  &rx_copy) != 1) {
         rx_copy = 0;
     }
     if (rx_copy == 0) {
-        xen_pv_printf(&netdev->xendev, 0,
-                      "frontend doesn't support rx-copy.\n");
-        return -1;
+        error_setg(errp, "frontend doesn't support rx-copy");
+        return false;
     }
 
-    netdev->txs = xen_be_map_grant_ref(&netdev->xendev,
-                                       netdev->tx_ring_ref,
-                                       PROT_READ | PROT_WRITE);
+    netdev->txs = xen_device_map_grant_refs(xendev,
+                                            &netdev->tx_ring_ref, 1,
+                                            PROT_READ | PROT_WRITE,
+                                            errp);
     if (!netdev->txs) {
-        return -1;
+        error_prepend(errp, "failed to map tx grant ref: ");
+        return false;
     }
-    netdev->rxs = xen_be_map_grant_ref(&netdev->xendev,
-                                       netdev->rx_ring_ref,
-                                       PROT_READ | PROT_WRITE);
+
+    netdev->rxs = xen_device_map_grant_refs(xendev,
+                                            &netdev->rx_ring_ref, 1,
+                                            PROT_READ | PROT_WRITE,
+                                            errp);
     if (!netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
-                               netdev->tx_ring_ref);
-        netdev->txs = NULL;
-        return -1;
+        error_prepend(errp, "failed to map rx grant ref: ");
+        return false;
     }
+
     BACK_RING_INIT(&netdev->tx_ring, netdev->txs, XEN_PAGE_SIZE);
     BACK_RING_INIT(&netdev->rx_ring, netdev->rxs, XEN_PAGE_SIZE);
 
-    xen_be_bind_evtchn(&netdev->xendev);
+    netdev->event_channel = xen_device_bind_event_channel(xendev, port,
+                                                          net_event,
+                                                          netdev,
+                                                          errp);
+    if (!netdev->event_channel) {
+        return false;
+    }
 
-    xen_pv_printf(&netdev->xendev, 1, "ok: tx-ring-ref %d, rx-ring-ref %d, "
-                  "remote port %d, local port %d\n",
-                  netdev->tx_ring_ref, netdev->rx_ring_ref,
-                  netdev->xendev.remote_port, netdev->xendev.local_port);
+    trace_xen_netdev_connect(netdev->dev, netdev->tx_ring_ref,
+                             netdev->rx_ring_ref, port);
 
     net_tx_packets(netdev);
-    return 0;
+    return true;
 }
 
-static void net_disconnect(struct XenLegacyDevice *xendev)
+static void xen_netdev_disconnect(XenDevice *xendev, Error **errp)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+
+    trace_xen_netdev_disconnect(netdev->dev);
+
+    assert(qemu_mutex_iothread_locked());
 
-    xen_pv_unbind_evtchn(&netdev->xendev);
+    netdev->tx_ring.sring = NULL;
+    netdev->rx_ring.sring = NULL;
 
+    if (netdev->event_channel) {
+        xen_device_unbind_event_channel(xendev, netdev->event_channel,
+                                        errp);
+        netdev->event_channel = NULL;
+    }
     if (netdev->txs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->txs,
-                               netdev->tx_ring_ref);
+        xen_device_unmap_grant_refs(xendev, netdev->txs,
+                                    &netdev->tx_ring_ref, 1, errp);
         netdev->txs = NULL;
     }
     if (netdev->rxs) {
-        xen_be_unmap_grant_ref(&netdev->xendev, netdev->rxs,
-                               netdev->rx_ring_ref);
+        xen_device_unmap_grant_refs(xendev, netdev->rxs,
+                                    &netdev->rx_ring_ref, 1, errp);
         netdev->rxs = NULL;
     }
 }
 
-static void net_event(struct XenLegacyDevice *xendev)
+/* -------------------------------------------------------------------- */
+
+
+static void xen_netdev_frontend_changed(XenDevice *xendev,
+                                       enum xenbus_state frontend_state,
+                                       Error **errp)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
-    net_tx_packets(netdev);
-    qemu_flush_queued_packets(qemu_get_queue(netdev->nic));
+    ERRP_GUARD();
+    enum xenbus_state backend_state = xen_device_backend_get_state(xendev);
+
+    trace_xen_netdev_frontend_changed(xendev->name, frontend_state);
+
+    switch (frontend_state) {
+    case XenbusStateConnected:
+        if (backend_state == XenbusStateConnected) {
+            break;
+        }
+
+        xen_netdev_disconnect(xendev, errp);
+        if (*errp) {
+            break;
+        }
+
+        if (!xen_netdev_connect(xendev, errp)) {
+            xen_netdev_disconnect(xendev, NULL);
+            xen_device_backend_set_state(xendev, XenbusStateClosing);
+            break;
+        }
+
+        xen_device_backend_set_state(xendev, XenbusStateConnected);
+        break;
+
+    case XenbusStateClosing:
+        xen_device_backend_set_state(xendev, XenbusStateClosing);
+        break;
+
+    case XenbusStateClosed:
+    case XenbusStateUnknown:
+        xen_netdev_disconnect(xendev, errp);
+        if (*errp) {
+            break;
+        }
+
+        xen_device_backend_set_state(xendev, XenbusStateClosed);
+        break;
+
+    case XenbusStateInitialised:
+        /*
+         * Linux netback does nothing on the frontend going (back) to
+         * XenbusStateInitialised, so do the same here.
+         */
+    default:
+        break;
+    }
 }
 
-static int net_free(struct XenLegacyDevice *xendev)
+static char *xen_netdev_get_name(XenDevice *xendev, Error **errp)
 {
-    struct XenNetDev *netdev = container_of(xendev, struct XenNetDev, xendev);
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+
+    if (netdev->dev == -1) {
+        XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
+        char fe_path[XENSTORE_ABS_PATH_MAX + 1];
+        int idx = (xen_mode == XEN_EMULATE) ? 0 : 1;
+        char *value;
+
+        /* Theoretically we could go up to INT_MAX here but that's overkill */
+        while (idx < 100) {
+            snprintf(fe_path, sizeof(fe_path),
+                     "/local/domain/%u/device/vif/%u",
+                     xendev->frontend_id, idx);
+            value = qemu_xen_xs_read(xenbus->xsh, XBT_NULL, fe_path, NULL);
+            if (!value) {
+                if (errno == ENOENT) {
+                    netdev->dev = idx;
+                    goto found;
+                }
+                error_setg(errp, "cannot read %s: %s", fe_path,
+                           strerror(errno));
+                return NULL;
+            }
+            free(value);
+            idx++;
+        }
+        error_setg(errp, "cannot find device index for netdev device");
+        return NULL;
+    }
+ found:
+    return g_strdup_printf("%u", netdev->dev);
+}
+
+static void xen_netdev_unrealize(XenDevice *xendev)
+{
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+
+    trace_xen_netdev_unrealize(netdev->dev);
+
+    /* Disconnect from the frontend in case this has not already happened */
+    xen_netdev_disconnect(xendev, NULL);
 
     if (netdev->nic) {
         qemu_del_nic(netdev->nic);
-        netdev->nic = NULL;
     }
-    g_free(netdev->mac);
-    netdev->mac = NULL;
-    return 0;
 }
 
 /* ------------------------------------------------------------- */
 
-struct XenDevOps xen_netdev_ops = {
-    .size       = sizeof(struct XenNetDev),
-    .flags      = DEVOPS_FLAG_NEED_GNTDEV,
-    .init       = net_init,
-    .initialise    = net_connect,
-    .event      = net_event,
-    .disconnect = net_disconnect,
-    .free       = net_free,
+static Property xen_netdev_properties[] = {
+    DEFINE_NIC_PROPERTIES(XenNetDev, conf),
+    DEFINE_PROP_INT32("idx", XenNetDev, dev, -1),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
+static void xen_netdev_class_init(ObjectClass *class, void *data)
+{
+    DeviceClass *dev_class = DEVICE_CLASS(class);
+    XenDeviceClass *xendev_class = XEN_DEVICE_CLASS(class);
+
+    xendev_class->backend = "qnic";
+    xendev_class->device = "vif";
+    xendev_class->get_name = xen_netdev_get_name;
+    xendev_class->realize = xen_netdev_realize;
+    xendev_class->frontend_changed = xen_netdev_frontend_changed;
+    xendev_class->unrealize = xen_netdev_unrealize;
+    set_bit(DEVICE_CATEGORY_NETWORK, dev_class->categories);
+    dev_class->user_creatable = true;
+
+    device_class_set_props(dev_class, xen_netdev_properties);
+}
+
+static const TypeInfo xen_net_type_info = {
+    .name = TYPE_XEN_NET_DEVICE,
+    .parent = TYPE_XEN_DEVICE,
+    .instance_size = sizeof(XenNetDev),
+    .class_init = xen_netdev_class_init,
+};
+
+static void xen_net_register_types(void)
+{
+    type_register_static(&xen_net_type_info);
+}
+
+type_init(xen_net_register_types)
+
+/* Called to instantiate a XenNetDev when the backend is detected. */
+static void xen_net_device_create(XenBackendInstance *backend,
+                                  QDict *opts, Error **errp)
+{
+    ERRP_GUARD();
+    XenBus *xenbus = xen_backend_get_bus(backend);
+    const char *name = xen_backend_get_name(backend);
+    XenDevice *xendev = NULL;
+    unsigned long number;
+    const char *macstr;
+    XenNetDev *net;
+    MACAddr mac;
+
+    if (qemu_strtoul(name, NULL, 10, &number) || number >= INT_MAX) {
+        error_setg(errp, "failed to parse name '%s'", name);
+        goto fail;
+    }
+
+    trace_xen_netdev_create(number);
+
+    macstr = qdict_get_try_str(opts, "mac");
+    if (macstr == NULL) {
+        error_setg(errp, "no MAC address found");
+        goto fail;
+    }
+
+    if (net_parse_macaddr(mac.a, macstr) < 0) {
+        error_setg(errp, "failed to parse MAC address");
+        goto fail;
+    }
+
+    xendev = XEN_DEVICE(qdev_new(TYPE_XEN_NET_DEVICE));
+    net = XEN_NET_DEVICE(xendev);
+
+    net->dev = number;
+    memcpy(&net->conf.macaddr, &mac, sizeof(mac));
+
+    if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
+        xen_backend_set_device(backend, xendev);
+        return;
+    }
+
+    error_prepend(errp, "realization of net device %lu failed: ",
+                  number);
+
+ fail:
+    if (xendev) {
+        object_unparent(OBJECT(xendev));
+    }
+}
+
+static void xen_net_device_destroy(XenBackendInstance *backend,
+                                   Error **errp)
+{
+    ERRP_GUARD();
+    XenDevice *xendev = xen_backend_get_device(backend);
+    XenNetDev *netdev = XEN_NET_DEVICE(xendev);
+
+    trace_xen_netdev_destroy(netdev->dev);
+
+    object_unparent(OBJECT(xendev));
+}
+
+static const XenBackendInfo xen_net_backend_info  = {
+    .type = "qnic",
+    .create = xen_net_device_create,
+    .destroy = xen_net_device_destroy,
 };
+
+static void xen_net_register_backend(void)
+{
+    xen_backend_register(&xen_net_backend_info);
+}
+
+xen_backend_init(xen_net_register_backend);
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index 1533f5dfb4..9f9f137f99 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -54,7 +54,6 @@ static void xen_init_pv(MachineState *machine)
     }
 
     xen_be_register("vfb", &xen_framebuffer_ops);
-    xen_be_register("qnic", &xen_netdev_ops);
 
     /* configure framebuffer */
     if (vga_interface_type == VGA_XENFB) {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:23:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:23:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628660.980414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IJD-0003AG-LQ; Tue, 07 Nov 2023 09:23:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628660.980414; Tue, 07 Nov 2023 09:23: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 1r0IJD-00039k-G3; Tue, 07 Nov 2023 09:23:43 +0000
Received: by outflank-mailman (input) for mailman id 628660;
 Tue, 07 Nov 2023 09:23: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=nBTJ=GU=desiato.srs.infradead.org=BATV+c94b4d3bb33faa26daf4+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IIH-0001o6-BW
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:22:45 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 340e0cfd-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:22:42 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r0IHP-00BtG2-0U; Tue, 07 Nov 2023 09:21:52 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r0IHN-001hKM-35; Tue, 07 Nov 2023 09: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
X-Inumbo-ID: 340e0cfd-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=/CMaJBnJmvQd/ocElpHBvWeWCvX/LNONV/G+w8L6jDA=; b=KsMnxRK1sIgZPj9JkKygbTnE/V
	IACskiJ0AD9+u/vFFRPe4Y36Ty4MqrZBtO8C48/FJ7M+5BxQEvwFLznwKaSgnApTLVP+nvUrC3+h+
	7aWMU2Bi7wI7nqDZU3It/gB6UPn6X66QRmpJXn0Iw4vlubYMkGrXcBQ8WI19yGRavhnThFEZWS9Bk
	UQo4gSySTaDRLHxFxPEbT+MqXHJwL+kwtCv6IOa990N1BkHhB64VcfMsxINkxo7oSoYHc3GqzHLy9
	nttpoKefPK+CPrgFIblugHeh2nOIc5y9Kffg/yH8wEI/DJilN7HamMoDc3JJfCTU8FHe33KaAfaok
	p3GlO0+w==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org,
	Stefan Hajnoczi <stefanha@redhat.com>
Cc: Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org,
	kvm@vger.kernel.org
Subject: [PULL 08/15] hw/xen: do not repeatedly try to create a failing backend device
Date: Tue,  7 Nov 2023 09:21:40 +0000
Message-ID: <20231107092149.404842-9-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

If xen_backend_device_create() fails to instantiate a device, the XenBus
code will just keep trying over and over again each time the bus is
re-enumerated, as long as the backend appears online and in
XenbusStateInitialising.

The only thing which prevents the XenBus code from recreating duplicates
of devices which already exist, is the fact that xen_device_realize()
sets the backend state to XenbusStateInitWait. If the attempt to create
the device doesn't get *that* far, that's when it will keep getting
retried.

My first thought was to handle errors by setting the backend state to
XenbusStateClosed, but that doesn't work for XenConsole which wants to
*ignore* any device of type != "ioemu" completely.

So, make xen_backend_device_create() *keep* the XenBackendInstance for a
failed device, and provide a new xen_backend_exists() function to allow
xen_bus_type_enumerate() to check whether one already exists before
creating a new one.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/xen/xen-backend.c         | 27 +++++++++++++++++++++------
 hw/xen/xen-bus.c             |  3 ++-
 include/hw/xen/xen-backend.h |  1 +
 3 files changed, 24 insertions(+), 7 deletions(-)

diff --git a/hw/xen/xen-backend.c b/hw/xen/xen-backend.c
index 5b0fb76eae..b9bf70a9f5 100644
--- a/hw/xen/xen-backend.c
+++ b/hw/xen/xen-backend.c
@@ -101,6 +101,24 @@ static XenBackendInstance *xen_backend_list_find(XenDevice *xendev)
     return NULL;
 }
 
+bool xen_backend_exists(const char *type, const char *name)
+{
+    const XenBackendImpl *impl = xen_backend_table_lookup(type);
+    XenBackendInstance *backend;
+
+    if (!impl) {
+        return false;
+    }
+
+    QLIST_FOREACH(backend, &backend_list, entry) {
+        if (backend->impl == impl && !strcmp(backend->name, name)) {
+            return true;
+        }
+    }
+
+    return false;
+}
+
 static void xen_backend_list_remove(XenBackendInstance *backend)
 {
     QLIST_REMOVE(backend, entry);
@@ -122,11 +140,6 @@ void xen_backend_device_create(XenBus *xenbus, const char *type,
     backend->name = g_strdup(name);
 
     impl->create(backend, opts, errp);
-    if (*errp) {
-        g_free(backend->name);
-        g_free(backend);
-        return;
-    }
 
     backend->impl = impl;
     xen_backend_list_add(backend);
@@ -165,7 +178,9 @@ bool xen_backend_try_device_destroy(XenDevice *xendev, Error **errp)
     }
 
     impl = backend->impl;
-    impl->destroy(backend, errp);
+    if (backend->xendev) {
+        impl->destroy(backend, errp);
+    }
 
     xen_backend_list_remove(backend);
     g_free(backend->name);
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 12ff782005..3ffd1a5333 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -209,7 +209,8 @@ static void xen_bus_type_enumerate(XenBus *xenbus, const char *type)
                           NULL, "%u", &online) != 1)
             online = 0;
 
-        if (online && state == XenbusStateInitialising) {
+        if (online && state == XenbusStateInitialising &&
+            !xen_backend_exists(type, backend[i])) {
             Error *local_err = NULL;
 
             xen_bus_backend_create(xenbus, type, backend[i], backend_path,
diff --git a/include/hw/xen/xen-backend.h b/include/hw/xen/xen-backend.h
index aac2fd454d..0f01631ae7 100644
--- a/include/hw/xen/xen-backend.h
+++ b/include/hw/xen/xen-backend.h
@@ -33,6 +33,7 @@ XenDevice *xen_backend_get_device(XenBackendInstance *backend);
 void xen_backend_register(const XenBackendInfo *info);
 const char **xen_backend_get_types(unsigned int *nr);
 
+bool xen_backend_exists(const char *type, const char *name);
 void xen_backend_device_create(XenBus *xenbus, const char *type,
                                const char *name, QDict *opts, Error **errp);
 bool xen_backend_try_device_destroy(XenDevice *xendev, Error **errp);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:25:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:25:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628694.980423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0IKn-0004ZE-UF; Tue, 07 Nov 2023 09:25:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628694.980423; Tue, 07 Nov 2023 09:25: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 1r0IKn-0004Z5-Qr; Tue, 07 Nov 2023 09:25:21 +0000
Received: by outflank-mailman (input) for mailman id 628694;
 Tue, 07 Nov 2023 09:25: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0IKl-0004Ym-Pf
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:25:19 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 90c8569a-7d4f-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 10:25:18 +0100 (CET)
Received: from [2001:8b0:10b:5:63c4:8578:30dc:d79e]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0IKZ-00BSLB-A9; Tue, 07 Nov 2023 09: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>
X-Inumbo-ID: 90c8569a-7d4f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=lDnI+BR25hSHTCQh/yPBWI/j2NQPRqi0Ej7YY+Ig8nc=; b=XXLIEPqzWBhckNc+r6HnYqZL6i
	IVXGktcmSkS87UVPvDTWdvY8bm4lkl9rVGmkHd9+2LjBriZUij9nzKzqyVoe69hEJUbEPTPJcHLYZ
	BpNqrG69JpyEY/V1ijBMjqRRgE4gt6Jxd483s/Z7cv61EcuA72XjlxxxGH57nOD1FxHeI+p4XlcuT
	Ot3SvAxAiS0oQbvvYh402snsfFS/O735gIPQTboxF2YZbLFNgn8UXKBq08PzoSf5bCxhLx/11m6Le
	2lvCDYKP+QK1P5djDv/gOgxbhLnqDu+6BRffd4wNcicmRFVaXiPs7KCg8XAZmcrQ5zpA7QJdnd9al
	0f88bY4A==;
Message-ID: <d86f6b781420898f959bc39d488d589e640c8cf5.camel@infradead.org>
Subject: Re: [PATCH v4 16/17] doc/sphinx/hxtool.py: add optional label
 argument to SRST directive
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>,  =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau
 <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
 <eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
 Marcelo Tosatti <mtosatti@redhat.com>,  qemu-block@nongnu.org,
 xen-devel@lists.xenproject.org, kvm@vger.kernel.org
Date: Tue, 07 Nov 2023 09:25:07 +0000
In-Reply-To: <20231106143507.1060610-17-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
	 <20231106143507.1060610-17-dwmw2@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-rQuFZzNqFQQuyIVq2aQW"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-06 at 14:35 +0000, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
>=20
> We can't just embed labels directly into files like qemu-options.hx which
> are included from multiple top-level RST files, because Sphinx sees the
> labels as duplicate: https://github.com/sphinx-doc/sphinx/issues/9707
>=20
> So add an 'emitrefs' option to the Sphinx hxtool-doc directive, which is
> set only in invocation.rst and not from the HTML rendition of the man
> page. Along with an argument to the SRST directive which causes a label
> of the form '.. _LABEL-reference-label:' to be emitted when the emitrefs
> option is set.
>=20
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---

FWIW I've left this out of the pull request I just sent, and the Xen
docs just tell the user to go *find* the -initrd documentation instead
of being able to emit a direct link. We can fix that later.

--=-rQuFZzNqFQQuyIVq2aQW
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTA3MDkyNTA3WjAvBgkqhkiG9w0BCQQxIgQgUHu9UhMc
MzvsJ+Z+Y+Vzlp/LOfQhhPiLDZt2rfnD7xUwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCEQg40j/N457tiWL0212ZIxP+Mw/2UW7qL
0VKBEo5HJcZrXwPyhiUdrh7UHws8iVMPJskwoKJ/7+j2UZShXfGIVrsBy7EMT8iZn9squpKsFrOP
nf69vIrXfoNsOa+JLcKYotC9AtBB9bgVnzf9CHDjGZMkRdmRFTAuCTRY7yR4m4qraysX0RB6zxtI
Lj1oMSJiSXjrPffx6kU7oRGAm9oak/zcmevbAQp3TPHupEzsxuyehmHv6rl9mEHgFRkSQpuHFWO7
bTkdLl2daboEFlf2pj2UhNQK/mISzX7QrdHYc7kounFa9bkpCC+Hcgc6L1IMfeoM8eDbYQX/lYXN
vW7SfZh09gWmpVYo0OAVdWVlmNvOxLa2zdm7cQnjvh9aMloCjJ8rbjiANp7a097ugaMqV/53SS2V
fesa9haJzTarE2OqGHPrsGUWNj3dFCnnHRnIqO/OuN0NgtNRpj3uTA4HGHaNhu6zq5xMOL/7WeOt
h55X1h1T+4uRUb1UgFYnn+SFw1fJqYB8wC88T9pOyiiB5FfrNu1JR71rGgzuQJy14IYF0gCXCWf3
i1G+6uxen5C3tOhp3alcyapf7cF0ck8SG5JPusHFZER5pbfo30gF5b+RfbpqD5gfdanndltKiUL5
Uv1YSYJgLrN4Qn+pf+yqsBxKAa4AUQB3oVLEMUmMOwAAAAAAAA==


--=-rQuFZzNqFQQuyIVq2aQW--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:25:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:25:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628699.980433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0ILO-00055t-7a; Tue, 07 Nov 2023 09:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628699.980433; Tue, 07 Nov 2023 09:25: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 1r0ILO-00055m-3H; Tue, 07 Nov 2023 09:25:58 +0000
Received: by outflank-mailman (input) for mailman id 628699;
 Tue, 07 Nov 2023 09:25: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=q/6F=GU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r0ILN-0004zQ-Ci
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:25:57 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a71f7432-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:25:55 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-32d834ec222so2762888f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 01:25:55 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 n17-20020a5d67d1000000b003232380ffd7sm1783482wrw.102.2023.11.07.01.25.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Nov 2023 01:25:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a71f7432-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699349155; x=1699953955; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AAvhxt2fxtXXpzwhBx1/6IwDjT7bn+96I2c2Eb92AUg=;
        b=MCz/VU7WKqqwdMaHTETVPsBmtMCw1etUNudWlfKHKiUrA1ZcgSCGsKVwMrT6PurM/W
         SUPAp8J1rE1hQh2e89GEcTbuLk+lKT3okoiRMU09wBxmwufSQQo5JXHIl4A9XhgKCH9M
         VNo+CY68BzLiXVqLf6sUXaHEv8PREKRSVSqnE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699349155; x=1699953955;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=AAvhxt2fxtXXpzwhBx1/6IwDjT7bn+96I2c2Eb92AUg=;
        b=Oe0vN/3qzQw4/7kGizOprqMH7LPzX+W4L921ImKvsKU94wYvnBZ79r1j31aFJyQaMi
         IkSnUdy9nPjIuphaCXp5iVUXMJXnWoPAnvJTnAjhqFdj7gkkpWfgXSjRNW/2qnFCaCfM
         ojV/EYmbnZuYqyxq6T5S1KqSv32IH+BW2SBDLGJaI7QC8n1BFnU369VAaNz8BSqLx2Pd
         KljM9Agl1r0e5aDRKmbExg4VjhWuwVEmY8dWSyeIzG4v0/1/eDO1gIHGoDOtKTUpTcY9
         FU/4IVaa0M9d++UHSoV51FovQM3q3GV5OjtXs8ct1uVOwY9ZVxxaXvVmHG7bzD+/SCBh
         VR9A==
X-Gm-Message-State: AOJu0Yw8z9FgdQvH6uYbkvHo7nMY3bRuxM1Tt69A0U10wKsc9ZlYV2ow
	9xT/qWxBEKgMXuhEw1CWA4YDurnPmZLR6n4e3Qs=
X-Google-Smtp-Source: AGHT+IHhcPn5YHYbsI+8ngxSNbnzmkhzoWs77/YA/bbWXfRhh2XO8+DUaYXmTaeW6wAn8BkGM91Nwg==
X-Received: by 2002:adf:e7d0:0:b0:32d:a0a9:4785 with SMTP id e16-20020adfe7d0000000b0032da0a94785mr24212071wrn.7.1699349155113;
        Tue, 07 Nov 2023 01:25:55 -0800 (PST)
Message-ID: <fc3b4c15-6eda-4aa2-9bc3-f0823261c085@citrix.com>
Date: Tue, 7 Nov 2023 09:25:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Fix pointer overflow error message
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, 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>
References: <20231107091417.34159-1-michal.orzel@amd.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231107091417.34159-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 07/11/2023 9:14 am, Michal Orzel wrote:
> In __ubsan_handle_pointer_overflow(), fix the condition for determining
> whether a pointer operation overflowed or underflowed. Currently, the
> function reports "underflowed" when it should be reporting "overflowed"
> and vice versa.
>
> Example of incorrect error reporting:
> void *foo = (void *)__UINTPTR_MAX__;
> foo += 1;
>
> UBSAN:
> pointer operation underflowed ffffffff to 00000000
>
> Fixes: 4e3fb2fb47d6 ("ubsan: add clang 5.0 support")
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>  xen/common/ubsan/ubsan.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/common/ubsan/ubsan.c b/xen/common/ubsan/ubsan.c
> index 0fddacabda6a..a3a80fa99eec 100644
> --- a/xen/common/ubsan/ubsan.c
> +++ b/xen/common/ubsan/ubsan.c
> @@ -513,7 +513,7 @@ void __ubsan_handle_pointer_overflow(struct pointer_overflow_data *data,
>  	ubsan_prologue(&data->location, &flags);
>  
>  	pr_err("pointer operation %s %p to %p\n",
> -	       base > result ? "underflowed" : "overflowed",
> +	       base > result ? "overflowed" : "underflowed",

Lovely.

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:26:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:26:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628704.980443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0ILv-0005d0-Ez; Tue, 07 Nov 2023 09:26:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628704.980443; Tue, 07 Nov 2023 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 1r0ILv-0005ct-BS; Tue, 07 Nov 2023 09:26:31 +0000
Received: by outflank-mailman (input) for mailman id 628704;
 Tue, 07 Nov 2023 09:26: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=vjcX=GU=casper.srs.infradead.org=BATV+0fd401c0b30749933da3+7380+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r0ILu-0005bd-CO
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:26:30 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9fad902-7d4f-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 10:26:27 +0100 (CET)
Received: from [2001:8b0:10b:5:63c4:8578:30dc:d79e]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r0ILg-00BSPT-P5; Tue, 07 Nov 2023 09: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: b9fad902-7d4f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=p1TSQVpF6nzxSHBwLx4pIvUfIfh/fenhfieJnDJPWA4=; b=AAr2xYyuXFBK+ykK2iWZuwyM5e
	HbJuHIHRVDl6UBzpig0yliSoneIHfqc2nOfXCIu06fXUb0ML6PqUQ5+CzDrSAb2biGnKtnr10/Nv4
	5eAKbZrNIyByDKuAIZm4ezutVREDJbZ3Z+4yzz4T4RpZK/JWOz6kRlVGsVIXIglBMw/I9NnOblOfI
	LiGG/6cp9eBeSQXLgoZCb56cQQ15tuFhrEu5J7wSx4JWINY+2EyaIA3nCErjWuuh31lPyiU8Qqy+E
	bdG6CV6rFn2zpO/kaGy5MkjGHQXiHi/vOi5n2YVjR80/mq08KAl3STcOgYU/y3M/FAeoWVAvBLn+s
	6xibzNEQ==;
Message-ID: <797ea680eacd0012906aae89fd5cf94395d7b8cb.camel@infradead.org>
Subject: Re: [PATCH v4 14/17] net: do not delete nics in net_cleanup()
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Peter
 Maydell <peter.maydell@linaro.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>,  =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau
 <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Richard
 Henderson <richard.henderson@linaro.org>, Eduardo Habkost
 <eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>, Jason Wang <jasowang@redhat.com>,
 Marcelo Tosatti <mtosatti@redhat.com>,  qemu-block@nongnu.org,
 xen-devel@lists.xenproject.org, kvm@vger.kernel.org
Date: Tue, 07 Nov 2023 09:26:16 +0000
In-Reply-To: <20231106143507.1060610-15-dwmw2@infradead.org>
References: <20231106143507.1060610-1-dwmw2@infradead.org>
	 <20231106143507.1060610-15-dwmw2@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-fGWDpuQzN13l32rL7klP"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-06 at 14:35 +0000, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
>=20
> In net_cleanup() we only need to delete the netdevs, as those may have
> state which outlives Qemu when it exits, and thus may actually need to
> be cleaned up on exit.
>=20
> The nics, on the other hand, are owned by the device which created them.
> Most devices don't bother to clean up on exit because they don't have
> any state which will outlive Qemu... but XenBus devices do need to clean
> up their nodes in XenStore, and do have an exit handler to delete them.
>=20
> When the XenBus exit handler destroys the xen-net-device, it attempts
> to delete its nic after net_cleanup() had already done so. And crashes.
>=20
> Fix this by only deleting netdevs as we walk the list. As the comment
> notes, we can't use QTAILQ_FOREACH_SAFE() as each deletion may remove
> *multiple* entries, including the "safely" saved 'next' pointer. But
> we can store the *previous* entry, since nics are safe.
>=20
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Reviewed-by: Paul Durrant <paul@xen.org>

I've left this out of the pull request I've just sent, pending Jason's
approval for it. As it's a bugfix, I don't think we strictly has to be
in by *today*, right? We still have a little time?

--=-fGWDpuQzN13l32rL7klP
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTA3MDkyNjE2WjAvBgkqhkiG9w0BCQQxIgQgsRJsCtSX
Xs2a8O97MSyazEdh6m8IJbOwiFj2zh+7F+cwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBGEfiupl6Yl3DU5spaQG/GfQXkjU6D9hxv
CPrm6lgdK6gTHb6738ZzmCOLBRULrmfAQ1NbFybgIHVQyqCQ1dgoyeocmnua9Y3j70MUlD40m+Uu
aN+bIkzEH0O6DwvmonlFFIPOYW5VGtGutyDU9cbL3Lzvv3LntNYOb5l6yFdCFoSqYLcYLZVXjNNI
CwOHGziigc3pI7t4lriqBR3HhlD8GzxDiuRs/I8Jo5bF1CzkiWJUPrYIQUVr9BRfH2+PzViStnAR
IF2hIyzuZ3BSEqgnQtg6GxOe1M6z7JyJ1kJResMg9IHOOpwlQDVIdX5+zYrokxn4wQYvTGSDC6ux
VSDM4axJUIaAuR0oZV6T29mtq6b/dCxu8uUNJf5nK3yYzB/FQqhYqbJ0exG6YMk5HIOByy86wVgZ
aKkOb0o1B0Pdeu2ZmGsE7BEz0ERP12efJvQ9i0TZ3uiaD70jr/fOj6zbsZmPy952thbNaL9+J2Z7
aLLj8nQWq88iF9sSlNSuwN9udes+qY0BRARoxeGQ0MepS0dJsYhefQ7MhpxtqZf4Wk6zVJamGH8E
7VxBvvfgx2Z06jcI4zaQ6EG0txE4XHeuq2WLvRI92omnUBEVy+XroXsNxpN5BJWK4DFyQOIvhJXS
NM05qc5RQI4/+7XY7H72d3ETExtzSMJABlA1F63MTAAAAAAAAA==


--=-fGWDpuQzN13l32rL7klP--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 09:49:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 09:49:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628712.980452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Ii3-0004AE-BU; Tue, 07 Nov 2023 09:49:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628712.980452; Tue, 07 Nov 2023 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 1r0Ii3-0004A7-8u; Tue, 07 Nov 2023 09:49:23 +0000
Received: by outflank-mailman (input) for mailman id 628712;
 Tue, 07 Nov 2023 09:49: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 1r0Ii1-00048w-GI
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 09:49: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 1r0Ii0-0006lB-GA; Tue, 07 Nov 2023 09:49:20 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231]
 helo=[192.168.15.180]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0Ii0-0004py-8P; Tue, 07 Nov 2023 09:49: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=LmnmiesngsThpnZAbp21+L/BwuPlQSle++iW029sMCE=; b=5tUBHsZmkbDZ0C76hMFU17lyV4
	NZXElR8hA+OwQmOq3y0+V3g2cZBKdGsaxQeqN51CGSrZE/hssPtZrRUXMQWovCYGTsk10bNPOWK+L
	LNMvuThLOKM4werehqC4zWjGCyPWHYB5RQmf69Rk15HDeU7P4g1xDr0oMH+2u61Xf4M4=;
Message-ID: <859bbbc7-617a-4df0-893d-320b7e1e6e5b@xen.org>
Date: Tue, 7 Nov 2023 09:49:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, George Dunlap <george.dunlap@citrix.com>,
 Wei Liu <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <334b360fada7177e0b6e074fbdd33e02ce186b8f.1699034672.git.nicola.vetrini@bugseng.com>
 <ef60f721-f784-4595-8866-e1c57da7e48f@xen.org>
 <bb40675e3372abf264dcd63d0d64d476@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <bb40675e3372abf264dcd63d0d64d476@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 07/11/2023 08:36, Nicola Vetrini wrote:
> On 2023-11-06 23:57, Julien Grall wrote:
>> Hi Nicola,
>>
>> On 03/11/2023 18:05, Nicola Vetrini wrote:
>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>> The deviation with a comment based on the SAF framework is also
>>> mentioned as a last resort.
>>
>> I don't see any reason to keep SAF-1 after this patch. So can this be 
>> removed?
>>
> 
> In documenting-violations.rst it's stated:
> "Entries in the database shall never be removed, even if they are not used
> anymore in the code (if a patch is removing or modifying the faulty line).
> This is to make sure that numbers are not reused which could lead to 
> conflicts
> with old branches or misleading justifications."

I read this as the number can not be re-used. But we could replace the 
description with "Not used anymore".

> 
> that's why I kept SAF-1 in the safe.json file and added the remark about it
> being a last resort. 

Right, but this is confusing. What is the last resort? Why would one use 
it? It would be best to not mention SAF-1 at all in deviations.rst.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 10:22:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 10:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628716.980462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0JDq-0008H4-RD; Tue, 07 Nov 2023 10:22:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628716.980462; Tue, 07 Nov 2023 10: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 1r0JDq-0008Gx-OX; Tue, 07 Nov 2023 10:22:14 +0000
Received: by outflank-mailman (input) for mailman id 628716;
 Tue, 07 Nov 2023 10:22: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0JDo-0008Gp-Qq
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 10:22:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 834f8ada-7d57-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 11:22:11 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id D0F274EE0C81;
 Tue,  7 Nov 2023 11:22:10 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 834f8ada-7d57-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Tue, 07 Nov 2023 11:22:10 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH][for-4.19] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <859bbbc7-617a-4df0-893d-320b7e1e6e5b@xen.org>
References: <334b360fada7177e0b6e074fbdd33e02ce186b8f.1699034672.git.nicola.vetrini@bugseng.com>
 <ef60f721-f784-4595-8866-e1c57da7e48f@xen.org>
 <bb40675e3372abf264dcd63d0d64d476@bugseng.com>
 <859bbbc7-617a-4df0-893d-320b7e1e6e5b@xen.org>
Message-ID: <8435a92f1a70832abb3215e2630f729f@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-07 10:49, Julien Grall wrote:
> Hi,
> 
> On 07/11/2023 08:36, Nicola Vetrini wrote:
>> On 2023-11-06 23:57, Julien Grall wrote:
>>> Hi Nicola,
>>> 
>>> On 03/11/2023 18:05, Nicola Vetrini wrote:
>>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are 
>>>> replaced
>>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>>> The deviation with a comment based on the SAF framework is also
>>>> mentioned as a last resort.
>>> 
>>> I don't see any reason to keep SAF-1 after this patch. So can this be 
>>> removed?
>>> 
>> 
>> In documenting-violations.rst it's stated:
>> "Entries in the database shall never be removed, even if they are not 
>> used
>> anymore in the code (if a patch is removing or modifying the faulty 
>> line).
>> This is to make sure that numbers are not reused which could lead to 
>> conflicts
>> with old branches or misleading justifications."
> 
> I read this as the number can not be re-used. But we could replace the 
> description with "Not used anymore".
> 
>> 
>> that's why I kept SAF-1 in the safe.json file and added the remark 
>> about it
>> being a last resort.
> 
> Right, but this is confusing. What is the last resort? Why would one 
> use it? It would be best to not mention SAF-1 at all in deviations.rst.
> 
> Cheers,

Ok, I'll submit a v2

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 10:31:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 10:31:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628721.980473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0JM9-0003kB-Kd; Tue, 07 Nov 2023 10:30:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628721.980473; Tue, 07 Nov 2023 10:30: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 1r0JM9-0003k4-I2; Tue, 07 Nov 2023 10:30:49 +0000
Received: by outflank-mailman (input) for mailman id 628721;
 Tue, 07 Nov 2023 10:30: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0JM9-0003jy-6Y
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 10:30:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6d84437-7d58-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 11:30:47 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 5D3484EE0C81;
 Tue,  7 Nov 2023 11:30:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6d84437-7d58-11ee-98da-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH][for-4.19 v2] xen: replace occurrences of SAF-1-safe with asmlinkage attribute
Date: Tue,  7 Nov 2023 11:30:42 +0100
Message-Id: <aa7fa9b8cd40adb4eb5242deeff138cbe8b658f9.1699352946.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
by the asmlinkage pseudo-attribute, for the sake of uniformity.

Add missing 'xen/compiler.h' #include-s where needed.

The text in docs/misra/deviations.rst and docs/misra/safe.json
is modified to reflect this change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes in v2:
- Edit safe.json.
- Remove mention of SAF-1-safe in deviations.rst.
---
 docs/misra/deviations.rst   |  5 ++---
 docs/misra/safe.json        |  2 +-
 xen/arch/arm/cpuerrata.c    |  7 +++----
 xen/arch/arm/setup.c        |  5 ++---
 xen/arch/arm/smpboot.c      |  3 +--
 xen/arch/arm/traps.c        | 21 +++++++--------------
 xen/arch/x86/boot/cmdline.c |  5 +++--
 xen/arch/x86/boot/reloc.c   |  7 ++++---
 xen/arch/x86/extable.c      |  3 +--
 xen/arch/x86/setup.c        |  3 +--
 xen/arch/x86/traps.c        | 27 +++++++++------------------
 xen/common/efi/boot.c       |  5 ++---
 12 files changed, 36 insertions(+), 57 deletions(-)

diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index d468da2f5ce9..0fa0475db0eb 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -134,9 +134,8 @@ Deviations related to MISRA C:2012 Rules:
      - Tagged as `safe` for ECLAIR.
 
    * - R8.4
-     - Functions and variables used only by asm modules are either marked with
-       the `asmlinkage` macro or with a SAF-1-safe textual deviation
-       (see safe.json).
+     - Functions and variables used only to interface with asm modules should
+       be marked with the `asmlinkage` macro.
      - Tagged as `safe` for ECLAIR.
 
    * - R8.6
diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index 39c5c056c7d4..eaff0312e20c 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -16,7 +16,7 @@
                 "eclair": "MC3R1.R8.4"
             },
             "name": "Rule 8.4: asm-only definition",
-            "text": "Functions and variables used only by asm modules do not need to have a visible declaration prior to their definition."
+            "text": "Not used anymore."
         },
         {
             "id": "SAF-2-safe",
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index 9137958fb682..a28fa6ac78cc 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -370,10 +370,9 @@ custom_param("spec-ctrl", parse_spec_ctrl);
 
 /* Arm64 only for now as for Arm32 the workaround is currently handled in C. */
 #ifdef CONFIG_ARM_64
-/* SAF-1-safe */
-void __init arm_enable_wa2_handling(const struct alt_instr *alt,
-                                    const uint32_t *origptr,
-                                    uint32_t *updptr, int nr_inst)
+void asmlinkage __init arm_enable_wa2_handling(const struct alt_instr *alt,
+                                               const uint32_t *origptr,
+                                               uint32_t *updptr, int nr_inst)
 {
     BUG_ON(nr_inst != 1);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3f3a45719ccb..bedbce3c0d37 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1077,9 +1077,8 @@ static bool __init is_dom0less_mode(void)
 size_t __read_mostly dcache_line_bytes;
 
 /* C entry point for boot CPU */
-/* SAF-1-safe */
-void __init start_xen(unsigned long boot_phys_offset,
-                      unsigned long fdt_paddr)
+void asmlinkage __init start_xen(unsigned long boot_phys_offset,
+                                 unsigned long fdt_paddr)
 {
     size_t fdt_size;
     const char *cmdline;
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index ec76de3cac12..a32f610b47d9 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -303,8 +303,7 @@ smp_prepare_cpus(void)
 }
 
 /* Boot the current CPU */
-/* SAF-1-safe */
-void start_secondary(void)
+void asmlinkage start_secondary(void)
 {
     unsigned int cpuid = init_data.cpuid;
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 5aa14d470791..63d3bc7bd67b 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -161,8 +161,7 @@ void init_traps(void)
     isb();
 }
 
-/* SAF-1-safe */
-void __div0(void)
+void asmlinkage __div0(void)
 {
     printk("Division by zero in hypervisor.\n");
     BUG();
@@ -1955,8 +1954,7 @@ static inline bool needs_ssbd_flip(struct vcpu *v)
  * Actions that needs to be done after entering the hypervisor from the
  * guest and before the interrupts are unmasked.
  */
-/* SAF-1-safe */
-void enter_hypervisor_from_guest_preirq(void)
+void asmlinkage enter_hypervisor_from_guest_preirq(void)
 {
     struct vcpu *v = current;
 
@@ -1970,8 +1968,7 @@ void enter_hypervisor_from_guest_preirq(void)
  * guest and before we handle any request. Depending on the exception trap,
  * this may be called with interrupts unmasked.
  */
-/* SAF-1-safe */
-void enter_hypervisor_from_guest(void)
+void asmlinkage enter_hypervisor_from_guest(void)
 {
     struct vcpu *v = current;
 
@@ -1999,8 +1996,7 @@ void enter_hypervisor_from_guest(void)
     vgic_sync_from_lrs(v);
 }
 
-/* SAF-1-safe */
-void do_trap_guest_sync(struct cpu_user_regs *regs)
+void asmlinkage do_trap_guest_sync(struct cpu_user_regs *regs)
 {
     const union hsr hsr = { .bits = regs->hsr };
 
@@ -2195,14 +2191,12 @@ void do_trap_guest_serror(struct cpu_user_regs *regs)
     __do_trap_serror(regs, true);
 }
 
-/* SAF-1-safe */
-void do_trap_irq(struct cpu_user_regs *regs)
+void asmlinkage do_trap_irq(struct cpu_user_regs *regs)
 {
     gic_interrupt(regs, 0);
 }
 
-/* SAF-1-safe */
-void do_trap_fiq(struct cpu_user_regs *regs)
+void asmlinkage do_trap_fiq(struct cpu_user_regs *regs)
 {
     gic_interrupt(regs, 1);
 }
@@ -2275,8 +2269,7 @@ static bool check_for_vcpu_work(void)
  *
  * The function will return with IRQ masked.
  */
-/* SAF-1-safe */
-void leave_hypervisor_to_guest(void)
+void asmlinkage leave_hypervisor_to_guest(void)
 {
     local_irq_disable();
 
diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index f9eee756aaed..93c6b68ed909 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -31,6 +31,7 @@ asm (
     );
 
 #include <xen/kconfig.h>
+#include <xen/compiler.h>
 #include "defs.h"
 #include "video.h"
 
@@ -340,8 +341,8 @@ static void vga_parse(const char *cmdline, early_boot_opts_t *ebo)
 }
 #endif
 
-/* SAF-1-safe */
-void __stdcall cmdline_parse_early(const char *cmdline, early_boot_opts_t *ebo)
+void asmlinkage __stdcall cmdline_parse_early(const char *cmdline,
+                                              early_boot_opts_t *ebo)
 {
     if ( !cmdline )
         return;
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index 609b02cb73dc..668918db879a 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -33,6 +33,8 @@ asm (
 #include "../../../include/xen/kconfig.h"
 #include <public/arch-x86/hvm/start_info.h>
 
+#include <xen/compiler.h>
+
 #ifdef CONFIG_VIDEO
 # include "video.h"
 
@@ -347,9 +349,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
     return mbi_out;
 }
 
-/* SAF-1-safe */
-void *__stdcall reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
-                      uint32_t video_info)
+void *asmlinkage __stdcall reloc(uint32_t magic, uint32_t in,
+                                 uint32_t trampoline, uint32_t video_info)
 {
     alloc = trampoline;
 
diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c
index 74b14246e9d8..51245221ec03 100644
--- a/xen/arch/x86/extable.c
+++ b/xen/arch/x86/extable.c
@@ -194,8 +194,7 @@ static int __init cf_check stub_selftest(void)
 __initcall(stub_selftest);
 #endif
 
-/* SAF-1-safe */
-unsigned long search_pre_exception_table(struct cpu_user_regs *regs)
+unsigned asmlinkage long search_pre_exception_table(struct cpu_user_regs *regs)
 {
     unsigned long addr = regs->rip;
     unsigned long fixup = search_one_extable(
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index d70ad1e44a60..958ebeeef0c3 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -970,8 +970,7 @@ static struct domain *__init create_dom0(const module_t *image,
 /* How much of the directmap is prebuilt at compile time. */
 #define PREBUILT_MAP_LIMIT (1 << L2_PAGETABLE_SHIFT)
 
-/* SAF-1-safe */
-void __init noreturn __start_xen(unsigned long mbi_p)
+void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
 {
     const char *memmap_type = NULL;
     char *cmdline, *kextra, *loader;
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 6393467b06fd..2c2e19fe8964 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -833,8 +833,7 @@ void fatal_trap(const struct cpu_user_regs *regs, bool show_remote)
           (regs->eflags & X86_EFLAGS_IF) ? "" : " IN INTERRUPT CONTEXT");
 }
 
-/* SAF-1-safe */
-void do_unhandled_trap(struct cpu_user_regs *regs)
+void asmlinkage do_unhandled_trap(struct cpu_user_regs *regs)
 {
     unsigned int trapnr = regs->entry_vector;
 
@@ -921,8 +920,7 @@ static bool extable_fixup(struct cpu_user_regs *regs, bool print)
     return true;
 }
 
-/* SAF-1-safe */
-void do_trap(struct cpu_user_regs *regs)
+void asmlinkage do_trap(struct cpu_user_regs *regs)
 {
     unsigned int trapnr = regs->entry_vector;
 
@@ -1154,8 +1152,7 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
     }
 }
 
-/* SAF-1-safe */
-void do_invalid_op(struct cpu_user_regs *regs)
+void asmlinkage do_invalid_op(struct cpu_user_regs *regs)
 {
     u8 bug_insn[2];
     const void *eip = (const void *)regs->rip;
@@ -1200,8 +1197,7 @@ void do_invalid_op(struct cpu_user_regs *regs)
     panic("FATAL TRAP: vector = %d (invalid opcode)\n", X86_EXC_UD);
 }
 
-/* SAF-1-safe */
-void do_int3(struct cpu_user_regs *regs)
+void asmlinkage do_int3(struct cpu_user_regs *regs)
 {
     struct vcpu *curr = current;
 
@@ -1568,8 +1564,7 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs)
     return 0;
 }
 
-/* SAF-1-safe */
-void do_page_fault(struct cpu_user_regs *regs)
+void asmlinkage do_page_fault(struct cpu_user_regs *regs)
 {
     unsigned long addr;
     unsigned int error_code;
@@ -1646,8 +1641,7 @@ void do_page_fault(struct cpu_user_regs *regs)
  * during early boot (an issue was seen once, but was most likely a hardware
  * problem).
  */
-/* SAF-1-safe */
-void __init do_early_page_fault(struct cpu_user_regs *regs)
+void asmlinkage __init do_early_page_fault(struct cpu_user_regs *regs)
 {
     static unsigned int __initdata stuck;
     static unsigned long __initdata prev_eip, prev_cr2;
@@ -1847,8 +1841,7 @@ void trigger_nmi_continuation(void)
     apic_wait_icr_idle();
 }
 
-/* SAF-1-safe */
-void do_device_not_available(struct cpu_user_regs *regs)
+void asmlinkage do_device_not_available(struct cpu_user_regs *regs)
 {
 #ifdef CONFIG_PV
     struct vcpu *curr = current;
@@ -1884,8 +1877,7 @@ void do_device_not_available(struct cpu_user_regs *regs)
 #endif
 }
 
-/* SAF-1-safe */
-void do_debug(struct cpu_user_regs *regs)
+void asmlinkage do_debug(struct cpu_user_regs *regs)
 {
     unsigned long dr6;
     struct vcpu *v = current;
@@ -2010,8 +2002,7 @@ void do_debug(struct cpu_user_regs *regs)
     pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
 }
 
-/* SAF-1-safe */
-void do_entry_CP(struct cpu_user_regs *regs)
+void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
 {
     static const char errors[][10] = {
         [1] = "near ret",
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index e5e86f22b2b2..bc58dfce2f6c 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1254,9 +1254,8 @@ static void __init efi_exit_boot(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *Syste
     efi_fw_vendor = (void *)efi_fw_vendor + DIRECTMAP_VIRT_START;
 }
 
-/* SAF-1-safe */
-void EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
-                                      EFI_SYSTEM_TABLE *SystemTable)
+void asmlinkage EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
+                                                 EFI_SYSTEM_TABLE *SystemTable)
 {
     static EFI_GUID __initdata loaded_image_guid = LOADED_IMAGE_PROTOCOL;
     static EFI_GUID __initdata shim_lock_guid = SHIM_LOCK_PROTOCOL_GUID;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 10:33:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 10:33:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628725.980482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0JP6-0004Ub-1m; Tue, 07 Nov 2023 10:33:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628725.980482; Tue, 07 Nov 2023 10:33: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 1r0JP5-0004UU-V8; Tue, 07 Nov 2023 10:33:51 +0000
Received: by outflank-mailman (input) for mailman id 628725;
 Tue, 07 Nov 2023 10:33: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0JP4-0004MO-M7
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 10:33:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23b98da4-7d59-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 11:33:50 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 077654EE0C81;
 Tue,  7 Nov 2023 11:33:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 23b98da4-7d59-11ee-98da-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [RFC PATCH 0/4] address MISRA C:2012 Rule 15.2
Date: Tue,  7 Nov 2023 11:33:41 +0100
Message-Id: <cover.1699295113.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series is aimed at presenting some strategies that can be used to deal with
violations of Rule 15.2:
"The goto statement shall jump to a label declared later in the same function".

The rule's rationale is about possible developer confusion, therefore it could
be argued that there is no substantial gain in complying with it, given the
torough review process in place.

Nonetheless, the proposed resolution strategies are the following:
- use a loop instead of a goto (see patch 1 and 3)
- make the jump due to the goto forward, rather than backward (see patch 2)
- unconditionally allow certain constructs, such as "goto retry", whose presence
  in the codebase typically signifies that all other reasonable approaches (e.g,
  loops, forward jumps) have been considered and deemed inferior in terms of
  code readability.
  
The latter strategy may be postponed until all goto-s with a certain label have
been examined. An alternative strategy could be to allow certain files
(most notably those under x86/x86_emulate) to have backward jumps, and resolve
the remaining violations.

Any feedback on this matter is welcome.

Nicola Vetrini (4):
  xen/vsprintf: replace backwards jump with loop
  x86/dom0: make goto jump forward
  xen/arm: GICv3: address MISRA C:2012 Rule 15.2
  automation/eclair: add deviation for certain backwards goto

 .../eclair_analysis/ECLAIR/deviations.ecl     | 10 +++
 docs/misra/deviations.rst                     | 10 +++
 xen/arch/arm/gic-v3-its.c                     | 81 ++++++++++---------
 xen/arch/x86/dom0_build.c                     | 14 ++--
 xen/common/vsprintf.c                         | 20 +++--
 5 files changed, 81 insertions(+), 54 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 10:33:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 10:33:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628726.980494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0JP8-0004jl-AL; Tue, 07 Nov 2023 10:33:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628726.980494; Tue, 07 Nov 2023 10:33: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 1r0JP8-0004je-5b; Tue, 07 Nov 2023 10:33:54 +0000
Received: by outflank-mailman (input) for mailman id 628726;
 Tue, 07 Nov 2023 10:33: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0JP7-0004MO-0a
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 10:33:53 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 252173f1-7d59-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 11:33:52 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 7C6B54EE0C89;
 Tue,  7 Nov 2023 11:33:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 252173f1-7d59-11ee-98da-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 2/4] x86/dom0: make goto jump forward
Date: Tue,  7 Nov 2023 11:33:43 +0100
Message-Id: <fcc14cb3859e4904f4a17e14fc41b5e05ae1f05f.1699295113.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1699295113.git.nicola.vetrini@bugseng.com>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The jump to the label 'parse_error' becomes forward, rather
than backward; at the same time, the else branch can be eliminated.

This also fixes a violation of MISRA C:2012 Rule 15.2.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/dom0_build.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/arch/x86/dom0_build.c b/xen/arch/x86/dom0_build.c
index 09fb8b063ae7..f0191dc148a2 100644
--- a/xen/arch/x86/dom0_build.c
+++ b/xen/arch/x86/dom0_build.c
@@ -439,12 +439,7 @@ static void __init process_dom0_ioports_disable(struct domain *dom0)
     {
         io_from = simple_strtoul(t, &u, 16);
         if ( u == t )
-        {
-        parse_error:
-            printk("Invalid ioport range <%s> "
-                   "in dom0_ioports_disable, skipping\n", t);
-            continue;
-        }
+            goto parse_error;
 
         if ( *u == '\0' )
             io_to = io_from;
@@ -454,7 +449,12 @@ static void __init process_dom0_ioports_disable(struct domain *dom0)
             goto parse_error;
 
         if ( (*u != '\0') || (io_to < io_from) || (io_to >= 65536) )
-            goto parse_error;
+        {
+        parse_error:
+            printk("Invalid ioport range <%s> "
+                   "in dom0_ioports_disable, skipping\n", t);
+            continue;
+        }
 
         printk("Disabling dom0 access to ioport range %04lx-%04lx\n",
             io_from, io_to);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 10:33:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 10:33:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628727.980503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0JP9-00050n-Gn; Tue, 07 Nov 2023 10:33:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628727.980503; Tue, 07 Nov 2023 10:33: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 1r0JP9-00050g-Dg; Tue, 07 Nov 2023 10:33:55 +0000
Received: by outflank-mailman (input) for mailman id 628727;
 Tue, 07 Nov 2023 10:33: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0JP7-0004jI-M9
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 10:33:53 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24894e44-7d59-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 11:33:51 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 18D2C4EE0C88;
 Tue,  7 Nov 2023 11:33:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24894e44-7d59-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 1/4] xen/vsprintf: replace backwards jump with loop
Date: Tue,  7 Nov 2023 11:33:42 +0100
Message-Id: <9fbc2bcfa1ee019a8ac1cd1a3d29c38b59b8edff.1699295113.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1699295113.git.nicola.vetrini@bugseng.com>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The backwards goto in the vsnprintf function can be replaced
with a loop, thereby fixing a violation of MISRA C:2012 Rule 15.2.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/common/vsprintf.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/xen/common/vsprintf.c b/xen/common/vsprintf.c
index c49631c0a4d8..603bae44177a 100644
--- a/xen/common/vsprintf.c
+++ b/xen/common/vsprintf.c
@@ -495,6 +495,8 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
     }
 
     for (; *fmt ; ++fmt) {
+        bool repeat = true;
+
         if (*fmt != '%') {
             if (str < end)
                 *str = *fmt;
@@ -504,14 +506,16 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
 
         /* process flags */
         flags = 0;
-    repeat:
-        ++fmt;          /* this also skips first '%' */
-        switch (*fmt) {
-        case '-': flags |= LEFT; goto repeat;
-        case '+': flags |= PLUS; goto repeat;
-        case ' ': flags |= SPACE; goto repeat;
-        case '#': flags |= SPECIAL; goto repeat;
-        case '0': flags |= ZEROPAD; goto repeat;
+        while ( repeat ) {
+            ++fmt;          /* this also skips the first '%' */
+            switch (*fmt) {
+            case '-': flags |= LEFT; break;
+            case '+': flags |= PLUS; break;
+            case ' ': flags |= SPACE; break;
+            case '#': flags |= SPECIAL; break;
+            case '0': flags |= ZEROPAD; break;
+            default: repeat = false; break;
+            }
         }
 
         /* get field width */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 10:33:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 10:33:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628728.980510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0JPA-000585-2N; Tue, 07 Nov 2023 10:33:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628728.980510; Tue, 07 Nov 2023 10:33: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 1r0JP9-00056K-Sq; Tue, 07 Nov 2023 10:33:55 +0000
Received: by outflank-mailman (input) for mailman id 628728;
 Tue, 07 Nov 2023 10:33: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0JP8-0004jI-Uu
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 10:33:54 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2597cef2-7d59-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 11:33:53 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 626564EE0C8A;
 Tue,  7 Nov 2023 11:33:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2597cef2-7d59-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 3/4] xen/arm: GICv3: address MISRA C:2012 Rule 15.2
Date: Tue,  7 Nov 2023 11:33:44 +0100
Message-Id: <135227bde7bc41f44e9c3ae264dae8efc71ef8f0.1699295113.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1699295113.git.nicola.vetrini@bugseng.com>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The backwards jump due to the "goto retry;" statement
can be transformed into a loop, without losing much in terms
of readability.

Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
This specific patch was provided by Stefano, I just added the
commit message.
---
 xen/arch/arm/gic-v3-its.c | 81 ++++++++++++++++++++-------------------
 1 file changed, 42 insertions(+), 39 deletions(-)

diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index 8afcd9783bc8..4ba3f869ddf2 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -341,6 +341,7 @@ static int its_map_baser(void __iomem *basereg, uint64_t regc,
     unsigned int pagesz = 2;    /* try 64K pages first, then go down. */
     unsigned int table_size;
     void *buffer;
+    bool retry = false;
 
     attr  = GIC_BASER_InnerShareable << GITS_BASER_SHAREABILITY_SHIFT;
     attr |= GIC_BASER_CACHE_SameAsInner << GITS_BASER_OUTER_CACHEABILITY_SHIFT;
@@ -351,55 +352,57 @@ static int its_map_baser(void __iomem *basereg, uint64_t regc,
      * it back and see what sticks (page size, cacheability and shareability
      * attributes), retrying if necessary.
      */
-retry:
-    table_size = ROUNDUP(nr_items * entry_size,
-                         BIT(BASER_PAGE_BITS(pagesz), UL));
-    /* The BASE registers support at most 256 pages. */
-    table_size = min(table_size, 256U << BASER_PAGE_BITS(pagesz));
+    while ( retry )
+    {
+        table_size = ROUNDUP(nr_items * entry_size,
+                BIT(BASER_PAGE_BITS(pagesz), UL));
+        /* The BASE registers support at most 256 pages. */
+        table_size = min(table_size, 256U << BASER_PAGE_BITS(pagesz));
 
-    buffer = _xzalloc(table_size, BIT(BASER_PAGE_BITS(pagesz), UL));
-    if ( !buffer )
-        return -ENOMEM;
+        buffer = _xzalloc(table_size, BIT(BASER_PAGE_BITS(pagesz), UL));
+        if ( !buffer )
+            return -ENOMEM;
 
-    if ( !check_baser_phys_addr(buffer, BASER_PAGE_BITS(pagesz)) )
-    {
-        xfree(buffer);
-        return -ERANGE;
-    }
+        if ( !check_baser_phys_addr(buffer, BASER_PAGE_BITS(pagesz)) )
+        {
+            xfree(buffer);
+            return -ERANGE;
+        }
 
-    reg  = attr;
-    reg |= (pagesz << GITS_BASER_PAGE_SIZE_SHIFT);
-    reg |= (table_size >> BASER_PAGE_BITS(pagesz)) - 1;
-    reg |= regc & BASER_RO_MASK;
-    reg |= GITS_VALID_BIT;
-    reg |= encode_baser_phys_addr(virt_to_maddr(buffer),
-                                  BASER_PAGE_BITS(pagesz));
+        reg  = attr;
+        reg |= (pagesz << GITS_BASER_PAGE_SIZE_SHIFT);
+        reg |= (table_size >> BASER_PAGE_BITS(pagesz)) - 1;
+        reg |= regc & BASER_RO_MASK;
+        reg |= GITS_VALID_BIT;
+        reg |= encode_baser_phys_addr(virt_to_maddr(buffer),
+                BASER_PAGE_BITS(pagesz));
 
-    writeq_relaxed(reg, basereg);
-    regc = readq_relaxed(basereg);
+        writeq_relaxed(reg, basereg);
+        regc = readq_relaxed(basereg);
 
-    /* The host didn't like our attributes, just use what it returned. */
-    if ( (regc & BASER_ATTR_MASK) != attr )
-    {
-        /* If we can't map it shareable, drop cacheability as well. */
-        if ( (regc & GITS_BASER_SHAREABILITY_MASK) == GIC_BASER_NonShareable )
+        /* The host didn't like our attributes, just use what it returned. */
+        if ( (regc & BASER_ATTR_MASK) != attr )
         {
-            regc &= ~GITS_BASER_INNER_CACHEABILITY_MASK;
-            writeq_relaxed(regc, basereg);
+            /* If we can't map it shareable, drop cacheability as well. */
+            if ( (regc & GITS_BASER_SHAREABILITY_MASK) == GIC_BASER_NonShareable )
+            {
+                regc &= ~GITS_BASER_INNER_CACHEABILITY_MASK;
+                writeq_relaxed(regc, basereg);
+            }
+            attr = regc & BASER_ATTR_MASK;
         }
-        attr = regc & BASER_ATTR_MASK;
-    }
-    if ( (regc & GITS_BASER_INNER_CACHEABILITY_MASK) <= GIC_BASER_CACHE_nC )
-        clean_and_invalidate_dcache_va_range(buffer, table_size);
+        if ( (regc & GITS_BASER_INNER_CACHEABILITY_MASK) <= GIC_BASER_CACHE_nC )
+            clean_and_invalidate_dcache_va_range(buffer, table_size);
 
-    /* If the host accepted our page size, we are done. */
-    if ( ((regc >> GITS_BASER_PAGE_SIZE_SHIFT) & 0x3UL) == pagesz )
-        return 0;
+        /* If the host accepted our page size, we are done. */
+        if ( ((regc >> GITS_BASER_PAGE_SIZE_SHIFT) & 0x3UL) == pagesz )
+            return 0;
 
-    xfree(buffer);
+        xfree(buffer);
 
-    if ( pagesz-- > 0 )
-        goto retry;
+        if ( pagesz-- > 0 )
+            retry = true;
+    }
 
     /* None of the page sizes was accepted, give up */
     return -EINVAL;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 10:33:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 10:33:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628729.980523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0JPB-0005WK-97; Tue, 07 Nov 2023 10:33:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628729.980523; Tue, 07 Nov 2023 10:33: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 1r0JPB-0005VF-5j; Tue, 07 Nov 2023 10:33:57 +0000
Received: by outflank-mailman (input) for mailman id 628729;
 Tue, 07 Nov 2023 10:33: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0JP9-0004jI-OS
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 10:33:55 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 261a6309-7d59-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 11:33:54 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 33A8F4EE0C8B;
 Tue,  7 Nov 2023 11:33:53 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 261a6309-7d59-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Nicola Vetrini <nicola.vetrini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [RFC PATCH 4/4] automation/eclair: add deviation for certain backwards goto
Date: Tue,  7 Nov 2023 11:33:45 +0100
Message-Id: <306ca49d5d63ea0614bbcef470efec9234d1a018.1699295113.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1699295113.git.nicola.vetrini@bugseng.com>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

As explained in the deviation record, code constructs such as
"goto retry" and "goto again" are sometimes the best balance between
code complexity and the understandability of the control flow
by developers; as such, these construct are allowed to deviate
from Rule 15.2.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 10 ++++++++++
 docs/misra/deviations.rst                        | 10 ++++++++++
 2 files changed, 20 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index fa56e5c00a27..8b1f622f8f82 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -270,6 +270,16 @@ statements are deliberate"
 -config=MC3R1.R14.3,statements={deliberate , "wrapped(any(),node(if_stmt))" }
 -doc_end
 
+#
+# Series 15
+#
+
+-doc_begin="The additional complexity introduced in the code by using control flow structures other than backwards goto-s
+were deemed not to justify the possible prevention of developer confusion, given the very torough review process estabilished
+in the community."
+-config=MC3R1.R15.2,reports+={deliberate, "any_area(any_loc(text(^.*goto (again|retry).*$)))"}
+-doc_end
+
 #
 # Series 20.
 #
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 8511a189253b..7d1e1f0d09b3 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -208,6 +208,16 @@ Deviations related to MISRA C:2012 Rules:
        statements are deliberate.
      - Project-wide deviation; tagged as `disapplied` for ECLAIR.
 
+   * - R15.2
+     - The possible prevention of developer confusion as a result of using
+       control flow structures other than backwards goto-s in some instances was
+       deemed not strong enough to justify the additional complexity introduced
+       in the code. Such instances are the uses of the following labels:
+       
+       - again
+       - retry
+     - Tagged as `deliberate` for ECLAIR.
+
    * - R20.7
      - Code violating Rule 20.7 is safe when macro parameters are used:
        (1) as function arguments;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 10:52:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 10:52:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628753.980533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Jgr-0004mY-Tl; Tue, 07 Nov 2023 10:52:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628753.980533; Tue, 07 Nov 2023 10:52: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 1r0Jgr-0004mR-PV; Tue, 07 Nov 2023 10:52:13 +0000
Received: by outflank-mailman (input) for mailman id 628753;
 Tue, 07 Nov 2023 10:52: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=KeYz=GU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0Jgq-0004mL-9z
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 10:52:12 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20629.outbound.protection.outlook.com
 [2a01:111:f400:fe12::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3292f16-7d5b-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 11:52:10 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6788.eurprd04.prod.outlook.com (2603:10a6:208:18e::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Tue, 7 Nov
 2023 10:52:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.017; Tue, 7 Nov 2023
 10: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: b3292f16-7d5b-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EfT6ETwHUOOkqXRhe8k42TF02XLgs8FemXGwqyCg6/lFJGazMIm1fZh8mkTdiYm4gzBp83hgzhqnXL4goPJTSnsnUPNjRBB74bwoUCT4k3mRSPB5CzLhHV8FJ5GkJbgNvMN+hUBBp2FZojDwpETb0LuLL3+hGyEWQJ0fg3GZUG2rs29yEb9D9hL35ThXo0gToEcOyuiJs6Zfrhq+dudY+m6sPbtssgxPBtWVrP3dSVipbCjV4v5LTVT6xpzJccmSMgbm/1g4cflNULoSpz6pO3w8CGCVGvFWQPEigGeZI4NH8aNpdZ8pdbF654/63W2fba8ynhcMZQxZXwQyFNdSyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FsAhqtdT5SM0DwnyAfC+mvIiD17IMVQpilAdUZ44mnU=;
 b=NEs6n549vnf32b26WQojg3LVpOZWzob+IscobPlKvlFEtC1EviPrHG/pqBPizm8reMGfgc0p9YqVBO++rI6LT1Qc9nUI2YG7jY6WPUQ4XWueKhAn0yCbH5CkXvk1homGKFerUQ5nLL2ydVV8wJ8DSbGDKlmgs+RlYI5DS7PohSbXD3jdllYs8GECGjM2ePfGOtzpXNQBsMng/Pg54DE5FjJROKhAyjT5zVtdCQI9Wmqff9hubxwxqf2VWC+ebubywPcq7ruTX1fJgIzoZnbXoHpWDkvi8NxswP9G4Ch9AGkpSdErL4Xz9Y3dL6PXKAUA1aHsLd8uCoY3unqMsCxe4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FsAhqtdT5SM0DwnyAfC+mvIiD17IMVQpilAdUZ44mnU=;
 b=5BoMZTaSpFtFS5UT17125479pYuJJrW6EHCDjefo5B3JDIukqV0+LTs4rWQbPtLE4zvez+SO5xc5f5566IoSZ3Q/2BOVxNngJNhA5nmySTScblwIXGQi0hdxdaMfKsim4XW8UNqcdEoXPIc4bWTjuHSy5cyitxMw2rP0LN8l3wR38J3ZkJrw4B9uwfhPK0pPs4jnkMcBH72dUXmLFY9pOPsMI01Il9ZmEt0+NwFfdOYg+govqgyiOSaJZEm5QHP/gRALkzsIetJZLqMRgucfC1Q1tQo6ddJApq18WAfj8S5UvSqsxF5e3UyxuynI7T5wZPVzEF6XN0EwFFRAjdDXIw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <88e164aa-4b7f-d86e-3ee6-0f720dcd21ed@suse.com>
Date: Tue, 7 Nov 2023 11:52:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [RFC PATCH 0/4] address MISRA C:2012 Rule 15.2
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, xen-devel@lists.xenproject.org
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <cover.1699295113.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0253.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6788:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e7fa7c7-2cb9-45c8-f4d8-08dbdf7f9639
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	l6JE/gczgEggH3800p4KQ2ACY3NfLovg/P7Kth3iVJHo7BqqpATWXX3uBz+RTv9Zz8VIZnnPvete/I1mO73vogfbC3ttR3ZQKhYGXCAiIkuXefOysiFgM2C1J+Q0rxgeDkqJCUPelWpJqpjB9TGP1s6AEQTZeNUPGgeKJGMyYZ1KRRyyhRtQLuhCDinIZzNw6z1lOT2ljMSmLvJskcO43m7AFa3evFxuZ/WSkcZ1KSLn8cYmm1HNoooZPQScyDwtoNxG1txcyE0IK5pVP4k1CP1NHKadmNbFFSfaYE0lJ6sy88lHRweTDdJUqbM5A0GYMv7VSO11x0WrvFS/Cn+tOuv7GbYtmEBOjBggOdzxKigoHDtf8eU1/J0sh+gE+wLdqafQ5lUi7ucqUpAzHIOSswfn+qWG8sQNst/L4VOpzO8qJ8Gc8IxbvUWtJzxAH7lOtRV6TLv+p9tLbbHJrUnBJLFHJz341Sb7beECV3RiKNrqFspf4cDjpF2MimtLae68jyK4r4tUcqoU3lA27RMgaW6XeSMOOqt4XDHppBZNR1eBg9Yh+V5pvZFX+f71u7nNvuA2nLvWA/oPG1oOcn0mXLKsMh/ljIaN+s6XG4ptcwZ67I/Nx1velqPQgRXenDnNJp9R6DFaURDRW1FjnEB5BQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(366004)(346002)(376002)(136003)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(478600001)(6486002)(66946007)(66476007)(66556008)(54906003)(26005)(53546011)(2616005)(6512007)(41300700001)(4326008)(6916009)(4744005)(2906002)(8936002)(316002)(8676002)(7416002)(5660300002)(31696002)(36756003)(86362001)(38100700002)(6506007)(66899024)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VzZ3MEFuWEsvdnlLMzFRVmpFK2p4Zk9TUjA5OW1ZcVZ6ZzkvNDhvYVNzaWM4?=
 =?utf-8?B?enBjVWhhcHJUZ2RzV2lZdjV4NGIzSm8wSEtxcjRUbDVIZUdGZXBRanNNa0FG?=
 =?utf-8?B?Y2NHeU9RZHJVSnVTY0pxdmJIVjEydjJLMGU0ZWp2WURpVkkrcXBNMW0zbWNi?=
 =?utf-8?B?eDZVSUN2bzQ4U3VpZ1RQdk1WeFpaQlIwcWlWTEVRVmJxMWFZQms3L2lnVmJR?=
 =?utf-8?B?eVh2NE8zUG1rWGFpVWlhUGphcXFKeVVqSllxUmxzVnpOREw1ZXBUNXFBeWov?=
 =?utf-8?B?clZra1dPc0M5S2xOLy82Y3FqQ0J1UGtvdXNnei84K3pWWTd2eUhoVnM0WjNO?=
 =?utf-8?B?QU4zbFp0eEZDdlR3RTFkUm1WTWNFc3pEZVhBRUJ0TnlmUFlGQUFhMkFjWWtn?=
 =?utf-8?B?UTZMUEdpaEVpSmp3cDFiN1M2SmFZNkRkVVJHdHJiY3VuWDBjVHA4cXh2N1pH?=
 =?utf-8?B?NVRFMzlJNk9INzd5YU5HeldGSmpCU0doTUFvcjkwRFp3NXhXald2OEdZdzVq?=
 =?utf-8?B?Y3lSaUNBZEtMMEFVT2lReVRHV2V2VG1TUVliVXZyYUhNbUExSVpYc0IyOGUw?=
 =?utf-8?B?M05WR3BBS1pzbkhNK2ZpRXE4dGk2OEVCQW9wU0FQTjA1Z3BpNk85LzhUSHVR?=
 =?utf-8?B?N1lXbVlBTVhvM2xjUkoxaXN0NTN5RVRiS3d1eGNkTHFEcEtNSGZQd2dDR1JJ?=
 =?utf-8?B?b2d0WENiaDJOWlJQNnN3SkVvWEdwZ2haei9VM2s5UGNxNDJvc09YMzhoSk40?=
 =?utf-8?B?Ym9JZzRmUEhhdWZuazgxUTZXeW9ybERSQW1rWDRpK0oyNlVKYVlBSjZpVDhL?=
 =?utf-8?B?UGp5dlBxeGloMFp5aXdWclJ1cWtXYmNLd2VHNGdvZWpXNUkvY1M1R1VhYTQv?=
 =?utf-8?B?TmpUdlhzQ3ZYT1I2L3pqd1VWTW1oK1JFQ1o1WDNrb2oySlloQUU3NG1vOUQ5?=
 =?utf-8?B?ajBEOEF4bnhFNjhXUDBqZnBiZGJLVTZhOUZCcWdwanR1ZytFUmYvMjErSVFn?=
 =?utf-8?B?TGIvaXFGVDV2a2dZWjBXdDQ5eUg1UlZPTGk0MnZna1B5MXNoOUdrQzNtYkZq?=
 =?utf-8?B?dW05SyszRVRrTVFkQlZMeDQ1a1NyclI1SndHZWFUMDJ3ZW1MUTRqTGFzWlNU?=
 =?utf-8?B?bSszTnBLSENUakhqUS9lcWVSM1lTakZSNk8vaVZnYUVjeStJWDFiZDlBV3Uz?=
 =?utf-8?B?QXR0b3VpOEZKZWVqM1lJWDllN3FrbzZNK09tTmlVZ0U1WWdzeGU1dzRPbnY2?=
 =?utf-8?B?QkViY05DZk1RWjkvOVd3Tk12aVhMYUZpOHZaVnRKYTdWN1VKZVhoVmVrT0la?=
 =?utf-8?B?R09wM1lBS3Y3aDB5WjIrV3ptMkl3TVM0Nkt2dTBXelQwTCtJYUZsOEdBeUgz?=
 =?utf-8?B?Ri80UElrWDVnNHg0VHRndW5pdE5wZFFQM2YzR3ZWVXVHOVM3MjgyS1JWWmho?=
 =?utf-8?B?dmVKUEhOcjUzWVZMaWNBakswa0Fta0RxL012RjhqZjlCOVlxWkRWNFRLN2JI?=
 =?utf-8?B?bURQdWNVeVkzUlpwalQ0TUxacEJYcmIvVVFSOUE4L3VvdkJhQ0cxWUs2Yi9h?=
 =?utf-8?B?NnJRYXhiY2VUU3ozYVhxNTFmd1pPcEpubzBsSFJoRmZXR0ZBMzNSNTEzTU0y?=
 =?utf-8?B?MHlrcU93Um9KVE1OLzdKSUx2M1l6MmZtS0ZkWmdrUERGeEVNN3dRMjFTd1p6?=
 =?utf-8?B?eEtXVEdkeG5sUHowUklnbkF5VThWMlhUQnJ1VDh2UDlXUlkyTGpCS3VqdVNt?=
 =?utf-8?B?dU8xa3RoVXJ4cFVqUGMyU2srd2M3RnV3VmUwNEVZdjIzRVkxcXpldlVvQlU0?=
 =?utf-8?B?SlA0OWtUejRWQksvb2V2N05FVUJKSU0rQTQ4aFp6QTVNYnNKVVhhbFZxbFZP?=
 =?utf-8?B?MlRWaDZVYUtUTkJxQ3oycWNHMmtlamlYaGJBQmZDZ21TdEMrdTBES2RqWGta?=
 =?utf-8?B?YmZIWDF6R2ZqQm5RQ1lOUXl0K0tVMEJaeWZnVG04OVg2SlRZcG40RkpQQ3dE?=
 =?utf-8?B?SmVpZTF6TXJsOENKaHY1UU05SUZDNUxXVHUvdWFyNFlJb3liN1poT1JoL3RF?=
 =?utf-8?B?KytPRjc0dVhDdkVwa29BeUMyaDVZbWlXK3o0WnFiYzAxUEhoMGt0WjVTaU9C?=
 =?utf-8?Q?9555pWBWNgIN90+lKzMQF4JCj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e7fa7c7-2cb9-45c8-f4d8-08dbdf7f9639
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 10:52:07.8555
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pyxz7ak/EjAJARX9RXZf4RvRYV427gc2IEi1kDGdhcfn+1tF5iOwSVX1IjiME/Z6gBoQRik9PmdXD2or+yvxXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6788

On 07.11.2023 11:33, Nicola Vetrini wrote:
> This series is aimed at presenting some strategies that can be used to deal with
> violations of Rule 15.2:
> "The goto statement shall jump to a label declared later in the same function".

I don't recall this rule being discussed on any of the meetings.

> The rule's rationale is about possible developer confusion, therefore it could
> be argued that there is no substantial gain in complying with it, given the
> torough review process in place.

To be honest, forward goto have potential of developer confusion as well: All
other entities need to be declared / defined before they can be used. Just
labels don't. (Or have I missed any other outlier?) IOW if I saw Misra make
any rule here, I think it ought to suggest to avoid using "goto" altogether.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 11:00:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 11:00:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628757.980542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Jou-0008FT-L7; Tue, 07 Nov 2023 11:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628757.980542; Tue, 07 Nov 2023 11:00: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 1r0Jou-0008FM-IT; Tue, 07 Nov 2023 11:00:32 +0000
Received: by outflank-mailman (input) for mailman id 628757;
 Tue, 07 Nov 2023 11:00: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=KeYz=GU=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0Jos-0008FG-Ub
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 11:00:30 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20606.outbound.protection.outlook.com
 [2a01:111:f400:7d00::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc7bac1e-7d5c-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 12:00:29 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB10010.eurprd04.prod.outlook.com (2603:10a6:10:4ee::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.25; Tue, 7 Nov
 2023 11:00:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.017; Tue, 7 Nov 2023
 11:00: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: dc7bac1e-7d5c-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZXWMgpb2sG1UV/1E2wgIIajMvLF8WylHk2Cbmjf48ogZaUIaiesBXLXlHTHbakNQrSwggseT4Gl6GcYyh4tbRNPsdVBs7gFZSzs4NUYniugjAl2FNBXlhw/79gFiHm5/UzLntbcx+1W0ovGqb9g+WvGqElp4K106zKf26lqX/AN3azEcxB2L8J/Be5cdqVNlZM+zkMPExktPhvRkMVcinJRNkc/8e6Rh7NevbKqrtniY4ndtPJOT/2SOINGfUkbNf4jxKmWYbgIUUlHuvvseKl3i+2NMmsYopkZQD+/qcy0nQVppQs8tdkGPwB5NESgqM9BkcjkWhG4kQ+tq9vtNtQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yUtrHl5GZ+XbFWRlfnP4En26J6IcjoeFNeHpwOkYt0c=;
 b=NupcpqBv713dlYIVHy+DjUi0oLd3CVrKl0nvhIOBQzTX3OmpPKUx6XoHz5nnFC7LQRYAYtHfA4RMmV7a/Dxf71gEmY08m4v2fqXfdWXQTmNXknnOnez21jfyKC8fWkLrErdd+HIfGf6ymAIqo5qbnh05UrICbS+Kb6w/yp5hL+eB/W3T1OfHsmukrfKwhkRthnHC6Dez0DpvbbELQZ1bj0JIwkrSMX1n3jeOdMDR8ldEe/tuohur3sDCzzWDgomjtiTOAmYRpAwM20SiV9qQHwzn0rnMVOJF7STUul8GSjS5mbshP39JsPAHIk9Cw2Qb3JWJaMRmCvLDr0jsS2r4Vw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yUtrHl5GZ+XbFWRlfnP4En26J6IcjoeFNeHpwOkYt0c=;
 b=P0teMr1m1LAR9O70zS6OBK9TDv575Y2en7nvLpQWGyKX0FGcKtpN0LowFOc8xxmIuOVCbeLqBdKNN2vPtA8V9cNrzlT0e2Ei+zJivmsydOtqm4seO93GDPjDsKIeFUyDQZrxHaBzC+XzvOM6vNvAlT5x91A4L18himNPWosXqDSn9njcVeACYCkT/HFSZrZW04XzNlpakfCJREFwNyRWGKHwIW8+VBUiBTYAse+3eBoQBATOse9gFGfjTMhJ2dK7+3Qk5TsMqcOH2qGKOyNORz1kI5XdFSD1jPyjz1Ry5XM7jl8HAqvWkQvDZoEsReUfBbP3F00s1km8j9X2577J6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7a910f6b-4a9d-0393-363b-bc7bc319f739@suse.com>
Date: Tue, 7 Nov 2023 12:00:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [kernel-6.5-bug] with xen-4.18~rc4 on ub-24.04 noble, booting xen
 domU shows UBSAN errors in blkback & netback drivers
Content-Language: en-US
To: Pry Mar <pryorm09@gmail.com>
References: <CAHnBbQ_LT9hhpBO3=zKoxPe2uoK9OY7zvTKFhbtX+GwHfgduXw@mail.gmail.com>
Cc: xen-devel <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAHnBbQ_LT9hhpBO3=zKoxPe2uoK9OY7zvTKFhbtX+GwHfgduXw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0038.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f3::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB10010:EE_
X-MS-Office365-Filtering-Correlation-Id: 4a679d2b-d32a-4cf0-f392-08dbdf80beda
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2n+MyAJUbHEQb6IqhM1ycF+t89RJDtM4hWG5ri8jOZOFxe0rXMdUQGJXILJ+NSpZs2sfsrDfsBgolLN/y7qZy7RbSWvp2unrGTDMKRrJEyKSsUmz0d6WMniTnNMuvSBclAg8N/lJO0ZJHcuidpLQq7oytpBtDNJWnU59AyS3PWF2vzRfTgno/SRVIOnuMn+T2JB6AS9RElK0NqPEuhotMuK8NtBfIoGRvIz0SQtpncpqQXAu/Un3cbk9qmP814JNHjo9HJlStM/jFLDcYGaTGy5JRpLsvlpdk+I7CxjxEQNvtPit1ZjWnUO5JYT7rQ5V6bfc54d7/ROrwUiIm4qj/CBlCPRTqQk7LbW9ptMhSFvbI4udN7swUww+6bY51f+rfQ2VXqiDPfDHpE7mJxS8s5O4hpSNkn+1qf/9AjNAJ2C9+SM0z4pOdsJEZ+7VYmbPGbqBQ3iq4nNZAckAM/hc9slyl+jOQHyxo0tTNnWFruJVlMlrTzS5gd6pVL0IAeQqTyqzq25EZCdweJ7KXYWi/u51xaRbNI4/ByiVlLWo72866ARiIsemKtuNwMxHvxMs0QLZQyZpRnIw7ZZo4P6iCGlSwG8Zp7Kt5WPt+zUi/fEHhc2nzfEzTngPmPnPYeHUB+EPdnLr3yXl6CLBfW0BjUMZW+c+KWNVLjDrgTnKEZw=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(366004)(376002)(346002)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(66476007)(2906002)(41300700001)(66556008)(6506007)(966005)(53546011)(86362001)(31696002)(38100700002)(2616005)(478600001)(6486002)(83380400001)(26005)(6512007)(66946007)(8936002)(4326008)(5660300002)(316002)(6916009)(36756003)(8676002)(31686004)(81973001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VE5uV29Eb2NsK25qSkZZbDVkays5U0tBOERSNGVlZzd1WC9Kc0pzbktPL3dL?=
 =?utf-8?B?VHgrTk43V2JueEthZHJvMjlHYzY5SHB6SDVJRkZZY0FPbmgxL2d3Mm16V29J?=
 =?utf-8?B?ZnNZeWZaZXFPUy9lTEs4d1JrdDlpbGN5MkxITzBHeEtEaFVwMy9KdFVSUHhG?=
 =?utf-8?B?ZW0xSERvdkR3cG9ESlh1ZFpJaUJ6TW1uK2psdHBQOXhjMmJkUFVVS1VKT2dI?=
 =?utf-8?B?K1RYcHhBaFowdVBuaGt2NlJobXl4T2pUNW5NdXlzUEZBZXRKSVRCSG9NM0Fj?=
 =?utf-8?B?ekVtY01CeEI5N3JsQ1p0dGJWcUE2UkI2QngrK3R1VWZ1ZXozK21SK3Rqd01M?=
 =?utf-8?B?UVI2TFFFd01pM2RPc3BPam9ZaUpLZ2QrUFcxaEJVNHRQaWI4R1UvOEFBdEEz?=
 =?utf-8?B?ZWtjVkZQdDkwYVR3UDlnUjhZWGtxUW1pS3M3TDA4OFdLbGdjSGZOdE5PSVF1?=
 =?utf-8?B?clZISVdXZmc2cUZJSVlXdEJTemRmT1JkQkxnMUhBQmhQcTlBdW9MOEgwaDk2?=
 =?utf-8?B?UnNTenlnYWxqUFNmcmhSZW8zanJXamNFWFVQWDhCNE93ZUoySGV0NDR3NFJG?=
 =?utf-8?B?akEyTFF6SWhkQUR1ZGhkV0JoMXpDWHpMQ1lmZG9tQyt4eCtQZEdHTFp0eEJ0?=
 =?utf-8?B?VjhrblJsZHgrOHE5RTlUNjRDQndYWTVIc3JFTnFmYlhRWmVyRlJHb1U2OW9C?=
 =?utf-8?B?dFljNEJqeUtBZi9jdkd4dVQvNDI0c0VqVTFmTWFOeVl2K2hiSTBJaVNxOW9N?=
 =?utf-8?B?WW8xOUQwaDIvSnBBNmZlRmNVSzVncEhJNG1QK3orZGxnR1dtMFZwVE1Vd2p1?=
 =?utf-8?B?dTVIYStLVnh1cWxOSjJvbFhqd3AydWFmUnFjUUhXSlJIRXRYYkpxSHpORDRU?=
 =?utf-8?B?NmNKaXNXN2tIYVYxNXFMMVM5cDlVbXNwSjk0a0h3VVAyT3ZlZUh2SEZyb1JB?=
 =?utf-8?B?clQ1NkxOb1ZNR2ZZVDlSVlFjQmRPNmhUcVVsenNiN3JkaGExV00vUncxYUlj?=
 =?utf-8?B?ZDFiOTFnckdhNTc4Q0kwYjZYUitzMklMeDhMWnEwZ2hoSUE1KzNVa2doMFpY?=
 =?utf-8?B?MVlsZStzekRvNTZLYmxZTkFUYzFweG84dThlWXEyVHRDMjNudXdsYStjbmZI?=
 =?utf-8?B?NEFRRk5mNEJsSVRFRTE4QnBzendITXNNMVVBbjRaYXpCYm93NmUxUFRreXc4?=
 =?utf-8?B?R2xYNFdYRHhNYnFxdlcxYlNDUXJ0d1ZKcHNPaGlPdGJqWjJVdVhyak9PaUNs?=
 =?utf-8?B?OEwzZEtYNXloTElQZm5qKzIxNHhFemc2dkNLU2p2d2VQTjFqNDkvV2hvekxH?=
 =?utf-8?B?aVR0KzlkdnExOXVNdWlLTjN5Y0xJSGhnS2FPZDl2NWVvZjQ3RGkvZjZXSWQw?=
 =?utf-8?B?MEs0ZWNGQmVybUZYeUcrRjdaYmdBOG9wK1JzVHRyb25nR2dCMGdmcGVkV2t6?=
 =?utf-8?B?aE56Wkl3OExuZWxlNTRmc09YcWsvM3VCRzl0bEdBcFlyeFlTUmloUHNIdW9h?=
 =?utf-8?B?ejczWWxEMURxVGVhdlpPWVdrMmFMMWU2dFdNVHlKZFdjV1BFclQ4YmNCaUM1?=
 =?utf-8?B?bGgzcFpRWDdXQ1FoMk9sVFNmL3lDdXFCbERhT2VOMEhUc01sTmtqR1lpNzlE?=
 =?utf-8?B?V2V1ZGtYQytFeWRzTmFON2tKY2EvNW01bDNSZkZTb2VYMjR5Ni84NFE5NW96?=
 =?utf-8?B?eWI3S0g5QXFUTlZDYlU2bm1nMjVLaVBqd1RBS204SHNXV3ZQSkg1a1FtNVc0?=
 =?utf-8?B?SnRrWjl2RkhueGtsbG41cVdXKzZkaVVmekdEUXkzRVBvTWJFc3dhT2pvVGEw?=
 =?utf-8?B?dndSb09QQStSTTcyRUhNdUNuL3c3MXNTNXIyT3orZTNnbmZHTU03UlFOODhx?=
 =?utf-8?B?ZXp3NUdTcksrQzladm9mbUIvOFJodkxWRDBVMS9HVnIzRW9sMHZ1QU5mbTNu?=
 =?utf-8?B?Snd5MEdQZXZYRHVkaWR1aDZ5eHRidXV1VE80b0F4TWx6cnM5NWtINGhockhG?=
 =?utf-8?B?TWdsMjk0Z3N3ZzJMRm42cG5uZ3J0L3FzTTRwWGt3bTZWSnZQc1pjaW9vYjFx?=
 =?utf-8?B?SkZ0cG5ER1daQmw3UjZGVnZTcFhSbG1kMFNWekxmUmdoYisrdDZRSWRDNkFM?=
 =?utf-8?Q?+bgUSc30fRWFTC26J8rpovpup?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a679d2b-d32a-4cf0-f392-08dbdf80beda
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 11:00:25.5494
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hRd4Xg8ef4PiG64JIlzUkF3I4j6VN9gmxvUemv1td0wtAGpoDRtNNk0xroPXGrcHREDNhsFV0iJLiZ2Ez+SNaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB10010

On 06.11.2023 20:20, Pry Mar wrote:
> These 2 errors show in dmesg late in boot process when xen domU launch:
> 1)  blkback
> UBSAN: array-index-out-of-bounds in
> /build/linux-D15vQj/linux-6.5.0/drivers/block/xen-blkback/blkback.c:1227:4
> 
> 2) netback
> [   55.209063] UBSAN: array-index-out-of-bounds in
> /build/linux-D15vQj/linux-6.5.0/drivers/net/xen-netback/netback.c:289:3
> [   55.209268] index 3 is out of range for type 'xen_netif_tx_sring_entry
> [1]'
> [   55.209401] CPU: 3 PID: 0 Comm: swapper/3 Not tainted 6.5.0-9-generic
> #9-Ubuntu
> 
> The xen sources don't seem to generate these UBSAN errors and I included
> the patch from staging-4.18. It seems only the xen related kernel drivers
> are
> doing UBSAN errors.

While I have to admit that I find your report a little confusing, I kind of
guess that what you're reporting would be addressed by
https://lists.xen.org/archives/html/xen-devel/2023-07/msg01837.html (once
it was put in suitable shape to be committed, and once it was then further
pulled over into the Linux tree).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 11:02:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 11:02:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628761.980552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Jqv-0000Rt-3x; Tue, 07 Nov 2023 11:02:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628761.980552; Tue, 07 Nov 2023 11:02: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 1r0Jqv-0000Rm-1I; Tue, 07 Nov 2023 11:02:37 +0000
Received: by outflank-mailman (input) for mailman id 628761;
 Tue, 07 Nov 2023 11:02: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=Q5W1=GU=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r0Jqt-0000Rd-M1
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 11:02:35 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26a41f7e-7d5d-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 12:02:34 +0100 (CET)
Received: from SA1P222CA0184.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c4::29)
 by PH0PR12MB8031.namprd12.prod.outlook.com (2603:10b6:510:28e::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.21; Tue, 7 Nov
 2023 11:02:30 +0000
Received: from SA2PEPF00001506.namprd04.prod.outlook.com
 (2603:10b6:806:3c4:cafe::b0) by SA1P222CA0184.outlook.office365.com
 (2603:10b6:806:3c4::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29 via Frontend
 Transport; Tue, 7 Nov 2023 11:02:30 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00001506.mail.protection.outlook.com (10.167.242.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Tue, 7 Nov 2023 11:02:29 +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.2507.32; Tue, 7 Nov
 2023 05:02:28 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Tue, 7 Nov
 2023 03:02:27 -0800
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Tue, 7 Nov 2023 05:02:26 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26a41f7e-7d5d-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZTAmkjuPgo8CfOPfHVA+cNmfQVbjBhHMhk956MX4pTfIpgt9+nllt2B+KA1RLuuNMNJJVi50s6FLxERIclAsFde5Zkpte9tSmQiZM2WP9gAx8MOTbKIM0TP/kUsGavU/D9aL9MrcM+cqivIgWlW3OuDr1vKbDoeE61G8yYOOVzEeQl+LDTBubPGicl+cqK6ai57CWrC5wWNWdwWfDFNfaEH30mKHPoFlCy8JiIpmvyEgnCkUGTns6mqlowSBiNWhd7+rLjxeDwb7FT5OeJNBMzKxKTUrcTBLA8cpA4ZrwgOkvnFgNd9abLW6rtq4CdMeRzXvf27V9jJesfKUrsq1XA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aQ3nDnZzIOlBJ/9NcxXfJ1436Pka6wUXHNTU65y2wps=;
 b=i4HgHBN3PzIbqMJ0nibTQy45uiFX1T/ooQEUvbmAo52MtnR0FMH9dMLuQ9+NNUVgTGdfOZThe8/CBgvx7z5fox+I8AY+Kh4q9aubrd3nJvnkSK2bnjNFgkH+f2USmGZWJqJ+GXXUgulwa251HCw4WpzUjcONOkC0j8FzwhqfqQ6oMGxCvna2uHex2aBTuq8EQjSpy4ifPyTGfZ9gMTIDiIyTAjXRIVM6/Rllw6Z3J66k0tQMLCcKNyoNw6bSBuvt3PLtT9p3ky0LZOb2OHXvN93VkZuhY3Oi64uZTDyvpJEslUBTz+TWtbrqlSznG9E6JMjQXdJI/w1nTVN+PZ/SOA==
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 (0)
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=aQ3nDnZzIOlBJ/9NcxXfJ1436Pka6wUXHNTU65y2wps=;
 b=rbuW4TNyjL1see6dWiQ/ztQddg0pxI4Dgf37xAAInJiRqXXfGwjw9f2MWzOrsrhZMQ2pgJrLs+vtprdLYY0hfZB8OGoPLEl4luLJ2g+2oFNnKATkP5dAnlmMg1hGAHPDOoaV2zhots0N7mb4YQvaGfOEKXsmx50TdUdNScx7lsI=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [PATCH v3 0/2] xen/arm: Split MMU code as the prepration of MPU work form Arm32
Date: Tue, 7 Nov 2023 11:02:15 +0000
Message-ID: <20231107110217.1827379-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001506:EE_|PH0PR12MB8031:EE_
X-MS-Office365-Filtering-Correlation-Id: 830e1ed1-3fc1-481d-8de4-08dbdf810919
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JIwUSDJD2duLdL5UpbjiY605g8pUxKyzgZ55k4PTtwliFmO4dXyZlIpYdNm29oR2z9OhODoMcyLoOZX3PkcI7C8LUohkdFSRkjjCdHWb0qpOrQlpWsZBHcapopkOJliJFpV1xL9NAm7jKuKpARu1kIeYhFxbE59v9WhqhQX7pRDGCX0tsHIKgrZvceUpZuAAPVupgVXxCsjC5gY8U4jwvVciVJXoQT1bTLlvuOFpWoOy/8Wet+o6eGwC9j8nIrhwnkOqKh63G3fg/270Vh4dZ04FQuynExhknCizKBhqVhi5O3K99krCiIwoxVqY3fH+slXdOH9AgOc6/zlVB7rPYe7ZjUlZ0cVKE6giN4AdpchmHIZepFGdt1giF24POZ6ptfKi59YlfBZSHkYKw3emmUl0iCiKfNyIBRW7RRiviydCjYOqbiaXK8u5+9GMRd2mODD8OsLywAr5I+suSxDqnj17XCIpYJPToQ3CsaRgitts5Z/Tgr7bGJewYBVOymsqxgWnHcGM/fcvP8OHe258sBcXpaoFN7bIR7h+g/AaYxr6d2fu6iNSYukTP9/uzWoFhjqa+bWoSna8eBBaXm1AmaT2z5yW9xtzOne8LjEzi/9F6l7q58DesRu2soiC9x25oi7X8or9dbWbd3jl5fekBmjbRHSSvVPSzgMFyrBnOgnxL/1507bq/wTjffysl31zsZ0CDEePyoqQtYkWvi28PHw8hcbLxh5/Dpg3RFD5jknYZbZ2nqGqqI6fdBBGbEwo
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:(13230031)(4636009)(39860400002)(346002)(396003)(376002)(136003)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(82310400011)(40470700004)(46966006)(36840700001)(8936002)(40460700003)(47076005)(40480700001)(1076003)(2616005)(426003)(336012)(81166007)(26005)(36756003)(103116003)(356005)(316002)(8676002)(2906002)(54906003)(966005)(70586007)(41300700001)(478600001)(6666004)(70206006)(6916009)(5660300002)(4326008)(86362001)(83380400001)(82740400003)(36860700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 11:02:29.8720
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 830e1ed1-3fc1-481d-8de4-08dbdf810919
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:
	SA2PEPF00001506.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB8031

Hi,

These are the set of patches based on top of
"[PATCH v8 0/8] xen/arm: Split MMU code as the prepration of MPU work".
This is the preparation work to add MPU support on Arm32.

There are two more dependencies for this series :-

1. "[XEN v1 1/4] xen/arm: arm32: Move pt_enforce_wxn() so that it can be bundled with other MMU functionality"
is merged into "[PATCH v8 3/8] xen/arm: Fold mmu_init_secondary_cpu() to head.S"
as per the discussion on [1].

2. "[XEN v4] xen/arm32: head: Replace load_paddr with adr_l when they are equivalent"


[1] - https://lore.kernel.org/all/f098a07d-fa19-4b40-bfac-7b121524382a@xen.org/#t

Changes from :-

v1 - Dropped "[XEN v1 1/4] xen/arm: arm32: Move pt_enforce_wxn() so that it can be bundled with other MMU functionality"
and "[XEN v1 4/4] xen/arm: traps.c: Enclose VMSA specific registers within CONFIG_MMU".

v2 - Changes mentioned in individual patches.

Ayan Kumar Halder (2):
  xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()
  xen/arm32: head Split and move MMU-specific head.S to mmu/head.S

 xen/arch/arm/arm32/head.S               | 578 +-----------------------
 xen/arch/arm/arm32/mmu/Makefile         |   1 +
 xen/arch/arm/arm32/mmu/head.S           | 573 +++++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/macros.h |  58 ++-
 4 files changed, 641 insertions(+), 569 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/head.S

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 11:03:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 11:03:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628763.980562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Jrc-0000wH-Cy; Tue, 07 Nov 2023 11:03:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628763.980562; Tue, 07 Nov 2023 11: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 1r0Jrc-0000w8-AH; Tue, 07 Nov 2023 11:03:20 +0000
Received: by outflank-mailman (input) for mailman id 628763;
 Tue, 07 Nov 2023 11:03: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=Q5W1=GU=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r0Jrb-0000vu-Oj
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 11:03:19 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7eab::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41d1000c-7d5d-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 12:03:18 +0100 (CET)
Received: from SA1P222CA0180.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c4::17)
 by CY5PR12MB6035.namprd12.prod.outlook.com (2603:10b6:930:2d::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Tue, 7 Nov
 2023 11:03:13 +0000
Received: from SA2PEPF00001506.namprd04.prod.outlook.com
 (2603:10b6:806:3c4:cafe::63) by SA1P222CA0180.outlook.office365.com
 (2603:10b6:806:3c4::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29 via Frontend
 Transport; Tue, 7 Nov 2023 11:03:13 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00001506.mail.protection.outlook.com (10.167.242.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Tue, 7 Nov 2023 11:03:13 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Tue, 7 Nov
 2023 05:03:13 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Tue, 7 Nov 2023 05:03:11 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41d1000c-7d5d-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OLr1u+tpquAtM9+b/F3Qkup6oavobICVN+v/wcT0TXtTmpryvpB5fwCEbFp8USpOz+1I/8hGd6MPrv61NqgN73Amt8FpwuDT81ShWhoJK1O1OGXWYF2u+KHvxUuDau8I3bUpkLckGerNTtsFXN88VNLRrNiRe2lNJPFmUiZbnlNoDdH6unO7G5MRlXj6RxbvW0bpX6nLUyKy9mh00OuGoi4vqjcxgAa18nPEGEQVPap3PMBPiGCSb0+Dy51c4K89me8MKmrINsykQ9Qy+98pcDlNqaw1m+tQe5bYUaXlRo6QSrBMnHis4r9K/ckpLf/vTCCI7OL/50UJHx4F+ajdmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=295kC5RqrkcuwLMEXOng/E/UTwyernbSiTB90Q1I9Os=;
 b=iJT5XT5r00SKLS3KIEChI8PC8l2Gvh5j0QoCKVov+9Ml8K+AiQys4K0A7HAYye7JmA/8lIOtu2nR+wlJiKKmP+JMLs8YU5kNyD5e0ErM1GY7rAEXj+BoZqiIJuqjShjcS7jVPzlt2PZgNozJ0NTfRBwRAjSJjNtcGw2D0RvCSzkZ9dr3U0jKU+ZkUiG174REu9WkeIr8VzTvnvKbbOnGQ/1pqhTGS6YJAy2rmhssRG+xjcJVO5NNyLTwsb/9I/+r+806X+5qLAlLFhwJvZdyJDVq3FHFFQH4bSSRveRXseSgc5v3354jjlpB2ElWPKKjH29TaMYkvm3BnqsvifwlSg==
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 (0)
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=295kC5RqrkcuwLMEXOng/E/UTwyernbSiTB90Q1I9Os=;
 b=G7KpHgshcBwztD/kkihNIIhdnUtxl04ygSTelsB2KwyvBBSmxoarlfLuL1z5q6XumdylPOQDDIYN0Gq6ACdg9vHvqqEp0qDyI/FVYm9/NUFD/a3u/67SSi8mUDVnr9zeWGnI6/rmm4q7vqXCyZCJrRg/jSI8bI4A+3ZBqS4w5ro=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>, Michal Orzel
	<michal.orzel@amd.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 1/2] xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()
Date: Tue, 7 Nov 2023 11:02:16 +0000
Message-ID: <20231107110217.1827379-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231107110217.1827379-1-ayan.kumar.halder@amd.com>
References: <20231107110217.1827379-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001506:EE_|CY5PR12MB6035:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f026f2f-57e6-4613-9ead-08dbdf81233b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B+D57BJHPy3G2S5Bs4lB7M67xrkAcknCC9SA1GMiOdjKAyLielXGQbCvH1CtDidAI4fX9Q0ydcxm2vgD87GlfnhHAbWjEd5ImZwLtQH7aEUX6EIRh8NwzZ0QjyR0/oNtOKRiHvyImzqgrt12pY8cYXFIjmQdut6fhK6nEPYzS9l3jjsJpZ8HSk9plQWBcmfaKnDvxf2E42bFfddtTIXAaI5owJAUG4k48ARKeYBmEp1LMiW3b652ZdCYWnQiCQc9DxI/Rux8k6FW3Z/h5mh6MV9SzzHJZV0nmlN58s56YqPA3weHF8xi+sQjGwE1+oTvNsU2fFla2B1dipyw8sAKshhqYps3Ck/yFqeziK0pdEWUklV9TCpZ2bwhx0xUPpEMYQAL0YpuU0TecUnDFyAg2/J9NB39WMi2Ad7eQdRlsVNv2gl/Qk5fh0qtX9COaf2eAqox2pDyulukpuFflYU6zf80bd2yhqmTfMVl14k/wHK4IjvJeHq8t4LPE76bttv3waCbRGPMfRB0Eu4rZz5mS8RDbg/6ndCF2z9ENL9G/6eGSG4SIT882meQ6IjqpEldE7fJ6/MXLViaPvKo9CXKJm4ONDSDCLAGaLu308FmpOVkrN0XlfvtCJdROLfSyIvxn7gAuOV+B8qTGN/+h6UKOm7ZXuPwalOl3WTbl7HG7sGVoALSx2cDRhMZtj3TPR5JuxlkatTTkMJj4Czf6rF8wnFr9hfHcVAER40j8EG//a1a8ZfHMBZUsTpyrQtnuWSea9kio+8a5jHwiX8MJ4KrEHfbDMwvzMI4Q5eE/CZBSoE=
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:(13230031)(4636009)(136003)(396003)(346002)(376002)(39860400002)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(82310400011)(36840700001)(46966006)(40470700004)(36756003)(5660300002)(36860700001)(40460700003)(41300700001)(2906002)(103116003)(86362001)(81166007)(356005)(82740400003)(70586007)(70206006)(26005)(316002)(54906003)(426003)(6916009)(336012)(478600001)(2616005)(1076003)(40480700001)(47076005)(83380400001)(8936002)(8676002)(4326008)(21314003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 11:03:13.7317
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f026f2f-57e6-4613-9ead-08dbdf81233b
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:
	SA2PEPF00001506.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6035

All the MMU related functionality have been clubbed together in
enable_boot_cpu_mm() for booting primary cpu and enable_secondary_cpu_mm() for
booting secondary cpus.
This is done in preparation for moving the code related to MMU in MMU specific
file and in order to support non MMU cpus in future.

This is based on d2f8df5b3ede ("xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm()").

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---

Changes from :-

v1 - 1. Added a proper commit message.
2. Some style and other fixes suggested in v1. 

v2 - 1. Updated the comment on top of enable_boot_cpu_mm() and
enable_secondary_cpu_mm() ie mentioned the input and output registers.
2. Updated the comment inside enable_boot_cpu_mm().

 xen/arch/arm/arm32/head.S | 102 ++++++++++++++++++++++++++++++--------
 1 file changed, 80 insertions(+), 22 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 2d7e690bf5..2204ea6dce 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -201,13 +201,11 @@ past_zImage:
 
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
 
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
         mov_w lr, primary_switched
-        b     enable_mmu
+        b     enable_boot_cpu_mm
+
 primary_switched:
-        bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
@@ -249,27 +247,11 @@ GLOBAL(init_secondary)
 #endif
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
 
-        /* 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
-         * setup in prepare_secondary_mm.
-         *
-         * XXX: This is not compliant with the Arm Arm.
-         */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
-        ldrd  r4, r5, [r4]           /* Actual value */
-        dsb
-        mcrr  CP64(r4, r5, HTTBR)
-        dsb
-        isb
-        flush_xen_tlb_local r0
-        pt_enforce_wxn r0
+        b     enable_secondary_cpu_mm
 
+secondary_switched:
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
@@ -692,6 +674,82 @@ ready_to_switch:
         mov   pc, lr
 ENDPROC(switch_to_runtime_mapping)
 
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+enable_secondary_cpu_mm:
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Non-boot CPUs need to move on to the proper pagetables, which were
+         * setup in prepare_secondary_mm.
+         *
+         * XXX: This is not compliant with the Arm Arm.
+         */
+        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        ldrd  r4, r5, [r4]           /* Actual value */
+        dsb
+        mcrr  CP64(r4, r5, HTTBR)
+        dsb
+        isb
+        flush_xen_tlb_local r0
+        pt_enforce_wxn r0
+
+        /* Return to the virtual address requested by the caller. */
+        mov   pc, r6
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+enable_boot_cpu_mm:
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Prepare the fixmap. The function will return to the virtual address
+         * requested by the caller.
+         */
+        mov   lr, r6
+
+        b     setup_fixmap
+ENDPROC(enable_boot_cpu_mm)
+
 /*
  * Remove the 1:1 map from the page-tables. It is not easy to keep track
  * where the 1:1 map was mapped, so we will look for the top-level entry
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 11:04:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 11:04:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628767.980573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0JsM-0001fS-MR; Tue, 07 Nov 2023 11:04:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628767.980573; Tue, 07 Nov 2023 11:04: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 1r0JsM-0001fL-Iy; Tue, 07 Nov 2023 11:04:06 +0000
Received: by outflank-mailman (input) for mailman id 628767;
 Tue, 07 Nov 2023 11:04: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=Q5W1=GU=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r0JsL-0001Me-BI
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 11:04:05 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20630.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5af40c2c-7d5d-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 12:04:02 +0100 (CET)
Received: from MN2PR16CA0037.namprd16.prod.outlook.com (2603:10b6:208:234::6)
 by SA1PR12MB5669.namprd12.prod.outlook.com (2603:10b6:806:237::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 7 Nov
 2023 11:03:56 +0000
Received: from BL6PEPF0001AB75.namprd02.prod.outlook.com
 (2603:10b6:208:234:cafe::37) by MN2PR16CA0037.outlook.office365.com
 (2603:10b6:208:234::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28 via Frontend
 Transport; Tue, 7 Nov 2023 11:03:56 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB75.mail.protection.outlook.com (10.167.242.168) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Tue, 7 Nov 2023 11:03:55 +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.2507.32; Tue, 7 Nov
 2023 05:03:50 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Tue, 7 Nov
 2023 03:03:19 -0800
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Tue, 7 Nov 2023 05:03:17 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5af40c2c-7d5d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SPDtKc83tcZbxqBPMY9Aio9F5RUvJY5K9kEaEGSt6gEfBAHhnucaIShtzpN/x1bcetdkDJ5qJVHHDmEu2hN6K+5CyOdwi6pqc2LRCtYBUzzhp8q/Ms4JUN0rZz6/K37GK8G61xWIkpzyCwZ+al5wVtSWbvmOX4ZDtBCL519DVlQpeOOjRYpRvbuZ8iLh9+alRHU00Pb+Sf4CIWxzfyauPv+9psoQoSgR874miaW2VbUFa+E/h/hwP1JVeCNloY2iDdn274WqgbqheVqvO/kVXUob7I5YXXTRO0QDwko3KNwH09hM3b0oYsPKOnosYMIVCoeaWLqr/exRI/+cE0YTpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PzWhtqy3DjJ0q7rFcCDDZezJg6AZI6wyqVhKWBNv+cg=;
 b=XyypnAfWKn4MSngJz8hc3AkfRP91xbeks2+KrNzIDnCxTF8Npon7ZBmfQHeBRrTrAnbmagk6F+WqqG8rYNuvUGgM9LZ11QeON9SQSAu36xqkIeakR9qlpb/s9a5ArOWlGY0UO+XcBOO45e/972p/acAhROLZI6bZ6Vv6PjktxlrXwSRoMdqXPm/Ee4jp+NQ9Iq8ZfJ8gUpub5AEPE50ZSzpmdIlsifVwugyfIBUbNwckaWHuGPRsLVbzJN80cG3NLsL5gepXHQFFhBJfPVZdnoXYoQrni3aZS3Z3POSSBPPywSJ3kEUEcuwQE2skCNIjssLHxTkzsr/NDvMaEeDE3g==
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 (0)
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=PzWhtqy3DjJ0q7rFcCDDZezJg6AZI6wyqVhKWBNv+cg=;
 b=3PuHpEpEdXR3hZFARpaLBP8ORNA6WhVbLjL8d52lHQ5CqmkA+AgKhVx9ZY3Extx01xrcDDzNZ2sTnefqNa8n42oIn6GfS827of5UY1MZfR3oHCtN96Oweq5BOd/Sg8TUIXpO3V8K0fWmt2D8FXaJFXCMGP8cE2iCmvG2+pUJ1i8=
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 <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Subject: [PATCH v3 2/2] xen/arm32: head Split and move MMU-specific head.S to mmu/head.S
Date: Tue, 7 Nov 2023 11:02:17 +0000
Message-ID: <20231107110217.1827379-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231107110217.1827379-1-ayan.kumar.halder@amd.com>
References: <20231107110217.1827379-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB75:EE_|SA1PR12MB5669:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c649299-46d9-4693-c444-08dbdf813c5e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NxQJMRyXkpLzJZ8i4ZYKcKfXyTE57oIge2rBAdLGAiCxHrdy7W3tJRaEc5iPSCig0HhSQA31FharEC5YVLt2RX8sw4zmjphjBRu92KX32hp2aDyFhSqUe4yQx+fcAu6pubOLNBkbjyUaD5yePLbu6GOertVfeyAzl/aS3X3d2tiByxB++qjFxv8qrE0l2L9r1atvzFsbrfRxhvcdyGrM4By4hpzqbM80QiG2u79bpOk5/5bRTg9wdOiDIMAWkqJijSKcvpLEtvAJZvU3ENdiErxJt8ZKn8C5LwTxa2a9xBId5tzykS8EhS8z5pOABES+nUmkbfuUfoiKBLE78jIlUON05xLoPdTSIZrskLradVk3u0tWuuscs3A1ddw6j4NHyCkv72HWX/CshY3qmUu8jqCBtVneJQx7D6nXmgGwU2jHqMnNOOp2MgAEbmZgkY5luk6b1v5sS7X+18UmGoHA9IhzzWEaA9qnlrP/O9Y3kAqhMaEvj+QofB2iFYFfHkpbyUaHUzaag8nDQy7H8hWto5aP5NjUx9PZfwPOpxMIPInArlxxPt3c1dklj/vGBe/FGBaEqSGHdlNgORzMLtIQsYGXXmv7n6atsiWddCisiDKcxNgo3KYNW4IA6tG8ixt2M2BUsHh7EczGbvHpyMyeCe/a0FxoPtF9lQf2rNbgwgNcfMQ13yGHEH+Sj5xfGxd49VmrSGXsUOZXF4piO3VUzpuVRfnV1J+iW1o0NnEuWWAHetCoLrZ+Ij5MrkvJ/WGRDx5SOgpuKXkFg/YWBmLaE98gcbsiFxuIzSMbIiZFzoZQ/Ap+GNxgoasCWd82mWQOvIint8SSmMIoYE3Og1GldA==
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:(13230031)(4636009)(346002)(396003)(376002)(136003)(39860400002)(230173577357003)(230273577357003)(230922051799003)(64100799003)(82310400011)(451199024)(1800799009)(186009)(46966006)(36840700001)(40470700004)(40480700001)(40460700003)(47076005)(83380400001)(36860700001)(36756003)(8936002)(4326008)(103116003)(41300700001)(2906002)(86362001)(30864003)(8676002)(316002)(478600001)(356005)(6916009)(82740400003)(81166007)(336012)(5660300002)(1076003)(26005)(54906003)(70586007)(426003)(70206006)(2616005)(21314003)(36900700001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 11:03:55.9207
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c649299-46d9-4693-c444-08dbdf813c5e
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:
	BL6PEPF0001AB75.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB5669

The MMU specific code in head.S will not be used on MPU systems.
Instead of introducing more #ifdefs which will bring complexity
to the code, move MMU related code to mmu/head.S and keep common
code in head.S. Two notes while moving:
 - As "fail" in original head.S is very simple and this name is too
   easy to be conflicted, duplicate it in mmu/head.S instead of
   exporting it.
 - Realigned ".macro ret" so that the alignment matches to the other
   macros.
 - Rename puts to asm_puts, putn to asm_putn (this denotes that the
   macros are used within the context of assembly only).
 - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm,
   setup_fixmap, asm_puts, asm_putn  as they will be used externally.

Also move the assembly macros shared by head.S and mmu/head.S to
macros.h.

This is based on 6734327d76be ("xen/arm64: Split and move MMU-specific head.S to mmu/head.S").

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---
Changes from v1 :-

1. Added a commit message

2. Moved load_paddr to mmu/head.S

v2 :-

1. Renamed puts to asm_puts and putn to asm_putn. Exported asm_putn().
2. Moved XEN_TEMPORARY_OFFSET to head.S.
3. Some style issues.

 xen/arch/arm/arm32/head.S               | 628 +-----------------------
 xen/arch/arm/arm32/mmu/Makefile         |   1 +
 xen/arch/arm/arm32/mmu/head.S           | 573 +++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/macros.h |  58 ++-
 4 files changed, 637 insertions(+), 623 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/head.S

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 2204ea6dce..1448d092d1 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -22,86 +22,10 @@
 
 #define ZIMAGE_MAGIC_NUMBER 0x016f2818
 
-#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
-#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
-#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
-
-#define PT_UPPER(x) (PT_##x & 0xf00)
-#define PT_LOWER(x) (PT_##x & 0x0ff)
-
-/* Convenience defines to get slot used by Xen mapping. */
-#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
-#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
-
-/* Offset between the early boot xen mapping and the runtime xen mapping */
-#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
-
 #if defined(CONFIG_EARLY_PRINTK) && defined(CONFIG_EARLY_PRINTK_INC)
 #include CONFIG_EARLY_PRINTK_INC
 #endif
 
-/*
- * Move an immediate constant into a 32-bit register using movw/movt
- * instructions.
- */
-.macro mov_w reg, word
-        movw  \reg, #:lower16:\word
-        movt  \reg, #:upper16:\word
-.endm
-
-/*
- * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
- * within the range +/- 4GB of the PC.
- *
- * @dst: destination register
- * @sym: name of the symbol
- */
-.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
-        mov_w \rb, \sym
-        add   \rb, \rb, r10
-.endm
-
-/*
- * Flush local TLBs
- *
- * @tmp: Scratch register
- *
- * See asm/arm32/flushtlb.h for the explanation of the sequence.
- */
-.macro flush_xen_tlb_local tmp
-        dsb   nshst
-        mcr   CP32(\tmp, TLBIALLH)
-        dsb   nsh
-        isb
-.endm
-
-/*
- * Enforce Xen page-tables do not contain mapping that are both
- * Writable and eXecutables.
- *
- * This should be called on each secondary CPU.
- */
-.macro pt_enforce_wxn tmp
-        mrc   CP32(\tmp, HSCTLR)
-        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
-        dsb
-        mcr   CP32(\tmp, HSCTLR)
-        /*
-         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
-         * before flushing the TLBs.
-         */
-        isb
-        flush_xen_tlb_local \tmp
-.endm
-
 /*
  * Common register usage in this file:
  *   r0  -
@@ -121,38 +45,6 @@
  *   r14 - LR
  *   r15 - PC
  */
-#ifdef CONFIG_EARLY_PRINTK
-/*
- * Macro to print a string to the UART, if there is one.
- *
- * Clobbers r0 - r3
- */
-#define PRINT(_s)           \
-        mov   r3, lr       ;\
-        adr_l r0, 98f      ;\
-        bl    puts         ;\
-        mov   lr, r3       ;\
-        RODATA_STR(98, _s)
-
-/*
- * Macro to print the value of register \rb
- *
- * Clobbers r0 - r4
- */
-.macro print_reg rb
-        mov   r0, \rb
-        mov   r4, lr
-        bl    putn
-        mov   lr, r4
-.endm
-
-#else /* CONFIG_EARLY_PRINTK */
-#define PRINT(s)
-
-.macro print_reg rb
-.endm
-
-#endif /* !CONFIG_EARLY_PRINTK */
 
         .section .text.header, "ax", %progbits
         .arm
@@ -355,480 +247,6 @@ 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 (physical
- * address)
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     physical address of the table to point to
- * virt:    virtual address
- * lvl:     page-table level
- *
- * Preserves \virt
- * Clobbers \tbl, r1 - r3
- *
- * Note that \tbl and \virt should be in a register other than r1 - r3
- */
-.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
-        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
-        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
-
-        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
-        orr   r2, r2, \tbl           /*           + \tbl paddr */
-        mov   r3, #0
-
-        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
-
-        strd  r2, r3, [\tbl, r1]
-.endm
-
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl (symbol)
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     table symbol to point to
- * virt:    virtual address
- * lvl:     page-table level
- *
- * Preserves \virt
- * Clobbers r1 - r4
- *
- * Also use r10 for the phys offset.
- *
- * Note that \virt should be in a register other than r1 - r4
- */
-.macro create_table_entry, ptbl, tbl, virt, lvl
-        load_paddr r4, \tbl
-        create_table_entry_from_paddr \ptbl, r4, \virt, \lvl
- .endm
-
-/*
- * Macro to create a mapping entry in \tbl to \paddr. Only mapping in 3rd
- * level table (i.e page granularity) is supported.
- *
- * ptbl:     table symbol where the entry will be created
- * virt:    virtual address
- * phys:    physical address
- * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
- *
- * Preserves \virt, \phys
- * Clobbers r1 - r4
- *
- * 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
-        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
-        lsr   r1, \virt, #THIRD_SHIFT
-        and   r1, r1, r2             /* r1 := slot in \tlb */
-        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
-
-        lsr   r4, \phys, #THIRD_SHIFT
-        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
-
-        movw  r2, #\type             /* r2:r3 := right for section PT */
-        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
-        mov   r3, #0
-
-        adr_l r4, \ptbl
-
-        strd  r2, r3, [r4, r1]
-.endm
-
-/*
- * Rebuild the boot pagetable's first-level entries. The structure
- * is described in mm.c.
- *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r5
- */
-create_page_tables:
-        /* Prepare the page-tables for mapping Xen */
-        mov_w r0, XEN_VIRT_START
-
-        /*
-         * We need to use a stash register because
-         * create_table_entry_paddr() will clobber the register storing
-         * the physical address of the table to point to.
-         */
-        adr_l r5, boot_third
-        mov_w r4, XEN_VIRT_START
-.rept XEN_NR_ENTRIES(2)
-        mov   r0, r5                        /* r0 := paddr(l3 table) */
-        create_table_entry_from_paddr boot_second, r0, r4, 2
-        add   r4, r4, #XEN_PT_LEVEL_SIZE(2) /* r4 := Next vaddr */
-        add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
-.endr
-
-        /*
-         * Find the size of Xen in pages and multiply by the size of a
-         * PTE. This will then be compared in the mapping loop below.
-         *
-         * Note the multiplication is just to avoid using an extra
-         * register/instruction per iteration.
-         */
-        mov_w r0, _start            /* r0 := vaddr(_start) */
-        mov_w r1, _end              /* r1 := vaddr(_end) */
-        sub   r0, r1, r0            /* r0 := effective size of Xen */
-        lsr   r0, r0, #PAGE_SHIFT   /* r0 := Number of pages for Xen */
-        lsl   r0, r0, #3            /* r0 := Number of pages * PTE size */
-
-        /* Setup boot_third: */
-        adr_l r4, boot_third
-
-        lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
-        lsl   r2, r2, #THIRD_SHIFT
-        orr   r2, r2, #PT_UPPER(MEM_L3) /* r2:r3 := map */
-        orr   r2, r2, #PT_LOWER(MEM_L3)
-        mov   r3, #0x0
-
-        /* ... map of vaddr(start) in boot_third */
-        mov   r1, #0
-1:      strd  r2, r3, [r4, r1]       /* Map vaddr(start) */
-        add   r2, r2, #PAGE_SIZE     /* Next page */
-        add   r1, r1, #8             /* Next slot */
-        cmp   r1, r0                 /* Loop until we map all of Xen */
-        blo   1b
-
-        /*
-         * Setup the 1:1 mapping so we can turn the MMU on. Note that
-         * only the first page of Xen will be part of the 1:1 mapping.
-         */
-        create_table_entry boot_pgtable, boot_second_id, r9, 1
-        create_table_entry boot_second_id, boot_third_id, r9, 2
-        create_mapping_entry boot_third_id, r9, r9
-
-        /*
-         * Find the first slot used. If the slot is not the same
-         * as TEMPORARY_AREA_FIRST_SLOT, then we will want to switch
-         * to the temporary mapping before jumping to the runtime
-         * virtual mapping.
-         */
-        get_table_slot r1, r9, 1     /* r1 := first slot */
-        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
-        bne   use_temporary_mapping
-
-        mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-        mov   r12, #0                /* r12 := temporary mapping not created */
-        mov   pc, lr
-
-use_temporary_mapping:
-        /*
-         * The identity mapping is not using the first slot
-         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
-         * See switch_to_runtime_mapping for more details.
-         */
-        PRINT("- Create temporary mapping -\r\n")
-
-        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
-        mov_w r0, TEMPORARY_XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-
-        mov   r12, #1                /* r12 := temporary mapping created */
-        mov   pc, lr
-ENDPROC(create_page_tables)
-
-/*
- * 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:
- *   r9 : paddr(start)
- *  r12 : Was the temporary mapping created?
- *   lr : Virtual address to return to
- *
- * Clobbers r0 - r5
- */
-enable_mmu:
-        PRINT("- Turning on paging -\r\n")
-
-        /*
-         * The state of the TLBs is unknown before turning on the MMU.
-         * Flush them to avoid stale one.
-         */
-        flush_xen_tlb_local r0
-
-        /* Write Xen's PT's paddr into the HTTBR */
-        adr_l r0, boot_pgtable
-        mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
-        mcrr  CP64(r0, r1, HTTBR)
-        isb
-
-        mrc   CP32(r0, HSCTLR)
-        /* Enable MMU and D-cache */
-        orr   r0, r0, #(SCTLR_Axx_ELx_M|SCTLR_Axx_ELx_C)
-        dsb                          /* Flush PTE writes and finish reads */
-        mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
-        isb                          /* Now, flush the icache */
-
-        /*
-         * The MMU is turned on and we are in the 1:1 mapping. Switch
-         * to the runtime mapping.
-         */
-        mov   r5, lr                /* Save LR before overwritting it */
-        mov_w lr, 1f                /* Virtual address in the runtime mapping */
-        b     switch_to_runtime_mapping
-1:
-        mov   lr, r5                /* Restore LR */
-        /*
-         * At this point, either the 1:1 map or the temporary mapping
-         * will be present. The former may clash with other parts of the
-         * Xen virtual memory layout. As both of them are not used
-         * anymore, remove them completely to avoid having to worry
-         * about replacing existing mapping afterwards.
-         *
-         * On return this will jump to the virtual address requested by
-         * the caller.
-         */
-        teq   r12, #0
-        beq   remove_identity_mapping
-        b     remove_temporary_mapping
-ENDPROC(enable_mmu)
-
-/*
- * Switch to the runtime mapping. The logic depends on whether the
- * runtime virtual region is clashing with the physical address
- *
- *  - If it is not clashing, we can directly jump to the address in
- *    the runtime mapping.
- *  - If it is clashing, create_page_tables() would have mapped Xen to
- *    a temporary virtual address. We need to switch to the temporary
- *    mapping so we can remove the identity mapping and map Xen at the
- *    correct position.
- *
- * Inputs
- *    r9: paddr(start)
- *   r12: Was a temporary mapping created?
- *    lr: Address in the runtime mapping to jump to
- *
- * Clobbers r0 - r4
- */
-switch_to_runtime_mapping:
-        /*
-         * Jump to the runtime mapping if the virt and phys are not
-         * clashing
-         */
-        teq   r12, #0
-        beq   ready_to_switch
-
-        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
-        mov_w r0, 1f
-        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
-        mov   pc, r0
-
-1:
-        /* Remove boot_second_id */
-        mov   r2, #0
-        mov   r3, #0
-        adr_l r0, boot_pgtable
-        get_table_slot r1, r9, 1            /* r1 := first slot */
-        lsl   r1, r1, #3                    /* r1 := first slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-
-        /* Map boot_second into boot_pgtable */
-        mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-
-        /* Ensure any page table updates are visible before continuing */
-        dsb   nsh
-        /*
-         * The function will return on the runtime mapping. So we want
-         * to prevent instruction fetch before the dsb completes.
-         */
-        isb
-
-ready_to_switch:
-        mov   pc, lr
-ENDPROC(switch_to_runtime_mapping)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *   lr : Virtual address to return to.
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r6
- */
-enable_secondary_cpu_mm:
-        mov   r6, lr
-
-        bl    create_page_tables
-
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
-        mov_w lr, 1f
-        b     enable_mmu
-1:
-        /*
-         * Non-boot CPUs need to move on to the proper pagetables, which were
-         * setup in prepare_secondary_mm.
-         *
-         * XXX: This is not compliant with the Arm Arm.
-         */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
-        ldrd  r4, r5, [r4]           /* Actual value */
-        dsb
-        mcrr  CP64(r4, r5, HTTBR)
-        dsb
-        isb
-        flush_xen_tlb_local r0
-        pt_enforce_wxn r0
-
-        /* Return to the virtual address requested by the caller. */
-        mov   pc, r6
-ENDPROC(enable_secondary_cpu_mm)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for the boot CPU.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *   lr : Virtual address to return to.
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r6
- */
-enable_boot_cpu_mm:
-        mov   r6, lr
-
-        bl    create_page_tables
-
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
-        mov_w lr, 1f
-        b     enable_mmu
-1:
-        /*
-         * Prepare the fixmap. The function will return to the virtual address
-         * requested by the caller.
-         */
-        mov   lr, r6
-
-        b     setup_fixmap
-ENDPROC(enable_boot_cpu_mm)
-
-/*
- * Remove the 1:1 map from the page-tables. It is not easy to keep track
- * where the 1:1 map was mapped, so we will look for the top-level entry
- * exclusive to the 1:1 map and remove it.
- *
- * Inputs:
- *   r9 : paddr(start)
- *
- * Clobbers r0 - r3
- */
-remove_identity_mapping:
-        /* r2:r3 := invalid page-table entry */
-        mov   r2, #0x0
-        mov   r3, #0x0
-
-        /* Find the first slot used and remove it */
-        get_table_slot r1, r9, 1     /* r1 := first slot */
-        mov_w r0, boot_pgtable       /* r0 := root table */
-        lsl   r1, r1, #3             /* r1 := Slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-        mov   pc, lr
-ENDPROC(remove_identity_mapping)
-
-/*
- * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
- *
- * Clobbers r0 - r3
- */
-remove_temporary_mapping:
-        /* r2:r3 := invalid page-table entry */
-        mov   r2, #0
-        mov   r3, #0
-
-        adr_l r0, boot_pgtable
-        mov_w r1, TEMPORARY_XEN_VIRT_START
-        get_table_slot r1, r1, 1     /* r1 := first slot */
-        lsl   r1, r1, #3             /* r1 := first slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-
-        mov  pc, lr
-ENDPROC(remove_temporary_mapping)
-
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   r10: Physical offset
- *   r11: Early UART base physical address
- *
- * Clobbers r0 - r4
- */
-setup_fixmap:
-#if defined(CONFIG_EARLY_PRINTK)
-        /* Add UART to the fixmap table */
-        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
-        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
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        mov   pc, lr
-ENDPROC(setup_fixmap)
-
 /*
  * Setup the initial stack and jump to the C world
  *
@@ -856,38 +274,6 @@ fail:   PRINT("- Boot failed -\r\n")
         b     1b
 ENDPROC(fail)
 
-/*
- * Switch TTBR
- * r1:r0       ttbr
- *
- * TODO: This code does not comply with break-before-make.
- */
-ENTRY(switch_ttbr)
-        dsb                            /* Ensure the flushes happen before
-                                        * continuing */
-        isb                            /* Ensure synchronization with previous
-                                        * changes to text */
-        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
-        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
-        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
-        dsb                            /* Ensure completion of TLB+BP flush */
-        isb
-
-        mcrr  CP64(r0, r1, HTTBR)
-
-        dsb                            /* ensure memory accesses do not cross
-                                        * over the TTBR0 write */
-        isb                            /* Ensure synchronization with previous
-                                        * changes to text */
-        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
-        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
-        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
-        dsb                            /* Ensure completion of TLB+BP flush */
-        isb
-
-        mov pc, lr
-ENDPROC(switch_ttbr)
-
 #ifdef CONFIG_EARLY_PRINTK
 /*
  * Initialize the UART. Should only be called on the boot CPU.
@@ -912,14 +298,14 @@ ENDPROC(init_uart)
  * r11: Early UART base address
  * Clobbers r0-r1
  */
-puts:
+ENTRY(asm_puts)
         early_uart_ready r11, r1
         ldrb  r1, [r0], #1           /* Load next char */
         teq   r1, #0                 /* Exit on nul */
         moveq pc, lr
         early_uart_transmit r11, r1
-        b puts
-ENDPROC(puts)
+        b asm_puts
+ENDPROC(asm_puts)
 
 /*
  * Print a 32-bit number in hex.  Specific to the PL011 UART.
@@ -927,7 +313,7 @@ ENDPROC(puts)
  * r11: Early UART base address
  * Clobbers r0-r3
  */
-putn:
+ENTRY(asm_putn)
         adr_l r1, hex
         mov   r3, #8
 1:
@@ -939,7 +325,7 @@ putn:
         subs  r3, r3, #1
         bne   1b
         mov   pc, lr
-ENDPROC(putn)
+ENDPROC(asm_putn)
 
 RODATA_STR(hex, "0123456789abcdef")
 
@@ -947,8 +333,8 @@ RODATA_STR(hex, "0123456789abcdef")
 
 ENTRY(early_puts)
 init_uart:
-puts:
-putn:   mov   pc, lr
+asm_puts:
+asm_putn:   mov   pc, lr
 
 #endif /* !CONFIG_EARLY_PRINTK */
 
diff --git a/xen/arch/arm/arm32/mmu/Makefile b/xen/arch/arm/arm32/mmu/Makefile
index b18cec4836..a8a750a3d0 100644
--- a/xen/arch/arm/arm32/mmu/Makefile
+++ b/xen/arch/arm/arm32/mmu/Makefile
@@ -1 +1,2 @@
+obj-y += head.o
 obj-y += mm.o
diff --git a/xen/arch/arm/arm32/mmu/head.S b/xen/arch/arm/arm32/mmu/head.S
new file mode 100644
index 0000000000..6d427328f3
--- /dev/null
+++ b/xen/arch/arm/arm32/mmu/head.S
@@ -0,0 +1,573 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/arm32/mmu/head.S
+ *
+ * Arm32 MMU specific start-of-day code.
+ */
+
+#include <asm/page.h>
+#include <asm/early_printk.h>
+
+#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
+#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
+#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
+
+#define PT_UPPER(x) (PT_##x & 0xf00)
+#define PT_LOWER(x) (PT_##x & 0x0ff)
+
+/* Convenience defines to get slot used by Xen mapping. */
+#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
+#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
+
+/* Offset between the early boot xen mapping and the runtime xen mapping */
+#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
+
+.macro load_paddr rb, sym
+        mov_w \rb, \sym
+        add   \rb, \rb, r10
+.endm
+
+/*
+ * Flush local TLBs
+ *
+ * @tmp: Scratch register
+ *
+ * See asm/arm32/flushtlb.h for the explanation of the sequence.
+ */
+.macro flush_xen_tlb_local tmp
+        dsb   nshst
+        mcr   CP32(\tmp, TLBIALLH)
+        dsb   nsh
+        isb
+.endm
+
+/*
+ * Enforce Xen page-tables do not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each secondary CPU.
+ */
+.macro pt_enforce_wxn tmp
+        mrc   CP32(\tmp, HSCTLR)
+        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
+        dsb
+        mcr   CP32(\tmp, HSCTLR)
+        /*
+         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+         * before flushing the TLBs.
+         */
+        isb
+        flush_xen_tlb_local \tmp
+.endm
+
+/* 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 (physical
+ * address)
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     physical address of the table to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ *
+ * Preserves \virt
+ * Clobbers \tbl, r1 - r3
+ *
+ * Note that \tbl and \virt should be in a register other than r1 - r3
+ */
+.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
+        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
+        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
+
+        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
+        orr   r2, r2, \tbl           /*           + \tbl paddr */
+        mov   r3, #0
+
+        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
+
+        strd  r2, r3, [\tbl, r1]
+.endm
+
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl (symbol)
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     table symbol to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ *
+ * Preserves \virt
+ * Clobbers r1 - r4
+ *
+ * Also use r10 for the phys offset.
+ *
+ * Note that \virt should be in a register other than r1 - r4
+ */
+.macro create_table_entry, ptbl, tbl, virt, lvl
+        load_paddr r4, \tbl
+        create_table_entry_from_paddr \ptbl, r4, \virt, \lvl
+ .endm
+
+/*
+ * Macro to create a mapping entry in \tbl to \paddr. Only mapping in 3rd
+ * level table (i.e page granularity) is supported.
+ *
+ * ptbl:     table symbol where the entry will be created
+ * virt:    virtual address
+ * phys:    physical address
+ * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
+ *
+ * Preserves \virt, \phys
+ * Clobbers r1 - r4
+ *
+ * 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
+        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
+        lsr   r1, \virt, #THIRD_SHIFT
+        and   r1, r1, r2             /* r1 := slot in \tlb */
+        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
+
+        lsr   r4, \phys, #THIRD_SHIFT
+        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
+
+        movw  r2, #\type             /* r2:r3 := right for section PT */
+        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
+        mov   r3, #0
+
+        adr_l r4, \ptbl
+
+        strd  r2, r3, [r4, r1]
+.endm
+
+.section .text.idmap, "ax", %progbits
+
+/*
+ * Rebuild the boot pagetable's first-level entries. The structure
+ * is described in mm.c.
+ *
+ * After the CPU enables paging it will add the fixmap mapping
+ * to these page tables, however this may clash with the 1:1
+ * mapping. So each CPU must rebuild the page tables here with
+ * the 1:1 in place.
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r5
+ */
+create_page_tables:
+        /* Prepare the page-tables for mapping Xen */
+        mov_w r0, XEN_VIRT_START
+
+        /*
+         * We need to use a stash register because
+         * create_table_entry_paddr() will clobber the register storing
+         * the physical address of the table to point to.
+         */
+        adr_l r5, boot_third
+        mov_w r4, XEN_VIRT_START
+.rept XEN_NR_ENTRIES(2)
+        mov   r0, r5                        /* r0 := paddr(l3 table) */
+        create_table_entry_from_paddr boot_second, r0, r4, 2
+        add   r4, r4, #XEN_PT_LEVEL_SIZE(2) /* r4 := Next vaddr */
+        add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
+.endr
+
+        /*
+         * Find the size of Xen in pages and multiply by the size of a
+         * PTE. This will then be compared in the mapping loop below.
+         *
+         * Note the multiplication is just to avoid using an extra
+         * register/instruction per iteration.
+         */
+        mov_w r0, _start            /* r0 := vaddr(_start) */
+        mov_w r1, _end              /* r1 := vaddr(_end) */
+        sub   r0, r1, r0            /* r0 := effective size of Xen */
+        lsr   r0, r0, #PAGE_SHIFT   /* r0 := Number of pages for Xen */
+        lsl   r0, r0, #3            /* r0 := Number of pages * PTE size */
+
+        /* Setup boot_third: */
+        adr_l r4, boot_third
+
+        lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
+        lsl   r2, r2, #THIRD_SHIFT
+        orr   r2, r2, #PT_UPPER(MEM_L3) /* r2:r3 := map */
+        orr   r2, r2, #PT_LOWER(MEM_L3)
+        mov   r3, #0x0
+
+        /* ... map of vaddr(start) in boot_third */
+        mov   r1, #0
+1:      strd  r2, r3, [r4, r1]       /* Map vaddr(start) */
+        add   r2, r2, #PAGE_SIZE     /* Next page */
+        add   r1, r1, #8             /* Next slot */
+        cmp   r1, r0                 /* Loop until we map all of Xen */
+        blo   1b
+
+        /*
+         * Setup the 1:1 mapping so we can turn the MMU on. Note that
+         * only the first page of Xen will be part of the 1:1 mapping.
+         */
+        create_table_entry boot_pgtable, boot_second_id, r9, 1
+        create_table_entry boot_second_id, boot_third_id, r9, 2
+        create_mapping_entry boot_third_id, r9, r9
+
+        /*
+         * Find the first slot used. If the slot is not the same
+         * as TEMPORARY_AREA_FIRST_SLOT, then we will want to switch
+         * to the temporary mapping before jumping to the runtime
+         * virtual mapping.
+         */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
+        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
+        bne   use_temporary_mapping
+
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+        mov   r12, #0                /* r12 := temporary mapping not created */
+        mov   pc, lr
+
+use_temporary_mapping:
+        /*
+         * The identity mapping is not using the first slot
+         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
+         * See switch_to_runtime_mapping for more details.
+         */
+        PRINT("- Create temporary mapping -\r\n")
+
+        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
+        mov_w r0, TEMPORARY_XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        mov   r12, #1                /* r12 := temporary mapping created */
+        mov   pc, lr
+ENDPROC(create_page_tables)
+
+/*
+ * 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:
+ *   r9 : paddr(start)
+ *  r12 : Was the temporary mapping created?
+ *   lr : Virtual address to return to
+ *
+ * Clobbers r0 - r5
+ */
+enable_mmu:
+        PRINT("- Turning on paging -\r\n")
+
+        /*
+         * The state of the TLBs is unknown before turning on the MMU.
+         * Flush them to avoid stale one.
+         */
+        flush_xen_tlb_local r0
+
+        /* Write Xen's PT's paddr into the HTTBR */
+        adr_l r0, boot_pgtable
+        mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
+        mcrr  CP64(r0, r1, HTTBR)
+        isb
+
+        mrc   CP32(r0, HSCTLR)
+        /* Enable MMU and D-cache */
+        orr   r0, r0, #(SCTLR_Axx_ELx_M|SCTLR_Axx_ELx_C)
+        dsb                          /* Flush PTE writes and finish reads */
+        mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
+        isb                          /* Now, flush the icache */
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        mov   r5, lr                /* Save LR before overwritting it */
+        mov_w lr, 1f                /* Virtual address in the runtime mapping */
+        b     switch_to_runtime_mapping
+1:
+        mov   lr, r5                /* Restore LR */
+        /*
+         * At this point, either the 1:1 map or the temporary mapping
+         * will be present. The former may clash with other parts of the
+         * Xen virtual memory layout. As both of them are not used
+         * anymore, remove them completely to avoid having to worry
+         * about replacing existing mapping afterwards.
+         *
+         * On return this will jump to the virtual address requested by
+         * the caller.
+         */
+        teq   r12, #0
+        beq   remove_identity_mapping
+        b     remove_temporary_mapping
+ENDPROC(enable_mmu)
+
+/*
+ * Switch to the runtime mapping. The logic depends on whether the
+ * runtime virtual region is clashing with the physical address
+ *
+ *  - If it is not clashing, we can directly jump to the address in
+ *    the runtime mapping.
+ *  - If it is clashing, create_page_tables() would have mapped Xen to
+ *    a temporary virtual address. We need to switch to the temporary
+ *    mapping so we can remove the identity mapping and map Xen at the
+ *    correct position.
+ *
+ * Inputs
+ *    r9: paddr(start)
+ *   r12: Was a temporary mapping created?
+ *    lr: Address in the runtime mapping to jump to
+ *
+ * Clobbers r0 - r4
+ */
+switch_to_runtime_mapping:
+        /*
+         * Jump to the runtime mapping if the virt and phys are not
+         * clashing
+         */
+        teq   r12, #0
+        beq   ready_to_switch
+
+        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
+        mov_w r0, 1f
+        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
+        mov   pc, r0
+
+1:
+        /* Remove boot_second_id */
+        mov   r2, #0
+        mov   r3, #0
+        adr_l r0, boot_pgtable
+        get_table_slot r1, r9, 1            /* r1 := first slot */
+        lsl   r1, r1, #3                    /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        /* Map boot_second into boot_pgtable */
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        /* Ensure any page table updates are visible before continuing */
+        dsb   nsh
+        /*
+         * The function will return on the runtime mapping. So we want
+         * to prevent instruction fetch before the dsb completes.
+         */
+        isb
+
+ready_to_switch:
+        mov   pc, lr
+ENDPROC(switch_to_runtime_mapping)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+ENTRY(enable_secondary_cpu_mm)
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Non-boot CPUs need to move on to the proper pagetables, which were
+         * setup in prepare_secondary_mm.
+         *
+         * XXX: This is not compliant with the Arm Arm.
+         */
+        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        ldrd  r4, r5, [r4]           /* Actual value */
+        dsb
+        mcrr  CP64(r4, r5, HTTBR)
+        dsb
+        isb
+        flush_xen_tlb_local r0
+        pt_enforce_wxn r0
+
+        /* Return to the virtual address requested by the caller. */
+        mov   pc, r6
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+ENTRY(enable_boot_cpu_mm)
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /* Return to the virtual address requested by the caller. */
+        mov   lr, r6
+
+        b     setup_fixmap
+ENDPROC(enable_boot_cpu_mm)
+
+/*
+ * Remove the 1:1 map from the page-tables. It is not easy to keep track
+ * where the 1:1 map was mapped, so we will look for the top-level entry
+ * exclusive to the 1:1 map and remove it.
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *
+ * Clobbers r0 - r3
+ */
+remove_identity_mapping:
+        /* r2:r3 := invalid page-table entry */
+        mov   r2, #0x0
+        mov   r3, #0x0
+
+        /* Find the first slot used and remove it */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
+        mov_w r0, boot_pgtable       /* r0 := root table */
+        lsl   r1, r1, #3             /* r1 := Slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+        mov   pc, lr
+ENDPROC(remove_identity_mapping)
+
+/*
+ * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
+ *
+ * Clobbers r0 - r3
+ */
+remove_temporary_mapping:
+        /* r2:r3 := invalid page-table entry */
+        mov   r2, #0
+        mov   r3, #0
+
+        adr_l r0, boot_pgtable
+        mov_w r1, TEMPORARY_XEN_VIRT_START
+        get_table_slot r1, r1, 1     /* r1 := first slot */
+        lsl   r1, r1, #3             /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        mov  pc, lr
+ENDPROC(remove_temporary_mapping)
+
+/*
+ * Map the UART in the fixmap (when earlyprintk is used) and hook the
+ * fixmap table in the page tables.
+ *
+ * The fixmap cannot be mapped in create_page_tables because it may
+ * clash with the 1:1 mapping.
+ *
+ * Inputs:
+ *   r10: Physical offset
+ *   r11: Early UART base physical address
+ *
+ * Clobbers r0 - r4
+ */
+setup_fixmap:
+#if defined(CONFIG_EARLY_PRINTK)
+        /* Add UART to the fixmap table */
+        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
+        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
+        /* Ensure any page table updates made above have occurred. */
+        dsb   nshst
+        /*
+         * The fixmap area will be used soon after. So ensure no hardware
+         * translation happens before the dsb completes.
+         */
+        isb
+
+        mov   pc, lr
+ENDPROC(setup_fixmap)
+
+/* Fail-stop */
+fail:   PRINT("- Boot failed -\r\n")
+1:      wfe
+        b     1b
+ENDPROC(fail)
+
+/*
+ * Switch TTBR
+ * r1:r0       ttbr
+ *
+ * TODO: This code does not comply with break-before-make.
+ */
+ENTRY(switch_ttbr)
+        dsb                            /* Ensure the flushes happen before
+                                        * continuing */
+        isb                            /* Ensure synchronization with previous
+                                        * changes to text */
+        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
+        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
+        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
+        dsb                            /* Ensure completion of TLB+BP flush */
+        isb
+
+        mcrr  CP64(r0, r1, HTTBR)
+
+        dsb                            /* ensure memory accesses do not cross
+                                        * over the TTBR0 write */
+        isb                            /* Ensure synchronization with previous
+                                        * changes to text */
+        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
+        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
+        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
+        dsb                            /* Ensure completion of TLB+BP flush */
+        isb
+
+        mov pc, lr
+ENDPROC(switch_ttbr)
diff --git a/xen/arch/arm/include/asm/arm32/macros.h b/xen/arch/arm/include/asm/arm32/macros.h
index a4e20aa520..c6e390cc5f 100644
--- a/xen/arch/arm/include/asm/arm32/macros.h
+++ b/xen/arch/arm/include/asm/arm32/macros.h
@@ -1,8 +1,62 @@
 #ifndef __ASM_ARM_ARM32_MACROS_H
 #define __ASM_ARM_ARM32_MACROS_H
 
-    .macro ret
+.macro ret
         mov     pc, lr
-    .endm
+.endm
 
+/*
+ * Move an immediate constant into a 32-bit register using movw/movt
+ * instructions.
+ */
+.macro mov_w reg, word
+        movw  \reg, #:lower16:\word
+        movt  \reg, #:upper16:\word
+.endm
+
+/*
+ * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
+ * within the range +/- 4GB of the PC.
+ *
+ * @dst: destination register
+ * @sym: name of the symbol
+ */
+.macro adr_l, dst, sym
+        mov_w \dst, \sym - .Lpc\@
+        .set  .Lpc\@, .+ 8          /* PC bias */
+        add   \dst, \dst, pc
+.endm
+
+#ifdef CONFIG_EARLY_PRINTK
+/*
+ * Macro to print a string to the UART, if there is one.
+ *
+ * Clobbers r0 - r3
+ */
+#define PRINT(_s)           \
+        mov   r3, lr       ;\
+        adr_l r0, 98f      ;\
+        bl    puts         ;\
+        mov   lr, r3       ;\
+        RODATA_STR(98, _s)
+
+/*
+ * Macro to print the value of register \rb
+ *
+ * Clobbers r0 - r4
+ */
+.macro print_reg rb
+        mov   r0, \rb
+        mov   r4, lr
+        bl    asm_putn
+        mov   lr, r4
+.endm
+
+#else /* CONFIG_EARLY_PRINTK */
+#define PRINT(s)
+
+.macro print_reg rb
+.endm
+
+#endif /* !CONFIG_EARLY_PRINTK */
 #endif /* __ASM_ARM_ARM32_MACROS_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 11:10:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 11:10:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628775.980582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Jyg-0004o0-Dp; Tue, 07 Nov 2023 11:10:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628775.980582; Tue, 07 Nov 2023 11:10: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 1r0Jyg-0004nt-BJ; Tue, 07 Nov 2023 11:10:38 +0000
Received: by outflank-mailman (input) for mailman id 628775;
 Tue, 07 Nov 2023 11:10: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0Jyf-0004nn-7G
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 11:10:37 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 469a4b62-7d5e-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 12:10:36 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 8CD554EE0C81;
 Tue,  7 Nov 2023 12:10:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 469a4b62-7d5e-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Tue, 07 Nov 2023 12:10:30 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH 0/4] address MISRA C:2012 Rule 15.2
In-Reply-To: <88e164aa-4b7f-d86e-3ee6-0f720dcd21ed@suse.com>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
 <88e164aa-4b7f-d86e-3ee6-0f720dcd21ed@suse.com>
Message-ID: <61648922e51442f7ccaf10ccbc1e0dd2@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-07 11:52, Jan Beulich wrote:
> On 07.11.2023 11:33, Nicola Vetrini wrote:
>> This series is aimed at presenting some strategies that can be used to 
>> deal with
>> violations of Rule 15.2:
>> "The goto statement shall jump to a label declared later in the same 
>> function".
> 
> I don't recall this rule being discussed on any of the meetings.
> 

This series is aimed mainly at collecting opinions on the possible 
resolution strategies,
and based on the feedback decide what to focus the discussion on in the 
meetings.

>> The rule's rationale is about possible developer confusion, therefore 
>> it could
>> be argued that there is no substantial gain in complying with it, 
>> given the
>> torough review process in place.
> 
> To be honest, forward goto have potential of developer confusion as 
> well: All
> other entities need to be declared / defined before they can be used. 
> Just
> labels don't. (Or have I missed any other outlier?) IOW if I saw Misra 
> make
> any rule here, I think it ought to suggest to avoid using "goto" 
> altogether.
> 
> Jan

There is Rule 15.1 that says precisely that "do not use goto", but it's 
advisory and has never been proposed
(there are likely hundreds of violations, and some are perhaps 
legitimate uses of goto).
MISRA says that, if 15.1 is not followed, then a constrained use of goto 
is regulated by subsequent
rules 15.2 and 15.3.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 11:11:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 11:11:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628779.980593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Jzh-0005Wh-RE; Tue, 07 Nov 2023 11:11:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628779.980593; Tue, 07 Nov 2023 11:11: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 1r0Jzh-0005Wa-Lr; Tue, 07 Nov 2023 11:11:41 +0000
Received: by outflank-mailman (input) for mailman id 628779;
 Tue, 07 Nov 2023 11: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 1r0Jzg-0005WK-Os; Tue, 07 Nov 2023 11: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 1r0Jzg-0000Lr-EE; Tue, 07 Nov 2023 11: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 1r0Jzg-0002dE-2B; Tue, 07 Nov 2023 11:11:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0Jzg-0002WF-1j; Tue, 07 Nov 2023 11: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=O7Hxhp13bWOgGH2Yh70BdauXUrV3vGAYjjUpWIWwjH8=; b=pBUT8nRavpSQ0aUTs0LCG1DFUz
	Rg9XKUnnrmTUJBcL2ZIxLnIFp6imH5fF5VL0CL2nY1Si0L/cZszo0NtAuzxZbMwBcLe1hL7zg8OXX
	75+gPkW3b/OqObZN5N4wijMVedQCDPg2CPL4cI6EtmOjZ/MOYZs6oUWxz5/RR8JtmQD8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183702-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183702: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=85f58711865385c3ba6414e398a7d08c60d362bd
X-Osstest-Versions-That:
    libvirt=9231566146c0614d1339dd94cf98f82f1d1baee2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 11:11:40 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183679
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183679
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183679
 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-xsm 15 migrate-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-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-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-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              85f58711865385c3ba6414e398a7d08c60d362bd
baseline version:
 libvirt              9231566146c0614d1339dd94cf98f82f1d1baee2

Last test of basis   183679  2023-11-04 04:21:29 Z    3 days
Testing same since   183702  2023-11-07 04:18:58 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Sergey A." <sw@atrus.ru>
  Andrea Bolognani <abologna@redhat.com>
  Daniel P. Berrangé <berrange@redhat.com>
  Fedora Weblate Translation <i18n@lists.fedoraproject.org>
  Laine Stump <laine@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Sergey A <sw@atrus.ru>
  Temuri Doghonadze <temuri.doghonadze@gmail.com>
  Weblate <noreply@weblate.org>
  김인수 <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                                          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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   9231566146..85f5871186  85f58711865385c3ba6414e398a7d08c60d362bd -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 11:23:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 11:23:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628786.980603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0KB3-0001DV-R6; Tue, 07 Nov 2023 11:23:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628786.980603; Tue, 07 Nov 2023 11:23: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 1r0KB3-0001DO-O3; Tue, 07 Nov 2023 11:23:25 +0000
Received: by outflank-mailman (input) for mailman id 628786;
 Tue, 07 Nov 2023 11:23: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=tjAr=GU=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r0KB2-0001DI-Ju
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 11:23:24 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e89::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e5ef2fd-7d60-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 12:23:20 +0100 (CET)
Received: from PR3P189CA0028.EURP189.PROD.OUTLOOK.COM (2603:10a6:102:52::33)
 by MW4PR12MB6922.namprd12.prod.outlook.com (2603:10b6:303:207::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 7 Nov
 2023 11:23:15 +0000
Received: from SN1PEPF000252A1.namprd05.prod.outlook.com
 (2603:10a6:102:52:cafe::8b) by PR3P189CA0028.outlook.office365.com
 (2603:10a6:102:52::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29 via Frontend
 Transport; Tue, 7 Nov 2023 11:23:15 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF000252A1.mail.protection.outlook.com (10.167.242.8) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Tue, 7 Nov 2023 11:23:14 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Tue, 7 Nov
 2023 05:23:04 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Tue, 7 Nov 2023 05:23:03 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e5ef2fd-7d60-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dw7RMFnokJLvxi5ZVH48c3OoCkI3kdCMW9tMsT0jsYe0+4chTGNWVsmehR89JZnX3fdB8s3Tlqe+tNhk+cP168IGFE54ny/1A/NKDtFnt+h4R+k3JNhS61NozMLj3yvSTmK/stibT7Fzmnxe5RYP2o+Asp3td8mzGtV+K1dI6u3Zl1o5tNSVPKoy8K8m+frNOol1W7nmu+PobB3LkzL+t3J/B+Wo7lmjyNpJMs4Gzt4deUuB4vyD8dWeQ7sTTFpVVlTWGLgk93ntPRTO6nyPD4iUcq0mifzWfexhz7RulXVOyQaJUTSVg3V/bW5vEwpSyetSlV4YGrBOR1csTlUoyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pNrheE4kU19TMy6VBAMQ89XMLkHLs6l0aDTyL0qHVPc=;
 b=cJ77S9BsL9KzF10ozi9qDwCoTlXcZby3E8FmTrG6XzBz1tqk+Djjper/6XGlX3cSOVmH2T/ALvj+oG5NAi9RYR4idNaI+Cb6d82rs72JfBHH06JkzUDIigR0kv/7PaRmZnKxQfMlraGzKQMM+4qqWs2agQ5g4XZYtPEqOJPJg+jOgpjf6BdTftvaapiqhatvzrWTZap7+z1sSDykkkbou24a6vHHSC4OZEdRJAAvQTDZJBWCl9O3GO2dCDpkRaTh9cixlJ6tLJsI4u65k22/BHviiokXrwU3XAH3+Vhyi4NV1YkrsmUMbaBN3ZxOsMWbf0L6FrvHahG+mqW/k4D9Kw==
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 (0)
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=pNrheE4kU19TMy6VBAMQ89XMLkHLs6l0aDTyL0qHVPc=;
 b=uGvpDNAzXL3K05NwzwO/LTvPWDmTAtvADqpANZJtpQzC2+jv5/JRge6Po+yDCWK2xyG09AuqCwnrl7loFlZTIbLK+DmEjNwMI4qJ2pSg4zwbYt8o96/rfpzJnFfppls0YVmgzXwX1YZfD37ljGYMdjicdPskpS4v7cwAJu7JNEM=
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: <d5b28e95-d6f8-4ff8-93c0-6e2b79110a25@amd.com>
Date: Tue, 7 Nov 2023 12:23:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 1/2] xen/arm32: head: Introduce
 enable_{boot,secondary}_cpu_mm()
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
References: <20231107110217.1827379-1-ayan.kumar.halder@amd.com>
 <20231107110217.1827379-2-ayan.kumar.halder@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231107110217.1827379-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A1:EE_|MW4PR12MB6922:EE_
X-MS-Office365-Filtering-Correlation-Id: f7fde137-b1c6-4712-f33d-08dbdf83eef9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yeofc5IWU/ERHcueJr0W5tPvo6PXhksqhwWf0N/6IJcnqgNV4fhjjPz+VoPcUlJ3LvZqO0FV7nyJmbpv7ULKO7cNZAkZcyyJ0jKiE2JgYpxb+eEL95fsORNvK3N7sdaAjPbAE1BDfCpCwkmOcEacCwfPSs2+P4gmbBJKzgp9Zf1YUe6H3QA6x5SMsje7ZMJtlxKg/+1t3Cvbnuzwv6P30TBoob/NQ/o/cZt8sfrSRJezSm2qqJbyVF9gCk6IwNV+JJa1WJ73v9KNtJV8mUu5xb+/NRv+WroKFoV8J92huxhaSOSCt8go/qnFf9+NQr7A2KH3beZfst1M1EPJyVw6SG6vmPjndTUjyYXcQGAe3IAWhzy56PR2lLyLZxPXa63LREs03AYhm5jcgVuBF6xOgtiXk39OxeFyfhO+x6RUC2vZQU6vvxcoxvsQFJjRy++x75kpJTvBxEaYVac9yYFHkLZwLSO1mBprFHT7M/VarnQqwYm1S8H+ao7/1qcU0hL5P36Jn355WVxx8+GDwXJKGz3uijpc9sIe5dE3UFjJJgwoKZke+mOLQfci/Io2eGc1YJm1h/DcWlYpvfZNLFJ3YpcUkJ6U/+r9TKwUTwopwNR4c8bF1bXDHOzsSJ9NLvcmHLvvP7ykzsBAs9NRSQjkFX7RK8Z2yA7pAHOl1KMt7D4xpu+pJex/kt0Y3RHu3spFv/7RwLR5sPlIrHUa3EnjF3XnOBPQtiVH5x6OiPO+tjVGBY3rIIvEwGy5mEe4DGHOISqjQ3mvQVCnRMJ58SxDgY/cg/APTfbtK7HCdYd5qA/c3D+Xl2hJQGC1n0p1D+Q/OWCE62oMeMMFDvLyiPespw==
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:(13230031)(4636009)(396003)(39860400002)(346002)(136003)(376002)(230922051799003)(1800799009)(64100799003)(451199024)(82310400011)(186009)(36840700001)(40470700004)(46966006)(40460700003)(40480700001)(478600001)(47076005)(83380400001)(426003)(336012)(26005)(2616005)(44832011)(36860700001)(8936002)(16576012)(2906002)(8676002)(316002)(4326008)(41300700001)(5660300002)(54906003)(110136005)(53546011)(70586007)(70206006)(36756003)(86362001)(31696002)(356005)(82740400003)(31686004)(81166007)(21314003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 11:23:14.5500
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f7fde137-b1c6-4712-f33d-08dbdf83eef9
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:
	SN1PEPF000252A1.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6922

Hi Ayan,

On 07/11/2023 12:02, Ayan Kumar Halder wrote:
> All the MMU related functionality have been clubbed together in
> enable_boot_cpu_mm() for booting primary cpu and enable_secondary_cpu_mm() for
> booting secondary cpus.
> This is done in preparation for moving the code related to MMU in MMU specific
> file and in order to support non MMU cpus in future.
> 
> This is based on d2f8df5b3ede ("xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm()").
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> Acked-by: Julien Grall <jgrall@amazon.com>
> ---
> 
> Changes from :-
> 
> v1 - 1. Added a proper commit message.
> 2. Some style and other fixes suggested in v1. 
> 
> v2 - 1. Updated the comment on top of enable_boot_cpu_mm() and
> enable_secondary_cpu_mm() ie mentioned the input and output registers.
> 2. Updated the comment inside enable_boot_cpu_mm().
> 
>  xen/arch/arm/arm32/head.S | 102 ++++++++++++++++++++++++++++++--------
>  1 file changed, 80 insertions(+), 22 deletions(-)
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 2d7e690bf5..2204ea6dce 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -201,13 +201,11 @@ past_zImage:
>  
>          bl    check_cpu_mode
>          bl    cpu_init
> -        bl    create_page_tables
>  
> -        /* Address in the runtime mapping to jump to after the MMU is enabled */
>          mov_w lr, primary_switched
> -        b     enable_mmu
> +        b     enable_boot_cpu_mm
> +
>  primary_switched:
> -        bl    setup_fixmap
>  #ifdef CONFIG_EARLY_PRINTK
>          /* Use a virtual address to access the UART. */
>          mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
> @@ -249,27 +247,11 @@ GLOBAL(init_secondary)
>  #endif
>          bl    check_cpu_mode
>          bl    cpu_init
> -        bl    create_page_tables
>  
> -        /* 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
> -         * setup in prepare_secondary_mm.
> -         *
> -         * XXX: This is not compliant with the Arm Arm.
> -         */
> -        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
> -        ldrd  r4, r5, [r4]           /* Actual value */
> -        dsb
> -        mcrr  CP64(r4, r5, HTTBR)
> -        dsb
> -        isb
> -        flush_xen_tlb_local r0
> -        pt_enforce_wxn r0
> +        b     enable_secondary_cpu_mm
>  
> +secondary_switched:
>  #ifdef CONFIG_EARLY_PRINTK
>          /* Use a virtual address to access the UART. */
>          mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
> @@ -692,6 +674,82 @@ ready_to_switch:
>          mov   pc, lr
>  ENDPROC(switch_to_runtime_mapping)
>  
> +/*
> + * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
> + * The function will return to the virtual address provided in LR (e.g. the
> + * runtime mapping).
> + *
> + * Inputs:
> + *   r9 : paddr(start)
> + *   r10: phys offset
> + *   lr : Virtual address to return to.
> + *
> + * Output:
> + *   r12: Was a temporary mapping created?
> + *
> + * Clobbers r0 - r6
> + */
> +enable_secondary_cpu_mm:
> +        mov   r6, lr
> +
> +        bl    create_page_tables
> +
> +        /* Address in the runtime mapping to jump to after the MMU is enabled */
> +        mov_w lr, 1f
> +        b     enable_mmu
> +1:
> +        /*
> +         * Non-boot CPUs need to move on to the proper pagetables, which were
> +         * setup in prepare_secondary_mm.
> +         *
> +         * XXX: This is not compliant with the Arm Arm.
> +         */
> +        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
> +        ldrd  r4, r5, [r4]           /* Actual value */
> +        dsb
> +        mcrr  CP64(r4, r5, HTTBR)
> +        dsb
> +        isb
> +        flush_xen_tlb_local r0
> +        pt_enforce_wxn r0
> +
> +        /* Return to the virtual address requested by the caller. */
> +        mov   pc, r6
> +ENDPROC(enable_secondary_cpu_mm)
> +
> +/*
> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
> + * The function will return to the virtual address provided in LR (e.g. the
> + * runtime mapping).
> + *
> + * Inputs:
> + *   r9 : paddr(start)
> + *   r10: phys offset
> + *   lr : Virtual address to return to.
> + *
> + * Output:
> + *   r12: Was a temporary mapping created?
> + *
> + * Clobbers r0 - r6
> + */
> +enable_boot_cpu_mm:
> +        mov   r6, lr
> +
> +        bl    create_page_tables
> +
> +        /* Address in the runtime mapping to jump to after the MMU is enabled */
> +        mov_w lr, 1f
> +        b     enable_mmu
> +1:
> +        /*
> +         * Prepare the fixmap. The function will return to the virtual address
> +         * requested by the caller.
> +         */
This comment should be above branch instruction and not here.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 11:36:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 11:36:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628790.980613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0KNp-0006B7-1g; Tue, 07 Nov 2023 11:36:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628790.980613; Tue, 07 Nov 2023 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 1r0KNo-0006B0-T7; Tue, 07 Nov 2023 11:36:36 +0000
Received: by outflank-mailman (input) for mailman id 628790;
 Tue, 07 Nov 2023 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=q/6F=GU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r0KNo-0006Au-F3
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 11:36:36 +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 e735802e-7d61-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 12:36:34 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-4084e49a5e5so47893165e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 03:36:34 -0800 (PST)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 o9-20020a5d62c9000000b0032f7f4d008dsm2124003wrv.20.2023.11.07.03.36.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Nov 2023 03:36:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e735802e-7d61-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699356993; x=1699961793; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=yY6E3RyM71Fz2Angt5R6AEhQwPvJKPknslTj8fpyi4s=;
        b=qtNkGBdTW06kqYzAupmxHioCU7Bw8z1uxIMfzTEV1rrmKUpP+O/UuQLVKXLblu0M8y
         OAwxJDelks54wmi4ZTBOKoRVrlr6kHp5EYrlFkWesK4c+9fizH0dXSJ/RVqxrZL67pe+
         kDvjbp30sD3Pk3PJcQOJjuH4lMmFAIMF9fubM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699356993; x=1699961793;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=yY6E3RyM71Fz2Angt5R6AEhQwPvJKPknslTj8fpyi4s=;
        b=C1z1t++avjf+UKSUXb+w9uwI//JHpGCznWrdaQ9g7X8TRZCojGK78DdmJFLEWQ3Y0a
         4/jzut4820ow3XaBiAKDE6XOfcwT2dxdhLqIRoSBUNJ2Ws6qy+sLLay/XttX1xOiOwrO
         E8SHWeWPmV0dxnlNLmEAleQEWN2OMfojdTZq276EQaYnD6wnmkCLudanaRKp3UEG9BIT
         wTb2lvqGTCE7MCZ8k3v5uBkE4a6UEyvFyGZNktLt+Bg8NOxbr7VKy7Xkrk2AT/7tSEat
         iQU+gyNO6K3w4F5IbDSrRxg3Y33c+x4lm+U5ueAM08BgwTy8T8lSWhhqK3R0noxcxsvz
         jJ9Q==
X-Gm-Message-State: AOJu0Yy0hVPeFE06NNR5+XVVw+JXGxY8P2YifCtab0L0ZtqGxHl44a3f
	jgowsAITOLuLSNeYQIdHGuZtVQ==
X-Google-Smtp-Source: AGHT+IH+36hNv5ycqxxABMOxzWF61EykxkW3u3jYv7pb+YDFIWLxMJ+SrEyvLtp954MHIDSB9bM6Qw==
X-Received: by 2002:a05:6000:154b:b0:32f:917a:db22 with SMTP id 11-20020a056000154b00b0032f917adb22mr18780583wry.53.1699356993477;
        Tue, 07 Nov 2023 03:36:33 -0800 (PST)
Message-ID: <8d9c85db-5afd-4299-8f05-e74628c1f67b@citrix.com>
Date: Tue, 7 Nov 2023 11:36:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 1/4] xen/vsprintf: replace backwards jump with loop
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 roger.pau@citrix.com, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
 <9fbc2bcfa1ee019a8ac1cd1a3d29c38b59b8edff.1699295113.git.nicola.vetrini@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <9fbc2bcfa1ee019a8ac1cd1a3d29c38b59b8edff.1699295113.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/11/2023 10:33 am, Nicola Vetrini wrote:
> The backwards goto in the vsnprintf function can be replaced
> with a loop, thereby fixing a violation of MISRA C:2012 Rule 15.2.
>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/common/vsprintf.c | 20 ++++++++++++--------
>  1 file changed, 12 insertions(+), 8 deletions(-)
>
> diff --git a/xen/common/vsprintf.c b/xen/common/vsprintf.c
> index c49631c0a4d8..603bae44177a 100644
> --- a/xen/common/vsprintf.c
> +++ b/xen/common/vsprintf.c
> @@ -495,6 +495,8 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
>      }
>  
>      for (; *fmt ; ++fmt) {
> +        bool repeat = true;
> +
>          if (*fmt != '%') {
>              if (str < end)
>                  *str = *fmt;
> @@ -504,14 +506,16 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
>  
>          /* process flags */
>          flags = 0;
> -    repeat:
> -        ++fmt;          /* this also skips first '%' */
> -        switch (*fmt) {
> -        case '-': flags |= LEFT; goto repeat;
> -        case '+': flags |= PLUS; goto repeat;
> -        case ' ': flags |= SPACE; goto repeat;
> -        case '#': flags |= SPECIAL; goto repeat;
> -        case '0': flags |= ZEROPAD; goto repeat;
> +        while ( repeat ) {
> +            ++fmt;          /* this also skips the first '%' */
> +            switch (*fmt) {
> +            case '-': flags |= LEFT; break;
> +            case '+': flags |= PLUS; break;
> +            case ' ': flags |= SPACE; break;
> +            case '#': flags |= SPECIAL; break;
> +            case '0': flags |= ZEROPAD; break;
> +            default: repeat = false; break;
> +            }

I'm firmly against this change.  It takes a simple and clear piece of
code and replaces it with something harder to follow because you have to
look elsewhere to figure how the variable works.

Labels with names such as repeat/again/retry are clearly forming a
loop(ish).

I see in patch 4 that you exempt again/retry.  That list needs to
include repeat, and this patch wants dropping.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 12:26:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 12:26:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628796.980623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0LAD-0004GW-PI; Tue, 07 Nov 2023 12:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628796.980623; Tue, 07 Nov 2023 12: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 1r0LAD-0004GP-MB; Tue, 07 Nov 2023 12:26:37 +0000
Received: by outflank-mailman (input) for mailman id 628796;
 Tue, 07 Nov 2023 12:26: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=tjAr=GU=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r0LAC-0004GJ-8B
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 12:26:36 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e88::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e236d30f-7d68-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 13:26:33 +0100 (CET)
Received: from MW4PR04CA0039.namprd04.prod.outlook.com (2603:10b6:303:6a::14)
 by CH3PR12MB8547.namprd12.prod.outlook.com (2603:10b6:610:164::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Tue, 7 Nov
 2023 12:26:27 +0000
Received: from CO1PEPF000044F3.namprd05.prod.outlook.com
 (2603:10b6:303:6a:cafe::8f) by MW4PR04CA0039.outlook.office365.com
 (2603:10b6:303:6a::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29 via Frontend
 Transport; Tue, 7 Nov 2023 12:26:27 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044F3.mail.protection.outlook.com (10.167.241.73) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Tue, 7 Nov 2023 12:26:26 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Tue, 7 Nov
 2023 06:26:20 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Tue, 7 Nov 2023 06:26:18 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e236d30f-7d68-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bzGqBu+BdRAtf89v3gOx2t+sIcgDe6SeCKzi5mkb2YiYN+dOm1gSa5IMKErDyFNdZ/goaZuMkHJWF2ungKLTgOR4qDvYP+g1Oo8QJvM776qmMVxHuRLBN8KkApxHiYDsm4FZ/hU6CGzCIgHuhU549kkPK2Gww0n9hzHSnXkt5uRzxPoffMih/2EXnRqoEP4i7oO/jLc3qVOK4jNrgrTtknofbn4PHnzSiDbiQ7mO5IjHtUSBAgac9GVV9gAvMuWiM1Crzq2fNbB+DxX7vT6Dc+0YFswf7AJjZCljgIX10wt9L3RtIfhxUHbhUwzIYHHNv0JRCt93i9dRqDL/kVxWjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fycM6UXOGr/ZHZk7/mxuor+EWckGMDrxddCO3IDuaB0=;
 b=KAmTk7OPpZz7NH0T/37RpGZ6t9EBTJkjIv4FI2caoo4BDB1dlfBzjU1Ru3yyZnYFNgyiwvl3VUf5WokX3uO56NyeU1W/y02sxf+lIQsS2g1w7+zhn8x1uXmqP39HKYJUZ3PhSguLMABe0HGZwBlm5dEjzIeyEdvM3paa782XVR5+r+iYkkssPAc2Pc9/ZXp0p6UeneeOx6xlY/1ghutzFNzWB4PnvVhk7dCcgI6lpE+7k4ry7haFF1BZKKOosQh55BiIqB1F3qZ/lzOTWV87SkdYo4TgE/FxgrrsUnoCJwpmsI+N0jZET7w2Ljzu7LBJe61xcS+ujIkL5hm60AG4Og==
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 (0)
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=fycM6UXOGr/ZHZk7/mxuor+EWckGMDrxddCO3IDuaB0=;
 b=kP2gDQUvU90ueeYyW8TWH461ka+cW+AOjak0vft+mPNDiYYHoGeFSWoiUYCtiWLVdxt8uLhdmO/0BdSlN5OSzLPxaUVU+IYzNr5FjgoNSZ1AfSXkGkOVea0RrePKXYLZrfJOC0y0ML+22uisT20uE+zLWICBvjV9I/7YbNZku+M=
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: <6c433d05-24c0-4400-acb2-8dd9d6e7f69f@amd.com>
Date: Tue, 7 Nov 2023 13:26:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 2/2] xen/arm32: head Split and move MMU-specific head.S
 to mmu/head.S
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <julien@xen.org>, <bertrand.marquis@arm.com>,
	<michal.orzel@arm.com>, <henry.wang@arm.com>, <Volodymyr_Babchuk@epam.com>
References: <20231107110217.1827379-1-ayan.kumar.halder@amd.com>
 <20231107110217.1827379-3-ayan.kumar.halder@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231107110217.1827379-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F3:EE_|CH3PR12MB8547:EE_
X-MS-Office365-Filtering-Correlation-Id: 83d07e25-7e5d-4745-7aa9-08dbdf8cc35d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GFaeDg2i/uf5VizRmLYbjMEJTXhkxDRvCj8Eb8G2qfGKkObTut8tFKJrxqYNIbhDdrR76Oj4W90PH2iN82cIhxjo5J9TnpX1BMwYtUsGWJkOzdLyH4VMu1WRxy7XdqbS2bTGYx6+kWmyNUA+k45kEm/6Qn1NZEDRpTudAfV64edT54iWTnDWjyxwS38b6xZ+JESlH9YjcomchKMJuf8oUumFn2B4YU1SJxu1UkFoJhV0Jee+AfwUZD43l0PXM++DnkU6dFlzgeVmlJIG4sZd4rMq317s4fZtIn/pYc94HhVzvVuofAeB/2OBD89xvZgHnhSPHLsDIIniulEUzd6Ady/J6nRFO568nqvC8X19Bqkkz+/K3oNKNz7WI8Bmj8rXAgq5u90SiP1BNku8R6KjE6x4S8tv3bcM98UOUmkgShbGSo5POI6AtnAQ6i1MZdHN94Y1s8CLkBmOIabrrYWaEg2yodayUXZ6YeOULd3jb+UCpZ+BgSs6mU4UHu5yAIjLufM1eZHps33yexfpvEhe/2JQbrWd4ljJ9aa3Je2bDCXqLsfIokMczTJnxJjqNEj5ZZeBVECPjdLywOZUu9REO4MUa7N8zhOMCWoB/lwREVwZdPbQO5SRLCVgvOemydcQNCMRvFzyZLnNoUUwg/LCt0ma3WOR3A8qetG8wCa7RJQ34VxN9LCHqDOIzdaXlorCgeCkTKQuK5K9bkgWFKVHm5uXJILcvl1duoHEYR1GabtqeYDyoLCjzptFvJxFEbSyx27pxqbRNIiwWvQytaWkXult8BFEWq/mlngsNj+T0EphzTwd6PcShPOTPsCbHRrVkCZhRZoNtOfTbuD0fiOt2w==
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:(13230031)(4636009)(396003)(376002)(39860400002)(136003)(346002)(230922051799003)(230273577357003)(230173577357003)(1800799009)(186009)(82310400011)(64100799003)(451199024)(40470700004)(36840700001)(46966006)(47076005)(478600001)(41300700001)(53546011)(2616005)(6666004)(316002)(336012)(426003)(4326008)(8676002)(8936002)(26005)(5660300002)(36860700001)(70586007)(110136005)(70206006)(16576012)(44832011)(54906003)(356005)(81166007)(2906002)(31686004)(86362001)(31696002)(82740400003)(40480700001)(36756003)(40460700003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 12:26:26.7281
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 83d07e25-7e5d-4745-7aa9-08dbdf8cc35d
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:
	CO1PEPF000044F3.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8547

Hi Ayan,

On 07/11/2023 12:02, Ayan Kumar Halder wrote:
> 
> 
> The MMU specific code in head.S will not be used on MPU systems.
> Instead of introducing more #ifdefs which will bring complexity
> to the code, move MMU related code to mmu/head.S and keep common
> code in head.S. Two notes while moving:
>  - As "fail" in original head.S is very simple and this name is too
>    easy to be conflicted, duplicate it in mmu/head.S instead of
>    exporting it.
>  - Realigned ".macro ret" so that the alignment matches to the other
>    macros.
>  - Rename puts to asm_puts, putn to asm_putn (this denotes that the
>    macros are used within the context of assembly only).
>  - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm,
>    setup_fixmap, asm_puts, asm_putn  as they will be used externally.
> 
> Also move the assembly macros shared by head.S and mmu/head.S to
> macros.h.
> 
> This is based on 6734327d76be ("xen/arm64: Split and move MMU-specific head.S to mmu/head.S").
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
For now, I won't provide Rb given that the baseline is still under development and not very clear to me.

Just a few remarks:

[...]

> -
>  #ifdef CONFIG_EARLY_PRINTK
>  /*
>   * Initialize the UART. Should only be called on the boot CPU.
> @@ -912,14 +298,14 @@ ENDPROC(init_uart)
>   * r11: Early UART base address
You could follow the arm64 patch and add:
"Note: This function must be called from assembly."
to make the usage of this function clear.
Same for asm_putn.

>   * Clobbers r0-r1
>   */
> -puts:
> +ENTRY(asm_puts)
>          early_uart_ready r11, r1
>          ldrb  r1, [r0], #1           /* Load next char */
>          teq   r1, #0                 /* Exit on nul */
>          moveq pc, lr
>          early_uart_transmit r11, r1
> -        b puts
> -ENDPROC(puts)
> +        b asm_puts
> +ENDPROC(asm_puts)
> 
>  /*
>   * Print a 32-bit number in hex.  Specific to the PL011 UART.
The second sentence can be dropped. I don't see anything PL011 specific here.

> @@ -927,7 +313,7 @@ ENDPROC(puts)
>   * r11: Early UART base address
>   * Clobbers r0-r3
>   */
> -putn:
> +ENTRY(asm_putn)
>          adr_l r1, hex
>          mov   r3, #8
>  1:
> @@ -939,7 +325,7 @@ putn:
>          subs  r3, r3, #1
>          bne   1b
>          mov   pc, lr
> -ENDPROC(putn)
> +ENDPROC(asm_putn)
> 
>  RODATA_STR(hex, "0123456789abcdef")
> 
> @@ -947,8 +333,8 @@ RODATA_STR(hex, "0123456789abcdef")
> 
>  ENTRY(early_puts)
>  init_uart:
> -puts:
> -putn:   mov   pc, lr
> +asm_puts:
> +asm_putn:   mov   pc, lr
Both asm_puts and asm_putn are used only within #ifdef so you can drop the stubs

[...]

> diff --git a/xen/arch/arm/include/asm/arm32/macros.h b/xen/arch/arm/include/asm/arm32/macros.h
> index a4e20aa520..c6e390cc5f 100644
> --- a/xen/arch/arm/include/asm/arm32/macros.h
> +++ b/xen/arch/arm/include/asm/arm32/macros.h
> @@ -1,8 +1,62 @@
>  #ifndef __ASM_ARM_ARM32_MACROS_H
>  #define __ASM_ARM_ARM32_MACROS_H
> 
> -    .macro ret
> +.macro ret
>          mov     pc, lr
> -    .endm
> +.endm
> 
> +/*
> + * Move an immediate constant into a 32-bit register using movw/movt
> + * instructions.
> + */
> +.macro mov_w reg, word
> +        movw  \reg, #:lower16:\word
> +        movt  \reg, #:upper16:\word
> +.endm
> +
> +/*
> + * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
> + * within the range +/- 4GB of the PC.
> + *
> + * @dst: destination register
> + * @sym: name of the symbol
> + */
> +.macro adr_l, dst, sym
> +        mov_w \dst, \sym - .Lpc\@
> +        .set  .Lpc\@, .+ 8          /* PC bias */
> +        add   \dst, \dst, pc
> +.endm
> +
> +#ifdef CONFIG_EARLY_PRINTK
> +/*
> + * Macro to print a string to the UART, if there is one.
> + *
> + * Clobbers r0 - r3
> + */
> +#define PRINT(_s)           \
> +        mov   r3, lr       ;\
> +        adr_l r0, 98f      ;\
> +        bl    puts         ;\
This should be a call to asm_puts

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 12:34:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 12:34:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628800.980633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0LIA-0006HS-HS; Tue, 07 Nov 2023 12:34:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628800.980633; Tue, 07 Nov 2023 12: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 1r0LIA-0006HL-Ee; Tue, 07 Nov 2023 12:34:50 +0000
Received: by outflank-mailman (input) for mailman id 628800;
 Tue, 07 Nov 2023 12:34: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 1r0LI8-0006HE-MT
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 12:34: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 1r0LI7-0002ES-SM; Tue, 07 Nov 2023 12:34:47 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.15.180]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0LI7-0004vJ-Jb; Tue, 07 Nov 2023 12: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>
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=86lfeKoZX+zDzdVpym6XzXLdYJA9pnX+Ew+xdYT6kQU=; b=S4O9/jHrRrBWUS31W1d+2VSbrA
	niW8Hn2ethf4E+lrHBbOigE930YmGBBOooumM3cOg53iyo0FPAe8gJAwW940EpKiKXvxPmiZ2m0yF
	okat2VA537otr4dmsoey8HGqZ8zutF8hRQwEbsrR3Ryqlm0/UAbfUvUlIdt/r6dVzHfM=;
Message-ID: <c77af36e-5b12-48ba-8ce9-c94fab85194f@xen.org>
Date: Tue, 7 Nov 2023 12:34:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 3/4] xen/arm: GICv3: address MISRA C:2012 Rule 15.2
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
 <135227bde7bc41f44e9c3ae264dae8efc71ef8f0.1699295113.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <135227bde7bc41f44e9c3ae264dae8efc71ef8f0.1699295113.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 07/11/2023 10:33, Nicola Vetrini wrote:
> The backwards jump due to the "goto retry;" statement
> can be transformed into a loop, without losing much in terms
> of readability.
> 
> Signed-off-by: Stefano Stabellini <sstabellini@kernel.org>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> This specific patch was provided by Stefano, I just added the
> commit message.

If that's the case, then Stefano should be the Author (at the moment 
this is you).

> ---
>   xen/arch/arm/gic-v3-its.c | 81 ++++++++++++++++++++-------------------
>   1 file changed, 42 insertions(+), 39 deletions(-)
> 
> diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
> index 8afcd9783bc8..4ba3f869ddf2 100644
> --- a/xen/arch/arm/gic-v3-its.c
> +++ b/xen/arch/arm/gic-v3-its.c
> @@ -341,6 +341,7 @@ static int its_map_baser(void __iomem *basereg, uint64_t regc,
>       unsigned int pagesz = 2;    /* try 64K pages first, then go down. */
>       unsigned int table_size;
>       void *buffer;
> +    bool retry = false;

retry is false so...

>   
>       attr  = GIC_BASER_InnerShareable << GITS_BASER_SHAREABILITY_SHIFT;
>       attr |= GIC_BASER_CACHE_SameAsInner << GITS_BASER_OUTER_CACHEABILITY_SHIFT;
> @@ -351,55 +352,57 @@ static int its_map_baser(void __iomem *basereg, uint64_t regc,
>        * it back and see what sticks (page size, cacheability and shareability
>        * attributes), retrying if necessary.
>        */
> -retry:
> -    table_size = ROUNDUP(nr_items * entry_size,
> -                         BIT(BASER_PAGE_BITS(pagesz), UL));
> -    /* The BASE registers support at most 256 pages. */
> -    table_size = min(table_size, 256U << BASER_PAGE_BITS(pagesz));
> +    while ( retry )

... you will never end in the loop. I also think that name 'retry' is 
confusing as the first time is not retry.

It would be clearer if we use a

do {

} while (retry)

That said, I actually prefer the goto version because some of the lines 
within the loop are now over 80 characters and splitting them would make 
the code harder to read.

Below an example, with the new indentation it is just over 80 characters.

if ( (regc & GITS_BASER_SHAREABILITY_MASK) == GIC_BASER_NonShareable )

One possibly would be to move the logic within the loop in a separate 
function.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 12:39:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 12:39:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628805.980643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0LMx-0007xW-52; Tue, 07 Nov 2023 12:39:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628805.980643; Tue, 07 Nov 2023 12:39: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 1r0LMx-0007xP-1o; Tue, 07 Nov 2023 12:39:47 +0000
Received: by outflank-mailman (input) for mailman id 628805;
 Tue, 07 Nov 2023 12:39: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 1r0LMv-0007xG-0z
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 12:39: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 1r0LMu-0002KQ-D9; Tue, 07 Nov 2023 12:39:44 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.15.180]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0LMu-0005Ee-4P; Tue, 07 Nov 2023 12:39: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=Qi45Vdq56ezED1OfApo8e/0KHewAEiRDSuMr7pM/Pyg=; b=y+V1bbqPY9QikOAq/VeiSZqU0j
	OSIhqCJ3dplYmUc/fNaWpftfT7Ziv3ey9q0ujbR4L2eERxrfUPbusqihBSdj2uHZiVsd73dcDtgwU
	aSUIeIuiyh3Eb6G8z+EK8NSYVsEMgKkOzNl6gfxZrGkdE824Nc9VHjucP4IVWNF46ci8=;
Message-ID: <80184dfe-c309-4c3f-aaee-e8fa32195cb8@xen.org>
Date: Tue, 7 Nov 2023 12:39:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19 v2] xen: replace occurrences of SAF-1-safe
 with asmlinkage attribute
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <aa7fa9b8cd40adb4eb5242deeff138cbe8b658f9.1699352946.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <aa7fa9b8cd40adb4eb5242deeff138cbe8b658f9.1699352946.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 07/11/2023 10:30, Nicola Vetrini wrote:
> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
> by the asmlinkage pseudo-attribute, for the sake of uniformity.
> 
> Add missing 'xen/compiler.h' #include-s where needed.
> 
> The text in docs/misra/deviations.rst and docs/misra/safe.json
> is modified to reflect this change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

With one note below:

Acked-by: Julien Grall <jgrall@amazon.com>

> ---
> Changes in v2:
> - Edit safe.json.
> - Remove mention of SAF-1-safe in deviations.rst.
> ---
>   docs/misra/deviations.rst   |  5 ++---
>   docs/misra/safe.json        |  2 +-
>   xen/arch/arm/cpuerrata.c    |  7 +++----
>   xen/arch/arm/setup.c        |  5 ++---
>   xen/arch/arm/smpboot.c      |  3 +--
>   xen/arch/arm/traps.c        | 21 +++++++--------------
>   xen/arch/x86/boot/cmdline.c |  5 +++--
>   xen/arch/x86/boot/reloc.c   |  7 ++++---
>   xen/arch/x86/extable.c      |  3 +--
>   xen/arch/x86/setup.c        |  3 +--
>   xen/arch/x86/traps.c        | 27 +++++++++------------------
>   xen/common/efi/boot.c       |  5 ++---
>   12 files changed, 36 insertions(+), 57 deletions(-)
> 
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index d468da2f5ce9..0fa0475db0eb 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -134,9 +134,8 @@ Deviations related to MISRA C:2012 Rules:
>        - Tagged as `safe` for ECLAIR.
>   
>      * - R8.4
> -     - Functions and variables used only by asm modules are either marked with
> -       the `asmlinkage` macro or with a SAF-1-safe textual deviation
> -       (see safe.json).

This will require a rebase on top 
https://lore.kernel.org/all/b914ac93-2499-4bfd-a60a-51a9f1c170ec@xen.org/ 
with the updated wording.

Also, it is a good idea to mention any dependency with any patches that 
are not yet in 'staging' (The for-next branch from Stefano doesn't 
count). This helps the committers to know which order the patches should 
be committed and also the reviewers to apply the patches for review.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 12:44:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 12:44:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628810.980653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0LR9-0001Hu-KH; Tue, 07 Nov 2023 12:44:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628810.980653; Tue, 07 Nov 2023 12:44: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 1r0LR9-0001Hn-Ha; Tue, 07 Nov 2023 12:44:07 +0000
Received: by outflank-mailman (input) for mailman id 628810;
 Tue, 07 Nov 2023 12:44:06 +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 1r0LR8-0001Hf-Fr
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 12:44:06 +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 1r0LR7-0002Ql-MW; Tue, 07 Nov 2023 12:44:05 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231]
 helo=[192.168.15.180]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0LR7-0005WQ-Gr; Tue, 07 Nov 2023 12:44: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=oky95MX67gcdvuUE/bTl6AkrRH7y0x0Qc8B1UpR57Mk=; b=VP6nNmBGPkcqSZIoHUaFpqimm2
	kpv3E4NrWcSAYXivCdB5+21QHDHuC47RUZfGzXRu36/9o2mj7NRlmSPBr0DJlLstq1Ng2JhRZB3ST
	L0iXwpDlxOUAQ/uOns5pNG5iELCoddakvR5XZeFA2wvcws9yhAty01X38FXe2723olj4=;
Message-ID: <a95c6666-dbf3-4f1f-9618-b1f31bf47710@xen.org>
Date: Tue, 7 Nov 2023 12:44:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 4/4] automation/eclair: add deviation for certain
 backwards goto
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
 <306ca49d5d63ea0614bbcef470efec9234d1a018.1699295113.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <306ca49d5d63ea0614bbcef470efec9234d1a018.1699295113.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 07/11/2023 10:33, Nicola Vetrini wrote:
> As explained in the deviation record, code constructs such as
> "goto retry" and "goto again" are sometimes the best balance between
> code complexity and the understandability of the control flow
> by developers; as such, these construct are allowed to deviate
> from Rule 15.2.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>   automation/eclair_analysis/ECLAIR/deviations.ecl | 10 ++++++++++
>   docs/misra/deviations.rst                        | 10 ++++++++++
>   2 files changed, 20 insertions(+)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index fa56e5c00a27..8b1f622f8f82 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -270,6 +270,16 @@ statements are deliberate"
>   -config=MC3R1.R14.3,statements={deliberate , "wrapped(any(),node(if_stmt))" }
>   -doc_end
>   
> +#
> +# Series 15
> +#
> +
> +-doc_begin="The additional complexity introduced in the code by using control flow structures other than backwards goto-s
> +were deemed not to justify the possible prevention of developer confusion, given the very torough review process estabilished

Typoes: s/torough/thorough/ s/estabilished/established/

> +in the community."
> +-config=MC3R1.R15.2,reports+={deliberate, "any_area(any_loc(text(^.*goto (again|retry).*$)))"}
> +-doc_end
> +
>   #
>   # Series 20.
>   #
> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
> index 8511a189253b..7d1e1f0d09b3 100644
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -208,6 +208,16 @@ Deviations related to MISRA C:2012 Rules:
>          statements are deliberate.
>        - Project-wide deviation; tagged as `disapplied` for ECLAIR.
>   
> +   * - R15.2
> +     - The possible prevention of developer confusion as a result of using
> +       control flow structures other than backwards goto-s in some instances was
> +       deemed not strong enough to justify the additional complexity introduced
> +       in the code. Such instances are the uses of the following labels:
> +
> +       - again
> +       - retry

Have you investigated the possibility to use SAF-X in the code? If so, 
what's the problem to use them?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 13:41:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 13:41:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628816.980663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0MK6-00083E-MU; Tue, 07 Nov 2023 13:40:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628816.980663; Tue, 07 Nov 2023 13: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 1r0MK6-000837-JH; Tue, 07 Nov 2023 13:40:54 +0000
Received: by outflank-mailman (input) for mailman id 628816;
 Tue, 07 Nov 2023 13:40: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=s63f=GU=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r0MK5-00082g-Er
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 13:40:53 +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 42bbfaa1-7d73-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 14:40:50 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-498-OXJe754lPCaTuJ2nvsmUSQ-1; Tue, 07 Nov 2023 08:40:45 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 381BD8556E9;
 Tue,  7 Nov 2023 13:40:44 +0000 (UTC)
Received: from localhost (unknown [10.39.194.130])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 46AA72026D66;
 Tue,  7 Nov 2023 13:40: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: 42bbfaa1-7d73-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1699364448;
	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=NHuO1OojHY7F9rWwEFTdZTm7zhHRCPLRzfq8vCij62c=;
	b=ioWZukLsTXjaQSOi+Pw08zZybXD3IMgIdw88LWyqWih3lGA4bvR3NiXKte1fagOEmkKpdB
	aRu+0w7Yp+05fL8ctrTlXbWgDlCNiZJ74KzQcxCkCiDIjdvQzNe263xScTQekcbtYUGQYL
	yytpxwJc0wflOA7rlBlKrdQ82WwPugE=
X-MC-Unique: OXJe754lPCaTuJ2nvsmUSQ-1
Date: Tue, 7 Nov 2023 21:40:40 +0800
From: Stefan Hajnoczi <stefanha@redhat.com>
To: David Woodhouse <dwmw2@infradead.org>
Cc: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	=?iso-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Jason Wang <jasowang@redhat.com>,
	Marcelo Tosatti <mtosatti@redhat.com>, qemu-block@nongnu.org,
	xen-devel@lists.xenproject.org, kvm@vger.kernel.org
Subject: Re: [PULL 00/15] xenfv.for-upstream queue
Message-ID: <20231107134040.GA1010741@fedora>
References: <20231107092149.404842-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="GSuJ/hBc0Lx51aih"
Content-Disposition: inline
In-Reply-To: <20231107092149.404842-1-dwmw2@infradead.org>
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4


--GSuJ/hBc0Lx51aih
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmVKPlgACgkQnKSrs4Gr
c8go6QgAldelY+trwwwNMAllr73WkdwjqbENy+zeBaBa2FAdn9YSw3bke+1Xwo/M
i5mzyJahOWqCBm6B8JS3r7ERxhaln3x4jVxxkSBCcLKLh31WAaaPFRLb0WVr6Wqe
hWQ7dTmOu7V/J2xmpi+FTB4AP4ng5259uWKqsZgsfJvPU+tOsKxscm7ERerOO21A
IoH+7v+IK8uhN94hWcOXcsJlRY8HxMmigsDRTGjex/NuWuQkOW+iMJqhgyANnr+e
h1FMvC18NFzynfvr3Gd750fTps7SLhf0eDQUNpIZvPX6P1Trz9KD9DTQcJ9QZpra
V3L/gTy+FrrDaEEFB8KGtSwyYqSicg==
=TuL5
-----END PGP SIGNATURE-----

--GSuJ/hBc0Lx51aih--



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:05:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628822.980672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Mhc-0004uY-N0; Tue, 07 Nov 2023 14:05:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628822.980672; Tue, 07 Nov 2023 14: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 1r0Mhc-0004uR-KP; Tue, 07 Nov 2023 14:05:12 +0000
Received: by outflank-mailman (input) for mailman id 628822;
 Tue, 07 Nov 2023 14: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0Mhb-0004uJ-H0
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 14:05:11 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a97d6c5e-7d76-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 15:05:09 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-53db360294fso9823802a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 06:05:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a97d6c5e-7d76-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699365909; x=1699970709; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u9Uxv/R+RDTANHUJksRulkMWJ9k7SN5FVQ4S2Ux1+w0=;
        b=aPkhVapIAZR4/9PMBJbWS29eJbbCin7uvmqoqMbxMcJT4Mi3UQmgrFi7eH1wGXzFw9
         YzL7MPsjkFsFg4lnBXWclm/wcPkab+dDk610y+w9VqGge9wD+z3JMz8FP4z0dHHiFlsh
         1yxkSbDuoVIn5pVVzjUA6cOeylJNqx9VpXEJHb6fI7LsWTt5mfQGmJ97hzR5c9ng/QaF
         PC4Nzg7g+6+3LCXc0j8SbUgCm8oRkn/cWJeApWMTOEpc0VfXhFb0E0MNpCsZLK5xu4ND
         OcSvgxo8kMvTPdwQcYznGnhyUdgN00nY12/UBYl/YpsWKYz++8jJziRTf7ADuUk63hFT
         7Zyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699365909; x=1699970709;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=u9Uxv/R+RDTANHUJksRulkMWJ9k7SN5FVQ4S2Ux1+w0=;
        b=bt6xWF9m25Tj1OCHtqXMljERUjrLPt0U51kiXr/skxCeklRhwheBllTSv2E8Fd0XjY
         TDm1oEfSQ+pB1wDy8vYr9L9AeCLD3psdtHkejW/nDzTTucCJ9krdjdqDzzGXBDJexUpc
         nzlrno+W+AlklHNdvY5/J3LT4z049Z0nsukeWXGKbc6ZnlmcSYyaNDx6S9JtTcqUTyQe
         re7Qdp+GDk6EQJh8NtMjf/dkCfotAHpbPgE7WsqnzDWlElM4VU/b3V/PwoJQ1nlfYfJe
         JAnRyyx0aAUCe3nICVfO8wZ5HJUXBXxGhB8ezuAhMKId6IclTFfV6VJOIu3trVuO3wGM
         9GRw==
X-Gm-Message-State: AOJu0Yyw15HZA9NaK2StO/PmDsb9OnAEboa1wCO+0OaFayn4B0tKMahI
	J5f/P+XrMdDb/n93KTt1+iAYDY+0szQIB673h94=
X-Google-Smtp-Source: AGHT+IEzq/gF1jn0EdgXnFdHQmv4ZWkFHFoYAogZmPQOMWl7W97GrA+6TIipNokI9ftBaaY28A9qX/pPjK2AEtk3OiA=
X-Received: by 2002:aa7:c2cb:0:b0:53d:fe98:fd48 with SMTP id
 m11-20020aa7c2cb000000b0053dfe98fd48mr25832573edp.3.1699365909177; Tue, 07
 Nov 2023 06:05:09 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-13-jgross@suse.com>
In-Reply-To: <20231101093325.30302-13-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 09:04:57 -0500
Message-ID: <CAKf6xpt43A6KAsKT_J0CiCnFme2f=OR3tqLgAGWrJE7hhxnHPw@mail.gmail.com>
Subject: Re: [PATCH 12/29] tools/xenlogd: add 9pfs stat request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:34=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the stat request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/xenlogd/io.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 89 insertions(+)
>
> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> index 34f137be1b..6e92667fab 100644
> --- a/tools/xenlogd/io.c
> +++ b/tools/xenlogd/io.c
> @@ -33,6 +33,7 @@

> +static void fill_p9_stat(struct p9_stat *p9s, struct stat *st, const cha=
r *name)
> +{
> +    memset(p9s, 0, sizeof(*p9s));
> +    fill_qid(NULL, &p9s->qid, st);
> +    p9s->mode =3D st->st_mode & 0777;
> +    if ( S_ISDIR(st->st_mode) )
> +        p9s->mode |=3D P9_CREATE_PERM_DIR;
> +    p9s->atime =3D st->st_atime;
> +    p9s->mtime =3D st->st_mtime;
> +    p9s->length =3D st->st_size;
> +    p9s->name =3D name;
> +    p9s->uid =3D "";
> +    p9s->gid =3D "";
> +    p9s->muid =3D "";
> +    p9s->extension =3D "";
> +    p9s->n_uid =3D 0;
> +    p9s->n_gid =3D 0;

If the daemon is running as root and managing the directories, these
probably match.  Still, do we want uid & gid to be populated from the
stat struct?

> +    p9s->n_muid =3D 0;
> +
> +    /*
> +     * Size of individual fields without the size field, including 5 2-b=
yte
> +     * string length fields.
> +     */
> +    p9s->size =3D 71 + strlen(p9s->name);
> +}
> +
> +static void p9_stat(device *device, struct p9_header *hdr)
> +{
> +    uint32_t fid;
> +    struct p9_fid *fidp;
> +    struct p9_stat p9s;
> +    struct stat st;
> +    uint16_t total_length;

total_length =3D 0;

Otherwise it is used uninitialized.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:11:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:11:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628826.980682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0MnG-00075l-9P; Tue, 07 Nov 2023 14:11:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628826.980682; Tue, 07 Nov 2023 14: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 1r0MnG-00075e-6s; Tue, 07 Nov 2023 14:11:02 +0000
Received: by outflank-mailman (input) for mailman id 628826;
 Tue, 07 Nov 2023 14:11: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0MnE-00075Y-Rg
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 14:11:00 +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 79730d78-7d77-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 15:10:58 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-543456dbd7bso13206709a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 06:10:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79730d78-7d77-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699366258; x=1699971058; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9bKnIIB72ox/iOHMI/H45sERBMIycmqokFpkkrFFrjs=;
        b=UV1jT2oErzpFja3sutJMCAcB2+uGovXZ4TWSuYL0TsBAIYJnp5dK22O2GmLbsV1tjl
         iTquTlJX+hxa+pr8F9Vv6Ido853jMj/4LPfJEop54pPKdLJF6B7L6CQh7x49oyzZhdRv
         YJgoS2Tnx/EnZcA5XMSGlm8nROJ6e/PEmk0R0kLS72gt+Q2GRGxU6i6ADpZUj30Y4PyF
         QNwPG0tjVgMzXXH2uyEgGZ76pKslYk/NpQqRVv6uo/hYC6Zx7cD82FAfQwCXlm+Ij3GS
         HgdhN7ZIRUIplQlympkGVHo5t1JYLdEWset57J3Ptd3NRueR+MCNqBYSxuIBQy7uFC5C
         vaCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699366258; x=1699971058;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9bKnIIB72ox/iOHMI/H45sERBMIycmqokFpkkrFFrjs=;
        b=MOlH6xwBX+T0KKd1zv/jMS54T+XzVM8hkk2xLOKuXf/F66u37/afKYt7tV+4XpNDa/
         zfL0IluZxPhgwXdzhNfdgTQbH9nZtRuu6xO2TI5XbPTN+t4CVm4NFs2fkl/Z2ayqCB0p
         ZQrAL38zOz+PMHJqI2FHcqo4eRND/NWxcisuwl03kk/NWwKEgPpD+aglqyE/94eYNznb
         EAfht1IrQDH1LEB9IdkDcLKjGVFL5NDyvgY3ZqBj/PHKMvGltvW1VZ8CXl8qjBy0UBtO
         wd5I+SbVCVBt0+hnO70p6giy6KYwDHHaUMUtOirZeYe0I2s4jGBb6VmCTN/eizRAOg2N
         H26g==
X-Gm-Message-State: AOJu0Yw6ffrdiUlF5kJZpXUTs8ZujtnbNROn0uXsKEMQaj2uxTgzhkQc
	ecfa0+DcprSvZdiGyPbKChex/4zEWvfeyOtcVsQ=
X-Google-Smtp-Source: AGHT+IH5lqA8Z1f78tZcXY25H0LKd8HCch2aOWNtfFToiOapl/TV2LDYqzhInUSQzuaE9ZUFhh9G2jbqZqCWp0Ob7DQ=
X-Received: by 2002:a17:906:f84d:b0:9b2:b37d:17ff with SMTP id
 ks13-20020a170906f84d00b009b2b37d17ffmr2520308ejb.19.1699366258228; Tue, 07
 Nov 2023 06:10:58 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-14-jgross@suse.com>
In-Reply-To: <20231101093325.30302-14-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 09:10:46 -0500
Message-ID: <CAKf6xpvkEAv4RkPB_536=w2ysjuTbja7vsEg_xRTpotNDOGriw@mail.gmail.com>
Subject: Re: [PATCH 13/29] tools/xenlogd: add 9pfs write request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:54=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the write request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/xenlogd/io.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 50 insertions(+)
>
> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> index 6e92667fab..6b4692ca67 100644
> --- a/tools/xenlogd/io.c
> +++ b/tools/xenlogd/io.c

> @@ -1010,6 +1011,51 @@ static void p9_create(device *device, struct p9_he=
ader *hdr)
>      fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
>  }
>
> +static void p9_write(device *device, struct p9_header *hdr)
> +{
> +    uint32_t fid;
> +    uint64_t off;
> +    unsigned int len;
> +    uint32_t written;
> +    void *buf;
> +    struct p9_fid *fidp;
> +    int ret;
> +
> +    ret =3D fill_data(device, "ULD", &fid, &off, &len, device->buffer);
> +    if ( ret !=3D 3 )
> +    {
> +        p9_error(device, hdr->tag, EINVAL);
> +        return;
> +    }
> +
> +    fidp =3D find_fid(device, fid);
> +    if ( !fidp || !fidp->opened || fidp->isdir )

I think you want an additional check that the fidp is writable.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:15:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:15:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628830.980693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Mrj-0000M2-R5; Tue, 07 Nov 2023 14:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628830.980693; Tue, 07 Nov 2023 14: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 1r0Mrj-0000Lv-NC; Tue, 07 Nov 2023 14:15:39 +0000
Received: by outflank-mailman (input) for mailman id 628830;
 Tue, 07 Nov 2023 14:15: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=vhat=GU=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r0Mrh-0000Iv-Jn
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 14:15:37 +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 1e103e8d-7d78-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 15:15:35 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-9e1021dbd28so301186166b.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 06:15:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e103e8d-7d78-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699366534; x=1699971334; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=SPBMuYgYrUmDpajKbsD+s1sswMWIm1yV81XrPA5v1KA=;
        b=GHXDtBuqurAK3WPF4xf6Wzq6GxuIRgZiWkc7SF4B9NLFPocPAYuZpF2ZyhlRAh5AE3
         jHGR7KG/WZIUUnrRC5EpPseWYFAP88i90g6s4OAARzD7bccWJJlsnEeXruZTN2IYYysI
         rj4v1eaV2XzZD3iCAxRTf7uivzdHmFUDhf8WI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699366534; x=1699971334;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=SPBMuYgYrUmDpajKbsD+s1sswMWIm1yV81XrPA5v1KA=;
        b=dtfg+InG25Vuuy/pl9wgEyYvpBFsk+keHUvZ9gNQ1pkUmDlpvoTg7msmBVc60GEbSF
         GR4jKlgdvDIJMVDylDvrxQ6PtolBsteIvC7qbnLZbG8O/GbuUhbNlY9XxRa1UxDLKNnD
         mCSAvQabsBPZDHSpBCPJyPZ47rEZBMu+TqxG9noA1vxJ01MsbmUvKkCLG2J7EQTIkoRZ
         cnJnUf+UolTn1sBM+5NUYbLwsuoWfiQjsdRTd1/U9pQZm2DjOcH7zgQ67Ej9WVQAmJmV
         QgRdAcxc9CbUO9QzubgAWOWLTXAmkboIrJluM4YWmk2XDsmNANVniv+d6R6CtUE8Dfme
         7xCA==
X-Gm-Message-State: AOJu0Yx8QMaMFASKvCpOuBN885CEIcZ4vUdJfluW6DxpPfIsSOcibvwN
	6KRPnHroyCC1jtuAOxNQzEBr0B/VOWVtFBBWAthwog==
X-Google-Smtp-Source: AGHT+IG1rU+lNzAFnidEb3fYAVPVGg4ZtIB1oWdfemGJnzWwQXNRsK++UGD+lNGr6+ilHXas3UFkCIkPlL0oY1DTO/g=
X-Received: by 2002:a17:907:1c21:b0:9d3:85b9:afcf with SMTP id
 nc33-20020a1709071c2100b009d385b9afcfmr17165650ejc.12.1699366534475; Tue, 07
 Nov 2023 06:15:34 -0800 (PST)
MIME-Version: 1.0
References: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com>
 <39e6d4b3-5468-4b91-a030-f36bcce3583d@xen.org> <alpine.DEB.2.22.394.2311061254560.3478774@ubuntu-linux-20-04-desktop>
 <3ca89630-1625-46cc-b78b-9b9c073ccea3@xen.org>
In-Reply-To: <3ca89630-1625-46cc-b78b-9b9c073ccea3@xen.org>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Tue, 7 Nov 2023 14:14:58 +0000
Message-ID: <CAO-mL=ygRFf1cARyb4wOUVWn=toBPHr=2RAW31z6i=yHeXo6Pg@mail.gmail.com>
Subject: Re: Informal voting proposal
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org, 
	committers@xenproject.org
Content-Type: multipart/alternative; boundary="000000000000a18abb0609909a8a"

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

Thanks for the feedback Julien, see my reply below.

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group


On Tue, Nov 7, 2023 at 8:23=E2=80=AFAM Julien Grall <julien@xen.org> wrote:

> Hi Stefano,
>
> On 07/11/2023 04:18, Stefano Stabellini wrote:
> > On Mon, 6 Nov 2023, Julien Grall wrote:
> >> Hi Kelly,
> >>
> >> On 06/11/2023 16:40, Kelly Choi wrote:
> >>> Hi all,
> >>>
> >>> As an open-source community, there will always be differences of
> opinion in
> >>> approaches and the way we think. It is imperative, however, that we
> view
> >>> this diversity as a source of strength rather than a hindrance.
> >>>
> >>> Recent deliberations within our project have led to certain matters
> being
> >>> put on hold due to an inability to reach a consensus. While formal
> voting
> >>> procedures serve their purpose, they can be time-consuming and may no=
t
> >>> always lead to meaningful progress.
> >>>
> >>> Having received agreement from a few maintainers already, I would lik=
e
> to
> >>> propose the following:
> >>
> >> Thanks for the sending the proposal. While I like the idea of informal
> vote to
> >> move faster, I would like to ask some clarifications.
> >>
> >>> *Informal voting method:*
> >>>
> >>>      1. Each project should ideally have more than 2 maintainers to
> >>>      facilitate impartial discussions. Projects lacking this
> configuration
> >>> will
> >>>      be addressed at a later stage.
> >>>      2. Anyone in the community is welcome to voice their opinions,
> ideas,
> >>>      and concerns about any patch or contribution.
> >>>      3. If members cannot agree, the majority informal vote of the
> >>>      maintainers will be the decision that stands. For instance, if,
> after
> >>>      careful consideration of all suggestions and concerns, 2 out of =
3
> >>>      maintainers endorse a solution within the x86 subsystem, it shal=
l
> be the
> >>>      decision we move forward with.
> >>
> >> How do you know that all the options have been carefully considered?
> >
> > I don't think there is a hard rule on this. We follow the discussion on
> > the list the same way as we do today.
>
> To me the fact we need to write down the informal rules means that
> something already gone wrong before. So I feel that rules should be
> unambiguous to avoid any problem afterwards.
>

In this case 'all options' would mean the different choices that
maintainers have discussed and considered, before calling an informal vote.
The reason for the informal vote is that 'all options' have been
considered, but a decision can not be made. Whilst there can be many
options, the informal voting method aims to reduce this by enabling
maintainers to call a vote and propose two options, so the project can move
forward. Again there will be times for that call for flexibility, but we
should always aim to have a vote for two of the best solutions to avoid the
project coming to another standstill.


>
> >
> > While I like the informal vote proposal and effectively we have already
> > been following it in many areas of the project, I don't think we should
> > change the current processes from that point of view.
>
> I am confused. Are you suggesting that we should not write down how
> informal votes works?
>

I cannot speak for Stefano, but the informal vote process should be written
down as an 'aspirational guideline' meaning it's a process we ought to
follow in the best interest of the project. The formal voting process will
still be in place.

>
> >
> >
> >>>      4. Naturally, there may be exceptional circumstances, as such, a
> formal
> >>>      vote may be warranted but should happen only a few times a year
> for
> >>> serious
> >>>      cases only.
> >> Similarly here, you are suggesting that a formal vote can be called.
> But it is
> >> not super clear what would be the condition it could be used and how i=
t
> can be
> >> called.
> >
> > The formal vote is basically the same we already have today. It would
> > follow the existing voting rules and guidelines already part of the
> > governance.
>
> Reading through the governance, I couldn't find anywhere indicating in
> which condition the formal votes can be triggered. Hence my question here=
.
>

There's a difficulty here in the sense that there isn't a specific
guideline around what condition a formal vote can be triggered. Until that
guideline is implemented, reviewed, and updated, I would suggest that a
formal vote is called only in cases where serious damage would come to the
project and the community. Again, this would be down to reasonable
judgement so I would trust committers/maintainers on this, and should
happen less than a few times a year.

>
> >> For instance, per the informal rule, if 2 out of 3 maintainers accept.
> Then it
> >> would be sensible for the patch to be merged as soon as the 5 days
> windows is
> >> closed. Yet the 3rd maintainer technically object it. So could that
> maintainer
> >> request a formal vote? If so, how long do they have?
> >
> > It is difficult to write down a process that works in all cases, and if
> > we did it would probably end up being slower rather than faster.
> >
> > In my view if someone doesn't agree with his other co-maintainers and h=
e
> > is outvoted (e.g. 2/3 of the maintainers prefer a different option), th=
e
> > individual is entitled to raise a request for a vote with the
> > committers, which is the same as we already have today.
> >
> > Ideally a formal vote would be rare, maybe once or twice a year, so I
> > hope we won't need to optimize the formal vote.
>
> Ok. So the expectation is that all the maintainers will accept the
> informal votes in the majority of the cases. If this is not the case,
> then we will revise the rules. Is that correct?
>

Having spoken to a few maintainers already, this is the agreed view. There
will be times when we have to accept the best solution even if we don't
personally agree. The best interest of the community and project should
come first, hence why an informal vote is seen as the consensus.

>
> >>>      5. Informal votes can be as easy as 2 out of 3 maintainers
> providing
> >>>      their Acked-by/Reviewed-by tag. Alternatively, Maintainers can
> call an
> >>>      informal vote by simply emailing the thread with "informal vote
> >>> proposed,
> >>>      option 1 and option 2."
> >>>      6. *All maintainers should reply with their vote within 5 workin=
g
> days.*
> >>
> >> While I understand we want to move fast, this means that a maintainer
> that is
> >> away for PTO would not have the opportunity to answer.
> >
> > PTO is a bit of a special case because we typically know when one of th=
e
> > maintainers is on PTO. If it is a short PTO and if the vacationing
> > maintainer could have a strong opinion on the subject then it would mak=
e
> > sense to wait. If it is a long leave of absence (several weeks or
> > months) then I don't think we can wait.
> >
> > So I think the 5 working days is OK as a rule of thumb, but of course i=
t
> > shouldn't be used to work around objections of a maintainer by waiting
> > for him to go on holiday :-)
>
> Well... It has been done before ;). That's why I think it is important
> to write down because at least it is not left to interpretation.
>

Adding to this rule, if a maintainer is on holiday for 2 weeks or less, we
should wait. If the time is 2 weeks+ and is not deemed as causing major
issues then we should proceed. This hopefully gives you a rough
guideline/time frame. We can reiterate if needed here.

>
> Cheers,
>
> --
> Julien Grall
>

--000000000000a18abb0609909a8a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Thanks for the feedback Julien, see my re=
ply below.=C2=A0</div><div dir=3D"ltr"><br clear=3D"all"><div><div dir=3D"l=
tr" class=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</div><div>=
Kelly Choi</div><div><br></div><div><div style=3D"color:rgb(136,136,136)">O=
pen Source Community Manager</div><div style=3D"color:rgb(136,136,136)">Xen=
Server, Cloud Software Group</div></div></div></div></div><br></div><br><di=
v class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Nov 7=
, 2023 at 8:23=E2=80=AFAM Julien Grall &lt;<a href=3D"mailto:julien@xen.org=
">julien@xen.org</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);pa=
dding-left:1ex">Hi Stefano,<br>
<br>
On 07/11/2023 04:18, Stefano Stabellini wrote:<br>
&gt; On Mon, 6 Nov 2023, Julien Grall wrote:<br>
&gt;&gt; Hi Kelly,<br>
&gt;&gt;<br>
&gt;&gt; On 06/11/2023 16:40, Kelly Choi wrote:<br>
&gt;&gt;&gt; Hi all,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; As an open-source community, there will always be differences =
of opinion in<br>
&gt;&gt;&gt; approaches and the way we think. It is imperative, however, th=
at we view<br>
&gt;&gt;&gt; this diversity as a source of strength rather than a hindrance=
.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Recent deliberations within our project have led to certain ma=
tters being<br>
&gt;&gt;&gt; put on hold due to an inability to reach a consensus. While fo=
rmal voting<br>
&gt;&gt;&gt; procedures serve their purpose, they can be time-consuming and=
 may not<br>
&gt;&gt;&gt; always lead to meaningful progress.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Having received agreement from a few maintainers already, I wo=
uld like to<br>
&gt;&gt;&gt; propose the following:<br>
&gt;&gt;<br>
&gt;&gt; Thanks for the sending the proposal. While I like the idea of info=
rmal vote to<br>
&gt;&gt; move faster, I would like to ask some clarifications.<br>
&gt;&gt;<br>
&gt;&gt;&gt; *Informal voting method:*<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 1. Each project should ideally have more t=
han 2 maintainers to<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 facilitate impartial discussions. Projects=
 lacking this configuration<br>
&gt;&gt;&gt; will<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 be addressed at a later stage.<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 2. Anyone in the community is welcome to v=
oice their opinions, ideas,<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 and concerns about any patch or contributi=
on.<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 3. If members cannot agree, the majority i=
nformal vote of the<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 maintainers will be the decision that stan=
ds. For instance, if, after<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 careful consideration of all suggestions a=
nd concerns, 2 out of 3<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 maintainers endorse a solution within the =
x86 subsystem, it shall be the<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 decision we move forward with.<br>
&gt;&gt;<br>
&gt;&gt; How do you know that all the options have been carefully considere=
d?<br>
&gt; <br>
&gt; I don&#39;t think there is a hard rule on this. We follow the discussi=
on on &gt; the list the same way as we do today.<br>
<br>
To me the fact we need to write down the informal rules means that <br>
something already gone wrong before. So I feel that rules should be <br>
unambiguous to avoid any problem afterwards.<br></blockquote><div><br></div=
><div><font color=3D"#ff0000">In this case &#39;all options&#39; would mean=
 the different choices that maintainers have discussed and considered, befo=
re calling an informal vote.=C2=A0</font></div><div><font color=3D"#ff0000"=
>The reason for the informal vote is that &#39;all options&#39; have been c=
onsidered, but a decision can not be made. Whilst there can be many options=
, the informal voting method aims to reduce this by enabling maintainers to=
 call a vote and propose two options, so the project can move forward. Agai=
n there will be times for that call for flexibility, but we should always a=
im to have a vote for two of the best solutions to avoid the project coming=
 to another standstill.=C2=A0</font></div><div>=C2=A0</div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r=
gb(204,204,204);padding-left:1ex">
<br>
&gt; <br>
&gt; While I like the informal vote proposal and effectively we have alread=
y<br>
&gt; been following it in many areas of the project, I don&#39;t think we s=
hould<br>
&gt; change the current processes from that point of view.<br>
<br>
I am confused. Are you suggesting that we should not write down how <br>
informal votes works?<br></blockquote><div><br></div><div><font color=3D"#f=
f0000">I cannot speak for Stefano, but the informal vote process should be =
written down as an &#39;aspirational guideline&#39; meaning it&#39;s a proc=
ess we ought to follow in the best interest of the project. The formal voti=
ng process will still be in place.=C2=A0</font></div><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204=
,204,204);padding-left:1ex">
<br>
&gt; <br>
&gt; <br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 4. Naturally, there may be exceptional cir=
cumstances, as such, a formal<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 vote may be warranted but should happen on=
ly a few times a year for<br>
&gt;&gt;&gt; serious<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 cases only.<br>
&gt;&gt; Similarly here, you are suggesting that a formal vote can be calle=
d. But it is<br>
&gt;&gt; not super clear what would be the condition it could be used and h=
ow it can be<br>
&gt;&gt; called.<br>
&gt; <br>
&gt; The formal vote is basically the same we already have today. It would<=
br>
&gt; follow the existing voting rules and guidelines already part of the<br=
>
&gt; governance.<br>
<br>
Reading through the governance, I couldn&#39;t find anywhere indicating in =
<br>
which condition the formal votes can be triggered. Hence my question here.<=
br></blockquote><div><br></div><div><font color=3D"#ff0000">There&#39;s a d=
ifficulty here in the sense that there isn&#39;t a specific guideline aroun=
d what condition a formal vote can be triggered. Until that guideline is im=
plemented, reviewed, and updated, I would suggest that a formal vote is cal=
led only in cases where serious damage would come to the project and the co=
mmunity. Again, this would be down to reasonable judgement so I would trust=
 committers/maintainers on this, and should happen less than a few times a =
year.=C2=A0=C2=A0</font>=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>
&gt;&gt; For instance, per the informal rule, if 2 out of 3 maintainers acc=
ept. Then it<br>
&gt;&gt; would be sensible for the patch to be merged as soon as the 5 days=
 windows is<br>
&gt;&gt; closed. Yet the 3rd maintainer technically object it. So could tha=
t maintainer<br>
&gt;&gt; request a formal vote? If so, how long do they have?<br>
&gt; <br>
&gt; It is difficult to write down a process that works in all cases, and i=
f<br>
&gt; we did it would probably end up being slower rather than faster.<br>
&gt; <br>
&gt; In my view if someone doesn&#39;t agree with his other co-maintainers =
and he<br>
&gt; is outvoted (e.g. 2/3 of the maintainers prefer a different option), t=
he<br>
&gt; individual is entitled to raise a request for a vote with the<br>
&gt; committers, which is the same as we already have today.<br>
&gt; <br>
&gt; Ideally a formal vote would be rare, maybe once or twice a year, so I<=
br>
&gt; hope we won&#39;t need to optimize the formal vote.<br>
<br>
Ok. So the expectation is that all the maintainers will accept the <br>
informal votes in the majority of the cases. If this is not the case, <br>
then we will revise the rules. Is that correct?<br></blockquote><div><br></=
div><div><font color=3D"#ff0000">Having spoken to a few maintainers already=
, this is the agreed view. There will be times when we have to accept the b=
est solution even if we don&#39;t personally agree. The best interest of th=
e community and project should come first, hence why an informal vote is se=
en as the consensus.=C2=A0</font>=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>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 5. Informal votes can be as easy as 2 out =
of 3 maintainers providing<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 their Acked-by/Reviewed-by tag. Alternativ=
ely, Maintainers can call an<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 informal vote by simply emailing the threa=
d with &quot;informal vote<br>
&gt;&gt;&gt; proposed,<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 option 1 and option 2.&quot;<br>
&gt;&gt;&gt;=C2=A0 =C2=A0 =C2=A0 6. *All maintainers should reply with thei=
r vote within 5 working days.*<br>
&gt;&gt;<br>
&gt;&gt; While I understand we want to move fast, this means that a maintai=
ner that is<br>
&gt;&gt; away for PTO would not have the opportunity to answer.<br>
&gt; <br>
&gt; PTO is a bit of a special case because we typically know when one of t=
he<br>
&gt; maintainers is on PTO. If it is a short PTO and if the vacationing<br>
&gt; maintainer could have a strong opinion on the subject then it would ma=
ke<br>
&gt; sense to wait. If it is a long leave of absence (several weeks or<br>
&gt; months) then I don&#39;t think we can wait.<br>
&gt; <br>
&gt; So I think the 5 working days is OK as a rule of thumb, but of course =
it<br>
&gt; shouldn&#39;t be used to work around objections of a maintainer by wai=
ting<br>
&gt; for him to go on holiday :-)<br>
<br>
Well... It has been done before ;). That&#39;s why I think it is important =
<br>
to write down because at least it is not left to interpretation.<br></block=
quote><div><br></div><div><font color=3D"#ff0000">Adding to this rule, if a=
 maintainer is on holiday for 2 weeks or less, we should wait. If the time =
is 2 weeks+ and is not deemed as causing major issues then we should procee=
d. This hopefully gives you a rough guideline/time frame. We can reiterate =
if needed here.=C2=A0=C2=A0</font>=C2=A0</div><blockquote class=3D"gmail_qu=
ote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,20=
4);padding-left:1ex">
<br>
Cheers,<br>
<br>
-- <br>
Julien Grall<br>
</blockquote></div></div>

--000000000000a18abb0609909a8a--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:32:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628836.980703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0N7R-0004FZ-79; Tue, 07 Nov 2023 14:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628836.980703; Tue, 07 Nov 2023 14: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 1r0N7R-0004FS-46; Tue, 07 Nov 2023 14:31:53 +0000
Received: by outflank-mailman (input) for mailman id 628836;
 Tue, 07 Nov 2023 14: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0N7Q-0004FL-7P
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 14:31:52 +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 63f9363a-7d7a-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 15:31:51 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-54394328f65so9633951a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 06:31:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63f9363a-7d7a-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699367511; x=1699972311; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zNa+9vA7SGDPrY+6jXvFjHdpMobBBaNlgx7pxxLyU3Q=;
        b=L4OWJB4G+CtCLxYRVCoZOWGnGYWpK9yVsF3paaZI3AU+CpWJdcreKEQJxUirYGSEaa
         EC+24OLa7gKjfyPG/9ae4PBkyJrANdyCoQ17W4LnoKOY8adNk0hQvbzCq8yRa+gaLUK4
         gC654cvs83efjHDbaE19dQVPrb/QhBIocCzlaX9eyiIlKzqdoGXdZWD8rwNhSZs8l5v5
         8So4oFttvoA41dOUThZNoYvzO/HKkuPmVaOo53m2Ac+ARQjQajUDT4DiO4RJ/FE48SNv
         6cVZ7Uh3tQ3Z58qTZt9NbBaenGdBZCf2WUoHjo++CHZMJd704Jc46lKfOZnX1vSx16ZN
         /QJA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699367511; x=1699972311;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=zNa+9vA7SGDPrY+6jXvFjHdpMobBBaNlgx7pxxLyU3Q=;
        b=ExAwN9aXDaUS/kPu7NOEpbM4ZxkGVWvVNjFl0EluIIm5ig3c8js+dwhu+kdgQCyt0o
         iBQqcmhqqxfuzJkutP6AcI2oStHss6Em0FxASUJbAAABX31OPGXgQRjhxXXl3exu5hfR
         G2NCLiHhCr556MqXb8W8VsrRf8hUteQDU0lxakA257Sg7d9ar0mux0fDwDe8RUsVoGwM
         exAd/sdr8zjAskK0yDnOXslJCKP9kQZo5bimFoJHem8IBJJcVcXzf7Dq5QzFNPN2Lt6r
         dKSU7s/+x76Ht0Yy427eEyU9cy8srueFceeMGRmvBEMfH6+z/7krxUQtQBCzAMnRjpCV
         iI1g==
X-Gm-Message-State: AOJu0YywRA2po9+2no4t4w5A021CnGJboPgIWTXYcIF+xwaOD5nTVC4b
	61cOu/kQv20u/4AcCaGtHOE868AAELi4KuAUyRs=
X-Google-Smtp-Source: AGHT+IFDPsEiNYYJEhyuz8KRO1jedBmKV6fNaJ4AbI4ZC8VJYZEkbCLtcq8pobMGQ9fA9k5CxTP051iP7C7C+NwPsgc=
X-Received: by 2002:a50:cddc:0:b0:543:5a71:85be with SMTP id
 h28-20020a50cddc000000b005435a7185bemr19036302edj.23.1699367510593; Tue, 07
 Nov 2023 06:31:50 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-15-jgross@suse.com>
In-Reply-To: <20231101093325.30302-15-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 09:31:38 -0500
Message-ID: <CAKf6xpv7kLgRx=-zeX+249aEkKTXVJMaNiMTHbxK4-8kj1g+xA@mail.gmail.com>
Subject: Re: [PATCH 14/29] tools/xenlogd: add 9pfs read request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:35=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add the read request of the 9pfs protocol.
>
> For now support only reading plain files (no directories).
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  tools/xenlogd/io.c | 60 ++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 60 insertions(+)
>
> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> index 6b4692ca67..b3f9f96bcc 100644
> --- a/tools/xenlogd/io.c
> +++ b/tools/xenlogd/io.c

> @@ -1011,6 +1012,61 @@ static void p9_create(device *device, struct p9_he=
ader *hdr)
>      fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
>  }
>
> +static void p9_read(device *device, struct p9_header *hdr)
> +{
> +    uint32_t fid;
> +    uint64_t off;
> +    unsigned int len;
> +    uint32_t count;
> +    void *buf;
> +    struct p9_fid *fidp;
> +    int ret;
> +
> +    ret =3D fill_data(device, "ULU", &fid, &off, &count);
> +    if ( ret !=3D 3 )
> +    {
> +        p9_error(device, hdr->tag, EINVAL);
> +        return;
> +    }
> +
> +    fidp =3D find_fid(device, fid);
> +    if ( !fidp || !fidp->opened )
> +    {
> +        p9_error(device, hdr->tag, EBADF);
> +        return;
> +    }
> +

I think you want to mode check here for readability.

> +    if ( fidp->isdir )
> +    {
> +        p9_error(device, hdr->tag, EOPNOTSUPP);
> +        return;

Hmmm, 9P2000.u supports read on a dir.
https://ericvh.github.io/9p-rfc/rfc9p2000.html#anchor30
"""
For directories, read returns an integral number of direc- tory
entries exactly as in stat (see stat(5)), one for each member of the
directory. The read request message must have offset equal to zero or
the value of offset in the previous read on the directory, plus the
number of bytes returned in the previous read. In other words, seeking
other than to the beginning is illegal in a directory (see seek(2)).
"""

> +    }
> +    else

Since the above is a return, maybe remove the else and un-indent?
Though maybe you don't want to do that if you want to implement read
on a dir.

> +    {
> +        len =3D count;
> +        buf =3D device->buffer + sizeof(*hdr) + sizeof(uint32_t);
> +
> +        while ( len !=3D 0 )
> +        {
> +            ret =3D pread(fidp->fd, buf, len, off);
> +            if ( ret <=3D 0 )
> +                break;
> +            len -=3D ret;
> +            buf +=3D ret;
> +            off +=3D ret;
> +        }
> +        if ( ret && len =3D=3D count )

This seems wrong to me - should this be ( ret < 0 && len =3D=3D count ) to
indicate an error on the first pread?  Any partial reads would still
return their data?

Regards,
Jason

> +        {
> +            p9_error(device, hdr->tag, errno);
> +            return;
> +        }
> +
> +        buf =3D device->buffer + sizeof(*hdr) + sizeof(uint32_t);
> +        len =3D count - len;
> +        fill_buffer(device, hdr->cmd + 1, hdr->tag, "D", &len, buf);
> +    }
> +}
> +
>  static void p9_write(device *device, struct p9_header *hdr)
>  {
>      uint32_t fid;


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:42:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:42:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628842.980713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0NHK-00076P-4O; Tue, 07 Nov 2023 14:42:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628842.980713; Tue, 07 Nov 2023 14: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 1r0NHK-00076I-1N; Tue, 07 Nov 2023 14:42:06 +0000
Received: by outflank-mailman (input) for mailman id 628842;
 Tue, 07 Nov 2023 14:42: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=Ht7K=GU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r0NHJ-00076C-1Y
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 14:42:05 +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 d10e4e72-7d7b-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 15:42:03 +0100 (CET)
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 5055C2191E;
 Tue,  7 Nov 2023 14:42: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 25746132FD;
 Tue,  7 Nov 2023 14:42:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id iaqnB7tMSmVtBwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Nov 2023 14:42: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: d10e4e72-7d7b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699368123; 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:autocrypt:autocrypt;
	bh=+px4UGZq3KblvjxWb8eI2RvH4pn3orYeHw1AczoWuZE=;
	b=Zm8+/ODSBerdRaWVaqNcjfxurMrmfmMaBXedGs1rlJGbfowis1Yd1zeUMrNc8JGORZS+An
	Wj2v2bguLgeAGhwTteEUeaFwwal31B0Z2ZA3/4lpvxep13Vp5Maa5U3k/FfoPgcywMXLHi
	maveonjNRYxH/3Cjov8WELnvTq/TX+A=
Message-ID: <e931f9bd-cbeb-43c3-98a6-7b3dff3af8d3@suse.com>
Date: Tue, 7 Nov 2023 15:42:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 12/29] tools/xenlogd: add 9pfs stat request support
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-13-jgross@suse.com>
 <CAKf6xpt43A6KAsKT_J0CiCnFme2f=OR3tqLgAGWrJE7hhxnHPw@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpt43A6KAsKT_J0CiCnFme2f=OR3tqLgAGWrJE7hhxnHPw@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------50DbVLnbLib2gBkWMdo2cdXm"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------50DbVLnbLib2gBkWMdo2cdXm
Content-Type: multipart/mixed; boundary="------------3Te7Kt0S9uIgji0IoHAvY2e3";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <e931f9bd-cbeb-43c3-98a6-7b3dff3af8d3@suse.com>
Subject: Re: [PATCH 12/29] tools/xenlogd: add 9pfs stat request support
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-13-jgross@suse.com>
 <CAKf6xpt43A6KAsKT_J0CiCnFme2f=OR3tqLgAGWrJE7hhxnHPw@mail.gmail.com>
In-Reply-To: <CAKf6xpt43A6KAsKT_J0CiCnFme2f=OR3tqLgAGWrJE7hhxnHPw@mail.gmail.com>

--------------3Te7Kt0S9uIgji0IoHAvY2e3
Content-Type: multipart/mixed; boundary="------------F8vpcIGvnwDZPfYljdpssr8Q"

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

T24gMDcuMTEuMjMgMTU6MDQsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNTozNOKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHRoZSBzdGF0IHJlcXVlc3Qgb2YgdGhlIDlwZnMgcHJvdG9j
b2wuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2Uu
Y29tPg0KPj4gLS0tDQo+PiAgIHRvb2xzL3hlbmxvZ2QvaW8uYyB8IDg5ICsrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysNCj4+ICAgMSBmaWxlIGNoYW5n
ZWQsIDg5IGluc2VydGlvbnMoKykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVubG9n
ZC9pby5jIGIvdG9vbHMveGVubG9nZC9pby5jDQo+PiBpbmRleCAzNGYxMzdiZTFiLi42ZTky
NjY3ZmFiIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMveGVubG9nZC9pby5jDQo+PiArKysgYi90
b29scy94ZW5sb2dkL2lvLmMNCj4+IEBAIC0zMyw2ICszMyw3IEBADQo+IA0KPj4gK3N0YXRp
YyB2b2lkIGZpbGxfcDlfc3RhdChzdHJ1Y3QgcDlfc3RhdCAqcDlzLCBzdHJ1Y3Qgc3RhdCAq
c3QsIGNvbnN0IGNoYXIgKm5hbWUpDQo+PiArew0KPj4gKyAgICBtZW1zZXQocDlzLCAwLCBz
aXplb2YoKnA5cykpOw0KPj4gKyAgICBmaWxsX3FpZChOVUxMLCAmcDlzLT5xaWQsIHN0KTsN
Cj4+ICsgICAgcDlzLT5tb2RlID0gc3QtPnN0X21vZGUgJiAwNzc3Ow0KPj4gKyAgICBpZiAo
IFNfSVNESVIoc3QtPnN0X21vZGUpICkNCj4+ICsgICAgICAgIHA5cy0+bW9kZSB8PSBQOV9D
UkVBVEVfUEVSTV9ESVI7DQo+PiArICAgIHA5cy0+YXRpbWUgPSBzdC0+c3RfYXRpbWU7DQo+
PiArICAgIHA5cy0+bXRpbWUgPSBzdC0+c3RfbXRpbWU7DQo+PiArICAgIHA5cy0+bGVuZ3Ro
ID0gc3QtPnN0X3NpemU7DQo+PiArICAgIHA5cy0+bmFtZSA9IG5hbWU7DQo+PiArICAgIHA5
cy0+dWlkID0gIiI7DQo+PiArICAgIHA5cy0+Z2lkID0gIiI7DQo+PiArICAgIHA5cy0+bXVp
ZCA9ICIiOw0KPj4gKyAgICBwOXMtPmV4dGVuc2lvbiA9ICIiOw0KPj4gKyAgICBwOXMtPm5f
dWlkID0gMDsNCj4+ICsgICAgcDlzLT5uX2dpZCA9IDA7DQo+IA0KPiBJZiB0aGUgZGFlbW9u
IGlzIHJ1bm5pbmcgYXMgcm9vdCBhbmQgbWFuYWdpbmcgdGhlIGRpcmVjdG9yaWVzLCB0aGVz
ZQ0KPiBwcm9iYWJseSBtYXRjaC4gIFN0aWxsLCBkbyB3ZSB3YW50IHVpZCAmIGdpZCB0byBi
ZSBwb3B1bGF0ZWQgZnJvbSB0aGUNCj4gc3RhdCBzdHJ1Y3Q/DQoNCkkgd291bGRuJ3Qgd2Fu
dCB0byBkbyB0aGF0LiBJbiB0aGUgZW5kIHRoZSBwZXJtaXNzaW9ucyBvZiB0aGUgZGFlbW9u
IGFyZQ0KcmVsZXZhbnQgZm9yIGJlaW5nIGFibGUgdG8gYWNjZXNzIHRoZSBmaWxlcy4gVGhl
cmUgaXMgbm8gbmVlZCB0byBsZWFrIGFueQ0KdWlkcyBhbmQgZ2lkcyBmcm9tIHRoZSBob3N0
IHRvIHRoZSBndWVzdHMuDQoNCj4gDQo+PiArICAgIHA5cy0+bl9tdWlkID0gMDsNCj4+ICsN
Cj4+ICsgICAgLyoNCj4+ICsgICAgICogU2l6ZSBvZiBpbmRpdmlkdWFsIGZpZWxkcyB3aXRo
b3V0IHRoZSBzaXplIGZpZWxkLCBpbmNsdWRpbmcgNSAyLWJ5dGUNCj4+ICsgICAgICogc3Ry
aW5nIGxlbmd0aCBmaWVsZHMuDQo+PiArICAgICAqLw0KPj4gKyAgICBwOXMtPnNpemUgPSA3
MSArIHN0cmxlbihwOXMtPm5hbWUpOw0KPj4gK30NCj4+ICsNCj4+ICtzdGF0aWMgdm9pZCBw
OV9zdGF0KGRldmljZSAqZGV2aWNlLCBzdHJ1Y3QgcDlfaGVhZGVyICpoZHIpDQo+PiArew0K
Pj4gKyAgICB1aW50MzJfdCBmaWQ7DQo+PiArICAgIHN0cnVjdCBwOV9maWQgKmZpZHA7DQo+
PiArICAgIHN0cnVjdCBwOV9zdGF0IHA5czsNCj4+ICsgICAgc3RydWN0IHN0YXQgc3Q7DQo+
PiArICAgIHVpbnQxNl90IHRvdGFsX2xlbmd0aDsNCj4gDQo+IHRvdGFsX2xlbmd0aCA9IDA7
DQo+IA0KPiBPdGhlcndpc2UgaXQgaXMgdXNlZCB1bmluaXRpYWxpemVkLg0KDQpJIGRvbid0
IHRoaW5rIHNvLiBUaGVyZSBpcyBhIHNpbmdsZSB1c2VyIGp1c3QgYWZ0ZXIgc2V0dGluZyB0
aGUgdmFyaWFibGUuDQoNCg0KSnVlcmdlbg0K
--------------F8vpcIGvnwDZPfYljdpssr8Q
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-----

--------------F8vpcIGvnwDZPfYljdpssr8Q--

--------------3Te7Kt0S9uIgji0IoHAvY2e3--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVKTLoFAwAAAAAACgkQsN6d1ii/Ey/Z
qQgAkGggQvXTPgr43LvI3qLpi++V7/7qE7zCePy7dqz8l8NrKBzmY7+PqeatGDDSWTIUe/GsAHhj
4V0ntjqeaHMLB437iacln78qw9yYW0ARhZqi1tfzZAkOzCvdu2/MS8lT2Vd43kgRPrI0XPbNZVwC
Hm7btGkd20H7O+opDkKqJlOdchxI8xDn6DB0AGzKZ4j4UwfYXLWWxyrrsAargcsN0W6qnjNVBJkB
3GCV0fWPheOuJuFRttsYdLyZOALrfRviNdFUQqYdP+03fgHH3uhd6I86dj/nQ59tY33Slr69JlMF
s6a6C0cuOY9Jgj5gwan10oxCH4nLPqd42SjdTk60IA==
=6Szf
-----END PGP SIGNATURE-----

--------------50DbVLnbLib2gBkWMdo2cdXm--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:44:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:44:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628845.980722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0NJB-0007x4-FH; Tue, 07 Nov 2023 14:44:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628845.980722; Tue, 07 Nov 2023 14:44: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 1r0NJB-0007wx-CU; Tue, 07 Nov 2023 14:44:01 +0000
Received: by outflank-mailman (input) for mailman id 628845;
 Tue, 07 Nov 2023 14:43: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=Ht7K=GU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r0NJ9-0007vY-NF
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 14:43: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 15933d31-7d7c-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 15:43:58 +0100 (CET)
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 906B21F37C;
 Tue,  7 Nov 2023 14:43: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 65C9F132FD;
 Tue,  7 Nov 2023 14:43:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id dscBFy5NSmU4CAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Nov 2023 14:43: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: 15933d31-7d7c-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699368238; 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:autocrypt:autocrypt;
	bh=6a6kVDnRWKEvo692xIuvB+2PK7A331KJadRRizg6Hhg=;
	b=tckc0mknureTpfekxJdjS5Uw3ie6z2zezhscIxFJQ/YZitkwuLfS72eXrYCzy/LhFlpBMP
	3YjXnYV4e3O9ieHyfiVoVq+sYsyj6MVPbgDZTh9NeLeiBN+WDC35Rf9ReAkXsO+k+Q29i6
	WrgYJN9iRbveCCSoAP36ceKW72M2YBo=
Message-ID: <ce5dca09-206b-4a5f-af27-a27a109f1718@suse.com>
Date: Tue, 7 Nov 2023 15:43:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 13/29] tools/xenlogd: add 9pfs write request support
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-14-jgross@suse.com>
 <CAKf6xpvkEAv4RkPB_536=w2ysjuTbja7vsEg_xRTpotNDOGriw@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpvkEAv4RkPB_536=w2ysjuTbja7vsEg_xRTpotNDOGriw@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------q1V4jvnzYo0O349UunOBP7ne"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------q1V4jvnzYo0O349UunOBP7ne
Content-Type: multipart/mixed; boundary="------------T9FSKVL08q3EowAHMwWnhPbs";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <ce5dca09-206b-4a5f-af27-a27a109f1718@suse.com>
Subject: Re: [PATCH 13/29] tools/xenlogd: add 9pfs write request support
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-14-jgross@suse.com>
 <CAKf6xpvkEAv4RkPB_536=w2ysjuTbja7vsEg_xRTpotNDOGriw@mail.gmail.com>
In-Reply-To: <CAKf6xpvkEAv4RkPB_536=w2ysjuTbja7vsEg_xRTpotNDOGriw@mail.gmail.com>

--------------T9FSKVL08q3EowAHMwWnhPbs
Content-Type: multipart/mixed; boundary="------------581AIm03w9ns4LrqMx9LkK8T"

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

T24gMDcuMTEuMjMgMTU6MTAsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNTo1NOKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHRoZSB3cml0ZSByZXF1ZXN0IG9mIHRoZSA5cGZzIHByb3Rv
Y29sLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNl
LmNvbT4NCj4+IC0tLQ0KPj4gICB0b29scy94ZW5sb2dkL2lvLmMgfCA1MCArKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiAgIDEgZmlsZSBjaGFu
Z2VkLCA1MCBpbnNlcnRpb25zKCspDQo+Pg0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbmxv
Z2QvaW8uYyBiL3Rvb2xzL3hlbmxvZ2QvaW8uYw0KPj4gaW5kZXggNmU5MjY2N2ZhYi4uNmI0
NjkyY2E2NyAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL3hlbmxvZ2QvaW8uYw0KPj4gKysrIGIv
dG9vbHMveGVubG9nZC9pby5jDQo+IA0KPj4gQEAgLTEwMTAsNiArMTAxMSw1MSBAQCBzdGF0
aWMgdm9pZCBwOV9jcmVhdGUoZGV2aWNlICpkZXZpY2UsIHN0cnVjdCBwOV9oZWFkZXIgKmhk
cikNCj4+ICAgICAgIGZpbGxfYnVmZmVyKGRldmljZSwgaGRyLT5jbWQgKyAxLCBoZHItPnRh
ZywgIlFVIiwgJnFpZCwgJmlvdW5pdCk7DQo+PiAgIH0NCj4+DQo+PiArc3RhdGljIHZvaWQg
cDlfd3JpdGUoZGV2aWNlICpkZXZpY2UsIHN0cnVjdCBwOV9oZWFkZXIgKmhkcikNCj4+ICt7
DQo+PiArICAgIHVpbnQzMl90IGZpZDsNCj4+ICsgICAgdWludDY0X3Qgb2ZmOw0KPj4gKyAg
ICB1bnNpZ25lZCBpbnQgbGVuOw0KPj4gKyAgICB1aW50MzJfdCB3cml0dGVuOw0KPj4gKyAg
ICB2b2lkICpidWY7DQo+PiArICAgIHN0cnVjdCBwOV9maWQgKmZpZHA7DQo+PiArICAgIGlu
dCByZXQ7DQo+PiArDQo+PiArICAgIHJldCA9IGZpbGxfZGF0YShkZXZpY2UsICJVTEQiLCAm
ZmlkLCAmb2ZmLCAmbGVuLCBkZXZpY2UtPmJ1ZmZlcik7DQo+PiArICAgIGlmICggcmV0ICE9
IDMgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBwOV9lcnJvcihkZXZpY2UsIGhkci0+dGFn
LCBFSU5WQUwpOw0KPj4gKyAgICAgICAgcmV0dXJuOw0KPj4gKyAgICB9DQo+PiArDQo+PiAr
ICAgIGZpZHAgPSBmaW5kX2ZpZChkZXZpY2UsIGZpZCk7DQo+PiArICAgIGlmICggIWZpZHAg
fHwgIWZpZHAtPm9wZW5lZCB8fCBmaWRwLT5pc2RpciApDQo+IA0KPiBJIHRoaW5rIHlvdSB3
YW50IGFuIGFkZGl0aW9uYWwgY2hlY2sgdGhhdCB0aGUgZmlkcCBpcyB3cml0YWJsZS4NCg0K
VGhlIG9wZW4gd2FzIGRvbmUgd2l0aCB0aGUgY29ycmVjdCBtb2RlLiBJZiBmaWRwIGlzbid0
IHdyaXRhYmxlLCB0aGUgd3JpdGUoKQ0Kd2lsbCBmYWlsIHdpdGggdGhlIGNvcnJlY3QgZXJy
bm8uDQoNCg0KSnVlcmdlbg0KDQo=
--------------581AIm03w9ns4LrqMx9LkK8T
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-----

--------------581AIm03w9ns4LrqMx9LkK8T--

--------------T9FSKVL08q3EowAHMwWnhPbs--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVKTS0FAwAAAAAACgkQsN6d1ii/Ey8E
dQf+LdxK8nxFOfkHBENSdyXbuEoxSqhqvWCzFf31g/gA291Kq8JuiGqTIZj//oO+NqVU81WwOhwn
VNG7HbA7vD4oJ5UMp/XVUeTeYskZ8kE9FvZSPLz6OWZ586fmraXDSsnh0LlHEtSauUa6hAmnyjEl
ta4fa9CppUpwUE64SL0SHb9W9YBZEq+Y+zzHpTKT1vF88FHgm2ZcQZO5fa08V4UX94jwp0cXD03U
Wn9nYYkzq6AkBS5TK0HW5A3uzGFv/nwFtxH0L/lCSeIvvzpWm+8LKlD5tMo/6mxhYVLkkpmNd7em
4+f36aZT4RBKkCFqYXg7uj0qaFrbcxqrccsKKfSTwA==
=Ovnf
-----END PGP SIGNATURE-----

--------------q1V4jvnzYo0O349UunOBP7ne--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:46:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:46:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628849.980733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0NLH-00014H-To; Tue, 07 Nov 2023 14:46:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628849.980733; Tue, 07 Nov 2023 14: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 1r0NLH-00014A-R2; Tue, 07 Nov 2023 14:46:11 +0000
Received: by outflank-mailman (input) for mailman id 628849;
 Tue, 07 Nov 2023 14:46: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=raD6=GU=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0NLF-00012e-Ra
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 14:46:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f8c899a-7d7c-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 15:46:03 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 68F8E4EE0747;
 Tue,  7 Nov 2023 15:45:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f8c899a-7d7c-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Tue, 07 Nov 2023 15:45:52 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, Simone Ballarin <simone.ballarin@bugseng.com>, Doug
 Goldstein <cardoe@cardoe.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>
Subject: Re: [RFC PATCH 4/4] automation/eclair: add deviation for certain
 backwards goto
In-Reply-To: <a95c6666-dbf3-4f1f-9618-b1f31bf47710@xen.org>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
 <306ca49d5d63ea0614bbcef470efec9234d1a018.1699295113.git.nicola.vetrini@bugseng.com>
 <a95c6666-dbf3-4f1f-9618-b1f31bf47710@xen.org>
Message-ID: <31d0509acf5a31351d6efa7c66710729@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Hi Julien,

On 2023-11-07 13:44, Julien Grall wrote:
> Hi Nicola,
> 
> On 07/11/2023 10:33, Nicola Vetrini wrote:
>> As explained in the deviation record, code constructs such as
>> "goto retry" and "goto again" are sometimes the best balance between
>> code complexity and the understandability of the control flow
>> by developers; as such, these construct are allowed to deviate
>> from Rule 15.2.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>   automation/eclair_analysis/ECLAIR/deviations.ecl | 10 ++++++++++
>>   docs/misra/deviations.rst                        | 10 ++++++++++
>>   2 files changed, 20 insertions(+)
>> 
>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
>> b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> index fa56e5c00a27..8b1f622f8f82 100644
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -270,6 +270,16 @@ statements are deliberate"
>>   -config=MC3R1.R14.3,statements={deliberate , 
>> "wrapped(any(),node(if_stmt))" }
>>   -doc_end
>>   +#
>> +# Series 15
>> +#
>> +
>> +-doc_begin="The additional complexity introduced in the code by using 
>> control flow structures other than backwards goto-s
>> +were deemed not to justify the possible prevention of developer 
>> confusion, given the very torough review process estabilished
> 
> Typoes: s/torough/thorough/ s/estabilished/established/
> 

Thanks

>> +in the community."
>> +-config=MC3R1.R15.2,reports+={deliberate, 
>> "any_area(any_loc(text(^.*goto (again|retry).*$)))"}
>> +-doc_end
>> +
>>   #
>>   # Series 20.
>>   #
>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>> index 8511a189253b..7d1e1f0d09b3 100644
>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -208,6 +208,16 @@ Deviations related to MISRA C:2012 Rules:
>>          statements are deliberate.
>>        - Project-wide deviation; tagged as `disapplied` for ECLAIR.
>>   +   * - R15.2
>> +     - The possible prevention of developer confusion as a result of 
>> using
>> +       control flow structures other than backwards goto-s in some 
>> instances was
>> +       deemed not strong enough to justify the additional complexity 
>> introduced
>> +       in the code. Such instances are the uses of the following 
>> labels:
>> +
>> +       - again
>> +       - retry
> 
> Have you investigated the possibility to use SAF-X in the code? If so, 
> what's the problem to use them?
> 
> Cheers,

This is another viable option: putting the SAF comment on top of the 
label should suffice,
as shown below:

/* SAF-2-safe */
repeat:
     ++fmt;          /* this also skips first '%' */
     switch (*fmt) {
     case '-': flags |= LEFT; goto repeat;
     case '+': flags |= PLUS; goto repeat;
     case ' ': flags |= SPACE; goto repeat;
     case '#': flags |= SPECIAL; goto repeat;
     case '0': flags |= ZEROPAD; goto repeat;
     }

I think it ultimately boils down to whether Xen wants to promote the use 
of certain labels
as the designated alternative when no other control flow mechanism is 
clearer from a
readability perspective (in which case there should be a consistent 
naming to capture and deviate
all of them, such as "retry") or do so on a case-by-case basis with a 
SAF, which is ok, but then
it needs someone to check each one and either fix them or mark them as 
ok.
Yet another route could be to mark with a SAF all those present right 
now to establish a baseline.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:48:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628855.980743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0NNm-0001jF-AB; Tue, 07 Nov 2023 14:48:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628855.980743; Tue, 07 Nov 2023 14: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 1r0NNm-0001j8-7Z; Tue, 07 Nov 2023 14:48:46 +0000
Received: by outflank-mailman (input) for mailman id 628855;
 Tue, 07 Nov 2023 14: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0NNl-0001j2-9y
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 14:48:45 +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 bf39278c-7d7c-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 15:48:43 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-53e07db272cso9815223a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 06:48:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf39278c-7d7c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699368523; x=1699973323; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cbcEPGy8Ub0cnu4yBg840ocKinXpLSFwpgYoVCVslXI=;
        b=jiii4IFUMMcAZAVojXy/5Ks2zSoTa8UXBfAzcWxhE9Uf/dICdLww4ArCcybv9s9FaL
         4aWy0J94J1e852WiPANXOyu9uP2vlGGHDSrIY7pm0zVBzkJ/iOk0q42nXzyf62i8FXvV
         m34f1DV/5pfto71/ttm0julcfZ84SkNifv0j/5Gpoix3pDTRfABfOa+LqQzsXR36NW08
         3eh+wdUvSUaNiMK7CkL11YVwom5mwf6Wv737eHrAMlKBfixvc4dfsCfXTdaq2B85GzBK
         x1I1mhjJ/27st7s93X+6iBLguo+jJ4UIW/QKc9uTDiNt6qw/j4oyD5gVoysDreGaQfSU
         r8xA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699368523; x=1699973323;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cbcEPGy8Ub0cnu4yBg840ocKinXpLSFwpgYoVCVslXI=;
        b=ABHlFApmR8FUMbWZOfU82KsfRTDV82s8qYA7Kkg4ORODdGFVKSpbFN7IBZNvNdBTG0
         rGxgvbl6sqIArIfy+KIk96uAD31CqK9VmbMukGWt5vHmFUl2tYm/2nEuKLp5fBqXXIbG
         PAJKGK6OLL7ySXOelAeO+GMPNtxDhb3NWtZfiQ7e1o8nHw4RWx55PzA7TIQoWl2PWB+k
         Iq7YSJkKdbHIV/PGKlx0A8QkNUMdovX9MTXmkvhT5K0iQnAWFOepA1ad8QoPrMk2wPox
         bTTrD6Ee/+mw5e5HyOJeqoCVyRXcK7pxLZI10sew4mNbuamkY9+qeYo04f209+XqPX++
         hdCw==
X-Gm-Message-State: AOJu0YxFRXqySLJIdGDSwqJvKiu1Ta1aZ/MEquxnV8tdaPOA9LBDBP+S
	cTjUhjO62B50uIJGmblrVrp8paORO1zKx0a4g10=
X-Google-Smtp-Source: AGHT+IEshT7r1FxOYvGFqcyRsY2vg2xoEi7DB5SEYr8fvd/Ogx8U/t3NJodLI3kaMBHodniWJXB5bO7bd7JEWTTHOg8=
X-Received: by 2002:a50:f69c:0:b0:543:4fdb:de84 with SMTP id
 d28-20020a50f69c000000b005434fdbde84mr4150391edn.7.1699368522549; Tue, 07 Nov
 2023 06:48:42 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-13-jgross@suse.com>
 <CAKf6xpt43A6KAsKT_J0CiCnFme2f=OR3tqLgAGWrJE7hhxnHPw@mail.gmail.com> <e931f9bd-cbeb-43c3-98a6-7b3dff3af8d3@suse.com>
In-Reply-To: <e931f9bd-cbeb-43c3-98a6-7b3dff3af8d3@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 09:48:30 -0500
Message-ID: <CAKf6xpsMBkeg4bZBGnur15C5+h3FPYZv9EGvc2xwPj_2qvVKyQ@mail.gmail.com>
Subject: Re: [PATCH 12/29] tools/xenlogd: add 9pfs stat request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 7, 2023 at 9:42=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> On 07.11.23 15:04, Jason Andryuk wrote:
> > On Wed, Nov 1, 2023 at 5:34=E2=80=AFAM Juergen Gross <jgross@suse.com> =
wrote:
> >>
> >> Add the stat request of the 9pfs protocol.
> >>
> >> Signed-off-by: Juergen Gross <jgross@suse.com>
> >> ---
> >>   tools/xenlogd/io.c | 89 ++++++++++++++++++++++++++++++++++++++++++++=
++
> >>   1 file changed, 89 insertions(+)
> >>
> >> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> >> index 34f137be1b..6e92667fab 100644
> >> --- a/tools/xenlogd/io.c
> >> +++ b/tools/xenlogd/io.c
> >> @@ -33,6 +33,7 @@
> >
> >> +static void fill_p9_stat(struct p9_stat *p9s, struct stat *st, const =
char *name)
> >> +{
> >> +    memset(p9s, 0, sizeof(*p9s));
> >> +    fill_qid(NULL, &p9s->qid, st);
> >> +    p9s->mode =3D st->st_mode & 0777;
> >> +    if ( S_ISDIR(st->st_mode) )
> >> +        p9s->mode |=3D P9_CREATE_PERM_DIR;
> >> +    p9s->atime =3D st->st_atime;
> >> +    p9s->mtime =3D st->st_mtime;
> >> +    p9s->length =3D st->st_size;
> >> +    p9s->name =3D name;
> >> +    p9s->uid =3D "";
> >> +    p9s->gid =3D "";
> >> +    p9s->muid =3D "";
> >> +    p9s->extension =3D "";
> >> +    p9s->n_uid =3D 0;
> >> +    p9s->n_gid =3D 0;
> >
> > If the daemon is running as root and managing the directories, these
> > probably match.  Still, do we want uid & gid to be populated from the
> > stat struct?
>
> I wouldn't want to do that. In the end the permissions of the daemon are
> relevant for being able to access the files. There is no need to leak any
> uids and gids from the host to the guests.

Ok.

> >
> >> +    p9s->n_muid =3D 0;
> >> +
> >> +    /*
> >> +     * Size of individual fields without the size field, including 5 =
2-byte
> >> +     * string length fields.
> >> +     */
> >> +    p9s->size =3D 71 + strlen(p9s->name);
> >> +}
> >> +
> >> +static void p9_stat(device *device, struct p9_header *hdr)
> >> +{
> >> +    uint32_t fid;
> >> +    struct p9_fid *fidp;
> >> +    struct p9_stat p9s;
> >> +    struct stat st;
> >> +    uint16_t total_length;
> >
> > total_length =3D 0;
> >
> > Otherwise it is used uninitialized.
>
> I don't think so. There is a single user just after setting the variable.

Whoops - you are right.  Sorry for the noise.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:49:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:49:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628858.980753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0NOL-0002BZ-JM; Tue, 07 Nov 2023 14:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628858.980753; Tue, 07 Nov 2023 14: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 1r0NOL-0002BR-FR; Tue, 07 Nov 2023 14:49:21 +0000
Received: by outflank-mailman (input) for mailman id 628858;
 Tue, 07 Nov 2023 14:49: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=Ht7K=GU=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r0NOK-0002Aj-Ap
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 14:49:20 +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 d4d3ae59-7d7c-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 15:49:19 +0100 (CET)
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 D64941F459;
 Tue,  7 Nov 2023 14:49: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 AB3B9132FD;
 Tue,  7 Nov 2023 14:49:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2440KG5OSmXNCgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 07 Nov 2023 14:49: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: d4d3ae59-7d7c-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699368558; 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:autocrypt:autocrypt;
	bh=7YC6x6iYhGY1qfZ7uFhKhkx0gTkS3viTNhEcbZGCRwo=;
	b=URnF/GBF6XyAkAxgrxpZN0LIVD3VnLfOpPn9vcnx1CpAUfekjmgCQF3WJ11v3xcfUdC2Yl
	43GdyeVu1v23ipNGdQxWHGVF0B5Hr8LU62KAltQqrEDgO2tPvgp/clSLYTtqcJFbgK+T6N
	95/j+NJrPkSe2uiM4UEayOrV65PAln8=
Message-ID: <d6b2c593-2836-4d48-ac24-61d423355ac5@suse.com>
Date: Tue, 7 Nov 2023 15:49:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 14/29] tools/xenlogd: add 9pfs read request support
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-15-jgross@suse.com>
 <CAKf6xpv7kLgRx=-zeX+249aEkKTXVJMaNiMTHbxK4-8kj1g+xA@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpv7kLgRx=-zeX+249aEkKTXVJMaNiMTHbxK4-8kj1g+xA@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VZRp9D1IR1yt0or0Pg0wP3VK"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VZRp9D1IR1yt0or0Pg0wP3VK
Content-Type: multipart/mixed; boundary="------------ivXAxxYSLvqBsZqdsrGX42Rt";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <d6b2c593-2836-4d48-ac24-61d423355ac5@suse.com>
Subject: Re: [PATCH 14/29] tools/xenlogd: add 9pfs read request support
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-15-jgross@suse.com>
 <CAKf6xpv7kLgRx=-zeX+249aEkKTXVJMaNiMTHbxK4-8kj1g+xA@mail.gmail.com>
In-Reply-To: <CAKf6xpv7kLgRx=-zeX+249aEkKTXVJMaNiMTHbxK4-8kj1g+xA@mail.gmail.com>

--------------ivXAxxYSLvqBsZqdsrGX42Rt
Content-Type: multipart/mixed; boundary="------------h5Vxbzwnzy3Y0sstkiz0MnL6"

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

T24gMDcuMTEuMjMgMTU6MzEsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNTozNeKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHRoZSByZWFkIHJlcXVlc3Qgb2YgdGhlIDlwZnMgcHJvdG9j
b2wuDQo+Pg0KPj4gRm9yIG5vdyBzdXBwb3J0IG9ubHkgcmVhZGluZyBwbGFpbiBmaWxlcyAo
bm8gZGlyZWN0b3JpZXMpLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4gICB0b29scy94ZW5sb2dkL2lvLmMgfCA2
MCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+PiAg
IDEgZmlsZSBjaGFuZ2VkLCA2MCBpbnNlcnRpb25zKCspDQo+Pg0KPj4gZGlmZiAtLWdpdCBh
L3Rvb2xzL3hlbmxvZ2QvaW8uYyBiL3Rvb2xzL3hlbmxvZ2QvaW8uYw0KPj4gaW5kZXggNmI0
NjkyY2E2Ny4uYjNmOWY5NmJjYyAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL3hlbmxvZ2QvaW8u
Yw0KPj4gKysrIGIvdG9vbHMveGVubG9nZC9pby5jDQo+IA0KPj4gQEAgLTEwMTEsNiArMTAx
Miw2MSBAQCBzdGF0aWMgdm9pZCBwOV9jcmVhdGUoZGV2aWNlICpkZXZpY2UsIHN0cnVjdCBw
OV9oZWFkZXIgKmhkcikNCj4+ICAgICAgIGZpbGxfYnVmZmVyKGRldmljZSwgaGRyLT5jbWQg
KyAxLCBoZHItPnRhZywgIlFVIiwgJnFpZCwgJmlvdW5pdCk7DQo+PiAgIH0NCj4+DQo+PiAr
c3RhdGljIHZvaWQgcDlfcmVhZChkZXZpY2UgKmRldmljZSwgc3RydWN0IHA5X2hlYWRlciAq
aGRyKQ0KPj4gK3sNCj4+ICsgICAgdWludDMyX3QgZmlkOw0KPj4gKyAgICB1aW50NjRfdCBv
ZmY7DQo+PiArICAgIHVuc2lnbmVkIGludCBsZW47DQo+PiArICAgIHVpbnQzMl90IGNvdW50
Ow0KPj4gKyAgICB2b2lkICpidWY7DQo+PiArICAgIHN0cnVjdCBwOV9maWQgKmZpZHA7DQo+
PiArICAgIGludCByZXQ7DQo+PiArDQo+PiArICAgIHJldCA9IGZpbGxfZGF0YShkZXZpY2Us
ICJVTFUiLCAmZmlkLCAmb2ZmLCAmY291bnQpOw0KPj4gKyAgICBpZiAoIHJldCAhPSAzICkN
Cj4+ICsgICAgew0KPj4gKyAgICAgICAgcDlfZXJyb3IoZGV2aWNlLCBoZHItPnRhZywgRUlO
VkFMKTsNCj4+ICsgICAgICAgIHJldHVybjsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBm
aWRwID0gZmluZF9maWQoZGV2aWNlLCBmaWQpOw0KPj4gKyAgICBpZiAoICFmaWRwIHx8ICFm
aWRwLT5vcGVuZWQgKQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBwOV9lcnJvcihkZXZpY2Us
IGhkci0+dGFnLCBFQkFERik7DQo+PiArICAgICAgICByZXR1cm47DQo+PiArICAgIH0NCj4+
ICsNCj4gDQo+IEkgdGhpbmsgeW91IHdhbnQgdG8gbW9kZSBjaGVjayBoZXJlIGZvciByZWFk
YWJpbGl0eS4NCg0KU2FtZSByZWFzb25pbmcgYXMgZm9yIHRoZSB3cml0ZSBjYXNlOiByZWFk
KCkgd2lsbCBkbyBpdCBmb3IgbWUuDQoNCj4gDQo+PiArICAgIGlmICggZmlkcC0+aXNkaXIg
KQ0KPj4gKyAgICB7DQo+PiArICAgICAgICBwOV9lcnJvcihkZXZpY2UsIGhkci0+dGFnLCBF
T1BOT1RTVVBQKTsNCj4+ICsgICAgICAgIHJldHVybjsNCj4gDQo+IEhtbW0sIDlQMjAwMC51
IHN1cHBvcnRzIHJlYWQgb24gYSBkaXIuDQo+IGh0dHBzOi8vZXJpY3ZoLmdpdGh1Yi5pby85
cC1yZmMvcmZjOXAyMDAwLmh0bWwjYW5jaG9yMzANCj4gIiIiDQo+IEZvciBkaXJlY3Rvcmll
cywgcmVhZCByZXR1cm5zIGFuIGludGVncmFsIG51bWJlciBvZiBkaXJlYy0gdG9yeQ0KPiBl
bnRyaWVzIGV4YWN0bHkgYXMgaW4gc3RhdCAoc2VlIHN0YXQoNSkpLCBvbmUgZm9yIGVhY2gg
bWVtYmVyIG9mIHRoZQ0KPiBkaXJlY3RvcnkuIFRoZSByZWFkIHJlcXVlc3QgbWVzc2FnZSBt
dXN0IGhhdmUgb2Zmc2V0IGVxdWFsIHRvIHplcm8gb3INCj4gdGhlIHZhbHVlIG9mIG9mZnNl
dCBpbiB0aGUgcHJldmlvdXMgcmVhZCBvbiB0aGUgZGlyZWN0b3J5LCBwbHVzIHRoZQ0KPiBu
dW1iZXIgb2YgYnl0ZXMgcmV0dXJuZWQgaW4gdGhlIHByZXZpb3VzIHJlYWQuIEluIG90aGVy
IHdvcmRzLCBzZWVraW5nDQo+IG90aGVyIHRoYW4gdG8gdGhlIGJlZ2lubmluZyBpcyBpbGxl
Z2FsIGluIGEgZGlyZWN0b3J5IChzZWUgc2VlaygyKSkuDQo+ICIiIg0KDQpUaGlzIGlzIHBh
cnQgb2YgIm9ubHkgb3BlcmF0aW9ucyBuZWVkZWQgZm9yIFhlbnN0b3JlLXN0dWJkb20gYXJl
IGltcGxlbWVudGVkLiINCkZvciBzdXBwb3J0aW5nIExpbnV4IGd1ZXN0cyBvciBvdGhlciBz
dHViZG9tcyBkaXJlY3RvcnkgcmVhZGluZyBtdXN0IGJlIGFkZGVkLA0Kb2YgY291cnNlLg0K
DQo+IA0KPj4gKyAgICB9DQo+PiArICAgIGVsc2UNCj4gDQo+IFNpbmNlIHRoZSBhYm92ZSBp
cyBhIHJldHVybiwgbWF5YmUgcmVtb3ZlIHRoZSBlbHNlIGFuZCB1bi1pbmRlbnQ/DQo+IFRo
b3VnaCBtYXliZSB5b3UgZG9uJ3Qgd2FudCB0byBkbyB0aGF0IGlmIHlvdSB3YW50IHRvIGlt
cGxlbWVudCByZWFkDQo+IG9uIGEgZGlyLg0KDQpDb3JyZWN0Lg0KDQo+IA0KPj4gKyAgICB7
DQo+PiArICAgICAgICBsZW4gPSBjb3VudDsNCj4+ICsgICAgICAgIGJ1ZiA9IGRldmljZS0+
YnVmZmVyICsgc2l6ZW9mKCpoZHIpICsgc2l6ZW9mKHVpbnQzMl90KTsNCj4+ICsNCj4+ICsg
ICAgICAgIHdoaWxlICggbGVuICE9IDAgKQ0KPj4gKyAgICAgICAgew0KPj4gKyAgICAgICAg
ICAgIHJldCA9IHByZWFkKGZpZHAtPmZkLCBidWYsIGxlbiwgb2ZmKTsNCj4+ICsgICAgICAg
ICAgICBpZiAoIHJldCA8PSAwICkNCj4+ICsgICAgICAgICAgICAgICAgYnJlYWs7DQo+PiAr
ICAgICAgICAgICAgbGVuIC09IHJldDsNCj4+ICsgICAgICAgICAgICBidWYgKz0gcmV0Ow0K
Pj4gKyAgICAgICAgICAgIG9mZiArPSByZXQ7DQo+PiArICAgICAgICB9DQo+PiArICAgICAg
ICBpZiAoIHJldCAmJiBsZW4gPT0gY291bnQgKQ0KPiANCj4gVGhpcyBzZWVtcyB3cm9uZyB0
byBtZSAtIHNob3VsZCB0aGlzIGJlICggcmV0IDwgMCAmJiBsZW4gPT0gY291bnQgKSB0bw0K
PiBpbmRpY2F0ZSBhbiBlcnJvciBvbiB0aGUgZmlyc3QgcHJlYWQ/ICBBbnkgcGFydGlhbCBy
ZWFkcyB3b3VsZCBzdGlsbA0KPiByZXR1cm4gdGhlaXIgZGF0YT8NCg0KSWYgbGVuID09IGNv
dW50IHRoZXJlIHdhcyBubyBwYXJ0aWFsIHJlYWQsIGFzIHRoaXMgd291bGQgaGF2ZSByZWR1
Y2VkIGxlbi4NCg0KDQpKdWVyZ2VuDQo=
--------------h5Vxbzwnzy3Y0sstkiz0MnL6
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-----

--------------h5Vxbzwnzy3Y0sstkiz0MnL6--

--------------ivXAxxYSLvqBsZqdsrGX42Rt--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVKTm4FAwAAAAAACgkQsN6d1ii/Ey+J
7gf/eGC2DdcYe67xrgJTjldgCz6cqLvjoTig3+uuC+hILqLoDfL2jmC1BJwofLr7JK05pWbTAF5Y
8Gz1Xa9njmteG6gUyD87ollFoc8xg6uLosSDgUif/rPTJGm/gUSHlBWS+pOuxsDaFe3Y8EQ3X/LX
yAg0rZuRiDhzZoDMmqwyVAu/g6TlZQHcQlsaOiv6ZzoNMJvnZuEmbiRAX5jMW+jDK58iKXKV6YjR
u95T2p1beYU1ayLXlv1Hh8qifPvixYcdr79iQM/FZyP13q+GcINnhQFSLA1UAmfSJekyP/J5tFBC
mnzm5EbRwVJUcXo852XhP4nrLpt6nAiD6Slre1NvVQ==
=iGth
-----END PGP SIGNATURE-----

--------------VZRp9D1IR1yt0or0Pg0wP3VK--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 14:56:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 14:56:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628865.980762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0NUi-0004yz-7F; Tue, 07 Nov 2023 14:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628865.980762; Tue, 07 Nov 2023 14: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 1r0NUi-0004ys-4o; Tue, 07 Nov 2023 14:55:56 +0000
Received: by outflank-mailman (input) for mailman id 628865;
 Tue, 07 Nov 2023 14: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 1r0NUh-0004yi-Hv; Tue, 07 Nov 2023 14:55: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 1r0NUh-0005bG-7S; Tue, 07 Nov 2023 14:55: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 1r0NUg-0000Ro-Ph; Tue, 07 Nov 2023 14:55:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0NUg-0006ZW-Ol; Tue, 07 Nov 2023 14: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=Ppa1sUKiCmqndPhDS3mmO7Q/x+Mqgbmraqvh6jkvb3g=; b=mSdeIZRcvbnvUxNg16JKmDKEBX
	I02WtL41KI369qCL28oxhAHRko8jNRrhtmdIrz6Ui/DoJfWcAWfkwAjDixtto1WX/zKBLF1bTc9Bv
	S4CSNwftB2VObStnkCT9ZcRExcG4u3tR4Fhv7WvpK//zCuAWO/iRis+XrEWcfMVGButg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183705-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183705: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7
X-Osstest-Versions-That:
    xen=de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 14:55:54 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7
baseline version:
 xen                  de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a

Last test of basis   183697  2023-11-06 23:00:27 Z    0 days
Testing same since   183705  2023-11-07 11:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   de1cc5102b..fab51099a1  fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:18:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:18:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628875.980773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0NqH-0001z4-W3; Tue, 07 Nov 2023 15:18:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628875.980773; Tue, 07 Nov 2023 15:18: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 1r0NqH-0001yx-TE; Tue, 07 Nov 2023 15:18:13 +0000
Received: by outflank-mailman (input) for mailman id 628875;
 Tue, 07 Nov 2023 15:18: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=QZVA=GU=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r0NqG-0001xa-Ic
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:18:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dc708670-7d80-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 16:18:10 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.230.152])
 by support.bugseng.com (Postfix) with ESMTPSA id B35AD4EE0747;
 Tue,  7 Nov 2023 16:18:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc708670-7d80-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 v3] xen/string: address violations of MISRA C:2012 Rules 8.2 and 8.3
Date: Tue,  7 Nov 2023 16:18:02 +0100
Message-Id: <d28ea15aa8d36622548b433d5fb6f19dd521bdfb.1699369270.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names and make function declarations and
definitions consistent.
Mismatches between parameter names "count" and "n" are resolved
in favor of "n", being the same name used by the C standard.

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v3:
  - applied changes discussed in the following thread
    https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg00318.html
Changes in v2:
  - memset() adjusted.
---
 xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
 xen/lib/memcpy.c         |  6 +++---
 xen/lib/memmove.c        | 12 ++++++------
 xen/lib/memset.c         |  6 +++---
 4 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
index b4d2217a96..bd4a8f48e9 100644
--- a/xen/include/xen/string.h
+++ b/xen/include/xen/string.h
@@ -12,27 +12,27 @@
 #define strncpy __xen_has_no_strncpy__
 #define strncat __xen_has_no_strncat__
 
-size_t strlcpy(char *, const char *, size_t);
-size_t strlcat(char *, const char *, size_t);
-int strcmp(const char *, const char *);
-int strncmp(const char *, const char *, size_t);
-int strcasecmp(const char *, const char *);
-int strncasecmp(const char *, const char *, size_t);
-char *strchr(const char *, int);
-char *strrchr(const char *, int);
-char *strstr(const char *, const char *);
-size_t strlen(const char *);
-size_t strnlen(const char *, size_t);
-char *strpbrk(const char *, const char *);
-char *strsep(char **, const char *);
-size_t strspn(const char *, const char *);
-
-void *memset(void *, int, size_t);
-void *memcpy(void *, const void *, size_t);
-void *memmove(void *, const void *, size_t);
-int memcmp(const void *, const void *, size_t);
-void *memchr(const void *, int, size_t);
-void *memchr_inv(const void *, int, size_t);
+size_t strlcpy(char *dest, const char *src, size_t size);
+size_t strlcat(char *dest, const char *src, size_t size);
+int strcmp(const char *cs, const char *ct);
+int strncmp(const char *cs, const char *ct, size_t count);
+int strcasecmp(const char *s1, const char *s2);
+int strncasecmp(const char *s1, const char *s2, size_t len);
+char *strchr(const char *s, int c);
+char *strrchr(const char *s, int c);
+char *strstr(const char *s1, const char *s2);
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t count);
+char *strpbrk(const char *cs,const char *ct);
+char *strsep(char **s, const char *ct);
+size_t strspn(const char *s, const char *accept);
+
+void *memset(void *s, int c, size_t n);
+void *memcpy(void *dest, const void *src, size_t n);
+void *memmove(void *dest, const void *src, size_t n);
+int memcmp(const void *cs, const void *ct, size_t count);
+void *memchr(const void *s, int c, size_t n);
+void *memchr_inv(const void *s, int c, size_t n);
 
 #include <asm/string.h>
 
diff --git a/xen/lib/memcpy.c b/xen/lib/memcpy.c
index afb322797d..5476121c0d 100644
--- a/xen/lib/memcpy.c
+++ b/xen/lib/memcpy.c
@@ -8,16 +8,16 @@
  * memcpy - Copy one area of memory to another
  * @dest: Where to copy to
  * @src: Where to copy from
- * @count: The size of the area.
+ * @n: The size of the area.
  *
  * You should not use this function to access IO space, use memcpy_toio()
  * or memcpy_fromio() instead.
  */
-void *(memcpy)(void *dest, const void *src, size_t count)
+void *(memcpy)(void *dest, const void *src, size_t n)
 {
 	char *tmp = (char *) dest, *s = (char *) src;
 
-	while (count--)
+	while (n--)
 		*tmp++ = *s++;
 
 	return dest;
diff --git a/xen/lib/memmove.c b/xen/lib/memmove.c
index 1ab79dfb28..99804352e6 100644
--- a/xen/lib/memmove.c
+++ b/xen/lib/memmove.c
@@ -8,23 +8,23 @@
  * memmove - Copy one area of memory to another
  * @dest: Where to copy to
  * @src: Where to copy from
- * @count: The size of the area.
+ * @n: The size of the area.
  *
  * Unlike memcpy(), memmove() copes with overlapping areas.
  */
-void *(memmove)(void *dest, const void *src, size_t count)
+void *(memmove)(void *dest, const void *src, size_t n)
 {
 	char *tmp, *s;
 
 	if (dest <= src) {
 		tmp = (char *) dest;
 		s = (char *) src;
-		while (count--)
+		while (n--)
 			*tmp++ = *s++;
 	} else {
-		tmp = (char *) dest + count;
-		s = (char *) src + count;
-		while (count--)
+		tmp = (char *) dest + n;
+		s = (char *) src + n;
+		while (n--)
 			*--tmp = *--s;
 	}
 
diff --git a/xen/lib/memset.c b/xen/lib/memset.c
index e86afafd02..48a072cb51 100644
--- a/xen/lib/memset.c
+++ b/xen/lib/memset.c
@@ -8,15 +8,15 @@
  * memset - Fill a region of memory with the given value
  * @s: Pointer to the start of the area.
  * @c: The byte to fill the area with
- * @count: The size of the area.
+ * @n: The size of the area.
  *
  * Do not use memset() to access IO space, use memset_io() instead.
  */
-void *(memset)(void *s, int c, size_t count)
+void *(memset)(void *s, int c, size_t n)
 {
 	char *xs = (char *) s;
 
-	while (count--)
+	while (n--)
 		*xs++ = c;
 
 	return s;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:21:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:21:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628879.980783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0NtD-0003gh-ES; Tue, 07 Nov 2023 15:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628879.980783; Tue, 07 Nov 2023 15:21: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 1r0NtD-0003ga-AV; Tue, 07 Nov 2023 15:21:15 +0000
Received: by outflank-mailman (input) for mailman id 628879;
 Tue, 07 Nov 2023 15:21: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0NtC-0003gS-D4
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:21:14 +0000
Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com
 [2a00:1450:4864:20::52d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48fdea95-7d81-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 16:21:12 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-53df747cfe5so10001504a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:21:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48fdea95-7d81-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699370472; x=1699975272; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3OsLQXgxyFnLft3eanu6Eq7M/x1KdPiNT5ZvR3pqvK4=;
        b=HcL/FlvylpsEoXCJcvy2prsEdIslvr70MWj7JYQTyxg78/PVw4FxhCJZEPOoP5l09y
         uIZR5nCsUd5i9Gn2tBHygW9Ku+2n8x7IzXfQYTDIm3lUZ1jOXk3NjJTXg8mYQzne6sfd
         gBpwDavdc4NRjn71J9tvA+8XgqYDn80WbKtTmQbAfkIoGCWFPGPhrvVs1ByYeS2gRYGC
         C89MKvw4jzYPogf1bPllwAssBrbpn4cPJjvdV7khoc93S+Ity4PeMVbS+OpbdwFN/IeH
         xrAlUXzpLY1TUyMkHAkVhp7BopERpVl/HbHi6jqtrqu2gH0NkVeG7Cx5aIdzF1xV86Cq
         t7fg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699370472; x=1699975272;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3OsLQXgxyFnLft3eanu6Eq7M/x1KdPiNT5ZvR3pqvK4=;
        b=r/zW3pPxiAzFNOqvpcDgBpLDc7IaV3x0cn/jyc1UzmUokf6kJns3tlcf9jDlNBUefN
         4sM5OYcDbAcGMUD58pshZ4hgyhe1WzBhL/y3cVPtFRCCF+9yzuYm28VOAsBWPjHeIe7Z
         Ufng7Tlf+HppYV60HuRDXBQ8gozN+1gvJ2iuq6lZ7PxuahexbRjid3DIZC6dSpc2TGxv
         MhSetWnuuBxObwCDrG44T+MFTPg1domvCF177uDXQm7sc6GFNpzPsG51QaHPWsc5+8pd
         ZZ0DAPf6A1EK5O/4ZHGBdV7P4rB92wPAfhPs+czGiLIcDToBY4bIOtBGAKjC7k0QSi2z
         XoEA==
X-Gm-Message-State: AOJu0Yx5dUo6FXxlUBZAha8GLmoJlh3tLOmNon1pmcFZBjFGhuhjCkaA
	lzMf4u0wm03izTPTDQMCEw+W8W3Y+cREnLPMdpE=
X-Google-Smtp-Source: AGHT+IH2E5v1VtRHzjqsWmOypqYBCS103Wol/RfhYnEbc5v/xoq+Vo3QqK+RvtuWxBVn55ZLJPmcIRZ87ddSUe2d5lU=
X-Received: by 2002:a50:cddd:0:b0:53e:30dc:ef59 with SMTP id
 h29-20020a50cddd000000b0053e30dcef59mr21603118edj.10.1699370471849; Tue, 07
 Nov 2023 07:21:11 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-13-jgross@suse.com>
 <CAKf6xpt43A6KAsKT_J0CiCnFme2f=OR3tqLgAGWrJE7hhxnHPw@mail.gmail.com>
 <e931f9bd-cbeb-43c3-98a6-7b3dff3af8d3@suse.com> <CAKf6xpsMBkeg4bZBGnur15C5+h3FPYZv9EGvc2xwPj_2qvVKyQ@mail.gmail.com>
In-Reply-To: <CAKf6xpsMBkeg4bZBGnur15C5+h3FPYZv9EGvc2xwPj_2qvVKyQ@mail.gmail.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 10:20:59 -0500
Message-ID: <CAKf6xpvjcR-PwTvGv8tT1rA+PdyUTx-Hv1F82pLEf3WOyAuS6g@mail.gmail.com>
Subject: Re: [PATCH 12/29] tools/xenlogd: add 9pfs stat request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 7, 2023 at 9:48=E2=80=AFAM Jason Andryuk <jandryuk@gmail.com> w=
rote:
>
> On Tue, Nov 7, 2023 at 9:42=E2=80=AFAM Juergen Gross <jgross@suse.com> wr=
ote:
> >
> > On 07.11.23 15:04, Jason Andryuk wrote:
> > > On Wed, Nov 1, 2023 at 5:34=E2=80=AFAM Juergen Gross <jgross@suse.com=
> wrote:
> > >>
> > >> Add the stat request of the 9pfs protocol.
> > >>
> > >> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:21:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:21:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628880.980792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0NtS-00041W-KZ; Tue, 07 Nov 2023 15:21:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628880.980792; Tue, 07 Nov 2023 15: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 1r0NtS-00041P-Hv; Tue, 07 Nov 2023 15:21:30 +0000
Received: by outflank-mailman (input) for mailman id 628880;
 Tue, 07 Nov 2023 15:21: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0NtQ-00040a-RQ
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:21:28 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 51a51fd3-7d81-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 16:21:27 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-53dd752685fso9739774a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:21:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51a51fd3-7d81-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699370486; x=1699975286; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=66YjSom72efHjvoTfSu8bC0QVEwneBsVoOrih9Nkp7g=;
        b=k7IV45eplN/6nbyqzrhKvpqyjzj3+IkGftM6VaExAd74oYIyjXAcfEEgU4Hb+waOvd
         8E/VwbCV6wpNuTqW+Jkw7bsEOv7bWfl9UaG1l0jITGdg0E8DsN53Kto96J08epMBv5Bz
         wkOfA/cH7HhOYU4KH5gNlE28tgGg9ihpoe6T2pWDAYBZlY1YO3LvKzAHPFZLnScdu5ZO
         VGjTTt2QgzTi7MW39ipmk0ypSTO9L/+rOBDPBHNgME/t5NBRUlPsHcPmc73QTBSmljWK
         /OTjLMuAh/+fZk9V3o6ZRrN7tpv68NCa855owQ6lkkG4KQl23MbSGpXbIKp+18yChxSt
         7oXg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699370486; x=1699975286;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=66YjSom72efHjvoTfSu8bC0QVEwneBsVoOrih9Nkp7g=;
        b=Grkx+tQLttJVLSL0TK4p50XO3ctzzWT6rLnwohZAuskA1vIENtHZ3eUV+pFHboZKUa
         Ym205DSTdjN3n/yJCtlYy66kXTdWbBTOD9YpVkvTba5QN3/4wzhAaMz4kLdIwmnVODmN
         TIOMgHmIqKORjj/emv90cqmfyTv/cnp2B45lXJ3bolTcHa8mguS2pyBoY3RJc5FL4n2j
         hK/t5ZiiSNM3CNezIii5EyvR09LFVluugKWiShfu/yaqb/3mhxfyG1N9N4KKK/wBgabi
         02OhfQHXG6ICZYqyi+9mztREFI8mIWJqQE/as5fpTZCNavF8suG7GHm5wREsE3S20ITG
         BauQ==
X-Gm-Message-State: AOJu0YzIJE+eweruk+9koobrrB84jfpL+WTjwdNVlzi3CaohulNDdyVF
	nBnsvE4zFnXs5T6xsvy+3wzyoot9aLoGWjMbamOG5dZo
X-Google-Smtp-Source: AGHT+IHtdkKnRqzEU7m3nTplhUH/gnABQzH+KkKBxvXw3PI5Tjqy0NSa9GfWyyUuzPB7WH7xKJ2smE1nK0jiCOANEis=
X-Received: by 2002:a05:6402:26c5:b0:53e:343a:76bf with SMTP id
 x5-20020a05640226c500b0053e343a76bfmr32095207edd.1.1699370486557; Tue, 07 Nov
 2023 07:21:26 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-14-jgross@suse.com>
 <CAKf6xpvkEAv4RkPB_536=w2ysjuTbja7vsEg_xRTpotNDOGriw@mail.gmail.com> <ce5dca09-206b-4a5f-af27-a27a109f1718@suse.com>
In-Reply-To: <ce5dca09-206b-4a5f-af27-a27a109f1718@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 10:21:13 -0500
Message-ID: <CAKf6xps5w7ZPfycZic5T9rr=cBQe=ek-7FcMpqsXus1SQw_=-A@mail.gmail.com>
Subject: Re: [PATCH 13/29] tools/xenlogd: add 9pfs write request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 7, 2023 at 9:43=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> On 07.11.23 15:10, Jason Andryuk wrote:
> > On Wed, Nov 1, 2023 at 5:54=E2=80=AFAM Juergen Gross <jgross@suse.com> =
wrote:
> >>
> >> Add the write request of the 9pfs protocol.
> >>
> >> Signed-off-by: Juergen Gross <jgross@suse.com>
> >> ---
> >>   tools/xenlogd/io.c | 50 ++++++++++++++++++++++++++++++++++++++++++++=
++
> >>   1 file changed, 50 insertions(+)
> >>
> >> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> >> index 6e92667fab..6b4692ca67 100644
> >> --- a/tools/xenlogd/io.c
> >> +++ b/tools/xenlogd/io.c
> >
> >> @@ -1010,6 +1011,51 @@ static void p9_create(device *device, struct p9=
_header *hdr)
> >>       fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit)=
;
> >>   }
> >>
> >> +static void p9_write(device *device, struct p9_header *hdr)
> >> +{
> >> +    uint32_t fid;
> >> +    uint64_t off;
> >> +    unsigned int len;
> >> +    uint32_t written;
> >> +    void *buf;
> >> +    struct p9_fid *fidp;
> >> +    int ret;
> >> +
> >> +    ret =3D fill_data(device, "ULD", &fid, &off, &len, device->buffer=
);
> >> +    if ( ret !=3D 3 )
> >> +    {
> >> +        p9_error(device, hdr->tag, EINVAL);
> >> +        return;
> >> +    }
> >> +
> >> +    fidp =3D find_fid(device, fid);
> >> +    if ( !fidp || !fidp->opened || fidp->isdir )
> >
> > I think you want an additional check that the fidp is writable.
>
> The open was done with the correct mode. If fidp isn't writable, the writ=
e()
> will fail with the correct errno.

Oh, right.

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:24:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:24:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628889.980803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Nw1-0005Fq-20; Tue, 07 Nov 2023 15:24:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628889.980803; Tue, 07 Nov 2023 15: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 1r0Nw0-0005Fj-VA; Tue, 07 Nov 2023 15:24:08 +0000
Received: by outflank-mailman (input) for mailman id 628889;
 Tue, 07 Nov 2023 15: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0Nvz-0005Fd-Se
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:24:07 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b103310c-7d81-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 16:24:06 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-507f1c29f25so7635957e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:24:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b103310c-7d81-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699370646; x=1699975446; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bEwnZ5SJPA1aKFYGE3GxerxcpbxRzRaflFuPeENRZwY=;
        b=S756CaJsUYSv4oILcNqOYSJuLqhiPAjLpCuCnQOAf3aQocPTNJki8IUdzXOU/CQw7g
         qX4ajYHHKTG2fgkCmiJ50oMVSuwrbDhaUJfma+hbjhdToY0MtEFtN+DQlEbZhryS8NTs
         ysqhXZxa5O9iEM71V27eT5GQQsFlbC1NBNYuAv+c4HzVeOEYyUeABXSPIOPpwHClsrC+
         TWWLQrOZCXOMhCAKoQ8jVmN1nwThtKlEkajRFdknzQA/eTIqmIxMybd4chkoyETO3+fo
         RKTpr6Jbw4P4GC81HC8kvmToTRQclu9V4EpUqLcM0uu4MlLEG1aLopGS6n445XBdl7b7
         mkJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699370646; x=1699975446;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bEwnZ5SJPA1aKFYGE3GxerxcpbxRzRaflFuPeENRZwY=;
        b=nlFQnt/K/1dk7tOXYuqSWm0857e/RvYG9m+4byKDNRaUyqqvGLRp+AqpMX9OmNN/Kd
         jkUb+7qBv2vjLVMOASilN/DAUnNSP3aKurG9Jow9ghZDgpuG8LgI+0qpDfOlIUrHjWoy
         pBKsv8Z+sO8oDBoOFKG1B2Sp/u2z9ZcV67Bv+Q9E0z7E5j6QNXnoUf2zGbWWEFv/QwO2
         ARU6pV4MNiomvpzbff9s4hQgxOlL8NARHVgu3dgfcalfVM1ElvPAss8OG9/87T6JsXZH
         OTZJpvC8opkYvfM0CmVWu6IA+LVKkoHg5DMFwdQRfFvMCw0Wdbyrgfwjpc1+YL6guXnv
         YQVQ==
X-Gm-Message-State: AOJu0Yy6N5IcdEDNSBij7lKfasxiVq33S7muqHwtsqlkAuJKh1haw5Mx
	dLOGQfLqutjcfFNyOwOMm2KkK4NL1nZabvudVdBdxguz
X-Google-Smtp-Source: AGHT+IHJ7zJTDTB8DvIX4Q9mISyCzQ4yD7HgYF7wp0IvNwcY22NWMSUX3CjZQR8lOMEFHEyEK2b86o58itOO96gVV4M=
X-Received: by 2002:a05:6512:ad5:b0:501:bd43:3b9c with SMTP id
 n21-20020a0565120ad500b00501bd433b9cmr30753705lfu.23.1699370646117; Tue, 07
 Nov 2023 07:24:06 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-15-jgross@suse.com>
 <CAKf6xpv7kLgRx=-zeX+249aEkKTXVJMaNiMTHbxK4-8kj1g+xA@mail.gmail.com> <d6b2c593-2836-4d48-ac24-61d423355ac5@suse.com>
In-Reply-To: <d6b2c593-2836-4d48-ac24-61d423355ac5@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 10:23:53 -0500
Message-ID: <CAKf6xpvj0KGMzZmpion39p-ujg4_u=KAer5V9+Q8Fd1c--zY=g@mail.gmail.com>
Subject: Re: [PATCH 14/29] tools/xenlogd: add 9pfs read request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 7, 2023 at 9:49=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> On 07.11.23 15:31, Jason Andryuk wrote:
> > On Wed, Nov 1, 2023 at 5:35=E2=80=AFAM Juergen Gross <jgross@suse.com> =
wrote:
> >>
> >> Add the read request of the 9pfs protocol.
> >>
> >> For now support only reading plain files (no directories).
> >>
> >> Signed-off-by: Juergen Gross <jgross@suse.com>
> >> ---
> >>   tools/xenlogd/io.c | 60 ++++++++++++++++++++++++++++++++++++++++++++=
++
> >>   1 file changed, 60 insertions(+)
> >>
> >> diff --git a/tools/xenlogd/io.c b/tools/xenlogd/io.c
> >> index 6b4692ca67..b3f9f96bcc 100644
> >> --- a/tools/xenlogd/io.c
> >> +++ b/tools/xenlogd/io.c
> >
> >> @@ -1011,6 +1012,61 @@ static void p9_create(device *device, struct p9=
_header *hdr)
> >>       fill_buffer(device, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit)=
;
> >>   }
> >>
> >> +static void p9_read(device *device, struct p9_header *hdr)
> >> +{
> >> +    uint32_t fid;
> >> +    uint64_t off;
> >> +    unsigned int len;
> >> +    uint32_t count;
> >> +    void *buf;
> >> +    struct p9_fid *fidp;
> >> +    int ret;
> >> +
> >> +    ret =3D fill_data(device, "ULU", &fid, &off, &count);
> >> +    if ( ret !=3D 3 )
> >> +    {
> >> +        p9_error(device, hdr->tag, EINVAL);
> >> +        return;
> >> +    }
> >> +
> >> +    fidp =3D find_fid(device, fid);
> >> +    if ( !fidp || !fidp->opened )
> >> +    {
> >> +        p9_error(device, hdr->tag, EBADF);
> >> +        return;
> >> +    }
> >> +
> >
> > I think you want to mode check here for readability.
>
> Same reasoning as for the write case: read() will do it for me.
>
> >
> >> +    if ( fidp->isdir )
> >> +    {
> >> +        p9_error(device, hdr->tag, EOPNOTSUPP);
> >> +        return;
> >
> > Hmmm, 9P2000.u supports read on a dir.
> > https://ericvh.github.io/9p-rfc/rfc9p2000.html#anchor30
> > """
> > For directories, read returns an integral number of direc- tory
> > entries exactly as in stat (see stat(5)), one for each member of the
> > directory. The read request message must have offset equal to zero or
> > the value of offset in the previous read on the directory, plus the
> > number of bytes returned in the previous read. In other words, seeking
> > other than to the beginning is illegal in a directory (see seek(2)).
> > """
>
> This is part of "only operations needed for Xenstore-stubdom are implemen=
ted."
> For supporting Linux guests or other stubdoms directory reading must be a=
dded,
> of course.
>
> >
> >> +    }
> >> +    else
> >
> > Since the above is a return, maybe remove the else and un-indent?
> > Though maybe you don't want to do that if you want to implement read
> > on a dir.
>
> Correct.
>
> >
> >> +    {
> >> +        len =3D count;
> >> +        buf =3D device->buffer + sizeof(*hdr) + sizeof(uint32_t);
> >> +
> >> +        while ( len !=3D 0 )
> >> +        {
> >> +            ret =3D pread(fidp->fd, buf, len, off);
> >> +            if ( ret <=3D 0 )
> >> +                break;
> >> +            len -=3D ret;
> >> +            buf +=3D ret;
> >> +            off +=3D ret;
> >> +        }
> >> +        if ( ret && len =3D=3D count )
> >
> > This seems wrong to me - should this be ( ret < 0 && len =3D=3D count )=
 to
> > indicate an error on the first pread?  Any partial reads would still
> > return their data?
>
> If len =3D=3D count there was no partial read, as this would have reduced=
 len.

Right.  I found it confusing since ret > 0 is not an error.  As you
wrote, len !=3D count in that case though.

Preferably with ret < 0:
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:40:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:40:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628893.980814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OBe-0001sY-EL; Tue, 07 Nov 2023 15:40:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628893.980814; Tue, 07 Nov 2023 15:40: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 1r0OBe-0001sR-93; Tue, 07 Nov 2023 15:40:18 +0000
Received: by outflank-mailman (input) for mailman id 628893;
 Tue, 07 Nov 2023 15:40: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 1r0OBd-0001sH-T1; Tue, 07 Nov 2023 15:40: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 1r0OBd-0006lZ-Lw; Tue, 07 Nov 2023 15:40: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 1r0OBd-00027J-9E; Tue, 07 Nov 2023 15:40:17 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0OBd-0003e5-8q; Tue, 07 Nov 2023 15:40: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=8dqxe1PfLSRc7w8GpjJkIetz6Vjnnbu7aO4tFEiAFq0=; b=0P3uwrt8qJs8OjTkFMZp9bZO41
	/upMCAEfpEl0f4K8uF5Bg38MC2UdddsABnXM+0wDRaXSj7T+JJURl23i3qBCvqHrMlQifH9KbjnS9
	ZMdbUSCqt+WmCXGosHwoYOeTDp7k0+OzMm4avU2G+PDTRvwpkn9QrJRk5WTY33C0Tflo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183703-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183703: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-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: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-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-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-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-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
    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-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a
X-Osstest-Versions-That:
    xen=1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 15:40:17 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183695
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183695
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183695
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183695
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183695
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183695
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183695
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183695
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183695
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183695
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183695
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183695
 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      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-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-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-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-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-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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  16 saverestore-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-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-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a
baseline version:
 xen                  1f849edc2f9ca7dc2f9ed7b0585c31bd6b81d7ef

Last test of basis   183695  2023-11-06 19:37:11 Z    0 days
Testing same since   183703  2023-11-07 05:01:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Orzel <michal.orzel@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                                          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                              starved 
 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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   1f849edc2f..de1cc5102b  de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a -> master


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:47:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:47:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628904.980826 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OIK-0003lh-6N; Tue, 07 Nov 2023 15:47:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628904.980826; Tue, 07 Nov 2023 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 1r0OIK-0003la-3r; Tue, 07 Nov 2023 15:47:12 +0000
Received: by outflank-mailman (input) for mailman id 628904;
 Tue, 07 Nov 2023 15:47: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0OIJ-0003lR-0p
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:47:11 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e950ea12-7d84-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 16:47:10 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-544455a4b56so5716197a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:47:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e950ea12-7d84-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699372029; x=1699976829; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=a/KrJv8VKc6B+DrXcFDoO4tRmGqqBxGebKKms2s2kcc=;
        b=DUPgL+xZ9HZCTfVAKekc/gtgC1Cy7dNtnizGNqgZ3XbkktUbFP9XbGiqa5WSsH8rSH
         b3j0BkJSFD6nmnYRvpSiSQVzM1X4Y8Or4Hzy/t78UGv8ygEdJVpqCx+er5IQt/mIXm5T
         UZd0P9upMp2v791WHQKyX3lWR4FmKFIPW2teyElfq6LleQXKRxjaB8Bm7fCDUDunVymy
         fPtgbV2jJdqKKGm1kECReo43p2OlKCsmAPB1SjzqjF+8u0XMrIJEH3r/WlYJhKjs27fk
         zBbYscYsQeKJLbON1DzngHFAeQBQ9m9S7SDJFwU9Z8z22ivKq0g01WCACEFswjE3AfE2
         e0gQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699372029; x=1699976829;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=a/KrJv8VKc6B+DrXcFDoO4tRmGqqBxGebKKms2s2kcc=;
        b=ULit/6h4mIdEfEyI7wPgQo40/hTGap6j0lBdLaENDM3nrCgDAnSHjxdOlr0MSvQBDu
         i7CPtVHHf0/LpYWAMv+72OIf7aKySR98y5tb0Sc4V9PRMoyTYIzdvldrGV0Z1g+KvQ2l
         toigNrwOMkGgnwbQh3BzE127Uz0gtWM8oKpXaYgZVSXkebx+HwqYrDqpjl+wawAa6tqC
         TSUJDn7kvVPbBekDl1Er3qyOdQYab2J9yMXhRTPDMKcZPeC5lO5zQbXSa5PWAXunOjPc
         Ze6aIkTy+OJ/FDQHyQof5paULTsgrWjwtWbxkieo9jq8NOMdjovWry2v1IjUYdp7iiQg
         dWhg==
X-Gm-Message-State: AOJu0YwUo2sWJQo85LwTIiPmUVReXlKIMLqVoGXwafRZuJo4J2TMXlBi
	3SVJ+nv/6Cv/5c0qXERHKV6Ek9jlyzIsAp4bj2P0JSZW
X-Google-Smtp-Source: AGHT+IHdDGxQFUrGo/jp0TqLT4WJrYCiq+W67StTvHIn0dYyw6Aagz6Zo+Ha6SvFRAf3e8DxlbVG1VwHkb4gmUg3plI=
X-Received: by 2002:aa7:d156:0:b0:533:c55f:5830 with SMTP id
 r22-20020aa7d156000000b00533c55f5830mr24716258edo.28.1699372029307; Tue, 07
 Nov 2023 07:47:09 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-16-jgross@suse.com>
In-Reply-To: <20231101093325.30302-16-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 10:46:57 -0500
Message-ID: <CAKf6xpvo288OX0xJdjms9xkfuuaqMh_CdBBtSvFWBVbOr8r-bw@mail.gmail.com>
Subject: Re: [PATCH 15/29] tools/libs/light: add backend type for 9pfs PV devices
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:51=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Make the backend type of 9pfs PV devices configurable. The default is
> "qemu" with the related Xenstore backend-side directory being "9pfs".
>
> Add another type "xenlogd" with the related Xenstore backend-side
> directory "xen_9pfs".
>
> As additional security features it is possible to specify:
> - "max-space" for limiting the maximum space consumed on the filesystem
>   in MBs
> - "max-files" for limiting the maximum number of files in the
>   filesystem
> - "max-open-files" for limiting the maximum number of concurrent open
>   files
>
> For convenience "auto-delete" is available to let the backend delete the
> oldest file of the guest in case otherwise "max-space" or "max-files"
> would be violated.
>
> The xenlogd daemon will be started by libxenlight automatically when
> the first "xen_9pfs" device is being created.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

With Xentore paths updated to "libxl/..." as mentioned elsewhere:

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:49:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628910.980841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OKX-0004iU-QN; Tue, 07 Nov 2023 15:49:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628910.980841; Tue, 07 Nov 2023 15:49: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 1r0OKX-0004h7-N8; Tue, 07 Nov 2023 15:49:29 +0000
Received: by outflank-mailman (input) for mailman id 628910;
 Tue, 07 Nov 2023 15:49: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=l2M1=GU=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r0OKW-0004f2-F9
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:49:28 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a6180d2-7d85-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 16:49:26 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-407da05f05aso40732825e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:49:26 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 n26-20020a1c721a000000b0040849ce7116sm15809852wmc.43.2023.11.07.07.49.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Nov 2023 07:49:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a6180d2-7d85-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699372165; x=1699976965; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=7QLYmYWtMJ62e0JFgj800/8nLr0ylkXl7+nFaCaFD6M=;
        b=Y1NhyE380SQb7GYcXK9wrPsTIYBSry3Cj9D1grWAaqdmprALxjWR5riPGhfIhTlrQL
         v7GL8t7vT1atsR+hV4le+7SqBOk96Q4R6zH49HTetwRCtoR9sPw9D0D+AGOpU8deYNfo
         GLyPBuhTEkm4UE7u+k+eRuGVHvhLT4Sf4N6hQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699372165; x=1699976965;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=7QLYmYWtMJ62e0JFgj800/8nLr0ylkXl7+nFaCaFD6M=;
        b=gcyQlNlekjBNXdXZE2hUTiYRU2N/KagG1/WZNFmkWwpL3x8d50xO+iBsAOIN3t86Yn
         LqtMl+0vJbpPqJ4Rfae7PlPkHlTvmR3bkf/O85L7yWKRkYN9yf4hCPpZS0YmyLhVvFF8
         rzvd+ByPzSmD7mY17XUp04oKu8AchnJmhN3bGqtdIIE87euw7LljxAPgmtQDPBqN9qvO
         7KMUSuN8uOKpY4qvaa5Xo46NNCGhBQa7q/LYsnzUN6Fqv7EC4iAnW3kkoGgFCy0mxceT
         rPQy+GX5yNC8IDa2CYp1nIN5FzNVXQUPq2epj4U58rEky6l6lSy0pDHzZYd9dos8CwKS
         hwEQ==
X-Gm-Message-State: AOJu0YzDHR7fqXotVk1zaZ/h7RpCIzF8fBzWHrnJ8JmXQ0wJuUBkBjH/
	4jnyKbtTK4yrde0EeCjn6jKqt6c+kTEEhvZw+iQ=
X-Google-Smtp-Source: AGHT+IGzHLC6XZxItKAQbIOb9FG4NXEkVbirOPLd4+1V+M6DMxzLsw+ximlZaNVOzhIZqGnykuLeVw==
X-Received: by 2002:a05:600c:2109:b0:407:3b6d:b561 with SMTP id u9-20020a05600c210900b004073b6db561mr3002422wml.9.1699372164771;
        Tue, 07 Nov 2023 07:49:24 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 0/7] Cleanup and code duplication removal in xenguest
Date: Tue,  7 Nov 2023 15:49:14 +0000
Message-Id: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

NOTE: This series is still under test

This series tries to bind the current xc_cpu_policy_t and its serialization
buffers. Having them separate makes it hard to extend of modify the
serialized policy structure and needlessly leaks details in places that
don't need them, causing a lot of boilerplate and code duplication. The
resulting code is >100LoC leaner.

The series is not as aggressive as it could be, but it's enough to unlock
future work regarding cpu policy extensions and ought to make toolstack
interactions a lot faster.

Patch 1: Remove the fixed buffers in xc_cpu_policy_t and create pointers
         populated during xc_cpu_policy_init() instead.
Patch 2: Removes boilerplate by making use of the newly created buffers
Patch 3: Adds a couple of helpers to keep the 2 forms inside the
         xc_cpu_policy_t object consistently in sync.
Patch 4: Splits the common set_cpu_policy wrapper in 2. One to send the
         deserialized form of the policy object (after serializing it
         internally first) and another to send the serialized form
         directly.
Patch 5: Uses the previous patches to avoid a lot of boilerplate in the
         main policy manipulation routine.
Patch 6: Remove code duplication in the xend-style override setters
Patch 7: Final cleanup so the get_cpu_policy wrappers can operate on policy
         objects directly

Alejandro Vallejo (7):
  tools/xenguest: Dynamically allocate xc_cpu_policy_t contents
  tools/xg: Simplify write_x86_cpu_policy_records()
  tools/xg: Add self-(de)serialisation functions for cpu_policy
  tools/xg: Split xc_cpu_policy_set_domain()
  tools/xg: Streamline xc_cpuid_apply_policy()
  tools/xg: Simplify xc_cpuid_xend_policy() and xc_msr_policy()
  tools/xg: Simplify hypercall stubs

 tools/include/xenguest.h             |  11 +-
 tools/libs/guest/xg_cpuid_x86.c      | 626 +++++++++++----------------
 tools/libs/guest/xg_private.h        |  17 +-
 tools/libs/guest/xg_sr_common_x86.c  |  55 +--
 tools/misc/xen-cpuid.c               |   2 +-
 tools/tests/tsx/test-tsx.c           |  61 +--
 xen/include/xen/lib/x86/cpu-policy.h |   2 +-
 7 files changed, 318 insertions(+), 456 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:49:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628911.980849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OKY-0004pe-6M; Tue, 07 Nov 2023 15:49:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628911.980849; Tue, 07 Nov 2023 15:49: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 1r0OKX-0004o2-Vy; Tue, 07 Nov 2023 15:49:29 +0000
Received: by outflank-mailman (input) for mailman id 628911;
 Tue, 07 Nov 2023 15: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=l2M1=GU=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r0OKW-0004f1-Vp
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:49:28 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b954827-7d85-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 16:49:28 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-40839652b97so43425785e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:49:28 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 n26-20020a1c721a000000b0040849ce7116sm15809852wmc.43.2023.11.07.07.49.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Nov 2023 07:49:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b954827-7d85-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699372167; x=1699976967; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4PH+ltmnAqqEVilWJSYQVlpn9gAh+kNEqLJKqQ8kDow=;
        b=F1rw5aUbAnsg3ci/ltsmy72UzPYihqy5pKD0OuAiPDyx1+XV2jNnm5hR+uOnzUDXwy
         adrcNEcKd2mgJJiJEiijqJYWgNSGGL9HldNHjxbLpEk/O+MAJSO5YLU6cLFi9teQv8+F
         rBsDzFla/v5kV458L14alaxpNMjiYBqjQQ/2w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699372167; x=1699976967;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4PH+ltmnAqqEVilWJSYQVlpn9gAh+kNEqLJKqQ8kDow=;
        b=hFaRYxZrl5p47fE9IaYTDjyGY6rC/DhBPPmTPL3YmyY4mD8oekN4W4Pv0UwjqmHJsg
         e4GBhx9Vhd/FUF9kpq0pmsOBh1GkM7Fmmd5rxAE4X6NgyaBiCdpwLvhlDD4TIMb/80SH
         m2XTyQ09pSIlPT0ClcWNJ0xTzMGonxYBwjooUY2TUlO7VqLz5OQTTXoHSVNO0dVexCsE
         O3YRcPoao0YcesoMxe4xIMNW1C/18JUHfo0XAp9PI1X3D05pcCsBsT+9tHrr6b5IXRlx
         S19ykp1fjTX04mGiV3wWWedXNrbbwN+5PcqEfVp+OryRys+rmAp1HbNmzwf+PHYVMq1p
         DX8w==
X-Gm-Message-State: AOJu0YwngIF2Lw+J9crY8jA89Pqy14YAGeOih480bHgN24Mnp5hD60kE
	ERWvPqnFiQisJe342SlMgejfzsQNxtzLj+f+xYc=
X-Google-Smtp-Source: AGHT+IHbGl1ImjqsJJC/LtJ/XxrNw1Yq7Y39EFnxTRFMDZvidth2gihrppp3vxakaCZKl4LTvY/Ykg==
X-Received: by 2002:a05:600c:3112:b0:408:575e:f24f with SMTP id g18-20020a05600c311200b00408575ef24fmr2701397wmo.28.1699372166576;
        Tue, 07 Nov 2023 07:49:26 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 2/7] tools/xg: Simplify write_x86_cpu_policy_records()
Date: Tue,  7 Nov 2023 15:49:16 +0000
Message-Id: <20231107154921.54979-3-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
References: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With the policy automatically getting appropriate serialised buffer sizes,
we can remove boilerplate from this function. Furthermore, the extra
dynamic allocations aren't needed anymore as the serialised buffers inside
the policy can be used instead.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/libs/guest/xg_sr_common_x86.c | 55 +++++++++--------------------
 1 file changed, 17 insertions(+), 38 deletions(-)

diff --git a/tools/libs/guest/xg_sr_common_x86.c b/tools/libs/guest/xg_sr_common_x86.c
index ad63c675ed..c8fd64775f 100644
--- a/tools/libs/guest/xg_sr_common_x86.c
+++ b/tools/libs/guest/xg_sr_common_x86.c
@@ -44,55 +44,36 @@ int handle_x86_tsc_info(struct xc_sr_context *ctx, struct xc_sr_record *rec)
 
 int write_x86_cpu_policy_records(struct xc_sr_context *ctx)
 {
+    int rc = -1;
     xc_interface *xch = ctx->xch;
-    struct xc_sr_record cpuid = { .type = REC_TYPE_X86_CPUID_POLICY, };
-    struct xc_sr_record msrs  = { .type = REC_TYPE_X86_MSR_POLICY, };
-    uint32_t nr_leaves = 0, nr_msrs = 0;
-    xc_cpu_policy_t *policy = NULL;
-    int rc;
-
-    if ( xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs) < 0 )
-    {
-        PERROR("Unable to get CPU Policy size");
-        return -1;
-    }
+    struct xc_sr_record record;
+    xc_cpu_policy_t *policy = xc_cpu_policy_init(xch);
 
-    cpuid.data = malloc(nr_leaves * sizeof(xen_cpuid_leaf_t));
-    msrs.data  = malloc(nr_msrs   * sizeof(xen_msr_entry_t));
-    policy = xc_cpu_policy_init(xch);
-    if ( !cpuid.data || !msrs.data || !policy )
-    {
-        ERROR("Cannot allocate memory for CPU Policy");
-        rc = -1;
-        goto out;
-    }
-
-    if ( xc_cpu_policy_get_domain(xch, ctx->domid, policy) )
+    if ( !policy ||
+         (rc = xc_cpu_policy_get_domain(xch, ctx->domid, policy)) )
     {
         PERROR("Unable to get d%d CPU Policy", ctx->domid);
-        rc = -1;
-        goto out;
-    }
-    if ( xc_cpu_policy_serialise(xch, policy, cpuid.data, &nr_leaves,
-                                 msrs.data, &nr_msrs) )
-    {
-        PERROR("Unable to serialize d%d CPU Policy", ctx->domid);
-        rc = -1;
         goto out;
     }
 
-    cpuid.length = nr_leaves * sizeof(xen_cpuid_leaf_t);
-    if ( cpuid.length )
+    record = (struct xc_sr_record){
+        .type = REC_TYPE_X86_CPUID_POLICY, .data = policy->leaves.buf,
+        .length = policy->leaves.len * sizeof(*policy->leaves.buf),
+    };
+    if ( record.length )
     {
-        rc = write_record(ctx, &cpuid);
+        rc = write_record(ctx, &record);
         if ( rc )
             goto out;
     }
 
-    msrs.length = nr_msrs * sizeof(xen_msr_entry_t);
-    if ( msrs.length )
+    record = (struct xc_sr_record){
+        .type = REC_TYPE_X86_MSR_POLICY, .data = policy->msrs.buf,
+        .length = policy->msrs.len * sizeof(*policy->msrs.buf),
+    };
+    if ( record.length )
     {
-        rc = write_record(ctx, &msrs);
+        rc = write_record(ctx, &record);
         if ( rc )
             goto out;
     }
@@ -100,8 +81,6 @@ int write_x86_cpu_policy_records(struct xc_sr_context *ctx)
     rc = 0;
 
  out:
-    free(cpuid.data);
-    free(msrs.data);
     xc_cpu_policy_destroy(policy);
 
     return rc;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:49:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628909.980837 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OKX-0004fR-JP; Tue, 07 Nov 2023 15:49:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628909.980837; Tue, 07 Nov 2023 15:49: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 1r0OKX-0004fK-GI; Tue, 07 Nov 2023 15:49:29 +0000
Received: by outflank-mailman (input) for mailman id 628909;
 Tue, 07 Nov 2023 15:49: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=l2M1=GU=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r0OKW-0004f1-9m
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:49:28 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3aec3b6f-7d85-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 16:49:27 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-40891d38e3fso40796825e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:49:26 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 n26-20020a1c721a000000b0040849ce7116sm15809852wmc.43.2023.11.07.07.49.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Nov 2023 07:49:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3aec3b6f-7d85-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699372166; x=1699976966; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BkvpmHSMusCYlZr4kFl4G1ly5WpvU3SZ+lcbW7voFmc=;
        b=epQ4X2GWFarSYAFXZd3PRTscNQ818x0uDBsDXFpksDzhlq5VEG04RU//7+n6hG8K6W
         yfTzXqBBNV1VThvE8ib8HrGCdn3i/BlfyVD7f3ZCxWgHmJ4alKCAMjTXNyD6trSd+UUn
         shH510ZzGE/LHZAslD/wI/aiF+UTzpeefL4LE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699372166; x=1699976966;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BkvpmHSMusCYlZr4kFl4G1ly5WpvU3SZ+lcbW7voFmc=;
        b=dHJG+/lCsgOm+Hd1GMLYs4VpImUmyIQjhcgfiqtXi77tf3Su6sL4E4ZY7O4iWbXvKm
         7g5/BFOf7gT0UBZNhI4BgwgFnl35vWzK3COr5cpZ8HoUy+dUvEtoUb4ZbIfUvtnNrgKb
         p0KoZ1Z0ym7osqUcPhNkW7CT2sR40ekMwrZFWywpOpUGssSVu2/VDZiM39SXRbTm8kJn
         6qP/CFLd9YP/Ho5Ur//luzrqGb8kTzEGMxgy7cHsf6EBMBmQsWfPKtIr6+AC9rdRujGj
         KMAw/fyCrbS73HPw09MfYVb3WIljykqTmpMyobnj3JjhMxFlXhkmLlFIAhMcVFeNxl1Q
         6smQ==
X-Gm-Message-State: AOJu0YznuzVXjBkIJ/LDkMsByjO2YXDc/ekDbzBK674yPhxtnIHfpamZ
	AOe50lXaVDewQrgO7FhxPAw2RtDq0wj7gA09LqI=
X-Google-Smtp-Source: AGHT+IHGdLuZ0IMWw9OVnDgXTXpSs5u56jgwjA0OzJ85L6nEi9Q0Pm8CL1hsz8lZ4aKxo8fFX7HnpQ==
X-Received: by 2002:a05:600c:3c87:b0:405:4776:735a with SMTP id bg7-20020a05600c3c8700b004054776735amr3159633wmb.2.1699372165985;
        Tue, 07 Nov 2023 07:49:25 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 1/7] tools/xenguest: Dynamically allocate xc_cpu_policy_t contents
Date: Tue,  7 Nov 2023 15:49:15 +0000
Message-Id: <20231107154921.54979-2-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
References: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is part of a larger effort to reduce technical debt in this area and
prevent policy internals from leaking in plumbing code that needs not be
aware of them.

This patch turns the internal static buffers into dynamic ones and performs
the allocations based on policy sizes probed using a hypercall. This is
meant to help dealing with mismatched versions of toolstack/Xen, as no
assumptions are made with regards of the sizes of the buffers. With this,
we are now able to use these buffers for serialization instead of
out-of-band data structures.

The scheme is simple and involves keeping track of the buffer occupancy
through the "len" field and its capacity through the "allocated" field;
think "vector" in higher-level languages. Both trackers refer to entries
rather than octets because most of the code deals in those terms.

While at this, make a minor change to MSR_MAX_SERIALISED_ENTRIES so it's
unsigned in order to please the max() macro.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/include/xenguest.h             |  2 +-
 tools/libs/guest/xg_cpuid_x86.c      | 86 +++++++++++++++++++++-------
 tools/libs/guest/xg_private.h        | 17 +++++-
 tools/libs/guest/xg_sr_common_x86.c  |  2 +-
 tools/misc/xen-cpuid.c               |  2 +-
 tools/tests/tsx/test-tsx.c           | 61 +++++++++++---------
 xen/include/xen/lib/x86/cpu-policy.h |  2 +-
 7 files changed, 119 insertions(+), 53 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index e01f494b77..702965addc 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -787,7 +787,7 @@ xen_pfn_t *xc_map_m2p(xc_interface *xch,
 typedef struct xc_cpu_policy xc_cpu_policy_t;
 
 /* Create and free a xc_cpu_policy object. */
-xc_cpu_policy_t *xc_cpu_policy_init(void);
+xc_cpu_policy_t *xc_cpu_policy_init(xc_interface *xch);
 void xc_cpu_policy_destroy(xc_cpu_policy_t *policy);
 
 /* Retrieve a system policy, or get/set a domains policy. */
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index f2b1e80901..3545f3e530 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -839,15 +839,48 @@ out:
     return rc;
 }
 
-xc_cpu_policy_t *xc_cpu_policy_init(void)
+xc_cpu_policy_t *xc_cpu_policy_init(xc_interface *xch)
 {
-    return calloc(1, sizeof(struct xc_cpu_policy));
+    uint32_t nr_leaves, nr_msrs;
+    xc_cpu_policy_t *p = calloc(1, sizeof(*p));
+    if ( !p )
+        return NULL;
+
+    if ( xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs) )
+        goto fail;
+
+    p->leaves.allocated = max(nr_leaves, CPUID_MAX_SERIALISED_LEAVES);
+    p->leaves.buf = calloc(p->leaves.allocated, sizeof(*p->leaves.buf));
+    if ( !p->leaves.buf )
+        goto fail;
+
+    p->msrs.allocated = max(nr_msrs, MSR_MAX_SERIALISED_ENTRIES);
+    p->msrs.buf = calloc(p->msrs.allocated, sizeof(*p->msrs.buf));
+    if ( !p->msrs.buf )
+        goto fail;
+
+    /* Success */
+    return p;
+
+ fail:
+    xc_cpu_policy_destroy(p);
+    return NULL;
 }
 
 void xc_cpu_policy_destroy(xc_cpu_policy_t *policy)
 {
-    if ( policy )
-        free(policy);
+    int err = errno;
+
+    if ( !policy )
+        return;
+
+    if ( policy->leaves.buf )
+        free(policy->leaves.buf);
+    if ( policy->msrs.buf )
+        free(policy->msrs.buf);
+
+    free(policy);
+    errno = err;
 }
 
 static int deserialize_policy(xc_interface *xch, xc_cpu_policy_t *policy,
@@ -856,7 +889,7 @@ static int deserialize_policy(xc_interface *xch, xc_cpu_policy_t *policy,
     uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
     int rc;
 
-    rc = x86_cpuid_copy_from_buffer(&policy->policy, policy->leaves,
+    rc = x86_cpuid_copy_from_buffer(&policy->policy, policy->leaves.buf,
                                     nr_leaves, &err_leaf, &err_subleaf);
     if ( rc )
     {
@@ -866,7 +899,7 @@ static int deserialize_policy(xc_interface *xch, xc_cpu_policy_t *policy,
         return rc;
     }
 
-    rc = x86_msr_copy_from_buffer(&policy->policy, policy->msrs,
+    rc = x86_msr_copy_from_buffer(&policy->policy, policy->msrs.buf,
                                   nr_entries, &err_msr);
     if ( rc )
     {
@@ -882,18 +915,22 @@ static int deserialize_policy(xc_interface *xch, xc_cpu_policy_t *policy,
 int xc_cpu_policy_get_system(xc_interface *xch, unsigned int policy_idx,
                              xc_cpu_policy_t *policy)
 {
-    unsigned int nr_leaves = ARRAY_SIZE(policy->leaves);
-    unsigned int nr_msrs = ARRAY_SIZE(policy->msrs);
+    unsigned int nr_leaves = policy->leaves.allocated;
+    unsigned int nr_msrs = policy->msrs.allocated;
     int rc;
 
-    rc = get_system_cpu_policy(xch, policy_idx, &nr_leaves, policy->leaves,
-                               &nr_msrs, policy->msrs);
+    rc = get_system_cpu_policy(xch, policy_idx,
+                               &nr_leaves, policy->leaves.buf,
+                               &nr_msrs, policy->msrs.buf);
     if ( rc )
     {
         PERROR("Failed to obtain %u policy", policy_idx);
         return rc;
     }
 
+    policy->leaves.len = nr_leaves;
+    policy->msrs.len = nr_msrs;
+
     rc = deserialize_policy(xch, policy, nr_leaves, nr_msrs);
     if ( rc )
     {
@@ -907,18 +944,22 @@ int xc_cpu_policy_get_system(xc_interface *xch, unsigned int policy_idx,
 int xc_cpu_policy_get_domain(xc_interface *xch, uint32_t domid,
                              xc_cpu_policy_t *policy)
 {
-    unsigned int nr_leaves = ARRAY_SIZE(policy->leaves);
-    unsigned int nr_msrs = ARRAY_SIZE(policy->msrs);
+    unsigned int nr_leaves = policy->leaves.allocated;
+    unsigned int nr_msrs = policy->msrs.allocated;
     int rc;
 
-    rc = get_domain_cpu_policy(xch, domid, &nr_leaves, policy->leaves,
-                               &nr_msrs, policy->msrs);
+    rc = get_domain_cpu_policy(xch, domid,
+                               &nr_leaves, policy->leaves.buf,
+                               &nr_msrs, policy->msrs.buf);
     if ( rc )
     {
         PERROR("Failed to obtain domain %u policy", domid);
         return rc;
     }
 
+    policy->leaves.len = nr_leaves;
+    policy->msrs.len = nr_msrs;
+
     rc = deserialize_policy(xch, policy, nr_leaves, nr_msrs);
     if ( rc )
     {
@@ -933,17 +974,22 @@ int xc_cpu_policy_set_domain(xc_interface *xch, uint32_t domid,
                              xc_cpu_policy_t *policy)
 {
     uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    unsigned int nr_leaves = ARRAY_SIZE(policy->leaves);
-    unsigned int nr_msrs = ARRAY_SIZE(policy->msrs);
+    unsigned int nr_leaves = policy->leaves.allocated;
+    unsigned int nr_msrs = policy->msrs.allocated;
     int rc;
 
-    rc = xc_cpu_policy_serialise(xch, policy, policy->leaves, &nr_leaves,
-                                 policy->msrs, &nr_msrs);
+    rc = xc_cpu_policy_serialise(xch, policy,
+                                 policy->leaves.buf, &nr_leaves,
+                                 policy->msrs.buf, &nr_msrs);
     if ( rc )
         return rc;
 
-    rc = xc_set_domain_cpu_policy(xch, domid, nr_leaves, policy->leaves,
-                                  nr_msrs, policy->msrs,
+    policy->leaves.len = nr_leaves;
+    policy->msrs.len = nr_msrs;
+
+    rc = xc_set_domain_cpu_policy(xch, domid,
+                                  nr_leaves, policy->leaves.buf,
+                                  nr_msrs, policy->msrs.buf,
                                   &err_leaf, &err_subleaf, &err_msr);
     if ( rc )
     {
diff --git a/tools/libs/guest/xg_private.h b/tools/libs/guest/xg_private.h
index d73947094f..94957ea5ca 100644
--- a/tools/libs/guest/xg_private.h
+++ b/tools/libs/guest/xg_private.h
@@ -174,9 +174,22 @@ int pin_table(xc_interface *xch, unsigned int type, unsigned long mfn,
 #include <xen/lib/x86/cpu-policy.h>
 
 struct xc_cpu_policy {
+    /** Deserialised policy */
     struct cpu_policy policy;
-    xen_cpuid_leaf_t leaves[CPUID_MAX_SERIALISED_LEAVES];
-    xen_msr_entry_t msrs[MSR_MAX_SERIALISED_ENTRIES];
+
+    /** Serialised buffer of CPUID leaves */
+    struct {
+        xen_cpuid_leaf_t *buf; /**< Base address */
+        size_t allocated; /**< Memory allocated to the buffer (in entries) */
+        size_t len; /**< Number of entries in use (in entries) */
+    } leaves;
+
+    /** Serialised buffer of MSRs */
+    struct {
+        xen_msr_entry_t *buf; /**< Base address */
+        size_t allocated; /**< Memory allocated to the buffer (in entries) */
+        size_t len; /**< Number of entries in use (in entries) */
+    } msrs;
 };
 #endif /* x86 */
 
diff --git a/tools/libs/guest/xg_sr_common_x86.c b/tools/libs/guest/xg_sr_common_x86.c
index 563b4f0168..ad63c675ed 100644
--- a/tools/libs/guest/xg_sr_common_x86.c
+++ b/tools/libs/guest/xg_sr_common_x86.c
@@ -59,7 +59,7 @@ int write_x86_cpu_policy_records(struct xc_sr_context *ctx)
 
     cpuid.data = malloc(nr_leaves * sizeof(xen_cpuid_leaf_t));
     msrs.data  = malloc(nr_msrs   * sizeof(xen_msr_entry_t));
-    policy = xc_cpu_policy_init();
+    policy = xc_cpu_policy_init(xch);
     if ( !cpuid.data || !msrs.data || !policy )
     {
         ERROR("Cannot allocate memory for CPU Policy");
diff --git a/tools/misc/xen-cpuid.c b/tools/misc/xen-cpuid.c
index 7370f1b56e..a87b9f99f2 100644
--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -532,7 +532,7 @@ int main(int argc, char **argv)
         uint32_t i, max_leaves, max_msrs;
 
         xc_interface *xch = xc_interface_open(0, 0, 0);
-        xc_cpu_policy_t *policy = xc_cpu_policy_init();
+        xc_cpu_policy_t *policy = xc_cpu_policy_init(xch);
 
         if ( !xch )
             err(1, "xc_interface_open");
diff --git a/tools/tests/tsx/test-tsx.c b/tools/tests/tsx/test-tsx.c
index b7e1972ce8..3371bb26f7 100644
--- a/tools/tests/tsx/test-tsx.c
+++ b/tools/tests/tsx/test-tsx.c
@@ -58,7 +58,7 @@ static xc_interface *xch;
  * don't care about the raw policy (index 0) so reuse that for the guest
  * policy.
  */
-static struct xc_cpu_policy policies[6];
+static struct xc_cpu_policy *policies[6];
 #define guest_policy policies[0]
 #define host         policies[XEN_SYSCTL_cpu_policy_host]
 #define pv_max       policies[XEN_SYSCTL_cpu_policy_pv_max]
@@ -151,15 +151,15 @@ static void test_tsx_msrs(void)
 {
     printf("Testing MSR_TSX_FORCE_ABORT consistency\n");
     test_tsx_msr_consistency(
-        MSR_TSX_FORCE_ABORT, host.policy.feat.tsx_force_abort);
+        MSR_TSX_FORCE_ABORT, host->policy.feat.tsx_force_abort);
 
     printf("Testing MSR_TSX_CTRL consistency\n");
     test_tsx_msr_consistency(
-        MSR_TSX_CTRL, host.policy.arch_caps.tsx_ctrl);
+        MSR_TSX_CTRL, host->policy.arch_caps.tsx_ctrl);
 
     printf("Testing MSR_MCU_OPT_CTRL consistency\n");
     test_tsx_msr_consistency(
-        MSR_MCU_OPT_CTRL, host.policy.feat.srbds_ctrl);
+        MSR_MCU_OPT_CTRL, host->policy.feat.srbds_ctrl);
 }
 
 /*
@@ -281,7 +281,7 @@ static void test_rtm_behaviour(void)
     else
         return fail("  Got unexpected behaviour %d\n", rtm_behaviour);
 
-    if ( host.policy.feat.rtm )
+    if ( host->policy.feat.rtm )
     {
         if ( rtm_behaviour == RTM_UD )
             fail("  Host reports RTM, but appears unavailable\n");
@@ -347,13 +347,13 @@ static void test_def_max_policies(void)
     if ( xen_has_pv )
     {
         printf("Testing PV default/max policies\n");
-        test_guest_policies(&pv_max.policy, &pv_default.policy);
+        test_guest_policies(&pv_max->policy, &pv_default->policy);
     }
 
     if ( xen_has_hvm )
     {
         printf("Testing HVM default/max policies\n");
-        test_guest_policies(&hvm_max.policy, &hvm_default.policy);
+        test_guest_policies(&hvm_max->policy, &hvm_default->policy);
     }
 }
 
@@ -369,7 +369,7 @@ static void test_guest(struct xen_domctl_createdomain *c)
 
     printf("  Created d%u\n", domid);
 
-    rc = xc_cpu_policy_get_domain(xch, domid, &guest_policy);
+    rc = xc_cpu_policy_get_domain(xch, domid, guest_policy);
     if ( rc )
     {
         fail("  Failed to obtain domain policy: %d - %s\n",
@@ -377,23 +377,23 @@ static void test_guest(struct xen_domctl_createdomain *c)
         goto out;
     }
 
-    dump_tsx_details(&guest_policy.policy, "Cur:");
+    dump_tsx_details(&guest_policy->policy, "Cur:");
 
     /*
      * Check defaults given to the guest.
      */
-    if ( guest_policy.policy.feat.rtm != (rtm_behaviour == RTM_OK) )
+    if ( guest_policy->policy.feat.rtm != (rtm_behaviour == RTM_OK) )
         fail("  RTM %u in guest, despite rtm behaviour\n",
-             guest_policy.policy.feat.rtm);
+             guest_policy->policy.feat.rtm);
 
-    if ( guest_policy.policy.feat.hle ||
-         guest_policy.policy.feat.tsx_force_abort ||
-         guest_policy.policy.feat.rtm_always_abort ||
-         guest_policy.policy.feat.srbds_ctrl ||
-         guest_policy.policy.arch_caps.tsx_ctrl )
+    if ( guest_policy->policy.feat.hle ||
+         guest_policy->policy.feat.tsx_force_abort ||
+         guest_policy->policy.feat.rtm_always_abort ||
+         guest_policy->policy.feat.srbds_ctrl ||
+         guest_policy->policy.arch_caps.tsx_ctrl )
         fail("  Unexpected features advertised\n");
 
-    if ( host.policy.feat.rtm )
+    if ( host->policy.feat.rtm )
     {
         unsigned int _7b0;
 
@@ -401,11 +401,11 @@ static void test_guest(struct xen_domctl_createdomain *c)
          * If host RTM is available, all combinations of guest flags should be
          * possible.  Flip both HLE/RTM to check non-default settings.
          */
-        _7b0 = (guest_policy.policy.feat.raw[0].b ^=
+        _7b0 = (guest_policy->policy.feat.raw[0].b ^=
                 (bitmaskof(X86_FEATURE_HLE) | bitmaskof(X86_FEATURE_RTM)));
 
         /* Set the new policy. */
-        rc = xc_cpu_policy_set_domain(xch, domid, &guest_policy);
+        rc = xc_cpu_policy_set_domain(xch, domid, guest_policy);
         if ( rc )
         {
             fail("  Failed to set domain policy: %d - %s\n",
@@ -414,7 +414,7 @@ static void test_guest(struct xen_domctl_createdomain *c)
         }
 
         /* Re-get the new policy. */
-        rc = xc_cpu_policy_get_domain(xch, domid, &guest_policy);
+        rc = xc_cpu_policy_get_domain(xch, domid, guest_policy);
         if ( rc )
         {
             fail("  Failed to obtain domain policy: %d - %s\n",
@@ -422,12 +422,12 @@ static void test_guest(struct xen_domctl_createdomain *c)
             goto out;
         }
 
-        dump_tsx_details(&guest_policy.policy, "Cur:");
+        dump_tsx_details(&guest_policy->policy, "Cur:");
 
-        if ( guest_policy.policy.feat.raw[0].b != _7b0 )
+        if ( guest_policy->policy.feat.raw[0].b != _7b0 )
         {
             fail("  Expected CPUID.7[1].b 0x%08x differs from actual 0x%08x\n",
-                 _7b0, guest_policy.policy.feat.raw[0].b);
+                 _7b0, guest_policy->policy.feat.raw[0].b);
             goto out;
         }
     }
@@ -480,11 +480,18 @@ static void test_tsx(void)
 {
     int rc;
 
-    /* Read all policies except raw. */
-    for ( unsigned int i = XEN_SYSCTL_cpu_policy_host;
-          i <= XEN_SYSCTL_cpu_policy_hvm_default; ++i )
+    for ( unsigned int i = 0; i < ARRAY_SIZE(policies); ++i )
     {
-        rc = xc_cpu_policy_get_system(xch, i, &policies[i]);
+        policies[i] = xc_cpu_policy_init(xch);
+        if ( !policies[i] )
+            return fail("Failed to allocate policy[%u]: %d - %s\n",
+                        i, errno, strerror(errno));
+
+        /* Read all policies except raw. */
+        if ( i == XEN_SYSCTL_cpu_policy_raw )
+            continue;
+
+        rc = xc_cpu_policy_get_system(xch, i, policies[i]);
 
         if ( rc == -1 && errno == EOPNOTSUPP )
         {
diff --git a/xen/include/xen/lib/x86/cpu-policy.h b/xen/include/xen/lib/x86/cpu-policy.h
index d5e447e9dc..c4dd81f2bb 100644
--- a/xen/include/xen/lib/x86/cpu-policy.h
+++ b/xen/include/xen/lib/x86/cpu-policy.h
@@ -110,7 +110,7 @@ const char *x86_cpuid_vendor_to_str(unsigned int vendor);
      2 /* hv_limit and hv2_limit */ )
 
 /* Maximum number of MSRs written when serialising a cpu_policy. */
-#define MSR_MAX_SERIALISED_ENTRIES 2
+#define MSR_MAX_SERIALISED_ENTRIES 2U
 
 struct cpu_policy
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:49:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628912.980866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OKa-0005Qb-GV; Tue, 07 Nov 2023 15:49:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628912.980866; Tue, 07 Nov 2023 15:49: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 1r0OKa-0005QO-Dd; Tue, 07 Nov 2023 15:49:32 +0000
Received: by outflank-mailman (input) for mailman id 628912;
 Tue, 07 Nov 2023 15:49: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=l2M1=GU=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r0OKZ-0004f2-4g
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:49:31 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c7c6c9e-7d85-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 16:49:29 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-509109104e2so7674258e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:49:29 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 n26-20020a1c721a000000b0040849ce7116sm15809852wmc.43.2023.11.07.07.49.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Nov 2023 07:49:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c7c6c9e-7d85-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699372168; x=1699976968; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kLSFAxdv6KNhnV/xuN+r8R+eidxuGYd2af8Ta5nu6pw=;
        b=J0TaW+iBE/oMprdQN5MYmDwwfDdoUGAWqV3rlJ239wf7kSbQZ+byHjJBsPr9hTN6oc
         yDcX15KWrIMigNut/1YIN1MZIia4Dm8RkhBJLzFOkweKHAFaV7bDoya0syx2VTMEUem/
         tZWNSBclyU7K8Rx5WKaBycdTtvxloDvPvyoMU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699372168; x=1699976968;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kLSFAxdv6KNhnV/xuN+r8R+eidxuGYd2af8Ta5nu6pw=;
        b=H807TLw/Hpv1DW7rbNN2a26TyCNJWYtSDTo9Eq2zsDSevvBHBr437oMhuC9W//OG1O
         CkC/vF9rA5rfR2Gc2qBLdY7qVPAxUqpYUkq+s+EG0V6CBmOwpxY0mFHMqktagXdvvBiL
         unpx13PIyKK4l0TgvtMq/PaB4xKkzwSfzv9W10pqRVmZjgFN+RZM/S3rCt5yAiexyOxF
         eT1bjZ0apJzAkZ2Pyd29uII5UgHO/aNh5pFq7YGsReQd9aYFDkwz6CkvFsIa9gXF/VIM
         4k6SNmW30BmS9/c4M2uQ7hnQttKrIDttpvSkyd1uPbX/uxOaQjxhZCThN1BYfDmpu3pT
         XwuQ==
X-Gm-Message-State: AOJu0Yz4B1xIjsS6rupYMY2st7RNJxeVrFHqfTBsgJuQRDJfVKmhadz3
	FGFguOS6Vvs1Z2xeFeWKJRc7V81qRz2J6oVk8FQ=
X-Google-Smtp-Source: AGHT+IEQfrpjmK80gCQLWrqBtV5qfNMtAALxBQY/fc6WYhjYZ2jjhswqBKOUvc+VpdKWeLkI+HxALQ==
X-Received: by 2002:a2e:9f13:0:b0:2c6:ed5e:bbf0 with SMTP id u19-20020a2e9f13000000b002c6ed5ebbf0mr12789337ljk.34.1699372168177;
        Tue, 07 Nov 2023 07:49:28 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 3/7] tools/xg: Add self-(de)serialisation functions for cpu_policy
Date: Tue,  7 Nov 2023 15:49:17 +0000
Message-Id: <20231107154921.54979-4-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
References: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

These allow a policy to internally (de)serialize itself, so that we don't
have to carry around serialization buffers when perfectly good ones are
present inside.

Both moved on top of the xend overrides as they are needed there in future
patches

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/libs/guest/xg_cpuid_x86.c | 90 ++++++++++++++++++---------------
 1 file changed, 49 insertions(+), 41 deletions(-)

diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 3545f3e530..ac75ce2b4e 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -254,6 +254,50 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
     return ret;
 }
 
+static int cpu_policy_deserialise_on_self(xc_interface *xch, xc_cpu_policy_t *p)
+{
+    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
+    int rc;
+
+    rc = x86_cpuid_copy_from_buffer(&p->policy, p->leaves.buf, p->leaves.len,
+                                    &err_leaf, &err_subleaf);
+    if ( rc )
+    {
+        if ( err_leaf != -1 )
+            ERROR("Failed to deserialise CPUID (err leaf %#x, subleaf %#x) (%d = %s)",
+                  err_leaf, err_subleaf, -rc, strerror(-rc));
+        return rc;
+    }
+
+    rc = x86_msr_copy_from_buffer(&p->policy, p->msrs.buf, p->msrs.len, &err_msr);
+    if ( rc )
+    {
+        if ( err_msr != -1 )
+            ERROR("Failed to deserialise MSR (err MSR %#x) (%d = %s)",
+                  err_msr, -rc, strerror(-rc));
+        return rc;
+    }
+
+    return 0;
+}
+
+static int cpu_policy_serialise_on_self(xc_interface *xch, xc_cpu_policy_t *p)
+{
+    uint32_t nr_leaves = p->leaves.allocated;
+    uint32_t nr_msrs = p->msrs.allocated;
+    int rc = xc_cpu_policy_serialise(xch, p,
+                                     p->leaves.buf, &nr_leaves,
+                                     p->msrs.buf, &nr_msrs);
+
+    if ( !rc )
+    {
+        p->leaves.len = nr_leaves;
+        p->msrs.len = nr_msrs;
+    }
+
+    return rc;
+}
+
 static int compare_leaves(const void *l, const void *r)
 {
     const xen_cpuid_leaf_t *lhs = l;
@@ -883,35 +927,6 @@ void xc_cpu_policy_destroy(xc_cpu_policy_t *policy)
     errno = err;
 }
 
-static int deserialize_policy(xc_interface *xch, xc_cpu_policy_t *policy,
-                              unsigned int nr_leaves, unsigned int nr_entries)
-{
-    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    int rc;
-
-    rc = x86_cpuid_copy_from_buffer(&policy->policy, policy->leaves.buf,
-                                    nr_leaves, &err_leaf, &err_subleaf);
-    if ( rc )
-    {
-        if ( err_leaf != -1 )
-            ERROR("Failed to deserialise CPUID (err leaf %#x, subleaf %#x) (%d = %s)",
-                  err_leaf, err_subleaf, -rc, strerror(-rc));
-        return rc;
-    }
-
-    rc = x86_msr_copy_from_buffer(&policy->policy, policy->msrs.buf,
-                                  nr_entries, &err_msr);
-    if ( rc )
-    {
-        if ( err_msr != -1 )
-            ERROR("Failed to deserialise MSR (err MSR %#x) (%d = %s)",
-                  err_msr, -rc, strerror(-rc));
-        return rc;
-    }
-
-    return 0;
-}
-
 int xc_cpu_policy_get_system(xc_interface *xch, unsigned int policy_idx,
                              xc_cpu_policy_t *policy)
 {
@@ -931,7 +946,7 @@ int xc_cpu_policy_get_system(xc_interface *xch, unsigned int policy_idx,
     policy->leaves.len = nr_leaves;
     policy->msrs.len = nr_msrs;
 
-    rc = deserialize_policy(xch, policy, nr_leaves, nr_msrs);
+    rc = cpu_policy_deserialise_on_self(xch, policy);
     if ( rc )
     {
         errno = -rc;
@@ -960,7 +975,7 @@ int xc_cpu_policy_get_domain(xc_interface *xch, uint32_t domid,
     policy->leaves.len = nr_leaves;
     policy->msrs.len = nr_msrs;
 
-    rc = deserialize_policy(xch, policy, nr_leaves, nr_msrs);
+    rc = cpu_policy_deserialise_on_self(xch, policy);
     if ( rc )
     {
         errno = -rc;
@@ -974,22 +989,15 @@ int xc_cpu_policy_set_domain(xc_interface *xch, uint32_t domid,
                              xc_cpu_policy_t *policy)
 {
     uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    unsigned int nr_leaves = policy->leaves.allocated;
-    unsigned int nr_msrs = policy->msrs.allocated;
     int rc;
 
-    rc = xc_cpu_policy_serialise(xch, policy,
-                                 policy->leaves.buf, &nr_leaves,
-                                 policy->msrs.buf, &nr_msrs);
+    rc = cpu_policy_serialise_on_self(xch, policy);
     if ( rc )
         return rc;
 
-    policy->leaves.len = nr_leaves;
-    policy->msrs.len = nr_msrs;
-
     rc = xc_set_domain_cpu_policy(xch, domid,
-                                  nr_leaves, policy->leaves.buf,
-                                  nr_msrs, policy->msrs.buf,
+                                  policy->leaves.len, policy->leaves.buf,
+                                  policy->msrs.len, policy->msrs.buf,
                                   &err_leaf, &err_subleaf, &err_msr);
     if ( rc )
     {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:49:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:49:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628913.980871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OKa-0005UR-Sj; Tue, 07 Nov 2023 15:49:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628913.980871; Tue, 07 Nov 2023 15:49: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 1r0OKa-0005TF-Mq; Tue, 07 Nov 2023 15:49:32 +0000
Received: by outflank-mailman (input) for mailman id 628913;
 Tue, 07 Nov 2023 15:49: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=l2M1=GU=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r0OKZ-0004f2-Kx
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:49:31 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3cd35fa3-7d85-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 16:49:30 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2c504a5e1deso76812941fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:49:30 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 n26-20020a1c721a000000b0040849ce7116sm15809852wmc.43.2023.11.07.07.49.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Nov 2023 07:49:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3cd35fa3-7d85-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699372169; x=1699976969; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0jiUkZX/lOtTWPH5LYfdV9AHbgGtbP06hzMjaTd5OCM=;
        b=aj/Jbu+QM+wxszoAF+dBDZvECfkN9N7NHUOK8Y+uYwDX2psQ3SgQiQSkHq+geeE1su
         1VSlLG/zaqLqLGd7sENV21i7nplo6IHx4j6p+/0Zt9EFMDoF++NxEuVFcjXGzIOAwbsY
         BA0mO6Q3+iObOhOnwy33aeyNuGqYbXSENuar4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699372169; x=1699976969;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0jiUkZX/lOtTWPH5LYfdV9AHbgGtbP06hzMjaTd5OCM=;
        b=a8a2WxesjaZmcI88zfOL16rf8aclVPkF0AA377l97lUgva48j/w0wW3zwOpVFNn3vO
         JB4qJw4JO8koGI9P6mMRCjty7W5DzUTKOOf3BNuerw+INsGlqYHiqPj5yVIjD7IH3QaE
         C0UJAYKsacBmVBMXFIGNJLFvgCNcdhW9+VfJ0vOBmIop8p3qhMol7Ry2nMnXuT2vUgsv
         XwVEuV2jFxu/tms40tGdGmeDS8UEpdEvwl/otJ/BTSJtTR/0O2Dx43SORzxR2Pr68a4S
         nJKE7iG2yHHP8GDhnryCYn80PthAobYLUuPJlzGRu1/hu6KH7g0KUuTIG4qfUboodOoF
         jk9Q==
X-Gm-Message-State: AOJu0YxzTEzUj0Ydnrg4pVE4w5JYyXYt0lfd3cTuq0Wi0Lc21wRolya1
	cvWd8Pc2aIfx0IEHPinziyWk9LP9hdWPYuqn024=
X-Google-Smtp-Source: AGHT+IFmwp4HP9zrnpfBEm8j5iQIJVQsEddmM00wdeRcT3qA+x4VfZlFYl9CWgHoK6RI5zuOeiXwew==
X-Received: by 2002:a2e:b0ed:0:b0:2bd:19c5:3950 with SMTP id h13-20020a2eb0ed000000b002bd19c53950mr24956350ljl.33.1699372168684;
        Tue, 07 Nov 2023 07:49:28 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 4/7] tools/xg: Split xc_cpu_policy_set_domain()
Date: Tue,  7 Nov 2023 15:49:18 +0000
Message-Id: <20231107154921.54979-5-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
References: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

xc_cpu_policy_set_domain_from_serialised() converts the cpu policy into its
serialised form first and then sends that to Xen. Meanwhile,
xc_cpu_policy_domain_set_from_deserialised() uses whatever is already in
the internal serialisation buffer of the policy object.

This split helps in a future patch where modifications are done in the
serialized form and we don't want to do a serialization round-trip to
send it to Xen.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/include/xenguest.h        |  8 ++++++--
 tools/libs/guest/xg_cpuid_x86.c | 24 ++++++++++++++----------
 tools/tests/tsx/test-tsx.c      |  2 +-
 3 files changed, 21 insertions(+), 13 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index 702965addc..a66d9f7807 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -795,8 +795,12 @@ int xc_cpu_policy_get_system(xc_interface *xch, unsigned int policy_idx,
                              xc_cpu_policy_t *policy);
 int xc_cpu_policy_get_domain(xc_interface *xch, uint32_t domid,
                              xc_cpu_policy_t *policy);
-int xc_cpu_policy_set_domain(xc_interface *xch, uint32_t domid,
-                             xc_cpu_policy_t *policy);
+int xc_cpu_policy_set_domain_from_serialised(xc_interface *xch,
+                                             uint32_t domid,
+                                             xc_cpu_policy_t *policy);
+int xc_cpu_policy_set_domain_from_deserialised(xc_interface *xch,
+                                               uint32_t domid,
+                                               xc_cpu_policy_t *policy);
 
 /* Manipulate a policy via architectural representations. */
 int xc_cpu_policy_serialise(xc_interface *xch, const xc_cpu_policy_t *policy,
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index ac75ce2b4e..8fafeb2a02 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -985,20 +985,24 @@ int xc_cpu_policy_get_domain(xc_interface *xch, uint32_t domid,
     return rc;
 }
 
-int xc_cpu_policy_set_domain(xc_interface *xch, uint32_t domid,
-                             xc_cpu_policy_t *policy)
+int xc_cpu_policy_set_domain_from_deserialised(xc_interface *xch, uint32_t domid,
+                                               xc_cpu_policy_t *policy)
 {
-    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
     int rc;
-
-    rc = cpu_policy_serialise_on_self(xch, policy);
-    if ( rc )
+    if ( (rc = cpu_policy_serialise_on_self(xch, policy)) )
         return rc;
 
-    rc = xc_set_domain_cpu_policy(xch, domid,
-                                  policy->leaves.len, policy->leaves.buf,
-                                  policy->msrs.len, policy->msrs.buf,
-                                  &err_leaf, &err_subleaf, &err_msr);
+    return xc_cpu_policy_set_domain_from_serialised(xch, domid, policy);
+}
+
+int xc_cpu_policy_set_domain_from_serialised(xc_interface *xch, uint32_t domid,
+                                             xc_cpu_policy_t *policy)
+{
+    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
+    int rc = xc_set_domain_cpu_policy(xch, domid,
+                                      policy->leaves.len, policy->leaves.buf,
+                                      policy->msrs.len, policy->msrs.buf,
+                                      &err_leaf, &err_subleaf, &err_msr);
     if ( rc )
     {
         ERROR("Failed to set domain %u policy (%d = %s)", domid, -rc,
diff --git a/tools/tests/tsx/test-tsx.c b/tools/tests/tsx/test-tsx.c
index 3371bb26f7..21b5640796 100644
--- a/tools/tests/tsx/test-tsx.c
+++ b/tools/tests/tsx/test-tsx.c
@@ -405,7 +405,7 @@ static void test_guest(struct xen_domctl_createdomain *c)
                 (bitmaskof(X86_FEATURE_HLE) | bitmaskof(X86_FEATURE_RTM)));
 
         /* Set the new policy. */
-        rc = xc_cpu_policy_set_domain(xch, domid, guest_policy);
+        rc = xc_cpu_policy_set_domain_from_deserialised(xch, domid, guest_policy);
         if ( rc )
         {
             fail("  Failed to set domain policy: %d - %s\n",
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:49:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:49:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628914.980877 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OKb-0005ag-6b; Tue, 07 Nov 2023 15:49:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628914.980877; Tue, 07 Nov 2023 15: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 1r0OKb-0005Z0-2K; Tue, 07 Nov 2023 15:49:33 +0000
Received: by outflank-mailman (input) for mailman id 628914;
 Tue, 07 Nov 2023 15:49: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=l2M1=GU=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r0OKZ-0004f1-S3
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:49:31 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d4b71b0-7d85-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 16:49:30 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40838915cecso42705195e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:49:30 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 n26-20020a1c721a000000b0040849ce7116sm15809852wmc.43.2023.11.07.07.49.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Nov 2023 07:49:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d4b71b0-7d85-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699372170; x=1699976970; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vDz6sGbi3amh7p4RXJVmm4OJgTg+X2ePEDBCKg+zF5k=;
        b=lSDk6vs8/JC4JmQtCcUUdEEHUZ37PXu+OmTBD0qgdCb9BOA7j+99gwK95WFJ56tfh9
         nDoWJYcwmMaHValPZxzCCCxINCoJWfCIMpu1ZlgPjNqq3qmDo2MaHiO+MDLOEzyaaieS
         Z+JcpngiJXPUjJfiXUuonYjFJKRnWKgZkB0Fg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699372170; x=1699976970;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vDz6sGbi3amh7p4RXJVmm4OJgTg+X2ePEDBCKg+zF5k=;
        b=gpTDMJS9qXvyEyzjUGV1kcBXcEJyOFIGF1W0FN6S+t9Z9OhvmjVURYBvOIh6NVo1uz
         XJENLUVWFUULGiVaYTYXCMJNWDoB9+YQlRkhNJMeDrVbeUpTc5F+7rRRL4gph2z7QaDC
         MPGETNQ9pGhp4zC7yhY939W2Dpdg6rhiKIS130uMKJp0uA8r9En5XT1ZXRv2Ef911C4S
         v8bjVJbdE5d47BnLHilO9r5/IBWlEod4D3nAo6XtQrOOvVsuLN1L48GVxCgzZO1w4Sow
         lAYHoVIcW3XJNAo+R6aDnbM3sqCqK/pVBFqcdm2JExEglJhKkH29s3FeOI9SO7Ud7NIb
         aigA==
X-Gm-Message-State: AOJu0YzOy7UbsQyzu2paQP9g3OVrcwmmApDoQKQHEe9mvWMeM2vLShRl
	N8E+o1uO/fMlrd7Gv28W2TrBBFOM9TCDKMEGQDY=
X-Google-Smtp-Source: AGHT+IFmW3jjWcsrqSaiOv0teP9ieNlXQyUDrN5eM399cB2e2LXIW4gFHVF2DUtXCSDhz27yUCHcSg==
X-Received: by 2002:a05:600c:46d4:b0:405:49aa:d578 with SMTP id q20-20020a05600c46d400b0040549aad578mr2552796wmo.37.1699372170112;
        Tue, 07 Nov 2023 07:49:30 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 5/7] tools/xg: Streamline xc_cpuid_apply_policy()
Date: Tue,  7 Nov 2023 15:49:19 +0000
Message-Id: <20231107154921.54979-6-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
References: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Instantiates host, default and domain policies in order to clean up a lot
of boilerplate hypercalls. This is partial work in order to deduplicate
the same hypercalls being used when updating CPUID and MSR parts of the
policy.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/include/xenguest.h        |   1 +
 tools/libs/guest/xg_cpuid_x86.c | 184 ++++++++++++++++----------------
 2 files changed, 93 insertions(+), 92 deletions(-)

diff --git a/tools/include/xenguest.h b/tools/include/xenguest.h
index a66d9f7807..f0b58bb395 100644
--- a/tools/include/xenguest.h
+++ b/tools/include/xenguest.h
@@ -788,6 +788,7 @@ typedef struct xc_cpu_policy xc_cpu_policy_t;
 
 /* Create and free a xc_cpu_policy object. */
 xc_cpu_policy_t *xc_cpu_policy_init(xc_interface *xch);
+xc_cpu_policy_t *xc_cpu_policy_clone(const xc_cpu_policy_t *other);
 void xc_cpu_policy_destroy(xc_cpu_policy_t *policy);
 
 /* Retrieve a system policy, or get/set a domains policy. */
diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 8fafeb2a02..acc94fb16b 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -635,13 +635,14 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
     int rc;
     bool hvm;
     xc_domaininfo_t di;
-    unsigned int i, nr_leaves, nr_msrs;
-    xen_cpuid_leaf_t *leaves = NULL;
-    struct cpu_policy *p = NULL;
-    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    uint32_t host_featureset[FEATURESET_NR_ENTRIES] = {};
-    uint32_t len = ARRAY_SIZE(host_featureset);
+    uint32_t def_policy;
+    /*
+     * Three full policies.  The host, default for the domain type,
+     * and domain current.
+     */
+    xc_cpu_policy_t *host = NULL, *def = NULL, *cur = NULL;
 
+    /* Determine if domid is PV or HVM */
     if ( (rc = xc_domain_getinfo_single(xch, domid, &di)) < 0 )
     {
         PERROR("Failed to obtain d%d info", domid);
@@ -650,48 +651,24 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
     }
     hvm = di.flags & XEN_DOMINF_hvm_guest;
 
-    rc = xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs);
-    if ( rc )
-    {
-        PERROR("Failed to obtain policy info size");
-        rc = -errno;
-        goto out;
-    }
-
-    rc = -ENOMEM;
-    if ( (leaves = calloc(nr_leaves, sizeof(*leaves))) == NULL ||
-         (p = calloc(1, sizeof(*p))) == NULL )
-        goto out;
-
-    /* Get the host policy. */
-    rc = xc_get_cpu_featureset(xch, XEN_SYSCTL_cpu_featureset_host,
-                               &len, host_featureset);
-    /* Tolerate "buffer too small", as we've got the bits we need. */
-    if ( rc && errno != ENOBUFS )
+    if ( !(host = xc_cpu_policy_init(xch)) ||
+         !(def = xc_cpu_policy_clone(host)) ||
+         !(cur = xc_cpu_policy_clone(host)) )
     {
-        PERROR("Failed to obtain host featureset");
-        rc = -errno;
+        PERROR("Failed to allocate policy state");
         goto out;
     }
 
-    /* Get the domain's default policy. */
-    nr_msrs = 0;
-    rc = get_system_cpu_policy(xch, hvm ? XEN_SYSCTL_cpu_policy_hvm_default
-                                        : XEN_SYSCTL_cpu_policy_pv_default,
-                               &nr_leaves, leaves, &nr_msrs, NULL);
-    if ( rc )
-    {
-        PERROR("Failed to obtain %s default policy", hvm ? "hvm" : "pv");
-        rc = -errno;
-        goto out;
-    }
+    def_policy = hvm ? XEN_SYSCTL_cpu_policy_hvm_default
+                     : XEN_SYSCTL_cpu_policy_pv_default;
 
-    rc = x86_cpuid_copy_from_buffer(p, leaves, nr_leaves,
-                                    &err_leaf, &err_subleaf);
-    if ( rc )
+    /* Get the domain type's default policy. */
+    if ( (rc = xc_cpu_policy_get_domain(xch, domid, cur)) ||
+         (rc = xc_cpu_policy_get_system(xch, def_policy, def)) ||
+         (rc = xc_cpu_policy_get_system(xch, XEN_SYSCTL_cpu_policy_host, host)) )
     {
-        ERROR("Failed to deserialise CPUID (err leaf %#x, subleaf %#x) (%d = %s)",
-              err_leaf, err_subleaf, -rc, strerror(-rc));
+        PERROR("Failed to obtain d%d, %s and/or host policies",
+               domid, hvm ? "hvm" : "pv");
         goto out;
     }
 
@@ -711,18 +688,16 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
          * - Re-enable features which have become (possibly) off by default.
          */
 
-        p->basic.rdrand = test_bit(X86_FEATURE_RDRAND, host_featureset);
-        p->feat.hle = test_bit(X86_FEATURE_HLE, host_featureset);
-        p->feat.rtm = test_bit(X86_FEATURE_RTM, host_featureset);
+        cur->policy.basic.rdrand = host->policy.basic.rdrand;
+        cur->policy.feat.hle = host->policy.feat.hle;
+        cur->policy.feat.rtm = host->policy.feat.rtm;
 
         if ( hvm )
-        {
-            p->feat.mpx = test_bit(X86_FEATURE_MPX, host_featureset);
-        }
+            cur->policy.feat.mpx = host->policy.feat.mpx;
 
-        p->basic.max_leaf = min(p->basic.max_leaf, 0xdu);
-        p->feat.max_subleaf = 0;
-        p->extd.max_leaf = min(p->extd.max_leaf, 0x8000001c);
+        cur->policy.basic.max_leaf = min(host->policy.basic.max_leaf, 0xdu);
+        cur->policy.feat.max_subleaf = 0;
+        cur->policy.extd.max_leaf = min(host->policy.extd.max_leaf, 0x8000001c);
     }
 
     if ( featureset )
@@ -730,7 +705,6 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
         uint32_t disabled_features[FEATURESET_NR_ENTRIES],
             feat[FEATURESET_NR_ENTRIES] = {};
         static const uint32_t deep_features[] = INIT_DEEP_FEATURES;
-        unsigned int i, b;
 
         /*
          * The user supplied featureset may be shorter or longer than
@@ -741,17 +715,17 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
 
         /* Check for truncated set bits. */
         rc = -EOPNOTSUPP;
-        for ( i = user_len; i < nr_features; ++i )
+        for ( size_t i = user_len; i < nr_features; ++i )
             if ( featureset[i] != 0 )
                 goto out;
 
         memcpy(feat, featureset, sizeof(*featureset) * user_len);
 
         /* Disable deep dependencies of disabled features. */
-        for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
+        for ( size_t i = 0; i < ARRAY_SIZE(disabled_features); ++i )
             disabled_features[i] = ~feat[i] & deep_features[i];
 
-        for ( b = 0; b < sizeof(disabled_features) * CHAR_BIT; ++b )
+        for ( size_t b = 0; b < sizeof(disabled_features) * CHAR_BIT; ++b )
         {
             const uint32_t *dfs;
 
@@ -759,24 +733,24 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
                  !(dfs = x86_cpu_policy_lookup_deep_deps(b)) )
                 continue;
 
-            for ( i = 0; i < ARRAY_SIZE(disabled_features); ++i )
+            for ( size_t i = 0; i < ARRAY_SIZE(disabled_features); ++i )
             {
                 feat[i] &= ~dfs[i];
                 disabled_features[i] &= ~dfs[i];
             }
         }
 
-        x86_cpu_featureset_to_policy(feat, p);
+        x86_cpu_featureset_to_policy(feat, &cur->policy);
     }
     else
     {
-        p->extd.itsc = itsc;
+        cur->policy.extd.itsc = itsc;
 
         if ( hvm )
         {
-            p->basic.pae = pae;
-            p->basic.vmx = nested_virt;
-            p->extd.svm = nested_virt;
+            cur->policy.basic.pae = pae;
+            cur->policy.basic.vmx = nested_virt;
+            cur->policy.extd.svm = nested_virt;
         }
     }
 
@@ -786,8 +760,8 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
          * On hardware without CPUID Faulting, PV guests see real topology.
          * As a consequence, they also need to see the host htt/cmp fields.
          */
-        p->basic.htt       = test_bit(X86_FEATURE_HTT, host_featureset);
-        p->extd.cmp_legacy = test_bit(X86_FEATURE_CMP_LEGACY, host_featureset);
+        cur->policy.basic.htt       = host->policy.basic.htt;
+        cur->policy.extd.cmp_legacy = host->policy.extd.cmp_legacy;
     }
     else
     {
@@ -795,28 +769,28 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
          * Topology for HVM guests is entirely controlled by Xen.  For now, we
          * hardcode APIC_ID = vcpu_id * 2 to give the illusion of no SMT.
          */
-        p->basic.htt = true;
-        p->extd.cmp_legacy = false;
+        cur->policy.basic.htt = true;
+        cur->policy.extd.cmp_legacy = false;
 
         /*
          * Leaf 1 EBX[23:16] is Maximum Logical Processors Per Package.
          * Update to reflect vLAPIC_ID = vCPU_ID * 2, but make sure to avoid
          * overflow.
          */
-        if ( !p->basic.lppp )
-            p->basic.lppp = 2;
-        else if ( !(p->basic.lppp & 0x80) )
-            p->basic.lppp *= 2;
+        if ( !cur->policy.basic.lppp )
+            cur->policy.basic.lppp = 2;
+        else if ( !(cur->policy.basic.lppp & 0x80) )
+            cur->policy.basic.lppp *= 2;
 
-        switch ( p->x86_vendor )
+        switch ( cur->policy.x86_vendor )
         {
         case X86_VENDOR_INTEL:
-            for ( i = 0; (p->cache.subleaf[i].type &&
-                          i < ARRAY_SIZE(p->cache.raw)); ++i )
+            for ( size_t i = 0; (cur->policy.cache.subleaf[i].type &&
+                          i < ARRAY_SIZE(cur->policy.cache.raw)); ++i )
             {
-                p->cache.subleaf[i].cores_per_package =
-                    (p->cache.subleaf[i].cores_per_package << 1) | 1;
-                p->cache.subleaf[i].threads_per_cache = 0;
+                cur->policy.cache.subleaf[i].cores_per_package =
+                    (cur->policy.cache.subleaf[i].cores_per_package << 1) | 1;
+                cur->policy.cache.subleaf[i].threads_per_cache = 0;
             }
             break;
 
@@ -836,30 +810,22 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
              * apic_id_size values greater than 7.  Limit the value to
              * 7 for now.
              */
-            if ( p->extd.nc < 0x7f )
+            if ( cur->policy.extd.nc < 0x7f )
             {
-                if ( p->extd.apic_id_size != 0 && p->extd.apic_id_size < 0x7 )
-                    p->extd.apic_id_size++;
+                if ( cur->policy.extd.apic_id_size != 0 &&
+                     cur->policy.extd.apic_id_size < 0x7 )
+                    cur->policy.extd.apic_id_size++;
 
-                p->extd.nc = (p->extd.nc << 1) | 1;
+                cur->policy.extd.nc = (cur->policy.extd.nc << 1) | 1;
             }
             break;
         }
     }
 
-    rc = x86_cpuid_copy_to_buffer(p, leaves, &nr_leaves);
-    if ( rc )
-    {
-        ERROR("Failed to serialise CPUID (%d = %s)", -rc, strerror(-rc));
-        goto out;
-    }
-
-    rc = xc_set_domain_cpu_policy(xch, domid, nr_leaves, leaves, 0, NULL,
-                                  &err_leaf, &err_subleaf, &err_msr);
+    /* Re-apply the mutated policy onto the domain */
+    rc = xc_cpu_policy_set_domain(xch, domid, cur);
     if ( rc )
     {
-        PERROR("Failed to set d%d's policy (err leaf %#x, subleaf %#x, msr %#x)",
-               domid, err_leaf, err_subleaf, err_msr);
         rc = -errno;
         goto out;
     }
@@ -877,8 +843,9 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
     rc = 0;
 
 out:
-    free(p);
-    free(leaves);
+    xc_cpu_policy_destroy(cur);
+    xc_cpu_policy_destroy(def);
+    xc_cpu_policy_destroy(host);
 
     return rc;
 }
@@ -911,6 +878,39 @@ xc_cpu_policy_t *xc_cpu_policy_init(xc_interface *xch)
     return NULL;
 }
 
+xc_cpu_policy_t *xc_cpu_policy_clone(const xc_cpu_policy_t *other)
+{
+    xc_cpu_policy_t *policy;
+
+    if ( !other )
+        return NULL;
+
+    policy = malloc(sizeof(*policy));
+    if ( !policy )
+        return NULL;
+
+    *policy = *other;
+
+    /* Override every buffer with identical new ones */
+    policy->leaves.buf = calloc(other->leaves.allocated,
+                                sizeof(*other->leaves.buf));
+    policy->msrs.buf = calloc(other->msrs.allocated,
+                              sizeof(*other->msrs.buf));
+
+    if ( !policy->leaves.buf || !policy->msrs.buf )
+    {
+        xc_cpu_policy_destroy(policy);
+        return NULL;
+    }
+
+    memcpy(policy->leaves.buf, other->leaves.buf,
+           other->leaves.allocated);
+    memcpy(policy->msrs.buf, other->msrs.buf,
+           other->msrs.allocated);
+
+    return policy;
+}
+
 void xc_cpu_policy_destroy(xc_cpu_policy_t *policy)
 {
     int err = errno;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:49:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:49:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628915.980895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OKc-00068s-O3; Tue, 07 Nov 2023 15:49:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628915.980895; Tue, 07 Nov 2023 15:49: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 1r0OKc-00068B-Kl; Tue, 07 Nov 2023 15:49:34 +0000
Received: by outflank-mailman (input) for mailman id 628915;
 Tue, 07 Nov 2023 15:49: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=l2M1=GU=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r0OKb-0004f2-Jc
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:49:33 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3dc9f351-7d85-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 16:49:31 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-40837ebba42so36606305e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:49:31 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 n26-20020a1c721a000000b0040849ce7116sm15809852wmc.43.2023.11.07.07.49.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Nov 2023 07:49:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3dc9f351-7d85-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699372171; x=1699976971; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Zg9I/CTQ9r8/XZi0s/EqCV9zo0mb+8u/y0FvnwuuK8Q=;
        b=ilCAKlVlmt+kYaPsSoS8uEzEHCp1Hy4tlxP81q1iUoMRNVXg41b0V0cvtGXG/7L5/X
         QFhLkQwRb8AtlTv/eQ63j4AtjrzQxr1o/G7KkRj7pKsYxBAYWV9IryZaFlUiONR2JSn9
         wtL5SQCYsLCzAaXARgn/k/v1fxHocrGtBUG/A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699372171; x=1699976971;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Zg9I/CTQ9r8/XZi0s/EqCV9zo0mb+8u/y0FvnwuuK8Q=;
        b=dz+niKDzCIphwFgPNrCiUxcUOD9HfeHSCPhEuArT7m+6vGpq0Dh7RIRmez4kg8NFuT
         yAR0LD9ZbLhmtjhDtvzAh2+9IOJ7/tWFb8TQccK/chQWUcmMG869YMUidXwOw4XsSN09
         FkruRqI9kHWwYRCofPyUrXdBa4qbaKCHHKkpB5jXVlOXF4L11OHjqs64v7A301qOFB4a
         Jpb3kyYLYJczkrfEx0/J3TRzkKuxA+BnIPpwVlv0TPu7wNWg4w3jRvvvGDbVqts2L6mz
         1LexHeNgk8/36W2uOdXUNB78nDaNIEr+MGMUABpvFddJT3j675F6mPk14NI/C9EUQXMO
         bJYA==
X-Gm-Message-State: AOJu0YxDMm0hH75FZY8aWubJNwFlnqwsXdU857gs9VQLssNI9DpYpm6e
	XsZnmt/Nam5eUGXJ5lDiCMnNuzEBtpaRz8j1aWg=
X-Google-Smtp-Source: AGHT+IGHBCo0k8bNpvm6r5Lr7wMITTEJcpxCM8440tjO1RCgbZ8S1fYoK/EGjveG3B1gn2/3WKFp8g==
X-Received: by 2002:a05:600c:45cd:b0:405:1c14:9227 with SMTP id s13-20020a05600c45cd00b004051c149227mr2921945wmo.33.1699372170830;
        Tue, 07 Nov 2023 07:49:30 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 6/7] tools/xg: Simplify xc_cpuid_xend_policy() and xc_msr_policy()
Date: Tue,  7 Nov 2023 15:49:20 +0000
Message-Id: <20231107154921.54979-7-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
References: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove all duplication in CPUID and MSR xend-style overrides. They had an
incredible amount of overhead for no good reason.

After this patch, CPU policy application takes a number of hypercalls to
recover the policy state and then those are passed to the xend-style
override code so it can avoid them.

Furthermore, the ultimate reapplication of the policy to the domain in Xen
is done only once after both CPUID and MSRs have been fixed up.

BUG!!! apply_policy is sending the policy after deserialise when it poked
at it in its serialised form.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/libs/guest/xg_cpuid_x86.c | 261 +++++---------------------------
 1 file changed, 38 insertions(+), 223 deletions(-)

diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index acc94fb16b..e2a2659953 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -312,102 +312,32 @@ static int compare_leaves(const void *l, const void *r)
     return 0;
 }
 
-static xen_cpuid_leaf_t *find_leaf(
-    xen_cpuid_leaf_t *leaves, unsigned int nr_leaves,
-    const struct xc_xend_cpuid *xend)
+static xen_cpuid_leaf_t *find_leaf(xc_cpu_policy_t *p,
+                                   const struct xc_xend_cpuid *xend)
 {
     const xen_cpuid_leaf_t key = { xend->leaf, xend->subleaf };
 
-    return bsearch(&key, leaves, nr_leaves, sizeof(*leaves), compare_leaves);
+    return bsearch(&key, p->leaves.buf, p->leaves.len,
+                   sizeof(*p->leaves.buf), compare_leaves);
 }
 
 static int xc_cpuid_xend_policy(
-    xc_interface *xch, uint32_t domid, const struct xc_xend_cpuid *xend)
+    xc_interface *xch, uint32_t domid,
+    const struct xc_xend_cpuid *xend,
+    xc_cpu_policy_t *host,
+    xc_cpu_policy_t *def,
+    xc_cpu_policy_t *cur)
 {
-    int rc;
-    bool hvm;
-    xc_domaininfo_t di;
-    unsigned int nr_leaves, nr_msrs;
-    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    /*
-     * Three full policies.  The host, default for the domain type,
-     * and domain current.
-     */
-    xen_cpuid_leaf_t *host = NULL, *def = NULL, *cur = NULL;
-    unsigned int nr_host, nr_def, nr_cur;
-
-    if ( (rc = xc_domain_getinfo_single(xch, domid, &di)) < 0 )
-    {
-        PERROR("Failed to obtain d%d info", domid);
-        rc = -errno;
-        goto fail;
-    }
-    hvm = di.flags & XEN_DOMINF_hvm_guest;
-
-    rc = xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs);
-    if ( rc )
-    {
-        PERROR("Failed to obtain policy info size");
-        rc = -errno;
-        goto fail;
-    }
-
-    rc = -ENOMEM;
-    if ( (host = calloc(nr_leaves, sizeof(*host))) == NULL ||
-         (def  = calloc(nr_leaves, sizeof(*def)))  == NULL ||
-         (cur  = calloc(nr_leaves, sizeof(*cur)))  == NULL )
-    {
-        ERROR("Unable to allocate memory for %u CPUID leaves", nr_leaves);
-        goto fail;
-    }
-
-    /* Get the domain's current policy. */
-    nr_msrs = 0;
-    nr_cur = nr_leaves;
-    rc = get_domain_cpu_policy(xch, domid, &nr_cur, cur, &nr_msrs, NULL);
-    if ( rc )
-    {
-        PERROR("Failed to obtain d%d current policy", domid);
-        rc = -errno;
-        goto fail;
-    }
-
-    /* Get the domain type's default policy. */
-    nr_msrs = 0;
-    nr_def = nr_leaves;
-    rc = get_system_cpu_policy(xch, hvm ? XEN_SYSCTL_cpu_policy_hvm_default
-                                        : XEN_SYSCTL_cpu_policy_pv_default,
-                               &nr_def, def, &nr_msrs, NULL);
-    if ( rc )
-    {
-        PERROR("Failed to obtain %s def policy", hvm ? "hvm" : "pv");
-        rc = -errno;
-        goto fail;
-    }
-
-    /* Get the host policy. */
-    nr_msrs = 0;
-    nr_host = nr_leaves;
-    rc = get_system_cpu_policy(xch, XEN_SYSCTL_cpu_policy_host,
-                               &nr_host, host, &nr_msrs, NULL);
-    if ( rc )
-    {
-        PERROR("Failed to obtain host policy");
-        rc = -errno;
-        goto fail;
-    }
-
-    rc = -EINVAL;
     for ( ; xend->leaf != XEN_CPUID_INPUT_UNUSED; ++xend )
     {
-        xen_cpuid_leaf_t *cur_leaf = find_leaf(cur, nr_cur, xend);
-        const xen_cpuid_leaf_t *def_leaf = find_leaf(def, nr_def, xend);
-        const xen_cpuid_leaf_t *host_leaf = find_leaf(host, nr_host, xend);
+        xen_cpuid_leaf_t *cur_leaf = find_leaf(cur, xend);
+        const xen_cpuid_leaf_t *def_leaf = find_leaf(def, xend);
+        const xen_cpuid_leaf_t *host_leaf = find_leaf(host, xend);
 
         if ( cur_leaf == NULL || def_leaf == NULL || host_leaf == NULL )
         {
             ERROR("Missing leaf %#x, subleaf %#x", xend->leaf, xend->subleaf);
-            goto fail;
+            return -EINVAL;
         }
 
         for ( unsigned int i = 0; i < ARRAY_SIZE(xend->policy); i++ )
@@ -436,7 +366,7 @@ static int xc_cpuid_xend_policy(
                 {
                     ERROR("Bad character '%c' in policy[%d] string '%s'",
                           xend->policy[i][j], i, xend->policy[i]);
-                    goto fail;
+                    return -EINVAL;
                 }
 
                 clear_bit(31 - j, cur_reg);
@@ -446,25 +376,7 @@ static int xc_cpuid_xend_policy(
         }
     }
 
-    /* Feed the transformed currrent policy back up to Xen. */
-    rc = xc_set_domain_cpu_policy(xch, domid, nr_cur, cur, 0, NULL,
-                                  &err_leaf, &err_subleaf, &err_msr);
-    if ( rc )
-    {
-        PERROR("Failed to set d%d's policy (err leaf %#x, subleaf %#x, msr %#x)",
-               domid, err_leaf, err_subleaf, err_msr);
-        rc = -errno;
-        goto fail;
-    }
-
-    /* Success! */
-
- fail:
-    free(cur);
-    free(def);
-    free(host);
-
-    return rc;
+    return 0;
 }
 
 static int compare_msr(const void *l, const void *r)
@@ -478,104 +390,31 @@ static int compare_msr(const void *l, const void *r)
     return lhs->idx < rhs->idx ? -1 : 1;
 }
 
-static xen_msr_entry_t *find_msr(
-    xen_msr_entry_t *msrs, unsigned int nr_msrs,
-    uint32_t index)
+static xen_msr_entry_t *find_msr(xc_cpu_policy_t *p, uint32_t index)
 {
     const xen_msr_entry_t key = { .idx = index };
 
-    return bsearch(&key, msrs, nr_msrs, sizeof(*msrs), compare_msr);
+    return bsearch(&key, p->msrs.buf, p->msrs.len,
+                   sizeof(*p->msrs.buf), compare_msr);
 }
 
-
 static int xc_msr_policy(xc_interface *xch, domid_t domid,
-                         const struct xc_msr *msr)
+                         const struct xc_msr *msr,
+                         xc_cpu_policy_t *host,
+                         xc_cpu_policy_t *def,
+                         xc_cpu_policy_t *cur)
 {
-    int rc;
-    bool hvm;
-    xc_domaininfo_t di;
-    unsigned int nr_leaves, nr_msrs;
-    uint32_t err_leaf = -1, err_subleaf = -1, err_msr = -1;
-    /*
-     * Three full policies.  The host, default for the domain type,
-     * and domain current.
-     */
-    xen_msr_entry_t *host = NULL, *def = NULL, *cur = NULL;
-    unsigned int nr_host, nr_def, nr_cur;
-
-    if ( (rc = xc_domain_getinfo_single(xch, domid, &di)) < 0 )
-    {
-        PERROR("Failed to obtain d%d info", domid);
-        rc = -errno;
-        goto out;
-    }
-    hvm = di.flags & XEN_DOMINF_hvm_guest;
-
-    rc = xc_cpu_policy_get_size(xch, &nr_leaves, &nr_msrs);
-    if ( rc )
-    {
-        PERROR("Failed to obtain policy info size");
-        rc = -errno;
-        goto out;
-    }
-
-    if ( (host = calloc(nr_msrs, sizeof(*host))) == NULL ||
-         (def  = calloc(nr_msrs, sizeof(*def)))  == NULL ||
-         (cur  = calloc(nr_msrs, sizeof(*cur)))  == NULL )
-    {
-        ERROR("Unable to allocate memory for %u CPUID leaves", nr_leaves);
-        rc = -ENOMEM;
-        goto out;
-    }
-
-    /* Get the domain's current policy. */
-    nr_leaves = 0;
-    nr_cur = nr_msrs;
-    rc = get_domain_cpu_policy(xch, domid, &nr_leaves, NULL, &nr_cur, cur);
-    if ( rc )
-    {
-        PERROR("Failed to obtain d%d current policy", domid);
-        rc = -errno;
-        goto out;
-    }
-
-    /* Get the domain type's default policy. */
-    nr_leaves = 0;
-    nr_def = nr_msrs;
-    rc = get_system_cpu_policy(xch, hvm ? XEN_SYSCTL_cpu_policy_hvm_default
-                                        : XEN_SYSCTL_cpu_policy_pv_default,
-                               &nr_leaves, NULL, &nr_def, def);
-    if ( rc )
-    {
-        PERROR("Failed to obtain %s def policy", hvm ? "hvm" : "pv");
-        rc = -errno;
-        goto out;
-    }
-
-    /* Get the host policy. */
-    nr_leaves = 0;
-    nr_host = nr_msrs;
-    rc = get_system_cpu_policy(xch, XEN_SYSCTL_cpu_policy_host,
-                               &nr_leaves, NULL, &nr_host, host);
-    if ( rc )
-    {
-        PERROR("Failed to obtain host policy");
-        rc = -errno;
-        goto out;
-    }
-
     for ( ; msr->index != XC_MSR_INPUT_UNUSED; ++msr )
     {
-        xen_msr_entry_t *cur_msr = find_msr(cur, nr_cur, msr->index);
-        const xen_msr_entry_t *def_msr = find_msr(def, nr_def, msr->index);
-        const xen_msr_entry_t *host_msr = find_msr(host, nr_host, msr->index);
+        xen_msr_entry_t *cur_msr = find_msr(cur, msr->index);
+        const xen_msr_entry_t *def_msr = find_msr(def, msr->index);
+        const xen_msr_entry_t *host_msr = find_msr(host, msr->index);
         unsigned int i;
 
         if ( cur_msr == NULL || def_msr == NULL || host_msr == NULL )
         {
             ERROR("Missing MSR %#x", msr->index);
-            rc = -ENOENT;
-            goto out;
+            return -ENOENT;
         }
 
         for ( i = 0; i < ARRAY_SIZE(msr->policy) - 1; i++ )
@@ -594,8 +433,7 @@ static int xc_msr_policy(xc_interface *xch, domid_t domid,
             {
                 ERROR("MSR index %#x: bad character '%c' in policy string '%s'",
                       msr->index, msr->policy[i], msr->policy);
-                rc = -EINVAL;
-                goto out;
+                return -EINVAL;
             }
 
             if ( val )
@@ -605,25 +443,7 @@ static int xc_msr_policy(xc_interface *xch, domid_t domid,
         }
     }
 
-    /* Feed the transformed policy back up to Xen. */
-    rc = xc_set_domain_cpu_policy(xch, domid, 0, NULL, nr_cur, cur,
-                                  &err_leaf, &err_subleaf, &err_msr);
-    if ( rc )
-    {
-        PERROR("Failed to set d%d's policy (err leaf %#x, subleaf %#x, msr %#x)",
-               domid, err_leaf, err_subleaf, err_msr);
-        rc = -errno;
-        goto out;
-    }
-
-    /* Success! */
-
- out:
-    free(cur);
-    free(def);
-    free(host);
-
-    return rc;
+    return 0;
 }
 
 int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
@@ -822,25 +642,20 @@ int xc_cpuid_apply_policy(xc_interface *xch, uint32_t domid, bool restore,
         }
     }
 
-    /* Re-apply the mutated policy onto the domain */
-    rc = xc_cpu_policy_set_domain(xch, domid, cur);
-    if ( rc )
-    {
-        rc = -errno;
+    /*
+     * Ensure changes we just made are reflected in the serialised form of
+     * the policy, as otherwise they they will be missed by the xend overrides
+     */
+    if ( (rc = cpu_policy_serialise_on_self(xch, cur)) )
         goto out;
-    }
 
-    if ( xend && (rc = xc_cpuid_xend_policy(xch, domid, xend)) )
+    /* Apply xend-style overrides */
+    if ( (xend && (rc = xc_cpuid_xend_policy(xch, domid, xend, host, def, cur))) ||
+         (msr && (rc = xc_msr_policy(xch, domid, msr, host, def, cur))) )
         goto out;
 
-    if ( msr )
-    {
-        rc = xc_msr_policy(xch, domid, msr);
-        if ( rc )
-            goto out;
-    }
-
-    rc = 0;
+    /* Re-apply the mutated policy onto the domain */
+    rc = xc_cpu_policy_set_domain_from_serialised(xch, domid, cur);
 
 out:
     xc_cpu_policy_destroy(cur);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 15:49:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 15:49:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628916.980903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0OKd-0006Gf-9u; Tue, 07 Nov 2023 15:49:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628916.980903; Tue, 07 Nov 2023 15: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 1r0OKd-0006F9-3E; Tue, 07 Nov 2023 15:49:35 +0000
Received: by outflank-mailman (input) for mailman id 628916;
 Tue, 07 Nov 2023 15:49: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=l2M1=GU=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r0OKc-0004f2-75
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 15:49:34 +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 3e36e0fc-7d85-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 16:49:32 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-9c41e95efcbso867542466b.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 07:49:32 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 n26-20020a1c721a000000b0040849ce7116sm15809852wmc.43.2023.11.07.07.49.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 07 Nov 2023 07:49:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e36e0fc-7d85-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699372171; x=1699976971; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wDBR4US0usgZD2c5iZwJM+sDkiWc35BKuxl/wMSfHac=;
        b=QvNIK8271sfLDZrFCM5JT9b7DQNM5NA4KOVIdJaxFPtGwGIZl7ur4B15mcP87fgW7o
         zlmwwg26u0pMJvxMuM45W3Xt8zR4Zdqkgk9xkzt8zGeqLLOxQ0b3fkKw08yb2TdV5TXl
         0GjeOV8h66RY8Htsr3WxIXCkLUruphaqnsfvc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699372171; x=1699976971;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wDBR4US0usgZD2c5iZwJM+sDkiWc35BKuxl/wMSfHac=;
        b=T0IifDnJcB6dS2q8HLgo8J+g2FjGaM0CJL8b2qxcUnyooks39+QAbc5BBzsgyUnfnF
         dAYrBHnoPP9tyXN0hKBKua1j90jgZvxhNNzodRQLHeuN3j/geYqhS5m+oeWRx7yaipf3
         761HB/h+e/sXQnrFDVj6DrCEWbPd4qPzbFiQmU9qbTyNjCciWBp6Nm14FkhvikkxsrOy
         dO5Oknxqficn5yh6Y6zszRO1ArRsUaUFdGQONkRQGMKnSGfp6Am84rKy2sEZhkvce8Sv
         ENXsKvmIBDFrmlsoF1KXdQzSOqgmWTaxap7jLlr/o8LsWq+38BxYYzhU1o/L6RrD+RPb
         GB6Q==
X-Gm-Message-State: AOJu0YyKBHDRhziSn+l6JDzwCIM2SkXkTwtZRUl0MutTv0Q652p4ZJVz
	5VYNEo4Ky+Rf0ObwbL9jyXqSRO0jiWSKiM2121o=
X-Google-Smtp-Source: AGHT+IGqE9FPvetndnMzBHNgitBPMVRCK0GIGWphjpwGakTNt5adzQgfKtbmCnTDP6JlgVaAn6C4tg==
X-Received: by 2002:a17:907:7203:b0:9dd:64ca:dc69 with SMTP id dr3-20020a170907720300b009dd64cadc69mr10494988ejc.1.1699372171370;
        Tue, 07 Nov 2023 07:49:31 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH 7/7] tools/xg: Simplify hypercall stubs
Date: Tue,  7 Nov 2023 15:49:21 +0000
Message-Id: <20231107154921.54979-8-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
References: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Now there are no pending dependencies on the current form of the hypercall
stubs. Replace them with simpler forms that only take the xc_cpu_policy
object. This way the plumbing logic becomes a lot simpler, allowing the
policy to be extended without touching the plumbing code.

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/libs/guest/xg_cpuid_x86.c | 59 ++++++++++++---------------------
 1 file changed, 22 insertions(+), 37 deletions(-)

diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index e2a2659953..cf07a69764 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -125,16 +125,17 @@ int xc_cpu_policy_get_size(xc_interface *xch, uint32_t *nr_leaves,
     return ret;
 }
 
-static int get_system_cpu_policy(xc_interface *xch, uint32_t index,
-                                 uint32_t *nr_leaves, xen_cpuid_leaf_t *leaves,
-                                 uint32_t *nr_msrs, xen_msr_entry_t *msrs)
+static int get_system_cpu_policy_serialised(xc_interface *xch, uint32_t index,
+                                            xc_cpu_policy_t *p)
 {
     struct xen_sysctl sysctl = {};
+    xen_cpuid_leaf_t *leaves = p->leaves.buf;
+    xen_msr_entry_t *msrs = p->msrs.buf;
     DECLARE_HYPERCALL_BOUNCE(leaves,
-                             *nr_leaves * sizeof(*leaves),
+                             p->leaves.allocated * sizeof(*leaves),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     DECLARE_HYPERCALL_BOUNCE(msrs,
-                             *nr_msrs * sizeof(*msrs),
+                             p->msrs.allocated * sizeof(*msrs),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     int ret;
 
@@ -144,9 +145,9 @@ static int get_system_cpu_policy(xc_interface *xch, uint32_t index,
 
     sysctl.cmd = XEN_SYSCTL_get_cpu_policy;
     sysctl.u.cpu_policy.index = index;
-    sysctl.u.cpu_policy.nr_leaves = *nr_leaves;
+    sysctl.u.cpu_policy.nr_leaves = p->leaves.allocated;
     set_xen_guest_handle(sysctl.u.cpu_policy.leaves, leaves);
-    sysctl.u.cpu_policy.nr_msrs = *nr_msrs;
+    sysctl.u.cpu_policy.nr_msrs = p->msrs.allocated;
     set_xen_guest_handle(sysctl.u.cpu_policy.msrs, msrs);
 
     ret = do_sysctl(xch, &sysctl);
@@ -156,23 +157,24 @@ static int get_system_cpu_policy(xc_interface *xch, uint32_t index,
 
     if ( !ret )
     {
-        *nr_leaves = sysctl.u.cpu_policy.nr_leaves;
-        *nr_msrs = sysctl.u.cpu_policy.nr_msrs;
+        p->leaves.len = sysctl.u.cpu_policy.nr_leaves;
+        p->msrs.len = sysctl.u.cpu_policy.nr_msrs;
     }
 
     return ret;
 }
 
-static int get_domain_cpu_policy(xc_interface *xch, uint32_t domid,
-                                 uint32_t *nr_leaves, xen_cpuid_leaf_t *leaves,
-                                 uint32_t *nr_msrs, xen_msr_entry_t *msrs)
+static int get_domain_cpu_policy_serialised(xc_interface *xch, uint32_t domid,
+                                            xc_cpu_policy_t *p)
 {
     DECLARE_DOMCTL;
+    xen_cpuid_leaf_t *leaves = p->leaves.buf;
+    xen_msr_entry_t *msrs = p->msrs.buf;
     DECLARE_HYPERCALL_BOUNCE(leaves,
-                             *nr_leaves * sizeof(*leaves),
+                             p->leaves.allocated * sizeof(*leaves),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     DECLARE_HYPERCALL_BOUNCE(msrs,
-                             *nr_msrs * sizeof(*msrs),
+                             p->msrs.allocated * sizeof(*msrs),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
     int ret;
 
@@ -182,9 +184,9 @@ static int get_domain_cpu_policy(xc_interface *xch, uint32_t domid,
 
     domctl.cmd = XEN_DOMCTL_get_cpu_policy;
     domctl.domain = domid;
-    domctl.u.cpu_policy.nr_leaves = *nr_leaves;
+    domctl.u.cpu_policy.nr_leaves = p->leaves.allocated;
     set_xen_guest_handle(domctl.u.cpu_policy.leaves, leaves);
-    domctl.u.cpu_policy.nr_msrs = *nr_msrs;
+    domctl.u.cpu_policy.nr_msrs = p->msrs.allocated;
     set_xen_guest_handle(domctl.u.cpu_policy.msrs, msrs);
 
     ret = do_domctl(xch, &domctl);
@@ -194,8 +196,8 @@ static int get_domain_cpu_policy(xc_interface *xch, uint32_t domid,
 
     if ( !ret )
     {
-        *nr_leaves = domctl.u.cpu_policy.nr_leaves;
-        *nr_msrs = domctl.u.cpu_policy.nr_msrs;
+        p->leaves.len = domctl.u.cpu_policy.nr_leaves;
+        p->msrs.len = domctl.u.cpu_policy.nr_msrs;
     }
 
     return ret;
@@ -745,22 +747,14 @@ void xc_cpu_policy_destroy(xc_cpu_policy_t *policy)
 int xc_cpu_policy_get_system(xc_interface *xch, unsigned int policy_idx,
                              xc_cpu_policy_t *policy)
 {
-    unsigned int nr_leaves = policy->leaves.allocated;
-    unsigned int nr_msrs = policy->msrs.allocated;
     int rc;
 
-    rc = get_system_cpu_policy(xch, policy_idx,
-                               &nr_leaves, policy->leaves.buf,
-                               &nr_msrs, policy->msrs.buf);
-    if ( rc )
+    if ( (rc = get_system_cpu_policy_serialised(xch, policy_idx, policy)) )
     {
         PERROR("Failed to obtain %u policy", policy_idx);
         return rc;
     }
 
-    policy->leaves.len = nr_leaves;
-    policy->msrs.len = nr_msrs;
-
     rc = cpu_policy_deserialise_on_self(xch, policy);
     if ( rc )
     {
@@ -774,22 +768,13 @@ int xc_cpu_policy_get_system(xc_interface *xch, unsigned int policy_idx,
 int xc_cpu_policy_get_domain(xc_interface *xch, uint32_t domid,
                              xc_cpu_policy_t *policy)
 {
-    unsigned int nr_leaves = policy->leaves.allocated;
-    unsigned int nr_msrs = policy->msrs.allocated;
-    int rc;
-
-    rc = get_domain_cpu_policy(xch, domid,
-                               &nr_leaves, policy->leaves.buf,
-                               &nr_msrs, policy->msrs.buf);
+    int rc = get_domain_cpu_policy_serialised(xch, domid, policy);
     if ( rc )
     {
         PERROR("Failed to obtain domain %u policy", domid);
         return rc;
     }
 
-    policy->leaves.len = nr_leaves;
-    policy->msrs.len = nr_msrs;
-
     rc = cpu_policy_deserialise_on_self(xch, policy);
     if ( rc )
     {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 16:56:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 16:56:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628948.980916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0PN8-0004Sl-1a; Tue, 07 Nov 2023 16:56:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628948.980916; Tue, 07 Nov 2023 16: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 1r0PN7-0004Se-VH; Tue, 07 Nov 2023 16:56:13 +0000
Received: by outflank-mailman (input) for mailman id 628948;
 Tue, 07 Nov 2023 16: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0PN6-0004SY-PC
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 16:56:12 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8bee6e4c-7d8e-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 17:56:08 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-5437d60fb7aso9956215a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 08:56:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bee6e4c-7d8e-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699376168; x=1699980968; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8S8wnXZd9n9mYNzK/2mBf3TewbU55dx3tSwnH/dRyiQ=;
        b=CnLxRlXPrJ1b+cJs0erohxVZJLCQRqAP1/VOUtmjLLp+JSOdqN6AEvPczUIaAK7Ss4
         dmOyp77H7m5BrX1SjVA+NtN8pCQFYrCqsPjUt7LzRPiSivoptEDup90TuttUIFW5SGpY
         iQD3E1VbhlOfPewB9XefS5bBivKY1miri55UpQ9niw/hgK2QRNd7COby0Sn1gXXOzxIw
         /BQIkM+WQpKgxZ3TaYnIRSamRblbvMnA4KhrSSWK5UasMg9JGyzm1ryPJWk4HdrH1a4S
         fV2D+RC2ZcyRiRMNY8hC+Q5Hcf9HdlsVBfnWo0PICmqc+NqNri0YJ9/peOjGzkfFwo81
         r/tQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699376168; x=1699980968;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8S8wnXZd9n9mYNzK/2mBf3TewbU55dx3tSwnH/dRyiQ=;
        b=hfIzfG6Lm9xh86N/paH5Q6s5DgP3VtTqWs2E+wJlfuQyDEDIM9FtCD09Ds5KeVqnrK
         lDg7jc4+XKBWtqpEhL437Wjo0h3YRsh5fqgcdazhQnXtTf9zb+AgVL3ikyXQQjXrw8s5
         bJ9O5uEzpYkRt8CU2mojLSZXwHzv4ZW78q1ziMtE0q3GLWqAsrbP15n9SPnXBRY/8QJ3
         UU/IUrlxgbvkj6xdCL2E4zGsyZMFKKNGNPbiyieB9aHy6jxOkyqgKWT4mx9n0wgr2tN/
         1M6oKscEX34Q6S6LAFCE79SU2J9B+cQNtDGa04d5kPY7e4d2uoXN0l68/Zx5SEthywKn
         NbPw==
X-Gm-Message-State: AOJu0YwbK0mx89qSph5k/wizEVqatzqSPhlf1fMkyb8tRQpKZiv988jO
	WgK60Gj9V5CcJcWmecNTaUwwDw/QlX/lE3DfG58=
X-Google-Smtp-Source: AGHT+IH1V3m/FvGOeTQzeM4bN8ynXMjeeOzMmXRL+ppsYRTpqD+fCnx78sUTh8Cg2w4C6C2p0/l9IjWag3v9FFAMnT4=
X-Received: by 2002:a50:d483:0:b0:544:55c3:ccf9 with SMTP id
 s3-20020a50d483000000b0054455c3ccf9mr8553839edi.22.1699376167649; Tue, 07 Nov
 2023 08:56:07 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-17-jgross@suse.com>
In-Reply-To: <20231101093325.30302-17-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 11:55:55 -0500
Message-ID: <CAKf6xpsCb-20cj2pEQGk0LUwHw1cd0Wk7xRW01Y9=trtsRAVrw@mail.gmail.com>
Subject: Re: [PATCH 16/29] tools/xl: support new 9pfs backend xenlogd
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 6:41=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add support for the new 9pfs backend "xenlogd". For this backend type
> the tag defaults to "Xen" and the host side path to
> "/var/log/xen/guests/<dom-name>".
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

> diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
> index ed983200c3..346532e117 100644
> --- a/tools/xl/xl_parse.c
> +++ b/tools/xl/xl_parse.c

> @@ -2242,6 +2256,27 @@ void parse_config_data(const char *config_source,
>
>              libxl_string_list_dispose(&pairs);
>
> +            if (p9->type =3D=3D LIBXL_P9_TYPE_UNKNOWN) {
> +                p9->type =3D LIBXL_P9_TYPE_QEMU;
> +            }
> +            if (p9->type =3D=3D LIBXL_P9_TYPE_QEMU &&
> +                (p9->max_space || p9->auto_delete)) {

Also check p9->max_open_files and p9->max_files?

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 17:35:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 17:35:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628955.980926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0PzM-0005Rj-2H; Tue, 07 Nov 2023 17:35:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628955.980926; Tue, 07 Nov 2023 17: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 1r0PzL-0005Rc-W1; Tue, 07 Nov 2023 17:35:43 +0000
Received: by outflank-mailman (input) for mailman id 628955;
 Tue, 07 Nov 2023 17:35: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 1r0PzK-0005RU-FI
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 17:35: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 1r0PzJ-0001WF-M7; Tue, 07 Nov 2023 17:35:41 +0000
Received: from 54-240-197-239.amazon.com ([54.240.197.239]
 helo=[192.168.15.180]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0PzJ-0006Lx-DR; Tue, 07 Nov 2023 17:35: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=j21g8dpn/q+EGMfdr9jayfb1ajEj2csdSt6CFQ/MqKA=; b=VuQaGbEKgfEMW0vD00Uu0b7vUY
	iXIPdHdF5tyoszMGmW893EDjGav3YTgJNibmCWti6ETuSAJtK7JNnwavrgkb/U0jtPUvOGkWNb6nn
	Dk2MJ3g1PxJA0B4UI4vcNJZ5gFtbKUPH2Qrm4K3dgeEnSQ7jz0Ct20sPW7+wusRN8wFk=;
Message-ID: <a35f339b-29c4-4618-a631-0b53019424b1@xen.org>
Date: Tue, 7 Nov 2023 17:35:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 4/4] automation/eclair: add deviation for certain
 backwards goto
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
 <306ca49d5d63ea0614bbcef470efec9234d1a018.1699295113.git.nicola.vetrini@bugseng.com>
 <a95c6666-dbf3-4f1f-9618-b1f31bf47710@xen.org>
 <31d0509acf5a31351d6efa7c66710729@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <31d0509acf5a31351d6efa7c66710729@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 07/11/2023 14:45, Nicola Vetrini wrote:
> Hi Julien,

Hi,

> On 2023-11-07 13:44, Julien Grall wrote:
>>> +in the community."
>>> +-config=MC3R1.R15.2,reports+={deliberate, 
>>> "any_area(any_loc(text(^.*goto (again|retry).*$)))"}
>>> +-doc_end
>>> +
>>>   #
>>>   # Series 20.
>>>   #
>>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>>> index 8511a189253b..7d1e1f0d09b3 100644
>>> --- a/docs/misra/deviations.rst
>>> +++ b/docs/misra/deviations.rst
>>> @@ -208,6 +208,16 @@ Deviations related to MISRA C:2012 Rules:
>>>          statements are deliberate.
>>>        - Project-wide deviation; tagged as `disapplied` for ECLAIR.
>>>   +   * - R15.2
>>> +     - The possible prevention of developer confusion as a result of 
>>> using
>>> +       control flow structures other than backwards goto-s in some 
>>> instances was
>>> +       deemed not strong enough to justify the additional complexity 
>>> introduced
>>> +       in the code. Such instances are the uses of the following 
>>> labels:
>>> +
>>> +       - again
>>> +       - retry
>>
>> Have you investigated the possibility to use SAF-X in the code? If so, 
>> what's the problem to use them?
>>
>> Cheers,
> 
> This is another viable option: putting the SAF comment on top of the 
> label should suffice,
> as shown below:
> 
> /* SAF-2-safe */
> repeat:
>      ++fmt;          /* this also skips first '%' */
>      switch (*fmt) {
>      case '-': flags |= LEFT; goto repeat;
>      case '+': flags |= PLUS; goto repeat;
>      case ' ': flags |= SPACE; goto repeat;
>      case '#': flags |= SPECIAL; goto repeat;
>      case '0': flags |= ZEROPAD; goto repeat;
>      }
> 
> I think it ultimately boils down to whether Xen wants to promote the use 
> of certain labels
> as the designated alternative when no other control flow mechanism is 
> clearer from a
> readability perspective (in which case there should be a consistent 
> naming to capture and deviate
> all of them, such as "retry") or do so on a case-by-case basis with a 
> SAF, which is ok,

I would prefer a case-by-case basis because it adds an additional 
review. With deviating by keywords, the reviewrs/developpers may not be 
aware of the deviation (which may be fine for some, but IMHO not this one).

> but then
> it needs someone to check each one and either fix them or mark them as ok.

Don't we technically already need to go through all the existing use of 
ready & co even if we deviate by keyword?

> Yet another route could be to mark with a SAF all those present right 
> now to establish a baseline.

How many do we have?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 17:58:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 17:58:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628961.980937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0QKm-0002MG-OY; Tue, 07 Nov 2023 17:57:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628961.980937; Tue, 07 Nov 2023 17:57: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 1r0QKm-0002M9-LD; Tue, 07 Nov 2023 17:57:52 +0000
Received: by outflank-mailman (input) for mailman id 628961;
 Tue, 07 Nov 2023 17:57: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 1r0QKl-0002M3-OI
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 17:57: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 1r0QKk-0001uW-RV; Tue, 07 Nov 2023 17:57:50 +0000
Received: from 54-240-197-231.amazon.com ([54.240.197.231]
 helo=[192.168.15.180]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0QKk-0007bz-K9; Tue, 07 Nov 2023 17: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>
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=fS/lDKQ+ZuVGMdcQjvHBJKfxZCHVvRlh860QLiETbXY=; b=29Wy6c2MUhUUeMwHXk5RnPPTvQ
	U3QhYzZrwhCa7oHCh0wkaShs/QpgML9kkpqNVhcJPkEUtODzpYqqDfXWTERVChc42VtjZTvF+Z835
	f7bwFsIcUMH4ZeklpMsq2Sw2leLvqVBqd0qNUrw09+m+BSRq6RHGX3ySbZ9J17udy880=;
Message-ID: <18a1bb98-0eb4-4fc9-89e1-b32707cdcf9e@xen.org>
Date: Tue, 7 Nov 2023 17:57:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 07/10] arm/traps: address a violation of MISRA C:2012
 Rule 8.2
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
Cc: consulting@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Henry Wang <henry.wang@arm.com>
References: <cover.1697207038.git.federico.serafini@bugseng.com>
 <dbc0e965cd9f93848d27e7ebf0ffcfca05499d58.1697207038.git.federico.serafini@bugseng.com>
 <7db6d930-8a06-4a1b-b668-94df62972caa@xen.org>
In-Reply-To: <7db6d930-8a06-4a1b-b668-94df62972caa@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefano,

On 16/10/2023 10:02, Julien Grall wrote:
> Hi,
> 
> On 13/10/2023 16:24, Federico Serafini wrote:
>> Add missing parameter name, no functional change.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> ---
>>   xen/arch/arm/traps.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
>> index ce89f16404..5aa14d4707 100644
>> --- a/xen/arch/arm/traps.c
>> +++ b/xen/arch/arm/traps.c
>> @@ -1236,7 +1236,7 @@ int do_bug_frame(const struct cpu_user_regs 
>> *regs, vaddr_t pc)
>>       if ( id == BUGFRAME_run_fn )
>>       {
>> -        void (*fn)(const struct cpu_user_regs *) = (void 
>> *)regs->BUG_FN_REG;
>> +        void (*fn)(const struct cpu_user_regs *regs) = (void 
>> *)regs->BUG_FN_REG;
> 
> Now the line will be over 80 characters. I think we should introduce a 
> typedef. This would also help in the longer run to validate that the 
> function passed to run_in_exception_handle() has the expected prototype.

I see this patch was committed in your for-4.19 branch. But this comment 
was unaddressed. Can you drop the patch because your branch is committed 
in staging?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 18:23:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 18:23:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628969.980947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Qji-000897-Ll; Tue, 07 Nov 2023 18:23:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628969.980947; Tue, 07 Nov 2023 18:23: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 1r0Qji-000890-Hs; Tue, 07 Nov 2023 18:23:38 +0000
Received: by outflank-mailman (input) for mailman id 628969;
 Tue, 07 Nov 2023 18:23: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0Qjh-00087c-JF
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 18:23:37 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c3005f89-7d9a-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 19:23:34 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-9becde9ea7bso1410815566b.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 10:23:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3005f89-7d9a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699381414; x=1699986214; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A4awz8xlu5gQqeS3oMKh08Lwa8/xNPSu437k7l92JKk=;
        b=LloKpgpfi/aEH4pTjbbzFgKp9gqTMA3u++NEwY3UjyZgfcEkhW6M2qZJjE+lAu7lbB
         qDfv7UINCfbjTDrqlRCo3fgA5vyt4+7kqDucCnAHJgQN3VPkearfjPzqDyYS3MfMCD+q
         /xfGvnuhhhYJIieB+DJOkznoRgQkyej9O3VWWRAQXU+38mlfY7MRwET8oyIu6rvqd4pO
         D2MI9FvZA4aRZBTeFTzXwAxO9O1o4kzux9SUOp1LDkUpSXMrSqfVrMOEfjumMQZsnFH6
         pYcdEVr9zoJJh5wx+C0VtxtK24w93Be+J9iiq+4NquKgfA9sUB982F/yM3X8vviBsfbv
         nGqQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699381414; x=1699986214;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=A4awz8xlu5gQqeS3oMKh08Lwa8/xNPSu437k7l92JKk=;
        b=MCodCZUwT1iukDLXd5leosdCFA3v9AfodRlzA7jyfyt2Ww1Rud1XulqXb9WYRotlHr
         zTg59jAbo7d8/3L8g/LB4ii6DWAkcVgD8UTDM+loQyI2gE+/SoAQcc8wdNGU3i650zIL
         /M8TP0sdoXByI5yQufAtI3AzmMmHfELQFi8Oyeq3stA9kNoY8l2Vl62kkvJ0KRDFKg6Q
         7lw0xeOIj7YbVBveuSUu4RqK0fFK4flHqhLAMY21ZzwF+NUYF3P7XYs5Am3KcunXUHJY
         n0D0fgM9KobuBKub1SVTQMMBIhUQfqGE8VGOxU8La/AbT6wsm0rGxEuh1ZplhG9+KN0Y
         SgOQ==
X-Gm-Message-State: AOJu0YzgOJT62kKvUzIzx5bJLPk/Q5ar5PZda3jwNeSwyCI7L0db5Z4+
	Kcj3XZnaf+DHO7yYhc0GkTHLGV1L+e7zUtGiI74=
X-Google-Smtp-Source: AGHT+IEkI1b8Pu7uqla+BuVaP8GwIMagAk2epVkyUrJcrHvrgqztN5jxaYLmd9KxHtl3t8BHw07HdjoG7mpzbQ3VnbM=
X-Received: by 2002:a17:906:3582:b0:9ae:50ec:bd81 with SMTP id
 o2-20020a170906358200b009ae50ecbd81mr2858949ejb.21.1699381414013; Tue, 07 Nov
 2023 10:23:34 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-18-jgross@suse.com>
In-Reply-To: <20231101093325.30302-18-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 13:23:22 -0500
Message-ID: <CAKf6xpvbHWwfDOef9GZEg-WEmb+1fZN+Y_BT379UW1Oa8r0dTA@mail.gmail.com>
Subject: Re: [PATCH 17/29] tools/helpers: allocate xenstore event channel for
 xenstore stubdom
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:53=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> In order to prepare support of PV frontends in xenstore-stubdom, add
> allocation of a Xenstore event channel to init-xenstore-domain.c.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 18:25:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 18:25:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628972.980957 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Ql2-0000qW-WC; Tue, 07 Nov 2023 18:25:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628972.980957; Tue, 07 Nov 2023 18:25: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 1r0Ql2-0000qP-Rj; Tue, 07 Nov 2023 18:25:00 +0000
Received: by outflank-mailman (input) for mailman id 628972;
 Tue, 07 Nov 2023 18:24: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0Ql1-0000qG-Jz
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 18:24:59 +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 f52df6d2-7d9a-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 19:24:58 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5409bc907edso10019532a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 10:24:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f52df6d2-7d9a-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699381498; x=1699986298; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/5gYafX7ztJebzjQB8UVsV2fLf/fzoCDawphMK/D/UM=;
        b=YSx9zofr8eIF969aFWrfAaqtGrBdXoZStMPjWsyo2ccMzvIN3wtqv8DXMb1+dp8V5x
         VHN7B7XnwzXrOM5Wk2ElUFmIaQmYg4RguJhFfsjUIFHWYhjGnWSDwYLcxQCFPzdE3x84
         p+ot2dDUlzj+LLs/m2V0aCWFcsZuRffu+ANDQqIlWSBFphNZiVKQVpcdilXTBVF28IyN
         IWqR4TU1/z0jVUgye9nL9D5s6E0Snojs1osOYlYxicWH1qoepGINif4czNX/c6+6wh4a
         ywdlE+o3pmuflepCVQUoSkNzi6oysr1vFT6DIPf3cg/LGFaXS+qzVVNVbYpbAaoh6T1M
         0ieQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699381498; x=1699986298;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/5gYafX7ztJebzjQB8UVsV2fLf/fzoCDawphMK/D/UM=;
        b=nzO/o3Xli1zgk4VNT/FcjTknW7NgvDUfpwVf3ahJUOZuRT0O+/uJJIco+wMNi/3sgc
         dyditWcT8LEcnukOcC949s1nx/PfkFsNiU59QwH4RDpT53TtBEC9HvA2CKAI0B9l+pP/
         2Koy7o1gMNrDhpGLLrVE2k1q/5OGpeOGZZrW5FoPA6Q0h0f8RnS/MoyimUA20upsjkp0
         yYZz/NhKBlQi/eGPmyA0P7xd11hyIkcE64or/0Wl+ir6rjNPBhgrD1CJca/7sfYjS1wr
         tfJWuLH/VTB22KjAaLsbABct0y3AmeKc/1qpkcdm7VF4IzSmIC6LZjX1CpY+KtUbl8q9
         XVVw==
X-Gm-Message-State: AOJu0YzfgihsHK62hQZ7EKeOAES1ubs/arxkiZedzy/aUkF8F+VJQlU/
	FiztKNLmgaJmrkBIrmvQGZyDSqAVcGmeVLszQbY=
X-Google-Smtp-Source: AGHT+IHgTHQALyTMiY5UH3wGKMabsNuFiAQfgBIxZ79WOOk+k79ew0YaMR6HBspmCtT/NPYloa3mZs+VphNWqKu3mRM=
X-Received: by 2002:a50:9ea7:0:b0:53d:bc68:633d with SMTP id
 a36-20020a509ea7000000b0053dbc68633dmr27207425edf.7.1699381498068; Tue, 07
 Nov 2023 10:24:58 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-20-jgross@suse.com>
In-Reply-To: <20231101093325.30302-20-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 13:24:46 -0500
Message-ID: <CAKf6xpvn12Fn_yUVXBf7vrgMxxCQihRovvA=sfYYRHTnW6TFuw@mail.gmail.com>
Subject: Re: [PATCH 19/29] stubdom: extend xenstore stubdom configs
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, 
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:48=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Extend the config files of the Xenstore stubdoms to include XENBUS
> and 9PFRONT items in order to support file based logging.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 19:19:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 19:19:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628978.980967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0RbL-0003HE-OU; Tue, 07 Nov 2023 19:19:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628978.980967; Tue, 07 Nov 2023 19:19: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 1r0RbL-0003H7-LN; Tue, 07 Nov 2023 19:19:03 +0000
Received: by outflank-mailman (input) for mailman id 628978;
 Tue, 07 Nov 2023 19:19: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0RbK-0003H1-LK
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 19:19:02 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 815fe951-7da2-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 20:19:00 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-53f9af41444so10435273a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 11:19:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 815fe951-7da2-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699384740; x=1699989540; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FH+Z8GE0ox0XEjyJcui2h4jyACm/g0m2uaxOlWYGrfg=;
        b=OZmq/oFrjP2Lkkllmko4PfZJIls4GuTTDB9tfF0cabS/J2GKNxR/an6gKHnD3Kz4YF
         C+5GqTCQpmTZOlgAVwtRYXp2zUee1aOYqzLv2dDq0IA304xBlWIIkYdjuhes8rTves31
         fvhX60N4ikjvJMxj0/+Jk7c0UW2l4b/i8AkyLvynR3OC3EcHAy5OhWyhZV/cDmjZGTZW
         1Ct681AbCTWMf6FnRbidZt9HkTpqwLPBVnV3LM7V5NnL4AeplaV8pv2NmKYTsr1rHjMA
         Wl1oZB5EQju4AtGAO+COmRMEckMPlcl7WmqeE/2Y2RQBI1vVPyj8QMblPEPKhZgWRQNl
         o/7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699384740; x=1699989540;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=FH+Z8GE0ox0XEjyJcui2h4jyACm/g0m2uaxOlWYGrfg=;
        b=rwqlLrYI9PsWOY1x4oVcenz5QRQv7+KuAqs3rGQJ3DIZik8p6fy96i+YnAmVtgfzIX
         9Y9vSVE/B3BuMzv2rPepHAALlFCxE/wspgN5W/LRbunPRclKsDNj70vMVhb33bZDmowF
         aW/4EZfs/25y+UGEWypzgRnY9Ntv9Fej5iRATcNRDgenMKQqwEBheLzD5nyydE6ecNIx
         /vUOfqnk0xEJwl5SnZ3+JXAFXAkV1AgfsEFZGqnL+ZfhHxBy7dYmXOTTm6HwWmHcDS0s
         asOGQxISvwjcMLjWioihoZuYCoUy8D9H7miQXrlM7W+Dzw4RaJ/LCb+eJ6BmI6pZNpzP
         Hqfw==
X-Gm-Message-State: AOJu0Yxy7Ip1H/NotjiRQP/4OcdkRonJ763iYDqK+P2Pkiz5k0V7HiSr
	hEBhd3lzQRnIa2N3Unz/BnZk5vh3Q4GA4QQ/9tE=
X-Google-Smtp-Source: AGHT+IGg2xNAh0OFnnDZ9t5QxxnY50vQsqmzdrSiwCnIPAOn4SLxnd1PlopDFkGYUYHdtDvO1m1JsnUNmG2RZIRsvvE=
X-Received: by 2002:aa7:cc8c:0:b0:53f:738c:3eeb with SMTP id
 p12-20020aa7cc8c000000b0053f738c3eebmr25421280edt.28.1699384739757; Tue, 07
 Nov 2023 11:18:59 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-21-jgross@suse.com>
In-Reply-To: <20231101093325.30302-21-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 14:18:46 -0500
Message-ID: <CAKf6xps6DOJpVqsVv_OzQbuG2fQniYtbDyu=WSqrC+FXC=K5dw@mail.gmail.com>
Subject: Re: [PATCH 20/29] tools: add 9pfs device to xenstore-stubdom
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 8:23=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add a 9pfs device to Xenstore stubdom in order to allow it to do e.g.
> logging into a dom0 file.
>
> Use the following parameters for the new device:
>
> - tag =3D "xen"
> - type =3D "xenlogd"
> - path =3D "/var/lib/xen/xenstore"
>
> For now don't limit allowed file space or number of files.
>
> Add a new libxl function for adding it similar to the function for
> adding the console device.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

> diff --git a/tools/libs/light/libxl_9pfs.c b/tools/libs/light/libxl_9pfs.=
c
> index 0b9d84dce9..3297389493 100644
> --- a/tools/libs/light/libxl_9pfs.c
> +++ b/tools/libs/light/libxl_9pfs.c
> @@ -174,6 +174,35 @@ static void libxl__device_p9_add(libxl__egc *egc, ui=
nt32_t domid,
>          aodev->callback(egc, aodev);
>  }
>
> +int libxl_p9_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backe=
nd,
> +                          libxl_p9_type type, char *tag, char *path,
> +                          unsigned int max_space, unsigned int max_files=
,
> +                          unsigned int max_open_files, bool auto_delete,
> +                          const libxl_asyncop_how *ao_how)
> +{
> +    AO_CREATE(ctx, domid, ao_how);
> +    libxl__ao_device *aodev;
> +    libxl_device_p9 p9 =3D { .backend_domid =3D backend,
> +                           .tag =3D tag,
> +                           .path =3D path,
> +                           .security_model =3D "none",

While the xl.cfg man page states that only security_model=3D"none" is
supported, it is possible to use other ones.    The value isn't
inspected and it is just passed through Xenstore to QEMU.  QEMU can
then operate however it operates.  I just tested mapped-xattr and it's
working from some quick testing.  So maybe libxl_p9_add_xenstore()
should take security_model as an argument, and then
init-xenstore-domain can pass in "none"?

Everything else looks good, so either way:
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 19:23:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 19:23:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628982.980977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0RfR-0004i7-8h; Tue, 07 Nov 2023 19:23:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628982.980977; Tue, 07 Nov 2023 19:23: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 1r0RfR-0004i0-4t; Tue, 07 Nov 2023 19:23:17 +0000
Received: by outflank-mailman (input) for mailman id 628982;
 Tue, 07 Nov 2023 19:23: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0RfP-0004hu-Vp
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 19:23:15 +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 19294ebc-7da3-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 20:23:15 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-53d8320f0easo10079545a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 11:23:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19294ebc-7da3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699384994; x=1699989794; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ncJFXHIt1m7g/r97LOH29GkiUPpODjZPNj9S7uSvwXs=;
        b=h4EciSVzSxEfrvStvlMTjDe8377qNXJRpnHGk/XqjFhgxmAXAHnzieICN0Dxbi45yv
         5IQ7bEiKG88cDNOKRIMazIGIaL2zdslorWnRL658dz+jK/uMz2d1BEF09YAQzK1p4ABv
         RKHOZ6bk0bYvTUYIA4ohUAeD+EHngaEqJN42dJERSJpUZ3q1quhB2FV/9tfGfQHfvz9n
         LyjSL3WhHlZaUXNcsNmQh/BB7hLAZjcMeRUyIu3uJ+7Fz4jg5y8sQb/HADZibmYawal9
         7hwnfuB+cikwjzCDUV93lMDmbc/ebwT3M+00OikzcYS575YCJdvTW0gz84r4fdOS7hfL
         W2ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699384994; x=1699989794;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ncJFXHIt1m7g/r97LOH29GkiUPpODjZPNj9S7uSvwXs=;
        b=XO+P+s1JsH1tdZX2nT8/EdT7fqwIx5FeJSp+1Q90BHeQr2CSwGe1Rq8SgG+wj9qx+U
         W9JxY6YLNe2aurN860mZuVIXLZ1bcmwPX7wgJSeBpv71WgrGQDrhJfUqn4djo2p4UsKt
         WhF5LnlsbGl5ToEtkNkBFtvWBArRol5tH7mU5p4L6fRDIiC1WKaiC0CKsssw1gzn3j0X
         rJ1/FsDgdVugBC5Flocu+DqM/Mu4vlreKCkyBUmquJ/DTxzuDN2dnvxsE+0Q10Mb/0ch
         8GILJ1ioUCNK/IkMGEh5nCDnsQEZrWaZrLM6QiuAgrSv8+VZmAVZfeAi7MNHIIq7VVQV
         fFRQ==
X-Gm-Message-State: AOJu0Yz67b7WsyS9S+O15pDHbOURcOVHAsDKP2qwMo5SIa2pocHlMQrm
	OAQy7YI6tnf9kAODCu8isXwo8Ij29DdzCUzd8Rk=
X-Google-Smtp-Source: AGHT+IEMofb8CwBo60grrdyHsx9FWSKzVFpZpmVv1YCHdgAeLupZNeQikt/HDQdO5Y+LAC557kg29r9LEqkxnblW4HU=
X-Received: by 2002:a50:f68d:0:b0:543:cc90:d95 with SMTP id
 d13-20020a50f68d000000b00543cc900d95mr12696246edn.40.1699384994525; Tue, 07
 Nov 2023 11:23:14 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-23-jgross@suse.com>
In-Reply-To: <20231101093325.30302-23-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 14:23:02 -0500
Message-ID: <CAKf6xpuo0wsAucy7p_zpJBqB+Ksh4cEM=siHJYyUj=g8ws0ikg@mail.gmail.com>
Subject: Re: [PATCH 22/29] tools/xenstored:
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 7:15=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> When [un]mapping the ring page of a Xenstore client, different actions
> are required for "normal" guests and dom0. Today this distinction is
> made at call site.
>
> Move this distinction into [un]map_interface() instead, avoiding code
> duplication and preparing special handling for [un]mapping the stub
> domain's ring page.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 19:36:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 19:36:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628986.980987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Rrn-00004x-AZ; Tue, 07 Nov 2023 19:36:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628986.980987; Tue, 07 Nov 2023 19:36: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 1r0Rrn-00004q-7X; Tue, 07 Nov 2023 19:36:03 +0000
Received: by outflank-mailman (input) for mailman id 628986;
 Tue, 07 Nov 2023 19:36: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=FJkF=GU=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1r0Rrl-0008Vz-V5
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 19:36:01 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e10debd1-7da4-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 20:36:00 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3A7JZSMH060474
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 7 Nov 2023 14:35:34 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3A7JZQTj060473;
 Tue, 7 Nov 2023 11:35:26 -0800 (PST) (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: e10debd1-7da4-11ee-98da-6d05b1d4d9a1
Date: Tue, 7 Nov 2023 11:35:26 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Neowutran <xen@neowutran.ovh>, 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] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZT_LWjKgQxOE9lpj@macbook>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Mon, Oct 30, 2023 at 04:27:22PM +0100, Roger Pau Monn wrote:
> On Mon, Oct 30, 2023 at 07:50:27AM -0700, Elliott Mitchell wrote:
> > On Tue, Oct 24, 2023 at 03:51:50PM +0200, Roger Pau Monne wrote:
> > > diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
> > > index 707deef98c27..15632cc7332e 100644
> > > --- a/xen/arch/x86/genapic/x2apic.c
> > > +++ b/xen/arch/x86/genapic/x2apic.c
> > > @@ -220,38 +239,56 @@ static struct notifier_block x2apic_cpu_nfb = {
> > >  static int8_t __initdata x2apic_phys = -1;
> > >  boolean_param("x2apic_phys", x2apic_phys);
> > >  
> > > +enum {
> > > +   unset, physical, cluster, mixed
> > > +} static __initdata x2apic_mode = unset;
> > > +
> > > +static int __init parse_x2apic_mode(const char *s)
> > > +{
> > > +    if ( !cmdline_strcmp(s, "physical") )
> > > +        x2apic_mode = physical;
> > > +    else if ( !cmdline_strcmp(s, "cluster") )
> > > +        x2apic_mode = cluster;
> > > +    else if ( !cmdline_strcmp(s, "mixed") )
> > > +        x2apic_mode = mixed;
> > > +    else
> > > +        return EINVAL;
> > > +
> > > +    return 0;
> > > +}
> > > +custom_param("x2apic-mode", parse_x2apic_mode);
> > > +
> > >  const struct genapic *__init apic_x2apic_probe(void)
> > >  {
> > > -    if ( x2apic_phys < 0 )
> > > +    /* x2apic-mode option has preference over x2apic_phys. */
> > > +    if ( x2apic_phys >= 0 && x2apic_mode == unset )
> > > +        x2apic_mode = x2apic_phys ? physical : cluster;
> > > +
> > > +    if ( x2apic_mode == unset )
> > >      {
> > > -        /*
> > > -         * Force physical mode if there's no (full) interrupt remapping support:
> > > -         * The ID in clustered mode requires a 32 bit destination field due to
> > > -         * the usage of the high 16 bits to hold the cluster ID.
> > > -         */
> > > -        x2apic_phys = iommu_intremap != iommu_intremap_full ||
> > > -                      (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
> > > -                      IS_ENABLED(CONFIG_X2APIC_PHYSICAL);
> > > -    }
> > > -    else if ( !x2apic_phys )
> > > -        switch ( iommu_intremap )
> > > +        if ( acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL )
> > >          {
> > 
> > Could this explain the issues with recent AMD processors/motherboards?
> > 
> > Mainly the firmware had been setting this flag, but Xen was previously
> > ignoring it?
> 
> No, not unless you pass {no-}x2apic_phys={false,0} on the Xen command
> line to force logical (clustered) destination mode.
> 
> > As such Xen had been attempting to use cluster mode on an
> > x2APIC where that mode was broken for physical interrupts?
> 
> No, not realy, x2apic_phys was already forced to true if
> acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL is set on the FADT (I
> just delete that line in this same chunk and move it here).

Okay, that was from a quick look at the patch.  Given the symptoms and
workaround with recent AMD motherboards, this looked suspicious.

In that case it might be a bug in what AMD is providing to motherboard
manufacturers.  Mainly this bit MUST be set, but AMD's implementation
leaves it unset.

Could also be if the setup is done correctly the bit can be cleared, but
multiple motherboard manufacturers are breaking this.  Perhaps the steps
are fragile and AMD needed to provide better guidance.


Neowutran, are you still setup to and interested in doing
experimentation/testing with Xen on your AMD computer?  Would you be up
for trying the patch here:

https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw

I have a suspicion this *might* fix the x2APIC issue everyone has been
seeing.

How plausible would it be to release this as a bugfix/workaround on 4.17?
I'm expecting a "no", but figured I should ask given how widespread the
issue is.


-- 
(\___(\___(\______          --=> 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 Nov 07 19:53:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 19:53:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.628992.980997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0S8O-0003fp-T1; Tue, 07 Nov 2023 19:53:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 628992.980997; Tue, 07 Nov 2023 19:53: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 1r0S8O-0003fi-Om; Tue, 07 Nov 2023 19:53:12 +0000
Received: by outflank-mailman (input) for mailman id 628992;
 Tue, 07 Nov 2023 19:53: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=FJkF=GU=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1r0S8M-0003fc-Sm
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 19:53:10 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 463b4c95-7da7-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 20:53:09 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3A7Jr1ei060708
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO)
 for <xen-devel@lists.xenproject.org>; Tue, 7 Nov 2023 14:53:07 -0500 (EST)
 (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3A7Jr1jJ060707
 for xen-devel@lists.xenproject.org; Tue, 7 Nov 2023 11:53:01 -0800 (PST)
 (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: 463b4c95-7da7-11ee-98da-6d05b1d4d9a1
Date: Tue, 7 Nov 2023 11:53:01 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: xen-devel@lists.xenproject.org
Subject: Support situation for nestedhvm
Message-ID: <ZUqVnfZTtjb/W5EN@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

I ran into the nestedhvm via the following path.  I was considering the
feasibility of shedding tasks from a desktop onto a server running Xen.
I was looking at `man xl.cfg` and noticed "nestedhvm".

Since one of the tasks the computer handled was running other OSes in
fully simulated environments, this seemed to be something I was looking
for.  No where did I ever see anything hinting "This configuration option
is completely unsupported and risky to use".


For an option like this, additional steps should have been needed to
enable it.

First, on Xen's command-line there needs to be something along the
lines of "enable_unsupported=nestedhvm,others".

Second, in xl.cfg perhaps there should be an `enable_unsupported` option
which is a list of such options.

Third, perhaps a build-time configuration option too?


The issue is the above.  At no point did I realize I had crossed the
support boundary.  Things simply started exploding without any warnings.


-- 
(\___(\___(\______          --=> 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 Nov 07 20:11:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 20:11:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629002.981007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0SQ3-00086h-AN; Tue, 07 Nov 2023 20:11:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629002.981007; Tue, 07 Nov 2023 20: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 1r0SQ3-00086a-7l; Tue, 07 Nov 2023 20:11:27 +0000
Received: by outflank-mailman (input) for mailman id 629002;
 Tue, 07 Nov 2023 20: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=LI2d=GU=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r0SQ1-00086T-2A
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 20:11:25 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20620.outbound.protection.outlook.com
 [2a01:111:f400:fe59::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1fe38a5-7da9-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 21:11:23 +0100 (CET)
Received: from CY5PR15CA0166.namprd15.prod.outlook.com (2603:10b6:930:81::14)
 by MW4PR12MB7467.namprd12.prod.outlook.com (2603:10b6:303:212::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Tue, 7 Nov
 2023 20:11:20 +0000
Received: from CY4PEPF0000EE35.namprd05.prod.outlook.com
 (2603:10b6:930:81:cafe::a3) by CY5PR15CA0166.outlook.office365.com
 (2603:10b6:930:81::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18 via Frontend
 Transport; Tue, 7 Nov 2023 20:11:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE35.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Tue, 7 Nov 2023 20:11:19 +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.2507.32; Tue, 7 Nov
 2023 14:11:17 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Tue, 7 Nov
 2023 12:10:47 -0800
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Tue, 7 Nov 2023 14:10:46 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1fe38a5-7da9-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OVbvVOVu3QPNvkaIOPy4Kv83Mn/0YCflYfQ+zgM3LiIE9vkTHeBjD1PlVOZZTNHEA3x0iuIdCZk0voIrVuhdoc74EhVvXybad32zdDZ4uqfrW+oqd/+TH/IvQIJtsn+hZWBv32oKWsqV8RbXOkhO73yNPmkkmAypz9Bcs4p5MQTlXy+iA6J7aCVqJOrMVDXo2mt8weWQvs+reCHhm9LnetsMk5c8QdjXdlBD6B1JXNHqJY9iw2yiZNm4FjlrZHj8n/0fI0T6OtEzPPLvEEPZwc9VBhvBWC/e+wE+nAg3o8yLixzttByQCr4mId8WYmdxwS5Iap7eNk+FJhRmbeSf/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=a3NGjN9HDAifHsC69eBLkIHInFXy7h5ST+n82EMyuT0=;
 b=UJzPIf83jqNXeDIqcW/khEJ0uFNle55cDwm0YXl0zoDWZYJiTkEXAqWmd6cfo0rZz097cthdjZizs8mpMgZYFQ9yL4rXUQZpRQyYgonisE39gkFGtUuAfDruNTWM7FmZl4iNQIoYuCYGs/1O/Jdo1m/KTKqS9iBZ+kOEwweDjr3n3S5/L4jtCYVdoOz7euWIEDx4pMi8LBGHAiGqzzwE45PtxoYkScmDFHpS6H4S2wbIjh2KmCxJjjuOrgvlgXML3+paLMI6rkNd55g6e2GO0tV80eRa2+WC+1VRa+ni5xy/jNY3ocLcDabhw2tsyoIR1TjQv7MwdBeN3zZfHiOgfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=a3NGjN9HDAifHsC69eBLkIHInFXy7h5ST+n82EMyuT0=;
 b=5Nq5g9FoZ3hh04RQ4gTpE2+E91eKsiXO8MsGu+9zMDRE+XWebu/fuOXnfGoo2zc9KZYp9GJzS82voDzPTmgJ73pjWIbVnPTHGHAE8Z2uC4D6vEFX7zLPtalKoiSh+6xhD8um+fh913V/3uEvEOznM9I+sMTQWl5Iov/uzyBWARM=
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: <a368fb39-f8c5-4238-803a-08e83d2c43e9@amd.com>
Date: Tue, 7 Nov 2023 15:10:46 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 9/9] xen/arm: Map ITS doorbell register to IOMMU page
 tables.
Content-Language: en-US
To: Julien Grall <julien@xen.org>, <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231004145604.1085358-1-stewart.hildebrand@amd.com>
 <20231004145604.1085358-10-stewart.hildebrand@amd.com>
 <7123faae-562e-4e78-a5d2-18c5ccc1b7f6@xen.org>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <7123faae-562e-4e78-a5d2-18c5ccc1b7f6@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE35:EE_|MW4PR12MB7467:EE_
X-MS-Office365-Filtering-Correlation-Id: 67c9b65e-6eb6-4342-38b3-08dbdfcdb4a7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1hqgiqKkie2XHqJb/a+NcIZIgaPI5nvxZ3TnQpUqYgbOMotJbXcyvqVjW06Jk2zxDwNhEqPjJnnC1Wq17/+N1cpSFRCHJAjq/vYGHdlpF4ZVrq5qJOrcL42OD4JRvnsemeiCFNnUSm+3wZUI8AgwN7K9DdGnD3maa8wJhto2bsD9fXyw4lHx2EU93K5DHxCi6+/vlh6YjxGyDfTUu/J6vPNPxXC+3h38mUBiSn0NmhPzPav2YZMg8viZJlTazsu8wFWYMjb/Uu/ezVsMPK0Iki7ps9QZcm/8/PMSH4L+IhPerWHwH+509X9qDm2u4G9FL2h+toH62ygoNvQYak95NyoOvtpErkB2qOYCFU7cL3//IRFhgWDTghALJ/AZJEgHSD8T9Zg++aCzkus6DYvyeiGj5zeO64hgVDnHAkJLp0qnCUtLZgQCWjzxntzWWDdKCUU3OlavuEvf6xd1wS6ZbtuqH5pt4znyKGMOXqgN3hWE7IkgM9Nsr1xCr7EFivuY8xtDu5yyuI6jq42RwhYXaE9eROTY/JUuIY8rcOvlIW0dmfbZ9vQyX2006Lscp1Q+QZaDI8YiqRtjBFvhE1YX0O8jIQvgb1dPAaMu1BTbYVBuAZ9H/oc2w/liouZysssgIe0ZC16HN045jdeMRtu/LIQkMK0frqjTEo59oBChG9eYNG5PdSUyTc4OwfFzcdWjQ6RTRHYo/Cyddbqhac4RL/lBiebpfTo7odpWqw2Sg4zRr5FOcif4s9Hn8k1xuAAVNn1C9/ONNgNR80meGuv/PWOHiYPNGgi41ZY0ZPuplPE=
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:(13230031)(4636009)(136003)(346002)(39860400002)(376002)(396003)(230922051799003)(451199024)(82310400011)(64100799003)(1800799009)(186009)(36840700001)(40470700004)(46966006)(40460700003)(40480700001)(336012)(2616005)(26005)(53546011)(426003)(36860700001)(83380400001)(5660300002)(41300700001)(4326008)(8936002)(8676002)(44832011)(478600001)(2906002)(966005)(47076005)(316002)(70206006)(70586007)(110136005)(54906003)(82740400003)(16576012)(86362001)(31696002)(36756003)(81166007)(356005)(31686004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Nov 2023 20:11:19.4111
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 67c9b65e-6eb6-4342-38b3-08dbdfcdb4a7
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:
	CY4PEPF0000EE35.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7467

On 10/20/23 14:02, Julien Grall wrote:
> Hi Stewart,
> 
> On 04/10/2023 15:55, Stewart Hildebrand wrote:
>> From: Rahul Singh <rahul.singh@arm.com>
> 
> This wants an explanation why this is needed.

I'll add an explanation

> 
>> Signed-off-by: Rahul Singh <rahul.singh@arm.com>
> 
> Your signed-off-by is missing.

I'll add it

> 
>> ---
>> v4->v5:
>> * new patch
>> ---
>>   xen/arch/arm/vgic-v3-its.c | 12 ++++++++++++
>>   1 file changed, 12 insertions(+)
>>
>> diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c
>> index 05429030b539..df8f045198a3 100644
>> --- a/xen/arch/arm/vgic-v3-its.c
>> +++ b/xen/arch/arm/vgic-v3-its.c
>> @@ -682,6 +682,18 @@ static int its_handle_mapd(struct virt_its *its, uint64_t *cmdptr)
>>                                            BIT(size, UL), valid);
>>           if ( ret && valid )
>>               return ret;
>> +
>> +        if ( is_iommu_enabled(its->d) ) {
> 
> Coding style.

I'll fix

> 
>> +            ret = map_mmio_regions(its->d, gaddr_to_gfn(its->doorbell_address),
>> +                           PFN_UP(ITS_DOORBELL_OFFSET),
>> +                           maddr_to_mfn(its->doorbell_address));
> 
> 
> A couple of remarks. Firstly, we know the ITS doorbell at domain
> creation. So I think thish should be called from vgic_v3_its_init_virtual().
> 
> Regardless that, any code related to device initialization belongs to
> gicv3_its_map_guest_device().

How about calling it from a map_hwdom_extra_mappings() hook?
For example see [1].

[1] https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/commit/6232a0d53377009bb7fbc3c3ab81d0153734be6b

> 
> Lastly, I know the IOMMU page-tables and CPU page-tables are currently
> shared. But strictly speaking, map_mmio_regions() is incorrect because
> the doorbell is only meant to be accessible by the device. So this
> should only be mapped in the IOMMU page-tables.
> 
> In fact I vaguely recall that on some platforms you may get a lockup if
> the CPU attempts to write to the doorbell. So we may want to unshare
> page-tables in the future.
> 
> For now, we want to use the correct interface (iommu_*) and write down
> the potential security impact (so we remember when exposing a virtual
> ITS to  guests).

OK, I will use iommu_map()

> 
>> +            if ( ret < 0 )
>> +            {
>> +                printk(XENLOG_ERR "GICv3: Map ITS translation register d%d failed.\n",
>> +                        its->d->domain_id);
> 
> XENLOG_ERR is not ratelimited and therefore should not be called from
> emulation path. If you want to print an error, then you should use
> XENLOG_G_ERR.
> 
> Also, for printing domain, the preferred is to using %pd with the domain
> as argument (here its->d.

I'll fix it

> 
> But as this is emulation and therefore the current vCPU belongs to
> its->d, you could directly use gprintk(XENLOG_ERR, "...").

Will do

> 
> Cheers,
> 
> -- 
> Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 20:15:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 20:15:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629006.981017 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0SU3-000179-SB; Tue, 07 Nov 2023 20:15:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629006.981017; Tue, 07 Nov 2023 20: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 1r0SU3-000172-Oz; Tue, 07 Nov 2023 20:15:35 +0000
Received: by outflank-mailman (input) for mailman id 629006;
 Tue, 07 Nov 2023 20:15: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=q/6F=GU=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r0SU3-000149-9z
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 20:15:35 +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 681f36e1-7daa-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 21:15:34 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-32deb2809daso3613030f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 12:15:34 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 b16-20020adfee90000000b0032da4c98ab2sm3198162wro.35.2023.11.07.12.15.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 07 Nov 2023 12:15:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 681f36e1-7daa-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1699388133; x=1699992933; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=i0aom8hb3w3PZh7RgpECDWre/7ojOjLNZRNT7kQsHMc=;
        b=FM1COSe7Eb+z1cMlNbzMU7NGDaDbOGu9oMYKhigr20m+pwtaINWD6qiwhi8OKTRzyc
         9V7HxaNazi1IMB1IsYS3AKNsGeH0xqNxYSvD+Kb+fXtoTcZO/oiJjkC6rB4VwVrk70Ij
         X1qbiL8JFgP214hQ/zW2bxi46gwI6Tr6R8Tz5YgCCRvTbNV0gLCY7Bpqt1qJs/7BKaHq
         KBJ0ItEIOtJ+Q5WgdK/CG+xFqkieUcH5SciKsY/BxlP4rOG01+ujp1ONuX+bubAISu4Y
         MsF1fUeSIuCFSMF4F2MENP0vW4cKSXKqBsamHZiXXth2zqv/KYWTeXZ3QW7FpRU1jWwr
         yYFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699388133; x=1699992933;
        h=content-transfer-encoding:in-reply-to:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=i0aom8hb3w3PZh7RgpECDWre/7ojOjLNZRNT7kQsHMc=;
        b=ZZKGiVkqoEvBpdhlBTaQ2p/vB6vkb+peqR7jeerRRKClOBiZzeHAbp5WHPbOqyWkjz
         UJpoTAErSv3kpYFWZ+abhDfq0Y/Xvl/yDrihbo+BcHk8fr7rQ+a+vxJ/vhl/nYYAOwjQ
         IEoD9mOnj4ui7j6eVceRUW/2FMS/ZV+ecdWcjo+h2QxBxwT1X8Ig/OfMjjw0/EZgJXgx
         kmkVx8juUUKTsZsexWvRf0l+ihP23bCShgeFzzF+EDAJhDeO7AF22YhcW0ExPDKWkuAX
         n87DeaKLw9aAxXzFDXgJFNiBMsdforpgrzC08l6+SpSHLINgEYaSEwLPqJjQlq4G6Jc0
         Nctw==
X-Gm-Message-State: AOJu0YwMvgAvAbr4+K6tkok6y6rb932v8stQANqVPLWASC/0Fxr8w3FM
	gzGarLysCRwcGSpj71HOX/GYtjU4o1MqKEXLcuk=
X-Google-Smtp-Source: AGHT+IEz1ff3yRv4M5mb9taocU6tSbosUvhiLEmhEUf2PX+s2KxtmeWAnn63rCzX0gH/Ktba4Euq8g==
X-Received: by 2002:a5d:62c9:0:b0:32d:baf4:e572 with SMTP id o9-20020a5d62c9000000b0032dbaf4e572mr22282034wrv.23.1699388133471;
        Tue, 07 Nov 2023 12:15:33 -0800 (PST)
Message-ID: <93db0a9e-1d99-4953-9e3f-7ad69f0e78bf@tibco.com>
Date: Tue, 7 Nov 2023 20:15:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Support situation for nestedhvm
Content-Language: en-GB
To: Elliott Mitchell <ehem+xen@m5p.com>, xen-devel@lists.xenproject.org
References: <ZUqVnfZTtjb/W5EN@mattapan.m5p.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <ZUqVnfZTtjb/W5EN@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 07/11/2023 7:53 pm, Elliott Mitchell wrote:
> I ran into the nestedhvm via the following path.  I was considering the
> feasibility of shedding tasks from a desktop onto a server running Xen.
> I was looking at `man xl.cfg` and noticed "nestedhvm".
>
> Since one of the tasks the computer handled was running other OSes in
> fully simulated environments, this seemed to be something I was looking
> for.  No where did I ever see anything hinting "This configuration option
> is completely unsupported and risky to use".

This one is explicitly covered in SUPPORT.md, and has had XSAs out
against it in the past for being unexpectedly active when it oughtn't to
have been.

> Things simply started exploding without any warnings.

Things also explode if you try to create a VM with 10x more RAM than you
have, or if you try `./xenwatchdogd --help`, or `xl debug-keys c`, or
many other things. 

The xl manpage probably ought to state explicitly that the option is
experimental, but that the extent of what I'd consider reasonable here.

You can't solve educational matters with technical measures.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 20:33:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 20:33:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629010.981026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Skj-0004gK-7K; Tue, 07 Nov 2023 20:32:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629010.981026; Tue, 07 Nov 2023 20:32: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 1r0Skj-0004gD-4i; Tue, 07 Nov 2023 20:32:49 +0000
Received: by outflank-mailman (input) for mailman id 629010;
 Tue, 07 Nov 2023 20:32: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0Ski-0004g7-AC
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 20:32:48 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfa73515-7dac-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 21:32:46 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-9d216597f64so940732966b.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 12:32:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cfa73515-7dac-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699389166; x=1699993966; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=m38PUps8ldqcGXeXfhp1gBa/e/TtG/03cwnsr3eLYZc=;
        b=NUAZQoK2Qq9gcj9wK2inx+12UDKK9dUwmBMVtMnp3oeMJUrPv9zOKBN+DmTHPS5VTr
         Z6O5B71qJk4S3fwvz2UYMRJghr04MOVb3FQRLpXOuTXbdn9QppZ0uKm0h0kcFsQOh1El
         X8wgl9ZaS7RSb5MKOXpRvg4EC5xyqI4kMhrv7Xz+F3Ty5EksoY9ffJBCg5zQXsS08DSO
         My95yTKpN0hXCwbEFkrskL/d007kiV9YWQ1eiFXDVEnVv8xkQRQkO7zDCSsWe2PIhIkl
         3E+aqxMDKUo6O7b7fEGN2La3ybBWbuBpk46KAHa0kOEn3OkHZTRpGChgOur9632xDI/s
         337g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699389166; x=1699993966;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=m38PUps8ldqcGXeXfhp1gBa/e/TtG/03cwnsr3eLYZc=;
        b=KSks/VBCGbsPTJ5KeAqZj4eU67UC23dSSdcagkd+vNi69+MPBv70pRfEPPgjkW/W5w
         7JH3csr7QXjgbyFaLPXDPMXkh3gyzuMwJCao9HP0h0JqkAH61jEu1rWcK9gaoxIYZvYp
         tMgQPjCbpdJZ8KMTz/16nSWyVsM2yB+jOXz9/MG+6DeCJhBtRwGRFz49aywxMmMqca19
         XrIqFIy5dwSPnV4PqyDHt0DfCoD1fvm/3k7RsUcRzedj4qJQ4P/xcgDqgmJSAbOc6Gvp
         unOvkp6SVwVnhraJal5sMyrJQtufO+XNTwicGIuriCFX7CCWi/UiLsBAhZDuN/65iR7N
         v+AQ==
X-Gm-Message-State: AOJu0YxUXvzmADjGRwuTbJsbBP3JntyKED7rcfmpHzPi5v1QUESHRrkG
	oqrVMiuJyWWj4I6U26sCPd1taCjile+/lk7CCSY=
X-Google-Smtp-Source: AGHT+IFo7qHWg8nilM4qvZexkY+717LBLapUZip0cTTlCZ2AhXPc3EGdLXzES+CxnejY4GoYW4Kjk3uuvt/o9NEIadc=
X-Received: by 2002:a17:907:1c17:b0:9d0:e4a1:2826 with SMTP id
 nc23-20020a1709071c1700b009d0e4a12826mr17566479ejc.67.1699389166089; Tue, 07
 Nov 2023 12:32:46 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-26-jgross@suse.com>
In-Reply-To: <20231101093325.30302-26-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 15:32:34 -0500
Message-ID: <CAKf6xpv_X1mEM6OmWPfC8tjvzn+ZPEDpVcJ9Q3vUjCvF8sP13w@mail.gmail.com>
Subject: Re: [PATCH 25/29] tools/xenstored: mount 9pfs device in stubdom
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 7:48=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Mount the 9pfs device in stubdom enabling it to use files.
>
> This has to happen in a worker thread in order to allow the main thread
> handling the required Xenstore accesses in parallel.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 20:34:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 20:34:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629014.981036 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Sm9-00067t-Gn; Tue, 07 Nov 2023 20:34:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629014.981036; Tue, 07 Nov 2023 20:34: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 1r0Sm9-00067m-E8; Tue, 07 Nov 2023 20:34:17 +0000
Received: by outflank-mailman (input) for mailman id 629014;
 Tue, 07 Nov 2023 20:34: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0Sm8-00067g-JC
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 20:34:16 +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 04a589c6-7dad-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 21:34:15 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-540c54944c4so162050a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 12:34:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04a589c6-7dad-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699389255; x=1699994055; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+KwFlgLVqP9N497HBw5CtuasDxPZbblx/niRQhjHS9w=;
        b=YQJdOW390/2zRXGux0lU01uZKhSWHYYpO3Ncr57XOhbOSP2zmbR5i7tUoVwBgbuw5c
         UnBOqD8JGhvlMuextFju3jnVYCwl1l/UpjH/SGwIWnX3/mRq6GSjqrAzP5n/gpCyRgDh
         F1FRvigNpmDo93u97JvxCN/8YYIQx/U6s5sH8PFzkJWoqmYOyntSASVQCJ95OzW+QXG7
         WsPv5Zv7pe+P2KIonKH6IeBKwyvoIv6LXUkj2xzv9t3bvBwiqRnoDgKqriUsqTiRtNI8
         KYt7WZpNSdoIjiSIyANX2EohDAqvlyyfqDE6JVGP2eXXgX/KNTFfpBZBpDY/AuicJsiw
         BkdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699389255; x=1699994055;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+KwFlgLVqP9N497HBw5CtuasDxPZbblx/niRQhjHS9w=;
        b=sQEjw0/Y0Iyx8Dl2jYVE7SRrih+q9jwZfJzZjimdKntOAb5x+zp0hSQazw0Ezp+g8p
         f3w5qUOtqYlV1FtgHu7+Jj8E3Iz0m00bHDUPpPd6ZC4/OuopuAdnH9rxWBzdNe2hdCwE
         v2sUmQ4OCV5y7cXbMEnr0E3Jt1wHfYiZe2jWko/o92854wCA4MBW18ORFgM1zMqVA/+A
         TiMqjuk4iab+H5ZTMiCGyG+x4yvwQWHyBpT3amMOGfteLGjMaBFKjVBrQgCRE2/QysPU
         riFdeVguElW2s8ANlfHo6r6L+1M/gXpp8PC44/wpG+HswU3CIhVNhmUJWGJD5wXC9E/r
         I9vg==
X-Gm-Message-State: AOJu0YxHe0wmN8pEz6941kkv+FfFgLwyPwWJs0q9tiU+aAfoRwRI4OO2
	YNuJzJXnmNe8fPriQzFbEu1gT351pPpvpw4oSXA=
X-Google-Smtp-Source: AGHT+IEPqljIvzud/o+AtDkfddm2S05S03lvk3usxJcS5mc1/vKvMHRwMNcwfiuwDa9qkRXYe/ieh1gHZSBHe4L6A5I=
X-Received: by 2002:aa7:c9cf:0:b0:544:96a6:fe7b with SMTP id
 i15-20020aa7c9cf000000b0054496a6fe7bmr3263904edt.7.1699389255066; Tue, 07 Nov
 2023 12:34:15 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-27-jgross@suse.com>
In-Reply-To: <20231101093325.30302-27-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 15:34:03 -0500
Message-ID: <CAKf6xpsOgBJjNEN8xAVFqZS-LB+TxvH3pa-ssLf9+KfgmCqq3A@mail.gmail.com>
Subject: Re: [PATCH 26/29] tools/xenstored: add helpers for filename handling
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 7:29=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Add some helpers for handling filenames which might need different
> implementations between stubdom and daemon environments:
>
> - expansion of relative filenames (those are not really defined today,
>   just expand them to be relative to /var/lib/xen/xenstore)
> - expansion of xenstore_daemon_rundir() (used e.g. for saving the state
>   file in case of live update - needs to be unchanged in the daemon
>   case, but should result in /var/lib/xen/xenstore for stubdom)
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 20:34:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 20:34:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629016.981047 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Sml-0006gO-PA; Tue, 07 Nov 2023 20:34:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629016.981047; Tue, 07 Nov 2023 20: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 1r0Sml-0006gH-MH; Tue, 07 Nov 2023 20:34:55 +0000
Received: by outflank-mailman (input) for mailman id 629016;
 Tue, 07 Nov 2023 20:34: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0Smj-0006em-W0
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 20:34:53 +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 1a542d98-7dad-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 21:34:52 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-53dd3f169d8so10251254a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 12:34:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a542d98-7dad-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699389291; x=1699994091; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lgYlcKWdjIVZaMq0/A61/NIOM+zvlgxzxNYQI9cAnpc=;
        b=ICy919mfQpMYN4NEMxwzsJA61Drg5BBxav+h5BbiC7moSiK0ZKI+F99yCkZBYUm2gB
         fvrrEiTjnPywglqMnWLS1tK9/tPXg9rMg/GWbiGj+lIp2KicpFMlEFLiIzt+vPlY4CkJ
         d2OFuK8c8mzmD8y8OXWY0vktGPDtgJhmC30Hf5fp68ARSHChUmQU6kZKeeDta6sfs3nb
         v2062w69ux3QnRlhhY2q+E4y7aWktH4hCxmx60FQvmNfNFv8WmSi7Yy+NkayHOBPkmeD
         92T3NhQ0Aajb871pEjmCCQhC9mWMHGdP/zrthwsaUcEDmvlyP0jbUqTT3TI9ptQljEtx
         CHZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699389291; x=1699994091;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=lgYlcKWdjIVZaMq0/A61/NIOM+zvlgxzxNYQI9cAnpc=;
        b=igWinkFoe4uaXEM1XEJ/Btr8TRfG5wylWAADvG8Exj3AgaHuz4TDCkYj/ClTPxgQxq
         +CBq6Wh8MUqYn6rthPmfwuVZyaYdKYTDZI3SV3pzcDSRzlXNBmuYUgiDG2n54aIkL0AU
         Qd5avPff/eBR18K++Q5voe50D2qo6Dggeme/PnAjDCFxa2Z2IS/FzhdavgcxvkfESsh4
         F1GiKJm2c8iUk+TpFV98TT3uAgp+Dajn21wNWcyorfJSq1QaeGsZRTv96gIswxJMpnwS
         MTry3Glv8uXRrG0EzXl2F9zixasuxNlHpf/PFazwk9u4cI4HYK/DhWfwYkZzXQert+nF
         iTDg==
X-Gm-Message-State: AOJu0YzB7sDRH5hDg9fLJEYw41s4h53OTTvO1GRYYhV1GKmmz7D/+kyB
	DZcHxqUyBE9647Rsk0Xo6l0Luw9fnUBuYsmR3I8=
X-Google-Smtp-Source: AGHT+IE8qvO9Fm8u+q0e0go6U7YriP1T2GfRJr3665yj69+rMThF2TyJLGqQBPVwc3sXb9zAp7BGpIF+aaDgz09vP7A=
X-Received: by 2002:a17:907:2682:b0:9e0:5dab:a0ed with SMTP id
 bn2-20020a170907268200b009e05daba0edmr6212960ejc.58.1699389291479; Tue, 07
 Nov 2023 12:34:51 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-28-jgross@suse.com>
In-Reply-To: <20231101093325.30302-28-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 15:34:39 -0500
Message-ID: <CAKf6xpvQ+hAs=o3Pj-W5KwV9ry_cs3XioyEfTUKrSy5UXyWb_A@mail.gmail.com>
Subject: Re: [PATCH 27/29] tools/xenstored: add daemon_init() function
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 5:50=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> Some xenstored initialization needs to be done in the daemon case only,
> so split it out into a new daemon_init() function being a stub in the
> stubdom case.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 20:36:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 20:36:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629022.981057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0SoU-0007Mx-8o; Tue, 07 Nov 2023 20:36:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629022.981057; Tue, 07 Nov 2023 20: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 1r0SoU-0007Mq-5Q; Tue, 07 Nov 2023 20:36:42 +0000
Received: by outflank-mailman (input) for mailman id 629022;
 Tue, 07 Nov 2023 20:36: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0SoT-0007Mk-RV
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 20:36:41 +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 5b4f5620-7dad-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 21:36:41 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-507975d34e8so8830414e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 12:36:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b4f5620-7dad-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699389400; x=1699994200; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5UtFnh89Bh8lRzcK4cEy8IYfEXdp9w6zh3nW5sRUOYo=;
        b=TVWydbTz7v+PCp5p58MUsuwurxyn/OO9anULcseAAOD7RE6fMiueZCqPlsYsds0kpC
         tmjuyunT15/rvhcHdHoPsRE1UM10Berx0XTd7VZRwXsdCzaWu3r89vNE81+moTxa5/E/
         VGdQ49cWksiDwObAMdz3+4phNv7zJtkBTM0dehOJLunq1QrD5nV46jLaLhGNVUbnpjU2
         O4t8KU43moFfXH5RyeaUxAXBPFZiUHmbNS0KS593hlgdSsE8n1/jt5cxn6luKg7IIUKs
         AdAoVccxG4czY3mKJLXBKgxUsdI6MiTMZ6gdfD8WC5SRt2hji02lCt09rnoAkIhvAqTB
         Egbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699389400; x=1699994200;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=5UtFnh89Bh8lRzcK4cEy8IYfEXdp9w6zh3nW5sRUOYo=;
        b=pEBBHi3rYB+a5prAPucTguweMUVZIbe/DNgGpk9AvVesOELQOsWOMdkIm1zEMzdgID
         DdI+PBjovHZy2awLRT4OxGdpc3YTuh1cCe6B3/xb2Jk7VRP/JpiiYgUhV+5H8Tw2PKN0
         LCZteZm6ja3vzdgy8DpftSapeIcsbb6TqegLHTdi8+42Szk0Js/ihMaQHczgEXJ5A6Nv
         YYx7D6qdqDO1IFNVUmu+y0MJ/iCrvU7wRy0JDz1hlo9i9gsIntSZC/nL3xuN/e+H1OTA
         ruyqeBZTAePgVEq5NEfKglqzGEUdNXx10rzonKWc5Lz+asw9OqQc072oXaczHHAyDYMq
         jwoA==
X-Gm-Message-State: AOJu0YyJ0/F0cYXumFVwF+UEO72mI1MsuqaYmBdZlZt/QNQpeiuz2NH7
	MxdlgIYqha+AIfh56JwZtiwNq2LrSqcSvdgg8pUsaUdc
X-Google-Smtp-Source: AGHT+IFEYjVjfcduufFFz41gcB3ymcFkZUd0UAGkgTpu+LRxIvZG2Xa9hji74oD9G3P2eLzC9vP/FUqFYseOj6ExIek=
X-Received: by 2002:a05:6512:3e12:b0:509:488b:4de4 with SMTP id
 i18-20020a0565123e1200b00509488b4de4mr17264333lfv.1.1699389400198; Tue, 07
 Nov 2023 12:36:40 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-29-jgross@suse.com>
In-Reply-To: <20231101093325.30302-29-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 15:36:28 -0500
Message-ID: <CAKf6xpt05idfAWFHBfjxMYWq=W8v_54c2z_DUM5AraofCC3b4A@mail.gmail.com>
Subject: Re: [PATCH 28/29] tools/xenstored: support complete log capabilities
 in stubdom
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 6:49=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> With 9pfs being fully available in Xenstore-stubdom now, there is no
> reason to not fully support all logging capabilities in stubdom.
>
> Open the logfile on stubdom only after the 9pfs file system has been
> mounted.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 20:37:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 20:37:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629027.981067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0SpL-0007we-GW; Tue, 07 Nov 2023 20:37:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629027.981067; Tue, 07 Nov 2023 20:37: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 1r0SpL-0007wX-Du; Tue, 07 Nov 2023 20:37:35 +0000
Received: by outflank-mailman (input) for mailman id 629027;
 Tue, 07 Nov 2023 20:37: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=FGpL=GU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r0SpK-0007wR-2q
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 20:37:34 +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 79c7ab7f-7dad-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 21:37:32 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 94C37B818EF;
 Tue,  7 Nov 2023 20:37:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E0D47C433C7;
 Tue,  7 Nov 2023 20:37: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: 79c7ab7f-7dad-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699389450;
	bh=/KhwW/iXe2feXEw1E7heYO8MgvgwqAcHL7R+lGzr0Nk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Qq0PIA376ZL4HLILvD7QkxBpeGwb/wAM8U0pBYr65RzZkEOUmizEou4pC3S8o4VLo
	 JxxxiQL4+J/TtUL1ikvlLg/6RX0l4PaalXFcnGLlItNe4bvdUg8kpAc9U3FdY5a1sh
	 lk7b0AP0qXCjItq/K0J+SRxFLn8I+k6jWwqaktH1extzQDj4BJ3xkVlrQsn+IhYaLy
	 hgAKEKxTZnmZEAwXvEwtXXULJIQlbCZGrJoXZWoMucH2wyv3Ef8ln9wy01AOFSwVLy
	 h3cNWqQ9y/tlasupyptqmIY45phFdP2VkUEiurtRZYDt+v2J6z4sNJo5TeV/UG4fy/
	 7cCSslY7Y9TaA==
Date: Tue, 7 Nov 2023 12:37:28 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Federico Serafini <federico.serafini@bugseng.com>, 
    xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, consulting@bugseng.com, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Henry Wang <henry.wang@arm.com>
Subject: Re: [XEN PATCH 07/10] arm/traps: address a violation of MISRA C:2012
 Rule 8.2
In-Reply-To: <18a1bb98-0eb4-4fc9-89e1-b32707cdcf9e@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311071237090.3478774@ubuntu-linux-20-04-desktop>
References: <cover.1697207038.git.federico.serafini@bugseng.com> <dbc0e965cd9f93848d27e7ebf0ffcfca05499d58.1697207038.git.federico.serafini@bugseng.com> <7db6d930-8a06-4a1b-b668-94df62972caa@xen.org> <18a1bb98-0eb4-4fc9-89e1-b32707cdcf9e@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-464047518-1699389450=:3478774"

  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-464047518-1699389450=:3478774
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 7 Nov 2023, Julien Grall wrote:
> Hi Stefano,
> 
> On 16/10/2023 10:02, Julien Grall wrote:
> > Hi,
> > 
> > On 13/10/2023 16:24, Federico Serafini wrote:
> > > Add missing parameter name, no functional change.
> > > 
> > > Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> > > ---
> > >   xen/arch/arm/traps.c | 2 +-
> > >   1 file changed, 1 insertion(+), 1 deletion(-)
> > > 
> > > diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> > > index ce89f16404..5aa14d4707 100644
> > > --- a/xen/arch/arm/traps.c
> > > +++ b/xen/arch/arm/traps.c
> > > @@ -1236,7 +1236,7 @@ int do_bug_frame(const struct cpu_user_regs *regs,
> > > vaddr_t pc)
> > >       if ( id == BUGFRAME_run_fn )
> > >       {
> > > -        void (*fn)(const struct cpu_user_regs *) = (void
> > > *)regs->BUG_FN_REG;
> > > +        void (*fn)(const struct cpu_user_regs *regs) = (void
> > > *)regs->BUG_FN_REG;
> > 
> > Now the line will be over 80 characters. I think we should introduce a
> > typedef. This would also help in the longer run to validate that the
> > function passed to run_in_exception_handle() has the expected prototype.
> 
> I see this patch was committed in your for-4.19 branch. But this comment was
> unaddressed. Can you drop the patch because your branch is committed in
> staging?

I dropped the patch. Federico, please address Julien's feedback.
--8323329-464047518-1699389450=:3478774--


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 20:40:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 20:40:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629032.981076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0SsT-0000xd-U2; Tue, 07 Nov 2023 20:40:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629032.981076; Tue, 07 Nov 2023 20:40: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 1r0SsT-0000xW-R0; Tue, 07 Nov 2023 20:40:49 +0000
Received: by outflank-mailman (input) for mailman id 629032;
 Tue, 07 Nov 2023 20:40: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=zQVP=GU=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0SsT-0000xQ-2H
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 20:40:49 +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 ee9b7072-7dad-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 21:40:48 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-9bf86b77a2aso918614066b.0
 for <xen-devel@lists.xenproject.org>; Tue, 07 Nov 2023 12:40:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee9b7072-7dad-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699389648; x=1699994448; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/waG3YMaR/wF6ucum55gEPW5J9JFoMdxaO+1rnmtdEI=;
        b=V1+TOTRc4Ej46imp9XigfePg1mx+Soj0xrcmnzAUjcJ8hMTc77QDDCdTRimsrKH9Gq
         2TEpD+1+xsJlFUtq4pOcdKJXLrMLM79eS0jLb73Wo4YibRb+26VuyA9+F8WIsr0aP9Af
         T8nI8fdQDxT3pt1X2rm+m0aWdDDqrJU+Woaef4sJ6q9Aqv0Yzq3/NhgqdZJWhqrq6Fl2
         4BvHU1iF6bVQAqAVZ1Gla2oZ2Lvla5dGPWJKa0q+PRfwpaTBNsmge1JfUbecgvoe53sm
         +KDTVhG1ellPAAnZuCVa30AAx/oRMUHgWKa2i4Fw+KsYwoulatCX3wm3rllGRm5blclF
         Hgpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699389648; x=1699994448;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/waG3YMaR/wF6ucum55gEPW5J9JFoMdxaO+1rnmtdEI=;
        b=tgfml84qrDVN2GnX53YnDmgbWxzyv4vAxR9IzBA3mpE7qIAvpjzVb3b7ENoFzjyIij
         NdfR3F3Sc7caPV1kvjRUh4knJL0kElp3VDPSuQkBWoH/lp67RHlR54nqQabxfsKHVBcL
         m+3WHpCXqt00i++Zg5oF8QxFes6ZtOgtaY3U/M/rjkL9slf+lxFnQizzAtDIUJ5o6DJp
         Nje3QlL+2u5CJ0n07aJQoE466TOKnwUe7eNI/MWBToBBqDHJAbQUVcQXSQAnp4wp3VHt
         OKB+YVxysEL824DyxiYCrxiEN8fW04VdUKYx+L0OVU5lewOGSC8eXN4kB2TOZ4gDiYY+
         i60g==
X-Gm-Message-State: AOJu0YzIXe6XzXInxyMXrHyv1CLYv1lnldJxLQ8pKfOloISaD6yzkCsu
	vFTsbhBHHe0Eiwp01rlinMUfpAkNnLkOYP/IeLM=
X-Google-Smtp-Source: AGHT+IGdX7LQ+5A+PAwOaby0Z2e5vSPDQpI7gb/Ze/9WpdeqU+N2JYhf2HR2yGS84J5etrDlQ9GFAJKVuuw95pigefQ=
X-Received: by 2002:a17:907:3e1f:b0:9de:be52:608a with SMTP id
 hp31-20020a1709073e1f00b009debe52608amr9241740ejc.27.1699389647698; Tue, 07
 Nov 2023 12:40:47 -0800 (PST)
MIME-Version: 1.0
References: <20231101093325.30302-1-jgross@suse.com> <20231101093325.30302-30-jgross@suse.com>
In-Reply-To: <20231101093325.30302-30-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 7 Nov 2023 15:40:35 -0500
Message-ID: <CAKf6xpuy=3VsTU4tpz9Gn1WKq3wzpQj+gx1KVRbqzYz77ZC6QA@mail.gmail.com>
Subject: Re: [PATCH 29/29] tools/xenstored: have a single do_control_memreport()
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 1, 2023 at 6:55=E2=80=AFAM Juergen Gross <jgross@suse.com> wrot=
e:
>
> With 9pfs now available in Xenstore-stubdom, there is no reason to
> have distinct do_control_memreport() variants for the daemon and the
> stubdom implementations.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 20:41:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 20:41:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629035.981087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0St8-0001UF-5h; Tue, 07 Nov 2023 20:41:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629035.981087; Tue, 07 Nov 2023 20:41: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 1r0St8-0001U8-2f; Tue, 07 Nov 2023 20:41:30 +0000
Received: by outflank-mailman (input) for mailman id 629035;
 Tue, 07 Nov 2023 20:41: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=FGpL=GU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r0St6-0000xQ-UF
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 20:41:28 +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 05292187-7dae-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 21:41:27 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 3543BCE0FA7;
 Tue,  7 Nov 2023 20:41:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A6821C433C7;
 Tue,  7 Nov 2023 20:41: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: 05292187-7dae-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699389682;
	bh=TEqvg86v17/NcZU8Lqicuq9+k2jW+yHvgN3qy9GFaJY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=e4o5Dm8Bdp71mVRA9QM65H3OCDK5FZyTI8ZOL3vO/9UPllySQUUg/w1z643dX1rVH
	 yTCYkLjNOkrj9OX0jT6kBoR5/n3YzFY7kOC5JEKvFuO+LMglnUUbEQ9Y11pZAKs+8U
	 rNx1sZ+CztPyN2bqFhTRVBCBhLOUeGVNBq+xfI0JA5KihjMnxBpPp9D5tHq5gM/YRD
	 CI+cKHkqkGloAVDA00SxJvSQF9sQsBHO3TpVGD6HWLxpgdawl2KhTD8brVXhjlPFjt
	 KEAtrVWCaCrrlx3wDQNcZlN8gfC2NBnnzq4/h57PWWN+Z1+IASG+ZUufyGnevBIes/
	 PJTjqeGfIXltg==
Date: Tue, 7 Nov 2023 12:41:19 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: julien@xen.org, andrew.cooper3@citrix.com
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, roger.pau@citrix.com, 
    Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Henry Wang <Henry.Wang@arm.com>, 
    sstabellini@kernel.org
Subject: Re: [XEN PATCH v3 2/3] docs: make the docs for MISRA C:2012 Dir 4.1
 visible to ECLAIR
In-Reply-To: <alpine.DEB.2.22.394.2310021531430.2348112@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2311071240240.3478774@ubuntu-linux-20-04-desktop>
References: <cover.1696231870.git.nicola.vetrini@bugseng.com> <fd60f0f3c777652bd305a97b559cb7ee23293e8d.1696231870.git.nicola.vetrini@bugseng.com> <alpine.DEB.2.22.394.2310021531430.2348112@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

+Julien, Andrew

Julien and Andrew raised concerns on this patch on the Xen Matrix
channel. Please provide further details.



On Mon, 2 Oct 2023, Stefano Stabellini wrote:
> On Mon, 2 Oct 2023, Nicola Vetrini wrote:
> > To be able to check for the existence of the necessary subsections in
> > the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
> > file that is built.
> > 
> > This file is generated from 'C-runtime-failures.rst' in docs/misra
> > and the configuration is updated accordingly.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> 
> > ---
> > Changes from RFC:
> > - Dropped unused/useless code
> > - Revised the sed command
> > - Revised the clean target
> > 
> > Changes in v2:
> > - Added explanative comment to the makefile
> > - printf instead of echo
> > 
> > Changes in v3:
> > - Terminate the generated file with a newline
> > - Build it with -std=c99, so that the documentation
> >   for D1.1 applies.
> > ---
> >  docs/Makefile       |  7 ++++++-
> >  docs/misra/Makefile | 22 ++++++++++++++++++++++
> >  2 files changed, 28 insertions(+), 1 deletion(-)
> >  create mode 100644 docs/misra/Makefile
> > 
> > diff --git a/docs/Makefile b/docs/Makefile
> > index 966a104490ac..ff991a0c3ca2 100644
> > --- a/docs/Makefile
> > +++ b/docs/Makefile
> > @@ -43,7 +43,7 @@ DOC_PDF  := $(patsubst %.pandoc,pdf/%.pdf,$(PANDOCSRC-y)) \
> >  all: build
> >  
> >  .PHONY: build
> > -build: html txt pdf man-pages figs
> > +build: html txt pdf man-pages figs misra
> >  
> >  .PHONY: sphinx-html
> >  sphinx-html:
> > @@ -66,9 +66,14 @@ endif
> >  .PHONY: pdf
> >  pdf: $(DOC_PDF)
> >  
> > +.PHONY: misra
> > +misra:
> > +	$(MAKE) -C misra
> > +
> >  .PHONY: clean
> >  clean: clean-man-pages
> >  	$(MAKE) -C figs clean
> > +	$(MAKE) -C misra clean
> >  	rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~
> >  	rm -rf *.ilg *.log *.ind *.toc *.bak *.tmp core
> >  	rm -rf html txt pdf sphinx/html
> > diff --git a/docs/misra/Makefile b/docs/misra/Makefile
> > new file mode 100644
> > index 000000000000..949458ff9e15
> > --- /dev/null
> > +++ b/docs/misra/Makefile
> > @@ -0,0 +1,22 @@
> > +TARGETS := C-runtime-failures.o
> > +
> > +all: $(TARGETS)
> > +
> > +# This Makefile will generate the object files indicated in TARGETS by taking
> > +# the corresponding .rst file, converting its content to a C block comment and
> > +# then compiling the resulting .c file. This is needed for the file's content to
> > +# be available when performing static analysis with ECLAIR on the project.
> > +
> > +# sed is used in place of cat to prevent occurrences of '*/'
> > +# in the .rst from breaking the compilation
> > +$(TARGETS:.o=.c): %.c: %.rst
> > +	printf "/*\n\n" > $@.tmp
> > +	sed -e 's|\*/|*//*|g' $< >> $@.tmp
> > +	printf "\n\n*/\n" >> $@.tmp
> > +	mv $@.tmp $@
> > +
> > +%.o: %.c
> > +	$(CC) -std=c99 -c $< -o $@
> > +
> > +clean:
> > +	rm -f C-runtime-failures.c *.o *.tmp
> > -- 
> > 2.34.1
> > 
> 


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 21:00:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 21:00:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629042.981097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0TB0-0006C2-LN; Tue, 07 Nov 2023 20:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629042.981097; Tue, 07 Nov 2023 20: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 1r0TB0-0006Bv-ID; Tue, 07 Nov 2023 20:59:58 +0000
Received: by outflank-mailman (input) for mailman id 629042;
 Tue, 07 Nov 2023 20:59: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 1r0TAy-0006BV-SV; Tue, 07 Nov 2023 20:59: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 1r0TAy-0006Ce-Lu; Tue, 07 Nov 2023 20:59: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 1r0TAy-0000Xf-AE; Tue, 07 Nov 2023 20:59:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0TAy-00017r-9o; Tue, 07 Nov 2023 20: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=749NN4HlIMDYsIO4GT0mublvYGgrFuiqfNUlqSyaHdg=; b=ki+80iTtclPMRCY3yErA8GRniX
	j0fPoyAIUMZWjJa//xGgSW55bb7fbSnpUppfaPEixJXEKKJocinC9qrvIzAaJi2xl/q3R4dwTBMKM
	QQypeRTEHdfCGChfB2wywr8Pr06fvCJi1JqAu7sbFkNLloOfGmgP5ELhgZKrLgHBSjcc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183707-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183707: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=78a86b26868c12ae1cc3dd2a8bb9aa5eebaa41fd
X-Osstest-Versions-That:
    xen=fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 20:59:56 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  78a86b26868c12ae1cc3dd2a8bb9aa5eebaa41fd
baseline version:
 xen                  fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7

Last test of basis   183705  2023-11-07 11:00:26 Z    0 days
Testing same since   183707  2023-11-07 18:02:03 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                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   fab51099a1..78a86b2686  78a86b26868c12ae1cc3dd2a8bb9aa5eebaa41fd -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 22:00:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 22:00:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629048.981107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0U7J-0003l6-2L; Tue, 07 Nov 2023 22:00:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629048.981107; Tue, 07 Nov 2023 22:00: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 1r0U7I-0003kz-Ux; Tue, 07 Nov 2023 22:00:12 +0000
Received: by outflank-mailman (input) for mailman id 629048;
 Tue, 07 Nov 2023 22:00: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=FGpL=GU=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r0U7H-0003kt-1r
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 22:00:11 +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 03163eb0-7db9-11ee-9b0e-b553b5be7939;
 Tue, 07 Nov 2023 23:00:07 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 32A2361419;
 Tue,  7 Nov 2023 22:00:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0700C433C8;
 Tue,  7 Nov 2023 22:00: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: 03163eb0-7db9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699394405;
	bh=JjYFIMzjgK59+gb0yCd5lP2BTNRoAatys7FBl+6G1bk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=qaEq3Y2wK0ae4Nm8Xprn+LkQAbmTC+qHSlVwHKt4ppojmU2Eov79mot7yJN5DzSlw
	 e8UPBoGqYEux1whAjyjsRMeGb1XL5ypkCooGUCgmd5/Fb1CwCOXB53chzVxEXjnV/L
	 WCZnEceIKa9/eHwoswle5YIBQfhRl5KHecLCP6YfuJJF8YVPT3/YXg14gN+B23sHIv
	 Kj962/+tm5vO9EzRE4Bb8z+ZyWRZV5zIuUBnlPciiYIAMpP7C/J9nO0oyokXDYIk1e
	 zqxVS4vQeaLBh2FxKh0qZRtiw4qJG0i1E38lm7iSH0X9v/7uS1+6WgpeWM+eSQKQ9L
	 w8DJYcegRZ80g==
Date: Tue, 7 Nov 2023 14:00:03 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.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: Re: [XEN PATCH v3] xen/string: address violations of MISRA C:2012
 Rules 8.2 and 8.3
In-Reply-To: <d28ea15aa8d36622548b433d5fb6f19dd521bdfb.1699369270.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311071359520.3478774@ubuntu-linux-20-04-desktop>
References: <d28ea15aa8d36622548b433d5fb6f19dd521bdfb.1699369270.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 7 Nov 2023, Federico Serafini wrote:
> Add missing parameter names and make function declarations and
> definitions consistent.
> Mismatches between parameter names "count" and "n" are resolved
> in favor of "n", being the same name used by the C standard.
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Tue Nov 07 22:36:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 22:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629082.981141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Ug3-0003RV-4Z; Tue, 07 Nov 2023 22:36:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629082.981141; Tue, 07 Nov 2023 22:36: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 1r0Ug3-0003RO-1F; Tue, 07 Nov 2023 22:36:07 +0000
Received: by outflank-mailman (input) for mailman id 629082;
 Tue, 07 Nov 2023 22: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 1r0Ug2-0003R9-8X; Tue, 07 Nov 2023 22:36: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 1r0Ug2-0008SM-6l; Tue, 07 Nov 2023 22:36: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 1r0Ug1-000507-QU; Tue, 07 Nov 2023 22:36:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0Ug1-0007xF-Ph; Tue, 07 Nov 2023 22: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=d+HB2a5x9pToM9DQULl4zY/MX7W8RBNyR/B0K0YUCNY=; b=f4yMdCRMN/u0LirOXaemI6wXaT
	7U03VgmVWiDYOhZmRFJGIE5a7N/Q+DssuG/QA9PGuBSdXZtaLxRQqPWXsCMAGmzi/ia1mHGkFllNG
	Oltj91b0E1ceiPPxKixl+1UQQEoMb6U94z9AkIsKulGNMM1ZB5IhlpkOz+SEzxgfsh/w=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183704-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 183704: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=3e12149eb214fee62fc86ee964d3142d0235330e
X-Osstest-Versions-That:
    xen=6f9285975b1c6e82889a6118503ca367e3aa78fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 07 Nov 2023 22:36:05 +0000

flight 183704 xen-4.18-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/183704/

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 183663
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183663
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183663
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183663
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183663
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183663
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183663
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183663
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183663
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183663
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183663
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183663
 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-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-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-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-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-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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-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-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-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-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-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     15 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  3e12149eb214fee62fc86ee964d3142d0235330e
baseline version:
 xen                  6f9285975b1c6e82889a6118503ca367e3aa78fd

Last test of basis   183663  2023-11-02 21:40:29 Z    5 days
Testing same since   183704  2023-11-07 10:10:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  George Dunlap <george.dunlap@cloud.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                                          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                              starved 
 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-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-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
   6f9285975b..3e12149eb2  3e12149eb214fee62fc86ee964d3142d0235330e -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Tue Nov 07 22:42:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 07 Nov 2023 22:42:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629089.981151 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Ulo-0004xW-U1; Tue, 07 Nov 2023 22:42:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629089.981151; Tue, 07 Nov 2023 22:42: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 1r0Ulo-0004xP-PU; Tue, 07 Nov 2023 22:42:04 +0000
Received: by outflank-mailman (input) for mailman id 629089;
 Tue, 07 Nov 2023 22:42: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=PQpf=GU=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r0Uln-0004xJ-80
 for xen-devel@lists.xenproject.org; Tue, 07 Nov 2023 22:42:03 +0000
Received: from so254-136.mailgun.net (so254-136.mailgun.net [198.61.254.136])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id dda9826f-7dbe-11ee-98da-6d05b1d4d9a1;
 Tue, 07 Nov 2023 23:42:02 +0100 (CET)
Received: from mg.gitlab.com (29.226.74.34.bc.googleusercontent.com
 [34.74.226.29]) by
 4880619ba52c with SMTP id 654abd38a91ece52407ff0c4 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 07 Nov 2023 22:42:00 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: dda9826f-7dbe-11ee-98da-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699396920; x=1699404120; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=eQMUmpfr3nkrUyGQEpWxjGTiYxPLZhkynrucAlsKpx0=;
 b=ToO2MGQuaXEAq8+kCF96J9//ROaKhGu2Z1/kOFlnW1NfDACQnuXASfjPa2/D9CsGcylV32Ab+zmeRQiwoIsGBdB1MGeJscIJ+TQN23YyC8Y789EV97/JwicoDXk7OYQSUNogylDpee604ny6ayJht8WJE8IIPeH+jsLS3C+ra+0=
X-Mailgun-Sending-Ip: 198.61.254.136
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 07 Nov 2023 22:41:59 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <654abd37bef88_2c9aa107432b@gitlab-sidekiq-catchall-v2-57b5df96-b2pw8.mail>
Subject: xen | Successful pipeline for staging | 78a86b26
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_654abd37b728a_2c9aa1074233";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1064177796
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_654abd37b728a_2c9aa1074233
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1064177796 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 78a86b26 ( https://gitlab.com/xen-project/xen/-/commit/78a86b26868c12ae1cc3dd2a8bb9aa5eebaa41fd )
Commit Message: x86/spec-ctrl: Add SRSO whitepaper URL

... now...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1064177796 ( https://gitlab.com/xen-project/xen/-/pipelines/1064177796 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_654abd37b728a_2c9aa1074233
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 78a86b26</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1064177796 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/78a86b26868c12ae1c=
c3dd2a8bb9aa5eebaa41fd" style=3D"color: #3777b0; text-decoration: none;">=
78a86b26</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86/spec-ctrl: Add SRSO whitepaper URL

... now...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/106417=
7796" style=3D"color: #3777b0; text-decoration: none;">#1064177796</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_654abd37b728a_2c9aa1074233--


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 00:40:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 00:40:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629128.981161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0WcW-0007Yd-LT; Wed, 08 Nov 2023 00:40:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629128.981161; Wed, 08 Nov 2023 00: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 1r0WcW-0007YW-IE; Wed, 08 Nov 2023 00:40:36 +0000
Received: by outflank-mailman (input) for mailman id 629128;
 Wed, 08 Nov 2023 00:40: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 1r0WcV-0007YM-4a; Wed, 08 Nov 2023 00:40: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 1r0WcU-0003ec-NZ; Wed, 08 Nov 2023 00:40: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 1r0WcU-0004iZ-CY; Wed, 08 Nov 2023 00:40:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0WcU-00057M-C1; Wed, 08 Nov 2023 00:40: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=/NiXPq7Y/y4nO+e0nD6YVxKumdeIk0Lxj1HZF0gkadA=; b=1epk0YfaeSksmaXdwSK+Slng2Y
	ynQWRxNoFjqOiufY4ELKWp6x4c5D3l7LfqMJ7kP7ryhCIR/JwOEY3ADy2ed0vAa0QiPQj6BgMZ63w
	yBfXpZKGTp2gA1SmhQWUT34CWZu8pFTq8qb+KdhYSC3dKtCHG3dZitPhf8zIhg0bFl3M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183709-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183709: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
X-Osstest-Versions-That:
    xen=78a86b26868c12ae1cc3dd2a8bb9aa5eebaa41fd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Nov 2023 00:40:34 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
baseline version:
 xen                  78a86b26868c12ae1cc3dd2a8bb9aa5eebaa41fd

Last test of basis   183707  2023-11-07 18:02:03 Z    0 days
Testing same since   183709  2023-11-07 21:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   78a86b2686..bede1c7e3b  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 04:07:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 04:07:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629143.981171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0Zqi-0000Br-Vd; Wed, 08 Nov 2023 04:07:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629143.981171; Wed, 08 Nov 2023 04: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 1r0Zqi-0000Bk-St; Wed, 08 Nov 2023 04:07:28 +0000
Received: by outflank-mailman (input) for mailman id 629143;
 Wed, 08 Nov 2023 04:07: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 1r0Zqh-0000Ba-AP; Wed, 08 Nov 2023 04:07: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 1r0Zqg-0007VX-UF; Wed, 08 Nov 2023 04:07: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 1r0Zqg-00021R-DX; Wed, 08 Nov 2023 04:07:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0Zqg-0003Tf-C3; Wed, 08 Nov 2023 04: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=di01h2KCViHToumUfIwh33KTZV4ea/rF2HpIvJnqkb8=; b=CQiLS+ElDKv/KxLOfAwFHR8d5i
	zGWhS3vQY95+cXNphFRrn7eYEBV/xctgRdK+oYmoRcNzkg0obZy+HxKacrivxqvnVj7wK89RPdS01
	Q+wBxqi/Qfbv0zNHOIKtW+0sVrkHQFi66kKjyRE2nQ5AWw3C+D8O2Ntc7Enn5vR2BFDw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183706-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183706: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu: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-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-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-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
    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-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7
X-Osstest-Versions-That:
    xen=de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Nov 2023 04:07:26 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 183710-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 183710 like 183703
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183703
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183703
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183703
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183703
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183703
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183703
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183703
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183703
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183703
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183703
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183703
 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      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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 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-libvirt     15 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-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-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-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-vhd      14 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7
baseline version:
 xen                  de1cc5102b487e1a4bf321ac138b64c6ce1f0c0a

Last test of basis   183703  2023-11-07 05:01:48 Z    0 days
Testing same since   183706  2023-11-07 16:10:34 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monne <roger.pau@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                              starved 
 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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   de1cc5102b..fab51099a1  fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7 -> master


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 04:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 04:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629147.981181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0ZsA-0000lq-G0; Wed, 08 Nov 2023 04:08:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629147.981181; Wed, 08 Nov 2023 04:08: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 1r0ZsA-0000lj-Ck; Wed, 08 Nov 2023 04:08:58 +0000
Received: by outflank-mailman (input) for mailman id 629147;
 Wed, 08 Nov 2023 04:08: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=sy/q=GV=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r0Zs9-0000lM-6C
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 04:08:57 +0000
Received: from so254-136.mailgun.net (so254-136.mailgun.net [198.61.254.136])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 86a4d33e-7dec-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 05:08:52 +0100 (CET)
Received: from mg.gitlab.com (64.90.74.34.bc.googleusercontent.com
 [34.74.90.64]) by
 2aa945c5e0d3 with SMTP id 654b09d27edd813f09f3f729 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 08 Nov 2023 04:08:50 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 86a4d33e-7dec-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699416530; x=1699423730; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=HE6Dijfo9wBnNpt2v6yJxi5ePmxAVVVfGEWez/SlUfk=;
 b=kAh2CaDTGzvml6BIWIHfXYcGjADagX21gw4bzUrS9c/T4P5qVWLj1tD1iKylsmhXV1Egg/l2ylm8SUZbSAWDtk2bKkg/+NgDOaWRZ7XrpfKUJeBoU3wNIKST4fqUIozjfoyM0q18kK3v9Wcg80h1Ip9S5WSmqfrObOM74D/s4eI=
X-Mailgun-Sending-Ip: 198.61.254.136
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 08 Nov 2023 04:08:50 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <654b09d21d255_2c13cf5ab8614187@gitlab-sidekiq-catchall-v2-57b5df96-tvm5s.mail>
Subject: xen | Successful pipeline for staging | bede1c7e
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_654b09d211523_2c13cf5ab8614082";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1064344124
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_654b09d211523_2c13cf5ab8614082
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1064344124 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: bede1c7e ( https://gitlab.com/xen-project/xen/-/commit/bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c )
Commit Message: exclude-list: generalise exclude-list

Currentl...
Commit Author: Luca Fancellu ( https://gitlab.com/luca.fancellu )
Committed by: Stefano Stabellini



Pipeline #1064344124 ( https://gitlab.com/xen-project/xen/-/pipelines/1064344124 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_654b09d211523_2c13cf5ab8614082
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | bede1c7e</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1064344124 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/bede1c7e3b790b63f1=
ff3ea3ee4e476b012fdf2c" style=3D"color: #3777b0; text-decoration: none;">=
bede1c7e</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
exclude-list: generalise exclude-list

Currentl...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://gitlab.com/up=
loads/-/system/user/avatar/5760100/avatar.png?width=3D24" style=3D"displa=
y: block; border-radius: 12px; margin: -2px 0;" width=3D"24" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/luca.fancellu" style=3D"col=
or: #333333; text-decoration: none;">
Luca Fancellu
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/50b82a64e2a9f930cabefa3948871101?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Stefano Stabellini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/106434=
4124" style=3D"color: #3777b0; text-decoration: none;">#1064344124</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_654b09d211523_2c13cf5ab8614082--


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 05:49:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 05:49:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629192.981199 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0bRI-00062e-M6; Wed, 08 Nov 2023 05:49:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629192.981199; Wed, 08 Nov 2023 05: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 1r0bRI-00062X-JD; Wed, 08 Nov 2023 05:49:20 +0000
Received: by outflank-mailman (input) for mailman id 629192;
 Wed, 08 Nov 2023 05: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 1r0bRH-00062N-55; Wed, 08 Nov 2023 05: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 1r0bRG-0001oO-P9; Wed, 08 Nov 2023 05:49: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 1r0bRG-0005EW-Aa; Wed, 08 Nov 2023 05:49:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0bRG-0003PA-A6; Wed, 08 Nov 2023 05:49: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=acakCuzwr8QnP5TFAI1d3xxRRfSCTqDb29EhRgiuP1E=; b=HtarxU3IEatDf+KuVt3yg8DoVf
	5khk0VXCQusLaQX+n4ZNa9g6LX9myzEiCFuCg6SQoqGBemOO+pZ9Tjzidj8EGMEv7gfW9pqgALQIL
	8bYswv55jlZOcgvpr0NQUQR8ejS9KquHoE267bGbVnYrfaKsRjUuDz2m4t9czz8cKegU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183711-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183711: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=bb18fb80abb9d35d01be5d693086a9ed4b9d65b5
X-Osstest-Versions-That:
    ovmf=c96b4da2a079eb837ab3af9aeb86a97078b3bde6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Nov 2023 05:49:18 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 bb18fb80abb9d35d01be5d693086a9ed4b9d65b5
baseline version:
 ovmf                 c96b4da2a079eb837ab3af9aeb86a97078b3bde6

Last test of basis   183700  2023-11-07 03:42:39 Z    1 days
Testing same since   183711  2023-11-08 03:11:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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
   c96b4da2a0..bb18fb80ab  bb18fb80abb9d35d01be5d693086a9ed4b9d65b5 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 06:54:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 06:54:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629198.981209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0cSE-0006xT-9O; Wed, 08 Nov 2023 06:54:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629198.981209; Wed, 08 Nov 2023 06: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 1r0cSE-0006xM-6X; Wed, 08 Nov 2023 06:54:22 +0000
Received: by outflank-mailman (input) for mailman id 629198;
 Wed, 08 Nov 2023 06:54: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=777z=GV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r0cSD-0006xG-Fd
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 06:54:21 +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 a3f2c3d6-7e03-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 07:54:19 +0100 (CET)
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 049281F8A8;
 Wed,  8 Nov 2023 06:54: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 C4446138F2;
 Wed,  8 Nov 2023 06:54:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id rXlsLpowS2XYCwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 08 Nov 2023 06: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>
X-Inumbo-ID: a3f2c3d6-7e03-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699426459; 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:autocrypt:autocrypt;
	bh=7uYO7qMGtUMcSGRml+6lWz1uU5K5ApzNP6JFupi33/g=;
	b=VP/VzD9IrLbEinnzPMWuJi3FwvRyW6MGQ8hacs/o1HFLJh1EeOLNOUdib5akYHzILop7B8
	tXinfkQK85MEB8XFFnEB+d9EHrFYscIcl5DiFoqB2tAM2N0VSBtwSJOwptwKbjZsZTJkAB
	HoJZDpUuZW7iScxHAcl1LnOYvYV+JAY=
Message-ID: <a29ac46b-fc35-4ad9-a9af-82e3e0e0cc1d@suse.com>
Date: Wed, 8 Nov 2023 07:54:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 16/29] tools/xl: support new 9pfs backend xenlogd
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-17-jgross@suse.com>
 <CAKf6xpsCb-20cj2pEQGk0LUwHw1cd0Wk7xRW01Y9=trtsRAVrw@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpsCb-20cj2pEQGk0LUwHw1cd0Wk7xRW01Y9=trtsRAVrw@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------LnIXFr2WRY64h0n098flh4bF"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------LnIXFr2WRY64h0n098flh4bF
Content-Type: multipart/mixed; boundary="------------Gr5U964y8MXODUa9Rh3LC24a";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <a29ac46b-fc35-4ad9-a9af-82e3e0e0cc1d@suse.com>
Subject: Re: [PATCH 16/29] tools/xl: support new 9pfs backend xenlogd
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-17-jgross@suse.com>
 <CAKf6xpsCb-20cj2pEQGk0LUwHw1cd0Wk7xRW01Y9=trtsRAVrw@mail.gmail.com>
In-Reply-To: <CAKf6xpsCb-20cj2pEQGk0LUwHw1cd0Wk7xRW01Y9=trtsRAVrw@mail.gmail.com>

--------------Gr5U964y8MXODUa9Rh3LC24a
Content-Type: multipart/mixed; boundary="------------I5gHIsZj0EfI10gs8YYdLXm2"

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

T24gMDcuMTEuMjMgMTc6NTUsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgNjo0MeKAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgOXBmcyBiYWNrZW5kICJ4
ZW5sb2dkIi4gRm9yIHRoaXMgYmFja2VuZCB0eXBlDQo+PiB0aGUgdGFnIGRlZmF1bHRzIHRv
ICJYZW4iIGFuZCB0aGUgaG9zdCBzaWRlIHBhdGggdG8NCj4+ICIvdmFyL2xvZy94ZW4vZ3Vl
c3RzLzxkb20tbmFtZT4iLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3Mg
PGpncm9zc0BzdXNlLmNvbT4NCj4gDQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGwveGxfcGFy
c2UuYyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmMNCj4+IGluZGV4IGVkOTgzMjAwYzMuLjM0NjUz
MmUxMTcgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94bC94bF9wYXJzZS5jDQo+PiArKysgYi90
b29scy94bC94bF9wYXJzZS5jDQo+IA0KPj4gQEAgLTIyNDIsNiArMjI1NiwyNyBAQCB2b2lk
IHBhcnNlX2NvbmZpZ19kYXRhKGNvbnN0IGNoYXIgKmNvbmZpZ19zb3VyY2UsDQo+Pg0KPj4g
ICAgICAgICAgICAgICBsaWJ4bF9zdHJpbmdfbGlzdF9kaXNwb3NlKCZwYWlycyk7DQo+Pg0K
Pj4gKyAgICAgICAgICAgIGlmIChwOS0+dHlwZSA9PSBMSUJYTF9QOV9UWVBFX1VOS05PV04p
IHsNCj4+ICsgICAgICAgICAgICAgICAgcDktPnR5cGUgPSBMSUJYTF9QOV9UWVBFX1FFTVU7
DQo+PiArICAgICAgICAgICAgfQ0KPj4gKyAgICAgICAgICAgIGlmIChwOS0+dHlwZSA9PSBM
SUJYTF9QOV9UWVBFX1FFTVUgJiYNCj4+ICsgICAgICAgICAgICAgICAgKHA5LT5tYXhfc3Bh
Y2UgfHwgcDktPmF1dG9fZGVsZXRlKSkgew0KPiANCj4gQWxzbyBjaGVjayBwOS0+bWF4X29w
ZW5fZmlsZXMgYW5kIHA5LT5tYXhfZmlsZXM/DQoNCkFoLCB5ZXMsIEkgYWRkZWQgdGhvc2Ug
bGF0ZXIgYW5kIGZvcmdvdCB0byBhZGFwdCB0aGlzIGNoZWNrLg0KDQoNCkp1ZXJnZW4NCg0K

--------------I5gHIsZj0EfI10gs8YYdLXm2
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-----

--------------I5gHIsZj0EfI10gs8YYdLXm2--

--------------Gr5U964y8MXODUa9Rh3LC24a--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVLMJoFAwAAAAAACgkQsN6d1ii/Ey9F
9ggAkc921vx0IbehqlJWpoARiG6Jpp2nMJeG92EXgoOR2JICK/SQ2zTvjTp/vzrJlwIhs7hOn02e
FN00/52YuNfNkFiQNteW3K5ms+0XXpBJFe4rd1fibhwziWvOUC7JE8Jei8/nkMNkeMCnBQ8HBJFa
Gq/VLsXFHSLKj2bBbN1zzpPpPhSldyTiUO1hGC5aTAVAj/NjGXBVd7rpZSqXws/gQOhR6/LW7BZT
YPIRt/GsMlTkk6V64Cz+Huy7gnrlG4aYgCi+/80R2aNWJmCLbb74BLKFsUZjmaJqRU1C0KD2/URl
/KJYq7WJrkIUqK6CxErGd/M5LMD926jyUUpl3qD1JQ==
=gNKA
-----END PGP SIGNATURE-----

--------------LnIXFr2WRY64h0n098flh4bF--


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 06:55:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 06:55:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629201.981219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0cSr-0007Se-NE; Wed, 08 Nov 2023 06:55:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629201.981219; Wed, 08 Nov 2023 06: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 1r0cSr-0007SX-JL; Wed, 08 Nov 2023 06:55:01 +0000
Received: by outflank-mailman (input) for mailman id 629201;
 Wed, 08 Nov 2023 06:55: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=777z=GV=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r0cSq-0007NB-7k
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 06:55:00 +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 bbb9e49a-7e03-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 07:54:59 +0100 (CET)
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 526062195F;
 Wed,  8 Nov 2023 06:54: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 28EFA138F2;
 Wed,  8 Nov 2023 06:54:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id yL/3B8MwS2XYCwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 08 Nov 2023 06: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: bbb9e49a-7e03-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699426499; 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:autocrypt:autocrypt;
	bh=uAW4xBAr4gHf7EOudDtQSyj8X1lNtB7q5dyezYaf1Ik=;
	b=ak880mZqMCeah+YmY6VyPqY9XRTVrfcFv8d1rBkSVXRjBAu4YyMe4tD3A4WV6ol1TKO3us
	N9Lu/MbtPlY/W+RMblxvYMyPa4oiqnd9er9sBHkWEI2RZ593mrMt+waLXSCvT1is7hIzTs
	pOpg2rbPKM6QL9nznCuhyOXnJkTNn4c=
Message-ID: <f83f7013-a174-458f-a6d5-a24675c899da@suse.com>
Date: Wed, 8 Nov 2023 07:54:58 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 20/29] tools: add 9pfs device to xenstore-stubdom
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-21-jgross@suse.com>
 <CAKf6xps6DOJpVqsVv_OzQbuG2fQniYtbDyu=WSqrC+FXC=K5dw@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xps6DOJpVqsVv_OzQbuG2fQniYtbDyu=WSqrC+FXC=K5dw@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------fpq6f80frL07sXquXcnaDYvh"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------fpq6f80frL07sXquXcnaDYvh
Content-Type: multipart/mixed; boundary="------------Aq02Kf5xnsUN7lEvwH8oz0sj";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <f83f7013-a174-458f-a6d5-a24675c899da@suse.com>
Subject: Re: [PATCH 20/29] tools: add 9pfs device to xenstore-stubdom
References: <20231101093325.30302-1-jgross@suse.com>
 <20231101093325.30302-21-jgross@suse.com>
 <CAKf6xps6DOJpVqsVv_OzQbuG2fQniYtbDyu=WSqrC+FXC=K5dw@mail.gmail.com>
In-Reply-To: <CAKf6xps6DOJpVqsVv_OzQbuG2fQniYtbDyu=WSqrC+FXC=K5dw@mail.gmail.com>

--------------Aq02Kf5xnsUN7lEvwH8oz0sj
Content-Type: multipart/mixed; boundary="------------Y61Fk3AD34vqEYUsDTPMiKmK"

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

T24gMDcuMTEuMjMgMjA6MTgsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIFdlZCwgTm92
IDEsIDIwMjMgYXQgODoyM+KAr0FNIEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4g
d3JvdGU6DQo+Pg0KPj4gQWRkIGEgOXBmcyBkZXZpY2UgdG8gWGVuc3RvcmUgc3R1YmRvbSBp
biBvcmRlciB0byBhbGxvdyBpdCB0byBkbyBlLmcuDQo+PiBsb2dnaW5nIGludG8gYSBkb20w
IGZpbGUuDQo+Pg0KPj4gVXNlIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBmb3IgdGhlIG5l
dyBkZXZpY2U6DQo+Pg0KPj4gLSB0YWcgPSAieGVuIg0KPj4gLSB0eXBlID0gInhlbmxvZ2Qi
DQo+PiAtIHBhdGggPSAiL3Zhci9saWIveGVuL3hlbnN0b3JlIg0KPj4NCj4+IEZvciBub3cg
ZG9uJ3QgbGltaXQgYWxsb3dlZCBmaWxlIHNwYWNlIG9yIG51bWJlciBvZiBmaWxlcy4NCj4+
DQo+PiBBZGQgYSBuZXcgbGlieGwgZnVuY3Rpb24gZm9yIGFkZGluZyBpdCBzaW1pbGFyIHRv
IHRoZSBmdW5jdGlvbiBmb3INCj4+IGFkZGluZyB0aGUgY29uc29sZSBkZXZpY2UuDQo+Pg0K
Pj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPiAN
Cj4+IGRpZmYgLS1naXQgYS90b29scy9saWJzL2xpZ2h0L2xpYnhsXzlwZnMuYyBiL3Rvb2xz
L2xpYnMvbGlnaHQvbGlieGxfOXBmcy5jDQo+PiBpbmRleCAwYjlkODRkY2U5Li4zMjk3Mzg5
NDkzIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF85cGZzLmMNCj4+
ICsrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfOXBmcy5jDQo+PiBAQCAtMTc0LDYgKzE3
NCwzNSBAQCBzdGF0aWMgdm9pZCBsaWJ4bF9fZGV2aWNlX3A5X2FkZChsaWJ4bF9fZWdjICpl
Z2MsIHVpbnQzMl90IGRvbWlkLA0KPj4gICAgICAgICAgIGFvZGV2LT5jYWxsYmFjayhlZ2Ms
IGFvZGV2KTsNCj4+ICAgfQ0KPj4NCj4+ICtpbnQgbGlieGxfcDlfYWRkX3hlbnN0b3JlKGxp
YnhsX2N0eCAqY3R4LCB1aW50MzJfdCBkb21pZCwgdWludDMyX3QgYmFja2VuZCwNCj4+ICsg
ICAgICAgICAgICAgICAgICAgICAgICAgIGxpYnhsX3A5X3R5cGUgdHlwZSwgY2hhciAqdGFn
LCBjaGFyICpwYXRoLA0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQg
aW50IG1heF9zcGFjZSwgdW5zaWduZWQgaW50IG1heF9maWxlcywNCj4+ICsgICAgICAgICAg
ICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBtYXhfb3Blbl9maWxlcywgYm9vbCBhdXRv
X2RlbGV0ZSwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGxpYnhsX2Fz
eW5jb3BfaG93ICphb19ob3cpDQo+PiArew0KPj4gKyAgICBBT19DUkVBVEUoY3R4LCBkb21p
ZCwgYW9faG93KTsNCj4+ICsgICAgbGlieGxfX2FvX2RldmljZSAqYW9kZXY7DQo+PiArICAg
IGxpYnhsX2RldmljZV9wOSBwOSA9IHsgLmJhY2tlbmRfZG9taWQgPSBiYWNrZW5kLA0KPj4g
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIC50YWcgPSB0YWcsDQo+PiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgLnBhdGggPSBwYXRoLA0KPj4gKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIC5zZWN1cml0eV9tb2RlbCA9ICJub25lIiwNCj4gDQo+IFdoaWxlIHRoZSB4
bC5jZmcgbWFuIHBhZ2Ugc3RhdGVzIHRoYXQgb25seSBzZWN1cml0eV9tb2RlbD0ibm9uZSIg
aXMNCj4gc3VwcG9ydGVkLCBpdCBpcyBwb3NzaWJsZSB0byB1c2Ugb3RoZXIgb25lcy4gICAg
VGhlIHZhbHVlIGlzbid0DQo+IGluc3BlY3RlZCBhbmQgaXQgaXMganVzdCBwYXNzZWQgdGhy
b3VnaCBYZW5zdG9yZSB0byBRRU1VLiAgUUVNVSBjYW4NCj4gdGhlbiBvcGVyYXRlIGhvd2V2
ZXIgaXQgb3BlcmF0ZXMuICBJIGp1c3QgdGVzdGVkIG1hcHBlZC14YXR0ciBhbmQgaXQncw0K
PiB3b3JraW5nIGZyb20gc29tZSBxdWljayB0ZXN0aW5nLiAgU28gbWF5YmUgbGlieGxfcDlf
YWRkX3hlbnN0b3JlKCkNCj4gc2hvdWxkIHRha2Ugc2VjdXJpdHlfbW9kZWwgYXMgYW4gYXJn
dW1lbnQsIGFuZCB0aGVuDQo+IGluaXQteGVuc3RvcmUtZG9tYWluIGNhbiBwYXNzIGluICJu
b25lIj8NCg0KWWVzLCBnb29kIGlkZWEuDQoNCj4gDQo+IEV2ZXJ5dGhpbmcgZWxzZSBsb29r
cyBnb29kLCBzbyBlaXRoZXIgd2F5Og0KPiBSZXZpZXdlZC1ieTogSmFzb24gQW5kcnl1ayA8
amFuZHJ5dWtAZ21haWwuY29tPg0KDQpUaGFua3MsDQoNCkp1ZXJnZW4NCg==
--------------Y61Fk3AD34vqEYUsDTPMiKmK
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-----

--------------Y61Fk3AD34vqEYUsDTPMiKmK--

--------------Aq02Kf5xnsUN7lEvwH8oz0sj--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVLMMMFAwAAAAAACgkQsN6d1ii/Ey/n
0gf9HqMj9GbqwHFpCR4sNaDTjzIEocEF+5KUtyjm/KSCX4yU5s6DIfxmxAEgVHqauq15rhw1qmdW
d/P32kr3m3NjXEq3Jg9bbUNXstkgEx07Dyhbo1pZgSRDPzLyDgae6VHMnPa+jVzYWB+qbgbT1sdL
DzvoYvfbkiBM/N6bpbE5tcMClJVGYGw3Rw1zzCEgb2SbVm8bgPicECuvN5Wf0BG6Uwx8y6RMK1xk
nK3pbMt297pyXeStZRbZN3++a4PY/+yBE9c+4Gs9OkZIuz01/t2quSz8aMmTEMt5VG268YWaaeuu
iWvp+aRtMAiPv5CtGLkzkjeSjfXcweKsgRH4nSVRRQ==
=3rL3
-----END PGP SIGNATURE-----

--------------fpq6f80frL07sXquXcnaDYvh--


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 07:32:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 07:32:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629207.981229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0d2j-0004wv-DI; Wed, 08 Nov 2023 07:32:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629207.981229; Wed, 08 Nov 2023 07: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 1r0d2j-0004wo-9g; Wed, 08 Nov 2023 07:32:05 +0000
Received: by outflank-mailman (input) for mailman id 629207;
 Wed, 08 Nov 2023 07:32: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=vAl1=GV=lst.de=hch@srs-se1.protection.inumbo.net>)
 id 1r0d2h-0004wS-De
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 07:32:03 +0000
Received: from verein.lst.de (verein.lst.de [213.95.11.211])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e7269cc9-7e08-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 08:32:02 +0100 (CET)
Received: by verein.lst.de (Postfix, from userid 2407)
 id A3BAD6732D; Wed,  8 Nov 2023 08:31:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7269cc9-7e08-11ee-98da-6d05b1d4d9a1
Date: Wed, 8 Nov 2023 08:31:57 +0100
From: Christoph Hellwig <hch@lst.de>
To: Mikulas Patocka <mpatocka@redhat.com>
Cc: Mike Snitzer <snitzer@kernel.org>, Keith Busch <kbusch@kernel.org>,
	Christoph Hellwig <hch@lst.de>, Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, iommu@lists.linux.dev,
	Marek Marczykowski-G'orecki <marmarek@invisiblethingslab.com>,
	Jens Axboe <axboe@fb.com>, Sagi Grimberg <sagi@grimberg.me>,
	Jan Kara <jack@suse.cz>, Vlastimil Babka <vbabka@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <willy@infradead.org>,
	Michal Hocko <mhocko@suse.com>, stable@vger.kernel.org,
	regressions@lists.linux.dev, Alasdair Kergon <agk@redhat.com>,
	dm-devel@lists.linux.dev, linux-mm@kvack.org
Subject: Re: [PATCH v2] swiotlb-xen: provide the "max_mapping_size" method
Message-ID: <20231108073157.GB5277@lst.de>
References: <ZUUlqJoS6_1IznzT@kbusch-mbp.dhcp.thefacebook.com> <ZUVYT1Xp4+hFT27W@mail-itl> <ZUV3TApYYoh_oiRR@kbusch-mbp.dhcp.thefacebook.com> <11a9886d-316c-edcd-d6da-24ad0b9a2b4@redhat.com> <ZUZOKitOAqqKiJ4n@kbusch-mbp.dhcp.thefacebook.com> <20231106071008.GB17022@lst.de> <928b5df7-fada-cf2f-6f6a-257a84547c3@redhat.com> <ZUkDUXDF6g4P86F3@kbusch-mbp.dhcp.thefacebook.com> <ZUkGpblDX637QV9y@redhat.com> <151bef41-e817-aea9-675-a35fdac4ed@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <151bef41-e817-aea9-675-a35fdac4ed@redhat.com>
User-Agent: Mutt/1.5.17 (2007-11-01)

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 08:08:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 08:08:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629217.981238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0dbS-0002Kg-HN; Wed, 08 Nov 2023 08:07:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629217.981238; Wed, 08 Nov 2023 08: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 1r0dbS-0002KZ-Ej; Wed, 08 Nov 2023 08:07:58 +0000
Received: by outflank-mailman (input) for mailman id 629217;
 Wed, 08 Nov 2023 08:07: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=d36Q=GV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0dbR-0002KT-EE
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 08:07:57 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0618.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eaf56d89-7e0d-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 09:07:54 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8464.eurprd04.prod.outlook.com (2603:10a6:10:2c1::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Wed, 8 Nov
 2023 08:07:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Wed, 8 Nov 2023
 08:07: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: eaf56d89-7e0d-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nJ2g83SPAB71cwTKfJgO6oxojG6is+1SXoYmn+oITmSuPI1C7ZWvbduYpAv1Cd8iA/cuBBAvAs+KWMRyYIOFfJjihtp8CwGJ+u7nstF6/CcOCTNnWsjx9idZCaqybzV9LSoaH5HZ8IFdqpbT8sfbOeUOdu4nPDMcF2Q7rklrT9RgWoOYAenAp7HeoBrE1XfOPfLb87TGtQTZecBmrQAg4intKOBY1DawGPHMsRuBiHGbDHK4mqrsyVcc2Z8+Sc/XhEnD43GCUT6oJonf0n7YUcqQ5BfWYjlpIxedZ2dpKiDM1UN/PdNd5UjlVDj3dL5nGdC902fY4P7zdAbBoeJw2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8QaBxUfnatMweMqqI2yFQaKMByKzbLYi5OTYIF3vqcA=;
 b=IOjVrFNiYBsdn1VxWcVJpiR4GO8DJFGcT0Jhki/JbjqJtkWa7+6SpIKo3eywrucIisnck/bIOQAPGE4C1eoLtiZYbaD/wULQHfF8YMQ9C1s4eGX6rhO6D2adgpBBoBztP+lcHM5nfPzVD3YoT6s20Z2E+4XleZOrtOjh+9nyfY8sBCU+Wnxzq13zjlg/QtJ3xrOIzguPAkSkZaYRUy9VrXCmKpmlwcvTWEWGt0k4uzk47oiTfDFShT1+xMtyusVbnmjZPmQ/KONwlLB7FqkpKz1kCoSRp50pLX1/wp10zGyRtPgVSzaQ1QUpJfssAy+2GH7Kl2sLcvzReuVcPH6sjA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=8QaBxUfnatMweMqqI2yFQaKMByKzbLYi5OTYIF3vqcA=;
 b=i3WnwDpUshVv2RvXxrDtUcBP58fXC9FWQrnoKH1RtzSuuYFB10DSiZNcz2D+p9QWl1HRCon1FrACmEo2QMvLjdl1Gf6r62y+8YMl0li+xiEpUNAabPROfUHz/+RoZGd9z2gF8IE1oYHATGpzRIL3bjSyQkYOIQDsPmId2wzdR7cGH+O4b2udZXARfgXJcD4SNJc0sVr5YKzDEXAZumEukDetM890vg5EO4wnboATOsbSJozeew5q3+KVGvqTDw16IesnjDqhsO/H3hNW8Vt+oxesq8Lpyw540by6GG1qJzxzm+GC7aTmeQAWjtVrsyN14i/QcWmYDg/uCeG/kmeN7w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3e94cfaf-7c01-dc5e-4d14-85d69e540479@suse.com>
Date: Wed, 8 Nov 2023 09:07:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH v3] xen/string: address violations of MISRA C:2012
 Rules 8.2 and 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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: <d28ea15aa8d36622548b433d5fb6f19dd521bdfb.1699369270.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <d28ea15aa8d36622548b433d5fb6f19dd521bdfb.1699369270.git.federico.serafini@bugseng.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8464:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c2ede87-cf46-4c34-f0a1-08dbe031cd37
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ASPFPo+9iiVbVRaTTc/MaIJ+rHBu2FGPEfOjg+DZ9NrGInA1V8tWbnnNiow+C7sx2PbhMLrE5z5ySmT9PdmCcNoG/o4rs7pz/qQUtIHNH/VMa3uG9/8mZwvqQmtoW+WNGeuWXHAbKOebG5r1i8oiOK2ktFKkUOK70U81z3vCw+A0XfOghVukiKs1lwAN7WYwL5WPuC9gE9UYLGcGkymMVaTZeX6ykFlzgheEgAuHJYrhhzqTkNO/mLTaDebXGrq6l/3RYZ5pUiP+HzgJKkwoPU8hU3hq3Jy1fjHI/KYOcRnBE6hHR5xnSdFlbzmtKzeZmlyM7Dg2KdHScHjXE9gmb/SV82Z+GGK91Yn8Dw7stYoRDTRPAD4STp9k0LoQBdhNcAefXrbEiE2kD2lFzswcVh0hjc/zajPyu3n3MyE9cHItmqz9NVOvwaKKPIxFY7pxsQJeUp+mDVOXxlE2J2KmIl/G3zlkUX1ouY8umIggs7o5P1K9lYGsH7TKj5xwsE129xn0UD0KYoXITGKqKRT0Asl5GJbfptNZMkPXEgr6mYzjmZhO8pTztxxLI+g3w/4cpMF3FqH2nZRpLuLYIGidFm1ZywkHuf+LwlHzZIO6L+NjQ3ptPHFdinIvarybcUdoqPxq0z7ByEKS1n12jnNBSQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(39860400002)(396003)(366004)(376002)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(36756003)(5660300002)(4326008)(8936002)(8676002)(38100700002)(2906002)(6486002)(6512007)(26005)(31686004)(2616005)(83380400001)(54906003)(66476007)(316002)(66556008)(6916009)(66946007)(53546011)(6506007)(478600001)(86362001)(31696002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T3hseklZTzNMN2I0d2RyRDlaWVI0NzAwK1R4di8zdjhVVCsxUlVmWnJTeWpi?=
 =?utf-8?B?UlJUbEh4Mi9FQmQyeXNBNlRZWjBPRnJ6ZWl3YnhnaEJ3MWZCRDZvYys3R3NF?=
 =?utf-8?B?RW1LNjZSQmpwc1I4c0FHYmN5cUVZVnhheWc3WlpqcncvakRUekd1T0FjVEtW?=
 =?utf-8?B?V2JhZzRrL1VNd3VOL0VOajl4S09xZ1pLbE85U0RpRUU2bmtVQWRGTTEzNS9u?=
 =?utf-8?B?Z0Y1N29PR1IvOSsrbkxybUJsbmsrdGdaWkRhUHY4alhBV1dva2Ezb1VYYnlz?=
 =?utf-8?B?ZndVbkpjQ1BuVUw3SDdaQ0N2T0Q5bTFvRGZzV1NLYm5UdExtYmtHMXQ2ZlVV?=
 =?utf-8?B?Zm5sUk1QMXMrd0hBaFdVMUd6QUhvRk0yWWk0S1ZUb3RjVS92QWhPRDNTS2R0?=
 =?utf-8?B?M2NuYnJEdStPLzRIU0tYV3gzL0k1RHNsdEVnOUx3MVM0bmhKS2tpbWtJblRv?=
 =?utf-8?B?MFdGK2ZacC9VNkw2eFB1TnpxOXV3TWlDZ2VidHJhZzBPZVlXQ1ZheExCZ3ZC?=
 =?utf-8?B?MVpINkJvdnBJNUJmTEVDRmRqODZJZ0UyS3NuWEY4L0NPcWx0Um9zTG94ektK?=
 =?utf-8?B?QkZRL0pnOHhMNHhzYWR3a1ZPT1ZWeVRHblNFeEI3bnlWT2xPSlVidG5HQVA3?=
 =?utf-8?B?V3FtRk9BTFdpQVB6R2cvTFFOQmlOVEdnZ2JLVUNCY1MzeU1tbzdDYm9lNCtt?=
 =?utf-8?B?NVN6T3YrSit4b084M1JnSEpNL0laZHFCWjZsYmxzT25lU3V3TEhLSW5Lb0Uv?=
 =?utf-8?B?WjZJRUZtVndxSjNNRmFJYk9mWEsySFhiR000NlhzUnhHWHMrcVE0bi9hdUtV?=
 =?utf-8?B?N2JnbWpwMWJ2UFpRbGNORU9BZHI5ZkVkeXgzV1hTZ2JpOFpoSnhOM0oxSEY1?=
 =?utf-8?B?c2wrWXNhQURFNGIvNzJoTU5wTGJiZzBpelBRVndzbFZiRytJRU9DMTlBeVMz?=
 =?utf-8?B?ZDhXMWpWK3hLcmFDSnc0TmVaSlVDNWRRRUpVUGpGNGxIRXkzNGVTQ2YrRnk0?=
 =?utf-8?B?REQ4c3Y1LzhCY3JmK3dqVDhwR0ZWR2RNREpwZWp5SFk1V0xxTjJ5WjEwL1Q5?=
 =?utf-8?B?WG1UUE05UWVmOElMUWo4RDFiTnppdFBmZSt0ZkQ3MjVWREJTdEdPY2pmMlU4?=
 =?utf-8?B?TXhlbjltWUtWWGh2MUt2WFVZZkpwZG9BL010RkwvZmc0R1FDbGxNd0YyaDJT?=
 =?utf-8?B?SDFHTERaWWMvUEpIYVR4Ri9DU0F5WnptcjNTeXc4blpzaG5JYUtzdFhLTjl5?=
 =?utf-8?B?WWVTQThtZDRTbGR2UmhwejM3ZWljcTRwQ1B1YzVJUHo2WG45aXh2N1BaNjRQ?=
 =?utf-8?B?eFh4RnB3T3htZVQ2OWpIeWV1RnZta0puTWd1dzNFZXJFQTJTY1pWWktHTlJn?=
 =?utf-8?B?NElsZFpLVzd5SGE0TUNzSlkrTkZJTm16NjRQamxRbW1qU2NWaGZibnM5NTRt?=
 =?utf-8?B?NS9ubWtRTzY5SzRRS0hMOHJNUjRHZTVXYWppaGZ2ZWJsYUpZemQ0SUlEWS9B?=
 =?utf-8?B?LzZnUUJGNlFpWHppZG9OWllHRUc5UFpsRThiNFArZWR5ZmxpcUM2TEJkMGJD?=
 =?utf-8?B?MGV1TDg1UFA3Y09QRGRkS1ovR05HV2tmWTRvbm9rUXVtWndrd0lUN01ZTlk1?=
 =?utf-8?B?ZVRrYW5CbFpPYUUyZ094S2Mza1RueW1SRlA4cmZUV2tkTUlZT3Vtb01RZVlR?=
 =?utf-8?B?SkNZV1N1Sm9uWkNFa2Y1WlZBWmZ2R0o1TjBHclJsZEZmYitiM21pK0M5Y2tw?=
 =?utf-8?B?Wml0dU1NOVFYUjdnZGh3SHdISndZN1BQSjZoN1BFNGhLOWZkMzZmQjJkdFJu?=
 =?utf-8?B?MnYzUnlzVk9sRnlDU3BvU3pJWHpwaEZhbUxKSVlVZ2hTWTJuc0M0cUVsWDJ2?=
 =?utf-8?B?Y1RNYjV3K0FpNS8xRzI3OW1ZSFdLQkt5dmpld1NVVGo4SXM3L0pPTjVkaXd0?=
 =?utf-8?B?bGYwdmVCWTFONkY4WUhSUHU4Q2lHcUNIdVhzVXZOMEx2K2QraWFyZjFWVWpI?=
 =?utf-8?B?bHZ2T08xVjc4VEhRSHVCWjVSbXY1MEYxTkl2a0hVUjRGNTNRMFpWTmpScU9n?=
 =?utf-8?B?RUptT2pwSkc1YWRoMnhrK0xtZ0hvWkxZUE1ORVJJbFAwRzdPeGJ0ZkJjbHUr?=
 =?utf-8?Q?FCcd5soxqrTMI38WY2Of7WO1B?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c2ede87-cf46-4c34-f0a1-08dbe031cd37
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 08:07:50.5573
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F04zVwxnlXVH8xatjxvvcKdbsrbnAh7TlFULWrjTlY9L/TZsQnkYLDRqZIj3dsItuTaMv9AQdbNzFwLl1iFNCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8464

On 07.11.2023 16:18, Federico Serafini wrote:
> Add missing parameter names and make function declarations and
> definitions consistent.
> Mismatches between parameter names "count" and "n" are resolved
> in favor of "n", being the same name used by the C standard.

I'm afraid this wasn't done consistently:

> --- a/xen/include/xen/string.h
> +++ b/xen/include/xen/string.h
> @@ -12,27 +12,27 @@
>  #define strncpy __xen_has_no_strncpy__
>  #define strncat __xen_has_no_strncat__
>  
> -size_t strlcpy(char *, const char *, size_t);
> -size_t strlcat(char *, const char *, size_t);
> -int strcmp(const char *, const char *);
> -int strncmp(const char *, const char *, size_t);
> -int strcasecmp(const char *, const char *);
> -int strncasecmp(const char *, const char *, size_t);
> -char *strchr(const char *, int);
> -char *strrchr(const char *, int);
> -char *strstr(const char *, const char *);
> -size_t strlen(const char *);
> -size_t strnlen(const char *, size_t);
> -char *strpbrk(const char *, const char *);
> -char *strsep(char **, const char *);
> -size_t strspn(const char *, const char *);
> -
> -void *memset(void *, int, size_t);
> -void *memcpy(void *, const void *, size_t);
> -void *memmove(void *, const void *, size_t);
> -int memcmp(const void *, const void *, size_t);
> -void *memchr(const void *, int, size_t);
> -void *memchr_inv(const void *, int, size_t);
> +size_t strlcpy(char *dest, const char *src, size_t size);
> +size_t strlcat(char *dest, const char *src, size_t size);
> +int strcmp(const char *cs, const char *ct);
> +int strncmp(const char *cs, const char *ct, size_t count);

There's still "count" here and ...

> +int strcasecmp(const char *s1, const char *s2);
> +int strncasecmp(const char *s1, const char *s2, size_t len);
> +char *strchr(const char *s, int c);
> +char *strrchr(const char *s, int c);
> +char *strstr(const char *s1, const char *s2);
> +size_t strlen(const char *s);
> +size_t strnlen(const char *s, size_t count);
> +char *strpbrk(const char *cs,const char *ct);
> +char *strsep(char **s, const char *ct);
> +size_t strspn(const char *s, const char *accept);
> +
> +void *memset(void *s, int c, size_t n);
> +void *memcpy(void *dest, const void *src, size_t n);
> +void *memmove(void *dest, const void *src, size_t n);
> +int memcmp(const void *cs, const void *ct, size_t count);

... here (not counting functions which aren't part of the C standard).

Otoh I'm unsure I understand that part of the description correctly:
There was no disagreement for any of ...

> --- a/xen/lib/memcpy.c
> +++ b/xen/lib/memcpy.c
> @@ -8,16 +8,16 @@
>   * memcpy - Copy one area of memory to another
>   * @dest: Where to copy to
>   * @src: Where to copy from
> - * @count: The size of the area.
> + * @n: The size of the area.
>   *
>   * You should not use this function to access IO space, use memcpy_toio()
>   * or memcpy_fromio() instead.
>   */
> -void *(memcpy)(void *dest, const void *src, size_t count)
> +void *(memcpy)(void *dest, const void *src, size_t n)
>  {
>  	char *tmp = (char *) dest, *s = (char *) src;
>  
> -	while (count--)
> +	while (n--)
>  		*tmp++ = *s++;
>  
>  	return dest;
> --- a/xen/lib/memmove.c
> +++ b/xen/lib/memmove.c
> @@ -8,23 +8,23 @@
>   * memmove - Copy one area of memory to another
>   * @dest: Where to copy to
>   * @src: Where to copy from
> - * @count: The size of the area.
> + * @n: The size of the area.
>   *
>   * Unlike memcpy(), memmove() copes with overlapping areas.
>   */
> -void *(memmove)(void *dest, const void *src, size_t count)
> +void *(memmove)(void *dest, const void *src, size_t n)
>  {
>  	char *tmp, *s;
>  
>  	if (dest <= src) {
>  		tmp = (char *) dest;
>  		s = (char *) src;
> -		while (count--)
> +		while (n--)
>  			*tmp++ = *s++;
>  	} else {
> -		tmp = (char *) dest + count;
> -		s = (char *) src + count;
> -		while (count--)
> +		tmp = (char *) dest + n;
> +		s = (char *) src + n;
> +		while (n--)
>  			*--tmp = *--s;
>  	}
>  
> --- a/xen/lib/memset.c
> +++ b/xen/lib/memset.c
> @@ -8,15 +8,15 @@
>   * memset - Fill a region of memory with the given value
>   * @s: Pointer to the start of the area.
>   * @c: The byte to fill the area with
> - * @count: The size of the area.
> + * @n: The size of the area.
>   *
>   * Do not use memset() to access IO space, use memset_io() instead.
>   */
> -void *(memset)(void *s, int c, size_t count)
> +void *(memset)(void *s, int c, size_t n)
>  {
>  	char *xs = (char *) s;
>  
> -	while (count--)
> +	while (n--)
>  		*xs++ = c;
>  
>  	return s;

... these, seeing that the declarations simply didn't have any parameter
names at all.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 08:17:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 08:17:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629222.981249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0dku-0004Oy-KQ; Wed, 08 Nov 2023 08:17:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629222.981249; Wed, 08 Nov 2023 08:17: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 1r0dku-0004Or-HY; Wed, 08 Nov 2023 08:17:44 +0000
Received: by outflank-mailman (input) for mailman id 629222;
 Wed, 08 Nov 2023 08: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=7seD=GV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0dkt-0004Ol-1z
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 08:17:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49741cde-7e0f-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 09:17:41 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 77B4E4EE0737;
 Wed,  8 Nov 2023 09:17:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49741cde-7e0f-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Wed, 08 Nov 2023 09:17:41 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: simone.ballarin@bugseng.com, consulting@bugseng.com,
 xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com
Subject: Re: Failing eclair-ARM64 job
In-Reply-To: <alpine.DEB.2.22.394.2310311443460.1795129@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2310311443460.1795129@ubuntu-linux-20-04-desktop>
Message-ID: <cedcc2c2dad9b0a75220d676ff6b646a@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

sorry for the late reply; see my response below.

On 2023-10-31 22:47, Stefano Stabellini wrote:
> Hi Simone,
> 
> As you might have noticed, all the eclair-ARM64 jobs have been failing
> recently for the upstream Xen "staging" branch:
> 
> https://gitlab.com/xen-project/xen/-/pipelines/1056527466
> https://gitlab.com/xen-project/xen/-/pipelines/1056520898
> 
> Although eclair-ARM64 is "allow_failure: true" still is the only job
> currently failing and it would be nice to get it fixed, especially as 
> we
> are about to make gitlab-ci pipelines gating.
> 
> Cheers,
> 
> Stefano

A patch that is meant to address the issue related to D4.11, which makes 
the Arm job always
fail with a report on a clean guideline, has been submitted on the ML:

https://lore.kernel.org/xen-devel/3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com/

We are not aware of any semi-random failures in the ARM64 analysis, and 
applying this patch
should fix the problem. The error "error: No such remote: 
'autoPRRemote'" should not impact
the outcome of the job in any way.

Let us know if there are other Arm-related problems to be addressed.

Kind Regards,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 08:24:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 08:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629227.981258 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0dri-0006Kh-Aw; Wed, 08 Nov 2023 08:24:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629227.981258; Wed, 08 Nov 2023 08: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 1r0dri-0006Ka-8A; Wed, 08 Nov 2023 08:24:46 +0000
Received: by outflank-mailman (input) for mailman id 629227;
 Wed, 08 Nov 2023 08:24: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=d36Q=GV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0drg-0006KU-D8
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 08:24:44 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20601.outbound.protection.outlook.com
 [2a01:111:f400:7d00::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43eab6cd-7e10-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 09:24:42 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8599.eurprd04.prod.outlook.com (2603:10a6:10:2da::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov
 2023 08:24:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Wed, 8 Nov 2023
 08: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>
X-Inumbo-ID: 43eab6cd-7e10-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WoUl6idtcr+CtA9UPZ0BOcvp2QxPdI+epSTHs9hbuHmybiHdo93/9j/hJdFU+k8cc7f+7FZQCBjI4cr8RGYFyx6/vu/rBHNuDfmQZqKGCexyHsNjmkSC25rMKQwjko8yVvHdEKIP+81WSR+HSpgjiyWExa/zGpguU77/1fyTH3XYTdaUZI0sSmLDoBXDfywJ20N8jBgeKfjJhwtmIndScLkuqzJNh7z1iJtnaCRcvKE7hpYaTPJHIUTouM7WSbGg3DiQrf304dQ3sztIoI1k8qj4jYq4g3Ml+qZ9nQhnguTrT5mleOA3HUh4QxynTTeqrajFlbfMplfZrQmbjY6euw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4k2I7rMtePHodnnE/F0J8bnrAivnEquTzBtf+BHUxBY=;
 b=TGpZDmAefSSbqsv0DE8UG4uzFu5LkZIUg0D/Pt1c5k+NZ+A1O7APYRrW9LMy6xVhwGVSeLh9QwaOL7BFPwakzQ8lTLYgNiNI1zs6zbL82Po4HObu5HAhbdIg5WDu4oiyCDa1q6YNSzySozY/+ZS/DiQ0hK9Kt5sg4dgDTF40rnRoH3bvSvPZYYDQQWPI/+j5zAA/S2REdzm7YnLFGBj0OANR7+u1/bSclEmz+fiWEsS9g/T6565CPnXEmHoiiNa4At5Vl6kAhop1JTk1NvTSKjcOpd5okvdbtis1YCIYdZsJGRCTPWMZbgFKnoW0fr5DIHaSmDFgXv9N++ricUqjqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4k2I7rMtePHodnnE/F0J8bnrAivnEquTzBtf+BHUxBY=;
 b=XAmIGgKzRDWC9B8mml5sEUGtKCC5JSpeekb3laFkC2EDldciQzwuz3MAWUoxOdAKTuBqA7Mm2/7WoBw9a0MjbDj27mlKsKkfs5zV/s7DV2pW5u91Bem58rOj4Ew19uBZVPcuTHWtNA73dn7+hkendJklFiN3V+BwW27UQXx9zV+wgR+G778DpnuLWriWsKuKbJD+jATQx+UaXNNjluIVRoQcy63g0VgnL38g5UUV9ugcb/4xomS8YPzzXC5jD0KEkOFbBG7ecyrXX2TFZLXyK9b5hP6FJ/4bQE+Ew3wO0vwlb7DJRqxhWAPA2ODogthlOmGPhesKebnYnVxxzSG1QA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
Date: Wed, 8 Nov 2023 09:24:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0199.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8599:EE_
X-MS-Office365-Filtering-Correlation-Id: 52919125-9eea-4854-f5ca-08dbe0342658
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Y4pR7eFP7HK8498FxASgD42Z5nGZEKfUCISxkUTye+GaZvpy2iWNhkv0P1X2AcL9gM5hFEm7eWAzjpGMLDpj13MSb5/2VE3C2YrU8HfSvemBviys9R7wQjKxLoPKgIjXClsIef4g8SRG5EgqPyoP7erfPqkNe9HGKXNUVTiZXI1UK3xPabGpSyTJIiKFBaYYYw2y2eZUYbTGmow/tmFM/gYSkkBhkPTk2hOxf/UBX6zBwQ3EMtZlgismIm/Xap63O+TPhX8jyLEKFGhFqXt2+zabQhI2NJT4dSoiREsi7KBPXOq03AUfQ1bWmacO+gtFnx+jkWAxKfiyR524yt+LgrcMvfUbyTRrddp3y7WhlVdkio1FKVEQUV5l5kZ7Fbk9FGDbsBylI7MFOkQyxIKhFhWvMiktWFpKETqFhjIhUZFgtAjkQXDgl8T+I4CqTmUINoGiJNmi6fF/XVWnafRZUi6QD9g2znlnJowQNv+riWqN3WAzKxQn31UBGfcqKM6KS6cQW6f2IiW0KYPbrgDrzpYZZZC5DH2jfC8EilvBCK9V/rt/4zHDnVLYj6tzIDaZbtQnV1FvNGXqcEqu581Ne1G1+j92xes5+06oHnC9aaLptHxJcBAWU5GLPNc+aWiqvV+a2EcL6p1+jsGBAMFA5w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(376002)(39860400002)(366004)(396003)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(86362001)(38100700002)(31696002)(36756003)(2906002)(6666004)(6486002)(4744005)(478600001)(53546011)(7416002)(6506007)(5660300002)(26005)(6512007)(2616005)(4326008)(8676002)(8936002)(316002)(6916009)(54906003)(66476007)(31686004)(66556008)(66946007)(41300700001)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUNOL0oxcUVTTUtHY0ZKc3BqRDlna01XSWhZU01jSzFsQ2NkMWw1MWNHYzdQ?=
 =?utf-8?B?NEE1V2tEOGRVVWtsNVE4NTlwYm52ZzdyUHpZeGJCUnpwaE5sVkFBOVdRdDRU?=
 =?utf-8?B?djBsUFhONlp5RFJCcnppYjY5b2RUekJ5R0hPQXBzQWsrS3c0aXRCR1IzWmpH?=
 =?utf-8?B?cUlQMnpFWXNoYzE3VmQ5WFdsd3hxNzM3SFhLWEZwMnBhTWFyYWVaTmMrdFI1?=
 =?utf-8?B?bDZXa1F1REhYZjZQRlpDSUY0cVJ2Z21ic3Mzd1pJQ3ZzQ0pkeGFjbFBuNnN6?=
 =?utf-8?B?d2wyalhZVmxIdVpSZUUvb0laVWRGYXZjRlQ2MjJBdGF6bmlSay9aQ2RyY1Mz?=
 =?utf-8?B?STg5UDRiVDRVMTY5eTR1aFhHMmhNY0NmUWJtY3ppb3RhbnA0Ym5CemNsSG5v?=
 =?utf-8?B?Z0pQUEI0SnZVTkhwSkZHczF5TklFbkhBTDc4UjhMblFUb0FNcUpjbkRuM0J6?=
 =?utf-8?B?QzljYkVuRjUzdlFkYy9UMEJ6TXZGek1zYWpKcmczMStRSFRZWVUyaURvQUxh?=
 =?utf-8?B?TzBpczZ2OHNkUVRRK0N1dmlGZzVzUTZhQ2xRRGdqekNHNEV4Mm9hNXcraUtw?=
 =?utf-8?B?UXVNcGU2WkI0Z1dqNHpNVVNvdzk4RU15ZEVxdWFKWXRzMGIrdCtZRVlHSUdJ?=
 =?utf-8?B?M3F2bWVIT21IankvZVJTd0ZVTVhXNzlJVC9JZnE0MnFDUGRGYTVwUm4weEoy?=
 =?utf-8?B?NjRFQ2tYNmFvVDR0TDQ1Syt4Qjg0dzBOa1FXamlWL3Baa2lUL2ZrS0l1NVpP?=
 =?utf-8?B?Z0NUMVczaFNubmZPVFlTcktRUk8vTG9Xc1hOY09hZkZGSXpnbm9DY1N6NkxO?=
 =?utf-8?B?aHBlNEsyOEU3RWNyREt4NU1ndDJrdHBOWEJIT3Fqdmt2cHBGTkZNOWZ5Zkoz?=
 =?utf-8?B?bGV3QWtQaHhDaHZDRXJtbVFzRWh3K0szdGFmWHNjZnF0Rll0ZzAvajd1NnU2?=
 =?utf-8?B?WVFPbUNyVGxJcWduakJWWG1xT1M0WFZUT1lnVXdQbEFPN3FJWkE4elBvTklq?=
 =?utf-8?B?NkErTUZ3YTFhL0cwZ0NTMTZ3VjAxUDlkYkl2VStIVUNnMUNycU02cE9MZWpL?=
 =?utf-8?B?R2tmeU1WSEQ3ajN0OXRza2lLU1MwZ3h0ZnJmVkZCbkdPNUdVTUtQeUR2eVV4?=
 =?utf-8?B?ZUJYMzF5cVcrUzJZZHJ5MHFVMGVsZmRsMmRlbkdiTTErTlUzSWFpaGFNdXdM?=
 =?utf-8?B?ZzQ3TnU3M0tLeEtSWFhINEZuM2dsZVpIWDFaSTlEMlFzK2JsNUFBS3N6RTUv?=
 =?utf-8?B?am1Md1Q0MVdKYzlDaFJTVUFVTmpiVzlySUpwTDU1QUhGcyt6c3hlYkpvMmtO?=
 =?utf-8?B?NENqTFNRWU1nRGJDczkxaUFoRzRmQno4SDVNQW9yKzk3enE4VDRhK0pwdXU2?=
 =?utf-8?B?NWtyT3dLYnJCZEFLcTY5NXU1T25lZlkxaWhVak1kNFpoRmhaODh2Y0FRUUg5?=
 =?utf-8?B?eXFRUk1nb2V3TE5ZbGI3NkR1WlVJcnVjMk11N29CZlBIVkN3djR2OGRTWVAy?=
 =?utf-8?B?ZmFoMkZOV28zVE1uR3c0NTNyZzV2NHNsQjg5MzVMNEZOWDRPbjhFYXloNkFp?=
 =?utf-8?B?bXFZVVNlWTRIRUFaT0t4V1piQ1d2cEZCdTFXOGNRckQrV0laOFJLTjNtcFJR?=
 =?utf-8?B?SSsxUjRlSUpMYTRzVHdzRVpiR094RlpkMFhpVHlpb1FpYi9FOWcvQU5SZ1d5?=
 =?utf-8?B?NjAzWGk5YnJSVXVLQUg0aStJU3RnNEhBbzFRUk5oLzlPOVRZZUlKVTV3d0cx?=
 =?utf-8?B?ZFFmNHhUNXVEMnZsUHhwRXFLdjhibm9UVzgvZGRKU0ZrdnRIUUdiM0NtN0R4?=
 =?utf-8?B?T09nRDZCWGt2ZlFDdEJHN0pVZ3RFNkxObWJoWGpGZHJ4SElXUGxpWDZVdlpE?=
 =?utf-8?B?VzZlQ0Z1ZG9sMldzSFMwT0Z3ejFEbWgveWZGN1o5WVdtSUcxVjBsajVRUGRY?=
 =?utf-8?B?Si9FUlp5bGRpT2RCSEJRRHpoeDhITXVLbjA5TzVKWDIwOXN3OWprYUFXMXh4?=
 =?utf-8?B?Y0ZkTlpkVmRvMkQ1bmRYaHVjTTE3QXYzazloc28rNFpVMko5cW1lclZBNjVB?=
 =?utf-8?B?Z2V5MjFJSGh4b2Nwbk1OVEs2K3FrNHhRcWVwUkp0WGN2N2w1Nzg1T3d1WUt5?=
 =?utf-8?Q?f2A+ydKmTA0O9PB7wUaiDppm+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 52919125-9eea-4854-f5ca-08dbe0342658
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 08:24:39.0999
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 45v8CzDOiqGokSNOxC1BuX5v1+7KCu6GmkdRPmfVc8MTGWp1SraQd5rYvxufq4Pm3VcRrCyxWJvkC8R01J5HCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8599

On 03.11.2023 18:58, Nicola Vetrini wrote:
> Static analysis tools may detect a possible null
> pointer dereference at line 760 (the memcpy call)
> of xen/common/domain.c. This ASSERT helps them in
> detecting that such a condition is not possible
> and also provides a basic sanity check.

I disagree with this being a possible justification for adding such a
redundant assertion. More detail is needed on what is actually
(suspected to be) confusing the tool. Plus it also needs explaining
why (a) adding such an assertion helps and (b) how that's going to
cover release builds.

> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -700,6 +700,8 @@ struct domain *domain_create(domid_t domid,
>  
>      if ( !is_idle_domain(d) )
>      {
> +        ASSERT(config);
> +
>          watchdog_domain_init(d);
>          init_status |= INIT_watchdog;

The assertion being redundant clearly requires it to be accompanied
by a comment. Otherwise it is going to be a prime subject of
redundancy elimination.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 09:18:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 09:18:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629231.981268 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0ehZ-0005td-2O; Wed, 08 Nov 2023 09:18:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629231.981268; Wed, 08 Nov 2023 09: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 1r0ehY-0005tW-Vy; Wed, 08 Nov 2023 09:18:20 +0000
Received: by outflank-mailman (input) for mailman id 629231;
 Wed, 08 Nov 2023 09: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=d36Q=GV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0ehX-0005tQ-SC
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 09:18:20 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20607.outbound.protection.outlook.com
 [2a01:111:f400:7d00::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bec06b34-7e17-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 10:18:14 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7628.eurprd04.prod.outlook.com (2603:10a6:10:204::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov
 2023 09:18:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Wed, 8 Nov 2023
 09:18: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: bec06b34-7e17-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yx+74Cjne5ccth2czdxOp/H7x0Cf0c3HcsJhs2ojXmhHXerwOeUbTeyBegWS/rYitYEYLci22IET01Ceckn87LoihVFyiUQ/cCCNM5YmFptckuke7L4/NAhs4MVt6ZulV/TbiAnf8Pt1p10tmUdrmGBPfMpOuYqKHoAbYINytpF8rDxczSIM/ag+dI3gJnAbTsLUIvtqfUUmYGsXZue0XLyCHtonHSqQs08QnScJTZNiLz4T+P1bZfPCrxyBDG2zkPZ/kdPosw64Uo+n5+nNFHxxNWisxPHJXDBM3xWEx89iZjpXnt3Qmbxkg8rtpVSbOyf0H095rFYDpccJOmKD2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+h0nNtcvewlwEZ9EgqswuiBSdIROxESPV1pN0MvnWl8=;
 b=Wg5fMc4aSWAJ5XQXI7P9eNsImUB+h1jUgudHvBAIXw+k9VQwbXNG8/NR7DY3s/Vr49yaqRqtUzYYY5pyCDQqKnfqEs5C27VN79WNqT+ZgFchB8/+cO0qncd9G6RAwBwesyFwCkKA2ZTe9g14smfB4gPQGmRtYP+dPf+YJDEIV1dSzYLO3BfVQKYJLMEdLJpvPbH2+HBYCrTAdb2UQgzNYYB/V51iXENS5pHHJN7Vruiygf+6WI07dW72NAYvylJQPe/Po7tQI/R57l5c8bxSuKyNMiNjTwZHANbNF/Q5plldVuvYT47kdWEaGtxO2fkbJ4ypftoSFqb+OT1wCLKWuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+h0nNtcvewlwEZ9EgqswuiBSdIROxESPV1pN0MvnWl8=;
 b=4MEP+F16Ji2WN8u5Ljn31RI/BM02MnV7sOjxZHK9ipqcsltuYWHROpvFyHpwhKSB/oKW2/ojpksAAyFF+i28+UrVqXnNb1CMAoN4hp3esLYtedZDkgJJY+ux+lsF19IqVIG2JYPqubFZSTk/fJEGeGAzfjmduOe6rj7R91nZExf+6kUEsX/5+5r35EU3fRAVOvRLxRGrEXG7LdJNZjpJtAjNeuJTFsJ/Vxui8PAuL5yYALQIDVkXGahslDDs7ITa9JHGPVi+NqSE6pPZKOtf2qm7Sxvlz7xfhFqRfXAhdzXWGivq9eaZ1Alex/Fefu/Z+MpIAGtPf06KFX8jOXsm9Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fd75ee81-3ae2-f776-416d-1f2e9690e3bc@suse.com>
Date: Wed, 8 Nov 2023 10:18:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
From: Jan Beulich <jbeulich@suse.com>
Subject: Re: [XEN PATCH v3] xen/string: address violations of MISRA C:2012
 Rules 8.2 and 8.3
To: Federico Serafini <federico.serafini@bugseng.com>
References: <d28ea15aa8d36622548b433d5fb6f19dd521bdfb.1699369270.git.federico.serafini@bugseng.com>
 <3e94cfaf-7c01-dc5e-4d14-85d69e540479@suse.com>
 <b949bd0b-3071-449e-bfd9-ad25cc0a1d22@bugseng.com>
Content-Language: en-US
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
In-Reply-To: <b949bd0b-3071-449e-bfd9-ad25cc0a1d22@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0148.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7628:EE_
X-MS-Office365-Filtering-Correlation-Id: 58678f70-8b1c-4a01-1fcf-08dbe03ba140
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xH85q9wolU7zRIglXwcK9KrJvfOGzbboVlH/y4KK2rtQ0rCPu4LHK2TxtEhXANnnZg7Y659uIOiR6JLrc9D809E4cDYCFL4ndhUxk1VfDqPwrledK8+iMlwlYUYnm8TS3R3QNXP99K2oJv7CGTBhZCRe5+ZWDxKuc3QTeAXpk8yC6Wye/Yw1gTt+DRg8s0PQjxq4KaAo6h4Sg/CQitQeKw4+obfy86EmoHXsdzW4LElfokK4tfys4rZykQqrNkHAeWJ8h3De1eLyN2285IqSHxUa9R2XqsYRwkojTUaAfMoghlaSz2Y4+clgvfM5J/02wLP/GB2MXqVFzsTHqSgINIYxQFTnQ9eNs2JHcA1vYcmBSrLIjEvebWHsCa/jTrfR51SfwMOAoO3aiY5Yr0D7OkiYaFH6l4ZFwRzx+SXZV2q+1qY980Q74Qq4LbFYhQMNGy58VdH8FkYANyE2aLTVugVtSqEAF5d+vPl7e8DoR/8nKA+ieXq/9xmKr5oqNI9XW7SMBhuSCIR85Pjlu8HN9+FEP4fqzaYx1lwBCC7fC8rsKIlXRH+9S+XECKYIZRQ7NrwUTfiOcbZccV0VVeMOM9rdRdAWeF7Y5SwcoGFhl6DavDEHlr39Izo5TCLWubOOlYhaEdMnToZVxFVxlJxQEw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(346002)(376002)(136003)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(31686004)(478600001)(6486002)(6512007)(2616005)(83380400001)(38100700002)(36756003)(26005)(66556008)(66946007)(66476007)(316002)(6916009)(53546011)(6506007)(8936002)(8676002)(4326008)(2906002)(41300700001)(86362001)(31696002)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y0FMWVdMT2ZrUU1vL0FvY2VrR3RHeUZ4Wll0YmtpY1pEdnAvdVBFSHllTkZs?=
 =?utf-8?B?K0Y1U1l6SmFvZS9WY1Zyb1lYYmVscGgxNlNvczc4VjVSaWVzQVVFVVN1ZC8x?=
 =?utf-8?B?NFJMWTBTVTN4Ty9vTG1YaWorNWhpRUxOSUlrRkpDMVZBQ1pEZWR1cCtmeWVz?=
 =?utf-8?B?TWI3SWh4QjZ5d0RqenR0VjgrYm9McU00YWFQUGFuU3hOclRLWld1SXNEQkVj?=
 =?utf-8?B?c1pzK3pBVWFkZnNwbDVYQ1BGdE5VZDA3UmIvUjVBY3NsNkRzTkhlbWhWT3E4?=
 =?utf-8?B?VUFncDdXbFFldk55R21OVUVERElNTUdlMERubks1QkZKL0NnZi9yYUpuY2E1?=
 =?utf-8?B?ejNUYmtnVmsvd3VRT1FJai9COW5DUDJWRXg1OE1KNmplL3VacWdKeGlNZy82?=
 =?utf-8?B?RW5mT2lRUk9Xc3ZtbmdpSkJZQU9LN1hLY0E1TWZuUm56WHUvbk1UME1qSkJo?=
 =?utf-8?B?amRac0NjSkN2dm5tbFU1MDVJVXJZOW02MVF0UFYyWTl5N3V3YmNqM2dlUCtB?=
 =?utf-8?B?SWNjZFF5MkkwclpUeS9PbDRwQ2g1Z2hXc2c4SW1aQWxZMElUOGtsQnVOUGZK?=
 =?utf-8?B?ODVOeksvN3h1RUtrWDdrYmNFWjdBNER0L2VPeUZNaUxPWmw3dFcwcmlZMFhW?=
 =?utf-8?B?Y29hN1lRaGlQZmJuY1pvY05lN0luaDVwTk11WmZhWkl5Rm9LL2tBVzFJVXpi?=
 =?utf-8?B?WlRkbmhJV1pXcGFlT0JNR2Fkc2NGNVpKS2JXbVhkNFNKWm42R0hzbTFDSkNk?=
 =?utf-8?B?QS9EMGFCcEd0ZW1NN1ltSWFNRWs5bUJzWUlQNURqTWNZTEVXQ2F4ZVh6NS9W?=
 =?utf-8?B?cXZhSEFyNkFnZTVFamFENzFaUzZobUp5ZXRlS1VMNHlrdDJ4T25uRkNFS1Uv?=
 =?utf-8?B?UUlSUkE3dEZkcVJLajQ2RitzekV4SG1JMVNqSTVzYy9MU21QZzErYWNBSC84?=
 =?utf-8?B?OGMyWlZ2Z0FTRU03b0Exb3FiaWovSWhZeHNGcmFvNzN1VFlCYXFiVVluVWp4?=
 =?utf-8?B?UG9CcSs3V3NaUjJWTjRONVBpWnl5UjdmaHR1VE1ocTdWUHlPNE1jbjhXYzBX?=
 =?utf-8?B?cWNmaWQ2QWRPek9zcElOUnRmVFlJQnlhOHBPU1VacGlZcjVrNzE5Nzl0Ulo2?=
 =?utf-8?B?QlJieHpOY2l0THJCWTc3eERPT00xcnk4ZHVSU2VxVTJUR2x0U2ZsUi8rTVNM?=
 =?utf-8?B?WWVtMEw3a01ISVRTdm9SQnZyck1BMW1hQzJ2UkpDSmI0VWlsSWtuSEh0cFUz?=
 =?utf-8?B?NVZkSlhwOGthU3RYQVl4SEtaOWZzcUJUU2JxdmpjZ2J5Q2FpQ2w2Wm9sdDR0?=
 =?utf-8?B?aEsrVXlOSnl3SjhwQzZNbDJEUHE2MUN4ME9qaXFZbEEvVE8vZWNyZkdxWENx?=
 =?utf-8?B?TG1QQkFKb3hFY1Y4OW5hY2liMmRMZTFmeUlXMDZpelVZUlhKNUIwWDIweW84?=
 =?utf-8?B?YTdPZ05DL1lRUVhGL0k4YnI1dUZTcDdYcG5QL2FNallDVFpmUjFBU2h2NUJS?=
 =?utf-8?B?T01vRnlGbDdsZXoxZklzRmh1YlFpVkdQd2tWL3ZPL3hrY3JmTjRHSGlacVdF?=
 =?utf-8?B?NXUwanNvcW1uL1ZoeVFidGU5SnJTcVA1bnJCeUwrY1JtajcwT053anRFaVdq?=
 =?utf-8?B?ZlU5eG84UHMrdmtCU254TFdmbnkweDBpOTF5K0liUkVSMmh2c3Q3aXdqeDlt?=
 =?utf-8?B?RWtkNDQ1MytiMk5UK0czcWhVTFNUNFpRT3dycEh5TVgwUzhuRVRpaGh2UFJ3?=
 =?utf-8?B?blhEK3hQYU53VXdiR3B1citBb0VWeFAyU1JrL2s0WjV2ODVUOFJ6c1VZdXpN?=
 =?utf-8?B?Zit1eEZRUlZDdldjZVVHcGtHUWdIUDdVdU5JaU4rRnl3b01YV2dOdFBBbW9I?=
 =?utf-8?B?M0kzcEp0N3FVQ2JXbTd6Rmd2VzZwMlhqRHpsWURwVWduL09OTEhtdG0xSDAw?=
 =?utf-8?B?Z3dKclUwdVgzMUw4M3FtdDRqanZRVWNoRWNCOE1mT1pBNkQ5N1Q1aGJReDg0?=
 =?utf-8?B?WFJtK3lrbHVaNStYMXVUcDZNNFR0M2Fya1lTRllKK0VhekxKdnlOMWcySml6?=
 =?utf-8?B?N2hYL3ZUREc1NDBQWndoL1dRQlZRZlJMMHVrYng5T2RBT3pWaE9TSXRuSGp2?=
 =?utf-8?Q?Bo7xF7fWApvcqV+GI2zo4PeP7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58678f70-8b1c-4a01-1fcf-08dbe03ba140
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 09:18:11.7402
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wpLkWg7HjRgJmrFHPfdG7JkmjiCMHcGWS4JnGyU+DxmDFKYdVDW8y8P3pEl2utU93Sm295QeqSYWB6UTQScTdw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7628

(re-adding xen-devel@)

On 08.11.2023 09:43, Federico Serafini wrote:
> On 08/11/23 09:07, Jan Beulich wrote:
>> On 07.11.2023 16:18, Federico Serafini wrote:
>>> Add missing parameter names and make function declarations and
>>> definitions consistent.
>>> Mismatches between parameter names "count" and "n" are resolved
>>> in favor of "n", being the same name used by the C standard.
>>
>> I'm afraid this wasn't done consistently:
>>
>>> --- a/xen/include/xen/string.h
>>> +++ b/xen/include/xen/string.h
>>> @@ -12,27 +12,27 @@
>>>   #define strncpy __xen_has_no_strncpy__
>>>   #define strncat __xen_has_no_strncat__
>>>   
>>> -size_t strlcpy(char *, const char *, size_t);
>>> -size_t strlcat(char *, const char *, size_t);
>>> -int strcmp(const char *, const char *);
>>> -int strncmp(const char *, const char *, size_t);
>>> -int strcasecmp(const char *, const char *);
>>> -int strncasecmp(const char *, const char *, size_t);
>>> -char *strchr(const char *, int);
>>> -char *strrchr(const char *, int);
>>> -char *strstr(const char *, const char *);
>>> -size_t strlen(const char *);
>>> -size_t strnlen(const char *, size_t);
>>> -char *strpbrk(const char *, const char *);
>>> -char *strsep(char **, const char *);
>>> -size_t strspn(const char *, const char *);
>>> -
>>> -void *memset(void *, int, size_t);
>>> -void *memcpy(void *, const void *, size_t);
>>> -void *memmove(void *, const void *, size_t);
>>> -int memcmp(const void *, const void *, size_t);
>>> -void *memchr(const void *, int, size_t);
>>> -void *memchr_inv(const void *, int, size_t);
>>> +size_t strlcpy(char *dest, const char *src, size_t size);
>>> +size_t strlcat(char *dest, const char *src, size_t size);
>>> +int strcmp(const char *cs, const char *ct);
>>> +int strncmp(const char *cs, const char *ct, size_t count);
>>
>> There's still "count" here and ...
>>
>>> +int strcasecmp(const char *s1, const char *s2);
>>> +int strncasecmp(const char *s1, const char *s2, size_t len);
>>> +char *strchr(const char *s, int c);
>>> +char *strrchr(const char *s, int c);
>>> +char *strstr(const char *s1, const char *s2);
>>> +size_t strlen(const char *s);
>>> +size_t strnlen(const char *s, size_t count);
>>> +char *strpbrk(const char *cs,const char *ct);
>>> +char *strsep(char **s, const char *ct);
>>> +size_t strspn(const char *s, const char *accept);
>>> +
>>> +void *memset(void *s, int c, size_t n);
>>> +void *memcpy(void *dest, const void *src, size_t n);
>>> +void *memmove(void *dest, const void *src, size_t n);
>>> +int memcmp(const void *cs, const void *ct, size_t count);
>>
>> ... here (not counting functions which aren't part of the C standard).
>>
>> Otoh I'm unsure I understand that part of the description correctly:
>> There was no disagreement for any of ...
>>
>>> --- a/xen/lib/memcpy.c
>>> +++ b/xen/lib/memcpy.c
>>> @@ -8,16 +8,16 @@
>>>    * memcpy - Copy one area of memory to another
>>>    * @dest: Where to copy to
>>>    * @src: Where to copy from
>>> - * @count: The size of the area.
>>> + * @n: The size of the area.
>>>    *
>>>    * You should not use this function to access IO space, use memcpy_toio()
>>>    * or memcpy_fromio() instead.
>>>    */
>>> -void *(memcpy)(void *dest, const void *src, size_t count)
>>> +void *(memcpy)(void *dest, const void *src, size_t n)
>>>   {
>>>   	char *tmp = (char *) dest, *s = (char *) src;
>>>   
>>> -	while (count--)
>>> +	while (n--)
>>>   		*tmp++ = *s++;
>>>   
>>>   	return dest;
>>> --- a/xen/lib/memmove.c
>>> +++ b/xen/lib/memmove.c
>>> @@ -8,23 +8,23 @@
>>>    * memmove - Copy one area of memory to another
>>>    * @dest: Where to copy to
>>>    * @src: Where to copy from
>>> - * @count: The size of the area.
>>> + * @n: The size of the area.
>>>    *
>>>    * Unlike memcpy(), memmove() copes with overlapping areas.
>>>    */
>>> -void *(memmove)(void *dest, const void *src, size_t count)
>>> +void *(memmove)(void *dest, const void *src, size_t n)
>>>   {
>>>   	char *tmp, *s;
>>>   
>>>   	if (dest <= src) {
>>>   		tmp = (char *) dest;
>>>   		s = (char *) src;
>>> -		while (count--)
>>> +		while (n--)
>>>   			*tmp++ = *s++;
>>>   	} else {
>>> -		tmp = (char *) dest + count;
>>> -		s = (char *) src + count;
>>> -		while (count--)
>>> +		tmp = (char *) dest + n;
>>> +		s = (char *) src + n;
>>> +		while (n--)
>>>   			*--tmp = *--s;
>>>   	}
>>>   
>>> --- a/xen/lib/memset.c
>>> +++ b/xen/lib/memset.c
>>> @@ -8,15 +8,15 @@
>>>    * memset - Fill a region of memory with the given value
>>>    * @s: Pointer to the start of the area.
>>>    * @c: The byte to fill the area with
>>> - * @count: The size of the area.
>>> + * @n: The size of the area.
>>>    *
>>>    * Do not use memset() to access IO space, use memset_io() instead.
>>>    */
>>> -void *(memset)(void *s, int c, size_t count)
>>> +void *(memset)(void *s, int c, size_t n)
>>>   {
>>>   	char *xs = (char *) s;
>>>   
>>> -	while (count--)
>>> +	while (n--)
>>>   		*xs++ = c;
>>>   
>>>   	return s;
>>
>> ... these, seeing that the declarations simply didn't have any parameter
>> names at all.
> 
> The disagreements are between parameter names used in
> "xen/arch/string.c" and the ones used in "xen/lib/mem{cpy,move,set}.c".
> 
> The reason why some of the "counts" are left is to reduce code churn:
> I preferred to add the missing "count" on the declaration rather than
> adding "n" to the declaration and also changing the name from "count" to 
> "n" in the definition.

I'm not happy about the resulting inconsistency, but I can kind of accept
the "reduce code churn" argument. But then still the description wants to
say so (along with making clear where the disagreements were). These are
all adjustments which aren't required for functionality, so it is even
more relevant to explain properly why the code is touched despite
technically all being fine.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 09:21:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 09:21:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629234.981279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0ekc-0007Hg-H2; Wed, 08 Nov 2023 09:21:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629234.981279; Wed, 08 Nov 2023 09: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 1r0ekc-0007HZ-Ds; Wed, 08 Nov 2023 09:21:30 +0000
Received: by outflank-mailman (input) for mailman id 629234;
 Wed, 08 Nov 2023 09:21: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 1r0ekb-0007HN-Rd; Wed, 08 Nov 2023 09:21: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 1r0ekb-0007FA-Kw; Wed, 08 Nov 2023 09:21: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 1r0ekb-0007ri-3Z; Wed, 08 Nov 2023 09:21:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0ekb-0007Qq-2z; Wed, 08 Nov 2023 09: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BbIcGP8lcrbtCNArdvj+OzXK3aoVTU+nS7S0UD1GJlk=; b=P62EJOdoy4S0BPDzx6Ek10jyDk
	7TGP6L48UEjrSS1F6R0HNWFlDfQaYq7mTwmnuV1+vQeoioRcYnNzfeKjSUyLTKNMElr1bnXDXkIl1
	YabTYaFroQChsvHpi5raW1fvnGSxnqCEQB1sa3R8jBTqSJFQ5bEbIbwvJjXUuswBPKr4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183708-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183708: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-raw: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-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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=13d88ac54ddd1011b6e94443958e798aa06eb835
X-Osstest-Versions-That:
    linux=be3ca57cfb777ad820c6659d52e60bbdd36bf5ff
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Nov 2023 09:21:29 +0000

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

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 183698
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183698
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183698
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183698
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183698
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183698
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183698
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183698
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-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-amd64-amd64-libvirt-qcow2 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-amd64-amd64-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     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-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                13d88ac54ddd1011b6e94443958e798aa06eb835
baseline version:
 linux                be3ca57cfb777ad820c6659d52e60bbdd36bf5ff

Last test of basis   183698  2023-11-06 23:42:18 Z    1 days
Testing same since   183708  2023-11-07 20:42:39 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Al Viro <viro@zeniv.linux.org.uk>
  Alessio Balsini <balsini@android.com>
  Alexander Larsson <alexl@redhat.com>
  Amir Goldstein <amir73il@gmail.com>
  Andreas Gruenbacher <agruenba@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Bob Peterson <rpeterso@redhat.com>
  Brian Foster <bfoster@redhat.com>
  Christian Brauner <brauner@kernel.org>
  Chuck Lever <chuck.lever@oracle.com>
  Darrick J. Wong <djwong@kernel.org>
  Dave Kleikamp <dave.kleikamp@oracle.com>
  Guenter Roeck <linux@roeck-us.net>
  Jeff Layton <jlayton@redhat.com>
  Juntong Deng <juntong.deng@outlook.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Linus Torvalds <torvalds@linux-foundation.org>
  Su Hui <suhui@nfschina.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                              starved 
 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-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-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
   be3ca57cfb77..13d88ac54ddd  13d88ac54ddd1011b6e94443958e798aa06eb835 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 09:38:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 09:38:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629242.981289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0f1N-0001YW-2x; Wed, 08 Nov 2023 09:38:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629242.981289; Wed, 08 Nov 2023 09:38: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 1r0f1M-0001YP-W2; Wed, 08 Nov 2023 09:38:48 +0000
Received: by outflank-mailman (input) for mailman id 629242;
 Wed, 08 Nov 2023 09:38: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=L/Mx=GV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r0f1L-0001YJ-Vj
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 09:38:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c7faac8-7e1a-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 10:38:45 +0100 (CET)
Received: from [10.253.6.25] (unknown [160.78.253.186])
 by support.bugseng.com (Postfix) with ESMTPSA id B66A64EE0737;
 Wed,  8 Nov 2023 10:38:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c7faac8-7e1a-11ee-9b0e-b553b5be7939
Message-ID: <bfeccb99-ef31-4b90-9da8-5c6745eacb7e@bugseng.com>
Date: Wed, 8 Nov 2023 10:38:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen/string: address violations of MISRA C:2012
 Rules 8.2 and 8.3
Content-Language: en-US, it
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "consulting@bugseng.com" <consulting@bugseng.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: <d28ea15aa8d36622548b433d5fb6f19dd521bdfb.1699369270.git.federico.serafini@bugseng.com>
 <3e94cfaf-7c01-dc5e-4d14-85d69e540479@suse.com>
 <b949bd0b-3071-449e-bfd9-ad25cc0a1d22@bugseng.com>
 <fd75ee81-3ae2-f776-416d-1f2e9690e3bc@suse.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <fd75ee81-3ae2-f776-416d-1f2e9690e3bc@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 08/11/23 10:18, Jan Beulich wrote:
> (re-adding xen-devel@)
> 
> On 08.11.2023 09:43, Federico Serafini wrote:
>> On 08/11/23 09:07, Jan Beulich wrote:
>>> On 07.11.2023 16:18, Federico Serafini wrote:
>>>> Add missing parameter names and make function declarations and
>>>> definitions consistent.
>>>> Mismatches between parameter names "count" and "n" are resolved
>>>> in favor of "n", being the same name used by the C standard.
>>>
>>> I'm afraid this wasn't done consistently:
>>>
>>>> --- a/xen/include/xen/string.h
>>>> +++ b/xen/include/xen/string.h
>>>> @@ -12,27 +12,27 @@
>>>>    #define strncpy __xen_has_no_strncpy__
>>>>    #define strncat __xen_has_no_strncat__
>>>>    
>>>> -size_t strlcpy(char *, const char *, size_t);
>>>> -size_t strlcat(char *, const char *, size_t);
>>>> -int strcmp(const char *, const char *);
>>>> -int strncmp(const char *, const char *, size_t);
>>>> -int strcasecmp(const char *, const char *);
>>>> -int strncasecmp(const char *, const char *, size_t);
>>>> -char *strchr(const char *, int);
>>>> -char *strrchr(const char *, int);
>>>> -char *strstr(const char *, const char *);
>>>> -size_t strlen(const char *);
>>>> -size_t strnlen(const char *, size_t);
>>>> -char *strpbrk(const char *, const char *);
>>>> -char *strsep(char **, const char *);
>>>> -size_t strspn(const char *, const char *);
>>>> -
>>>> -void *memset(void *, int, size_t);
>>>> -void *memcpy(void *, const void *, size_t);
>>>> -void *memmove(void *, const void *, size_t);
>>>> -int memcmp(const void *, const void *, size_t);
>>>> -void *memchr(const void *, int, size_t);
>>>> -void *memchr_inv(const void *, int, size_t);
>>>> +size_t strlcpy(char *dest, const char *src, size_t size);
>>>> +size_t strlcat(char *dest, const char *src, size_t size);
>>>> +int strcmp(const char *cs, const char *ct);
>>>> +int strncmp(const char *cs, const char *ct, size_t count);
>>>
>>> There's still "count" here and ...
>>>
>>>> +int strcasecmp(const char *s1, const char *s2);
>>>> +int strncasecmp(const char *s1, const char *s2, size_t len);
>>>> +char *strchr(const char *s, int c);
>>>> +char *strrchr(const char *s, int c);
>>>> +char *strstr(const char *s1, const char *s2);
>>>> +size_t strlen(const char *s);
>>>> +size_t strnlen(const char *s, size_t count);
>>>> +char *strpbrk(const char *cs,const char *ct);
>>>> +char *strsep(char **s, const char *ct);
>>>> +size_t strspn(const char *s, const char *accept);
>>>> +
>>>> +void *memset(void *s, int c, size_t n);
>>>> +void *memcpy(void *dest, const void *src, size_t n);
>>>> +void *memmove(void *dest, const void *src, size_t n);
>>>> +int memcmp(const void *cs, const void *ct, size_t count);
>>>
>>> ... here (not counting functions which aren't part of the C standard).
>>>
>>> Otoh I'm unsure I understand that part of the description correctly:
>>> There was no disagreement for any of ...
>>>
>>>> --- a/xen/lib/memcpy.c
>>>> +++ b/xen/lib/memcpy.c
>>>> @@ -8,16 +8,16 @@
>>>>     * memcpy - Copy one area of memory to another
>>>>     * @dest: Where to copy to
>>>>     * @src: Where to copy from
>>>> - * @count: The size of the area.
>>>> + * @n: The size of the area.
>>>>     *
>>>>     * You should not use this function to access IO space, use memcpy_toio()
>>>>     * or memcpy_fromio() instead.
>>>>     */
>>>> -void *(memcpy)(void *dest, const void *src, size_t count)
>>>> +void *(memcpy)(void *dest, const void *src, size_t n)
>>>>    {
>>>>    	char *tmp = (char *) dest, *s = (char *) src;
>>>>    
>>>> -	while (count--)
>>>> +	while (n--)
>>>>    		*tmp++ = *s++;
>>>>    
>>>>    	return dest;
>>>> --- a/xen/lib/memmove.c
>>>> +++ b/xen/lib/memmove.c
>>>> @@ -8,23 +8,23 @@
>>>>     * memmove - Copy one area of memory to another
>>>>     * @dest: Where to copy to
>>>>     * @src: Where to copy from
>>>> - * @count: The size of the area.
>>>> + * @n: The size of the area.
>>>>     *
>>>>     * Unlike memcpy(), memmove() copes with overlapping areas.
>>>>     */
>>>> -void *(memmove)(void *dest, const void *src, size_t count)
>>>> +void *(memmove)(void *dest, const void *src, size_t n)
>>>>    {
>>>>    	char *tmp, *s;
>>>>    
>>>>    	if (dest <= src) {
>>>>    		tmp = (char *) dest;
>>>>    		s = (char *) src;
>>>> -		while (count--)
>>>> +		while (n--)
>>>>    			*tmp++ = *s++;
>>>>    	} else {
>>>> -		tmp = (char *) dest + count;
>>>> -		s = (char *) src + count;
>>>> -		while (count--)
>>>> +		tmp = (char *) dest + n;
>>>> +		s = (char *) src + n;
>>>> +		while (n--)
>>>>    			*--tmp = *--s;
>>>>    	}
>>>>    
>>>> --- a/xen/lib/memset.c
>>>> +++ b/xen/lib/memset.c
>>>> @@ -8,15 +8,15 @@
>>>>     * memset - Fill a region of memory with the given value
>>>>     * @s: Pointer to the start of the area.
>>>>     * @c: The byte to fill the area with
>>>> - * @count: The size of the area.
>>>> + * @n: The size of the area.
>>>>     *
>>>>     * Do not use memset() to access IO space, use memset_io() instead.
>>>>     */
>>>> -void *(memset)(void *s, int c, size_t count)
>>>> +void *(memset)(void *s, int c, size_t n)
>>>>    {
>>>>    	char *xs = (char *) s;
>>>>    
>>>> -	while (count--)
>>>> +	while (n--)
>>>>    		*xs++ = c;
>>>>    
>>>>    	return s;
>>>
>>> ... these, seeing that the declarations simply didn't have any parameter
>>> names at all.
>>
>> The disagreements are between parameter names used in
>> "xen/arch/string.c" and the ones used in "xen/lib/mem{cpy,move,set}.c".
>>
>> The reason why some of the "counts" are left is to reduce code churn:
>> I preferred to add the missing "count" on the declaration rather than
>> adding "n" to the declaration and also changing the name from "count" to
>> "n" in the definition.
> 
> I'm not happy about the resulting inconsistency, but I can kind of accept
> the "reduce code churn" argument. But then still the description wants to
> say so (along with making clear where the disagreements were). These are
> all adjustments which aren't required for functionality, so it is even
> more relevant to explain properly why the code is touched despite
> technically all being fine.

Alright.
Before sending another version I will wait a few hours to see if
other maintainers have anything to say about
"inconsistencies" vs "reduced code churn".

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 09:54:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 09:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629247.981299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0fGJ-0004oe-BO; Wed, 08 Nov 2023 09:54:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629247.981299; Wed, 08 Nov 2023 09:54: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 1r0fGJ-0004oX-8c; Wed, 08 Nov 2023 09:54:15 +0000
Received: by outflank-mailman (input) for mailman id 629247;
 Wed, 08 Nov 2023 09:54: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=SfAH=GV=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r0fGH-0004oR-Re
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 09:54:14 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2053.outbound.protection.outlook.com [40.107.13.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4612473-7e1c-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 10:54:11 +0100 (CET)
Received: from AM6P191CA0072.EURP191.PROD.OUTLOOK.COM (2603:10a6:209:7f::49)
 by PAXPR08MB6397.eurprd08.prod.outlook.com (2603:10a6:102:12f::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Wed, 8 Nov
 2023 09:53:41 +0000
Received: from AMS1EPF00000044.eurprd04.prod.outlook.com
 (2603:10a6:209:7f:cafe::41) by AM6P191CA0072.outlook.office365.com
 (2603:10a6:209:7f::49) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29 via Frontend
 Transport; Wed, 8 Nov 2023 09:53:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000044.mail.protection.outlook.com (10.167.16.41) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.17 via Frontend Transport; Wed, 8 Nov 2023 09:53:40 +0000
Received: ("Tessian outbound 385ad2f98d71:v228");
 Wed, 08 Nov 2023 09:53:40 +0000
Received: from 905b1454dca2.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 633926C0-27ED-4816-8AAE-AB8A758D6179.1; 
 Wed, 08 Nov 2023 09:53:06 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 905b1454dca2.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 08 Nov 2023 09:53:06 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB9366.eurprd08.prod.outlook.com (2603:10a6:20b:596::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Wed, 8 Nov
 2023 09:53:03 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866%3]) with mapi id 15.20.6954.028; Wed, 8 Nov 2023
 09: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>
X-Inumbo-ID: c4612473-7e1c-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=I1ORuAi2FcoLMXm5Pxv70KIpmFzDUyiyp1MZxNQ4LrE0aRThEkuvdnNmbfwpq9ofMQEa6fVv38jmOyJDmG5K4zLZ1G7ZmgfXZYOnMdXcAucYm8L6dAhLIG95Fxaq7NkAz8uEdYANgGNd0my2p9pfrDvIsXcFuep+rC77OV69hFZXwjNCoQb02M31k/KNgk3bof56xNIytZ3g9A+j+dBXhYek7ECMap5p8ACP3SlsT/i3EiBTILB0KR/pbcCQCAW2rDFlWLxH9XJ7WoN7Oa/1/TnWp6O18WV4J6hyGFSdlau9D2GHD58JRWKP7zRWSX0u5J37l5gWjSNRUqvMhFxlDw==
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=q6L/YZDPsesgrtyMIjEaDcBjHfqdbJpYJM3pXf9oqyg=;
 b=im0iXovahqbVeWN7K8KDgjZbRej4h+bhd5aE2xbVwgin8eRBvb/3EjKajaHx9iKKdE551M86Eqr2fm4KSuChdX48db99qoWnrbakP3RsrAv0q/ZMMaI5pStusgr7lIqA7z/75dA8sGiCt4crC4qHXZrdz1g4nrsD0lKsFsXGmDX4BDHI0CpM2sUqHnI1ryI3hV7J5kpCMKS2i6NAIh3MgfKEHl+j5g7d586JOetkiNQ+6YDCkE8FzxFp8xMo3o95sfxWZ0UlsDYTP7yPIcuiRNM75EAWlY7IpAlm7brjw0pRzmHlqiVkBJlgJdEHUWdpC9lEXPRaYqCkxVk+j16qeg==
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=q6L/YZDPsesgrtyMIjEaDcBjHfqdbJpYJM3pXf9oqyg=;
 b=asil3/pbyNcIlZmKt2/EpXsdC48WWAJI4Y9q3xI6iRqaAS1KCMJyAEcnWY4OqSP7eAjCPt2oXwQx51JbMY/mQtwGS8ofOQfRJnkfwedH4Ar0nkfj9iP6mYMoFKl42w24XglsLcQ55wWD92KT8T4b0b46svtA685XOJaD3DRu9Ho=
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: ec2572d5ff5cce74
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gEUojyTXX/46dVU3jFHIXtE1nHpMj+Tsk5syMUFCD6aCzv/dm8trSM6XsCMwIUG+BHogcng0b+TkE1KB+KUfPKkTvjdzOHPYJFzV76Ebkmo0uhw5hICvz4sDtmbM/BGllQF5gZSlHFev/03ADE4pLDTPpimtSXxAr9/GpHSHAhbocLPiUAx5yIWFNR5rHJQ8xftcWcmkFjlDLRrwIANQKiyJgY1F7e7Pl+eIwrATRYiBo52Xt7L7ltjhReElcg7JXFYUHJC1NZG8QAKWPaXBxp8TR7nm8Q+5P2QrXRkVxqUyeAR9a/4hjMXfmp5avRkjYbOOHFbJs1Zoz9KfGWy5oA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q6L/YZDPsesgrtyMIjEaDcBjHfqdbJpYJM3pXf9oqyg=;
 b=U7fAm4jsu20QPN3XOtiZtVduEQh5ZMFCl6UNq+zBIAz1UrKDEkGWViIl9kQTjVPpl01XzfwDSIxv7Lf4CEQpM40I4/X4xSRYlXQ/X3H1X1kWWxrACEdLaSnVE1sKG7mVihlfDE2Z/ksMjIuYOq5U/nFE/qRmJX0aCORCzehyDT6EDXEZi2UbHR96G9UzjJMOVhLFG9zfHYr6fdo8ReTEXia6xLJAxsKOGoj3v+/FBbTLPC49Lj9qlq7hU0dFEEfoaZbMm5dw0pg43RR0b/Elg/C8zm6afdZXkLsNvcewTeIgfIVNDXbFTgML8PirdM+b/itOviu2ddgFUpkZZJnCuw==
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=q6L/YZDPsesgrtyMIjEaDcBjHfqdbJpYJM3pXf9oqyg=;
 b=asil3/pbyNcIlZmKt2/EpXsdC48WWAJI4Y9q3xI6iRqaAS1KCMJyAEcnWY4OqSP7eAjCPt2oXwQx51JbMY/mQtwGS8ofOQfRJnkfwedH4Ar0nkfj9iP6mYMoFKl42w24XglsLcQ55wWD92KT8T4b0b46svtA685XOJaD3DRu9Ho=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <Michal.Orzel@amd.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>
Subject: Clang-format configuration discussion - pt 1
Thread-Topic: Clang-format configuration discussion - pt 1
Thread-Index: AQHaEildkKeYHk+uAUifn4n5p7dg+w==
Date: Wed, 8 Nov 2023 09:53:03 +0000
Message-ID: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS2PR08MB9366:EE_|AMS1EPF00000044:EE_|PAXPR08MB6397:EE_
X-MS-Office365-Filtering-Correlation-Id: a85a12c6-70b6-435a-9ff0-08dbe0409660
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:
 z4yHqyKFvy/Jz83JaCDl+Ci1I9rQ65R7SyZpkX5/7ik47RhrTsOC/NuRbpi1X9JoKOFs4AUZmQ5qjSsZgIVe3h3jED5QzN+ijOqLmjGwbdwcesH2wZyLJ8F5spXbpkBL4shZPZC/45AADZxNrRRGuR6+j1njaq37q/oOXPozMKcqwPkkb2+wxIJQeJoj1FTTq8NSxpALQ8tj89PvRtLSxHtoM3ul6Y41+5/tWBivG1PWY94yMaVPpquW3xPDFvDZ/XBohiE7OXYSgI7IREEjbrdKoN0G9JJ48A0VTNjO80LRYrYts7nnb1vfgG3+rRqUXtn9eQZjmfsY9/0DYbOrsPrfhHr7HjK0njTLEGAXpfbyXXf1uyVPTgcy58m3gzAZDwW9nIvPyMuD/6DDzre/4/jTtfMLybCjL/iusKYgmUwXUZG/836AXufPqqBa6uB/ODov3evQapbyHkYUt5EE4/Dd4EpeLbLea89cgyMARVMQmRVx3e+qDidqcgMBHQaj1PSQz6FTwm0nb2jZ4JDmdxusIwB9WqB2leJWaTh/fbCcaOY1puySVPIhX2+yQP7zDf0d2B5irb5jGBFJmWCPl/fTcTv90KeLniUvRaF/My9odznZzhm2LhM3gDpwAvoXJw/OzKvbk/loWzAotjXtopoJpKJwnyvVC5N5igraNz+ZYC/Wf/haWm2swGhJvuZ/
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(136003)(396003)(366004)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(66899024)(6506007)(966005)(6512007)(2616005)(478600001)(6486002)(71200400001)(33656002)(36756003)(38100700002)(86362001)(122000001)(5660300002)(91956017)(76116006)(66476007)(66446008)(66946007)(66556008)(41300700001)(83380400001)(2906002)(26005)(316002)(38070700009)(4326008)(54906003)(8676002)(64756008)(6916009)(8936002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <B53AFFDA43D2FE468C1C6C76F412C6F5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9366
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:
 AMS1EPF00000044.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fa5e09dd-2728-42ff-b974-08dbe0407fdb
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rJheeWZ+9HSYG0ha3quiSZJMPxkfSYRRRLA3naG0tsoO0LoEm1bT2g9kDTEs2x/ckGI852zoeS3QZ5s979l1m3wRGzxWpIeAw9Kw7rvl9Q55EHdzrT6xpo4501CRF8CFk8m7OnW0dcXKSbcMtoYb+a+4/3RrScuyhNgYu8mtFxSvkI8pK6b7VXmyjRBAcO1SDIT13lNPfTnTaY4WY6M/9dDarfmHlAiMietVrpuPFuc/+cl7lUCKZFO3buTC78YRhF37s/PpD1xLFSJWtvTXkmyRXbYmkJzCfSCFnmWpYwUXjK5+314i5vx8vjGMhUme7Kj/k1/ghufENHKUBZrRFru4BAlZwdnUfMEAfYaNksS0k8zNbK1wNFFq13IY+OJOd9AWdtOASFl2/UKisfeNGTpS58yGxwYcemtdl54g5UhswxU7Hy3CZZGP3eL2SctBoCz1irLP22GylYi/TCfKMOf4t0HV97XjJoZMCXahj6EEHY4PXmv2eXfK1p3JcnHTf/Qcp6pIeORjeWKYx48s9/hpAF/uhpVCcq/LyjsQEFIHykfwpiMwWHx9uPSvtFqFBhcV0YacnXT3K7IhXKttmMlyOuBZdg8ZlH5UjUw/1XeRy7DIF4ntGWKqnmsba0YEut62cwxjoBUgKdMOPgX3jUrwXpJltp2rn5XmQsbZhODDkRNHYmRhJTzTOD0Kahv1jIc54o4qjipweQuemjHU9L45l4W3pFn2X4RwX1yeBND0PFVxTKHChM+5jCdnFWQ3phSlI/s5Jsc2dGXsp5iPEA==
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:(13230031)(4636009)(346002)(136003)(376002)(39860400002)(396003)(230922051799003)(186009)(64100799003)(82310400011)(1800799009)(451199024)(40470700004)(36840700001)(46966006)(36860700001)(478600001)(40480700001)(6486002)(356005)(6506007)(6512007)(81166007)(966005)(36756003)(82740400003)(336012)(316002)(6916009)(54906003)(2616005)(47076005)(83380400001)(26005)(70206006)(70586007)(8676002)(4326008)(8936002)(66899024)(41300700001)(86362001)(2906002)(33656002)(5660300002)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 09:53:40.7719
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a85a12c6-70b6-435a-9ff0-08dbe0409660
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:
	AMS1EPF00000044.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6397

SGkgYWxsLA0KDQpMZXTigJlzIGtpY2sgb2ZmIHRoZSBkaXNjdXNzaW9uIGFib3V0IGNsYW5nLWZv
cm1hdCBjb25maWd1cmF0aW9uLCB3aXRoIHRoaXMgcGFydCAxIEkgd291bGQgbGlrZSB0byBkaXNj
dXNzIHNvbWUgY29uZmlndXJhYmxlDQp0aGF0IEkgZmVlbCBhcmUgbm90IGNvbnRyb3ZlcnNpYWwu
DQoNCllvdSBjYW4gZmluZCB0aGUgc2VyaWUgaW50cm9kdWNpbmcgY2xhbmctZm9ybWF0IGhlcmU6
DQpodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QveGVuLWRldmVsL2NvdmVyLzIw
MjMxMDMxMTMyMzA0LjI1NzM5MjQtMS1sdWNhLmZhbmNlbGx1QGFybS5jb20vDQphbmQgdGhlcmUg
aXMgYWxzbyBhIHBhdGNoIGxpbmtlZCB0byBteSBnaXRsYWIgYWNjb3VudCB3aGVyZSB5b3UgY2Fu
IGZpbmQgdGhlIG91dHB1dCBmb3IgdGhlIGh5cGVydmlzb3IgY29kZS4NCg0KRm9yIGEgZnVsbCBs
aXN0IG9mIGNvbmZpZ3VyYWJsZXMgYW5kIHRvIGZpbmQgdGhlIHBvc3NpYmxlIHZhbHVlcyBmb3Ig
dGhlbSwgcGxlYXNlIHJlZmVyIHRvIHRoaXMgcGFnZToNCmh0dHBzOi8vY2xhbmcubGx2bS5vcmcv
ZG9jcy9DbGFuZ0Zvcm1hdFN0eWxlT3B0aW9ucy5odG1sDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCkNvbHVtbkxpbWl0OiA4MA0KDQpJbmRlbnRXaWR0
aDogNA0KDQpUYWJXaWR0aDogNA0KDQpVc2VUYWI6IE5ldmVyDQoNCi0tLQ0KT3VyIGNvZGluZyBz
dHlsZSBzdGF0ZXMgaXQgZXhwbGljaXRseToNClsuLi5dDQpJbmRlbnRpbmcgdXNlcyBzcGFjZXMs
IG5vdCB0YWJzIC0gaW4gY29udHJhc3QgdG8gTGludXguIEFuIGluZGVudA0KbGV2ZWwgY29uc2lz
dHMgb2YgZm91ciBzcGFjZXMuIENvZGUgd2l0aGluIGJsb2NrcyBpcyBpbmRlbnRlZCBieSBvbmUN
CmV4dHJhIGluZGVudCBsZXZlbC4NClsuLi5dDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tDQoNCkxhbmd1YWdlOiBDcHANCg0KLS0tDQpBcyB0aGUgY2xhbmct
Zm9ybWF0IGRvY3VtZW50YXRpb24gc2F5czogU2hvdWxkIGJlIHVzZWQgZm9yIEMsIEMrKy4NCg0K
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KU3RhbmRhcmQ6
IEMrKzAzDQoNCi0tLQ0KRnJvbSB0aGUgZG9jdW1lbnRhdGlvbjogUGFyc2UgYW5kIGZvcm1hdCBD
KysgY29uc3RydWN0cyBjb21wYXRpYmxlIHdpdGggdGhpcyBzdGFuZGFyZC4NCg0KVGhpcyB2YWx1
ZSBpcyB1c2VkIGFsc28gaW4gTGludXguDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tDQoNCkF0dHJpYnV0ZU1hY3JvczoNCiAgLSAnX19pbml0Jw0KICAtICdf
X2V4aXQnDQogIC0gJ19faW5pdGRhdGEnDQogIC0gJ19faW5pdGNvbnN0Jw0KICAtICdfX2luaXRj
b25zdHJlbCcNCiAgLSAnX19pbml0ZGF0YV9jZl9jbG9iYmVyJw0KICAtICdfX2luaXRjb25zdF9j
Zl9jbG9iYmVyJw0KICAtICdfX2h3ZG9tX2luaXQnDQogIC0gJ19faHdkb21faW5pdGRhdGEnDQog
IC0gJ19fbWF5YmVfdW51c2VkJw0KICAtICdfX3BhY2tlZCcNCiAgLSAnX19zdGRjYWxsJw0KICAt
ICdfX3ZmcF9hbGlnbmVkJw0KICAtICdfX2FsdF9jYWxsX21heWJlX2luaXRkYXRhJw0KICAtICdf
X2NhY2hlbGluZV9hbGlnbmVkJw0KICAtICdfX3JvX2FmdGVyX2luaXQnDQogIC0gJ2Fsd2F5c19p
bmxpbmUnDQogIC0gJ25vaW5saW5lJw0KICAtICdub3JldHVybicNCiAgLSAnX193ZWFrJw0KICAt
ICdfX2lubGluZV9fJw0KICAtICdfX2F0dHJpYnV0ZV9jb25zdF9fJw0KICAtICdfX3RyYW5zcGFy
ZW50X18nDQogIC0gJ19fdXNlZCcNCiAgLSAnX19tdXN0X2NoZWNrJw0KICAtICdfX2twcm9iZXMn
DQoNCi0tLQ0KQSB2ZWN0b3Igb2Ygc3RyaW5ncyB0aGF0IHNob3VsZCBiZSBpbnRlcnByZXRlZCBh
cyBhdHRyaWJ1dGVzL3F1YWxpZmllcnMgaW5zdGVhZCBvZiBpZGVudGlmaWVycy4NCknigJl2ZSB0
cmllZCB0byBsaXN0IGFsbCB0aGUgYXR0cmlidXRlcyBJ4oCZdmUgZm91bmQuDQoNCi0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCk1hY3JvQmxvY2tCZWdpbjog
J15QTEFURk9STV9TVEFSVHxeRFRfREVWSUNFX1NUQVJUfF5BQ1BJX0RFVklDRV9TVEFSVCcNCg0K
TWFjcm9CbG9ja0VuZDogJ15QTEFURk9STV9FTkR8XkRUX0RFVklDRV9FTkR8XkFDUElfREVWSUNF
X0VOROKAmQ0KDQotLS0NClJlZ3VsYXIgZXhwcmVzc2lvbnMgdGhhdCBtYXRjaGVzIGJlZ2luIGFu
ZCBlbmQgb2YgYSBibG9jay4NCmUuZy4NCg0KUExBVEZPUk1fU1RBUlQocmNhcjIsICJSZW5lc2Fz
IFItQ2FyIEdlbjIiKQ0KLmNvbXBhdGlibGUgPSByY2FyMl9kdF9jb21wYXQsDQouY3B1X3VwID0g
Y3B1X3VwX3NlbmRfc2dpLA0KLnNtcF9pbml0ID0gcmNhcjJfc21wX2luaXQsDQpQTEFURk9STV9F
TkQNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KU3Rh
dGVtZW50TWFjcm9zOg0KICAtICdQUk9HUkVTUycNCiAgLSAnUFJPR1JFU1NfVkNQVScNCiAgLSAn
Yml0b3AnDQogIC0gJ2d1ZXN0X2JpdG9wJw0KICAtICd0ZXN0b3AnDQogIC0gJ2d1ZXN0X3Rlc3Rv
cCcNCiAgLSAnREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUnDQogIC0gJ19fREVGSU5FX1hFTl9HVUVT
VF9IQU5ETEUnDQogIC0gJ19fX0RFRklORV9YRU5fR1VFU1RfSEFORExFJw0KICAtICdwcmVzbXBf
aW5pdGNhbGwnDQogIC0gJ19faW5pdGNhbGwnDQogIC0gJ19fZXhpdGNhbGwnDQoNCi0tLQ0KQSB2
ZWN0b3Igb2YgbWFjcm9zIHRoYXQgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGNvbXBsZXRlIHN0
YXRlbWVudHMuDQpUeXBpY2FsIG1hY3JvcyBhcmUgZXhwcmVzc2lvbnMsIGFuZCByZXF1aXJlIGEg
c2VtaS1jb2xvbiB0byBiZSBhZGRlZDsgc29tZXRpbWVzIHRoaXMgaXMgbm90IHRoZSBjYXNlLCBh
bmQgdGhpcyBhbGxvd3MNCnRvIG1ha2UgY2xhbmctZm9ybWF0IGF3YXJlIG9mIHN1Y2ggY2FzZXMu
DQoNCldoaWxlIEkgd2FzIHdyaXRpbmcgdGhpcywgSeKAmXZlIGZvdW5kIHRoYXQgZnJvbSDigJhE
RUZJTkVfWEVOX0dVRVNUX0hBTkRMReKAmSB1bnRpbCB0aGUgZW5kIG9mIHRoZSBsaXN0LCBwcm9i
YWJseSBJDQpzaG91bGRu4oCZdCBsaXN0IHRoZXNlIGVudHJpZXMgYmVjYXVzZSBhbGwgb2YgdGhl
bSBlbmQgd2l0aCBzZW1pLWNvbG9uLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLQ0KDQpUeXBlbmFtZU1hY3JvczoNCiAgLSAnWEVOX0dVRVNUX0hBTkRMRScN
CiAgLSAnWEVOX0dVRVNUX0hBTkRMRV82NCcNCiAgLSAnWEVOX0dVRVNUX0hBTkRMRV9QQVJBTScN
CiAgLSAnRUxGX0hBTkRMRV9ERUNMJw0KDQotLS0NCkEgdmVjdG9yIG9mIG1hY3JvcyB0aGF0IHNo
b3VsZCBiZSBpbnRlcnByZXRlZCBhcyB0eXBlIGRlY2xhcmF0aW9ucyBpbnN0ZWFkIG9mIGFzIGZ1
bmN0aW9uIGNhbGxzLg0KVGhlc2UgYXJlIGV4cGVjdGVkIHRvIGJlIG1hY3JvcyBvZiB0aGUgZm9y
bToNClNUQUNLX09GKC4uLikNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCg0KV2hpdGVzcGFjZVNlbnNpdGl2ZU1hY3JvczoNCiAgLSAnX19zdHJpbmdpZnkn
DQoNCi0tLQ0KQSB2ZWN0b3Igb2YgbWFjcm9zIHdoaWNoIGFyZSB3aGl0ZXNwYWNlLXNlbnNpdGl2
ZSBhbmQgc2hvdWxkIG5vdCBiZSB0b3VjaGVkLg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpPayB0aGlzIGlzIGl0IGZvciBub3csIGxldCBtZSBrbm93
IHlvdXIgdGhvdWdodHMgYWJvdXQgdGhlbSwgaWRlYWxseSBpZiBJIGRvbuKAmXQgZ2V0IGFueSBy
ZXBseSBpbiB0d28gd2Vla3MgKDIybmQgb2YgTm92ZW1iZXIpLA0KSSB3aWxsIGNvbnNpZGVyIHRo
YXQgd2UgaGF2ZSBhbiBhZ3JlZW1lbnQgb24gdGhlc2UgY29uZmlndXJhdGlvbi4NCg0KQ2hlZXJz
LA0KTHVjYQ0KDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 10:10:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 10:10:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629251.981309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0fVq-0007nF-Ng; Wed, 08 Nov 2023 10:10:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629251.981309; Wed, 08 Nov 2023 10: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 1r0fVq-0007n8-Kl; Wed, 08 Nov 2023 10:10:18 +0000
Received: by outflank-mailman (input) for mailman id 629251;
 Wed, 08 Nov 2023 10:10: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=7seD=GV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0fVp-0007n2-0N
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 10:10:17 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 028da52a-7e1f-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 11:10:14 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 921EB4EE0737;
 Wed,  8 Nov 2023 11:10:14 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 028da52a-7e1f-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Wed, 08 Nov 2023 11:10:14 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, Simone Ballarin <simone.ballarin@bugseng.com>, Doug
 Goldstein <cardoe@cardoe.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>
Subject: Re: [RFC PATCH 4/4] automation/eclair: add deviation for certain
 backwards goto
In-Reply-To: <a35f339b-29c4-4618-a631-0b53019424b1@xen.org>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
 <306ca49d5d63ea0614bbcef470efec9234d1a018.1699295113.git.nicola.vetrini@bugseng.com>
 <a95c6666-dbf3-4f1f-9618-b1f31bf47710@xen.org>
 <31d0509acf5a31351d6efa7c66710729@bugseng.com>
 <a35f339b-29c4-4618-a631-0b53019424b1@xen.org>
Message-ID: <5314cdb478d6385a4a07ab1c2440038f@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-07 18:35, Julien Grall wrote:
> On 07/11/2023 14:45, Nicola Vetrini wrote:
>> Hi Julien,
> 
> Hi,
> 
>> On 2023-11-07 13:44, Julien Grall wrote:
>>>> +in the community."
>>>> +-config=MC3R1.R15.2,reports+={deliberate, 
>>>> "any_area(any_loc(text(^.*goto (again|retry).*$)))"}
>>>> +-doc_end
>>>> +
>>>>   #
>>>>   # Series 20.
>>>>   #
>>>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>>>> index 8511a189253b..7d1e1f0d09b3 100644
>>>> --- a/docs/misra/deviations.rst
>>>> +++ b/docs/misra/deviations.rst
>>>> @@ -208,6 +208,16 @@ Deviations related to MISRA C:2012 Rules:
>>>>          statements are deliberate.
>>>>        - Project-wide deviation; tagged as `disapplied` for ECLAIR.
>>>>   +   * - R15.2
>>>> +     - The possible prevention of developer confusion as a result 
>>>> of using
>>>> +       control flow structures other than backwards goto-s in some 
>>>> instances was
>>>> +       deemed not strong enough to justify the additional 
>>>> complexity introduced
>>>> +       in the code. Such instances are the uses of the following 
>>>> labels:
>>>> +
>>>> +       - again
>>>> +       - retry
>>> 
>>> Have you investigated the possibility to use SAF-X in the code? If 
>>> so, what's the problem to use them?
>>> 
>>> Cheers,
>> 
>> This is another viable option: putting the SAF comment on top of the 
>> label should suffice,
>> as shown below:
>> 
>> /* SAF-2-safe */
>> repeat:
>>      ++fmt;          /* this also skips first '%' */
>>      switch (*fmt) {
>>      case '-': flags |= LEFT; goto repeat;
>>      case '+': flags |= PLUS; goto repeat;
>>      case ' ': flags |= SPACE; goto repeat;
>>      case '#': flags |= SPECIAL; goto repeat;
>>      case '0': flags |= ZEROPAD; goto repeat;
>>      }
>> 
>> I think it ultimately boils down to whether Xen wants to promote the 
>> use of certain labels
>> as the designated alternative when no other control flow mechanism is 
>> clearer from a
>> readability perspective (in which case there should be a consistent 
>> naming to capture and deviate
>> all of them, such as "retry") or do so on a case-by-case basis with a 
>> SAF, which is ok,
> 
> I would prefer a case-by-case basis because it adds an additional 
> review. With deviating by keywords, the reviewrs/developpers may not be 
> aware of the deviation (which may be fine for some, but IMHO not this 
> one).
> 

Ok, I'll keep this in mind when the rule will be discussed.

>> but then
>> it needs someone to check each one and either fix them or mark them as 
>> ok.
> 
> Don't we technically already need to go through all the existing use of 
> ready & co even if we deviate by keyword?
> 

my hope was trying to extract a common well-known pattern that can be
defensible as a deviation and then fix the rest.

>> Yet another route could be to mark with a SAF all those present right 
>> now to establish a baseline.
> 
> How many do we have?
> 

~30 in Arm (half of which are in common code) and ~250 in x86. The 
actual count of labels
is lower, because a report is given for each use of a backward jump, but 
those under
x86e_emulate likely do not (~40 total on x86 remain if we exclude 
x86_emulate/.*).

https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/arm/for-4.19/ARM64-Set3/372/PROJECT.ecd;/by_service/MC3R1.R15.2.html

https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/x86_64/staging/X86_64-Set3/372/PROJECT.ecd;/by_service/MC3R1.R15.2.html#

> Cheers,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 10:39:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 10:39:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629257.981319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0fxk-0003Pu-W2; Wed, 08 Nov 2023 10:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629257.981319; Wed, 08 Nov 2023 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 1r0fxk-0003Pn-Sb; Wed, 08 Nov 2023 10:39:08 +0000
Received: by outflank-mailman (input) for mailman id 629257;
 Wed, 08 Nov 2023 10:39: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=7seD=GV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0fxj-0003PO-Oc
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 10:39:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 094477ef-7e23-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 11:39:04 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id AAA7E4EE0737;
 Wed,  8 Nov 2023 11:39:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 094477ef-7e23-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Wed, 08 Nov 2023 11:39:03 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: simone.ballarin@bugseng.com, consulting@bugseng.com,
 xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com
Subject: Re: Failing eclair-ARM64 job
In-Reply-To: <cedcc2c2dad9b0a75220d676ff6b646a@bugseng.com>
References: <alpine.DEB.2.22.394.2310311443460.1795129@ubuntu-linux-20-04-desktop>
 <cedcc2c2dad9b0a75220d676ff6b646a@bugseng.com>
Message-ID: <4be3de5cecb06a9fdd09fc530d3926f0@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-08 09:17, Nicola Vetrini wrote:
> Hi Stefano,
> 
> sorry for the late reply; see my response below.
> 
> On 2023-10-31 22:47, Stefano Stabellini wrote:
>> Hi Simone,
>> 
>> As you might have noticed, all the eclair-ARM64 jobs have been failing
>> recently for the upstream Xen "staging" branch:
>> 
>> https://gitlab.com/xen-project/xen/-/pipelines/1056527466
>> https://gitlab.com/xen-project/xen/-/pipelines/1056520898
>> 
>> Although eclair-ARM64 is "allow_failure: true" still is the only job
>> currently failing and it would be nice to get it fixed, especially as 
>> we
>> are about to make gitlab-ci pipelines gating.
>> 
>> Cheers,
>> 
>> Stefano
> 
> A patch that is meant to address the issue related to D4.11, which 
> makes the Arm job always
> fail with a report on a clean guideline, has been submitted on the ML:
> 
> https://lore.kernel.org/xen-devel/3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com/
> 

This is about the semi-random failures mentioned to Roberto in 
yesterday's MISRA C meeting.
Neither me nor Simone has seem a mail sent from Andrew about such 
semi-random failures.

> We are not aware of any semi-random failures in the ARM64 analysis, and 
> applying this patch
> should fix the problem. The error "error: No such remote: 
> 'autoPRRemote'" should not impact
> the outcome of the job in any way.
> 
> Let us know if there are other Arm-related problems to be addressed.
> 
> Kind Regards,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 11:03:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 11:03:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629262.981328 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0gLD-0007fB-R0; Wed, 08 Nov 2023 11:03:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629262.981328; Wed, 08 Nov 2023 11:03: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 1r0gLD-0007f4-OL; Wed, 08 Nov 2023 11:03:23 +0000
Received: by outflank-mailman (input) for mailman id 629262;
 Wed, 08 Nov 2023 11:03: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=7seD=GV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0gLC-0007d7-RN
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 11:03:22 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d75ec65-7e26-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 12:03:20 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 4114A4EE0737;
 Wed,  8 Nov 2023 12:03:20 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d75ec65-7e26-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Wed, 08 Nov 2023 12:03:20 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
In-Reply-To: <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
Message-ID: <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-08 09:24, Jan Beulich wrote:
> On 03.11.2023 18:58, Nicola Vetrini wrote:
>> Static analysis tools may detect a possible null
>> pointer dereference at line 760 (the memcpy call)
>> of xen/common/domain.c. This ASSERT helps them in
>> detecting that such a condition is not possible
>> and also provides a basic sanity check.
> 
> I disagree with this being a possible justification for adding such a
> redundant assertion. More detail is needed on what is actually
> (suspected to be) confusing the tool. Plus it also needs explaining
> why (a) adding such an assertion helps and (b) how that's going to
> cover release builds.
> 

How about:
"Static analysis tools may detect a possible null pointer dereference
at line 760 (config->handle) due to config possibly being NULL.

However, given that all system domains, including IDLE, have a NULL
config and in the code path leading to the assertion only real domains
(which have a non-NULL config) can be present."

On point b): this finding is a false positive, therefore even if the 
ASSERT is
expanded to effectively a no-op, there is no inherent problem with Xen's 
code.
The context in which the patch was suggested [1] hinted at avoiding 
inserting in
the codebase false positive comments.

>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -700,6 +700,8 @@ struct domain *domain_create(domid_t domid,
>> 
>>      if ( !is_idle_domain(d) )
>>      {
>> +        ASSERT(config);
>> +
>>          watchdog_domain_init(d);
>>          init_status |= INIT_watchdog;
> 
> The assertion being redundant clearly requires it to be accompanied
> by a comment. Otherwise it is going to be a prime subject of
> redundancy elimination.
> 
> Jan

Good point; I'd rather keep it short and understandable
(e.g. "This ASSERT helps static analysis tool avoid a false positive
on a possible NULL dereference of config")

[1] 
https://lore.kernel.org/xen-devel/5ddb6398-f2a3-4bcb-8808-bad653b6c3cd@xen.org/

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 11:19:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 11:19:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629267.981339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0gat-0001XQ-6B; Wed, 08 Nov 2023 11:19:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629267.981339; Wed, 08 Nov 2023 11:19: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 1r0gat-0001XJ-2b; Wed, 08 Nov 2023 11:19:35 +0000
Received: by outflank-mailman (input) for mailman id 629267;
 Wed, 08 Nov 2023 11:19: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=d36Q=GV=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0gas-0001XD-9t
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 11:19:34 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20603.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b085c285-7e28-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 12:19:32 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8155.eurprd04.prod.outlook.com (2603:10a6:10:24d::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Wed, 8 Nov
 2023 11:19:30 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Wed, 8 Nov 2023
 11: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: b085c285-7e28-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AI21flVfNPgCWL5lzCH+p+tH0GgUMemDfqairI9dran7M92YTV748/DfFC4GFKJf2p8uXhSlkhWy0Ft1MTnL9+cVvSqsVveiDBvyWJpHmRoofy39LLNSuHQJu4lgA90xuD6RCAqjPflilF7MZEeUUlefSmxYRTJySyn3aLbEHt2xi71HdQy6kqMDniBx8Rr/tfHmtM0MRD8BcFJN7WnOPikhfX9PVWyzkbflH42/IcpX+UtbnHvYd3huH0vM8LGQ7DluvIDOamys2A6qvrghKr6XFqvIE68DhsHQvI2nxiLc1YudhlJTgbmXYTw0qcZCD7ogRFeBuUhkhC2TXWW37w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WPwGrlmT1yZA/HeLt1AaT2UJDJ1p9vKOM1seUBu/eXQ=;
 b=QJlQh//JEIZSjy/uyWfZ7e/bX9GQx18C1g6TNuWNNwdkXk/LHmvtaHNhERWAoXrB1TvN58EYZSkUPadLU//8yJT61yUuHe0VnFw5nnZT75QCau9YWg9dZTvOfQLn4wz/+YwO23XZuAsyRY+BbWpMmUz1ZYYfKs/8XxNxcFeS8umMw4EwW5ubM9SDhZW0KVGfuuUj6uqNKfYJ7DQGic0AunGpbYeTzfLT69AanPaQrC4hzuqGNAGjGFYLsgLkdxhpqLMd4V2f1fu7/+P13SXyvDyJMmJ8qT74oXWg9OO6R1GyEZKzQ1Wo05tFqGSQZ2IL9zILIdQzPAJXJrhgN8hhMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WPwGrlmT1yZA/HeLt1AaT2UJDJ1p9vKOM1seUBu/eXQ=;
 b=pX1UnqbBqAYs9mtGiqgf+m0Cu27I28i+gXuGj4GXTzAa66DS1GRp765WgvvFkRNWlApvmCbl3KyW7cABlZTEFfmir4Mc3aLaM0O5uehjAjYVhlnxwChztCmthhTmtwNfOmw5sXWP26wnwoC9ajAK3lTxZDvYJSPZdAsc0ZXf80SiiRO8tIzW4n9zw5Vatv753eV2gCKcq/aHlzabO/enHzPBKUZgduMPFsUhY1ZHWWR4RwB2WRgWItHsSXUuBwLHp4/PMMuUgnhYKh5AFBdzv9yAfdXtHh3RT0+JO1FZfwLGy9puYku4BqfE2X9sXq1CMDXvKYOM64vCldZfCk2YAA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
Date: Wed, 8 Nov 2023 12:19:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
 <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0049.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8155:EE_
X-MS-Office365-Filtering-Correlation-Id: ba1f9722-58e9-4dc8-7b57-08dbe04c9375
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nnHEnWYnyGz99puMFajRBLgaItpkMX++dm7tLw90Z6x7wrsBn92Cs66eFSLS9f3KE2iVG3+YtSrhq1+i2HrE8ZGnMNpSFUB8w+r3+V/SiPf9ANc5fT0Cw7nAjAzpE8i5MyhFzI00rY5xPNdFWxRBRZzsHSSVlQbheu6uuaIx8RSpW1NsQJKAUD5AKhlmCB8z5i/Yc8XjhFaY3HyW5Jk41uJml7JPST9Tehle7Hqy5iyrliyc6GFO2497rlwzcwcivc/xk2KJUTgD4ZvTHibHu+/aAAytI96SghURVSkPvWD+qD1oHUfCDObCsnDXJ5n2WLq16wV3kSKuE42TyFh+zcLjiq4LMikhAV0B2UAmFw6pyfklDSOG+xJ5ceqNj2bVlfa+uE7Omuf/pIkH9R6nwyD9+PTSmEwck7cLxZv3h2B7hdX6B6xj3k6pe6gMrkRlBXnPDJTB4HJpbJ5V+xD9lBZC0FR86veT/v6BtbsG8OsTPWuadMxaenOZKVZkfKjXhFjTXarvUjlf5MsUeLmpRBrFoCs7vDehQqy1akgMaTTaKYm+/zyzZzqVMfOAjeaUMGmNricp3mKoEAsqnMILCyDmcIejDNTNZfsKLb/LJEAMzaj6GlNhB2DPC+auXY+inHBaM80ml76nWhYguRrmmQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(396003)(366004)(346002)(136003)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(86362001)(6512007)(31696002)(38100700002)(6486002)(6506007)(478600001)(53546011)(8676002)(6916009)(66946007)(316002)(66556008)(54906003)(66476007)(4326008)(8936002)(36756003)(31686004)(5660300002)(41300700001)(2906002)(7416002)(2616005)(83380400001)(26005)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TDM1VmxEWUpvZ2YvdEw0bUlVa0hQd1QrUGRTOHRYVkhsdFdWbHMwQ0QxSzB0?=
 =?utf-8?B?S1lqVXdpZGxTNm1peVg5dm9xa3NPOFc2Y1cxQTlHUlF0NUx3T3h1VVZETE5J?=
 =?utf-8?B?VGU0eitiRmRGWTIyTFpweTQ2SDNVcUdtYWRaWUtiVVFmODIyNEhyeDdPRzJZ?=
 =?utf-8?B?Wk4zWERnVVBOMHliaDR6Tzg3czRRTjYwYnpEM2RWNkhKdEtudHJjK2M2bnFm?=
 =?utf-8?B?VUI5cXBiS05pUkZvTmpTMEE4YXU0a1djL1d0WkVKYlNrejRMV1JUWm1LZTVO?=
 =?utf-8?B?a1V4L05tV1hUQ0JJME41Q2JPMC9vYWZwZ3NHeE05ejZ6YzVieE5uWlZRVnND?=
 =?utf-8?B?NXBiUlZCcC9oVjNYT01PbGJremtURDRqOTlqTWJiZEVtNk1Eb01hZEl5N1Vp?=
 =?utf-8?B?V3NvS1l1RDBxV294WHJ2OHV5MkpKcWF0cmdPNVhEYjhWVU1vUzZDM0xkMEVR?=
 =?utf-8?B?Yk5HMWNZeTZONmYrbDc1d3dLTitKa29ieHZHTThYWlk1N3loMEpBQVRUMEo2?=
 =?utf-8?B?dkNQTWdNZ0pGNVgwL0VPVlNKTHI1NVc0Z0dnWFZaTTlkcS9qcDlLeUJiaTNB?=
 =?utf-8?B?cERXWU5JVEcrUlkwK3FJaFRud0RqWFpuRHV3R29FelJqOStLMjBrNEtnZS9X?=
 =?utf-8?B?WkFDTnJQM0RpMkpGdGkzUFRGZEIzNkN6WlBjTTZuZnRyVS9CTlA4NlVVczFw?=
 =?utf-8?B?TFJOQmdFaHBYZG1lc0VUcCsvWFhPaTlsc3lMNzlJUGVhVG5vTEN5TTRSclph?=
 =?utf-8?B?YmRLd1E1K0NLNDRFaWNHMEYzSVNPYmhuWGxWb2MrelhXUmQ1eVpFRUlmNzNt?=
 =?utf-8?B?ZWhUTVRCZVUvNEpnYTA4N3dSSnA4N2V0TmhBTUhvZEsxbUlrVFAzbHY2SktR?=
 =?utf-8?B?eTNVMzg4YmF1VENsTWtYWGxMZGNZd3VSdUo4MkRtY2tSbEREK3VhNDZYZ0Nv?=
 =?utf-8?B?OWg1Qm9uNFU3KzBFdW5SOGlsSnQ0SDdSNlhBZnV3T25PMzZLMlM4bHVTbGxN?=
 =?utf-8?B?d0lwNUl0cWRONHIyTG9IaEpBdWpMMEoydmZVdU4xU0RydmF1ZUd2NG1FcUtE?=
 =?utf-8?B?eG4yd1BXSFJyY0dXS3Eya2dETnhtWkRYVjhIQlV4TjlIQUEzdE5JT3NRTDdX?=
 =?utf-8?B?bTEwYlBpNU03dFYrNmZJU3NmV1llSHlpaTVmTzdUUWdsUUZXMHRsRjVzSi9y?=
 =?utf-8?B?RVU5dnV6cHVkVXFNSGhGNzZSSGRTVVJRdnpiOWFBSFMxZi9lNFgweGJHTUpo?=
 =?utf-8?B?a0toVXlyRDhxVXJpOXl2bDBvTkdQUGlJVU5XK1lsa1daRldiTGFtd2Q3TjZo?=
 =?utf-8?B?MEtYMXI1RXVhZEk0REVCekEzTWE2WXlkbCtjdjNQb0tCS0N6SlMxbVJ6ZUtx?=
 =?utf-8?B?QzJYb2orTnkzQkpCS3FBd0tFS3BJSE85OW9YU0tmd3FycW9BcklaWDlzTEpJ?=
 =?utf-8?B?UURXUmNKdmMzamcwb1hvQmF0Q0JSZEh3ekluUjRvbUhuR2tETk1sWFZYbit0?=
 =?utf-8?B?QmhLY3dZdGFoUURyek0rQ3FqME9nZEpXeDVMOGIwUUR1aEwzenZ4NVlRT0Fo?=
 =?utf-8?B?blZUZkNWdzd1ZGZIUVg1WEdkMmhueVJGSjFuaEx6aXVLZWFZOU5tVC8vaEJZ?=
 =?utf-8?B?RzZub3B5STVmbU5FN0UxeDdXcitjaGg4SEJST2JzbnhvKzM5V205N3VYb1or?=
 =?utf-8?B?QWQ0K1E3Rm5ha0xQb3BlSi85aGt1ZGlGYjkycitzS0t1RDdBTy9WTGV4VHlV?=
 =?utf-8?B?VWJXUktHbjBWU0hNRWdKalpxZitJVXBFanF0NzUwSDJuWUovVFNmSzludUdn?=
 =?utf-8?B?YjR0YVBNN1JaQm0zWUcxT0RLR2FZdEVLQ05hb1VGNU9mTGl1bDhQaU5CWHRo?=
 =?utf-8?B?bWRnWEk4WmpHSVEvUy9XWUd2SDV2S3JockZwQTBiUFJ4Ujd6NG5PQkViMnFL?=
 =?utf-8?B?SkxqQVZqM3l0aGFOMjB1Vk5xSThyNnFVUzdFRzZvenRBUHB3a25JTWJRYU83?=
 =?utf-8?B?aXhRQS9icXk3aVdSeG5WUG54OTdqQUFkU0ZJRE4yZ2hIZkpsOW51RE5vZnVj?=
 =?utf-8?B?ZTRFVEg5Umgya3NjMnNRYnZleFZtT08yYldTd1JRRWxPV2lTOG15K0lRdlFn?=
 =?utf-8?Q?QGRo/+K1blbb9C8Ri2mz5FS4q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba1f9722-58e9-4dc8-7b57-08dbe04c9375
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 11:19:30.0629
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lf5Mta1hQXUewm/sRj+KCplyxtsSla8bjTXZugQuzJ91MN6VuCuRsfexlpmoLWA4OZYVfrA1EFBv2CAjsWBa5w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8155

On 08.11.2023 12:03, Nicola Vetrini wrote:
> On 2023-11-08 09:24, Jan Beulich wrote:
>> On 03.11.2023 18:58, Nicola Vetrini wrote:
>>> Static analysis tools may detect a possible null
>>> pointer dereference at line 760 (the memcpy call)
>>> of xen/common/domain.c. This ASSERT helps them in
>>> detecting that such a condition is not possible
>>> and also provides a basic sanity check.
>>
>> I disagree with this being a possible justification for adding such a
>> redundant assertion. More detail is needed on what is actually
>> (suspected to be) confusing the tool. Plus it also needs explaining
>> why (a) adding such an assertion helps and (b) how that's going to
>> cover release builds.
>>
> 
> How about:
> "Static analysis tools may detect a possible null pointer dereference
> at line 760 (config->handle) due to config possibly being NULL.
> 
> However, given that all system domains, including IDLE, have a NULL
> config and in the code path leading to the assertion only real domains
> (which have a non-NULL config) can be present."
> 
> On point b): this finding is a false positive, therefore even if the 
> ASSERT is
> expanded to effectively a no-op, there is no inherent problem with Xen's 
> code.
> The context in which the patch was suggested [1] hinted at avoiding 
> inserting in
> the codebase false positive comments.

Which I largely agree with. What I don't agree with is adding an
assertion which is only papering over the issue, and only in debug
builds. So perhaps instead we need a different way of tracking
false positives (which need to be tied to specific checker versions
anyway).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 12:37:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 12:37:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629277.981349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0hoC-00052C-Sc; Wed, 08 Nov 2023 12:37:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629277.981349; Wed, 08 Nov 2023 12:37: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 1r0hoC-000525-P3; Wed, 08 Nov 2023 12:37:24 +0000
Received: by outflank-mailman (input) for mailman id 629277;
 Wed, 08 Nov 2023 12:37: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=ZPR/=GV=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r0hoA-00051z-CE
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 12:37:22 +0000
Received: from mail.alien8.de (mail.alien8.de [2a01:4f9:3051:3f93::2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f2e7078-7e33-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 13:37:21 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 3A29040E014B; 
 Wed,  8 Nov 2023 12:37:18 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id ylmaVhlMjPnP; Wed,  8 Nov 2023 12:37:16 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 31DC540E0032;
 Wed,  8 Nov 2023 12:36:53 +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: 8f2e7078-7e33-11ee-98da-6d05b1d4d9a1
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key)
	header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1699447035; bh=JGXN64F+EUfo32di/qzr7XJX6YhtI0kCKBdmlkk0BD4=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=TvJ0WBDn88XZJSOLPKeBzSaIg4ZPz1IduqLQr53XH3ovVo/hZmQ/7qnmiswO7BGtx
	 PMCIoJ9WO6nDiyOoV/02KzCX7x1Q0/crkvUE7T1VRyZPIeDgVlwG5/yNhE8kbjOjSh
	 7YDP4FcWDCaCLP368K++Tc4DVUfAc8/ffhEyDp4cjDx7tiEGmplWqUT5viSviZKOpt
	 XpkoDDXjdUu8/LvFpKPzbUljp1FrwuFV9MIjmXD7X+ePTvaWXU8bkdtkjs+TNo5+5l
	 +qK+kMmFvo80J94vCmGjAff4kKG9bGyib+5sSirNQZHKKeoKY/RjVWOAjh0BIcqWRi
	 b5t+bmnFsOhw6MfZxre9u7/yNmNIEBRbFxetQsXqI2NIgToEIMlLwpWwx5Fs3pVc16
	 j/h/DqBPvi1p/I1ogjoiFljq/w/BKBx+JlwsRlWuhff58qS68dmQemA8xadsZ7rB//
	 kgcM9kzbjOjVwqT71Z0F3DllCOlZJ902Ql3HPIQaG/Fb+e3XPqqbzu69KJ5ZGsS+eE
	 dpsW8IQpabr8hL1zD9ChK+gb2V4dZG7RzK5NHSZi6dF6JnBXV5eZB/gysZW1mjy2Y6
	 /5wqnnIVI6bDU93P9+RGZ6da6x+ciyDbamihhSLWCGr7q/fpqQCm6Wa4aj7HSuZkG3
	 DoN6cZcFKtxhzRrn+xkPfql4=
Date: Wed, 8 Nov 2023 13:36:47 +0100
From: Borislav Petkov <bp@alien8.de>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com,
	x86@kernel.org, hpa@zytor.com, luto@kernel.org, pbonzini@redhat.com,
	seanjc@google.com, peterz@infradead.org, jgross@suse.com,
	ravi.v.shankar@intel.com, mhiramat@kernel.org,
	andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
	nik.borisov@suse.com
Subject: Re: [PATCH v12 01/37] x86/cpufeatures: Add the cpu feature bit for
 WRMSRNS
Message-ID: <20231108123647.GBZUuA31zntox0W0gu@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-2-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231003062458.23552-2-xin3.li@intel.com>

On Mon, Oct 02, 2023 at 11:24:22PM -0700, Xin Li wrote:
> Subject: Re: [PATCH v12 01/37] x86/cpufeatures: Add the cpu feature bit for WRMSRNS
							  ^^^^

For all your text:

s/cpu/CPU/g

> WRMSRNS is an instruction that behaves exactly like WRMSR, with
> the only difference being that it is not a serializing instruction
> by default. Under certain conditions, WRMSRNS may replace WRMSR to
> improve performance.
> 
> Add the CPU feature bit for WRMSRNS.
> 
> Tested-by: Shan Kang <shan.kang@intel.com>
> Signed-off-by: Xin Li <xin3.li@intel.com>
> ---
>  arch/x86/include/asm/cpufeatures.h       | 1 +
>  tools/arch/x86/include/asm/cpufeatures.h | 1 +
>  2 files changed, 2 insertions(+)

It looks to me like you can merge the first three patches into one as
all they do is add that insn support.

Then, further down in the patchset, it says:

+	if (cpu_feature_enabled(X86_FEATURE_FRED)) {
+		/* WRMSRNS is a baseline feature for FRED. */

but WRMSRNS is not mentioned in the FRED spec "Document Number:
346446-005US, Revision: 5.0" which, according to

https://www.intel.com/content/www/us/en/content-details/780121/flexible-return-and-event-delivery-fred-specification.html

is the latest.

Am I looking at the wrong one?

> diff --git a/arch/x86/include/asm/cpufeatures.h b/arch/x86/include/asm/cpufeatures.h
> index 58cb9495e40f..330876d34b68 100644
> --- a/arch/x86/include/asm/cpufeatures.h
> +++ b/arch/x86/include/asm/cpufeatures.h
> @@ -322,6 +322,7 @@
>  #define X86_FEATURE_FSRS		(12*32+11) /* "" Fast short REP STOSB */
>  #define X86_FEATURE_FSRC		(12*32+12) /* "" Fast short REP {CMPSB,SCASB} */
>  #define X86_FEATURE_LKGS		(12*32+18) /* "" Load "kernel" (userspace) GS */
> +#define X86_FEATURE_WRMSRNS		(12*32+19) /* "" Non-Serializing Write to Model Specific Register instruction */

						  /* "" Non-serializing WRMSR */

is more than enough.

And now I'm wondering: when you're adding a separate CPUID bit, then the
above should be

+       if (cpu_feature_enabled(X86_FEATURE_WRMSRNS)) {
+               /* WRMSRNS is a baseline feature for FRED. */

I see that you're adding a dependency:

+	{ X86_FEATURE_FRED,			X86_FEATURE_WRMSRNS   },

which then means you don't need the X86_FEATURE_WRMSRNS definition at
all and can use X86_FEATURE_FRED only.

So, what's up?

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 13:28:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 13:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629281.981358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0ibX-000431-Fd; Wed, 08 Nov 2023 13:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629281.981358; Wed, 08 Nov 2023 13: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 1r0ibX-00042u-D3; Wed, 08 Nov 2023 13:28:23 +0000
Received: by outflank-mailman (input) for mailman id 629281;
 Wed, 08 Nov 2023 13: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=7seD=GV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0ibW-00042o-5j
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 13:28:22 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aedcc491-7e3a-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 14:28:20 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id E21E64EE0737;
 Wed,  8 Nov 2023 14:28:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aedcc491-7e3a-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Wed, 08 Nov 2023 14:28:19 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
In-Reply-To: <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
 <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
 <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
Message-ID: <4a58abb52afed75a748440f1adf9a2ac@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-08 12:19, Jan Beulich wrote:
> On 08.11.2023 12:03, Nicola Vetrini wrote:
>> On 2023-11-08 09:24, Jan Beulich wrote:
>>> On 03.11.2023 18:58, Nicola Vetrini wrote:
>>>> Static analysis tools may detect a possible null
>>>> pointer dereference at line 760 (the memcpy call)
>>>> of xen/common/domain.c. This ASSERT helps them in
>>>> detecting that such a condition is not possible
>>>> and also provides a basic sanity check.
>>> 
>>> I disagree with this being a possible justification for adding such a
>>> redundant assertion. More detail is needed on what is actually
>>> (suspected to be) confusing the tool. Plus it also needs explaining
>>> why (a) adding such an assertion helps and (b) how that's going to
>>> cover release builds.
>>> 
>> 
>> How about:
>> "Static analysis tools may detect a possible null pointer dereference
>> at line 760 (config->handle) due to config possibly being NULL.
>> 
>> However, given that all system domains, including IDLE, have a NULL
>> config and in the code path leading to the assertion only real domains
>> (which have a non-NULL config) can be present."
>> 
>> On point b): this finding is a false positive, therefore even if the
>> ASSERT is
>> expanded to effectively a no-op, there is no inherent problem with 
>> Xen's
>> code.
>> The context in which the patch was suggested [1] hinted at avoiding
>> inserting in
>> the codebase false positive comments.
> 
> Which I largely agree with. What I don't agree with is adding an
> assertion which is only papering over the issue, and only in debug
> builds. So perhaps instead we need a different way of tracking
> false positives (which need to be tied to specific checker versions
> anyway).
> 

Hmm. Is it better in your opinion to write something like:

if (config == NULL)
    return ERR_PTR(<some error code>); // or die() or something 
appropriate

this would be a rudimentary handling of the error with some messages 
detailing that something
is wrong if a domain has a null config at that point.

To be clear: I'm fine with every way of deviating the construct, but 
agreeing on an
alternate mechanism to SAF-x-false-positive would land later than 
implementing some form
of error handling, I think.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 13:33:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 13:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629285.981369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0igd-0005rw-3N; Wed, 08 Nov 2023 13:33:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629285.981369; Wed, 08 Nov 2023 13: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 1r0igc-0005rp-VD; Wed, 08 Nov 2023 13:33:38 +0000
Received: by outflank-mailman (input) for mailman id 629285;
 Wed, 08 Nov 2023 13:33: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 1r0igc-0005qO-0j
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 13:33: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 1r0igW-0004hF-Bn; Wed, 08 Nov 2023 13:33:32 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[10.95.129.229]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0igW-0001LN-59; Wed, 08 Nov 2023 13:33: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=jt/Bv+/xXl+LzY0bT3TYG/k0I+oxl7EDL++sJsB7i9k=; b=a5bT/tePksTEd9dXxvIn2mvGlm
	ghxOJh43UuLrQrpXHBb2EKc3oSX5Hl1ASxR3EGScrBVf6KijTzDBI5IjfEY1LoZ1/Io6jcpWAmhPb
	Eh3HxrlFx8efxJJXeI2WAMkuNu0zZKVDQJvnSBRT7+CxY19ElRGyC/5wpkKmqjtmnPZ0=;
Message-ID: <b407f981-c58c-4272-bc7c-1470a87e2487@xen.org>
Date: Wed, 8 Nov 2023 13:33:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
 <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
 <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 08/11/2023 11:19, Jan Beulich wrote:
> On 08.11.2023 12:03, Nicola Vetrini wrote:
>> On 2023-11-08 09:24, Jan Beulich wrote:
>>> On 03.11.2023 18:58, Nicola Vetrini wrote:
>>>> Static analysis tools may detect a possible null
>>>> pointer dereference at line 760 (the memcpy call)
>>>> of xen/common/domain.c. This ASSERT helps them in
>>>> detecting that such a condition is not possible
>>>> and also provides a basic sanity check.
>>>
>>> I disagree with this being a possible justification for adding such a
>>> redundant assertion. More detail is needed on what is actually
>>> (suspected to be) confusing the tool. Plus it also needs explaining
>>> why (a) adding such an assertion helps and (b) how that's going to
>>> cover release builds.
>>>
>>
>> How about:
>> "Static analysis tools may detect a possible null pointer dereference
>> at line 760 (config->handle) due to config possibly being NULL.
>>
>> However, given that all system domains, including IDLE, have a NULL
>> config and in the code path leading to the assertion only real domains
>> (which have a non-NULL config) can be present."
>>
>> On point b): this finding is a false positive, therefore even if the
>> ASSERT is
>> expanded to effectively a no-op, there is no inherent problem with Xen's
>> code.
>> The context in which the patch was suggested [1] hinted at avoiding
>> inserting in
>> the codebase false positive comments.
> 
> Which I largely agree with. What I don't agree with is adding an
> assertion which is only papering over the issue, and only in debug
> builds.

I expect that the number of issues will increase a lot as soon as we 
start to analyze production builds.

I don't think it will be a solution to either replace all the ASSERT() 
with runtime check in all configuration or even...

> So perhaps instead we need a different way of tracking
> false positives (which need to be tied to specific checker versions
> anyway).

... documenting false positive.

IMHO, the only viable option would be to have a configuration to keep 
ASSERT in production build for scanning tools.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 13:37:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 13:37:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629288.981379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0ijw-0006RP-IC; Wed, 08 Nov 2023 13:37:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629288.981379; Wed, 08 Nov 2023 13:37: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 1r0ijw-0006RI-E8; Wed, 08 Nov 2023 13:37:04 +0000
Received: by outflank-mailman (input) for mailman id 629288;
 Wed, 08 Nov 2023 13:37: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=IHnU=GV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r0ijv-0006RA-Aw
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 13:37:03 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e61f9fe0-7e3b-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 14:37:02 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5079f6efd64so8556103e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Nov 2023 05:37:02 -0800 (PST)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y14-20020a056000108e00b0032dbf6bf7a2sm4912658wrw.97.2023.11.08.05.37.01
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Nov 2023 05:37:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e61f9fe0-7e3b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699450622; x=1700055422; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=s7QLBRLI1wgBCkrs9LSadSPCeqsJ/5DX3pEmuYTPpzE=;
        b=AxRBsMQ/bcJ+yUNRE1K3RKRQ+V9kU5xrHsNdrnjFYoAKcN8xmFvFPCvjpG7XaSXhGG
         GdAdsvbHXNDOQo+DVNihUzm2qAYPEzBwE7LuXNVB11uOMXBtOf+gBTNl0AY7+i7GrbIx
         JwcQjeeIzo4UE9Lzjl4O9kwDXAuYP1WE3RZdY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699450622; x=1700055422;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=s7QLBRLI1wgBCkrs9LSadSPCeqsJ/5DX3pEmuYTPpzE=;
        b=iiYgZPPvzZje9z+UWgv6gt1CBJVKaBAuyspaAgxHMYye60zk65wNadKQPAWihpVpUY
         uimhGPvMwwIDg5JAFA3a42p9LQZAK5rG4CzYzDpIkyHyGVaIdDiJxXSe+boIeqw6WLB/
         emGE5eTP+2h7DTvElEW3HdoFYgEB2E8ZQtSMed0lU1q1kKkKkDiqINw1c59tXEwwmdvm
         61EIQIgIbqfghB1agYaZCbrEcPhwUMv1pG1VWTl4WyMxV7maNVztSw6p/XQQXmnCPXYl
         sTeugEo+TKuZAcLZW8u0gOmDMw594dWckgv5JfT1coPT2Y9UvJ/UKgz2Ii39hpV53u2Z
         NhZQ==
X-Gm-Message-State: AOJu0YyoSwskBYVIms3j8eb2HqWR4OPAiNxU2MiXbSkHJ3W2CGIxDhqq
	xnBQ4uXPnhew5HKOHznCjFHTIA==
X-Google-Smtp-Source: AGHT+IGVLK4uf/78yk7nORdT5ctcPMhQOKhJLf6MJfJvnikmAt0SykYhXpFy3N6rPAOI0y4akdUrCw==
X-Received: by 2002:a05:6512:1325:b0:507:cb04:59d4 with SMTP id x37-20020a056512132500b00507cb0459d4mr1406185lfu.8.1699450621870;
        Wed, 08 Nov 2023 05:37:01 -0800 (PST)
Message-ID: <49ea5252-b06c-4b2f-8600-c58cbbfb4957@citrix.com>
Date: Wed, 8 Nov 2023 13:37:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 roger.pau@citrix.com, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 03/11/2023 5:58 pm, Nicola Vetrini wrote:
> Static analysis tools may detect a possible null
> pointer dereference at line 760 (the memcpy call)
> of xen/common/domain.c. This ASSERT helps them in
> detecting that such a condition is not possible
> and also provides a basic sanity check.
>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> The check may be later improved by proper error checking
> instead of relying on the semantics explained here:
> https://lore.kernel.org/xen-devel/61f04d4b-34d9-4fd1-a989-56b042b4f3d8@citrix.com/
>
> This addresses the caution reported by ECLAIR for MISRA C:2012 D4.11
> ---
>  xen/common/domain.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 8f9ab01c0cb7..9378c0417645 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -700,6 +700,8 @@ struct domain *domain_create(domid_t domid,
>  
>      if ( !is_idle_domain(d) )
>      {
> +        ASSERT(config);
> +
>          watchdog_domain_init(d);
>          init_status |= INIT_watchdog;
>  

I have an idea that might resolve this differently and in an easier way.

Would you be happy waiting for a couple of days for me to experiment? 
Absolutely no guarantees of it turning into a workable solution.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 13:45:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 13:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629295.981388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0isL-00009e-BA; Wed, 08 Nov 2023 13:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629295.981388; Wed, 08 Nov 2023 13: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 1r0isL-00009X-8N; Wed, 08 Nov 2023 13:45:45 +0000
Received: by outflank-mailman (input) for mailman id 629295;
 Wed, 08 Nov 2023 13: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=7seD=GV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0isK-00009R-9K
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 13:45:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c78d8b1-7e3d-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 14:45:43 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id B20DC4EE0737;
 Wed,  8 Nov 2023 14:45:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c78d8b1-7e3d-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Wed, 08 Nov 2023 14:45:42 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, roger.pau@citrix.com, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
In-Reply-To: <49ea5252-b06c-4b2f-8600-c58cbbfb4957@citrix.com>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <49ea5252-b06c-4b2f-8600-c58cbbfb4957@citrix.com>
Message-ID: <a2267b9f513b6943a86b154edc284ed0@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-08 14:37, Andrew Cooper wrote:
> On 03/11/2023 5:58 pm, Nicola Vetrini wrote:
>> Static analysis tools may detect a possible null
>> pointer dereference at line 760 (the memcpy call)
>> of xen/common/domain.c. This ASSERT helps them in
>> detecting that such a condition is not possible
>> and also provides a basic sanity check.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> The check may be later improved by proper error checking
>> instead of relying on the semantics explained here:
>> https://lore.kernel.org/xen-devel/61f04d4b-34d9-4fd1-a989-56b042b4f3d8@citrix.com/
>> 
>> This addresses the caution reported by ECLAIR for MISRA C:2012 D4.11
>> ---
>>  xen/common/domain.c | 2 ++
>>  1 file changed, 2 insertions(+)
>> 
>> diff --git a/xen/common/domain.c b/xen/common/domain.c
>> index 8f9ab01c0cb7..9378c0417645 100644
>> --- a/xen/common/domain.c
>> +++ b/xen/common/domain.c
>> @@ -700,6 +700,8 @@ struct domain *domain_create(domid_t domid,
>> 
>>      if ( !is_idle_domain(d) )
>>      {
>> +        ASSERT(config);
>> +
>>          watchdog_domain_init(d);
>>          init_status |= INIT_watchdog;
>> 
> 
> I have an idea that might resolve this differently and in an easier 
> way.
> 
> Would you be happy waiting for a couple of days for me to experiment? 
> Absolutely no guarantees of it turning into a workable solution.
> 

Sure, no problem.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 14:19:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 14:19:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629300.981399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0jOV-0005O3-Pc; Wed, 08 Nov 2023 14:18:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629300.981399; Wed, 08 Nov 2023 14: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 1r0jOV-0005Nw-MW; Wed, 08 Nov 2023 14:18:59 +0000
Received: by outflank-mailman (input) for mailman id 629300;
 Wed, 08 Nov 2023 14:18: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=L2E1=GV=citrix.com=prvs=669c226bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r0jOT-0005Nq-TW
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 14:18: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 be959273-7e41-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 15:18:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be959273-7e41-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1699453134;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Na13PhDqfcELQNczwDPttncEtkyuwh/vIZZDr1gyTSk=;
  b=ZFzwDo3CUtBFWur8oFFK+U+pTw9Xw7I/f0jh8Epa8qT7EZ3vdBTgtgLW
   r++W9eVR+QxqXmqDkeOR9FBvNjONJ95NjGa1Sz7p0M8uXwb4zonTZqtuC
   QjJQncFI3lO353cecHmDM5HtnISXmBeJzjzd7knXYs/J7Zy3vroUb0+s8
   M=;
X-CSE-ConnectionGUID: ucjRHIKqRvqWExcWeSvfDg==
X-CSE-MsgGUID: YHq6jfp2TaOC0nzCAz1Kjg==
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128350426
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:xzzHLamjOPv77/C+v8S0HA/o5gwQJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJJDTyHOP+JZzDxKdtzPdu1ox8GucXUzIRmSgBpq3w0RCMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+e6UKicfHkpGWeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5K+aVA8w5ARkPqkS5A+GzhH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 eETKgotTzOavfyv/5+rQdZhvdotAMa+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dMlsQYj/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xxzI/
 T+eoz6nav0cHO2/0GSH/Gr2uubotnv9Sqk7BuSb9PE/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JVEuY64QXLzbDG7gKxD20ICDVGbbQOusI6SCYr3
 VjPhN7zDDJutry9Q2+S7bqSonW5Pi19BWkDbigARE0b7sX5oYcyphjSQc1uFqHzhdrwcRnqx
 DqHtjQ5wb8agsgCzayT903ImD+qqd7CSQtdzh7MQmuv4wd9ZYikT4+l817W6bBHNonxZl2ct
 3FClcGY5+0KCYylnTaIBu4KGdmBx/uDKiyavldpELEo7THr8HmmFb28+xkneh0vaJxdP2a0M
 QmM4Wu9+aO/IlO3Zq1NQ6OSEv401JfNBd/aW8vKYPZBN80ZmBC8wM1+WaKB9zmzwRlwyPxnZ
 cbzndWEVyhAVfo9pNaib6JNieV1m3pWKXb7HMijl3yaPayiiGl5oFvvGHCJdOk9pJicugTT/
 M032yCikE4HD7SWjsU66+cuwbE2wZsTX8ueRzR/LLLrH+afMDhJ5wXt6b0gYZd5uK9ei/3F+
 HqwMmcBlguu3i2dcVXVNyo8AF8KYXqYhStkVRHAwH7xhiN9CWpRxPx3m2QLkUkPq7U4kK8co
 wgtcMScGPVfIgkrCBxEBaQRWLdKLUzx7SrXZnrNXdTKV8I4L+A/0oO+L1SHGehnJnbfiPbSV
 JX5jFyCH8NdGFk5ZCsUAdr2p26MUbEmsLoadyP1zhN7IS0ALKACx/TNs8IK
IronPort-HdrOrdr: A9a23:xW2Zwa6IKFxOgzBHEgPXwMbXdLJyesId70hD6qkRc3Bom6mj/P
 xG88516faZslgssRMb+exoSZPgfZq0z/cci+Qs1NyZLWrbUQWTXeRfxLqn7zr8GzDvss5xvJ
 0QF5SW0eeAb2RHsQ==
X-Talos-CUID: 9a23:0RPPu23ducqLYvSWTttOFLxfB8snSF38727qPVaHJHZid7CuV1G89/Yx
X-Talos-MUID: =?us-ascii?q?9a23=3AvEpfcQyiFmBiOGnP5bg+RdC5itWaqJWOER4Pn41?=
 =?us-ascii?q?ch8CjHnR2KRy0nm2UQIByfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.03,286,1694750400"; 
   d="scan'208";a="128350426"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Federico Serafini
	<federico.serafini@bugseng.com>, Luca Fancellu <luca.fancellu@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH for-4.18] docs/misra: Add missing SPDX tags
Date: Wed, 8 Nov 2023 14:18:47 +0000
Message-ID: <20231108141847.47697-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Two files are missing SDPX tags, but are covered by the blanketing license
statement in docs/README.sources saying that RST files are CC-BY-4.0

Fixes: 3c911be55f1c ("docs/misra: document the C dialect and translation toolchain assumptions.")
Fixes: 7211904e09bd ("docs/misra: add documentation skeleton for MISRA C:2012 Dir 4.1")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Federico Serafini <federico.serafini@bugseng.com>
CC: Luca Fancellu <luca.fancellu@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Henry Wang <Henry.Wang@arm.com>

CC Henry as this does ideally want backporting to 4.18

To everyone else, please remember SPDX tags on new files.
---
 docs/misra/C-language-toolchain.rst | 2 ++
 docs/misra/C-runtime-failures.rst   | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
index 4c4942a11321..2866cb191b1a 100644
--- a/docs/misra/C-language-toolchain.rst
+++ b/docs/misra/C-language-toolchain.rst
@@ -1,3 +1,5 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
 =============================================
 C Dialect and Translation Assumptions for Xen
 =============================================
diff --git a/docs/misra/C-runtime-failures.rst b/docs/misra/C-runtime-failures.rst
index 77e04a2562b8..1052b2afca13 100644
--- a/docs/misra/C-runtime-failures.rst
+++ b/docs/misra/C-runtime-failures.rst
@@ -1,3 +1,5 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
 ===================================================================
 Measures taken towards the minimization of Run-time failures in Xen
 ===================================================================

base-commit: bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 08 14:23:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 14:23:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629306.981410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0jT3-0006wE-JF; Wed, 08 Nov 2023 14:23:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629306.981410; Wed, 08 Nov 2023 14:23: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 1r0jT3-0006w7-ER; Wed, 08 Nov 2023 14:23:41 +0000
Received: by outflank-mailman (input) for mailman id 629306;
 Wed, 08 Nov 2023 14:23: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=KPTf=GV=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r0jT2-0006vv-II
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 14:23:40 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe13::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 682427b0-7e42-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 15:23:37 +0100 (CET)
Received: from DB3PR06CA0023.eurprd06.prod.outlook.com (2603:10a6:8:1::36) by
 PA6PR08MB10444.eurprd08.prod.outlook.com (2603:10a6:102:3c7::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Wed, 8 Nov
 2023 14:23:29 +0000
Received: from DU2PEPF0001E9C4.eurprd03.prod.outlook.com
 (2603:10a6:8:1:cafe::31) by DB3PR06CA0023.outlook.office365.com
 (2603:10a6:8:1::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28 via Frontend
 Transport; Wed, 8 Nov 2023 14:23:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU2PEPF0001E9C4.mail.protection.outlook.com (10.167.8.73) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.18 via Frontend Transport; Wed, 8 Nov 2023 14:23:28 +0000
Received: ("Tessian outbound 26ee1d40577c:v228");
 Wed, 08 Nov 2023 14:23:28 +0000
Received: from 999797919d3e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8F508F75-A054-41FA-B63D-6521F05C74F4.1; 
 Wed, 08 Nov 2023 14:23:17 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 999797919d3e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 08 Nov 2023 14:23:17 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS4PR08MB8218.eurprd08.prod.outlook.com (2603:10a6:20b:51d::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Wed, 8 Nov
 2023 14:23:15 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::ae6e:f96c:f2f3:efc9%4]) with mapi id 15.20.6954.028; Wed, 8 Nov 2023
 14:23: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: 682427b0-7e42-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=J6eL7BknQIZUsYq5K7YugO7CA/CoOuqvjC8CVOtA0jhRrohzbNGpeTIkeYGLG5xxYgMHl35Qt81T7Tx4lljJUKBY/PTAWT1MtXZKd2F4b8/jc2HmO1gso3Sb8mLHEeNbtzoObCIF+7WYe7fT9Kp1pN4n6thrK9OhTGZstxJJmJMRrxk4AZAN6gas/7Zbr7Ww6jvtC20z1JDRbj6m9hb+x+LC6u5ra8ql/Tdws/36+IPcpH31WVAYI59viNWZsgyzOKYgvrcF4e6iSk04tVcaaWnLIwDFwq9o65KW148eUshZkeUj9GZix9uPAYWC7ZbHwo+PGNJF2PBcIPuOj4SpIA==
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=id8VAVjWPZ9bUs24LdiLJmrNCcFqQQQTDamxpyRtxew=;
 b=C0ixWTZJvSGZD/FqSOSVv15AiYGb+oK6MU9sVKBdWdjgqj48zT/mhxtch3k5pSvQfktngR44iN5MO+v2rm7gficr86vPaKJF1/d73QtgaErVKk7L1l85Lzijsfkj1XH1dl7qHLmSObY5netoXbbHMGXitiV/9iKGjn03ynwPy+nE0H3ajvg9c4VHD4b6mhae4YuqXbglQyUtfC9ox+5VcGXMV10257So5lyEwOF2gvqrgX6WiPZrpRrx44ujyELDhKWf1f5amZ2kqMejAbyZjs8q6J3Jcl89ghAF7KyuOhGs5QxtdYPBjfW+u72CrDk0qxAwLl+hJ3C8b2FsiF7FqQ==
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=id8VAVjWPZ9bUs24LdiLJmrNCcFqQQQTDamxpyRtxew=;
 b=N5tmmZje4oo8mjwU2Cpug9GJz2lK+pg0uBCJJM/pZJ6nXXda5FMc2L+J5d7amR/Hk94MVNt23FWi2lYYPsM1MmcPM6BmnxhsFOg/TdEL8/XP/9ieO72jJXf2PGdiXMKX0zLeF0cUx/MhLtiahAxELr06bJppApf+4Pzs/uAqrWk=
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: 81024fb3409dca45
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=F7u1tKCNqqavWkubs2TgdVdiLTYZKhiXQGQ9cOR0U2x5REmwx8eiAvYIR2KQ9a0KF7V6NQha/FtxQfXfQwAfR0ptF44aFGU/qEhE1h5E950K5cT5Rp4yaS1BRjBaq2WIWNZvOgSCmb/ePpJQ93jhgznDWvDrBwIoXhSXcyi55Yxc2iIgXJOdFrzfl5KeTVf4an2o616GQjck92ic+z2AT4hut/AuVsN9OUd7/+jswpF3YbgvZevAvCOzGjmc6vmgvs5WcdAyoNJttyzNLij/+9zhoQI2nLauN7OYlbDOkmOM4l+gzi6ff15avSYW8Q3Xq3oNfU+jIOgaxDS40IWosQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=id8VAVjWPZ9bUs24LdiLJmrNCcFqQQQTDamxpyRtxew=;
 b=gJM3YnPTwj6tFxifPPPwfU9BwOYGVeMExR08rNnocJRPOxth709OAkrTMURg/tzdYDdIywDP3su8JcFKsi5L/ZBcTVcAxXzyEMiiAt1SwMK5bnc1B2Bb6URJaHqqGO4wUfC3eKwie8kaC4DgheqIvUB8HfmQKMcG6DJ3loUSAas8UXqSw19ss7kuGP53KriyaFb1j4R5qk+38jj1ZoE2RiWatAgG0ThqrWqLI+wIbiX2kigF9zwz98DVZ8c0OW/x3g4F0lj1fVL3YEEWeEQVr4CCcgAW1YlYMJaqvXeyPCxQbEDs1KB46m/42KogpzPWMYre0wVn/4fTFEX2+MiC8A==
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=id8VAVjWPZ9bUs24LdiLJmrNCcFqQQQTDamxpyRtxew=;
 b=N5tmmZje4oo8mjwU2Cpug9GJz2lK+pg0uBCJJM/pZJ6nXXda5FMc2L+J5d7amR/Hk94MVNt23FWi2lYYPsM1MmcPM6BmnxhsFOg/TdEL8/XP/9ieO72jJXf2PGdiXMKX0zLeF0cUx/MhLtiahAxELr06bJppApf+4Pzs/uAqrWk=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Federico Serafini
	<federico.serafini@bugseng.com>, Luca Fancellu <Luca.Fancellu@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH for-4.18] docs/misra: Add missing SPDX tags
Thread-Topic: [PATCH for-4.18] docs/misra: Add missing SPDX tags
Thread-Index: AQHaEk6K5LkkMqKtJkeH7p+zHgDrAbBweY+A
Date: Wed, 8 Nov 2023 14:23:15 +0000
Message-ID: <25232280-EA3F-4F1B-9D10-C48168D9BB86@arm.com>
References: <20231108141847.47697-1-andrew.cooper3@citrix.com>
In-Reply-To: <20231108141847.47697-1-andrew.cooper3@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS4PR08MB8218:EE_|DU2PEPF0001E9C4:EE_|PA6PR08MB10444:EE_
X-MS-Office365-Filtering-Correlation-Id: 9c5fc13a-511e-4c9a-3f1e-08dbe0664724
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:
 7EHrfWyTXARHDjLVT5fNiMO4OKbzH623neCUYB7EeBGES1FPAuft5DdEgsTMXmXLGrSa1lwfSzNU9VG0bvASc/iaMN/Gr4zaUyTCFMyPidDA+k542LyG83yeoAPbsnvn2fr0UDUL0eBzvDrBPE2B/ZYYOF5/9zArwsKWYKo+BiDbBQaRlvxnD6iJDqdDBr877piiqEsi/H2D8emJy6RhkNQfNuk2TmUbpe43L0Q19ykZCQlYjZqI0KpcRC50FSxiYbRcydWytVgwSQ7Ft/0KFRWAXmsNY9YzLc7o7Go2nENKBO0u2G5ut3CrvU77xbbE71cVJvYZi2GWfoU/uVO2lzZqbpvN7je3kqnh9CEY6BhegUMfsYE/54MTWb5zFgV2kGIq1SGFdelik11/55eQEUN1aYv9bHbPmawQtlm81p4aRdCc+2rAyfgUAPLPZpZCIUpHkInrJqtiXNkYKc++Fy5KJWhTevAyKBg+coBQLbdkRo+VtGzgnimNtCHn37GSKrfLkn+1xMKKWuMW+XPHACYQiwQ+0yEqrXV88SLwUQN5z/R09pHBsiuffmdqDMx+j1Batj1zGNE3wpR267ClQ7vRlI3Qh/pyoWapR8/RoxOkJqrTmJWULlkQ6Uh7N05bjirjlIJ9z0kPMpZys52yYw==
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:(13230031)(136003)(376002)(366004)(396003)(39860400002)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(122000001)(53546011)(6512007)(71200400001)(26005)(2616005)(66899024)(6506007)(316002)(64756008)(41300700001)(66946007)(6916009)(66476007)(478600001)(66446008)(66556008)(76116006)(8676002)(8936002)(4326008)(36756003)(54906003)(38100700002)(91956017)(2906002)(4744005)(33656002)(5660300002)(86362001)(38070700009)(6486002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <668CF100A5B53949ABA7375A5D673538@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8218
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:
 DU2PEPF0001E9C4.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	104769db-4ff4-47fa-cad4-08dbe0663f35
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yOeE4f34CSNQWXBbWttM0kKqJY/mc0bx40fiXAB5CgGtnHJd1JKzUhRPdygAhTerQn2g8kjd5f9MYrQnd5azUmF5RuMjtoOzk8x3t1+jMSrfbxTm5dRMXn+KesB4P7T9xgmmPHd+erCPANZ1OWfvTlSYs8NiUr8ells0V6z+fYY3nASJ9zoR6O3+xMtAW1dBgafP5XsoP9QZORGoGQvR1frA70f2DC7o7n7Xh912BAD+NMBLDh5e2i9hl5kC+55A6OTdbWjDsFT45Uev0Anj+OpJ+dToCSg09s6QKrN1+KXfk6yP1i/L0jG5075bjzx66F5/UunQdU6sFB6AfX8RuzW4FOL1Rg5So3yhFYEoGUmgVpRXL3urT6LovlJOycBH9CdshzHtDLUXt7bBXyupI1azlKYvgBifvUJj1Ps/jKzOjHSZ7WVFPSqKEq5KHQgBl45b6H16O5sm0GUilkguFMPAxGrAPIgI8iBhq7U54v9H+XxIb5g1gsYK14qfeXks+pDBHIxIqrlO5rRbFnGCDUdIbwF2qq4Wt0qDZv5nHsE5ygDPFUUWW9dKzpT/RvUpr40meNTPxDZXm+lgjPdqn7+cpaimwO5683Ls93Yb2y+8plF5FJ12Ck+xd1Agg2HMoubmSHuOK0t7q+MdlyK7UvzgJk2Pr+Rcnm2FwaxjGSxodMQE2H9JTZc4ETCwS4VqEscTFvaejxu9IYCikDWkvcJ8y5KBw/7Y+cjunZ+40dDMoZTmC8xnaSB8BSW2wBlF
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:(13230031)(4636009)(39860400002)(136003)(396003)(346002)(376002)(230922051799003)(451199024)(186009)(82310400011)(64100799003)(1800799009)(40470700004)(36840700001)(46966006)(40460700003)(66899024)(33656002)(40480700001)(36756003)(8936002)(36860700001)(336012)(5660300002)(4326008)(6862004)(8676002)(26005)(54906003)(316002)(70206006)(70586007)(2906002)(4744005)(107886003)(47076005)(6512007)(478600001)(41300700001)(53546011)(6486002)(6506007)(2616005)(82740400003)(86362001)(81166007)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 14:23:28.7900
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9c5fc13a-511e-4c9a-3f1e-08dbe0664724
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:
	DU2PEPF0001E9C4.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA6PR08MB10444

Hi Andrew,

> On Nov 8, 2023, at 22:18, Andrew Cooper <andrew.cooper3@citrix.com> wrote=
:
>=20
> Two files are missing SDPX tags, but are covered by the blanketing licens=
e
> statement in docs/README.sources saying that RST files are CC-BY-4.0
>=20
> Fixes: 3c911be55f1c ("docs/misra: document the C dialect and translation =
toolchain assumptions.")
> Fixes: 7211904e09bd ("docs/misra: add documentation skeleton for MISRA C:=
2012 Dir 4.1")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Federico Serafini <federico.serafini@bugseng.com>
> CC: Luca Fancellu <luca.fancellu@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Henry Wang <Henry.Wang@arm.com>
>=20
> CC Henry as this does ideally want backporting to 4.18

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry=


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 14:38:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 14:38:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629310.981419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0jgx-0001Kr-PI; Wed, 08 Nov 2023 14:38:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629310.981419; Wed, 08 Nov 2023 14:38: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 1r0jgx-0001Kk-Lw; Wed, 08 Nov 2023 14:38:03 +0000
Received: by outflank-mailman (input) for mailman id 629310;
 Wed, 08 Nov 2023 14:38: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=L2E1=GV=citrix.com=prvs=669c226bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r0jgw-0001Ke-L0
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 14:38:02 +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 677cb11f-7e44-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 15:37:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 677cb11f-7e44-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1699454276;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=+nvgzJHgmmIX8lyHV7D4RHpl25ItZzGMSWCW1vkaDb0=;
  b=J8/fZuh7hyG7TIMzcDnC4TAFQipbALH4HqfTY8b/m2KMIbEc3L3JHYx4
   +9SE6DvfCFJ12UEqUEXRronzsMULUxrm11Trzre9oaEUc6D8eWF+GQTJO
   hfTZrvurQ3P7hwC/x2FIJU4AdO/sKJNbf2pP9BXcrj5gzNQtW3c6ZvaPh
   Q=;
X-CSE-ConnectionGUID: 43k5+xIWQraEzFuO3P3f+w==
X-CSE-MsgGUID: askSbJhhR+611AqiuTSFFQ==
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128352222
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23://oRsazvp1EiM4pC2PB6t+cMxirEfRIJ4+MujC+fZmUNrF6WrkUGn
 2RJXD+BbPeCN2agft9/bN/i9E1VupHSyIBhSABp/yAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjPzOHvykTrecZkidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8EgHUMja4mtC5QVnPaAT5TcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KT0V9
 qFbOBEyVwqKqvCY3ZXgcrJixdt2eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyPVKfO3WjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiHJ8FxRvC/
 Dicl4j/KhgBN+eV6zqFyDHy37bmhCLmZLk8OoTto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jY+cddNF+wx6CmW17HZpQ2eAwAsVSVdYdYrsMs3Qz0C1
 VKTmd7tQzt1v9W9Vna15rqS6zSoNkA9L3IGZCICZRsI5Z/kuo5bpjLCSMxyVpG8iNLdECv1h
 TuNqUADa6471JBRkf/hpBae3mPq+cChohMJChv/Ajmms0BpRbGcfYWF+3bGyq14d4jaUQzU1
 JQboPRy/NziHLnUyn3cHLxQRO34jxqWGGeC2wIxRfHN4xzoqyb5I90KiN1rDB4xap5sRNP/X
 KPEVeq9Drd4O2GjaedMe5iwDcsxpUQLPY++Dq+NBjaij4IYSeNmwM2NTRTLt4wVuBJw+ZzTw
 L/CGSpWMV4UCL580B29TPoH3Lkgy0gWnD2CFMurlUz3jufEOxZ5rIvp13PXMYgEAF6s+ViOr
 b6zyePRo/mgbAEOSnaOqtNCRbz7BXM6GYr3u6Rqmh2re2Jb9JUaI6aJm9sJItU195m5Y8+Up
 hlRrGcEkgug7ZAGQC3WAk1ehETHBMwg9CxiY3NxZj5FGRELOO6S0UvWTLNvFZFPyQCp5acco
 yUtEylYPslydw==
IronPort-HdrOrdr: A9a23:XdBKOKGrsV1Oi+FupLqEGMeALOsnbusQ8zAXPiBKJCC9E/bo8/
 xG+c5w6faaslkssR0b9+xoW5PwJE80l6QFgrX5VI3KNGXbUQ2TTb2KhbGI/9SKIVydygcy78
 ddmtNFebrN5VgRt7eH3OG7eexQv+VuJsqT9JnjJ3QGd3AaV0l5hT0JbDpyiidNNXN77ZxSLu
 vk2uN34wCOVF4wdcqBCnwMT4H41qD2fMKPW29/O/Y/gjP+9g+V1A==
X-Talos-CUID: 9a23:cnEu424j9PDaF5rQjtssqBUXR4M1U0Lk1n79MWGlLj1RE7PWVgrF
X-Talos-MUID: 9a23:LalxmgskA4o6won0wc2njSphD81K46SUSx5UyLwfutS4DgJeAmLI
X-IronPort-AV: E=Sophos;i="6.03,286,1694750400"; 
   d="scan'208";a="128352222"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>, Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH for-4.18] docs: Delete kconfig docs to fix licensing violation
Date: Wed, 8 Nov 2023 14:37:51 +0000
Message-ID: <20231108143751.49309-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

These 3 Kconfig docs were imported from Linux erroneously.  They are
GPL-2.0-only in Linux, but have no SPDX tag and were placed in such a way to
be included by the blanket statement saying that all RST files are CC-BY-4.0.

We should not be carrying a shadow copy of these docs.  They aren't even wired
into our Sphinx docs, and anyone wanting to refer to Kconfig docs is going to
look at the Linux docs anyway.  These, and more docs can be found at:

  https://www.kernel.org/doc/html/latest/kbuild/

which also have corrections vs the snapshot we took.

Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Henry Wang <Henry.Wang@arm.com>
---
 docs/misc/kconfig-language.rst       | 701 ---------------------------
 docs/misc/kconfig-macro-language.rst | 247 ----------
 docs/misc/kconfig.rst                | 304 ------------
 3 files changed, 1252 deletions(-)
 delete mode 100644 docs/misc/kconfig-language.rst
 delete mode 100644 docs/misc/kconfig-macro-language.rst
 delete mode 100644 docs/misc/kconfig.rst

diff --git a/docs/misc/kconfig-language.rst b/docs/misc/kconfig-language.rst
deleted file mode 100644
index 74bef19f69f0..000000000000
--- a/docs/misc/kconfig-language.rst
+++ /dev/null
@@ -1,701 +0,0 @@
-================
-Kconfig Language
-================
-
-Introduction
-------------
-
-The configuration database is a collection of configuration options
-organized in a tree structure::
-
-	+- Code maturity level options
-	|  +- Prompt for development and/or incomplete code/drivers
-	+- General setup
-	|  +- Networking support
-	|  +- System V IPC
-	|  +- BSD Process Accounting
-	|  +- Sysctl support
-	+- Loadable module support
-	|  +- Enable loadable module support
-	|     +- Set version information on all module symbols
-	|     +- Kernel module loader
-	+- ...
-
-Every entry has its own dependencies. These dependencies are used
-to determine the visibility of an entry. Any child entry is only
-visible if its parent entry is also visible.
-
-Menu entries
-------------
-
-Most entries define a config option; all other entries help to organize
-them. A single configuration option is defined like this::
-
-  config MODVERSIONS
-	bool "Set version information on all module symbols"
-	depends on MODULES
-	help
-	  Usually, modules have to be recompiled whenever you switch to a new
-	  kernel.  ...
-
-Every line starts with a key word and can be followed by multiple
-arguments.  "config" starts a new config entry. The following lines
-define attributes for this config option. Attributes can be the type of
-the config option, input prompt, dependencies, help text and default
-values. A config option can be defined multiple times with the same
-name, but every definition can have only a single input prompt and the
-type must not conflict.
-
-Menu attributes
----------------
-
-A menu entry can have a number of attributes. Not all of them are
-applicable everywhere (see syntax).
-
-- type definition: "bool"/"tristate"/"string"/"hex"/"int"
-
-  Every config option must have a type. There are only two basic types:
-  tristate and string; the other types are based on these two. The type
-  definition optionally accepts an input prompt, so these two examples
-  are equivalent::
-
-	bool "Networking support"
-
-  and::
-
-	bool
-	prompt "Networking support"
-
-- input prompt: "prompt" <prompt> ["if" <expr>]
-
-  Every menu entry can have at most one prompt, which is used to display
-  to the user. Optionally dependencies only for this prompt can be added
-  with "if".
-
-- default value: "default" <expr> ["if" <expr>]
-
-  A config option can have any number of default values. If multiple
-  default values are visible, only the first defined one is active.
-  Default values are not limited to the menu entry where they are
-  defined. This means the default can be defined somewhere else or be
-  overridden by an earlier definition.
-  The default value is only assigned to the config symbol if no other
-  value was set by the user (via the input prompt above). If an input
-  prompt is visible the default value is presented to the user and can
-  be overridden by him.
-  Optionally, dependencies only for this default value can be added with
-  "if".
-
- The default value deliberately defaults to 'n' in order to avoid bloating the
- build. With few exceptions, new config options should not change this. The
- intent is for "make oldconfig" to add as little as possible to the config from
- release to release.
-
- Note:
-	Things that merit "default y/m" include:
-
-	a) A new Kconfig option for something that used to always be built
-	   should be "default y".
-
-	b) A new gatekeeping Kconfig option that hides/shows other Kconfig
-	   options (but does not generate any code of its own), should be
-	   "default y" so people will see those other options.
-
-	c) Sub-driver behavior or similar options for a driver that is
-	   "default n". This allows you to provide sane defaults.
-
-	d) Hardware or infrastructure that everybody expects, such as CONFIG_NET
-	   or CONFIG_BLOCK. These are rare exceptions.
-
-- type definition + default value::
-
-	"def_bool"/"def_tristate" <expr> ["if" <expr>]
-
-  This is a shorthand notation for a type definition plus a value.
-  Optionally dependencies for this default value can be added with "if".
-
-- dependencies: "depends on" <expr>
-
-  This defines a dependency for this menu entry. If multiple
-  dependencies are defined, they are connected with '&&'. Dependencies
-  are applied to all other options within this menu entry (which also
-  accept an "if" expression), so these two examples are equivalent::
-
-	bool "foo" if BAR
-	default y if BAR
-
-  and::
-
-	depends on BAR
-	bool "foo"
-	default y
-
-- reverse dependencies: "select" <symbol> ["if" <expr>]
-
-  While normal dependencies reduce the upper limit of a symbol (see
-  below), reverse dependencies can be used to force a lower limit of
-  another symbol. The value of the current menu symbol is used as the
-  minimal value <symbol> can be set to. If <symbol> is selected multiple
-  times, the limit is set to the largest selection.
-  Reverse dependencies can only be used with boolean or tristate
-  symbols.
-
-  Note:
-	select should be used with care. select will force
-	a symbol to a value without visiting the dependencies.
-	By abusing select you are able to select a symbol FOO even
-	if FOO depends on BAR that is not set.
-	In general use select only for non-visible symbols
-	(no prompts anywhere) and for symbols with no dependencies.
-	That will limit the usefulness but on the other hand avoid
-	the illegal configurations all over.
-
-- weak reverse dependencies: "imply" <symbol> ["if" <expr>]
-
-  This is similar to "select" as it enforces a lower limit on another
-  symbol except that the "implied" symbol's value may still be set to n
-  from a direct dependency or with a visible prompt.
-
-  Given the following example::
-
-    config FOO
-	tristate
-	imply BAZ
-
-    config BAZ
-	tristate
-	depends on BAR
-
-  The following values are possible:
-
-	===		===		=============	==============
-	FOO		BAR		BAZ's default	choice for BAZ
-	===		===		=============	==============
-	n		y		n		N/m/y
-	m		y		m		M/y/n
-	y		y		y		Y/n
-	y		n		*		N
-	===		===		=============	==============
-
-  This is useful e.g. with multiple drivers that want to indicate their
-  ability to hook into a secondary subsystem while allowing the user to
-  configure that subsystem out without also having to unset these drivers.
-
-- limiting menu display: "visible if" <expr>
-
-  This attribute is only applicable to menu blocks, if the condition is
-  false, the menu block is not displayed to the user (the symbols
-  contained there can still be selected by other symbols, though). It is
-  similar to a conditional "prompt" attribute for individual menu
-  entries. Default value of "visible" is true.
-
-- numerical ranges: "range" <symbol> <symbol> ["if" <expr>]
-
-  This allows to limit the range of possible input values for int
-  and hex symbols. The user can only input a value which is larger than
-  or equal to the first symbol and smaller than or equal to the second
-  symbol.
-
-- help text: "help" or "---help---"
-
-  This defines a help text. The end of the help text is determined by
-  the indentation level, this means it ends at the first line which has
-  a smaller indentation than the first line of the help text.
-  "---help---" and "help" do not differ in behaviour, "---help---" is
-  used to help visually separate configuration logic from help within
-  the file as an aid to developers.
-
-- misc options: "option" <symbol>[=<value>]
-
-  Various less common options can be defined via this option syntax,
-  which can modify the behaviour of the menu entry and its config
-  symbol. These options are currently possible:
-
-  - "defconfig_list"
-    This declares a list of default entries which can be used when
-    looking for the default configuration (which is used when the main
-    .config doesn't exists yet.)
-
-  - "modules"
-    This declares the symbol to be used as the MODULES symbol, which
-    enables the third modular state for all config symbols.
-    At most one symbol may have the "modules" option set.
-
-  - "allnoconfig_y"
-    This declares the symbol as one that should have the value y when
-    using "allnoconfig". Used for symbols that hide other symbols.
-
-Menu dependencies
------------------
-
-Dependencies define the visibility of a menu entry and can also reduce
-the input range of tristate symbols. The tristate logic used in the
-expressions uses one more state than normal boolean logic to express the
-module state. Dependency expressions have the following syntax::
-
-  <expr> ::= <symbol>                           (1)
-           <symbol> '=' <symbol>                (2)
-           <symbol> '!=' <symbol>               (3)
-           <symbol1> '<' <symbol2>              (4)
-           <symbol1> '>' <symbol2>              (4)
-           <symbol1> '<=' <symbol2>             (4)
-           <symbol1> '>=' <symbol2>             (4)
-           '(' <expr> ')'                       (5)
-           '!' <expr>                           (6)
-           <expr> '&&' <expr>                   (7)
-           <expr> '||' <expr>                   (8)
-
-Expressions are listed in decreasing order of precedence.
-
-(1) Convert the symbol into an expression. Boolean and tristate symbols
-    are simply converted into the respective expression values. All
-    other symbol types result in 'n'.
-(2) If the values of both symbols are equal, it returns 'y',
-    otherwise 'n'.
-(3) If the values of both symbols are equal, it returns 'n',
-    otherwise 'y'.
-(4) If value of <symbol1> is respectively lower, greater, lower-or-equal,
-    or greater-or-equal than value of <symbol2>, it returns 'y',
-    otherwise 'n'.
-(5) Returns the value of the expression. Used to override precedence.
-(6) Returns the result of (2-/expr/).
-(7) Returns the result of min(/expr/, /expr/).
-(8) Returns the result of max(/expr/, /expr/).
-
-An expression can have a value of 'n', 'm' or 'y' (or 0, 1, 2
-respectively for calculations). A menu entry becomes visible when its
-expression evaluates to 'm' or 'y'.
-
-There are two types of symbols: constant and non-constant symbols.
-Non-constant symbols are the most common ones and are defined with the
-'config' statement. Non-constant symbols consist entirely of alphanumeric
-characters or underscores.
-Constant symbols are only part of expressions. Constant symbols are
-always surrounded by single or double quotes. Within the quote, any
-other character is allowed and the quotes can be escaped using '\'.
-
-Menu structure
---------------
-
-The position of a menu entry in the tree is determined in two ways. First
-it can be specified explicitly::
-
-  menu "Network device support"
-	depends on NET
-
-  config NETDEVICES
-	...
-
-  endmenu
-
-All entries within the "menu" ... "endmenu" block become a submenu of
-"Network device support". All subentries inherit the dependencies from
-the menu entry, e.g. this means the dependency "NET" is added to the
-dependency list of the config option NETDEVICES.
-
-The other way to generate the menu structure is done by analyzing the
-dependencies. If a menu entry somehow depends on the previous entry, it
-can be made a submenu of it. First, the previous (parent) symbol must
-be part of the dependency list and then one of these two conditions
-must be true:
-
-- the child entry must become invisible, if the parent is set to 'n'
-- the child entry must only be visible, if the parent is visible::
-
-    config MODULES
-	bool "Enable loadable module support"
-
-    config MODVERSIONS
-	bool "Set version information on all module symbols"
-	depends on MODULES
-
-    comment "module support disabled"
-	depends on !MODULES
-
-MODVERSIONS directly depends on MODULES, this means it's only visible if
-MODULES is different from 'n'. The comment on the other hand is only
-visible when MODULES is set to 'n'.
-
-
-Kconfig syntax
---------------
-
-The configuration file describes a series of menu entries, where every
-line starts with a keyword (except help texts). The following keywords
-end a menu entry:
-
-- config
-- menuconfig
-- choice/endchoice
-- comment
-- menu/endmenu
-- if/endif
-- source
-
-The first five also start the definition of a menu entry.
-
-config::
-
-	"config" <symbol>
-	<config options>
-
-This defines a config symbol <symbol> and accepts any of above
-attributes as options.
-
-menuconfig::
-
-	"menuconfig" <symbol>
-	<config options>
-
-This is similar to the simple config entry above, but it also gives a
-hint to front ends, that all suboptions should be displayed as a
-separate list of options. To make sure all the suboptions will really
-show up under the menuconfig entry and not outside of it, every item
-from the <config options> list must depend on the menuconfig symbol.
-In practice, this is achieved by using one of the next two constructs::
-
-  (1):
-  menuconfig M
-  if M
-      config C1
-      config C2
-  endif
-
-  (2):
-  menuconfig M
-  config C1
-      depends on M
-  config C2
-      depends on M
-
-In the following examples (3) and (4), C1 and C2 still have the M
-dependency, but will not appear under menuconfig M anymore, because
-of C0, which doesn't depend on M::
-
-  (3):
-  menuconfig M
-      config C0
-  if M
-      config C1
-      config C2
-  endif
-
-  (4):
-  menuconfig M
-  config C0
-  config C1
-      depends on M
-  config C2
-      depends on M
-
-choices::
-
-	"choice" [symbol]
-	<choice options>
-	<choice block>
-	"endchoice"
-
-This defines a choice group and accepts any of the above attributes as
-options. A choice can only be of type bool or tristate.  If no type is
-specified for a choice, its type will be determined by the type of
-the first choice element in the group or remain unknown if none of the
-choice elements have a type specified, as well.
-
-While a boolean choice only allows a single config entry to be
-selected, a tristate choice also allows any number of config entries
-to be set to 'm'. This can be used if multiple drivers for a single
-hardware exists and only a single driver can be compiled/loaded into
-the kernel, but all drivers can be compiled as modules.
-
-A choice accepts another option "optional", which allows to set the
-choice to 'n' and no entry needs to be selected.
-If no [symbol] is associated with a choice, then you can not have multiple
-definitions of that choice. If a [symbol] is associated to the choice,
-then you may define the same choice (i.e. with the same entries) in another
-place.
-
-comment::
-
-	"comment" <prompt>
-	<comment options>
-
-This defines a comment which is displayed to the user during the
-configuration process and is also echoed to the output files. The only
-possible options are dependencies.
-
-menu::
-
-	"menu" <prompt>
-	<menu options>
-	<menu block>
-	"endmenu"
-
-This defines a menu block, see "Menu structure" above for more
-information. The only possible options are dependencies and "visible"
-attributes.
-
-if::
-
-	"if" <expr>
-	<if block>
-	"endif"
-
-This defines an if block. The dependency expression <expr> is appended
-to all enclosed menu entries.
-
-source::
-
-	"source" <prompt>
-
-This reads the specified configuration file. This file is always parsed.
-
-mainmenu::
-
-	"mainmenu" <prompt>
-
-This sets the config program's title bar if the config program chooses
-to use it. It should be placed at the top of the configuration, before any
-other statement.
-
-'#' Kconfig source file comment:
-
-An unquoted '#' character anywhere in a source file line indicates
-the beginning of a source file comment.  The remainder of that line
-is a comment.
-
-
-Kconfig hints
--------------
-This is a collection of Kconfig tips, most of which aren't obvious at
-first glance and most of which have become idioms in several Kconfig
-files.
-
-Adding common features and make the usage configurable
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-It is a common idiom to implement a feature/functionality that are
-relevant for some architectures but not all.
-The recommended way to do so is to use a config variable named HAVE_*
-that is defined in a common Kconfig file and selected by the relevant
-architectures.
-An example is the generic IOMAP functionality.
-
-We would in lib/Kconfig see::
-
-  # Generic IOMAP is used to ...
-  config HAVE_GENERIC_IOMAP
-
-  config GENERIC_IOMAP
-	depends on HAVE_GENERIC_IOMAP && FOO
-
-And in lib/Makefile we would see::
-
-	obj-$(CONFIG_GENERIC_IOMAP) += iomap.o
-
-For each architecture using the generic IOMAP functionality we would see::
-
-  config X86
-	select ...
-	select HAVE_GENERIC_IOMAP
-	select ...
-
-Note: we use the existing config option and avoid creating a new
-config variable to select HAVE_GENERIC_IOMAP.
-
-Note: the use of the internal config variable HAVE_GENERIC_IOMAP, it is
-introduced to overcome the limitation of select which will force a
-config option to 'y' no matter the dependencies.
-The dependencies are moved to the symbol GENERIC_IOMAP and we avoid the
-situation where select forces a symbol equals to 'y'.
-
-Adding features that need compiler support
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-There are several features that need compiler support. The recommended way
-to describe the dependency on the compiler feature is to use "depends on"
-followed by a test macro::
-
-  config STACKPROTECTOR
-	bool "Stack Protector buffer overflow detection"
-	depends on $(cc-option,-fstack-protector)
-	...
-
-If you need to expose a compiler capability to makefiles and/or C source files,
-`CC_HAS_` is the recommended prefix for the config option::
-
-  config CC_HAS_STACKPROTECTOR_NONE
-	def_bool $(cc-option,-fno-stack-protector)
-
-Build as module only
-~~~~~~~~~~~~~~~~~~~~
-To restrict a component build to module-only, qualify its config symbol
-with "depends on m".  E.g.::
-
-  config FOO
-	depends on BAR && m
-
-limits FOO to module (=m) or disabled (=n).
-
-Kconfig recursive dependency limitations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-If you've hit the Kconfig error: "recursive dependency detected" you've run
-into a recursive dependency issue with Kconfig, a recursive dependency can be
-summarized as a circular dependency. The kconfig tools need to ensure that
-Kconfig files comply with specified configuration requirements. In order to do
-that kconfig must determine the values that are possible for all Kconfig
-symbols, this is currently not possible if there is a circular relation
-between two or more Kconfig symbols. For more details refer to the "Simple
-Kconfig recursive issue" subsection below. Kconfig does not do recursive
-dependency resolution; this has a few implications for Kconfig file writers.
-We'll first explain why this issues exists and then provide an example
-technical limitation which this brings upon Kconfig developers. Eager
-developers wishing to try to address this limitation should read the next
-subsections.
-
-Simple Kconfig recursive issue
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Read: Documentation/kbuild/Kconfig.recursion-issue-01
-
-Test with::
-
-  make KBUILD_KCONFIG=Documentation/kbuild/Kconfig.recursion-issue-01 allnoconfig
-
-Cumulative Kconfig recursive issue
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Read: Documentation/kbuild/Kconfig.recursion-issue-02
-
-Test with::
-
-  make KBUILD_KCONFIG=Documentation/kbuild/Kconfig.recursion-issue-02 allnoconfig
-
-Practical solutions to kconfig recursive issue
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Developers who run into the recursive Kconfig issue have two options
-at their disposal. We document them below and also provide a list of
-historical issues resolved through these different solutions.
-
-  a) Remove any superfluous "select FOO" or "depends on FOO"
-  b) Match dependency semantics:
-
-	b1) Swap all "select FOO" to "depends on FOO" or,
-
-	b2) Swap all "depends on FOO" to "select FOO"
-
-The resolution to a) can be tested with the sample Kconfig file
-Documentation/kbuild/Kconfig.recursion-issue-01 through the removal
-of the "select CORE" from CORE_BELL_A_ADVANCED as that is implicit already
-since CORE_BELL_A depends on CORE. At times it may not be possible to remove
-some dependency criteria, for such cases you can work with solution b).
-
-The two different resolutions for b) can be tested in the sample Kconfig file
-Documentation/kbuild/Kconfig.recursion-issue-02.
-
-Below is a list of examples of prior fixes for these types of recursive issues;
-all errors appear to involve one or more select's and one or more "depends on".
-
-============    ===================================
-commit          fix
-============    ===================================
-06b718c01208    select A -> depends on A
-c22eacfe82f9    depends on A -> depends on B
-6a91e854442c    select A -> depends on A
-118c565a8f2e    select A -> select B
-f004e5594705    select A -> depends on A
-c7861f37b4c6    depends on A -> (null)
-80c69915e5fb    select A -> (null)              (1)
-c2218e26c0d0    select A -> depends on A        (1)
-d6ae99d04e1c    select A -> depends on A
-95ca19cf8cbf    select A -> depends on A
-8f057d7bca54    depends on A -> (null)
-8f057d7bca54    depends on A -> select A
-a0701f04846e    select A -> depends on A
-0c8b92f7f259    depends on A -> (null)
-e4e9e0540928    select A -> depends on A        (2)
-7453ea886e87    depends on A > (null)           (1)
-7b1fff7e4fdf    select A -> depends on A
-86c747d2a4f0    select A -> depends on A
-d9f9ab51e55e    select A -> depends on A
-0c51a4d8abd6    depends on A -> select A        (3)
-e98062ed6dc4    select A -> depends on A        (3)
-91e5d284a7f1    select A -> (null)
-============    ===================================
-
-(1) Partial (or no) quote of error.
-(2) That seems to be the gist of that fix.
-(3) Same error.
-
-Future kconfig work
-~~~~~~~~~~~~~~~~~~~
-
-Work on kconfig is welcomed on both areas of clarifying semantics and on
-evaluating the use of a full SAT solver for it. A full SAT solver can be
-desirable to enable more complex dependency mappings and / or queries,
-for instance on possible use case for a SAT solver could be that of handling
-the current known recursive dependency issues. It is not known if this would
-address such issues but such evaluation is desirable. If support for a full SAT
-solver proves too complex or that it cannot address recursive dependency issues
-Kconfig should have at least clear and well defined semantics which also
-addresses and documents limitations or requirements such as the ones dealing
-with recursive dependencies.
-
-Further work on both of these areas is welcomed on Kconfig. We elaborate
-on both of these in the next two subsections.
-
-Semantics of Kconfig
-~~~~~~~~~~~~~~~~~~~~
-
-The use of Kconfig is broad, Linux is now only one of Kconfig's users:
-one study has completed a broad analysis of Kconfig use in 12 projects [0]_.
-Despite its widespread use, and although this document does a reasonable job
-in documenting basic Kconfig syntax a more precise definition of Kconfig
-semantics is welcomed. One project deduced Kconfig semantics through
-the use of the xconfig configurator [1]_. Work should be done to confirm if
-the deduced semantics matches our intended Kconfig design goals.
-
-Having well defined semantics can be useful for tools for practical
-evaluation of depenencies, for instance one such use known case was work to
-express in boolean abstraction of the inferred semantics of Kconfig to
-translate Kconfig logic into boolean formulas and run a SAT solver on this to
-find dead code / features (always inactive), 114 dead features were found in
-Linux using this methodology [1]_ (Section 8: Threats to validity).
-
-Confirming this could prove useful as Kconfig stands as one of the the leading
-industrial variability modeling languages [1]_ [2]_. Its study would help
-evaluate practical uses of such languages, their use was only theoretical
-and real world requirements were not well understood. As it stands though
-only reverse engineering techniques have been used to deduce semantics from
-variability modeling languages such as Kconfig [3]_.
-
-.. [0] http://www.eng.uwaterloo.ca/~shshe/kconfig_semantics.pdf
-.. [1] http://gsd.uwaterloo.ca/sites/default/files/vm-2013-berger.pdf
-.. [2] http://gsd.uwaterloo.ca/sites/default/files/ase241-berger_0.pdf
-.. [3] http://gsd.uwaterloo.ca/sites/default/files/icse2011.pdf
-
-Full SAT solver for Kconfig
-~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Although SAT solvers [4]_ haven't yet been used by Kconfig directly, as noted
-in the previous subsection, work has been done however to express in boolean
-abstraction the inferred semantics of Kconfig to translate Kconfig logic into
-boolean formulas and run a SAT solver on it [5]_. Another known related project
-is CADOS [6]_ (former VAMOS [7]_) and the tools, mainly undertaker [8]_, which
-has been introduced first with [9]_.  The basic concept of undertaker is to
-exract variability models from Kconfig, and put them together with a
-propositional formula extracted from CPP #ifdefs and build-rules into a SAT
-solver in order to find dead code, dead files, and dead symbols. If using a SAT
-solver is desirable on Kconfig one approach would be to evaluate repurposing
-such efforts somehow on Kconfig. There is enough interest from mentors of
-existing projects to not only help advise how to integrate this work upstream
-but also help maintain it long term. Interested developers should visit:
-
-http://kernelnewbies.org/KernelProjects/kconfig-sat
-
-.. [4] http://www.cs.cornell.edu/~sabhar/chapters/SATSolvers-KR-Handbook.pdf
-.. [5] http://gsd.uwaterloo.ca/sites/default/files/vm-2013-berger.pdf
-.. [6] https://cados.cs.fau.de
-.. [7] https://vamos.cs.fau.de
-.. [8] https://undertaker.cs.fau.de
-.. [9] https://www4.cs.fau.de/Publications/2011/tartler_11_eurosys.pdf
diff --git a/docs/misc/kconfig-macro-language.rst b/docs/misc/kconfig-macro-language.rst
deleted file mode 100644
index 35b3263b7e40..000000000000
--- a/docs/misc/kconfig-macro-language.rst
+++ /dev/null
@@ -1,247 +0,0 @@
-======================
-Kconfig macro language
-======================
-
-Concept
--------
-
-The basic idea was inspired by Make. When we look at Make, we notice sort of
-two languages in one. One language describes dependency graphs consisting of
-targets and prerequisites. The other is a macro language for performing textual
-substitution.
-
-There is clear distinction between the two language stages. For example, you
-can write a makefile like follows::
-
-    APP := foo
-    SRC := foo.c
-    CC := gcc
-
-    $(APP): $(SRC)
-            $(CC) -o $(APP) $(SRC)
-
-The macro language replaces the variable references with their expanded form,
-and handles as if the source file were input like follows::
-
-    foo: foo.c
-            gcc -o foo foo.c
-
-Then, Make analyzes the dependency graph and determines the targets to be
-updated.
-
-The idea is quite similar in Kconfig - it is possible to describe a Kconfig
-file like this::
-
-    CC := gcc
-
-    config CC_HAS_FOO
-            def_bool $(shell, $(srctree)/scripts/gcc-check-foo.sh $(CC))
-
-The macro language in Kconfig processes the source file into the following
-intermediate::
-
-    config CC_HAS_FOO
-            def_bool y
-
-Then, Kconfig moves onto the evaluation stage to resolve inter-symbol
-dependency as explained in kconfig-language.txt.
-
-
-Variables
----------
-
-Like in Make, a variable in Kconfig works as a macro variable.  A macro
-variable is expanded "in place" to yield a text string that may then be
-expanded further. To get the value of a variable, enclose the variable name in
-$( ). The parentheses are required even for single-letter variable names; $X is
-a syntax error. The curly brace form as in ${CC} is not supported either.
-
-There are two types of variables: simply expanded variables and recursively
-expanded variables.
-
-A simply expanded variable is defined using the := assignment operator. Its
-righthand side is expanded immediately upon reading the line from the Kconfig
-file.
-
-A recursively expanded variable is defined using the = assignment operator.
-Its righthand side is simply stored as the value of the variable without
-expanding it in any way. Instead, the expansion is performed when the variable
-is used.
-
-There is another type of assignment operator; += is used to append text to a
-variable. The righthand side of += is expanded immediately if the lefthand
-side was originally defined as a simple variable. Otherwise, its evaluation is
-deferred.
-
-The variable reference can take parameters, in the following form::
-
-  $(name,arg1,arg2,arg3)
-
-You can consider the parameterized reference as a function. (more precisely,
-"user-defined function" in contrast to "built-in function" listed below).
-
-Useful functions must be expanded when they are used since the same function is
-expanded differently if different parameters are passed. Hence, a user-defined
-function is defined using the = assignment operator. The parameters are
-referenced within the body definition with $(1), $(2), etc.
-
-In fact, recursively expanded variables and user-defined functions are the same
-internally. (In other words, "variable" is "function with zero argument".)
-When we say "variable" in a broad sense, it includes "user-defined function".
-
-
-Built-in functions
-------------------
-
-Like Make, Kconfig provides several built-in functions. Every function takes a
-particular number of arguments.
-
-In Make, every built-in function takes at least one argument. Kconfig allows
-zero argument for built-in functions, such as $(fileno), $(lineno). You could
-consider those as "built-in variable", but it is just a matter of how we call
-it after all. Let's say "built-in function" here to refer to natively supported
-functionality.
-
-Kconfig currently supports the following built-in functions.
-
- - $(shell,command)
-
-  The "shell" function accepts a single argument that is expanded and passed
-  to a subshell for execution. The standard output of the command is then read
-  and returned as the value of the function. Every newline in the output is
-  replaced with a space. Any trailing newlines are deleted. The standard error
-  is not returned, nor is any program exit status.
-
- - $(info,text)
-
-  The "info" function takes a single argument and prints it to stdout.
-  It evaluates to an empty string.
-
- - $(warning-if,condition,text)
-
-  The "warning-if" function takes two arguments. If the condition part is "y",
-  the text part is sent to stderr. The text is prefixed with the name of the
-  current Kconfig file and the current line number.
-
- - $(error-if,condition,text)
-
-  The "error-if" function is similar to "warning-if", but it terminates the
-  parsing immediately if the condition part is "y".
-
- - $(filename)
-
-  The 'filename' takes no argument, and $(filename) is expanded to the file
-  name being parsed.
-
- - $(lineno)
-
-  The 'lineno' takes no argument, and $(lineno) is expanded to the line number
-  being parsed.
-
-
-Make vs Kconfig
----------------
-
-Kconfig adopts Make-like macro language, but the function call syntax is
-slightly different.
-
-A function call in Make looks like this::
-
-  $(func-name arg1,arg2,arg3)
-
-The function name and the first argument are separated by at least one
-whitespace. Then, leading whitespaces are trimmed from the first argument,
-while whitespaces in the other arguments are kept. You need to use a kind of
-trick to start the first parameter with spaces. For example, if you want
-to make "info" function print "  hello", you can write like follows::
-
-  empty :=
-  space := $(empty) $(empty)
-  $(info $(space)$(space)hello)
-
-Kconfig uses only commas for delimiters, and keeps all whitespaces in the
-function call. Some people prefer putting a space after each comma delimiter::
-
-  $(func-name, arg1, arg2, arg3)
-
-In this case, "func-name" will receive " arg1", " arg2", " arg3". The presence
-of leading spaces may matter depending on the function. The same applies to
-Make - for example, $(subst .c, .o, $(sources)) is a typical mistake; it
-replaces ".c" with " .o".
-
-In Make, a user-defined function is referenced by using a built-in function,
-'call', like this::
-
-    $(call my-func,arg1,arg2,arg3)
-
-Kconfig invokes user-defined functions and built-in functions in the same way.
-The omission of 'call' makes the syntax shorter.
-
-In Make, some functions treat commas verbatim instead of argument separators.
-For example, $(shell echo hello, world) runs the command "echo hello, world".
-Likewise, $(info hello, world) prints "hello, world" to stdout. You could say
-this is _useful_ inconsistency.
-
-In Kconfig, for simpler implementation and grammatical consistency, commas that
-appear in the $( ) context are always delimiters. It means::
-
-  $(shell, echo hello, world)
-
-is an error because it is passing two parameters where the 'shell' function
-accepts only one. To pass commas in arguments, you can use the following trick::
-
-  comma := ,
-  $(shell, echo hello$(comma) world)
-
-
-Caveats
--------
-
-A variable (or function) cannot be expanded across tokens. So, you cannot use
-a variable as a shorthand for an expression that consists of multiple tokens.
-The following works::
-
-    RANGE_MIN := 1
-    RANGE_MAX := 3
-
-    config FOO
-            int "foo"
-            range $(RANGE_MIN) $(RANGE_MAX)
-
-But, the following does not work::
-
-    RANGES := 1 3
-
-    config FOO
-            int "foo"
-            range $(RANGES)
-
-A variable cannot be expanded to any keyword in Kconfig.  The following does
-not work::
-
-    MY_TYPE := tristate
-
-    config FOO
-            $(MY_TYPE) "foo"
-            default y
-
-Obviously from the design, $(shell command) is expanded in the textual
-substitution phase. You cannot pass symbols to the 'shell' function.
-
-The following does not work as expected::
-
-    config ENDIAN_FLAG
-            string
-            default "-mbig-endian" if CPU_BIG_ENDIAN
-            default "-mlittle-endian" if CPU_LITTLE_ENDIAN
-
-    config CC_HAS_ENDIAN_FLAG
-            def_bool $(shell $(srctree)/scripts/gcc-check-flag ENDIAN_FLAG)
-
-Instead, you can do like follows so that any function call is statically
-expanded::
-
-    config CC_HAS_ENDIAN_FLAG
-            bool
-            default $(shell $(srctree)/scripts/gcc-check-flag -mbig-endian) if CPU_BIG_ENDIAN
-            default $(shell $(srctree)/scripts/gcc-check-flag -mlittle-endian) if CPU_LITTLE_ENDIAN
diff --git a/docs/misc/kconfig.rst b/docs/misc/kconfig.rst
deleted file mode 100644
index a9a855f894b3..000000000000
--- a/docs/misc/kconfig.rst
+++ /dev/null
@@ -1,304 +0,0 @@
-===================
-Kconfig make config
-===================
-
-This file contains some assistance for using `make *config`.
-
-Use "make help" to list all of the possible configuration targets.
-
-The xconfig ('qconf'), menuconfig ('mconf'), and nconfig ('nconf')
-programs also have embedded help text.  Be sure to check that for
-navigation, search, and other general help text.
-
-General
--------
-
-New kernel releases often introduce new config symbols.  Often more
-important, new kernel releases may rename config symbols.  When
-this happens, using a previously working .config file and running
-"make oldconfig" won't necessarily produce a working new kernel
-for you, so you may find that you need to see what NEW kernel
-symbols have been introduced.
-
-To see a list of new config symbols, use::
-
-	cp user/some/old.config .config
-	make listnewconfig
-
-and the config program will list any new symbols, one per line.
-
-Alternatively, you can use the brute force method::
-
-	make oldconfig
-	scripts/diffconfig .config.old .config | less
-
-----------------------------------------------------------------------
-
-Environment variables for `*config`
-
-KCONFIG_CONFIG
---------------
-This environment variable can be used to specify a default kernel config
-file name to override the default name of ".config".
-
-KCONFIG_OVERWRITECONFIG
------------------------
-If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
-break symlinks when .config is a symlink to somewhere else.
-
-`CONFIG_`
----------
-If you set `CONFIG_` in the environment, Kconfig will prefix all symbols
-with its value when saving the configuration, instead of using the default,
-`CONFIG_`.
-
-----------------------------------------------------------------------
-
-Environment variables for '{allyes/allmod/allno/rand}config'
-
-KCONFIG_ALLCONFIG
------------------
-(partially based on lkml email from/by Rob Landley, re: miniconfig)
-
---------------------------------------------------
-
-The allyesconfig/allmodconfig/allnoconfig/randconfig variants can also
-use the environment variable KCONFIG_ALLCONFIG as a flag or a filename
-that contains config symbols that the user requires to be set to a
-specific value.  If KCONFIG_ALLCONFIG is used without a filename where
-KCONFIG_ALLCONFIG == "" or KCONFIG_ALLCONFIG == "1", `make *config`
-checks for a file named "all{yes/mod/no/def/random}.config"
-(corresponding to the `*config` command that was used) for symbol values
-that are to be forced.  If this file is not found, it checks for a
-file named "all.config" to contain forced values.
-
-This enables you to create "miniature" config (miniconfig) or custom
-config files containing just the config symbols that you are interested
-in.  Then the kernel config system generates the full .config file,
-including symbols of your miniconfig file.
-
-This 'KCONFIG_ALLCONFIG' file is a config file which contains
-(usually a subset of all) preset config symbols.  These variable
-settings are still subject to normal dependency checks.
-
-Examples::
-
-	KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig
-
-or::
-
-	KCONFIG_ALLCONFIG=mini.config make allnoconfig
-
-or::
-
-	make KCONFIG_ALLCONFIG=mini.config allnoconfig
-
-These examples will disable most options (allnoconfig) but enable or
-disable the options that are explicitly listed in the specified
-mini-config files.
-
-----------------------------------------------------------------------
-
-Environment variables for 'randconfig'
-
-KCONFIG_SEED
-------------
-You can set this to the integer value used to seed the RNG, if you want
-to somehow debug the behaviour of the kconfig parser/frontends.
-If not set, the current time will be used.
-
-KCONFIG_PROBABILITY
--------------------
-This variable can be used to skew the probabilities. This variable can
-be unset or empty, or set to three different formats:
-
-    =======================     ==================  =====================
-	KCONFIG_PROBABILITY     y:n split           y:m:n split
-    =======================     ==================  =====================
-	unset or empty          50  : 50            33  : 33  : 34
-	N                        N  : 100-N         N/2 : N/2 : 100-N
-    [1] N:M                     N+M : 100-(N+M)      N  :  M  : 100-(N+M)
-    [2] N:M:L                    N  : 100-N          M  :  L  : 100-(M+L)
-    =======================     ==================  =====================
-
-where N, M and L are integers (in base 10) in the range [0,100], and so
-that:
-
-    [1] N+M is in the range [0,100]
-
-    [2] M+L is in the range [0,100]
-
-Examples::
-
-	KCONFIG_PROBABILITY=10
-		10% of booleans will be set to 'y', 90% to 'n'
-		5% of tristates will be set to 'y', 5% to 'm', 90% to 'n'
-	KCONFIG_PROBABILITY=15:25
-		40% of booleans will be set to 'y', 60% to 'n'
-		15% of tristates will be set to 'y', 25% to 'm', 60% to 'n'
-	KCONFIG_PROBABILITY=10:15:15
-		10% of booleans will be set to 'y', 90% to 'n'
-		15% of tristates will be set to 'y', 15% to 'm', 70% to 'n'
-
-----------------------------------------------------------------------
-
-Environment variables for 'syncconfig'
-
-KCONFIG_NOSILENTUPDATE
-----------------------
-If this variable has a non-blank value, it prevents silent kernel
-config updates (requires explicit updates).
-
-KCONFIG_AUTOCONFIG
-------------------
-This environment variable can be set to specify the path & name of the
-"auto.conf" file.  Its default value is "include/config/auto.conf".
-
-KCONFIG_TRISTATE
-----------------
-This environment variable can be set to specify the path & name of the
-"tristate.conf" file.  Its default value is "include/config/tristate.conf".
-
-KCONFIG_AUTOHEADER
-------------------
-This environment variable can be set to specify the path & name of the
-"autoconf.h" (header) file.
-Its default value is "include/generated/autoconf.h".
-
-
-----------------------------------------------------------------------
-
-menuconfig
-----------
-
-SEARCHING for CONFIG symbols
-
-Searching in menuconfig:
-
-	The Search function searches for kernel configuration symbol
-	names, so you have to know something close to what you are
-	looking for.
-
-	Example::
-
-		/hotplug
-		This lists all config symbols that contain "hotplug",
-		e.g., HOTPLUG_CPU, MEMORY_HOTPLUG.
-
-	For search help, enter / followed by TAB-TAB (to highlight
-	<Help>) and Enter.  This will tell you that you can also use
-	regular expressions (regexes) in the search string, so if you
-	are not interested in MEMORY_HOTPLUG, you could try::
-
-		/^hotplug
-
-	When searching, symbols are sorted thus:
-
-	  - first, exact matches, sorted alphabetically (an exact match
-	    is when the search matches the complete symbol name);
-	  - then, other matches, sorted alphabetically.
-
-	For example: ^ATH.K matches:
-
-	    ATH5K ATH9K ATH5K_AHB ATH5K_DEBUG [...] ATH6KL ATH6KL_DEBUG
-	    [...] ATH9K_AHB ATH9K_BTCOEX_SUPPORT ATH9K_COMMON [...]
-
-	of which only ATH5K and ATH9K match exactly and so are sorted
-	first (and in alphabetical order), then come all other symbols,
-	sorted in alphabetical order.
-
-----------------------------------------------------------------------
-
-User interface options for 'menuconfig'
-
-MENUCONFIG_COLOR
-----------------
-It is possible to select different color themes using the variable
-MENUCONFIG_COLOR.  To select a theme use::
-
-	make MENUCONFIG_COLOR=<theme> menuconfig
-
-Available themes are::
-
-  - mono       => selects colors suitable for monochrome displays
-  - blackbg    => selects a color scheme with black background
-  - classic    => theme with blue background. The classic look
-  - bluetitle  => a LCD friendly version of classic. (default)
-
-MENUCONFIG_MODE
----------------
-This mode shows all sub-menus in one large tree.
-
-Example::
-
-	make MENUCONFIG_MODE=single_menu menuconfig
-
-----------------------------------------------------------------------
-
-nconfig
--------
-
-nconfig is an alternate text-based configurator.  It lists function
-keys across the bottom of the terminal (window) that execute commands.
-You can also just use the corresponding numeric key to execute the
-commands unless you are in a data entry window.  E.g., instead of F6
-for Save, you can just press 6.
-
-Use F1 for Global help or F3 for the Short help menu.
-
-Searching in nconfig:
-
-	You can search either in the menu entry "prompt" strings
-	or in the configuration symbols.
-
-	Use / to begin a search through the menu entries.  This does
-	not support regular expressions.  Use <Down> or <Up> for
-	Next hit and Previous hit, respectively.  Use <Esc> to
-	terminate the search mode.
-
-	F8 (SymSearch) searches the configuration symbols for the
-	given string or regular expression (regex).
-
-NCONFIG_MODE
-------------
-This mode shows all sub-menus in one large tree.
-
-Example::
-
-	make NCONFIG_MODE=single_menu nconfig
-
-----------------------------------------------------------------------
-
-xconfig
--------
-
-Searching in xconfig:
-
-	The Search function searches for kernel configuration symbol
-	names, so you have to know something close to what you are
-	looking for.
-
-	Example::
-
-		Ctrl-F hotplug
-
-	or::
-
-		Menu: File, Search, hotplug
-
-	lists all config symbol entries that contain "hotplug" in
-	the symbol name.  In this Search dialog, you may change the
-	config setting for any of the entries that are not grayed out.
-	You can also enter a different search string without having
-	to return to the main menu.
-
-
-----------------------------------------------------------------------
-
-gconfig
--------
-
-Searching in gconfig:
-
-	There is no search command in gconfig.  However, gconfig does
-	have several different viewing choices, modes, and options.

base-commit: bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
prerequisite-patch-id: 65087f848e44cfae78c8d15c68443b09d74c8368
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 08 15:27:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 15:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629316.981429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0kSx-0001Wp-IE; Wed, 08 Nov 2023 15:27:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629316.981429; Wed, 08 Nov 2023 15:27: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 1r0kSx-0001Wi-FW; Wed, 08 Nov 2023 15:27:39 +0000
Received: by outflank-mailman (input) for mailman id 629316;
 Wed, 08 Nov 2023 15:27: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=L2E1=GV=citrix.com=prvs=669c226bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r0kSw-0001Wb-6s
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 15:27: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 56a7e1cb-7e4b-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 16:27:35 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56a7e1cb-7e4b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1699457255;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=8dmZtFiM4DRSISiQmMaAqoLtKPz3F8xUc92N3jcjP6A=;
  b=VzJQ90VLrkf+LLJ6Z7+yYNqRUeyZsNQHDxYcYDj6SqTGMI0p3Mp009m6
   jSdJusIqrOPsfdnebpzVOjkmOUaBkkcV/Rzj0QdEFcwJvP04At6bR0ePV
   05lve53ADBQODGUmGQn2v+mpLGDfVjBgF1lFeAcQCJ8Mdk10CUXxUkH6I
   Y=;
X-CSE-ConnectionGUID: icGm5HtAQNqgbhgNrzLpjw==
X-CSE-MsgGUID: Z6hDHVI0RA2G39vjpeSQUA==
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127913160
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:vcuShKpwMsuHXMdqvIl+FCh1LLFeBmKMZRIvgKrLsJaIsI4StFCzt
 garIBnQaP+NN2LwKtAibI3n8E0A7JSHy4U1GVZq/ykzFyhD8puZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbOCYmYpA1Y8FE/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04GhwUmAWP6gR5waHzylNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADEGQRXep/6f+ZSiReNsieI5Pu3zPpxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSaxFIUPrSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/
 ziZrj2iW09CXDCZ4Qjb8l6MuM6Xpwqhd9lDCr+g+8VTvXTGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQOr9QqTDYn0
 luImdLBBjF1trCRD3WH+d+8sjeaKSUTa2gYakcsTxYB4tTliJE+iFTIVNkLOKW1lNzuBTbow
 z2Q6iM6jq8QpdUX3r+/9FqBgjXEjpTRVQs0+gX/V3qo9B9kf5WiY5G06F/d9rBLK4PxZl2ct
 3FClcGY5+0KCYylnTaIBu4KGdmBx/uDKiyavldpELEo7THr8HmmFb28+xkneh0vaJxdP2a0M
 QmM4Wu9+aO/IlOrZoByPqKtIv0M1KfqFdvDTOLwdthRN80ZmBC8wM1+WaKB9zmzwRlwyPxnZ
 cbzndWEVyhAVfo9pNaib6JNieV1m3pWKXb7HMijl3yaPayiiGl5oFvvGHCJdOk9pJicugTT/
 M032yCikE4HD7SWjsU66+cuwbE2wZsTX8ueRzR/LLLrH+afMDhJ5wXt6b0gYZd5uK9ei/3F+
 HqwMmcBlguu3i2dcVXVNyo8AF8KYXqYhStkVRHAwH7xhiN9CWpRxPx3m2QLkUkPq7U4kK8co
 wgtcMScGPVfIgkrCBxEBaQRWLdKLUzx7SrXZnrNXdTKV8I4L+A/0oO+L1SHGehnJnbfiPbSV
 JX5jFyCH8NdGFk5ZCsUAdr2p26MUbEmsLoadyP1zhN7Iy0ALKACx/TNs8IK
IronPort-HdrOrdr: A9a23:M0IPCq01diR+qLikM5kLGQqjBL4kLtp133Aq2lEZdPRUGvb3qy
 nIpoV+6faUskd2ZJhOo7C90cW7LU80lqQFhLX5X43SPzUO0VHAROoJgLcKqweQfBEWndQ96U
 4PScdD4aXLfDpHsfo=
X-Talos-CUID: =?us-ascii?q?9a23=3Aoamj3WjZzR66MDBQXIBZ3efD2DJuc3byySrwP2a?=
 =?us-ascii?q?BL39mQr2ab0WC3LtmjJ87?=
X-Talos-MUID: =?us-ascii?q?9a23=3ANbBkdA2ZSyBRsvNV6cMa29eR6DUj0fquJGAzsM0?=
 =?us-ascii?q?8kpOrbn1uOS+Qtw2Ka9py?=
X-IronPort-AV: E=Sophos;i="6.03,286,1694750400"; 
   d="scan'208";a="127913160"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>, Christopher Clark <christopher.clark@starlab.io>, "Daniel P
 . Smith" <dpsmith@apertussolutions.com>, Luca Fancellu
	<luca.fancellu@arm.com>, Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH for-4.18 0/3] docs/sphinx: Fix syntax errors and warnings
Date: Wed, 8 Nov 2023 15:27:24 +0000
Message-ID: <20231108152727.58764-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

Given the two mandatory 4.18 fixes, this is the remainder of the work I have
been threatening to do for a while.  Preferrably for 4.18 too, seeing as this
gets our Sphinx docs into better shape.

I still want to make sphinx problems fatal in gitlab, but that will have to
wait for now.

Andrew Cooper (3):
  docs/sphinx: Fix syntax issues in hyperlaunch.rst
  docs/sphinx: Fix syntax issues in exclude-list.rst
  docs/sphinx: Fix indexing

 docs/designs/launch/hyperlaunch.rst | 19 +++++++++++--------
 docs/index.rst                      | 13 +++++++------
 docs/misra/exclude-list.rst         |  3 ++-
 docs/misra/index.rst                | 18 ++++++++++++++++++
 4 files changed, 38 insertions(+), 15 deletions(-)
 create mode 100644 docs/misra/index.rst

-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 08 15:27:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 15:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629317.981439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0kT5-0001mo-PE; Wed, 08 Nov 2023 15:27:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629317.981439; Wed, 08 Nov 2023 15: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 1r0kT5-0001mh-MS; Wed, 08 Nov 2023 15:27:47 +0000
Received: by outflank-mailman (input) for mailman id 629317;
 Wed, 08 Nov 2023 15:27: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=L2E1=GV=citrix.com=prvs=669c226bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r0kT3-0001ly-RU
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 15:27: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 5c0726d3-7e4b-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 16:27:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c0726d3-7e4b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1699457264;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=4qvYJ95Qmj7vNymP0W4t0jy4zi1qzcW9Flfs/fZR3q8=;
  b=iQJel6izEMc7k9p8Bo8ISf+JVvjxzxXiLkN/HhgbrpLv9a31u9/Zdodj
   DfqdY+r949jeJm+HBwAdCHoOgT8Ew1r/IrT8bbzrzI/ql5IW3KE2mmMxK
   rfIqSTydTqz2pAgDiPYgjy2xSMHspYjg4fl0OiD5BuhIw9mhuSJQ2Kflp
   o=;
X-CSE-ConnectionGUID: rtGzRFCOSGaJJVEY25MWVw==
X-CSE-MsgGUID: qPYDbZIdQjeEc228BsiRDw==
Authentication-Results: esa4.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 130706603
X-Ironport-Server: esa4.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:QpM02643ssFRzzl6B0WWTgxRtMfHchMFZxGqfqrLsTDasY5as4F+v
 jZKUTuPPa7eZWLzfYt/Poi29UxSvZGDnNVqTgNori1mHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRG/ykTraCY3gtLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU355wehBtC5gZlPKkT7AeH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m7
 +A3OgojRTe4qOuU4oyWe7Mxo/sdM5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmRJUIXUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0MxR7H/
 jyYpz+R7hcyLeSu5TC3036VhOLilnmhCKgJFYeU6as/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c/h6HvA+6QqN4rHJ+AvfDW8BJhZac8AvvsIyQT0s1
 3eKksnvCDgpt6eaIVqC8p+EoDX0PjIaRUcAeCsFQA0t89Tl5oYpgXrnRdZ5EbWpicX1FCu2y
 DSDtisWnKkal8oC3eO6+jjvjyq3o5nVTiY8/gjNQn++9QR9eZKkYIqzr1Pc6J5oDIufVEjHg
 3EClOCX9uVIBpaI/BFhW81UQuvvvazcdmSB0BgwR/HN6ghB5Va5Ya9C2h9VA3xGO+QmRxLYO
 hL2hj1Osco70GSRUUNnX26gI510nPm8TIm9CqG8gslmOMYrKFHdlM16TQvAhzqzzRJEfbQXY
 M/DKa6R4WAm5bOLJdZcb8way7Yvjhsm32LVSouTI/+PiuHGOyf9pVvoKjKzggEFAECs+l69H
 y53bZfi9vmmeLSWjtPr2YASN0sWCnMwGIr7rcdaHsbafFs3QzF7U6+OnOl+E2CAo0iyvr6Xl
 kxRp2cBlQGh7ZE5AV7iho9fhEPHAs8k8CNT0d0ENle0wXkzCbtDH49GH6bbiYIPrbQ5pdYtF
 qltRil1KqgXItgx02hHPMaVQU0LXEjDuD9iyAL8OmdmIcc+GFGSkjImFyO2nBQz4uOMnZNWi
 9WdOsnzG/LvmywK4B7qVc+S
IronPort-HdrOrdr: A9a23:/7Th4Kish5tsMpDT1NSgRJPAZnBQX8d23DAbv31ZSRFFG/FwyP
 rDoB1L73LJYWgqMk3IwerwQZVoMkmsjaKdgLNhdItKOTOM11dAQ7sSiLcKrwePJ8S6zJ866U
 4CSdk3NDSTNykfsS+S2mDRLz9j+qjhzEnBv5ab854Hd2FXgtRbnmVE43GgYy5LrWd9ZKYRJd
 653I5qtjCgcXMYYoCSAWQEZfHKo5nmhY/rehkPAj8g8U2rgSmz4LD3PhCE1lNGOgk/i4sKwC
 zgqUjU96+ju/a0xlv10HLS1Y1fnJ/M28ZOH8uFj+kSM3HJhhyzbIpsdrWetHQeof2p6nwtjN
 7Qyi1QdPhb2jf0RCWYsBHt0w7v3HIF8Hn502KVhnPlvIjQWC86I9Apv/MVTjLpr24b+P1s2q
 NC2GyU87BNCwnboSj779/UEzl3i0uPp2Y4m+J7tQ0SbWJeUs4fkWUsxjIVLH4yJlO71GnhKp
 gsMCjo3ocZTbpdVQGagoAg+q3oYp15JGb8fqFLgL3u79EepgEE86MVqfZv40so5dYzTYJJ6P
 /DNbktnLZSTtUOZaY4H+sZR9CrY1a9NS4kHVjiU2gPLpt3Tk7lutry+vE49euqcJsHwN87n4
 nASkpRsSo3d1j1AcOD0ZVX+lSVKV/NKwjF24Vb/dx0q7f8TL3kPWmKT00vidKpp7EaDtfAU/
 i+NZpKC7voLHfoG4xOwwriMqMiXkU2QYkQoJI2SliOqsXEJsnjsfHaau/aIP73HTMtSgrEcw
 g+tfjIVbV9B2yQKw7FaULqKgzQk2TEjOxNLJQ=
X-Talos-CUID: 9a23:WVNEam8tKQf6y1QXAgyVv1QINdIfXFb691jZAW2GJFczFZiqd0DFrQ==
X-Talos-MUID: 9a23:NAZt/gomQvvQj1OOvUcezyhaBeti0YWiMUIAvJ5c4ZmuLi1KFyjI2Q==
X-IronPort-AV: E=Sophos;i="6.03,286,1694750400"; 
   d="scan'208";a="130706603"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>, Christopher Clark <christopher.clark@starlab.io>, "Daniel P
 . Smith" <dpsmith@apertussolutions.com>, Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH for-4.18 1/3] docs/sphinx: Fix syntax issues in hyperlaunch.rst
Date: Wed, 8 Nov 2023 15:27:25 +0000
Message-ID: <20231108152727.58764-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231108152727.58764-1-andrew.cooper3@citrix.com>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

sphinx-build reports:

  docs/designs/launch/hyperlaunch.rst:111: WARNING: Title underline too short.
  docs/designs/launch/hyperlaunch.rst:203: WARNING: Unexpected indentation.
  docs/designs/launch/hyperlaunch.rst:216: WARNING: Unexpected indentation.

Nested lists require newlines as delimiters.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Christopher Clark <christopher.clark@starlab.io>
CC: Daniel P. Smith <dpsmith@apertussolutions.com>
CC: Henry Wang <Henry.Wang@arm.com>
---
 docs/designs/launch/hyperlaunch.rst | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/docs/designs/launch/hyperlaunch.rst b/docs/designs/launch/hyperlaunch.rst
index 4c138da884cc..3bed36f97637 100644
--- a/docs/designs/launch/hyperlaunch.rst
+++ b/docs/designs/launch/hyperlaunch.rst
@@ -108,7 +108,7 @@ both modes of configuration from the same binary and when paired with its XSM
 flask, provides strong controls that enable fine grained system partitioning.
 
 Hypervisor Launch Landscape
----------
+---------------------------
 
 This comparison table presents the distinctive capabilities of Hyperlaunch with
 reference to existing launch configurations currently available in Xen and
@@ -200,11 +200,13 @@ The benefits of this structure include:
   domains.
 * Commonality: Reuses the same logic for initial basic domain building across
   diverse Xen deployments.
-	* It aligns the x86 initial domain construction with the existing Arm
-	  dom0less feature for construction of multiple domains at boot.
-	* The boot domain implementation may vary significantly with different
-	  deployment use cases, whereas the hypervisor implementation is
-	  common.
+
+  * It aligns the x86 initial domain construction with the existing Arm
+    dom0less feature for construction of multiple domains at boot.
+
+  * The boot domain implementation may vary significantly with different
+    deployment use cases, whereas the hypervisor implementation is common.
+
 * Correctness: Increases confidence in the implementation of domain
   construction, since it is performed by the hypervisor in well maintained and
   centrally tested logic.
@@ -213,8 +215,9 @@ The benefits of this structure include:
 * Capability: Supports launch of advanced configurations where a sequenced
   start of multiple domains is required, or multiple domains are involved in
   startup of the running system configuration
-	* eg. for PCI passthrough on systems where the toolstack runs in a
-	  separate domain to the hardware management.
+
+  * eg. for PCI passthrough on systems where the toolstack runs in a separate
+    domain to the hardware management.
 
 Please, see the ‘Hyperlaunch Device Tree’ design document, which describes the
 configuration module that is provided to the hypervisor by the bootloader.
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 08 15:27:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 15:27:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629318.981449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0kT7-000227-1k; Wed, 08 Nov 2023 15:27:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629318.981449; Wed, 08 Nov 2023 15:27: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 1r0kT6-00021u-V4; Wed, 08 Nov 2023 15:27:48 +0000
Received: by outflank-mailman (input) for mailman id 629318;
 Wed, 08 Nov 2023 15:27: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=L2E1=GV=citrix.com=prvs=669c226bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r0kT5-0001ly-Rz
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 15:27:47 +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 5ddab65b-7e4b-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 16:27:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ddab65b-7e4b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1699457267;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=U47fe4dzuabd1XFgAOtn7u1DE8NYVen41zChGJGziKI=;
  b=PBzF73DXN34vnYPjlJOfF/Ze+Sn5Gt+L75REOpo9XIxFDNwtisMI6eqY
   Xn8qF1yoaVbxiUnKPXj20c/KQi3+H5jVT7hWCJD7y3ljQpBu3cKhkxsKH
   Gvl2SUUctACm1NDG3Bcuw4ziefjYy2cM12nUNcSsgwTzAlw53pzIlClxk
   4=;
X-CSE-ConnectionGUID: O7ec57rRToercaUqjXa8Kg==
X-CSE-MsgGUID: 0iuvoY++SsqqxftDbraSTQ==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127132502
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:ZEL4CaIDtQYfU0cLFE+R6pUlxSXFcZb7ZxGr2PjKsXjdYENS1TJUy
 DMWCjiBOqqIMGametB2bt7k8EkOuZXRnN9kGgtlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAhk/nOHvylULKs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrYwP9TlK6q4mhB5wRuPakjUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5QXmxFq
 KMCEgwKYwqIjt+vwoKyGspj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGspM0yojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXQGpwOxBvA/
 Aoq+UyhAwwEM+3cigGe62u8iPPjlznyY74rQejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasnDQRRt5RGO0S8xyWx+zf5APxLnMfUjdLZdgitck3bT8nz
 FmEm5XuHzMHmKKRYWKQ8PGTtzzaESoIKW4PYwcUQA1D5MPsyKkTgxTVX5BcGai6ptTvHHf7x
 DXikcQlr+xN14hRjfz9pA2WxW30znTUcuIrziKIU2n4sRlDWImofYeh1EHZ3f8QD4nMGzFto
 0M4d9iiAPEmVM/cxXDUHb1RTdlF9N7fbmeA3wQH840JsmT1oSD+J+i89RknfB8xWvvobwMFd
 6M6Vel5z5hJNX/iVrdtYoS+EKzGJoC7Toy6D5g4gjdUC6WdlTNrHwk0PiZ8J0i3zCARfVgXY
 P93i/qEA3cAErhAxzGrXeob2rJD7nlglDKIFcqjn0v6i+X2iJuppVAtaQTmUwzExPrZ+1u9H
 yh3bKNmNCmzoMWhO3KKoOb/3HgBLGQhBICeliCkXrfrH+aSI0l4U6W56ep4K+RYc1F9yr+gE
 oeVBhUJlzISRBTvdW23V5yUQOq1As8h9CxkYHdE0JTB8yFLXLtDJZw3L/MfFYTLPsQ5pRKoZ
 5Hpo/m9P8k=
IronPort-HdrOrdr: A9a23:CS1+y6jqBP8XyE0BVh+KQrXs53BQX8d23DAbv31ZSRFFG/FwyP
 rDoB1L73LJYWgqMk3IwerwQZVoMkmsjaKdgLNhdItKOTOM11dAQ7sSiLcKrwePJ8S6zJ866U
 4CSdk3NDSTNykfsS+S2mDRLz9j+qjhzEnBv5ab854Hd2FXgtRbnmVE43GgYy5LrWd9ZKYRJd
 653I5qtjCgcXMYYoCSAWQEZfHKo5nmhY/rehkPAj8g8U2rgSmz4LD3PhCE1lNGOgk/i4sKwC
 zgqUjU96+ju/a0xlv10HLS1Y1fnJ/M28ZOH8uFj+kSM3HJhhyzbIpsdrWetHQeof2p6nwtjN
 7Qyi1QdPhb2jf0RCWYsBHt0w7v3HIF8Hn502KVhnPlvIjQWC86I9Apv/MVTjLpr24b+P1s2q
 NC2GyU87BNCwnboSj779/UEzl3i0uPp2Y4m+J7tQ0SbWJeUs4fkWUsxjIVLH4yJlO71GnhKp
 gsMCjo3ocZTbpdVQGagoAg+q3oYp15JGb8fqFLgL3u79EepgEE86MVqfZv40so5dYzTYJJ6P
 /DNbktnLZSTtUOZaY4H+sZR9CrY1a9NS4kHVjiU2gPLpt3Tk7lutry+vE49euqcJsHwN87n4
 nASkpRsSo3d1j1AcOD0ZVX+lSVKV/NKwjF24Vb/dx0q7f8TL3kPWmKT00vidKpp7EaDtfAU/
 i+NZpKC7voLHfoG4xOwwriMqMiXkU2QYkQoJI2SliOqsXEJsnjsfHaau/aIP73HTMtSgrEcw
 g+tfjIVbV9B2yQKw7FaULqKgzQk2TEjOxNLJQ=
X-Talos-CUID: =?us-ascii?q?9a23=3AH/swPmk5vMOlI+OWDsMy0bAl2WTXOVqCwXyNfFW?=
 =?us-ascii?q?CNWFkUracdEaSyKo0sMU7zg=3D=3D?=
X-Talos-MUID: 9a23:8voECgWPTi9aDWfq/GftmS9lBYQr2L+3EVADjbkMocC/CRUlbg==
X-IronPort-AV: E=Sophos;i="6.03,286,1694750400"; 
   d="scan'208";a="127132502"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>, Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH for-4.18 3/3] docs/sphinx: Fix indexing
Date: Wed, 8 Nov 2023 15:27:27 +0000
Message-ID: <20231108152727.58764-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231108152727.58764-1-andrew.cooper3@citrix.com>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

sphinx-build reports:

  docs/designs/launch/hyperlaunch.rst: WARNING: document isn't included in any toctree
  docs/designs/launch/hyperlaunch-devicetree.rst: WARNING: document isn't included in any toctree
  docs/misc/xen-makefiles/makefiles.rst: WARNING: document isn't included in any toctree
  docs/misra/C-language-toolchain.rst: WARNING: document isn't included in any toctree
  docs/misra/C-runtime-failures.rst: WARNING: document isn't included in any toctree
  docs/misra/documenting-violations.rst: WARNING: document isn't included in any toctree
  docs/misra/exclude-list.rst: WARNING: document isn't included in any toctree
  docs/misra/xen-static-analysis.rst: WARNING: document isn't included in any toctree

Create an up-to-date index.rst in misra/ create an "unsorted docs" section at
the top level to contain everything else.  They can be re-filed at a later
date.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Henry Wang <Henry.Wang@arm.com>
---
 docs/index.rst       | 13 +++++++------
 docs/misra/index.rst | 18 ++++++++++++++++++
 2 files changed, 25 insertions(+), 6 deletions(-)
 create mode 100644 docs/misra/index.rst

diff --git a/docs/index.rst b/docs/index.rst
index f3f779f89ce5..22fdde80590c 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -53,17 +53,18 @@ kind of development environment.
    hypervisor-guide/index
 
 
-MISRA C coding guidelines
--------------------------
+Unsorted documents
+------------------
 
-MISRA C rules and directive to be used as coding guidelines when writing
-Xen hypervisor code.
+Documents in need of some rearranging.
 
 .. toctree::
    :maxdepth: 2
 
-   misra/rules
-   misra/deviations
+   designs/launch/hyperlaunch
+   designs/launch/hyperlaunch-devicetree
+   misc/xen-makefiles/makefiles
+   misra/index
 
 
 Miscellanea
diff --git a/docs/misra/index.rst b/docs/misra/index.rst
new file mode 100644
index 000000000000..c59730c46d88
--- /dev/null
+++ b/docs/misra/index.rst
@@ -0,0 +1,18 @@
+.. SPDX-License-Identifier: CC-BY-4.0
+
+MISRA C coding guidelines
+=========================
+
+MISRA C rules and directive to be used as coding guidelines when writing
+Xen hypervisor code.
+
+.. toctree::
+   :maxdepth: 2
+
+   rules
+   deviations
+   C-language-toolchain
+   C-runtime-failures
+   documenting-violations
+   exclude-list
+   xen-static-analysis
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 08 15:27:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 15:27:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629319.981459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0kT8-0002Hj-AY; Wed, 08 Nov 2023 15:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629319.981459; Wed, 08 Nov 2023 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 1r0kT8-0002HY-5y; Wed, 08 Nov 2023 15:27:50 +0000
Received: by outflank-mailman (input) for mailman id 629319;
 Wed, 08 Nov 2023 15: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=L2E1=GV=citrix.com=prvs=669c226bb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r0kT6-0001ly-Ug
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 15:27:48 +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 5f24f926-7e4b-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 16:27:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f24f926-7e4b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1699457268;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=7iglAxJ1pea3nVzftE4nEQ94KmXbS9vQNc+FWozJ1fM=;
  b=QryPlWhFEyCwmMwpQp1maqXmOPz1m6aZ1lAC+iWWq5faeo0B05OgjhIo
   pzhuxYfqagMYvg6kWT1Di4e6Une2yEfKGwr00Hk7h+GWt6bcSGk8xyoiI
   1p7TfbQSwpHEYRPRUJvMOJGnZInXznZ8leksAWBR3mHgj3tZv5NOCCYEP
   0=;
X-CSE-ConnectionGUID: O7ec57rRToercaUqjXa8Kg==
X-CSE-MsgGUID: 9bHeHTWHR0mgSc+U9LIEXQ==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127132505
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:kFSvdKCehBEF9BVW//njw5YqxClBgxIJ4kV8jS/XYbTApDpw3mdVy
 TYaXWyHOPyMYTH1eIh/bYi08UJTsJKDz94yQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48D8kk/nOH+KgYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMsMpvlDs15K6p4WpA7gRnDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIw3bl6CjwR7
 8YkLz0XZRm+nuCGyeKYRbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdIL2U3BPjDS0Qn1lM/IZQyhuq3wFL4dCVVsgm9rqsr+WnDigd21dABNfKMIIPTHp8IxhvwS
 mTurm7ZDzEmC/ylkT+KyXnvu77rvA7LYddHfFG/3qEz2wDCroAJMzUGWF3+rfSnh0qWX9NEN
 1dS6icotbI19kGgUp/6RRLQiFyuswMYWtFQO/Yn8wzLwa3Riy6CHXQNRDNFbN0gtec1SCYs2
 1vPmMnmbRRwtJWFRHTb8a2bxRuwJCwUIGkqdSICCwwf7LHLpJw4h1TBR9BoHaqxk/X8AzS2y
 DePxAAeirMJnIg03qO01VndhnSnoZ2hc+IuzlyJBCT/tFo/PdP0IdPwgbTG0RpeBKHGQ1Lc4
 2I+p8+T9usHMIiPpCXdY+pYSdlF+M253C3gbU9HRsdwpmj0pib/LOi88xkkeh01bJxslSvBJ
 R+L410Mvve/KVPzNfcvC79dHfjG2kQJ+T7NfffOZ94GWYBrdQmI50mCjmbLhDiyySDAfUwlU
 Kp3kPpA7l5AUsyLNBLsG48gPUYDn0jSP1/7S5Hh1AiA2rGDfnOTQrptGALQP7FivPnc8FqIq
 Yk32y62J/J3CbKWX8Uq2ddOdg5iwYYTXvgaVPC7hsbce1E7SQnN+tfawK87epwNokimvr6gw
 51JYWcBkACXrSSeeW23hoVLNOuHsWBX8ShqYkTB/D+AhxAeXGpYxP5FKMJpJOd4qbcLIDwdZ
 6BtRvhsy89nElzvkwnxp7GkxGC+XHxHXT6zAhc=
IronPort-HdrOrdr: A9a23:WUTDb6yfMZu241kcLPcgKrPxMegkLtp133Aq2lEZdPULSKClfp
 GV8cjziyWftN9IYgBYpTnyAtj5fZq8z+893WB1B9zMYOCIghrMEGgP1+XfKnjbakvDH41mpO
 9dmspFebnN5DFB5K7HCUuDYrEdKbG8geSVbIzlr0uFODsaCZ2ImD0JaTpzfHcWeCB2Qb4CUL
 aM7MtOoDStPVwRc8SAH3EAG8TTutHRk5riQBgeQzoq8hOHgz+E4KPzV0Hw5GZVbxp/hZMZtU
 TVmQ3w4auu99m91x/nzmfWq7hGhdf7zdNHJcqUzuwYMC/lhAqEbJloH5eCoDc2iuey70tCqq
 iGnz4Qe+BIr1/BdGC8phXgnyP61iw11nPkwViExVP+vM3QXlsBeod8rLMcViGcx1srvdl63q
 4O9XmerYBrARTJmzm4z8TUVittilG/rRMZ4KIuZj1kIMQjgY1q3M0iFXBuYdc99eXBmcMa+d
 xVfY/hDTBtABGnhj7izyxSKZeXLw8O91+9MzI/U4WuokRrdHwV9Tpk+OUP2ngH754zUJ9C+q
 DNNblpjqhHSosMYbt6H/ppe7rCNoXhe2O/DIupGyWTKIgXf3bW75Ln6rQ84++nPJQO0ZspgZ
 zEFFdVr3Q7dU7iAdCHmMQjyGG6fEytGTD2js1O7ZlwvbPxALLtLC2YUVgr18+tue8WDMHXU+
 u6fJhWH/jgJ23zHpsh5XyIZ7BCbX0FFMEFsNcyXFyD5srNN43xr+TeNO3eIbL8eAxUKV8Xwk
 FzLAQbCP8wn3xDAEWI/yQ5c0mdBHDCwQ==
X-Talos-CUID: 9a23:RaCBO2zecgIcOofy5hP6BgUzRc0uLyLH9kvXLlWzAFtwSo2cGXyfrfY=
X-Talos-MUID: 9a23:2cHz8wVF31nbc/Hq/G7mpDxCCPhI2fyrB3sG0qhXn+ipBRUlbg==
X-IronPort-AV: E=Sophos;i="6.03,286,1694750400"; 
   d="scan'208";a="127132505"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>, Luca Fancellu <luca.fancellu@arm.com>, Henry Wang
	<Henry.Wang@arm.com>
Subject: [PATCH for-4.18 2/3] docs/sphinx: Fix syntax issues in exclude-list.rst
Date: Wed, 8 Nov 2023 15:27:26 +0000
Message-ID: <20231108152727.58764-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231108152727.58764-1-andrew.cooper3@citrix.com>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

sphinx-build reports:

  docs/misra/exclude-list.rst:47: WARNING: Unexpected indentation.
  docs/misra/exclude-list.rst:50: WARNING: Inline emphasis start-string without end-string.

Nested lists require newlines as delimiters, and * either needs escaping, or
put in a literal block.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Luca Fancellu <luca.fancellu@arm.com>
CC: Henry Wang <Henry.Wang@arm.com>
---
 docs/misra/exclude-list.rst | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/docs/misra/exclude-list.rst b/docs/misra/exclude-list.rst
index 42dbceb82523..a63b128c3d27 100644
--- a/docs/misra/exclude-list.rst
+++ b/docs/misra/exclude-list.rst
@@ -44,10 +44,11 @@ Here is an explanation of the fields inside an object of the "content" array:
    their results. This field is optional and when not specified, it means every
    checker will use that entry.
    Current implemented values for this field are:
+
     - xen-analysis: the xen-analysis.py script exclude this entry for both MISRA
       and static analysis scan. (Implemented only for Cppcheck tool)
 
 To ease the review and the modifications of the entries, they shall be listed in
 alphabetical order referring to the rel_path field.
-Excluded folder paths shall end with '/*' in order to match everything on that
+Excluded folder paths shall end with ``/*`` in order to match everything on that
 folder.
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 08 15:31:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 15:31:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629328.981468 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0kWB-0004Y8-OR; Wed, 08 Nov 2023 15:30:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629328.981468; Wed, 08 Nov 2023 15:30: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 1r0kWB-0004Y1-LZ; Wed, 08 Nov 2023 15:30:59 +0000
Received: by outflank-mailman (input) for mailman id 629328;
 Wed, 08 Nov 2023 15:30: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=SfAH=GV=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r0kW9-0004Xd-Pr
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 15:30:57 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7d00::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ceca618d-7e4b-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 16:30:55 +0100 (CET)
Received: from DUZPR01CA0183.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b3::21) by DB4PR08MB8005.eurprd08.prod.outlook.com
 (2603:10a6:10:38f::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Wed, 8 Nov
 2023 15:30:52 +0000
Received: from DB5PEPF00014B8B.eurprd02.prod.outlook.com
 (2603:10a6:10:4b3:cafe::dd) by DUZPR01CA0183.outlook.office365.com
 (2603:10a6:10:4b3::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29 via Frontend
 Transport; Wed, 8 Nov 2023 15:30:52 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B8B.mail.protection.outlook.com (10.167.8.199) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Wed, 8 Nov 2023 15:30:52 +0000
Received: ("Tessian outbound 26ee1d40577c:v228");
 Wed, 08 Nov 2023 15:30:52 +0000
Received: from 5bc8f35369d4.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EDCFE0C5-A4C5-49F8-95F5-2C0F2BB0B66F.1; 
 Wed, 08 Nov 2023 15:30:42 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 5bc8f35369d4.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 08 Nov 2023 15:30:42 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM9PR08MB5891.eurprd08.prod.outlook.com (2603:10a6:20b:2da::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Wed, 8 Nov
 2023 15:30:39 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866%3]) with mapi id 15.20.6954.028; Wed, 8 Nov 2023
 15:30: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: ceca618d-7e4b-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=jxiRBWIaLh1i3BmkaHr5NSiL0YzcnGzYA5JdZcli1e4I5ot/ik6Z5NpGFuSXL/xW/gpbWEC1OGLE4QkC11JsJLjcppZfzDkDFa5UJIU5xVA1U9c4eFgJoFj0UHWgiqeklCe51P/3+vvvGWaXLFKxf/8CHR/YMEcM8doR2pTwyqJPq0SZiGeZjjLIwlyNwv13+ZoDeqCQd8gvuJmxFpzZ5rz4L0Do47NbLdGDdC3W9UiDpU3TVhe1poXqu8wX2ZgcHfUSsmpUM7u1aseKG49gtR/Zte6Ow7fqDAGX3b7TFzo8J066wj8r+drVVdIdojATSN97VpqR/iPQQDLEm9tAqA==
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=NvPoSM6qGI5xJQqJZBspoymTpXQyKl2zMA1yo6eGV4g=;
 b=Au1zXUFfsTyYxNjPnup1yTQciCV+M1uIXckGdjaQIPeql7vtcI7NnmNQe1XzkX/rvmuPIwXXE2V4bX7mtqqjKqLW6dWJzILH54mi5aJjSJ7fAsoKsEptN8++K1E9BO9cX5QPA/9GR2XYNMVDSDDzUpBoRs0qyiecLu0Epvx4fe+GS3mrEkSs5r6fuQ1hyxAFCg+/z0lCMATAR1VfsQpUfJxqX4BrnKvCgji3SWATTbZxjk2oxAhxvyrVVNe4ayOsLreFLS95xAfOu4wAem5WMM7IWFsJVTTzVftuXI39kIQG+P8m0dQuxfch6HF2f5dGwdzZYfR40m5mvRkPvrBUgQ==
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=NvPoSM6qGI5xJQqJZBspoymTpXQyKl2zMA1yo6eGV4g=;
 b=iOo8OVwYLmFdITwH6CwXTkeLsLNNLfOxbtns+wfJTaOjDgRDmjAXqYhWeirJkjtuJvKc4pEp0idwBZ3rpsOvQ+/tJY6Gkp0LEJVpm+4I0JVYAkI889RRPLxzmT30/kIM9GivLhwyxj2QfSM13GfIo+8+j3RncXcCN4TBz9fNRHY=
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: 9a5f313f6acb36ec
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DwLZYPbuUxZTEqzXFprG9eaSGo9mVen7m6eS9Dk2LhoKQnoPMrlhTaJ7qHdunyKYeG6Kp+sF5Dx047Zxk3zNtdC8tCa7xNGLOdGjHRoyxYX/i9Y6xY0joZygSKtaSghl1yUG6telw3/0HKTkpbjk6/YqpIe7IIM0Qi98cZYyp8R5zO/V0UzAs57A8WejhtI4avphLOs77oElI1aqgbJ8beem/0Qy9Jp6mWZvWcAl89jh1OYbLmKzDD3FColE5c5f2kvhvTG+oSnn1sYISygDJuNDPXIrs3Zy7907PONDfMgn9Tort4JdUny7+baounOIsmcMvly+z3Rrjns9OfMNIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NvPoSM6qGI5xJQqJZBspoymTpXQyKl2zMA1yo6eGV4g=;
 b=HvdOK2/TYiMea1PiqHnk2RSxwaniNe+Ns2F0X65LBAkU6pDocbfxpNDi5aHBrVP36f+Kabw2eK/5aCicR8zMI3STRje2fY6mslIngs8n9Z+0bt6t2kqgFdfwTcdBkyQDXF5pQO/XlPapGyzHDntxVM9rhz1FykBsesMWcwkyJ0qXMixHTZY9PDl8CxnoNilkMJ7h03iZPJl9xY0KXso7bfZRpMb5Ov2fsOBnO546FdS8uBu0PowjW5NXCzHR6i1FdeXUZIS4C8qoxHhwNMCKtmtWaPAFmxQQoC8buAI4BFyikt/c1vJIedwK7mCbcI8V/3xGO/Zv5ZWdoBI8y0Zgmw==
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=NvPoSM6qGI5xJQqJZBspoymTpXQyKl2zMA1yo6eGV4g=;
 b=iOo8OVwYLmFdITwH6CwXTkeLsLNNLfOxbtns+wfJTaOjDgRDmjAXqYhWeirJkjtuJvKc4pEp0idwBZ3rpsOvQ+/tJY6Gkp0LEJVpm+4I0JVYAkI889RRPLxzmT30/kIM9GivLhwyxj2QfSM13GfIo+8+j3RncXcCN4TBz9fNRHY=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, George Dunlap
	<George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH for-4.18 2/3] docs/sphinx: Fix syntax issues in
 exclude-list.rst
Thread-Topic: [PATCH for-4.18 2/3] docs/sphinx: Fix syntax issues in
 exclude-list.rst
Thread-Index: AQHaElgomb1OqAEcd0WYXxuMqcqFm7BwjFAA
Date: Wed, 8 Nov 2023 15:30:39 +0000
Message-ID: <4477F755-39D5-4560-98F1-92D37343088F@arm.com>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com>
 <20231108152727.58764-3-andrew.cooper3@citrix.com>
In-Reply-To: <20231108152727.58764-3-andrew.cooper3@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM9PR08MB5891:EE_|DB5PEPF00014B8B:EE_|DB4PR08MB8005:EE_
X-MS-Office365-Filtering-Correlation-Id: 4b2ef4d1-340d-4504-6d5b-08dbe06fb148
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:
 ZK72LVIxAf/ZhSDqgzNgKh2KCaWZ6nbeRaNODSy7Jf23BeiyFAlL9tY+MmW5G6u7MylG5epme3kwk6ON86C+fH50K+hbGsyOaV2D0BHELoxOhNXpaeFpZkdui8pkAwtVN3D8w0tu3OZZYD80frvC92AfjJ4yZcBo9SokBzIo6UyX8wbGVQJIsIGVetpMC+fCQ+OFITnRrlGM7whpgVcxgtcggoAipKfn61QsifBwMvkcZjw+uPcKtbtoupEu48BwM7CAzUvH9XcYGZZ3zvm8RFIpgPdBZClVYmdbwfI0eQy+1vKG6hXufHSbEJTCRvjotKiIZh9x3WnLC3hFWvYq69R+l7QpQNiGhhzngjUOqUDKnv4b20IFRwZwZAP1FoFIpM9AuXUye59biBfoPqG+5ZoCE7Qq8WzCMH0zfI90twi1d/O+KQRKqBpulx7qYhpiilhlPIlm9xc5qdbDG31PrAowGW/LoMb0vRZq8nmpUimFGcQwrgU/kg8kRokj76AkEdyupodgKgfuDrxR6zVjvaGE4yV+tnokghhAoLGFn8uPcn1eCJf38smmZqaEW9psb6e9PxZU7YnExikeNqtSwHT6WAluQV/UMmN3Yo0sXWGObYzzRoJUUUHQg2YCHcBspEALfNRKd70VbVdDT3VD3tMp8UyK1OAYSlatH++eCk3KKq54RYZb2945W+sGecvE
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(396003)(136003)(39860400002)(346002)(230273577357003)(230922051799003)(230173577357003)(64100799003)(451199024)(186009)(1800799009)(6486002)(478600001)(38070700009)(122000001)(33656002)(86362001)(36756003)(38100700002)(66556008)(83380400001)(53546011)(41300700001)(6512007)(66476007)(66946007)(6506007)(91956017)(76116006)(64756008)(66446008)(26005)(5660300002)(6916009)(54906003)(71200400001)(316002)(2616005)(4326008)(8936002)(4744005)(2906002)(8676002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <AD5F8C279D9845418F2A4E97E6280F8B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5891
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:
 DB5PEPF00014B8B.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bc693b41-2cc6-4b79-5e5c-08dbe06fa989
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/3V8e+JMhDBGmHTTITZipVwiKDEQnYxiLT/SFqtDhzdYXGovDb3a3LrUgAo0cDI80/NIfTVFrKqd7wnN9j20MNmznsCuowxTKR8vdQxElKEGl2idMa5KNfeQigNUmRqyOoQvEXulDtMKR/HfLBkVvlqTWH5wXcb3VVUEE8PJ+JkUMexqy6g6q1jfMQu+3svAhBypFufnnbq3Ny4iRgHXokZn1ksxA3hLw7MOpTlVSRaTKgZziGv+pxF4/54N1pxhDXnLVeTdygYHjzghJIoquXi7hd5k2x4FxhIcRGf+Lkr5TK/SoC4xycFY904nYs0D/4H6l7zbecyLRXQgAVNBzN1YojAwOKb822v0eEnS6DiyQ1s6VvFSTG5DMf8/cTJceAQc49sS7UDUNsF/lioJn+5oPlIW5u4S0Hm1iUMEoEIs2J1xgsFlscvhn+IdJHhFnTJe/D7ciyDrQZ+S2XtU7ZWYfkZNc4vtCiu+EkS9hB0V5rg0btxn8/Pgq3uK7g4pN8LXzOnOAaV+hiP0YLRbYJ3kz4E8UCnKRai+pb6iCMnlXp0WZsYifEAasWv4vVcWMyRh+0FNcp40OIjc3kWHZEwWXqoMgFX6BiKdSjMwylMZY0Ji3RsMj0JGzqc3RdjElR84IuiIkDfXD34zJozOzMq+ucjOxQ59s1+NFK0qocbxMzzBjNe1l7Mj99tXtyvAzPKHDs5h9iRakTDmyIJu0FYpsmlairqgE7BvciROYzgHC44mw2cG+1kUczrTUD2rsbLjMZ6N1qC1rg7wfpylVCQL0MVXzCcbWwXjfDXQ0qE=
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:(13230031)(4636009)(136003)(396003)(39850400004)(346002)(376002)(230273577357003)(230922051799003)(230173577357003)(64100799003)(186009)(1800799009)(82310400011)(451199024)(36840700001)(40470700004)(46966006)(356005)(6862004)(8676002)(4744005)(4326008)(8936002)(36756003)(82740400003)(47076005)(41300700001)(81166007)(36860700001)(83380400001)(26005)(336012)(2906002)(2616005)(86362001)(478600001)(53546011)(6506007)(40480700001)(40460700003)(6486002)(70206006)(54906003)(5660300002)(70586007)(33656002)(6512007)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Nov 2023 15:30:52.3206
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4b2ef4d1-340d-4504-6d5b-08dbe06fb148
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:
	DB5PEPF00014B8B.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8005



> On 8 Nov 2023, at 15:27, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>=20
> sphinx-build reports:
>=20
>  docs/misra/exclude-list.rst:47: WARNING: Unexpected indentation.
>  docs/misra/exclude-list.rst:50: WARNING: Inline emphasis start-string wi=
thout end-string.
>=20
> Nested lists require newlines as delimiters, and * either needs escaping,=
 or
> put in a literal block.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---

Thanks for that.

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Cheers,
Luca





From xen-devel-bounces@lists.xenproject.org Wed Nov 08 15:42:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 15:42:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629337.981478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0khb-0007AR-UH; Wed, 08 Nov 2023 15:42:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629337.981478; Wed, 08 Nov 2023 15: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 1r0khb-0007AK-Rc; Wed, 08 Nov 2023 15:42:47 +0000
Received: by outflank-mailman (input) for mailman id 629337;
 Wed, 08 Nov 2023 15:42: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=L/Mx=GV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r0kha-0007A8-BG
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 15:42:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7573c329-7e4d-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 16:42:44 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.125.27])
 by support.bugseng.com (Postfix) with ESMTPSA id 211C04EE0737;
 Wed,  8 Nov 2023 16:42:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7573c329-7e4d-11ee-98da-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v2] xen/arm: traps: address a violation of MISRA C:2012 Rule 8.2
Date: Wed,  8 Nov 2023 16:42:35 +0100
Message-Id: <24c2e8b7a7becc6b16d0b37f2c642a9b9e976269.1699457659.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter name "regs" and introduce function type
bug_fn_t: this improves readability and helps to validate that the
function passed to run_in_exception_handle() has the expected
prototype.
No functional change.

Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
  - adjusted tag;
  - avoided exceeding the 80-character limit.
---
 xen/arch/arm/traps.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index ce89f16404..1264eab087 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1236,7 +1236,8 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
 
     if ( id == BUGFRAME_run_fn )
     {
-        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
+        typedef void (*bug_fn_t)(const struct cpu_user_regs *regs);
+        bug_fn_t fn = (void *)regs->BUG_FN_REG;
 
         fn(regs);
         return 0;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 08 16:04:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 16:04:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629342.981488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0l2M-0003k7-Lw; Wed, 08 Nov 2023 16:04:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629342.981488; Wed, 08 Nov 2023 16: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 1r0l2M-0003k0-J3; Wed, 08 Nov 2023 16:04:14 +0000
Received: by outflank-mailman (input) for mailman id 629342;
 Wed, 08 Nov 2023 16:04: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 1r0l2M-0003ju-3g
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 16:04: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 1r0l2L-0000T7-7M; Wed, 08 Nov 2023 16:04:13 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[10.95.129.229]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0l2K-0007oy-Vw; Wed, 08 Nov 2023 16: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>
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=RTmrziUJ3gJBP31hOnvFUAvH2PbJ2DmA7/AGnuTvROI=; b=zyj7YhJnwGNtk9kLPMN8LGks2I
	igcGrj6HVucEysnG+MfdGt1YGFq+PPhXUPXnDOignP9vzfcv7l2K0VEyVbYUkW6VmnBdDsTiIT2P+
	ZBZjt2LpAE6vVEGe6k05DM+o8OA2lYCqSQe4Roh+lBN6J4AZq89FA6/Sn556Id6hr9zM=;
Message-ID: <454b02cd-e8ac-4378-95e9-afec4b852065@xen.org>
Date: Wed, 8 Nov 2023 16:04:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] xen/arm: traps: address a violation of MISRA
 C:2012 Rule 8.2
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <24c2e8b7a7becc6b16d0b37f2c642a9b9e976269.1699457659.git.federico.serafini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <24c2e8b7a7becc6b16d0b37f2c642a9b9e976269.1699457659.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 08/11/2023 15:42, Federico Serafini wrote:
> Add missing parameter name "regs" and introduce function type
> bug_fn_t: this improves readability and helps to validate that the
> function passed to run_in_exception_handle() has the expected
> prototype.
> No functional change.
> 
> Suggested-by: Julien Grall <julien@xen.org>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
> Changes in v2:
>    - adjusted tag;
>    - avoided exceeding the 80-character limit.
> ---
>   xen/arch/arm/traps.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index ce89f16404..1264eab087 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -1236,7 +1236,8 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
>   
>       if ( id == BUGFRAME_run_fn )
>       {
> -        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
> +        typedef void (*bug_fn_t)(const struct cpu_user_regs *regs);

Thanks for sending a new version. This should be defined in asm/bug.h or 
maybe xen/bug.h as this is generic enough.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 16:22:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 16:22:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629346.981498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0lJY-0007s0-4J; Wed, 08 Nov 2023 16:22:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629346.981498; Wed, 08 Nov 2023 16:22: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 1r0lJY-0007rt-1p; Wed, 08 Nov 2023 16:22:00 +0000
Received: by outflank-mailman (input) for mailman id 629346;
 Wed, 08 Nov 2023 16:21: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=L/Mx=GV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r0lJX-0007rn-78
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 16:21:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ef91fbee-7e52-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 17:21:56 +0100 (CET)
Received: from [172.20.10.2] (unknown [37.161.104.233])
 by support.bugseng.com (Postfix) with ESMTPSA id 698644EE0737;
 Wed,  8 Nov 2023 17:21:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef91fbee-7e52-11ee-9b0e-b553b5be7939
Message-ID: <1e12721b-4b82-44e0-bd41-bda91f9735f0@bugseng.com>
Date: Wed, 8 Nov 2023 17:21:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] xen/arm: traps: address a violation of MISRA
 C:2012 Rule 8.2
Content-Language: en-US, it
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <24c2e8b7a7becc6b16d0b37f2c642a9b9e976269.1699457659.git.federico.serafini@bugseng.com>
 <454b02cd-e8ac-4378-95e9-afec4b852065@xen.org>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <454b02cd-e8ac-4378-95e9-afec4b852065@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 08/11/23 17:04, Julien Grall wrote:
> Hi,
> 
> On 08/11/2023 15:42, Federico Serafini wrote:
>> Add missing parameter name "regs" and introduce function type
>> bug_fn_t: this improves readability and helps to validate that the
>> function passed to run_in_exception_handle() has the expected
>> prototype.
>> No functional change.
>>
>> Suggested-by: Julien Grall <julien@xen.org>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> ---
>> Changes in v2:
>>    - adjusted tag;
>>    - avoided exceeding the 80-character limit.
>> ---
>>   xen/arch/arm/traps.c | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
>> index ce89f16404..1264eab087 100644
>> --- a/xen/arch/arm/traps.c
>> +++ b/xen/arch/arm/traps.c
>> @@ -1236,7 +1236,8 @@ int do_bug_frame(const struct cpu_user_regs 
>> *regs, vaddr_t pc)
>>       if ( id == BUGFRAME_run_fn )
>>       {
>> -        void (*fn)(const struct cpu_user_regs *) = (void 
>> *)regs->BUG_FN_REG;
>> +        typedef void (*bug_fn_t)(const struct cpu_user_regs *regs);
> 
> Thanks for sending a new version. This should be defined in asm/bug.h or 
> maybe xen/bug.h as this is generic enough.

I see some uses of run_in_exception_handle() in common/bug.c and I guess
the type of the actual parameter should be changed to bug_fn_t.
Am I missing some other places where such change is needed?

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 16:24:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 16:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629350.981509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0lLu-0000Kh-GZ; Wed, 08 Nov 2023 16:24:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629350.981509; Wed, 08 Nov 2023 16:24: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 1r0lLu-0000Ka-DO; Wed, 08 Nov 2023 16:24:26 +0000
Received: by outflank-mailman (input) for mailman id 629350;
 Wed, 08 Nov 2023 16:24: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=7seD=GV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0lLt-0000In-3e
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 16:24:25 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46d60a4e-7e53-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 17:24:23 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id BD4EE4EE0737;
 Wed,  8 Nov 2023 17:24:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46d60a4e-7e53-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Wed, 08 Nov 2023 17:24:22 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Xen Devel <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Jbeulich <jbeulich@suse.com>, Andrew Cooper3
 <andrew.cooper3@citrix.com>, Roger Pau <roger.pau@citrix.com>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 Consulting <consulting@bugseng.com>
Subject: Remaining violations of MISRA Rule 7.4
Message-ID: <21761f2a6633a08ceb2b70a46013486a@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Hi everyone,

I was looking at leftover violations for MISRA Rule 7.4:
'A string literal shall not be assigned to an object unless the object's 
type
is "pointer to const-qualified char" '

You can see the referenced violations at [1] and [2].

I think the ones in x86/setup.c can be taken care of either by making an 
early return
from cmdline_cook, given that one caller never supplies a NULL cmdline, 
while the other
properly takes care of the possibility of returning NULL, afaict.

  static char * __init cmdline_cook(char *p, const char *loader_name)
  {
-    p = p ? : "";
+    if ( p == NULL )
+        return NULL;

or changing the type of "loader" to const char*

  void __init noreturn __start_xen(unsigned long mbi_p)
  {
-    const char *memmap_type = NULL;
-    char *cmdline, *kextra, *loader;
+    const char *memmap_type = NULL, *loader = NULL;
+    char *cmdline, *kextra;;

as, as far as I can tell, it's never changed after

     loader = (mbi->flags & MBI_LOADERNAME)
         ? (char *)__va(mbi->boot_loader_name) : "unknown";

However, the one in xen/arch/arm/efi/efi-boot.h

name.s = "xen";

does not look to have a clear resolution
path, therefore I propose to deviate this with a SAF textual deviation, 
whose justification
relies on the fact that the string is never modified afterwards.

For the one in arm-uart.c from the discussion, I'm testing possible 
solution with no code
changes, but if that doesn't work out, then I'm inclined towards a 
deviation, as options
is never modified afterwards.

What do you think?

[1] 
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/arm/for-4.19/ARM64-Set1/376/PROJECT.ecd;/by_service/MC3R1.R7.4.html

[2] 
https://saas.eclairit.com:3787/fs/var/local/eclair/XEN.ecdf/ECLAIR_normal/x86_64/staging/X86_64-Set1/376/PROJECT.ecd;/by_service/MC3R1.R7.4.html

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 16:25:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 16:25:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629354.981519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0lMc-00012x-P9; Wed, 08 Nov 2023 16:25:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629354.981519; Wed, 08 Nov 2023 16: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 1r0lMc-00012q-LA; Wed, 08 Nov 2023 16:25:10 +0000
Received: by outflank-mailman (input) for mailman id 629354;
 Wed, 08 Nov 2023 16: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 1r0lMb-00012N-Jl
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 16: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 1r0lMa-0000pB-EV; Wed, 08 Nov 2023 16:25:08 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[10.95.129.229]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0lMZ-0000MB-Rv; Wed, 08 Nov 2023 16: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:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dqrQ5GVhWQeWYMjyOy1zVb4RTKpys5Yj70fR/AH5278=; b=ZHrTkaJnfIu/UDyng+kfDhzQqQ
	412t3Nhoer7DCioSzprCoXA53DSVkiLDHUT3UyDgdS6AbmzvmfRI1KuwaygIbxyxrIJ1h03rVo9SS
	TNqC83b5yEokcA4feyTR2vUxQ7v1BNKwKm/rWbaZetOYpwSNwu5fKjNnux/3A1RKqgD0=;
Message-ID: <0c853769-8d59-4ce4-95d3-8acefddd8ed8@xen.org>
Date: Wed, 8 Nov 2023 16:25:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 2/3] docs: make the docs for MISRA C:2012 Dir 4.1
 visible to ECLAIR
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>, andrew.cooper3@citrix.com
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 jbeulich@suse.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Henry Wang <Henry.Wang@arm.com>
References: <cover.1696231870.git.nicola.vetrini@bugseng.com>
 <fd60f0f3c777652bd305a97b559cb7ee23293e8d.1696231870.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2310021531430.2348112@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311071240240.3478774@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2311071240240.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 07/11/2023 20:41, Stefano Stabellini wrote:
> +Julien, Andrew
> 
> Julien and Andrew raised concerns on this patch on the Xen Matrix
> channel. Please provide further details.

Thanks! It looks like I was already CCed but this likely got lost with 
all the MISRA patches...

On Matrix, there was concerned raised that the documentation now have a 
dependency on C compiler and you are also build C files in docs.

In addition to that, I have a few more comments.

> 
> 
> On Mon, 2 Oct 2023, Stefano Stabellini wrote:
>> On Mon, 2 Oct 2023, Nicola Vetrini wrote:
>>> To be able to check for the existence of the necessary subsections in
>>> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
>>> file that is built.
>>>
>>> This file is generated from 'C-runtime-failures.rst' in docs/misra
>>> and the configuration is updated accordingly.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>
>> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
>>
>>
>>> ---
>>> Changes from RFC:
>>> - Dropped unused/useless code
>>> - Revised the sed command
>>> - Revised the clean target
>>>
>>> Changes in v2:
>>> - Added explanative comment to the makefile
>>> - printf instead of echo
>>>
>>> Changes in v3:
>>> - Terminate the generated file with a newline
>>> - Build it with -std=c99, so that the documentation
>>>    for D1.1 applies.
>>> ---
>>>   docs/Makefile       |  7 ++++++-
>>>   docs/misra/Makefile | 22 ++++++++++++++++++++++
>>>   2 files changed, 28 insertions(+), 1 deletion(-)
>>>   create mode 100644 docs/misra/Makefile
>>>
>>> diff --git a/docs/Makefile b/docs/Makefile
>>> index 966a104490ac..ff991a0c3ca2 100644
>>> --- a/docs/Makefile
>>> +++ b/docs/Makefile
>>> @@ -43,7 +43,7 @@ DOC_PDF  := $(patsubst %.pandoc,pdf/%.pdf,$(PANDOCSRC-y)) \
>>>   all: build
>>>   
>>>   .PHONY: build
>>> -build: html txt pdf man-pages figs
>>> +build: html txt pdf man-pages figs misra

This means you always generate and compile the C files when it seems to 
be only useful for Eclair. I think we should consider to only call 
'misra' for the Eclair build.

The files should also be generated/compiled in an Eclair specific 
directory rather than in docs.

>>>   
>>>   .PHONY: sphinx-html
>>>   sphinx-html:
>>> @@ -66,9 +66,14 @@ endif
>>>   .PHONY: pdf
>>>   pdf: $(DOC_PDF)
>>>   
>>> +.PHONY: misra
>>> +misra:
>>> +	$(MAKE) -C misra
>>> +
>>>   .PHONY: clean
>>>   clean: clean-man-pages
>>>   	$(MAKE) -C figs clean
>>> +	$(MAKE) -C misra clean
>>>   	rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~
>>>   	rm -rf *.ilg *.log *.ind *.toc *.bak *.tmp core
>>>   	rm -rf html txt pdf sphinx/html
>>> diff --git a/docs/misra/Makefile b/docs/misra/Makefile
>>> new file mode 100644
>>> index 000000000000..949458ff9e15
>>> --- /dev/null
>>> +++ b/docs/misra/Makefile
>>> @@ -0,0 +1,22 @@
>>> +TARGETS := C-runtime-failures.o

We don't usually have uppercase in the file name. Is this something that 
Eclair mandates? In fact, looking at the series, it is not clear how 
Eclair will find the file. Can you clarify?

>>> +
>>> +all: $(TARGETS)
>>> +
>>> +# This Makefile will generate the object files indicated in TARGETS by taking
>>> +# the corresponding .rst file, converting its content to a C block comment and
>>> +# then compiling the resulting .c file. This is needed for the file's content to
>>> +# be available when performing static analysis with ECLAIR on the project.

I am a bit lost with the explanation. The generated object will be 
empty. So why do you require to generate it?

Furthermore, the content doesn't seem to follow a specific syntax (or at 
least it is not clear that it should follow one). So why do you need to 
expose the content to Eclair?

>>> +
>>> +# sed is used in place of cat to prevent occurrences of '*/'
>>> +# in the .rst from breaking the compilation
>>> +$(TARGETS:.o=.c): %.c: %.rst
>>> +	printf "/*\n\n" > $@.tmp
>>> +	sed -e 's|\*/|*//*|g' $< >> $@.tmp
>>> +	printf "\n\n*/\n" >> $@.tmp
>>> +	mv $@.tmp $@
>>> +
>>> +%.o: %.c
>>> +	$(CC) -std=c99 -c $< -o $@

AFAICT, this will generate a file using the host compiler. This may be 
different from the compiler used to build Xen.

So I will repeat myself, how all of this matters? Maybe it would be 
useful if you provide some documentation from Eclair.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 16:30:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 16:30:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629360.981530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0lRN-0002iD-Du; Wed, 08 Nov 2023 16:30:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629360.981530; Wed, 08 Nov 2023 16: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 1r0lRN-0002hy-7w; Wed, 08 Nov 2023 16:30:05 +0000
Received: by outflank-mailman (input) for mailman id 629360;
 Wed, 08 Nov 2023 16:30: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 1r0lRL-0002KK-Ar
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 16:30: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 1r0lRK-0000ux-LK; Wed, 08 Nov 2023 16:30:02 +0000
Received: from 54-240-197-232.amazon.com ([54.240.197.232]
 helo=[10.95.129.229]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r0lRK-0000Sn-ES; Wed, 08 Nov 2023 16: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>
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=yLO1462J0nmYSHxPSh+JlOsb4A8CsewHBL5e1/gQp0c=; b=5s5XRuFvqbYjGwlIVnKKckJ61R
	4m8lZE7AihL/IGT3NWCKk4hJGkx2x/yYUhFuYXkRr7q6YCBgqzufgPKe6JozhbXqhR4tiojjt6zRw
	S4G1QVQ3e1m2ahwexhsHqc7pDdQK6yqU09uop+joh52F8YnZXCbRLZ33zu+wWPpQnmb0=;
Message-ID: <77d031a6-3981-4267-9121-818ff0daa259@xen.org>
Date: Wed, 8 Nov 2023 16:30:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] xen/arm: traps: address a violation of MISRA
 C:2012 Rule 8.2
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <24c2e8b7a7becc6b16d0b37f2c642a9b9e976269.1699457659.git.federico.serafini@bugseng.com>
 <454b02cd-e8ac-4378-95e9-afec4b852065@xen.org>
 <1e12721b-4b82-44e0-bd41-bda91f9735f0@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1e12721b-4b82-44e0-bd41-bda91f9735f0@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Federico,

On 08/11/2023 16:21, Federico Serafini wrote:
> On 08/11/23 17:04, Julien Grall wrote:
>> Hi,
>>
>> On 08/11/2023 15:42, Federico Serafini wrote:
>>> Add missing parameter name "regs" and introduce function type
>>> bug_fn_t: this improves readability and helps to validate that the
>>> function passed to run_in_exception_handle() has the expected
>>> prototype.
>>> No functional change.
>>>
>>> Suggested-by: Julien Grall <julien@xen.org>
>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>> ---
>>> Changes in v2:
>>>    - adjusted tag;
>>>    - avoided exceeding the 80-character limit.
>>> ---
>>>   xen/arch/arm/traps.c | 3 ++-
>>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
>>> index ce89f16404..1264eab087 100644
>>> --- a/xen/arch/arm/traps.c
>>> +++ b/xen/arch/arm/traps.c
>>> @@ -1236,7 +1236,8 @@ int do_bug_frame(const struct cpu_user_regs 
>>> *regs, vaddr_t pc)
>>>       if ( id == BUGFRAME_run_fn )
>>>       {
>>> -        void (*fn)(const struct cpu_user_regs *) = (void 
>>> *)regs->BUG_FN_REG;
>>> +        typedef void (*bug_fn_t)(const struct cpu_user_regs *regs);
>>
>> Thanks for sending a new version. This should be defined in asm/bug.h 
>> or maybe xen/bug.h as this is generic enough.
> 
> I see some uses of run_in_exception_handle() in common/bug.c and I guess
> the type of the actual parameter should be changed to bug_fn_t.
> Am I missing some other places where such change is needed?

Just to clarify, right now, I haven't suggested to replace all the 
open-coding version of the typedef. I am only asking to define the 
typedef in an header.

Note that run_in_exception_handler() is a macro. So you can't really 
change the type. But you could check that the type of the argument 
matches bug_fn_t.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 16:46:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 16:46:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629364.981538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0lhK-0005fO-Jq; Wed, 08 Nov 2023 16:46:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629364.981538; Wed, 08 Nov 2023 16:46: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 1r0lhK-0005fH-H9; Wed, 08 Nov 2023 16:46:34 +0000
Received: by outflank-mailman (input) for mailman id 629364;
 Wed, 08 Nov 2023 16:46: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=L/Mx=GV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r0lhJ-0005dk-7D
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 16:46:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ec740d7-7e56-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 17:46:32 +0100 (CET)
Received: from [172.20.10.2] (unknown [37.161.104.233])
 by support.bugseng.com (Postfix) with ESMTPSA id 33A5B4EE0737;
 Wed,  8 Nov 2023 17:46:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ec740d7-7e56-11ee-98da-6d05b1d4d9a1
Message-ID: <c9aeaa88-6d7e-49da-b0dc-39cb147eaec3@bugseng.com>
Date: Wed, 8 Nov 2023 17:46:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] xen/arm: traps: address a violation of MISRA
 C:2012 Rule 8.2
Content-Language: en-US, it
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <24c2e8b7a7becc6b16d0b37f2c642a9b9e976269.1699457659.git.federico.serafini@bugseng.com>
 <454b02cd-e8ac-4378-95e9-afec4b852065@xen.org>
 <1e12721b-4b82-44e0-bd41-bda91f9735f0@bugseng.com>
 <77d031a6-3981-4267-9121-818ff0daa259@xen.org>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <77d031a6-3981-4267-9121-818ff0daa259@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 08/11/23 17:30, Julien Grall wrote:
> Hi Federico,
> 
> On 08/11/2023 16:21, Federico Serafini wrote:
>> On 08/11/23 17:04, Julien Grall wrote:
>>> Hi,
>>>
>>> On 08/11/2023 15:42, Federico Serafini wrote:
>>>> Add missing parameter name "regs" and introduce function type
>>>> bug_fn_t: this improves readability and helps to validate that the
>>>> function passed to run_in_exception_handle() has the expected
>>>> prototype.
>>>> No functional change.
>>>>
>>>> Suggested-by: Julien Grall <julien@xen.org>
>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>>> ---
>>>> Changes in v2:
>>>>    - adjusted tag;
>>>>    - avoided exceeding the 80-character limit.
>>>> ---
>>>>   xen/arch/arm/traps.c | 3 ++-
>>>>   1 file changed, 2 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
>>>> index ce89f16404..1264eab087 100644
>>>> --- a/xen/arch/arm/traps.c
>>>> +++ b/xen/arch/arm/traps.c
>>>> @@ -1236,7 +1236,8 @@ int do_bug_frame(const struct cpu_user_regs 
>>>> *regs, vaddr_t pc)
>>>>       if ( id == BUGFRAME_run_fn )
>>>>       {
>>>> -        void (*fn)(const struct cpu_user_regs *) = (void 
>>>> *)regs->BUG_FN_REG;
>>>> +        typedef void (*bug_fn_t)(const struct cpu_user_regs *regs);
>>>
>>> Thanks for sending a new version. This should be defined in asm/bug.h 
>>> or maybe xen/bug.h as this is generic enough.
>>
>> I see some uses of run_in_exception_handle() in common/bug.c and I guess
>> the type of the actual parameter should be changed to bug_fn_t.
>> Am I missing some other places where such change is needed?
> 
> Just to clarify, right now, I haven't suggested to replace all the 
> open-coding version of the typedef. I am only asking to define the 
> typedef in an header.
OK.

> Note that run_in_exception_handler() is a macro. So you can't really 
> change the type. But you could check that the type of the argument 
> matches bug_fn_t.

I used the wrong terminology but this is what I meant.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 17:02:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 17:02:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629371.981548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0lws-0001BD-2Q; Wed, 08 Nov 2023 17:02:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629371.981548; Wed, 08 Nov 2023 17: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 1r0lwr-0001B6-W3; Wed, 08 Nov 2023 17:02:37 +0000
Received: by outflank-mailman (input) for mailman id 629371;
 Wed, 08 Nov 2023 17: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=ZA2k=GV=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r0lwq-0001B0-Nq
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 17:02:36 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c55a754-7e58-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 18:02:34 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-408425c7c10so52445805e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 08 Nov 2023 09:02:34 -0800 (PST)
Received: from localhost (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z11-20020a05600c0a0b00b00407460234f9sm20298514wmp.21.2023.11.08.09.02.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 08 Nov 2023 09:02:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c55a754-7e58-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699462953; x=1700067753; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=tQ2+XV4dBu1cq9f+RwORT9M+/7K1LwjMn+kEqhK7XD4=;
        b=oNfkj4+z5HsmB1Cpqfb5Wy2ydoDBJwEjRCV5nFjhrBs983jiIznQmflk5JzC7DS39/
         +i69wGL1N4BlnD3QhjXyfm6lxULRYAjpAfWwOrPdUNtxnJ2j++f4oidXdhwf6PhTc53T
         iKblId7qd7nk7bnXG+mIXdUn7hCbP/+KZ+DSs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699462953; x=1700067753;
        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:subject:date:message-id:reply-to;
        bh=tQ2+XV4dBu1cq9f+RwORT9M+/7K1LwjMn+kEqhK7XD4=;
        b=VdXCaC9072mT58whvJjP3MZ0uw3cH/YRN2GRlfZgno8O2jpw6+oyXTvEpM/TDxAAAr
         0PoZthm3lZbKg8sMQgYgZEbBHi6IO7J0cQ7fftuFtrMywownN7s+O1ckjSvDFOQsLhFv
         3x5yWssYLP/jRodRFeFtFFovwBP6DoPlaxgGlHV1vaNqpg3UaZjc1+ks+G+5tfkf8wZc
         O3sil55do1XPsUDFLti+tkOHsvez8AhaYOw999RDsrSCbl34SK7M+Go5F+upi9orEQXE
         SdbC53q/8NwBu7CKMb8JwsWsEqzC0Yjn9KTHFZ5eAVE0M0kLPjQjB5mUVsRCuE4atKGP
         5Ehw==
X-Gm-Message-State: AOJu0YwH08LfgVYDVWDwyNnsLX7qPYgsm2T5FeawPdExTSBcRs6ZA4NY
	/XC5YB0SvjcCIHxyffqHD6QkNg==
X-Google-Smtp-Source: AGHT+IF5jqoBvi3qd1BxebWpXp5A0mscq2ySxXLD1o1w5SUmf63SxVEduVpYLNEyclnDzEn5dh7HMg==
X-Received: by 2002:a05:600c:314d:b0:409:85d:5a6e with SMTP id h13-20020a05600c314d00b00409085d5a6emr2390628wmo.29.1699462953571;
        Wed, 08 Nov 2023 09:02:33 -0800 (PST)
Date: Wed, 8 Nov 2023 17:02:32 +0000
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: Juergen Gross <jgross@suse.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	michal.wilczynski@intel.com, stable@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>, x86@kernel.org,
	"H. Peter Anvin" <hpa@zytor.com>, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v4] acpi/processor: sanitize _OSC/_PDC capabilities for
 Xen dom0
Message-ID: <ZUu-hAiqCie4wIO1@macbook>
References: <20231101134154.18336-1-jandryuk@gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231101134154.18336-1-jandryuk@gmail.com>

On Wed, Nov 01, 2023 at 09:41:52AM -0400, Jason Andryuk wrote:
> From: Roger Pau Monne <roger.pau@citrix.com>
> 
> The Processor capability bits notify ACPI of the OS capabilities, and
> so ACPI can adjust the return of other Processor methods taking the OS
> capabilities into account.
> 
> When Linux is running as a Xen dom0, the hypervisor is the entity
> in charge of processor power management, and hence Xen needs to make
> sure the capabilities reported by _OSC/_PDC match the capabilities of
> the driver in Xen.
> 
> Introduce a small helper to sanitize the buffer when running as Xen
> dom0.
> 
> When Xen supports HWP, this serves as the equivalent of commit
> a21211672c9a ("ACPI / processor: Request native thermal interrupt
> handling via _OSC") to avoid SMM crashes.  Xen will set bit
> ACPI_PROC_CAP_COLLAB_PROC_PERF (bit 12) in the capability bits and the
> _OSC/_PDC call will apply it.
> 
> [ jandryuk: Mention Xen HWP's need.  Support _OSC & _PDC ]
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Cc: stable@vger.kernel.org
> Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> v4:
> Use xen_santize_proc_cap_bits() name - Michal
> Rephrase comment - Michal
> 
> v3:
> Move xen_sanitize_pdc() call to arch_acpi_set_proc_cap_bits() to cover
> _OSC and _PDC.
> drivers/xen/pcpu.c is CONFIG_DOM0 && CONFIG_X86
> 
> v2:
> Move local variables in acpi_processor_eval_pdc() to reuse in both conditions.
> ---
>  arch/x86/include/asm/acpi.h           | 14 ++++++++++++++
>  arch/x86/include/asm/xen/hypervisor.h |  9 +++++++++
>  drivers/xen/pcpu.c                    | 21 +++++++++++++++++++++
>  3 files changed, 44 insertions(+)
> 
> diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
> index c8a7fc23f63c..f896eed4516c 100644
> --- a/arch/x86/include/asm/acpi.h
> +++ b/arch/x86/include/asm/acpi.h
> @@ -16,6 +16,9 @@
>  #include <asm/x86_init.h>
>  #include <asm/cpufeature.h>
>  #include <asm/irq_vectors.h>
> +#include <asm/xen/hypervisor.h>
> +
> +#include <xen/xen.h>
>  
>  #ifdef CONFIG_ACPI_APEI
>  # include <asm/pgtable_types.h>
> @@ -127,6 +130,17 @@ static inline void arch_acpi_set_proc_cap_bits(u32 *cap)
>  	if (!cpu_has(c, X86_FEATURE_MWAIT) ||
>  	    boot_option_idle_override == IDLE_NOMWAIT)
>  		*cap &= ~(ACPI_PROC_CAP_C_C1_FFH | ACPI_PROC_CAP_C_C2C3_FFH);
> +
> +	if (xen_initial_domain()) {
> +		/*
> +		 * When Linux is running as Xen dom0, the hypervisor is the
> +		 * entity in charge of the processor power management, and so
> +		 * Xen needs to check the OS capabilities reported in the
> +		 * processor capabilities buffer matches what the hypervisor
> +		 * driver supports.
> +		 */
> +		xen_sanitize_proc_cap_bits(cap);
> +	}
>  }
>  
>  static inline bool acpi_has_cpu_in_madt(void)
> diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
> index 7048dfacc04b..a9088250770f 100644
> --- a/arch/x86/include/asm/xen/hypervisor.h
> +++ b/arch/x86/include/asm/xen/hypervisor.h
> @@ -100,4 +100,13 @@ static inline void leave_lazy(enum xen_lazy_mode mode)
>  
>  enum xen_lazy_mode xen_get_lazy_mode(void);
>  
> +#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI)
> +void xen_sanitize_proc_cap_bits(uint32_t *buf);
> +#else
> +static inline void xen_sanitize_proc_cap_bits(uint32_t *buf)
> +{
> +	BUG();
> +}
> +#endif
> +
>  #endif /* _ASM_X86_XEN_HYPERVISOR_H */
> diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
> index b3e3d1bb37f3..7000701dff8f 100644
> --- a/drivers/xen/pcpu.c
> +++ b/drivers/xen/pcpu.c
> @@ -47,6 +47,9 @@
>  #include <asm/xen/hypervisor.h>
>  #include <asm/xen/hypercall.h>
>  
> +#ifdef CONFIG_ACPI
> +#include <acpi/processor.h>
> +#endif
>  
>  /*
>   * @cpu_id: Xen physical cpu logic number
> @@ -400,4 +403,22 @@ bool __init xen_processor_present(uint32_t acpi_id)
>  
>  	return online;
>  }
> +
> +void xen_sanitize_proc_cap_bits(uint32_t *cap)
> +{
> +	struct xen_platform_op op = {
> +		.cmd			= XENPF_set_processor_pminfo,
> +		.u.set_pminfo.id	= -1,
> +		.u.set_pminfo.type	= XEN_PM_PDC,
> +	};
> +	u32 buf[3] = { ACPI_PDC_REVISION_ID, 1, *cap };
> +	int ret;
> +
> +	set_xen_guest_handle(op.u.set_pminfo.pdc, buf);
> +	ret = HYPERVISOR_platform_op(&op);
> +	if (ret)
> +		pr_err("sanitize of _PDC buffer bits from Xen failed: %d\n",
> +		       ret);
> +	*cap = buf[2];

FWIW, we might want to only update cap if the hypercall has been
successful, otherwise there's no guarantee of what's in the buffer, so
I would recommend to put the updating of cap in an else branch.

Anyway, not a strong opinion, as I think in practice even if the
hypercall fails it wouldn't corrupt the data in the buffer, but seems
more robust.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 17:12:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 17:12:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629375.981559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0m6a-0003Uz-Un; Wed, 08 Nov 2023 17:12:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629375.981559; Wed, 08 Nov 2023 17: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 1r0m6a-0003Us-SC; Wed, 08 Nov 2023 17:12:40 +0000
Received: by outflank-mailman (input) for mailman id 629375;
 Wed, 08 Nov 2023 17:12: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=7seD=GV=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r0m6Z-0003Ul-51
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 17:12:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0397578d-7e5a-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 18:12:36 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 5366C4EE0737;
 Wed,  8 Nov 2023 18:12:36 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0397578d-7e5a-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Wed, 08 Nov 2023 18:12:36 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, andrew.cooper3@citrix.com,
 xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 jbeulich@suse.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, George Dunlap
 <george.dunlap@citrix.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [XEN PATCH v3 2/3] docs: make the docs for MISRA C:2012 Dir 4.1
 visible to ECLAIR
In-Reply-To: <0c853769-8d59-4ce4-95d3-8acefddd8ed8@xen.org>
References: <cover.1696231870.git.nicola.vetrini@bugseng.com>
 <fd60f0f3c777652bd305a97b559cb7ee23293e8d.1696231870.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2310021531430.2348112@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311071240240.3478774@ubuntu-linux-20-04-desktop>
 <0c853769-8d59-4ce4-95d3-8acefddd8ed8@xen.org>
Message-ID: <791354c61840c8e37cd2ee3c99689236@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-08 17:25, Julien Grall wrote:
> Hi Stefano,
> 
> On 07/11/2023 20:41, Stefano Stabellini wrote:
>> +Julien, Andrew
>> 
>> Julien and Andrew raised concerns on this patch on the Xen Matrix
>> channel. Please provide further details.
> 
> Thanks! It looks like I was already CCed but this likely got lost with 
> all the MISRA patches...
> 
> On Matrix, there was concerned raised that the documentation now have a 
> dependency on C compiler and you are also build C files in docs.
> 
> In addition to that, I have a few more comments.
> 

The .rst file was chosen to have a human-readable format for the runtime 
failures
documentation. The other option that is otherwise viable is having a 
dummy .c or .h in
the sources (in this case it would likely be under xen/).

The transformation of this file into a .c file could be done from xen's 
Makefile of course,
but I reckoned that would have been more difficult, as the Makefile for 
the docs is
far shorter.

>>>> diff --git a/docs/Makefile b/docs/Makefile
>>>> index 966a104490ac..ff991a0c3ca2 100644
>>>> --- a/docs/Makefile
>>>> +++ b/docs/Makefile
>>>> @@ -43,7 +43,7 @@ DOC_PDF  := $(patsubst 
>>>> %.pandoc,pdf/%.pdf,$(PANDOCSRC-y)) \
>>>>   all: build
>>>>     .PHONY: build
>>>> -build: html txt pdf man-pages figs
>>>> +build: html txt pdf man-pages figs misra
> 
> This means you always generate and compile the C files when it seems to 
> be only useful for Eclair. I think we should consider to only call 
> 'misra' for the Eclair build.
> 
> The files should also be generated/compiled in an Eclair specific 
> directory rather than in docs.
> 

Hmm, that is not a bad idea

>>>>     .PHONY: sphinx-html
>>>>   sphinx-html:
>>>> @@ -66,9 +66,14 @@ endif
>>>>   .PHONY: pdf
>>>>   pdf: $(DOC_PDF)
>>>>   +.PHONY: misra
>>>> +misra:
>>>> +	$(MAKE) -C misra
>>>> +
>>>>   .PHONY: clean
>>>>   clean: clean-man-pages
>>>>   	$(MAKE) -C figs clean
>>>> +	$(MAKE) -C misra clean
>>>>   	rm -rf .word_count *.aux *.dvi *.bbl *.blg *.glo *.idx *~
>>>>   	rm -rf *.ilg *.log *.ind *.toc *.bak *.tmp core
>>>>   	rm -rf html txt pdf sphinx/html
>>>> diff --git a/docs/misra/Makefile b/docs/misra/Makefile
>>>> new file mode 100644
>>>> index 000000000000..949458ff9e15
>>>> --- /dev/null
>>>> +++ b/docs/misra/Makefile
>>>> @@ -0,0 +1,22 @@
>>>> +TARGETS := C-runtime-failures.o
> 
> We don't usually have uppercase in the file name. Is this something 
> that Eclair mandates? In fact, looking at the series, it is not clear 
> how Eclair will find the file. Can you clarify?
> 

Not really. I was just following the naming convention of 
C-language-toolchain.rst, as the
two files are in some ways related.

ECLAIR intercepts toolchain invocations, so the compilation can happen 
anywhere* in the
repository in the current setup.

* I actually need to test this, but an ECLAIR-specific directory is 
indeed a good fit.

>>>> +
>>>> +all: $(TARGETS)
>>>> +
>>>> +# This Makefile will generate the object files indicated in TARGETS 
>>>> by taking
>>>> +# the corresponding .rst file, converting its content to a C block 
>>>> comment and
>>>> +# then compiling the resulting .c file. This is needed for the 
>>>> file's content to
>>>> +# be available when performing static analysis with ECLAIR on the 
>>>> project.
> 
> I am a bit lost with the explanation. The generated object will be 
> empty. So why do you require to generate it?
> 

See above. The only requirement is that some intercepted toolchain 
invocation happens
and that the processed file has a comment block containing the strings 
specified below.
The resulting artifact isn't needed in any way.

> Furthermore, the content doesn't seem to follow a specific syntax (or 
> at least it is not clear that it should follow one). So why do you need 
> to expose the content to Eclair?
> 

Under the hood there's a regex matching the resulting comment block 
against a set of default
templates used to indicate that the project has some form of 
documentation around runtime
failures. The default templates are along these lines (the comment begin 
and end markers
need not be on the same line):

/* Documentation for MISRA C:2012 Dir 4.1: overflow <description> */

If the string is matched, then documentation for that particular 
category of runtime
failures is deemed present, otherwise a violation will be reported (one 
for each category).
Both the categories and format of the string to be matched can be 
customized, but I'd like
to avoid doing that.

>>>> +
>>>> +# sed is used in place of cat to prevent occurrences of '*/'
>>>> +# in the .rst from breaking the compilation
>>>> +$(TARGETS:.o=.c): %.c: %.rst
>>>> +	printf "/*\n\n" > $@.tmp
>>>> +	sed -e 's|\*/|*//*|g' $< >> $@.tmp
>>>> +	printf "\n\n*/\n" >> $@.tmp
>>>> +	mv $@.tmp $@
>>>> +
>>>> +%.o: %.c
>>>> +	$(CC) -std=c99 -c $< -o $@
> 
> AFAICT, this will generate a file using the host compiler. This may be 
> different from the compiler used to build Xen.
> 
> So I will repeat myself, how all of this matters? Maybe it would be 
> useful if you provide some documentation from Eclair.
> 
> Cheers,

The only non-trivial bit is that the file 
automation/eclair_analysis/ECLAIR/toolchain.ecl
specifies some compilers (if this needs to be adjusted to something 
other that $(CC), then I
may need some additional guidance) and the c99 standard, hence if you 
use a different
compiler ECLAIR will complain that you didn't document the toolchain 
assumptions according
to D1.1 (which is incidentally why we created the file 
C-language-toolchain.rst).

I hope this clears up any doubts about the patch.

Kind Regards,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 18:05:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 18:05:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629380.981568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0mvi-0003qL-Pg; Wed, 08 Nov 2023 18:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629380.981568; Wed, 08 Nov 2023 18:05: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 1r0mvi-0003qE-N8; Wed, 08 Nov 2023 18:05:30 +0000
Received: by outflank-mailman (input) for mailman id 629380;
 Wed, 08 Nov 2023 18:05: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=L/Mx=GV=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r0mvh-0003pp-7P
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 18:05:29 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65454d3d-7e61-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 19:05:27 +0100 (CET)
Received: from [192.168.1.229] (93-36-216-194.ip62.fastwebnet.it
 [93.36.216.194])
 by support.bugseng.com (Postfix) with ESMTPSA id AE0F14EE0737;
 Wed,  8 Nov 2023 19:05:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65454d3d-7e61-11ee-98da-6d05b1d4d9a1
Message-ID: <a339d917-215c-4eb4-86f5-4ee5a8172251@bugseng.com>
Date: Wed, 8 Nov 2023 19:05:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] xen/sched: address violations of MISRA C:2012 Rule
 8.2
Content-Language: en-US, it
To: Henry Wang <Henry.Wang@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 "consulting@bugseng.com" <consulting@bugseng.com>,
 George Dunlap <george.dunlap@citrix.com>, Dario Faggioli <dfaggioli@suse.com>
References: <033b6f5f10e17409650dc438b22a0f0e0d5918a7.1696598833.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2310091824560.3431292@ubuntu-linux-20-04-desktop>
 <70AD5949-7F80-4671-9998-6239588EA61E@arm.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <70AD5949-7F80-4671-9998-6239588EA61E@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 10/10/23 03:26, Henry Wang wrote:
> Hi,
> 
>> On Oct 10, 2023, at 09:25, Stefano Stabellini <sstabellini@kernel.org> wrote:
>>
>> On Mon, 9 Oct 2023, Federico Serafini wrote:
>>> Add missing parameter names. No functional change.
>>>
>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Release-acked-by: Henry Wang <Henry.Wang@arm.com>
Any chance to get an ack?

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 18:12:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 18:12:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629391.981602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0n2B-0005u2-Mt; Wed, 08 Nov 2023 18:12:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629391.981602; Wed, 08 Nov 2023 18:12: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 1r0n2B-0005tv-K9; Wed, 08 Nov 2023 18:12:11 +0000
Received: by outflank-mailman (input) for mailman id 629391;
 Wed, 08 Nov 2023 18:12: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 1r0n2A-0005tM-24; Wed, 08 Nov 2023 18:12: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 1r0n29-0003XM-Vz; Wed, 08 Nov 2023 18:12: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 1r0n29-0002Ct-Eg; Wed, 08 Nov 2023 18:12:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0n29-0003nn-Co; Wed, 08 Nov 2023 18:12: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=jGIXQ84BTTl+83AXDgEgfb3J3FPQ2AjgGCLIBaSPIVc=; b=02kBVJjqFs4Ugss6EBIPV1Vt9J
	Zpp0FGlJFZqiuf+Q6nxj2RwhFbTr4IJZHKzXAgAVjQGDf9Hxuvek5w+5JEPtePJ6TE0m+qeUvej8w
	vWKCPI+xS4sg8Dn53ksfRSZ2iWbYcCQHksOiXxlCIj7vkggOHtkZLOqwn9rhV93nCzGI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183712-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183712: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-armhf-armhf-libvirt:migrate-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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
X-Osstest-Versions-That:
    xen=fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Nov 2023 18:12:09 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail pass in 183716-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop      fail blocked in 183706
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183706
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183706
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183706
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183706
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183706
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183706
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183706
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183706
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183706
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183706
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183706
 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      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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 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-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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-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-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-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
baseline version:
 xen                  fab51099a1cdb6bfe5127b14a5d41c246ea1a2c7

Last test of basis   183706  2023-11-07 16:10:34 Z    1 days
Testing same since   183712  2023-11-08 04:10:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Michal Orzel <michal.orzel@amd.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  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                                          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                              starved 
 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                                  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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   fab51099a1..bede1c7e3b  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c -> master


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 18:45:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 18:45:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629409.981652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0nYX-0002uk-PI; Wed, 08 Nov 2023 18:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629409.981652; Wed, 08 Nov 2023 18:45: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 1r0nYX-0002ud-Mf; Wed, 08 Nov 2023 18:45:37 +0000
Received: by outflank-mailman (input) for mailman id 629409;
 Wed, 08 Nov 2023 18:45: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=IHnU=GV=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r0nYW-0002uX-LC
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 18:45:36 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 001f7109-7e67-11ee-9b0e-b553b5be7939;
 Wed, 08 Nov 2023 19:45:34 +0100 (CET)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2c4fdf94666so95340101fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 08 Nov 2023 10:45:34 -0800 (PST)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 o8-20020a05600c510800b00407752f5ab6sm20464357wms.6.2023.11.08.10.45.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 08 Nov 2023 10:45:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 001f7109-7e67-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699469133; x=1700073933; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qXtXCxod3n2wpFuGzw6gVxbKjKmf8DysxDZDSlRb/3g=;
        b=oelDGlnyZod53m/PSFrPZlhoXf20ATLk/aaDlOrvXF5dV/D94XHjahFDMa1EeAcVa5
         F4xfXnw2HOFz7UJp9K/lKXAKS9UPjhLupI2seIXX/d+hSWQaAEE7SmumDsvim3VeMz4v
         6SmSeymQc7AQRUcK+Diw5cYGeKfzaY4omi+aA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699469133; x=1700073933;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qXtXCxod3n2wpFuGzw6gVxbKjKmf8DysxDZDSlRb/3g=;
        b=ezEhoyXwV+eYGJhtw1BujU7z3e287bksUePHIL1bbx7+TSz7h5qFe/XfKSfgZq7YRY
         xXjKcFp6bfbQ+jM1IpSudvYK1SIoxzvVAdFldeyZIJD2tG7scg7sfB3qjcBphTFVCwmK
         vR/+/Yg8EMfBk92BCKSvT1OMITKjDrcnqD2COvYWLEZWoNmwELaVwYDcylAY4L6psp0x
         G87wikaiZWbu9Is5oxgWBRgGz289plDBur/eyEEKIwdfUZffkzXZhZVjk4Xo1Kh8Pdwv
         msS0wDKf7Im3aTUuTMLxZHLVSvqxUQ7KLskGUGVF08mwJmSq66a6oxY+Zis0fQNYJ/tA
         mbrQ==
X-Gm-Message-State: AOJu0Yy/BtbHnjnAgCFVZ/21y/7nJfsKZLHGNAudoHbsAw9JPK9vvhr3
	xB1K46Iq4tkYnvoEhjc2u+759A==
X-Google-Smtp-Source: AGHT+IE1Qwces+o1fNsXFg2vYqaZ3u97PSWgVEXKUr0q7piWfIzuW7nA4jP+E58KuN9EV6bo7kxqWQ==
X-Received: by 2002:a05:651c:154c:b0:2c5:1eb6:bd1e with SMTP id y12-20020a05651c154c00b002c51eb6bd1emr3568392ljp.43.1699469132907;
        Wed, 08 Nov 2023 10:45:32 -0800 (PST)
Message-ID: <bdb7efb1-b8b2-4426-a46d-e8f5afdba0f6@citrix.com>
Date: Wed, 8 Nov 2023 18:45:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Remaining violations of MISRA Rule 7.4
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen Devel <xen-devel@lists.xenproject.org>
Cc: Julien Grall <julien@xen.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Jbeulich <jbeulich@suse.com>,
 Roger Pau <roger.pau@citrix.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 Consulting <consulting@bugseng.com>
References: <21761f2a6633a08ceb2b70a46013486a@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <21761f2a6633a08ceb2b70a46013486a@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/11/2023 4:24 pm, Nicola Vetrini wrote:
> Hi everyone,
>
> I was looking at leftover violations for MISRA Rule 7.4:
> 'A string literal shall not be assigned to an object unless the
> object's type
> is "pointer to const-qualified char" '
>
> You can see the referenced violations at [1] and [2].
>
> I think the ones in x86/setup.c can be taken care of either by making
> an early return
> from cmdline_cook, given that one caller never supplies a NULL
> cmdline, while the other
> properly takes care of the possibility of returning NULL, afaict.
>
>  static char * __init cmdline_cook(char *p, const char *loader_name)
>  {
> -    p = p ? : "";
> +    if ( p == NULL )
> +        return NULL;
>
> or changing the type of "loader" to const char*
>
>  void __init noreturn __start_xen(unsigned long mbi_p)
>  {
> -    const char *memmap_type = NULL;
> -    char *cmdline, *kextra, *loader;
> +    const char *memmap_type = NULL, *loader = NULL;
> +    char *cmdline, *kextra;;
>
> as, as far as I can tell, it's never changed after
>
>     loader = (mbi->flags & MBI_LOADERNAME)
>         ? (char *)__va(mbi->boot_loader_name) : "unknown";
>
> However, the one in xen/arch/arm/efi/efi-boot.h
>
> name.s = "xen";
>
> does not look to have a clear resolution
> path, therefore I propose to deviate this with a SAF textual
> deviation, whose justification
> relies on the fact that the string is never modified afterwards.
>
> For the one in arm-uart.c from the discussion, I'm testing possible
> solution with no code
> changes, but if that doesn't work out, then I'm inclined towards a
> deviation, as options
> is never modified afterwards.
>
> What do you think?

I've just rebased and pushed the residual from the past work (although I
missed the ARM EFI fix.)

https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=0f06bab762f5201f3e00aaaee704c3c01f516b51
https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1065699873

I'm going to make a firm request that we fix this by activating
-Wwrite-strings Xen wide, because that's by far and away the best way to
stop regressions creeping back in.

In start_xen(), basically whatever goes.  All that's doing is processing
of one command line into another, and your version looks a bit neater
than mine.

The name.s cases (it's duplicated in x86 and ARM) are more tricky.  The
compiler warning can be silenced by swapping name.s for name.cs but I
have no idea whether Eclair can see through that piece of blatent lying.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 08 21:26:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 21:26:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629416.981663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0q3U-0007pt-3F; Wed, 08 Nov 2023 21:25:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629416.981663; Wed, 08 Nov 2023 21: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 1r0q3T-0007pm-Vg; Wed, 08 Nov 2023 21:25:43 +0000
Received: by outflank-mailman (input) for mailman id 629416;
 Wed, 08 Nov 2023 21: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=EIED=GV=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r0q3T-0007pg-Im
 for xen-devel@lists.xenproject.org; Wed, 08 Nov 2023 21:25:43 +0000
Received: from mail-qt1-x832.google.com (mail-qt1-x832.google.com
 [2607:f8b0:4864:20::832])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e2fd722-7e7d-11ee-98da-6d05b1d4d9a1;
 Wed, 08 Nov 2023 22:25:41 +0100 (CET)
Received: by mail-qt1-x832.google.com with SMTP id
 d75a77b69052e-41cd4cc515fso1154981cf.1
 for <xen-devel@lists.xenproject.org>; Wed, 08 Nov 2023 13:25:41 -0800 (PST)
Received: from pm2-ws13.praxislan02.com
 (207-172-141-204.s8906.c3-0.slvr-cbr1.lnh-slvr.md.cable.rcncustomer.com.
 [207.172.141.204]) by smtp.gmail.com with ESMTPSA id
 j14-20020ac85c4e000000b004181138e0c0sm1299644qtj.31.2023.11.08.13.25.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 08 Nov 2023 13:25:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e2fd722-7e7d-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699478740; x=1700083540; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=RZ7VQVWmywUCJj8m+Y7uBiNQefyfO/uFLoxjMz4m8no=;
        b=JutHv2t7rYU7EGbsVJYIlV/DcQWaz2GlhonL+g3IkqKS5cKTiin93xuzV1I/iwVWSp
         OjNnSldo+d6IfZXjJbNmhUDqVjgt3K1G/dPw8v0GZP91heqnlGXqAc6SgwNdpdOEMN9i
         k8p/WXf/JEb0H6Lg+l682bdD8WAZh9Oh6M6X1dp4XN5n9TgAfJgmvrwQ7KaSNJf7JztR
         ftrZafHnJRRzF4VX7Fr0hWIWOqA63IF3hisuir8avbVRaN7FUj5CGVPe3SYmrneSf738
         Gif/482sIZs/M96rhIneJor0UPNZyR1ztpEVL5RR4Ohi4W/oUucBVxV7yjKivoVafPci
         2pDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699478740; x=1700083540;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=RZ7VQVWmywUCJj8m+Y7uBiNQefyfO/uFLoxjMz4m8no=;
        b=qqrWsQX6l9U3A0H+nK1OAtqf4bzpy/oEuoyPJyAlizN+4gwT0AqTOZMEeIam1V6pfk
         Cqtp1r9jWDm0xKmTqTSJq/+n38d6PLI0sRaW2y9BWu8PjZUL2z66e50JcQz7JdZyiC9q
         kx+MTDzFoUZiUP2jYlvi9mnIzTD3AQ5pB2z7KIUzKP9WJiCv8Na2dW0ln6KLgzCXp9Ij
         BPVD6t+yiVxLhVTALDxEj24iiDFe6DsQe7Jl8qhgff/6aUnwb1Av0hid9c7c8w8dU/ho
         f6liWl1QzKyJHEpJwqDM9UG0vAboRe9IivfRO8pbI7xbh+VLW9Z2QATykBBG8GZZFbBE
         S5eg==
X-Gm-Message-State: AOJu0YzBukt7SzcBQBa02dSZfOsS3j4yJD5j29OAPqpmPNZNRX4Xq7b5
	clttUT+1IEoxTEs8McN5+Vk=
X-Google-Smtp-Source: AGHT+IGjh5dBkGk6kw7u8KR2u2/K+crTHBl7T3vYG8QHmAVbTYadRWnd6zJ87hdm9CvDrMW6i+kbAg==
X-Received: by 2002:a05:622a:170a:b0:418:1084:1e1 with SMTP id h10-20020a05622a170a00b00418108401e1mr3687242qtk.57.1699478740620;
        Wed, 08 Nov 2023 13:25:40 -0800 (PST)
From: Jason Andryuk <jandryuk@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>
Cc: michal.wilczynski@intel.com,
	Roger Pau Monne <roger.pau@citrix.com>,
	stable@vger.kernel.org,
	Jason Andryuk <jandryuk@gmail.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>,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org
Subject: [PATCH v5] acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0
Date: Wed,  8 Nov 2023 16:25:15 -0500
Message-ID: <20231108212517.72279-1-jandryuk@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Roger Pau Monne <roger.pau@citrix.com>

The Processor capability bits notify ACPI of the OS capabilities, and
so ACPI can adjust the return of other Processor methods taking the OS
capabilities into account.

When Linux is running as a Xen dom0, the hypervisor is the entity
in charge of processor power management, and hence Xen needs to make
sure the capabilities reported by _OSC/_PDC match the capabilities of
the driver in Xen.

Introduce a small helper to sanitize the buffer when running as Xen
dom0.

When Xen supports HWP, this serves as the equivalent of commit
a21211672c9a ("ACPI / processor: Request native thermal interrupt
handling via _OSC") to avoid SMM crashes.  Xen will set bit
ACPI_PROC_CAP_COLLAB_PROC_PERF (bit 12) in the capability bits and the
_OSC/_PDC call will apply it.

[ jandryuk: Mention Xen HWP's need.  Support _OSC & _PDC ]
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jason Andryuk <jandryuk@gmail.com>
Reviewed-by: Michal Wilczynski <michal.wilczynski@intel.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
---
v5:
Only update caps on hypercall success - Roger
Add Juergen & Michal Reviewed-by: - hopefully okay with above change

v4:
Use xen_santize_proc_cap_bits() name - Michal
Rephrase comment - Michal

v3:
Move xen_sanitize_pdc() call to arch_acpi_set_proc_cap_bits() to cover
_OSC and _PDC.
drivers/xen/pcpu.c is CONFIG_DOM0 && CONFIG_X86

v2:
Move local variables in acpi_processor_eval_pdc() to reuse in both conditions.
---
 arch/x86/include/asm/acpi.h           | 14 ++++++++++++++
 arch/x86/include/asm/xen/hypervisor.h |  9 +++++++++
 drivers/xen/pcpu.c                    | 22 ++++++++++++++++++++++
 3 files changed, 45 insertions(+)

diff --git a/arch/x86/include/asm/acpi.h b/arch/x86/include/asm/acpi.h
index c8a7fc23f63c..f896eed4516c 100644
--- a/arch/x86/include/asm/acpi.h
+++ b/arch/x86/include/asm/acpi.h
@@ -16,6 +16,9 @@
 #include <asm/x86_init.h>
 #include <asm/cpufeature.h>
 #include <asm/irq_vectors.h>
+#include <asm/xen/hypervisor.h>
+
+#include <xen/xen.h>
 
 #ifdef CONFIG_ACPI_APEI
 # include <asm/pgtable_types.h>
@@ -127,6 +130,17 @@ static inline void arch_acpi_set_proc_cap_bits(u32 *cap)
 	if (!cpu_has(c, X86_FEATURE_MWAIT) ||
 	    boot_option_idle_override == IDLE_NOMWAIT)
 		*cap &= ~(ACPI_PROC_CAP_C_C1_FFH | ACPI_PROC_CAP_C_C2C3_FFH);
+
+	if (xen_initial_domain()) {
+		/*
+		 * When Linux is running as Xen dom0, the hypervisor is the
+		 * entity in charge of the processor power management, and so
+		 * Xen needs to check the OS capabilities reported in the
+		 * processor capabilities buffer matches what the hypervisor
+		 * driver supports.
+		 */
+		xen_sanitize_proc_cap_bits(cap);
+	}
 }
 
 static inline bool acpi_has_cpu_in_madt(void)
diff --git a/arch/x86/include/asm/xen/hypervisor.h b/arch/x86/include/asm/xen/hypervisor.h
index 7048dfacc04b..a9088250770f 100644
--- a/arch/x86/include/asm/xen/hypervisor.h
+++ b/arch/x86/include/asm/xen/hypervisor.h
@@ -100,4 +100,13 @@ static inline void leave_lazy(enum xen_lazy_mode mode)
 
 enum xen_lazy_mode xen_get_lazy_mode(void);
 
+#if defined(CONFIG_XEN_DOM0) && defined(CONFIG_ACPI)
+void xen_sanitize_proc_cap_bits(uint32_t *buf);
+#else
+static inline void xen_sanitize_proc_cap_bits(uint32_t *buf)
+{
+	BUG();
+}
+#endif
+
 #endif /* _ASM_X86_XEN_HYPERVISOR_H */
diff --git a/drivers/xen/pcpu.c b/drivers/xen/pcpu.c
index b3e3d1bb37f3..508655273145 100644
--- a/drivers/xen/pcpu.c
+++ b/drivers/xen/pcpu.c
@@ -47,6 +47,9 @@
 #include <asm/xen/hypervisor.h>
 #include <asm/xen/hypercall.h>
 
+#ifdef CONFIG_ACPI
+#include <acpi/processor.h>
+#endif
 
 /*
  * @cpu_id: Xen physical cpu logic number
@@ -400,4 +403,23 @@ bool __init xen_processor_present(uint32_t acpi_id)
 
 	return online;
 }
+
+void xen_sanitize_proc_cap_bits(uint32_t *cap)
+{
+	struct xen_platform_op op = {
+		.cmd			= XENPF_set_processor_pminfo,
+		.u.set_pminfo.id	= -1,
+		.u.set_pminfo.type	= XEN_PM_PDC,
+	};
+	u32 buf[3] = { ACPI_PDC_REVISION_ID, 1, *cap };
+	int ret;
+
+	set_xen_guest_handle(op.u.set_pminfo.pdc, buf);
+	ret = HYPERVISOR_platform_op(&op);
+	if (ret)
+		pr_err("sanitize of _PDC buffer bits from Xen failed: %d\n",
+		       ret);
+	else
+		*cap = buf[2];
+}
 #endif
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 08 23:32:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 08 Nov 2023 23:32:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629420.981673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0s2H-0007v6-D8; Wed, 08 Nov 2023 23:32:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629420.981673; Wed, 08 Nov 2023 23: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 1r0s2H-0007uz-99; Wed, 08 Nov 2023 23:32:37 +0000
Received: by outflank-mailman (input) for mailman id 629420;
 Wed, 08 Nov 2023 23:32: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 1r0s2F-0007um-VV; Wed, 08 Nov 2023 23: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 1r0s2F-0002hB-L9; Wed, 08 Nov 2023 23: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 1r0s2F-00027e-4i; Wed, 08 Nov 2023 23:32:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0s2F-0005J0-4G; Wed, 08 Nov 2023 23:32: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=A3HhGkkWQSn86rw93Mzri0W39E9NuUx6YSgaLHvr5hc=; b=s5jV8/npJ01l+0LOWsm64LTd/F
	F+Z2oIpA2ierxcM7MDrmbH3FCVX6QTjxlI9wto+ncuCLSVC+78rPh6TCUhGpIwuS05AteT3Jg5nLg
	rsCrNzVMrqe9l4CVDs1/ebIG7jD1aJcYkZ3MWnxRAiH7Aht99sXiRb575ESAvv5hwAKc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183713-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183713: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw: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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=305230142ae0637213bf6e04f6d9f10bbcb74af8
X-Osstest-Versions-That:
    linux=13d88ac54ddd1011b6e94443958e798aa06eb835
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 08 Nov 2023 23:32:35 +0000

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

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 183708
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183708
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183708
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183708
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183708
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183708
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183708
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183708
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-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-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-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     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-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                305230142ae0637213bf6e04f6d9f10bbcb74af8
baseline version:
 linux                13d88ac54ddd1011b6e94443958e798aa06eb835

Last test of basis   183708  2023-11-07 20:42:39 Z    1 days
Testing same since   183713  2023-11-08 09:26:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Deucher <alexander.deucher@amd.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Arnaud Pouliquen <arnaud.pouliquen@foss.st.com>
  Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
  Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
  Ben Wolsieffer <ben.wolsieffer@hefring.com>
  Bjorn Andersson <andersson@kernel.org>
  Candice Li <candice.li@amd.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chen Jiahao <chenjiahao16@huawei.com>
  Chen-Yu Tsai <wenst@chromium.org>
  Christian König <christian.koenig@amd.com>
  Conor Dooley <conor.dooley@microchip.com>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Airlie <airlied@redhat.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dongliang Mu <dzm91@hust.edu.cn>
  Felix Kuehling <Felix.Kuehling@amd.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Geert Uytterhoeven <geert@linux-m68k.org>
  Hawking Zhang <Hawking.Zhang@amd.com>
  Heiko Stuebner <heiko@sntech.de>
  Hersen Wu <hersenxs.wu@amd.com>
  Ilya Bakoulin <ilya.bakoulin@amd.com>
  Javier Martinez Canillas <javierm@redhat.com>
  Jocelyn Falempe <jfalempe@redhat.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Justin Stitt <justinstitt@google.com>
  Kathiravan T <quic_kathirav@quicinc.com>
  Kenneth Feng <kenneth.feng@amd.com>
  Konrad Dybcio <konrad.dybcio@linaro.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kun Liu <kun.liu2@amd.com>
  Laura Nao <laura.nao@collabora.com>
  Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
  Laurent Pinchart <laurent.pinchart@ideasonboard.com>
  Li Ma <li.ma@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Lin.Cao <lincao12@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  lizhe <sensor1010@163.com>
  Ma Jun <Jun.Ma2@amd.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Mark Brown <broonie@kernel.org>
  Mathieu Poirier <mathieu.poirier@linaro.org>
  Matthias Brugger <matthias.bgg@gmail.com>
  MD Danish Anwar <danishanwar@ti.com>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Mukul Joshi <mukul.joshi@amd.com>
  Nathan Chancellor <nathan@kernel.org>
  Nikita Travkin <nikita@trvn.ru>
  Perry Yuan <perry.yuan@amd.com>
  Praveenkumar I <ipkumar@codeaurora.org>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rob Herring <robh@kernel.org>
  Robert Marko <robimarko@gmail.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Sung Joon Kim <sungkim@amd.com>
  Tanmay Shah <tanmay.shah@amd.com>
  Tao Zhou <tao.zhou1@amd.com>
  Tim Huang <Tim.Huang@amd.com>
  Tinghan Shen <tinghan.shen@mediatek.com>
  Tong Liu01 <Tong.Liu01@amd.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Varadarajan Narayanan <quic_varada@quicinc.com>
  Vegard Nossum <vegard.nossum@oracle.com>
  Viresh Kumar <viresh.kumar@linaro.org>
  Wayne Lin <wayne.lin@amd.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yifan Zhang <yifan1.zhang@amd.com>
  ZhenGuo Yin <zhenguo.yin@amd.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                              starved 
 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-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-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
   13d88ac54ddd..305230142ae0  305230142ae0637213bf6e04f6d9f10bbcb74af8 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 01:23:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 01:23:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629430.981683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0tkz-0003fH-Ob; Thu, 09 Nov 2023 01:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629430.981683; Thu, 09 Nov 2023 01: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 1r0tkz-0003fA-LM; Thu, 09 Nov 2023 01:22:53 +0000
Received: by outflank-mailman (input) for mailman id 629430;
 Thu, 09 Nov 2023 01:22: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=UNjr=GW=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r0tky-0003f4-R6
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 01:22:52 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0612.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f4db1c7-7e9e-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 02:22:50 +0100 (CET)
Received: from AS9PR06CA0465.eurprd06.prod.outlook.com (2603:10a6:20b:49a::17)
 by VI1PR08MB5389.eurprd08.prod.outlook.com (2603:10a6:803:137::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Thu, 9 Nov
 2023 01:22:44 +0000
Received: from AM2PEPF0001C714.eurprd05.prod.outlook.com
 (2603:10a6:20b:49a:cafe::1d) by AS9PR06CA0465.outlook.office365.com
 (2603:10a6:20b:49a::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.26 via Frontend
 Transport; Thu, 9 Nov 2023 01:22:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C714.mail.protection.outlook.com (10.167.16.184) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.17 via Frontend Transport; Thu, 9 Nov 2023 01:22:43 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Thu, 09 Nov 2023 01:22:42 +0000
Received: from 81814b3ee114.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B73D3D70-448E-4143-B8B4-730E6C4460E8.1; 
 Thu, 09 Nov 2023 01:22:36 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 81814b3ee114.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Nov 2023 01:22:36 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB9249.eurprd08.prod.outlook.com (2603:10a6:10:418::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Thu, 9 Nov
 2023 01:22:33 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.6977.019; Thu, 9 Nov 2023
 01:22: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: 7f4db1c7-7e9e-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=X72ljynSJ1Swphgi9RD/pAXDq8+CdzsYAYhonOEGC21C+17PMRngmOXsNaazRyC32JpBDUDRoKDLSx2Y9GB1hc60jNxxTUXtSiZpZpmDSp4QdFC/Y3clWmGpn9Rgj2PLIG6znAjV/ZO7N8XnDt2UI/EksP3H2J0F4W2GN9XbJD5E4NS28tHyn3OMFVkQjfODHgqyr2hio3CYqrc+OgsFf/do42uobTtkKbXo1Fai1u1656f/It8zyoQXV3VfQl1Hi1bUawx6CfEMiiLRQ7zaENrZx79y+NqwXfs+CWL/+PNWy7yfV5EF0aZ4rwDO7uH8IqXhW3qqhMb2eNdNhSEL8Q==
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=ai7ZYBrMvU1rgkvoWnti+Q683bt6Jnz0AJc6Zyl1acI=;
 b=EsPTbEWlOf6hpJFCz2Y9gYIOcKfbywHMcm3XSjLaXj6xf4skUS3RVR2WDBTEZI74HSHGDt9Yi1BW3lbKDMyfaafIE8gZRhFgrQnxCxwcZ9xBnFtmWG/co/sYPTUkI71DyiNIt98wlASTvgWtlthOxP0z5OoPZi8RmV9gwslVFd3SwzeBP2PWvIfg5ztgoViHtiy9UxB5YqRFT1YFA412GmHt9ZrcJipgbRkR/7FMVhJzC30zbFw+H+JSPzkjcrqvyheUVckdx+yR6cixuyyVSJV0MSAGopOMzeGeGohKYR0aripy4H8Fwjhp5qzenctc01+UpAfUUDL3U3dK6chceg==
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=ai7ZYBrMvU1rgkvoWnti+Q683bt6Jnz0AJc6Zyl1acI=;
 b=le3ePD7XFqwctrsmtGog4ggX2Li8qYte6vsPiTkfB4Yw15HOdNJqLVmwzkqTWY8g8i7nICDI+7r8D/OcyvvFg/UCk8rett+Lvj7dbQES2ZZ485rgE73RWu5GL8km9rlEM1KU4d7GydNxZW++rGDo7wTwDKimDI+biWd6ufoPCiM=
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: 21557497394adcba
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=af4TycDrJ9QEBeUDJd0fYxp0WnQSustSEk9Q72BX03JwnezT5wxUS/4+cs0NmfXCzYzVBlLSeC/XHHsmtv1+wWJLdeAPRFLFmjnsY02RqN67gecFcquh99QhBwV7Cd264UgzAclATiFkE2EpGLjIsEyFlKy+BBYWU6M4e9LTDAA9b6+i3z/C2j94+fsed0c62KLY252n0OiKx4FJSQOijCldR9DxZSiQEmT4fRJE10KHJL/Ywz4931dC5oPDEX3TPRq8I4aqjdoYl+QqgKA7HlROOgLy0A3s5m2tNy2WAsuzcQD9TzrstRX70ZUEYaZHgP2va/55AkFOCGENCW/UcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ai7ZYBrMvU1rgkvoWnti+Q683bt6Jnz0AJc6Zyl1acI=;
 b=JKZ1fas/xiCe5uhiLD8dl5qtwnf7xgUnI+bAqgHzm/wStwgC81xOUDKC1Q8jSujaymOEWBkUlEUHuI2xqLhlM0aQTy1we3C2L8tlbsCqA/NluGehAUUlPQppnlIX3S/IaoHXjUxcWP+Jm/RjFmx+kEiDFXoFxcYGxdNFeWVjMHZOpew4yo6e0yqqu8GZsrUTk6hL+U8ghAx4lq7ziXUlv0BHNhTIvsYvW5A7L/H41sidhn3mE4zDjhh/Khkfd4CF0y7R/BBvmFqCE9QWjs5ba5WCYKwJ1dMQ0N7stHl4XGD5EQ7cGieWGApKQARjfhBTgu2aoklDv6qimTHfgiaW6g==
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=ai7ZYBrMvU1rgkvoWnti+Q683bt6Jnz0AJc6Zyl1acI=;
 b=le3ePD7XFqwctrsmtGog4ggX2Li8qYte6vsPiTkfB4Yw15HOdNJqLVmwzkqTWY8g8i7nICDI+7r8D/OcyvvFg/UCk8rett+Lvj7dbQES2ZZ485rgE73RWu5GL8km9rlEM1KU4d7GydNxZW++rGDo7wTwDKimDI+biWd6ufoPCiM=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, George Dunlap
	<George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>, Christopher Clark <christopher.clark@starlab.io>, "Daniel P
 . Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH for-4.18 1/3] docs/sphinx: Fix syntax issues in
 hyperlaunch.rst
Thread-Topic: [PATCH for-4.18 1/3] docs/sphinx: Fix syntax issues in
 hyperlaunch.rst
Thread-Index: AQHaElgrP0BFnpaP60CJZxz3PMML7rBxMbAA
Date: Thu, 9 Nov 2023 01:22:33 +0000
Message-ID: <F0D2B705-CA60-4A66-9EBE-919AAC8E9E24@arm.com>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com>
 <20231108152727.58764-2-andrew.cooper3@citrix.com>
In-Reply-To: <20231108152727.58764-2-andrew.cooper3@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU0PR08MB9249:EE_|AM2PEPF0001C714:EE_|VI1PR08MB5389:EE_
X-MS-Office365-Filtering-Correlation-Id: 915e0ee5-a5a3-4dfc-95e3-08dbe0c25fa4
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:
 pX2C4fK2V6soi0lcomczNp60UOxG5OVAV7S9TozRIKVnzjyxd/Ap5xW9GGucHT0j9K+rnqG0WhlJAtXbaBdwmPyskdeGQxU5souGYQI4FMHjBen4a18vwAwesQ7cjjvIOFlNRRE2zraT8C0qMrpB20dtvtashQjHLS9y6pM3EULIb3kBXKbjZs0Gi9vuWktw+6TR9ZguT1YW+HurVTWnl+uZpvGv0lSHhgpI+bI2GCMsYrO1tAaGjhx9ABU9qXW3aIaOOLH+RuWzTlDy43kVJHmc1D0og1HpIyftmYdjwalD3cy+/hrKGQW9vjE/JWWeiXgjoxqeIkZeGYiq8c94L2Flw9pkVc8rpek+YVMgPqHhchkS+gGGwj6NQjywwjHMGowtNLEh1c46YTtdpnN3AGizmRtp6Stqs7SNXiAEtjS6kFjXGFCS2iowd99SCR+EMrD8AU+cFsg7tRiKgXd5QJQdPki4W8vqby76RmIG8y8p4Z+KunPzLTa3novylrbtXX+NV8IfQ1Ndhyyes6+C0Jg4p4O11ljXaP/xYZ8IcGogx8Dd1KqbjguKKpeWUe6QExT7x6LLI6UQTPqfjHcAwJspPN3pEamK5djGXo1SQjv9Sf0VF/887ZWeYgy+czpAVyOsObYSNogj/CdR7JxNPcVUOhvlKqaDUB0h1/Zq1IDWqOE1ckm8VOkcSm9SIxWB
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:(13230031)(346002)(366004)(39860400002)(136003)(376002)(396003)(230273577357003)(230173577357003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(8936002)(36756003)(4326008)(8676002)(41300700001)(38100700002)(5660300002)(2906002)(6512007)(53546011)(6486002)(66476007)(33656002)(54906003)(6916009)(66446008)(64756008)(316002)(4744005)(86362001)(91956017)(66556008)(83380400001)(26005)(2616005)(122000001)(38070700009)(76116006)(66946007)(71200400001)(478600001)(6506007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CA2DF9A9081B63498EB7295D4BCC939A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9249
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:
 AM2PEPF0001C714.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	08037531-882b-430d-dd81-08dbe0c25979
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8AseRn7kGjKZHwRhY0DNeZCnodXd5o9xzHdNxWPP1FoZEzM4M0Ocoq/n6/vv3S/cULLlnKMxXCyuIMupK6Hnb+CGvR6vRmyHGb33U2zQlErn2jYg9f+uMHMSsaQmoTqfQU8hs1fgTBW0znPoAN9CYgAPhhQsuf8J9FybkzZJcWBZMD1oVFOsWzsPTOIBJJgL0ucLVTR9zcXbpC5jKsigbySx4QG3u60mxjLnzJLjMbyFlEyn1//2KwDj02wek2QAM7IbIaFWln2ixywzykKC8/Pv2M8rJC5yz6mgotKJ6WZPdYa/y+mnvGTyj1PCK5dyDKQXqkKCGccAPh27RVcK5cnvKWXsyPjJXKkWv7JtB4vDICLvxMTxYmq/SLpydOqfP3gh9x/JsXa5Flv0rt5qMKDewFSoUVuPe1hmaVeHPYb1MucS8JtQHiM12cmI6cqvb1W/QDBdBnA3U8KZwcK2wCD39HbYg00HX/ew+KrdXNBJNoKN4dsDHS90ni1AgtCsroX9Q0eZY4seT66BtYZQ/LOCavWy+uKDR+mV2eKe2ikNJJl/xU99q3zeM0R7Lk37938usFtViGzJ4HhVrEgUYgse5HghdTDhB6NyIIhtgrlUZO74/FnnnEU7aNcZMRaTz+75LfCRmADkvSw6ITGeLN6KDyY2fcy27ncfFDHkFuNQuJCywiyex31jlFlENsDIU8Abv3VSIg50lpcHuFxoI5+XC723pOjWuIjsyJrw+CPlsEEjcrA2N+W/yDxp2iZnNeaUDqmT9ekEL7RXag+qPOHNxnq+zn61XPj+HmxrcQI=
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:(13230031)(4636009)(396003)(39850400004)(346002)(136003)(376002)(230922051799003)(230273577357003)(230173577357003)(186009)(82310400011)(64100799003)(451199024)(1800799009)(36840700001)(40470700004)(46966006)(36860700001)(356005)(6506007)(53546011)(83380400001)(81166007)(40480700001)(47076005)(336012)(6512007)(40460700003)(107886003)(2616005)(86362001)(41300700001)(2906002)(4744005)(36756003)(8936002)(33656002)(5660300002)(4326008)(6862004)(70206006)(54906003)(316002)(70586007)(82740400003)(26005)(478600001)(6486002)(8676002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 01:22:43.5487
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 915e0ee5-a5a3-4dfc-95e3-08dbe0c25fa4
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:
	AM2PEPF0001C714.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5389

Hi Andrew,

> On Nov 8, 2023, at 23:27, Andrew Cooper <andrew.cooper3@citrix.com> wrote=
:
>=20
> sphinx-build reports:
>=20
>  docs/designs/launch/hyperlaunch.rst:111: WARNING: Title underline too sh=
ort.
>  docs/designs/launch/hyperlaunch.rst:203: WARNING: Unexpected indentation=
.
>  docs/designs/launch/hyperlaunch.rst:216: WARNING: Unexpected indentation=
.
>=20
> Nested lists require newlines as delimiters.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 01:23:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 01:23:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629431.981693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0tl9-0003wT-0S; Thu, 09 Nov 2023 01:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629431.981693; Thu, 09 Nov 2023 01: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 1r0tl8-0003wM-T3; Thu, 09 Nov 2023 01:23:02 +0000
Received: by outflank-mailman (input) for mailman id 629431;
 Thu, 09 Nov 2023 01:23: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=UNjr=GW=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r0tl7-0003f4-N6
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 01:23:01 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8502fe0c-7e9e-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 02:23:00 +0100 (CET)
Received: from AS9PR06CA0764.eurprd06.prod.outlook.com (2603:10a6:20b:484::18)
 by DU2PR08MB7341.eurprd08.prod.outlook.com (2603:10a6:10:2f0::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Thu, 9 Nov
 2023 01:22:56 +0000
Received: from AMS0EPF0000019B.eurprd05.prod.outlook.com
 (2603:10a6:20b:484:cafe::cb) by AS9PR06CA0764.outlook.office365.com
 (2603:10a6:20b:484::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18 via Frontend
 Transport; Thu, 9 Nov 2023 01:22:56 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019B.mail.protection.outlook.com (10.167.16.247) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 01:22:55 +0000
Received: ("Tessian outbound 385ad2f98d71:v228");
 Thu, 09 Nov 2023 01:22:55 +0000
Received: from 050143db9a9b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2F92A79E-FA28-422F-8AB9-5463DB6EF2D3.1; 
 Thu, 09 Nov 2023 01:22:49 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 050143db9a9b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Nov 2023 01:22:49 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB9249.eurprd08.prod.outlook.com (2603:10a6:10:418::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Thu, 9 Nov
 2023 01:22:46 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.6977.019; Thu, 9 Nov 2023
 01:22: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: 8502fe0c-7e9e-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Ho3H2tja2jEGaQ1Y92UOxz7G3lB2WNIH0sgKgzlDRqrBXhF2BdnnxNr42l4Uh3D+3pF+1trNDvH2S7XU58UD9nGNNM+2Q3wSnrut0nfl41V1qO1hGViWjZjyV9Wx9bSB/kQkKu66snlhz6kIvS/SVh8FYLtFHiekaJqbhZk4kjgb1DnuYxCWuqG0xEQ8zRMDWDvmFz4dIqXlFJBOUZO8XhSzpfQv+8KSqkiElCmwMZDPJBH6eZHoW9C6d3NAJJKxMbOKwSPaT6ZUpEgpWbJFh2cR+yNYr1mPpt0RAq0qve0s8/OTOM+ZJjKJq2qgDGh6rwaRdV5DZDqNUsl5H+PswQ==
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=iOGYa65Y6bj9F0gfIBshg3N5r7jS0Ox3u7mbQtTrWBs=;
 b=aPASuR9jUotmb8LVcl7ZLD2Iy4YLKzo8MKEJOhphRXTxDZNPV9+1P3f8oRe+S9YnfsU3EWi4p2ZhC/N9FPRETxdPN3dUFXLxFKbLqeMRKBbrIj4qMlAc/9oSGHVipBSF6ONhP6O+SyCfmEF5qeyktls4gjfJSXVcFtpPcswbtIIntTJ/EuekNvXR+pjtvxf5AEqajH+J2GzJqK44i7PsH/VDzD812E2cd6FM+OOTIho3zqUOXpizXmimG9Gm+ytJiML1XYpfik5fab8FVttjF4+LEN9d2TpHNnPCb0oapojm/QV3jw2disFi5cs2PoYjS5m0DXFovMLZ0U62lcsfzQ==
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=iOGYa65Y6bj9F0gfIBshg3N5r7jS0Ox3u7mbQtTrWBs=;
 b=pOmEQ1EO2+EVf/I1KTjlpOn3hYkUsU00mdrVgWRhhE1gKymO70sVwJgomItUECyudgovaAxweiHFD87IaazCgWsAwwB9Kv4sQ8g6FgYr9BtYhYmwbStHAQglkFEN6olEopfzFaH4d21j+XLzzPzn5OvZvwhtvei27VBoWMLCxFU=
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: 058bac3eba953740
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VNxYJ+zjXKLoTMjxzqtMJm5+f4qk6JqPsLIbMEeM+HIl1lMuiFySFJKEswzZUVOVH+amu1FmyZisb53yRxcO7uUazBeL/v2G3LAn04S8zQvoyyAmenDPXpyxdEJ+Tk6tF0bmL4yAN57D/klO3J03TRL6I+WLacE+o1VdyuJziQHmwczxx77ZwR4j6Uib/cFbB/r1+vCFe2ZGrhcAmRb5eEyuwRFFzcJjsqtMK4+Pvsm+4xg4nf0Cq5BmOlHyNfVqh52BpCg+xFFwpdOKdF4Mm1hQ5O3K5AAJlP9gcrD9J7Pn2V9QhE46xtPmWY7jCBDa3t26rlapaHRvyuLiYGxbZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iOGYa65Y6bj9F0gfIBshg3N5r7jS0Ox3u7mbQtTrWBs=;
 b=bWS8SsNXvEWcS3Wo3/lMIrpPoN6JbHwt26ylgAGbpScIwZvw1C4cm0by3xiLs5O7iWpBvxTUm4xHFWDdc0zh2IteAqUmN1wkg2iHj/c7MA2jE63XCdrGhsGbhdxkA0456N2o1LBKSWh0tQLlmTKTYQVKyzc6CJaC5W9O/91RjCu/PZROVQ9/TXPRh/rENP4vLz0ZfFvMl+eJPwG6TWypUMaBg1szdeMi0DHId7jEuL/zBECA1eWObH0mIZ6pJ04hR4hQaw1brn4mSxCIBIUiSrLFQvmaHp5x5SomWAd2wjlGNib7N0WVwIeG2ksqsTjwTnxYzCddcLRYvPfx4gImgQ==
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=iOGYa65Y6bj9F0gfIBshg3N5r7jS0Ox3u7mbQtTrWBs=;
 b=pOmEQ1EO2+EVf/I1KTjlpOn3hYkUsU00mdrVgWRhhE1gKymO70sVwJgomItUECyudgovaAxweiHFD87IaazCgWsAwwB9Kv4sQ8g6FgYr9BtYhYmwbStHAQglkFEN6olEopfzFaH4d21j+XLzzPzn5OvZvwhtvei27VBoWMLCxFU=
From: Henry Wang <Henry.Wang@arm.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, George Dunlap
	<George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH for-4.18 2/3] docs/sphinx: Fix syntax issues in
 exclude-list.rst
Thread-Topic: [PATCH for-4.18 2/3] docs/sphinx: Fix syntax issues in
 exclude-list.rst
Thread-Index: AQHaElgouQCqTbk0NEq6GmHeWdAzdLBwjF2AgAClYwA=
Date: Thu, 9 Nov 2023 01:22:46 +0000
Message-ID: <07BDA6A5-A7E3-4570-8FB3-1A39CE3AD8DE@arm.com>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com>
 <20231108152727.58764-3-andrew.cooper3@citrix.com>
 <4477F755-39D5-4560-98F1-92D37343088F@arm.com>
In-Reply-To: <4477F755-39D5-4560-98F1-92D37343088F@arm.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU0PR08MB9249:EE_|AMS0EPF0000019B:EE_|DU2PR08MB7341:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ac8982c-23dc-4bc4-e841-08dbe0c266d7
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:
 H1h/tj8KIoRXI2dpTDNEwxL1X6IZswbrXVTYB1DkHIQiQz+Yln9re+l9Sde7s6muDP3ECE/xjx1wPfJ3ole9SJfqlqwaZJSCQYhs+Hklt1NZXkYsVCg9oc3ehqQLL6sjejNsOvd3ruJFex55xNbOq3gt0U9nMI2iPhhgPV+XjpuiRHxyPy9Bq5a42F6F207JD+4APuyaZmBB8/e7X6Uzf6xHkaw5Q4h/NHykMH2BU7f/QH3EnIced8iI7ko4FsEmrlXJNgvXClAtvaVL5gyTEPU3n+GF68+PU88cGUpPffhJ4snB7wHRygcGnYyq+qKDFggeOmf6L1Llavkzz55nl2pwwXEGvM+2x6k464CsoVCk/NZOSts8WWf8TzGoTR5FpmKXx3cpluew/lZVCPx7yhmQ9BLGFlepWuSe0DAuZ19qTBOGXMuB78SeHS+xLqW8Q0ZyGstOTjAQbjQ1URGHR8/lmwGOWBwj8UFZ02GyYCMnjii76EFG5CYvG6NeUfSWfRVzjLGSnOJnu8gaO83ylDH5CL8rhNZcd5GwVNf1DLVSm7+WiOkLj9kwnb9ljMRPmJgx2mXi7RXsM+5KjZgoh4CfZf0cSTuWjT2oUpEIPsjLGdWEVArDO+yaIofkukcnGZgT0efSP/f6qod6mc4l8fKTUTg4gvbwMK6rMAvpA4oIgsuXL/vCV4UowwToY3VY
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:(13230031)(346002)(366004)(39860400002)(136003)(376002)(396003)(230273577357003)(230173577357003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(8936002)(36756003)(4326008)(8676002)(41300700001)(38100700002)(5660300002)(2906002)(6512007)(53546011)(6486002)(66476007)(33656002)(54906003)(66446008)(64756008)(316002)(4744005)(86362001)(91956017)(66556008)(83380400001)(26005)(2616005)(122000001)(38070700009)(76116006)(110136005)(66946007)(71200400001)(478600001)(6506007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <7386946F214D16479D2BB78315FF46BA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9249
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:
 AMS0EPF0000019B.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	de70b769-417b-4603-65f2-08dbe0c2618f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XgA/33EVFzo1KQ4rPMvxJwn0SkfGmEDqKCNByK73dzUBUS+CAcOoC9BZyEy/HYWGIeKL4VPeI24r2nD/UVWSoE2I4C0GzSfftI8EWkZ2aoGOLGSDvSYpNLlpMQwZoK6gxo+d56Y42TrWlxGClTexQJ7QQy6GRli+JZTXfCJkmIC5NSlNmFtlXylXycFEcDMKzPCYi9Ht+ctAfL5w9n9PWggGYA1LWczytyrOWY4c+HBDgMgFQaALt76M/XplSgAgFYZ/P24MGWQmfwSRCxXmt3CwYXu7wlKvWalLVASsQaWU3QmOcskizF0PU7KUHQYHvM+vHD+AfMYgQuaUhgLffoBJT1WK8KcKZBGIYZeGd/XT0WxD5R6fbtt1T4A3WKeICeyYrl/C5zKBYlQq0+T23YUUzoEpNdlxzGUoqDkwDli/kiUM2cJw75RDE/eJeB84pFOEdhWoU/+T4pjqwh1JLzpD4xyQOKefMpWfe99gZe+1MI73q3/T6YiMDybyqzt7Ne76w2Hj/8Or8UyvSCOTn7VRo54ZTlK8YJE5n4jxIQW2usv1cQfVbxMHxnKsoRIA7N3MWywFVPgnMbcfCykNWhV4cPZbCctZg8DctgpPhVWdQpuJvi4fhROGVr3VRDY6bknEdwuqEoCAf6E0nFGKk+RgKu2jSvb2XRBPpdGAasdsd6z3/KiEhjBCtxwrCkW5Nm7PxDBoa4/DsFkKALfJulN1r8I4og1VzJ7TXaM8pFR0I1qBMlI99heCadWPQw5Lsa1T20OW3IQCXcOvfFWt65EVatXN3ygxG8vBmftXIkI=
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:(13230031)(4636009)(376002)(39850400004)(136003)(396003)(346002)(230173577357003)(230273577357003)(230922051799003)(1800799009)(82310400011)(451199024)(64100799003)(186009)(46966006)(36840700001)(40470700004)(40460700003)(36756003)(33656002)(336012)(8936002)(316002)(8676002)(83380400001)(4326008)(70206006)(36860700001)(54906003)(110136005)(70586007)(5660300002)(4744005)(478600001)(6512007)(41300700001)(2906002)(47076005)(40480700001)(6486002)(6506007)(2616005)(53546011)(82740400003)(81166007)(86362001)(26005)(356005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 01:22:55.6291
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ac8982c-23dc-4bc4-e841-08dbe0c266d7
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:
	AMS0EPF0000019B.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7341

Hi,

> On Nov 8, 2023, at 23:30, Luca Fancellu <Luca.Fancellu@arm.com> wrote:
>=20
>> On 8 Nov 2023, at 15:27, Andrew Cooper <andrew.cooper3@citrix.com> wrote=
:
>>=20
>> sphinx-build reports:
>>=20
>> docs/misra/exclude-list.rst:47: WARNING: Unexpected indentation.
>> docs/misra/exclude-list.rst:50: WARNING: Inline emphasis start-string wi=
thout end-string.
>>=20
>> Nested lists require newlines as delimiters, and * either needs escaping=
, or
>> put in a literal block.
>>=20
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>=20
> Thanks for that.
>=20
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry


>=20
> Cheers,
> Luca
>=20
>=20
>=20



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 01:23:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 01:23:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629432.981703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0tlT-0004mW-AC; Thu, 09 Nov 2023 01:23:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629432.981703; Thu, 09 Nov 2023 01:23: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 1r0tlT-0004mM-4x; Thu, 09 Nov 2023 01:23:23 +0000
Received: by outflank-mailman (input) for mailman id 629432;
 Thu, 09 Nov 2023 01:23: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=UNjr=GW=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r0tlR-0003f4-Lg
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 01:23:21 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe13::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9121d2e7-7e9e-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 02:23:20 +0100 (CET)
Received: from AM6PR08CA0045.eurprd08.prod.outlook.com (2603:10a6:20b:c0::33)
 by AS1PR08MB7498.eurprd08.prod.outlook.com (2603:10a6:20b:4dd::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Thu, 9 Nov
 2023 01:23:16 +0000
Received: from AMS0EPF0000019E.eurprd05.prod.outlook.com
 (2603:10a6:20b:c0:cafe::ce) by AM6PR08CA0045.outlook.office365.com
 (2603:10a6:20b:c0::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18 via Frontend
 Transport; Thu, 9 Nov 2023 01:23:16 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019E.mail.protection.outlook.com (10.167.16.250) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 01:23:16 +0000
Received: ("Tessian outbound 5d213238733f:v228");
 Thu, 09 Nov 2023 01:23:15 +0000
Received: from c87e1befbfc8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1682AE90-D5CD-483B-8A3F-C0281451174E.1; 
 Thu, 09 Nov 2023 01:23:09 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c87e1befbfc8.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Nov 2023 01:23:09 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU0PR08MB9249.eurprd08.prod.outlook.com (2603:10a6:10:418::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Thu, 9 Nov
 2023 01:23:07 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.6977.019; Thu, 9 Nov 2023
 01: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>
X-Inumbo-ID: 9121d2e7-7e9e-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=SFEpGK04NPDA35+0I4mI7osxzzUXF0QKYL1T0WmTNTsf0HMjYyhPL+OwW9j9X8WNbn1u7yGZqpFSluUDC9Eu7jJ2Kdzqwl4e890fxihc8uAw99quf9oHU2Mpl/LYniLy3fy3L4xQC/9t1eJprepIUSnqqw6re3LFbo8ABmp8dY2udtt0qFwJSOW9mIT1FNiSr7fQeecWlPXqfn3wWQGC7UukTtxMPFxaO5FifCzdgEPnaaLRZKpC231c2SGROf1GjOdiUrzLQikX/lts7wMcFX+ebqRKfKkZgtTbC7UinSHlVNs3ibI1SRHcThsLT0hYiK9RLACJTNSTbDCWBBdF5Q==
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=nTseFVpQZFQb5crCTE9p85Ab+9GF7e0z+/uZbIi1wvo=;
 b=XghUiAzhyweBFBFX88E0gP96lyM0eyH/l1qOBNQNLrczXGYoarIiAt5y+Q9lbZxBfuCFK7w2aOZDwx8e5PJcsIUturt6mGkbY8J38XMRpGdLFXBEFKCSj2w3w0HA9UAJgrpLBGqToqZGkL48KHbeFNjdWOV6LzDpXIqY19/HJUmYHkFB29zFDPyDEi+ZWFWrCp8CgXwT66X99V6hTwAtP7ckMnU8AmxouCdFGKzwf7500mFM+kHQ5aGbMSo0EJraehQfLVaRAmtFlHvj1iPTiq3U8e5hhx9RtF4QLEmKVyYNUTT8IygC6ahgmkgpjlSREN91hilb6ZZCInDnyxtd9A==
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=nTseFVpQZFQb5crCTE9p85Ab+9GF7e0z+/uZbIi1wvo=;
 b=b2qYd/Cz20KVlv5IYzrOhzQDnsWlIIkc3LLndF6jg80LEWYFDm9zYNc7Mvlk9nnvr9hAl9KPZfxWDPuD7/wbdsoTEnlz6WdLcHxh9UHMzFjs3vhMbPiLxqeKjJXd5RuQGlg4w45jVn2apWdjDjTXikiiE0PamXaI4ferFw+zsL8=
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: 80807e2a0a5cb3be
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EBDmjZFzsu5O7CQC1qOHXxK+k7/KWayEXmXQX9v/pPMBtkrDa4VZaZ1ylrz4jA3atEFtGLZKLW6iq7cg/HHCCTNWMrlfDPT8eyMtZ6tpeuea+XO9nqwAZaKmxUuZJ6w0JwwMuUvU/DxIctOSxi1BaOv+D0ssWfBvACRae26u7piCC0fP+YOHyUeFEJvhatDproJu8dYfHrtsMF8G+xz2w5srVSERSozeZOygdDMARofpXC5tPZWTHhvGlmTon09udrxrk6YU1YML/OANQekPUAKN/cq3/EUH6+SMZzuBs6YUBzgqkphwDgn6v/PuEDtHVW/YcTdOgKLkPyJGVZNI0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nTseFVpQZFQb5crCTE9p85Ab+9GF7e0z+/uZbIi1wvo=;
 b=M+oc170BltRHu04ULJ7U37U+T5Op8yJsVy8mxx30ZsgdLtyvthSYPouHvZtsWmpGVHFln2gQ+o8wcdfcB7B6xM3vCIP25p/YnUECgpHX3S0jxxWgV/3Aqs0AG6WootIQBSowjUimNw8DNnZpUpM9fjVTR1ifr8WXRHTosUdyTwd+QYr8WKb84MpHfOlROa0hj9jl0PmqhEXY+tqlQFxsLsN0EK9rgThLGAT2GgLWMp7b/JNAOoNGhMrhTMGe4Y3vuwbmdJDvCAOELPT0b79sfwhtx1TwacarklvHEOvw4o1rIHFQgSZJ2z3epdLpavc7rUYctdhr5JyKqbMrnpGbLQ==
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=nTseFVpQZFQb5crCTE9p85Ab+9GF7e0z+/uZbIi1wvo=;
 b=b2qYd/Cz20KVlv5IYzrOhzQDnsWlIIkc3LLndF6jg80LEWYFDm9zYNc7Mvlk9nnvr9hAl9KPZfxWDPuD7/wbdsoTEnlz6WdLcHxh9UHMzFjs3vhMbPiLxqeKjJXd5RuQGlg4w45jVn2apWdjDjTXikiiE0PamXaI4ferFw+zsL8=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, George Dunlap
	<George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, Julien Grall
	<julien@xen.org>
Subject: Re: [PATCH for-4.18 3/3] docs/sphinx: Fix indexing
Thread-Topic: [PATCH for-4.18 3/3] docs/sphinx: Fix indexing
Thread-Index: AQHaElgpkEvfSoQmUk+wgL6JMPzHXrBxMdgA
Date: Thu, 9 Nov 2023 01:23:07 +0000
Message-ID: <916CE5E9-0D04-4BA8-9A3B-E6C9469315B5@arm.com>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com>
 <20231108152727.58764-4-andrew.cooper3@citrix.com>
In-Reply-To: <20231108152727.58764-4-andrew.cooper3@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU0PR08MB9249:EE_|AMS0EPF0000019E:EE_|AS1PR08MB7498:EE_
X-MS-Office365-Filtering-Correlation-Id: b52ffbdb-3974-482f-5089-08dbe0c27309
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:
 NXq7fadnHV3SkCco6GiJ4f48BhLkYKs7Y9XiZJms+IgCXk9VEJnzfPRJXgBHwnTGwPOpi36Q161v3lilrJoBFikAuSwRxj6m4byXy6RHrsTb84QoCX9UEFwe7t+JV06GXNKkzO27IPWVEBHSRal7s9M8A+cTB6EJq5Dye14Uvr4/DR/opk9pdtq/4u7anBJtZ8vehFKwicIG0rykgqMVdXioiaYNwEBMFivLu9DyXPZ5VUwb5i6++4rGXCqx8BhByIhG1UOT85LuOEqRlXsfVmUdQ8kE1yFKlPMUi7OxW81IjCt6LIlr6LtOJ5E2iLdx5cNCyUjrhjSiJbyvwt9T6ZAKr2pYm9TNOoJc8vmbdxBr70D0eCimoiXlFAuQdh+ex7I9BEJcK0Njxm6FTtVyWY5XQ8N+erxld5UwhwWrEAmCH5K5bfkhwCJ2EXsetDtO/YcSvNqSSBFnlOIakdn4ieTtMVdDXvQyTJyMMSyTpvmTL+aIpNvqDaKySku9y5JBm+APZaSunprIY/1yJM5WpGu09j38epbo0HjJZoRQBNEAtnwijciY9XzLpbH6ykSYFtugLb0rpBwu3+Mx3pw/DYMiZoXNzvdBQVbkJHhEwTOPjYLWcAzazj9IouoiA1o1QPQo7Hj2dd8WnRRjkINRqtW3X38zfSpgai0X4P754JLe63mEfvIu/8buel06pnIm
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:(13230031)(346002)(366004)(39860400002)(136003)(376002)(396003)(230273577357003)(230173577357003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(8936002)(36756003)(4326008)(8676002)(41300700001)(38100700002)(5660300002)(2906002)(6512007)(53546011)(6486002)(66476007)(33656002)(54906003)(6916009)(66446008)(64756008)(316002)(86362001)(91956017)(66556008)(83380400001)(26005)(2616005)(122000001)(38070700009)(76116006)(66946007)(71200400001)(478600001)(6506007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <B5A9BDD879F8A3409574049B686358F0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9249
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:
 AMS0EPF0000019E.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	da4338a9-e419-4623-1594-08dbe0c26dd1
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V+G+PJbYALWnuvyNMCjW6FxeCfEQLNUB+VE7soO0kJnZ6Sx+wDRW75dtzGIZQu5icdYEw6+B+vkBwosgBs+RdSaoZCDkcYv/vl0aJDMBtOuTfAcqCUnH+J3MS92Fnw5vJyX8wnSki2Li1s3YFdG5OwdMqZf1CZCTG+6h40auWMr0EtCbtXixvM9F2zrfZuVXxfDEE5IravzHubKRy+Aol2FvjEcCTlQ1xXCOvnTD4uTbKvIT8a0goHr81vwA5N5h0rhB+i1QKCaFbgDHuZbO+NedPufScJvWuh2g5tcTkIVupSFXVbgbieoJ9AXEPZEoP3oZUr2dqaDBXVTEq+wCIVQXMZNBRoWwVKDM5jNsdgtAKhw583JKGv7v8aZhGQOdftASjywX0c4bm8aKf8XGENnw8Khp1stBFF1Gm39c0wzgIqSNFD3edlIWTrY4ZwC6G730b+tH2v4Qv2U/7lSWREOVQDSlCIBdndn8abtMsRYFeljHkt1zJQCmUJ7V9ygzkIcg3rwsqJqL1TcINVkhlk1oCTl/zTAXzya/NteahR6l+0vssrnYJHeBh3dwppOPdqQ0/s9X+ntsjgjpxKHldbw+uwbyatiuS5L5Mn88vxhr4huCSBEcrqDpHYl+IJZTkdhWhF1+3ABFWDGAklqSvDhAOMgUeArDqd32Yg9+9ctLG4MEKyYUwH5HGDxaEfuzB2cItnuT8pztP9xMLYZGH5mYMeBAdkDGSXS13/xrZ64O6dx0Ojiugy41ncEPZRbuL0pzRY7La6ufMIRbQbFI0N0v07S+OYPgWT0O0Qm9kR4=
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:(13230031)(4636009)(39860400002)(136003)(396003)(346002)(376002)(230173577357003)(230922051799003)(230273577357003)(64100799003)(186009)(82310400011)(1800799009)(451199024)(36840700001)(46966006)(40470700004)(36756003)(356005)(8936002)(6862004)(4326008)(8676002)(82740400003)(47076005)(81166007)(36860700001)(41300700001)(83380400001)(26005)(336012)(2906002)(2616005)(6512007)(478600001)(86362001)(53546011)(6506007)(40460700003)(40480700001)(6486002)(70586007)(70206006)(54906003)(33656002)(5660300002)(316002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 01:23:16.0855
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b52ffbdb-3974-482f-5089-08dbe0c27309
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:
	AMS0EPF0000019E.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR08MB7498

Hi,

> On Nov 8, 2023, at 23:27, Andrew Cooper <andrew.cooper3@citrix.com> wrote=
:
>=20
> sphinx-build reports:
>=20
>  docs/designs/launch/hyperlaunch.rst: WARNING: document isn't included in=
 any toctree
>  docs/designs/launch/hyperlaunch-devicetree.rst: WARNING: document isn't =
included in any toctree
>  docs/misc/xen-makefiles/makefiles.rst: WARNING: document isn't included =
in any toctree
>  docs/misra/C-language-toolchain.rst: WARNING: document isn't included in=
 any toctree
>  docs/misra/C-runtime-failures.rst: WARNING: document isn't included in a=
ny toctree
>  docs/misra/documenting-violations.rst: WARNING: document isn't included =
in any toctree
>  docs/misra/exclude-list.rst: WARNING: document isn't included in any toc=
tree
>  docs/misra/xen-static-analysis.rst: WARNING: document isn't included in =
any toctree
>=20
> Create an up-to-date index.rst in misra/ create an "unsorted docs" sectio=
n at
> the top level to contain everything else.  They can be re-filed at a late=
r
> date.
>=20
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 05:23:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 05:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629470.981728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0xVD-0004bV-6w; Thu, 09 Nov 2023 05:22:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629470.981728; Thu, 09 Nov 2023 05:22: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 1r0xVD-0004bO-4N; Thu, 09 Nov 2023 05:22:51 +0000
Received: by outflank-mailman (input) for mailman id 629470;
 Thu, 09 Nov 2023 05:22: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 1r0xVB-0004bE-LJ; Thu, 09 Nov 2023 05:22: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 1r0xVB-0002Do-Do; Thu, 09 Nov 2023 05:22: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 1r0xVA-0001qj-TS; Thu, 09 Nov 2023 05:22:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r0xVA-0002S3-Se; Thu, 09 Nov 2023 05: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=pxGtufy2jK9mDyn9PMsvuN6n1n6aaLyXH9QTm6uzLcs=; b=GR9X4Ye/zh3xGIE/k3d8UXhYpM
	Z0yskV2VurmM9ANe4lwbnPV3vnzJcMkW96naKymt+NEuK7PbHOsSRtFlKioVO0YtjEtG9qQy+Kdvh
	kVAVfd6cxMbIgwjM3GUWxzezRkJJo+cV/g6lrxPQl/8cgXTPUSlj33xpFzfZGV2XXhW4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183714-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 183714: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-amd64-amd64-xl-rtds:xen-boot:fail:allowable
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat: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:saverestore-support-check: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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw: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-xl-qemut-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm: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-thunderx:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start: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-amd64-amd64-libvirt-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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd: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:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-xl: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-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-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu: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-multivcpu: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-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-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-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-qcow2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=87e8e7a7aa1f96276252a90373de1d56add31918
X-Osstest-Versions-That:
    linux=86ea40e6ad22d9d7daa54b9e8167ad1e4a8a48ee
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Nov 2023 05:22:48 +0000

flight 183714 linux-5.4 real [real]
flight 183719 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/183714/
http://logs.test-lab.xenproject.org/osstest/logs/183719/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail pass in 183719-retest
 test-armhf-armhf-xl-vhd      13 guest-start         fail pass in 183719-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 183719-retest

Regressions which are regarded as allowable (not blocking):
 test-amd64-amd64-xl-rtds      8 xen-boot                 fail REGR. vs. 183523

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail blocked in 183523
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 183719 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 183719 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183523
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183523
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183523
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183523
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 183523
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183523
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183523
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183523
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183523
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183523
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183523
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183523
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183523
 test-amd64-i386-libvirt-xsm  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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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-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-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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-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-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-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-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-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                87e8e7a7aa1f96276252a90373de1d56add31918
baseline version:
 linux                86ea40e6ad22d9d7daa54b9e8167ad1e4a8a48ee

Last test of basis   183523  2023-10-25 10:14:26 Z   14 days
Testing same since   183714  2023-11-08 10:46:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "William A. Kennington III" <william@wkennington.com>
  Al Viro <viro@zeniv.linux.org.uk>
  Alain Volmat <alain.volmat@foss.st.com>
  Alessandro Carminati (Red Hat) <alessandro.carminati@gmail.com>
  Alessandro Carminati <alessandro.carminati@gmail.com>
  Alon Zahavi <zahavi.alon@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Jeffery <andrew@codeconstruct.com.au>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Baokun Li <libaokun1@huawei.com>
  Baoquan He <bhe@redhat.com>
  Ben Wolsieffer <ben.wolsieffer@hefring.com>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Andersson <quic_bjorande@quicinc.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Borislav Petkov <bp@suse.de>
  Cameron Williams <cang1@live.co.uk>
  Catalin Marinas <catalin.marinas@arm.com>
  Chao Yu <chao@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chuck Lever <chuck.lever@oracle.com>
  Damien Le Moal <damien.lemoal@opensource.wdc.com>
  David Lazar <dlazar@gmail.com>
  David S. Miller <davem@davemloft.net>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Douglas Anderson <dianders@chromium.org>
  Dragos-Marian Panait <dragos.panait@windriver.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Francis Laniel <flaniel@linux.microsoft.com>
  Fred Chen <fred.chenchen03@gmail.com>
  Gavin Shan <gshan@redhat.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Hangyu Hua <hbh25y@gmail.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Helge Deller <deller@gmx.de>
  Herve Codina <herve.codina@bootlin.com>
  Ingo Molnar <mingo@kernel.org>
  Ivan Vecera <ivecera@redhat.com>
  Jacob Keller <jacob.e.keller@intel.com>
  Jaegeuk Kim <jaegeuk@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Javier Rodriguez <josejavier.rodriguez@duagon.com>
  Jeff Layton <jlayton@kernel.org>
  Jeffery Miller <jefferymiller@google.com>
  Jens Axboe <axboe@kernel.dk>
  Jian Zhang <zhangjian.3032@bytedance.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Joe Damato <jdamato@fastly.com>
  Johannes Thumshirn <jth@kernel.org>
  Jon Hunter <jonathanh@nvidia.com>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jorge Maidana <jorgem.linux@gmail.com>
  Jorge Sanjuan Garcia <jorge.sanjuangarcia@duagon.com>
  Josh Poimboeuf <jpoimboe@kernel.org>
  Josh Poimboeuf <jpoimboe@redhat.com>
  Juergen Gross <jgross@suse.com>
  Kazunori Kobayashi <kazunori.kobayashi@miraclelinux.com>
  Keith Busch <kbusch@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kunwu Chan <chentao@kylinos.cn>
  Lee Jones <lee@kernel.org>
  Liha Sikanen <lihasika@gmail.com>
  LihaSika <lihasika@gmail.com>
  Liming Sun <limings@nvidia.com>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Luis Machado <luis.machado@arm.com>
  Lukasz Majczak <lma@semihalf.com>
  Manasi Navare <navaremanasi@chromium.org>
  Marc Zyngier <maz@kernel.org>
  Marco Elver <elver@google.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Mark Brown <broonie@kernel.org>
  Mark Rutland <mark.rutland@arm.com>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mateusz Palczewski <mateusz.palczewski@intel.com>
  Mathieu Poirier <mathieu.poirier@linaro.org>
  Matthias Schiffer <matthias.schiffer@ew.tq-group.com>
  Maximilian Heyne <mheyne@amazon.de>
  Michael S. Tsirkin <mst@redhat.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Mirsad Goran Todorovac <mirsad.todorovac@alu.unizg.hr>
  Naama Meir <naamax.meir@linux.intel.com>
  Nathan Chancellor <nathan@kernel.org>
  Neal Cardwell <ncardwell@google.com>
  Oleksandr Tymoshenko <ovt@google.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Barker <paul.barker.ct@bp.renesas.com>
  Peng Fan <peng.fan@nxp.com>
  Peter Rosin <peda@axentia.se>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Ravi Chandra Minnikanti <rminnikanti@marvell.com>
  Rodríguez Barbarin, José Javier <JoseJavier.Rodriguez@duagon.com>
  Sagi Grimberg <sagi@grimberg.me>
  Sasha Levin <sashal@kernel.org>
  Sasha Neftin <sasha.neftin@intel.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Shuming Fan <shumingf@realtek.com>
  Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
  Stephen Boyd <sboyd@kernel.org>
  Steve French <stfrench@microsoft.com>
  Su Hui <suhui@nfschina.com>
  Szilard Fabian <szfabian@bluemarch.art>
  Theodore Ts'o <tytso@mit.edu>
  Thomas Gleixner <tglx@linutronix.de>
  Tomas Henzl <thenzl@redhat.com>
  Vicki Pfau <vi@endrift.com>
  Vinod Koul <vkoul@kernel.org>
  Wang Hai <wanghai38@huawei.com>
  William A. Kennington III <william@wkennington.com>
  Wolfram Sang <wsa@kernel.org>
  Zhang Shurong <zhang_shurong@foxmail.com>
  Zhenyu Zhang <zhenyzha@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-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                              starved 
 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-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                                     fail    
 test-armhf-armhf-xl-rtds                                     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
   86ea40e6ad22..87e8e7a7aa1f  87e8e7a7aa1f96276252a90373de1d56add31918 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 07:19:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 07:19:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629476.981740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0zJL-00033k-CC; Thu, 09 Nov 2023 07:18:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629476.981740; Thu, 09 Nov 2023 07: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 1r0zJL-00033d-7f; Thu, 09 Nov 2023 07:18:43 +0000
Received: by outflank-mailman (input) for mailman id 629476;
 Thu, 09 Nov 2023 07:18: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=U8Ox=GW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0zJJ-00033X-VY
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 07:18:42 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7d00::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 34f1bd09-7ed0-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 08:18:40 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8752.eurprd04.prod.outlook.com (2603:10a6:102:20e::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Thu, 9 Nov
 2023 07:18:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Thu, 9 Nov 2023
 07:18: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: 34f1bd09-7ed0-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dxYmXNhQXrCJAMc+prRvuQUDyqZo0uoVhi5Z7lJz2HVBjtQ4sbqtTSe17w5wQ1EgqqhFg0ouCbGrgfb3osId8hpRa/nt66HGPTDJz2dicAlCH57XDJS2+aJcM2cOZXKwWcS5+N8gMG9qnRxPk7FdMr6+bbtP8LXIW+pm9ivNX5bHK0judHYH5b7bfyl7gvcDbceoxedfGyS19SfXhzP1A1dnct9gZ0pMzbC0A5px5TfgfpITi50Ct96NndleKmarleFjqWIJJ8rV5lPcyBkZL8Xga3uuM5Fchk3ayFjv9/vaTmibnZrrAs5fxNcgMSIwpZrONeoOQz0t1mfwcEThGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iHMegOyc5KC6FzEYtcVAiM5rl9M+ifYbRtz7GxTXUQw=;
 b=dtwfLDtl41ITMyvAHJT+JQwSf7WmuKBxiP9sbvJwXOWYYeG63KTwYpPxa4cOw3o/7T/A1oNsmRziPfzsXaPlylfmulE1CSzK+cCWmCzr4UN6Wzqz9tay+NRuzgN7jXuYw/fS+xatU+KRCCAwU1vQICOop+HQuepqd3B/2UZlFJewnp3HNvy48yeFz6GG1PRP0bm1jrWlzOsgC1ZkT+tzbahgTZzC2UAEocJfkkYkhAb1Mr6KhVqX1w6ifMxWSP7uSsG3qOkr96MRS4vu4CGdvNCRbl4Hkeh18NqhKZ7aBppIrMLjJKNfU/bLJoyOOJse99ZoDnl5ThAvuAWqlXIn3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=iHMegOyc5KC6FzEYtcVAiM5rl9M+ifYbRtz7GxTXUQw=;
 b=3zZH4+GSpSTWnMpVwDsoHIBJDHMCoYn7BGtzmE/1Et0Ujb2CJ/JuKYFGijvekl+TChuu0s2UHuUBNpQjkKGe3HKr3nbPsxzhjhfQgEIDJm49hbJ7fX3+B8Nj3lcdE8tG8EBp5grdpKOHXam8M9IV8OrMw4l54ZTHNrhtMhnmkHicgI+7TXE01tiK8MEidn5lzXi3TefrNc/rmN8Ek4pqhFiyVj6kWz0OmCRGu8bx2cnicXock/TPXOOVzvxHu4AiZfdcEsYAvFDQ4JHPE0jahU/Tq6kH9HjPMDTx1ffreASFMCMSeg+6huOiwkvQ6HofSVcZ4vjCqV2LDQcMyWLAQw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b7600c39-b2da-f1e0-7f89-8546f69bafa7@suse.com>
Date: Thu, 9 Nov 2023 08:18:34 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19 v4 1/8] xen/include: add macro
 ISOLATE_LOW_BIT
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1698410970.git.nicola.vetrini@bugseng.com>
 <dca236bf9199f596bafb35eb48d81adc280d8cca.1698410970.git.nicola.vetrini@bugseng.com>
 <f88edc35-6b1b-0136-aa1f-6429652c4016@suse.com>
 <alpine.DEB.2.22.394.2310301536390.1625118@ubuntu-linux-20-04-desktop>
 <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@suse.com>
In-Reply-To: <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8752:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f1ef480-a80e-410c-8f9b-08dbe0f41763
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5BunTm7wikva4TENF+x2cMum3CTykQWjamfzolBfW00/YP/+f0sFTfhufr3cxgkGmQo5oml01YodWA630WG2vza6T9ev2LpDzGgQPN38CRf2TPbebJy1hb2LSQ13so5lTQ1VfbaRaNtmuU+K58j3e/IjZPMVVDSq+wN/wNuRlKh8NWwgqEixyHf8Q7tiYJw8ZwQzSpW5GEtsP95nKLyAYlT2h/octrtkH6bBcAXA3wZ3jQTtQ1Dlrn/QAhcsXUhcYd+8Ph8nG3HAB13kv0t8LRfrt3y6xJldGOODHhxAeFjtlYiEBr5IW7jlCGezujsS0O7o4PWxLFI1iR9RtuQiD7/TBL3WaDRwYDgYue5N8N/ujcy0ssJb7WJvDfRkvonWOboSbJawCI0H/opFI4j4TcnU4l0UnHmZYfblL+g62ZYvdDtSuciPQwydiazkUr2dT8n9WAvzv+xVwhpWV7UZ2VDAjjXl+TcsS8kHlHhs1Qa758uxkdfBTpDGoGuCLnh+5/PWrq5y1DaVjp0nBtj1yeV0jaCPFAhp5LUroS414x1jUqibHz80J8oNxwXqazmUWmJ5SjIE4C2VCbWkyNZcjzZrh0kAQmOAG7dvlIEmve6W4gcoRp0jVh/X6zoApN0X7EZQ03umG2e0mk/DbUwkxg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(366004)(39860400002)(376002)(396003)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(6506007)(6512007)(53546011)(38100700002)(478600001)(2616005)(6486002)(6666004)(7416002)(83380400001)(26005)(316002)(4744005)(2906002)(66476007)(5660300002)(41300700001)(4326008)(66946007)(66556008)(54906003)(110136005)(8676002)(8936002)(36756003)(86362001)(31696002)(66899024)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enFVUGdtWUgreDQxbFl1Vi9oMk5qdGtjK1h3T0UxWE5UT2dxdUU5ZHU5Ulov?=
 =?utf-8?B?UWxvNkdCSUU4enp6ZUJ0Yk96S25iUlJoS1htUzlZblZYVHdMazQ4UmU5dDQy?=
 =?utf-8?B?M3pDSkdCUHJPR1VNSmFHOXdJS2FWWDZZTFNyUHc2ZEdKK2V6V2RaREtkUGVj?=
 =?utf-8?B?WEVkYUVneW1YNXZhOVJ3eWdxVUpCNDBSN2pvL2x3dEN2QUx2eFNjSXpseVpZ?=
 =?utf-8?B?M24zM29HVXdUMmJpeXhseWM4OC9rSjB4MU1WQUttUCswMGxWdFQ0SUU5Z1lv?=
 =?utf-8?B?Q3M4S1ZORVhqWHY0SHVVTGRIL3JJcVhrbFNIYUdsQ2liNUI4bnB6NTh0ZlVI?=
 =?utf-8?B?ZEQxcGNvVDkzQlgxL2RqaVJxRERDNXhkdmd2emZGeTNxTE1uZEI2TUQvRjRw?=
 =?utf-8?B?VzJ0eXIzWEVOZ3ZWei9lSDZMbmV1ak1ZaUxneXdGTGZ2NkhtazZBSGtsMW5l?=
 =?utf-8?B?bjNrY1doMnFNYzVRWi9pMXNzVEJkcm01TS9IRTBWRWRjcU1wOS9FTGRiTkdL?=
 =?utf-8?B?cGx1QkF3NXk0TGtBR1I4VTlVYXB4TkE0dnFrc0JyTnhkazlWZENNQ2dWa0Fl?=
 =?utf-8?B?NEFOeXU3U3ZCaEZKaDhmUmFVNGNieEE0alBqTXB0OU9qeExHSWZra1NtbTFx?=
 =?utf-8?B?a0NXejV2MGg2R1VybjUyeDZISFVLd3RkbHpWTWJrazZ4ZkJVaWNPREFMcFMy?=
 =?utf-8?B?MzkzZW45cHpvZ0ZFRHpMUTdXNk4yc2svOEtScGF4WVRBaUIrQ25IQzZCUVRR?=
 =?utf-8?B?YkZDMUg5bmtRK1lmTDRyS3JTaE5XNXBNcjdyQzhQM2NtMTd0L3cvcHV3L29k?=
 =?utf-8?B?M2VPaFFtVHkwOHVMU2Q3Z29OSmtWb1VYc0hrdWplOWFpVGF0MmZCdDlQd2J4?=
 =?utf-8?B?OFJqcGVucmYzZFE1TUtVbDRSeDRaS0NwRGdhVGEwQUJ0YkhMVXJ5Vy9pK0ty?=
 =?utf-8?B?eERXRy9LNXBSSkEvUEh3aEtqcUdLeUhnV3JkbkQ2dmwxYkdqaTdNeTJyMGYw?=
 =?utf-8?B?T0dSWWxjdjlnbVlNbGtDa2tMTzg0RG9TZ2srZjZ5Q1F5Zi95Mk5aZWNKd0VE?=
 =?utf-8?B?MXp2M1pSQXBoczFHZ1RObGl4bldvdmVBa2kzbVczS0M0QWFweXhJenlFMit5?=
 =?utf-8?B?aU1wdWNzZ1V2QVkxUXU2aGlnOHpqdVd1Y0NRTVpqMGFkTFN1Q09KMjI5dXhL?=
 =?utf-8?B?OXVZMnRHTFNXZU9naG14ZWY5WEFYQkZ0SGJwUXd3UUZhbEoxOTJDKzF4b1FI?=
 =?utf-8?B?K0JmQ2hBSm5DN2oydVpjcW1oTlJLREpkZDZGam9pL0xyc1U5U1pGTE1NTmFo?=
 =?utf-8?B?eS82a1NsQ0RqRjVGb1JWYUc4SjNCdnRmWG8wUC9JUnB1M0tON25EVFIvc0Ir?=
 =?utf-8?B?aE5aZXNkK3A1eUpLbU5uSGRqSFlFVXNiMzBOSFROci83RTNrNjNiYnVnTE10?=
 =?utf-8?B?aEdvVmpmakgvbWdiYmNZdy9mMjdFeHhmb1RUek1XRGtGS1krZitKQUU5UWRv?=
 =?utf-8?B?WFpYNGdQV1R3WE00RVg0RGhZTnZvTk1aOUhCb1l2SnF5TlRZM1BDd3Rab21p?=
 =?utf-8?B?L24xZDAyQTZnb0JOeU9kOVEzTXRhVGRpZEhzSGtWVU9acWVhbXhPRVAwQmVQ?=
 =?utf-8?B?dTFleUtFd0Zuc3NtZXg0Z0dTc040VjcxTityT1ZQM1o4d1JzdzJvM1VCVEFn?=
 =?utf-8?B?OVUyTVZ0dWFZTHFOUlNEaFBKakdXcFYxQy9OVXdnUVpRRHpoTnNheDZsdUpP?=
 =?utf-8?B?Y1Z6K0hjVVE5NXpxSHFvWEVEOCtKbE1XWTAwTkp0Z2FvUDVmTXlMcndxY2li?=
 =?utf-8?B?SkQ5V0cxUmpVdW5sc3VrcWVtWkQzZlplRXNqaVljbVFXRWp3VG5rWWZmaE1L?=
 =?utf-8?B?UjJNbkVJTk5vME9iZFkrQkxPUEV0bFcyUEM0Q1FZSkdaTnJndXMyR2FvTjBQ?=
 =?utf-8?B?eDk0eGJKRnUxd0ZHSElPT1dMUVVPWVh4YklOYWJCdEtvK2FjSmFtSlltUUNR?=
 =?utf-8?B?L3dMWU5DcXNDU2tpaXRSQUN4cVdQUVRXaDlEdHVOVEt6dEExVURWOHIzQ0tT?=
 =?utf-8?B?TStZazhsWW1iZTRoZVI1K1R0cWloczZmRkoyVEhhdUc5SzVCVW5xWHpFTUUv?=
 =?utf-8?Q?2kF1EUXnhw/tOdmy8HxE1JFPL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f1ef480-a80e-410c-8f9b-08dbe0f41763
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 07:18:37.4455
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DVCrGPzUVix6jBlHq4EiXHpstdxWaOZx9wZpD7yXThfEN1ilrPMkGAj4fgRHgGZnIswXdehdQx/bHQK801/0Xw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8752

On 31.10.2023 08:43, Jan Beulich wrote:
> What I would consider scope creep I
> specifically didn't even ask for: I'd like this macro to be overridable
> by an arch. Specifically (see my earlier naming hint) I'd like to use
> x86's BMI insn BLSI in the context of "x86: allow Kconfig control over
> psABI level", when ABI v2 or higher is in use.

Actually I need to withdraw that. It meanwhile occurred to me that the
compiler ought to recognize this pattern. And indeed gcc doesn't even
have a builtin for it; its BMI intrinsic for BLSI (on x86 that is)
specifically expands to x & -x, which the backend then is expected to
deal with as appropriate. And indeed it can be observed to, with my
"x86: allow Kconfig control over psABI level" in place.

Just as a reminder: I'd still like to see the further renaming done
(to ISOLATE_LSB()). If I was to commit this patch, I'd be fine doing
so while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 07:42:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 07:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629481.981748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0zg6-0007FX-98; Thu, 09 Nov 2023 07:42:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629481.981748; Thu, 09 Nov 2023 07:42: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 1r0zg6-0007FQ-6b; Thu, 09 Nov 2023 07:42:14 +0000
Received: by outflank-mailman (input) for mailman id 629481;
 Thu, 09 Nov 2023 07:42: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=U8Ox=GW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0zg5-0007FJ-Pt
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 07:42:13 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d7253a4-7ed3-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 08:42:10 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8895.eurprd04.prod.outlook.com (2603:10a6:102:20e::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.8; Thu, 9 Nov
 2023 07:42:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Thu, 9 Nov 2023
 07: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: 7d7253a4-7ed3-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lZvq9LCWh2Nr4ydy1vPbQwtfWtBnUWAzK+Jr8OLJeuGKiohTnVxzfDDU4YtQ72Bzg2wyeJyz8bx9zn1PYO4dOUoM0HrX84zkt45H3ELxoXlDQjp/XSV+IjjVoQXE5voykaGUvj5mq6tswIldN2amrz/d2XfjLjaGBnvYXpkyo7i9z6FCJd3Z/Js6DpJQNglu+ROQNLSppMVSGXFLt/v2JScZ68hqOLlWXVgsW/VPy8C9HTFc41hYdcAxwcsHPcWt4cBQvVCbe7sXEX3MuCBzBrCr8nnqDdeJzuL34a8gpNK79wtVWvsEqxWrLqUZYrK21k0908Fgsqxf2sI1xSdMsQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WXQ+0P3MIHcV+4IygX954kT4L9eaqeKtZb/ggkmz1WI=;
 b=LGLmNHqFSca/ZzMRt0jrl2xG4rrXn5DLwMntJWO8QmVApbGRo9uH/ojXmf4ke4WMnvvnPAa84/WNb2Wpwd6H8OcVeRi9S87IpYIlplbbWdaICEN/EVQHnCDkg8t/97PGGz9WupThHnn0YpYLKiyrKaP1yWJcvNm1psW3BODvZ8TqjyugkTUizs/6+toUkwiHB2n3CXsYR4KPUrpXwFXB/xITlf1dUTm0IajPc/rxiRZaxl990wm64gTe6DF51cOtZ1RT6OhxH1SturHOxRCpqxh2e1FJ0nd7ALvPC5vOnKJEuGVv4C1qR0ZttBbiu+cJ9qvm25jqPyYcACYBup11Rg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WXQ+0P3MIHcV+4IygX954kT4L9eaqeKtZb/ggkmz1WI=;
 b=rUu28XnXbzXTEmjKj81JsXhd3sZnViaLS2ExvoRBlJM//d7vlkoKpYT6tO6NGMs7SnB3oC5y/qX6xToOPYm2g10oBqbAaKig2bvLl8bgo46DvrPV2VtS4Ah2a64g2FmfEoDHlsRfalMowUaHpl/DFIcFTvPsqdrTW9wdBdFPSHidQ4Hxu2Guhlya/A6gvWIppytAc2/gOg8a3vlmuDVWwThGGcVioswg1IgSnRymQQZbZo2Qz5ykG9yCDUbBNmd0w2IclujWPW/0VJa5ig/jXOm0SKasycbRGs6yRfvXOC1EpLGl+OVL9PQrIpIjgJXagEh0DOf1ioO/Xt5NbMQ8+g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4b4583f5-4cdb-6be9-20eb-22466b6aef28@suse.com>
Date: Thu, 9 Nov 2023 08:42:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
 <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
 <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
 <b407f981-c58c-4272-bc7c-1470a87e2487@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b407f981-c58c-4272-bc7c-1470a87e2487@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0070.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8895:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f778a02-5637-4d65-1e88-08dbe0f76044
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XDEvGEnLCUF3kDlNdQKXGle3W35uhYwAetvq2yWQTRS0/DDfnk4iYA3yAe38jVJfy8qYIHhm8NhRidpLogGafqCTy0jce22csoEUhWhw9jMloXxoSxW9w+nQYEpqC6xbVl3uTHYI7IaZ+Tb1PY5kTvx+GoRq+s6snGGqOW/uB/r0gkrh5dlC+fZ1Bb+unwCz/fXXtBp0eqmLqtRFLySE3iCUOeKJvxJ+rAUXdgb6tGBjFHPjU6EaPk42UG/qI4wMCr6uOInCVYvvGmXv778fXbEtRJ3qjrXaUQlGGCDBEaEwUx3qh+QHwLGqpLCJa5AkBOsPsC0wGVZVki5OezagjrqEh7hGx4qv9JCxknLx7g8VnZ2RLXAUbgrolbULj65hWNsh3rFHares8orZ6q/ChBf21LvdJ5MQxx3dStR5PdG6xxU6EuLCrTUTbeel3gqJV01JFi/9afgkYwjGaDhdZz+Tx73Ux1Ma9uslso1TsUoZ8EITUawjB0Z4Aru+HJl3PRUpsemnKUB9M9GXd6r2QfOjbCUHE2ENfGzwWxV4sccjgmoCjRWPSIvhV5VsFBm5On4PbmAMSLo8FgiBtKUvT9wx4W6Jj7Y/NZTCGeXQ+j+JXwusUAnHHgDHioBDOik6c5cjLookJgApEUbndqktFw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(396003)(39860400002)(376002)(346002)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(41300700001)(5660300002)(7416002)(38100700002)(2906002)(86362001)(31696002)(36756003)(4326008)(53546011)(8936002)(8676002)(83380400001)(478600001)(6512007)(2616005)(26005)(6486002)(316002)(6916009)(54906003)(66476007)(66946007)(31686004)(66556008)(6666004)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bW1Nd2dNWXNCSEFEVDRyLzcrdjBoaDVXdXlVbXRxcFVZcGppZkQvNUJNbTNN?=
 =?utf-8?B?Rno5OGM1MGM0UXhyb251QjZtaFdXbG40TEx2aEI1R2lpQkxxcEFVWCtWMTZJ?=
 =?utf-8?B?azZpUmVIaC91SFYwWVozMjFuaFFMTFRwUzNWYzRCbDlYZEV2QWFldjF1NXZZ?=
 =?utf-8?B?SGY5aHpXRlZydWkrcVdhT0J5ZjMvVGhqRkxDR2g5ek96TDJlYUcvSmMvM3lS?=
 =?utf-8?B?VURyN0FaYVRGMk9lTk5RRWJRUmIveGlCUk1rMXFHb0Q3a2hQa1czRGVicmlH?=
 =?utf-8?B?RTFnZUhpcFRyc3dtbmZaL1lBRW1CakJtS2dicHljR29HN2t2WVFrMFV4aFRa?=
 =?utf-8?B?cWhZN2VOWUExc0l2a2k2ZUpjYS9rU0FYSzh6RFYxOXV4ZWJlb25KZHNXUjlz?=
 =?utf-8?B?ZEJyNjBiQjBjQTVtZnRwQlJhdS9pWDdSSyt2MGVvM0hRR1dmYUdkRjZrYVpy?=
 =?utf-8?B?ckR4bk1IeVZzWmhxaUFYSE90VnUrVzRkKzB4ZU1IMkExL2FrdzJsQTMzRlZq?=
 =?utf-8?B?SGtuanY4SXJDenlhd3R1UUxwK1FjSDlVSFZtRkc4aS8vbEV5VkFVdTNPQy9V?=
 =?utf-8?B?eDRCNUdpaUZTRm4rbUQrY2FsNEZiNW9KVnFleG9EdTB2L3h4N0hLRE5uSjZH?=
 =?utf-8?B?OWszRlMrbHROVDlzMnJOemJnSVZvY0h5cUkvbXZSNTBhQVYzRFVzcXlwTG9s?=
 =?utf-8?B?UzRHMHk2WmpJRVdGNUNBeE9rd3d0VWVpeUdKR2VPUTRpVTB3Mys5M0RRNmNq?=
 =?utf-8?B?ZVdYQ29OK2JMdFJsdVdVcFNUOHBBZEtLcGNabUUyYUczTGI2Mm9GZ05KWFZN?=
 =?utf-8?B?czRDRTJVbVNONU9DdDB1MHhHcFhTaDYzR3dBR2FvOHFJL1ArWCtpcjNRdUtC?=
 =?utf-8?B?TUVxblo2cG9WV2JyUnlnQ0pJbGs1ZlRFVjFzeTBxc25kVFowRGwxWEVzSlRY?=
 =?utf-8?B?d2FEaWY2Wk1LMHI5TWtTS1cxRFBqQU42ekEyajJUSy9CcURKTmZwMkZOZ2l0?=
 =?utf-8?B?Q3pyRVdZN2VGcWNVdFZnN2x0YmIxWlRSU0paclZEdnphK2xqWlh4Vkk3a0ho?=
 =?utf-8?B?VzF2cW4vRjl0VkRaS2xZNXN6VzR2dnptL0t4aU9JemxsbUZhV2l1d1FMNnhM?=
 =?utf-8?B?YVJLR0tkTFlEV3U0Y1VqVU1OUGRvYWI1dGxoLzcwbGh1V2ZLYnpYU3NyNnNY?=
 =?utf-8?B?UUc1ZHBCNWNhZkJyZWFKU2FyRHdTeHNXWmFvQTczSVI4ZHBKalViMlk2MXNR?=
 =?utf-8?B?Z1pzdWF4enBad1R1eWNLaGFkK01kNEhmemY1ZDRyOW15a1R6QnlQSldibHFQ?=
 =?utf-8?B?YW83MjZYa2VtSVgxL21OaTlYN3ZWemwxaDFZVktnTFRRNzlVcXpnVmNlTzdS?=
 =?utf-8?B?b3JQc3VFKzByRDBFTGhEc2xCNUZKSGpxN2pXQmpSaXg5SjhKazNZT1Z1N0tU?=
 =?utf-8?B?TmtSdkRDZGhmNGptVkwyekU1Um5yQ0hiOEhVdHdaREI5UUxuZFRmRVVIL1VJ?=
 =?utf-8?B?ZkFFVUpzcVJUdGVSSEwxSGgrazlTbFJsZWQvU3R6MUtLVHhleUJjeG1heDc0?=
 =?utf-8?B?TWZqYUNudXorUW11a0FrUnpwRytzVnFNTTg1WFgzZjFlUlN2WUtvc01BeXJX?=
 =?utf-8?B?eE9UckZ6cXdadThkS1Y0dWdlLzZGRlJKZktub1M1T3Q4bFI3T0tCb2U0Z1VT?=
 =?utf-8?B?WThXeTlXRlNQU0hNR2V0Y2MydVlpZnE1TVRZYkZZblNXcmlIcWFnZ0hQL1I5?=
 =?utf-8?B?NlR3Ky9scDBrSDlySkFlWEd2UlA2TkE1MUdkS0lPQzVrODJwZWttVHNGRFV4?=
 =?utf-8?B?V1h6REhEakZhS0Q3OVZnSzVQNzNyaXJncmJxb2lxY2pTQy9aTER3dmhFSmVk?=
 =?utf-8?B?bERkL0dEdVdJd2szbEJFTG1kVmZadThVR0JxZ1NILzE0cUZuY0xwNWkwYmth?=
 =?utf-8?B?SVUzNXFpeFBhQjh1L2FtdUxXeGVueUQxckVHOFVZSEQrR043ZVBkWUpJMlRw?=
 =?utf-8?B?cTd0MzNUOHRxdDB0TFBkZzBIdGNLa1NaTThYdUU4cTlhcDBuZHRsN2VTb1Zy?=
 =?utf-8?B?Rm8xNmhrTDlsSjdzVnNiUHcwT0JKTTBMcmRKNlNONitQNEt2WjRBUTNEdktV?=
 =?utf-8?Q?NRHs8NZ5VixTJTeLwdsvp5/sQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f778a02-5637-4d65-1e88-08dbe0f76044
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 07:42:08.0831
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VEg6+iF2U9RZD5aPCgLFcHjSQMIucT0JUufHVep6gcAnqfVKjZv2eV+WkC1+3ifpVS7fH1NI7g/TikPzEUEfHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8895

On 08.11.2023 14:33, Julien Grall wrote:
> Hi Jan,
> 
> On 08/11/2023 11:19, Jan Beulich wrote:
>> On 08.11.2023 12:03, Nicola Vetrini wrote:
>>> On 2023-11-08 09:24, Jan Beulich wrote:
>>>> On 03.11.2023 18:58, Nicola Vetrini wrote:
>>>>> Static analysis tools may detect a possible null
>>>>> pointer dereference at line 760 (the memcpy call)
>>>>> of xen/common/domain.c. This ASSERT helps them in
>>>>> detecting that such a condition is not possible
>>>>> and also provides a basic sanity check.
>>>>
>>>> I disagree with this being a possible justification for adding such a
>>>> redundant assertion. More detail is needed on what is actually
>>>> (suspected to be) confusing the tool. Plus it also needs explaining
>>>> why (a) adding such an assertion helps and (b) how that's going to
>>>> cover release builds.
>>>>
>>>
>>> How about:
>>> "Static analysis tools may detect a possible null pointer dereference
>>> at line 760 (config->handle) due to config possibly being NULL.
>>>
>>> However, given that all system domains, including IDLE, have a NULL
>>> config and in the code path leading to the assertion only real domains
>>> (which have a non-NULL config) can be present."
>>>
>>> On point b): this finding is a false positive, therefore even if the
>>> ASSERT is
>>> expanded to effectively a no-op, there is no inherent problem with Xen's
>>> code.
>>> The context in which the patch was suggested [1] hinted at avoiding
>>> inserting in
>>> the codebase false positive comments.
>>
>> Which I largely agree with. What I don't agree with is adding an
>> assertion which is only papering over the issue, and only in debug
>> builds.
> 
> I expect that the number of issues will increase a lot as soon as we 
> start to analyze production builds.
> 
> I don't think it will be a solution to either replace all the ASSERT() 
> with runtime check in all configuration or even...
> 
>> So perhaps instead we need a different way of tracking
>> false positives (which need to be tied to specific checker versions
>> anyway).
> 
> ... documenting false positive.
> 
> IMHO, the only viable option would be to have a configuration to keep 
> ASSERT in production build for scanning tools.

But wouldn't that then likely mean scanning to be done on builds not also
used in production? Would doing so even be permitted when certification
is a requirement? Or do you expect such production builds to be used with
the assertions left in place (increasing the risk of a crash; recall that
assertions themselves may also be wrong, and hence one triggering in rare
cases may not really be a reason to bring down the system)?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 07:44:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 07:44:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629484.981758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r0zhx-0008Ix-LR; Thu, 09 Nov 2023 07:44:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629484.981758; Thu, 09 Nov 2023 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 1r0zhx-0008Iq-Io; Thu, 09 Nov 2023 07:44:09 +0000
Received: by outflank-mailman (input) for mailman id 629484;
 Thu, 09 Nov 2023 07:44: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=U8Ox=GW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r0zhw-0008Ig-6z
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 07:44:08 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c24bb506-7ed3-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 08:44:06 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8702.eurprd04.prod.outlook.com (2603:10a6:102:21d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.7; Thu, 9 Nov
 2023 07:44:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Thu, 9 Nov 2023
 07:44: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: c24bb506-7ed3-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cwiuu4C9QORxCZ32o5o+nH64+CL2e3pCe7RHdQlCKwIX+uLTBg1uegqOL3jWA/mVkVWX1KCBUUOCQaoUnBhK9oTcBKvhSZbCYpRE/VCYkVVelHdZG7qDBxqgGQ9qs1AznMlgvdr+icPwnzKwOkqSSDRnMDAP92IE6ehu8d/fSKl+f5CkXxKnyca8W4ZJiBP7Ss+F1KCDbYlnIqckmZdjH0NE0GexcUAUUyPNoqfFbMsvVR+wI94gw9acJdY7N1tBJgfUnom+TlR2TVa26XqFg47lJUqZNguazLaCtlu/AXBdnWNI7/7/gIx3Q0wQKmhsnU0dQFWdgUOUvt9lCanTKQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+G92ePYY7mAP+szFxqnOO97Xd+p+ysQAh4hujfNBqPY=;
 b=oBo6hnMrhE8vfkAS9sX3UYW4Kjt+1mr+quesxftUe5C50JbolHq3PUbqAt9CqBlWXG5HRDRh0kBNAEgni5FFopHMVq00f7jLk5z/tYAuYk7ugYtil2MrWmqq3ZJCnkQnsSXmN87xBLO9u42eganp/VLlRqBRwMRMO02aTldCfdmyw80zAVYKPKJuzt1F8K5CHnUeFWrBgSql/kfufJP1DhF2TGuq3vzF8Iid9hiPAliNWNGlaJJ7NwuAGaarrNO8IN72FNKO9nqWjLBa/u2d0sA0FrNzB0+hkOgoSaUtgoNq4dbpaUBVSSMuiMYhRzXxiXraslZufcZNaclBFy5gIA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+G92ePYY7mAP+szFxqnOO97Xd+p+ysQAh4hujfNBqPY=;
 b=NT49v1i+O+EQMq7GUYqkUUdYZNopn+tMOT4bMsh9/IE5XSPQpH1ctSGL6RLsCrY+fJf1fDOtDqlKz1ELE1lOPqoMhGbwk/uoqV4oRs2VCTN+EtRw6NTB3y8QHquARnJHUBbDVeH1UcwPERo49G03rfG92cVpm4/PQnNmRSnyzQYvCq3U1PCS6+H6MHJzhvkJ67wBUE9aD0Q4AZhn/UdJb9QM0jwCCh+/+B6xVNRThRr616ooJS1jc3h3sbn9AgMFhUunkGbwAj1Zy03KJ4pAclKVcFBk01UihpbLVDDyjwFrxzpVhWr27WElHh2E3M4um4HtvFHoxklwb/WIHei/dw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9fe17b7b-7c21-633b-01ca-bc4b93a6526a@suse.com>
Date: Thu, 9 Nov 2023 08:44:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
 <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
 <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
 <4a58abb52afed75a748440f1adf9a2ac@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4a58abb52afed75a748440f1adf9a2ac@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0398.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:cf::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8702:EE_
X-MS-Office365-Filtering-Correlation-Id: 303936af-d236-4828-7cf6-08dbe0f7a556
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	n82iWstZUhtkru4iOi8AtsF9Ly5nmjOherbfK/GU6po1kdMzaI+U79kccu7T1SgIJYf3mIu/JtUdI0AFGwAUZ+PaGmrH4nH6UOwB6yy0bATEFcPtmMv/uKCWI0BrWZz926y3DC0Usgn0JH44bQMkEHPdrKpmeIIJvovHwsbDqLQJwFl1GqgdKW3/b+anW9Xg1WcrTybYJUR+rhjtrfh7KThoAjs/xtZef/AXONbQfoG3VkUt/E3+oWsf70mSA+DMBs+Apqf219RKCCP4vkzg7d1MoLdiwDiPtJnmY/UOh2sqV+/VVzs9lRprNyM2s8/y0stNKpKSkT4Wjqg2Juhh+4ME2MmzGia+1OasJwQBTWjHAkUIIZbwrJUpRR0TNU9r487z9JYRfBcLa2p+Z9ZL77WfOtDCAv9DgMlQOi1YY0I92oG2Y8i4ONTnSoVoRp5gLda/DSXlTmpcd7pesTvnHiDkwU66Cvcd3zJxo3zdDqweTev3Z+GhnsKp6206fC70ofXVy8LpVGEqJo/huyMin9OZBr4Mh1LTF/0/pK02FEjC5VocXj40+Ykc9pzH/nLMsTxufDaef2qVLixUgZqZoOMHs3uJP2SLz58A54o1b20ngU2L7oPbYqQCt/mBuA+E2XLyUVIdmArYpJkq8+A30g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(346002)(39860400002)(396003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(6512007)(6506007)(2616005)(6486002)(6666004)(478600001)(53546011)(83380400001)(26005)(2906002)(7416002)(5660300002)(66556008)(6916009)(66946007)(41300700001)(66476007)(54906003)(316002)(4326008)(8936002)(8676002)(38100700002)(36756003)(86362001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RHJGWk9ldWMwbzVNUTVtOTNqa2lIYnhiWitJcG1NR0k1b2NaL3N6NDdEcEFp?=
 =?utf-8?B?MGY1Ris5QndLZE5vNFp1SFNnNVJzd3Q1YW92UjlkK2ZSSTVGZnZyUUw5U3RK?=
 =?utf-8?B?WXJla2xPY1NZSDhtNEZYYkxJQlFWK3JiK0V3TVNFMVIyR3dYdHVERlMrYUJ6?=
 =?utf-8?B?NlVlZi92U2huTXNoelh3RjJSdi9QZG0ydmU1YXJydUt0dEs3aDJiSU1IVjdw?=
 =?utf-8?B?K3h4d1I3c1dVTm9OL2ozWmNSMU9DcXc2MWVvUktsbGtNYzFObDNEamV1aFAz?=
 =?utf-8?B?Y3VGcU01czlEaUEzSnZKUU5udUdrV0V2Yi9MdU5Wa3JpQlUzeEZxWjU2Qk5j?=
 =?utf-8?B?MVVodEJicGpQc3lGRTlLSWlxNCtZMEU5RURGK1F3Y3dhWW5odnExTlF2dmh6?=
 =?utf-8?B?RURMeVZUWmYrK2NQMytWMkl4ZUV5Ung2MW8rSDBUL2FrU0NRamhQcE5OdU4w?=
 =?utf-8?B?YkY0RlM2cFNlUmpYUHp5cFlDc1c1RFhNY2VSWGFTR2xYeGZGLzZocTBlc0FB?=
 =?utf-8?B?K21IcEFEMUJpc05XZ1kweGx0ZHhpTFF2cHdrbEM0R04zditFK0dsWU9TMXVR?=
 =?utf-8?B?dTNvRWE4b3NVeldzWkYrYkJUdkM1SEJXbGhwMk1aUm5ucDdJVXdTTXZUVGpo?=
 =?utf-8?B?WEtJMUJDeXFhZy81OEJpU05FZWNWTkpqeWE3dnNXSkxpdWlhaGlKUXBNdk84?=
 =?utf-8?B?NVBPZ3Nockt0ZnlKeEdHOUEzaGl5MWswUEJOYlZ5NVRyTVhyMUpLMEx5YWh4?=
 =?utf-8?B?RlAvcktYMHVyZGx2ZTlhUGF1Wmh5eEoxWkg4cGlDbUUvWHBtUlNVdFZuL2Ex?=
 =?utf-8?B?UlJrVnBqVkdzOGozK1EwOVgrSk9VT0w1VG5OdlI5REpXMFF3ZStjRnhHcFVO?=
 =?utf-8?B?OUhybnQ1d3BYZjF1V2Y4cjVmeW9rSVRWL01kYm5Pd1hmV0lGRkxRVUw0Vmti?=
 =?utf-8?B?dGNhem9jbk5DaWYxWDdaaXFEaEZieG9jVFZMcCt2MUNQd1NWTHJST2dDVVJ1?=
 =?utf-8?B?MEJkRmJFaWZNSWl5a2lxZ3MyZHdLeStTQm1MWmtxODMwMmo3eHc5ZG5pNFQx?=
 =?utf-8?B?dXcvZWlCWkdsQytOblNkNWQ1bWYvNmtqVm5QN3UwMDZHRjVSOEpWRXpDaU1s?=
 =?utf-8?B?a3ZhSHd2UmQycEM3UlpsTGRXWFJXeWQ0eUlCL2hlOVFnNm9DVUVXV2haM1dY?=
 =?utf-8?B?Ym16b3dWMURRNzEzMEdEZ1MxMHhCcUU1SkdQQzJsY3lnVkVQYS9GK2NUZ3ZJ?=
 =?utf-8?B?a3JWTVpyQVNWTHVQYXIrUCs1NkliUFBHeW83ZTZuWjJmeloxWkQvUGY2R0Zt?=
 =?utf-8?B?enNrSEdoeXpwWnRjdW5MbTVVWFhLQ2k1dXV2L1N3THdXdnkzK04zSlhOWUlx?=
 =?utf-8?B?V0swamNvOTVzZTVjbFhhUGpOS3BKc1AwRTg1RlZYczJ4Nmk4TjBpTXdXWW9I?=
 =?utf-8?B?VlRjSmlqcFpnN0tQTlhnMGdzOElMc1VuN3BPcllEbEwwMDluemNDdHVtT25a?=
 =?utf-8?B?RVNONlVYakFlbWhiemZvaHpYWEk2OHZPMVBQc3A0eTJaODJSdEZ2YkxhVXVj?=
 =?utf-8?B?QVpiQU52NEhRWHIwUXppTWExcHdmNVlvVmtLNzFuQnpxWDBHSUVZcVUvQW96?=
 =?utf-8?B?ZDhtQkNsT1B5VlZsMXcxMlV1ejBVM3lBWndJYTYwcWN3Q056cGF3bVNGQjJk?=
 =?utf-8?B?MEZDU0xtSmczdGdRbzlZcDYySzJyNHpSdTlIREM5bFZ2MVU5cTVMOEV4emVn?=
 =?utf-8?B?ZzRUZUZMRU53WXVCOXpnaW85ZWxnWE9IbHY1NTZpLzUrMGoyVGNSa1ROdSto?=
 =?utf-8?B?ejFOQ1k4dEc0RmV0RHdNNUZZckZINCtVZGQ0MldGTVpLeWl0aXpWRjdCSlYz?=
 =?utf-8?B?d1pnejBIRVc3Rm1QcUpZbHFiYlNDbzVtU1FnZXFTRGxsT0RvanRqY0xRcEdF?=
 =?utf-8?B?L3JCMnpYYkpKL0xhZDZUbHRtUVprM2hoOHFLdWQ0ZVJmeTRuR2xzSURpaVlK?=
 =?utf-8?B?eEU3eVVtSzdhYTluQlp0WHFlZEUvNENCTGdnWnJOWDNRL0hlQXJzVVp2VlpG?=
 =?utf-8?B?Q0Eva1IrZzBQWC9VZzJydkJEcXp3SnJSU3ArSGQzeWU4Q2pRNyt1aDhoLzdD?=
 =?utf-8?Q?bFkbqxuHfetOOulV/JTVUqNZc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 303936af-d236-4828-7cf6-08dbe0f7a556
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 07:44:04.0228
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IuavgvUGeC+/G1ySW2M3MgvgxAAD3jh7pU+IUTe48LCntvFmentTc1FftblpfCrfswtHCI9KxhtZKyOGzTd05A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8702

On 08.11.2023 14:28, Nicola Vetrini wrote:
> On 2023-11-08 12:19, Jan Beulich wrote:
>> On 08.11.2023 12:03, Nicola Vetrini wrote:
>>> On 2023-11-08 09:24, Jan Beulich wrote:
>>>> On 03.11.2023 18:58, Nicola Vetrini wrote:
>>>>> Static analysis tools may detect a possible null
>>>>> pointer dereference at line 760 (the memcpy call)
>>>>> of xen/common/domain.c. This ASSERT helps them in
>>>>> detecting that such a condition is not possible
>>>>> and also provides a basic sanity check.
>>>>
>>>> I disagree with this being a possible justification for adding such a
>>>> redundant assertion. More detail is needed on what is actually
>>>> (suspected to be) confusing the tool. Plus it also needs explaining
>>>> why (a) adding such an assertion helps and (b) how that's going to
>>>> cover release builds.
>>>>
>>>
>>> How about:
>>> "Static analysis tools may detect a possible null pointer dereference
>>> at line 760 (config->handle) due to config possibly being NULL.
>>>
>>> However, given that all system domains, including IDLE, have a NULL
>>> config and in the code path leading to the assertion only real domains
>>> (which have a non-NULL config) can be present."
>>>
>>> On point b): this finding is a false positive, therefore even if the
>>> ASSERT is
>>> expanded to effectively a no-op, there is no inherent problem with 
>>> Xen's
>>> code.
>>> The context in which the patch was suggested [1] hinted at avoiding
>>> inserting in
>>> the codebase false positive comments.
>>
>> Which I largely agree with. What I don't agree with is adding an
>> assertion which is only papering over the issue, and only in debug
>> builds. So perhaps instead we need a different way of tracking
>> false positives (which need to be tied to specific checker versions
>> anyway).
>>
> 
> Hmm. Is it better in your opinion to write something like:
> 
> if (config == NULL)
>     return ERR_PTR(<some error code>); // or die() or something 
> appropriate
> 
> this would be a rudimentary handling of the error with some messages 
> detailing that something
> is wrong if a domain has a null config at that point.

No. This is no better than a redundant assertion. It's even slightly
worse, as it'll likely leave a trace in generated code for release
builds.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 08:54:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 08:54:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629494.981769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r10oC-0002oZ-TW; Thu, 09 Nov 2023 08:54:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629494.981769; Thu, 09 Nov 2023 08: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 1r10oC-0002oS-PU; Thu, 09 Nov 2023 08:54:40 +0000
Received: by outflank-mailman (input) for mailman id 629494;
 Thu, 09 Nov 2023 08:54: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 1r10oB-0002oI-Gq; Thu, 09 Nov 2023 08:54: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 1r10oB-0007i8-9O; Thu, 09 Nov 2023 08:54: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 1r10oA-0001zQ-Ug; Thu, 09 Nov 2023 08:54:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r10oA-00037q-Ti; Thu, 09 Nov 2023 08:54: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=XIW9o80IE+Hthgo7VaK0rR/oVQU58wo5di56HG7hEHc=; b=Bjn5jEBOVgHGTl9gZiVSgrucVi
	t94DMbMWIXnWMMnQqDQsqezfq9Zf3lkSo5RJME2UePTr4LpeOkvoDSab3nyya36+qnocoJhCm1Xgt
	meZE3ftQuPAwuIJdPxl9kXoT6cpgBuPGbkuX7Rw1vrhyq2beDIafwAcxWmhhYUg8nrlo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183717-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183717: tolerable trouble: fail/pass/starved - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw: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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    linux=6bc986ab839c844e78a2333a02e55f02c9e57935
X-Osstest-Versions-That:
    linux=305230142ae0637213bf6e04f6d9f10bbcb74af8
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Nov 2023 08:54:38 +0000

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

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 183713
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183713
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183713
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183713
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183713
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183713
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183713
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183713
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-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-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-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     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-amd64-dom0pvh-xl-amd  3 hosts-allocate               starved  n/a

version targeted for testing:
 linux                6bc986ab839c844e78a2333a02e55f02c9e57935
baseline version:
 linux                305230142ae0637213bf6e04f6d9f10bbcb74af8

Last test of basis   183713  2023-11-08 09:26:31 Z    0 days
Testing same since   183717  2023-11-08 23:44:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Gordeev <agordeev@linux.ibm.com>
  Andrew Jones <ajones@ventanamicro.com>
  Anup Patel <apatel@ventanamicro.com>
  Benjamin Coddington <bcodding@redhat.com>
  Catherine Hoang <catherine.hoang@oracle.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Cheng Lin <cheng.lin130@zte.com.cn>
  Christoph Hellwig <hch@lst.de>
  Conor Dooley <conor.dooley@microchip.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Thompson <daniel.thompson@linaro.org>
  Darrick J. Wong <djwong@kernel.org>
  Dave Chinner <dchinner@redhat.com>
  Deepak Gupta <debug@rivosinc.com>
  Douglas Anderson <dianders@chromium.org>
  felix <fuzhen5@huawei.com>
  Frederic Weisbecker <frederic@kernel.org>
  Guo Ren <guoren@kernel.org>
  Harald Freudenberger <freude@linux.ibm.com>
  Heiko Carstens <hca@linux.ibm.com>
  Icenowy Zheng <uwu@icenowy.me>
  Ilya Leoshkevich <iii@linux.ibm.com>
  Ingo Franzki <ifranzki@linux.ibm.com>
  Kees Cook <keescook@chromium.org>
  Konstantin Ryabitsev <konstantin@linuxfoundation.org>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Minda Chen <minda.chen@starfivetech.com>
  Mkrtchyan, Tigran <tigran.mkrtchyan@desy.de>
  Nam Cao <namcaov@gmail.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  Olga Kornievskaia <kolga@netapp.com>
  Omar Sandoval <osandov@fb.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paul E. McKenney <paulmck@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Ruben Vestergaard <rubenv@drcmr.dk>
  Sami Tolvanen <samitolvanen@google.com>
  Song Shuai <songshuaishuai@tinylab.org>
  Song Shuai <suagrfillet@gmail.com>
  Sunil V L <sunilvl@ventanamicro.com>
  Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
  Torkil Svensgaard <torkil@drcmr.dk>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Tsukasa OI <research_trasio@irq.a4lg.com>
  Vasily Gorbik <gor@linux.ibm.com>
  Waiman Long <longman@redhat.com>
  Xiao Wang <xiao.w.wang@intel.com>
  Yuezhang Mo <Yuezhang.Mo@sony.com>
  Yuran Pereira <yuran.pereira@hotmail.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                              starved 
 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-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-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
   305230142ae0..6bc986ab839c  6bc986ab839c844e78a2333a02e55f02c9e57935 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 09:02:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 09:02:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629501.981778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r10vJ-0004NO-P7; Thu, 09 Nov 2023 09:02:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629501.981778; Thu, 09 Nov 2023 09: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 1r10vJ-0004NH-MD; Thu, 09 Nov 2023 09:02:01 +0000
Received: by outflank-mailman (input) for mailman id 629501;
 Thu, 09 Nov 2023 09:02: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=NrbJ=GW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r10vI-0004NB-JB
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 09:02:00 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a423fd22-7ede-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 10:01:59 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2c5056059e0so7904811fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 01:01:59 -0800 (PST)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 x14-20020a2ea98e000000b002bf6852d135sm2162642ljq.94.2023.11.09.01.01.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Nov 2023 01:01:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a423fd22-7ede-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699520519; x=1700125319; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=hUlZ0XD8172RllV/D7UlmN9R3WubypjdG8BO584soiU=;
        b=kAbNBXa8MK7bSWmDvfOAhZpVNyU27nD+S5ftK4cI86s89dDAFM1uosz8bG4LV0oHRm
         qOug7kKSZLItaYGwa/3ie4D5le1LdgYzk595n8DPV1wfaVQ9F8IFjVCy3LazMqJ9BZFr
         vglYTkMTeQJZa+qewQIoOXGOZXHgzZOEx7n9Oo6EIiST6l5UnRpfu9A4MPdRpqcxoMNh
         hisWqw+kevY970W2gUx93UTPp+M5gdA85bLgsAxuRpGtkl6Dx7QMUVjd7ixQeGytTGyF
         7AgYJZoeTiJare251j2R8eCwsWGJIZ1TUP+prPAQkJ/dfS7NSFg5AiUrVf6Jik0DTibJ
         4cPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699520519; x=1700125319;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=hUlZ0XD8172RllV/D7UlmN9R3WubypjdG8BO584soiU=;
        b=xFjJmHdIOF0aatkz+WEoVOzqsXlcX5Ovu+mKCUVEtpiroyWTUygtAeU87GwAwyuDYd
         un3BH0a5wRHN5RSy4NHeOkx9rxBpIvUktOHxOwE0FGPza7fFWdtG7i6FY0KCONuasFmJ
         aNFUXrgau2q3aYcl4cjomBEZSMrK6/veJ9te5KFnpzgAdt3SiuPNvjytfXvoeWcBE34v
         SYzjv2fzObsYkcqn/fr1zOeuuZaOGz7ii9LmhhO0woPk471MbjAAdsBR8wQKg0CWNC2I
         d9zbpQP13JPyOQiYtcJt8FxX/kvJrb7+pOGWqvlxUvMkym50JwCpNYky9dEkV4eKYdpa
         CYQQ==
X-Gm-Message-State: AOJu0YySzp9wkKWfXJi60IYVuFIRRTRkXyAEAt9T49/i4fi2tCclQHN0
	xLNqHr8ZwRs76aIqtboigP4=
X-Google-Smtp-Source: AGHT+IER/UjuseVnWQwGRKP4CiBsg8kTFBsOxm4ShhPbYH3Utq8ZoUnZOfh4brW1yq0IwjZ0ccF7tQ==
X-Received: by 2002:a2e:a78f:0:b0:2c2:9872:dfc1 with SMTP id c15-20020a2ea78f000000b002c29872dfc1mr4587202ljf.42.1699520518812;
        Thu, 09 Nov 2023 01:01:58 -0800 (PST)
Message-ID: <314745757996935d8b2ae9919410c1abc0c86ce9.camel@gmail.com>
Subject: Re: [PATCH] xen: avoid generation of stub <asm/pci.h> header
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.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>, Shawn Anastasio <sanastasio@raptorengineering.com>
Date: Thu, 09 Nov 2023 11:01:57 +0200
In-Reply-To: <68471b07-6091-46c0-b2aa-562fcdec4a42@xen.org>
References: 
	<f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
	 <68471b07-6091-46c0-b2aa-562fcdec4a42@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-11-06 at 23:36 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 01/11/2023 10:15, Oleksii Kurochko wrote:
> > Platforms which doesn't have HAS_PCI enabled it is needed to
> > have <asm/pci.h>, which contains only an empty definition of
> > struct arch_pci_dev ( except ARM, it introduces several
> > ARM-specific functions ).
> >=20
> > Also, for architectures ( such as PPC or RISC-V ) on initial
> > stages of adding support, it is needed to generate <asm/pci.h>
> > for only define the mentioned above arch_pci_dev structure.
> >=20
> > For the Arm-only stubs ( mentioned in <asm/pci.h> for disabled
> > HAS_PCI and ARM-specific) will be needed
> NIT: You seem to have a mix of ARM and Arm within the same commit=20
> message. I know that there are debate on which one to use (even
> though=20
> the latter is correct). I am ok if you want to either, but please at=20
> least be consistent :).
Thanks. I'll be consistent in the future, and I am OK if the commit
message will be changed during the merge ( if it is convenient ).
>=20
> > to add <asm/pci.h> directly alongside <xen/pci.h>. Only to
> > <arm/domain.c> <asm/pci.h> was added.
>=20
> You are lucky here because there is only one place needed, so
> including=20
> both <xen/pci.h> and <asm/pci.h> is ok. However, I am not sure I like
> this approach as a general solution as it may require to include both
> the common and arch specific header in multiple places.
>=20
> Anyway, we can discuss this in more details once we have an example.
This is not the best solution, but it works for now.
Let's discuss it again when we will face the necessity of including
both headers.
>=20
> Acked-by: Julien Grall <jgrall@amazon.com>
Thanks.

>=20
> >=20
> > Suggested-by: Jan Beulich <jbeulich@suse.com>
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > =C2=A0 xen/arch/arm/domain_build.c=C2=A0=C2=A0=C2=A0 |=C2=A0 1 +
> > =C2=A0 xen/arch/arm/include/asm/pci.h |=C2=A0 7 -------
> > =C2=A0 xen/arch/ppc/include/asm/pci.h |=C2=A0 7 -------
> > =C2=A0 xen/include/xen/pci.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 | 11 +++++++++++
> > =C2=A0 4 files changed, 12 insertions(+), 14 deletions(-)
> > =C2=A0 delete mode 100644 xen/arch/ppc/include/asm/pci.h
> >=20
> > diff --git a/xen/arch/arm/domain_build.c
> > b/xen/arch/arm/domain_build.c
> > index 49792dd590..2dd2926b41 100644
> > --- a/xen/arch/arm/domain_build.c
> > +++ b/xen/arch/arm/domain_build.c
> > @@ -23,6 +23,7 @@
> > =C2=A0 #include <asm/kernel.h>
> > =C2=A0 #include <asm/setup.h>
> > =C2=A0 #include <asm/tee/tee.h>
> > +#include <asm/pci.h>
> > =C2=A0 #include <asm/platform.h>
> > =C2=A0 #include <asm/psci.h>
> > =C2=A0 #include <asm/setup.h>
> > diff --git a/xen/arch/arm/include/asm/pci.h
> > b/xen/arch/arm/include/asm/pci.h
> > index 8cb46f6b71..7f77226c9b 100644
> > --- a/xen/arch/arm/include/asm/pci.h
> > +++ b/xen/arch/arm/include/asm/pci.h
> > @@ -130,13 +130,6 @@ bool pci_check_bar(const struct pci_dev *pdev,
> > mfn_t start, mfn_t end);
> > =C2=A0=20
> > =C2=A0 #else=C2=A0=C2=A0 /*!CONFIG_HAS_PCI*/
> > =C2=A0=20
> > -struct arch_pci_dev { };
> > -
> > -static always_inline bool is_pci_passthrough_enabled(void)
> > -{
> > -=C2=A0=C2=A0=C2=A0 return false;
> > -}
> > -
> > =C2=A0 struct pci_dev;
> > =C2=A0=20
> > =C2=A0 static inline void arch_pci_init_pdev(struct pci_dev *pdev) {}
>=20
> Some of the definion in !CONFIG_HAS_PCI seems unnecessary. This one
> is=20
> an example. I will have a look to clean them up after your patch is=20
> committed.
>=20
> Cheers,
>=20
~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 09:06:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 09:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629505.981789 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r10zb-0005GC-9u; Thu, 09 Nov 2023 09:06:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629505.981789; Thu, 09 Nov 2023 09: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 1r10zb-0005G5-6s; Thu, 09 Nov 2023 09:06:27 +0000
Received: by outflank-mailman (input) for mailman id 629505;
 Thu, 09 Nov 2023 09:06: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=T6cS=GW=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r10za-0005ED-TL
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 09:06:26 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 424d2d67-7edf-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 10:06:25 +0100 (CET)
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 12DB812FC;
 Thu,  9 Nov 2023 01:07:09 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id ADBC23F703;
 Thu,  9 Nov 2023 01:06:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 424d2d67-7edf-11ee-98da-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 0/5] Fine granular configuration
Date: Thu,  9 Nov 2023 09:06:10 +0000
Message-Id: <20231109090615.3878767-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie aims to add more modularity to some feature that can be excluded
without issues from the build.

The first patch is already reviewed.

v2 update: So I've tried to see how to put the dom0less code in the common code,
but the amount of modifications are not trivial, even putting only the common
part and protecting them with ARM, leaving the ARM specific stuff under arch/
like gic etc... will leave a status that is not very nice, so I've decided for
now to keep everything on the arm architecture so that who is going to work
on unifying the code in common can just take from there and do the proper
rework.

This serie is not targeting 4.18.

Luca Fancellu (5):
  arm/gicv2: make GICv2 driver and vGICv2 optional
  xen/arm: Add asm/domain.h include to kernel.h
  arm/dom0less: put dom0less feature code in a separate module
  xen/arm: Move static memory build code in separate modules
  arm/dom0less: introduce Kconfig for dom0less feature

 xen/arch/arm/Kconfig                      |   28 +
 xen/arch/arm/Makefile                     |    7 +-
 xen/arch/arm/bootfdt.c                    |  161 +-
 xen/arch/arm/dom0less-build.c             | 1018 ++++++
 xen/arch/arm/domain_build.c               | 3623 ++++++---------------
 xen/arch/arm/efi/efi-boot.h               |    4 +
 xen/arch/arm/gic-v3.c                     |    4 +
 xen/arch/arm/include/asm/dom0less-build.h |   35 +
 xen/arch/arm/include/asm/domain_build.h   |   38 +
 xen/arch/arm/include/asm/kernel.h         |    1 +
 xen/arch/arm/include/asm/setup.h          |    1 -
 xen/arch/arm/include/asm/static-memory.h  |   50 +
 xen/arch/arm/include/asm/static-shmem.h   |   72 +
 xen/arch/arm/setup.c                      |   58 +-
 xen/arch/arm/static-memory.c              |  294 ++
 xen/arch/arm/static-shmem.c               |  515 +++
 xen/arch/arm/vgic.c                       |    2 +
 xen/arch/arm/vgic/Makefile                |    4 +-
 18 files changed, 3088 insertions(+), 2827 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 09:06:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 09:06:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629506.981799 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r10ze-0005Vn-J2; Thu, 09 Nov 2023 09:06:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629506.981799; Thu, 09 Nov 2023 09:06: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 1r10ze-0005Vf-DX; Thu, 09 Nov 2023 09:06:30 +0000
Received: by outflank-mailman (input) for mailman id 629506;
 Thu, 09 Nov 2023 09:06: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=T6cS=GW=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r10zd-0005V5-P9
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 09:06:29 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 43ba1a51-7edf-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 10:06:27 +0100 (CET)
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 6E25115BF;
 Thu,  9 Nov 2023 01:07:11 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id F1B963F703;
 Thu,  9 Nov 2023 01:06:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43ba1a51-7edf-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 2/5] xen/arm: Add asm/domain.h include to kernel.h
Date: Thu,  9 Nov 2023 09:06:12 +0000
Message-Id: <20231109090615.3878767-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231109090615.3878767-1-luca.fancellu@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 'enum domain_type' is defined by 'asm/domain.h' which is not
included (directly or indirectly) by 'asm/kernel.h'.

This currently doesn't break the compilation because asm/domain.h will
included by the user of 'kernel.h'. But it would be better to avoid
relying on it. So add the include in 'asm/domain.h'.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes from v2:
 - add Ack-by Julien
Changes from v1:
 - Rephrased commit message (Julien)
---
 xen/arch/arm/include/asm/kernel.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 4617cdc83bac..0a23e86c2d37 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -7,6 +7,7 @@
 #define __ARCH_ARM_KERNEL_H__
 
 #include <xen/device_tree.h>
+#include <asm/domain.h>
 #include <asm/setup.h>
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 09:06:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 09:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629507.981809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r10zf-0005m5-Nn; Thu, 09 Nov 2023 09:06:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629507.981809; Thu, 09 Nov 2023 09:06: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 1r10zf-0005lw-L8; Thu, 09 Nov 2023 09:06:31 +0000
Received: by outflank-mailman (input) for mailman id 629507;
 Thu, 09 Nov 2023 09:06: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=T6cS=GW=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r10ze-0005V5-ED
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 09:06:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 4305d64e-7edf-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 10:06:26 +0100 (CET)
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 413F11477;
 Thu,  9 Nov 2023 01:07:10 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C30813F703;
 Thu,  9 Nov 2023 01:06:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4305d64e-7edf-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v3 1/5] arm/gicv2: make GICv2 driver and vGICv2 optional
Date: Thu,  9 Nov 2023 09:06:11 +0000
Message-Id: <20231109090615.3878767-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231109090615.3878767-1-luca.fancellu@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
when needed, the option is active by default.

Introduce Kconfig VGICV2 that compiles the Generic Interrupt
Controller v2 emulation for domains, it is required only when using
GICv2 driver, otherwise using the GICv3 driver it is optional and can
be deselected if the user doesn't want to offer the v2 emulation to
domains or maybe its GICv3 hardware can't offer the GICv2 compatible
mode.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes from v2:
 - No changes
---
 xen/arch/arm/Kconfig        | 19 +++++++++++++++++++
 xen/arch/arm/Makefile       |  4 ++--
 xen/arch/arm/domain_build.c |  4 ++++
 xen/arch/arm/gic-v3.c       |  4 ++++
 xen/arch/arm/vgic.c         |  2 ++
 xen/arch/arm/vgic/Makefile  |  4 ++--
 6 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b78..0045a3762d86 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -80,6 +80,14 @@ config ARM_EFI
 	  UEFI firmware. A UEFI stub is provided to allow Xen to
 	  be booted as an EFI application.
 
+config GICV2
+	bool "GICv2 driver"
+	default y
+	select VGICV2
+	help
+	  Driver for the ARM Generic Interrupt Controller v2.
+	  If unsure, say Y
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
@@ -99,11 +107,22 @@ config OVERLAY_DTB
 	help
 	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
 
+config VGICV2
+	bool "vGICv2 interface for domains"
+	default y
+	help
+	  Allow Xen to expose a Generic Interrupt Controller version 2 like to Xen
+	  domains. This can be configured at the domain creation.
+	  This option is mandatory when using GICv2.
+	  For GICv3, this allows domain to use GICv2 when the hardware supports it.
+	  If unsure say Y.
+
 config HVM
         def_bool y
 
 config NEW_VGIC
 	bool "Use new VGIC implementation"
+	select GICV2
 	---help---
 
 	This is an alternative implementation of the ARM GIC interrupt
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e992046..81c31c36fc3d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -22,7 +22,7 @@ obj-y += domctl.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
 obj-y += gic.o
-obj-y += gic-v2.o
+obj-$(CONFIG_GICV2) += gic-v2.o
 obj-$(CONFIG_GICV3) += gic-v3.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-its.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-lpi.o
@@ -57,7 +57,7 @@ obj-$(CONFIG_NEW_VGIC) += vgic/
 ifneq ($(CONFIG_NEW_VGIC),y)
 obj-y += gic-vgic.o
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 49792dd590ee..3d3a117bde7a 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2490,6 +2490,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
+#ifdef CONFIG_VGICV2
 static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
@@ -2541,6 +2542,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 
     return res;
 }
+#endif
 
 #ifdef CONFIG_GICV3
 static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
@@ -2616,8 +2618,10 @@ static int __init make_gic_domU_node(struct kernel_info *kinfo)
     case GIC_V3:
         return make_gicv3_domU_node(kinfo);
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         return make_gicv2_domU_node(kinfo);
+#endif
     default:
         panic("Unsupported GIC version\n");
     }
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 172ff8c005ff..292abefd8731 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1334,6 +1334,7 @@ static paddr_t __initdata dbase = INVALID_PADDR;
 static paddr_t __initdata vbase = INVALID_PADDR, vsize = 0;
 static paddr_t __initdata cbase = INVALID_PADDR, csize = 0;
 
+#ifdef CONFIG_VGICV2
 /* If the GICv3 supports GICv2, initialize it */
 static void __init gicv3_init_v2(void)
 {
@@ -1359,6 +1360,9 @@ static void __init gicv3_init_v2(void)
 
     vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
 }
+#else
+static inline void gicv3_init_v2(void) { }
+#endif
 
 static void __init gicv3_ioremap_distributor(paddr_t dist_paddr)
 {
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index f6b49766f97a..c04fc4f83f96 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -96,10 +96,12 @@ int domain_vgic_register(struct domain *d, unsigned int *mmio_count)
            return -ENODEV;
         break;
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         if ( vgic_v2_init(d, mmio_count) )
             return -ENODEV;
         break;
+#endif
     default:
         printk(XENLOG_G_ERR "d%d: Unknown vGIC version %u\n",
                d->domain_id, d->arch.vgic.version);
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 806826948e20..60cbf7f2f94a 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -1,5 +1,5 @@
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-y += vgic-mmio.o
-obj-y += vgic-mmio-v2.o
+obj-$(CONFIG_VGICV2) += vgic-mmio-v2.o
 obj-y += vgic-init.o
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 09:06:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 09:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629508.981819 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r10zh-00062d-11; Thu, 09 Nov 2023 09:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629508.981819; Thu, 09 Nov 2023 09:06: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 1r10zg-00062R-Tw; Thu, 09 Nov 2023 09:06:32 +0000
Received: by outflank-mailman (input) for mailman id 629508;
 Thu, 09 Nov 2023 09:06: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=T6cS=GW=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r10ze-0005ED-S2
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 09:06:31 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 44697726-7edf-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 10:06:28 +0100 (CET)
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 D52241655;
 Thu,  9 Nov 2023 01:07:12 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2E32D3F703;
 Thu,  9 Nov 2023 01:06:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 44697726-7edf-11ee-98da-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 3/5] arm/dom0less: put dom0less feature code in a separate module
Date: Thu,  9 Nov 2023 09:06:13 +0000
Message-Id: <20231109090615.3878767-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231109090615.3878767-1-luca.fancellu@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the dom0less feature code is mostly inside domain_build.c
and setup.c, it is a feature that may not be useful to everyone so
put the code in a different compilation module in order to make it
easier to disable the feature in the future.

Move gic_interrupt_t in domain_build.h to use it with the function
declaration, move its comment above the declaration.

The following functions are now visible externally from domain_build
because they are used also from the dom0less-build module:
 - get_allocation_size
 - set_interrupt
 - domain_fdt_begin_node
 - make_memory_node
 - make_resv_memory_node
 - make_hypervisor_node
 - make_psci_node
 - make_cpus_node
 - make_timer_node
 - handle_device_interrupts
 - construct_domain
 - process_shm
 - allocate_bank_memory

The functions allocate_static_memory and assign_static_memory_11
are now externally visible, so put their declarations into
domain_build.h and move the #else and stub definition in the header
as well.

Move is_dom0less_mode from setup.c to dom0less-build.c and make it
externally visible.

The function allocate_bank_memory is used only by dom0less code
at the moment, but it's been decided to leave it in domain_build.c
in case that in the future the dom0 code can use it.

Where spotted, fix code style issues.

No functional change is intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - move allocate_bank_memory back in domain_build.c, remove header
   from dom0less-build.c.
---
 xen/arch/arm/Makefile                     |    1 +
 xen/arch/arm/dom0less-build.c             | 1018 +++++++++++++++++
 xen/arch/arm/domain_build.c               | 1265 +++------------------
 xen/arch/arm/include/asm/dom0less-build.h |   25 +
 xen/arch/arm/include/asm/domain_build.h   |   60 +
 xen/arch/arm/include/asm/setup.h          |    1 -
 xen/arch/arm/setup.c                      |   33 +-
 7 files changed, 1245 insertions(+), 1158 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 81c31c36fc3d..70dd7201ef30 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -15,6 +15,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
+obj-y += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
new file mode 100644
index 000000000000..1ca9d39043d6
--- /dev/null
+++ b/xen/arch/arm/dom0less-build.c
@@ -0,0 +1,1018 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/device_tree.h>
+#include <xen/err.h>
+#include <xen/event.h>
+#include <xen/grant_table.h>
+#include <xen/iocap.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+#include <xen/serial.h>
+#include <xen/sizes.h>
+#include <xen/vmap.h>
+
+#include <asm/arm64/sve.h>
+#include <asm/dom0less-build.h>
+#include <asm/domain_build.h>
+
+bool __init is_dom0less_mode(void)
+{
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootmodule *mod;
+    unsigned int i;
+    bool dom0found = false;
+    bool domUfound = false;
+
+    /* Look into the bootmodules */
+    for ( i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->module[i];
+        /* Find if dom0 and domU kernels are present */
+        if ( mod->kind == BOOTMOD_KERNEL )
+        {
+            if ( mod->domU == false )
+            {
+                dom0found = true;
+                break;
+            }
+            else
+                domUfound = true;
+        }
+    }
+
+    /*
+     * If there is no dom0 kernel but at least one domU, then we are in
+     * dom0less mode
+     */
+    return ( !dom0found && domUfound );
+}
+
+static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
+{
+    unsigned int i;
+    paddr_t bank_size;
+
+    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
+           /* Don't want format this as PRIpaddr (16 digit hex) */
+           (unsigned long)(kinfo->unassigned_mem >> 20), d);
+
+    kinfo->mem.nr_banks = 0;
+    bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
+    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
+                               bank_size) )
+        goto fail;
+
+    bank_size = MIN(GUEST_RAM1_SIZE, kinfo->unassigned_mem);
+    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
+                               bank_size) )
+        goto fail;
+
+    if ( kinfo->unassigned_mem )
+        goto fail;
+
+    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    {
+        printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
+               d,
+               i,
+               kinfo->mem.bank[i].start,
+               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
+               /* Don't want format this as PRIpaddr (16 digit hex) */
+               (unsigned long)(kinfo->mem.bank[i].size >> 20));
+    }
+
+    return;
+
+fail:
+    panic("Failed to allocate requested domain memory."
+          /* Don't want format this as PRIpaddr (16 digit hex) */
+          " %ldKB unallocated. Fix the VMs configurations.\n",
+          (unsigned long)kinfo->unassigned_mem >> 10);
+}
+
+#ifdef CONFIG_VGICV2
+static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
+    __be32 *cells;
+    const struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+#ifdef CONFIG_GICV3
+static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 *reg, *cells;
+    const struct domain *d = kinfo->d;
+    unsigned int i, len = 0;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
+    if ( res )
+        return res;
+
+    /* reg specifies all re-distributors and Distributor. */
+    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
+          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
+    reg = xmalloc_bytes(len);
+    if ( reg == NULL )
+        return -ENOMEM;
+    cells = reg;
+
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
+
+    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
+        dt_child_set_range(&cells,
+                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                           d->arch.vgic.rdist_regions[i].base,
+                           d->arch.vgic.rdist_regions[i].size);
+
+    res = fdt_property(fdt, "reg", reg, len);
+    xfree(reg);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+static int __init make_gic_domU_node(struct kernel_info *kinfo)
+{
+    switch ( kinfo->d->arch.vgic.version )
+    {
+#ifdef CONFIG_GICV3
+    case GIC_V3:
+        return make_gicv3_domU_node(kinfo);
+#endif
+#ifdef CONFIG_VGICV2
+    case GIC_V2:
+        return make_gicv2_domU_node(kinfo);
+#endif
+    default:
+        panic("Unsupported GIC version\n");
+    }
+}
+
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res;
+    gic_interrupt_t intr;
+    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+    __be32 *cells;
+    struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
+                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
+                       GUEST_PL011_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if ( res )
+        return res;
+
+    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+
+    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "interrupt-parent",
+                            kinfo->phandle_gic);
+    if ( res )
+        return res;
+
+    /* Use a default baud rate of 115200. */
+    fdt_property_u32(fdt, "current-speed", 115200);
+
+    res = fdt_end_node(fdt);
+    if ( res )
+        return res;
+
+    return 0;
+}
+#endif
+
+/*
+ * Scan device tree properties for passthrough specific information.
+ * Returns < 0 on error
+ *         0 on success
+ */
+static int __init handle_passthrough_prop(struct kernel_info *kinfo,
+                                          const struct fdt_property *xen_reg,
+                                          const struct fdt_property *xen_path,
+                                          bool xen_force,
+                                          uint32_t address_cells,
+                                          uint32_t size_cells)
+{
+    const __be32 *cell;
+    unsigned int i, len;
+    struct dt_device_node *node;
+    int res;
+    paddr_t mstart, size, gstart;
+
+    /* xen,reg specifies where to map the MMIO region */
+    cell = (const __be32 *)xen_reg->data;
+    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
+                                        sizeof(uint32_t));
+
+    for ( i = 0; i < len; i++ )
+    {
+        device_tree_get_reg(&cell, address_cells, size_cells,
+                            &mstart, &size);
+        gstart = dt_next_cell(address_cells, &cell);
+
+        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
+        {
+            printk(XENLOG_ERR
+                   "DomU passthrough config has not page aligned addresses/sizes\n");
+            return -EINVAL;
+        }
+
+        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
+                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
+                   kinfo->d->domain_id,
+                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
+            return res;
+        }
+
+        res = map_regions_p2mt(kinfo->d,
+                               gaddr_to_gfn(gstart),
+                               PFN_DOWN(size),
+                               maddr_to_mfn(mstart),
+                               p2m_mmio_direct_dev);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR
+                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
+                   mstart, gstart);
+            return -EFAULT;
+        }
+    }
+
+    /*
+     * If xen_force, we let the user assign a MMIO region with no
+     * associated path.
+     */
+    if ( xen_path == NULL )
+        return xen_force ? 0 : -EINVAL;
+
+    /*
+     * xen,path specifies the corresponding node in the host DT.
+     * Both interrupt mappings and IOMMU settings are based on it,
+     * as they are done based on the corresponding host DT node.
+     */
+    node = dt_find_node_by_path(xen_path->data);
+    if ( node == NULL )
+    {
+        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
+               (char *)xen_path->data);
+        return -EINVAL;
+    }
+
+    res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
+    if ( res < 0 )
+        return res;
+
+    res = iommu_add_dt_device(node);
+    if ( res < 0 )
+        return res;
+
+    /* If xen_force, we allow assignment of devices without IOMMU protection. */
+    if ( xen_force && !dt_device_is_protected(node) )
+        return 0;
+
+    return iommu_assign_dt_device(kinfo->d, node);
+}
+
+static int __init handle_prop_pfdt(struct kernel_info *kinfo,
+                                   const void *pfdt, int nodeoff,
+                                   uint32_t address_cells, uint32_t size_cells,
+                                   bool scan_passthrough_prop)
+{
+    void *fdt = kinfo->fdt;
+    int propoff, nameoff, res;
+    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
+    const char *name;
+    bool found, xen_force = false;
+
+    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
+          propoff >= 0;
+          propoff = fdt_next_property_offset(pfdt, propoff) )
+    {
+        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
+            return -FDT_ERR_INTERNAL;
+
+        found = false;
+        nameoff = fdt32_to_cpu(prop->nameoff);
+        name = fdt_string(pfdt, nameoff);
+
+        if ( scan_passthrough_prop )
+        {
+            if ( dt_prop_cmp("xen,reg", name) == 0 )
+            {
+                xen_reg = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,path", name) == 0 )
+            {
+                xen_path = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
+                                  name) == 0 )
+            {
+                xen_force = true;
+                found = true;
+            }
+        }
+
+        /*
+         * Copy properties other than the ones above: xen,reg, xen,path,
+         * and xen,force-assign-without-iommu.
+         */
+        if ( !found )
+        {
+            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
+            if ( res )
+                return res;
+        }
+    }
+
+    /*
+     * Only handle passthrough properties if both xen,reg and xen,path
+     * are present, or if xen,force-assign-without-iommu is specified.
+     */
+    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
+    {
+        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
+                                      address_cells, size_cells);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
+            return res;
+        }
+    }
+    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
+    {
+        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
+               kinfo->d);
+        return -EINVAL;
+    }
+
+    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
+    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
+}
+
+static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
+                                 int nodeoff,
+                                 uint32_t address_cells, uint32_t size_cells,
+                                 bool scan_passthrough_prop)
+{
+    int rc = 0;
+    void *fdt = kinfo->fdt;
+    int node_next;
+
+    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
+    if ( rc )
+        return rc;
+
+    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
+                          scan_passthrough_prop);
+    if ( rc )
+        return rc;
+
+    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
+                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
+    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
+                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
+
+    node_next = fdt_first_subnode(pfdt, nodeoff);
+    while ( node_next > 0 )
+    {
+        rc = scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
+                            scan_passthrough_prop);
+        if ( rc )
+            return rc;
+
+        node_next = fdt_next_subnode(pfdt, node_next);
+    }
+
+    return fdt_end_node(fdt);
+}
+
+static int __init check_partial_fdt(void *pfdt, size_t size)
+{
+    int res;
+
+    if ( fdt_magic(pfdt) != FDT_MAGIC )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
+        return -EINVAL;
+    }
+
+    res = fdt_check_header(pfdt);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
+        return -EINVAL;
+    }
+
+    if ( fdt_totalsize(pfdt) > size )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int __init domain_handle_dtb_bootmodule(struct domain *d,
+                                               struct kernel_info *kinfo)
+{
+    void *pfdt;
+    int res, node_next;
+
+    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
+                         kinfo->dtb_bootmodule->size);
+    if ( pfdt == NULL )
+        return -EFAULT;
+
+    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
+    if ( res < 0 )
+        goto out;
+
+    for ( node_next = fdt_first_subnode(pfdt, 0);
+          node_next > 0;
+          node_next = fdt_next_subnode(pfdt, node_next) )
+    {
+        const char *name = fdt_get_name(pfdt, node_next, NULL);
+
+        if ( name == NULL )
+            continue;
+
+        /*
+         * Only scan /gic /aliases /passthrough, ignore the rest.
+         * They don't have to be parsed in order.
+         *
+         * Take the GIC phandle value from the special /gic node in the
+         * DTB fragment.
+         */
+        if ( dt_node_cmp(name, "gic") == 0 )
+        {
+            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
+            continue;
+        }
+
+        if ( dt_node_cmp(name, "aliases") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 false);
+            if ( res )
+                goto out;
+            continue;
+        }
+        if ( dt_node_cmp(name, "passthrough") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 true);
+            if ( res )
+                goto out;
+            continue;
+        }
+    }
+
+ out:
+    iounmap(pfdt);
+
+    return res;
+}
+
+/*
+ * The max size for DT is 2MB. However, the generated DT is small (not including
+ * domU passthrough DT nodes whose size we account separately), 4KB are enough
+ * for now, but we might have to increase it in the future.
+ */
+#define DOMU_DTB_SIZE 4096
+static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
+{
+    int addrcells, sizecells;
+    int ret, fdt_size = DOMU_DTB_SIZE;
+
+    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
+    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
+    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
+
+    addrcells = GUEST_ROOT_ADDRESS_CELLS;
+    sizecells = GUEST_ROOT_SIZE_CELLS;
+
+    /* Account for domU passthrough DT size */
+    if ( kinfo->dtb_bootmodule )
+        fdt_size += kinfo->dtb_bootmodule->size;
+
+    /* Cap to max DT size if needed */
+    fdt_size = min(fdt_size, SZ_2M);
+
+    kinfo->fdt = xmalloc_bytes(fdt_size);
+    if ( kinfo->fdt == NULL )
+        return -ENOMEM;
+
+    ret = fdt_create(kinfo->fdt, fdt_size);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish_reservemap(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_begin_node(kinfo->fdt, "");
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
+    if ( ret )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
+    if ( ret )
+        goto err;
+
+    ret = make_chosen_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_psci_node(kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_cpus_node(d, kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+    if ( ret )
+        goto err;
+
+    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                                &kinfo->shm_mem);
+    if ( ret )
+        goto err;
+
+    /*
+     * domain_handle_dtb_bootmodule has to be called before the rest of
+     * the device tree is generated because it depends on the value of
+     * the field phandle_gic.
+     */
+    if ( kinfo->dtb_bootmodule )
+    {
+        ret = domain_handle_dtb_bootmodule(d, kinfo);
+        if ( ret )
+            goto err;
+    }
+
+    ret = make_gic_domU_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_timer_node(kinfo);
+    if ( ret )
+        goto err;
+
+    if ( kinfo->vpl011 )
+    {
+        ret = -EINVAL;
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+        ret = make_vpl011_uart_node(kinfo);
+#endif
+        if ( ret )
+            goto err;
+    }
+
+    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
+    {
+        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        if ( ret )
+            goto err;
+    }
+
+    ret = fdt_end_node(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    return 0;
+
+  err:
+    printk("Device tree generation failed (%d).\n", ret);
+    xfree(kinfo->fdt);
+
+    return -EINVAL;
+}
+
+static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
+                                             unsigned int smp_cpus)
+{
+    /*
+     * Keep in sync with libxl__get_required_paging_memory().
+     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
+     * plus 128 pages to cover extended regions.
+     */
+    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
+
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
+}
+
+static int __init alloc_xenstore_evtchn(struct domain *d)
+{
+    evtchn_alloc_unbound_t alloc;
+    int rc;
+
+    alloc.dom = d->domain_id;
+    alloc.remote_dom = hardware_domain->domain_id;
+    rc = evtchn_alloc_unbound(&alloc, 0);
+    if ( rc )
+    {
+        printk("Failed allocating event channel for domain\n");
+        return rc;
+    }
+
+    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
+
+    return 0;
+}
+
+static int __init construct_domU(struct domain *d,
+                                 const struct dt_device_node *node)
+{
+    struct kernel_info kinfo = {};
+    const char *dom0less_enhanced;
+    int rc;
+    u64 mem;
+    u32 p2m_mem_mb;
+    unsigned long p2m_pages;
+
+    rc = dt_property_read_u64(node, "memory", &mem);
+    if ( !rc )
+    {
+        printk("Error building DomU: cannot read \"memory\" property\n");
+        return -EINVAL;
+    }
+    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
+
+    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
+    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
+    p2m_pages = rc ?
+                p2m_mem_mb << (20 - PAGE_SHIFT) :
+                domain_p2m_pages(mem, d->max_vcpus);
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    spin_unlock(&d->arch.paging.lock);
+    if ( rc != 0 )
+        return rc;
+
+    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
+           d->max_vcpus, mem);
+
+    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
+
+    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
+    if ( rc == -EILSEQ ||
+         rc == -ENODATA ||
+         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
+    {
+        if ( hardware_domain )
+            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
+        else
+            panic("At the moment, Xenstore support requires dom0 to be present\n");
+    }
+    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
+        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
+
+    if ( vcpu_create(d, 0) == NULL )
+        return -ENOMEM;
+
+    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
+
+    kinfo.d = d;
+
+    rc = kernel_probe(&kinfo, node);
+    if ( rc < 0 )
+        return rc;
+
+#ifdef CONFIG_ARM_64
+    /* type must be set before allocate memory */
+    d->arch.type = kinfo.type;
+#endif
+    if ( !dt_find_property(node, "xen,static-mem", NULL) )
+        allocate_memory(d, &kinfo);
+    else if ( !is_domain_direct_mapped(d) )
+        allocate_static_memory(d, &kinfo, node);
+    else
+        assign_static_memory_11(d, &kinfo, node);
+
+#ifdef CONFIG_STATIC_SHM
+    rc = process_shm(d, &kinfo, 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
+     * shall be done first.
+     */
+    if ( kinfo.vpl011 )
+    {
+        rc = domain_vpl011_init(d, NULL);
+        if ( rc < 0 )
+            return rc;
+    }
+
+    rc = prepare_dtb_domU(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    rc = construct_domain(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
+    {
+        ASSERT(hardware_domain);
+        rc = alloc_xenstore_evtchn(d);
+        if ( rc < 0 )
+            return rc;
+        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
+    }
+
+    return rc;
+}
+
+void __init create_domUs(void)
+{
+    struct dt_device_node *node;
+    const struct dt_device_node *cpupool_node,
+                                *chosen = dt_find_node_by_path("/chosen");
+
+    BUG_ON(chosen == NULL);
+    dt_for_each_child_node(chosen, node)
+    {
+        struct domain *d;
+        struct xen_domctl_createdomain d_cfg = {
+            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
+            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
+            /*
+             * The default of 1023 should be sufficient for guests because
+             * on ARM we don't bind physical interrupts to event channels.
+             * The only use of the evtchn port is inter-domain communications.
+             * 1023 is also the default value used in libxl.
+             */
+            .max_evtchn_port = 1023,
+            .max_grant_frames = -1,
+            .max_maptrack_frames = -1,
+            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
+        };
+        unsigned int flags = 0U;
+        uint32_t val;
+        int rc;
+
+        if ( !dt_device_is_compatible(node, "xen,domain") )
+            continue;
+
+        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
+            panic("No more domain IDs available\n");
+
+        if ( dt_find_property(node, "xen,static-mem", NULL) )
+            flags |= CDF_staticmem;
+
+        if ( dt_property_read_bool(node, "direct-map") )
+        {
+            if ( !(flags & CDF_staticmem) )
+                panic("direct-map is not valid for domain %s without static allocation.\n",
+                      dt_node_name(node));
+
+            flags |= CDF_directmap;
+        }
+
+        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
+            panic("Missing property 'cpus' for domain %s\n",
+                  dt_node_name(node));
+
+        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
+             iommu_enabled )
+            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
+
+        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
+        {
+            int vpl011_virq = GUEST_VPL011_SPI;
+
+            d_cfg.arch.nr_spis = gic_number_lines() - 32;
+
+            /*
+             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
+             * set, in which case it'll match the hardware.
+             *
+             * Since the domain is not yet created, we can't use
+             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
+             * be hardcoded.
+             * The logic here shall be consistent with the one in
+             * domain_vpl011_init().
+             */
+            if ( flags & CDF_directmap )
+            {
+                vpl011_virq = serial_irq(SERHND_DTUART);
+                if ( vpl011_virq < 0 )
+                    panic("Error getting IRQ number for this serial port %d\n",
+                          SERHND_DTUART);
+            }
+
+            /*
+             * vpl011 uses one emulated SPI. If vpl011 is requested, make
+             * sure that we allocate enough SPIs for it.
+             */
+            if ( dt_property_read_bool(node, "vpl011") )
+                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
+                                         vpl011_virq - 32 + 1);
+        }
+
+        /* Get the optional property domain-cpupool */
+        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
+        if ( cpupool_node )
+        {
+            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
+            if ( pool_id < 0 )
+                panic("Error getting cpupool id from domain-cpupool (%d)\n",
+                      pool_id);
+            d_cfg.cpupool_id = pool_id;
+        }
+
+        if ( dt_property_read_u32(node, "max_grant_version", &val) )
+            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
+
+        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_grant_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_grant_frames = val;
+        }
+
+        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_maptrack_frames = val;
+        }
+
+        if ( dt_get_property(node, "sve", &val) )
+        {
+#ifdef CONFIG_ARM64_SVE
+            unsigned int sve_vl_bits;
+            bool ret = false;
+
+            if ( !val )
+            {
+                /* Property found with no value, means max HW VL supported */
+                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
+            }
+            else
+            {
+                if ( dt_property_read_u32(node, "sve", &val) )
+                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
+                else
+                    panic("Error reading 'sve' property\n");
+            }
+
+            if ( ret )
+                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
+            else
+                panic("SVE vector length error\n");
+#else
+            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
+#endif
+        }
+
+        /*
+         * The variable max_init_domid is initialized with zero, so here it's
+         * very important to use the pre-increment operator to call
+         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
+         */
+        d = domain_create(++max_init_domid, &d_cfg, flags);
+        if ( IS_ERR(d) )
+            panic("Error creating domain %s (rc = %ld)\n",
+                  dt_node_name(node), PTR_ERR(d));
+
+        d->is_console = true;
+        dt_device_set_used_by(node, d->domain_id);
+
+        rc = construct_domU(d, node);
+        if ( rc )
+            panic("Could not set up domain %s (rc = %d)\n",
+                  dt_node_name(node), rc);
+    }
+}
+
+/*
+ * 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/domain_build.c b/xen/arch/arm/domain_build.c
index 3d3a117bde7a..d61fda9f2081 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -28,6 +28,7 @@
 #include <asm/setup.h>
 #include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
+#include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
 
@@ -117,7 +118,7 @@ struct vcpu *__init alloc_dom0_vcpu0(struct domain *dom0)
     return vcpu_create(dom0, 0);
 }
 
-static unsigned int __init get_allocation_size(paddr_t size)
+unsigned int __init get_allocation_size(paddr_t size)
 {
     /*
      * get_order_from_bytes returns the order greater than or equal to
@@ -413,10 +414,8 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
-static bool __init allocate_bank_memory(struct domain *d,
-                                        struct kernel_info *kinfo,
-                                        gfn_t sgfn,
-                                        paddr_t tot_size)
+bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
+                                 gfn_t sgfn, paddr_t tot_size)
 {
     int res;
     struct page_info *pg;
@@ -477,49 +476,6 @@ static bool __init allocate_bank_memory(struct domain *d,
     return true;
 }
 
-static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
-{
-    unsigned int i;
-    paddr_t bank_size;
-
-    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
-           /* Don't want format this as PRIpaddr (16 digit hex) */
-           (unsigned long)(kinfo->unassigned_mem >> 20), d);
-
-    kinfo->mem.nr_banks = 0;
-    bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
-                               bank_size) )
-        goto fail;
-
-    bank_size = MIN(GUEST_RAM1_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
-                               bank_size) )
-        goto fail;
-
-    if ( kinfo->unassigned_mem )
-        goto fail;
-
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
-    {
-        printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
-               d,
-               i,
-               kinfo->mem.bank[i].start,
-               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
-               /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(kinfo->mem.bank[i].size >> 20));
-    }
-
-    return;
-
-fail:
-    panic("Failed to allocate requested domain memory."
-          /* Don't want format this as PRIpaddr (16 digit hex) */
-          " %ldKB unallocated. Fix the VMs configurations.\n",
-          (unsigned long)kinfo->unassigned_mem >> 10);
-}
-
 #ifdef CONFIG_STATIC_MEMORY
 static bool __init append_static_memory_to_bank(struct domain *d,
                                                 struct membank *bank,
@@ -599,9 +555,8 @@ static int __init parse_static_mem_prop(const struct dt_device_node *node,
 }
 
 /* Allocate memory from static memory as RAM for one specific domain d. */
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
+void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
 {
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, gbank, bank = 0;
@@ -705,9 +660,8 @@ static void __init allocate_static_memory(struct domain *d,
  * The static memory will be directly mapped in the guest(Guest Physical
  * Address == Physical Address).
  */
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
+void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                                    const struct dt_device_node *node)
 {
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, bank = 0;
@@ -941,8 +895,8 @@ static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
     return 0;
 }
 
-static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                              const struct dt_device_node *node)
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       const struct dt_device_node *node)
 {
     struct dt_device_node *shm_node;
 
@@ -1047,20 +1001,6 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 #endif /* CONFIG_STATIC_SHM */
-#else
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
 #endif
 
 /*
@@ -1264,17 +1204,10 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 
-/*
- * Helper to write an interrupts with the GIC format
- * This code is assuming the irq is an PPI.
- */
-
-typedef __be32 gic_interrupt_t[3];
-
-static void __init set_interrupt(gic_interrupt_t interrupt,
-                                 unsigned int irq,
-                                 unsigned int cpumask,
-                                 unsigned int level)
+void __init set_interrupt(gic_interrupt_t interrupt,
+                          unsigned int irq,
+                          unsigned int cpumask,
+                          unsigned int level)
 {
     __be32 *cells = interrupt;
     bool is_ppi = !!(irq < 32);
@@ -1319,8 +1252,7 @@ static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
  * unit (which contains the physical address) with name to generate a
  * node name.
  */
-static int __init domain_fdt_begin_node(void *fdt, const char *name,
-                                        uint64_t unit)
+int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
 {
     /*
      * The size of the buffer to hold the longest possible string (i.e.
@@ -1344,10 +1276,10 @@ static int __init domain_fdt_begin_node(void *fdt, const char *name,
     return fdt_begin_node(fdt, buf);
 }
 
-static int __init make_memory_node(const struct domain *d,
-                                   void *fdt,
-                                   int addrcells, int sizecells,
-                                   struct meminfo *mem)
+int __init make_memory_node(const struct domain *d,
+                            void *fdt,
+                            int addrcells, int sizecells,
+                            struct meminfo *mem)
 {
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
@@ -1483,10 +1415,10 @@ static int __init make_shm_memory_node(const struct domain *d,
 }
 #endif
 
-static int __init make_resv_memory_node(const struct domain *d,
-                                        void *fdt,
-                                        int addrcells, int sizecells,
-                                        const struct meminfo *mem)
+int __init make_resv_memory_node(const struct domain *d,
+                                 void *fdt,
+                                 int addrcells, int sizecells,
+                                 const struct meminfo *mem)
 {
     int res = 0;
     /* Placeholder for reserved-memory\0 */
@@ -1819,9 +1751,9 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
     return res;
 }
 
-static int __init make_hypervisor_node(struct domain *d,
-                                       const struct kernel_info *kinfo,
-                                       int addrcells, int sizecells)
+int __init make_hypervisor_node(struct domain *d,
+                                const struct kernel_info *kinfo,
+                                int addrcells, int sizecells)
 {
     const char compat[] =
         "xen,xen-" XEN_VERSION_STRING "\0"
@@ -1938,7 +1870,7 @@ static int __init make_hypervisor_node(struct domain *d,
     return res;
 }
 
-static int __init make_psci_node(void *fdt)
+int __init make_psci_node(void *fdt)
 {
     int res;
     const char compat[] =
@@ -1974,7 +1906,7 @@ static int __init make_psci_node(void *fdt)
     return res;
 }
 
-static int __init make_cpus_node(const struct domain *d, void *fdt)
+int __init make_cpus_node(const struct domain *d, void *fdt)
 {
     int res;
     const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
@@ -2172,7 +2104,7 @@ static int __init make_gic_node(const struct domain *d, void *fdt,
     return res;
 }
 
-static int __init make_timer_node(const struct kernel_info *kinfo)
+int __init make_timer_node(const struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
     static const struct dt_device_match timer_ids[] __initconst =
@@ -2490,773 +2422,161 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
-#ifdef CONFIG_VGICV2
-static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
-    int res = 0;
-    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
-    __be32 *cells;
-    const struct domain *d = kinfo->d;
-
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
+    const p2m_type_t default_p2mt = p2m_mmio_direct_c;
+    const void *fdt;
+    int new_size;
+    int ret;
 
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
+    ASSERT(dt_host && (dt_host->sibling == NULL));
 
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
+    kinfo->phandle_gic = dt_interrupt_controller->phandle;
+    fdt = device_tree_flattened;
 
-    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
-    if ( res )
-        return res;
+    new_size = fdt_totalsize(fdt) + DOM0_FDT_EXTRA_SIZE;
+    kinfo->fdt = xmalloc_bytes(new_size);
+    if ( kinfo->fdt == NULL )
+        return -ENOMEM;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
+    ret = fdt_create(kinfo->fdt, new_size);
+    if ( ret < 0 )
+        goto err;
 
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
-    if (res)
-        return res;
+    fdt_finish_reservemap(kinfo->fdt);
 
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    ret = handle_node(d, kinfo, dt_host, default_p2mt);
+    if ( ret )
+        goto err;
 
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    ret = fdt_finish(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
 
-    res = fdt_end_node(fdt);
+    return 0;
 
-    return res;
+  err:
+    printk("Device tree generation failed (%d).\n", ret);
+    xfree(kinfo->fdt);
+    return -EINVAL;
 }
-#endif
 
-#ifdef CONFIG_GICV3
-static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+static void __init dtb_load(struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
-    int res = 0;
-    __be32 *reg, *cells;
-    const struct domain *d = kinfo->d;
-    unsigned int i, len = 0;
-
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
-    if ( res )
-        return res;
-
-    /* reg specifies all re-distributors and Distributor. */
-    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
-          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
-    reg = xmalloc_bytes(len);
-    if ( reg == NULL )
-        return -ENOMEM;
-    cells = reg;
-
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
-
-    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
-        dt_child_set_range(&cells,
-                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                           d->arch.vgic.rdist_regions[i].base,
-                           d->arch.vgic.rdist_regions[i].size);
-
-    res = fdt_property(fdt, "reg", reg, len);
-    xfree(reg);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    unsigned long left;
 
-    res = fdt_end_node(fdt);
+    printk("Loading %pd DTB to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
+           kinfo->d, kinfo->dtb_paddr,
+           kinfo->dtb_paddr + fdt_totalsize(kinfo->fdt));
 
-    return res;
-}
-#endif
+    left = copy_to_guest_phys_flush_dcache(kinfo->d, kinfo->dtb_paddr,
+                                           kinfo->fdt,
+                                           fdt_totalsize(kinfo->fdt));
 
-static int __init make_gic_domU_node(struct kernel_info *kinfo)
-{
-    switch ( kinfo->d->arch.vgic.version )
-    {
-#ifdef CONFIG_GICV3
-    case GIC_V3:
-        return make_gicv3_domU_node(kinfo);
-#endif
-#ifdef CONFIG_VGICV2
-    case GIC_V2:
-        return make_gicv2_domU_node(kinfo);
-#endif
-    default:
-        panic("Unsupported GIC version\n");
-    }
+    if ( left != 0 )
+        panic("Unable to copy the DTB to %pd memory (left = %lu bytes)\n",
+              kinfo->d, left);
+    xfree(kinfo->fdt);
 }
 
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+static void __init initrd_load(struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
+    const struct bootmodule *mod = kinfo->initrd_bootmodule;
+    paddr_t load_addr = kinfo->initrd_paddr;
+    paddr_t paddr, len;
+    int node;
     int res;
-    gic_interrupt_t intr;
-    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-    __be32 *cells;
-    struct domain *d = kinfo->d;
-
-    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
-    if ( res )
-        return res;
+    __be32 val[2];
+    __be32 *cellp;
+    void __iomem *initrd;
 
-    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
-    if ( res )
-        return res;
+    if ( !mod || !mod->size )
+        return;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
-                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
-                       GUEST_PL011_SIZE);
+    paddr = mod->start;
+    len = mod->size;
 
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
-    if ( res )
-        return res;
+    printk("Loading %pd initrd from %"PRIpaddr" to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
+           kinfo->d, paddr, load_addr, load_addr + len);
 
-    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+    /* Fix up linux,initrd-start and linux,initrd-end in /chosen */
+    node = fdt_path_offset(kinfo->fdt, "/chosen");
+    if ( node < 0 )
+        panic("Cannot find the /chosen node\n");
 
-    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
+    cellp = (__be32 *)val;
+    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr);
+    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-start",
+                              val, sizeof(val));
     if ( res )
-        return res;
+        panic("Cannot fix up \"linux,initrd-start\" property\n");
 
-    res = fdt_property_cell(fdt, "interrupt-parent",
-                            kinfo->phandle_gic);
+    cellp = (__be32 *)val;
+    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr + len);
+    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-end",
+                              val, sizeof(val));
     if ( res )
-        return res;
+        panic("Cannot fix up \"linux,initrd-end\" property\n");
 
-    /* Use a default baud rate of 115200. */
-    fdt_property_u32(fdt, "current-speed", 115200);
+    initrd = ioremap_wc(paddr, len);
+    if ( !initrd )
+        panic("Unable to map the hwdom initrd\n");
 
-    res = fdt_end_node(fdt);
-    if ( res )
-        return res;
+    res = copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
+                                          initrd, len);
+    if ( res != 0 )
+        panic("Unable to copy the initrd in the hwdom memory\n");
 
-    return 0;
+    iounmap(initrd);
 }
-#endif
 
 /*
- * Scan device tree properties for passthrough specific information.
- * Returns < 0 on error
- *         0 on success
+ * Allocate the event channel PPIs and setup the HVM_PARAM_CALLBACK_IRQ.
+ * The allocated IRQ will be found in d->arch.evtchn_irq.
+ *
+ * Note that this should only be called once all PPIs used by the
+ * hardware domain have been registered.
  */
-static int __init handle_passthrough_prop(struct kernel_info *kinfo,
-                                          const struct fdt_property *xen_reg,
-                                          const struct fdt_property *xen_path,
-                                          bool xen_force,
-                                          uint32_t address_cells, uint32_t size_cells)
+void __init evtchn_allocate(struct domain *d)
 {
-    const __be32 *cell;
-    unsigned int i, len;
-    struct dt_device_node *node;
     int res;
-    paddr_t mstart, size, gstart;
+    u64 val;
 
-    /* xen,reg specifies where to map the MMIO region */
-    cell = (const __be32 *)xen_reg->data;
-    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
-                                        sizeof(uint32_t));
+    res = vgic_allocate_ppi(d);
+    if ( res < 0 )
+        panic("Unable to allocate a PPI for the event channel interrupt\n");
 
-    for ( i = 0; i < len; i++ )
-    {
-        device_tree_get_reg(&cell, address_cells, size_cells,
-                            &mstart, &size);
-        gstart = dt_next_cell(address_cells, &cell);
+    d->arch.evtchn_irq = res;
 
-        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
-        {
-            printk(XENLOG_ERR
-                    "DomU passthrough config has not page aligned addresses/sizes\n");
-            return -EINVAL;
-        }
+    printk("Allocating PPI %u for event channel interrupt\n",
+           d->arch.evtchn_irq);
 
-        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
-                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
-                   kinfo->d->domain_id,
-                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
-            return res;
-        }
+    /* Set the value of domain param HVM_PARAM_CALLBACK_IRQ */
+    val = MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI,
+                    HVM_PARAM_CALLBACK_IRQ_TYPE_MASK);
+    /* Active-low level-sensitive  */
+    val |= MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_LOW_LEVEL,
+                     HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_MASK);
+    val |= d->arch.evtchn_irq;
+    d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
+}
 
-        res = map_regions_p2mt(kinfo->d,
-                               gaddr_to_gfn(gstart),
-                               PFN_DOWN(size),
-                               maddr_to_mfn(mstart),
-                               p2m_mmio_direct_dev);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR
-                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
-                   mstart, gstart);
-            return -EFAULT;
-        }
-    }
+static int __init get_evtchn_dt_property(const struct dt_device_node *np,
+                                         uint32_t *port, uint32_t *phandle)
+{
+    const __be32 *prop = NULL;
+    uint32_t len;
 
-    /*
-     * If xen_force, we let the user assign a MMIO region with no
-     * associated path.
-     */
-    if ( xen_path == NULL )
-        return xen_force ? 0 : -EINVAL;
+    prop = dt_get_property(np, "xen,evtchn", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
+        return -EINVAL;
+    }
 
-    /*
-     * xen,path specifies the corresponding node in the host DT.
-     * Both interrupt mappings and IOMMU settings are based on it,
-     * as they are done based on the corresponding host DT node.
-     */
-    node = dt_find_node_by_path(xen_path->data);
-    if ( node == NULL )
+    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
     {
-        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
-               (char *)xen_path->data);
-        return -EINVAL;
-    }
-
-    res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
-    if ( res < 0 )
-        return res;
-
-    res = iommu_add_dt_device(node);
-    if ( res < 0 )
-        return res;
-
-    /* If xen_force, we allow assignment of devices without IOMMU protection. */
-    if ( xen_force && !dt_device_is_protected(node) )
-        return 0;
-
-    return iommu_assign_dt_device(kinfo->d, node);
-}
-
-static int __init handle_prop_pfdt(struct kernel_info *kinfo,
-                                   const void *pfdt, int nodeoff,
-                                   uint32_t address_cells, uint32_t size_cells,
-                                   bool scan_passthrough_prop)
-{
-    void *fdt = kinfo->fdt;
-    int propoff, nameoff, res;
-    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
-    const char *name;
-    bool found, xen_force = false;
-
-    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
-          propoff >= 0;
-          propoff = fdt_next_property_offset(pfdt, propoff) )
-    {
-        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
-            return -FDT_ERR_INTERNAL;
-
-        found = false;
-        nameoff = fdt32_to_cpu(prop->nameoff);
-        name = fdt_string(pfdt, nameoff);
-
-        if ( scan_passthrough_prop )
-        {
-            if ( dt_prop_cmp("xen,reg", name) == 0 )
-            {
-                xen_reg = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,path", name) == 0 )
-            {
-                xen_path = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
-                                  name) == 0 )
-            {
-                xen_force = true;
-                found = true;
-            }
-        }
-
-        /*
-         * Copy properties other than the ones above: xen,reg, xen,path,
-         * and xen,force-assign-without-iommu.
-         */
-        if ( !found )
-        {
-            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
-            if ( res )
-                return res;
-        }
-    }
-
-    /*
-     * Only handle passthrough properties if both xen,reg and xen,path
-     * are present, or if xen,force-assign-without-iommu is specified.
-     */
-    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
-    {
-        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
-                                      address_cells, size_cells);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
-            return res;
-        }
-    }
-    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
-    {
-        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
-               kinfo->d);
-        return -EINVAL;
-    }
-
-    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
-    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
-}
-
-static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
-                                 int nodeoff,
-                                 uint32_t address_cells, uint32_t size_cells,
-                                 bool scan_passthrough_prop)
-{
-    int rc = 0;
-    void *fdt = kinfo->fdt;
-    int node_next;
-
-    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
-    if ( rc )
-        return rc;
-
-    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
-                          scan_passthrough_prop);
-    if ( rc )
-        return rc;
-
-    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
-                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
-    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
-                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
-
-    node_next = fdt_first_subnode(pfdt, nodeoff);
-    while ( node_next > 0 )
-    {
-        rc = scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
-                            scan_passthrough_prop);
-        if ( rc )
-            return rc;
-
-        node_next = fdt_next_subnode(pfdt, node_next);
-    }
-
-    return fdt_end_node(fdt);
-}
-
-static int __init check_partial_fdt(void *pfdt, size_t size)
-{
-    int res;
-
-    if ( fdt_magic(pfdt) != FDT_MAGIC )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
-        return -EINVAL;
-    }
-
-    res = fdt_check_header(pfdt);
-    if ( res )
-    {
-        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
-        return -EINVAL;
-    }
-
-    if ( fdt_totalsize(pfdt) > size )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
-        return -EINVAL;
-    }
-
-    return 0;
-}
-
-static int __init domain_handle_dtb_bootmodule(struct domain *d,
-                                               struct kernel_info *kinfo)
-{
-    void *pfdt;
-    int res, node_next;
-
-    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
-                         kinfo->dtb_bootmodule->size);
-    if ( pfdt == NULL )
-        return -EFAULT;
-
-    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
-    if ( res < 0 )
-        goto out;
-
-    for ( node_next = fdt_first_subnode(pfdt, 0); 
-          node_next > 0;
-          node_next = fdt_next_subnode(pfdt, node_next) )
-    {
-        const char *name = fdt_get_name(pfdt, node_next, NULL);
-
-        if ( name == NULL )
-            continue;
-
-        /*
-         * Only scan /gic /aliases /passthrough, ignore the rest.
-         * They don't have to be parsed in order.
-         *
-         * Take the GIC phandle value from the special /gic node in the
-         * DTB fragment.
-         */
-        if ( dt_node_cmp(name, "gic") == 0 )
-        {
-            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
-            continue;
-        }
-
-        if ( dt_node_cmp(name, "aliases") == 0 )
-        {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 false);
-            if ( res )
-                goto out;
-            continue;
-        }
-        if ( dt_node_cmp(name, "passthrough") == 0 )
-        {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 true);
-            if ( res )
-                goto out;
-            continue;
-        }
-    }
-
- out:
-    iounmap(pfdt);
-
-    return res;
-}
-
-/*
- * The max size for DT is 2MB. However, the generated DT is small (not including
- * domU passthrough DT nodes whose size we account separately), 4KB are enough
- * for now, but we might have to increase it in the future.
- */
-#define DOMU_DTB_SIZE 4096
-static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
-{
-    int addrcells, sizecells;
-    int ret, fdt_size = DOMU_DTB_SIZE;
-
-    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
-    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
-    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
-
-    addrcells = GUEST_ROOT_ADDRESS_CELLS;
-    sizecells = GUEST_ROOT_SIZE_CELLS;
-
-    /* Account for domU passthrough DT size */
-    if ( kinfo->dtb_bootmodule )
-        fdt_size += kinfo->dtb_bootmodule->size;
-
-    /* Cap to max DT size if needed */
-    fdt_size = min(fdt_size, SZ_2M);
-
-    kinfo->fdt = xmalloc_bytes(fdt_size);
-    if ( kinfo->fdt == NULL )
-        return -ENOMEM;
-
-    ret = fdt_create(kinfo->fdt, fdt_size);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_finish_reservemap(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_begin_node(kinfo->fdt, "");
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
-    if ( ret )
-        goto err;
-
-    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
-    if ( ret )
-        goto err;
-
-    ret = make_chosen_node(kinfo);
-    if ( ret )
-        goto err;
-
-    ret = make_psci_node(kinfo->fdt);
-    if ( ret )
-        goto err;
-
-    ret = make_cpus_node(d, kinfo->fdt);
-    if ( ret )
-        goto err;
-
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
-    if ( ret )
-        goto err;
-
-    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                &kinfo->shm_mem);
-    if ( ret )
-        goto err;
-
-    /*
-     * domain_handle_dtb_bootmodule has to be called before the rest of
-     * the device tree is generated because it depends on the value of
-     * the field phandle_gic.
-     */
-    if ( kinfo->dtb_bootmodule )
-    {
-        ret = domain_handle_dtb_bootmodule(d, kinfo);
-        if ( ret )
-            goto err;
-    }
-
-    ret = make_gic_domU_node(kinfo);
-    if ( ret )
-        goto err;
-
-    ret = make_timer_node(kinfo);
-    if ( ret )
-        goto err;
-
-    if ( kinfo->vpl011 )
-    {
-        ret = -EINVAL;
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-        ret = make_vpl011_uart_node(kinfo);
-#endif
-        if ( ret )
-            goto err;
-    }
-
-    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
-    {
-        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
-        if ( ret )
-            goto err;
-    }
-
-    ret = fdt_end_node(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_finish(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    return 0;
-
-  err:
-    printk("Device tree generation failed (%d).\n", ret);
-    xfree(kinfo->fdt);
-
-    return -EINVAL;
-}
-
-static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
-{
-    const p2m_type_t default_p2mt = p2m_mmio_direct_c;
-    const void *fdt;
-    int new_size;
-    int ret;
-
-    ASSERT(dt_host && (dt_host->sibling == NULL));
-
-    kinfo->phandle_gic = dt_interrupt_controller->phandle;
-    fdt = device_tree_flattened;
-
-    new_size = fdt_totalsize(fdt) + DOM0_FDT_EXTRA_SIZE;
-    kinfo->fdt = xmalloc_bytes(new_size);
-    if ( kinfo->fdt == NULL )
-        return -ENOMEM;
-
-    ret = fdt_create(kinfo->fdt, new_size);
-    if ( ret < 0 )
-        goto err;
-
-    fdt_finish_reservemap(kinfo->fdt);
-
-    ret = handle_node(d, kinfo, dt_host, default_p2mt);
-    if ( ret )
-        goto err;
-
-    ret = fdt_finish(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    return 0;
-
-  err:
-    printk("Device tree generation failed (%d).\n", ret);
-    xfree(kinfo->fdt);
-    return -EINVAL;
-}
-
-static void __init dtb_load(struct kernel_info *kinfo)
-{
-    unsigned long left;
-
-    printk("Loading %pd DTB to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
-           kinfo->d, kinfo->dtb_paddr,
-           kinfo->dtb_paddr + fdt_totalsize(kinfo->fdt));
-
-    left = copy_to_guest_phys_flush_dcache(kinfo->d, kinfo->dtb_paddr,
-                                           kinfo->fdt,
-                                           fdt_totalsize(kinfo->fdt));
-
-    if ( left != 0 )
-        panic("Unable to copy the DTB to %pd memory (left = %lu bytes)\n",
-              kinfo->d, left);
-    xfree(kinfo->fdt);
-}
-
-static void __init initrd_load(struct kernel_info *kinfo)
-{
-    const struct bootmodule *mod = kinfo->initrd_bootmodule;
-    paddr_t load_addr = kinfo->initrd_paddr;
-    paddr_t paddr, len;
-    int node;
-    int res;
-    __be32 val[2];
-    __be32 *cellp;
-    void __iomem *initrd;
-
-    if ( !mod || !mod->size )
-        return;
-
-    paddr = mod->start;
-    len = mod->size;
-
-    printk("Loading %pd initrd from %"PRIpaddr" to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
-           kinfo->d, paddr, load_addr, load_addr + len);
-
-    /* Fix up linux,initrd-start and linux,initrd-end in /chosen */
-    node = fdt_path_offset(kinfo->fdt, "/chosen");
-    if ( node < 0 )
-        panic("Cannot find the /chosen node\n");
-
-    cellp = (__be32 *)val;
-    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr);
-    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-start",
-                              val, sizeof(val));
-    if ( res )
-        panic("Cannot fix up \"linux,initrd-start\" property\n");
-
-    cellp = (__be32 *)val;
-    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr + len);
-    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-end",
-                              val, sizeof(val));
-    if ( res )
-        panic("Cannot fix up \"linux,initrd-end\" property\n");
-
-    initrd = ioremap_wc(paddr, len);
-    if ( !initrd )
-        panic("Unable to map the hwdom initrd\n");
-
-    res = copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
-                                          initrd, len);
-    if ( res != 0 )
-        panic("Unable to copy the initrd in the hwdom memory\n");
-
-    iounmap(initrd);
-}
-
-/*
- * Allocate the event channel PPIs and setup the HVM_PARAM_CALLBACK_IRQ.
- * The allocated IRQ will be found in d->arch.evtchn_irq.
- *
- * Note that this should only be called once all PPIs used by the
- * hardware domain have been registered.
- */
-void __init evtchn_allocate(struct domain *d)
-{
-    int res;
-    u64 val;
-
-    res = vgic_allocate_ppi(d);
-    if ( res < 0 )
-        panic("Unable to allocate a PPI for the event channel interrupt\n");
-
-    d->arch.evtchn_irq = res;
-
-    printk("Allocating PPI %u for event channel interrupt\n",
-           d->arch.evtchn_irq);
-
-    /* Set the value of domain param HVM_PARAM_CALLBACK_IRQ */
-    val = MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI,
-                    HVM_PARAM_CALLBACK_IRQ_TYPE_MASK);
-    /* Active-low level-sensitive  */
-    val |= MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_LOW_LEVEL,
-                     HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_MASK);
-    val |= d->arch.evtchn_irq;
-    d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
-}
-
-static int __init get_evtchn_dt_property(const struct dt_device_node *np,
-                                         uint32_t *port, uint32_t *phandle)
-{
-    const __be32 *prop = NULL;
-    uint32_t len;
-
-    prop = dt_get_property(np, "xen,evtchn", &len);
-    if ( !prop )
-    {
-        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
-        return -EINVAL;
-    }
-
-    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
-    {
-        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
+        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
         return -EINVAL;
     }
 
@@ -3412,22 +2732,7 @@ static void __init find_gnttab_region(struct domain *d,
            kinfo->gnttab_start, kinfo->gnttab_start + kinfo->gnttab_size);
 }
 
-static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
-                                             unsigned int smp_cpus)
-{
-    /*
-     * Keep in sync with libxl__get_required_paging_memory().
-     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
-     * plus 128 pages to cover extended regions.
-     */
-    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
-
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
-}
-
-static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
+int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
 {
     unsigned int i;
     struct vcpu *v = d->vcpu[0];
@@ -3518,296 +2823,6 @@ static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
     return 0;
 }
 
-static int __init alloc_xenstore_evtchn(struct domain *d)
-{
-    evtchn_alloc_unbound_t alloc;
-    int rc;
-
-    alloc.dom = d->domain_id;
-    alloc.remote_dom = hardware_domain->domain_id;
-    rc = evtchn_alloc_unbound(&alloc, 0);
-    if ( rc )
-    {
-        printk("Failed allocating event channel for domain\n");
-        return rc;
-    }
-
-    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
-
-    return 0;
-}
-
-static int __init construct_domU(struct domain *d,
-                                 const struct dt_device_node *node)
-{
-    struct kernel_info kinfo = {};
-    const char *dom0less_enhanced;
-    int rc;
-    u64 mem;
-    u32 p2m_mem_mb;
-    unsigned long p2m_pages;
-
-    rc = dt_property_read_u64(node, "memory", &mem);
-    if ( !rc )
-    {
-        printk("Error building DomU: cannot read \"memory\" property\n");
-        return -EINVAL;
-    }
-    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
-
-    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
-    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
-    p2m_pages = rc ?
-                p2m_mem_mb << (20 - PAGE_SHIFT) :
-                domain_p2m_pages(mem, d->max_vcpus);
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
-    spin_unlock(&d->arch.paging.lock);
-    if ( rc != 0 )
-        return rc;
-
-    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
-           d->max_vcpus, mem);
-
-    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
-
-    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
-    if ( rc == -EILSEQ ||
-         rc == -ENODATA ||
-         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
-    {
-        if ( hardware_domain )
-            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
-        else
-            panic("At the moment, Xenstore support requires dom0 to be present\n");
-    }
-    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
-        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
-
-    if ( vcpu_create(d, 0) == NULL )
-        return -ENOMEM;
-
-    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
-
-    kinfo.d = d;
-
-    rc = kernel_probe(&kinfo, node);
-    if ( rc < 0 )
-        return rc;
-
-#ifdef CONFIG_ARM_64
-    /* type must be set before allocate memory */
-    d->arch.type = kinfo.type;
-#endif
-    if ( !dt_find_property(node, "xen,static-mem", NULL) )
-        allocate_memory(d, &kinfo);
-    else if ( !is_domain_direct_mapped(d) )
-        allocate_static_memory(d, &kinfo, node);
-    else
-        assign_static_memory_11(d, &kinfo, node);
-
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, 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
-     * shall be done first.
-     */
-    if ( kinfo.vpl011 )
-    {
-        rc = domain_vpl011_init(d, NULL);
-        if ( rc < 0 )
-            return rc;
-    }
-
-    rc = prepare_dtb_domU(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    rc = construct_domain(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
-    {
-        ASSERT(hardware_domain);
-        rc = alloc_xenstore_evtchn(d);
-        if ( rc < 0 )
-            return rc;
-        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
-    }
-
-    return rc;
-}
-
-void __init create_domUs(void)
-{
-    struct dt_device_node *node;
-    const struct dt_device_node *cpupool_node,
-                                *chosen = dt_find_node_by_path("/chosen");
-
-    BUG_ON(chosen == NULL);
-    dt_for_each_child_node(chosen, node)
-    {
-        struct domain *d;
-        struct xen_domctl_createdomain d_cfg = {
-            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
-            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
-            /*
-             * The default of 1023 should be sufficient for guests because
-             * on ARM we don't bind physical interrupts to event channels.
-             * The only use of the evtchn port is inter-domain communications.
-             * 1023 is also the default value used in libxl.
-             */
-            .max_evtchn_port = 1023,
-            .max_grant_frames = -1,
-            .max_maptrack_frames = -1,
-            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
-        };
-        unsigned int flags = 0U;
-        uint32_t val;
-        int rc;
-
-        if ( !dt_device_is_compatible(node, "xen,domain") )
-            continue;
-
-        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
-            panic("No more domain IDs available\n");
-
-        if ( dt_find_property(node, "xen,static-mem", NULL) )
-            flags |= CDF_staticmem;
-
-        if ( dt_property_read_bool(node, "direct-map") )
-        {
-            if ( !(flags & CDF_staticmem) )
-                panic("direct-map is not valid for domain %s without static allocation.\n",
-                      dt_node_name(node));
-
-            flags |= CDF_directmap;
-        }
-
-        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
-            panic("Missing property 'cpus' for domain %s\n",
-                  dt_node_name(node));
-
-        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
-             iommu_enabled )
-            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
-
-        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
-        {
-            int vpl011_virq = GUEST_VPL011_SPI;
-
-            d_cfg.arch.nr_spis = gic_number_lines() - 32;
-
-            /*
-             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
-             * set, in which case it'll match the hardware.
-             *
-             * Since the domain is not yet created, we can't use
-             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
-             * be hardcoded.
-             * The logic here shall be consistent with the one in
-             * domain_vpl011_init().
-             */
-            if ( flags & CDF_directmap )
-            {
-                vpl011_virq = serial_irq(SERHND_DTUART);
-                if ( vpl011_virq < 0 )
-                    panic("Error getting IRQ number for this serial port %d\n",
-                          SERHND_DTUART);
-            }
-
-            /*
-             * vpl011 uses one emulated SPI. If vpl011 is requested, make
-             * sure that we allocate enough SPIs for it.
-             */
-            if ( dt_property_read_bool(node, "vpl011") )
-                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
-                                         vpl011_virq - 32 + 1);
-        }
-
-        /* Get the optional property domain-cpupool */
-        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
-        if ( cpupool_node )
-        {
-            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
-            if ( pool_id < 0 )
-                panic("Error getting cpupool id from domain-cpupool (%d)\n",
-                      pool_id);
-            d_cfg.cpupool_id = pool_id;
-        }
-
-        if ( dt_property_read_u32(node, "max_grant_version", &val) )
-            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
-
-        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_grant_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_grant_frames = val;
-        }
-
-        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_maptrack_frames = val;
-        }
-
-        if ( dt_get_property(node, "sve", &val) )
-        {
-#ifdef CONFIG_ARM64_SVE
-            unsigned int sve_vl_bits;
-            bool ret = false;
-
-            if ( !val )
-            {
-                /* Property found with no value, means max HW VL supported */
-                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
-            }
-            else
-            {
-                if ( dt_property_read_u32(node, "sve", &val) )
-                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
-                else
-                    panic("Error reading 'sve' property\n");
-            }
-
-            if ( ret )
-                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
-            else
-                panic("SVE vector length error\n");
-#else
-            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
-#endif
-        }
-
-        /*
-         * The variable max_init_domid is initialized with zero, so here it's
-         * very important to use the pre-increment operator to call
-         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
-         */
-        d = domain_create(++max_init_domid, &d_cfg, flags);
-        if ( IS_ERR(d) )
-            panic("Error creating domain %s (rc = %ld)\n",
-                  dt_node_name(node), PTR_ERR(d));
-
-        d->is_console = true;
-        dt_device_set_used_by(node, d->domain_id);
-
-        rc = construct_domU(d, node);
-        if ( rc )
-            panic("Could not set up domain %s (rc = %d)\n",
-                  dt_node_name(node), rc);
-    }
-}
-
 static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
new file mode 100644
index 000000000000..0d28fa1bee46
--- /dev/null
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/include/asm/dom0less-build.h
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#ifndef __ARM_DOM0LESS_BUILD_H_
+#define __ARM_DOM0LESS_BUILD_H_
+
+#include <asm/kernel.h>
+
+void create_domUs(void);
+bool is_dom0less_mode(void);
+
+#endif  /* __ARM_DOM0LESS_BUILD_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:b
+ */
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index b9329c9ee032..b9ae0d170c5c 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,9 +4,47 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
+typedef __be32 gic_interrupt_t[3];
+
+bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
+                          gfn_t sgfn, paddr_t tot_size);
+int construct_domain(struct domain *d, struct kernel_info *kinfo);
+int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
+int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
+                          int sizecells, const struct meminfo *mem);
 int make_chosen_node(const struct kernel_info *kinfo);
+int make_cpus_node(const struct domain *d, void *fdt);
+int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
+                         int addrcells, int sizecells);
+int make_memory_node(const struct domain *d, void *fdt, int addrcells,
+                     int sizecells, struct meminfo *mem);
+int make_psci_node(void *fdt);
+int make_timer_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
 
+unsigned int get_allocation_size(paddr_t size);
+
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
+                             bool need_mapping);
+
+/*
+ * Helper to write an interrupts with the GIC format
+ * This code is assuming the irq is an PPI.
+ */
+void set_interrupt(gic_interrupt_t interrupt, unsigned int irq,
+                   unsigned int cpumask, unsigned int level);
+
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
 #ifndef CONFIG_ACPI
 static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 {
@@ -17,6 +55,28 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 #else
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
+
+#ifdef CONFIG_STATIC_MEMORY
+void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                            const struct dt_device_node *node);
+void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                             const struct dt_device_node *node);
+#else
+static inline void allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+#endif
+
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 98af6f55f5a0..39359f64b678 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -135,7 +135,6 @@ void acpi_create_efi_mmap_table(struct domain *d,
 
 int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
 
-void create_domUs(void);
 void create_dom0(void);
 void alloc_static_evtchn(void);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3f3a45719ccb..60b544b67b4e 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -34,6 +34,7 @@
 #include <xen/warning.h>
 #include <xen/hypercall.h>
 #include <asm/alternative.h>
+#include <asm/dom0less-build.h>
 #include <asm/page.h>
 #include <asm/current.h>
 #include <asm/setup.h>
@@ -1042,38 +1043,6 @@ static void __init setup_mm(void)
 }
 #endif
 
-static bool __init is_dom0less_mode(void)
-{
-    struct bootmodules *mods = &bootinfo.modules;
-    struct bootmodule *mod;
-    unsigned int i;
-    bool dom0found = false;
-    bool domUfound = false;
-
-    /* Look into the bootmodules */
-    for ( i = 0 ; i < mods->nr_mods ; i++ )
-    {
-        mod = &mods->module[i];
-        /* Find if dom0 and domU kernels are present */
-        if ( mod->kind == BOOTMOD_KERNEL )
-        {
-            if ( mod->domU == false )
-            {
-                dom0found = true;
-                break;
-            }
-            else
-                domUfound = true;
-        }
-    }
-
-    /*
-     * If there is no dom0 kernel but at least one domU, then we are in
-     * dom0less mode
-     */
-    return ( !dom0found && domUfound );
-}
-
 size_t __read_mostly dcache_line_bytes;
 
 /* C entry point for boot CPU */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 09:06:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 09:06:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629509.981824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r10zh-00066N-El; Thu, 09 Nov 2023 09:06:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629509.981824; Thu, 09 Nov 2023 09: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 1r10zh-000665-8I; Thu, 09 Nov 2023 09:06:33 +0000
Received: by outflank-mailman (input) for mailman id 629509;
 Thu, 09 Nov 2023 09: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=T6cS=GW=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r10zg-0005ED-07
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 09:06:32 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 45d56ead-7edf-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 10:06:31 +0100 (CET)
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 25E951477;
 Thu,  9 Nov 2023 01:07:15 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id C23FC3F703;
 Thu,  9 Nov 2023 01:06:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45d56ead-7edf-11ee-98da-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 5/5] arm/dom0less: introduce Kconfig for dom0less feature
Date: Thu,  9 Nov 2023 09:06:15 +0000
Message-Id: <20231109090615.3878767-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231109090615.3878767-1-luca.fancellu@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a Kconfig for the dom0less feature, enabled by default,
to be able to choose if the feature should be compiled or not.

Provide static inline stubs when the option is disabled for the
functions externally visible.

Use the new Kconfig to remove dom0less DT binding from the efi-boot.h
code when the Kconfig is not enabled, do the same for
allocate_bank_memory inside domain_build.c that currently is used
only by dom0less-build.c module, but it's kept there provisioning
its usage by dom0 code.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - protect allocate_bank_memory with the new Kconfig
---
 xen/arch/arm/Kconfig                      |  9 +++++++++
 xen/arch/arm/Makefile                     |  2 +-
 xen/arch/arm/domain_build.c               |  2 ++
 xen/arch/arm/efi/efi-boot.h               |  4 ++++
 xen/arch/arm/include/asm/dom0less-build.h | 12 ++++++++++++
 xen/arch/arm/include/asm/domain_build.h   |  2 ++
 6 files changed, 30 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 0045a3762d86..0399f2faf734 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -88,6 +88,15 @@ config GICV2
 	  Driver for the ARM Generic Interrupt Controller v2.
 	  If unsure, say Y
 
+config DOM0LESS_BOOT
+	bool "Dom0less boot support" if EXPERT
+	depends on ARM
+	default y
+	help
+	  Dom0less boot support enables Xen to create and start domU guests during
+	  Xen boot without the need of a control domain (Dom0), which could be
+	  present anyway.
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 89ef0c9075b5..5daf8f10114d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -15,7 +15,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
-obj-y += dom0less-build.init.o
+obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index c2c17f075450..87eade449006 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -415,6 +415,7 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
 bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                                  gfn_t sgfn, paddr_t tot_size)
 {
@@ -476,6 +477,7 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
 
     return true;
 }
+#endif
 
 /*
  * When PCI passthrough is available we want to keep the
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 1c3640bb65fd..689dc016d081 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -802,6 +802,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
     return 1;
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
 /*
  * This function checks for boot modules under the domU guest domain node
  * in the DT.
@@ -849,6 +850,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
 
     return mb_modules_found;
 }
+#endif
 
 /*
  * This function checks for xen domain nodes under the /chosen node for possible
@@ -876,6 +878,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
     {
         int ret;
 
+#ifdef CONFIG_DOM0LESS_BOOT
         if ( !fdt_node_check_compatible(fdt_efi, node, "xen,domain") )
         {
             /* Found a node with compatible xen,domain; handle this node. */
@@ -884,6 +887,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
                 return ERROR_DT_MODULE_DOMU;
         }
         else
+#endif
         {
             ret = handle_module_node(loaded_image, &dir_handle, node, addr_len,
                                      size_len, false);
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index d95cb6234b62..859944eece16 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -8,9 +8,21 @@
 #ifndef __ARM_DOM0LESS_BUILD_H_
 #define __ARM_DOM0LESS_BUILD_H_
 
+#ifdef CONFIG_DOM0LESS_BOOT
+
 void create_domUs(void);
 bool is_dom0less_mode(void);
 
+#else  /* !CONFIG_DOM0LESS_BOOT */
+
+static inline void create_domUs(void) {}
+static inline bool is_dom0less_mode(void)
+{
+    return false;
+}
+
+#endif /* CONFIG_DOM0LESS_BOOT */
+
 #endif  /* __ARM_DOM0LESS_BUILD_H_ */
 
 /*
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index 13118b5ff956..3950f0276e55 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -6,8 +6,10 @@
 
 typedef __be32 gic_interrupt_t[3];
 
+#ifdef CONFIG_DOM0LESS_BOOT
 bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                           gfn_t sgfn, paddr_t tot_size);
+#endif
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
 int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 09:06:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 09:06:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629510.981839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r10zj-0006ZX-0D; Thu, 09 Nov 2023 09:06:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629510.981839; Thu, 09 Nov 2023 09: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 1r10zi-0006ZK-Rc; Thu, 09 Nov 2023 09:06:34 +0000
Received: by outflank-mailman (input) for mailman id 629510;
 Thu, 09 Nov 2023 09:06: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=T6cS=GW=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r10zh-0005V5-AM
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 09:06:33 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 452a1a9e-7edf-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 10:06:29 +0100 (CET)
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 1135A12FC;
 Thu,  9 Nov 2023 01:07:14 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 945953F703;
 Thu,  9 Nov 2023 01:06:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 452a1a9e-7edf-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v3 4/5] xen/arm: Move static memory build code in separate modules
Date: Thu,  9 Nov 2023 09:06:14 +0000
Message-Id: <20231109090615.3878767-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231109090615.3878767-1-luca.fancellu@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move static memory and static shared memory code in separate modules
so that they are included only when the corresponding feature is
enabled, doing that we modularise the features and we remove some
ifdefs from the code to improve readability.

Move process_shm_node function from bootfdt module and make it
externally visible.

A static inline helper called process_shm_chosen is introduced, it
will call the process_shm function for the '/chosen' node, and will
be used by the function construct_dom0 instead of using directly
process_shm, allowing some #ifdef to be removed.

No functional changes are intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v2:
 - no changes
---
 xen/arch/arm/Makefile                     |   2 +
 xen/arch/arm/bootfdt.c                    | 161 +-----
 xen/arch/arm/dom0less-build.c             |   4 +-
 xen/arch/arm/domain_build.c               | 614 +---------------------
 xen/arch/arm/include/asm/dom0less-build.h |   2 -
 xen/arch/arm/include/asm/domain_build.h   |  24 -
 xen/arch/arm/include/asm/static-memory.h  |  50 ++
 xen/arch/arm/include/asm/static-shmem.h   |  72 +++
 xen/arch/arm/setup.c                      |  25 +-
 xen/arch/arm/static-memory.c              | 294 +++++++++++
 xen/arch/arm/static-shmem.c               | 515 ++++++++++++++++++
 11 files changed, 939 insertions(+), 824 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 70dd7201ef30..89ef0c9075b5 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -50,6 +50,8 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
+obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
+obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
 obj-y += sysctl.o
 obj-y += time.o
 obj-y += traps.o
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 2673ad17a1e1..fcf851b4c99b 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -15,6 +15,7 @@
 #include <xen/sort.h>
 #include <xsm/xsm.h>
 #include <asm/setup.h>
+#include <asm/static-shmem.h>
 
 static bool __init device_tree_node_matches(const void *fdt, int node,
                                             const char *match)
@@ -402,166 +403,6 @@ static int __init process_domain_node(const void *fdt, int node,
                                    MEMBANK_STATIC_DOMAIN);
 }
 
-#ifdef CONFIG_STATIC_SHM
-static int __init process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t size_cells)
-{
-    const struct fdt_property *prop, *prop_id, *prop_role;
-    const __be32 *cell;
-    paddr_t paddr, gaddr, 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 %u characters\n",
-               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, gaddr, size>;
-     * 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) )
-    {
-        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, address_cells, &paddr, &gaddr);
-    size = dt_next_cell(size_cells, &cell);
-
-    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;
-
-            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
-            {
-                printk("fdt: static shared memory region %s overflow\n", shm_id);
-                return -EINVAL;
-            }
-
-            if ( check_reserved_regions_overlap(paddr, size) )
-                return -EINVAL;
-            else
-            {
-                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
-                    continue;
-                else
-                {
-                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
-                           shm_id);
-                    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].type = MEMBANK_STATIC_DOMAIN;
-            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;
-}
-#else
-static int __init process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t size_cells)
-{
-    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared memory nodes\n");
-    return -EINVAL;
-}
-#endif
-
 static int __init early_scan_node(const void *fdt,
                                   int node, const char *name, int depth,
                                   u32 address_cells, u32 size_cells,
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 1ca9d39043d6..d39cbd969aca 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -13,6 +13,8 @@
 #include <asm/arm64/sve.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/static-memory.h>
+#include <asm/static-shmem.h>
 
 bool __init is_dom0less_mode(void)
 {
@@ -806,11 +808,9 @@ static int __init construct_domU(struct domain *d,
     else
         assign_static_memory_11(d, &kinfo, node);
 
-#ifdef CONFIG_STATIC_SHM
     rc = process_shm(d, &kinfo, node);
     if ( rc < 0 )
         return rc;
-#endif
 
     /*
      * Base address and irq number are needed when creating vpl011 device
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index d61fda9f2081..c2c17f075450 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -30,6 +30,7 @@
 #include <asm/cpufeature.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/static-shmem.h>
 #include <xen/event.h>
 
 #include <xen/irq.h>
@@ -476,533 +477,6 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
     return true;
 }
 
-#ifdef CONFIG_STATIC_MEMORY
-static bool __init append_static_memory_to_bank(struct domain *d,
-                                                struct membank *bank,
-                                                mfn_t smfn,
-                                                paddr_t size)
-{
-    int res;
-    unsigned int nr_pages = PFN_DOWN(size);
-    gfn_t sgfn;
-
-    /*
-     * For direct-mapped domain, the GFN match the MFN.
-     * Otherwise, this is inferred on what has already been allocated
-     * in the bank.
-     */
-    if ( !is_domain_direct_mapped(d) )
-        sgfn = gaddr_to_gfn(bank->start + bank->size);
-    else
-        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
-
-    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
-    if ( res )
-    {
-        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
-        return false;
-    }
-
-    bank->size = bank->size + size;
-
-    return true;
-}
-
-static mfn_t __init acquire_static_memory_bank(struct domain *d,
-                                               const __be32 **cell,
-                                               u32 addr_cells, u32 size_cells,
-                                               paddr_t *pbase, paddr_t *psize)
-{
-    mfn_t smfn;
-    int res;
-
-    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
-    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
-    if ( PFN_DOWN(*psize) > UINT_MAX )
-    {
-        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
-               d, *psize);
-        return INVALID_MFN;
-    }
-
-    smfn = maddr_to_mfn(*pbase);
-    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
-    if ( res )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to acquire static memory: %d.\n", d, res);
-        return INVALID_MFN;
-    }
-
-    return smfn;
-}
-
-static int __init parse_static_mem_prop(const struct dt_device_node *node,
-                                        u32 *addr_cells, u32 *size_cells,
-                                        int *length, const __be32 **cell)
-{
-    const struct dt_property *prop;
-
-    prop = dt_find_property(node, "xen,static-mem", NULL);
-
-    *addr_cells = dt_n_addr_cells(node);
-    *size_cells = dt_n_size_cells(node);
-
-    *cell = (const __be32 *)prop->value;
-    *length = prop->length;
-
-    return 0;
-}
-
-/* Allocate memory from static memory as RAM for one specific domain d. */
-void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
-                                   const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, gbank, bank = 0;
-    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
-    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
-    const __be32 *cell;
-    u64 tot_size = 0;
-    paddr_t pbase, psize, gsize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-        goto fail;
-    reg_cells = addr_cells + size_cells;
-
-    /*
-     * The static memory will be mapped in the guest at the usual guest memory
-     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
-     * xen/include/public/arch-arm.h.
-     */
-    gbank = 0;
-    gsize = ramsize[gbank];
-    kinfo->mem.bank[gbank].start = rambase[gbank];
-    nr_banks = length / (reg_cells * sizeof (u32));
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        while ( 1 )
-        {
-            /* Map as much as possible the static range to the guest bank */
-            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
-                                               min(psize, gsize)) )
-                goto fail;
-
-            /*
-             * The current physical bank is fully mapped.
-             * Handle the next physical bank.
-             */
-            if ( gsize >= psize )
-            {
-                gsize = gsize - psize;
-                break;
-            }
-            /*
-             * When current guest bank is not enough to map, exhaust
-             * the current one and seek to the next.
-             * Before seeking to the next, check if we still have available
-             * guest bank.
-             */
-            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
-            {
-                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
-                goto fail;
-            }
-            else
-            {
-                psize = psize - gsize;
-                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
-                /* Update to the next guest bank. */
-                gbank++;
-                gsize = ramsize[gbank];
-                kinfo->mem.bank[gbank].start = rambase[gbank];
-            }
-        }
-
-        tot_size += psize;
-    }
-
-    kinfo->mem.nr_banks = ++gbank;
-
-    kinfo->unassigned_mem -= tot_size;
-    /*
-     * The property 'memory' should match the amount of memory given to the
-     * guest.
-     * Currently, it is only possible to either acquire static memory or let
-     * Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to allocate requested static memory for domain %pd.\n", d);
-}
-
-/*
- * Allocate static memory as RAM for one specific domain d.
- * The static memory will be directly mapped in the guest(Guest Physical
- * Address == Physical Address).
- */
-void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
-                                    const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, bank = 0;
-    const __be32 *cell;
-    paddr_t pbase, psize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
-        goto fail;
-    }
-    reg_cells = addr_cells + size_cells;
-    nr_banks = length / (reg_cells * sizeof(u32));
-
-    if ( nr_banks > NR_MEM_BANKS )
-    {
-        printk(XENLOG_ERR
-               "%pd: exceed max number of supported guest memory banks.\n", d);
-        goto fail;
-    }
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        /* One guest memory bank is matched with one physical memory bank. */
-        kinfo->mem.bank[bank].start = pbase;
-        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
-                                           smfn, psize) )
-            goto fail;
-
-        kinfo->unassigned_mem -= psize;
-    }
-
-    kinfo->mem.nr_banks = nr_banks;
-
-    /*
-     * The property 'memory' should match the amount of memory given to
-     * the guest.
-     * Currently, it is only possible to either acquire static memory or
-     * let Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem != 0 )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
-          d);
-}
-
-#ifdef CONFIG_STATIC_SHM
-static int __init acquire_nr_borrower_domain(struct domain *d,
-                                             paddr_t pbase, paddr_t psize,
-                                             unsigned long *nr_borrowers)
-{
-    unsigned int bank;
-
-    /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
-        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
-
-        if ( (pbase == bank_start) && (psize == bank_size) )
-            break;
-    }
-
-    if ( bank == bootinfo.reserved_mem.nr_banks )
-        return -ENOENT;
-
-    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
-
-    return 0;
-}
-
-/*
- * 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;
-    struct domain *d;
-
-    page = maddr_to_page(pbase);
-    d = page_get_owner_and_reference(page);
-    if ( d == NULL )
-        return false;
-    put_page(page);
-
-    if ( d != dom_io )
-    {
-        printk(XENLOG_ERR
-               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
-               d);
-        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);
-        d->max_pages -= nr_pfns;
-        return INVALID_MFN;
-    }
-
-    return smfn;
-}
-
-static int __init assign_shared_memory(struct domain *d,
-                                       uint32_t addr_cells, uint32_t size_cells,
-                                       paddr_t pbase, paddr_t psize,
-                                       paddr_t gbase)
-{
-    mfn_t smfn;
-    int ret = 0;
-    unsigned long nr_pages, nr_borrowers, i;
-    struct page_info *page;
-
-    printk("%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 not auto-translated (i.e. it sees RAM 1:1). So we do not need
-     * to create mapping in the P2M.
-     */
-    nr_pages = PFN_DOWN(psize);
-    if ( d != dom_io )
-    {
-        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
-                                      PFN_DOWN(psize));
-        if ( ret )
-        {
-            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
-            return ret;
-        }
-    }
-
-    /*
-     * Get the right amount of references per page, which is the number of
-     * borrower domains.
-     */
-    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
-    if ( ret )
-        return ret;
-
-    /*
-     * Instead of letting borrower domain get a page ref, we add as many
-     * additional reference as the number of borrowers when the owner
-     * is allocated, since there is a chance that owner is created
-     * after borrower.
-     * So if the borrower is created first, it will cause adding pages
-     * in the P2M without reference.
-     */
-    page = mfn_to_page(smfn);
-    for ( i = 0; i < nr_pages; i++ )
-    {
-        if ( !get_page_nr(page + i, d, nr_borrowers) )
-        {
-            printk(XENLOG_ERR
-                   "Failed to add %lu references to page %"PRI_mfn".\n",
-                   nr_borrowers, mfn_x(smfn) + i);
-            goto fail;
-        }
-    }
-
-    return 0;
-
- fail:
-    while ( --i >= 0 )
-        put_page_nr(page + i, nr_borrowers);
-    return ret;
-}
-
-static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
-                                            paddr_t start, paddr_t size,
-                                            const char *shm_id)
-{
-    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
-        return -ENOMEM;
-
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
-    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
-    kinfo->shm_mem.nr_banks++;
-
-    return 0;
-}
-
-int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                       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;
-        const char *role_str;
-        const char *shm_id;
-        bool owner_dom_io = true;
-
-        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
-            continue;
-
-        /*
-         * xen,shared-mem = <pbase, gbase, size>;
-         * 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);
-        BUG_ON(!prop);
-        cells = (const __be32 *)prop->value;
-        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
-        psize = dt_read_paddr(cells, size_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;
-            }
-
-        /*
-         * "role" property is optional and if it is defined explicitly,
-         * then the owner domain is not the default "dom_io" domain.
-         */
-        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
-            owner_dom_io = false;
-
-        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
-        {
-            printk("%pd: invalid \"xen,shm-id\" property", d);
-            return -EINVAL;
-        }
-        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
-
-        /*
-         * 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 ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
-             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
-        {
-            /*
-             * We found the first borrower of the region, the owner was not
-             * specified, so they should be assigned to dom_io.
-             */
-            ret = assign_shared_memory(owner_dom_io ? dom_io : d,
-                                       addr_cells, size_cells,
-                                       pbase, psize, gbase);
-            if ( ret )
-                return ret;
-        }
-
-        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
-        {
-            /* Set up P2M foreign mapping for borrower domain. */
-            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
-                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
-            if ( ret )
-                return ret;
-        }
-
-        /*
-         * Record static shared memory region info for later setting
-         * up shm-node in guest device tree.
-         */
-        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
-        if ( ret )
-            return ret;
-    }
-
-    return 0;
-}
-#endif /* CONFIG_STATIC_SHM */
-#endif
-
 /*
  * When PCI passthrough is available we want to keep the
  * "linux,pci-domain" in sync for every host bridge.
@@ -1336,85 +810,6 @@ int __init make_memory_node(const struct domain *d,
     return res;
 }
 
-#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;
-        const char compat[] = "xen,shared-memory-v1";
-        /* Worst case addrcells + sizecells */
-        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-        __be32 *cells;
-        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
-
-        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
-        if ( res )
-            return res;
-
-        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
-        if ( res )
-            return res;
-
-        cells = reg;
-        dt_child_set_range(&cells, addrcells, sizecells, start, size);
-
-        res = fdt_property(fdt, "reg", reg, len);
-        if ( res )
-            return res;
-
-        dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
-                   i, start, start + size);
-
-        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
-        if ( res )
-            return res;
-
-        /*
-         * TODO:
-         * - xen,offset: (borrower VMs only)
-         *   64 bit integer offset within the owner virtual machine's shared
-         *   memory region used for the mapping in the borrower VM
-         */
-        res = fdt_property_u64(fdt, "xen,offset", 0);
-        if ( res )
-            return res;
-
-        res = fdt_end_node(fdt);
-        if ( res )
-            return res;
-    }
-
-    return res;
-}
-#else
-static int __init make_shm_memory_node(const struct domain *d,
-                                       void *fdt,
-                                       int addrcells, int sizecells,
-                                       const struct meminfo *mem)
-{
-    ASSERT_UNREACHABLE();
-    return -EOPNOTSUPP;
-}
-#endif
-
 int __init make_resv_memory_node(const struct domain *d,
                                  void *fdt,
                                  int addrcells, int sizecells,
@@ -2827,9 +2222,6 @@ static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
     int rc;
-#ifdef CONFIG_STATIC_SHM
-    const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
-#endif
 
     /* Sanity! */
     BUG_ON(d->domain_id != 0);
@@ -2864,11 +2256,9 @@ static int __init construct_dom0(struct domain *d)
     allocate_memory_11(d, &kinfo);
     find_gnttab_region(d, &kinfo);
 
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, chosen);
+    rc = process_shm_chosen(d, &kinfo);
     if ( rc < 0 )
         return rc;
-#endif
 
     /* Map extra GIC MMIO, irqs and other hw stuffs to dom0. */
     rc = gic_map_hwdom_extra_mappings(d);
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index 0d28fa1bee46..d95cb6234b62 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -8,8 +8,6 @@
 #ifndef __ARM_DOM0LESS_BUILD_H_
 #define __ARM_DOM0LESS_BUILD_H_
 
-#include <asm/kernel.h>
-
 void create_domUs(void);
 bool is_dom0less_mode(void);
 
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index b9ae0d170c5c..13118b5ff956 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -42,9 +42,6 @@ int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
 void set_interrupt(gic_interrupt_t interrupt, unsigned int irq,
                    unsigned int cpumask, unsigned int level);
 
-int process_shm(struct domain *d, struct kernel_info *kinfo,
-                const struct dt_device_node *node);
-
 #ifndef CONFIG_ACPI
 static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 {
@@ -56,27 +53,6 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
 
-#ifdef CONFIG_STATIC_MEMORY
-void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
-                            const struct dt_device_node *node);
-void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
-                             const struct dt_device_node *node);
-#else
-static inline void allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-
-static inline void assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-#endif
-
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/static-memory.h b/xen/arch/arm/include/asm/static-memory.h
new file mode 100644
index 000000000000..0fe193b36861
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-memory.h
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/include/asm/static-memory.h
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#ifndef __ARM_STATIC_MEMORY_H_
+#define __ARM_STATIC_MEMORY_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_MEMORY
+
+void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                            const struct dt_device_node *node);
+void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                             const struct dt_device_node *node);
+void init_staticmem_pages(void);
+
+#else /* !CONFIG_STATIC_MEMORY */
+
+static inline void allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void init_staticmem_pages(void) {};
+
+#endif /* CONFIG_STATIC_MEMORY */
+
+#endif  /* __ARM_STATIC_MEMORY_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:b
+ */
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
new file mode 100644
index 000000000000..5a8075fbee55
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -0,0 +1,72 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/include/asm/static-shmem.h
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#ifndef __ARM_STATIC_SHMEM_H_
+#define __ARM_STATIC_SHMEM_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_SHM
+
+int make_shm_memory_node(const struct domain *d, void *fdt, int addrcells,
+                         int sizecells, const struct meminfo *mem);
+
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    const struct dt_device_node *node = dt_find_node_by_path("/chosen");
+
+    return process_shm(d, kinfo, node);
+}
+
+int process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                     uint32_t size_cells);
+
+#else /* !CONFIG_STATIC_SHM */
+
+static inline int make_shm_memory_node(const struct domain *d, void *fdt,
+                                       int addrcells, int sizecells,
+                                       const struct meminfo *mem)
+{
+    ASSERT_UNREACHABLE();
+    return -EOPNOTSUPP;
+}
+
+static inline int process_shm(struct domain *d, struct kernel_info *kinfo,
+                              const struct dt_device_node *node)
+{
+    return 0;
+}
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    return 0;
+}
+
+static inline int process_shm_node(const void *fdt, int node,
+                                   uint32_t address_cells, uint32_t size_cells)
+{
+    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared memory nodes\n");
+    return -EINVAL;
+}
+
+#endif /* CONFIG_STATIC_SHM */
+
+#endif  /* __ARM_STATIC_SHMEM_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:b
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 60b544b67b4e..f6019c0c42cd 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -44,6 +44,7 @@
 #include <asm/platform.h>
 #include <asm/procinfo.h>
 #include <asm/setup.h>
+#include <asm/static-memory.h>
 #include <xsm/xsm.h>
 #include <asm/acpi.h>
 
@@ -758,30 +759,6 @@ static void __init init_pdx(void)
     }
 }
 
-/* Static memory initialization */
-static void __init init_staticmem_pages(void)
-{
-#ifdef CONFIG_STATIC_MEMORY
-    unsigned int bank;
-
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
-        {
-            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
-            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
-            mfn_t bank_end = mfn_add(bank_start, bank_pages);
-
-            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
-                return;
-
-            unprepare_staticmem_pages(mfn_to_page(bank_start),
-                                      bank_pages, false);
-        }
-    }
-#endif
-}
-
 /*
  * Populate the boot allocator.
  * If a static heap was not provided by the admin, all the RAM but the
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
new file mode 100644
index 000000000000..9aecdae28846
--- /dev/null
+++ b/xen/arch/arm/static-memory.c
@@ -0,0 +1,294 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/static-memory.c
+ *
+ * Code related to the static memory functionality
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#include <xen/sched.h>
+
+#include <asm/static-memory.h>
+
+static bool __init append_static_memory_to_bank(struct domain *d,
+                                                struct membank *bank,
+                                                mfn_t smfn,
+                                                paddr_t size)
+{
+    int res;
+    unsigned int nr_pages = PFN_DOWN(size);
+    gfn_t sgfn;
+
+    /*
+     * For direct-mapped domain, the GFN match the MFN.
+     * Otherwise, this is inferred on what has already been allocated
+     * in the bank.
+     */
+    if ( !is_domain_direct_mapped(d) )
+        sgfn = gaddr_to_gfn(bank->start + bank->size);
+    else
+        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
+
+    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
+        return false;
+    }
+
+    bank->size = bank->size + size;
+
+    return true;
+}
+
+static mfn_t __init acquire_static_memory_bank(struct domain *d,
+                                               const __be32 **cell,
+                                               u32 addr_cells, u32 size_cells,
+                                               paddr_t *pbase, paddr_t *psize)
+{
+    mfn_t smfn;
+    int res;
+
+    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
+    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
+    if ( PFN_DOWN(*psize) > UINT_MAX )
+    {
+        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
+               d, *psize);
+        return INVALID_MFN;
+    }
+
+    smfn = maddr_to_mfn(*pbase);
+    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
+    if ( res )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to acquire static memory: %d.\n", d, res);
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init parse_static_mem_prop(const struct dt_device_node *node,
+                                        u32 *addr_cells, u32 *size_cells,
+                                        int *length, const __be32 **cell)
+{
+    const struct dt_property *prop;
+
+    prop = dt_find_property(node, "xen,static-mem", NULL);
+
+    *addr_cells = dt_n_addr_cells(node);
+    *size_cells = dt_n_size_cells(node);
+
+    *cell = (const __be32 *)prop->value;
+    *length = prop->length;
+
+    return 0;
+}
+
+/* Allocate memory from static memory as RAM for one specific domain d. */
+void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, gbank, bank = 0;
+    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
+    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
+    const __be32 *cell;
+    u64 tot_size = 0;
+    paddr_t pbase, psize, gsize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+        goto fail;
+    reg_cells = addr_cells + size_cells;
+
+    /*
+     * The static memory will be mapped in the guest at the usual guest memory
+     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
+     * xen/include/public/arch-arm.h.
+     */
+    gbank = 0;
+    gsize = ramsize[gbank];
+    kinfo->mem.bank[gbank].start = rambase[gbank];
+    nr_banks = length / (reg_cells * sizeof (u32));
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        while ( 1 )
+        {
+            /* Map as much as possible the static range to the guest bank */
+            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
+                                               min(psize, gsize)) )
+                goto fail;
+
+            /*
+             * The current physical bank is fully mapped.
+             * Handle the next physical bank.
+             */
+            if ( gsize >= psize )
+            {
+                gsize = gsize - psize;
+                break;
+            }
+            /*
+             * When current guest bank is not enough to map, exhaust
+             * the current one and seek to the next.
+             * Before seeking to the next, check if we still have available
+             * guest bank.
+             */
+            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
+            {
+                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
+                goto fail;
+            }
+            else
+            {
+                psize = psize - gsize;
+                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
+                /* Update to the next guest bank. */
+                gbank++;
+                gsize = ramsize[gbank];
+                kinfo->mem.bank[gbank].start = rambase[gbank];
+            }
+        }
+
+        tot_size += psize;
+    }
+
+    kinfo->mem.nr_banks = ++gbank;
+
+    kinfo->unassigned_mem -= tot_size;
+    /*
+     * The property 'memory' should match the amount of memory given to the
+     * guest.
+     * Currently, it is only possible to either acquire static memory or let
+     * Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to allocate requested static memory for domain %pd.\n", d);
+}
+
+/*
+ * Allocate static memory as RAM for one specific domain d.
+ * The static memory will be directly mapped in the guest(Guest Physical
+ * Address == Physical Address).
+ */
+void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                                    const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, bank = 0;
+    const __be32 *cell;
+    paddr_t pbase, psize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
+        goto fail;
+    }
+    reg_cells = addr_cells + size_cells;
+    nr_banks = length / (reg_cells * sizeof(u32));
+
+    if ( nr_banks > NR_MEM_BANKS )
+    {
+        printk(XENLOG_ERR
+               "%pd: exceed max number of supported guest memory banks.\n", d);
+        goto fail;
+    }
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        /* One guest memory bank is matched with one physical memory bank. */
+        kinfo->mem.bank[bank].start = pbase;
+        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
+                                           smfn, psize) )
+            goto fail;
+
+        kinfo->unassigned_mem -= psize;
+    }
+
+    kinfo->mem.nr_banks = nr_banks;
+
+    /*
+     * The property 'memory' should match the amount of memory given to
+     * the guest.
+     * Currently, it is only possible to either acquire static memory or
+     * let Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem != 0 )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
+          d);
+}
+
+/* Static memory initialization */
+void __init init_staticmem_pages(void)
+{
+    unsigned int bank;
+
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
+        {
+            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
+            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
+            mfn_t bank_end = mfn_add(bank_start, bank_pages);
+
+            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
+                return;
+
+            unprepare_staticmem_pages(mfn_to_page(bank_start),
+                                      bank_pages, false);
+        }
+    }
+}
+
+/*
+ * 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/static-shmem.c b/xen/arch/arm/static-shmem.c
new file mode 100644
index 000000000000..fd826f486e8a
--- /dev/null
+++ b/xen/arch/arm/static-shmem.c
@@ -0,0 +1,515 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/static-shmem.c
+ *
+ * Code related to the static shared memory functionality
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+
+#include <asm/domain_build.h>
+#include <asm/static-shmem.h>
+
+static int __init acquire_nr_borrower_domain(struct domain *d,
+                                             paddr_t pbase, paddr_t psize,
+                                             unsigned long *nr_borrowers)
+{
+    unsigned int bank;
+
+    /* Iterate reserved memory to find requested shm bank. */
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
+        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
+
+        if ( (pbase == bank_start) && (psize == bank_size) )
+            break;
+    }
+
+    if ( bank == bootinfo.reserved_mem.nr_banks )
+        return -ENOENT;
+
+    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
+
+    return 0;
+}
+
+/*
+ * 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;
+    struct domain *d;
+
+    page = maddr_to_page(pbase);
+    d = page_get_owner_and_reference(page);
+    if ( d == NULL )
+        return false;
+    put_page(page);
+
+    if ( d != dom_io )
+    {
+        printk(XENLOG_ERR
+               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
+               d);
+        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);
+        d->max_pages -= nr_pfns;
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init assign_shared_memory(struct domain *d,
+                                       uint32_t addr_cells, uint32_t size_cells,
+                                       paddr_t pbase, paddr_t psize,
+                                       paddr_t gbase)
+{
+    mfn_t smfn;
+    int ret = 0;
+    unsigned long nr_pages, nr_borrowers, i;
+    struct page_info *page;
+
+    printk("%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 not auto-translated (i.e. it sees RAM 1:1). So we do not need
+     * to create mapping in the P2M.
+     */
+    nr_pages = PFN_DOWN(psize);
+    if ( d != dom_io )
+    {
+        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
+                                      PFN_DOWN(psize));
+        if ( ret )
+        {
+            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
+            return ret;
+        }
+    }
+
+    /*
+     * Get the right amount of references per page, which is the number of
+     * borrower domains.
+     */
+    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
+    if ( ret )
+        return ret;
+
+    /*
+     * Instead of letting borrower domain get a page ref, we add as many
+     * additional reference as the number of borrowers when the owner
+     * is allocated, since there is a chance that owner is created
+     * after borrower.
+     * So if the borrower is created first, it will cause adding pages
+     * in the P2M without reference.
+     */
+    page = mfn_to_page(smfn);
+    for ( i = 0; i < nr_pages; i++ )
+    {
+        if ( !get_page_nr(page + i, d, nr_borrowers) )
+        {
+            printk(XENLOG_ERR
+                   "Failed to add %lu references to page %"PRI_mfn".\n",
+                   nr_borrowers, mfn_x(smfn) + i);
+            goto fail;
+        }
+    }
+
+    return 0;
+
+ fail:
+    while ( --i >= 0 )
+        put_page_nr(page + i, nr_borrowers);
+    return ret;
+}
+
+static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
+                                            paddr_t start, paddr_t size,
+                                            const char *shm_id)
+{
+    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
+        return -ENOMEM;
+
+    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
+    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
+    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
+    kinfo->shm_mem.nr_banks++;
+
+    return 0;
+}
+
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       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;
+        const char *role_str;
+        const char *shm_id;
+        bool owner_dom_io = true;
+
+        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
+            continue;
+
+        /*
+         * xen,shared-mem = <pbase, gbase, size>;
+         * 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);
+        BUG_ON(!prop);
+        cells = (const __be32 *)prop->value;
+        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
+        psize = dt_read_paddr(cells, size_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;
+            }
+
+        /*
+         * "role" property is optional and if it is defined explicitly,
+         * then the owner domain is not the default "dom_io" domain.
+         */
+        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
+            owner_dom_io = false;
+
+        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
+        {
+            printk("%pd: invalid \"xen,shm-id\" property", d);
+            return -EINVAL;
+        }
+        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
+
+        /*
+         * 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 ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
+             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
+        {
+            /*
+             * We found the first borrower of the region, the owner was not
+             * specified, so they should be assigned to dom_io.
+             */
+            ret = assign_shared_memory(owner_dom_io ? dom_io : d,
+                                       addr_cells, size_cells,
+                                       pbase, psize, gbase);
+            if ( ret )
+                return ret;
+        }
+
+        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
+        {
+            /* Set up P2M foreign mapping for borrower domain. */
+            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
+                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
+            if ( ret )
+                return ret;
+        }
+
+        /*
+         * Record static shared memory region info for later setting
+         * up shm-node in guest device tree.
+         */
+        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
+        if ( ret )
+            return ret;
+    }
+
+    return 0;
+}
+
+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;
+        const char compat[] = "xen,shared-memory-v1";
+        /* Worst case addrcells + sizecells */
+        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+        __be32 *cells;
+        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
+
+        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
+        if ( res )
+            return res;
+
+        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
+        if ( res )
+            return res;
+
+        cells = reg;
+        dt_child_set_range(&cells, addrcells, sizecells, start, size);
+
+        res = fdt_property(fdt, "reg", reg, len);
+        if ( res )
+            return res;
+
+        dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
+                   i, start, start + size);
+
+        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
+        if ( res )
+            return res;
+
+        /*
+         * TODO:
+         * - xen,offset: (borrower VMs only)
+         *   64 bit integer offset within the owner virtual machine's shared
+         *   memory region used for the mapping in the borrower VM
+         */
+        res = fdt_property_u64(fdt, "xen,offset", 0);
+        if ( res )
+            return res;
+
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+    }
+
+    return res;
+}
+
+int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                            uint32_t size_cells)
+{
+    const struct fdt_property *prop, *prop_id, *prop_role;
+    const __be32 *cell;
+    paddr_t paddr, gaddr, 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 %u characters\n",
+               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, gaddr, size>;
+     * 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) )
+    {
+        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, address_cells, &paddr, &gaddr);
+    size = dt_next_cell(size_cells, &cell);
+
+    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;
+
+            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
+            {
+                printk("fdt: static shared memory region %s overflow\n", shm_id);
+                return -EINVAL;
+            }
+
+            if ( check_reserved_regions_overlap(paddr, size) )
+                return -EINVAL;
+            else
+            {
+                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
+                    continue;
+                else
+                {
+                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
+                           shm_id);
+                    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].type = MEMBANK_STATIC_DOMAIN;
+            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;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 09:10:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 09:10:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629536.981848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r113o-0001HU-MW; Thu, 09 Nov 2023 09:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629536.981848; Thu, 09 Nov 2023 09: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 1r113o-0001HN-K1; Thu, 09 Nov 2023 09:10:48 +0000
Received: by outflank-mailman (input) for mailman id 629536;
 Thu, 09 Nov 2023 09:10:47 +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 1r113n-0001HH-8K
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 09:10:47 +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 1r113i-0008Bo-Vc; Thu, 09 Nov 2023 09:10:42 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r113i-0004H6-QC; Thu, 09 Nov 2023 09: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=wKrh+XO88IgZ8kjIdXll5Iz0oYrkdXkVXVkXQG/qVq4=; b=sV6xoW6aObM878TQsXKPVv0yLV
	CFxOYMTqmlI0xiRSTrO62Naj6s4Wb+ULN2Xb5OVEjshNSxpLijY0XPVMLgoHTvaD9QyKYnF5aRvQl
	WfBo/Bdv+nn8tOkPnfsD3k9+JOIXG/GgKpjr75+pcDWFIpAYrZ/9VyywMoyNP0P9RFO4=;
Message-ID: <483f3b34-ebd4-4613-b083-596bebf5ac15@xen.org>
Date: Thu, 9 Nov 2023 09:10:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
 <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
 <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
 <b407f981-c58c-4272-bc7c-1470a87e2487@xen.org>
 <4b4583f5-4cdb-6be9-20eb-22466b6aef28@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <4b4583f5-4cdb-6be9-20eb-22466b6aef28@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 09/11/2023 07:42, Jan Beulich wrote:
> On 08.11.2023 14:33, Julien Grall wrote:
>> Hi Jan,
>>
>> On 08/11/2023 11:19, Jan Beulich wrote:
>>> On 08.11.2023 12:03, Nicola Vetrini wrote:
>>>> On 2023-11-08 09:24, Jan Beulich wrote:
>>>>> On 03.11.2023 18:58, Nicola Vetrini wrote:
>>>>>> Static analysis tools may detect a possible null
>>>>>> pointer dereference at line 760 (the memcpy call)
>>>>>> of xen/common/domain.c. This ASSERT helps them in
>>>>>> detecting that such a condition is not possible
>>>>>> and also provides a basic sanity check.
>>>>>
>>>>> I disagree with this being a possible justification for adding such a
>>>>> redundant assertion. More detail is needed on what is actually
>>>>> (suspected to be) confusing the tool. Plus it also needs explaining
>>>>> why (a) adding such an assertion helps and (b) how that's going to
>>>>> cover release builds.
>>>>>
>>>>
>>>> How about:
>>>> "Static analysis tools may detect a possible null pointer dereference
>>>> at line 760 (config->handle) due to config possibly being NULL.
>>>>
>>>> However, given that all system domains, including IDLE, have a NULL
>>>> config and in the code path leading to the assertion only real domains
>>>> (which have a non-NULL config) can be present."
>>>>
>>>> On point b): this finding is a false positive, therefore even if the
>>>> ASSERT is
>>>> expanded to effectively a no-op, there is no inherent problem with Xen's
>>>> code.
>>>> The context in which the patch was suggested [1] hinted at avoiding
>>>> inserting in
>>>> the codebase false positive comments.
>>>
>>> Which I largely agree with. What I don't agree with is adding an
>>> assertion which is only papering over the issue, and only in debug
>>> builds.
>>
>> I expect that the number of issues will increase a lot as soon as we
>> start to analyze production builds.
>>
>> I don't think it will be a solution to either replace all the ASSERT()
>> with runtime check in all configuration or even...
>>
>>> So perhaps instead we need a different way of tracking
>>> false positives (which need to be tied to specific checker versions
>>> anyway).
>>
>> ... documenting false positive.
>>
>> IMHO, the only viable option would be to have a configuration to keep
>> ASSERT in production build for scanning tools.
> 
> But wouldn't that then likely mean scanning to be done on builds not also
> used in production? Would doing so even be permitted when certification
> is a requirement? Or do you expect such production builds to be used with
> the assertions left in place (increasing the risk of a crash; recall that
> assertions themselves may also be wrong, and hence one triggering in rare
> cases may not really be a reason to bring down the system)?

I will leave Stefano/Nicola to answer from the certification 
perspective. But I don't really see how we could get away unless we 
replace most of the ASSERT() with proper runtime check (which may not be 
desirable for ASSERT()s like this one).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 09:50:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 09:50:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629541.981859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r11gR-0007r3-OE; Thu, 09 Nov 2023 09:50:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629541.981859; Thu, 09 Nov 2023 09:50: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 1r11gR-0007qw-K7; Thu, 09 Nov 2023 09:50:43 +0000
Received: by outflank-mailman (input) for mailman id 629541;
 Thu, 09 Nov 2023 09:50: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=/VEo=GW=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r11gQ-0007qq-6R
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 09:50:42 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70ad1a9c-7ee5-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 10:50:39 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2c509f2c46cso8079101fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 01:50:39 -0800 (PST)
Received: from EMEAENGAAD19049. ([2.223.46.215])
 by smtp.gmail.com with ESMTPSA id
 j14-20020a05600c190e00b004094c5d929asm1568171wmq.10.2023.11.09.01.50.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Nov 2023 01:50:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70ad1a9c-7ee5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699523439; x=1700128239; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=3+JlB2tzoow2e5dbXkXApRWSPEVZJ5aCEeltAsDQw7U=;
        b=MhwNEust3wLUUedczOhwOUGVfC7St1c457FMyo5kaE84yUFQEdUXo5YSrzlzpzeHW1
         Nwcat6nUAHvCkig+98jxRZQPsqc9MxdDqICQ8rU0ZrHf/sqI0ksio+bQsePIxexQmKXo
         n9h9M24Mv35Svc2+qQuQ/1mP8rvthX8bkva/Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699523439; x=1700128239;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3+JlB2tzoow2e5dbXkXApRWSPEVZJ5aCEeltAsDQw7U=;
        b=jrCh3VxA9f42WdZJ1x4r3wkUyWM57T19Qay2GUPY+07GvB6ZdCxI6KLHkoxuhLubpD
         xzwSqDuWrU7nGvzveH7NsBzjls3qfwJM1it+XCkLE0A03AiHn6AZpqYlCEg7nkPiJcTr
         xpsi3p+Z8VIOmp+tkB9mlXyx+5WwFD45lqbw0riWHr8gqejhqjGHlsfDdEHUdvUzq++f
         F5pTuf9KwTx+Y8DKwipcT70bM5O8OzObKpQOaLaRyfPnf+H/b8VOqbcBLZY/8+k4szIt
         5LsqrQPOp0Ufz4VFRPW1oLaYdNr7lTjbPyp5lVX7Duh/11P6/ZHWQ9Q7YQMsL/dj8DWy
         V8SA==
X-Gm-Message-State: AOJu0YytpuT3uApKYvX0BBBnPMU9HRmGwRM3NDNUP4XMetytx9Jm7GNW
	ag+04sUWFoyIJOXArIwchg3QKw==
X-Google-Smtp-Source: AGHT+IHfssPFcia6ZxQtRmG3IGhTmL14ungIjeN6MXI9+84ozmKNsg0J/zM6LeP7ClnthI0DuwOobg==
X-Received: by 2002:a2e:9916:0:b0:2c5:999:de64 with SMTP id v22-20020a2e9916000000b002c50999de64mr3380530lji.16.1699523439383;
        Thu, 09 Nov 2023 01:50:39 -0800 (PST)
Message-ID: <654cab6f.050a0220.86158.519b@mx.google.com>
X-Google-Original-Message-ID: <ZUyrbMrWc8uyIWwY@EMEAENGAAD19049.>
Date: Thu, 9 Nov 2023 09:50:36 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Andrew Cooper <andcooper@tibco.com>
Cc: Elliott Mitchell <ehem+xen@m5p.com>, xen-devel@lists.xenproject.org
Subject: Re: Support situation for nestedhvm
References: <ZUqVnfZTtjb/W5EN@mattapan.m5p.com>
 <93db0a9e-1d99-4953-9e3f-7ad69f0e78bf@tibco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <93db0a9e-1d99-4953-9e3f-7ad69f0e78bf@tibco.com>

Hi,

On Tue, Nov 07, 2023 at 08:15:32PM +0000, Andrew Cooper wrote:
> On 07/11/2023 7:53 pm, Elliott Mitchell wrote:
> > I ran into the nestedhvm via the following path.  I was considering the
> > feasibility of shedding tasks from a desktop onto a server running Xen.
> > I was looking at `man xl.cfg` and noticed "nestedhvm".
> >
> > Since one of the tasks the computer handled was running other OSes in
> > fully simulated environments, this seemed to be something I was looking
> > for.  No where did I ever see anything hinting "This configuration option
> > is completely unsupported and risky to use".
> 
> This one is explicitly covered in SUPPORT.md, and has had XSAs out
> against it in the past for being unexpectedly active when it oughtn't to
> have been.
> 
> > Things simply started exploding without any warnings.
> 
> Things also explode if you try to create a VM with 10x more RAM than you
> have, or if you try `./xenwatchdogd --help`, or `xl debug-keys c`, or
> many other things.
> 
> The xl manpage probably ought to state explicitly that the option is
> experimental, but that the extent of what I'd consider reasonable here.
> 
> You can't solve educational matters with technical measures.
> 
> ~Andrew
> 
No, but we can prevent users unexpectedly shooting themselves in the foot.

Elliott's point (as I understood it) was that we could have an
"experimental" switch, that would warn and error out when experimental
features are used without it. This is just cfg sugar coating for xl, and
would improve UX. Cargo uses the same sort of idea in the Rust ecosystem to
make a clear distinction between unstable features that may change and
stable ones that are meant to stay and just work.

Having "experimental=nestedhvm,foo" is one option, having "experimental=1"
be a required flag to enable experimental features is another. Heck, even
renaming "nestedhvm" to "experimental-nestedhvm" would be an improvement.

```
   Error: nestedhvm=1 is an unstable experimental feature not encouraged
          for production purposes. Enable it with experimental-nestedhvm=1
          instead.
```

We can't fix it overnight, but we can't make it _very_ clear it's unstable
to anyone currently using the feature.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 10:12:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 10:12:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629546.981871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r121Y-0003BY-El; Thu, 09 Nov 2023 10:12:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629546.981871; Thu, 09 Nov 2023 10:12: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 1r121Y-0003BR-CB; Thu, 09 Nov 2023 10:12:32 +0000
Received: by outflank-mailman (input) for mailman id 629546;
 Thu, 09 Nov 2023 10:12: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=b7Ux=GW=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r121X-0003BG-B0
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 10:12:31 +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 7bedf99e-7ee8-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 11:12:27 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-543c3756521so982822a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 02:12:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7bedf99e-7ee8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699524746; x=1700129546; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2oq5I8F/ktr4JnSF3mcwgG9TuDb6I8i0PLn/PTfGga4=;
        b=OosPvZTf/L6w2/n917BfzETBaLzN3OtQUOlFGAsGAXae/B92sTul7GpWKGc8BTuD7d
         K8oA+5iIIePwueCXryBikoc8MKR5DDg3qefLGqR4J1zRivDXxc2ghqwym7FPgebpGj3d
         /f+y/FVqKKpbtYltPGq0DSuuODpWsTRXCtvOE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699524746; x=1700129546;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2oq5I8F/ktr4JnSF3mcwgG9TuDb6I8i0PLn/PTfGga4=;
        b=uJZSrRlA2KuII2EYUeXHSjt4r76n1QLYUruY50vm2Uf17V/4W0EmbcjboTUNcHdJus
         jduV+fqkzk6ckPghPhPJC2ecQZF8pMePYjg8FBYyzsEc1Wbq0eCBI7YG7tsvTem2yGx/
         +2GfNvJibdtShu+UgVWoULDz5Qh5N55RlZMx5gxleHEWWDmvSsFicaozTv4ammFBut6Z
         PvxvM1sK9+lOJPyMfwu1pd91rTBHi7KLNFBPGGKM52DTwvRbuKlIfrSzjHG1260TdLKI
         i6bB0HFjQdDjZgtH8r536OPurx9eb+DCn0Sw/6RZs4yGTOAhX2UnGdtqgRUxtde3XEAF
         xjcg==
X-Gm-Message-State: AOJu0YyNQxh6W2XMMhVXa0c1ZAtvqOEGzL1CJCf903RHBy0b/Aq0CjAS
	HbayyFgl7Vclr8g4Z4GIF6ivith+W/yuiVuNEs4JidivfceosED3+0Jf5A==
X-Google-Smtp-Source: AGHT+IG1Jk2grWyNMfDrmrUQt439PGSmS6siVJ7P28fVQTg9FWIXIPzeAWnQE0m2uFjtoFIT3l+D7p30FMYMmZzc6Rw=
X-Received: by 2002:a17:906:fe4c:b0:9d2:5cf8:e61 with SMTP id
 wz12-20020a170906fe4c00b009d25cf80e61mr3050820ejb.35.1699524746489; Thu, 09
 Nov 2023 02:12:26 -0800 (PST)
MIME-Version: 1.0
References: <CAO-mL=xE=-8RjeAOKumLfcSf=wu0OWLK0X1Lz2JMCefBXbnTfA@mail.gmail.com>
In-Reply-To: <CAO-mL=xE=-8RjeAOKumLfcSf=wu0OWLK0X1Lz2JMCefBXbnTfA@mail.gmail.com>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Thu, 9 Nov 2023 10:11:50 +0000
Message-ID: <CAO-mL=xypwP+F2wLfqJ3L-F+Wtd_VDdaexXROHOmbyXVcTDzsw@mail.gmail.com>
Subject: Fwd: Cambridge University Talk - 9th November 2023
To: xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000cd4fb00609b570e8"

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

Hey everyone,

Just a reminder that we will be presenting a talk at the University of
Cambridge today, followed by a Q&A!

If you can't make it in person, you can join via Zoom here:

Topic: Xen Project talk - University of Cambridge Time: Nov 9, 2023 03:00
PM Universal Time UTC Join Zoom Meeting https://cloud.zoom.us/j/95208394179
Meeting ID: 952 0839 4179 --- One tap mobile +17209289299,,95208394179# US
(Denver) +17866351003,,95208394179# US (Miami)
Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group


---------- Forwarded message ---------
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, Oct 30, 2023 at 5:54=E2=80=AFPM
Subject: Cambridge University Talk - 9th November 2023
To: <xen-announce@lists.xenproject.org>, <xen-users@lists.xenproject.org>, =
<
xen-devel@lists.xenproject.org>


Hello Xen Community!

I'm excited to share that we will be presenting a talk at Cambridge
University!
This is free and open to everyone, including students and the public.

Make sure to add this to your calendars and come along.

*Date: Thursday 9th November 2023*
*Time: 3 - 4pm *

*Location: *


*Computer LaboratoryWilliam Gates Building15 JJ Thomson Avenue*

*Cambridge CB3 0FDhttps://www.cl.cam.ac.uk/directions/
<https://www.cl.cam.ac.uk/directions/>  *

Title: Navigating the Open Source Landscape: Insights from Ayan Kumar and
Edwin Torok  <https://talks.cam.ac.uk/talk/index/205825>

Join us for an illuminating seminar featuring two distinguished speakers,
Ayan Kumar and Edwin Torok, who will delve into the intricate world of
open-source projects.

Ayan Kumar: In his engaging presentation, Ayan Kumar will be your guide
through the inner workings of open-source projects, using the Xen
hypervisor as a compelling example. With a keen focus on demystifying the
nuances of open-source collaborations, Ayan will walk you through the
step-by-step workflow for contributions, shedding light on the
collaborative modes that fuel innovation. Get ready to be inspired by the
fascinating ongoing developments in the Xen hypervisor. Ayan will also
provide invaluable insights for newcomers, outlining promising avenues for
their initial contributions. The session will culminate in a hands-on
demonstration featuring a selection of noteworthy open-source projects.

Edwin Torok: Edwin Torok will offer invaluable wisdom on the unique
challenges of joining and maintaining a venerable, decade-old codebase,
drawing from his extensive experience with the XAPI project. With a deep
dive into the strategies and practices that sustain such a longstanding
project, Edwin will equip you with the insights needed to navigate and
contribute effectively to large-scale, established codebases.

Don't miss this opportunity to gain firsthand knowledge from these two
seasoned experts in the open-source arena. Join us for an enriching seminar
that promises to empower both beginners and seasoned developers alike.

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group

--000000000000cd4fb00609b570e8
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hey everyone,<div><br></div><div>Just a reminder that we w=
ill be presenting a talk at the University of Cambridge today,=C2=A0followe=
d by a Q&amp;A!=C2=A0</div><div><br></div><div>If you can&#39;t make it in =
person, you can join via Zoom here:=C2=A0</div><div><br class=3D"gmail-Appl=
e-interchange-newline"><span style=3D"color:rgb(0,0,0);font-family:&quot;Op=
en Sans&quot;,sans-serif;font-size:13px">Topic: Xen Project talk - Universi=
ty of Cambridge
Time: Nov 9, 2023 03:00 PM Universal Time UTC

Join Zoom Meeting
</span><a href=3D"https://cloud.zoom.us/j/95208394179" style=3D"text-decora=
tion-line:none;font-family:&quot;Open Sans&quot;,sans-serif;font-size:13px"=
>https://cloud.zoom.us/j/95208394179</a><span style=3D"color:rgb(0,0,0);fon=
t-family:&quot;Open Sans&quot;,sans-serif;font-size:13px">

Meeting ID: 952 0839 4179

---

One tap mobile
</span><a href=3D"tel:+17209289299,,95208394179#" style=3D"text-decoration-=
line:none;font-family:&quot;Open Sans&quot;,sans-serif;font-size:13px">+172=
09289299,,95208394179#</a><span style=3D"color:rgb(0,0,0);font-family:&quot=
;Open Sans&quot;,sans-serif;font-size:13px"> US (Denver)
</span><a href=3D"tel:+17866351003,,95208394179#" style=3D"text-decoration-=
line:none;font-family:&quot;Open Sans&quot;,sans-serif;font-size:13px">+178=
66351003,,95208394179#</a><span style=3D"color:rgb(0,0,0);font-family:&quot=
;Open Sans&quot;,sans-serif;font-size:13px"> US (Miami)</span><br clear=3D"=
all"><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmai=
l_signature"><div dir=3D"ltr"><div>Many thanks,</div><div>Kelly Choi</div><=
div><br></div><div><div style=3D"color:rgb(136,136,136)">Open Source Commun=
ity Manager</div><div style=3D"color:rgb(136,136,136)">XenServer, Cloud Sof=
tware Group</div></div></div></div></div><br><br><div class=3D"gmail_quote"=
><div dir=3D"ltr" class=3D"gmail_attr">---------- Forwarded message -------=
--<br>From: <strong class=3D"gmail_sendername" dir=3D"auto">Kelly Choi</str=
ong> <span dir=3D"auto">&lt;<a href=3D"mailto:kelly.choi@cloud.com">kelly.c=
hoi@cloud.com</a>&gt;</span><br>Date: Mon, Oct 30, 2023 at 5:54=E2=80=AFPM<=
br>Subject: Cambridge University Talk - 9th November 2023<br>To:  &lt;<a hr=
ef=3D"mailto:xen-announce@lists.xenproject.org">xen-announce@lists.xenproje=
ct.org</a>&gt;,  &lt;<a href=3D"mailto:xen-users@lists.xenproject.org">xen-=
users@lists.xenproject.org</a>&gt;,  &lt;<a href=3D"mailto:xen-devel@lists.=
xenproject.org">xen-devel@lists.xenproject.org</a>&gt;<br></div><br><br><di=
v dir=3D"ltr">Hello Xen Community! <br><br>I&#39;m excited to share that we=
 will be presenting a talk at Cambridge University!=C2=A0<div>This is free =
and open to everyone, including students and the public. <br><br>Make sure =
to add this to your calendars and come along.<div><br></div><div><b>Date: T=
hursday 9th November 2023</b></div><div><b>Time: 3 - 4pm=C2=A0</b></div><di=
v><b>Location:=C2=A0<br></b></div><div><b>Computer Laboratory<br>William Ga=
tes Building<br>15 JJ Thomson Avenue</b></div><div><b>Cambridge CB3 0FD<br>=
<a href=3D"https://www.cl.cam.ac.uk/directions/" target=3D"_blank">https://=
www.cl.cam.ac.uk/directions/</a>=C2=A0=C2=A0</b></div><div><br>Title: <a hr=
ef=3D"https://talks.cam.ac.uk/talk/index/205825" target=3D"_blank">Navigati=
ng the Open Source Landscape: Insights from Ayan Kumar and Edwin Torok=C2=
=A0</a></div><div><br></div><div>Join us for an illuminating seminar featur=
ing two distinguished speakers, Ayan Kumar and Edwin Torok, who will delve =
into the intricate world of open-source projects.=C2=A0<div><br></div><div>=
Ayan Kumar: In his engaging presentation, Ayan Kumar will be your guide thr=
ough the inner workings of open-source projects, using the Xen hypervisor a=
s a compelling example. With a keen focus on demystifying the nuances of op=
en-source collaborations, Ayan will walk you through the step-by-step workf=
low for contributions, shedding light on the collaborative modes that fuel =
innovation. Get ready to be inspired by the fascinating ongoing development=
s in the Xen hypervisor. Ayan will also provide invaluable insights for new=
comers, outlining promising avenues for their initial contributions. The se=
ssion will culminate in a hands-on demonstration featuring a selection of n=
oteworthy open-source projects.=C2=A0</div><div><br></div><div>Edwin Torok:=
 Edwin Torok will offer invaluable wisdom on the unique challenges of joini=
ng and maintaining a venerable, decade-old codebase, drawing from his exten=
sive experience with the XAPI project. With a deep dive into the strategies=
 and practices that sustain such a longstanding project, Edwin will equip y=
ou with the insights needed to navigate and contribute effectively to large=
-scale, established codebases.=C2=A0</div><div><br></div><div>Don&#39;t mis=
s this opportunity to gain firsthand knowledge from these two seasoned expe=
rts in the open-source arena. Join us for an enriching seminar that promise=
s to empower both beginners and seasoned developers alike.<br><br></div><di=
v>Many thanks,<br>Kelly Choi<br><br>Open Source Community Manager<br>XenSer=
ver, Cloud Software Group<br></div></div></div></div>
</div></div></div>

--000000000000cd4fb00609b570e8--


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 10:36:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 10:36:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629606.981913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r12Og-0001Z8-6C; Thu, 09 Nov 2023 10:36:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629606.981913; Thu, 09 Nov 2023 10:36:26 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r12Og-0001Z1-3g; Thu, 09 Nov 2023 10:36:26 +0000
Received: by outflank-mailman (input) for mailman id 629606;
 Thu, 09 Nov 2023 10:36: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=VIs+=GW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r12Of-0001Yv-5l
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 10:36:25 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3a542db-7eeb-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 11:36:23 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-408002b5b9fso4719715e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 02:36:23 -0800 (PST)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f9-20020a0560001b0900b0032db430fb9bsm7067103wrz.68.2023.11.09.02.36.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Nov 2023 02:36:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3a542db-7eeb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1699526182; x=1700130982; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=BRSyFsRCol+NXRW2UodTFCvElpOsk3hovrVK4jKLsh8=;
        b=UqOIAVEM5q6FiTIOTdOz3G7BzmCvB322qOFSbFiMWcDQzo6Aps/kQBRVHDe5rq3D48
         IXvfcy4DFTkmpDBI+F948+WaxjQTHT+2dUwO4I7HsrGinpxom/Nuf/jOxruTPjt/vb9m
         HTK4C1ZNd/YEhOqfR7i/1OqVsuSF51/saoQ933LRZumDNhsw+B52lYiZB3HaOS3km72p
         Ge4kAMoNjp+/ji9QhGeFpQbbJz+ajhkdx7h9psS39SKBl1WuIX6AGUgWehdtOpBMRITm
         fudMRdB8W5Qtoi/yMLoPus2aJR2se9x0cznH2HmOrWfPmh5ExVPV356PVPaNTP8sJiXO
         LeNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699526182; x=1700130982;
        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:subject:date:message-id:reply-to;
        bh=BRSyFsRCol+NXRW2UodTFCvElpOsk3hovrVK4jKLsh8=;
        b=kTxus6IdGwrm1UIhQ5ne+cy2nuUvwHlsJGpn/CoMTvyBt87cBzBv2JHkpQJSzYq49n
         e5MQIgTjjKQRO+acfNVBRlqnGl54eZJcN7W/Wr52wU0EGzbOMcKic7eN0pPuiDzif+BZ
         zxcpaIJwNubc+qkMGde10wsb1E2HcExwFqCt2oV5U1iZOmTI+8PopSihSy7jMeWqArNO
         W/eRL0ygXWMPw6ADSDj5WXoKG4ChhlsApwcWiNwJJ/ZJ9OyrrMZBbVX+wgq/b1An+Vw2
         +u+rEy2Ujqwbof3P19mQkNTpmB0nH/t372lRHdkve6PeE2AB0LeWrwparv44YfIlAZNN
         ZupA==
X-Gm-Message-State: AOJu0YzGP64zkoBTJBwgExtOZGzVZ5UmIpfYsLphjHvp9MalC7tDOrFw
	q9W+5Edr6okhMoxY7kXSFAMevg==
X-Google-Smtp-Source: AGHT+IHjjx1JhOZ+D6nOBOVLzsrfm7XNyzfvThDs/79vQo5/yHYEi2nBPqss9zU0UnOYTGdhFl73Aw==
X-Received: by 2002:a05:600c:45c9:b0:409:7900:f3ef with SMTP id s9-20020a05600c45c900b004097900f3efmr4013170wmo.38.1699526182270;
        Thu, 09 Nov 2023 02:36:22 -0800 (PST)
Message-ID: <cc2e0788-fd03-4c54-b84a-a9bdc2851ef4@tibco.com>
Date: Thu, 9 Nov 2023 10:36:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Support situation for nestedhvm
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Elliott Mitchell <ehem+xen@m5p.com>, xen-devel@lists.xenproject.org
References: <ZUqVnfZTtjb/W5EN@mattapan.m5p.com>
 <93db0a9e-1d99-4953-9e3f-7ad69f0e78bf@tibco.com>
 <654cab6f.050a0220.86158.519b@mx.google.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <654cab6f.050a0220.86158.519b@mx.google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09/11/2023 9:50 am, Alejandro Vallejo wrote:
> Hi,
>
> On Tue, Nov 07, 2023 at 08:15:32PM +0000, Andrew Cooper wrote:
>> On 07/11/2023 7:53 pm, Elliott Mitchell wrote:
>>> I ran into the nestedhvm via the following path.  I was considering the
>>> feasibility of shedding tasks from a desktop onto a server running Xen.
>>> I was looking at `man xl.cfg` and noticed "nestedhvm".
>>>
>>> Since one of the tasks the computer handled was running other OSes in
>>> fully simulated environments, this seemed to be something I was looking
>>> for.  No where did I ever see anything hinting "This configuration option
>>> is completely unsupported and risky to use".
>> This one is explicitly covered in SUPPORT.md, and has had XSAs out
>> against it in the past for being unexpectedly active when it oughtn't to
>> have been.
>>
>>> Things simply started exploding without any warnings.
>> Things also explode if you try to create a VM with 10x more RAM than you
>> have, or if you try `./xenwatchdogd --help`, or `xl debug-keys c`, or
>> many other things. 
>>
>> The xl manpage probably ought to state explicitly that the option is
>> experimental, but that the extent of what I'd consider reasonable here.
>>
>> You can't solve educational matters with technical measures.
>>
>> ~Andrew
>>
> No, but we can prevent users unexpectedly shooting themselves in the foot.

... and break OSSTest and XenRT while you're at it.

Like it or not, this knob is behaved in this way for 15 years.  You will
be doing harm for no benefit by trying to change it.

And if you need a cautionary tail on why this is a bad idea generally,
as well as a background on why I will firmly object to technical
countermeasures like this, read up on Xen's allow_unsafe command line
parameter.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 11:11:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 11:11:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629611.981923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r12wR-0008U9-RE; Thu, 09 Nov 2023 11:11:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629611.981923; Thu, 09 Nov 2023 11: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 1r12wR-0008U2-OJ; Thu, 09 Nov 2023 11:11:19 +0000
Received: by outflank-mailman (input) for mailman id 629611;
 Thu, 09 Nov 2023 11:11: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=E/1w=GW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r12wQ-0008Tw-ST
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 11:11:19 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7e83::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b3235f89-7ef0-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 12:11:16 +0100 (CET)
Received: from BL0PR01CA0004.prod.exchangelabs.com (2603:10b6:208:71::17) by
 BN9PR12MB5292.namprd12.prod.outlook.com (2603:10b6:408:105::9) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.18; Thu, 9 Nov 2023 11:11:12 +0000
Received: from BL6PEPF0001AB54.namprd02.prod.outlook.com
 (2603:10b6:208:71:cafe::9f) by BL0PR01CA0004.outlook.office365.com
 (2603:10b6:208:71::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 11:11:12 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB54.mail.protection.outlook.com (10.167.241.6) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 11:11:12 +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.2507.32; Thu, 9 Nov
 2023 05:11:12 -0600
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.2507.32; Thu, 9 Nov
 2023 05:11:11 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 05:11:10 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3235f89-7ef0-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YkYcol4Mlzbmfdd+IBKEsPGHci8ePLPLL2knshEKw1Wy5Z/yw0+bt8jzEOZtGI3f1iuItRjynzJGI9r/7/YTUYpX5z3M/Gr4rtp2nyi4Bnl735bm2HN/Iuo6MYkSV0ise41Igiu1K9Jv5ZZ7J18C5DOxrz7Mi1cwOQhfx/mQw4bvehO0Yd7FtZ5w8ie5pqMf4FxKi4sWTfb11s0o3tWuqmFY11ps2q1fXHUUCN9YHpIv0BaeS7Xa7NbH0qABWVx2ejj9ACz7e2JVNLW0CJKkfT5gw86AuNwYPVOLNyPHG0BJzpVH5KvPoeqpTEoG5bA+aYURnkXzNYE3EHAMiDfUYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vFqVLBs/pexFqyC4DGwn0UgQ7Qo1oPTwatjXIllCYx0=;
 b=OuJW9zZxg/UTdXlv4PrfRZr2qiHe71m05XmpsmOvCYTe18wje9/71RktjmXetGimWEEGtM8bR+1ndMDU4Fy1k2nSSXrE+NLk5jUOwTTcKmVA/NOdeIzvtViX5vDQx+KPTzOQEjYv0iWAPFe6HqVt/LcmEhihofmTqbzeNedLFyECwRmHj5wBAKgg1O+khnnwjddHnZKWx8hF+A62eJGF5T2pDQzKznrV+9c7uQIXQXuCgCKPIMezearhVGLUP3WJhdvo2dpZUV3i4/4UFxQGBLcCwKwW9QHkUwJAjNwty2akPwLRi1ZYiPZd2VMX4ANjZ4glCLwntDctzqpEZ7eUcA==
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 (0)
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=vFqVLBs/pexFqyC4DGwn0UgQ7Qo1oPTwatjXIllCYx0=;
 b=CkPGHXS21yDYaA7KerrfY8uChMg/xs6MrXQ7H+TVLhFV57/Zb/VvH8LLOrxhwbQHBcKGSFUpFgzk7Vx/TP5L99wMZBAGYQyDTvIiJp1fM8vvY+Eyyo9jQXPxQaJDA9KMadtm4at42Z68Bw4AXeZoplwUWIR9MST9mw3PIHJdQPA=
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: <bec276f9-ea9d-4c9f-887c-358a3f7815fd@amd.com>
Date: Thu, 9 Nov 2023 12:11:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 3/5] arm/dom0less: put dom0less feature code in a
 separate module
To: Luca Fancellu <luca.fancellu@arm.com>, <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>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-4-luca.fancellu@arm.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231109090615.3878767-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB54:EE_|BN9PR12MB5292:EE_
X-MS-Office365-Filtering-Correlation-Id: adac805d-53c2-40fd-9ec2-08dbe1149571
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CbrorZHkaKD0LGLfiRFKp1VC6EW+l8zJ6GqBa+piB7pf3Qh1rwOapMVGp3IYO0mhjSBIOs9QcWG4FDNX8J1owcBoPBWZphKllRgCEFtcPRA+Q8Cckpm+T/gnG8kt2/ry+yhA+vt7jqFWyU1qR5u2ceYsioX4HvU/OqRTgbOIm86BfDr6U4fMTlkYbxH6RQDXfv1pgqmFZzG4MF+yjYcTB+TAscSVmwirEIdDO6OkpK3xbX9kxhJ40rG125CWqOYqR1TPN25DbWUzNpSEs7Ept08YI679Ki/y0qYTJ0NCQTA2HgGR+pTgPDVgRfWK8jhc7bRp0eLfytGhY94vfCSem1Zm6UYTXkbn7mhvJUzSI0AQ2vwn35fH/RtauHo83tU/Jcb88BwWgtVE6q9Vo+lQqVPD5GretVaqm1iiHrJ6XwZZkNoc3oIJqQ/XOYviRFQ3FecOp0pmU+VVdwzS7hMxq67Mg8jio3XB/KR5n0YJxmBreoJZsrt6s/5DGDFhDDpHIfLsYccX3EddvyN0FXs8wqgPhy5uhD8SoK2J4q1so4/LQ2f5+qOyJMEFokfk3d3DijDxEWcoLoRp40fQXWKlszUT1G+afvJcclh4BpyLn1DOT9sSO16ZciX4eSwajfyDqTvrnr3n7Fi948acZGXxMf9y+ctnx0C/48aCY3Bf/j2128H3ZjnwFfXWm9nnGNQbPgpf7HOWcVrK4A9hpOUATNX1nBvREJ9ssk2sOvqzeOrA01/O05kWjcpCHx3kJwLl3oIsUV4DFVsaFuBs9I7yRHjOZNrPpjl971tUfFe3xe37Yyya44lARkOq8rAjeZYp/ZUtalGt231J9FF0FVcLuAu6BBCIe0TkXWgIIZggiP8q2363jsEXiXgQvuVP6ZzC
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:(13230031)(4636009)(346002)(396003)(136003)(39860400002)(376002)(230922051799003)(230273577357003)(230173577357003)(64100799003)(186009)(1800799009)(451199024)(82310400011)(46966006)(36840700001)(40470700004)(41300700001)(16576012)(36860700001)(83380400001)(82740400003)(356005)(81166007)(110136005)(53546011)(478600001)(54906003)(70206006)(336012)(426003)(70586007)(316002)(26005)(2616005)(5660300002)(2906002)(36756003)(8936002)(4326008)(8676002)(31696002)(86362001)(44832011)(47076005)(31686004)(40480700001)(40460700003)(32563001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 11:11:12.5435
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: adac805d-53c2-40fd-9ec2-08dbe1149571
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:
	BL6PEPF0001AB54.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5292

Hi Luca,

On 09/11/2023 10:06, Luca Fancellu wrote:
> 
> 
> Currently the dom0less feature code is mostly inside domain_build.c
> and setup.c, it is a feature that may not be useful to everyone so
> put the code in a different compilation module in order to make it
> easier to disable the feature in the future.
> 
> Move gic_interrupt_t in domain_build.h to use it with the function
> declaration, move its comment above the declaration.
> 
> The following functions are now visible externally from domain_build
> because they are used also from the dom0less-build module:
>  - get_allocation_size
>  - set_interrupt
>  - domain_fdt_begin_node
>  - make_memory_node
>  - make_resv_memory_node
This one, despite the name, is strictly related to shmem. Shouldn't we move it to static-shmem?

>  - make_hypervisor_node
>  - make_psci_node
>  - make_cpus_node
>  - make_timer_node
>  - handle_device_interrupts
>  - construct_domain
>  - process_shm
>  - allocate_bank_memory
What about static event channels? Does it make sense to leave it unguarded? Reading the docs,
it looks like at least one domU needs to be present (dom0-domU or domU-domU). Hovever, looking at the code it should
be possible for a loopback. That said, I don't really find it useful given that loopback does not really need this feature.

> 
> The functions allocate_static_memory and assign_static_memory_11
> are now externally visible, so put their declarations into
> domain_build.h and move the #else and stub definition in the header
> as well.
> 
> Move is_dom0less_mode from setup.c to dom0less-build.c and make it
> externally visible.
> 
> The function allocate_bank_memory is used only by dom0less code
> at the moment, but it's been decided to leave it in domain_build.c
> in case that in the future the dom0 code can use it.
> 
> Where spotted, fix code style issues.
> 
> No functional change is intended.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> Changes from v2:
>  - move allocate_bank_memory back in domain_build.c, remove header
>    from dom0less-build.c.
I can see you removed the copyright from .c but .h still has it. This also
applies to other newly introduced files that were subject only to code movement.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 11:15:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 11:15:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629615.981933 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r130B-00019r-FW; Thu, 09 Nov 2023 11:15:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629615.981933; Thu, 09 Nov 2023 11: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 1r130B-00019k-CL; Thu, 09 Nov 2023 11:15:11 +0000
Received: by outflank-mailman (input) for mailman id 629615;
 Thu, 09 Nov 2023 11:15: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=E/1w=GW=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r1309-00019c-Ix
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 11:15:09 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c0cbced-7ef1-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 12:15:06 +0100 (CET)
Received: from BLAPR03CA0174.namprd03.prod.outlook.com (2603:10b6:208:32f::11)
 by PH8PR12MB6748.namprd12.prod.outlook.com (2603:10b6:510:1c4::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Thu, 9 Nov
 2023 11:15:03 +0000
Received: from BL6PEPF0001AB52.namprd02.prod.outlook.com
 (2603:10b6:208:32f:cafe::2) by BLAPR03CA0174.outlook.office365.com
 (2603:10b6:208:32f::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 11:15:03 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB52.mail.protection.outlook.com (10.167.241.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 11:15:02 +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.2507.32; Thu, 9 Nov
 2023 05:15:02 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 9 Nov
 2023 03:15:02 -0800
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 05:15:01 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c0cbced-7ef1-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T0LmfJ++A1R45kqbOTm6XN1Dltjs0RG57ok7ZFm6JPumxtmmw+Fnn7sM/PqNOktEUBx88cJXav1h4hAAT/5vpQMjq6IfwpFqI8AGxGfF0+3Y6UU1ESnBzoOOJDbjJRZ7YLa9oTfayh0X9nrRhbkreT5V9J6uuTgb7+BmBDtB4Eks6WBkkJ6fJFTOo3Z58kz75DBOSDgHfwHa3czmg1T51Fr4NY7Bu9VvhpSEkFq1CJUeUPcg6HJKutRCEAqerCj1eO/4fITS0/rlUyGaMjTWcq05mMpBiWZv1GsaE1vIz14sjDGWTpuliepdX8GvAdsshnte6mogwXeqw+kCscmNJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YeAdgFk2ZgPrs1MfXYt+/cxzHvz3krNaFewDB5CQbOM=;
 b=aarAnzUpsZUtfrweIjYkm79cUtN1q/OFRmIqTfC90xZ6p6XVVX/n+2NBCObIzS1n8vM+SZFSnuqUoulHWC/6nHScAF+e/OcQLJk3gxxZm9fxpLlHeyJxJFPWuHW1USKlB5e1L4ctsY1R1i5w1x+ix3gSeQxocQCFl1eCkcRN9ZiMcV5tt+RXQuA0tyEqCsyDjT0aIX6EhQOnlPn3dE6SjwCG62u//LInlDYrIJrFK69LUzuVpYhM2ch2oeAMEqNVHRK5Votv1ZzzePgm/g1XivfAfQ4+lbb0GRMN2tB7YW+2znG8gsEv83dNX9iYh9SDZx97yvUpiuujmK28DSeECA==
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 (0)
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=YeAdgFk2ZgPrs1MfXYt+/cxzHvz3krNaFewDB5CQbOM=;
 b=0ooERydQj1soylQ+awx7ZIyo5qUONKeND5e+WBHwP5RUWrMEXQpRmd2RMxBWy+oKiD005GYw8KMIFLJUcBxfLOQtz1UqdtXsHo2GD83wbKhWss7hGRZg15M2Sl9JbinSYK08qXd/9lRuXmUt7o5FF93ioMLVxkBOH5LPGcFkCBI=
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: <cea75c65-ed76-4f23-a0cf-7500da9e3e36@amd.com>
Date: Thu, 9 Nov 2023 12:14:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 4/5] xen/arm: Move static memory build code in separate
 modules
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, <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>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-5-luca.fancellu@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231109090615.3878767-5-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB52:EE_|PH8PR12MB6748:EE_
X-MS-Office365-Filtering-Correlation-Id: 1349c4a2-ecc9-4573-4899-08dbe1151ebe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8Vh1s4DLZASRsffYD3CtEF3D7oFnHAhQ9qj+gbIDXAIZcm5uVFjnX1297tD/DP1+hGk8t9xr33t5WQ3LrziYSZQn3bUKbjwP/l6AcMJQKESPVccaj+09uJKUoaARWv4YgPAo+/dMsa+XuM4/ngK+rlDJ4dpTwsSdhZRyo1LU9/azZ13yGcitT+vwSjuf1/c1lsrinb6XRiZAkmLEnojadQlWd+TqOQRidwDA9w5AxF5u1tSAD7uVwh9K2pb0GDLiXugM13w2PRfYhnwIVHbEh55vUzarUBMiw6WxiF6Jm4YZ8CkuMQsBuJHBp1EffS08cdQOphD+ZPbreS5n6uFCy4/IS6zzwNWFFXy7b0F6fxMBbLiinV45KQNRA+5NOEM7tthQIc3D25OWvQZnCtH5mkav0yEjZz9N2GIgoWypQ+MkwtRMVfqd8WSuTk3K7AHdk8ocssOUKT72I9KWXPRxX/twRgEgDYDaSNIvBT4idryk72dpGEP2anLyHkbIRHODulcdNQxTgSqhwLPsYpuerJhqIF6wKpGjMEglWJBH+oTDhwa/HUe9T1Vo3eLnRUlT+3o4cXUx8HCzCoQeSXkSQsK3cN24qikThmAhh/1yTMGbHEq3zRLl4jbZbO7n5x6kW/0+I3iqMzgExyaf4YqkzqhbN5zCf03sVSTRTyjZx66f1F+SM/1TeDyPy+Vf8/wrgkFj//WtuIsRcuDKkaK9UEBypQ3rJbODDNWUq00rOoOJL6DFpsdMWs5RFyJIRcBVMpWfqCE7zOzOyoPZm9ARmmHhFlc2FaEWtIb1xboKFqiaGZ18a8U1FZsHkCwB8f6TkEnszr5mqs2uWiow2kZzC9zMS6T6Vo/LNqjWXFr7rYI=
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:(13230031)(4636009)(136003)(376002)(396003)(39860400002)(346002)(230273577357003)(230173577357003)(230922051799003)(451199024)(82310400011)(1800799009)(186009)(64100799003)(36840700001)(40470700004)(46966006)(2906002)(31686004)(44832011)(41300700001)(4744005)(8676002)(8936002)(4326008)(40480700001)(5660300002)(316002)(16576012)(54906003)(70586007)(70206006)(110136005)(40460700003)(47076005)(31696002)(36860700001)(478600001)(26005)(53546011)(2616005)(36756003)(426003)(336012)(356005)(81166007)(86362001)(6666004)(82740400003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 11:15:02.9094
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1349c4a2-ecc9-4573-4899-08dbe1151ebe
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:
	BL6PEPF0001AB52.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6748

Hi Luca,

On 09/11/2023 10:06, Luca Fancellu wrote:
> 
> 
> Move static memory and static shared memory code in separate modules
> so that they are included only when the corresponding feature is
> enabled, doing that we modularise the features and we remove some
> ifdefs from the code to improve readability.
> 
> Move process_shm_node function from bootfdt module and make it
> externally visible.
What about process_domain_node()? This function is related to "xen,domain"
compatible that is only present for dom0less domUs.

~Michal



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 11:20:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 11:20:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629620.981943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r135a-00030n-2a; Thu, 09 Nov 2023 11:20:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629620.981943; Thu, 09 Nov 2023 11:20: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 1r135Z-00030g-W2; Thu, 09 Nov 2023 11:20:45 +0000
Received: by outflank-mailman (input) for mailman id 629620;
 Thu, 09 Nov 2023 11:20: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=U8Ox=GW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r135Y-00030a-Gf
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 11:20:44 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0464a640-7ef2-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 12:20:42 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS5PR04MB9827.eurprd04.prod.outlook.com (2603:10a6:20b:652::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.17; Thu, 9 Nov
 2023 11:20:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Thu, 9 Nov 2023
 11:20: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: 0464a640-7ef2-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MtMfl6EueWqTtEVxeFOLAo2GYyZnq4n7foesKEMbqKhMc++nRXlDhEpwiPdpkjyb8eWoy9mFjcW+CQm9HMT+aZKSEWpTpMXYq5+bIQk23HqzsW+HEhzNRZvLWFtc2oBMDYK5fGXR8Edk0YHTbCMcql0TcvpFHrok3ELuKcTvSjJTrHXHcMycwexF2xMJz2sh1MW2TOatB98pHn5F6ubUJnxmEovgbJkcl+4fZLJ9VBjDBciMw/D4IcgkCSBoaLYP+TaY56S/fLSuKmB09y3EB7/iIoOwUuzi07Pt9Kg2Mv/3OWCHRWDVmRJtkrXVtg3fP52ETv6su3BayrVo59WWUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=h77RXAujVmTcrqZwwqasRz88IBJPqlQBeP7exxcrVVI=;
 b=aoOGkfdUiOcpTsTJZySJOOmRRIajVMtxAgUH7DBAUaIonysnbLf1G+O0usOqHkS+DFtcnlQe7CCY4BstB9rKQ57lLGZjdOinjf+4vOjP9epTTCSAiAH6wYLEkYSxMMUr0wgeT9Baz6UqpnG6VF5IjAsyVI0CrflQUnkPrPqQDYvlgwGLrotykT+d7EkwCNJsCqvC0xXKgb4uU15ENWSf0WsUZJz9lO+xau4bITJhe0ttv/QwoXfacCaV+AjuCn1VrcQVDkJN1suZaJQ17bOo0fnezTVrzm52U6qwHogNcvjQCDVe0Kk+B1K0B+nOeTI5GFKaHKMEIJLmF2mjAhicnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h77RXAujVmTcrqZwwqasRz88IBJPqlQBeP7exxcrVVI=;
 b=pFlKtBydKF6f7U110KbhnBtuSmYq/ZU3uLW2gAGQGrjozowYIYxfy0G1ChSxvao4KyaU3gh6qVqD7QlyNr7jYam9kzOxY9p/oZEOmK3X68bHixg/eCkJrCOGqH3teSlfRqtMtGuVXf6xAaDtgGOb+d1Db3boRCDQgju147peRo318n94fK6ZMfrCYw1alTVe7ygnIrdt/L+sZaJGxCXKsUmWeFLUUXaPCMjwlM83MiYO1kkoXVyD2/ap++G/aGZWpZyfiwod1XfJ2C9mqCPjXcaSm9jQOMdug7KGzsynXn6gHrCqKD80aNikIxRlxwnNpwAnKohubTP1ozqNXnEg3A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cd54161a-06ff-a154-c22f-60af7f84bd37@suse.com>
Date: Thu, 9 Nov 2023 12:20:36 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH v2] xen/arm: traps: address a violation of MISRA
 C:2012 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <24c2e8b7a7becc6b16d0b37f2c642a9b9e976269.1699457659.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <24c2e8b7a7becc6b16d0b37f2c642a9b9e976269.1699457659.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0044.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS5PR04MB9827:EE_
X-MS-Office365-Filtering-Correlation-Id: 3cf0a319-cb60-4640-fc81-08dbe115e71e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DinNSoXpk5piOjUCsakus1qdoAPr1AJjhi2kuLOtkm/oLdASnNyB4r64Km4vY1xLam2gld+ecEU6sRjdw98FLJJ5YPBMmgKgjLExiJepmcf9TxMjE4ACxz0Ua0u3/nRQkIIJBIbb8FO8tyScDuWtySnd0RsC2OtQThqldgA3vs705s1lUWnP0zz/bKsI6H/Gk7rybAm4cZyu0uhqUfQ7Yyei/28Z2cNOd65PIEqoq22DHyJ17Y72q3b2Z3v1KHHAh9Z6eUjl7ZSLRu2x+lFR7eSKHxFInZkeY2EbxWa9ZS3R5hIbCwVHelGnjhRILwtoWErCua3yxI/rNjPm2/aE3+rrd+K1utqhCIM9M8WaMZ5Bb+gj6qlM3+wwjsaWssOtzR/pOOOzxx0R6+erD3OUC9uIMOhAr8Nidurw1vMJQbMPq06zdgCJsrFMtbuBv5YjTdUhMYxkXdaTyha+xGr41Xad/5KHwEbh1MTG7Z1twhjKsG81fCL037qDrOxpElawNvzyOkqchXtJo0ZwVjRMv+VvK/7pds4shyVl0PDmlhSq/SkiuJH6MKQVjgXega2wIei+CYx/ok0yCwFc49EUDaQggOQ4gNlQyN3OYAhekThG5vAKBA18O4dXoAm5E4HdqgaJtNnAF6DC/wwljeBaAw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(346002)(366004)(396003)(39860400002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(478600001)(31686004)(6486002)(53546011)(6506007)(6666004)(86362001)(31696002)(36756003)(38100700002)(2616005)(5660300002)(41300700001)(6916009)(54906003)(66556008)(66476007)(66946007)(26005)(6512007)(316002)(4326008)(2906002)(4744005)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dkRVY2x6eTRzSEtZY0dLL0hFSUlLLzFpSS9ITU03WU9QQUVudzUxYVBUZEgz?=
 =?utf-8?B?Sk5Seno3UVQvK0tJcXNCb2FiM09lRHJkU3RGRmJxSmd0QW9vNlNnMm1IMWdu?=
 =?utf-8?B?anhabTNXdFZsVE5wejEvM3BYZ0xiSHJCbFBnYTFrZVNpMSswTFJ1WjRyNlE2?=
 =?utf-8?B?a1Y4SUc0TGp1TERwdmp5dExHUS9CdEtoaE94UmljUXdDdGYyakwvZFZqYnZR?=
 =?utf-8?B?bFZQN2VjVVBnaGsvZ3VBdDB5OG5EZnBMMlk2NFRRYkFoS3VGN2NUUkFPVUhY?=
 =?utf-8?B?M21nb2NYdHdlVzZKMUV4VFpWdEtlQ05QVTI2a2xTY0pIdW1Dek0ybnVCRnZZ?=
 =?utf-8?B?bUJkZ1BwbHEyTnhSWDk0cWFJV09ZbHBuTmV4RkNSWng0aFA5czZaeGxPTjRB?=
 =?utf-8?B?LzczQnpBa05kQ0xpYVZkRjFMcFk1UzZXbHI4Y25DZ09WNjV6RHgyMWZCaUFM?=
 =?utf-8?B?RU1oWFVNaWFoc3ZMd01iYTVOaEptMFUxNnlETjdMRzRJNzlpdTNna252V0tr?=
 =?utf-8?B?U1FNdGd1YndBWTZEam1OVEk5d2tza1R3ZHhyVDEzZkFIbHBGdjc2dnhabjRG?=
 =?utf-8?B?S2JpNEtmQ3VoQjlmaW05QnYxSFNyNXEyeHVkS2g4TjFJWnVta0FxTUhBV3dW?=
 =?utf-8?B?M2lUYXQ1U21LVC9YYjZlK05Gdys5bkUwTmVGbUI2dXNGZE5FaU1BUFRKYXZN?=
 =?utf-8?B?YzRTenp5SXdwajhYenFULzBETldwSHd0Zm9MenB5MjBVQjIyMEZFcEYxbklQ?=
 =?utf-8?B?MllnejFYTWR5WkxKWVVXeFdES1B6b01sVWFQb01hdU9Fak05ZU5kWWRYMXQv?=
 =?utf-8?B?UHI3dXhidnI2T0ZpallGcTA3UU1jQ0E5RllFQVhWZnYwSzRHOUcrZm5lSkRz?=
 =?utf-8?B?Qy9sTXpUWnI0U01IY1BieldNamV1ci91UlR5S29GcmNkWFpnUC9FN1BjcXVY?=
 =?utf-8?B?YWJBWGdHSVJqQUZoNG5VUnZienlpeXY5Q1RGTEZpZE9jMHRlTisxaWNlZjZk?=
 =?utf-8?B?cFhkNmI4T2FlZE1paVBxSllUTE1YTWc2OG55dVFIRW1WaWV6T0ZpOTAxeGJV?=
 =?utf-8?B?akgzRDNFLzd2ZkJHTTFQWC84NkN2U25yY2dPRzBjZ0tZRUk3RVNmL1ZrU2JO?=
 =?utf-8?B?dmtmaTl5VDN2azRwd09BeWQ4Ykl3cEpqUUwzWDFSbGNxZWZGRU4rMUhMYTN5?=
 =?utf-8?B?aGgzVDlKaHZCQTdiRytpOExUd2lVNlBFTENYZE9qQVBoOHdoWE83bDE3M1R4?=
 =?utf-8?B?QjEyUXFWTnhNSFFmSzlpMDVuSXFZcVZaTU9tY0d1UHd2bEtubUNGVDdnWmdU?=
 =?utf-8?B?cnRZRVNrZXZUaCtndmplUHowZGRIYk40dENncjNWSFA4QUlMeE02enBHeGxU?=
 =?utf-8?B?WWF0UVMzOVFHdklnSEtwUTlPZ01nVjFxbW90N29YdWRrREI3QW5HQVdNQTkr?=
 =?utf-8?B?Y0o3Vy9aRWpuTkxjaHluQVBGQW1DcFBoN1h5eUhZd21zMWN6aUpHZzVJNjlr?=
 =?utf-8?B?WkdZTWorWU11L3RyeEo4ZjhMWjNBZnZ0cm92TXRISmVhWmpqSXdUcytaRTZV?=
 =?utf-8?B?dVAwakJHZG5sTElYc0NuM3M5dmJBeVhlcW9rZUlFSXVVWUJlNTE1aHlvdzVI?=
 =?utf-8?B?c1VDUnVOdGlXdENrVlAyd2RoZ2NId1F2cjM4bFZ5VDJpcTRrS3UrUHAySHlm?=
 =?utf-8?B?VnpLaXVIZWJOT1BKWHhLY1pkYzc1SURiRk1tTk9Vbm9BekpUaGxBWW1nNFEw?=
 =?utf-8?B?cjI1ZDY0R09ETTVXb1FxR05iUHdsNlB1czN0a3E0eXZtR01rTmQ1WW03bE1w?=
 =?utf-8?B?UXh5RzFUUm5vOVQ0QVdHLzdsektHTFdJRWpWTTc0UXUyejJmQ29ZZExSNy9W?=
 =?utf-8?B?SkNWL0I5MERuRmtZWjhDbFprdTRiN0Z3M0UxTkZ3cnhlRjhuODkxdkRVbVdV?=
 =?utf-8?B?NWI3MUdWaTk3MGFjeCs1bWhOamJreUVqNTJlcno2aWJEcUt6Zm5qV2t6bFI3?=
 =?utf-8?B?cTF6TDl6amhrajR1U3FUTGtzS1FQcnZGbnpJTXZQcEVlR0dnMTRLVDdZTDZZ?=
 =?utf-8?B?WkxybzBWc0RrdXIvSUcybmRXRVVKd1RmRXNydzVsbEp2NlhPOFBpM0ZHY21O?=
 =?utf-8?Q?+S03Vk5hpK74koWYfLlIL0y0X?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3cf0a319-cb60-4640-fc81-08dbe115e71e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 11:20:39.2423
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +7cms0PRha7g1FoiN9yZrF+ZPgyZoydqOgdIOsCbXA0lh52eX9HRu5RiOM6LpNkTik+Mvt9kc4nsXu23SU/GyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9827

On 08.11.2023 16:42, Federico Serafini wrote:
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -1236,7 +1236,8 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
>  
>      if ( id == BUGFRAME_run_fn )
>      {
> -        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
> +        typedef void (*bug_fn_t)(const struct cpu_user_regs *regs);

Just to mention it: Type and name don't match here. You define a pointer-
to-function type, yet you name it as if it was a function type. Perhaps
the latter is really meant, such that ...

> +        bug_fn_t fn = (void *)regs->BUG_FN_REG;

... e.g. here the pointer-ness of the variable can still remain visible:

        bug_fn_t *fn = (void *)regs->BUG_FN_REG;

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 11:23:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 11:23:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629624.981954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r138b-0003nj-Gf; Thu, 09 Nov 2023 11:23:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629624.981954; Thu, 09 Nov 2023 11: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 1r138b-0003nc-Dx; Thu, 09 Nov 2023 11:23:53 +0000
Received: by outflank-mailman (input) for mailman id 629624;
 Thu, 09 Nov 2023 11:23: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=U8Ox=GW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r138a-0003nW-SG
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 11:23:52 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75c5f3f0-7ef2-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 12:23:52 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB8036.eurprd04.prod.outlook.com (2603:10a6:20b:242::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.7; Thu, 9 Nov
 2023 11:23:49 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Thu, 9 Nov 2023
 11: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>
X-Inumbo-ID: 75c5f3f0-7ef2-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G8eHRTdapjvOhbO7d5W64xqffyscL0lAu2Kj3UBUG5drrLHfM13xPMs3Lv3/t9VP5RyGoz5R9oOHdAiZADb2QJ+8oSQzL1o+BoKHBymr+Skd9Taboh91v9uG7R4H4awlIDNXdiUKD9rLLcNYDP1eVdS1olNNfdIMS0UwVsK6MVML4nHMosGh9UEljIdqew04M8JNy4eqqEemDrrgv4dDaCL5pV5yn1hRor06BbYjT8D6zRRd7b/yPtd/L94Ssz9LZyqhIKI2euCOjrk7cZk4zOH36UfQmgxtQM27AT9YXDI5l2Kv4EDtzY9v5nH9rXOBb5A/XpvtZGMqfy5uDsiDnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VRE8iGgBZjEs63+Af8aOXW76TL1xnAyk8R06PNS9KBc=;
 b=I63vmuf5PnfX48MVCenkuRT7GfF89IOj5pyMrEJ1nADVDXm1Aqn9FzCqcZ/tAebIDz/REshayyFQrtuSgGrV1799rv5KSD4/9On47TTCUL14l3rCXFFXV1lTwKsFEvJo4SJoeFMgmtMTow7hT/VWtR2R4eoRJFRRtFRHWnUoOgRKl9iulB10yIRT4enupc4/XFdfY85pogprbwInaJjO48owDg0J7tCw+NN/wz4tjcONgwc7zvDaNJ+shnVSVS+qoFqf7xjUu/W/uCdhDfrLEMmJMqQlMOFvE8+eLgjh6QBs7Q/2RNOW5iKmci2bwT18Gpl+GcpD8bl+kJOXzwXMJA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VRE8iGgBZjEs63+Af8aOXW76TL1xnAyk8R06PNS9KBc=;
 b=ai9nz7IT3MSl+Q1/7cFYeVaaHkFjK2fgJJx/U1SjVlG9LpjmGqGHYzeoxzDIeMOiYqTs6g9sgyDSaaBunia+ZC3po8X+jhYfnZZ/pwnmtTV+YomHPN88p5Zgg02bkTC9gKoDAwi6Ui9M9OT+pJQvGsTISmEg3+u/Id8CqqtuVtQY8rtgVg9pW1GWifKqDaQX/FamlbMaCf1Pz/P1DGOgn26a/aqVeV4HYCeY5No9JHZ5VmmEK9PIR7v4zatV9ziDNry3C+y8ByW8H1eCGRN56r95LihIVg8gNUbffZ34kStn8kaQ15CsCX14NQISfgr8eFjO5/hDEaC29f32VwKSyw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <18b0100c-bac0-ba12-06c5-5a428fb9f7b0@suse.com>
Date: Thu, 9 Nov 2023 12:23:46 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH for-4.18] docs/misra: Add missing SPDX tags
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Henry Wang
 <Henry.Wang@arm.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20231108141847.47697-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231108141847.47697-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0155.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB8036:EE_
X-MS-Office365-Filtering-Correlation-Id: a722999e-8f2d-4eab-3ce4-08dbe116584b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8iJVLVaWSvpTeepb7Ufy+Xlei7nDQjKJywKyZr2xlEc+57bhzf9m74WfszYbRGYFYO4+cA/tt3MKtp45Eu4nmWO54mmXhUgNcx/U4e2KFllmFZfmrHJkMv+QWFRoxSSpuzQ+4j3GBQdq6Qqr12y/U9QCE7yYISQxS+qtPRg26bY8A0Jf3mHglYwzqnSCWJWlyouk29GpnP0J60o0uIEWD5BBVnA3XSvzvcpq43kdUgDiluP7flaJaFJWmew1OG+l/uuEa9E3UwBzP8WVW4vo4e2HO/5J8RRqxYpoX3/O3wLC3vuMQlG0d/imMLc9tlU6ZINra2IETabrjo8litvmQcPUTigAh2ApTmwNeyfFuT/VEn0hjcQMcRYwOqUSX2I1nHCAJLUxz0368ql/e3ci+NjD5w/4fdX6HvDl4FjwCYEkNHlZdwhSDeTRVzj6LZEWYr0t84sFflEDZs1cQjJwnTePwLu/Y0mYsXd9FbFVzYVujqNOdfJbXEngPOvGwLQZPyzeBCRwZEbgdT8XJdM02XRvKkXwiLeFd/hwOjTsu8/O6bw5JGThrnCf4Nt4qmCF3DmgMFJuQ3J9ZfUT9d3VpBGnyghXMeaFcLjPxgAeDRTXW1dEuJPOSGBGt9p93kzZ0WkoKCJt0qMVRIEYLkPjEw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(136003)(376002)(396003)(366004)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(31686004)(478600001)(6512007)(6506007)(2616005)(53546011)(6666004)(6486002)(36756003)(38100700002)(86362001)(31696002)(66556008)(41300700001)(5660300002)(316002)(66946007)(66476007)(54906003)(2906002)(4744005)(26005)(8936002)(4326008)(8676002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MjdUZ1Y5eU9FQjVrK0JVNjZub3BibGF3aFJycGRqS0VFMHNUR1RXK0JUVjZU?=
 =?utf-8?B?dy9HUDhoRlE4MkJqallLODVaQThTTlBRa3F1Y1hPL2FFRThmei9JNGN6UGcx?=
 =?utf-8?B?aEc2enBQOEhvVXVwZWhKcDg0eHA3Z0MvSmtOcVEweHlxRDRWNXdVVS96cWcw?=
 =?utf-8?B?WjdQOGpkNjFGdDZFbkNrRzJzbzFaNnA4K0lqMWRBU0ZoWUVLZ1VUUndSSUhH?=
 =?utf-8?B?SDZXOGlEbG1CNytsZHBjNGFEZnlwaEt0Zkx5OFl1NkQ3QktkMzAxWWQ5c0Yy?=
 =?utf-8?B?amJsN0hjUHJhMnAvUWpRdGs5RFpSQjlQRGVRUlpKUllWaDFEbGZENmQ1Mm82?=
 =?utf-8?B?UlBlR1JaOWExcWRLRU5VRE84T3Mrbnd4ZlVVQm5tSUJWOE5QNWprajR3MUlw?=
 =?utf-8?B?WVZLaWtXemJBQ2puQmw2YzFRSncySmpQTlA3dU55UnlmdnUyNE84dnpGaUNa?=
 =?utf-8?B?ZCtjWWFoK0dZSXJVS21TK0FVWHVyZVBmRll2dGV1NGRuUDg3QnZ5VzI5WTFZ?=
 =?utf-8?B?Z3dnUm5RU2luTHZXNlIrM1pwaGdSdjB0eFB4emJVMHdVL2RtR3oyTEVCZnp3?=
 =?utf-8?B?N0N1dTY4TG8wbWRmam5BR0Nwd0xFdXp1Rm9HTzRWVkpuUVBqbUIvcmZIWGgw?=
 =?utf-8?B?K1FUNzhoOXBjaVR6OTU1NFFRRmdudnIreXR1K2NLejRaUjJheGc4R1JZSWJ6?=
 =?utf-8?B?cHdmK3A5c1RWdFFZUmdXcVFEdHZzbWVHYzhlNG00OElwVlpqckJJK1d0OHgr?=
 =?utf-8?B?SEtpV3E1NnN0M1ZVbVJlOERJcUQwUG84NWQ5QjRsTnZlc1lVWmUrR0hKTncv?=
 =?utf-8?B?UFQ2ajhUUmJKVFRYbTBxWTRKV2pKVnBQdEdjWnhSM1ZzUTFLeVlFelVPa1JB?=
 =?utf-8?B?UGd6WWN1QjcwSjhEVFpHQUJSUy9BYUQrUzV4cXMzRDdnWFFjV2tkYzZIekg0?=
 =?utf-8?B?dk8yb29WN2d5azRIamdWd2hDdE5tVmhaNXdVUDZBL3MvcmNQUE01UDRuQlVT?=
 =?utf-8?B?SHZ4OVRBb0Zjc3hLbW50Wm8xdjRUQkZDT0d3T0wzcVFzbDdyN3hLS3pyUFlR?=
 =?utf-8?B?YkRuZHRUVTlONlhlRlVndkIwQ1FTb2l4N1NwT3RYSjczdUVwaHR5MXBzQ0Qv?=
 =?utf-8?B?Ty9CbTAzeVdNdGZMQTkyY2srckJRZVk3bTRoYzRWZzMrait4ZGkxTUlUZUhm?=
 =?utf-8?B?QWUxZlgvYjlyQWkybUJxZjF6NUowNUFNR3Y5YjBCd3VQaFdxdWJmSUZpTzZO?=
 =?utf-8?B?bUpFMUgxekJLN3lEMmtXQkF1MTRacFpHbElMb1hMbEx4WmdiMHRRbi81eU1I?=
 =?utf-8?B?Y3VveXhuQ1AvUFBIU0NTbnRsdzJqTjg4anlCNFJ0S3pDMmp0TGRiemRIUEIr?=
 =?utf-8?B?L2w0ZWs3QXR3UzNkRWU0NkxpZTBhMFFicUtDeEU3am0xYUNPSWdSYm45YmY1?=
 =?utf-8?B?OC9yNzBLajVxUkRpSW1aNVBtRVdIZnE4Ny9kaEcxMTdqeVJvTVB4SE5WQUlp?=
 =?utf-8?B?OThtUXpjZEZPYmFiTllyV3d5aGhXejNuUXlkbWFXTHhlMmhxWDFydm5qT01O?=
 =?utf-8?B?SGN5bzdnOCtGT1FKRFhLRW5uZ0tzWEY1aUVnUVFPN0VZdmVzNmhFQUM2WnVZ?=
 =?utf-8?B?b21NMGVYd1NMaXVBWkpmWGhoL1pYQ214aFBNd2twVkthN1I2R1V4OEx5UHZj?=
 =?utf-8?B?THY2T3dwNnM0bCt4Y3M4eTZpTlRmaWs2cTJWdnpCQ1lSZ21RMHZ1VzU2T1lR?=
 =?utf-8?B?NW5iYVFiV3hMcithZE9vZ0hPZE8wdjg0SlZ2V2wyeFIvUkdJbU1Cclo0enEz?=
 =?utf-8?B?Vk5QZjZoOGNhOUxDbUZ1aXRUNFM5THQ5T25tZVB0b3JsYVBFNVZNMHJiWlhz?=
 =?utf-8?B?bDBFTTZ6UE53S0ppVDFJRys0LzZpdEdycGJsWGdBeVNTS01ZM3hJOE4rM2tk?=
 =?utf-8?B?dDVlUUFlWDFaRktlTTVwT2JSRFpoSEMzZ1BSUnVvWnhKU0VwV0d0RUZpQWQ5?=
 =?utf-8?B?YTUrT2Y3dlJoekVrT3NrcWxCYjNkc1BNWGlLeWE0NTVtaTBWalIvZGZoS1VY?=
 =?utf-8?B?NkJNZktKRDYwV0xOdXczLzR0RHRweFVKVGRMNVdwQk9UeHFQTjIrM3ZodHlL?=
 =?utf-8?Q?bGxvc0XqtTFzNjfJ/Ypjk+ofV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a722999e-8f2d-4eab-3ce4-08dbe116584b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 11:23:49.1420
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: p2lWT4wY+5tC7aZkPXDfNfUL3aAGx7Tv/Gi4X/WZdUqKllXDlOgREY1U65uQTSgVFHua4vPqVWlTZE1bUz7N4w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB8036

On 08.11.2023 15:18, Andrew Cooper wrote:
> Two files are missing SDPX tags, but are covered by the blanketing license
> statement in docs/README.sources saying that RST files are CC-BY-4.0
> 
> Fixes: 3c911be55f1c ("docs/misra: document the C dialect and translation toolchain assumptions.")
> Fixes: 7211904e09bd ("docs/misra: add documentation skeleton for MISRA C:2012 Dir 4.1")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 09 11:29:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 11:29:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629628.981964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r13E4-0005Em-5a; Thu, 09 Nov 2023 11:29:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629628.981964; Thu, 09 Nov 2023 11: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 1r13E4-0005Ef-1Q; Thu, 09 Nov 2023 11:29:32 +0000
Received: by outflank-mailman (input) for mailman id 629628;
 Thu, 09 Nov 2023 11:29: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=U8Ox=GW=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r13E2-0005EX-OG
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 11:29:30 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f202bf9-7ef3-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 12:29:29 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9276.eurprd04.prod.outlook.com (2603:10a6:10:357::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.16; Thu, 9 Nov
 2023 11:29:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.6977.018; Thu, 9 Nov 2023
 11:29: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: 3f202bf9-7ef3-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cRgy2PMvojR9jWi8UbY1wH49ZPl7DEx0gFfcaCQZq4DZ3w1WEf0K0JACbDvHTimCS/Vg4ct73m0I76ryF756XZcsBT1gVP8nkfJKXhEngXYl8Uba4YY14N4zBuZLHu4FLhzZDN6PcDGm+Bjo8Jr5jP6IbSmiwCKcODP4DYrd1AoFlq4kXYOgzrYc3AzeN4Fglj4Ap9xqBklt9nwic4RfMsmtoULW/t4Mqu8Y/6P3HihJkPKCvF8Jq4NClEnkHzuzOl++MGlpZpAWOUaWhQh0jBPbmwXZSTJrPZ3bHAd4DvUaYkofC5MMASReAa0PHXddtPS60rdH79Upbb/bv/cdqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6VX0xNaDL528VePobJEX4ml98M/H4+AczNJqVNQa5yo=;
 b=IbpmCbC/QqAhTs1bIQSxb5Cv0/dFtV4QONkUPm4te9hK8I9AkonyI8S5MUflB9snpbQxnJk66lp6mByF2aNjvcwyG57CidrcdvVB6HYCKwhH6/tJOAmZ0NSB8UyZ2/XrPRYtFL/Q7qKwby8ZR8Y4fI5NoPctnQvyxn7vLxvl3hLogkujvdT4Ym76Mkhzz555KYuf69b9mz2GnIldir9LI5NaBKdhSj0ILCTzsoXO1pCtJqAl/aAFsAwnHNTUaSuTs35kg8uckJ1EYGXDfRicYPa90ybDOcme/x1gg9iSP3N8WF2dDZvehzZmkeVLKTCfMemMEXD3s2mGalTich7xUQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6VX0xNaDL528VePobJEX4ml98M/H4+AczNJqVNQa5yo=;
 b=W/mg8nwe/negNc8/Yg2C870dBMgKoc/JWxJpKuXqC+eXSeK8knJA3OAOW06CY8xJrjYbbz1ZP4pJ8bv+/Xx7UuLk7nnJ3W0AT4gQvKkJ2L6Z1XURiuajrwv9Dqq1RW0RFZxtix6jciXzh+tAyp963ICiug2kRb1bgm1xr8+SuMySQY+bBDUgNUMkd+Vtn6mfSYQJnhEaZQp9W5nRKyOPs3R5oKh9N71vovmgd0IjzzuOAnmrua0pLVF7Z2bVcOGqlKthR0G7zb8ayTRuP7T2YnG8us4Yj5OL0SLEDA7/CkCRlHnbacmJ393hMEaBQadRao0Ehoc2iJD/Vz510i0ebA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a6f54856-f0e2-a2ef-5cbc-900ed87c5d31@suse.com>
Date: Thu, 9 Nov 2023 12:29:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH for-4.18] docs: Delete kconfig docs to fix licensing
 violation
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231108143751.49309-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231108143751.49309-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0206.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ad::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9276:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f8453dc-8669-4d73-bf3a-08dbe11721eb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HmyD6+ii1G3vsgHKge9p8/X+0uvKnc29gZRTz7Yx6wBmtokALKGdFK9ceD4uxsnJxMtEIVRZlmAZ7pYk8ZdM+Bwj1tDQImtcmxazECggQpaujA2KQTzoJ4x/Au+8Z5nG7PKeIr9dymbWFxnxyepei4OWaoHcLoCN0RO++2beQx7Fo6729D8T+v2F4QReDuS8RkMKK1xvv5PTfc2P/ptGtBkA6rkp6gKx6j6Fb5yTN4UPruWtnI9/GhmEaC5uTcfqSGbhBNNJbKG1Z8RU8Zvy4B/+LcmuGLuu2jNkr9rlU8NFn/KeVRi3kWFo0TGjqVb4oLa+ILS2NrNxYR2XiRW5eOjY9G5Sid8DXAArWz6vSqUTtQjilIK1BV4C4xwWKDB2/zjiDjLFjgZFzEaxwR/cF5Q6bpvWdaNowt4UEcSHB/FM1RnQ2DFeDH1lbjZoyKmqbCISrHFyUwJXF/sEbkoSU2Gs/7Y0fEr7LITHfNrWarBfDyLjne3bypBjm2vDDrmPdOm5bQuxU2/DxWa0tHPEuun1Bs4JYkFy2oV6JW0g16IngoIB2K3ufaQ5WZiDtlJcJI5sMcfOCYokzNXNrNqUOLSBHqS3eK+leIzRfzqnyS3mLMx8EsTO+oh5reo90+NNk6Z5gU7aMHo+at5MhNCEKw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(376002)(366004)(136003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(31686004)(6512007)(26005)(6506007)(2616005)(53546011)(38100700002)(86362001)(31696002)(966005)(4326008)(2906002)(6916009)(6486002)(41300700001)(83380400001)(8676002)(8936002)(5660300002)(66556008)(54906003)(36756003)(66946007)(316002)(478600001)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TzBCQUUyNUNTbGI0a1gzd0xDWGEyeTF6U0xBMWFnMmxhdURZNkduQU5MU1A3?=
 =?utf-8?B?Q1NlazROVG8vMWJzS05kak1ubjdTWWtRei9mMG9US2Rxa200WjhyTUVpQXlt?=
 =?utf-8?B?RHlULzY0ZEVVdFZBaFQybHlJYk9ZOGNKM21OR2YzZjJqZStjUEplVE5oZGJE?=
 =?utf-8?B?eFZMbTJ4Ylo4TkdmY3kwUE9BVDdTWE9CaTVBZWpwbVN1ZGt5Wjd6Vkg0b2dM?=
 =?utf-8?B?YmFhZmVFeGpCYmpHQktuclZobkxBVk82cEE3UndPdlYzQjRjaW1YUmFLTFFl?=
 =?utf-8?B?SUdjNFNyejRsckpMRC9lWE1Kd044OHZud2JJTGh4WmJYY2Q1RHIzN2EvLzBr?=
 =?utf-8?B?M25iY2dHdVlvMWMzYXRUZXlBOFlCVDFrdG9xck83TDBLalliK09LUTZkTk1Y?=
 =?utf-8?B?Y0d4amJiWGh0dURUcUVoOFhoMHAxSHVOcXNzWVRjTGtKSzhOQXgwS090dnFF?=
 =?utf-8?B?dGZ4eVRxTHExNHBNMXJsVkNIS3dWSnNmdmxxOWJ5TTRyVmpzdFhGbVdLeEth?=
 =?utf-8?B?em5JUXN2R2YvbGd5aE1EcGhYWFhtUzFyNVM4SFZJL3ExR3hYOERGMXJBZFZz?=
 =?utf-8?B?VEJYNDNpTHFHYnNEQm0yNGU2WU4wcmJ3ZmMwMXJFNklZN1ZtbTZ5VVVhOXBL?=
 =?utf-8?B?SnRvZm9FZExDUGNBRXN3QUoydE9Qa3pvVlNTY1EwMEgreXRsNmtycU82b25J?=
 =?utf-8?B?YUQrYiszcTEzTkxpNktORjdoQUFmdUlmSEFqTzRtQytwai8vT0Q4V05wb3hB?=
 =?utf-8?B?MnhIZ3JlbGhnZXhSR1ZXREJTdVhncnZ0MDBVbVpVdmRKcFVCaWRDT21GWWdK?=
 =?utf-8?B?aE52UTRjWTdlNXdBeHp0K2FqK1NnNmhOZlcvbE40K3pVWkdTZVNnd0d1ZHZL?=
 =?utf-8?B?aVdBb2JJMitKWnd6K3Q3LzZvZ21ZcURUdDdnT3B6bzYxckhhZ0ljbG0zSzZM?=
 =?utf-8?B?ZEVDdjRBK1VOTDFuemZSY1ZFeEJWQ2ZuRkNoQ21yUHdVVlREOUVnNnRmUENE?=
 =?utf-8?B?M0QyRVg1Rlg0V2Z5NGV4eGQxblJaaVM1RVRrYVlVOExwRytIYUowWEZaZU5s?=
 =?utf-8?B?eVpQVURvWXFSTnZTaHhpODlZbnoxQ1owcDhzdUhUckxWZ0xTdTJDNnFGSm14?=
 =?utf-8?B?dDdMaWYzYkY0Q1pNcnE2M2lyN2xUcU5lUkgvVFo0NmtQVWxYWENib1J0S2Jh?=
 =?utf-8?B?QmhEYm1MOFhiWk1SQ3dXMERLMG84MzRsVUx0aXRJNlZkZHlCbDJQVHhobDdB?=
 =?utf-8?B?OVFTNVhvTjZnNmJSV1VrL3BYZklYSDIvdGZLUTJzNDRFTFF2WktwSXBpQXps?=
 =?utf-8?B?cWxaZE1uTUl1RW5FcU5JaGd4VVk4clArSHpUeU41QVdZeWVKTEZPYlpaRWdn?=
 =?utf-8?B?SU9iMTRybytXNXlNYVo0Q0VMcERtaGdVbkpybHVvQ01qVFhYWStTM1pwdW5D?=
 =?utf-8?B?UFZDQzhwVVE3UHdMNCtVQXFaNEJ1Z09CdkFJS3VvcksyOWU4NU13bWRlU0J6?=
 =?utf-8?B?djFRZWE0VFNaY0pNcGFES2JSZHlmOXNrdEp4cXdMNUZZUHUycGd2aHVqaXNE?=
 =?utf-8?B?UGNaRVhJdm5CMUErblcvb21taS92TmY0QlNuV1hYaHUvZVR2TXEyMVJhRGw3?=
 =?utf-8?B?Kzl6T0FHeHp1dC9TUWNHMVJtcXJ0K2tvSWRvY3owb21raUxNbjNTaHQybWpV?=
 =?utf-8?B?N25DRmtXSnhocWh2TVJ5YjNaaDFXc1lzRzRXaHpPdHFRNVpUR2ZRRGxuS2NU?=
 =?utf-8?B?R0EwYWVNMEJOYzZjYUVzZmhhL0lacWhYbHJMZ2ZhSW1BVWttRm4xQWxOUzRs?=
 =?utf-8?B?WjlocG9Cb3NweGlRaXVMeGtKZjJyV1grZTJrcVRkeWpNd1JDZ00ydzVBQWdS?=
 =?utf-8?B?MDVaMGU4eE5WL1lNQXdISGVzcDBPcWU5ZTVnK2JMV1hta1VvV1BPWlRTUDI3?=
 =?utf-8?B?THJCWkVGRlVvY1c4L3AwVCthQUhiTU9QcTdPWGJidFd6anh4NWZGdXlLdE9V?=
 =?utf-8?B?RVJjWVVoVjFjbjcwWXlCd0JXRE1nanQyUkZFbmp4cjVYM3lDWEpoS0FFTEhS?=
 =?utf-8?B?akhWUHc5VmEzKzBUR0lmY2tuN1VzbThiOHpXbFhPRXNGRnVaSzROb2RHRlFP?=
 =?utf-8?Q?z/f8sR11Vr9FE8XKjdZjsonmy?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f8453dc-8669-4d73-bf3a-08dbe11721eb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 11:29:27.3812
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: I17hVAelygF+zyty7cEjCiUnA9YIzczUU0ufJ7I+OTQ3ixLONZpfCz9ScXZXaYM1C6BLmtjV6O1MRwbkHNpWgg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9276

On 08.11.2023 15:37, Andrew Cooper wrote:
> These 3 Kconfig docs were imported from Linux erroneously.  They are
> GPL-2.0-only in Linux, but have no SPDX tag and were placed in such a way to
> be included by the blanket statement saying that all RST files are CC-BY-4.0.
> 
> We should not be carrying a shadow copy of these docs.  They aren't even wired
> into our Sphinx docs, and anyone wanting to refer to Kconfig docs is going to
> look at the Linux docs anyway.  These, and more docs can be found at:
> 
>   https://www.kernel.org/doc/html/latest/kbuild/
> 
> which also have corrections vs the snapshot we took.

Imo this reference ...

> Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: George Dunlap <George.Dunlap@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Wei Liu <wl@xen.org>
> CC: Julien Grall <julien@xen.org>
> CC: Henry Wang <Henry.Wang@arm.com>
> ---
>  docs/misc/kconfig-language.rst       | 701 ---------------------------
>  docs/misc/kconfig-macro-language.rst | 247 ----------
>  docs/misc/kconfig.rst                | 304 ------------
>  3 files changed, 1252 deletions(-)
>  delete mode 100644 docs/misc/kconfig-language.rst
>  delete mode 100644 docs/misc/kconfig-macro-language.rst
>  delete mode 100644 docs/misc/kconfig.rst

... wants putting into, say, the last of these three files you delete, as
a replacement. I can't spot any other place where we would have such a
reference.

One problem I see with deleting our shadow copy is that by referring to
Linux'es doc, the wrong impression may arise that whatever new features
they invent we also support. Thoughts? (If nothing else, I'd expect this
aspect to be mentioned / justified in the description.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 12:05:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 12:05:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629636.981974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r13mh-00058E-S5; Thu, 09 Nov 2023 12:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629636.981974; Thu, 09 Nov 2023 12: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 1r13mh-000587-PG; Thu, 09 Nov 2023 12:05:19 +0000
Received: by outflank-mailman (input) for mailman id 629636;
 Thu, 09 Nov 2023 12:05: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 1r13mg-000581-BD
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 12:05: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 1r13me-0003nO-Qi; Thu, 09 Nov 2023 12:05:16 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236] helo=[10.95.133.28])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r13me-0002aL-J4; Thu, 09 Nov 2023 12: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=IAw60ygLiTw/1C+cAqlGzz7AMHzK8CC/Bj+6/k+o6nM=; b=wOVJKAUwAMo7Oe/yOqCTDPKKJP
	OAs6p3OLLQ10bqw/2wP5GUHtvYPwK4l6M61Zzx8dhqBeDcl2TClxCoryARLtiJC6hLddtkaH2vCpa
	WvgTz2w4A/XGaqkXfY5rTr6O8rQhHo8qG2FNp89n0jHErSDQ6e4hYGxdpBd6dnbF9hx0=;
Message-ID: <0e6c48d5-d108-44d9-bd6b-479d18044be2@xen.org>
Date: Thu, 9 Nov 2023 12:05:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 2/3] docs: make the docs for MISRA C:2012 Dir 4.1
 visible to ECLAIR
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, andrew.cooper3@citrix.com,
 xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 jbeulich@suse.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Henry Wang <Henry.Wang@arm.com>
References: <cover.1696231870.git.nicola.vetrini@bugseng.com>
 <fd60f0f3c777652bd305a97b559cb7ee23293e8d.1696231870.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2310021531430.2348112@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311071240240.3478774@ubuntu-linux-20-04-desktop>
 <0c853769-8d59-4ce4-95d3-8acefddd8ed8@xen.org>
 <791354c61840c8e37cd2ee3c99689236@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <791354c61840c8e37cd2ee3c99689236@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 08/11/2023 17:12, Nicola Vetrini wrote:
> On 2023-11-08 17:25, Julien Grall wrote:
>> Hi Stefano,
>>
>> On 07/11/2023 20:41, Stefano Stabellini wrote:
>>> +Julien, Andrew
>>>
>>> Julien and Andrew raised concerns on this patch on the Xen Matrix
>>> channel. Please provide further details.
>>
>> Thanks! It looks like I was already CCed but this likely got lost with 
>> all the MISRA patches...
>>
>> On Matrix, there was concerned raised that the documentation now have 
>> a dependency on C compiler and you are also build C files in docs.
>>
>> In addition to that, I have a few more comments.
>>
> 
> The .rst file was chosen to have a human-readable format for the runtime 
> failures
> documentation. The other option that is otherwise viable is having a 
> dummy .c or .h in
> the sources (in this case it would likely be under xen/).
> 
> The transformation of this file into a .c file could be done from xen's 
> Makefile of course,
> but I reckoned that would have been more difficult, as the Makefile for 
> the docs is
> far shorter

I understand that the Makefile for docs is shorter. However this seems 
to be the wrong place to "compile" a file.

I think it makes more sense to do it from xen/ as those deviations are 
only for the hypervisor. IOW they don't apply for the tools.

[....]

>>>>> +
>>>>> +all: $(TARGETS)
>>>>> +
>>>>> +# This Makefile will generate the object files indicated in 
>>>>> TARGETS by taking
>>>>> +# the corresponding .rst file, converting its content to a C block 
>>>>> comment and
>>>>> +# then compiling the resulting .c file. This is needed for the 
>>>>> file's content to
>>>>> +# be available when performing static analysis with ECLAIR on the 
>>>>> project.
>>
>> I am a bit lost with the explanation. The generated object will be 
>> empty. So why do you require to generate it?
>>
> 
> See above. The only requirement is that some intercepted toolchain 
> invocation happens
> and that the processed file has a comment block containing the strings 
> specified below.
> The resulting artifact isn't needed in any way.

Just to confirm, there is no way for Eclair to specify some extra file 
that don't require "compilation"?

> 
>> Furthermore, the content doesn't seem to follow a specific syntax (or 
>> at least it is not clear that it should follow one). So why do you 
>> need to expose the content to Eclair?
>>
> 
> Under the hood there's a regex matching the resulting comment block 
> against a set of default
> templates used to indicate that the project has some form of 
> documentation around runtime
> failures. The default templates are along these lines (the comment begin 
> and end markers
> need not be on the same line):
> 
> /* Documentation for MISRA C:2012 Dir 4.1: overflow <description> */
> 
> If the string is matched, then documentation for that particular 
> category of runtime
> failures is deemed present, otherwise a violation will be reported (one 
> for each category).
> Both the categories and format of the string to be matched can be 
> customized, but I'd like
> to avoid doing that.

Ok. The format should be documented at top of the rst file so a 
developper knows how to modify the file correctly.

> 
>>>>> +
>>>>> +# sed is used in place of cat to prevent occurrences of '*/'
>>>>> +# in the .rst from breaking the compilation
>>>>> +$(TARGETS:.o=.c): %.c: %.rst
>>>>> +    printf "/*\n\n" > $@.tmp
>>>>> +    sed -e 's|\*/|*//*|g' $< >> $@.tmp
>>>>> +    printf "\n\n*/\n" >> $@.tmp
>>>>> +    mv $@.tmp $@
>>>>> +
>>>>> +%.o: %.c
>>>>> +    $(CC) -std=c99 -c $< -o $@
>>
>> AFAICT, this will generate a file using the host compiler. This may be 
>> different from the compiler used to build Xen.
>>
>> So I will repeat myself, how all of this matters? Maybe it would be 
>> useful if you provide some documentation from Eclair.
>>
>> Cheers,
> 
> The only non-trivial bit is that the file 
> automation/eclair_analysis/ECLAIR/toolchain.ecl
> specifies some compilers (if this needs to be adjusted to something 
> other that $(CC), then I
> may need some additional guidance) and the c99 standard, hence if you 
> use a different
> compiler ECLAIR will complain that you didn't document the toolchain 
> assumptions according
> to D1.1 (which is incidentally why we created the file 
> C-language-toolchain.rst).

We should use the same/compiler as used by the hypervisor. I feel 
anything else is just a gross hack and may break in the long term. Hence 
why it makes a lot more sense to generate/"compile" the file from the 
hypervisor Makefile.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 12:13:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 12:13:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629642.981984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r13u5-00074f-K4; Thu, 09 Nov 2023 12:12:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629642.981984; Thu, 09 Nov 2023 12:12: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 1r13u5-00074Y-G8; Thu, 09 Nov 2023 12:12:57 +0000
Received: by outflank-mailman (input) for mailman id 629642;
 Thu, 09 Nov 2023 12:12: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 1r13u4-00074Q-0j
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 12:12: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 1r13u3-0003wL-KV; Thu, 09 Nov 2023 12:12:55 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236] helo=[10.95.133.28])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r13u3-00033d-Eu; Thu, 09 Nov 2023 12:12: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=h8UAZf+xsdb8pjY4Qr4xGSL61EbcPKpiPN3vjqCg+ow=; b=tHabmgWXzkzHo43cFLWzdFtIw9
	bkMXCqhktRWGd9bhrABGUbK5bYCEa4zk9rhORsB7dBAXPbGDst8ef0cGX6POP2RDOthHLDce5DQLd
	284EgqnBoRHTaUwF2ECrrEba1dn9N+5sPmqEukeyV0we6X1DdniBo2K6iDkwFL5wYtiU=;
Message-ID: <622cd2ce-1c01-40eb-bef3-064baddf49a7@xen.org>
Date: Thu, 9 Nov 2023 12:12:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 9/9] xen/arm: Map ITS doorbell register to IOMMU page
 tables.
Content-Language: en-GB
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Rahul Singh <rahul.singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231004145604.1085358-1-stewart.hildebrand@amd.com>
 <20231004145604.1085358-10-stewart.hildebrand@amd.com>
 <7123faae-562e-4e78-a5d2-18c5ccc1b7f6@xen.org>
 <a368fb39-f8c5-4238-803a-08e83d2c43e9@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a368fb39-f8c5-4238-803a-08e83d2c43e9@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 07/11/2023 20:10, Stewart Hildebrand wrote:
>>> +            ret = map_mmio_regions(its->d, gaddr_to_gfn(its->doorbell_address),
>>> +                           PFN_UP(ITS_DOORBELL_OFFSET),
>>> +                           maddr_to_mfn(its->doorbell_address));
>>
>>
>> A couple of remarks. Firstly, we know the ITS doorbell at domain
>> creation. So I think thish should be called from vgic_v3_its_init_virtual().
>>
>> Regardless that, any code related to device initialization belongs to
>> gicv3_its_map_guest_device().
> 
> How about calling it from a map_hwdom_extra_mappings() hook?
> For example see [1].

I don't think this is the correct place because sooner or later you will 
need the same mapping when enable the ITS for domUs. So I think the 
mapping should be part of vgic_v3_its_init_virtual().

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 12:56:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 12:56:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629646.981994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r14aA-0000cq-Tt; Thu, 09 Nov 2023 12:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629646.981994; Thu, 09 Nov 2023 12: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 1r14aA-0000ci-Pa; Thu, 09 Nov 2023 12:56:26 +0000
Received: by outflank-mailman (input) for mailman id 629646;
 Thu, 09 Nov 2023 12:56: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 1r14aA-0000cZ-G5; Thu, 09 Nov 2023 12:56: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 1r14aA-0004lp-9x; Thu, 09 Nov 2023 12:56: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 1r14a9-0008LO-OH; Thu, 09 Nov 2023 12:56:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r14a9-0006Lb-Np; Thu, 09 Nov 2023 12:56: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=X/3sQ7bzYRlfRAw+KU8ytcmjhUEtwyRSDXoqkW0SwMQ=; b=Z1RRySKP75f6qpGZp6NR6lJynS
	W7YjoSGn++m9bKZvpElc6faY273mHPzcu0cwCV8HpenCVh7zcD/1UZNPZVXbA2GF27vlxWVgCndEf
	tHfj2r4DzhRykp+OaaCKNUh77s6SZasL4/nPkfrr+u3JCsUtoq4i8ZD3BM1I5fVg1tZQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183718-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183718: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-armhf-armhf-libvirt:migrate-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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:hosts-allocate:starved:nonblocking
X-Osstest-Versions-This:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
X-Osstest-Versions-That:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Nov 2023 12:56:25 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 183712 pass in 183718
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install    fail pass in 183712

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop fail in 183712 blocked in 183718
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183712
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183712
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183712
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183712
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183712
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183712
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183712
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183712
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183712
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183712
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183712
 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      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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 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-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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-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-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-amd64-amd64-dom0pvh-xl-amd  3 hosts-allocate        starved in 183712 n/a

version targeted for testing:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
baseline version:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c

Last test of basis   183718  2023-11-09 01:54:18 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-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-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 Thu Nov 09 14:33:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 14:33:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629656.982003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r165w-0000FX-LV; Thu, 09 Nov 2023 14:33:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629656.982003; Thu, 09 Nov 2023 14:33: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 1r165w-0000FQ-Ix; Thu, 09 Nov 2023 14:33:20 +0000
Received: by outflank-mailman (input) for mailman id 629656;
 Thu, 09 Nov 2023 14:33: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=lPpZ=GW=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1r165u-00008n-KI
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 14:33:18 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ec123400-7f0c-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 15:33:17 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-9c53e8b7cf4so156751666b.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 06:33:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec123400-7f0c-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699540397; x=1700145197; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=p/p9yeW43NcSMER0YQpwehxYcbDOe/wAYZ9SJZyRksQ=;
        b=YYTRcXtzhUq5mEFFHTJnkYipzxFASCPYlUZ9mMtb5P0Oe06/lXrw2MLHC4ZsOBrnDb
         JMsq6g7V19QNxNCvZFSWc282D2RtnsMhlH7Dr950SR+tPy9UBm9R8ymWgjj3pJvtryd2
         wt3rt+BV8dLr5hN7I9dbpvKDgGCfF6rsgA3A6VC/0MpGpmG0Nhcvj/OFmw/Mb63mHQ70
         A2ie7ttvnjKM2iC1Y200SSfKJTk54IPibGLEy8+3DVol1Ekz5HXfR/ZpQOgpl5MKq7EN
         NXsDx0LrCKzVv3mu8XNZrOGwWNpYN+RyxjOa0rhHm3/+Gea/mpQcxnsLyjC/I1Wvm37n
         WNnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699540397; x=1700145197;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=p/p9yeW43NcSMER0YQpwehxYcbDOe/wAYZ9SJZyRksQ=;
        b=MAWWZgN0zmGdCgElsMNFemvfQD5heiGUhVXTAbMpwUGxxUH0Pu+HsPeYV0A4K0fcK+
         BPfRoy/lgQMe+QjyIkdcBHUPfRpUpcMaRtHhe8Dytn/HMUkPsi/DgTrbBV5MMtbzWgk4
         7BTG6JA2XFIo+jx6IOS6w68hr6jcUnuYd6PKqsexyfhlPbVsgzUcmkcb9FFnmqEQZhXK
         yC6MlIhOfEzBkG+UqFBjUOPM3GGEWwJmkDq8ua+rCpICcq6+YTCvEredC3YTPf2QkGr+
         TRba0gbRVh8qexXhGlURGqCA2h3kNB1cUXtffqz930uF6lQ+0PlMWL7ZrE947kEbbIKY
         zdvg==
X-Gm-Message-State: AOJu0YxR14o2JhSt4Vy7nnlGiqR0kwuNhuhQTXG6hfehx/b0H6JIOjN+
	m6My2TTJu3g96BTUU97BlZFxCdttea2fHKzy95oxhg==
X-Google-Smtp-Source: AGHT+IG357JpQyVxWaJjqbV8YiVbKX+wpl5yjOXXCxYoMHlCTyZk6gVT3AeKgF8otnbJuRZg7j8Xbtz/KkJPUM7pYnw=
X-Received: by 2002:a17:907:a0b:b0:9e2:8206:2ea9 with SMTP id
 bb11-20020a1709070a0b00b009e282062ea9mr3873060ejc.60.1699540396832; Thu, 09
 Nov 2023 06:33:16 -0800 (PST)
MIME-Version: 1.0
References: <20231107092149.404842-1-dwmw2@infradead.org> <20231107092149.404842-7-dwmw2@infradead.org>
In-Reply-To: <20231107092149.404842-7-dwmw2@infradead.org>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Thu, 9 Nov 2023 14:33:06 +0000
Message-ID: <CAFEAcA8McSqwXyAg1+9_DOjy5PU==FRja_gjkdXAAqjr7QtLQA@mail.gmail.com>
Subject: Re: [PULL 06/15] hw/xen: automatically assign device index to block devices
To: David Woodhouse <dwmw2@infradead.org>
Cc: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>, 
	Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, 
	Paul Durrant <paul@xen.org>, =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, 
	Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, 
	Jason Wang <jasowang@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>, qemu-block@nongnu.org, 
	xen-devel@lists.xenproject.org, kvm@vger.kernel.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 7 Nov 2023 at 09:24, David Woodhouse <dwmw2@infradead.org> wrote:
>
> From: David Woodhouse <dwmw@amazon.co.uk>
>
> There's no need to force the user to assign a vdev. We can automatically
> assign one, starting at xvda and searching until we find the first disk
> name that's unused.
>
> This means we can now allow '-drive if=3Dxen,file=3Dxxx' to work without =
an
> explicit separate -driver argument, just like if=3Dvirtio.
>
> Rip out the legacy handling from the xenpv machine, which was scribbling
> over any disks configured by the toolstack, and didn't work with anything
> but raw images.

Hi; Coverity points out an issue in this code (CID 1523906):

> +/*
> + * Find a free device name in the xvda =E2=86=92 xvdfan range and set it=
 in
> + * blockdev->props.vdev. Our definition of "free" is that there must
> + * be no other disk or partition with the same disk number.
> + *
> + * You are technically permitted to have all of hda, hda1, sda, sda1,
> + * xvda and xvda1 as *separate* PV block devices with separate backing
> + * stores. That doesn't make it a good idea. This code will skip xvda
> + * if *any* of those "conflicting" devices already exists.
> + *
> + * The limit of xvdfan (disk 4095) is fairly arbitrary just to avoid a
> + * stupidly sized bitmap, but Linux as of v6.6 doesn't support anything
> + * higher than that anyway.
> + */
> +static bool xen_block_find_free_vdev(XenBlockDevice *blockdev, Error **e=
rrp)
> +{
> +    XenBus *xenbus =3D XEN_BUS(qdev_get_parent_bus(DEVICE(blockdev)));
> +    unsigned long used_devs[BITS_TO_LONGS(MAX_AUTO_VDEV)];
> +    XenBlockVdev *vdev =3D &blockdev->props.vdev;
> +    char fe_path[XENSTORE_ABS_PATH_MAX + 1];
> +    char **existing_frontends;
> +    unsigned int nr_existing =3D 0;
> +    unsigned int vdev_nr;
> +    int i, disk =3D 0;
> +
> +    snprintf(fe_path, sizeof(fe_path), "/local/domain/%u/device/vbd",
> +             blockdev->xendev.frontend_id);
> +
> +    existing_frontends =3D qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, =
fe_path,
> +                                               &nr_existing);
> +    if (!existing_frontends && errno !=3D ENOENT) {

Here we check whether existing_frontends is NULL, implying it
might be NULL (and the && in the condition means we might not
take this error-exit path even if it is NULL)...

> +        error_setg_errno(errp, errno, "cannot read %s", fe_path);
> +        return false;
> +    }
> +
> +    memset(used_devs, 0, sizeof(used_devs));
> +    for (i =3D 0; i < nr_existing; i++) {
> +        if (qemu_strtoui(existing_frontends[i], NULL, 10, &vdev_nr)) {

...but here we deref existing_frontends, implying it can't be NULL.

> +            free(existing_frontends[i]);
> +            continue;
> +        }
> +
> +        free(existing_frontends[i]);
> +
> +        disk =3D vdev_to_diskno(vdev_nr);
> +        if (disk < 0 || disk >=3D MAX_AUTO_VDEV) {
> +            continue;
> +        }
> +
> +        set_bit(disk, used_devs);
> +    }
> +    free(existing_frontends);

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 14:40:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 14:40:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629660.982014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r16CO-0001F1-Bj; Thu, 09 Nov 2023 14:40:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629660.982014; Thu, 09 Nov 2023 14:40: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 1r16CO-0001Eu-8j; Thu, 09 Nov 2023 14:40:00 +0000
Received: by outflank-mailman (input) for mailman id 629660;
 Thu, 09 Nov 2023 14:39: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 1r16CM-0001Ek-7p; Thu, 09 Nov 2023 14:39: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 1r16CL-0007Eg-Sb; Thu, 09 Nov 2023 14: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 1r16CL-0002I2-JK; Thu, 09 Nov 2023 14:39:57 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r16CL-0008F7-Iq; Thu, 09 Nov 2023 14: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=DZlN/NqArZQtOcjAU379846pEJjwIZUIzAa3jCMYWLo=; b=rYsV8HW9ovDesL1TFJju+MdCsE
	uGZwoXEwoTclGz2X/ZULMzYaGIv+oB//4OuCpwfiRfYd/M6cb8cT4FlREjiqeezH33TRePM+OgF3S
	vTJjD1Y5C8MTLIa4PskMYlnJgXf0f0X2kKd2/CCdwykxRvSbG809cYapVlPW4NmFTvtc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183720-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183720: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=616f0d503707c2e3fbdbc397ccb16a822f584b03
X-Osstest-Versions-That:
    ovmf=bb18fb80abb9d35d01be5d693086a9ed4b9d65b5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Nov 2023 14:39:57 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 616f0d503707c2e3fbdbc397ccb16a822f584b03
baseline version:
 ovmf                 bb18fb80abb9d35d01be5d693086a9ed4b9d65b5

Last test of basis   183711  2023-11-08 03:11:06 Z    1 days
Testing same since   183720  2023-11-09 12:44:23 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jason Hsu <jasonx.hsu@intel.com>
  JasonX.Hsu <jasonx.hsu@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
   bb18fb80ab..616f0d5037  616f0d503707c2e3fbdbc397ccb16a822f584b03 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 14:52:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 14:52:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629667.982029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r16Ok-0004Iy-RK; Thu, 09 Nov 2023 14:52:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629667.982029; Thu, 09 Nov 2023 14:52: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 1r16Ok-0004ID-N4; Thu, 09 Nov 2023 14:52:46 +0000
Received: by outflank-mailman (input) for mailman id 629667;
 Thu, 09 Nov 2023 14:52: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=b7Ux=GW=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r16Oj-0004Dl-3C
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 14:52:45 +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 a2667d91-7f0f-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 15:52:42 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-9c603e2354fso199182566b.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 06:52:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2667d91-7f0f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699541561; x=1700146361; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :from:to:cc:subject:date:message-id:reply-to;
        bh=QChuKaTVNJC5tJXAqYjv1PeHlPETqcayoS15YgUGQjM=;
        b=jDVtVpqHQlUFmpur4o5d2jv3Ep3PTpTtsIkYPcKOe+v1uqk3ZKWVmttpkKfTTnQee+
         7F31h3oCLICWdjqZ1g4tKkWoGdrTo8jUYAAP55lfPB8IuBG06HeidHjwrg9NyKeede4S
         jFpk1c5fQ4o0VLlcGEVKeCFwcyPVjPAfXY4ik=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699541561; x=1700146361;
        h=to:subject:message-id:date:from:in-reply-to:references:mime-version
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=QChuKaTVNJC5tJXAqYjv1PeHlPETqcayoS15YgUGQjM=;
        b=DfO8BnFm9zrTuDymFDZgLzHs0BBM81fkaV4/pgq7970rQybs5Tq7EqsRvNGIsN7ckh
         2VLXSgCIBSz3G+8Jy7g2V7Io+3AVnrozUK+37BuJ69pZZhSblZHQOFT+OJaD+U27ojdH
         D3ERrMhd0IOmd90dxUgVg6GyoeFCrVnkbcP5WERmTBHmJxZ1ulg82ilH9N9v1KHs/BEv
         W3axkeOkYHP2H+cV99BWNHCJxIp2UQiNpdNs1dkUqlrG5amkLW1tFszVrvyvwvvOUryy
         HowPA9l+wommpwGMNGL9bfOXA8M7LBypuonzA39if/4p63/VGJu44p4yc/ewyfZtSxAu
         sgQQ==
X-Gm-Message-State: AOJu0YzPbrV+LA6jZthUUzn/aZioUTJi1yQYjLQV9EcE6R7w8tw0ws+j
	yQMhGrRRH8nQVoj2Pz3wCwPj6yMWvPpebCYqd8XihQ/zx+KL5hFvYsP88w==
X-Google-Smtp-Source: AGHT+IFfX2JhN+hOTzc0Bb+mqJe589E4i4MGtAKJGSWKGy5gNm37SVmx0T0GKrjQXos3h5OP13fzjJWV7bUSFH3X9BM=
X-Received: by 2002:a17:906:2258:b0:9a5:c38d:6b75 with SMTP id
 24-20020a170906225800b009a5c38d6b75mr9116623ejr.15.1699541561313; Thu, 09 Nov
 2023 06:52:41 -0800 (PST)
MIME-Version: 1.0
References: <CAO-mL=xE=-8RjeAOKumLfcSf=wu0OWLK0X1Lz2JMCefBXbnTfA@mail.gmail.com>
 <CAO-mL=xypwP+F2wLfqJ3L-F+Wtd_VDdaexXROHOmbyXVcTDzsw@mail.gmail.com>
In-Reply-To: <CAO-mL=xypwP+F2wLfqJ3L-F+Wtd_VDdaexXROHOmbyXVcTDzsw@mail.gmail.com>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Thu, 9 Nov 2023 14:52:05 +0000
Message-ID: <CAO-mL=xfvMbTfUyAa496GL1hSdaNqOWn74rZ9NNK1kWCs+6wjg@mail.gmail.com>
Subject: Re: Cambridge University Talk - 9th November 2023
To: xen-devel@lists.xenproject.org, xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000000b269c0609b95b09"

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

Hi all,

We start in 10 minutes!

Please see updated Zoom link:
https://cl-cam-ac-uk.zoom.us/j/97216272378?pwd=3DM2diTFhMTnppckJtNWhFVTBKK0=
REZz09

The session will also be recorded by the University of Cambridge.

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group


On Thu, Nov 9, 2023 at 10:11=E2=80=AFAM Kelly Choi <kelly.choi@cloud.com> w=
rote:

> Hey everyone,
>
> Just a reminder that we will be presenting a talk at the University of
> Cambridge today, followed by a Q&A!
>
> If you can't make it in person, you can join via Zoom here:
>
> Topic: Xen Project talk - University of Cambridge Time: Nov 9, 2023 03:00
> PM Universal Time UTC Join Zoom Meeting
> https://cloud.zoom.us/j/95208394179 Meeting ID: 952 0839 4179 --- One tap
> mobile +17209289299,,95208394179# US (Denver) +17866351003,,95208394179#
> US (Miami)
> Many thanks,
> Kelly Choi
>
> Open Source Community Manager
> XenServer, Cloud Software Group
>
>
> ---------- Forwarded message ---------
> From: Kelly Choi <kelly.choi@cloud.com>
> Date: Mon, Oct 30, 2023 at 5:54=E2=80=AFPM
> Subject: Cambridge University Talk - 9th November 2023
> To: <xen-announce@lists.xenproject.org>, <xen-users@lists.xenproject.org>=
,
> <xen-devel@lists.xenproject.org>
>
>
> Hello Xen Community!
>
> I'm excited to share that we will be presenting a talk at Cambridge
> University!
> This is free and open to everyone, including students and the public.
>
> Make sure to add this to your calendars and come along.
>
> *Date: Thursday 9th November 2023*
> *Time: 3 - 4pm *
>
> *Location: *
>
>
> *Computer LaboratoryWilliam Gates Building15 JJ Thomson Avenue*
>
> *Cambridge CB3 0FDhttps://www.cl.cam.ac.uk/directions/
> <https://www.cl.cam.ac.uk/directions/>  *
>
> Title: Navigating the Open Source Landscape: Insights from Ayan Kumar and
> Edwin Torok  <https://talks.cam.ac.uk/talk/index/205825>
>
> Join us for an illuminating seminar featuring two distinguished speakers,
> Ayan Kumar and Edwin Torok, who will delve into the intricate world of
> open-source projects.
>
> Ayan Kumar: In his engaging presentation, Ayan Kumar will be your guide
> through the inner workings of open-source projects, using the Xen
> hypervisor as a compelling example. With a keen focus on demystifying the
> nuances of open-source collaborations, Ayan will walk you through the
> step-by-step workflow for contributions, shedding light on the
> collaborative modes that fuel innovation. Get ready to be inspired by the
> fascinating ongoing developments in the Xen hypervisor. Ayan will also
> provide invaluable insights for newcomers, outlining promising avenues fo=
r
> their initial contributions. The session will culminate in a hands-on
> demonstration featuring a selection of noteworthy open-source projects.
>
> Edwin Torok: Edwin Torok will offer invaluable wisdom on the unique
> challenges of joining and maintaining a venerable, decade-old codebase,
> drawing from his extensive experience with the XAPI project. With a deep
> dive into the strategies and practices that sustain such a longstanding
> project, Edwin will equip you with the insights needed to navigate and
> contribute effectively to large-scale, established codebases.
>
> Don't miss this opportunity to gain firsthand knowledge from these two
> seasoned experts in the open-source arena. Join us for an enriching semin=
ar
> that promises to empower both beginners and seasoned developers alike.
>
> Many thanks,
> Kelly Choi
>
> Open Source Community Manager
> XenServer, Cloud Software Group
>

--0000000000000b269c0609b95b09
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<div><br></div><div>We start in 10 minutes!=C2=A0</=
div><div><br></div><div>Please see updated Zoom link:</div><div><a href=3D"=
https://cl-cam-ac-uk.zoom.us/j/97216272378?pwd=3DM2diTFhMTnppckJtNWhFVTBKK0=
REZz09" target=3D"_blank">https://cl-cam-ac-uk.zoom.us/j/97216272378?pwd=3D=
M2diTFhMTnppckJtNWhFVTBKK0REZz09</a></div><div><br></div><div>The session w=
ill also be recorded by the University of Cambridge.</div><div><br clear=3D=
"all"><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gma=
il_signature"><div dir=3D"ltr"><div>Many thanks,</div><div>Kelly Choi</div>=
<div><br></div><div><div style=3D"color:rgb(136,136,136)">Open Source Commu=
nity Manager</div><div style=3D"color:rgb(136,136,136)">XenServer, Cloud So=
ftware Group</div></div></div></div></div><br></div></div><br><div class=3D=
"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Nov 9, 2023 at =
10:11=E2=80=AFAM Kelly Choi &lt;<a href=3D"mailto:kelly.choi@cloud.com">kel=
ly.choi@cloud.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);p=
adding-left:1ex"><div dir=3D"ltr">Hey everyone,<div><br></div><div>Just a r=
eminder that we will be presenting a talk at the University of Cambridge to=
day,=C2=A0followed by a Q&amp;A!=C2=A0</div><div><br></div><div>If you can&=
#39;t make it in person, you can join via Zoom here:=C2=A0</div><div><br><s=
pan style=3D"color:rgb(0,0,0);font-family:&quot;Open Sans&quot;,sans-serif;=
font-size:13px">Topic: Xen Project talk - University of Cambridge
Time: Nov 9, 2023 03:00 PM Universal Time UTC

Join Zoom Meeting
</span><a href=3D"https://cloud.zoom.us/j/95208394179" style=3D"text-decora=
tion-line:none;font-family:&quot;Open Sans&quot;,sans-serif;font-size:13px"=
 target=3D"_blank">https://cloud.zoom.us/j/95208394179</a><span style=3D"co=
lor:rgb(0,0,0);font-family:&quot;Open Sans&quot;,sans-serif;font-size:13px"=
>

Meeting ID: 952 0839 4179

---

One tap mobile
</span><a href=3D"tel:+17209289299,,95208394179#" style=3D"text-decoration-=
line:none;font-family:&quot;Open Sans&quot;,sans-serif;font-size:13px" targ=
et=3D"_blank">+17209289299,,95208394179#</a><span style=3D"color:rgb(0,0,0)=
;font-family:&quot;Open Sans&quot;,sans-serif;font-size:13px"> US (Denver)
</span><a href=3D"tel:+17866351003,,95208394179#" style=3D"text-decoration-=
line:none;font-family:&quot;Open Sans&quot;,sans-serif;font-size:13px" targ=
et=3D"_blank">+17866351003,,95208394179#</a><span style=3D"color:rgb(0,0,0)=
;font-family:&quot;Open Sans&quot;,sans-serif;font-size:13px"> US (Miami)</=
span><br clear=3D"all"><div><div dir=3D"ltr" class=3D"gmail_signature"><div=
 dir=3D"ltr"><div>Many thanks,</div><div>Kelly Choi</div><div><br></div><di=
v><div style=3D"color:rgb(136,136,136)">Open Source Community Manager</div>=
<div style=3D"color:rgb(136,136,136)">XenServer, Cloud Software Group</div>=
</div></div></div></div><br><br><div class=3D"gmail_quote"><div dir=3D"ltr"=
 class=3D"gmail_attr">---------- Forwarded message ---------<br>From: <stro=
ng class=3D"gmail_sendername" dir=3D"auto">Kelly Choi</strong> <span dir=3D=
"auto">&lt;<a href=3D"mailto:kelly.choi@cloud.com" target=3D"_blank">kelly.=
choi@cloud.com</a>&gt;</span><br>Date: Mon, Oct 30, 2023 at 5:54=E2=80=AFPM=
<br>Subject: Cambridge University Talk - 9th November 2023<br>To:  &lt;<a h=
ref=3D"mailto:xen-announce@lists.xenproject.org" target=3D"_blank">xen-anno=
unce@lists.xenproject.org</a>&gt;,  &lt;<a href=3D"mailto:xen-users@lists.x=
enproject.org" target=3D"_blank">xen-users@lists.xenproject.org</a>&gt;,  &=
lt;<a href=3D"mailto:xen-devel@lists.xenproject.org" target=3D"_blank">xen-=
devel@lists.xenproject.org</a>&gt;<br></div><br><br><div dir=3D"ltr">Hello =
Xen Community! <br><br>I&#39;m excited to share that we will be presenting =
a talk at Cambridge University!=C2=A0<div>This is free and open to everyone=
, including students and the public. <br><br>Make sure to add this to your =
calendars and come along.<div><br></div><div><b>Date: Thursday 9th November=
 2023</b></div><div><b>Time: 3 - 4pm=C2=A0</b></div><div><b>Location:=C2=A0=
<br></b></div><div><b>Computer Laboratory<br>William Gates Building<br>15 J=
J Thomson Avenue</b></div><div><b>Cambridge CB3 0FD<br><a href=3D"https://w=
ww.cl.cam.ac.uk/directions/" target=3D"_blank">https://www.cl.cam.ac.uk/dir=
ections/</a>=C2=A0=C2=A0</b></div><div><br>Title: <a href=3D"https://talks.=
cam.ac.uk/talk/index/205825" target=3D"_blank">Navigating the Open Source L=
andscape: Insights from Ayan Kumar and Edwin Torok=C2=A0</a></div><div><br>=
</div><div>Join us for an illuminating seminar featuring two distinguished =
speakers, Ayan Kumar and Edwin Torok, who will delve into the intricate wor=
ld of open-source projects.=C2=A0<div><br></div><div>Ayan Kumar: In his eng=
aging presentation, Ayan Kumar will be your guide through the inner working=
s of open-source projects, using the Xen hypervisor as a compelling example=
. With a keen focus on demystifying the nuances of open-source collaboratio=
ns, Ayan will walk you through the step-by-step workflow for contributions,=
 shedding light on the collaborative modes that fuel innovation. Get ready =
to be inspired by the fascinating ongoing developments in the Xen hyperviso=
r. Ayan will also provide invaluable insights for newcomers, outlining prom=
ising avenues for their initial contributions. The session will culminate i=
n a hands-on demonstration featuring a selection of noteworthy open-source =
projects.=C2=A0</div><div><br></div><div>Edwin Torok: Edwin Torok will offe=
r invaluable wisdom on the unique challenges of joining and maintaining a v=
enerable, decade-old codebase, drawing from his extensive experience with t=
he XAPI project. With a deep dive into the strategies and practices that su=
stain such a longstanding project, Edwin will equip you with the insights n=
eeded to navigate and contribute effectively to large-scale, established co=
debases.=C2=A0</div><div><br></div><div>Don&#39;t miss this opportunity to =
gain firsthand knowledge from these two seasoned experts in the open-source=
 arena. Join us for an enriching seminar that promises to empower both begi=
nners and seasoned developers alike.<br><br></div><div>Many thanks,<br>Kell=
y Choi<br><br>Open Source Community Manager<br>XenServer, Cloud Software Gr=
oup<br></div></div></div></div>
</div></div></div>
</blockquote></div>

--0000000000000b269c0609b95b09--


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 14:56:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 14:56:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629690.982049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r16S0-0006Ss-94; Thu, 09 Nov 2023 14:56:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629690.982049; Thu, 09 Nov 2023 14: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 1r16S0-0006Sl-6P; Thu, 09 Nov 2023 14:56:08 +0000
Received: by outflank-mailman (input) for mailman id 629690;
 Thu, 09 Nov 2023 14:56: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=zBPi=GW=casper.srs.infradead.org=BATV+c182118e23cc89d32fc1+7382+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r16Ry-0006Sf-Og
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 14:56:07 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1882823a-7f10-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 15:56:00 +0100 (CET)
Received: from [2001:8b0:10b:5:e60c:fbc4:6b73:8eff]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r16Ra-007s7M-Hy; Thu, 09 Nov 2023 14:55: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: 1882823a-7f10-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=auS2LjEeF4h0JosRQb9R5fz698xA0HMt2OBKrkpfN9Q=; b=q+zbXVyQRKHP92uC4BVCir6LtQ
	d9jnuuxY4vDfycnvWPnc7p7EFtKyX0ti3xz29TpgfmQs7zHVA8fsppwjSJvJWfh9p5O9I3mCu21zp
	uBnGEjQW9wuM+zXj2tHVUfLga7jwyUHeDRNB46/k/ZhFrr9Q5hIRxspg6PJvNXnHUb6Ns7vK1atQa
	UoZUzvQVxgq+EWoLz49ZN86dbSry6FJ1Sz3DEMsohjGPswwgXsILXQAEX1tfo7mzcGlBwe9DVaNk9
	x+m+Fl4+eD5OlfAQMXxJ+bK7468KO+Yu6LVgK0m/7Z1vAQBY3HF5u/SbJ0ZeuDv79iHDdefc1Af1L
	SH94Ww4w==;
Message-ID: <182ebf38424dde713c28657f38c682d4398b4cd0.camel@infradead.org>
Subject: Re: [PULL 06/15] hw/xen: automatically assign device index to block
 devices
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>
Cc: qemu-devel@nongnu.org, Stefan Hajnoczi <stefanha@redhat.com>, Kevin Wolf
 <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau
 <marcandre.lureau@redhat.com>,  Paolo Bonzini <pbonzini@redhat.com>,
 "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Richard Henderson
 <richard.henderson@linaro.org>,  Eduardo Habkost <eduardo@habkost.net>,
 Jason Wang <jasowang@redhat.com>, Marcelo Tosatti <mtosatti@redhat.com>, 
 qemu-block@nongnu.org, xen-devel@lists.xenproject.org, kvm@vger.kernel.org
Date: Thu, 09 Nov 2023 14:55:42 +0000
In-Reply-To: <CAFEAcA8McSqwXyAg1+9_DOjy5PU==FRja_gjkdXAAqjr7QtLQA@mail.gmail.com>
References: <20231107092149.404842-1-dwmw2@infradead.org>
	 <20231107092149.404842-7-dwmw2@infradead.org>
	 <CAFEAcA8McSqwXyAg1+9_DOjy5PU==FRja_gjkdXAAqjr7QtLQA@mail.gmail.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-3tyVRXoskUPY+r8JF2BA"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-3tyVRXoskUPY+r8JF2BA
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, 2023-11-09 at 14:33 +0000, Peter Maydell wrote:
> On Tue, 7 Nov 2023 at 09:24, David Woodhouse <dwmw2@infradead.org> wrote:
> >=20
> > From: David Woodhouse <dwmw@amazon.co.uk>
> >=20
> > There's no need to force the user to assign a vdev. We can automaticall=
y
> > assign one, starting at xvda and searching until we find the first disk
> > name that's unused.
> >=20
> > This means we can now allow '-drive if=3Dxen,file=3Dxxx' to work withou=
t an
> > explicit separate -driver argument, just like if=3Dvirtio.
> >=20
> > Rip out the legacy handling from the xenpv machine, which was scribblin=
g
> > over any disks configured by the toolstack, and didn't work with anythi=
ng
> > but raw images.
>=20
> Hi; Coverity points out an issue in this code (CID 1523906):

Thanks! I think this one is a false positive, although I'm happy to
explore possible cleanups which make it clearer both to the human
reader and to Coverity.

> > +/*
> > + * Find a free device name in the xvda =E2=86=92 xvdfan range and set =
it in
> > + * blockdev->props.vdev. Our definition of "free" is that there must
> > + * be no other disk or partition with the same disk number.
> > + *
> > + * You are technically permitted to have all of hda, hda1, sda, sda1,
> > + * xvda and xvda1 as *separate* PV block devices with separate backing
> > + * stores. That doesn't make it a good idea. This code will skip xvda
> > + * if *any* of those "conflicting" devices already exists.
> > + *
> > + * The limit of xvdfan (disk 4095) is fairly arbitrary just to avoid a
> > + * stupidly sized bitmap, but Linux as of v6.6 doesn't support anythin=
g
> > + * higher than that anyway.
> > + */
> > +static bool xen_block_find_free_vdev(XenBlockDevice *blockdev, Error *=
*errp)
> > +{
> > +=C2=A0=C2=A0=C2=A0 XenBus *xenbus =3D XEN_BUS(qdev_get_parent_bus(DEVI=
CE(blockdev)));
> > +=C2=A0=C2=A0=C2=A0 unsigned long used_devs[BITS_TO_LONGS(MAX_AUTO_VDEV=
)];
> > +=C2=A0=C2=A0=C2=A0 XenBlockVdev *vdev =3D &blockdev->props.vdev;
> > +=C2=A0=C2=A0=C2=A0 char fe_path[XENSTORE_ABS_PATH_MAX + 1];
> > +=C2=A0=C2=A0=C2=A0 char **existing_frontends;
> > +=C2=A0=C2=A0=C2=A0 unsigned int nr_existing =3D 0;
> > +=C2=A0=C2=A0=C2=A0 unsigned int vdev_nr;
> > +=C2=A0=C2=A0=C2=A0 int i, disk =3D 0;
> > +
> > +=C2=A0=C2=A0=C2=A0 snprintf(fe_path, sizeof(fe_path), "/local/domain/%=
u/device/vbd",
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 blockdev->xendev.frontend_id);
> > +
> > +=C2=A0=C2=A0=C2=A0 existing_frontends =3D qemu_xen_xs_directory(xenbus=
->xsh, XBT_NULL, fe_path,
> > +=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=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 &nr_existing);
> > +=C2=A0=C2=A0=C2=A0 if (!existing_frontends && errno !=3D ENOENT) {
>=20
> Here we check whether existing_frontends is NULL, implying it
> might be NULL (and the && in the condition means we might not
> take this error-exit path even if it is NULL)...

True, but nr_existing will be zero in that case, and we'll never go
into the loop where existing_frontends[] is dereferenced.

I suppose we could add something like this. Would it help Coverity to
realise that it's a false positive?

    /*
     * If the directory didn't exist (the ENOENT case) then nr_existing
     * will still be zero, and the loop below won't dereference the
     * existing_frontends pointer which is NULL.
     */
    assert(existing_frontends || !nr_existing);


> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 error_setg_errno(errp, errn=
o, "cannot read %s", fe_path);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return false;
> > +=C2=A0=C2=A0=C2=A0 }
> > +
> > +=C2=A0=C2=A0=C2=A0 memset(used_devs, 0, sizeof(used_devs));
> > +=C2=A0=C2=A0=C2=A0 for (i =3D 0; i < nr_existing; i++) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (qemu_strtoui(existing_f=
rontends[i], NULL, 10, &vdev_nr)) {
>=20
> ...but here we deref existing_frontends, implying it can't be NULL.
>=20

If you got to this line of code, it can't.

> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 fre=
e(existing_frontends[i]);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 con=
tinue;
> > +=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 free(existing_frontends[i])=
;
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 disk =3D vdev_to_diskno(vde=
v_nr);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (disk < 0 || disk >=3D M=
AX_AUTO_VDEV) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 con=
tinue;
> > +=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 set_bit(disk, used_devs);
> > +=C2=A0=C2=A0=C2=A0 }
> > +=C2=A0=C2=A0=C2=A0 free(existing_frontends);


*Here* it can be NULL. But free(NULL) is fine.


--=-3tyVRXoskUPY+r8JF2BA
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTA5MTQ1NTQyWjAvBgkqhkiG9w0BCQQxIgQgvzEj25Au
WAa/Q0iN3eVRGmYL18FsfUo6ziEmOmhQx18wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBf9cT9L5CD7mqmGQ50dOOxNXayfIMRaUN6
rw+WsOJPvB7ISR1ymCEIGSW2mXwOc5N0wowVvPCVJjSSW8L9HtCNscvsAFIzrzDTyhZExh99Tyah
prKUk0TRmDykwhFLr8DKmX1TPCAaVD6eTL6kILt8O8Xtie0bN4OiLV5a8/dH0ULa5Gn52z+6XZdC
BVZu1n8JFAsjfuVMVB3LPdkAxknpwB5BldWCFjrz/TOSarrI73ahVxsgwBTNiWEdS/5/TUKXxsKd
lNbfbTG9rhUL+NLynV7FPVeuR6OOsw1qVyr/7Oxwany0vXkAKh+XqoO38vaZJo5E9mx7vFFD74s5
DvuWy8LvnAxAHgCPLeq4aMo2Gf11lSxVQFtGGiAsiGCuYQ4OdqpQcabrSIc4FBJfJJHrxNhDW4n1
NALdFoMASM49nCQyyIz6BflwUxofVcdTl4d2vRXO/1EIWkScs3dBGk7XW0YFTS7PJDj7g/wuZe3C
v8OBnYWfqjGIMFSVfTc7fu3tpSiiaD2gLyygf/LmAIOQ5IqT40amMm8ASHpiVw6LhZGxaoKADlJY
EDuDxgidmD85F1UgKiraWjjqTenZaLaBeHcY1CIchgi355MdoGQnOyDYmplZVZh4s+wGVcFkpaHR
NwISqw+MgjzLP5CzXFyow0r6wLWbQNx3vYOWly8s3wAAAAAAAA==


--=-3tyVRXoskUPY+r8JF2BA--


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 15:19:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 15:19:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629704.982063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r16op-00029l-EQ; Thu, 09 Nov 2023 15:19:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629704.982063; Thu, 09 Nov 2023 15:19: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 1r16op-00029e-AF; Thu, 09 Nov 2023 15:19:43 +0000
Received: by outflank-mailman (input) for mailman id 629704;
 Thu, 09 Nov 2023 15:19: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=D6XR=GW=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1r16on-000282-TR
 for xen-devel@lists.xen.org; Thu, 09 Nov 2023 15:19:42 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 634a34f3-7f13-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 16:19:36 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1r16oW-00083o-G6; Thu, 09 Nov 2023 15:19:24 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1r16oW-0002Ya-8S; Thu, 09 Nov 2023 15:19: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: 634a34f3-7f13-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=ZEutVzdIeUPcgntAOgXLi+2eBUss4X/z/scCbOSC0iI=; b=MS9z161nf62Q3AV86PcwyVO3pc
	zP+qcTAFWBYwX7mkzcNSA+1T8YLJu1gAQXE2ZtHz1YDVeF8+m4u3BrWj63gr2PCJyO7/La2sx8t7S
	cVxPA29kW3Y/RScP/vKoyYh4UewLLbX89EYvVCOLeqwnzOfhJwyXRC8AFZmOP80QQrrY=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 443 v4 (CVE-2023-34325,CVE-2022-4949) -
 Multiple vulnerabilities in libfsimage disk handling
Message-Id: <E1r16oW-0002Ya-8S@xenbits.xenproject.org>
Date: Thu, 09 Nov 2023 15:19:24 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

        Xen Security Advisory CVE-2023-34325,CVE-2022-4949 / XSA-443
                               version 4

	   Multiple vulnerabilities in libfsimage disk handling

UPDATES IN VERSION 4
====================

Added reference to CVE for upstream grub project.

ISSUE DESCRIPTION
=================

libfsimage contains parsing code for several filesystems, most of them based on
grub-legacy code.  libfsimage is used by pygrub to inspect guest disks.

Pygrub runs as the same user as the toolstack (root in a priviledged domain).

At least one issue has been reported to the Xen Security Team that allows an
attacker to trigger a stack buffer overflow in libfsimage.  After further
analisys the Xen Security Team is no longer confident in the suitability of
libfsimage when run against guest controlled input with super user priviledges.

In order to not affect current deployments that rely on pygrub patches are
provided in the resolution section of the advisory that allow running pygrub in
deprivileged mode.

CVE-2023-4949 refers to the original issue in the upstream grub
project ("An attacker with local access to a system (either through a
disk or external drive) can present a modified XFS partition to
grub-legacy in such a way to exploit a memory corruption in grub’s XFS
file system implementation.")  CVE-2023-34325 refers specifically to
the vulnerabilities in Xen's copy of libfsimage, which is decended
from a very old version of grub.

IMPACT
======

A guest using pygrub can escalate its privilege to that of the domain
construction tools (i.e., normally, to control of the host).

VULNERABLE SYSTEMS
==================

All Xen versions are affected.

MITIGATION
==========

Ensuring that guests do not use the pygrub bootloader will avoid this
vulnerability.

For cases where the PV guest is known to be 64bit, and uses grub2 as a
bootloader, pvgrub is a suitable alternative pygrub.

Running only HVM guests will avoid the vulnerability.

CREDITS
=======

This issue was discovered by Ferdinand Nölscher of Google.

RESOLUTION
==========

Applying patches 1-4 resolves the libfsimage XFS stack overflow.  Applying
patches 5-11 add additional functionality to pygrub and libxl in order to run
pygrub in a restricted environment using a specific UID.  Check xl.cfg man page
for information on the bootloader_restrict option.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa443/xsa443-??.patch          xen-unstable
xsa443/xsa443-4.17-??.patch     Xen 4.17.x
xsa443/xsa443-4.16-??.patch     Xen 4.16.x
xsa443/xsa443-4.15-??.patch     Xen 4.15.x

$ sha256sum xsa443*/*
d2b306efd35b1e207904f4142be724c4b70bacafae73f8efd5ee12570eb235a1  xsa443/xsa443-01.patch
3af33399c9966465ef65461c344fe0c3184a21a59830de8e3701122cda4f5483  xsa443/xsa443-02.patch
a260be66f02307143d9e776cac2b95735011056bebd718f175680f879563ea21  xsa443/xsa443-03.patch
170d511df3a3898ab0302f7e85bc63127cb0b75f73fdcd83104d3f358365f648  xsa443/xsa443-4.15-01.patch
16c942da8929ab240a8807da05d9b39bbabfb34adc4f5a63bc3d2d99568973b1  xsa443/xsa443-4.15-02.patch
13fd27948f5a5e21e1a8e0ddf218ec79b44f1fca55fdc371c932ad2dfa5c23ea  xsa443/xsa443-4.15-03.patch
1c865b8f0048483ea76e8cfbeba1536ca6cbde04c58a7e0d485d46c063046cf4  xsa443/xsa443-4.15-04.patch
115b9561c0ea8f155d60049a1e60a26e5261147b1d2672d8a96313aef5dd95e6  xsa443/xsa443-4.15-05.patch
5e54fe8fcd56de43e9035e57ed964cc677aca853b6f205f8576f56aa8f968bf0  xsa443/xsa443-4.15-06.patch
a0bd7681bd541b21d069cd025cfb97c798c35041300d5cc86f59941471b88b3c  xsa443/xsa443-4.15-07.patch
165795217669df7fa2f6bcb3eb820f93391c7d46422eb941ae359b43ce5c510f  xsa443/xsa443-4.15-08.patch
fe8be8c39f83567597ec5077bd6fe8b57324d5f6bed7f5cfbed7df43008f7835  xsa443/xsa443-4.15-09.patch
48936926848af29786490dd6db3dcfaf8ed8443f1d6ae896dcb95c930e2f4c21  xsa443/xsa443-4.15-10.patch
213b6a45198869869248b2e3c096fd327f7b0cccbd68faa12335134172c7c908  xsa443/xsa443-4.15-11.patch
170d511df3a3898ab0302f7e85bc63127cb0b75f73fdcd83104d3f358365f648  xsa443/xsa443-4.16-01.patch
16c942da8929ab240a8807da05d9b39bbabfb34adc4f5a63bc3d2d99568973b1  xsa443/xsa443-4.16-02.patch
13fd27948f5a5e21e1a8e0ddf218ec79b44f1fca55fdc371c932ad2dfa5c23ea  xsa443/xsa443-4.16-03.patch
1c865b8f0048483ea76e8cfbeba1536ca6cbde04c58a7e0d485d46c063046cf4  xsa443/xsa443-4.16-04.patch
115b9561c0ea8f155d60049a1e60a26e5261147b1d2672d8a96313aef5dd95e6  xsa443/xsa443-4.16-05.patch
5e54fe8fcd56de43e9035e57ed964cc677aca853b6f205f8576f56aa8f968bf0  xsa443/xsa443-4.16-06.patch
a0bd7681bd541b21d069cd025cfb97c798c35041300d5cc86f59941471b88b3c  xsa443/xsa443-4.16-07.patch
165795217669df7fa2f6bcb3eb820f93391c7d46422eb941ae359b43ce5c510f  xsa443/xsa443-4.16-08.patch
fe8be8c39f83567597ec5077bd6fe8b57324d5f6bed7f5cfbed7df43008f7835  xsa443/xsa443-4.16-09.patch
c9538238f4b636b7d093a59610b0eab2e7fd409a7cc9e988d006bee4c9b944f7  xsa443/xsa443-4.16-10.patch
62147de7a6b8a0073c7abe204da25e94871a32c4e3851f9feccf065976dc0267  xsa443/xsa443-4.16-11.patch
3322213303481fea964cf18e09b172d42caf21fe662c947ae6ddc0d8a1789fa1  xsa443/xsa443-4.17-01.patch
02cf94559407d693ef2dcfc47671b63f5f27019dd759bae3b5eaaa922fb4ea74  xsa443/xsa443-4.17-02.patch
189bef69380d6fbd7f571b2fe11908bac26a650e2b0d040e12b8c1266373f8c8  xsa443/xsa443-4.17-03.patch
cdb4f0dd47a6c8a759ae4ffd400f2ce72675b8779ca5576dea74e372ca77a021  xsa443/xsa443-4.17-04.patch
2147dcf95b1ad36da0961e2c084072fa9eb59486e9c0ed43444d268a17d01ee1  xsa443/xsa443-4.17-05.patch
a523273792a77fa55a7ab8925369edcb9d9ae50e8e9236be43f23e66aaa0f5e2  xsa443/xsa443-4.17-06.patch
54f97e027c80bfed8e3559ba8d89a69d2f4c48e1017c2090af029a01efe49741  xsa443/xsa443-4.17-07.patch
79667e7b8fbfa43f9135ba14ca364c63e1e7e7c3a68ae12513fe0204e57fa2bd  xsa443/xsa443-4.17-08.patch
11125e8da5f9e8313d943e6cbba2ff160478681c290b1413c88113292cca91c4  xsa443/xsa443-4.17-09.patch
113bbc294e10be4e8bf9855536114f875add033f790504f5c744b38da85d1b11  xsa443/xsa443-4.17-10.patch
7e5c7d4ef0b148ce9421c1856ced8b023bae22abc8e13956fe2832628c9d4189  xsa443/xsa443-4.17-11.patch
eb81bcbaf1016bce77696c1f2f5cd90b22e11eaa02d15c36c4c704b02981c50d  xsa443/xsa443-04.patch
5a099d8bf6a06e318f9ff92491ae4191fd2a3f8637a3c9616173bd2c7d56dbb6  xsa443/xsa443-05.patch
32733ee7dd1baf81338d50532876f211660dd65eb44f3ea121604b4c897ba30f  xsa443/xsa443-06.patch
9dfe8e70ed3007dbe46de75d6790baa770d91ac42d6abf642ca0f11b8b2d6b6d  xsa443/xsa443-07.patch
b8040da4d2ef22ed9f96e1648fa8c4682f82bce2d17bbdd9f2250c48f8858d10  xsa443/xsa443-08.patch
4b0fa7efd271de010943a2974e178d6e9c44c5181a94fc58ddd3f9ecd953d572  xsa443/xsa443-09.patch
f1b97a6ee5dc15a2b85ffde12242eb65d885b244419f34d737eb4489769f7224  xsa443/xsa443-10.patch
eafccd01a5458baf2a7f39b3e533fd3638d6f728078c437247dc712856422706  xsa443/xsa443-11.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmVM+FMMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZU7AIALBwYs4RFK+Q3YhyXBdKCFybnRJmj6qVgeJXZr7m
lk1SFdickZpnWrV7UL/BlLbR/PuYSqbkICYVoyVqMTOP/O5UHTxpZEP1q9SqAW0z
Jm/7oi1YNkBc/XKYUoEW2Z/k6S3dTzG+iNTB5Xn25DKZtzTb3YtaNCuMGqWYHDfz
Q/NHc3uLtxnXKjq/YMSs9ig2VEjRTphkiTe37mN0hFmnXDBlxtZHj1h5iw1DwO/o
W64C4H+3DlI5SA7yTY1EEVPWfNr+t/GqvafgAVMcy1WGutHTZVaMp814ctxXvAex
grTDK/k+jmEa12zCWodkf85EZNCisVnyBfoo5W9DJ2w2Udo=
=eeA0
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-01.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-01.patch"
Content-Transfer-Encoding: base64

RnJvbSBiMWE0YmIzNWI0ZmEwYmU2M2U4MDg1OTE5Yzc0NzU0NjllNjAyMGYx
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUwICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
MS8xMV0gbGliZnNpbWFnZS94ZnM6IFJlbW92ZSBkZWFkIGNvZGUKCnhmc19p
bmZvLmFnbm9sb2cgKGFuZCByZWxhdGVkIGNvZGUpIGFuZCBYRlNfSU5PX0FH
Qk5PX0JJVFMgYXJlIGRlYWQgY29kZQp0aGF0IHNlcnZlIG5vIHB1cnBvc2Uu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpT
aWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gVmFsbGVqbyA8YWxlamFuZHJvLnZh
bGxlam9AY2xvdWQuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPgotLS0KIHRvb2xzL2xpYmZzaW1hZ2UveGZzL2Zz
eXNfeGZzLmMgfCAxOCAtLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu
Z2VkLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJm
c2ltYWdlL3hmcy9mc3lzX3hmcy5jIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMv
ZnN5c194ZnMuYwppbmRleCBiOGI0Y2E5MjhjYzUuLjI0NWFlOWExOGIzYiAx
MDA2NDQKLS0tIGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwor
KysgYi90b29scy9saWJmc2ltYWdlL3hmcy9mc3lzX3hmcy5jCkBAIC0zOCw3
ICszOCw2IEBAIHN0cnVjdCB4ZnNfaW5mbyB7CiAJaW50IGJsa2xvZzsKIAlp
bnQgaW5vcGJsb2c7CiAJaW50IGFnYmxrbG9nOwotCWludCBhZ25vbG9nOwog
CXVuc2lnbmVkIGludCBuZXh0ZW50czsKIAl4ZnNfZGFkZHJfdCBuZXh0Owog
CXhmc19kYWRkcl90IGRhZGRyOwpAQCAtNjYsOSArNjUsNyBAQCBzdGF0aWMg
c3RydWN0IHhmc19pbmZvIHhmczsKIAogI2RlZmluZQlYRlNfSU5PX01BU0so
aykJCSgoeGZzX3VpbnQzMl90KSgoMVVMTCA8PCAoaykpIC0gMSkpCiAjZGVm
aW5lCVhGU19JTk9fT0ZGU0VUX0JJVFMJeGZzLmlub3BibG9nCi0jZGVmaW5l
CVhGU19JTk9fQUdCTk9fQklUUwl4ZnMuYWdibGtsb2cKICNkZWZpbmUJWEZT
X0lOT19BR0lOT19CSVRTCSh4ZnMuYWdibGtsb2cgKyB4ZnMuaW5vcGJsb2cp
Ci0jZGVmaW5lCVhGU19JTk9fQUdOT19CSVRTCXhmcy5hZ25vbG9nCiAKIHN0
YXRpYyBpbmxpbmUgeGZzX2FnYmxvY2tfdAogYWdpbm8yYWdibm8gKHhmc19h
Z2lub190IGFnaW5vKQpAQCAtMTUwLDIwICsxNDcsNiBAQCB4dF9sZW4gKHhm
c19ibWJ0X3JlY18zMl90ICpyKQogCXJldHVybiBsZTMyKHItPmwzKSAmIG1h
c2szMmxvKDIxKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQKLXhmc19oaWdo
Yml0MzIoeGZzX3VpbnQzMl90IHYpCi17Ci0JaW50IGk7Ci0KLQlpZiAoLS12
KSB7Ci0JCWZvciAoaSA9IDA7IGkgPCAzMTsgaSsrLCB2ID4+PSAxKSB7Ci0J
CQlpZiAodiA9PSAwKQotCQkJCXJldHVybiBpOwotCQl9Ci0JfQotCXJldHVy
biAwOwotfQotCiBzdGF0aWMgaW50CiBpc2lueHQgKHhmc19maWxlb2ZmX3Qg
a2V5LCB4ZnNfZmlsZW9mZl90IG9mZnNldCwgeGZzX2ZpbGJsa3NfdCBsZW4p
CiB7CkBAIC00NzAsNyArNDUzLDYgQEAgeGZzX21vdW50IChmc2lfZmlsZV90
ICpmZmksIGNvbnN0IGNoYXIgKm9wdGlvbnMpCiAKIAl4ZnMuaW5vcGJsb2cg
PSBzdXBlci5zYl9pbm9wYmxvZzsKIAl4ZnMuYWdibGtsb2cgPSBzdXBlci5z
Yl9hZ2Jsa2xvZzsKLQl4ZnMuYWdub2xvZyA9IHhmc19oaWdoYml0MzIgKGxl
MzIoc3VwZXIuc2JfYWdjb3VudCkpOwogCiAJeGZzLmJ0bm9kZV9wdHIwX29m
ZiA9CiAJCSgoeGZzLmJzaXplIC0gc2l6ZW9mKHhmc19idHJlZV9ibG9ja190
KSkgLwotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-02.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-02.patch"
Content-Transfer-Encoding: base64

RnJvbSA4MTBmNGE1M2MxYWQ5Y2U2MDIwN2IwYWJhNzFiYjdiZWMzYjFlYzhl
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUxICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Mi8xMV0gbGliZnNpbWFnZS94ZnM6IEFtZW5kIG1hc2szMmxvKCkgdG8gYWxs
b3cgdGhlIHZhbHVlIDMyCgphZ2Jsa2xvZyBjb3VsZCBwbGF1c2libHkgYmUg
MzIsIGJ1dCB0aGF0IHdvdWxkIG92ZXJmbG93IHRoaXMgc2hpZnQuClBlcmZv
cm0gdGhlIHNoaWZ0IGFzIFVMTCBhbmQgY2FzdCB0byB1MzIgYXQgdGhlIGVu
ZCBpbnN0ZWFkLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAy
My0zNDMyNQoKU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFs
ZWphbmRyby52YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB0b29scy9saWJmc2ltYWdl
L3hmcy9mc3lzX3hmcy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z
ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMv
bGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
eGZzL2ZzeXNfeGZzLmMKaW5kZXggMjQ1YWU5YTE4YjNiLi5kYmRiMjFkMTU2
ZTAgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZz
LmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwpAQCAt
NjEsNyArNjEsNyBAQCBzdGF0aWMgc3RydWN0IHhmc19pbmZvIHhmczsKICNk
ZWZpbmUgaW5vZGUJCSgoeGZzX2Rpbm9kZV90ICopKChjaGFyICopRlNZU19C
VUYgKyA4MTkyKSkKICNkZWZpbmUgaWNvcmUJCShpbm9kZS0+ZGlfY29yZSkK
IAotI2RlZmluZQltYXNrMzJsbyhuKQkoKCh4ZnNfdWludDMyX3QpMSA8PCAo
bikpIC0gMSkKKyNkZWZpbmUJbWFzazMybG8obikJKCh4ZnNfdWludDMyX3Qp
KCgxdWxsIDw8IChuKSkgLSAxKSkKIAogI2RlZmluZQlYRlNfSU5PX01BU0so
aykJCSgoeGZzX3VpbnQzMl90KSgoMVVMTCA8PCAoaykpIC0gMSkpCiAjZGVm
aW5lCVhGU19JTk9fT0ZGU0VUX0JJVFMJeGZzLmlub3BibG9nCi0tIAoyLjQy
LjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-03.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-03.patch"
Content-Transfer-Encoding: base64

RnJvbSBkZjhmYzE2ZjU3MDQ4N2RiOTM4NTg2ZGNkZjhlOWNiNjYyOGU5YjA2
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUyICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
My8xMV0gbGliZnNpbWFnZS94ZnM6IFNhbml0eS1jaGVjayB0aGUgc3VwZXJi
bG9jayBkdXJpbmcKIG1vdW50cwoKU2FuaXR5LWNoZWNrIHRoZSBYRlMgc3Vw
ZXJibG9jayBmb3Igd2VsbGZvcm1lZG5lc3MgYXQgdGhlIG1vdW50IGhhbmRs
ZXIuClRoaXMgZm9yY2VzIHB5Z3J1YiB0byBhYm9ydCBwYXJzaW5nIGEgcG90
ZW50aWFsbHkgbWFsZm9ybWVkIGZpbGVzeXN0ZW0gYW5kCmVuc3VyZXMgdGhl
IGludmFyaWFudHMgYXNzdW1lZCB0aHJvdWdob3V0IHRoZSByZXN0IG9mIHRo
ZSBjb2RlIGhvbGQuCgpBbHNvLCBkZXJpdmUgcGFyYW1ldGVycyBmcm9tIHBy
ZXZpb3VzbHkgc2FuaXRpemVkIHBhcmFtZXRlcnMgd2hlcmUgcG9zc2libGUK
KHJhdGhlciB0aGFuIHJlYWRpbmcgdGhlbSBvZmYgdGhlIHN1cGVyYmxvY2sp
CgpUaGUgY29kZSBkb2Vzbid0IHRyeSB0byBhdm9pZCBvdmVyZmxvd2luZyB0
aGUgZW5kIG9mIHRoZSBkaXNrLCBiZWNhdXNlCnRoYXQncyBhbiB1bmxpa2Vs
eSBhbmQgYmVuaWduIGVycm9yLiBQYXJhbWV0ZXJzIHVzZWQgaW4gY2FsY3Vs
YXRpb25zIG9mCnhmc19kYWRkcl90IChsaWtlIHRoZSByb290IGlub2RlIGlu
ZGV4KSBhcmVuJ3QgaW4gY3JpdGljYWwgbmVlZCBvZiBiZWluZwpzYW5pdGl6
ZWQuCgpUaGUgc2FuaXRpemF0aW9uIG9mIGFnYmxrbG9nIGlzIGJhc2ljYWxs
eSBjaGVja2luZyB0aGF0IG5vIG9idmlvdXMKb3ZlcmZsb3dzIGhhcHBlbiBv
biBhZ2Jsa2xvZywgYW5kIHRoZW4gZW5zdXJpbmcgYWdibG9ja3MgaXMgY29u
dGFpbmVkIGluCnRoZSByYW5nZSAoMl4oc2JfYWdibGtsb2ctMSksIDJec2Jf
YWdibGtsb2ddLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAy
My0zNDMyNQoKUmVwb3J0ZWQtYnk6IEZlcmRpbmFuZCBOw7Zsc2NoZXIgPG5v
ZWxzY2hlckBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8g
VmFsbGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpSZXZpZXdl
ZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KIHRv
b2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMgfCA0OCArKysrKysrKysr
KysrKysrKysrKysrKysrKy0tLS0tLS0KIHRvb2xzL2xpYmZzaW1hZ2UveGZz
L3hmcy5oICAgICAgfCAxMiArKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg
NTAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xp
YmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMKaW5kZXggZGJkYjIxZDE1NmUwLi5i
NWM1M2QzZDIyMmIgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZz
L2ZzeXNfeGZzLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194
ZnMuYwpAQCAtMTgsNiArMTgsNyBAQAogICovCiAKICNpbmNsdWRlIDxzdGRk
ZWYuaD4KKyNpbmNsdWRlIDxzdGRib29sLmg+CiAjaW5jbHVkZSA8eGVuZnNp
bWFnZV9ncnViLmg+CiAjaW5jbHVkZSAieGZzLmgiCiAKQEAgLTQzMSwyOSAr
NDMyLDU2IEBAIGZpcnN0X2RlbnRyeSAoZnNpX2ZpbGVfdCAqZmZpLCB4ZnNf
aW5vX3QgKmlubykKIAlyZXR1cm4gbmV4dF9kZW50cnkgKGZmaSwgaW5vKTsK
IH0KIAorc3RhdGljIGJvb2wKK3hmc19zYl9pc19pbnZhbGlkIChjb25zdCB4
ZnNfc2JfdCAqc3VwZXIpCit7CisJcmV0dXJuIChsZTMyKHN1cGVyLT5zYl9t
YWdpY251bSkgIT0gWEZTX1NCX01BR0lDKQorCSAgICB8fCAoKGxlMTYoc3Vw
ZXItPnNiX3ZlcnNpb25udW0pICYgWEZTX1NCX1ZFUlNJT05fTlVNQklUUykg
IT0KKwkgICAgICAgIFhGU19TQl9WRVJTSU9OXzQpCisJICAgIHx8IChzdXBl
ci0+c2JfaW5vZGVsb2cgPCBYRlNfU0JfSU5PREVMT0dfTUlOKQorCSAgICB8
fCAoc3VwZXItPnNiX2lub2RlbG9nID4gWEZTX1NCX0lOT0RFTE9HX01BWCkK
KwkgICAgfHwgKHN1cGVyLT5zYl9ibG9ja2xvZyA8IFhGU19TQl9CTE9DS0xP
R19NSU4pCisJICAgIHx8IChzdXBlci0+c2JfYmxvY2tsb2cgPiBYRlNfU0Jf
QkxPQ0tMT0dfTUFYKQorCSAgICB8fCAoc3VwZXItPnNiX2Jsb2NrbG9nIDwg
c3VwZXItPnNiX2lub2RlbG9nKQorCSAgICB8fCAoc3VwZXItPnNiX2FnYmxr
bG9nID4gWEZTX1NCX0FHQkxLTE9HX01BWCkKKwkgICAgfHwgKCgxdWxsIDw8
IHN1cGVyLT5zYl9hZ2Jsa2xvZykgPCBsZTMyKHN1cGVyLT5zYl9hZ2Jsb2Nr
cykpCisJICAgIHx8ICgoKDF1bGwgPDwgc3VwZXItPnNiX2FnYmxrbG9nKSA+
PiAxKSA+PQorCSAgICAgICAgbGUzMihzdXBlci0+c2JfYWdibG9ja3MpKQor
CSAgICB8fCAoKHN1cGVyLT5zYl9ibG9ja2xvZyArIHN1cGVyLT5zYl9kaXJi
bGtsb2cpID49CisJICAgICAgICBYRlNfU0JfRElSQkxLX05VTUJJVFMpOwor
fQorCiBzdGF0aWMgaW50CiB4ZnNfbW91bnQgKGZzaV9maWxlX3QgKmZmaSwg
Y29uc3QgY2hhciAqb3B0aW9ucykKIHsKIAl4ZnNfc2JfdCBzdXBlcjsKIAog
CWlmICghZGV2cmVhZCAoZmZpLCAwLCAwLCBzaXplb2Yoc3VwZXIpLCAoY2hh
ciAqKSZzdXBlcikKLQkgICAgfHwgKGxlMzIoc3VwZXIuc2JfbWFnaWNudW0p
ICE9IFhGU19TQl9NQUdJQykKLQkgICAgfHwgKChsZTE2KHN1cGVyLnNiX3Zl
cnNpb25udW0pIAotCQkmIFhGU19TQl9WRVJTSU9OX05VTUJJVFMpICE9IFhG
U19TQl9WRVJTSU9OXzQpICkgeworCSAgICB8fCB4ZnNfc2JfaXNfaW52YWxp
ZCgmc3VwZXIpKSB7CiAJCXJldHVybiAwOwogCX0KIAotCXhmcy5ic2l6ZSA9
IGxlMzIgKHN1cGVyLnNiX2Jsb2Nrc2l6ZSk7Ci0JeGZzLmJsa2xvZyA9IHN1
cGVyLnNiX2Jsb2NrbG9nOwotCXhmcy5iZGxvZyA9IHhmcy5ibGtsb2cgLSBT
RUNUT1JfQklUUzsKKwkvKgorCSAqIE5vdCBzYW5pdGl6ZWQuIEl0J3MgZXhj
bHVzaXZlbHkgdXNlZCB0byBnZW5lcmF0ZSBkaXNrIGFkZHJlc3NlcywKKwkg
KiBzbyBpdCdzIG5vdCBpbXBvcnRhbnQgZnJvbSBhIHNlY3VyaXR5IHN0YW5k
cG9pbnQuCisJICovCiAJeGZzLnJvb3Rpbm8gPSBsZTY0IChzdXBlci5zYl9y
b290aW5vKTsKLQl4ZnMuaXNpemUgPSBsZTE2IChzdXBlci5zYl9pbm9kZXNp
emUpOwotCXhmcy5hZ2Jsb2NrcyA9IGxlMzIgKHN1cGVyLnNiX2FnYmxvY2tz
KTsKLQl4ZnMuZGlyYnNpemUgPSB4ZnMuYnNpemUgPDwgc3VwZXIuc2JfZGly
YmxrbG9nOwogCi0JeGZzLmlub3BibG9nID0gc3VwZXIuc2JfaW5vcGJsb2c7
CisJLyoKKwkgKiBTYW5pdGl6ZWQgdG8gYmUgY29uc2lzdGVudCB3aXRoIGVh
Y2ggb3RoZXIsIG9ubHkgdXNlZCB0bworCSAqIGdlbmVyYXRlIGRpc2sgYWRk
cmVzc2VzLCBzbyBpdCdzIHNhZmUKKwkgKi8KKwl4ZnMuYWdibG9ja3MgPSBs
ZTMyIChzdXBlci5zYl9hZ2Jsb2Nrcyk7CiAJeGZzLmFnYmxrbG9nID0gc3Vw
ZXIuc2JfYWdibGtsb2c7CiAKKwkvKiBEZXJpdmVkIGZyb20gc2FuaXRpemVk
IHBhcmFtZXRlcnMgKi8KKwl4ZnMuYnNpemUgPSAxIDw8IHN1cGVyLnNiX2Js
b2NrbG9nOworCXhmcy5ibGtsb2cgPSBzdXBlci5zYl9ibG9ja2xvZzsKKwl4
ZnMuYmRsb2cgPSBzdXBlci5zYl9ibG9ja2xvZyAtIFNFQ1RPUl9CSVRTOwor
CXhmcy5pc2l6ZSA9IDEgPDwgc3VwZXIuc2JfaW5vZGVsb2c7CisJeGZzLmRp
cmJzaXplID0gMSA8PCAoc3VwZXIuc2JfYmxvY2tsb2cgKyBzdXBlci5zYl9k
aXJibGtsb2cpOworCXhmcy5pbm9wYmxvZyA9IHN1cGVyLnNiX2Jsb2NrbG9n
IC0gc3VwZXIuc2JfaW5vZGVsb2c7CisKIAl4ZnMuYnRub2RlX3B0cjBfb2Zm
ID0KIAkJKCh4ZnMuYnNpemUgLSBzaXplb2YoeGZzX2J0cmVlX2Jsb2NrX3Qp
KSAvCiAJCShzaXplb2YgKHhmc19ibWJ0X2tleV90KSArIHNpemVvZiAoeGZz
X2JtYnRfcHRyX3QpKSkKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYmZzaW1hZ2Uv
eGZzL3hmcy5oIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMveGZzLmgKaW5kZXgg
NDA2OTkyODFlNDRkLi5iODdlMzdkM2Q3ZTkgMTAwNjQ0Ci0tLSBhL3Rvb2xz
L2xpYmZzaW1hZ2UveGZzL3hmcy5oCisrKyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
eGZzL3hmcy5oCkBAIC0xMzQsNiArMTM0LDE4IEBAIHR5cGVkZWYgc3RydWN0
IHhmc19zYgogICAgICAgICB4ZnNfdWludDhfdCAgICAgICBzYl9kdW1teVs3
XTsgICAgLyogcGFkZGluZyAqLwogfSB4ZnNfc2JfdDsKIAorLyogQm91bmQg
dGFrZW4gZnJvbSB4ZnMuYyBpbiBHUlVCMi4gSXQgZG9lc24ndCBleGlzdCBp
biB0aGUgc3BlYyAqLworI2RlZmluZQlYRlNfU0JfRElSQkxLX05VTUJJVFMJ
MjcKKy8qIEltcGxpZWQgYnkgdGhlIFhGUyBzcGVjaWZpY2F0aW9uLiBUaGUg
bWluaW11bSBibG9jayBzaXplIGlzIDUxMiBvY3RldHMgKi8KKyNkZWZpbmUJ
WEZTX1NCX0JMT0NLTE9HX01JTgk5CisvKiBJbXBsaWVkIGJ5IHRoZSBYRlMg
c3BlY2lmaWNhdGlvbi4gVGhlIG1heGltdW0gYmxvY2sgc2l6ZSBpcyA2NTUz
NiBvY3RldHMgKi8KKyNkZWZpbmUJWEZTX1NCX0JMT0NLTE9HX01BWAkxNgor
LyogSW1wbGllZCBieSB0aGUgWEZTIHNwZWNpZmljYXRpb24uIFRoZSBtaW5p
bXVtIGlub2RlIHNpemUgaXMgMjU2IG9jdGV0cyAqLworI2RlZmluZQlYRlNf
U0JfSU5PREVMT0dfTUlOCTgKKy8qIEltcGxpZWQgYnkgdGhlIFhGUyBzcGVj
aWZpY2F0aW9uLiBUaGUgbWF4aW11bSBpbm9kZSBzaXplIGlzIDIwNDggb2N0
ZXRzICovCisjZGVmaW5lCVhGU19TQl9JTk9ERUxPR19NQVgJMTEKKy8qIEhp
Z2ggYm91bmQgZm9yIHNiX2FnYmxrbG9nICovCisjZGVmaW5lCVhGU19TQl9B
R0JMS0xPR19NQVgJMzIKIAogLyogdGhvc2UgYXJlIGZyb20geGZzX2J0cmVl
LmggKi8KIAotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-01.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-01.patch"
Content-Transfer-Encoding: base64

RnJvbSBjNGQ1OTdmNjM4MzJhNTNiYmIxYjgyNmFmN2E0Njc3ZTQwZTlmZGVk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUwICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
MS8xMV0gbGliZnNpbWFnZS94ZnM6IFJlbW92ZSBkZWFkIGNvZGUKCnhmc19p
bmZvLmFnbm9sb2cgKGFuZCByZWxhdGVkIGNvZGUpIGFuZCBYRlNfSU5PX0FH
Qk5PX0JJVFMgYXJlIGRlYWQgY29kZQp0aGF0IHNlcnZlIG5vIHB1cnBvc2Uu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpT
aWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gVmFsbGVqbyA8YWxlamFuZHJvLnZh
bGxlam9AY2xvdWQuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPgotLS0KIHRvb2xzL2xpYmZzaW1hZ2UveGZzL2Zz
eXNfeGZzLmMgfCAxOCAtLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu
Z2VkLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJm
c2ltYWdlL3hmcy9mc3lzX3hmcy5jIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMv
ZnN5c194ZnMuYwppbmRleCBkNzM1YTg4ZTU1ZjMuLjI4MDA2OTlmNTk4NSAx
MDA2NDQKLS0tIGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwor
KysgYi90b29scy9saWJmc2ltYWdlL3hmcy9mc3lzX3hmcy5jCkBAIC0zNyw3
ICszNyw2IEBAIHN0cnVjdCB4ZnNfaW5mbyB7CiAJaW50IGJsa2xvZzsKIAlp
bnQgaW5vcGJsb2c7CiAJaW50IGFnYmxrbG9nOwotCWludCBhZ25vbG9nOwog
CXVuc2lnbmVkIGludCBuZXh0ZW50czsKIAl4ZnNfZGFkZHJfdCBuZXh0Owog
CXhmc19kYWRkcl90IGRhZGRyOwpAQCAtNjUsOSArNjQsNyBAQCBzdGF0aWMg
c3RydWN0IHhmc19pbmZvIHhmczsKIAogI2RlZmluZQlYRlNfSU5PX01BU0so
aykJCSgoeGZzX3VpbnQzMl90KSgoMVVMTCA8PCAoaykpIC0gMSkpCiAjZGVm
aW5lCVhGU19JTk9fT0ZGU0VUX0JJVFMJeGZzLmlub3BibG9nCi0jZGVmaW5l
CVhGU19JTk9fQUdCTk9fQklUUwl4ZnMuYWdibGtsb2cKICNkZWZpbmUJWEZT
X0lOT19BR0lOT19CSVRTCSh4ZnMuYWdibGtsb2cgKyB4ZnMuaW5vcGJsb2cp
Ci0jZGVmaW5lCVhGU19JTk9fQUdOT19CSVRTCXhmcy5hZ25vbG9nCiAKIHN0
YXRpYyBpbmxpbmUgeGZzX2FnYmxvY2tfdAogYWdpbm8yYWdibm8gKHhmc19h
Z2lub190IGFnaW5vKQpAQCAtMTQ5LDIwICsxNDYsNiBAQCB4dF9sZW4gKHhm
c19ibWJ0X3JlY18zMl90ICpyKQogCXJldHVybiBsZTMyKHItPmwzKSAmIG1h
c2szMmxvKDIxKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQKLXhmc19oaWdo
Yml0MzIoeGZzX3VpbnQzMl90IHYpCi17Ci0JaW50IGk7Ci0KLQlpZiAoLS12
KSB7Ci0JCWZvciAoaSA9IDA7IGkgPCAzMTsgaSsrLCB2ID4+PSAxKSB7Ci0J
CQlpZiAodiA9PSAwKQotCQkJCXJldHVybiBpOwotCQl9Ci0JfQotCXJldHVy
biAwOwotfQotCiBzdGF0aWMgaW50CiBpc2lueHQgKHhmc19maWxlb2ZmX3Qg
a2V5LCB4ZnNfZmlsZW9mZl90IG9mZnNldCwgeGZzX2ZpbGJsa3NfdCBsZW4p
CiB7CkBAIC00NzIsNyArNDU1LDYgQEAgeGZzX21vdW50IChmc2lfZmlsZV90
ICpmZmksIGNvbnN0IGNoYXIgKm9wdGlvbnMpCiAKIAl4ZnMuaW5vcGJsb2cg
PSBzdXBlci5zYl9pbm9wYmxvZzsKIAl4ZnMuYWdibGtsb2cgPSBzdXBlci5z
Yl9hZ2Jsa2xvZzsKLQl4ZnMuYWdub2xvZyA9IHhmc19oaWdoYml0MzIgKGxl
MzIoc3VwZXIuc2JfYWdjb3VudCkpOwogCiAJeGZzLmJ0bm9kZV9wdHIwX29m
ZiA9CiAJCSgoeGZzLmJzaXplIC0gc2l6ZW9mKHhmc19idHJlZV9ibG9ja190
KSkgLwotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-02.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-02.patch"
Content-Transfer-Encoding: base64

RnJvbSBmNzViMGE3MGRhMzkyNjcyZmI3ZDlmZWVkMmE5ZTk1MTVkNzRkZjJj
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUxICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Mi8xMV0gbGliZnNpbWFnZS94ZnM6IEFtZW5kIG1hc2szMmxvKCkgdG8gYWxs
b3cgdGhlIHZhbHVlIDMyCgphZ2Jsa2xvZyBjb3VsZCBwbGF1c2libHkgYmUg
MzIsIGJ1dCB0aGF0IHdvdWxkIG92ZXJmbG93IHRoaXMgc2hpZnQuClBlcmZv
cm0gdGhlIHNoaWZ0IGFzIFVMTCBhbmQgY2FzdCB0byB1MzIgYXQgdGhlIGVu
ZCBpbnN0ZWFkLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAy
My0zNDMyNQoKU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFs
ZWphbmRyby52YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB0b29scy9saWJmc2ltYWdl
L3hmcy9mc3lzX3hmcy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z
ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMv
bGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
eGZzL2ZzeXNfeGZzLmMKaW5kZXggMjgwMDY5OWY1OTg1Li40NzIwYmI0NTA1
YzggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZz
LmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwpAQCAt
NjAsNyArNjAsNyBAQCBzdGF0aWMgc3RydWN0IHhmc19pbmZvIHhmczsKICNk
ZWZpbmUgaW5vZGUJCSgoeGZzX2Rpbm9kZV90ICopKChjaGFyICopRlNZU19C
VUYgKyA4MTkyKSkKICNkZWZpbmUgaWNvcmUJCShpbm9kZS0+ZGlfY29yZSkK
IAotI2RlZmluZQltYXNrMzJsbyhuKQkoKCh4ZnNfdWludDMyX3QpMSA8PCAo
bikpIC0gMSkKKyNkZWZpbmUJbWFzazMybG8obikJKCh4ZnNfdWludDMyX3Qp
KCgxdWxsIDw8IChuKSkgLSAxKSkKIAogI2RlZmluZQlYRlNfSU5PX01BU0so
aykJCSgoeGZzX3VpbnQzMl90KSgoMVVMTCA8PCAoaykpIC0gMSkpCiAjZGVm
aW5lCVhGU19JTk9fT0ZGU0VUX0JJVFMJeGZzLmlub3BibG9nCi0tIAoyLjQy
LjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-03.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-03.patch"
Content-Transfer-Encoding: base64

RnJvbSAyNWZhZTIzYjMyZWU0ZDk5MGFlMTEzNjhlZTIxZTI4ZTY2ZGJmYTI1
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUyICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
My8xMV0gbGliZnNpbWFnZS94ZnM6IFNhbml0eS1jaGVjayB0aGUgc3VwZXJi
bG9jayBkdXJpbmcKIG1vdW50cwoKU2FuaXR5LWNoZWNrIHRoZSBYRlMgc3Vw
ZXJibG9jayBmb3Igd2VsbGZvcm1lZG5lc3MgYXQgdGhlIG1vdW50IGhhbmRs
ZXIuClRoaXMgZm9yY2VzIHB5Z3J1YiB0byBhYm9ydCBwYXJzaW5nIGEgcG90
ZW50aWFsbHkgbWFsZm9ybWVkIGZpbGVzeXN0ZW0gYW5kCmVuc3VyZXMgdGhl
IGludmFyaWFudHMgYXNzdW1lZCB0aHJvdWdob3V0IHRoZSByZXN0IG9mIHRo
ZSBjb2RlIGhvbGQuCgpBbHNvLCBkZXJpdmUgcGFyYW1ldGVycyBmcm9tIHBy
ZXZpb3VzbHkgc2FuaXRpemVkIHBhcmFtZXRlcnMgd2hlcmUgcG9zc2libGUK
KHJhdGhlciB0aGFuIHJlYWRpbmcgdGhlbSBvZmYgdGhlIHN1cGVyYmxvY2sp
CgpUaGUgY29kZSBkb2Vzbid0IHRyeSB0byBhdm9pZCBvdmVyZmxvd2luZyB0
aGUgZW5kIG9mIHRoZSBkaXNrLCBiZWNhdXNlCnRoYXQncyBhbiB1bmxpa2Vs
eSBhbmQgYmVuaWduIGVycm9yLiBQYXJhbWV0ZXJzIHVzZWQgaW4gY2FsY3Vs
YXRpb25zIG9mCnhmc19kYWRkcl90IChsaWtlIHRoZSByb290IGlub2RlIGlu
ZGV4KSBhcmVuJ3QgaW4gY3JpdGljYWwgbmVlZCBvZiBiZWluZwpzYW5pdGl6
ZWQuCgpUaGUgc2FuaXRpemF0aW9uIG9mIGFnYmxrbG9nIGlzIGJhc2ljYWxs
eSBjaGVja2luZyB0aGF0IG5vIG9idmlvdXMKb3ZlcmZsb3dzIGhhcHBlbiBv
biBhZ2Jsa2xvZywgYW5kIHRoZW4gZW5zdXJpbmcgYWdibG9ja3MgaXMgY29u
dGFpbmVkIGluCnRoZSByYW5nZSAoMl4oc2JfYWdibGtsb2ctMSksIDJec2Jf
YWdibGtsb2ddLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAy
My0zNDMyNQoKUmVwb3J0ZWQtYnk6IEZlcmRpbmFuZCBOw7Zsc2NoZXIgPG5v
ZWxzY2hlckBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8g
VmFsbGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpSZXZpZXdl
ZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KIHRv
b2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMgfCA0OCArKysrKysrKysr
KysrKysrKysrKysrKysrKy0tLS0tLS0KIHRvb2xzL2xpYmZzaW1hZ2UveGZz
L3hmcy5oICAgICAgfCAxMiArKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg
NTAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xp
YmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMKaW5kZXggNDcyMGJiNDUwNWM4Li5l
NGViN2UxZWUyNmYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZz
L2ZzeXNfeGZzLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194
ZnMuYwpAQCAtMTcsNiArMTcsNyBAQAogICogIGFsb25nIHdpdGggdGhpcyBw
cm9ncmFtOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu
c2VzLz4uCiAgKi8KIAorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KICNpbmNsdWRl
IDx4ZW5mc2ltYWdlX2dydWIuaD4KICNpbmNsdWRlICJ4ZnMuaCIKIApAQCAt
NDMzLDI5ICs0MzQsNTYgQEAgZmlyc3RfZGVudHJ5IChmc2lfZmlsZV90ICpm
ZmksIHhmc19pbm9fdCAqaW5vKQogCXJldHVybiBuZXh0X2RlbnRyeSAoZmZp
LCBpbm8pOwogfQogCitzdGF0aWMgYm9vbAoreGZzX3NiX2lzX2ludmFsaWQg
KGNvbnN0IHhmc19zYl90ICpzdXBlcikKK3sKKwlyZXR1cm4gKGxlMzIoc3Vw
ZXItPnNiX21hZ2ljbnVtKSAhPSBYRlNfU0JfTUFHSUMpCisJICAgIHx8ICgo
bGUxNihzdXBlci0+c2JfdmVyc2lvbm51bSkgJiBYRlNfU0JfVkVSU0lPTl9O
VU1CSVRTKSAhPQorCSAgICAgICAgWEZTX1NCX1ZFUlNJT05fNCkKKwkgICAg
fHwgKHN1cGVyLT5zYl9pbm9kZWxvZyA8IFhGU19TQl9JTk9ERUxPR19NSU4p
CisJICAgIHx8IChzdXBlci0+c2JfaW5vZGVsb2cgPiBYRlNfU0JfSU5PREVM
T0dfTUFYKQorCSAgICB8fCAoc3VwZXItPnNiX2Jsb2NrbG9nIDwgWEZTX1NC
X0JMT0NLTE9HX01JTikKKwkgICAgfHwgKHN1cGVyLT5zYl9ibG9ja2xvZyA+
IFhGU19TQl9CTE9DS0xPR19NQVgpCisJICAgIHx8IChzdXBlci0+c2JfYmxv
Y2tsb2cgPCBzdXBlci0+c2JfaW5vZGVsb2cpCisJICAgIHx8IChzdXBlci0+
c2JfYWdibGtsb2cgPiBYRlNfU0JfQUdCTEtMT0dfTUFYKQorCSAgICB8fCAo
KDF1bGwgPDwgc3VwZXItPnNiX2FnYmxrbG9nKSA8IGxlMzIoc3VwZXItPnNi
X2FnYmxvY2tzKSkKKwkgICAgfHwgKCgoMXVsbCA8PCBzdXBlci0+c2JfYWdi
bGtsb2cpID4+IDEpID49CisJICAgICAgICBsZTMyKHN1cGVyLT5zYl9hZ2Js
b2NrcykpCisJICAgIHx8ICgoc3VwZXItPnNiX2Jsb2NrbG9nICsgc3VwZXIt
PnNiX2RpcmJsa2xvZykgPj0KKwkgICAgICAgIFhGU19TQl9ESVJCTEtfTlVN
QklUUyk7Cit9CisKIHN0YXRpYyBpbnQKIHhmc19tb3VudCAoZnNpX2ZpbGVf
dCAqZmZpLCBjb25zdCBjaGFyICpvcHRpb25zKQogewogCXhmc19zYl90IHN1
cGVyOwogCiAJaWYgKCFkZXZyZWFkIChmZmksIDAsIDAsIHNpemVvZihzdXBl
ciksIChjaGFyICopJnN1cGVyKQotCSAgICB8fCAobGUzMihzdXBlci5zYl9t
YWdpY251bSkgIT0gWEZTX1NCX01BR0lDKQotCSAgICB8fCAoKGxlMTYoc3Vw
ZXIuc2JfdmVyc2lvbm51bSkgCi0JCSYgWEZTX1NCX1ZFUlNJT05fTlVNQklU
UykgIT0gWEZTX1NCX1ZFUlNJT05fNCkgKSB7CisJICAgIHx8IHhmc19zYl9p
c19pbnZhbGlkKCZzdXBlcikpIHsKIAkJcmV0dXJuIDA7CiAJfQogCi0JeGZz
LmJzaXplID0gbGUzMiAoc3VwZXIuc2JfYmxvY2tzaXplKTsKLQl4ZnMuYmxr
bG9nID0gc3VwZXIuc2JfYmxvY2tsb2c7Ci0JeGZzLmJkbG9nID0geGZzLmJs
a2xvZyAtIFNFQ1RPUl9CSVRTOworCS8qCisJICogTm90IHNhbml0aXplZC4g
SXQncyBleGNsdXNpdmVseSB1c2VkIHRvIGdlbmVyYXRlIGRpc2sgYWRkcmVz
c2VzLAorCSAqIHNvIGl0J3Mgbm90IGltcG9ydGFudCBmcm9tIGEgc2VjdXJp
dHkgc3RhbmRwb2ludC4KKwkgKi8KIAl4ZnMucm9vdGlubyA9IGxlNjQgKHN1
cGVyLnNiX3Jvb3Rpbm8pOwotCXhmcy5pc2l6ZSA9IGxlMTYgKHN1cGVyLnNi
X2lub2Rlc2l6ZSk7Ci0JeGZzLmFnYmxvY2tzID0gbGUzMiAoc3VwZXIuc2Jf
YWdibG9ja3MpOwotCXhmcy5kaXJic2l6ZSA9IHhmcy5ic2l6ZSA8PCBzdXBl
ci5zYl9kaXJibGtsb2c7CiAKLQl4ZnMuaW5vcGJsb2cgPSBzdXBlci5zYl9p
bm9wYmxvZzsKKwkvKgorCSAqIFNhbml0aXplZCB0byBiZSBjb25zaXN0ZW50
IHdpdGggZWFjaCBvdGhlciwgb25seSB1c2VkIHRvCisJICogZ2VuZXJhdGUg
ZGlzayBhZGRyZXNzZXMsIHNvIGl0J3Mgc2FmZQorCSAqLworCXhmcy5hZ2Js
b2NrcyA9IGxlMzIgKHN1cGVyLnNiX2FnYmxvY2tzKTsKIAl4ZnMuYWdibGts
b2cgPSBzdXBlci5zYl9hZ2Jsa2xvZzsKIAorCS8qIERlcml2ZWQgZnJvbSBz
YW5pdGl6ZWQgcGFyYW1ldGVycyAqLworCXhmcy5ic2l6ZSA9IDEgPDwgc3Vw
ZXIuc2JfYmxvY2tsb2c7CisJeGZzLmJsa2xvZyA9IHN1cGVyLnNiX2Jsb2Nr
bG9nOworCXhmcy5iZGxvZyA9IHN1cGVyLnNiX2Jsb2NrbG9nIC0gU0VDVE9S
X0JJVFM7CisJeGZzLmlzaXplID0gMSA8PCBzdXBlci5zYl9pbm9kZWxvZzsK
Kwl4ZnMuZGlyYnNpemUgPSAxIDw8IChzdXBlci5zYl9ibG9ja2xvZyArIHN1
cGVyLnNiX2RpcmJsa2xvZyk7CisJeGZzLmlub3BibG9nID0gc3VwZXIuc2Jf
YmxvY2tsb2cgLSBzdXBlci5zYl9pbm9kZWxvZzsKKwogCXhmcy5idG5vZGVf
cHRyMF9vZmYgPQogCQkoKHhmcy5ic2l6ZSAtIHNpemVvZih4ZnNfYnRyZWVf
YmxvY2tfdCkpIC8KIAkJKHNpemVvZiAoeGZzX2JtYnRfa2V5X3QpICsgc2l6
ZW9mICh4ZnNfYm1idF9wdHJfdCkpKQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
ZnNpbWFnZS94ZnMveGZzLmggYi90b29scy9saWJmc2ltYWdlL3hmcy94ZnMu
aAppbmRleCA0MDY5OTI4MWU0NGQuLmI4N2UzN2QzZDdlOSAxMDA2NDQKLS0t
IGEvdG9vbHMvbGliZnNpbWFnZS94ZnMveGZzLmgKKysrIGIvdG9vbHMvbGli
ZnNpbWFnZS94ZnMveGZzLmgKQEAgLTEzNCw2ICsxMzQsMTggQEAgdHlwZWRl
ZiBzdHJ1Y3QgeGZzX3NiCiAgICAgICAgIHhmc191aW50OF90ICAgICAgIHNi
X2R1bW15WzddOyAgICAvKiBwYWRkaW5nICovCiB9IHhmc19zYl90OwogCisv
KiBCb3VuZCB0YWtlbiBmcm9tIHhmcy5jIGluIEdSVUIyLiBJdCBkb2Vzbid0
IGV4aXN0IGluIHRoZSBzcGVjICovCisjZGVmaW5lCVhGU19TQl9ESVJCTEtf
TlVNQklUUwkyNworLyogSW1wbGllZCBieSB0aGUgWEZTIHNwZWNpZmljYXRp
b24uIFRoZSBtaW5pbXVtIGJsb2NrIHNpemUgaXMgNTEyIG9jdGV0cyAqLwor
I2RlZmluZQlYRlNfU0JfQkxPQ0tMT0dfTUlOCTkKKy8qIEltcGxpZWQgYnkg
dGhlIFhGUyBzcGVjaWZpY2F0aW9uLiBUaGUgbWF4aW11bSBibG9jayBzaXpl
IGlzIDY1NTM2IG9jdGV0cyAqLworI2RlZmluZQlYRlNfU0JfQkxPQ0tMT0df
TUFYCTE2CisvKiBJbXBsaWVkIGJ5IHRoZSBYRlMgc3BlY2lmaWNhdGlvbi4g
VGhlIG1pbmltdW0gaW5vZGUgc2l6ZSBpcyAyNTYgb2N0ZXRzICovCisjZGVm
aW5lCVhGU19TQl9JTk9ERUxPR19NSU4JOAorLyogSW1wbGllZCBieSB0aGUg
WEZTIHNwZWNpZmljYXRpb24uIFRoZSBtYXhpbXVtIGlub2RlIHNpemUgaXMg
MjA0OCBvY3RldHMgKi8KKyNkZWZpbmUJWEZTX1NCX0lOT0RFTE9HX01BWAkx
MQorLyogSGlnaCBib3VuZCBmb3Igc2JfYWdibGtsb2cgKi8KKyNkZWZpbmUJ
WEZTX1NCX0FHQkxLTE9HX01BWAkzMgogCiAvKiB0aG9zZSBhcmUgZnJvbSB4
ZnNfYnRyZWUuaCAqLwogCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-04.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-04.patch"
Content-Transfer-Encoding: base64

RnJvbSBlNzJjNjhlNzAyZGQ5MzBiYzYwMTMxODJiYjQ0ZDNlOGZiYmI2YmY0
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUzICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
NC8xMV0gbGliZnNpbWFnZS94ZnM6IEFkZCBjb21waWxlLXRpbWUgY2hlY2sg
dG8gbGliZnNpbWFnZQoKQWRkcyB0aGUgY29tbW9uIHRvb2xzIGluY2x1ZGUg
Zm9sZGVyIHRvIHRoZSAtSSBjb21waWxlIGZsYWdzCm9mIGxpYmZzaW1hZ2Uu
IFRoaXMgYWxsb3dzIHVzIHRvIHVzZToKICB4ZW4tdG9vbHMvY29tbW9uLW1h
Y3Jvcy5oOkJVSUxEX0JVR19PTigpCgpXaXRoIGl0LCBzdGF0aWNhbGx5IGFz
c2VydCBhIHNhbml0aXplZCAiYmxvY2tsb2cgLSBTRUNUT1JfQklUUyIgY2Fu
bm90CnVuZGVyZmxvdy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDQzIC8gQ1ZF
LTIwMjMtMzQzMjUKClNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBWYWxsZWpv
IDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+ClJldmlld2VkLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQogdG9vbHMvbGli
ZnNpbWFnZS9SdWxlcy5tayAgICAgICB8IDIgKy0KIHRvb2xzL2xpYmZzaW1h
Z2UveGZzL2ZzeXNfeGZzLmMgfCA0ICsrKy0KIDIgZmlsZXMgY2hhbmdlZCwg
NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYmZzaW1hZ2UvUnVsZXMubWsgYi90b29scy9saWJmc2ltYWdl
L1J1bGVzLm1rCmluZGV4IGJiNmQ0MmFiYjQ5NC4uODA1OThmYjcwYWE3IDEw
MDY0NAotLS0gYS90b29scy9saWJmc2ltYWdlL1J1bGVzLm1rCisrKyBiL3Rv
b2xzL2xpYmZzaW1hZ2UvUnVsZXMubWsKQEAgLTEsNiArMSw2IEBACiBpbmNs
dWRlICQoWEVOX1JPT1QpL3Rvb2xzL1J1bGVzLm1rCiAKLUNGTEFHUyArPSAt
V25vLXVua25vd24tcHJhZ21hcyAtSSQoWEVOX1JPT1QpL3Rvb2xzL2xpYmZz
aW1hZ2UvY29tbW9uLyAtREZTSU1BR0VfRlNESVI9XCIkKEZTRElSKVwiCitD
RkxBR1MgKz0gLVduby11bmtub3duLXByYWdtYXMgLUkkKFhFTl9ST09UKS90
b29scy9saWJmc2ltYWdlL2NvbW1vbi8gJChDRkxBR1NfeGVuaW5jbHVkZSkg
LURGU0lNQUdFX0ZTRElSPVwiJChGU0RJUilcIgogQ0ZMQUdTICs9IC1XZXJy
b3IgLURfR05VX1NPVVJDRQogTERGTEFHUyArPSAtTC4uL2NvbW1vbi8KIApk
aWZmIC0tZ2l0IGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBi
L3Rvb2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMKaW5kZXggZTRlYjdl
MWVlMjZmLi40YThkZDZmMjM5N2IgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZz
aW1hZ2UveGZzL2ZzeXNfeGZzLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94
ZnMvZnN5c194ZnMuYwpAQCAtMTksNiArMTksNyBAQAogCiAjaW5jbHVkZSA8
c3RkYm9vbC5oPgogI2luY2x1ZGUgPHhlbmZzaW1hZ2VfZ3J1Yi5oPgorI2lu
Y2x1ZGUgPHhlbi10b29scy9saWJzLmg+CiAjaW5jbHVkZSAieGZzLmgiCiAK
ICNkZWZpbmUgTUFYX0xJTktfQ09VTlQJOApAQCAtNDc3LDkgKzQ3OCwxMCBA
QCB4ZnNfbW91bnQgKGZzaV9maWxlX3QgKmZmaSwgY29uc3QgY2hhciAqb3B0
aW9ucykKIAl4ZnMuYWdibGtsb2cgPSBzdXBlci5zYl9hZ2Jsa2xvZzsKIAog
CS8qIERlcml2ZWQgZnJvbSBzYW5pdGl6ZWQgcGFyYW1ldGVycyAqLworCUJV
SUxEX0JVR19PTihYRlNfU0JfQkxPQ0tMT0dfTUlOIDwgU0VDVE9SX0JJVFMp
OworCXhmcy5iZGxvZyA9IHN1cGVyLnNiX2Jsb2NrbG9nIC0gU0VDVE9SX0JJ
VFM7CiAJeGZzLmJzaXplID0gMSA8PCBzdXBlci5zYl9ibG9ja2xvZzsKIAl4
ZnMuYmxrbG9nID0gc3VwZXIuc2JfYmxvY2tsb2c7Ci0JeGZzLmJkbG9nID0g
c3VwZXIuc2JfYmxvY2tsb2cgLSBTRUNUT1JfQklUUzsKIAl4ZnMuaXNpemUg
PSAxIDw8IHN1cGVyLnNiX2lub2RlbG9nOwogCXhmcy5kaXJic2l6ZSA9IDEg
PDwgKHN1cGVyLnNiX2Jsb2NrbG9nICsgc3VwZXIuc2JfZGlyYmxrbG9nKTsK
IAl4ZnMuaW5vcGJsb2cgPSBzdXBlci5zYl9ibG9ja2xvZyAtIHN1cGVyLnNi
X2lub2RlbG9nOwotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-05.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-05.patch"
Content-Transfer-Encoding: base64

RnJvbSA3NWZkYzAzYzVhNmI3ZmFjMGMzYTVhYzA2YTViZWFhYzczYWFkMzZm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIxICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
NS8xMV0gdG9vbHMvcHlncnViOiBSZW1vdmUgdW5uZWNlc3NhcnkgaHlwZXJj
YWxsCgpUaGVyZSdzIGEgaHlwZXJjYWxsIGJlaW5nIGlzc3VlZCBpbiBvcmRl
ciB0byBkZXRlcm1pbmUgd2hldGhlciBQVjY0IGlzCnN1cHBvcnRlZCwgYnV0
IHNpbmNlIFhlbiA0LjMgdGhhdCdzIHN0cmljdGx5IHRydWUgc28gaXQncyBu
b3QgcmVxdWlyZWQuCgpQbHVzLCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQgbWFw
cGluZyB0aGUgcHJpdmNtZCBpbnRlcmZhY2UgYWx0b2dldGhlciBpbiB0aGUK
ZGVwcml2IHB5Z3J1Yi4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDQzIC8gQ1ZF
LTIwMjMtMzQzMjUKClNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBWYWxsZWpv
IDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+ClJldmlld2VkLWJ5OiBB
bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0K
IHRvb2xzL3B5Z3J1Yi9zcmMvcHlncnViIHwgMTIgKy0tLS0tLS0tLS0tCiAx
IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDExIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViIGIvdG9v
bHMvcHlncnViL3NyYy9weWdydWIKaW5kZXggY2U3YWIwZWI4Y2YzLi5jZTRl
MDdkM2U4MjMgMTAwNzU1Ci0tLSBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnVi
CisrKyBiL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViCkBAIC0xOCw3ICsxOCw2
IEBAIGltcG9ydCBvcywgc3lzLCBzdHJpbmcsIHN0cnVjdCwgdGVtcGZpbGUs
IHJlLCB0cmFjZWJhY2ssIHN0YXQsIGVycm5vCiBpbXBvcnQgY29weQogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCBwbGF0Zm9ybQotaW1wb3J0IHhlbi5sb3ds
ZXZlbC54YwogCiBpbXBvcnQgY3Vyc2VzLCBfY3Vyc2VzLCBjdXJzZXMudGV4
dHBhZCwgY3Vyc2VzLmFzY2lpCiBpbXBvcnQgZ2V0b3B0CkBAIC02NjgsMTQg
KzY2Nyw2IEBAIGRlZiBydW5fZ3J1YihmaWxlLCBlbnRyeSwgZnMsIGNmZ19h
cmdzKToKIAogICAgIHJldHVybiBncnViY2ZnCiAKLWRlZiBzdXBwb3J0czY0
Yml0UFZndWVzdCgpOgotICAgIHhjID0geGVuLmxvd2xldmVsLnhjLnhjKCkK
LSAgICBjYXBzID0geGMueGVuaW5mbygpWyd4ZW5fY2FwcyddLnNwbGl0KCIg
IikKLSAgICBmb3IgY2FwIGluIGNhcHM6Ci0gICAgICAgIGlmIGNhcCA9PSAi
eGVuLTMuMC14ODZfNjQiOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAg
ICByZXR1cm4gRmFsc2UKLQogIyBJZiBub3RoaW5nIGhhcyBiZWVuIHNwZWNp
ZmllZCwgbG9vayBmb3IgYSBTb2xhcmlzIGRvbVUuIElmIGZvdW5kLCBwZXJm
b3JtIHRoZQogIyBuZWNlc3NhcnkgdHdlYWtzLgogZGVmIHNuaWZmX3NvbGFy
aXMoZnMsIGNmZyk6CkBAIC02ODQsOCArNjc1LDcgQEAgZGVmIHNuaWZmX3Nv
bGFyaXMoZnMsIGNmZyk6CiAgICAgICAgIHJldHVybiBjZmcKIAogICAgIGlm
IG5vdCBjZmdbImtlcm5lbCJdOgotICAgICAgICBpZiBzdXBwb3J0czY0Yml0
UFZndWVzdCgpIGFuZCBcCi0gICAgICAgICAgZnMuZmlsZV9leGlzdHMoIi9w
bGF0Zm9ybS9pODZ4cHYva2VybmVsL2FtZDY0L3VuaXgiKToKKyAgICAgICAg
aWYgZnMuZmlsZV9leGlzdHMoIi9wbGF0Zm9ybS9pODZ4cHYva2VybmVsL2Ft
ZDY0L3VuaXgiKToKICAgICAgICAgICAgIGNmZ1sia2VybmVsIl0gPSAiL3Bs
YXRmb3JtL2k4Nnhwdi9rZXJuZWwvYW1kNjQvdW5peCIKICAgICAgICAgICAg
IGNmZ1sicmFtZGlzayJdID0gIi9wbGF0Zm9ybS9pODZwYy9hbWQ2NC9ib290
X2FyY2hpdmUiCiAgICAgICAgIGVsaWYgZnMuZmlsZV9leGlzdHMoIi9wbGF0
Zm9ybS9pODZ4cHYva2VybmVsL3VuaXgiKToKLS0gCjIuNDIuMAoK

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-06.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-06.patch"
Content-Transfer-Encoding: base64

RnJvbSAxMDgzYTE2ZjYzNDYxZTg0NGU5NTE1YWM0ZDM1ZDQ4YmY1NTc4NWFm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIyICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Ni8xMV0gdG9vbHMvcHlncnViOiBTbWFsbCByZWZhY3RvcnMKClNtYWxsIHRp
ZHkgdXAgdG8gZW5zdXJlIG91dHB1dF9kaXJlY3RvcnkgYWx3YXlzIGhhcyBh
IHRyYWlsaW5nICcvJyB0byBlYXNlCmNvbmNhdGVuYXRpbmcgcGF0aHMgYW5k
IHRoYXQgYG91dHB1dGAgY2FuIG9ubHkgYmUgYSBmaWxlbmFtZSBvciBOb25l
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAyMy0zNDMyNQoK
U2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFsZWphbmRyby52
YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvcHlncnViL3Ny
Yy9weWdydWIgfCAxMCArKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBp
bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rv
b2xzL3B5Z3J1Yi9zcmMvcHlncnViIGIvdG9vbHMvcHlncnViL3NyYy9weWdy
dWIKaW5kZXggY2U0ZTA3ZDNlODIzLi4xMDQyYzA1Yjg2NzYgMTAwNzU1Ci0t
LSBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViCisrKyBiL3Rvb2xzL3B5Z3J1
Yi9zcmMvcHlncnViCkBAIC03OTMsNyArNzkzLDcgQEAgaWYgX19uYW1lX18g
PT0gIl9fbWFpbl9fIjoKICAgICBkZWJ1ZyA9IEZhbHNlCiAgICAgbm90X3Jl
YWxseSA9IEZhbHNlCiAgICAgb3V0cHV0X2Zvcm1hdCA9ICJzeHAiCi0gICAg
b3V0cHV0X2RpcmVjdG9yeSA9ICIvdmFyL3J1bi94ZW4vcHlncnViIgorICAg
IG91dHB1dF9kaXJlY3RvcnkgPSAiL3Zhci9ydW4veGVuL3B5Z3J1Yi8iCiAK
ICAgICAjIHdoYXQgd2FzIHBhc3NlZCBpbgogICAgIGluY2ZnID0geyAia2Vy
bmVsIjogTm9uZSwgInJhbWRpc2siOiBOb25lLCAiYXJncyI6ICIiIH0KQEAg
LTgxNSw3ICs4MTUsOCBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog
ICAgICAgICAgICAgdXNhZ2UoKQogICAgICAgICAgICAgc3lzLmV4aXQoKQog
ICAgICAgICBlbGlmIG8gaW4gKCItLW91dHB1dCIsKToKLSAgICAgICAgICAg
IG91dHB1dCA9IGEKKyAgICAgICAgICAgIGlmIGEgIT0gIi0iOgorICAgICAg
ICAgICAgICAgIG91dHB1dCA9IGEKICAgICAgICAgZWxpZiBvIGluICgiLS1r
ZXJuZWwiLCk6CiAgICAgICAgICAgICBpbmNmZ1sia2VybmVsIl0gPSBhCiAg
ICAgICAgIGVsaWYgbyBpbiAoIi0tcmFtZGlzayIsKToKQEAgLTg0NywxMiAr
ODQ4LDExIEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgICAg
ICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihhKToKICAgICAgICAgICAgICAg
ICBwcmludCgiJXMgaXMgbm90IGFuIGV4aXN0aW5nIGRpcmVjdG9yeSIgJSBh
KQogICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgICAgICAgICBv
dXRwdXRfZGlyZWN0b3J5ID0gYQorICAgICAgICAgICAgb3V0cHV0X2RpcmVj
dG9yeSA9IGEgKyAnLycKIAogICAgIGlmIGRlYnVnOgogICAgICAgICBsb2dn
aW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuREVCVUcpCiAKLQogICAg
IHRyeToKICAgICAgICAgb3MubWFrZWRpcnMob3V0cHV0X2RpcmVjdG9yeSwg
MG83MDApCiAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKQEAgLTg2MSw3ICs4
NjEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgICAgICBl
bHNlOgogICAgICAgICAgICAgcmFpc2UKIAotICAgIGlmIG91dHB1dCBpcyBO
b25lIG9yIG91dHB1dCA9PSAiLSI6CisgICAgaWYgb3V0cHV0IGlzIE5vbmU6
CiAgICAgICAgIGZkID0gc3lzLnN0ZG91dC5maWxlbm8oKQogICAgIGVsc2U6
CiAgICAgICAgIGZkID0gb3Mub3BlbihvdXRwdXQsIG9zLk9fV1JPTkxZKQot
LSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-07.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-07.patch"
Content-Transfer-Encoding: base64

RnJvbSAzNTBkYjMwZTMzZjM5YWY0MGMxZTM3NTJkNzNjMGEzMGVmMmQyNmU3
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIzICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Ny8xMV0gdG9vbHMvcHlncnViOiBPcGVuIHRoZSBvdXRwdXQgZmlsZXMgZWFy
bGllcgoKVGhpcyBwYXRjaCBhbGxvd3MgcHlncnViIHRvIGdldCBhaG9sZCBv
ZiBldmVyeSBSVyBmaWxlIGRlc2NyaXB0b3IgaXQgbmVlZHMKZWFybHkgb24u
IEEgbGF0ZXIgcGF0Y2ggd2lsbCBjbGFtcCB0aGUgZmlsZXN5c3RlbSBpdCBj
YW4gYWNjZXNzIHNvIGl0IGNhbid0Cm9idGFpbiBhbnkgb3RoZXJzLgoKVGhp
cyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAyMy0zNDMyNQoKU2lnbmVk
LW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFsZWphbmRyby52YWxsZWpv
QGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j
b29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvcHlncnViL3NyYy9weWdy
dWIgfCAzNyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t
CiAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvcHlncnViL3NyYy9weWdydWIg
Yi90b29scy9weWdydWIvc3JjL3B5Z3J1YgppbmRleCAxMDQyYzA1Yjg2NzYu
LjkxZTJlYzJhYjEwNSAxMDA3NTUKLS0tIGEvdG9vbHMvcHlncnViL3NyYy9w
eWdydWIKKysrIGIvdG9vbHMvcHlncnViL3NyYy9weWdydWIKQEAgLTczOCw4
ICs3MzgsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGRl
ZiB1c2FnZSgpOgogICAgICAgICBwcmludCgiVXNhZ2U6ICVzIFstcXwtLXF1
aWV0XSBbLWl8LS1pbnRlcmFjdGl2ZV0gWy1sfC0tbGlzdC1lbnRyaWVzXSBb
LW58LS1ub3QtcmVhbGx5XSBbLS1vdXRwdXQ9XSBbLS1rZXJuZWw9XSBbLS1y
YW1kaXNrPV0gWy0tYXJncz1dIFstLWVudHJ5PV0gWy0tb3V0cHV0LWRpcmVj
dG9yeT1dIFstLW91dHB1dC1mb3JtYXQ9c3hwfHNpbXBsZXxzaW1wbGUwXSBb
LS1vZmZzZXQ9XSA8aW1hZ2U+IiAlKHN5cy5hcmd2WzBdLCksIGZpbGU9c3lz
LnN0ZGVycikKIAotICAgIGRlZiBjb3B5X2Zyb21faW1hZ2UoZnMsIGZpbGVf
dG9fcmVhZCwgZmlsZV90eXBlLCBvdXRwdXRfZGlyZWN0b3J5LAotICAgICAg
ICAgICAgICAgICAgICAgICAgbm90X3JlYWxseSk6CisgICAgZGVmIGNvcHlf
ZnJvbV9pbWFnZShmcywgZmlsZV90b19yZWFkLCBmaWxlX3R5cGUsIGZkX2Rz
dCwgcGF0aF9kc3QsIG5vdF9yZWFsbHkpOgogICAgICAgICBpZiBub3RfcmVh
bGx5OgogICAgICAgICAgICAgaWYgZnMuZmlsZV9leGlzdHMoZmlsZV90b19y
ZWFkKToKICAgICAgICAgICAgICAgICByZXR1cm4gIjwlczolcz4iICUgKGZp
bGVfdHlwZSwgZmlsZV90b19yZWFkKQpAQCAtNzUwLDIxICs3NDksMTggQEAg
aWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgcHJpbnQoZSwgZmlsZT1zeXMu
c3RkZXJyKQogICAgICAgICAgICAgc3lzLmV4aXQoIkVycm9yIG9wZW5pbmcg
JXMgaW4gZ3Vlc3QiICUgZmlsZV90b19yZWFkKQotICAgICAgICAodGZkLCBy
ZXQpID0gdGVtcGZpbGUubWtzdGVtcChwcmVmaXg9ImJvb3RfIitmaWxlX3R5
cGUrIi4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkaXI9b3V0cHV0X2RpcmVjdG9yeSkKICAgICAgICAgZGF0YW9mZiA9IDAK
ICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIGRhdGEgPSBkYXRh
ZmlsZS5yZWFkKEZTX1JFQURfTUFYLCBkYXRhb2ZmKQogICAgICAgICAgICAg
aWYgbGVuKGRhdGEpID09IDA6Ci0gICAgICAgICAgICAgICAgb3MuY2xvc2Uo
dGZkKQorICAgICAgICAgICAgICAgIG9zLmNsb3NlKGZkX2RzdCkKICAgICAg
ICAgICAgICAgICBkZWwgZGF0YWZpbGUKLSAgICAgICAgICAgICAgICByZXR1
cm4gcmV0CisgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICB0
cnk6Ci0gICAgICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQorICAg
ICAgICAgICAgICAgIG9zLndyaXRlKGZkX2RzdCwgZGF0YSkKICAgICAgICAg
ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgICBw
cmludChlLCBmaWxlPXN5cy5zdGRlcnIpCi0gICAgICAgICAgICAgICAgb3Mu
Y2xvc2UodGZkKQotICAgICAgICAgICAgICAgIG9zLnVubGluayhyZXQpCisg
ICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfZHN0KQogICAgICAgICAg
ICAgICAgIGRlbCBkYXRhZmlsZQogICAgICAgICAgICAgICAgIHN5cy5leGl0
KCJFcnJvciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5IG9mICIrZmlsZV90eXBl
KQogICAgICAgICAgICAgZGF0YW9mZiArPSBsZW4oZGF0YSkKQEAgLTg2MSw2
ICs4NTcsMTQgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlCiAKKyAgICBpZiBub3RfcmVh
bGx5OgorICAgICAgICBmZF9rZXJuZWwgPSAgcGF0aF9rZXJuZWwgPSBmZF9y
YW1kaXNrID0gcGF0aF9yYW1kaXNrID0gTm9uZQorICAgIGVsc2U6CisgICAg
ICAgIChmZF9rZXJuZWwsIHBhdGhfa2VybmVsKSA9IHRlbXBmaWxlLm1rc3Rl
bXAocHJlZml4PSJib290X2tlcm5lbC4iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcj1vdXRwdXRf
ZGlyZWN0b3J5KQorICAgICAgICAoZmRfcmFtZGlzaywgcGF0aF9yYW1kaXNr
KSA9IHRlbXBmaWxlLm1rc3RlbXAocHJlZml4PSJib290X3JhbWRpc2suIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpcj1vdXRwdXRfZGlyZWN0b3J5KQorCiAgICAgaWYgb3V0
cHV0IGlzIE5vbmU6CiAgICAgICAgIGZkID0gc3lzLnN0ZG91dC5maWxlbm8o
KQogICAgIGVsc2U6CkBAIC05MjAsMjAgKzkyNCwyMyBAQCBpZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgogICAgIGlmIGZzIGlzIE5vbmU6CiAgICAgICAg
IHJhaXNlIFJ1bnRpbWVFcnJvcigiVW5hYmxlIHRvIGZpbmQgcGFydGl0aW9u
IGNvbnRhaW5pbmcga2VybmVsIikKIAotICAgIGJvb3RjZmdbImtlcm5lbCJd
ID0gY29weV9mcm9tX2ltYWdlKGZzLCBjaG9zZW5jZmdbImtlcm5lbCJdLCAi
a2VybmVsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvdXRwdXRfZGlyZWN0b3J5LCBub3RfcmVhbGx5KQorICAgIGNvcHlf
ZnJvbV9pbWFnZShmcywgY2hvc2VuY2ZnWyJrZXJuZWwiXSwgImtlcm5lbCIs
CisgICAgICAgICAgICAgICAgICAgIGZkX2tlcm5lbCwgcGF0aF9rZXJuZWws
IG5vdF9yZWFsbHkpCisgICAgYm9vdGNmZ1sia2VybmVsIl0gPSBwYXRoX2tl
cm5lbAogCiAgICAgaWYgY2hvc2VuY2ZnWyJyYW1kaXNrIl06CiAgICAgICAg
IHRyeToKLSAgICAgICAgICAgIGJvb3RjZmdbInJhbWRpc2siXSA9IGNvcHlf
ZnJvbV9pbWFnZShmcywgY2hvc2VuY2ZnWyJyYW1kaXNrIl0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJh
bWRpc2siLCBvdXRwdXRfZGlyZWN0b3J5LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdF9yZWFsbHkpCisg
ICAgICAgICAgICBjb3B5X2Zyb21faW1hZ2UoZnMsIGNob3NlbmNmZ1sicmFt
ZGlzayJdLCAicmFtZGlzayIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmRfcmFtZGlzaywgcGF0aF9yYW1kaXNrLCBub3RfcmVhbGx5KQogICAg
ICAgICBleGNlcHQ6CiAgICAgICAgICAgICBpZiBub3Qgbm90X3JlYWxseToK
LSAgICAgICAgICAgICAgICBvcy51bmxpbmsoYm9vdGNmZ1sia2VybmVsIl0p
CisgICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfa2VybmVsKQogICAg
ICAgICAgICAgcmFpc2UKKyAgICAgICAgYm9vdGNmZ1sicmFtZGlzayJdID0g
cGF0aF9yYW1kaXNrCiAgICAgZWxzZToKICAgICAgICAgaW5pdHJkID0gTm9u
ZQorICAgICAgICBpZiBub3Qgbm90X3JlYWxseToKKyAgICAgICAgICAgIG9z
LnVubGluayhwYXRoX3JhbWRpc2spCiAKICAgICBhcmdzID0gTm9uZQogICAg
IGlmIGNob3NlbmNmZ1siYXJncyJdOgotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-08.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-08.patch"
Content-Transfer-Encoding: base64

RnJvbSAxNTQ4YWQyMjkxZWM3YTcyYWU2OTQ5YzExZDJlNTBjZWExMzVhNDhk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjI0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
OC8xMV0gdG9vbHMvbGliZnNpbWFnZTogRXhwb3J0IGEgbmV3IGZ1bmN0aW9u
IHRvIHByZWxvYWQgYWxsCiBwbHVnaW5zCgpUaGlzIGlzIHdvcmsgcmVxdWly
ZWQgaW4gb3JkZXIgdG8gbGV0IHB5Z3J1YiBvcGVyYXRlIGluIGhpZ2hseSBk
ZXByaXZpbGVnZWQKY2hyb290IG1vZGUuIFRoaXMgcGF0Y2ggYWRkcyBhIGZ1
bmN0aW9uIHRoYXQgcHJlbG9hZHMgZXZlcnkgcGx1Z2luLCBoZW5jZQplbnN1
cmluZyB0aGF0IGEgb24gZnVuY3Rpb24gZXhpdCwgZXZlcnkgc2hhcmVkIGxp
YnJhcnkgaXMgbG9hZGVkIGluIG1lbW9yeS4KClRoZSBuZXcgImluaXQiIGZ1
bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgYmVmb3JlIGRlcHJpdiwg
YnV0IHRoYXQncwpmaW5lIGJlY2F1c2UgaXQncyBub3QgYWN0aW5nIG9uIHVu
dHJ1c3RlZCBkYXRhLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUt
MjAyMy0zNDMyNQoKU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8g
PGFsZWphbmRyby52YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJl
dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9v
bHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFnZV9wbHVnaW4uYyB8ICA0ICsr
LS0KIHRvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtR05VICAgICAg
fCAgMSArCiB0b29scy9saWJmc2ltYWdlL2NvbW1vbi9tYXBmaWxlLVN1bk9T
ICAgIHwgIDEgKwogdG9vbHMvbGliZnNpbWFnZS9jb21tb24veGVuZnNpbWFn
ZS5oICAgICB8ICA4ICsrKysrKysrCiB0b29scy9weWdydWIvc3JjL2ZzaW1h
Z2UvZnNpbWFnZS5jICAgICAgIHwgMTUgKysrKysrKysrKysrKysrCiA1IGZp
bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFn
ZV9wbHVnaW4uYyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL2ZzaW1hZ2Vf
cGx1Z2luLmMKaW5kZXggZGUxNDEyYjQyMzNhLi5kMGNiOWU5NmE2NTQgMTAw
NjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL2ZzaW1hZ2VfcGx1
Z2luLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFnZV9w
bHVnaW4uYwpAQCAtMTE5LDcgKzExOSw3IEBAIGZhaWw6CiAJcmV0dXJuICgt
MSk7CiB9CiAKLXN0YXRpYyBpbnQgbG9hZF9wbHVnaW5zKHZvaWQpCitpbnQg
ZnNpX2luaXQodm9pZCkKIHsKIAljb25zdCBjaGFyICpmc2RpciA9IGdldGVu
digiWEVOX0ZTSU1BR0VfRlNESVIiKTsKIAlzdHJ1Y3QgZGlyZW50ICpkcCA9
IE5VTEw7CkBAIC0xODAsNyArMTgwLDcgQEAgaW50IGZpbmRfcGx1Z2luKGZz
aV90ICpmc2ksIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm9wdGlv
bnMpCiAJZnNpX3BsdWdpbl90ICpmcDsKIAlpbnQgcmV0ID0gMDsKIAotCWlm
IChwbHVnaW5zID09IE5VTEwgJiYgKHJldCA9IGxvYWRfcGx1Z2lucygpKSAh
PSAwKQorCWlmIChwbHVnaW5zID09IE5VTEwgJiYgKHJldCA9IGZzaV9pbml0
KCkpICE9IDApCiAJCWdvdG8gb3V0OwogCiAJZm9yIChmcCA9IHBsdWdpbnM7
IGZwICE9IE5VTEw7IGZwID0gZnAtPmZwX25leHQpIHsKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtR05VIGIvdG9vbHMv
bGliZnNpbWFnZS9jb21tb24vbWFwZmlsZS1HTlUKaW5kZXggMjZkNGQ3YTY5
ZWM3Li4yZDU0ZDUyN2Q3ZjUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1h
Z2UvY29tbW9uL21hcGZpbGUtR05VCisrKyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
Y29tbW9uL21hcGZpbGUtR05VCkBAIC0xLDYgKzEsNyBAQAogVkVSU0lPTiB7
CiAJbGliZnNpbWFnZS5zby4xLjAgewogCQlnbG9iYWw6CisJCQlmc2lfaW5p
dDsKIAkJCWZzaV9vcGVuX2ZzaW1hZ2U7CiAJCQlmc2lfY2xvc2VfZnNpbWFn
ZTsKIAkJCWZzaV9maWxlX2V4aXN0czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp
YmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtU3VuT1MgYi90b29scy9saWJmc2lt
YWdlL2NvbW1vbi9tYXBmaWxlLVN1bk9TCmluZGV4IGU5OWI5MGI2NTA3Ny4u
NDhkZWVkYjQyNTJmIDEwMDY0NAotLS0gYS90b29scy9saWJmc2ltYWdlL2Nv
bW1vbi9tYXBmaWxlLVN1bk9TCisrKyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29t
bW9uL21hcGZpbGUtU3VuT1MKQEAgLTEsNSArMSw2IEBACiBsaWJmc2ltYWdl
LnNvLjEuMCB7CiAJZ2xvYmFsOgorCQlmc2lfaW5pdDsKIAkJZnNpX29wZW5f
ZnNpbWFnZTsKIAkJZnNpX2Nsb3NlX2ZzaW1hZ2U7CiAJCWZzaV9maWxlX2V4
aXN0czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hl
bmZzaW1hZ2UuaCBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hlbmZzaW1h
Z2UuaAppbmRleCAyMDFhYmQ1NGYyM2EuLjM0MTg4M2IyZDcxYSAxMDA2NDQK
LS0tIGEvdG9vbHMvbGliZnNpbWFnZS9jb21tb24veGVuZnNpbWFnZS5oCisr
KyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hlbmZzaW1hZ2UuaApAQCAt
MzUsNiArMzUsMTQgQEAgZXh0ZXJuIEMgewogdHlwZWRlZiBzdHJ1Y3QgZnNp
IGZzaV90OwogdHlwZWRlZiBzdHJ1Y3QgZnNpX2ZpbGUgZnNpX2ZpbGVfdDsK
IAorLyoKKyAqIE9wdGlvbmFsIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiBJ
ZiBpbnZva2VkIGl0IGxvYWRzIHRoZSBhc3NvY2lhdGVkCisgKiBkeW5hbWlj
IGxpYnJhcmllcyBmb3IgdGhlIGJhY2tlbmRzIGFoZWFkIG9mIHRpbWUuIFRo
aXMgaXMgcmVxdWlyZWQgaWYKKyAqIHRoZSBsaWJyYXJ5IGlzIHRvIHJ1biBh
cyBwYXJ0IG9mIGEgaGlnaGx5IGRlcHJpdmlsZWdlZCBleGVjdXRhYmxlLCBh
cworICogdGhlIGxpYnJhcmllcyBtYXkgbm90IGJlIHJlYWNoYWJsZSBhZnRl
ciBkZXByaXYuCisgKi8KK2ludCBmc2lfaW5pdCh2b2lkKTsKKwogZnNpX3Qg
KmZzaV9vcGVuX2ZzaW1hZ2UoY29uc3QgY2hhciAqLCB1aW50NjRfdCwgY29u
c3QgY2hhciAqKTsKIHZvaWQgZnNpX2Nsb3NlX2ZzaW1hZ2UoZnNpX3QgKik7
CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5Z3J1Yi9zcmMvZnNpbWFnZS9mc2lt
YWdlLmMgYi90b29scy9weWdydWIvc3JjL2ZzaW1hZ2UvZnNpbWFnZS5jCmlu
ZGV4IDJlYmJiZTM1ZGY5Mi4uOTJmYmYyODUxZjAxIDEwMDY0NAotLS0gYS90
b29scy9weWdydWIvc3JjL2ZzaW1hZ2UvZnNpbWFnZS5jCisrKyBiL3Rvb2xz
L3B5Z3J1Yi9zcmMvZnNpbWFnZS9mc2ltYWdlLmMKQEAgLTI4Niw2ICsyODYs
MTUgQEAgZnNpbWFnZV9nZXRib290c3RyaW5nKFB5T2JqZWN0ICpvLCBQeU9i
amVjdCAqYXJncykKIAlyZXR1cm4gUHlfQnVpbGRWYWx1ZSgicyIsIGJvb3Rz
dHJpbmcpOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorZnNpbWFnZV9pbml0
KFB5T2JqZWN0ICpvLCBQeU9iamVjdCAqYXJncykKK3sKKwlpZiAoIVB5QXJn
X1BhcnNlVHVwbGUoYXJncywgIiIpKQorCQlyZXR1cm4gKE5VTEwpOworCisJ
cmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBmc2lfaW5pdCgpKTsKK30KKwog
UHlEb2NfU1RSVkFSKGZzaW1hZ2Vfb3Blbl9fZG9jX18sCiAgICAgIm9wZW4o
bmFtZSwgW29mZnNldD1vZmZdKSAtIE9wZW4gdGhlIGdpdmVuIGZpbGUgYXMg
YSBmaWxlc3lzdGVtIGltYWdlLlxuIgogICAgICJcbiIKQEAgLTI5Nyw3ICsz
MDYsMTMgQEAgUHlEb2NfU1RSVkFSKGZzaW1hZ2VfZ2V0Ym9vdHN0cmluZ19f
ZG9jX18sCiAgICAgImdldGJvb3RzdHJpbmcoZnMpIC0gUmV0dXJuIHRoZSBi
b290IHN0cmluZyBuZWVkZWQgZm9yIHRoaXMgZmlsZSBzeXN0ZW0gIgogICAg
ICJvciBOVUxMIGlmIG5vbmUgaXMgbmVlZGVkLlxuIik7CiAKK1B5RG9jX1NU
UlZBUihmc2ltYWdlX2luaXRfX2RvY19fLAorICAgICJpbml0KCkgLSBMb2Fk
cyBldmVyeSBkeW5hbWljIGxpYnJhcnkgY29udGFpbmVkIGluIHhlbmZzaW1h
Z2UgIgorICAgICJpbnRvIG1lbW9yeSBzbyB0aGF0IGl0IGNhbiBiZSB1c2Vk
IGluIGNocm9vdGVkIGVudmlyb25tZW50cy5cbiIpOworCiBzdGF0aWMgc3Ry
dWN0IFB5TWV0aG9kRGVmIGZzaW1hZ2VfbW9kdWxlX21ldGhvZHNbXSA9IHsK
Kwl7ICJpbml0IiwgKFB5Q0Z1bmN0aW9uKWZzaW1hZ2VfaW5pdCwKKwkgICAg
TUVUSF9WQVJBUkdTLCBmc2ltYWdlX2luaXRfX2RvY19fIH0sCiAJeyAib3Bl
biIsIChQeUNGdW5jdGlvbilmc2ltYWdlX29wZW4sCiAJICAgIE1FVEhfVkFS
QVJHU3xNRVRIX0tFWVdPUkRTLCBmc2ltYWdlX29wZW5fX2RvY19fIH0sCiAJ
eyAiZ2V0Ym9vdHN0cmluZyIsIChQeUNGdW5jdGlvbilmc2ltYWdlX2dldGJv
b3RzdHJpbmcsCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-09.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-09.patch"
Content-Transfer-Encoding: base64

RnJvbSA0ZDMzMWIwYjkxNGRmYzE3YmQyZDg4M2JjNTVhZWI3OTg5MzA4MzJh
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjI1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
OS8xMV0gdG9vbHMvcHlncnViOiBEZXByaXZpbGVnZSBweWdydWIKCkludHJv
ZHVjZSBhIC0tcnVuYXM9PHVpZD4gZmxhZyB0byBkZXByaXZpbGVnZSBweWdy
dWIgb24gTGludXggYW5kICpCU0RzLiBJdAphbHNvIGltcGxpY2l0bHkgY3Jl
YXRlcyBhIGNocm9vdCBlbnYgd2hlcmUgaXQgZHJvcHMgYSBkZXByaXZpbGVn
ZWQgZm9ya2VkCnByb2Nlc3MuIFRoZSBjaHJvb3QgaXRzZWxmIGlzIGNsZWFu
ZWQgdXAgYXQgdGhlIGVuZC4KCklmIHRoZSAtLXJ1bmFzIGFyZyBpcyBwcmVz
ZW50LCB0aGVuIHB5Z3J1YiBmb3JrcywgbGVhdmluZyB0aGUgY2hpbGQgdG8K
ZGVwcml2aWxlZ2UgaXRzZWxmLCBhbmQgd2FpdGluZyBmb3IgaXQgdG8gY29t
cGxldGUuIFdoZW4gdGhlIGNoaWxkIGV4aXN0cywKdGhlIHBhcmVudCBwZXJm
b3JtcyBjbGVhbnVwIGFuZCBleGl0cyB3aXRoIHRoZSBzYW1lIGVycm9yIGNv
ZGUuCgpUaGlzIGlzIHJvdWdobHkgd2hhdCB0aGUgY2hpbGQgZG9lczoKICAx
LiBJbml0aWFsaXplIGxpYmZzaW1hZ2UgKHRoaXMgbG9hZHMgZXZlcnkgLnNv
IGluIG1lbW9yeSBzbyB0aGUgY2hyb290CiAgICAgY2FuIGF2b2lkIGJpbmQt
bW91bnRpbmcgL3ssdXNyfS9saWIqCiAgMi4gQ3JlYXRlIGEgdGVtcG9yYXJ5
IGVtcHR5IGNocm9vdCBkaXJlY3RvcnkKICAzLiBNb3VudCB0bXBmcyBpbiBp
dAogIDQuIEJpbmQgbW91bnQgdGhlIGRpc2sgaW5zaWRlLCBiZWNhdXNlIGxp
YmZzaW1hZ2UgZXhwZWN0cyBhIHBhdGgsIG5vdCBhCiAgICAgZmlsZSBkZXNj
cmlwdG9yLgogIDUuIFJlbW91bnQgdGhlIHJvb3QgdG1wZnMgdG8gYmUgc3Ry
aWN0ZXIgKHJvLG5vc3VpZCxub2RldikKICA2LiBTZXQgUkxJTUlUX0ZTSVpF
IHRvIGEgc2Vuc2libHkgaGlnaCBhbW91bnQgKDEyOCBNaUIpCiAgNy4gRGVw
cml2IGdpZCwgZ3JvdXBzIGFuZCB1aWQKCldpdGggdGhpcyBzY2hlbWUgaW4g
cGxhY2UsIHRoZSAib3V0cHV0IiBmaWxlcyBhcmUgd3JpdGFibGUgKHVwIHRv
ClJMSU1JVF9GU0laRSBvY3RldHMpIGFuZCB0aGUgZXhwb3NlZCBmaWxlc3lz
dGVtIGlzIGltbXV0YWJsZSBhbmQgY29udGFpbnMKdGhlIHNpbmdsZSBvbmx5
IGZpbGUgd2UgY2FuJ3QgZWFzaWx5IGdldCByaWQgb2YgKHRoZSBkaXNrKS4K
CklmIHJ1bm5pbmcgb24gTGludXgsIHRoZSBjaGlsZCBwcm9jZXNzIGFsc28g
dW5zaGFyZXMgbW91bnQsIElQQywgYW5kCm5ldHdvcmsgbmFtZXNwYWNlcyBi
ZWZvcmUgZHJvcHBpbmcgaXRzIHByaXZpbGVnZXMuCgpUaGlzIGlzIHBhcnQg
b2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBB
bGVqYW5kcm8gVmFsbGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29t
PgpBY2tlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0
cml4LmNvbT4KLS0tCiB0b29scy9weWdydWIvc2V0dXAucHkgICB8ICAgMiAr
LQogdG9vbHMvcHlncnViL3NyYy9weWdydWIgfCAxNjIgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2Vk
LCAxNTQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvdG9vbHMvcHlncnViL3NldHVwLnB5IGIvdG9vbHMvcHlncnViL3Nl
dHVwLnB5CmluZGV4IGI4ZjFkYzQ1OTBjZi4uZjE2MTg3YjZkMTE4IDEwMDY0
NAotLS0gYS90b29scy9weWdydWIvc2V0dXAucHkKKysrIGIvdG9vbHMvcHln
cnViL3NldHVwLnB5CkBAIC0xNyw3ICsxNyw3IEBAIHhlbmZzaW1hZ2UgPSBF
eHRlbnNpb24oInhlbmZzaW1hZ2UiLAogcGtncyA9IFsgJ2dydWInIF0KIAog
c2V0dXAobmFtZT0ncHlncnViJywKLSAgICAgIHZlcnNpb249JzAuNicsCisg
ICAgICB2ZXJzaW9uPScwLjcnLAogICAgICAgZGVzY3JpcHRpb249J0Jvb3Qg
bG9hZGVyIHRoYXQgbG9va3MgYSBsb3QgbGlrZSBncnViIGZvciBYZW4nLAog
ICAgICAgYXV0aG9yPSdKZXJlbXkgS2F0eicsCiAgICAgICBhdXRob3JfZW1h
aWw9J2thdHpqQHJlZGhhdC5jb20nLApkaWZmIC0tZ2l0IGEvdG9vbHMvcHln
cnViL3NyYy9weWdydWIgYi90b29scy9weWdydWIvc3JjL3B5Z3J1YgppbmRl
eCA5MWUyZWMyYWIxMDUuLjdjZWE0OTZhZGUwOCAxMDA3NTUKLS0tIGEvdG9v
bHMvcHlncnViL3NyYy9weWdydWIKKysrIGIvdG9vbHMvcHlncnViL3NyYy9w
eWdydWIKQEAgLTE2LDggKzE2LDExIEBAIGZyb20gX19mdXR1cmVfXyBpbXBv
cnQgcHJpbnRfZnVuY3Rpb24KIAogaW1wb3J0IG9zLCBzeXMsIHN0cmluZywg
c3RydWN0LCB0ZW1wZmlsZSwgcmUsIHRyYWNlYmFjaywgc3RhdCwgZXJybm8K
IGltcG9ydCBjb3B5CitpbXBvcnQgY3R5cGVzLCBjdHlwZXMudXRpbAogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCBwbGF0Zm9ybQoraW1wb3J0IHJlc291cmNl
CitpbXBvcnQgc3VicHJvY2VzcwogCiBpbXBvcnQgY3Vyc2VzLCBfY3Vyc2Vz
LCBjdXJzZXMudGV4dHBhZCwgY3Vyc2VzLmFzY2lpCiBpbXBvcnQgZ2V0b3B0
CkBAIC0yNywxMCArMzAsMTM1IEBAIGltcG9ydCBncnViLkdydWJDb25mCiBp
bXBvcnQgZ3J1Yi5MaWxvQ29uZgogaW1wb3J0IGdydWIuRXh0TGludXhDb25m
CiAKLVBZR1JVQl9WRVIgPSAwLjYKK1BZR1JVQl9WRVIgPSAwLjcKIEZTX1JF
QURfTUFYID0gMTAyNCAqIDEwMjQKIFNFQ1RPUl9TSVpFID0gNTEyCiAKKyMg
VW5sZXNzIHByb3ZpZGVkIHRocm91Z2ggdGhlIGVudiB2YXJpYWJsZSBQWUdS
VUJfTUFYX0ZJTEVfU0laRV9NQiwgdGhlbgorIyB0aGlzIGlzIHRoZSBtYXhp
bXVtIGZpbGVzaXplIGFsbG93ZWQgZm9yIGZpbGVzIHdyaXR0ZW4gYnkgdGhl
IGRlcHJpdgorIyBweWdydWIKK0xJTUlUX0ZTSVpFID0gMTI4IDw8IDIwCisK
K0NMT05FX05FV05TID0gMHgwMDAyMDAwMCAjIG1vdW50IG5hbWVzcGFjZQor
Q0xPTkVfTkVXTkVUID0gMHg0MDAwMDAwMCAjIG5ldHdvcmsgbmFtZXNwYWNl
CitDTE9ORV9ORVdJUEMgPSAweDA4MDAwMDAwICMgSVBDIG5hbWVzcGFjZQor
CitkZWYgdW5zaGFyZShmbGFncyk6CisgICAgaWYgbm90IHN5cy5wbGF0Zm9y
bS5zdGFydHN3aXRoKCJsaW51eCIpOgorICAgICAgICBwcmludCgic2tpcF91
bnNoYXJlIHJlYXNvbj1ub3RfbGludXggcGxhdGZvcm09JXMiLCBzeXMucGxh
dGZvcm0sIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgcmV0dXJuCisKKyAg
ICBsaWJjID0gY3R5cGVzLkNETEwoY3R5cGVzLnV0aWwuZmluZF9saWJyYXJ5
KCdjJyksIHVzZV9lcnJubz1UcnVlKQorICAgIHVuc2hhcmVfcHJvdG90eXBl
ID0gY3R5cGVzLkNGVU5DVFlQRShjdHlwZXMuY19pbnQsIGN0eXBlcy5jX2lu
dCwgdXNlX2Vycm5vPVRydWUpCisgICAgdW5zaGFyZSA9IHVuc2hhcmVfcHJv
dG90eXBlKCgndW5zaGFyZScsIGxpYmMpKQorCisgICAgaWYgdW5zaGFyZShm
bGFncykgPCAwOgorICAgICAgICByYWlzZSBPU0Vycm9yKGN0eXBlcy5nZXRf
ZXJybm8oKSwgb3Muc3RyZXJyb3IoY3R5cGVzLmdldF9lcnJubygpKSkKKwor
ZGVmIGJpbmRfbW91bnQoc3JjLCBkc3QsIG9wdGlvbnMpOgorICAgIG9wZW4o
ZHN0LCAiYSIpLmNsb3NlKCkgIyB0b3VjaAorCisgICAgcmMgPSBzdWJwcm9j
ZXNzLmNhbGwoWyJtb3VudCIsICItLWJpbmQiLCAiLW8iLCBvcHRpb25zLCBz
cmMsIGRzdF0pCisgICAgaWYgcmMgIT0gMDoKKyAgICAgICAgcmFpc2UgUnVu
dGltZUVycm9yKCJiYWRfbW91bnQ6IHNyYz0lcyBkc3Q9JXMgb3B0cz0lcyIg
JQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNyYywgZHN0LCBvcHRp
b25zKSkKKworZGVmIGRvd25ncmFkZV9ybGltaXRzKCk6CisgICAgIyBXaXBl
IHRoZSBhdXRob3JpdHkgdG8gdXNlIHVucmVxdWlyZWQgcmVzb3VyY2VzCisg
ICAgcmVzb3VyY2Uuc2V0cmxpbWl0KHJlc291cmNlLlJMSU1JVF9OUFJPQywg
ICAgKDAsIDApKQorICAgIHJlc291cmNlLnNldHJsaW1pdChyZXNvdXJjZS5S
TElNSVRfQ09SRSwgICAgICgwLCAwKSkKKyAgICByZXNvdXJjZS5zZXRybGlt
aXQocmVzb3VyY2UuUkxJTUlUX01FTUxPQ0ssICAoMCwgMCkpCisKKyAgICAj
IHB5MidzIHJlc291cmNlIG1vZHVsZSBkb2Vzbid0IGtub3cgYWJvdXQgcmVz
b3VyY2UuUkxJTUlUX01TR1FVRVVFCisgICAgIworICAgICMgVE9ETzogVXNl
IHJlc291cmNlLlJMSU1JVF9NU0dRVUVVRSBhZnRlciBweXRob24yIGlzIGRl
cHJlY2F0ZWQKKyAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGlu
dXgnKToKKyAgICAgICAgUkxJTUlUX01TR1FVRVVFID0gMTIKKyAgICAgICAg
cmVzb3VyY2Uuc2V0cmxpbWl0KFJMSU1JVF9NU0dRVUVVRSwgKDAsIDApKQor
CisgICAgIyBUaGUgZmluYWwgbG9vayBvZiB0aGUgZmlsZXN5c3RlbSBmb3Ig
dGhpcyBwcm9jZXNzIGlzIGZ1bGx5IFJPLCBidXQKKyAgICAjIG5vdGUgd2Ug
aGF2ZSBzb21lIGZpbGUgZGVzY3JpcHRvciBhbHJlYWR5IG9wZW4gKG5vdGFi
bHksIGtlcm5lbCBhbmQKKyAgICAjIHJhbWRpc2spLiBJbiBvcmRlciB0byBh
dm9pZCBhIGNvbXByb21pc2VkIHB5Z3J1YiBmcm9tIGZpbGxpbmcgdXAgdGhl
CisgICAgIyBmaWxlc3lzdGVtIHdlIHNldCBSTElNSVRfRlNJWkUgdG8gYSBo
aWdoIGJvdW5kLCBzbyB0aGF0IHRoZSBmaWxlCisgICAgIyB3cml0ZSBwZXJt
aXNzaW9ucyBhcmUgYm91bmQuCisgICAgZnNpemUgPSBMSU1JVF9GU0laRQor
ICAgIGlmICJQWUdSVUJfTUFYX0ZJTEVfU0laRV9NQiIgaW4gb3MuZW52aXJv
bi5rZXlzKCk6CisgICAgICAgIGZzaXplID0gb3MuZW52aXJvblsiUFlHUlVC
X01BWF9GSUxFX1NJWkVfTUIiXSA8PCAyMAorCisgICAgcmVzb3VyY2Uuc2V0
cmxpbWl0KHJlc291cmNlLlJMSU1JVF9GU0laRSwgKGZzaXplLCBmc2l6ZSkp
CisKK2RlZiBkZXByaXYob3V0cHV0X2RpcmVjdG9yeSwgb3V0cHV0LCBkZXZp
Y2UsIHVpZCwgcGF0aF9rZXJuZWwsIHBhdGhfcmFtZGlzayk6CisgICAgIyBU
aGUgb25seSBwb2ludCBvZiB0aGlzIGNhbGwgaXMgdG8gZm9yY2UgdGhlIGxv
YWRpbmcgb2YgbGliZnNpbWFnZS4KKyAgICAjIFRoYXQgd2F5LCB3ZSBkb24n
dCBuZWVkIHRvIGJpbmQtbW91bnQgaXQgaW50byB0aGUgY2hyb290CisgICAg
cmMgPSB4ZW5mc2ltYWdlLmluaXQoKQorICAgIGlmIHJjICE9IDA6CisgICAg
ICAgIG9zLnVubGluayhwYXRoX3JhbWRpc2spCisgICAgICAgIG9zLnVubGlu
ayhwYXRoX2tlcm5lbCkKKyAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJi
YWRfeGVuZnNpbWFnZTogcmM9JWQiICUgcmMpCisKKyAgICAjIENyZWF0ZSBh
IHRlbXBvcmFyeSBkaXJlY3RvcnkgZm9yIHRoZSBjaHJvb3QKKyAgICBjaHJv
b3QgPSB0ZW1wZmlsZS5ta2R0ZW1wKHByZWZpeD1zdHIodWlkKSsnLScsIGRp
cj1vdXRwdXRfZGlyZWN0b3J5KSArICcvJworICAgIGRldmljZV9wYXRoID0g
Jy9kZXZpY2UnCisKKyAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICBpZiBwaWQ6
CisgICAgICAgICMgcGFyZW50CisgICAgICAgIF8sIHJjID0gb3Mud2FpdHBp
ZChwaWQsIDApCisKKyAgICAgICAgZm9yIHBhdGggaW4gW3BhdGhfa2VybmVs
LCBwYXRoX3JhbWRpc2tdOgorICAgICAgICAgICAgIyBJZiB0aGUgY2hpbGQg
ZGlkbid0IHdyaXRlIGFueXRoaW5nLCBqdXN0IGdldCByaWQgb2YgaXQsCisg
ICAgICAgICAgICAjIG90aGVyd2lzZSB3ZSBlbmQgdXAgY29uc3VtaW5nIGEg
MC1zaXplIGZpbGUgd2hlbiBwYXJzaW5nCisgICAgICAgICAgICAjIHN5c3Rl
bXMgd2l0aG91dCBhIHJhbWRpc2sgdGhhdCB0aGUgdWx0aW1hdGUgY2FsbGVy
IG9mIHB5Z3J1YgorICAgICAgICAgICAgIyBtYXkganVzdCBiZSB1bmF3YXJl
IG9mCisgICAgICAgICAgICBpZiByYyAhPSAwIG9yIG9zLnBhdGguZ2V0c2l6
ZShwYXRoKSA9PSAwOgorICAgICAgICAgICAgICAgIG9zLnVubGluayhwYXRo
KQorCisgICAgICAgICMgTm9ybWFsbHksIHVuc2hhcmUoQ0xPTkVfTkVXTlMp
IHdpbGwgZW5zdXJlIHRoaXMgaXMgbm90IHJlcXVpcmVkLgorICAgICAgICAj
IEhvd2V2ZXIsIHRoaXMgc3lzY2FsbCBkb2Vzbid0IGV4aXN0IGluICpCU0Qg
c3lzdGVtcyBhbmQgZG9lc24ndAorICAgICAgICAjIGF1dG8tdW5tb3VudCBl
dmVyeXRoaW5nIG9uIG9sZGVyIExpbnV4IGtlcm5lbHMgKEF0IGxlYXN0IGFz
IG9mCisgICAgICAgICMgTGludXggNC4xOSwgYnV0IGl0IHNlZW1zIGZpeGVk
IGluIDUuMTUpLiBFaXRoZXIgd2F5LAorICAgICAgICAjIHJlY3Vyc2l2ZWx5
IHVubW91bnQgZXZlcnl0aGluZyBpZiBuZWVkZWQuIFF1aWV0bHkuCisgICAg
ICAgIHdpdGggb3BlbignL2Rldi9udWxsJywgJ3cnKSBhcyBkZXZudWxsOgor
ICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKFsidW1vdW50IiwgIi1mIiwg
Y2hyb290ICsgZGV2aWNlX3BhdGhdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0ZG91dD1kZXZudWxsLCBzdGRlcnI9ZGV2bnVsbCkKKyAgICAg
ICAgICAgIHN1YnByb2Nlc3MuY2FsbChbInVtb3VudCIsICItZiIsIGNocm9v
dF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PWRldm51
bGwsIHN0ZGVycj1kZXZudWxsKQorICAgICAgICBvcy5ybWRpcihjaHJvb3Qp
CisKKyAgICAgICAgc3lzLmV4aXQocmMpCisKKyAgICAjIEJ5IHVuc2hhcmlu
ZyB0aGUgbmFtZXNwYWNlIHdlJ3JlIG1ha2luZyBzdXJlIGl0J3MgYWxsIGJ1
bGstcmVsZWFzZWQKKyAgICAjIGF0IHRoZSBlbmQsIHdoZW4gdGhlIG5hbWVz
cGFjZXMgZGlzYXBwZWFyLiBUaGlzIG1lYW5zIHRoZSBrZXJuZWwgZG9lcwor
ICAgICMgKGFsbW9zdCkgYWxsIHRoZSBjbGVhbnVwIGZvciB1cyBhbmQgdGhl
IHBhcmVudCBqdXN0IGhhcyB0byByZW1vdmUgdGhlCisgICAgIyB0ZW1wb3Jh
cnkgZGlyZWN0b3J5LgorICAgIHVuc2hhcmUoQ0xPTkVfTkVXTlMgfCBDTE9O
RV9ORVdJUEMgfCBDTE9ORV9ORVdORVQpCisKKyAgICAjIFNldCBzZW5zaWJs
ZSBsaW1pdHMgdXNpbmcgdGhlIHNldHJsaW1pdCBpbnRlcmZhY2UKKyAgICBk
b3duZ3JhZGVfcmxpbWl0cygpCisKKyAgICAjIFdlJ2xsIG1vdW50IHRtcGZz
IG9uIHRoZSBjaHJvb3QgdG8gZW5zdXJlIHRoZSBkZXByaXZpbGVnZWQgY2hp
bGQKKyAgICAjIGNhbm5vdCBhZmZlY3QgdGhlIHBlcnNpc3RlbnQgc3RhdGUu
IEl0J3MgUlcgbm93IGluIG9yZGVyIHRvCisgICAgIyBiaW5kLW1vdW50IHRo
ZSBkZXZpY2UsIGJ1dCBub3RlIGl0J3MgcmVtb3VudGVkIFJPIGFmdGVyIHRo
YXQuCisgICAgcmMgPSBzdWJwcm9jZXNzLmNhbGwoWyJtb3VudCIsICItdCIs
ICJ0bXBmcyIsICJub25lIiwgY2hyb290XSkKKyAgICBpZiByYyAhPSAwOgor
ICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIm1vdW50X3RtcGZzIHJjPSVk
IGRzdD1cIiVzXCIiICUgKHJjLCBjaHJvb3QpKQorCisgICAgIyBCaW5kIHRo
ZSB1bnRydXN0ZWQgZGV2aWNlIFJPCisgICAgYmluZF9tb3VudChkZXZpY2Us
IGNocm9vdCArIGRldmljZV9wYXRoLCAicm8sbm9zdWlkLG5vZXhlYyIpCisK
KyAgICByYyA9IHN1YnByb2Nlc3MuY2FsbChbIm1vdW50IiwgIi10IiwgInRt
cGZzIiwgIi1vIiwgInJlbW91bnQscm8sbm9zdWlkLG5vZXhlYyxub2RldiIs
ICJub25lIiwgY2hyb290XSkKKyAgICBpZiByYyAhPSAwOgorICAgICAgICBy
YWlzZSBSdW50aW1lRXJyb3IoInJlbW91bnRfdG1wZnMgcmM9JWQgZHN0PVwi
JXNcIiIgJSAocmMsIGNocm9vdCkpCisKKyAgICAjIERyb3Agc3VwZXJwb3dl
cnMhCisgICAgb3MuY2hyb290KGNocm9vdCkKKyAgICBvcy5jaGRpcignLycp
CisgICAgb3Muc2V0Z2lkKHVpZCkKKyAgICBvcy5zZXRncm91cHMoW3VpZF0p
CisgICAgb3Muc2V0dWlkKHVpZCkKKworICAgIHJldHVybiBkZXZpY2VfcGF0
aAorCiBkZWYgcmVhZF9zaXplX3JvdW5kdXAoZmQsIHNpemUpOgogICAgIGlm
IHBsYXRmb3JtLnN5c3RlbSgpICE9ICdGcmVlQlNEJzoKICAgICAgICAgcmV0
dXJuIHNpemUKQEAgLTczNiw3ICs4NjQsNyBAQCBpZiBfX25hbWVfXyA9PSAi
X19tYWluX18iOgogICAgIHNlbCA9IE5vbmUKICAgICAKICAgICBkZWYgdXNh
Z2UoKToKLSAgICAgICAgcHJpbnQoIlVzYWdlOiAlcyBbLXF8LS1xdWlldF0g
Wy1pfC0taW50ZXJhY3RpdmVdIFstbHwtLWxpc3QtZW50cmllc10gWy1ufC0t
bm90LXJlYWxseV0gWy0tb3V0cHV0PV0gWy0ta2VybmVsPV0gWy0tcmFtZGlz
az1dIFstLWFyZ3M9XSBbLS1lbnRyeT1dIFstLW91dHB1dC1kaXJlY3Rvcnk9
XSBbLS1vdXRwdXQtZm9ybWF0PXN4cHxzaW1wbGV8c2ltcGxlMF0gWy0tb2Zm
c2V0PV0gPGltYWdlPiIgJShzeXMuYXJndlswXSwpLCBmaWxlPXN5cy5zdGRl
cnIpCisgICAgICAgIHByaW50KCJVc2FnZTogJXMgWy1xfC0tcXVpZXRdIFst
aXwtLWludGVyYWN0aXZlXSBbLWx8LS1saXN0LWVudHJpZXNdIFstbnwtLW5v
dC1yZWFsbHldIFstLW91dHB1dD1dIFstLWtlcm5lbD1dIFstLXJhbWRpc2s9
XSBbLS1hcmdzPV0gWy0tZW50cnk9XSBbLS1vdXRwdXQtZGlyZWN0b3J5PV0g
Wy0tb3V0cHV0LWZvcm1hdD1zeHB8c2ltcGxlfHNpbXBsZTBdIFstLXJ1bmFz
PV0gWy0tb2Zmc2V0PV0gPGltYWdlPiIgJShzeXMuYXJndlswXSwpLCBmaWxl
PXN5cy5zdGRlcnIpCiAKICAgICBkZWYgY29weV9mcm9tX2ltYWdlKGZzLCBm
aWxlX3RvX3JlYWQsIGZpbGVfdHlwZSwgZmRfZHN0LCBwYXRoX2RzdCwgbm90
X3JlYWxseSk6CiAgICAgICAgIGlmIG5vdF9yZWFsbHk6CkBAIC03NjAsNyAr
ODg4LDggQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAgICAg
ICAgICAgICBvcy53cml0ZShmZF9kc3QsIGRhdGEpCiAgICAgICAgICAgICBl
eGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICAgICAgcHJpbnQo
ZSwgZmlsZT1zeXMuc3RkZXJyKQotICAgICAgICAgICAgICAgIG9zLnVubGlu
ayhwYXRoX2RzdCkKKyAgICAgICAgICAgICAgICBpZiBwYXRoX2RzdDoKKyAg
ICAgICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfZHN0KQogICAgICAg
ICAgICAgICAgIGRlbCBkYXRhZmlsZQogICAgICAgICAgICAgICAgIHN5cy5l
eGl0KCJFcnJvciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5IG9mICIrZmlsZV90
eXBlKQogICAgICAgICAgICAgZGF0YW9mZiArPSBsZW4oZGF0YSkKQEAgLTc2
OSw3ICs4OTgsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAg
ICAgICBvcHRzLCBhcmdzID0gZ2V0b3B0LmdudV9nZXRvcHQoc3lzLmFyZ3Zb
MTpdLCAncWlsbmg6OicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsicXVpZXQiLCAiaW50ZXJhY3RpdmUiLCAibGlzdC1lbnRyaWVz
IiwgIm5vdC1yZWFsbHkiLCAiaGVscCIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAib3V0cHV0PSIsICJvdXRwdXQtZm9ybWF0PSIs
ICJvdXRwdXQtZGlyZWN0b3J5PSIsICJvZmZzZXQ9IiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJlbnRyeT0iLCAia2VybmVsPSIs
IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJ1bmFz
PSIsICJlbnRyeT0iLCAia2VybmVsPSIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmFtZGlzaz0iLCAiYXJncz0iLCAiaXNjb25m
aWciLCAiZGVidWciXSkKICAgICBleGNlcHQgZ2V0b3B0LkdldG9wdEVycm9y
OgogICAgICAgICB1c2FnZSgpCkBAIC03OTAsNiArOTE5LDcgQEAgaWYgX19u
YW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBub3RfcmVhbGx5ID0gRmFsc2UK
ICAgICBvdXRwdXRfZm9ybWF0ID0gInN4cCIKICAgICBvdXRwdXRfZGlyZWN0
b3J5ID0gIi92YXIvcnVuL3hlbi9weWdydWIvIgorICAgIHVpZCA9IE5vbmUK
IAogICAgICMgd2hhdCB3YXMgcGFzc2VkIGluCiAgICAgaW5jZmcgPSB7ICJr
ZXJuZWwiOiBOb25lLCAicmFtZGlzayI6IE5vbmUsICJhcmdzIjogIiIgfQpA
QCAtODEzLDYgKzk0MywxMyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18i
OgogICAgICAgICBlbGlmIG8gaW4gKCItLW91dHB1dCIsKToKICAgICAgICAg
ICAgIGlmIGEgIT0gIi0iOgogICAgICAgICAgICAgICAgIG91dHB1dCA9IGEK
KyAgICAgICAgZWxpZiBvIGluICgiLS1ydW5hcyIsKToKKyAgICAgICAgICAg
IHRyeToKKyAgICAgICAgICAgICAgICB1aWQgPSBpbnQoYSkKKyAgICAgICAg
ICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIHByaW50
KCJydW5hcyB2YWx1ZSBtdXN0IGJlIGFuIGludGVnZXIgdXNlciBpZCIpCisg
ICAgICAgICAgICAgICAgdXNhZ2UoKQorICAgICAgICAgICAgICAgIHN5cy5l
eGl0KDEpCiAgICAgICAgIGVsaWYgbyBpbiAoIi0ta2VybmVsIiwpOgogICAg
ICAgICAgICAgaW5jZmdbImtlcm5lbCJdID0gYQogICAgICAgICBlbGlmIG8g
aW4gKCItLXJhbWRpc2siLCk6CkBAIC04NDksNiArOTg2LDEwIEBAIGlmIF9f
bmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgaWYgZGVidWc6CiAgICAgICAg
IGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5ERUJVRykKIAor
ICAgIGlmIGludGVyYWN0aXZlIGFuZCB1aWQ6CisgICAgICAgIHByaW50KCJJ
biBvcmRlciB0byB1c2UgLS1ydW5hcywgeW91IG11c3QgYWxzbyBzZXQgLS1l
bnRyeSBvciAtcSIsIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgc3lzLmV4
aXQoMSkKKwogICAgIHRyeToKICAgICAgICAgb3MubWFrZWRpcnMob3V0cHV0
X2RpcmVjdG9yeSwgMG83MDApCiAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToK
QEAgLTg3MCw2ICsxMDExLDkgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9f
IjoKICAgICBlbHNlOgogICAgICAgICBmZCA9IG9zLm9wZW4ob3V0cHV0LCBv
cy5PX1dST05MWSkKIAorICAgIGlmIHVpZDoKKyAgICAgICAgZmlsZSA9IGRl
cHJpdihvdXRwdXRfZGlyZWN0b3J5LCBvdXRwdXQsIGZpbGUsIHVpZCwgcGF0
aF9rZXJuZWwsIHBhdGhfcmFtZGlzaykKKwogICAgICMgZGVidWcKICAgICBp
ZiBpc2NvbmZpZzoKICAgICAgICAgY2hvc2VuY2ZnID0gcnVuX2dydWIoZmls
ZSwgZW50cnksIGZzLCBpbmNmZ1siYXJncyJdKQpAQCAtOTI1LDIxICsxMDY5
LDIxIEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgICAgIHJh
aXNlIFJ1bnRpbWVFcnJvcigiVW5hYmxlIHRvIGZpbmQgcGFydGl0aW9uIGNv
bnRhaW5pbmcga2VybmVsIikKIAogICAgIGNvcHlfZnJvbV9pbWFnZShmcywg
Y2hvc2VuY2ZnWyJrZXJuZWwiXSwgImtlcm5lbCIsCi0gICAgICAgICAgICAg
ICAgICAgIGZkX2tlcm5lbCwgcGF0aF9rZXJuZWwsIG5vdF9yZWFsbHkpCisg
ICAgICAgICAgICAgICAgICAgIGZkX2tlcm5lbCwgTm9uZSBpZiB1aWQgZWxz
ZSBwYXRoX2tlcm5lbCwgbm90X3JlYWxseSkKICAgICBib290Y2ZnWyJrZXJu
ZWwiXSA9IHBhdGhfa2VybmVsCiAKICAgICBpZiBjaG9zZW5jZmdbInJhbWRp
c2siXToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY29weV9mcm9tX2lt
YWdlKGZzLCBjaG9zZW5jZmdbInJhbWRpc2siXSwgInJhbWRpc2siLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZkX3JhbWRpc2ssIHBhdGhfcmFt
ZGlzaywgbm90X3JlYWxseSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmZF9yYW1kaXNrLCBOb25lIGlmIHVpZCBlbHNlIHBhdGhfcmFtZGlzaywg
bm90X3JlYWxseSkKICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgaWYg
bm90IG5vdF9yZWFsbHk6Ci0gICAgICAgICAgICAgICAgb3MudW5saW5rKHBh
dGhfa2VybmVsKQorICAgICAgICAgICAgaWYgbm90IHVpZCBhbmQgbm90IG5v
dF9yZWFsbHk6CisgICAgICAgICAgICAgICAgICAgIG9zLnVubGluayhwYXRo
X2tlcm5lbCkKICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGJvb3RjZmdb
InJhbWRpc2siXSA9IHBhdGhfcmFtZGlzawogICAgIGVsc2U6CiAgICAgICAg
IGluaXRyZCA9IE5vbmUKLSAgICAgICAgaWYgbm90IG5vdF9yZWFsbHk6Cisg
ICAgICAgIGlmIG5vdCB1aWQgYW5kIG5vdCBub3RfcmVhbGx5OgogICAgICAg
ICAgICAgb3MudW5saW5rKHBhdGhfcmFtZGlzaykKIAogICAgIGFyZ3MgPSBO
b25lCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-10.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-10.patch"
Content-Transfer-Encoding: base64

RnJvbSA1NzZlN2FhMDJhYjgzOGI2NzY4YjQ5OGYzMTBjNzBjYTQ5NTM3MjAy
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBNb24sIDI1IFNlcCAy
MDIzIDE0OjMwOjIwICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMC8xMV0gbGli
eGw6IGFkZCBzdXBwb3J0IGZvciBydW5uaW5nIGJvb3Rsb2FkZXIgaW4gcmVz
dHJpY3RlZAogbW9kZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6
IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1F
bmNvZGluZzogOGJpdAoKTXVjaCBsaWtlIHRoZSBkZXZpY2UgbW9kZWwgZGVw
cml2IG1vZGUsIGFkZCB0aGUgc2FtZSBraW5kIG9mIHN1cHBvcnQgZm9yIHRo
ZQpib290bG9hZGVyLiAgU3VjaCBmZWF0dXJlIGFsbG93cyBwYXNzaW5nIGEg
VUlEIGFzIGEgcGFyYW1ldGVyIGZvciB0aGUKYm9vdGxvYWRlciB0byBydW4g
YXMsIHRvZ2V0aGVyIHdpdGggdGhlIGJvb3Rsb2FkZXIgaXRzZWxmIHRha2lu
ZyB0aGUgbmVjZXNzYXJ5CmFjdGlvbnMgdG8gaXNvbGF0ZS4KCk5vdGUgdGhh
dCB0aGUgdXNlciB0byBydW4gdGhlIGJvb3Rsb2FkZXIgYXMgbXVzdCBoYXZl
IHRoZSByaWdodCBwZXJtaXNzaW9ucyB0bwphY2Nlc3MgdGhlIGd1ZXN0IGRp
c2sgaW1hZ2UgKGluIHJlYWQgbW9kZSBvbmx5KSwgYW5kIHRoYXQgdGhlIGJv
b3Rsb2FkZXIgd2lsbApiZSBydW4gaW4gbm9uLWludGVyYWN0aXZlIG1vZGUg
d2hlbiByZXN0cmljdGVkLgoKSWYgZW5hYmxlZCBib290bG9hZGVyIHJlc3Ry
aWN0IG1vZGUgd2lsbCBhdHRlbXB0IHRvIHJlLXVzZSB0aGUgdXNlcihzKSBm
cm9tIHRoZQpRRU1VIGRlcHJpdiBpbXBsZW1lbnRhdGlvbiBpZiBubyB1c2Vy
IGlzIHByb3ZpZGVkIG9uIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgb3IKdGhl
IGVudmlyb25tZW50LiAgU2VlIGRvY3MvZmVhdHVyZXMvcWVtdS1kZXByaXZp
bGVnZS5wYW5kb2MgZm9yIG1vcmUKaW5mb3JtYXRpb24gYWJvdXQgaG93IHRv
IHNldHVwIHRob3NlIHVzZXJzLgoKQm9vdGxvYWRlciByZXN0cmljdCBtb2Rl
IGlzIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQgYXMgaXQgcmVxdWlyZXMgY2Vy
dGFpbgpzZXR1cCB0byBiZSBkb25lIGZpcnN0IChzZXR1cCBvZiB0aGUgdXNl
cihzKSB0byB1c2UgaW4gcmVzdHJpY3QgbW9kZSkuCgpUaGlzIGlzIHBhcnQg
b2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBS
b2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3
ZWQtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXgu
Y29tPgotLS0KIGRvY3MvbWFuL3hsLjEucG9kLmluICAgICAgICAgICAgICAg
IHwgMzMgKysrKysrKysrKysKIHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9v
dGxvYWRlci5jIHwgODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0K
IHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfZG0uYyAgICAgICAgIHwgIDggKy0t
CiB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2ludGVybmFsLmggICB8ICA4ICsr
KwogNCBmaWxlcyBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygrKSwgNyBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC4xLnBvZC5pbiBi
L2RvY3MvbWFuL3hsLjEucG9kLmluCmluZGV4IDQ1ZTE0MzBhZWI3NC4uOTZl
NmZiMWMzMmEzIDEwMDY0NAotLS0gYS9kb2NzL21hbi94bC4xLnBvZC5pbgor
KysgYi9kb2NzL21hbi94bC4xLnBvZC5pbgpAQCAtMTk3Niw2ICsxOTc2LDM5
IEBAIGlnbm9yZWQ6CiAKID1iYWNrCiAKKz1oZWFkMSBFTlZJUk9OTUVOVCBW
QVJJQUJMRVMKKworVGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJs
ZXMgc2hhbGwgYWZmZWN0IHRoZSBleGVjdXRpb24gb2YgeGw6CisKKz1vdmVy
IDQKKworPWl0ZW0gTElCWExfQk9PVExPQURFUl9SRVNUUklDVAorCitBdHRl
bXB0IHRvIHJlc3RyaWN0IHRoZSBib290bG9hZGVyIGFmdGVyIHN0YXJ0dXAs
IHRvIGxpbWl0IHRoZQorY29uc2VxdWVuY2VzIG9mIHNlY3VyaXR5IHZ1bG5l
cmFiaWxpdGllcyBkdWUgdG8gcGFyc2luZyBndWVzdAorb3duZWQgaW1hZ2Ug
ZmlsZXMuCisKK1NlZSBkb2NzL2ZlYXR1cmVzL3FlbXUtZGVwcml2aWxlZ2Uu
cGFuZG9jIGZvciBtb3JlIGluZm9ybWF0aW9uCitvbiBob3cgdG8gc2V0dXAg
dGhlIHVucHJpdmlsZWdlZCB1c2Vycy4KKworTm90ZSB0aGF0IHJ1bm5pbmcg
dGhlIGJvb3Rsb2FkZXIgaW4gcmVzdHJpY3RlZCBtb2RlIGFsc28gaW1wbGll
cyB1c2luZworbm9uLWludGVyYWN0aXZlIG1vZGUsIGFuZCB0aGUgZGlzayBp
bWFnZSBtdXN0IGJlIHJlYWRhYmxlIGJ5IHRoZQorcmVzdHJpY3RlZCB1c2Vy
LgorCitIYXZpbmcgdGhpcyB2YXJpYWJsZSBzZXQgaXMgZXF1aXZhbGVudCB0
byBlbmFibGluZyB0aGUgb3B0aW9uLCBldmVuIGlmIHRoZQordmFsdWUgaXMg
MC4KKworPWl0ZW0gTElCWExfQk9PVExPQURFUl9VU0VSCisKK1doZW4gdXNp
bmcgYm9vdGxvYWRlcl9yZXN0cmljdCwgcnVuIHRoZSBib290bG9hZGVyIGFz
IHRoaXMgdXNlci4gIElmCitub3Qgc2V0IHRoZSBkZWZhdWx0IFFFTVUgcmVz
dHJpY3QgdXNlcnMgd2lsbCBiZSB1c2VkLgorCitOT1RFOiBFYWNoIGRvbWFp
biBNVVNUIGhhdmUgYSBTRVBBUkFURSB1c2VybmFtZS4KKworU2VlIGRvY3Mv
ZmVhdHVyZXMvcWVtdS1kZXByaXZpbGVnZS5wYW5kb2MgZm9yIG1vcmUgaW5m
b3JtYXRpb24uCisKKz1iYWNrCisKID1oZWFkMSBTRUUgQUxTTwogCiBUaGUg
Zm9sbG93aW5nIG1hbiBwYWdlczoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMv
bGlnaHQvbGlieGxfYm9vdGxvYWRlci5jIGIvdG9vbHMvbGlicy9saWdodC9s
aWJ4bF9ib290bG9hZGVyLmMKaW5kZXggMThlOWViZDcxNDhjLi45N2Q5YmY0
ZGRjMGEgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9v
dGxvYWRlci5jCisrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxv
YWRlci5jCkBAIC0xNCw2ICsxNCw3IEBACiAKICNpbmNsdWRlICJsaWJ4bF9v
c2RlcHMuaCIgLyogbXVzdCBjb21lIGJlZm9yZSBhbnkgb3RoZXIgaGVhZGVy
cyAqLwogCisjaW5jbHVkZSA8cHdkLmg+CiAjaW5jbHVkZSA8dGVybWlvcy5o
PgogI2lmZGVmIEhBVkVfVVRNUF9ICiAjaW5jbHVkZSA8dXRtcC5oPgpAQCAt
NDYsOCArNDcsNzEgQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9hcmcobGli
eGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLCBjb25zdCBjaGFyICphcmcpCiAg
ICAgYmwtPmFyZ3NbYmwtPm5hcmdzKytdID0gYXJnOwogfQogCi1zdGF0aWMg
dm9pZCBtYWtlX2Jvb3Rsb2FkZXJfYXJncyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4
bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBjaGFyICpib290bG9hZGVyX3BhdGgpCitz
dGF0aWMgaW50IGJvb3Rsb2FkZXJfdWlkKGxpYnhsX19nYyAqZ2MsIGRvbWlk
X3QgZ3Vlc3RfZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGNoYXIgKnVzZXIsIHVpZF90ICppbnRlbmRlZF91aWQpCit7CisgICAg
c3RydWN0IHBhc3N3ZCAqdXNlcl9iYXNlLCB1c2VyX3B3YnVmOworICAgIGlu
dCByYzsKKworICAgIGlmICh1c2VyKSB7CisgICAgICAgIHJjID0gdXNlcmxv
b2t1cF9oZWxwZXJfZ2V0cHduYW0oZ2MsIHVzZXIsICZ1c2VyX3B3YnVmLCAm
dXNlcl9iYXNlKTsKKyAgICAgICAgaWYgKHJjKSByZXR1cm4gcmM7CisKKyAg
ICAgICAgaWYgKCF1c2VyX2Jhc2UpIHsKKyAgICAgICAgICAgIExPR0QoRVJS
T1IsIGd1ZXN0X2RvbWlkLCAiQ291bGRuJ3QgZmluZCB1c2VyICVzIiwgdXNl
cik7CisgICAgICAgICAgICByZXR1cm4gRVJST1JfSU5WQUw7CisgICAgICAg
IH0KKworICAgICAgICAqaW50ZW5kZWRfdWlkID0gdXNlcl9iYXNlLT5wd191
aWQ7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8qIFJlLXVz
ZSBRRU1VIHVzZXIgcmFuZ2UgZm9yIHRoZSBib290bG9hZGVyLiAqLworICAg
IHJjID0gdXNlcmxvb2t1cF9oZWxwZXJfZ2V0cHduYW0oZ2MsIExJQlhMX1FF
TVVfVVNFUl9SQU5HRV9CQVNFLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnVzZXJfcHdidWYsICZ1c2VyX2Jhc2UpOworICAgIGlm
IChyYykgcmV0dXJuIHJjOworCisgICAgaWYgKHVzZXJfYmFzZSkgeworICAg
ICAgICBzdHJ1Y3QgcGFzc3dkICp1c2VyX2NsYXNoLCB1c2VyX2NsYXNoX3B3
YnVmOworICAgICAgICB1aWRfdCB0ZW1wX3VpZCA9IHVzZXJfYmFzZS0+cHdf
dWlkICsgZ3Vlc3RfZG9taWQ7CisKKyAgICAgICAgcmMgPSB1c2VybG9va3Vw
X2hlbHBlcl9nZXRwd3VpZChnYywgdGVtcF91aWQsICZ1c2VyX2NsYXNoX3B3
YnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZ1c2VyX2NsYXNoKTsKKyAgICAgICAgaWYgKHJjKSByZXR1cm4gcmM7CisK
KyAgICAgICAgaWYgKHVzZXJfY2xhc2gpIHsKKyAgICAgICAgICAgIExPR0Qo
RVJST1IsIGd1ZXN0X2RvbWlkLAorICAgICAgICAgICAgICAgICAid2FudGVk
IHRvIHVzZSB1aWQgJWxkICglcyArICVkKSBidXQgdGhhdCBpcyB1c2VyICVz
ICEiLAorICAgICAgICAgICAgICAgICAobG9uZyl0ZW1wX3VpZCwgTElCWExf
UUVNVV9VU0VSX1JBTkdFX0JBU0UsCisgICAgICAgICAgICAgICAgIGd1ZXN0
X2RvbWlkLCB1c2VyX2NsYXNoLT5wd19uYW1lKTsKKyAgICAgICAgICAgIHJl
dHVybiBFUlJPUl9JTlZBTDsKKyAgICAgICAgfQorCisgICAgICAgICppbnRl
bmRlZF91aWQgPSB0ZW1wX3VpZDsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgcmMgPSB1c2VybG9va3VwX2hlbHBlcl9nZXRwd25hbShnYywg
TElCWExfUUVNVV9VU0VSX1NIQVJFRCwgJnVzZXJfcHdidWYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdXNlcl9iYXNlKTsKKyAg
ICBpZiAocmMpIHJldHVybiByYzsKKworICAgIGlmICh1c2VyX2Jhc2UpIHsK
KyAgICAgICAgTE9HRChXQVJOLCBndWVzdF9kb21pZCwgIkNvdWxkIG5vdCBm
aW5kIHVzZXIgJXMsIGZhbGxpbmcgYmFjayB0byAlcyIsCisgICAgICAgICAg
ICAgTElCWExfUUVNVV9VU0VSX1JBTkdFX0JBU0UsIExJQlhMX1FFTVVfVVNF
Ul9TSEFSRUQpOworICAgICAgICAqaW50ZW5kZWRfdWlkID0gdXNlcl9iYXNl
LT5wd191aWQ7CisKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
TE9HRChFUlJPUiwgZ3Vlc3RfZG9taWQsCisgICAgIkNvdWxkIG5vdCBmaW5k
IHVzZXIgJXMgb3IgcmFuZ2UgYmFzZSBwc2V1ZG8tdXNlciAlcywgY2Fubm90
IHJlc3RyaWN0IiwKKyAgICAgICAgIExJQlhMX1FFTVVfVVNFUl9TSEFSRUQs
IExJQlhMX1FFTVVfVVNFUl9SQU5HRV9CQVNFKTsKKworICAgIHJldHVybiBF
UlJPUl9JTlZBTDsKK30KKworc3RhdGljIGludCBtYWtlX2Jvb3Rsb2FkZXJf
YXJncyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAq
YmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmJvb3Rsb2FkZXJfcGF0aCkKIHsKICAgICBjb25zdCBsaWJ4bF9kb21h
aW5fYnVpbGRfaW5mbyAqaW5mbyA9IGJsLT5pbmZvOwogCkBAIC02NSw2ICsx
MjksMjMgQEAgc3RhdGljIHZvaWQgbWFrZV9ib290bG9hZGVyX2FyZ3MobGli
eGxfX2djICpnYywgbGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLAogICAg
ICAgICBBUkcoR0NTUFJJTlRGKCItLXJhbWRpc2s9JXMiLCBpbmZvLT5yYW1k
aXNrKSk7CiAgICAgaWYgKGluZm8tPmNtZGxpbmUgJiYgKmluZm8tPmNtZGxp
bmUgIT0gJ1wwJykKICAgICAgICAgQVJHKEdDU1BSSU5URigiLS1hcmdzPSVz
IiwgaW5mby0+Y21kbGluZSkpOworICAgIGlmIChnZXRlbnYoIkxJQlhMX0JP
T1RMT0FERVJfUkVTVFJJQ1QiKSB8fAorICAgICAgICBnZXRlbnYoIkxJQlhM
X0JPT1RMT0FERVJfVVNFUiIpKSB7CisgICAgICAgIHVpZF90IHVpZCA9IC0x
OworICAgICAgICBpbnQgcmMgPSBib290bG9hZGVyX3VpZChnYywgYmwtPmRv
bWlkLCBnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfVVNFUiIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmdWlkKTsKKworICAgICAgICBp
ZiAocmMpIHJldHVybiByYzsKKworICAgICAgICBhc3NlcnQodWlkICE9IC0x
KTsKKyAgICAgICAgaWYgKCF1aWQpIHsKKyAgICAgICAgICAgIExPR0QoRVJS
T1IsIGJsLT5kb21pZCwgImJvb3Rsb2FkZXIgcmVzdHJpY3QgVUlEIGlzIDAg
KHJvb3QpISIpOworICAgICAgICAgICAgcmV0dXJuIEVSUk9SX0lOVkFMOwor
ICAgICAgICB9CisgICAgICAgIExPR0QoREVCVUcsIGJsLT5kb21pZCwgInVz
aW5nIHVpZCAlbGQiLCAobG9uZyl1aWQpOworICAgICAgICBBUkcoR0NTUFJJ
TlRGKCItLXJ1bmFzPSVsZCIsIChsb25nKXVpZCkpOworICAgICAgICBBUkco
Ii0tcXVpZXQiKTsKKyAgICB9CiAKICAgICBBUkcoR0NTUFJJTlRGKCItLW91
dHB1dD0lcyIsIGJsLT5vdXRwdXRwYXRoKSk7CiAgICAgQVJHKCItLW91dHB1
dC1mb3JtYXQ9c2ltcGxlMCIpOwpAQCAtODMsNiArMTY0LDcgQEAgc3RhdGlj
IHZvaWQgbWFrZV9ib290bG9hZGVyX2FyZ3MobGlieGxfX2djICpnYywgbGli
eGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLAogICAgIC8qIFNlbnRpbmVsIGZv
ciBleGVjdiAqLwogICAgIEFSRyhOVUxMKTsKIAorICAgIHJldHVybiAwOwog
I3VuZGVmIEFSRwogfQogCkBAIC00NDcsNyArNTI5LDggQEAgc3RhdGljIHZv
aWQgYm9vdGxvYWRlcl9kaXNrX2F0dGFjaGVkX2NiKGxpYnhsX19lZ2MgKmVn
YywKICAgICAgICAgICAgIGJvb3Rsb2FkZXIgPSBibHRtcDsKICAgICB9CiAK
LSAgICBtYWtlX2Jvb3Rsb2FkZXJfYXJncyhnYywgYmwsIGJvb3Rsb2FkZXIp
OworICAgIHJjID0gbWFrZV9ib290bG9hZGVyX2FyZ3MoZ2MsIGJsLCBib290
bG9hZGVyKTsKKyAgICBpZiAocmMpIGdvdG8gb3V0OwogCiAgICAgYmwtPm9w
ZW5wdHkuYW8gPSBhbzsKICAgICBibC0+b3BlbnB0eS5jYWxsYmFjayA9IGJv
b3Rsb2FkZXJfZ290cHR5czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfZG0uYwpp
bmRleCBiODZlOGNjYzg1OGYuLjU5ZGU1YzFhZTIyZiAxMDA2NDQKLS0tIGEv
dG9vbHMvbGlicy9saWdodC9saWJ4bF9kbS5jCisrKyBiL3Rvb2xzL2xpYnMv
bGlnaHQvbGlieGxfZG0uYwpAQCAtODAsMTAgKzgwLDEwIEBAIHN0YXRpYyBp
bnQgbGlieGxfX2NyZWF0ZV9xZW11X2xvZ2ZpbGUobGlieGxfX2djICpnYywg
Y2hhciAqbmFtZSkKICAqICBPbiBlcnJvciwgcmV0dXJuIGEgbGlieGwtc3R5
bGUgZXJyb3IgY29kZS4KICAqLwogI2RlZmluZSBERUZJTkVfVVNFUkxPT0tV
UF9IRUxQRVIoTkFNRSxTUEVDX1RZUEUsU1RSVUNUTkFNRSxTWVNDT05GKSAg
ICAgXAotICAgIHN0YXRpYyBpbnQgdXNlcmxvb2t1cF9oZWxwZXJfIyNOQU1F
KGxpYnhsX19nYyAqZ2MsICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQRUNfVFlQRSBzcGVj
LCAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCBTVFJVQ1ROQU1FICpyZXN1bHRidWYs
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCBTVFJVQ1ROQU1FICoqb3V0KSAgICAgICAgXAorICAgIGludCB1
c2VybG9va3VwX2hlbHBlcl8jI05BTUUobGlieGxfX2djICpnYywgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU1BFQ19UWVBFIHNwZWMsICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0
IFNUUlVDVE5BTUUgKnJlc3VsdGJ1ZiwgICAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IFNUUlVDVE5BTUUgKipv
dXQpICAgICAgICAgICAgICAgXAogICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgICAgICBzdHJ1Y3QgU1RSVUNUTkFNRSAqcmVzdWx0cCA9IE5V
TEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBj
aGFyICpidWYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9s
aWdodC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlicy9saWdodC9saWJ4
bF9pbnRlcm5hbC5oCmluZGV4IGNjMjdjNzJlY2YzMC4uODQxNWQxZmVlZDE2
IDEwMDY0NAotLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2ludGVybmFs
LmgKKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9pbnRlcm5hbC5oCkBA
IC00ODY0LDYgKzQ4NjQsMTQgQEAgc3RydWN0IGxpYnhsX19jcHVfcG9saWN5
IHsKICAgICBzdHJ1Y3QgeGNfbXNyICptc3I7CiB9OwogCitzdHJ1Y3QgcGFz
c3dkOworX2hpZGRlbiBpbnQgdXNlcmxvb2t1cF9oZWxwZXJfZ2V0cHduYW0o
bGlieGxfX2djKiwgY29uc3QgY2hhciAqdXNlciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwYXNzd2QgKnJlcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj
dCBwYXNzd2QgKipvdXQpOworX2hpZGRlbiBpbnQgdXNlcmxvb2t1cF9oZWxw
ZXJfZ2V0cHd1aWQobGlieGxfX2djKiwgdWlkX3QgdWlkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhc3N3ZCAq
cmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RydWN0IHBhc3N3ZCAqKm91dCk7CisKICNlbmRpZgogCiAvKgotLSAKMi40
Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.15-11.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.15-11.patch"
Content-Transfer-Encoding: base64

RnJvbSAzNDIyMTg4NDc1MmJiODM1YmJkYWI2NjM3OGIzY2VjYmYxMzNlM2Qz
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI4IFNlcCAy
MDIzIDEyOjIyOjM1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gbGli
eGw6IGxpbWl0IGJvb3Rsb2FkZXIgZXhlY3V0aW9uIGluIHJlc3RyaWN0ZWQg
bW9kZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxh
aW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
OGJpdAoKSW50cm9kdWNlIGEgdGltZW91dCBmb3IgYm9vdGxvYWRlciBleGVj
dXRpb24gd2hlbiBydW5uaW5nIGluIHJlc3RyaWN0ZWQgbW9kZS4KCkFsbG93
IG92ZXJ3cml0aW5nIHRoZSBkZWZhdWx0IHRpbWUgb3V0IHdpdGggYW4gZW52
aXJvbm1lbnQgcHJvdmlkZWQgdmFsdWUuCgpUaGlzIGlzIHBhcnQgb2YgWFNB
LTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQ
YXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6
IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgot
LS0KIGRvY3MvbWFuL3hsLjEucG9kLmluICAgICAgICAgICAgICAgIHwgIDgg
KysrKysrCiB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2Jvb3Rsb2FkZXIuYyB8
IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJz
L2xpZ2h0L2xpYnhsX2ludGVybmFsLmggICB8ICAyICsrCiAzIGZpbGVzIGNo
YW5nZWQsIDUwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2NzL21h
bi94bC4xLnBvZC5pbiBiL2RvY3MvbWFuL3hsLjEucG9kLmluCmluZGV4IDk2
ZTZmYjFjMzJhMy4uOGYwNTY0NTBhNzMwIDEwMDY0NAotLS0gYS9kb2NzL21h
bi94bC4xLnBvZC5pbgorKysgYi9kb2NzL21hbi94bC4xLnBvZC5pbgpAQCAt
MjAwNyw2ICsyMDA3LDE0IEBAIE5PVEU6IEVhY2ggZG9tYWluIE1VU1QgaGF2
ZSBhIFNFUEFSQVRFIHVzZXJuYW1lLgogCiBTZWUgZG9jcy9mZWF0dXJlcy9x
ZW11LWRlcHJpdmlsZWdlLnBhbmRvYyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4K
IAorPWl0ZW0gTElCWExfQk9PVExPQURFUl9USU1FT1VUCisKK1RpbWVvdXQg
aW4gc2Vjb25kcyBmb3IgYm9vdGxvYWRlciBleGVjdXRpb24gd2hlbiBydW5u
aW5nIGluIHJlc3RyaWN0ZWQgbW9kZS4KK090aGVyd2lzZSB0aGUgYnVpbGQg
dGltZSBkZWZhdWx0IGluIExJQlhMX0JPT1RMT0FERVJfVElNRU9VVCB3aWxs
IGJlIHVzZWQuCisKK0lmIGRlZmluZWQgdGhlIHZhbHVlIG11c3QgYmUgYW4g
dW5zaWduZWQgaW50ZWdlciBiZXR3ZWVuIDAgYW5kIElOVF9NQVgsCitvdGhl
cndpc2UgYmVoYXZpb3IgaXMgdW5kZWZpbmVkLiAgU2V0dGluZyB0byAwIGRp
c2FibGVzIHRoZSB0aW1lb3V0LgorCiA9YmFjawogCiA9aGVhZDEgU0VFIEFM
U08KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxv
YWRlci5jIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9ib290bG9hZGVyLmMK
aW5kZXggOTdkOWJmNGRkYzBhLi4zY2E2NDYzZTVmNjMgMTAwNjQ0Ci0tLSBh
L3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxvYWRlci5jCisrKyBiL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxvYWRlci5jCkBAIC0zNCw2ICsz
NCw4IEBAIHN0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfa2V5c3Ryb2tlc19jb3B5
ZmFpbChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgbGlieGxfX2RhdGFjb3Bp
ZXJfc3RhdGUgKmRjLCBpbnQgcmMsIGludCBvbndyaXRlLCBpbnQgZXJybm92
YWwpOwogc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9kaXNwbGF5X2NvcHlmYWls
KGxpYnhsX19lZ2MgKmVnYywKICAgICAgICBsaWJ4bF9fZGF0YWNvcGllcl9z
dGF0ZSAqZGMsIGludCByYywgaW50IG9ud3JpdGUsIGludCBlcnJub3ZhbCk7
CitzdGF0aWMgdm9pZCBib290bG9hZGVyX3RpbWVvdXQobGlieGxfX2VnYyAq
ZWdjLCBsaWJ4bF9fZXZfdGltZSAqZXYsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9h
YnMsIGludCByYyk7CiBzdGF0aWMgdm9pZCBib290bG9hZGVyX2RvbWFpbmRl
YXRoKGxpYnhsX19lZ2MqLCBsaWJ4bF9fZG9tYWluZGVhdGhjaGVjayAqZGMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7
CiBzdGF0aWMgdm9pZCBib290bG9hZGVyX2ZpbmlzaGVkKGxpYnhsX19lZ2Mg
KmVnYywgbGlieGxfX2V2X2NoaWxkICpjaGlsZCwKQEAgLTMwMSw2ICszMDMs
NyBAQCB2b2lkIGxpYnhsX19ib290bG9hZGVyX2luaXQobGlieGxfX2Jvb3Rs
b2FkZXJfc3RhdGUgKmJsKQogICAgIGJsLT5wdHlzWzBdLm1hc3RlciA9IGJs
LT5wdHlzWzBdLnNsYXZlID0gMDsKICAgICBibC0+cHR5c1sxXS5tYXN0ZXIg
PSBibC0+cHR5c1sxXS5zbGF2ZSA9IDA7CiAgICAgbGlieGxfX2V2X2NoaWxk
X2luaXQoJmJsLT5jaGlsZCk7CisgICAgbGlieGxfX2V2X3RpbWVfaW5pdCgm
YmwtPnRpbWUpOwogICAgIGxpYnhsX19kb21haW5kZWF0aGNoZWNrX2luaXQo
JmJsLT5kZWF0aGNoZWNrKTsKICAgICBibC0+a2V5c3Ryb2tlcy5hbyA9IGJs
LT5hbzsgIGxpYnhsX19kYXRhY29waWVyX2luaXQoJmJsLT5rZXlzdHJva2Vz
KTsKICAgICBibC0+ZGlzcGxheS5hbyA9IGJsLT5hbzsgICAgIGxpYnhsX19k
YXRhY29waWVyX2luaXQoJmJsLT5kaXNwbGF5KTsKQEAgLTMxOCw2ICszMjEs
NyBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX2NsZWFudXAobGlieGxfX2Vn
YyAqZWdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwpCiAgICAgbGli
eGxfX2RvbWFpbmRlYXRoY2hlY2tfc3RvcChnYywmYmwtPmRlYXRoY2hlY2sp
OwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwoJmJsLT5rZXlzdHJva2Vz
KTsKICAgICBsaWJ4bF9fZGF0YWNvcGllcl9raWxsKCZibC0+ZGlzcGxheSk7
CisgICAgbGlieGxfX2V2X3RpbWVfZGVyZWdpc3RlcihnYywgJmJsLT50aW1l
KTsKICAgICBmb3IgKGk9MDsgaTwyOyBpKyspIHsKICAgICAgICAgbGlieGxf
X2NhcmVmZF9jbG9zZShibC0+cHR5c1tpXS5tYXN0ZXIpOwogICAgICAgICBs
aWJ4bF9fY2FyZWZkX2Nsb3NlKGJsLT5wdHlzW2ldLnNsYXZlKTsKQEAgLTM3
OSw2ICszODMsNyBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX3N0b3AobGli
eGxfX2VnYyAqZWdjLAogCiAgICAgbGlieGxfX2RhdGFjb3BpZXJfa2lsbCgm
YmwtPmtleXN0cm9rZXMpOwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwo
JmJsLT5kaXNwbGF5KTsKKyAgICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVy
KGdjLCAmYmwtPnRpbWUpOwogICAgIGlmIChsaWJ4bF9fZXZfY2hpbGRfaW51
c2UoJmJsLT5jaGlsZCkpIHsKICAgICAgICAgciA9IGtpbGwoYmwtPmNoaWxk
LnBpZCwgU0lHVEVSTSk7CiAgICAgICAgIGlmIChyKSBMT0dFRChXQVJOLCBi
bC0+ZG9taWQsICIlc2ZhaWxlZCB0byBraWxsIGJvb3Rsb2FkZXIgWyVsdV0i
LApAQCAtNjQxLDYgKzY0NiwyNSBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVy
X2dvdHB0eXMobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fb3BlbnB0eV9zdGF0
ZSAqb3ApCiAKICAgICBzdHJ1Y3QgdGVybWlvcyB0ZXJtYXR0cjsKIAorICAg
IGlmIChnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfUkVTVFJJQ1QiKSB8fAor
ICAgICAgICBnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfVVNFUiIpKSB7Cisg
ICAgICAgIGNvbnN0IGNoYXIgKnRpbWVvdXRfZW52ID0gZ2V0ZW52KCJMSUJY
TF9CT09UTE9BREVSX1RJTUVPVVQiKTsKKyAgICAgICAgaW50IHRpbWVvdXQg
PSB0aW1lb3V0X2VudiA/IGF0b2kodGltZW91dF9lbnYpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOiBMSUJYTF9CT09UTE9BREVSX1RJ
TUVPVVQ7CisKKyAgICAgICAgaWYgKHRpbWVvdXQpIHsKKyAgICAgICAgICAg
IC8qIFNldCBleGVjdXRpb24gdGltZW91dCAqLworICAgICAgICAgICAgcmMg
PSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoYW8sICZibC0+dGltZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vdGxvYWRlcl90aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ICogMTAwMCk7CisgICAgICAg
ICAgICBpZiAocmMpIHsKKyAgICAgICAgICAgICAgICBMT0dFRChFUlJPUiwg
YmwtPmRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICJ1bmFibGUgdG8g
cmVnaXN0ZXIgdGltZW91dCBmb3IgYm9vdGxvYWRlciBleGVjdXRpb24iKTsK
KyAgICAgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIH0KKwogICAgIHBpZF90IHBpZCA9IGxpYnhsX19ldl9j
aGlsZF9mb3JrKGdjLCAmYmwtPmNoaWxkLCBib290bG9hZGVyX2ZpbmlzaGVk
KTsKICAgICBpZiAocGlkID09IC0xKSB7CiAgICAgICAgIHJjID0gRVJST1Jf
RkFJTDsKQEAgLTcwNiw2ICs3MzAsMjEgQEAgc3RhdGljIHZvaWQgYm9vdGxv
YWRlcl9kaXNwbGF5X2NvcHlmYWlsKGxpYnhsX19lZ2MgKmVnYywKICAgICBs
aWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwgPSBDT05UQUlORVJfT0YoZGMs
ICpibCwgZGlzcGxheSk7CiAgICAgYm9vdGxvYWRlcl9jb3B5ZmFpbChlZ2Ms
ICJib290bG9hZGVyIG91dHB1dCIsIGJsLCAxLCByYyxvbndyaXRlLGVycm5v
dmFsKTsKIH0KK3N0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfdGltZW91dChsaWJ4
bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVx
dWVzdGVkX2FicywgaW50IHJjKQoreworICAgIGxpYnhsX19ib290bG9hZGVy
X3N0YXRlICpibCA9IENPTlRBSU5FUl9PRihldiwgKmJsLCB0aW1lKTsKKyAg
ICBTVEFURV9BT19HQyhibC0+YW8pOworCisgICAgbGlieGxfX2V2X3RpbWVf
ZGVyZWdpc3RlcihnYywgJmJsLT50aW1lKTsKKworICAgIGFzc2VydChsaWJ4
bF9fZXZfY2hpbGRfaW51c2UoJmJsLT5jaGlsZCkpOworICAgIExPR0QoRVJS
T1IsIGJsLT5kb21pZCwgImtpbGxpbmcgYm9vdGxvYWRlciBiZWNhdXNlIG9m
IHRpbWVvdXQiKTsKKworICAgIGxpYnhsX19ldl9jaGlsZF9raWxsX2RlcmVn
aXN0ZXIoYW8sICZibC0+Y2hpbGQsIFNJR0tJTEwpOworCisgICAgYm9vdGxv
YWRlcl9jYWxsYmFjayhlZ2MsIGJsLCByYyk7Cit9CiAKIHN0YXRpYyB2b2lk
IGJvb3Rsb2FkZXJfZG9tYWluZGVhdGgobGlieGxfX2VnYyAqZWdjLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWlu
ZGVhdGhjaGVjayAqZGMsCkBAIC03MjIsNiArNzYxLDcgQEAgc3RhdGljIHZv
aWQgYm9vdGxvYWRlcl9maW5pc2hlZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhs
X19ldl9jaGlsZCAqY2hpbGQsCiAgICAgU1RBVEVfQU9fR0MoYmwtPmFvKTsK
ICAgICBpbnQgcmM7CiAKKyAgICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVy
KGdjLCAmYmwtPnRpbWUpOwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwo
JmJsLT5rZXlzdHJva2VzKTsKICAgICBsaWJ4bF9fZGF0YWNvcGllcl9raWxs
KCZibC0+ZGlzcGxheSk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxf
aW50ZXJuYWwuaAppbmRleCA4NDE1ZDFmZWVkMTYuLmE5NTgxMjg5ZjQ2MiAx
MDA2NDQKLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9pbnRlcm5hbC5o
CisrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfaW50ZXJuYWwuaApAQCAt
MTAzLDYgKzEwMyw3IEBACiAjZGVmaW5lIExJQlhMX1FNUF9DTURfVElNRU9V
VCAxMAogI2RlZmluZSBMSUJYTF9TVFVCRE9NX1NUQVJUX1RJTUVPVVQgMzAK
ICNkZWZpbmUgTElCWExfUUVNVV9CT0RHRV9USU1FT1VUIDIKKyNkZWZpbmUg
TElCWExfQk9PVExPQURFUl9USU1FT1VUIDEyMAogI2RlZmluZSBMSUJYTF9Y
RU5DT05TT0xFX0xJTUlUIDEwNDg1NzYKICNkZWZpbmUgTElCWExfWEVOQ09O
U09MRV9QUk9UT0NPTCAidnQxMDAiCiAjZGVmaW5lIExJQlhMX01BWE1FTV9D
T05TVEFOVCAxMDI0CkBAIC0zNzM4LDYgKzM3MzksNyBAQCBzdHJ1Y3QgbGli
eGxfX2Jvb3Rsb2FkZXJfc3RhdGUgewogICAgIGxpYnhsX19vcGVucHR5X3N0
YXRlIG9wZW5wdHk7CiAgICAgbGlieGxfX29wZW5wdHlfcmVzdWx0IHB0eXNb
Ml07ICAvKiBbMF0gaXMgZm9yIGJvb3Rsb2FkZXIgKi8KICAgICBsaWJ4bF9f
ZXZfY2hpbGQgY2hpbGQ7CisgICAgbGlieGxfX2V2X3RpbWUgdGltZTsKICAg
ICBsaWJ4bF9fZG9tYWluZGVhdGhjaGVjayBkZWF0aGNoZWNrOwogICAgIGlu
dCBuYXJncywgYXJnc3NwYWNlOwogICAgIGNvbnN0IGNoYXIgKiphcmdzOwot
LSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-01.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-01.patch"
Content-Transfer-Encoding: base64

RnJvbSBjNGQ1OTdmNjM4MzJhNTNiYmIxYjgyNmFmN2E0Njc3ZTQwZTlmZGVk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUwICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
MS8xMV0gbGliZnNpbWFnZS94ZnM6IFJlbW92ZSBkZWFkIGNvZGUKCnhmc19p
bmZvLmFnbm9sb2cgKGFuZCByZWxhdGVkIGNvZGUpIGFuZCBYRlNfSU5PX0FH
Qk5PX0JJVFMgYXJlIGRlYWQgY29kZQp0aGF0IHNlcnZlIG5vIHB1cnBvc2Uu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpT
aWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gVmFsbGVqbyA8YWxlamFuZHJvLnZh
bGxlam9AY2xvdWQuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPgotLS0KIHRvb2xzL2xpYmZzaW1hZ2UveGZzL2Zz
eXNfeGZzLmMgfCAxOCAtLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu
Z2VkLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJm
c2ltYWdlL3hmcy9mc3lzX3hmcy5jIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMv
ZnN5c194ZnMuYwppbmRleCBkNzM1YTg4ZTU1ZjMuLjI4MDA2OTlmNTk4NSAx
MDA2NDQKLS0tIGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwor
KysgYi90b29scy9saWJmc2ltYWdlL3hmcy9mc3lzX3hmcy5jCkBAIC0zNyw3
ICszNyw2IEBAIHN0cnVjdCB4ZnNfaW5mbyB7CiAJaW50IGJsa2xvZzsKIAlp
bnQgaW5vcGJsb2c7CiAJaW50IGFnYmxrbG9nOwotCWludCBhZ25vbG9nOwog
CXVuc2lnbmVkIGludCBuZXh0ZW50czsKIAl4ZnNfZGFkZHJfdCBuZXh0Owog
CXhmc19kYWRkcl90IGRhZGRyOwpAQCAtNjUsOSArNjQsNyBAQCBzdGF0aWMg
c3RydWN0IHhmc19pbmZvIHhmczsKIAogI2RlZmluZQlYRlNfSU5PX01BU0so
aykJCSgoeGZzX3VpbnQzMl90KSgoMVVMTCA8PCAoaykpIC0gMSkpCiAjZGVm
aW5lCVhGU19JTk9fT0ZGU0VUX0JJVFMJeGZzLmlub3BibG9nCi0jZGVmaW5l
CVhGU19JTk9fQUdCTk9fQklUUwl4ZnMuYWdibGtsb2cKICNkZWZpbmUJWEZT
X0lOT19BR0lOT19CSVRTCSh4ZnMuYWdibGtsb2cgKyB4ZnMuaW5vcGJsb2cp
Ci0jZGVmaW5lCVhGU19JTk9fQUdOT19CSVRTCXhmcy5hZ25vbG9nCiAKIHN0
YXRpYyBpbmxpbmUgeGZzX2FnYmxvY2tfdAogYWdpbm8yYWdibm8gKHhmc19h
Z2lub190IGFnaW5vKQpAQCAtMTQ5LDIwICsxNDYsNiBAQCB4dF9sZW4gKHhm
c19ibWJ0X3JlY18zMl90ICpyKQogCXJldHVybiBsZTMyKHItPmwzKSAmIG1h
c2szMmxvKDIxKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQKLXhmc19oaWdo
Yml0MzIoeGZzX3VpbnQzMl90IHYpCi17Ci0JaW50IGk7Ci0KLQlpZiAoLS12
KSB7Ci0JCWZvciAoaSA9IDA7IGkgPCAzMTsgaSsrLCB2ID4+PSAxKSB7Ci0J
CQlpZiAodiA9PSAwKQotCQkJCXJldHVybiBpOwotCQl9Ci0JfQotCXJldHVy
biAwOwotfQotCiBzdGF0aWMgaW50CiBpc2lueHQgKHhmc19maWxlb2ZmX3Qg
a2V5LCB4ZnNfZmlsZW9mZl90IG9mZnNldCwgeGZzX2ZpbGJsa3NfdCBsZW4p
CiB7CkBAIC00NzIsNyArNDU1LDYgQEAgeGZzX21vdW50IChmc2lfZmlsZV90
ICpmZmksIGNvbnN0IGNoYXIgKm9wdGlvbnMpCiAKIAl4ZnMuaW5vcGJsb2cg
PSBzdXBlci5zYl9pbm9wYmxvZzsKIAl4ZnMuYWdibGtsb2cgPSBzdXBlci5z
Yl9hZ2Jsa2xvZzsKLQl4ZnMuYWdub2xvZyA9IHhmc19oaWdoYml0MzIgKGxl
MzIoc3VwZXIuc2JfYWdjb3VudCkpOwogCiAJeGZzLmJ0bm9kZV9wdHIwX29m
ZiA9CiAJCSgoeGZzLmJzaXplIC0gc2l6ZW9mKHhmc19idHJlZV9ibG9ja190
KSkgLwotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-02.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-02.patch"
Content-Transfer-Encoding: base64

RnJvbSBmNzViMGE3MGRhMzkyNjcyZmI3ZDlmZWVkMmE5ZTk1MTVkNzRkZjJj
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUxICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Mi8xMV0gbGliZnNpbWFnZS94ZnM6IEFtZW5kIG1hc2szMmxvKCkgdG8gYWxs
b3cgdGhlIHZhbHVlIDMyCgphZ2Jsa2xvZyBjb3VsZCBwbGF1c2libHkgYmUg
MzIsIGJ1dCB0aGF0IHdvdWxkIG92ZXJmbG93IHRoaXMgc2hpZnQuClBlcmZv
cm0gdGhlIHNoaWZ0IGFzIFVMTCBhbmQgY2FzdCB0byB1MzIgYXQgdGhlIGVu
ZCBpbnN0ZWFkLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAy
My0zNDMyNQoKU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFs
ZWphbmRyby52YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB0b29scy9saWJmc2ltYWdl
L3hmcy9mc3lzX3hmcy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z
ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMv
bGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
eGZzL2ZzeXNfeGZzLmMKaW5kZXggMjgwMDY5OWY1OTg1Li40NzIwYmI0NTA1
YzggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZz
LmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwpAQCAt
NjAsNyArNjAsNyBAQCBzdGF0aWMgc3RydWN0IHhmc19pbmZvIHhmczsKICNk
ZWZpbmUgaW5vZGUJCSgoeGZzX2Rpbm9kZV90ICopKChjaGFyICopRlNZU19C
VUYgKyA4MTkyKSkKICNkZWZpbmUgaWNvcmUJCShpbm9kZS0+ZGlfY29yZSkK
IAotI2RlZmluZQltYXNrMzJsbyhuKQkoKCh4ZnNfdWludDMyX3QpMSA8PCAo
bikpIC0gMSkKKyNkZWZpbmUJbWFzazMybG8obikJKCh4ZnNfdWludDMyX3Qp
KCgxdWxsIDw8IChuKSkgLSAxKSkKIAogI2RlZmluZQlYRlNfSU5PX01BU0so
aykJCSgoeGZzX3VpbnQzMl90KSgoMVVMTCA8PCAoaykpIC0gMSkpCiAjZGVm
aW5lCVhGU19JTk9fT0ZGU0VUX0JJVFMJeGZzLmlub3BibG9nCi0tIAoyLjQy
LjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-03.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-03.patch"
Content-Transfer-Encoding: base64

RnJvbSAyNWZhZTIzYjMyZWU0ZDk5MGFlMTEzNjhlZTIxZTI4ZTY2ZGJmYTI1
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUyICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
My8xMV0gbGliZnNpbWFnZS94ZnM6IFNhbml0eS1jaGVjayB0aGUgc3VwZXJi
bG9jayBkdXJpbmcKIG1vdW50cwoKU2FuaXR5LWNoZWNrIHRoZSBYRlMgc3Vw
ZXJibG9jayBmb3Igd2VsbGZvcm1lZG5lc3MgYXQgdGhlIG1vdW50IGhhbmRs
ZXIuClRoaXMgZm9yY2VzIHB5Z3J1YiB0byBhYm9ydCBwYXJzaW5nIGEgcG90
ZW50aWFsbHkgbWFsZm9ybWVkIGZpbGVzeXN0ZW0gYW5kCmVuc3VyZXMgdGhl
IGludmFyaWFudHMgYXNzdW1lZCB0aHJvdWdob3V0IHRoZSByZXN0IG9mIHRo
ZSBjb2RlIGhvbGQuCgpBbHNvLCBkZXJpdmUgcGFyYW1ldGVycyBmcm9tIHBy
ZXZpb3VzbHkgc2FuaXRpemVkIHBhcmFtZXRlcnMgd2hlcmUgcG9zc2libGUK
KHJhdGhlciB0aGFuIHJlYWRpbmcgdGhlbSBvZmYgdGhlIHN1cGVyYmxvY2sp
CgpUaGUgY29kZSBkb2Vzbid0IHRyeSB0byBhdm9pZCBvdmVyZmxvd2luZyB0
aGUgZW5kIG9mIHRoZSBkaXNrLCBiZWNhdXNlCnRoYXQncyBhbiB1bmxpa2Vs
eSBhbmQgYmVuaWduIGVycm9yLiBQYXJhbWV0ZXJzIHVzZWQgaW4gY2FsY3Vs
YXRpb25zIG9mCnhmc19kYWRkcl90IChsaWtlIHRoZSByb290IGlub2RlIGlu
ZGV4KSBhcmVuJ3QgaW4gY3JpdGljYWwgbmVlZCBvZiBiZWluZwpzYW5pdGl6
ZWQuCgpUaGUgc2FuaXRpemF0aW9uIG9mIGFnYmxrbG9nIGlzIGJhc2ljYWxs
eSBjaGVja2luZyB0aGF0IG5vIG9idmlvdXMKb3ZlcmZsb3dzIGhhcHBlbiBv
biBhZ2Jsa2xvZywgYW5kIHRoZW4gZW5zdXJpbmcgYWdibG9ja3MgaXMgY29u
dGFpbmVkIGluCnRoZSByYW5nZSAoMl4oc2JfYWdibGtsb2ctMSksIDJec2Jf
YWdibGtsb2ddLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAy
My0zNDMyNQoKUmVwb3J0ZWQtYnk6IEZlcmRpbmFuZCBOw7Zsc2NoZXIgPG5v
ZWxzY2hlckBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8g
VmFsbGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpSZXZpZXdl
ZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KIHRv
b2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMgfCA0OCArKysrKysrKysr
KysrKysrKysrKysrKysrKy0tLS0tLS0KIHRvb2xzL2xpYmZzaW1hZ2UveGZz
L3hmcy5oICAgICAgfCAxMiArKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg
NTAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xp
YmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMKaW5kZXggNDcyMGJiNDUwNWM4Li5l
NGViN2UxZWUyNmYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZz
L2ZzeXNfeGZzLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194
ZnMuYwpAQCAtMTcsNiArMTcsNyBAQAogICogIGFsb25nIHdpdGggdGhpcyBw
cm9ncmFtOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu
c2VzLz4uCiAgKi8KIAorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KICNpbmNsdWRl
IDx4ZW5mc2ltYWdlX2dydWIuaD4KICNpbmNsdWRlICJ4ZnMuaCIKIApAQCAt
NDMzLDI5ICs0MzQsNTYgQEAgZmlyc3RfZGVudHJ5IChmc2lfZmlsZV90ICpm
ZmksIHhmc19pbm9fdCAqaW5vKQogCXJldHVybiBuZXh0X2RlbnRyeSAoZmZp
LCBpbm8pOwogfQogCitzdGF0aWMgYm9vbAoreGZzX3NiX2lzX2ludmFsaWQg
KGNvbnN0IHhmc19zYl90ICpzdXBlcikKK3sKKwlyZXR1cm4gKGxlMzIoc3Vw
ZXItPnNiX21hZ2ljbnVtKSAhPSBYRlNfU0JfTUFHSUMpCisJICAgIHx8ICgo
bGUxNihzdXBlci0+c2JfdmVyc2lvbm51bSkgJiBYRlNfU0JfVkVSU0lPTl9O
VU1CSVRTKSAhPQorCSAgICAgICAgWEZTX1NCX1ZFUlNJT05fNCkKKwkgICAg
fHwgKHN1cGVyLT5zYl9pbm9kZWxvZyA8IFhGU19TQl9JTk9ERUxPR19NSU4p
CisJICAgIHx8IChzdXBlci0+c2JfaW5vZGVsb2cgPiBYRlNfU0JfSU5PREVM
T0dfTUFYKQorCSAgICB8fCAoc3VwZXItPnNiX2Jsb2NrbG9nIDwgWEZTX1NC
X0JMT0NLTE9HX01JTikKKwkgICAgfHwgKHN1cGVyLT5zYl9ibG9ja2xvZyA+
IFhGU19TQl9CTE9DS0xPR19NQVgpCisJICAgIHx8IChzdXBlci0+c2JfYmxv
Y2tsb2cgPCBzdXBlci0+c2JfaW5vZGVsb2cpCisJICAgIHx8IChzdXBlci0+
c2JfYWdibGtsb2cgPiBYRlNfU0JfQUdCTEtMT0dfTUFYKQorCSAgICB8fCAo
KDF1bGwgPDwgc3VwZXItPnNiX2FnYmxrbG9nKSA8IGxlMzIoc3VwZXItPnNi
X2FnYmxvY2tzKSkKKwkgICAgfHwgKCgoMXVsbCA8PCBzdXBlci0+c2JfYWdi
bGtsb2cpID4+IDEpID49CisJICAgICAgICBsZTMyKHN1cGVyLT5zYl9hZ2Js
b2NrcykpCisJICAgIHx8ICgoc3VwZXItPnNiX2Jsb2NrbG9nICsgc3VwZXIt
PnNiX2RpcmJsa2xvZykgPj0KKwkgICAgICAgIFhGU19TQl9ESVJCTEtfTlVN
QklUUyk7Cit9CisKIHN0YXRpYyBpbnQKIHhmc19tb3VudCAoZnNpX2ZpbGVf
dCAqZmZpLCBjb25zdCBjaGFyICpvcHRpb25zKQogewogCXhmc19zYl90IHN1
cGVyOwogCiAJaWYgKCFkZXZyZWFkIChmZmksIDAsIDAsIHNpemVvZihzdXBl
ciksIChjaGFyICopJnN1cGVyKQotCSAgICB8fCAobGUzMihzdXBlci5zYl9t
YWdpY251bSkgIT0gWEZTX1NCX01BR0lDKQotCSAgICB8fCAoKGxlMTYoc3Vw
ZXIuc2JfdmVyc2lvbm51bSkgCi0JCSYgWEZTX1NCX1ZFUlNJT05fTlVNQklU
UykgIT0gWEZTX1NCX1ZFUlNJT05fNCkgKSB7CisJICAgIHx8IHhmc19zYl9p
c19pbnZhbGlkKCZzdXBlcikpIHsKIAkJcmV0dXJuIDA7CiAJfQogCi0JeGZz
LmJzaXplID0gbGUzMiAoc3VwZXIuc2JfYmxvY2tzaXplKTsKLQl4ZnMuYmxr
bG9nID0gc3VwZXIuc2JfYmxvY2tsb2c7Ci0JeGZzLmJkbG9nID0geGZzLmJs
a2xvZyAtIFNFQ1RPUl9CSVRTOworCS8qCisJICogTm90IHNhbml0aXplZC4g
SXQncyBleGNsdXNpdmVseSB1c2VkIHRvIGdlbmVyYXRlIGRpc2sgYWRkcmVz
c2VzLAorCSAqIHNvIGl0J3Mgbm90IGltcG9ydGFudCBmcm9tIGEgc2VjdXJp
dHkgc3RhbmRwb2ludC4KKwkgKi8KIAl4ZnMucm9vdGlubyA9IGxlNjQgKHN1
cGVyLnNiX3Jvb3Rpbm8pOwotCXhmcy5pc2l6ZSA9IGxlMTYgKHN1cGVyLnNi
X2lub2Rlc2l6ZSk7Ci0JeGZzLmFnYmxvY2tzID0gbGUzMiAoc3VwZXIuc2Jf
YWdibG9ja3MpOwotCXhmcy5kaXJic2l6ZSA9IHhmcy5ic2l6ZSA8PCBzdXBl
ci5zYl9kaXJibGtsb2c7CiAKLQl4ZnMuaW5vcGJsb2cgPSBzdXBlci5zYl9p
bm9wYmxvZzsKKwkvKgorCSAqIFNhbml0aXplZCB0byBiZSBjb25zaXN0ZW50
IHdpdGggZWFjaCBvdGhlciwgb25seSB1c2VkIHRvCisJICogZ2VuZXJhdGUg
ZGlzayBhZGRyZXNzZXMsIHNvIGl0J3Mgc2FmZQorCSAqLworCXhmcy5hZ2Js
b2NrcyA9IGxlMzIgKHN1cGVyLnNiX2FnYmxvY2tzKTsKIAl4ZnMuYWdibGts
b2cgPSBzdXBlci5zYl9hZ2Jsa2xvZzsKIAorCS8qIERlcml2ZWQgZnJvbSBz
YW5pdGl6ZWQgcGFyYW1ldGVycyAqLworCXhmcy5ic2l6ZSA9IDEgPDwgc3Vw
ZXIuc2JfYmxvY2tsb2c7CisJeGZzLmJsa2xvZyA9IHN1cGVyLnNiX2Jsb2Nr
bG9nOworCXhmcy5iZGxvZyA9IHN1cGVyLnNiX2Jsb2NrbG9nIC0gU0VDVE9S
X0JJVFM7CisJeGZzLmlzaXplID0gMSA8PCBzdXBlci5zYl9pbm9kZWxvZzsK
Kwl4ZnMuZGlyYnNpemUgPSAxIDw8IChzdXBlci5zYl9ibG9ja2xvZyArIHN1
cGVyLnNiX2RpcmJsa2xvZyk7CisJeGZzLmlub3BibG9nID0gc3VwZXIuc2Jf
YmxvY2tsb2cgLSBzdXBlci5zYl9pbm9kZWxvZzsKKwogCXhmcy5idG5vZGVf
cHRyMF9vZmYgPQogCQkoKHhmcy5ic2l6ZSAtIHNpemVvZih4ZnNfYnRyZWVf
YmxvY2tfdCkpIC8KIAkJKHNpemVvZiAoeGZzX2JtYnRfa2V5X3QpICsgc2l6
ZW9mICh4ZnNfYm1idF9wdHJfdCkpKQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
ZnNpbWFnZS94ZnMveGZzLmggYi90b29scy9saWJmc2ltYWdlL3hmcy94ZnMu
aAppbmRleCA0MDY5OTI4MWU0NGQuLmI4N2UzN2QzZDdlOSAxMDA2NDQKLS0t
IGEvdG9vbHMvbGliZnNpbWFnZS94ZnMveGZzLmgKKysrIGIvdG9vbHMvbGli
ZnNpbWFnZS94ZnMveGZzLmgKQEAgLTEzNCw2ICsxMzQsMTggQEAgdHlwZWRl
ZiBzdHJ1Y3QgeGZzX3NiCiAgICAgICAgIHhmc191aW50OF90ICAgICAgIHNi
X2R1bW15WzddOyAgICAvKiBwYWRkaW5nICovCiB9IHhmc19zYl90OwogCisv
KiBCb3VuZCB0YWtlbiBmcm9tIHhmcy5jIGluIEdSVUIyLiBJdCBkb2Vzbid0
IGV4aXN0IGluIHRoZSBzcGVjICovCisjZGVmaW5lCVhGU19TQl9ESVJCTEtf
TlVNQklUUwkyNworLyogSW1wbGllZCBieSB0aGUgWEZTIHNwZWNpZmljYXRp
b24uIFRoZSBtaW5pbXVtIGJsb2NrIHNpemUgaXMgNTEyIG9jdGV0cyAqLwor
I2RlZmluZQlYRlNfU0JfQkxPQ0tMT0dfTUlOCTkKKy8qIEltcGxpZWQgYnkg
dGhlIFhGUyBzcGVjaWZpY2F0aW9uLiBUaGUgbWF4aW11bSBibG9jayBzaXpl
IGlzIDY1NTM2IG9jdGV0cyAqLworI2RlZmluZQlYRlNfU0JfQkxPQ0tMT0df
TUFYCTE2CisvKiBJbXBsaWVkIGJ5IHRoZSBYRlMgc3BlY2lmaWNhdGlvbi4g
VGhlIG1pbmltdW0gaW5vZGUgc2l6ZSBpcyAyNTYgb2N0ZXRzICovCisjZGVm
aW5lCVhGU19TQl9JTk9ERUxPR19NSU4JOAorLyogSW1wbGllZCBieSB0aGUg
WEZTIHNwZWNpZmljYXRpb24uIFRoZSBtYXhpbXVtIGlub2RlIHNpemUgaXMg
MjA0OCBvY3RldHMgKi8KKyNkZWZpbmUJWEZTX1NCX0lOT0RFTE9HX01BWAkx
MQorLyogSGlnaCBib3VuZCBmb3Igc2JfYWdibGtsb2cgKi8KKyNkZWZpbmUJ
WEZTX1NCX0FHQkxLTE9HX01BWAkzMgogCiAvKiB0aG9zZSBhcmUgZnJvbSB4
ZnNfYnRyZWUuaCAqLwogCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-04.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-04.patch"
Content-Transfer-Encoding: base64

RnJvbSBlNzJjNjhlNzAyZGQ5MzBiYzYwMTMxODJiYjQ0ZDNlOGZiYmI2YmY0
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUzICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
NC8xMV0gbGliZnNpbWFnZS94ZnM6IEFkZCBjb21waWxlLXRpbWUgY2hlY2sg
dG8gbGliZnNpbWFnZQoKQWRkcyB0aGUgY29tbW9uIHRvb2xzIGluY2x1ZGUg
Zm9sZGVyIHRvIHRoZSAtSSBjb21waWxlIGZsYWdzCm9mIGxpYmZzaW1hZ2Uu
IFRoaXMgYWxsb3dzIHVzIHRvIHVzZToKICB4ZW4tdG9vbHMvY29tbW9uLW1h
Y3Jvcy5oOkJVSUxEX0JVR19PTigpCgpXaXRoIGl0LCBzdGF0aWNhbGx5IGFz
c2VydCBhIHNhbml0aXplZCAiYmxvY2tsb2cgLSBTRUNUT1JfQklUUyIgY2Fu
bm90CnVuZGVyZmxvdy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDQzIC8gQ1ZF
LTIwMjMtMzQzMjUKClNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBWYWxsZWpv
IDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+ClJldmlld2VkLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQogdG9vbHMvbGli
ZnNpbWFnZS9SdWxlcy5tayAgICAgICB8IDIgKy0KIHRvb2xzL2xpYmZzaW1h
Z2UveGZzL2ZzeXNfeGZzLmMgfCA0ICsrKy0KIDIgZmlsZXMgY2hhbmdlZCwg
NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYmZzaW1hZ2UvUnVsZXMubWsgYi90b29scy9saWJmc2ltYWdl
L1J1bGVzLm1rCmluZGV4IGJiNmQ0MmFiYjQ5NC4uODA1OThmYjcwYWE3IDEw
MDY0NAotLS0gYS90b29scy9saWJmc2ltYWdlL1J1bGVzLm1rCisrKyBiL3Rv
b2xzL2xpYmZzaW1hZ2UvUnVsZXMubWsKQEAgLTEsNiArMSw2IEBACiBpbmNs
dWRlICQoWEVOX1JPT1QpL3Rvb2xzL1J1bGVzLm1rCiAKLUNGTEFHUyArPSAt
V25vLXVua25vd24tcHJhZ21hcyAtSSQoWEVOX1JPT1QpL3Rvb2xzL2xpYmZz
aW1hZ2UvY29tbW9uLyAtREZTSU1BR0VfRlNESVI9XCIkKEZTRElSKVwiCitD
RkxBR1MgKz0gLVduby11bmtub3duLXByYWdtYXMgLUkkKFhFTl9ST09UKS90
b29scy9saWJmc2ltYWdlL2NvbW1vbi8gJChDRkxBR1NfeGVuaW5jbHVkZSkg
LURGU0lNQUdFX0ZTRElSPVwiJChGU0RJUilcIgogQ0ZMQUdTICs9IC1XZXJy
b3IgLURfR05VX1NPVVJDRQogTERGTEFHUyArPSAtTC4uL2NvbW1vbi8KIApk
aWZmIC0tZ2l0IGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBi
L3Rvb2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMKaW5kZXggZTRlYjdl
MWVlMjZmLi40YThkZDZmMjM5N2IgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZz
aW1hZ2UveGZzL2ZzeXNfeGZzLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94
ZnMvZnN5c194ZnMuYwpAQCAtMTksNiArMTksNyBAQAogCiAjaW5jbHVkZSA8
c3RkYm9vbC5oPgogI2luY2x1ZGUgPHhlbmZzaW1hZ2VfZ3J1Yi5oPgorI2lu
Y2x1ZGUgPHhlbi10b29scy9saWJzLmg+CiAjaW5jbHVkZSAieGZzLmgiCiAK
ICNkZWZpbmUgTUFYX0xJTktfQ09VTlQJOApAQCAtNDc3LDkgKzQ3OCwxMCBA
QCB4ZnNfbW91bnQgKGZzaV9maWxlX3QgKmZmaSwgY29uc3QgY2hhciAqb3B0
aW9ucykKIAl4ZnMuYWdibGtsb2cgPSBzdXBlci5zYl9hZ2Jsa2xvZzsKIAog
CS8qIERlcml2ZWQgZnJvbSBzYW5pdGl6ZWQgcGFyYW1ldGVycyAqLworCUJV
SUxEX0JVR19PTihYRlNfU0JfQkxPQ0tMT0dfTUlOIDwgU0VDVE9SX0JJVFMp
OworCXhmcy5iZGxvZyA9IHN1cGVyLnNiX2Jsb2NrbG9nIC0gU0VDVE9SX0JJ
VFM7CiAJeGZzLmJzaXplID0gMSA8PCBzdXBlci5zYl9ibG9ja2xvZzsKIAl4
ZnMuYmxrbG9nID0gc3VwZXIuc2JfYmxvY2tsb2c7Ci0JeGZzLmJkbG9nID0g
c3VwZXIuc2JfYmxvY2tsb2cgLSBTRUNUT1JfQklUUzsKIAl4ZnMuaXNpemUg
PSAxIDw8IHN1cGVyLnNiX2lub2RlbG9nOwogCXhmcy5kaXJic2l6ZSA9IDEg
PDwgKHN1cGVyLnNiX2Jsb2NrbG9nICsgc3VwZXIuc2JfZGlyYmxrbG9nKTsK
IAl4ZnMuaW5vcGJsb2cgPSBzdXBlci5zYl9ibG9ja2xvZyAtIHN1cGVyLnNi
X2lub2RlbG9nOwotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-05.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-05.patch"
Content-Transfer-Encoding: base64

RnJvbSA3NWZkYzAzYzVhNmI3ZmFjMGMzYTVhYzA2YTViZWFhYzczYWFkMzZm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIxICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
NS8xMV0gdG9vbHMvcHlncnViOiBSZW1vdmUgdW5uZWNlc3NhcnkgaHlwZXJj
YWxsCgpUaGVyZSdzIGEgaHlwZXJjYWxsIGJlaW5nIGlzc3VlZCBpbiBvcmRl
ciB0byBkZXRlcm1pbmUgd2hldGhlciBQVjY0IGlzCnN1cHBvcnRlZCwgYnV0
IHNpbmNlIFhlbiA0LjMgdGhhdCdzIHN0cmljdGx5IHRydWUgc28gaXQncyBu
b3QgcmVxdWlyZWQuCgpQbHVzLCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQgbWFw
cGluZyB0aGUgcHJpdmNtZCBpbnRlcmZhY2UgYWx0b2dldGhlciBpbiB0aGUK
ZGVwcml2IHB5Z3J1Yi4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDQzIC8gQ1ZF
LTIwMjMtMzQzMjUKClNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBWYWxsZWpv
IDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+ClJldmlld2VkLWJ5OiBB
bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0K
IHRvb2xzL3B5Z3J1Yi9zcmMvcHlncnViIHwgMTIgKy0tLS0tLS0tLS0tCiAx
IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDExIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViIGIvdG9v
bHMvcHlncnViL3NyYy9weWdydWIKaW5kZXggY2U3YWIwZWI4Y2YzLi5jZTRl
MDdkM2U4MjMgMTAwNzU1Ci0tLSBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnVi
CisrKyBiL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViCkBAIC0xOCw3ICsxOCw2
IEBAIGltcG9ydCBvcywgc3lzLCBzdHJpbmcsIHN0cnVjdCwgdGVtcGZpbGUs
IHJlLCB0cmFjZWJhY2ssIHN0YXQsIGVycm5vCiBpbXBvcnQgY29weQogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCBwbGF0Zm9ybQotaW1wb3J0IHhlbi5sb3ds
ZXZlbC54YwogCiBpbXBvcnQgY3Vyc2VzLCBfY3Vyc2VzLCBjdXJzZXMudGV4
dHBhZCwgY3Vyc2VzLmFzY2lpCiBpbXBvcnQgZ2V0b3B0CkBAIC02NjgsMTQg
KzY2Nyw2IEBAIGRlZiBydW5fZ3J1YihmaWxlLCBlbnRyeSwgZnMsIGNmZ19h
cmdzKToKIAogICAgIHJldHVybiBncnViY2ZnCiAKLWRlZiBzdXBwb3J0czY0
Yml0UFZndWVzdCgpOgotICAgIHhjID0geGVuLmxvd2xldmVsLnhjLnhjKCkK
LSAgICBjYXBzID0geGMueGVuaW5mbygpWyd4ZW5fY2FwcyddLnNwbGl0KCIg
IikKLSAgICBmb3IgY2FwIGluIGNhcHM6Ci0gICAgICAgIGlmIGNhcCA9PSAi
eGVuLTMuMC14ODZfNjQiOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAg
ICByZXR1cm4gRmFsc2UKLQogIyBJZiBub3RoaW5nIGhhcyBiZWVuIHNwZWNp
ZmllZCwgbG9vayBmb3IgYSBTb2xhcmlzIGRvbVUuIElmIGZvdW5kLCBwZXJm
b3JtIHRoZQogIyBuZWNlc3NhcnkgdHdlYWtzLgogZGVmIHNuaWZmX3NvbGFy
aXMoZnMsIGNmZyk6CkBAIC02ODQsOCArNjc1LDcgQEAgZGVmIHNuaWZmX3Nv
bGFyaXMoZnMsIGNmZyk6CiAgICAgICAgIHJldHVybiBjZmcKIAogICAgIGlm
IG5vdCBjZmdbImtlcm5lbCJdOgotICAgICAgICBpZiBzdXBwb3J0czY0Yml0
UFZndWVzdCgpIGFuZCBcCi0gICAgICAgICAgZnMuZmlsZV9leGlzdHMoIi9w
bGF0Zm9ybS9pODZ4cHYva2VybmVsL2FtZDY0L3VuaXgiKToKKyAgICAgICAg
aWYgZnMuZmlsZV9leGlzdHMoIi9wbGF0Zm9ybS9pODZ4cHYva2VybmVsL2Ft
ZDY0L3VuaXgiKToKICAgICAgICAgICAgIGNmZ1sia2VybmVsIl0gPSAiL3Bs
YXRmb3JtL2k4Nnhwdi9rZXJuZWwvYW1kNjQvdW5peCIKICAgICAgICAgICAg
IGNmZ1sicmFtZGlzayJdID0gIi9wbGF0Zm9ybS9pODZwYy9hbWQ2NC9ib290
X2FyY2hpdmUiCiAgICAgICAgIGVsaWYgZnMuZmlsZV9leGlzdHMoIi9wbGF0
Zm9ybS9pODZ4cHYva2VybmVsL3VuaXgiKToKLS0gCjIuNDIuMAoK

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-06.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-06.patch"
Content-Transfer-Encoding: base64

RnJvbSAxMDgzYTE2ZjYzNDYxZTg0NGU5NTE1YWM0ZDM1ZDQ4YmY1NTc4NWFm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIyICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Ni8xMV0gdG9vbHMvcHlncnViOiBTbWFsbCByZWZhY3RvcnMKClNtYWxsIHRp
ZHkgdXAgdG8gZW5zdXJlIG91dHB1dF9kaXJlY3RvcnkgYWx3YXlzIGhhcyBh
IHRyYWlsaW5nICcvJyB0byBlYXNlCmNvbmNhdGVuYXRpbmcgcGF0aHMgYW5k
IHRoYXQgYG91dHB1dGAgY2FuIG9ubHkgYmUgYSBmaWxlbmFtZSBvciBOb25l
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAyMy0zNDMyNQoK
U2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFsZWphbmRyby52
YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvcHlncnViL3Ny
Yy9weWdydWIgfCAxMCArKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBp
bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rv
b2xzL3B5Z3J1Yi9zcmMvcHlncnViIGIvdG9vbHMvcHlncnViL3NyYy9weWdy
dWIKaW5kZXggY2U0ZTA3ZDNlODIzLi4xMDQyYzA1Yjg2NzYgMTAwNzU1Ci0t
LSBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViCisrKyBiL3Rvb2xzL3B5Z3J1
Yi9zcmMvcHlncnViCkBAIC03OTMsNyArNzkzLDcgQEAgaWYgX19uYW1lX18g
PT0gIl9fbWFpbl9fIjoKICAgICBkZWJ1ZyA9IEZhbHNlCiAgICAgbm90X3Jl
YWxseSA9IEZhbHNlCiAgICAgb3V0cHV0X2Zvcm1hdCA9ICJzeHAiCi0gICAg
b3V0cHV0X2RpcmVjdG9yeSA9ICIvdmFyL3J1bi94ZW4vcHlncnViIgorICAg
IG91dHB1dF9kaXJlY3RvcnkgPSAiL3Zhci9ydW4veGVuL3B5Z3J1Yi8iCiAK
ICAgICAjIHdoYXQgd2FzIHBhc3NlZCBpbgogICAgIGluY2ZnID0geyAia2Vy
bmVsIjogTm9uZSwgInJhbWRpc2siOiBOb25lLCAiYXJncyI6ICIiIH0KQEAg
LTgxNSw3ICs4MTUsOCBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog
ICAgICAgICAgICAgdXNhZ2UoKQogICAgICAgICAgICAgc3lzLmV4aXQoKQog
ICAgICAgICBlbGlmIG8gaW4gKCItLW91dHB1dCIsKToKLSAgICAgICAgICAg
IG91dHB1dCA9IGEKKyAgICAgICAgICAgIGlmIGEgIT0gIi0iOgorICAgICAg
ICAgICAgICAgIG91dHB1dCA9IGEKICAgICAgICAgZWxpZiBvIGluICgiLS1r
ZXJuZWwiLCk6CiAgICAgICAgICAgICBpbmNmZ1sia2VybmVsIl0gPSBhCiAg
ICAgICAgIGVsaWYgbyBpbiAoIi0tcmFtZGlzayIsKToKQEAgLTg0NywxMiAr
ODQ4LDExIEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgICAg
ICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihhKToKICAgICAgICAgICAgICAg
ICBwcmludCgiJXMgaXMgbm90IGFuIGV4aXN0aW5nIGRpcmVjdG9yeSIgJSBh
KQogICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgICAgICAgICBv
dXRwdXRfZGlyZWN0b3J5ID0gYQorICAgICAgICAgICAgb3V0cHV0X2RpcmVj
dG9yeSA9IGEgKyAnLycKIAogICAgIGlmIGRlYnVnOgogICAgICAgICBsb2dn
aW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuREVCVUcpCiAKLQogICAg
IHRyeToKICAgICAgICAgb3MubWFrZWRpcnMob3V0cHV0X2RpcmVjdG9yeSwg
MG83MDApCiAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKQEAgLTg2MSw3ICs4
NjEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgICAgICBl
bHNlOgogICAgICAgICAgICAgcmFpc2UKIAotICAgIGlmIG91dHB1dCBpcyBO
b25lIG9yIG91dHB1dCA9PSAiLSI6CisgICAgaWYgb3V0cHV0IGlzIE5vbmU6
CiAgICAgICAgIGZkID0gc3lzLnN0ZG91dC5maWxlbm8oKQogICAgIGVsc2U6
CiAgICAgICAgIGZkID0gb3Mub3BlbihvdXRwdXQsIG9zLk9fV1JPTkxZKQot
LSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-07.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-07.patch"
Content-Transfer-Encoding: base64

RnJvbSAzNTBkYjMwZTMzZjM5YWY0MGMxZTM3NTJkNzNjMGEzMGVmMmQyNmU3
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIzICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Ny8xMV0gdG9vbHMvcHlncnViOiBPcGVuIHRoZSBvdXRwdXQgZmlsZXMgZWFy
bGllcgoKVGhpcyBwYXRjaCBhbGxvd3MgcHlncnViIHRvIGdldCBhaG9sZCBv
ZiBldmVyeSBSVyBmaWxlIGRlc2NyaXB0b3IgaXQgbmVlZHMKZWFybHkgb24u
IEEgbGF0ZXIgcGF0Y2ggd2lsbCBjbGFtcCB0aGUgZmlsZXN5c3RlbSBpdCBj
YW4gYWNjZXNzIHNvIGl0IGNhbid0Cm9idGFpbiBhbnkgb3RoZXJzLgoKVGhp
cyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAyMy0zNDMyNQoKU2lnbmVk
LW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFsZWphbmRyby52YWxsZWpv
QGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j
b29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvcHlncnViL3NyYy9weWdy
dWIgfCAzNyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t
CiAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvcHlncnViL3NyYy9weWdydWIg
Yi90b29scy9weWdydWIvc3JjL3B5Z3J1YgppbmRleCAxMDQyYzA1Yjg2NzYu
LjkxZTJlYzJhYjEwNSAxMDA3NTUKLS0tIGEvdG9vbHMvcHlncnViL3NyYy9w
eWdydWIKKysrIGIvdG9vbHMvcHlncnViL3NyYy9weWdydWIKQEAgLTczOCw4
ICs3MzgsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGRl
ZiB1c2FnZSgpOgogICAgICAgICBwcmludCgiVXNhZ2U6ICVzIFstcXwtLXF1
aWV0XSBbLWl8LS1pbnRlcmFjdGl2ZV0gWy1sfC0tbGlzdC1lbnRyaWVzXSBb
LW58LS1ub3QtcmVhbGx5XSBbLS1vdXRwdXQ9XSBbLS1rZXJuZWw9XSBbLS1y
YW1kaXNrPV0gWy0tYXJncz1dIFstLWVudHJ5PV0gWy0tb3V0cHV0LWRpcmVj
dG9yeT1dIFstLW91dHB1dC1mb3JtYXQ9c3hwfHNpbXBsZXxzaW1wbGUwXSBb
LS1vZmZzZXQ9XSA8aW1hZ2U+IiAlKHN5cy5hcmd2WzBdLCksIGZpbGU9c3lz
LnN0ZGVycikKIAotICAgIGRlZiBjb3B5X2Zyb21faW1hZ2UoZnMsIGZpbGVf
dG9fcmVhZCwgZmlsZV90eXBlLCBvdXRwdXRfZGlyZWN0b3J5LAotICAgICAg
ICAgICAgICAgICAgICAgICAgbm90X3JlYWxseSk6CisgICAgZGVmIGNvcHlf
ZnJvbV9pbWFnZShmcywgZmlsZV90b19yZWFkLCBmaWxlX3R5cGUsIGZkX2Rz
dCwgcGF0aF9kc3QsIG5vdF9yZWFsbHkpOgogICAgICAgICBpZiBub3RfcmVh
bGx5OgogICAgICAgICAgICAgaWYgZnMuZmlsZV9leGlzdHMoZmlsZV90b19y
ZWFkKToKICAgICAgICAgICAgICAgICByZXR1cm4gIjwlczolcz4iICUgKGZp
bGVfdHlwZSwgZmlsZV90b19yZWFkKQpAQCAtNzUwLDIxICs3NDksMTggQEAg
aWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgcHJpbnQoZSwgZmlsZT1zeXMu
c3RkZXJyKQogICAgICAgICAgICAgc3lzLmV4aXQoIkVycm9yIG9wZW5pbmcg
JXMgaW4gZ3Vlc3QiICUgZmlsZV90b19yZWFkKQotICAgICAgICAodGZkLCBy
ZXQpID0gdGVtcGZpbGUubWtzdGVtcChwcmVmaXg9ImJvb3RfIitmaWxlX3R5
cGUrIi4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkaXI9b3V0cHV0X2RpcmVjdG9yeSkKICAgICAgICAgZGF0YW9mZiA9IDAK
ICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIGRhdGEgPSBkYXRh
ZmlsZS5yZWFkKEZTX1JFQURfTUFYLCBkYXRhb2ZmKQogICAgICAgICAgICAg
aWYgbGVuKGRhdGEpID09IDA6Ci0gICAgICAgICAgICAgICAgb3MuY2xvc2Uo
dGZkKQorICAgICAgICAgICAgICAgIG9zLmNsb3NlKGZkX2RzdCkKICAgICAg
ICAgICAgICAgICBkZWwgZGF0YWZpbGUKLSAgICAgICAgICAgICAgICByZXR1
cm4gcmV0CisgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICB0
cnk6Ci0gICAgICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQorICAg
ICAgICAgICAgICAgIG9zLndyaXRlKGZkX2RzdCwgZGF0YSkKICAgICAgICAg
ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgICBw
cmludChlLCBmaWxlPXN5cy5zdGRlcnIpCi0gICAgICAgICAgICAgICAgb3Mu
Y2xvc2UodGZkKQotICAgICAgICAgICAgICAgIG9zLnVubGluayhyZXQpCisg
ICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfZHN0KQogICAgICAgICAg
ICAgICAgIGRlbCBkYXRhZmlsZQogICAgICAgICAgICAgICAgIHN5cy5leGl0
KCJFcnJvciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5IG9mICIrZmlsZV90eXBl
KQogICAgICAgICAgICAgZGF0YW9mZiArPSBsZW4oZGF0YSkKQEAgLTg2MSw2
ICs4NTcsMTQgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlCiAKKyAgICBpZiBub3RfcmVh
bGx5OgorICAgICAgICBmZF9rZXJuZWwgPSAgcGF0aF9rZXJuZWwgPSBmZF9y
YW1kaXNrID0gcGF0aF9yYW1kaXNrID0gTm9uZQorICAgIGVsc2U6CisgICAg
ICAgIChmZF9rZXJuZWwsIHBhdGhfa2VybmVsKSA9IHRlbXBmaWxlLm1rc3Rl
bXAocHJlZml4PSJib290X2tlcm5lbC4iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcj1vdXRwdXRf
ZGlyZWN0b3J5KQorICAgICAgICAoZmRfcmFtZGlzaywgcGF0aF9yYW1kaXNr
KSA9IHRlbXBmaWxlLm1rc3RlbXAocHJlZml4PSJib290X3JhbWRpc2suIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpcj1vdXRwdXRfZGlyZWN0b3J5KQorCiAgICAgaWYgb3V0
cHV0IGlzIE5vbmU6CiAgICAgICAgIGZkID0gc3lzLnN0ZG91dC5maWxlbm8o
KQogICAgIGVsc2U6CkBAIC05MjAsMjAgKzkyNCwyMyBAQCBpZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgogICAgIGlmIGZzIGlzIE5vbmU6CiAgICAgICAg
IHJhaXNlIFJ1bnRpbWVFcnJvcigiVW5hYmxlIHRvIGZpbmQgcGFydGl0aW9u
IGNvbnRhaW5pbmcga2VybmVsIikKIAotICAgIGJvb3RjZmdbImtlcm5lbCJd
ID0gY29weV9mcm9tX2ltYWdlKGZzLCBjaG9zZW5jZmdbImtlcm5lbCJdLCAi
a2VybmVsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvdXRwdXRfZGlyZWN0b3J5LCBub3RfcmVhbGx5KQorICAgIGNvcHlf
ZnJvbV9pbWFnZShmcywgY2hvc2VuY2ZnWyJrZXJuZWwiXSwgImtlcm5lbCIs
CisgICAgICAgICAgICAgICAgICAgIGZkX2tlcm5lbCwgcGF0aF9rZXJuZWws
IG5vdF9yZWFsbHkpCisgICAgYm9vdGNmZ1sia2VybmVsIl0gPSBwYXRoX2tl
cm5lbAogCiAgICAgaWYgY2hvc2VuY2ZnWyJyYW1kaXNrIl06CiAgICAgICAg
IHRyeToKLSAgICAgICAgICAgIGJvb3RjZmdbInJhbWRpc2siXSA9IGNvcHlf
ZnJvbV9pbWFnZShmcywgY2hvc2VuY2ZnWyJyYW1kaXNrIl0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJh
bWRpc2siLCBvdXRwdXRfZGlyZWN0b3J5LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdF9yZWFsbHkpCisg
ICAgICAgICAgICBjb3B5X2Zyb21faW1hZ2UoZnMsIGNob3NlbmNmZ1sicmFt
ZGlzayJdLCAicmFtZGlzayIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmRfcmFtZGlzaywgcGF0aF9yYW1kaXNrLCBub3RfcmVhbGx5KQogICAg
ICAgICBleGNlcHQ6CiAgICAgICAgICAgICBpZiBub3Qgbm90X3JlYWxseToK
LSAgICAgICAgICAgICAgICBvcy51bmxpbmsoYm9vdGNmZ1sia2VybmVsIl0p
CisgICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfa2VybmVsKQogICAg
ICAgICAgICAgcmFpc2UKKyAgICAgICAgYm9vdGNmZ1sicmFtZGlzayJdID0g
cGF0aF9yYW1kaXNrCiAgICAgZWxzZToKICAgICAgICAgaW5pdHJkID0gTm9u
ZQorICAgICAgICBpZiBub3Qgbm90X3JlYWxseToKKyAgICAgICAgICAgIG9z
LnVubGluayhwYXRoX3JhbWRpc2spCiAKICAgICBhcmdzID0gTm9uZQogICAg
IGlmIGNob3NlbmNmZ1siYXJncyJdOgotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-08.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-08.patch"
Content-Transfer-Encoding: base64

RnJvbSAxNTQ4YWQyMjkxZWM3YTcyYWU2OTQ5YzExZDJlNTBjZWExMzVhNDhk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjI0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
OC8xMV0gdG9vbHMvbGliZnNpbWFnZTogRXhwb3J0IGEgbmV3IGZ1bmN0aW9u
IHRvIHByZWxvYWQgYWxsCiBwbHVnaW5zCgpUaGlzIGlzIHdvcmsgcmVxdWly
ZWQgaW4gb3JkZXIgdG8gbGV0IHB5Z3J1YiBvcGVyYXRlIGluIGhpZ2hseSBk
ZXByaXZpbGVnZWQKY2hyb290IG1vZGUuIFRoaXMgcGF0Y2ggYWRkcyBhIGZ1
bmN0aW9uIHRoYXQgcHJlbG9hZHMgZXZlcnkgcGx1Z2luLCBoZW5jZQplbnN1
cmluZyB0aGF0IGEgb24gZnVuY3Rpb24gZXhpdCwgZXZlcnkgc2hhcmVkIGxp
YnJhcnkgaXMgbG9hZGVkIGluIG1lbW9yeS4KClRoZSBuZXcgImluaXQiIGZ1
bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgYmVmb3JlIGRlcHJpdiwg
YnV0IHRoYXQncwpmaW5lIGJlY2F1c2UgaXQncyBub3QgYWN0aW5nIG9uIHVu
dHJ1c3RlZCBkYXRhLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUt
MjAyMy0zNDMyNQoKU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8g
PGFsZWphbmRyby52YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJl
dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9v
bHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFnZV9wbHVnaW4uYyB8ICA0ICsr
LS0KIHRvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtR05VICAgICAg
fCAgMSArCiB0b29scy9saWJmc2ltYWdlL2NvbW1vbi9tYXBmaWxlLVN1bk9T
ICAgIHwgIDEgKwogdG9vbHMvbGliZnNpbWFnZS9jb21tb24veGVuZnNpbWFn
ZS5oICAgICB8ICA4ICsrKysrKysrCiB0b29scy9weWdydWIvc3JjL2ZzaW1h
Z2UvZnNpbWFnZS5jICAgICAgIHwgMTUgKysrKysrKysrKysrKysrCiA1IGZp
bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFn
ZV9wbHVnaW4uYyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL2ZzaW1hZ2Vf
cGx1Z2luLmMKaW5kZXggZGUxNDEyYjQyMzNhLi5kMGNiOWU5NmE2NTQgMTAw
NjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL2ZzaW1hZ2VfcGx1
Z2luLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFnZV9w
bHVnaW4uYwpAQCAtMTE5LDcgKzExOSw3IEBAIGZhaWw6CiAJcmV0dXJuICgt
MSk7CiB9CiAKLXN0YXRpYyBpbnQgbG9hZF9wbHVnaW5zKHZvaWQpCitpbnQg
ZnNpX2luaXQodm9pZCkKIHsKIAljb25zdCBjaGFyICpmc2RpciA9IGdldGVu
digiWEVOX0ZTSU1BR0VfRlNESVIiKTsKIAlzdHJ1Y3QgZGlyZW50ICpkcCA9
IE5VTEw7CkBAIC0xODAsNyArMTgwLDcgQEAgaW50IGZpbmRfcGx1Z2luKGZz
aV90ICpmc2ksIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm9wdGlv
bnMpCiAJZnNpX3BsdWdpbl90ICpmcDsKIAlpbnQgcmV0ID0gMDsKIAotCWlm
IChwbHVnaW5zID09IE5VTEwgJiYgKHJldCA9IGxvYWRfcGx1Z2lucygpKSAh
PSAwKQorCWlmIChwbHVnaW5zID09IE5VTEwgJiYgKHJldCA9IGZzaV9pbml0
KCkpICE9IDApCiAJCWdvdG8gb3V0OwogCiAJZm9yIChmcCA9IHBsdWdpbnM7
IGZwICE9IE5VTEw7IGZwID0gZnAtPmZwX25leHQpIHsKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtR05VIGIvdG9vbHMv
bGliZnNpbWFnZS9jb21tb24vbWFwZmlsZS1HTlUKaW5kZXggMjZkNGQ3YTY5
ZWM3Li4yZDU0ZDUyN2Q3ZjUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1h
Z2UvY29tbW9uL21hcGZpbGUtR05VCisrKyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
Y29tbW9uL21hcGZpbGUtR05VCkBAIC0xLDYgKzEsNyBAQAogVkVSU0lPTiB7
CiAJbGliZnNpbWFnZS5zby4xLjAgewogCQlnbG9iYWw6CisJCQlmc2lfaW5p
dDsKIAkJCWZzaV9vcGVuX2ZzaW1hZ2U7CiAJCQlmc2lfY2xvc2VfZnNpbWFn
ZTsKIAkJCWZzaV9maWxlX2V4aXN0czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp
YmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtU3VuT1MgYi90b29scy9saWJmc2lt
YWdlL2NvbW1vbi9tYXBmaWxlLVN1bk9TCmluZGV4IGU5OWI5MGI2NTA3Ny4u
NDhkZWVkYjQyNTJmIDEwMDY0NAotLS0gYS90b29scy9saWJmc2ltYWdlL2Nv
bW1vbi9tYXBmaWxlLVN1bk9TCisrKyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29t
bW9uL21hcGZpbGUtU3VuT1MKQEAgLTEsNSArMSw2IEBACiBsaWJmc2ltYWdl
LnNvLjEuMCB7CiAJZ2xvYmFsOgorCQlmc2lfaW5pdDsKIAkJZnNpX29wZW5f
ZnNpbWFnZTsKIAkJZnNpX2Nsb3NlX2ZzaW1hZ2U7CiAJCWZzaV9maWxlX2V4
aXN0czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hl
bmZzaW1hZ2UuaCBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hlbmZzaW1h
Z2UuaAppbmRleCAyMDFhYmQ1NGYyM2EuLjM0MTg4M2IyZDcxYSAxMDA2NDQK
LS0tIGEvdG9vbHMvbGliZnNpbWFnZS9jb21tb24veGVuZnNpbWFnZS5oCisr
KyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hlbmZzaW1hZ2UuaApAQCAt
MzUsNiArMzUsMTQgQEAgZXh0ZXJuIEMgewogdHlwZWRlZiBzdHJ1Y3QgZnNp
IGZzaV90OwogdHlwZWRlZiBzdHJ1Y3QgZnNpX2ZpbGUgZnNpX2ZpbGVfdDsK
IAorLyoKKyAqIE9wdGlvbmFsIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiBJ
ZiBpbnZva2VkIGl0IGxvYWRzIHRoZSBhc3NvY2lhdGVkCisgKiBkeW5hbWlj
IGxpYnJhcmllcyBmb3IgdGhlIGJhY2tlbmRzIGFoZWFkIG9mIHRpbWUuIFRo
aXMgaXMgcmVxdWlyZWQgaWYKKyAqIHRoZSBsaWJyYXJ5IGlzIHRvIHJ1biBh
cyBwYXJ0IG9mIGEgaGlnaGx5IGRlcHJpdmlsZWdlZCBleGVjdXRhYmxlLCBh
cworICogdGhlIGxpYnJhcmllcyBtYXkgbm90IGJlIHJlYWNoYWJsZSBhZnRl
ciBkZXByaXYuCisgKi8KK2ludCBmc2lfaW5pdCh2b2lkKTsKKwogZnNpX3Qg
KmZzaV9vcGVuX2ZzaW1hZ2UoY29uc3QgY2hhciAqLCB1aW50NjRfdCwgY29u
c3QgY2hhciAqKTsKIHZvaWQgZnNpX2Nsb3NlX2ZzaW1hZ2UoZnNpX3QgKik7
CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5Z3J1Yi9zcmMvZnNpbWFnZS9mc2lt
YWdlLmMgYi90b29scy9weWdydWIvc3JjL2ZzaW1hZ2UvZnNpbWFnZS5jCmlu
ZGV4IDJlYmJiZTM1ZGY5Mi4uOTJmYmYyODUxZjAxIDEwMDY0NAotLS0gYS90
b29scy9weWdydWIvc3JjL2ZzaW1hZ2UvZnNpbWFnZS5jCisrKyBiL3Rvb2xz
L3B5Z3J1Yi9zcmMvZnNpbWFnZS9mc2ltYWdlLmMKQEAgLTI4Niw2ICsyODYs
MTUgQEAgZnNpbWFnZV9nZXRib290c3RyaW5nKFB5T2JqZWN0ICpvLCBQeU9i
amVjdCAqYXJncykKIAlyZXR1cm4gUHlfQnVpbGRWYWx1ZSgicyIsIGJvb3Rz
dHJpbmcpOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorZnNpbWFnZV9pbml0
KFB5T2JqZWN0ICpvLCBQeU9iamVjdCAqYXJncykKK3sKKwlpZiAoIVB5QXJn
X1BhcnNlVHVwbGUoYXJncywgIiIpKQorCQlyZXR1cm4gKE5VTEwpOworCisJ
cmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBmc2lfaW5pdCgpKTsKK30KKwog
UHlEb2NfU1RSVkFSKGZzaW1hZ2Vfb3Blbl9fZG9jX18sCiAgICAgIm9wZW4o
bmFtZSwgW29mZnNldD1vZmZdKSAtIE9wZW4gdGhlIGdpdmVuIGZpbGUgYXMg
YSBmaWxlc3lzdGVtIGltYWdlLlxuIgogICAgICJcbiIKQEAgLTI5Nyw3ICsz
MDYsMTMgQEAgUHlEb2NfU1RSVkFSKGZzaW1hZ2VfZ2V0Ym9vdHN0cmluZ19f
ZG9jX18sCiAgICAgImdldGJvb3RzdHJpbmcoZnMpIC0gUmV0dXJuIHRoZSBi
b290IHN0cmluZyBuZWVkZWQgZm9yIHRoaXMgZmlsZSBzeXN0ZW0gIgogICAg
ICJvciBOVUxMIGlmIG5vbmUgaXMgbmVlZGVkLlxuIik7CiAKK1B5RG9jX1NU
UlZBUihmc2ltYWdlX2luaXRfX2RvY19fLAorICAgICJpbml0KCkgLSBMb2Fk
cyBldmVyeSBkeW5hbWljIGxpYnJhcnkgY29udGFpbmVkIGluIHhlbmZzaW1h
Z2UgIgorICAgICJpbnRvIG1lbW9yeSBzbyB0aGF0IGl0IGNhbiBiZSB1c2Vk
IGluIGNocm9vdGVkIGVudmlyb25tZW50cy5cbiIpOworCiBzdGF0aWMgc3Ry
dWN0IFB5TWV0aG9kRGVmIGZzaW1hZ2VfbW9kdWxlX21ldGhvZHNbXSA9IHsK
Kwl7ICJpbml0IiwgKFB5Q0Z1bmN0aW9uKWZzaW1hZ2VfaW5pdCwKKwkgICAg
TUVUSF9WQVJBUkdTLCBmc2ltYWdlX2luaXRfX2RvY19fIH0sCiAJeyAib3Bl
biIsIChQeUNGdW5jdGlvbilmc2ltYWdlX29wZW4sCiAJICAgIE1FVEhfVkFS
QVJHU3xNRVRIX0tFWVdPUkRTLCBmc2ltYWdlX29wZW5fX2RvY19fIH0sCiAJ
eyAiZ2V0Ym9vdHN0cmluZyIsIChQeUNGdW5jdGlvbilmc2ltYWdlX2dldGJv
b3RzdHJpbmcsCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-09.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-09.patch"
Content-Transfer-Encoding: base64

RnJvbSA0ZDMzMWIwYjkxNGRmYzE3YmQyZDg4M2JjNTVhZWI3OTg5MzA4MzJh
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjI1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
OS8xMV0gdG9vbHMvcHlncnViOiBEZXByaXZpbGVnZSBweWdydWIKCkludHJv
ZHVjZSBhIC0tcnVuYXM9PHVpZD4gZmxhZyB0byBkZXByaXZpbGVnZSBweWdy
dWIgb24gTGludXggYW5kICpCU0RzLiBJdAphbHNvIGltcGxpY2l0bHkgY3Jl
YXRlcyBhIGNocm9vdCBlbnYgd2hlcmUgaXQgZHJvcHMgYSBkZXByaXZpbGVn
ZWQgZm9ya2VkCnByb2Nlc3MuIFRoZSBjaHJvb3QgaXRzZWxmIGlzIGNsZWFu
ZWQgdXAgYXQgdGhlIGVuZC4KCklmIHRoZSAtLXJ1bmFzIGFyZyBpcyBwcmVz
ZW50LCB0aGVuIHB5Z3J1YiBmb3JrcywgbGVhdmluZyB0aGUgY2hpbGQgdG8K
ZGVwcml2aWxlZ2UgaXRzZWxmLCBhbmQgd2FpdGluZyBmb3IgaXQgdG8gY29t
cGxldGUuIFdoZW4gdGhlIGNoaWxkIGV4aXN0cywKdGhlIHBhcmVudCBwZXJm
b3JtcyBjbGVhbnVwIGFuZCBleGl0cyB3aXRoIHRoZSBzYW1lIGVycm9yIGNv
ZGUuCgpUaGlzIGlzIHJvdWdobHkgd2hhdCB0aGUgY2hpbGQgZG9lczoKICAx
LiBJbml0aWFsaXplIGxpYmZzaW1hZ2UgKHRoaXMgbG9hZHMgZXZlcnkgLnNv
IGluIG1lbW9yeSBzbyB0aGUgY2hyb290CiAgICAgY2FuIGF2b2lkIGJpbmQt
bW91bnRpbmcgL3ssdXNyfS9saWIqCiAgMi4gQ3JlYXRlIGEgdGVtcG9yYXJ5
IGVtcHR5IGNocm9vdCBkaXJlY3RvcnkKICAzLiBNb3VudCB0bXBmcyBpbiBp
dAogIDQuIEJpbmQgbW91bnQgdGhlIGRpc2sgaW5zaWRlLCBiZWNhdXNlIGxp
YmZzaW1hZ2UgZXhwZWN0cyBhIHBhdGgsIG5vdCBhCiAgICAgZmlsZSBkZXNj
cmlwdG9yLgogIDUuIFJlbW91bnQgdGhlIHJvb3QgdG1wZnMgdG8gYmUgc3Ry
aWN0ZXIgKHJvLG5vc3VpZCxub2RldikKICA2LiBTZXQgUkxJTUlUX0ZTSVpF
IHRvIGEgc2Vuc2libHkgaGlnaCBhbW91bnQgKDEyOCBNaUIpCiAgNy4gRGVw
cml2IGdpZCwgZ3JvdXBzIGFuZCB1aWQKCldpdGggdGhpcyBzY2hlbWUgaW4g
cGxhY2UsIHRoZSAib3V0cHV0IiBmaWxlcyBhcmUgd3JpdGFibGUgKHVwIHRv
ClJMSU1JVF9GU0laRSBvY3RldHMpIGFuZCB0aGUgZXhwb3NlZCBmaWxlc3lz
dGVtIGlzIGltbXV0YWJsZSBhbmQgY29udGFpbnMKdGhlIHNpbmdsZSBvbmx5
IGZpbGUgd2UgY2FuJ3QgZWFzaWx5IGdldCByaWQgb2YgKHRoZSBkaXNrKS4K
CklmIHJ1bm5pbmcgb24gTGludXgsIHRoZSBjaGlsZCBwcm9jZXNzIGFsc28g
dW5zaGFyZXMgbW91bnQsIElQQywgYW5kCm5ldHdvcmsgbmFtZXNwYWNlcyBi
ZWZvcmUgZHJvcHBpbmcgaXRzIHByaXZpbGVnZXMuCgpUaGlzIGlzIHBhcnQg
b2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBB
bGVqYW5kcm8gVmFsbGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29t
PgpBY2tlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0
cml4LmNvbT4KLS0tCiB0b29scy9weWdydWIvc2V0dXAucHkgICB8ICAgMiAr
LQogdG9vbHMvcHlncnViL3NyYy9weWdydWIgfCAxNjIgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2Vk
LCAxNTQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvdG9vbHMvcHlncnViL3NldHVwLnB5IGIvdG9vbHMvcHlncnViL3Nl
dHVwLnB5CmluZGV4IGI4ZjFkYzQ1OTBjZi4uZjE2MTg3YjZkMTE4IDEwMDY0
NAotLS0gYS90b29scy9weWdydWIvc2V0dXAucHkKKysrIGIvdG9vbHMvcHln
cnViL3NldHVwLnB5CkBAIC0xNyw3ICsxNyw3IEBAIHhlbmZzaW1hZ2UgPSBF
eHRlbnNpb24oInhlbmZzaW1hZ2UiLAogcGtncyA9IFsgJ2dydWInIF0KIAog
c2V0dXAobmFtZT0ncHlncnViJywKLSAgICAgIHZlcnNpb249JzAuNicsCisg
ICAgICB2ZXJzaW9uPScwLjcnLAogICAgICAgZGVzY3JpcHRpb249J0Jvb3Qg
bG9hZGVyIHRoYXQgbG9va3MgYSBsb3QgbGlrZSBncnViIGZvciBYZW4nLAog
ICAgICAgYXV0aG9yPSdKZXJlbXkgS2F0eicsCiAgICAgICBhdXRob3JfZW1h
aWw9J2thdHpqQHJlZGhhdC5jb20nLApkaWZmIC0tZ2l0IGEvdG9vbHMvcHln
cnViL3NyYy9weWdydWIgYi90b29scy9weWdydWIvc3JjL3B5Z3J1YgppbmRl
eCA5MWUyZWMyYWIxMDUuLjdjZWE0OTZhZGUwOCAxMDA3NTUKLS0tIGEvdG9v
bHMvcHlncnViL3NyYy9weWdydWIKKysrIGIvdG9vbHMvcHlncnViL3NyYy9w
eWdydWIKQEAgLTE2LDggKzE2LDExIEBAIGZyb20gX19mdXR1cmVfXyBpbXBv
cnQgcHJpbnRfZnVuY3Rpb24KIAogaW1wb3J0IG9zLCBzeXMsIHN0cmluZywg
c3RydWN0LCB0ZW1wZmlsZSwgcmUsIHRyYWNlYmFjaywgc3RhdCwgZXJybm8K
IGltcG9ydCBjb3B5CitpbXBvcnQgY3R5cGVzLCBjdHlwZXMudXRpbAogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCBwbGF0Zm9ybQoraW1wb3J0IHJlc291cmNl
CitpbXBvcnQgc3VicHJvY2VzcwogCiBpbXBvcnQgY3Vyc2VzLCBfY3Vyc2Vz
LCBjdXJzZXMudGV4dHBhZCwgY3Vyc2VzLmFzY2lpCiBpbXBvcnQgZ2V0b3B0
CkBAIC0yNywxMCArMzAsMTM1IEBAIGltcG9ydCBncnViLkdydWJDb25mCiBp
bXBvcnQgZ3J1Yi5MaWxvQ29uZgogaW1wb3J0IGdydWIuRXh0TGludXhDb25m
CiAKLVBZR1JVQl9WRVIgPSAwLjYKK1BZR1JVQl9WRVIgPSAwLjcKIEZTX1JF
QURfTUFYID0gMTAyNCAqIDEwMjQKIFNFQ1RPUl9TSVpFID0gNTEyCiAKKyMg
VW5sZXNzIHByb3ZpZGVkIHRocm91Z2ggdGhlIGVudiB2YXJpYWJsZSBQWUdS
VUJfTUFYX0ZJTEVfU0laRV9NQiwgdGhlbgorIyB0aGlzIGlzIHRoZSBtYXhp
bXVtIGZpbGVzaXplIGFsbG93ZWQgZm9yIGZpbGVzIHdyaXR0ZW4gYnkgdGhl
IGRlcHJpdgorIyBweWdydWIKK0xJTUlUX0ZTSVpFID0gMTI4IDw8IDIwCisK
K0NMT05FX05FV05TID0gMHgwMDAyMDAwMCAjIG1vdW50IG5hbWVzcGFjZQor
Q0xPTkVfTkVXTkVUID0gMHg0MDAwMDAwMCAjIG5ldHdvcmsgbmFtZXNwYWNl
CitDTE9ORV9ORVdJUEMgPSAweDA4MDAwMDAwICMgSVBDIG5hbWVzcGFjZQor
CitkZWYgdW5zaGFyZShmbGFncyk6CisgICAgaWYgbm90IHN5cy5wbGF0Zm9y
bS5zdGFydHN3aXRoKCJsaW51eCIpOgorICAgICAgICBwcmludCgic2tpcF91
bnNoYXJlIHJlYXNvbj1ub3RfbGludXggcGxhdGZvcm09JXMiLCBzeXMucGxh
dGZvcm0sIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgcmV0dXJuCisKKyAg
ICBsaWJjID0gY3R5cGVzLkNETEwoY3R5cGVzLnV0aWwuZmluZF9saWJyYXJ5
KCdjJyksIHVzZV9lcnJubz1UcnVlKQorICAgIHVuc2hhcmVfcHJvdG90eXBl
ID0gY3R5cGVzLkNGVU5DVFlQRShjdHlwZXMuY19pbnQsIGN0eXBlcy5jX2lu
dCwgdXNlX2Vycm5vPVRydWUpCisgICAgdW5zaGFyZSA9IHVuc2hhcmVfcHJv
dG90eXBlKCgndW5zaGFyZScsIGxpYmMpKQorCisgICAgaWYgdW5zaGFyZShm
bGFncykgPCAwOgorICAgICAgICByYWlzZSBPU0Vycm9yKGN0eXBlcy5nZXRf
ZXJybm8oKSwgb3Muc3RyZXJyb3IoY3R5cGVzLmdldF9lcnJubygpKSkKKwor
ZGVmIGJpbmRfbW91bnQoc3JjLCBkc3QsIG9wdGlvbnMpOgorICAgIG9wZW4o
ZHN0LCAiYSIpLmNsb3NlKCkgIyB0b3VjaAorCisgICAgcmMgPSBzdWJwcm9j
ZXNzLmNhbGwoWyJtb3VudCIsICItLWJpbmQiLCAiLW8iLCBvcHRpb25zLCBz
cmMsIGRzdF0pCisgICAgaWYgcmMgIT0gMDoKKyAgICAgICAgcmFpc2UgUnVu
dGltZUVycm9yKCJiYWRfbW91bnQ6IHNyYz0lcyBkc3Q9JXMgb3B0cz0lcyIg
JQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNyYywgZHN0LCBvcHRp
b25zKSkKKworZGVmIGRvd25ncmFkZV9ybGltaXRzKCk6CisgICAgIyBXaXBl
IHRoZSBhdXRob3JpdHkgdG8gdXNlIHVucmVxdWlyZWQgcmVzb3VyY2VzCisg
ICAgcmVzb3VyY2Uuc2V0cmxpbWl0KHJlc291cmNlLlJMSU1JVF9OUFJPQywg
ICAgKDAsIDApKQorICAgIHJlc291cmNlLnNldHJsaW1pdChyZXNvdXJjZS5S
TElNSVRfQ09SRSwgICAgICgwLCAwKSkKKyAgICByZXNvdXJjZS5zZXRybGlt
aXQocmVzb3VyY2UuUkxJTUlUX01FTUxPQ0ssICAoMCwgMCkpCisKKyAgICAj
IHB5MidzIHJlc291cmNlIG1vZHVsZSBkb2Vzbid0IGtub3cgYWJvdXQgcmVz
b3VyY2UuUkxJTUlUX01TR1FVRVVFCisgICAgIworICAgICMgVE9ETzogVXNl
IHJlc291cmNlLlJMSU1JVF9NU0dRVUVVRSBhZnRlciBweXRob24yIGlzIGRl
cHJlY2F0ZWQKKyAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGlu
dXgnKToKKyAgICAgICAgUkxJTUlUX01TR1FVRVVFID0gMTIKKyAgICAgICAg
cmVzb3VyY2Uuc2V0cmxpbWl0KFJMSU1JVF9NU0dRVUVVRSwgKDAsIDApKQor
CisgICAgIyBUaGUgZmluYWwgbG9vayBvZiB0aGUgZmlsZXN5c3RlbSBmb3Ig
dGhpcyBwcm9jZXNzIGlzIGZ1bGx5IFJPLCBidXQKKyAgICAjIG5vdGUgd2Ug
aGF2ZSBzb21lIGZpbGUgZGVzY3JpcHRvciBhbHJlYWR5IG9wZW4gKG5vdGFi
bHksIGtlcm5lbCBhbmQKKyAgICAjIHJhbWRpc2spLiBJbiBvcmRlciB0byBh
dm9pZCBhIGNvbXByb21pc2VkIHB5Z3J1YiBmcm9tIGZpbGxpbmcgdXAgdGhl
CisgICAgIyBmaWxlc3lzdGVtIHdlIHNldCBSTElNSVRfRlNJWkUgdG8gYSBo
aWdoIGJvdW5kLCBzbyB0aGF0IHRoZSBmaWxlCisgICAgIyB3cml0ZSBwZXJt
aXNzaW9ucyBhcmUgYm91bmQuCisgICAgZnNpemUgPSBMSU1JVF9GU0laRQor
ICAgIGlmICJQWUdSVUJfTUFYX0ZJTEVfU0laRV9NQiIgaW4gb3MuZW52aXJv
bi5rZXlzKCk6CisgICAgICAgIGZzaXplID0gb3MuZW52aXJvblsiUFlHUlVC
X01BWF9GSUxFX1NJWkVfTUIiXSA8PCAyMAorCisgICAgcmVzb3VyY2Uuc2V0
cmxpbWl0KHJlc291cmNlLlJMSU1JVF9GU0laRSwgKGZzaXplLCBmc2l6ZSkp
CisKK2RlZiBkZXByaXYob3V0cHV0X2RpcmVjdG9yeSwgb3V0cHV0LCBkZXZp
Y2UsIHVpZCwgcGF0aF9rZXJuZWwsIHBhdGhfcmFtZGlzayk6CisgICAgIyBU
aGUgb25seSBwb2ludCBvZiB0aGlzIGNhbGwgaXMgdG8gZm9yY2UgdGhlIGxv
YWRpbmcgb2YgbGliZnNpbWFnZS4KKyAgICAjIFRoYXQgd2F5LCB3ZSBkb24n
dCBuZWVkIHRvIGJpbmQtbW91bnQgaXQgaW50byB0aGUgY2hyb290CisgICAg
cmMgPSB4ZW5mc2ltYWdlLmluaXQoKQorICAgIGlmIHJjICE9IDA6CisgICAg
ICAgIG9zLnVubGluayhwYXRoX3JhbWRpc2spCisgICAgICAgIG9zLnVubGlu
ayhwYXRoX2tlcm5lbCkKKyAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJi
YWRfeGVuZnNpbWFnZTogcmM9JWQiICUgcmMpCisKKyAgICAjIENyZWF0ZSBh
IHRlbXBvcmFyeSBkaXJlY3RvcnkgZm9yIHRoZSBjaHJvb3QKKyAgICBjaHJv
b3QgPSB0ZW1wZmlsZS5ta2R0ZW1wKHByZWZpeD1zdHIodWlkKSsnLScsIGRp
cj1vdXRwdXRfZGlyZWN0b3J5KSArICcvJworICAgIGRldmljZV9wYXRoID0g
Jy9kZXZpY2UnCisKKyAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICBpZiBwaWQ6
CisgICAgICAgICMgcGFyZW50CisgICAgICAgIF8sIHJjID0gb3Mud2FpdHBp
ZChwaWQsIDApCisKKyAgICAgICAgZm9yIHBhdGggaW4gW3BhdGhfa2VybmVs
LCBwYXRoX3JhbWRpc2tdOgorICAgICAgICAgICAgIyBJZiB0aGUgY2hpbGQg
ZGlkbid0IHdyaXRlIGFueXRoaW5nLCBqdXN0IGdldCByaWQgb2YgaXQsCisg
ICAgICAgICAgICAjIG90aGVyd2lzZSB3ZSBlbmQgdXAgY29uc3VtaW5nIGEg
MC1zaXplIGZpbGUgd2hlbiBwYXJzaW5nCisgICAgICAgICAgICAjIHN5c3Rl
bXMgd2l0aG91dCBhIHJhbWRpc2sgdGhhdCB0aGUgdWx0aW1hdGUgY2FsbGVy
IG9mIHB5Z3J1YgorICAgICAgICAgICAgIyBtYXkganVzdCBiZSB1bmF3YXJl
IG9mCisgICAgICAgICAgICBpZiByYyAhPSAwIG9yIG9zLnBhdGguZ2V0c2l6
ZShwYXRoKSA9PSAwOgorICAgICAgICAgICAgICAgIG9zLnVubGluayhwYXRo
KQorCisgICAgICAgICMgTm9ybWFsbHksIHVuc2hhcmUoQ0xPTkVfTkVXTlMp
IHdpbGwgZW5zdXJlIHRoaXMgaXMgbm90IHJlcXVpcmVkLgorICAgICAgICAj
IEhvd2V2ZXIsIHRoaXMgc3lzY2FsbCBkb2Vzbid0IGV4aXN0IGluICpCU0Qg
c3lzdGVtcyBhbmQgZG9lc24ndAorICAgICAgICAjIGF1dG8tdW5tb3VudCBl
dmVyeXRoaW5nIG9uIG9sZGVyIExpbnV4IGtlcm5lbHMgKEF0IGxlYXN0IGFz
IG9mCisgICAgICAgICMgTGludXggNC4xOSwgYnV0IGl0IHNlZW1zIGZpeGVk
IGluIDUuMTUpLiBFaXRoZXIgd2F5LAorICAgICAgICAjIHJlY3Vyc2l2ZWx5
IHVubW91bnQgZXZlcnl0aGluZyBpZiBuZWVkZWQuIFF1aWV0bHkuCisgICAg
ICAgIHdpdGggb3BlbignL2Rldi9udWxsJywgJ3cnKSBhcyBkZXZudWxsOgor
ICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKFsidW1vdW50IiwgIi1mIiwg
Y2hyb290ICsgZGV2aWNlX3BhdGhdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0ZG91dD1kZXZudWxsLCBzdGRlcnI9ZGV2bnVsbCkKKyAgICAg
ICAgICAgIHN1YnByb2Nlc3MuY2FsbChbInVtb3VudCIsICItZiIsIGNocm9v
dF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PWRldm51
bGwsIHN0ZGVycj1kZXZudWxsKQorICAgICAgICBvcy5ybWRpcihjaHJvb3Qp
CisKKyAgICAgICAgc3lzLmV4aXQocmMpCisKKyAgICAjIEJ5IHVuc2hhcmlu
ZyB0aGUgbmFtZXNwYWNlIHdlJ3JlIG1ha2luZyBzdXJlIGl0J3MgYWxsIGJ1
bGstcmVsZWFzZWQKKyAgICAjIGF0IHRoZSBlbmQsIHdoZW4gdGhlIG5hbWVz
cGFjZXMgZGlzYXBwZWFyLiBUaGlzIG1lYW5zIHRoZSBrZXJuZWwgZG9lcwor
ICAgICMgKGFsbW9zdCkgYWxsIHRoZSBjbGVhbnVwIGZvciB1cyBhbmQgdGhl
IHBhcmVudCBqdXN0IGhhcyB0byByZW1vdmUgdGhlCisgICAgIyB0ZW1wb3Jh
cnkgZGlyZWN0b3J5LgorICAgIHVuc2hhcmUoQ0xPTkVfTkVXTlMgfCBDTE9O
RV9ORVdJUEMgfCBDTE9ORV9ORVdORVQpCisKKyAgICAjIFNldCBzZW5zaWJs
ZSBsaW1pdHMgdXNpbmcgdGhlIHNldHJsaW1pdCBpbnRlcmZhY2UKKyAgICBk
b3duZ3JhZGVfcmxpbWl0cygpCisKKyAgICAjIFdlJ2xsIG1vdW50IHRtcGZz
IG9uIHRoZSBjaHJvb3QgdG8gZW5zdXJlIHRoZSBkZXByaXZpbGVnZWQgY2hp
bGQKKyAgICAjIGNhbm5vdCBhZmZlY3QgdGhlIHBlcnNpc3RlbnQgc3RhdGUu
IEl0J3MgUlcgbm93IGluIG9yZGVyIHRvCisgICAgIyBiaW5kLW1vdW50IHRo
ZSBkZXZpY2UsIGJ1dCBub3RlIGl0J3MgcmVtb3VudGVkIFJPIGFmdGVyIHRo
YXQuCisgICAgcmMgPSBzdWJwcm9jZXNzLmNhbGwoWyJtb3VudCIsICItdCIs
ICJ0bXBmcyIsICJub25lIiwgY2hyb290XSkKKyAgICBpZiByYyAhPSAwOgor
ICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIm1vdW50X3RtcGZzIHJjPSVk
IGRzdD1cIiVzXCIiICUgKHJjLCBjaHJvb3QpKQorCisgICAgIyBCaW5kIHRo
ZSB1bnRydXN0ZWQgZGV2aWNlIFJPCisgICAgYmluZF9tb3VudChkZXZpY2Us
IGNocm9vdCArIGRldmljZV9wYXRoLCAicm8sbm9zdWlkLG5vZXhlYyIpCisK
KyAgICByYyA9IHN1YnByb2Nlc3MuY2FsbChbIm1vdW50IiwgIi10IiwgInRt
cGZzIiwgIi1vIiwgInJlbW91bnQscm8sbm9zdWlkLG5vZXhlYyxub2RldiIs
ICJub25lIiwgY2hyb290XSkKKyAgICBpZiByYyAhPSAwOgorICAgICAgICBy
YWlzZSBSdW50aW1lRXJyb3IoInJlbW91bnRfdG1wZnMgcmM9JWQgZHN0PVwi
JXNcIiIgJSAocmMsIGNocm9vdCkpCisKKyAgICAjIERyb3Agc3VwZXJwb3dl
cnMhCisgICAgb3MuY2hyb290KGNocm9vdCkKKyAgICBvcy5jaGRpcignLycp
CisgICAgb3Muc2V0Z2lkKHVpZCkKKyAgICBvcy5zZXRncm91cHMoW3VpZF0p
CisgICAgb3Muc2V0dWlkKHVpZCkKKworICAgIHJldHVybiBkZXZpY2VfcGF0
aAorCiBkZWYgcmVhZF9zaXplX3JvdW5kdXAoZmQsIHNpemUpOgogICAgIGlm
IHBsYXRmb3JtLnN5c3RlbSgpICE9ICdGcmVlQlNEJzoKICAgICAgICAgcmV0
dXJuIHNpemUKQEAgLTczNiw3ICs4NjQsNyBAQCBpZiBfX25hbWVfXyA9PSAi
X19tYWluX18iOgogICAgIHNlbCA9IE5vbmUKICAgICAKICAgICBkZWYgdXNh
Z2UoKToKLSAgICAgICAgcHJpbnQoIlVzYWdlOiAlcyBbLXF8LS1xdWlldF0g
Wy1pfC0taW50ZXJhY3RpdmVdIFstbHwtLWxpc3QtZW50cmllc10gWy1ufC0t
bm90LXJlYWxseV0gWy0tb3V0cHV0PV0gWy0ta2VybmVsPV0gWy0tcmFtZGlz
az1dIFstLWFyZ3M9XSBbLS1lbnRyeT1dIFstLW91dHB1dC1kaXJlY3Rvcnk9
XSBbLS1vdXRwdXQtZm9ybWF0PXN4cHxzaW1wbGV8c2ltcGxlMF0gWy0tb2Zm
c2V0PV0gPGltYWdlPiIgJShzeXMuYXJndlswXSwpLCBmaWxlPXN5cy5zdGRl
cnIpCisgICAgICAgIHByaW50KCJVc2FnZTogJXMgWy1xfC0tcXVpZXRdIFst
aXwtLWludGVyYWN0aXZlXSBbLWx8LS1saXN0LWVudHJpZXNdIFstbnwtLW5v
dC1yZWFsbHldIFstLW91dHB1dD1dIFstLWtlcm5lbD1dIFstLXJhbWRpc2s9
XSBbLS1hcmdzPV0gWy0tZW50cnk9XSBbLS1vdXRwdXQtZGlyZWN0b3J5PV0g
Wy0tb3V0cHV0LWZvcm1hdD1zeHB8c2ltcGxlfHNpbXBsZTBdIFstLXJ1bmFz
PV0gWy0tb2Zmc2V0PV0gPGltYWdlPiIgJShzeXMuYXJndlswXSwpLCBmaWxl
PXN5cy5zdGRlcnIpCiAKICAgICBkZWYgY29weV9mcm9tX2ltYWdlKGZzLCBm
aWxlX3RvX3JlYWQsIGZpbGVfdHlwZSwgZmRfZHN0LCBwYXRoX2RzdCwgbm90
X3JlYWxseSk6CiAgICAgICAgIGlmIG5vdF9yZWFsbHk6CkBAIC03NjAsNyAr
ODg4LDggQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAgICAg
ICAgICAgICBvcy53cml0ZShmZF9kc3QsIGRhdGEpCiAgICAgICAgICAgICBl
eGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICAgICAgcHJpbnQo
ZSwgZmlsZT1zeXMuc3RkZXJyKQotICAgICAgICAgICAgICAgIG9zLnVubGlu
ayhwYXRoX2RzdCkKKyAgICAgICAgICAgICAgICBpZiBwYXRoX2RzdDoKKyAg
ICAgICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfZHN0KQogICAgICAg
ICAgICAgICAgIGRlbCBkYXRhZmlsZQogICAgICAgICAgICAgICAgIHN5cy5l
eGl0KCJFcnJvciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5IG9mICIrZmlsZV90
eXBlKQogICAgICAgICAgICAgZGF0YW9mZiArPSBsZW4oZGF0YSkKQEAgLTc2
OSw3ICs4OTgsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAg
ICAgICBvcHRzLCBhcmdzID0gZ2V0b3B0LmdudV9nZXRvcHQoc3lzLmFyZ3Zb
MTpdLCAncWlsbmg6OicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsicXVpZXQiLCAiaW50ZXJhY3RpdmUiLCAibGlzdC1lbnRyaWVz
IiwgIm5vdC1yZWFsbHkiLCAiaGVscCIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAib3V0cHV0PSIsICJvdXRwdXQtZm9ybWF0PSIs
ICJvdXRwdXQtZGlyZWN0b3J5PSIsICJvZmZzZXQ9IiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJlbnRyeT0iLCAia2VybmVsPSIs
IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJ1bmFz
PSIsICJlbnRyeT0iLCAia2VybmVsPSIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmFtZGlzaz0iLCAiYXJncz0iLCAiaXNjb25m
aWciLCAiZGVidWciXSkKICAgICBleGNlcHQgZ2V0b3B0LkdldG9wdEVycm9y
OgogICAgICAgICB1c2FnZSgpCkBAIC03OTAsNiArOTE5LDcgQEAgaWYgX19u
YW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBub3RfcmVhbGx5ID0gRmFsc2UK
ICAgICBvdXRwdXRfZm9ybWF0ID0gInN4cCIKICAgICBvdXRwdXRfZGlyZWN0
b3J5ID0gIi92YXIvcnVuL3hlbi9weWdydWIvIgorICAgIHVpZCA9IE5vbmUK
IAogICAgICMgd2hhdCB3YXMgcGFzc2VkIGluCiAgICAgaW5jZmcgPSB7ICJr
ZXJuZWwiOiBOb25lLCAicmFtZGlzayI6IE5vbmUsICJhcmdzIjogIiIgfQpA
QCAtODEzLDYgKzk0MywxMyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18i
OgogICAgICAgICBlbGlmIG8gaW4gKCItLW91dHB1dCIsKToKICAgICAgICAg
ICAgIGlmIGEgIT0gIi0iOgogICAgICAgICAgICAgICAgIG91dHB1dCA9IGEK
KyAgICAgICAgZWxpZiBvIGluICgiLS1ydW5hcyIsKToKKyAgICAgICAgICAg
IHRyeToKKyAgICAgICAgICAgICAgICB1aWQgPSBpbnQoYSkKKyAgICAgICAg
ICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIHByaW50
KCJydW5hcyB2YWx1ZSBtdXN0IGJlIGFuIGludGVnZXIgdXNlciBpZCIpCisg
ICAgICAgICAgICAgICAgdXNhZ2UoKQorICAgICAgICAgICAgICAgIHN5cy5l
eGl0KDEpCiAgICAgICAgIGVsaWYgbyBpbiAoIi0ta2VybmVsIiwpOgogICAg
ICAgICAgICAgaW5jZmdbImtlcm5lbCJdID0gYQogICAgICAgICBlbGlmIG8g
aW4gKCItLXJhbWRpc2siLCk6CkBAIC04NDksNiArOTg2LDEwIEBAIGlmIF9f
bmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgaWYgZGVidWc6CiAgICAgICAg
IGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5ERUJVRykKIAor
ICAgIGlmIGludGVyYWN0aXZlIGFuZCB1aWQ6CisgICAgICAgIHByaW50KCJJ
biBvcmRlciB0byB1c2UgLS1ydW5hcywgeW91IG11c3QgYWxzbyBzZXQgLS1l
bnRyeSBvciAtcSIsIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgc3lzLmV4
aXQoMSkKKwogICAgIHRyeToKICAgICAgICAgb3MubWFrZWRpcnMob3V0cHV0
X2RpcmVjdG9yeSwgMG83MDApCiAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToK
QEAgLTg3MCw2ICsxMDExLDkgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9f
IjoKICAgICBlbHNlOgogICAgICAgICBmZCA9IG9zLm9wZW4ob3V0cHV0LCBv
cy5PX1dST05MWSkKIAorICAgIGlmIHVpZDoKKyAgICAgICAgZmlsZSA9IGRl
cHJpdihvdXRwdXRfZGlyZWN0b3J5LCBvdXRwdXQsIGZpbGUsIHVpZCwgcGF0
aF9rZXJuZWwsIHBhdGhfcmFtZGlzaykKKwogICAgICMgZGVidWcKICAgICBp
ZiBpc2NvbmZpZzoKICAgICAgICAgY2hvc2VuY2ZnID0gcnVuX2dydWIoZmls
ZSwgZW50cnksIGZzLCBpbmNmZ1siYXJncyJdKQpAQCAtOTI1LDIxICsxMDY5
LDIxIEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgICAgIHJh
aXNlIFJ1bnRpbWVFcnJvcigiVW5hYmxlIHRvIGZpbmQgcGFydGl0aW9uIGNv
bnRhaW5pbmcga2VybmVsIikKIAogICAgIGNvcHlfZnJvbV9pbWFnZShmcywg
Y2hvc2VuY2ZnWyJrZXJuZWwiXSwgImtlcm5lbCIsCi0gICAgICAgICAgICAg
ICAgICAgIGZkX2tlcm5lbCwgcGF0aF9rZXJuZWwsIG5vdF9yZWFsbHkpCisg
ICAgICAgICAgICAgICAgICAgIGZkX2tlcm5lbCwgTm9uZSBpZiB1aWQgZWxz
ZSBwYXRoX2tlcm5lbCwgbm90X3JlYWxseSkKICAgICBib290Y2ZnWyJrZXJu
ZWwiXSA9IHBhdGhfa2VybmVsCiAKICAgICBpZiBjaG9zZW5jZmdbInJhbWRp
c2siXToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY29weV9mcm9tX2lt
YWdlKGZzLCBjaG9zZW5jZmdbInJhbWRpc2siXSwgInJhbWRpc2siLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZkX3JhbWRpc2ssIHBhdGhfcmFt
ZGlzaywgbm90X3JlYWxseSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmZF9yYW1kaXNrLCBOb25lIGlmIHVpZCBlbHNlIHBhdGhfcmFtZGlzaywg
bm90X3JlYWxseSkKICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgaWYg
bm90IG5vdF9yZWFsbHk6Ci0gICAgICAgICAgICAgICAgb3MudW5saW5rKHBh
dGhfa2VybmVsKQorICAgICAgICAgICAgaWYgbm90IHVpZCBhbmQgbm90IG5v
dF9yZWFsbHk6CisgICAgICAgICAgICAgICAgICAgIG9zLnVubGluayhwYXRo
X2tlcm5lbCkKICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGJvb3RjZmdb
InJhbWRpc2siXSA9IHBhdGhfcmFtZGlzawogICAgIGVsc2U6CiAgICAgICAg
IGluaXRyZCA9IE5vbmUKLSAgICAgICAgaWYgbm90IG5vdF9yZWFsbHk6Cisg
ICAgICAgIGlmIG5vdCB1aWQgYW5kIG5vdCBub3RfcmVhbGx5OgogICAgICAg
ICAgICAgb3MudW5saW5rKHBhdGhfcmFtZGlzaykKIAogICAgIGFyZ3MgPSBO
b25lCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-10.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-10.patch"
Content-Transfer-Encoding: base64

RnJvbSBhNWJlN2U4YjA1NGY1ODZhZDkzNGU3ODYyMzJhZjI5ZmRjNmUzZWFk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBNb24sIDI1IFNlcCAy
MDIzIDE0OjMwOjIwICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMC8xMV0gbGli
eGw6IGFkZCBzdXBwb3J0IGZvciBydW5uaW5nIGJvb3Rsb2FkZXIgaW4gcmVz
dHJpY3RlZAogbW9kZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6
IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1F
bmNvZGluZzogOGJpdAoKTXVjaCBsaWtlIHRoZSBkZXZpY2UgbW9kZWwgZGVw
cml2IG1vZGUsIGFkZCB0aGUgc2FtZSBraW5kIG9mIHN1cHBvcnQgZm9yIHRo
ZQpib290bG9hZGVyLiAgU3VjaCBmZWF0dXJlIGFsbG93cyBwYXNzaW5nIGEg
VUlEIGFzIGEgcGFyYW1ldGVyIGZvciB0aGUKYm9vdGxvYWRlciB0byBydW4g
YXMsIHRvZ2V0aGVyIHdpdGggdGhlIGJvb3Rsb2FkZXIgaXRzZWxmIHRha2lu
ZyB0aGUgbmVjZXNzYXJ5CmFjdGlvbnMgdG8gaXNvbGF0ZS4KCk5vdGUgdGhh
dCB0aGUgdXNlciB0byBydW4gdGhlIGJvb3Rsb2FkZXIgYXMgbXVzdCBoYXZl
IHRoZSByaWdodCBwZXJtaXNzaW9ucyB0bwphY2Nlc3MgdGhlIGd1ZXN0IGRp
c2sgaW1hZ2UgKGluIHJlYWQgbW9kZSBvbmx5KSwgYW5kIHRoYXQgdGhlIGJv
b3Rsb2FkZXIgd2lsbApiZSBydW4gaW4gbm9uLWludGVyYWN0aXZlIG1vZGUg
d2hlbiByZXN0cmljdGVkLgoKSWYgZW5hYmxlZCBib290bG9hZGVyIHJlc3Ry
aWN0IG1vZGUgd2lsbCBhdHRlbXB0IHRvIHJlLXVzZSB0aGUgdXNlcihzKSBm
cm9tIHRoZQpRRU1VIGRlcHJpdiBpbXBsZW1lbnRhdGlvbiBpZiBubyB1c2Vy
IGlzIHByb3ZpZGVkIG9uIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgb3IKdGhl
IGVudmlyb25tZW50LiAgU2VlIGRvY3MvZmVhdHVyZXMvcWVtdS1kZXByaXZp
bGVnZS5wYW5kb2MgZm9yIG1vcmUKaW5mb3JtYXRpb24gYWJvdXQgaG93IHRv
IHNldHVwIHRob3NlIHVzZXJzLgoKQm9vdGxvYWRlciByZXN0cmljdCBtb2Rl
IGlzIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQgYXMgaXQgcmVxdWlyZXMgY2Vy
dGFpbgpzZXR1cCB0byBiZSBkb25lIGZpcnN0IChzZXR1cCBvZiB0aGUgdXNl
cihzKSB0byB1c2UgaW4gcmVzdHJpY3QgbW9kZSkuCgpUaGlzIGlzIHBhcnQg
b2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBS
b2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3
ZWQtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXgu
Y29tPgotLS0KIGRvY3MvbWFuL3hsLjEucG9kLmluICAgICAgICAgICAgICAg
IHwgMzMgKysrKysrKysrKysKIHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9v
dGxvYWRlci5jIHwgODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0K
IHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfZG0uYyAgICAgICAgIHwgIDggKy0t
CiB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2ludGVybmFsLmggICB8ICA4ICsr
KwogNCBmaWxlcyBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygrKSwgNyBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC4xLnBvZC5pbiBi
L2RvY3MvbWFuL3hsLjEucG9kLmluCmluZGV4IDQ1ZTE0MzBhZWI3NC4uOTZl
NmZiMWMzMmEzIDEwMDY0NAotLS0gYS9kb2NzL21hbi94bC4xLnBvZC5pbgor
KysgYi9kb2NzL21hbi94bC4xLnBvZC5pbgpAQCAtMTk3Niw2ICsxOTc2LDM5
IEBAIGlnbm9yZWQ6CiAKID1iYWNrCiAKKz1oZWFkMSBFTlZJUk9OTUVOVCBW
QVJJQUJMRVMKKworVGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJs
ZXMgc2hhbGwgYWZmZWN0IHRoZSBleGVjdXRpb24gb2YgeGw6CisKKz1vdmVy
IDQKKworPWl0ZW0gTElCWExfQk9PVExPQURFUl9SRVNUUklDVAorCitBdHRl
bXB0IHRvIHJlc3RyaWN0IHRoZSBib290bG9hZGVyIGFmdGVyIHN0YXJ0dXAs
IHRvIGxpbWl0IHRoZQorY29uc2VxdWVuY2VzIG9mIHNlY3VyaXR5IHZ1bG5l
cmFiaWxpdGllcyBkdWUgdG8gcGFyc2luZyBndWVzdAorb3duZWQgaW1hZ2Ug
ZmlsZXMuCisKK1NlZSBkb2NzL2ZlYXR1cmVzL3FlbXUtZGVwcml2aWxlZ2Uu
cGFuZG9jIGZvciBtb3JlIGluZm9ybWF0aW9uCitvbiBob3cgdG8gc2V0dXAg
dGhlIHVucHJpdmlsZWdlZCB1c2Vycy4KKworTm90ZSB0aGF0IHJ1bm5pbmcg
dGhlIGJvb3Rsb2FkZXIgaW4gcmVzdHJpY3RlZCBtb2RlIGFsc28gaW1wbGll
cyB1c2luZworbm9uLWludGVyYWN0aXZlIG1vZGUsIGFuZCB0aGUgZGlzayBp
bWFnZSBtdXN0IGJlIHJlYWRhYmxlIGJ5IHRoZQorcmVzdHJpY3RlZCB1c2Vy
LgorCitIYXZpbmcgdGhpcyB2YXJpYWJsZSBzZXQgaXMgZXF1aXZhbGVudCB0
byBlbmFibGluZyB0aGUgb3B0aW9uLCBldmVuIGlmIHRoZQordmFsdWUgaXMg
MC4KKworPWl0ZW0gTElCWExfQk9PVExPQURFUl9VU0VSCisKK1doZW4gdXNp
bmcgYm9vdGxvYWRlcl9yZXN0cmljdCwgcnVuIHRoZSBib290bG9hZGVyIGFz
IHRoaXMgdXNlci4gIElmCitub3Qgc2V0IHRoZSBkZWZhdWx0IFFFTVUgcmVz
dHJpY3QgdXNlcnMgd2lsbCBiZSB1c2VkLgorCitOT1RFOiBFYWNoIGRvbWFp
biBNVVNUIGhhdmUgYSBTRVBBUkFURSB1c2VybmFtZS4KKworU2VlIGRvY3Mv
ZmVhdHVyZXMvcWVtdS1kZXByaXZpbGVnZS5wYW5kb2MgZm9yIG1vcmUgaW5m
b3JtYXRpb24uCisKKz1iYWNrCisKID1oZWFkMSBTRUUgQUxTTwogCiBUaGUg
Zm9sbG93aW5nIG1hbiBwYWdlczoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMv
bGlnaHQvbGlieGxfYm9vdGxvYWRlci5jIGIvdG9vbHMvbGlicy9saWdodC9s
aWJ4bF9ib290bG9hZGVyLmMKaW5kZXggMWJjNmU1MTgyN2I5Li5kM2E4YTRh
OWJhNTkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9v
dGxvYWRlci5jCisrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxv
YWRlci5jCkBAIC0xNCw2ICsxNCw3IEBACiAKICNpbmNsdWRlICJsaWJ4bF9v
c2RlcHMuaCIgLyogbXVzdCBjb21lIGJlZm9yZSBhbnkgb3RoZXIgaGVhZGVy
cyAqLwogCisjaW5jbHVkZSA8cHdkLmg+CiAjaW5jbHVkZSA8dGVybWlvcy5o
PgogI2lmZGVmIEhBVkVfVVRNUF9ICiAjaW5jbHVkZSA8dXRtcC5oPgpAQCAt
NDIsOCArNDMsNzEgQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9hcmcobGli
eGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLCBjb25zdCBjaGFyICphcmcpCiAg
ICAgYmwtPmFyZ3NbYmwtPm5hcmdzKytdID0gYXJnOwogfQogCi1zdGF0aWMg
dm9pZCBtYWtlX2Jvb3Rsb2FkZXJfYXJncyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4
bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBjaGFyICpib290bG9hZGVyX3BhdGgpCitz
dGF0aWMgaW50IGJvb3Rsb2FkZXJfdWlkKGxpYnhsX19nYyAqZ2MsIGRvbWlk
X3QgZ3Vlc3RfZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGNoYXIgKnVzZXIsIHVpZF90ICppbnRlbmRlZF91aWQpCit7CisgICAg
c3RydWN0IHBhc3N3ZCAqdXNlcl9iYXNlLCB1c2VyX3B3YnVmOworICAgIGlu
dCByYzsKKworICAgIGlmICh1c2VyKSB7CisgICAgICAgIHJjID0gdXNlcmxv
b2t1cF9oZWxwZXJfZ2V0cHduYW0oZ2MsIHVzZXIsICZ1c2VyX3B3YnVmLCAm
dXNlcl9iYXNlKTsKKyAgICAgICAgaWYgKHJjKSByZXR1cm4gcmM7CisKKyAg
ICAgICAgaWYgKCF1c2VyX2Jhc2UpIHsKKyAgICAgICAgICAgIExPR0QoRVJS
T1IsIGd1ZXN0X2RvbWlkLCAiQ291bGRuJ3QgZmluZCB1c2VyICVzIiwgdXNl
cik7CisgICAgICAgICAgICByZXR1cm4gRVJST1JfSU5WQUw7CisgICAgICAg
IH0KKworICAgICAgICAqaW50ZW5kZWRfdWlkID0gdXNlcl9iYXNlLT5wd191
aWQ7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8qIFJlLXVz
ZSBRRU1VIHVzZXIgcmFuZ2UgZm9yIHRoZSBib290bG9hZGVyLiAqLworICAg
IHJjID0gdXNlcmxvb2t1cF9oZWxwZXJfZ2V0cHduYW0oZ2MsIExJQlhMX1FF
TVVfVVNFUl9SQU5HRV9CQVNFLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnVzZXJfcHdidWYsICZ1c2VyX2Jhc2UpOworICAgIGlm
IChyYykgcmV0dXJuIHJjOworCisgICAgaWYgKHVzZXJfYmFzZSkgeworICAg
ICAgICBzdHJ1Y3QgcGFzc3dkICp1c2VyX2NsYXNoLCB1c2VyX2NsYXNoX3B3
YnVmOworICAgICAgICB1aWRfdCB0ZW1wX3VpZCA9IHVzZXJfYmFzZS0+cHdf
dWlkICsgZ3Vlc3RfZG9taWQ7CisKKyAgICAgICAgcmMgPSB1c2VybG9va3Vw
X2hlbHBlcl9nZXRwd3VpZChnYywgdGVtcF91aWQsICZ1c2VyX2NsYXNoX3B3
YnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZ1c2VyX2NsYXNoKTsKKyAgICAgICAgaWYgKHJjKSByZXR1cm4gcmM7CisK
KyAgICAgICAgaWYgKHVzZXJfY2xhc2gpIHsKKyAgICAgICAgICAgIExPR0Qo
RVJST1IsIGd1ZXN0X2RvbWlkLAorICAgICAgICAgICAgICAgICAid2FudGVk
IHRvIHVzZSB1aWQgJWxkICglcyArICVkKSBidXQgdGhhdCBpcyB1c2VyICVz
ICEiLAorICAgICAgICAgICAgICAgICAobG9uZyl0ZW1wX3VpZCwgTElCWExf
UUVNVV9VU0VSX1JBTkdFX0JBU0UsCisgICAgICAgICAgICAgICAgIGd1ZXN0
X2RvbWlkLCB1c2VyX2NsYXNoLT5wd19uYW1lKTsKKyAgICAgICAgICAgIHJl
dHVybiBFUlJPUl9JTlZBTDsKKyAgICAgICAgfQorCisgICAgICAgICppbnRl
bmRlZF91aWQgPSB0ZW1wX3VpZDsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgcmMgPSB1c2VybG9va3VwX2hlbHBlcl9nZXRwd25hbShnYywg
TElCWExfUUVNVV9VU0VSX1NIQVJFRCwgJnVzZXJfcHdidWYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdXNlcl9iYXNlKTsKKyAg
ICBpZiAocmMpIHJldHVybiByYzsKKworICAgIGlmICh1c2VyX2Jhc2UpIHsK
KyAgICAgICAgTE9HRChXQVJOLCBndWVzdF9kb21pZCwgIkNvdWxkIG5vdCBm
aW5kIHVzZXIgJXMsIGZhbGxpbmcgYmFjayB0byAlcyIsCisgICAgICAgICAg
ICAgTElCWExfUUVNVV9VU0VSX1JBTkdFX0JBU0UsIExJQlhMX1FFTVVfVVNF
Ul9TSEFSRUQpOworICAgICAgICAqaW50ZW5kZWRfdWlkID0gdXNlcl9iYXNl
LT5wd191aWQ7CisKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
TE9HRChFUlJPUiwgZ3Vlc3RfZG9taWQsCisgICAgIkNvdWxkIG5vdCBmaW5k
IHVzZXIgJXMgb3IgcmFuZ2UgYmFzZSBwc2V1ZG8tdXNlciAlcywgY2Fubm90
IHJlc3RyaWN0IiwKKyAgICAgICAgIExJQlhMX1FFTVVfVVNFUl9TSEFSRUQs
IExJQlhMX1FFTVVfVVNFUl9SQU5HRV9CQVNFKTsKKworICAgIHJldHVybiBF
UlJPUl9JTlZBTDsKK30KKworc3RhdGljIGludCBtYWtlX2Jvb3Rsb2FkZXJf
YXJncyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAq
YmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmJvb3Rsb2FkZXJfcGF0aCkKIHsKICAgICBjb25zdCBsaWJ4bF9kb21h
aW5fYnVpbGRfaW5mbyAqaW5mbyA9IGJsLT5pbmZvOwogCkBAIC02MSw2ICsx
MjUsMjMgQEAgc3RhdGljIHZvaWQgbWFrZV9ib290bG9hZGVyX2FyZ3MobGli
eGxfX2djICpnYywgbGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLAogICAg
ICAgICBBUkcoR0NTUFJJTlRGKCItLXJhbWRpc2s9JXMiLCBpbmZvLT5yYW1k
aXNrKSk7CiAgICAgaWYgKGluZm8tPmNtZGxpbmUgJiYgKmluZm8tPmNtZGxp
bmUgIT0gJ1wwJykKICAgICAgICAgQVJHKEdDU1BSSU5URigiLS1hcmdzPSVz
IiwgaW5mby0+Y21kbGluZSkpOworICAgIGlmIChnZXRlbnYoIkxJQlhMX0JP
T1RMT0FERVJfUkVTVFJJQ1QiKSB8fAorICAgICAgICBnZXRlbnYoIkxJQlhM
X0JPT1RMT0FERVJfVVNFUiIpKSB7CisgICAgICAgIHVpZF90IHVpZCA9IC0x
OworICAgICAgICBpbnQgcmMgPSBib290bG9hZGVyX3VpZChnYywgYmwtPmRv
bWlkLCBnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfVVNFUiIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmdWlkKTsKKworICAgICAgICBp
ZiAocmMpIHJldHVybiByYzsKKworICAgICAgICBhc3NlcnQodWlkICE9IC0x
KTsKKyAgICAgICAgaWYgKCF1aWQpIHsKKyAgICAgICAgICAgIExPR0QoRVJS
T1IsIGJsLT5kb21pZCwgImJvb3Rsb2FkZXIgcmVzdHJpY3QgVUlEIGlzIDAg
KHJvb3QpISIpOworICAgICAgICAgICAgcmV0dXJuIEVSUk9SX0lOVkFMOwor
ICAgICAgICB9CisgICAgICAgIExPR0QoREVCVUcsIGJsLT5kb21pZCwgInVz
aW5nIHVpZCAlbGQiLCAobG9uZyl1aWQpOworICAgICAgICBBUkcoR0NTUFJJ
TlRGKCItLXJ1bmFzPSVsZCIsIChsb25nKXVpZCkpOworICAgICAgICBBUkco
Ii0tcXVpZXQiKTsKKyAgICB9CiAKICAgICBBUkcoR0NTUFJJTlRGKCItLW91
dHB1dD0lcyIsIGJsLT5vdXRwdXRwYXRoKSk7CiAgICAgQVJHKCItLW91dHB1
dC1mb3JtYXQ9c2ltcGxlMCIpOwpAQCAtNzksNiArMTYwLDcgQEAgc3RhdGlj
IHZvaWQgbWFrZV9ib290bG9hZGVyX2FyZ3MobGlieGxfX2djICpnYywgbGli
eGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLAogICAgIC8qIFNlbnRpbmVsIGZv
ciBleGVjdiAqLwogICAgIEFSRyhOVUxMKTsKIAorICAgIHJldHVybiAwOwog
I3VuZGVmIEFSRwogfQogCkBAIC00NDMsNyArNTI1LDggQEAgc3RhdGljIHZv
aWQgYm9vdGxvYWRlcl9kaXNrX2F0dGFjaGVkX2NiKGxpYnhsX19lZ2MgKmVn
YywKICAgICAgICAgICAgIGJvb3Rsb2FkZXIgPSBibHRtcDsKICAgICB9CiAK
LSAgICBtYWtlX2Jvb3Rsb2FkZXJfYXJncyhnYywgYmwsIGJvb3Rsb2FkZXIp
OworICAgIHJjID0gbWFrZV9ib290bG9hZGVyX2FyZ3MoZ2MsIGJsLCBib290
bG9hZGVyKTsKKyAgICBpZiAocmMpIGdvdG8gb3V0OwogCiAgICAgYmwtPm9w
ZW5wdHkuYW8gPSBhbzsKICAgICBibC0+b3BlbnB0eS5jYWxsYmFjayA9IGJv
b3Rsb2FkZXJfZ290cHR5czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfZG0uYwpp
bmRleCBmYzI2NGEzYTEzYTYuLjE0YjU5MzExMGY3YyAxMDA2NDQKLS0tIGEv
dG9vbHMvbGlicy9saWdodC9saWJ4bF9kbS5jCisrKyBiL3Rvb2xzL2xpYnMv
bGlnaHQvbGlieGxfZG0uYwpAQCAtODAsMTAgKzgwLDEwIEBAIHN0YXRpYyBp
bnQgbGlieGxfX2NyZWF0ZV9xZW11X2xvZ2ZpbGUobGlieGxfX2djICpnYywg
Y2hhciAqbmFtZSkKICAqICBPbiBlcnJvciwgcmV0dXJuIGEgbGlieGwtc3R5
bGUgZXJyb3IgY29kZS4KICAqLwogI2RlZmluZSBERUZJTkVfVVNFUkxPT0tV
UF9IRUxQRVIoTkFNRSxTUEVDX1RZUEUsU1RSVUNUTkFNRSxTWVNDT05GKSAg
ICAgXAotICAgIHN0YXRpYyBpbnQgdXNlcmxvb2t1cF9oZWxwZXJfIyNOQU1F
KGxpYnhsX19nYyAqZ2MsICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQRUNfVFlQRSBzcGVj
LCAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCBTVFJVQ1ROQU1FICpyZXN1bHRidWYs
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCBTVFJVQ1ROQU1FICoqb3V0KSAgICAgICAgXAorICAgIGludCB1
c2VybG9va3VwX2hlbHBlcl8jI05BTUUobGlieGxfX2djICpnYywgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU1BFQ19UWVBFIHNwZWMsICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0
IFNUUlVDVE5BTUUgKnJlc3VsdGJ1ZiwgICAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IFNUUlVDVE5BTUUgKipv
dXQpICAgICAgICAgICAgICAgXAogICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgICAgICBzdHJ1Y3QgU1RSVUNUTkFNRSAqcmVzdWx0cCA9IE5V
TEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBj
aGFyICpidWYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9s
aWdodC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlicy9saWdodC9saWJ4
bF9pbnRlcm5hbC5oCmluZGV4IGNjMjdjNzJlY2YzMC4uODQxNWQxZmVlZDE2
IDEwMDY0NAotLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2ludGVybmFs
LmgKKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9pbnRlcm5hbC5oCkBA
IC00ODY0LDYgKzQ4NjQsMTQgQEAgc3RydWN0IGxpYnhsX19jcHVfcG9saWN5
IHsKICAgICBzdHJ1Y3QgeGNfbXNyICptc3I7CiB9OwogCitzdHJ1Y3QgcGFz
c3dkOworX2hpZGRlbiBpbnQgdXNlcmxvb2t1cF9oZWxwZXJfZ2V0cHduYW0o
bGlieGxfX2djKiwgY29uc3QgY2hhciAqdXNlciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwYXNzd2QgKnJlcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj
dCBwYXNzd2QgKipvdXQpOworX2hpZGRlbiBpbnQgdXNlcmxvb2t1cF9oZWxw
ZXJfZ2V0cHd1aWQobGlieGxfX2djKiwgdWlkX3QgdWlkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhc3N3ZCAq
cmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RydWN0IHBhc3N3ZCAqKm91dCk7CisKICNlbmRpZgogCiAvKgotLSAKMi40
Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.16-11.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.16-11.patch"
Content-Transfer-Encoding: base64

RnJvbSAyNzNjYzdlY2YwYTY2MzM0ZjI0ZjZmNzQwYmNkNDQxYjU0MmIzMzIz
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI4IFNlcCAy
MDIzIDEyOjIyOjM1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gbGli
eGw6IGxpbWl0IGJvb3Rsb2FkZXIgZXhlY3V0aW9uIGluIHJlc3RyaWN0ZWQg
bW9kZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxh
aW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
OGJpdAoKSW50cm9kdWNlIGEgdGltZW91dCBmb3IgYm9vdGxvYWRlciBleGVj
dXRpb24gd2hlbiBydW5uaW5nIGluIHJlc3RyaWN0ZWQgbW9kZS4KCkFsbG93
IG92ZXJ3cml0aW5nIHRoZSBkZWZhdWx0IHRpbWUgb3V0IHdpdGggYW4gZW52
aXJvbm1lbnQgcHJvdmlkZWQgdmFsdWUuCgpUaGlzIGlzIHBhcnQgb2YgWFNB
LTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQ
YXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6
IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgot
LS0KIGRvY3MvbWFuL3hsLjEucG9kLmluICAgICAgICAgICAgICAgIHwgIDgg
KysrKysrCiB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2Jvb3Rsb2FkZXIuYyB8
IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJz
L2xpZ2h0L2xpYnhsX2ludGVybmFsLmggICB8ICAyICsrCiAzIGZpbGVzIGNo
YW5nZWQsIDUwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2NzL21h
bi94bC4xLnBvZC5pbiBiL2RvY3MvbWFuL3hsLjEucG9kLmluCmluZGV4IDk2
ZTZmYjFjMzJhMy4uOGYwNTY0NTBhNzMwIDEwMDY0NAotLS0gYS9kb2NzL21h
bi94bC4xLnBvZC5pbgorKysgYi9kb2NzL21hbi94bC4xLnBvZC5pbgpAQCAt
MjAwNyw2ICsyMDA3LDE0IEBAIE5PVEU6IEVhY2ggZG9tYWluIE1VU1QgaGF2
ZSBhIFNFUEFSQVRFIHVzZXJuYW1lLgogCiBTZWUgZG9jcy9mZWF0dXJlcy9x
ZW11LWRlcHJpdmlsZWdlLnBhbmRvYyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4K
IAorPWl0ZW0gTElCWExfQk9PVExPQURFUl9USU1FT1VUCisKK1RpbWVvdXQg
aW4gc2Vjb25kcyBmb3IgYm9vdGxvYWRlciBleGVjdXRpb24gd2hlbiBydW5u
aW5nIGluIHJlc3RyaWN0ZWQgbW9kZS4KK090aGVyd2lzZSB0aGUgYnVpbGQg
dGltZSBkZWZhdWx0IGluIExJQlhMX0JPT1RMT0FERVJfVElNRU9VVCB3aWxs
IGJlIHVzZWQuCisKK0lmIGRlZmluZWQgdGhlIHZhbHVlIG11c3QgYmUgYW4g
dW5zaWduZWQgaW50ZWdlciBiZXR3ZWVuIDAgYW5kIElOVF9NQVgsCitvdGhl
cndpc2UgYmVoYXZpb3IgaXMgdW5kZWZpbmVkLiAgU2V0dGluZyB0byAwIGRp
c2FibGVzIHRoZSB0aW1lb3V0LgorCiA9YmFjawogCiA9aGVhZDEgU0VFIEFM
U08KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxv
YWRlci5jIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9ib290bG9hZGVyLmMK
aW5kZXggZDNhOGE0YTliYTU5Li5hNGJlZmY0MjY1NGMgMTAwNjQ0Ci0tLSBh
L3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxvYWRlci5jCisrKyBiL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxvYWRlci5jCkBAIC0zMCw2ICsz
MCw4IEBAIHN0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfa2V5c3Ryb2tlc19jb3B5
ZmFpbChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgbGlieGxfX2RhdGFjb3Bp
ZXJfc3RhdGUgKmRjLCBpbnQgcmMsIGludCBvbndyaXRlLCBpbnQgZXJybm92
YWwpOwogc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9kaXNwbGF5X2NvcHlmYWls
KGxpYnhsX19lZ2MgKmVnYywKICAgICAgICBsaWJ4bF9fZGF0YWNvcGllcl9z
dGF0ZSAqZGMsIGludCByYywgaW50IG9ud3JpdGUsIGludCBlcnJub3ZhbCk7
CitzdGF0aWMgdm9pZCBib290bG9hZGVyX3RpbWVvdXQobGlieGxfX2VnYyAq
ZWdjLCBsaWJ4bF9fZXZfdGltZSAqZXYsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9h
YnMsIGludCByYyk7CiBzdGF0aWMgdm9pZCBib290bG9hZGVyX2RvbWFpbmRl
YXRoKGxpYnhsX19lZ2MqLCBsaWJ4bF9fZG9tYWluZGVhdGhjaGVjayAqZGMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7
CiBzdGF0aWMgdm9pZCBib290bG9hZGVyX2ZpbmlzaGVkKGxpYnhsX19lZ2Mg
KmVnYywgbGlieGxfX2V2X2NoaWxkICpjaGlsZCwKQEAgLTI5Nyw2ICsyOTks
NyBAQCB2b2lkIGxpYnhsX19ib290bG9hZGVyX2luaXQobGlieGxfX2Jvb3Rs
b2FkZXJfc3RhdGUgKmJsKQogICAgIGJsLT5wdHlzWzBdLm1hc3RlciA9IGJs
LT5wdHlzWzBdLnNsYXZlID0gMDsKICAgICBibC0+cHR5c1sxXS5tYXN0ZXIg
PSBibC0+cHR5c1sxXS5zbGF2ZSA9IDA7CiAgICAgbGlieGxfX2V2X2NoaWxk
X2luaXQoJmJsLT5jaGlsZCk7CisgICAgbGlieGxfX2V2X3RpbWVfaW5pdCgm
YmwtPnRpbWUpOwogICAgIGxpYnhsX19kb21haW5kZWF0aGNoZWNrX2luaXQo
JmJsLT5kZWF0aGNoZWNrKTsKICAgICBibC0+a2V5c3Ryb2tlcy5hbyA9IGJs
LT5hbzsgIGxpYnhsX19kYXRhY29waWVyX2luaXQoJmJsLT5rZXlzdHJva2Vz
KTsKICAgICBibC0+ZGlzcGxheS5hbyA9IGJsLT5hbzsgICAgIGxpYnhsX19k
YXRhY29waWVyX2luaXQoJmJsLT5kaXNwbGF5KTsKQEAgLTMxNCw2ICszMTcs
NyBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX2NsZWFudXAobGlieGxfX2Vn
YyAqZWdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwpCiAgICAgbGli
eGxfX2RvbWFpbmRlYXRoY2hlY2tfc3RvcChnYywmYmwtPmRlYXRoY2hlY2sp
OwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwoJmJsLT5rZXlzdHJva2Vz
KTsKICAgICBsaWJ4bF9fZGF0YWNvcGllcl9raWxsKCZibC0+ZGlzcGxheSk7
CisgICAgbGlieGxfX2V2X3RpbWVfZGVyZWdpc3RlcihnYywgJmJsLT50aW1l
KTsKICAgICBmb3IgKGk9MDsgaTwyOyBpKyspIHsKICAgICAgICAgbGlieGxf
X2NhcmVmZF9jbG9zZShibC0+cHR5c1tpXS5tYXN0ZXIpOwogICAgICAgICBs
aWJ4bF9fY2FyZWZkX2Nsb3NlKGJsLT5wdHlzW2ldLnNsYXZlKTsKQEAgLTM3
NSw2ICszNzksNyBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX3N0b3AobGli
eGxfX2VnYyAqZWdjLAogCiAgICAgbGlieGxfX2RhdGFjb3BpZXJfa2lsbCgm
YmwtPmtleXN0cm9rZXMpOwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwo
JmJsLT5kaXNwbGF5KTsKKyAgICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVy
KGdjLCAmYmwtPnRpbWUpOwogICAgIGlmIChsaWJ4bF9fZXZfY2hpbGRfaW51
c2UoJmJsLT5jaGlsZCkpIHsKICAgICAgICAgciA9IGtpbGwoYmwtPmNoaWxk
LnBpZCwgU0lHVEVSTSk7CiAgICAgICAgIGlmIChyKSBMT0dFRChXQVJOLCBi
bC0+ZG9taWQsICIlc2ZhaWxlZCB0byBraWxsIGJvb3Rsb2FkZXIgWyVsdV0i
LApAQCAtNjM3LDYgKzY0MiwyNSBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVy
X2dvdHB0eXMobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fb3BlbnB0eV9zdGF0
ZSAqb3ApCiAKICAgICBzdHJ1Y3QgdGVybWlvcyB0ZXJtYXR0cjsKIAorICAg
IGlmIChnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfUkVTVFJJQ1QiKSB8fAor
ICAgICAgICBnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfVVNFUiIpKSB7Cisg
ICAgICAgIGNvbnN0IGNoYXIgKnRpbWVvdXRfZW52ID0gZ2V0ZW52KCJMSUJY
TF9CT09UTE9BREVSX1RJTUVPVVQiKTsKKyAgICAgICAgaW50IHRpbWVvdXQg
PSB0aW1lb3V0X2VudiA/IGF0b2kodGltZW91dF9lbnYpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOiBMSUJYTF9CT09UTE9BREVSX1RJ
TUVPVVQ7CisKKyAgICAgICAgaWYgKHRpbWVvdXQpIHsKKyAgICAgICAgICAg
IC8qIFNldCBleGVjdXRpb24gdGltZW91dCAqLworICAgICAgICAgICAgcmMg
PSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoYW8sICZibC0+dGltZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vdGxvYWRlcl90aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ICogMTAwMCk7CisgICAgICAg
ICAgICBpZiAocmMpIHsKKyAgICAgICAgICAgICAgICBMT0dFRChFUlJPUiwg
YmwtPmRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICJ1bmFibGUgdG8g
cmVnaXN0ZXIgdGltZW91dCBmb3IgYm9vdGxvYWRlciBleGVjdXRpb24iKTsK
KyAgICAgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIH0KKwogICAgIHBpZF90IHBpZCA9IGxpYnhsX19ldl9j
aGlsZF9mb3JrKGdjLCAmYmwtPmNoaWxkLCBib290bG9hZGVyX2ZpbmlzaGVk
KTsKICAgICBpZiAocGlkID09IC0xKSB7CiAgICAgICAgIHJjID0gRVJST1Jf
RkFJTDsKQEAgLTcwMiw2ICs3MjYsMjEgQEAgc3RhdGljIHZvaWQgYm9vdGxv
YWRlcl9kaXNwbGF5X2NvcHlmYWlsKGxpYnhsX19lZ2MgKmVnYywKICAgICBs
aWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwgPSBDT05UQUlORVJfT0YoZGMs
ICpibCwgZGlzcGxheSk7CiAgICAgYm9vdGxvYWRlcl9jb3B5ZmFpbChlZ2Ms
ICJib290bG9hZGVyIG91dHB1dCIsIGJsLCAxLCByYyxvbndyaXRlLGVycm5v
dmFsKTsKIH0KK3N0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfdGltZW91dChsaWJ4
bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVx
dWVzdGVkX2FicywgaW50IHJjKQoreworICAgIGxpYnhsX19ib290bG9hZGVy
X3N0YXRlICpibCA9IENPTlRBSU5FUl9PRihldiwgKmJsLCB0aW1lKTsKKyAg
ICBTVEFURV9BT19HQyhibC0+YW8pOworCisgICAgbGlieGxfX2V2X3RpbWVf
ZGVyZWdpc3RlcihnYywgJmJsLT50aW1lKTsKKworICAgIGFzc2VydChsaWJ4
bF9fZXZfY2hpbGRfaW51c2UoJmJsLT5jaGlsZCkpOworICAgIExPR0QoRVJS
T1IsIGJsLT5kb21pZCwgImtpbGxpbmcgYm9vdGxvYWRlciBiZWNhdXNlIG9m
IHRpbWVvdXQiKTsKKworICAgIGxpYnhsX19ldl9jaGlsZF9raWxsX2RlcmVn
aXN0ZXIoYW8sICZibC0+Y2hpbGQsIFNJR0tJTEwpOworCisgICAgYm9vdGxv
YWRlcl9jYWxsYmFjayhlZ2MsIGJsLCByYyk7Cit9CiAKIHN0YXRpYyB2b2lk
IGJvb3Rsb2FkZXJfZG9tYWluZGVhdGgobGlieGxfX2VnYyAqZWdjLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWlu
ZGVhdGhjaGVjayAqZGMsCkBAIC03MTgsNiArNzU3LDcgQEAgc3RhdGljIHZv
aWQgYm9vdGxvYWRlcl9maW5pc2hlZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhs
X19ldl9jaGlsZCAqY2hpbGQsCiAgICAgU1RBVEVfQU9fR0MoYmwtPmFvKTsK
ICAgICBpbnQgcmM7CiAKKyAgICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVy
KGdjLCAmYmwtPnRpbWUpOwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwo
JmJsLT5rZXlzdHJva2VzKTsKICAgICBsaWJ4bF9fZGF0YWNvcGllcl9raWxs
KCZibC0+ZGlzcGxheSk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxf
aW50ZXJuYWwuaAppbmRleCA4NDE1ZDFmZWVkMTYuLmE5NTgxMjg5ZjQ2MiAx
MDA2NDQKLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9pbnRlcm5hbC5o
CisrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfaW50ZXJuYWwuaApAQCAt
MTAzLDYgKzEwMyw3IEBACiAjZGVmaW5lIExJQlhMX1FNUF9DTURfVElNRU9V
VCAxMAogI2RlZmluZSBMSUJYTF9TVFVCRE9NX1NUQVJUX1RJTUVPVVQgMzAK
ICNkZWZpbmUgTElCWExfUUVNVV9CT0RHRV9USU1FT1VUIDIKKyNkZWZpbmUg
TElCWExfQk9PVExPQURFUl9USU1FT1VUIDEyMAogI2RlZmluZSBMSUJYTF9Y
RU5DT05TT0xFX0xJTUlUIDEwNDg1NzYKICNkZWZpbmUgTElCWExfWEVOQ09O
U09MRV9QUk9UT0NPTCAidnQxMDAiCiAjZGVmaW5lIExJQlhMX01BWE1FTV9D
T05TVEFOVCAxMDI0CkBAIC0zNzM4LDYgKzM3MzksNyBAQCBzdHJ1Y3QgbGli
eGxfX2Jvb3Rsb2FkZXJfc3RhdGUgewogICAgIGxpYnhsX19vcGVucHR5X3N0
YXRlIG9wZW5wdHk7CiAgICAgbGlieGxfX29wZW5wdHlfcmVzdWx0IHB0eXNb
Ml07ICAvKiBbMF0gaXMgZm9yIGJvb3Rsb2FkZXIgKi8KICAgICBsaWJ4bF9f
ZXZfY2hpbGQgY2hpbGQ7CisgICAgbGlieGxfX2V2X3RpbWUgdGltZTsKICAg
ICBsaWJ4bF9fZG9tYWluZGVhdGhjaGVjayBkZWF0aGNoZWNrOwogICAgIGlu
dCBuYXJncywgYXJnc3NwYWNlOwogICAgIGNvbnN0IGNoYXIgKiphcmdzOwot
LSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-01.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-01.patch"
Content-Transfer-Encoding: base64

RnJvbSA3ZTQ4NTYyYmYzNGU5MGY5MDc0OTFhMDU5NTc4MmQyZGFhMWZmM2Fk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUwICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
MS8xMV0gbGliZnNpbWFnZS94ZnM6IFJlbW92ZSBkZWFkIGNvZGUKCnhmc19p
bmZvLmFnbm9sb2cgKGFuZCByZWxhdGVkIGNvZGUpIGFuZCBYRlNfSU5PX0FH
Qk5PX0JJVFMgYXJlIGRlYWQgY29kZQp0aGF0IHNlcnZlIG5vIHB1cnBvc2Uu
CgpUaGlzIGlzIHBhcnQgb2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpT
aWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8gVmFsbGVqbyA8YWxlamFuZHJvLnZh
bGxlam9AY2xvdWQuY29tPgpSZXZpZXdlZC1ieTogSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPgotLS0KIHRvb2xzL2xpYmZzaW1hZ2UveGZzL2Zz
eXNfeGZzLmMgfCAxOCAtLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu
Z2VkLCAxOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90b29scy9saWJm
c2ltYWdlL3hmcy9mc3lzX3hmcy5jIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMv
ZnN5c194ZnMuYwppbmRleCBkNzM1YTg4ZTU1ZjMuLjI4MDA2OTlmNTk4NSAx
MDA2NDQKLS0tIGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwor
KysgYi90b29scy9saWJmc2ltYWdlL3hmcy9mc3lzX3hmcy5jCkBAIC0zNyw3
ICszNyw2IEBAIHN0cnVjdCB4ZnNfaW5mbyB7CiAJaW50IGJsa2xvZzsKIAlp
bnQgaW5vcGJsb2c7CiAJaW50IGFnYmxrbG9nOwotCWludCBhZ25vbG9nOwog
CXVuc2lnbmVkIGludCBuZXh0ZW50czsKIAl4ZnNfZGFkZHJfdCBuZXh0Owog
CXhmc19kYWRkcl90IGRhZGRyOwpAQCAtNjUsOSArNjQsNyBAQCBzdGF0aWMg
c3RydWN0IHhmc19pbmZvIHhmczsKIAogI2RlZmluZQlYRlNfSU5PX01BU0so
aykJCSgoeGZzX3VpbnQzMl90KSgoMVVMTCA8PCAoaykpIC0gMSkpCiAjZGVm
aW5lCVhGU19JTk9fT0ZGU0VUX0JJVFMJeGZzLmlub3BibG9nCi0jZGVmaW5l
CVhGU19JTk9fQUdCTk9fQklUUwl4ZnMuYWdibGtsb2cKICNkZWZpbmUJWEZT
X0lOT19BR0lOT19CSVRTCSh4ZnMuYWdibGtsb2cgKyB4ZnMuaW5vcGJsb2cp
Ci0jZGVmaW5lCVhGU19JTk9fQUdOT19CSVRTCXhmcy5hZ25vbG9nCiAKIHN0
YXRpYyBpbmxpbmUgeGZzX2FnYmxvY2tfdAogYWdpbm8yYWdibm8gKHhmc19h
Z2lub190IGFnaW5vKQpAQCAtMTQ5LDIwICsxNDYsNiBAQCB4dF9sZW4gKHhm
c19ibWJ0X3JlY18zMl90ICpyKQogCXJldHVybiBsZTMyKHItPmwzKSAmIG1h
c2szMmxvKDIxKTsKIH0KIAotc3RhdGljIGlubGluZSBpbnQKLXhmc19oaWdo
Yml0MzIoeGZzX3VpbnQzMl90IHYpCi17Ci0JaW50IGk7Ci0KLQlpZiAoLS12
KSB7Ci0JCWZvciAoaSA9IDA7IGkgPCAzMTsgaSsrLCB2ID4+PSAxKSB7Ci0J
CQlpZiAodiA9PSAwKQotCQkJCXJldHVybiBpOwotCQl9Ci0JfQotCXJldHVy
biAwOwotfQotCiBzdGF0aWMgaW50CiBpc2lueHQgKHhmc19maWxlb2ZmX3Qg
a2V5LCB4ZnNfZmlsZW9mZl90IG9mZnNldCwgeGZzX2ZpbGJsa3NfdCBsZW4p
CiB7CkBAIC00NzIsNyArNDU1LDYgQEAgeGZzX21vdW50IChmc2lfZmlsZV90
ICpmZmksIGNvbnN0IGNoYXIgKm9wdGlvbnMpCiAKIAl4ZnMuaW5vcGJsb2cg
PSBzdXBlci5zYl9pbm9wYmxvZzsKIAl4ZnMuYWdibGtsb2cgPSBzdXBlci5z
Yl9hZ2Jsa2xvZzsKLQl4ZnMuYWdub2xvZyA9IHhmc19oaWdoYml0MzIgKGxl
MzIoc3VwZXIuc2JfYWdjb3VudCkpOwogCiAJeGZzLmJ0bm9kZV9wdHIwX29m
ZiA9CiAJCSgoeGZzLmJzaXplIC0gc2l6ZW9mKHhmc19idHJlZV9ibG9ja190
KSkgLwotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-02.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-02.patch"
Content-Transfer-Encoding: base64

RnJvbSBjMjYzMjc3OTViNzhjOTNmNmZhNmQ1ZDQ2ZTM0ZjU5ZGM0MDQ2NjAx
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUxICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Mi8xMV0gbGliZnNpbWFnZS94ZnM6IEFtZW5kIG1hc2szMmxvKCkgdG8gYWxs
b3cgdGhlIHZhbHVlIDMyCgphZ2Jsa2xvZyBjb3VsZCBwbGF1c2libHkgYmUg
MzIsIGJ1dCB0aGF0IHdvdWxkIG92ZXJmbG93IHRoaXMgc2hpZnQuClBlcmZv
cm0gdGhlIHNoaWZ0IGFzIFVMTCBhbmQgY2FzdCB0byB1MzIgYXQgdGhlIGVu
ZCBpbnN0ZWFkLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAy
My0zNDMyNQoKU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFs
ZWphbmRyby52YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEphbiBCZXVs
aWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCiB0b29scy9saWJmc2ltYWdl
L3hmcy9mc3lzX3hmcy5jIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5z
ZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMv
bGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
eGZzL2ZzeXNfeGZzLmMKaW5kZXggMjgwMDY5OWY1OTg1Li40NzIwYmI0NTA1
YzggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZz
LmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwpAQCAt
NjAsNyArNjAsNyBAQCBzdGF0aWMgc3RydWN0IHhmc19pbmZvIHhmczsKICNk
ZWZpbmUgaW5vZGUJCSgoeGZzX2Rpbm9kZV90ICopKChjaGFyICopRlNZU19C
VUYgKyA4MTkyKSkKICNkZWZpbmUgaWNvcmUJCShpbm9kZS0+ZGlfY29yZSkK
IAotI2RlZmluZQltYXNrMzJsbyhuKQkoKCh4ZnNfdWludDMyX3QpMSA8PCAo
bikpIC0gMSkKKyNkZWZpbmUJbWFzazMybG8obikJKCh4ZnNfdWludDMyX3Qp
KCgxdWxsIDw8IChuKSkgLSAxKSkKIAogI2RlZmluZQlYRlNfSU5PX01BU0so
aykJCSgoeGZzX3VpbnQzMl90KSgoMVVMTCA8PCAoaykpIC0gMSkpCiAjZGVm
aW5lCVhGU19JTk9fT0ZGU0VUX0JJVFMJeGZzLmlub3BibG9nCi0tIAoyLjQy
LjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-03.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-03.patch"
Content-Transfer-Encoding: base64

RnJvbSAxOTlmMDUzOGJiZWMwNTIwMjg2NzlhNTVlYTUxMjQzNzE3MDg1NGM5
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUyICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
My8xMV0gbGliZnNpbWFnZS94ZnM6IFNhbml0eS1jaGVjayB0aGUgc3VwZXJi
bG9jayBkdXJpbmcKIG1vdW50cwoKU2FuaXR5LWNoZWNrIHRoZSBYRlMgc3Vw
ZXJibG9jayBmb3Igd2VsbGZvcm1lZG5lc3MgYXQgdGhlIG1vdW50IGhhbmRs
ZXIuClRoaXMgZm9yY2VzIHB5Z3J1YiB0byBhYm9ydCBwYXJzaW5nIGEgcG90
ZW50aWFsbHkgbWFsZm9ybWVkIGZpbGVzeXN0ZW0gYW5kCmVuc3VyZXMgdGhl
IGludmFyaWFudHMgYXNzdW1lZCB0aHJvdWdob3V0IHRoZSByZXN0IG9mIHRo
ZSBjb2RlIGhvbGQuCgpBbHNvLCBkZXJpdmUgcGFyYW1ldGVycyBmcm9tIHBy
ZXZpb3VzbHkgc2FuaXRpemVkIHBhcmFtZXRlcnMgd2hlcmUgcG9zc2libGUK
KHJhdGhlciB0aGFuIHJlYWRpbmcgdGhlbSBvZmYgdGhlIHN1cGVyYmxvY2sp
CgpUaGUgY29kZSBkb2Vzbid0IHRyeSB0byBhdm9pZCBvdmVyZmxvd2luZyB0
aGUgZW5kIG9mIHRoZSBkaXNrLCBiZWNhdXNlCnRoYXQncyBhbiB1bmxpa2Vs
eSBhbmQgYmVuaWduIGVycm9yLiBQYXJhbWV0ZXJzIHVzZWQgaW4gY2FsY3Vs
YXRpb25zIG9mCnhmc19kYWRkcl90IChsaWtlIHRoZSByb290IGlub2RlIGlu
ZGV4KSBhcmVuJ3QgaW4gY3JpdGljYWwgbmVlZCBvZiBiZWluZwpzYW5pdGl6
ZWQuCgpUaGUgc2FuaXRpemF0aW9uIG9mIGFnYmxrbG9nIGlzIGJhc2ljYWxs
eSBjaGVja2luZyB0aGF0IG5vIG9idmlvdXMKb3ZlcmZsb3dzIGhhcHBlbiBv
biBhZ2Jsa2xvZywgYW5kIHRoZW4gZW5zdXJpbmcgYWdibG9ja3MgaXMgY29u
dGFpbmVkIGluCnRoZSByYW5nZSAoMl4oc2JfYWdibGtsb2ctMSksIDJec2Jf
YWdibGtsb2ddLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAy
My0zNDMyNQoKUmVwb3J0ZWQtYnk6IEZlcmRpbmFuZCBOw7Zsc2NoZXIgPG5v
ZWxzY2hlckBnb29nbGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGVqYW5kcm8g
VmFsbGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpSZXZpZXdl
ZC1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KIHRv
b2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMgfCA0OCArKysrKysrKysr
KysrKysrKysrKysrKysrKy0tLS0tLS0KIHRvb2xzL2xpYmZzaW1hZ2UveGZz
L3hmcy5oICAgICAgfCAxMiArKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg
NTAgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xp
YmZzaW1hZ2UveGZzL2ZzeXNfeGZzLmMKaW5kZXggNDcyMGJiNDUwNWM4Li5l
NGViN2UxZWUyNmYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZz
L2ZzeXNfeGZzLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194
ZnMuYwpAQCAtMTcsNiArMTcsNyBAQAogICogIGFsb25nIHdpdGggdGhpcyBw
cm9ncmFtOyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vu
c2VzLz4uCiAgKi8KIAorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KICNpbmNsdWRl
IDx4ZW5mc2ltYWdlX2dydWIuaD4KICNpbmNsdWRlICJ4ZnMuaCIKIApAQCAt
NDMzLDI5ICs0MzQsNTYgQEAgZmlyc3RfZGVudHJ5IChmc2lfZmlsZV90ICpm
ZmksIHhmc19pbm9fdCAqaW5vKQogCXJldHVybiBuZXh0X2RlbnRyeSAoZmZp
LCBpbm8pOwogfQogCitzdGF0aWMgYm9vbAoreGZzX3NiX2lzX2ludmFsaWQg
KGNvbnN0IHhmc19zYl90ICpzdXBlcikKK3sKKwlyZXR1cm4gKGxlMzIoc3Vw
ZXItPnNiX21hZ2ljbnVtKSAhPSBYRlNfU0JfTUFHSUMpCisJICAgIHx8ICgo
bGUxNihzdXBlci0+c2JfdmVyc2lvbm51bSkgJiBYRlNfU0JfVkVSU0lPTl9O
VU1CSVRTKSAhPQorCSAgICAgICAgWEZTX1NCX1ZFUlNJT05fNCkKKwkgICAg
fHwgKHN1cGVyLT5zYl9pbm9kZWxvZyA8IFhGU19TQl9JTk9ERUxPR19NSU4p
CisJICAgIHx8IChzdXBlci0+c2JfaW5vZGVsb2cgPiBYRlNfU0JfSU5PREVM
T0dfTUFYKQorCSAgICB8fCAoc3VwZXItPnNiX2Jsb2NrbG9nIDwgWEZTX1NC
X0JMT0NLTE9HX01JTikKKwkgICAgfHwgKHN1cGVyLT5zYl9ibG9ja2xvZyA+
IFhGU19TQl9CTE9DS0xPR19NQVgpCisJICAgIHx8IChzdXBlci0+c2JfYmxv
Y2tsb2cgPCBzdXBlci0+c2JfaW5vZGVsb2cpCisJICAgIHx8IChzdXBlci0+
c2JfYWdibGtsb2cgPiBYRlNfU0JfQUdCTEtMT0dfTUFYKQorCSAgICB8fCAo
KDF1bGwgPDwgc3VwZXItPnNiX2FnYmxrbG9nKSA8IGxlMzIoc3VwZXItPnNi
X2FnYmxvY2tzKSkKKwkgICAgfHwgKCgoMXVsbCA8PCBzdXBlci0+c2JfYWdi
bGtsb2cpID4+IDEpID49CisJICAgICAgICBsZTMyKHN1cGVyLT5zYl9hZ2Js
b2NrcykpCisJICAgIHx8ICgoc3VwZXItPnNiX2Jsb2NrbG9nICsgc3VwZXIt
PnNiX2RpcmJsa2xvZykgPj0KKwkgICAgICAgIFhGU19TQl9ESVJCTEtfTlVN
QklUUyk7Cit9CisKIHN0YXRpYyBpbnQKIHhmc19tb3VudCAoZnNpX2ZpbGVf
dCAqZmZpLCBjb25zdCBjaGFyICpvcHRpb25zKQogewogCXhmc19zYl90IHN1
cGVyOwogCiAJaWYgKCFkZXZyZWFkIChmZmksIDAsIDAsIHNpemVvZihzdXBl
ciksIChjaGFyICopJnN1cGVyKQotCSAgICB8fCAobGUzMihzdXBlci5zYl9t
YWdpY251bSkgIT0gWEZTX1NCX01BR0lDKQotCSAgICB8fCAoKGxlMTYoc3Vw
ZXIuc2JfdmVyc2lvbm51bSkgCi0JCSYgWEZTX1NCX1ZFUlNJT05fTlVNQklU
UykgIT0gWEZTX1NCX1ZFUlNJT05fNCkgKSB7CisJICAgIHx8IHhmc19zYl9p
c19pbnZhbGlkKCZzdXBlcikpIHsKIAkJcmV0dXJuIDA7CiAJfQogCi0JeGZz
LmJzaXplID0gbGUzMiAoc3VwZXIuc2JfYmxvY2tzaXplKTsKLQl4ZnMuYmxr
bG9nID0gc3VwZXIuc2JfYmxvY2tsb2c7Ci0JeGZzLmJkbG9nID0geGZzLmJs
a2xvZyAtIFNFQ1RPUl9CSVRTOworCS8qCisJICogTm90IHNhbml0aXplZC4g
SXQncyBleGNsdXNpdmVseSB1c2VkIHRvIGdlbmVyYXRlIGRpc2sgYWRkcmVz
c2VzLAorCSAqIHNvIGl0J3Mgbm90IGltcG9ydGFudCBmcm9tIGEgc2VjdXJp
dHkgc3RhbmRwb2ludC4KKwkgKi8KIAl4ZnMucm9vdGlubyA9IGxlNjQgKHN1
cGVyLnNiX3Jvb3Rpbm8pOwotCXhmcy5pc2l6ZSA9IGxlMTYgKHN1cGVyLnNi
X2lub2Rlc2l6ZSk7Ci0JeGZzLmFnYmxvY2tzID0gbGUzMiAoc3VwZXIuc2Jf
YWdibG9ja3MpOwotCXhmcy5kaXJic2l6ZSA9IHhmcy5ic2l6ZSA8PCBzdXBl
ci5zYl9kaXJibGtsb2c7CiAKLQl4ZnMuaW5vcGJsb2cgPSBzdXBlci5zYl9p
bm9wYmxvZzsKKwkvKgorCSAqIFNhbml0aXplZCB0byBiZSBjb25zaXN0ZW50
IHdpdGggZWFjaCBvdGhlciwgb25seSB1c2VkIHRvCisJICogZ2VuZXJhdGUg
ZGlzayBhZGRyZXNzZXMsIHNvIGl0J3Mgc2FmZQorCSAqLworCXhmcy5hZ2Js
b2NrcyA9IGxlMzIgKHN1cGVyLnNiX2FnYmxvY2tzKTsKIAl4ZnMuYWdibGts
b2cgPSBzdXBlci5zYl9hZ2Jsa2xvZzsKIAorCS8qIERlcml2ZWQgZnJvbSBz
YW5pdGl6ZWQgcGFyYW1ldGVycyAqLworCXhmcy5ic2l6ZSA9IDEgPDwgc3Vw
ZXIuc2JfYmxvY2tsb2c7CisJeGZzLmJsa2xvZyA9IHN1cGVyLnNiX2Jsb2Nr
bG9nOworCXhmcy5iZGxvZyA9IHN1cGVyLnNiX2Jsb2NrbG9nIC0gU0VDVE9S
X0JJVFM7CisJeGZzLmlzaXplID0gMSA8PCBzdXBlci5zYl9pbm9kZWxvZzsK
Kwl4ZnMuZGlyYnNpemUgPSAxIDw8IChzdXBlci5zYl9ibG9ja2xvZyArIHN1
cGVyLnNiX2RpcmJsa2xvZyk7CisJeGZzLmlub3BibG9nID0gc3VwZXIuc2Jf
YmxvY2tsb2cgLSBzdXBlci5zYl9pbm9kZWxvZzsKKwogCXhmcy5idG5vZGVf
cHRyMF9vZmYgPQogCQkoKHhmcy5ic2l6ZSAtIHNpemVvZih4ZnNfYnRyZWVf
YmxvY2tfdCkpIC8KIAkJKHNpemVvZiAoeGZzX2JtYnRfa2V5X3QpICsgc2l6
ZW9mICh4ZnNfYm1idF9wdHJfdCkpKQpkaWZmIC0tZ2l0IGEvdG9vbHMvbGli
ZnNpbWFnZS94ZnMveGZzLmggYi90b29scy9saWJmc2ltYWdlL3hmcy94ZnMu
aAppbmRleCA0MDY5OTI4MWU0NGQuLmI4N2UzN2QzZDdlOSAxMDA2NDQKLS0t
IGEvdG9vbHMvbGliZnNpbWFnZS94ZnMveGZzLmgKKysrIGIvdG9vbHMvbGli
ZnNpbWFnZS94ZnMveGZzLmgKQEAgLTEzNCw2ICsxMzQsMTggQEAgdHlwZWRl
ZiBzdHJ1Y3QgeGZzX3NiCiAgICAgICAgIHhmc191aW50OF90ICAgICAgIHNi
X2R1bW15WzddOyAgICAvKiBwYWRkaW5nICovCiB9IHhmc19zYl90OwogCisv
KiBCb3VuZCB0YWtlbiBmcm9tIHhmcy5jIGluIEdSVUIyLiBJdCBkb2Vzbid0
IGV4aXN0IGluIHRoZSBzcGVjICovCisjZGVmaW5lCVhGU19TQl9ESVJCTEtf
TlVNQklUUwkyNworLyogSW1wbGllZCBieSB0aGUgWEZTIHNwZWNpZmljYXRp
b24uIFRoZSBtaW5pbXVtIGJsb2NrIHNpemUgaXMgNTEyIG9jdGV0cyAqLwor
I2RlZmluZQlYRlNfU0JfQkxPQ0tMT0dfTUlOCTkKKy8qIEltcGxpZWQgYnkg
dGhlIFhGUyBzcGVjaWZpY2F0aW9uLiBUaGUgbWF4aW11bSBibG9jayBzaXpl
IGlzIDY1NTM2IG9jdGV0cyAqLworI2RlZmluZQlYRlNfU0JfQkxPQ0tMT0df
TUFYCTE2CisvKiBJbXBsaWVkIGJ5IHRoZSBYRlMgc3BlY2lmaWNhdGlvbi4g
VGhlIG1pbmltdW0gaW5vZGUgc2l6ZSBpcyAyNTYgb2N0ZXRzICovCisjZGVm
aW5lCVhGU19TQl9JTk9ERUxPR19NSU4JOAorLyogSW1wbGllZCBieSB0aGUg
WEZTIHNwZWNpZmljYXRpb24uIFRoZSBtYXhpbXVtIGlub2RlIHNpemUgaXMg
MjA0OCBvY3RldHMgKi8KKyNkZWZpbmUJWEZTX1NCX0lOT0RFTE9HX01BWAkx
MQorLyogSGlnaCBib3VuZCBmb3Igc2JfYWdibGtsb2cgKi8KKyNkZWZpbmUJ
WEZTX1NCX0FHQkxLTE9HX01BWAkzMgogCiAvKiB0aG9zZSBhcmUgZnJvbSB4
ZnNfYnRyZWUuaCAqLwogCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-04.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-04.patch"
Content-Transfer-Encoding: base64

RnJvbSBjNjZmZDAxMjc3OTM5NjM0YzYyNGM4MzQwODM4NjgyZDlkNGZkODM5
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUzICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
NC8xMV0gbGliZnNpbWFnZS94ZnM6IEFkZCBjb21waWxlLXRpbWUgY2hlY2sg
dG8gbGliZnNpbWFnZQoKQWRkcyB0aGUgY29tbW9uIHRvb2xzIGluY2x1ZGUg
Zm9sZGVyIHRvIHRoZSAtSSBjb21waWxlIGZsYWdzCm9mIGxpYmZzaW1hZ2Uu
IFRoaXMgYWxsb3dzIHVzIHRvIHVzZToKICB4ZW4tdG9vbHMvY29tbW9uLW1h
Y3Jvcy5oOkJVSUxEX0JVR19PTigpCgpXaXRoIGl0LCBzdGF0aWNhbGx5IGFz
c2VydCBhIHNhbml0aXplZCAiYmxvY2tsb2cgLSBTRUNUT1JfQklUUyIgY2Fu
bm90CnVuZGVyZmxvdy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDQzIC8gQ1ZF
LTIwMjMtMzQzMjUKClNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBWYWxsZWpv
IDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+ClJldmlld2VkLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQogdG9vbHMvbGli
ZnNpbWFnZS9jb21tb24ubWsgICAgICB8IDIgKy0KIHRvb2xzL2xpYmZzaW1h
Z2UveGZzL2ZzeXNfeGZzLmMgfCA0ICsrKy0KIDIgZmlsZXMgY2hhbmdlZCwg
NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uLm1rIGIvdG9vbHMvbGliZnNpbWFn
ZS9jb21tb24ubWsKaW5kZXggNGZjOGM2Njc5NTk5Li5lNDMzNjgzN2QwNDUg
MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uLm1rCisrKyBi
L3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uLm1rCkBAIC0xLDcgKzEsNyBAQAog
aW5jbHVkZSAkKFhFTl9ST09UKS90b29scy9SdWxlcy5tawogCiBGU0RJUiA6
PSAkKGxpYmRpcikveGVuZnNpbWFnZQotQ0ZMQUdTICs9IC1Xbm8tdW5rbm93
bi1wcmFnbWFzIC1JJChYRU5fUk9PVCkvdG9vbHMvbGliZnNpbWFnZS9jb21t
b24vIC1ERlNJTUFHRV9GU0RJUj1cIiQoRlNESVIpXCIKK0NGTEFHUyArPSAt
V25vLXVua25vd24tcHJhZ21hcyAtSSQoWEVOX1JPT1QpL3Rvb2xzL2xpYmZz
aW1hZ2UvY29tbW9uLyAkKENGTEFHU194ZW5pbmNsdWRlKSAtREZTSU1BR0Vf
RlNESVI9XCIkKEZTRElSKVwiCiBDRkxBR1MgKz0gLURfR05VX1NPVVJDRQog
TERGTEFHUyArPSAtTC4uL2NvbW1vbi8KIApkaWZmIC0tZ2l0IGEvdG9vbHMv
bGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
eGZzL2ZzeXNfeGZzLmMKaW5kZXggZTRlYjdlMWVlMjZmLi40YThkZDZmMjM5
N2IgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZz
LmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwpAQCAt
MTksNiArMTksNyBAQAogCiAjaW5jbHVkZSA8c3RkYm9vbC5oPgogI2luY2x1
ZGUgPHhlbmZzaW1hZ2VfZ3J1Yi5oPgorI2luY2x1ZGUgPHhlbi10b29scy9s
aWJzLmg+CiAjaW5jbHVkZSAieGZzLmgiCiAKICNkZWZpbmUgTUFYX0xJTktf
Q09VTlQJOApAQCAtNDc3LDkgKzQ3OCwxMCBAQCB4ZnNfbW91bnQgKGZzaV9m
aWxlX3QgKmZmaSwgY29uc3QgY2hhciAqb3B0aW9ucykKIAl4ZnMuYWdibGts
b2cgPSBzdXBlci5zYl9hZ2Jsa2xvZzsKIAogCS8qIERlcml2ZWQgZnJvbSBz
YW5pdGl6ZWQgcGFyYW1ldGVycyAqLworCUJVSUxEX0JVR19PTihYRlNfU0Jf
QkxPQ0tMT0dfTUlOIDwgU0VDVE9SX0JJVFMpOworCXhmcy5iZGxvZyA9IHN1
cGVyLnNiX2Jsb2NrbG9nIC0gU0VDVE9SX0JJVFM7CiAJeGZzLmJzaXplID0g
MSA8PCBzdXBlci5zYl9ibG9ja2xvZzsKIAl4ZnMuYmxrbG9nID0gc3VwZXIu
c2JfYmxvY2tsb2c7Ci0JeGZzLmJkbG9nID0gc3VwZXIuc2JfYmxvY2tsb2cg
LSBTRUNUT1JfQklUUzsKIAl4ZnMuaXNpemUgPSAxIDw8IHN1cGVyLnNiX2lu
b2RlbG9nOwogCXhmcy5kaXJic2l6ZSA9IDEgPDwgKHN1cGVyLnNiX2Jsb2Nr
bG9nICsgc3VwZXIuc2JfZGlyYmxrbG9nKTsKIAl4ZnMuaW5vcGJsb2cgPSBz
dXBlci5zYl9ibG9ja2xvZyAtIHN1cGVyLnNiX2lub2RlbG9nOwotLSAKMi40
Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-05.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-05.patch"
Content-Transfer-Encoding: base64

RnJvbSBhZDVkMGRiNWU2OGU1ZDRlNzkyNTVmYTg1ZDljYjAwNjliYjFjNWQ1
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIxICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
NS8xMV0gdG9vbHMvcHlncnViOiBSZW1vdmUgdW5uZWNlc3NhcnkgaHlwZXJj
YWxsCgpUaGVyZSdzIGEgaHlwZXJjYWxsIGJlaW5nIGlzc3VlZCBpbiBvcmRl
ciB0byBkZXRlcm1pbmUgd2hldGhlciBQVjY0IGlzCnN1cHBvcnRlZCwgYnV0
IHNpbmNlIFhlbiA0LjMgdGhhdCdzIHN0cmljdGx5IHRydWUgc28gaXQncyBu
b3QgcmVxdWlyZWQuCgpQbHVzLCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQgbWFw
cGluZyB0aGUgcHJpdmNtZCBpbnRlcmZhY2UgYWx0b2dldGhlciBpbiB0aGUK
ZGVwcml2IHB5Z3J1Yi4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDQzIC8gQ1ZF
LTIwMjMtMzQzMjUKClNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBWYWxsZWpv
IDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+ClJldmlld2VkLWJ5OiBB
bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0K
IHRvb2xzL3B5Z3J1Yi9zcmMvcHlncnViIHwgMTIgKy0tLS0tLS0tLS0tCiAx
IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDExIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViIGIvdG9v
bHMvcHlncnViL3NyYy9weWdydWIKaW5kZXggY2U3YWIwZWI4Y2YzLi5jZTRl
MDdkM2U4MjMgMTAwNzU1Ci0tLSBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnVi
CisrKyBiL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViCkBAIC0xOCw3ICsxOCw2
IEBAIGltcG9ydCBvcywgc3lzLCBzdHJpbmcsIHN0cnVjdCwgdGVtcGZpbGUs
IHJlLCB0cmFjZWJhY2ssIHN0YXQsIGVycm5vCiBpbXBvcnQgY29weQogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCBwbGF0Zm9ybQotaW1wb3J0IHhlbi5sb3ds
ZXZlbC54YwogCiBpbXBvcnQgY3Vyc2VzLCBfY3Vyc2VzLCBjdXJzZXMudGV4
dHBhZCwgY3Vyc2VzLmFzY2lpCiBpbXBvcnQgZ2V0b3B0CkBAIC02NjgsMTQg
KzY2Nyw2IEBAIGRlZiBydW5fZ3J1YihmaWxlLCBlbnRyeSwgZnMsIGNmZ19h
cmdzKToKIAogICAgIHJldHVybiBncnViY2ZnCiAKLWRlZiBzdXBwb3J0czY0
Yml0UFZndWVzdCgpOgotICAgIHhjID0geGVuLmxvd2xldmVsLnhjLnhjKCkK
LSAgICBjYXBzID0geGMueGVuaW5mbygpWyd4ZW5fY2FwcyddLnNwbGl0KCIg
IikKLSAgICBmb3IgY2FwIGluIGNhcHM6Ci0gICAgICAgIGlmIGNhcCA9PSAi
eGVuLTMuMC14ODZfNjQiOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAg
ICByZXR1cm4gRmFsc2UKLQogIyBJZiBub3RoaW5nIGhhcyBiZWVuIHNwZWNp
ZmllZCwgbG9vayBmb3IgYSBTb2xhcmlzIGRvbVUuIElmIGZvdW5kLCBwZXJm
b3JtIHRoZQogIyBuZWNlc3NhcnkgdHdlYWtzLgogZGVmIHNuaWZmX3NvbGFy
aXMoZnMsIGNmZyk6CkBAIC02ODQsOCArNjc1LDcgQEAgZGVmIHNuaWZmX3Nv
bGFyaXMoZnMsIGNmZyk6CiAgICAgICAgIHJldHVybiBjZmcKIAogICAgIGlm
IG5vdCBjZmdbImtlcm5lbCJdOgotICAgICAgICBpZiBzdXBwb3J0czY0Yml0
UFZndWVzdCgpIGFuZCBcCi0gICAgICAgICAgZnMuZmlsZV9leGlzdHMoIi9w
bGF0Zm9ybS9pODZ4cHYva2VybmVsL2FtZDY0L3VuaXgiKToKKyAgICAgICAg
aWYgZnMuZmlsZV9leGlzdHMoIi9wbGF0Zm9ybS9pODZ4cHYva2VybmVsL2Ft
ZDY0L3VuaXgiKToKICAgICAgICAgICAgIGNmZ1sia2VybmVsIl0gPSAiL3Bs
YXRmb3JtL2k4Nnhwdi9rZXJuZWwvYW1kNjQvdW5peCIKICAgICAgICAgICAg
IGNmZ1sicmFtZGlzayJdID0gIi9wbGF0Zm9ybS9pODZwYy9hbWQ2NC9ib290
X2FyY2hpdmUiCiAgICAgICAgIGVsaWYgZnMuZmlsZV9leGlzdHMoIi9wbGF0
Zm9ybS9pODZ4cHYva2VybmVsL3VuaXgiKToKLS0gCjIuNDIuMAoK

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-06.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-06.patch"
Content-Transfer-Encoding: base64

RnJvbSBkM2NlYjBiMzE0MDA1YTY1NmRkMmNhNGIyODIxNTc1YTM2Zjg0MjZk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIyICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Ni8xMV0gdG9vbHMvcHlncnViOiBTbWFsbCByZWZhY3RvcnMKClNtYWxsIHRp
ZHkgdXAgdG8gZW5zdXJlIG91dHB1dF9kaXJlY3RvcnkgYWx3YXlzIGhhcyBh
IHRyYWlsaW5nICcvJyB0byBlYXNlCmNvbmNhdGVuYXRpbmcgcGF0aHMgYW5k
IHRoYXQgYG91dHB1dGAgY2FuIG9ubHkgYmUgYSBmaWxlbmFtZSBvciBOb25l
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAyMy0zNDMyNQoK
U2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFsZWphbmRyby52
YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvcHlncnViL3Ny
Yy9weWdydWIgfCAxMCArKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBp
bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rv
b2xzL3B5Z3J1Yi9zcmMvcHlncnViIGIvdG9vbHMvcHlncnViL3NyYy9weWdy
dWIKaW5kZXggY2U0ZTA3ZDNlODIzLi4xMDQyYzA1Yjg2NzYgMTAwNzU1Ci0t
LSBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViCisrKyBiL3Rvb2xzL3B5Z3J1
Yi9zcmMvcHlncnViCkBAIC03OTMsNyArNzkzLDcgQEAgaWYgX19uYW1lX18g
PT0gIl9fbWFpbl9fIjoKICAgICBkZWJ1ZyA9IEZhbHNlCiAgICAgbm90X3Jl
YWxseSA9IEZhbHNlCiAgICAgb3V0cHV0X2Zvcm1hdCA9ICJzeHAiCi0gICAg
b3V0cHV0X2RpcmVjdG9yeSA9ICIvdmFyL3J1bi94ZW4vcHlncnViIgorICAg
IG91dHB1dF9kaXJlY3RvcnkgPSAiL3Zhci9ydW4veGVuL3B5Z3J1Yi8iCiAK
ICAgICAjIHdoYXQgd2FzIHBhc3NlZCBpbgogICAgIGluY2ZnID0geyAia2Vy
bmVsIjogTm9uZSwgInJhbWRpc2siOiBOb25lLCAiYXJncyI6ICIiIH0KQEAg
LTgxNSw3ICs4MTUsOCBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog
ICAgICAgICAgICAgdXNhZ2UoKQogICAgICAgICAgICAgc3lzLmV4aXQoKQog
ICAgICAgICBlbGlmIG8gaW4gKCItLW91dHB1dCIsKToKLSAgICAgICAgICAg
IG91dHB1dCA9IGEKKyAgICAgICAgICAgIGlmIGEgIT0gIi0iOgorICAgICAg
ICAgICAgICAgIG91dHB1dCA9IGEKICAgICAgICAgZWxpZiBvIGluICgiLS1r
ZXJuZWwiLCk6CiAgICAgICAgICAgICBpbmNmZ1sia2VybmVsIl0gPSBhCiAg
ICAgICAgIGVsaWYgbyBpbiAoIi0tcmFtZGlzayIsKToKQEAgLTg0NywxMiAr
ODQ4LDExIEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgICAg
ICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihhKToKICAgICAgICAgICAgICAg
ICBwcmludCgiJXMgaXMgbm90IGFuIGV4aXN0aW5nIGRpcmVjdG9yeSIgJSBh
KQogICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgICAgICAgICBv
dXRwdXRfZGlyZWN0b3J5ID0gYQorICAgICAgICAgICAgb3V0cHV0X2RpcmVj
dG9yeSA9IGEgKyAnLycKIAogICAgIGlmIGRlYnVnOgogICAgICAgICBsb2dn
aW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuREVCVUcpCiAKLQogICAg
IHRyeToKICAgICAgICAgb3MubWFrZWRpcnMob3V0cHV0X2RpcmVjdG9yeSwg
MG83MDApCiAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKQEAgLTg2MSw3ICs4
NjEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgICAgICBl
bHNlOgogICAgICAgICAgICAgcmFpc2UKIAotICAgIGlmIG91dHB1dCBpcyBO
b25lIG9yIG91dHB1dCA9PSAiLSI6CisgICAgaWYgb3V0cHV0IGlzIE5vbmU6
CiAgICAgICAgIGZkID0gc3lzLnN0ZG91dC5maWxlbm8oKQogICAgIGVsc2U6
CiAgICAgICAgIGZkID0gb3Mub3BlbihvdXRwdXQsIG9zLk9fV1JPTkxZKQot
LSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-07.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-07.patch"
Content-Transfer-Encoding: base64

RnJvbSA5ZTgwY2ZlY2RlMzM4Y2VhMGRiMTM2YzJmYjVlZDc4ZDYwODFlMDVm
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIzICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Ny8xMV0gdG9vbHMvcHlncnViOiBPcGVuIHRoZSBvdXRwdXQgZmlsZXMgZWFy
bGllcgoKVGhpcyBwYXRjaCBhbGxvd3MgcHlncnViIHRvIGdldCBhaG9sZCBv
ZiBldmVyeSBSVyBmaWxlIGRlc2NyaXB0b3IgaXQgbmVlZHMKZWFybHkgb24u
IEEgbGF0ZXIgcGF0Y2ggd2lsbCBjbGFtcCB0aGUgZmlsZXN5c3RlbSBpdCBj
YW4gYWNjZXNzIHNvIGl0IGNhbid0Cm9idGFpbiBhbnkgb3RoZXJzLgoKVGhp
cyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAyMy0zNDMyNQoKU2lnbmVk
LW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFsZWphbmRyby52YWxsZWpv
QGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j
b29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvcHlncnViL3NyYy9weWdy
dWIgfCAzNyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t
CiAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvcHlncnViL3NyYy9weWdydWIg
Yi90b29scy9weWdydWIvc3JjL3B5Z3J1YgppbmRleCAxMDQyYzA1Yjg2NzYu
LjkxZTJlYzJhYjEwNSAxMDA3NTUKLS0tIGEvdG9vbHMvcHlncnViL3NyYy9w
eWdydWIKKysrIGIvdG9vbHMvcHlncnViL3NyYy9weWdydWIKQEAgLTczOCw4
ICs3MzgsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGRl
ZiB1c2FnZSgpOgogICAgICAgICBwcmludCgiVXNhZ2U6ICVzIFstcXwtLXF1
aWV0XSBbLWl8LS1pbnRlcmFjdGl2ZV0gWy1sfC0tbGlzdC1lbnRyaWVzXSBb
LW58LS1ub3QtcmVhbGx5XSBbLS1vdXRwdXQ9XSBbLS1rZXJuZWw9XSBbLS1y
YW1kaXNrPV0gWy0tYXJncz1dIFstLWVudHJ5PV0gWy0tb3V0cHV0LWRpcmVj
dG9yeT1dIFstLW91dHB1dC1mb3JtYXQ9c3hwfHNpbXBsZXxzaW1wbGUwXSBb
LS1vZmZzZXQ9XSA8aW1hZ2U+IiAlKHN5cy5hcmd2WzBdLCksIGZpbGU9c3lz
LnN0ZGVycikKIAotICAgIGRlZiBjb3B5X2Zyb21faW1hZ2UoZnMsIGZpbGVf
dG9fcmVhZCwgZmlsZV90eXBlLCBvdXRwdXRfZGlyZWN0b3J5LAotICAgICAg
ICAgICAgICAgICAgICAgICAgbm90X3JlYWxseSk6CisgICAgZGVmIGNvcHlf
ZnJvbV9pbWFnZShmcywgZmlsZV90b19yZWFkLCBmaWxlX3R5cGUsIGZkX2Rz
dCwgcGF0aF9kc3QsIG5vdF9yZWFsbHkpOgogICAgICAgICBpZiBub3RfcmVh
bGx5OgogICAgICAgICAgICAgaWYgZnMuZmlsZV9leGlzdHMoZmlsZV90b19y
ZWFkKToKICAgICAgICAgICAgICAgICByZXR1cm4gIjwlczolcz4iICUgKGZp
bGVfdHlwZSwgZmlsZV90b19yZWFkKQpAQCAtNzUwLDIxICs3NDksMTggQEAg
aWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgcHJpbnQoZSwgZmlsZT1zeXMu
c3RkZXJyKQogICAgICAgICAgICAgc3lzLmV4aXQoIkVycm9yIG9wZW5pbmcg
JXMgaW4gZ3Vlc3QiICUgZmlsZV90b19yZWFkKQotICAgICAgICAodGZkLCBy
ZXQpID0gdGVtcGZpbGUubWtzdGVtcChwcmVmaXg9ImJvb3RfIitmaWxlX3R5
cGUrIi4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkaXI9b3V0cHV0X2RpcmVjdG9yeSkKICAgICAgICAgZGF0YW9mZiA9IDAK
ICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIGRhdGEgPSBkYXRh
ZmlsZS5yZWFkKEZTX1JFQURfTUFYLCBkYXRhb2ZmKQogICAgICAgICAgICAg
aWYgbGVuKGRhdGEpID09IDA6Ci0gICAgICAgICAgICAgICAgb3MuY2xvc2Uo
dGZkKQorICAgICAgICAgICAgICAgIG9zLmNsb3NlKGZkX2RzdCkKICAgICAg
ICAgICAgICAgICBkZWwgZGF0YWZpbGUKLSAgICAgICAgICAgICAgICByZXR1
cm4gcmV0CisgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICB0
cnk6Ci0gICAgICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQorICAg
ICAgICAgICAgICAgIG9zLndyaXRlKGZkX2RzdCwgZGF0YSkKICAgICAgICAg
ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgICBw
cmludChlLCBmaWxlPXN5cy5zdGRlcnIpCi0gICAgICAgICAgICAgICAgb3Mu
Y2xvc2UodGZkKQotICAgICAgICAgICAgICAgIG9zLnVubGluayhyZXQpCisg
ICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfZHN0KQogICAgICAgICAg
ICAgICAgIGRlbCBkYXRhZmlsZQogICAgICAgICAgICAgICAgIHN5cy5leGl0
KCJFcnJvciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5IG9mICIrZmlsZV90eXBl
KQogICAgICAgICAgICAgZGF0YW9mZiArPSBsZW4oZGF0YSkKQEAgLTg2MSw2
ICs4NTcsMTQgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlCiAKKyAgICBpZiBub3RfcmVh
bGx5OgorICAgICAgICBmZF9rZXJuZWwgPSAgcGF0aF9rZXJuZWwgPSBmZF9y
YW1kaXNrID0gcGF0aF9yYW1kaXNrID0gTm9uZQorICAgIGVsc2U6CisgICAg
ICAgIChmZF9rZXJuZWwsIHBhdGhfa2VybmVsKSA9IHRlbXBmaWxlLm1rc3Rl
bXAocHJlZml4PSJib290X2tlcm5lbC4iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcj1vdXRwdXRf
ZGlyZWN0b3J5KQorICAgICAgICAoZmRfcmFtZGlzaywgcGF0aF9yYW1kaXNr
KSA9IHRlbXBmaWxlLm1rc3RlbXAocHJlZml4PSJib290X3JhbWRpc2suIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpcj1vdXRwdXRfZGlyZWN0b3J5KQorCiAgICAgaWYgb3V0
cHV0IGlzIE5vbmU6CiAgICAgICAgIGZkID0gc3lzLnN0ZG91dC5maWxlbm8o
KQogICAgIGVsc2U6CkBAIC05MjAsMjAgKzkyNCwyMyBAQCBpZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgogICAgIGlmIGZzIGlzIE5vbmU6CiAgICAgICAg
IHJhaXNlIFJ1bnRpbWVFcnJvcigiVW5hYmxlIHRvIGZpbmQgcGFydGl0aW9u
IGNvbnRhaW5pbmcga2VybmVsIikKIAotICAgIGJvb3RjZmdbImtlcm5lbCJd
ID0gY29weV9mcm9tX2ltYWdlKGZzLCBjaG9zZW5jZmdbImtlcm5lbCJdLCAi
a2VybmVsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvdXRwdXRfZGlyZWN0b3J5LCBub3RfcmVhbGx5KQorICAgIGNvcHlf
ZnJvbV9pbWFnZShmcywgY2hvc2VuY2ZnWyJrZXJuZWwiXSwgImtlcm5lbCIs
CisgICAgICAgICAgICAgICAgICAgIGZkX2tlcm5lbCwgcGF0aF9rZXJuZWws
IG5vdF9yZWFsbHkpCisgICAgYm9vdGNmZ1sia2VybmVsIl0gPSBwYXRoX2tl
cm5lbAogCiAgICAgaWYgY2hvc2VuY2ZnWyJyYW1kaXNrIl06CiAgICAgICAg
IHRyeToKLSAgICAgICAgICAgIGJvb3RjZmdbInJhbWRpc2siXSA9IGNvcHlf
ZnJvbV9pbWFnZShmcywgY2hvc2VuY2ZnWyJyYW1kaXNrIl0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJh
bWRpc2siLCBvdXRwdXRfZGlyZWN0b3J5LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdF9yZWFsbHkpCisg
ICAgICAgICAgICBjb3B5X2Zyb21faW1hZ2UoZnMsIGNob3NlbmNmZ1sicmFt
ZGlzayJdLCAicmFtZGlzayIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmRfcmFtZGlzaywgcGF0aF9yYW1kaXNrLCBub3RfcmVhbGx5KQogICAg
ICAgICBleGNlcHQ6CiAgICAgICAgICAgICBpZiBub3Qgbm90X3JlYWxseToK
LSAgICAgICAgICAgICAgICBvcy51bmxpbmsoYm9vdGNmZ1sia2VybmVsIl0p
CisgICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfa2VybmVsKQogICAg
ICAgICAgICAgcmFpc2UKKyAgICAgICAgYm9vdGNmZ1sicmFtZGlzayJdID0g
cGF0aF9yYW1kaXNrCiAgICAgZWxzZToKICAgICAgICAgaW5pdHJkID0gTm9u
ZQorICAgICAgICBpZiBub3Qgbm90X3JlYWxseToKKyAgICAgICAgICAgIG9z
LnVubGluayhwYXRoX3JhbWRpc2spCiAKICAgICBhcmdzID0gTm9uZQogICAg
IGlmIGNob3NlbmNmZ1siYXJncyJdOgotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-08.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-08.patch"
Content-Transfer-Encoding: base64

RnJvbSAyZmI0Y2RjZWRkODcyMGY3OGM0YmQ0NDczOWE1ZDMwZGQxYTdkOWE1
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjI0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
OC8xMV0gdG9vbHMvbGliZnNpbWFnZTogRXhwb3J0IGEgbmV3IGZ1bmN0aW9u
IHRvIHByZWxvYWQgYWxsCiBwbHVnaW5zCgpUaGlzIGlzIHdvcmsgcmVxdWly
ZWQgaW4gb3JkZXIgdG8gbGV0IHB5Z3J1YiBvcGVyYXRlIGluIGhpZ2hseSBk
ZXByaXZpbGVnZWQKY2hyb290IG1vZGUuIFRoaXMgcGF0Y2ggYWRkcyBhIGZ1
bmN0aW9uIHRoYXQgcHJlbG9hZHMgZXZlcnkgcGx1Z2luLCBoZW5jZQplbnN1
cmluZyB0aGF0IGEgb24gZnVuY3Rpb24gZXhpdCwgZXZlcnkgc2hhcmVkIGxp
YnJhcnkgaXMgbG9hZGVkIGluIG1lbW9yeS4KClRoZSBuZXcgImluaXQiIGZ1
bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgYmVmb3JlIGRlcHJpdiwg
YnV0IHRoYXQncwpmaW5lIGJlY2F1c2UgaXQncyBub3QgYWN0aW5nIG9uIHVu
dHJ1c3RlZCBkYXRhLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUt
MjAyMy0zNDMyNQoKU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8g
PGFsZWphbmRyby52YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJl
dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9v
bHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFnZV9wbHVnaW4uYyB8ICA0ICsr
LS0KIHRvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtR05VICAgICAg
fCAgMSArCiB0b29scy9saWJmc2ltYWdlL2NvbW1vbi9tYXBmaWxlLVN1bk9T
ICAgIHwgIDEgKwogdG9vbHMvbGliZnNpbWFnZS9jb21tb24veGVuZnNpbWFn
ZS5oICAgICB8ICA4ICsrKysrKysrCiB0b29scy9weWdydWIvc3JjL2ZzaW1h
Z2UvZnNpbWFnZS5jICAgICAgIHwgMTUgKysrKysrKysrKysrKysrCiA1IGZp
bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFn
ZV9wbHVnaW4uYyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL2ZzaW1hZ2Vf
cGx1Z2luLmMKaW5kZXggZGUxNDEyYjQyMzNhLi5kMGNiOWU5NmE2NTQgMTAw
NjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL2ZzaW1hZ2VfcGx1
Z2luLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFnZV9w
bHVnaW4uYwpAQCAtMTE5LDcgKzExOSw3IEBAIGZhaWw6CiAJcmV0dXJuICgt
MSk7CiB9CiAKLXN0YXRpYyBpbnQgbG9hZF9wbHVnaW5zKHZvaWQpCitpbnQg
ZnNpX2luaXQodm9pZCkKIHsKIAljb25zdCBjaGFyICpmc2RpciA9IGdldGVu
digiWEVOX0ZTSU1BR0VfRlNESVIiKTsKIAlzdHJ1Y3QgZGlyZW50ICpkcCA9
IE5VTEw7CkBAIC0xODAsNyArMTgwLDcgQEAgaW50IGZpbmRfcGx1Z2luKGZz
aV90ICpmc2ksIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm9wdGlv
bnMpCiAJZnNpX3BsdWdpbl90ICpmcDsKIAlpbnQgcmV0ID0gMDsKIAotCWlm
IChwbHVnaW5zID09IE5VTEwgJiYgKHJldCA9IGxvYWRfcGx1Z2lucygpKSAh
PSAwKQorCWlmIChwbHVnaW5zID09IE5VTEwgJiYgKHJldCA9IGZzaV9pbml0
KCkpICE9IDApCiAJCWdvdG8gb3V0OwogCiAJZm9yIChmcCA9IHBsdWdpbnM7
IGZwICE9IE5VTEw7IGZwID0gZnAtPmZwX25leHQpIHsKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtR05VIGIvdG9vbHMv
bGliZnNpbWFnZS9jb21tb24vbWFwZmlsZS1HTlUKaW5kZXggMjZkNGQ3YTY5
ZWM3Li4yZDU0ZDUyN2Q3ZjUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1h
Z2UvY29tbW9uL21hcGZpbGUtR05VCisrKyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
Y29tbW9uL21hcGZpbGUtR05VCkBAIC0xLDYgKzEsNyBAQAogVkVSU0lPTiB7
CiAJbGliZnNpbWFnZS5zby4xLjAgewogCQlnbG9iYWw6CisJCQlmc2lfaW5p
dDsKIAkJCWZzaV9vcGVuX2ZzaW1hZ2U7CiAJCQlmc2lfY2xvc2VfZnNpbWFn
ZTsKIAkJCWZzaV9maWxlX2V4aXN0czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp
YmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtU3VuT1MgYi90b29scy9saWJmc2lt
YWdlL2NvbW1vbi9tYXBmaWxlLVN1bk9TCmluZGV4IGU5OWI5MGI2NTA3Ny4u
NDhkZWVkYjQyNTJmIDEwMDY0NAotLS0gYS90b29scy9saWJmc2ltYWdlL2Nv
bW1vbi9tYXBmaWxlLVN1bk9TCisrKyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29t
bW9uL21hcGZpbGUtU3VuT1MKQEAgLTEsNSArMSw2IEBACiBsaWJmc2ltYWdl
LnNvLjEuMCB7CiAJZ2xvYmFsOgorCQlmc2lfaW5pdDsKIAkJZnNpX29wZW5f
ZnNpbWFnZTsKIAkJZnNpX2Nsb3NlX2ZzaW1hZ2U7CiAJCWZzaV9maWxlX2V4
aXN0czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hl
bmZzaW1hZ2UuaCBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hlbmZzaW1h
Z2UuaAppbmRleCAyMDFhYmQ1NGYyM2EuLjM0MTg4M2IyZDcxYSAxMDA2NDQK
LS0tIGEvdG9vbHMvbGliZnNpbWFnZS9jb21tb24veGVuZnNpbWFnZS5oCisr
KyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hlbmZzaW1hZ2UuaApAQCAt
MzUsNiArMzUsMTQgQEAgZXh0ZXJuIEMgewogdHlwZWRlZiBzdHJ1Y3QgZnNp
IGZzaV90OwogdHlwZWRlZiBzdHJ1Y3QgZnNpX2ZpbGUgZnNpX2ZpbGVfdDsK
IAorLyoKKyAqIE9wdGlvbmFsIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiBJ
ZiBpbnZva2VkIGl0IGxvYWRzIHRoZSBhc3NvY2lhdGVkCisgKiBkeW5hbWlj
IGxpYnJhcmllcyBmb3IgdGhlIGJhY2tlbmRzIGFoZWFkIG9mIHRpbWUuIFRo
aXMgaXMgcmVxdWlyZWQgaWYKKyAqIHRoZSBsaWJyYXJ5IGlzIHRvIHJ1biBh
cyBwYXJ0IG9mIGEgaGlnaGx5IGRlcHJpdmlsZWdlZCBleGVjdXRhYmxlLCBh
cworICogdGhlIGxpYnJhcmllcyBtYXkgbm90IGJlIHJlYWNoYWJsZSBhZnRl
ciBkZXByaXYuCisgKi8KK2ludCBmc2lfaW5pdCh2b2lkKTsKKwogZnNpX3Qg
KmZzaV9vcGVuX2ZzaW1hZ2UoY29uc3QgY2hhciAqLCB1aW50NjRfdCwgY29u
c3QgY2hhciAqKTsKIHZvaWQgZnNpX2Nsb3NlX2ZzaW1hZ2UoZnNpX3QgKik7
CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5Z3J1Yi9zcmMvZnNpbWFnZS9mc2lt
YWdlLmMgYi90b29scy9weWdydWIvc3JjL2ZzaW1hZ2UvZnNpbWFnZS5jCmlu
ZGV4IDJlYmJiZTM1ZGY5Mi4uOTJmYmYyODUxZjAxIDEwMDY0NAotLS0gYS90
b29scy9weWdydWIvc3JjL2ZzaW1hZ2UvZnNpbWFnZS5jCisrKyBiL3Rvb2xz
L3B5Z3J1Yi9zcmMvZnNpbWFnZS9mc2ltYWdlLmMKQEAgLTI4Niw2ICsyODYs
MTUgQEAgZnNpbWFnZV9nZXRib290c3RyaW5nKFB5T2JqZWN0ICpvLCBQeU9i
amVjdCAqYXJncykKIAlyZXR1cm4gUHlfQnVpbGRWYWx1ZSgicyIsIGJvb3Rz
dHJpbmcpOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorZnNpbWFnZV9pbml0
KFB5T2JqZWN0ICpvLCBQeU9iamVjdCAqYXJncykKK3sKKwlpZiAoIVB5QXJn
X1BhcnNlVHVwbGUoYXJncywgIiIpKQorCQlyZXR1cm4gKE5VTEwpOworCisJ
cmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBmc2lfaW5pdCgpKTsKK30KKwog
UHlEb2NfU1RSVkFSKGZzaW1hZ2Vfb3Blbl9fZG9jX18sCiAgICAgIm9wZW4o
bmFtZSwgW29mZnNldD1vZmZdKSAtIE9wZW4gdGhlIGdpdmVuIGZpbGUgYXMg
YSBmaWxlc3lzdGVtIGltYWdlLlxuIgogICAgICJcbiIKQEAgLTI5Nyw3ICsz
MDYsMTMgQEAgUHlEb2NfU1RSVkFSKGZzaW1hZ2VfZ2V0Ym9vdHN0cmluZ19f
ZG9jX18sCiAgICAgImdldGJvb3RzdHJpbmcoZnMpIC0gUmV0dXJuIHRoZSBi
b290IHN0cmluZyBuZWVkZWQgZm9yIHRoaXMgZmlsZSBzeXN0ZW0gIgogICAg
ICJvciBOVUxMIGlmIG5vbmUgaXMgbmVlZGVkLlxuIik7CiAKK1B5RG9jX1NU
UlZBUihmc2ltYWdlX2luaXRfX2RvY19fLAorICAgICJpbml0KCkgLSBMb2Fk
cyBldmVyeSBkeW5hbWljIGxpYnJhcnkgY29udGFpbmVkIGluIHhlbmZzaW1h
Z2UgIgorICAgICJpbnRvIG1lbW9yeSBzbyB0aGF0IGl0IGNhbiBiZSB1c2Vk
IGluIGNocm9vdGVkIGVudmlyb25tZW50cy5cbiIpOworCiBzdGF0aWMgc3Ry
dWN0IFB5TWV0aG9kRGVmIGZzaW1hZ2VfbW9kdWxlX21ldGhvZHNbXSA9IHsK
Kwl7ICJpbml0IiwgKFB5Q0Z1bmN0aW9uKWZzaW1hZ2VfaW5pdCwKKwkgICAg
TUVUSF9WQVJBUkdTLCBmc2ltYWdlX2luaXRfX2RvY19fIH0sCiAJeyAib3Bl
biIsIChQeUNGdW5jdGlvbilmc2ltYWdlX29wZW4sCiAJICAgIE1FVEhfVkFS
QVJHU3xNRVRIX0tFWVdPUkRTLCBmc2ltYWdlX29wZW5fX2RvY19fIH0sCiAJ
eyAiZ2V0Ym9vdHN0cmluZyIsIChQeUNGdW5jdGlvbilmc2ltYWdlX2dldGJv
b3RzdHJpbmcsCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-09.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-09.patch"
Content-Transfer-Encoding: base64

RnJvbSAxNTA3NzFjZTg2YTA3ZTQ2OWUzNDk0MWE2M2M1NmUyY2YyNDIyMjNi
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjI1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
OS8xMV0gdG9vbHMvcHlncnViOiBEZXByaXZpbGVnZSBweWdydWIKCkludHJv
ZHVjZSBhIC0tcnVuYXM9PHVpZD4gZmxhZyB0byBkZXByaXZpbGVnZSBweWdy
dWIgb24gTGludXggYW5kICpCU0RzLiBJdAphbHNvIGltcGxpY2l0bHkgY3Jl
YXRlcyBhIGNocm9vdCBlbnYgd2hlcmUgaXQgZHJvcHMgYSBkZXByaXZpbGVn
ZWQgZm9ya2VkCnByb2Nlc3MuIFRoZSBjaHJvb3QgaXRzZWxmIGlzIGNsZWFu
ZWQgdXAgYXQgdGhlIGVuZC4KCklmIHRoZSAtLXJ1bmFzIGFyZyBpcyBwcmVz
ZW50LCB0aGVuIHB5Z3J1YiBmb3JrcywgbGVhdmluZyB0aGUgY2hpbGQgdG8K
ZGVwcml2aWxlZ2UgaXRzZWxmLCBhbmQgd2FpdGluZyBmb3IgaXQgdG8gY29t
cGxldGUuIFdoZW4gdGhlIGNoaWxkIGV4aXN0cywKdGhlIHBhcmVudCBwZXJm
b3JtcyBjbGVhbnVwIGFuZCBleGl0cyB3aXRoIHRoZSBzYW1lIGVycm9yIGNv
ZGUuCgpUaGlzIGlzIHJvdWdobHkgd2hhdCB0aGUgY2hpbGQgZG9lczoKICAx
LiBJbml0aWFsaXplIGxpYmZzaW1hZ2UgKHRoaXMgbG9hZHMgZXZlcnkgLnNv
IGluIG1lbW9yeSBzbyB0aGUgY2hyb290CiAgICAgY2FuIGF2b2lkIGJpbmQt
bW91bnRpbmcgL3ssdXNyfS9saWIqCiAgMi4gQ3JlYXRlIGEgdGVtcG9yYXJ5
IGVtcHR5IGNocm9vdCBkaXJlY3RvcnkKICAzLiBNb3VudCB0bXBmcyBpbiBp
dAogIDQuIEJpbmQgbW91bnQgdGhlIGRpc2sgaW5zaWRlLCBiZWNhdXNlIGxp
YmZzaW1hZ2UgZXhwZWN0cyBhIHBhdGgsIG5vdCBhCiAgICAgZmlsZSBkZXNj
cmlwdG9yLgogIDUuIFJlbW91bnQgdGhlIHJvb3QgdG1wZnMgdG8gYmUgc3Ry
aWN0ZXIgKHJvLG5vc3VpZCxub2RldikKICA2LiBTZXQgUkxJTUlUX0ZTSVpF
IHRvIGEgc2Vuc2libHkgaGlnaCBhbW91bnQgKDEyOCBNaUIpCiAgNy4gRGVw
cml2IGdpZCwgZ3JvdXBzIGFuZCB1aWQKCldpdGggdGhpcyBzY2hlbWUgaW4g
cGxhY2UsIHRoZSAib3V0cHV0IiBmaWxlcyBhcmUgd3JpdGFibGUgKHVwIHRv
ClJMSU1JVF9GU0laRSBvY3RldHMpIGFuZCB0aGUgZXhwb3NlZCBmaWxlc3lz
dGVtIGlzIGltbXV0YWJsZSBhbmQgY29udGFpbnMKdGhlIHNpbmdsZSBvbmx5
IGZpbGUgd2UgY2FuJ3QgZWFzaWx5IGdldCByaWQgb2YgKHRoZSBkaXNrKS4K
CklmIHJ1bm5pbmcgb24gTGludXgsIHRoZSBjaGlsZCBwcm9jZXNzIGFsc28g
dW5zaGFyZXMgbW91bnQsIElQQywgYW5kCm5ldHdvcmsgbmFtZXNwYWNlcyBi
ZWZvcmUgZHJvcHBpbmcgaXRzIHByaXZpbGVnZXMuCgpUaGlzIGlzIHBhcnQg
b2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBB
bGVqYW5kcm8gVmFsbGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29t
PgpBY2tlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0
cml4LmNvbT4KLS0tCiB0b29scy9weWdydWIvc2V0dXAucHkgICB8ICAgMiAr
LQogdG9vbHMvcHlncnViL3NyYy9weWdydWIgfCAxNjIgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2Vk
LCAxNTQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvdG9vbHMvcHlncnViL3NldHVwLnB5IGIvdG9vbHMvcHlncnViL3Nl
dHVwLnB5CmluZGV4IDBlNGUzZDAyZDM3Mi4uMDZiOTY3MzNkMDIwIDEwMDY0
NAotLS0gYS90b29scy9weWdydWIvc2V0dXAucHkKKysrIGIvdG9vbHMvcHln
cnViL3NldHVwLnB5CkBAIC0xNyw3ICsxNyw3IEBAIHhlbmZzaW1hZ2UgPSBF
eHRlbnNpb24oInhlbmZzaW1hZ2UiLAogcGtncyA9IFsgJ2dydWInIF0KIAog
c2V0dXAobmFtZT0ncHlncnViJywKLSAgICAgIHZlcnNpb249JzAuNicsCisg
ICAgICB2ZXJzaW9uPScwLjcnLAogICAgICAgZGVzY3JpcHRpb249J0Jvb3Qg
bG9hZGVyIHRoYXQgbG9va3MgYSBsb3QgbGlrZSBncnViIGZvciBYZW4nLAog
ICAgICAgYXV0aG9yPSdKZXJlbXkgS2F0eicsCiAgICAgICBhdXRob3JfZW1h
aWw9J2thdHpqQHJlZGhhdC5jb20nLApkaWZmIC0tZ2l0IGEvdG9vbHMvcHln
cnViL3NyYy9weWdydWIgYi90b29scy9weWdydWIvc3JjL3B5Z3J1YgppbmRl
eCA5MWUyZWMyYWIxMDUuLjdjZWE0OTZhZGUwOCAxMDA3NTUKLS0tIGEvdG9v
bHMvcHlncnViL3NyYy9weWdydWIKKysrIGIvdG9vbHMvcHlncnViL3NyYy9w
eWdydWIKQEAgLTE2LDggKzE2LDExIEBAIGZyb20gX19mdXR1cmVfXyBpbXBv
cnQgcHJpbnRfZnVuY3Rpb24KIAogaW1wb3J0IG9zLCBzeXMsIHN0cmluZywg
c3RydWN0LCB0ZW1wZmlsZSwgcmUsIHRyYWNlYmFjaywgc3RhdCwgZXJybm8K
IGltcG9ydCBjb3B5CitpbXBvcnQgY3R5cGVzLCBjdHlwZXMudXRpbAogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCBwbGF0Zm9ybQoraW1wb3J0IHJlc291cmNl
CitpbXBvcnQgc3VicHJvY2VzcwogCiBpbXBvcnQgY3Vyc2VzLCBfY3Vyc2Vz
LCBjdXJzZXMudGV4dHBhZCwgY3Vyc2VzLmFzY2lpCiBpbXBvcnQgZ2V0b3B0
CkBAIC0yNywxMCArMzAsMTM1IEBAIGltcG9ydCBncnViLkdydWJDb25mCiBp
bXBvcnQgZ3J1Yi5MaWxvQ29uZgogaW1wb3J0IGdydWIuRXh0TGludXhDb25m
CiAKLVBZR1JVQl9WRVIgPSAwLjYKK1BZR1JVQl9WRVIgPSAwLjcKIEZTX1JF
QURfTUFYID0gMTAyNCAqIDEwMjQKIFNFQ1RPUl9TSVpFID0gNTEyCiAKKyMg
VW5sZXNzIHByb3ZpZGVkIHRocm91Z2ggdGhlIGVudiB2YXJpYWJsZSBQWUdS
VUJfTUFYX0ZJTEVfU0laRV9NQiwgdGhlbgorIyB0aGlzIGlzIHRoZSBtYXhp
bXVtIGZpbGVzaXplIGFsbG93ZWQgZm9yIGZpbGVzIHdyaXR0ZW4gYnkgdGhl
IGRlcHJpdgorIyBweWdydWIKK0xJTUlUX0ZTSVpFID0gMTI4IDw8IDIwCisK
K0NMT05FX05FV05TID0gMHgwMDAyMDAwMCAjIG1vdW50IG5hbWVzcGFjZQor
Q0xPTkVfTkVXTkVUID0gMHg0MDAwMDAwMCAjIG5ldHdvcmsgbmFtZXNwYWNl
CitDTE9ORV9ORVdJUEMgPSAweDA4MDAwMDAwICMgSVBDIG5hbWVzcGFjZQor
CitkZWYgdW5zaGFyZShmbGFncyk6CisgICAgaWYgbm90IHN5cy5wbGF0Zm9y
bS5zdGFydHN3aXRoKCJsaW51eCIpOgorICAgICAgICBwcmludCgic2tpcF91
bnNoYXJlIHJlYXNvbj1ub3RfbGludXggcGxhdGZvcm09JXMiLCBzeXMucGxh
dGZvcm0sIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgcmV0dXJuCisKKyAg
ICBsaWJjID0gY3R5cGVzLkNETEwoY3R5cGVzLnV0aWwuZmluZF9saWJyYXJ5
KCdjJyksIHVzZV9lcnJubz1UcnVlKQorICAgIHVuc2hhcmVfcHJvdG90eXBl
ID0gY3R5cGVzLkNGVU5DVFlQRShjdHlwZXMuY19pbnQsIGN0eXBlcy5jX2lu
dCwgdXNlX2Vycm5vPVRydWUpCisgICAgdW5zaGFyZSA9IHVuc2hhcmVfcHJv
dG90eXBlKCgndW5zaGFyZScsIGxpYmMpKQorCisgICAgaWYgdW5zaGFyZShm
bGFncykgPCAwOgorICAgICAgICByYWlzZSBPU0Vycm9yKGN0eXBlcy5nZXRf
ZXJybm8oKSwgb3Muc3RyZXJyb3IoY3R5cGVzLmdldF9lcnJubygpKSkKKwor
ZGVmIGJpbmRfbW91bnQoc3JjLCBkc3QsIG9wdGlvbnMpOgorICAgIG9wZW4o
ZHN0LCAiYSIpLmNsb3NlKCkgIyB0b3VjaAorCisgICAgcmMgPSBzdWJwcm9j
ZXNzLmNhbGwoWyJtb3VudCIsICItLWJpbmQiLCAiLW8iLCBvcHRpb25zLCBz
cmMsIGRzdF0pCisgICAgaWYgcmMgIT0gMDoKKyAgICAgICAgcmFpc2UgUnVu
dGltZUVycm9yKCJiYWRfbW91bnQ6IHNyYz0lcyBkc3Q9JXMgb3B0cz0lcyIg
JQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNyYywgZHN0LCBvcHRp
b25zKSkKKworZGVmIGRvd25ncmFkZV9ybGltaXRzKCk6CisgICAgIyBXaXBl
IHRoZSBhdXRob3JpdHkgdG8gdXNlIHVucmVxdWlyZWQgcmVzb3VyY2VzCisg
ICAgcmVzb3VyY2Uuc2V0cmxpbWl0KHJlc291cmNlLlJMSU1JVF9OUFJPQywg
ICAgKDAsIDApKQorICAgIHJlc291cmNlLnNldHJsaW1pdChyZXNvdXJjZS5S
TElNSVRfQ09SRSwgICAgICgwLCAwKSkKKyAgICByZXNvdXJjZS5zZXRybGlt
aXQocmVzb3VyY2UuUkxJTUlUX01FTUxPQ0ssICAoMCwgMCkpCisKKyAgICAj
IHB5MidzIHJlc291cmNlIG1vZHVsZSBkb2Vzbid0IGtub3cgYWJvdXQgcmVz
b3VyY2UuUkxJTUlUX01TR1FVRVVFCisgICAgIworICAgICMgVE9ETzogVXNl
IHJlc291cmNlLlJMSU1JVF9NU0dRVUVVRSBhZnRlciBweXRob24yIGlzIGRl
cHJlY2F0ZWQKKyAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGlu
dXgnKToKKyAgICAgICAgUkxJTUlUX01TR1FVRVVFID0gMTIKKyAgICAgICAg
cmVzb3VyY2Uuc2V0cmxpbWl0KFJMSU1JVF9NU0dRVUVVRSwgKDAsIDApKQor
CisgICAgIyBUaGUgZmluYWwgbG9vayBvZiB0aGUgZmlsZXN5c3RlbSBmb3Ig
dGhpcyBwcm9jZXNzIGlzIGZ1bGx5IFJPLCBidXQKKyAgICAjIG5vdGUgd2Ug
aGF2ZSBzb21lIGZpbGUgZGVzY3JpcHRvciBhbHJlYWR5IG9wZW4gKG5vdGFi
bHksIGtlcm5lbCBhbmQKKyAgICAjIHJhbWRpc2spLiBJbiBvcmRlciB0byBh
dm9pZCBhIGNvbXByb21pc2VkIHB5Z3J1YiBmcm9tIGZpbGxpbmcgdXAgdGhl
CisgICAgIyBmaWxlc3lzdGVtIHdlIHNldCBSTElNSVRfRlNJWkUgdG8gYSBo
aWdoIGJvdW5kLCBzbyB0aGF0IHRoZSBmaWxlCisgICAgIyB3cml0ZSBwZXJt
aXNzaW9ucyBhcmUgYm91bmQuCisgICAgZnNpemUgPSBMSU1JVF9GU0laRQor
ICAgIGlmICJQWUdSVUJfTUFYX0ZJTEVfU0laRV9NQiIgaW4gb3MuZW52aXJv
bi5rZXlzKCk6CisgICAgICAgIGZzaXplID0gb3MuZW52aXJvblsiUFlHUlVC
X01BWF9GSUxFX1NJWkVfTUIiXSA8PCAyMAorCisgICAgcmVzb3VyY2Uuc2V0
cmxpbWl0KHJlc291cmNlLlJMSU1JVF9GU0laRSwgKGZzaXplLCBmc2l6ZSkp
CisKK2RlZiBkZXByaXYob3V0cHV0X2RpcmVjdG9yeSwgb3V0cHV0LCBkZXZp
Y2UsIHVpZCwgcGF0aF9rZXJuZWwsIHBhdGhfcmFtZGlzayk6CisgICAgIyBU
aGUgb25seSBwb2ludCBvZiB0aGlzIGNhbGwgaXMgdG8gZm9yY2UgdGhlIGxv
YWRpbmcgb2YgbGliZnNpbWFnZS4KKyAgICAjIFRoYXQgd2F5LCB3ZSBkb24n
dCBuZWVkIHRvIGJpbmQtbW91bnQgaXQgaW50byB0aGUgY2hyb290CisgICAg
cmMgPSB4ZW5mc2ltYWdlLmluaXQoKQorICAgIGlmIHJjICE9IDA6CisgICAg
ICAgIG9zLnVubGluayhwYXRoX3JhbWRpc2spCisgICAgICAgIG9zLnVubGlu
ayhwYXRoX2tlcm5lbCkKKyAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJi
YWRfeGVuZnNpbWFnZTogcmM9JWQiICUgcmMpCisKKyAgICAjIENyZWF0ZSBh
IHRlbXBvcmFyeSBkaXJlY3RvcnkgZm9yIHRoZSBjaHJvb3QKKyAgICBjaHJv
b3QgPSB0ZW1wZmlsZS5ta2R0ZW1wKHByZWZpeD1zdHIodWlkKSsnLScsIGRp
cj1vdXRwdXRfZGlyZWN0b3J5KSArICcvJworICAgIGRldmljZV9wYXRoID0g
Jy9kZXZpY2UnCisKKyAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICBpZiBwaWQ6
CisgICAgICAgICMgcGFyZW50CisgICAgICAgIF8sIHJjID0gb3Mud2FpdHBp
ZChwaWQsIDApCisKKyAgICAgICAgZm9yIHBhdGggaW4gW3BhdGhfa2VybmVs
LCBwYXRoX3JhbWRpc2tdOgorICAgICAgICAgICAgIyBJZiB0aGUgY2hpbGQg
ZGlkbid0IHdyaXRlIGFueXRoaW5nLCBqdXN0IGdldCByaWQgb2YgaXQsCisg
ICAgICAgICAgICAjIG90aGVyd2lzZSB3ZSBlbmQgdXAgY29uc3VtaW5nIGEg
MC1zaXplIGZpbGUgd2hlbiBwYXJzaW5nCisgICAgICAgICAgICAjIHN5c3Rl
bXMgd2l0aG91dCBhIHJhbWRpc2sgdGhhdCB0aGUgdWx0aW1hdGUgY2FsbGVy
IG9mIHB5Z3J1YgorICAgICAgICAgICAgIyBtYXkganVzdCBiZSB1bmF3YXJl
IG9mCisgICAgICAgICAgICBpZiByYyAhPSAwIG9yIG9zLnBhdGguZ2V0c2l6
ZShwYXRoKSA9PSAwOgorICAgICAgICAgICAgICAgIG9zLnVubGluayhwYXRo
KQorCisgICAgICAgICMgTm9ybWFsbHksIHVuc2hhcmUoQ0xPTkVfTkVXTlMp
IHdpbGwgZW5zdXJlIHRoaXMgaXMgbm90IHJlcXVpcmVkLgorICAgICAgICAj
IEhvd2V2ZXIsIHRoaXMgc3lzY2FsbCBkb2Vzbid0IGV4aXN0IGluICpCU0Qg
c3lzdGVtcyBhbmQgZG9lc24ndAorICAgICAgICAjIGF1dG8tdW5tb3VudCBl
dmVyeXRoaW5nIG9uIG9sZGVyIExpbnV4IGtlcm5lbHMgKEF0IGxlYXN0IGFz
IG9mCisgICAgICAgICMgTGludXggNC4xOSwgYnV0IGl0IHNlZW1zIGZpeGVk
IGluIDUuMTUpLiBFaXRoZXIgd2F5LAorICAgICAgICAjIHJlY3Vyc2l2ZWx5
IHVubW91bnQgZXZlcnl0aGluZyBpZiBuZWVkZWQuIFF1aWV0bHkuCisgICAg
ICAgIHdpdGggb3BlbignL2Rldi9udWxsJywgJ3cnKSBhcyBkZXZudWxsOgor
ICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKFsidW1vdW50IiwgIi1mIiwg
Y2hyb290ICsgZGV2aWNlX3BhdGhdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0ZG91dD1kZXZudWxsLCBzdGRlcnI9ZGV2bnVsbCkKKyAgICAg
ICAgICAgIHN1YnByb2Nlc3MuY2FsbChbInVtb3VudCIsICItZiIsIGNocm9v
dF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PWRldm51
bGwsIHN0ZGVycj1kZXZudWxsKQorICAgICAgICBvcy5ybWRpcihjaHJvb3Qp
CisKKyAgICAgICAgc3lzLmV4aXQocmMpCisKKyAgICAjIEJ5IHVuc2hhcmlu
ZyB0aGUgbmFtZXNwYWNlIHdlJ3JlIG1ha2luZyBzdXJlIGl0J3MgYWxsIGJ1
bGstcmVsZWFzZWQKKyAgICAjIGF0IHRoZSBlbmQsIHdoZW4gdGhlIG5hbWVz
cGFjZXMgZGlzYXBwZWFyLiBUaGlzIG1lYW5zIHRoZSBrZXJuZWwgZG9lcwor
ICAgICMgKGFsbW9zdCkgYWxsIHRoZSBjbGVhbnVwIGZvciB1cyBhbmQgdGhl
IHBhcmVudCBqdXN0IGhhcyB0byByZW1vdmUgdGhlCisgICAgIyB0ZW1wb3Jh
cnkgZGlyZWN0b3J5LgorICAgIHVuc2hhcmUoQ0xPTkVfTkVXTlMgfCBDTE9O
RV9ORVdJUEMgfCBDTE9ORV9ORVdORVQpCisKKyAgICAjIFNldCBzZW5zaWJs
ZSBsaW1pdHMgdXNpbmcgdGhlIHNldHJsaW1pdCBpbnRlcmZhY2UKKyAgICBk
b3duZ3JhZGVfcmxpbWl0cygpCisKKyAgICAjIFdlJ2xsIG1vdW50IHRtcGZz
IG9uIHRoZSBjaHJvb3QgdG8gZW5zdXJlIHRoZSBkZXByaXZpbGVnZWQgY2hp
bGQKKyAgICAjIGNhbm5vdCBhZmZlY3QgdGhlIHBlcnNpc3RlbnQgc3RhdGUu
IEl0J3MgUlcgbm93IGluIG9yZGVyIHRvCisgICAgIyBiaW5kLW1vdW50IHRo
ZSBkZXZpY2UsIGJ1dCBub3RlIGl0J3MgcmVtb3VudGVkIFJPIGFmdGVyIHRo
YXQuCisgICAgcmMgPSBzdWJwcm9jZXNzLmNhbGwoWyJtb3VudCIsICItdCIs
ICJ0bXBmcyIsICJub25lIiwgY2hyb290XSkKKyAgICBpZiByYyAhPSAwOgor
ICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIm1vdW50X3RtcGZzIHJjPSVk
IGRzdD1cIiVzXCIiICUgKHJjLCBjaHJvb3QpKQorCisgICAgIyBCaW5kIHRo
ZSB1bnRydXN0ZWQgZGV2aWNlIFJPCisgICAgYmluZF9tb3VudChkZXZpY2Us
IGNocm9vdCArIGRldmljZV9wYXRoLCAicm8sbm9zdWlkLG5vZXhlYyIpCisK
KyAgICByYyA9IHN1YnByb2Nlc3MuY2FsbChbIm1vdW50IiwgIi10IiwgInRt
cGZzIiwgIi1vIiwgInJlbW91bnQscm8sbm9zdWlkLG5vZXhlYyxub2RldiIs
ICJub25lIiwgY2hyb290XSkKKyAgICBpZiByYyAhPSAwOgorICAgICAgICBy
YWlzZSBSdW50aW1lRXJyb3IoInJlbW91bnRfdG1wZnMgcmM9JWQgZHN0PVwi
JXNcIiIgJSAocmMsIGNocm9vdCkpCisKKyAgICAjIERyb3Agc3VwZXJwb3dl
cnMhCisgICAgb3MuY2hyb290KGNocm9vdCkKKyAgICBvcy5jaGRpcignLycp
CisgICAgb3Muc2V0Z2lkKHVpZCkKKyAgICBvcy5zZXRncm91cHMoW3VpZF0p
CisgICAgb3Muc2V0dWlkKHVpZCkKKworICAgIHJldHVybiBkZXZpY2VfcGF0
aAorCiBkZWYgcmVhZF9zaXplX3JvdW5kdXAoZmQsIHNpemUpOgogICAgIGlm
IHBsYXRmb3JtLnN5c3RlbSgpICE9ICdGcmVlQlNEJzoKICAgICAgICAgcmV0
dXJuIHNpemUKQEAgLTczNiw3ICs4NjQsNyBAQCBpZiBfX25hbWVfXyA9PSAi
X19tYWluX18iOgogICAgIHNlbCA9IE5vbmUKICAgICAKICAgICBkZWYgdXNh
Z2UoKToKLSAgICAgICAgcHJpbnQoIlVzYWdlOiAlcyBbLXF8LS1xdWlldF0g
Wy1pfC0taW50ZXJhY3RpdmVdIFstbHwtLWxpc3QtZW50cmllc10gWy1ufC0t
bm90LXJlYWxseV0gWy0tb3V0cHV0PV0gWy0ta2VybmVsPV0gWy0tcmFtZGlz
az1dIFstLWFyZ3M9XSBbLS1lbnRyeT1dIFstLW91dHB1dC1kaXJlY3Rvcnk9
XSBbLS1vdXRwdXQtZm9ybWF0PXN4cHxzaW1wbGV8c2ltcGxlMF0gWy0tb2Zm
c2V0PV0gPGltYWdlPiIgJShzeXMuYXJndlswXSwpLCBmaWxlPXN5cy5zdGRl
cnIpCisgICAgICAgIHByaW50KCJVc2FnZTogJXMgWy1xfC0tcXVpZXRdIFst
aXwtLWludGVyYWN0aXZlXSBbLWx8LS1saXN0LWVudHJpZXNdIFstbnwtLW5v
dC1yZWFsbHldIFstLW91dHB1dD1dIFstLWtlcm5lbD1dIFstLXJhbWRpc2s9
XSBbLS1hcmdzPV0gWy0tZW50cnk9XSBbLS1vdXRwdXQtZGlyZWN0b3J5PV0g
Wy0tb3V0cHV0LWZvcm1hdD1zeHB8c2ltcGxlfHNpbXBsZTBdIFstLXJ1bmFz
PV0gWy0tb2Zmc2V0PV0gPGltYWdlPiIgJShzeXMuYXJndlswXSwpLCBmaWxl
PXN5cy5zdGRlcnIpCiAKICAgICBkZWYgY29weV9mcm9tX2ltYWdlKGZzLCBm
aWxlX3RvX3JlYWQsIGZpbGVfdHlwZSwgZmRfZHN0LCBwYXRoX2RzdCwgbm90
X3JlYWxseSk6CiAgICAgICAgIGlmIG5vdF9yZWFsbHk6CkBAIC03NjAsNyAr
ODg4LDggQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAgICAg
ICAgICAgICBvcy53cml0ZShmZF9kc3QsIGRhdGEpCiAgICAgICAgICAgICBl
eGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICAgICAgcHJpbnQo
ZSwgZmlsZT1zeXMuc3RkZXJyKQotICAgICAgICAgICAgICAgIG9zLnVubGlu
ayhwYXRoX2RzdCkKKyAgICAgICAgICAgICAgICBpZiBwYXRoX2RzdDoKKyAg
ICAgICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfZHN0KQogICAgICAg
ICAgICAgICAgIGRlbCBkYXRhZmlsZQogICAgICAgICAgICAgICAgIHN5cy5l
eGl0KCJFcnJvciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5IG9mICIrZmlsZV90
eXBlKQogICAgICAgICAgICAgZGF0YW9mZiArPSBsZW4oZGF0YSkKQEAgLTc2
OSw3ICs4OTgsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAg
ICAgICBvcHRzLCBhcmdzID0gZ2V0b3B0LmdudV9nZXRvcHQoc3lzLmFyZ3Zb
MTpdLCAncWlsbmg6OicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIFsicXVpZXQiLCAiaW50ZXJhY3RpdmUiLCAibGlzdC1lbnRyaWVz
IiwgIm5vdC1yZWFsbHkiLCAiaGVscCIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAib3V0cHV0PSIsICJvdXRwdXQtZm9ybWF0PSIs
ICJvdXRwdXQtZGlyZWN0b3J5PSIsICJvZmZzZXQ9IiwKLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICJlbnRyeT0iLCAia2VybmVsPSIs
IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJ1bmFz
PSIsICJlbnRyeT0iLCAia2VybmVsPSIsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAicmFtZGlzaz0iLCAiYXJncz0iLCAiaXNjb25m
aWciLCAiZGVidWciXSkKICAgICBleGNlcHQgZ2V0b3B0LkdldG9wdEVycm9y
OgogICAgICAgICB1c2FnZSgpCkBAIC03OTAsNiArOTE5LDcgQEAgaWYgX19u
YW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBub3RfcmVhbGx5ID0gRmFsc2UK
ICAgICBvdXRwdXRfZm9ybWF0ID0gInN4cCIKICAgICBvdXRwdXRfZGlyZWN0
b3J5ID0gIi92YXIvcnVuL3hlbi9weWdydWIvIgorICAgIHVpZCA9IE5vbmUK
IAogICAgICMgd2hhdCB3YXMgcGFzc2VkIGluCiAgICAgaW5jZmcgPSB7ICJr
ZXJuZWwiOiBOb25lLCAicmFtZGlzayI6IE5vbmUsICJhcmdzIjogIiIgfQpA
QCAtODEzLDYgKzk0MywxMyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18i
OgogICAgICAgICBlbGlmIG8gaW4gKCItLW91dHB1dCIsKToKICAgICAgICAg
ICAgIGlmIGEgIT0gIi0iOgogICAgICAgICAgICAgICAgIG91dHB1dCA9IGEK
KyAgICAgICAgZWxpZiBvIGluICgiLS1ydW5hcyIsKToKKyAgICAgICAgICAg
IHRyeToKKyAgICAgICAgICAgICAgICB1aWQgPSBpbnQoYSkKKyAgICAgICAg
ICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorICAgICAgICAgICAgICAgIHByaW50
KCJydW5hcyB2YWx1ZSBtdXN0IGJlIGFuIGludGVnZXIgdXNlciBpZCIpCisg
ICAgICAgICAgICAgICAgdXNhZ2UoKQorICAgICAgICAgICAgICAgIHN5cy5l
eGl0KDEpCiAgICAgICAgIGVsaWYgbyBpbiAoIi0ta2VybmVsIiwpOgogICAg
ICAgICAgICAgaW5jZmdbImtlcm5lbCJdID0gYQogICAgICAgICBlbGlmIG8g
aW4gKCItLXJhbWRpc2siLCk6CkBAIC04NDksNiArOTg2LDEwIEBAIGlmIF9f
bmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgaWYgZGVidWc6CiAgICAgICAg
IGxvZ2dpbmcuYmFzaWNDb25maWcobGV2ZWw9bG9nZ2luZy5ERUJVRykKIAor
ICAgIGlmIGludGVyYWN0aXZlIGFuZCB1aWQ6CisgICAgICAgIHByaW50KCJJ
biBvcmRlciB0byB1c2UgLS1ydW5hcywgeW91IG11c3QgYWxzbyBzZXQgLS1l
bnRyeSBvciAtcSIsIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgc3lzLmV4
aXQoMSkKKwogICAgIHRyeToKICAgICAgICAgb3MubWFrZWRpcnMob3V0cHV0
X2RpcmVjdG9yeSwgMG83MDApCiAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToK
QEAgLTg3MCw2ICsxMDExLDkgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9f
IjoKICAgICBlbHNlOgogICAgICAgICBmZCA9IG9zLm9wZW4ob3V0cHV0LCBv
cy5PX1dST05MWSkKIAorICAgIGlmIHVpZDoKKyAgICAgICAgZmlsZSA9IGRl
cHJpdihvdXRwdXRfZGlyZWN0b3J5LCBvdXRwdXQsIGZpbGUsIHVpZCwgcGF0
aF9rZXJuZWwsIHBhdGhfcmFtZGlzaykKKwogICAgICMgZGVidWcKICAgICBp
ZiBpc2NvbmZpZzoKICAgICAgICAgY2hvc2VuY2ZnID0gcnVuX2dydWIoZmls
ZSwgZW50cnksIGZzLCBpbmNmZ1siYXJncyJdKQpAQCAtOTI1LDIxICsxMDY5
LDIxIEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgICAgIHJh
aXNlIFJ1bnRpbWVFcnJvcigiVW5hYmxlIHRvIGZpbmQgcGFydGl0aW9uIGNv
bnRhaW5pbmcga2VybmVsIikKIAogICAgIGNvcHlfZnJvbV9pbWFnZShmcywg
Y2hvc2VuY2ZnWyJrZXJuZWwiXSwgImtlcm5lbCIsCi0gICAgICAgICAgICAg
ICAgICAgIGZkX2tlcm5lbCwgcGF0aF9rZXJuZWwsIG5vdF9yZWFsbHkpCisg
ICAgICAgICAgICAgICAgICAgIGZkX2tlcm5lbCwgTm9uZSBpZiB1aWQgZWxz
ZSBwYXRoX2tlcm5lbCwgbm90X3JlYWxseSkKICAgICBib290Y2ZnWyJrZXJu
ZWwiXSA9IHBhdGhfa2VybmVsCiAKICAgICBpZiBjaG9zZW5jZmdbInJhbWRp
c2siXToKICAgICAgICAgdHJ5OgogICAgICAgICAgICAgY29weV9mcm9tX2lt
YWdlKGZzLCBjaG9zZW5jZmdbInJhbWRpc2siXSwgInJhbWRpc2siLAotICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGZkX3JhbWRpc2ssIHBhdGhfcmFt
ZGlzaywgbm90X3JlYWxseSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBmZF9yYW1kaXNrLCBOb25lIGlmIHVpZCBlbHNlIHBhdGhfcmFtZGlzaywg
bm90X3JlYWxseSkKICAgICAgICAgZXhjZXB0OgotICAgICAgICAgICAgaWYg
bm90IG5vdF9yZWFsbHk6Ci0gICAgICAgICAgICAgICAgb3MudW5saW5rKHBh
dGhfa2VybmVsKQorICAgICAgICAgICAgaWYgbm90IHVpZCBhbmQgbm90IG5v
dF9yZWFsbHk6CisgICAgICAgICAgICAgICAgICAgIG9zLnVubGluayhwYXRo
X2tlcm5lbCkKICAgICAgICAgICAgIHJhaXNlCiAgICAgICAgIGJvb3RjZmdb
InJhbWRpc2siXSA9IHBhdGhfcmFtZGlzawogICAgIGVsc2U6CiAgICAgICAg
IGluaXRyZCA9IE5vbmUKLSAgICAgICAgaWYgbm90IG5vdF9yZWFsbHk6Cisg
ICAgICAgIGlmIG5vdCB1aWQgYW5kIG5vdCBub3RfcmVhbGx5OgogICAgICAg
ICAgICAgb3MudW5saW5rKHBhdGhfcmFtZGlzaykKIAogICAgIGFyZ3MgPSBO
b25lCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-10.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-10.patch"
Content-Transfer-Encoding: base64

RnJvbSA2OThiNDUxNDczYTZkODY4Y2EwZjYwYTEyNGZjNGYzMWQ4MWNkN2Ix
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBNb24sIDI1IFNlcCAy
MDIzIDE0OjMwOjIwICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMC8xMV0gbGli
eGw6IGFkZCBzdXBwb3J0IGZvciBydW5uaW5nIGJvb3Rsb2FkZXIgaW4gcmVz
dHJpY3RlZAogbW9kZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6
IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1F
bmNvZGluZzogOGJpdAoKTXVjaCBsaWtlIHRoZSBkZXZpY2UgbW9kZWwgZGVw
cml2IG1vZGUsIGFkZCB0aGUgc2FtZSBraW5kIG9mIHN1cHBvcnQgZm9yIHRo
ZQpib290bG9hZGVyLiAgU3VjaCBmZWF0dXJlIGFsbG93cyBwYXNzaW5nIGEg
VUlEIGFzIGEgcGFyYW1ldGVyIGZvciB0aGUKYm9vdGxvYWRlciB0byBydW4g
YXMsIHRvZ2V0aGVyIHdpdGggdGhlIGJvb3Rsb2FkZXIgaXRzZWxmIHRha2lu
ZyB0aGUgbmVjZXNzYXJ5CmFjdGlvbnMgdG8gaXNvbGF0ZS4KCk5vdGUgdGhh
dCB0aGUgdXNlciB0byBydW4gdGhlIGJvb3Rsb2FkZXIgYXMgbXVzdCBoYXZl
IHRoZSByaWdodCBwZXJtaXNzaW9ucyB0bwphY2Nlc3MgdGhlIGd1ZXN0IGRp
c2sgaW1hZ2UgKGluIHJlYWQgbW9kZSBvbmx5KSwgYW5kIHRoYXQgdGhlIGJv
b3Rsb2FkZXIgd2lsbApiZSBydW4gaW4gbm9uLWludGVyYWN0aXZlIG1vZGUg
d2hlbiByZXN0cmljdGVkLgoKSWYgZW5hYmxlZCBib290bG9hZGVyIHJlc3Ry
aWN0IG1vZGUgd2lsbCBhdHRlbXB0IHRvIHJlLXVzZSB0aGUgdXNlcihzKSBm
cm9tIHRoZQpRRU1VIGRlcHJpdiBpbXBsZW1lbnRhdGlvbiBpZiBubyB1c2Vy
IGlzIHByb3ZpZGVkIG9uIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgb3IKdGhl
IGVudmlyb25tZW50LiAgU2VlIGRvY3MvZmVhdHVyZXMvcWVtdS1kZXByaXZp
bGVnZS5wYW5kb2MgZm9yIG1vcmUKaW5mb3JtYXRpb24gYWJvdXQgaG93IHRv
IHNldHVwIHRob3NlIHVzZXJzLgoKQm9vdGxvYWRlciByZXN0cmljdCBtb2Rl
IGlzIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQgYXMgaXQgcmVxdWlyZXMgY2Vy
dGFpbgpzZXR1cCB0byBiZSBkb25lIGZpcnN0IChzZXR1cCBvZiB0aGUgdXNl
cihzKSB0byB1c2UgaW4gcmVzdHJpY3QgbW9kZSkuCgpUaGlzIGlzIHBhcnQg
b2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBS
b2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3
ZWQtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXgu
Y29tPgotLS0KIGRvY3MvbWFuL3hsLjEucG9kLmluICAgICAgICAgICAgICAg
IHwgMzMgKysrKysrKysrKysKIHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9v
dGxvYWRlci5jIHwgODkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0K
IHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfZG0uYyAgICAgICAgIHwgIDggKy0t
CiB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2ludGVybmFsLmggICB8ICA4ICsr
KwogNCBmaWxlcyBjaGFuZ2VkLCAxMzEgaW5zZXJ0aW9ucygrKSwgNyBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94bC4xLnBvZC5pbiBi
L2RvY3MvbWFuL3hsLjEucG9kLmluCmluZGV4IDEwMWUxNDI0MWQxYy4uNDgz
MWUxMjI0MjdkIDEwMDY0NAotLS0gYS9kb2NzL21hbi94bC4xLnBvZC5pbgor
KysgYi9kb2NzL21hbi94bC4xLnBvZC5pbgpAQCAtMTk1Nyw2ICsxOTU3LDM5
IEBAIGlnbm9yZWQ6CiAKID1iYWNrCiAKKz1oZWFkMSBFTlZJUk9OTUVOVCBW
QVJJQUJMRVMKKworVGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJs
ZXMgc2hhbGwgYWZmZWN0IHRoZSBleGVjdXRpb24gb2YgeGw6CisKKz1vdmVy
IDQKKworPWl0ZW0gTElCWExfQk9PVExPQURFUl9SRVNUUklDVAorCitBdHRl
bXB0IHRvIHJlc3RyaWN0IHRoZSBib290bG9hZGVyIGFmdGVyIHN0YXJ0dXAs
IHRvIGxpbWl0IHRoZQorY29uc2VxdWVuY2VzIG9mIHNlY3VyaXR5IHZ1bG5l
cmFiaWxpdGllcyBkdWUgdG8gcGFyc2luZyBndWVzdAorb3duZWQgaW1hZ2Ug
ZmlsZXMuCisKK1NlZSBkb2NzL2ZlYXR1cmVzL3FlbXUtZGVwcml2aWxlZ2Uu
cGFuZG9jIGZvciBtb3JlIGluZm9ybWF0aW9uCitvbiBob3cgdG8gc2V0dXAg
dGhlIHVucHJpdmlsZWdlZCB1c2Vycy4KKworTm90ZSB0aGF0IHJ1bm5pbmcg
dGhlIGJvb3Rsb2FkZXIgaW4gcmVzdHJpY3RlZCBtb2RlIGFsc28gaW1wbGll
cyB1c2luZworbm9uLWludGVyYWN0aXZlIG1vZGUsIGFuZCB0aGUgZGlzayBp
bWFnZSBtdXN0IGJlIHJlYWRhYmxlIGJ5IHRoZQorcmVzdHJpY3RlZCB1c2Vy
LgorCitIYXZpbmcgdGhpcyB2YXJpYWJsZSBzZXQgaXMgZXF1aXZhbGVudCB0
byBlbmFibGluZyB0aGUgb3B0aW9uLCBldmVuIGlmIHRoZQordmFsdWUgaXMg
MC4KKworPWl0ZW0gTElCWExfQk9PVExPQURFUl9VU0VSCisKK1doZW4gdXNp
bmcgYm9vdGxvYWRlcl9yZXN0cmljdCwgcnVuIHRoZSBib290bG9hZGVyIGFz
IHRoaXMgdXNlci4gIElmCitub3Qgc2V0IHRoZSBkZWZhdWx0IFFFTVUgcmVz
dHJpY3QgdXNlcnMgd2lsbCBiZSB1c2VkLgorCitOT1RFOiBFYWNoIGRvbWFp
biBNVVNUIGhhdmUgYSBTRVBBUkFURSB1c2VybmFtZS4KKworU2VlIGRvY3Mv
ZmVhdHVyZXMvcWVtdS1kZXByaXZpbGVnZS5wYW5kb2MgZm9yIG1vcmUgaW5m
b3JtYXRpb24uCisKKz1iYWNrCisKID1oZWFkMSBTRUUgQUxTTwogCiBUaGUg
Zm9sbG93aW5nIG1hbiBwYWdlczoKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMv
bGlnaHQvbGlieGxfYm9vdGxvYWRlci5jIGIvdG9vbHMvbGlicy9saWdodC9s
aWJ4bF9ib290bG9hZGVyLmMKaW5kZXggMTA4MzI5YjRhNWJiLi4yM2MwZWYz
ZTg5MzUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9v
dGxvYWRlci5jCisrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxv
YWRlci5jCkBAIC0xNCw2ICsxNCw3IEBACiAKICNpbmNsdWRlICJsaWJ4bF9v
c2RlcHMuaCIgLyogbXVzdCBjb21lIGJlZm9yZSBhbnkgb3RoZXIgaGVhZGVy
cyAqLwogCisjaW5jbHVkZSA8cHdkLmg+CiAjaW5jbHVkZSA8dGVybWlvcy5o
PgogI2lmZGVmIEhBVkVfVVRNUF9ICiAjaW5jbHVkZSA8dXRtcC5oPgpAQCAt
NDIsOCArNDMsNzEgQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9hcmcobGli
eGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLCBjb25zdCBjaGFyICphcmcpCiAg
ICAgYmwtPmFyZ3NbYmwtPm5hcmdzKytdID0gYXJnOwogfQogCi1zdGF0aWMg
dm9pZCBtYWtlX2Jvb3Rsb2FkZXJfYXJncyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4
bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwsCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb25zdCBjaGFyICpib290bG9hZGVyX3BhdGgpCitz
dGF0aWMgaW50IGJvb3Rsb2FkZXJfdWlkKGxpYnhsX19nYyAqZ2MsIGRvbWlk
X3QgZ3Vlc3RfZG9taWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IGNoYXIgKnVzZXIsIHVpZF90ICppbnRlbmRlZF91aWQpCit7CisgICAg
c3RydWN0IHBhc3N3ZCAqdXNlcl9iYXNlLCB1c2VyX3B3YnVmOworICAgIGlu
dCByYzsKKworICAgIGlmICh1c2VyKSB7CisgICAgICAgIHJjID0gdXNlcmxv
b2t1cF9oZWxwZXJfZ2V0cHduYW0oZ2MsIHVzZXIsICZ1c2VyX3B3YnVmLCAm
dXNlcl9iYXNlKTsKKyAgICAgICAgaWYgKHJjKSByZXR1cm4gcmM7CisKKyAg
ICAgICAgaWYgKCF1c2VyX2Jhc2UpIHsKKyAgICAgICAgICAgIExPR0QoRVJS
T1IsIGd1ZXN0X2RvbWlkLCAiQ291bGRuJ3QgZmluZCB1c2VyICVzIiwgdXNl
cik7CisgICAgICAgICAgICByZXR1cm4gRVJST1JfSU5WQUw7CisgICAgICAg
IH0KKworICAgICAgICAqaW50ZW5kZWRfdWlkID0gdXNlcl9iYXNlLT5wd191
aWQ7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIC8qIFJlLXVz
ZSBRRU1VIHVzZXIgcmFuZ2UgZm9yIHRoZSBib290bG9hZGVyLiAqLworICAg
IHJjID0gdXNlcmxvb2t1cF9oZWxwZXJfZ2V0cHduYW0oZ2MsIExJQlhMX1FF
TVVfVVNFUl9SQU5HRV9CQVNFLAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgJnVzZXJfcHdidWYsICZ1c2VyX2Jhc2UpOworICAgIGlm
IChyYykgcmV0dXJuIHJjOworCisgICAgaWYgKHVzZXJfYmFzZSkgeworICAg
ICAgICBzdHJ1Y3QgcGFzc3dkICp1c2VyX2NsYXNoLCB1c2VyX2NsYXNoX3B3
YnVmOworICAgICAgICB1aWRfdCB0ZW1wX3VpZCA9IHVzZXJfYmFzZS0+cHdf
dWlkICsgZ3Vlc3RfZG9taWQ7CisKKyAgICAgICAgcmMgPSB1c2VybG9va3Vw
X2hlbHBlcl9nZXRwd3VpZChnYywgdGVtcF91aWQsICZ1c2VyX2NsYXNoX3B3
YnVmLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICZ1c2VyX2NsYXNoKTsKKyAgICAgICAgaWYgKHJjKSByZXR1cm4gcmM7CisK
KyAgICAgICAgaWYgKHVzZXJfY2xhc2gpIHsKKyAgICAgICAgICAgIExPR0Qo
RVJST1IsIGd1ZXN0X2RvbWlkLAorICAgICAgICAgICAgICAgICAid2FudGVk
IHRvIHVzZSB1aWQgJWxkICglcyArICVkKSBidXQgdGhhdCBpcyB1c2VyICVz
ICEiLAorICAgICAgICAgICAgICAgICAobG9uZyl0ZW1wX3VpZCwgTElCWExf
UUVNVV9VU0VSX1JBTkdFX0JBU0UsCisgICAgICAgICAgICAgICAgIGd1ZXN0
X2RvbWlkLCB1c2VyX2NsYXNoLT5wd19uYW1lKTsKKyAgICAgICAgICAgIHJl
dHVybiBFUlJPUl9JTlZBTDsKKyAgICAgICAgfQorCisgICAgICAgICppbnRl
bmRlZF91aWQgPSB0ZW1wX3VpZDsKKyAgICAgICAgcmV0dXJuIDA7CisgICAg
fQorCisgICAgcmMgPSB1c2VybG9va3VwX2hlbHBlcl9nZXRwd25hbShnYywg
TElCWExfUUVNVV9VU0VSX1NIQVJFRCwgJnVzZXJfcHdidWYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdXNlcl9iYXNlKTsKKyAg
ICBpZiAocmMpIHJldHVybiByYzsKKworICAgIGlmICh1c2VyX2Jhc2UpIHsK
KyAgICAgICAgTE9HRChXQVJOLCBndWVzdF9kb21pZCwgIkNvdWxkIG5vdCBm
aW5kIHVzZXIgJXMsIGZhbGxpbmcgYmFjayB0byAlcyIsCisgICAgICAgICAg
ICAgTElCWExfUUVNVV9VU0VSX1JBTkdFX0JBU0UsIExJQlhMX1FFTVVfVVNF
Ul9TSEFSRUQpOworICAgICAgICAqaW50ZW5kZWRfdWlkID0gdXNlcl9iYXNl
LT5wd191aWQ7CisKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
TE9HRChFUlJPUiwgZ3Vlc3RfZG9taWQsCisgICAgIkNvdWxkIG5vdCBmaW5k
IHVzZXIgJXMgb3IgcmFuZ2UgYmFzZSBwc2V1ZG8tdXNlciAlcywgY2Fubm90
IHJlc3RyaWN0IiwKKyAgICAgICAgIExJQlhMX1FFTVVfVVNFUl9TSEFSRUQs
IExJQlhMX1FFTVVfVVNFUl9SQU5HRV9CQVNFKTsKKworICAgIHJldHVybiBF
UlJPUl9JTlZBTDsKK30KKworc3RhdGljIGludCBtYWtlX2Jvb3Rsb2FkZXJf
YXJncyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAq
YmwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmJvb3Rsb2FkZXJfcGF0aCkKIHsKICAgICBjb25zdCBsaWJ4bF9kb21h
aW5fYnVpbGRfaW5mbyAqaW5mbyA9IGJsLT5pbmZvOwogCkBAIC02MSw2ICsx
MjUsMjMgQEAgc3RhdGljIHZvaWQgbWFrZV9ib290bG9hZGVyX2FyZ3MobGli
eGxfX2djICpnYywgbGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLAogICAg
ICAgICBBUkcoR0NTUFJJTlRGKCItLXJhbWRpc2s9JXMiLCBpbmZvLT5yYW1k
aXNrKSk7CiAgICAgaWYgKGluZm8tPmNtZGxpbmUgJiYgKmluZm8tPmNtZGxp
bmUgIT0gJ1wwJykKICAgICAgICAgQVJHKEdDU1BSSU5URigiLS1hcmdzPSVz
IiwgaW5mby0+Y21kbGluZSkpOworICAgIGlmIChnZXRlbnYoIkxJQlhMX0JP
T1RMT0FERVJfUkVTVFJJQ1QiKSB8fAorICAgICAgICBnZXRlbnYoIkxJQlhM
X0JPT1RMT0FERVJfVVNFUiIpKSB7CisgICAgICAgIHVpZF90IHVpZCA9IC0x
OworICAgICAgICBpbnQgcmMgPSBib290bG9hZGVyX3VpZChnYywgYmwtPmRv
bWlkLCBnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfVVNFUiIpLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmdWlkKTsKKworICAgICAgICBp
ZiAocmMpIHJldHVybiByYzsKKworICAgICAgICBhc3NlcnQodWlkICE9IC0x
KTsKKyAgICAgICAgaWYgKCF1aWQpIHsKKyAgICAgICAgICAgIExPR0QoRVJS
T1IsIGJsLT5kb21pZCwgImJvb3Rsb2FkZXIgcmVzdHJpY3QgVUlEIGlzIDAg
KHJvb3QpISIpOworICAgICAgICAgICAgcmV0dXJuIEVSUk9SX0lOVkFMOwor
ICAgICAgICB9CisgICAgICAgIExPR0QoREVCVUcsIGJsLT5kb21pZCwgInVz
aW5nIHVpZCAlbGQiLCAobG9uZyl1aWQpOworICAgICAgICBBUkcoR0NTUFJJ
TlRGKCItLXJ1bmFzPSVsZCIsIChsb25nKXVpZCkpOworICAgICAgICBBUkco
Ii0tcXVpZXQiKTsKKyAgICB9CiAKICAgICBBUkcoR0NTUFJJTlRGKCItLW91
dHB1dD0lcyIsIGJsLT5vdXRwdXRwYXRoKSk7CiAgICAgQVJHKCItLW91dHB1
dC1mb3JtYXQ9c2ltcGxlMCIpOwpAQCAtNzksNiArMTYwLDcgQEAgc3RhdGlj
IHZvaWQgbWFrZV9ib290bG9hZGVyX2FyZ3MobGlieGxfX2djICpnYywgbGli
eGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsLAogICAgIC8qIFNlbnRpbmVsIGZv
ciBleGVjdiAqLwogICAgIEFSRyhOVUxMKTsKIAorICAgIHJldHVybiAwOwog
I3VuZGVmIEFSRwogfQogCkBAIC00NDMsNyArNTI1LDggQEAgc3RhdGljIHZv
aWQgYm9vdGxvYWRlcl9kaXNrX2F0dGFjaGVkX2NiKGxpYnhsX19lZ2MgKmVn
YywKICAgICAgICAgICAgIGJvb3Rsb2FkZXIgPSBibHRtcDsKICAgICB9CiAK
LSAgICBtYWtlX2Jvb3Rsb2FkZXJfYXJncyhnYywgYmwsIGJvb3Rsb2FkZXIp
OworICAgIHJjID0gbWFrZV9ib290bG9hZGVyX2FyZ3MoZ2MsIGJsLCBib290
bG9hZGVyKTsKKyAgICBpZiAocmMpIGdvdG8gb3V0OwogCiAgICAgYmwtPm9w
ZW5wdHkuYW8gPSBhbzsKICAgICBibC0+b3BlbnB0eS5jYWxsYmFjayA9IGJv
b3Rsb2FkZXJfZ290cHR5czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfZG0uYyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfZG0uYwpp
bmRleCBmYzI2NGEzYTEzYTYuLjE0YjU5MzExMGY3YyAxMDA2NDQKLS0tIGEv
dG9vbHMvbGlicy9saWdodC9saWJ4bF9kbS5jCisrKyBiL3Rvb2xzL2xpYnMv
bGlnaHQvbGlieGxfZG0uYwpAQCAtODAsMTAgKzgwLDEwIEBAIHN0YXRpYyBp
bnQgbGlieGxfX2NyZWF0ZV9xZW11X2xvZ2ZpbGUobGlieGxfX2djICpnYywg
Y2hhciAqbmFtZSkKICAqICBPbiBlcnJvciwgcmV0dXJuIGEgbGlieGwtc3R5
bGUgZXJyb3IgY29kZS4KICAqLwogI2RlZmluZSBERUZJTkVfVVNFUkxPT0tV
UF9IRUxQRVIoTkFNRSxTUEVDX1RZUEUsU1RSVUNUTkFNRSxTWVNDT05GKSAg
ICAgXAotICAgIHN0YXRpYyBpbnQgdXNlcmxvb2t1cF9oZWxwZXJfIyNOQU1F
KGxpYnhsX19nYyAqZ2MsICAgICAgICAgICAgICAgICAgXAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQRUNfVFlQRSBzcGVj
LCAgICAgICAgICAgICAgICAgXAotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHN0cnVjdCBTVFJVQ1ROQU1FICpyZXN1bHRidWYs
ICAgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHN0cnVjdCBTVFJVQ1ROQU1FICoqb3V0KSAgICAgICAgXAorICAgIGludCB1
c2VybG9va3VwX2hlbHBlcl8jI05BTUUobGlieGxfX2djICpnYywgICAgICAg
ICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgU1BFQ19UWVBFIHNwZWMsICAgICAgICAgICAgICAgICAgICAg
ICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0
IFNUUlVDVE5BTUUgKnJlc3VsdGJ1ZiwgICAgICAgICAgXAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IFNUUlVDVE5BTUUgKipv
dXQpICAgICAgICAgICAgICAgXAogICAgIHsgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgICAgICBzdHJ1Y3QgU1RSVUNUTkFNRSAqcmVzdWx0cCA9IE5V
TEw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAogICAgICAgICBj
aGFyICpidWYgPSBOVUxMOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgXApkaWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9s
aWdodC9saWJ4bF9pbnRlcm5hbC5oIGIvdG9vbHMvbGlicy9saWdodC9saWJ4
bF9pbnRlcm5hbC5oCmluZGV4IDdhZDM4ZGUzMGUwYi4uZjFlM2E5YTE1YjEz
IDEwMDY0NAotLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2ludGVybmFs
LmgKKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9pbnRlcm5hbC5oCkBA
IC00ODczLDYgKzQ4NzMsMTQgQEAgc3RydWN0IGxpYnhsX19jcHVfcG9saWN5
IHsKICAgICBzdHJ1Y3QgeGNfbXNyICptc3I7CiB9OwogCitzdHJ1Y3QgcGFz
c3dkOworX2hpZGRlbiBpbnQgdXNlcmxvb2t1cF9oZWxwZXJfZ2V0cHduYW0o
bGlieGxfX2djKiwgY29uc3QgY2hhciAqdXNlciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBwYXNzd2QgKnJlcywK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj
dCBwYXNzd2QgKipvdXQpOworX2hpZGRlbiBpbnQgdXNlcmxvb2t1cF9oZWxw
ZXJfZ2V0cHd1aWQobGlieGxfX2djKiwgdWlkX3QgdWlkLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBhc3N3ZCAq
cmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
c3RydWN0IHBhc3N3ZCAqKm91dCk7CisKICNlbmRpZgogCiAvKgotLSAKMi40
Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-4.17-11.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-4.17-11.patch"
Content-Transfer-Encoding: base64

RnJvbSA5ZDQ4MDQyNmJmYTJjNjg4NDNhYzgzOTViNTEyZTA2ZmJkYmNmNTNl
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI4IFNlcCAy
MDIzIDEyOjIyOjM1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gbGli
eGw6IGxpbWl0IGJvb3Rsb2FkZXIgZXhlY3V0aW9uIGluIHJlc3RyaWN0ZWQg
bW9kZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxh
aW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
OGJpdAoKSW50cm9kdWNlIGEgdGltZW91dCBmb3IgYm9vdGxvYWRlciBleGVj
dXRpb24gd2hlbiBydW5uaW5nIGluIHJlc3RyaWN0ZWQgbW9kZS4KCkFsbG93
IG92ZXJ3cml0aW5nIHRoZSBkZWZhdWx0IHRpbWUgb3V0IHdpdGggYW4gZW52
aXJvbm1lbnQgcHJvdmlkZWQgdmFsdWUuCgpUaGlzIGlzIHBhcnQgb2YgWFNB
LTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQ
YXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6
IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgot
LS0KIGRvY3MvbWFuL3hsLjEucG9kLmluICAgICAgICAgICAgICAgIHwgIDgg
KysrKysrCiB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2Jvb3Rsb2FkZXIuYyB8
IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJz
L2xpZ2h0L2xpYnhsX2ludGVybmFsLmggICB8ICAyICsrCiAzIGZpbGVzIGNo
YW5nZWQsIDUwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2NzL21h
bi94bC4xLnBvZC5pbiBiL2RvY3MvbWFuL3hsLjEucG9kLmluCmluZGV4IDQ4
MzFlMTIyNDI3ZC4uYzNlYjY1NzBhYjhiIDEwMDY0NAotLS0gYS9kb2NzL21h
bi94bC4xLnBvZC5pbgorKysgYi9kb2NzL21hbi94bC4xLnBvZC5pbgpAQCAt
MTk4OCw2ICsxOTg4LDE0IEBAIE5PVEU6IEVhY2ggZG9tYWluIE1VU1QgaGF2
ZSBhIFNFUEFSQVRFIHVzZXJuYW1lLgogCiBTZWUgZG9jcy9mZWF0dXJlcy9x
ZW11LWRlcHJpdmlsZWdlLnBhbmRvYyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4K
IAorPWl0ZW0gTElCWExfQk9PVExPQURFUl9USU1FT1VUCisKK1RpbWVvdXQg
aW4gc2Vjb25kcyBmb3IgYm9vdGxvYWRlciBleGVjdXRpb24gd2hlbiBydW5u
aW5nIGluIHJlc3RyaWN0ZWQgbW9kZS4KK090aGVyd2lzZSB0aGUgYnVpbGQg
dGltZSBkZWZhdWx0IGluIExJQlhMX0JPT1RMT0FERVJfVElNRU9VVCB3aWxs
IGJlIHVzZWQuCisKK0lmIGRlZmluZWQgdGhlIHZhbHVlIG11c3QgYmUgYW4g
dW5zaWduZWQgaW50ZWdlciBiZXR3ZWVuIDAgYW5kIElOVF9NQVgsCitvdGhl
cndpc2UgYmVoYXZpb3IgaXMgdW5kZWZpbmVkLiAgU2V0dGluZyB0byAwIGRp
c2FibGVzIHRoZSB0aW1lb3V0LgorCiA9YmFjawogCiA9aGVhZDEgU0VFIEFM
U08KZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxv
YWRlci5jIGIvdG9vbHMvbGlicy9saWdodC9saWJ4bF9ib290bG9hZGVyLmMK
aW5kZXggMjNjMGVmM2U4OTM1Li5lZTI2ZDA4ZjM3NjUgMTAwNjQ0Ci0tLSBh
L3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxvYWRlci5jCisrKyBiL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfYm9vdGxvYWRlci5jCkBAIC0zMCw2ICsz
MCw4IEBAIHN0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfa2V5c3Ryb2tlc19jb3B5
ZmFpbChsaWJ4bF9fZWdjICplZ2MsCiAgICAgICAgbGlieGxfX2RhdGFjb3Bp
ZXJfc3RhdGUgKmRjLCBpbnQgcmMsIGludCBvbndyaXRlLCBpbnQgZXJybm92
YWwpOwogc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9kaXNwbGF5X2NvcHlmYWls
KGxpYnhsX19lZ2MgKmVnYywKICAgICAgICBsaWJ4bF9fZGF0YWNvcGllcl9z
dGF0ZSAqZGMsIGludCByYywgaW50IG9ud3JpdGUsIGludCBlcnJub3ZhbCk7
CitzdGF0aWMgdm9pZCBib290bG9hZGVyX3RpbWVvdXQobGlieGxfX2VnYyAq
ZWdjLCBsaWJ4bF9fZXZfdGltZSAqZXYsCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9h
YnMsIGludCByYyk7CiBzdGF0aWMgdm9pZCBib290bG9hZGVyX2RvbWFpbmRl
YXRoKGxpYnhsX19lZ2MqLCBsaWJ4bF9fZG9tYWluZGVhdGhjaGVjayAqZGMs
CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCByYyk7
CiBzdGF0aWMgdm9pZCBib290bG9hZGVyX2ZpbmlzaGVkKGxpYnhsX19lZ2Mg
KmVnYywgbGlieGxfX2V2X2NoaWxkICpjaGlsZCwKQEAgLTI5Nyw2ICsyOTks
NyBAQCB2b2lkIGxpYnhsX19ib290bG9hZGVyX2luaXQobGlieGxfX2Jvb3Rs
b2FkZXJfc3RhdGUgKmJsKQogICAgIGJsLT5wdHlzWzBdLm1hc3RlciA9IGJs
LT5wdHlzWzBdLnNsYXZlID0gMDsKICAgICBibC0+cHR5c1sxXS5tYXN0ZXIg
PSBibC0+cHR5c1sxXS5zbGF2ZSA9IDA7CiAgICAgbGlieGxfX2V2X2NoaWxk
X2luaXQoJmJsLT5jaGlsZCk7CisgICAgbGlieGxfX2V2X3RpbWVfaW5pdCgm
YmwtPnRpbWUpOwogICAgIGxpYnhsX19kb21haW5kZWF0aGNoZWNrX2luaXQo
JmJsLT5kZWF0aGNoZWNrKTsKICAgICBibC0+a2V5c3Ryb2tlcy5hbyA9IGJs
LT5hbzsgIGxpYnhsX19kYXRhY29waWVyX2luaXQoJmJsLT5rZXlzdHJva2Vz
KTsKICAgICBibC0+ZGlzcGxheS5hbyA9IGJsLT5hbzsgICAgIGxpYnhsX19k
YXRhY29waWVyX2luaXQoJmJsLT5kaXNwbGF5KTsKQEAgLTMxNCw2ICszMTcs
NyBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX2NsZWFudXAobGlieGxfX2Vn
YyAqZWdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwpCiAgICAgbGli
eGxfX2RvbWFpbmRlYXRoY2hlY2tfc3RvcChnYywmYmwtPmRlYXRoY2hlY2sp
OwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwoJmJsLT5rZXlzdHJva2Vz
KTsKICAgICBsaWJ4bF9fZGF0YWNvcGllcl9raWxsKCZibC0+ZGlzcGxheSk7
CisgICAgbGlieGxfX2V2X3RpbWVfZGVyZWdpc3RlcihnYywgJmJsLT50aW1l
KTsKICAgICBmb3IgKGk9MDsgaTwyOyBpKyspIHsKICAgICAgICAgbGlieGxf
X2NhcmVmZF9jbG9zZShibC0+cHR5c1tpXS5tYXN0ZXIpOwogICAgICAgICBs
aWJ4bF9fY2FyZWZkX2Nsb3NlKGJsLT5wdHlzW2ldLnNsYXZlKTsKQEAgLTM3
NSw2ICszNzksNyBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX3N0b3AobGli
eGxfX2VnYyAqZWdjLAogCiAgICAgbGlieGxfX2RhdGFjb3BpZXJfa2lsbCgm
YmwtPmtleXN0cm9rZXMpOwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwo
JmJsLT5kaXNwbGF5KTsKKyAgICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVy
KGdjLCAmYmwtPnRpbWUpOwogICAgIGlmIChsaWJ4bF9fZXZfY2hpbGRfaW51
c2UoJmJsLT5jaGlsZCkpIHsKICAgICAgICAgciA9IGtpbGwoYmwtPmNoaWxk
LnBpZCwgU0lHVEVSTSk7CiAgICAgICAgIGlmIChyKSBMT0dFRChXQVJOLCBi
bC0+ZG9taWQsICIlc2ZhaWxlZCB0byBraWxsIGJvb3Rsb2FkZXIgWyVsdV0i
LApAQCAtNjM3LDYgKzY0MiwyNSBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVy
X2dvdHB0eXMobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fb3BlbnB0eV9zdGF0
ZSAqb3ApCiAKICAgICBzdHJ1Y3QgdGVybWlvcyB0ZXJtYXR0cjsKIAorICAg
IGlmIChnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfUkVTVFJJQ1QiKSB8fAor
ICAgICAgICBnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfVVNFUiIpKSB7Cisg
ICAgICAgIGNvbnN0IGNoYXIgKnRpbWVvdXRfZW52ID0gZ2V0ZW52KCJMSUJY
TF9CT09UTE9BREVSX1RJTUVPVVQiKTsKKyAgICAgICAgaW50IHRpbWVvdXQg
PSB0aW1lb3V0X2VudiA/IGF0b2kodGltZW91dF9lbnYpCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOiBMSUJYTF9CT09UTE9BREVSX1RJ
TUVPVVQ7CisKKyAgICAgICAgaWYgKHRpbWVvdXQpIHsKKyAgICAgICAgICAg
IC8qIFNldCBleGVjdXRpb24gdGltZW91dCAqLworICAgICAgICAgICAgcmMg
PSBsaWJ4bF9fZXZfdGltZV9yZWdpc3Rlcl9yZWwoYW8sICZibC0+dGltZSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Ym9vdGxvYWRlcl90aW1lb3V0LAorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB0aW1lb3V0ICogMTAwMCk7CisgICAgICAg
ICAgICBpZiAocmMpIHsKKyAgICAgICAgICAgICAgICBMT0dFRChFUlJPUiwg
YmwtPmRvbWlkLAorICAgICAgICAgICAgICAgICAgICAgICJ1bmFibGUgdG8g
cmVnaXN0ZXIgdGltZW91dCBmb3IgYm9vdGxvYWRlciBleGVjdXRpb24iKTsK
KyAgICAgICAgICAgICAgICBnb3RvIG91dDsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIH0KKwogICAgIHBpZF90IHBpZCA9IGxpYnhsX19ldl9j
aGlsZF9mb3JrKGdjLCAmYmwtPmNoaWxkLCBib290bG9hZGVyX2ZpbmlzaGVk
KTsKICAgICBpZiAocGlkID09IC0xKSB7CiAgICAgICAgIHJjID0gRVJST1Jf
RkFJTDsKQEAgLTcwMiw2ICs3MjYsMjEgQEAgc3RhdGljIHZvaWQgYm9vdGxv
YWRlcl9kaXNwbGF5X2NvcHlmYWlsKGxpYnhsX19lZ2MgKmVnYywKICAgICBs
aWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAqYmwgPSBDT05UQUlORVJfT0YoZGMs
ICpibCwgZGlzcGxheSk7CiAgICAgYm9vdGxvYWRlcl9jb3B5ZmFpbChlZ2Ms
ICJib290bG9hZGVyIG91dHB1dCIsIGJsLCAxLCByYyxvbndyaXRlLGVycm5v
dmFsKTsKIH0KK3N0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfdGltZW91dChsaWJ4
bF9fZWdjICplZ2MsIGxpYnhsX19ldl90aW1lICpldiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVx
dWVzdGVkX2FicywgaW50IHJjKQoreworICAgIGxpYnhsX19ib290bG9hZGVy
X3N0YXRlICpibCA9IENPTlRBSU5FUl9PRihldiwgKmJsLCB0aW1lKTsKKyAg
ICBTVEFURV9BT19HQyhibC0+YW8pOworCisgICAgbGlieGxfX2V2X3RpbWVf
ZGVyZWdpc3RlcihnYywgJmJsLT50aW1lKTsKKworICAgIGFzc2VydChsaWJ4
bF9fZXZfY2hpbGRfaW51c2UoJmJsLT5jaGlsZCkpOworICAgIExPR0QoRVJS
T1IsIGJsLT5kb21pZCwgImtpbGxpbmcgYm9vdGxvYWRlciBiZWNhdXNlIG9m
IHRpbWVvdXQiKTsKKworICAgIGxpYnhsX19ldl9jaGlsZF9raWxsX2RlcmVn
aXN0ZXIoYW8sICZibC0+Y2hpbGQsIFNJR0tJTEwpOworCisgICAgYm9vdGxv
YWRlcl9jYWxsYmFjayhlZ2MsIGJsLCByYyk7Cit9CiAKIHN0YXRpYyB2b2lk
IGJvb3Rsb2FkZXJfZG9tYWluZGVhdGgobGlieGxfX2VnYyAqZWdjLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWlu
ZGVhdGhjaGVjayAqZGMsCkBAIC03MTgsNiArNzU3LDcgQEAgc3RhdGljIHZv
aWQgYm9vdGxvYWRlcl9maW5pc2hlZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhs
X19ldl9jaGlsZCAqY2hpbGQsCiAgICAgU1RBVEVfQU9fR0MoYmwtPmFvKTsK
ICAgICBpbnQgcmM7CiAKKyAgICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVy
KGdjLCAmYmwtPnRpbWUpOwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwo
JmJsLT5rZXlzdHJva2VzKTsKICAgICBsaWJ4bF9fZGF0YWNvcGllcl9raWxs
KCZibC0+ZGlzcGxheSk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfaW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxf
aW50ZXJuYWwuaAppbmRleCBmMWUzYTlhMTViMTMuLmQwNTc4MzYxN2ZmNSAx
MDA2NDQKLS0tIGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9pbnRlcm5hbC5o
CisrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfaW50ZXJuYWwuaApAQCAt
MTAyLDYgKzEwMiw3IEBACiAjZGVmaW5lIExJQlhMX1FNUF9DTURfVElNRU9V
VCAxMAogI2RlZmluZSBMSUJYTF9TVFVCRE9NX1NUQVJUX1RJTUVPVVQgMzAK
ICNkZWZpbmUgTElCWExfUUVNVV9CT0RHRV9USU1FT1VUIDIKKyNkZWZpbmUg
TElCWExfQk9PVExPQURFUl9USU1FT1VUIDEyMAogI2RlZmluZSBMSUJYTF9Y
RU5DT05TT0xFX0xJTUlUIDEwNDg1NzYKICNkZWZpbmUgTElCWExfWEVOQ09O
U09MRV9QUk9UT0NPTCAidnQxMDAiCiAjZGVmaW5lIExJQlhMX01BWE1FTV9D
T05TVEFOVCAxMDI0CkBAIC0zNzQ0LDYgKzM3NDUsNyBAQCBzdHJ1Y3QgbGli
eGxfX2Jvb3Rsb2FkZXJfc3RhdGUgewogICAgIGxpYnhsX19vcGVucHR5X3N0
YXRlIG9wZW5wdHk7CiAgICAgbGlieGxfX29wZW5wdHlfcmVzdWx0IHB0eXNb
Ml07ICAvKiBbMF0gaXMgZm9yIGJvb3Rsb2FkZXIgKi8KICAgICBsaWJ4bF9f
ZXZfY2hpbGQgY2hpbGQ7CisgICAgbGlieGxfX2V2X3RpbWUgdGltZTsKICAg
ICBsaWJ4bF9fZG9tYWluZGVhdGhjaGVjayBkZWF0aGNoZWNrOwogICAgIGlu
dCBuYXJncywgYXJnc3NwYWNlOwogICAgIGNvbnN0IGNoYXIgKiphcmdzOwot
LSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-04.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-04.patch"
Content-Transfer-Encoding: base64

RnJvbSA2ZTliZGU1ODNkZGUxYTU5MTE1MmVjNzRlZGVkZTg4ZDk5YThlOTBl
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBUaHUs
IDE0IFNlcCAyMDIzIDEzOjIyOjUzICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
NC8xMV0gbGliZnNpbWFnZS94ZnM6IEFkZCBjb21waWxlLXRpbWUgY2hlY2sg
dG8gbGliZnNpbWFnZQoKQWRkcyB0aGUgY29tbW9uIHRvb2xzIGluY2x1ZGUg
Zm9sZGVyIHRvIHRoZSAtSSBjb21waWxlIGZsYWdzCm9mIGxpYmZzaW1hZ2Uu
IFRoaXMgYWxsb3dzIHVzIHRvIHVzZToKICB4ZW4tdG9vbHMvY29tbW9uLW1h
Y3Jvcy5oOkJVSUxEX0JVR19PTigpCgpXaXRoIGl0LCBzdGF0aWNhbGx5IGFz
c2VydCBhIHNhbml0aXplZCAiYmxvY2tsb2cgLSBTRUNUT1JfQklUUyIgY2Fu
bm90CnVuZGVyZmxvdy4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDQzIC8gQ1ZF
LTIwMjMtMzQzMjUKClNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBWYWxsZWpv
IDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+ClJldmlld2VkLWJ5OiBK
YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQogdG9vbHMvbGli
ZnNpbWFnZS9jb21tb24ubWsgICAgICB8IDIgKy0KIHRvb2xzL2xpYmZzaW1h
Z2UveGZzL2ZzeXNfeGZzLmMgfCA0ICsrKy0KIDIgZmlsZXMgY2hhbmdlZCwg
NCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uLm1rIGIvdG9vbHMvbGliZnNpbWFn
ZS9jb21tb24ubWsKaW5kZXggNGZjOGM2Njc5NTk5Li5lNDMzNjgzN2QwNDUg
MTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uLm1rCisrKyBi
L3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uLm1rCkBAIC0xLDcgKzEsNyBAQAog
aW5jbHVkZSAkKFhFTl9ST09UKS90b29scy9SdWxlcy5tawogCiBGU0RJUiA6
PSAkKGxpYmRpcikveGVuZnNpbWFnZQotQ0ZMQUdTICs9IC1Xbm8tdW5rbm93
bi1wcmFnbWFzIC1JJChYRU5fUk9PVCkvdG9vbHMvbGliZnNpbWFnZS9jb21t
b24vIC1ERlNJTUFHRV9GU0RJUj1cIiQoRlNESVIpXCIKK0NGTEFHUyArPSAt
V25vLXVua25vd24tcHJhZ21hcyAtSSQoWEVOX1JPT1QpL3Rvb2xzL2xpYmZz
aW1hZ2UvY29tbW9uLyAkKENGTEFHU194ZW5pbmNsdWRlKSAtREZTSU1BR0Vf
RlNESVI9XCIkKEZTRElSKVwiCiBDRkxBR1MgKz0gLURfR05VX1NPVVJDRQog
TERGTEFHUyArPSAtTC4uL2NvbW1vbi8KIApkaWZmIC0tZ2l0IGEvdG9vbHMv
bGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
eGZzL2ZzeXNfeGZzLmMKaW5kZXggYjVjNTNkM2QyMjJiLi5lOThiMzY3OTAx
YTggMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UveGZzL2ZzeXNfeGZz
LmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS94ZnMvZnN5c194ZnMuYwpAQCAt
MjAsNiArMjAsNyBAQAogI2luY2x1ZGUgPHN0ZGRlZi5oPgogI2luY2x1ZGUg
PHN0ZGJvb2wuaD4KICNpbmNsdWRlIDx4ZW5mc2ltYWdlX2dydWIuaD4KKyNp
bmNsdWRlIDx4ZW4tdG9vbHMvY29tbW9uLW1hY3Jvcy5oPgogI2luY2x1ZGUg
Inhmcy5oIgogCiAjZGVmaW5lIE1BWF9MSU5LX0NPVU5UCTgKQEAgLTQ3NSw5
ICs0NzYsMTAgQEAgeGZzX21vdW50IChmc2lfZmlsZV90ICpmZmksIGNvbnN0
IGNoYXIgKm9wdGlvbnMpCiAJeGZzLmFnYmxrbG9nID0gc3VwZXIuc2JfYWdi
bGtsb2c7CiAKIAkvKiBEZXJpdmVkIGZyb20gc2FuaXRpemVkIHBhcmFtZXRl
cnMgKi8KKwlCVUlMRF9CVUdfT04oWEZTX1NCX0JMT0NLTE9HX01JTiA8IFNF
Q1RPUl9CSVRTKTsKKwl4ZnMuYmRsb2cgPSBzdXBlci5zYl9ibG9ja2xvZyAt
IFNFQ1RPUl9CSVRTOwogCXhmcy5ic2l6ZSA9IDEgPDwgc3VwZXIuc2JfYmxv
Y2tsb2c7CiAJeGZzLmJsa2xvZyA9IHN1cGVyLnNiX2Jsb2NrbG9nOwotCXhm
cy5iZGxvZyA9IHN1cGVyLnNiX2Jsb2NrbG9nIC0gU0VDVE9SX0JJVFM7CiAJ
eGZzLmlzaXplID0gMSA8PCBzdXBlci5zYl9pbm9kZWxvZzsKIAl4ZnMuZGly
YnNpemUgPSAxIDw8IChzdXBlci5zYl9ibG9ja2xvZyArIHN1cGVyLnNiX2Rp
cmJsa2xvZyk7CiAJeGZzLmlub3BibG9nID0gc3VwZXIuc2JfYmxvY2tsb2cg
LSBzdXBlci5zYl9pbm9kZWxvZzsKLS0gCjIuNDIuMAoK

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-05.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-05.patch"
Content-Transfer-Encoding: base64

RnJvbSAwYjJkYzI4Mzc1NjRmYzY1YmRkOTljMTlhY2ZhZjI3ODNiNDQ0OGFh
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIxICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
NS8xMV0gdG9vbHMvcHlncnViOiBSZW1vdmUgdW5uZWNlc3NhcnkgaHlwZXJj
YWxsCgpUaGVyZSdzIGEgaHlwZXJjYWxsIGJlaW5nIGlzc3VlZCBpbiBvcmRl
ciB0byBkZXRlcm1pbmUgd2hldGhlciBQVjY0IGlzCnN1cHBvcnRlZCwgYnV0
IHNpbmNlIFhlbiA0LjMgdGhhdCdzIHN0cmljdGx5IHRydWUgc28gaXQncyBu
b3QgcmVxdWlyZWQuCgpQbHVzLCB0aGlzIHdheSB3ZSBjYW4gYXZvaWQgbWFw
cGluZyB0aGUgcHJpdmNtZCBpbnRlcmZhY2UgYWx0b2dldGhlciBpbiB0aGUK
ZGVwcml2IHB5Z3J1Yi4KClRoaXMgaXMgcGFydCBvZiBYU0EtNDQzIC8gQ1ZF
LTIwMjMtMzQzMjUKClNpZ25lZC1vZmYtYnk6IEFsZWphbmRybyBWYWxsZWpv
IDxhbGVqYW5kcm8udmFsbGVqb0BjbG91ZC5jb20+ClJldmlld2VkLWJ5OiBB
bmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0K
IHRvb2xzL3B5Z3J1Yi9zcmMvcHlncnViIHwgMTIgKy0tLS0tLS0tLS0tCiAx
IGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDExIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViIGIvdG9v
bHMvcHlncnViL3NyYy9weWdydWIKaW5kZXggYTc1OWQ5MGFkZTVlLi4wYmU2
NzIwY2UwMGIgMTAwNzU1Ci0tLSBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnVi
CisrKyBiL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViCkBAIC0xOCw3ICsxOCw2
IEBAIGltcG9ydCBvcywgc3lzLCBzdHJpbmcsIHN0cnVjdCwgdGVtcGZpbGUs
IHJlLCB0cmFjZWJhY2ssIHN0YXQsIGVycm5vCiBpbXBvcnQgY29weQogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCBwbGF0Zm9ybQotaW1wb3J0IHhlbi5sb3ds
ZXZlbC54YwogCiBpbXBvcnQgY3Vyc2VzLCBfY3Vyc2VzLCBjdXJzZXMudGV4
dHBhZCwgY3Vyc2VzLmFzY2lpCiBpbXBvcnQgZ2V0b3B0CkBAIC02NjgsMTQg
KzY2Nyw2IEBAIGRlZiBydW5fZ3J1YihmaWxlLCBlbnRyeSwgZnMsIGNmZ19h
cmdzKToKIAogICAgIHJldHVybiBncnViY2ZnCiAKLWRlZiBzdXBwb3J0czY0
Yml0UFZndWVzdCgpOgotICAgIHhjID0geGVuLmxvd2xldmVsLnhjLnhjKCkK
LSAgICBjYXBzID0geGMueGVuaW5mbygpWyd4ZW5fY2FwcyddLnNwbGl0KCIg
IikKLSAgICBmb3IgY2FwIGluIGNhcHM6Ci0gICAgICAgIGlmIGNhcCA9PSAi
eGVuLTMuMC14ODZfNjQiOgotICAgICAgICAgICAgcmV0dXJuIFRydWUKLSAg
ICByZXR1cm4gRmFsc2UKLQogIyBJZiBub3RoaW5nIGhhcyBiZWVuIHNwZWNp
ZmllZCwgbG9vayBmb3IgYSBTb2xhcmlzIGRvbVUuIElmIGZvdW5kLCBwZXJm
b3JtIHRoZQogIyBuZWNlc3NhcnkgdHdlYWtzLgogZGVmIHNuaWZmX3NvbGFy
aXMoZnMsIGNmZyk6CkBAIC02ODQsOCArNjc1LDcgQEAgZGVmIHNuaWZmX3Nv
bGFyaXMoZnMsIGNmZyk6CiAgICAgICAgIHJldHVybiBjZmcKIAogICAgIGlm
IG5vdCBjZmdbImtlcm5lbCJdOgotICAgICAgICBpZiBzdXBwb3J0czY0Yml0
UFZndWVzdCgpIGFuZCBcCi0gICAgICAgICAgZnMuZmlsZV9leGlzdHMoIi9w
bGF0Zm9ybS9pODZ4cHYva2VybmVsL2FtZDY0L3VuaXgiKToKKyAgICAgICAg
aWYgZnMuZmlsZV9leGlzdHMoIi9wbGF0Zm9ybS9pODZ4cHYva2VybmVsL2Ft
ZDY0L3VuaXgiKToKICAgICAgICAgICAgIGNmZ1sia2VybmVsIl0gPSAiL3Bs
YXRmb3JtL2k4Nnhwdi9rZXJuZWwvYW1kNjQvdW5peCIKICAgICAgICAgICAg
IGNmZ1sicmFtZGlzayJdID0gIi9wbGF0Zm9ybS9pODZwYy9hbWQ2NC9ib290
X2FyY2hpdmUiCiAgICAgICAgIGVsaWYgZnMuZmlsZV9leGlzdHMoIi9wbGF0
Zm9ybS9pODZ4cHYva2VybmVsL3VuaXgiKToKLS0gCjIuNDIuMAoK

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-06.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-06.patch"
Content-Transfer-Encoding: base64

RnJvbSBjNThiZDk2MDFhMDU3ZGFkNTZhNGY5M2NiZGNjMjk2YTQxNGE4Mjcx
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIyICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Ni8xMV0gdG9vbHMvcHlncnViOiBTbWFsbCByZWZhY3RvcnMKClNtYWxsIHRp
ZHkgdXAgdG8gZW5zdXJlIG91dHB1dF9kaXJlY3RvcnkgYWx3YXlzIGhhcyBh
IHRyYWlsaW5nICcvJyB0byBlYXNlCmNvbmNhdGVuYXRpbmcgcGF0aHMgYW5k
IHRoYXQgYG91dHB1dGAgY2FuIG9ubHkgYmUgYSBmaWxlbmFtZSBvciBOb25l
LgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAyMy0zNDMyNQoK
U2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFsZWphbmRyby52
YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFu
ZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvcHlncnViL3Ny
Yy9weWdydWIgfCAxMCArKysrKy0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNSBp
bnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3Rv
b2xzL3B5Z3J1Yi9zcmMvcHlncnViIGIvdG9vbHMvcHlncnViL3NyYy9weWdy
dWIKaW5kZXggMGJlNjcyMGNlMDBiLi5kMzFhYzAxODc4YTAgMTAwNzU1Ci0t
LSBhL3Rvb2xzL3B5Z3J1Yi9zcmMvcHlncnViCisrKyBiL3Rvb2xzL3B5Z3J1
Yi9zcmMvcHlncnViCkBAIC03OTMsNyArNzkzLDcgQEAgaWYgX19uYW1lX18g
PT0gIl9fbWFpbl9fIjoKICAgICBkZWJ1ZyA9IEZhbHNlCiAgICAgbm90X3Jl
YWxseSA9IEZhbHNlCiAgICAgb3V0cHV0X2Zvcm1hdCA9ICJzeHAiCi0gICAg
b3V0cHV0X2RpcmVjdG9yeSA9ICIvdmFyL3J1bi94ZW4vcHlncnViIgorICAg
IG91dHB1dF9kaXJlY3RvcnkgPSAiL3Zhci9ydW4veGVuL3B5Z3J1Yi8iCiAK
ICAgICAjIHdoYXQgd2FzIHBhc3NlZCBpbgogICAgIGluY2ZnID0geyAia2Vy
bmVsIjogTm9uZSwgInJhbWRpc2siOiBOb25lLCAiYXJncyI6ICIiIH0KQEAg
LTgxNSw3ICs4MTUsOCBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgog
ICAgICAgICAgICAgdXNhZ2UoKQogICAgICAgICAgICAgc3lzLmV4aXQoKQog
ICAgICAgICBlbGlmIG8gaW4gKCItLW91dHB1dCIsKToKLSAgICAgICAgICAg
IG91dHB1dCA9IGEKKyAgICAgICAgICAgIGlmIGEgIT0gIi0iOgorICAgICAg
ICAgICAgICAgIG91dHB1dCA9IGEKICAgICAgICAgZWxpZiBvIGluICgiLS1r
ZXJuZWwiLCk6CiAgICAgICAgICAgICBpbmNmZ1sia2VybmVsIl0gPSBhCiAg
ICAgICAgIGVsaWYgbyBpbiAoIi0tcmFtZGlzayIsKToKQEAgLTg0NywxMiAr
ODQ4LDExIEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgICAg
ICAgICBpZiBub3Qgb3MucGF0aC5pc2RpcihhKToKICAgICAgICAgICAgICAg
ICBwcmludCgiJXMgaXMgbm90IGFuIGV4aXN0aW5nIGRpcmVjdG9yeSIgJSBh
KQogICAgICAgICAgICAgICAgIHN5cy5leGl0KDEpCi0gICAgICAgICAgICBv
dXRwdXRfZGlyZWN0b3J5ID0gYQorICAgICAgICAgICAgb3V0cHV0X2RpcmVj
dG9yeSA9IGEgKyAnLycKIAogICAgIGlmIGRlYnVnOgogICAgICAgICBsb2dn
aW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuREVCVUcpCiAKLQogICAg
IHRyeToKICAgICAgICAgb3MubWFrZWRpcnMob3V0cHV0X2RpcmVjdG9yeSwg
MG83MDApCiAgICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKQEAgLTg2MSw3ICs4
NjEsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgICAgICBl
bHNlOgogICAgICAgICAgICAgcmFpc2UKIAotICAgIGlmIG91dHB1dCBpcyBO
b25lIG9yIG91dHB1dCA9PSAiLSI6CisgICAgaWYgb3V0cHV0IGlzIE5vbmU6
CiAgICAgICAgIGZkID0gc3lzLnN0ZG91dC5maWxlbm8oKQogICAgIGVsc2U6
CiAgICAgICAgIGZkID0gb3Mub3BlbihvdXRwdXQsIG9zLk9fV1JPTkxZKQot
LSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-07.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-07.patch"
Content-Transfer-Encoding: base64

RnJvbSAzYWZkNGIyZWU2YjNlZjg4NDNjNDZhMzgxZDk2NGUwZDZiODdjMmY4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjIzICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
Ny8xMV0gdG9vbHMvcHlncnViOiBPcGVuIHRoZSBvdXRwdXQgZmlsZXMgZWFy
bGllcgoKVGhpcyBwYXRjaCBhbGxvd3MgcHlncnViIHRvIGdldCBhaG9sZCBv
ZiBldmVyeSBSVyBmaWxlIGRlc2NyaXB0b3IgaXQgbmVlZHMKZWFybHkgb24u
IEEgbGF0ZXIgcGF0Y2ggd2lsbCBjbGFtcCB0aGUgZmlsZXN5c3RlbSBpdCBj
YW4gYWNjZXNzIHNvIGl0IGNhbid0Cm9idGFpbiBhbnkgb3RoZXJzLgoKVGhp
cyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUtMjAyMy0zNDMyNQoKU2lnbmVk
LW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8gPGFsZWphbmRyby52YWxsZWpv
QGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5j
b29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9vbHMvcHlncnViL3NyYy9weWdy
dWIgfCAzNyArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0t
CiAxIGZpbGUgY2hhbmdlZCwgMjIgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRp
b25zKC0pCgpkaWZmIC0tZ2l0IGEvdG9vbHMvcHlncnViL3NyYy9weWdydWIg
Yi90b29scy9weWdydWIvc3JjL3B5Z3J1YgppbmRleCBkMzFhYzAxODc4YTAu
LmIwZWY1ZGEzODdiMSAxMDA3NTUKLS0tIGEvdG9vbHMvcHlncnViL3NyYy9w
eWdydWIKKysrIGIvdG9vbHMvcHlncnViL3NyYy9weWdydWIKQEAgLTczOCw4
ICs3MzgsNyBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgIGRl
ZiB1c2FnZSgpOgogICAgICAgICBwcmludCgiVXNhZ2U6ICVzIFstcXwtLXF1
aWV0XSBbLWl8LS1pbnRlcmFjdGl2ZV0gWy1sfC0tbGlzdC1lbnRyaWVzXSBb
LW58LS1ub3QtcmVhbGx5XSBbLS1vdXRwdXQ9XSBbLS1rZXJuZWw9XSBbLS1y
YW1kaXNrPV0gWy0tYXJncz1dIFstLWVudHJ5PV0gWy0tb3V0cHV0LWRpcmVj
dG9yeT1dIFstLW91dHB1dC1mb3JtYXQ9c3hwfHNpbXBsZXxzaW1wbGUwXSBb
LS1vZmZzZXQ9XSA8aW1hZ2U+IiAlKHN5cy5hcmd2WzBdLCksIGZpbGU9c3lz
LnN0ZGVycikKIAotICAgIGRlZiBjb3B5X2Zyb21faW1hZ2UoZnMsIGZpbGVf
dG9fcmVhZCwgZmlsZV90eXBlLCBvdXRwdXRfZGlyZWN0b3J5LAotICAgICAg
ICAgICAgICAgICAgICAgICAgbm90X3JlYWxseSk6CisgICAgZGVmIGNvcHlf
ZnJvbV9pbWFnZShmcywgZmlsZV90b19yZWFkLCBmaWxlX3R5cGUsIGZkX2Rz
dCwgcGF0aF9kc3QsIG5vdF9yZWFsbHkpOgogICAgICAgICBpZiBub3RfcmVh
bGx5OgogICAgICAgICAgICAgaWYgZnMuZmlsZV9leGlzdHMoZmlsZV90b19y
ZWFkKToKICAgICAgICAgICAgICAgICByZXR1cm4gIjwlczolcz4iICUgKGZp
bGVfdHlwZSwgZmlsZV90b19yZWFkKQpAQCAtNzUwLDIxICs3NDksMTggQEAg
aWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAgICAgZXhjZXB0IEV4
Y2VwdGlvbiBhcyBlOgogICAgICAgICAgICAgcHJpbnQoZSwgZmlsZT1zeXMu
c3RkZXJyKQogICAgICAgICAgICAgc3lzLmV4aXQoIkVycm9yIG9wZW5pbmcg
JXMgaW4gZ3Vlc3QiICUgZmlsZV90b19yZWFkKQotICAgICAgICAodGZkLCBy
ZXQpID0gdGVtcGZpbGUubWtzdGVtcChwcmVmaXg9ImJvb3RfIitmaWxlX3R5
cGUrIi4iLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBkaXI9b3V0cHV0X2RpcmVjdG9yeSkKICAgICAgICAgZGF0YW9mZiA9IDAK
ICAgICAgICAgd2hpbGUgVHJ1ZToKICAgICAgICAgICAgIGRhdGEgPSBkYXRh
ZmlsZS5yZWFkKEZTX1JFQURfTUFYLCBkYXRhb2ZmKQogICAgICAgICAgICAg
aWYgbGVuKGRhdGEpID09IDA6Ci0gICAgICAgICAgICAgICAgb3MuY2xvc2Uo
dGZkKQorICAgICAgICAgICAgICAgIG9zLmNsb3NlKGZkX2RzdCkKICAgICAg
ICAgICAgICAgICBkZWwgZGF0YWZpbGUKLSAgICAgICAgICAgICAgICByZXR1
cm4gcmV0CisgICAgICAgICAgICAgICAgcmV0dXJuCiAgICAgICAgICAgICB0
cnk6Ci0gICAgICAgICAgICAgICAgb3Mud3JpdGUodGZkLCBkYXRhKQorICAg
ICAgICAgICAgICAgIG9zLndyaXRlKGZkX2RzdCwgZGF0YSkKICAgICAgICAg
ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgICBw
cmludChlLCBmaWxlPXN5cy5zdGRlcnIpCi0gICAgICAgICAgICAgICAgb3Mu
Y2xvc2UodGZkKQotICAgICAgICAgICAgICAgIG9zLnVubGluayhyZXQpCisg
ICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfZHN0KQogICAgICAgICAg
ICAgICAgIGRlbCBkYXRhZmlsZQogICAgICAgICAgICAgICAgIHN5cy5leGl0
KCJFcnJvciB3cml0aW5nIHRlbXBvcmFyeSBjb3B5IG9mICIrZmlsZV90eXBl
KQogICAgICAgICAgICAgZGF0YW9mZiArPSBsZW4oZGF0YSkKQEAgLTg2MSw2
ICs4NTcsMTQgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICAg
ICAgZWxzZToKICAgICAgICAgICAgIHJhaXNlCiAKKyAgICBpZiBub3RfcmVh
bGx5OgorICAgICAgICBmZF9rZXJuZWwgPSAgcGF0aF9rZXJuZWwgPSBmZF9y
YW1kaXNrID0gcGF0aF9yYW1kaXNrID0gTm9uZQorICAgIGVsc2U6CisgICAg
ICAgIChmZF9rZXJuZWwsIHBhdGhfa2VybmVsKSA9IHRlbXBmaWxlLm1rc3Rl
bXAocHJlZml4PSJib290X2tlcm5lbC4iLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcj1vdXRwdXRf
ZGlyZWN0b3J5KQorICAgICAgICAoZmRfcmFtZGlzaywgcGF0aF9yYW1kaXNr
KSA9IHRlbXBmaWxlLm1rc3RlbXAocHJlZml4PSJib290X3JhbWRpc2suIiwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGRpcj1vdXRwdXRfZGlyZWN0b3J5KQorCiAgICAgaWYgb3V0
cHV0IGlzIE5vbmU6CiAgICAgICAgIGZkID0gc3lzLnN0ZG91dC5maWxlbm8o
KQogICAgIGVsc2U6CkBAIC05MjAsMjAgKzkyNCwyMyBAQCBpZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgogICAgIGlmIGZzIGlzIE5vbmU6CiAgICAgICAg
IHJhaXNlIFJ1bnRpbWVFcnJvcigiVW5hYmxlIHRvIGZpbmQgcGFydGl0aW9u
IGNvbnRhaW5pbmcga2VybmVsIikKIAotICAgIGJvb3RjZmdbImtlcm5lbCJd
ID0gY29weV9mcm9tX2ltYWdlKGZzLCBjaG9zZW5jZmdbImtlcm5lbCJdLCAi
a2VybmVsIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBvdXRwdXRfZGlyZWN0b3J5LCBub3RfcmVhbGx5KQorICAgIGNvcHlf
ZnJvbV9pbWFnZShmcywgY2hvc2VuY2ZnWyJrZXJuZWwiXSwgImtlcm5lbCIs
CisgICAgICAgICAgICAgICAgICAgIGZkX2tlcm5lbCwgcGF0aF9rZXJuZWws
IG5vdF9yZWFsbHkpCisgICAgYm9vdGNmZ1sia2VybmVsIl0gPSBwYXRoX2tl
cm5lbAogCiAgICAgaWYgY2hvc2VuY2ZnWyJyYW1kaXNrIl06CiAgICAgICAg
IHRyeToKLSAgICAgICAgICAgIGJvb3RjZmdbInJhbWRpc2siXSA9IGNvcHlf
ZnJvbV9pbWFnZShmcywgY2hvc2VuY2ZnWyJyYW1kaXNrIl0sCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInJh
bWRpc2siLCBvdXRwdXRfZGlyZWN0b3J5LAotICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdF9yZWFsbHkpCisg
ICAgICAgICAgICBjb3B5X2Zyb21faW1hZ2UoZnMsIGNob3NlbmNmZ1sicmFt
ZGlzayJdLCAicmFtZGlzayIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmRfcmFtZGlzaywgcGF0aF9yYW1kaXNrLCBub3RfcmVhbGx5KQogICAg
ICAgICBleGNlcHQ6CiAgICAgICAgICAgICBpZiBub3Qgbm90X3JlYWxseToK
LSAgICAgICAgICAgICAgICBvcy51bmxpbmsoYm9vdGNmZ1sia2VybmVsIl0p
CisgICAgICAgICAgICAgICAgb3MudW5saW5rKHBhdGhfa2VybmVsKQogICAg
ICAgICAgICAgcmFpc2UKKyAgICAgICAgYm9vdGNmZ1sicmFtZGlzayJdID0g
cGF0aF9yYW1kaXNrCiAgICAgZWxzZToKICAgICAgICAgaW5pdHJkID0gTm9u
ZQorICAgICAgICBpZiBub3Qgbm90X3JlYWxseToKKyAgICAgICAgICAgIG9z
LnVubGluayhwYXRoX3JhbWRpc2spCiAKICAgICBhcmdzID0gTm9uZQogICAg
IGlmIGNob3NlbmNmZ1siYXJncyJdOgotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-08.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-08.patch"
Content-Transfer-Encoding: base64

RnJvbSAwYjlmNjBmMmYzMGU4MDVkNzMwZGNiZmI1YjkwYTY4MThmNTY1YTlk
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjI0ICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
OC8xMV0gdG9vbHMvbGliZnNpbWFnZTogRXhwb3J0IGEgbmV3IGZ1bmN0aW9u
IHRvIHByZWxvYWQgYWxsCiBwbHVnaW5zCgpUaGlzIGlzIHdvcmsgcmVxdWly
ZWQgaW4gb3JkZXIgdG8gbGV0IHB5Z3J1YiBvcGVyYXRlIGluIGhpZ2hseSBk
ZXByaXZpbGVnZWQKY2hyb290IG1vZGUuIFRoaXMgcGF0Y2ggYWRkcyBhIGZ1
bmN0aW9uIHRoYXQgcHJlbG9hZHMgZXZlcnkgcGx1Z2luLCBoZW5jZQplbnN1
cmluZyB0aGF0IGEgb24gZnVuY3Rpb24gZXhpdCwgZXZlcnkgc2hhcmVkIGxp
YnJhcnkgaXMgbG9hZGVkIGluIG1lbW9yeS4KClRoZSBuZXcgImluaXQiIGZ1
bmN0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHVzZWQgYmVmb3JlIGRlcHJpdiwg
YnV0IHRoYXQncwpmaW5lIGJlY2F1c2UgaXQncyBub3QgYWN0aW5nIG9uIHVu
dHJ1c3RlZCBkYXRhLgoKVGhpcyBpcyBwYXJ0IG9mIFhTQS00NDMgLyBDVkUt
MjAyMy0zNDMyNQoKU2lnbmVkLW9mZi1ieTogQWxlamFuZHJvIFZhbGxlam8g
PGFsZWphbmRyby52YWxsZWpvQGNsb3VkLmNvbT4KQWNrZWQtYnk6IEFuZHJl
dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+Ci0tLQogdG9v
bHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFnZV9wbHVnaW4uYyB8ICA0ICsr
LS0KIHRvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtR05VICAgICAg
fCAgMSArCiB0b29scy9saWJmc2ltYWdlL2NvbW1vbi9tYXBmaWxlLVN1bk9T
ICAgIHwgIDEgKwogdG9vbHMvbGliZnNpbWFnZS9jb21tb24veGVuZnNpbWFn
ZS5oICAgICB8ICA4ICsrKysrKysrCiB0b29scy9weWdydWIvc3JjL2ZzaW1h
Z2UvZnNpbWFnZS5jICAgICAgIHwgMTUgKysrKysrKysrKysrKysrCiA1IGZp
bGVzIGNoYW5nZWQsIDI3IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvdG9vbHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFn
ZV9wbHVnaW4uYyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL2ZzaW1hZ2Vf
cGx1Z2luLmMKaW5kZXggZGUxNDEyYjQyMzNhLi5kMGNiOWU5NmE2NTQgMTAw
NjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL2ZzaW1hZ2VfcGx1
Z2luLmMKKysrIGIvdG9vbHMvbGliZnNpbWFnZS9jb21tb24vZnNpbWFnZV9w
bHVnaW4uYwpAQCAtMTE5LDcgKzExOSw3IEBAIGZhaWw6CiAJcmV0dXJuICgt
MSk7CiB9CiAKLXN0YXRpYyBpbnQgbG9hZF9wbHVnaW5zKHZvaWQpCitpbnQg
ZnNpX2luaXQodm9pZCkKIHsKIAljb25zdCBjaGFyICpmc2RpciA9IGdldGVu
digiWEVOX0ZTSU1BR0VfRlNESVIiKTsKIAlzdHJ1Y3QgZGlyZW50ICpkcCA9
IE5VTEw7CkBAIC0xODAsNyArMTgwLDcgQEAgaW50IGZpbmRfcGx1Z2luKGZz
aV90ICpmc2ksIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm9wdGlv
bnMpCiAJZnNpX3BsdWdpbl90ICpmcDsKIAlpbnQgcmV0ID0gMDsKIAotCWlm
IChwbHVnaW5zID09IE5VTEwgJiYgKHJldCA9IGxvYWRfcGx1Z2lucygpKSAh
PSAwKQorCWlmIChwbHVnaW5zID09IE5VTEwgJiYgKHJldCA9IGZzaV9pbml0
KCkpICE9IDApCiAJCWdvdG8gb3V0OwogCiAJZm9yIChmcCA9IHBsdWdpbnM7
IGZwICE9IE5VTEw7IGZwID0gZnAtPmZwX25leHQpIHsKZGlmZiAtLWdpdCBh
L3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtR05VIGIvdG9vbHMv
bGliZnNpbWFnZS9jb21tb24vbWFwZmlsZS1HTlUKaW5kZXggMjZkNGQ3YTY5
ZWM3Li4yZDU0ZDUyN2Q3ZjUgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYmZzaW1h
Z2UvY29tbW9uL21hcGZpbGUtR05VCisrKyBiL3Rvb2xzL2xpYmZzaW1hZ2Uv
Y29tbW9uL21hcGZpbGUtR05VCkBAIC0xLDYgKzEsNyBAQAogVkVSU0lPTiB7
CiAJbGliZnNpbWFnZS5zby4xLjAgewogCQlnbG9iYWw6CisJCQlmc2lfaW5p
dDsKIAkJCWZzaV9vcGVuX2ZzaW1hZ2U7CiAJCQlmc2lfY2xvc2VfZnNpbWFn
ZTsKIAkJCWZzaV9maWxlX2V4aXN0czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xp
YmZzaW1hZ2UvY29tbW9uL21hcGZpbGUtU3VuT1MgYi90b29scy9saWJmc2lt
YWdlL2NvbW1vbi9tYXBmaWxlLVN1bk9TCmluZGV4IGU5OWI5MGI2NTA3Ny4u
NDhkZWVkYjQyNTJmIDEwMDY0NAotLS0gYS90b29scy9saWJmc2ltYWdlL2Nv
bW1vbi9tYXBmaWxlLVN1bk9TCisrKyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29t
bW9uL21hcGZpbGUtU3VuT1MKQEAgLTEsNSArMSw2IEBACiBsaWJmc2ltYWdl
LnNvLjEuMCB7CiAJZ2xvYmFsOgorCQlmc2lfaW5pdDsKIAkJZnNpX29wZW5f
ZnNpbWFnZTsKIAkJZnNpX2Nsb3NlX2ZzaW1hZ2U7CiAJCWZzaV9maWxlX2V4
aXN0czsKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hl
bmZzaW1hZ2UuaCBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hlbmZzaW1h
Z2UuaAppbmRleCAyMDFhYmQ1NGYyM2EuLjM0MTg4M2IyZDcxYSAxMDA2NDQK
LS0tIGEvdG9vbHMvbGliZnNpbWFnZS9jb21tb24veGVuZnNpbWFnZS5oCisr
KyBiL3Rvb2xzL2xpYmZzaW1hZ2UvY29tbW9uL3hlbmZzaW1hZ2UuaApAQCAt
MzUsNiArMzUsMTQgQEAgZXh0ZXJuIEMgewogdHlwZWRlZiBzdHJ1Y3QgZnNp
IGZzaV90OwogdHlwZWRlZiBzdHJ1Y3QgZnNpX2ZpbGUgZnNpX2ZpbGVfdDsK
IAorLyoKKyAqIE9wdGlvbmFsIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uLiBJ
ZiBpbnZva2VkIGl0IGxvYWRzIHRoZSBhc3NvY2lhdGVkCisgKiBkeW5hbWlj
IGxpYnJhcmllcyBmb3IgdGhlIGJhY2tlbmRzIGFoZWFkIG9mIHRpbWUuIFRo
aXMgaXMgcmVxdWlyZWQgaWYKKyAqIHRoZSBsaWJyYXJ5IGlzIHRvIHJ1biBh
cyBwYXJ0IG9mIGEgaGlnaGx5IGRlcHJpdmlsZWdlZCBleGVjdXRhYmxlLCBh
cworICogdGhlIGxpYnJhcmllcyBtYXkgbm90IGJlIHJlYWNoYWJsZSBhZnRl
ciBkZXByaXYuCisgKi8KK2ludCBmc2lfaW5pdCh2b2lkKTsKKwogZnNpX3Qg
KmZzaV9vcGVuX2ZzaW1hZ2UoY29uc3QgY2hhciAqLCB1aW50NjRfdCwgY29u
c3QgY2hhciAqKTsKIHZvaWQgZnNpX2Nsb3NlX2ZzaW1hZ2UoZnNpX3QgKik7
CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL3B5Z3J1Yi9zcmMvZnNpbWFnZS9mc2lt
YWdlLmMgYi90b29scy9weWdydWIvc3JjL2ZzaW1hZ2UvZnNpbWFnZS5jCmlu
ZGV4IGZkY2ZhMWEzYzA0MC4uMTJkZmNmZjZlMzVkIDEwMDY0NAotLS0gYS90
b29scy9weWdydWIvc3JjL2ZzaW1hZ2UvZnNpbWFnZS5jCisrKyBiL3Rvb2xz
L3B5Z3J1Yi9zcmMvZnNpbWFnZS9mc2ltYWdlLmMKQEAgLTI4Niw2ICsyODYs
MTUgQEAgZnNpbWFnZV9nZXRib290c3RyaW5nKFB5T2JqZWN0ICpvLCBQeU9i
amVjdCAqYXJncykKIAlyZXR1cm4gUHlfQnVpbGRWYWx1ZSgicyIsIGJvb3Rz
dHJpbmcpOwogfQogCitzdGF0aWMgUHlPYmplY3QgKgorZnNpbWFnZV9pbml0
KFB5T2JqZWN0ICpvLCBQeU9iamVjdCAqYXJncykKK3sKKwlpZiAoIVB5QXJn
X1BhcnNlVHVwbGUoYXJncywgIiIpKQorCQlyZXR1cm4gKE5VTEwpOworCisJ
cmV0dXJuIFB5X0J1aWxkVmFsdWUoImkiLCBmc2lfaW5pdCgpKTsKK30KKwog
UHlEb2NfU1RSVkFSKGZzaW1hZ2Vfb3Blbl9fZG9jX18sCiAgICAgIm9wZW4o
bmFtZSwgW29mZnNldD1vZmZdKSAtIE9wZW4gdGhlIGdpdmVuIGZpbGUgYXMg
YSBmaWxlc3lzdGVtIGltYWdlLlxuIgogICAgICJcbiIKQEAgLTI5Nyw3ICsz
MDYsMTMgQEAgUHlEb2NfU1RSVkFSKGZzaW1hZ2VfZ2V0Ym9vdHN0cmluZ19f
ZG9jX18sCiAgICAgImdldGJvb3RzdHJpbmcoZnMpIC0gUmV0dXJuIHRoZSBi
b290IHN0cmluZyBuZWVkZWQgZm9yIHRoaXMgZmlsZSBzeXN0ZW0gIgogICAg
ICJvciBOVUxMIGlmIG5vbmUgaXMgbmVlZGVkLlxuIik7CiAKK1B5RG9jX1NU
UlZBUihmc2ltYWdlX2luaXRfX2RvY19fLAorICAgICJpbml0KCkgLSBMb2Fk
cyBldmVyeSBkeW5hbWljIGxpYnJhcnkgY29udGFpbmVkIGluIHhlbmZzaW1h
Z2UgIgorICAgICJpbnRvIG1lbW9yeSBzbyB0aGF0IGl0IGNhbiBiZSB1c2Vk
IGluIGNocm9vdGVkIGVudmlyb25tZW50cy5cbiIpOworCiBzdGF0aWMgc3Ry
dWN0IFB5TWV0aG9kRGVmIGZzaW1hZ2VfbW9kdWxlX21ldGhvZHNbXSA9IHsK
Kwl7ICJpbml0IiwgKFB5Q0Z1bmN0aW9uKWZzaW1hZ2VfaW5pdCwKKwkgICAg
TUVUSF9WQVJBUkdTLCBmc2ltYWdlX2luaXRfX2RvY19fIH0sCiAJeyAib3Bl
biIsIChQeUNGdW5jdGlvbilmc2ltYWdlX29wZW4sCiAJICAgIE1FVEhfVkFS
QVJHU3xNRVRIX0tFWVdPUkRTLCBmc2ltYWdlX29wZW5fX2RvY19fIH0sCiAJ
eyAiZ2V0Ym9vdHN0cmluZyIsIChQeUNGdW5jdGlvbilmc2ltYWdlX2dldGJv
b3RzdHJpbmcsCi0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-09.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-09.patch"
Content-Transfer-Encoding: base64

RnJvbSA5MTE5NDNmNDliYjQ0N2VmMWE2YzlkYWRmZDg0ODkxYTAyNDg2OTlj
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbGVqYW5kcm8gVmFs
bGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29tPgpEYXRlOiBNb24s
IDI1IFNlcCAyMDIzIDE4OjMyOjI1ICswMTAwClN1YmplY3Q6IFtQQVRDSCAw
OS8xMV0gdG9vbHMvcHlncnViOiBEZXByaXZpbGVnZSBweWdydWIKCkludHJv
ZHVjZSBhIC0tcnVuYXM9PHVpZD4gZmxhZyB0byBkZXByaXZpbGVnZSBweWdy
dWIgb24gTGludXggYW5kICpCU0RzLiBJdAphbHNvIGltcGxpY2l0bHkgY3Jl
YXRlcyBhIGNocm9vdCBlbnYgd2hlcmUgaXQgZHJvcHMgYSBkZXByaXZpbGVn
ZWQgZm9ya2VkCnByb2Nlc3MuIFRoZSBjaHJvb3QgaXRzZWxmIGlzIGNsZWFu
ZWQgdXAgYXQgdGhlIGVuZC4KCklmIHRoZSAtLXJ1bmFzIGFyZyBpcyBwcmVz
ZW50LCB0aGVuIHB5Z3J1YiBmb3JrcywgbGVhdmluZyB0aGUgY2hpbGQgdG8K
ZGVwcml2aWxlZ2UgaXRzZWxmLCBhbmQgd2FpdGluZyBmb3IgaXQgdG8gY29t
cGxldGUuIFdoZW4gdGhlIGNoaWxkIGV4aXN0cywKdGhlIHBhcmVudCBwZXJm
b3JtcyBjbGVhbnVwIGFuZCBleGl0cyB3aXRoIHRoZSBzYW1lIGVycm9yIGNv
ZGUuCgpUaGlzIGlzIHJvdWdobHkgd2hhdCB0aGUgY2hpbGQgZG9lczoKICAx
LiBJbml0aWFsaXplIGxpYmZzaW1hZ2UgKHRoaXMgbG9hZHMgZXZlcnkgLnNv
IGluIG1lbW9yeSBzbyB0aGUgY2hyb290CiAgICAgY2FuIGF2b2lkIGJpbmQt
bW91bnRpbmcgL3ssdXNyfS9saWIqCiAgMi4gQ3JlYXRlIGEgdGVtcG9yYXJ5
IGVtcHR5IGNocm9vdCBkaXJlY3RvcnkKICAzLiBNb3VudCB0bXBmcyBpbiBp
dAogIDQuIEJpbmQgbW91bnQgdGhlIGRpc2sgaW5zaWRlLCBiZWNhdXNlIGxp
YmZzaW1hZ2UgZXhwZWN0cyBhIHBhdGgsIG5vdCBhCiAgICAgZmlsZSBkZXNj
cmlwdG9yLgogIDUuIFJlbW91bnQgdGhlIHJvb3QgdG1wZnMgdG8gYmUgc3Ry
aWN0ZXIgKHJvLG5vc3VpZCxub2RldikKICA2LiBTZXQgUkxJTUlUX0ZTSVpF
IHRvIGEgc2Vuc2libHkgaGlnaCBhbW91bnQgKDEyOCBNaUIpCiAgNy4gRGVw
cml2IGdpZCwgZ3JvdXBzIGFuZCB1aWQKCldpdGggdGhpcyBzY2hlbWUgaW4g
cGxhY2UsIHRoZSAib3V0cHV0IiBmaWxlcyBhcmUgd3JpdGFibGUgKHVwIHRv
ClJMSU1JVF9GU0laRSBvY3RldHMpIGFuZCB0aGUgZXhwb3NlZCBmaWxlc3lz
dGVtIGlzIGltbXV0YWJsZSBhbmQgY29udGFpbnMKdGhlIHNpbmdsZSBvbmx5
IGZpbGUgd2UgY2FuJ3QgZWFzaWx5IGdldCByaWQgb2YgKHRoZSBkaXNrKS4K
CklmIHJ1bm5pbmcgb24gTGludXgsIHRoZSBjaGlsZCBwcm9jZXNzIGFsc28g
dW5zaGFyZXMgbW91bnQsIElQQywgYW5kCm5ldHdvcmsgbmFtZXNwYWNlcyBi
ZWZvcmUgZHJvcHBpbmcgaXRzIHByaXZpbGVnZXMuCgpUaGlzIGlzIHBhcnQg
b2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBB
bGVqYW5kcm8gVmFsbGVqbyA8YWxlamFuZHJvLnZhbGxlam9AY2xvdWQuY29t
PgpBY2tlZC1ieTogQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0
cml4LmNvbT4KLS0tCiB0b29scy9weWdydWIvc2V0dXAucHkgICB8ICAgMiAr
LQogdG9vbHMvcHlncnViL3NyYy9weWdydWIgfCAxNjIgKysrKysrKysrKysr
KysrKysrKysrKysrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2Vk
LCAxNTQgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEvdG9vbHMvcHlncnViL3NldHVwLnB5IGIvdG9vbHMvcHlncnViL3Nl
dHVwLnB5CmluZGV4IGM5Y2FjNDdlZWUxYS4uYmU1ZDNmZmQwNDFiIDEwMDY0
NAotLS0gYS90b29scy9weWdydWIvc2V0dXAucHkKKysrIGIvdG9vbHMvcHln
cnViL3NldHVwLnB5CkBAIC0yMCw3ICsyMCw3IEBAIHhlbmZzaW1hZ2UgPSBF
eHRlbnNpb24oInhlbmZzaW1hZ2UiLAogcGtncyA9IFsgJ2dydWInIF0KIAog
c2V0dXAobmFtZT0ncHlncnViJywKLSAgICAgIHZlcnNpb249JzAuNicsCisg
ICAgICB2ZXJzaW9uPScwLjcnLAogICAgICAgZGVzY3JpcHRpb249J0Jvb3Qg
bG9hZGVyIHRoYXQgbG9va3MgYSBsb3QgbGlrZSBncnViIGZvciBYZW4nLAog
ICAgICAgYXV0aG9yPSdKZXJlbXkgS2F0eicsCiAgICAgICBhdXRob3JfZW1h
aWw9J2thdHpqQHJlZGhhdC5jb20nLApkaWZmIC0tZ2l0IGEvdG9vbHMvcHln
cnViL3NyYy9weWdydWIgYi90b29scy9weWdydWIvc3JjL3B5Z3J1YgppbmRl
eCBiMGVmNWRhMzg3YjEuLmRjZGZjMDRmZjAwZiAxMDA3NTUKLS0tIGEvdG9v
bHMvcHlncnViL3NyYy9weWdydWIKKysrIGIvdG9vbHMvcHlncnViL3NyYy9w
eWdydWIKQEAgLTE2LDggKzE2LDExIEBAIGZyb20gX19mdXR1cmVfXyBpbXBv
cnQgcHJpbnRfZnVuY3Rpb24KIAogaW1wb3J0IG9zLCBzeXMsIHN0cmluZywg
c3RydWN0LCB0ZW1wZmlsZSwgcmUsIHRyYWNlYmFjaywgc3RhdCwgZXJybm8K
IGltcG9ydCBjb3B5CitpbXBvcnQgY3R5cGVzLCBjdHlwZXMudXRpbAogaW1w
b3J0IGxvZ2dpbmcKIGltcG9ydCBwbGF0Zm9ybQoraW1wb3J0IHJlc291cmNl
CitpbXBvcnQgc3VicHJvY2VzcwogCiBpbXBvcnQgY3Vyc2VzLCBfY3Vyc2Vz
LCBjdXJzZXMudGV4dHBhZCwgY3Vyc2VzLmFzY2lpCiBpbXBvcnQgZ2V0b3B0
CkBAIC0yNywxMCArMzAsMTM1IEBAIGltcG9ydCBncnViLkdydWJDb25mCiBp
bXBvcnQgZ3J1Yi5MaWxvQ29uZgogaW1wb3J0IGdydWIuRXh0TGludXhDb25m
CiAKLVBZR1JVQl9WRVIgPSAwLjYKK1BZR1JVQl9WRVIgPSAwLjcKIEZTX1JF
QURfTUFYID0gMTAyNCAqIDEwMjQKIFNFQ1RPUl9TSVpFID0gNTEyCiAKKyMg
VW5sZXNzIHByb3ZpZGVkIHRocm91Z2ggdGhlIGVudiB2YXJpYWJsZSBQWUdS
VUJfTUFYX0ZJTEVfU0laRV9NQiwgdGhlbgorIyB0aGlzIGlzIHRoZSBtYXhp
bXVtIGZpbGVzaXplIGFsbG93ZWQgZm9yIGZpbGVzIHdyaXR0ZW4gYnkgdGhl
IGRlcHJpdgorIyBweWdydWIKK0xJTUlUX0ZTSVpFID0gMTI4IDw8IDIwCisK
K0NMT05FX05FV05TID0gMHgwMDAyMDAwMCAjIG1vdW50IG5hbWVzcGFjZQor
Q0xPTkVfTkVXTkVUID0gMHg0MDAwMDAwMCAjIG5ldHdvcmsgbmFtZXNwYWNl
CitDTE9ORV9ORVdJUEMgPSAweDA4MDAwMDAwICMgSVBDIG5hbWVzcGFjZQor
CitkZWYgdW5zaGFyZShmbGFncyk6CisgICAgaWYgbm90IHN5cy5wbGF0Zm9y
bS5zdGFydHN3aXRoKCJsaW51eCIpOgorICAgICAgICBwcmludCgic2tpcF91
bnNoYXJlIHJlYXNvbj1ub3RfbGludXggcGxhdGZvcm09JXMiLCBzeXMucGxh
dGZvcm0sIGZpbGU9c3lzLnN0ZGVycikKKyAgICAgICAgcmV0dXJuCisKKyAg
ICBsaWJjID0gY3R5cGVzLkNETEwoY3R5cGVzLnV0aWwuZmluZF9saWJyYXJ5
KCdjJyksIHVzZV9lcnJubz1UcnVlKQorICAgIHVuc2hhcmVfcHJvdG90eXBl
ID0gY3R5cGVzLkNGVU5DVFlQRShjdHlwZXMuY19pbnQsIGN0eXBlcy5jX2lu
dCwgdXNlX2Vycm5vPVRydWUpCisgICAgdW5zaGFyZSA9IHVuc2hhcmVfcHJv
dG90eXBlKCgndW5zaGFyZScsIGxpYmMpKQorCisgICAgaWYgdW5zaGFyZShm
bGFncykgPCAwOgorICAgICAgICByYWlzZSBPU0Vycm9yKGN0eXBlcy5nZXRf
ZXJybm8oKSwgb3Muc3RyZXJyb3IoY3R5cGVzLmdldF9lcnJubygpKSkKKwor
ZGVmIGJpbmRfbW91bnQoc3JjLCBkc3QsIG9wdGlvbnMpOgorICAgIG9wZW4o
ZHN0LCAiYSIpLmNsb3NlKCkgIyB0b3VjaAorCisgICAgcmMgPSBzdWJwcm9j
ZXNzLmNhbGwoWyJtb3VudCIsICItLWJpbmQiLCAiLW8iLCBvcHRpb25zLCBz
cmMsIGRzdF0pCisgICAgaWYgcmMgIT0gMDoKKyAgICAgICAgcmFpc2UgUnVu
dGltZUVycm9yKCJiYWRfbW91bnQ6IHNyYz0lcyBkc3Q9JXMgb3B0cz0lcyIg
JQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNyYywgZHN0LCBvcHRp
b25zKSkKKworZGVmIGRvd25ncmFkZV9ybGltaXRzKCk6CisgICAgIyBXaXBl
IHRoZSBhdXRob3JpdHkgdG8gdXNlIHVucmVxdWlyZWQgcmVzb3VyY2VzCisg
ICAgcmVzb3VyY2Uuc2V0cmxpbWl0KHJlc291cmNlLlJMSU1JVF9OUFJPQywg
ICAgKDAsIDApKQorICAgIHJlc291cmNlLnNldHJsaW1pdChyZXNvdXJjZS5S
TElNSVRfQ09SRSwgICAgICgwLCAwKSkKKyAgICByZXNvdXJjZS5zZXRybGlt
aXQocmVzb3VyY2UuUkxJTUlUX01FTUxPQ0ssICAoMCwgMCkpCisKKyAgICAj
IHB5MidzIHJlc291cmNlIG1vZHVsZSBkb2Vzbid0IGtub3cgYWJvdXQgcmVz
b3VyY2UuUkxJTUlUX01TR1FVRVVFCisgICAgIworICAgICMgVE9ETzogVXNl
IHJlc291cmNlLlJMSU1JVF9NU0dRVUVVRSBhZnRlciBweXRob24yIGlzIGRl
cHJlY2F0ZWQKKyAgICBpZiBzeXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGlu
dXgnKToKKyAgICAgICAgUkxJTUlUX01TR1FVRVVFID0gMTIKKyAgICAgICAg
cmVzb3VyY2Uuc2V0cmxpbWl0KFJMSU1JVF9NU0dRVUVVRSwgKDAsIDApKQor
CisgICAgIyBUaGUgZmluYWwgbG9vayBvZiB0aGUgZmlsZXN5c3RlbSBmb3Ig
dGhpcyBwcm9jZXNzIGlzIGZ1bGx5IFJPLCBidXQKKyAgICAjIG5vdGUgd2Ug
aGF2ZSBzb21lIGZpbGUgZGVzY3JpcHRvciBhbHJlYWR5IG9wZW4gKG5vdGFi
bHksIGtlcm5lbCBhbmQKKyAgICAjIHJhbWRpc2spLiBJbiBvcmRlciB0byBh
dm9pZCBhIGNvbXByb21pc2VkIHB5Z3J1YiBmcm9tIGZpbGxpbmcgdXAgdGhl
CisgICAgIyBmaWxlc3lzdGVtIHdlIHNldCBSTElNSVRfRlNJWkUgdG8gYSBo
aWdoIGJvdW5kLCBzbyB0aGF0IHRoZSBmaWxlCisgICAgIyB3cml0ZSBwZXJt
aXNzaW9ucyBhcmUgYm91bmQuCisgICAgZnNpemUgPSBMSU1JVF9GU0laRQor
ICAgIGlmICJQWUdSVUJfTUFYX0ZJTEVfU0laRV9NQiIgaW4gb3MuZW52aXJv
bi5rZXlzKCk6CisgICAgICAgIGZzaXplID0gb3MuZW52aXJvblsiUFlHUlVC
X01BWF9GSUxFX1NJWkVfTUIiXSA8PCAyMAorCisgICAgcmVzb3VyY2Uuc2V0
cmxpbWl0KHJlc291cmNlLlJMSU1JVF9GU0laRSwgKGZzaXplLCBmc2l6ZSkp
CisKK2RlZiBkZXByaXYob3V0cHV0X2RpcmVjdG9yeSwgb3V0cHV0LCBkZXZp
Y2UsIHVpZCwgcGF0aF9rZXJuZWwsIHBhdGhfcmFtZGlzayk6CisgICAgIyBU
aGUgb25seSBwb2ludCBvZiB0aGlzIGNhbGwgaXMgdG8gZm9yY2UgdGhlIGxv
YWRpbmcgb2YgbGliZnNpbWFnZS4KKyAgICAjIFRoYXQgd2F5LCB3ZSBkb24n
dCBuZWVkIHRvIGJpbmQtbW91bnQgaXQgaW50byB0aGUgY2hyb290CisgICAg
cmMgPSB4ZW5mc2ltYWdlLmluaXQoKQorICAgIGlmIHJjICE9IDA6CisgICAg
ICAgIG9zLnVubGluayhwYXRoX3JhbWRpc2spCisgICAgICAgIG9zLnVubGlu
ayhwYXRoX2tlcm5lbCkKKyAgICAgICAgcmFpc2UgUnVudGltZUVycm9yKCJi
YWRfeGVuZnNpbWFnZTogcmM9JWQiICUgcmMpCisKKyAgICAjIENyZWF0ZSBh
IHRlbXBvcmFyeSBkaXJlY3RvcnkgZm9yIHRoZSBjaHJvb3QKKyAgICBjaHJv
b3QgPSB0ZW1wZmlsZS5ta2R0ZW1wKHByZWZpeD1zdHIodWlkKSsnLScsIGRp
cj1vdXRwdXRfZGlyZWN0b3J5KSArICcvJworICAgIGRldmljZV9wYXRoID0g
Jy9kZXZpY2UnCisKKyAgICBwaWQgPSBvcy5mb3JrKCkKKyAgICBpZiBwaWQ6
CisgICAgICAgICMgcGFyZW50CisgICAgICAgIF8sIHJjID0gb3Mud2FpdHBp
ZChwaWQsIDApCisKKyAgICAgICAgZm9yIHBhdGggaW4gW3BhdGhfa2VybmVs
LCBwYXRoX3JhbWRpc2tdOgorICAgICAgICAgICAgIyBJZiB0aGUgY2hpbGQg
ZGlkbid0IHdyaXRlIGFueXRoaW5nLCBqdXN0IGdldCByaWQgb2YgaXQsCisg
ICAgICAgICAgICAjIG90aGVyd2lzZSB3ZSBlbmQgdXAgY29uc3VtaW5nIGEg
MC1zaXplIGZpbGUgd2hlbiBwYXJzaW5nCisgICAgICAgICAgICAjIHN5c3Rl
bXMgd2l0aG91dCBhIHJhbWRpc2sgdGhhdCB0aGUgdWx0aW1hdGUgY2FsbGVy
IG9mIHB5Z3J1YgorICAgICAgICAgICAgIyBtYXkganVzdCBiZSB1bmF3YXJl
IG9mCisgICAgICAgICAgICBpZiByYyAhPSAwIG9yIG9zLnBhdGguZ2V0c2l6
ZShwYXRoKSA9PSAwOgorICAgICAgICAgICAgICAgIG9zLnVubGluayhwYXRo
KQorCisgICAgICAgICMgTm9ybWFsbHksIHVuc2hhcmUoQ0xPTkVfTkVXTlMp
IHdpbGwgZW5zdXJlIHRoaXMgaXMgbm90IHJlcXVpcmVkLgorICAgICAgICAj
IEhvd2V2ZXIsIHRoaXMgc3lzY2FsbCBkb2Vzbid0IGV4aXN0IGluICpCU0Qg
c3lzdGVtcyBhbmQgZG9lc24ndAorICAgICAgICAjIGF1dG8tdW5tb3VudCBl
dmVyeXRoaW5nIG9uIG9sZGVyIExpbnV4IGtlcm5lbHMgKEF0IGxlYXN0IGFz
IG9mCisgICAgICAgICMgTGludXggNC4xOSwgYnV0IGl0IHNlZW1zIGZpeGVk
IGluIDUuMTUpLiBFaXRoZXIgd2F5LAorICAgICAgICAjIHJlY3Vyc2l2ZWx5
IHVubW91bnQgZXZlcnl0aGluZyBpZiBuZWVkZWQuIFF1aWV0bHkuCisgICAg
ICAgIHdpdGggb3BlbignL2Rldi9udWxsJywgJ3cnKSBhcyBkZXZudWxsOgor
ICAgICAgICAgICAgc3VicHJvY2Vzcy5jYWxsKFsidW1vdW50IiwgIi1mIiwg
Y2hyb290ICsgZGV2aWNlX3BhdGhdLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIHN0ZG91dD1kZXZudWxsLCBzdGRlcnI9ZGV2bnVsbCkKKyAgICAg
ICAgICAgIHN1YnByb2Nlc3MuY2FsbChbInVtb3VudCIsICItZiIsIGNocm9v
dF0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Rkb3V0PWRldm51
bGwsIHN0ZGVycj1kZXZudWxsKQorICAgICAgICBvcy5ybWRpcihjaHJvb3Qp
CisKKyAgICAgICAgc3lzLmV4aXQocmMpCisKKyAgICAjIEJ5IHVuc2hhcmlu
ZyB0aGUgbmFtZXNwYWNlIHdlJ3JlIG1ha2luZyBzdXJlIGl0J3MgYWxsIGJ1
bGstcmVsZWFzZWQKKyAgICAjIGF0IHRoZSBlbmQsIHdoZW4gdGhlIG5hbWVz
cGFjZXMgZGlzYXBwZWFyLiBUaGlzIG1lYW5zIHRoZSBrZXJuZWwgZG9lcwor
ICAgICMgKGFsbW9zdCkgYWxsIHRoZSBjbGVhbnVwIGZvciB1cyBhbmQgdGhl
IHBhcmVudCBqdXN0IGhhcyB0byByZW1vdmUgdGhlCisgICAgIyB0ZW1wb3Jh
cnkgZGlyZWN0b3J5LgorICAgIHVuc2hhcmUoQ0xPTkVfTkVXTlMgfCBDTE9O
RV9ORVdJUEMgfCBDTE9ORV9ORVdORVQpCisKKyAgICAjIFNldCBzZW5zaWJs
ZSBsaW1pdHMgdXNpbmcgdGhlIHNldHJsaW1pdCBpbnRlcmZhY2UKKyAgICBk
b3duZ3JhZGVfcmxpbWl0cygpCisKKyAgICAjIFdlJ2xsIG1vdW50IHRtcGZz
IG9uIHRoZSBjaHJvb3QgdG8gZW5zdXJlIHRoZSBkZXByaXZpbGVnZWQgY2hp
bGQKKyAgICAjIGNhbm5vdCBhZmZlY3QgdGhlIHBlcnNpc3RlbnQgc3RhdGUu
IEl0J3MgUlcgbm93IGluIG9yZGVyIHRvCisgICAgIyBiaW5kLW1vdW50IHRo
ZSBkZXZpY2UsIGJ1dCBub3RlIGl0J3MgcmVtb3VudGVkIFJPIGFmdGVyIHRo
YXQuCisgICAgcmMgPSBzdWJwcm9jZXNzLmNhbGwoWyJtb3VudCIsICItdCIs
ICJ0bXBmcyIsICJub25lIiwgY2hyb290XSkKKyAgICBpZiByYyAhPSAwOgor
ICAgICAgICByYWlzZSBSdW50aW1lRXJyb3IoIm1vdW50X3RtcGZzIHJjPSVk
IGRzdD1cIiVzXCIiICUgKHJjLCBjaHJvb3QpKQorCisgICAgIyBCaW5kIHRo
ZSB1bnRydXN0ZWQgZGV2aWNlIFJPCisgICAgYmluZF9tb3VudChkZXZpY2Us
IGNocm9vdCArIGRldmljZV9wYXRoLCAicm8sbm9zdWlkLG5vZXhlYyIpCisK
KyAgICByYyA9IHN1YnByb2Nlc3MuY2FsbChbIm1vdW50IiwgIi10IiwgInRt
cGZzIiwgIi1vIiwgInJlbW91bnQscm8sbm9zdWlkLG5vZXhlYyxub2RldiIs
ICJub25lIiwgY2hyb290XSkKKyAgICBpZiByYyAhPSAwOgorICAgICAgICBy
YWlzZSBSdW50aW1lRXJyb3IoInJlbW91bnRfdG1wZnMgcmM9JWQgZHN0PVwi
JXNcIiIgJSAocmMsIGNocm9vdCkpCisKKyAgICAjIERyb3Agc3VwZXJwb3dl
cnMhCisgICAgb3MuY2hyb290KGNocm9vdCkKKyAgICBvcy5jaGRpcignLycp
CisgICAgb3Muc2V0Z2lkKHVpZCkKKyAgICBvcy5zZXRncm91cHMoW3VpZF0p
CisgICAgb3Muc2V0dWlkKHVpZCkKKworICAgIHJldHVybiBkZXZpY2VfcGF0
aAorCiBkZWYgcmVhZF9zaXplX3JvdW5kdXAoZmQsIHNpemUpOgogICAgIGlm
IHBsYXRmb3JtLnN5c3RlbSgpICE9ICdGcmVlQlNEJzoKICAgICAgICAgcmV0
dXJuIHNpemUKQEAgLTczNiw3ICs4NjQsNyBAQCBpZiBfX25hbWVfXyA9PSAi
X19tYWluX18iOgogICAgIHNlbCA9IE5vbmUKIAogICAgIGRlZiB1c2FnZSgp
OgotICAgICAgICBwcmludCgiVXNhZ2U6ICVzIFstcXwtLXF1aWV0XSBbLWl8
LS1pbnRlcmFjdGl2ZV0gWy1sfC0tbGlzdC1lbnRyaWVzXSBbLW58LS1ub3Qt
cmVhbGx5XSBbLS1vdXRwdXQ9XSBbLS1rZXJuZWw9XSBbLS1yYW1kaXNrPV0g
Wy0tYXJncz1dIFstLWVudHJ5PV0gWy0tb3V0cHV0LWRpcmVjdG9yeT1dIFst
LW91dHB1dC1mb3JtYXQ9c3hwfHNpbXBsZXxzaW1wbGUwXSBbLS1vZmZzZXQ9
XSA8aW1hZ2U+IiAlKHN5cy5hcmd2WzBdLCksIGZpbGU9c3lzLnN0ZGVycikK
KyAgICAgICAgcHJpbnQoIlVzYWdlOiAlcyBbLXF8LS1xdWlldF0gWy1pfC0t
aW50ZXJhY3RpdmVdIFstbHwtLWxpc3QtZW50cmllc10gWy1ufC0tbm90LXJl
YWxseV0gWy0tb3V0cHV0PV0gWy0ta2VybmVsPV0gWy0tcmFtZGlzaz1dIFst
LWFyZ3M9XSBbLS1lbnRyeT1dIFstLW91dHB1dC1kaXJlY3Rvcnk9XSBbLS1v
dXRwdXQtZm9ybWF0PXN4cHxzaW1wbGV8c2ltcGxlMF0gWy0tcnVuYXM9XSBb
LS1vZmZzZXQ9XSA8aW1hZ2U+IiAlKHN5cy5hcmd2WzBdLCksIGZpbGU9c3lz
LnN0ZGVycikKIAogICAgIGRlZiBjb3B5X2Zyb21faW1hZ2UoZnMsIGZpbGVf
dG9fcmVhZCwgZmlsZV90eXBlLCBmZF9kc3QsIHBhdGhfZHN0LCBub3RfcmVh
bGx5KToKICAgICAgICAgaWYgbm90X3JlYWxseToKQEAgLTc2MCw3ICs4ODgs
OCBAQCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgICAgICAgICAg
ICAgIG9zLndyaXRlKGZkX2RzdCwgZGF0YSkKICAgICAgICAgICAgIGV4Y2Vw
dCBFeGNlcHRpb24gYXMgZToKICAgICAgICAgICAgICAgICBwcmludChlLCBm
aWxlPXN5cy5zdGRlcnIpCi0gICAgICAgICAgICAgICAgb3MudW5saW5rKHBh
dGhfZHN0KQorICAgICAgICAgICAgICAgIGlmIHBhdGhfZHN0OgorICAgICAg
ICAgICAgICAgICAgICBvcy51bmxpbmsocGF0aF9kc3QpCiAgICAgICAgICAg
ICAgICAgZGVsIGRhdGFmaWxlCiAgICAgICAgICAgICAgICAgc3lzLmV4aXQo
IkVycm9yIHdyaXRpbmcgdGVtcG9yYXJ5IGNvcHkgb2YgIitmaWxlX3R5cGUp
CiAgICAgICAgICAgICBkYXRhb2ZmICs9IGxlbihkYXRhKQpAQCAtNzY5LDcg
Kzg5OCw3IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAgICAgICAg
IG9wdHMsIGFyZ3MgPSBnZXRvcHQuZ251X2dldG9wdChzeXMuYXJndlsxOl0s
ICdxaWxuaDo6JywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgWyJxdWlldCIsICJpbnRlcmFjdGl2ZSIsICJsaXN0LWVudHJpZXMiLCAi
bm90LXJlYWxseSIsICJoZWxwIiwKICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICJvdXRwdXQ9IiwgIm91dHB1dC1mb3JtYXQ9IiwgIm91
dHB1dC1kaXJlY3Rvcnk9IiwgIm9mZnNldD0iLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgImVudHJ5PSIsICJrZXJuZWw9IiwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJydW5hcz0iLCAi
ZW50cnk9IiwgImtlcm5lbD0iLAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgInJhbWRpc2s9IiwgImFyZ3M9IiwgImlzY29uZmlnIiwg
ImRlYnVnIl0pCiAgICAgZXhjZXB0IGdldG9wdC5HZXRvcHRFcnJvcjoKICAg
ICAgICAgdXNhZ2UoKQpAQCAtNzkwLDYgKzkxOSw3IEBAIGlmIF9fbmFtZV9f
ID09ICJfX21haW5fXyI6CiAgICAgbm90X3JlYWxseSA9IEZhbHNlCiAgICAg
b3V0cHV0X2Zvcm1hdCA9ICJzeHAiCiAgICAgb3V0cHV0X2RpcmVjdG9yeSA9
ICIvdmFyL3J1bi94ZW4vcHlncnViLyIKKyAgICB1aWQgPSBOb25lCiAKICAg
ICAjIHdoYXQgd2FzIHBhc3NlZCBpbgogICAgIGluY2ZnID0geyAia2VybmVs
IjogTm9uZSwgInJhbWRpc2siOiBOb25lLCAiYXJncyI6ICIiIH0KQEAgLTgx
Myw2ICs5NDMsMTMgQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAg
ICAgICAgZWxpZiBvIGluICgiLS1vdXRwdXQiLCk6CiAgICAgICAgICAgICBp
ZiBhICE9ICItIjoKICAgICAgICAgICAgICAgICBvdXRwdXQgPSBhCisgICAg
ICAgIGVsaWYgbyBpbiAoIi0tcnVuYXMiLCk6CisgICAgICAgICAgICB0cnk6
CisgICAgICAgICAgICAgICAgdWlkID0gaW50KGEpCisgICAgICAgICAgICBl
eGNlcHQgVmFsdWVFcnJvcjoKKyAgICAgICAgICAgICAgICBwcmludCgicnVu
YXMgdmFsdWUgbXVzdCBiZSBhbiBpbnRlZ2VyIHVzZXIgaWQiKQorICAgICAg
ICAgICAgICAgIHVzYWdlKCkKKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgx
KQogICAgICAgICBlbGlmIG8gaW4gKCItLWtlcm5lbCIsKToKICAgICAgICAg
ICAgIGluY2ZnWyJrZXJuZWwiXSA9IGEKICAgICAgICAgZWxpZiBvIGluICgi
LS1yYW1kaXNrIiwpOgpAQCAtODQ5LDYgKzk4NiwxMCBAQCBpZiBfX25hbWVf
XyA9PSAiX19tYWluX18iOgogICAgIGlmIGRlYnVnOgogICAgICAgICBsb2dn
aW5nLmJhc2ljQ29uZmlnKGxldmVsPWxvZ2dpbmcuREVCVUcpCiAKKyAgICBp
ZiBpbnRlcmFjdGl2ZSBhbmQgdWlkOgorICAgICAgICBwcmludCgiSW4gb3Jk
ZXIgdG8gdXNlIC0tcnVuYXMsIHlvdSBtdXN0IGFsc28gc2V0IC0tZW50cnkg
b3IgLXEiLCBmaWxlPXN5cy5zdGRlcnIpCisgICAgICAgIHN5cy5leGl0KDEp
CisKICAgICB0cnk6CiAgICAgICAgIG9zLm1ha2VkaXJzKG91dHB1dF9kaXJl
Y3RvcnksIDBvNzAwKQogICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CkBAIC04
NzAsNiArMTAxMSw5IEBAIGlmIF9fbmFtZV9fID09ICJfX21haW5fXyI6CiAg
ICAgZWxzZToKICAgICAgICAgZmQgPSBvcy5vcGVuKG91dHB1dCwgb3MuT19X
Uk9OTFkpCiAKKyAgICBpZiB1aWQ6CisgICAgICAgIGZpbGUgPSBkZXByaXYo
b3V0cHV0X2RpcmVjdG9yeSwgb3V0cHV0LCBmaWxlLCB1aWQsIHBhdGhfa2Vy
bmVsLCBwYXRoX3JhbWRpc2spCisKICAgICAjIGRlYnVnCiAgICAgaWYgaXNj
b25maWc6CiAgICAgICAgIGNob3NlbmNmZyA9IHJ1bl9ncnViKGZpbGUsIGVu
dHJ5LCBmcywgaW5jZmdbImFyZ3MiXSkKQEAgLTkyNSwyMSArMTA2OSwyMSBA
QCBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgICAgICByYWlzZSBS
dW50aW1lRXJyb3IoIlVuYWJsZSB0byBmaW5kIHBhcnRpdGlvbiBjb250YWlu
aW5nIGtlcm5lbCIpCiAKICAgICBjb3B5X2Zyb21faW1hZ2UoZnMsIGNob3Nl
bmNmZ1sia2VybmVsIl0sICJrZXJuZWwiLAotICAgICAgICAgICAgICAgICAg
ICBmZF9rZXJuZWwsIHBhdGhfa2VybmVsLCBub3RfcmVhbGx5KQorICAgICAg
ICAgICAgICAgICAgICBmZF9rZXJuZWwsIE5vbmUgaWYgdWlkIGVsc2UgcGF0
aF9rZXJuZWwsIG5vdF9yZWFsbHkpCiAgICAgYm9vdGNmZ1sia2VybmVsIl0g
PSBwYXRoX2tlcm5lbAogCiAgICAgaWYgY2hvc2VuY2ZnWyJyYW1kaXNrIl06
CiAgICAgICAgIHRyeToKICAgICAgICAgICAgIGNvcHlfZnJvbV9pbWFnZShm
cywgY2hvc2VuY2ZnWyJyYW1kaXNrIl0sICJyYW1kaXNrIiwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBmZF9yYW1kaXNrLCBwYXRoX3JhbWRpc2ss
IG5vdF9yZWFsbHkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmRf
cmFtZGlzaywgTm9uZSBpZiB1aWQgZWxzZSBwYXRoX3JhbWRpc2ssIG5vdF9y
ZWFsbHkpCiAgICAgICAgIGV4Y2VwdDoKLSAgICAgICAgICAgIGlmIG5vdCBu
b3RfcmVhbGx5OgotICAgICAgICAgICAgICAgIG9zLnVubGluayhwYXRoX2tl
cm5lbCkKKyAgICAgICAgICAgIGlmIG5vdCB1aWQgYW5kIG5vdCBub3RfcmVh
bGx5OgorICAgICAgICAgICAgICAgICAgICBvcy51bmxpbmsocGF0aF9rZXJu
ZWwpCiAgICAgICAgICAgICByYWlzZQogICAgICAgICBib290Y2ZnWyJyYW1k
aXNrIl0gPSBwYXRoX3JhbWRpc2sKICAgICBlbHNlOgogICAgICAgICBpbml0
cmQgPSBOb25lCi0gICAgICAgIGlmIG5vdCBub3RfcmVhbGx5OgorICAgICAg
ICBpZiBub3QgdWlkIGFuZCBub3Qgbm90X3JlYWxseToKICAgICAgICAgICAg
IG9zLnVubGluayhwYXRoX3JhbWRpc2spCiAKICAgICBhcmdzID0gTm9uZQot
LSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-10.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-10.patch"
Content-Transfer-Encoding: base64

RnJvbSAyOTNhOWI3NTNkODRjNWVmNmY3ZTI4OWQ2NDg2MTdhN2VhZjE5Yzk1
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBNb24sIDI1IFNlcCAy
MDIzIDE0OjMwOjIwICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMC8xMV0gbGli
eGw6IGFkZCBzdXBwb3J0IGZvciBydW5uaW5nIGJvb3Rsb2FkZXIgaW4gcmVz
dHJpY3RlZAogbW9kZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6
IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1F
bmNvZGluZzogOGJpdAoKTXVjaCBsaWtlIHRoZSBkZXZpY2UgbW9kZWwgZGVw
cml2IG1vZGUsIGFkZCB0aGUgc2FtZSBraW5kIG9mIHN1cHBvcnQgZm9yIHRo
ZQpib290bG9hZGVyLiAgU3VjaCBmZWF0dXJlIGFsbG93cyBwYXNzaW5nIGEg
VUlEIGFzIGEgcGFyYW1ldGVyIGZvciB0aGUKYm9vdGxvYWRlciB0byBydW4g
YXMsIHRvZ2V0aGVyIHdpdGggdGhlIGJvb3Rsb2FkZXIgaXRzZWxmIHRha2lu
ZyB0aGUgbmVjZXNzYXJ5CmFjdGlvbnMgdG8gaXNvbGF0ZS4KCk5vdGUgdGhh
dCB0aGUgdXNlciB0byBydW4gdGhlIGJvb3Rsb2FkZXIgYXMgbXVzdCBoYXZl
IHRoZSByaWdodCBwZXJtaXNzaW9ucyB0bwphY2Nlc3MgdGhlIGd1ZXN0IGRp
c2sgaW1hZ2UgKGluIHJlYWQgbW9kZSBvbmx5KSwgYW5kIHRoYXQgdGhlIGJv
b3Rsb2FkZXIgd2lsbApiZSBydW4gaW4gbm9uLWludGVyYWN0aXZlIG1vZGUg
d2hlbiByZXN0cmljdGVkLgoKSWYgZW5hYmxlZCBib290bG9hZGVyIHJlc3Ry
aWN0IG1vZGUgd2lsbCBhdHRlbXB0IHRvIHJlLXVzZSB0aGUgdXNlcihzKSBm
cm9tIHRoZQpRRU1VIGRlcHJpdiBpbXBsZW1lbnRhdGlvbiBpZiBubyB1c2Vy
IGlzIHByb3ZpZGVkIG9uIHRoZSBjb25maWd1cmF0aW9uIGZpbGUgb3IKdGhl
IGVudmlyb25tZW50LiAgU2VlIGRvY3MvZmVhdHVyZXMvcWVtdS1kZXByaXZp
bGVnZS5wYW5kb2MgZm9yIG1vcmUKaW5mb3JtYXRpb24gYWJvdXQgaG93IHRv
IHNldHVwIHRob3NlIHVzZXJzLgoKQm9vdGxvYWRlciByZXN0cmljdCBtb2Rl
IGlzIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQgYXMgaXQgcmVxdWlyZXMgY2Vy
dGFpbgpzZXR1cCB0byBiZSBkb25lIGZpcnN0IChzZXR1cCBvZiB0aGUgdXNl
cihzKSB0byB1c2UgaW4gcmVzdHJpY3QgbW9kZSkuCgpUaGlzIGlzIHBhcnQg
b2YgWFNBLTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBS
b2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3
ZWQtYnk6IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXgu
Y29tPgotLS0KIGRvY3MvbWFuL3hsLjEucG9kLmluICAgICAgICAgICAgICAg
IHwgMjQgKysrKysrKysKIGRvY3MvbWFuL3hsLmNmZy41LnBvZC5pbiAgICAg
ICAgICAgIHwgNDMgKysrKysrKysrKysrKysKIGRvY3MvbWFuL3hsLmNvbmYu
NS5wb2QuaW4gICAgICAgICAgIHwgIDYgKysKIHRvb2xzL2luY2x1ZGUvbGli
eGwuaCAgICAgICAgICAgICAgIHwgIDggKysrCiB0b29scy9saWJzL2xpZ2h0
L2xpYnhsX2Jvb3Rsb2FkZXIuYyB8IDg4ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKystCiB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2NyZWF0ZS5jICAg
ICB8IDExICsrKysKIHRvb2xzL2xpYnMvbGlnaHQvbGlieGxfZG0uYyAgICAg
ICAgIHwgIDggKy0tCiB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2ludGVybmFs
LmggICB8ICA4ICsrKwogdG9vbHMvbGlicy9saWdodC9saWJ4bF90eXBlcy5p
ZGwgICAgfCAgMiArCiB0b29scy94bC94bC5jICAgICAgICAgICAgICAgICAg
ICAgICB8ICA0ICsrCiB0b29scy94bC94bC5oICAgICAgICAgICAgICAgICAg
ICAgICB8ICAxICsKIHRvb2xzL3hsL3hsX3BhcnNlLmMgICAgICAgICAgICAg
ICAgIHwgIDcgKysrCiAxMiBmaWxlcyBjaGFuZ2VkLCAyMDMgaW5zZXJ0aW9u
cygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2NzL21hbi94
bC4xLnBvZC5pbiBiL2RvY3MvbWFuL3hsLjEucG9kLmluCmluZGV4IDliYTIy
YThmYTIyMi4uNzNlMmIzYjYxMTRjIDEwMDY0NAotLS0gYS9kb2NzL21hbi94
bC4xLnBvZC5pbgorKysgYi9kb2NzL21hbi94bC4xLnBvZC5pbgpAQCAtMTk2
Myw2ICsxOTYzLDMwIEBAIGlnbm9yZWQ6CiAKID1iYWNrCiAKKz1oZWFkMSBF
TlZJUk9OTUVOVCBWQVJJQUJMRVMKKworVGhlIGZvbGxvd2luZyBlbnZpcm9u
bWVudCB2YXJpYWJsZXMgc2hhbGwgYWZmZWN0IHRoZSBleGVjdXRpb24gb2Yg
eGw6CisKKz1vdmVyIDQKKworPWl0ZW0gTElCWExfQk9PVExPQURFUl9SRVNU
UklDVAorCitFcXVpdmFsZW50IHRvIEw8eGwuY2ZnKDUpPiBCPGJvb3Rsb2Fk
ZXJfcmVzdHJpY3Q+IG9wdGlvbi4gIFByb3ZpZGVkIGZvcgorY29tcGF0aWJp
bGl0eSByZWFzb25zLiAgSGF2aW5nIHRoaXMgdmFyaWFibGUgc2V0IGlzIGVx
dWl2YWxlbnQgdG8gZW5hYmxpbmcKK3RoZSBvcHRpb24sIGV2ZW4gaWYgdGhl
IHZhbHVlIGlzIDAuCisKK0lmIHNldCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIg
TDx4bC5jZmcoNSk+IGFuZCBMPHhsLmNvbmYoNSk+CitCPGJvb3Rsb2FkZXJf
cmVzdHJpY3Q+IG9wdGlvbnMuCisKKz1pdGVtIExJQlhMX0JPT1RMT0FERVJf
VVNFUgorCitFcXVpdmFsZW50IHRvIEw8eGwuY2ZnKDUpPiBCPGJvb3Rsb2Fk
ZXJfdXNlcj4gb3B0aW9uLiAgUHJvdmlkZWQgZm9yCitjb21wYXRpYmlsaXR5
IHJlYXNvbnMuCisKK0lmIHNldCB0YWtlcyBwcmVjZWRlbmNlIG92ZXIgTDx4
bC5jZmcoNSk+IEI8Ym9vdGxvYWRlcl91c2VyPiBvcHRpb24uCisKKz1iYWNr
CisKID1oZWFkMSBTRUUgQUxTTwogCiBUaGUgZm9sbG93aW5nIG1hbiBwYWdl
czoKZGlmZiAtLWdpdCBhL2RvY3MvbWFuL3hsLmNmZy41LnBvZC5pbiBiL2Rv
Y3MvbWFuL3hsLmNmZy41LnBvZC5pbgppbmRleCBlYzQ4NjQ5NThlMGUuLjJl
MjM0YjQ1MGVmYiAxMDA2NDQKLS0tIGEvZG9jcy9tYW4veGwuY2ZnLjUucG9k
LmluCisrKyBiL2RvY3MvbWFuL3hsLmNmZy41LnBvZC5pbgpAQCAtMTY5NCw2
ICsxNjk0LDI4IEBAIEFwcGVuZCBCPEFSRz5zIHRvIHRoZSBhcmd1bWVudHMg
dG8gdGhlIEI8Ym9vdGxvYWRlcj4KIHByb2dyYW0uIEFsdGVybmF0aXZlbHkg
aWYgdGhlIGFyZ3VtZW50IGlzIGEgc2ltcGxlIHN0cmluZyB0aGVuIGl0IHdp
bGwKIGJlIHNwbGl0IGludG8gd29yZHMgYXQgd2hpdGVzcGFjZSBCPCh0aGlz
IHNlY29uZCBvcHRpb24gaXMgZGVwcmVjYXRlZCk+LgogCis9aXRlbSBCPGJv
b3Rsb2FkZXJfcmVzdHJpY3Q9Qk9PTEVBTj4KKworQXR0ZW1wdCB0byByZXN0
cmljdCB0aGUgYm9vdGxvYWRlciBhZnRlciBzdGFydHVwLCB0byBsaW1pdCB0
aGUKK2NvbnNlcXVlbmNlcyBvZiBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMg
ZHVlIHRvIHBhcnNpbmcgZ3Vlc3QKK293bmVkIGltYWdlIGZpbGVzLgorCitT
ZWUgZG9jcy9mZWF0dXJlcy9xZW11LWRlcHJpdmlsZWdlLnBhbmRvYyBmb3Ig
bW9yZSBpbmZvcm1hdGlvbgorb24gaG93IHRvIHNldHVwIHRoZSB1bnByaXZp
bGVnZWQgdXNlcnMuCisKK05vdGUgdGhhdCBydW5uaW5nIHRoZSBib290bG9h
ZGVyIGluIHJlc3RyaWN0ZWQgbW9kZSBhbHNvIGltcGxpZXMgdXNpbmcKK25v
bi1pbnRlcmFjdGl2ZSBtb2RlLCBhbmQgdGhlIGRpc2sgaW1hZ2UgbXVzdCBi
ZSByZWFkYWJsZSBieSB0aGUKK3Jlc3RyaWN0ZWQgdXNlci4KKworPWl0ZW0g
Qjxib290bG9hZGVyX3VzZXI9VVNFUk5BTUU+CisKK1doZW4gdXNpbmcgYm9v
dGxvYWRlcl9yZXN0cmljdCwgcnVuIHRoZSBib290bG9hZGVyIGFzIHRoaXMg
dXNlci4gIElmIG5vdAorc2V0IHRoZSBkZWZhdWx0IFFFTVUgcmVzdHJpY3Qg
dXNlcnMgd2lsbCBiZSB1c2VkLgorCitOT1RFOiBFYWNoIGRvbWFpbiBNVVNU
IGhhdmUgYSBTRVBBUkFURSB1c2VybmFtZS4KKworU2VlIGRvY3MvZmVhdHVy
ZXMvcWVtdS1kZXByaXZpbGVnZS5wYW5kb2MgZm9yIG1vcmUgaW5mb3JtYXRp
b24uCisKID1pdGVtIEI8ZTgyMF9ob3N0PUJPT0xFQU4+CiAKIFNlbGVjdHMg
d2hldGhlciB0byBleHBvc2UgdGhlIGhvc3QgZTgyMCAobWVtb3J5IG1hcCkg
dG8gdGhlIGd1ZXN0IHZpYQpAQCAtMjczNiw2ICsyNzU4LDI3IEBAIEFwcGVu
ZCBCPEFSRz5zIHRvIHRoZSBhcmd1bWVudHMgdG8gdGhlIEI8Ym9vdGxvYWRl
cj4KIHByb2dyYW0uIEFsdGVybmF0aXZlbHkgaWYgdGhlIGFyZ3VtZW50IGlz
IGEgc2ltcGxlIHN0cmluZyB0aGVuIGl0IHdpbGwKIGJlIHNwbGl0IGludG8g
d29yZHMgYXQgd2hpdGVzcGFjZSBCPCh0aGlzIHNlY29uZCBvcHRpb24gaXMg
ZGVwcmVjYXRlZCk+LgogCis9aXRlbSBCPGJvb3Rsb2FkZXJfcmVzdHJpY3Q9
Qk9PTEVBTj4KKworQXR0ZW1wdCB0byByZXN0cmljdCB0aGUgYm9vdGxvYWRl
ciBhZnRlciBzdGFydHVwLCB0byBsaW1pdCB0aGUKK2NvbnNlcXVlbmNlcyBv
ZiBzZWN1cml0eSB2dWxuZXJhYmlsaXRpZXMgZHVlIHRvIHBhcnNpbmcgZ3Vl
c3QKK293bmVkIGltYWdlIGZpbGVzLgorCitTZWUgZG9jcy9mZWF0dXJlcy9x
ZW11LWRlcHJpdmlsZWdlLnBhbmRvYyBmb3IgbW9yZSBpbmZvcm1hdGlvbgor
b24gaG93IHRvIHNldHVwIHRoZSB1bnByaXZpbGVnZWQgdXNlcnMuCisKK05v
dGUgdGhhdCBydW5uaW5nIHRoZSBib290bG9hZGVyIGluIHJlc3RyaWN0ZWQg
bW9kZSBhbHNvIGltcGxpZXMgdXNpbmcKK25vbi1pbnRlcmFjdGl2ZSBtb2Rl
LCBhbmQgdGhlIGRpc2sgaW1hZ2UgbXVzdCBiZSByZWFkYWJsZSBieSB0aGUK
K3Jlc3RyaWN0ZWQgdXNlci4KKworPWl0ZW0gQjxib290bG9hZGVyX3VzZXI9
VVNFUk5BTUU+CisKK1doZW4gdXNpbmcgYm9vdGxvYWRlcl9yZXN0cmljdCwg
cnVuIHRoZSBib290bG9hZGVyIGFzIHRoaXMgdXNlci4KKworTk9URTogRWFj
aCBkb21haW4gTVVTVCBoYXZlIGEgU0VQQVJBVEUgdXNlcm5hbWUuCisKK1Nl
ZSBkb2NzL2ZlYXR1cmVzL3FlbXUtZGVwcml2aWxlZ2UucGFuZG9jIGZvciBt
b3JlIGluZm9ybWF0aW9uLgorCiA9aXRlbSBCPHRpbWVyX21vZGU9Ik1PREUi
PgogCiBTcGVjaWZpZXMgdGhlIG1vZGUgZm9yIFZpcnR1YWwgVGltZXJzLiBU
aGUgdmFsaWQgdmFsdWVzIGFyZSBhcyBmb2xsb3dzOgpkaWZmIC0tZ2l0IGEv
ZG9jcy9tYW4veGwuY29uZi41LnBvZC5pbiBiL2RvY3MvbWFuL3hsLmNvbmYu
NS5wb2QuaW4KaW5kZXggZGYyMGMwODEzN2JmLi40NDczOGI4MGJmMTUgMTAw
NjQ0Ci0tLSBhL2RvY3MvbWFuL3hsLmNvbmYuNS5wb2QuaW4KKysrIGIvZG9j
cy9tYW4veGwuY29uZi41LnBvZC5pbgpAQCAtMjIwLDYgKzIyMCwxMiBAQCBE
dWUgdG8gYnVnKHMpLCB0aGVzZSBvcHRpb25zIG1heSBub3QgaW50ZXJhY3Qg
d2VsbCB3aXRoIG90aGVyIG9wdGlvbnMKIGNvbmNlcm5pbmcgQ1BVIGFmZmlu
aXR5LiBPbmUgZXhhbXBsZSBpcyBDUFUgcG9vbHMuIFVzZXJzIHNob3VsZCBh
bHdheXMgZG91YmxlCiBjaGVjayB0aGF0IHRoZSByZXF1aXJlZCBhZmZpbml0
eSBoYXMgdGFrZW4gZWZmZWN0LgogCis9aXRlbSBCPGJvb3Rsb2FkZXJfcmVz
dHJpY3Q9Qk9PTEVBTj4KKworU3lzdGVtIHdpZGUgZGVmYXVsdCBmb3Igd2hl
dGhlciB0aGUgYm9vdGxvYWRlciBzaG91bGQgYmUgcnVuIGluIGEgcmVzdHJp
Y3RlZAorZW52aXJvbm1lbnQuICBTZWUgTDx4bC5jZmcoNSk+IEI8Ym9vdGxv
YWRlcl9yZXN0cmljdD4gZm9yIG1vcmUgaW5mb3JtYXRpb24gb24KK2hvdyB0
byBzZXR1cCBhbmQgdXNlIHRoZSBvcHRpb24uCisKID1iYWNrCiAKID1oZWFk
MSBTRUUgQUxTTwpkaWZmIC0tZ2l0IGEvdG9vbHMvaW5jbHVkZS9saWJ4bC5o
IGIvdG9vbHMvaW5jbHVkZS9saWJ4bC5oCmluZGV4IGFiYzVmZDUyZGE5Ny4u
OTA3YWEwYTMzMDNhIDEwMDY0NAotLS0gYS90b29scy9pbmNsdWRlL2xpYnhs
LmgKKysrIGIvdG9vbHMvaW5jbHVkZS9saWJ4bC5oCkBAIC02MDAsNiArNjAw
LDE0IEBACiAgKiBmaXJzdCBBQkkgaW5jb21wYXRpYmxlIGNoYW5nZSBpbiBh
IGRldmVsb3BtZW50IGJyYW5jaC4KICAqLwogCisjZGVmaW5lIExJQlhMX0hB
VkVfQk9PVExPQURFUl9SRVNUUklDVCAxCisvKgorICogTElCWExfSEFWRV9C
T09UTE9BREVSX1JFU1RSSUNUIGluZGljYXRlcyB0aGUgcHJlc2VuY2Ugb2Yg
dGhlCisgKiBib290bG9hZGVyX3Jlc3RyaWN0IGFuZCBib290bG9hZGVyX3Vz
ZXIgZmllbGRzIGluIGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvLgorICogU3Vj
aCBmaWVsZHMgc2lnbmFsIHRoZSBuZWVkIHRvIHBhc3MgYSAtLXJ1bmFzIHBh
cmFtZXRlciB0byB0aGUgYm9vdGxvYWRlcgorICogZXhlY3V0YWJsZSBpbiBv
cmRlciB0byBub3QgcnVuIGl0IGFzIHRoZSBzYW1lIHVzZXIgYXMgbGlieGwu
CisgKi8KKwogLyoKICAqIGxpYnhsIG1lbW9yeSBtYW5hZ2VtZW50CiAgKgpk
aWZmIC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9ib290bG9hZGVy
LmMgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX2Jvb3Rsb2FkZXIuYwppbmRl
eCAxMDgzMjliNGE1YmIuLmQ3MzIzNjdmYzA1MyAxMDA2NDQKLS0tIGEvdG9v
bHMvbGlicy9saWdodC9saWJ4bF9ib290bG9hZGVyLmMKKysrIGIvdG9vbHMv
bGlicy9saWdodC9saWJ4bF9ib290bG9hZGVyLmMKQEAgLTE0LDYgKzE0LDcg
QEAKIAogI2luY2x1ZGUgImxpYnhsX29zZGVwcy5oIiAvKiBtdXN0IGNvbWUg
YmVmb3JlIGFueSBvdGhlciBoZWFkZXJzICovCiAKKyNpbmNsdWRlIDxwd2Qu
aD4KICNpbmNsdWRlIDx0ZXJtaW9zLmg+CiAjaWZkZWYgSEFWRV9VVE1QX0gK
ICNpbmNsdWRlIDx1dG1wLmg+CkBAIC00Miw4ICs0Myw3MSBAQCBzdGF0aWMg
dm9pZCBib290bG9hZGVyX2FyZyhsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAq
YmwsIGNvbnN0IGNoYXIgKmFyZykKICAgICBibC0+YXJnc1tibC0+bmFyZ3Mr
K10gPSBhcmc7CiB9CiAKLXN0YXRpYyB2b2lkIG1ha2VfYm9vdGxvYWRlcl9h
cmdzKGxpYnhsX19nYyAqZ2MsIGxpYnhsX19ib290bG9hZGVyX3N0YXRlICpi
bCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo
YXIgKmJvb3Rsb2FkZXJfcGF0aCkKK3N0YXRpYyBpbnQgYm9vdGxvYWRlcl91
aWQobGlieGxfX2djICpnYywgZG9taWRfdCBndWVzdF9kb21pZCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqdXNlciwgdWlkX3Qg
KmludGVuZGVkX3VpZCkKK3sKKyAgICBzdHJ1Y3QgcGFzc3dkICp1c2VyX2Jh
c2UsIHVzZXJfcHdidWY7CisgICAgaW50IHJjOworCisgICAgaWYgKHVzZXIp
IHsKKyAgICAgICAgcmMgPSB1c2VybG9va3VwX2hlbHBlcl9nZXRwd25hbShn
YywgdXNlciwgJnVzZXJfcHdidWYsICZ1c2VyX2Jhc2UpOworICAgICAgICBp
ZiAocmMpIHJldHVybiByYzsKKworICAgICAgICBpZiAoIXVzZXJfYmFzZSkg
eworICAgICAgICAgICAgTE9HRChFUlJPUiwgZ3Vlc3RfZG9taWQsICJDb3Vs
ZG4ndCBmaW5kIHVzZXIgJXMiLCB1c2VyKTsKKyAgICAgICAgICAgIHJldHVy
biBFUlJPUl9JTlZBTDsKKyAgICAgICAgfQorCisgICAgICAgICppbnRlbmRl
ZF91aWQgPSB1c2VyX2Jhc2UtPnB3X3VpZDsKKyAgICAgICAgcmV0dXJuIDA7
CisgICAgfQorCisgICAgLyogUmUtdXNlIFFFTVUgdXNlciByYW5nZSBmb3Ig
dGhlIGJvb3Rsb2FkZXIuICovCisgICAgcmMgPSB1c2VybG9va3VwX2hlbHBl
cl9nZXRwd25hbShnYywgTElCWExfUUVNVV9VU0VSX1JBTkdFX0JBU0UsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdXNlcl9wd2J1
ZiwgJnVzZXJfYmFzZSk7CisgICAgaWYgKHJjKSByZXR1cm4gcmM7CisKKyAg
ICBpZiAodXNlcl9iYXNlKSB7CisgICAgICAgIHN0cnVjdCBwYXNzd2QgKnVz
ZXJfY2xhc2gsIHVzZXJfY2xhc2hfcHdidWY7CisgICAgICAgIHVpZF90IHRl
bXBfdWlkID0gdXNlcl9iYXNlLT5wd191aWQgKyBndWVzdF9kb21pZDsKKwor
ICAgICAgICByYyA9IHVzZXJsb29rdXBfaGVscGVyX2dldHB3dWlkKGdjLCB0
ZW1wX3VpZCwgJnVzZXJfY2xhc2hfcHdidWYsCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgJnVzZXJfY2xhc2gpOworICAgICAg
ICBpZiAocmMpIHJldHVybiByYzsKKworICAgICAgICBpZiAodXNlcl9jbGFz
aCkgeworICAgICAgICAgICAgTE9HRChFUlJPUiwgZ3Vlc3RfZG9taWQsCisg
ICAgICAgICAgICAgICAgICJ3YW50ZWQgdG8gdXNlIHVpZCAlbGQgKCVzICsg
JWQpIGJ1dCB0aGF0IGlzIHVzZXIgJXMgISIsCisgICAgICAgICAgICAgICAg
IChsb25nKXRlbXBfdWlkLCBMSUJYTF9RRU1VX1VTRVJfUkFOR0VfQkFTRSwK
KyAgICAgICAgICAgICAgICAgZ3Vlc3RfZG9taWQsIHVzZXJfY2xhc2gtPnB3
X25hbWUpOworICAgICAgICAgICAgcmV0dXJuIEVSUk9SX0lOVkFMOworICAg
ICAgICB9CisKKyAgICAgICAgKmludGVuZGVkX3VpZCA9IHRlbXBfdWlkOwor
ICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICByYyA9IHVzZXJsb29r
dXBfaGVscGVyX2dldHB3bmFtKGdjLCBMSUJYTF9RRU1VX1VTRVJfU0hBUkVE
LCAmdXNlcl9wd2J1ZiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICZ1c2VyX2Jhc2UpOworICAgIGlmIChyYykgcmV0dXJuIHJjOwor
CisgICAgaWYgKHVzZXJfYmFzZSkgeworICAgICAgICBMT0dEKFdBUk4sIGd1
ZXN0X2RvbWlkLCAiQ291bGQgbm90IGZpbmQgdXNlciAlcywgZmFsbGluZyBi
YWNrIHRvICVzIiwKKyAgICAgICAgICAgICBMSUJYTF9RRU1VX1VTRVJfUkFO
R0VfQkFTRSwgTElCWExfUUVNVV9VU0VSX1NIQVJFRCk7CisgICAgICAgICpp
bnRlbmRlZF91aWQgPSB1c2VyX2Jhc2UtPnB3X3VpZDsKKworICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisKKyAgICBMT0dEKEVSUk9SLCBndWVzdF9kb21p
ZCwKKyAgICAiQ291bGQgbm90IGZpbmQgdXNlciAlcyBvciByYW5nZSBiYXNl
IHBzZXVkby11c2VyICVzLCBjYW5ub3QgcmVzdHJpY3QiLAorICAgICAgICAg
TElCWExfUUVNVV9VU0VSX1NIQVJFRCwgTElCWExfUUVNVV9VU0VSX1JBTkdF
X0JBU0UpOworCisgICAgcmV0dXJuIEVSUk9SX0lOVkFMOworfQorCitzdGF0
aWMgaW50IG1ha2VfYm9vdGxvYWRlcl9hcmdzKGxpYnhsX19nYyAqZ2MsIGxp
YnhsX19ib290bG9hZGVyX3N0YXRlICpibCwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYm9vdGxvYWRlcl9wYXRoKQog
ewogICAgIGNvbnN0IGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvID0g
YmwtPmluZm87CiAKQEAgLTYxLDYgKzEyNSwyMiBAQCBzdGF0aWMgdm9pZCBt
YWtlX2Jvb3Rsb2FkZXJfYXJncyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fYm9v
dGxvYWRlcl9zdGF0ZSAqYmwsCiAgICAgICAgIEFSRyhHQ1NQUklOVEYoIi0t
cmFtZGlzaz0lcyIsIGluZm8tPnJhbWRpc2spKTsKICAgICBpZiAoaW5mby0+
Y21kbGluZSAmJiAqaW5mby0+Y21kbGluZSAhPSAnXDAnKQogICAgICAgICBB
UkcoR0NTUFJJTlRGKCItLWFyZ3M9JXMiLCBpbmZvLT5jbWRsaW5lKSk7Cisg
ICAgaWYgKGxpYnhsX2RlZmJvb2xfdmFsKGluZm8tPmJvb3Rsb2FkZXJfcmVz
dHJpY3QpKSB7CisgICAgICAgIHVpZF90IHVpZCA9IC0xOworICAgICAgICBp
bnQgcmMgPSBib290bG9hZGVyX3VpZChnYywgYmwtPmRvbWlkLCBpbmZvLT5i
b290bG9hZGVyX3VzZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICZ1aWQpOworCisgICAgICAgIGlmIChyYykgcmV0dXJuIHJjOworCisg
ICAgICAgIGFzc2VydCh1aWQgIT0gLTEpOworICAgICAgICBpZiAoIXVpZCkg
eworICAgICAgICAgICAgTE9HRChFUlJPUiwgYmwtPmRvbWlkLCAiYm9vdGxv
YWRlciByZXN0cmljdCBVSUQgaXMgMCAocm9vdCkhIik7CisgICAgICAgICAg
ICByZXR1cm4gRVJST1JfSU5WQUw7CisgICAgICAgIH0KKyAgICAgICAgTE9H
RChERUJVRywgYmwtPmRvbWlkLCAidXNpbmcgdWlkICVsZCIsIChsb25nKXVp
ZCk7CisgICAgICAgIEFSRyhHQ1NQUklOVEYoIi0tcnVuYXM9JWxkIiwgKGxv
bmcpdWlkKSk7CisgICAgICAgIEFSRygiLS1xdWlldCIpOworICAgIH0KIAog
ICAgIEFSRyhHQ1NQUklOVEYoIi0tb3V0cHV0PSVzIiwgYmwtPm91dHB1dHBh
dGgpKTsKICAgICBBUkcoIi0tb3V0cHV0LWZvcm1hdD1zaW1wbGUwIik7CkBA
IC03OSw2ICsxNTksNyBAQCBzdGF0aWMgdm9pZCBtYWtlX2Jvb3Rsb2FkZXJf
YXJncyhsaWJ4bF9fZ2MgKmdjLCBsaWJ4bF9fYm9vdGxvYWRlcl9zdGF0ZSAq
YmwsCiAgICAgLyogU2VudGluZWwgZm9yIGV4ZWN2ICovCiAgICAgQVJHKE5V
TEwpOwogCisgICAgcmV0dXJuIDA7CiAjdW5kZWYgQVJHCiB9CiAKQEAgLTQ0
Myw3ICs1MjQsOCBAQCBzdGF0aWMgdm9pZCBib290bG9hZGVyX2Rpc2tfYXR0
YWNoZWRfY2IobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAgYm9vdGxv
YWRlciA9IGJsdG1wOwogICAgIH0KIAotICAgIG1ha2VfYm9vdGxvYWRlcl9h
cmdzKGdjLCBibCwgYm9vdGxvYWRlcik7CisgICAgcmMgPSBtYWtlX2Jvb3Rs
b2FkZXJfYXJncyhnYywgYmwsIGJvb3Rsb2FkZXIpOworICAgIGlmIChyYykg
Z290byBvdXQ7CiAKICAgICBibC0+b3BlbnB0eS5hbyA9IGFvOwogICAgIGJs
LT5vcGVucHR5LmNhbGxiYWNrID0gYm9vdGxvYWRlcl9nb3RwdHlzOwpkaWZm
IC0tZ2l0IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9jcmVhdGUuYyBiL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfY3JlYXRlLmMKaW5kZXggYzkxMDU5ZDcx
MzA5Li5jZTFkNDMxMTAzMzYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvbGln
aHQvbGlieGxfY3JlYXRlLmMKKysrIGIvdG9vbHMvbGlicy9saWdodC9saWJ4
bF9jcmVhdGUuYwpAQCAtNDgyLDYgKzQ4MiwxNyBAQCBpbnQgbGlieGxfX2Rv
bWFpbl9idWlsZF9pbmZvX3NldGRlZmF1bHQobGlieGxfX2djICpnYywKICAg
ICAgICAgcmV0dXJuIC1FUlJPUl9JTlZBTDsKICAgICB9CiAKKyAgICAvKiBB
c3N1bWUgdGhhdCBwcm92aWRpbmcgYSBib290bG9hZGVyIHVzZXIgaW1wbGll
cyBlbmFibGluZyByZXN0cmljdC4gKi8KKyAgICBsaWJ4bF9kZWZib29sX3Nl
dGRlZmF1bHQoJmJfaW5mby0+Ym9vdGxvYWRlcl9yZXN0cmljdCwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgISFiX2luZm8tPmJvb3Rsb2FkZXJf
dXNlcik7CisgICAgLyogRU5WIHRha2VzIHByZWNlZGVuY2Ugb3ZlciBwcm92
aWRlZCBkb21haW5fYnVpbGRfaW5mby4gKi8KKyAgICBpZiAoZ2V0ZW52KCJM
SUJYTF9CT09UTE9BREVSX1JFU1RSSUNUIikgfHwKKyAgICAgICAgZ2V0ZW52
KCJMSUJYTF9CT09UTE9BREVSX1VTRVIiKSkKKyAgICAgICAgbGlieGxfZGVm
Ym9vbF9zZXQoJmJfaW5mby0+Ym9vdGxvYWRlcl9yZXN0cmljdCwgdHJ1ZSk7
CisgICAgaWYoZ2V0ZW52KCJMSUJYTF9CT09UTE9BREVSX1VTRVIiKSkKKyAg
ICAgICAgYl9pbmZvLT5ib290bG9hZGVyX3VzZXIgPQorICAgICAgICAgICAg
bGlieGxfX3N0cmR1cChnYywgZ2V0ZW52KCJMSUJYTF9CT09UTE9BREVSX1VT
RVIiKSk7CisKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvdG9v
bHMvbGlicy9saWdodC9saWJ4bF9kbS5jIGIvdG9vbHMvbGlicy9saWdodC9s
aWJ4bF9kbS5jCmluZGV4IGZjMjY0YTNhMTNhNi4uMTRiNTkzMTEwZjdjIDEw
MDY0NAotLS0gYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX2RtLmMKKysrIGIv
dG9vbHMvbGlicy9saWdodC9saWJ4bF9kbS5jCkBAIC04MCwxMCArODAsMTAg
QEAgc3RhdGljIGludCBsaWJ4bF9fY3JlYXRlX3FlbXVfbG9nZmlsZShsaWJ4
bF9fZ2MgKmdjLCBjaGFyICpuYW1lKQogICogIE9uIGVycm9yLCByZXR1cm4g
YSBsaWJ4bC1zdHlsZSBlcnJvciBjb2RlLgogICovCiAjZGVmaW5lIERFRklO
RV9VU0VSTE9PS1VQX0hFTFBFUihOQU1FLFNQRUNfVFlQRSxTVFJVQ1ROQU1F
LFNZU0NPTkYpICAgICBcCi0gICAgc3RhdGljIGludCB1c2VybG9va3VwX2hl
bHBlcl8jI05BTUUobGlieGxfX2djICpnYywgICAgICAgICAgICAgICAgICBc
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BF
Q19UWVBFIHNwZWMsICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IFNUUlVDVE5BTUUg
KnJlc3VsdGJ1ZiwgICBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgc3RydWN0IFNUUlVDVE5BTUUgKipvdXQpICAgICAgICBc
CisgICAgaW50IHVzZXJsb29rdXBfaGVscGVyXyMjTkFNRShsaWJ4bF9fZ2Mg
KmdjLCAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBTUEVDX1RZUEUgc3BlYywgICAgICAgICAg
ICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBzdHJ1Y3QgU1RSVUNUTkFNRSAqcmVzdWx0YnVmLCAgICAgICAgICBc
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgU1RS
VUNUTkFNRSAqKm91dCkgICAgICAgICAgICAgICBcCiAgICAgeyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBcCiAgICAgICAgIHN0cnVjdCBTVFJVQ1ROQU1FICpy
ZXN1bHRwID0gTlVMTDsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc
CiAgICAgICAgIGNoYXIgKmJ1ZiA9IE5VTEw7ICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCmRpZmYgLS1naXQgYS90
b29scy9saWJzL2xpZ2h0L2xpYnhsX2ludGVybmFsLmggYi90b29scy9saWJz
L2xpZ2h0L2xpYnhsX2ludGVybmFsLmgKaW5kZXggYjFhN2NkOWY2MTViLi4x
MjE5ZmY4ZGJkODkgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGli
eGxfaW50ZXJuYWwuaAorKysgYi90b29scy9saWJzL2xpZ2h0L2xpYnhsX2lu
dGVybmFsLmgKQEAgLTQ4NzQsNiArNDg3NCwxNCBAQCBzdHJ1Y3QgbGlieGxf
X2NwdV9wb2xpY3kgewogICAgIHN0cnVjdCB4Y19tc3IgKm1zcjsKIH07CiAK
K3N0cnVjdCBwYXNzd2Q7CitfaGlkZGVuIGludCB1c2VybG9va3VwX2hlbHBl
cl9nZXRwd25hbShsaWJ4bF9fZ2MqLCBjb25zdCBjaGFyICp1c2VyLAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHBh
c3N3ZCAqcmVzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IHBhc3N3ZCAqKm91dCk7CitfaGlkZGVuIGludCB1c2Vy
bG9va3VwX2hlbHBlcl9nZXRwd3VpZChsaWJ4bF9fZ2MqLCB1aWRfdCB1aWQs
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1
Y3QgcGFzc3dkICpyZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBzdHJ1Y3QgcGFzc3dkICoqb3V0KTsKKwogI2VuZGlmCiAK
IC8qCmRpZmYgLS1naXQgYS90b29scy9saWJzL2xpZ2h0L2xpYnhsX3R5cGVz
LmlkbCBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfdHlwZXMuaWRsCmluZGV4
IDNiZDY2MjkxYWZkNC4uN2Q4YmQ1ZDIxNjY3IDEwMDY0NAotLS0gYS90b29s
cy9saWJzL2xpZ2h0L2xpYnhsX3R5cGVzLmlkbAorKysgYi90b29scy9saWJz
L2xpZ2h0L2xpYnhsX3R5cGVzLmlkbApAQCAtNjI0LDYgKzYyNCw4IEBAIGxp
YnhsX2RvbWFpbl9idWlsZF9pbmZvID0gU3RydWN0KCJkb21haW5fYnVpbGRf
aW5mbyIsWwogICAgICgiYWNwaSIsICAgICAgICAgICAgIGxpYnhsX2RlZmJv
b2wpLAogICAgICgiYm9vdGxvYWRlciIsICAgICAgIHN0cmluZyksCiAgICAg
KCJib290bG9hZGVyX2FyZ3MiLCAgbGlieGxfc3RyaW5nX2xpc3QpLAorICAg
ICgiYm9vdGxvYWRlcl9yZXN0cmljdCIsIGxpYnhsX2RlZmJvb2wpLAorICAg
ICgiYm9vdGxvYWRlcl91c2VyIiwgIHN0cmluZyksCiAgICAgKCJ0aW1lcl9t
b2RlIiwgICAgICAgbGlieGxfdGltZXJfbW9kZSksCiAgICAgKCJuZXN0ZWRf
aHZtIiwgICAgICAgbGlieGxfZGVmYm9vbCksCiAgICAgKCJhcGljIiwgICAg
ICAgICAgICAgbGlieGxfZGVmYm9vbCksCmRpZmYgLS1naXQgYS90b29scy94
bC94bC5jIGIvdG9vbHMveGwveGwuYwppbmRleCAyZDFlYzE4ZWEzMGYuLmVj
NzJjYTYwYzMyYSAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGwuYworKysgYi90
b29scy94bC94bC5jCkBAIC01Nyw2ICs1Nyw3IEBAIGludCBtYXhfZ3JhbnRf
ZnJhbWVzID0gLTE7CiBpbnQgbWF4X21hcHRyYWNrX2ZyYW1lcyA9IC0xOwog
aW50IG1heF9ncmFudF92ZXJzaW9uID0gTElCWExfTUFYX0dSQU5UX0RFRkFV
TFQ7CiBsaWJ4bF9kb21pZCBkb21pZF9wb2xpY3kgPSBJTlZBTElEX0RPTUlE
OworbGlieGxfZGVmYm9vbCBib290bG9hZGVyX3Jlc3RyaWN0OwogCiB4ZW50
b29sbG9nX2xldmVsIG1pbm1zZ2xldmVsID0gbWlubXNnbGV2ZWxfZGVmYXVs
dDsKIApAQCAtMjUzLDYgKzI1NCw5IEBAIHN0YXRpYyB2b2lkIHBhcnNlX2ds
b2JhbF9jb25maWcoY29uc3QgY2hhciAqY29uZmlnZmlsZSwKICAgICAgICAg
ICAgIGZwcmludGYoc3RkZXJyLCAiaW52YWxpZCBkb21pZF9wb2xpY3kgb3B0
aW9uIik7CiAgICAgfQogCisgICAgeGx1X2NmZ19nZXRfZGVmYm9vbChjb25m
aWcsICJib290bG9hZGVyX3Jlc3RyaWN0IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICZib290bG9hZGVyX3Jlc3RyaWN0LCAwKTsKKwogICAgIHhsdV9j
ZmdfZGVzdHJveShjb25maWcpOwogfQogCmRpZmYgLS1naXQgYS90b29scy94
bC94bC5oIGIvdG9vbHMveGwveGwuaAppbmRleCAzMDQ1YjVhOGUzZjAuLjlj
ODZiYjFkOTgyNCAxMDA2NDQKLS0tIGEvdG9vbHMveGwveGwuaAorKysgYi90
b29scy94bC94bC5oCkBAIC0yODgsNiArMjg4LDcgQEAgZXh0ZXJuIGxpYnhs
X2JpdG1hcCBnbG9iYWxfdm1fYWZmaW5pdHlfbWFzazsKIGV4dGVybiBsaWJ4
bF9iaXRtYXAgZ2xvYmFsX2h2bV9hZmZpbml0eV9tYXNrOwogZXh0ZXJuIGxp
YnhsX2JpdG1hcCBnbG9iYWxfcHZfYWZmaW5pdHlfbWFzazsKIGV4dGVybiBs
aWJ4bF9kb21pZCBkb21pZF9wb2xpY3k7CitleHRlcm4gbGlieGxfZGVmYm9v
bCBib290bG9hZGVyX3Jlc3RyaWN0OwogCiBlbnVtIG91dHB1dF9mb3JtYXQg
ewogICAgIE9VVFBVVF9GT1JNQVRfSlNPTiwKZGlmZiAtLWdpdCBhL3Rvb2xz
L3hsL3hsX3BhcnNlLmMgYi90b29scy94bC94bF9wYXJzZS5jCmluZGV4IDBl
OGM2MDRiYmYwNi4uZWQ5ODMyMDBjM2Y4IDEwMDY0NAotLS0gYS90b29scy94
bC94bF9wYXJzZS5jCisrKyBiL3Rvb2xzL3hsL3hsX3BhcnNlLmMKQEAgLTE3
MDAsNiArMTcwMCwxMyBAQCB2b2lkIHBhcnNlX2NvbmZpZ19kYXRhKGNvbnN0
IGNoYXIgKmNvbmZpZ19zb3VyY2UsCiAgICAgICAgIGV4aXQoLUVSUk9SX0ZB
SUwpOwogICAgIH0KICNlbmRpZgorICAgIHhsdV9jZmdfZ2V0X2RlZmJvb2wo
Y29uZmlnLCAiYm9vdGxvYWRlcl9yZXN0cmljdCIsCisgICAgICAgICAgICAg
ICAgICAgICAgICAmYl9pbmZvLT5ib290bG9hZGVyX3Jlc3RyaWN0LCAwKTsK
KyAgICBpZiAoIWxpYnhsX2RlZmJvb2xfaXNfZGVmYXVsdChib290bG9hZGVy
X3Jlc3RyaWN0KSkKKyAgICAgICAgbGlieGxfZGVmYm9vbF9zZXRkZWZhdWx0
KCZiX2luZm8tPmJvb3Rsb2FkZXJfcmVzdHJpY3QsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBsaWJ4bF9kZWZib29sX3ZhbChib290bG9h
ZGVyX3Jlc3RyaWN0KSk7CisgICAgeGx1X2NmZ19yZXBsYWNlX3N0cmluZyhj
b25maWcsICJib290bG9hZGVyX3VzZXIiLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgJmJfaW5mby0+Ym9vdGxvYWRlcl91c2VyLCAwKTsKIAogICAg
IHN3aXRjaCAoeGx1X2NmZ19nZXRfbGlzdF9hc19zdHJpbmdfbGlzdChjb25m
aWcsICJib290bG9hZGVyX2FyZ3MiLAogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAmYl9pbmZvLT5ib290bG9hZGVyX2Fy
Z3MsIDEpKSB7Ci0tIAoyLjQyLjAKCg==

--=separator
Content-Type: application/octet-stream; name="xsa443/xsa443-11.patch"
Content-Disposition: attachment; filename="xsa443/xsa443-11.patch"
Content-Transfer-Encoding: base64

RnJvbSA5NTQzMjQ3Y2NlY2NmYTU3MTVjMmE0YmU1ZDExMGZhNDNiNGM0YWMx
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI4IFNlcCAy
MDIzIDEyOjIyOjM1ICswMjAwClN1YmplY3Q6IFtQQVRDSCAxMS8xMV0gbGli
eGw6IGxpbWl0IGJvb3Rsb2FkZXIgZXhlY3V0aW9uIGluIHJlc3RyaWN0ZWQg
bW9kZQpNSU1FLVZlcnNpb246IDEuMApDb250ZW50LVR5cGU6IHRleHQvcGxh
aW47IGNoYXJzZXQ9VVRGLTgKQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog
OGJpdAoKSW50cm9kdWNlIGEgdGltZW91dCBmb3IgYm9vdGxvYWRlciBleGVj
dXRpb24gd2hlbiBydW5uaW5nIGluIHJlc3RyaWN0ZWQgbW9kZS4KCkFsbG93
IG92ZXJ3cml0aW5nIHRoZSBkZWZhdWx0IHRpbWUgb3V0IHdpdGggYW4gZW52
aXJvbm1lbnQgcHJvdmlkZWQgdmFsdWUuCgpUaGlzIGlzIHBhcnQgb2YgWFNB
LTQ0MyAvIENWRS0yMDIzLTM0MzI1CgpTaWduZWQtb2ZmLWJ5OiBSb2dlciBQ
YXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4KUmV2aWV3ZWQtYnk6
IEFudGhvbnkgUEVSQVJEIDxhbnRob255LnBlcmFyZEBjaXRyaXguY29tPgot
LS0KIGRvY3MvbWFuL3hsLjEucG9kLmluICAgICAgICAgICAgICAgIHwgIDgg
KysrKysrCiB0b29scy9saWJzL2xpZ2h0L2xpYnhsX2Jvb3Rsb2FkZXIuYyB8
IDQwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB0b29scy9saWJz
L2xpZ2h0L2xpYnhsX2ludGVybmFsLmggICB8ICAyICsrCiAzIGZpbGVzIGNo
YW5nZWQsIDUwIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kb2NzL21h
bi94bC4xLnBvZC5pbiBiL2RvY3MvbWFuL3hsLjEucG9kLmluCmluZGV4IDcz
ZTJiM2I2MTE0Yy4uYmVkODM5MzQ3M2M5IDEwMDY0NAotLS0gYS9kb2NzL21h
bi94bC4xLnBvZC5pbgorKysgYi9kb2NzL21hbi94bC4xLnBvZC5pbgpAQCAt
MTk4NSw2ICsxOTg1LDE0IEBAIGNvbXBhdGliaWxpdHkgcmVhc29ucy4KIAog
SWYgc2V0IHRha2VzIHByZWNlZGVuY2Ugb3ZlciBMPHhsLmNmZyg1KT4gQjxi
b290bG9hZGVyX3VzZXI+IG9wdGlvbi4KIAorPWl0ZW0gTElCWExfQk9PVExP
QURFUl9USU1FT1VUCisKK1RpbWVvdXQgaW4gc2Vjb25kcyBmb3IgYm9vdGxv
YWRlciBleGVjdXRpb24gd2hlbiBydW5uaW5nIGluIHJlc3RyaWN0ZWQgbW9k
ZS4KK090aGVyd2lzZSB0aGUgYnVpbGQgdGltZSBkZWZhdWx0IGluIExJQlhM
X0JPT1RMT0FERVJfVElNRU9VVCB3aWxsIGJlIHVzZWQuCisKK0lmIGRlZmlu
ZWQgdGhlIHZhbHVlIG11c3QgYmUgYW4gdW5zaWduZWQgaW50ZWdlciBiZXR3
ZWVuIDAgYW5kIElOVF9NQVgsCitvdGhlcndpc2UgYmVoYXZpb3IgaXMgdW5k
ZWZpbmVkLiAgU2V0dGluZyB0byAwIGRpc2FibGVzIHRoZSB0aW1lb3V0Lgor
CiA9YmFjawogCiA9aGVhZDEgU0VFIEFMU08KZGlmZiAtLWdpdCBhL3Rvb2xz
L2xpYnMvbGlnaHQvbGlieGxfYm9vdGxvYWRlci5jIGIvdG9vbHMvbGlicy9s
aWdodC9saWJ4bF9ib290bG9hZGVyLmMKaW5kZXggZDczMjM2N2ZjMDUzLi4y
NzlhOWNkZjkxZjYgMTAwNjQ0Ci0tLSBhL3Rvb2xzL2xpYnMvbGlnaHQvbGli
eGxfYm9vdGxvYWRlci5jCisrKyBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxf
Ym9vdGxvYWRlci5jCkBAIC0zMCw2ICszMCw4IEBAIHN0YXRpYyB2b2lkIGJv
b3Rsb2FkZXJfa2V5c3Ryb2tlc19jb3B5ZmFpbChsaWJ4bF9fZWdjICplZ2Ms
CiAgICAgICAgbGlieGxfX2RhdGFjb3BpZXJfc3RhdGUgKmRjLCBpbnQgcmMs
IGludCBvbndyaXRlLCBpbnQgZXJybm92YWwpOwogc3RhdGljIHZvaWQgYm9v
dGxvYWRlcl9kaXNwbGF5X2NvcHlmYWlsKGxpYnhsX19lZ2MgKmVnYywKICAg
ICAgICBsaWJ4bF9fZGF0YWNvcGllcl9zdGF0ZSAqZGMsIGludCByYywgaW50
IG9ud3JpdGUsIGludCBlcnJub3ZhbCk7CitzdGF0aWMgdm9pZCBib290bG9h
ZGVyX3RpbWVvdXQobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fZXZfdGltZSAq
ZXYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3Ry
dWN0IHRpbWV2YWwgKnJlcXVlc3RlZF9hYnMsIGludCByYyk7CiBzdGF0aWMg
dm9pZCBib290bG9hZGVyX2RvbWFpbmRlYXRoKGxpYnhsX19lZ2MqLCBsaWJ4
bF9fZG9tYWluZGVhdGhjaGVjayAqZGMsCiAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGludCByYyk7CiBzdGF0aWMgdm9pZCBib290bG9h
ZGVyX2ZpbmlzaGVkKGxpYnhsX19lZ2MgKmVnYywgbGlieGxfX2V2X2NoaWxk
ICpjaGlsZCwKQEAgLTI5Niw2ICsyOTgsNyBAQCB2b2lkIGxpYnhsX19ib290
bG9hZGVyX2luaXQobGlieGxfX2Jvb3Rsb2FkZXJfc3RhdGUgKmJsKQogICAg
IGJsLT5wdHlzWzBdLm1hc3RlciA9IGJsLT5wdHlzWzBdLnNsYXZlID0gMDsK
ICAgICBibC0+cHR5c1sxXS5tYXN0ZXIgPSBibC0+cHR5c1sxXS5zbGF2ZSA9
IDA7CiAgICAgbGlieGxfX2V2X2NoaWxkX2luaXQoJmJsLT5jaGlsZCk7Cisg
ICAgbGlieGxfX2V2X3RpbWVfaW5pdCgmYmwtPnRpbWUpOwogICAgIGxpYnhs
X19kb21haW5kZWF0aGNoZWNrX2luaXQoJmJsLT5kZWF0aGNoZWNrKTsKICAg
ICBibC0+a2V5c3Ryb2tlcy5hbyA9IGJsLT5hbzsgIGxpYnhsX19kYXRhY29w
aWVyX2luaXQoJmJsLT5rZXlzdHJva2VzKTsKICAgICBibC0+ZGlzcGxheS5h
byA9IGJsLT5hbzsgICAgIGxpYnhsX19kYXRhY29waWVyX2luaXQoJmJsLT5k
aXNwbGF5KTsKQEAgLTMxMyw2ICszMTYsNyBAQCBzdGF0aWMgdm9pZCBib290
bG9hZGVyX2NsZWFudXAobGlieGxfX2VnYyAqZWdjLCBsaWJ4bF9fYm9vdGxv
YWRlcl9zdGF0ZSAqYmwpCiAgICAgbGlieGxfX2RvbWFpbmRlYXRoY2hlY2tf
c3RvcChnYywmYmwtPmRlYXRoY2hlY2spOwogICAgIGxpYnhsX19kYXRhY29w
aWVyX2tpbGwoJmJsLT5rZXlzdHJva2VzKTsKICAgICBsaWJ4bF9fZGF0YWNv
cGllcl9raWxsKCZibC0+ZGlzcGxheSk7CisgICAgbGlieGxfX2V2X3RpbWVf
ZGVyZWdpc3RlcihnYywgJmJsLT50aW1lKTsKICAgICBmb3IgKGk9MDsgaTwy
OyBpKyspIHsKICAgICAgICAgbGlieGxfX2NhcmVmZF9jbG9zZShibC0+cHR5
c1tpXS5tYXN0ZXIpOwogICAgICAgICBsaWJ4bF9fY2FyZWZkX2Nsb3NlKGJs
LT5wdHlzW2ldLnNsYXZlKTsKQEAgLTM3NCw2ICszNzgsNyBAQCBzdGF0aWMg
dm9pZCBib290bG9hZGVyX3N0b3AobGlieGxfX2VnYyAqZWdjLAogCiAgICAg
bGlieGxfX2RhdGFjb3BpZXJfa2lsbCgmYmwtPmtleXN0cm9rZXMpOwogICAg
IGxpYnhsX19kYXRhY29waWVyX2tpbGwoJmJsLT5kaXNwbGF5KTsKKyAgICBs
aWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVyKGdjLCAmYmwtPnRpbWUpOwogICAg
IGlmIChsaWJ4bF9fZXZfY2hpbGRfaW51c2UoJmJsLT5jaGlsZCkpIHsKICAg
ICAgICAgciA9IGtpbGwoYmwtPmNoaWxkLnBpZCwgU0lHVEVSTSk7CiAgICAg
ICAgIGlmIChyKSBMT0dFRChXQVJOLCBibC0+ZG9taWQsICIlc2ZhaWxlZCB0
byBraWxsIGJvb3Rsb2FkZXIgWyVsdV0iLApAQCAtNjM1LDYgKzY0MCwyNSBA
QCBzdGF0aWMgdm9pZCBib290bG9hZGVyX2dvdHB0eXMobGlieGxfX2VnYyAq
ZWdjLCBsaWJ4bF9fb3BlbnB0eV9zdGF0ZSAqb3ApCiAgICAgICAgIExPR0Qo
REVCVUcsIGJsLT5kb21pZCwgIiAgYm9vdGxvYWRlciBhcmc6ICVzIiwgKmJs
YXJnKTsKIAogICAgIHN0cnVjdCB0ZXJtaW9zIHRlcm1hdHRyOworICAgIGNv
bnN0IGxpYnhsX2RvbWFpbl9idWlsZF9pbmZvICppbmZvID0gYmwtPmluZm87
CisKKyAgICBpZiAobGlieGxfZGVmYm9vbF92YWwoaW5mby0+Ym9vdGxvYWRl
cl9yZXN0cmljdCkpIHsKKyAgICAgICAgY29uc3QgY2hhciAqdGltZW91dF9l
bnYgPSBnZXRlbnYoIkxJQlhMX0JPT1RMT0FERVJfVElNRU9VVCIpOworICAg
ICAgICBpbnQgdGltZW91dCA9IHRpbWVvdXRfZW52ID8gYXRvaSh0aW1lb3V0
X2VudikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IExJ
QlhMX0JPT1RMT0FERVJfVElNRU9VVDsKKworICAgICAgICBpZiAodGltZW91
dCkgeworICAgICAgICAgICAgLyogU2V0IGV4ZWN1dGlvbiB0aW1lb3V0ICov
CisgICAgICAgICAgICByYyA9IGxpYnhsX19ldl90aW1lX3JlZ2lzdGVyX3Jl
bChhbywgJmJsLT50aW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBib290bG9hZGVyX3RpbWVvdXQsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpbWVvdXQg
KiAxMDAwKTsKKyAgICAgICAgICAgIGlmIChyYykgeworICAgICAgICAgICAg
ICAgIExPR0VEKEVSUk9SLCBibC0+ZG9taWQsCisgICAgICAgICAgICAgICAg
ICAgICAgInVuYWJsZSB0byByZWdpc3RlciB0aW1lb3V0IGZvciBib290bG9h
ZGVyIGV4ZWN1dGlvbiIpOworICAgICAgICAgICAgICAgIGdvdG8gb3V0Owor
ICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQogCiAgICAgcGlkX3Qg
cGlkID0gbGlieGxfX2V2X2NoaWxkX2ZvcmsoZ2MsICZibC0+Y2hpbGQsIGJv
b3Rsb2FkZXJfZmluaXNoZWQpOwogICAgIGlmIChwaWQgPT0gLTEpIHsKQEAg
LTcwMSw2ICs3MjUsMjEgQEAgc3RhdGljIHZvaWQgYm9vdGxvYWRlcl9kaXNw
bGF5X2NvcHlmYWlsKGxpYnhsX19lZ2MgKmVnYywKICAgICBsaWJ4bF9fYm9v
dGxvYWRlcl9zdGF0ZSAqYmwgPSBDT05UQUlORVJfT0YoZGMsICpibCwgZGlz
cGxheSk7CiAgICAgYm9vdGxvYWRlcl9jb3B5ZmFpbChlZ2MsICJib290bG9h
ZGVyIG91dHB1dCIsIGJsLCAxLCByYyxvbndyaXRlLGVycm5vdmFsKTsKIH0K
K3N0YXRpYyB2b2lkIGJvb3Rsb2FkZXJfdGltZW91dChsaWJ4bF9fZWdjICpl
Z2MsIGxpYnhsX19ldl90aW1lICpldiwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCAqcmVxdWVzdGVkX2Fi
cywgaW50IHJjKQoreworICAgIGxpYnhsX19ib290bG9hZGVyX3N0YXRlICpi
bCA9IENPTlRBSU5FUl9PRihldiwgKmJsLCB0aW1lKTsKKyAgICBTVEFURV9B
T19HQyhibC0+YW8pOworCisgICAgbGlieGxfX2V2X3RpbWVfZGVyZWdpc3Rl
cihnYywgJmJsLT50aW1lKTsKKworICAgIGFzc2VydChsaWJ4bF9fZXZfY2hp
bGRfaW51c2UoJmJsLT5jaGlsZCkpOworICAgIExPR0QoRVJST1IsIGJsLT5k
b21pZCwgImtpbGxpbmcgYm9vdGxvYWRlciBiZWNhdXNlIG9mIHRpbWVvdXQi
KTsKKworICAgIGxpYnhsX19ldl9jaGlsZF9raWxsX2RlcmVnaXN0ZXIoYW8s
ICZibC0+Y2hpbGQsIFNJR0tJTEwpOworCisgICAgYm9vdGxvYWRlcl9jYWxs
YmFjayhlZ2MsIGJsLCByYyk7Cit9CiAKIHN0YXRpYyB2b2lkIGJvb3Rsb2Fk
ZXJfZG9tYWluZGVhdGgobGlieGxfX2VnYyAqZWdjLAogICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBsaWJ4bF9fZG9tYWluZGVhdGhjaGVj
ayAqZGMsCkBAIC03MTcsNiArNzU2LDcgQEAgc3RhdGljIHZvaWQgYm9vdGxv
YWRlcl9maW5pc2hlZChsaWJ4bF9fZWdjICplZ2MsIGxpYnhsX19ldl9jaGls
ZCAqY2hpbGQsCiAgICAgU1RBVEVfQU9fR0MoYmwtPmFvKTsKICAgICBpbnQg
cmM7CiAKKyAgICBsaWJ4bF9fZXZfdGltZV9kZXJlZ2lzdGVyKGdjLCAmYmwt
PnRpbWUpOwogICAgIGxpYnhsX19kYXRhY29waWVyX2tpbGwoJmJsLT5rZXlz
dHJva2VzKTsKICAgICBsaWJ4bF9fZGF0YWNvcGllcl9raWxsKCZibC0+ZGlz
cGxheSk7CiAKZGlmZiAtLWdpdCBhL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxf
aW50ZXJuYWwuaCBiL3Rvb2xzL2xpYnMvbGlnaHQvbGlieGxfaW50ZXJuYWwu
aAppbmRleCAxMjE5ZmY4ZGJkODkuLmQ1NzMyZDFjMzc5MiAxMDA2NDQKLS0t
IGEvdG9vbHMvbGlicy9saWdodC9saWJ4bF9pbnRlcm5hbC5oCisrKyBiL3Rv
b2xzL2xpYnMvbGlnaHQvbGlieGxfaW50ZXJuYWwuaApAQCAtMTAyLDYgKzEw
Miw3IEBACiAjZGVmaW5lIExJQlhMX1FNUF9DTURfVElNRU9VVCAxMAogI2Rl
ZmluZSBMSUJYTF9TVFVCRE9NX1NUQVJUX1RJTUVPVVQgMzAKICNkZWZpbmUg
TElCWExfUUVNVV9CT0RHRV9USU1FT1VUIDIKKyNkZWZpbmUgTElCWExfQk9P
VExPQURFUl9USU1FT1VUIDEyMAogI2RlZmluZSBMSUJYTF9YRU5DT05TT0xF
X0xJTUlUIDEwNDg1NzYKICNkZWZpbmUgTElCWExfWEVOQ09OU09MRV9QUk9U
T0NPTCAidnQxMDAiCiAjZGVmaW5lIExJQlhMX01BWE1FTV9DT05TVEFOVCAx
MDI0CkBAIC0zNzQ0LDYgKzM3NDUsNyBAQCBzdHJ1Y3QgbGlieGxfX2Jvb3Rs
b2FkZXJfc3RhdGUgewogICAgIGxpYnhsX19vcGVucHR5X3N0YXRlIG9wZW5w
dHk7CiAgICAgbGlieGxfX29wZW5wdHlfcmVzdWx0IHB0eXNbMl07ICAvKiBb
MF0gaXMgZm9yIGJvb3Rsb2FkZXIgKi8KICAgICBsaWJ4bF9fZXZfY2hpbGQg
Y2hpbGQ7CisgICAgbGlieGxfX2V2X3RpbWUgdGltZTsKICAgICBsaWJ4bF9f
ZG9tYWluZGVhdGhjaGVjayBkZWF0aGNoZWNrOwogICAgIGludCBuYXJncywg
YXJnc3NwYWNlOwogICAgIGNvbnN0IGNoYXIgKiphcmdzOwotLSAKMi40Mi4w
Cgo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 15:26:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 15:26:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629714.982073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r16vO-0004ln-Gw; Thu, 09 Nov 2023 15:26:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629714.982073; Thu, 09 Nov 2023 15:26: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 1r16vO-0004lg-Dn; Thu, 09 Nov 2023 15:26:30 +0000
Received: by outflank-mailman (input) for mailman id 629714;
 Thu, 09 Nov 2023 15:26: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=T6cS=GW=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r16vM-0004kP-VG
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 15:26:29 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe02::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 592a5520-7f14-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 16:26:27 +0100 (CET)
Received: from AS9PR06CA0343.eurprd06.prod.outlook.com (2603:10a6:20b:466::26)
 by DB9PR08MB6474.eurprd08.prod.outlook.com (2603:10a6:10:255::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Thu, 9 Nov
 2023 15:26:20 +0000
Received: from AMS0EPF0000019B.eurprd05.prod.outlook.com
 (2603:10a6:20b:466:cafe::5d) by AS9PR06CA0343.outlook.office365.com
 (2603:10a6:20b:466::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18 via Frontend
 Transport; Thu, 9 Nov 2023 15:26:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019B.mail.protection.outlook.com (10.167.16.247) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 15:26:18 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Thu, 09 Nov 2023 15:26:18 +0000
Received: from 6b96da4c07ca.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C04B0B07-E5A4-492A-A97C-AF920EECE94B.1; 
 Thu, 09 Nov 2023 15:26:07 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6b96da4c07ca.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Nov 2023 15:26:07 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB9PR08MB6395.eurprd08.prod.outlook.com (2603:10a6:10:254::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Thu, 9 Nov
 2023 15:26:04 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866%3]) with mapi id 15.20.6954.028; Thu, 9 Nov 2023
 15:26: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: 592a5520-7f14-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AilNS/OfuGsSH5rbXo1cxB2/TD34aSwv9sOUl5X1KMKKKWd18WYn2errpEXxTQd1vhbeMmy20jJEwcTG/i4D6BwNGE9wtRgPK8K+CTpZlQTFKAJlCrFQVzkjzFumfy4DfuUj4DdqiZ8xL7lvMn/vl/63rzd4ji5j7m1dsT4eDVLB5nUskdjuQOKfCouGNPsh3rZEi42PoyYYtr8eLxbVUoaDORfnTBxDMbFN3FmPBNt1O+1+YFxcmxcmB16NedvP7jT7XcsJ0qHcznQ6zkZDh31qpCgw2jOk+Gk/kTSMZEDNUcIADckyx5saTbxriu7tRNzdo7z/A46QShQVs5fnEw==
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=+onWsxtyX/w6HWGFNvhf0glyoxfq7tyA8Ffyh4DhmFc=;
 b=mKRx7mJ963P9TX1NPRWySLm1C/MWXxLZ5L9x85BCbRkXBxJcc4p1bkMp6yOut3snokHC5Xg5GfSL08Ytij7b3INXLMTZQGqXBo0+I8RW4VXnWCDyALWinl07pQN3ysdoECpOTo+ohmR5ibW+Cv/LY3K6BiyFV7x+boqSX1xzevFrtyrzNPDY0j3Gtoq4FgT7jomHchQjsmsZlHqYi4SPKZrx3dV3Ny+aplwrm/kULxs6umO1joDuZiPHuZpqCJTqogiaV1R0FKeSaG28o9BinE53MOTPTd5KN4AAUITgEmqNVXI4ei2xssXdpC5UalcKeJOmgc0TCk8FXl8CUa0I9g==
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=+onWsxtyX/w6HWGFNvhf0glyoxfq7tyA8Ffyh4DhmFc=;
 b=PHU18rq6hI7nj/QfV5cDvgEmtTPYNHEueIXkMXIMBxxXAJ2HJzfxSq8Bz4F5cBwmc89RgZI7TtSP537dogXEByGkoQtgO54G44YdKjgZN9LbaCVbkjEAp3vwdK9yI5za43Z4sARyPMEeHZdmTyW06yHXMGDezuoKHCQOyM76zAM=
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: adde4a790d4c2882
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Bv/5PXHrLtrmpLIaqS1Bk4hg84Q9GIzctvIOKaKOGGl6ByfFVB+A013uzjlU7iYiBj+W9nsQfrYOFQLKZfsgZVlPteqTiOyfk3FZnT4KDmDkKW92025F1VsWFbDLublmRKraHbgte1RIh/apgczeFvVF33+LGTlS3strYDx/nwp8p+q0zjr2gHsBpl4jcDAe17q9uOtTeqAzG9aVjGgXpO/XgJu4V2heTGmSKoksufXQv68gWhjkLg35C2AJopsAqbAYIJ+XKDKtwL/zVflzeNp6KTSnlm1CG5wfM4FaEeMmrO0XO+1C6CKH1PuW+QlBEwGjxs19oQg9Ezkt7GaG8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+onWsxtyX/w6HWGFNvhf0glyoxfq7tyA8Ffyh4DhmFc=;
 b=MkbJ+1u6ZM1YRQbxsmee4CrvzzOMxWv3okwwas2TYG8mljdoeiVzl7+zaLdExA/b1nikM6abUQDiewZzi6i3ElzgWqZc0btb6J3G9OkLvgrmu2ZWNzfFOqeSUnf+HeG+1WRRym/0+IMU95H/TU0VMAPq0A2I2ZOeIu/yfqnnjE5w4T/XLctwuFVPf61tu8RobdivqB/wgZOrFbnZ3qTan/Eg/SBVcj7zTx3GTc9NOlKnvhh2Qr3wQ5TjeoaBDBBrNpWp13147+Hz62eTdizt7h3IjvQE7h085R6aAC+ps1/8oiLMZq/KoqdckeBetMgsC8SFt04rRYn4qM/A7LDz2g==
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=+onWsxtyX/w6HWGFNvhf0glyoxfq7tyA8Ffyh4DhmFc=;
 b=PHU18rq6hI7nj/QfV5cDvgEmtTPYNHEueIXkMXIMBxxXAJ2HJzfxSq8Bz4F5cBwmc89RgZI7TtSP537dogXEByGkoQtgO54G44YdKjgZN9LbaCVbkjEAp3vwdK9yI5za43Z4sARyPMEeHZdmTyW06yHXMGDezuoKHCQOyM76zAM=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 v3 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Topic: [PATCH v3 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Index: AQHaEuwcMi2uzYg9sUaekJ4uQMuKYLBx1QmAgABHKwA=
Date: Thu, 9 Nov 2023 15:26:03 +0000
Message-ID: <305BEDEE-7191-4EA5-8BCF-C92A1CF21D32@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-4-luca.fancellu@arm.com>
 <bec276f9-ea9d-4c9f-887c-358a3f7815fd@amd.com>
In-Reply-To: <bec276f9-ea9d-4c9f-887c-358a3f7815fd@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DB9PR08MB6395:EE_|AMS0EPF0000019B:EE_|DB9PR08MB6474:EE_
X-MS-Office365-Filtering-Correlation-Id: 7850ccf6-ba26-4843-4bde-08dbe138389e
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:
 j901oB0h9ba55W76d2OsnO13wREgWap+uGDlpsm52PRQ7NiPGHRZ8efgSZCMZN4aunt3316uZ+d9S+v3GOOwENa/Q2dge87Nth5fo2LAs1qU6rryhhtHlFO/GwC2cdCVFSmUkzFxXuFYW/PcdvmryvqoefO3REOn1CdPTBiyTg/DnDtHVUQyqeU4cd58LePvIozI/qunTjbCra3psLS3+6DwGLZGY1tdt6wzlPMY8NxLJDChYsDm7HzQagYz1DW8M2TYu6ikhlqdwHAxG5KTbF3sjirHEtmyPwZeT64TpYE30UMlsOoBdePYdeE3u+D+WrZOx8VY8GYj9i8F7R2oMIPw5TQ7H+tOqMXUIVl9kvnV0sn+12Kvo7sh2TgHRA6kZ5Rpn9CBhpWEaBnNRJz/O7CbuC5bOwTjitrk8sG6g3ptCMOv5H/XGSuiYcIiR0W5trT/o9GfhPkot4ZPDKHHUEDuqTOcDSrOJk4GVoxvcSvAC3xHMibQ4fkqj4PPs/YPjsJLCgI/mPvA8mEKf2tCA4w04I4aPZOMgMSQjMBs4KD6ZkYxbKh+RLBmDisa/nmRjMnFBzxtSs066VK/atz1mp8CFU4fldz1gGfFN6JozxiDrOM+2X3ljtRECsl0Rg9/tHJGm/T9yGtSJeqVryyZwGYAz/eU1m1bJRx8T6Ad6TSGHAAWG8wMV1P7DaG1zR5zMyOu58pLuRaC2Mki/gwqKQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(39860400002)(396003)(376002)(346002)(230922051799003)(230173577357003)(230273577357003)(64100799003)(186009)(1800799009)(451199024)(66556008)(2616005)(6506007)(6486002)(53546011)(6512007)(478600001)(71200400001)(41300700001)(2906002)(76116006)(26005)(64756008)(66946007)(66446008)(316002)(54906003)(38070700009)(8936002)(91956017)(4326008)(5660300002)(8676002)(83380400001)(66476007)(6916009)(33656002)(38100700002)(36756003)(122000001)(86362001)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <A35F6866B6C0D544965B8709AE9BA106@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6395
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:
 AMS0EPF0000019B.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f038d828-c55b-4a85-8cc5-08dbe1382f6c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8GB1o/x3FiCI8DsMlO5a12WKymRvLGbOuVzSz/0PGFJTe8WA4tYJbCMJpBCMJx7tlS1d/7xhJWWOhkXj3d/7DVPKSIGoZaxYMGacuICQv/lMHsYDm45ofEGkAEe3308xIuSDBbZzahV+Libe3/1lIngtSuv/55KRxbGczVaYm+yW61hfFkwJrGMGWJHVRHuj2zTo3D+Yo8BQsKImgTqg+srnGPsAW/Fjw0AmeZuIIH6Di9P+kPDHQYoKql9vySsoVc2DFX+sWbiq6IKttHatbTEWG3GCO1irGYBwctouWyWJwn3IPqWYqCbiFqQBn/wEKHtBAOC0HBhpaaozMQP9p+7kvkSRlzQ0wnNlmcm4d/Tf8MWP0CLK8XwVBZX+OjnDQbB0OvjDg2JbZ1rKXLNEXylIT0lF0dw7SBcQkBOpcdogGhwEsTphI0S/+3btrT21wvahioC8/cD1UREMuMke48XoOQb1ArHzEavQgyTK8DxWkbUTEs/PSOBJ97byylIY3fns8fDa/tIg/cWOBAcaS+wuGMpbvJwYpz6qrMOFAXhIow+iA1p2/UpPndY2ZXi8LtOUSSOynwnppiaRQwrvi9kG4cEgzxL1tShn3P94RPtRIVtaOvK6irjXqZSisMHY2aPAHegc6VMDoau/XoezUFrulgX7V7/kxcEwlRg4+BqL5sFClHkog0TzkhG4rsE5dWuTFw6ouCgAwhTv/8f65pc9SdiHplqoUb9LTpP/vukO9NeuTRMhCbF7Mx0LiTzoKxM5GWRWyPhJeExrqJ7yFHHDYFUUdYe7chZJnR2sdO7hiXVUTL5t0Q2Umcn5oEEq
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:(13230031)(4636009)(396003)(346002)(376002)(39860400002)(136003)(230173577357003)(230922051799003)(230273577357003)(451199024)(64100799003)(186009)(82310400011)(1800799009)(40470700004)(36840700001)(46966006)(5660300002)(8936002)(8676002)(6862004)(4326008)(6486002)(478600001)(2906002)(41300700001)(40460700003)(316002)(40480700001)(54906003)(70206006)(70586007)(53546011)(36756003)(36860700001)(86362001)(26005)(336012)(107886003)(2616005)(356005)(47076005)(81166007)(33656002)(6506007)(82740400003)(83380400001)(6512007)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 15:26:18.6904
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7850ccf6-ba26-4843-4bde-08dbe138389e
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:
	AMS0EPF0000019B.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6474

Hi Michal,

> On 9 Nov 2023, at 11:11, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Luca,
>=20
> On 09/11/2023 10:06, Luca Fancellu wrote:
>>=20
>>=20
>> Currently the dom0less feature code is mostly inside domain_build.c
>> and setup.c, it is a feature that may not be useful to everyone so
>> put the code in a different compilation module in order to make it
>> easier to disable the feature in the future.
>>=20
>> Move gic_interrupt_t in domain_build.h to use it with the function
>> declaration, move its comment above the declaration.
>>=20
>> The following functions are now visible externally from domain_build
>> because they are used also from the dom0less-build module:
>> - get_allocation_size
>> - set_interrupt
>> - domain_fdt_begin_node
>> - make_memory_node
>> - make_resv_memory_node
> This one, despite the name, is strictly related to shmem. Shouldn't we mo=
ve it to static-shmem?

Yes you are right, good catch!

>=20
>> - make_hypervisor_node
>> - make_psci_node
>> - make_cpus_node
>> - make_timer_node
>> - handle_device_interrupts
>> - construct_domain
>> - process_shm
>> - allocate_bank_memory
> What about static event channels? Does it make sense to leave it unguarde=
d? Reading the docs,
> it looks like at least one domU needs to be present (dom0-domU or domU-do=
mU). Hovever, looking at the code it should
> be possible for a loopback. That said, I don't really find it useful give=
n that loopback does not really need this feature.

I think you could be right, but maybe it ought to be on a module on its own=
? Like static-evtch.c? I would like to ear the opinions
of the other maintainer on that, since it might be controversial as you exp=
lained above.

>=20
>>=20
>> The functions allocate_static_memory and assign_static_memory_11
>> are now externally visible, so put their declarations into
>> domain_build.h and move the #else and stub definition in the header
>> as well.
>>=20
>> Move is_dom0less_mode from setup.c to dom0less-build.c and make it
>> externally visible.
>>=20
>> The function allocate_bank_memory is used only by dom0less code
>> at the moment, but it's been decided to leave it in domain_build.c
>> in case that in the future the dom0 code can use it.
>>=20
>> Where spotted, fix code style issues.
>>=20
>> No functional change is intended.
>>=20
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> ---
>> Changes from v2:
>> - move allocate_bank_memory back in domain_build.c, remove header
>>   from dom0less-build.c.
> I can see you removed the copyright from .c but .h still has it. This als=
o
> applies to other newly introduced files that were subject only to code mo=
vement.

Yes I forgot about it, I will remove it in the next push

>=20
> ~Michal



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 15:30:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 15:30:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629719.982082 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r16zW-0006QN-2G; Thu, 09 Nov 2023 15:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629719.982082; Thu, 09 Nov 2023 15:30: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 1r16zV-0006QG-VW; Thu, 09 Nov 2023 15:30:45 +0000
Received: by outflank-mailman (input) for mailman id 629719;
 Thu, 09 Nov 2023 15:30: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=zBPi=GW=casper.srs.infradead.org=BATV+c182118e23cc89d32fc1+7382+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r16zU-0006QA-OU
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 15:30:44 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f0dc1b85-7f14-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 16:30:41 +0100 (CET)
Received: from [2001:8b0:10b:5:e60c:fbc4:6b73:8eff]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r16zI-0080Jc-Ho; Thu, 09 Nov 2023 15: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>
X-Inumbo-ID: f0dc1b85-7f14-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:Date:Cc:To:
	From:Subject:Message-ID:Sender:Reply-To:Content-Transfer-Encoding:Content-ID:
	Content-Description:In-Reply-To:References;
	bh=YNZrzaqqF9dIWOsyly6LCz18pJYLR22j/p8dMcADsMg=; b=JsCckEeibO4jmHHALfpzRRyyfk
	SOnYQjZMKwxGsalgnmI7c/5cQKr8lAl+sGdhI8ufg+uK8ZCzS6FwR0gml0IgFvmvY1J80/S4cFL9Y
	2wDea/EXusReOZOXrKyg8+wIRc8M0TU+eKyOkC4bmn6CMgOm1aXJj38vTotAD0NZggZI1hYV+Wawm
	wZYYhK1XfNrXUhIX6KZz5tLhkx6oZ46IUFDF4HpUGk1kAJxyM6YzttxUlG0ndjI/sS7YCmQYiEelZ
	i52jc46/lahHad9dnjVcR8m72jsF2NNtK3seL2p8GZt8uLmqoesi+cqMRUBaXOk/yiKyHhg8+HRvl
	dEUCN4tg==;
Message-ID: <1c312ba88e0928527dad6bc2e1b73d8cfe4b7f48.camel@infradead.org>
Subject: [PATCH] hw/xen: clean up xen_block_find_free_vdev() to avoid
 Coverity false positive
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	 <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Kevin Wolf
	 <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, 
	xen-devel@lists.xenproject.org, qemu-block@nongnu.org
Date: Thu, 09 Nov 2023 15:30:32 +0000
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-02mhxRPaxKZDyZCmug9W"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-02mhxRPaxKZDyZCmug9W
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64

RnJvbTogRGF2aWQgV29vZGhvdXNlIDxkd213QGFtYXpvbi5jby51az4KCkNvdmVyaXR5IGNvdWxk
bid0IHNlZSB0aGF0IG5yX2V4aXN0aW5nIHdhcyBhbHdheXMgZ29pbmcgdG8gYmUgemVybyB3aGVu
CnFlbXVfeGVuX3hzX2RpcmVjdG9yeSgpIHJldHVybmVkIE5VTEwgaW4gdGhlIEVOT0VOVCBjYXNl
IChDSUQgMTUyMzkwNikuCgpQZXJoYXBzIG1vcmUgdG8gdGhlIHBvaW50LCBuZWl0aGVyIGNvdWxk
IFBldGVyIGF0IGZpcnN0IGdsYW5jZS4gSW1wcm92ZQp0aGUgY29kZSB0byBob3BlZnVsbHkgbWFr
ZSBpdCBjbGVhcmVyIHRvIENvdmVyaXR5IGFuZCBodW1hbiByZXZpZXdlcnMKYWxpa2UuCgpTaWdu
ZWQtb2ZmLWJ5OiBEYXZpZCBXb29kaG91c2UgPGR3bXdAYW1hem9uLmNvLnVrPgotLS0KwqBody9i
bG9jay94ZW4tYmxvY2suYyB8IDI0ICsrKysrKysrKysrKysrKysrKysrKy0tLQrCoDEgZmlsZSBj
aGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2h3
L2Jsb2NrL3hlbi1ibG9jay5jIGIvaHcvYmxvY2sveGVuLWJsb2NrLmMKaW5kZXggNmQ2NGVkZTk0
Zi4uYWVkMWQ1YzMzMCAxMDA2NDQKLS0tIGEvaHcvYmxvY2sveGVuLWJsb2NrLmMKKysrIGIvaHcv
YmxvY2sveGVuLWJsb2NrLmMKQEAgLTkxLDkgKzkxLDI3IEBAIHN0YXRpYyBib29sIHhlbl9ibG9j
a19maW5kX2ZyZWVfdmRldihYZW5CbG9ja0RldmljZSAqYmxvY2tkZXYsIEVycm9yICoqZXJycCkK
wqAKwqDCoMKgwqAgZXhpc3RpbmdfZnJvbnRlbmRzID0gcWVtdV94ZW5feHNfZGlyZWN0b3J5KHhl
bmJ1cy0+eHNoLCBYQlRfTlVMTCwgZmVfcGF0aCwKwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoCAmbnJfZXhpc3RpbmcpOwotwqDCoMKgIGlmICghZXhpc3RpbmdfZnJvbnRlbmRz
ICYmIGVycm5vICE9IEVOT0VOVCkgewotwqDCoMKgwqDCoMKgwqAgZXJyb3Jfc2V0Z19lcnJubyhl
cnJwLCBlcnJubywgImNhbm5vdCByZWFkICVzIiwgZmVfcGF0aCk7Ci3CoMKgwqDCoMKgwqDCoCBy
ZXR1cm4gZmFsc2U7CivCoMKgwqAgaWYgKCFleGlzdGluZ19mcm9udGVuZHMpIHsKK8KgwqDCoMKg
wqDCoMKgIGlmIChlcnJubyA9PSBFTk9FTlQpIHsKK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgLyoK
K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIElmIHRoZSBmcm9udGVuZCBkaXJlY3RvcnkgZG9l
c24ndCBleGlzdCBiZWNhdXNlIHRoZXJlIGFyZQorwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICog
bm8gZXhpc3RpbmcgdmJkIGRldmljZXMsIHRoYXQncyBmaW5lLiBKdXN0IGVuc3VyZSB0aGF0IHdl
CivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBkb24ndCBkZXJlZmVyZW5jZSB0aGUgTlVMTCBl
eGlzdGluZ19mcm9udGVuZHMgcG9pbnRlciwgYnkKK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAq
IGNoZWNraW5nIHRoYXQgbnJfZXhpc3RpbmcgaXMgemVybyBzbyB0aGUgbG9vcCBiZWxvdyBpcyBu
b3QKK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqIGVudGVyZWQuCivCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgKgorwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogSW4gZmFjdCB0aGlzIGlzIHJl
ZHVuZGFudCBzaW5jZSBucl9leGlzdGluZyBpcyBpbml0aWFsaXplZAorwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgICogdG8gemVybywgYnV0IHNldHRpbmcgaXQgYWdhaW4gaGVyZSBtYWtlcyBpdCBh
YnVuZGFudGx5IGNsZWFyCivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiB0byBDb3Zlcml0eSwg
YW5kIHRvIHRoZSBodW1hbiByZWFkZXIgd2hvIGRvZXNuJ3Qga25vdyB0aGUKK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCAqIHNlbWFudGljcyBvZiBxZW11X3hlbl94c19kaXJlY3RvcnkoKSBvZmYg
dGhlIHRvcCBvZiB0aGVpcgorwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICogaGVhZC4KK8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCAqLworwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBucl9leGlzdGlu
ZyA9IDA7CivCoMKgwqDCoMKgwqDCoCB9IGVsc2UgeworwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAv
KiBBbGwgb3RoZXIgZXJyb3JzIGFjY2Vzc2luZyB0aGUgZnJvbnRlbmQgZGlyZWN0b3J5IGFyZSBm
YXRhbC4gKi8KK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZXJyb3Jfc2V0Z19lcnJubyhlcnJwLCBl
cnJubywgImNhbm5vdCByZWFkICVzIiwgZmVfcGF0aCk7CivCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
IHJldHVybiBmYWxzZTsKK8KgwqDCoMKgwqDCoMKgIH0KwqDCoMKgwqAgfQrCoArCoMKgwqDCoCBt
ZW1zZXQodXNlZF9kZXZzLCAwLCBzaXplb2YodXNlZF9kZXZzKSk7Ci0tIAoyLjM0LjEKCgo=


--=-02mhxRPaxKZDyZCmug9W
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTA5MTUzMDMyWjAvBgkqhkiG9w0BCQQxIgQgolBiUqHW
pW+lU5in8vtVQr1VzYOAaP1fOE3JxKsc9Uwwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBudmi3vyR+wTJNJuHzi9Sw1nJ4Dzgmicxe
PDRgKQy7kaR81nusH1qGOOvhphtKNOciSLFhEnj6CwpsPC79LNV2pg270z6bkUHaWKpgF8U3eJIo
MDynd4NsXuPBkU5T89CCWWM+vsolkRM1gKsV4YdW9CZ2yO001+cokYpzf5E2c0iCcZJ79o71E16W
9zAKh0JWScIG0ySpz2RSGWhFoPgvO1jtLfmZOOri4/4pLKufwHR+ExHDBYLWhX+GzPi19hL00X2B
wGDhGBHu04iOlGzD93y99niUgi9fOrsTI7wF16UvoqBAR/6VxWQXPWMb1LYZukn0wPH13YTEZEnB
GoDHGZ1HTb4ySVu0UBfJcG4uWgUHrZ08TE0d3OJy8o1xN2jEdMhUD9luRhU157H957xit47BENhO
1CbNG22151hE0g4oN7khnGdtM0qaNzG59C7cA2RzY4fQN4fLyxMjS8PbVp+Yz9l/R0nNHlGLnkCm
EzIWsUm8MIWUvins6Ey2QypA9ivE7XV3KE+dVqKrPRm3KOqsU3c2Kd+spTx1zGOD79egXD+DoDcr
VE8A3+DVbSP7B4EfkZ6+KPOa3R7WO39BFKzwt8P81UVB60Z0z2kS7Xut90ljv7bTXWv0TiRm2Sni
2itdn+BrctiqR2YQDcgsyDpOcMIkdQyOnfqTAo1tZwAAAAAAAA==


--=-02mhxRPaxKZDyZCmug9W--


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 15:34:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 15:34:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629725.982093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1732-0007Nn-LR; Thu, 09 Nov 2023 15:34:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629725.982093; Thu, 09 Nov 2023 15:34:24 +0000
Received: from localhost ([127.0.0.1] helo=lists.xenproject.org)
	by lists.xenproject.org with esmtp (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1732-0007Ng-Hc; Thu, 09 Nov 2023 15:34:24 +0000
Received: by outflank-mailman (input) for mailman id 629725;
 Thu, 09 Nov 2023 15:34: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=T6cS=GW=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r1731-0007Na-QS
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 15:34:23 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2062b.outbound.protection.outlook.com
 [2a01:111:f400:fe16::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 74026ef3-7f15-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 16:34:21 +0100 (CET)
Received: from AS9PR01CA0041.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:542::15) by AS8PR08MB6502.eurprd08.prod.outlook.com
 (2603:10a6:20b:335::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Thu, 9 Nov
 2023 15:34:19 +0000
Received: from AM3PEPF0000A799.eurprd04.prod.outlook.com
 (2603:10a6:20b:542:cafe::ad) by AS9PR01CA0041.outlook.office365.com
 (2603:10a6:20b:542::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 15:34:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A799.mail.protection.outlook.com (10.167.16.104) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 15:34:17 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Thu, 09 Nov 2023 15:34:17 +0000
Received: from bb318f0b44e7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F076043C-6D0B-4D80-AD73-73806E012614.1; 
 Thu, 09 Nov 2023 15:34:10 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id bb318f0b44e7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 09 Nov 2023 15:34:10 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 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.6977.18; Thu, 9 Nov
 2023 15:34:08 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::76e6:a7e1:1592:866%3]) with mapi id 15.20.6954.028; Thu, 9 Nov 2023
 15: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>
X-Inumbo-ID: 74026ef3-7f15-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=YWnosif68JtEfxYFdPtqctzVSvgdCMLu9AvkqI0651Ldp3lwMzVdk9Coe+MCPvObDdccwpkqMX2pHVXJ5NqLIqGfPHGy5Ubp2KCdwJtWv3UEbnrjzbpbotKGpXtCrQcaT+80Y6PNmrmOWKU9Y0sLcLPugYHBLZ79p2D4rPhGdIbv4Ww5tW00aEgemCFHN1PofmhhON3uY0BhgoJzX5KlQKiDWSNJWrpSpO3chucgOF5j1Ujs47rsFa7NRhb+EfqPxyoS+xUXD6Enk4dIOU6bYL4cp4lSByzreCjqAl6XkIuquVtP4aCZ7JxQQPVIVLzh/piY6XaVOUIZmedotCpiBw==
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=m3eXTsVsY4QZ48T4C22IeeOy/fXf/zPA1j8gxc0ySaQ=;
 b=nZE7ZvCjLLD1kXokFWs+b7hkTGqVsFGs1GYzNChw1VZjJV8eUu3M16fnhCSpEttfEorAdS0vEyAvebV3KjGcDVE3/iaVHqxTZ+kFR+5/41e3XMKkyrH40IOfnm2J2ln8akoehXKdEk7oapEfYFFnWssOXq38+UQEWqeXrFItR27MYIhazTWb07vi14t1mUzVKyrGfy3zMdWZFjnfjFYN+q/TVZPh+e3+81QKRcT2pQxh3O/e4VcBZDtP0DavEzKzzP1FSlWemoUkdpqI7lFtBlX8/d4+u3+d2viG43ryNQQowCJ4VhK+Ij01jmKxRYyI0OTc23d5bXkeooEIjh7UuQ==
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=m3eXTsVsY4QZ48T4C22IeeOy/fXf/zPA1j8gxc0ySaQ=;
 b=Vmc7LFd8Od5Zp7Mq/QBJoHH+zw2xjE3sqiY4vaoGna/upEtwLFTM9DyrO4527SSIij4WBYH57js+szu4nojJVYg8RAtyZTPZGzIYS5MMEc9L0DTEQsS5xUn+wu3AuaH+9eNKh158+gcaYn+bpecRvFGqHCWQW2M/W7UJvpwIOJs=
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: 0c1673d4d9d96599
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IKUzpYGr791q1ycs9Tb8PDwtQrgAWyU82DLeYC0FAbsivDON/NHz78l1kHQnEsF2NJzWs3Au/awKY3pENzzQLrP8wn1QRUkkbxzsjhqUL3m27pBNJQZtxfzkzHn8BQr4bFLK8PqCEq/+FFdSbVCylgRfoiPc6i+dH61nXnsfDwHG+HxqiXxdTZ9v0TzGlJ+niU4uNjU0hPhbzm9B3CjkUNZ6e33mFX/RoKlOTxhay/6F48NrcW0JumNyQ7UmkMEVY96+qosgPejgE1//zLCEyJTaKOohjvi5BkFrIfRY5thCO3X8Wdqn/5CfNyx//VxKMmJqqR4EtbD6IaH2c+7+tA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m3eXTsVsY4QZ48T4C22IeeOy/fXf/zPA1j8gxc0ySaQ=;
 b=Ey8nfoMnJQ2MWozOYeaoQFelMezeSFxtWoNo4UYNCdjVZPqTDUqbyQAJ7c9UP1ldijt+UuUtzqIYotUWfAqRybOKp2SLnef6RHUUjAzn3TAu3KA9cXSnfKVTH7k8DlJRW0lTvh7dVZb2eX6/iVAr8XqoLcPOKrr02qLFKsJgXU9wbneDHYWsZe8ZxHApDVMcy5mSXvvHHzn58u0t5SQK5cx61yb3D0V6dpdDwQQVvJIgOp+N+0wDgTGVQnThyGuo4lWbussrTfQOq7gdRV0dVK8CE3XxH3OR58hmJCe9GGpi7IA+oVuLYtW1E+DIEqYnueMEI8vOXUvSjQ2HGiVLcg==
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=m3eXTsVsY4QZ48T4C22IeeOy/fXf/zPA1j8gxc0ySaQ=;
 b=Vmc7LFd8Od5Zp7Mq/QBJoHH+zw2xjE3sqiY4vaoGna/upEtwLFTM9DyrO4527SSIij4WBYH57js+szu4nojJVYg8RAtyZTPZGzIYS5MMEc9L0DTEQsS5xUn+wu3AuaH+9eNKh158+gcaYn+bpecRvFGqHCWQW2M/W7UJvpwIOJs=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 v3 4/5] xen/arm: Move static memory build code in separate
 modules
Thread-Topic: [PATCH v3 4/5] xen/arm: Move static memory build code in
 separate modules
Thread-Index: AQHaEuwaVYEciB6sG06PR543lMQVdbBx1haAgABIYIA=
Date: Thu, 9 Nov 2023 15:34:07 +0000
Message-ID: <B989BAAD-FD9C-401E-AD4D-4C039ECB9DF0@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-5-luca.fancellu@arm.com>
 <cea75c65-ed76-4f23-a0cf-7500da9e3e36@amd.com>
In-Reply-To: <cea75c65-ed76-4f23-a0cf-7500da9e3e36@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DBBPR08MB5996:EE_|AM3PEPF0000A799:EE_|AS8PR08MB6502:EE_
X-MS-Office365-Filtering-Correlation-Id: 85b5572e-034c-4251-af48-08dbe13955fc
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:
 zMJou4njVTU/3poXrNav4FFHVI/rfyr252MC3rb9PGa7JESdu/nf6jY2bGzeCOPs0xnOKDaBkeS+KBERH+iimeyOnoxlKHMh3yWcgVuJBc4I74EQ2KilWp21R2imXywr4a5kGDGPh9+bs3Z0opmcVFfckiTFkBUtrzQ3I8y5XvPxzeDAPvEZXqLORGQMr75vG2wdiEh2i7GJsQUnuv4THN0Gk8YzX5scRUxT5LBIT1u3gsDa11ObvtnnJEI+J/oP5+Co8jVGz/c/PBzGwa6TfRjiT3+cGSCDHO2OAUlV4wHJ65wa5r+gC/LJPKXZyAwF0A06hRIdlu//C0Dorv3brMaxs+HrsNajN8RWpXZDQ6ErkBc9gSALAwjBw2kZMWpMZt1wdRF9gvMUrDOgN4khqElgdqAfENSRRZaiFvZLykrnwI/Bb/2nrYISoTTGdZWAZ9CNDOM412wrD6eQ7KlzO4++wuknlADWnG0/jT3iTkcd85i4fpWhK4IHGwEqBedbCG3WgAYvp+fcf1LDhF07rSVbajnW+Tn7NoCmp4WhlXLEzWrWketpwlArGkMnNHrPCMiM6O8MmEaRMfPQjM9Mx60QS4BNF9+rEzkRMCSS8nilfMye9Jmeut1+p1JHesZhHabcSU4a1fsJrPtKNLHrRFJSv7VNvmmbqMBnvob7f5/xZcqkNFJXXIivFVVVIv/d
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(366004)(136003)(39860400002)(376002)(230273577357003)(230173577357003)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(26005)(2616005)(38070700009)(53546011)(6506007)(6512007)(41300700001)(76116006)(66556008)(66446008)(91956017)(66946007)(64756008)(66476007)(54906003)(316002)(6916009)(5660300002)(36756003)(86362001)(33656002)(8936002)(4326008)(8676002)(122000001)(38100700002)(71200400001)(6486002)(478600001)(2906002)(4744005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <66191205DE5AAF429044B6FBA7E13F5A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
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:
 AM3PEPF0000A799.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a760afab-04b3-4241-6cf2-08dbe1395056
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O05S7UtmjZXnZm211NOx7ME1fNku4sfHuLgUTjIK2cboUDoHGkmAYBcca0ulYfp/p6VxuL4AK64yO7P4OcTGU5ByXEr9TmUGstwVASEbYFx4URMy/KnqJ7JZMT+YkGPVf89v23WYDcns9dHQCtBCx2EWnoViLUrRWvouM5xKek8i7xCgjjjW2UZ5A8oKOoL9tgG2JDaJPC2+63RDA61mFhJ2u5H67bxOeGK5QlRpFVPQ0C2pTV5bsO8KDCev8q9O3x0rLZTmrR5xjm8f7hYDLhTCScTt8N56uMQ0Tjp2qIWQEBIvqVk+ukp2q09MWdfVt/Btzofzix6qoRwbRCQEeYBvCGXfHoGP8OL/AAUpsWqAH8do7L+f3ECLeHbnA1ectBGwevX+g3JOU5fUOiS9z4F4MzYkdyfUun9n+MClVMMQzQuVE/m0kFMEwfvAwGF9MfbVBNXzvM2SD6SaPEaSXROor3tk77JiHbTJXs6JqqX7HtEBGzWHIVmWkB8QoVOe8UE8jrigZG0XbCt9XmZ7ybwohIqsKxGhjpokK42Y2MztwPwDunRRFmUJ7DLx3sKE5RKGP05BQDhkDXB4pcvwgurSPokEIGpOm9Rk3EPXnFH++oYvYG+gYOzz0wEHWSifqFhHS8OoNlh4NnPafyh+Gq36zFPJmIvgvSfHfQDVgyLy1nhFjBJiKsELGYH7rW1EsmDREA+zGy91263QqGIrd1KY3Gfx0TbEcWujM2xaQYX+iB15Fx/h/6SfVrMRK3umG8gHTChfJqCjAtgYuDjHwA==
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:(13230031)(4636009)(376002)(396003)(346002)(39860400002)(136003)(230922051799003)(230173577357003)(230273577357003)(82310400011)(451199024)(1800799009)(64100799003)(186009)(36840700001)(46966006)(40470700004)(6512007)(41300700001)(47076005)(6486002)(478600001)(6506007)(2616005)(53546011)(336012)(4744005)(8936002)(6862004)(54906003)(8676002)(5660300002)(2906002)(36860700001)(316002)(70586007)(70206006)(26005)(81166007)(356005)(4326008)(107886003)(86362001)(82740400003)(40480700001)(36756003)(40460700003)(33656002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 15:34:17.4597
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 85b5572e-034c-4251-af48-08dbe13955fc
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:
	AM3PEPF0000A799.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6502



> On 9 Nov 2023, at 11:14, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Luca,
>=20
> On 09/11/2023 10:06, Luca Fancellu wrote:
>>=20
>>=20
>> Move static memory and static shared memory code in separate modules
>> so that they are included only when the corresponding feature is
>> enabled, doing that we modularise the features and we remove some
>> ifdefs from the code to improve readability.
>>=20
>> Move process_shm_node function from bootfdt module and make it
>> externally visible.
> What about process_domain_node()? This function is related to "xen,domain=
"
> compatible that is only present for dom0less domUs.

I see it a bit tricky to do, in fact putting it on the static-memory module=
 would need to have it
externally visible from its module, but also it needs to have device_tree_g=
et_meminfo
externally visible from the bootfdt.

I think that one is more a glue-code mostly related to dt and this cross de=
pendency suggests me to
keep it as it is.

Cheers,
Luca



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 15:47:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 15:47:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629729.982103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r17Fy-0002Hv-OZ; Thu, 09 Nov 2023 15:47:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629729.982103; Thu, 09 Nov 2023 15: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 1r17Fy-0002Ho-M4; Thu, 09 Nov 2023 15:47:46 +0000
Received: by outflank-mailman (input) for mailman id 629729;
 Thu, 09 Nov 2023 15:47: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=amlx=GW=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r17Fx-0002Hi-HY
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 15:47:45 +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 52a4cb6d-7f17-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 16:47:44 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4081ccf69dcso13231595e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 07:47:44 -0800 (PST)
Received: from [192.168.12.204] (54-240-197-239.amazon.com. [54.240.197.239])
 by smtp.gmail.com with ESMTPSA id
 bd13-20020a05600c1f0d00b004065daba6casm2474789wmb.46.2023.11.09.07.47.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Nov 2023 07:47:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52a4cb6d-7f17-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699544864; x=1700149664; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=QIsrAhFpMhYGb51ZGgcGzzrbHAXCESCLllmiiSnB6FE=;
        b=MxJ0qwaPoF0RZLeHSW+YF03SF0swwDsdjmWZqG82x9TQRTKVJx3kYOAIspF83SRg+l
         V8fx373OqhOamEuhqi47I3e2Jgem5QL2DG67JHU2bceicnl6lDmjrE6KUVhGUjJslWaZ
         ebEtCNO4lgS9YtrHHC1Qx2SiNre3ecK8JR7LZZj6qw5Z0+gOD5aOgGWtzVeNc+3805Kw
         WRxiTcPRkTOKSzBF9i1y2icIfVVIu458Jc5PIBAklQIN5OIlDv/j0GRsgzKey9VgRdB6
         vVJhuhwO3agC4AGOOxtgqIk9jy5ur+XR231imvDaXK1HG1MZnW9r6QltiVts18Co1WNV
         AHDw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699544864; x=1700149664;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QIsrAhFpMhYGb51ZGgcGzzrbHAXCESCLllmiiSnB6FE=;
        b=Z2hFIHgQnuJf0F0ZZP6Ihj+OmgvyIeCHx5n2PGA1iiyUBbTrIMmi4pzEGOF3OxczOs
         kHHQ0TPKMNy6emmzckUp9vrZP5EUEhmKvMzc6mB9QPRwqQFxP1oiFSVGNPugZLS4FUth
         /aOEhndJn3vM+QcedxRfHQFXHLlflxMzHTtnhx/Vc83riworcfidUcegxO2A+k6FhyRj
         UeltXuhuwbyWDDOjfrIcBF0EazGmhKAtTkju4VC+vIo6OsKk+ncwxpb/1lidA2nf35Zs
         RlcGULL85dIIL7QyjyIsWjRW8pm4hx+KWteqE538e/L28JSbV7pZlsMyfdJun+4Ynm0j
         qy2A==
X-Gm-Message-State: AOJu0YxKMw2YrL3s6x+yY6z/Jsd58rYA5NMlptYbNbNiKZ8eCc7kxgcw
	Pul89kBE7PdrlU/XY613SfU=
X-Google-Smtp-Source: AGHT+IEwP0rH0HLKuGubI2Y6aunJib5CTC75Re2w2jGBSptDq4tJ55ycLtpSsU7u+qT3BGAgZ/1AWw==
X-Received: by 2002:a5d:5087:0:b0:32d:a3cb:4059 with SMTP id a7-20020a5d5087000000b0032da3cb4059mr7030714wrt.24.1699544863643;
        Thu, 09 Nov 2023 07:47:43 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <b1ec4c57-954a-45c0-8ef5-0b63a7f54b3a@xen.org>
Date: Thu, 9 Nov 2023 15:47:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH] hw/xen: clean up xen_block_find_free_vdev() to avoid
 Coverity false positive
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>,
 Peter Maydell <peter.maydell@linaro.org>, qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>, xen-devel@lists.xenproject.org,
 qemu-block@nongnu.org
References: <1c312ba88e0928527dad6bc2e1b73d8cfe4b7f48.camel@infradead.org>
Organization: Xen Project
In-Reply-To: <1c312ba88e0928527dad6bc2e1b73d8cfe4b7f48.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 09/11/2023 15:30, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Coverity couldn't see that nr_existing was always going to be zero when
> qemu_xen_xs_directory() returned NULL in the ENOENT case (CID 1523906).
> 
> Perhaps more to the point, neither could Peter at first glance. Improve
> the code to hopefully make it clearer to Coverity and human reviewers
> alike.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/block/xen-block.c | 24 +++++++++++++++++++++---
>   1 file changed, 21 insertions(+), 3 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 15:48:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 15:48:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629730.982113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r17GL-0002fb-0a; Thu, 09 Nov 2023 15:48:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629730.982113; Thu, 09 Nov 2023 15: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 1r17GK-0002fU-Tf; Thu, 09 Nov 2023 15:48:08 +0000
Received: by outflank-mailman (input) for mailman id 629730;
 Thu, 09 Nov 2023 15:48: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=/VEo=GW=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r17GJ-0002co-0D
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 15:48:07 +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 5ee86532-7f17-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 16:48:04 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-507bd644a96so1404268e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 07:48:04 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l19-20020a05600c4f1300b0040772138bb7sm2489965wmq.2.2023.11.09.07.48.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Nov 2023 07:48:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5ee86532-7f17-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699544884; x=1700149684; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=GdGoKsvszk1er7lcMQ58LvUTm+ralEqFHg2PA8LdxCE=;
        b=DrFVb5aoAboCBFLF8xjuCWm6A+dDf9evboa1vYsSuAc33/PxJijv75SV6sziEHDLte
         smNQUq7051lRVwf02HPY7kr2lu+p4nIJw4dI/2hHHwDjWk7dqVJ8JBz/GyKqZJoPP0S6
         RQ2qsj1yXLdSprD19ZcNtMPpxroADpQsxyvIY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699544884; x=1700149684;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GdGoKsvszk1er7lcMQ58LvUTm+ralEqFHg2PA8LdxCE=;
        b=nsm6LX9BJQbvK7gbi1plbJDb/4jlsNnwOovzJCLNtGT5ZGLPQnJ6bkr67VTWAyY2JH
         5RzILOuEA2ZNvmFmbHzwgKOXCzJDQQU2KRuqXlJw9r3aQ47P7E1ZLJIZ28mLMbI4gKpo
         5OH3TWYejFymmP6eSIoO55EA2+P97nZZEbtBTM0Mz2dKBFNKefgbEB7WSHmWf5z7D2kj
         ftzxF56wKYUkt6V/yOMtmEnMxRkoLNOKaz/eLS7adMXtXK16xG+1YanKDP6y541g1cEj
         4nwYUBV+7uEXYeAWuisAJk1z6UcUzW3Rv0xNRF7f6qha6npxG+V5ZFObFKw420wsGzqB
         1vxQ==
X-Gm-Message-State: AOJu0YwN81J9+wrcWFVfF63W+GV96/y3XKNla8IzExYgiNnQQPIT4Yyw
	FevdUbYmEn+g9gtS+q57mPuhuQ==
X-Google-Smtp-Source: AGHT+IGKeiI8aPgI1sHfiMXh9ybACJTRaFcogZXVx7uNvt2A89SU0kS4Eh5CrBoMjh70Xw3+vJP0AQ==
X-Received: by 2002:a19:8c19:0:b0:4ff:9a75:211e with SMTP id o25-20020a198c19000000b004ff9a75211emr1692608lfd.42.1699544884364;
        Thu, 09 Nov 2023 07:48:04 -0800 (PST)
Message-ID: <654cff33.050a0220.d1942.a8f1@mx.google.com>
X-Google-Original-Message-ID: <ZUz/MJjh2b5QUTf1@EMEAENGAAD19049.>
Date: Thu, 9 Nov 2023 15:48:00 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Andrew Cooper <andcooper@tibco.com>
Cc: Elliott Mitchell <ehem+xen@m5p.com>, xen-devel@lists.xenproject.org
Subject: Re: Support situation for nestedhvm
References: <ZUqVnfZTtjb/W5EN@mattapan.m5p.com>
 <93db0a9e-1d99-4953-9e3f-7ad69f0e78bf@tibco.com>
 <654cab6f.050a0220.86158.519b@mx.google.com>
 <cc2e0788-fd03-4c54-b84a-a9bdc2851ef4@tibco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <cc2e0788-fd03-4c54-b84a-a9bdc2851ef4@tibco.com>

On Thu, Nov 09, 2023 at 10:36:21AM +0000, Andrew Cooper wrote:
> On 09/11/2023 9:50 am, Alejandro Vallejo wrote:
> > Hi,
> >
> > On Tue, Nov 07, 2023 at 08:15:32PM +0000, Andrew Cooper wrote:
> >> On 07/11/2023 7:53 pm, Elliott Mitchell wrote:
> >>> I ran into the nestedhvm via the following path.  I was considering the
> >>> feasibility of shedding tasks from a desktop onto a server running Xen.
> >>> I was looking at `man xl.cfg` and noticed "nestedhvm".
> >>>
> >>> Since one of the tasks the computer handled was running other OSes in
> >>> fully simulated environments, this seemed to be something I was looking
> >>> for.  No where did I ever see anything hinting "This configuration option
> >>> is completely unsupported and risky to use".
> >> This one is explicitly covered in SUPPORT.md, and has had XSAs out
> >> against it in the past for being unexpectedly active when it oughtn't to
> >> have been.
> >>
> >>> Things simply started exploding without any warnings.
> >> Things also explode if you try to create a VM with 10x more RAM than you
> >> have, or if you try `./xenwatchdogd --help`, or `xl debug-keys c`, or
> >> many other things.
> >>
> >> The xl manpage probably ought to state explicitly that the option is
> >> experimental, but that the extent of what I'd consider reasonable here.
> >>
> >> You can't solve educational matters with technical measures.
> >>
> >> ~Andrew
> >>
> > No, but we can prevent users unexpectedly shooting themselves in the foot.
> 
> ... and break OSSTest and XenRT while you're at it.
> 
> Like it or not, this knob is behaved in this way for 15 years. You will
> be doing harm for no benefit by trying to change it.
Improving UX is a distinctively good benefit. A lot of people on this
mailing list may be aware of its quirks, but a user shouldn't need to be
that aware in order to set up a stable system.

> 
> And if you need a cautionary tail on why this is a bad idea generally,
> as well as a background on why I will firmly object to technical
> countermeasures like this, read up on Xen's allow_unsafe command line
> parameter.
> 
> ~Andrew
This?
  https://bugzilla.redhat.com/show_bug.cgi?id=858724

If so, that's very different. allow_unsafe caused previously accesible
remote hosts to become unbootable after an update, leaving anyone with a
remote host without IPMI interface dead in the water. It's nothing like
preventing spinning up a VM with a set of features that with high
likelihood a user doesn't want.

Both OSSTest and XenRT can simply adjust their nestedhvm knobs based on a
simple probing script.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 15:49:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 15:49:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629735.982123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r17Hh-0003Lt-C6; Thu, 09 Nov 2023 15:49:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629735.982123; Thu, 09 Nov 2023 15: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 1r17Hh-0003Lm-9E; Thu, 09 Nov 2023 15:49:33 +0000
Received: by outflank-mailman (input) for mailman id 629735;
 Thu, 09 Nov 2023 15: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=r4x0=GW=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r17Hf-0003Le-Ud
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 15:49:31 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 918e25fa-7f17-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 16:49:29 +0100 (CET)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2c50906f941so13609051fa.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 07:49:29 -0800 (PST)
Received: from l14.citrite.net (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 c5-20020a05600c0a4500b004068de50c64sm2460966wmq.46.2023.11.09.07.49.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Nov 2023 07:49:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 918e25fa-7f17-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699544969; x=1700149769; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=dRJNhzLkLjjb96yCsISqW/q7J4bX4Bc7uEC20O5gnrM=;
        b=JIT02iCM77Fvw0oIxt0npS/2fYB63F62jpaxtp961TTh04SXKWbmVhvCOeYBrQS0ZV
         mwi2cx/Q1nK4UUln49Sc9Z0s6ne5/rVCY0kWWbO0/OFQ61P233dUAAgIF4QAhLsIBQrP
         2qyHUVY0eeqWztW/+7QpS5VAulPZ4p98Qvlx8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699544969; x=1700149769;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=dRJNhzLkLjjb96yCsISqW/q7J4bX4Bc7uEC20O5gnrM=;
        b=wJZhaYVXNFSkjYJbCBlRRyODrB1VmfckadP9Rj1G/y99x9txjdNBFu7cc4HFOI9EOf
         elcOuP3kurXr8V4UONOyLSle+jV43CgGyOn/LS7n0jblBtBjfDNTeZplu4/Z/9tctAAq
         v9rsyI3L2IpTOLubP7swsDOxKGwlaBiItcToqD9uIl40Rwqu14eAtkY3r9ro/rvSY5fJ
         UmyY0DXNHnVw3bAsTQiK12c9b5+/cdmg1SPMHeQc/MVRh3ifffZHfeZNe1nq859dvAN1
         GryYn8UKMlo0uG8kXZdMBzmfiU/C3Z01ynDaCbv3mmY5MPVeb1hfp34+iN+ms/NU+h5w
         VmKQ==
X-Gm-Message-State: AOJu0YxnoKcljWjIaI8rogNvRB/FbxT2pywaK5GxBCKVfgS+xGw8Nf9j
	eC1EtRzjXjzN0NUL1ggbo9qn28bN8P8isWS/vUc=
X-Google-Smtp-Source: AGHT+IFMR938SiybZKIT0oJKrx+gvCMiEw+CEKwOvl4PJ4Dj/9ksQbauHGUfy7tld1fUTRFz3t0i3w==
X-Received: by 2002:a2e:330b:0:b0:2c0:2ef8:9716 with SMTP id d11-20020a2e330b000000b002c02ef89716mr4664997ljc.1.1699544968747;
        Thu, 09 Nov 2023 07:49:28 -0800 (PST)
From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] CI: Rework RISCV smoke test
Date: Thu,  9 Nov 2023 15:49:22 +0000
Message-Id: <20231109154922.49118-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, the test rely on QEMU and Xen finishing the boot in under
two seconds. That's both very long and very short. Xen usually managed
to print "All set up" under a second. Unless for some reason we try to
run the test on a machine that's busy doing something else.

Rework the test to exit as soon as Xen is done.

There's two `tail -f`, the first one is there simply to monitor test
progress in GitLab console. The second one is used to detect the test
result as soon as QEMU add it to the file. Both `tail` exit as soon as
QEMU exit.

If QEMU fails at start, and exit early, both `tail` will simply exit,
resulting in a failure.

If the line we are looking for is never printed, the `timeout` on the
second `tail` will force the test to exit with an error.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    The "machine might be busy" bits refere to having a gitlab-runner
    running two jobs, one been a build with no restriction on CPU resource use.
    
    We could use "-daemonize" with "-pidfile" to more easly detect qemu's
    initialisation failure, but needs "-display none" instead of
    "-nographic"

 automation/scripts/qemu-smoke-riscv64.sh | 32 ++++++++++++++++++------
 1 file changed, 24 insertions(+), 8 deletions(-)

diff --git a/automation/scripts/qemu-smoke-riscv64.sh b/automation/scripts/qemu-smoke-riscv64.sh
index 4008191302..ba7b61db8b 100755
--- a/automation/scripts/qemu-smoke-riscv64.sh
+++ b/automation/scripts/qemu-smoke-riscv64.sh
@@ -2,19 +2,35 @@
 
 set -ex
 
-# Run the test
-rm -f smoke.serial
-set +e
+# Truncate or create serial output file
+echo -n > smoke.serial
 
-timeout -k 1 2 \
+# cleanup: kill QEMU when the script exit for any reason
+qemu_pid=
+cleanup() {
+    if [ "$qemu_pid" ]; then
+        kill -s SIGKILL "$qemu_pid"
+    fi
+}
+
+trap 'cleanup' EXIT
+
+# Run the test
 qemu-system-riscv64 \
     -M virt \
     -smp 1 \
     -nographic \
     -m 2g \
+    -monitor none \
+    -chardev file,id=serial-out,path=smoke.serial \
+    -serial chardev:serial-out \
     -kernel binaries/xen \
-    |& tee smoke.serial
+    &
+qemu_pid=$!
 
-set -e
-(grep -q "All set up" smoke.serial) || exit 1
-exit 0
+# Monitor test progression until QEMU exit
+tail --pid=$qemu_pid -f smoke.serial &
+
+# Check boot test result
+timeout 60 tail --pid=$qemu_pid -f smoke.serial | \
+    grep -a -q "All set up"
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 16:04:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 16:04:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629743.982134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r17WC-0007oG-Ly; Thu, 09 Nov 2023 16:04:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629743.982134; Thu, 09 Nov 2023 16: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 1r17WC-0007o9-HP; Thu, 09 Nov 2023 16:04:32 +0000
Received: by outflank-mailman (input) for mailman id 629743;
 Thu, 09 Nov 2023 16:04: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=lPpZ=GW=linaro.org=peter.maydell@srs-se1.protection.inumbo.net>)
 id 1r17WB-0007o3-El
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 16:04:31 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa34c7c3-7f19-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 17:04:30 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5441ba3e53cso1605600a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 08:04:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa34c7c3-7f19-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699545870; x=1700150670; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=wSAaFIMjbOUvTUCnLK9sawHNvp9MFTD1AlmSfBsbXN4=;
        b=CS3sjdLKbluN7jkuRrYgADK0UUBepbo4xzbPF13Jmpfk/woCR0sxSMEoatK3TTzQ2t
         2g6wtbF1ofkToChtOfj1ZNANJ03ECraz4X55RsW86vdJkOJxaCd3e62urau/zdhN6GkK
         18krNsnswh+IFSwez7mAcD0s/5eEIJppjgT02blisKM2CrX+JtyAC9ZDHFdiON/ycmjV
         P5URuOGcgcQ9Xa3Mp1Xy5G+BcfyqZW3KG/AvUtm0G2xhH4mVbx1vX4gfMI2t6H/5cnUD
         jVrOYv1TKGEg/Tv9iTWRyoWa0/tCvQUCybqOJv7C1aD8gsjqQsfNDeVSfR/uj9S+fuEe
         h+Lw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699545870; x=1700150670;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=wSAaFIMjbOUvTUCnLK9sawHNvp9MFTD1AlmSfBsbXN4=;
        b=Y2treCcVeakGqGDNWc/pPHoTBo90/83nWtmR05uBU23O1KsPlbs4k3+JsX9yMYMw+r
         TPO3bmtH+QYmtHq/LbIy3hrjye/XBFJlwCXQaGbeRg+FOnO5usf53xm1uh7EZEPCVTE1
         INVZP9gkB1Uc+C34nljCdMzO5IrK24IidbP6BMoo35dbR1ERLPECNOsxUeDoj47AZYBk
         uCYU/AM95BOYWKoEU3m569OKOfvVhfb/N1SpvQ68umew/vun1LBY2MKiGoRxMHFnjpDe
         7T07KhIXVRa+g1zYjm3n5JGuULp46das1JtcVzaAfdsaThtQznsu4+rNsDTM8sj2xUl0
         zVQQ==
X-Gm-Message-State: AOJu0YzKG3B7HPENtgT7ZKzhCpIZNF9hLTj+npXoliYm9wrqbfCNgCqI
	HmEcoBWkm7HiYiZvlb5uOt0JZFzZEfUbRrlJEbJGbQ==
X-Google-Smtp-Source: AGHT+IH91DbfT5A1++uWQudUX5J7BBSI6b3R6xnaRanCdVuJCpMkLk4MvNet2Fcb+7qsAoDuJOcpeYvli6nDyIDZP9w=
X-Received: by 2002:a50:d7dc:0:b0:53f:f908:eda8 with SMTP id
 m28-20020a50d7dc000000b0053ff908eda8mr4372874edj.4.1699545869428; Thu, 09 Nov
 2023 08:04:29 -0800 (PST)
MIME-Version: 1.0
References: <1c312ba88e0928527dad6bc2e1b73d8cfe4b7f48.camel@infradead.org>
In-Reply-To: <1c312ba88e0928527dad6bc2e1b73d8cfe4b7f48.camel@infradead.org>
From: Peter Maydell <peter.maydell@linaro.org>
Date: Thu, 9 Nov 2023 16:04:17 +0000
Message-ID: <CAFEAcA9oyF1scfpmz-7wYX5j=nGgdG-7uD3nXw3dqhoMi8MHzg@mail.gmail.com>
Subject: Re: [PATCH] hw/xen: clean up xen_block_find_free_vdev() to avoid
 Coverity false positive
To: David Woodhouse <dwmw2@infradead.org>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Kevin Wolf <kwolf@redhat.com>, 
	Hanna Reitz <hreitz@redhat.com>, xen-devel@lists.xenproject.org, qemu-block@nongnu.org
Content-Type: text/plain; charset="UTF-8"

On Thu, 9 Nov 2023 at 15:30, David Woodhouse <dwmw2@infradead.org> wrote:
>
> From: David Woodhouse <dwmw@amazon.co.uk>
>
> Coverity couldn't see that nr_existing was always going to be zero when
> qemu_xen_xs_directory() returned NULL in the ENOENT case (CID 1523906).
>
> Perhaps more to the point, neither could Peter at first glance. Improve
> the code to hopefully make it clearer to Coverity and human reviewers
> alike.
>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>  hw/block/xen-block.c | 24 +++++++++++++++++++++---
>  1 file changed, 21 insertions(+), 3 deletions(-)
>
> diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
> index 6d64ede94f..aed1d5c330 100644
> --- a/hw/block/xen-block.c
> +++ b/hw/block/xen-block.c
> @@ -91,9 +91,27 @@ static bool xen_block_find_free_vdev(XenBlockDevice *blockdev, Error **errp)
>
>      existing_frontends = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, fe_path,
>                                                 &nr_existing);
> -    if (!existing_frontends && errno != ENOENT) {
> -        error_setg_errno(errp, errno, "cannot read %s", fe_path);
> -        return false;
> +    if (!existing_frontends) {
> +        if (errno == ENOENT) {
> +            /*
> +             * If the frontend directory doesn't exist because there are
> +             * no existing vbd devices, that's fine. Just ensure that we
> +             * don't dereference the NULL existing_frontends pointer, by
> +             * checking that nr_existing is zero so the loop below is not
> +             * entered.
> +             *
> +             * In fact this is redundant since nr_existing is initialized
> +             * to zero, but setting it again here makes it abundantly clear
> +             * to Coverity, and to the human reader who doesn't know the
> +             * semantics of qemu_xen_xs_directory() off the top of their
> +             * head.
> +             */
> +            nr_existing = 0;

You could alternatively assert(nr_existing == 0); here, but I
don't feel strongly about that.

> +        } else {
> +            /* All other errors accessing the frontend directory are fatal. */
> +            error_setg_errno(errp, errno, "cannot read %s", fe_path);
> +            return false;
> +        }
>      }
>
>      memset(used_devs, 0, sizeof(used_devs));
> --
> 2.34.1

thanks
-- PMM


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 16:15:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 16:15:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629747.982143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r17gy-0002VN-H6; Thu, 09 Nov 2023 16:15:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629747.982143; Thu, 09 Nov 2023 16:15: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 1r17gy-0002VG-ER; Thu, 09 Nov 2023 16:15:40 +0000
Received: by outflank-mailman (input) for mailman id 629747;
 Thu, 09 Nov 2023 16:15: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=NrbJ=GW=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r17gx-0002VA-Bk
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 16:15:39 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 386b0382-7f1b-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 17:15:38 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-507a3b8b113so1299538e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 08:15:38 -0800 (PST)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 u6-20020a05651206c600b00507aced147esm1098506lff.203.2023.11.09.08.15.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Nov 2023 08:15:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 386b0382-7f1b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699546538; x=1700151338; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=oMj6jHWPONAxjLho5hftQw27Ron7OZWj5Jytnd1rl4Y=;
        b=iba1ubMr+Ez00rwuQ2Ha0DB6HkldOtWzlB6O326EZR2n1Lu+TLaqjiMkn6jnqY+A5C
         OQeBYgeRNJBfKlR8NaIZFpV/71ntGkQ5rqmJbr8NYyHQz7AXMTPuYp1/V9piC+erTVWx
         buHZyjzhXFgbJMSAokPtE7Wkj4kbO0eMUL1PvySbKJ0dqQAt2xjANaKnMgPCd9JKiGCf
         AYmFWHzFZj3UUDVW71kjU8mYyxj+JXYuyPVx4S/reeUR7DUnFdBspGhIyZV1CR8XKMJS
         V4VIvVMcqo6WtH/73ceXXv81gifgxC925Od+pFTRIohh8RPCYmVkq/854XXf89dmpby7
         w8Eg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699546538; x=1700151338;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=oMj6jHWPONAxjLho5hftQw27Ron7OZWj5Jytnd1rl4Y=;
        b=VoSvATNbe+k56Jznpb9fq4Gv+H9q5oS2PjQPcPNwUwyoxwENTWbLW/DxBSUQAliZ0+
         IRT+EFqP0E+1F2C3HC/2Oy48Csj1h3IF41B0ZRtTIHwlvhogL2pNb/VMkqR3mg4QdHI/
         mY0bY3gPzqFgG0bxEAds4DjtDRlxAQQCS6oCf0TtrlxZ5Jk2iXmJF7cCdoc1dUMrB5NZ
         DUuWur1siS+cGDBauhLoNgoS38iysw28KZOdVKxHS952WZd1/GE44d47jOf0abpOciO/
         8qmNkk4qUErIjt9fQyakdxY1/GQDF6LRYiuaj62gBJrrJPZM31r6zXFDi3X0ifP3EbjE
         UGZA==
X-Gm-Message-State: AOJu0YzcPx1bbUfb3Na8hXOV6IEWeuGpG4p3pBRq56QVIygMWp3B/1e2
	m0H4lzVM/4sX9EGMrpEWHho=
X-Google-Smtp-Source: AGHT+IGhjfJN7KdtgU7MXypI3zYkMgPHMqioL2wdLaCxEopxbspNx3XIcfeweE6lnMrOzJcm9WjT9w==
X-Received: by 2002:a05:6512:3490:b0:509:43ec:dd4c with SMTP id v16-20020a056512349000b0050943ecdd4cmr1641946lfr.3.1699546537420;
        Thu, 09 Nov 2023 08:15:37 -0800 (PST)
Message-ID: <65d56dd930b77ac57e2f3a1bfc771fb4bf856eb0.camel@gmail.com>
Subject: Re: [XEN PATCH] CI: Rework RISCV smoke test
From: Oleksii <oleksii.kurochko@gmail.com>
To: Anthony PERARD <anthony.perard@citrix.com>, 
	xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>, Stefano Stabellini
	 <sstabellini@kernel.org>
Date: Thu, 09 Nov 2023 18:15:36 +0200
In-Reply-To: <20231109154922.49118-1-anthony.perard@citrix.com>
References: <20231109154922.49118-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

Hello Anthony,

On Thu, 2023-11-09 at 15:49 +0000, Anthony PERARD wrote:
> Currently, the test rely on QEMU and Xen finishing the boot in under
> two seconds. That's both very long and very short. Xen usually
> managed
> to print "All set up" under a second. Unless for some reason we try
> to
> run the test on a machine that's busy doing something else.
>=20
> Rework the test to exit as soon as Xen is done.
>=20
> There's two `tail -f`, the first one is there simply to monitor test
> progress in GitLab console. The second one is used to detect the test
> result as soon as QEMU add it to the file. Both `tail` exit as soon
> as
> QEMU exit.
>=20
> If QEMU fails at start, and exit early, both `tail` will simply exit,
> resulting in a failure.
>=20
> If the line we are looking for is never printed, the `timeout` on the
> second `tail` will force the test to exit with an error.
>=20
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> ---
>=20
> Notes:
> =C2=A0=C2=A0=C2=A0 The "machine might be busy" bits refere to having a gi=
tlab-runner
> =C2=A0=C2=A0=C2=A0 running two jobs, one been a build with no restriction=
 on CPU
> resource use.
> =C2=A0=C2=A0=C2=A0=20
> =C2=A0=C2=A0=C2=A0 We could use "-daemonize" with "-pidfile" to more easl=
y detect
> qemu's
> =C2=A0=C2=A0=C2=A0 initialisation failure, but needs "-display none" inst=
ead of
> =C2=A0=C2=A0=C2=A0 "-nographic"
>=20
> =C2=A0automation/scripts/qemu-smoke-riscv64.sh | 32 ++++++++++++++++++---=
-
> --
> =C2=A01 file changed, 24 insertions(+), 8 deletions(-)
>=20
> diff --git a/automation/scripts/qemu-smoke-riscv64.sh
> b/automation/scripts/qemu-smoke-riscv64.sh
> index 4008191302..ba7b61db8b 100755
> --- a/automation/scripts/qemu-smoke-riscv64.sh
> +++ b/automation/scripts/qemu-smoke-riscv64.sh
> @@ -2,19 +2,35 @@
> =C2=A0
> =C2=A0set -ex
> =C2=A0
> -# Run the test
> -rm -f smoke.serial
> -set +e
> +# Truncate or create serial output file
> +echo -n > smoke.serial
> =C2=A0
> -timeout -k 1 2 \
> +# cleanup: kill QEMU when the script exit for any reason
> +qemu_pid=3D
> +cleanup() {
> +=C2=A0=C2=A0=C2=A0 if [ "$qemu_pid" ]; then
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 kill -s SIGKILL "$qemu_pid"
> +=C2=A0=C2=A0=C2=A0 fi
> +}
> +
> +trap 'cleanup' EXIT
> +
> +# Run the test
> =C2=A0qemu-system-riscv64 \
> =C2=A0=C2=A0=C2=A0=C2=A0 -M virt \
> =C2=A0=C2=A0=C2=A0=C2=A0 -smp 1 \
> =C2=A0=C2=A0=C2=A0=C2=A0 -nographic \
> =C2=A0=C2=A0=C2=A0=C2=A0 -m 2g \
> +=C2=A0=C2=A0=C2=A0 -monitor none \
> +=C2=A0=C2=A0=C2=A0 -chardev file,id=3Dserial-out,path=3Dsmoke.serial \
> +=C2=A0=C2=A0=C2=A0 -serial chardev:serial-out \
> =C2=A0=C2=A0=C2=A0=C2=A0 -kernel binaries/xen \
> -=C2=A0=C2=A0=C2=A0 |& tee smoke.serial
> +=C2=A0=C2=A0=C2=A0 &
> +qemu_pid=3D$!
> =C2=A0
> -set -e
> -(grep -q "All set up" smoke.serial) || exit 1
> -exit 0
> +# Monitor test progression until QEMU exit
> +tail --pid=3D$qemu_pid -f smoke.serial &
> +
> +# Check boot test result
> +timeout 60 tail --pid=3D$qemu_pid -f smoke.serial | \
> +=C2=A0=C2=A0=C2=A0 grep -a -q "All set up"

I am OK with provided changes. Thanks!

Acked-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 16:52:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 16:52:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629751.982152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r18Gp-0003EW-A2; Thu, 09 Nov 2023 16:52:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629751.982152; Thu, 09 Nov 2023 16:52: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 1r18Gp-0003EP-6x; Thu, 09 Nov 2023 16:52:43 +0000
Received: by outflank-mailman (input) for mailman id 629751;
 Thu, 09 Nov 2023 16:52: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=VIs+=GW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r18Gn-0003EJ-GA
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 16:52:41 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6381c82b-7f20-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 17:52:38 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4083f613272so8138565e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 08:52:38 -0800 (PST)
Received: from [10.80.67.28] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j16-20020a05600c485000b004083bc9ac90sm2557849wmo.24.2023.11.09.08.52.36
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Nov 2023 08:52:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6381c82b-7f20-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699548757; x=1700153557; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=bK5NvFfO9mlKO3be4CrLQF9zFWSoksdtzD/74oKEuRs=;
        b=ecWkN/qpCEHGipBOGOm1sR9BJiCfWXYlRScU0LmsMiFDhPTQNs2xzPtr2PlRdyRdUZ
         KLqIs8FnCbZyXqp+EEk5HTDdLsOsOjPOMyUM7BgMldka8g++KKszrNZL1HJFjSFn4tyS
         FCOD0VZXzaDjQyyG/6XXILsiPP8NjdAg3hrQ4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699548757; x=1700153557;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=bK5NvFfO9mlKO3be4CrLQF9zFWSoksdtzD/74oKEuRs=;
        b=ZlFxPpVOaLtVY491QHT/3WDnzAMjYNuylVGJYfZ6AucLUPo4TBxX5JoD/p2sK64lFD
         nJq0n1ppX60kPR2Um2GMXFK966LioT7y/ymqAZaqBhtdtKdqv/YXKFezPGE1Kz5W303B
         6LpxfVOsMDAHq1P/hqBbNIReONnzfyES+LcKzhUNSjWCN8ng5z3r7loAr8V4c3qQwb+i
         vmfRHs6sbUCQyOAF8sr/BzOCZv68xs33f81jLfxvctCB2Fcd57DTaaYF0M92PaeKrw7K
         56376ojDAjkcMKTGBIf2YGYk6/ezKzU9lVhoO0wcTLKTWhOxJiYhsgkeMxMw3eVapf8M
         XUrQ==
X-Gm-Message-State: AOJu0YxB3rmiQJrzUl6XTIn61lYO0JAYZDgFwtHmT6um7kkCnmq5s04g
	h2u+HZzpalyn1Kgj0bVff/PlYg==
X-Google-Smtp-Source: AGHT+IHnFghzXfjfdetaXpWNm5LxEzNK7uLy/ZoFsK4sbPg7MPBSAUa30MJstgZ6lqiFWjcvnh8djQ==
X-Received: by 2002:a05:600c:4449:b0:409:6e0e:e948 with SMTP id v9-20020a05600c444900b004096e0ee948mr4969465wmn.1.1699548757527;
        Thu, 09 Nov 2023 08:52:37 -0800 (PST)
Message-ID: <7bffd0ff-290f-461c-a0ce-35440b36240a@citrix.com>
Date: Thu, 9 Nov 2023 16:52:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] CI: Rework RISCV smoke test
Content-Language: en-GB
To: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20231109154922.49118-1-anthony.perard@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231109154922.49118-1-anthony.perard@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09/11/2023 3:49 pm, Anthony PERARD wrote:
> Currently, the test rely on QEMU and Xen finishing the boot in under
> two seconds. That's both very long and very short. Xen usually managed
> to print "All set up" under a second. Unless for some reason we try to
> run the test on a machine that's busy doing something else.
>
> Rework the test to exit as soon as Xen is done.
>
> There's two `tail -f`, the first one is there simply to monitor test
> progress in GitLab console. The second one is used to detect the test
> result as soon as QEMU add it to the file. Both `tail` exit as soon as
> QEMU exit.
>
> If QEMU fails at start, and exit early, both `tail` will simply exit,
> resulting in a failure.
>
> If the line we are looking for is never printed, the `timeout` on the
> second `tail` will force the test to exit with an error.
>
> Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>

Looks plausible, but all these qemu-smoke scripts are pretty similar,
and copied from one-another.

We should make this change consistently to all testing (there's nothing
RISC-V specific about why this test is failing on this runner), and it
would be really nice if we could try to make it a bit more common than
it currently is.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 17:40:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 17:40:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629755.982162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r191L-0005lj-QR; Thu, 09 Nov 2023 17:40:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629755.982162; Thu, 09 Nov 2023 17:40: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 1r191L-0005lc-NZ; Thu, 09 Nov 2023 17:40:47 +0000
Received: by outflank-mailman (input) for mailman id 629755;
 Thu, 09 Nov 2023 17:40: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=s8mG=GW=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1r191K-0005lW-FI
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 17:40:46 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1aee46c4-7f27-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 18:40:44 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-381-5L460Km6PnyedQrezQIKcA-1; Thu, 09 Nov 2023 12:40:37 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 301F8185A784;
 Thu,  9 Nov 2023 17:40:37 +0000 (UTC)
Received: from thuth-p1g4.redhat.com (unknown [10.39.192.49])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 401981C060BA;
 Thu,  9 Nov 2023 17:40: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: 1aee46c4-7f27-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1699551642;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding;
	bh=eKl6/4hR8zE/zb1SF9S/dcAaIWjFtbCJnudDKpnfbyc=;
	b=RaMwtEWax0WFBxMxKzpJOK1CFkz9MIDr5PwjiUqy6E4az+c5WZrM2qg07CD2TTf1PWJjQO
	skcx0TWt6YhUlDlOxXGDuzX+OvompuBt7UCR8Ahxgt4d6WqpzNcPiqQorJj04EnUVzy8uz
	de0ZfJ0EA5ULPX1sKkkMSyvW0EyuY3U=
X-MC-Unique: 5L460Km6PnyedQrezQIKcA-1
From: Thomas Huth <thuth@redhat.com>
To: qemu-devel@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>
Cc: xen-devel@lists.xenproject.org,
	qemu-trivial@nongnu.org
Subject: [PATCH] include/hw/xen: Use more inclusive language in comment
Date: Thu,  9 Nov 2023 18:40:34 +0100
Message-ID: <20231109174034.375392-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.7

Let's improve the wording here.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 include/hw/xen/interface/hvm/params.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/include/hw/xen/interface/hvm/params.h b/include/hw/xen/interface/hvm/params.h
index a22b4ed45d..9bcb40284c 100644
--- a/include/hw/xen/interface/hvm/params.h
+++ b/include/hw/xen/interface/hvm/params.h
@@ -255,7 +255,7 @@
  * Note that 'mixed' mode has not been evaluated for safety from a
  * security perspective.  Before using this mode in a
  * security-critical environment, each subop should be evaluated for
- * safety, with unsafe subops blacklisted in XSM.
+ * safety, with unsafe subops blocked in XSM.
  */
 #define HVM_PARAM_ALTP2M       35
 #define XEN_ALTP2M_disabled      0
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 17:47:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 17:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629758.982173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r197k-0007R2-HD; Thu, 09 Nov 2023 17:47:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629758.982173; Thu, 09 Nov 2023 17:47: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 1r197k-0007Qv-EH; Thu, 09 Nov 2023 17:47:24 +0000
Received: by outflank-mailman (input) for mailman id 629758;
 Thu, 09 Nov 2023 17:47: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=ytJ3=GW=redhat.com=berrange@srs-se1.protection.inumbo.net>)
 id 1r197i-0007Qp-J4
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 17:47:22 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0788d3fd-7f28-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 18:47:20 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-53-EZ6tHlzwPby_7c0cJBLdmg-1; Thu,
 09 Nov 2023 12:47:15 -0500
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com
 [10.11.54.2])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4C40D3C02B66;
 Thu,  9 Nov 2023 17:47:15 +0000 (UTC)
Received: from redhat.com (unknown [10.42.28.94])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 38B0140C6EBB;
 Thu,  9 Nov 2023 17:47: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: 0788d3fd-7f28-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1699552039;
	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=1/aKnz+cLm76rsGM493XBc81wW5GTMNFhQApD2Wg+qg=;
	b=NDGadp/drPVqHyrOdpQCE3AI9YI415LDywW+XHexzCW670FI21JdIUP1PpxIxxyo12LBEh
	zuPOjg1WxWqd3eo6xIJmVixKv7r50QHSjlZiiPeHOryVo65vbpUj2Sdwz7RyVKpvNQb/3T
	4mP8Ur3y35rfUODNbLGhzi5dzfs4Pvw=
X-MC-Unique: EZ6tHlzwPby_7c0cJBLdmg-1
Date: Thu, 9 Nov 2023 17:47:11 +0000
From: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
To: Thomas Huth <thuth@redhat.com>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org,
	qemu-trivial@nongnu.org
Subject: Re: [PATCH] include/hw/xen: Use more inclusive language in comment
Message-ID: <ZU0bH6smC7hF3kk5@redhat.com>
Reply-To: Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>
References: <20231109174034.375392-1-thuth@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231109174034.375392-1-thuth@redhat.com>
User-Agent: Mutt/2.2.9 (2022-11-12)
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.2

On Thu, Nov 09, 2023 at 06:40:34PM +0100, Thomas Huth wrote:
> Let's improve the wording here.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>  include/hw/xen/interface/hvm/params.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


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 Thu Nov 09 17:50:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 17:50:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629763.982183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19Aq-0000RY-0J; Thu, 09 Nov 2023 17:50:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629763.982183; Thu, 09 Nov 2023 17: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 1r19Ap-0000RR-Sl; Thu, 09 Nov 2023 17:50:35 +0000
Received: by outflank-mailman (input) for mailman id 629763;
 Thu, 09 Nov 2023 17: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=r4x0=GW=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r19Ao-0000RL-Ke
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 17:50:34 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a7164b6-7f28-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 18:50:32 +0100 (CET)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2c509f2c46cso15205551fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 09:50:32 -0800 (PST)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e20-20020a05600c219400b004083996dad8sm2731182wme.18.2023.11.09.09.50.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 09 Nov 2023 09:50:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a7164b6-7f28-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699552232; x=1700157032; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=dQOK3BUYzTGekaveJMFcd8fidkA3As4DifUKi0HGdc0=;
        b=NdTkyY33Gt6tAbBUpWr8es6bipXIDohKUKCYL/zZ/A5hfRBFzhhgiau6hxyoIL3m20
         qaPLd+7qNnfwljp4YhRPX07VSAs7DlaiCdBsaAM7Xzr3V/McxsYh9jsPSg6rykrq8LW9
         4njhhBfNqFK/o7vktnSMmS8RjExsnW2LHeisk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699552232; x=1700157032;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dQOK3BUYzTGekaveJMFcd8fidkA3As4DifUKi0HGdc0=;
        b=On5oc4hKcY9eHNLFmWYEZV39nLPUEDX2O+35+PPACvvt3apeANkKfPtGcaT6KrICAb
         qlVgoxwdt8G1yUAwFWLWFuTTwYGA6CGhjWWnTN915sAsxb12ikC4ai02NMwi/RfRYnsD
         624G7w4CfyvDySte7aBxLu5HfQqYbgax7sZOsn59Xer8x+2EAkNcZum9Ccj91tt1MQNY
         IVUIbvG6BCSEc0j67LOxKuh4gjUin+5ks9HqgPgKdOZvozNjdjl1+EZZcAIFDudCKO2M
         bfMPQorI8TNa2U+b8e4CeyohajhLitUMKJm3r2oL5Ih3x/qmt5Bz+q7QYNvKhq+F85od
         +eng==
X-Gm-Message-State: AOJu0YxdR0SnMFgtq1A/SBMdH/BTklCmhRyeO0g8T5LZmYnn+UsXja1u
	csCljHGjyFa7JMf+3x70HTkLDw==
X-Google-Smtp-Source: AGHT+IEE/DivrloBkZjYdO4KQLnytHsztMimcfv0QPmYVnbvkYtPPdIoVJIzaXuE8ckVcFqBA62OPw==
X-Received: by 2002:a2e:4601:0:b0:2c5:1f70:a266 with SMTP id t1-20020a2e4601000000b002c51f70a266mr4481051lja.50.1699552232012;
        Thu, 09 Nov 2023 09:50:32 -0800 (PST)
Date: Thu, 9 Nov 2023 17:50:31 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, xen-devel@dornerworks.com,
	Nathan Studer <nathan.studer@dornerworks.com>,
	Stewart Hildebrand <stewart@stew.dk>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v2] tools: Remove all DECLARE_* op macros in xc
Message-ID: <13bd7fda-4939-4edc-b1ab-0c86ea559032@perard>
References: <20231106132529.21248-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231106132529.21248-1-alejandro.vallejo@cloud.com>

On Mon, Nov 06, 2023 at 01:25:29PM +0000, Alejandro Vallejo wrote:
> These macros were hiding that the ops are not zero-initialized by the
> toolstack. This is needlessly opaque for something so simple, so this patch
> removes them and replaces them with explicit zero-initialising versions.
> 
> The patch also removes PHYSDEV_OP from there, as that seems to be an old
> dead macro.
> 
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks.

Next step, reword some of those to read something like:
    struct xen_sysctl sysctl = {
         .cmd = XEN_SYSCTL_cpupool_op,
         ....
    };
which would look nicer :-)

But that manual or for something like "coccinelle", so maybe one day.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:28:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629768.982192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19lL-000060-TD; Thu, 09 Nov 2023 18:28:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629768.982192; Thu, 09 Nov 2023 18: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 1r19lL-00005t-QQ; Thu, 09 Nov 2023 18:28:19 +0000
Received: by outflank-mailman (input) for mailman id 629768;
 Thu, 09 Nov 2023 18: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19lK-00005n-Ag
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:28:18 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e88::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd4ba0da-7f2d-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 19:28:13 +0100 (CET)
Received: from CY5P221CA0149.NAMP221.PROD.OUTLOOK.COM (2603:10b6:930:6a::9) by
 DS7PR12MB5910.namprd12.prod.outlook.com (2603:10b6:8:7b::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6954.28; Thu, 9 Nov 2023 18:28:09 +0000
Received: from CY4PEPF0000E9D7.namprd05.prod.outlook.com
 (2603:10b6:930:6a:cafe::ac) by CY5P221CA0149.outlook.office365.com
 (2603:10b6:930:6a::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 18:28:09 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D7.mail.protection.outlook.com (10.167.241.78) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.21 via Frontend Transport; Thu, 9 Nov 2023 18:28:08 +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.2507.32; Thu, 9 Nov
 2023 12:28:07 -0600
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.2507.32; Thu, 9 Nov
 2023 12:28:07 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:28:05 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd4ba0da-7f2d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R/4lx4RQuEZmcK5t2UUvaidWgRUmdCyjxp3WnPPp99CVX7cXc20Ffql35VOJfwVE5IOCNN1x9PLQ37I26pSPMDDJELvYOwGk/PqaI5bMRD1hU2o4zNZxNnfhLlL2cuJhhTfzP618+E8AJ6DkDTMCrkmC9uEOPCDxIXx+iOOHxnZDSM4X2wCE8U/1Lq+uoT1ODOH9NbsHjBkt3stlC8FhvzKg4z/b4iC+v0mugEUNnaiYq7GZ/F6vgYnQmhJ8X9rozyIzxMB4wa8QcxGjs6IaNfiWqVluau0ZkZvD/6VuENst0QW6P8Y6aHHubj7hC03SRudm6ybJB7xxipXg3SRmmA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nlg+63AEQlU5eSdUtJPSdHVld0hhcPCAgo017RH7a6I=;
 b=QrWQ5WMTZVEBVGVDj0pdd4PS1PhYgpqtNAW3a++3Qv9I066KzX+VtgqbfAf/0TIN/2/NZ6PA0/GJy64LUiMK+RKFhKWnaSOubW5abuHBrxTLORt3YhcTem7TxZ0olR/pjDWAZzoZHRXrPcJaDX2kYMGl+S6kCz2jlAbqLc4bft2bFBmYS/YyqBmeyxMQmIFD94UTm6wLjVBiZjWvFwQyaMme5xUSG/Ue457gdu6m05OWkJRdGDTbPq9AQVE39m+WSg1LlcwYt8QmH9n7idriM/nDadQJcMlDlat0baz9TilJHxNRLMDCt9JDvNnl+7kNwp91x7j7ZZzN2vw8+qYtpg==
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 (0)
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=nlg+63AEQlU5eSdUtJPSdHVld0hhcPCAgo017RH7a6I=;
 b=vSqctJ5I6XtStlg0P2DoD3y+OFhF/G/KS1e6G2nRDBD2KUO3oQhHXfOSU9QUt3GkxGmdmQpVjS1P6wd/gewWrLgDyHCCM7BnavKPpBh4OFtoteD6FhN9+AC7ObKozdkdUy/eo5i0QcaV4y6cnP7KDBoFf6i4T1O3XsNBjDiZwNY=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Jan Beulich <jbeulich@suse.com>, "Paul
 Durrant" <paul@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Rahul Singh <rahul.singh@arm.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Wei
 Liu" <wl@xen.org>
Subject: [PATCH v6 0/9] SMMU handling for PCIe Passthrough on ARM
Date: Thu, 9 Nov 2023 13:27:03 -0500
Message-ID: <20231109182716.367119-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D7:EE_|DS7PR12MB5910:EE_
X-MS-Office365-Filtering-Correlation-Id: 96f1475a-0bec-4491-3b47-08dbe1519fa8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bQ1q47rEAaHwyDGIWRbdnQNzD+Fkm5nJG0qsPFhGDdwSir/CA9hedtf/bPRPbxcLGe91mMiH/MFiCcgsNrDyHntOBD8PlrK+VI/dOLw3dl58g4+vHjpO+hZ05XSZ0nwcUtU8GQztIXWyMFNRiNmdDN/74ZrLkVCRKrNuwCSfHuVYwVjbiAF0dLhGeZbf6xpU5eA0FCg1uYikrwmxenCA5xFXogRhRSzFpZySA/7y14GiUoUoyrpiUVTmz+EsNtCRkbRPgpzYXArk/AzNm5kK+UV9KqrHG60g9vJiIHJrSDt8HyFWxSt/w7uceGaAi78sSbyInsVsNw4gXmwJAGGuHQovk/3FDlyCGuUEyZfNAqwC4fEjgr7uWHXYUVDysFwfuIAEq6uvbyKxSC8TeShQy8kAAbXUmSwtuFt0Y1ik2nM+FBWtgiGcXuCxZn2emUfcljUzBs7YIrAlgHLcWbYmyr7GN6bODEw9qDm0TS0qMO0dfG1nw7+uIFKaN6dW+NYx9VJ+ALCOsWhZ9wnO77JiS4vNmz1JfXbR7Tjq4Di/GnKTX3Xxz1wGdgRjhUibw9XLLNbQtNjzlJJljOkFbsKy5vnc8CbuxiHI3zrt0ylqmo4xSbvFRfQHiPPBp676n+mzcY+Hd1lcdsxJJ5+rQwZvjlDyrgxrYvOamFrZJtQlWKPhmTMxD/19l/SnQW857FwTajzQpM5APY1Na13MUBAIaiSmVfrvXGXbQTjZ0N+fuIbZxk6pG7tCyegjT+cTjagk
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:(13230031)(4636009)(396003)(346002)(376002)(136003)(39860400002)(230922051799003)(64100799003)(82310400011)(451199024)(1800799009)(186009)(40470700004)(46966006)(36840700001)(40460700003)(40480700001)(36860700001)(83380400001)(47076005)(4326008)(8936002)(44832011)(8676002)(86362001)(41300700001)(36756003)(316002)(966005)(2906002)(54906003)(1076003)(6916009)(81166007)(478600001)(82740400003)(336012)(426003)(70206006)(7416002)(356005)(5660300002)(2616005)(26005)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:28:08.9166
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 96f1475a-0bec-4491-3b47-08dbe1519fa8
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:
	CY4PEPF0000E9D7.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5910

This series introduces SMMU handling for PCIe passthrough on ARM. These patches
should be able to be upstreamed independently from the vPCI series [1]. See [2]
for notes about test cases.

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-06/msg01135.html

v5->v6:
* don't revert ("xen/arm: Add cmdline boot option "pci-passthrough = <boolean>"")
* add ("xen/arm: enable dom0 to use PCI devices with pci-passthrough=no")

v4->v5:
* drop ("xen/arm: Improve readability of check for registered devices")
* drop ("xen/arm: Move is_protected flag to struct device")
* add ("xen/arm: don't pass iommu properties to hwdom for iommu-map")
* add ("xen/arm: Fix mapping for PCI bridge mmio region")
* revert ("xen/arm: Add cmdline boot option "pci-passthrough = <boolean>"")
* add ("xen/arm: Map ITS doorbell register to IOMMU page tables.")
* fix test case #1 with PCI device in dom0

v3->v4:
* split a change from ("xen/arm: Move is_protected flag to struct device") into
  a new separate patch
* see individual patches for further details

v2->v3:
* drop "pci/arm: Use iommu_add_dt_pci_device()"
* drop "RFC: pci/arm: don't do iommu call for phantom functions"
* move invocation of sideband ID mapping function to add_device()
  platform_ops/iommu_ops hook

v1->v2:
* phantom device handling
* shuffle around iommu_add_dt_pci_device()

Oleksandr Andrushchenko (1):
  xen/arm: smmuv2: Add PCI devices support for SMMUv2

Oleksandr Tyshchenko (2):
  iommu/arm: Add iommu_dt_xlate()
  iommu/arm: Introduce iommu_add_dt_pci_sideband_ids API

Rahul Singh (3):
  xen/arm: smmuv3: Add PCI devices support for SMMUv3
  xen/arm: Fix mapping for PCI bridge mmio region
  xen/arm: Map ITS doorbell register to IOMMU page tables

Stewart Hildebrand (3):
  xen/arm: don't pass iommu properties to hwdom for iommu-map
  iommu/arm: iommu_add_dt_pci_sideband_ids phantom handling
  xen/arm: enable dom0 to use PCI devices with pci-passthrough=no

 xen/arch/arm/device.c                 |   2 +-
 xen/arch/arm/domain_build.c           |   2 +
 xen/arch/arm/pci/pci.c                |   3 +-
 xen/arch/arm/vgic-v3-its.c            |  15 ++
 xen/common/device_tree.c              |  91 ++++++++++++
 xen/drivers/passthrough/arm/smmu-v3.c | 131 +++++++++++++++--
 xen/drivers/passthrough/arm/smmu.c    | 199 ++++++++++++++++++++++----
 xen/drivers/passthrough/device_tree.c |  97 ++++++++++---
 xen/drivers/pci/physdev.c             |   6 -
 xen/include/xen/device_tree.h         |  23 +++
 xen/include/xen/iommu.h               |  26 +++-
 11 files changed, 528 insertions(+), 67 deletions(-)


base-commit: bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:28:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629769.982203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19lV-0000NR-75; Thu, 09 Nov 2023 18:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629769.982203; Thu, 09 Nov 2023 18: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 1r19lV-0000NG-3n; Thu, 09 Nov 2023 18:28:29 +0000
Received: by outflank-mailman (input) for mailman id 629769;
 Thu, 09 Nov 2023 18:28: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19lT-00005n-Lw
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:28:27 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2062f.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4f199e2-7f2d-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 19:28:26 +0100 (CET)
Received: from SN6PR05CA0008.namprd05.prod.outlook.com (2603:10b6:805:de::21)
 by MW3PR12MB4396.namprd12.prod.outlook.com (2603:10b6:303:59::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.33; Thu, 9 Nov
 2023 18:28:22 +0000
Received: from SA2PEPF0000150A.namprd04.prod.outlook.com
 (2603:10b6:805:de:cafe::38) by SN6PR05CA0008.outlook.office365.com
 (2603:10b6:805:de::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18 via Frontend
 Transport; Thu, 9 Nov 2023 18:28:21 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF0000150A.mail.protection.outlook.com (10.167.242.42) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 18:28:21 +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.2507.32; Thu, 9 Nov
 2023 12:28:20 -0600
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.2507.32; Thu, 9 Nov
 2023 12:28:20 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:28:19 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4f199e2-7f2d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IWMUMYn/YAmcZvdoQVoCE0n+K/etFh87TFf7Y9lVOqyrmHxn3ZjdEt1e30D0OAhesixHS6C3eFZYeaTs22B4SvgsoVTATTmRKBnkwgifqFX6ovRxDJN6L3ui1oS5iK6v79GUSyHwF9awTfP8wgXTjTUGQeF4KmMl3/mlR/54itX0uvWtw6yDkPxDRSjJUtToUFGbT7CEhlzPXKOBjK3n2oAAdKC6h1tCxlnnf4vIl8sDgJ02gA8k+oTcHqmFYJe7hqAoYa5G3hrBV8gw7gYLLpvKYGfTeMnga7I1yiEZ81MRelb4Ok+0hvJ5QoOXqeQ7tpjld90KAteOWDkLhjc8UA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TljtmAPXpOARb72aidPv0e1JYIofy9OHEYlbfwFC73k=;
 b=GD/0Z0nZKZwqgXYDJGLkpCm1eCX2AmmU5ig7DWw1HZhfFrdMqvE2LT+AkZsgKFKIxmkM8gMMfArxjXTAcBgPcyrC/kbyeQh09kjf84HLBWDGLqHOrwEYYM7pfcHLMsqzjzZ5OyXn0bNqIiwom1voltw9qwqaL4Yd6qZ+l0dmvPOU1BAsQH0uIM227WKMDDadsuWCJ7TEO81f8njpN7MLiYvODTBolt0ozwUzLVGvhR8LrnepCIbo0IIcXRCdXOzuZE8zUvGr8LflRM2e72i2vlNjU7WyGUvZqlXRhy2sRm9JZiTFuuOSyyXKR29j2D8iZFSZeaTjPqrvgxSwx41u2g==
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 (0)
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=TljtmAPXpOARb72aidPv0e1JYIofy9OHEYlbfwFC73k=;
 b=aq98z2U9kTEJplZkNszlWE6Rj3ngviRi0f+L1drvP9GWo+R0fnUJ/XeE73RKozbnc6HOBpFE0ozeWs2yT8PdZmhYpf8Y4UYjaLokrbaaGvL5LA6kkTUrB+Qi6B/9QHxedCWUl4IgH8yvZBrADn/0t4tJsj2vKTPI0llg8B3AaWc=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 1/9] xen/arm: don't pass iommu properties to hwdom for iommu-map
Date: Thu, 9 Nov 2023 13:27:04 -0500
Message-ID: <20231109182716.367119-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231109182716.367119-1-stewart.hildebrand@amd.com>
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF0000150A:EE_|MW3PR12MB4396:EE_
X-MS-Office365-Filtering-Correlation-Id: cc82205d-a271-4535-a816-08dbe151a6dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JXwiHmn91oleBrJtrLO5Bw8DdrFEMZBmiWxVrnIu4MzE0lVL4/PUbnDnRmTygMfS7DnqRdKauqrtNHPgD5DkTh+a++nZIWKBxxwlntwX+WzVspL5SVgnCFrb8l60N/kKmKCkegcw38KV5CypPnmA/Yyxo0eTkc1FdpQwhJBNPL80qI0p1ebsRMQmSk/86G3ZnNxLD0ZM4iXYMYLjN+yf3J0JAfH4wBDKBbZhwhLEYT9yrKM1Hg1xBmjZWBCqaiKAuw/T4SuDzO/GtPQs8jG8yDX0xpnYGmw8nu2Dl35+5uWmDLrFJsCxdV7j38bKAKrYPp6qbvIA+1y1X288Mf/5zpY0fqy8BAmIJc/voIr6m+fQTxssLlk+KWWxuSCugXacbL3Evbuf5GQ8pz3AP8S0JgtcvZxYtzCmG0x3hpxQCRQ1vRKsSLZ8ky4JOfMnjNNRWDC+pU/uOAv0Mb0Ff8mbtOrqG+WdZUXL5LDzVU1GptozAqy0VsmSd9qA3Dh/4DuGkIL3Rg4RTLQVsaUpyF6Y04YNzpAVSJaXXOR7eOZykV4IK1JeaN2MG6ChN8zL4qHHHi0pji9+n5vHvBeQJfCglkLSU55UJJFg7KayJLqGt4BVzOUjoW7621IEwx0pOvb9Ew+THeJcgnBqKru3mb/xgCxJ1StqJtKqf6z2M9qezUfoNTPq83JMiZHWOEI96JADj1hiobs3txLuA/kOjbhiO0puWUYfMTrqkxhplzf3zthXTrGdsMQgEhJu+90RkJfHkV2cIK6EE8cZg5KVXe5tGg==
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:(13230031)(4636009)(39860400002)(376002)(136003)(396003)(346002)(230922051799003)(82310400011)(186009)(1800799009)(451199024)(64100799003)(36840700001)(40470700004)(46966006)(426003)(336012)(47076005)(2616005)(6666004)(36860700001)(966005)(26005)(70206006)(40480700001)(70586007)(6916009)(316002)(54906003)(1076003)(478600001)(4326008)(44832011)(82740400003)(40460700003)(2906002)(8676002)(8936002)(81166007)(356005)(36756003)(41300700001)(86362001)(5660300002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:28:21.0511
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc82205d-a271-4535-a816-08dbe151a6dc
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:
	SA2PEPF0000150A.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4396

A device tree node for a PCIe root controller may have an iommu-map property [1]
with a phandle reference to the SMMU node, but not necessarily an iommus
property. In this case, we want to treat it the same as we currently handle
devices with an iommus property: don't pass the iommu related properties to
hwdom.

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-iommu.txt

Reported-by: Michal Orzel <michal.orzel@amd.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v5->v6:
* add Julien's A-b

v4->v5:
* new patch
---
 xen/arch/arm/domain_build.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 49792dd590ee..ca7d0f5ffde5 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1135,6 +1135,8 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
      * should be skipped.
      */
     iommu_node = dt_parse_phandle(node, "iommus", 0);
+    if ( !iommu_node )
+        iommu_node = dt_parse_phandle(node, "iommu-map", 1);
     if ( iommu_node && device_get_class(iommu_node) != DEVICE_IOMMU )
         iommu_node = NULL;
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:28:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:28:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629770.982213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19lj-0000oB-Hd; Thu, 09 Nov 2023 18:28:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629770.982213; Thu, 09 Nov 2023 18:28: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 1r19lj-0000o0-Eb; Thu, 09 Nov 2023 18:28:43 +0000
Received: by outflank-mailman (input) for mailman id 629770;
 Thu, 09 Nov 2023 18:28: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19li-00005n-OQ
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:28:42 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cde467b6-7f2d-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 19:28:41 +0100 (CET)
Received: from DM6PR18CA0008.namprd18.prod.outlook.com (2603:10b6:5:15b::21)
 by DM6PR12MB4973.namprd12.prod.outlook.com (2603:10b6:5:1b7::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Thu, 9 Nov
 2023 18:28:37 +0000
Received: from CY4PEPF0000E9DB.namprd05.prod.outlook.com
 (2603:10b6:5:15b:cafe::60) by DM6PR18CA0008.outlook.office365.com
 (2603:10b6:5:15b::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 18:28:37 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9DB.mail.protection.outlook.com (10.167.241.81) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.19 via Frontend Transport; Thu, 9 Nov 2023 18:28:37 +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.2507.32; Thu, 9 Nov
 2023 12:28:36 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 9 Nov
 2023 10:28:36 -0800
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:28:34 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cde467b6-7f2d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LZzS2rI+gItQIwINJ3yZWwO5FJqI3eJSTh4CJFafHagOwfpnORcitGOqNNNFsv4IOqHAQlKEJgzxMxgOqxmdI2HWgUQewnUgdSrvEACDYFLy/B7/yWTKKtDwUpx+Jklk9B73CaEXLWpDKvNl4JAYGIMJgihleovkYonMV/6pIbBvNmdfWNXD/hhZDf+B3I9PLpVNjmjk1ecORfRg2p132JylWFgQ33IOSLmG6Dx6ZK2lttLHeIOGoszc1oeSEmgKq6iGqbuivf/BqIcMdombJ0X6uzRyzfnTEq5q29nndm/ZiDZe8Hg+NJjk6Mme3sxcbx/bmp86mgR19u8ZEHCpOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iGFeXcHbrWzpuDqVVKAfYj+Js/ujm1j5RABPQpLzM5Y=;
 b=kmeUW/HwtVDW+s8J99VEWvqos6PsBXpfSfOb2XDPqjHj51TTq918fQx/JimBBHFR3EGD5CNNQsgBZi8SuFXSA/c895VXbQYbWXUp41xX+Wff+773RXqRnAvDCXDKxik40goBx/DiI+M6vjZZXeHQbmVYbtAhqNTY94qneWE9zGE27x6GNX/82eJ7FdeapUn3UaHDhFDnOnvH/gqR25PamNWoznYBNejTaA+ph5OMDk/in758ZhSjThJHuTadslFZgL45d6yuX3vIPVxBdPXxefWIYqrQtg/V9zZQYmlxxgvpA6Q6XjPG3nkgltUhKrjU1lctnXJ3ixsneCatE/aYyA==
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 (0)
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=iGFeXcHbrWzpuDqVVKAfYj+Js/ujm1j5RABPQpLzM5Y=;
 b=jiscK+e2Db8LbnR6/MbL6rY8ghED+66g1JKbj9EgE1GEY4/I0g2lXjV5sfl77jI3rubzLM/mPegyMOF0MQWYmKr1hShocIvfLlo3zNLo3k0qtLWjdTDcpM8mGDs1xaKGdVRCq6GNfYBR/rRwdC3pbvZ5PjHlliUJKkub+w4/1u0=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Rahul Singh
	<rahul.singh@arm.com>, Bertrand Marquis <bertrand.marquis@arm.com>, "Jan
 Beulich" <jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, "Stewart
 Hildebrand" <stewart.hildebrand@amd.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 2/9] iommu/arm: Add iommu_dt_xlate()
Date: Thu, 9 Nov 2023 13:27:05 -0500
Message-ID: <20231109182716.367119-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231109182716.367119-1-stewart.hildebrand@amd.com>
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DB:EE_|DM6PR12MB4973:EE_
X-MS-Office365-Filtering-Correlation-Id: 000bb191-197c-435c-9433-08dbe151b07d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3huW63G+YA7VWASpN4sk5mRXTzlAzVBhyLOfg7FU4zj8nqPgtDfMEmpKIrs+Iiuw+KOhF93OqfuG0RnRpiOBq3seOWYHWfEUMRK5P0p1SqEN2fGtcf59pTVBudzoAlMEYwWnlua2lzFfNrOZ/FODGqKOw3bxaZNQkCAIqh1TnqS2hHmeDi6igF3O791nMbtTHmyR+br0DKKRWdvYkbXmXsp6CfA5IrAyEcvR46tgmGHPayq4myo+5W12fpKeMuaKgXBi6qGaf9OQ0/QRFyweazoCpW8zBtzC4lY7mwTWMA790S4L3CUo6JGPRKBpGh/+30D81ub+WuT5abm1S2mpMspCWoFLWYNBtQ1ORRFoCtN3galcYYNpCWWt8qx0vVovB5oS7Qie3+CchQEPhXdLcqTRhyVHD3OeDW/pKgC0ZWdZyN7gtiWme/kujVJz5+SRwaKhaZZMdbHqwffgNe0jik5ipv4Fodq7rPonSoPFAEdB9uiqxH+uwpQf7585iONQGJp16mGNmlmCXbVBRIH5yVSWSBlwV3tL4Zb8/pLcTZoXeW0jZqddnmHUA5zCsiMhrH0q7Ni54E9MXZPGoqz+m7mt8oxueFyDMvIUOyTxuIRaS5zZgw+Lgyg1MyXdZ9gI+rYcqBnD4TBYLt3DfpLxBgwl2Dl1MSXiQj4rCpWmE4/skqECW6EC6BzwwGJBZIT+W2FM95EaAe0CANTipfje+LFSR8Bj/Q1bvJXPJlNsyiDTtS8LwGVnGsGd0gRtCRkZ
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:(13230031)(4636009)(396003)(376002)(39860400002)(136003)(346002)(230922051799003)(451199024)(64100799003)(1800799009)(82310400011)(186009)(40470700004)(36840700001)(46966006)(26005)(2906002)(356005)(4326008)(8676002)(40480700001)(36860700001)(5660300002)(7416002)(81166007)(86362001)(47076005)(8936002)(41300700001)(40460700003)(336012)(82740400003)(70206006)(6916009)(1076003)(44832011)(83380400001)(2616005)(426003)(316002)(54906003)(70586007)(6666004)(966005)(478600001)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:28:37.1740
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 000bb191-197c-435c-9433-08dbe151b07d
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:
	CY4PEPF0000E9DB.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4973

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Move code for processing DT IOMMU specifier to a separate helper.
This helper will be re-used for adding PCI devices by the subsequent
patches as we will need exact the same actions for processing
DT PCI-IOMMU specifier.

While at it introduce NO_IOMMU to avoid magic "1".

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v5->v6:
* pass ops parameter to iommu_dt_xlate()
* add Julien's R-b

v4->v5:
* rebase on top of "dynamic node programming using overlay dtbo" series
* move #define NO_IOMMU 1 to header
* s/these/this/ inside comment

v3->v4:
* make dt_phandle_args *iommu_spec const
* move !ops->add_device check to helper

v2->v3:
* no change

v1->v2:
* no change

downstream->v1:
* trivial rebase
* s/dt_iommu_xlate/iommu_dt_xlate/

(cherry picked from commit c26bab0415ca303df86aba1d06ef8edc713734d3 from
 the downstream branch poc/pci-passthrough from
 https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc.git)
---
 xen/drivers/passthrough/device_tree.c | 48 +++++++++++++++++----------
 xen/include/xen/iommu.h               |  2 ++
 2 files changed, 32 insertions(+), 18 deletions(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 075fb25a3706..4c35281d98ad 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -137,6 +137,30 @@ int iommu_release_dt_devices(struct domain *d)
     return 0;
 }
 
+static int iommu_dt_xlate(struct device *dev,
+                          const struct dt_phandle_args *iommu_spec,
+                          const struct iommu_ops *ops)
+{
+    int rc;
+
+    if ( !ops->dt_xlate )
+        return -EINVAL;
+
+    if ( !dt_device_is_available(iommu_spec->np) )
+        return NO_IOMMU;
+
+    rc = iommu_fwspec_init(dev, &iommu_spec->np->dev);
+    if ( rc )
+        return rc;
+
+    /*
+     * Provide DT IOMMU specifier which describes the IOMMU master
+     * interfaces of that device (device IDs, etc) to the driver.
+     * The driver is responsible to decide how to interpret them.
+     */
+    return ops->dt_xlate(dev, iommu_spec);
+}
+
 int iommu_remove_dt_device(struct dt_device_node *np)
 {
     const struct iommu_ops *ops = iommu_get_ops();
@@ -146,7 +170,7 @@ int iommu_remove_dt_device(struct dt_device_node *np)
     ASSERT(rw_is_locked(&dt_host_lock));
 
     if ( !iommu_enabled )
-        return 1;
+        return NO_IOMMU;
 
     if ( !ops )
         return -EOPNOTSUPP;
@@ -187,12 +211,12 @@ int iommu_add_dt_device(struct dt_device_node *np)
     const struct iommu_ops *ops = iommu_get_ops();
     struct dt_phandle_args iommu_spec;
     struct device *dev = dt_to_dev(np);
-    int rc = 1, index = 0;
+    int rc = NO_IOMMU, index = 0;
 
     ASSERT(system_state < SYS_STATE_active || rw_is_locked(&dt_host_lock));
 
     if ( !iommu_enabled )
-        return 1;
+        return NO_IOMMU;
 
     if ( !ops )
         return -EINVAL;
@@ -215,27 +239,15 @@ int iommu_add_dt_device(struct dt_device_node *np)
     {
         /*
          * The driver which supports generic IOMMU DT bindings must have
-         * these callback implemented.
+         * this callback implemented.
          */
-        if ( !ops->add_device || !ops->dt_xlate )
+        if ( !ops->add_device )
         {
             rc = -EINVAL;
             goto fail;
         }
 
-        if ( !dt_device_is_available(iommu_spec.np) )
-            break;
-
-        rc = iommu_fwspec_init(dev, &iommu_spec.np->dev);
-        if ( rc )
-            break;
-
-        /*
-         * Provide DT IOMMU specifier which describes the IOMMU master
-         * interfaces of that device (device IDs, etc) to the driver.
-         * The driver is responsible to decide how to interpret them.
-         */
-        rc = ops->dt_xlate(dev, &iommu_spec);
+        rc = iommu_dt_xlate(dev, &iommu_spec, ops);
         if ( rc )
             break;
 
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 0e747b0bbc1c..8cd4b9a6bfb2 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -245,6 +245,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
  */
 int iommu_remove_dt_device(struct dt_device_node *np);
 
+#define NO_IOMMU    1
+
 #endif /* HAS_DEVICE_TREE */
 
 struct page_info;
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:29:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629775.982223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19m7-0001UV-0l; Thu, 09 Nov 2023 18:29:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629775.982223; Thu, 09 Nov 2023 18:29: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 1r19m6-0001UM-T2; Thu, 09 Nov 2023 18:29:06 +0000
Received: by outflank-mailman (input) for mailman id 629775;
 Thu, 09 Nov 2023 18:29: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19m5-00018Z-75
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:29:05 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20622.outbound.protection.outlook.com
 [2a01:111:f400:7e88::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dba3a2ae-7f2d-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 19:29:04 +0100 (CET)
Received: from CY5PR19CA0010.namprd19.prod.outlook.com (2603:10b6:930:15::14)
 by BN9PR12MB5097.namprd12.prod.outlook.com (2603:10b6:408:136::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Thu, 9 Nov
 2023 18:28:59 +0000
Received: from CY4PEPF0000E9D5.namprd05.prod.outlook.com
 (2603:10b6:930:15:cafe::8f) by CY5PR19CA0010.outlook.office365.com
 (2603:10b6:930:15::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18 via Frontend
 Transport; Thu, 9 Nov 2023 18:28:57 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D5.mail.protection.outlook.com (10.167.241.76) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.19 via Frontend Transport; Thu, 9 Nov 2023 18:28:56 +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.2507.32; Thu, 9 Nov
 2023 12:28:51 -0600
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.2507.32; Thu, 9 Nov
 2023 12:28:50 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:28:49 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dba3a2ae-7f2d-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VPn3+dg8l0aFrQk5/E1RhV1o7ezQQG9TTaePbJmyJAtQHxolAzKP0efyRMaO08vlfL1Ac+scgIP8uHG8isllZoXkA5XH5++yR6NG/6arU4qshRWFTFZHHa0uR6ci93XfYlHPp/GU5epruS92Zhyc9lY57panRMVu+iDJOKiXui0Er1GpLtxrXDxfD0VKjGnm1wUX2unLo88K12XB9HPFGwB54s1c/74piKTINZXTT0Iotprv9stgKbFmOkZ5kwzhuhlp9jH+B9JjSCxXOGegiU0qSvi+2Tsb1sOzVmmI1BWrLwjF+pvW7CLmMCffIIfmYzrjp2NLryffPs4KoSSCAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=er47gbLD0nrOyJoeuCOE/UOtw7KE+ZzgpOglVxbhGGw=;
 b=l5I0VcOQRUqSk7MWuaTc2N6qZQWCZIUP8rcVBOdXCvnKyQgsVouepBk6S3sV8ALh3ixEZvHkm4XmOszqi1kGIkwCpuEHOkkxrVs8APD/NyXu8KOnIF1UlZ1zGQy3+UmZRwpmUwjDnSLZxfLz4ne+n8sz7rWaFsdHr+AxlQXrAzsLYbtacRfdBvgWYSyifsL5pHXLRGNxhMFy4SEXTMABhTnu7FWHJmu1QCe89XyyfKWgcktCH11JzsFHRpmxQVzw+RAKfulKkzl3ygOhfQAoin8dRnVjf4in4An07e83tBfEY9SZwbCdIu7EXC1BdRcXC8ooqYWZXHhro8Kjypss6w==
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 (0)
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=er47gbLD0nrOyJoeuCOE/UOtw7KE+ZzgpOglVxbhGGw=;
 b=yLHePgudUBf1KHCwSK4Yt4Sghu7SfS6sUBRwIj2RnGBYrR9/GUdldyg8bcUqSic/AS0fQiLIIh6tMsAYlmddPTGT/jHOb4q8B3uo+J0klGEcUIDc0Mo/s70wGnXkMzhb0OO/6aR391njBa8SYQeHBZwXLmbhc/uBv//xd4TGq/I=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Jan Beulich
	<jbeulich@suse.com>, Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Rahul Singh
	<rahul.singh@arm.com>, Bertrand Marquis <bertrand.marquis@arm.com>, "Stewart
 Hildebrand" <stewart.hildebrand@amd.com>
Subject: [PATCH v6 3/9] iommu/arm: Introduce iommu_add_dt_pci_sideband_ids API
Date: Thu, 9 Nov 2023 13:27:06 -0500
Message-ID: <20231109182716.367119-4-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231109182716.367119-1-stewart.hildebrand@amd.com>
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D5:EE_|BN9PR12MB5097:EE_
X-MS-Office365-Filtering-Correlation-Id: f9e38f7f-e9ff-4fb7-56b4-08dbe151bc29
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GOze1uQf/UOGNezNwoW2+muOcwQvZb360gboQmNg+Sy4/AUj0oubsf9c40RRbOEXVQl5EB90fQT59MaqrJjlfesWNtL02IbLqSyf9+yD8OIYGMt8N1N6qxpAuACwSh1n2XKVMpOail618AZewstjptOJzWwlTeazBs2RT7cbTFJ7cNaBiN43Cgzbh1qtnXDj60hzE0PKey6uBlsl7t/UcZArRjtwJbv7HHJGdRFsKi5X9o+HcnW5QU602gin4+78nbEiRuXHO+RFXjvUJza8VxVFF+Qs2mCK1pVURn1GQpehb0UGHGN6c6eHvuCcutQPY19Vko9MHoZzRpj5r8Qv2KRon5h5q5u6M2KDwCtjd5w9V02MT4oXh7PVZVqJ4rFvvYydvhLp1lhvK8thDQdCrOuz1VMVP9QCxaVN660S+s9kEq56mvUh0XyFI3H60UN0wG84nwFO6Kd+/zyeTkW6owUSbcWOC5s95B68R1mSSzdPwUCpATLSU954ReyVUpVAT/HB46BZ1YHR4QN1asjuWO9dQHVLmYsFhAA8TJCyIAERBndcD4g4/Q+TKyePYVZT+ViL+Cyqv0tFA9wJW1KRdzZcRz1VBgi8+1qnXg8KXV3FSatuoPzWkmK7n5n0qysNdkcZ2dNHe7yh5702o62NQnQ/gNirrI0Pj16qvtnS4JkGPfEGFqfwwzhRaTYW2vaBVvkLgG8ZORxbCns6DUanKHxkn5giizFUj36Xo9mh4T+V/kVvCxVMzW3x//LgLYe988zJVTcboSeHwv7ooSjiwH9YdiXTnHDd2l62OUYnQNV9nyAUbes7UWFRugq9QfWh
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:(13230031)(4636009)(396003)(136003)(376002)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(82310400011)(46966006)(36840700001)(40470700004)(40460700003)(36756003)(40480700001)(6666004)(966005)(41300700001)(4326008)(5660300002)(44832011)(2616005)(36860700001)(8936002)(8676002)(70586007)(6916009)(30864003)(2906002)(426003)(316002)(54906003)(83380400001)(26005)(70206006)(86362001)(478600001)(47076005)(82740400003)(1076003)(336012)(81166007)(356005)(2004002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:28:56.7389
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f9e38f7f-e9ff-4fb7-56b4-08dbe151bc29
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:
	CY4PEPF0000E9D5.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5097

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

The main purpose of this patch is to add a way to register PCI device
(which is behind the IOMMU) using the generic PCI-IOMMU DT bindings [1]
before assigning that device to a domain.

This behaves similarly to the existing iommu_add_dt_device API, except it
handles PCI devices, and it is to be invoked from the add_device hook in the
SMMU driver.

The function dt_map_id to translate an ID through a downstream mapping
(which is also suitable for mapping Requester ID) was borrowed from Linux
(v5.10-rc6) and updated according to the Xen code base.

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-iommu.txt

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v5->v6:
* pass ops to iommu_dt_xlate()

v4->v5:
* style: add newlines after variable declarations and before return in iommu.h
* drop device_is_protected() check in iommu_add_dt_pci_sideband_ids()
* rebase on top of ("dynamic node programming using overlay dtbo") series
* fix typo in commit message
* remove #ifdef around dt_map_id() prototype
* move dt_map_id() to xen/common/device_tree.c
* add function name in error prints
* use dprintk for debug prints
* use GENMASK and #include <xen/bitops.h>
* fix typo in comment
* remove unnecessary (int) cast in loop condition
* assign *id_out and return success in case of no translation in dt_map_id()
* don't initialize local variable unnecessarily
* return error in case of ACPI/no DT in iommu_add_{dt_}pci_sideband_ids()

v3->v4:
* wrap #include <asm/acpi.h> and if ( acpi_disabled ) in #ifdef CONFIG_ACPI
* fix Michal's remarks about style, parenthesis, and print formats
* remove !ops->dt_xlate check since it is already in iommu_dt_xlate helper
* rename s/iommu_dt_pci_map_id/dt_map_id/ because it is generic, not specific
  to iommu
* update commit description

v2->v3:
* new patch title (was: iommu/arm: Introduce iommu_add_dt_pci_device API)
* renamed function
  from: iommu_add_dt_pci_device
  to: iommu_add_dt_pci_sideband_ids
* removed stale ops->add_device check
* iommu.h: add empty stub iommu_add_dt_pci_sideband_ids for !HAS_DEVICE_TREE
* iommu.h: add iommu_add_pci_sideband_ids helper
* iommu.h: don't wrap prototype in #ifdef CONFIG_HAS_PCI
* s/iommu_fwspec_free(pci_to_dev(pdev))/iommu_fwspec_free(dev)/

v1->v2:
* remove extra devfn parameter since pdev fully describes the device
* remove ops->add_device() call from iommu_add_dt_pci_device(). Instead, rely on
  the existing iommu call in iommu_add_device().
* move the ops->add_device and ops->dt_xlate checks earlier

downstream->v1:
* rebase
* add const qualifier to struct dt_device_node *np arg in dt_map_id()
* add const qualifier to struct dt_device_node *np declaration in iommu_add_pci_device()
* use stdint.h types instead of u8/u32/etc...
* rename functions:
  s/dt_iommu_xlate/iommu_dt_xlate/
  s/dt_map_id/iommu_dt_pci_map_id/
  s/iommu_add_pci_device/iommu_add_dt_pci_device/
* add device_is_protected check in iommu_add_dt_pci_device
* wrap prototypes in CONFIG_HAS_PCI

(cherry picked from commit 734e3bf6ee77e7947667ab8fa96c25b349c2e1da from
 the downstream branch poc/pci-passthrough from
 https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc.git)
---
 xen/common/device_tree.c              | 91 +++++++++++++++++++++++++++
 xen/drivers/passthrough/device_tree.c | 42 +++++++++++++
 xen/include/xen/device_tree.h         | 23 +++++++
 xen/include/xen/iommu.h               | 24 ++++++-
 4 files changed, 179 insertions(+), 1 deletion(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index b1c29529514f..5cb84864b89b 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -10,6 +10,7 @@
  * published by the Free Software Foundation.
  */
 
+#include <xen/bitops.h>
 #include <xen/types.h>
 #include <xen/init.h>
 #include <xen/guest_access.h>
@@ -2243,6 +2244,96 @@ int dt_get_pci_domain_nr(struct dt_device_node *node)
     return (u16)domain;
 }
 
+int dt_map_id(const struct dt_device_node *np, uint32_t id,
+              const char *map_name, const char *map_mask_name,
+              struct dt_device_node **target, uint32_t *id_out)
+{
+    uint32_t map_mask, masked_id, map_len;
+    const __be32 *map = NULL;
+
+    if ( !np || !map_name || (!target && !id_out) )
+        return -EINVAL;
+
+    map = dt_get_property(np, map_name, &map_len);
+    if ( !map )
+    {
+        if ( target )
+            return -ENODEV;
+
+        /* Otherwise, no map implies no translation */
+        *id_out = id;
+        return 0;
+    }
+
+    if ( !map_len || (map_len % (4 * sizeof(*map))) )
+    {
+        printk(XENLOG_ERR "%s(): %s: Error: Bad %s length: %u\n", __func__,
+               np->full_name, map_name, map_len);
+        return -EINVAL;
+    }
+
+    /* The default is to select all bits. */
+    map_mask = GENMASK(31, 0);
+
+    /*
+     * Can be overridden by "{iommu,msi}-map-mask" property.
+     * If dt_property_read_u32() fails, the default is used.
+     */
+    if ( map_mask_name )
+        dt_property_read_u32(np, map_mask_name, &map_mask);
+
+    masked_id = map_mask & id;
+    for ( ; map_len > 0; map_len -= 4 * sizeof(*map), map += 4 )
+    {
+        struct dt_device_node *phandle_node;
+        uint32_t id_base = be32_to_cpup(map + 0);
+        uint32_t phandle = be32_to_cpup(map + 1);
+        uint32_t out_base = be32_to_cpup(map + 2);
+        uint32_t id_len = be32_to_cpup(map + 3);
+
+        if ( id_base & ~map_mask )
+        {
+            printk(XENLOG_ERR "%s(): %s: Invalid %s translation - %s-mask (0x%"PRIx32") ignores id-base (0x%"PRIx32")\n",
+                   __func__, np->full_name, map_name, map_name, map_mask,
+                   id_base);
+            return -EFAULT;
+        }
+
+        if ( (masked_id < id_base) || (masked_id >= (id_base + id_len)) )
+            continue;
+
+        phandle_node = dt_find_node_by_phandle(phandle);
+        if ( !phandle_node )
+            return -ENODEV;
+
+        if ( target )
+        {
+            if ( !*target )
+                *target = phandle_node;
+
+            if ( *target != phandle_node )
+                continue;
+        }
+
+        if ( id_out )
+            *id_out = masked_id - id_base + out_base;
+
+        dprintk(XENLOG_DEBUG, "%s: %s, using mask %08"PRIx32", id-base: %08"PRIx32", out-base: %08"PRIx32", length: %08"PRIx32", id: %08"PRIx32" -> %08"PRIx32"\n",
+               np->full_name, map_name, map_mask, id_base, out_base, id_len, id,
+               masked_id - id_base + out_base);
+        return 0;
+    }
+
+    dprintk(XENLOG_DEBUG, "%s: no %s translation for id 0x%"PRIx32" on %s\n",
+           np->full_name, map_name, id,
+           (target && *target) ? (*target)->full_name : NULL);
+
+    if ( id_out )
+        *id_out = id;
+
+    return 0;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index 4c35281d98ad..edbd3f17adc5 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -161,6 +161,48 @@ static int iommu_dt_xlate(struct device *dev,
     return ops->dt_xlate(dev, iommu_spec);
 }
 
+#ifdef CONFIG_HAS_PCI
+int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
+{
+    const struct iommu_ops *ops = iommu_get_ops();
+    struct dt_phandle_args iommu_spec = { .args_count = 1 };
+    struct device *dev = pci_to_dev(pdev);
+    const struct dt_device_node *np;
+    int rc;
+
+    if ( !iommu_enabled )
+        return NO_IOMMU;
+
+    if ( !ops )
+        return -EINVAL;
+
+    if ( dev_iommu_fwspec_get(dev) )
+        return -EEXIST;
+
+    np = pci_find_host_bridge_node(pdev);
+    if ( !np )
+        return -ENODEV;
+
+    /*
+     * According to the Documentation/devicetree/bindings/pci/pci-iommu.txt
+     * from Linux.
+     */
+    rc = dt_map_id(np, PCI_BDF(pdev->bus, pdev->devfn), "iommu-map",
+                   "iommu-map-mask", &iommu_spec.np, iommu_spec.args);
+    if ( rc )
+        return (rc == -ENODEV) ? NO_IOMMU : rc;
+
+    rc = iommu_dt_xlate(dev, &iommu_spec, ops);
+    if ( rc < 0 )
+    {
+        iommu_fwspec_free(dev);
+        return -EINVAL;
+    }
+
+    return rc;
+}
+#endif /* CONFIG_HAS_PCI */
+
 int iommu_remove_dt_device(struct dt_device_node *np)
 {
     const struct iommu_ops *ops = iommu_get_ops();
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index a262bba2edaf..14ec3f565976 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -939,6 +939,29 @@ int dt_count_phandle_with_args(const struct dt_device_node *np,
  */
 int dt_get_pci_domain_nr(struct dt_device_node *node);
 
+/**
+ * dt_map_id - Translate an ID through a downstream mapping.
+ * @np: root complex device node.
+ * @id: device ID to map.
+ * @map_name: property name of the map to use.
+ * @map_mask_name: optional property name of the mask to use.
+ * @target: optional pointer to a target device node.
+ * @id_out: optional pointer to receive the translated ID.
+ *
+ * Given a device ID, look up the appropriate implementation-defined
+ * platform ID and/or the target device which receives transactions on that
+ * ID, as per the "iommu-map" and "msi-map" bindings. Either of @target or
+ * @id_out may be NULL if only the other is required. If @target points to
+ * a non-NULL device node pointer, only entries targeting that node will be
+ * matched; if it points to a NULL value, it will receive the device node of
+ * the first matching target phandle, with a reference held.
+ *
+ * Return: 0 on success or a standard error code on failure.
+ */
+int dt_map_id(const struct dt_device_node *np, uint32_t id,
+              const char *map_name, const char *map_mask_name,
+              struct dt_device_node **target, uint32_t *id_out);
+
 struct dt_device_node *dt_find_node_by_phandle(dt_phandle handle);
 
 #ifdef CONFIG_DEVICE_TREE_DEBUG
diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index 8cd4b9a6bfb2..2f081a8cea62 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -27,6 +27,9 @@
 #include <xen/errno.h>
 #include <public/domctl.h>
 #include <public/hvm/ioreq.h>
+#ifdef CONFIG_ACPI
+#include <asm/acpi.h>
+#endif
 #include <asm/device.h>
 
 TYPE_SAFE(uint64_t, dfn);
@@ -222,7 +225,8 @@ int iommu_dt_domain_init(struct domain *d);
 int iommu_release_dt_devices(struct domain *d);
 
 /*
- * Helper to add master device to the IOMMU using generic IOMMU DT bindings.
+ * Helpers to add master device to the IOMMU using generic (PCI-)IOMMU
+ * DT bindings.
  *
  * Return values:
  *  0 : device is protected by an IOMMU
@@ -231,6 +235,7 @@ int iommu_release_dt_devices(struct domain *d);
  *      (IOMMU is not enabled/present or device is not connected to it).
  */
 int iommu_add_dt_device(struct dt_device_node *np);
+int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev);
 
 int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
                        XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl);
@@ -247,8 +252,25 @@ int iommu_remove_dt_device(struct dt_device_node *np);
 
 #define NO_IOMMU    1
 
+#else /* !HAS_DEVICE_TREE */
+static inline int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
+{
+    return -ENOSYS;
+}
 #endif /* HAS_DEVICE_TREE */
 
+static inline int iommu_add_pci_sideband_ids(struct pci_dev *pdev)
+{
+    int ret = -ENOSYS;
+
+#ifdef CONFIG_ACPI
+    if ( acpi_disabled )
+#endif
+        ret = iommu_add_dt_pci_sideband_ids(pdev);
+
+    return ret;
+}
+
 struct page_info;
 
 /*
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:29:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:29:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629776.982233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19mE-0001sb-8x; Thu, 09 Nov 2023 18:29:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629776.982233; Thu, 09 Nov 2023 18: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 1r19mE-0001sU-5J; Thu, 09 Nov 2023 18:29:14 +0000
Received: by outflank-mailman (input) for mailman id 629776;
 Thu, 09 Nov 2023 18:29: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19mD-00005n-9x
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:29:13 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e03c7693-7f2d-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 19:29:11 +0100 (CET)
Received: from SN7PR04CA0038.namprd04.prod.outlook.com (2603:10b6:806:120::13)
 by SA1PR12MB7104.namprd12.prod.outlook.com (2603:10b6:806:29e::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Thu, 9 Nov
 2023 18:29:08 +0000
Received: from SA2PEPF00001508.namprd04.prod.outlook.com
 (2603:10b6:806:120:cafe::eb) by SN7PR04CA0038.outlook.office365.com
 (2603:10b6:806:120::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 18:29:08 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00001508.mail.protection.outlook.com (10.167.242.40) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 18:29:08 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 9 Nov
 2023 12:29:07 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:29:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e03c7693-7f2d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UtzA/zb4coYdiJ0Yrq//nICUzwvnuw1VCAfqHrAfP/9lwApjgI1xra0KsbJVceCZ+N9P3S4ryO4VpnDRvwVcLUSQha21rVH/tWdeRTcIlLc45S3y2gawzjYbk94/fx35+DqL8eaxwcY/cTrUdsM3UGmKJLnACE/1Ueafm/77S9CZluRwcmSbDIrKJnRXwNng0IH9ihhpTrUjEmKVswGpvVyxZo6uxs0GnA24+SfrRQka5PEthU292KdKVCh5jbyDzW4Vaw0ZIpT70YFBVA+XDHB/Kvprs0dlg6LJwfNMhwkt/VxlbJMP3BG9q/pER/FP8M2MkTelSXa1plgq/31QpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MCI3zKVr7iyG4SU198T4G2hXPsqaVClUex95SCcTuQs=;
 b=C83kW4MRE0sYtFO/lQAuUEa6z4czn5AhDINOlvVowkYoThzCRcZrcc8nnJesJf+kMRjbCDAxRC53woSV19rkOcQMhH3GGwUczNycHja9Yuqo8KDZRHvHws47HV/OTgcrb+SFtKB+o4JHmZbUUcNYi/08Rc+jkcHQWPSPZAY4f+hnjjYcBEC01Cobd4BNjvnTVTsHMjUp/M2xTiH6H6tf24tKlYdcAkMsj7mcR8TE3u+nft1BeJRVlz8lBJrgYbEW38cDslImWEKLSJZuYRUSzJEB6qvy0I139a8Bx+xPqNu7QAA63QmMqJV6d2NrmXvNNkEAJd25cQuIowXK04tnMw==
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 (0)
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=MCI3zKVr7iyG4SU198T4G2hXPsqaVClUex95SCcTuQs=;
 b=T0GUNhdXO4bkXBSMjZv7klseogBagYVQ09Iwz0fV4vE3EU/i4e8zVItJ1dI80ByVK6sUvaBY91BppqQsGftwzXPHZhKOIAS5BYqOYqrPMTSFeBfWR2r0XfBEQVeZvnrwz5OKDbYdQn/bmzl8eQYCAytzKMFnH3GfRtD/rWw7DsI=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Rahul Singh
	<rahul.singh@arm.com>, Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH v6 4/9] iommu/arm: iommu_add_dt_pci_sideband_ids phantom handling
Date: Thu, 9 Nov 2023 13:27:07 -0500
Message-ID: <20231109182716.367119-5-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231109182716.367119-1-stewart.hildebrand@amd.com>
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001508:EE_|SA1PR12MB7104:EE_
X-MS-Office365-Filtering-Correlation-Id: cf97dd45-08d0-4d91-0e62-08dbe151c2de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PCXEJo7IE89J/BshUdmZd1hL5ykGapnpFl/nD9OWIu4OGKpeMKcgXMBI4WGHdUAROFqSMiOfR2gdxBkcwftumXGJ/6cIfmayhTL7iPhSySWKLg5rZCmY5cNyQ2in46mGQKu1RSXfqcPB0DvopoLwLRJ8iFFeDY+6MydFxD6yrTbIMq8/3kqQ/lDstg9CJkDVSWMpAN9oYg28c9eGq+YSMUcbqSK4zEBq/nsrMncTVqasWPkSum6cx6Gh+l4BgvNmfnUsL1pfTkJltFJ80n0wDvpxAM109uk2tlyjftIpdpWNnzCzJ1A3re2haLDlmJYprjoiWObRMQM+YzJIBMR9gKEqYCcopLhVeR6jdTsBLKmo3+pcXZ8v3XHTzliogD8Hqc5aB7MCAF5TAbfQBD0b9vPv+SvslteIVvpkU9w5UuoPP0tMUfPfIsWwPAgdI9c1YXl9TUdnemMiB7w/6OKBJdvmyi58HR/42C7PJp6zjYTiseLwTen90n5hufGrfJai2Xj8El1qKKcM9pTHZsvPsT964ytsG7cx4d/qzg2znEo7ScXmkZyR15GIeYf02gLm/HsUaDlX3Lpno5sYPK2d4OwQVmfVVBCft95bdJebwHh4YTktR3Ir79+io6pKnQWuW0edeguHza83A8k+z3ZsJRQMzw6QUg409lLtkU557bFg30DoNahP6DN4M3jRAGCSwNZFcDUR87i5F7gGb4SrXFHvv7UPbpjZCeSGdslT0T960iScWjrtGpaDp8jhw1jxMoKJ4GDYovpwGr0m/Tv6wg==
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:(13230031)(4636009)(39860400002)(136003)(346002)(376002)(396003)(230922051799003)(1800799009)(82310400011)(186009)(64100799003)(451199024)(40470700004)(46966006)(36840700001)(47076005)(44832011)(41300700001)(2616005)(478600001)(966005)(8676002)(26005)(336012)(4326008)(316002)(8936002)(5660300002)(83380400001)(36860700001)(70586007)(54906003)(70206006)(1076003)(6916009)(356005)(426003)(81166007)(2906002)(86362001)(82740400003)(40480700001)(36756003)(40460700003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:29:08.0365
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cf97dd45-08d0-4d91-0e62-08dbe151c2de
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:
	SA2PEPF00001508.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7104

Handle phantom functions in iommu_add_dt_pci_sideband_ids(). Each phantom
function will have a unique requestor ID (RID)/BDF. On ARM, we need to
map/translate the RID/BDF to an AXI stream ID for each phantom function
according to the pci-iommu device tree mapping [1]. The RID/BDF -> AXI stream ID
mapping in DT could allow phantom devices (i.e. devices with phantom functions)
to use different AXI stream IDs based on the (phantom) function.

[1] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-iommu.txt

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v5->v6:
* no change

v4->v5:
* no change

v3->v4:
* s/iommu_dt_pci_map_id/dt_map_id/

v2->v3:
* new patch title (was: iommu/arm: iommu_add_dt_pci_device phantom handling)
* rework loop to reduce duplication
* s/iommu_fwspec_free(pci_to_dev(pdev))/iommu_fwspec_free(dev)/

v1->v2:
* new patch
---
 xen/drivers/passthrough/device_tree.c | 33 ++++++++++++++++-----------
 1 file changed, 20 insertions(+), 13 deletions(-)

diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
index edbd3f17adc5..eba1a5bac70a 100644
--- a/xen/drivers/passthrough/device_tree.c
+++ b/xen/drivers/passthrough/device_tree.c
@@ -169,6 +169,7 @@ int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
     struct device *dev = pci_to_dev(pdev);
     const struct dt_device_node *np;
     int rc;
+    unsigned int devfn = pdev->devfn;
 
     if ( !iommu_enabled )
         return NO_IOMMU;
@@ -183,21 +184,27 @@ int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
     if ( !np )
         return -ENODEV;
 
-    /*
-     * According to the Documentation/devicetree/bindings/pci/pci-iommu.txt
-     * from Linux.
-     */
-    rc = dt_map_id(np, PCI_BDF(pdev->bus, pdev->devfn), "iommu-map",
-                   "iommu-map-mask", &iommu_spec.np, iommu_spec.args);
-    if ( rc )
-        return (rc == -ENODEV) ? NO_IOMMU : rc;
+    do {
+        /*
+         * According to the Documentation/devicetree/bindings/pci/pci-iommu.txt
+         * from Linux.
+         */
+        rc = dt_map_id(np, PCI_BDF(pdev->bus, devfn), "iommu-map",
+                       "iommu-map-mask", &iommu_spec.np, iommu_spec.args);
+        if ( rc )
+            return (rc == -ENODEV) ? NO_IOMMU : rc;
 
-    rc = iommu_dt_xlate(dev, &iommu_spec, ops);
-    if ( rc < 0 )
-    {
-        iommu_fwspec_free(dev);
-        return -EINVAL;
+        rc = iommu_dt_xlate(dev, &iommu_spec, ops);
+        if ( rc < 0 )
+        {
+            iommu_fwspec_free(dev);
+            return -EINVAL;
+        }
+
+        devfn += pdev->phantom_stride;
     }
+    while ( (devfn != pdev->devfn) &&
+            (PCI_SLOT(devfn) == PCI_SLOT(pdev->devfn)) );
 
     return rc;
 }
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:29:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:29:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629780.982243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19mT-0002Ra-Q5; Thu, 09 Nov 2023 18:29:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629780.982243; Thu, 09 Nov 2023 18:29: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 1r19mT-0002RT-NQ; Thu, 09 Nov 2023 18:29:29 +0000
Received: by outflank-mailman (input) for mailman id 629780;
 Thu, 09 Nov 2023 18:29: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19mT-00005n-8A
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:29:29 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e88::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e907ccff-7f2d-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 19:29:26 +0100 (CET)
Received: from CY5PR17CA0014.namprd17.prod.outlook.com (2603:10b6:930:17::23)
 by DS7PR12MB8252.namprd12.prod.outlook.com (2603:10b6:8:ee::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.19; Thu, 9 Nov 2023 18:29:21 +0000
Received: from CY4PEPF0000E9DA.namprd05.prod.outlook.com
 (2603:10b6:930:17:cafe::d6) by CY5PR17CA0014.outlook.office365.com
 (2603:10b6:930:17::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18 via Frontend
 Transport; Thu, 9 Nov 2023 18:29:21 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9DA.mail.protection.outlook.com (10.167.241.79) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 18:29:21 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 9 Nov
 2023 12:29:20 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:29:19 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e907ccff-7f2d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d6ZMefSRfGE9az7ESJBVT9GiK9Lgjwf3ggPPSbT7XJzE7CXut4VS1rCiVPewvdRMawTuAiNnbCzfZa0zyAwnFM3t3O6EIrwwOaCEJ6GKs/rXTL8+1hbc5zC7gCKsuP9jxzapDItI5h0Sgdbnz1UZ3vLeRwkHozjVBc1X8rljC5lSd/POdilqon5byWViczXUbRzIFvFM8NThfLmMJK5Hs4U7M6yHVYXYjFGQ5tslnyw134jiHImN9UKeLcdGJIOysXvJXgA20k1mvojQAsnit5EJFOsyRja7/brK4lLxcbHz06oyXt0Q3STOqcwfDlAy3DxDlUL3qaRJrqQ3y32Naw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MfQJ30MMlF1LcmA2vSAup2UpciA3BnHADAP/CNrNni8=;
 b=KnsUwQiXEpgoGJ+DLa7M+tQpBHJ3k164twUlRo5eHEbqSqfICpCvSXIEYh11RoqtrMuvzRJ8RF5xoI/b34lteAX/vKfwGi0mfLYhcfa7+MUUjgb6NeAPQgZaKtkKM9oDq45JTYqVG3s9qvokd1UC6UlrNFWLSZL6VzMya6BPEbg/M8sNenotif9IgPAtcWW9/IwkjRWaxyaSXmI/hI7TKtgnP69gTQXA2682L3oy37Tc1CD89aoucWkJU/0Y0dYG6H7vNEyp3X9D2tj6Eo6Xuw/Vf0YoMxL2IRIdezBjFfVFfOfY0DsTqQZgcDGirs4mYNyMQyCKQz5/XGOy8KYG8A==
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 (0)
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=MfQJ30MMlF1LcmA2vSAup2UpciA3BnHADAP/CNrNni8=;
 b=ff0cHaosu0Fk7KsR4pE/ZzBxFk1NHe4NILxSTnApa+lyIgz5pE41UAw0vZ0lfFES1OZmZNwnxIIFWf/J/X3THrBrIt+bVxDVkEv+QEsbMJoCGxiq4ZECyBp0X3+UvwM5LolbhddF7bGknUNtu5Cunjiv7LREadKeUpdHr+LEvdI=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>, Julien Grall
	<julien@xen.org>, Rahul Singh <rahul.singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	"Michal Orzel" <michal.orzel@amd.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>
Subject: [PATCH v6 5/9] xen/arm: smmuv2: Add PCI devices support for SMMUv2
Date: Thu, 9 Nov 2023 13:27:08 -0500
Message-ID: <20231109182716.367119-6-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231109182716.367119-1-stewart.hildebrand@amd.com>
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DA:EE_|DS7PR12MB8252:EE_
X-MS-Office365-Filtering-Correlation-Id: 88238014-4be6-41e5-5971-08dbe151cab5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oCPaMSCRUOKnpM2lFIbhHGdVXZz3VGo599AyNWYqvRjqSqsNjNBGxCCfnZJ9eoaQWgt/aOF21J2X4V5WHJCR/oU8uepX3s5ha/p9yKKaF/74JtOjeIp32gH4KPa89qx6yKRVuhcIpajH9xDkGTtUIh2GEdi0bw+rKY5bMceYjxXDuz/MCGnAy7GNizqZ/SXDj7Ljy7V7jI92q5TQbObIpb+4rzfZQmpivN+pKAPEroPmpD5mYR6g3W1u4Iz3eZC5TNO8wuaGjakr/M4ODsD2kwFecFje13CH9XFu84owPA1sNpyUWGP3eQd7Eh9n9G0UYQLvxPFFTMuM/rXjlqHpjN8X3ThDMjF4WqlbcB/D8ItYR0yZNdThV1y6xe4LArt+YogCIC1VSn6spL1ZbMP5Js60ieGEKL/mObM4/ATtit2GH6+ILzbHu/b9ivAkrq2aYovWsMpVX2KzMzcjfNmIDXanpRxe/nKj7jbHvw3RW075mJuuH9SHSchXNZ3MiZwwHeByMSdiFt6Lyg/aGIOn4/N2gn13IiKzAaY1lM0CrLz/Yni0Z53JTHFSl9zZi9plDo1vaF+pEll0E+x58t85AYsAVfBvCZYZqoygdDItJ5ojLFG4pXwQUcfMhL7A2F5/khNPssUf59Yw8kuOkFqXczF1/r3skxSY3sWtU2Gc9CbXhU2ACQZL645HWdQ3tHo9Q+dO3MncpvuTzfhrjHWuGaPBk4l/CAu/vr+2hIxf9/aaK7mEwLTfoNUk6AebHIHX
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:(13230031)(4636009)(346002)(136003)(396003)(376002)(39860400002)(230922051799003)(64100799003)(82310400011)(451199024)(186009)(1800799009)(36840700001)(46966006)(40470700004)(70586007)(70206006)(83380400001)(316002)(6916009)(26005)(30864003)(54906003)(1076003)(6666004)(4326008)(8936002)(8676002)(2616005)(5660300002)(44832011)(2906002)(47076005)(336012)(426003)(40480700001)(81166007)(82740400003)(356005)(36860700001)(41300700001)(966005)(478600001)(86362001)(36756003)(40460700003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:29:21.1602
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 88238014-4be6-41e5-5971-08dbe151cab5
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:
	CY4PEPF0000E9DA.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8252

From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v5->v6:
* check for hardware_domain == NULL (dom0less test case)
* locking: assign pdev->domain before list_add()

v4->v5:
* assign device to pdev->domain (usually dom0) by default in add_device() hook
* deassign from hwdom
* rebase on top of ("dynamic node programming using overlay dtbo") series
* remove TODO in comment about device prints
* add TODO regarding locking
* fixup after dropping ("xen/arm: Move is_protected flag to struct device")

v3->v4:
* add new device_is_protected check in add_device hook to match SMMUv3 and
  IPMMU-VMSA drivers

v2->v3:
* invoke iommu_add_pci_sideband_ids() from add_device hook

v1->v2:
* ignore add_device/assign_device/reassign_device calls for phantom functions
  (i.e. devfn != pdev->devfn)

downstream->v1:
* wrap unused function in #ifdef 0
* remove the remove_device() stub since it was submitted separately to the list
  [XEN][PATCH v6 12/19] xen/smmu: Add remove_device callback for smmu_iommu ops
  https://lists.xenproject.org/archives/html/xen-devel/2023-05/msg00204.html
* arm_smmu_(de)assign_dev: return error instead of crashing system
* update condition in arm_smmu_reassign_dev
* style fixup
* add && !is_hardware_domain(d) into condition in arm_smmu_assign_dev()

(cherry picked from commit 0c11a7f65f044c26d87d1e27ac6283ef1f9cfb7a from
 the downstream branch spider-master from
 https://github.com/xen-troops/xen.git)
---
 xen/drivers/passthrough/arm/smmu.c | 199 ++++++++++++++++++++++++-----
 1 file changed, 169 insertions(+), 30 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu.c b/xen/drivers/passthrough/arm/smmu.c
index 11fc1d22ef0a..24d1c0353025 100644
--- a/xen/drivers/passthrough/arm/smmu.c
+++ b/xen/drivers/passthrough/arm/smmu.c
@@ -131,11 +131,21 @@ enum irqreturn {
 
 typedef enum irqreturn irqreturn_t;
 
-/* Device logger functions
- * TODO: Handle PCI
- */
-#define dev_print(dev, lvl, fmt, ...)						\
-	 printk(lvl "smmu: %s: " fmt, dt_node_full_name(dev_to_dt(dev)), ## __VA_ARGS__)
+/* Device logger functions */
+#ifndef CONFIG_HAS_PCI
+#define dev_print(dev, lvl, fmt, ...)    \
+    printk(lvl "smmu: %s: " fmt, dev_name(dev), ## __VA_ARGS__)
+#else
+#define dev_print(dev, lvl, fmt, ...) ({                                \
+    if ( !dev_is_pci((dev)) )                                           \
+        printk(lvl "smmu: %s: " fmt, dev_name((dev)), ## __VA_ARGS__);  \
+    else                                                                \
+    {                                                                   \
+        struct pci_dev *pdev = dev_to_pci((dev));                       \
+        printk(lvl "smmu: %pp: " fmt, &pdev->sbdf, ## __VA_ARGS__);     \
+    }                                                                   \
+})
+#endif
 
 #define dev_dbg(dev, fmt, ...) dev_print(dev, XENLOG_DEBUG, fmt, ## __VA_ARGS__)
 #define dev_notice(dev, fmt, ...) dev_print(dev, XENLOG_INFO, fmt, ## __VA_ARGS__)
@@ -187,6 +197,7 @@ static void __iomem *devm_ioremap_resource(struct device *dev,
  * Xen: PCI functions
  * TODO: It should be implemented when PCI will be supported
  */
+#if 0 /* unused */
 #define to_pci_dev(dev)	(NULL)
 static inline int pci_for_each_dma_alias(struct pci_dev *pdev,
 					 int (*fn) (struct pci_dev *pdev,
@@ -196,6 +207,7 @@ static inline int pci_for_each_dma_alias(struct pci_dev *pdev,
 	BUG();
 	return 0;
 }
+#endif
 
 /* Xen: misc */
 #define PHYS_MASK_SHIFT		PADDR_BITS
@@ -631,7 +643,7 @@ struct arm_smmu_master_cfg {
 	for (i = 0; idx = cfg->smendx[i], i < num; ++i)
 
 struct arm_smmu_master {
-	struct device_node		*of_node;
+	struct device			*dev;
 	struct rb_node			node;
 	struct arm_smmu_master_cfg	cfg;
 };
@@ -723,7 +735,7 @@ arm_smmu_get_fwspec(struct arm_smmu_master_cfg *cfg)
 {
 	struct arm_smmu_master *master = container_of(cfg,
 			                                      struct arm_smmu_master, cfg);
-	return dev_iommu_fwspec_get(&master->of_node->dev);
+	return dev_iommu_fwspec_get(master->dev);
 }
 
 static void parse_driver_options(struct arm_smmu_device *smmu)
@@ -756,7 +768,7 @@ static struct device_node *dev_get_dev_node(struct device *dev)
 }
 
 static struct arm_smmu_master *find_smmu_master(struct arm_smmu_device *smmu,
-						struct device_node *dev_node)
+						struct device *dev)
 {
 	struct rb_node *node = smmu->masters.rb_node;
 
@@ -765,9 +777,9 @@ static struct arm_smmu_master *find_smmu_master(struct arm_smmu_device *smmu,
 
 		master = container_of(node, struct arm_smmu_master, node);
 
-		if (dev_node < master->of_node)
+		if (dev < master->dev)
 			node = node->rb_left;
-		else if (dev_node > master->of_node)
+		else if (dev > master->dev)
 			node = node->rb_right;
 		else
 			return master;
@@ -802,9 +814,9 @@ static int insert_smmu_master(struct arm_smmu_device *smmu,
 			= container_of(*new, struct arm_smmu_master, node);
 
 		parent = *new;
-		if (master->of_node < this->of_node)
+		if (master->dev < this->dev)
 			new = &((*new)->rb_left);
-		else if (master->of_node > this->of_node)
+		else if (master->dev > this->dev)
 			new = &((*new)->rb_right);
 		else
 			return -EEXIST;
@@ -836,28 +848,37 @@ static int arm_smmu_dt_add_device_legacy(struct arm_smmu_device *smmu,
 	struct arm_smmu_master *master;
 	struct device_node *dev_node = dev_get_dev_node(dev);
 
-	master = find_smmu_master(smmu, dev_node);
+	master = find_smmu_master(smmu, dev);
 	if (master) {
 		dev_err(dev,
 			"rejecting multiple registrations for master device %s\n",
-			dev_node->name);
+			dev_node ? dev_node->name : "");
 		return -EBUSY;
 	}
 
 	master = devm_kzalloc(dev, sizeof(*master), GFP_KERNEL);
 	if (!master)
 		return -ENOMEM;
-	master->of_node = dev_node;
+	master->dev = dev;
 
-	/* Xen: Let Xen know that the device is protected by an SMMU */
-	dt_device_set_protected(dev_node);
+	if ( !dev_is_pci(dev) )
+	{
+		if ( dt_device_is_protected(dev_node) )
+		{
+			dev_err(dev, "Already added to SMMU\n");
+			return -EEXIST;
+		}
+
+		/* Xen: Let Xen know that the device is protected by an SMMU */
+		dt_device_set_protected(dev_node);
+	}
 
 	for (i = 0; i < fwspec->num_ids; ++i) {
 		if (!(smmu->features & ARM_SMMU_FEAT_STREAM_MATCH) &&
 		     (fwspec->ids[i] >= smmu->num_mapping_groups)) {
 			dev_err(dev,
 				"stream ID for master device %s greater than maximum allowed (%d)\n",
-				dev_node->name, smmu->num_mapping_groups);
+				dev_node ? dev_node->name : "", smmu->num_mapping_groups);
 			return -ERANGE;
 		}
 		master->cfg.smendx[i] = INVALID_SMENDX;
@@ -872,7 +893,7 @@ static int arm_smmu_dt_remove_device_legacy(struct arm_smmu_device *smmu,
 	struct device_node *dev_node = dev_get_dev_node(dev);
 	int ret;
 
-	master = find_smmu_master(smmu, dev_node);
+	master = find_smmu_master(smmu, dev);
 	if (master == NULL) {
 		dev_err(dev,
 			"No registrations found for master device %s\n",
@@ -884,8 +905,9 @@ static int arm_smmu_dt_remove_device_legacy(struct arm_smmu_device *smmu,
 	if (ret)
 		return ret;
 
-	/* Protected by dt_host_lock and dtdevs_lock as caller holds these locks. */
-	dev_node->is_protected = false;
+	if ( !dev_is_pci(dev) )
+		/* Protected by dt_host_lock and dtdevs_lock as caller holds these locks. */
+		dev_node->is_protected = false;
 
 	kfree(master);
 	return 0;
@@ -914,6 +936,12 @@ static int register_smmu_master(struct arm_smmu_device *smmu,
 					     fwspec);
 }
 
+/* Forward declaration */
+static int arm_smmu_assign_dev(struct domain *d, u8 devfn,
+			       struct device *dev, u32 flag);
+static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn,
+				 struct device *dev);
+
 /*
  * The driver which supports generic IOMMU DT bindings must have this
  * callback implemented.
@@ -938,6 +966,22 @@ static int arm_smmu_dt_add_device_generic(u8 devfn, struct device *dev)
 {
 	struct arm_smmu_device *smmu;
 	struct iommu_fwspec *fwspec;
+	int ret;
+
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev = dev_to_pci(dev);
+		int ret;
+
+		if ( devfn != pdev->devfn )
+			return 0;
+
+		ret = iommu_add_pci_sideband_ids(pdev);
+		if ( ret < 0 )
+			iommu_fwspec_free(dev);
+	}
+#endif
 
 	fwspec = dev_iommu_fwspec_get(dev);
 	if (fwspec == NULL)
@@ -947,7 +991,24 @@ static int arm_smmu_dt_add_device_generic(u8 devfn, struct device *dev)
 	if (smmu == NULL)
 		return -ENXIO;
 
-	return arm_smmu_dt_add_device_legacy(smmu, dev, fwspec);
+	ret = arm_smmu_dt_add_device_legacy(smmu, dev, fwspec);
+	if ( ret )
+		return ret;
+
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev = dev_to_pci(dev);
+
+		/*
+		 * During PHYSDEVOP_pci_device_add, Xen does not assign the
+		 * device, so we must do it here.
+		 */
+		ret = arm_smmu_assign_dev(pdev->domain, devfn, dev, 0);
+	}
+#endif
+
+	return ret;
 }
 
 static int arm_smmu_dt_xlate_generic(struct device *dev,
@@ -970,11 +1031,10 @@ static struct arm_smmu_device *find_smmu_for_device(struct device *dev)
 {
 	struct arm_smmu_device *smmu;
 	struct arm_smmu_master *master = NULL;
-	struct device_node *dev_node = dev_get_dev_node(dev);
 
 	spin_lock(&arm_smmu_devices_lock);
 	list_for_each_entry(smmu, &arm_smmu_devices, list) {
-		master = find_smmu_master(smmu, dev_node);
+		master = find_smmu_master(smmu, dev);
 		if (master)
 			break;
 	}
@@ -2066,6 +2126,7 @@ static bool arm_smmu_capable(enum iommu_cap cap)
 }
 #endif
 
+#if 0 /* Not used */
 static int __arm_smmu_get_pci_sid(struct pci_dev *pdev, u16 alias, void *data)
 {
 	*((u16 *)data) = alias;
@@ -2076,6 +2137,7 @@ static void __arm_smmu_release_pci_iommudata(void *data)
 {
 	kfree(data);
 }
+#endif
 
 static int arm_smmu_add_device(struct device *dev)
 {
@@ -2083,12 +2145,13 @@ static int arm_smmu_add_device(struct device *dev)
 	struct arm_smmu_master_cfg *cfg;
 	struct iommu_group *group;
 	void (*releasefn)(void *data) = NULL;
-	int ret;
 
 	smmu = find_smmu_for_device(dev);
 	if (!smmu)
 		return -ENODEV;
 
+	/* There is no need to distinguish here, thanks to PCI-IOMMU DT bindings */
+#if 0
 	if (dev_is_pci(dev)) {
 		struct pci_dev *pdev = to_pci_dev(dev);
 		struct iommu_fwspec *fwspec;
@@ -2113,10 +2176,12 @@ static int arm_smmu_add_device(struct device *dev)
 				       &fwspec->ids[0]);
 		releasefn = __arm_smmu_release_pci_iommudata;
 		cfg->smmu = smmu;
-	} else {
+	} else
+#endif
+	{
 		struct arm_smmu_master *master;
 
-		master = find_smmu_master(smmu, dev->of_node);
+		master = find_smmu_master(smmu, dev);
 		if (!master) {
 			return -ENODEV;
 		}
@@ -2784,6 +2849,61 @@ static int arm_smmu_assign_dev(struct domain *d, u8 devfn,
 			return -ENOMEM;
 	}
 
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) && !is_hardware_domain(d) )
+	{
+		struct pci_dev *pdev = dev_to_pci(dev);
+
+		printk(XENLOG_INFO "Assigning device %04x:%02x:%02x.%u to dom%d\n",
+		       pdev->seg, pdev->bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
+		       d->domain_id);
+
+		if ( devfn != pdev->devfn || pdev->domain == d )
+			return 0;
+
+		ASSERT(pcidevs_locked());
+
+		/* TODO: acquire pci_lock */
+#if 0
+		write_lock(&pdev->domain->pci_lock);
+#endif
+		list_del(&pdev->domain_list);
+#if 0
+		write_unlock(&pdev->domain->pci_lock);
+#endif
+
+		pdev->domain = d;
+
+#if 0
+		write_lock(&d->pci_lock);
+#endif
+		list_add(&pdev->domain_list, &d->pdev_list);
+#if 0
+		write_unlock(&d->pci_lock);
+#endif
+
+		if ( hardware_domain )
+		{
+			domain = dev_iommu_domain(dev);
+
+			/*
+			 * Xen may not deassign the device from hwdom before
+			 * assigning it elsewhere.
+			 */
+			if ( domain && is_hardware_domain(domain->priv->cfg.domain) )
+			{
+				ret = arm_smmu_deassign_dev(hardware_domain, devfn, dev);
+				if ( ret )
+					return ret;
+			}
+		}
+
+		/* dom_io is used as a sentinel for quarantined devices */
+		if ( d == dom_io )
+			return 0;
+	}
+#endif
+
 	if (!dev_iommu_group(dev)) {
 		ret = arm_smmu_add_device(dev);
 		if (ret)
@@ -2833,11 +2953,30 @@ out:
 	return ret;
 }
 
-static int arm_smmu_deassign_dev(struct domain *d, struct device *dev)
+static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn,
+				 struct device *dev)
 {
 	struct iommu_domain *domain = dev_iommu_domain(dev);
 	struct arm_smmu_xen_domain *xen_domain;
 
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev = dev_to_pci(dev);
+
+		printk(XENLOG_INFO "Deassigning device %04x:%02x:%02x.%u from dom%d\n",
+		       pdev->seg, pdev->bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
+		       d->domain_id);
+
+		if ( devfn != pdev->devfn )
+			return 0;
+
+		/* dom_io is used as a sentinel for quarantined devices */
+		if ( d == dom_io )
+			return 0;
+	}
+#endif
+
 	xen_domain = dom_iommu(d)->arch.priv;
 
 	if (!domain || domain->priv->cfg.domain != d) {
@@ -2865,13 +3004,13 @@ static int arm_smmu_reassign_dev(struct domain *s, struct domain *t,
 	int ret = 0;
 
 	/* Don't allow remapping on other domain than hwdom */
-	if ( t && !is_hardware_domain(t) )
+	if ( t && !is_hardware_domain(t) && t != dom_io )
 		return -EPERM;
 
 	if (t == s)
 		return 0;
 
-	ret = arm_smmu_deassign_dev(s, dev);
+	ret = arm_smmu_deassign_dev(s, devfn, dev);
 	if (ret)
 		return ret;
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:29:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:29:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629784.982253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19mi-00031w-63; Thu, 09 Nov 2023 18:29:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629784.982253; Thu, 09 Nov 2023 18:29: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 1r19mi-00031p-1Q; Thu, 09 Nov 2023 18:29:44 +0000
Received: by outflank-mailman (input) for mailman id 629784;
 Thu, 09 Nov 2023 18:29: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19mh-00005n-DQ
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:29:43 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7eab::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1ab10bc-7f2d-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 19:29:41 +0100 (CET)
Received: from CH0PR03CA0189.namprd03.prod.outlook.com (2603:10b6:610:e4::14)
 by MN2PR12MB4110.namprd12.prod.outlook.com (2603:10b6:208:1dd::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Thu, 9 Nov
 2023 18:29:37 +0000
Received: from SA2PEPF00001504.namprd04.prod.outlook.com
 (2603:10b6:610:e4:cafe::7d) by CH0PR03CA0189.outlook.office365.com
 (2603:10b6:610:e4::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 18:29:36 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF00001504.mail.protection.outlook.com (10.167.242.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 18:29:35 +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.2507.32; Thu, 9 Nov
 2023 12:29:35 -0600
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.2507.32; Thu, 9 Nov
 2023 12:29:35 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:29:34 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1ab10bc-7f2d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Hs6rCOBEHwqsKXNWwKQGnU+p1HVRsQshj2iL2SbqjfzD28SvEOaa1t6WASy0BAecQ4J7OwZNCHImC2OmwAta+K4LLJwSz3u+oXbysVjJKIBznA9LISEfT1u+1v+m2FkHo5sunuvgh2mu4A04a2b68UThdwy5Qqz2kiph+nfGZLTUTlCK1zKWw1s68mh7anwwoA3GdY/oWJ/4aQMAiErOWNbIh2JwoYUvOE+d6e457DLZ2KqSYlwDQEGmII9sstBKUv6+2cnzYfh3WWc7ikp6UKUvwfHn51VXvqOnaZDIizYnxg6+VSH21oh0EhBnFxWIhxXs+eUFQK1aW5j3hB2ogA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rQYTJpj4QbN4iIjk7+Mt55dnJorFy1YCp47ylKDnXSk=;
 b=iaiGESe5Y8SRtyxByoPwACufDSgba40N0IGaw1lHob7R8f2YWkMwMZh3GO7PVD3qTKmYTI+clXyK7ipJgz77kxzbbu/N9wOdTdMZdE1vpt7BDZ34/YXVnuik1lNkUU+JmtHF08O350K2N3/gPhWUDaus1k3c1pLF8tAhlmAt+KWpP7ChGk0mjWOeC2aALQh43ZGNbG+z4AbqeyccFfyyXipkBRqdxdmAWLVZUdFzsmWQRnUBNmfMl0ERWaDqv/Ewu+CzTf/T7ZGfY7dzsTkS52cpNRiRjgkR1o/qUWZ1sudmyawkp/gR6Z9HFhgwTZj+wQRLmgBVsZUUglY9YuaS+g==
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 (0)
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=rQYTJpj4QbN4iIjk7+Mt55dnJorFy1YCp47ylKDnXSk=;
 b=yKPa9QuGCnQDfYCVCnX8SQkwgUrmTAgaVO4AcyjvUoLICOc3FOo4NHdw6mjo/hKag2x9iRrtQaJVM383LZ2gQ8mPcP7pjpOR9oa8gVPtTECOKCK7ICeNoXLi/E8eargDR9jAtCjQqyxmIyStDj7ze0QNp5oGAmeLkdz9ifRK+bo=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@arm.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>
Subject: [PATCH v6 6/9] xen/arm: smmuv3: Add PCI devices support for SMMUv3
Date: Thu, 9 Nov 2023 13:27:09 -0500
Message-ID: <20231109182716.367119-7-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231109182716.367119-1-stewart.hildebrand@amd.com>
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001504:EE_|MN2PR12MB4110:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a841bac-4b36-4b66-1816-08dbe151d379
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8e031W/5zuv61pAMZmIpoYrInUFq4lqJajdXok0ynw4E3ZegS5QnjPqc49Wiw6ZGsi0EncAsGDTcLs5TAtdgBLDK98t3YNW3oNtwQ7RlsZ/wnjd14kknD/UW4NqGfGtgV/RYkiUSzbAJS5T2dX3BUluJao4+yhNWFe7s6udIn29rb7+lLjLYdIDEcf3cWwl7WwtUbZ1A8QiTzgWOQaAO1ICk7OOOXW9bvT/AwtkXp2jGAKkCon80moC383s1fG/24K9uRqby9HXBNjGJN4g+7cEAqxFw0AYALH1pOdjlgkTfcCK74+1x7JRojtqDrsFnO2g6fJLeDU0LzZFp2WfuC/nLVonL+JUENAlleSaLz+HTVvIIpbEjmO7Guzgiuqpj+0W8Eg/Y9MwJc8Kbu3ksFWQUZ+TreTeCE9TeQ/iojaOgs8hdoP2dS7BMGKDvfg7hHAZnQ95IDZT5FJJXIgOIx+ODxJ6fXm7bBIX4xsi1KqmytKvV870mvM5cfDm7i33jvfhmsa3St0jpdCSnCO36b1Fq21BrCzeZ2HJgpMNHHm/ZR5i3cnbtvT3dfxur01rckLucCUwt9igZPYJ1kTuQYccAQK1CxLTIWFz4K/ihhExi9yjOb8SwxgVa9zGP8OXKrM8BlYB1CbUoJqPcAt/rbCtnMcz5HjQmkTfimFeEMrsg06X41A6Frq+T1KIpUBvQxsqsz8PjL216EZmdw5WdvVjWbka6Zjs9GUoiQzKH6H4FByPR3d2spD1Gs7YcPhNmsfsn86t3xZ2fYSkL8qzzZQ==
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:(13230031)(4636009)(136003)(39860400002)(346002)(376002)(396003)(230922051799003)(1800799009)(451199024)(186009)(82310400011)(64100799003)(46966006)(40470700004)(36840700001)(4326008)(40460700003)(40480700001)(36756003)(426003)(316002)(336012)(8676002)(83380400001)(1076003)(26005)(54906003)(36860700001)(6916009)(70206006)(5660300002)(70586007)(47076005)(478600001)(966005)(2616005)(41300700001)(6666004)(44832011)(2906002)(82740400003)(8936002)(81166007)(86362001)(356005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:29:35.8961
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a841bac-4b36-4b66-1816-08dbe151d379
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:
	SA2PEPF00001504.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4110

From: Rahul Singh <rahul.singh@arm.com>

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v5->v6:
* check for hardware_domain == NULL (dom0less test case)
* locking: assign pdev->domain before list_add()

v4->v5:
* deassign from hwdom
* add TODO regarding locking
* fixup after dropping ("xen/arm: Move is_protected flag to struct device")

v3->v4:
* no change

v2->v3:
* rebase
* invoke iommu_add_pci_sideband_ids() from add_device hook

v1->v2:
* ignore add_device/assign_device/reassign_device calls for phantom functions
  (i.e. devfn != pdev->devfn)

downstream->v1:
* rebase
* move 2 replacements of s/dt_device_set_protected(dev_to_dt(dev))/device_set_protected(dev)/
  from this commit to ("xen/arm: Move is_protected flag to struct device")
  so as to not break ability to bisect
* adjust patch title (remove stray space)
* arm_smmu_(de)assign_dev: return error instead of crashing system
* remove arm_smmu_remove_device() stub
* update condition in arm_smmu_reassign_dev
* style fixup

(cherry picked from commit 7ed6c3ab250d899fe6e893a514278e406a2893e8 from
 the downstream branch poc/pci-passthrough from
 https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc.git)
---
 xen/drivers/passthrough/arm/smmu-v3.c | 131 ++++++++++++++++++++++++--
 1 file changed, 121 insertions(+), 10 deletions(-)

diff --git a/xen/drivers/passthrough/arm/smmu-v3.c b/xen/drivers/passthrough/arm/smmu-v3.c
index cdbb505134b7..ac6532e29b02 100644
--- a/xen/drivers/passthrough/arm/smmu-v3.c
+++ b/xen/drivers/passthrough/arm/smmu-v3.c
@@ -1469,14 +1469,34 @@ static bool arm_smmu_sid_in_range(struct arm_smmu_device *smmu, u32 sid)
 }
 /* Forward declaration */
 static struct arm_smmu_device *arm_smmu_get_by_dev(const struct device *dev);
+static int arm_smmu_assign_dev(struct domain *d, u8 devfn, struct device *dev,
+			       u32 flag);
+static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn,
+				 struct device *dev);
 
 static int arm_smmu_add_device(u8 devfn, struct device *dev)
 {
 	int i, ret;
 	struct arm_smmu_device *smmu;
 	struct arm_smmu_master *master;
-	struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev);
+	struct iommu_fwspec *fwspec;
+
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev = dev_to_pci(dev);
+		int ret;
+
+		if ( devfn != pdev->devfn )
+			return 0;
+
+		ret = iommu_add_pci_sideband_ids(pdev);
+		if ( ret < 0 )
+			iommu_fwspec_free(dev);
+	}
+#endif
 
+	fwspec = dev_iommu_fwspec_get(dev);
 	if (!fwspec)
 		return -ENODEV;
 
@@ -1521,17 +1541,35 @@ static int arm_smmu_add_device(u8 devfn, struct device *dev)
 	 */
 	arm_smmu_enable_pasid(master);
 
-	if (dt_device_is_protected(dev_to_dt(dev))) {
-		dev_err(dev, "Already added to SMMUv3\n");
-		return -EEXIST;
-	}
+	if ( !dev_is_pci(dev) )
+	{
+		if (dt_device_is_protected(dev_to_dt(dev))) {
+			dev_err(dev, "Already added to SMMUv3\n");
+			return -EEXIST;
+		}
 
-	/* Let Xen know that the master device is protected by an IOMMU. */
-	dt_device_set_protected(dev_to_dt(dev));
+		/* Let Xen know that the master device is protected by an IOMMU. */
+		dt_device_set_protected(dev_to_dt(dev));
+	}
 
 	dev_info(dev, "Added master device (SMMUv3 %s StreamIds %u)\n",
 			dev_name(fwspec->iommu_dev), fwspec->num_ids);
 
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev = dev_to_pci(dev);
+
+		/*
+		 * During PHYSDEVOP_pci_device_add, Xen does not assign the
+		 * device, so we must do it here.
+		 */
+		ret = arm_smmu_assign_dev(pdev->domain, devfn, dev, 0);
+		if (ret)
+			goto err_free_master;
+	}
+#endif
+
 	return 0;
 
 err_free_master:
@@ -2621,6 +2659,61 @@ static int arm_smmu_assign_dev(struct domain *d, u8 devfn,
 	struct arm_smmu_domain *smmu_domain;
 	struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
 
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) && !is_hardware_domain(d) )
+	{
+		struct pci_dev *pdev = dev_to_pci(dev);
+
+		printk(XENLOG_INFO "Assigning device %04x:%02x:%02x.%u to dom%d\n",
+			pdev->seg, pdev->bus, PCI_SLOT(devfn),
+			PCI_FUNC(devfn), d->domain_id);
+
+		if ( devfn != pdev->devfn || pdev->domain == d )
+			return 0;
+
+		ASSERT(pcidevs_locked());
+
+		/* TODO: acquire pci_lock */
+#if 0
+		write_lock(&pdev->domain->pci_lock);
+#endif
+		list_del(&pdev->domain_list);
+#if 0
+		write_unlock(&pdev->domain->pci_lock);
+#endif
+
+		pdev->domain = d;
+
+#if 0
+		write_lock(&d->pci_lock);
+#endif
+		list_add(&pdev->domain_list, &d->pdev_list);
+#if 0
+		write_unlock(&d->pci_lock);
+#endif
+
+		if ( hardware_domain )
+		{
+			io_domain = arm_smmu_get_domain(hardware_domain, dev);
+
+			/*
+			 * Xen may not deassign the device from hwdom before
+			 * assigning it elsewhere.
+			 */
+			if ( io_domain )
+			{
+				ret = arm_smmu_deassign_dev(hardware_domain, devfn, dev);
+				if ( ret )
+					return ret;
+			}
+		}
+
+		/* dom_io is used as a sentinel for quarantined devices */
+		if ( d == dom_io )
+			return 0;
+	}
+#endif
+
 	spin_lock(&xen_domain->lock);
 
 	/*
@@ -2654,7 +2747,7 @@ out:
 	return ret;
 }
 
-static int arm_smmu_deassign_dev(struct domain *d, struct device *dev)
+static int arm_smmu_deassign_dev(struct domain *d, uint8_t devfn, struct device *dev)
 {
 	struct iommu_domain *io_domain = arm_smmu_get_domain(d, dev);
 	struct arm_smmu_xen_domain *xen_domain = dom_iommu(d)->arch.priv;
@@ -2666,6 +2759,24 @@ static int arm_smmu_deassign_dev(struct domain *d, struct device *dev)
 		return -ESRCH;
 	}
 
+#ifdef CONFIG_HAS_PCI
+	if ( dev_is_pci(dev) )
+	{
+		struct pci_dev *pdev = dev_to_pci(dev);
+
+		printk(XENLOG_INFO "Deassigning device %04x:%02x:%02x.%u from dom%d\n",
+			pdev->seg, pdev->bus, PCI_SLOT(devfn),
+			PCI_FUNC(devfn), d->domain_id);
+
+		if ( devfn != pdev->devfn )
+			return 0;
+
+		/* dom_io is used as a sentinel for quarantined devices */
+		if ( d == dom_io )
+			return 0;
+	}
+#endif
+
 	spin_lock(&xen_domain->lock);
 
 	arm_smmu_detach_dev(master);
@@ -2685,13 +2796,13 @@ static int arm_smmu_reassign_dev(struct domain *s, struct domain *t,
 	int ret = 0;
 
 	/* Don't allow remapping on other domain than hwdom */
-	if ( t && !is_hardware_domain(t) )
+	if ( t && !is_hardware_domain(t) && (t != dom_io) )
 		return -EPERM;
 
 	if (t == s)
 		return 0;
 
-	ret = arm_smmu_deassign_dev(s, dev);
+	ret = arm_smmu_deassign_dev(s, devfn, dev);
 	if (ret)
 		return ret;
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:29:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:29:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629786.982263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19mv-0003az-HL; Thu, 09 Nov 2023 18:29:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629786.982263; Thu, 09 Nov 2023 18: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 1r19mv-0003aq-EA; Thu, 09 Nov 2023 18:29:57 +0000
Received: by outflank-mailman (input) for mailman id 629786;
 Thu, 09 Nov 2023 18: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19mu-00018Z-0R
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:29:56 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fa2dd67a-7f2d-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 19:29:55 +0100 (CET)
Received: from CH5PR04CA0018.namprd04.prod.outlook.com (2603:10b6:610:1f4::29)
 by SJ1PR12MB6027.namprd12.prod.outlook.com (2603:10b6:a03:48a::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Thu, 9 Nov
 2023 18:29:51 +0000
Received: from CY4PEPF0000E9DC.namprd05.prod.outlook.com
 (2603:10b6:610:1f4:cafe::b7) by CH5PR04CA0018.outlook.office365.com
 (2603:10b6:610:1f4::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 18:29:51 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9DC.mail.protection.outlook.com (10.167.241.82) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.21 via Frontend Transport; Thu, 9 Nov 2023 18:29:51 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 9 Nov
 2023 12:29:50 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:29:49 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa2dd67a-7f2d-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=muPLhG00j+C5DyDwlNP2vwsD54DXvQQj6OLKKeT37EiqF+0NSO13EvudA0N//Opb/6UmbFh70CordTaBAVJEzUZ/XwCYVy0ziDPyxaFhBr05aa6pb1lAVV/8XojY4eILPgfCGGJVjetPCMTUWFdBkqsflBnhOBhb0i6Xf0aAFerpQF88+S18a2hqL9rEswqyeSAEAwBgCHV/RXIyzcKact1y21XrAxAarK2qErXxEqIZnfnGBqM96yvfpEbxfkcaxDtMoQcVlry4KpklRcl/Q+Qu7fMEL2hUs5rGDIis+4lu/lCnHtYNEx5HlIMSOcAeBOuoiYbf40OKvMH7VFh/cA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lBl/mT4Fp4+iCx8kQINOf/6N5HM+ggw/1Xmyu+udaKU=;
 b=YArZ0oeLwGVfZiPSFpB6iHgrpuKgV2Fmiw5pYDeUZw6XFHJl5nQJTc5jnpimr1PbBjc62OKbB3WY59HiQw/vmc8FX9jIrnmkJpNwsKDrlrxdPbC41Z/6fol7h2zFv5EUCVWOU0BlaOPL2vVWyreMvnVXHRTDyPVYhDbj1JxGUEGZ02CFXta/2LR5hC0tRutsLzQlvu6yZUn41BqUsMgsMBrgEobbcpfM0c2Z2jlILlc/EoxkIjfwNmSoxL2ui0HauJPkoxGtcF8ov+rl0z0NVwpEfyW/ITVTPMt4S62vBJpyApLg4mjgU8sMEdkqnYREr1kCXLcfDdkrcYR2e+tpsw==
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 (0)
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=lBl/mT4Fp4+iCx8kQINOf/6N5HM+ggw/1Xmyu+udaKU=;
 b=EcVekibYrOTN4DxlI4a1PW4T4DGlcHPeBLHSzf5MzSJ+xa9wcyUwrdC9ydW3zRtpV0guHiIuYYGcaE9AZIjpRdass1ZRhodVV/tA8y0CbOYNN+G8SyimBggT9PicpCGo3Se30XsjrxajtuuqzOmvZTRwH5+sGlaMB8Qv7wZzmqE=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>
Subject: [PATCH v6 7/9] xen/arm: Fix mapping for PCI bridge mmio region
Date: Thu, 9 Nov 2023 13:27:10 -0500
Message-ID: <20231109182716.367119-8-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231109182716.367119-1-stewart.hildebrand@amd.com>
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9DC:EE_|SJ1PR12MB6027:EE_
X-MS-Office365-Filtering-Correlation-Id: 838934e6-8042-405c-2839-08dbe151dc87
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NxazQx5KqTVY3fY5VPxAXoX70stO2Ey+ccDBUkUAv7zaEQdVx0nR3yg84mIB2KDGvVsYaOKcoUGs0vLbkDib2VWQpAxVtjxFenDFDwf7/J0azyZTOo/jfviNE4cTxfulwbQcsbg5RfVYQ44RZd5zt8UT63fLkc2K3fiuPeGxr5FmLBaSqyo1hcLO1j8iSklAxzjtbzNn7PwBZp5F3rE+Xj2ff8iQOIHaRxQVw68Xj2ELQL8gVTYnYLkux+POr+VX5wV64c0v4YVL7u2m5jAHHJUY89hcBOTSvj7hMRx2fwkFMAY4TDfGz3WhCJYpkB5fI0yxqLf7yR23kQrA/mOaNKuwAgspuTmo0on4TdOujAerYWrXUQI4+Fbj+85gA9L5Y/7BYtZyKsh3euWhSBJ615InwbUDFUwqzVmtPXAP5lL2yWlUYaxI2Sl22rJGwZKiPZZ9LAMUfBELQIGk3GidZHyknwEE1IcXHZsFmy2rWxA9HREVz7fruV0+isOj5sRrT5cUgIVbOYp2r9mWjoQxzo1CsUXS9fSPUi3yoaHgP4t9UiQG1ZkTMipa9NLhKIw/cmywztYkxmc5DRDa/YsidJeWSXvyiO0uFoTXsrUtbGrjl18jeUaPXRKlVIn2Qf7vQ2Ml4leSd/tE7Y/Rz1eqTmnXW9cngJRZU7YKBhm2xhD7/SCbxZeflCFx8PwrzMooQwuvBASIuMxV+ilInP2z2mnMkL5Hs322YLnv7AVRabzYbK2//VgKEYK0yO1p8RAVJmfuaDaaI/lkEPRez+beEA==
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:(13230031)(4636009)(136003)(376002)(396003)(346002)(39860400002)(230922051799003)(451199024)(82310400011)(64100799003)(186009)(1800799009)(36840700001)(40470700004)(46966006)(83380400001)(6666004)(36860700001)(2616005)(478600001)(1076003)(26005)(47076005)(336012)(2906002)(426003)(41300700001)(5660300002)(54906003)(4326008)(70586007)(44832011)(70206006)(8936002)(8676002)(316002)(6916009)(36756003)(82740400003)(356005)(86362001)(81166007)(966005)(40460700003)(40480700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:29:51.0565
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 838934e6-8042-405c-2839-08dbe151dc87
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:
	CY4PEPF0000E9DC.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6027

From: Rahul Singh <rahul.singh@arm.com>

Current code skip the mapping for PCI bridge MMIO region to dom0 when
pci_passthrough_enabled flag is set. Mapping should be skip when
has_vpci(d) is enabled for the domain, as we need to skip the mapping
only when VPCI handler are registered for ECAM.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
This patch was originally picked up from [1]

v5->v6:
* drop unrelated change in xen/arch/arm/domain_build.c:handle_linux_pci_domain()

v4->v5:
* new patch

changes since picking up from [1]:
* rebase on top of "dynamic node programming using overlay dtbo" series
* replace !is_pci_passthrough_enabled() check with !IS_ENABLED(CONFIG_HAS_PCI)
  instead of removing

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00483.html
---
 xen/arch/arm/device.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 1f631d327441..4d69c298858d 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -330,7 +330,7 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
         .d = d,
         .p2mt = p2mt,
         .skip_mapping = !own_device ||
-                        (is_pci_passthrough_enabled() &&
+                        (has_vpci(d) &&
                         (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),
         .iomem_ranges = iomem_ranges,
         .irq_ranges = irq_ranges
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:30:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:30:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629792.982273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19nR-0005HM-Ra; Thu, 09 Nov 2023 18:30:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629792.982273; Thu, 09 Nov 2023 18:30: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 1r19nR-0005HF-Ot; Thu, 09 Nov 2023 18:30:29 +0000
Received: by outflank-mailman (input) for mailman id 629792;
 Thu, 09 Nov 2023 18:30: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19nQ-00018Z-DE
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:30:28 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20611.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d378f4e-7f2e-11ee-98da-6d05b1d4d9a1;
 Thu, 09 Nov 2023 19:30:27 +0100 (CET)
Received: from SA1P222CA0038.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:2d0::19)
 by LV2PR12MB5823.namprd12.prod.outlook.com (2603:10b6:408:178::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Thu, 9 Nov
 2023 18:30:23 +0000
Received: from SA2PEPF0000150B.namprd04.prod.outlook.com
 (2603:10b6:806:2d0:cafe::cc) by SA1P222CA0038.outlook.office365.com
 (2603:10b6:806:2d0::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 18:30:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF0000150B.mail.protection.outlook.com (10.167.242.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Thu, 9 Nov 2023 18:30:21 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 9 Nov
 2023 12:30:21 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:30:19 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d378f4e-7f2e-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B4yZixFLDpjFHDdjjKU68JLUOTBaXWBtCc5IkGgzU9usZyLPJLFiMhD0uo2SNrqUOqV2BD4IpmcnXX/ZJoZig9dqiUA1H9GL0AJmjubHBmuE6IS8xWZ43b+SIAvEynT9rEvrAe13PgTt+F+0h7wP5sKAYjGWT5fta9J4YDk1aMlntsBKsVTjwUk2NfwOaCkYt682gLqqAfzNN2NlryRlvBTQ9oZ25CNUiI1EVS2I4Yn4qHDg6aIXCiXaQPjThM+7rg5w/RIRIeIAOT75oGZ6IWQgfqH9iKs/K1ABEafz5foJ9o2ZtdDksKkLSCLQS/CuQLdVdBDoCXsEgykdx/cZDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vHr13BUaRvQIk6iAQnKmYAAy2SJJ44qqEutcvtbxp+c=;
 b=gy/xp0zbbgNAeFFRpH5rtFY3FDSzZ7lI9Y+YlGQ8QW9aaG7N3D7o2fLt8frZ2qwQkPqIqv2mvVXttrZc3HxLiJjGzozgneoRWdV8QYRARgfWgjFHl0EcG6/EQ4Cr7MNqIPPcIL6GtMAZzuFE4Kh/AvwFqmmNYJnUTf/vMD+jEe43SpXG0Zkechsc/nKGOxziLBi5qHFRyTlVyZsrWOczr9CHYK337+7gfPOG814UxJTlm9nNk+yttzRwUBroCDs0/rlTOYBnN5EL3rgK81hlHhDrpqBbxHC8Pom2LTkENALVXEdErLe1WX5uVPFcChYfMmtGJrTWFZPD/r2g56AMyA==
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 (0)
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=vHr13BUaRvQIk6iAQnKmYAAy2SJJ44qqEutcvtbxp+c=;
 b=UWbs/wVT2mvdWtJSd+sh2GaL9lGHMIBmPWy0qMx3mTNmkz7Ajno+zNE3hJeLU7YG3tythWcJvJA01H5Ru73VIEwZ0brHGEQtucMhdycZDFjaTKt0/22uQAKNkCii85ELi/eEJU4tmuROW9KLuPe8lF21Q1lkYvKu94EQ/Aejt0M=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>
Subject: [PATCH v6 9/9] xen/arm: Map ITS doorbell register to IOMMU page tables
Date: Thu, 9 Nov 2023 13:27:12 -0500
Message-ID: <20231109182716.367119-10-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231109182716.367119-1-stewart.hildebrand@amd.com>
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF0000150B:EE_|LV2PR12MB5823:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b292af5-935c-4b3d-4f16-08dbe151eee5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4s2WT8o9okYfej0cKtJnZyQL/qAs92KMj7HX+D6+rD0fsF1ORAd0QTcPveD2/jjy63xBYjt9dL+muAQuMhBl2D85t4SuGBuB7muyLTU+NzWgd4hjVBmJ64SRGm/BsEESVjvaTCa6IfxSftK/3iULp1dADaxQpKu1eDgTtSXQfI8UOKMFKbnihG2Ui1ifET3mECgEU5R7yxc4dGbuto+pwtawH/QlQ3+MOQuEJWQA+fAzxOsY4Dkw9MqQe04HtN3Lz55NgpJbgvzBTi2iOvZF4idPOSi/YpMV2Afsg3Cv9hHXYsMxIMoGiHIdcndJch1n/3HtTtwyWFmT4ayh3pgYGVmEz/GCe+wkC/1Jdr1djHnJd//rOystc/DupGhqo+ESmat1sAJGBIH73uD5xBpmN9vJIvRTLmJw/F8QcRRC0XiZHGiG+BrMZNVGxIcpEbsZ+l94Y08dSOJu4FaakBL0hAYsLhZ4NWbBlG5jgEO9OhhhZFQI1gDWBJnj5rVqSbZY0NKSwHzTqCVHBFFkTOdYvdF290I1O3851Y/H66PY5KaREjeyIK6lH96rxTyg9JubntVSY0GW4uZmK3kvCD/0FBwtKvRguIJtpSTNQNVcP+ls3vZVHWg77w4h7vRmLht/clrjVNsqw9RtZfVcTcskzAaG9JPmu7mvDewA79okp2ueFvnNLg8xWmVnr2EGe9GKZmVciGzUxh3tfDMyubKRcmHMosRriwLr6I/kCvFPEokqBUymAlAgyofrtDN/UR2I
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:(13230031)(4636009)(346002)(39860400002)(136003)(376002)(396003)(230922051799003)(186009)(64100799003)(82310400011)(1800799009)(451199024)(40470700004)(46966006)(36840700001)(47076005)(36860700001)(82740400003)(2616005)(81166007)(966005)(6666004)(478600001)(26005)(336012)(426003)(54906003)(6916009)(1076003)(70206006)(316002)(356005)(5660300002)(44832011)(70586007)(86362001)(8936002)(36756003)(4326008)(8676002)(41300700001)(2906002)(40480700001)(40460700003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:30:21.9038
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b292af5-935c-4b3d-4f16-08dbe151eee5
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:
	SA2PEPF0000150B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5823

From: Rahul Singh <rahul.singh@arm.com>

When ITS is enabled and PCI devices that are behind an SMMU generate an
MSI interrupt, SMMU fault will be observed as there is currently no
mapping in p2m table for the ITS translation register (GITS_TRANSLATER).

A mapping is required in the p2m page tables so that the device can
generate the MSI interrupt writing to the GITS_TRANSLATER register.

The GITS_TRANSLATER register is a 32-bit register, so map a single page.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
This patch was originally picked up from [1], and commit description
loosely borrowed from [2].

Example SMMUv3 fault (qemu-system-aarch64 virt model), ITS base 0x8080000:

(XEN) SMMUv3: /smmuv3@9050000: event 0x10 received:
(XEN) SMMUv3: /smmuv3@9050000:  0x0000000800000010
(XEN) SMMUv3: /smmuv3@9050000:  0x0000008000000000
(XEN) SMMUv3: /smmuv3@9050000:  0x0000000008090040
(XEN) SMMUv3: /smmuv3@9050000:  0x0000000000000000

Example SMMUv2 fault (AMD/Xilinx Versal), ITS base 0xf9020000:

(XEN) smmu: /axi/smmu@fd800000: Unhandled context fault: fsr=0x402, iova=0xf9030040, fsynr=0x12, cb=0

v5->v6:
* switch to iommu_map() interface
* fix page_count argument
* style fixup
* use gprintk instead of printk
* add my Signed-off-by
* move to vgic_v3_its_init_virtual()

v4->v5:
* new patch

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00483.html
[2] https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/commit/6232a0d53377009bb7fbc3c3ab81d0153734be6b
---
 xen/arch/arm/vgic-v3-its.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c
index 05429030b539..c35d5f9eb53e 100644
--- a/xen/arch/arm/vgic-v3-its.c
+++ b/xen/arch/arm/vgic-v3-its.c
@@ -1477,6 +1477,21 @@ static int vgic_v3_its_init_virtual(struct domain *d, paddr_t guest_addr,
 
     register_mmio_handler(d, &vgic_its_mmio_handler, guest_addr, SZ_64K, its);
 
+    if ( is_iommu_enabled(its->d) )
+    {
+        mfn_t mfn = maddr_to_mfn(its->doorbell_address);
+        unsigned int flush_flags = 0;
+        int ret = iommu_map(its->d, _dfn(mfn_x(mfn)), mfn, 1, IOMMUF_writable,
+                            &flush_flags);
+        if ( ret < 0 )
+        {
+            gprintk(XENLOG_ERR,
+                    "GICv3: Map ITS translation register %pd failed.\n",
+                    its->d);
+            return ret;
+        }
+    }
+
     /* Register the virtual ITS to be able to clean it up later. */
     list_add_tail(&its->vits_list, &d->arch.vgic.vits_list);
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 18:38:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 18:38:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629807.982283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r19uf-00085Y-KU; Thu, 09 Nov 2023 18:37:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629807.982283; Thu, 09 Nov 2023 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 1r19uf-00085R-HK; Thu, 09 Nov 2023 18:37:57 +0000
Received: by outflank-mailman (input) for mailman id 629807;
 Thu, 09 Nov 2023 18:37: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=ZS/w=GW=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r19nB-00005n-0L
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 18:30:13 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 03d23ac9-7f2e-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 19:30:11 +0100 (CET)
Received: from CY5P221CA0152.NAMP221.PROD.OUTLOOK.COM (2603:10b6:930:6a::16)
 by DM6PR12MB4090.namprd12.prod.outlook.com (2603:10b6:5:217::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Thu, 9 Nov
 2023 18:30:07 +0000
Received: from CY4PEPF0000E9D7.namprd05.prod.outlook.com
 (2603:10b6:930:6a:cafe::22) by CY5P221CA0152.outlook.office365.com
 (2603:10b6:930:6a::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Thu, 9 Nov 2023 18:30:07 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D7.mail.protection.outlook.com (10.167.241.78) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.21 via Frontend Transport; Thu, 9 Nov 2023 18:30:07 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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.2507.32; Thu, 9 Nov
 2023 12:30:06 -0600
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.2507.32; Thu, 9 Nov
 2023 12:30:06 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 9 Nov 2023 12:30:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03d23ac9-7f2e-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jT9g96hjQdgJrxYt/7lrZMCXgKd9uzqipcYPM3uDFD4I0B/tG1DJn+0BEMBFzn7F5PmFPWKj05Uyu2Wij28XkaXERDLFghDLRJSEPFTMfXfKqKw2ugv7mQ3PWDJe3rUytqfgg1ceTbMrLR3S4ww8/OukePq5A/0Ctqfr/Uk8Wl9ve6CAAfzBjLikccI4nO6ibqy8BoZIQ4SG3XD2OX7AzNk5C2xJxVoJR/0q0lTrdALXKFjYQc/I5nK8WW7o+j91MipKT6SeV1/xyXOpjD1KgFlmxDbmI8ZG8cI8VYdIW4O1psMO1uxYDlIDDQi8Nludc7SF0zC+upoHYK2KANEyaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DXLznLV9jxJDbZp4jEN64WVVU95OZkUBv8u9bN72k8w=;
 b=AzuLaZJ8eR1SjR7eU4tji27qp/szKegWPgSSeTdrfB3qoK86tVkKeouhq6t5r9cPGc7ZhrV7Fmdkv+rnwP375km+hm4YX1ChVDIyI2M50clVNYAVq1vdYnwNeYv5gwKGhjsAI4aFg6gYTSkg4u/UkT8e/fCKhWpOAg0pIJPNa1qPLGpRVLYctvMZVj8JZPQMDYCIUkQIHQ6aIZTA4EjD3zWg8Tj7XdKVxpxQZGFJuwAF9/gW/P9GjVrw7IpG/JwrEM2Pu851zQCjeusI5/nhsC9UPPKuuOteAiWn3NkludVQefF0bg1wstJTxoWUB0AYaC+Gf5tQ59bS2XYpMYSvZg==
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 (0)
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=DXLznLV9jxJDbZp4jEN64WVVU95OZkUBv8u9bN72k8w=;
 b=u1rQEs5pgq7i8PtAXWylJ4SR2r+9RwKvlBuUAMEoE+issb1TpDmi4KXuh/Lhzm8Cdq8eRV7lXLwLUXvQbLRr7SF8NzH9vpNpGYkE/ROQd3iNv/6YONuXFa1RSbueIWG9X9J1qgeMhorSBovhlI5Xq2CFkkyrzzMb4nZEMWbGl38=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.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 v6 8/9] xen/arm: enable dom0 to use PCI devices with pci-passthrough=no
Date: Thu, 9 Nov 2023 13:27:11 -0500
Message-ID: <20231109182716.367119-9-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231109182716.367119-1-stewart.hildebrand@amd.com>
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D7:EE_|DM6PR12MB4090:EE_
X-MS-Office365-Filtering-Correlation-Id: a74a21c8-0eb1-454d-52bd-08dbe151e645
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lTUms9PgQf8/I2uJawmc3Fm1pI4KEEHvEfI585dAWm1C1fBsy1hvjhV0sjKo7xdIj1LksRGtf9nvbgnqVcCmvS4WwqFXJYwIYRRADAD5jfDr5UJ8G3epZ4Bav1PjikK/N1HnpTdMdmJpjE+Nw6N5wngz8dmRChw2SHOqePis1Ge+Ruyh8zbdANmj08k/JNg8bNSeqI7U0McW+pvhxZQS1u8cFi42s0LQLVhJV48y5Vtp5LkdFtAVtMZ2Ss7Tq10pQb0tUjlmKsiIUF8mz6XeglNJ726fdvj3dK3f+SKaFA042Pno7QBrmJ1ACgnxH3u/FTSrXLijqlyKkE+TwzHReFJXTXKiKorJqLXLygqCGzk7pTTDeS1aVXgf1bihKoxKWuPtlWDb3AIV2cXFWn8+IrSXJGHA9dGOVQ2YE8haXRAV872MB6mBsvjcOEhc5K9JppYk3FaWAK2UJB1sRHFX3y7ne4YuG/R/Wob0q0TKK1yNUXEiTKJQnCGS3AgfkfrlOnUfyGnmohAEosrufAfWHpUuNuLFgFt6hM2FLqh/j7OfBV/ZiSNr8VOozeyNMlWXsX/MkTodaS3v4bEgUYD5tKDMb6KqJC88zRFp/FQDlAUll+1haWBmQRIKEFwUG8N43BiNRLJubAW8vKF64OubEbv9i8fYHNWtSnKlCyOCm+dpngvz4XZjAO6k4iAra2mDHJdyla5ZIXBr+te2HQnC282F/JWEU+5zNtRqjpSuAM8dbqzJbu261BNlSXNnIuzwdGMpV4iYKMMBnxFKKcTKbA==
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:(13230031)(4636009)(346002)(39860400002)(396003)(376002)(136003)(230922051799003)(82310400011)(1800799009)(451199024)(64100799003)(186009)(46966006)(36840700001)(40470700004)(316002)(40480700001)(86362001)(40460700003)(81166007)(70206006)(54906003)(70586007)(26005)(478600001)(336012)(426003)(82740400003)(1076003)(36756003)(2616005)(356005)(6916009)(2906002)(8676002)(5660300002)(41300700001)(44832011)(4326008)(47076005)(83380400001)(8936002)(36860700001)(6666004)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Nov 2023 18:30:07.3866
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a74a21c8-0eb1-454d-52bd-08dbe151e645
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:
	CY4PEPF0000E9D7.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4090

Enable the use of IOMMU + PCI in dom0 without having to specify
"pci-passthrough=yes". We rely on dom0 to initialize the PCI controller
and perform a PHYSDEVOP_pci_device_add call to add each device to SMMU.

Enable pci_init() for initializing Xen's internal PCI subsystem, and
allow PHYSDEVOP_pci_device_add when pci-passthrough is disabled.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v5->v6:
* new patch - this effectively replaces
  ("Revert "xen/arm: Add cmdline boot option "pci-passthrough = <boolean>""")
---
 xen/arch/arm/pci/pci.c    | 3 ++-
 xen/drivers/pci/physdev.c | 6 ------
 2 files changed, 2 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/pci/pci.c b/xen/arch/arm/pci/pci.c
index 78b97beaef12..ba72fbaf1dfc 100644
--- a/xen/arch/arm/pci/pci.c
+++ b/xen/arch/arm/pci/pci.c
@@ -16,6 +16,7 @@
 #include <xen/device_tree.h>
 #include <xen/errno.h>
 #include <xen/init.h>
+#include <xen/iommu.h>
 #include <xen/param.h>
 #include <xen/pci.h>
 
@@ -85,7 +86,7 @@ static int __init pci_init(void)
      * Enable PCI passthrough when has been enabled explicitly
      * (pci-passthrough=on).
      */
-    if ( !pci_passthrough_enabled )
+    if ( !is_pci_passthrough_enabled() && !iommu_enabled )
         return 0;
 
     pci_segments_init();
diff --git a/xen/drivers/pci/physdev.c b/xen/drivers/pci/physdev.c
index 42db3e6d133c..4f3e1a96c0fd 100644
--- a/xen/drivers/pci/physdev.c
+++ b/xen/drivers/pci/physdev.c
@@ -18,9 +18,6 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         struct pci_dev_info pdev_info;
         nodeid_t node = NUMA_NO_NODE;
 
-        if ( !is_pci_passthrough_enabled() )
-            return -EOPNOTSUPP;
-
         ret = -EFAULT;
         if ( copy_from_guest(&add, arg, 1) != 0 )
             break;
@@ -56,9 +53,6 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     case PHYSDEVOP_pci_device_remove: {
         struct physdev_pci_device dev;
 
-        if ( !is_pci_passthrough_enabled() )
-            return -EOPNOTSUPP;
-
         ret = -EFAULT;
         if ( copy_from_guest(&dev, arg, 1) != 0 )
             break;
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 09 19:11:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 19:11:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629813.982293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1AQZ-00010j-BF; Thu, 09 Nov 2023 19:10:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629813.982293; Thu, 09 Nov 2023 19:10: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 1r1AQZ-00010c-7R; Thu, 09 Nov 2023 19:10:55 +0000
Received: by outflank-mailman (input) for mailman id 629813;
 Thu, 09 Nov 2023 19:10: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=OVYC=GW=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r1AQX-00010W-Oy
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 19:10:53 +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 b2d9f22e-7f33-11ee-9b0e-b553b5be7939;
 Thu, 09 Nov 2023 20:10:51 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-53f9af41444so2067884a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 11:10:51 -0800 (PST)
Received: from [192.168.69.115] ([176.187.199.161])
 by smtp.gmail.com with ESMTPSA id
 d4-20020a056402516400b0052febc781bfsm166756ede.36.2023.11.09.11.10.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Nov 2023 11:10:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2d9f22e-7f33-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699557051; x=1700161851; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=mdoA4bCOHV2xbFNH5vfe2cP2TsA1ItA50LkkszW2hqI=;
        b=af7ey8rB68S9o8NbiLrXnVkvOdU12nfPscn4YhvwHpyWUru3mOjyO4JPoxS4nv/Vpu
         kqdvnjUwOpquY6wD7hABdto9s47rbhCDeTohI9mrWq796hZuGOhKYih7FihKCsweGO0j
         3kDXz7hu3O0gfs1Fommfd23PSn0NwJTS/CusLagIdUYR5lea3CsoAO8yGV4nateoxUrY
         2RjaCelBQg374hUl0FnI/OQWg1KWfRoKNFVW18c8+78CSUn10viWyCWTNtwTovAdUatQ
         1NnWWnpwoVeK4qInyd+0oy9JXUdIqmcjmdjxCCVVtJYT19vrPUDEa4xx3D5MoyfMG+3h
         IDKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699557051; x=1700161851;
        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:subject:date:message-id:reply-to;
        bh=mdoA4bCOHV2xbFNH5vfe2cP2TsA1ItA50LkkszW2hqI=;
        b=ftsgCvLWLQ5Mevs09XYbL5LUHTroxoBt7vxBPU5648zl4njYxvu9CS4/IL+Key3SUc
         gq2FM31SIjV53EP2jgpB1rLUiGicy4OTntKbB73O59zzzHYwGHDeG6eQV9sjOJObYMNo
         8UQvWjchAoNisLmZV65PPWmUqFzFCmDYIT6oSpXhHp93DWiv3djKXzzJcpg87QbRFCqn
         61s4OXWafua97+EB9ScuTl0Sy5SeUmq2iIOvzXMs9tZ2B+iOFQwLoJ7CnL+ew5R+rvUh
         3oitEC23rXvoO75/2mhKSNM90gyfwWXoD/OyLzGXPVv2RyoritBfln5ZFysPGScGfAar
         x/ig==
X-Gm-Message-State: AOJu0YwuBtmMHn0DlHLZOeicaZ7QM0mRqVAW7Ui2dwPZbssPV0S3FbxB
	mZGKwtHDkgRpVLTBSW4q7EX5HA==
X-Google-Smtp-Source: AGHT+IGQWLbS6fjT5uskXK5uqeX2dyiUo9uxOjYP+c47qUmCU1v4YNvZ6Y3IS8TXn8wbpntUm+aJhg==
X-Received: by 2002:a50:9508:0:b0:543:8391:a19a with SMTP id u8-20020a509508000000b005438391a19amr4551354eda.40.1699557051247;
        Thu, 09 Nov 2023 11:10:51 -0800 (PST)
Message-ID: <d66214c1-fea9-418d-8497-4a3f2da1e734@linaro.org>
Date: Thu, 9 Nov 2023 20:10:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] include/hw/xen: Use more inclusive language in comment
Content-Language: en-US
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>
Cc: xen-devel@lists.xenproject.org, qemu-trivial@nongnu.org
References: <20231109174034.375392-1-thuth@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20231109174034.375392-1-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 9/11/23 18:40, Thomas Huth wrote:
> Let's improve the wording here.
> 
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
>   include/hw/xen/interface/hvm/params.h | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>




From xen-devel-bounces@lists.xenproject.org Thu Nov 09 19:18:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 19:18:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629817.982302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1AXT-0003iW-1H; Thu, 09 Nov 2023 19:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629817.982302; Thu, 09 Nov 2023 19: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 1r1AXS-0003iP-Uj; Thu, 09 Nov 2023 19:18:02 +0000
Received: by outflank-mailman (input) for mailman id 629817;
 Thu, 09 Nov 2023 19:18: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 1r1AXR-0003iF-0R; Thu, 09 Nov 2023 19:18: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 1r1AXQ-0005nx-M1; Thu, 09 Nov 2023 19:18: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 1r1AXQ-0008VG-8c; Thu, 09 Nov 2023 19:18:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1AXQ-0000El-8A; Thu, 09 Nov 2023 19:18: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=BSUeOV2KartOyiOWxO1GBttrCL31QwjO1TMZawJUDb4=; b=jp+Od+MJAhb0DWhlmVXJ9cPsXL
	ZGrscMXonP7N/d2NZwHXv1LnChz+oNOky2nJcpruuZMuauy8RxMpUF/qZCtdnolPP6lALLmZu7Ujl
	6TtohsJAyvfT2+M7KHEGVnxbWysaXnrZ1NttxwmBs42ZuXZb3/00Huaul49P6GXdUVSY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183721-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183721: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8a41004643412b59f669876658bd02b8025bec71
X-Osstest-Versions-That:
    ovmf=616f0d503707c2e3fbdbc397ccb16a822f584b03
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Nov 2023 19:18:00 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8a41004643412b59f669876658bd02b8025bec71
baseline version:
 ovmf                 616f0d503707c2e3fbdbc397ccb16a822f584b03

Last test of basis   183720  2023-11-09 12:44:23 Z    0 days
Testing same since   183721  2023-11-09 17:42:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ceping Sun <cepingx.sun@intel.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
   616f0d5037..8a41004643  8a41004643412b59f669876658bd02b8025bec71 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 21:46:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 21:46:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629828.982312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1CrC-0003Pd-Ki; Thu, 09 Nov 2023 21:46:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629828.982312; Thu, 09 Nov 2023 21:46: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 1r1CrC-0003PW-Hs; Thu, 09 Nov 2023 21:46:34 +0000
Received: by outflank-mailman (input) for mailman id 629828;
 Thu, 09 Nov 2023 21:46: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 1r1CrA-0003PL-JB; Thu, 09 Nov 2023 21:46: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 1r1CrA-00015C-Al; Thu, 09 Nov 2023 21:46: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 1r1Cr9-0003U3-RI; Thu, 09 Nov 2023 21:46:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1Cr9-0007o3-Qr; Thu, 09 Nov 2023 21:46: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=RcgZDDGAgw80J9fmhf+K8TAFZ+A8ASw04kzlU/ZZDcs=; b=NLdFtF3Ijv4C3cBJFBDEZ35sP4
	xT9op/MajOOOHwHOYV4QXoAkt6RAm5DzPVw/CQgHwJecFlXh1rFnSPfiqnAJk3zuuDbjvS/QGlN1z
	vJPlU2N4GQF3YneFMGIXjKdf9ozQAsjtpdlU0rT4NgP6mAPFd2kQFZEai+5JFGTfooto=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183722-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183722: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e077ccff6d0f2e8c3fc44b3e2ab71aff66927c3b
X-Osstest-Versions-That:
    ovmf=8a41004643412b59f669876658bd02b8025bec71
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Nov 2023 21:46:31 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e077ccff6d0f2e8c3fc44b3e2ab71aff66927c3b
baseline version:
 ovmf                 8a41004643412b59f669876658bd02b8025bec71

Last test of basis   183721  2023-11-09 17:42:40 Z    0 days
Testing same since   183722  2023-11-09 19:41:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Yeping Song <quic_yepings@quicinc.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
   8a41004643..e077ccff6d  e077ccff6d0f2e8c3fc44b3e2ab71aff66927c3b -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 23:27:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 23:27:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629834.982323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1ER6-0002pL-Rg; Thu, 09 Nov 2023 23:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629834.982323; Thu, 09 Nov 2023 23: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 1r1ER6-0002pE-Oy; Thu, 09 Nov 2023 23:27:44 +0000
Received: by outflank-mailman (input) for mailman id 629834;
 Thu, 09 Nov 2023 23:27: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=VIs+=GW=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r1ER5-0002p8-ID
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 23:27:43 +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 93d2529a-7f57-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 00:27:41 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-507cee17b00so1805929e87.2
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 15:27:41 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 t6-20020adfe446000000b0032dcb08bf94sm694149wrm.60.2023.11.09.15.27.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Nov 2023 15:27:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93d2529a-7f57-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699572461; x=1700177261; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=veKVb2RA9uHNpeekgCTX4pevrSJkI6gh2i+pfB5WCqc=;
        b=HynFPg6Ab2nUaGuvmm5ryRLfov3yrgwf1qsxHt5c0PUBuqkw1tcnfpep2FznKU3Zzt
         a16EplBUlC1ehDkZNcEfbYoB3riMsQIdYxCJpT7msJQg4uuCLCazGD3/vdPB7TDWwRh0
         STtZ75ZqcKyq9/vN1SM6P3CB88G0Z6N8znf28=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699572461; x=1700177261;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=veKVb2RA9uHNpeekgCTX4pevrSJkI6gh2i+pfB5WCqc=;
        b=gyJou1A2ABpm3D/yKeXrnFbBcxyP5n1Gi7gdzsPsakfykLEH/pwA3PHz1viiaZ9U04
         ySnV79Hmqdqxa0iATkus8KiuqARZmgGM/Hb8uFerNE7z6H8dnqN+wcYgTo9uE6FkOD7A
         uPGm4wniaP3DiIrrc0X1CT9ADO043Nvh9DrXSex7/mvwF3qZGabrKxFe55t8I/3lA5J7
         7BbWZ58GuY3R3XIQB2NF87slWsI8I9lDt1tlLSt13lZcxd+RxJYjfwq7FHVepEST0EQa
         5qjuz9o/BydPLREGEhWjPNIfIUxkss4904NDqHF4LOV6xKfV30adR2MjZgsRoiEGX2+j
         CpkA==
X-Gm-Message-State: AOJu0Yx9nUrFezz70QF1n1AhsZBu5WJVcq3ksROquqww3T6dnNYB9eSh
	asjuAV0j72pbNTG3hWy0t5wEDA==
X-Google-Smtp-Source: AGHT+IEEmksdZX9vdnZTlT503S4/enEoX/QKneG+S884wd5FXfNZeCxefGhIUNEqmpY/uSBwbU6TAg==
X-Received: by 2002:a05:6512:3dab:b0:4fe:af1:c3ae with SMTP id k43-20020a0565123dab00b004fe0af1c3aemr3147783lfv.15.1699572460951;
        Thu, 09 Nov 2023 15:27:40 -0800 (PST)
Message-ID: <06fb67ef-45ad-43ba-9f7a-0ef565fb182e@citrix.com>
Date: Thu, 9 Nov 2023 23:27:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] include/hw/xen: Use more inclusive language in comment
Content-Language: en-GB
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>
Cc: xen-devel@lists.xenproject.org, qemu-trivial@nongnu.org
References: <20231109174034.375392-1-thuth@redhat.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231109174034.375392-1-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 09/11/2023 5:40 pm, Thomas Huth wrote:
> Let's improve the wording here.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Thankyou for the patch, but this is a verbatim copy of a set of Xen headers.

Would you mind submitting a correction to
xen.git:xen/include/public/hvm/params.h first, and then syncing the
result back into Qemu?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 23:53:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 23:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629841.982333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1EqI-0007kA-Tn; Thu, 09 Nov 2023 23:53:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629841.982333; Thu, 09 Nov 2023 23:53: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 1r1EqI-0007k3-Pr; Thu, 09 Nov 2023 23:53:46 +0000
Received: by outflank-mailman (input) for mailman id 629841;
 Thu, 09 Nov 2023 23:53: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 1r1EqI-0007jt-0D; Thu, 09 Nov 2023 23:53: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 1r1EqH-0003rD-R1; Thu, 09 Nov 2023 23:53: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 1r1EqH-0007RE-Dt; Thu, 09 Nov 2023 23:53:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1EqH-0001Zp-DN; Thu, 09 Nov 2023 23: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=U5KtOCAJc1h1lro3YHg16DvhaL5t9XiM30a1cZvTrvg=; b=f8eyX+519LmJsEuh06lNxC/8Ib
	cz6bgYc6XdHPLwTbZEPHAefzudkvqpFYybzAcd9C5jSLazmNLRK+2JsEvZeSeLi0YfkC6X53kU/0l
	0dmsajaUCuBJeOfO0z/yQNRlyf2p59LQEdGkzq9SIEyms4Ih9DxSnlnTj4+lV0czyY5c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183724-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183724: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=35c0c63edbab6a37d6c019d613a4b06529941a80
X-Osstest-Versions-That:
    ovmf=e077ccff6d0f2e8c3fc44b3e2ab71aff66927c3b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 09 Nov 2023 23:53:45 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 35c0c63edbab6a37d6c019d613a4b06529941a80
baseline version:
 ovmf                 e077ccff6d0f2e8c3fc44b3e2ab71aff66927c3b

Last test of basis   183722  2023-11-09 19:41:01 Z    0 days
Testing same since   183724  2023-11-09 22:14:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gerd Hoffmann <kraxel@redhat.com>
  Jiewen Yao <Jiewen.yao@intel.com>
  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
   e077ccff6d..35c0c63edb  35c0c63edbab6a37d6c019d613a4b06529941a80 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 23:58:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 23:58:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629847.982343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1EuX-00006z-EH; Thu, 09 Nov 2023 23:58:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629847.982343; Thu, 09 Nov 2023 23:58: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 1r1EuX-00006s-BZ; Thu, 09 Nov 2023 23:58:09 +0000
Received: by outflank-mailman (input) for mailman id 629847;
 Thu, 09 Nov 2023 23:58: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=Q7SK=GW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1EuW-00006g-6C
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 23:58:08 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d20c86a2-7f5b-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 00:58:05 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 3B2F2CE13AA;
 Thu,  9 Nov 2023 23:57:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 52245C433C8;
 Thu,  9 Nov 2023 23:57:57 +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: d20c86a2-7f5b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699574278;
	bh=4Y7eMOWT3g6jYJ6kqhGFSt7DU8bXvWjcF3YOyaUKw98=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=hE+1Hgcyaj6mbNoXTi32uKZxZAU2ei2gnJZbnSE38DlxUuZi8qbLTPBV69BjwFZMz
	 Utau2DKx7ONEYobApFE3iGXKj/9w/wiO/ruIgeGiAn9TGiSlolZfspV1GOgDd60ENt
	 97hbu9w+vQX0SexaCAblyQNBer2Drvhqcea2jeZQhu3yt1z5SxiPiJEmdlGInj+NBd
	 a+uBfdULLoPpX7/BXpARpqL3Xvw9sgfSpkMafMM/tNlGLEsLm8YeUo20CsqjPKxRKJ
	 vcMi+PyiaTVKn1eHHstc2QiKboEb6PHtalIR3Npy6eT+/MUzDFMgkgVVAXFsDk7Ct9
	 i1yRFQxBUheAA==
Date: Thu, 9 Nov 2023 15:57:55 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Federico Serafini <federico.serafini@bugseng.com>, 
    Luca Fancellu <luca.fancellu@arm.com>, Michal Orzel <michal.orzel@amd.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH for-4.18] docs/misra: Add missing SPDX tags
In-Reply-To: <20231108141847.47697-1-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311091557460.3478774@ubuntu-linux-20-04-desktop>
References: <20231108141847.47697-1-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 8 Nov 2023, Andrew Cooper wrote:
> Two files are missing SDPX tags, but are covered by the blanketing license
> statement in docs/README.sources saying that RST files are CC-BY-4.0
> 
> Fixes: 3c911be55f1c ("docs/misra: document the C dialect and translation toolchain assumptions.")
> Fixes: 7211904e09bd ("docs/misra: add documentation skeleton for MISRA C:2012 Dir 4.1")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Thu Nov 09 23:59:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 09 Nov 2023 23:59:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629850.982353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Evw-0000f2-Ny; Thu, 09 Nov 2023 23:59:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629850.982353; Thu, 09 Nov 2023 23: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 1r1Evw-0000ev-LL; Thu, 09 Nov 2023 23:59:36 +0000
Received: by outflank-mailman (input) for mailman id 629850;
 Thu, 09 Nov 2023 23: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=Q7SK=GW=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1Evv-0000ep-Va
 for xen-devel@lists.xenproject.org; Thu, 09 Nov 2023 23:59:35 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 078bfd68-7f5c-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 00:59:34 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 1585FCE1381;
 Thu,  9 Nov 2023 23:59:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F403C433C8;
 Thu,  9 Nov 2023 23:59: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: 078bfd68-7f5c-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699574372;
	bh=UnQCvF9PHgz6cfQ/XY5RRVLCVH9a9PeH27mh0lbM+No=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=l2iEs4kxGX60E0+ojLWYKQ5aqDhLbBtSzGa+pCowRXJb2zJh807+VnrvGWnehBwZt
	 WME4d0c/RCXNxDMm3EklrsNTIPzpt9lU7nwS4SrQuP0XK5zYGIlxpED8bnBjCEdwLu
	 v6CAFwkPlMIGgtApDX2nrUWxpa0GLeMfo/qVvfes9phG7V7aVdyJiVdPhsIXATVc5A
	 02TL7BW33Kws9ihaFOjwt6dRFzeREK/WRPEnFwzRG0bO6kx4pqpT8UjaXscVRPdyDx
	 dNiNMA9UZCmhUQxfmb7gK5wa6nlilVRXlfKyEOY2tEexnkljWlNOosjEdsOuEqlgyU
	 KvPqgEFRrY93A==
Date: Thu, 9 Nov 2023 15:59:29 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <George.Dunlap@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.18] docs: Delete kconfig docs to fix licensing
 violation
In-Reply-To: <a6f54856-f0e2-a2ef-5cbc-900ed87c5d31@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311091558380.3478774@ubuntu-linux-20-04-desktop>
References: <20231108143751.49309-1-andrew.cooper3@citrix.com> <a6f54856-f0e2-a2ef-5cbc-900ed87c5d31@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 9 Nov 2023, Jan Beulich wrote:
> On 08.11.2023 15:37, Andrew Cooper wrote:
> > These 3 Kconfig docs were imported from Linux erroneously.  They are
> > GPL-2.0-only in Linux, but have no SPDX tag and were placed in such a way to
> > be included by the blanket statement saying that all RST files are CC-BY-4.0.
> > 
> > We should not be carrying a shadow copy of these docs.  They aren't even wired
> > into our Sphinx docs, and anyone wanting to refer to Kconfig docs is going to
> > look at the Linux docs anyway.  These, and more docs can be found at:
> > 
> >   https://www.kernel.org/doc/html/latest/kbuild/
> > 
> > which also have corrections vs the snapshot we took.
> 
> Imo this reference ...
> 
> > Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > ---
> > CC: George Dunlap <George.Dunlap@citrix.com>
> > CC: Jan Beulich <JBeulich@suse.com>
> > CC: Stefano Stabellini <sstabellini@kernel.org>
> > CC: Wei Liu <wl@xen.org>
> > CC: Julien Grall <julien@xen.org>
> > CC: Henry Wang <Henry.Wang@arm.com>
> > ---
> >  docs/misc/kconfig-language.rst       | 701 ---------------------------
> >  docs/misc/kconfig-macro-language.rst | 247 ----------
> >  docs/misc/kconfig.rst                | 304 ------------
> >  3 files changed, 1252 deletions(-)
> >  delete mode 100644 docs/misc/kconfig-language.rst
> >  delete mode 100644 docs/misc/kconfig-macro-language.rst
> >  delete mode 100644 docs/misc/kconfig.rst
> 
> ... wants putting into, say, the last of these three files you delete, as
> a replacement. I can't spot any other place where we would have such a
> reference.
> 
> One problem I see with deleting our shadow copy is that by referring to
> Linux'es doc, the wrong impression may arise that whatever new features
> they invent we also support. Thoughts? (If nothing else, I'd expect this
> aspect to be mentioned / justified in the description.)

I think the ideal solution would be to replace the shadow copies with a
link to the Linux docs of a specific Linux tag (v5.4), instead of
generic Linux master. I am not sure where to place the links though.


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 00:00:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 00:00:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629853.982363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1EwS-0002UW-MT; Fri, 10 Nov 2023 00:00:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629853.982363; Fri, 10 Nov 2023 00: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 1r1EwS-0002UP-JL; Fri, 10 Nov 2023 00:00:08 +0000
Received: by outflank-mailman (input) for mailman id 629853;
 Fri, 10 Nov 2023 00:00: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1EwR-0002T5-5A
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 00:00:07 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a3bc8ec-7f5c-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 01:00:06 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 61702CE13CF;
 Fri, 10 Nov 2023 00:00:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5C083C433C7;
 Fri, 10 Nov 2023 00:00: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: 1a3bc8ec-7f5c-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699574403;
	bh=YPF/22lLthpEzjD49hXfjaUs7B9iyusDu8RnG6RsHZA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=e2lHocQ9TwvkhczmarnQvGAA9T+t2d9vK2hePIo8mCUyapMGWv/nsaI5xlIUH8RqH
	 1kKQATEKWbQWAroRiLlQH9bhZm+T4YAbHOAX8sevpCVBcu+1gIIm3Wb3pOFVwvODTg
	 2P30xv1I7ab4HD/sQhROnq42e+l+Kk95PB5WKdFrqLFIy6gZAuv1jFO4MgeydKjlxm
	 n8uVGD9YR3SuDkdzgAxq7tShO7E+tgM+HDxQPx6nlqdyHs366KXnulhtJcCUsruwA5
	 ggDYCHlzg6+NJyejHhh6vR0kGbeqOys82MQFzx7bf1Nagmuva1OxnYKkM61g1A1b2G
	 GVnQDU1SwpDyA==
Date: Thu, 9 Nov 2023 16:00:00 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    Julien Grall <julien@xen.org>, 
    Christopher Clark <christopher.clark@starlab.io>, 
    "Daniel P . Smith" <dpsmith@apertussolutions.com>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH for-4.18 1/3] docs/sphinx: Fix syntax issues in
 hyperlaunch.rst
In-Reply-To: <20231108152727.58764-2-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311091559530.3478774@ubuntu-linux-20-04-desktop>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com> <20231108152727.58764-2-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 8 Nov 2023, Andrew Cooper wrote:
> sphinx-build reports:
> 
>   docs/designs/launch/hyperlaunch.rst:111: WARNING: Title underline too short.
>   docs/designs/launch/hyperlaunch.rst:203: WARNING: Unexpected indentation.
>   docs/designs/launch/hyperlaunch.rst:216: WARNING: Unexpected indentation.
> 
> Nested lists require newlines as delimiters.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 00:00:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 00:00:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629854.982373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Ewl-00033k-UF; Fri, 10 Nov 2023 00:00:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629854.982373; Fri, 10 Nov 2023 00:00: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 1r1Ewl-00033d-Rd; Fri, 10 Nov 2023 00:00:27 +0000
Received: by outflank-mailman (input) for mailman id 629854;
 Fri, 10 Nov 2023 00:00: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1Ewk-00014F-Vn
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 00:00:26 +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 255c03f9-7f5c-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 01:00:25 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id E20DCCE13E7;
 Fri, 10 Nov 2023 00:00:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 01C7CC433C7;
 Fri, 10 Nov 2023 00:00: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: 255c03f9-7f5c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699574422;
	bh=By+pMrXemlq7cVeYwvlSeGT+b8QGbikZMi2gAEywrKI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=A/bFUlvw7GdxpkqFgoanvvw9/Fo9QzYOQsjj0n3CkxZI0iLut7SeOk6fTYbgUpWLx
	 /BnEQC67A560dpc4dk3dVQ+DnSetvPDpRzqIoIKI/1pp+Q6/FQszGAHKSth9t5/QOV
	 lr7eQ8itdE0pwlWkSpIndecG6LgwjSWNvWi2koW8JrRr2CJ+4W069atZIheW3yb5Pd
	 oBOIY48Et6BjwWtRZH0OrhzumoaKn3kz6ZJSltw3FcePPUMwuIFapQWxoAD+OMUM79
	 wmOBfc+Cuavv6cBfEffb8mvgXIbCfjzZFLmLWHDT3PeVwoU1KRcCxFoUosh0z4Obho
	 jSVoYN6Ra/tiQ==
Date: Thu, 9 Nov 2023 16:00:19 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Luca Fancellu <Luca.Fancellu@arm.com>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH for-4.18 2/3] docs/sphinx: Fix syntax issues in
 exclude-list.rst
In-Reply-To: <4477F755-39D5-4560-98F1-92D37343088F@arm.com>
Message-ID: <alpine.DEB.2.22.394.2311091600120.3478774@ubuntu-linux-20-04-desktop>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com> <20231108152727.58764-3-andrew.cooper3@citrix.com> <4477F755-39D5-4560-98F1-92D37343088F@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, 8 Nov 2023, Luca Fancellu wrote:
> > On 8 Nov 2023, at 15:27, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> > 
> > sphinx-build reports:
> > 
> >  docs/misra/exclude-list.rst:47: WARNING: Unexpected indentation.
> >  docs/misra/exclude-list.rst:50: WARNING: Inline emphasis start-string without end-string.
> > 
> > Nested lists require newlines as delimiters, and * either needs escaping, or
> > put in a literal block.
> > 
> > Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> > ---
> 
> Thanks for that.
> 
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 00:07:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 00:07:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629862.982383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1F3h-0004p8-Lh; Fri, 10 Nov 2023 00:07:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629862.982383; Fri, 10 Nov 2023 00: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 1r1F3h-0004p1-Iw; Fri, 10 Nov 2023 00:07:37 +0000
Received: by outflank-mailman (input) for mailman id 629862;
 Fri, 10 Nov 2023 00:07: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1F3g-0004os-5W
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 00:07:36 +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 24be5b62-7f5d-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 01:07:33 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 8CB43CE13B3;
 Fri, 10 Nov 2023 00:07:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C2A54C433C8;
 Fri, 10 Nov 2023 00:07: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: 24be5b62-7f5d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699574848;
	bh=N2ZUJAHJgw6jo5MqtWqtthaYbCHzuj3b0rdG86kphaM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=VBK+K6oxGzqaaq/33QDluHKps2M/YcqyqQwBKelBh9BlopHm0oHAmQLqCvOyYFjAs
	 MfedRgjLi/gDbflk8KUASQqQrEXFnsq6hx2uFt+W/9htj0Estb5OIfeD+4NzuBQuSU
	 jkUcAKa+wpAMPiq7v4gV6akKqTbIm6SRLdY/KOh2eoqzPnTQPn2FFVjjAQEsVDtAMd
	 r+YiKUVLDzysGdU99pjf6qu1yuEQiPGs2CDClZimDxkX/CvNdb0i7T4LH2JMsHADYr
	 akD2UZbtC4c+VYqj+8HYrl4zJS6xpYoMAPhbp8WNSqkqI97B8BTm30PKUnUhLEx5QP
	 o43hVPNHRGT8Q==
Date: Thu, 9 Nov 2023 16:07:25 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH for-4.18 3/3] docs/sphinx: Fix indexing
In-Reply-To: <20231108152727.58764-4-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311091601420.3478774@ubuntu-linux-20-04-desktop>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com> <20231108152727.58764-4-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 8 Nov 2023, Andrew Cooper wrote:
> sphinx-build reports:
> 
>   docs/designs/launch/hyperlaunch.rst: WARNING: document isn't included in any toctree
>   docs/designs/launch/hyperlaunch-devicetree.rst: WARNING: document isn't included in any toctree
>   docs/misc/xen-makefiles/makefiles.rst: WARNING: document isn't included in any toctree
>   docs/misra/C-language-toolchain.rst: WARNING: document isn't included in any toctree
>   docs/misra/C-runtime-failures.rst: WARNING: document isn't included in any toctree
>   docs/misra/documenting-violations.rst: WARNING: document isn't included in any toctree
>   docs/misra/exclude-list.rst: WARNING: document isn't included in any toctree
>   docs/misra/xen-static-analysis.rst: WARNING: document isn't included in any toctree
> 
> Create an up-to-date index.rst in misra/ create an "unsorted docs" section at
> the top level to contain everything else.  They can be re-filed at a later
> date.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> ---
> CC: George Dunlap <George.Dunlap@citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Wei Liu <wl@xen.org>
> CC: Julien Grall <julien@xen.org>
> CC: Henry Wang <Henry.Wang@arm.com>
> ---
>  docs/index.rst       | 13 +++++++------
>  docs/misra/index.rst | 18 ++++++++++++++++++
>  2 files changed, 25 insertions(+), 6 deletions(-)
>  create mode 100644 docs/misra/index.rst
> 
> diff --git a/docs/index.rst b/docs/index.rst
> index f3f779f89ce5..22fdde80590c 100644
> --- a/docs/index.rst
> +++ b/docs/index.rst
> @@ -53,17 +53,18 @@ kind of development environment.
>     hypervisor-guide/index
>  
>  
> -MISRA C coding guidelines
> --------------------------
> +Unsorted documents
> +------------------
>  
> -MISRA C rules and directive to be used as coding guidelines when writing
> -Xen hypervisor code.
> +Documents in need of some rearranging.

I understand the need for an "Unsorted documents", but why taking away
"MISRA C coding guidelines" from here? Wouldn't we want:


Unsorted documents
------------------

designs/launch/hyperlaunch
designs/launch/hyperlaunch-devicetree
misc/xen-makefiles/makefiles


MISRA C coding guidelines
-------------------------

MISRA C rules and directive to be used as coding guidelines when writing
Xen hypervisor code and related files.

misra/index


>  .. toctree::
>     :maxdepth: 2
>  
> -   misra/rules
> -   misra/deviations
> +   designs/launch/hyperlaunch
> +   designs/launch/hyperlaunch-devicetree
> +   misc/xen-makefiles/makefiles
> +   misra/index
>  
>  
>  Miscellanea
> diff --git a/docs/misra/index.rst b/docs/misra/index.rst
> new file mode 100644
> index 000000000000..c59730c46d88
> --- /dev/null
> +++ b/docs/misra/index.rst
> @@ -0,0 +1,18 @@
> +.. SPDX-License-Identifier: CC-BY-4.0
> +
> +MISRA C coding guidelines
> +=========================
> +
> +MISRA C rules and directive to be used as coding guidelines when writing
> +Xen hypervisor code.

This is fine. I would expand it a bit appending "and related documents":

MISRA C rules and directive to be used as coding guidelines when writing
Xen hypervisor code and related documents.


> +.. toctree::
> +   :maxdepth: 2
> +
> +   rules
> +   deviations
> +   C-language-toolchain
> +   C-runtime-failures
> +   documenting-violations
> +   exclude-list
> +   xen-static-analysis
> -- 
> 2.30.2
> 


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 00:29:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 00:29:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629869.982393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1FOq-0000qL-Ch; Fri, 10 Nov 2023 00:29:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629869.982393; Fri, 10 Nov 2023 00:29: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 1r1FOq-0000qE-9g; Fri, 10 Nov 2023 00:29:28 +0000
Received: by outflank-mailman (input) for mailman id 629869;
 Fri, 10 Nov 2023 00:29: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1FOo-0000q6-IQ
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 00:29:26 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3013cab7-7f60-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 01:29:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id BBFE0CE1361;
 Fri, 10 Nov 2023 00:29:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 66994C433C8;
 Fri, 10 Nov 2023 00:29: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: 3013cab7-7f60-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699576152;
	bh=yaUjg1nbC8QuQzNSKMnWTs4sGgS5aZkxEedxBW5MpsE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=m0ej2oT+BG5ImC3offzq19AiOihE3JWdkozwb1yQBMECcKq0W6Gb9zt8wBDD+y/IB
	 9ZzqFFTAyd7FL88zZkScsS+P9pXFe0B9EXKdgfzt0Qd0ECt7TBbLmPy8NQfCuMF8T0
	 pvKmAx1+ipbFHe354AwUevGWU6mfGQ/UxQn6m+1wQfIx3xqMY+JFEKnvZf5xgv6LFS
	 Rd56RxTxFGYtAaWVGwD8Qn7zlJUh8UfqgjY1qRNGKWgZi9Zs6B8tYEXg2qjRJN0f68
	 NXiqpjAFtrrkVqBcJsPODV50jI2fWCLzLwduUNr3pdG83n0cIxU3H45StsceKslkxe
	 RZmrDUDqX8lOQ==
Date: Thu, 9 Nov 2023 16:29:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Jan Beulich <jbeulich@suse.com>, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
In-Reply-To: <483f3b34-ebd4-4613-b083-596bebf5ac15@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311091614010.3478774@ubuntu-linux-20-04-desktop>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com> <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com> <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com> <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
 <b407f981-c58c-4272-bc7c-1470a87e2487@xen.org> <4b4583f5-4cdb-6be9-20eb-22466b6aef28@suse.com> <483f3b34-ebd4-4613-b083-596bebf5ac15@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 9 Nov 2023, Julien Grall wrote:
> On 09/11/2023 07:42, Jan Beulich wrote:
> > On 08.11.2023 14:33, Julien Grall wrote:
> > > Hi Jan,
> > > 
> > > On 08/11/2023 11:19, Jan Beulich wrote:
> > > > On 08.11.2023 12:03, Nicola Vetrini wrote:
> > > > > On 2023-11-08 09:24, Jan Beulich wrote:
> > > > > > On 03.11.2023 18:58, Nicola Vetrini wrote:
> > > > > > > Static analysis tools may detect a possible null
> > > > > > > pointer dereference at line 760 (the memcpy call)
> > > > > > > of xen/common/domain.c. This ASSERT helps them in
> > > > > > > detecting that such a condition is not possible
> > > > > > > and also provides a basic sanity check.
> > > > > > 
> > > > > > I disagree with this being a possible justification for adding such
> > > > > > a
> > > > > > redundant assertion. More detail is needed on what is actually
> > > > > > (suspected to be) confusing the tool. Plus it also needs explaining
> > > > > > why (a) adding such an assertion helps and (b) how that's going to
> > > > > > cover release builds.
> > > > > > 
> > > > > 
> > > > > How about:
> > > > > "Static analysis tools may detect a possible null pointer dereference
> > > > > at line 760 (config->handle) due to config possibly being NULL.
> > > > > 
> > > > > However, given that all system domains, including IDLE, have a NULL
> > > > > config and in the code path leading to the assertion only real domains
> > > > > (which have a non-NULL config) can be present."
> > > > > 
> > > > > On point b): this finding is a false positive, therefore even if the
> > > > > ASSERT is
> > > > > expanded to effectively a no-op, there is no inherent problem with
> > > > > Xen's
> > > > > code.
> > > > > The context in which the patch was suggested [1] hinted at avoiding
> > > > > inserting in
> > > > > the codebase false positive comments.
> > > > 
> > > > Which I largely agree with. What I don't agree with is adding an
> > > > assertion which is only papering over the issue, and only in debug
> > > > builds.
> > > 
> > > I expect that the number of issues will increase a lot as soon as we
> > > start to analyze production builds.
> > > 
> > > I don't think it will be a solution to either replace all the ASSERT()
> > > with runtime check in all configuration or even...
> > > 
> > > > So perhaps instead we need a different way of tracking
> > > > false positives (which need to be tied to specific checker versions
> > > > anyway).
> > > 
> > > ... documenting false positive.
> > > 
> > > IMHO, the only viable option would be to have a configuration to keep
> > > ASSERT in production build for scanning tools.
> > 
> > But wouldn't that then likely mean scanning to be done on builds not also
> > used in production? Would doing so even be permitted when certification
> > is a requirement? Or do you expect such production builds to be used with
> > the assertions left in place (increasing the risk of a crash; recall that
> > assertions themselves may also be wrong, and hence one triggering in rare
> > cases may not really be a reason to bring down the system)?
> 
> I will leave Stefano/Nicola to answer from the certification perspective. But
> I don't really see how we could get away unless we replace most of the
> ASSERT() with proper runtime check (which may not be desirable for ASSERT()s
> like this one).

For sure we don't want to replace ASSERTs with runtime checks.

Nicola, do we really need the ASSERT to be implemented as a check, or
would the presence of the ASSERT alone suffice as a tag, the same way we
would be using /* SAF-xx-safe */ or asmlinkage?

If we only need ASSERT as a deviation tag, then production builds vs.
debug build doesn't matter.

If ECLAIR actually needs ASSERT to be implemented as a check, could we
have a special #define to define ASSERT in a special way for static
analysis tools in production builds? For instance:

#ifdef STATIC_ANALYSIS
#define ASSERT(p) \
    do { if ( unlikely(!(p)) ) printk("ASSERT triggered %s:%d", __file__,__LINE__); } while (0)
#endif

Nicola, would that be enough?


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 00:36:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 00:36:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629873.982402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1FVY-0003N0-2n; Fri, 10 Nov 2023 00:36:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629873.982402; Fri, 10 Nov 2023 00: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 1r1FVX-0003Mt-W2; Fri, 10 Nov 2023 00:36:23 +0000
Received: by outflank-mailman (input) for mailman id 629873;
 Fri, 10 Nov 2023 00:36: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1FVW-0003Mj-HA
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 00:36:22 +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 286351f1-7f61-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 01:36:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id F15C1CE10F6;
 Fri, 10 Nov 2023 00:36:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 66B39C433C7;
 Fri, 10 Nov 2023 00:36: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: 286351f1-7f61-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699576571;
	bh=eIbtFy57GZNOyIF04MLNS0y1OxFOU+OKKAkZYgaqIh4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aI+2xwohm/FsnMw3s/XPHvCwkS8JR5c8BmSdiDH7afOJcIwxAzQF4QkPIS53qjR/7
	 2lrYS26qzEi2A0br5I/vnw2jpM4KOuGKkKPSl71w9kL0yTWPDVcAp/MwyMPxvri7VN
	 P/HYEco1j0OeroS4hz/YOUtx4F0ZtGdjhrdcBuoqbH/XjCFG38WvWXOXEE1kE3X3TN
	 PmXux58KIkefKl1kvjquZMFjce+OSA/AnLb4Qxo/lD879LyKK0Kuefg1NTXifGARJi
	 LmCGFXCtNoqns+AlVEl4IGLiYgxPw44NdfCFXxPcaf70ahvQUOI089sFz3m8kouqvs
	 /ka+MGzD5yY8g==
Date: Thu, 9 Nov 2023 16:36:07 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v4 1/8] xen/include: add macro
 ISOLATE_LOW_BIT
In-Reply-To: <b7600c39-b2da-f1e0-7f89-8546f69bafa7@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311091635580.3478774@ubuntu-linux-20-04-desktop>
References: <cover.1698410970.git.nicola.vetrini@bugseng.com> <dca236bf9199f596bafb35eb48d81adc280d8cca.1698410970.git.nicola.vetrini@bugseng.com> <f88edc35-6b1b-0136-aa1f-6429652c4016@suse.com> <alpine.DEB.2.22.394.2310301536390.1625118@ubuntu-linux-20-04-desktop>
 <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@suse.com> <b7600c39-b2da-f1e0-7f89-8546f69bafa7@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 9 Nov 2023, Jan Beulich wrote:
> On 31.10.2023 08:43, Jan Beulich wrote:
> > What I would consider scope creep I
> > specifically didn't even ask for: I'd like this macro to be overridable
> > by an arch. Specifically (see my earlier naming hint) I'd like to use
> > x86's BMI insn BLSI in the context of "x86: allow Kconfig control over
> > psABI level", when ABI v2 or higher is in use.
> 
> Actually I need to withdraw that. It meanwhile occurred to me that the
> compiler ought to recognize this pattern. And indeed gcc doesn't even
> have a builtin for it; its BMI intrinsic for BLSI (on x86 that is)
> specifically expands to x & -x, which the backend then is expected to
> deal with as appropriate. And indeed it can be observed to, with my
> "x86: allow Kconfig control over psABI level" in place.
> 
> Just as a reminder: I'd still like to see the further renaming done
> (to ISOLATE_LSB()). If I was to commit this patch, I'd be fine doing
> so while committing.

Please do


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 01:02:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 01:02:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629877.982413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Fui-0007MU-RM; Fri, 10 Nov 2023 01:02:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629877.982413; Fri, 10 Nov 2023 01: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 1r1Fui-0007MN-Od; Fri, 10 Nov 2023 01:02:24 +0000
Received: by outflank-mailman (input) for mailman id 629877;
 Fri, 10 Nov 2023 01: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1Fuh-0007MG-3F
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 01:02:23 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cb384b71-7f64-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 02:02:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id C8EBACE13DE;
 Fri, 10 Nov 2023 01:02:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3C619C433C7;
 Fri, 10 Nov 2023 01:02:12 +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: cb384b71-7f64-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699578133;
	bh=AQwR2iAgNO1XuZyDxWP9CBNSHdaqzT7I19My5p7+CYA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=AHshLsCXvYkxSGY17hzFzGcdIhIvIjCZ0oqp/iV/9hCv3GXZCPrXKleQrn4hGEXsj
	 GWUUwltCLmOHxv4N4A+YSNIdQa4x0cTbEDBmrVQLwQ6v9CPY3PDFtzi+9yWgP4YDTz
	 5gsiJRO1rZsrqX1pxPHu9+zB9TDSv3oR/NTbif7do0YL/BoS/Hf966TskWzIRaqlW+
	 +VeZa9cbBkl18CWclqC05SrNgAfxzUccKM8P+jjnmi+J+Rx6ay9dDKE3F5fjPoor7s
	 rdi1AjmZJphbDc1+38Ehukykscby54J7sL9iSmn0mGtLMaNqvm/hZfTzWICC/G9rhZ
	 R+VEZnm/Ek80w==
Date: Thu, 9 Nov 2023 17:02:08 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Anthony PERARD <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] CI: Rework RISCV smoke test
In-Reply-To: <7bffd0ff-290f-461c-a0ce-35440b36240a@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311091657150.3478774@ubuntu-linux-20-04-desktop>
References: <20231109154922.49118-1-anthony.perard@citrix.com> <7bffd0ff-290f-461c-a0ce-35440b36240a@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 9 Nov 2023, Andrew Cooper wrote:
> On 09/11/2023 3:49 pm, Anthony PERARD wrote:
> > Currently, the test rely on QEMU and Xen finishing the boot in under
> > two seconds. That's both very long and very short. Xen usually managed
> > to print "All set up" under a second. Unless for some reason we try to
> > run the test on a machine that's busy doing something else.
> >
> > Rework the test to exit as soon as Xen is done.
> >
> > There's two `tail -f`, the first one is there simply to monitor test
> > progress in GitLab console. The second one is used to detect the test
> > result as soon as QEMU add it to the file. Both `tail` exit as soon as
> > QEMU exit.
> >
> > If QEMU fails at start, and exit early, both `tail` will simply exit,
> > resulting in a failure.
> >
> > If the line we are looking for is never printed, the `timeout` on the
> > second `tail` will force the test to exit with an error.
> >
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> Looks plausible, but all these qemu-smoke scripts are pretty similar,
> and copied from one-another.
> 
> We should make this change consistently to all testing (there's nothing
> RISC-V specific about why this test is failing on this runner), and it
> would be really nice if we could try to make it a bit more common than
> it currently is.

One idea you might like is do to the following (this was developed by
Oleksandr).

---

# Run the test
rm -f smoke.serial
set +e
export qemu_cmd="./binaries/qemu-system-aarch64 \
    -machine virtualization=true \
    -cpu cortex-a57 -machine type=virt \
    -m 2048 -monitor none -serial stdio \
    -smp 2 \
    -no-reboot \
    -device virtio-net-pci,netdev=n0 \
    -netdev user,id=n0,tftp=binaries \
    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin"

export qemu_arg="virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"
export qemu_log="smoke.serial"
export LOG_MSG="Run /init as init process"
timeout -k 1 60 ./automation/scripts/qemu_key.sh

### qemu_key.sh is using "expect", see below. I think we should be able
### to achieve the same by using expect to close on the expected string
### (instead of waiting for eof)

#!/usr/bin/expect -f

set timeout -1

log_file -a $env(qemu_log)

match_max 10000

eval spawn $env(qemu_cmd)

expect "=>"

send "$env(qemu_arg)\r"

expect "$env(LOG_MSG)\r"

send "$env(XEN_CMD)\r"

expect eof


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 01:04:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 01:04:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629881.982423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Fx2-0008Mi-CH; Fri, 10 Nov 2023 01:04:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629881.982423; Fri, 10 Nov 2023 01:04: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 1r1Fx2-0008Mb-9X; Fri, 10 Nov 2023 01:04:48 +0000
Received: by outflank-mailman (input) for mailman id 629881;
 Fri, 10 Nov 2023 01:04: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1Fx0-0008K0-Cu
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 01:04:46 +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 2338654f-7f65-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 02:04:45 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id E8A47B82123;
 Fri, 10 Nov 2023 01:04:43 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 786B8C433C7;
 Fri, 10 Nov 2023 01:04: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: 2338654f-7f65-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699578283;
	bh=35czjr1yTBqe66A9M/YH9AI2OsyExF6fa3yKsuqHN8E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=W+KIH7CqgL2dBfMTJzn4p9LdPIoySa8HvwmD9mwkdPMcjZDsI5zO7+uke2MeRG5/K
	 2oyzmpJOuSXRlX89V2kCYCJiULeOiHo+XlyQQiT1cp1vI2g4HZuk5PfqZbXvS1DpHW
	 qeGsJEQkxfqQ0goowhsxxwPfWY6JIYK/r6QoXwJ9XleBY1D76zaOXW7oShmwoQNENH
	 MybEo+45j3Gm7I4vBbIMHjfA89ln9yK+uOswZwA0F2wtxEvFDYneQMMeMvLJ3rP6H+
	 l6QVJotc3VRuG7nGIecWo4RQUu6of4mhamZen7XcT27/u8x+hR0vm606tuqcbrRIPA
	 t6ZhmierhEJ4w==
Date: Thu, 9 Nov 2023 17:04:40 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, simone.ballarin@bugseng.com, 
    consulting@bugseng.com, xen-devel@lists.xenproject.org, 
    andrew.cooper3@citrix.com
Subject: Re: Failing eclair-ARM64 job
In-Reply-To: <4be3de5cecb06a9fdd09fc530d3926f0@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311091702530.3478774@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2310311443460.1795129@ubuntu-linux-20-04-desktop> <cedcc2c2dad9b0a75220d676ff6b646a@bugseng.com> <4be3de5cecb06a9fdd09fc530d3926f0@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 8 Nov 2023, Nicola Vetrini wrote:
> On 2023-11-08 09:17, Nicola Vetrini wrote:
> > Hi Stefano,
> > 
> > sorry for the late reply; see my response below.
> > 
> > On 2023-10-31 22:47, Stefano Stabellini wrote:
> > > Hi Simone,
> > > 
> > > As you might have noticed, all the eclair-ARM64 jobs have been failing
> > > recently for the upstream Xen "staging" branch:
> > > 
> > > https://gitlab.com/xen-project/xen/-/pipelines/1056527466
> > > https://gitlab.com/xen-project/xen/-/pipelines/1056520898
> > > 
> > > Although eclair-ARM64 is "allow_failure: true" still is the only job
> > > currently failing and it would be nice to get it fixed, especially as we
> > > are about to make gitlab-ci pipelines gating.
> > > 
> > > Cheers,
> > > 
> > > Stefano
> > 
> > A patch that is meant to address the issue related to D4.11, which makes the
> > Arm job always
> > fail with a report on a clean guideline, has been submitted on the ML:
> > 
> > https://lore.kernel.org/xen-devel/3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com/
> > 
> 
> This is about the semi-random failures mentioned to Roberto in yesterday's
> MISRA C meeting.
> Neither me nor Simone has seem a mail sent from Andrew about such semi-random
> failures.

So you are saying there is  no problem with the ECLAIR arm64 job, it is
just that it is failing on a false-positive violation and we already
have a tentative fix for that currently under discussion [1]. Once we
commit the fix, everything will pass?

[1]
https://lore.kernel.org/xen-devel/3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com/


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 01:45:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 01:45:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629887.982433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1GaF-0000eJ-Bw; Fri, 10 Nov 2023 01:45:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629887.982433; Fri, 10 Nov 2023 01:45: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 1r1GaF-0000eC-9B; Fri, 10 Nov 2023 01:45:19 +0000
Received: by outflank-mailman (input) for mailman id 629887;
 Fri, 10 Nov 2023 01:45: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1GaE-0000aP-SB
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 01:45:18 +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 c80aa7d3-7f6a-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 02:45:10 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 12C4061944;
 Fri, 10 Nov 2023 01:45:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F3A8DC433C9;
 Fri, 10 Nov 2023 01:45: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: c80aa7d3-7f6a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699580703;
	bh=nXcOhJwUSITcWKDgtXJhN1gzhRWj51errqNVjvv/5xw=;
	h=Date:From:To:cc:Subject:From;
	b=TIH3IXfbd0u13Ru0blHId3MyQ1XkXwob3VVPLoBdWi/0N4bpTEBO3NG0VdEyINMIp
	 uvFkmK1wGmDUTPM6tthdT6arttxkg8pBHp1dOW2l7Z6XyVti9BO0QIz1b7xFHqMatD
	 CuAqdBoeaWSDk+ISziZAudaRHtjGLoWECRn8JoEUdkS+D/s6XX84ehNMDS8wzkChWg
	 5G+2NKTt4+RaXD1bsnFr6DhKuGErS9FxkqGnKY64efeTk9Psi4n4Q1S953vJ6RIfRG
	 a8rvjK+Bg9EKRODtwoHpV21g+BAzgbpD1NLuwOzVlwvb/G03q+8pzPrOtlQY3ZKImA
	 SJQztqgkpvUTw==
Date: Thu, 9 Nov 2023 17:44:58 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: viryaos-discuss@lists.sourceforge.net
cc: sstabellini@kernel.org, xen-devel@lists.xenproject.org, 
    michal.orzel@amd.com, brian@woods.art
Subject: [PATCH] Use hex for bitstream_size as expected by u-boot
Message-ID: <alpine.DEB.2.22.394.2311091740490.3478774@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

Reported-by: Brian Woods <brian@woods.art>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index b284887..6e52da5 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -790,7 +790,7 @@ bitstream_load_and_config()
         check_file_type "$BITSTREAM" "BIT data"
         bitstream_addr=$memaddr
         load_file $BITSTREAM "fpga_bitstream"
-        bitstream_size=$filesize
+        bitstream_size=`printf "0x%X\n" $filesize`
         if test "$UBOOT_SOURCE"
         then
             # we assume the FPGA device is 0 here


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 02:21:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 02:21:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629891.982443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1H8j-00088D-0x; Fri, 10 Nov 2023 02:20:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629891.982443; Fri, 10 Nov 2023 02:20: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 1r1H8i-000886-UA; Fri, 10 Nov 2023 02:20:56 +0000
Received: by outflank-mailman (input) for mailman id 629891;
 Fri, 10 Nov 2023 02:20: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=MzE+=GX=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1r1H8i-000880-AN
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 02:20:56 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4b32cd9-7f6f-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 03:20:53 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3AA2KW2u060846
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Thu, 9 Nov 2023 21:20:38 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3AA2KWEw060845;
 Thu, 9 Nov 2023 18:20:32 -0800 (PST) (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: c4b32cd9-7f6f-11ee-98da-6d05b1d4d9a1
Date: Thu, 9 Nov 2023 18:20:32 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Andrew Cooper <andcooper@tibco.com>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
        xen-devel@lists.xenproject.org
Subject: Re: Support situation for nestedhvm
Message-ID: <ZU2TcF09ldY1/YMK@mattapan.m5p.com>
References: <ZUqVnfZTtjb/W5EN@mattapan.m5p.com>
 <93db0a9e-1d99-4953-9e3f-7ad69f0e78bf@tibco.com>
 <654cab6f.050a0220.86158.519b@mx.google.com>
 <cc2e0788-fd03-4c54-b84a-a9bdc2851ef4@tibco.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <cc2e0788-fd03-4c54-b84a-a9bdc2851ef4@tibco.com>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Tue, Nov 07, 2023 at 08:15:32PM +0000, Andrew Cooper wrote:
> On 07/11/2023 7:53 pm, Elliott Mitchell wrote:
> > I ran into the nestedhvm via the following path.  I was considering the
> > feasibility of shedding tasks from a desktop onto a server running Xen.
> > I was looking at `man xl.cfg` and noticed "nestedhvm".
> >
> > Since one of the tasks the computer handled was running other OSes in
> > fully simulated environments, this seemed to be something I was looking
> > for.  No where did I ever see anything hinting "This configuration option
> > is completely unsupported and risky to use".
> 
> This one is explicitly covered in SUPPORT.md, and has had XSAs out
> against it in the past for being unexpectedly active when it oughtn't to
> have been.

$ wc -l SUPPORT.md 
1166 SUPPORT.md
$ grep -e^###\  SUPPORT.md | wc -l
129
$

Someone who was exclusively handling Xen system administration all the
time might be expected to memorize that.  Everyone else may recall some
of that, but will forget large portions rapidly.

> > Things simply started exploding without any warnings.
> 
> Things also explode if you try to create a VM with 10x more RAM than you
> have, or if you try `./xenwatchdogd --help`, or `xl debug-keys c`, or
> many other things.

These of course /should/ be fixed.

> The xl manpage probably ought to state explicitly that the option is
> experimental, but that the extent of what I'd consider reasonable here.

This should have been done years ago.


On Thu, Nov 09, 2023 at 10:36:21AM +0000, Andrew Cooper wrote:
> On 09/11/2023 9:50 am, Alejandro Vallejo wrote:
> >
> > No, but we can prevent users unexpectedly shooting themselves in the foot.

> Like it or not, this knob is behaved in this way for 15 years. You will
> be doing harm for no benefit by trying to change it.

Does your car feature spurs and ropes in order to be compatible with
horses?  Things do change over time.

> And if you need a cautionary tail on why this is a bad idea generally,
> as well as a background on why I will firmly object to technical
> countermeasures like this, read up on Xen's allow_unsafe command line
> parameter.

I can see why that experience would leave a mark.  Perhaps one of these
should create the domain with nestedhvm disabled, and overtly state it
needs to be enabled in two places.

Yet I reject your metaphor.  allow_unsafe was added as part of an urgent
security update.  This behavior would be released as part of a major
version upgrade.  Major upgrades need to be done with care since they're
the time when things break (hopefully this wouldn't break anything, but I
agree such could happen).


-- 
(\___(\___(\______          --=> 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 Fri Nov 10 03:40:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 03:40:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629899.982453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1INU-0004ao-HY; Fri, 10 Nov 2023 03:40:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629899.982453; Fri, 10 Nov 2023 03:40: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 1r1INU-0004ah-E3; Fri, 10 Nov 2023 03:40:16 +0000
Received: by outflank-mailman (input) for mailman id 629899;
 Fri, 10 Nov 2023 03:40: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 1r1INT-0004aX-4t; Fri, 10 Nov 2023 03:40: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 1r1INS-0008V0-NW; Fri, 10 Nov 2023 03:40: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 1r1INS-0008CC-6R; Fri, 10 Nov 2023 03:40:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1INS-0001QH-5b; Fri, 10 Nov 2023 03:40: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=ACPutGrxqmLG4uDp1hh6WokelPJgXYc2dRoHjWfBWSs=; b=d4QfCiv9HrTpeWnztXxL7OCPvi
	FeEMyRg/Qk6aplEfbynM1NS7O9JfRmxKHJAjx3zwK/BzCAdzUSG074xjfOo45UPhsjla6jTrl/rs1
	C3neWcXNV9CrAhYb7/qSXLzMiQLz7jD/gzBWYF8sE6GbcQHZWsyM5BcjHOAFgaIfdhq0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183725-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183725: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=589f2e49e5f9ff998bd4f08cbf28a1572ab7b544
X-Osstest-Versions-That:
    ovmf=35c0c63edbab6a37d6c019d613a4b06529941a80
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Nov 2023 03:40:14 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 589f2e49e5f9ff998bd4f08cbf28a1572ab7b544
baseline version:
 ovmf                 35c0c63edbab6a37d6c019d613a4b06529941a80

Last test of basis   183724  2023-11-09 22:14:05 Z    0 days
Testing same since   183725  2023-11-10 01:45:00 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiaxin Wu <jiaxin.wu@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
   35c0c63edb..589f2e49e5  589f2e49e5f9ff998bd4f08cbf28a1572ab7b544 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 06:09:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 06:09:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629909.982462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Khl-0008TV-TZ; Fri, 10 Nov 2023 06:09:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629909.982462; Fri, 10 Nov 2023 06: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 1r1Khl-0008TO-R6; Fri, 10 Nov 2023 06:09:21 +0000
Received: by outflank-mailman (input) for mailman id 629909;
 Fri, 10 Nov 2023 06:09: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 1r1Khl-0008TE-6q; Fri, 10 Nov 2023 06:09: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 1r1Khk-000428-Kk; Fri, 10 Nov 2023 06:09: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 1r1Khk-0006rk-3q; Fri, 10 Nov 2023 06:09:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1Khk-0002Gw-3Q; Fri, 10 Nov 2023 06:09: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=njRl+5abT6xxxr7OpnVfjIaJnMjLP/77SN7ArbtGmsA=; b=PjckrReL0PS2HeND9rDCxFY3i4
	hRZWLo66Myafykv+4x3aL09q4l+ZyzrnB0IYwQ+T6ZJhCSAACJy0ZRfaRUxfpq2aAetHVElLbwYTh
	gggxlb7+99kstC7YYYSBvumybwjFGEgoYO1dh8ocYkqkIf+rlmMQaipeLj1f1m9zenbc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183723-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183723: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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-credit2:migrate-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-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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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
X-Osstest-Versions-This:
    linux=4bbdb725a36b0d235f3b832bd0c1e885f0442d9f
X-Osstest-Versions-That:
    linux=6bc986ab839c844e78a2333a02e55f02c9e57935
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Nov 2023 06:09:20 +0000

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

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 183727-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183717
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183717
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183717
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183717
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183717
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183717
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183717
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183717
 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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-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-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     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

version targeted for testing:
 linux                4bbdb725a36b0d235f3b832bd0c1e885f0442d9f
baseline version:
 linux                6bc986ab839c844e78a2333a02e55f02c9e57935

Last test of basis   183717  2023-11-08 23:44:06 Z    1 days
Testing same since   183723  2023-11-09 22:13:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Deucher <alexander.deucher@amd.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Danila Tikhonov <danila@jiaxyga.com>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Heiko Stuebner <heiko@sntech.de>
  Jason Gunthorpe <jgg@nvidia.com>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jernej Skrabec <jernej.skrabec@gmail.com> # sun50i
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jingqi Liu <Jingqi.liu@intel.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Joerg Roedel <jroedel@suse.de>
  Linus Torvalds <torvalds@linux-foundation.org>
  Lu Baolu <baolu.lu@linux.intel.com>
  Marek Szyprowski <m.szyprowski@samsung.com>
  Michael Shavit <mshavit@google.com>
  Nicolin Chen <nicolinc@nvidia.com>
  Niklas Schnelle <schnelle@linux.ibm.com>
  Richard Acayan <mailingradian@gmail.com>
  Robin Murphy <robin.murphy@arm.com>
  Steven Price <steven.price@arm.com>
  Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
  Sven Peter <sven@svenpeter.dev>
  Tasmiya Nalatwad <tasmiya@linux.vnet.ibm.com>
  Thierry Reding <treding@nvidia.com>
  Vasant Hegde <vasant.hegde@amd.com>
  Will Deacon <will@kernel.org>
  Yong Wu <yong.wu@mediatek.com>  #For mtk_iommu.c

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                 fail    
 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-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-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
   6bc986ab839c..4bbdb725a36b  4bbdb725a36b0d235f3b832bd0c1e885f0442d9f -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 07:32:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 07:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629918.982472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1LzZ-0003Ig-T4; Fri, 10 Nov 2023 07:31:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629918.982472; Fri, 10 Nov 2023 07:31: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 1r1LzZ-0003IZ-Qb; Fri, 10 Nov 2023 07:31:49 +0000
Received: by outflank-mailman (input) for mailman id 629918;
 Fri, 10 Nov 2023 07:31: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=huas=GX=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r1LzY-0003IT-Ex
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 07:31:48 +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 3415090f-7f9b-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 08:31:46 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-53f9af41444so2936962a12.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 23:31:46 -0800 (PST)
Received: from [192.168.69.115] ([176.187.194.109])
 by smtp.gmail.com with ESMTPSA id
 c10-20020a170906d18a00b009a1a653770bsm3512222ejz.87.2023.11.09.23.31.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Nov 2023 23:31:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3415090f-7f9b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699601505; x=1700206305; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ZpzkuQ3EokkT80Y2bQ2BAl9ZQRy6Itv22qj1L2DbalU=;
        b=n/WozJvZjyYDi22Z0sR7HFXAzpBVdkq2vdL+6J5B6lZf/ofOd3UrldGqYbI87QfcHe
         FlYOMxizH8CnyxOQ6GnJ66MWhQoONYZyGHT4znsC++2ZQWazIuTFCoWngUz8m9/8ftyE
         BW1fHxPyfI/VfhPkuQHR3etP2T1HkIm0V0jL9fIErDB7n956julvORRoKvZn9zjvW5Pv
         bBHcdOG6CiNARwlEjIJv7C/WldTPPmET0mn9shZB2CZvM+QF60gYW4NACW24hgw5WC9d
         3rdVSQr8gACd6nTSpsBf4GHnCA1maC0MV+agMB62kaqvQ2hc05jiZRK9HxRtvMPHZpE2
         XtTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699601505; x=1700206305;
        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:subject:date:message-id:reply-to;
        bh=ZpzkuQ3EokkT80Y2bQ2BAl9ZQRy6Itv22qj1L2DbalU=;
        b=PVWkvH94lp6xLDENhYKlp6naKTYAmBMMH9I6tO2ZHWYMQvyXKoh1JmpWuAvM1fXV+K
         5ORlvtvCDuEU0XLT0Pe/FYhEZ/ml+kgZuBwMjaxG/XI7Mgp4WAKaUjDkW1XxIX4zzTkN
         vrkOBg06Rbkdg/xcXrVhnm/o5xFJyv7mI7yJf2dirH/nqVkr8RQzVSd8SYlzN2tmS2t/
         om565lMEUpaJtAtARgklaDRYVDe75LlyLiPVep2CCoF2CNJtk4YYWp7MN7gb5LdVb5aq
         uGtHtbGOuRH10mB/o75zjHWGOjZLbkTmrPT+8O7Tae05/UlUJWOpd7zpgZyGAJkRKGE2
         Tt4w==
X-Gm-Message-State: AOJu0YxeGdmNmqXRDgw64/N6Gg8nyc0dQjDqk5FXYVSr1jwkOOQiYFT4
	e9z7/OBx45gIuLRvIQGgFmfz8w==
X-Google-Smtp-Source: AGHT+IGOuxKzQ+irNe++lRziZNFVwErc5DdUNTN2rDhpwf6ZzSOfB4wr2l8dXWKRZ2+Z82vr3dDJ/A==
X-Received: by 2002:a17:907:a0b:b0:9cf:35a7:9ea5 with SMTP id bb11-20020a1709070a0b00b009cf35a79ea5mr5018325ejc.74.1699601505123;
        Thu, 09 Nov 2023 23:31:45 -0800 (PST)
Message-ID: <464bf22d-e9c0-44bf-8d78-4e64eb57c8c1@linaro.org>
Date: Fri, 10 Nov 2023 08:31:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-8.3 v2 04/46] hw/pci: add pci_init_nic_devices(),
 pci_init_nic_in_slot()
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>,
 Beniamino Galvani <b.galvani@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
 Niek Linnenbank <nieklinnenbank@gmail.com>, =?UTF-8?Q?C=C3=A9dric_Le_Goater?=
 <clg@kaod.org>, Andrew Jeffery <andrew@codeconstruct.com.au>,
 Joel Stanley <joel@jms.id.au>, Igor Mitsyanko <i.mitsyanko@gmail.com>,
 Jean-Christophe Dubois <jcd@tribudubois.net>,
 Andrey Smirnov <andrew.smirnov@gmail.com>, Rob Herring <robh@kernel.org>,
 Subbaraya Sundeep <sundeep.lkml@gmail.com>, Jan Kiszka <jan.kiszka@web.de>,
 Tyrone Ting <kfting@nuvoton.com>, Hao Wu <wuhaotsh@google.com>,
 Radoslaw Biernacki <rad@semihalf.com>,
 Leif Lindholm <quic_llindhol@quicinc.com>,
 Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Alistair Francis <alistair@alistair23.me>, Helge Deller <deller@gmx.de>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>,
 Song Gao <gaosong@loongson.cn>, Thomas Huth <huth@tuxfamily.org>,
 Laurent Vivier <laurent@vivier.eu>, Huacai Chen <chenhuacai@kernel.org>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>,
 =?UTF-8?Q?Herv=C3=A9_Poussineau?= <hpoussin@reactos.org>,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 Aurelien Jarno <aurelien@aurel32.net>, Jason Wang <jasowang@redhat.com>,
 Jia Liu <proljc@gmail.com>, Stafford Horne <shorne@gmail.com>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, Bin Meng
 <bin.meng@windriver.com>, Palmer Dabbelt <palmer@dabbelt.com>,
 Weiwei Li <liweiwei@iscas.ac.cn>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>,
 Halil Pasic <pasic@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Eric Farman <farman@linux.ibm.com>,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Magnus Damm <magnus.damm@gmail.com>, Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Max Filippov <jcmvbkbc@gmail.com>, qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
 qemu-riscv@nongnu.org, qemu-s390x@nongnu.org, xen-devel@lists.xenproject.org
References: <20231106195352.301038-1-dwmw2@infradead.org>
 <20231106195352.301038-5-dwmw2@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20231106195352.301038-5-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi David,

On 6/11/23 20:49, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> The loop over nd_table[] to add PCI NICs is repeated in quite a few
> places. Add a helper function to do it.
> 
> Some platforms also try to instantiate a specific model in a specific
> slot, to match the real hardware. Add pci_init_nic_in_slot() for that
> purpose.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Reviewed-by: Paul Durrant <paul@xen.org>
> ---
>   hw/pci/pci.c         | 45 ++++++++++++++++++++++++++++++++++++++++++++
>   include/hw/pci/pci.h |  4 +++-
>   2 files changed, 48 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/pci/pci.c b/hw/pci/pci.c
> index 885c04b6f5..5703266c0b 100644
> --- a/hw/pci/pci.c
> +++ b/hw/pci/pci.c
> @@ -1925,6 +1925,51 @@ PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus *rootbus,
>       return pci_dev;
>   }
>   
> +void pci_init_nic_devices(PCIBus *bus, const char *default_model)
> +{
> +    qemu_create_nic_bus_devices(&bus->qbus, TYPE_PCI_DEVICE, default_model,
> +                                "virtio", "virtio-net-pci");
> +}
> +
> +bool pci_init_nic_in_slot(PCIBus *rootbus, const char *model,
> +                          const char *alias, const char *devaddr)
> +{
> +    NICInfo *nd = qemu_find_nic_info(model, true, alias);
> +    int dom, busnr, devfn;
> +    PCIDevice *pci_dev;
> +    unsigned slot;
> +    PCIBus *bus;
> +
> +    if (!nd) {
> +        return false;
> +    }
> +
> +    if (!devaddr || pci_parse_devaddr(devaddr, &dom, &busnr, &slot, NULL) < 0) {
> +        error_report("Invalid PCI device address %s for device %s",
> +                     devaddr, model);
> +        exit(1);
> +    }
> +
> +    if (dom != 0) {
> +        error_report("No support for non-zero PCI domains");
> +        exit(1);
> +    }
> +
> +    devfn = PCI_DEVFN(slot, 0);
> +
> +    bus = pci_find_bus_nr(rootbus, busnr);
> +    if (!bus) {
> +        error_report("Invalid PCI device address %s for device %s",
> +                     devaddr, model);
> +        exit(1);
> +    }
> +
> +    pci_dev = pci_new(devfn, model);
> +    qdev_set_nic_properties(&pci_dev->qdev, nd);
> +    pci_realize_and_unref(pci_dev, bus, &error_fatal);

Could these functions be used with hotplug devices?

If so we should propagate the error, not make it fatal.

> +    return true;
> +}
> +
>   PCIDevice *pci_vga_init(PCIBus *bus)
>   {
>       vga_interface_created = true;
> diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h
> index ea5aff118b..684d49bdcd 100644
> --- a/include/hw/pci/pci.h
> +++ b/include/hw/pci/pci.h
> @@ -317,7 +317,9 @@ void pci_device_reset(PCIDevice *dev);
>   PCIDevice *pci_nic_init_nofail(NICInfo *nd, PCIBus *rootbus,
>                                  const char *default_model,
>                                  const char *default_devaddr);
> -
> +void pci_init_nic_devices(PCIBus *bus, const char *default_model);
> +bool pci_init_nic_in_slot(PCIBus *rootbus, const char *default_model,
> +                          const char *alias, const char *devaddr);
>   PCIDevice *pci_vga_init(PCIBus *bus);
>   
>   static inline PCIBus *pci_get_bus(const PCIDevice *dev)



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 07:40:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 07:40:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629923.982483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1M8A-0005AJ-Mj; Fri, 10 Nov 2023 07:40:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629923.982483; Fri, 10 Nov 2023 07:40: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 1r1M8A-0005AC-Jt; Fri, 10 Nov 2023 07:40:42 +0000
Received: by outflank-mailman (input) for mailman id 629923;
 Fri, 10 Nov 2023 07:40: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=huas=GX=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r1M88-0005A6-SE
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 07:40:40 +0000
Received: from mail-ej1-f45.google.com (mail-ej1-f45.google.com
 [209.85.218.45]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 70956109-7f9c-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 08:40:37 +0100 (CET)
Received: by mail-ej1-f45.google.com with SMTP id
 a640c23a62f3a-9ae2cc4d17eso291923266b.1
 for <xen-devel@lists.xenproject.org>; Thu, 09 Nov 2023 23:40:37 -0800 (PST)
Received: from [192.168.69.115] ([176.187.194.109])
 by smtp.gmail.com with ESMTPSA id
 qt19-20020a170906ecf300b009a1be9c29d7sm3567178ejb.179.2023.11.09.23.40.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 09 Nov 2023 23:40:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70956109-7f9c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699602030; x=1700206830; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=w1cQVy8Tdk0u30Y5Hhr0erXikh+ihShfX7wQfHbqGoc=;
        b=LC1YOOjp9uOpE+Ua8eWUDBjZxKdUWpdkV89r+pTxj7EL2X8+boMDTIatoTgglT/WsG
         F9GZuUYyPfQMInMxmgN2ud5tFJSeGyMUL9J5aV7wKz6pk45DfEKDrMBJ7D9o0HTCeraP
         FfofyfbWwUsopSZE4V1zE400XX+9bMcPPVOfic28C7kUp0FtPkJ1w8yiqtO1Nl97R0o9
         YvCcwYEELaNQ0culPVSStHsFxYQOGU57ZQPLgxOOtjdayKx1ab9tgPtrsd6nAdBYN/LW
         Jm4diRFHak/ZAFTqiM8nyL9XJ4oGW7C/5E/DJBsSnVoJi1/O452DbPnKwQfUeIZ/1lKV
         kyvQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699602030; x=1700206830;
        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:subject:date:message-id:reply-to;
        bh=w1cQVy8Tdk0u30Y5Hhr0erXikh+ihShfX7wQfHbqGoc=;
        b=ng4WfHzA2BTpnHUj7MQB2ZacItXgjWiMYesjxvGZOrVovf79eXccjQhZFKidCrUV3U
         2+dFL5DdWvxGz+bbequ4IkUEnxN8CoaQ768sWXQfRMjhv7RZOLjEqFRmRixQFZedJnKv
         4rc5dJ5P6CxQlSoIbs3umpzls0ulnSnsyKYUDtCf0aSaAqAygDGJkbvy4P78z5n37E38
         4He+vtx0oZV2pKym6s4VLUbKJJ+IBhOL98u9ESMln9KN44sqrz53fi3Kps1YWL+Wr0Fw
         O0OzJk9xfMq26j7t0NU1mJ19ueApVX1HqdMIWDNVV3OJ+/VmYdOff7SRsI1TUVfzd4zv
         dmXg==
X-Gm-Message-State: AOJu0YxiXwLNvi4GpofAeI/8RPQFfgHEnbi1TahxYvYFRnnr9T+IpJce
	ZnfT/SXoepklMVpGZYiZoXWrUw==
X-Google-Smtp-Source: AGHT+IFiynhjKq3A77rBORXMoLsYOtp3N+GMcbcfs+ylkUNpnOvZIjAqXdE960vvYQGNOoGt3u62WQ==
X-Received: by 2002:a17:907:9287:b0:9c7:5a01:ffec with SMTP id bw7-20020a170907928700b009c75a01ffecmr6368674ejc.0.1699602029914;
        Thu, 09 Nov 2023 23:40:29 -0800 (PST)
Message-ID: <34e2c0c6-4e04-486a-8e1f-4afdc461a5d4@linaro.org>
Date: Fri, 10 Nov 2023 08:40:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-8.3 v2 05/46] hw/i386/pc: use qemu_get_nic_info() and
 pci_init_nic_devices()
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org,
 Bernhard Beschow <shentey@gmail.com>, Markus Armbruster <armbru@redhat.com>
Cc: Richard Henderson <richard.henderson@linaro.org>,
 Beniamino Galvani <b.galvani@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>,
 Strahinja Jankovic <strahinja.p.jankovic@gmail.com>,
 Niek Linnenbank <nieklinnenbank@gmail.com>, =?UTF-8?Q?C=C3=A9dric_Le_Goater?=
 <clg@kaod.org>, Andrew Jeffery <andrew@codeconstruct.com.au>,
 Joel Stanley <joel@jms.id.au>, Igor Mitsyanko <i.mitsyanko@gmail.com>,
 Jean-Christophe Dubois <jcd@tribudubois.net>,
 Andrey Smirnov <andrew.smirnov@gmail.com>, Rob Herring <robh@kernel.org>,
 Subbaraya Sundeep <sundeep.lkml@gmail.com>, Jan Kiszka <jan.kiszka@web.de>,
 Tyrone Ting <kfting@nuvoton.com>, Hao Wu <wuhaotsh@google.com>,
 Radoslaw Biernacki <rad@semihalf.com>,
 Leif Lindholm <quic_llindhol@quicinc.com>,
 Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>,
 "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
 Alistair Francis <alistair@alistair23.me>, Helge Deller <deller@gmx.de>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>,
 Song Gao <gaosong@loongson.cn>, Thomas Huth <huth@tuxfamily.org>,
 Laurent Vivier <laurent@vivier.eu>, Huacai Chen <chenhuacai@kernel.org>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>,
 =?UTF-8?Q?Herv=C3=A9_Poussineau?= <hpoussin@reactos.org>,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 Aurelien Jarno <aurelien@aurel32.net>, Jason Wang <jasowang@redhat.com>,
 Jia Liu <proljc@gmail.com>, Stafford Horne <shorne@gmail.com>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Nicholas Piggin <npiggin@gmail.com>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>, Bin Meng
 <bin.meng@windriver.com>, Palmer Dabbelt <palmer@dabbelt.com>,
 Weiwei Li <liweiwei@iscas.ac.cn>, Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
 David Hildenbrand <david@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>,
 Halil Pasic <pasic@linux.ibm.com>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Eric Farman <farman@linux.ibm.com>,
 Yoshinori Sato <ysato@users.sourceforge.jp>,
 Magnus Damm <magnus.damm@gmail.com>, Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Max Filippov <jcmvbkbc@gmail.com>, qemu-arm@nongnu.org, qemu-ppc@nongnu.org,
 qemu-riscv@nongnu.org, qemu-s390x@nongnu.org, xen-devel@lists.xenproject.org
References: <20231106195352.301038-1-dwmw2@infradead.org>
 <20231106195352.301038-6-dwmw2@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20231106195352.301038-6-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi David,

+Markus/Bernhard

On 6/11/23 20:49, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Eliminate direct access to nd_table[] and nb_nics by processing the the
> Xen and ISA NICs first and then calling pci_init_nic_devices() for the
> rest.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> Reviewed-by: Paul Durrant <paul@xen.org>
> ---
>   hw/i386/pc.c                | 26 ++++++++++++++++----------
>   include/hw/net/ne2000-isa.h |  2 --
>   2 files changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> index c2bc3fa52d..4078d2d231 100644
> --- a/hw/i386/pc.c
> +++ b/hw/i386/pc.c
> @@ -652,8 +652,11 @@ static void pc_init_ne2k_isa(ISABus *bus, NICInfo *nd)
>   {
>       static int nb_ne2k = 0;
>   
> -    if (nb_ne2k == NE2000_NB_MAX)
> +    if (nb_ne2k == NE2000_NB_MAX) {
> +        error_setg(&error_fatal,

In the context of dynamically created machines I'd rather have
this function,

> +                   "maximum number of ISA NE2000 devices exceeded");
>           return;
> +    }
>       isa_ne2000_init(bus, ne2000_io[nb_ne2k],
>                       ne2000_irq[nb_ne2k], nd);
>       nb_ne2k++;
> @@ -1291,23 +1294,26 @@ void pc_nic_init(PCMachineClass *pcmc, ISABus *isa_bus, PCIBus *pci_bus,
>                    BusState *xen_bus)
>   {
>       MachineClass *mc = MACHINE_CLASS(pcmc);
> -    int i;
> +    bool default_is_ne2k = g_str_equal(mc->default_nic, TYPE_ISA_NE2000);
> +    NICInfo *nd;
>   
>       rom_set_order_override(FW_CFG_ORDER_OVERRIDE_NIC);
> -    for (i = 0; i < nb_nics; i++) {
> -        NICInfo *nd = &nd_table[i];
> -        const char *model = nd->model ? nd->model : mc->default_nic;
>   
> -        if (xen_bus && (!nd->model || g_str_equal(model, "xen-net-device"))) {
> +    if (xen_bus) {
> +        while (nc = qemu_find_nic_info("xen-net-device", true, NULL)) {
>               DeviceState *dev = qdev_new("xen-net-device");
>               qdev_set_nic_properties(dev, nd);
>               qdev_realize_and_unref(dev, xen_bus, &error_fatal);

and this one non-fatal (primarily for API example). But this is pending
on a discussion on another thread, see:
https://lore.kernel.org/qemu-devel/c1322f3b-2ae2-4ca7-9a76-a2a434dc8315@linaro.org/
so no changed requested so far.

> -        } else if (g_str_equal(model, "ne2k_isa")) {
> -            pc_init_ne2k_isa(isa_bus, nd);
> -        } else {
> -            pci_nic_init_nofail(nd, pci_bus, model, NULL);
>           }
>       }

Regards,

Phil.


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 07:42:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 07:42:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629928.982506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1M9y-0005uo-Sm; Fri, 10 Nov 2023 07:42:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629928.982506; Fri, 10 Nov 2023 07:42: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 1r1M9y-0005r7-Lc; Fri, 10 Nov 2023 07:42:34 +0000
Received: by outflank-mailman (input) for mailman id 629928;
 Fri, 10 Nov 2023 07:41: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=9sgQ=GX=amd.com=Julia.Zhang@srs-se1.protection.inumbo.net>)
 id 1r1M8X-0005A6-1T
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 07:41:05 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20607.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f88122b-7f9c-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 08:41:03 +0100 (CET)
Received: from DM5PR07CA0104.namprd07.prod.outlook.com (2603:10b6:4:ae::33) by
 LV3PR12MB9236.namprd12.prod.outlook.com (2603:10b6:408:1a5::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Fri, 10 Nov
 2023 07:41:00 +0000
Received: from DS2PEPF00003442.namprd04.prod.outlook.com
 (2603:10b6:4:ae:cafe::6d) by DM5PR07CA0104.outlook.office365.com
 (2603:10b6:4:ae::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Fri, 10 Nov 2023 07:41:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003442.mail.protection.outlook.com (10.167.17.69) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Fri, 10 Nov 2023 07:40:59 +0000
Received: from jenkins-julia.amd.com (10.180.168.240) 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.2507.32; Fri, 10 Nov
 2023 01:40:54 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7f88122b-7f9c-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c+yTwAW6x8fv/FurfWs5mTjkrLYLn+eV28rQNK8TWXvLtYCvNsjDmV9DNpVipFVOomnTjQ8TkWPvskgM3FJSYL3PPb2NSYNoyYcktpEYa5jG1Qgb1dxOy8is2+fTDqggctE5VU14YBquLRMUY7woiKBGnPE0F276u3YEuQoaEIWX1sXtU5XKLrp6bYof2JOlRh42CosggOKD1iBKbsT0ardjlz5db/uAteP/NXmUH85V/KT2MDqY3iXZw+aP8ms5Gpnmk/BgGfZSsgev9UGSxAJN2Hiy6qmB9tAJ2iQYvNNLMml5vt7aVmnqb+hdUNEihW3WciX+8ZPJ55qET0w2EA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9aX1RsF3gCTbk9wZR0KoZwRve7pKpevRbJ1zXxYsX70=;
 b=cGczpLNV1Qcqa90qgqg977zcfxwfZGUHblRpkJzDDUYjVG94D/vgP8RkmopzCCkrSjo41wjsgdIdqS/de3BnKskJU4gXscrd1HZPtyVQd2wPrnXx3zUh/P3EdEB8zo+kd2s+BU0sW9PEkbTH+wZF9ZTsagFos7lLwqXr0KLxxCE6OP8UdU7aUTyKNfWlKMJ8TLTmNfYBZkU5Hfhy+M7jRcwryuS00p/RfG52qohWxf7PrYmCiamf8E1iBlfXkSy8jGjFd2ED/V0goRX0lh62DfbQiG+xl5hoeacdMokn5vT4qzc2YOjFxTr+9+XsqsyWZOe2wCGkoN06KImCJLZX8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.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 (0)
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=9aX1RsF3gCTbk9wZR0KoZwRve7pKpevRbJ1zXxYsX70=;
 b=AxHfEca15FwTniv8WI6CIQJqd6/yGnb6jvGoilN47eEHMjDkMnWTVY9MLTEHC7P10Yv9IrR5PFNXztnNM1kA4TGOUpXJeLOI/9tIzCSdaPSaQxY4/ZTh2tnDjPCSI47GcL8l6sls9QRMo2T92+q/K5bD3Uqddn8rHT/F3l8MX54=
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: Julia Zhang <julia.zhang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Honglei Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
	"Chen Jiqian" <Jiqian.Chen@amd.com>
Subject: [PATCH 2/2] virgl: Modify resource_query_layout
Date: Fri, 10 Nov 2023 15:40:27 +0800
Message-ID: <20231110074027.24862-3-julia.zhang@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231110074027.24862-1-julia.zhang@amd.com>
References: <20231110074027.24862-1-julia.zhang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003442:EE_|LV3PR12MB9236:EE_
X-MS-Office365-Filtering-Correlation-Id: ee1a2fd1-d145-4e37-56e1-08dbe1c06219
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OK9GVynjpOXS6kkR9zIx3ddSOkORtmiesPl70lm1HhnqgTeqdRPZeyvHz6rYtFw1DOdhjtdkLlWcKO5uAkyz5eeqseBnWgM2eymWaixC/8xqmcYhoODntG8/yyeSQSvqvD/dC17XP4JyKGJRZ/I2XKqu9xiwZ1Hqy2m+ZAoMGfP40Frz4Qhr2xUm+3ES37lZOpA7oBY49OlK2itRNUqLwTb5dF+CFrbAAC0Z4Jrz5AiGG8J/78SjzGt9d07T6TzU9s81t5z+JtjOHiJnR7KcnGCsaj55d4g+jyeLSzoGfDytXwlQ0s4jBztxwQXIIm+v9At8iRN9hpQaZikgu0FGJBUDVKKc1hx1+UCy4aQ68TWy5nZMDeGJi/mtlvY9c/bOYuoo7ybs4yy5GZacFLIvsHb0X4iZxNFsFW9YodKLuQM6as1LOEyEFdVcA9But55MLLGkdXnzlyLcBzTECh0hVh596Idhn2gM1BtvqMJS3AvFqGgflU/y2XInSRHt4Y1eim3GOaoKEzMw+plTGDDoUjPj0gqzlLyHv/dD8mmkxGH/jX1PwDw8ALg9PAKZOZjhwpN3cbbk/4pwnvcb+4jzoSZJWK3foTPTvg0nBx2ndCBlxtJADtkU4iyAGKoxoLuBStLxaoz6K+AUzvTJFXydq0l7mA/c4selESuuqFUre9mf0gHB+i8UiH1qhDedd8URgjzIjEN2fFbYaZXDzQZr5sz7IqAhyZDDDN0WI336X+0/lhaasoSj2vMKTEQTTZiOVmbcqUeUYrMUCIdnWcmFlF7REAnZ4Zn8xjGzwS6h9ycFhAcmA2z/avrwntl/3vFP
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:(13230031)(4636009)(136003)(376002)(39860400002)(346002)(396003)(230173577357003)(230273577357003)(230922051799003)(1800799009)(186009)(82310400011)(64100799003)(451199024)(40470700004)(36840700001)(46966006)(40480700001)(356005)(81166007)(40460700003)(82740400003)(70206006)(6666004)(110136005)(478600001)(7696005)(36756003)(86362001)(70586007)(26005)(1076003)(16526019)(2616005)(426003)(7416002)(336012)(8936002)(2906002)(41300700001)(47076005)(54906003)(4326008)(5660300002)(8676002)(316002)(36860700001)(44832011)(83380400001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 07:40:59.8074
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ee1a2fd1-d145-4e37-56e1-08dbe1c06219
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:
	DS2PEPF00003442.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9236

Modify resource_query_layout to handle the use case that need to query
correct stride for guest linear resource before it is created.

Signed-off-by: Julia Zhang <julia.zhang@amd.com>
---
 hw/display/virtio-gpu-virgl.c               | 20 +++-----------------
 include/standard-headers/linux/virtio_gpu.h |  8 ++++----
 2 files changed, 7 insertions(+), 21 deletions(-)

diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 9c5a07cef1..ae146a68cb 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -728,22 +728,9 @@ static void virgl_cmd_resource_query_layout(VirtIOGPU *g,
     VIRTIO_GPU_FILL_CMD(qlayout);
     virtio_gpu_resource_query_layout_bswap(&qlayout);
 
-    if (qlayout.resource_id == 0) {
-        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource id 0 is not allowed\n",
-                      __func__);
-        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
-        return;
-    }
-
-    res = virtio_gpu_find_resource(g, qlayout.resource_id);
-    if (!res) {
-        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource does not exist %d\n",
-                      __func__, qlayout.resource_id);
-        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
-        return;
-    }
-
-    ret = virgl_renderer_resource_query_layout(qlayout.resource_id, &rlayout);
+    ret = virgl_renderer_resource_query_layout(qlayout.resource_id, &rlayout,
+					       qlayout.width, qlayout.height,
+					       qlayout.format, qlayout.bind);
     if (ret != 0) {
         qemu_log_mask(LOG_GUEST_ERROR, "%s: resource %d is not externally-allocated\n",
                       __func__, qlayout.resource_id);
@@ -758,7 +745,6 @@ static void virgl_cmd_resource_query_layout(VirtIOGPU *g,
     for (i = 0; i < resp.num_planes; i++) {
         resp.planes[i].offset = rlayout.planes[i].offset;
         resp.planes[i].stride = rlayout.planes[i].stride;
-	resp.planes[i].size = rlayout.planes[i].size;
     }
     virtio_gpu_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
 }
diff --git a/include/standard-headers/linux/virtio_gpu.h b/include/standard-headers/linux/virtio_gpu.h
index 734fdb6beb..6fb0f711c8 100644
--- a/include/standard-headers/linux/virtio_gpu.h
+++ b/include/standard-headers/linux/virtio_gpu.h
@@ -506,7 +506,10 @@ struct virtio_gpu_status_freezing {
 struct virtio_gpu_resource_query_layout {
 	struct virtio_gpu_ctrl_hdr hdr;
 	uint32_t resource_id;
-	uint32_t padding;
+	uint32_t width;
+	uint32_t height;
+	uint32_t format;
+	uint32_t bind;
 };
 
 /* VIRTIO_GPU_RESP_OK_RESOURCE_LAYOUT */
@@ -515,12 +518,9 @@ struct virtio_gpu_resp_resource_layout {
 	struct virtio_gpu_ctrl_hdr hdr;
 	uint64_t modifier;
 	uint32_t num_planes;
-	uint32_t padding;
 	struct virtio_gpu_resource_plane {
 		uint64_t offset;
-		uint64_t size;
 		uint32_t stride;
-		uint32_t padding;
 	} planes[VIRTIO_GPU_RES_MAX_PLANES];
 };
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 07:42:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 07:42:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629926.982498 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1M9y-0005oh-Il; Fri, 10 Nov 2023 07:42:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629926.982498; Fri, 10 Nov 2023 07:42: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 1r1M9y-0005nS-CX; Fri, 10 Nov 2023 07:42:34 +0000
Received: by outflank-mailman (input) for mailman id 629926;
 Fri, 10 Nov 2023 07: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=9sgQ=GX=amd.com=Julia.Zhang@srs-se1.protection.inumbo.net>)
 id 1r1M8U-0005U5-Uu
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 07:41:02 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061a.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7dcfa7e4-7f9c-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 08:41:01 +0100 (CET)
Received: from CH0PR13CA0032.namprd13.prod.outlook.com (2603:10b6:610:b2::7)
 by MW3PR12MB4460.namprd12.prod.outlook.com (2603:10b6:303:2f::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Fri, 10 Nov
 2023 07:40:55 +0000
Received: from DS2PEPF00003448.namprd04.prod.outlook.com
 (2603:10b6:610:b2:cafe::3d) by CH0PR13CA0032.outlook.office365.com
 (2603:10b6:610:b2::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.10 via Frontend
 Transport; Fri, 10 Nov 2023 07:40:55 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003448.mail.protection.outlook.com (10.167.17.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Fri, 10 Nov 2023 07:40:55 +0000
Received: from jenkins-julia.amd.com (10.180.168.240) 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.2507.32; Fri, 10 Nov
 2023 01:40:49 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7dcfa7e4-7f9c-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PvJHzzDsr9rxlQYkyovyhC6hW7jT0JDxtmOSZJkwpqqRUI4o5njlf1F0aOLTgsy1124GBN2P1GyM5CJ/YaSdOjSL/shD/2C4ls6RcjAm8ZT7Oqf46IqYxRxj8V2B13ryYn0KVuQZZ97c8KCtidtDMEQkp6uRvbcu3cp0gqRIBYdfsAsxfMs8i/KufKUZOQv/dmTz7jJl2F6kJPLv02vrWQ+xwbBUI6AwAJssISJFMDu0SHuwhYSuowIw0G0cmq+Y+FsKQeUiZDFm8jMwMJ7YQX6HeoUCh+KRcu8c5T+jqpzQETHV+dt9v6GagaVAPC8s4Teei6wDhQBkCWH/9GSFAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XntG1E0uj8N6zad76P/32qeRpwpbBJx1Tke7x6cAJhI=;
 b=Ww6XzYopI1t/JblGGPpo4S3esBRVSKHUJxAjCOY5LH6t3mfhzHnP0+8Ou0NIQKIOSHpGPDjOM9eXgCeGSr6GOfw87fy4FWp0sNQpK6nADFiSvdXZXf6byZLUO4CJZI1YeaZUBsXxfr4rbUD7cxcgB5/YTJN1dzKHYePxNI9B1nNujcxc4rbdIvYHJ9KRwup3ii77cZfv8fpmi4boVvva/OvlU49vV03tAYkefiLFzxffUCdluYuWQmNSG2sieyZRG/KIb/jDnqd3hmiXfXk1KfcLq4pAh0krmLdPwIpsMKZh+fA65n/ev1XX/rub2/QervbTSDA861dv9MHASAupGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.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 (0)
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=XntG1E0uj8N6zad76P/32qeRpwpbBJx1Tke7x6cAJhI=;
 b=H9ZUIQxyTeMBSk/9E+9hPg52zMPIMj2zBY66CmR6WTJFZPOYM90sTCbo0cmyGD1v2OOt2ZxiE/GL8D6CNcnat6KBHXvTp1bf9TnqJ/T9mR0woCN6BNkX7C5Cyeo65i1H3Rqxhgfh4UGCHI44a17TAiQiTAM0yJPK3wHG61ULST8=
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: Julia Zhang <julia.zhang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Honglei Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
	"Chen Jiqian" <Jiqian.Chen@amd.com>, Daniel Stone <daniels@collabora.com>
Subject: [PATCH 1/2] virgl: Implement resource_query_layout
Date: Fri, 10 Nov 2023 15:40:26 +0800
Message-ID: <20231110074027.24862-2-julia.zhang@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231110074027.24862-1-julia.zhang@amd.com>
References: <20231110074027.24862-1-julia.zhang@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003448:EE_|MW3PR12MB4460:EE_
X-MS-Office365-Filtering-Correlation-Id: 42ae4815-2f44-4877-ba54-08dbe1c05f50
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9BJDQy8Fa5HnkabUM8uEhEFh4/vpFxiRUftmaFPFJJau0pm5Cf+km4HROU97tN7DKmPHhM4VG8MWx/FZWZvX+tNe/sPRYCjmavewxaY3VnwFaRRtOcSNCm1XBLVPBDqshW+b0kCWXpB6+YbCGaZv8Dyc4iJznDGTg6ylm8YWGifAMK7cM3hdobfGwFj5SIg6gzAGrJNbLpaeuSKyqDmGIjPtDkEBP1hcgdp8l8s/ZpgnE0/XClfYjemWtOs0mDBOoAICE34f6DD/0c7ha+eXYbDznxuFByszZsZcg3rHcizzvLykAfD01vpgT7GE3qiJ8TwyYRo+ZmEpYcwLkV7+frI4C8pCSZGEShTTOWCTq+WdUSia9SHcyDHlhV4US1u/UoRJw/lpmBtvtafvzAMER3bFci73+938BD1mXUI2qWsqfJ9jiuc3CdodQJFnFN+ouBPbGkAOdhFTr5mk2VrphjFM1Fd4VVy07Z+yyXUZAi3hbnuqvh6d8B76lJQZvpmz+CvsUqnwcRKmDN181kFCOlx55tpXXtK1g5UgSZwSqjDn6QWh0CyvWky+pRfS0evGWmprmazIi7vEVCnloYwsg2L9ddDJW1GS0L+CN8YhK+Z1VD9s5C+Do1VceC0jIp9aaZtbply2SPh3OJ7ZvZcvZE8U+Gpi4HL1Y+g8po38kOTX8Ix+DrAM0Mlw6YvsVrsKkUpeDDttjrn9JLx/CF9dcWw++lwnDnOnWqaev8Jh78AGTnPrbC2oU5tvUHa0icVDfNRVHOVnvcs/gls2wzswZRs7hV6zHa61laQ1o5uyXFKayD3Js9KDLE8b97UmOJPM
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:(13230031)(4636009)(346002)(376002)(136003)(39860400002)(396003)(230922051799003)(230273577357003)(230173577357003)(1800799009)(64100799003)(451199024)(82310400011)(186009)(40470700004)(36840700001)(46966006)(40480700001)(40460700003)(2616005)(6666004)(478600001)(7416002)(36860700001)(356005)(7696005)(82740400003)(86362001)(41300700001)(81166007)(36756003)(70206006)(5660300002)(4326008)(54906003)(70586007)(2906002)(44832011)(1076003)(16526019)(336012)(110136005)(426003)(47076005)(83380400001)(26005)(316002)(8936002)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 07:40:55.1372
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 42ae4815-2f44-4877-ba54-08dbe1c05f50
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:
	DS2PEPF00003448.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR12MB4460

From: Daniel Stone <daniels@collabora.com>

A new ioctl to shuttle information between host and guest about the
actual buffer allocation, which can be used for interop between GL and
Vulkan when supporting standard window systems.
---
 hw/display/virtio-gpu-base.c                |  4 ++
 hw/display/virtio-gpu-virgl.c               | 49 +++++++++++++++++++++
 include/hw/virtio/virtio-gpu-bswap.h        |  7 +++
 include/standard-headers/linux/virtio_gpu.h | 29 ++++++++++++
 meson.build                                 |  4 ++
 5 files changed, 93 insertions(+)

diff --git a/hw/display/virtio-gpu-base.c b/hw/display/virtio-gpu-base.c
index 8d8aa2c88f..efaa681e54 100644
--- a/hw/display/virtio-gpu-base.c
+++ b/hw/display/virtio-gpu-base.c
@@ -246,6 +246,10 @@ virtio_gpu_base_get_features(VirtIODevice *vdev, uint64_t features,
     features |= (1 << VIRTIO_GPU_F_RESOURCE_UUID);
     features |= (1 << VIRTIO_GPU_F_CONTEXT_FENCE_WAIT);
 
+#ifdef HAVE_VIRGL_RESOURCE_QUERY_LAYOUT
+    features |= (1 << VIRTIO_GPU_F_RESOURCE_QUERY_LAYOUT);
+#endif /* HAVE_VIRGL_RESOURCE_QUERY_LAYOUT */
+
     return features;
 }
 
diff --git a/hw/display/virtio-gpu-virgl.c b/hw/display/virtio-gpu-virgl.c
index 2ac9a8b864..9c5a07cef1 100644
--- a/hw/display/virtio-gpu-virgl.c
+++ b/hw/display/virtio-gpu-virgl.c
@@ -715,6 +715,55 @@ static void virgl_cmd_resource_unmap_blob(VirtIOGPU *g,
     virtio_gpu_virgl_resource_unmap(g, cmd->cmd_hdr.ctx_id, res);
 }
 
+#ifdef HAVE_VIRGL_RESOURCE_QUERY_LAYOUT
+static void virgl_cmd_resource_query_layout(VirtIOGPU *g,
+					    struct virtio_gpu_ctrl_command *cmd)
+{
+    struct virtio_gpu_simple_resource *res;
+    struct virtio_gpu_resource_query_layout qlayout;
+    struct virtio_gpu_resp_resource_layout resp;
+    struct virgl_renderer_resource_layout rlayout;
+    int ret;
+    int i;
+    VIRTIO_GPU_FILL_CMD(qlayout);
+    virtio_gpu_resource_query_layout_bswap(&qlayout);
+
+    if (qlayout.resource_id == 0) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource id 0 is not allowed\n",
+                      __func__);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    res = virtio_gpu_find_resource(g, qlayout.resource_id);
+    if (!res) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource does not exist %d\n",
+                      __func__, qlayout.resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    ret = virgl_renderer_resource_query_layout(qlayout.resource_id, &rlayout);
+    if (ret != 0) {
+        qemu_log_mask(LOG_GUEST_ERROR, "%s: resource %d is not externally-allocated\n",
+                      __func__, qlayout.resource_id);
+        cmd->error = VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID;
+        return;
+    }
+
+    memset(&resp, 0, sizeof(resp));
+    resp.hdr.type = VIRTIO_GPU_RESP_OK_RESOURCE_LAYOUT;
+    resp.num_planes = rlayout.num_planes;
+    resp.modifier = rlayout.modifier;
+    for (i = 0; i < resp.num_planes; i++) {
+        resp.planes[i].offset = rlayout.planes[i].offset;
+        resp.planes[i].stride = rlayout.planes[i].stride;
+	resp.planes[i].size = rlayout.planes[i].size;
+    }
+    virtio_gpu_ctrl_response(g, cmd, &resp.hdr, sizeof(resp));
+}
+#endif /* HAVE_VIRGL_RESOURCE_QUERY_LAYOUT */
+
 void virtio_gpu_virgl_process_cmd(VirtIOGPU *g,
                                       struct virtio_gpu_ctrl_command *cmd)
 {
diff --git a/include/hw/virtio/virtio-gpu-bswap.h b/include/hw/virtio/virtio-gpu-bswap.h
index 8bbca1e751..49316758cc 100644
--- a/include/hw/virtio/virtio-gpu-bswap.h
+++ b/include/hw/virtio/virtio-gpu-bswap.h
@@ -99,4 +99,11 @@ virtio_gpu_host_wait_bswap(struct virtio_gpu_cmd_host_wait *host_wait)
     le64_to_cpus(&host_wait->fence_id);
 }
 
+static inline void
+virtio_gpu_resource_query_layout_bswap(struct virtio_gpu_resource_query_layout *rql)
+{
+    virtio_gpu_ctrl_hdr_bswap(&rql->hdr);
+    le32_to_cpus(&rql->resource_id);
+}
+
 #endif
diff --git a/include/standard-headers/linux/virtio_gpu.h b/include/standard-headers/linux/virtio_gpu.h
index a04419757f..734fdb6beb 100644
--- a/include/standard-headers/linux/virtio_gpu.h
+++ b/include/standard-headers/linux/virtio_gpu.h
@@ -70,6 +70,11 @@
  */
 #define VIRTIO_GPU_F_CONTEXT_FENCE_WAIT  5
 
+/*
+ * VIRTIO_GPU_CMD_RESOURCE_QUERY_LAYOUT
+ */
+#define VIRTIO_GPU_F_RESOURCE_QUERY_LAYOUT 6
+
 enum virtio_gpu_ctrl_type {
 	VIRTIO_GPU_UNDEFINED = 0,
 
@@ -102,6 +107,7 @@ enum virtio_gpu_ctrl_type {
 	VIRTIO_GPU_CMD_RESOURCE_MAP_BLOB,
 	VIRTIO_GPU_CMD_RESOURCE_UNMAP_BLOB,
 	VIRTIO_GPU_CMD_WAIT_FENCE,
+	VIRTIO_GPU_CMD_RESOURCE_QUERY_LAYOUT,
 
 	/* cursor commands */
 	VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300,
@@ -115,6 +121,7 @@ enum virtio_gpu_ctrl_type {
 	VIRTIO_GPU_RESP_OK_EDID,
 	VIRTIO_GPU_RESP_OK_RESOURCE_UUID,
 	VIRTIO_GPU_RESP_OK_MAP_INFO,
+	VIRTIO_GPU_RESP_OK_RESOURCE_LAYOUT,
 
 	/* error responses */
 	VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
@@ -495,4 +502,26 @@ struct virtio_gpu_status_freezing {
 	__u32 freezing;
 };
 
+/* VIRTIO_GPU_CMD_RESOURCE_QUERY_LAYOUT */
+struct virtio_gpu_resource_query_layout {
+	struct virtio_gpu_ctrl_hdr hdr;
+	uint32_t resource_id;
+	uint32_t padding;
+};
+
+/* VIRTIO_GPU_RESP_OK_RESOURCE_LAYOUT */
+#define VIRTIO_GPU_RES_MAX_PLANES 4
+struct virtio_gpu_resp_resource_layout {
+	struct virtio_gpu_ctrl_hdr hdr;
+	uint64_t modifier;
+	uint32_t num_planes;
+	uint32_t padding;
+	struct virtio_gpu_resource_plane {
+		uint64_t offset;
+		uint64_t size;
+		uint32_t stride;
+		uint32_t padding;
+	} planes[VIRTIO_GPU_RES_MAX_PLANES];
+};
+
 #endif
diff --git a/meson.build b/meson.build
index 59235aff28..0c20a00daa 100644
--- a/meson.build
+++ b/meson.build
@@ -790,6 +790,10 @@ if not get_option('virglrenderer').auto() or have_system or have_vhost_user_gpu
                                      'get_egl_display',
                                      prefix: '#include <virglrenderer.h>',
                                      dependencies: virgl))
+  config_host_data.set('HAVE_VIRGL_RESOURCE_QUERY_LAYOUT',
+                       cc.has_function('virgl_renderer_resource_query_layout',
+                                       prefix: '#include <virglrenderer.h>',
+                                       dependencies: virgl))
 endif
 blkio = not_found
 if not get_option('blkio').auto() or have_block
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 07:42:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 07:42:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629924.982493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1M9y-0005kw-8q; Fri, 10 Nov 2023 07:42:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629924.982493; Fri, 10 Nov 2023 07:42: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 1r1M9y-0005kp-5Y; Fri, 10 Nov 2023 07:42:34 +0000
Received: by outflank-mailman (input) for mailman id 629924;
 Fri, 10 Nov 2023 07:40: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=9sgQ=GX=amd.com=Julia.Zhang@srs-se1.protection.inumbo.net>)
 id 1r1M8R-0005A6-HX
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 07:40:59 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20626.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ae7baa0-7f9c-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 08:40:55 +0100 (CET)
Received: from CH0P221CA0019.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:11c::8)
 by DS0PR12MB9448.namprd12.prod.outlook.com (2603:10b6:8:1bb::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Fri, 10 Nov
 2023 07:40:51 +0000
Received: from DS2PEPF00003445.namprd04.prod.outlook.com
 (2603:10b6:610:11c:cafe::c5) by CH0P221CA0019.outlook.office365.com
 (2603:10b6:610:11c::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Fri, 10 Nov 2023 07:40:50 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003445.mail.protection.outlook.com (10.167.17.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Fri, 10 Nov 2023 07:40:50 +0000
Received: from jenkins-julia.amd.com (10.180.168.240) 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.2507.32; Fri, 10 Nov
 2023 01:40:45 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ae7baa0-7f9c-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lEk1uP0lGUnY0LLIHlJ1ADjZ6o0ZiwpkHd7ta5jZhjp7sHMNCnQHJWriS3aHuLsQQ4mPC3UpLs51nmApo2Mf5Q79njXI1JpIqCiw7nAwQKyyHxJiGIGaFMfY2PY0FpYpN3MWaoAqnCTn3rXpQ+u3JXj374XiXtZ2NyPAdMADRntgwl0JvN03x/aRAEdv7tkf8mFHfVXj/Q65kg2+/C8fe0OCCjKOGyW/je3m+6ZtJqrnAMyjV34JXUV/4yHgXf5ZPBpkzUS5opLp5n7EUBhghVHP72lGw8qQ8bftnZ3DCDtYrZz4htJjP9DxNfakc79mZ/MOEdpWYC9g1Z/7I7+Lkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eGDzmHa8OEhPPEAOSIU8ytz1xQ9bIs6QVntjhfnDetA=;
 b=DEu05q+L0WishkyqEsBH0flQ8RHXq0b+QWr+UWnoMBkPps9Tz5sesmCfSEEf0EYnjflePehq+kSFLmRpoACEkvC/yj5ifcua+YughF5TOkVrwTNvZLZf01dRVRRd+nLn3opa7OjxXOtaqkrGz62ELiNf0nk1VwMZnMCM/VaHWQIWca3qCEcwTi9fd298MvtWWi39yDdCUyR7tB3mUJ3HyCfnXfKJNnsRC3PTrXJN/5Qes4o/fxeWmQ74XDrV4Wue/bQR7vGmjzuKfqhEh0ZoDdPpDxE3OzL2ME1FQ3DHI3AhNy1qWThc9d+0HSiCF0439abNrCWPHugCVSlyeobuSA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=redhat.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 (0)
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=eGDzmHa8OEhPPEAOSIU8ytz1xQ9bIs6QVntjhfnDetA=;
 b=GzHH0LuM77hF/Y1r2BUH7YVPhPP+/SGvIjIT6oe7yunKMSZ/KoEjZtFPoJGdoH7GZ+cF23YU5imfah2tCodvmmA4+a6p88ihslKaucRrToqRVCAukeDIP5wDSAIIzP5tTIAOyPMBhUBi2or2i0gYdppz7RQ8eWe6bcwlY+zQrQc=
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: Julia Zhang <julia.zhang@amd.com>
To: Gerd Hoffmann <kraxel@redhat.com>, "Michael S . Tsirkin" <mst@redhat.com>,
	Stefano Stabellini <sstabellini@kernel.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Antonio Caggiano
	<antonio.caggiano@collabora.com>, "Dr . David Alan Gilbert"
	<dgilbert@redhat.com>, Robert Beckett <bob.beckett@collabora.com>,
	<qemu-devel@nongnu.org>
CC: <xen-devel@lists.xenproject.org>, Alex Deucher
	<alexander.deucher@amd.com>, =?UTF-8?q?Christian=20K=C3=B6nig?=
	<christian.koenig@amd.com>, Xenia Ragiadakou <burzalodowa@gmail.com>,
	"Honglei Huang" <honglei1.huang@amd.com>, Julia Zhang <julia.zhang@amd.com>,
	"Chen Jiqian" <Jiqian.Chen@amd.com>
Subject: [PATCH 0/2] Implementation of resource_query_layout
Date: Fri, 10 Nov 2023 15:40:25 +0800
Message-ID: <20231110074027.24862-1-julia.zhang@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003445:EE_|DS0PR12MB9448:EE_
X-MS-Office365-Filtering-Correlation-Id: 377251bb-2983-450b-f774-08dbe1c05ca4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O+UJh3S3TLAzTDuY0M1zTsltAxWWlwtX5Iieds/pDAqDc2hooF9CLIXb4hK+WEarYRP1aStxTCHUbyCypEbLX3x+V19jQpLwLSzyH0MMu6KZcpmi5SP90LRqf1dAUSUQI4/Mo0KPr8/Mqd+VHxLWYqdfLodDhN/RNbex4FiOLj0jHcHx0h9SKxhrHrFUou8zckP0LTiqoRIutdaOYsh6SSYo1t+nO0IqPT2/e4ylK26+GALWKD72K95cRzFqHJJuiTW5UmtnRsu0/BIUeYIsdVAtoj0a8Q4dwsVyWa4G8rBTlrNQokQVX1hJIBEx7NyPCATZdsT4kBrR/Txm/oBrqBI1Hun8yQAH6QUnQzJ3vkmDeepzTQJiAV/TXfkF8Ftnnqzws8dYweueCIkqNch0rNqLvOyhru+5G6/npy9Vvf7H1IetKdKeOtEvfyOKBTpgwEqJDPW11bvB9f++HrB+qGwgBl6dr1TV53uXy0GaicMYl2al0V2JcDJHDQTGQiGdLLhpQ2cYzeKlc7EOSJ4MGac0RFia6wa9HzA/wjMFRn5gzbn/7qMGhxwMTzhKuMO/vTWQrQTO2QpiGtmTBJIYfGygzhvmqjRsuAnrWlnZBF7zJGKYG6O9CL+auWOCgTuAJcDTRDSa5wKq44J2q0TyH6yaHsqPnYDEqZrYkovoYeNfvlj0DxTvMzJZgnEBCRmobKjD5ojIOMVX+JrJK7ESZUDkklhpXIp90BZvRKeiXq/Wc34a9PQ5AnYbrnQ/dMOzCTLw3tJryShEP7dxB98N8w==
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:(13230031)(4636009)(136003)(376002)(39860400002)(346002)(396003)(230922051799003)(1800799009)(186009)(82310400011)(64100799003)(451199024)(40470700004)(36840700001)(46966006)(40480700001)(356005)(81166007)(40460700003)(82740400003)(70206006)(6666004)(110136005)(478600001)(7696005)(36756003)(86362001)(70586007)(26005)(1076003)(16526019)(2616005)(426003)(7416002)(336012)(8936002)(2906002)(41300700001)(47076005)(54906003)(4326008)(4744005)(5660300002)(8676002)(316002)(36860700001)(44832011)(83380400001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 07:40:50.6561
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 377251bb-2983-450b-f774-08dbe1c05ca4
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:
	DS2PEPF00003445.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9448

This add implementation of resource_query_layout to get the information of
how the host has actually allocated the buffer. This function is now used
to query the stride for guest linear resource for dGPU prime on guest VMs.

Related mesa mr: https:
//gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23896
virglrenderer mr: https:
//gitlab.freedesktop.org/virgl/virglrenderer/-/merge_requests/1268

Daniel Stone (1):
  virgl: Implement resource_query_layout

Julia Zhang (1):
  virgl: Modify resource_query_layout

 hw/display/virtio-gpu-base.c                |  4 +++
 hw/display/virtio-gpu-virgl.c               | 35 +++++++++++++++++++++
 include/hw/virtio/virtio-gpu-bswap.h        |  7 +++++
 include/standard-headers/linux/virtio_gpu.h | 29 +++++++++++++++++
 meson.build                                 |  4 +++
 5 files changed, 79 insertions(+)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 07:44:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 07:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629944.982522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1MC0-0008Eq-DA; Fri, 10 Nov 2023 07:44:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629944.982522; Fri, 10 Nov 2023 07: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 1r1MC0-0008Ej-A7; Fri, 10 Nov 2023 07:44:40 +0000
Received: by outflank-mailman (input) for mailman id 629944;
 Fri, 10 Nov 2023 07:44: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=TCxK=GX=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r1MBy-0008Eb-GM
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 07:44:38 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e89::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff96005b-7f9c-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 08:44:37 +0100 (CET)
Received: from DM6PR01CA0013.prod.exchangelabs.com (2603:10b6:5:296::18) by
 MW4PR12MB7437.namprd12.prod.outlook.com (2603:10b6:303:21a::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Fri, 10 Nov
 2023 07:44:33 +0000
Received: from DS2PEPF00003442.namprd04.prod.outlook.com
 (2603:10b6:5:296:cafe::62) by DM6PR01CA0013.outlook.office365.com
 (2603:10b6:5:296::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.21 via Frontend
 Transport; Fri, 10 Nov 2023 07:44:33 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003442.mail.protection.outlook.com (10.167.17.69) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Fri, 10 Nov 2023 07:44:33 +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.2507.32; Fri, 10 Nov
 2023 01:44:28 -0600
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.2507.32; Fri, 10 Nov
 2023 01:44:16 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Fri, 10 Nov 2023 01:44:15 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff96005b-7f9c-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ecLarY16vIkcLv7WrNb3h+c0WrckQtaI0qxBrFoDTdWJewm+9ktNfwVemN2dtIVSOTZjUBZOIbqZtg5svI/YsKMyHHID2xwUzNbdd/G0kWWyGEAH5T6tBHP5oHU3qpYsvdG+6vPJs6vkhkINEEzcqIpinUsH6/lZ5uyaQlorWM7Ae+Q67PIEHVA08qrjFx88kW0pRQy8u5EF2Rgh88LwjVgdDQSQ/Sk27HikqHhz004MzxECffwee3/jZu2S0X7PzIj+6Xrkz9/lUrcG3+qL6xgJZDunyITpfXbldvngbUB52j+cF+I0fgtuA8yC8l5ZfK5n6fD3he+ZZPe++5HXNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sln09qK6Olxkfos5s1QABGW7uEnK0dojKOTOgp5iVrk=;
 b=hoh50dNww38nQn3OGw6Po8IXCxOE87KpK+vh5Gzp8q8G0V8PDJl5iylsPu1oswLNZo2bK2Lu3qn6+W50/FL0ECH0o3Vcc8ymxFQ36Cd+1Df3SP5gkaCMkMS7wd2ixN6uJK57Bw5dg+ALAMcIR2VI+TbE1VbBKqF2AwPMUlFabj2hNtpHoJHeGXD7C+MVW3ZYOzsLRFHW8a9D+87JysxEkW0Imov9zODa2Z1QPsLFEhr76UzHj5cNfPa7y3svNzziKFo31qdUKw5Fk7fC/Ny/4X5uP1YSB/lUgKU1M8na3dMo7a83nU7laCl74FEiWBhWg/EtBrD/nVhbC0epMK5MCQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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 (0)
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=sln09qK6Olxkfos5s1QABGW7uEnK0dojKOTOgp5iVrk=;
 b=f6t4d/087xc5QqsbYKz78jlag8Ja+Q6NaCP/QSKW4Ocs2RO40sVvHkk09HVyXSVv6BWsayB12B0+/43NyvwGGets11isCOZP/D/Gmn8ubzK1/LpD5V3Qjbtzw+4q/wCcfqTCx6gUjVYnG2wsgU4Lgsw5H9uoePfd+IhfTlS+u70=
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: <7ccda3bf-0d6b-49d0-a360-2974d921a0ad@amd.com>
Date: Fri, 10 Nov 2023 08:44:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Use hex for bitstream_size as expected by u-boot
To: Stefano Stabellini <sstabellini@kernel.org>,
	<viryaos-discuss@lists.sourceforge.net>
CC: <xen-devel@lists.xenproject.org>, <brian@woods.art>
References: <alpine.DEB.2.22.394.2311091740490.3478774@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2311091740490.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003442:EE_|MW4PR12MB7437:EE_
X-MS-Office365-Filtering-Correlation-Id: a960eb79-39cc-43ac-84d6-08dbe1c0e147
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cQYZgRDL55pUV6KiB83i/ucbh98QG6tGNzU1cWadY/WE82VFs88czw9luKK1PhqZEeV3Xje1VJyBnJD2RRblY/umSTwCiLP6lUqjXm71JZgRMZ4pbrfc9GdqNGhPHoUQTxbYjb/JA6rZipKCaRCQ9ZBoa7ZHvkKdDiY8RBvz62fOalM8DmIcvoqTg0dR7CtokHhDTdziCLHiA8J0dOpHJ315O7fcvN9dGzDyMcCrq9AfEZsjSf2a/pOv0qEYUiDWdJgN/XdZDyCZ1b8AbkDh60nDyOqsJLN30bJdJErOL41Ey6XhEf5RtbLLqFJ4yQd/PhANYZAhfg8D1URFT53y3LHVcWO47WCNUC/tJabt1OCiNnp6wj0EXxwA5ed+NnGa59RvAFd7+ZG1dmySQJoNIKWl9OgNs22lwk/HNbwJGW7s9eyXWS4zv4f2Hz0hweEUAeQEh2e85PKjLFUmrskhutZ/QVBCxsOFagegTm0c+Hh5BW0xOYFlmiW/EvbyCiagk5nqu9Rzfl3NfqY04Iov+BZ7DIuYIk/8K4pKHzZhefVWQjqxRKc4h9US/L0O76esIqYyxImh1IJ2z3hIODPg1jZTjHEBgLqKnRexPs8wjxw+ogLa08jA+1hfALpSpi6+BwNJceUXYSY9+sT+1Z0nhPnzKm78Bm6zwpoIuseJsHCoqzOKufAWE8Hw/O5ZYyf2eeIfg+xw9+TS6MzrJKY27AkUW1hmJ4KFQyESZylkNnnpkDI0sY8ncDX6jh7SkFI+UAmZcJU69D1nRa1oosyZjOa2IMWlSYByVNOiS0ya+yuCCm56HmcEaM1s4mD9RjB1
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:(13230031)(4636009)(136003)(376002)(39860400002)(396003)(346002)(230922051799003)(1800799009)(82310400011)(186009)(451199024)(64100799003)(40470700004)(46966006)(36840700001)(40460700003)(36756003)(558084003)(16576012)(8936002)(316002)(8676002)(336012)(4326008)(36860700001)(110136005)(5660300002)(70586007)(54906003)(70206006)(44832011)(478600001)(41300700001)(47076005)(40480700001)(2906002)(53546011)(2616005)(31686004)(426003)(82740400003)(81166007)(31696002)(356005)(86362001)(26005)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 07:44:33.1807
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a960eb79-39cc-43ac-84d6-08dbe1c0e147
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:
	DS2PEPF00003442.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7437

Hi Stefano,

On 10/11/2023 02:44, Stefano Stabellini wrote:
> 
> 
> Reported-by: Brian Woods <brian@woods.art>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 07:56:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 07:56:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629952.982533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1MMm-00022m-EH; Fri, 10 Nov 2023 07:55:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629952.982533; Fri, 10 Nov 2023 07:55: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 1r1MMm-00022f-AA; Fri, 10 Nov 2023 07:55:48 +0000
Received: by outflank-mailman (input) for mailman id 629952;
 Fri, 10 Nov 2023 07:55: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=EgQD=GX=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r1MMk-00021H-A6
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 07:55:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c54c834-7f9e-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 08:55:44 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id BF3F04EE0744;
 Fri, 10 Nov 2023 08:55:37 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c54c834-7f9e-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Fri, 10 Nov 2023 08:55:37 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Andrew Cooper3
 <andrew.cooper3@citrix.com>
Cc: simone.ballarin@bugseng.com, consulting@bugseng.com,
 xen-devel@lists.xenproject.org, andrew.cooper3@citrix.com
Subject: Re: Failing eclair-ARM64 job
In-Reply-To: <alpine.DEB.2.22.394.2311091702530.3478774@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2310311443460.1795129@ubuntu-linux-20-04-desktop>
 <cedcc2c2dad9b0a75220d676ff6b646a@bugseng.com>
 <4be3de5cecb06a9fdd09fc530d3926f0@bugseng.com>
 <alpine.DEB.2.22.394.2311091702530.3478774@ubuntu-linux-20-04-desktop>
Message-ID: <6b99bd7f14d446ab071ef874e8fa9b73@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-10 02:04, Stefano Stabellini wrote:
> On Wed, 8 Nov 2023, Nicola Vetrini wrote:
>> On 2023-11-08 09:17, Nicola Vetrini wrote:
>> > Hi Stefano,
>> >
>> > sorry for the late reply; see my response below.
>> >
>> > On 2023-10-31 22:47, Stefano Stabellini wrote:
>> > > Hi Simone,
>> > >
>> > > As you might have noticed, all the eclair-ARM64 jobs have been failing
>> > > recently for the upstream Xen "staging" branch:
>> > >
>> > > https://gitlab.com/xen-project/xen/-/pipelines/1056527466
>> > > https://gitlab.com/xen-project/xen/-/pipelines/1056520898
>> > >
>> > > Although eclair-ARM64 is "allow_failure: true" still is the only job
>> > > currently failing and it would be nice to get it fixed, especially as we
>> > > are about to make gitlab-ci pipelines gating.
>> > >
>> > > Cheers,
>> > >
>> > > Stefano
>> >
>> > A patch that is meant to address the issue related to D4.11, which makes the
>> > Arm job always
>> > fail with a report on a clean guideline, has been submitted on the ML:
>> >
>> > https://lore.kernel.org/xen-devel/3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com/
>> >
>> 
>> This is about the semi-random failures mentioned to Roberto in 
>> yesterday's
>> MISRA C meeting.
>> Neither me nor Simone has seem a mail sent from Andrew about such 
>> semi-random
>> failures.
> 
> So you are saying there is  no problem with the ECLAIR arm64 job, it is
> just that it is failing on a false-positive violation and we already
> have a tentative fix for that currently under discussion [1]. Once we
> commit the fix, everything will pass?
> 
> [1]
> https://lore.kernel.org/xen-devel/3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com/

+Andrew

Yes, that's what we know. If someone found other intermittent issues we 
can investigate them,
but we received no notice of such issues.

Andrew, can you confirm receiving this email?

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 08:40:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 08:40:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629965.982543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1N3R-0002LV-U3; Fri, 10 Nov 2023 08:39:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629965.982543; Fri, 10 Nov 2023 08:39: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 1r1N3R-0002LO-RA; Fri, 10 Nov 2023 08:39:53 +0000
Received: by outflank-mailman (input) for mailman id 629965;
 Fri, 10 Nov 2023 08:39: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=jLlG=GX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r1N3Q-0002LI-Hb
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 08:39:52 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20631.outbound.protection.outlook.com
 [2a01:111:f400:fe12::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b53b267f-7fa4-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 09:39:49 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS5PR04MB9770.eurprd04.prod.outlook.com (2603:10a6:20b:654::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.7; Fri, 10 Nov
 2023 08:39:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.010; Fri, 10 Nov 2023
 08:39: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: b53b267f-7fa4-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OYTLiym4TFOim6IVoata7pXmNIYaDv5yDw2omInXWKlIguQGUQg9I5RGVuWYO1wVnjPi7NE8hPZNwNtb27GmaddKXJURlFmQEukcZi+LX6KoujQ8QF/TI5xpyudccU25+cN84ij/yndeVLSF2I86t/cUFt0gsgxY+jTMuOlQxrR4SztsTL9A45ng2SllGVRY/6iheQZVcx4Hg/5U1VURE38cEg72MFugHb4l4RUUl1CC9LOgLcVn2ath+zQhe7XgdgCO4+SmXw7pka4d4Juzov8roxf3KJ7jdMRcsYHTY2QYZipCVtfEz7UjT0aA3c0EZsXTYXfEiv5jyyQ7TatkIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VA/MDRhUT/rDnENS7ezaXAuZsVISm+LSgUQlhipzdk8=;
 b=VNsoBiwhw8o3wmbmPoKfhrtjjkXghyITd4BqR/ihWRn6F9bbo4ZhzWB/Opk+cfGQMYPeT3LksVwzC/wbo6e0UtBZpxwLttHBNSi8Rd4AOYWUroiRXtXR4tOSQnqqvPJRqC6/udMPWeJeL59BSAM2v0NEZ61XPrRu4nQVsSy7FlMFw5ZoxBjiseA/z4H0OnNU9IFCLB7ljn//w9nC9E7/h4w78XWAdXBeVduiduRWt+Q5z6dpCag5bktXLnqY43hmI/D51C2xs/3FTUpn8an+J9DkdO6mUr1ETxKTEIHNE/Lcb11l2Qzm8VXZXb2vG94GC+69KjdV24x8SS6FFopg5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VA/MDRhUT/rDnENS7ezaXAuZsVISm+LSgUQlhipzdk8=;
 b=MiTOguRNDPpGJBSTLkmMIPL15kQDvNQLUs3fsR8xkrkp+9t7UE9eqLgVh+UFFi4K6c+hy1P+tdUyuBuxw82aOXFLQiJsINsLbwMlv197IL5lnryOOjG4YM/NxoQZe9CBACm4IifCiE/CMeC4sD4EbK6f5rT2zFIuenM1owAJENafwp8/NAGgGUyerxiOxM6Hl43v48BT+ZD9SXA6Ug3i7/hoiKgW1CDni8h+Vt7MA1W9jTyrgs2sjgXd47K5CDut0KZmP5ksA18xaSK9U7Jl2A2xlJNP1pxoU76tKpdn/EhTZgNOBuRuK/G0HWRiZvkMS2nn29Bub7WeJ57vyPYLHA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fa411ed2-b791-8439-e70b-2d728c173d63@suse.com>
Date: Fri, 10 Nov 2023 09:39:43 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v6 2/9] iommu/arm: Add iommu_dt_xlate()
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Rahul Singh <rahul.singh@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
 <20231109182716.367119-3-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231109182716.367119-3-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0008.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f2::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS5PR04MB9770:EE_
X-MS-Office365-Filtering-Correlation-Id: a93ec536-80b0-4387-9fbc-08dbe1c897dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	klWUQlVbaeRyQ8MRVIrGYV+QmiU98JFe1qNUcpzuO0hqZXQx4adeGkWKYjPro0sesRoaRKEkNT1poik/FkrFk3zSibb4G6T0iww9koEufvG5uE9jxeiH46odLbCRXLavJyl/lerRjUlSymrUA1psKaPjZqeqn2QyJiS/q1DbIEI23TD4OlyeCpBQpzq4+I9JJB+rJNUWq9NvnwcaOkXs7Nmm7gBxLElK3rYBsi2PmlSQTXTC293kzB2D90fGOkkI1fwJ/p69gK+5R01qrPY/jgdOtTyvOrYl0uL5s8VcvL6z/tykf9o+lT44mOaXyP4pyr/ibAAitYUgSefUDB3VNyW32gZJqbI0prgEQDUQ9lV3/k1fyrkuzG93O4jm3RRR9ZphymxKY9VxgIljNU7AyRm8PZ7dQMqWXx3PnCweyimeu0R1ZAHIGyYUlzov9z1SBLeWvxbJCMlL3HaoRn5mR+v3ALU9E+QveYSobg1CzFG9de4CzecYlwLdUefuYq06Vz8PbiGGtC6HAohI/F64MoJgqjQZth5NSFpXzRUCK023J4GsSWGQUoB/SS4RXjdpm0RHLzp24EY5mNZhxpNap30Dp7SEpj1cGxCGL8cQpQpi7gDnZFQUA/m09q1nDCma2yfBCqRG4ns7ZLPO/gB+Hw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(376002)(366004)(396003)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(31686004)(478600001)(6666004)(6486002)(2616005)(6506007)(53546011)(6512007)(36756003)(38100700002)(86362001)(31696002)(5660300002)(66946007)(66556008)(41300700001)(7416002)(54906003)(6916009)(316002)(26005)(66476007)(4744005)(2906002)(4326008)(8936002)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHJwZVRoOXhSRUJ2K2tDQzljM0Fqa0pOU3VNbTZzZFNKWjUxL1k4eXZzUjlv?=
 =?utf-8?B?SjUzdUtSVU11ZGE5Z1NkTjhUQzFuMGZXaEUrOUlteC8vRloxcFhraUplWkRS?=
 =?utf-8?B?MlovL005Tko0VzRSQ2lQbzhlUHB6d00vVTlLMlNwd1RFRzhrcUc2aHFHY2Zl?=
 =?utf-8?B?a0dUWm5sN2tIYUVQaGI2WDBMVWV4NSt6Y3dFZHQ1a2R5dEJrTzU1QUd5TWI3?=
 =?utf-8?B?NW5ObmVTdVU3ZDZURWxCckdwb1pKZWtsbWl4bzdGdkV3Mlh5RGJNMGpnVW9m?=
 =?utf-8?B?dWpoTzBJT1MzK2oxMy8wTFBWOGdrUnJGbGNVZHBWZjN4ZElXekw3Z3F6RTRL?=
 =?utf-8?B?aVlkc0tvZjNmRWppL09DOWNUU3VUYklZOENTZjB0NnlkaXlRSzFzT2ZNSlpL?=
 =?utf-8?B?MElUUTY1Y3BxY0d4WHhVTzRGYVd3WnlVdWx2amtXcXlUQUt3U0dPK3ZnV2Q3?=
 =?utf-8?B?d3Bibm80djVSUXZScUwyTUxtRVJCSENHWjBqRERxYWF5c3FucFIrUG8waU0y?=
 =?utf-8?B?SGNLSWZmRkpDMlhEbHR6bDVoM2UraE9tek1ndUdnNXhEcmxYSVB0dmVoUngx?=
 =?utf-8?B?eittakJzdmNUWldPMWJhNjlSMThHa1BQbGM2MjNxYzUwdGxMbEMyck1hMVJT?=
 =?utf-8?B?dTQ2d1dXYlhkTDIxUUZ6RlMwRGgxV0dkdmdhaEloVEpCdDZlVU82aE94SzZz?=
 =?utf-8?B?TzN0MHduZWE2dFpUUWlONk1Eci9TZERENFJEV3hwcGRNQUtncVh2M0Zxc00y?=
 =?utf-8?B?blduV0J2K2FlZVFLWWdsbTlQWTZ5N2p1ZkQrSjdXZlhVcnViUC9kb2xPN3VJ?=
 =?utf-8?B?UUhBYTIzdEZVMTI2a0oyTkVHa0VwZmpNRTNVVTdCT1B1V3haTGo1UWRsVDFj?=
 =?utf-8?B?WVFZWXVPaXo1cFh3b3RURnEveCtMS2ZlYytmSms1OWlXRlpjQWl0VVZpTkpR?=
 =?utf-8?B?SUZYb2M2NEJ5T0VPTUVRUE1KMXhqZytCNWpkTDNFZ0VTTTR1NW5jcHpFQ0dr?=
 =?utf-8?B?bTYyQnpiQnZjR0tCNUordjA4T29CY05ZWk5kMHlYcjNvazVKTVd3NmRQNG0v?=
 =?utf-8?B?UzgvWWxZYXZmbEhXU0oxNkRCN0VRemhnNmlRR0VQN0NOODh6enQ0emgvcG16?=
 =?utf-8?B?UFE1d3FSZllXcGVhZHpZSHNkd2lvOGxjWVlHT1NXNnNhNjg3VzV1V2lvNWZ4?=
 =?utf-8?B?VXBqSFk5Y1p1d1p0elgyMjFQOGE4UDdtaXhzRi9BOEhmUUE1VHhsaUxQOEFU?=
 =?utf-8?B?MW5RS3NhMjF0VjV5VmYwYWFMSkkzVGthSzlZdFEwUjlKSFYvdjZnYmk2eFFy?=
 =?utf-8?B?U0w5L1NXRGhENnV5U3RDUEpKbFliTXNxcmd1S2lmRkQ2dkYzVnJhZTNjOW1n?=
 =?utf-8?B?bHVBL2VIdUlTODVSdm96Y1Qxckp0M2x6T2s3NHZ4aDRKYmRqdW1scGxzQ2pr?=
 =?utf-8?B?b0cvMlR0VjJoVmZBY3ZzRUxGYUJVSFZGWjhhOHM3NjZ4V3JCWGtMWW5EMzNi?=
 =?utf-8?B?NG02R2ZKa05ldVJaUnBoL1VtL1JOOGtDOGViR0JJWGVhUmM5Vm1jd0hUQVF0?=
 =?utf-8?B?K3RmdFNkK21GQTR4ejgxempLbmtwTjV2UjlsQVBBWWszU3JxcjI5UzFQT1pQ?=
 =?utf-8?B?dk4rSENCSzE4VC9zSElGakNBWUI0RjJHUm10bGRtdnkxS2RWSlErekdEaVVy?=
 =?utf-8?B?RnhuTVZybVhMRkdYNGwwRmh2WnpZRWF3WWdSbmttWkJLTnhvdHd6TTJwMzFV?=
 =?utf-8?B?ejdhNzNielBQMWRJM002TnJhTSs2TjFHcitycFB2ZU51NXVNNkFJb3lyUDJN?=
 =?utf-8?B?d2hsNjFXNEh3aGx4WEtydkRraXViNWZ5aUNwVlpZRlBlTzJ3MzU1bkovT3RI?=
 =?utf-8?B?TjZiRjQzb3VCVVlkd3pMeFZkK0Z0ZHFFRndBbzJQNS9LbkNGOXNQRDhLMUFT?=
 =?utf-8?B?TWQ2ekxWd3VQVFRsaGJNMjRrUTZycysrdGxLTFpqMTlFMEZySVNKUFI2czlh?=
 =?utf-8?B?TjJ6TGE0a0pqYm1HUTZhU3czS3ZrWHRrYXBabm9XQ3FNanhHNnFXNmlqbjdH?=
 =?utf-8?B?aUV1Q3RqNGp3SHNQcmxuTnRmeWdGM3RYUUtwYjBOUkJOWHRFNDhITExYTkt1?=
 =?utf-8?Q?aq+XAWi0GZ5w3pFcWA4kqBitU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a93ec536-80b0-4387-9fbc-08dbe1c897dc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 08:39:46.1763
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rM31DsVqr2hBZO/VR3MlZe9pzG1x+O3dOTNuPgol81+5MWSthAzsqALSStAYKJWLacpd82tVzSqvitz7muCvNQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9770

On 09.11.2023 19:27, Stewart Hildebrand wrote:
> --- a/xen/include/xen/iommu.h
> +++ b/xen/include/xen/iommu.h
> @@ -245,6 +245,8 @@ int iommu_do_dt_domctl(struct xen_domctl *domctl, struct domain *d,
>   */
>  int iommu_remove_dt_device(struct dt_device_node *np);
>  
> +#define NO_IOMMU    1
> +
>  #endif /* HAS_DEVICE_TREE */

When looking just here (i.e. once that was committed, when looking just at
the header) it is entirely unclear what this #define's purpose is. My first
guess was a bogus attempt to escape using some CONFIG_* setting. Looking at
the use sites, this looks to be a kind-of-error-code. That wants saying
here in a comment, alongside the scope of where this may be validly used.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 08:49:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 08:49:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629971.982552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NCi-0004kE-UF; Fri, 10 Nov 2023 08:49:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629971.982552; Fri, 10 Nov 2023 08: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 1r1NCi-0004k7-Ri; Fri, 10 Nov 2023 08:49:28 +0000
Received: by outflank-mailman (input) for mailman id 629971;
 Fri, 10 Nov 2023 08:49: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=jLlG=GX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r1NCh-0004k1-DJ
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 08:49:27 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe16::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b3b17a4-7fa6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 09:49:22 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9256.eurprd04.prod.outlook.com (2603:10a6:102:2ba::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.7; Fri, 10 Nov
 2023 08:49:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.010; Fri, 10 Nov 2023
 08: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>
X-Inumbo-ID: 0b3b17a4-7fa6-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jftiYTFn8yRNdYuNNwJDPb1yMjzbfrHsmjiXM7aqLDNm0ZAF/7b/6JFsM7XeDbhzvI8ZT95cxpXj39OCene3Ii87Z8jSqik2tGnJsjoaVRSiTBNXtPM3dlq/I/nmrfMWasAqEKP/IRDBxVB2U10PIr6cL9musECX5dKcyfqTkZuC4SCc6c6846YgMlW0U+gGT/JfnugX0ObATDtyZd2hfUIvg9jQacIczShM+Z/MxJgz8Df8kNBJTuhomfK5sSZLh0hqyXrde6rzcynS1owvLAbqaaRvC18UjZb/H9nobE5r3nfLOhGlrMnm+rbIcNCdITp7bxSY8FSgEEpO1kVwyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VdAy+DbHA4fen4I7Q0wGE7FKajiINCdDgJJRddZO/ag=;
 b=ZWMOGlBf6XBj8XA6+VPDVhHeoszQkHdPdln0X7OqvonFFN02QkpbrpElwx77I1AluAejQ8W/2VaA754yE0UuwdTjn5iyscGXEX1oKU3WCAsyReC0grQJJPuYEbTscLUIQ5JgW76RE4r5cQOEBQo4S1Dy8wLW2kXetO03XZkhe306stanlgODSs9lC4d53eIjMr5AUuVkmFJbFOksKBngIgwvkKt97EEixD7bxlfBjmKeFUpnrAvhNBa8OjrBNnerktAWjGHAIvyzHNwwHkdgRZWKkCMqYrDDXqPNzRrl4u5WaX8Zh1Hb5mJJpydKW1hBkDCKQ//nAi6Mqd0Gybx9Kw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VdAy+DbHA4fen4I7Q0wGE7FKajiINCdDgJJRddZO/ag=;
 b=DAGWCnWNWpGOJZUkmo6IbLxdxK7blMFzFkwdHeBuq0CzC/8qSAygDR6+S0B4WPQVwqMS671Hu0aOHcdkq2DZaVAId3nVTeOUf3w9dpZtrFm7yPMwtkcwjtdUl6pCnyfEzqVODjYCI1dtKA0I5ZVbfFnpYWOMFL/bJy/rRZuESB6gGbG024LzRP1Jr5N+efMtNiRayp9NkUFaNPTOlHKPCj/mYBsvqRAjSFaJ4HkgE756cBykwxzIKkmJonNS2yG5uGb30gVaCia6WRK1AoDfYk+PT25uZ3asRg/E248mneh/5/QCKqbrtsVUqY0Sc6mBW3GRVoBZY0t27TEfEBv8EQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7dae06e0-394f-727d-c76f-f33e1d9e190b@suse.com>
Date: Fri, 10 Nov 2023 09:49:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v6 3/9] iommu/arm: Introduce iommu_add_dt_pci_sideband_ids
 API
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Paul Durrant <paul@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Rahul Singh <rahul.singh@arm.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, xen-devel@lists.xenproject.org
References: <20231109182716.367119-1-stewart.hildebrand@amd.com>
 <20231109182716.367119-4-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231109182716.367119-4-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0151.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9256:EE_
X-MS-Office365-Filtering-Correlation-Id: 15c2eceb-9484-43ee-8e20-08dbe1c9eda4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BWSLVW1n7EQUM/XrTvTffd6VPCuOcI2Gj+pmYlvdqzIpTiDSaX+/vG9gmgWApU3VA6kMsPNhh2HyJNLu3qbrN6tTaeRZOEfLser0F4sA69SvOAWp72meDchdynh7D+7v3lCKlu84G+olAYfP22swKLt97qoGmVKVliuG/0K9STnIv0rjyUqwZ+VnjYjmDR/zabBdThM50MLqENflBycqo4oiifflj8vrxgFA+wocm1RdQqbLDgsnWyn8Tq8buiu9JUux7Ml0jghx1tWQmseYvkyaZsV0Iq9f6Yw6GJGYVZBoLzXgheuwhVRG7XuSOAVPzifSX8uupAmQ97T/KSgVGcGX//OwpQv7e9MCCcjp4IuWmEo9zT/WOXmToPjaJ4qRgcC7/JYXSaZLnMIwW7IWVURzRI6A830tOC0uVzckXsjN3O7xHqT6yE1IZZK+oUmm82Ak2Ec3J5Wc6cRSr+m/uzZP0f2rN3qf/kfehxRQ6U4F1SOVNB9IHD1LqY9aMx2/lmGoPrtO6bI0Ai7CmogcRbCovstZy7cQKseDAYkja8HOFODgwxRinkiJhJjhr8kD7fk9h4mTGjhEWVn5TGv59bp4rgpB/Di1sK7ihTA1NnnraA8SIWVtxC+2jVCZ8V8/kFDiLnuN/+6PAXG8zkUZOfGu7iLEWgh2Sqn1CgFHWAg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(396003)(346002)(39860400002)(136003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(2616005)(478600001)(6486002)(6512007)(53546011)(6506007)(966005)(6666004)(30864003)(2906002)(83380400001)(66556008)(316002)(41300700001)(6916009)(26005)(5660300002)(66946007)(66476007)(54906003)(8936002)(4326008)(8676002)(38100700002)(36756003)(31696002)(86362001)(66899024)(31686004)(2004002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dG9lWEJTcXNiWi8wUFVrT3lESTBPK0pZV2JNSFp4ZDNxaDVqZGc2UkM0eHNj?=
 =?utf-8?B?bktaZjVCVWVlajVXZlRkQXpuMTRDWWQ2TG9FZ2luUjhqYWxxV1NhQ0orZnhw?=
 =?utf-8?B?ZkRTS2ptR3FTb2c4SThJc3psdk0wanVTT2N1clFMeUVBR25QZ1ZVa0VZalFW?=
 =?utf-8?B?R0FKQit3dDhRRnZVckxsbU9DR1V2WllZWWNDQm1mMWtKZWJGcVVhSWlYR1Vi?=
 =?utf-8?B?ZXBkb3FnT200c2NOeGp3T2VvNEcrODZZQ1ZwaTZqQ2pwbFdsYjltc2xFS2Z2?=
 =?utf-8?B?dUIva2wyMFBTWk5NQW5TMlUyVFMvZlF5VHFwMGx4elpQeTZTOUYvTjJMU2p1?=
 =?utf-8?B?VkNKcUIrRGhYekNnWW5DeWViVlVwd1dWNWZWNm9md0hSaUpYSHlscTdPUmlD?=
 =?utf-8?B?dHB2cHNkOE1tTnJOUFBBdkZ3R0ZpMnVSR0JrTkg5c2FVZDJ0OXhzVHJJT0Nr?=
 =?utf-8?B?ZFI3aWwvVnREQVdwa1h1blc0bC9WWVBBTk80RDQ1RnZLVllQWDBzNTZxb0lj?=
 =?utf-8?B?bzJsZFVIaFRyOUZUUWswMzUxMzM5M3k3QXUxS3dYZ3R6MlRadEN4bzVraGlk?=
 =?utf-8?B?c0JEVUxtN1NRMGR2QkxNS0pxUjdFYkVkVnIvLzU5bkFoZFZ6RE1VaGFGN1VE?=
 =?utf-8?B?bE9rWGlsZ1h2WkxQSmVoSkZQckFBeGJlbENGcjJqQXhlRkI2TWlYd0I4Rlhw?=
 =?utf-8?B?OVhqM0FWNStwQWNWeWxBek1MSUNNOEc3SlNvTHA2R3d3NzZyUDk1aEk1S1Mx?=
 =?utf-8?B?MWhOcmlXYm5CWENWaGhmTzQ0cmZiVFhqemJGZEJmUzI5TlRwdWZHcUJnY0dD?=
 =?utf-8?B?U1d6NnhVNVhROHZabVJURnFxT1N3V0dtNW1pV1VuSkg5RVlGOUJvK0FYTUp4?=
 =?utf-8?B?S3Nlb3NhblRZRkdpdmQ0OGlVYlB4Tml2N2VJNnAwZ2Uxb0NkcnVsMnJYbGRU?=
 =?utf-8?B?Z1pMVGdYMHBMS2p1OC9kZjI2Y0ZWYWo3c1FtWmU4LzJTVzJXWTRXamtCT01q?=
 =?utf-8?B?U29JMjJDbFFpeHJZQVlKTk9XaE1EakZvQ2FlUnYxZjFCWXQvYlMyVnhQeFBY?=
 =?utf-8?B?STdQRFhaMExaalZoMUl2Y1JkdTkyakhGNUZUMTRQeHQ5M2t2ZUpnMGlZREtr?=
 =?utf-8?B?enJiWTdBY2hsSnByaklxTHpOMWRpVmJtaXZka1V4d2IrQnh3VkR6cXNFL3pL?=
 =?utf-8?B?NjdNWENzd1hKaEtqL0hKYVgydG82ZFdIVGRUQWhHSzNoMnZuZmVzdUlvcFVE?=
 =?utf-8?B?QTBBcUpxRXdhQWV3Q3pMWXJ3VnJiWWZwZzlNWWNkZDUzQ0dOcWsyaVVmOGVr?=
 =?utf-8?B?cExMdE05TzdOZDdvVFIvQ0hKU0RNMW1ZK3RDaEZaMmsxbDRWUWsyMGlsNE5x?=
 =?utf-8?B?a2VUT0pCbnhzSEdUUVZLVTFRQnVlMVJpQ2tLZDdFRlZkNXZDUEFCRitiajJR?=
 =?utf-8?B?SVJBdGJGUW9PNFBvL0czMWh2M1NMdGR4REdMb0YxQ1RKRWc5RFFXTUxwK2Q0?=
 =?utf-8?B?TVZ5dE5JdFAzY0ZST0Y4aFI5cmFjamFmYUR2TGdTMlR2RnhiS2s3VmFrMHlX?=
 =?utf-8?B?R0FIeDhqc3lWdVZPVnJtNzFhWDhMSHVUbHZWWmFBalJIRkZMMUY4VEpQQ01Z?=
 =?utf-8?B?ZVJUQzhXTTRreU5PV2F5eFpvQXNZbXpmWUZCYktTTjR3MEJlZXlPVzFOTWxZ?=
 =?utf-8?B?Q2JVV3JqcXlSNGNpZGovb0tDdUZOSzNya2tNU2NoRmlrbzJZZWdrQmhoME9r?=
 =?utf-8?B?Mk9OclV3cFlIZ3FTcG9uRWg3SDN5T09iNmlHelo3UUR6enBDLytsbkhiMDkv?=
 =?utf-8?B?ZUNyRStNY0xtT3E0SENyTk9laGg4d3BEY0U3d1pDZVdmb2x3cTZGRWpvV1Z3?=
 =?utf-8?B?TFZUZmZoUWkwUGljSHVRY3FTeUxNcWU4Z2dvbHJZWER6bWZMejludmhEVUlS?=
 =?utf-8?B?M2FCUFlVU2NZOXJWbFlZNWN0TnhqTDVESEc0UmJZQWhqQndPenBqOGUzN0Np?=
 =?utf-8?B?c05iNXB5SVA0SERRRVpBZkdHM3dKNHBQV2lmRlcrNjBoRGZpV00xT0sycmRS?=
 =?utf-8?B?cGlYTS9zalpxaldYVnMzVnhHNlFCWWUrMzh6M3I5aWdUOGU3SGhBQUJSZDh0?=
 =?utf-8?Q?OY3+SSH30IiTtOQNytPSZak5M?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15c2eceb-9484-43ee-8e20-08dbe1c9eda4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 08:49:19.6435
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: uciI+iV2N0J8Cq+kgq0rT6MlgpkBfmNvdUFaKkDgX+RYxWXD9pUgEdaUu4AoFob6loragYF3G7NeGBNCEJEBTQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9256

On 09.11.2023 19:27, Stewart Hildebrand wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> The main purpose of this patch is to add a way to register PCI device
> (which is behind the IOMMU) using the generic PCI-IOMMU DT bindings [1]
> before assigning that device to a domain.
> 
> This behaves similarly to the existing iommu_add_dt_device API, except it
> handles PCI devices, and it is to be invoked from the add_device hook in the
> SMMU driver.
> 
> The function dt_map_id to translate an ID through a downstream mapping
> (which is also suitable for mapping Requester ID) was borrowed from Linux
> (v5.10-rc6) and updated according to the Xen code base.
> 
> [1] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-iommu.txt
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> v5->v6:
> * pass ops to iommu_dt_xlate()
> 
> v4->v5:
> * style: add newlines after variable declarations and before return in iommu.h
> * drop device_is_protected() check in iommu_add_dt_pci_sideband_ids()
> * rebase on top of ("dynamic node programming using overlay dtbo") series
> * fix typo in commit message
> * remove #ifdef around dt_map_id() prototype
> * move dt_map_id() to xen/common/device_tree.c
> * add function name in error prints
> * use dprintk for debug prints
> * use GENMASK and #include <xen/bitops.h>
> * fix typo in comment
> * remove unnecessary (int) cast in loop condition
> * assign *id_out and return success in case of no translation in dt_map_id()
> * don't initialize local variable unnecessarily
> * return error in case of ACPI/no DT in iommu_add_{dt_}pci_sideband_ids()
> 
> v3->v4:
> * wrap #include <asm/acpi.h> and if ( acpi_disabled ) in #ifdef CONFIG_ACPI
> * fix Michal's remarks about style, parenthesis, and print formats
> * remove !ops->dt_xlate check since it is already in iommu_dt_xlate helper
> * rename s/iommu_dt_pci_map_id/dt_map_id/ because it is generic, not specific
>   to iommu
> * update commit description
> 
> v2->v3:
> * new patch title (was: iommu/arm: Introduce iommu_add_dt_pci_device API)
> * renamed function
>   from: iommu_add_dt_pci_device
>   to: iommu_add_dt_pci_sideband_ids
> * removed stale ops->add_device check
> * iommu.h: add empty stub iommu_add_dt_pci_sideband_ids for !HAS_DEVICE_TREE
> * iommu.h: add iommu_add_pci_sideband_ids helper
> * iommu.h: don't wrap prototype in #ifdef CONFIG_HAS_PCI
> * s/iommu_fwspec_free(pci_to_dev(pdev))/iommu_fwspec_free(dev)/
> 
> v1->v2:
> * remove extra devfn parameter since pdev fully describes the device
> * remove ops->add_device() call from iommu_add_dt_pci_device(). Instead, rely on
>   the existing iommu call in iommu_add_device().
> * move the ops->add_device and ops->dt_xlate checks earlier
> 
> downstream->v1:
> * rebase
> * add const qualifier to struct dt_device_node *np arg in dt_map_id()
> * add const qualifier to struct dt_device_node *np declaration in iommu_add_pci_device()
> * use stdint.h types instead of u8/u32/etc...
> * rename functions:
>   s/dt_iommu_xlate/iommu_dt_xlate/
>   s/dt_map_id/iommu_dt_pci_map_id/
>   s/iommu_add_pci_device/iommu_add_dt_pci_device/
> * add device_is_protected check in iommu_add_dt_pci_device
> * wrap prototypes in CONFIG_HAS_PCI
> 
> (cherry picked from commit 734e3bf6ee77e7947667ab8fa96c25b349c2e1da from
>  the downstream branch poc/pci-passthrough from
>  https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc.git)
> ---
>  xen/common/device_tree.c              | 91 +++++++++++++++++++++++++++
>  xen/drivers/passthrough/device_tree.c | 42 +++++++++++++
>  xen/include/xen/device_tree.h         | 23 +++++++
>  xen/include/xen/iommu.h               | 24 ++++++-
>  4 files changed, 179 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
> index b1c29529514f..5cb84864b89b 100644
> --- a/xen/common/device_tree.c
> +++ b/xen/common/device_tree.c
> @@ -10,6 +10,7 @@
>   * published by the Free Software Foundation.
>   */
>  
> +#include <xen/bitops.h>
>  #include <xen/types.h>
>  #include <xen/init.h>
>  #include <xen/guest_access.h>
> @@ -2243,6 +2244,96 @@ int dt_get_pci_domain_nr(struct dt_device_node *node)
>      return (u16)domain;
>  }
>  
> +int dt_map_id(const struct dt_device_node *np, uint32_t id,
> +              const char *map_name, const char *map_mask_name,
> +              struct dt_device_node **target, uint32_t *id_out)
> +{
> +    uint32_t map_mask, masked_id, map_len;
> +    const __be32 *map = NULL;
> +
> +    if ( !np || !map_name || (!target && !id_out) )
> +        return -EINVAL;
> +
> +    map = dt_get_property(np, map_name, &map_len);
> +    if ( !map )
> +    {
> +        if ( target )
> +            return -ENODEV;
> +
> +        /* Otherwise, no map implies no translation */
> +        *id_out = id;
> +        return 0;
> +    }
> +
> +    if ( !map_len || (map_len % (4 * sizeof(*map))) )
> +    {
> +        printk(XENLOG_ERR "%s(): %s: Error: Bad %s length: %u\n", __func__,
> +               np->full_name, map_name, map_len);
> +        return -EINVAL;
> +    }
> +
> +    /* The default is to select all bits. */
> +    map_mask = GENMASK(31, 0);
> +
> +    /*
> +     * Can be overridden by "{iommu,msi}-map-mask" property.
> +     * If dt_property_read_u32() fails, the default is used.
> +     */
> +    if ( map_mask_name )
> +        dt_property_read_u32(np, map_mask_name, &map_mask);
> +
> +    masked_id = map_mask & id;
> +    for ( ; map_len > 0; map_len -= 4 * sizeof(*map), map += 4 )
> +    {
> +        struct dt_device_node *phandle_node;
> +        uint32_t id_base = be32_to_cpup(map + 0);
> +        uint32_t phandle = be32_to_cpup(map + 1);
> +        uint32_t out_base = be32_to_cpup(map + 2);
> +        uint32_t id_len = be32_to_cpup(map + 3);
> +
> +        if ( id_base & ~map_mask )
> +        {
> +            printk(XENLOG_ERR "%s(): %s: Invalid %s translation - %s-mask (0x%"PRIx32") ignores id-base (0x%"PRIx32")\n",
> +                   __func__, np->full_name, map_name, map_name, map_mask,
> +                   id_base);
> +            return -EFAULT;
> +        }
> +
> +        if ( (masked_id < id_base) || (masked_id >= (id_base + id_len)) )
> +            continue;
> +
> +        phandle_node = dt_find_node_by_phandle(phandle);
> +        if ( !phandle_node )
> +            return -ENODEV;
> +
> +        if ( target )
> +        {
> +            if ( !*target )
> +                *target = phandle_node;
> +
> +            if ( *target != phandle_node )
> +                continue;
> +        }
> +
> +        if ( id_out )
> +            *id_out = masked_id - id_base + out_base;
> +
> +        dprintk(XENLOG_DEBUG, "%s: %s, using mask %08"PRIx32", id-base: %08"PRIx32", out-base: %08"PRIx32", length: %08"PRIx32", id: %08"PRIx32" -> %08"PRIx32"\n",
> +               np->full_name, map_name, map_mask, id_base, out_base, id_len, id,
> +               masked_id - id_base + out_base);
> +        return 0;
> +    }
> +
> +    dprintk(XENLOG_DEBUG, "%s: no %s translation for id 0x%"PRIx32" on %s\n",
> +           np->full_name, map_name, id,
> +           (target && *target) ? (*target)->full_name : NULL);
> +
> +    if ( id_out )
> +        *id_out = id;
> +
> +    return 0;
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/drivers/passthrough/device_tree.c b/xen/drivers/passthrough/device_tree.c
> index 4c35281d98ad..edbd3f17adc5 100644
> --- a/xen/drivers/passthrough/device_tree.c
> +++ b/xen/drivers/passthrough/device_tree.c
> @@ -161,6 +161,48 @@ static int iommu_dt_xlate(struct device *dev,
>      return ops->dt_xlate(dev, iommu_spec);
>  }
>  
> +#ifdef CONFIG_HAS_PCI
> +int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
> +{
> +    const struct iommu_ops *ops = iommu_get_ops();
> +    struct dt_phandle_args iommu_spec = { .args_count = 1 };
> +    struct device *dev = pci_to_dev(pdev);
> +    const struct dt_device_node *np;
> +    int rc;
> +
> +    if ( !iommu_enabled )
> +        return NO_IOMMU;
> +
> +    if ( !ops )
> +        return -EINVAL;
> +
> +    if ( dev_iommu_fwspec_get(dev) )
> +        return -EEXIST;
> +
> +    np = pci_find_host_bridge_node(pdev);
> +    if ( !np )
> +        return -ENODEV;
> +
> +    /*
> +     * According to the Documentation/devicetree/bindings/pci/pci-iommu.txt
> +     * from Linux.
> +     */
> +    rc = dt_map_id(np, PCI_BDF(pdev->bus, pdev->devfn), "iommu-map",
> +                   "iommu-map-mask", &iommu_spec.np, iommu_spec.args);
> +    if ( rc )
> +        return (rc == -ENODEV) ? NO_IOMMU : rc;
> +
> +    rc = iommu_dt_xlate(dev, &iommu_spec, ops);
> +    if ( rc < 0 )
> +    {
> +        iommu_fwspec_free(dev);
> +        return -EINVAL;
> +    }
> +
> +    return rc;
> +}
> +#endif /* CONFIG_HAS_PCI */
> +
>  int iommu_remove_dt_device(struct dt_device_node *np)
>  {
>      const struct iommu_ops *ops = iommu_get_ops();
> diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
> index a262bba2edaf..14ec3f565976 100644
> --- a/xen/include/xen/device_tree.h
> +++ b/xen/include/xen/device_tree.h
> @@ -939,6 +939,29 @@ int dt_count_phandle_with_args(const struct dt_device_node *np,
>   */
>  int dt_get_pci_domain_nr(struct dt_device_node *node);
>  
> +/**
> + * dt_map_id - Translate an ID through a downstream mapping.
> + * @np: root complex device node.
> + * @id: device ID to map.
> + * @map_name: property name of the map to use.
> + * @map_mask_name: optional property name of the mask to use.
> + * @target: optional pointer to a target device node.
> + * @id_out: optional pointer to receive the translated ID.
> + *
> + * Given a device ID, look up the appropriate implementation-defined
> + * platform ID and/or the target device which receives transactions on that
> + * ID, as per the "iommu-map" and "msi-map" bindings. Either of @target or
> + * @id_out may be NULL if only the other is required. If @target points to
> + * a non-NULL device node pointer, only entries targeting that node will be
> + * matched; if it points to a NULL value, it will receive the device node of
> + * the first matching target phandle, with a reference held.
> + *
> + * Return: 0 on success or a standard error code on failure.
> + */
> +int dt_map_id(const struct dt_device_node *np, uint32_t id,
> +              const char *map_name, const char *map_mask_name,
> +              struct dt_device_node **target, uint32_t *id_out);
> +
>  struct dt_device_node *dt_find_node_by_phandle(dt_phandle handle);
>  
>  #ifdef CONFIG_DEVICE_TREE_DEBUG
> diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
> index 8cd4b9a6bfb2..2f081a8cea62 100644
> --- a/xen/include/xen/iommu.h
> +++ b/xen/include/xen/iommu.h
> @@ -27,6 +27,9 @@
>  #include <xen/errno.h>
>  #include <public/domctl.h>
>  #include <public/hvm/ioreq.h>
> +#ifdef CONFIG_ACPI
> +#include <asm/acpi.h>
> +#endif
>  #include <asm/device.h>
>  
>  TYPE_SAFE(uint64_t, dfn);
> @@ -222,7 +225,8 @@ int iommu_dt_domain_init(struct domain *d);
>  int iommu_release_dt_devices(struct domain *d);
>  
>  /*
> - * Helper to add master device to the IOMMU using generic IOMMU DT bindings.
> + * Helpers to add master device to the IOMMU using generic (PCI-)IOMMU
> + * DT bindings.
>   *
>   * Return values:
>   *  0 : device is protected by an IOMMU
> @@ -231,6 +235,7 @@ int iommu_release_dt_devices(struct domain *d);
>   *      (IOMMU is not enabled/present or device is not connected to it).
>   */
>  int iommu_add_dt_device(struct dt_device_node *np);
> +int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev);

This doesn't look quite right without #ifdef CONFIG_HAS_PCI around it,
but I realize we already have another use of struct pci_dev here in a
function declaration without forward-declaring the struct. IOW it
looks okay now, but will likely bite us later on.

> @@ -247,8 +252,25 @@ int iommu_remove_dt_device(struct dt_device_node *np);
>  
>  #define NO_IOMMU    1
>  
> +#else /* !HAS_DEVICE_TREE */
> +static inline int iommu_add_dt_pci_sideband_ids(struct pci_dev *pdev)
> +{
> +    return -ENOSYS;
> +}
>  #endif /* HAS_DEVICE_TREE */

This wants blank lines added, to be symmetric with the tail of the #if
part.

> +static inline int iommu_add_pci_sideband_ids(struct pci_dev *pdev)
> +{
> +    int ret = -ENOSYS;
> +
> +#ifdef CONFIG_ACPI
> +    if ( acpi_disabled )
> +#endif
> +        ret = iommu_add_dt_pci_sideband_ids(pdev);
> +
> +    return ret;
> +}

Independent of the earlier remark, this surely wants enclosing in
#ifdef CONFIG_HAS_PCI. At which point the inclusion of acpi.h also
wants to be (further) restricted to just that case. (That said, acpi.h
could of course do with itself dealing with CONFIG_ACPI and supplying
acpi_disabled as a #define when that setting is off.)

I also continue to disagree with uses of ENOSYS in situations like this.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 08:50:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 08:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629974.982563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NDe-00065Z-8X; Fri, 10 Nov 2023 08:50:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629974.982563; Fri, 10 Nov 2023 08: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 1r1NDe-00065S-5Z; Fri, 10 Nov 2023 08:50:26 +0000
Received: by outflank-mailman (input) for mailman id 629974;
 Fri, 10 Nov 2023 08: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=rc0j=GX=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r1NDc-000648-UQ
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 08:50:24 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2fa19f17-7fa6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 09:50:23 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.162.20.198])
 by support.bugseng.com (Postfix) with ESMTPSA id 47CFB4EE0744;
 Fri, 10 Nov 2023 09:50:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fa19f17-7fa6-11ee-98da-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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] xen/string: address violations of MISRA C:2012 Rules 8.2 and 8.3
Date: Fri, 10 Nov 2023 09:50:13 +0100
Message-Id: <3e9b167738ade3f5249700d61591af95053ae6bc.1699605505.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names to address violations of
MISRA C:2012 Rule 8.2.

Resolve mismatches between parameter name "count" used in
"xen/lib/mem{cpy,move,set}.c" and parameter name "n" used in
"xen/arch/x86/string.c" to address violations of MISRA C:2012 Rule 8.3.

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v4:
  - description improved.
---
Changes in v3:
  - applied changes discussed in the following thread
    https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg00318.html
Changes in v2:
  - memset() adjusted.
---
 xen/include/xen/string.h | 42 ++++++++++++++++++++--------------------
 xen/lib/memcpy.c         |  6 +++---
 xen/lib/memmove.c        | 12 ++++++------
 xen/lib/memset.c         |  6 +++---
 4 files changed, 33 insertions(+), 33 deletions(-)

diff --git a/xen/include/xen/string.h b/xen/include/xen/string.h
index b4d2217a96..bd4a8f48e9 100644
--- a/xen/include/xen/string.h
+++ b/xen/include/xen/string.h
@@ -12,27 +12,27 @@
 #define strncpy __xen_has_no_strncpy__
 #define strncat __xen_has_no_strncat__
 
-size_t strlcpy(char *, const char *, size_t);
-size_t strlcat(char *, const char *, size_t);
-int strcmp(const char *, const char *);
-int strncmp(const char *, const char *, size_t);
-int strcasecmp(const char *, const char *);
-int strncasecmp(const char *, const char *, size_t);
-char *strchr(const char *, int);
-char *strrchr(const char *, int);
-char *strstr(const char *, const char *);
-size_t strlen(const char *);
-size_t strnlen(const char *, size_t);
-char *strpbrk(const char *, const char *);
-char *strsep(char **, const char *);
-size_t strspn(const char *, const char *);
-
-void *memset(void *, int, size_t);
-void *memcpy(void *, const void *, size_t);
-void *memmove(void *, const void *, size_t);
-int memcmp(const void *, const void *, size_t);
-void *memchr(const void *, int, size_t);
-void *memchr_inv(const void *, int, size_t);
+size_t strlcpy(char *dest, const char *src, size_t size);
+size_t strlcat(char *dest, const char *src, size_t size);
+int strcmp(const char *cs, const char *ct);
+int strncmp(const char *cs, const char *ct, size_t count);
+int strcasecmp(const char *s1, const char *s2);
+int strncasecmp(const char *s1, const char *s2, size_t len);
+char *strchr(const char *s, int c);
+char *strrchr(const char *s, int c);
+char *strstr(const char *s1, const char *s2);
+size_t strlen(const char *s);
+size_t strnlen(const char *s, size_t count);
+char *strpbrk(const char *cs,const char *ct);
+char *strsep(char **s, const char *ct);
+size_t strspn(const char *s, const char *accept);
+
+void *memset(void *s, int c, size_t n);
+void *memcpy(void *dest, const void *src, size_t n);
+void *memmove(void *dest, const void *src, size_t n);
+int memcmp(const void *cs, const void *ct, size_t count);
+void *memchr(const void *s, int c, size_t n);
+void *memchr_inv(const void *s, int c, size_t n);
 
 #include <asm/string.h>
 
diff --git a/xen/lib/memcpy.c b/xen/lib/memcpy.c
index afb322797d..5476121c0d 100644
--- a/xen/lib/memcpy.c
+++ b/xen/lib/memcpy.c
@@ -8,16 +8,16 @@
  * memcpy - Copy one area of memory to another
  * @dest: Where to copy to
  * @src: Where to copy from
- * @count: The size of the area.
+ * @n: The size of the area.
  *
  * You should not use this function to access IO space, use memcpy_toio()
  * or memcpy_fromio() instead.
  */
-void *(memcpy)(void *dest, const void *src, size_t count)
+void *(memcpy)(void *dest, const void *src, size_t n)
 {
 	char *tmp = (char *) dest, *s = (char *) src;
 
-	while (count--)
+	while (n--)
 		*tmp++ = *s++;
 
 	return dest;
diff --git a/xen/lib/memmove.c b/xen/lib/memmove.c
index 1ab79dfb28..99804352e6 100644
--- a/xen/lib/memmove.c
+++ b/xen/lib/memmove.c
@@ -8,23 +8,23 @@
  * memmove - Copy one area of memory to another
  * @dest: Where to copy to
  * @src: Where to copy from
- * @count: The size of the area.
+ * @n: The size of the area.
  *
  * Unlike memcpy(), memmove() copes with overlapping areas.
  */
-void *(memmove)(void *dest, const void *src, size_t count)
+void *(memmove)(void *dest, const void *src, size_t n)
 {
 	char *tmp, *s;
 
 	if (dest <= src) {
 		tmp = (char *) dest;
 		s = (char *) src;
-		while (count--)
+		while (n--)
 			*tmp++ = *s++;
 	} else {
-		tmp = (char *) dest + count;
-		s = (char *) src + count;
-		while (count--)
+		tmp = (char *) dest + n;
+		s = (char *) src + n;
+		while (n--)
 			*--tmp = *--s;
 	}
 
diff --git a/xen/lib/memset.c b/xen/lib/memset.c
index e86afafd02..48a072cb51 100644
--- a/xen/lib/memset.c
+++ b/xen/lib/memset.c
@@ -8,15 +8,15 @@
  * memset - Fill a region of memory with the given value
  * @s: Pointer to the start of the area.
  * @c: The byte to fill the area with
- * @count: The size of the area.
+ * @n: The size of the area.
  *
  * Do not use memset() to access IO space, use memset_io() instead.
  */
-void *(memset)(void *s, int c, size_t count)
+void *(memset)(void *s, int c, size_t n)
 {
 	char *xs = (char *) s;
 
-	while (count--)
+	while (n--)
 		*xs++ = c;
 
 	return s;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 08:54:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 08:54:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629981.982573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NHE-0006y0-Os; Fri, 10 Nov 2023 08:54:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629981.982573; Fri, 10 Nov 2023 08:54: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 1r1NHE-0006xt-Kp; Fri, 10 Nov 2023 08:54:08 +0000
Received: by outflank-mailman (input) for mailman id 629981;
 Fri, 10 Nov 2023 08: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=jLlG=GX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r1NHC-0006wa-Lv
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 08:54:06 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0615.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b353fb93-7fa6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 09:54:04 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8716.eurprd04.prod.outlook.com (2603:10a6:20b:43f::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.7; Fri, 10 Nov
 2023 08:54:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.010; Fri, 10 Nov 2023
 08: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: b353fb93-7fa6-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=R0MDxaTmCTuAKknKEW7lhauFvb2VtCvTZMv649XWL6bXrhlh0TNMnABtxr6Fy5KBoi0AmCfFbxGLdFlCRsRilKqK7+2K9Y1NVi+92dT+j/Me4iumUtd4TAdHN4HTbi6MiDFxadiktxofH/sAuYpV0ujclSDRJmAyC33sVvj8Fw50LQH0+roTlZoToeFdPK50cyKAMrVRctSEJeJnAuxx1yTNoGFAilVHO8wMjrr2mNcQu35SkAzwSn2vxINy3AsiFz3IH+bviwafZIOpI5E4rTw1ulIXqaGEaJyxWSM0DzWGxEgbjksfQxh6ujdPiLch8FuMYUAOGKLVYXT+wgOu6A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+uwS8EQ9CkcWH+n9KkBP16NPb+wt9gGIoA9Hvva+wVs=;
 b=EksbzfQMBnAoeTpgEhkYR9kBwmUT4LOmf4dRGxRPoxsPn2wgr4LyPmCqDi2ucj0OfwJK2TBIFdvPljR0asUvZeRDiCzpIzl448WzsTvW0WQ0gHR69gMRD5ULMCIDO3hOIXi+MoO1mU1pi2288SRmflLLH/sJho5mXU9aMUZ5AwJy+IIsDx6GyrvqKbsS9cnS1B8VK4jCx8SBu9f73i8bjspfy2TBAd+KDxGESUgGyhoYj5xVQCJ1JhtreMQOxXLhm0VUw+6+7QPvDbKuewUrlboxr0zyt4qL71p0Zq2y02Demxfoae/fjnaAt6e6d8LaDWjxTYXbzrFBmlNV3CUTwQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+uwS8EQ9CkcWH+n9KkBP16NPb+wt9gGIoA9Hvva+wVs=;
 b=WyXyWbXwk+gQ1ucmLiCLaZ5ik2KCxcspJGQJYaG5d1tObfu6YIknzveJcYeLKJW86Yn40/IVtzLUoVRYHtyOydsIw2LmaVkNgvZe3x7oAml0ocmBpYQsnoRtwM362/ac7lgKnlLmcTAjaNrL7EebufKNUoSt0guNR3wBOVRUzrm97QjcSurxgCkHblmlLWHn8Yiv+qPCprXLtuoy0NN1wqzrh9vNzgUUdHKbY5hY43UrHtrPdG4zG0O9EJTCuGOR3rz32GP2wiD/C+kJoLpPF8+U9KlaFQ8R1+gRkepcpIu+mrWHy8B9XWRNj1veiROG6Zrka+8IlMihsapWV87Gdg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <119e2bf6-048c-e55e-af9c-4addb1d5c32c@suse.com>
Date: Fri, 10 Nov 2023 09:53:58 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v6 8/9] xen/arm: enable dom0 to use PCI devices with
 pci-passthrough=no
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <20231109182716.367119-1-stewart.hildebrand@amd.com>
 <20231109182716.367119-9-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231109182716.367119-9-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0182.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8716:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c849e94-8cd9-4f20-24e1-08dbe1ca95bd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	au51vuzakzc00+RPQTovh8HABdAviaylMwi7ueV/rVCiUpLhhPD+/cn0SEhqYyMB4TkVRA9sX91WmGPGoNNz8pO6PUc8W/EP3WzMpPx8dnt10MKUCOXcW416lYLrjSkR85bY+PE2jIdyqvGb4KVUZUOSYbtjfBvZ9AGgR2FJM5DGzpFuodYlp6kXsvgQpFWFKOOUjX/Bd1uMjeSKfMmlltXa/VLVZJNys0wAVSgAAdKe/kzZhFDzDipDBA9FGapDJB6uj91O0iDHiigv/B0t3mZ50j2bioYuOZ8Mh6I2UBnkWjH7gR0yTtSBYMVGZRDhLrQtUcP/oqbHOh+xnjSa9MbZczMAZ+Y252qxGZcq6/k4RRcN/gx5jQqIwdeBYgMUyqmyc9DPInpK/bHf37zaBVh3tRENoLIQPdTzSC8lX0bmqYatd/qX3IUjdzIJYZzCa6l6c3+wmNjuAuRvS3Sb0JUCulP1KFnxfmdQt7E3VSvmpScAXVoociAFAomcWYanWLVA3X//RbPDTu4wngvkxIrWFnsD9WrGGYwYPlKPEDXIAnSIGcZgbdAtnxAj4n7KbYiFGGV4QUH0x6I/5xUd3wjFfK/JWmhIcC+x9jMzLEw95o4vZVPryeiZagRK5s1VNq5ukY1r5gmN9KeWBX143w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(366004)(376002)(396003)(346002)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(36756003)(8936002)(26005)(2906002)(7416002)(66556008)(54906003)(4744005)(6916009)(316002)(66476007)(66946007)(8676002)(4326008)(6486002)(53546011)(5660300002)(478600001)(6666004)(6506007)(2616005)(6512007)(31686004)(86362001)(38100700002)(31696002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bnYwZk5LcElXa0N5U01sKzRpbDI3QVFxUkdoTnRBMW80b3IybWxtMHZxZE1k?=
 =?utf-8?B?L1Vad3Yrc2g1N01PSnRlNWk2TFhidFFEdkQ1ZEVuTHRaek1hd0Y5YXIrdDFl?=
 =?utf-8?B?SmdEWUE3UEdMM1MvYVM1NjJwdmpRQ3pLWG9TUG93aENIRUxhNmVKZGtKeHlN?=
 =?utf-8?B?dzNMMURZQ2tpTndtTnVhUGhmOVg5T2tzcnI2NEJBekt6VWZhRXdyMTl2VjlR?=
 =?utf-8?B?M25mNGlkK0VtODEzMEhKQTVQRk8yQlNOTk8vRXJySzdXUlZVRVE5MmFMTWVE?=
 =?utf-8?B?ZGdwSWZKV1k2M3lTbGhoalFMMllzaE1ZRjBNR0ZSVldTRVU5cSs2WjQxWVRp?=
 =?utf-8?B?dHJxd0tLMnhNblhEblJ0T01XaDBhZFNCbmlXcUZDRFRaSzhyTEQ1aVBCbmFG?=
 =?utf-8?B?eE1lVFdKd2pnKys1RTdjcVZXYW1CL3phRUJIUE02d0dsVmUreldxODBsbEdO?=
 =?utf-8?B?MGZSRHVUL3FmWXdkU0dQYTE0ZE9jcVFFT09GL3BwM2RTNGxQa0YvVnFyVGlF?=
 =?utf-8?B?ME9jdFhYOTdVUGpKZ3NEczFxWlRUZ2dUa1l3cDkveWxYVFZHNG5VLzNRMGN6?=
 =?utf-8?B?cDVYSllKZXJCS2ppcjR1d3hDUXM3YndVVUR3c05ZdUV6RGFsRWVuRlRUUVFF?=
 =?utf-8?B?SkFWTzZxeE9kamhmd0NOeks4cVBjOGJQeE9WOGdEYW01NHZ0TmprSWpDTDBF?=
 =?utf-8?B?S2wvWWU0UEVUOWNaREdYbzZzUnpUdndXYzdISlFSc3pNSzN0OC9hdXVOdjJh?=
 =?utf-8?B?TVNZNnJ0QVluRVN2Zm05eEViTUY0T3l2d1BZTnkyZFo4MXorUndCek5kYkwz?=
 =?utf-8?B?RkxRWVpKYjRheThheDBid2hSZTJlZjc0aDdTaENiTDVNeHlMQmZHMkQxeHF5?=
 =?utf-8?B?NmVkMDVSNlc1Y2kyV1IxUUJOY0ZlTG5qWFp6YXlXZmFwSnFRbmRQSnN0aXFN?=
 =?utf-8?B?TDZNeTh2NW51TUlpajN1Y2Q0bVNmbmh3d1lHaDRQTUVoUnlJT3Y3VUNBZloy?=
 =?utf-8?B?UkNZV3NEejBlc1VNUFI5VjNiVGFjcUlZNE9VY0pMRlJ6LzhzRVNCL3dyYW1p?=
 =?utf-8?B?ZmJXZFZiYlJYWm1lRUttM1pXV0lUNFNpV29tUUZLSjFJT3dTYTlKZ3haOExq?=
 =?utf-8?B?MWhaVmpyRCtZOEpUNVQrZ3FDbGFNMnI5QVk3Q3RZZzBLUFBKaG1SZll0ZlBn?=
 =?utf-8?B?SzVVQ2V5TE1ONmxvakI0U0RtZ1BtaEhRLzJsZHhheDlEdG9LZ293TzRXOTEx?=
 =?utf-8?B?T0hJVEtkWGRNcWdTUWZ1Y09CUEwxWndKd1hIaHVMR2VEWEpqM0JrcUVjU2Zn?=
 =?utf-8?B?eTFrRC94VjBXT3V2L0NQa0NCQUczVnRVbmkzY2FhL0FOVjlaRlVrbmMybEJS?=
 =?utf-8?B?ZUt2SDZ6QldwUDR5SC80QUhQOVNoUklnclFxMjRaU1BlM0ZRNm1IVFZlMCsr?=
 =?utf-8?B?Z3NPeHo3enpNT1FrUWZ4UWZNQ3BHNHNkc0wraEwvS3NybWZ2T3NRbTdHQVB1?=
 =?utf-8?B?M2QzUmN6OWpnYTdpNVVGSnMyZFNCMGswQkc0R2FQNDRUZ2w1dEllRVJrWHlx?=
 =?utf-8?B?akdnTllBZ1I3Y05BbnRGVkxQWmxBNUdyY1ZhZW52d01neTIybzN3Q2xQMmlv?=
 =?utf-8?B?N1dJeG1VRUxqd29mR010YjBCSnRtMkZVcW9mYXF0bUZhQ3hWbkpuZnpzRXZU?=
 =?utf-8?B?cmo5M0I5aWErRUlpUEwwendQUDBmaklidEd1anp4MWlNeHhsRCtGUExMWTF6?=
 =?utf-8?B?cWUvQkU3N28zdjg1aXNVMVJkcHBwRkNhcnE5alpLVVo2WnJWZ2greXdRVytv?=
 =?utf-8?B?SXV5RDg2Njg3dm16UWo1Y1ZLNklTNkJnOGx5dlZidkpibVd1YnhIem8yL2V4?=
 =?utf-8?B?c3FublQ2T0hDNEFvSGJCbzdNQk9aTnZ1R0F6RWYwM25oejJPQlZaYlhEcDNZ?=
 =?utf-8?B?ZUFPbEhjUk1nNkRPSEVHbkJHRmFILzhJald4UHlCY2lGT3NBdjMyK3ltTUhM?=
 =?utf-8?B?MnliQlBTRUZpOXFPNmYyWjZNWGxqTCtxTnZCT3FrYkhVQnFWSTZFZ0M0bW1M?=
 =?utf-8?B?WWx4TU03TjFpOHZyTEVuMHZYNmc3UnBRNlU3NUJiYWJyY0V1MTNPM3liK1hC?=
 =?utf-8?Q?UiMXf9mz3xUnox0wteAs+HYeI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c849e94-8cd9-4f20-24e1-08dbe1ca95bd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 08:54:01.5924
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4016xaNKZMWPoFIjCqaIOyNOE2LkK8Nni40c8BtEHIKte8/QMlMqW50rFg0T4CXUNjooH65pGbbvg6YllneiMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8716

On 09.11.2023 19:27, Stewart Hildebrand wrote:
> --- a/xen/drivers/pci/physdev.c
> +++ b/xen/drivers/pci/physdev.c
> @@ -18,9 +18,6 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          struct pci_dev_info pdev_info;
>          nodeid_t node = NUMA_NO_NODE;
>  
> -        if ( !is_pci_passthrough_enabled() )
> -            return -EOPNOTSUPP;
> -
>          ret = -EFAULT;
>          if ( copy_from_guest(&add, arg, 1) != 0 )
>              break;
> @@ -56,9 +53,6 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      case PHYSDEVOP_pci_device_remove: {
>          struct physdev_pci_device dev;
>  
> -        if ( !is_pci_passthrough_enabled() )
> -            return -EOPNOTSUPP;
> -
>          ret = -EFAULT;
>          if ( copy_from_guest(&dev, arg, 1) != 0 )
>              break;

This renders is_pci_passthrough_enabled() and Arm-only construct. IOW the
x86 definition of the function should then also be removed, for ending up
dead otherwise.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:02:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:02:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629986.982583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NOy-0000mm-LR; Fri, 10 Nov 2023 09:02:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629986.982583; Fri, 10 Nov 2023 09: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 1r1NOy-0000mf-Hv; Fri, 10 Nov 2023 09:02:08 +0000
Received: by outflank-mailman (input) for mailman id 629986;
 Fri, 10 Nov 2023 09: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=TCxK=GX=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r1NOx-0000mX-Gw
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:02:07 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7eab::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0cb67dc-7fa7-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 10:02:05 +0100 (CET)
Received: from DS7PR05CA0006.namprd05.prod.outlook.com (2603:10b6:5:3b9::11)
 by DM4PR12MB7552.namprd12.prod.outlook.com (2603:10b6:8:10c::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 09:02:01 +0000
Received: from CY4PEPF0000EE3A.namprd03.prod.outlook.com
 (2603:10b6:5:3b9:cafe::2c) by DS7PR05CA0006.outlook.office365.com
 (2603:10b6:5:3b9::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.10 via Frontend
 Transport; Fri, 10 Nov 2023 09:02:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3A.mail.protection.outlook.com (10.167.242.14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Fri, 10 Nov 2023 09:02:00 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 10 Nov
 2023 03:01:59 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Fri, 10 Nov 2023 03:01:58 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0cb67dc-7fa7-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Tk+7GEV8oNjnSI0CpgJewuKXhNJgolm5u1Ii1aa+/wMdZ3rlNgVfB4+69LJLsDr12BoX7jJRBlYmLRUfpppk82hakZS0tYrJP4W7IyTEDPhQF7adFH36BcnpPcD0HevzwtcbCqY3qCGj8gldHnZ8bSml7EmGoMn9txPEqezJ9g1dmAE0mgxZTJA9Gjvhj+yuxi/BTi+3k0tnxNQ1+afIbh4Gz9c5jUfr0wv8oF37AUjLLBzTLFYHgLNt+khu6S5KC0drvKBawYfoLmanGmFRWXPFBZAoXInjE4fzjxZ501OUQhN3zhg/o60r4NkSzpNtenYgqIl+YU/h8HO+ATJQkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wOW6trCc8zTnHRP40ysC1hkMyaXlqA9mm0gd9HxSMNo=;
 b=e7NXX+fsxT1R7QWTKCeyV7f+Hs0D5d0h7OY/iBqPTAIZudFCOwg7O7xc1c8J0gtSOg7gw5ZRbJLM5d66rP8EbG6iMMJsicb+VyXXTx0LDZ939QQNiIw0iCKbKaO5H/QrXIUMqLAyfQr11Hk/5FTyVAh0Io+VEbUPpI0b1ViRrC0hugwgzDJ5bOB9JCHR5tz5sgBl1okn+brGfkPDFZyP6w5BnnrIIyyNwtIJaVKJtRHT5ptLkrQgd1RI5JGm9qwUj2fv+jOOYk8T3FlH+9ntXxrPw93tWqdBrjH//wxWvB1m1w2r9QsRCgNLrZtX4Fyggt1nmwOP3XpsXGlB/PktcQ==
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 (0)
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=wOW6trCc8zTnHRP40ysC1hkMyaXlqA9mm0gd9HxSMNo=;
 b=VcJcfp2fJl0DgbiCZE3as2ZpwPxZ777sADhCN6ouHkUmcwhQ+vvEYqYhWbOFbA7lnvOJ4tGdYw+lil+wz+pxJDydqOMQsG1/bFzqqbyNOpotEvFApKS6cIbWe5MA1hJoecmOls1apyERJEuj1WnSc1gtmRRJ5CYNhR5dH9EZaNI=
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: <43a1c5c8-6243-4912-bf3f-f3e35b504271@amd.com>
Date: Fri, 10 Nov 2023 10:01:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/5] arm/dom0less: introduce Kconfig for dom0less
 feature
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, <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>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-6-luca.fancellu@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231109090615.3878767-6-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3A:EE_|DM4PR12MB7552:EE_
X-MS-Office365-Filtering-Correlation-Id: 2224af27-bb8a-485e-7e69-08dbe1cbb368
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8hM69RxP8gyWztDSDJ4DokB3O+KCc7NKAVb+oXA5lH4jnIQhmbItZYOEmrKE7HqigMFdppUl4Bj8r0KGgTOV8D1eHEbBmfC+Y55wysRc1iSckp0JW9NdKuzYMGbhZO3IZ6q2cqHBiKNC3lnrtENTYSVcwPKlU1u0lZFJPZPohBG16vsk9jmAEBqTAZqjPskAeR7SViDT30l7z7eQcPPukubU3d6aEuuJYs1EAb8DaSzD4Rlt9+T6PSzmNjn7YLIPAxUirlh5vXnUgRd/lpRGG5L7EHR7MWhMLpdpHR7ye23nyUCR3O9DsmMUS+s9SgceEXmYiMC79d0UMr3JX2hYJycInEU4iAsqIyizweT+i1Bu0dD8YYGFLss1+onfxCIwR+xrlYU1gTql3Iq5TkYp35Mxv+B97AJv2pJip7l1aulwHpovIGhxQawXBTtPNmUPUibL8qmS7KLSfVwdktUIWYZbAqSFnVtni3rPG/q2ZI0gNHol1s/WXTjvAhLPYLEe2zTPY5il/lUy/utNng6ZGrLIeMoh6zXoPr1kTeo2lODvvFWLJDWbKwtOOS+D/JcXEq8TUYoXnK7WyqAuLLVVz0RiDD9rxIsOmjzgOzqokqL+t8dIJ0V09b92MyxsxSnU/5WFUCJFrp1NZtwj26iwvLQ22171Gb3ZAXW1ypf5YJEqnKWvWj3s69l6TYOUTYq/lF/ur3j4l0xMCDc+GF9E2tOAFwUh8DWuZogF0mkGOyJRNvG4W9UXNcwDsCNe/BUTy3BEcDTRDrRisbdOZ62PTXg6i3BV6L8wd2+c9zxVADwCkpctsbH1a/zA6tkOmlUekhB9KUkol2TRJNywYp+6+TrHTVwDlj384RSKR1NFZmcrr4vd9xw2W1nYZOFoOeXf
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:(13230031)(4636009)(376002)(346002)(136003)(39860400002)(396003)(230273577357003)(230173577357003)(230922051799003)(82310400011)(64100799003)(1800799009)(451199024)(186009)(40470700004)(46966006)(36840700001)(40480700001)(36860700001)(47076005)(26005)(8676002)(4326008)(356005)(81166007)(83380400001)(478600001)(31686004)(53546011)(8936002)(426003)(2616005)(336012)(316002)(70586007)(54906003)(70206006)(110136005)(16576012)(86362001)(31696002)(36756003)(41300700001)(5660300002)(40460700003)(82740400003)(2906002)(44832011)(32563001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 09:02:00.5918
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2224af27-bb8a-485e-7e69-08dbe1cbb368
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:
	CY4PEPF0000EE3A.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7552

Hi Luca,

On 09/11/2023 10:06, Luca Fancellu wrote:
> 
> 
> Introduce a Kconfig for the dom0less feature, enabled by default,
> to be able to choose if the feature should be compiled or not.
> 
> Provide static inline stubs when the option is disabled for the
> functions externally visible.
> 
> Use the new Kconfig to remove dom0less DT binding from the efi-boot.h
> code when the Kconfig is not enabled, do the same for
> allocate_bank_memory inside domain_build.c that currently is used
> only by dom0less-build.c module, but it's kept there provisioning
> its usage by dom0 code.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> Changes from v2:
>  - protect allocate_bank_memory with the new Kconfig
> ---
>  xen/arch/arm/Kconfig                      |  9 +++++++++
>  xen/arch/arm/Makefile                     |  2 +-
>  xen/arch/arm/domain_build.c               |  2 ++
>  xen/arch/arm/efi/efi-boot.h               |  4 ++++
>  xen/arch/arm/include/asm/dom0less-build.h | 12 ++++++++++++
>  xen/arch/arm/include/asm/domain_build.h   |  2 ++
>  6 files changed, 30 insertions(+), 1 deletion(-)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 0045a3762d86..0399f2faf734 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -88,6 +88,15 @@ config GICV2
>           Driver for the ARM Generic Interrupt Controller v2.
>           If unsure, say Y
> 
> +config DOM0LESS_BOOT
> +       bool "Dom0less boot support" if EXPERT
> +       depends on ARM
You're in the Arm Kconfig, so there should be no need for this dependency (it is implicit).

Apart from that, we have 2 features: static mem and static shmem that are only meant for dom0less domUs.
Shouldn't we make them dependent on DOM0LESS_BOOT? Otherwise, what is the purpose of selecting them
with DOM0LESS_BOOT=n?

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:06:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:06:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629990.982592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NSw-0001nZ-59; Fri, 10 Nov 2023 09:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629990.982592; Fri, 10 Nov 2023 09: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 1r1NSw-0001nS-2Z; Fri, 10 Nov 2023 09:06:14 +0000
Received: by outflank-mailman (input) for mailman id 629990;
 Fri, 10 Nov 2023 09:06: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=fVdC=GX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r1NSu-0001lO-OA
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:06:12 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63c4b521-7fa8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 10:06:10 +0100 (CET)
Received: from DB8P191CA0013.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::23)
 by GV1PR08MB7873.eurprd08.prod.outlook.com (2603:10a6:150:5c::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.28; Fri, 10 Nov
 2023 09:06:04 +0000
Received: from DB5PEPF00014B95.eurprd02.prod.outlook.com
 (2603:10a6:10:130:cafe::ba) by DB8P191CA0013.outlook.office365.com
 (2603:10a6:10:130::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.21 via Frontend
 Transport; Fri, 10 Nov 2023 09:06:04 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B95.mail.protection.outlook.com (10.167.8.233) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Fri, 10 Nov 2023 09:06:04 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Fri, 10 Nov 2023 09:06:04 +0000
Received: from 397f7efb002d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7766C469-3FBF-448F-A2F8-052E38DC958A.1; 
 Fri, 10 Nov 2023 09:05:57 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 397f7efb002d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 10 Nov 2023 09:05:57 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAXPR08MB7528.eurprd08.prod.outlook.com (2603:10a6:102:24e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.27; Fri, 10 Nov
 2023 09:05:55 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f6b:d51:7aa3:ad16]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f6b:d51:7aa3:ad16%6]) with mapi id 15.20.6977.019; Fri, 10 Nov 2023
 09:05: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: 63c4b521-7fa8-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=FmqkU4y0EaXRz6K9LtK+eqZB5V0jQdYCrEBgM8H7UjbAwvhKCTH0cKgUfDMye9jqp/YIwObXGIGuABA1YTnNgIpBM3zy7IK6s4UhtEesaoXOUl9O/iBirf/4lTX4astJKI0Wh+KNL24nA9f8pnraULdaz+L2JvJnvsADdMmpOoCYE+iTP47Kb/ss8N/8FeS3gDM8wso4FQVQnZA7KtedjsdDDxUqaK7Yl6uuWKVdPbZlfU9UWyzRtC3qWDpW23f6WGHHEjxRN1gWhC46iMaNIoLNU/xAVGid7nIediWlNBSSAwvzgy1Wp6S9VOAesFGMo8lSV9J3bMLnFyDJvgaN3A==
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=8KwrrXqSUCORrwez7T+hnBNJJy8Eq5YVwcKK7KyiIQ4=;
 b=G9i7ssttYwzwgxj/LecHxuoEMCVyirgkRCzbcSp2ljS74qzzxvT+LrBQu3S1poecwXF51k2jFgGoynF1rZtgUAPikP58Vk1BQrusZQRncu3SA5+/SAYSan1ebEiJV/p67ewVB2HMoStkYvtYejPpKL6JhErFroLhZ5aeL1PcqFpumOXEJpi/QqFEhmQOh6ym81+UzicyUeLnwPv9H7SuiajbByTEPEI1bbcKlr1mK0mLcBNmLQd3ZBUi81RB8HQjHO/2VxpufgM1aI+/gsZLEQEGZ5y6AIJsl5LuyLAoXzS5VDyJl+GaQ+Ih/2XiOZ4MtGuxwowAbCmKwwd1m+3b4g==
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=8KwrrXqSUCORrwez7T+hnBNJJy8Eq5YVwcKK7KyiIQ4=;
 b=FiNaYY2v/Fs8mcDkC0J2YTcNHXim2kv21IiD1epYOZSVADBz+Uss3m6khq2Yz/d85lVVbTF2HtOx5cAhQcrXGiu4+PrZv+uqBjJHY8jInxRjXYueJ+E2fU/K+iVC1VxhneZzFSPYMD8asPEXzlrT0gFOJJxZqs3VT8hwZuoiC2Q=
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: 0a63a391da8aff7e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CZzhELc5xnohFXRj8pPag1b1SqVf03LdxD7smsl0Z9jwiqmmW3x5eD448lpERCRDZSKXT5VE8IOSANuT939fz77AGhxzpJnRq8nSuEpnsiaajZdOjh8pypWgfTQElCXOrpkw79ua7MmK7EOoxLkySERY0m/P5vFXMOYJdmqCy5yGLdN5595JZFx3eWXufKTsp18RS+OxyHvfL4ANutn+bD7913eXA7Bv5tYGEeb4fErCN6gQi19aqBkKS8Jq1oWy/DQ0pySOPssdwSJ4kLymwK2owiTMj2bOOSN9EW2+Hr2xpaL9xs86KuVnDVtZOEC/BUyHTrEdi5A/425iL7fGSA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8KwrrXqSUCORrwez7T+hnBNJJy8Eq5YVwcKK7KyiIQ4=;
 b=EYd4yelbdQu40lsUdIfodvn6Lb19oczTyr50AaAVypr0QVSQo2m8NhjQiXMaeQMNVZV9W22lVvb2ZjKAXNRNHOm6b5F7/jiuM7WkZFEmHt3IFXjphMXMlsUIfoAqoMrzWr2rrNFWq2z8M0NFYaFFe42xVBuQjjIpZt+m1cuvRn+dchBDFFfHirLNnSp0jb5Q1F0ezza+cnDI6CXfinJDaBNkURYnESZ8Yghv9X733s7achhyADCM3jVlxksD/KY8h00AGacSJb8r2aNK8qGpYsAcD9Rd+QP/B8yo9jY1xDnI2F1Nnk6zm3oAzQyg7lABij1XhOTU2ah5vLQ0BzOPHQ==
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=8KwrrXqSUCORrwez7T+hnBNJJy8Eq5YVwcKK7KyiIQ4=;
 b=FiNaYY2v/Fs8mcDkC0J2YTcNHXim2kv21IiD1epYOZSVADBz+Uss3m6khq2Yz/d85lVVbTF2HtOx5cAhQcrXGiu4+PrZv+uqBjJHY8jInxRjXYueJ+E2fU/K+iVC1VxhneZzFSPYMD8asPEXzlrT0gFOJJxZqs3VT8hwZuoiC2Q=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 v3 5/5] arm/dom0less: introduce Kconfig for dom0less
 feature
Thread-Topic: [PATCH v3 5/5] arm/dom0less: introduce Kconfig for dom0less
 feature
Thread-Index: AQHaEuwVAcRvSKcty0WG4JBMWUF0b7BzQ0WAgAABDgA=
Date: Fri, 10 Nov 2023 09:05:54 +0000
Message-ID: <9FE35A69-2EEF-4098-8F9E-B373D813AB47@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-6-luca.fancellu@arm.com>
 <43a1c5c8-6243-4912-bf3f-f3e35b504271@amd.com>
In-Reply-To: <43a1c5c8-6243-4912-bf3f-f3e35b504271@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAXPR08MB7528:EE_|DB5PEPF00014B95:EE_|GV1PR08MB7873:EE_
X-MS-Office365-Filtering-Correlation-Id: bcfb98f9-fcdb-43fd-d2a6-08dbe1cc447e
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:
 PhIBuUrsZMP8dWoeuU5Z0WOBzIEAFtQv97QTSuWY9uu3Uve+pd9hi61R3AjVsO/6ku3Z0ZAF+MfGPwEGMJqCbyg5qfgi70BS8ia1JogfK2jGdU5bY/tYeT8EmEin6Zd6W7XPTolYow6JLkVXdvfVo2jed4VQM1jbr150DtC9g7ObT9vegM8cqI/9R1XyRLOQqsunxQ1ytMJRE9Kd5+pBB4dg7Nq2yOTQ6+qRZqU0Xl+r7bZRnd291HYlsia6nFKaZPdfXqcsHs4r28SCOaKThdPKDF5eDnM2N6KZI//JeCh0o0gh26+gDLCswKA1yEi/fF+OvJGMh3SwHi71CvtnX+mSZUSBcWlS+ezC5Cq+jPLC+kQ++T4sP6SU2MYbtlfRubGxclGDLEdiA17DFIvUpDQ3w+QMKmit0BNcO8iH0jz+wJGKFKC7QpUaBgL7ivUeuPI1WKWl5kgeZJRVQ6Mme60MIn7LsNL5IqiGjGz4cFK5CjebQ5aZ6vP3SktGYnktObNHde+TAzhw6ouUNWyCwf60TcOxfd4A1+ykmztNMXK/mfXCCmxIWeRltuAIkrsb76S2JZ2V8H30FXOScdz27xX5VYTq7L/cBLh9Fh849UDuK7q0aR5sFqcK6/TkdVI7DM3I9mIg7E/th7isCRKO/kSQg0uE3dCPOgtB/DmX/oE=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(366004)(376002)(39860400002)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(26005)(6512007)(122000001)(2616005)(86362001)(71200400001)(36756003)(91956017)(76116006)(6916009)(4326008)(54906003)(33656002)(66476007)(8936002)(8676002)(66556008)(6506007)(316002)(66946007)(66446008)(64756008)(38070700009)(6486002)(5660300002)(478600001)(2906002)(41300700001)(4744005)(38100700002)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <6E01D136B72B07419472F9B9DC1CD27B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7528
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:
 DB5PEPF00014B95.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ba32fdab-606d-4032-3154-08dbe1cc3eb4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qjMYJacQ0IRIOV/VMCcIsvZX/wFSB5iczIcCKWj3GmQ4ZqwYTegePmI7lfsgoJ8NW58vMbcQmSIRCfeJWEKBXMyg95SUC8mwn7SJD1P+qxLwIV/fi2RdlEtaiIiHAkZ8McflGC9CV/9/zw2u72FVzKb67uuQrMk/5vEQnyaVhTl3+LcPWqmAIhw7kS79ab2Gd4sIk8DiBHvy80i1TRuF8mjs8YeZnxwrwoeT0zqeHKqAsJ8D/NIgr/D3NSe/iScI63gIRtDfcEh3QPDuCreZ/OeNHfJ/GWUJgpdi+Q4PUeTr67N+xeB00FQfKFl03oMbC6BVOgY5TyoUhXpeGYEl+pB4/L0eBASSDpRYK70DDMRqqaPnKvcQrfvdzMToqAV0CNKWYJJAo3Fk0HhbIdwrQNTLOEZMDl+e7BCo6l64Ou5Ee1j9ASMD55jTMo76K72EV/WEiHdRMvSpMDiQq2zuUYtQ2RqhX3S7heIldDd6bxdzeW6R9P0viF3XMcjIbK8kF2zU0Ol/YoTM65uLYT9fxYRCIf0hsgzIh/dPAgCCE7HCjkgdwi38JsjfUAdaFndkKj6dnnDQuwtDS/Vx/nfo2RBpAomjQsHFEKHzUqrJiYl/stdjHaCcAOYlHx+DBHT5RNZvdhyEiouM3kgieWUFmkmSfh05bVOBFS7fRZZ5iC7Im+YVbpbyx4X7iW1DPAnEtGuD25e70/4/8EznjFguFTjuqw+epZmhgVu4Ehy/gHqL9thtiwLDcS+od/OyCTWuP2z3Tx18z+SppRK7qa9rmw==
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:(13230031)(4636009)(396003)(39860400002)(376002)(136003)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(82310400011)(36840700001)(40470700004)(46966006)(356005)(36860700001)(6506007)(81166007)(47076005)(40480700001)(336012)(6512007)(107886003)(2616005)(82740400003)(41300700001)(33656002)(4744005)(6862004)(86362001)(8676002)(36756003)(4326008)(2906002)(5660300002)(54906003)(316002)(70586007)(70206006)(8936002)(26005)(40460700003)(478600001)(6486002)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 09:06:04.1797
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bcfb98f9-fcdb-43fd-d2a6-08dbe1cc447e
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:
	DB5PEPF00014B95.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7873

SGkgTWljaGFsLA0KDQo+PiANCj4+ICtjb25maWcgRE9NMExFU1NfQk9PVA0KPj4gKyAgICAgICBi
b29sICJEb20wbGVzcyBib290IHN1cHBvcnQiIGlmIEVYUEVSVA0KPj4gKyAgICAgICBkZXBlbmRz
IG9uIEFSTQ0KPiBZb3UncmUgaW4gdGhlIEFybSBLY29uZmlnLCBzbyB0aGVyZSBzaG91bGQgYmUg
bm8gbmVlZCBmb3IgdGhpcyBkZXBlbmRlbmN5IChpdCBpcyBpbXBsaWNpdCkuDQo+IA0KPiBBcGFy
dCBmcm9tIHRoYXQsIHdlIGhhdmUgMiBmZWF0dXJlczogc3RhdGljIG1lbSBhbmQgc3RhdGljIHNo
bWVtIHRoYXQgYXJlIG9ubHkgbWVhbnQgZm9yIGRvbTBsZXNzIGRvbVVzLg0KPiBTaG91bGRuJ3Qg
d2UgbWFrZSB0aGVtIGRlcGVuZGVudCBvbiBET00wTEVTU19CT09UPyBPdGhlcndpc2UsIHdoYXQg
aXMgdGhlIHB1cnBvc2Ugb2Ygc2VsZWN0aW5nIHRoZW0NCj4gd2l0aCBET00wTEVTU19CT09UPW4/
DQoNClN1cmUsIEnigJlsbCBhZGQgdGhlIGRlcGVuZGVuY2llcyBhbmQgcmVtb3ZlIHRoZSBBUk0g
b25lDQoNCj4gDQo+IH5NaWNoYWwNCg0K


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:06:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:06:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.629991.982602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NT8-0002H3-DA; Fri, 10 Nov 2023 09:06:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 629991.982602; Fri, 10 Nov 2023 09: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 1r1NT8-0002Gw-Ad; Fri, 10 Nov 2023 09:06:26 +0000
Received: by outflank-mailman (input) for mailman id 629991;
 Fri, 10 Nov 2023 09:06: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 1r1NT6-0002Bc-OH
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:06: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 1r1NT0-00008n-99; Fri, 10 Nov 2023 09:06:18 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.18.68]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r1NT0-0003XY-1S; Fri, 10 Nov 2023 09:06: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=wcXnzfBPAMpHbeq7N/cs9o4/hYT3dG2zIckP3SWpz40=; b=pUYZIJjzPX3AeN0xOtKGHP9BrY
	upROH9Uzhsl9xSDCgzu0ZxcSBHF3wmaqA4Eja66UJ0BBrWNd6GTakoGEa05A9Lwbx9tXiedr7TqNp
	cfu2/RJUYmpXq1+Mvw3dzJXmS5AGSq0dh9uONZ7xyzGadPzdA0Fw3pxYCR8pDqx1g5vY=;
Message-ID: <cffef994-1cba-4ce2-acb5-96e0ddd61064@xen.org>
Date: Fri, 10 Nov 2023 09:06:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
 <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
 <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
 <b407f981-c58c-4272-bc7c-1470a87e2487@xen.org>
 <4b4583f5-4cdb-6be9-20eb-22466b6aef28@suse.com>
 <483f3b34-ebd4-4613-b083-596bebf5ac15@xen.org>
 <alpine.DEB.2.22.394.2311091614010.3478774@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2311091614010.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 10/11/2023 00:29, Stefano Stabellini wrote:
> On Thu, 9 Nov 2023, Julien Grall wrote:
>> On 09/11/2023 07:42, Jan Beulich wrote:
>>> On 08.11.2023 14:33, Julien Grall wrote:
>>>> Hi Jan,
>>>>
>>>> On 08/11/2023 11:19, Jan Beulich wrote:
>>>>> On 08.11.2023 12:03, Nicola Vetrini wrote:
>>>>>> On 2023-11-08 09:24, Jan Beulich wrote:
>>>>>>> On 03.11.2023 18:58, Nicola Vetrini wrote:
>>>>>>>> Static analysis tools may detect a possible null
>>>>>>>> pointer dereference at line 760 (the memcpy call)
>>>>>>>> of xen/common/domain.c. This ASSERT helps them in
>>>>>>>> detecting that such a condition is not possible
>>>>>>>> and also provides a basic sanity check.
>>>>>>>
>>>>>>> I disagree with this being a possible justification for adding such
>>>>>>> a
>>>>>>> redundant assertion. More detail is needed on what is actually
>>>>>>> (suspected to be) confusing the tool. Plus it also needs explaining
>>>>>>> why (a) adding such an assertion helps and (b) how that's going to
>>>>>>> cover release builds.
>>>>>>>
>>>>>>
>>>>>> How about:
>>>>>> "Static analysis tools may detect a possible null pointer dereference
>>>>>> at line 760 (config->handle) due to config possibly being NULL.
>>>>>>
>>>>>> However, given that all system domains, including IDLE, have a NULL
>>>>>> config and in the code path leading to the assertion only real domains
>>>>>> (which have a non-NULL config) can be present."
>>>>>>
>>>>>> On point b): this finding is a false positive, therefore even if the
>>>>>> ASSERT is
>>>>>> expanded to effectively a no-op, there is no inherent problem with
>>>>>> Xen's
>>>>>> code.
>>>>>> The context in which the patch was suggested [1] hinted at avoiding
>>>>>> inserting in
>>>>>> the codebase false positive comments.
>>>>>
>>>>> Which I largely agree with. What I don't agree with is adding an
>>>>> assertion which is only papering over the issue, and only in debug
>>>>> builds.
>>>>
>>>> I expect that the number of issues will increase a lot as soon as we
>>>> start to analyze production builds.
>>>>
>>>> I don't think it will be a solution to either replace all the ASSERT()
>>>> with runtime check in all configuration or even...
>>>>
>>>>> So perhaps instead we need a different way of tracking
>>>>> false positives (which need to be tied to specific checker versions
>>>>> anyway).
>>>>
>>>> ... documenting false positive.
>>>>
>>>> IMHO, the only viable option would be to have a configuration to keep
>>>> ASSERT in production build for scanning tools.
>>>
>>> But wouldn't that then likely mean scanning to be done on builds not also
>>> used in production? Would doing so even be permitted when certification
>>> is a requirement? Or do you expect such production builds to be used with
>>> the assertions left in place (increasing the risk of a crash; recall that
>>> assertions themselves may also be wrong, and hence one triggering in rare
>>> cases may not really be a reason to bring down the system)?
>>
>> I will leave Stefano/Nicola to answer from the certification perspective. But
>> I don't really see how we could get away unless we replace most of the
>> ASSERT() with proper runtime check (which may not be desirable for ASSERT()s
>> like this one).
> 
> For sure we don't want to replace ASSERTs with runtime checks.
> 
> Nicola, do we really need the ASSERT to be implemented as a check, or
> would the presence of the ASSERT alone suffice as a tag, the same way we
> would be using /* SAF-xx-safe */ or asmlinkage?
> 
> If we only need ASSERT as a deviation tag, then production builds vs.
> debug build doesn't matter.
> 
> If ECLAIR actually needs ASSERT to be implemented as a check, could we
> have a special #define to define ASSERT in a special way for static
> analysis tools in production builds? For instance:
> 
> #ifdef STATIC_ANALYSIS
> #define ASSERT(p) \
>      do { if ( unlikely(!(p)) ) printk("ASSERT triggered %s:%d", __file__,__LINE__); } while (0)
> #endif

Just to make 100% clear, you are saying that assessor will be happy if 
we analyze it with ASSERT enabled but in production we use it wout them 
enabled? The assumption here is that they should have *never* been 
triggered so they surely should not happen in production.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:12:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:12:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630002.982612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NZL-0004bf-6h; Fri, 10 Nov 2023 09:12:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630002.982612; Fri, 10 Nov 2023 09:12: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 1r1NZL-0004bY-3m; Fri, 10 Nov 2023 09:12:51 +0000
Received: by outflank-mailman (input) for mailman id 630002;
 Fri, 10 Nov 2023 09:12: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=MXa0=GX=casper.srs.infradead.org=BATV+29e7849af3f7cdd1dde9+7383+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r1NZH-0004bM-Pm
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:12:49 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d723a47-7fa9-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 10:12:45 +0100 (CET)
Received: from [2001:8b0:10b:5:18d3:34d5:5849:7b74]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r1NYq-00CWNe-0e; Fri, 10 Nov 2023 09:12: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: 4d723a47-7fa9-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=szkSQPoIKoP5lekOfNB3Z458Rwwk6eknWfne+IEJkEE=; b=Pv2rjFyeMN96myZ5+P3qknMwO3
	J4/A/Bx2Ch0OSmgI/U1DzLssEEOtbm8tuKLymw4fdG9NbVDLZM4xMfqGYG9YjjtjsPplcw2M7X1dd
	Q7a+qeDokhWEgvpN0DC71y6xk6fxLS6O5AvW9+jvaj17YjcK3Z0uglHBMbr4G450lTLp4GULIEMjd
	RoDMW1K5Ou8SvKs6gnzwCZ+8lMnuXUYKHdTqPaSyDCClqrer4u52qAppl/F+mBaSDisKYDEhbA6+5
	iGENGfDfxT6SkJZ2/QzSK/pH+jzAq0OlVqqTH/igJABIITgjnjUCsM2Oc0LLKL4KpHosXxaHEC2bo
	hdOmojdQ==;
Message-ID: <d81446693e0a82201807bc3c1a9d2a307135df72.camel@infradead.org>
Subject: Re: [PATCH] include/hw/xen: Use more inclusive language in comment
From: David Woodhouse <dwmw2@infradead.org>
To: Thomas Huth <thuth@redhat.com>, qemu-devel@nongnu.org, Stefano
 Stabellini <sstabellini@kernel.org>, Anthony Perard
 <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>
Cc: xen-devel@lists.xenproject.org, qemu-trivial@nongnu.org
Date: Fri, 10 Nov 2023 09:12:20 +0000
In-Reply-To: <20231109174034.375392-1-thuth@redhat.com>
References: <20231109174034.375392-1-thuth@redhat.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-I7CDt+ABG3lJwgraqKn9"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Thu, 2023-11-09 at 18:40 +0100, Thomas Huth wrote:
> Let's improve the wording here.
>=20
> Signed-off-by: Thomas Huth <thuth@redhat.com>

Absolutely, but please can we change it in Xen first because these
headers are a direct import.

Acked-by: David Woodhouse <dwmw@amazon.co.uk>

> ---
> =C2=A0include/hw/xen/interface/hvm/params.h | 2 +-
> =C2=A01 file changed, 1 insertion(+), 1 deletion(-)
>=20
> diff --git a/include/hw/xen/interface/hvm/params.h
> b/include/hw/xen/interface/hvm/params.h
> index a22b4ed45d..9bcb40284c 100644
> --- a/include/hw/xen/interface/hvm/params.h
> +++ b/include/hw/xen/interface/hvm/params.h
> @@ -255,7 +255,7 @@
> =C2=A0 * Note that 'mixed' mode has not been evaluated for safety from a
> =C2=A0 * security perspective.=C2=A0 Before using this mode in a
> =C2=A0 * security-critical environment, each subop should be evaluated fo=
r
> - * safety, with unsafe subops blacklisted in XSM.
> + * safety, with unsafe subops blocked in XSM.
> =C2=A0 */
> =C2=A0#define HVM_PARAM_ALTP2M=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 35
> =C2=A0#define XEN_ALTP2M_disabled=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0


--=-I7CDt+ABG3lJwgraqKn9
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEwMDkxMjIwWjAvBgkqhkiG9w0BCQQxIgQgE585freP
iaP3/NA96uMrl7A88q81bvZ2+JjcbxRDat4wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCLZXfUD3/Hzdx6qJWlJriNlDpvSuKPvoCh
WsDqYa0XOHoFAcRrwytQZvsaHoG1beG60lXFifayItczSJWF2dOpADSqd25GdqI3KfteLsI5As0M
OD6tpLaR41pJixVO3uFWr774BkC4IAGVkC6PZCZIww+dkPEWX4LJcQFoYuebuFOkPK9ai+vrIsuq
fuKaGrN/9z3U4zdqwLxaSt0hU3007ath7JFqrsP4FY6jY89czXTrrjhZa5ea1mxJ0a5nB6i3Yd75
aB7kTu2jhaOU+ljK56u/CAlIK6rUEqCCrhqlco7kv/0771Hxf7feIT8DmAmc/prrV2LhCVyXYYen
GIM2sCiZ5/VlnfadcscGYSX/1iw2H+1LXi9y4q02bEb8Wgt3oiyU1QPFwCp7f1lb8oka7VERmuor
Kg5yKvx1bTG+4yKjUPaEA7/BB7uYtTvdWrrCLXuHP35z5rZv4OQIlJQcZjMhWSZz9osnybHFodd6
a2GFGkMnUJuTdsWEUZo7SzV/vzIkNkixgJc6mX0af7tM05K+vUJUmRh13a9froXtjUztvFoOl8i5
MZBfe6Fp6bCXA8sKnW5R1XdgZCCyNcEUQMuKSDPee5uu5hVdTCaA4DvbVxxWcW1Aib1HhD65gh9d
p44mX+czucnlkAQem2VUYgv9KifWRDT6G1wXxGLPbgAAAAAAAA==


--=-I7CDt+ABG3lJwgraqKn9--


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:23:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:23:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630007.982622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NjB-0007GX-34; Fri, 10 Nov 2023 09:23:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630007.982622; Fri, 10 Nov 2023 09:23: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 1r1NjB-0007GQ-0N; Fri, 10 Nov 2023 09:23:01 +0000
Received: by outflank-mailman (input) for mailman id 630007;
 Fri, 10 Nov 2023 09:22: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=MXa0=GX=casper.srs.infradead.org=BATV+29e7849af3f7cdd1dde9+7383+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r1Nj9-0007GI-Jw
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:22:59 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc92cc5b-7faa-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 10:22:58 +0100 (CET)
Received: from [2001:8b0:10b:5:18d3:34d5:5849:7b74]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r1NhT-00CYyi-2F; Fri, 10 Nov 2023 09: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: bc92cc5b-7faa-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=PVOJKFJlFu0ZtmCzArIbpoDlvkbx60MTRGoiIX110N0=; b=r4v/VdEjY28CTfHKcV0pLAIk2q
	BgpvCiBAk5Tax5InPgSPnwlZouNygZGcusmtkRx79MqrGIWlQtPMf3Wwp2cSm4tE4RPSh8680vuEg
	EIZ/STIhdv1F+ApEpT62UYh0oqyLVuey/aoYC9xGDw7gSZGn05NBMP3jAWb52ttsCXTo0AEBh16IP
	N9YlMYOD73OgYHKhvB33iwqlOgttTmxbdVMzRb6jzQriSe5Agh8KMwczOMarbstRxOUWN1eIdh+w9
	iy3QPUBHefF1xaYjM5CtbytY9bToYKpQDGnOMGsB3QP4BrGh5bOrexsMPTjHyKaeb87AtsJt6/BRi
	NQjEcXFg==;
Message-ID: <1899e499bbcfce96640296dd6f88643900e78ce3.camel@infradead.org>
Subject: Re: [PATCH for-8.3 v2 04/46] hw/pci: add pci_init_nic_devices(),
 pci_init_nic_in_slot()
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: Richard Henderson <richard.henderson@linaro.org>, Beniamino Galvani
 <b.galvani@gmail.com>, Peter Maydell <peter.maydell@linaro.org>, Strahinja
 Jankovic <strahinja.p.jankovic@gmail.com>, Niek Linnenbank
 <nieklinnenbank@gmail.com>,  =?ISO-8859-1?Q?C=E9dric?= Le Goater
 <clg@kaod.org>, Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley
 <joel@jms.id.au>, Igor Mitsyanko <i.mitsyanko@gmail.com>, Jean-Christophe
 Dubois <jcd@tribudubois.net>, Andrey Smirnov <andrew.smirnov@gmail.com>,
 Rob Herring <robh@kernel.org>, Subbaraya Sundeep <sundeep.lkml@gmail.com>,
 Jan Kiszka <jan.kiszka@web.de>, Tyrone Ting <kfting@nuvoton.com>, Hao Wu
 <wuhaotsh@google.com>, Radoslaw Biernacki <rad@semihalf.com>, Leif Lindholm
 <quic_llindhol@quicinc.com>, Marcin Juszkiewicz
 <marcin.juszkiewicz@linaro.org>,  "Edgar E. Iglesias"
 <edgar.iglesias@gmail.com>, Alistair Francis <alistair@alistair23.me>,
 Helge Deller <deller@gmx.de>,  "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini
 <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Song Gao
 <gaosong@loongson.cn>, Thomas Huth <huth@tuxfamily.org>, Laurent Vivier
 <laurent@vivier.eu>, Huacai Chen <chenhuacai@kernel.org>, Jiaxun Yang
 <jiaxun.yang@flygoat.com>, =?ISO-8859-1?Q?Herv=E9?= Poussineau
 <hpoussin@reactos.org>, Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, 
 Aurelien Jarno <aurelien@aurel32.net>, Jason Wang <jasowang@redhat.com>,
 Jia Liu <proljc@gmail.com>, Stafford Horne <shorne@gmail.com>, Mark
 Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Nicholas Piggin
 <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, David
 Gibson <david@gibson.dropbear.id.au>, Harsh Prateek Bora
 <harshpb@linux.ibm.com>, Bin Meng <bin.meng@windriver.com>, Palmer Dabbelt
 <palmer@dabbelt.com>, Weiwei Li <liweiwei@iscas.ac.cn>, Liu Zhiwei
 <zhiwei_liu@linux.alibaba.com>, David Hildenbrand <david@redhat.com>, Ilya
 Leoshkevich <iii@linux.ibm.com>, Halil Pasic <pasic@linux.ibm.com>, 
 Christian Borntraeger <borntraeger@linux.ibm.com>, Eric Farman
 <farman@linux.ibm.com>, Yoshinori Sato <ysato@users.sourceforge.jp>, Magnus
 Damm <magnus.damm@gmail.com>, Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
 <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Max Filippov
 <jcmvbkbc@gmail.com>, qemu-arm@nongnu.org, qemu-ppc@nongnu.org, 
 qemu-riscv@nongnu.org, qemu-s390x@nongnu.org, xen-devel@lists.xenproject.org
Date: Fri, 10 Nov 2023 09:21:14 +0000
In-Reply-To: <464bf22d-e9c0-44bf-8d78-4e64eb57c8c1@linaro.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
	 <20231106195352.301038-5-dwmw2@infradead.org>
	 <464bf22d-e9c0-44bf-8d78-4e64eb57c8c1@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-jF7GAC0DLUuHciBsiF80"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2023-11-10 at 08:31 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
>=20
> > +=C2=A0=C2=A0=C2=A0 pci_dev =3D pci_new(devfn, model);
> > +=C2=A0=C2=A0=C2=A0 qdev_set_nic_properties(&pci_dev->qdev, nd);
> > +=C2=A0=C2=A0=C2=A0 pci_realize_and_unref(pci_dev, bus, &error_fatal);
>=20
> Could these functions be used with hotplug devices?
>=20
> If so we should propagate the error, not make it fatal.

Hm, not sure. Mostly, I'm trying not to change existing behaviour with
this series (except in carefully noted cases where the minuti=C3=A6 of the
existing behaviour appear to be both unintended and unimportant, and it
would be unnecessarily complex to preserve the gratuitous differences
between the way that platforms have open-coded things).

I don't think it makes much sense *even* to use the new
qemu_configure_nic_device() with hotplug devices. The user might create
a *netdev* at startup, for later hotplug devices to use. But they
wouldn't use `-nic` for that, and any devices explicitly added through
hotplug will have an explicitly specified netdev, won't they?

I don't think we want to change that model and allow hotplug devices to
magically get config from -nic on the command line... do we?

We even have a warning for the case where NIC configurations are
provided with -nic but aren't consumed by the time the platform is
instantiated (although that doesn't *prevent* them from being used
later by hotplug).

But that's answering your question which was about "these functions".

For *this* particular function, pci_init_nic_in_slot(), it makes even
less sense to consider hotplug. This is for platforms to handle the
special cases, like "this board had an RTL8139 in slot 3", and make
that NIC appear in the appropriate slot. It's done as a special case
before processing the rest of the NICs which land in dynamically
assigned slots =E2=80=94 which may even be on a *different* bus, in the cas=
e of
sun4u.


--=-jF7GAC0DLUuHciBsiF80
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEwMDkyMTE0WjAvBgkqhkiG9w0BCQQxIgQgLM611qmK
37cumtyANrjjuLdD6412xjPvTQ1HbBAHjmYwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCjpA+OvKqoWwYNUOHEm6Me4lM4p9P4YW9Q
Y4ECwBwF7J98iaHes7Pb8hMCx7GSgsw1V2CkL2KkZUFPJC7fCBQEx+QW8o1GXQWjwB+3ER00RCOl
9Q+d95TBp3nYgOlaOL7C9S/Rrwx54MjI+YNZUMwaP5Y//kQvf5HlDxJiBI9Hmr/pTsbUXlOocYcT
WuDKLO3dlTai+4ZUrUr9IdTgzGjJuZMKNNhSAefUaCeapWeLinzc4To/8LfrEtSM5fVK6dBQQheV
u/YZhhs3bxVFwchwuvbblzdbsEj+XbodqlwbUBVh897TutgRKlTs9s1FITTdaroC5ZOqULnHnklx
rDbBcWWumGj2S7AOWHrwqibeMosZ+CDtCxs0fsqsdkdVvbOzUKq5cUOgQhvYLDHaPh13Lpzi6giD
Mo+tZIEJhU9vnErEKpc+MQNacYYsWplf15/Aukk8r+ViYF50zdYUg+odsBB7+2DJQpvLe/eKk3mj
qYE0tC8l/C5vvrM2ErpAhpGQ7Y8eBnV8pjCJhAan0gZXeIqGfJBqvXSY/h3XzUGTVTa6DMMUOhhV
n+vuqJNrNRoPvo4PAxqdyAckOdqHWi6reh3owpH/pt6FKgcjUsbkhm/KVGjWYxxdO00zOo1uvJ5N
cyXs0re1za9dUuYlKa+f8Ro8FHKQ7/mbiaR8CpIj0AAAAAAAAA==


--=-jF7GAC0DLUuHciBsiF80--


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:27:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:27:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630012.982633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Nnv-0000VA-L9; Fri, 10 Nov 2023 09:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630012.982633; Fri, 10 Nov 2023 09:27: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 1r1Nnv-0000V3-Id; Fri, 10 Nov 2023 09:27:55 +0000
Received: by outflank-mailman (input) for mailman id 630012;
 Fri, 10 Nov 2023 09:27: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 1r1Nnu-0000Ux-IT
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:27: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 1r1Nns-0000Wx-Oc; Fri, 10 Nov 2023 09:27:52 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.18.68]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r1Nns-0004ZD-I2; Fri, 10 Nov 2023 09:27: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=Pt4qtIOOFJtYzUilWxiv/V5zq33bTf81EwvmXRfNEJ8=; b=48MaHmSBvKNts7Xh0Wt1dUJlgi
	Q5hvX1BbQBttWR6DNIMTKqVwx9QbiNhu1jbQ1w962ewjujTt5U6CE0xpVqgoipb9grFR+IyQYXX3q
	hivXFz+EctNeUWIpZ6J0sXMD3zAiTa3LZpfZEuDyyVNjhYRW+20CSE20ZFwqp9A+umSQ=;
Message-ID: <329849be-f2c1-4ca6-8b97-b288d163aeb1@xen.org>
Date: Fri, 10 Nov 2023 09:27:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Use hex for bitstream_size as expected by u-boot
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 viryaos-discuss@lists.sourceforge.net
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com, brian@woods.art
References: <alpine.DEB.2.22.394.2311091740490.3478774@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2311091740490.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 10/11/2023 01:44, Stefano Stabellini wrote:
> Reported-by: Brian Woods <brian@woods.art>
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index b284887..6e52da5 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -790,7 +790,7 @@ bitstream_load_and_config()
>           check_file_type "$BITSTREAM" "BIT data"
>           bitstream_addr=$memaddr
>           load_file $BITSTREAM "fpga_bitstream"
> -        bitstream_size=$filesize
> +        bitstream_size=`printf "0x%X\n" $filesize`

Looking at [1], there is no indication that the size parameter for "fpga 
load" should be hexadecimal. At the contrary, all the example I have 
found seems to use $filesize.

Furthermore, this code also seems to have been added more than two years 
ago. I would have hope this was tested back then. So I think the commit 
message needs to contain a bit more information about why this is needed 
now.

Is this a change in U-boot? Different U-boot configuration? Or just this 
was never tested/used.

>           if test "$UBOOT_SOURCE"
>           then
>               # we assume the FPGA device is 0 here
> 

Cheers,

[1] 
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/124682257/U-Boot+FPGA+Driver

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:28:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:28:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630015.982642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Nom-00015N-2Y; Fri, 10 Nov 2023 09:28:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630015.982642; Fri, 10 Nov 2023 09:28: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 1r1Nol-00015G-Vh; Fri, 10 Nov 2023 09:28:47 +0000
Received: by outflank-mailman (input) for mailman id 630015;
 Fri, 10 Nov 2023 09:28: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=MXa0=GX=casper.srs.infradead.org=BATV+29e7849af3f7cdd1dde9+7383+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r1Nok-00014x-2y
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:28:46 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b2fa2e5-7fab-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 10:28:45 +0100 (CET)
Received: from [2001:8b0:10b:5:18d3:34d5:5849:7b74]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r1NnY-00CbTG-GE; Fri, 10 Nov 2023 09:27: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: 8b2fa2e5-7fab-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=oO9LT3DPNTa4fkoiugIprfdxPX0wXCW4JpFpWpowqbI=; b=luy+1wfXgEor99SuHzUEZO6CAS
	I1JYZ4rzm6Fp4oXEoecPhckhi6m5rcN+/69GmG2uY4vEKt3sQGLFVfcpkaCzoaWunxtaIYcwZslmp
	gcDV4rBotUyXhUIwsFOYEE58eyErrwTpSCGbuQb6S4+UqVkRYKXiRSZFsXPoGIm6jJmZMOj013lXn
	nltEF9q0B/m8YA7o30yy0SVFwLLRCm8dw8c+88Y2YZ/qPKjW2OuaNFIiyr8vTa7zu0KILxzUVNx5o
	6Q3F+tueA1beApIZyv64zLTTKwdiolCXrjC41WwOZsjffXrzOU6KLVuWM6XfrlSQZWxE4Z1HlXeQm
	dl6GNp5A==;
Message-ID: <941df87a4a1173c3498343d84d13a1d82aefd3a0.camel@infradead.org>
Subject: Re: [PATCH for-8.3 v2 05/46] hw/i386/pc: use qemu_get_nic_info()
 and pci_init_nic_devices()
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
 qemu-devel@nongnu.org, Bernhard Beschow <shentey@gmail.com>, Markus
 Armbruster <armbru@redhat.com>
Cc: Richard Henderson <richard.henderson@linaro.org>, Beniamino Galvani
 <b.galvani@gmail.com>, Peter Maydell <peter.maydell@linaro.org>, Strahinja
 Jankovic <strahinja.p.jankovic@gmail.com>, Niek Linnenbank
 <nieklinnenbank@gmail.com>,  =?ISO-8859-1?Q?C=E9dric?= Le Goater
 <clg@kaod.org>, Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley
 <joel@jms.id.au>, Igor Mitsyanko <i.mitsyanko@gmail.com>, Jean-Christophe
 Dubois <jcd@tribudubois.net>, Andrey Smirnov <andrew.smirnov@gmail.com>,
 Rob Herring <robh@kernel.org>, Subbaraya Sundeep <sundeep.lkml@gmail.com>,
 Jan Kiszka <jan.kiszka@web.de>, Tyrone Ting <kfting@nuvoton.com>, Hao Wu
 <wuhaotsh@google.com>, Radoslaw Biernacki <rad@semihalf.com>, Leif Lindholm
 <quic_llindhol@quicinc.com>, Marcin Juszkiewicz
 <marcin.juszkiewicz@linaro.org>,  "Edgar E. Iglesias"
 <edgar.iglesias@gmail.com>, Alistair Francis <alistair@alistair23.me>,
 Helge Deller <deller@gmx.de>,  "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini
 <pbonzini@redhat.com>, Eduardo Habkost <eduardo@habkost.net>, Song Gao
 <gaosong@loongson.cn>, Thomas Huth <huth@tuxfamily.org>, Laurent Vivier
 <laurent@vivier.eu>, Huacai Chen <chenhuacai@kernel.org>, Jiaxun Yang
 <jiaxun.yang@flygoat.com>, =?ISO-8859-1?Q?Herv=E9?= Poussineau
 <hpoussin@reactos.org>, Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, 
 Aurelien Jarno <aurelien@aurel32.net>, Jason Wang <jasowang@redhat.com>,
 Jia Liu <proljc@gmail.com>, Stafford Horne <shorne@gmail.com>, Mark
 Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Nicholas Piggin
 <npiggin@gmail.com>, Daniel Henrique Barboza <danielhb413@gmail.com>, David
 Gibson <david@gibson.dropbear.id.au>, Harsh Prateek Bora
 <harshpb@linux.ibm.com>, Bin Meng <bin.meng@windriver.com>, Palmer Dabbelt
 <palmer@dabbelt.com>, Weiwei Li <liweiwei@iscas.ac.cn>, Liu Zhiwei
 <zhiwei_liu@linux.alibaba.com>, David Hildenbrand <david@redhat.com>, Ilya
 Leoshkevich <iii@linux.ibm.com>, Halil Pasic <pasic@linux.ibm.com>, 
 Christian Borntraeger <borntraeger@linux.ibm.com>, Eric Farman
 <farman@linux.ibm.com>, Yoshinori Sato <ysato@users.sourceforge.jp>, Magnus
 Damm <magnus.damm@gmail.com>, Artyom Tarasenko <atar4qemu@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
 <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Max Filippov
 <jcmvbkbc@gmail.com>, qemu-arm@nongnu.org, qemu-ppc@nongnu.org, 
 qemu-riscv@nongnu.org, qemu-s390x@nongnu.org, xen-devel@lists.xenproject.org
Date: Fri, 10 Nov 2023 09:27:31 +0000
In-Reply-To: <34e2c0c6-4e04-486a-8e1f-4afdc461a5d4@linaro.org>
References: <20231106195352.301038-1-dwmw2@infradead.org>
	 <20231106195352.301038-6-dwmw2@infradead.org>
	 <34e2c0c6-4e04-486a-8e1f-4afdc461a5d4@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-PA5ixZaqSq1wPm2X84kJ"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2023-11-10 at 08:40 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> Hi David,
>=20
> +Markus/Bernhard
>=20
> On 6/11/23 20:49, David Woodhouse wrote:
> > From: David Woodhouse <dwmw@amazon.co.uk>
> >=20
> > Eliminate direct access to nd_table[] and nb_nics by processing the the
> > Xen and ISA NICs first and then calling pci_init_nic_devices() for the
> > rest.
> >=20
> > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > Reviewed-by: Paul Durrant <paul@xen.org>
> > ---
> > =C2=A0 hw/i386/pc.c=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 | 26 ++++++++++++++++----------
> > =C2=A0 include/hw/net/ne2000-isa.h |=C2=A0 2 --
> > =C2=A0 2 files changed, 16 insertions(+), 12 deletions(-)
> >=20
> > diff --git a/hw/i386/pc.c b/hw/i386/pc.c
> > index c2bc3fa52d..4078d2d231 100644
> > --- a/hw/i386/pc.c
> > +++ b/hw/i386/pc.c
> > @@ -652,8 +652,11 @@ static void pc_init_ne2k_isa(ISABus *bus, NICInfo =
*nd)
> > =C2=A0 {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 static int nb_ne2k =3D 0;
> > =C2=A0=20
> > -=C2=A0=C2=A0=C2=A0 if (nb_ne2k =3D=3D NE2000_NB_MAX)
> > +=C2=A0=C2=A0=C2=A0 if (nb_ne2k =3D=3D NE2000_NB_MAX) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 error_setg(&error_fatal,
>=20
> In the context of dynamically created machines I'd rather have
> this function,
>=20
> > +=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 "maximum number of ISA NE2000 devic=
es exceeded");
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return;
> > +=C2=A0=C2=A0=C2=A0 }
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 isa_ne2000_init(bus, ne2000_io[nb_ne2k],
> > =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 ne2000_irq[nb_ne2=
k], nd);
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 nb_ne2k++;
> > @@ -1291,23 +1294,26 @@ void pc_nic_init(PCMachineClass *pcmc, ISABus *=
isa_bus, PCIBus *pci_bus,
> > =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 BusState *xen_bus)
> > =C2=A0 {
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 MachineClass *mc =3D MACHINE_CLASS(pcmc)=
;
> > -=C2=A0=C2=A0=C2=A0 int i;
> > +=C2=A0=C2=A0=C2=A0 bool default_is_ne2k =3D g_str_equal(mc->default_ni=
c, TYPE_ISA_NE2000);
> > +=C2=A0=C2=A0=C2=A0 NICInfo *nd;
> > =C2=A0=20
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rom_set_order_override(FW_CFG_ORDER_OVER=
RIDE_NIC);
> > -=C2=A0=C2=A0=C2=A0 for (i =3D 0; i < nb_nics; i++) {
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 NICInfo *nd =3D &nd_table[i=
];
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 const char *model =3D nd->m=
odel ? nd->model : mc->default_nic;
> > =C2=A0=20
> > -=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (xen_bus && (!nd->model =
|| g_str_equal(model, "xen-net-device"))) {
> > +=C2=A0=C2=A0=C2=A0 if (xen_bus) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 while (nc =3D qemu_find_nic=
_info("xen-net-device", true, NULL)) {
> > =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 DeviceState *dev =3D qdev_new("xen-net-device");
> > =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 qdev_set_nic_properties(dev, nd);
> > =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 qdev_realize_and_unref(dev, xen_bus, &error_fatal);
>=20
> and this one non-fatal (primarily for API example). But this is pending
> on a discussion on another thread, see:
> https://lore.kernel.org/qemu-devel/c1322f3b-2ae2-4ca7-9a76-a2a434dc8315@l=
inaro.org/
> so no changed requested so far.

Thanks for the reference.

I'm happy to make pc_init_ne2k_isa() and even pc_nic_init() take an
'Error **' argument and use that instead of &error_fatal... and for the
*caller* to pass &error_fatal for now until/unless that discussion is
resolved? Not sure it helps much?

Then again... I do not favour the "my caller cannot *currently*
handle/propagate an error therefore I won't bother to return one
coherently" approach. That leads to someone else thinking "my callee
does not return an error coherently therefore I won't bother to handle
it", and nothing ever gets fixed.

I'll go fix it to take an errp argument.


--=-PA5ixZaqSq1wPm2X84kJ
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEwMDkyNzMxWjAvBgkqhkiG9w0BCQQxIgQgKViPcPHp
Ywn6K8TDcOwEANHfIwp+5w84tfoqSyOXQwgwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAuM4SPZi0m/p2En7ZBhDMPlG2wj3rjCIkn
DwrnLTDZERqKWfnmYRhPJ8kqmbESz/9jdtGry6vJ5njgLwf/54Q5bX8LlVfKe+gwh55OlRYfbjoR
kNrmPq9YJwm//LfBqoOTorPwMtjZga0bR7mY/uRfz1v3uJH4f+GZQHLkJsLh3MLNBWJFngN2udB5
qYU7gvqzj+FRi/pPPfjcj2sePKGwpEML5RSTOZ36nIfWx98IkzghR1ebqaxKkQh+fJAOSgnfXgeZ
KCZP4/zs44iUa9jsiRRh9x9QB5cX1BmL7UKtp3bsj45kkrkyxjjVatK/KQfM++B4Ly6dcFuRkF7/
JnT/r7433nly3XAXNMZDsn+Q2pSljwEqVrs3rk2F6hzT0s6RvvmLlsYKnUNFBP1o6qx0IIEh05Gt
AmDsHuHiJoBuSw5oHw8K2pvmDBN1/fafSZ7rtDWt9T+UWajeJrJwWbhlw5mwX8b2aUTTMKzNx0DV
Y3X2JcOnBhWMzF4S+69XN6Gvp0XoHpZV4Yopm6Iks4/ROszNICmYIXeFhK1QCQVGmtXESErcDuOm
00lHRfJdUdmuhkfORWsEpUzPiaji+lMTIPwU4ODS9bs13y2QOmLCdRr5qRDO4sE33zfLVui31y3O
GWuFKKiLIbFD5WajaIrErPCkUIp5D4IRQnaKIfZLZwAAAAAAAA==


--=-PA5ixZaqSq1wPm2X84kJ--


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:29:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:29:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630019.982652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Npi-0001d0-B0; Fri, 10 Nov 2023 09:29:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630019.982652; Fri, 10 Nov 2023 09:29: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 1r1Npi-0001ct-8B; Fri, 10 Nov 2023 09:29:46 +0000
Received: by outflank-mailman (input) for mailman id 630019;
 Fri, 10 Nov 2023 09:29: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1Npg-0001XY-9f
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:29:44 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ada8c38b-7fab-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 10:29:42 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-53dd3f169d8so2863946a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 01:29:42 -0800 (PST)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 l26-20020a056402345a00b005402a0c9784sm877372edc.40.2023.11.10.01.29.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 01:29:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ada8c38b-7fab-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699608581; x=1700213381; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=1jK9YQF8l+hMrgTg5vBqNtecu7Wo26NywrWJux0kVZk=;
        b=M4c2dPhZMcoUKtUCe1sS+N7I1vFcl6RWqulCzkn++l/CapciSdZvnh7GxrKmszOw0h
         eGmnLHjHt39loo4rxpLao/BcbZo4SR/cZuYlECpa3pKU3UXhZDQKtoiflBg2Es8RLUSn
         K8RQ7IH7MwRgWbuTQbWsWfQ7tBHzszD86rR17vHT43VcTFVrsR5BJZMsxFGM2VBQk9XR
         irpkdASdh3sZlmkyE4HpSN/HRVgx/YHYeXq728PoM3RwIjbVhIEf6iLG8F4htPBpTnkt
         423RV/6cfJe4VMrdbs3YQNHtxALzrasv+/qKMO3gYJzfAMNZiLMikEGZGsMZVZxtBpEX
         xqnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699608581; x=1700213381;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1jK9YQF8l+hMrgTg5vBqNtecu7Wo26NywrWJux0kVZk=;
        b=ma7CE+ACkBij/8xeVsWI4eIL0mKF250bIH/ygzDJcnhNqieUd3MrlXMl5mIi/AQhQ2
         /U70S3oWVzCLrEFiwHKyr6rUdGR+gDFlsNBXWptuund1RpahcipUAyOSCVl+N113CUQB
         QAKjhjIBKHw05GnXZWAwdl017UmAIe4LazIbnN4WqYELM2EhTTrkjjLJXhVZzhOxCKtu
         N08JlqB/8Vl37n+0ba59ZarehUAzswJAYTo7MPyeEtACfGZO77bnRlu55mTy4eIA5yOT
         AKDvgA2RXZbgpNKt3m3Fvt2BEDo9EnX1MOeUveEteKjFWOkLyM7HcNlP/revckTU6cm/
         IEGQ==
X-Gm-Message-State: AOJu0YzbrDgtqsG+u5kCqvFsa0j+0aoZJzQcAgFx6gbHcXciL/tBphLj
	3PTRm5THzIdjVjs+vIB4DaOSyQ4N1Z4=
X-Google-Smtp-Source: AGHT+IERhDn6gfwLuTZZmsM3tKYMBztJSdc8FYO9xzIX1wBQfiDs1BMRqKgQvBx56PxzA3pUTOSVSA==
X-Received: by 2002:a50:cd95:0:b0:53f:bd95:d963 with SMTP id p21-20020a50cd95000000b0053fbd95d963mr5871851edi.32.1699608580866;
        Fri, 10 Nov 2023 01:29:40 -0800 (PST)
Message-ID: <9f5f366a4e7f6050f5c8893282c502d1cff25142.camel@gmail.com>
Subject: Re: [PATCH] xen: remove <asm/delay.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.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>, Bob Eshleman
 <bobbyeshleman@gmail.com>,  Alistair Francis <alistair.francis@wdc.com>,
 Connor Davis <connojdavis@gmail.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>
Date: Fri, 10 Nov 2023 11:29:39 +0200
In-Reply-To: <a9eb7c50e99db286d011169030c6ef1d92f3da23.1698747162.git.oleksii.kurochko@gmail.com>
References: 
	<a9eb7c50e99db286d011169030c6ef1d92f3da23.1698747162.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

Hi all,

On Tue, 2023-10-31 at 12:12 +0200, Oleksii Kurochko wrote:
> <asm/delay.h> only declares udelay() function so udelay() =C2=A0
> declaration was moved to xen/delay.h.
>=20
> For x86, __udelay() was renamed to udelay() and removed
> inclusion of <asm/delay.h> in x86 code.
>=20
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> =C2=A0xen/arch/arm/include/asm/delay.h=C2=A0=C2=A0 | 14 --------------
> =C2=A0xen/arch/riscv/include/asm/delay.h | 13 -------------
> =C2=A0xen/arch/x86/cpu/microcode/core.c=C2=A0 |=C2=A0 2 +-
> =C2=A0xen/arch/x86/delay.c=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 2 +-
> =C2=A0xen/arch/x86/include/asm/delay.h=C2=A0=C2=A0 | 13 -------------
> =C2=A0xen/include/xen/delay.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 3 ++-
> =C2=A06 files changed, 4 insertions(+), 43 deletions(-)
> =C2=A0delete mode 100644 xen/arch/arm/include/asm/delay.h
> =C2=A0delete mode 100644 xen/arch/riscv/include/asm/delay.h
> =C2=A0delete mode 100644 xen/arch/x86/include/asm/delay.h
>=20
> diff --git a/xen/arch/arm/include/asm/delay.h
> b/xen/arch/arm/include/asm/delay.h
> deleted file mode 100644
> index 042907d9d5..0000000000
> --- a/xen/arch/arm/include/asm/delay.h
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -#ifndef _ARM_DELAY_H
> -#define _ARM_DELAY_H
> -
> -extern void udelay(unsigned long usecs);
> -
> -#endif /* defined(_ARM_DELAY_H) */
> -/*
> - * Local variables:
> - * mode: C
> - * c-file-style: "BSD"
> - * c-basic-offset: 4
> - * indent-tabs-mode: nil
> - * End:
> - */
> diff --git a/xen/arch/riscv/include/asm/delay.h
> b/xen/arch/riscv/include/asm/delay.h
> deleted file mode 100644
> index 2d59622c75..0000000000
> --- a/xen/arch/riscv/include/asm/delay.h
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0 */
> -/*
> - * Copyright (C) 2009 Chen Liqin <liqin.chen@sunplusct.com>
> - * Copyright (C) 2016 Regents of the University of California
> - */
> -
> -#ifndef _ASM_RISCV_DELAY_H
> -#define _ASM_RISCV_DELAY_H
> -
> -#define udelay udelay
> -extern void udelay(unsigned long usecs);
> -
> -#endif /* _ASM_RISCV_DELAY_H */
> diff --git a/xen/arch/x86/cpu/microcode/core.c
> b/xen/arch/x86/cpu/microcode/core.c
> index c3fee62906..48822360c0 100644
> --- a/xen/arch/x86/cpu/microcode/core.c
> +++ b/xen/arch/x86/cpu/microcode/core.c
> @@ -23,6 +23,7 @@
> =C2=A0
> =C2=A0#include <xen/alternative-call.h>
> =C2=A0#include <xen/cpu.h>
> +#include <xen/delay.h>
> =C2=A0#include <xen/earlycpio.h>
> =C2=A0#include <xen/err.h>
> =C2=A0#include <xen/guest_access.h>
> @@ -35,7 +36,6 @@
> =C2=A0
> =C2=A0#include <asm/apic.h>
> =C2=A0#include <asm/cpu-policy.h>
> -#include <asm/delay.h>
> =C2=A0#include <asm/nmi.h>
> =C2=A0#include <asm/processor.h>
> =C2=A0#include <asm/setup.h>
> diff --git a/xen/arch/x86/delay.c b/xen/arch/x86/delay.c
> index 2662c26272..b3a41881a1 100644
> --- a/xen/arch/x86/delay.c
> +++ b/xen/arch/x86/delay.c
> @@ -15,7 +15,7 @@
> =C2=A0#include <asm/msr.h>
> =C2=A0#include <asm/processor.h>
> =C2=A0
> -void __udelay(unsigned long usecs)
> +void udelay(unsigned long usecs)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long ticks =3D usecs * (cpu_khz / 1000)=
;
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long s, e;
> diff --git a/xen/arch/x86/include/asm/delay.h
> b/xen/arch/x86/include/asm/delay.h
> deleted file mode 100644
> index 9be2f46590..0000000000
> --- a/xen/arch/x86/include/asm/delay.h
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -#ifndef _X86_DELAY_H
> -#define _X86_DELAY_H
> -
> -/*
> - * Copyright (C) 1993 Linus Torvalds
> - *
> - * Delay routines calling functions in arch/i386/lib/delay.c
> - */
> -
> -extern void __udelay(unsigned long usecs);
> -#define udelay(n) __udelay(n)
> -
> -#endif /* defined(_X86_DELAY_H) */
> diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
> index 9d70ef035f..a5189329c7 100644
> --- a/xen/include/xen/delay.h
> +++ b/xen/include/xen/delay.h
> @@ -3,8 +3,9 @@
> =C2=A0
> =C2=A0/* Copyright (C) 1993 Linus Torvalds */
> =C2=A0
> -#include <asm/delay.h>
> =C2=A0#define mdelay(n) (\
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0{unsigned long msec=3D(n)=
; while (msec--) udelay(1000);})
> =C2=A0
> +void udelay(unsigned long usecs);
> +
> =C2=A0#endif /* defined(_LINUX_DELAY_H) */
I forgot to update xen/arch/{x86,arm,ppc}/include/asm/Makefile:
    generic-y +=3D delay.h

Should I send a new patch version or it can be updated durig merge?

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630023.982663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Nq8-0002wX-IQ; Fri, 10 Nov 2023 09:30:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630023.982663; Fri, 10 Nov 2023 09:30: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 1r1Nq8-0002wQ-Fs; Fri, 10 Nov 2023 09:30:12 +0000
Received: by outflank-mailman (input) for mailman id 630023;
 Fri, 10 Nov 2023 09:30: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1Nq7-0001uY-9j
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:30:11 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id be664b94-7fab-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 10:30:10 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-9c3aec5f326so603559166b.1
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 01:30:10 -0800 (PST)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 jg4-20020a170907970400b009e6b055fa88sm70072ejc.148.2023.11.10.01.30.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 01:30:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: be664b94-7fab-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699608610; x=1700213410; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=EcKY48LyU5VlZDtLPrfiLgbRiJe5nJipcY3d0hW3yuQ=;
        b=mbunApu3f0ZZPNL3u3bLEOQPhv2cDdzUf1hssxMTljOU3auX/UBsmRsOwZRrLlSJND
         wYxq9HAHzLQUwob3hamIxs2VF1SspiwRexpqSxa7cs6HZdNPKIzGaD9ZwipdHbFDRYfI
         ChDlGLfFbTyZOoPwHJS6ofsTCvMu13oFPE7Ih3A9NC+25Ti49o0ouNI1J8ccyjEcSSNp
         XpbQnl0t47MPS/qLgzQe1pjnTI5PxCuWDKZaqkmO4dpTQAg5RLVJp5+qwkKOiwxFDLLy
         3R/aUXX2NIrmyelGwCr9TX7uC2g7gByXCIby19SBwEywx8MwzWTXizp7/LMnD8NXlww1
         TQHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699608610; x=1700213410;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=EcKY48LyU5VlZDtLPrfiLgbRiJe5nJipcY3d0hW3yuQ=;
        b=maDqZCwUVs6tnHOLNYN/ppBPYNs3oNZcQ9Zc6UcyczX3aCK7stWhVhAHO8m8JTUk6G
         hGKVhhOMv3aLHmKE/ebloBR0+izGrM5U9xT+6LL1iCkcVSGD1k/Kl4cu71YYddb+7hRS
         jfzyou0n7dBdMCCQvzkwOMqvxnvMx8KYbnoicKUpCn8LFu0o32+KXAc4HqOVAZJPX3Ee
         DiFCryI/Faav9lCSSL+QahsV3JwldDhD/OggQWYnkI45GI73UIkotR27luyvocCnM0tl
         h1Ayy2rBVkhxPnQSlnLqEr4sIUp1mAuW6nxCgEH1lETqYgBYpK7CpLiGmTAcK46DHhw+
         DUPw==
X-Gm-Message-State: AOJu0YyDU1v3ZKHQCDGta0VAjwXsgfajNKx4jQcafrHySJPsp0AbhUvB
	xh00BxQSN1oFRizZnF3ojNaWIs5c/Ag=
X-Google-Smtp-Source: AGHT+IG+iKdxNyAwaRP3AS5MkRE7Tw1RsdVdv3cnySOsuTpES9fnvqihFXobro82BFG7VGVtfjsKPA==
X-Received: by 2002:a17:906:4b47:b0:9e1:f0d0:327e with SMTP id j7-20020a1709064b4700b009e1f0d0327emr1614276ejv.6.1699608609654;
        Fri, 10 Nov 2023 01:30:09 -0800 (PST)
Message-ID: <99c3a51292fcc85da0759a5abe84e97c6c429358.camel@gmail.com>
Subject: Re: [PATCH v2] xen: remove <asm/delay.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.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>, Shawn Anastasio
 <sanastasio@raptorengineering.com>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>
Date: Fri, 10 Nov 2023 11:30:08 +0200
In-Reply-To: <3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
References: 
	<3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

Hi all,

On Tue, 2023-10-31 at 16:28 +0200, Oleksii Kurochko wrote:
> <asm/delay.h> only declares udelay() function so udelay()
> declaration was moved to xen/delay.h.
>=20
> For x86, __udelay() was renamed to udelay() and removed
> inclusion of <asm/delay.h> in x86 code.
>=20
> For ppc, udelay() stub definition was moved to ppc/stubs.c.
>=20
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> Changes in v2:
> =C2=A0- rebase on top of the latest staging.
> =C2=A0- add Suggested-by:/Reviewed-by: Jan Beulich <jbeulich@suse.com>.
> =C2=A0- remove <asm/delay.h> for PPC.
> =C2=A0- remove changes related to RISC-V's <asm/delay.h> as they've not
> =C2=A0=C2=A0 introduced in staging branch yet.
> ---
> =C2=A0xen/arch/arm/include/asm/delay.h=C2=A0 | 14 --------------
> =C2=A0xen/arch/ppc/include/asm/delay.h=C2=A0 | 12 ------------
> =C2=A0xen/arch/ppc/stubs.c=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 7 +++++++
> =C2=A0xen/arch/x86/cpu/microcode/core.c |=C2=A0 2 +-
> =C2=A0xen/arch/x86/delay.c=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 2 +-
> =C2=A0xen/arch/x86/include/asm/delay.h=C2=A0 | 13 -------------
> =C2=A0xen/include/xen/delay.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 2 +-
> =C2=A07 files changed, 10 insertions(+), 42 deletions(-)
> =C2=A0delete mode 100644 xen/arch/arm/include/asm/delay.h
> =C2=A0delete mode 100644 xen/arch/ppc/include/asm/delay.h
> =C2=A0delete mode 100644 xen/arch/x86/include/asm/delay.h
>=20
> diff --git a/xen/arch/arm/include/asm/delay.h
> b/xen/arch/arm/include/asm/delay.h
> deleted file mode 100644
> index 042907d9d5..0000000000
> --- a/xen/arch/arm/include/asm/delay.h
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -#ifndef _ARM_DELAY_H
> -#define _ARM_DELAY_H
> -
> -extern void udelay(unsigned long usecs);
> -
> -#endif /* defined(_ARM_DELAY_H) */
> -/*
> - * Local variables:
> - * mode: C
> - * c-file-style: "BSD"
> - * c-basic-offset: 4
> - * indent-tabs-mode: nil
> - * End:
> - */
> diff --git a/xen/arch/ppc/include/asm/delay.h
> b/xen/arch/ppc/include/asm/delay.h
> deleted file mode 100644
> index da6635888b..0000000000
> --- a/xen/arch/ppc/include/asm/delay.h
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -#ifndef __ASM_PPC_DELAY_H__
> -#define __ASM_PPC_DELAY_H__
> -
> -#include <xen/lib.h>
> -
> -static inline void udelay(unsigned long usecs)
> -{
> -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> -}
> -
> -#endif /* __ASM_PPC_DELAY_H__ */
> diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
> index 4c276b0e39..a96e45626d 100644
> --- a/xen/arch/ppc/stubs.c
> +++ b/xen/arch/ppc/stubs.c
> @@ -337,3 +337,10 @@ int __init parse_arch_dom0_param(const char *s,
> const char *e)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> =C2=A0}
> +
> +/* delay.c */
> +
> +void udelay(unsigned long usecs)
> +{
> +=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> +}
> diff --git a/xen/arch/x86/cpu/microcode/core.c
> b/xen/arch/x86/cpu/microcode/core.c
> index 65ebeb50de..22d5e04552 100644
> --- a/xen/arch/x86/cpu/microcode/core.c
> +++ b/xen/arch/x86/cpu/microcode/core.c
> @@ -23,6 +23,7 @@
> =C2=A0
> =C2=A0#include <xen/alternative-call.h>
> =C2=A0#include <xen/cpu.h>
> +#include <xen/delay.h>
> =C2=A0#include <xen/earlycpio.h>
> =C2=A0#include <xen/err.h>
> =C2=A0#include <xen/guest_access.h>
> @@ -35,7 +36,6 @@
> =C2=A0
> =C2=A0#include <asm/apic.h>
> =C2=A0#include <asm/cpu-policy.h>
> -#include <asm/delay.h>
> =C2=A0#include <asm/nmi.h>
> =C2=A0#include <asm/processor.h>
> =C2=A0#include <asm/setup.h>
> diff --git a/xen/arch/x86/delay.c b/xen/arch/x86/delay.c
> index 2662c26272..b3a41881a1 100644
> --- a/xen/arch/x86/delay.c
> +++ b/xen/arch/x86/delay.c
> @@ -15,7 +15,7 @@
> =C2=A0#include <asm/msr.h>
> =C2=A0#include <asm/processor.h>
> =C2=A0
> -void __udelay(unsigned long usecs)
> +void udelay(unsigned long usecs)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long ticks =3D usecs * (cpu_khz / 1000)=
;
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long s, e;
> diff --git a/xen/arch/x86/include/asm/delay.h
> b/xen/arch/x86/include/asm/delay.h
> deleted file mode 100644
> index 9be2f46590..0000000000
> --- a/xen/arch/x86/include/asm/delay.h
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -#ifndef _X86_DELAY_H
> -#define _X86_DELAY_H
> -
> -/*
> - * Copyright (C) 1993 Linus Torvalds
> - *
> - * Delay routines calling functions in arch/i386/lib/delay.c
> - */
> -
> -extern void __udelay(unsigned long usecs);
> -#define udelay(n) __udelay(n)
> -
> -#endif /* defined(_X86_DELAY_H) */
> diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
> index 9150226271..8fd3b8f99f 100644
> --- a/xen/include/xen/delay.h
> +++ b/xen/include/xen/delay.h
> @@ -3,7 +3,7 @@
> =C2=A0
> =C2=A0/* Copyright (C) 1993 Linus Torvalds */
> =C2=A0
> -#include <asm/delay.h>
> +void udelay(unsigned long usecs);
> =C2=A0
> =C2=A0static inline void mdelay(unsigned long msec)
> =C2=A0{

I forgot to update xen/arch/{x86,arm,ppc}/include/asm/Makefile:
    generic-y +=3D delay.h

Should I send a new patch version or it can be updated durig merge?

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:30:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:30:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630026.982673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NqR-0003TS-VJ; Fri, 10 Nov 2023 09:30:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630026.982673; Fri, 10 Nov 2023 09:30: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 1r1NqR-0003TL-SI; Fri, 10 Nov 2023 09:30:31 +0000
Received: by outflank-mailman (input) for mailman id 630026;
 Fri, 10 Nov 2023 09:30: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=fVdC=GX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r1NqQ-0001uY-Jf
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:30:30 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c93cc022-7fab-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 10:30:28 +0100 (CET)
Received: from AS9PR05CA0358.eurprd05.prod.outlook.com (2603:10a6:20b:490::25)
 by AS4PR08MB7928.eurprd08.prod.outlook.com (2603:10a6:20b:577::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 09:30:21 +0000
Received: from AM2PEPF0001C712.eurprd05.prod.outlook.com
 (2603:10a6:20b:490:cafe::a7) by AS9PR05CA0358.outlook.office365.com
 (2603:10a6:20b:490::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.21 via Frontend
 Transport; Fri, 10 Nov 2023 09:30:21 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C712.mail.protection.outlook.com (10.167.16.182) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.17 via Frontend Transport; Fri, 10 Nov 2023 09:30:21 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Fri, 10 Nov 2023 09:30:21 +0000
Received: from 6dc7d8b754e4.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 465F921F-378C-48F4-A59E-FE7411347A5D.1; 
 Fri, 10 Nov 2023 09:30:14 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 6dc7d8b754e4.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 10 Nov 2023 09:30:14 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by VE1PR08MB5741.eurprd08.prod.outlook.com (2603:10a6:800:1b3::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 09:30:12 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f6b:d51:7aa3:ad16]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f6b:d51:7aa3:ad16%6]) with mapi id 15.20.6977.019; Fri, 10 Nov 2023
 09:30: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: c93cc022-7fab-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AGLkVhUeJOW5wLlsEGIEGvbDns55trcJOQoCzbFHFAODyB8rMLbSx+z6pVJRWMywXUfp57OVhBNJ9RM0Bmt+7YrtskYcrt+gMdh190XI9u/KchJSoM2ndLXc2wWbJX9HjsDob7f656CUx/vGosmsg5aE7awkP5nXMkVuBF+L+IQ5CdraokJ1zd2vzsjsRDyP6sgnAD8WKsZsEKrtLNGeqm/WL8oTB3n6FnQWw2PyizjIazNB/4Q5Ke4aKmh5sOt+qMADhE05RlmB9Me4elLUxWAtjzLiiDWFdvKpwhNQShCqQs0d8Cha2ZvzRwW9j8HTeAs70gG0gZIopaJjgf0DLw==
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=5enDbHKeOspL9dlEtYf6mrz5pcNhPPasm7en2wriDG0=;
 b=II3D0LV9bDtU1gsxjGLKseaDn8f5oD/wBrE9Ufi5w6pMdux7yoaUrAkTY+7NIsCu9p4C+0725RoXx8u2WUfk3McstQNLw5qiVgFpI0MEQctwhWuVG0TA2FaXCbmPZsq9gR0pzQQhrquo58fXi4ReK5QD0eJH4/fQ8oUP0/49c/anHxVElG39NQCrtiMsQwTxAg92+fIiSia5ZA1irJhTQpwdnh1G4LpimEirG7FkxAviT7RmhH3Orx5UwIvf7NNcHl3eWvHcMepBNmFAM0QH2/82cuBD3XTivF3yqMJ/7vbrIAEcJVmL6GRosHvibMYJKMFD4n7ReXOseA5vzNvwLw==
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=5enDbHKeOspL9dlEtYf6mrz5pcNhPPasm7en2wriDG0=;
 b=7Lj0cEPefME96+27sI/EadqtH4z+Y4LvenYTNPlRpj9o//AHaMU2u/mK5Lbnhl9+sccHvAyDQrBq9edYbWWY0uiJ5bVBnU73nbA7jY7jViLrD5Q7LSvM98j1v+nSKD0p49DgAlbwv6H9H3V9zm/JTPlhHBzatOono1AvkrOfY74=
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: 593ce6cf7aa5defe
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C3T/8RnMG0XMxiNVDH2SPmi837XD1pFsFH2t2A8iy5Q1gQa2KB6y3GQWojb9DLCa7CGTqviBbT5yVIEN7WFGHaAxOsPF0LDiXBTuCcg/4zB8JspLbZUX81lUOjNS9Cph+uVdkTsh9wMUNmxlhNMw0Hubvmqa1EkoFLp04lOJ3YH0gRam9S0rEjJ7lzmnN7YTOvB8Hvt0sCSwDZhzJs2ail5wJcQRMYixDcqeDOxPf0ykqUHJRxdo8NVqoL6C9RsF8SAqzwInr9J7WwzGY8IGbWjREheHQLsBVBJoIOVyQwzckKa1zGkCUmxv+Q7TR1pSZFKdpk/uCrv5CbhKQ+lhPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5enDbHKeOspL9dlEtYf6mrz5pcNhPPasm7en2wriDG0=;
 b=iFrmht6ShkLjDr9Wunx7x/FCvG0avgG7jj+lphasR1lvSUyGSSGtqxI+uMOQsurGMGkUAHDLRnI73ao8Fo/mjiAGIgS5g85iRJKqJXWcLnayz9eJLGUqah+Uvlw/jOEZPTMQZvv9AwioQpYE5lsw2thSz3sdTNj0WaLUh7jDGbtRdO2CtGfoDfxoXUktN9oO7xzm2lOO2CgW5w1G2FJ76aS55YzMeQZmcWPyaIQMwDDefLjFr65IW27DdHytMlzWDKgXaorLzrNSLgkN4XPsKWCKNrCCDQJg41Pv6zKX3EPuwd2SfJjAjBldfEutKP1j2123Ad/rrhzdu8qqN/6NRw==
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=5enDbHKeOspL9dlEtYf6mrz5pcNhPPasm7en2wriDG0=;
 b=7Lj0cEPefME96+27sI/EadqtH4z+Y4LvenYTNPlRpj9o//AHaMU2u/mK5Lbnhl9+sccHvAyDQrBq9edYbWWY0uiJ5bVBnU73nbA7jY7jViLrD5Q7LSvM98j1v+nSKD0p49DgAlbwv6H9H3V9zm/JTPlhHBzatOono1AvkrOfY74=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 v3 5/5] arm/dom0less: introduce Kconfig for dom0less
 feature
Thread-Topic: [PATCH v3 5/5] arm/dom0less: introduce Kconfig for dom0less
 feature
Thread-Index: AQHaEuwVAcRvSKcty0WG4JBMWUF0b7BzQ0WAgAABDgCAAAbKAA==
Date: Fri, 10 Nov 2023 09:30:12 +0000
Message-ID: <3BB52078-B58C-4476-867A-B29438C56487@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-6-luca.fancellu@arm.com>
 <43a1c5c8-6243-4912-bf3f-f3e35b504271@amd.com>
 <9FE35A69-2EEF-4098-8F9E-B373D813AB47@arm.com>
In-Reply-To: <9FE35A69-2EEF-4098-8F9E-B373D813AB47@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|VE1PR08MB5741:EE_|AM2PEPF0001C712:EE_|AS4PR08MB7928:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e4a40ed-157d-4b8b-bc5e-08dbe1cfa905
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:
 bU3JHc7qRHgTqEDS73NQupiFKTaXx/NBS4+aWy3fpt6UgckRPNfqrrwKdAvUIXJV8qBH1Rfu0BAFuVV+AsK7oJdoGxVyl3tDcm3YMbO17qT4d91liersra4TK0HMupfWKAwws0B6I6dcM0nOjBhDVVTX8NzDJcbajShizBxfsp/rcDktmtTWyErZL5iCFUgFCudkEHLldLVFHrIG1sOp64nDEG41k4qo6DzHBtyNtUR97zn6oSG9MjT0EC3TAQwQ6O5z3ZONFqek9IeqirKkuYjmc8J1lkw/j4EPpy5sWH09y9pUe0xXZJEJq2knrDHDFeTdFImA2ahFJc7LVQTNbMHjhOxR3OfXzXccOzEk7HRaCL2INdQt5D/Z/yPbLEA1+mPwB/Ukp+xrI4A1C5kTM7lx1HAF41xlcaRiFcGJEcZwVEnF6xXns+T9YQYAFHlq8+ZK/bIWAbWC97rAvqLMNoaVt1ufEcf47R8ckmAN9j3fsA+EalVg7u6mFKJlqGSDe1saqoI734Zu4igWF65Y65O5R1nbrxve5cOP8dgV/Nmlc8nltX2GJEaUOnZTng/g5nfzQyy6S0LXRZCEdQURAqw1u6sS9TecKKSqCz8UYn55I06Q76mJeezF9WHsj2Gn9ZhF8XcFM2/wf/Xx/AQQcWfm/JQNOD2nwkkvpIl/2Dw=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(39850400004)(136003)(376002)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(478600001)(71200400001)(6486002)(53546011)(6506007)(38070700009)(33656002)(36756003)(38100700002)(86362001)(122000001)(41300700001)(2616005)(5660300002)(6916009)(66476007)(54906003)(76116006)(66556008)(66446008)(64756008)(91956017)(6512007)(66946007)(26005)(316002)(4326008)(2906002)(8676002)(8936002)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <D8BEA954D0894C43A7DA410289863562@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5741
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:
 AM2PEPF0001C712.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	70c5b5e1-22ac-4f10-662d-08dbe1cfa3bc
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lE58xl4pt8715uJsA7heSqk3loIT/lqL7FK6tYxJ/yRTWGx8QjBnLcFlY6i4LvxUt5cFmfM7zUxB1DP6asAbZBQpKLZDtkm3GYdxCYUFc1vhn7Emv04Yjf12P0jSkCKLjSYVSRws2tpG60ZBqqzElLgqcMoKMdY29Rqu1OAXt4zRxEK/QD0E4Ka9RqzTCLlnsUuzfjVKmCRxLIwJ0dlCouP8m/+1A+KyC+yxNCD25FfPyqicmJcYKtyM3kd0EFAhrJxdtqBkLgK/u53vVgRX/jsaliJ2Fnkf53iBwEg8Ygzk6WuEQRqN6aJ5Fa+A6woEwAPwqhbigQ/F2pSXGP2QAaIQDUhOFxqQf7uOSk8KdSF6JizBJOPuoF7Oeiynn+/fE98IBGMn9TxYvp4bAKCsmlkL7eFGTkUZFqD+c8M5ZnGzlqakGzUTkMN6Ww4e7Js6mGzcRD/u/uDb5vpVUAuj/GQfpyEkDSyw9vKeAT9vTHcASaV9fYrXcScBce0sU17dIwzR6PApihNy9fSWpszkvsDTI6o10Ev6SATCFyQYCW12fH7UPOtpqDh8dhA+rvGOry2y7j+8gPPMZXJ8Yh8bxAjlTZeIZYVBUTp38MRQPlpqMtWSMYu2XFEdl85XheTY6887p0Ll1NE1+Nx+CXgy6uey8E1m/7AEOzJoF/O3LjeaRnuTIEdAdwrkcnDFqCe3emN2CGbkllXqPjK2wgRYUMQQDQOC3IkO7pTp+juDYgYGHJokx+23YQ4a7MaJppz4z/lCs8izuOLeKaXIDv3qxg==
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:(13230031)(4636009)(376002)(39860400002)(396003)(136003)(346002)(230922051799003)(451199024)(64100799003)(82310400011)(186009)(1800799009)(36840700001)(40470700004)(46966006)(107886003)(6486002)(2616005)(6512007)(336012)(40460700003)(82740400003)(36756003)(478600001)(70586007)(54906003)(70206006)(26005)(6506007)(53546011)(316002)(4326008)(6862004)(5660300002)(8936002)(8676002)(40480700001)(2906002)(41300700001)(47076005)(36860700001)(33656002)(81166007)(356005)(86362001)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 09:30:21.2793
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e4a40ed-157d-4b8b-bc5e-08dbe1cfa905
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:
	AM2PEPF0001C712.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7928

DQoNCj4gT24gMTAgTm92IDIwMjMsIGF0IDA5OjA1LCBMdWNhIEZhbmNlbGx1IDxMdWNhLkZhbmNl
bGx1QGFybS5jb20+IHdyb3RlOg0KPiANCj4gSGkgTWljaGFsLA0KPiANCj4+PiANCj4+PiArY29u
ZmlnIERPTTBMRVNTX0JPT1QNCj4+PiArICAgICAgIGJvb2wgIkRvbTBsZXNzIGJvb3Qgc3VwcG9y
dCIgaWYgRVhQRVJUDQo+Pj4gKyAgICAgICBkZXBlbmRzIG9uIEFSTQ0KPj4gWW91J3JlIGluIHRo
ZSBBcm0gS2NvbmZpZywgc28gdGhlcmUgc2hvdWxkIGJlIG5vIG5lZWQgZm9yIHRoaXMgZGVwZW5k
ZW5jeSAoaXQgaXMgaW1wbGljaXQpLg0KPj4gDQo+PiBBcGFydCBmcm9tIHRoYXQsIHdlIGhhdmUg
MiBmZWF0dXJlczogc3RhdGljIG1lbSBhbmQgc3RhdGljIHNobWVtIHRoYXQgYXJlIG9ubHkgbWVh
bnQgZm9yIGRvbTBsZXNzIGRvbVVzLg0KPj4gU2hvdWxkbid0IHdlIG1ha2UgdGhlbSBkZXBlbmRl
bnQgb24gRE9NMExFU1NfQk9PVD8gT3RoZXJ3aXNlLCB3aGF0IGlzIHRoZSBwdXJwb3NlIG9mIHNl
bGVjdGluZyB0aGVtDQo+PiB3aXRoIERPTTBMRVNTX0JPT1Q9bj8NCj4gDQo+IFN1cmUsIEnigJls
bCBhZGQgdGhlIGRlcGVuZGVuY2llcyBhbmQgcmVtb3ZlIHRoZSBBUk0gb25lDQoNCkp1c3QgdG8g
YmUgc3VyZSwgaXMgaXQgd2hhdCB5b3UgYXJlIGFza2luZz8NCg0KZGlmZiAtLWdpdCBhL3hlbi9h
cmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gvYXJtL0tjb25maWcNCmluZGV4IDAzOTlmMmZhZjcz
NC4uZDljNTM0MGZmM2EyIDEwMDY0NA0KLS0tIGEveGVuL2FyY2gvYXJtL0tjb25maWcNCisrKyBi
L3hlbi9hcmNoL2FybS9LY29uZmlnDQpAQCAtOTAsNyArOTAsNiBAQCBjb25maWcgR0lDVjINCiAN
CiBjb25maWcgRE9NMExFU1NfQk9PVA0KICAgICAgICBib29sICJEb20wbGVzcyBib290IHN1cHBv
cnQiIGlmIEVYUEVSVA0KLSAgICAgICBkZXBlbmRzIG9uIEFSTQ0KICAgICAgICBkZWZhdWx0IHkN
CiAgICAgICAgaGVscA0KICAgICAgICAgIERvbTBsZXNzIGJvb3Qgc3VwcG9ydCBlbmFibGVzIFhl
biB0byBjcmVhdGUgYW5kIHN0YXJ0IGRvbVUgZ3Vlc3RzIGR1cmluZw0KQEAgLTIxNCw3ICsyMTMs
NyBAQCBzb3VyY2UgImFyY2gvYXJtL3RlZS9LY29uZmlnIg0KIA0KIGNvbmZpZyBTVEFUSUNfU0hN
DQogICAgICAgIGJvb2wgIlN0YXRpY2FsbHkgc2hhcmVkIG1lbW9yeSBvbiBhIGRvbTBsZXNzIHN5
c3RlbSIgaWYgVU5TVVBQT1JURUQNCi0gICAgICAgZGVwZW5kcyBvbiBTVEFUSUNfTUVNT1JZDQor
ICAgICAgIGRlcGVuZHMgb24gU1RBVElDX01FTU9SWSAmJiBET00wTEVTU19CT09UDQogICAgICAg
IGhlbHANCiAgICAgICAgICBUaGlzIG9wdGlvbiBlbmFibGVzIHN0YXRpY2FsbHkgc2hhcmVkIG1l
bW9yeSBvbiBhIGRvbTBsZXNzIHN5c3RlbS4NCiANCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL0tj
b25maWcgYi94ZW4vY29tbW9uL0tjb25maWcNCmluZGV4IDRkNmZlMDUxNjQxZC4uZTBlNWY0NDg1
ZDFmIDEwMDY0NA0KLS0tIGEveGVuL2NvbW1vbi9LY29uZmlnDQorKysgYi94ZW4vY29tbW9uL0tj
b25maWcNCkBAIC0xMDAsNyArMTAwLDcgQEAgY29uZmlnIE5VTUENCiANCiBjb25maWcgU1RBVElD
X01FTU9SWQ0KICAgICAgICBib29sICJTdGF0aWMgQWxsb2NhdGlvbiBTdXBwb3J0IChVTlNVUFBP
UlRFRCkiIGlmIFVOU1VQUE9SVEVEDQotICAgICAgIGRlcGVuZHMgb24gQVJNDQorICAgICAgIGRl
cGVuZHMgb24gQVJNICYmIERPTTBMRVNTX0JPT1QNCiAgICAgICAgaGVscA0KICAgICAgICAgIFN0
YXRpYyBBbGxvY2F0aW9uIHJlZmVycyB0byBzeXN0ZW0gb3Igc3ViLXN5c3RlbShkb21haW5zKSBm
b3INCiAgICAgICAgICB3aGljaCBtZW1vcnkgYXJlYXMgYXJlIHByZS1kZWZpbmVkIGJ5IGNvbmZp
Z3VyYXRpb24gdXNpbmcgcGh5c2ljYWwNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:30:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:30:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630029.982682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Nqi-0003xE-5R; Fri, 10 Nov 2023 09:30:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630029.982682; Fri, 10 Nov 2023 09: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 1r1Nqi-0003x5-2u; Fri, 10 Nov 2023 09:30:48 +0000
Received: by outflank-mailman (input) for mailman id 630029;
 Fri, 10 Nov 2023 09:30: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1Nqg-0001XY-Ek
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:30:46 +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 d2c523a1-7fab-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 10:30:44 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-53e2308198eso2954516a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 01:30:44 -0800 (PST)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 bh11-20020a170906a0cb00b0099bd1a78ef5sm3673074ejb.74.2023.11.10.01.30.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 01:30:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2c523a1-7fab-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699608643; x=1700213443; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=k97xU64J5vTy/lN5XAno/ceDC32Hc2VjxczYpdq0V9E=;
        b=JJDItUL0PIeIlE/n/Rs/Aax3GCjXRQCC76dhHtVC0gUF/7XFIFQS/elOgCZ+9gq5cY
         O4c8KTd/JxdFibx091u61LYtMjN3ZupxsDy8cEq+OjT2tHqfs24zkQYoUcnwjTKkx1S+
         Cf72GgqztS5PtNyD72mTbosewJW1Wl0GaQo35cP7eox/g/Yi83H/z79KV2VwgMsZfFP1
         +TfJeLwGVSHNaobNOsmQh6TcY7wYVer2vDzgbb7U6LxdcBuVdWyeSTzR9JHQMG3BnEyM
         Dr6HCWyfiDuJRtt+7npj14dUoRj/FH14dgiRNji1kuHPObvkcc16Avfj0PYvjN5Epk8z
         qWdg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699608643; x=1700213443;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=k97xU64J5vTy/lN5XAno/ceDC32Hc2VjxczYpdq0V9E=;
        b=hN+x9yyEThUfxEWxs3q1fSXuwsRncDPspw3dm2GnLDiXnjnMim0XsNoKJ36n9oGugA
         mKVIkGBNL4V2W/4AUW5pV+T1MKlfMBB/F8FPrxCRW46ZLYAm9+//NKfrLp3gTGhBp4pS
         9BLr+PAnGQx3rSW18MEnQey+Qr6ENi15bHdpX2k+b+dgSjOWa7by25pD8UPhjRafPykC
         4c7jJLu6l5GVLPF3x0U4tna5WCeZ252w9eJI5y4wKl5bpAWmbGkB/DdSi36P1XWxlSbX
         vWzl4zhkoYhC9k0vYPeimZmefCMck5fihwvaBqhw3qIby8jpTzrbaG1/o0zUTiM7vzu1
         sLTA==
X-Gm-Message-State: AOJu0Yzc7MxeclzCCnCFvVEIQY+Aoun/x0N+/nhIjIUoP2hEPSprXqzT
	VlP0fC+pp9L6ZWXu3GK5ffRO1GFXoyE=
X-Google-Smtp-Source: AGHT+IGzmjVJdcdsnEeSMCIGbu/93thi48QpGa7cwuah868JfRpL+vbvVDHzMRlhqIUpje7R8j/iqw==
X-Received: by 2002:a17:907:71c8:b0:9e4:198e:6c30 with SMTP id zw8-20020a17090771c800b009e4198e6c30mr3972571ejb.45.1699608643355;
        Fri, 10 Nov 2023 01:30:43 -0800 (PST)
Message-ID: <1d89dceb97c82504d4ed66d95f799f0a2e433716.camel@gmail.com>
Subject: Re: [PATCH] xen: avoid generation of stub <asm/pci.h> header
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.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>, Shawn Anastasio
 <sanastasio@raptorengineering.com>
Date: Fri, 10 Nov 2023 11:30:42 +0200
In-Reply-To: <f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
References: 
	<f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

Hi all,

On Wed, 2023-11-01 at 12:15 +0200, Oleksii Kurochko wrote:
> Platforms which doesn't have HAS_PCI enabled it is needed to
> have <asm/pci.h>, which contains only an empty definition of
> struct arch_pci_dev ( except ARM, it introduces several
> ARM-specific functions ).
>=20
> Also, for architectures ( such as PPC or RISC-V ) on initial
> stages of adding support, it is needed to generate <asm/pci.h>
> for only define the mentioned above arch_pci_dev structure.
>=20
> For the Arm-only stubs ( mentioned in <asm/pci.h> for disabled
> HAS_PCI and ARM-specific) will be needed
> to add <asm/pci.h> directly alongside <xen/pci.h>. Only to
> <arm/domain.c> <asm/pci.h> was added.
>=20
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> =C2=A0xen/arch/arm/domain_build.c=C2=A0=C2=A0=C2=A0 |=C2=A0 1 +
> =C2=A0xen/arch/arm/include/asm/pci.h |=C2=A0 7 -------
> =C2=A0xen/arch/ppc/include/asm/pci.h |=C2=A0 7 -------
> =C2=A0xen/include/xen/pci.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 | 11 +++++++++++
> =C2=A04 files changed, 12 insertions(+), 14 deletions(-)
> =C2=A0delete mode 100644 xen/arch/ppc/include/asm/pci.h
>=20
> diff --git a/xen/arch/arm/domain_build.c
> b/xen/arch/arm/domain_build.c
> index 49792dd590..2dd2926b41 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -23,6 +23,7 @@
> =C2=A0#include <asm/kernel.h>
> =C2=A0#include <asm/setup.h>
> =C2=A0#include <asm/tee/tee.h>
> +#include <asm/pci.h>
> =C2=A0#include <asm/platform.h>
> =C2=A0#include <asm/psci.h>
> =C2=A0#include <asm/setup.h>
> diff --git a/xen/arch/arm/include/asm/pci.h
> b/xen/arch/arm/include/asm/pci.h
> index 8cb46f6b71..7f77226c9b 100644
> --- a/xen/arch/arm/include/asm/pci.h
> +++ b/xen/arch/arm/include/asm/pci.h
> @@ -130,13 +130,6 @@ bool pci_check_bar(const struct pci_dev *pdev,
> mfn_t start, mfn_t end);
> =C2=A0
> =C2=A0#else=C2=A0=C2=A0 /*!CONFIG_HAS_PCI*/
> =C2=A0
> -struct arch_pci_dev { };
> -
> -static always_inline bool is_pci_passthrough_enabled(void)
> -{
> -=C2=A0=C2=A0=C2=A0 return false;
> -}
> -
> =C2=A0struct pci_dev;
> =C2=A0
> =C2=A0static inline void arch_pci_init_pdev(struct pci_dev *pdev) {}
> diff --git a/xen/arch/ppc/include/asm/pci.h
> b/xen/arch/ppc/include/asm/pci.h
> deleted file mode 100644
> index e76c8e5475..0000000000
> --- a/xen/arch/ppc/include/asm/pci.h
> +++ /dev/null
> @@ -1,7 +0,0 @@
> -#ifndef __ASM_PPC_PCI_H__
> -#define __ASM_PPC_PCI_H__
> -
> -struct arch_pci_dev {
> -};
> -
> -#endif /* __ASM_PPC_PCI_H__ */
> diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
> index 251b8761a8..168ca320ce 100644
> --- a/xen/include/xen/pci.h
> +++ b/xen/include/xen/pci.h
> @@ -68,7 +68,18 @@ typedef union {
> =C2=A0=C2=A0=C2=A0=C2=A0 };
> =C2=A0} pci_sbdf_t;
> =C2=A0
> +#ifdef CONFIG_HAS_PCI
> =C2=A0#include <asm/pci.h>
> +#else
> +
> +struct arch_pci_dev { };
> +
> +static always_inline bool is_pci_passthrough_enabled(void)
> +{
> +=C2=A0=C2=A0=C2=A0 return false;
> +}
> +
> +#endif
> =C2=A0
> =C2=A0struct pci_dev_info {
> =C2=A0=C2=A0=C2=A0=C2=A0 /*

I forgot to update xen/arch/{arm,ppc}/include/asm/Makefile:
    generic-y +=3D pci.h

Should I send a new patch version or it can be updated durig merge?

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:30:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:30:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630030.982693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Nql-0004GF-Em; Fri, 10 Nov 2023 09:30:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630030.982693; Fri, 10 Nov 2023 09:30: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 1r1Nql-0004G6-Ap; Fri, 10 Nov 2023 09:30:51 +0000
Received: by outflank-mailman (input) for mailman id 630030;
 Fri, 10 Nov 2023 09:30: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=jLlG=GX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r1Nqj-0001XY-Gt
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:30:49 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2058.outbound.protection.outlook.com [40.107.13.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d490e92f-7fab-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 10:30:47 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB9974.eurprd04.prod.outlook.com (2603:10a6:150:11a::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.16; Fri, 10 Nov
 2023 09:30:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.010; Fri, 10 Nov 2023
 09:30: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: d490e92f-7fab-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g/1smTd/U5W/l897e/zpPXNFQ/9KyD5+HpvdEJH4zKYvagtLMVt3fcG19zRVPTf0YrV28gbu+3jkPkypwEtyClYTx1tyOBp4qFdAhTQEjMR4aXOeNqa5cYiUz+majaELYrB54fojYOHAPIsJMaJbXtNCwpAkxz3tbR3WvHiyajjIFkDZmF1eXZsoHSvaCsbkkFO/+jmvbVmI7/k8sDfWfcKLOXfMVM9Xt70VXULD99n3RQoH4MgtcNYt2IqyLNYojYTO4ekmXiLJF31/dgqcnQBIBtfOLISqUfJIRYOyi+L7pawea9Q1/gTkUe+1OF2exPb0tXPVH25WBiD2a11eYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IvEW3lHlPjDqZW6RjabtN6gmhKE3xf1ZYztQzCTecSo=;
 b=DMVRjHnJRa0ZNzXrSnBdp0aXbjQ+nx+erMJVyrFnbqtn2eiIOFbITOYxHkgbdfEy03dvdBR7iU532E2Z8fkuCi6BPg/ubwFQ7aG5/GCJDXn5OGTju0HHq4E6Hh7aLx6S5iOrRl3NYdlN37EjedH1lo++H5ZU0jrEhC3bqDhdInCjjX6evXtgYqae3RqTqgiO3BdeVtDOyQQ0AknFGBSCZGRYyrgWRVzmpaWEpSVFxsJp+9oJTJIIQZcrX8+sTWZrQtNCQRu2a0Y4iqzDqzZ1jfY4D5BXm8kyNW9nF0fFGNnHR8U6ZfT/NZFGdscdKjZ2QLE5fmtCOM/GggPZmaeYhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IvEW3lHlPjDqZW6RjabtN6gmhKE3xf1ZYztQzCTecSo=;
 b=tZ5kR+UgL7on0ejo9CTbXtT95VY8kwnbgQFbgMmlZNnQtfCl2dV6e/cpbKtVybD47QSQZR9kbEk+MHL8mbICCM2uJ7QFVtE5epSDQq1hU/fGSM8NcnKgk+qskSK17aeFCPEYwHzX8TSVkMhf4r6SuokfGQMUmQ92s2Sxl6v+QWwCJozJR/pBhBTDLYc/d+jJjGkYXwycWx/tN+fVDO8p8uceC3G1JvZwAbDFWuVZpvWFIzUeJcI69vRF9Oqc7Z7W6gryNPCZxfw40NtShUYCnhGvwHyj19Ma+bLs7/41j7hgpEc1+XI+OU3OCQhMep7myhg/GOE5dZwVPsRtLPDXAA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2ae66eda-3560-2930-4bbb-87345a719f32@suse.com>
Date: Fri, 10 Nov 2023 10:30:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] include/hw/xen: Use more inclusive language in comment
Content-Language: en-US
To: Thomas Huth <thuth@redhat.com>
Cc: xen-devel@lists.xenproject.org, qemu-trivial@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, qemu-devel@nongnu.org,
 Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>
References: <20231109174034.375392-1-thuth@redhat.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231109174034.375392-1-thuth@redhat.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0222.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e4::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB9974:EE_
X-MS-Office365-Filtering-Correlation-Id: f3e3923f-52ca-4884-8217-08dbe1cfa75a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d5/xI2/rrcWpsxMxR6o0Rn/QFMZhk1/PFwfISIaMi62ypc5dE6E5l7gEoNoo5njvBPXfRu5RAW7L/G4r/NDbmaMSb/10jH0EHjgXbArxthFlru6Uweh9uRK6zHSG8rgyM6VzcU+vko2ItzaBz1JBT0E5BQWXXHFiUyl3Hq92YDnEtDDomVrK6dysQZGXT+OzmcX1gthOu6eDIb0/9SyTAhviYSoxIYREGTY6FnxjcqfQcFXv9X8xVT9oOCAxI76SAj/Sn8TIaABsu07IkgytYnKpqmMEDzyeC20yDQeeueW8c41RWOnhrmM6MrwajMwI8jdnBtqCG5zmmJ6xtl9jUDXWbBqVv9KI4vMQxIISvdAkGy9gr/iRLlxQmROVX/BglH20Ll6K8nvqQmTRdsQE5LgpU5sAzQ7yAp7ggj0zU//1rWLCss7PTmeHuTSPPOlVw11A0bvDtsAhA5lUgaPX0myVyyw4JElcwx1kOI2dy6/UFnxhRgRM8ryvGQLA93sQPcGJw6/L1YD2rD6+kNijqpYv45Y0ColgFojidusoPFkQVIllRO0LiW24oPjF16PTsVY9Fco4fVQOcUGCYhc1fODLNm2xrgxrJl0+75a10rBIhbI2tBggzIg31WrBiF0brM5xFcfKNcOgQQF4UpqSiw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(346002)(366004)(136003)(396003)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(36756003)(31686004)(86362001)(31696002)(38100700002)(53546011)(26005)(6506007)(2616005)(6486002)(316002)(66476007)(8676002)(66946007)(83380400001)(66556008)(8936002)(54906003)(4326008)(6916009)(478600001)(2906002)(5660300002)(6512007)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmVkS2hBMEJnNGZpNEt2Z1E2NFh0c1FaVlBpRHFPQk96QlZTZnNFdFQ5Q1Zh?=
 =?utf-8?B?Rk1YR05vUEQ2QjRzbzZYVnY1OFpWTmNmazBDbG9paGQ2bDY3RDduTFh4UnRM?=
 =?utf-8?B?VzVnVXZYdWxncXhGeFEyTXhHSzBhaFhNRGhXRmlPNDF5dktVcTdmN2RKT05N?=
 =?utf-8?B?MTFjL3N4dkpZV2hjZTlKS0R6U24wbWp0K2JCYWRVeVJPRHh5NFJxT3AxNWZj?=
 =?utf-8?B?bFFVb245Y2U4TDZ4YVczcVBlU1laaW5pMk5XL0hkSm1RbHZUTDhTemxlUEZP?=
 =?utf-8?B?MHlQOXRKNDBXYnU3U1drcVcrNktIN3RGOERjNEZoN09CTHVFbXo3OTI2OWFM?=
 =?utf-8?B?T0lUT2NxZmVsMEZaWTV5VlVXZHU1elRzTUV6d3E5SnY5SDJDQWc5YzlaZ2sr?=
 =?utf-8?B?U1VHb3hLNEM3ZVEvWFNGVzlSSWIzN2JNYkdYTVUwM203ZUlnbHpGQ2FMNXZp?=
 =?utf-8?B?dWRkSlo5ZlYzdlhmY1FPMlJlTjRNNDA1OU5JRytaN2QzQ3FsZWxqQi9FZS92?=
 =?utf-8?B?ZDBEQ0xSZ2JvaE55c3FIanlsOVJNVkc2VFhONm5jOThrSkFUdld3YjRjVDdr?=
 =?utf-8?B?byswN1RLM0UyWHFKcG9kSFdxTEszSG9IeVFsY0FDVXJTTXRwTU1EbjF4UEt4?=
 =?utf-8?B?QTJ6Vy94dFJMeGtZWTJiQWhxMVFCNHErTHBKWXBuOEJ6Rzc1VkxLckJXbXpq?=
 =?utf-8?B?SkN6ckg3UE1pNXdWSmg3cWNtQmM4RTQzTER6blBDS3FsVm90NnJkSjhuVUxh?=
 =?utf-8?B?clBqR09vSFJkUEUwSGNKTGlhTVNOTEJkMWhaMTl0dkRFVW9SUkc0bTJmQkpN?=
 =?utf-8?B?cGsxMUVQaFJWQmdmVVRhbnQ1eUQ4czExbmtJcXk3dU5hYUNNRHl5emNybUw1?=
 =?utf-8?B?cW82TGdnMGZKMlhWV2c1dGtNenZza1VRcnhlRTFjT2pTdm42dFA2M0NqRnFY?=
 =?utf-8?B?Uy9WSXRHZ0pDN0hDN2hWOGc4N1I4SFBjSVVTUzFUcTM1UTJUcUM1U3VkOEVB?=
 =?utf-8?B?eEx1U2RoM2NjSGxwMk5vQWEwUHdBWWlCWGsvMFBlUm1zdnFMSkhsaHZLNGd3?=
 =?utf-8?B?YWRoT0Uwamg3NlNkR2NYRW9wcGMxOWpjTkJadDJRb2JQYXVQeWV2MXpSRUZL?=
 =?utf-8?B?TVFjbm05dkhQKzBEdTZVMDBZWXBFSk5pb2thSWNVM1F6SUNXYXZKek1PTS9M?=
 =?utf-8?B?UVhIRFl0S0gvVzBJeitnMHdkTTV4eDJRRDZQVlExK0x0bStVdS85NDNiODdP?=
 =?utf-8?B?V1NLUjM2c3V0a25JbC9MOTN6WURtMXdFNk1YamlrcEFNWVNjU3pSZDVidUtR?=
 =?utf-8?B?di9INENVY09lSVdINnFvWDFGY2Q0RVZ6b2tyTGFLVFUyT0pSRkhCeTFVL3B1?=
 =?utf-8?B?U0ljMG5vRDlkWVdEQVNOVVNyejBVa25LL1VRODJuelFKMDN1UUhwdFNRdGxX?=
 =?utf-8?B?R1FxNFJiRlNxd2tQRkhyVDJRTHBFVU0wdE9UWmxuWllHUUNtRTA4WEF6STJX?=
 =?utf-8?B?eVQ3Y0wvTFRUczRTM2xnTmxack1aMUYxTTc5VDRBYWtJSTE1U2JMcWp5MWp1?=
 =?utf-8?B?LytHbkcvbmJUbktuaW56NDZMMytCYXV4YXV0RVlIZUZDanlZNG5zRXAvbEty?=
 =?utf-8?B?OE9zRGJGaWM2K1BRSnhoSG04aHNMS3pxNmY5czRsSHpMdlpQbjJaZ1E2WU1s?=
 =?utf-8?B?SXE4b0R6aUFlaG1ZdXNJWjVQYlppaVEvbzFRMW9neXFIOW5FQ3FRV05xRzVa?=
 =?utf-8?B?dkR5dEJIVmpSKzVQblVUNmp2cVF0S0F4bE16c3VmU09ZT2tBYVRvQWd2dkpX?=
 =?utf-8?B?cVRLSDhoL1dpdHJMZHJaSkNOY09mcGZJdmRhZVRIUVM2L1h4YWZrZ2g3a0p0?=
 =?utf-8?B?RTF6VnZrYmZ4Z0xjS2g2dWdkMWRwZkovNEc5eWZlbXdzeXJ4MmRxai95QWY1?=
 =?utf-8?B?YWQwZlZOSmE3YkhTZ0l5cm9WWFMwamNvUTVxK1NGQWptcDg3OXJuckxjenFp?=
 =?utf-8?B?Y0dhUFpoZHp0NVRmZUFaYUw2aUI3TnZhaHFRVms0UFBvUm5wUFh1bGRrVm1k?=
 =?utf-8?B?RitiS0g5M0x3TUVFSFNXVzhiQ1RFbk1MV2Q4ZlRsUXl4T0pwOVZ4SndUT3B2?=
 =?utf-8?Q?583b0gsY50cBUtiQhcn+RS3m9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f3e3923f-52ca-4884-8217-08dbe1cfa75a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 09:30:18.6388
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: K4Rkptm/ieZtSmM50ebRLskeisBlan4OFSpwa5Jx7P7IW8UYJrMyzonyr/uvrOm8nmFtZu+ovCrMju8ybtFVmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9974

On 09.11.2023 18:40, Thomas Huth wrote:
> --- a/include/hw/xen/interface/hvm/params.h
> +++ b/include/hw/xen/interface/hvm/params.h
> @@ -255,7 +255,7 @@
>   * Note that 'mixed' mode has not been evaluated for safety from a
>   * security perspective.  Before using this mode in a
>   * security-critical environment, each subop should be evaluated for
> - * safety, with unsafe subops blacklisted in XSM.
> + * safety, with unsafe subops blocked in XSM.

To avoid another round trip when you send the patch against xen.git, as
already asked for by others, I'd like to point out that the wording
change isn't describing things sufficiently similarly: "blocked" reads
as if XSM would do so all by itself, whereas "blacklisted" has an
indication that something needs to be done for XSM to behave in the
intended way. Minimally I'd suggest "suitably blocked via", but perhaps
yet better wording can be thought of.

Jan

PS: Personally I'm against such avoiding of certain words. Them being
misused is not really a justification. New wording (perhaps not
specifically here, but considering the underlying wider theme) is going
to be misused as well, leading to the need to come up with yet different
wording, and so on.


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:33:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:33:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630042.982703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Nt5-0005Pn-0F; Fri, 10 Nov 2023 09:33:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630042.982703; Fri, 10 Nov 2023 09:33: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 1r1Nt4-0005Pg-TQ; Fri, 10 Nov 2023 09:33:14 +0000
Received: by outflank-mailman (input) for mailman id 630042;
 Fri, 10 Nov 2023 09:33: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=jLlG=GX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r1Nt3-0005PT-8k
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:33:13 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20602.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a65ba1b-7fac-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 10:33:12 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9643.eurprd04.prod.outlook.com (2603:10a6:102:241::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Fri, 10 Nov
 2023 09:33:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.010; Fri, 10 Nov 2023
 09:33: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: 2a65ba1b-7fac-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GnGOjvhHsWp6cBfaUXPEqHral+bVPG7dJPouJh+iIWi2VH6NbZE8/mTGmxM9N0mD22PeKrv65tRaExD5U0tmntmTlTn058JGGthnngtoccrQxoc0V1bVtBgeitahrIM/WJLChxd+22JFvhYaLs3OSGk02oAcjEwiLl2Jh2RnD2FL8d+Ij2HlrXbJjytIegVbo1hebgJUEMwdJf4n9x1bcr584P3dYsDCAPIJUYXxdn8GQOuNbMzszXx5HwXZhsnM0jseY8lzv7MnIplLmE3bxsSHzrRCDWcfP7x25/+kCjlUDWDYkO5rcnx/re5mf3kswsClodje9Z5hzOSMwVnQ0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZbHg0+MVw0zY/+OS5g62zJJ+UsywqM2pZlP+yJHUWf8=;
 b=cNEPKH6tw06OnVDgF71e7C9UQFcB4Auxmefu6Dx9klkBYzQSdm9zTPSilbTebgaq95eNjj12Nu5LLZKP7MQauE7dZKe3yxjTDwZjgtUPJD1ujFX9aWa0UnldD5jX+iz7x04W9GnaQJs8BhxOWtzc85ng+30RRGmr2vOALtvqGP69cNIQcSlRG0XQCUB3QsXnQEl5HM0hPquKlyjYQaWrAgxUdPNGnEcFe8hQ8BWx+LsIlBtsguj8twlT88SJdtYkR2G6lU21QgEJjIPltRPWi3B8Abq39ze0C6pwt53FCUiogAC3EaJEAck110WcXgGcORRvZyMH6mTDHw3FW7tftw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZbHg0+MVw0zY/+OS5g62zJJ+UsywqM2pZlP+yJHUWf8=;
 b=5Rn0eX/HkVtp4fw0PpySoYdI6BVwEj9SKzIBNGjqEpUrr883/C+7IwlzG+2LMBOtxCNbVQGadt7MMsSQ9oCisWqfPVphTgepwPKhzfd3VpHDwKGA5/4wnJmLVBX9GCYWLGhf4RM5SxrnBqagQz+UJlP4StbTv0Ypi2h7EAbuj04a+S+Jjn0EDc7oYGeaILb0GlYptLZ/Sdzhi+KXbBWpQIVKTR0bTrMpeh2Ynsv/dosjnHMAX/BmzQ/UjCVgZBGtSqinn/EaXHT136qe4mhLUgfj5uHza+F8hb+/7krdczXg6FKzvL+vgY8NCEJNpvrac4PsUra7h3X5FtZG5sqWwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <783660ff-63d8-62b9-1859-33614e0d128b@suse.com>
Date: Fri, 10 Nov 2023 10:33:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2] xen: remove <asm/delay.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
 <99c3a51292fcc85da0759a5abe84e97c6c429358.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <99c3a51292fcc85da0759a5abe84e97c6c429358.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0120.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9d::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9643:EE_
X-MS-Office365-Filtering-Correlation-Id: e22ef7e3-27b7-4137-1e05-08dbe1d00d3a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jz1P3d+3Mrsu015mOOHzhpKx+Tl8a7p3IS7igHRJVjaROP215/gjyP5eObv/wUzy7FhrwMYhbEuGJ3pzKTXLFMwRwMr3IOwt55qw9a61rKD0dSdTZ7hizmguzEhgKvu7cYKdNWyVrOYO/qU9x/+aQ5Fzf8MuBJQtzxpD32YLDI+9+ZUgxVV0Mk9nFAyAiwVg0eYmm5o9e5QCOUzs48uyxsQjBbLQFIhNHfKg3tOxV35eWiOu9i1hWuRxYz35YZEHF4u8dMyEZvC1XRAygGgjgPxthxG7/ws8mvg5Od5929odefmLjiQOugAF/b4xs8bd7iet1PWGdyGVj48jE/BJTZXOynRKNkj+64zekIh/J7J0PNyN2Rg/gZCllQ3NdQ686Iq78RnwbehWi7So4z/IYJkulBz/QahHUMYWq2oFaOs+id998OvYe7AuCUubr68dgWMOIXdTQlN2vPYnnjkLJSzaeZcZsGNUvDq/eGipPXSLpyE4FEAWo6cgiRwSBXqcTyrrZh6/ZFFFUMMfuDvSOCAN1OECdmR2ZZ1ClFctNjEQorEAjiKC5Ef5SMj+gTDqV/XHd0zMMvblFAG9PCRNOgAzMAj89213psftqBEJauK2RumbdboiyKeLrW+/JJ1jCwQ493O/Fx5G2DaYFI+quw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(136003)(376002)(346002)(39860400002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(2616005)(2906002)(26005)(4001150100001)(66556008)(53546011)(66946007)(83380400001)(6506007)(6916009)(36756003)(66476007)(41300700001)(6512007)(316002)(4326008)(7416002)(5660300002)(8676002)(86362001)(54906003)(31696002)(8936002)(38100700002)(478600001)(31686004)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjVMcmUvK0xtYzlKSGNhdDdDeVdwcmQ5TWo3SFZpQ3FzbnBmVTBGSk9aL2Vv?=
 =?utf-8?B?UTJydlh1b1ZtRXNDVG5ZN2pIMmR5Qlc0NHNuN1pkL0hNcTdxNWRyMGRNY0pY?=
 =?utf-8?B?SUJNUDQrZUwvMks2K0ZlVXNjalNEVnR5dm8zREk2S3oyenZETWRYZFdsUlVj?=
 =?utf-8?B?K3B3YWk3eGZqRzVWbjNOWlhYOHpiLzYyTUZac04wTDZHZVkxeHY1bEdEbkVG?=
 =?utf-8?B?QWpvV29tU3RuOEluVU95bGJiK2lKTGJtelZkQytQS1NnSzZiaS9RbGpzZEl3?=
 =?utf-8?B?VXY3ak5EYUt0Z3dnTzZLRWFvZkRTMzhXdEFXMHY3WTdFaHVQL0tnNjhqUkhp?=
 =?utf-8?B?SUVBQlJURWZRY3VHa3JtQzBRbmlaTTk4RVRDVFR5YTUyWFI4V09IYXdDbUxu?=
 =?utf-8?B?SUxENUliNFBKRDJNYUpEY2owYUlodEQzMStxZzRJNkdZVHZLbFVBS0tFWCtJ?=
 =?utf-8?B?YnBZNVRjV21UYXF5cnRPdmNjdFZtRmQ2TGo3WlNkU3VNSGZJdzBWaHgveThB?=
 =?utf-8?B?aFBiWUlqN1RzVm9ZbUNBUWtCUVJRSXJkaUhIYWo5TUZYbGdpQ0lDUjk3VFM0?=
 =?utf-8?B?cld1bUFWbjBXTW5WbmxwSXpLcmJFOVgvYTZYb0p2dVNuelZHWUhCWm05NlJN?=
 =?utf-8?B?M1dHTjJWc1hqRlhzOGtqR3B2T2kwRXl0RGJSMi9CU3l2R2UwRjc2aTBheFdR?=
 =?utf-8?B?ank1STMvSmNaWEJSWmZMa3dpbU5GQVZaQTNkR0VxbUdtVzZsZXdDSTNGMHc3?=
 =?utf-8?B?SERvTy8wQ0ZMblNBMU0zYWRKbkMxaVU4dzQxWUNFTmhxMjZLRHYxNnY2ekQ5?=
 =?utf-8?B?dEdEMDU3NGx4bmV5bEdrS1cxYnJiRERKNFZGbkdyalVJWjArWXlURnhYaDh2?=
 =?utf-8?B?Qm1VTmN0c3dCMk11cGozMVpyamF1TTcrdlFsR0JaNnFDdks5OHA4VG9rNk5O?=
 =?utf-8?B?STZ2Q0lUbnlIOWNibW82V2lyVTkrbWlaQnlMbnAyQ3lKMEF3TkQwckkvUmtD?=
 =?utf-8?B?QWorc3Rvdm5kem1ia3h3QTZaT0ViR0RETVJETWwxK0hVcUR6ZFNGSDhJbjJL?=
 =?utf-8?B?NUg5OERZcjgzZk5jaCtJYmpHTjFqNVBPSWpnc0E5THN4TVNoQWI4ZXdmNHFq?=
 =?utf-8?B?Qm1VK3YwRkpYNUVPS2hUbTZ4SU1jeC9QeEgxd3lZUXdtUXZ2NHBEekk5ek1O?=
 =?utf-8?B?MXNPUVh3a2xjaGJyTFkyMHVKcVlQb0tFbXk5dy9XbGVmSE1KTjMyVXduUFcv?=
 =?utf-8?B?NEVGVVRaYlg5K25OTmtMSkl0czc2REo1dk9iTzJqQ0QxdXBLWG0vR0ZPNm1z?=
 =?utf-8?B?K1JUcGUxdU8wRXM3aGh3bXZGVjRWdGNsR1JuL3JwZE93WEhvdk9hb29rcHBN?=
 =?utf-8?B?MWJzM1BLSnBvOXV4aG45RjgyTVBkY1J1Mk8wcnlKVUIveDVleWttOFoxOTM1?=
 =?utf-8?B?eUhQNWpzZHo4d1puOTJFUzByU1NsMlV4QnJRcG1rVE5hMEEzbThwdk5jVFZ5?=
 =?utf-8?B?cms4VDFocmNLQmJ5eWVYYy9ZVkwrRkFmQVFGS3RDclhqblJWb3BIN0hEdmJm?=
 =?utf-8?B?eDZiTVBGdmZvQUt6OWVGenU2UjVtcloxQU9ZMTlmTGd0V1FaOGFYdzFTVGh3?=
 =?utf-8?B?UG91N1p0aXhYenJDMWFEU1JnbU15aXc1YlFxeHVPS1NnSENCSWMxYyswdTE1?=
 =?utf-8?B?QWlVaFdyaEF1bHpscStKVXYyb3JhREw2UTF0MTZyL3dpUmZQYkZLZTN4MWVi?=
 =?utf-8?B?a2o0ZWpjSjF4T01yZnFQbllPUXRScjRoRXlpRHROMFVMMXZFMS9saDVoSXVP?=
 =?utf-8?B?Vk5Vdk9MbWpJc0RTOTRKa0EyNWYrelhocG8wTmh1dXRyS1gvU3RXbmFrU0hi?=
 =?utf-8?B?UjM5UWF3aTNzYXBUN3FYcjJpWldpdlAvOFpuOGtzaG90NDNkUmVmMlZUVFdS?=
 =?utf-8?B?QkpCcGlhYWVWZlRabnI5dXhncUNjQnpJc2VYcGdMbjdwYVU1d0E5QTh2d2kv?=
 =?utf-8?B?UzU2cDRudTNySUxyeTBUdFFmcW5oQXltMEdiQnB0QU4vVERjTkVwZVhHcERP?=
 =?utf-8?B?ejg0a0NScFIvQlBzWC84TFl1bzdtZzBvZ2JacTNQWC84U2dIS1dMbyszY0c2?=
 =?utf-8?Q?mgRUcSDxiM77/IURQksrtexvf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e22ef7e3-27b7-4137-1e05-08dbe1d00d3a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 09:33:09.5333
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f8T/tJffqZ+0OhZjbPo+LfBsNxCBBbOd7U9hbwUb/IxkwKatsf2Rxdtw5h2uD6q6qinszkoPJaQrP1KYiBbNCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9643

On 10.11.2023 10:30, Oleksii wrote:
> On Tue, 2023-10-31 at 16:28 +0200, Oleksii Kurochko wrote:
>> <asm/delay.h> only declares udelay() function so udelay()
>> declaration was moved to xen/delay.h.
>>
>> For x86, __udelay() was renamed to udelay() and removed
>> inclusion of <asm/delay.h> in x86 code.
>>
>> For ppc, udelay() stub definition was moved to ppc/stubs.c.
>>
>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Changes in v2:
>>  - rebase on top of the latest staging.
>>  - add Suggested-by:/Reviewed-by: Jan Beulich <jbeulich@suse.com>.
>>  - remove <asm/delay.h> for PPC.
>>  - remove changes related to RISC-V's <asm/delay.h> as they've not
>>    introduced in staging branch yet.
>> ---
>>  xen/arch/arm/include/asm/delay.h  | 14 --------------
>>  xen/arch/ppc/include/asm/delay.h  | 12 ------------
>>  xen/arch/ppc/stubs.c              |  7 +++++++
>>  xen/arch/x86/cpu/microcode/core.c |  2 +-
>>  xen/arch/x86/delay.c              |  2 +-
>>  xen/arch/x86/include/asm/delay.h  | 13 -------------
>>  xen/include/xen/delay.h           |  2 +-
>>  7 files changed, 10 insertions(+), 42 deletions(-)
>>  delete mode 100644 xen/arch/arm/include/asm/delay.h
>>  delete mode 100644 xen/arch/ppc/include/asm/delay.h
>>  delete mode 100644 xen/arch/x86/include/asm/delay.h
>>
>> diff --git a/xen/arch/arm/include/asm/delay.h
>> b/xen/arch/arm/include/asm/delay.h
>> deleted file mode 100644
>> index 042907d9d5..0000000000
>> --- a/xen/arch/arm/include/asm/delay.h
>> +++ /dev/null
>> @@ -1,14 +0,0 @@
>> -#ifndef _ARM_DELAY_H
>> -#define _ARM_DELAY_H
>> -
>> -extern void udelay(unsigned long usecs);
>> -
>> -#endif /* defined(_ARM_DELAY_H) */
>> -/*
>> - * Local variables:
>> - * mode: C
>> - * c-file-style: "BSD"
>> - * c-basic-offset: 4
>> - * indent-tabs-mode: nil
>> - * End:
>> - */
>> diff --git a/xen/arch/ppc/include/asm/delay.h
>> b/xen/arch/ppc/include/asm/delay.h
>> deleted file mode 100644
>> index da6635888b..0000000000
>> --- a/xen/arch/ppc/include/asm/delay.h
>> +++ /dev/null
>> @@ -1,12 +0,0 @@
>> -/* SPDX-License-Identifier: GPL-2.0-only */
>> -#ifndef __ASM_PPC_DELAY_H__
>> -#define __ASM_PPC_DELAY_H__
>> -
>> -#include <xen/lib.h>
>> -
>> -static inline void udelay(unsigned long usecs)
>> -{
>> -    BUG_ON("unimplemented");
>> -}
>> -
>> -#endif /* __ASM_PPC_DELAY_H__ */
>> diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
>> index 4c276b0e39..a96e45626d 100644
>> --- a/xen/arch/ppc/stubs.c
>> +++ b/xen/arch/ppc/stubs.c
>> @@ -337,3 +337,10 @@ int __init parse_arch_dom0_param(const char *s,
>> const char *e)
>>  {
>>      BUG_ON("unimplemented");
>>  }
>> +
>> +/* delay.c */
>> +
>> +void udelay(unsigned long usecs)
>> +{
>> +    BUG_ON("unimplemented");
>> +}
>> diff --git a/xen/arch/x86/cpu/microcode/core.c
>> b/xen/arch/x86/cpu/microcode/core.c
>> index 65ebeb50de..22d5e04552 100644
>> --- a/xen/arch/x86/cpu/microcode/core.c
>> +++ b/xen/arch/x86/cpu/microcode/core.c
>> @@ -23,6 +23,7 @@
>>  
>>  #include <xen/alternative-call.h>
>>  #include <xen/cpu.h>
>> +#include <xen/delay.h>
>>  #include <xen/earlycpio.h>
>>  #include <xen/err.h>
>>  #include <xen/guest_access.h>
>> @@ -35,7 +36,6 @@
>>  
>>  #include <asm/apic.h>
>>  #include <asm/cpu-policy.h>
>> -#include <asm/delay.h>
>>  #include <asm/nmi.h>
>>  #include <asm/processor.h>
>>  #include <asm/setup.h>
>> diff --git a/xen/arch/x86/delay.c b/xen/arch/x86/delay.c
>> index 2662c26272..b3a41881a1 100644
>> --- a/xen/arch/x86/delay.c
>> +++ b/xen/arch/x86/delay.c
>> @@ -15,7 +15,7 @@
>>  #include <asm/msr.h>
>>  #include <asm/processor.h>
>>  
>> -void __udelay(unsigned long usecs)
>> +void udelay(unsigned long usecs)
>>  {
>>      unsigned long ticks = usecs * (cpu_khz / 1000);
>>      unsigned long s, e;
>> diff --git a/xen/arch/x86/include/asm/delay.h
>> b/xen/arch/x86/include/asm/delay.h
>> deleted file mode 100644
>> index 9be2f46590..0000000000
>> --- a/xen/arch/x86/include/asm/delay.h
>> +++ /dev/null
>> @@ -1,13 +0,0 @@
>> -#ifndef _X86_DELAY_H
>> -#define _X86_DELAY_H
>> -
>> -/*
>> - * Copyright (C) 1993 Linus Torvalds
>> - *
>> - * Delay routines calling functions in arch/i386/lib/delay.c
>> - */
>> -
>> -extern void __udelay(unsigned long usecs);
>> -#define udelay(n) __udelay(n)
>> -
>> -#endif /* defined(_X86_DELAY_H) */
>> diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
>> index 9150226271..8fd3b8f99f 100644
>> --- a/xen/include/xen/delay.h
>> +++ b/xen/include/xen/delay.h
>> @@ -3,7 +3,7 @@
>>  
>>  /* Copyright (C) 1993 Linus Torvalds */
>>  
>> -#include <asm/delay.h>
>> +void udelay(unsigned long usecs);
>>  
>>  static inline void mdelay(unsigned long msec)
>>  {
> 
> I forgot to update xen/arch/{x86,arm,ppc}/include/asm/Makefile:
>     generic-y += delay.h
> 
> Should I send a new patch version or it can be updated durig merge?

My take is that such a change wouldn't be appropriate to do by the
committer. But: Why would this be needed? You're not introducing
asm-generic/delay.h. Everything is moved to just xen/delay.h.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:34:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:34:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630049.982712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Nub-0006Tg-9t; Fri, 10 Nov 2023 09:34:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630049.982712; Fri, 10 Nov 2023 09:34: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 1r1Nub-0006TZ-7N; Fri, 10 Nov 2023 09:34:49 +0000
Received: by outflank-mailman (input) for mailman id 630049;
 Fri, 10 Nov 2023 09:34: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=jLlG=GX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r1NuZ-0006S7-Ta
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:34:47 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6314b565-7fac-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 10:34:47 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7584.eurprd04.prod.outlook.com (2603:10a6:102:ed::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.10; Fri, 10 Nov
 2023 09:34:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.010; Fri, 10 Nov 2023
 09:34: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: 6314b565-7fac-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B/mwU26/HX6YgGTuxPNOSy48C0lg50X7WEnYRWFtsgFr48sk/YccsnQE6p+kwyCQ/wxW62LZ+9RyFS4LTSsTOXYYtuh4bYwC/lbWwruhR2ftbMvqd7k+vJM+pgRowySAQCQj9H4lJ8JH0+Jh7G51HhZO2kuyzViHB4N9YPj5z5u56cp4RZc2JEPlUylv7m2lkqSjkgxbQk7DWe1fj2vH+0fkgcaPaF1POmvOxfv1lJy3PFJNzAu2YvB4X/22f3PO/Q5ZZYRAuWHZRi+C+qlBYbn4kMNKGN+qCCGhPrTiQlfXMJeKtyMIEI64RIqcDX/xQXtKvI4qUY0o0gm4h5B/bA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eQMTXp8hgQIkI/VQbbdppFggdV0nhGdskW9+sMqBag0=;
 b=DIkmjy9IKJ5KslL++EZYMTc5bkiYbqLERvyLLdwIHT69yO59J7okVt9hG7bQZV8ahqFB3sgU5HW12kvnmXBAhnXr7h1BPMoQoumroM5D5x54Y1YNN2PAmI547LwWYChq107DREKsOFsbqVocetXsMGbYIUKWkEyneLTq19n+t4TBtABLPIhZYycmjtg8TFofHHwZSmJ3tIqAPF4NQU1VAZpljVTTfC0/n6kKHZuBCLFJE6zD1ueulcYUwDD3kq3BXI7BkjZJ5QzRbaFph6M9yOtMcni3pkR4I8xgVLb9NoxMGgbeqCifFUNOUONGV8IKUMWOay3Rfi8hLSCWipBWSg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eQMTXp8hgQIkI/VQbbdppFggdV0nhGdskW9+sMqBag0=;
 b=WeQ9SEJy90NqCdmfouUcItImkjzDk/zGjL6RmdC8rl10E0Wgk5nzdHgI7yBlENb6MWd/TJFfY2krw9Gj7rHA/PnfwZFdkiChfgdKAbaS6DBb77MrgC/kJKIUhi+mxogQzWvsJOKCuIF6/DAyUyee6wGAprz5JtpLfXvKnnQ+rBkPfXwHq8eGqtyeTiVXY1yAgtcWvSDWRKenCeVpffZPFvP0/6f+D6EPwmRrUojk7J2Kj37usLYOyEQkb9hhm/IRKpWpsc8EWRR3a1Q0UkalJVePI8J/bsu/zH37TppO/Tu82ONYgTAL+lHOykWyU0u6T+Cerv2FzLFLJxwnxHg7JQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3d411372-8092-5f78-6905-56e13a418bec@suse.com>
Date: Fri, 10 Nov 2023 10:34:42 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] xen: avoid generation of stub <asm/pci.h> header
Content-Language: en-US
To: Oleksii <oleksii.kurochko@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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <f3fff005a4f9af419144d768afcf2fd4de3f21a4.1698833709.git.oleksii.kurochko@gmail.com>
 <1d89dceb97c82504d4ed66d95f799f0a2e433716.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1d89dceb97c82504d4ed66d95f799f0a2e433716.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0118.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7584:EE_
X-MS-Office365-Filtering-Correlation-Id: 9e7c9c3f-814b-4e86-e650-08dbe1d04607
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UbZ8xWTy8cY5F+9BXDkCpMts560qYpfWM5j6iHFk/3BVvQgVJXuofP5j0e7W9El5Ycl/iNssJygT/CciZK1O/owGhyZQ1GePv+sQaYrxePmFlGGBEFrBOEmihUbeZFkjJPlFQawfPI2PJCJv0e0K6x7X6JCTZU1mOPcUUsAtjWiRn+biGuZKJT35yX+aLua1pfElURoLIOA0G/EbNAwDiU4KpEpzJAenIdn1ZKfiv9Y0p643QScXQQEkO38EnWYj5o2qCQ4BhWh+rymkAQcQ1fYvR6+iyPJEsqjD1O4TJGpsKyXEz9bMH/k+HHTuC+33cmfjOgwtF6gJ8isOAulgALLdabiEEjwdGm06vZdBND1QQ58DBfXaWaR5d6pL3nxqXl48K26L/IX6q6a3LjI3haW5xj091KdnlVt5TLS2j9QsGdbBOFCfHs81cidT02AwKWf77JkoEmA6MNw9Yny9oJOqDUvejXMl4FpbppwM2+fH+mFzLvM4rFwsFhHooySVPsWUTGtKVmNAk7jjAvK9kq2GDKtAlK8YtjvzVQ4MlkuAAP6FOVa72FTda15myR9laHwxZHXVrNDRAMM3Vxjgvzx5UiZ6y1glSAeXUr7waiUjfE0VQliWab1mp4iSYtnCDL1BAYyK+0Cv3qtr/gbVPA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(136003)(366004)(376002)(346002)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(31686004)(6506007)(53546011)(83380400001)(38100700002)(2616005)(6512007)(558084003)(2906002)(5660300002)(8936002)(8676002)(41300700001)(4326008)(86362001)(7416002)(36756003)(31696002)(316002)(66556008)(66476007)(54906003)(66946007)(6916009)(26005)(478600001)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K3RwaGlGc21mTE0ra2pCMDdmSkFQT1FwOXY0MmdXRkRyalNuemxrNlJtTksv?=
 =?utf-8?B?c3BRalU2OEhYVit4ZnZvRFdORHRSTzJRY0FvL1BSRlJVU0pnYlpvZGIrZE84?=
 =?utf-8?B?UWg3SStDNzA3NXlxZGloUmtlT2Y0VmJZd0tCWjdmS0tlLzFpL1pVcDY4TElD?=
 =?utf-8?B?N2U3UDV4ZmhHbi82cHp0QXc2bDlkNHEyRElZeGxmOUQ1OVgxelNvOW5EMzIy?=
 =?utf-8?B?dDVXMVZhZEdzanJSVE5MM2JERnJaUnFqZ05ZaDlndDhBSXNOSnNVSEZycFBD?=
 =?utf-8?B?ekJNK05sb0xRSi81SVVrSnlaUkNmZElJdHROR2NjMG1IUno1V00wYkxHQ3hv?=
 =?utf-8?B?blMwem93SUdwRWM4d0htWklqVWMvME04V0VveDUwNGRQclo5eVQ3a2tuYXNy?=
 =?utf-8?B?cUpROVNHUEI4UEtQNFAwc0I4TW9DU2pNMXFHY25CQnFvNGhPS3FJTjBVOUMz?=
 =?utf-8?B?TmhRZ2hMRFQ0bGo0UHNaTHBraExaNW5DU1NqZjdkczZ2TXo3NFB1QXo3Yjdm?=
 =?utf-8?B?c3YvcXVxZWlpMnl1ZDJnQ3hIbXdRNUVMdncrS2hQc25VYlpGSENFeDVMNFIy?=
 =?utf-8?B?SUdVWmRXeTVodnc3dmRUSnFSRWg0NEgxU3RMeEdpZnNJRDQrUytma2plUEVs?=
 =?utf-8?B?TURpSHI4WlBPUkYzVGZzcnlpcUxOUFFueTN5QlFkbXVWU2NTYVBiVmFvTjdU?=
 =?utf-8?B?WU83dHhDSE95aXZBM1FQa0ZaQ1MzbjBBdEt0YmtCRGpOVmpVbXVqdDZlWFJk?=
 =?utf-8?B?eE9DRjJManNGRFUwaW1rckVoUnI2UWZGYVVJSkVaOTFoaHFNc0NtK1MvcVhh?=
 =?utf-8?B?TWFveGNoeHN0MGlXQldMWW1Sc0phY1BrN2VTR0lhWHlJQVJOQVRlZDdxQnlz?=
 =?utf-8?B?alAvSndUcTJqM3JtUHIvUUpGWEt4QXJuSkF6bkNaTzV1M0hvcVFaZGtjSEZk?=
 =?utf-8?B?b3E1TDMwVkRKcWc2eFVNY1AvSUdBK0gyV1hMejFNbTA5cE5IdkdqMGFSak5Q?=
 =?utf-8?B?ZmRDMkxFRUMzSkZHZzhpdjNjZzVqckRvQUNraENtWGZwMHFRSE5sQjBOV2xU?=
 =?utf-8?B?RVRuVnJ4WGtPWlR4bGkwTFB6Rm4xTGdrekYwN0N2OXZ3YlJSOEl3c2pnNkNu?=
 =?utf-8?B?THNPc3NNN2ZncU1lQkxrTTVIUEk3ZkY5NmM2ZHpLZnAySWZnczlFQkZreUw0?=
 =?utf-8?B?VlZMQ0VxTkd2OUVvUWNIa3lLcHFEblkxSlYweCtzV2g5VUlkcVVQSWx3SDlu?=
 =?utf-8?B?bmJMLzgzb2orTDBQMmJYZU1WSGhzWnBORURhdmdKUUVnaGNFczd6VEcwYnJR?=
 =?utf-8?B?R2lXS3VJek41eHB0WHlad0hETGkvbTBtZytCcVdvNUZaQ2gyem1UdDlLR1Rt?=
 =?utf-8?B?YUNPbnhzOHhTMU5RZXh6MEluTlhwNDVBbTZsZTRxMGZnQ0t6U0tOWnFWdkRV?=
 =?utf-8?B?ZHJ1VE9nWXVwQU5XZlZJc2hTUDJwN3FWRWR0R0s0QTdBejdEZDk2NkRpSlBU?=
 =?utf-8?B?T1lpVXdza256OW5aVkd1WlZjNE1EVEFrb3hRcDM4M093ejNPVWY2R3BUZG50?=
 =?utf-8?B?K0lvcUUxSk5XN1JJZHh6MW5venNiRjQwZUtURUJ6Z09yMnNIYmtpdEcrdGll?=
 =?utf-8?B?ODFZQ2pGVlEwaWEvV1BRVWZiUDZlTVlKRmFjbS9LeWpmZmZCaU04emZGbUFZ?=
 =?utf-8?B?U0dCNTdIYlVpUU96QWtxeWU0bHI4YXRXUkJ1WkRyNGpUR0ZVSFRHdnNoR0M1?=
 =?utf-8?B?bERjazlHaEx3OUZlSjJaY0NWUXdPanVjT2FURTR3ZlJkbXdhdExta2dmRmhI?=
 =?utf-8?B?Y1RyN0J6THhWTmQyOUxZekdRVER2Z3Nqc09oL1diejZuNlRQVTd0VjBkTjh3?=
 =?utf-8?B?Rm9sSTF3Si9LUkJmaDVOenNQcGg0ZmxhT09vTkRjZHFYdXdDdHZXZ2JGQW1n?=
 =?utf-8?B?bGRsaWM2MjZ2VkZCcDlvL0pXcGVnMTQyK3lqY1hlRTNqbUdUcTlqb01Ob21r?=
 =?utf-8?B?Yjd0enAxT3l0WjZLTnJNWFJ0L1NJSHU4TVZQb1lBVkxmR05CN2lVZFdheDVv?=
 =?utf-8?B?ZEt0bllacnE5VGp2cG1GWmJNVTIreUI3Yi9vZnpjUGVaN3JSbWMzd3pWaWtD?=
 =?utf-8?Q?m1x1wmK42XubEMX3RY+vYnXNl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e7c9c3f-814b-4e86-e650-08dbe1d04607
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 09:34:44.8962
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VjachBA1dwBTmDni+CUJFImkFSDhWSnmtTFhdHmrkCyKhC54aittqjso43nCW8V1l+wPlAVhTRyw6YTKQS7M7g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7584

On 10.11.2023 10:30, Oleksii wrote:
> I forgot to update xen/arch/{arm,ppc}/include/asm/Makefile:
>     generic-y += pci.h
> 
> Should I send a new patch version or it can be updated durig merge?

See the reply regarding delay.h.

Jan



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:34:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:34:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630050.982723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Nui-0006mB-JR; Fri, 10 Nov 2023 09:34:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630050.982723; Fri, 10 Nov 2023 09:34: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 1r1Nui-0006m4-FI; Fri, 10 Nov 2023 09:34:56 +0000
Received: by outflank-mailman (input) for mailman id 630050;
 Fri, 10 Nov 2023 09:34: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=Bl7O=GX=redhat.com=thuth@srs-se1.protection.inumbo.net>)
 id 1r1Nuh-0006lQ-Ko
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:34:55 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6670bd39-7fac-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 10:34:53 +0100 (CET)
Received: from mail-qv1-f70.google.com (mail-qv1-f70.google.com
 [209.85.219.70]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-295-p2v5uzDvM6ehzhb72x1exA-1; Fri, 10 Nov 2023 04:34:51 -0500
Received: by mail-qv1-f70.google.com with SMTP id
 6a1803df08f44-670aa377deeso24008426d6.3
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 01:34:50 -0800 (PST)
Received: from [192.168.0.6] (ip-109-43-177-79.web.vodafone.de.
 [109.43.177.79]) by smtp.gmail.com with ESMTPSA id
 c10-20020a05621401ea00b0065b11053445sm2811472qvu.54.2023.11.10.01.34.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Nov 2023 01:34:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6670bd39-7fac-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1699608892;
	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:autocrypt:autocrypt;
	bh=NTsnJdGxjDhEztAzuwhMU9JIn1bpNpwf04ZyYJ9l+1w=;
	b=N1cCdATOHICQxTquEQhctxRhWEV8QlLMW6oxO92W2c6zgNVtx8/11QSOGZXuvl3wB47eUy
	gk9DKI0/yU7GYHYPf9j41zM8aK5AP7CjcdzZrl63ejjLjasJLf/yRx7cEndwTRfRoKwMSL
	tXNoGMZ/GM/8b7oVRNhrH/zXFhX1bJg=
X-MC-Unique: p2v5uzDvM6ehzhb72x1exA-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699608890; x=1700213690;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NTsnJdGxjDhEztAzuwhMU9JIn1bpNpwf04ZyYJ9l+1w=;
        b=UteQVQgaGd1rPX4SxrQAscsz2FdnTqMciElwh3b7Vg+DgH5Pu8OsXHY/dvGQNMPtni
         tml9iojp+xmGyJvLMRRIVDPEHV5YBXIfdKkQwrwxIRDf2Fjmj33zqDnB959ZLGS8UheO
         FaoJGWEFPZw92B9ylemFQv9vEcvjcoODRn3dde8wd+UX4xTrgpaBP5SLTRRbqbm/7a76
         tZMMavNtn0UeVg7BLSq4URXTrlEZGN11/s6R7oOnFPr3xhf2U4J/M0HO3QkG2ak/yw6V
         Y5EAnpMuDlifea0hFT/dDWRYgc1D+IOdZ8lfsX4oD2i+U5evPt2ABFePVoj6GECuNm0+
         8kFg==
X-Gm-Message-State: AOJu0YyzyPPLk3g0BuxZnDhCyea77IS6FpfXrMw28wy+CzuKBO0Ydpi4
	MaK9PDpf8yGoXwosGuC0yvtGNqb0crucwkuZyqU5zFfP7ASR1EMxtnfKVyxrrY+IhzWT404Jo60
	i+2if/2gSGMNKCIQugFVCDkz7txw=
X-Received: by 2002:a05:6214:d0a:b0:649:384f:ed4 with SMTP id 10-20020a0562140d0a00b00649384f0ed4mr7770138qvh.19.1699608890528;
        Fri, 10 Nov 2023 01:34:50 -0800 (PST)
X-Google-Smtp-Source: AGHT+IFJLKg/dvgvKTN/DZXV+SdBghD+/OdrnZF612WtjGvCnfTt3oU2Kv4nG/OszrlY8jSPg7U6cw==
X-Received: by 2002:a05:6214:d0a:b0:649:384f:ed4 with SMTP id 10-20020a0562140d0a00b00649384f0ed4mr7770066qvh.19.1699608888278;
        Fri, 10 Nov 2023 01:34:48 -0800 (PST)
Message-ID: <0795d03d-602d-4064-a3da-c019e4d12189@redhat.com>
Date: Fri, 10 Nov 2023 10:34:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] include/hw/xen: Use more inclusive language in comment
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, qemu-trivial@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, qemu-devel@nongnu.org,
 Stefano Stabellini <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>
References: <20231109174034.375392-1-thuth@redhat.com>
 <2ae66eda-3560-2930-4bbb-87345a719f32@suse.com>
From: Thomas Huth <thuth@redhat.com>
Autocrypt: addr=thuth@redhat.com; keydata=
 xsFNBFH7eUwBEACzyOXKU+5Pcs6wNpKzrlJwzRl3VGZt95VCdb+FgoU9g11m7FWcOafrVRwU
 yYkTm9+7zBUc0sW5AuPGR/dp3pSLX/yFWsA/UB4nJsHqgDvDU7BImSeiTrnpMOTXb7Arw2a2
 4CflIyFqjCpfDM4MuTmzTjXq4Uov1giGE9X6viNo1pxyEpd7PanlKNnf4PqEQp06X4IgUacW
 tSGj6Gcns1bCuHV8OPWLkf4hkRnu8hdL6i60Yxz4E6TqlrpxsfYwLXgEeswPHOA6Mn4Cso9O
 0lewVYfFfsmokfAVMKWzOl1Sr0KGI5T9CpmRfAiSHpthhHWnECcJFwl72NTi6kUcUzG4se81
 O6n9d/kTj7pzTmBdfwuOZ0YUSqcqs0W+l1NcASSYZQaDoD3/SLk+nqVeCBB4OnYOGhgmIHNW
 0CwMRO/GK+20alxzk//V9GmIM2ACElbfF8+Uug3pqiHkVnKqM7W9/S1NH2qmxB6zMiJUHlTH
 gnVeZX0dgH27mzstcF786uPcdEqS0KJuxh2kk5IvUSL3Qn3ZgmgdxBMyCPciD/1cb7/Ahazr
 3ThHQXSHXkH/aDXdfLsKVuwDzHLVSkdSnZdt5HHh75/NFHxwaTlydgfHmFFwodK8y/TjyiGZ
 zg2Kje38xnz8zKn9iesFBCcONXS7txENTzX0z80WKBhK+XSFJwARAQABzR5UaG9tYXMgSHV0
 aCA8dGh1dGhAcmVkaGF0LmNvbT7CwXgEEwECACIFAlVgX6oCGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAAoJEC7Z13T+cC21EbIP/ii9cvT2HHGbFRl8HqGT6+7Wkb+XLMqJBMAIGiQK
 QIP3xk1HPTsLfVG0ao4hy/oYkGNOP8+ubLnZen6Yq3zAFiMhQ44lvgigDYJo3Ve59gfe99KX
 EbtB+X95ODARkq0McR6OAsPNJ7gpEUzfkQUUJTXRDQXfG/FX303Gvk+YU0spm2tsIKPl6AmV
 1CegDljzjycyfJbk418MQmMu2T82kjrkEofUO2a24ed3VGC0/Uz//XCR2ZTo+vBoBUQl41BD
 eFFtoCSrzo3yPFS+w5fkH9NT8ChdpSlbNS32NhYQhJtr9zjWyFRf0Zk+T/1P7ECn6gTEkp5k
 ofFIA4MFBc/fXbaDRtBmPB0N9pqTFApIUI4vuFPPO0JDrII9dLwZ6lO9EKiwuVlvr1wwzsgq
 zJTPBU3qHaUO4d/8G+gD7AL/6T4zi8Jo/GmjBsnYaTzbm94lf0CjXjsOX3seMhaE6WAZOQQG
 tZHAO1kAPWpaxne+wtgMKthyPLNwelLf+xzGvrIKvLX6QuLoWMnWldu22z2ICVnLQChlR9d6
 WW8QFEpo/FK7omuS8KvvopFcOOdlbFMM8Y/8vBgVMSsK6fsYUhruny/PahprPbYGiNIhKqz7
 UvgyZVl4pBFjTaz/SbimTk210vIlkDyy1WuS8Zsn0htv4+jQPgo9rqFE4mipJjy/iboDzsFN
 BFH7eUwBEAC2nzfUeeI8dv0C4qrfCPze6NkryUflEut9WwHhfXCLjtvCjnoGqFelH/PE9NF4
 4VPSCdvD1SSmFVzu6T9qWdcwMSaC+e7G/z0/AhBfqTeosAF5XvKQlAb9ZPkdDr7YN0a1XDfa
 +NgA+JZB4ROyBZFFAwNHT+HCnyzy0v9Sh3BgJJwfpXHH2l3LfncvV8rgFv0bvdr70U+On2XH
 5bApOyW1WpIG5KPJlDdzcQTyptOJ1dnEHfwnABEfzI3dNf63rlxsGouX/NFRRRNqkdClQR3K
 gCwciaXfZ7ir7fF0u1N2UuLsWA8Ei1JrNypk+MRxhbvdQC4tyZCZ8mVDk+QOK6pyK2f4rMf/
 WmqxNTtAVmNuZIwnJdjRMMSs4W4w6N/bRvpqtykSqx7VXcgqtv6eqoDZrNuhGbekQA0sAnCJ
 VPArerAZGArm63o39me/bRUQeQVSxEBmg66yshF9HkcUPGVeC4B0TPwz+HFcVhheo6hoJjLq
 knFOPLRj+0h+ZL+D0GenyqD3CyuyeTT5dGcNU9qT74bdSr20k/CklvI7S9yoQje8BeQAHtdV
 cvO8XCLrpGuw9SgOS7OP5oI26a0548M4KldAY+kqX6XVphEw3/6U1KTf7WxW5zYLTtadjISB
 X9xsRWSU+Yqs3C7oN5TIPSoj9tXMoxZkCIHWvnqGwZ7JhwARAQABwsFfBBgBAgAJBQJR+3lM
 AhsMAAoJEC7Z13T+cC21hPAQAIsBL9MdGpdEpvXs9CYrBkd6tS9mbaSWj6XBDfA1AEdQkBOn
 ZH1Qt7HJesk+qNSnLv6+jP4VwqK5AFMrKJ6IjE7jqgzGxtcZnvSjeDGPF1h2CKZQPpTw890k
 fy18AvgFHkVk2Oylyexw3aOBsXg6ukN44vIFqPoc+YSU0+0QIdYJp/XFsgWxnFIMYwDpxSHS
 5fdDxUjsk3UBHZx+IhFjs2siVZi5wnHIqM7eK9abr2cK2weInTBwXwqVWjsXZ4tq5+jQrwDK
 cvxIcwXdUTLGxc4/Z/VRH1PZSvfQxdxMGmNTGaXVNfdFZjm4fz0mz+OUi6AHC4CZpwnsliGV
 ODqwX8Y1zic9viSTbKS01ZNp175POyWViUk9qisPZB7ypfSIVSEULrL347qY/hm9ahhqmn17
 Ng255syASv3ehvX7iwWDfzXbA0/TVaqwa1YIkec+/8miicV0zMP9siRcYQkyTqSzaTFBBmqD
 oiT+z+/E59qj/EKfyce3sbC9XLjXv3mHMrq1tKX4G7IJGnS989E/fg6crv6NHae9Ckm7+lSs
 IQu4bBP2GxiRQ+NV3iV/KU3ebMRzqIC//DCOxzQNFNJAKldPe/bKZMCxEqtVoRkuJtNdp/5a
 yXFZ6TfE1hGKrDBYAm4vrnZ4CXFSBDllL59cFFOJCkn4Xboj/aVxxJxF30bn
In-Reply-To: <2ae66eda-3560-2930-4bbb-87345a719f32@suse.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 10/11/2023 10.30, Jan Beulich wrote:
> On 09.11.2023 18:40, Thomas Huth wrote:
>> --- a/include/hw/xen/interface/hvm/params.h
>> +++ b/include/hw/xen/interface/hvm/params.h
>> @@ -255,7 +255,7 @@
>>    * Note that 'mixed' mode has not been evaluated for safety from a
>>    * security perspective.  Before using this mode in a
>>    * security-critical environment, each subop should be evaluated for
>> - * safety, with unsafe subops blacklisted in XSM.
>> + * safety, with unsafe subops blocked in XSM.
> 
> To avoid another round trip when you send the patch against xen.git, as
> already asked for by others, I'd like to point out that the wording
> change isn't describing things sufficiently similarly: "blocked" reads
> as if XSM would do so all by itself, whereas "blacklisted" has an
> indication that something needs to be done for XSM to behave in the
> intended way. Minimally I'd suggest "suitably blocked via", but perhaps
> yet better wording can be thought of.

Ok, could then please someone from you Xen guys get this fixed with 
appropriate wording in the xen.git repo? I never checked out that repo 
before and before I now spend hours and hours to figure out how to 
contribute a patch to Xen, just to replace a single word, it's way easier if 
someone with pre-existing Xen experience is taking care of this.

  Thanks,
   Thomas




From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:38:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:38:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630061.982733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1NyX-0000NY-6g; Fri, 10 Nov 2023 09:38:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630061.982733; Fri, 10 Nov 2023 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 1r1NyX-0000NR-2a; Fri, 10 Nov 2023 09:38:53 +0000
Received: by outflank-mailman (input) for mailman id 630061;
 Fri, 10 Nov 2023 09:38: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=TCxK=GX=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r1NyW-0000Ll-64
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:38:52 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f2c186b3-7fac-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 10:38:49 +0100 (CET)
Received: from CYZPR14CA0019.namprd14.prod.outlook.com (2603:10b6:930:8f::10)
 by CH3PR12MB7713.namprd12.prod.outlook.com (2603:10b6:610:14d::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Fri, 10 Nov
 2023 09:38:45 +0000
Received: from CY4PEPF0000EE3A.namprd03.prod.outlook.com
 (2603:10b6:930:8f:cafe::b5) by CYZPR14CA0019.outlook.office365.com
 (2603:10b6:930:8f::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Fri, 10 Nov 2023 09:38:45 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE3A.mail.protection.outlook.com (10.167.242.14) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Fri, 10 Nov 2023 09:38:45 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 10 Nov
 2023 03:38:44 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Fri, 10 Nov 2023 03:38:43 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2c186b3-7fac-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X7F1+F20Kay8c9zO6eMn0sYnvuZnKVGNxb935upH95+U2Kvq6knc7XnbVXujk1chO/qvKlpwU9mkHfNXYWuoXESbp0yji3GZu2sVdsPRxapQKz0KnPUiwSer/YxCTUGxkE6ihbD1p+3Vhmwii9HROw4VAyb3yDhWObONtF8tf7aTDO2QnhThRF11ZpBwKE6654QisgOeVKhln0PbFB7RgoVix5CwTGQCMaKabTA1LA27WFf/Jb0gE2a84D4/19zHLMqEt1N7w4HMPmXWwResqkLV1mFMUc5J7GUubI1A0rodNQaMkuLmS+JQN8bGkIpXMJRw2rNgXNaPJ8HXyPaw5g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8BJ5wQ/LJVeDBn/yuU7ie93TWr7fYaI4peJi9H3d1rU=;
 b=naI9hoFWpYsUEU43tPfM+2AV7EngRHm/vyRW9VVS4/lQwrcEcyvUhliDx84VuKAbNKX1+VNGf/clYIyXYyGaxD3RbGnE+T/7GIGCOW6YFXtYQnJNO3rFudP/uBwGqPJH7DvQY+KNNGVSwAGoTSS1lzhayQ4ue1sUldYCQJTUghJKc1jtQcAHoBIBdKFNiKayzRHi9DmGoDNUes8tXNC9jriyMC/GkAirs7PQTdEoXaVjhkgC6nQxjqvYONnRewiNguVl7/5amR4UdFMRl4+pKjviYRhG6uA226AnOafUH5O2zm3K/4H5+NnqgOQQyiuik86GY/WluQtqBoN3k6V4IA==
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 (0)
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=8BJ5wQ/LJVeDBn/yuU7ie93TWr7fYaI4peJi9H3d1rU=;
 b=ql8y+HHp17e+Y/EhuWKetO40mA/LlFLlPaG4Lsx+2ZA/6sitrNMrZ5JzRL/vvqnhPYswlzyvo5ywXueSyakrqqwyz3LrOT/pb/NcfSLiNGqsxZKE1WV8SzvwWEwCkXzzrr1g3PfZOhpDyBUayXLGOS1oMpPB+MNCXFzF+d+rmeo=
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: <4f381355-9de7-4e7f-8345-512be34aaa02@amd.com>
Date: Fri, 10 Nov 2023 10:38:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 5/5] arm/dom0less: introduce Kconfig for dom0less
 feature
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.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>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-6-luca.fancellu@arm.com>
 <43a1c5c8-6243-4912-bf3f-f3e35b504271@amd.com>
 <9FE35A69-2EEF-4098-8F9E-B373D813AB47@arm.com>
 <3BB52078-B58C-4476-867A-B29438C56487@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <3BB52078-B58C-4476-867A-B29438C56487@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3A:EE_|CH3PR12MB7713:EE_
X-MS-Office365-Filtering-Correlation-Id: 361a0292-05a4-4cac-3278-08dbe1d0d55d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1/9QMSb66HDbi0+mQuoIgRi0A6mwH/hHtIxJkB4/v+CTJL4EAAtrdURlAOCOJr8rHmo5Sf1jU4e+/f0XaiSyLE//JwKQ9DuExga1mJqr18n0wdFMxEq3QCH8is+OP0agRXxIDKvznFyApkIeO9AmwtErUo1/CqGU7r8GzJYkSi4Q1g/O+0OHGENgVCCg0aJFvo048O5i8gs4heWRrUFSrdH9mkQ1Y74aXVj0DT2VJDMGEYZGJDRyV1MVvo2J5as4t6tzYGecLKyrSHNxRRkvy3ul11O8KhqUDuH3cJdoKmuj+1elGjmWUtcKiaKz79EhWe2OsKEJMNVJF2xg9+QD5EN0mMEjSHZaYqygWr4K+kERGbjR54ttpPO5xlhU1tt3sf0JwcckWyHwqxUElzMxLaUVStAMRCSm0PUN4Tr8JbJxgavnDRuPLFsGREVPjX9HsV5oVK0xhvRvAb2lZJlZWSngn17VuSuhG6keDlVDIuojmVL/6LsUI3iw5Wt8ofZ070zz/HuGNBQVJD9NGwSzPbiczL6heTYDDYFy+1I6/YAmXTyrKG/B097jXMhCilqwXxWr8RpsbXNbP1ndErJqzDEN0kROXTrM4kJIz+4jjnXbqqw3wGkIvBibE/OOIg+Tloidk7ug4Z67DODR/c1cKSKMoquVyZMt0YQTexxs/j19qiF2mvjdOs+rZGNMlj628A4nG6Zc4vHjaTBG0Z6FlCQjoIwAIooSttNLPCHazRyfYaRG6BY3g53sb0bX8vfGZ1hQ7pVoDixSUYpdjnb1H5NRL3cnfwIwoKye6enXroH62KssF1md8O8J45qgNyHjR4SpG3yG2nKLDk6NshOzVQ==
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:(13230031)(4636009)(396003)(39860400002)(376002)(136003)(346002)(230922051799003)(451199024)(186009)(1800799009)(82310400011)(64100799003)(36840700001)(46966006)(40470700004)(86362001)(81166007)(40460700003)(31696002)(40480700001)(356005)(82740400003)(36756003)(2906002)(53546011)(5660300002)(316002)(426003)(336012)(26005)(2616005)(44832011)(4326008)(8676002)(8936002)(41300700001)(6916009)(70206006)(31686004)(54906003)(70586007)(36860700001)(47076005)(16576012)(478600001)(32563001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 09:38:45.0909
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 361a0292-05a4-4cac-3278-08dbe1d0d55d
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:
	CY4PEPF0000EE3A.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7713

Hi,

On 10/11/2023 10:30, Luca Fancellu wrote:
> 
> 
>> On 10 Nov 2023, at 09:05, Luca Fancellu <Luca.Fancellu@arm.com> wrote:
>>
>> Hi Michal,
>>
>>>>
>>>> +config DOM0LESS_BOOT
>>>> +       bool "Dom0less boot support" if EXPERT
>>>> +       depends on ARM
>>> You're in the Arm Kconfig, so there should be no need for this dependency (it is implicit).
>>>
>>> Apart from that, we have 2 features: static mem and static shmem that are only meant for dom0less domUs.
>>> Shouldn't we make them dependent on DOM0LESS_BOOT? Otherwise, what is the purpose of selecting them
>>> with DOM0LESS_BOOT=n?
>>
>> Sure, I’ll add the dependencies and remove the ARM one
> 
> Just to be sure, is it what you are asking?
See below

> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 0399f2faf734..d9c5340ff3a2 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -90,7 +90,6 @@ config GICV2
> 
>  config DOM0LESS_BOOT
>         bool "Dom0less boot support" if EXPERT
> -       depends on ARM
>         default y
>         help
>           Dom0less boot support enables Xen to create and start domU guests during
> @@ -214,7 +213,7 @@ source "arch/arm/tee/Kconfig"
> 
>  config STATIC_SHM
>         bool "Statically shared memory on a dom0less system" if UNSUPPORTED
> -       depends on STATIC_MEMORY
> +       depends on STATIC_MEMORY && DOM0LESS_BOOT
no need for && DOM0LESS_BOOT

>         help
>           This option enables statically shared memory on a dom0less system.
> 
> diff --git a/xen/common/Kconfig b/xen/common/Kconfig
> index 4d6fe051641d..e0e5f4485d1f 100644
> --- a/xen/common/Kconfig
> +++ b/xen/common/Kconfig
> @@ -100,7 +100,7 @@ config NUMA
> 
>  config STATIC_MEMORY
>         bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
> -       depends on ARM
> +       depends on ARM && DOM0LESS_BOOT
no need for ARM. DOM0LESS_BOOT already depends on ARM.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:40:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:40:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630065.982742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1O0A-0001wg-G1; Fri, 10 Nov 2023 09:40:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630065.982742; Fri, 10 Nov 2023 09:40: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 1r1O0A-0001wZ-DF; Fri, 10 Nov 2023 09:40:34 +0000
Received: by outflank-mailman (input) for mailman id 630065;
 Fri, 10 Nov 2023 09:40: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=fVdC=GX=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r1O09-0001wP-2y
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:40:33 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30bc0de2-7fad-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 10:40:32 +0100 (CET)
Received: from AM9P193CA0029.EURP193.PROD.OUTLOOK.COM (2603:10a6:20b:21e::34)
 by DB9PR08MB9609.eurprd08.prod.outlook.com (2603:10a6:10:456::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 09:40:29 +0000
Received: from AMS0EPF000001AB.eurprd05.prod.outlook.com
 (2603:10a6:20b:21e:cafe::eb) by AM9P193CA0029.outlook.office365.com
 (2603:10a6:20b:21e::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Fri, 10 Nov 2023 09:40:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001AB.mail.protection.outlook.com (10.167.16.151) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Fri, 10 Nov 2023 09:40:28 +0000
Received: ("Tessian outbound 5d213238733f:v228");
 Fri, 10 Nov 2023 09:40:28 +0000
Received: from c8489abf9ac9.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 05168C9F-F001-4948-A265-8F81D0D795FA.1; 
 Fri, 10 Nov 2023 09:40:21 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c8489abf9ac9.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 10 Nov 2023 09:40:21 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DBAPR08MB5749.eurprd08.prod.outlook.com (2603:10a6:10:1af::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 09:40:17 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f6b:d51:7aa3:ad16]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::f6b:d51:7aa3:ad16%6]) with mapi id 15.20.6977.019; Fri, 10 Nov 2023
 09:40: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: 30bc0de2-7fad-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=aq2l+IF6edK7ofn3k24soZav3WcqE1/vS+R3Xq04CygGacEM9G3+fMaO69705QheFiQQuabwtHZ5+w2cwmIPUQYa8SQMO/WkQCv6OXSQ7Rg2kP+mbOo9NVAMc7JupTl4a3r6CVJBpLuzN3je1kInGPDNZq0X4jUnAWRTBCZVok+ySYhFyEBcQL6e3jV8wHAyyKSFxRg4014MzXdcLwIHARS7vDSkAYqICNY+3zKc+spgcW2QT/VxTICbp+J/pCf8v0go21JFPGAbzJEh1LRuqk6irvFaTnFUD3/leHnO7+sEbtaY5KpfwKyNSyYSB54dqOnDPQBKHK1YkQO1ZUJK0w==
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=49iWbs0oTofh0qgWuQtE0ROcS+N2iYb2ciHgBI9nlY4=;
 b=GeGkT+DurCGi03bKi8oYFKUp5w3cCcGTI7QEthYz9o2RtsLUGYuiZTNSBIVUBJ2DD9J18TO7xUi36jt74pBjECcu3+oqQLI7ud3ZsTPflPWnZb/m7tXQrXyvyG751wIjrYirolMA4cHwbKRCZmfUQpdrb1KFOKHaRVB1nBk/238whl4S4ZBL/CknZAIg+7ANSdM9WkvKIEDoFaH5FDilT4QIpVja5Nbct7ZzfX6LMIeQr5U8EhzErwVP1332kl1UO89hT6b/aQuX8xPhnBZn/6L/HGchtPDRgW3QrF+5t+G092hwaYQtoucboCImq5yXBOqR8XWsI/zQgIG67H7AlQ==
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=49iWbs0oTofh0qgWuQtE0ROcS+N2iYb2ciHgBI9nlY4=;
 b=6QEaJiEjB9HKtlDh2fckN0jgHCQQdmEk85s3v6iZ2GWav+gbCuuGTq3lEmLae2zRZcR09gGNZassCPEOAoLhxxT321LohcR9FkFi3JlvhZKG92WS5End9mfxe9h1I2ttNDg/XM4ZOJ2/8INBq0cWZRGrED3TqRJoe4Wa7RN2jpU=
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: 3bda914360d12bda
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nV/a2u5nXa8jDLStHLR81kpqOJUPVhkzp3ge+4g+CUUjHaW+BPaYpXRJBoAIpB7U0kOzXP/dDBo2/V3aFBKE8a6UwivQC3zlTXNigGrIa0RgDiAhV/umHlFWaUdSwcCREp5PjUflb1ofc/Jq2zipspj+Gda8nKkb/4uCj3K2V16uphuH33HOZmDC1YPpYi4zq44Ol8bsxDzpylBa5NeDjYbN5jtufW4KFKgxXsBl+1zQ42WAqj+xcy7q+K2H1NhKVaqlJDO1Qr0MnuCmTu2JDYntWLHr0gNI+PMH2XnI79TdqB2AbkXiEVnvNhFhIQXEE8a43heO9HZhbvBV43cueg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=49iWbs0oTofh0qgWuQtE0ROcS+N2iYb2ciHgBI9nlY4=;
 b=mOLbumZCJrwWHCEAkFtY4Jkkm9KuaPWwhlfOYMiB82gZVFh47tFg76Q4ULFQP18O8h6TC8Bedoj1daUYkDYmycX35XluHPYRXddPZdGYvDXNvR+dX/PtV1T/7AS4xxTjziSPNLz68OH4bYZvLWtKHYQXcGHQyYzhPMEFPYrNIaPs7X+0Y/Ttt8XxRbDbh7JZu08rDU5YpJYtxogldSjR+LDKZ9NBwlkz47BTK9KFxMaqqFg7m4MYbofl3mkZdw6WhbFol9/QgY5KzN2Ienp5I7pSb3qK6WKFhmDvmrJR/lDaefVn/NSS2Q+YcwJBdRs/TX3iTGIIS8rorqApUq6A8A==
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=49iWbs0oTofh0qgWuQtE0ROcS+N2iYb2ciHgBI9nlY4=;
 b=6QEaJiEjB9HKtlDh2fckN0jgHCQQdmEk85s3v6iZ2GWav+gbCuuGTq3lEmLae2zRZcR09gGNZassCPEOAoLhxxT321LohcR9FkFi3JlvhZKG92WS5End9mfxe9h1I2ttNDg/XM4ZOJ2/8INBq0cWZRGrED3TqRJoe4Wa7RN2jpU=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 v3 5/5] arm/dom0less: introduce Kconfig for dom0less
 feature
Thread-Topic: [PATCH v3 5/5] arm/dom0less: introduce Kconfig for dom0less
 feature
Thread-Index: AQHaEuwVAcRvSKcty0WG4JBMWUF0b7BzQ0WAgAABDgCAAAbKAIAAAmwAgAAAZoA=
Date: Fri, 10 Nov 2023 09:40:17 +0000
Message-ID: <38A4D95A-E8E4-478C-A072-3BF1C46D3A9C@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-6-luca.fancellu@arm.com>
 <43a1c5c8-6243-4912-bf3f-f3e35b504271@amd.com>
 <9FE35A69-2EEF-4098-8F9E-B373D813AB47@arm.com>
 <3BB52078-B58C-4476-867A-B29438C56487@arm.com>
 <4f381355-9de7-4e7f-8345-512be34aaa02@amd.com>
In-Reply-To: <4f381355-9de7-4e7f-8345-512be34aaa02@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DBAPR08MB5749:EE_|AMS0EPF000001AB:EE_|DB9PR08MB9609:EE_
X-MS-Office365-Filtering-Correlation-Id: 25961a4b-df5b-44af-c783-08dbe1d1130e
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:
 aRzO3HkWKjzlaCFs++/Mg1299LrMj0jD6nACCPi3apFrsSRdAx+MKvE2qrMVpFMUAFU3/2NLmpkRRvmLGORXe0N0i+VPr/9cJ7ckxZoKvfyzfYzXC1UH3nCEgUDmuHtrmlCfKQTrmO5gPKGiCJHL1H+5qVrR+o3ijM7wNf18swL99fPDV6QbMwSSFVjWpUPJn3pJtOoB6gH/Z8jdBSMHGjRMtMWwfinfrlb8lDHqgtn21grkJnfTlDgLXijohOqIgiHFD51i/y6N3IPwVoCSQLZT0UGgtxycXMSy+Awgx0q9qztFdS8KrMT8JjHgdsiXR35kzbS8J5goVkAzxsvKPpX3Pr18RJ3JHVzfp+V04HEbZcRHJF/ycnxa7QTPZpMaMx9UCU3mf/bsu0qcbw7mFEGtTwnMje5tXTFLAIqBKZEgmPw4ZZAep9TJO4rljCZJ6Oiwkrdhn1fq8unjZRBYCJprRtxprBV1XPk4A7p6cw4V9SWzsatnJplRd6ks1/3rKU7NB69TIDk65fKiqgKqSYXYMlmobIVSEX2WG2OrYveGEX1tiw+vIHmYPAXHIhm5qMZDgsIMS8tdZlBr9kSwXBUekT063bMYrdZHJcIMJhYw1E7gC1mb63S7BrSALPsBmNCw0/LPAN/b9Uo/0XM/YfnfopId/yTkXIWqpXXj5UY=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(376002)(39850400004)(396003)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(2906002)(6916009)(6512007)(2616005)(66946007)(6486002)(4326008)(41300700001)(54906003)(5660300002)(8936002)(8676002)(86362001)(38100700002)(66476007)(66556008)(26005)(91956017)(76116006)(66446008)(64756008)(83380400001)(316002)(122000001)(478600001)(33656002)(53546011)(36756003)(38070700009)(6506007)(71200400001)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E3780B6BF21AA24EB845C0A4562FC0E3@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR08MB5749
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:
 AMS0EPF000001AB.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b92466b3-c24f-4e42-0a39-08dbe1d10c61
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DHtm69In4ud8MV9ffNfMczql9Y+t9gxBtHKjCXkJ3sLJ0GAAVtpXtVc8Zum6hxsfoWvJsT0Fe2KAr8QYikxAJxxYUbnEerwsUR3eqZ6WIzEfz/SThqyh97MFTnaNSFMfoiCxm7papBmn14lEUaqmA0cXIo2YC1lFEBcjWjIjP1JDrXmdah7+ALEhxalGjK+ovuAr7b228uz7YsaLSyXMZ7CVOhgVvvCn//bBpXtTGzJuxQXFhk6IOZMHo6x8R7DJOjX+cWVfB2kx6RX264OSJGZ5ClL1lvo2ny0vnxFOrIyLogysWK0sCeiD80GVgsVpy380/UinCjk+Q4GT/ucobOwFr+y+ox7zXjLC57Nrr2f384rzDuHNCSk4H2DqHIMAVb8qdwTZVWouagMKLXbL+8ovOHi4qq5598G1hXJP/7/uoR7ssHaBK8jSb11YQbMUZMtmzHKC3DJiXM0vcLfDRZWhLuXoTpUT7HVGiYV0ug/sOuf+A/NpOa5sc/KfZ0XNeNcEW4YbOtJDQb5bknI8qx6lF2+5uow0Bvh3y5DlxZxMgqArvZbgxiNJZ3VnVHdDxv2f4FRZpAXY/hRKu7qFQl9Ao2dFjgijHvHJsiDaMFBU23O9xkVkXdX8yCwFZ2Yn0uyYPaxWykf8Fd2F4NUZv8QuQrlh/btVXg7CcNThL6VfIihjVPmZlk7IiV1oNnNzt7Fl/RgjeC+50+vL3cEHzaV5UzTVsPOupDKPB8GDCwY1KU/RPR+zG5b9AkdA1BNyOzWJOp8cFv9SCv1HClY2NQ==
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:(13230031)(4636009)(396003)(346002)(376002)(136003)(39860400002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(82310400011)(46966006)(36840700001)(40470700004)(40480700001)(40460700003)(478600001)(6506007)(6512007)(6486002)(2616005)(53546011)(36860700001)(356005)(33656002)(36756003)(81166007)(86362001)(82740400003)(54906003)(70206006)(47076005)(8936002)(70586007)(41300700001)(5660300002)(26005)(83380400001)(2906002)(336012)(107886003)(8676002)(316002)(4326008)(6862004)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 09:40:28.6582
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 25961a4b-df5b-44af-c783-08dbe1d1130e
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:
	AMS0EPF000001AB.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9609

DQoNCj4gT24gMTAgTm92IDIwMjMsIGF0IDA5OjM4LCBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnpl
bEBhbWQuY29tPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4gT24gMTAvMTEvMjAyMyAxMDozMCwg
THVjYSBGYW5jZWxsdSB3cm90ZToNCj4+IA0KPj4gDQo+Pj4gT24gMTAgTm92IDIwMjMsIGF0IDA5
OjA1LCBMdWNhIEZhbmNlbGx1IDxMdWNhLkZhbmNlbGx1QGFybS5jb20+IHdyb3RlOg0KPj4+IA0K
Pj4+IEhpIE1pY2hhbCwNCj4+PiANCj4+Pj4+IA0KPj4+Pj4gK2NvbmZpZyBET00wTEVTU19CT09U
DQo+Pj4+PiArICAgICAgIGJvb2wgIkRvbTBsZXNzIGJvb3Qgc3VwcG9ydCIgaWYgRVhQRVJUDQo+
Pj4+PiArICAgICAgIGRlcGVuZHMgb24gQVJNDQo+Pj4+IFlvdSdyZSBpbiB0aGUgQXJtIEtjb25m
aWcsIHNvIHRoZXJlIHNob3VsZCBiZSBubyBuZWVkIGZvciB0aGlzIGRlcGVuZGVuY3kgKGl0IGlz
IGltcGxpY2l0KS4NCj4+Pj4gDQo+Pj4+IEFwYXJ0IGZyb20gdGhhdCwgd2UgaGF2ZSAyIGZlYXR1
cmVzOiBzdGF0aWMgbWVtIGFuZCBzdGF0aWMgc2htZW0gdGhhdCBhcmUgb25seSBtZWFudCBmb3Ig
ZG9tMGxlc3MgZG9tVXMuDQo+Pj4+IFNob3VsZG4ndCB3ZSBtYWtlIHRoZW0gZGVwZW5kZW50IG9u
IERPTTBMRVNTX0JPT1Q/IE90aGVyd2lzZSwgd2hhdCBpcyB0aGUgcHVycG9zZSBvZiBzZWxlY3Rp
bmcgdGhlbQ0KPj4+PiB3aXRoIERPTTBMRVNTX0JPT1Q9bj8NCj4+PiANCj4+PiBTdXJlLCBJ4oCZ
bGwgYWRkIHRoZSBkZXBlbmRlbmNpZXMgYW5kIHJlbW92ZSB0aGUgQVJNIG9uZQ0KPj4gDQo+PiBK
dXN0IHRvIGJlIHN1cmUsIGlzIGl0IHdoYXQgeW91IGFyZSBhc2tpbmc/DQo+IFNlZSBiZWxvdw0K
PiANCj4+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9LY29uZmlnIGIveGVuL2FyY2gv
YXJtL0tjb25maWcNCj4+IGluZGV4IDAzOTlmMmZhZjczNC4uZDljNTM0MGZmM2EyIDEwMDY0NA0K
Pj4gLS0tIGEveGVuL2FyY2gvYXJtL0tjb25maWcNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9LY29u
ZmlnDQo+PiBAQCAtOTAsNyArOTAsNiBAQCBjb25maWcgR0lDVjINCj4+IA0KPj4gY29uZmlnIERP
TTBMRVNTX0JPT1QNCj4+ICAgICAgICBib29sICJEb20wbGVzcyBib290IHN1cHBvcnQiIGlmIEVY
UEVSVA0KPj4gLSAgICAgICBkZXBlbmRzIG9uIEFSTQ0KPj4gICAgICAgIGRlZmF1bHQgeQ0KPj4g
ICAgICAgIGhlbHANCj4+ICAgICAgICAgIERvbTBsZXNzIGJvb3Qgc3VwcG9ydCBlbmFibGVzIFhl
biB0byBjcmVhdGUgYW5kIHN0YXJ0IGRvbVUgZ3Vlc3RzIGR1cmluZw0KPj4gQEAgLTIxNCw3ICsy
MTMsNyBAQCBzb3VyY2UgImFyY2gvYXJtL3RlZS9LY29uZmlnIg0KPj4gDQo+PiBjb25maWcgU1RB
VElDX1NITQ0KPj4gICAgICAgIGJvb2wgIlN0YXRpY2FsbHkgc2hhcmVkIG1lbW9yeSBvbiBhIGRv
bTBsZXNzIHN5c3RlbSIgaWYgVU5TVVBQT1JURUQNCj4+IC0gICAgICAgZGVwZW5kcyBvbiBTVEFU
SUNfTUVNT1JZDQo+PiArICAgICAgIGRlcGVuZHMgb24gU1RBVElDX01FTU9SWSAmJiBET00wTEVT
U19CT09UDQo+IG5vIG5lZWQgZm9yICYmIERPTTBMRVNTX0JPT1QNCg0KVGhhbmtzLCB5ZXMgSSB3
YXMgdW5zdXJlIGFib3V0IHRoYXQgaW5kZWVkDQoNCj4gDQo+PiAgICAgICAgaGVscA0KPj4gICAg
ICAgICAgVGhpcyBvcHRpb24gZW5hYmxlcyBzdGF0aWNhbGx5IHNoYXJlZCBtZW1vcnkgb24gYSBk
b20wbGVzcyBzeXN0ZW0uDQo+PiANCj4+IGRpZmYgLS1naXQgYS94ZW4vY29tbW9uL0tjb25maWcg
Yi94ZW4vY29tbW9uL0tjb25maWcNCj4+IGluZGV4IDRkNmZlMDUxNjQxZC4uZTBlNWY0NDg1ZDFm
IDEwMDY0NA0KPj4gLS0tIGEveGVuL2NvbW1vbi9LY29uZmlnDQo+PiArKysgYi94ZW4vY29tbW9u
L0tjb25maWcNCj4+IEBAIC0xMDAsNyArMTAwLDcgQEAgY29uZmlnIE5VTUENCj4+IA0KPj4gY29u
ZmlnIFNUQVRJQ19NRU1PUlkNCj4+ICAgICAgICBib29sICJTdGF0aWMgQWxsb2NhdGlvbiBTdXBw
b3J0IChVTlNVUFBPUlRFRCkiIGlmIFVOU1VQUE9SVEVEDQo+PiAtICAgICAgIGRlcGVuZHMgb24g
QVJNDQo+PiArICAgICAgIGRlcGVuZHMgb24gQVJNICYmIERPTTBMRVNTX0JPT1QNCj4gbm8gbmVl
ZCBmb3IgQVJNLiBET00wTEVTU19CT09UIGFscmVhZHkgZGVwZW5kcyBvbiBBUk0uDQoNCk9rLCBJ
4oCZbGwgdXBkYXRlIGl0DQoNCj4gDQo+IH5NaWNoYWwNCj4gDQoNCg==


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 09:52:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 09:52:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630072.982753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1OBu-0005i9-HH; Fri, 10 Nov 2023 09:52:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630072.982753; Fri, 10 Nov 2023 09:52: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 1r1OBu-0005i2-EH; Fri, 10 Nov 2023 09:52:42 +0000
Received: by outflank-mailman (input) for mailman id 630072;
 Fri, 10 Nov 2023 09:52: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=T7pk=GX=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1r1OBs-0005hv-K0
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 09:52:40 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0bb0b8e-7fae-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 10:52:36 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2c5071165d5so24472511fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 01:52:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0bb0b8e-7fae-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699609948; x=1700214748; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5iQjD2x6xVMULmyju5HprC3Zm3wsmH/H0sc2Chc4n7U=;
        b=cH4GLLN3lYPg+4GRseJn2IgedzJkG12kMOUyt1VRKlFprPK9Il1uw2aCanTn2Q1yex
         OST+f+V4Mld18Jrj6be59BOt2e6tLkssdKlKCGajTIJmyHFN61n0v+SdXfOo0lgBiqBt
         2pqJ5rCEZ//PZV19jicvzspKq5KIV2Ox0A8dU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699609948; x=1700214748;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=5iQjD2x6xVMULmyju5HprC3Zm3wsmH/H0sc2Chc4n7U=;
        b=RuKrq3FkXCZakToiouCqeFe+4pdDdlbNPFYnFKJaWaSn34Y9mioaxdAS1MOYOt+/lR
         Q4BF91OVjFP1fQEwZ3LkTvVzCveBVbDDwLYeTIgiQ5ZEobLb4+c8/wFaAixlYQGtlDMd
         80oF3hD3L+xUM6mnWJuWXaMUq4Hw3TmR8HhXircpCm//gm7fbDe5rocw5w5IG8vn8uA4
         +l6w6uj5z8JY27daplaEqUYG3/3vqC9rXRfds39En/hanzjCPH2hyLDGdIRB4BZj8/N6
         gXKv4Y+HlGkfmbD6LHW3VJs+g7bPQH0ATj2FgB9k2rw6MJhR4Dxtr44kDRHvLgZlr2Tn
         HXzA==
X-Gm-Message-State: AOJu0YyZ5HxUCFtDm5dsHaqqXTEq7TZUae4IPiRX0ceJrHb4sYowxPap
	y0BCYrS9mfVg2UjjZql/Ph2hOpRfQf8iF1SnycdYTDSgjAUGgZBn
X-Google-Smtp-Source: AGHT+IFC0suFsfEhobuOBC++MhOREz1sBR0YWeq/lrz3SUfld6bXnQs2zvyyIOmBHC5JCgs9TXX6ZKgI3BNVsVVRmy8=
X-Received: by 2002:a2e:1407:0:b0:2c7:8911:76da with SMTP id
 u7-20020a2e1407000000b002c7891176damr1904151ljd.39.1699609948092; Fri, 10 Nov
 2023 01:52:28 -0800 (PST)
MIME-Version: 1.0
References: <033b6f5f10e17409650dc438b22a0f0e0d5918a7.1696598833.git.federico.serafini@bugseng.com>
In-Reply-To: <033b6f5f10e17409650dc438b22a0f0e0d5918a7.1696598833.git.federico.serafini@bugseng.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 10 Nov 2023 09:52:17 +0000
Message-ID: <CA+zSX=Zonu0uTaMQruWSsfGgmQHVAs9un=hkNkbvNrU6EjmaMQ@mail.gmail.com>
Subject: Re: [XEN PATCH v2] xen/sched: address violations of MISRA C:2012 Rule 8.2
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
	Dario Faggioli <dfaggioli@suse.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Henry Wang <henry.wang@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Oct 9, 2023 at 3:23=E2=80=AFPM Federico Serafini
<federico.serafini@bugseng.com> wrote:
>
> Add missing parameter names. No functional change.
>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Acked-by: George Dunlap <george.dunlap@cloud.com>

Sorry for the delay.


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 10:02:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 10:02:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630079.982762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1OKu-0000dY-JG; Fri, 10 Nov 2023 10:02:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630079.982762; Fri, 10 Nov 2023 10:02: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 1r1OKu-0000dR-Gj; Fri, 10 Nov 2023 10:02:00 +0000
Received: by outflank-mailman (input) for mailman id 630079;
 Fri, 10 Nov 2023 10:01: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=TCxK=GX=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r1OKs-0000dL-SB
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 10:01:58 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20627.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2d50d11c-7fb0-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 11:01:55 +0100 (CET)
Received: from DM5PR07CA0092.namprd07.prod.outlook.com (2603:10b6:4:ae::21) by
 BN9PR12MB5365.namprd12.prod.outlook.com (2603:10b6:408:102::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19; Fri, 10 Nov
 2023 10:01:51 +0000
Received: from DS1PEPF0001709C.namprd05.prod.outlook.com
 (2603:10b6:4:ae:cafe::de) by DM5PR07CA0092.outlook.office365.com
 (2603:10b6:4:ae::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Fri, 10 Nov 2023 10:01:51 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF0001709C.mail.protection.outlook.com (10.167.18.106) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.6977.16 via Frontend Transport; Fri, 10 Nov 2023 10:01:50 +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.2507.32; Fri, 10 Nov
 2023 04:01:49 -0600
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.2507.32; Fri, 10 Nov
 2023 04:01:49 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Fri, 10 Nov 2023 04:01:48 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d50d11c-7fb0-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SHYFeSL0SqNMzcF//bYsfLknWblXDto5DD9zeCiqY4OUF+GElSTUXot/dzh1JPBl6lkNMJPaUxMH5aQa3cPn2jUKgEFFlBtdELYATk0xa4vhv6Tyt7y3FdSJREz64tabtAsbvCeDRIsfiswd7f/Fm3lTXg7uH42fDTyuhhrC9PZYGvwpPW48/L4Xh/6vn7RqrLO1LztTvVyR4Rv/Db3CzdDdBHUhEcLo+G/zFxvJ0x+MZx3lnQR2FHAgwV1Q0X6y7QXgCmm5ZMnahNSPatCQNNNu/3ANzW96kLubp+4CqQwW0RCiQo7mm5+nI12S88aEp9+PJSzWURbkW21nfeE3WQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mKMb+/GHSauPkQE56Z/DBjl7z7+8qs1QJMXMrPO8YVc=;
 b=kyRLBQ57HKjtM+IG0g35Wf3ZvyqDep7/KWEyGzM+14YkAhE3ZxxpgNvXWmScKcDCVa7L+DgJzwvRvocpze5j/OGZoHZXtWRQnAF+CHqZmIHYJ1iIf9aWtOKQ5Yk5cMM0VqPbVEG2iy2BKLEClWuB8XqWOznZn+yGYmEwIbFxa8lPic1HuG5QNg1dnbVZlwdnvmvz08O+3fF8LsD0Uy5V1sIddZf+8tPck1Wd6UKlpHRRKvW58H9q72Whrq89igaGNTD5T/v9TA38qL94BOAhfRJQkArWJZ4hJNd0JM4sIazYC0p5FxfV7wgHe3t29Df/3LtDG+Ghevrm/oWMGoEZLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=mKMb+/GHSauPkQE56Z/DBjl7z7+8qs1QJMXMrPO8YVc=;
 b=VmiiOyqlhuLHK59NuYR1S02iW10rX7AuvV50W4pzhlXjCjJ8kTFZw/ye8K6ChMypeIUA/7AJADDXnh1iJ7/63AyzZlBFsB+778UGJVkRUqilEwByaFoJi7l809vaMSyBEdRsUovfGTtNPkPheUmAa+hWrtim5tyv3cg03iHo/Wg=
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: <dbab3224-a15b-41b4-9a1f-bef4222f3a9d@amd.com>
Date: Fri, 10 Nov 2023 11:01:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Use hex for bitstream_size as expected by u-boot
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, <viryaos-discuss@lists.sourceforge.net>
CC: <xen-devel@lists.xenproject.org>, <brian@woods.art>
References: <alpine.DEB.2.22.394.2311091740490.3478774@ubuntu-linux-20-04-desktop>
 <329849be-f2c1-4ca6-8b97-b288d163aeb1@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <329849be-f2c1-4ca6-8b97-b288d163aeb1@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF0001709C:EE_|BN9PR12MB5365:EE_
X-MS-Office365-Filtering-Correlation-Id: 55828b9e-02d2-46b0-52d7-08dbe1d40ef0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+B78CcAmUcXca/+1pdVbdNUUTeLrpryyrz6qpe6I0rHY+EY7FIAnMsaKnb/Qa1evAEOEJwU5udcCaJ7+QIV1cyPF+pvIs0wXyjqogV2H4GrqxMm8+CLdFuRL7fu1XzyC7RdTytV5NHKJs4PwUaz6gdQnflLoGZVrB0++2I2LBi4Vj7JWx5lEPvLvEtyxzWA6wninZjOvj2Yc1IEJ+Zh1c0huIGty53cVaL+ugNRqm8kwdrZCUgRI5bsENxu26Z+edcO9cqqw205RJhavWZbCVNSEQw0F2Vz1NcsuWp1c93AsIkrWr9SRjY6DaHI+DkRbgJw33oXtyhbSKviSKrU5LN1kxWKKHbniYqy/yR0B817Xs1OZvoc/f4VZLkFw1uabz311J1Z5qJ/D6isNDP2cXFnWBES70xrCnSUyFTXkEY/t9awkUUxnG3t77MdQbFRQfrfTkoNXBS+V1CVen9/szbgBZqBfLTwzH5K+wSyCI3igvDheA2rBjhqV6J4/FSRTA39i3rMqpn2ZJ0kUGVLgh2OEcG1msIFbmXtN3IKoRnoZ6XfkWZD5jN8AQ0f75jcl4pGUsh1c/qeV+gpSMWX5bGW5B2AT2VxWlheYKc3yDsVRt033wpLcUZMOr5xaBLFD0LbP1XgDf2X6IXg1cgridodYdNhvNO4zxDpvZ5OzT9IdT6J0FIjobo/mbiVr2XZDks4PzuKS/tyjKDT17ue4j6eweDzv0B7SUwwh+q5DDps8KwmFZlEvw9fWGZmr2njpsAxhPyF1BElrDPg09RDFP8qpGeW9ogught0tzzkjKuM=
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:(13230031)(4636009)(346002)(136003)(39860400002)(376002)(396003)(230922051799003)(82310400011)(451199024)(186009)(64100799003)(1800799009)(46966006)(40470700004)(36840700001)(8936002)(83380400001)(4326008)(8676002)(966005)(426003)(31686004)(2616005)(53546011)(316002)(47076005)(110136005)(26005)(70586007)(44832011)(54906003)(16576012)(70206006)(336012)(478600001)(40480700001)(36860700001)(5660300002)(41300700001)(40460700003)(81166007)(356005)(82740400003)(2906002)(86362001)(36756003)(31696002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 10:01:50.2223
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 55828b9e-02d2-46b0-52d7-08dbe1d40ef0
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:
	DS1PEPF0001709C.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5365

Hi Julien,

On 10/11/2023 10:27, Julien Grall wrote:
> 
> 
> Hi Stefano,
> 
> On 10/11/2023 01:44, Stefano Stabellini wrote:
>> Reported-by: Brian Woods <brian@woods.art>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>
>> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
>> index b284887..6e52da5 100755
>> --- a/scripts/uboot-script-gen
>> +++ b/scripts/uboot-script-gen
>> @@ -790,7 +790,7 @@ bitstream_load_and_config()
>>           check_file_type "$BITSTREAM" "BIT data"
>>           bitstream_addr=$memaddr
>>           load_file $BITSTREAM "fpga_bitstream"
>> -        bitstream_size=$filesize
>> +        bitstream_size=`printf "0x%X\n" $filesize`
> 
> Looking at [1], there is no indication that the size parameter for "fpga
> load" should be hexadecimal. At the contrary, all the example I have
> found seems to use $filesize.
U-boot expects size to be passed in hex format. You can see it here:
https://github.com/u-boot/u-boot/blob/master/cmd/fpga.c#L60C20-L60C27

Also, AFAICT $filesize var that gets updated after image load (e.g. tftpb) is in hex format.

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 10:08:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 10:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630083.982773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1ORE-0002bn-3D; Fri, 10 Nov 2023 10:08:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630083.982773; Fri, 10 Nov 2023 10:08: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 1r1ORD-0002bg-Vy; Fri, 10 Nov 2023 10:08:31 +0000
Received: by outflank-mailman (input) for mailman id 630083;
 Fri, 10 Nov 2023 10:08: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 1r1ORC-0002ba-E4
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 10:08: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 1r1OR8-0001gz-Qh; Fri, 10 Nov 2023 10:08:26 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227]
 helo=[192.168.18.68]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r1OR8-00069s-Jq; Fri, 10 Nov 2023 10:08: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=T2vBZ4x+26i9Vnf8G0UbXQfTCIfUBy/50MwHIDuNuMA=; b=LUIeXtC9k73mWz8Hq81SQjM0U4
	3h7fivAHf4uTlevuCrGiXoX2SBSph6OJOCT0lO1T52A+HGkGmWrzZJfr6dsDimRQkJAAqW+5oIbgc
	1eHKDuxfwqi5rMgzd1lByMPITqz7O8hBlYvuTSY6dTrvpA/sNHpSQy+fEAXHLevFiY1A=;
Message-ID: <50ad4fb5-77c4-44f3-80cf-a2555d595e10@xen.org>
Date: Fri, 10 Nov 2023 10:08:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Use hex for bitstream_size as expected by u-boot
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 viryaos-discuss@lists.sourceforge.net
Cc: xen-devel@lists.xenproject.org, brian@woods.art
References: <alpine.DEB.2.22.394.2311091740490.3478774@ubuntu-linux-20-04-desktop>
 <329849be-f2c1-4ca6-8b97-b288d163aeb1@xen.org>
 <dbab3224-a15b-41b4-9a1f-bef4222f3a9d@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <dbab3224-a15b-41b4-9a1f-bef4222f3a9d@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 10/11/2023 10:01, Michal Orzel wrote:
> Hi Julien,
> 
> On 10/11/2023 10:27, Julien Grall wrote:
>>
>>
>> Hi Stefano,
>>
>> On 10/11/2023 01:44, Stefano Stabellini wrote:
>>> Reported-by: Brian Woods <brian@woods.art>
>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>>
>>> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
>>> index b284887..6e52da5 100755
>>> --- a/scripts/uboot-script-gen
>>> +++ b/scripts/uboot-script-gen
>>> @@ -790,7 +790,7 @@ bitstream_load_and_config()
>>>            check_file_type "$BITSTREAM" "BIT data"
>>>            bitstream_addr=$memaddr
>>>            load_file $BITSTREAM "fpga_bitstream"
>>> -        bitstream_size=$filesize
>>> +        bitstream_size=`printf "0x%X\n" $filesize`
>>
>> Looking at [1], there is no indication that the size parameter for "fpga
>> load" should be hexadecimal. At the contrary, all the example I have
>> found seems to use $filesize.
> U-boot expects size to be passed in hex format. You can see it here:
> https://github.com/u-boot/u-boot/blob/master/cmd/fpga.c#L60C20-L60C27
> 
> Also, AFAICT $filesize var that gets updated after image load (e.g. tftpb) is in hex format.

Hmmm, now that you are saying this... I vaguely recall we had some 
issues in the past with the size. The format was not consistent across 
U-boot.

Maybe this is the same problem here?

[1] https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 10:20:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 10:20:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630087.982783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1OdB-000831-3r; Fri, 10 Nov 2023 10:20:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630087.982783; Fri, 10 Nov 2023 10: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 1r1OdB-00082u-1G; Fri, 10 Nov 2023 10:20:53 +0000
Received: by outflank-mailman (input) for mailman id 630087;
 Fri, 10 Nov 2023 10:20: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1Od9-00082o-PE
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 10:20:51 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d243da32-7fb2-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 11:20:50 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-9d2d8343dc4so319386166b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 02:20:50 -0800 (PST)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 bv15-20020a170906b1cf00b009829d2e892csm3795326ejb.15.2023.11.10.02.20.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 02:20:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d243da32-7fb2-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699611650; x=1700216450; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Geeg0nZ4ceUoCxSPjoCSKbAdAXqtL2lzKCusKg/xTZc=;
        b=GQ8mXhQcoXWNLXUk+uACn8+WkVtko6Agl+ZkYbBToeLh/b3X9fzr9PUsxlc/Ksj156
         VFbG5uFUXnoGRPyY4LJJuPJ/0CRxNjnL8lLdMZTbKjLDKH6ryPy2dKknBIrJ7Jy6OaVg
         9aCcSLqFIrp9sS6Kr45PUPmhxuT29Kb4We+WcHYF7xC2dW4KdqZpFKE9g/4rgR5RV6iC
         YmjoLiVSs1e6U/zyZDoYbbnyLw1Sesvo79V+5338Pxy5+Iix7cqhhP25B/aZGSJmvUku
         mRvpmUQylyx6XwMSdnVOO1bVS2R5WcBni0qxCD7p6YwEi47M68cqFhcGEOwb9c3XbNUo
         ZziA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699611650; x=1700216450;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Geeg0nZ4ceUoCxSPjoCSKbAdAXqtL2lzKCusKg/xTZc=;
        b=DK0l4CTxrBZTHXjYqiWwTbyqxIwHVmct7r1bHW61/+66H5v9bzC0/l3MI/ZFyVHcr6
         B/DJ22l2QYefhHPAjuoFjEZWN5clbSLMDjfUUTzQFt/GA80w+0bffo4SvRhNvnlNGOaw
         jJhO3AnMo+9RooWH/BIxuCphegb+vxJixmDxDiCpvOBQJlwIRDMMzNs5ttOf9bawd6wV
         g8s1gW0N4Dq1aXrqWqewlQ1ayZ38IxF7Etvck/v772ENO2OSsiU4JYOvaRQSvaVREx9P
         Xm+BoMu/b4nczvtBclmRM6kDcygp/G9GU/1DhTo4Wrw5YZyT9bjNptOt/dky4iW8bJ0o
         KCmg==
X-Gm-Message-State: AOJu0YwCenF/zwNkhYQVgSMgUv2CYYF1idwJSia7a9LEdrmcYd5fNnCW
	+khcWUrr0IrvcfeHOCEleRo=
X-Google-Smtp-Source: AGHT+IHOU3Bt9LyIKKw9MdSeqMp7K9sHAC8IAA9C8ncB/Bpyg4MP1SF31uC+9+VqasH+8c6tXSNOiA==
X-Received: by 2002:a17:906:fd85:b0:9d3:e48f:30c5 with SMTP id xa5-20020a170906fd8500b009d3e48f30c5mr6676563ejb.55.1699611649854;
        Fri, 10 Nov 2023 02:20:49 -0800 (PST)
Message-ID: <0b0ae5db8d6de3bd8324577ddb7a70170fed6a5e.camel@gmail.com>
Subject: Re: [PATCH v2] xen: remove <asm/delay.h>
From: Oleksii <oleksii.kurochko@gmail.com>
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>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, Shawn Anastasio <sanastasio@raptorengineering.com>, Roger
 Pau =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Date: Fri, 10 Nov 2023 12:20:48 +0200
In-Reply-To: <783660ff-63d8-62b9-1859-33614e0d128b@suse.com>
References: 
	<3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
	 <99c3a51292fcc85da0759a5abe84e97c6c429358.camel@gmail.com>
	 <783660ff-63d8-62b9-1859-33614e0d128b@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Fri, 2023-11-10 at 10:33 +0100, Jan Beulich wrote:
> On 10.11.2023 10:30, Oleksii wrote:
> > On Tue, 2023-10-31 at 16:28 +0200, Oleksii Kurochko wrote:
> > > <asm/delay.h> only declares udelay() function so udelay()
> > > declaration was moved to xen/delay.h.
> > >=20
> > > For x86, __udelay() was renamed to udelay() and removed
> > > inclusion of <asm/delay.h> in x86 code.
> > >=20
> > > For ppc, udelay() stub definition was moved to ppc/stubs.c.
> > >=20
> > > Suggested-by: Jan Beulich <jbeulich@suse.com>
> > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > > Reviewed-by: Jan Beulich <jbeulich@suse.com>
> > > ---
> > > Changes in v2:
> > > =C2=A0- rebase on top of the latest staging.
> > > =C2=A0- add Suggested-by:/Reviewed-by: Jan Beulich
> > > <jbeulich@suse.com>.
> > > =C2=A0- remove <asm/delay.h> for PPC.
> > > =C2=A0- remove changes related to RISC-V's <asm/delay.h> as they've
> > > not
> > > =C2=A0=C2=A0 introduced in staging branch yet.
> > > ---
> > > =C2=A0xen/arch/arm/include/asm/delay.h=C2=A0 | 14 --------------
> > > =C2=A0xen/arch/ppc/include/asm/delay.h=C2=A0 | 12 ------------
> > > =C2=A0xen/arch/ppc/stubs.c=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 7 +++++++
> > > =C2=A0xen/arch/x86/cpu/microcode/core.c |=C2=A0 2 +-
> > > =C2=A0xen/arch/x86/delay.c=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 2 +-
> > > =C2=A0xen/arch/x86/include/asm/delay.h=C2=A0 | 13 -------------
> > > =C2=A0xen/include/xen/delay.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 2 +-
> > > =C2=A07 files changed, 10 insertions(+), 42 deletions(-)
> > > =C2=A0delete mode 100644 xen/arch/arm/include/asm/delay.h
> > > =C2=A0delete mode 100644 xen/arch/ppc/include/asm/delay.h
> > > =C2=A0delete mode 100644 xen/arch/x86/include/asm/delay.h
> > >=20
> > > diff --git a/xen/arch/arm/include/asm/delay.h
> > > b/xen/arch/arm/include/asm/delay.h
> > > deleted file mode 100644
> > > index 042907d9d5..0000000000
> > > --- a/xen/arch/arm/include/asm/delay.h
> > > +++ /dev/null
> > > @@ -1,14 +0,0 @@
> > > -#ifndef _ARM_DELAY_H
> > > -#define _ARM_DELAY_H
> > > -
> > > -extern void udelay(unsigned long usecs);
> > > -
> > > -#endif /* defined(_ARM_DELAY_H) */
> > > -/*
> > > - * Local variables:
> > > - * mode: C
> > > - * c-file-style: "BSD"
> > > - * c-basic-offset: 4
> > > - * indent-tabs-mode: nil
> > > - * End:
> > > - */
> > > diff --git a/xen/arch/ppc/include/asm/delay.h
> > > b/xen/arch/ppc/include/asm/delay.h
> > > deleted file mode 100644
> > > index da6635888b..0000000000
> > > --- a/xen/arch/ppc/include/asm/delay.h
> > > +++ /dev/null
> > > @@ -1,12 +0,0 @@
> > > -/* SPDX-License-Identifier: GPL-2.0-only */
> > > -#ifndef __ASM_PPC_DELAY_H__
> > > -#define __ASM_PPC_DELAY_H__
> > > -
> > > -#include <xen/lib.h>
> > > -
> > > -static inline void udelay(unsigned long usecs)
> > > -{
> > > -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> > > -}
> > > -
> > > -#endif /* __ASM_PPC_DELAY_H__ */
> > > diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
> > > index 4c276b0e39..a96e45626d 100644
> > > --- a/xen/arch/ppc/stubs.c
> > > +++ b/xen/arch/ppc/stubs.c
> > > @@ -337,3 +337,10 @@ int __init parse_arch_dom0_param(const char
> > > *s,
> > > const char *e)
> > > =C2=A0{
> > > =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> > > =C2=A0}
> > > +
> > > +/* delay.c */
> > > +
> > > +void udelay(unsigned long usecs)
> > > +{
> > > +=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> > > +}
> > > diff --git a/xen/arch/x86/cpu/microcode/core.c
> > > b/xen/arch/x86/cpu/microcode/core.c
> > > index 65ebeb50de..22d5e04552 100644
> > > --- a/xen/arch/x86/cpu/microcode/core.c
> > > +++ b/xen/arch/x86/cpu/microcode/core.c
> > > @@ -23,6 +23,7 @@
> > > =C2=A0
> > > =C2=A0#include <xen/alternative-call.h>
> > > =C2=A0#include <xen/cpu.h>
> > > +#include <xen/delay.h>
> > > =C2=A0#include <xen/earlycpio.h>
> > > =C2=A0#include <xen/err.h>
> > > =C2=A0#include <xen/guest_access.h>
> > > @@ -35,7 +36,6 @@
> > > =C2=A0
> > > =C2=A0#include <asm/apic.h>
> > > =C2=A0#include <asm/cpu-policy.h>
> > > -#include <asm/delay.h>
> > > =C2=A0#include <asm/nmi.h>
> > > =C2=A0#include <asm/processor.h>
> > > =C2=A0#include <asm/setup.h>
> > > diff --git a/xen/arch/x86/delay.c b/xen/arch/x86/delay.c
> > > index 2662c26272..b3a41881a1 100644
> > > --- a/xen/arch/x86/delay.c
> > > +++ b/xen/arch/x86/delay.c
> > > @@ -15,7 +15,7 @@
> > > =C2=A0#include <asm/msr.h>
> > > =C2=A0#include <asm/processor.h>
> > > =C2=A0
> > > -void __udelay(unsigned long usecs)
> > > +void udelay(unsigned long usecs)
> > > =C2=A0{
> > > =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long ticks =3D usecs * (cpu_khz / 1=
000);
> > > =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long s, e;
> > > diff --git a/xen/arch/x86/include/asm/delay.h
> > > b/xen/arch/x86/include/asm/delay.h
> > > deleted file mode 100644
> > > index 9be2f46590..0000000000
> > > --- a/xen/arch/x86/include/asm/delay.h
> > > +++ /dev/null
> > > @@ -1,13 +0,0 @@
> > > -#ifndef _X86_DELAY_H
> > > -#define _X86_DELAY_H
> > > -
> > > -/*
> > > - * Copyright (C) 1993 Linus Torvalds
> > > - *
> > > - * Delay routines calling functions in arch/i386/lib/delay.c
> > > - */
> > > -
> > > -extern void __udelay(unsigned long usecs);
> > > -#define udelay(n) __udelay(n)
> > > -
> > > -#endif /* defined(_X86_DELAY_H) */
> > > diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
> > > index 9150226271..8fd3b8f99f 100644
> > > --- a/xen/include/xen/delay.h
> > > +++ b/xen/include/xen/delay.h
> > > @@ -3,7 +3,7 @@
> > > =C2=A0
> > > =C2=A0/* Copyright (C) 1993 Linus Torvalds */
> > > =C2=A0
> > > -#include <asm/delay.h>
> > > +void udelay(unsigned long usecs);
> > > =C2=A0
> > > =C2=A0static inline void mdelay(unsigned long msec)
> > > =C2=A0{
> >=20
> > I forgot to update xen/arch/{x86,arm,ppc}/include/asm/Makefile:
> > =C2=A0=C2=A0=C2=A0 generic-y +=3D delay.h
> >=20
> > Should I send a new patch version or it can be updated durig merge?
>=20
> My take is that such a change wouldn't be appropriate to do by the
> committer. But: Why would this be needed? You're not introducing
> asm-generic/delay.h. Everything is moved to just xen/delay.h.
You are right. I started to rework other patches of generic headers
patch series and there are places where asm/Makefile should be updated
so automatically decided that it is needed here too.
My fault.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 10:26:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 10:26:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630091.982792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Oiv-0001fD-Nw; Fri, 10 Nov 2023 10:26:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630091.982792; Fri, 10 Nov 2023 10: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 1r1Oiv-0001f6-LG; Fri, 10 Nov 2023 10:26:49 +0000
Received: by outflank-mailman (input) for mailman id 630091;
 Fri, 10 Nov 2023 10:26: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=MXa0=GX=casper.srs.infradead.org=BATV+29e7849af3f7cdd1dde9+7383+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r1Oit-0001dJ-G5
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 10:26:48 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a456a2b9-7fb3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 11:26:44 +0100 (CET)
Received: from [2001:8b0:10b:5:18d3:34d5:5849:7b74]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r1Oil-00CrIo-06; Fri, 10 Nov 2023 10: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: a456a2b9-7fb3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=4+Hn0zBQZsp/ac5h90RP82v3Hqyf+fiySldJFcYYJeA=; b=iy+4bcZ8+5uaWYtZQjqfrw5oU4
	PTF4O4wNBRVeVA/6N8bCLQz9XXt0cMxwW+sJ5h0Wdvmb6t3xAas+NJ/Qso/uqw7/UxnxONE3UWOqg
	k2yMPWuxGH8XxiYyAxYJB9D8RqhsWmlHzQdJIYCycIarhBDcL8GbWxSoirKwk0ypxk3C0fMfs03ud
	CUKH9+/muNHBjm7RdDcLM2XkohjeXPwa/MFpQW3suYuAHZBuMp7oKEVAhyvaeY9AnGIRuMk8cNpTF
	4J2EOesLsv1Flz8r3Ik53s6xipHAhtnV4uN9qByFz0LZVriFddvRSazkfuHi15zdwQO+CJws4OeZa
	0HWXcitw==;
Message-ID: <f3faed177c8ecff3b1e37056b77e02af3596e9ff.camel@infradead.org>
Subject: Re: [PATCH] include/hw/xen: Use more inclusive language in comment
From: David Woodhouse <dwmw2@infradead.org>
To: Jan Beulich <jbeulich@suse.com>, Thomas Huth <thuth@redhat.com>
Cc: xen-devel@lists.xenproject.org, qemu-trivial@nongnu.org, Anthony Perard
	 <anthony.perard@citrix.com>, qemu-devel@nongnu.org, Stefano Stabellini
	 <sstabellini@kernel.org>, Paul Durrant <paul@xen.org>
Date: Fri, 10 Nov 2023 10:26:39 +0000
In-Reply-To: <2ae66eda-3560-2930-4bbb-87345a719f32@suse.com>
References: <20231109174034.375392-1-thuth@redhat.com>
	 <2ae66eda-3560-2930-4bbb-87345a719f32@suse.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-RQmUnTN/hWX3t9XovVIe"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2023-11-10 at 10:30 +0100, Jan Beulich wrote:
> On 09.11.2023 18:40, Thomas Huth wrote:
> > --- a/include/hw/xen/interface/hvm/params.h
> > +++ b/include/hw/xen/interface/hvm/params.h
> > @@ -255,7 +255,7 @@
> > =C2=A0 * Note that 'mixed' mode has not been evaluated for safety from =
a
> > =C2=A0 * security perspective.=C2=A0 Before using this mode in a
> > =C2=A0 * security-critical environment, each subop should be evaluated =
for
> > - * safety, with unsafe subops blacklisted in XSM.
> > + * safety, with unsafe subops blocked in XSM.
>=20
> To avoid another round trip when you send the patch against xen.git, as
> already asked for by others, I'd like to point out that the wording
> change isn't describing things sufficiently similarly: "blocked" reads
> as if XSM would do so all by itself, whereas "blacklisted" has an
> indication that something needs to be done for XSM to behave in the
> intended way. Minimally I'd suggest "suitably blocked via", but perhaps
> yet better wording can be thought of.

"denylist" is often used and works as a suitable replacement in most
use cases.


--=-RQmUnTN/hWX3t9XovVIe
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEwMTAyNjM5WjAvBgkqhkiG9w0BCQQxIgQgPMB2vmMr
TK9JW6TPpSGpWQ6GF1m8Cqi/p4VtpJQY+0Ewgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCcJ8h2jZNhjHHiF7xvteqYrOXyI6J0y94Q
gui0GOtU67eRf7WQcEWxJEUQSE6klV85cp07ipeq+a+oG4mRLTF81LLsyX7WboO5L4610IMsotrt
9uNHnMEcSA7jEsKxcLGQ3B53jn1CaKl/ZxZaAv4KEnfBT8nygpYMH780FZr2pV2jwvkXTqGPZJ2i
toNwYypqtjH295VDqKnynCnOhMw2spWpjBlSjDrl0HH/7lf7AlaO5TZ3Rcs/ztQu4cqe0vbaJP4c
+fgJYbVvb7TK6n+n6DFxG9tRrTEI1UWuqb5K7QNgoUS76LS+qHKVjGwfLTx7++uWKWO9mLjPApVj
s5gJ9kwYnHTzIJkihQEc24Qt+494pKMpEIvS9fvUggsBzhoAbm72e+MkMoLn1H8ZMHPAN0irZ0BN
Qg5LYHlj41q3yf4Lf9+EZxQ0csEUaKbTgfxB4FLTh58t1B5oFYt2iUS9ddTf8zDJu+CH4vN282RO
C8uyGWR2PsycnvGG1UlpWCA3dY+MR5zyQjNNcsaBU/5Oi17HKMrhWtpjDQz4b2IbKqv4mhpElSjN
wAQKaLWhWgH2wWTgVzT7Guffm+L733PGWIRzyBwGYJvvNqmxRzT1Nw6rnfnCuKos23Enhai6QmB+
svKfOdn6QeDeyN+zpYGY4O/XMzZGTCNoll5RidF95QAAAAAAAA==


--=-RQmUnTN/hWX3t9XovVIe--


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 10:31:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 10:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630097.982804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1On6-0003kI-GJ; Fri, 10 Nov 2023 10:31:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630097.982804; Fri, 10 Nov 2023 10:31: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 1r1On6-0003kB-BE; Fri, 10 Nov 2023 10:31:08 +0000
Received: by outflank-mailman (input) for mailman id 630097;
 Fri, 10 Nov 2023 10:31: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 1r1On5-0003k1-Hf; Fri, 10 Nov 2023 10:31: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 1r1On5-00027z-8s; Fri, 10 Nov 2023 10:31: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 1r1On4-0004Wh-O5; Fri, 10 Nov 2023 10:31:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1On4-0005BB-NC; Fri, 10 Nov 2023 10:31: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=zFKs/7Gx168A5nbdGPzF6mVgvcwL5q454ApzTF4ICkM=; b=zxNPNbXh+6YrFYuMgyT9r6qQlC
	c/jnQQn+vr0QY2G5O1+CxbP98SLjKYpztS04CDpdmj6o5CO7lZ2lBPzagEXFKeP7qyl5Hi1l2S5hh
	raqrCVxsX22p/MjvAJMnHzLsPfTiwoxtdwkqR/uDwwD+YTAjA8BSAoITl+VkfRUu0gSo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183726-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183726: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:build-arm64:xen-build:fail:regression
    xen-unstable:build-arm64-libvirt: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:test-arm64-arm64-xl-credit2: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:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-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-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu: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-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-armhf-armhf-libvirt:migrate-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-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
X-Osstest-Versions-That:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Nov 2023 10:31:06 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64                   6 xen-build                fail REGR. vs. 183718

Tests which did not succeed, but are not blocking:
 build-arm64-libvirt           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
 test-arm64-arm64-xl-credit2   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     16 saverestore-support-check    fail  like 183718
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183718
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183718
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183718
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183718
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183718
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183718
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183718
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183718
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183718
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183718
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 183718
 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      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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 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          16 saverestore-support-check    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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-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-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

version targeted for testing:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
baseline version:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c

Last test of basis   183726  2023-11-10 01:52: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                                                  fail    
 build-armhf                                                  pass    
 build-i386                                                   pass    
 build-amd64-libvirt                                          pass    
 build-arm64-libvirt                                          blocked 
 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                                          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           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                                 blocked 
 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                                  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-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                                     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                                 blocked 
 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-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                                 pass    
 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


Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 10:39:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 10:39:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630103.982812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1OvW-0006ET-92; Fri, 10 Nov 2023 10:39:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630103.982812; Fri, 10 Nov 2023 10: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 1r1OvW-0006EM-63; Fri, 10 Nov 2023 10:39:50 +0000
Received: by outflank-mailman (input) for mailman id 630103;
 Fri, 10 Nov 2023 10:39: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 1r1OvV-0006EF-Fw
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 10:39: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 1r1OvQ-0002RU-QZ; Fri, 10 Nov 2023 10:39:44 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r1OvQ-0007Hr-LG; Fri, 10 Nov 2023 10:39: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:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=uNYUXLEdZToipBSCSClVg7nfkMGnFYqfm8GISRWDVXo=; b=XKwdOR6+0oNS5HNVzu/LXxezeL
	6Ep9h54gAurPqWLLYNWYd7jZGV05hFS0dPohj9LAMUrtMM6W+3AXW9x4V3n3Jj67FHS2+cCmIOGeI
	i3zD3tGZiePcTL4x/TyKDifHBxKA17l6rKOOueg5p8p08jaQ+szcxwNmtKva87lYnZQ4=;
Message-ID: <eb5b015c-0697-469b-be87-b933831fc351@xen.org>
Date: Fri, 10 Nov 2023 10:39:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Use hex for bitstream_size as expected by u-boot
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Michal Orzel <michal.orzel@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 viryaos-discuss@lists.sourceforge.net
Cc: xen-devel@lists.xenproject.org, brian@woods.art
References: <alpine.DEB.2.22.394.2311091740490.3478774@ubuntu-linux-20-04-desktop>
 <329849be-f2c1-4ca6-8b97-b288d163aeb1@xen.org>
 <dbab3224-a15b-41b4-9a1f-bef4222f3a9d@amd.com>
 <50ad4fb5-77c4-44f3-80cf-a2555d595e10@xen.org>
In-Reply-To: <50ad4fb5-77c4-44f3-80cf-a2555d595e10@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 10/11/2023 10:08, Julien Grall wrote:
> 
> 
> On 10/11/2023 10:01, Michal Orzel wrote:
>> Hi Julien,
>>
>> On 10/11/2023 10:27, Julien Grall wrote:
>>>
>>>
>>> Hi Stefano,
>>>
>>> On 10/11/2023 01:44, Stefano Stabellini wrote:
>>>> Reported-by: Brian Woods <brian@woods.art>
>>>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
>>>>
>>>> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
>>>> index b284887..6e52da5 100755
>>>> --- a/scripts/uboot-script-gen
>>>> +++ b/scripts/uboot-script-gen
>>>> @@ -790,7 +790,7 @@ bitstream_load_and_config()
>>>>            check_file_type "$BITSTREAM" "BIT data"
>>>>            bitstream_addr=$memaddr
>>>>            load_file $BITSTREAM "fpga_bitstream"
>>>> -        bitstream_size=$filesize
>>>> +        bitstream_size=`printf "0x%X\n" $filesize`
>>>
>>> Looking at [1], there is no indication that the size parameter for "fpga
>>> load" should be hexadecimal. At the contrary, all the example I have
>>> found seems to use $filesize.
>> U-boot expects size to be passed in hex format. You can see it here:
>> https://github.com/u-boot/u-boot/blob/master/cmd/fpga.c#L60C20-L60C27
>>
>> Also, AFAICT $filesize var that gets updated after image load (e.g. 
>> tftpb) is in hex format.
> 
> Hmmm, now that you are saying this... I vaguely recall we had some 
> issues in the past with the size. The format was not consistent across 
> U-boot.
> 
> Maybe this is the same problem here?

I had a chat with Michal on Matrix. 'filesize' is a variable internal to 
the image-builder rather than U-boot. Hence the confusion.

The variable will be set in decimal. So it needs to be converted to 
hexadecimal. So the code seems to be correct.

That said, I think some clarifications is needed in the commit message 
to help understanding the code and at least giving a hint whether this 
code was ever tested (or this was introduced by a follow-up change).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 11:23:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 11:23:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630175.982873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Pbn-0004HD-AS; Fri, 10 Nov 2023 11:23:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630175.982873; Fri, 10 Nov 2023 11:23: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 1r1Pbn-0004H6-7l; Fri, 10 Nov 2023 11:23:31 +0000
Received: by outflank-mailman (input) for mailman id 630175;
 Fri, 10 Nov 2023 11:23: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=rc0j=GX=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r1Pbm-0004Fi-0x
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 11:23:30 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 92625068-7fbb-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 12:23:28 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.162.14.154])
 by support.bugseng.com (Postfix) with ESMTPSA id BD4E54EE073C;
 Fri, 10 Nov 2023 12:23:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 92625068-7fbb-11ee-98da-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] automation/eclair: add a deviation for MISRA C:2012 Rule 8.6
Date: Fri, 10 Nov 2023 12:23:21 +0100
Message-Id: <4de6c01f8af987750e578b3d5733dcd4ca536a9b.1699615143.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to take into account the standard search
procedure adopted by Unix linkers.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index d8170106b4..43648232aa 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -214,6 +214,15 @@ definition is compiled-out or optimized-out by the compiler)"
 -config=MC3R1.R8.6,reports+={deliberate, "first_area(^.*has no definition$)"}
 -doc_end
 
+-doc_begin="For functions memcpy(), memmove() and memset(), if there are
+multiple definitions, those belong to different archives and the behavior of
+linking is well defined by the toolchain: only one of the definitions will be
+linked in (the first that is encountered searching the archives in the order
+they appear on the command line)."
+-config=MC3R1.R8.6,declarations+={deliberate, "name(memcpy||memmove||memset)"}
+-doc_end
+
+
 -doc_begin="The gnu_inline attribute without static is deliberately allowed."
 -config=MC3R1.R8.10,declarations+={deliberate,"property(gnu_inline)"}
 -doc_end
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 11:34:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 11:34:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630211.982902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Pmg-000812-Ss; Fri, 10 Nov 2023 11:34:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630211.982902; Fri, 10 Nov 2023 11:34: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 1r1Pmg-00080d-O1; Fri, 10 Nov 2023 11:34:46 +0000
Received: by outflank-mailman (input) for mailman id 630211;
 Fri, 10 Nov 2023 11:34: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1Pmf-0007vX-U0
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 11:34:45 +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 24c674ba-7fbd-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 12:34:44 +0100 (CET)
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 A98A61F8BA;
 Fri, 10 Nov 2023 11:34:43 +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 77EDA13398;
 Fri, 10 Nov 2023 11:34:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hFVPGlMVTmXfAwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 11:34: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: 24c674ba-7fbd-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699616083; 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=3t0G5pmc2tLtGKnSz0jnViu11fvXLpv0iet8qXj51Qc=;
	b=RT77VAcD/8qmhPqKRYDJFsLU3i+kRf25gQ+WUCfhbSILqpLleXo659ePRYndl3bYxroFEZ
	BUsSK/BTrxaxdf0SadYaaO0cEjubUiFpVcDGV9uGzCxRhTsvczddDGWi4lGqzFd/6z1kAh
	iWOoU3lVzzkQoSJhdspcoGrV6mrFW8M=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 1/5] Mini-OS: make xenstore_buf externally visible
Date: Fri, 10 Nov 2023 12:34:31 +0100
Message-Id: <20231110113435.22609-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110113435.22609-1-jgross@suse.com>
References: <20231110113435.22609-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For support of the 9pfs frontend in Xenstore-stubdom xenstore_buf
needs to be externally visible.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 include/xenbus.h | 2 ++
 xenbus.c         | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/xenbus.h b/include/xenbus.h
index c0fc0ac5..542ee456 100644
--- a/include/xenbus.h
+++ b/include/xenbus.h
@@ -8,12 +8,14 @@ typedef unsigned long xenbus_transaction_t;
 
 #ifdef CONFIG_XENBUS
 extern uint32_t xenbus_evtchn;
+extern struct xenstore_domain_interface *xenstore_buf;
 
 /* Initialize the XenBus system. */
 void init_xenbus(void);
 void get_xenbus(void *p);
 #else
 #define xenbus_evtchn ~0
+#define xenstore_buf NULL
 
 static inline void init_xenbus(void)
 {
diff --git a/xenbus.c b/xenbus.c
index 923e8181..8bfd5bd4 100644
--- a/xenbus.c
+++ b/xenbus.c
@@ -44,7 +44,7 @@
 #define DEBUG(_f, _a...)    ((void)0)
 #endif
 
-static struct xenstore_domain_interface *xenstore_buf;
+struct xenstore_domain_interface *xenstore_buf;
 static DECLARE_WAIT_QUEUE_HEAD(xb_waitq);
 DECLARE_WAIT_QUEUE_HEAD(xenbus_watch_queue);
 static __DECLARE_SEMAPHORE_GENERIC(xb_write_sem, 1);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 11:34:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 11:34:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630208.982883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Pme-0007jR-A0; Fri, 10 Nov 2023 11:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630208.982883; Fri, 10 Nov 2023 11: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 1r1Pme-0007jK-79; Fri, 10 Nov 2023 11:34:44 +0000
Received: by outflank-mailman (input) for mailman id 630208;
 Fri, 10 Nov 2023 11:34: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1Pmc-0007he-Bp
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 11:34: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 21a575dc-7fbd-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 12:34:39 +0100 (CET)
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 130301F8BB;
 Fri, 10 Nov 2023 11:34: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 D08F613398;
 Fri, 10 Nov 2023 11:34:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id VxNsMU0VTmXLAwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 11: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: 21a575dc-7fbd-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699616078; 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=pNCiJUWFfsXgVl/gqWvxL0l23TvdHEFvCP7wwR+J2qI=;
	b=eN8ft1jPAAiuhfi2n9Ts2bI6R26YiGMpl6PkCSZMTvrOkhf2X0Fab0fGsF2Hgbf3qofdAJ
	nX7eHUqWS5ieF26mAE3YTaGSG/g3NMwJxfgwV9YO7N8vkfG7hJLGdPQKxnMNqehVZL0NXq
	0urBbltpZzo86pvqGJHPDBLsWXCJGe0=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 0/5] Mini-OS: preparations for 9pfs in xenstore-stubdom
Date: Fri, 10 Nov 2023 12:34:30 +0100
Message-Id: <20231110113435.22609-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This small patch series is doing some preparations for being able to
use 9pfs in Xenstore-stubdom.

Changes in V2:
- added patches 2 and 5

Juergen Gross (5):
  Mini-OS: make xenstore_buf externally visible
  Mini-OS: get own domid
  Mini-OS: don't crash if no shutdown node is available
  Mini-OS: fix 9pfs stat receive format
  Mini-OS: fix 9pfs response receiving

 9pfront.c        | 13 ++++++++-----
 events.c         | 32 ++++++++++++++++++++++++++++++++
 include/events.h |  2 ++
 include/xenbus.h |  2 ++
 shutdown.c       | 12 ++++--------
 xenbus.c         |  2 +-
 6 files changed, 49 insertions(+), 14 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 11:34:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 11:34:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630212.982911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Pmn-0008MP-1s; Fri, 10 Nov 2023 11:34:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630212.982911; Fri, 10 Nov 2023 11:34: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 1r1Pmm-0008MI-VY; Fri, 10 Nov 2023 11:34:52 +0000
Received: by outflank-mailman (input) for mailman id 630212;
 Fri, 10 Nov 2023 11:34: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1Pmm-0007he-4H
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 11:34:52 +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 2819436e-7fbd-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 12:34:49 +0100 (CET)
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 4191C1F8BA;
 Fri, 10 Nov 2023 11:34: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 153EA13398;
 Fri, 10 Nov 2023 11:34:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Pte9A1kVTmXsAwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 11:34: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: 2819436e-7fbd-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699616089; 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=oEkaTvWrd2nXatjBd0EXJy9ZObp+JBhOQHMFm6gHKW4=;
	b=s9UoIFSj79bmGo8WgY7yrK18Ld9fC6vQctHhLCTBqkGMmsjBmbVM1gDtyGugGGBjAj0Qlz
	tADXA2DapRZ48BJzdZWkqnuM3OO/grtYiQPXRQRi9CeGacPQAj9eVUd5axRdrZU09BDte6
	VtrGrER+gGEF/hmdiIKl0QHRxHg8J3I=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 2/5] Mini-OS: get own domid
Date: Fri, 10 Nov 2023 12:34:32 +0100
Message-Id: <20231110113435.22609-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110113435.22609-1-jgross@suse.com>
References: <20231110113435.22609-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Get the own domid via creation of a temporary event channel. There is
no "official" way to read the own domid in PV guests, so use the event
channel interface to get it:

- allocate an unbound event channel specifying DOMID_SELF for the
  other end

- read the event channel status which will contain the own domid in
  unbound.dom

- close the event channel

Signed-off-by: Juergen Gross <jgross@suse.com
---
V2:
- new patch
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 events.c         | 32 ++++++++++++++++++++++++++++++++
 include/events.h |  2 ++
 2 files changed, 34 insertions(+)

diff --git a/events.c b/events.c
index cdae90f4..af9f9f9e 100644
--- a/events.c
+++ b/events.c
@@ -261,6 +261,38 @@ int evtchn_get_peercontext(evtchn_port_t local_port, char *ctx, int size)
     return rc;
 }
 
+domid_t evtchn_get_domid(void)
+{
+    int rc;
+    domid_t domid = DOMID_INVALID;
+    evtchn_alloc_unbound_t op;
+    struct evtchn_status status;
+    struct evtchn_close close;
+
+    op.dom = DOMID_SELF;
+    op.remote_dom = DOMID_SELF;
+    rc = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &op);
+    if ( rc )
+    {
+        printk("ERROR: alloc_unbound failed with rc=%d", rc);
+        return domid;
+    }
+
+    status.dom = DOMID_SELF;
+    status.port = op.port;
+    rc = HYPERVISOR_event_channel_op(EVTCHNOP_status, &status);
+    if ( rc )
+        printk("ERROR: EVTCHNOP_status failed with rc=%d", rc);
+    else
+        domid = status.u.unbound.dom;
+
+    close.port = op.port;
+    rc = HYPERVISOR_event_channel_op(EVTCHNOP_close, &close);
+    if ( rc )
+        printk("WARN: close_port %d failed rc=%d. ignored\n", close.port, rc);
+
+    return domid;
+}
 
 /*
  * Local variables:
diff --git a/include/events.h b/include/events.h
index 705ad93a..87311481 100644
--- a/include/events.h
+++ b/include/events.h
@@ -57,4 +57,6 @@ static inline int notify_remote_via_evtchn(evtchn_port_t port)
 void fini_events(void);
 void suspend_events(void);
 
+domid_t evtchn_get_domid(void);
+
 #endif /* _EVENTS_H_ */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 11:35:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 11:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630215.982930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Pmu-0000PE-GH; Fri, 10 Nov 2023 11:35:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630215.982930; Fri, 10 Nov 2023 11: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 1r1Pmu-0000Oy-Cs; Fri, 10 Nov 2023 11:35:00 +0000
Received: by outflank-mailman (input) for mailman id 630215;
 Fri, 10 Nov 2023 11:34: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1Pms-0007he-NU
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 11:34:58 +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 2b71cb8c-7fbd-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 12:34:55 +0100 (CET)
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 D74AB1F8BA;
 Fri, 10 Nov 2023 11:34: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 A717613398;
 Fri, 10 Nov 2023 11:34:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mZB6J14VTmUABAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 11:34: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: 2b71cb8c-7fbd-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699616094; 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=UMM1Ggz+vBiGVJdcd2QMUJ1ZGIfkpwMwpm/gMVXFLeQ=;
	b=hZooTPeThVheEzRapoEd6UFJiQa3WN3RnkHWOV0CJVv/fy91v0n9hCFLqDjphzDoFl8Ocj
	M/UUI9z1zxlzsSupMF80JwZRdnLSJiyKbHXUZZlMLPNEcEi6OrOe3fO2GUCPLlWrRukScl
	OZmwN4JSkTsHU1iD8eiNiwBvJryxXrM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 3/5] Mini-OS: don't crash if no shutdown node is available
Date: Fri, 10 Nov 2023 12:34:33 +0100
Message-Id: <20231110113435.22609-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110113435.22609-1-jgross@suse.com>
References: <20231110113435.22609-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

It might be perfectly fine not to have a control/shutdown Xenstore
node. If this is the case, don't crash, but just terminate the
shutdown thread after issuing a message that shutdown isn't available.

In fini_shutdown() clearing the watch can result in an error now, in
case the early exit above was taken. Just ignore this error now.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 shutdown.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/shutdown.c b/shutdown.c
index bb2c6f11..ded6b64d 100644
--- a/shutdown.c
+++ b/shutdown.c
@@ -75,7 +75,9 @@ static void shutdown_thread(void *p)
         xenbus_wait_for_watch(&events);
         if ((err = xenbus_read(XBT_NIL, path, &shutdown))) {
             free(err);
-            do_exit();
+            free(xenbus_unwatch_path_token(XBT_NIL, path, token));
+            printk("Shutdown Xenstore node not available.\n");
+            return;
         }
 
         if (end_shutdown_thread)
@@ -117,15 +119,9 @@ void init_shutdown(void)
 
 void fini_shutdown(void)
 {
-    char *err;
-
     end_shutdown_thread = 1;
     xenbus_release_wait_for_watch(&events);
-    err = xenbus_unwatch_path_token(XBT_NIL, path, token);
-    if (err) {
-        free(err);
-        do_exit();
-    }
+    free(xenbus_unwatch_path_token(XBT_NIL, path, token));
 }
 #endif
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 11:35:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 11:35:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630218.982944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Pmz-0000u4-QT; Fri, 10 Nov 2023 11:35:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630218.982944; Fri, 10 Nov 2023 11: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 1r1Pmz-0000ts-N6; Fri, 10 Nov 2023 11:35:05 +0000
Received: by outflank-mailman (input) for mailman id 630218;
 Fri, 10 Nov 2023 11: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1Pmy-0007he-DA
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 11:35:04 +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 2ed45b4b-7fbd-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 12:35:00 +0100 (CET)
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 7FB3A1F8BB;
 Fri, 10 Nov 2023 11:35: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 454E613398;
 Fri, 10 Nov 2023 11:35:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id aoa7D2QVTmUJBAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 11:35: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: 2ed45b4b-7fbd-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699616100; 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=iyiJvbdzxfjlxXumjIe2Le5NJ94QuV7U0Z18Or31ob0=;
	b=lXQ/tq5ePTKElZQM2cBlSIKbW004yTsXKydCqgdKUBQFJrzrswpHjd9+7NaTI0I9do4B4f
	pKop2gWJifnXuPOvU98XvCwT0+UJ2pyelDL5f4UjaB6yfibWJQBmzcgOuQH+xtZZOtPqoE
	BcdJmeRTcmFuPCQuQ5cmoYOjDNJBZSk=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 4/5] Mini-OS: fix 9pfs stat receive format
Date: Fri, 10 Nov 2023 12:34:34 +0100
Message-Id: <20231110113435.22609-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110113435.22609-1-jgross@suse.com>
References: <20231110113435.22609-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The format string of the received data for the 9pfs stat command is
missing the initial 2 byte total length specifier. Add it.

Fixes: 2d1dfccd3aa3 ("Mini-OS: add read and write support to 9pfsfront")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 9pfront.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/9pfront.c b/9pfront.c
index 5da8a365..43c7409f 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -711,6 +711,7 @@ static int p9_create(struct dev_9pfs *dev, uint32_t fid, char *path,
 static int p9_stat(struct dev_9pfs *dev, uint32_t fid, struct p9_stat *stat)
 {
     struct req *req = get_free_req(dev);
+    uint16_t total;
     int ret;
 
     if ( !req )
@@ -719,10 +720,10 @@ static int p9_stat(struct dev_9pfs *dev, uint32_t fid, struct p9_stat *stat)
     memset(stat, 0, sizeof(*stat));
     req->cmd = P9_CMD_STAT;
     send_9p(dev, req, "U", fid);
-    rcv_9p(dev, req, "uuUQUUULSSSSSUUU", &stat->size, &stat->type, &stat->dev,
-           stat->qid, &stat->mode, &stat->atime, &stat->mtime, &stat->length,
-           &stat->name, &stat->uid, &stat->gid, &stat->muid, &stat->extension,
-           &stat->n_uid, &stat->n_gid, &stat->n_muid);
+    rcv_9p(dev, req, "uuuUQUUULSSSSSUUU", &total, &stat->size, &stat->type,
+           &stat->dev, stat->qid, &stat->mode, &stat->atime, &stat->mtime,
+           &stat->length, &stat->name, &stat->uid, &stat->gid, &stat->muid,
+           &stat->extension, &stat->n_uid, &stat->n_gid, &stat->n_muid);
 
     ret = req->result;
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 11:45:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 11:45:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630248.982958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Pws-0005XR-Ql; Fri, 10 Nov 2023 11:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630248.982958; Fri, 10 Nov 2023 11: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 1r1Pws-0005XI-Nv; Fri, 10 Nov 2023 11:45:18 +0000
Received: by outflank-mailman (input) for mailman id 630248;
 Fri, 10 Nov 2023 11:45: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1Pn3-0007he-Do
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 11:35:09 +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 32192935-7fbd-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 12:35:06 +0100 (CET)
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 0A2CD1F8BA;
 Fri, 10 Nov 2023 11:35: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 D240B13398;
 Fri, 10 Nov 2023 11:35:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id JNYFMmkVTmUYBAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 11: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>
X-Inumbo-ID: 32192935-7fbd-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699616106; 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=pEEtaKVN/DMgZvS8wiA2rruIly8+jtG6pBEpyWM89Hs=;
	b=iTkromXprVW3/nlojohrUMSkRDHKNbAXjPRqSQgXtZNtgoDrr9+z3Vs3FUuCmFlWEaWOxD
	NIKEOvNlJcgV421yMkbkpRvLV02NEins8CCiI+/mkuCA+fEg1h722mm7/EcdQlYiTcqKCH
	if+Qv8+FJKIqYgYb903VLkCAZFzBrk8=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 5/5] Mini-OS: fix 9pfs response receiving
Date: Fri, 10 Nov 2023 12:34:35 +0100
Message-Id: <20231110113435.22609-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110113435.22609-1-jgross@suse.com>
References: <20231110113435.22609-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When copying a 9pfs response chunk from the ring buffer across the
ring end, the local ring pointer and length field are not updated
correctly. Fix that.

Fixes: 0924fec1de58 ("Mini-OS: add 9pfs transport layer")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 9pfront.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/9pfront.c b/9pfront.c
index 43c7409f..35c5552b 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -386,7 +386,9 @@ static void copy_bufs(unsigned char **buf1, unsigned char **buf2,
             printk("9pfs: short copy (dropping %u bytes)\n", len - *len1);
             len = *len1;
         }
-        memcpy(target, *buf1, *len1);
+        memcpy(target, *buf1, len);
+        *buf1 += len;
+        *len1 -= len;
     }
 }
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:24:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:24:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630264.982971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1QYE-0008HX-UL; Fri, 10 Nov 2023 12:23:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630264.982971; Fri, 10 Nov 2023 12:23: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 1r1QYE-0008HP-RN; Fri, 10 Nov 2023 12:23:54 +0000
Received: by outflank-mailman (input) for mailman id 630264;
 Fri, 10 Nov 2023 12:23: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=3cT5=GX=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r1QYC-0008EJ-V9
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:23:52 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00d5b25a-7fc4-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:23:50 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2c788f5bf53so12615591fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 04:23:50 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 16-20020a05600c021000b004060f0a0fdbsm4928552wmi.41.2023.11.10.04.23.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 04:23:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00d5b25a-7fc4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699619029; x=1700223829; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=d6qsLjLzarjsyj792WOvem3ireyRhFP9cH08JtZTK6c=;
        b=niclZSPtq7fLL+NsanaU3B9lo9ncM3PTZMJPtrQJBD54iY7Uc5pKWHNFFQ0n5eyOgg
         ievK1KYIPNUsB75/x2wMdVv0/BbCYVIFMlNcHhZLTtSEnXYeFfvuG2/u+r/r4NFzMOWe
         V1G7i+f4hZ75xCOybwDRqXnDBKr70/TjpuNXE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699619029; x=1700223829;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=d6qsLjLzarjsyj792WOvem3ireyRhFP9cH08JtZTK6c=;
        b=Ku9YopJTPD50uFMuZ/wZrH5cXpalmX/utxyxbJD/ru5oI+iFJ6GpQcM3n0SNUkRZCK
         peiS1tqP46z5wTyt5sduSijTnkP/6u4XL9O2ypEkDxHkSrP15XtKQ1mnDV7BXWVlQEwD
         6ihP+hMhwdQvLxd0tV5WihYd7tLPVpvxgcZEwk8cGIDJn6E/1fx2kXpOOyBTjTxhKR+f
         RFoKRwFup75ffsFOuGjoXwRW4+1uTXGOKNujRzf2OvfqHzN/MSoIC7XRcDOHtcwu4z81
         EC11p3FtfNQeSPZ4IsgbDVtZNdumWRJKCEORX0cQdXbvMM4fogUQ6+Dzqe74xpkZVbs3
         D4xQ==
X-Gm-Message-State: AOJu0Yzsy+bdilHyQ9+nynM9oHEDiyiO6yR3OKzDRgzHkLrabxSOxZjR
	N21DKQG6FZEvToTEsKOq0x0vNA==
X-Google-Smtp-Source: AGHT+IEVMcz88wiybwFGxqthBAENB/4ZAWD9T1MqprzLvhMKOFRNktjF4uG6aJTQhyehTtkPg/SmcQ==
X-Received: by 2002:a2e:b00c:0:b0:2c5:1037:b54d with SMTP id y12-20020a2eb00c000000b002c51037b54dmr6517610ljk.31.1699619029580;
        Fri, 10 Nov 2023 04:23:49 -0800 (PST)
Date: Fri, 10 Nov 2023 12:23:47 +0000
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	samuel.thibault@ens-lyon.org, wl@xen.org
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Message-ID: <ZU4g0y-Y6-77sY-C@macbook.local>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231110113435.22609-3-jgross@suse.com>

On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
> Get the own domid via creation of a temporary event channel. There is
> no "official" way to read the own domid in PV guests, so use the event
> channel interface to get it:
> 
> - allocate an unbound event channel specifying DOMID_SELF for the
>   other end
> 
> - read the event channel status which will contain the own domid in
>   unbound.dom
> 
> - close the event channel

Should we look into introducing a way to expose the domid, so that in
the future we might not need to resort to this workarounds to get the
domid?

Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
a non-HVM specific leaf when it was made available to HVM for pvshim
reasons.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:42:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:42:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630275.982981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Qps-00052E-E1; Fri, 10 Nov 2023 12:42:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630275.982981; Fri, 10 Nov 2023 12:42: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 1r1Qps-000527-BJ; Fri, 10 Nov 2023 12:42:08 +0000
Received: by outflank-mailman (input) for mailman id 630275;
 Fri, 10 Nov 2023 12:42: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=jLlG=GX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r1Qpq-00051z-T7
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:42:06 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20612.outbound.protection.outlook.com
 [2a01:111:f400:7d00::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8cf8cde2-7fc6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:42:04 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8638.eurprd04.prod.outlook.com (2603:10a6:102:21d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.21; Fri, 10 Nov
 2023 12:42:02 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.010; Fri, 10 Nov 2023
 12: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: 8cf8cde2-7fc6-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iG4eYuge8ccNa6lj4JOJfd9t0ej/6UAYs5HuKEbfLGAIlRkY++l3ou2IzhZ5CZjV2BBKMEa6bZXOv713ITr9yIfrvmzGPyv6+Vp/mSQxQ0PdXveTedQ24Yh7VQT9Vn93hs2lpndRzh25n7q2HrXJPTHiMNAumQRCxsfIxQpUQpMu8AFA9PaGvAOg9ZuZeywQCpNPcPf9d5fuY9zQGf/HkYIBo6aaAg1ryjkzMg1nWidQUQJ6sxh6M9hd6YdRXe97x9bHW6FrxwhfP3Yz62VJ9oFnNsP9QIPB1ZlAQPnLMLsBJ6vVN95WlviMg0QzsNgErYNCNiZDyBNFLxlzWfDCDA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ht6CGAYDcXqbjiDKoDntInmLwGLqvjlsjR2Iy3UMjeU=;
 b=Np8Nuoj5Csy249aaOGD9iwshZZ/JHDihdTDDBTbz1GuSQ2ejJJpNdV8UnHCLzDvsV1GW10NcXh9nTXkb4vgE87zfuaSfFkzIuPLqH1lCYIQNS6bILXH4RWf0mJ1nhBk8oFf7+1W3xyZsh4Oe1oomJkqBKhqjyoSmazZEoyr4smBWkmnA3Ty/QmmfU8zDl2rJBaivJT1LZO0LUAMT/7yDwfxtV60W5U4MpB4440cZO2D/5MEXmz0Ufza1Oy3op0BhTfqBH3j/vxfOHgAkesuK5CV3W7ZTDtQdzUbuYnrxw89hfktuhwkqPUGvzHr62m0G/jRnPOLIr1dfL6S0q8p1XQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ht6CGAYDcXqbjiDKoDntInmLwGLqvjlsjR2Iy3UMjeU=;
 b=VPjPiT7lQbkW08VRP4FR+AjXjXkPSf6a6RaNpCEVxwH4RT7HPEHGQB/xHhKXEr5IjP2tEKf1Z7fwlBvM2eW271J+nURDn13EkQV5vGRXAZ7yGdHq0deVl0X6qynwFr0GCp7fUFzPrMUCLWKtBqLqkGVSR7aAl5oFXli7tdN3PFkx4F72Gzn49ZCVumTaKCMqNBJ7zeaPOUNwfnRh27f+A2w+ZdQ/oyTtcZ/B1px+RG3X3WYiPUTstz8sNZAHnHqveT0eK13Am1e8nJdDO2IBavmZo2I0He1G1PgcGwelMYgnnb+p+QIfy01zgPWWySQxWQKwXoyKGMBsssZLwsbyQw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bd82d5d8-5bff-cbfa-2014-8be866892a8e@suse.com>
Date: Fri, 10 Nov 2023 13:41:59 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH] automation/eclair: add a deviation for MISRA C:2012
 Rule 8.6
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <4de6c01f8af987750e578b3d5733dcd4ca536a9b.1699615143.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4de6c01f8af987750e578b3d5733dcd4ca536a9b.1699615143.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0351.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f4::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8638:EE_
X-MS-Office365-Filtering-Correlation-Id: 7aed7aaa-b91c-4d67-4520-08dbe1ea6fd4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	958rIn290qfDHMTWrENp+shZqgLCxGbpWBcv48L4itEuLKx4+x6+vvT08rL7UvEZFUD0hcoAfUyHrGi2W9Cf1ZRU7o/iSXF7nW2rBZ9MNcl1m7vfXa9eeSmnnd7VZNaPwQt0LQuRka85YJKv9ull42YPXdRH5OpU/chQQwCnxf9vhmrN5u7raQCoeM3m8nNmxqNWzQ3RnYzfJ7TFQrm9LQcbrQCpECTQf0WdawLbDsApQwIW7brIY9NBNhBNuw7EMjZGiidbUyvp4rqeJ3KGc5i4y1HIlrhCAK4yKlWAVuA7NVFumggQ+YIBx8UuuP9Xnl4IsJY+Isl5HWFzv3SUPD33V0FkMu31FH5smSL0CzvjbZlUcWLzlJMj3aWeAMsbd9/c3Lx1ovqfdtlzeR5aGi4ts8RQN7g+bhZV88MGCGc2fVtCu9TxNuomHVkHBpKp2jbe1642HtaD5A5cGzTQXO7adlyNgr3+9uWDjK4P3m7uqHroifgRlITh0Bf8ADsztjUUUG+6oZEZZChwZuccAxDrFIQ5LmQj40KtLryh3iakY5KivorRXFiCzOKoNT5uCp5pR2aNWvtjYMeULXcnmbhCCSM76Aw8eu63UUPfiEK/QxKd86n9E6sQB905bHwaDqAO4Gk0U9irTwqeH9MAWQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(346002)(396003)(376002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(2906002)(316002)(66476007)(66946007)(6916009)(6506007)(6512007)(66556008)(54906003)(478600001)(53546011)(45080400002)(6486002)(38100700002)(36756003)(86362001)(8936002)(5660300002)(4326008)(8676002)(41300700001)(31686004)(31696002)(2616005)(26005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZWgzRm5DMk00WGlZZnJWUmVJdU9VOWVoa21qUmIrdE05eCtNNVpLSjNKUmho?=
 =?utf-8?B?YUw3NkJFRlljS0lPcGlOdkpoSEczQ3Q1TW00NDNDekFGeUE5UEdqSGVJSGYv?=
 =?utf-8?B?MS9hbWdLWFMyZEozRGtXVkFkdHJvNEdMSkVZdm91Y2hVbzdLN3NuQUpBNDBS?=
 =?utf-8?B?bnU2aHZJakpMN2I5c0RXbURjME41U05XdGkwK0JydUJXTGQwQ1ZON1R5TmVK?=
 =?utf-8?B?S0dOQ0JKSmNVT2Y0SEx3S09KNjl0cFh4ZWhiQ2hER2tHYTkzcUh6elpMR0t0?=
 =?utf-8?B?bktyZSt6NWlCRmtsK1JndnZjWk1qUVNxaURYdld3WFNBWVRLVUdJS3hrWElP?=
 =?utf-8?B?YzFQdWJ3RWZ6YVI0MGd0VGlYVE9raTdqZ09CTkxiSXU0MEdVV3FaTnM5Y1lC?=
 =?utf-8?B?SlZacDlSQ3c5SG9SckxRWG95Q05BSVlSQlR4cTJGMmRCZWpBcTYxV2xSRFhi?=
 =?utf-8?B?eGNHSVRVNGdOaXFQMHhTazZ4b2V6cldCcTc5Y2FJRlJwTm05dzhLaHNGYWZ5?=
 =?utf-8?B?WlhXV0thZG5NbkNYc1BUSjZmUXZ6OHBDeFdnZHVTQllvWC9SY2FYUXhjZHdz?=
 =?utf-8?B?RVAxaU5adDU5cDBPdUx5VnFnWUIzaFllMllTaWxJSzM5eUw0ODd3UEpnc2pG?=
 =?utf-8?B?ZmkxdGhvYVNBcWR1dGdZWGpWVFNoRlpiQURJa0RGWFFRS0tOUG5vR2hDU3o3?=
 =?utf-8?B?QnErWnpqVXFOR01YaWN4K3JQTnNWcEp1VzZCZTBGMm92ZkZIOE5SYUlqWWty?=
 =?utf-8?B?anpEbWRQUlZPY01KUTR3YThZWC9mOU14MitlUXhEdlFycDM2UnI4Z0xDb3JG?=
 =?utf-8?B?cUlTeS9TNFBaL0ZlellaSUVOUldrRGs0Sk95cWRtNFZYYWdxcWREY2Y1eExH?=
 =?utf-8?B?MStOQ0xPZTZsY09UMkwyUnNBd0U1V2Q1TUNwQXpxQit1RWZ6SWNobG1VNUFk?=
 =?utf-8?B?U01Td0FzL2RUNGJYeDZrcWdFTk9WNnoybWNlOEN3Z3VaMzlhblNURElBYXZo?=
 =?utf-8?B?eTEwV0tVR1R2QzJoVzY0Z0Y5aFZxYTBiWWoxWFR5UkNlZUlRNlE4R1VUQ084?=
 =?utf-8?B?Q2pFMVlDZzJselRJeHFRTGIvY09FMUtzcFFncTNTOHBkcGtGUzVSK2g2QklO?=
 =?utf-8?B?dXZwVVlxVUM5ek9VamM4eGxlSlFlYmZoQi9TOGM3LzlIZDdLYXBlLzR3YWdr?=
 =?utf-8?B?Y05EUUczMWZmMmlEL0g5dkNJbUc1M0dJUmwycm1zV2xOTEhzMVZjYU1iYUVS?=
 =?utf-8?B?MXBVdmZyL2wyZXA4STdpOEhjNStkMUVUQmhYL2ZWcng4MklCUUVsNDllcnBO?=
 =?utf-8?B?aEttM083VFVuY29WK1ZEa2tFRUhoeTV1eEM0WkRQeG5iM3JsQ1BOa3Ava3lM?=
 =?utf-8?B?Z2FDZGEzcVdGQ21RS0R4YkViWXYrTEI4YXdxQkdUaE40SFFLR2E2S2pCVTM5?=
 =?utf-8?B?MGJ5Wko4K3FGMnhHdzFtMHEvcGV1bC80czNGbmtWQzZpanRrUlEwbk1JWUtL?=
 =?utf-8?B?QlRLZVVmRlJhc3pZWHRsa1FFTGpjdHJydFYxWFJJQzlEQnpaNktOS2cvVTB4?=
 =?utf-8?B?R0N6c2NKck5wNjROV05pZi9kNnQ5UXRXb2FhQ2xQTjZlczZWN1YyOGs1amRJ?=
 =?utf-8?B?b2NzaEpHRkJobE1DT3cwc2JBZ1Z5WHJFTzFrNUw1dElEVlVtaWFWMWRSckpx?=
 =?utf-8?B?MGZlRi9NMnNiY3ZGb2poOTNuNXRKNnZJZG1LTXcvejNUNnowZGRQUk9XbEdZ?=
 =?utf-8?B?Ujc3elBuVjZKOGtXRnNSRzRrSCt4bVZrZVZBdTRTNUU2RmdQa0xsaDNWcElH?=
 =?utf-8?B?MWhFRG81aU10blQxVDZvdkdvT2pzZVlGQmJyWEFUSGg3MDRGZ3hrZERLL01H?=
 =?utf-8?B?VUltSFpOZk9keWp1YjcvUXVBOXYwdWVtTjhTNmxhVjN5QXlPV2dFdXlTLytn?=
 =?utf-8?B?Tkt4MnJyR0pGTzA2VDQrK0JnMTJWbkFrR29aZS9KV1Q2eEhsM21xSWYrczFr?=
 =?utf-8?B?aHNSdjJ3OUR0YlNHWlU5TXJsbUZ2cm40d1FjT0lLOVNIZ0xjeUNQNXVyTThw?=
 =?utf-8?B?dUo4aXo5TXBiajFDYjdpQ3ZPK0lYSUtGQjBpNXdGdGo5b1FhMjNaY2cvTGFG?=
 =?utf-8?Q?qzeWkYTjiXwmj05V55OyjAylh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7aed7aaa-b91c-4d67-4520-08dbe1ea6fd4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 12:42:01.8973
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AzdSvTfVNaiqgJUst8r0naklsw+WWpQVlSJZfNpqujT/xQd4oxiX2csETHyuC5D/M7Y0F26sREG5GG06SsIx2A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8638

On 10.11.2023 12:23, Federico Serafini wrote:
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -214,6 +214,15 @@ definition is compiled-out or optimized-out by the compiler)"
>  -config=MC3R1.R8.6,reports+={deliberate, "first_area(^.*has no definition$)"}
>  -doc_end
>  
> +-doc_begin="For functions memcpy(), memmove() and memset(), if there are
> +multiple definitions, those belong to different archives and the behavior of
> +linking is well defined by the toolchain: only one of the definitions will be
> +linked in (the first that is encountered searching the archives in the order
> +they appear on the command line)."
> +-config=MC3R1.R8.6,declarations+={deliberate, "name(memcpy||memmove||memset)"}
> +-doc_end

Why would this be limited to mem*()? Anything put into lib.a is going to
be treated like that.

The description also isn't quite accurate: Per-arch mem*() won't be put
in archives, but in .o files. Those are always linked in. Anything not
otherwise resolved may then be resolved by picking objects from
archives (appearing later on the command line, unless specially grouped).

> +
> +

Nit: No double blank lines please.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:42:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:42:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630277.982996 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Qq4-0005OO-PH; Fri, 10 Nov 2023 12:42:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630277.982996; Fri, 10 Nov 2023 12:42: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 1r1Qq4-0005OH-M7; Fri, 10 Nov 2023 12:42:20 +0000
Received: by outflank-mailman (input) for mailman id 630277;
 Fri, 10 Nov 2023 12:42: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1Qq3-00051z-Ij
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:42: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 93d56ec9-7fc6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:42:15 +0100 (CET)
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 100E41F8BB;
 Fri, 10 Nov 2023 12:42: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 D8F38138FC;
 Fri, 10 Nov 2023 12:42:14 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id cLdiMyYlTmVfJAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 12:42: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: 93d56ec9-7fc6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699620135; 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:autocrypt:autocrypt;
	bh=r1/LNCgLgUKDn1qGWlJFRikWFAGSNtAdim5Mj/B4fgw=;
	b=b8RdLkOn0S8Cwv+4GEYY8p3aZUTK2/bN1XLHVGdWIXqA+5kYyod3Yz+tsFjsrxJ0eCAUxu
	lmifOEvE6+6lEBwliRzSC/sT256BgTNNYqhMmZZy8G79NQUlv5jwbxAeA/YKb7+xFpPzID
	GUyC1B30dyKWi5nwnLAI8UTJAgwjSOA=
Message-ID: <ded7609e-8a30-47b8-b1d0-012290a35ae6@suse.com>
Date: Fri, 10 Nov 2023 13:42:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <ZU4g0y-Y6-77sY-C@macbook.local>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VVZiQwYQ6ZKIHlqyTJw5OgFk"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VVZiQwYQ6ZKIHlqyTJw5OgFk
Content-Type: multipart/mixed; boundary="------------i69ZSmSMl9paR0nNUA19x50C";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <ded7609e-8a30-47b8-b1d0-012290a35ae6@suse.com>
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
In-Reply-To: <ZU4g0y-Y6-77sY-C@macbook.local>

--------------i69ZSmSMl9paR0nNUA19x50C
Content-Type: multipart/mixed; boundary="------------5VxGzoHVdgJYqLZSXR0p9VO5"

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

T24gMTAuMTEuMjMgMTM6MjMsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+IE9uIEZyaSwg
Tm92IDEwLCAyMDIzIGF0IDEyOjM0OjMyUE0gKzAxMDAsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6
DQo+PiBHZXQgdGhlIG93biBkb21pZCB2aWEgY3JlYXRpb24gb2YgYSB0ZW1wb3JhcnkgZXZl
bnQgY2hhbm5lbC4gVGhlcmUgaXMNCj4+IG5vICJvZmZpY2lhbCIgd2F5IHRvIHJlYWQgdGhl
IG93biBkb21pZCBpbiBQViBndWVzdHMsIHNvIHVzZSB0aGUgZXZlbnQNCj4+IGNoYW5uZWwg
aW50ZXJmYWNlIHRvIGdldCBpdDoNCj4+DQo+PiAtIGFsbG9jYXRlIGFuIHVuYm91bmQgZXZl
bnQgY2hhbm5lbCBzcGVjaWZ5aW5nIERPTUlEX1NFTEYgZm9yIHRoZQ0KPj4gICAgb3RoZXIg
ZW5kDQo+Pg0KPj4gLSByZWFkIHRoZSBldmVudCBjaGFubmVsIHN0YXR1cyB3aGljaCB3aWxs
IGNvbnRhaW4gdGhlIG93biBkb21pZCBpbg0KPj4gICAgdW5ib3VuZC5kb20NCj4+DQo+PiAt
IGNsb3NlIHRoZSBldmVudCBjaGFubmVsDQo+IA0KPiBTaG91bGQgd2UgbG9vayBpbnRvIGlu
dHJvZHVjaW5nIGEgd2F5IHRvIGV4cG9zZSB0aGUgZG9taWQsIHNvIHRoYXQgaW4NCj4gdGhl
IGZ1dHVyZSB3ZSBtaWdodCBub3QgbmVlZCB0byByZXNvcnQgdG8gdGhpcyB3b3JrYXJvdW5k
cyB0byBnZXQgdGhlDQo+IGRvbWlkPw0KPiANCj4gTWF5YmUgaW4gdGhlIFBWLXNwZWNpZmlj
IGNwdWlkIGxlYWY/ICBJdCdzIGEgc2hhbWUgd2UgZGlkbid0IHB1dCBpdCBpbg0KPiBhIG5v
bi1IVk0gc3BlY2lmaWMgbGVhZiB3aGVuIGl0IHdhcyBtYWRlIGF2YWlsYWJsZSB0byBIVk0g
Zm9yIHB2c2hpbQ0KPiByZWFzb25zLg0KDQpJJ20gaW4gZmF2b3Igb2YgYW4gIm9mZmljaWFs
IiB3YXkgdG8gZ2V0IHRoZSBkb21pZC4NCg0KQXMgdGhpcyBtaWdodCBiZSBuZWVkZWQgb24g
b3RoZXIgYXJjaGl0ZWN0dXJlcywgdG9vLCBJIGd1ZXNzIHRoaXMgd2lsbCBtb3N0DQpsaWtl
bHkgcmVxdWlyZSBhIChzdGFibGUpIGh5cGVyY2FsbC4NCg0KQXMgc29vbiBhcyB0aGlzIGlz
IGF2YWlsYWJsZSwgSSdkIGJlIGhhcHB5IHRvIGNoYW5nZSBNaW5pLU9TIGFnYWluIHRvIHVz
ZSB0aGUNCm5ldyBoeXBlcmNhbGwuIEluIG9yZGVyIG5vdCB0byBibG9jayBteSBYZW5zdG9y
ZS1zdHViZG9tIHNlcmllcywgSSdkIGxpa2UgdG8NCnVzZSB0aGUgaGFjayBvZiB0aGlzIHBh
dGNoIHVudGlsIHRoZW4uIE1heWJlIEkgc2hvdWxkIHJlbmFtZSB0aGUgZnVuY3Rpb24gdG8N
CmdldF9vd25fZG9taWQoKSBpbiBvcmRlciB0byBhdm9pZCBoYXZpbmcgdG8gY2hhbmdlIHRo
ZSB1c2VyKHMpLg0KDQoNCkp1ZXJnZW4NCg==
--------------5VxGzoHVdgJYqLZSXR0p9VO5
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-----

--------------5VxGzoHVdgJYqLZSXR0p9VO5--

--------------i69ZSmSMl9paR0nNUA19x50C--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVOJSYFAwAAAAAACgkQsN6d1ii/Ey+3
xAf+JmU1AAD0+Q19WHbuFzkEj71QWr23MGKBVAtOFYRHtT36I4sQ8HFcut01GjdS4+DgTaKlOuG+
SIb/6q24ZwYF41JloxkGrD+GSEIDStypnCBADWBba1ynGFFxJgqo8GY3es2hbyLvjwwRfIPwH+7V
Bfdv0DLVySO8MaocjJrLsYt9PMTFXRYtO9uM27OQArkc+Sv/I7txNFEINatN0zt3T9GYRI3sMWqG
c0mocSRFTbcCZaV6n7CfR3qDx0yygTf/lwPlrQ/WIA6BRfT9PseQ4PUHtIHeZGPpGQj2kyhjj9h7
6OEr83U032zVFVO1rUY2WuAvFWO1e9MMoVROciRo9Q==
=FTW+
-----END PGP SIGNATURE-----

--------------VVZiQwYQ6ZKIHlqyTJw5OgFk--


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:44:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:44:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630285.983010 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Qsc-0006v8-9O; Fri, 10 Nov 2023 12:44:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630285.983010; Fri, 10 Nov 2023 12:44: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 1r1Qsc-0006v1-59; Fri, 10 Nov 2023 12:44:58 +0000
Received: by outflank-mailman (input) for mailman id 630285;
 Fri, 10 Nov 2023 12:44: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=jLlG=GX=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r1Qsa-0006sp-UM
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:44:56 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2061f.outbound.protection.outlook.com
 [2a01:111:f400:fe13::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2ee5b34-7fc6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:44:55 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8793.eurprd04.prod.outlook.com (2603:10a6:20b:408::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.7; Fri, 10 Nov
 2023 12:44:52 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.010; Fri, 10 Nov 2023
 12:44: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: f2ee5b34-7fc6-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Qyvjj+LiNSKaPSunGjWDVJyUvhl0HCxLGG2kLX/InCPaqdK303x4NEapYSgo/huiLCikA5zoV/DEwea7hHhL978yYllNzm6hPFdeKQ3AXAf7pU5IlbLkpbmNDE9d/W46VQY98e3uyeRsp87OiAy2SMHGBvJrZ1osrZ4LTOeCEz3e9Q1+TFmreVnXJdQMDhgS/LwIO8tUlX3pqCdCzSQFb2iw6xn3qD771HRQvpqXa46prT3jmbrR/4xJ/fuuqRnc2FWXmAk9jT7TvZbwRaJcqj3ea+zwiA1bi4/Ou/o8qbIYGzftnp6f5wutZ8n9zLOU5ggdEmyeu00SCTwalD6YUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SFxTjFDNUPAnbA0IIp9Blep8NlksFtPdsH6CO29nvvQ=;
 b=Eu0m9PXoocNJbn9/tZVsn5RJExvNniEvuZNgFO4P1UYMSSecne+Y6m50lJOpppzHOcQkFpKbjcRu0krwpNQzTYdvL9dqo41XOn+pCFgmPsYkcDnso5pjBcbYuTFGGUvC5mCUGCqVg20mcWiZbSnwub2Hp5u+gXb7KFMr/YrD70POso920M8JJtx86pkT9UqZtjJzThCwkHy5ZU73DM1o85kNoHQr3gtWtRYI9LroebQ9Po5XZboB8/OtOmOExO2BGXUsAHmz0b5r+UgqJMDh0ygFPiQoG78pw2iP45xeaKXjFq9d1J0FqtWZ+/tAMqOW/ssskdO8jgB5lbW7ZjCweQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SFxTjFDNUPAnbA0IIp9Blep8NlksFtPdsH6CO29nvvQ=;
 b=VdHlGHi3+LwjJB9fpbC2NkWm3HAfOtgQ2yMjPSJVRWiF+WGG2Gk4gHAHFnDNJOfCB5BCHxpz7V1/qawmCSQ6IkdRoFZ/6SFnB/vGcbOpjlVftLIYQCkSMYQktoWy8MNyLJC6JDSAgGnZya2q5+b9GtGuj0fryzd702vnOZOfdGoXeBT20lT7ci+LQv+35qrA28nmjzetj0yEF9Anjd32O+nNsnzNEQd72J0s/lnZ+U+EuqTH3qr83lfQzsGd4MMEcuOeGpKxvykZWVv+420XwRMdVIoxomk+yN47vgoAk/Bv+5knrYwLJU7wFDUFHT4vu0F62udAHsG5V9nhCcUOZA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9d75d794-a333-792a-786c-064d35910980@suse.com>
Date: Fri, 10 Nov 2023 13:44:50 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross <jgross@suse.com>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZU4g0y-Y6-77sY-C@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8793:EE_
X-MS-Office365-Filtering-Correlation-Id: 4440335a-18e0-4f12-558b-08dbe1ead5a5
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:
	emlVGvMJCKrsx00qDZAxepNyHvVJbetmTkoADearEpNfT3ESo4yI4vsYTBrFL0CKYQBJ0ypxPjuAm4P71i/Yeruwxfs3fMtmRZjKdwqcfIZrq89G9ng+zgclIF4xWxasDGkF72Ykq82s13vqUZCH8KCDK4tZqI89gE34QfiuX68JzIggBbINiO5E1Zbz1hqrpBcyfB7qVG0xHv1HJG2henAPDDH794uK4CXc6WVO/EC5R6c9azchQVsvD/trHrBnEh8wEs9xYTbvjU1q6NAUSwS5+cf0knlEfpd05o63uk1T/zje6C3pnxBOocqGG0521Bp0tZ4aa15B6BT1tSI2VPUINtqtnaZ16+wf+dJ/d7EeTwLw8zPDTcJ6/x5GJ47WUna85NSnUeOpNvJlG6yrD2YuNLb54Huvt79j+qog15WKdX178BVw3MgfabeRB5o0XpSc7jeBwySrGbrA85MJpdwdgYVM9PqFeMEPEPmfOcyuOyoM731DM6mXXS4vMtTDoyKtQw+zlxBw0zEGWhtkfYji3q4bwDpCfn6e817SYYtX7k284u6Ga0EghxpEjzDK2HCf96BeaOHMef/nywzbyMIV29uG7sQrEyflaVFrI4Cu3h99KPDvyFZii/4JOAvMUw2yGZ057k6g7KCMlXTDfw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(376002)(396003)(346002)(39860400002)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(36756003)(26005)(8936002)(83380400001)(2906002)(66556008)(4744005)(6916009)(316002)(66476007)(66946007)(8676002)(107886003)(4326008)(6486002)(53546011)(5660300002)(478600001)(6506007)(2616005)(6512007)(31686004)(86362001)(38100700002)(31696002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VU5ibUt6NWdsM1NIelg5dUhLcnJQNGRUUUR4blNGRmJoRXFyRXZsRUNHREs4?=
 =?utf-8?B?MGVPRnpSRnI1SzY3Z0tvZUdhQmhBcmF5YjQ2VEQ5Q1l6UmJ1ZWFwSzBuRmE4?=
 =?utf-8?B?ZHYxQWFrMVgwV2JHandNbzQyZjRLMkFSaTVmelNndGFGWmhBRVoxQ0xSM2Zr?=
 =?utf-8?B?bG5qSlRMVnpUZWF3NU1WMmRCZmRvTjVJeHFiVWJoV1RkeVdlY2kydDdHenUx?=
 =?utf-8?B?V3YyZWs5ZDB1LzlJNThlUlhJSGxhMEw4Y2dHZlUrL0xlVW43RWRaRzlPNkU5?=
 =?utf-8?B?aFZQdnVNdWM2bnFHVU9VTm5BdUdJWHRUaTRaRllFY3FDVDNzMkZ5d21Oc290?=
 =?utf-8?B?NFFXdStVMENzdjdSYS9iRHJqWGNheVdrTFU1U21uelM3ampvbE9DMXFZeVFV?=
 =?utf-8?B?Vlhva21TLytJdlozZzVNS2FjaDV3QkdjNDFLSlkwaWRLa2U5M3hQdVpTTVFq?=
 =?utf-8?B?ZUNKak1tdUpZMmNVY3M1dG5JQmpqQnE5T0V5K3FKZkpyMWVwejlZcktKTmtB?=
 =?utf-8?B?bVhUU0UwN25VOFBrUE9US3ZwamUwdjMvVmtFVWhneHNNYSszNW1xWjBhRUxz?=
 =?utf-8?B?S0ljYm1aK1hEU0dSV2pBU0t3bE5YVjJ0KzhSUVZBUmhVM2RLd0J1U3hoSmRw?=
 =?utf-8?B?dXFNeUVzSjgvTnRUYlhRMU9SVTZIL0ExWkFZK1IyTGJ4Sy9YS0FJckNlQ1RR?=
 =?utf-8?B?ak9mK2lRQm9CTVJnTytraUxrSWZ2OW8xU29laUFqdHpaV3BBYStTekVTZUxN?=
 =?utf-8?B?TmFlYlVVZ25jNGdmVnhpQjFsR2Z4U0lXbVJmcDVtNnliVzN3VHFmOWI5LzNB?=
 =?utf-8?B?QXpaTHFyZThKbllsazZWKzdUS0RxUkM5a2diaGFKc2xzSUZyNlAvU1JTOWkv?=
 =?utf-8?B?ZlFHS1JmSmhyTG5qQ1JQOFJNQnRDdEdJR1RtaW1TTVMzSXlmZTY0Uit3TUsv?=
 =?utf-8?B?eUtUODNnU0pPa3FNU3l4aUlYalFNMVU5ZGNEckE2OEQ1QURYS0o0YWlVVnBy?=
 =?utf-8?B?ZmRYc2pOamhKMXBkZXVTeFl4cTdJcTNGTjliU2ZPYkk2RktPNkt4MmZHdWRh?=
 =?utf-8?B?SVNqU3hUc3JQNjZ5allqWHVrL0ZHODhPWG9SZ0k4Q0NSaE9JbXFjeUNjWXgr?=
 =?utf-8?B?NHdtendsOUg4dnZmdlBSRXkvZEVDREp0bVIzc2d0YnYyamZTS0x2SEVRR3Nq?=
 =?utf-8?B?VFFYVXBXcVVjekl1cXVmTXpVUHNDNGZMRVAwa05VTG1Da2VVaWJhSTdlSlBI?=
 =?utf-8?B?Z0w2R2tKYXZtb09NTExRVXVkSDVNYU9MbUVXRUxKK2RvMkhUZmVZV1grVUdl?=
 =?utf-8?B?R3JZZEZNRVM4YnlzOFRzb1laRmhxYVVlV2RqKzY4OGxXOCtXbUcvVzF6b0tY?=
 =?utf-8?B?ZWF1SUh0bWtJcjFUd2FtNUhRa0REUUZseDRBd2F0dUxESjRicjc1Nm91eWZh?=
 =?utf-8?B?TGVNeUFMaUp6ODBWU25EZFJ1Tk5FbGZYTlB3cCtKNkpXUGxJb0lSNm9oZDRv?=
 =?utf-8?B?QmRkQkx1dzRaS0hLQXg5ZWFoRHgyMEZTaklHUU42Wk82YXA0SGQ1L3N6aERS?=
 =?utf-8?B?eVhYVmRuOUxOeGdlVXRTbnJCUFhRL3hJdS9ETUltY2pLODI2WDBoT2tENmpi?=
 =?utf-8?B?VWFxS3E5dzVDUk5USHZNRTYwOEhnM0tBMU1tS1poUy9Rc0ZMc3VjVGUvWGh4?=
 =?utf-8?B?WTRNVjJucGQ2SkM1UzN6RVhlQnM5OVlBOXFhbWpEQWRRUzNkY0pNYXNrNnRR?=
 =?utf-8?B?a2RqQlFuYStQNVpvUFRwVk1pd05ENlZrZ1g5Qi85ZzBIVStUZUJySU9zUDEv?=
 =?utf-8?B?Yk9VQ1VJbXE1akJtQ2ZhNFBqc3QrcWlRLzRJalk0RGVLZHI5dmo3Q05sZU9F?=
 =?utf-8?B?cmRIUWd6MmVMckZVbmV5YktvaHRUT2VsVnFnak1tb1NHQXBSZjdOdmE1NDgw?=
 =?utf-8?B?WWVNeGFKZWs5bGMwMWUvallQa2R3Mys1d3lKcjVQQW0zVXQ3TmVCWVNIaU5p?=
 =?utf-8?B?MGJ5Z2FmbDdTRlBVd2pocDEvSFVvTHNzdHI3WWovV2ZJeEszc1FOOTR6blVU?=
 =?utf-8?B?TURUdmhscHlvaEFEaDFsM3NiMHZMakVSamZBd2t2cndmek1vWmVNYzROU0RV?=
 =?utf-8?Q?S5cYdVyTWu9eqo2R0Iu4VN9K0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4440335a-18e0-4f12-558b-08dbe1ead5a5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Nov 2023 12:44:52.6947
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: K5I2+LMy71MuT1qzDzl+7q51O5gc8o/nkIDs6SU1MJfkurPHHjKCjiC3M6oa1X/7rtUfL2epTQGOb1ZWDw/vnA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8793

On 10.11.2023 13:23, Roger Pau Monné wrote:
> On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
>> Get the own domid via creation of a temporary event channel. There is
>> no "official" way to read the own domid in PV guests, so use the event
>> channel interface to get it:
>>
>> - allocate an unbound event channel specifying DOMID_SELF for the
>>   other end
>>
>> - read the event channel status which will contain the own domid in
>>   unbound.dom
>>
>> - close the event channel
> 
> Should we look into introducing a way to expose the domid, so that in
> the future we might not need to resort to this workarounds to get the
> domid?
> 
> Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
> a non-HVM specific leaf when it was made available to HVM for pvshim
> reasons.

Couldn't we retroactively generalize the type-agnostic parts of that
leaf?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630296.983024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R3v-00023e-QL; Fri, 10 Nov 2023 12:56:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630296.983024; Fri, 10 Nov 2023 12: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 1r1R3v-00022z-Jl; Fri, 10 Nov 2023 12:56:39 +0000
Received: by outflank-mailman (input) for mailman id 630296;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3t-0001y1-MW
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:37 +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 93cf96c8-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:35 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACHnNa029602; Fri, 10 Nov 2023 12:56:21 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3u93ptjrx7-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:21 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by AS8PR03MB8783.eurprd03.prod.outlook.com
 (2603:10a6:20b:53c::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:16 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 93cf96c8-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jdtsONKBPTAQF/pR2X/ZJtWkq4brKn3cvUmnuwV8F13iZA4kgn+TpEVZ70ucl8dSRSbkcWfIcYHdE+0XKI7xh7BeTyncl8Ea+oJworOf/j/SEJ6UKgVfRf3nXVoliIeX2O+zf3yUsrMYJ9MmJXO2uwaaiaqMfn1++eFsc0STD7L+q11qje2g7HIorpq9rtzXaGcy0S0nQ9SCY63lnXzO2w+2r5vgA2A+yOU1/oyxBqTS0OIm5dtQCdasikgWHy/68UBgAY4BcOIS9bSUE0EGx3l43E2McPqHFJ1bIP63suAGU05ZXmuH2SnzI7ON42697xzSSwu7JO36ASZs+3RQAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3pZ3SAQZXGyPa2UCSbq4AipLK56hM+8f7efoATgbaI8=;
 b=h4Uw5UKssbQ0zIhWU8q/ffdt42EwRN37Hd5kVArHwFl/Is6MpzoSlJ5T1O5hV5d1zMHRnWXajfQxZwAnI4I3dQHcYXnKkRQ2e+wsXE9ufruUloKYmhL5e2uZD2aWRNcMomrlld++OBkL5E1fgy7Ncn5fmEp+7hCRhxR0hNHFV5UAIMSNQS1Vx2eBab3JaTcmzONBqEzIdCnp8nZt9z0vPStUgHAskIyUJ9nStMPql9eJ8NMr9ecXi9WxwftiTd6hkzSH+Zts8pkxjh9SAX0CJxkhwJRlIGi+7RXzpy7VWFIBGeqSU2Xgp3dKi1OrWXdLGAZ9gYNB3G6E67SNCumLAA==
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=3pZ3SAQZXGyPa2UCSbq4AipLK56hM+8f7efoATgbaI8=;
 b=WUXKhtEjJpwaD6kGyn/oIIiETCOQX3/xGHNXOrNnVU4novnNBPA6BkJXcrvMEfMtSKYwRnDJCOBfjr37XGSdrw9qmnBKNKfGPt+mGtl0JWOZxS/3NmdnqtcTu4v4BZ36oEaYg547QT3l+JcvdNoIyL2eE6wWaaK+sC5tdUvZ2VHt22lIeOwX+PFnxhdphqhiJQ0lb0pD9e1qEaMgEsfo7IRSR4z2YMsnrAsdABEjuepJxF07uXfilTg7jtMvxGbO0qvk8W7kJRDr1TfhNUWevOanqPmukduauDn+G2x0cxJOVHqdsNtTVIJgC0cs9JZXuXmaeTJ24tELoWBm6tiDyQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 01/25] arm: vgic: its: Decouple HW and virtual ITS
Thread-Topic: [XEN PATCH v2 01/25] arm: vgic: its: Decouple HW and virtual ITS
Thread-Index: AQHaE9VKJzT3WLMhY0WmBXZ4tHLu5w==
Date: Fri, 10 Nov 2023 12:56:16 +0000
Message-ID: 
 <8907b54a03f07bb1f7d4563839aefefe8f5041e3.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AS8PR03MB8783:EE_
x-ms-office365-filtering-correlation-id: bb7614e5-ee24-4b9d-5a03-08dbe1ec6d1a
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 d4FOnl8jG6yn3bqdYOqiNWXIC+rcmKc/szbtyzXhLuE75ZMvw/aCp+0NSANa3Wg0BK2UITKvWnJwpxJ2abwBPd6qBeqkE53sbvnLndD8R6d5OtqzXG+BRJYOvif1PseVZlhw/Hp1J6qFrBrNb051Tp0wmg0qn5VGkuziu58OtGyaai94UN3UCu8u+sjZtpOdv5VjSYJ594BMdNfuk9Qfs4Nl93oJDnujmae+O4WyBt9teRLJazPt6HNzRWnEe+rCHYfEbOhOvhG52nVcv96RkqIJcnTzqAoz3MIzaC9Hje2qREyaVJAoS5JVAiODqcSnZmKhYslGEoD+Qpj2HERybagen2qlEBQoPx/9wTznZ+RZ9VB4AwjaxkTt1RuJxoTkLCD/qHVktIAMfjuoWNcjRetuk95Cq4W9Zccy5StLjUO6VC40vHpdHLF+e4ggh6+MM6h6f1LlQPsF+GbMw/RJSJtasY323echsr+deyJhqNLBEau86f5UR2JpxuxRz0LUiUYfmobqpknjWuqPjmTiS6hUmAiptSsnq5YlT22nV9clnWfz6FdaPYU72yPIpurRuZgAKexsj3nbpS5oWGk6gUCipzSkSFzFdBjQr5bgLuFiuWZd7blR8pfA3jrFuif9XHMFOdMYQQnlhoJNAEw6xA==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(39860400002)(346002)(366004)(136003)(230173577357003)(230273577357003)(230922051799003)(1800799009)(64100799003)(451199024)(186009)(5660300002)(64756008)(66446008)(66556008)(316002)(66476007)(54906003)(91956017)(76116006)(66946007)(2616005)(6916009)(26005)(4326008)(83380400001)(38070700009)(8676002)(8936002)(122000001)(6512007)(2906002)(6506007)(38100700002)(6486002)(478600001)(41300700001)(966005)(71200400001)(36756003)(86362001)(30864003)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?YIRLGMRYlNJCY8ej/xACHM7Vsql1Tm80CC0lUTZKND3GL2WiAsjuFTadyM?=
 =?iso-8859-1?Q?RZioTF5wLnupZPbOe0qnVoYeWv5UBjjArrOXbK10HWtyWtImwFhI+1R6E0?=
 =?iso-8859-1?Q?c4g0vXdTa9IKpTwgMKCWZoQl48gES32HTX1EDIZFokVZFvZCRXs5XjPN/9?=
 =?iso-8859-1?Q?0tzGj60ZDeEZhh6L0tDF4e9seJp419MYC/XZy/3lf4b2jf+ozLJHzQ9qct?=
 =?iso-8859-1?Q?pD/7XZDgxQmAB3lirvu2biJI8nOSolki/kES5rqGDLPOwwOY8bfbQSeHA+?=
 =?iso-8859-1?Q?0/UWvHXXPEjEvQRnfZzFzOQ1aLuoAbYaboGBTQp9gLrTc5AmN+jSEUJIRD?=
 =?iso-8859-1?Q?GLAGVqxQ/MXMZqnCFl/8DlRMnYBFqJza00FvFF97w1hHPDImtwcifBP6LX?=
 =?iso-8859-1?Q?EvrCvY0ysNEz0Js6k2/bgYeqNywxKN/1N+XV4RVO7+M7uynVgs3aU+0EEt?=
 =?iso-8859-1?Q?3Y2EeWmuhixPcpkLO8z8yDFSbmEC8X/Z57Cla4dt7jsmCTe06HFjWx87JC?=
 =?iso-8859-1?Q?q+/JURsvxKMJ63Js7DtA1bkli/yZ6uEdBO/8NyNLnNKunTadWpPrligoia?=
 =?iso-8859-1?Q?94ncu5Skh5NAiPtXtyGo0A2sc++vm0iSIO3a0EaKL1B2DWe55tQK1NxCJz?=
 =?iso-8859-1?Q?BF8IHNMuwZCqIfcGmndjA7ThlDBN1d0QvwSKQVCT9YodrAESeSke4YwMLv?=
 =?iso-8859-1?Q?7z+5eSob+tv1dqd9hQ+3de3fwTzIpjxH76Ip5+TiXFl8UFAXvg43kpCEff?=
 =?iso-8859-1?Q?ZFJNw/xC0wPa6LWFK3RjQ+kXFZ/FUEL/VbQMqZSYJ9g9RuNFKdq2INTcKI?=
 =?iso-8859-1?Q?QBOQEaHQLnXtFhvsHfK6JVDjLea9DejfTGtv8pBKWo3OPA+nujcmi3Y5Um?=
 =?iso-8859-1?Q?e5sddQRahin4TR1XrxykpJG5yXZ6F6v6+YArk2hpZMRu6JHW3A70W1qBAk?=
 =?iso-8859-1?Q?/B2lojtaKWmLVm5UPiIy6VFJlGBGvgnaADf4bx+V/XqJT5wrNr7+I0ADqS?=
 =?iso-8859-1?Q?zkpNONmRoRsLGxJNYBB2d7fCbF6UhYvwx6QpdpnaJwnlf3PXSXI2eROs42?=
 =?iso-8859-1?Q?BLV645bcH93D3c7NgxGHLFB0mhvIKqAZh4Hg090bNn6+O3lhRBYqVQb5UL?=
 =?iso-8859-1?Q?r4o5BJdHU4D/IoY6Ra4Fwp9zw9CVO502gKwvcih1+ls+zr4uNgzCHwHLWn?=
 =?iso-8859-1?Q?ZEasJk4vwiXoFDT5OLZujanyfxfubs7sHzR5+GNdOaDFN1NiK8OQIC9W5z?=
 =?iso-8859-1?Q?oi0YhyD6XINBHPex9Bq1aHAX6vkPYmEf8EGMIWCHoh4WGnbTu2XiUww6XQ?=
 =?iso-8859-1?Q?ZuRtVmJNFO+2kYfI1evOST1yjwEluYXuvuSOMPdszB+x0gSizyN0QxhDHC?=
 =?iso-8859-1?Q?FHL4Ko5zGv2w4LrIC0SLffnlHOeaeOPY/zv8GmIA3j0T4aO9yFrBGCUQFM?=
 =?iso-8859-1?Q?Ebir9CWv8wFaWqZ/jH/uKJJnBaSp9wC+0YttI6hvolM4WY3roDuxCK4Zr7?=
 =?iso-8859-1?Q?Xtr5rs6Etd8Haew+21bjmY7/hbIFt39V1sdA4XcHSxcppaJ8oG9d+jYxXH?=
 =?iso-8859-1?Q?6d+U/B0CzA8po7fTaCy1b6p2wWv8SshoeXtH4HqPdLhAAs5cc7r/8j3AhQ?=
 =?iso-8859-1?Q?8cHRAQ+EgSOEuc3Dpt0wrPD8uqoD10Uh+eqrB0rQKPFW39DY6sygDdNQ?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bb7614e5-ee24-4b9d-5a03-08dbe1ec6d1a
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:16.1645
 (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: 8E1uBP2ke6boTsKsMms6w0rNULhHWuZvwbx9AcT8wnvQ/wVRID9TXXM6HJwJ5hND4ZlndvkfFYB6phQmVXf5kA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8783
X-Proofpoint-ORIG-GUID: DG_Zy7cMUP2PRH1GvgU_jqcS1RNgOdtS
X-Proofpoint-GUID: DG_Zy7cMUP2PRH1GvgU_jqcS1RNgOdtS
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0
 spamscore=0 suspectscore=0 clxscore=1015 impostorscore=0 mlxlogscore=604
 mlxscore=0 adultscore=0 priorityscore=1501 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

HW its directly uses struct pending_irq which makes it hard to swich to
a different VITS implementation if it doesn't use the same structure.

Rename struct its_device to struct vgic_its_device and move it to vgic.h,
so it can be defined by the VITS implementation. Add helper functions to
allow HW ITS to allocate/free and manage the instances this struct. This
seems like a sane approach, since the instances are already stored in the
struct vgic. Also move vgic_vcpu_inject_lpi to the vgic files for the same
reasons.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/gic-v3-its.c             | 208 ++++----------------------
 xen/arch/arm/gic-v3-lpi.c             |  20 ---
 xen/arch/arm/include/asm/gic_v3_its.h |   2 +
 xen/arch/arm/include/asm/vgic.h       |  29 ++++
 xen/arch/arm/vgic-v3-its.c            | 206 ++++++++++++++++++++++++-
 5 files changed, 258 insertions(+), 207 deletions(-)

diff --git a/xen/arch/arm/gic-v3-its.c b/xen/arch/arm/gic-v3-its.c
index 8afcd9783b..cc3d82cde1 100644
--- a/xen/arch/arm/gic-v3-its.c
+++ b/xen/arch/arm/gic-v3-its.c
@@ -13,7 +13,6 @@
 #include <xen/iocap.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
-#include <xen/rbtree.h>
 #include <xen/sched.h>
 #include <xen/sizes.h>
 #include <asm/gic.h>
@@ -30,25 +29,6 @@
  */
 LIST_HEAD(host_its_list);
=20
-/*
- * Describes a device which is using the ITS and is used by a guest.
- * Since device IDs are per ITS (in contrast to vLPIs, which are per
- * guest), we have to differentiate between different virtual ITSes.
- * We use the doorbell address here, since this is a nice architectural
- * property of MSIs in general and we can easily get to the base address
- * of the ITS and look that up.
- */
-struct its_device {
-    struct rb_node rbnode;
-    struct host_its *hw_its;
-    void *itt_addr;
-    paddr_t guest_doorbell;             /* Identifies the virtual ITS */
-    uint32_t host_devid;
-    uint32_t guest_devid;
-    uint32_t eventids;                  /* Number of event IDs (MSIs) */
-    uint32_t *host_lpi_blocks;          /* Which LPIs are used on the host=
 */
-    struct pending_irq *pend_irqs;      /* One struct per event */
-};
=20
 bool gicv3_its_host_has_its(void)
 {
@@ -509,7 +489,7 @@ static int gicv3_its_init_single_its(struct host_its *h=
w_its)
  * TODO: Investigate the interaction when a guest removes a device while
  * some LPIs are still in flight.
  */
-static int remove_mapped_guest_device(struct its_device *dev)
+static int remove_mapped_guest_device(struct vgic_its_device *dev)
 {
     int ret =3D 0;
     unsigned int i;
@@ -530,10 +510,7 @@ static int remove_mapped_guest_device(struct its_devic=
e *dev)
         printk(XENLOG_WARNING "Can't unmap host ITS device 0x%x\n",
                dev->host_devid);
=20
-    xfree(dev->itt_addr);
-    xfree(dev->pend_irqs);
-    xfree(dev->host_lpi_blocks);
-    xfree(dev);
+    vgic_its_free_device(dev);
=20
     return 0;
 }
@@ -551,24 +528,6 @@ static struct host_its *gicv3_its_find_by_doorbell(pad=
dr_t doorbell_address)
     return NULL;
 }
=20
-static int compare_its_guest_devices(struct its_device *dev,
-                                     paddr_t vdoorbell, uint32_t vdevid)
-{
-    if ( dev->guest_doorbell < vdoorbell )
-        return -1;
-
-    if ( dev->guest_doorbell > vdoorbell )
-        return 1;
-
-    if ( dev->guest_devid < vdevid )
-        return -1;
-
-    if ( dev->guest_devid > vdevid )
-        return 1;
-
-    return 0;
-}
-
 /*
  * On the host ITS @its, map @nr_events consecutive LPIs.
  * The mapping connects a device @devid and event @eventid pair to LPI @lp=
i,
@@ -616,8 +575,7 @@ int gicv3_its_map_guest_device(struct domain *d,
 {
     void *itt_addr =3D NULL;
     struct host_its *hw_its;
-    struct its_device *dev =3D NULL;
-    struct rb_node **new =3D &d->arch.vgic.its_devices.rb_node, *parent =
=3D NULL;
+    struct vgic_its_device *temp, *dev =3D NULL;
     int i, ret =3D -ENOENT;      /* "i" must be signed to check for >=3D 0=
 below. */
=20
     hw_its =3D gicv3_its_find_by_doorbell(host_doorbell);
@@ -643,36 +601,22 @@ int gicv3_its_map_guest_device(struct domain *d,
=20
     /* check for already existing mappings */
     spin_lock(&d->arch.vgic.its_devices_lock);
-    while ( *new )
+    temp =3D vgic_its_get_device(d, guest_doorbell, guest_devid);
+    if ( temp )
     {
-        struct its_device *temp;
-        int cmp;
+        if ( !valid )
+            vgic_its_delete_device(d, temp);
=20
-        temp =3D rb_entry(*new, struct its_device, rbnode);
+        spin_unlock(&d->arch.vgic.its_devices_lock);
=20
-        parent =3D *new;
-        cmp =3D compare_its_guest_devices(temp, guest_doorbell, guest_devi=
d);
-        if ( !cmp )
+        if ( valid )
         {
-            if ( !valid )
-                rb_erase(&temp->rbnode, &d->arch.vgic.its_devices);
-
-            spin_unlock(&d->arch.vgic.its_devices_lock);
-
-            if ( valid )
-            {
-                printk(XENLOG_G_WARNING "d%d tried to remap guest ITS devi=
ce 0x%x to host device 0x%x\n",
-                        d->domain_id, guest_devid, host_devid);
-                return -EBUSY;
-            }
-
-            return remove_mapped_guest_device(temp);
+            printk(XENLOG_G_WARNING "d%d tried to remap guest ITS device 0=
x%x to host device 0x%x\n",
+                    d->domain_id, guest_devid, host_devid);
+            return -EBUSY;
         }
=20
-        if ( cmp > 0 )
-            new =3D &((*new)->rb_left);
-        else
-            new =3D &((*new)->rb_right);
+        return remove_mapped_guest_device(temp);
     }
=20
     if ( !valid )
@@ -688,7 +632,7 @@ int gicv3_its_map_guest_device(struct domain *d,
     clean_and_invalidate_dcache_va_range(itt_addr,
                                          nr_events * hw_its->itte_size);
=20
-    dev =3D xzalloc(struct its_device);
+    dev =3D vgic_its_alloc_device(nr_events);
     if ( !dev )
         goto out_unlock;
=20
@@ -704,13 +648,6 @@ int gicv3_its_map_guest_device(struct domain *d,
      * See the mailing list discussion for some background:
      * https://lists.xen.org/archives/html/xen-devel/2017-03/msg03645.html
      */
-    dev->pend_irqs =3D xzalloc_array(struct pending_irq, nr_events);
-    if ( !dev->pend_irqs )
-        goto out_unlock;
-
-    dev->host_lpi_blocks =3D xzalloc_array(uint32_t, nr_events);
-    if ( !dev->host_lpi_blocks )
-        goto out_unlock;
=20
     ret =3D its_send_cmd_mapd(hw_its, host_devid, fls(nr_events - 1),
                             virt_to_maddr(itt_addr), true);
@@ -724,8 +661,7 @@ int gicv3_its_map_guest_device(struct domain *d,
     dev->host_devid =3D host_devid;
     dev->eventids =3D nr_events;
=20
-    rb_link_node(&dev->rbnode, parent, new);
-    rb_insert_color(&dev->rbnode, &d->arch.vgic.its_devices);
+    vgic_its_add_device(d, dev);
=20
     spin_unlock(&d->arch.vgic.its_devices_lock);
=20
@@ -771,117 +707,27 @@ out_unlock:
=20
 out:
     if ( dev )
-    {
-        xfree(dev->pend_irqs);
-        xfree(dev->host_lpi_blocks);
-    }
+        vgic_its_free_device(dev);
+
     xfree(itt_addr);
-    xfree(dev);
=20
     return ret;
 }
=20
-/* Must be called with the its_device_lock held. */
-static struct its_device *get_its_device(struct domain *d, paddr_t vdoorbe=
ll,
-                                         uint32_t vdevid)
-{
-    struct rb_node *node =3D d->arch.vgic.its_devices.rb_node;
-    struct its_device *dev;
-
-    ASSERT(spin_is_locked(&d->arch.vgic.its_devices_lock));
-
-    while (node)
-    {
-        int cmp;
-
-        dev =3D rb_entry(node, struct its_device, rbnode);
-        cmp =3D compare_its_guest_devices(dev, vdoorbell, vdevid);
-
-        if ( !cmp )
-            return dev;
-
-        if ( cmp > 0 )
-            node =3D node->rb_left;
-        else
-            node =3D node->rb_right;
-    }
-
-    return NULL;
-}
-
-static struct pending_irq *get_event_pending_irq(struct domain *d,
-                                                 paddr_t vdoorbell_address=
,
-                                                 uint32_t vdevid,
-                                                 uint32_t eventid,
-                                                 uint32_t *host_lpi)
-{
-    struct its_device *dev;
-    struct pending_irq *pirq =3D NULL;
-
-    spin_lock(&d->arch.vgic.its_devices_lock);
-    dev =3D get_its_device(d, vdoorbell_address, vdevid);
-    if ( dev && eventid < dev->eventids )
-    {
-        pirq =3D &dev->pend_irqs[eventid];
-        if ( host_lpi )
-            *host_lpi =3D dev->host_lpi_blocks[eventid / LPI_BLOCK] +
-                        (eventid % LPI_BLOCK);
-    }
-    spin_unlock(&d->arch.vgic.its_devices_lock);
-
-    return pirq;
-}
-
-struct pending_irq *gicv3_its_get_event_pending_irq(struct domain *d,
-                                                    paddr_t vdoorbell_addr=
ess,
-                                                    uint32_t vdevid,
-                                                    uint32_t eventid)
-{
-    return get_event_pending_irq(d, vdoorbell_address, vdevid, eventid, NU=
LL);
-}
-
-int gicv3_remove_guest_event(struct domain *d, paddr_t vdoorbell_address,
-                             uint32_t vdevid, uint32_t eventid)
+uint32_t gicv3_its_get_host_lpi(struct domain *d, paddr_t vdoorbell_addres=
s,
+                                     uint32_t vdevid, uint32_t eventid)
 {
+    struct vgic_its_device *dev;
     uint32_t host_lpi =3D INVALID_LPI;
=20
-    if ( !get_event_pending_irq(d, vdoorbell_address, vdevid, eventid,
-                                &host_lpi) )
-        return -EINVAL;
-
-    if ( host_lpi =3D=3D INVALID_LPI )
-        return -EINVAL;
-
-    gicv3_lpi_update_host_entry(host_lpi, d->domain_id, INVALID_LPI);
-
-    return 0;
-}
-
-/*
- * Connects the event ID for an already assigned device to the given VCPU/=
vLPI
- * pair. The corresponding physical LPI is already mapped on the host side
- * (when assigning the physical device to the guest), so we just connect t=
he
- * target VCPU/vLPI pair to that interrupt to inject it properly if it fir=
es.
- * Returns a pointer to the already allocated struct pending_irq that is
- * meant to be used by that event.
- */
-struct pending_irq *gicv3_assign_guest_event(struct domain *d,
-                                             paddr_t vdoorbell_address,
-                                             uint32_t vdevid, uint32_t eve=
ntid,
-                                             uint32_t virt_lpi)
-{
-    struct pending_irq *pirq;
-    uint32_t host_lpi =3D INVALID_LPI;
-
-    pirq =3D get_event_pending_irq(d, vdoorbell_address, vdevid, eventid,
-                                 &host_lpi);
-
-    if ( !pirq )
-        return NULL;
-
-    gicv3_lpi_update_host_entry(host_lpi, d->domain_id, virt_lpi);
+    spin_lock(&d->arch.vgic.its_devices_lock);
+    dev =3D vgic_its_get_device(d, vdoorbell_address, vdevid);
+    if ( dev )
+        host_lpi =3D dev->host_lpi_blocks[eventid / LPI_BLOCK] +
+                   (eventid % LPI_BLOCK);
=20
-    return pirq;
+    spin_unlock(&d->arch.vgic.its_devices_lock);
+    return host_lpi;
 }
=20
 int gicv3_its_deny_access(struct domain *d)
diff --git a/xen/arch/arm/gic-v3-lpi.c b/xen/arch/arm/gic-v3-lpi.c
index eb0a5535e4..5f73b2b9f2 100644
--- a/xen/arch/arm/gic-v3-lpi.c
+++ b/xen/arch/arm/gic-v3-lpi.c
@@ -128,26 +128,6 @@ uint64_t gicv3_get_redist_address(unsigned int cpu, bo=
ol use_pta)
         return per_cpu(lpi_redist, cpu).redist_id << 16;
 }
=20
-void vgic_vcpu_inject_lpi(struct domain *d, unsigned int virq)
-{
-    /*
-     * TODO: this assumes that the struct pending_irq stays valid all of
-     * the time. We cannot properly protect this with the current locking
-     * scheme, but the future per-IRQ lock will solve this problem.
-     */
-    struct pending_irq *p =3D irq_to_pending(d->vcpu[0], virq);
-    unsigned int vcpu_id;
-
-    if ( !p )
-        return;
-
-    vcpu_id =3D ACCESS_ONCE(p->lpi_vcpu_id);
-    if ( vcpu_id >=3D d->max_vcpus )
-          return;
-
-    vgic_inject_irq(d, d->vcpu[vcpu_id], virq, true);
-}
-
 /*
  * Handle incoming LPIs, which are a bit special, because they are potenti=
ally
  * numerous and also only get injected into guests. Treat them specially h=
ere,
diff --git a/xen/arch/arm/include/asm/gic_v3_its.h b/xen/arch/arm/include/a=
sm/gic_v3_its.h
index c24d4752d0..f61a37a8fa 100644
--- a/xen/arch/arm/include/asm/gic_v3_its.h
+++ b/xen/arch/arm/include/asm/gic_v3_its.h
@@ -196,6 +196,8 @@ struct pending_irq *gicv3_assign_guest_event(struct dom=
ain *d,
                                              uint32_t virt_lpi);
 void gicv3_lpi_update_host_entry(uint32_t host_lpi, int domain_id,
                                  uint32_t virt_lpi);
+uint32_t gicv3_its_get_host_lpi(struct domain *d, paddr_t vdoorbell_addres=
s,
+                                     uint32_t vdevid, uint32_t eventid);
=20
 #else
=20
diff --git a/xen/arch/arm/include/asm/vgic.h b/xen/arch/arm/include/asm/vgi=
c.h
index 922779ce14..56a3b6f828 100644
--- a/xen/arch/arm/include/asm/vgic.h
+++ b/xen/arch/arm/include/asm/vgic.h
@@ -317,6 +317,35 @@ extern bool vgic_migrate_irq(struct vcpu *old, struct =
vcpu *new, unsigned int ir
 extern void vgic_check_inflight_irqs_pending(struct domain *d, struct vcpu=
 *v,
                                              unsigned int rank, uint32_t r=
);
=20
+#ifdef CONFIG_HAS_ITS
+/*
+ * Describes a device which is using the ITS and is used by a guest.
+ * Since device IDs are per ITS (in contrast to vLPIs, which are per
+ * guest), we have to differentiate between different virtual ITSes.
+ * We use the doorbell address here, since this is a nice architectural
+ * property of MSIs in general and we can easily get to the base address
+ * of the ITS and look that up.
+ */
+struct vgic_its_device {
+    struct rb_node rbnode;
+    struct host_its *hw_its;
+    void *itt_addr;
+    paddr_t guest_doorbell;             /* Identifies the virtual ITS */
+    uint32_t host_devid;
+    uint32_t guest_devid;
+    uint32_t eventids;                  /* Number of event IDs (MSIs) */
+    uint32_t *host_lpi_blocks;          /* Which LPIs are used on the host=
 */
+    struct pending_irq *pend_irqs;      /* One struct per event */
+};
+
+struct vgic_its_device *vgic_its_alloc_device(int nr_events);
+void vgic_its_free_device(struct vgic_its_device *its_dev);
+int vgic_its_add_device(struct domain *d, struct vgic_its_device *its_dev)=
;
+void vgic_its_delete_device(struct domain *d, struct vgic_its_device *its_=
dev);
+struct vgic_its_device* vgic_its_get_device(struct domain *d, paddr_t vdoo=
rbell,
+                                         uint32_t vdevid);
+#endif /* CONFIG_HAS_ITS */
+
 #endif /* !CONFIG_NEW_VGIC */
=20
 /*** Common VGIC functions used by Xen arch code ****/
diff --git a/xen/arch/arm/vgic-v3-its.c b/xen/arch/arm/vgic-v3-its.c
index 05429030b5..0d839f3fa4 100644
--- a/xen/arch/arm/vgic-v3-its.c
+++ b/xen/arch/arm/vgic-v3-its.c
@@ -266,6 +266,200 @@ static bool write_itte(struct virt_its *its, uint32_t=
 devid,
     return true;
 }
=20
+static struct pending_irq *get_event_pending_irq(struct domain *d,
+                                                 paddr_t vdoorbell_address=
,
+                                                 uint32_t vdevid,
+                                                 uint32_t eventid)
+{
+    struct vgic_its_device *dev;
+    struct pending_irq *pirq =3D NULL;
+
+    spin_lock(&d->arch.vgic.its_devices_lock);
+    dev =3D vgic_its_get_device(d, vdoorbell_address, vdevid);
+    if ( dev && eventid < dev->eventids )
+        pirq =3D &dev->pend_irqs[eventid];
+
+    spin_unlock(&d->arch.vgic.its_devices_lock);
+
+    return pirq;
+}
+
+static int remove_guest_event(struct domain *d, paddr_t vdoorbell_address,
+                             uint32_t vdevid, uint32_t eventid)
+{
+    uint32_t host_lpi =3D INVALID_LPI;
+
+    host_lpi =3D gicv3_its_get_host_lpi(d, vdoorbell_address, vdevid, even=
tid);
+    if ( host_lpi =3D=3D INVALID_LPI )
+        return -EINVAL;
+
+    gicv3_lpi_update_host_entry(host_lpi, d->domain_id, INVALID_LPI);
+
+    return 0;
+}
+
+/*
+ * Connects the event ID for an already assigned device to the given VCPU/=
vLPI
+ * pair. The corresponding physical LPI is already mapped on the host side
+ * (when assigning the physical device to the guest), so we just connect t=
he
+ * target VCPU/vLPI pair to that interrupt to inject it properly if it fir=
es.
+ * Returns a pointer to the already allocated struct pending_irq that is
+ * meant to be used by that event.
+ */
+static struct pending_irq *assign_guest_event(struct domain *d,
+                                             paddr_t vdoorbell_address,
+                                             uint32_t vdevid, uint32_t eve=
ntid,
+                                             uint32_t virt_lpi)
+{
+    struct pending_irq *pirq;
+    uint32_t host_lpi =3D INVALID_LPI;
+
+    host_lpi =3D gicv3_its_get_host_lpi(d, vdoorbell_address, vdevid, even=
tid);
+    if ( host_lpi =3D=3D INVALID_LPI )
+        return NULL;
+    pirq =3D get_event_pending_irq(d, vdoorbell_address, vdevid, eventid);
+    if ( !pirq )
+        return NULL;
+
+    gicv3_lpi_update_host_entry(host_lpi, d->domain_id, virt_lpi);
+
+    return pirq;
+}
+
+static int compare_its_guest_devices(struct vgic_its_device *dev,
+                                     paddr_t vdoorbell, uint32_t vdevid)
+{
+    if ( dev->guest_doorbell < vdoorbell )
+        return -1;
+
+    if ( dev->guest_doorbell > vdoorbell )
+        return 1;
+
+    if ( dev->guest_devid < vdevid )
+        return -1;
+
+    if ( dev->guest_devid > vdevid )
+        return 1;
+
+    return 0;
+}
+
+/* Must be called with the its_device_lock held. */
+struct vgic_its_device *vgic_its_get_device(struct domain *d, paddr_t vdoo=
rbell,
+                                         uint32_t vdevid)
+{
+    struct rb_node *node =3D d->arch.vgic.its_devices.rb_node;
+    struct vgic_its_device *dev;
+
+    ASSERT(spin_is_locked(&d->arch.vgic.its_devices_lock));
+
+    while (node)
+    {
+        int cmp;
+
+        dev =3D rb_entry(node, struct vgic_its_device, rbnode);
+        cmp =3D compare_its_guest_devices(dev, vdoorbell, vdevid);
+
+        if ( !cmp )
+            return dev;
+
+        if ( cmp > 0 )
+            node =3D node->rb_left;
+        else
+            node =3D node->rb_right;
+    }
+
+    return NULL;
+}
+
+struct vgic_its_device *vgic_its_alloc_device(int nr_events)
+{
+    struct vgic_its_device *dev;
+
+    dev =3D xzalloc(struct vgic_its_device);
+    if ( !dev )
+        goto fail;
+
+    dev->pend_irqs =3D xzalloc_array(struct pending_irq, nr_events);
+    if ( !dev->pend_irqs )
+        goto fail_pend;
+
+    dev->host_lpi_blocks =3D xzalloc_array(uint32_t, nr_events);
+    if ( !dev->host_lpi_blocks )
+        goto fail_host_lpi;
+   =20
+    return dev;
+fail_host_lpi:
+    xfree(dev->pend_irqs);
+fail_pend:
+    xfree(dev);
+fail:
+    return NULL;
+}
+
+void vgic_its_free_device(struct vgic_its_device *its_dev)
+{
+    xfree(its_dev->pend_irqs);
+    xfree(its_dev->host_lpi_blocks);
+    xfree(its_dev);
+}
+
+int vgic_its_add_device(struct domain *d, struct vgic_its_device *its_dev)
+{
+    struct rb_node **new =3D &d->arch.vgic.its_devices.rb_node, *parent =
=3D NULL;
+    while ( *new )
+    {
+        struct vgic_its_device *temp;
+        int cmp;
+
+        temp =3D rb_entry(*new, struct vgic_its_device, rbnode);
+
+        parent =3D *new;
+        cmp =3D compare_its_guest_devices(temp, its_dev->guest_doorbell,
+                                        its_dev->guest_devid);
+        if ( !cmp )
+        {
+            printk(XENLOG_ERR "Trying to add an already existing ITS devic=
e vdoorbell %lx vdevid %d\n",=20
+                its_dev->guest_doorbell, its_dev->guest_devid);
+            return -EINVAL;
+        }
+
+        if ( cmp > 0 )
+            new =3D &((*new)->rb_left);
+        else
+            new =3D &((*new)->rb_right);
+    }
+
+    rb_link_node(&its_dev->rbnode, parent, new);
+    rb_insert_color(&its_dev->rbnode, &d->arch.vgic.its_devices);
+    return 0;
+}
+
+void vgic_its_delete_device(struct domain *d, struct vgic_its_device *its_=
dev)
+{
+    rb_erase(&its_dev->rbnode, &d->arch.vgic.its_devices);
+}
+
+void vgic_vcpu_inject_lpi(struct domain *d, unsigned int virq)
+{
+    /*
+     * TODO: this assumes that the struct pending_irq stays valid all of
+     * the time. We cannot properly protect this with the current locking
+     * scheme, but the future per-IRQ lock will solve this problem.
+     */
+    struct pending_irq *p =3D irq_to_pending(d->vcpu[0], virq);
+    unsigned int vcpu_id;
+
+    if ( !p )
+        return;
+
+    vcpu_id =3D ACCESS_ONCE(p->lpi_vcpu_id);
+    if ( vcpu_id >=3D d->max_vcpus )
+          return;
+
+    vgic_inject_irq(d, d->vcpu[vcpu_id], virq, true);
+}
+
 /**************************************
  * Functions that handle ITS commands *
  **************************************/
@@ -349,7 +543,7 @@ static int its_handle_clear(struct virt_its *its, uint6=
4_t *cmdptr)
     if ( !read_itte(its, devid, eventid, &vcpu, &vlpi) )
         goto out_unlock;
=20
-    p =3D gicv3_its_get_event_pending_irq(its->d, its->doorbell_address,
+    p =3D get_event_pending_irq(its->d, its->doorbell_address,
                                         devid, eventid);
     /* Protect against an invalid LPI number. */
     if ( unlikely(!p) )
@@ -471,7 +665,7 @@ static int its_handle_inv(struct virt_its *its, uint64_=
t *cmdptr)
     if ( vlpi =3D=3D INVALID_LPI )
         goto out_unlock_its;
=20
-    p =3D gicv3_its_get_event_pending_irq(d, its->doorbell_address,
+    p =3D get_event_pending_irq(d, its->doorbell_address,
                                         devid, eventid);
     if ( unlikely(!p) )
         goto out_unlock_its;
@@ -615,7 +809,7 @@ static int its_discard_event(struct virt_its *its,
     spin_unlock_irqrestore(&vcpu->arch.vgic.lock, flags);
=20
     /* Remove the corresponding host LPI entry */
-    return gicv3_remove_guest_event(its->d, its->doorbell_address,
+    return remove_guest_event(its->d, its->doorbell_address,
                                     vdevid, vevid);
 }
=20
@@ -744,7 +938,7 @@ static int its_handle_mapti(struct virt_its *its, uint6=
4_t *cmdptr)
      * determined by the same device ID and event ID on the host side.
      * This returns us the corresponding, still unused pending_irq.
      */
-    pirq =3D gicv3_assign_guest_event(its->d, its->doorbell_address,
+    pirq =3D assign_guest_event(its->d, its->doorbell_address,
                                     devid, eventid, intid);
     if ( !pirq )
         goto out_remove_mapping;
@@ -785,7 +979,7 @@ static int its_handle_mapti(struct virt_its *its, uint6=
4_t *cmdptr)
      * cleanup and return an error here in any case.
      */
 out_remove_host_entry:
-    gicv3_remove_guest_event(its->d, its->doorbell_address, devid, eventid=
);
+    remove_guest_event(its->d, its->doorbell_address, devid, eventid);
=20
 out_remove_mapping:
     spin_lock(&its->its_lock);
@@ -819,7 +1013,7 @@ static int its_handle_movi(struct virt_its *its, uint6=
4_t *cmdptr)
     if ( !nvcpu )
         goto out_unlock;
=20
-    p =3D gicv3_its_get_event_pending_irq(its->d, its->doorbell_address,
+    p =3D get_event_pending_irq(its->d, its->doorbell_address,
                                         devid, eventid);
     if ( unlikely(!p) )
         goto out_unlock;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630298.983042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R3w-0002Po-Pu; Fri, 10 Nov 2023 12:56:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630298.983042; Fri, 10 Nov 2023 12:56: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 1r1R3w-0002NV-GY; Fri, 10 Nov 2023 12:56:40 +0000
Received: by outflank-mailman (input) for mailman id 630298;
 Fri, 10 Nov 2023 12: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3u-0001y1-BP
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:38 +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 948ff425-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:36 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACHn4n029609; Fri, 10 Nov 2023 12:56:29 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3u93ptjrxk-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:29 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by AM0PR03MB6244.eurprd03.prod.outlook.com
 (2603:10a6:20b:158::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.21; Fri, 10 Nov
 2023 12:56:26 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12: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: 948ff425-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=g3XnCIBLRva6oLDOEJO3/1Gx17lxVJrof+SDvS9VuXhSoAdJW233UDT3jEh2GxwJql2rqlmHxe4KhoQdt6lSd9cB6UMYSopihvgCvARICrfr0dUzkp0uvML4pS0oWu4fontCf2WVMtlXEEyg9nWX197/loTN7FNWVTDAG63CqlLGmChcf0Zd8/vrlk3VP3ETwrxjOuJ4DvqGJtFEj0hr4pVOpYvsQmf/AMIIlRo7wh4pB9Q6PTm97kv4bF8yC+u9rtNLuTC0EA3Gjr7yK/VErReKDM7VMmBbipe4Kly9W8ycg6iOplOPfISFqK6DnFgHQFsy4MEe2BdZ/C1lc+MeZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=15Ru6p3LMyODkoJGnBcHsi/MdAVNxVqs6BxYDcJDskw=;
 b=PpSVBVwje95PZVHbr1rKKuj0vqm83mHF0y+zWSFbk9D3WAaL+aCto4eN8Y5BPXAQNHx18nECmyxcPzwl6L2226lcZDbEOPwssMOS8Z8XANZZHGtu/Mf1S/8TclwG4OGkYl1+9x46CQd8oVF3THBoh3M6P8YB9Y0MqeLgyeMHEhrmcJt6KTxv3g7OfFPNPp48i700+s8xwm8+Fwf8gjYO4R4JS+3nFZ85Y46cNKJOyGB5m7qDsWZtxQPemvYIek+wzaAmIl6Bes9lxW2Htcbgoss6brOzNjBugVaGCkHPif30z/EbUCSP9YNQY7o1rARVt/Ep30YlZaaKrqdNFu4I3Q==
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=15Ru6p3LMyODkoJGnBcHsi/MdAVNxVqs6BxYDcJDskw=;
 b=BCBuDbVxRHdCgum/mdmDmUDeX1Z3SkJjwpSoOkRFx67FrtUMt7CbIneP8SK5b3jZdGXTLblYNPVYYEX8u2IK0uyxNk4c0aiHDkd8ScDxBNyvdTl2t7HkhjRQqIqmK7++5VFAvC2ZM6NqHPEJkTbivmCzOZl/ZpH4Dlwd07E/KqWwXVtwHfFg8sbdhJtqudJMZu+LoMLZfrv5vl7AApUJD0BMBmeeVS+F+BcpnxWtXfPDGu1rRzJiMWavNiMTlkR2aM4+ibNctct94yQtZxt0jdpfSoc0AQ3HABrDr8V9lpjbSIneWfISJfXIcNdj1ODSG33bBJ+hNkKHEHlXbobb4A==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 23/25] arm: new VGIC: its: Enable ITS emulation as a
 virtual MSI controller
Thread-Topic: [XEN PATCH v2 23/25] arm: new VGIC: its: Enable ITS emulation as
 a virtual MSI controller
Thread-Index: AQHaE9VPXAWKwT607Ue2PXRr/Vo1Xw==
Date: Fri, 10 Nov 2023 12:56:23 +0000
Message-ID: 
 <bcc29d8c5da6749db370808529d48d790c30b290.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AM0PR03MB6244:EE_
x-ms-office365-filtering-correlation-id: 5eece678-bc2b-41be-a476-08dbe1ec72f3
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 eXztD9PHLeKPg/c2aCQdsr9BZfuaofeVRqwLL+xGLTARw766dkt+rCoKv713AKAWwE+GeewY3ul8H4i8RQdtBUxE9cUprLw3EG4f85hOSecNiuFb+9J7AXLjRIV1CSspnnyWQ+rjWL3Hmc1LpmEWY+OMYD548+VdKDtXXuyiuoyf1+fHLbGwjWTTh9SJpvYTP2UCSx8Iszc8ov7tHiHm0au1LJnzRMglcr6CSfPi1ci4DHonlcD+nYtgrg9VVl8YkfZb/IqPVF6LuCh+nQsZ+UUPADXCgN8GgWvSYf8GhCQq0B3/SfbiFTU0bEHg+WDZPVmtAcaYRPJ6PtwTSzM7g7NHyaZKfoLHt1sj+gqth4ftDyYCY0RN0HitmbeV78gbPFtFMVPFzQa+X17ec8G29A1Bjv5ZvKdfw8M2HqwE/mSynEzSRl95vSjyczN4GkhPCDfzvVENTYVdyBfga4dY0bySHz0EQd1zl5iV2Yv5trnEyFwfdV+bJAlzqFtoEhcpkpnwj5q+1kT4mw8E3cnBsuTt6x8Flq/6ZrftWincUWsp4FpzzuKhw1QVLDDWWbVGs1X497zpdD8j8loZzNoAdulnkuQckDhpuVviR5J4s0c=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(396003)(39860400002)(346002)(136003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(5660300002)(41300700001)(2906002)(83380400001)(26005)(8676002)(4326008)(8936002)(122000001)(54906003)(64756008)(316002)(6916009)(2616005)(38100700002)(76116006)(66556008)(66476007)(91956017)(66446008)(66946007)(38070700009)(6512007)(6506007)(478600001)(6486002)(36756003)(71200400001)(86362001)(6666004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?NkFuv2l6hE0HsbDu2y0BUCxxl8IuuM+BNwgPOp8CfVDTLvA1iX3pUAz/uR?=
 =?iso-8859-1?Q?BEs6yeDsbrDKVguOKOwBcOG0YK8SsBNwoL3ncyVSa9hIt2d934G2gwLkOh?=
 =?iso-8859-1?Q?OP2LAKH5yUDZZU3Fm5VoUzrwIarmcByfaR2bcK0v2qd2FE23yfCP2ooDgD?=
 =?iso-8859-1?Q?bIi5Lgo7qvbXJxekmFdTb1zxmbFhuiQYeW7xywcDcoMrcSLzH6BUaPmuHE?=
 =?iso-8859-1?Q?zKpc6Sy5uvg6iG1P5kjba1aVuBwYp9bFHLQlmqciHTu/+/bO8Ud+bAL3Oa?=
 =?iso-8859-1?Q?oXmFw3U/15z+nSUebTymIZxY8iiOJHELFQ7PS66zPa42TNiBTZXyoQsCP8?=
 =?iso-8859-1?Q?oanFDARnnZJ4JfEOsKYnHnayg1W11V2GBNMq6HlhgaO0uhD3vVBalj50cu?=
 =?iso-8859-1?Q?LzJyRT46SxOFduDEZOZkWB8CxKEpMapA8XEjoxSRSbcj7qCQaywmLzjpYc?=
 =?iso-8859-1?Q?gfE94Sw1ERjs16Vi22+ecd42FuZydoAJG3KZmOZFVIIZy0v5XYrhld75JR?=
 =?iso-8859-1?Q?Qlp+hi6l7DPqi93VZm54fNlRxhRp+Fm/PnQKPswIAhnBCNiGMEC4IdfdqO?=
 =?iso-8859-1?Q?6LXk3ftRy6GSO+16fQ47JsSbqXNSyfXF1HT6BnyzD5yvjr4Z1TL8N5xbJG?=
 =?iso-8859-1?Q?SDYD7oVIu0ygFxb/pbD6z2oRayJW/fS/ByBlPztuMBiJJupDSkII0PIF5z?=
 =?iso-8859-1?Q?VOLZcRw03tE2ctrCXsJsTOaPZx1/Fcx0s33VUdi1hpKPrxT5fWb3Twd5zG?=
 =?iso-8859-1?Q?csxdOFO0Zxc4BHn6upOeYVI25wRwRPxeiOVTs7F4gc8uxmJBW0A0YLfV9I?=
 =?iso-8859-1?Q?6ucCcO1UMSJwLsVnonW6IYMP3//eFsvG237n/3QjqkQsJVwZjman8iukr7?=
 =?iso-8859-1?Q?SIZTx/XIaUS61O49pChllK9XdO3c6ssHVhseHL7GseuJSZyXVYq8ac6X+f?=
 =?iso-8859-1?Q?iT6eJ48sAy2RJfCQW52WDoWAdUNAJ9iIe3gr9eiwVuO0xkmtadXBU5efnn?=
 =?iso-8859-1?Q?vIrau2fbBhdjRq9cz42I5ShyVIpQEueQ6ImXigN8OlZXExjt22gtyCeYIx?=
 =?iso-8859-1?Q?nLRz0/PdJd63rxus3OT1UJcO07FmJfzXVv/o9r0HRV5SuqyrM++R2RqAjJ?=
 =?iso-8859-1?Q?mR4BbY6SK4EVdmZGMZdagIV2B1k6JvRRrEPegh9GBmWAiT2+DaMdYlC6Hd?=
 =?iso-8859-1?Q?uudDVLg+u0ZnYuHUXQeO736TPVnx9nAKA0ZbkLBC2SteRpdWQQKHr74+yo?=
 =?iso-8859-1?Q?7gRhjd/UbXsYBiWQaCrifVmHgWgrij+mEY0E1/tZg7lyOrLDqPJiHt1iSt?=
 =?iso-8859-1?Q?IDi9+2k0FB0ks+zWHP/w3lk1VbvRIO9TfwAm2vsL9ewaMuLYPjmsIU45yL?=
 =?iso-8859-1?Q?TfMBO9PGZF1aGwzw8K+q1NcI5d0BCBv6D8zrMc5ervZ3byE3rnSg3HNiCN?=
 =?iso-8859-1?Q?MD2mhSNd5Nr0Viq74uQPWfrg/Cj+vWJTgOmHFTark9eNZDD0Is5WC9eKqZ?=
 =?iso-8859-1?Q?Yhzq12bZZWI9/gd5OeWtrTm9HuUhZkLXERF8ZyyDr3EQfWQKhejoTxOqNi?=
 =?iso-8859-1?Q?0BppLx2vc/M3N3h9CX/OwtqFn4EfZrtuJVvC1+r98rqSanXL+wS6JYzcba?=
 =?iso-8859-1?Q?YJjFrhUOpOOB8oDxb3GtFKEUvhV30yRMBdIU9ZzfuBKVC61hxISBQiUQ?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5eece678-bc2b-41be-a476-08dbe1ec72f3
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:23.9501
 (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: EF7OsO29C2KF9BWTHx2YeT3TgS2LNvtGYdi72AjTNOX3eil/jRJot3vaDmohqq2R0yPv3OPVB5IuBFDcOhDqIg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB6244
X-Proofpoint-ORIG-GUID: 2wucOZ7wNj0rsTgxhzcWowTMjUbQjAJ5
X-Proofpoint-GUID: 2wucOZ7wNj0rsTgxhzcWowTMjUbQjAJ5
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0
 spamscore=0 suspectscore=0 clxscore=1015 impostorscore=0 mlxlogscore=590
 mlxscore=0 adultscore=0 priorityscore=1501 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Now that all ITS emulation functionality is in place, we advertise
the ITS device to the guest.

Based on Linux commit 0e4e82f154e38 by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-init.c    |  7 +++++
 xen/arch/arm/vgic/vgic-its.c     |  2 +-
 xen/arch/arm/vgic/vgic-mmio-v3.c | 44 ++++++++++++++++++++++++++++++--
 xen/arch/arm/vgic/vgic-mmio.h    |  5 ++++
 4 files changed, 55 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/vgic/vgic-init.c b/xen/arch/arm/vgic/vgic-init.c
index 96f6669d38..fb27e440fc 100644
--- a/xen/arch/arm/vgic/vgic-init.c
+++ b/xen/arch/arm/vgic/vgic-init.c
@@ -18,6 +18,7 @@
 #include <xen/lib.h>
 #include <xen/sched.h>
 #include <asm/new_vgic.h>
+#include <asm/gic_v3_its.h>
=20
 #include "vgic.h"
=20
@@ -173,8 +174,14 @@ int domain_vgic_init(struct domain *d, unsigned int nr=
_spis)
     }
=20
     INIT_LIST_HEAD(&dist->lpi_list_head);
+    INIT_LIST_HEAD(&dist->lpi_translation_cache);
+    dist->lpi_list_count=3D0;
     spin_lock_init(&dist->lpi_list_lock);
=20
+    ret =3D vgic_v3_its_init_domain(d);
+    if ( ret )
+        return ret;
+
     if ( dist->version =3D=3D GIC_V2 )
         ret =3D vgic_v2_map_resources(d);
     else
diff --git a/xen/arch/arm/vgic/vgic-its.c b/xen/arch/arm/vgic/vgic-its.c
index 9534b26334..3b097bd0c4 100644
--- a/xen/arch/arm/vgic/vgic-its.c
+++ b/xen/arch/arm/vgic/vgic-its.c
@@ -168,7 +168,7 @@ static int update_lpi_config(struct domain *d, struct v=
gic_irq *irq,
     return 0;
 }
=20
-static int vgic_v3_lpi_sync_pending_status(struct domain *d, struct vgic_i=
rq *irq)
+int vgic_v3_lpi_sync_pending_status(struct domain *d, struct vgic_irq *irq=
)
 {
     struct vcpu *vcpu;
     int byte_offset, bit_nr;
diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
index 0e3835d38a..84aa8568dc 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v3.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -29,7 +29,7 @@ bool vgic_has_its(struct domain *d)
     if ( dist->version !=3D GIC_V3 )
         return false;
=20
-    return false;
+    return dist->has_its;
 }
=20
 static struct vcpu *mpidr_to_vcpu(struct domain *d, unsigned long mpidr)
@@ -211,6 +211,29 @@ bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, u=
nion hsr hsr)
     }
 }
=20
+void vgic_flush_pending_lpis(struct vcpu *vcpu)
+{
+    struct vgic_cpu *vgic_cpu =3D &vcpu->arch.vgic;
+    struct vgic_irq *irq, *tmp;
+    unsigned long flags;
+
+    spin_lock_irqsave(&vgic_cpu->ap_list_lock, flags);
+
+    list_for_each_entry_safe(irq, tmp, &vgic_cpu->ap_list_head, ap_list)
+    {
+        if ( irq->intid >=3D VGIC_MIN_LPI )
+        {
+            spin_lock(&irq->irq_lock);
+            list_del(&irq->ap_list);
+            irq->vcpu =3D NULL;
+            spin_unlock(&irq->irq_lock);
+            vgic_put_irq(vcpu->domain, irq);
+        }
+    }
+
+    spin_unlock_irqrestore(&vgic_cpu->ap_list_lock, flags);
+}
+
 /*
  * The Revision field in the IIDR have the following meanings:
  *
@@ -234,7 +257,15 @@ static unsigned long vgic_mmio_read_v3_misc(struct vcp=
u *vcpu, paddr_t addr,
     case GICD_TYPER:
         value =3D vgic->nr_spis + VGIC_NR_PRIVATE_IRQS;
         value =3D (value >> 5) - 1;
-        value |=3D (INTERRUPT_ID_BITS_SPIS - 1) << 19;
+        if ( vgic_has_its(vcpu->domain) )
+        {
+            value |=3D (INTERRUPT_ID_BITS_ITS - 1) << 19;
+            value |=3D GICD_TYPE_LPIS;
+        }
+        else
+        {
+            value |=3D (INTERRUPT_ID_BITS_SPIS - 1) << 19;
+        }
         break;
     case GICD_TYPER2:
         break;
@@ -365,6 +396,9 @@ static unsigned long vgic_mmio_read_v3r_typer(struct vc=
pu *vcpu, paddr_t addr,
     value =3D (u64)(mpidr & GENMASK(23, 0)) << 32;
     value |=3D ((target_vcpu_id & 0xffff) << 8);
=20
+    if ( vgic_has_its(vcpu->domain) )
+        value |=3D GICR_TYPER_PLPIS;
+
     if ( vgic_mmio_vcpu_rdist_is_last(vcpu) )
         value |=3D GICR_TYPER_LAST;
=20
@@ -422,12 +456,18 @@ static void vgic_mmio_write_v3r_ctlr(struct vcpu *vcp=
u, paddr_t addr,
                               GICR_CTLR_RWP);
         if ( ctlr !=3D GICR_CTLR_ENABLE_LPIS )
             return;
+
+        vgic_flush_pending_lpis(vcpu);
+        vgic_its_invalidate_cache(vcpu->domain);
+        atomic_set(&vgic_cpu->ctlr, 0);
     }
     else
     {
         ctlr =3D atomic_cmpxchg(&vgic_cpu->ctlr, 0, GICR_CTLR_ENABLE_LPIS)=
;
         if ( ctlr !=3D 0 )
             return;
+
+        vgic_enable_lpis(vcpu);
     }
 }
=20
diff --git a/xen/arch/arm/vgic/vgic-mmio.h b/xen/arch/arm/vgic/vgic-mmio.h
index 12f4d690f6..32fc7a6ba2 100644
--- a/xen/arch/arm/vgic/vgic-mmio.h
+++ b/xen/arch/arm/vgic/vgic-mmio.h
@@ -156,6 +156,7 @@ uint64_t update_64bit_reg(u64 reg, unsigned int offset,=
 unsigned int len,
 #ifdef CONFIG_HAS_ITS
 int vgic_its_inv_lpi(struct domain *d, struct vgic_irq *irq);
 int vgic_its_invall(struct vcpu *vcpu);
+void vgic_its_invalidate_cache(struct domain *d);
 #else
 static inline int vgic_its_inv_lpi(struct domain *d, struct vgic_irq *irq)
 {
@@ -166,6 +167,10 @@ static inline int vgic_its_invall(struct vcpu *vcpu)
 {
     return 0;
 }
+
+static inline void vgic_its_invalidate_cache(struct domain *d)
+{
+}
 #endif
=20
 #endif
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630297.983033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R3w-0002Bg-3n; Fri, 10 Nov 2023 12:56:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630297.983033; Fri, 10 Nov 2023 12:56: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 1r1R3v-00029Z-VL; Fri, 10 Nov 2023 12:56:39 +0000
Received: by outflank-mailman (input) for mailman id 630297;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3u-0001y0-5l
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:38 +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 93db860f-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:35 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIeeh019156; Fri, 10 Nov 2023 12:56:28 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkyram6-4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:27 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:21 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 93db860f-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UrsWcyC+UHEaDmnvbeJWM9HFzQmmECxldzd2ClYbqQzk7JjcADZxwH6bw9LW3VukH+gtGh4+JtA4INF4EVPwrpotFlJS79nbifrlZYWHM9RSwxs0ulYFjJETu5ehthZ9g3dauKUmmPWENUbUxMvGJcE7dr9BBkaGWQEZ0Y+BIRC/bfGoWN2nTpK70Fnj74TucuF1kdoVtiYHU/CRrY7/oVTfN0Fp9b/dO8QGR4tGKAsK+uW2ADHQ4I02TZtAj3ICSZSkKR/Uny5+EX1/vp1bfmjq9TFIwvSauZJB51akX6SOotUFVobbh95LBA9bVs+iodlTTfq1ixlR9Ixhq1ohsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tSPiK95kipwtC6I3hCNGMy/9HCeBgCvnJ9pxXmqknj8=;
 b=Psc6iroDwQtFqLtYz573AVV7yZunO7S4gd7JQ7SeOvKWGn6wabdMfpBk70pVoys0v2Vd8ZIB3cMgA3RzXHYx0F8zuMtuAfJZL1DfHLqZZlmyUHW+hA+GaHGDqC2PVIidextaPsH2HEAN//SJvgHG0e+lBdMoDGJCMZv6SIsVcAt6RYnDy6yIPfTkecUMvWnl0n4/G1m387/pSCNO4UX5OnEQgUpUzzMgND8u6AIh+SF5HdfzWI50+kedcvqWxjf7tkGBON3zyPxAQQJfPw0RizvELhQz15M0ldcgqO1Sz7SzEcKmWOTJE8uRM4nqEYHZdca4f/hO2CtM2NBaqq+iKA==
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=tSPiK95kipwtC6I3hCNGMy/9HCeBgCvnJ9pxXmqknj8=;
 b=oPxJDntyaL5kEP7JdZcQQWjO7HLQfvhDDUfQRgv4B8PBBlmsLvGat5fIgfXbEo8uYU9zWq+RuqaNHdnptguWRSMlanmdyVwVDWqYfy8Q0opoqlFfTbv1JZP+85q6ZJLCLQVafYuXNd7C7kcagFJLI+gjvN1hxS4+6dRgjAu7GmpPJWoUXEApOH+fsDQeAAOBPlsn3mmJ7EEpc7G8CPrrjlnqWUJKJR/oAHm6buz6ZafwsP42SmgOARm4QYo8wivdVu9mjJE8UKJOhdiO5JvdN8DkCEo39ivIXvPrnWGVWDwfku98r9/lG6hOnX/Zu0Mf6h+XNq5lV7MqLqEDTLAcyQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 12/25] arm: new VGIC: Wire new GICv3 into the build
 system
Thread-Topic: [XEN PATCH v2 12/25] arm: new VGIC: Wire new GICv3 into the
 build system
Thread-Index: AQHaE9VMxtczAj4WwUSEIvU5E74CCQ==
Date: Fri, 10 Nov 2023 12:56:20 +0000
Message-ID: 
 <17d6dd8df0ca5fa60429dcfbc8c089b88b0085ba.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: 736c2b3c-2393-4cd9-c009-08dbe1ec7068
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 7dQExTISd4kpFDB61Fr5UN6/XGdZw8mwryck8VRmnK9vDxlNhh2TiEjlh3MSiv5jdAPs/+Heh7o+VMVtgmV7Mr2J3VdMVU3isKgxnQk+bA9iFk+kjo3exEutr7IenjpfZoh5/0vgfPHrnXHBtkGOPx8QFQAVpSS7Q/N4sa0pvdd1ykFlHVtHxlitObIGTbUCQAVrF/XYd32LunaJq5veQs5EJzxHJIE8XczsHMKIAhY1YctFxfK3CfzBCztxZ7F1NGhwzqRUKNGVfyMAGBi15uKpKK4uiVlVKUtw8GElOM37E/spckN+oMXBHr8VmhmFXG3sa3t1/7Akx4ZpLvNiFrQ8rqdP3klno2Y2wSjfow/SvJmTuv2YKvKrZv0QNfWqurL1CEqKcvs4/PhCkCKRB1XiQ6WvG+/3vEotZ2sA8XCEAVz3z6yWICrJ/+ZxVHVPj3SOCF0gLMDAuakv2PDfQY8wJ1IWBVcoTCWTnmikoAdHo8Ujp9f4LRQL313DOi/LqEOtD5xsFwhiU2CX7zQttYdMo8Twq0YdU/wjmM70yryGizsGJqAxfI3mOH+BlIwClDlrxdODdzsDJOCScmk2/OvmaBaV6LB2fLJ7SZ7AdJ8=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(4744005)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?atZFypU/ChBfZlHnuLSbuTPXb7++vH07W4eauYqTW8o3ljfvMTz1nIkldq?=
 =?iso-8859-1?Q?8NJbW0AKJlrTtbV/pFsEbg9BqrZ/wDCkutgxfl12dMAScFrvZtAss7FDEy?=
 =?iso-8859-1?Q?LTgtOdF1fR1Lu6nmA6iwSweudgg3jYNMU8glCLcQmukGeajl2hqC5VA9QK?=
 =?iso-8859-1?Q?XKsIbRtN+MkOmnij9GDzl9DRlSUEW8pQeztuNIuZYAAMQt2c5H3VAZjPe6?=
 =?iso-8859-1?Q?KEvjvE00czGqKpDG9bhYtDYGgurA2hRu/W64EF5YCcUilacQ4JO7PkFh9v?=
 =?iso-8859-1?Q?eyKY39jmX6pTtxfomg9VsJ4oJTDr3KUMHQ+cLNTLTZ9HdXC2XqCL9X6akA?=
 =?iso-8859-1?Q?ldkJ+YjgxT+V5LGip7UU8hqVERY73MYNI/pfHTLMdBMEazH+Apu2ffxyQ3?=
 =?iso-8859-1?Q?87jv+W97TNHXSM24mhB5tlGsIGJz9mXfcV9DbE1lfiEgEsJvuVRH3a4o1y?=
 =?iso-8859-1?Q?60AhFOJXGzyYI/73EAZrLiuWOpNM2uGbvVk81vJYbTF8/CCXHXC52rLBkg?=
 =?iso-8859-1?Q?VMtWipnTZRjDvEdGUOeWIQ7tF9pDSsiunbAYI5c44MJMIJhLnURQ09ftmZ?=
 =?iso-8859-1?Q?2PuJyC41HAz6hRNYTJjy1M5zxbyy+LdvUAFXAIBkWSlyfuGd92BEdiSfoW?=
 =?iso-8859-1?Q?BBMoqhHpQq8OpMWH9M5HXcQpAQmSCslZ3oKg6nvS5FgYg8oQOZiOFNbndE?=
 =?iso-8859-1?Q?Pfa7pRM4M4JM2wxv73SOE78OWHR8ouJmG4awJkq7BLKjWjM5oHWXkcGE9p?=
 =?iso-8859-1?Q?TJzz5YbfZxSQx5FIwdgI+mcvUaTJx3yipLfBstAS9ZY5vWQfXNIgcd7SO9?=
 =?iso-8859-1?Q?Rj2kbw/bTn9Z9BAimor7aWeAwpuVuoxChkiEmu8nfpYc7WPTRwicbBLlLm?=
 =?iso-8859-1?Q?bNGUdYPinIvDxzukDsSAe9o72Wf+X4WqE4H/yjDX7Z8TOasKC8sKOlDsy0?=
 =?iso-8859-1?Q?5omIHUhooBSior2zGCIbh9HQc43NIkjDB6hgtUd6zERQAo4uSP6jUjTngO?=
 =?iso-8859-1?Q?fj7SMGmKRpj2yamWwixXLnITNM/wlvrJtCQ5gajvnY3Dv1bDFQkdhyTW8+?=
 =?iso-8859-1?Q?qU52S07nshBIZGTVt1Ch6lKATGzFXw0XC70y7f6tSCq69Q7agvZPdbUjT5?=
 =?iso-8859-1?Q?FXOGsLLatrJPsh4w4DqQl6QxcIHle69LQgkTYIoAv963MFFSQHZg3vIHer?=
 =?iso-8859-1?Q?9xGOisoki/WT0+qAm1GPjVNrxVDRrcaDdqwRumyBA0SRtSFPwg9bOwXbOp?=
 =?iso-8859-1?Q?W3Ln2qMP0DFVCqo+tA6083gW4H8Vjr+42tNKwh5v3trcnmJ9xIEWvhuXrT?=
 =?iso-8859-1?Q?oLo0KjqiPRM0nus0YOINA1sC7YPtAJUZWhJ8PJh4evUvclqFWtJMcCZOwy?=
 =?iso-8859-1?Q?A7sj6PV9jtTE13LRfqVtOXs5IPSPvG8tTUQ9/TkXs6XnhaxjmC5LjxYqKT?=
 =?iso-8859-1?Q?xZjM3re3+Jx3OglsM983JYv+8Y87ZcUF7a8LBepWAIJ1F4gO/RBCNiz6Fb?=
 =?iso-8859-1?Q?/JXIqB/FPuXotQe8QEMbCmwF/EB10X2Y5+hYABRsEquLyn2ADMId87l6x9?=
 =?iso-8859-1?Q?cualdt79y7TtushDVVp9k4O4Tttuw5AhJLvu403LsII/QxI7LrZXYveRCn?=
 =?iso-8859-1?Q?62uOQfZ96EPAyMQwoqq8H8TZm2IB0Hfa2iOgnJOYpYNdoE9ECkEciIHQ?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 736c2b3c-2393-4cd9-c009-08dbe1ec7068
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:20.0637
 (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: LoRwKn7GZbK9VlxEyYwN88ksRCE4hClwrEnBYzuGNYXv902l00O3tZB+IgXHtmkRS5HwW1DCGlvyOVuWvxA/0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-GUID: qKrW8wEgGFGBOofE4ce49iJXqA5n41Y6
X-Proofpoint-ORIG-GUID: qKrW8wEgGFGBOofE4ce49iJXqA5n41Y6
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_08,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=736 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Remove !NEW_VGIC dependency from GICV3 config and add new GICv3 files to
the build system.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/Kconfig       | 1 -
 xen/arch/arm/vgic/Makefile | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b..c91011bc15 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -82,7 +82,6 @@ config ARM_EFI
=20
 config GICV3
 	bool "GICv3 driver"
-	depends on !NEW_VGIC
 	default n if ARM_32
 	default y if ARM_64
 	---help---
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 806826948e..21a71d2502 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -1,5 +1,7 @@
 obj-y +=3D vgic.o
 obj-y +=3D vgic-v2.o
+obj-$(CONFIG_GICV3) +=3D vgic-v3.o
 obj-y +=3D vgic-mmio.o
 obj-y +=3D vgic-mmio-v2.o
+obj-$(CONFIG_GICV3) +=3D vgic-mmio-v3.o
 obj-y +=3D vgic-init.o
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630300.983052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R3x-0002hM-FA; Fri, 10 Nov 2023 12:56:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630300.983052; Fri, 10 Nov 2023 12: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 1r1R3x-0002dV-Ax; Fri, 10 Nov 2023 12:56:41 +0000
Received: by outflank-mailman (input) for mailman id 630300;
 Fri, 10 Nov 2023 12: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3v-0001y1-Bh
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:39 +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 94e7eadd-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:37 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACHn4m029609; Fri, 10 Nov 2023 12:56:28 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3u93ptjrxk-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:28 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by AM0PR03MB6244.eurprd03.prod.outlook.com
 (2603:10a6:20b:158::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.21; Fri, 10 Nov
 2023 12:56:25 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 94e7eadd-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FZf0sfFhQI0rxfqw20un2bDEXSbRMWQxGazC955Fw3UBB1ZquLANkbuR/CqmyVmAoraR8rp0OV8MIque7NfSvq8TS1Ouh4cb82FfQghGpHk1NMI1ip41be6vIEFrsa4GQaYbd4RD7cYBFbaQqy6sAGeQPT9YSQKPkDTCpWDRa+XdlqlvRZ7SAcPoOutSetCnxFhNXSFNdbPGUSoWa9yg9mNKHwjGMJSUqsBio80020G2RhDdopnaYmnAeG9PbFKYJCXEI5xX0crKUWAAGPxR6LW4rALkMQv71Bwph/XNKpxcZEUtNo/BIQQD8/IUgTY6dnebLTbW0YIFMlz+ZvZnGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HHz5hJhr12VTz+6oRnd6k1m3l8acsXE23yxPfe4m7RA=;
 b=Ti+7Icr3U8VAeoWzk2TCyOybdtiOUXA84naG+7EyrU5k+LH7wV/OP0VFcUM+PXdesS0ejBm8j3Fm1IDRO3KvmC607Qi+EaK5MXt3dYitU9Xg/pLiqzJbf5vRCCAF6bmTtXmMv7HLDYc9gSlPEjztMKUYEzQcto+w3OkfibQrjI7dD+yJ2D5cCBMlRIpY5fR+QBhWGAsvUFCUFzF3Dk5zoASNQDd+RbMwictCBdyAUuX6lysjoF5tnScRE2YTGd9y82zDxMjgw8yyzMiwtyoLaX5b1pE5/DogktooJhuPD94ULgX2wUhKwUVTErX1ABTN5xhjBt2I64y8WtvXxaG8fg==
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=HHz5hJhr12VTz+6oRnd6k1m3l8acsXE23yxPfe4m7RA=;
 b=HM1q6nkFRocitEVITYNKMD2NrLGZXrnqKPb0UbTKpyiNeBz/nhRrmkd+UDqrzhgVMOMUlWVJ40HYxPSX/mJtVSbqpbfPo3fFUSBQmceldN+jnp7SJLySQIcpHVJn3DB+kuRjzoLUfRaRK9AnSmXimyVhV1i8RJ3AvS3SmOA+k2r+RKMfZu8fYsVRG4yuPxqZ6jDuIMubFtZ1qFRDevvdEL/uj7TOPV+SSR8dMVvmpEkcKNoO4jVGB5HyTKNMFeN7HKWJgtbrz/CRVF36N/ssJns/AZw/aOC/WttkV+iQzbOh/QGOBW5IUqvxkkFowopudi7qYN61rxSY7E8TgDSZag==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 22/25] arm: new VGIC: its: Implement MMIO-based LPI
 invalidation
Thread-Topic: [XEN PATCH v2 22/25] arm: new VGIC: its: Implement MMIO-based
 LPI invalidation
Thread-Index: AQHaE9VP1TCckR1kUUClKplCDKRdTQ==
Date: Fri, 10 Nov 2023 12:56:23 +0000
Message-ID: 
 <ceda4af006b8b4a484a816499c94a2ac5a1ca681.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AM0PR03MB6244:EE_
x-ms-office365-filtering-correlation-id: b2f8ab35-3194-4ec2-d0dc-08dbe1ec72bc
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 RR+FsD6z06X+jwVRQCPg2vgIGlPCFU7MBWx4fFhLRc2Ion86Y4jRwoPM0rj0xgDQGm1e5vAyJUkxQx/BFlIZMBolNpc6eurw6qL2XM8cLRQDjDXjibPw6ChpLEw34WHnyA6s0QsEX+N2SZqhP1x00z+HR/3Du8GP2RO6KkiVatHqhd8V0rnljADPoE7b+Q+htEa9TwyilhdCDpIp20fMggiVA7ZCnfWhLnTiwKEn6DYH6TePU9BWZEJdrdLXn2TA9D7etr10ZwALdi3Tw4P9oai7Z4SqmhkD156i8fwv7l1t6ReeGi4bmxMX/0HBILkHOZ7ivWl6Kjea4tWK3Aw+YzBSK3GuZR99sEP2o2tflUQm8VvvLRyNQs2eiMzXRd5WmJs2L/WrexNo7rrVSua49ZIIr0Pv/GF7/kUX79X78JND6dNrjZBQy39fWobR8tT1KrQvSKJowrMFTZiEZNRCL5SMCvDuDDbGyakH3FwvwzGFzv3Wv+1obCaKjpB9uyvyalrHHO9ClmBfaVSPiXY86ha8EsBVPYDgdqiLWOhcAgvwT0iH/qD2pVc5ExKgDAVTAqGzh45zy+mr6ObYc3U4+7c7IU+oluRoHB+DfQ1wg0PUa3/NT6n/whTThZ7zPbPagXn9f0GvxNsDnhU/NW3p9Q==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(396003)(39860400002)(346002)(136003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(5660300002)(41300700001)(2906002)(83380400001)(26005)(8676002)(4326008)(8936002)(122000001)(54906003)(64756008)(316002)(6916009)(2616005)(38100700002)(76116006)(66556008)(66476007)(91956017)(66446008)(66946007)(38070700009)(6512007)(6506007)(478600001)(6486002)(36756003)(71200400001)(86362001)(309714004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?ARv1zv7R0OqIHAYDgUkcvb6SetZEgi7JUz8ayLzBmT6j99p+e3M9HT2AX4?=
 =?iso-8859-1?Q?TozoLdFjEVblJ7nwpy34l41BXAE8QnAKyH/k+1Ooldns4+kRZ/NWu2+xsj?=
 =?iso-8859-1?Q?jy/pRg9xI7hjhz5e9HKyqslyiJ6m1Dc4lrjIE5NnxUA4oo07i5Mlu3wI3j?=
 =?iso-8859-1?Q?mhhgF5hrNSIsi/0bDXczJFEBUcuHQ9JH+Y9Wlo/IE1kjZlObI7JJz0qb4n?=
 =?iso-8859-1?Q?sLxqniDxxTKz4axkHkPQ76uqfLltrK+5qwhnlz4yC2pPumN3VIe7lCwYhI?=
 =?iso-8859-1?Q?mi2YYck7KA4PXl7R69KldpHJ/Ms3elDwMNxTlA8WWLf+g66PqZyo120KO3?=
 =?iso-8859-1?Q?3223bC+l9xJwieXMvbjycNSz5Fq/+/UXp0yP0OVZBB8cRv/QnlX1Wbr7O6?=
 =?iso-8859-1?Q?OCzp95fFWr5oxVKq/4bNS8urCFFKqx6fbAggB99F+yn/Enh630ICdU0JDN?=
 =?iso-8859-1?Q?7CESMa23F5XIE73MyzoVI+wFVbzu//rQ9FbYafWLHeCufbpBP6puc2UUJ8?=
 =?iso-8859-1?Q?YdmS73iPCvnVKzFO7P0mltvfustgdglH1vMCn3Gv39F0Pmg8EzjvaMKy89?=
 =?iso-8859-1?Q?NU9dTnqoZoO6z26avlMOq1LbYIt6JAneOSjOmlHXNCLoLbvz0dKqGqk/C6?=
 =?iso-8859-1?Q?f3fScVmwsC6xgVzrxs7qIf9qpG2mpYoe5ApxhZ/Wd/IuC00YLhaGDUnh+I?=
 =?iso-8859-1?Q?jKcV5eecbAX2n6sxEbz2DRi13qQLiRCSc73ut70SCZhnFpGjVjnLG/lOkW?=
 =?iso-8859-1?Q?gyWOn2VVLMzsE3/2fZB53YnmGfwXrP+2ZMlSMM9U4m91YnNPuuBvs4cazy?=
 =?iso-8859-1?Q?uT/OPtmQzRVQFFOlwjL26oEV8YziSSuuQ9DP3IaEqn/L0pbwznpMgX5kTO?=
 =?iso-8859-1?Q?nhnf82Hyg/dGVOw+SbbZ+9lPR7vqoby++C1yFCdPu57/1Ct08/fHMh13QO?=
 =?iso-8859-1?Q?kPUgo6MKFCSRdF0Ghdj+SRxNMAf1lBHQPJdCVO/3w1zBJxZPVXn/xTCaNM?=
 =?iso-8859-1?Q?gtej1g6V1mT0rh7cnX3mWbwxCM3RQAH3gIFb8TgRQqoswn9h6ujmc81Law?=
 =?iso-8859-1?Q?0tQERuFsqvXcKcUgL0LnJ0b7KFiByvqzyxtk45Kc1eAf+xdwbI4FMB59WY?=
 =?iso-8859-1?Q?68YXeaFtgrBRb+uVy5frH6o0djVZ/83GWndhj1NrzIZ0o8+HaVyu1PfQ5i?=
 =?iso-8859-1?Q?fwyluAbmkuBCAsfR3HesLwve+obMtw9SnjzSZKofPuevocgKJxFNNQAzaE?=
 =?iso-8859-1?Q?RmSUl6pvxCD2RT+JBbRHd0/BBHdU/NXCavZCB8FBVlqgoScvnELQEo4y6H?=
 =?iso-8859-1?Q?snFGpIcKLgxvS9awEbnekKUPB8Zg0nK5hHqX8OrQvs2Ufj7f1jzGNYllxt?=
 =?iso-8859-1?Q?2BGyQASApDAtzSZ+XM50gikqGTxKPDQ461KY8FXpBRLfcjM/FkgTnmePZp?=
 =?iso-8859-1?Q?N+y61bzCB/s0BGeaiLyg9NyNiJ86Bl+Mgw3ZMOmdMazLKw+vjsx0uPsI6d?=
 =?iso-8859-1?Q?kNp4dfMDXTEsBAYb+9bHZa4I7D4ZmmYEGs4mlbViA9ODZSmx2kcE7D9HZY?=
 =?iso-8859-1?Q?mh1RWOkrAnZsukuXULQoaUKgrQN62/Jv51lz0hvXsoL8PIYYXj96g9U0n7?=
 =?iso-8859-1?Q?8mrHmMYAIH4BHXXe8l5Ucia3VZiN0mCLvyHV0HjXE2m6rDx+732OClaw?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b2f8ab35-3194-4ec2-d0dc-08dbe1ec72bc
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:23.6475
 (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: 4sYCuxpwjJRtJEFaAx5jXbbe1b0k35wl2yVUZXSYFvmJnKWZtXdHgu/K21V8NMsnPLfWXdTE60JsBNkNzYIlLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB6244
X-Proofpoint-ORIG-GUID: f_btpiF4EMSn5sL61PFKUfdEHyErFq57
X-Proofpoint-GUID: f_btpiF4EMSn5sL61PFKUfdEHyErFq57
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0
 spamscore=0 suspectscore=0 clxscore=1015 impostorscore=0 mlxlogscore=983
 mlxscore=0 adultscore=0 priorityscore=1501 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Since GICv4.1, it has become legal for an implementation to advertise
GICR_{INVLPIR,INVALLR,SYNCR} while having an ITS, allowing for a more
efficient invalidation scheme (no guest command queue contention when
multiple CPUs are generating invalidations).

Provide the invalidation registers as a primitive to their ITS
counterpart. Note that we don't advertise them to the guest yet.

Based on Linux commit 4645d11f4a553 by Marc Zyngier

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/new_vgic.h |  1 +
 xen/arch/arm/vgic/vgic-mmio-v3.c    | 65 +++++++++++++++++++++++++++--
 xen/arch/arm/vgic/vgic-mmio.h       | 15 +++++++
 3 files changed, 78 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm=
/new_vgic.h
index b038fb7861..dfc434ab41 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -239,6 +239,7 @@ struct vgic_cpu {
     struct vgic_io_device   rd_iodev;
     struct vgic_redist_region *rdreg;
     uint32_t rdreg_index;
+    atomic_t syncr_busy;
     struct vgic_io_device   sgi_iodev;
=20
     /* Contains the attributes and gpa of the LPI pending tables. */
diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
index 4bf8c21203..0e3835d38a 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v3.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -583,6 +583,65 @@ static void vgic_mmio_write_pendbase(struct vcpu *vcpu=
, paddr_t addr,
               old_pendbaser );
 }
=20
+static unsigned long vgic_mmio_read_sync(struct vcpu *vcpu, paddr_t addr,
+                                         unsigned int len)
+{
+    return !!atomic_read(&vcpu->arch.vgic.syncr_busy);
+}
+
+static void vgic_set_rdist_busy(struct vcpu *vcpu, bool busy)
+{
+    if ( busy )
+    {
+        atomic_inc(&vcpu->arch.vgic.syncr_busy);
+        smp_mb__after_atomic();
+    }
+    else
+    {
+        smp_mb__before_atomic();
+        atomic_dec(&vcpu->arch.vgic.syncr_busy);
+    }
+}
+
+static void vgic_mmio_write_invlpi(struct vcpu *vcpu, paddr_t addr,
+                                   unsigned int len, unsigned long val)
+{
+    struct vgic_irq *irq;
+
+    /*
+	 * If the guest wrote only to the upper 32bit part of the
+	 * register, drop the write on the floor, as it is only for
+	 * vPEs (which we don't support for obvious reasons).
+	 *
+	 * Also discard the access if LPIs are not enabled.
+	 */
+    if ( (addr & 4) || !vgic_lpis_enabled(vcpu) )
+        return;
+
+    vgic_set_rdist_busy(vcpu, true);
+
+    irq =3D vgic_get_irq(vcpu->domain, NULL, val & 0xffffffff);
+    if ( irq )
+    {
+        vgic_its_inv_lpi(vcpu->domain, irq);
+        vgic_put_irq(vcpu->domain, irq);
+    }
+
+    vgic_set_rdist_busy(vcpu, false);
+}
+
+static void vgic_mmio_write_invall(struct vcpu *vcpu, paddr_t addr,
+                                   unsigned int len, unsigned long val)
+{
+    /* See vgic_mmio_write_invlpi() for the early return rationale */
+    if ( (addr & 4) || !vgic_lpis_enabled(vcpu) )
+        return;
+
+    vgic_set_rdist_busy(vcpu, true);
+    vgic_its_invall(vcpu);
+    vgic_set_rdist_busy(vcpu, false);
+}
+
 static const struct vgic_register_region vgic_v3_dist_registers[] =3D {
     REGISTER_DESC_WITH_LENGTH(GICD_CTLR,
         vgic_mmio_read_v3_misc, vgic_mmio_write_v3_misc,
@@ -655,13 +714,13 @@ static const struct vgic_register_region vgic_v3_rd_r=
egisters[] =3D {
         vgic_mmio_read_pendbase, vgic_mmio_write_pendbase, 8,
         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_INVLPIR,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        vgic_mmio_read_raz, vgic_mmio_write_invlpi, 8,
         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_INVALLR,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        vgic_mmio_read_raz, vgic_mmio_write_invall, 8,
         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_SYNCR,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        vgic_mmio_read_sync, vgic_mmio_write_wi, 4,
         VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_IDREGS,
         vgic_mmio_read_v3_idregs, vgic_mmio_write_wi, 48,
diff --git a/xen/arch/arm/vgic/vgic-mmio.h b/xen/arch/arm/vgic/vgic-mmio.h
index edf8665cda..12f4d690f6 100644
--- a/xen/arch/arm/vgic/vgic-mmio.h
+++ b/xen/arch/arm/vgic/vgic-mmio.h
@@ -153,4 +153,19 @@ unsigned long extract_bytes(uint64_t data, unsigned in=
t offset,
 uint64_t update_64bit_reg(u64 reg, unsigned int offset, unsigned int len,
 		     unsigned long val);
=20
+#ifdef CONFIG_HAS_ITS
+int vgic_its_inv_lpi(struct domain *d, struct vgic_irq *irq);
+int vgic_its_invall(struct vcpu *vcpu);
+#else
+static inline int vgic_its_inv_lpi(struct domain *d, struct vgic_irq *irq)
+{
+    return 0;
+}
+
+static inline int vgic_its_invall(struct vcpu *vcpu)
+{
+    return 0;
+}
+#endif
+
 #endif
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630301.983070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R3y-00034b-Mt; Fri, 10 Nov 2023 12:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630301.983070; Fri, 10 Nov 2023 12: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 1r1R3y-00032y-DL; Fri, 10 Nov 2023 12:56:42 +0000
Received: by outflank-mailman (input) for mailman id 630301;
 Fri, 10 Nov 2023 12: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3w-0001y0-5s
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:40 +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 944a87f3-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:36 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvf025691; Fri, 10 Nov 2023 12:56:29 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-9
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:29 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:23 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12: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: 944a87f3-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CfWAkGtMlpf+k70kdod+hSlaG77s3WKtFAfmUY7+SRh4uDTOIO1e882VPahd9d0D0W2DbfmSMku96lTGZwPzRetAJEllZ4oQ2vvGfbg0ruK+t7FlT1VodsSRq0KOx3z67qBCruAUxkwXRjU/Os92LctSdPKPHdwejRZ90u43APJR6sOSbgIkbCI1a4n4QpjsdGn6icFbQIeg5kILqVeEJv/4KclBhALRZR34PEkZ367Kasr5UzX9J5qrLElTEmF3WuULhkSGi9CxHSXMsYWaA3sjeGtN5DjvwvcA1HnnhCr40pY0mh2/mnsXuBXXqNVobbec++1b9QvKgKrkoFPmLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oT4KIF2X4Eydop9+7zHu37RhHlwUjuweDeTiWeDTB5Q=;
 b=XKn2tApLn8Pw50DL9kVBH601DNYUDlO4QkE7JkH5WGanzs9hSatY7EFLg8rffozzyqLSsJ/kMfK4macRCxstNbSTVMBtEbTZ6hQWwyazctNnLSmtdhJb7vI6RCF9UXCsV4E23Pd7vZLCClnDZLCaeNwKkOcckn2YdXYDbbmv0UdUIHDfw2d0a57wkCPNpxZFxPPBz/Uf5aqMfLXvUl5snl0udLxaycbOrgLZOxEkvJwbSFdu9Qmh5s/YmAG5taA2ELzboq5c7TqyG8iajoVZ25RPXuz6pfrATHtTCNo/T2jM6SU4bwKldXLrqfUuM4yDflKcZ2JDpqlH3mSgeGEipQ==
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=oT4KIF2X4Eydop9+7zHu37RhHlwUjuweDeTiWeDTB5Q=;
 b=N3qRtU6qHivrs0BnR/MvM8uvwGpg2/+Nly7HCrbk3lXVXG3cQPKvCJxL0MNnmgquLTF774oldQ0OidcvaRbRdZt6GaMJ9fXCGYlyJ3srkLW2639++AhMLqoYbBaH5gd0xwC9C3eDVXOTk8ulLLdAh9uO7cVJAo+v4pASPNSjoV9N1dl8atnBAonThagygT2c32yy6YIguriENcCP2AFhuA/i0zWJtzhH7/Ph8bwQOaTkGFtzkgp3m4tbFN/uypbcpxmycFyRmADyKJUmsC1WHioXyMPmsTqBBsOyYHAoxxY+zCRAdTscqqPIVHinG7sVIbiYgsSAu6jy50qIgKMHIg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 17/25] arm: new VGIC: its: Read initial LPI pending
 table
Thread-Topic: [XEN PATCH v2 17/25] arm: new VGIC: its: Read initial LPI
 pending table
Thread-Index: AQHaE9VNBToaXOI75keIgsngiRNg/A==
Date: Fri, 10 Nov 2023 12:56:21 +0000
Message-ID: 
 <bba7f1c7d135bead3003a862968aa0ba74e50dd8.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: b5dd9e00-7382-41a1-026d-08dbe1ec718e
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 qspdzKlhaEej6mngsR6+JoOXQMIkJzGW9c5jdi/JoOwAg+BnGitAu4BcQYEkjIn/eQmjfzPPhCqToVUfu54XmXGj9J9pWb7+zmlrL/Iyn0jXJcufuspfKS8EZt035hXwYz8IrgZFhlUyi9HOQnsy/T9U6+1NqKxtmMx9o/sIsVB3VgjnvEheUz21yB6cPN28CXEJQAUVHXXRV8i1gf/ah6l2YS168P94E4rb4FYmWlAXKbrfn0FF54m4y/DhyLuU1KfFM6X/HeFQ1duP+3w8qegPTY+c2vmCsE37T7gWzb0IpiyMZIcxliO6ibI+UmR7FFfVd8InfMojZmUJXLrAroLSyRrRTde0d7qtRZZaaqou0OjukOKRKbfQTBScF50VkxdPdCBAzXoF+hrYXlB8nfjm/5CwuJAvxv8mSlhn6mDuKoi2v2wzUVm2pa+j8+Vqj+RqGEIf0xMxx5Iz4bowva5XhYmtEW6LRAOKDsJmgsfvI03KVEas0PpBR6JNAXIPQ1feP4uHccx7EMwZkY8iT8HkBylbMybOqUZxUIlgQuy2GdopyvhKVM+2UndAt3GWT/w8+7y0WakGbUpWN7BRdf11cBHOkQzgKSf7cK8hpFzrVY7e1HAqfo3FtBjJkzcF
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?hA8wfJymWmvmZ/BduK0KRT6mq0ag2ivKb9PAZNcbrnR6Zo4TI7Yw734hVg?=
 =?iso-8859-1?Q?TBBrE4IwUcsCS5y6zuhvqORpOttzZhgSewqmFiUFizy4IgN+UiMQUXSyRT?=
 =?iso-8859-1?Q?ctVAxvosQ/v1SNdUaAjxX5IumGb+k0IEx2TNJtqqdd3bz4yaVOqVadAznn?=
 =?iso-8859-1?Q?VvJ3s+PdGMZhqdJikQiD9CPYIuld0DCVi981dMbXpfcBaxeP/oHNOV4u74?=
 =?iso-8859-1?Q?Nni0U4GJmfOvKwfGBdLL8n/alqesZBgWvl9u4I7SXBlyW10CksHNNXqRBS?=
 =?iso-8859-1?Q?yswv52Mg0nPnW3p0fEVcuZcECy8T7sNhqKHqbvzRfTU2oLLSenjTb86EIG?=
 =?iso-8859-1?Q?Aa7QYS74JZ00tkJ1bXRCP7y/fXb5rqJsdyGzUUHEApbraBcvsXfG7nfo4C?=
 =?iso-8859-1?Q?D2f7eYas2hMx+uqTV9XcxRzBF04bl9nTsKIv9j4kJiBHapG3mHGhLPeJmE?=
 =?iso-8859-1?Q?6TV/z9HMZZ+2aXyyU5v/B/ugHzlfn+yP00/9BhmkQu6rxKbBGF0aCCmBNV?=
 =?iso-8859-1?Q?GoIZEBTFdOm8pKiC4iGA50LcsU66fz7sEMXln9Ao4gJJs380ElLFTPihyw?=
 =?iso-8859-1?Q?I/jqIQPdk8/cVQFTrjGhAZJVTVTh3pURu+oGSNZjdga7z6i7w+Hlj4HcT9?=
 =?iso-8859-1?Q?H0+YH5V3J1Yr8LTpmLvQroSruWAG9HYqwFBsDiqLLXOiYeBZ+b7kMjgnaE?=
 =?iso-8859-1?Q?b9YkYe4gT01u9v6oATo0cUyU7Fvt5Sfj9Sh5XTiGH2FF08GWlDdY7qmzHK?=
 =?iso-8859-1?Q?mOIvKJfkwaOGMaSjwDit+EeHySbeBH8sR6GgGtUhYgw/0g8TFvlwRsyfiM?=
 =?iso-8859-1?Q?pLenr69BVMiplmu4UMlme/dO+//T9aQPkto0w7XJcl2BMTHWYln/eI7hp+?=
 =?iso-8859-1?Q?NqveHtsFc8V0cjy9JSeVyC8iPz6ibGQGeTTzYuhyFvd4dNo7WM8uF4JgAQ?=
 =?iso-8859-1?Q?5fY50u/MIemeOYc3izjYioHs947pj1n4IdMqeQk8BfVD6M5s3V/vJvPHqk?=
 =?iso-8859-1?Q?GMD82cbcpzAki4FUzg9i9lxyj70fm4U/9wvP7TehKwGfTp5udcEB/R9+X4?=
 =?iso-8859-1?Q?xr8xVY/DG8hyc7iERmYiw9d2koNMoRGhREDXBQcPN/ytBfC7h8wxA8qpEA?=
 =?iso-8859-1?Q?Q9pg3QQ+hpHHi1mAxt3DbNgnVpj7vQMAzWEtOneSAUQ5eR5avdQjDhYu4E?=
 =?iso-8859-1?Q?jHExisls9oDlXe+A/mQNLMDEHQaHJOOB9WintU96q/uOdHEfcr68ZAQkNt?=
 =?iso-8859-1?Q?ruxyTAzlPnhp8HVmKn/uZy+eGApFnklsqfvaqSLQz2g8d7LeVC+TCP+WiI?=
 =?iso-8859-1?Q?S+8hYh3ZRckYddbIkjEykD8YznvO0GBl7/VOnoYJB87RLd2nX4x72MjQQS?=
 =?iso-8859-1?Q?IjAcTr71gFdrqxHaAHG27QedoDyA16vFD3MYW38h7GjE9LOe54PTSZUaGk?=
 =?iso-8859-1?Q?83q0HcoaSz5tQ3/BJFyMATw/Eg5sXz9oVmR558+zCnh//lLDzPyihbBUgh?=
 =?iso-8859-1?Q?9+CFB91UYvpBioywbk5lzkPDy/NrebjgXBnNpK05hIJWpa3nWcoIVr6Fm+?=
 =?iso-8859-1?Q?J5+qmJoZkJxivTOpBt1eraFFlqEShaIogwm3XHZ1pNUAQtlv1PDjUdz6uF?=
 =?iso-8859-1?Q?swIkd4ttxv7oVn0qy+DrCFk70rhEMcQNeJ8eSscx1zHggTOLs/qk1F3g?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5dd9e00-7382-41a1-026d-08dbe1ec718e
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:21.8288
 (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: WicZnL+MZxieh5FpgwEWqH7UKJ5CwOi8ItFWFrDpdilXyY9ZlV50lPpdxpppJNbi8nOshByIdztVqSMANYxCPg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: z-LfJRbTodkl_F9kadJyB6Ea_fHGOMC8
X-Proofpoint-GUID: z-LfJRbTodkl_F9kadJyB6Ea_fHGOMC8
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=999
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

The LPI pending status for a GICv3 redistributor is held in a table
in (guest) memory. To achieve reasonable performance, we cache the
pending bit in our struct vgic_irq. The initial pending state must be
read from guest memory upon enabling LPIs for this redistributor.
As we can't access the guest memory while we hold the lpi_list spinlock,
we create a snapshot of the LPI list and iterate over that.

Based on Linux commit 33d3bc9556a7d by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/new_vgic.h |   5 ++
 xen/arch/arm/vgic/vgic-its.c        | 104 ++++++++++++++++++++++++++++
 2 files changed, 109 insertions(+)

diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm=
/new_vgic.h
index 3048f39844..d0fd15e154 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -264,12 +264,17 @@ static inline paddr_t vgic_dist_base(const struct vgi=
c_dist *vgic)
 }
=20
 #ifdef CONFIG_HAS_ITS
+void vgic_enable_lpis(struct vcpu *vcpu);
 struct vgic_its_device *vgic_its_alloc_device(int nr_events);
 void vgic_its_free_device(struct vgic_its_device *its_dev);
 int vgic_its_add_device(struct domain *d, struct vgic_its_device *its_dev)=
;
 void vgic_its_delete_device(struct domain *d, struct vgic_its_device *its_=
dev);
 struct vgic_its_device* vgic_its_get_device(struct domain *d, paddr_t vdoo=
rbell,
                                          uint32_t vdevid);
+#else
+static inline void vgic_enable_lpis(struct vcpu *vcpu)
+{
+}
 #endif
=20
 #endif /* __ASM_ARM_NEW_VGIC_H */
diff --git a/xen/arch/arm/vgic/vgic-its.c b/xen/arch/arm/vgic/vgic-its.c
index 5e94f0144d..af19cf4414 100644
--- a/xen/arch/arm/vgic/vgic-its.c
+++ b/xen/arch/arm/vgic/vgic-its.c
@@ -63,6 +63,47 @@ static struct vgic_its_device *find_its_device(struct vg=
ic_its *its, u32 device_
 #define VGIC_ITS_TYPER_DEVBITS          16
 #define VGIC_ITS_TYPER_ITE_SIZE         8
=20
+/*
+ * Create a snapshot of the current LPIs targeting @vcpu, so that we can
+ * enumerate those LPIs without holding any lock.
+ * Returns their number and puts the kmalloc'ed array into intid_ptr.
+ */
+int vgic_copy_lpi_list(struct domain *d, struct vcpu *vcpu, u32 **intid_pt=
r)
+{
+    struct vgic_dist *dist =3D &d->arch.vgic;
+    struct vgic_irq *irq;
+    unsigned long flags;
+    u32 *intids;
+    int irq_count, i =3D 0;
+
+    /*
+     * There is an obvious race between allocating the array and LPIs
+     * being mapped/unmapped. If we ended up here as a result of a
+     * command, we're safe (locks are held, preventing another
+     * command). If coming from another path (such as enabling LPIs),
+     * we must be careful not to overrun the array.
+     */
+    irq_count =3D ACCESS_ONCE(dist->lpi_list_count);
+    intids    =3D xmalloc_array(u32, irq_count);
+    if ( !intids )
+        return -ENOMEM;
+
+    spin_lock_irqsave(&dist->lpi_list_lock, flags);
+    list_for_each_entry(irq, &dist->lpi_list_head, lpi_list)
+    {
+        if ( i =3D=3D irq_count )
+            break;
+        /* We don't need to "get" the IRQ, as we hold the list lock. */
+        if ( vcpu && irq->target_vcpu !=3D vcpu )
+            continue;
+        intids[i++] =3D irq->intid;
+    }
+    spin_unlock_irqrestore(&dist->lpi_list_lock, flags);
+
+    *intid_ptr =3D intids;
+    return i;
+}
+
 /* Requires the its_lock to be held. */
 static void its_free_ite(struct domain *d, struct its_ite *ite)
 {
@@ -284,6 +325,62 @@ static unsigned long vgic_mmio_read_its_iidr(struct do=
main *d,
     return val;
 }
=20
+/*
+ * Sync the pending table pending bit of LPIs targeting @vcpu
+ * with our own data structures. This relies on the LPI being
+ * mapped before.
+ */
+static int its_sync_lpi_pending_table(struct vcpu *vcpu)
+{
+    paddr_t pendbase =3D GICR_PENDBASER_ADDRESS(vcpu->arch.vgic.pendbaser)=
;
+    struct vgic_irq *irq;
+    int last_byte_offset =3D -1;
+    int ret              =3D 0;
+    u32 *intids;
+    int nr_irqs, i;
+    unsigned long flags;
+    u8 pendmask;
+
+    nr_irqs =3D vgic_copy_lpi_list(vcpu->domain, vcpu, &intids);
+    if ( nr_irqs < 0 )
+        return nr_irqs;
+
+    for ( i =3D 0; i < nr_irqs; i++ )
+    {
+        int byte_offset, bit_nr;
+
+        byte_offset =3D intids[i] / BITS_PER_BYTE;
+        bit_nr      =3D intids[i] % BITS_PER_BYTE;
+
+        /*
+         * For contiguously allocated LPIs chances are we just read
+         * this very same byte in the last iteration. Reuse that.
+         */
+        if ( byte_offset !=3D last_byte_offset )
+        {
+            ret =3D access_guest_memory_by_gpa(vcpu->domain,
+                                             pendbase + byte_offset, &pend=
mask,
+                                             1, false);
+            if ( ret )
+            {
+                xfree(intids);
+                return ret;
+            }
+            last_byte_offset =3D byte_offset;
+        }
+
+        irq =3D vgic_get_irq(vcpu->domain, NULL, intids[i]);
+        spin_lock_irqsave(&irq->irq_lock, flags);
+        irq->pending_latch =3D pendmask & (1U << bit_nr);
+        vgic_queue_irq_unlock(vcpu->domain, irq, flags);
+        vgic_put_irq(vcpu->domain, irq);
+    }
+
+    xfree(intids);
+
+    return ret;
+}
+
 static unsigned long vgic_mmio_read_its_typer(struct domain *d,
                                               struct vgic_its *its,
                                               paddr_t addr, unsigned int l=
en)
@@ -564,6 +661,13 @@ static struct vgic_register_region its_registers[] =3D=
 {
                         VGIC_ACCESS_32bit),
 };
=20
+/* This is called on setting the LPI enable bit in the redistributor. */
+void vgic_enable_lpis(struct vcpu *vcpu)
+{
+    if ( !(vcpu->arch.vgic.pendbaser & GICR_PENDBASER_PTZ) )
+        its_sync_lpi_pending_table(vcpu);
+}
+
 static int vgic_register_its_iodev(struct domain *d, struct vgic_its *its,
                                    u64 addr)
 {
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630299.983049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R3x-0002Uf-8J; Fri, 10 Nov 2023 12:56:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630299.983049; Fri, 10 Nov 2023 12: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 1r1R3w-0002Se-Tw; Fri, 10 Nov 2023 12:56:40 +0000
Received: by outflank-mailman (input) for mailman id 630299;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3v-0001y0-5t
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:39 +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 93eee4b2-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:35 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvd025691; Fri, 10 Nov 2023 12:56:28 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-7
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:27 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:21 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 93eee4b2-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RA2RnrvW+EUyLfp/seqNTbfZQD+HllClxQpdD5raPdsNB7R5KOjyfjEJl4l2Te+y2ua2hAs7sAUlZu1AgV2AJS+cOrdFfbNmHAWVNiCe75JlSiUL/JaVK8OMKLlUSZmxQQLXc063qOheCbYOl/+g5QfJM/LVbNGtX4gsfIN1lOIxjgaWJaQBrPKJBzuec2SE09gQTk7IMTLMbGNsvFSgpPFO9dmemrmS0dq9NShF/SOtM9QKAMSQEEcQf+1k4EyBq+1uYirytajDJefK6YC74T6i+xXe2D5iaoUqk0rwe+QWSoNk8Ofodru1En6nSmNAlv7MgLkoxGWYbDOTgQCfsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pfknAyVbOV3k83G7QQT0Ng9GKon0GixOx1/IoSh2cog=;
 b=A2zPt+dCn0CfV12FoUsMbCTm1zpPCA1Ro9TzeKn7zWPfhGlXbKaLSYsXc0LhpRVDuxMFd/rwHbRKieJHX+BaIdebMcb046L4QKKA35phXnXD0LYm+ZQw7Df4p1EYEsD5Sywp1dSoM6Dr4Ze/ypYnI1HWPtEaI6w936tgij0b6KKHz1bAT2dnKZhRlen/v9Ub+lrDbTWUo4rbgaazkw32v12pG5yHbLZF+Pj/GR/TH3pcOIxDjAvyZ3PD6tBwxTMf/aRr0keJv+qdivX9wsNwbQ0SYQH0SkDhf0UU9YG+l6nkIzCWS1HalJ4iZXDiRFRvc0Pk8EpQuq8vK57lWU2nJA==
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=pfknAyVbOV3k83G7QQT0Ng9GKon0GixOx1/IoSh2cog=;
 b=gsKMP8leoDMVzcuJ0whbz37FOkyL82LDh67dN9S1yv5emLdq24yI07tsgpg9uh2rC0snpba5VOnc2kDPfHhPqP2ql+Oojc4iFZYOrBIEquV5uRtki1zdGkvytTTvu3MkCG/IZTbwntnnm7OVxVj8Ir9m7XfVhqXSRgYnEjavdcWaTF8FEktlg+dQqMDrvojoE5d51Eib2Fdj8RsE7e9riWcyLvdOneiOEpsJQnafmiFztcqZqIInQKP/2zxsWwkQrwphFa36vGxt2lgKPhncj9aWUKh7vrVJcpn+NP9F32aGuGzBvVARw44Lc+xIT4Ze2pInx9UVeM0tXb3lyOWMIA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 11/25] arm: new VGIC: Add alternative redist region
 storage
Thread-Topic: [XEN PATCH v2 11/25] arm: new VGIC: Add alternative redist
 region storage
Thread-Index: AQHaE9VMKrSrAG80rkWu3ywErkCXJw==
Date: Fri, 10 Nov 2023 12:56:19 +0000
Message-ID: 
 <c34ecad9ad13f97d0d4680a2f0c51fa2a7b4871a.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: d5e38e5b-f027-4703-6035-08dbe1ec7028
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 njVjzRlEbJNg513Y949S68kLcaBYQghHaVDo/pIj5L1uTkkJ+H66b3gjMORkzU/dCaVHuvKmitIvzzH3bSZNuhVuwvGcFHHJlqu1du9noUjIo/ApeiGNeicNxG86/Pv16IK/+ZGEIaxk2wfpwWBYZYu3WgIP0v7kpwIqyUlwt/t3/sNDZmgPz6ha4yXlrpTw/LcDaWPXIhrKNokACMhQaGSx2z0ASBWb0dChGdgYjMZlOk9F/8niRxHJ4RKr+Qsn4yl2kNX8CsxMrbOuHPX2KKt/986fTTgFboN5U3XEGrbfHDu5KvXHn1ShMMh2gVx3oDG2CZV6b9FkfWgZJQp2v6tUaAqS4PN+1QvPVu+yMO+ihjYg/aUJVQ4f56bC1WDXR3DWcN4uwlzlDfxRspM+0qB8ceuSTF78zD9d3tHRo+OEJK3yl7UK/OLXyMnGPYQRbu/UND7rm0Cq4cZZSdXTMfiH7DPi28jRNcvWOq4m0z32cNBfMjA10ORwFZ6+Tl7y8UeOy+UgvdDssyPT9clqQay7wjcv0WcD0nj7BSDR87xsX75kf447sw/nZhiUes+NAR5+kdQthmXgavw3pCIytTuUpyUZGTu/zexVoqvu+1HZGLX3gMxYN9mt8cvt8uQG
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?Xqx1cVDnzGqacjSCtsYEGgZKJBzvO2wYKF3erN3mXoS7A2BVJBL1mxnKJc?=
 =?iso-8859-1?Q?Ly304WSN7rtHXdMKe08Nosm4nAcXnbr2uA4e8AVNx9Kl/LKl2cgpBwlnGP?=
 =?iso-8859-1?Q?VfBdvcj5aYvvbX1hjaOfhhzUqs/1N6hTWlwUoJnM7RWq/hndYfrsRkwI2j?=
 =?iso-8859-1?Q?SV72P3b9+N2txHsa4llfCWZiABZZVRm+bAXeM7bnZFw6pT3aPTxdXfy5Xk?=
 =?iso-8859-1?Q?RxpScGOGnoz5fZDfkioMJ/xG5HgvkMOjRU3H0CFkZVWokva9hqaxJMhYyh?=
 =?iso-8859-1?Q?dE9G4k34T7pXafhhbonwpQtdi6g+VasKM0esoQHWFoQglpFCeu+xxNWBPZ?=
 =?iso-8859-1?Q?qgbGy8CuDsct/4v+6eymKL30VNKFE42rjKV2ri9JL0LNPlYO0FX/WL1GIR?=
 =?iso-8859-1?Q?ZfaRLica4VtPsTbUBxEPzBn9s/NTJOZ3cD+koiuCG6m8RBkjOBxx1991A/?=
 =?iso-8859-1?Q?DTAdd2NgyK6qcf+CkIq89dJVLd8C/q+LOb83BXRVrLQsf97ZG6GRyHCGXu?=
 =?iso-8859-1?Q?9ivbjkZw2BGennoqseq+Q7XymFuJsqQbfM1t3gfZ2thMO+XT7FQR4MYT2P?=
 =?iso-8859-1?Q?JxHsWUWsVH70zjBll1fMa/GTkC7Obvj0LcxlXjfwVyWH1iaDDpSH8RdJGd?=
 =?iso-8859-1?Q?5OLjpRgqlzTyXRoUFWbO3q8u5h0CTrgvaqxSqDPXV1ibntk/kDnoWasg44?=
 =?iso-8859-1?Q?ANN44wdrMmf+I1C2EDzT2sPoKFDD4ZHYZdLRJtqU9BB6I6zJnwXBV5MgNP?=
 =?iso-8859-1?Q?ATZ7Xieh+7o5SqO0+c5jzKsfeBE1u7FFh726PXIAg+iEfdQ6bmVaGmz5Gb?=
 =?iso-8859-1?Q?GwI+zA+Idq2gUgfw9C+6XNiLJuSYlqlvFUoaHDOH8342LJnxFGseXMkFxT?=
 =?iso-8859-1?Q?whomadt9zC/3acX8+EZu84ninIcwBgfNN08bmzIOxUQrb3UxIhYjGES+DR?=
 =?iso-8859-1?Q?ukRXzvwMe39H9fWQWzcPERrePlsRdnzC3z/nKGdNmw3A4/M3nLJVtYpfm/?=
 =?iso-8859-1?Q?dXvYxN8EzzAfGDAENef4op5yJEXJ86IlaiiqkrmpFGHlj/OFUU03QpYv3N?=
 =?iso-8859-1?Q?Ju7g5OgHah0yCw9QFcPVuQraILwzy+iRz6mBCsUk2imDnIoLWl7bhurSEq?=
 =?iso-8859-1?Q?BbHlzM65EH7h3nCrQ46i++8Mu2Ln2+mLTz0DpjaOU+yUY0z9AlN/WJyM7Q?=
 =?iso-8859-1?Q?STqWViQDkyMuHD2EtZiO0rfXpKM3seS4/lfnSqNdfm27OMLbNE9M2MP4W/?=
 =?iso-8859-1?Q?++0oWKUvLheIcyP3U5VythO8sAjnEdBN3Jxg6c2d5aU71YWIcTdvr88Yq7?=
 =?iso-8859-1?Q?uxry8Ccc0UHMr+UAwqX/jmcUGfnoakc/P3uuzUoe1Qj3mZFDL+gfvfEEig?=
 =?iso-8859-1?Q?zLPAkYRsoPBqLQf5JzUvtuDwU6RURutCs4zthA0AyiTAffNcCizvKO926m?=
 =?iso-8859-1?Q?5KC+NEiMBCE1FCZZOsT6SwjSQux39NGfWxgwEZxH/JYiNlvOgWSj5YzAIT?=
 =?iso-8859-1?Q?Iu3Cty+8L0zEdmDs3Z7iIi+1Ja2JL/qGIzi3VIEN2lsSfIIY/9xg54WGlo?=
 =?iso-8859-1?Q?55yT52QhlHDSBc58LIGGNDdIJ6bQiIm7sTM3oKwPVoLMPpXz7s+fJTC74e?=
 =?iso-8859-1?Q?eSWitiUBARNhIp+gVBuqZY/B7kPDRcslLnVagAIxYcaS72ygB2OdOLBA?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d5e38e5b-f027-4703-6035-08dbe1ec7028
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:19.6495
 (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: d7oGc3Sh2VU/tPQ5AMz8IEOAVDUJJhrU5+jEn6N0iRPKyASmyBd85gVSOHa2hmnZaitqv9LojiQnrGALX8Oe4w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: 6scE0qSUuU3Iv047aeFKDrMXG_n1zH0s
X-Proofpoint-GUID: 6scE0qSUuU3Iv047aeFKDrMXG_n1zH0s
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=656
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Guests DT creation requires redist regions to be stored in the specific
variables in struct vgic_dist. But in new VGIC a linked list is used for
that. To not clutter the DT creation code with ifdefs, add alternative
storage for redist regions in struct vgic_dist.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/new_vgic.h | 5 +++++
 xen/arch/arm/vgic/vgic-v3.c         | 8 ++++++++
 2 files changed, 13 insertions(+)

diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm=
/new_vgic.h
index 11d8f71851..9eafab45ff 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -21,6 +21,7 @@
 #include <xen/list.h>
 #include <xen/mm.h>
 #include <xen/spinlock.h>
+#include <asm/gic_v3_defs.h>
=20
 #define VGIC_V3_MAX_CPUS        255
 #define VGIC_V2_MAX_CPUS        8
@@ -136,6 +137,10 @@ struct vgic_dist {
     paddr_t             csize; /* CPU interface size */
     paddr_t             vbase; /* virtual CPU interface base address */
=20
+    /* for compatibility with guests DT creation*/
+    uint32_t nr_regions;
+    struct rdist_region *rdist_regions;
+
     /* distributor enabled */
     bool                enabled;
=20
diff --git a/xen/arch/arm/vgic/vgic-v3.c b/xen/arch/arm/vgic/vgic-v3.c
index 682d57b476..8b700609f0 100644
--- a/xen/arch/arm/vgic/vgic-v3.c
+++ b/xen/arch/arm/vgic/vgic-v3.c
@@ -257,6 +257,10 @@ int vgic_v3_map_resources(struct domain *d)
     /* Allocate memory for Re-distributor regions */
     rdist_count =3D vgic_v3_max_rdist_count(d);
=20
+    /*For compatibility with hwdom dt node creation*/
+    d->arch.vgic.nr_regions =3D rdist_count;
+    d->arch.vgic.rdist_regions =3D xzalloc_array(struct rdist_region, rdis=
t_count);
+
     /*
      * For domain using the host memory layout, it gets the hardware
      * address.
@@ -268,6 +272,8 @@ int vgic_v3_map_resources(struct domain *d)
=20
         for ( i =3D 0; i < vgic_v3_hw_data.nr_rdist_regions; i++ )
         {
+            d->arch.vgic.rdist_regions[i].base =3D vgic_v3_hw_data.regions=
[i].base;
+            d->arch.vgic.rdist_regions[i].size =3D vgic_v3_hw_data.regions=
[i].size;
             vgic_v3_set_redist_base(d, i, vgic_v3_hw_data.regions[i].base,
                                     vgic_v3_hw_data.regions[i].size /
                                         GICV3_GICR_SIZE);
@@ -276,6 +282,8 @@ int vgic_v3_map_resources(struct domain *d)
     else
     {
         d->arch.vgic.dbase =3D GUEST_GICV3_GICD_BASE;
+        d->arch.vgic.rdist_regions[0].base =3D GUEST_GICV3_GICR0_BASE;
+        d->arch.vgic.rdist_regions[0].size =3D GUEST_GICV3_GICR0_SIZE;
=20
         /* A single Re-distributor region is mapped for the guest. */
         BUILD_BUG_ON(GUEST_GICV3_RDIST_REGIONS !=3D 1);
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630295.983020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R3v-00020i-EI; Fri, 10 Nov 2023 12:56:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630295.983020; Fri, 10 Nov 2023 12: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 1r1R3v-00020b-Be; Fri, 10 Nov 2023 12:56:39 +0000
Received: by outflank-mailman (input) for mailman id 630295;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3t-0001y0-H5
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:37 +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 9300c536-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:34 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvX025691; Fri, 10 Nov 2023 12:56:21 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:21 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:16 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 9300c536-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ESPjaDO/HhFX35Rcc/hs05aNIlEvWybjwv25zHJ6i2Q0aGcX7EhYfQkKCHoezYhtAQcgQ70Teubb61HKBgxgope1rj2mn/BdRxmqDJ1Ge8cVq/Vgkocc+FUNM/1cH3Xc8fHyYPExUXjLSC7ec3yzgvqnbazW+zE4kE+pgWdsKDYNoGZw429fGjFVChlslt1XN3gLdicsoLjJhiOli2/2Zb8S6DKLsd/25LvfMxmcXuiAOC5tQhzMwvZ2njev4FcvfkOIbeGc6WT0R4i7D4cMjMjLcLKbsO77Q24+KFl2Dmcit8GXhXqHQLOfae3eV7vm5czfHC5bMIWJkA7CWkQKFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fv2sSS1E8IyyC05BS/b/6K+ysUBbf+47kNcRVhgAkhk=;
 b=goDXh49b1gCLm7bTXz5Qtsv6FGqVjnMnwjPxE6NjpJvFNcbb+NoLdbWVLqYMjapq3m0KGMiNoY8ENGa5U8rYff42hOxohS9LfLnq2S1cxM0/sYtEVsut7vpkQeTsfgV6pMYfnBThYwjgm3DGd50ySwsgy+hxpvrJXSqaXy4aawDljAEu0NO4pCPX3F6oV+/uCg5A3rz4vBetQCTdl6lTwlUmt1FXOQBi8nPCVThiYpDbS9G7m5FCS84cRu5BxO3p9ZTo4i1FXIJYLxLJHgRpHK9/JF53txdPdxuxiuLAI00bhjkdedJWw/4kxd5sN3TgaqA+X1HGZPW2jqhVDw0USA==
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=Fv2sSS1E8IyyC05BS/b/6K+ysUBbf+47kNcRVhgAkhk=;
 b=r358BQOMZmKsGK0iyJB7HFkxPXv1m4hsLguLMoI4wZXIXsmjPhqq2FweAUEg33Kcx7Cs3BcEW27LJomBCNZUwlNzUG7jQmAeBXin/6RWOuAjujCSaYONzQaNT7VB+3kItBaxeYhGF3U+l95d1G6FgfnuVkOylAt8DVz9AReBBPUt+vv35YgRp8/XfSZGzymdmb15AheLzv8aV23rnPLFauZjD91HeM2FtMcl3kPeocWuh/3t99mJC/920JOsKTr1vlltYmDPEf0W3dhcjP1khFdsVhWXpyB04ey9Uoffff/u9iOPXHcq6jf6VeI+XVw5OKieZAb9pX3UQUNrPyuuiw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 02/25] arm: new VGIC: Add GICv3 world switch backend
Thread-Topic: [XEN PATCH v2 02/25] arm: new VGIC: Add GICv3 world switch
 backend
Thread-Index: AQHaE9VK1uiKTlA4P0ytsVfgwtVF7g==
Date: Fri, 10 Nov 2023 12:56:16 +0000
Message-ID: 
 <dd7d39a04dc44af8e589e891d92e9d5f19d3861b.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: 88ed8580-64fb-4807-cde8-08dbe1ec6d4e
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 zXAl6yu48qNpAOPDiiHOm+jYILFkTjfBugt2u5N0ejSlDLpX9KeFj+iRqYszUKnfMXTxVLzyqp7XpYsYGTsSUJy6tX3f7wjPDXgTIl8dCoTHbYOPL5KnAUQCYLaKUvBMjazlf+BfSeF1qri8KlnqMGFCQvW5SQiWlyNn6r8XAqkE/LE5qFZD0oReFCAzuX+nYysmCoLIjPJDj15cnUefy4bAplR3st6czxPuH5/CEOycP+LxKHgV/Qy9B1V6lOd/yOkQzp7WpS/xTPJPm561s1mfht3+wwsrBe6tI8iAWR/4bXqX6OEGA5jApDvhEnjWCCrGRAkSZ9vYhByoUJUDh8illBGc0W2ttdMmUgkCrkNd4KmUkLYjGDhHloHZ3L5gYXOcHtKqbJjixg2rc2+DJK23JAXUEdlPGUHq5Eobgz0fPGJmf5WeBK03sk2nh1IA0kVfwXJOzpB7Vxjam6cvYh6ZJNI/wV+ZyKekm58SVP/1VXAQB2wyfty4lBS06EqfMhjiDykI/NM6B5ZHb1pT08SL63z+nqFC9HhfTDO8Yg/1NEkPZv8zvGzMO9HGgvoqpc2hBwj0xj/Sy1MO0x7zZ1uX8Q6u/KNQTWNrulbmMvGM7oNCc+t6ov91z4Y4rA7R
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009)(2004002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?WpkGSQU45JR/IYs05aMOCeIZULHUcDPkvZpyQBJ1AQtP0KYCyqplkHdoNn?=
 =?iso-8859-1?Q?8Mj7/WKrMD7zeBO2hoWJyVEhuPB6iXWa04CLfs7+2egbe2J6lAT5RVpsQi?=
 =?iso-8859-1?Q?NDq5YM+8RIzeoK7x4Muu4ZoTXlmQVm+BmFhX8QJfwwYkP1tSghAGALFhBK?=
 =?iso-8859-1?Q?KCl46U8f0zGIZnVwLMDM66MWmIhGL/mzYrr/y6wal93BZkcjpfMVMbDOAW?=
 =?iso-8859-1?Q?4dRpR1N4hKHGZ79K67vl4SlxL9j8mC8rMUNNlOkhicFF2C3S3UzAWEZj6F?=
 =?iso-8859-1?Q?05v6YXlXbXlZR1wh8Hqn+HrrXYcpi6sdxPjBDOp+XCTyJFFkiLHKfJWqZC?=
 =?iso-8859-1?Q?bv9T6c19XyapFx680/Md9YHG3hUzrwcvI3W4YqnvaOcUZnbXft0q96qZQi?=
 =?iso-8859-1?Q?69ciXwymTpTcbegI90G/z8Gkk7kP0keioYYIaxIv90fcSbdTyEQJWVPZjf?=
 =?iso-8859-1?Q?xjcR8pxw0rARGUodZrYX5VM9SVT3M9n9PZLmnzKGjeUab41lbRxACATPxP?=
 =?iso-8859-1?Q?sak88XPuM+xz1Tzs07a/d+0uoyusPvC0DLz4SSesFEMlybCAotfoCOHpld?=
 =?iso-8859-1?Q?cqhFlTH44AratdRX0qWrZWJrFCI+Wy13KCfFjfjUUXeAV5lXujy3e3+qMk?=
 =?iso-8859-1?Q?wDkiwOqOHEbgXxEvHUEGExR3Gfd+ex/FXJB0KbocC9UD0O/KhiTpXuD7vZ?=
 =?iso-8859-1?Q?IMsNGel6+CItrc+JCD08k7IQ3Ct/QbwQ04lxwr4tVG4sJk35jjzu2gVcXk?=
 =?iso-8859-1?Q?pEtxfApwHnMW+5fqPdfqVsOOebVPY6I3A9eRA8H2+XRYz1vlgDtBp4C6LH?=
 =?iso-8859-1?Q?XUhBCEoaIwcj66aVaq+zmsoZIlxSulJgzDtxsIpb1mIvZNObNrvwvZ9hQM?=
 =?iso-8859-1?Q?8Uxgk+Jr0RR+OTrsq36AMdoXRMwq9O3LfKUzG4R5cI3VA/Pi5GKUHznD+Q?=
 =?iso-8859-1?Q?4xr1E9e1VtBNVoF+xg6xxtzHHidcqqg2wGwy+PsNf3BOlcNcb57jpVpYho?=
 =?iso-8859-1?Q?xxWcNPAGamAmvpWNxJ5YsRwusAFV6yQLjrWBAI36aUYtSHE8A3ELn8ctR9?=
 =?iso-8859-1?Q?85imCnDS+B0wMbltj7pPp4+jmtgFtzMTnpmSQaA3giVsXE29H8inia03fy?=
 =?iso-8859-1?Q?vjNw0XIZxgiZ/4QjbZgtB9aVWyXrHyqvT4u5bVBbyWVe57IociqY4BeLSb?=
 =?iso-8859-1?Q?QnZ6HvGXm0+sUkBQeb9noyCbdTr+SZ59pLbnSpX8pAcIpJUuU023Xh7R5S?=
 =?iso-8859-1?Q?MBqmGhfjLlBU8CVds/FtBh9Wzl4ytmrY1SGwLD2r9GC51FkU9nMOXvpbgV?=
 =?iso-8859-1?Q?bDvJ802nyMtiuwGDGsXRHeRj3JNIq2FihTsdKuTMRaeUl3THobm14ssx9M?=
 =?iso-8859-1?Q?ETVETRs46tRSH/3LZfBgUPPaN2XHiMBtjuL7jdjsmgNJV0VkFRMinsdYpE?=
 =?iso-8859-1?Q?58taAfDd4397YeSOLy+K4vcvNYqUG/0H0kA8vXcNZYObPKxxv++aTyA/iS?=
 =?iso-8859-1?Q?I4J0/leH0O36lguBrqH+ni/9EQ0Tyx96wWDq/f2RLVa82w6P9cjV3W/Y7M?=
 =?iso-8859-1?Q?CIUnUQgO/xuvmK+i66/QV7SYdn/TJdlk5su2sWRPE4YxP/UCs5W8xJ+2F7?=
 =?iso-8859-1?Q?we8L4ffy2OQpP2kwYiOxcrYtp0wb0Lynz0gvHZSS5pAE3SqS82dDkDdQ?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 88ed8580-64fb-4807-cde8-08dbe1ec6d4e
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:16.4974
 (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: BfIsKDZxwvaE3SIXIDKF6rnXbA2rZYb+mCR6mHWZccs4IF2t1B2EQGAU6oS4JnxgZPj+EUFMaauiFQDkCKFOhA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: co0qNPOKd4oPybfeeLtcO5E_Hyh4lAB9
X-Proofpoint-GUID: co0qNPOKd4oPybfeeLtcO5E_Hyh4lAB9
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=892
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

As the GICv3 virtual interface registers differ from their GICv2
siblings, we need different handlers for processing maintenance
interrupts and reading/writing to the LRs.
Implement the respective handler functions and connect them to
existing code to be called if the host is using a GICv3.

This is based on Linux commit 59529f69f5048e0 by Marc Zyngier

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-v3.c | 206 ++++++++++++++++++++++++++++++++++++
 xen/arch/arm/vgic/vgic.c    |  18 +++-
 xen/arch/arm/vgic/vgic.h    |  13 ++-
 3 files changed, 234 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/arm/vgic/vgic-v3.c

diff --git a/xen/arch/arm/vgic/vgic-v3.c b/xen/arch/arm/vgic/vgic-v3.c
new file mode 100644
index 0000000000..b018ee6040
--- /dev/null
+++ b/xen/arch/arm/vgic/vgic-v3.c
@@ -0,0 +1,206 @@
+/*
+ * Imported from Linux ("new" KVM VGIC) and heavily adapted to Xen.
+ *
+ * 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 <asm/new_vgic.h>
+#include <asm/gic.h>
+#include <xen/sched.h>
+
+#include "vgic.h"
+
+/*
+ * transfer the content of the LRs back into the corresponding ap_list:
+ * - active bit is transferred as is
+ * - pending bit is
+ *   - transferred as is in case of edge sensitive IRQs
+ *   - set to the line-level (resample time) for level sensitive IRQs
+ */
+void vgic_v3_fold_lr_state(struct vcpu *vcpu)
+{
+    struct vgic_cpu *vgic_cpu =3D &vcpu->arch.vgic;
+    unsigned int used_lrs     =3D vcpu->arch.vgic.used_lrs;
+    unsigned long flags;
+    unsigned int lr;
+
+    if ( !used_lrs ) /* No LRs used, so nothing to sync back here. */
+        return;
+
+    gic_hw_ops->update_hcr_status(GICH_HCR_UIE, false);
+
+    for ( lr =3D 0; lr < used_lrs; lr++ )
+    {
+        struct gic_lr lr_val;
+        uint32_t intid;
+        struct vgic_irq *irq;
+        struct irq_desc *desc =3D NULL;
+
+        gic_hw_ops->read_lr(lr, &lr_val);
+
+        /*
+         * TODO: Possible optimization to avoid reading LRs:
+         * Read the ELRSR to find out which of our LRs have been cleared
+         * by the guest. We just need to know the IRQ number for those, wh=
ich
+         * we could save in an array when populating the LRs.
+         * This trades one MMIO access (ELRSR) for possibly more than one =
(LRs),
+         * but requires some more code to save the IRQ number and to handl=
e
+         * those finished IRQs according to the algorithm below.
+         * We need some numbers to justify this: chances are that we don't
+         * have many LRs in use most of the time, so we might not save muc=
h.
+         */
+        gic_hw_ops->clear_lr(lr);
+
+        intid =3D lr_val.virq;
+        irq   =3D vgic_get_irq(vcpu->domain, vcpu, intid);
+
+        local_irq_save(flags);
+
+        /*
+         * We check this here without taking the lock, because the locking
+         * order forces us to do so. irq->hw is a "write-once" member, so
+         * whenever we read true, the associated hardware IRQ will not go
+         * away anymore.
+         * TODO: rework this if possible, either by using the desc pointer
+         * directly in struct vgic_irq or by changing the locking order.
+         * Especially if we ever drop the assumption above.
+         */
+        if ( irq->hw )
+        {
+            desc =3D irq_to_desc(irq->hwintid);
+            spin_lock(&desc->lock);
+        }
+
+        spin_lock(&irq->irq_lock);
+
+        /*
+         * If a hardware mapped IRQ has been handled for good, we need to
+         * clear the _IRQ_INPROGRESS bit to allow handling of new IRQs.
+         *
+         * TODO: This is probably racy, but is so already in the existing
+         * VGIC. A fix does not seem to be trivial.
+         */
+        if ( irq->hw && !lr_val.active && !lr_val.pending )
+            clear_bit(_IRQ_INPROGRESS, &desc->status);
+
+        /* Always preserve the active bit */
+        irq->active =3D lr_val.active;
+
+        /* Edge is the only case where we preserve the pending bit */
+        if ( irq->config =3D=3D VGIC_CONFIG_EDGE && lr_val.pending )
+        {
+            irq->pending_latch =3D true;
+
+            if ( vgic_irq_is_sgi(intid) )
+                irq->source |=3D (1U << lr_val.virt.source);
+        }
+
+        /* Clear soft pending state when level irqs have been acked. */
+        if ( irq->config =3D=3D VGIC_CONFIG_LEVEL && !lr_val.pending )
+            irq->pending_latch =3D false;
+
+        /*
+         * Level-triggered mapped IRQs are special because we only
+         * observe rising edges as input to the VGIC.
+         *
+         * If the guest never acked the interrupt we have to sample
+         * the physical line and set the line level, because the
+         * device state could have changed or we simply need to
+         * process the still pending interrupt later.
+         *
+         * If this causes us to lower the level, we have to also clear
+         * the physical active state, since we will otherwise never be
+         * told when the interrupt becomes asserted again.
+         */
+        if ( vgic_irq_is_mapped_level(irq) && lr_val.pending )
+        {
+            ASSERT(irq->hwintid >=3D VGIC_NR_PRIVATE_IRQS);
+
+            irq->line_level =3D gic_read_pending_state(desc);
+
+            if ( !irq->line_level )
+                gic_set_active_state(desc, false);
+        }
+
+        spin_unlock(&irq->irq_lock);
+        if ( desc )
+            spin_unlock(&desc->lock);
+        local_irq_restore(flags);
+
+        vgic_put_irq(vcpu->domain, irq);
+    }
+
+    gic_hw_ops->update_hcr_status(GICH_HCR_EN, false);
+    vgic_cpu->used_lrs =3D 0;
+}
+
+/* Requires the irq to be locked already */
+void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq *irq, int lr)
+{
+    struct gic_lr lr_val =3D { 0 };
+
+    lr_val.virq          =3D irq->intid;
+
+    if ( irq_is_pending(irq) )
+    {
+        lr_val.pending =3D true;
+
+        if ( irq->config =3D=3D VGIC_CONFIG_EDGE )
+            irq->pending_latch =3D false;
+
+        if ( vgic_irq_is_sgi(irq->intid) &&
+             vcpu->domain->arch.vgic.version =3D=3D VGIC_V2 )
+        {
+            uint32_t src =3D ffs(irq->source);
+
+            BUG_ON(!src);
+            lr_val.virt.source =3D (src - 1);
+            irq->source &=3D ~(1 << (src - 1));
+            if ( irq->source )
+                irq->pending_latch =3D true;
+        }
+    }
+
+    lr_val.active =3D irq->active;
+
+    if ( irq->hw )
+    {
+        lr_val.hw_status =3D true;
+        lr_val.hw.pirq   =3D irq->hwintid;
+        /*
+         * Never set pending+active on a HW interrupt, as the
+         * pending state is kept at the physical distributor
+         * level.
+         */
+        if ( irq->active && irq_is_pending(irq) )
+            lr_val.pending =3D false;
+    }
+    else
+    {
+        if ( irq->config =3D=3D VGIC_CONFIG_LEVEL )
+            lr_val.virt.eoi =3D true;
+    }
+
+    /*
+     * Level-triggered mapped IRQs are special because we only observe
+     * rising edges as input to the VGIC.  We therefore lower the line
+     * level here, so that we can take new virtual IRQs.  See
+     * vgic_v2_fold_lr_state for more info.
+     */
+    if ( vgic_irq_is_mapped_level(irq) && lr_val.pending )
+        irq->line_level =3D false;
+
+    /* The GICv2 LR only holds five bits of priority. */
+    lr_val.priority =3D irq->priority >> 3;
+
+    gic_hw_ops->write_lr(lr, &lr_val);
+}
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index b9463a5f27..97ca827fc4 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -520,7 +520,14 @@ retry:
=20
 static void vgic_fold_lr_state(struct vcpu *vcpu)
 {
-    vgic_v2_fold_lr_state(vcpu);
+    if ( vcpu->domain->arch.vgic.version =3D=3D GIC_V2 )
+    {
+        vgic_v2_fold_lr_state(vcpu);
+    }
+    else
+    {
+        vgic_v3_fold_lr_state(vcpu);
+    }
 }
=20
 /* Requires the irq_lock to be held. */
@@ -529,7 +536,14 @@ static void vgic_populate_lr(struct vcpu *vcpu,
 {
     ASSERT(spin_is_locked(&irq->irq_lock));
=20
-    vgic_v2_populate_lr(vcpu, irq, lr);
+    if ( vcpu->domain->arch.vgic.version =3D=3D GIC_V2 )
+    {
+        vgic_v2_populate_lr(vcpu, irq, lr);
+    }
+    else
+    {
+        vgic_v3_populate_lr(vcpu, irq, lr);
+    }
 }
=20
 static void vgic_set_underflow(struct vcpu *vcpu)
diff --git a/xen/arch/arm/vgic/vgic.h b/xen/arch/arm/vgic/vgic.h
index 534b24bcd3..2819569f30 100644
--- a/xen/arch/arm/vgic/vgic.h
+++ b/xen/arch/arm/vgic/vgic.h
@@ -70,8 +70,19 @@ void vgic_v2_enable(struct vcpu *vcpu);
 int vgic_v2_map_resources(struct domain *d);
 int vgic_register_dist_iodev(struct domain *d, gfn_t dist_base_fn,
                              enum vgic_type);
+#ifdef CONFIG_GICV3
+void vgic_v3_fold_lr_state(struct vcpu *vcpu);
+void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq *irq, int lr);
+#else
+static inline void vgic_v3_fold_lr_state(struct vcpu *vcpu)
+{
+}
+static inline void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq =
*irq, int lr)
+{
+}
+#endif /* CONFIG_GICV3 */
=20
-#endif
+#endif /* __XEN_ARM_VGIC_VGIC_H__ */
=20
 /*
  * Local variables:
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630302.983080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R3z-0003Lo-NL; Fri, 10 Nov 2023 12:56:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630302.983080; Fri, 10 Nov 2023 12: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 1r1R3z-0003IE-8p; Fri, 10 Nov 2023 12:56:43 +0000
Received: by outflank-mailman (input) for mailman id 630302;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3w-0001y1-Bj
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:40 +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 94bb3bf0-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:37 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvc025691; Fri, 10 Nov 2023 12:56:27 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-6
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:26 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:20 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 94bb3bf0-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L5bVoaHtf9hbfKEfPq+WKJEeFvOK9PVEaZ731Bk8Q92uFWHuIezEtaPZc2JXmBaEt18pWYEkQo344KBoKRHNGDSSYklg3BOKCOe4iA3sqKLyXA5X77ycK43qFKUwkvctIoTvUbZVWF49nXpdrYvjM96xo9Rc2J+4PN3JsaTtGQi2iZINqPp1D885T/zPLdjDQU9QKC/peyQhq8cmtxX01wxbSSMmJlThXT06P4YDpU4AoKDS1vR03qnjrBdAXlXRJ/0ObMaZISjrbjaVJnp6q+R05oEDjWkNey6fveQAwGXH+DXGRRwYt7shoZTJYbE9HyGTbmMvN3Y1wXrJ7bk9hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LBDVOyba/BI30WH6KKbB8Uk/B+zX3ZAsejH38vpaBkc=;
 b=ZoaDWZ9GamKaLk2O5bkA8irxeorDFJcIVW13Uhi9gqFd5Od7pvWSZTQqpR+JBzu+apIQmHN9nuSjtuB/lodUfb6BxVVIKbeU7JB+IqXcRL775gI48zExEmhCTPypab+y3CtnHC4DwpIHJdj7FaUuChUcIiNJj8AKrErxuK7uUMAKoxKslSAHGQm76j2GTlST/4bUTSFjED1KF8BERahDqmYbGYcFyMHJKt3vyijWLtF0gbMvTN2XSDdHnpSi5vokOaz53F4p74ErulR9tCojAnfQX9u+901E8piqBIZE/UKJdXdHYso/mHO8EBfNSYRoZwP4OfU8vVst19Me5MX3FQ==
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=LBDVOyba/BI30WH6KKbB8Uk/B+zX3ZAsejH38vpaBkc=;
 b=qxkN6sMV1jhWw7E2lLql/Ynf8bmJ/jUjlImF/IaWOF1rNESiKqiY1G/fIPITWLm1wgwnl1G0bqdVFRRp18oLmYK73CFS4JcvklGDOISftUiZj7Y3RC3graXOg/dL9xmB5lUXmf7pMb5m0sFef1gNLRFzuGgCVHn2bLT8pkRNqb6aCyjXGWV8jJDTHavqQBIVuBnSl0pj8onVI5cR7/B5izrt+rqoGv0XOmgSTbD6bJVVqyfuZKyNmtnXZWkgGPeM3LUoijBbKxxveNYlkcrtCXbspBAgT01Q4C7g5W3FnMBLZTR1JzELfgAtOBW9EjswuIiCg5qh3c7w6yYgtBkOxA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 09/25] arm: new VGIC: vgic_init: implement
 map_resources
Thread-Topic: [XEN PATCH v2 09/25] arm: new VGIC: vgic_init: implement
 map_resources
Thread-Index: AQHaE9VMePQXqYRQtUG5KTRNHOZuvw==
Date: Fri, 10 Nov 2023 12:56:19 +0000
Message-ID: 
 <c89e43a412d1805dc988d1b8145695f85da3e112.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: 2c58c5b2-7f8c-48cc-7889-08dbe1ec6fbf
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 PkzxPl5B/QmsrBEsUDDqpZkFYvOvdWfIS8Xrfo9nD/dZMUO3UjNImN5SiGZlhpUyittFr0ZlwnU/GtqqrY9bUn/ntU9Ix6/3ZwQWlhPR5p9lXpEy/yTgf6ESdjW7KrFcFWZBKiUUmPH5XsaBTausPgDyqyV1WGZkRrM9jEtEftNgZH60uUsHw8YRFV1k2J/3rDN0RGdSLQiBQdDNnAAkmjxg8v4icaS2cGmJPAyi9LA+gXMX5gwArGYto/2d81nRPHtxytq6ZAPuVdAlPSok9mCybDt6v8a183J6rJJX3snHlNoFvS7zDFmgwq7/QWLI78URg6kaZa8B/rnlr3RfNL5tbqfmcNGui/ysnG4rWFQS+6lg1ViSbdvHbItUH3Lq8k1VIYOTVQo5gWfUx9fT9+AQK8rGRSryLnLp5/GkxiLaXJk5woy9UbnlaMTnepPjNjof7tpPZu/Cxx/ha13eAbIBU2PfQ68I8WUCJgsfF50L8lD5fBbGi2WqcEkhmJ87KdS0W5ttbs3g86NEoLaGQLbOkVBVsa7pyTimztHG0GfLm/x/q0Av9JFacOZybX8pNnK+Wiok84rrQfgumSraP6yYPe/Q9ipITU/QYL5reLg=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?fJyGsfRLBczsfPEqRRa01ztgP+UAGIMwOTGEQf7Pv33x6Trhfg62bMDB9t?=
 =?iso-8859-1?Q?K6a14T4ohBzRngFwqc+TFOzW1zBcPwBsQQ+dfRYM9KE/dx1v6iMz6R0WXQ?=
 =?iso-8859-1?Q?9rCzp7Fbv8Mvxl66zTVrwmturERReYr/gWNc73Xz1vJ1Z7l6rQOxnfdziE?=
 =?iso-8859-1?Q?mSie03C3Gyth78IdhVWtF+3lQq2mO96kCLtOzMA9ZQX6VMIujhPt0nfGVf?=
 =?iso-8859-1?Q?kdBPnoGB0udy80aJxQwDOsCtulYxaafAtJvbZUP0Tbp6f1m0M4wms3eYGj?=
 =?iso-8859-1?Q?WtUJv1mLfQcxazNcGg4+m6RwigG82kh58cudJBgDDJLP4vt6vhMQDDcmnO?=
 =?iso-8859-1?Q?QUMMeCGCNhQTkyZvnmnnAhl9iObXcWgdGcEudQ3mCbPAGzRIj8pwPWEAPd?=
 =?iso-8859-1?Q?VRoU9cdvFmphhRlJKl4SbKkzLycGTEknoiSfdXv8cwMAiCWqs1iOC3WqrW?=
 =?iso-8859-1?Q?m/TAXS1PW8tP8u8+QQctSbc0nvAMAN71YMCvQq3m2wM8lDwgEvmffvwgrB?=
 =?iso-8859-1?Q?ecxnpuIGOkxzYfEXORjiayrZwHXEmykiANu2PQKxPqszYKzzECESEZi6/o?=
 =?iso-8859-1?Q?YaTGTJMT3+AeNzes+ZB/Nxn49fkj3JFuJCd77PGq5Epw3jagGxWIxVHyCR?=
 =?iso-8859-1?Q?ak3ZkLNmGKwqHoEoqeurzBAlV+AdbTYP+ZVGD3QjRF8bKvr2QOPMmuqcbd?=
 =?iso-8859-1?Q?ZvuSjQO8gAjDF4fbh1aZF4Aa3sfQA7vj6qQV6mAAaXSKdfu25+mgqJ5mxA?=
 =?iso-8859-1?Q?g/DccID8MmJhdAbNJMOzNdvVLNrw6nXPf5+7ipLF4p6cF5bnJVk9uN5+rY?=
 =?iso-8859-1?Q?YTSFJpF9EDLQGGz/3XA7q969yeiJfHHOoYWW0K7V84bnnQXbvZUKRUR0Ao?=
 =?iso-8859-1?Q?fSF9xmeOPc2XsnqPC5ghPrvfhhEm6xUtDLPNtpzZ5vp7y22FY3Ra/ixni1?=
 =?iso-8859-1?Q?EgTkAnxtokrjPVoA4T2+IrQx1/opJUC4YVGWvBrIJ5nrGN8iMFpTH4ZLGO?=
 =?iso-8859-1?Q?x2Mif8ZJ5sk8WuSdcFsm8YELAqHrTTbqpfI/kMcNzZ+753rFsXKt2sGgHp?=
 =?iso-8859-1?Q?TLfnUlkjC5Bdw32F8hP4UHrqLfGlQpKi6ZLbTiGz9R6ZfRK9jx+SR78t1D?=
 =?iso-8859-1?Q?GYmxW+QAiZ1L9g9PDxGMhsMzz9cy0Tip5jYzxgIIsOAONhCOAPwc4424BQ?=
 =?iso-8859-1?Q?egvYi9ZPAcdXu9+3u4m/PqrbSmN0QnFq2Gr8BqPtbGJnFVx8JlDaJgiMLn?=
 =?iso-8859-1?Q?WPpGREuvDEEKZ8dJtDG29Er8rcBLWrdZ+rPEIkm45wBNyzYtKlZsZB9F3W?=
 =?iso-8859-1?Q?p3v4hjs2LLTuA2HrvWVH+3Z/QzIch5LJgfjOMQ1E+DptxlmUghjS688SYO?=
 =?iso-8859-1?Q?J3Eh9PLRw65bmPZbJ14RWF6S4CWB9G6NGsuNR5EW2RGHp3TjxD3QZpICsj?=
 =?iso-8859-1?Q?AHCgioaN3Z4mDCxkegLjDxKb9MSPn6OL87l7h0BMnqP+hGc/9gI2+noutE?=
 =?iso-8859-1?Q?78IwCWYrbjopCFpOKdZKJE+CV87/hrpraz+Q28fuQrSbG8sO4tDPEaMXxu?=
 =?iso-8859-1?Q?l9+kbl+t/x3wq7obLgB4NtlLSt7gsqBLWH20q+QtDSamT+tOdYSjQOQSiU?=
 =?iso-8859-1?Q?2ZbCaOizXW+NCbaZ+SzKnFeqeXrHSfq3BmorP6a/z8bkcvSQ4nd3vpWQ?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c58c5b2-7f8c-48cc-7889-08dbe1ec6fbf
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:19.0708
 (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: qHB946+1kfUjcY0U/ZYmcQXwJYpYASYLrVJoA30wclSDYG5DwNY/EPpQ0zLxbgMW4rHHJSmrRKXC8A6aequnIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: GE0xtHXiOjiNtZbiYNHVHIKMpUx1L2Id
X-Proofpoint-GUID: GE0xtHXiOjiNtZbiYNHVHIKMpUx1L2Id
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=714
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

map_resources is the last initialization step needed before the first
VCPU is run. At that stage the code stores the MMIO base addresses used.
Also it registers the respective register frames with the MMIO framework.

This is based on Linux commit b0442ee227e826af by Eric Auger

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-init.c |  2 +-
 xen/arch/arm/vgic/vgic-v3.c   | 85 +++++++++++++++++++++++++++++++++++
 xen/arch/arm/vgic/vgic.c      | 13 +-----
 xen/arch/arm/vgic/vgic.h      |  5 +++
 4 files changed, 93 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/vgic/vgic-init.c b/xen/arch/arm/vgic/vgic-init.c
index c3b34be192..ca13cf385c 100644
--- a/xen/arch/arm/vgic/vgic-init.c
+++ b/xen/arch/arm/vgic/vgic-init.c
@@ -178,7 +178,7 @@ int domain_vgic_init(struct domain *d, unsigned int nr_=
spis)
     if ( dist->version =3D=3D GIC_V2 )
         ret =3D vgic_v2_map_resources(d);
     else
-        ret =3D -ENXIO;
+        ret =3D vgic_v3_map_resources(d);
=20
     if ( ret )
         return ret;
diff --git a/xen/arch/arm/vgic/vgic-v3.c b/xen/arch/arm/vgic/vgic-v3.c
index b018ee6040..470bb63147 100644
--- a/xen/arch/arm/vgic/vgic-v3.c
+++ b/xen/arch/arm/vgic/vgic-v3.c
@@ -14,11 +14,33 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 #include <asm/new_vgic.h>
+#include <asm/gic_v3_defs.h>
 #include <asm/gic.h>
 #include <xen/sched.h>
=20
 #include "vgic.h"
=20
+static struct {
+    bool enabled;
+    /* Distributor interface address */
+    paddr_t dbase;
+    /* Re-distributor regions */
+    unsigned int nr_rdist_regions;
+    const struct rdist_region *regions;
+    unsigned int intid_bits; /* Number of interrupt ID bits */
+} vgic_v3_hw_data;
+
+void vgic_v3_setup_hw(paddr_t dbase, unsigned int nr_rdist_regions,
+                      const struct rdist_region *regions,
+                      unsigned int intid_bits)
+{
+    vgic_v3_hw_data.enabled          =3D true;
+    vgic_v3_hw_data.dbase            =3D dbase;
+    vgic_v3_hw_data.nr_rdist_regions =3D nr_rdist_regions;
+    vgic_v3_hw_data.regions          =3D regions;
+    vgic_v3_hw_data.intid_bits       =3D intid_bits;
+}
+
 /*
  * transfer the content of the LRs back into the corresponding ap_list:
  * - active bit is transferred as is
@@ -204,3 +226,66 @@ void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgi=
c_irq *irq, int lr)
=20
     gic_hw_ops->write_lr(lr, &lr_val);
 }
+
+unsigned int vgic_v3_max_rdist_count(const struct domain *d)
+{
+    /*
+     * Normally there is only one GICv3 redistributor region.
+     * The GICv3 DT binding provisions for multiple regions, since there a=
re
+     * platforms out there which need those (multi-socket systems).
+     * For domain using the host memory layout, we have to live with the M=
MIO
+     * layout the hardware provides, so we have to copy the multiple regio=
ns
+     * - as the first region may not provide enough space to hold all
+     * redistributors we need.
+     * All the other domains will get a constructed memory map, so we can =
go
+     * with the architected single redistributor region.
+     */
+    return domain_use_host_layout(d) ? vgic_v3_hw_data.nr_rdist_regions
+                                     : GUEST_GICV3_RDIST_REGIONS;
+}
+
+int vgic_v3_map_resources(struct domain *d)
+{
+    int rdist_count, i, ret;
+
+    /* Allocate memory for Re-distributor regions */
+    rdist_count =3D vgic_v3_max_rdist_count(d);
+
+    /*
+     * For domain using the host memory layout, it gets the hardware
+     * address.
+     * Other domains get the virtual platform layout.
+     */
+    if ( domain_use_host_layout(d) )
+    {
+        d->arch.vgic.dbase =3D vgic_v3_hw_data.dbase;
+
+        for ( i =3D 0; i < vgic_v3_hw_data.nr_rdist_regions; i++ )
+        {
+            vgic_v3_set_redist_base(d, i, vgic_v3_hw_data.regions[i].base,
+                                    vgic_v3_hw_data.regions[i].size /
+                                        GICV3_GICR_SIZE);
+        }
+    }
+    else
+    {
+        d->arch.vgic.dbase =3D GUEST_GICV3_GICD_BASE;
+
+        /* A single Re-distributor region is mapped for the guest. */
+        BUILD_BUG_ON(GUEST_GICV3_RDIST_REGIONS !=3D 1);
+
+        /* The first redistributor should contain enough space for all CPU=
s */
+        BUILD_BUG_ON((GUEST_GICV3_GICR0_SIZE / GICV3_GICR_SIZE) <
+                     MAX_VIRT_CPUS);
+        vgic_v3_set_redist_base(d, 0, GUEST_GICV3_GICR0_BASE,
+                                GUEST_GICV3_GICR0_SIZE / GICV3_GICR_SIZE);
+    }
+
+    /* Register mmio handle for the Distributor */
+    ret =3D
+        vgic_register_dist_iodev(d, gaddr_to_gfn(d->arch.vgic.dbase), VGIC=
_V3);
+
+    d->arch.vgic.ready =3D true;
+
+    return 0;
+}
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index 946877bbac..2f9644dc18 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -968,23 +968,14 @@ unsigned int vgic_max_vcpus(unsigned int domctl_vgic_=
version)
     {
     case XEN_DOMCTL_CONFIG_GIC_V2:
         return VGIC_V2_MAX_CPUS;
+    case XEN_DOMCTL_CONFIG_GIC_V3:
+        return VGIC_V3_MAX_CPUS;
=20
     default:
         return 0;
     }
 }
=20
-#ifdef CONFIG_GICV3
-/* Dummy implementation to allow building without actual vGICv3 support. *=
/
-void vgic_v3_setup_hw(paddr_t dbase,
-                      unsigned int nr_rdist_regions,
-                      const struct rdist_region *regions,
-                      unsigned int intid_bits)
-{
-    panic("New VGIC implementation does not yet support GICv3\n");
-}
-#endif
-
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/vgic/vgic.h b/xen/arch/arm/vgic/vgic.h
index 0e0cf7b213..7dbadf7501 100644
--- a/xen/arch/arm/vgic/vgic.h
+++ b/xen/arch/arm/vgic/vgic.h
@@ -74,6 +74,7 @@ int vgic_register_dist_iodev(struct domain *d, gfn_t dist=
_base_fn,
 #ifdef CONFIG_GICV3
 void vgic_v3_fold_lr_state(struct vcpu *vcpu);
 void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq *irq, int lr);
+int vgic_v3_map_resources(struct domain *d);
 bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, union hsr hsr);
 unsigned int vgic_v3_init_dist_iodev(struct vgic_io_device *dev);
 int vgic_v3_set_redist_base(struct domain *d, u32 index, u64 addr, u32 cou=
nt);
@@ -85,6 +86,10 @@ static inline void vgic_v3_fold_lr_state(struct vcpu *vc=
pu)
 static inline void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq =
*irq, int lr)
 {
 }
+static inline int vgic_v3_map_resources(struct domain *d)
+{
+    return 0;
+}
 static inline unsigned int vgic_v3_init_dist_iodev(struct vgic_io_device *=
dev)
 {
     return 0;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630303.983086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R40-0003XH-Fh; Fri, 10 Nov 2023 12:56:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630303.983086; Fri, 10 Nov 2023 12:56: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 1r1R40-0003Vj-3L; Fri, 10 Nov 2023 12:56:44 +0000
Received: by outflank-mailman (input) for mailman id 630303;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3x-0001y1-Bp
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:41 +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 95e99666-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:38 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACHn4p029609; Fri, 10 Nov 2023 12:56:30 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3u93ptjrxk-4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:30 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by AM0PR03MB6244.eurprd03.prod.outlook.com
 (2603:10a6:20b:158::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.21; Fri, 10 Nov
 2023 12:56:26 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12: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: 95e99666-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c63QVfsZewcF1pWl26rSCmI8aikPmmNMdhmvOPBfUUhQeeXO5k/WuMsCcmYwTxXpCfO/AmLrnH1b5O8eNfbEfjCyjd5/+VzvpSUSTitAvfGwhVS9o+nu3IS7nEm3Kn5IsE8I7elEtd1bmLNUtP0as2boFaLyDVAOtZ+PiMjplVGbv8xpEl0QSjTgfROA91oxOhNpz8o7DQ50RxbxO5nHVwM4u4qILMBf+sjHrIvc7qQ3zpnELrCSyQMu0AhB845S7A/+TqcBGthZ5dPV6qtworo8wJNmmcF/AvL+udSqVI/jmH1KWPhTQmjvkZwSVjPJdlGvAXLwbeUdD11lSkBdlQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Essb1Ld/1j1kT+sD5meqRu42KXbfpKOnx9aVBNLbuT0=;
 b=JHqFEL3swVJGriUuAufGagmNbwJHARD27sO97vBV0IVNmOAeWTdP9esqyKaII2xRx77q7N8skwm3lkxt21Nw9GFCtdW9AM1OhmYdd64T0wIgBMYqalwuWv9riYEvwsVqaTUiRaDzp/+69D0nUL0D9ga7jM+22lW3ky+LeRu5mj+tUMGeCzvfeXaXVEUDg17ALTPjKVV1aixY+XcboFYZuhlL4BqrKvkcSEPnaEywWw7MYhJd1iuZ9oBFXGiMPof35DME3Tk9YqMscEmCni4ZKxXgiIsYOZjuvvOQZzzdKXCyrV+aAruIDmDo0v4Rp+15P7psDZjVj3KJTTb2vR30Og==
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=Essb1Ld/1j1kT+sD5meqRu42KXbfpKOnx9aVBNLbuT0=;
 b=sNV6GEB6/LdzZyLvNa7HxTbKQmHUSa7NymfYOtixAaiwinKEPgbc9ntoux9skJ01vSoVoq41FAH9WvL8Lfd1mILUNl0LqXHPe13vah+bZR3CBDJC9+QpqnKnHf0VmbqNgd802yWwPFUFj2pPh27ig0/i9UkuclFxFW6Ek3XWo1uoJlpOITnE2F73x1r3xQr8UUw16vgheYQaMDrKu9bxFWndLq7unthnnvKji5cqIavsWg1LMMIHnnapEojXutLxiATSuCx34EiKtX4P+CaYWkxY52A1nZ92WpJnGl+6LX+B7MSjKptAfbdnDZPl3CiUtkAlBBXV2+vaWTqfi1uXdA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 25/25] arm: new VGIC: Improve MMIO handling
Thread-Topic: [XEN PATCH v2 25/25] arm: new VGIC: Improve MMIO handling
Thread-Index: AQHaE9VPvUK8VLpzMkyL6GJ3SfoYcA==
Date: Fri, 10 Nov 2023 12:56:24 +0000
Message-ID: 
 <86465b3762ed8c9cdd24752792d0ca0e19698d22.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AM0PR03MB6244:EE_
x-ms-office365-filtering-correlation-id: c10c18bb-b423-4a97-c8df-08dbe1ec7338
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 WaG648WEIxuUbX/Oa/9TeYfNtcsrr6ZSiNUSLrkbUcFk9r8JJIJ17TlyUAePUANS9Hs9Laiql9L/aiXm7TQ0hma6oyL3TQTGfMlK992oahnMX9Aq9snWAI3ypZeg43a+fw4yaXV8XLmA6S4MDOU717HV3FGxLi0xPnoWEeqquOhzD9n/81T924XbUlu2pixQP70BMODdGArU84lDxVUBKFk42xWo0KwDTi7HjB7AEvrURbzUpq9A9C/0cbpltUAOYmp3f2IkyUapDHHi/QxXCz79WRxPzcLwuc+321QitKaLURQn3AAslNQHFBgsQN0GnHOCg1PgYeJnKB2oLbWNTdMi0Tu668go2pS/Jt0k1oWuA1To0bcaqGOKj97zmGdIxWYTiJCZYNScEUuI3UwAe0oTziT/WqjXXLb0s45OYZ2WLs/EfdbhRnryocgZx1keZgmz11o+hm6S0ZImTDdXv0zUvQ2vOWWtm/xOtlRIMsTpKvbDPoaz7iIZQA/87RoZ+qlSZ+KWkjZ4TYBJ9YFCgPqu3TEHscC6tdDz2A7ITfKmymk+0iuAhTpwok6dlZ8iztc03LWoX7RiQtc7xFatKzt0DKWlf12/R7StZi5qSz+v1OJg7SEN9Vqh6pKnPewF
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(396003)(39860400002)(346002)(136003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(5660300002)(41300700001)(2906002)(83380400001)(26005)(8676002)(4326008)(8936002)(122000001)(54906003)(64756008)(316002)(6916009)(2616005)(38100700002)(76116006)(66556008)(66476007)(91956017)(66446008)(66946007)(38070700009)(6512007)(6506007)(478600001)(6486002)(36756003)(71200400001)(86362001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?FhkxuoYfwRsvYQke8HuDW0cdZ5YbhRAOD5SCgJGGd6ZrZK6snCwg82RCiQ?=
 =?iso-8859-1?Q?Gc6kLNBf6vJJfu0/+5VO+GrSBk7b1JQMNkrhPJVwC46uHsD7WmzC/Wq2Ma?=
 =?iso-8859-1?Q?CaaHKZcqh3lzxG5hw1v6JcNlBm/EpRzsN4TqNc+ffLh4buKUlZaRk5hkJN?=
 =?iso-8859-1?Q?pxEER+Rs77ApHZ+rxuLi9ybFB5uDQf2EKw3wvT9urbjOiylknv2K4V5h1s?=
 =?iso-8859-1?Q?KMwfkGpFexwCyDM8p+81Ks0AEVhUWCiyhJyB/turtkEeunMRNVeMg4YRcJ?=
 =?iso-8859-1?Q?nvGuuSVyHLYzU5JTw4EIhC4gBRZ19s7eeztv0R7jOMm+r6SeEfWw3vZem1?=
 =?iso-8859-1?Q?dE97oN+6TwC0ZsJlK4ApABiD/QPNWTm2I2TK+tWk52n3jLIC2vFPbjQq4A?=
 =?iso-8859-1?Q?9JF2CZ5EsN1Sb/3SkWuG/4N7n11QKXGollu6P05TAAJZ0UWLBwu5z6mUNt?=
 =?iso-8859-1?Q?6LizCJxJF+dysCgKFE0lKFBaICEe9KhIMvoiDvJ1cWAuL8umPzvuI8VeaW?=
 =?iso-8859-1?Q?N40E7wrGxGFrb6acHnAXYFIINNM9QK7R3B1Fuo0vvjlZZxIrTzLmJ1sRo0?=
 =?iso-8859-1?Q?Wfh0Ck70dN/VZk8B7d1+jSofVhHA7CONQ5pnRGbeQ9uN05zQ6ZksbzbU0U?=
 =?iso-8859-1?Q?xrh8VyKQueQyM9CAq1GP4FAXYGFvqvmgP8ujFi5LfTXd5dYSAu4PJb1N61?=
 =?iso-8859-1?Q?aT9iDJ4ab5IhTdAzg91Ex6FmZjYz369P7mkm6YtX4i09ikwv1fIpGiGWTn?=
 =?iso-8859-1?Q?5UrgsnCT2yW1dB5zSCisxSpvF7gnJOCS0TPFc/CQMmH9ILr4hf9WMOHxOJ?=
 =?iso-8859-1?Q?7M/Hq5DWzUZtBUuCYL61yx1qSK/EcukpCZQLMQ6pIN/RzZ5XDgaNGzv/UT?=
 =?iso-8859-1?Q?05KWfGPCAqd0v4TNwQpJRYsFBLmAOE1tRCNNkzSZEH7US/JMaLtw7UUX2n?=
 =?iso-8859-1?Q?hy3UVJ7UpDYzd87XJsH/fSR7gMUpU1dGnUzOw5AhhOhLxyg8sjShtqZ1Zq?=
 =?iso-8859-1?Q?3oVJGByhWpkqrDfJyctfmL74iijHIl7aeibU49/+dYmUWGIfwiSMKhzA6v?=
 =?iso-8859-1?Q?0EWEIE51FpYx4B7XRgPZm+qOzyV5C/LMl4W27gQd2x+vBwZFYSwaHu1+Kd?=
 =?iso-8859-1?Q?+0MAcpje5frBLKgJv22fTSS65bsgd4x2rkFW+LwWfv75t2PHfqva0osBVg?=
 =?iso-8859-1?Q?B8BlSiu00LsDtK4eir2QWgWKRXLSAP2zhmkxyMjM7AyKTBIfGTLB+tzY34?=
 =?iso-8859-1?Q?w2liS0umC2mAgl9Gv75/DuCbxNLWS9ZoRLZ+gpmnvs8+TFom0Jy1yqoQMm?=
 =?iso-8859-1?Q?SWfS+f/1/2zHWkdUwxVRil7wDIULBLvX/b3VHLW8ix0ghNv66MD27iJRd2?=
 =?iso-8859-1?Q?CJNXPQvGhNpqN9X5XQLo+nW2tshLGWfFcFpbWgOG6oXS29APXSvZr02zH5?=
 =?iso-8859-1?Q?pmJSVsRXaPmJYKU8UYy4Mb3g1plZK2+agvYEhC1cUx9M5mPTiXPs89rPG7?=
 =?iso-8859-1?Q?E0k855C9Nt5XELUVCPHQw7b17jj/8wWs3vIYtbWT8+4KTIRvJ3MF0sTw/F?=
 =?iso-8859-1?Q?DujK0oS15dNjhggv2rvlsGe4kUYBcsyL9CsfzzS4vFD7UVIN/HFdtEGe9j?=
 =?iso-8859-1?Q?IgO9D8Td1H2PygvpCzhLOMFz9Yh42280F9f9qMX9m0nokY03U+Jtua5Q?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c10c18bb-b423-4a97-c8df-08dbe1ec7338
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:24.5661
 (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: gQn2UEzqJBNOz6AO6CZuTX/LsBYFiR3c3rcv+m7enJhUM6gKSTzHb/KyS08/Cbyp66AABrl0McVvHx+mhHfIUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB6244
X-Proofpoint-ORIG-GUID: Fpgoxg6hpt-rrGfZtlI9QyKkLHsnyNb0
X-Proofpoint-GUID: Fpgoxg6hpt-rrGfZtlI9QyKkLHsnyNb0
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0
 spamscore=0 suspectscore=0 clxscore=1015 impostorscore=0 mlxlogscore=356
 mlxscore=0 adultscore=0 priorityscore=1501 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Currently the full register address is used in VGIC MMIO handlers. This
can cause issues when VGIC_ADDR_TO_IRQ_MASK overlaps with the base address.
For example the current GUEST_GICV3_GICD_BASE overlaps with addr to irq
mask for 64 bit registers, causing intids to be calculated incorrectly.

This patch fixes the issue by subtracting the base address from the full
register address before passing it to the MMIO handlers. Thus giving the
MMIO handler only the relevant offset.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-mmio.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
index 7a28be53bc..abf7854af0 100644
--- a/xen/arch/arm/vgic/vgic-mmio.c
+++ b/xen/arch/arm/vgic/vgic-mmio.c
@@ -540,7 +540,7 @@ vgic_get_mmio_region(struct vcpu *vcpu, struct vgic_io_=
device *iodev,
=20
     region =3D vgic_find_mmio_region(iodev->regions, iodev->nr_regions,
                                    addr - gfn_to_gaddr(iodev->base_fn));
-    if ( !region || !check_region(vcpu->domain, region, addr, len) )
+    if ( !region || !check_region(vcpu->domain, region, addr - gfn_to_gadd=
r(iodev->base_fn), len) )
         return NULL;
=20
     return region;
@@ -565,13 +565,13 @@ static int dispatch_mmio_read(struct vcpu *vcpu, mmio=
_info_t *info,
     switch (iodev->iodev_type)
     {
     case IODEV_DIST:
-        data =3D region->read(vcpu, addr, len);
+        data =3D region->read(vcpu, addr - gfn_to_gaddr(iodev->base_fn), l=
en);
         break;
     case IODEV_REDIST:
-        data =3D region->read(iodev->redist_vcpu, addr, len);
+        data =3D region->read(iodev->redist_vcpu, addr - gfn_to_gaddr(iode=
v->base_fn), len);
         break;
     case IODEV_ITS:
-        data =3D region->its_read(vcpu->domain, iodev->its, addr, len);;
+        data =3D region->its_read(vcpu->domain, iodev->its, addr - gfn_to_=
gaddr(iodev->base_fn), len);;
         break;
     }
=20
@@ -596,13 +596,13 @@ static int dispatch_mmio_write(struct vcpu *vcpu, mmi=
o_info_t *info,
     switch (iodev->iodev_type)
     {
     case IODEV_DIST:
-        region->write(vcpu, addr, len, data);
+        region->write(vcpu, addr - gfn_to_gaddr(iodev->base_fn), len, data=
);
         break;
     case IODEV_REDIST:
-        region->write(iodev->redist_vcpu, addr, len, data);
+        region->write(iodev->redist_vcpu, addr - gfn_to_gaddr(iodev->base_=
fn), len, data);
         break;
     case IODEV_ITS:
-        region->its_write(vcpu->domain, iodev->its, addr, len, data);
+        region->its_write(vcpu->domain, iodev->its, addr - gfn_to_gaddr(io=
dev->base_fn), len, data);
         break;
     }
=20
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630304.983095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R41-0003nH-Nz; Fri, 10 Nov 2023 12:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630304.983095; Fri, 10 Nov 2023 12:56: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 1r1R41-0003jW-0p; Fri, 10 Nov 2023 12:56:45 +0000
Received: by outflank-mailman (input) for mailman id 630304;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3x-0001y0-5v
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:41 +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 955dff4d-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:38 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvh025691; Fri, 10 Nov 2023 12:56:31 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-11
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:31 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:24 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 955dff4d-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JqZ15/rfG7fUg7DWQvFcGgAW4ZsygIPMMMMH2NnpQ2QbD9HTg8fSrvTTdXe7jmM+uIQrsZbhrAld4MiDbYfBOLhXKvvITC+X2Za6WHC7pny/cYdb3sh5qqqnS1rSLS0cJf4sYzIjjuVtNYPn0AwpGRE2lbdjg4HySewK7S4qRqmkfKAJ1ihVBbeZa0qx5S7A6jnO3L2F/qULaZm5Vs6gHrabRlrvJvbB4v+P7/lMKdtnF0mTvk2u9ma4M61hwpK6bjSIARan0/8d/qDVkbI/ldB+V6s9AMe6QmPxHs53m30MojvQsDb2v2rzwfPjYUPxjMUMwzECWH7mjtoTRaxOkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=laODZ4Gs+y5E4svUvsfAqE5Iuee5D06nD4w3sS8JL40=;
 b=XglTUcfubP67CF3FVgVD//4DcSaDO5sIZ2vcV89JAWCR5gV8bWX9Pr+q4LkhQMt6V2fy1CaoZ4GOtSEcVbOGzOPPDTaplVSacty3sLcboTR1ywLPfhiDs3Qm5MhHQiPLYZolhdie1EJWE+NyDYLzd9uDo8CNmnGxq2reKcBKmmD3ZD8tJR0WY/2G3XwVdyve9Y4NVzFlFwWfbeIt99W1AOoCaKZ3cDWq43Qc7oFg/RnZLtLD62p61sbKwo71W5DzJMECRK/H1h64FrBl+m4GklrrTUthItvtiS/H3HXUAwxPoYS1DzhPWxWq+GofzZJMeuGfG/LrhQ3E89bwAjPx3Q==
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=laODZ4Gs+y5E4svUvsfAqE5Iuee5D06nD4w3sS8JL40=;
 b=fmyaQZ6MGWsRQn9ye21lXhGFq7RqE8A+azUklOujl22FT0T/eD/FZ3/zJey3dT1q0j4n4o+w7DXMcEwVXv+XL53ymLz0dwDmXW2bGZ2Fp6qrAtceB78sNCr5t0ggOKuoL4/5l7jDxmN7rF7YQ/AD2MGO6VfhxiTrEfyvpfFcMouI0IduFbFX1IU3YSw75bkleei2zfNb+zUNOKRdOZX9bXIUD5bzyLfnOQvaIvg9iAP5jng6sxfjmSAkh4azV5+xWBOVZDCtNpEqMNg7IktmugVOooI+ycW+Aa5MuXvHGHHjkNET/jtnVLhLgBORHBcYkoUteyusqwZQoz4dWGsG7g==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 19/25] arm: new VGIC: its: Add LPI translation cache
 definition
Thread-Topic: [XEN PATCH v2 19/25] arm: new VGIC: its: Add LPI translation
 cache definition
Thread-Index: AQHaE9VOswsQu2Pw50ypJgIWmh5TYw==
Date: Fri, 10 Nov 2023 12:56:22 +0000
Message-ID: 
 <8d747db93eb3a2afd4895d8e20b163dcd707bb33.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: 81c3897b-eec6-410e-fd19-08dbe1ec7209
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 3wmlamY3LNFeJ/yJ9+OnohN32gDRJyW9df1JCS98Cb9XNjuosKkTkeGbCq88Z5h68vc1QaixcqKyWsZxEzQipSd0CgHSCR2r675Pc/3J+myzlahiuh4HgJHWvjH01lykZP5JO1OqoqJbRjOPJzBfDuCcf3MUdPpwkbmLF+78c1zB7oDQ2PdmoGQhhcPfsgpcQYjOGRuKp/C3unlp9YBdB6i+neW3Vrl5f+b+w/AZOgvcwPQCA+wLUyh5MP9HRetjy3m0P9mR4MHUh1a+vbUScGrE+R7/AlOl9VDD5J/g+1bph+gKhsND/Gyfhe3q3mtOFXSBHIsHwNo3xZCJb/G2vOBcOazv6vN0Vp3qcZgMogNpxgBV+hlOepPsdhJYdhWbaMAU9j39VGc5/LU2zquB2IQz0cMiU8xiGjo3ItRSWjEpd3CDMZ+YEObWgyIDBbUZSnVZSZoakWJbMtXLBfPs2ni8WWOmO39R1IejZ5BR7zydZqXiwWCVOFeSUXlM8PNmJ9x8LTcwf2UEYIJhqg671eA1igcR7JrWFF+1O4cRjO9H4kB14LbkZZ4OhGYof4AP2MK3wxn8gaJiuagiIeO02OkhfItFnJHp/y9zbgNMXvAj0+LQCc031ADk/gHdSgLx
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?R/riGC6Flf7VgFyhYhrprFxVbRlR5DC2sEkQwjqFyz/I8xqCKMJIZMbQIU?=
 =?iso-8859-1?Q?VBpiJJcRpHV41U5BkNMFRk1Lk97C0i8jovEn8qKXaU3oPXlBjismK7zEUo?=
 =?iso-8859-1?Q?hW9CpgHrRaDWQrC/cwocMQArMdmtzuemnoruOWmEDNjkdTDgRRW7BE2bsZ?=
 =?iso-8859-1?Q?EnWsA2ankLazK8L5v2/miOarBjLOeMh6gToTiIZMsCjambbQkRvVTacGbO?=
 =?iso-8859-1?Q?HJ0a9UEcaI/xmZw6jvbaJ9GNOs4+10vzq8e6iWHctvk6LPQfgvrGmjAfcO?=
 =?iso-8859-1?Q?dpfNwV/cBYVFS96R4opmex4rF48nB47RliktO3e7uFVnWb0HREXpmzKk73?=
 =?iso-8859-1?Q?N308Sa2ARBg1QMVjzQe/ikljoReGFswwqcxAnvo+ASmPTd8AyuZ7ObaeNx?=
 =?iso-8859-1?Q?TywGzolJRU00bkIZEmQllzu0sKY2guf1sXAQzvTwjDeU18Qmdp59MgZcdj?=
 =?iso-8859-1?Q?DkvN99V3qTupL5poY9h3t6WfTC9TNr1wUD7clsLx/qJyD94OyZvm4X5rlk?=
 =?iso-8859-1?Q?CKDV5CTGBDhs7nFY/+K3UKjGQorwTquQuhBCzyTrjJic9r/pn3+Ur9J6sZ?=
 =?iso-8859-1?Q?Q5mVoCAqVvGfLOspxRjMpCRGsja4MmIC11NnWjKhRc4zdsbYJSuZwl6LW1?=
 =?iso-8859-1?Q?itXb/fMMv2J/7SJkUcS/QtR5ZjKzqeXM8ELb1SQ4uxYlhM9WphUuYeqnud?=
 =?iso-8859-1?Q?3Lp7CeCaMAw/1trNAJsy59MVIv2yORaH3JkfwaqQRSfvILJq4oZZwxYa/8?=
 =?iso-8859-1?Q?v0ELSsHlyeFAKM8LY2KL8UVxvij0VpNgHKc6ra2hd5X9uYvVQ28h1Yvkeh?=
 =?iso-8859-1?Q?RU3UXghzL2qkf+aaYl/5zZjM/Hfbhx6xLDZHhXICYtmfKWJgdfLG7a4wDX?=
 =?iso-8859-1?Q?D55o4qnVq5f1GEx2N+uXKEhTQXfXfu7VkhCpchCu/wKomyxK1NGBASyXnl?=
 =?iso-8859-1?Q?vMzC5B1TSaI0Uek8kbRImfZjQn+FuG/CpxBTwQMrlSudIub3iAyS8iM9k4?=
 =?iso-8859-1?Q?pDKAYFGLYf02qHmwbQmER7BFUNh5milkpBDOF9t2osNm4SmnYWLj2DFLWK?=
 =?iso-8859-1?Q?8AAUHBZLEYGfFkAN/3tk3+YbRPVEvt9g532TytIllz6AZAKTEGPfmwofXe?=
 =?iso-8859-1?Q?1p668FDjiMcv7U3aaI2Gx3vpgSS/0BJmTAKTqINqpz5DzHdPmB1ZfA9VDs?=
 =?iso-8859-1?Q?xJYAEGLgD3sr0UKEfgT1UBfhlXWfZvMlfTujBmdKUslh04VBJU4c5yh6Yb?=
 =?iso-8859-1?Q?TKV/7guD0SqsvJkfNH9HC/UKzmhFIuEXBWpHNnSBPJaN2kM3lmRpXWR0hY?=
 =?iso-8859-1?Q?AdUXtVNJrOsurtX8/8JOa73YdvXlaKLgFM+mesjMXcEjtSYoC3p9CIzqUZ?=
 =?iso-8859-1?Q?JutJxvuEJn94rIh1GRfhhQHp+J9P5iB6fD9tiYXc4Dy/nZcc5G/crC8xLd?=
 =?iso-8859-1?Q?bDfPLWVjQ+r/hajQMUScW10rWHhPEJ4LYrDhcWA1Xl0HJy9Y9TplFFK69+?=
 =?iso-8859-1?Q?wAJMiWrjtu4n7eEcUcWn+kVDwBGhjw36NZlbva/aFG5RqL7Ujj9TGomuTG?=
 =?iso-8859-1?Q?R8SDdwTNYHPWGV+8XZtAtFzvjhvafqL0mRh20hEmFqBFXGX+55FDKerrOu?=
 =?iso-8859-1?Q?F3DZnGwju0rDBKnZAMz0McuiOM09NpeyJnlZKW/Ww80E4+osjG6Z9ubg?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 81c3897b-eec6-410e-fd19-08dbe1ec7209
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:22.5551
 (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: uNK0bznj8zP6nR6nMReRLu7c8VqlDBFpFryMu5ht1liYiBjHpBkynuHRj+hUMAGEVa0kRQY4ICVU/jOT9bJp5A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: bVLGMpNT3R9t2aZ8pVMOFwQdxOhkIXFl
X-Proofpoint-GUID: bVLGMpNT3R9t2aZ8pVMOFwQdxOhkIXFl
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=835
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Add the basic data structure that expresses an MSI to LPI
translation as well as the allocation/release hooks.

Implement cache invalidation, lookup and storage.

The size of the cache is arbitrarily defined as 16*nr_vcpus.

This is based on Linux commits 24cab82c34aa6f, 7d825fd6eaa7467,
89489ee9ced8 and 86a7dae884f38 by Marc Zyngier

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/new_vgic.h |   3 +
 xen/arch/arm/vgic/vgic-its.c        | 195 ++++++++++++++++++++++++++++
 2 files changed, 198 insertions(+)

diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm=
/new_vgic.h
index d0fd15e154..b038fb7861 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -212,6 +212,9 @@ struct vgic_dist {
     spinlock_t          lpi_list_lock;
     struct list_head    lpi_list_head;
     unsigned int        lpi_list_count;
+
+    /* LPI translation cache */
+    struct list_head	lpi_translation_cache;
 };
=20
 struct vgic_cpu {
diff --git a/xen/arch/arm/vgic/vgic-its.c b/xen/arch/arm/vgic/vgic-its.c
index 6c726dde3a..48dfa09115 100644
--- a/xen/arch/arm/vgic/vgic-its.c
+++ b/xen/arch/arm/vgic/vgic-its.c
@@ -44,6 +44,14 @@ struct its_ite {
     u32 event_id;
 };
=20
+struct vgic_translation_cache_entry {
+    struct list_head entry;
+    paddr_t db;
+    u32 devid;
+    u32 eventid;
+    struct vgic_irq *irq;
+};
+
 /*
  * Find and returns a device in the device table for an ITS.
  * Must be called with the its_devices_lock mutex held.
@@ -152,6 +160,144 @@ int vgic_copy_lpi_list(struct domain *d, struct vcpu =
*vcpu, u32 **intid_ptr)
     return i;
 }
=20
+void __vgic_put_lpi_locked(struct domain *d, struct vgic_irq *irq)
+{
+    struct vgic_dist *dist =3D &d->arch.vgic;
+
+    if ( !atomic_dec_and_test(&irq->refcount) )
+    {
+        return;
+    };
+
+    list_del(&irq->lpi_list);
+    dist->lpi_list_count--;
+
+    xfree(irq);
+}
+
+static struct vgic_irq *__vgic_its_check_cache(struct vgic_dist *dist,
+                                               paddr_t db, u32 devid,
+                                               u32 eventid)
+{
+    struct vgic_translation_cache_entry *cte, *fcte;
+
+    list_for_each_entry(cte, &dist->lpi_translation_cache, entry)
+    {
+        /*
+         * If we hit a NULL entry, there is nothing after this
+         * point.
+         */
+        if ( !cte->irq )
+            break;
+
+        if ( cte->db !=3D db || cte->devid !=3D devid || cte->eventid !=3D=
 eventid )
+            continue;
+
+        /*
+         * Move this entry to the head, as it is the most
+         * recently used.
+         */
+        fcte =3D list_first_entry(&dist->lpi_translation_cache,
+                                struct vgic_translation_cache_entry, entry=
);
+
+        if ( fcte->irq !=3D cte->irq )
+            list_move(&cte->entry, &dist->lpi_translation_cache);
+
+        return cte->irq;
+    }
+
+    return NULL;
+}
+
+static struct vgic_irq *vgic_its_check_cache(struct domain *d, paddr_t db,
+					     u32 devid, u32 eventid)
+{
+	struct vgic_dist *dist =3D &d->arch.vgic;
+	struct vgic_irq *irq;
+
+	spin_lock(&dist->lpi_list_lock);
+	irq =3D __vgic_its_check_cache(dist, db, devid, eventid);
+	spin_unlock(&dist->lpi_list_lock);
+
+	return irq;
+}
+
+static void vgic_its_cache_translation(struct domain *d, struct vgic_its *=
its,
+                                       u32 devid, u32 eventid,
+                                       struct vgic_irq *irq)
+{
+    struct vgic_dist *dist =3D &d->arch.vgic;
+    struct vgic_translation_cache_entry *cte;
+    unsigned long flags;
+    paddr_t db;
+
+    /* Do not cache a directly injected interrupt */
+    if ( irq->hw )
+        return;
+
+    spin_lock_irqsave(&dist->lpi_list_lock, flags);
+
+    if ( unlikely(list_empty(&dist->lpi_translation_cache)) )
+        goto out;
+
+    /*
+     * We could have raced with another CPU caching the same
+     * translation behind our back, so let's check it is not in
+     * already
+     */
+    db =3D its->vgic_its_base + GITS_TRANSLATER;
+    if ( __vgic_its_check_cache(dist, db, devid, eventid) )
+        goto out;
+
+    /* Always reuse the last entry (LRU policy) */
+    cte =3D list_last_entry(&dist->lpi_translation_cache, typeof(*cte), en=
try);
+
+    /*
+     * Caching the translation implies having an extra reference
+     * to the interrupt, so drop the potential reference on what
+     * was in the cache, and increment it on the new interrupt.
+     */
+    if ( cte->irq )
+        __vgic_put_lpi_locked(d, cte->irq);
+
+    vgic_get_irq_kref(irq);
+
+    cte->db      =3D db;
+    cte->devid   =3D devid;
+    cte->eventid =3D eventid;
+    cte->irq     =3D irq;
+
+    /* Move the new translation to the head of the list */
+    list_move(&cte->entry, &dist->lpi_translation_cache);
+
+out:
+    spin_unlock_irqrestore(&dist->lpi_list_lock, flags);
+}
+
+void vgic_its_invalidate_cache(struct domain *d)
+{
+    struct vgic_dist *dist =3D &d->arch.vgic;
+    struct vgic_translation_cache_entry *cte;
+    unsigned long flags;
+
+    spin_lock_irqsave(&dist->lpi_list_lock, flags);
+
+    list_for_each_entry(cte, &dist->lpi_translation_cache, entry)
+    {
+        /*
+         * If we hit a NULL entry, there is nothing after this
+         * point.
+         */
+        if ( !cte->irq )
+            break;
+
+        __vgic_put_lpi_locked(d, cte->irq);
+        cte->irq =3D NULL;
+    }
+
+    spin_unlock_irqrestore(&dist->lpi_list_lock, flags);
+}
+
 /* Requires the its_lock to be held. */
 static void its_free_ite(struct domain *d, struct its_ite *ite)
 {
@@ -184,6 +330,8 @@ void vgic_its_free_device(struct vgic_its_device *devic=
e)
     list_for_each_entry_safe(ite, temp, &device->itt_head, ite_list)
         its_free_ite(d, ite);
=20
+    vgic_its_invalidate_cache(d);
+
     list_del(&device->dev_list);
     xfree(device);
 }
@@ -351,6 +499,8 @@ static void vgic_mmio_write_its_ctlr(struct domain *d, =
struct vgic_its *its,
         goto out;
=20
     its->enabled =3D !!(val & GITS_CTLR_ENABLE);
+    if ( !its->enabled )
+        vgic_its_invalidate_cache(d);
=20
     /*
      * Try to process any pending commands. This function bails out early
@@ -742,6 +892,48 @@ out:
     return ret;
 }
=20
+/* Default is 16 cached LPIs per vcpu */
+#define LPI_DEFAULT_PCPU_CACHE_SIZE 16
+
+void vgic_lpi_translation_cache_init(struct domain *d)
+{
+    struct vgic_dist *dist =3D &d->arch.vgic;
+    unsigned int sz;
+    int i;
+
+    if ( !list_empty(&dist->lpi_translation_cache) )
+        return;
+
+    sz =3D d->max_vcpus * LPI_DEFAULT_PCPU_CACHE_SIZE;
+
+    for ( i =3D 0; i < sz; i++ )
+    {
+        struct vgic_translation_cache_entry *cte;
+
+        /* An allocation failure is not fatal */
+        cte =3D xzalloc(struct vgic_translation_cache_entry);
+        if ( WARN_ON(!cte) )
+            break;
+
+        INIT_LIST_HEAD(&cte->entry);
+        list_add(&cte->entry, &dist->lpi_translation_cache);
+    }
+}
+
+void vgic_lpi_translation_cache_destroy(struct domain *d)
+{
+    struct vgic_dist *dist =3D &d->arch.vgic;
+    struct vgic_translation_cache_entry *cte, *tmp;
+
+    vgic_its_invalidate_cache(d);
+
+    list_for_each_entry_safe(cte, tmp, &dist->lpi_translation_cache, entry=
)
+    {
+        list_del(&cte->entry);
+        xfree(cte);
+    }
+}
+
 #define INITIAL_BASER_VALUE                                               =
     \
     (GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWb) |                    =
     \
      GIC_BASER_CACHEABILITY(GITS_BASER, OUTER, SameAsInner) |             =
     \
@@ -763,6 +955,8 @@ static int vgic_its_create(struct domain *d, u64 addr)
=20
     d->arch.vgic.its =3D its;
=20
+    vgic_lpi_translation_cache_init(d);
+
     spin_lock_init(&its->its_lock);
     spin_lock_init(&its->cmd_lock);
=20
@@ -829,6 +1023,7 @@ void vgic_v3_its_free_domain(struct domain *d)
=20
     vgic_its_free_device_list(d, its);
     vgic_its_free_collection_list(d, its);
+    vgic_lpi_translation_cache_destroy(d);
=20
     spin_unlock(&d->arch.vgic.its_devices_lock);
     spin_unlock(&its->its_lock);
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630305.983104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R42-000414-Nx; Fri, 10 Nov 2023 12:56:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630305.983104; Fri, 10 Nov 2023 12:56: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 1r1R42-0003xK-6X; Fri, 10 Nov 2023 12:56:46 +0000
Received: by outflank-mailman (input) for mailman id 630305;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3y-0001y0-64
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:42 +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 96644d25-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:39 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIeem019156; Fri, 10 Nov 2023 12:56:32 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkyram6-8
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:31 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:25 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 96644d25-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d8K0++DB6FDAmKoodfzo77guBfpDH4ZClDrvfuJLhNYc3G52jI+kNwULGGtEBqWPVE9TWAqqR2R4t0YE0PtZMnlud9jKxofXKSAo1pEut1kPaQI27FZRgAuxkdUQNFnEe+9230LnNlb0JNiFOpX2jryY+ClAOGrZY8EdHuGZ9hrHK/+TvJFSkl8kfRPS/A0SvHbUaRaryPDbB7l+RmxL/nq+rZaMuRYquFQS/Pye7cEGoKC30iWKTf0tAX2tIsDmh3v7N6EzM0fQ2/a8BNX8Xb7OIMQgALDrJ3lSlX6va7MK2lVUWs4BZtPJLPNvuHzbX9BpgXYWzZ8dU0zYhERCNg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9AzYgyWYOamJy7GvHjg0RF9EEsQKL3zTFRWpYK3zu7E=;
 b=VFlwZk41fKH8FBqZTd7QsbRex4gr20qX7qXePy8WFj9THl/DG6LhnIEOunEK9CsiZboMz7JIOg65xQ3OifFtUZI5E9rvNinmoBox3NSogNj4ogAXHusTS3KJW8EZl6rf6y3iv4/zzsGqUG8YSAioHECOb8HxITT+HEqZqDA6yxnK/2C6I4uMyJOti3P84biJmJZVEoVGxIqFWYRN8bAid95imyfTJDa6qMs+sg6+zucCuZPh9VUmJdzBDJKPXTNYJORvXU3i003BJRb1ATEIoBH1GZmjBc7x8uvD2EUKP8dm9JrPd+qScBlGlzNZlnw8wrvSbWyr8v+U0i6djATeCw==
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=9AzYgyWYOamJy7GvHjg0RF9EEsQKL3zTFRWpYK3zu7E=;
 b=At1lufd+rzPWVrUMrppcQ+OQN1GRfSffBsqbxrzM7fTRGQAinzw6uLTMzw56xDUzuehRFIxIQ8FJC4SCtwltLjJJOAukgT82lMfb9MfHxvDJaw0/gPLLnntgDJxbmhFaTirt1Auw1LYzeyNWiSXCB3RMnn9ESy4dQqeA/BQKHy7KYXybxZ/sJ/qb1IZgN96/t7q9pK4Kb6MQTC+vdI1s3R8A1EwiSWfT4dfHZshgP/cnoVXzhp6+EHnc6eSnFxykQij8jkZzmdb9WOrnh3OzczKNVPXmb7HanS/vwW9DvJPXBp7McTiA/Dq6EvisvK7wFPJeUsmZgmS4m5EwQRxZmw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 21/25] arm: new VGIC: its: Implement MSI injection in
 ITS emulation
Thread-Topic: [XEN PATCH v2 21/25] arm: new VGIC: its: Implement MSI injection
 in ITS emulation
Thread-Index: AQHaE9VOmjckIYPQPEGT+3z3jWwEZg==
Date: Fri, 10 Nov 2023 12:56:23 +0000
Message-ID: 
 <6bb112c2232169798e5110f710cb394071848e74.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: a2246fe7-5184-457d-bc8c-08dbe1ec728a
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 iS5mV7BWfFibvAKhPuyaZovC+NDnL8aIn71qyQflUa3Vevdn8RiPPA3ehvfkDZUaU7EsICw8WNIIv2cYD5Pyr4ROAU5ruMwVIHqbSbmJTbkopJoOBuClO+nSjMmdj2ydK7bkhuL8VzNP7VEmajj+o4nhMEfFBSw8iFrwRZEvpDKPDEGL6o452NXu20TiQ8uJRfmjiB0eXjtUFDCdjb3zXVp80AgIPpoFSt6yu+Co6aXIV/jhpt3Nx2hR+mVQZCNpBSlqjQKN/RHCizoINjHlxbX00n1SYVahGKPwMoCgTzvuE/MzOhwhJDM2n5aHugJL/Q0rs8TV8a63WWCwkL8moFCUgMmtDKfhQbrVokTuQVkAtHHgRw/XPgDyewm54ymBPLnWLY93KDb+UxoASL/5hKn/ox6sHljIQfvsJHlkkEr+GnI5b536O7hSgTmqH5k4UAsD5NMexq1zGdCBaLmhdJIpRTu2RzKcVrNwug1wVXDxStJrugQxA/VZyio0zh8WaUsQD/VOMXHH+k9jpT1ULrqu5fSckUcCgGwMAb3qkMnNG8Gv50xeExUjkGFiighxg+4qsnEzDJCN9UDnwYss4ZksjhPSkcvjZPCMU8eLDjogU0HZjwCtuwhFn++lEf7i
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?4K4llUywAaHNaoemyqCkK3lJf1Scb2WUiyBa534Hp7tkoevFLvjA81Zel0?=
 =?iso-8859-1?Q?GBkMC1FZXLw11qOLM2QGAZo1NjDqEtHK+JNXJOiLGlmbjHrRkpcEABv8Ij?=
 =?iso-8859-1?Q?YBPk5MSXyrE7p6lPsR2W2C4zVu5A1o6lBHG5tit1ySEsizcixCW8b9nFB3?=
 =?iso-8859-1?Q?V+GJu6ReaZBvuuOW0uS1Dqsejdwxl19nRCgEPpmUmWDdqrAhUIXULnRqvo?=
 =?iso-8859-1?Q?IG3Kr+kGiGFE+Ph/fh7Sx+tyAwAsAMelA4Q3paSUAqZn3B3fU4j72rQPAZ?=
 =?iso-8859-1?Q?EgwMEdMKn+LRSxkn35vFE8vQsqyvW+aqZRDHfOdj1z739W75zXYKthdr/5?=
 =?iso-8859-1?Q?QVNvyd1wV1CN4ucuUa859J/u3X+UOJdOcmUDRzkNgQRZHvVS0gz49KlWEJ?=
 =?iso-8859-1?Q?Vhw16bjjRLeluh1R5PKZt9Rd0wmu61oa4AGfa5rIepQpkwgEFvI+CYPtRA?=
 =?iso-8859-1?Q?zO/LS5Q398DkTlfYx/LruqypkBThwEId7MWSsy6uxdg7jQkMdvUsYBavCC?=
 =?iso-8859-1?Q?erDoWGCqDlnQCgdqBonIDeyXTfqU1axgkZlJ/DDIVLdGJnQAgcuieYLWuW?=
 =?iso-8859-1?Q?IAv2gu8KfOdC3ew1GDB4RZFGr9idRVKUVKt32kHMGbVPdmlZPJaho3W6KR?=
 =?iso-8859-1?Q?p/ufmXfRTzG/xescVZwWKH5u2oMnr4I/Qd6YQvEcBHvwhmt8e2xw6DRtzD?=
 =?iso-8859-1?Q?pYTEld1kuQlSaGojleKIFx1bRNRspm2Gfa7RaZFviqhSZd9O3or+wi/FpF?=
 =?iso-8859-1?Q?zVe5W/BCDmG/zANk7CZvOePAY+KDcigGTOzce6/qNpxLn08dpV+G8itwUM?=
 =?iso-8859-1?Q?3ZmcnFPJm4qvdBDtoSxEJQ4CcpCoOc264M47YGOnqu6N1JyKc/86WWtR1b?=
 =?iso-8859-1?Q?Io2M6gSJj8kH3hCH8WFsnJWtpr0gmHgGWcgU69CNXnCQFZpxt3jb1vUtSD?=
 =?iso-8859-1?Q?Th0g1mlZpgEq4CyX5wWZi5W2Ecw8PYOTMwsgkyVANOcHwwYJwvx6vtYzEe?=
 =?iso-8859-1?Q?RofauojtyQwAJK9BqiWbBRryRUMZaaDDddel+MXqYfkbPXjDZvatfuG+ge?=
 =?iso-8859-1?Q?rLFDESvNWvE9NY9GPEsJ2HzY9KmvTblJQqvQqqTCsNDmZEwZAu89POCx56?=
 =?iso-8859-1?Q?qhvquMhhp0uUOQtwQgOfPJGPN8KQ2e8dBLNjwtsrSubnwPJdbtRc5VRM1P?=
 =?iso-8859-1?Q?/nae+Xz4v7z/GR3SrlrTK/risdN8dXDfq7NlB7iLa14GYwdXgMTkyM0O3P?=
 =?iso-8859-1?Q?b/5SPoExKbuDLg/uVQ1LpmXbjOxwwHxAQyi/iSdjhs+VAHnuZJO39a14hf?=
 =?iso-8859-1?Q?E56Dq1ZE08Cv+a/qEMykBb30ZKyXm/RsR30xOTUJrVXAmn6m8ekSqReSJw?=
 =?iso-8859-1?Q?l511sEOo8dk1ReamKg2rhd8bv6+5WRUt1sVr6ClPrZoHeJqtozOrxQTxZv?=
 =?iso-8859-1?Q?63d9fkslcpRMjZtmwXx/V7cRRBls0bAeyM4Q1Pn1pjRyoOTQitIcPeHgEk?=
 =?iso-8859-1?Q?Y9UaY+5oUQ8e5EFrqUyfMHnaRYXovHRSc3CLDxCpxUXI2hn14hpGAeWsGz?=
 =?iso-8859-1?Q?NCTBtyWZPlIec/3DlGW+0AfYbr0URUWTy7dGio/MvYnx06qsWOIX4SNpq9?=
 =?iso-8859-1?Q?Zv1jdVS+JjPjufeHPutnpTndZtZVLui6uz5bff36YjZu+D4H0qGfi+Gg?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a2246fe7-5184-457d-bc8c-08dbe1ec728a
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:23.3222
 (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: cA15oGbc2TWv4jJsf3rw3pPhvoK7TKmZ3350Ohg60IJTxO6xW+yhV1cqZwMaosJWc8/IP15rgGKdpBRpErf4bQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-GUID: NZn16RH7nLNGCMn3zAF7raMFcYfsfYDa
X-Proofpoint-ORIG-GUID: NZn16RH7nLNGCMn3zAF7raMFcYfsfYDa
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_08,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=982 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Implement handling of the ITS INT command.
With the help of the IO bus framework we learn the corresponding
ITS from the doorbell address. We then use our wrapper functions to
iterate the linked lists and find the proper Interrupt Translation Table
Entry (ITTE) and thus the corresponding struct vgic_irq to finally set
the pending bit.

Based on Linux commit 2891a7dfb6c4a by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-its.c | 112 +++++++++++++++++++++++++++++++++++
 1 file changed, 112 insertions(+)

diff --git a/xen/arch/arm/vgic/vgic-its.c b/xen/arch/arm/vgic/vgic-its.c
index 9a30087d3d..9534b26334 100644
--- a/xen/arch/arm/vgic/vgic-its.c
+++ b/xen/arch/arm/vgic/vgic-its.c
@@ -557,6 +557,81 @@ static u32 max_lpis_propbaser(u64 propbaser)
     return 1U << min(nr_idbits, INTERRUPT_ID_BITS_ITS);
 }
=20
+int vgic_its_resolve_lpi(struct domain *d, struct vgic_its *its, u32 devid=
,
+                         u32 eventid, struct vgic_irq **irq)
+{
+    struct vcpu *vcpu;
+    struct its_ite *ite;
+
+    if ( !its->enabled )
+        return -EBUSY;
+
+    ite =3D find_ite(its, devid, eventid);
+    if ( !ite || !its_is_collection_mapped(ite->collection) )
+        return E_ITS_INT_UNMAPPED_INTERRUPT;
+
+    vcpu =3D d->vcpu[ite->collection->target_addr];
+    if ( !vcpu )
+        return E_ITS_INT_UNMAPPED_INTERRUPT;
+
+    if ( !vgic_lpis_enabled(vcpu) )
+        return -EBUSY;
+
+    vgic_its_cache_translation(d, its, devid, eventid, ite->irq);
+
+    *irq =3D ite->irq;
+    return 0;
+}
+
+int vgic_its_inject_cached_translation(struct domain *d, struct vgic_its *=
its, u32 devid, u32 eventid)
+{
+	struct vgic_irq *irq;
+	unsigned long flags;
+	paddr_t db;
+
+	db =3D its->vgic_its_base + GITS_TRANSLATER;
+	irq =3D vgic_its_check_cache(d, db, devid, eventid);
+	if (!irq)
+		return -EWOULDBLOCK;
+
+	spin_lock_irqsave(&irq->irq_lock, flags);
+	irq->pending_latch =3D true;
+	vgic_queue_irq_unlock(d, irq, flags);
+
+	return 0;
+}
+
+/*
+ * Find the target VCPU and the LPI number for a given devid/eventid pair
+ * and make this IRQ pending, possibly injecting it.
+ * Must be called with the its_lock mutex held.
+ * Returns 0 on success, a positive error value for any ITS mapping
+ * related errors and negative error values for generic errors.
+ */
+static int vgic_its_trigger_msi(struct domain *d, struct vgic_its *its,
+                                u32 devid, u32 eventid)
+{
+    struct vgic_irq *irq =3D NULL;
+    unsigned long flags;
+    int err;
+
+	if (!vgic_its_inject_cached_translation(d, its, devid, eventid))
+		return 1;
+
+    err =3D vgic_its_resolve_lpi(d, its, devid, eventid, &irq);
+    if ( err )
+        return err;
+
+    /* GICv4 style VLPIS are not yet supported */
+    WARN_ON(irq->hw);
+
+    spin_lock_irqsave(&irq->irq_lock, flags);
+    irq->pending_latch =3D true;
+    vgic_queue_irq_unlock(d, irq, flags);
+
+    return 0;
+}
+
 static u64 its_cmd_mask_field(u64 *its_cmd, int word, int shift, int size)
 {
     return (le64_to_cpu(its_cmd[word]) >> shift) & (BIT(size, ULL) - 1);
@@ -868,6 +943,27 @@ void vgic_its_delete_device(struct domain *d, struct v=
gic_its_device *its_dev)
     list_del(&its_dev->dev_list);
 }
=20
+void vgic_vcpu_inject_lpi(struct domain *d, unsigned int virq)
+{
+    /*
+     * TODO: this assumes that the struct pending_irq stays valid all of
+     * the time. We cannot properly protect this with the current locking
+     * scheme, but the future per-IRQ lock will solve this problem.
+     */
+    struct vgic_irq *p =3D vgic_get_irq(d, d->vcpu[0], virq);
+    unsigned int vcpu_id;
+
+    if ( !p )
+        return;
+
+    vcpu_id =3D ACCESS_ONCE(p->target_vcpu->vcpu_id);
+    if ( vcpu_id >=3D d->max_vcpus )
+          return;
+
+    vgic_put_irq(d, p);
+    vgic_inject_irq(d, d->vcpu[vcpu_id], virq, true);
+}
+
 /*
  * MAPD maps or unmaps a device ID to Interrupt Translation Tables (ITTs).
  * Must be called with the its_lock mutex held.
@@ -1173,6 +1269,19 @@ static int vgic_its_cmd_handle_movall(struct domain =
*d, struct vgic_its *its,
     return 0;
 }
=20
+/*
+ * The INT command injects the LPI associated with that DevID/EvID pair.
+ * Must be called with the its_lock mutex held.
+ */
+static int vgic_its_cmd_handle_int(struct domain *d, struct vgic_its *its,
+                                   u64 *its_cmd)
+{
+    u32 msi_data  =3D its_cmd_get_id(its_cmd);
+    u64 msi_devid =3D its_cmd_get_deviceid(its_cmd);
+
+    return vgic_its_trigger_msi(d, its, msi_devid, msi_data);
+}
+
 int vgic_its_inv_lpi(struct domain *d, struct vgic_irq *irq)
 {
     return update_lpi_config(d, irq, NULL, true);
@@ -1288,6 +1397,9 @@ static int vgic_its_handle_command(struct domain *d, =
struct vgic_its *its,
     case GITS_CMD_MOVALL:
         ret =3D vgic_its_cmd_handle_movall(d, its, its_cmd);
         break;
+    case GITS_CMD_INT:
+        ret =3D vgic_its_cmd_handle_int(d, its, its_cmd);
+        break;
     case GITS_CMD_INV:
         ret =3D vgic_its_cmd_handle_inv(d, its, its_cmd);
         break;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630306.983110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R43-0004Aa-II; Fri, 10 Nov 2023 12:56:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630306.983110; Fri, 10 Nov 2023 12:56: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 1r1R42-000483-Th; Fri, 10 Nov 2023 12:56:46 +0000
Received: by outflank-mailman (input) for mailman id 630306;
 Fri, 10 Nov 2023 12: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3y-0001y1-C2
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:42 +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 95826d2d-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:38 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIeei019156; Fri, 10 Nov 2023 12:56:28 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkyram6-5
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:28 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:22 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12: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>
X-Inumbo-ID: 95826d2d-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aHolDqAoPGsSiuOnDTQzccu5qviOzv0V6YzlUR4TiY4tVkq3B9Iw/na4pYcJ+V+IaA1iQhKotg74XO3VnN1YhqNJtNe3H3q2PrEzjYAOI7UYGiQaGV80C74qtAK3WC+G60RdQy5xAklccCEi4eUKaOPbrLzocAiwcTBrEfl3vMwNM55Qe0yzxaEVVphLbNhU6Bqe12ZP6VAMpc52swTVfVur43ub4uE6gRrMgnT/SClypbZe5rpTG3GzXWP4rB+zUHoauNwcr9CUaVMcpk06fPdW6eil/r4GT+skxAC1Rq6rc1ytfIgg+KQOhGZjNiavT54pbmUmj37Hl11owaGcXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=g73T9hy9iFNbKytEIvSzNfjBM9cU9v8ai1HR4xSZP1Y=;
 b=HlZVRJu3sJj46pt4PI0uPQW3LUg8UDYjuOtKc4HOz6dl7uWqLrQF9TIkOXWorsM8iPIeFK3MbRoDCqP1d9EYhIxomVlmCuKTDBRFachm44bF7IyVmOsBUM6+7C46E9rzNw5sk7HXdmBEEmxPDXReuTS2xtMDmDEdR6t2x5iKdkyeJqkkxcE21fO6XQZIyLXBn3y910LAFRtQFigt5k4wuqyAgUxHos2OC2DpdVbGQUai3RkFHCd3JYp4QLmBKb3JStEwpm0omgfWP2wvp5MPd9IGe6yt9z2Z8rVcjqycxZ3uEQhiQck6yab1kuvjynxvbNlSkNSvlYn4kGzhl0Awgw==
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=g73T9hy9iFNbKytEIvSzNfjBM9cU9v8ai1HR4xSZP1Y=;
 b=rRMA99oiDhKKaPwttM9zQ+sLkt/s1uQMrdnzbSQYI4ffS5+ahiQJJ6cOmlKfzBLsi38tjcEMhjr5ZtFW08b2SJ439HCMsXH9I39ErzGYxpEX3kJhL24SyGFlosv8EjRPZqEKBV5nt+QCjJjB8UCQD+P6slb2ek+DPzro5LOzzMIf7YYRkBcc5uoV1lreUgldrQIxrH0nE0aV0GffvHn+NsDs6fbtWI3ghrTXELtkbjTBViG+DZh09r+QMpe66VA6nS63nLNQ1A2d2t9R69DBxebOLwv6yXNnjwkW9mmOIpitAwJyPNCsjm9oNf0REM+IZzY1GcimQWWGV7jB2+GvoA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 14/25] arm: new VGIC: its: Introduce ITS emulation file
 with MMIO framework
Thread-Topic: [XEN PATCH v2 14/25] arm: new VGIC: its: Introduce ITS emulation
 file with MMIO framework
Thread-Index: AQHaE9VNozwFjqvkNU+OWnjzi9IBUg==
Date: Fri, 10 Nov 2023 12:56:20 +0000
Message-ID: 
 <86c18cb30b6dbaff9561c2ec1def9f8389f33ebf.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: af2d4fe7-1c52-4561-1d15-08dbe1ec70e7
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 920bhS4uNTNpIhc9CFRUyV5cYMfIV0ygpaIYqlT1nwMqoMv4agT8WjvwXkBNFAmxdRczTZb5pBZJfYpPHqcSb1oryrsDJAqdzcoDpzYshY4aQs3EplbJAwvBh7kOZsC6+m27th2rWS4w6gIs6rB8xfZa7XhxlxUwsix9J73oOx0G2e3h36hTIsdT1FvhDQGVIz7oUgOER3dpk8oam22/JcXtblqFtrhMbHvlvo2pb/gB57Yjf7Y+JODBXj8kZ/xOKKVYmBReIQmmcGszK/tc5Wniz1AA2kf+XahwXgVxVYv2XBJKR8LmFHsFWcFy2z3ytVQ1CUr8qk2TSKgsIj+Z7gnugAq9/eGDwDibaPjjXJCBZR6bgAmGAay0gnt/cI3hatUz8xB+3+VTrMpav2Gux0cQuW0v+8rGLalYNrinQchcGuuLUTDtibmZ3RsjpyhEe1IJB2wTJ/NaPM8hXCouqydPdp+YJ2NzaGGqgHKMFXc5RXEVLTyeP/HNlwXzo1Pn8nBFw7nQIQGkex6WuIJAq7E81cZUNrKDwkHO3qCxnh5/TUTFj7SGta59IHL6lGReHDlt8ODcmu7kBwOnKHg5CU1eV0xq8NJO6kc4kkxGiZe6kXnpZ2u29+ToM/DNbHwo
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(30864003)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009)(2004002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?RuRDmU2DMJZRQaAbOtyGFtNUyr/nqGWJK+hpmwHNBoYgKe/pPd0MJvFlkm?=
 =?iso-8859-1?Q?hJoF7X7Bgpyp4zum2HJ3kt7bqwL4c5OXQTTpcS2iyre7dRiHvv5PVM/FJs?=
 =?iso-8859-1?Q?wiLYM0veXZ+JGHxVyZNMHcbPY2VSaQy2iLQZAsSgIJ5u2CuRghmc+ktf/s?=
 =?iso-8859-1?Q?+Gic3bHAli8AUeouRBlmDvHhxizSiSKFi35oex2i4yu/EpdnDxBIOkVwVl?=
 =?iso-8859-1?Q?XAE74Wu8XMU7Y0ztNCXkhqoI30/Dnx6J86fMrJAl7Y95NEL6Ju077JGVS6?=
 =?iso-8859-1?Q?RhLctkXUuYpQAHqnDBoi/ZA9/PL51Tn6q70sDn+fryvVlXxnUbAcmlQyFa?=
 =?iso-8859-1?Q?Sx+p6f2n/LCp4XZz7/QUHAt17p3L92BUDjdTSskTqb8sih79ylcyaOeYYZ?=
 =?iso-8859-1?Q?HM/q8JMvUmsOq57mUeYQsKxXRElOoQNvnD4lZzzPXM9u7aETaBxPx4wHPS?=
 =?iso-8859-1?Q?qNMkSIZOy1WdG8yRyn2L6bjKgulfTt9y5K8p7oYyul8nQRwFP/MGrcII4r?=
 =?iso-8859-1?Q?62rf760y879+xnUjc9ROLNiUTXuSTuMm3JRPzQNzgIv0cmLJ3Xm/9kPxMa?=
 =?iso-8859-1?Q?fApC5+wFBM57eHKa5m6RfifhbdFQqFaLDh+xuLsfA31NAarZ7SFbQ/c5qm?=
 =?iso-8859-1?Q?f/lwAIzcSpzJVul7wtK4wdRgsk5GviP4XeRlsyRuNe/YlV6WliroLpuuAt?=
 =?iso-8859-1?Q?02a4sy3EbeehkwNbqN+/kKcbBwF2K9uRpfx9mL5zqkiKqCmEofEMNZYgSn?=
 =?iso-8859-1?Q?GALQ2DI9zHZ/v3Q/giFRnjCvr6oLpsGiM3xl8NU/5Kxmf1HlGTtNVqohkB?=
 =?iso-8859-1?Q?d0ro860KZ4fp8I9GIQAsRevPFsf4QBV6x8ZLPaQZ4gZ4q8/wOlNf1YVppV?=
 =?iso-8859-1?Q?+h+70DjDBxw5Ar08D+rkYuZyvDzx1493wmDLOtOQY/gs917RBbCh7h7rox?=
 =?iso-8859-1?Q?NgHouBMKD3jIZ+PZTa4bEyUR22zeLuJLfzvBuroQpaVZlLXKZGWDSwPhL5?=
 =?iso-8859-1?Q?XWQu353YI7jdwiHbu5U4uWedJivwJ2qZHOlw6N6ZfbQbFblDwOm+MfbAMp?=
 =?iso-8859-1?Q?UohNAgh8nJat0PXf3IffLHsx6nju/XQnszV0CH6z4y2OcJA9DrTeEwdlk5?=
 =?iso-8859-1?Q?q+xrTpLJbReT3LsVtH+utNRmOKn15H1KAo1Jrdiq6DA+3AcKdHJG8YhilE?=
 =?iso-8859-1?Q?Imz1jdnJBc+DV22kZK3s/LGgXNocMwZZIYDQmgkpEdkUUqJcXHqC1m8eLL?=
 =?iso-8859-1?Q?A4n8yhhinjmMgmvOvXKBJZxeN9BQ9pEEOQXwJ0czX6cF40Ukw5JXj+F+nO?=
 =?iso-8859-1?Q?Rq/zUOtwXPpXry5GJ+3U0d51W1IjZukSiN9UOiLm8OtmeoAtKsG1T2ncdT?=
 =?iso-8859-1?Q?fxcy1DqvjoeIO6pvHXp+Fy2630OJlgXUOG/gJJQ20LqO/arbx0ZJ3xsNMa?=
 =?iso-8859-1?Q?PTNbX0c0xjM4sR0jjA5BuI/CF/EPYBOx7A7NCLGBRMM5dpFDGQsVfVTcB1?=
 =?iso-8859-1?Q?u1Ms86J6xtv9KMmtFMbL+hxe3wUyOOklpf09zkMHrUnVlHbLDmhwOdvY6A?=
 =?iso-8859-1?Q?nKGAk4Y4nQl40+i6fjnwuPl/1p7PAsR+qrlEPli/QjAKgzaGcBDDShu8jY?=
 =?iso-8859-1?Q?XKB13ueg8rr2b3+EAP25vuHo3lG9Wcddx562O5TBhKtEVgDvb/cLfk3A?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: af2d4fe7-1c52-4561-1d15-08dbe1ec70e7
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:20.7063
 (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: 8te8cfwF6UVJd/GRkDyaBtJJ+L1b8gAPYvBwwmPA4Ac7ILDOwx7gjNbGsrU5anGm691YUzyOuqus1HlgAchqKA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-GUID: OH3ZP7gXEdpAkyZShRcYZXE7tLCTN1Yo
X-Proofpoint-ORIG-GUID: OH3ZP7gXEdpAkyZShRcYZXE7tLCTN1Yo
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_08,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=999 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

The ARM GICv3 ITS emulation code goes into a separate file, but needs
to be connected to the GICv3 emulation, of which it is an option.
The ITS MMIO handlers require the respective ITS pointer to be passed in,
so we amend the existing VGIC MMIO framework to let it cope with that.
Also we introduce the basic ITS data structure and initialize it, but
don't return any success yet, as we are not yet ready for the show.

Based on Linux commit 59c5ab40989afa by 59c5ab40989afa

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/gic_v3_defs.h |   3 +
 xen/arch/arm/include/asm/gic_v3_its.h  |   1 +
 xen/arch/arm/include/asm/new_vgic.h    |  13 ++
 xen/arch/arm/vgic/vgic-its.c           | 160 +++++++++++++++++++++++++
 xen/arch/arm/vgic/vgic-mmio-v3.c       |  52 +++++++-
 xen/arch/arm/vgic/vgic-mmio.c          |   6 +
 xen/arch/arm/vgic/vgic-mmio.h          |  11 ++
 7 files changed, 245 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/arm/vgic/vgic-its.c

diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/include/=
asm/gic_v3_defs.h
index 1e81687818..3f1f59d1c7 100644
--- a/xen/arch/arm/include/asm/gic_v3_defs.h
+++ b/xen/arch/arm/include/asm/gic_v3_defs.h
@@ -112,6 +112,9 @@
 #define GICR_NSACR                   (0x0E00)
=20
 #define GICR_CTLR_ENABLE_LPIS        (1U << 0)
+#define GICR_CTLR_CES                (1UL << 1)
+#define GICR_CTLR_IR                 (1UL << 2)
+#define GICR_CTLR_RWP                (1UL << 3)
=20
 #define GICR_TYPER_PLPIS             (1U << 0)
 #define GICR_TYPER_VLPIS             (1U << 1)
diff --git a/xen/arch/arm/include/asm/gic_v3_its.h b/xen/arch/arm/include/a=
sm/gic_v3_its.h
index f61a37a8fa..4e857cac1a 100644
--- a/xen/arch/arm/include/asm/gic_v3_its.h
+++ b/xen/arch/arm/include/asm/gic_v3_its.h
@@ -35,6 +35,7 @@
 #define GITS_BASER5                     0x128
 #define GITS_BASER6                     0x130
 #define GITS_BASER7                     0x138
+#define GITS_IDREGS_BASE                0xffd0
 #define GITS_PIDR2                      GICR_PIDR2
=20
 /* Register bits */
diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm=
/new_vgic.h
index b037b6cf61..ec2882dcf1 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -34,6 +34,7 @@
 #define VGIC_MIN_LPI            8192
 #define VGIC_V3_DIST_SIZE       SZ_64K
 #define VGIC_V3_REDIST_SIZE     (2 * SZ_64K)
+#define VGIC_V3_ITS_SIZE        (2 * SZ_64K)
=20
 #define irq_is_ppi(irq) ((irq) >=3D VGIC_NR_SGIS && (irq) < VGIC_NR_PRIVAT=
E_IRQS)
 #define irq_is_spi(irq) ((irq) >=3D VGIC_NR_PRIVATE_IRQS && \
@@ -95,6 +96,7 @@ struct vgic_irq {
 enum iodev_type {
     IODEV_DIST,
     IODEV_REDIST,
+    IODEV_ITS,
 };
=20
 struct vgic_redist_region {
@@ -111,6 +113,16 @@ struct vgic_io_device {
     const struct vgic_register_region *regions;
     enum iodev_type iodev_type;
     unsigned int nr_regions;
+    struct vgic_its *its;
+};
+
+struct vgic_its {
+    /* The base address of the ITS control register frame */
+    paddr_t vgic_its_base;
+
+    bool enabled;
+    struct vgic_io_device iodev;
+    paddr_t doorbell_address;
 };
=20
 struct vgic_dist {
@@ -150,6 +162,7 @@ struct vgic_dist {
     struct vgic_io_device   dist_iodev;
=20
     bool                has_its;
+    struct vgic_its     *its;
=20
     /*
      * Contains the attributes and gpa of the LPI configuration table.
diff --git a/xen/arch/arm/vgic/vgic-its.c b/xen/arch/arm/vgic/vgic-its.c
new file mode 100644
index 0000000000..0ae6048456
--- /dev/null
+++ b/xen/arch/arm/vgic/vgic-its.c
@@ -0,0 +1,160 @@
+/*
+ * Imported from Linux ("new" KVM VGIC) and heavily adapted to Xen.
+ *
+ * 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/sched.h>
+#include <xen/guest_access.h>
+#include <xen/sizes.h>
+#include <xen/err.h>
+#include <xen/list_sort.h>
+#include <asm/page.h>
+#include <asm/new_vgic.h>
+#include <asm/gic_v3_defs.h>
+#include <asm/gic_v3_its.h>
+
+#include "vgic.h"
+#include "vgic-mmio.h"
+
+static unsigned long its_mmio_read_raz(struct domain *d, struct vgic_its *=
its,
+                              paddr_t addr, unsigned int len)
+{
+    return 0;
+}
+
+static void its_mmio_write_wi(struct domain *d, struct vgic_its *its,
+                              paddr_t addr, unsigned int len, unsigned lon=
g val)
+{
+    /* Ignore */
+}
+
+#define REGISTER_ITS_DESC(off, rd, wr, length, acc)                       =
     \
+    {                                                                     =
     \
+        .reg_offset =3D off, .len =3D length, .access_flags =3D acc, .its_=
read =3D rd, \
+        .its_write =3D wr,                                                =
       \
+    }
+
+static struct vgic_register_region its_registers[] =3D {
+    REGISTER_ITS_DESC(GITS_CTLR,
+                        its_mmio_read_raz, its_mmio_write_wi, 4,
+                        VGIC_ACCESS_32bit),
+    REGISTER_ITS_DESC(GITS_IIDR,
+                        its_mmio_read_raz, its_mmio_write_wi, 4,
+                        VGIC_ACCESS_32bit),
+    REGISTER_ITS_DESC(GITS_TYPER,
+                        its_mmio_read_raz, its_mmio_write_wi, 8,
+                        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_ITS_DESC(GITS_CBASER,
+                        its_mmio_read_raz, its_mmio_write_wi, 8,
+                        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_ITS_DESC(GITS_CWRITER,=20
+                        its_mmio_read_raz, its_mmio_write_wi, 8,
+                        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_ITS_DESC(GITS_CREADR,
+                        its_mmio_read_raz, its_mmio_write_wi, 8,
+                        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_ITS_DESC(GITS_BASER0,
+                        its_mmio_read_raz, its_mmio_write_wi, 0x40,
+                        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_ITS_DESC(GITS_IDREGS_BASE,
+                        its_mmio_read_raz, its_mmio_write_wi, 0x30,
+                        VGIC_ACCESS_32bit),
+};
+
+static int vgic_register_its_iodev(struct domain *d, struct vgic_its *its,
+                                   u64 addr)
+{
+    struct vgic_io_device *iodev =3D &its->iodev;
+    int ret                      =3D 0;
+
+    if ( !IS_VGIC_ADDR_UNDEF(its->vgic_its_base) )
+    {
+        ret =3D -EBUSY;
+        goto out;
+    }
+
+    its->vgic_its_base    =3D addr;
+    its->doorbell_address =3D addr + ITS_DOORBELL_OFFSET;
+    iodev->regions        =3D its_registers;
+    iodev->nr_regions     =3D ARRAY_SIZE(its_registers);
+
+    iodev->base_fn        =3D gaddr_to_gfn(its->vgic_its_base);
+    iodev->iodev_type     =3D IODEV_ITS;
+    iodev->its            =3D its;
+    register_mmio_handler(d, &vgic_io_ops, its->vgic_its_base, VGIC_V3_ITS=
_SIZE,
+                          iodev);
+out:
+    return ret;
+}
+
+static int vgic_its_create(struct domain *d, u64 addr)
+{
+    struct vgic_its *its;
+
+    its =3D xzalloc(struct vgic_its);
+    if ( !its )
+        return -ENOMEM;
+
+    d->arch.vgic.its =3D its;
+
+    its->vgic_its_base =3D VGIC_ADDR_UNDEF;
+
+    d->arch.vgic.msis_require_devid =3D true;
+    d->arch.vgic.has_its            =3D true;
+    its->enabled                    =3D false;
+
+    vgic_register_its_iodev(d, its, addr);
+
+    its->doorbell_address =3D addr + ITS_DOORBELL_OFFSET;
+
+    return 0;
+}
+
+/*
+ * For a hardware domain, this will iterate over the host ITSes
+ * and map one virtual ITS per host ITS at the same address.
+ */
+int vgic_v3_its_init_domain(struct domain *d)
+{
+    int ret;
+
+    if ( is_hardware_domain(d) )
+    {
+        struct host_its *hw_its;
+
+        list_for_each_entry(hw_its, &host_its_list, entry)
+        {
+            /*
+             * For each host ITS create a virtual ITS using the same
+             * base and thus doorbell address.
+             * Use the same number of device ID and event ID bits as the h=
ost.
+             */
+            ret =3D vgic_its_create(d, hw_its->addr);
+            if ( ret )
+                return ret;
+            else
+                d->arch.vgic.has_its =3D true;
+        }
+    }
+
+    return 0;
+}
+
+void vgic_v3_its_free_domain(struct domain *d)
+{
+    struct vgic_its *its =3D d->arch.vgic.its;
+
+    xfree(its);
+    d->arch.vgic.its =3D NULL;
+}
diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
index 2fb44cfe6a..4bf8c21203 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v3.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -22,6 +22,16 @@
 #include "vgic.h"
 #include "vgic-mmio.h"
=20
+bool vgic_has_its(struct domain *d)
+{
+    struct vgic_dist *dist =3D &d->arch.vgic;
+
+    if ( dist->version !=3D GIC_V3 )
+        return false;
+
+    return false;
+}
+
 static struct vcpu *mpidr_to_vcpu(struct domain *d, unsigned long mpidr)
 {
     struct vcpu *vcpu;
@@ -381,6 +391,46 @@ static unsigned long vgic_mmio_read_v3_idregs(struct v=
cpu *vcpu, paddr_t addr,
     return 0;
 }
=20
+static unsigned long vgic_mmio_read_v3r_ctlr(struct vcpu *vcpu, paddr_t ad=
dr,
+                                             unsigned int len)
+{
+    struct vgic_cpu *vgic_cpu =3D &vcpu->arch.vgic;
+    unsigned long val;
+
+    val =3D atomic_read(&vgic_cpu->ctlr);
+    val |=3D GICR_CTLR_IR | GICR_CTLR_CES;
+
+    return val;
+}
+
+static void vgic_mmio_write_v3r_ctlr(struct vcpu *vcpu, paddr_t addr,
+                                     unsigned int len, unsigned long val)
+{
+    struct vgic_cpu *vgic_cpu =3D &vcpu->arch.vgic;
+    uint32_t ctlr;
+
+    if ( !vgic_has_its(vcpu->domain) )
+        return;
+
+    if ( !(val & GICR_CTLR_ENABLE_LPIS) )
+    {
+        /*
+		 * Don't disable if RWP is set, as there already an
+		 * ongoing disable. Funky guest...
+		 */
+        ctlr =3D atomic_cmpxchg(&vgic_cpu->ctlr, GICR_CTLR_ENABLE_LPIS,
+                              GICR_CTLR_RWP);
+        if ( ctlr !=3D GICR_CTLR_ENABLE_LPIS )
+            return;
+    }
+    else
+    {
+        ctlr =3D atomic_cmpxchg(&vgic_cpu->ctlr, 0, GICR_CTLR_ENABLE_LPIS)=
;
+        if ( ctlr !=3D 0 )
+            return;
+    }
+}
+
 bool vgic_lpis_enabled(struct vcpu *vcpu)
 {
     struct vgic_cpu *vgic_cpu =3D &vcpu->arch.vgic;
@@ -584,7 +634,7 @@ static const struct vgic_register_region vgic_v3_dist_r=
egisters[] =3D {
 static const struct vgic_register_region vgic_v3_rd_registers[] =3D {
     /* RD_base registers */
     REGISTER_DESC_WITH_LENGTH(GICR_CTLR,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        vgic_mmio_read_v3r_ctlr, vgic_mmio_write_v3r_ctlr, 4,
         VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_STATUSR,
         vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
index 1c3f861887..7a28be53bc 100644
--- a/xen/arch/arm/vgic/vgic-mmio.c
+++ b/xen/arch/arm/vgic/vgic-mmio.c
@@ -570,6 +570,9 @@ static int dispatch_mmio_read(struct vcpu *vcpu, mmio_i=
nfo_t *info,
     case IODEV_REDIST:
         data =3D region->read(iodev->redist_vcpu, addr, len);
         break;
+    case IODEV_ITS:
+        data =3D region->its_read(vcpu->domain, iodev->its, addr, len);;
+        break;
     }
=20
     memcpy(r, &data, len);
@@ -598,6 +601,9 @@ static int dispatch_mmio_write(struct vcpu *vcpu, mmio_=
info_t *info,
     case IODEV_REDIST:
         region->write(iodev->redist_vcpu, addr, len, data);
         break;
+    case IODEV_ITS:
+        region->its_write(vcpu->domain, iodev->its, addr, len, data);
+        break;
     }
=20
     return 1;
diff --git a/xen/arch/arm/vgic/vgic-mmio.h b/xen/arch/arm/vgic/vgic-mmio.h
index 3566cf237c..0a8deb46ba 100644
--- a/xen/arch/arm/vgic/vgic-mmio.h
+++ b/xen/arch/arm/vgic/vgic-mmio.h
@@ -21,10 +21,21 @@ struct vgic_register_region {
     unsigned int len;
     unsigned int bits_per_irq;
     unsigned int access_flags;
+
+    union {
     unsigned long (*read)(struct vcpu *vcpu, paddr_t addr,
                           unsigned int len);
+    unsigned long (*its_read)(struct domain *d, struct vgic_its *its,
+                    paddr_t addr, unsigned int len);
+    };
+
+    union {
     void (*write)(struct vcpu *vcpu, paddr_t addr,
                   unsigned int len, unsigned long val);
+    void (*its_write)(struct domain *d, struct vgic_its *its,
+                paddr_t addr, unsigned int len,
+                unsigned long val);
+    };
 };
=20
 extern struct mmio_handler_ops vgic_io_ops;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630308.983120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R44-0004PX-8g; Fri, 10 Nov 2023 12:56:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630308.983120; Fri, 10 Nov 2023 12:56: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 1r1R43-0004Ln-Om; Fri, 10 Nov 2023 12:56:47 +0000
Received: by outflank-mailman (input) for mailman id 630308;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3z-0001y0-6B
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:43 +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 9648dd55-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:39 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvg025691; Fri, 10 Nov 2023 12:56:30 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-10
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:30 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:23 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12: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: 9648dd55-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jSrOon4KwwEp4TCYidizdf9FwQJjtXY/J2xdVBpfYz5vrlmmHGtEEKyJZRBh8f31MrRczbExVzzEKa8VK77/3B4qOwAnnbt2fCH8tBDuPFbGzobfZ5z7MZLpKFUk7eGk++Du6hd3dqukdNDwTA16Sn8Dw2glMUuL/qQ6+KadTneh3jQx1hBfOgWNKJ0WYzogaQv1xtxVyPaJcj0W1inrzKRihby0g2Q92o9iMQg2H7gaWxNFs3hQ1OWHaoA5ni0J07Rq6eO2/oWsDIK2oKYoPReM7ucgRvuk3aU+WXwVBO4VPedW14vS9d9D8MobiQjXZNATZMsHJdSRfmIXN1NbQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9vJ5deanoQVE0pywwZGqhgsEzmKwhzWXrEeV9acFX4w=;
 b=JYPTtVt/bNZYxHkKlROgp/JmzXkVt0b4GVggy+/2Z/pkXmN+S0gIdczfvQ9SA3Znu0VEbvztkgtXjNJwytYbLQme1+TAv3EL9afBpYbju5/hMPXkaIMA8PZmDwxa8xYIZKzGfvyg6fYX+gsAE+HYDrpcDeIRJt46cF85syIcTsnXfnToVbW1z44vyQAX2OMLpeHd0fVB9F7Fo8gb/vBZ51Llgny53qaC7wSr6TxB/ycvEoMRY7Po1f1EN39Lmymgv8Ta/0NG6lt1gsJql+Rj1TCGcleR5Myj/WQvDoZtR42KEWthtla9n+27LyUi1CmXOTy0FnS4AHHd9SmG2hCa9Q==
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=9vJ5deanoQVE0pywwZGqhgsEzmKwhzWXrEeV9acFX4w=;
 b=WTHs2uChSEBGrlkn3aGajdBHWSLN6SOmx8gw0utyBWWBRymUYuUlojuvBgMoRbqcxC0uqt9Eu8oZqt7i8nZF4VK8XIIPta7ZGSqZVfVfITlluDQZuQ5h7GtZdKaHPGn4XuS/J0akxwRmat/B3njRvmN7UzohwzjPQliHnTyTIbNqtGKRPCE/yzdKcw9NIuzvv+hnHQGZvIAdihmhp0FkD+dyRMkJEjML+ZHcx6Aanc9IRPZJCwyNN51RS/pGGBTFp+u35QhlGt6VTsMG5INBb8zCR8fNOKX0Vv3knQsqFqA1umJlr96EAyxSK71sbpt3Kg+jK8FIjce9HK1eeZUSaQ==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 16/25] arm: new VGIC: its: Implement basic ITS register
 handlers
Thread-Topic: [XEN PATCH v2 16/25] arm: new VGIC: its: Implement basic ITS
 register handlers
Thread-Index: AQHaE9VNHux7NBgFFEy5VNobPwbK2A==
Date: Fri, 10 Nov 2023 12:56:21 +0000
Message-ID: 
 <5944f5e520cc7de554320d455f05f42090f7075e.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: f5908b83-222f-4748-a28d-08dbe1ec714d
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 NcgaXE50IdvPkO4fQYspKwtP4eeGp7sD/j96ERlbSWY8wBqbIfVfCOIyJyHehvycuRflDTInTmaQo5T2Jkxw2sWWOXP59Qp0MXuOwFAxuKYfVPxdV4rIxeYilYlCkzc3U6R4PgRnl6eFH5G0Qfp9pexq/7Ef7z8UZxut7m64dkp3G5yrHjzmB83pomZ31IVEwOd7jfRhlaDmIhqIynnAjXwdiVPAo/PjuyyfeX3JAH6vPu1qL3Dj41DG0EFXyKr/5Z3GXqM60z8iqMbS+abGhkoiwWipov3N6kKQk3MiBkTj6+9bmWTd8BbTZIlcRgCcWKhH0LtcgVr1f0dPTUt+YZ9tM18CGcF6OLc4YO8gVx0ZxHJd71lYDTmKDxUijayCrN5nvOUivx2c3PHYy4Bd8GCLLsyyJc0UyooYRQ10YzUnEinHNh+vPiu35ihQmGUXiF3nC96Ew0aWzHn61nPztsyUF7Ajl7WE/Vx809mxztgJ/qBXoViZ4vha9xntbPvkVqkpFvwJczRdnj6lJ/Q2gcH9g4mnFjKtV0G/e7q26vNnrHLqgfw1VJix9hLUQpy/pksR6cgZ9TBiEdYleCVhAW3qdbFWN6GaVfij7sM57/GQAC422YtlPL1HrO0c+cj/
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(30864003)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?Ql0uZS8Q/kJzzx5RFJeFQ/QXWCg2aT8lRZ6Swqdf57YIwVkqnwsZ6K3nst?=
 =?iso-8859-1?Q?Xwxn9e9CywbgY2wrrxNpnXsH/KuEEUEy9woGJXIdK7f4c7QPZJdAy68A16?=
 =?iso-8859-1?Q?MiUjnZI/V27unFAuKcKzZmhc73omIpv3Q2ae3KOqNusuyt8snaC4YYOj6T?=
 =?iso-8859-1?Q?54sPXyCVxHsvK41idg+Bk+2a4RWF2w1l+/xB5z15uCnVvjbqjxEDvyjwMJ?=
 =?iso-8859-1?Q?4IiscfxB4QeYSgOOf9ArMwhAxT2T/XqS8J0EcCiEmXf3C3pFYUXEy0FVzF?=
 =?iso-8859-1?Q?uKv5FKJDl3kn90bpteFM4Y2xJFJfy3Oq7qkG5F+CulOxhk4o7MiiW9q+EH?=
 =?iso-8859-1?Q?KUWhGX30TcKKSIvWyO5utEhsyzG1kEvmDFue5B8MpQ6d7+GUP0iukxRMrE?=
 =?iso-8859-1?Q?55vnjSymx0CIAEluu7urhmig8UEarnlxhW9rznrNwpSMcUZ0zL1Hbrf9of?=
 =?iso-8859-1?Q?07eFu1vziA1URx9PQhzm2S7zqsE03749DuCf8biXe5XmRFtWSxr5YSESLP?=
 =?iso-8859-1?Q?rVEFasQuOtoUYgcCU8SY3RfBMrErTKaprdjthPPRUtA+8c/qQJxWHyA2df?=
 =?iso-8859-1?Q?38cfRtEkPlLNKfvlaYS2avXCeLxcfQiEE+66fS00xtrTqfhZEkpeKdtWFQ?=
 =?iso-8859-1?Q?rEMw5de9kZV9UumQ0xDJJFjA3FL2uyL3omZ+fAYRALi2wU2qvSgv3E8Euc?=
 =?iso-8859-1?Q?sJadLnG6j7tLUZIZifB/KlFKoX8PETrFflB0gRnae6gHdiPmlnQOIadpZV?=
 =?iso-8859-1?Q?7kERnN5SYGCHRnlr6voQn3OhlY+jrTDzJ1lnvp4V1sPQFmxvUZkY21YU7W?=
 =?iso-8859-1?Q?/9ZxF/Gi6Tca1GxdHhOGWBO6nGqssS7kQvpmGe0CqmW5EjP5HTeE7ed7qX?=
 =?iso-8859-1?Q?V+2/Fks5NDeTSEJ86nddZpSrz86iTfFifg9ac4hT7DUAAWUiN7hIKTTboW?=
 =?iso-8859-1?Q?9kYAHQbFso65mu2Fxm7Q6WcZMOFn2Z1AwvLykEaVyP1DkeyhwoQWi1aw36?=
 =?iso-8859-1?Q?pESqSDAXAox8x4H1bF6NTzay/FMqgIZk7DKlwaTHQXeEPOvnKomj6Zr2Ve?=
 =?iso-8859-1?Q?RK2fWBIUPfYgh0g1/h5RKReRaZ3P8st1RIkcy0PfFWEYS2g9Ji/4z8kJvp?=
 =?iso-8859-1?Q?CM+hKNcDLSLro0kbuRAW9Nc8n12J2mvJy1yjwdAOhjbXr1so5J3DpeOb3/?=
 =?iso-8859-1?Q?eGJWSsRS8QFYQk6Byq+EMhJfGDkWxOIfVSbLrWV5ZnCpJeegeDSpGVs/Tp?=
 =?iso-8859-1?Q?1uJu/n2xhfFy2WcTU/y3DjQ8QA+vIatypa54dbmyqlGGEJBXDE33PlOq/b?=
 =?iso-8859-1?Q?x/UvoUMDUYEsCZMErdvYKWKVkIKT+KrCqniGHSvADRu/qaLmEGmpUGKKlt?=
 =?iso-8859-1?Q?wLeM+D5rPOCqpShPqm8JKJzMEEDoRBi2fjwT6fUxupfupdR1MFSSLOoDCQ?=
 =?iso-8859-1?Q?WGl5csruU2R2YgvITvj/oU7zUyzgRI5xxiW2CT8u+6c1RKsc96SZ4GZtHj?=
 =?iso-8859-1?Q?zPwLe1fQqqn5HO86wSr0gpmMqqIA5937jYpxZmh2B/E89fcVMAK1fWigao?=
 =?iso-8859-1?Q?jkKcdMY8NRXxmoLzOuMZtMumkyT2HXiKsJU0/0uA37kwSqMvBcPiF7XTjh?=
 =?iso-8859-1?Q?27AxGdXHRgXFJ1a1Ekqf9DoNYfHptQQens3Yhfcksrpg0ZhnfIqSBQUA?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f5908b83-222f-4748-a28d-08dbe1ec714d
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:21.4436
 (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: V1NOEhsKqoRJ27pwkXVU5l6AhD79EdWxXGFYXUz61dwZbf6jGEjt9FF8IUsu2kOET/Y3imKShYVzCpJMaNR+Pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: o2Jws51yVk5ZDJ5p_K6688AVePtAahNO
X-Proofpoint-GUID: o2Jws51yVk5ZDJ5p_K6688AVePtAahNO
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=999
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Add emulation for some basic MMIO registers used in the ITS emulation.
This includes:
- GITS_{CTLR,TYPER,IIDR}
- ID registers
- GITS_{CBASER,CREADR,CWRITER}
(which implement the ITS command buffer handling)
- GITS_BASER<n>

The registers holding base addresses and attributes are sanitised before
storing them.

Base on Linux commit 424c33830f53f2 by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/gic_v3_defs.h |   4 +
 xen/arch/arm/include/asm/gic_v3_its.h  |  60 ++++
 xen/arch/arm/include/asm/new_vgic.h    |  18 +
 xen/arch/arm/vgic/vgic-its.c           | 465 ++++++++++++++++++++++++-
 xen/arch/arm/vgic/vgic-mmio.h          |   7 +
 xen/arch/arm/vgic/vgic.h               |   5 +
 6 files changed, 546 insertions(+), 13 deletions(-)

diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/include/=
asm/gic_v3_defs.h
index 3f1f59d1c7..e4e4696de3 100644
--- a/xen/arch/arm/include/asm/gic_v3_defs.h
+++ b/xen/arch/arm/include/asm/gic_v3_defs.h
@@ -138,7 +138,11 @@
 #define GIC_BASER_NonShareable       0ULL
 #define GIC_BASER_InnerShareable     1ULL
 #define GIC_BASER_OuterShareable     2ULL
+#define GIC_BASER_SHAREABILITY_MASK  3ULL
=20
+#define GICR_PROPBASER_IDBITS_MASK   (0x1f)
+#define GICR_PROPBASER_ADDRESS(x)    ((x) & GENMASK_ULL(51, 12))
+#define GICR_PENDBASER_ADDRESS(x)    ((x) & GENMASK_ULL(51, 16))
 #define GICR_PROPBASER_OUTER_CACHEABILITY_SHIFT         56
 #define GICR_PROPBASER_OUTER_CACHEABILITY_MASK               \
         (7ULL << GICR_PROPBASER_OUTER_CACHEABILITY_SHIFT)
diff --git a/xen/arch/arm/include/asm/gic_v3_its.h b/xen/arch/arm/include/a=
sm/gic_v3_its.h
index 4e857cac1a..b408441c6e 100644
--- a/xen/arch/arm/include/asm/gic_v3_its.h
+++ b/xen/arch/arm/include/asm/gic_v3_its.h
@@ -36,7 +36,16 @@
 #define GITS_BASER6                     0x130
 #define GITS_BASER7                     0x138
 #define GITS_IDREGS_BASE                0xffd0
+#define GITS_PIDR0                      0xffe0
+#define GITS_PIDR1                      0xffe4
 #define GITS_PIDR2                      GICR_PIDR2
+#define GITS_PIDR4                      0xffd0
+#define GITS_CIDR0                      0xfff0
+#define GITS_CIDR1                      0xfff4
+#define GITS_CIDR2                      0xfff8
+#define GITS_CIDR3                      0xfffc
+
+#define GITS_TRANSLATER                 0x10040
=20
 /* Register bits */
 #define GITS_VALID_BIT                  BIT(63, UL)
@@ -50,6 +59,11 @@
 #define GITS_TYPER_DEVICE_ID_BITS(r)    ((((r) & GITS_TYPER_DEVIDS_MASK) >=
> \
                                                  GITS_TYPER_DEVIDS_SHIFT) =
+ 1)
=20
+#define GITS_IIDR_REV_SHIFT             12
+#define GITS_IIDR_REV_MASK              (0xf << GITS_IIDR_REV_SHIFT)
+#define GITS_IIDR_REV(r)                (((r) >> GITS_IIDR_REV_SHIFT) & 0x=
f)
+#define GITS_IIDR_PRODUCTID_SHIFT       24
+
 #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) >=
> \
@@ -61,10 +75,12 @@
                                                  GITS_TYPER_ITT_SIZE_SHIFT=
) + 1)
 #define GITS_TYPER_PHYSICAL             (1U << 0)
=20
+#define GITS_BASER_VALID                (1ULL << 63)
 #define GITS_BASER_INDIRECT             BIT(62, UL)
 #define GITS_BASER_INNER_CACHEABILITY_SHIFT        59
 #define GITS_BASER_TYPE_SHIFT           56
 #define GITS_BASER_TYPE_MASK            (7ULL << GITS_BASER_TYPE_SHIFT)
+#define GITS_BASER_TYPE(r)              (((r) >> GITS_BASER_TYPE_SHIFT) & =
7)
 #define GITS_BASER_OUTER_CACHEABILITY_SHIFT        53
 #define GITS_BASER_TYPE_NONE            0UL
 #define GITS_BASER_TYPE_DEVICE          1UL
@@ -77,6 +93,7 @@
 #define GITS_BASER_ENTRY_SIZE_SHIFT     48
 #define GITS_BASER_ENTRY_SIZE(reg)                                       \
                         ((((reg) >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0x1f) +=
 1)
+#define GITS_BASER_ENTRY_SIZE_MASK      GENMASK_ULL(52, 48)
 #define GITS_BASER_SHAREABILITY_SHIFT   10
 #define GITS_BASER_PAGE_SIZE_SHIFT      8
 #define GITS_BASER_SIZE_MASK            0xff
@@ -84,7 +101,48 @@
 #define GITS_BASER_OUTER_CACHEABILITY_MASK   (0x7ULL << GITS_BASER_OUTER_C=
ACHEABILITY_SHIFT)
 #define GITS_BASER_INNER_CACHEABILITY_MASK   (0x7ULL << GITS_BASER_INNER_C=
ACHEABILITY_SHIFT)
=20
+#define GIC_PAGE_SIZE_4K                0ULL
+#define GIC_PAGE_SIZE_16K               1ULL
+#define GIC_PAGE_SIZE_64K               2ULL
+#define GIC_PAGE_SIZE_MASK              3ULL
+
+#define __GITS_BASER_PSZ(sz)            \
+    (GIC_PAGE_SIZE_ ## sz << GITS_BASER_PAGE_SIZE_SHIFT)
+#define GITS_BASER_PAGE_SIZE_4K         __GITS_BASER_PSZ(4K)
+#define GITS_BASER_PAGE_SIZE_16K        __GITS_BASER_PSZ(16K)
+#define GITS_BASER_PAGE_SIZE_64K        __GITS_BASER_PSZ(64K)
+#define GITS_BASER_PAGE_SIZE_MASK       __GITS_BASER_PSZ(MASK)
+
+#define GITS_BASER_NR_PAGES(r)         (((r) & 0xff) + 1)
+
+#define GITS_BASER_PHYS_52_to_48(phys)					\
+	(((phys) & GENMASK_ULL(47, 16)) | (((phys) >> 48) & 0xf) << 12)
+#define GITS_BASER_ADDR_48_to_52(baser)					\
+	(((baser) & GENMASK_ULL(47, 16)) | (((baser) >> 12) & 0xf) << 48)
+
+#define GIC_BASER_CACHEABILITY(reg, inner_outer, type)			\
+	(GIC_BASER_CACHE_##type << reg##_##inner_outer##_CACHEABILITY_SHIFT)
+
+#define GIC_BASER_SHAREABILITY(reg, type)				\
+	(GIC_BASER_##type << reg##_SHAREABILITY_SHIFT)
+
 #define GITS_CBASER_SIZE_MASK           0xff
+#define GITS_CBASER_VALID               (1ULL << 63)
+#define GITS_CBASER_SHAREABILITY_SHIFT  (10)
+#define GITS_CBASER_INNER_CACHEABILITY_SHIFT    (59)
+#define GITS_CBASER_OUTER_CACHEABILITY_SHIFT    (53)
+#define GITS_CBASER_SHAREABILITY_MASK					\
+	GIC_BASER_SHAREABILITY(GITS_CBASER, SHAREABILITY_MASK)
+#define GITS_CBASER_INNER_CACHEABILITY_MASK				\
+	GIC_BASER_CACHEABILITY(GITS_CBASER, INNER, MASK)
+#define GITS_CBASER_OUTER_CACHEABILITY_MASK				\
+	GIC_BASER_CACHEABILITY(GITS_CBASER, OUTER, MASK)
+#define GITS_CBASER_CACHEABILITY_MASK GITS_CBASER_INNER_CACHEABILITY_MASK
+
+#define GITS_CBASER_InnerShareable					\
+	GIC_BASER_SHAREABILITY(GITS_CBASER, InnerShareable)
+
+#define GITS_CBASER_ADDRESS(cbaser)	((cbaser) & GENMASK_ULL(51, 12))
=20
 /* ITS command definitions */
 #define ITS_CMD_SIZE                    32
@@ -104,6 +162,8 @@
=20
 #define ITS_DOORBELL_OFFSET             0x10040
 #define GICV3_ITS_SIZE                  SZ_128K
+#define ITS_TRANSLATION_OFFSET          0x10000
+#define GIC_ENCODE_SZ(n, w) (((unsigned long)(n) - 1) & GENMASK_ULL(((w) -=
 1), 0))
=20
 #include <xen/device_tree.h>
 #include <xen/rbtree.h>
diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm=
/new_vgic.h
index 00a5557921..3048f39844 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -122,7 +122,25 @@ struct vgic_its {
=20
     bool enabled;
     struct vgic_io_device iodev;
+    struct domain *domain;
+
+    /* These registers correspond to GITS_BASER{0,1} */
+    u64 baser_device_table;
+    u64 baser_coll_table;
+
+    /* Protects the command queue */
+    struct spinlock cmd_lock;
+    u64 cbaser;
+    u32 creadr;
+    u32 cwriter;
+
+    /* migration ABI revision in use */
+    u32 abi_rev;
+
+    /* Protects the device and collection lists */
+    struct spinlock its_lock;
     struct list_head device_list;
+    struct list_head collection_list;
     paddr_t doorbell_address;
 };
=20
diff --git a/xen/arch/arm/vgic/vgic-its.c b/xen/arch/arm/vgic/vgic-its.c
index 3eceadaa79..5e94f0144d 100644
--- a/xen/arch/arm/vgic/vgic-its.c
+++ b/xen/arch/arm/vgic/vgic-its.c
@@ -27,11 +27,22 @@
 #include "vgic.h"
 #include "vgic-mmio.h"
=20
-static unsigned long its_mmio_read_raz(struct domain *d, struct vgic_its *=
its,
-                              paddr_t addr, unsigned int len)
-{
-    return 0;
-}
+#define COLLECTION_NOT_MAPPED ((u32)~0)
+
+struct its_collection {
+    struct list_head coll_list;
+
+    u32 collection_id;
+    u32 target_addr;
+};
+
+struct its_ite {
+    struct list_head ite_list;
+
+    struct vgic_irq *irq;
+    struct its_collection *collection;
+    u32 event_id;
+};
=20
 /*
  * Find and returns a device in the device table for an ITS.
@@ -48,16 +59,68 @@ static struct vgic_its_device *find_its_device(struct v=
gic_its *its, u32 device_
     return NULL;
 }
=20
+#define VGIC_ITS_TYPER_IDBITS           16
+#define VGIC_ITS_TYPER_DEVBITS          16
+#define VGIC_ITS_TYPER_ITE_SIZE         8
+
+/* Requires the its_lock to be held. */
+static void its_free_ite(struct domain *d, struct its_ite *ite)
+{
+    list_del(&ite->ite_list);
+
+    /* This put matches the get in vgic_add_lpi. */
+    if ( ite->irq )
+    {
+        /* GICv4 style VLPIS are not yet supported */
+        WARN_ON(ite->irq->hw);
+
+        vgic_put_irq(d, ite->irq);
+    }
+
+    xfree(ite);
+}
+
 /* Requires the its_devices_lock to be held. */
 void vgic_its_free_device(struct vgic_its_device *device)
 {
+    struct its_ite *ite, *temp;
     struct domain *d =3D device->d;
    =20
     BUG_ON(!d);
+    /*
+     * The spec says that unmapping a device with still valid
+     * ITTEs associated is UNPREDICTABLE. We remove all ITTEs,
+     * since we cannot leave the memory unreferenced.
+     */
+    list_for_each_entry_safe(ite, temp, &device->itt_head, ite_list)
+        its_free_ite(d, ite);
+
     list_del(&device->dev_list);
     xfree(device);
 }
=20
+/* its lock must be held */
+static void vgic_its_free_device_list(struct domain *d, struct vgic_its *i=
ts)
+{
+    struct vgic_its_device *cur, *temp;
+
+    list_for_each_entry_safe(cur, temp, &its->device_list, dev_list)
+        vgic_its_free_device(cur);
+}
+
+/* its lock must be held */
+static void vgic_its_free_collection_list(struct domain *d,
+                                          struct vgic_its *its)
+{
+    struct its_collection *cur, *temp;
+
+    list_for_each_entry_safe(cur, temp, &its->collection_list, coll_list)
+    {
+        list_del(&cur->coll_list);
+        xfree(cur);
+    }
+}
+
 /* Must be called with its_devices_lock mutex held */
 struct vgic_its_device* vgic_its_get_device(struct domain *d, paddr_t vdoo=
rbell,
                                          uint32_t vdevid)
@@ -119,6 +182,349 @@ void vgic_its_delete_device(struct domain *d, struct =
vgic_its_device *its_dev)
     list_del(&its_dev->dev_list);
 }
=20
+/*
+ * This function is called with the its_cmd lock held, but the ITS data
+ * structure lock dropped.
+ */
+static int vgic_its_handle_command(struct domain *d, struct vgic_its *its,
+                                   u64 *its_cmd)
+{
+
+    return -ENODEV;
+}
+
+#define ITS_CMD_BUFFER_SIZE(baser) ((((baser)&0xff) + 1) << 12)
+#define ITS_CMD_SIZE               32
+#define ITS_CMD_OFFSET(reg)        ((reg)&GENMASK(19, 5))
+
+/* Must be called with the cmd_lock held. */
+static void vgic_its_process_commands(struct domain *d, struct vgic_its *i=
ts)
+{
+    paddr_t cbaser;
+    u64 cmd_buf[4];
+
+    /* Commands are only processed when the ITS is enabled. */
+    if ( !its->enabled )
+        return;
+
+    cbaser =3D GITS_CBASER_ADDRESS(its->cbaser);
+
+    while ( its->cwriter !=3D its->creadr )
+    {
+        int ret =3D access_guest_memory_by_gpa(d, cbaser + its->creadr, cm=
d_buf,
+                                             ITS_CMD_SIZE, false);
+        /*
+         * If kvm_read_guest() fails, this could be due to the guest
+         * programming a bogus value in CBASER or something else going
+         * wrong from which we cannot easily recover.
+         * According to section 6.3.2 in the GICv3 spec we can just
+         * ignore that command then.
+         */
+        if ( !ret )
+            vgic_its_handle_command(d, its, cmd_buf);
+
+        its->creadr +=3D ITS_CMD_SIZE;
+        if ( its->creadr =3D=3D ITS_CMD_BUFFER_SIZE(its->cbaser) )
+            its->creadr =3D 0;
+    }
+}
+
+static unsigned long vgic_mmio_read_its_ctlr(struct domain *d,
+                                             struct vgic_its *its, paddr_t=
 addr,
+                                             unsigned int len)
+{
+    u32 reg =3D 0;
+
+    spin_lock(&its->cmd_lock);
+    if ( its->creadr =3D=3D its->cwriter )
+        reg |=3D GITS_CTLR_QUIESCENT;
+    if ( its->enabled )
+        reg |=3D GITS_CTLR_ENABLE;
+    spin_unlock(&its->cmd_lock);
+
+    return reg;
+}
+
+static void vgic_mmio_write_its_ctlr(struct domain *d, struct vgic_its *it=
s,
+                                     paddr_t addr, unsigned int len,
+                                     unsigned long val)
+{
+    spin_lock(&its->cmd_lock);
+
+    /*
+     * It is UNPREDICTABLE to enable the ITS if any of the CBASER or
+     * device/collection BASER are invalid
+     */
+    if ( !its->enabled && (val & GITS_CTLR_ENABLE) &&
+         (!(its->baser_device_table & GITS_VALID_BIT) ||
+          !(its->baser_coll_table & GITS_VALID_BIT) ||
+          !(its->cbaser & GITS_VALID_BIT)) )
+        goto out;
+
+    its->enabled =3D !!(val & GITS_CTLR_ENABLE);
+
+    /*
+     * Try to process any pending commands. This function bails out early
+     * if the ITS is disabled or no commands have been queued.
+     */
+    vgic_its_process_commands(d, its);
+
+out:
+    spin_unlock(&its->cmd_lock);
+}
+
+static unsigned long vgic_mmio_read_its_iidr(struct domain *d,
+                                             struct vgic_its *its, paddr_t=
 addr,
+                                             unsigned int len)
+{
+    u32 val;
+
+    val =3D (its->abi_rev << GITS_IIDR_REV_SHIFT) & GITS_IIDR_REV_MASK;
+    val |=3D (PRODUCT_ID_KVM << GITS_IIDR_PRODUCTID_SHIFT) | IMPLEMENTER_A=
RM;
+    return val;
+}
+
+static unsigned long vgic_mmio_read_its_typer(struct domain *d,
+                                              struct vgic_its *its,
+                                              paddr_t addr, unsigned int l=
en)
+{
+    u64 reg                        =3D GITS_TYPER_PHYSICAL;
+
+    /*
+     * We use linear CPU numbers for redistributor addressing,
+     * so GITS_TYPER.PTA is 0.
+     * Also we force all PROPBASER registers to be the same, so
+     * CommonLPIAff is 0 as well.
+     * To avoid memory waste in the guest, we keep the number of IDBits an=
d
+     * DevBits low - as least for the time being.
+     */
+    reg |=3D GIC_ENCODE_SZ(VGIC_ITS_TYPER_DEVBITS, 5) << GITS_TYPER_DEVIDS=
_SHIFT;
+    reg |=3D GIC_ENCODE_SZ(VGIC_ITS_TYPER_IDBITS, 5) << GITS_TYPER_IDBITS_=
SHIFT;
+    reg |=3D GIC_ENCODE_SZ(VGIC_ITS_TYPER_ITE_SIZE, 4) << GITS_TYPER_ITT_S=
IZE_SHIFT;
+
+    return extract_bytes(reg, addr & 7, len);
+}
+
+static u64 vgic_sanitise_its_baser(u64 reg)
+{
+    reg =3D vgic_sanitise_field(reg, GITS_BASER_SHAREABILITY_MASK,
+                              GITS_BASER_SHAREABILITY_SHIFT,
+                              vgic_sanitise_shareability);
+    reg =3D vgic_sanitise_field(reg, GITS_BASER_INNER_CACHEABILITY_MASK,
+                              GITS_BASER_INNER_CACHEABILITY_SHIFT,
+                              vgic_sanitise_inner_cacheability);
+    reg =3D vgic_sanitise_field(reg, GITS_BASER_OUTER_CACHEABILITY_MASK,
+                              GITS_BASER_OUTER_CACHEABILITY_SHIFT,
+                              vgic_sanitise_outer_cacheability);
+
+    /* We support only one (ITS) page size: 64K */
+    reg =3D (reg & ~GITS_BASER_PAGE_SIZE_MASK) | GITS_BASER_PAGE_SIZE_64K;
+
+    return reg;
+}
+
+static u64 vgic_sanitise_its_cbaser(u64 reg)
+{
+    reg =3D vgic_sanitise_field(reg, GITS_CBASER_SHAREABILITY_MASK,
+                              GITS_CBASER_SHAREABILITY_SHIFT,
+                              vgic_sanitise_shareability);
+    reg =3D vgic_sanitise_field(reg, GITS_CBASER_INNER_CACHEABILITY_MASK,
+                              GITS_CBASER_INNER_CACHEABILITY_SHIFT,
+                              vgic_sanitise_inner_cacheability);
+    reg =3D vgic_sanitise_field(reg, GITS_CBASER_OUTER_CACHEABILITY_MASK,
+                              GITS_CBASER_OUTER_CACHEABILITY_SHIFT,
+                              vgic_sanitise_outer_cacheability);
+
+    /* Sanitise the physical address to be 64k aligned. */
+    reg &=3D ~GENMASK_ULL(15, 12);
+
+    return reg;
+}
+
+static unsigned long vgic_mmio_read_its_cbaser(struct domain *d,
+                                               struct vgic_its *its,
+                                               paddr_t addr, unsigned int =
len)
+{
+    return extract_bytes(its->cbaser, addr & 7, len);
+}
+
+static void vgic_mmio_write_its_cbaser(struct domain *d, struct vgic_its *=
its,
+                                       paddr_t addr, unsigned int len,
+                                       unsigned long val)
+{
+    /* When GITS_CTLR.Enable is 1, this register is RO. */
+    if ( its->enabled )
+        return;
+
+    spin_lock(&its->cmd_lock);
+    its->cbaser =3D update_64bit_reg(its->cbaser, addr & 7, len, val);
+    its->cbaser =3D vgic_sanitise_its_cbaser(its->cbaser);
+    its->creadr =3D 0;
+    /*
+     * CWRITER is architecturally UNKNOWN on reset, but we need to reset
+     * it to CREADR to make sure we start with an empty command buffer.
+     */
+    its->cwriter =3D its->creadr;
+    spin_unlock(&its->cmd_lock);
+}
+
+static unsigned long vgic_mmio_read_its_cwriter(struct domain *d,
+                                                struct vgic_its *its,
+                                                paddr_t addr, unsigned int=
 len)
+{
+    return extract_bytes(its->cwriter, addr & 0x7, len);
+}
+
+/*
+ * By writing to CWRITER the guest announces new commands to be processed.
+ * To avoid any races in the first place, we take the its_cmd lock, which
+ * protects our ring buffer variables, so that there is only one user
+ * per ITS handling commands at a given time.
+ */
+static void vgic_mmio_write_its_cwriter(struct domain *d, struct vgic_its =
*its,
+                                        paddr_t addr, unsigned int len,
+                                        unsigned long val)
+{
+    u64 reg;
+
+    if ( !its )
+        return;
+
+    spin_lock(&its->cmd_lock);
+
+    reg =3D update_64bit_reg(its->cwriter, addr & 7, len, val);
+    reg =3D ITS_CMD_OFFSET(reg);
+    if ( reg >=3D ITS_CMD_BUFFER_SIZE(its->cbaser) )
+    {
+        spin_unlock(&its->cmd_lock);
+        return;
+    }
+    its->cwriter =3D reg;
+
+    vgic_its_process_commands(d, its);
+
+    spin_unlock(&its->cmd_lock);
+}
+
+static unsigned long vgic_mmio_read_its_creadr(struct domain *d,
+                                               struct vgic_its *its,
+                                               paddr_t addr, unsigned int =
len)
+{
+    return extract_bytes(its->creadr, addr & 0x7, len);
+}
+
+#define BASER_INDEX(addr) (((addr) / sizeof(u64)) & 0x7)
+
+static unsigned long vgic_mmio_read_its_baser(struct domain *d,
+                                              struct vgic_its *its,
+                                              paddr_t addr, unsigned int l=
en)
+{
+    uint64_t reg;
+
+    switch ( BASER_INDEX(addr) )
+    {
+    case 0:
+        reg =3D its->baser_device_table;
+        break;
+    case 1:
+        reg =3D its->baser_coll_table;
+        break;
+    default:
+        reg =3D 0;
+        break;
+    }
+
+    return extract_bytes(reg, addr & 7, len);
+}
+
+#define GITS_BASER_RO_MASK (GENMASK_ULL(52, 48) | GENMASK_ULL(58, 56))
+#define VGIC_ITS_BASER_DTE_SIZE 8
+#define VGIC_ITS_BASER_CTE_SIZE 8
+
+static void vgic_mmio_write_its_baser(struct domain *d, struct vgic_its *i=
ts,
+                                      paddr_t addr, unsigned int len,
+                                      unsigned long val)
+{
+    u64 entry_size, table_type;
+    u64 reg, *regptr, clearbits =3D 0;
+
+    /* When GITS_CTLR.Enable is 1, we ignore write accesses. */
+    if ( its->enabled )
+        return;
+
+    switch ( BASER_INDEX(addr) )
+    {
+    case 0:
+        regptr     =3D &its->baser_device_table;
+        entry_size =3D VGIC_ITS_BASER_DTE_SIZE;
+        table_type =3D GITS_BASER_TYPE_DEVICE;
+        break;
+    case 1:
+        regptr     =3D &its->baser_coll_table;
+        entry_size =3D VGIC_ITS_BASER_CTE_SIZE;
+        table_type =3D GITS_BASER_TYPE_COLLECTION;
+        clearbits  =3D GITS_BASER_INDIRECT;
+        break;
+    default:
+        return;
+    }
+
+    reg =3D update_64bit_reg(*regptr, addr & 7, len, val);
+    reg &=3D ~GITS_BASER_RO_MASK;
+    reg &=3D ~clearbits;
+
+    reg |=3D (entry_size - 1) << GITS_BASER_ENTRY_SIZE_SHIFT;
+    reg |=3D table_type << GITS_BASER_TYPE_SHIFT;
+    reg     =3D vgic_sanitise_its_baser(reg);
+
+    *regptr =3D reg;
+
+    if ( !(reg & GITS_BASER_VALID) )
+    {
+        /* Take the its_lock to prevent a race with a save/restore */
+        spin_lock(&its->its_lock);
+        switch ( table_type )
+        {
+        case GITS_BASER_TYPE_DEVICE:
+            vgic_its_free_device_list(d, its);
+            break;
+        case GITS_BASER_TYPE_COLLECTION:
+            vgic_its_free_collection_list(d, its);
+            break;
+        }
+        spin_unlock(&its->its_lock);
+    }
+}
+
+
+static unsigned long vgic_mmio_read_its_idregs(struct domain *d,
+                                               struct vgic_its *its,
+                                               paddr_t addr, unsigned int =
len)
+{
+    switch ( addr & 0xffff )
+    {
+    case GITS_PIDR0:
+        return 0x92; /* part number, bits[7:0] */
+    case GITS_PIDR1:
+        return 0xb4; /* part number, bits[11:8] */
+    case GITS_PIDR2:
+        return GIC_PIDR2_ARCH_GICv3 | 0x0b;
+    case GITS_PIDR4:
+        return 0x40; /* This is a 64K software visible page */
+    /* The following are the ID registers for (any) GIC. */
+    case GITS_CIDR0:
+        return 0x0d;
+    case GITS_CIDR1:
+        return 0xf0;
+    case GITS_CIDR2:
+        return 0x05;
+    case GITS_CIDR3:
+        return 0xb1;
+    }
+
+    return 0;
+}
+
 static void its_mmio_write_wi(struct domain *d, struct vgic_its *its,
                               paddr_t addr, unsigned int len, unsigned lon=
g val)
 {
@@ -133,28 +539,28 @@ static void its_mmio_write_wi(struct domain *d, struc=
t vgic_its *its,
=20
 static struct vgic_register_region its_registers[] =3D {
     REGISTER_ITS_DESC(GITS_CTLR,
-                        its_mmio_read_raz, its_mmio_write_wi, 4,
+                        vgic_mmio_read_its_ctlr, vgic_mmio_write_its_ctlr,=
 4,
                         VGIC_ACCESS_32bit),
     REGISTER_ITS_DESC(GITS_IIDR,
-                        its_mmio_read_raz, its_mmio_write_wi, 4,
+                        vgic_mmio_read_its_iidr, its_mmio_write_wi, 4,
                         VGIC_ACCESS_32bit),
     REGISTER_ITS_DESC(GITS_TYPER,
-                        its_mmio_read_raz, its_mmio_write_wi, 8,
+                        vgic_mmio_read_its_typer, its_mmio_write_wi, 8,
                         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_ITS_DESC(GITS_CBASER,
-                        its_mmio_read_raz, its_mmio_write_wi, 8,
+                        vgic_mmio_read_its_cbaser, vgic_mmio_write_its_cba=
ser, 8,
                         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_ITS_DESC(GITS_CWRITER,=20
-                        its_mmio_read_raz, its_mmio_write_wi, 8,
+                        vgic_mmio_read_its_cwriter, vgic_mmio_write_its_cw=
riter, 8,
                         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_ITS_DESC(GITS_CREADR,
-                        its_mmio_read_raz, its_mmio_write_wi, 8,
+                        vgic_mmio_read_its_creadr, its_mmio_write_wi, 8,
                         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_ITS_DESC(GITS_BASER0,
-                        its_mmio_read_raz, its_mmio_write_wi, 0x40,
+                        vgic_mmio_read_its_baser, vgic_mmio_write_its_base=
r, 0x40,
                         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_ITS_DESC(GITS_IDREGS_BASE,
-                        its_mmio_read_raz, its_mmio_write_wi, 0x30,
+                        vgic_mmio_read_its_idregs, its_mmio_write_wi, 0x30=
,
                         VGIC_ACCESS_32bit),
 };
=20
@@ -184,6 +590,17 @@ out:
     return ret;
 }
=20
+#define INITIAL_BASER_VALUE                                               =
     \
+    (GIC_BASER_CACHEABILITY(GITS_BASER, INNER, RaWb) |                    =
     \
+     GIC_BASER_CACHEABILITY(GITS_BASER, OUTER, SameAsInner) |             =
     \
+     GIC_BASER_SHAREABILITY(GITS_BASER, InnerShareable) |                 =
     \
+     GITS_BASER_PAGE_SIZE_64K)
+
+#define INITIAL_PROPBASER_VALUE                                           =
     \
+    (GIC_BASER_CACHEABILITY(GICR_PROPBASER, INNER, RaWb) |                =
     \
+     GIC_BASER_CACHEABILITY(GICR_PROPBASER, OUTER, SameAsInner) |         =
     \
+     GIC_BASER_SHAREABILITY(GICR_PROPBASER, InnerShareable))
+
 static int vgic_its_create(struct domain *d, u64 addr)
 {
     struct vgic_its *its;
@@ -194,11 +611,25 @@ static int vgic_its_create(struct domain *d, u64 addr=
)
=20
     d->arch.vgic.its =3D its;
=20
+    spin_lock_init(&its->its_lock);
+    spin_lock_init(&its->cmd_lock);
+
     its->vgic_its_base =3D VGIC_ADDR_UNDEF;
=20
+    INIT_LIST_HEAD(&its->device_list);
+    INIT_LIST_HEAD(&its->collection_list);
+    spin_lock_init(&d->arch.vgic.its_devices_lock);
+
     d->arch.vgic.msis_require_devid =3D true;
     d->arch.vgic.has_its            =3D true;
     its->enabled                    =3D false;
+    its->domain                     =3D d;
+
+    its->baser_device_table =3D INITIAL_BASER_VALUE | ((u64)GITS_BASER_TYP=
E_DEVICE
+                                                     << GITS_BASER_TYPE_SH=
IFT);
+    its->baser_coll_table =3D INITIAL_BASER_VALUE |
+        ((u64)GITS_BASER_TYPE_COLLECTION << GITS_BASER_TYPE_SHIFT);
+    d->arch.vgic.propbaser =3D INITIAL_PROPBASER_VALUE;
=20
     vgic_register_its_iodev(d, its, addr);
=20
@@ -241,6 +672,14 @@ void vgic_v3_its_free_domain(struct domain *d)
 {
     struct vgic_its *its =3D d->arch.vgic.its;
=20
+    spin_lock(&its->its_lock);
+    spin_lock(&d->arch.vgic.its_devices_lock);
+
+    vgic_its_free_device_list(d, its);
+    vgic_its_free_collection_list(d, its);
+
+    spin_unlock(&d->arch.vgic.its_devices_lock);
+    spin_unlock(&its->its_lock);
     xfree(its);
     d->arch.vgic.its =3D NULL;
 }
diff --git a/xen/arch/arm/vgic/vgic-mmio.h b/xen/arch/arm/vgic/vgic-mmio.h
index 0a8deb46ba..edf8665cda 100644
--- a/xen/arch/arm/vgic/vgic-mmio.h
+++ b/xen/arch/arm/vgic/vgic-mmio.h
@@ -146,4 +146,11 @@ void vgic_mmio_write_config(struct vcpu *vcpu,
=20
 unsigned int vgic_v2_init_dist_iodev(struct vgic_io_device *dev);
=20
+/* extract @num bytes at @offset bytes offset in data */
+unsigned long extract_bytes(uint64_t data, unsigned int offset,
+			    unsigned int num);
+
+uint64_t update_64bit_reg(u64 reg, unsigned int offset, unsigned int len,
+		     unsigned long val);
+
 #endif
diff --git a/xen/arch/arm/vgic/vgic.h b/xen/arch/arm/vgic/vgic.h
index 791c91ebb3..a14b519f77 100644
--- a/xen/arch/arm/vgic/vgic.h
+++ b/xen/arch/arm/vgic/vgic.h
@@ -80,6 +80,11 @@ bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, uni=
on hsr hsr);
 unsigned int vgic_v3_init_dist_iodev(struct vgic_io_device *dev);
 int vgic_v3_set_redist_base(struct domain *d, u32 index, u64 addr, u32 cou=
nt);
 int vgic_register_redist_iodev(struct vcpu *vcpu);
+u64 vgic_sanitise_field(u64 reg, u64 field_mask, int field_shift,
+			u64 (*sanitise_fn)(u64));
+u64 vgic_sanitise_shareability(u64 field);
+u64 vgic_sanitise_inner_cacheability(u64 field);
+u64 vgic_sanitise_outer_cacheability(u64 field);
 #else
 static inline void vgic_v3_fold_lr_state(struct vcpu *vcpu)
 {
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630307.983133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R46-0004sD-3Z; Fri, 10 Nov 2023 12:56:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630307.983133; Fri, 10 Nov 2023 12:56: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 1r1R45-0004oA-7n; Fri, 10 Nov 2023 12:56:49 +0000
Received: by outflank-mailman (input) for mailman id 630307;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R3z-0001y1-CI
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:43 +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 95c9fe29-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:38 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIeej019156; Fri, 10 Nov 2023 12:56:29 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkyram6-6
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:29 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:23 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12: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: 95c9fe29-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Rv5kwpzvWw0XEwFyhoIpk7RN9jo9m3jLv4QF0shKKK8EUbHsSfCtYZXX1szT1Nbn2TOoMHQ83w4NxD99RJYOvbFQf4ofePrWxegooPs2gXMQqLYhbD0VJe+j6LquXYLuJ/LSZz5zzH37jzGLHCfq3WzQ20yJeBEVLv/Huk6Pj22QDeGamWmTGzEJ3ZU/yNpM22BhOanZN/W1TrZWMluWpANHna4ENYXpyixapGnPzrfUiOiKnQnM8jKa+IvxGvYnvcXbol3m5Rbiyf844JqWlVFmVaZqPf/auEM4FjegiRxaRUVBB3ar74b7GEHXqoLR02OsaqiEB4FIUfQiy8WKag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=47n0bB5G3TmN3uYlmHnSquD6nIz7tCxZvB5mgkD08G8=;
 b=EItLHzpLvFaGBlgAA09EQzcliE0UdEaS6MrJrMrYhHZyUoFlY3nvcYKc7dcoQFGnv+YOU9Fl2gdgkuzFR3hUGNB+XNs1dX5H9Oc5nGrtXEGqoG9pJAckq1/lfJFvzqU3ibMh6z1urzpZgihmU7u3QCt8aHeQ7MNMTdEWCxp56qmvWbPwhg60yLwcOL/nxyLQpOz9BZIaLPj802OhVbajx9PbPNqGJrtnSaC2O2UTnuzes/R/cZkCcs/G+KFWgPSMK6TtFtL38vjO0v0mjcb2f0XqWUrFOc60KSiwU+4+9fHmsXFrdC1YTsDKvrZojB0MohwjKftNoI4vMppwXqPQIA==
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=47n0bB5G3TmN3uYlmHnSquD6nIz7tCxZvB5mgkD08G8=;
 b=Gfu8kWR9/aQ/SiaePsN3t57R9QUmko6Ek1w03uuOhZbU4YNAasbzGnMQbXsyQbLQOMly4iFoYPykce6up0tM/trCDtEBs9+CLFFsW+vVk/88p9Ce7Hjpm3lnwTDp+ZuKt3lTrSg0TZqNkmQM1LM49M0te9M95gXlFyiFH2R6sdWm5vqilx0GTp+fQf77M3ILNJoqp7GOwFoaoE3KyxXi/80TtZhNAyF8pEkS5+V6MJFVubwmN3RpPQzwnTo7vzSUrj9z8uvq26Fr2kYcaNkJMl2Fcac+gWlvcxb11mrkwAxAG1xR2gm72xV6gnRnv2WNAPAjia/wk9N7JlQfT4Vhzw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 15/25] arm: new VGIC: its: Introduce ITS device list
Thread-Topic: [XEN PATCH v2 15/25] arm: new VGIC: its: Introduce ITS device
 list
Thread-Index: AQHaE9VNnykDJMuRjky7h0IUhySwAQ==
Date: Fri, 10 Nov 2023 12:56:21 +0000
Message-ID: 
 <0bbd5eb62605243e1ea437e8ca113f8851b1e49e.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: fe251b08-cd6c-4d7e-2eb7-08dbe1ec7119
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 rm8YD+fj78vuOQklbNVMmVV1xtnfdddBvvt9deEL5N3kF7VVeqYXU3M209qQtFrgzuTgYOMdJqhzvrtj18dB1zOmYylbDps635/iGYQBB2GimVXJY441lma7WWwy3LT5VcMhd+uE+d5B62OEu6dbpkEjvMF0pQrWPtAvErJLaKWrvPGUlRwoVkfSxgZC0FqOLDANoctkSsE/XL7/NPesBzkfvja4lOPw/hXXgpBPevcRgz8dqwZbZHVKnek53JKlIBpNBkMt3Bm78MHZdRa0yBpMKJz3XyQp6LiiAJNsUhukZDXIe7m6gpLJ7vnTMPKTlpz2h2IXa50pAB6I3ZJOZ94B8ww78/P+dtkHYz6HJHBM8VtVNpPsZ92XBo5pUxDMxNW2Pf+2S+MFmjES3hJ+qwP8Nj4UcLb2B08MTiokAEBjA/UpF0UgWJJK6E3zG4YjriUQKn3Lqv/6dy775+Pu89cbE9SnoLjYxSYLI3IeyEIRwplFFKOGntiJ6omg76cbLMrOP7KdejDDQTH1V8f0+zb/+FRGcoqb9P/sdEexxNio/1TNY1U2l+6n+c26anHNs5BQ5faJWgolZBokR8E37K8tI7B/WfO2OcIkK4R9vj3bNHxgY8u92qcoMP72A1Vq
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?1XIAeqnq/mUGWl82vNpI9HCVs+nBRHO2WTl6V81eLR8cRk3LuNBhjBXESQ?=
 =?iso-8859-1?Q?qY//rG9tKe1FyTk6Kh3/iQfeE7llo1+XbX+tJTCLHsELtIFbSBX8DgIhJJ?=
 =?iso-8859-1?Q?KXQc3FtbgqmtjDGtWONK1SF4BdHE/cgF9Zj/JTyDN4j/NnZ2W02NYvapen?=
 =?iso-8859-1?Q?CcFRdPPSZ18qGiIpqwS+cZ0a3XoUVRfmZlTSZyUOMLsiM7S0w5GFDs39LK?=
 =?iso-8859-1?Q?h9DZyyGGJmMHDZjYEkWEbhT5lm6Asw3nzGROvVTUSkJlRc/TrVV96l4qKn?=
 =?iso-8859-1?Q?uvgkndUAnXCHjniSOXLddsUITYTnAbikjMGKpUyJevlBKmixEVBOOROUJ+?=
 =?iso-8859-1?Q?ewWbsdPAzRcUBxwJ6qvwEJghK+ng4vC0Zq2e+U19e6eR15YqlmM4FQ+fwb?=
 =?iso-8859-1?Q?Su4kwCFiogrebUocyD4UpHrRizuikB6PBrDHGvuOv/w5vD69TpP66WHSIv?=
 =?iso-8859-1?Q?cdi8eVsKpxDNaT3k5DVBNwd8ggS16WLfGGIQRqylMUlRozLKX8N5v0Lrya?=
 =?iso-8859-1?Q?sEcuUO6ztK0/jYSilwfZowmlHsuz7TsrTiRmYO2gMzYlPrv/hfe372jU2t?=
 =?iso-8859-1?Q?VGaciPuUkr8QghTwggYia3EMlcO5+hO+fYxIG0eK9HKtCyopVqifFSRKGr?=
 =?iso-8859-1?Q?txLM0oY63DGC6IFejzftSPlAP7LUUNZWQSN9y5Uqfg3UoKsavUVM+9DOW0?=
 =?iso-8859-1?Q?MtTbXgr1G5XUDHtBkjsV1Tx9w+k+pEORd6I5CyAp3fwRUD+AtVdP3lcPP6?=
 =?iso-8859-1?Q?Zgako1QcgL8S8MmNnzOy/Y07et6U5ObAwP9zyMkiFBjhedu0G2Gar2qWAi?=
 =?iso-8859-1?Q?7ZeErc33ZWnG4/MSa2S/Q3oH27oafBR0o2HnKsdeW1vxi2reO6tjoVpwu0?=
 =?iso-8859-1?Q?fTUWDJaD6G0lLklztifm6dMgxNvV5qmhZ3zsz1O6Etn62OchvCwEiIxJ+7?=
 =?iso-8859-1?Q?MaUncAIqoLu+CQww3NPRPMylHm40Z1yn+s9Azwou/YfDs3JUwv1iACOh/6?=
 =?iso-8859-1?Q?RpLxKPMl/x+KhFU6GkB57NhysrMobaFgD5Ww54ZgOHscXRzReg4WVGxhVt?=
 =?iso-8859-1?Q?8OjnZ+gc1AlM0tACD/0qN2x6oFkXwJGvgJIxHLokWYKU+9eLam1VfbM8hC?=
 =?iso-8859-1?Q?3NzK5l1jxkZ+MN9VS8kUFS5om01ALCoEkyxv9DL/e35JqBPSOOkJDNZSyI?=
 =?iso-8859-1?Q?8Yl/tSaqdpcqXVjF2FQhrwBbsDmTH0NQM3Ynyg+pcVTSOMxKCyMKuHbNf3?=
 =?iso-8859-1?Q?YRnTVUP+rrMwQnhsXfoS8RwfgxUXhVf7sXxxEWX+YNLsz7ZPGGUZNNhJA7?=
 =?iso-8859-1?Q?kck4SvyMqn17eodNkS49Qr4k5SWpK5EbWFUsUiA9AqlI3BWAKEQ5CmOE2y?=
 =?iso-8859-1?Q?w2eGnxoXTCpUbpjPX0DblFLQime72B2EHtz+TiSDt5FlIXCSqG5cKsvqrz?=
 =?iso-8859-1?Q?+9tURNFePPqRfvJjIoTiMlBWRB08RYfqQAHByJki8Vu3aAEsWmvGnB80PQ?=
 =?iso-8859-1?Q?oBSMmGTx772AnwU2VHn3QYxu9HEYS3cm6lM2x+QAZRCixo94C+M4kvK0mS?=
 =?iso-8859-1?Q?flRlEAW1zT9eaVxyTtRTEt3oC++dsyqUZUF6hJT4qWLI6m+nTgKgBmmGHG?=
 =?iso-8859-1?Q?S3rHC32KZaVYHQNyWbog2dpsXelMhXUdUPTqWCTnvQe35L1OMuJq5O6g?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fe251b08-cd6c-4d7e-2eb7-08dbe1ec7119
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:21.0861
 (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: Aapjjt0FJULk8po+iNdaDZdKTzbnq/ZZt/eta47B4f86PSPreICQeChE32YhA1IYAiLaIT2jtDoLgXO+J+VPtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-GUID: 5-rVATPLu5VKnS0Jwqq74gdizvQZxjDB
X-Proofpoint-ORIG-GUID: 5-rVATPLu5VKnS0Jwqq74gdizvQZxjDB
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_08,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=993 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Add the vgic_its_device structure and the list of devices to the vgic_its.
Implement the functions to allocate, free, add and delete the device from
the list. Add the function to find the device in the list by the device id.
And make them avaliable to the HW ITS code.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/new_vgic.h | 27 +++++++++
 xen/arch/arm/vgic/vgic-its.c        | 86 +++++++++++++++++++++++++++++
 2 files changed, 113 insertions(+)

diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm=
/new_vgic.h
index ec2882dcf1..00a5557921 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -122,9 +122,26 @@ struct vgic_its {
=20
     bool enabled;
     struct vgic_io_device iodev;
+    struct list_head device_list;
     paddr_t doorbell_address;
 };
=20
+struct vgic_its_device {
+    struct list_head dev_list;
+    struct domain *d;
+
+    /* the head for the list of ITTEs */
+    struct list_head itt_head;
+    u32 num_eventid_bits;
+    void* itt_addr;
+    struct host_its *hw_its;
+    paddr_t guest_doorbell;             /* Identifies the virtual ITS */
+    uint32_t host_devid;
+    uint32_t guest_devid;
+    uint32_t eventids;                  /* Number of event IDs (MSIs) */
+    uint32_t *host_lpi_blocks;          /* Which LPIs are used on the host=
 */
+};
+
 struct vgic_dist {
     bool                ready;
     bool                initialized;
@@ -171,6 +188,7 @@ struct vgic_dist {
      * GICv3 spec: 6.1.2 "LPI Configuration tables"
      */
     uint64_t            propbaser;
+    spinlock_t          its_devices_lock; /* Protects the its_devices list=
 */
=20
     /* Protects the lpi_list and the count value below. */
     spinlock_t          lpi_list_lock;
@@ -227,6 +245,15 @@ static inline paddr_t vgic_dist_base(const struct vgic=
_dist *vgic)
     return vgic->dbase;
 }
=20
+#ifdef CONFIG_HAS_ITS
+struct vgic_its_device *vgic_its_alloc_device(int nr_events);
+void vgic_its_free_device(struct vgic_its_device *its_dev);
+int vgic_its_add_device(struct domain *d, struct vgic_its_device *its_dev)=
;
+void vgic_its_delete_device(struct domain *d, struct vgic_its_device *its_=
dev);
+struct vgic_its_device* vgic_its_get_device(struct domain *d, paddr_t vdoo=
rbell,
+                                         uint32_t vdevid);
+#endif
+
 #endif /* __ASM_ARM_NEW_VGIC_H */
=20
 /*
diff --git a/xen/arch/arm/vgic/vgic-its.c b/xen/arch/arm/vgic/vgic-its.c
index 0ae6048456..3eceadaa79 100644
--- a/xen/arch/arm/vgic/vgic-its.c
+++ b/xen/arch/arm/vgic/vgic-its.c
@@ -33,6 +33,92 @@ static unsigned long its_mmio_read_raz(struct domain *d,=
 struct vgic_its *its,
     return 0;
 }
=20
+/*
+ * Find and returns a device in the device table for an ITS.
+ * Must be called with the its_devices_lock mutex held.
+ */
+static struct vgic_its_device *find_its_device(struct vgic_its *its, u32 d=
evice_id)
+{
+    struct vgic_its_device *device;
+
+    list_for_each_entry(device, &its->device_list, dev_list)
+        if ( device_id =3D=3D device->guest_devid )
+            return device;
+
+    return NULL;
+}
+
+/* Requires the its_devices_lock to be held. */
+void vgic_its_free_device(struct vgic_its_device *device)
+{
+    struct domain *d =3D device->d;
+   =20
+    BUG_ON(!d);
+    list_del(&device->dev_list);
+    xfree(device);
+}
+
+/* Must be called with its_devices_lock mutex held */
+struct vgic_its_device* vgic_its_get_device(struct domain *d, paddr_t vdoo=
rbell,
+                                         uint32_t vdevid)
+{
+    struct vgic_its *its =3D d->arch.vgic.its;
+    struct vgic_its_device *device;
+
+    if ( !its )
+        return NULL;
+
+    device =3D find_its_device(its, vdevid);
+    if ( !device )
+        return NULL;
+
+    return device;
+}
+
+/* Must be called with its_devices_lock mutex held */
+struct vgic_its_device *vgic_its_alloc_device(int nr_events)
+{
+    struct vgic_its_device *device;
+
+    device =3D xzalloc(struct vgic_its_device);
+    if ( !device )
+        goto fail;
+
+    INIT_LIST_HEAD(&device->itt_head);
+
+    device->host_lpi_blocks =3D xzalloc_array(uint32_t, nr_events);
+    if ( !device->host_lpi_blocks )
+        goto fail_host_lpi;
+
+    return device;
+fail_host_lpi:
+    xfree(device);
+fail:
+    return NULL;
+}
+
+/* Must be called with its_devices_lock mutex held */
+int vgic_its_add_device(struct domain *d, struct vgic_its_device *its_dev)
+{
+    struct vgic_its *its =3D d->arch.vgic.its;
+    if ( !its )
+        return -EINVAL;
+
+    list_add_tail(&its_dev->dev_list, &its->device_list);
+
+    return 0;
+}
+
+/* Must be called with its_devices_lock mutex held */
+void vgic_its_delete_device(struct domain *d, struct vgic_its_device *its_=
dev)
+{
+    struct vgic_its *its =3D d->arch.vgic.its;
+    if ( !its )
+        return;
+
+    list_del(&its_dev->dev_list);
+}
+
 static void its_mmio_write_wi(struct domain *d, struct vgic_its *its,
                               paddr_t addr, unsigned int len, unsigned lon=
g val)
 {
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630309.983142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R47-0005Dt-I6; Fri, 10 Nov 2023 12:56:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630309.983142; Fri, 10 Nov 2023 12:56: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 1r1R46-0005Am-RW; Fri, 10 Nov 2023 12:56:50 +0000
Received: by outflank-mailman (input) for mailman id 630309;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R40-0001y0-6Z
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:44 +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 961ccc77-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:40 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuva025691; Fri, 10 Nov 2023 12:56:25 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:25 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:18 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 961ccc77-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LGvA/t2f94c/luHukq+n5yhivan/BrS5nFOp4FOmiaHHs+AgR1GrZwO2wwMy5yYGlTzEBAS8SZMPNM3Sboh/GYSlfB695dfdw9HEhdtZr/3UmNNN1kNo1wmiq25/FBjnMuYFn6y/VtCndyDL10C3eqYXmP9nkBgCNMOwZOaRrc2/FrLV6TopNShX2eUP35gKLFv1U1pMm+Btno27UGiNiQFGqFFcKlBTZpz80z1JpLKrECHvSrhdJ+1JWRrauCLt9g3HX+CJ+NDac3eMce0VqgceTlMvLl2SIQoyZfUprp/6LzwsM83EirKgD4CxbStuCzdgSqxodtkhbIM4GSIuXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8BO6CE7jJalbeGAgdrTFV8nvHA8V1OULfNTQToPec3E=;
 b=S5LuMvMCuJfbgSvqkGpDC+Lwgj6PsjgIYNQu/pXCQHajiLBZ50NJxWeKSjBD+GXMGDlez/23z62m4PtpP2xYexb8DuoAf2YPobgg996VsPuVBQu65mIMc5jKxllfnncH9d3ZmWtBozSIx+BNIGmg7mcUK/FTjB6w9oADuz2ZS0B47KlmPwjLboWnXzhDUIcuBDww0WSKNMhJtWrkMwzMavM7KOMjfg+18K1hXAQypn/gEXq0Wn2odxdf5HHqHJfqZNw3OIsI+o9CFsydpe/QUD+jjN4EliYeoQI0J7RDul4n7WlvQy55r2QXnTiAysmKlDl/OpcR0YHMBRwcPuo+wQ==
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=8BO6CE7jJalbeGAgdrTFV8nvHA8V1OULfNTQToPec3E=;
 b=EKEeJGDCLw/bKdYVsMEC+fdc7TRTeMJQHPi+ARQmKebVLFYZl5H33/LuELJ/LGEN83uCgd6JbOSH3WsJBqOIWOrkOgqngUq9xjqkUlbrIWxcOgTwYjufx+bPRUXAob3yD+qtMtq2I/1lVfqLjjVIPzFP0byk9WCosRbkoBU3VmJNOskrvDeauN7CvyXewfNc+07LSzxpy71g/9jy6XJarAi1BV3QHuz2e7FCbUzhqQzXYUjIQJpCFmnC1Tht2vdZwXQK26IQgABjFBBoFNVwsvJZVI3KgrApEWx3YYUuPhWEEoDzG/hABw197MA+YBlRFkHjZU5aWp0DM7VbOXnGkA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 06/25] arm: new VGIC: Add GICv3 IDREGS register handler
Thread-Topic: [XEN PATCH v2 06/25] arm: new VGIC: Add GICv3 IDREGS register
 handler
Thread-Index: AQHaE9VLeDi6QUYO20y4T5ZlvdbpBQ==
Date: Fri, 10 Nov 2023 12:56:18 +0000
Message-ID: 
 <7c563e5745c14123c8124e765bfff1345ad73c6b.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: aaf61761-28bb-4a91-73dc-08dbe1ec6e57
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 qpCXGix4xYfv4cNyjkYxJDMiDudvZ8CH659vynCNVf0+0H2NcPJMDIwAMtXuAF5M9ilfTKfqJNtnnjKvHjav64kExvQDaMn2M6T2DVyR6EqCCCCmbf9g0eAz+AfBFOExdLLes/nbqbdQPfHZBA3PUvQ5Yyj1nu7ocm9uhtynlerQcK/zCISaWvByuv8qli4FoxRJ4U6O/M1IiKOPd4xexYbA4z/72s/aO8MZipxqbxVixYT6zUfonJyVbcPoSMdDD1pwHLtQ1W+qCgW2P2GVpSH4KEU0DxWTelaWTVOu+qq5/Zx1TVadfuI4GPo6tEUOvti3YugxnmWz3Qvzye8ocqYuH2xwOvweTVcvmoJR8jPA7wR+dgN9KriR9WPJFHWKlHDgHon8Gq+9GWpVrf53zyOZ2ColgouxsnSbeUNSln/FifhKF1dBa8sX/bZkbFqpbFTV6h5Rhzbc7WNzH1K62O3VNSL9Z+KOEGlGiTKDZsONcOzpfmy5WydxzKCh/1tc0WRmEqmkGVWVZYgX3gqPqCFk6V0blBmHlKiFjInZq+sRtMaQlHmyLbPcQBv8DjUc0999n1k3if4tNKFi4b1kXage10vfPMsW/Qf0rFtgBoo=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?QLW/D/QU0LQlBdIFj1yTIS+ji1mQR1NBnq/GywTh4LPncYs5wSSPoUYX/Z?=
 =?iso-8859-1?Q?RW5r4zd0gvFcgbMq+YnTHaU7g+8D3xCsK5RpjiBOh0VceJWidj40QNsJsg?=
 =?iso-8859-1?Q?ExZa24LRPtEAmMV7BvaCPnm7EvHReZFjv0ThaU2H0nYsk4Oyz3nD8/R19b?=
 =?iso-8859-1?Q?7JkMgQ2rD4CmFWIKwI5eM2qu33+edok3fuRXX4hbWGgdVgVKTQJZDu4wgB?=
 =?iso-8859-1?Q?MKIx6lvIJNesZFKM55Fbi1QeDfwXU2vte0jQ6mh/ROy6heHalFHQCqvtQC?=
 =?iso-8859-1?Q?NAxbKUi2RxPxMMIfxDTkKVkGFw4FHatGl1hzEtrA5UiojQAjm3CURUBayg?=
 =?iso-8859-1?Q?p4Y0SsYa9NfF8IN2XI43laegtL3CVGWDP2b8Dx9jd201U9Vb7SaCS5b7Jg?=
 =?iso-8859-1?Q?pkuZD6V+BQgXJMMBEUPXXr63cJFhI4xYaNTXyFkMwkTQ2PqqM8V9jGC07K?=
 =?iso-8859-1?Q?dI5OY8pUUvzfJTSL4YbmFVpCdDgmjdV7O8GyOl133xKT24UVKmVTDdHoqw?=
 =?iso-8859-1?Q?1Eb0bkwZzi4WB3RPN/dux8uBYxWnEMCE41MqoZ2+BcWz7gpBwzUNnKJ7QO?=
 =?iso-8859-1?Q?BaJuCx/UwkZcDm+iWPcVXMT3bOLdr5TTuj6+ApngVBVHaCSk6+6nr+Rkg0?=
 =?iso-8859-1?Q?q4/6pauudYBg6IYt84k7hMGto4lYycl02JmLqjsI7Pq1ZgAhHOZQQHGYPJ?=
 =?iso-8859-1?Q?fzX/BYMpkaKzz6M7o8VD3n0ZrC6CJRkyzoyie5hvDXwug9LWk7d4V8gHbv?=
 =?iso-8859-1?Q?xZsw+WrcnpPA2jF8Do4sCGXanvbSoeuhwUN986oufhGeZNlJJHnvzTnzyp?=
 =?iso-8859-1?Q?vLh88bOyf+BwKpFNLDGFN5Vy8ujBzln8tjmebxJb5vqJ0JyvfSPFfv8oRs?=
 =?iso-8859-1?Q?7u8P7DuEht1GTSjYKhmMHiTD1OF67s1oaQmViocwCS1KjWtM1ydZvb8fmU?=
 =?iso-8859-1?Q?CncNN6cnPOHjU9euVnRa0K7DbLxTngHBAGFtRoAhq7YbyMta7G8MMViQDZ?=
 =?iso-8859-1?Q?CznPKcd7B8yxaYLH6mGj1lcF4GKthYUtMAdIaLX2xRxuyp27C+zAb4lwdg?=
 =?iso-8859-1?Q?95H0ypMir2nYcUYlwbiBmRxKejikSCmGcGJmeys5uKmXXX/qVhlyOHddju?=
 =?iso-8859-1?Q?7kqvKM+ja4t9HrFg76KgtbqVqizGxPSX0boa0wZHLGatb4deQQKVwsOhA4?=
 =?iso-8859-1?Q?g7WgVdj6GjCaxtqu7N5/4KNFFvE2AXKz0UwbrsTGY+qCGXm6s0ZWfQ9wP7?=
 =?iso-8859-1?Q?cgGvHKnfGnLhyrfc+JtbssAr97drc0zWvLm03nJhXFtCrVBVSYPpOspy3Y?=
 =?iso-8859-1?Q?jS7v1iVZrS7SiNWugDxomtS6yQ2NI4XFdhURNA5cdEu8lLlDqVQDpbzWWo?=
 =?iso-8859-1?Q?Wd4tllIM+h8YhZRUneJlWC0LnuWfgvsgfzNEBxkgW8mCOSjkstKbykNXgU?=
 =?iso-8859-1?Q?EWDamH/lnGB9kedblTDX3ONfLXO3NHrjGRoChJ47De1fuFsWwJg8u2sHBs?=
 =?iso-8859-1?Q?kqc7WUAXblFlCyqGmRdC/9zIeK5zP4Dex2/6y8OHi+dViQVNJu7T9jLYIi?=
 =?iso-8859-1?Q?wSc+w589A+12xFHD7+WucujGQQ434+yP8uuGO85xRIka0Gl1TtyUnfFWKU?=
 =?iso-8859-1?Q?3T2HhC5H1nAZwwhcUW6AHRvXMq8xynFj+0rfsVeja0KebI2HjSIbw1wQ?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aaf61761-28bb-4a91-73dc-08dbe1ec6e57
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:18.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: ajst6DjVWkcKMj/7LgAyeF3Opcd0rawNRTa+1Y7ThkfTOxaZMtiUkNO2Di9zSX7UJp967XcK76iwk+Mmncz3Jw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: ziJpkV0cqFYKprtbIa06v7z8F_fOUAqd
X-Proofpoint-GUID: ziJpkV0cqFYKprtbIa06v7z8F_fOUAqd
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=906
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

We implement the only one ID register that is required by the
architecture, also this is the one that Linux actually checks.

Based on Linux commit 54f59d2b3a0a3d by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-mmio-v3.c | 17 +++++++++++++++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
index 707a38c727..ccdf3b9456 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v3.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -152,6 +152,19 @@ static unsigned long vgic_mmio_read_v3r_iidr(struct vc=
pu *vcpu, paddr_t addr,
            (IMPLEMENTER_ARM << 0);
 }
=20
+static unsigned long vgic_mmio_read_v3_idregs(struct vcpu *vcpu, paddr_t a=
ddr,
+                                              unsigned int len)
+{
+    switch ( addr & 0xfff )
+    {
+    case GICD_ICPIDR2:
+        /* report a GICv3 compliant implementation */
+        return 0x3b;
+    }
+
+    return 0;
+}
+
 static const struct vgic_register_region vgic_v3_dist_registers[] =3D {
     REGISTER_DESC_WITH_LENGTH(GICD_CTLR,
         vgic_mmio_read_v3_misc, vgic_mmio_write_v3_misc,
@@ -196,7 +209,7 @@ static const struct vgic_register_region vgic_v3_dist_r=
egisters[] =3D {
         vgic_mmio_read_raz, vgic_mmio_write_wi, 64,
         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICD_IDREGS,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 48,
+        vgic_mmio_read_v3_idregs, vgic_mmio_write_wi, 48,
         VGIC_ACCESS_32bit),
 };
=20
@@ -233,7 +246,7 @@ static const struct vgic_register_region vgic_v3_rd_reg=
isters[] =3D {
         vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
         VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_IDREGS,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 48,
+        vgic_mmio_read_v3_idregs, vgic_mmio_write_wi, 48,
         VGIC_ACCESS_32bit),
     /* SGI_base registers */
     REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_IGROUPR0,
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630310.983152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R48-0005WC-Ie; Fri, 10 Nov 2023 12:56:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630310.983152; Fri, 10 Nov 2023 12: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 1r1R47-0005Rf-Up; Fri, 10 Nov 2023 12:56:51 +0000
Received: by outflank-mailman (input) for mailman id 630310;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R40-0001y1-CT
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:44 +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 968c33ef-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:40 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIeel019156; Fri, 10 Nov 2023 12:56:31 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkyram6-7
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:30 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:24 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 968c33ef-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C8KW2a6xEXibdMIUZwRRhmigq3gy+R9e7mbMdzPfYwN+4x7CWpA6LzkDw74rxck+RaVKglLMQEwtfRPI2jhiEI7qTLXnwHffrkrtYNQrKNqK2tg+twiN8QKFyw5JTpw8Gmc1iiAoR/wfdv0OlKIxjZK9vjgiSS7F+aSwq9GHBOPSrrfiMhdrhwccpOjrU+ZyquxyXtyKFZp+G256vL6uW19vuUII3fcauOV0uik5twnXQ0eAMfVsPmrc4U7fhxDwQddx7RM8MeD4sVn/ZUrUJE0Yz31PpxIgnlOo84RcRSekacxjWAG4UfbkjbOIkiBD1F7Xm+PxhUaG9b1hV/khhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+qyDsQa2NT4e9gFoYJ+T5c68j98f1YS+6LB32nWM3A=;
 b=kDv9jsn9vUJn9MNYRasdKk92SYfCpTH8GA0K4YRlewijVYWN8MFvNjurnEEs5W81IijW3zgwVKKQArtJBy/JUpnWSiZaYN/CG6/iEB6knk5/cQP8zh73c7bbF3jx+8RrVliZdFy6XEcJOmA+xjua5Q2j7oVsJg9bZGfm00NPte63r7WtRZSyJltsioQcYzxVPKESdV+Ytg8JEzp3PhuXes57yR59bM45RAzcXZNLEfvLzuEZB+Rr64pEbXczyaN2jKiXDPFSWnZuiC76ta41maVIUEJS5fOlhKxR9aTf9HH/EjeT0iVgd/YUckVKbN5idmwl/5soXmO5N11/1/uwXg==
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=R+qyDsQa2NT4e9gFoYJ+T5c68j98f1YS+6LB32nWM3A=;
 b=TmtAicJjaSInHvTI0kDK5FmfUMGdQODqjQvI83Vmmic5HFynaiNfnTbalTotZp78xc+UirTHBzeSDLOPtjqbX1/VenMri9nrU+hJ81QLz9t/voEDo4K0weuOusvjvJ/SjSU4sXks/QnEirja48THo/r8vtRcpm4PO/JbFUAUPdkAeksJFFKTkDTVYyJhr0kIX8OVLaOzOXIjXCk34maOZjiIDMOXpKSDIsfjBoqkGHi1XeRAzoWZJXnOEIFTAIqf3kK/YUxLX3Hy0/E6KOHHHHHJhfBUOE1ngUWTjTc9kF2KgmkCZr+yiwDjHJj+1zhKq92T+/rINkE4zAP7zO/jgg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 18/25] arm: new VGIC: its: Allow updates of LPI
 configuration table
Thread-Topic: [XEN PATCH v2 18/25] arm: new VGIC: its: Allow updates of LPI
 configuration table
Thread-Index: AQHaE9VORAkqYbrpzkWH9gdi+lifIQ==
Date: Fri, 10 Nov 2023 12:56:22 +0000
Message-ID: 
 <116c9594ca4af704ed40c0945116ed510a3d4e26.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: c2db57ae-5eca-4b1b-6223-08dbe1ec71ce
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 L2B0nuIW06PR5PpBQFpsJ4utet2t9WC1RamTSstjjO8WCo8fd+oihACGW5fx/ltK2hInIetLii/4CpTEIzK0l0QaU2sxRR2+iu12J7MGbtiI7YXiyy4qfLrBSfcGdYT+J8IdVlCsmOQd+ZtrEpC4DV/cfCJH2aU8NDGQuQRuwzp3xKbGdOV8lPBgix+yQZffqjldnajWQAhb/8qp/XTIVpC+MXGfljaMicIEMSTMCRiyDj61kGA05l9cM0ayJIpnC88qjcf3lGLyOXyOL+Mjmzeui2bvdHM2UMdHK3XKBCEmNu1LPJrSRXfg3Bw84iRSZOcVguTUApZrToFZZuB/Ph5TeBpNg0/TmnyHPlAPlw32tlgX5PnVZPPnhwQRYtRNFiyCq+XjKI6TCMD18cgb6W5JdZHUSgGZpiCjjjN93iHpBoWIZGLrSr2AvEY/7yIkaMkR8LiJNZg91sptfD2fA8cHN+QaCLXue1YTq3T9b8i5or4kRw3XbeWFA/FklRAneJG5krVM5iBFTxgc8lkzeS5eQmkYK5f8TwXGNTpi6f8ZuPZ2pZx0TvT08wRSFbNknoVsS92f+KPJdE9fJ381ucb7rzz2KZsBTdJL+0XoO4xC869LYNRTa4NxzzUJyTQY
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(15650500001)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?EC/TZ+Su9bRVIHmO2oiZm/GDYou+NgYXa1Wd7ePfZNus4e3fq21G4l0B27?=
 =?iso-8859-1?Q?3NyexES6psU0pZ9aLPac2pNBNyvL4zZQXOA5sQen7hYK447iqIXhnG2mPC?=
 =?iso-8859-1?Q?DPILEsuZjjUKxzGwaMGbGvZ+pihlV/1Cn+ZoRfmrMxmRPPusP8+MZScdRB?=
 =?iso-8859-1?Q?F0iuNZ9qhVTUVZ1cBB8s/zVtwRrdtmf0IaiaNAYSJ2At4oOZ6fzA89FtTC?=
 =?iso-8859-1?Q?6CKCXaODQlINTGye0gX5j1T/yHtODKRaP3Dd83lAiNNeolkuO6a7AI6bL0?=
 =?iso-8859-1?Q?PsB2YnS1mfggNGKfVUotApE31PqI/VKXQ9EtBol+l6CB/W0qmKTLedhaNV?=
 =?iso-8859-1?Q?iX4Zq+/s/H6g6/J5mCCCYE0XRXFXetXIspq5HjyWlMbGaXcA8XXuUVl0nC?=
 =?iso-8859-1?Q?QT/J56j/ACEpxXTTdAagF04Ufz6OFZx8p3n8DSN5J7jfKsfWtR5iCKL3KX?=
 =?iso-8859-1?Q?f/jCxTtZGANzsV3m8rgq84XMl4rANCn88hoj1+5psCO9VEu/jL5lHX84wh?=
 =?iso-8859-1?Q?9ax/H0+hjeRG+L90yOdp3ZCtpUb1xwwhAXcX6PiUBK8Epedh9Ib7MNg+81?=
 =?iso-8859-1?Q?r30YNtRHFaTOq1k3XHqmWINtsYposT1aSx3gUwZ0pUuxO+C5P6x9oaA+Rl?=
 =?iso-8859-1?Q?g0WWBVTtV3NEvOW74a3HfdFw7K80l6tmHzc3beZLTupinnJV9XU1Jbowwl?=
 =?iso-8859-1?Q?hmcJlT8QUQncr11rXMXabEDCzoe5qHs8ObxkO9ANncK9+ln7jvDsSk76Lu?=
 =?iso-8859-1?Q?nVoqO3rAbMLyghwKHNOmaa5CX/kCz44hDfTydN23G6kpjjuGV9xAnwIRdG?=
 =?iso-8859-1?Q?dA6hUSEfVuH+wrjbyBDoqEvNl9/y0jcEwXKOcX1y1ZKaYudbFkanBPri68?=
 =?iso-8859-1?Q?ScHMB9QJ7ag5tt1mFUfmLHVfS0t8muXvGymvGnU1i2I81EgJXRUaZoVlBj?=
 =?iso-8859-1?Q?tt4TlrQ0cLAn8QkUHaZgFbAiyFtn3hM7GHCgXIB/DaG7YGKJCNMtwiRJCl?=
 =?iso-8859-1?Q?EtdFGNDi18kIr/JfY9MZ5e3zseDEIVNizqFzpnNpqu3GFA80qOy6p4v2on?=
 =?iso-8859-1?Q?oGr247/DMX8WnrONN1C4rHzoCL4yNz6Eo6lITEzYj2Pb2wtpUkBUP8dYnY?=
 =?iso-8859-1?Q?wWSIv5Mnlcnw38lIxQW6/zv3NBT2lKmFbxKcXJu9X34m19BGsNzeWACmMS?=
 =?iso-8859-1?Q?Ol3tfnqjWUXHEw/ZHrszTqc4XbV+dvWkqPAtsizh0ril2YmsNI+AUsffAa?=
 =?iso-8859-1?Q?NRSNT5DUgt8i9rJHFcPPT/ZAOWwQKerz1cIPDbKhDc7+7Ae60O6PiCMzht?=
 =?iso-8859-1?Q?AECt99vSxyOpPIz4YoJmZo5G6FECPGolJTSyiY/gA6MsPiV1W+IPPQr/p+?=
 =?iso-8859-1?Q?9AUEjcDbP3VhRMRwyrbWMGTS/cZ2PvAP4zhXQCXuH4Or5/rl7R7IymjWhG?=
 =?iso-8859-1?Q?QoL8l4d6IZi3xrO5MbbAcOiYaa66goZCGHgUCRflKOqtTgussKPfbLwCPr?=
 =?iso-8859-1?Q?D8lg0rwWabjd733NjC+ar19xqnWU/8P7G97J2HrdyzGxnndX7SvKOzoEOn?=
 =?iso-8859-1?Q?h0D0t/mpxewMR2N+u1crygEtD+LxOLdE87VLGfc8o2N8zuqm9QYYTK3GUQ?=
 =?iso-8859-1?Q?PZvNUVJQmZieio3Ixye0b3X3TA7CamKDgkUxoBnyFcBgwdDv122NLt5Q?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c2db57ae-5eca-4b1b-6223-08dbe1ec71ce
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:22.2075
 (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: lV/8XN5JtV5xDyd5ybGW1cQNnoqS2WBCTcU/B3gHayB9wFWBhOuBJlnqiiQtM49HScsaKOFRsrN5Yx60/hNvzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-GUID: ZkmwpVyihCxAPy0swzRY3xH3zcjx1W-y
X-Proofpoint-ORIG-GUID: ZkmwpVyihCxAPy0swzRY3xH3zcjx1W-y
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_08,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=999 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

The (system-wide) LPI configuration table is held in a table in
(guest) memory. To achieve reasonable performance, we cache this data
in our struct vgic_irq. If the guest updates the configuration data
(which consists of the enable bit and the priority value), it issues
an INV or INVALL command to allow us to update our information.
Provide functions that update that information for one LPI or all LPIs
mapped to a specific collection.

Based on Linux commit f9f77af9e2a551 by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-its.c | 48 ++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/xen/arch/arm/vgic/vgic-its.c b/xen/arch/arm/vgic/vgic-its.c
index af19cf4414..6c726dde3a 100644
--- a/xen/arch/arm/vgic/vgic-its.c
+++ b/xen/arch/arm/vgic/vgic-its.c
@@ -63,6 +63,54 @@ static struct vgic_its_device *find_its_device(struct vg=
ic_its *its, u32 device_
 #define VGIC_ITS_TYPER_DEVBITS          16
 #define VGIC_ITS_TYPER_ITE_SIZE         8
=20
+#define GIC_LPI_OFFSET              8192
+
+#define LPI_PROP_ENABLE_BIT(p) ((p)&LPI_PROP_ENABLED)
+#define LPI_PROP_PRIORITY(p)   ((p)&0xfc)
+
+/*
+ * Reads the configuration data for a given LPI from guest memory and
+ * updates the fields in struct vgic_irq.
+ * If filter_vcpu is not NULL, applies only if the IRQ is targeting this
+ * VCPU. Unconditionally applies if filter_vcpu is NULL.
+ */
+static int update_lpi_config(struct domain *d, struct vgic_irq *irq,
+                             struct vcpu *filter_vcpu, bool needs_inv)
+{
+    u64 propbase =3D GICR_PROPBASER_ADDRESS(d->arch.vgic.propbaser);
+    u8 prop;
+    int ret;
+    unsigned long flags;
+
+    ret =3D access_guest_memory_by_gpa(d, propbase + irq->intid - GIC_LPI_=
OFFSET,
+                                     &prop, 1, false);
+
+    if ( ret )
+        return ret;
+
+    spin_lock_irqsave(&irq->irq_lock, flags);
+
+    if ( !filter_vcpu || filter_vcpu =3D=3D irq->target_vcpu )
+    {
+        irq->priority =3D LPI_PROP_PRIORITY(prop);
+        irq->enabled  =3D LPI_PROP_ENABLE_BIT(prop);
+
+        if ( !irq->hw )
+        {
+            vgic_queue_irq_unlock(d, irq, flags);
+            return 0;
+        }
+    }
+
+    spin_unlock_irqrestore(&irq->irq_lock, flags);
+
+    /* GICv4 style VLPIS are not yet supported */
+    WARN_ON(irq->hw);
+
+    return 0;
+}
+
+
 /*
  * Create a snapshot of the current LPIs targeting @vcpu, so that we can
  * enumerate those LPIs without holding any lock.
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630311.983161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R4A-0005zY-Ow; Fri, 10 Nov 2023 12:56:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630311.983161; Fri, 10 Nov 2023 12:56: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 1r1R49-0005uQ-TB; Fri, 10 Nov 2023 12:56:53 +0000
Received: by outflank-mailman (input) for mailman id 630311;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R41-0001y0-6Z
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:45 +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 969e15bc-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:40 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIeef019156; Fri, 10 Nov 2023 12:56:26 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkyram6-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:26 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:20 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 969e15bc-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RDoMlsltv1Id5HvBr6cJHeq4tVbHIE0zBAXvg5Qfy/oidW93shzwlOyqDmik3oRqdi29W16GlJngUIeWkg2ya62JDWAB94QN2UDKWmZMyPRDJ2mCFqmvF6HU9N1v6mgPUgQ41aP4cFenJDvaE4/j+FCFaAlOPrBi1K7YWNaToHDZKmhOFEXbxj/D6Ba9MlM56xDZf/deDqgmsoPaU2iDTDHVXGeFE/aPVknurNJUuV0N1W614ONSOI9T7yvZI8Thnp1yQkYgFmPON+TkV45KyL10PK4ZzqKLib/Ycjaepy6KHYAxW0IuA2xYHahjxkPsK+O3kHzNbEkf3LwcMFqJ3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CsuUkMvf5gI06/kh6Aitv9g+GlzsqEZAOIWBAFgXeMY=;
 b=bZxCZQy/qzCEKWnbvx2bGBXUxp6XfIMBiVn5vKUByHC7Le5zVjGXewyAlPIKAsVdmgsJywZsZRUj6NCS0Ohhf8sdpROWEZjN+G3yybbuDo617Md0NVmLbw42XWpOBuzW822XutQTEpzPqL2TiIOzd98WrAxU2JTRuGjhNTf+Qe3jQN3V2rScBgSoDk2Y/MOxfEdWadgeznd0owZFkkDdcchCi7o1ZY3E8Gs22PwiI+4T7G8FfbG2fl/yit8mi3NYf7wGNQH1Matuck8INIKc/QsJvq1qUw5sBg2xsoEOKudlaOIODqp6ZLemeVeckuY9cOcM0PO0U1A+SPCeEJXoGA==
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=CsuUkMvf5gI06/kh6Aitv9g+GlzsqEZAOIWBAFgXeMY=;
 b=jaHFayV9G2AsrzkbQk3JXidD97APvOKlPa8GrBZB7FXbCeYk3+acbv3FvdmybI6VKl2Tosh+Pdd+R3O6ySSET+F+E+YA9hk843l6QN0S8ymzU31uamD4ZBM9xMZro/9eB2BH45EoAfdZk5e6VOD0cKuF3O8LftwQwtXRGkdsAiDqtOombBPceiIW1xIDCoI5BXONr/yXoBEM/vr3jWUM3MpxgXz/vDbVGE7HTO/RliOff5GWmMZq0zIfgEQjd6IIviv6o0agBFoSeMBkN/pUqDXnz4H+cROeEqk4+Nl02Let88FW2WRZEFBlErJ4hh94R6q06ENPzQn8uhZfw8Z5vA==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 08/25] arm: new VGIC: Add GICv3 SGI system register
 trap handler
Thread-Topic: [XEN PATCH v2 08/25] arm: new VGIC: Add GICv3 SGI system
 register trap handler
Thread-Index: AQHaE9VMyTFmCIij9kWiuYpeUQUfzA==
Date: Fri, 10 Nov 2023 12:56:18 +0000
Message-ID: 
 <8819e1bd76ea4ef2c7057e3d91badd476921c1b0.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: b67e61ff-d329-415f-a27d-08dbe1ec6f88
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 eR9KgbFXUe54FBb92xOc4XYQb7oIXU7MCcObfCZ7hj72K3GXGa74SarO5oagGC7ovLEq0dVSCpPJDcgNsDIkRxZ0m2Zh29c5rV7VlVkr7jQODXwrWzDjX4z8srgHao2cUg28Ql+XEgn8ZogrbfaEEEudpaiezFA/AfGPWu4z7NUUy19mqY4pP5W4RS0oq6x6P3VMIZjNmdfg7eGPnDmv2qEG1DgvJxxGOm0prLZ2UF3M3NAngxjYFSp4CfG+/w6z8iBihQB+e48v++x/NakFEqTNIeV+GOdWX66BHQu+rA2sqnr6QONkDFBsoJOVKJo6lt5PFBwLk3C+fnmXlNNPiFOzJDR/dIWS7yqqkkGm4MKulVkSENPv+13q1z4qJKq4NqSc/89hVYkiMvRp2Dfega3z1kGuzgXTtfSvxbfMsa/SsvQClZfPsNyTTgXlugziHOdnvRvdu5gEiuTkNhSOUq3GUtfH3dudOqUuB9R/ih2ecdG8HjkhYqRlWBHJ+GBrrHeUY9YGiXLIkhUuhBuM4006Y499owGCi4todKPPgX9ibrn6ZrzRoHTITVOFWHLh2RBwyZYnQmqar+hE1eaE2KfoWs1uQ1p3o4WYplusZmT21sSqMrfnSiD+eTXg+9m6IvbzjDYlYgV5U94SH8j5CpjaP+8hncf9Ld/tKO31TeM=
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(230173577357003)(230273577357003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(66899024)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?3+GSE4qJeIbMgHkYbKCL29Zb67ceo+3nwWp0oB+nfOp7I9zuCYarUHst9K?=
 =?iso-8859-1?Q?Kj/xjOZII//n/6cuXl3J4qzjnv7CUxjFHoFIC0XImDos3GkPSUm+cN2Qp1?=
 =?iso-8859-1?Q?xPL41kYkogvN4SuBekfZx7JpFghRDkHGy3ZozH00DYZLRo0SUvTc5M7bym?=
 =?iso-8859-1?Q?awIFif9S5or/KdUnaEO3a50u+qbzj+C0ejW0PEX8dispI2B7dns7DKQH+f?=
 =?iso-8859-1?Q?hy9BwQh/pl5UskQrrZdnFkCjBDwjE0SHlIuLL7KcPZpTGcyKJrMy8wiMqi?=
 =?iso-8859-1?Q?Dd+VnoYRKd7TsUubEuxNZea45FPaKjpMc86aS03gYqd8ZxjLcyei46mA4V?=
 =?iso-8859-1?Q?2L9B053R27HFaOFY2Pidp/mCnYP9flcyZhKmwcT19vs2Q1shwJeRL9Nosi?=
 =?iso-8859-1?Q?a2XJFHn0b/2SP7twxFyuk3/I9JqzZqXKYhEb85soKEGM0QnfebBRu972fi?=
 =?iso-8859-1?Q?Y0iVSvxpKCgHm4COxcdu04AOB40hjad9TrbYbimtkRexSiQ+SSskLga8n8?=
 =?iso-8859-1?Q?vXyeS2TlsG+lOMDSp0yfeYi9u1KPaHnlrSQGNGaMtRqjDzmJBjUkwftpyF?=
 =?iso-8859-1?Q?PHzsNFPl5+gZuGgPhf/bOQHwElS04Ox7ak1YZjS+vdXL7KOohfTvH7NZ0y?=
 =?iso-8859-1?Q?7vVSe2D7bn1bCoQA15tm+Nw8KqJatq9ud3tUMfdqNQSvOcDZypzori1QdP?=
 =?iso-8859-1?Q?/X7osdDZhtl/2ry6WMZqv1a9g4gNnyIXEFjtAY7Tg9qV4z4BV7j5foHxUm?=
 =?iso-8859-1?Q?pI2fLF9EgSretKJqCxYIJWhhkp1Gu5VdIeFvVQyx6AS8OtDZjFcUSivH+C?=
 =?iso-8859-1?Q?jewUcagAZPblGAa63h8Fx5kVkj5/0QSkMu85r8fwpYvk3QfpSoPhwJ4qYv?=
 =?iso-8859-1?Q?cEXIj00byGyoy6SiyK0YvYgyBH9HsEOL773clw9PrU/1ykxVQDeEdGxLBw?=
 =?iso-8859-1?Q?khBHi6r7RonD3aRxchj6+cfQa/yqnNdD/eM5u+N/0HrT3RxDI/I6TLQtKo?=
 =?iso-8859-1?Q?vHQ+HcjFiHr5lIH4npxEvkrvzxbLqrqhuLqWc77LZY09jpiYizM/D9Peep?=
 =?iso-8859-1?Q?/JWhn+dDOXmRWYrN8SQoELe4QHj/EF7UEL3kUB5MP9IZHq7f5XPDgrpI5Z?=
 =?iso-8859-1?Q?XplOnYUBVbOVI4zLYv69mEF64u7Kd1v7ZQPXW+9FivuHnyHU0mVPgAtOB4?=
 =?iso-8859-1?Q?nGo+jA/t90d7kQJRS661ku5hGFiv/VkaU9MJiqv4u5XW0B2j448DdxwMay?=
 =?iso-8859-1?Q?g9j1PtVBZBvhbD/9kldIStoM7Uiv6P60qex4DEDvYtGAS/J7xXuLel4G2y?=
 =?iso-8859-1?Q?kXObSRA+T1mB8dkQROObxqx+bDuXN5N2v6UM7dWs7i46Tv9fZN6mQrngK4?=
 =?iso-8859-1?Q?O8hjWUMgOlo+cLPEnjp+fALBrPwAF0HrTT5WpLIOrYkDD+YtF+Up8e2vPl?=
 =?iso-8859-1?Q?Kbg9c47m03gcaLDiPDnBBFbnz0TZ0A5dO1D67HKmiSV0bjvLlImY/fudmD?=
 =?iso-8859-1?Q?SpCjben6DfB6VIIZUhTAH2a2IUH9pgP1S/FY0oxZvfZIA3aRjIOASmWUy+?=
 =?iso-8859-1?Q?0wx+nsedNmI/WT6mcXl4DqVCtVUtIee59r1DYNAbcoe6QrJbfmY1fCYM+G?=
 =?iso-8859-1?Q?AWCcbWxEwvyvKBrPE9rLYsHKyr+eE9IGSeK1TuodFNHjN5LMVG3hcPvQ?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b67e61ff-d329-415f-a27d-08dbe1ec6f88
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:18.7631
 (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: BKkbniO+WhjZynZ9VqKW7c/DklKNxlvUHA0vy7Qpdc3S8Sf3rsTtoZG0cyjaeW6Jy/jsANMwdYwCx9rn434Ygw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-GUID: Psa6Il3WoqtBmCIJYySScdTGoJoGFJQJ
X-Proofpoint-ORIG-GUID: Psa6Il3WoqtBmCIJYySScdTGoJoGFJQJ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_08,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=999 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

In contrast to GICv2 SGIs in a GICv3 implementation are not triggered
by a MMIO write, but with a system register write. Xen knows about
that register already, we just need to implement the handler and wire
it up to the core Xen/ARM code.

Base on Linux commit 621ecd8d2123bc13 by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/gic_v3_defs.h |   2 +-
 xen/arch/arm/vgic/vgic-mmio-v3.c       | 147 +++++++++++++++++++++++++
 xen/arch/arm/vgic/vgic.c               |  10 +-
 xen/arch/arm/vgic/vgic.h               |   5 +
 4 files changed, 160 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/include/=
asm/gic_v3_defs.h
index e0d536e887..1e81687818 100644
--- a/xen/arch/arm/include/asm/gic_v3_defs.h
+++ b/xen/arch/arm/include/asm/gic_v3_defs.h
@@ -204,7 +204,7 @@
 #define ICH_SGI_IRQ_SHIFT            24
 #define ICH_SGI_IRQ_MASK             0xf
 #define ICH_SGI_TARGETLIST_MASK      0xffff
-#define ICH_SGI_AFFx_MASK            0xff
+#define ICH_SGI_AFFx_MASK            0xffULL
 #define ICH_SGI_AFFINITY_LEVEL(x)    (16 * (x))
=20
 struct rdist_region {
diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
index 3d892a68cb..19ebf723ee 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v3.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -42,6 +42,153 @@ unsigned long extract_bytes(uint64_t data, unsigned int=
 offset,
     return (data >> (offset * 8)) & GENMASK_ULL(num * 8 - 1, 0);
 }
=20
+static int match_mpidr(u64 sgi_aff, u16 sgi_cpu_mask, struct vcpu *vcpu)
+{
+    unsigned long affinity;
+    int level0;
+
+    /*
+     * Split the current VCPU's MPIDR into affinity level 0 and the
+     * rest as this is what we have to compare against.
+     */
+    affinity =3D vcpuid_to_vaffinity(vcpu->vcpu_id);
+    level0   =3D MPIDR_AFFINITY_LEVEL(affinity, 0);
+    affinity &=3D ~MPIDR_LEVEL_MASK;
+
+    /* bail out if the upper three levels don't match */
+    if ( sgi_aff !=3D affinity )
+        return -1;
+
+    /* Is this VCPU's bit set in the mask ? */
+    if ( !(sgi_cpu_mask & BIT(level0, ULL)) )
+        return -1;
+
+    return level0;
+}
+
+#define SGI_AFFINITY_LEVEL(reg, level)                                    =
     \
+    ((((reg) & (ICH_SGI_AFFx_MASK << ICH_SGI_AFFINITY_LEVEL(level))) >>   =
     \
+      ICH_SGI_AFFINITY_LEVEL(level))                                      =
     \
+     << MPIDR_LEVEL_SHIFT(level))
+
+static bool vgic_v3_emulate_sgi1r(struct cpu_user_regs *regs, uint64_t *r,
+                                  bool read)
+{
+    struct domain *d  =3D current->domain;
+    struct vcpu *vcpu =3D current;
+    struct vcpu *c_vcpu;
+    u16 target_cpus;
+    u64 mpidr;
+    int sgi;
+    int vcpu_id =3D vcpu->vcpu_id;
+    bool broadcast;
+    unsigned long flags;
+
+    if ( read )
+    {
+        gdprintk(XENLOG_WARNING, "Reading SGI1R_EL1 - WO register\n");
+        return false;
+    }
+
+    sgi         =3D (*r >> ICH_SGI_IRQ_SHIFT) & ICH_SGI_IRQ_MASK;
+    broadcast   =3D *r & BIT(ICH_SGI_IRQMODE_SHIFT, ULL);
+    target_cpus =3D (*r & ICH_SGI_TARGETLIST_MASK);
+
+    mpidr  =3D SGI_AFFINITY_LEVEL(*r, 3);
+    mpidr |=3D SGI_AFFINITY_LEVEL(*r, 2);
+    mpidr |=3D SGI_AFFINITY_LEVEL(*r, 1);
+
+    /*
+     * We iterate over all VCPUs to find the MPIDRs matching the request.
+     * If we have handled one CPU, we clear its bit to detect early
+     * if we are already finished. This avoids iterating through all
+     * VCPUs when most of the times we just signal a single VCPU.
+     */
+    for_each_vcpu(d, c_vcpu)
+    {
+        struct vgic_irq *irq;
+
+        /* Exit early if we have dealt with all requested CPUs */
+        if ( !broadcast && target_cpus =3D=3D 0 )
+            break;
+
+        /* Don't signal the calling VCPU */
+        if ( broadcast && c_vcpu->vcpu_id =3D=3D vcpu_id )
+            continue;
+
+        if ( !broadcast )
+        {
+            int level0;
+
+            level0 =3D match_mpidr(mpidr, target_cpus, c_vcpu);
+            if ( level0 =3D=3D -1 )
+                continue;
+
+            /* remove this matching VCPU from the mask */
+            target_cpus &=3D ~BIT(level0, UL);
+        }
+
+        irq =3D vgic_get_irq(vcpu->domain, c_vcpu, sgi);
+
+        spin_lock_irqsave(&irq->irq_lock, flags);
+
+        if ( !irq->hw )
+        {
+            irq->pending_latch =3D true;
+            vgic_queue_irq_unlock(vcpu->domain, irq, flags);
+        }
+        else
+        {
+            printk(XENLOG_ERR "HW SGIs are not implemented\n");
+            BUG();
+            spin_unlock_irqrestore(&irq->irq_lock, flags);
+        }
+
+        vgic_put_irq(vcpu->domain, irq);
+    }
+
+    return true;
+}
+
+static bool vgic_v3_emulate_sysreg(struct cpu_user_regs *regs, union hsr h=
sr)
+{
+    struct hsr_sysreg sysreg =3D hsr.sysreg;
+
+    ASSERT(hsr.ec =3D=3D HSR_EC_SYSREG);
+
+    if ( sysreg.read )
+        perfc_incr(vgic_sysreg_reads);
+    else
+        perfc_incr(vgic_sysreg_writes);
+
+    switch ( hsr.bits & HSR_SYSREG_REGS_MASK )
+    {
+    case HSR_SYSREG_ICC_SGI1R_EL1:
+        return vreg_emulate_sysreg(regs, hsr, vgic_v3_emulate_sgi1r);
+
+    default:
+        return false;
+    }
+}
+
+bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, union hsr hsr)
+{
+    switch ( hsr.ec )
+    {
+#ifdef CONFIG_ARM_64
+    case HSR_EC_SYSREG:
+        return vgic_v3_emulate_sysreg(regs, hsr);
+#endif
+    case HSR_EC_CP15_64:
+        printk(XENLOG_ERR
+               "vgic_v3_emulate_reg: HSR_EC_CP15_64 not implemented");
+        BUG();
+        break;
+    default:
+        return false;
+    }
+}
+
 /*
  * The Revision field in the IIDR have the following meanings:
  *
diff --git a/xen/arch/arm/vgic/vgic.c b/xen/arch/arm/vgic/vgic.c
index 97ca827fc4..946877bbac 100644
--- a/xen/arch/arm/vgic/vgic.c
+++ b/xen/arch/arm/vgic/vgic.c
@@ -865,9 +865,13 @@ struct irq_desc *vgic_get_hw_irq_desc(struct domain *d=
, struct vcpu *v,
=20
 bool vgic_emulate(struct cpu_user_regs *regs, union hsr hsr)
 {
-    ASSERT(current->domain->arch.vgic.version =3D=3D GIC_V3);
-
-    return false;
+    switch ( current->domain->arch.vgic.version )
+    {
+    case GIC_V3:
+        return vgic_v3_emulate_reg(regs, hsr);
+    default:
+        return false;
+    }
 }
=20
 /*
diff --git a/xen/arch/arm/vgic/vgic.h b/xen/arch/arm/vgic/vgic.h
index b3bba7b5f3..0e0cf7b213 100644
--- a/xen/arch/arm/vgic/vgic.h
+++ b/xen/arch/arm/vgic/vgic.h
@@ -74,6 +74,7 @@ int vgic_register_dist_iodev(struct domain *d, gfn_t dist=
_base_fn,
 #ifdef CONFIG_GICV3
 void vgic_v3_fold_lr_state(struct vcpu *vcpu);
 void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq *irq, int lr);
+bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, union hsr hsr);
 unsigned int vgic_v3_init_dist_iodev(struct vgic_io_device *dev);
 int vgic_v3_set_redist_base(struct domain *d, u32 index, u64 addr, u32 cou=
nt);
 int vgic_register_redist_iodev(struct vcpu *vcpu);
@@ -88,6 +89,10 @@ static inline unsigned int vgic_v3_init_dist_iodev(struc=
t vgic_io_device *dev)
 {
     return 0;
 }
+static inline bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, union h=
sr hsr)
+{
+    return false;
+}
 static inline int vgic_v3_set_redist_base(struct domain *d, u32 index, u64=
 addr, u32 count)
 {
     return 0;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630312.983175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R4D-0006Qf-Ee; Fri, 10 Nov 2023 12:56:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630312.983175; Fri, 10 Nov 2023 12: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 1r1R4B-0006Kl-Uy; Fri, 10 Nov 2023 12:56:55 +0000
Received: by outflank-mailman (input) for mailman id 630312;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R41-0001y1-Ci
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:45 +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 968078c6-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:40 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvb025691; Fri, 10 Nov 2023 12:56:26 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-5
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:26 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:18 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 968078c6-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hvvFHBt08JO68HN7bS3Hof2SYwY/O00FDSgU5K8GfXIaTUWOsRaGG9Ev5K7JCE1tSscWL52tsNaFS+aPlfA7VHcMv5gcaPKv5x5bW0gHg4F0sFZRubApRVQxo6AFNDswTK7movwwZ+XOLxX82rB3inUDroMUZ9Ccz04rk1Y2jZKtpcTPL1emBRvRSqSyXPpBHPRd+D1GkJKGwqmvMviVnle/2/H9nVoF4mQQ9tSvOz8VxTYwAu48PrBzYrdXs610vBG3QIfiRJBZDIBu0y6Y2+Bg+V9TEvO0wQFfqvE4GgaGxhAl3VAXKCuv7Gj7MBCZ1MDvo+NgUVMunxxQANI4jw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LH4NgNUrJb7AxU4A2c+rBJ2vFrRhnJveRhbmQXTv6fw=;
 b=SxazRw60CKtbVwqbewk/IkWTyBZGNghINtv3xghoJXZRbXWsziXgPATZdbNhCz3X3AVpx7VYme4BvmkTk15Zvobw1v/4PiiLgAwNW6lsFu8nxd3lBiwsetlevC8DzlYRUn6L2d3P23kLCIl2q8C0+dSYk/IxOaXYHOhKAKdRm+NmEfyRcquKexFI9P5Xap4DSETS2A2BSuTn4qU7qjis3jE9kEgzsP+rcdFAWTA9Mqa4jd7mm2Zkvo2aBDTPRyFizWc/Rkf9aMO34fTCLEA6oczEWnaTDweioMeXqflzUoJuyobi2t2VtmTWsZfRwZTF6decyG2ecxDYGlzLDxAv8A==
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=LH4NgNUrJb7AxU4A2c+rBJ2vFrRhnJveRhbmQXTv6fw=;
 b=UutzairtowihEfQvkt8uXL404ZOdD375UtaCJr4q364m7Dl3c8s8NrQuLL2zuB7dvdugssSdpJX93CFktt7tADZR1SixAORNjfe9MaiCSS04kjqTNbnSW9p+RPuRONSH0qzuhFJx0OLQ3YV8ZH4fZCa6L2vFzzgbl3Td0oyWtOl9zvaUZTrcS3wMXz6tehUigIpDBKdTB5AblOHmw4id6uPdJUvoFf/dc5eIgw9EF2Q8rE0wwtzqrJBOL+LMLimK4/2PhfW2aaFnMgvhJflE14TQX71MCRU+9L1eajXHcnzDTi04FWKa0Rr5XcXRsbH7eI3oVWyrJXDSPTyAU5CNZw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 07/25] arm: new VGIC: Add GICv3 IROUTER register
 handlers
Thread-Topic: [XEN PATCH v2 07/25] arm: new VGIC: Add GICv3 IROUTER register
 handlers
Thread-Index: AQHaE9VLou6qA6symUe+SqqE2YPjzQ==
Date: Fri, 10 Nov 2023 12:56:18 +0000
Message-ID: 
 <db07985e055865947ebeee6f1392c33e48120db4.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: abf56879-3d2a-46e2-acac-08dbe1ec6e90
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 +d9qAtnqYZ7C/VzIhfI+yfOAOHZlElwqyqTMxs7+OCoFk8j5BTx9DyCX1WzY3B5wIrms8WQq+iynL0LM7iweDfNIoEClFgvQOzu507Vr1pU0waBuqpHf55Gx/KJPynee/0WMGplG2iwGknlk0GnCg7ee3EONug36z2i3eLOWCWzYSTAmfwqss83HpEwH/+E9DU/GsFZMzrJ94qta8G/Iz9mCSaL5Am6d2mBZpm4lNl0mhdgAVKltfGgYG2Sy6GhN5sh1MBV3a9yJdAM9nbeAmFqfrVS8Dm6YA9zj0D4AAggZVfi3JgIb3+mcbj5IUg9Ohk0CuT9gnKj4364POosv6gbPILiLG/3iPIZMvu+eWSXrV4+peSYK32wxbauAJmVXbm4PnoU6BOVGlq5J44zFI32dJwXsHY9nP522nRtreYRnDEtnmhGu6U1VhLQOzeKvCYA6uspQubju4Z7K6cA4yrXe9vszGj9CMSGwn1dVQrAa+C7sHIalKA32ixLfxeXtZXzC0CpQ+qgrN1hurlgHXGNgOI6aOGqxugOQI1piWfE8VmUAbghV3d9HEoq/EE4MNq6XTWbmJ9x4Gcu5DVOmLcJfOr+BtBU1DcwqhAH76e54ozcDUCxr10dVEaUcFW4y
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?YinFnRPE/5XM8TMG+RC7xubF8VmO30iOrbRWT/Xutl/O6q52oRIGUbmDAN?=
 =?iso-8859-1?Q?opwMcC/sKIfPOwTKsbywsf5ZsHhaTy3eTks3bzGpBZxDLLbCDfyZnZeHdp?=
 =?iso-8859-1?Q?L71zL5bFAC+Zw5Hr9qd+MQNR/3JsL5VaLPdZcddQisp2wuQ9rZWof3rFTI?=
 =?iso-8859-1?Q?m0DoNHonxKw+uGNqTb8rgHSyXknJB8Q2wzppbwfcQ3TMzLabLvuadXHeLt?=
 =?iso-8859-1?Q?SUvrV5oLebwBqU+Q2iLL5cy0zE3YrVqMtdOQCxXjD+09H7fPjWSx7lGS/5?=
 =?iso-8859-1?Q?KaErOZFnkKR8M+K4J2W0r+mzcx47iB3KVzBrH5O5szB34qjkXEJF0I3qxu?=
 =?iso-8859-1?Q?BkwCFSNqkApMplYWeqSrKm0NyfCP76BeS9DVfloTg8BZgfXsn0570o1F2U?=
 =?iso-8859-1?Q?3/dFxRf77NAF3Xv2pvaw+I4oj+JUOJgAPkXwt4MppE6XUVdq9TRZdGaPDB?=
 =?iso-8859-1?Q?0Li3gjkiGOwq7QSWKbi7GpH4d1pooRmTW7CYJ8V39iCGZQjDIfD9QrtXHo?=
 =?iso-8859-1?Q?1CZ8SSNW3brlM023AHOuDt3ndbpMzN5mAqOYDEvGuuWCO4TD2LFM8zs9ex?=
 =?iso-8859-1?Q?1IBmPTEYO9DRAGxrcPOLy2sk0/CG8dT+RU7IANHooPzwfNOAmm47w95dd8?=
 =?iso-8859-1?Q?f/Nr3bglI7lyL7hjCefqzHVk+SCXQdRJtT6AaD9rFat+KUL8fBvpVOyxJV?=
 =?iso-8859-1?Q?dejInEdCyBRMKzPfbMxNl1QZgFTK8+mC+RCEFtxVrMF4Qzn2ZMt0u4lSVB?=
 =?iso-8859-1?Q?M3Uo/inGZEYr8DfqqOPQNTRGse8vL0xnoxSSkNdt4wE+tQ0VvLok9Vw/Sz?=
 =?iso-8859-1?Q?gaom5kqkbTIL6411rgITdtV3e9SiMfjONDZRJZIfeygQdb0UYuuhvFkkrT?=
 =?iso-8859-1?Q?6WyWjoe/8l1b0vXN0hgi12gW4PV1uutm7VxKH8JXLaAK243/G7ifxFEr87?=
 =?iso-8859-1?Q?aq3LRgYbSzeJ09zB47Qqy8CdISJNBFYmHOwBKDJdrQY4aI3yE4XYx2RCS7?=
 =?iso-8859-1?Q?qTmH5AptjFtnlYDVIhtMr0xzkLgLxFPy/AytPtmNGiT/yPQITZkXuV2yM8?=
 =?iso-8859-1?Q?9rOE29x8zVRUjWulW7Mvfpc06bzC+LdNRS2rNmY2oROEA0C7JNR0GTFLDz?=
 =?iso-8859-1?Q?uy8xk9/rKIeEnItibuO4VowdNOmvUVxuFNUpOg5NgyKGHcXwTzg1GYMWqa?=
 =?iso-8859-1?Q?OhazMJqwimulUVzEoaAeR5S2JnVrBgjJd5sQL99hjXCopoNxnvkH5tzvG2?=
 =?iso-8859-1?Q?yN43AvSKmQil6yR79f5OCDoYunJUehY9Eym9t/7DMg3uTety1fEs5ZYBAy?=
 =?iso-8859-1?Q?mpEPMSgaKgIPhbN5sGSAZITnAQcDO7/U3HkJPZ3OaRs2IIndFY0pM5cSZI?=
 =?iso-8859-1?Q?EwsTjxrPNA2ly5U2UV8GMGwv0G9D32ixUG7HOQaUjigr0aQGZ8aDg1fImF?=
 =?iso-8859-1?Q?RdJz3Ei0ptbgiJmKAMX+p8nJMR4/dVSCPRnf0P7YJed7GXunYOX+MCZghM?=
 =?iso-8859-1?Q?LmsElnF/Ls/pvOCwXQ56FwaLX1ugr13L4UhfFI/4ZJiEGa5muda2cRkEOJ?=
 =?iso-8859-1?Q?Ps00X93KkEaXAq5EOwtyuUmhw2dUQKe9yUKX4S96SrvAkBEbhsPP91juOT?=
 =?iso-8859-1?Q?2Lrr8mX2vK/+zuBSLDDZ5PklqqbB8TWEVMeyTsPwaUyGh2gjlAdxtLTQ?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: abf56879-3d2a-46e2-acac-08dbe1ec6e90
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:18.4267
 (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: TXMV9z3B58K+PF7vXxNKopjHfIrpNjs5jTuXvxcHwOqiKXNm7v8BYNEcxV02qoUoRsfVk5TLq5KuOvBfxnb5/A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: o6iGCl1vHwd9BVrGE0bIHk8fV3Vwwvtk
X-Proofpoint-GUID: o6iGCl1vHwd9BVrGE0bIHk8fV3Vwwvtk
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=999
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Since GICv3 supports much more than the 8 CPUs the GICv2 ITARGETSR
register can handle, the new IROUTER register covers the whole range
of possible target (V)CPUs by using the same MPIDR that the cores
report themselves.
In addition to translating this MPIDR into a vcpu pointer we store
the originally written value as well. The architecture allows to
write any values into the register, which must be read back as written.

Since we don't support affinity level 3, we don't need to take care
about the upper word of this 64-bit register, which simplifies the
handling a bit.

Based on Linux commit 78a714aba03039 by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-mmio-v3.c | 59 +++++++++++++++++++++++++++++++-
 1 file changed, 58 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
index ccdf3b9456..3d892a68cb 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v3.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -22,6 +22,19 @@
 #include "vgic.h"
 #include "vgic-mmio.h"
=20
+static struct vcpu *mpidr_to_vcpu(struct domain *d, unsigned long mpidr)
+{
+    struct vcpu *vcpu;
+
+    mpidr &=3D MPIDR_HWID_MASK;
+    for_each_vcpu(d, vcpu)
+    {
+        if ( mpidr =3D=3D vcpuid_to_vaffinity(vcpu->vcpu_id) )
+            return vcpu;
+    }
+    return NULL;
+}
+
 /* extract @num bytes at @offset bytes offset in data */
 unsigned long extract_bytes(uint64_t data, unsigned int offset,
                             unsigned int num)
@@ -98,6 +111,50 @@ static void vgic_mmio_write_v3_misc(struct vcpu *vcpu, =
paddr_t addr,
     }
 }
=20
+static unsigned long vgic_mmio_read_irouter(struct vcpu *vcpu, paddr_t add=
r,
+                                            unsigned int len)
+{
+    int intid            =3D VGIC_ADDR_TO_INTID(addr, 64);
+    struct vgic_irq *irq =3D vgic_get_irq(vcpu->domain, NULL, intid);
+    unsigned long ret    =3D 0;
+
+    if ( !irq )
+        return 0;
+
+    /* The upper word is RAZ for us. */
+    if ( !(addr & 4) )
+        ret =3D extract_bytes(irq->mpidr, addr & 7, len);
+
+    vgic_put_irq(vcpu->domain, irq);
+    return ret;
+}
+
+static void vgic_mmio_write_irouter(struct vcpu *vcpu, paddr_t addr,
+                                    unsigned int len, unsigned long val)
+{
+    int intid =3D VGIC_ADDR_TO_INTID(addr, 64);
+    struct vgic_irq *irq;
+    unsigned long flags;
+
+    /* The upper word is WI for us since we don't implement Aff3. */
+    if ( addr & 4 )
+        return;
+
+    irq =3D vgic_get_irq(vcpu->domain, NULL, intid);
+
+    if ( !irq )
+        return;
+
+    spin_lock_irqsave(&irq->irq_lock, flags);
+
+    /* We only care about and preserve Aff0, Aff1 and Aff2. */
+    irq->mpidr       =3D val & GENMASK(23, 0);
+    irq->target_vcpu =3D mpidr_to_vcpu(vcpu->domain, irq->mpidr);
+
+    spin_unlock_irqrestore(&irq->irq_lock, flags);
+    vgic_put_irq(vcpu->domain, irq);
+}
+
 static bool vgic_mmio_vcpu_rdist_is_last(struct vcpu *vcpu)
 {
     struct vgic_dist *vgic    =3D &vcpu->domain->arch.vgic;
@@ -206,7 +263,7 @@ static const struct vgic_register_region vgic_v3_dist_r=
egisters[] =3D {
         vgic_mmio_read_raz, vgic_mmio_write_wi, 1,
         VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_IROUTER,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 64,
+        vgic_mmio_read_irouter, vgic_mmio_write_irouter, 64,
         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICD_IDREGS,
         vgic_mmio_read_v3_idregs, vgic_mmio_write_wi, 48,
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:56:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:56:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630313.983181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R4E-0006bc-0q; Fri, 10 Nov 2023 12:56:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630313.983181; Fri, 10 Nov 2023 12:56: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 1r1R4D-0006VU-6X; Fri, 10 Nov 2023 12:56:57 +0000
Received: by outflank-mailman (input) for mailman id 630313;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R42-0001y0-6a
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:46 +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 96ed9a6d-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:40 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIeee019156; Fri, 10 Nov 2023 12:56:25 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkyram6-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:25 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:17 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 96ed9a6d-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JsIFmvozHm0rQeX4BQM1f2BEgzG+WHXglKe4qcKEk4v5QaFDxdQlxDqU0GOyktKEBlyMETCTege3Y5a0aFksJZeLds74XrcXQrhYzYqj9xnzz15mkpJFEu3bNf8XzYdshDl5AXnlXafwsYmm28AxusAbZuP3oJSg5DTv1buUeBfHeza/nso9FeMJUkVWVBXeOqOEWYOM/QiVJjb1O4v9krAZSKko9J9syDBgtAs9IxrfCYbW+BtpK0cGacaNgzyIBsMwxgmURd++IyXGMu4tzbTszKSNmX6tnqpHQwutm9WotlchzWb0BCLDpZjeTJLH4xsKEhqMk/Owdtbue+3xrg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u2jlDSOb6c9i5jMeBlUZxpDiIGDmoeGu3EM5435sgIM=;
 b=cPCUTN/VjXCndL+UAznvrUqQmfbvQjBSCgqy7BzcFGJITJPG8erobEqEGrVgFKv+K2/xE0NxNYRGCWby5ttwnDqyL3l1nCehxr1Aa8Eo26zSSkTz9homofmSqoZziNi+1XJHy9GtytzhdyRUouPrLAX7s2eqpszkfk18mMx3Ni1o9pUaqQ1fI+z92ctXz/25b8JNvY1Er2/7kgGl2Fma34j1v3D6Hum395ri3s3Bk1eps8lyPhhhQ2KYBPMP15UExmisqHTDJNXCAdRybAYgno4HGzL3kDkZF2v945mNkaI5EPsAsLZLud1ubEAd6jthHImaSIHxM51kX0DfwqIUsw==
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=u2jlDSOb6c9i5jMeBlUZxpDiIGDmoeGu3EM5435sgIM=;
 b=BfD6mW23sBJv10+uDbM3Bgf08lsMbsc2KNUkskxf2K3SOEPLpmjDfTBiTiKWtVY2NauD4rQdIDcGEqrAYV9Xmr479Ux7XA9G772PGmfAzuknSPzJFD0/9MxZwH1CzhR7dD8rdWx++tru9rh4gXgrqsvbLbWiRiEb46/fItTliCsaXscWaaYshR3H+/mjot2ulqb1C6VaowIPpHk8fQGaIJ/06XL/B0nldRr2+GI/KusuTUsV8QgphYblI7u0b//sSihOeIr23dTDIU7rpGA4GuVF4SZAXszOuI/IfccE6NY1bc/Qz4XvSBV8Gb5iH7/1SjMnQH4kNjO3XYYKFc5Ynw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 03/25] arm: new VGIC: Add GICv3 MMIO handling framework
Thread-Topic: [XEN PATCH v2 03/25] arm: new VGIC: Add GICv3 MMIO handling
 framework
Thread-Index: AQHaE9VLDiAyPu1VFkGDdkAk4XVJMQ==
Date: Fri, 10 Nov 2023 12:56:16 +0000
Message-ID: 
 <cfd46345ad96a447c0dccc371f074a47ed612259.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: 4df896b0-e089-4403-186a-08dbe1ec6dba
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 CxnlTOxuaZEk7MAN/We4yQQrEM9waDUvPWoZQMJBkhzvo5mMiMFexr7p8xyl5hmFtdFHr1K8owyi1krK//D3vbV2VeehrwRd7imFpQlWjwCX7icMWXYaLaWv1rbS3BHUDlHsqMDYmsnpv7jNNz+XBMy0aiOcmNj519AOPMh1DXaInEls4CI/X1BAbXHLvrXde1xMTRoHY0jVWNL01Yz9ukJAvEfv9LaHeKvjf3BuheeD6VjrhDPfnLIyy+SElflvgs9I4MR+ph0zsu0EOfuxP0F2Ut5wkWD9R+69CrpNWoKwlR+zWq8tJCuW1a4CoSIh4y+ZrgMBuco6S+YfrQt2uke4b2t6cV2paoxb30afz7kfrV/vZzITZtXkhv7JaOpfxstkF9EdU5oCgYhtX//RtuTHXlLPihUjqTq1XoKt99WV5Dbjhe8Ov1eif1yVt8gaqgcZE6OkoxP/M0OxmoSEar6tWhFnYCnyO4S9c2PuwsS6QepVd4DcTqnDBHFaJPr19ATD4JMoqxtu5fPm7QpnI4khDm3mVgGYYJiS8UBuEQGiCejw4VGywUvh0Ho+YCrN1OmDy7ngf6P+WDOWsFEgpvk1FGCFyd3vYDk2sLh6RI4XGwHpSYllfEn2dC3rLsI9oG5vTbiJtLOL+R9dS0QFqA==
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(30864003)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(66899024)(83380400001)(38070700009)(2004002)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?okrUPanjYNzUEkVRWRxgDLm6FPp8+bWsi0U9qpV9Ar4TCzG/GumWZCzcc+?=
 =?iso-8859-1?Q?8xxuytIiLjydwqyl6eYIykNWFwkHsxpNuJ+vmz8eUi+iU+rrnftn5kkGfG?=
 =?iso-8859-1?Q?0k50FetzHWbtGBvoJvLerpCLcI08YwbnITgso/abOXMLI7Df6SceJU5nSF?=
 =?iso-8859-1?Q?o+SEvnfrOqUrbBpjJaIioa5G2o0gJnhszX4ZJPtamKxBwKKdGVG6ZBbpln?=
 =?iso-8859-1?Q?ESN1fhL9+CG6k4eG2Fr7hUnloUUHiyKjw+1vyxAGyOLTPQzZrZf40IWPwR?=
 =?iso-8859-1?Q?FND+27Vj1MqCkWXINdk9Banqc8w6YDqKy/35elzgZ7+vZxgGAZC2+fyC1U?=
 =?iso-8859-1?Q?n7I1hzpPZmeO5mCG3jOIFvqwCWjo0phUtH+SJ46wTAR+vPz+uMiPKdNNEi?=
 =?iso-8859-1?Q?xo6/GUWvazUD29keIs34jppiZiXBA4+ljktFSayGF3uqSlB5F3s7Pg2si4?=
 =?iso-8859-1?Q?dore71Ymhnz6ZDic/sP1qKYEqOkrTvenuysCUriaUYH18l5HcZNibnkatI?=
 =?iso-8859-1?Q?adXHYH0u/OvpoH9P6zlqydSEYzfR10X4VOJG2vAjBVjGjqLRCEYIOFiBy1?=
 =?iso-8859-1?Q?yQ8UJ4PYrOoTvfrKFdgw6Lw8QNFJrCWJtVt+uAmLN2uFWsO27dptLXTrvL?=
 =?iso-8859-1?Q?DZxvnRgH9IeBzW4fq/jaBzv/RkyQGKI1MQ8t5pRln55Ii760ieXT7S4ne9?=
 =?iso-8859-1?Q?I0lmB9socQp64EvUVbVzpBqft+q6ZGBQck7CgGE6KZ0LOdBYOwEfFrZw+v?=
 =?iso-8859-1?Q?KTD5D4zjB7qj+mVLKkXjM1dYMuAFXp5n3LUW8BEBC90DZkcYreSXw1fPmc?=
 =?iso-8859-1?Q?tZcOjBiAMBZ+I9wh4QpBmFSx0dEehfFSr1jUp0VSOO0XR3uZEXMQ4CL6ao?=
 =?iso-8859-1?Q?vFL2XLXw/xjRoEtj0Co7D787K/sIT6nGVV5L3yUnpEczfWVMXTB8FjLTHT?=
 =?iso-8859-1?Q?b6I802MTo9rNXcqvMXEiJ6BjNnzsD5687zcs6yRJhYvxt3HY1FgN4efndF?=
 =?iso-8859-1?Q?fxXSNZ+5gfFsCSJFk3bra39PbJrVMwgAxACMKXB72Pv4xx7rmSXs4RXS/M?=
 =?iso-8859-1?Q?tZiCY6AeHh2f7H8nHKhZ5ClEjNMLv6SIf4LZwNjHqKLmUdD61gFM4tRWto?=
 =?iso-8859-1?Q?3BDjWX9nR8Ms/5tNBIw3cpAHD1U3sQG/9wicfdyloto0DwL2qDVOD+HNso?=
 =?iso-8859-1?Q?cswf2vlR5ICPNFHJSuol17+Jin6Y1IrCmhLo0k3MtVC55MvuyGCFtZImO+?=
 =?iso-8859-1?Q?L7buGcSi807muAUJknlorHAehAnB+H1YfDeu3LjOY02epU27+DtfbrQxTf?=
 =?iso-8859-1?Q?bE29ZpFDZWdGYzWsWHvWKwJc87Cb0UQnHerCE1144grDQiTrmFu9qPFGvH?=
 =?iso-8859-1?Q?IIvLesLLGRIaPvWgAEhZnoIbvW9PMaUpnk/2T1oHGo9mcp4vc89dzaLGUA?=
 =?iso-8859-1?Q?DenUhiI+aMECljG5PGi5iPt9XZiclFNCNyupxQXsGP3oQfikZ76NW+pN9l?=
 =?iso-8859-1?Q?nQuriBu0FbGfJmKdSPb0/GiFIAnTp/PKo8dsdI8nE8mcmy/Nn+sDQLYCl3?=
 =?iso-8859-1?Q?gTq4NtfsSqqw3MUR3d4HrzP0HW4gj+gYRuYR5ugFmFytQ8wDnbf3wwFTLB?=
 =?iso-8859-1?Q?FWpjeJjkJlP+2yzOwMK1mOxxFr9ZXWfwQacl9nQjEseDTWoyB00OdUTg?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4df896b0-e089-4403-186a-08dbe1ec6dba
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:16.8564
 (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: kyIKvqhbxIV9/E/TCJqMRl2RtJRjNECQHS/ojQHeTX2iY0eDW8y94CRzkeveSCcgCkLRBoWL6gMrs1BY7cp5yQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-GUID: fN-zLAFXUvUhOCFYKsTUhp7zIJpitx5j
X-Proofpoint-ORIG-GUID: fN-zLAFXUvUhOCFYKsTUhp7zIJpitx5j
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_08,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=962 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Create a new file called vgic-mmio-v3.c and describe the GICv3
distributor and redistributor registers there.
Also we provide a function to deal with the registration of the
separate redistributor frames per VCPU and allocation of redistributor
regions.

Based on Linux commits:
ed9b8cefa91695 by Andre Przywara
1aab6f468c10a1 by Christoffer Dall
ccc27bf5be7b78 by Eric Auger

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/gic_v3_defs.h |   2 +
 xen/arch/arm/include/asm/new_vgic.h    |  18 +-
 xen/arch/arm/vgic/vgic-init.c          |  10 +-
 xen/arch/arm/vgic/vgic-mmio-v3.c       | 435 +++++++++++++++++++++++++
 xen/arch/arm/vgic/vgic-mmio.c          |   3 +
 xen/arch/arm/vgic/vgic.h               |  15 +
 6 files changed, 475 insertions(+), 8 deletions(-)
 create mode 100644 xen/arch/arm/vgic/vgic-mmio-v3.c

diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/include/=
asm/gic_v3_defs.h
index 227533868f..b7059635d7 100644
--- a/xen/arch/arm/include/asm/gic_v3_defs.h
+++ b/xen/arch/arm/include/asm/gic_v3_defs.h
@@ -35,6 +35,7 @@
 #define GICD_IROUTER                 (0x6000)
 #define GICD_IROUTER32               (0x6100)
 #define GICD_IROUTER1019             (0x7FD8)
+#define GICD_IDREGS                  (0xFFD0)
 #define GICD_PIDR2                   (0xFFE8)
=20
 /* Common between GICD_PIDR2 and GICR_PIDR2 */
@@ -89,6 +90,7 @@
 #define GICR_INVLPIR                 (0x00A0)
 #define GICR_INVALLR                 (0x00B0)
 #define GICR_SYNCR                   (0x00C0)
+#define GICR_IDREGS                  GICD_IDREGS
 #define GICR_PIDR2                   GICD_PIDR2
=20
 /* GICR for SGI's & PPI's */
diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm=
/new_vgic.h
index 1e76213893..11d8f71851 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -31,6 +31,8 @@
 #define VGIC_MAX_SPI            1019
 #define VGIC_MAX_RESERVED       1023
 #define VGIC_MIN_LPI            8192
+#define VGIC_V3_DIST_SIZE       SZ_64K
+#define VGIC_V3_REDIST_SIZE     (2 * SZ_64K)
=20
 #define irq_is_ppi(irq) ((irq) >=3D VGIC_NR_SGIS && (irq) < VGIC_NR_PRIVAT=
E_IRQS)
 #define irq_is_spi(irq) ((irq) >=3D VGIC_NR_PRIVATE_IRQS && \
@@ -94,6 +96,14 @@ enum iodev_type {
     IODEV_REDIST,
 };
=20
+struct vgic_redist_region {
+    uint32_t index;
+    paddr_t base;
+    uint32_t count; /* number of redistributors or 0 if single region */
+    uint32_t free_index; /* index of the next free redistributor */
+    struct list_head list;
+};
+
 struct vgic_io_device {
     gfn_t base_fn;
     struct vcpu *redist_vcpu;
@@ -121,11 +131,7 @@ struct vgic_dist {
         /* either a GICv2 CPU interface */
         paddr_t         cbase;
         /* or a number of GICv3 redistributor regions */
-        struct
-        {
-            paddr_t     vgic_redist_base;
-            paddr_t     vgic_redist_free_offset;
-        };
+        struct list_head rd_regions;
     };
     paddr_t             csize; /* CPU interface size */
     paddr_t             vbase; /* virtual CPU interface base address */
@@ -174,6 +180,8 @@ struct vgic_cpu {
      * parts of the redistributor.
      */
     struct vgic_io_device   rd_iodev;
+    struct vgic_redist_region *rdreg;
+    uint32_t rdreg_index;
     struct vgic_io_device   sgi_iodev;
=20
     /* Contains the attributes and gpa of the LPI pending tables. */
diff --git a/xen/arch/arm/vgic/vgic-init.c b/xen/arch/arm/vgic/vgic-init.c
index f8d7d3a226..c3b34be192 100644
--- a/xen/arch/arm/vgic/vgic-init.c
+++ b/xen/arch/arm/vgic/vgic-init.c
@@ -107,14 +107,18 @@ int domain_vgic_register(struct domain *d, unsigned i=
nt *mmio_count)
     {
     case GIC_V2:
         *mmio_count =3D 1;
+        d->arch.vgic.cbase =3D VGIC_ADDR_UNDEF;
         break;
+    case GIC_V3:
+        *mmio_count =3D 2;
+        INIT_LIST_HEAD(&d->arch.vgic.rd_regions);
+        break;
+
     default:
         BUG();
     }
=20
     d->arch.vgic.dbase =3D VGIC_ADDR_UNDEF;
-    d->arch.vgic.cbase =3D VGIC_ADDR_UNDEF;
-    d->arch.vgic.vgic_redist_base =3D VGIC_ADDR_UNDEF;
=20
     return 0;
 }
@@ -207,7 +211,7 @@ int vcpu_vgic_init(struct vcpu *v)
     if ( gic_hw_version() =3D=3D GIC_V2 )
         vgic_v2_enable(v);
     else
-        ret =3D -ENXIO;
+        vgic_register_redist_iodev(v);
=20
     return ret;
 }
diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
new file mode 100644
index 0000000000..b79a63ce3e
--- /dev/null
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -0,0 +1,435 @@
+/*
+ * VGICv3 MMIO handling functions
+ * Imported from Linux ("new" KVM VGIC) and heavily adapted to Xen.
+ *
+ * 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.
+ */
+
+#include <xen/bitops.h>
+#include <xen/sched.h>
+#include <xen/sizes.h>
+#include <asm/new_vgic.h>
+#include <asm/gic_v3_defs.h>
+#include <asm/vreg.h>
+
+#include "vgic.h"
+#include "vgic-mmio.h"
+
+static const struct vgic_register_region vgic_v3_dist_registers[] =3D {
+    REGISTER_DESC_WITH_LENGTH(GICD_CTLR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi,
+        16, VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICD_STATUSR,
+        vgic_mmio_read_rao, vgic_mmio_write_wi, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_IGROUPR,
+        vgic_mmio_read_rao, vgic_mmio_write_wi, 1,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_ISENABLER,
+        vgic_mmio_read_enable, vgic_mmio_write_senable, 1,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_ICENABLER,
+        vgic_mmio_read_enable, vgic_mmio_write_cenable, 1,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_ISPENDR,
+        vgic_mmio_read_pending, vgic_mmio_write_spending, 1,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_ICPENDR,
+        vgic_mmio_read_pending, vgic_mmio_write_cpending, 1,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_ISACTIVER,
+        vgic_mmio_read_active, vgic_mmio_write_sactive, 1,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_ICACTIVER,
+        vgic_mmio_read_active, vgic_mmio_write_cactive,
+        1, VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_IPRIORITYR,
+        vgic_mmio_read_priority, vgic_mmio_write_priority,
+        8, VGIC_ACCESS_32bit | VGIC_ACCESS_8bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_ITARGETSR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        VGIC_ACCESS_32bit | VGIC_ACCESS_8bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_ICFGR,
+        vgic_mmio_read_config, vgic_mmio_write_config, 2,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_IGRPMODR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 1,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_BITS_PER_IRQ(GICD_IROUTER,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 64,
+        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICD_IDREGS,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 48,
+        VGIC_ACCESS_32bit),
+};
+
+static const struct vgic_register_region vgic_v3_rd_registers[] =3D {
+    /* RD_base registers */
+    REGISTER_DESC_WITH_LENGTH(GICR_CTLR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_STATUSR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_IIDR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_TYPER,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_WAKER,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_PROPBASER,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_PENDBASER,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_INVLPIR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_INVALLR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_SYNCR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(GICR_IDREGS,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 48,
+        VGIC_ACCESS_32bit),
+    /* SGI_base registers */
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_IGROUPR0,
+        vgic_mmio_read_rao, vgic_mmio_write_wi, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_ISENABLER0,
+        vgic_mmio_read_enable, vgic_mmio_write_senable, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_ICENABLER0,
+        vgic_mmio_read_enable, vgic_mmio_write_cenable, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_ISPENDR0,
+        vgic_mmio_read_pending, vgic_mmio_write_spending, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_ICPENDR0,
+        vgic_mmio_read_pending, vgic_mmio_write_cpending,4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_ISACTIVER0,
+        vgic_mmio_read_active, vgic_mmio_write_sactive, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_ICACTIVER0,
+        vgic_mmio_read_active, vgic_mmio_write_cactive, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_IPRIORITYR0,
+        vgic_mmio_read_priority, vgic_mmio_write_priority, 32,
+        VGIC_ACCESS_32bit | VGIC_ACCESS_8bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_ICFGR0,
+        vgic_mmio_read_config, vgic_mmio_write_config, 8,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_IGRPMODR0,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        VGIC_ACCESS_32bit),
+    REGISTER_DESC_WITH_LENGTH(SZ_64K + GICR_NSACR,
+        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        VGIC_ACCESS_32bit),
+};
+
+unsigned int vgic_v3_init_dist_iodev(struct vgic_io_device *dev)
+{
+    dev->regions    =3D vgic_v3_dist_registers;
+    dev->nr_regions =3D ARRAY_SIZE(vgic_v3_dist_registers);
+
+    return SZ_64K;
+}
+
+static bool vgic_v3_redist_region_full(struct vgic_redist_region *region)
+{
+    if ( !region->count )
+        return false;
+
+    return (region->free_index >=3D region->count);
+}
+
+/**
+ * vgic_v3_rdist_free_slot - Look up registered rdist regions and identify=
 one
+ * which has free space to put a new rdist region.
+ *
+ * @rd_regions: redistributor region list head
+ *
+ * A redistributor regions maps n redistributors, n =3D region size / (2 x=
 64kB).
+ * Stride between redistributors is 0 and regions are filled in the index =
order.
+ *
+ * Return: the redist region handle, if any, that has space to map a new r=
dist
+ * region.
+ */
+static struct vgic_redist_region *vgic_v3_rdist_free_slot(struct list_head=
 *rd_regions)
+{
+    struct vgic_redist_region *rdreg;
+
+    list_for_each_entry(rdreg, rd_regions, list)
+    {
+        if ( !vgic_v3_redist_region_full(rdreg) )
+            return rdreg;
+    }
+    return NULL;
+}
+
+
+/**
+ * vgic_register_redist_iodev - register a single redist iodev
+ * @vcpu:    The VCPU to which the redistributor belongs
+ *
+ * Register a KVM iodev for this VCPU's redistributor using the address
+ * provided.
+ *
+ * Return 0 on success, -ERRNO otherwise.
+ */
+int vgic_register_redist_iodev(struct vcpu *vcpu)
+{
+    struct domain *d              =3D vcpu->domain;
+    struct vgic_dist *vgic        =3D &d->arch.vgic;
+    struct vgic_cpu *vgic_cpu     =3D &vcpu->arch.vgic;
+    struct vgic_io_device *rd_dev =3D &vcpu->arch.vgic.rd_iodev;
+    struct vgic_redist_region *rdreg;
+    paddr_t rd_base;
+
+    /*
+     * We may be creating VCPUs before having set the base address for the
+     * redistributor region, in which case we will come back to this
+     * function for all VCPUs when the base address is set.  Just return
+     * without doing any work for now.
+     */
+    rdreg =3D vgic_v3_rdist_free_slot(&vgic->rd_regions);
+    if ( !rdreg )
+        return 0;
+
+    vgic_cpu->rdreg       =3D rdreg;
+    vgic_cpu->rdreg_index =3D rdreg->free_index;
+
+    rd_base             =3D rdreg->base + rdreg->free_index * VGIC_V3_REDI=
ST_SIZE;
+
+    rd_dev->base_fn     =3D gaddr_to_gfn(rd_base);
+    rd_dev->iodev_type  =3D IODEV_REDIST;
+    rd_dev->regions     =3D vgic_v3_rd_registers;
+    rd_dev->nr_regions  =3D ARRAY_SIZE(vgic_v3_rd_registers);
+    rd_dev->redist_vcpu =3D vcpu;
+
+    register_mmio_handler(d, &vgic_io_ops, rd_base, VGIC_V3_REDIST_SIZE,
+                          rd_dev);
+
+    rdreg->free_index++;
+    return 0;
+}
+
+static int vgic_register_all_redist_iodevs(struct domain *d)
+{
+    struct vcpu *vcpu;
+    int ret =3D 0;
+
+    for_each_vcpu(d, vcpu)
+    {
+        ret =3D vgic_register_redist_iodev(vcpu);
+        if ( ret )
+            break;
+    }
+
+    if ( ret )
+    {
+        printk(XENLOG_ERR "Failed to register redistributor iodev\n");
+    }
+
+    return ret;
+}
+
+static inline size_t vgic_v3_rd_region_size(struct domain *d,
+                                            struct vgic_redist_region *rdr=
eg)
+{
+    if ( !rdreg->count )
+        return d->max_vcpus * VGIC_V3_REDIST_SIZE;
+    else
+        return rdreg->count * VGIC_V3_REDIST_SIZE;
+}
+
+/**
+ * vgic_v3_rdist_overlap - check if a region overlaps with any
+ * existing redistributor region
+ *
+ * @kvm: kvm handle
+ * @base: base of the region
+ * @size: size of region
+ *
+ * Return: true if there is an overlap
+ */
+bool vgic_v3_rdist_overlap(struct domain *domain, paddr_t base, size_t siz=
e)
+{
+    struct vgic_dist *d =3D &domain->arch.vgic;
+    struct vgic_redist_region *rdreg;
+
+    list_for_each_entry(rdreg, &d->rd_regions, list)
+    {
+        if ( (base + size > rdreg->base) &&
+             (base < rdreg->base + vgic_v3_rd_region_size(domain, rdreg)) =
)
+            return true;
+    }
+    return false;
+}
+
+static inline bool vgic_dist_overlap(struct domain *domain, paddr_t base,
+                                     size_t size)
+{
+    struct vgic_dist *d =3D &domain->arch.vgic;
+
+    return (base + size > d->dbase) && (base < d->dbase + VGIC_V3_DIST_SIZ=
E);
+}
+
+struct vgic_redist_region *vgic_v3_rdist_region_from_index(struct domain *=
d,
+                                                           u32 index)
+{
+    struct list_head *rd_regions =3D &d->arch.vgic.rd_regions;
+    struct vgic_redist_region *rdreg;
+
+    list_for_each_entry(rdreg, rd_regions, list)
+    {
+        if ( rdreg->index =3D=3D index )
+            return rdreg;
+    }
+    return NULL;
+}
+
+int vgic_check_iorange(paddr_t ioaddr, paddr_t addr, paddr_t alignment,
+                       paddr_t size)
+{
+    if ( !IS_VGIC_ADDR_UNDEF(ioaddr) )
+        return -EEXIST;
+
+    if ( !IS_ALIGNED(addr, alignment) || !IS_ALIGNED(size, alignment) )
+        return -EINVAL;
+
+    if ( addr + size < addr )
+        return -EINVAL;
+
+    return 0;
+}
+
+/**
+ * vgic_v3_alloc_redist_region - Allocate a new redistributor region
+ *
+ * Performs various checks before inserting the rdist region in the list.
+ * Those tests depend on whether the size of the rdist region is known
+ * (ie. count !=3D 0). The list is sorted by rdist region index.
+ *
+ * @kvm: kvm handle
+ * @index: redist region index
+ * @base: base of the new rdist region
+ * @count: number of redistributors the region is made of (0 in the old st=
yle
+ * single region, whose size is induced from the number of vcpus)
+ *
+ * Return 0 on success, < 0 otherwise
+ */
+static int vgic_v3_alloc_redist_region(struct domain *domain, uint32_t ind=
ex,
+                                       paddr_t base, uint32_t count)
+{
+    struct vgic_dist *d =3D &domain->arch.vgic;
+    struct vgic_redist_region *rdreg;
+    struct list_head *rd_regions =3D &d->rd_regions;
+    int nr_vcpus                 =3D domain->max_vcpus;
+    size_t size                  =3D count ? count * VGIC_V3_REDIST_SIZE
+                                         : nr_vcpus * VGIC_V3_REDIST_SIZE;
+    int ret;
+
+    /* cross the end of memory ? */
+    if ( base + size < base )
+        return -EINVAL;
+
+    if ( list_empty(rd_regions) )
+    {
+        if ( index !=3D 0 )
+            return -EINVAL;
+    }
+    else
+    {
+        rdreg =3D list_last_entry(rd_regions, struct vgic_redist_region, l=
ist);
+
+        /* Don't mix single region and discrete redist regions */
+        if ( !count && rdreg->count )
+            return -EINVAL;
+
+        if ( !count )
+            return -EEXIST;
+
+        if ( index !=3D rdreg->index + 1 )
+            return -EINVAL;
+    }
+
+    /*
+     * For legacy single-region redistributor regions (!count),
+     * check that the redistributor region does not overlap with the
+     * distributor's address space.
+     */
+    if ( !count && !IS_VGIC_ADDR_UNDEF(d->dbase) &&
+         vgic_dist_overlap(domain, base, size) )
+        return -EINVAL;
+
+    /* collision with any other rdist region? */
+    if ( vgic_v3_rdist_overlap(domain, base, size) )
+        return -EINVAL;
+
+    rdreg =3D xzalloc(struct vgic_redist_region);
+    if ( !rdreg )
+        return -ENOMEM;
+
+    rdreg->base =3D VGIC_ADDR_UNDEF;
+
+    ret =3D vgic_check_iorange(rdreg->base, base, SZ_64K, size);
+    if ( ret )
+        goto free;
+
+    rdreg->base       =3D base;
+    rdreg->count      =3D count;
+    rdreg->free_index =3D 0;
+    rdreg->index      =3D index;
+
+    list_add_tail(&rdreg->list, rd_regions);
+    return 0;
+free:
+    xfree(rdreg);
+    return ret;
+}
+
+void vgic_v3_free_redist_region(struct vgic_redist_region *rdreg)
+{
+    list_del(&rdreg->list);
+    xfree(rdreg);
+}
+
+int vgic_v3_set_redist_base(struct domain *d, u32 index, u64 addr, u32 cou=
nt)
+{
+    int ret;
+
+    ret =3D vgic_v3_alloc_redist_region(d, index, addr, count);
+    if ( ret )
+        return ret;
+
+    /*
+     * Register iodevs for each existing VCPU.  Adding more VCPUs
+     * afterwards will register the iodevs when needed.
+     */
+    ret =3D vgic_register_all_redist_iodevs(d);
+    if ( ret )
+    {
+        struct vgic_redist_region *rdreg;
+
+        rdreg =3D vgic_v3_rdist_region_from_index(d, index);
+        vgic_v3_free_redist_region(rdreg);
+        return ret;
+    }
+
+    return 0;
+}
diff --git a/xen/arch/arm/vgic/vgic-mmio.c b/xen/arch/arm/vgic/vgic-mmio.c
index 5d935a7301..1c3f861887 100644
--- a/xen/arch/arm/vgic/vgic-mmio.c
+++ b/xen/arch/arm/vgic/vgic-mmio.c
@@ -619,6 +619,9 @@ int vgic_register_dist_iodev(struct domain *d, gfn_t di=
st_base_fn,
     case VGIC_V2:
         len =3D vgic_v2_init_dist_iodev(io_device);
         break;
+    case VGIC_V3:
+        len =3D vgic_v3_init_dist_iodev(io_device);
+        break;
     default:
         BUG();
     }
diff --git a/xen/arch/arm/vgic/vgic.h b/xen/arch/arm/vgic/vgic.h
index 2819569f30..a8e3ef5970 100644
--- a/xen/arch/arm/vgic/vgic.h
+++ b/xen/arch/arm/vgic/vgic.h
@@ -73,6 +73,9 @@ int vgic_register_dist_iodev(struct domain *d, gfn_t dist=
_base_fn,
 #ifdef CONFIG_GICV3
 void vgic_v3_fold_lr_state(struct vcpu *vcpu);
 void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq *irq, int lr);
+unsigned int vgic_v3_init_dist_iodev(struct vgic_io_device *dev);
+int vgic_v3_set_redist_base(struct domain *d, u32 index, u64 addr, u32 cou=
nt);
+int vgic_register_redist_iodev(struct vcpu *vcpu);
 #else
 static inline void vgic_v3_fold_lr_state(struct vcpu *vcpu)
 {
@@ -80,6 +83,18 @@ static inline void vgic_v3_fold_lr_state(struct vcpu *vc=
pu)
 static inline void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq =
*irq, int lr)
 {
 }
+static inline unsigned int vgic_v3_init_dist_iodev(struct vgic_io_device *=
dev)
+{
+    return 0;
+}
+static inline int vgic_v3_set_redist_base(struct domain *d, u32 index, u64=
 addr, u32 count)
+{
+    return 0;
+}
+static inline int vgic_register_redist_iodev(struct vcpu *vcpu)
+{
+    return 0;
+}
 #endif /* CONFIG_GICV3 */
=20
 #endif /* __XEN_ARM_VGIC_VGIC_H__ */
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:57:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:57:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630314.983192 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R4I-0007H9-JD; Fri, 10 Nov 2023 12:57:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630314.983192; Fri, 10 Nov 2023 12:57: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 1r1R4H-0007Am-4b; Fri, 10 Nov 2023 12:57:01 +0000
Received: by outflank-mailman (input) for mailman id 630314;
 Fri, 10 Nov 2023 12:56: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R42-0001y1-Ck
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:46 +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 96cbe06d-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:40 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvZ025691; Fri, 10 Nov 2023 12:56:24 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:23 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:18 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 96cbe06d-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KmfMeDiLhV50Jd17E0cA7jEFlvs14Z8ha/cIB3Y5MAeJ2WxdX9d4KQ847V3L/TXBEt/CK2X98ooWv3idvTOHtY/sKOOeC6rahTtBgeXZ8LD0NhGJnfvJ0ez3niG+boCI0Nfc090GYw+uOOTwwgSTyXpl+KG8262xCoHqhniQteY+TM1jrwdwx6Gm7/+SQ5ediseMWslw6STjLbvU323Nhuu9A0jf8Voo1uk9VRDcp8iMLU5R32KAZf2GzLZwQQIwUjvoLaqqz9VhzTaM6Hiv9BeFvW54hSoZWI1ssaltzaiS6Ksrp6pGkCymLCR3jUhjpZq/0tkPqwFVmQcY+xOsMQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O5jdN5uXcsNiZFC3fCVZlqgLJLq+GNIYO2Q9vhRpzs4=;
 b=Lxlb/Ai+1G4CkRgeyOocmc1Kw2+mI5Pu66T/BN0hvC05zewUZygxv1b1A++RHvieiTYLOoWq02yY7+uMHhJ6o90sRaKZWLgfNVfLbci1ES+kpMVra8MDT0I7v96TYnvPumoRNNqUNBoKEeLfHa0ECfSptdxzcrP1lNp1l5u64m7XKmggty16VI0dPnJG+ZWeqCNAM3rFnTWwZhijRtuM7zu4a7nu++ERSKnN2sNNAsFVZhumAHU3oI5Iu9cVjNnJ7Dz91wr73kXdKye69yoD02Dt/1+f1yoHq65orEoif3CNPWf8lGNsV6sQmMzceb2uzT/Y1D9gIogDbR+eUc/GtQ==
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=O5jdN5uXcsNiZFC3fCVZlqgLJLq+GNIYO2Q9vhRpzs4=;
 b=lu3re+7kF1jLfxjAoZeIv/sBC7OJJNv+e9gFmYaQPn/Zii0oSqXFdk13b5uxKwaV+nVe6p+7XJX7V4bD2hZhlUCZwHQyL2B+/Xnl9MiNK/amwpLq6Hvix41yNVzPK92jPYS0PoCV+usUeLOA6d+yVf73hl92SdatiXIfB8DqEmNGcLwx0lj+4CohXQjnBACJJG4F0PyXV6coUjbQwy+4gTh62BAYull27OaD3jsRTwX7rnqSpFpt0jFQmmz/bhh7mHXVjsJPSULJizMaZcodTfDpCuQn08LJXE/NDZdtLH2hADxQhWqScFFbZIdGL+xUihFgUqalGLqD3y2YCB+oog==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 05/25] arm: new VGIC: Add GICv3 redistributor IIDR and
 TYPER handler
Thread-Topic: [XEN PATCH v2 05/25] arm: new VGIC: Add GICv3 redistributor IIDR
 and TYPER handler
Thread-Index: AQHaE9VL00f8rSPwJ0KirkGhv4uq5Q==
Date: Fri, 10 Nov 2023 12:56:17 +0000
Message-ID: 
 <e07041f75b4cdf6141a1a939855f9721f15d692b.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: 0f7f8033-a143-46f9-2709-08dbe1ec6e2a
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 efwsLLG2yZFY6Z8jyywI3ZQPhNMVYHJKLdQeDsLVLGjwKCxy4HJ3EUh6u6rWnWEVKf8NhyvSF8kCeXv83ZiGlcPKFAH05AhYTiCMTMsJV6UphkmX71hzf+D/XRKI8c1F9uvUAHG0eGUpzmQ3dFveFPK1R/bLAw2XG5yQh/PjGKDXaKNE68DbTB9V8DjGF26109mq1BHZqyZIf0Z8Blb19k9R9Zu9tuECBM+ZB4EN7JmQwM2uq7rVNFQ6wxSfH+TIMHNW2fB77yuNnXpnf7uKrMwMQB/kIe33QQGCLRqEOyPP1o+HRG2CRxO+yPqBzxuwBpA8SNh+EJsegW93IxjFspsmT/DbdvdtIFbTtVAQfAqo//G1aeN47Hbg5yjAc6c6UFE/fn6MlZWVwDLsiS+md2cZBuzxYZTiSfvPbKJCmRvKeeuQ7ZrJMMIR6bGeqhuGKcS10p0cfxIrLDC5CsOQpmTAvV0uLGPhjVK5tqulZPo0UGDovlhyYDYbWWbkXzQC1co9ZX5PJIF8JkCHa74el3/etnmHq8us73pgNFdxhaZZfsadMwQskTqg1d2JjZWKUDE07tROfZOPJ6pkj2nEjifA/vzmzug3OC6P3o2KzhypjIFxRLdwwftvVgCmxV9+
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?hZh1ks05FwnMIzJLppAdA70WnCx89WQTWvXJjZ9pBd4kJLCn9ca1v/tg8u?=
 =?iso-8859-1?Q?j5uoO0uC/ys670+SCySOOS+SzPgpuYW3R3NwTa4U5Cx+Hew66JJlqumm/7?=
 =?iso-8859-1?Q?TaaxMLDg1v9siK4OUoSG7yj5MLuCFrxrMIim2qqTVzUfV1TgUMXWHBc2Na?=
 =?iso-8859-1?Q?xaNxH6Z/r/nBAxojo22PQK9g3/j2TsjLCvuXrq92ERJIHQWGH5ECU/ns1k?=
 =?iso-8859-1?Q?Fizq/fbzM8ohtrLO593D4YOCbJdrQVWLNo4eNzUQKymsviWZwChMY9pPC5?=
 =?iso-8859-1?Q?H/D+OFLevEv4+CoG09BkvgROUlOLTw3TSGT0Mr7vVY9kxAhdeNnbRcKygW?=
 =?iso-8859-1?Q?PfkRim0HjqkaqnLzQKReDHty71Xv/8WD3bPIQptYunbnUboK+VuhZkH+2F?=
 =?iso-8859-1?Q?nAEv6smi5M8XvRbXUVdU1jDleRhZHoAFPJonC/pBWp1WNgTsu0uTmDxmL0?=
 =?iso-8859-1?Q?FsuMjnpEc/OOaPwWhdz3fB0I+MxvPTIPakEvzgZg8Ssuq4+uz/UTqkY7u5?=
 =?iso-8859-1?Q?kejBVFJRFCM+aSM2MuoY8oxHN+68dC/8SV2IJanuEb4i1HPKIgWkd/SKe7?=
 =?iso-8859-1?Q?AguBl5BlmPi9+HPm5TNCys0kBVYLuFfNsnAR5nOkKyZmi5oEcya/NS/wD5?=
 =?iso-8859-1?Q?+ZToq8p9Q6UHFaTzQ6oJ8IGcjsZb0NNip9P0zdlu7eju5HwLOaxzyoPUS+?=
 =?iso-8859-1?Q?UG5gUQZ5J7d4doDPPEm+I9QknMWL8SxZRGCOdlSZ0/DfvCXJjkeLC+hmXJ?=
 =?iso-8859-1?Q?QpcIcy8bqqUsSUnlXiqQAZZQ0Oj2h470eLeaM0qFfJJYP5fGfCfIMfSTVT?=
 =?iso-8859-1?Q?NWrROyydoCiE7piK39Xpz3qDPHxby0Z67TvrIeJYB6dmwXMQEoJNhN5Ate?=
 =?iso-8859-1?Q?AI5XynQaZPvV+PHHDvQug00Fl2esPeObTN0bIrDt5L/GRN5eG2DnalawLL?=
 =?iso-8859-1?Q?m1rK1AsSdyrgrwCwogyn36XNeFYIycghX3RL8w2wEYQNngdsKRoiCHDi3v?=
 =?iso-8859-1?Q?Fwq4oJ0hKjZLQECzgLwnBf+3crdGn3bMTGygVRtaJOc2PSac3gjGPbGh8o?=
 =?iso-8859-1?Q?Ss+Q9ACP8UQrrjo1ukH/KYmGPAed/7EY6VqU97X8eH53wLXA5ZhEjUp2cS?=
 =?iso-8859-1?Q?OWIXcNEkVHrYotwvNhc5KVVzErpzubVSoVC5iSQIaH5c6wBCK0/aHf+ean?=
 =?iso-8859-1?Q?QKa98jGoakJEC1Nv7p6tsbVWFvxPjr6f8lgtOHhKNEHYPDFG6LtUCbr467?=
 =?iso-8859-1?Q?o8LQ3F8lVZt9d5DxCCIpaOD6RzXXy2V00qaiACqJRtfId36ZUPUK5lKTwc?=
 =?iso-8859-1?Q?ymWW7HjX3alCSOXaBu2Waa4jcJAQDqIAkw1+gu3JDOKsCbg9P2+r6lDM3u?=
 =?iso-8859-1?Q?BDZFwlXRnxGFYNeMqKAjFU86SKPKKytxx5oZHSHLfwfngIol4Zp+84f0DC?=
 =?iso-8859-1?Q?0hoOp1yNJScj+lRleCMFbCopvg1UY32c38ltFndY54mNjOrMcXClf3iD2z?=
 =?iso-8859-1?Q?SMzLcw5MFYUeFTfuy50NF/ZK+n2gw+5rQhe6HvmvZfaAXr2XNGtXDubcMK?=
 =?iso-8859-1?Q?sS5bJF3bjGC6an2H6KQXAKsxGQF6qCPmqROXFVLhkvrNOQvF2UeN3N6FXs?=
 =?iso-8859-1?Q?ZGgGSZJOJkHpomdzUWViV9jM9vcjwV8jes442SV2rRMi9andtsBVZw5A?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0f7f8033-a143-46f9-2709-08dbe1ec6e2a
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:17.6259
 (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: DqkaOknF/vZrURWnSXlUj4ySUD6kW3a5aL18z9ub0S278IHmP3D2VIzh+WiFUvNhMDnVkD7XcajTFr95DGtx3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: YkRQIsWeqjlxtxDB-HdRWnhZtjNIiqKL
X-Proofpoint-GUID: YkRQIsWeqjlxtxDB-HdRWnhZtjNIiqKL
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=994
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

The redistributor TYPER tells the OS about the associated MPIDR,
also the LAST bit is crucial to determine the number of redistributors.

Based on Linux commit 741972d8a69ce74 by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-mmio-v3.c | 65 +++++++++++++++++++++++++++++++-
 1 file changed, 63 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
index beb3d6ad2a..707a38c727 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v3.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -22,6 +22,13 @@
 #include "vgic.h"
 #include "vgic-mmio.h"
=20
+/* extract @num bytes at @offset bytes offset in data */
+unsigned long extract_bytes(uint64_t data, unsigned int offset,
+                            unsigned int num)
+{
+    return (data >> (offset * 8)) & GENMASK_ULL(num * 8 - 1, 0);
+}
+
 /*
  * The Revision field in the IIDR have the following meanings:
  *
@@ -91,6 +98,60 @@ static void vgic_mmio_write_v3_misc(struct vcpu *vcpu, p=
addr_t addr,
     }
 }
=20
+static bool vgic_mmio_vcpu_rdist_is_last(struct vcpu *vcpu)
+{
+    struct vgic_dist *vgic    =3D &vcpu->domain->arch.vgic;
+    struct vgic_cpu *vgic_cpu =3D &vcpu->arch.vgic;
+    struct vgic_redist_region *iter, *rdreg =3D vgic_cpu->rdreg;
+
+    if ( !rdreg )
+        return false;
+
+    if ( vgic_cpu->rdreg_index < rdreg->free_index - 1 )
+    {
+        return false;
+    }
+    else if ( rdreg->count && vgic_cpu->rdreg_index =3D=3D (rdreg->count -=
 1) )
+    {
+        struct list_head *rd_regions =3D &vgic->rd_regions;
+        paddr_t end =3D rdreg->base + rdreg->count * VGIC_V3_REDIST_SIZE;
+
+        /*
+         * the rdist is the last one of the redist region,
+         * check whether there is no other contiguous rdist region
+         */
+        list_for_each_entry(iter, rd_regions, list)
+        {
+            if ( iter->base =3D=3D end && iter->free_index > 0 )
+                return false;
+        }
+    }
+    return true;
+}
+
+static unsigned long vgic_mmio_read_v3r_typer(struct vcpu *vcpu, paddr_t a=
ddr,
+                                              unsigned int len)
+{
+    unsigned long mpidr =3D vcpuid_to_vaffinity(vcpu->vcpu_id);
+    int target_vcpu_id  =3D vcpu->vcpu_id;
+    u64 value;
+
+    value =3D (u64)(mpidr & GENMASK(23, 0)) << 32;
+    value |=3D ((target_vcpu_id & 0xffff) << 8);
+
+    if ( vgic_mmio_vcpu_rdist_is_last(vcpu) )
+        value |=3D GICR_TYPER_LAST;
+
+    return extract_bytes(value, addr & 7, len);
+}
+
+static unsigned long vgic_mmio_read_v3r_iidr(struct vcpu *vcpu, paddr_t ad=
dr,
+                                             unsigned int len)
+{
+    return (PRODUCT_ID_KVM << 24) | (VARIANT_ID_XEN << 16) |
+           (IMPLEMENTER_ARM << 0);
+}
+
 static const struct vgic_register_region vgic_v3_dist_registers[] =3D {
     REGISTER_DESC_WITH_LENGTH(GICD_CTLR,
         vgic_mmio_read_v3_misc, vgic_mmio_write_v3_misc,
@@ -148,10 +209,10 @@ static const struct vgic_register_region vgic_v3_rd_r=
egisters[] =3D {
         vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
         VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_IIDR,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
+        vgic_mmio_read_v3r_iidr, vgic_mmio_write_wi, 4,
         VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_TYPER,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        vgic_mmio_read_v3r_typer, vgic_mmio_write_wi, 8,
         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_WAKER,
         vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 12:57:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 12:57:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630321.983219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1R54-0004Nu-78; Fri, 10 Nov 2023 12:57:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630321.983219; Fri, 10 Nov 2023 12:57: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 1r1R54-0004Nn-3l; Fri, 10 Nov 2023 12:57:50 +0000
Received: by outflank-mailman (input) for mailman id 630321;
 Fri, 10 Nov 2023 12:57: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 1r1R53-0004NH-I8; Fri, 10 Nov 2023 12:57: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 1r1R53-00067f-DY; Fri, 10 Nov 2023 12:57: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 1r1R52-0008Lg-V7; Fri, 10 Nov 2023 12:57:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1R52-0000hC-Uf; Fri, 10 Nov 2023 12:57: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=LL3Kxn7jlG8t/BSclaZ7puS2SPVYa3GiO+wpsmRn/2s=; b=G+xUpCGIYkMt9Nvts8z9hmWPij
	NYO19pW936aJACklYmTlFoB+N3c0taEWmhnRovAa7ExOZzIz/R3WS8Ieb0pA5IRgioPnoaQsp/nqP
	7soMGdEhn8pmbuIP4rosV4hmrlEa6xnwvqeHOUSDDucffFLuOTRQ8vl90CHUoJep3+gA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183728-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183728: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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-credit2:migrate-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-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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt: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
X-Osstest-Versions-This:
    linux=89cdf9d556016a54ff6ddd62324aa5ec790c05cc
X-Osstest-Versions-That:
    linux=4bbdb725a36b0d235f3b832bd0c1e885f0442d9f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 10 Nov 2023 12:57:48 +0000

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

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 183723
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183723
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183723
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183723
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183723
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183723
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183723
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183723
 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-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-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-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-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-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-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt     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

version targeted for testing:
 linux                89cdf9d556016a54ff6ddd62324aa5ec790c05cc
baseline version:
 linux                4bbdb725a36b0d235f3b832bd0c1e885f0442d9f

Last test of basis   183723  2023-11-09 22:13:50 Z    0 days
Testing same since   183728  2023-11-10 06:14:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexander Sverdlin <alexander.sverdlin@siemens.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair@alistair23.me>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Jeffery <andrew@codeconstruct.com.au>
  Andrew Lunn <andrew@lunn.ch>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com> # Intel LPSS
  Aniruddha Paul <aniruddha.paul@intel.com>
  Ben Dooks <ben.dooks@codethink.co.uk>
  Bence Csókás <bence98@sch.bme.hu>
  Bharat Bhushan <bbhushan2@marvell.com>
  Björn Töpel <bjorn@rivosinc.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chuck Lever <chuck.lever@oracle.com>
  Chuong Tran <chuong@os.amperecomputing.com>
  Chuyi Zhou <zhouchuyi@bytedance.com>
  Conor Dooley <conor.dooley@microchip.com>
  D. Wythe <alibuda@linux.alibaba.com>
  Daan De Meyer <daan.j.demeyer@gmail.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Darren Hart <darren@os.amperecomputing.com>
  Dave Ertman <david.m.ertman@intel.com>
  Dave Marchevsky <davemarchevsky@fb.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Vernet <void@manifault.com>
  Diogo Ivo <diogo.ivo@siemens.com>
  Dmitry Safonov <dima@arista.com>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Edward Adam Davis <eadavis@qq.com>
  Eric Dumazet <edumazet@google.com>
  Fabio Estevam <festevam@denx.de>
  Filippo Storniolo <f.storniolo95@gmail.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Furong Xu <0x1207@gmail.com>
  Geetha sowjanya <gakula@marvell.com>
  George Cherian <george.cherian@marvell.com>
  George Shuklin <george.shuklin@gmail.com>
  Gerd Bayer <gbayer@linux.ibm.com>
  Guenter Roeck <linux@roeck-us.net>
  Hangbin Liu <liuhangbin@gmail.com>
  Hao Sun <sunhao.th@gmail.com>
  Heiko Stuebner <heiko@sntech.de> # pwm-rockchip
  Heiner Kallweit <hkallweit1@gmail.com>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hou Tao <houtao1@huawei.com>
  Huqiang Qin <huqiang.qin@amlogic.com>
  Ivan Vecera <ivecera@redhat.com>
  Jacky Bai <ping.bai@nxp.com>
  Jakub Kicinski <kuba@kernel.org>
  Jamal Hadi Salim <jhs@mojatatu.com>
  Jamal Hadi Salim<jhs@mojatatu.com>
  Janne Grunau <j@jannau.net>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jernej Skrabec <jernej.skrabec@gmail.com>
  Jernej Skrabec <jernej.skrabec@gmail.com> # sun4i
  Jian Shen <shenjian15@huawei.com>
  Jijie Shao <shaojijie@huawei.com>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jiri Olsa <jolsa@kernel.org>
  Jiri Pirko <jiri@nvidia.com>
  Julian Anastasov <ja@ssi.bg>
  Justin Stitt <justinstitt@google.com>
  Kees Cook <keescook@chromium.org>
  Klaus Kudielka <klaus.kudielka@gmail.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuan-Wei Chiu <visitorckw@gmail.com>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Larysa Zaremba <larysa.zaremba@intel.com>
  Li Zetao <lizetao1@huawei.com>
  Lin, Meng-Bo <linmengbo0689@protonmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Luca Weiss <luca@z3ntu.xyz>
  Luigi Leonardi <luigi.leonardi@outlook.com>
  Maciej Żenczykowski <zenczykowski@gmail.com>
  Manu Bretelle <chantr4@gmail.com>
  Marcin Szycik <marcin.szycik@linux.intel.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matti Lehtimäki <matti.lehtimaki@gmail.com>
  Michael Hennerich <michael.hennerich@analog.com>
  Michael Shych <michaelsh@nvidia.com>
  Michael Walle <michael@walle.cc> # pwm-sl28cpld
  Michal Schmidt <mschmidt@redhat.com>
  Nathan Chancellor <nathan@kernel.org>
  Neal Cardwell <ncardwell@google.com>
  Neil Armstrong <neil.armstrong@linaro.org> # pwm-meson
  NeilBrown <neilb@suse.de>
  Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp> # pwm-visconti
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Patrick Thompson <ptf@google.com>
  Paul Moore <paul@paul-moore.com>
  Philipp Stanner <pstanner@redhat.com>
  Po-Hsu Lin <po-hsu.lin@canonical.com>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Ratheesh Kannoth <rkannoth@marvell.com>
  Ray Jui <ray.jui@broadcom.com>
  Richard Cochran <richardcochran@gmail.com>
  Rob Herring <robh@kernel.org>
  Roman Bacik <roman.bacik@broadcom.com>
  Ronald Wahl <ronald.wahl@raritan.com>
  Ruan Jinjie <ruanjinjie@huawei.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Shigeru Yoshida <syoshida@redhat.com>
  Shung-Hsi Yu <shung-hsi.yu@suse.com>
  Srinivas Neeli <srinivas.neeli@amd.com>
  Sujai Buvaneswaran <sujai.buvaneswaran@intel.com>
  Tam Nguyen <tamnguyenchi@os.amperecomputing.com>
  Tao Lyu <tao.lyu@epfl.ch>
  Thierry Reding <thierry.reding@gmail.com>
  Thierry Reding <treding@nvidia.com>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vadim Pasternak <vadimp@nvidia.com>
  Victor Nogueira <victor@mojatatu.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Vladimir Oltean <vladimir.oltean@nxp.com>
  Werner Fischer <devlists@wefi.net>
  Willem de Bruijn <willemb@google.com>
  Wim Van Sebroeck <wim@linux-watchdog.org>
  Wolfram Sang <wsa@kernel.org>
  Xing Tong Wu <xingtong.wu@siemens.com>
  Yafang Shao <laoar.shao@gmail.com>
  Yonghong Song <yonghong.song@linux.dev>
  Zev Weiss <zev@bewilderbeest.net>

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-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-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
   4bbdb725a36b..89cdf9d55601  89cdf9d556016a54ff6ddd62324aa5ec790c05cc -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 13:08:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 13:08:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630368.983230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1RFC-0007rd-7K; Fri, 10 Nov 2023 13:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630368.983230; Fri, 10 Nov 2023 13: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 1r1RFC-0007rW-4d; Fri, 10 Nov 2023 13:08:18 +0000
Received: by outflank-mailman (input) for mailman id 630368;
 Fri, 10 Nov 2023 13:08: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R43-0001y0-6p
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:47 +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 97bdc968-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:41 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACHn4o029609; Fri, 10 Nov 2023 12:56:30 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2105.outbound.protection.outlook.com [104.47.17.105])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3u93ptjrxk-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:29 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by AM0PR03MB6244.eurprd03.prod.outlook.com
 (2603:10a6:20b:158::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.21; Fri, 10 Nov
 2023 12:56:26 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12: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: 97bdc968-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AWTY9vk7dTTeZkGbBbQCKUseRvHC9ZMktD1o0BlK/YJH3ayxw96emMrTDkldGuUx2dOyLHJFGVSR5tjJreBFhExwBupzEq/3u99RG9C7owTo0MStcw1UF+F8GQ/jHyQVp6qhwzLDlVt2KggiaxuIPREotK590pLb/HsF2/jGF8pmWUwvk5cdvvXga1iGSu3BGJcIyl66dS2H4bkOYUNZfqW/E3k0mIvFLcONGrxk48I6U8TtGPxmvRKf0XcVpy1lqWphLcZmyKH8SqIt26r/klttypGKfGkGQhfuKkrHjQ48IgdLNCtsGY9o05h4tR0YhmebOAqJNpuhE7wWG8tF1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1TkmTLEQVHA1r1cVFkXW4q/O26dCX6I43k5x/u2XgFQ=;
 b=mJsCjq1AtracdpTcoMr14WCj8zros1Z1QwBuL+2TRn7YVVgwwmrq2EiONvQyiSMNyPgFyU/801G7465TwJ26hyR+5wNZg4agbvNHqVax5ReA5cPIlohTGSq/QWZlC/iTD6x3MD1+t62/YiqNvqKf3RbxybE/KZ4bDgHtS3yATjDPgVOCi2jx9KmMKRXv+scTnzWmLtUoAfAw81dA+FuGt9X8/X5/7Pz3ghzR8PGCRy1+fe/GT7dahjKuzEev/H1V5yVvaINIpSqj8ypbPEFqLBihJfs0kszhHKpB/xeAATaarFwYQEKwjetzKp3NEog4odNJiPSzPy7BNxYKncawVw==
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=1TkmTLEQVHA1r1cVFkXW4q/O26dCX6I43k5x/u2XgFQ=;
 b=UeduFmBNRQwvTaHpPaT5TAye0klznATFuJsqpzgiAg/32Z75mOW0BJVZZQ70wbxZr9txK8ZBSUzUNps9fG80npk1Y9UJaU1MxLrL6qtZqQeqHan5SebE7XJ841kLjN0qEs4b8LCY4VAYB+8rlcU4QZTYeoYhr8U5BZetfJCWqyCIr8qx6407E8w/M5ITsK7/auszgpRmu1VO6G9Rp5l+N3IezTWwTPG8PipARD//cDyRli46LlcY9/vIgssfkOqJ7NOYssJeHRMyTNLgsT9W2ybLjG6a3p1/TVgwcX0QNeW3b5YILWlymSh6s9zk19CqxAPubtscXg54th5XEpvFMg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 24/25] arm: new VGIC: its: Wire new ITS into the build
 system
Thread-Topic: [XEN PATCH v2 24/25] arm: new VGIC: its: Wire new ITS into the
 build system
Thread-Index: AQHaE9VPZ7cPBIWT6UCB5x9GhgF0Kw==
Date: Fri, 10 Nov 2023 12:56:24 +0000
Message-ID: 
 <9fb487465f44f84f8d4358900df7e4d4d0bdbfd7.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AM0PR03MB6244:EE_
x-ms-office365-filtering-correlation-id: 751e9753-3996-4767-05dd-08dbe1ec7315
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 /tw2qn0NA6QIrHckqs76Ejmc/XeI3GC+h/edAIqRAHgmZjfoHdd383n5EudFUZtG4BLsucIBHrkJAaqDJySf5D9rSHmmoN2bJnkAYt0Svwmzp5BaZlysUGlD7HF7jeuR9yzhPhAzoRdH/5SU0hv7bsyOxhU+8li84qW5kvXuhdrXWva+Za8hbkVmsgi0fvjEQl71o9hXq5ufPAV/c2VWSn8n5zmk4dxN695KUDP3bsA12kOrS4MZHd5CMv1eWBRTWh9ubArsHBwk5LuUEYYMvGPW+s0m/0Qf0BypXkZXGq3O6dYcdUhiGkcVb2HeCwb5MjyiEak1YqX7/TwJyBdD2vAHPYujI1FwclTb7TnVrHEwbVV63luM/ZMBHVph73FjO1S1bqkw4jZYEKGlJVDduRljj2gf81NN3gc+vYMNsajdq7GyUuASZ1VDcTTF+kC9vUi/hE8/TiVxPwk7aY/uJC45uHVFg2r2znlSybOrusWx0dyA1GXFqpN/ibbB0yc/sWX0ZGlHKyTJ8NqdnJ76+ly1uBtN42ZShXek/R55HubuBxo1D81zMDdunouniBdrdI7xdK649NDJxuwitA0Wf9NjPLRG54PhMYcBD6gUGp+FGWesJs7B2v/9PJW2yksL
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(396003)(39860400002)(346002)(136003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(5660300002)(41300700001)(2906002)(83380400001)(26005)(8676002)(4326008)(8936002)(122000001)(54906003)(64756008)(316002)(6916009)(2616005)(38100700002)(76116006)(66556008)(66476007)(91956017)(66446008)(66946007)(38070700009)(6512007)(6506007)(478600001)(6486002)(36756003)(71200400001)(86362001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?f2wXy2j/0piI09iMfEEUYu9z+8IqqWEkCMiCHCynijzzZieJvF6jEjYX5O?=
 =?iso-8859-1?Q?sUfga54ZHKRsiVvG+vhr/LyLPypb1Tva688nYJSZ1GK30QCt8Kai6HAiFb?=
 =?iso-8859-1?Q?4QlcxiDB0EcKQ64p+bPbkaXGbf5CiSjmMYqDUQeWQExv3fDEfi8aodpJli?=
 =?iso-8859-1?Q?09jn/hDh8+vZd7lIE5P0CfZ8kV+BJf3Dw9FHUdDtTaW3fraY3BwZvFLlSt?=
 =?iso-8859-1?Q?3vkLbRNOGIpKgcKEWm94x08L7VCW6aGzkeQdPwSUoXfuS0lWgytK4630kW?=
 =?iso-8859-1?Q?akua5UzxH96L3im2gVmXZ43sciFgqltwPpYnFuGnFR1U5Vc0VFwlJgO4Yq?=
 =?iso-8859-1?Q?4yLIxau8CxL43ehxhHFp5b1mZJN5j6RpsKThI8ax7IZ6zbrjfagNO8rr8b?=
 =?iso-8859-1?Q?32v2f5ki8tsQ08nkqJwBlHl/aHdJa3B9WcFIO8Big0ei7S94CWO2Q1/KX2?=
 =?iso-8859-1?Q?8V+BGVqFXWWZpODpLBqAwN0mii7+gnO2sd9nuZof/RILL/tS7vUKJPNz9P?=
 =?iso-8859-1?Q?D0lJ+AovVVidOJkDD9eZrF6GS5LCZDxkHD0X/6K7fka2lLWJRmg9OZTelD?=
 =?iso-8859-1?Q?s3h2gpNyg5ydusrx0NQAluA1xM5jlNsM/53ZK6VekDGT+nQCZs0S4Xja/J?=
 =?iso-8859-1?Q?O9vf1209z7kFrP6UgALgWVBvVFRffdJM08lwAKgBcP/M31v6zDAkbXB23r?=
 =?iso-8859-1?Q?gldELiwV5qGQ2VCiSnl2KmNrTyT9BfmR/YUg/mMiaUu2Vl6O2H5FGUSInS?=
 =?iso-8859-1?Q?g2xULxTiw5h4aQzMfm9V2jrDe1uMQPa+7wdRtFK5GccHDXmYl/IDmDx6Tw?=
 =?iso-8859-1?Q?357MWqVPzsLbYgR+YiYfk3n8Wui+j1VtZ3uTqREr/SyyfmXfJVsb4ZMzKH?=
 =?iso-8859-1?Q?KZcuO8PeMXg3cncTSqvrRVITOvu05JW+sSAYK8trsDKty8RLTkFgu2zc4J?=
 =?iso-8859-1?Q?2Ggh0cohIeh3WwHGmiW3yRt5XE+OFsYLz2yMSFKo+bORq9ze1zesIUJ5/P?=
 =?iso-8859-1?Q?LLX/0xxuELaTA21Pk806VD6kBpHyCHACwoGjGlHLb1qfd32H1kIu9rSbRV?=
 =?iso-8859-1?Q?GOdANK0sycfzUSap1wLsf/sj/VgXVdcmoOzE2AYWPTlwZ7s1w3YGS6uR1m?=
 =?iso-8859-1?Q?5/Z/o5DTZuamU4i6nu+RmFxPkKQrdIYJQh5FTdcJ6nsAw3sruoy1UWEOHP?=
 =?iso-8859-1?Q?fhj6GLwKkjCqab24MUiHF7WFjghLU9kDrgu/4GhEJxoo9wsGd4ss7aWBzh?=
 =?iso-8859-1?Q?owkXvXzbrwoXeyizyjIgYRmgO2u5jAS2fXa9kweF+oapgmy8QV+8pQf2sq?=
 =?iso-8859-1?Q?wNJ0hD6xIrK782ifd5LK0+3r0/rw9Q/tJ22tw5fc863ouLoHO8/Bbax/jY?=
 =?iso-8859-1?Q?WDzgLbnzutO57TS65lSXIobzhgCyXaelA4TTA+Nwn6SRUGl3n1tNDxIXZR?=
 =?iso-8859-1?Q?CMgz+tCqGIoe/Kksrr80fPCp9/Z7ecCTusBPOEjfYi4EQP0OsGddygSEXc?=
 =?iso-8859-1?Q?OVF/xLdDfv/Nuos5s1KrxIE80Dfdl/n9BAVfDfZOn02rhpA8bcPbyABOij?=
 =?iso-8859-1?Q?timHWR75DBXMt/Pmq3ewZM9rgWWVu7cbdFm607y+NDG/qiUA26ClcJoA5D?=
 =?iso-8859-1?Q?NpBFAWp6mmjxSFFMmcce5Py7oUw853PVuREmqfPXuXygGwpjD0fkjvAA?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 751e9753-3996-4767-05dd-08dbe1ec7315
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:24.2742
 (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: KOpVS5IHZX5Vxbx/IU+eiqApYPqgbHHhIpFn9hEUnoyoVsaGfkMSo/rQwSn3M2Fn072by5r+7KMaeo7oGeQFtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR03MB6244
X-Proofpoint-ORIG-GUID: LGpLdLLlK9UrjPtc8liztQabBI6vERCK
X-Proofpoint-GUID: LGpLdLLlK9UrjPtc8liztQabBI6vERCK
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0
 spamscore=0 suspectscore=0 clxscore=1015 impostorscore=0 mlxlogscore=667
 mlxscore=0 adultscore=0 priorityscore=1501 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Add vgic-its.o to the build system.
Remove the dependency on !NEW_VGIC from CONFIG_HAS_ITS.

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/Kconfig       | 4 ++--
 xen/arch/arm/vgic/Makefile | 1 +
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index c91011bc15..d803793b09 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -90,8 +90,8 @@ config GICV3
 	  If unsure, use the default setting.
=20
 config HAS_ITS
-        bool "GICv3 ITS MSI controller support (UNSUPPORTED)" if UNSUPPORT=
ED
-        depends on GICV3 && !NEW_VGIC && !ARM_32
+        bool "GICv3 ITS MSI controller support (UNSUPPORTED on old VGIC)" =
if UNSUPPORTED || NEW_VGIC
+        depends on GICV3 && !ARM_32
=20
 config OVERLAY_DTB
 	bool "DTB overlay support (UNSUPPORTED)" if UNSUPPORTED
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 21a71d2502..fe6821c724 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -5,3 +5,4 @@ obj-y +=3D vgic-mmio.o
 obj-y +=3D vgic-mmio-v2.o
 obj-$(CONFIG_GICV3) +=3D vgic-mmio-v3.o
 obj-y +=3D vgic-init.o
+obj-$(CONFIG_HAS_ITS) +=3D vgic-its.o
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 13:12:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 13:12:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630374.983239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1RJ9-0001Nj-OD; Fri, 10 Nov 2023 13:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630374.983239; Fri, 10 Nov 2023 13:12: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 1r1RJ9-0001Nc-La; Fri, 10 Nov 2023 13:12:23 +0000
Received: by outflank-mailman (input) for mailman id 630374;
 Fri, 10 Nov 2023 13:12: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R44-0001y0-6z
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:48 +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 984bfa7a-7fc8-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 13:56:42 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACHnNZ029602; Fri, 10 Nov 2023 12:56:20 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3u93ptjrx7-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:20 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by AS8PR03MB8783.eurprd03.prod.outlook.com
 (2603:10a6:20b:53c::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:15 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 984bfa7a-7fc8-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UCL+EFNSQqbN67dLlM/pGAUUzC/hKdX1tkDs/LiNoCHBPIHsozuT+e8wv7PFqoGagBXOAS1PcuP0zXzP4SPUKaBM38Yp/0KY45Pyf06BeXGNqDXjYndlqcXtoMXCvJbGUtnwDzNBkoh74LbnqQxOO9GObmrHw0zxvH7w0vCe7cuQX562z2fWfcU9IMq8prAbhO8ZrZyMWTLjD5BaWNdoY9+NQvDIVgRDn+jWBdpabYuNU05FMHnc+7W7Mf5jCpFYCGBgkF++UEpLJRePLvs1PMtj1mFq51ZqZxp/ho0wG7V+aAu0czEOgH9yVWynrMEJdTiTdAEpogeeZUVDNi7ydA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3w8Xsi4wnPxswAFvPOhXxXIV1tEKsc1WOPhc1i6tJPg=;
 b=b0YDifWYD55gXq+AolwyuZWwmzM4gjQS0KZ7YC0rdRcCPh1+lu+wsDUxJKvYDIG0lEAHMcJ5M53hYo92+TFVR1dHXqWZZfofKqqsVF0N3x9cC82GLIZx+krSLjonAaCE1L4Avqp+t1JywbZ/+S/n7HkL3jRvEPw4wyk7Oq2MpnSYnnYgUb3yewSacNxa7mz13Y1ol7EYCyESL9dC3kAtk/4Y0ycivVaZWFT+bntw1tiN1keXPlmGZVLk08UNbG78mW1/74yB8b4locLp+5WZ1iBaeP8Qs2eN1836Uwfy0boqOLAwquuRoFigFGZLlPpugyEc/o1gr75WKiEZFJlALg==
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=3w8Xsi4wnPxswAFvPOhXxXIV1tEKsc1WOPhc1i6tJPg=;
 b=p9FW215t2LL756+sx+xQ4yVOdQc0jI3r3cyOAQCBMHuq3r2aatw+Ad0pYxCp28VCnSNAPGndq3bOoDeL7yQYIwm5FTutiSq+p9aCqCB6/GCiM4dpVoF79mN18VY1vbj70qV9lL95vrXTBaiSDScouZeU7Stnh7PS6IbkX9VyB4YJMZqe3zua+1QBSSB3LWLB0rmP5i80yJOq7ZAaCjBDaVceZ74sodkfxHQrUWgKF4/wC73k6i9DSvzZr5/JkF4hoxh0esMS05CUwx9H6RVRe+QDF39XHaNCTL5Ws6mWdVURuSzfn+/TxE91wf+6ao7KtoKPIdmQv3xy8Oia05NE7g==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 00/25] arm: Add GICv3 support to the New VGIC
Thread-Topic: [XEN PATCH v2 00/25] arm: Add GICv3 support to the New VGIC
Thread-Index: AQHaE9VKxM0jrsRdakKdygK99IG2mQ==
Date: Fri, 10 Nov 2023 12:56:15 +0000
Message-ID: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|AS8PR03MB8783:EE_
x-ms-office365-filtering-correlation-id: db82706c-5f83-4dc4-97f6-08dbe1ec6cd7
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 BUf9A5T7M3cL38z9FLddsAI/VSjw1RtIwh5ABjtDYYOup57ldIY5EUHoSZWrjpsSNNUbJxdoVdgsQTzd8BuqPsvjqa52xnTJGLuxWteVdarTbcemkHp/JCqarz4jWrTubjdj7a2xhrpqPZ5I5jT+4+kRQy/InMHX4gPadx2gLSZ0l8PKvWRxo9EJ1a1DQOhfejKUdqUKNX2phZbylDfHifxUtb+wQ218XErq6mVfN+F4UAtzIO390Z7bdZf18Zly/FlHg+p2KX1MqBZlBQQL7PAR6qHUBnH7bhZrndH267m+yIAVPSLFDdzkGt5TwWaEMZm/5tPPn8jdTRZKP9Nz6RIdirbVYS0iedGVVg9xP521RcVHAymhtQvNqEG+6kxhxXt/Hl0ZL009dnv7W7GVFTEQSQeTOz5cEARLhMhCHTIghBFD/k1dxS18Icm/MwXzyOWheby6e2uHDzF2MVsZEwj4kl1KoexXmjuzzd+FhExPXEzqmmNtcM6uciEESShq4UIXmzn/xrK2+dogzgQhk2Ax7EQXnxUFg8c4G0PKA8NH6gzlubNlYNIiytxbQ0NcthRakCIUw0kJEjzrQyencIMgUzZM1c3NZrFibCv3/U+WXFBk59u6OrLdsPhpYLmh
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(39860400002)(346002)(366004)(136003)(230922051799003)(1800799009)(64100799003)(451199024)(186009)(5660300002)(64756008)(66446008)(66556008)(316002)(66476007)(54906003)(91956017)(76116006)(66946007)(2616005)(6916009)(26005)(4326008)(83380400001)(38070700009)(8676002)(8936002)(122000001)(6512007)(2906002)(6506007)(38100700002)(6486002)(478600001)(41300700001)(71200400001)(36756003)(86362001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?cstgrKyaPWm8IM48QuD56O2BLYNCOQYEGOpwVNU1CtczeY9v+6aDewf2w6?=
 =?iso-8859-1?Q?cwDXSdSlGiHs39QcJStYDBhxNFnoG26R+K6ZM6xQ70dNmdHD45STNQIy8Y?=
 =?iso-8859-1?Q?JWyiUijtNKeuxhdGv6eJr0NCb9qSVsHhGqrbTJ+RX6H4YuXOW25TTtKaHg?=
 =?iso-8859-1?Q?Lgxl6mMcjcK9lwlH58HqA7I9dxf++aEtwLSTqSCt9BZ34zZ1pUoyLyXLim?=
 =?iso-8859-1?Q?LgDC4Xo0801a7n+uMPJTdKAO5GzKjE+MfuVPn1kLkZbgrsrbynu2+DgS3H?=
 =?iso-8859-1?Q?8gijNs2qx64//kaj2QaS8PurYCbhkkVqfvCtT0AXGIIUmN+B1mvgs798OO?=
 =?iso-8859-1?Q?Iw4KhQUTyRLdtBdOOd8HfMzNrj3HSlCa/Sk9GiuEvifii1J8a+nLMIA3vH?=
 =?iso-8859-1?Q?vA7gKQVVaj/Sy10N4WcVO8pdlisPb7CwdlGpT4h+qbK7h2HtFwZX7RnBED?=
 =?iso-8859-1?Q?mnr+V1DC9nYuxyvt8YOD7qXnWs2MZP45f6p257xxi1U7lrMD3IbIUNYMX1?=
 =?iso-8859-1?Q?g9FmEk0k6VeqL+JDSswNT8DaxmmARA0idenPuGqy+/BYO1FNACah6gsN3c?=
 =?iso-8859-1?Q?/Mq37NF2H7nJRZR9b3SY3cWEy/GnnAeM0WvcmFv58cEfElzVZYXucX1DSm?=
 =?iso-8859-1?Q?Yu8tb2Pz+gnBBnxCmhpBzYTnRETGCoIhzIWftECuLPtDNTEw7wxYo6kUd2?=
 =?iso-8859-1?Q?UBoMhu+N/WueZjODEnc6gPRURBfw8CPI8eNMuMbbpGZtfK8fauAoPdDZDu?=
 =?iso-8859-1?Q?CrVLpJMVWJG+TFCmUyJsdl5EarxJIfBQZMDJBIGxv3UwNPTZTGZd59dHkv?=
 =?iso-8859-1?Q?sgVgPGRMoai7gYHC7QoskEvnlkUviyIsi1PqBbwUYSn6QUqcaUkdaOYA1I?=
 =?iso-8859-1?Q?RcF9KcyhXA/1+4nn8JLtM5PtBxZma4LJuNXl8cBAGVn4Y0McGjumGXADZb?=
 =?iso-8859-1?Q?Fj8QyRyJ965rf3Yz5Fhx5P2GPLU7PXgaH3JVP8OCk5qBMJretUyqAn6vIZ?=
 =?iso-8859-1?Q?7NkdwfTMpUt8n5zJSkBCkhUZNBUMi0TkG8FycoX3wI7ZsaQ+Q5st6azv1x?=
 =?iso-8859-1?Q?S+CSlpxNvXlUeu/bdPGIDw7MN+piR/Tzdkk5NPBtxnxGexdlPzdgtlrt4H?=
 =?iso-8859-1?Q?hHnbYIbDZqDx2h5TnlH0l7/kdFT2SzVy1gH8AbQeULqWe3bCkrJsgqshFA?=
 =?iso-8859-1?Q?l0WEWk4E0VZ64zwXG8JOi5p585hKzdiEndAQnEVz2RHK+qKXp6ZV8mRwPT?=
 =?iso-8859-1?Q?PmgsSKJzRmHMGBAIiNzhz9boAAw9D0dLPO/VRr5gS25H2l6fV47LSNJkhI?=
 =?iso-8859-1?Q?UtY3csxhRyQtbN7V7CjGx8YQNgqWXF5lGvm2uf0bUIRWbH0Jbut0G8ERLO?=
 =?iso-8859-1?Q?Z9uHQmLOZLB81rtNoPJiUiwEnl5nYQn12/B5RMGoGCNNlXLl4t8kmwvmkB?=
 =?iso-8859-1?Q?LdB4EYH/0cQzCqjaESLrgnK0YZcAzBuOCHudtlVfuZBgRvBGQr+HrpTlm9?=
 =?iso-8859-1?Q?gBsAlT7mFf6iX6Bf2ZFno4ZHQmfkUTxv3xZZC9rpAVcpP/K+04xKebUI/F?=
 =?iso-8859-1?Q?O3GmqmWsULXPsA7ZU5Wt7KxODbyQnMQCkNChA58s6sumfBueAcLTmhjY3d?=
 =?iso-8859-1?Q?mhyz0Fv7EZZ5+BZnYDioAM124UiHtBJi5255FrdlLqwFCXJ1a2IwC3tA?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: db82706c-5f83-4dc4-97f6-08dbe1ec6cd7
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:15.7156
 (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: cJxb0ROnbjyMvzKntES85Y46WoP2TOD3f0Jt/MoZvu05w2xwRInUwhRfQDbW975nYE+53hpgNnbL4uSR5DTZYg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8783
X-Proofpoint-ORIG-GUID: gCn55itlEla0loX-WB_rtcPvKilne7Kc
X-Proofpoint-GUID: gCn55itlEla0loX-WB_rtcPvKilne7Kc
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 phishscore=0
 spamscore=0 suspectscore=0 clxscore=1011 impostorscore=0 mlxlogscore=364
 mlxscore=0 adultscore=0 priorityscore=1501 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Hi All.

This series aims to add GICv3 support to the New VGIC. It adds support for
the GICv3 distributor, redistributor, sysreg and ITS interfaces. This will
allow Xen to emulate level-triggered interrupts with GICv3 and will make
the NEW_VGIC more complete and usable.

The series also introduces some refactoring of the ITS code to allow for
easier VITS implementation switching.=20


The bulk of the code is taken from the Linux Kernel v6.0 and adapted to the
existing Xen codebase.

Changes in v2:
- Split changes into smaller pieces similar to new VGIC v2 patches
- Refactor some common code to remove ifdefs
- Remove the "move get/put irq" change as it is no longer needed
- Replace GICD base change with proper offset calculation
- Fixed Kconfig dependencies

Mykyta Poturai (25):
  arm: vgic: its: Decouple HW and virtual ITS
  arm: new VGIC: Add GICv3 world switch backend
  arm: new VGIC: Add GICv3 MMIO handling framework
  arm: new VGIC: Add GICv3 CTLR, IIDR, TYPER handlers
  arm: new VGIC: Add GICv3 redistributor IIDR and TYPER handler
  arm: new VGIC: Add GICv3 IDREGS register handler
  arm: new VGIC: Add GICv3 IROUTER register handlers
  arm: new VGIC: Add GICv3 SGI system register trap handler
  arm: new VGIC: vgic_init: implement map_resources
  arm: new VGIC: Add vgic_v3_enable
  arm: new VGIC: Add alternative redist region storage
  arm: new VGIC: Wire new GICv3 into the build system
  arm: new VGIC: Handle ITS related GICv3 redistributor registers
  arm: new VGIC: its: Introduce ITS emulation file with MMIO framework
  arm: new VGIC: its: Introduce ITS device list
  arm: new VGIC: its: Implement basic ITS register handlers
  arm: new VGIC: its: Read initial LPI pending table
  arm: new VGIC: its: Allow updates of LPI configuration table
  arm: new VGIC: its: Add LPI translation cache definition
  arm: new VGIC: its: Implement ITS command queue command handlers
  arm: new VGIC: its: Implement MSI injection in ITS emulation
  arm: new VGIC: its: Implement MMIO-based LPI invalidation
  arm: new VGIC: its: Enable ITS emulation as a virtual MSI controller
  arm: new VGIC: its: Wire new ITS into the build system
  arm: new VGIC: Improve MMIO handling

 xen/arch/arm/Kconfig                   |    5 +-
 xen/arch/arm/gic-v3-its.c              |  208 +--
 xen/arch/arm/gic-v3-lpi.c              |   20 -
 xen/arch/arm/include/asm/gic_v3_defs.h |   13 +-
 xen/arch/arm/include/asm/gic_v3_its.h  |   82 +
 xen/arch/arm/include/asm/new_vgic.h    |   93 +-
 xen/arch/arm/include/asm/vgic.h        |   29 +
 xen/arch/arm/vgic-v3-its.c             |  206 ++-
 xen/arch/arm/vgic/Makefile             |    3 +
 xen/arch/arm/vgic/vgic-init.c          |   24 +-
 xen/arch/arm/vgic/vgic-its.c           | 2022 ++++++++++++++++++++++++
 xen/arch/arm/vgic/vgic-mmio-v3.c       | 1095 +++++++++++++
 xen/arch/arm/vgic/vgic-mmio.c          |   19 +-
 xen/arch/arm/vgic/vgic-mmio.h          |   38 +
 xen/arch/arm/vgic/vgic-v3.c            |  305 ++++
 xen/arch/arm/vgic/vgic.c               |   41 +-
 xen/arch/arm/vgic/vgic.h               |   54 +-
 17 files changed, 4015 insertions(+), 242 deletions(-)
 create mode 100644 xen/arch/arm/vgic/vgic-its.c
 create mode 100644 xen/arch/arm/vgic/vgic-mmio-v3.c
 create mode 100644 xen/arch/arm/vgic/vgic-v3.c

--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 13:16:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 13:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630381.983250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1RMc-0002Wf-8l; Fri, 10 Nov 2023 13:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630381.983250; Fri, 10 Nov 2023 13: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 1r1RMc-0002WY-4n; Fri, 10 Nov 2023 13:15:58 +0000
Received: by outflank-mailman (input) for mailman id 630381;
 Fri, 10 Nov 2023 13:15: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R45-0001y1-DB
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:49 +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 97874b5d-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:41 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvY025691; Fri, 10 Nov 2023 12:56:23 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:22 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:17 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 97874b5d-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e7KWg/e7t6SMQhyvR+eWzfQK7yKpiVCGYHkyR5r9OuV0fCSlJr9+f2jrhKQob4ajnSpR6U8TbHnJCNzlrgycPnmUDUOIFr/tiInu0uvAwRK/9QFphNz4GFrhpQVIwCQ57F62ctD4/RSkf+RxyA/i2qYfJKQljvMIX63OWM8ClGp7n8iulbW/C3Fi2w+3kgE0UCUnOhoDQ9H6/4zoGe/JDlLNkKF0i5nmZ4fDkgbuofTEzz+GwUC4WSdqDW6Lf+GlMgMRObKF3iwiYvIhxCwXE6/+vW/hJSOiO0+TdCQ+507QZj55yW4vuqA1r31f9+sS2U8lrOhMBHZ3CpkzJUZh+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=xDNDFGm/oYNbBFMoMI8YJN0p9d0oR7eDqt+W7CVRHVs=;
 b=atCMus5aTcQVYgMLBq+RFFGQp035wV1DJbNDIMBv8RBcU5+zIuVVvF2UhF31XyC6MTt7WjNSs2cqbLv+Q0nomhf7Z3L20hqvMJkTmsUJTTDItb+RFRdxW6R0fj+1tV5tIqPoEtAGDtb2VbEsezoRiWSenj7bFyf1peMQaYJbYV4RdEQeBRFe/pPpOSv1ktpLlSf8+JTFqUgDK+TG7gZzC6n7wQtcDzZmL1dFRsKDssthGqm5qRW0yMu2avZwxriKV97ifeIUOg/SQ+Mp94wGlE9He36Z3uvqbLceSAKCZR8Kc4SUuY/RWB+t9NI50KXD2GBLj/FM3fedAt10jPWLlg==
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=xDNDFGm/oYNbBFMoMI8YJN0p9d0oR7eDqt+W7CVRHVs=;
 b=enztE/TtpiIq2/65FHUvuyY8+Ik9Z6QkFe7njrzvf7IxyGVTlhqD2h25h3VPQyjPa3apptCr17SqD1E1ruZwUTBtuOVtm4HfO550udW0kHLXc6J7zRNHokpFQ1E4Z/dPJVRPWP11gVhSjJ7S47IeVBX+QNixiQXdLNjiS28Dapz4nJ8B6L8g6Tf+8OSnzYg4Rv7vQUEwGoTz6BQMdQYuxw6omd38LN5NzZj7a8yIyDMjiOPPKXOs7DAfz9VabakPYwNKYiYXMPAARKEr2HuLrWfp9Wa+yBH0nONN5MkdO4r1IA3e6RDj0jefkTYtyZ0UcFrgUVcQtHA1uKw4CkGZbg==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 04/25] arm: new VGIC: Add GICv3 CTLR, IIDR, TYPER
 handlers
Thread-Topic: [XEN PATCH v2 04/25] arm: new VGIC: Add GICv3 CTLR, IIDR, TYPER
 handlers
Thread-Index: AQHaE9VLWPTx8QfRV0CE+z+WCKth8Q==
Date: Fri, 10 Nov 2023 12:56:17 +0000
Message-ID: 
 <e68d3a969c4fe917743cd18bd315a491c9f7ec7e.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: a571b0c7-d149-47a6-da7a-08dbe1ec6dfc
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 7gJLPvOPQ4de6sALUMupf9rBQoGwwXFnxJAQrlJ3duN5+Jgxd13ctD09QqJwF9RWi2MesGvCSu0/lRPoD6yGRV4Fc249Z100/UudtVN4XdS7RyzyYlFclRMAfxGNj5Brzl06Rmu9ruM9zJW1e9yT7Qb73vtex+8iJD3oJXKIq3R1nSo9ZMYd3EviEatW6TWx9wHK2UrOTg7147LsffCdaeB3s5wzt9huNXhHXjYYUjigX/PObK+kFvs0ymzVRjTa8uUCKFPm25rx+MB9L50+MazqKhuddlhn7kmh2fi4qBBbzU+9luJ/C+xtD3atf7Ky2PQ+f9WhzePuxPWrg28iDmy2X3NnUQeiXUZnu0/xCt1iNkbmKB4b4FjrUI8Gpt4vtWjEjCfpn/TKHGhCXtHCvxB8I4lBX0YiWRZc/ee2SipaeSCoXfsbKLRXxFqQRuleqY7fQ5h4gusG5AJaKYbI5k1sihoQnAxw2Vu35lFKzX8L7/D/tiZvoWPLuihu5kBv4jFak3id2An5PH9wvURsLvDGrAZrBIBBrbez6iTizTuC9X2Lx3GvYlRAdIMDwp1M62RRssk2G3k2A2OqSVExLJ1qfp0Pb1Ss6OuWtOBBWPJ5KthJWLbGq+wzzp/bksw/
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?16q/IIuG4aHCtSFPsxHduyMTV5n8kO0y8CSiP7+dLNmXFEeI7lyBU7jpTS?=
 =?iso-8859-1?Q?i3SaE7jO+gd6JzNCgsR7eiRzwbwIsaACYR9fnNIZiyO5DTEr7Z/rOzCFwn?=
 =?iso-8859-1?Q?7Dfj6BXXfhhmRxR0LZlTXMgvUDJGf5MbdQlnbMY4Hosi7xc8N9EFszTIR7?=
 =?iso-8859-1?Q?MC8p7fmNN0tH11VliUQW1u9ZnkFWaG1w5zufVuFwQ2i0a6RP8J67QcvhI6?=
 =?iso-8859-1?Q?/KThKvXaShhV768XRDsBzJUtwj3KqM88QRxjmuSvDzANd3XUxHlppxROq6?=
 =?iso-8859-1?Q?Lew/ndV10TDhDVXWHVDwyXjZUmLIFqNaC6MgCeVlnsgLEmJR+3V3T+BjRr?=
 =?iso-8859-1?Q?RAHHDzx/3yXiFAynnSg95+Ze19EeSAkX3YQMz1ZRcY8Qli7Au8za6yHUG1?=
 =?iso-8859-1?Q?oOJIGxFx5t0OC4cCfm28LWlRJRoTuBL+bpKX36A5QVU0HJq4602jbku3Ty?=
 =?iso-8859-1?Q?kaPBEFFzGh3Os2JRSZKCGKSuZWUWFpzv5JhIbnXlHEIDrLC+bisZ4MkOrV?=
 =?iso-8859-1?Q?m7gOZlrvAitsTf7WotsYvvZHaxdiV35bN0q6UUEHIsBiRnb1Q6hhICG586?=
 =?iso-8859-1?Q?DijWe6ozzmhiUv1drgyQ8+s/ey4jaNnGIjefb36FGgSw6EXb1H18tk+jVH?=
 =?iso-8859-1?Q?YYO4j3WInaze4s2KD4mEtG1A3S+8ktwQHDYfNRzEsgmowWCgwry/yEXgo2?=
 =?iso-8859-1?Q?ge5uOZPtWZpXYyVyfdLH7M/xK6IH2C3C/BgrVN10OODyzUgBvdp44Iqd5L?=
 =?iso-8859-1?Q?qdLj98oZPRf4PUa4geeg4aXw6tqjv1uLMNXYYmc/26Xgyc+by1NIgUCdXR?=
 =?iso-8859-1?Q?2tmdPMZwZDnq7Kp3pdLDU/KGQk+RxYUfogwDdfjRILcGGmpwohbq6JoVMp?=
 =?iso-8859-1?Q?FJL1e+r3t7AbTKxaNUxJEtj/SBLAjfM6g63wro0cVYBbm+P8eyIQS4rF/J?=
 =?iso-8859-1?Q?2LNLV3R5xOxyTkQb6pa2jA4EOFb88vJO+X7BJaTj/hpv7v7dSizIoQuCt/?=
 =?iso-8859-1?Q?+By0xbBC+Du5BvfvkosN2E9EJ7q89kQe4oR0EXcTc3uwYVApmKg9MQ/Bdl?=
 =?iso-8859-1?Q?7blgu4/L3sPXB77kxNTsGrNnD6SXXqmFQysUEUPVucHhzgxoisWTiXSVMK?=
 =?iso-8859-1?Q?IfGEN8TwHUHW6dg3pP5G9gaseTt2+dtsk/aOTSf6w45uaVIPd17jorq9Rq?=
 =?iso-8859-1?Q?4WAT/PYLrMqL4b977qDIE6xekGFNumQgqNHO9n6Sg+U4g4PmDR/r1hjjFg?=
 =?iso-8859-1?Q?1W0ll50n5e+DgndhCcdlj6slPCgkty2cZQka6hNwh7mxcV1TCk1Dh7Z38S?=
 =?iso-8859-1?Q?lTNQxvZs6dXNC7+or/8FJrPBxeKZiQ6U+K4ZX8ZAYpLYoIyB5aWATP53Mz?=
 =?iso-8859-1?Q?E+72IA9rNOmaHUSCLuPfEn3cSnR2mX2kJhpJ3ig5C28A7V6bCBreuEZ0w9?=
 =?iso-8859-1?Q?c47BC4xr0Dbjq1+v/fP1ZEypj74CY1tlYrWPYseKWh1umlpn9qdw6GDqIf?=
 =?iso-8859-1?Q?A+arUUV+ETvOfTrywPUaYcprea56BkZSf76O7LAWTkPTzCmQkESBFlKgMo?=
 =?iso-8859-1?Q?T3ale2Ip465PmmzJMgbwUjsnFyeIB+MW40pMNnBg72PRGuE057eBiiD8kv?=
 =?iso-8859-1?Q?knwqD6Na1itaZvoHY4Ax97BcdQwe/yI2y2r4djXDKGdyUgS8UXBgNpNA?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a571b0c7-d149-47a6-da7a-08dbe1ec6dfc
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:17.2331
 (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: caN7i1Rj+smbIMRx6LR+czihsIjyT8Q66iKab/uumUsizAeHd9HEy0YCHVChIql5GdG4qgQ/KrkhPQKDuqcYIQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: 5PDy9eZtwdV906AuYLrt5Ou7JaXknPj2
X-Proofpoint-GUID: 5PDy9eZtwdV906AuYLrt5Ou7JaXknPj2
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=955
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

As in the GICv2 emulation we handle those three registers in one
function.

Based on Linux commit fd59ed3be17e41 by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/gic_v3_defs.h |  2 +
 xen/arch/arm/vgic/vgic-mmio-v3.c       | 71 +++++++++++++++++++++++++-
 xen/arch/arm/vgic/vgic.h               |  1 +
 3 files changed, 73 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/gic_v3_defs.h b/xen/arch/arm/include/=
asm/gic_v3_defs.h
index b7059635d7..e0d536e887 100644
--- a/xen/arch/arm/include/asm/gic_v3_defs.h
+++ b/xen/arch/arm/include/asm/gic_v3_defs.h
@@ -25,6 +25,7 @@
  * Common GICD registers are defined in gic.h
  */
=20
+#define GICD_TYPER2                  (0x00C)
 #define GICD_STATUSR                 (0x010)
 #define GICD_SETSPI_NSR              (0x040)
 #define GICD_CLRSPI_NSR              (0x048)
@@ -57,6 +58,7 @@
 #define GICD_TYPE_LPIS               (1U << 17)
=20
 #define GICD_CTLR_RWP                (1UL << 31)
+#define GICD_CTLR_DS                 (1U << 6)
 #define GICD_CTLR_ARE_NS             (1U << 4)
 #define GICD_CTLR_ENABLE_G1A         (1U << 1)
 #define GICD_CTLR_ENABLE_G1          (1U << 0)
diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
index b79a63ce3e..beb3d6ad2a 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v3.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -22,9 +22,78 @@
 #include "vgic.h"
 #include "vgic-mmio.h"
=20
+/*
+ * The Revision field in the IIDR have the following meanings:
+ *
+ * Revision 2: Interrupt groups are guest-configurable and signaled using
+ *            their configured groups.
+ */
+
+static unsigned long vgic_mmio_read_v3_misc(struct vcpu *vcpu, paddr_t add=
r,
+                                            unsigned int len)
+{
+    struct vgic_dist *vgic =3D &vcpu->domain->arch.vgic;
+    uint32_t value         =3D 0;
+
+    switch ( addr & 0x0c )
+    {
+    case GICD_CTLR:
+        if ( vgic->enabled )
+            value |=3D GICD_CTLR_ENABLE_G1A;
+        value |=3D GICD_CTLR_ARE_NS | GICD_CTLR_DS;
+        break;
+    case GICD_TYPER:
+        value =3D vgic->nr_spis + VGIC_NR_PRIVATE_IRQS;
+        value =3D (value >> 5) - 1;
+        value |=3D (INTERRUPT_ID_BITS_SPIS - 1) << 19;
+        break;
+    case GICD_TYPER2:
+        break;
+    case GICD_IIDR:
+        value =3D (PRODUCT_ID_KVM << 24) | (VARIANT_ID_XEN << 16) |
+                (IMPLEMENTER_ARM << 0);
+        break;
+    default:
+        return 0;
+    }
+
+    return value;
+}
+
+static void vgic_mmio_write_v3_misc(struct vcpu *vcpu, paddr_t addr,
+                                    unsigned int len, unsigned long val)
+{
+    struct vgic_dist *dist =3D &vcpu->domain->arch.vgic;
+
+    switch ( addr & 0x0c )
+    {
+    case GICD_CTLR:
+    {
+        bool was_enabled;
+
+        domain_lock(vcpu->domain);
+
+        was_enabled   =3D dist->enabled;
+
+        dist->enabled =3D val & GICD_CTLR_ENABLE_G1A;
+
+        if ( dist->enabled )
+            vgic_kick_vcpus(vcpu->domain);
+
+        domain_unlock(vcpu->domain);
+        break;
+    }
+    case GICD_TYPER:
+    case GICD_TYPER2:
+    case GICD_IIDR:
+        /* This is at best for documentation purposes... */
+        return;
+    }
+}
+
 static const struct vgic_register_region vgic_v3_dist_registers[] =3D {
     REGISTER_DESC_WITH_LENGTH(GICD_CTLR,
-        vgic_mmio_read_raz, vgic_mmio_write_wi,
+        vgic_mmio_read_v3_misc, vgic_mmio_write_v3_misc,
         16, VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICD_STATUSR,
         vgic_mmio_read_rao, vgic_mmio_write_wi, 4,
diff --git a/xen/arch/arm/vgic/vgic.h b/xen/arch/arm/vgic/vgic.h
index a8e3ef5970..b3bba7b5f3 100644
--- a/xen/arch/arm/vgic/vgic.h
+++ b/xen/arch/arm/vgic/vgic.h
@@ -28,6 +28,7 @@
 #define VGIC_ADDR_UNDEF     INVALID_PADDR
 #define IS_VGIC_ADDR_UNDEF(_x)  ((_x) =3D=3D VGIC_ADDR_UNDEF)
=20
+#define INTERRUPT_ID_BITS_SPIS  10
 #define VGIC_PRI_BITS       5
=20
 #define vgic_irq_is_sgi(intid) ((intid) < VGIC_NR_SGIS)
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 13:23:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 13:23:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630398.983260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1RTr-0005dR-48; Fri, 10 Nov 2023 13:23:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630398.983260; Fri, 10 Nov 2023 13:23: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 1r1RTr-0005dK-0m; Fri, 10 Nov 2023 13:23:27 +0000
Received: by outflank-mailman (input) for mailman id 630398;
 Fri, 10 Nov 2023 13:23: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R44-0001y1-D5
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56: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 973431d7-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:41 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuvi025691; Fri, 10 Nov 2023 12:56:32 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-12
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:31 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:25 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 973431d7-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IA5yWrwIQdQ7rZA2ELa5iHU3nEdzr4NqRh4qGSDnYCl1MJZwuCXsAk0uUz8xoDoe2TkD+S6SEI7JeZj4rXy1FTIBUCNFkjfSALMEsYBNv2kfHAb5DmTiYcp8K+Yryr2k6GTp4RkusrgXPOz5YdwGvs4ZtYVNpXsK6LL6RhknW6FV1WiXQw3w9jxvhb4CNeyJjEeVbedlr7ntALYlc2/Dv+UyqIJhfIOFDcYMckt0+xbV38H/a4M1pmn8NZh8IMBSn4UYQd45kjxOX3wmxY1ydvdNW7Or1MDRomuy3qpgg2MsnVTRLNt+VDtr00jLjgfbJq7IAt0bQSRB64+QbKILaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GaBtTU3W3JWhecnePRAnENvtSLN9jZOi52Wa9GjunN0=;
 b=Z02oLteWHaf9lQq3uILkKuaQ1Gaa4yGVuHOPNPZljPmq2zaLz4F6MT8gJSFwtnimXA1KWwYNgnQ/UTJF8rUQsNdPt1aOY0C6KpxEBXI+Hn2gjebn+zwoffK9aUCyvIK7jdFGF5/PW0BwclKyPkiUe42zbA//9w7HfWbW22YERP0myYs6ZX3Axdsnq6E2Ypjxt1Efr2x1pUhslOfHHPobgBLbpRDiYSpOm9N0hMEnvjewYPNDrphtrvVsxh53/Ohg3c66B+KELElv+KzwJ80zTsucSYRiA3QO9ga9HFN5u/h8Vne10QJUuWTi1otARPZW+LWLDblR0WHOoAbMPu7N/w==
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=GaBtTU3W3JWhecnePRAnENvtSLN9jZOi52Wa9GjunN0=;
 b=KLDblRrUbzY7F8lpjoj+bl2M0+kg3s1pLUZAGm1vZ8XM1JmMldJSNpOQNq1e68HBAwHPZw0HvZPq2is3sSGZRpc/5lmuDP5lEgk5nXipa5+OURTIm/FBL4HF8/71d59LCpbX0bXWD12xjJijrgu4vKvGuRrP0c7UUGwuQoAJYbxecoAwDTs4F6kvWgJIqgzu8mC+vmYZwyfwAiAQ5j4f9HwGe7YO/2bGBhIJgLbKvqqCAJlEdcz2Rx94vLPZ6vR7V0VUGWaPkOVUUbAxSppx6uyCFCyN5wsydSxO2HCRz8RfqdmXEzUunS4UDTDLjRrl6PCrb0cDIrVNkjvtbWvdbw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 20/25] arm: new VGIC: its: Implement ITS command queue
 command handlers
Thread-Topic: [XEN PATCH v2 20/25] arm: new VGIC: its: Implement ITS command
 queue command handlers
Thread-Index: AQHaE9VODE7u5hYjZ0CdkB0s1bN24A==
Date: Fri, 10 Nov 2023 12:56:22 +0000
Message-ID: 
 <b5e02bda5db445156776ba0c6abbf047eba4e75e.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: be8640a2-c066-4899-35d2-08dbe1ec7243
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 iRlzz29Ki72rn4k9f88olgm2W4HjaXBb+hzcW0NUOK+TsimWG1c09CGtGT4Jlwho8eTc6kPpw+TceQoWTAKGJOKvfYgBy/BFL+20rImfyICSpP7Ybah9tKin0ObBN4PGO+/KtI0UGiz9wg9z2B1InIegMyWPcpmwBdavxIKFaAmE3M1Dc+6OH6KrCf/o2YO7vMHzXxxKbmwB4QNz5mRhpMg8URZmxsYyU+92jreRKdGg+ftMHpc/oop7nE4lhrGGdlWJVlltdWaDZK/X5LdzLjRca5uz8nffZxpV9h/s6hX9DmlLOX+m94F+Ast9jmCcVU35REp6jabmZgWxmKjV9GtgRLj5MBZ81MKOsAduaM3y/lidramxxMy3kAiExe2o5AAicphOKG+R1uSlFUm8l3FtazsNOxmGPHHmaIT0snLKZCCIi9Nb07Z0Wk5TyQwLquCjNOYvSIgyBMHtPanFxcW1k2ORhpF1B+jzH8rwxt5y9R57QD5F0F5+/TFgF6/v23CWtWq0byULrTaCIgULHemSdcJk3zbzbsdU4qz3bxIN10Bk2sNfvsnlJYXRano4c3fIWG7iFa1OlzqQ9Yk99B4ry8HwAIvD8sYaPIRC3O03XH/NOYgv2CmaCu9HvMJN
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(30864003)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(66899024)(83380400001)(38070700009)(559001)(579004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?Fg7O0xiJySLy0R0PyFHqrEpcPLSNawgF3T8Eqe/NttaTkE3lIZSdZ016v6?=
 =?iso-8859-1?Q?fqNiZKaH8+wK8oWd/kfKrCfh8Ez3yfn0ZVjv/agBp4lUinkQhwWyFD2aZR?=
 =?iso-8859-1?Q?jRYDi+3Aklzp4exruHIYcqPHZZgr1c4uz/r7N/JLNhd3s7EjKXm6LZabdv?=
 =?iso-8859-1?Q?YKBcX63fCfjtrmZEgSEU26qAit5aX6WyzNdSNLvyTXHm6pBUJfnZA1sXe0?=
 =?iso-8859-1?Q?RKZXon0/wBuXSDSSkRnDVqnq2Ci+j3ypzCN1xZBJtJk4LOdDH5S9iP+b0V?=
 =?iso-8859-1?Q?jsemcjQmOZN3CpZ0+bxBVxL2hDDXCTaYLpHHzaamR/asXYJLnaeW/t+Uac?=
 =?iso-8859-1?Q?zBLPKHif8xF8Wmc3MMSbzUw5rZt9Y2jIpwbMPeLC6ZsYikU21ItXS5++Ie?=
 =?iso-8859-1?Q?GQuYQoO33HmsZEFC7KK8PreoYjS+YGltWkYXo5AIQQ2kSD98cIAwMYxFb9?=
 =?iso-8859-1?Q?x5HyInSUJRx15c+FOhty1mf9hDSonlLaHYHzdhFdJgeLYUHg8FruUWpAl6?=
 =?iso-8859-1?Q?dx1OLThfaLO9Iscz7FL8AeRz2HuvQh0Y6Ssk4JM4m1rX8gcBK12Z6PzC+p?=
 =?iso-8859-1?Q?igdycHiHq9CUZ6dK3kNqMIoREuZqjEG/k8bjtMulRffJRi8BUSfzsJcnV8?=
 =?iso-8859-1?Q?R9hfPVWyae8W5mLUJTg4UNZNsrKXB7B98uxMBmzRe586wARwzjCYwsSwK9?=
 =?iso-8859-1?Q?7btb4ZeHlxbfestlt7PI1eUAOcL9V0S6jbrzfWbJLqCI3Tr/brRB7YeMEK?=
 =?iso-8859-1?Q?W7f4mBRU1XBoB58pzQVQhud972JQbmLLpRDf1pavKLFfhn5z8DQSpbRPZY?=
 =?iso-8859-1?Q?rvaYbRrdA+TF9Sclffx2epskYnxGtmDZn0xkAItl7Cokv0VvBFjg01shYY?=
 =?iso-8859-1?Q?5Pfigx6D+EieWmI+sPlB1yWrP5qb65LJeiruLzMwaojMK7KtjkejE91KOT?=
 =?iso-8859-1?Q?VZ8I23slC0IZheW2ItuX6QVuqpr2MuCXDqWl7xHLpZRMQxbFOB/lIJeNfZ?=
 =?iso-8859-1?Q?z4uiUlGRc/1I9UgD+tVd5SLTTNtlQhcFSBRXqdF6SJcPCwK0FuUTCsthkY?=
 =?iso-8859-1?Q?XHjvWRyXLLUdiSAO4YrejOAA67o54gVhGuH28GySvm/uNxILfSGCzxJSgH?=
 =?iso-8859-1?Q?UNHCYUiwzLWN/7kEKAF+Qlk722oCq5JajqWw8Sx+1eQsBqsSF0nLhp0kj8?=
 =?iso-8859-1?Q?Dj2JXT7nOOu0FDrWVQOIaB0gm4CdkkYr5lc91LfFJ/rSMSfgv8eM60B63m?=
 =?iso-8859-1?Q?/9Mxv83YIWQXl5FsL+usFR1+uaPStgf9bvY1JNV6HYuqB7p0K1XDxrtivt?=
 =?iso-8859-1?Q?wFgg6Qsk4n6IAtMnaunedUWHhifID9m19BLJ6kLNT5P7LfvAD9Z/Go5UnL?=
 =?iso-8859-1?Q?wMjiUaCKrUAW+DoT03u5Yp+Zk9uT+nBzapH7b76nLXYkj8EnfGU2j1ztlS?=
 =?iso-8859-1?Q?jU99JImVdQqrveoYMoBkaOHHw+yY+VbHimzaNCvtfr4hA2lioEjoVGTUg4?=
 =?iso-8859-1?Q?7LU+CflmsA+GhRpdzRWQuRkZ6Y5mbpJR7sJVYCg24jsQ91tmNCyl75VbrK?=
 =?iso-8859-1?Q?kKhG1Zd07nUKHal25vfNWiGUTiFTfIR9daMOvb/TfK4wHCMjJ7SJQX6rb/?=
 =?iso-8859-1?Q?jcWfqFAiy5nC1ET+rtCZaBS9ockCCzTb8ClVVqtNLg4BZCmgHHcs4cDA?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be8640a2-c066-4899-35d2-08dbe1ec7243
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:22.9843
 (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: mjgezbWcd7/mIJEc0mNuei3Epdo4FCCCQfL4O8TO6QTRnk+HuE2be879R1gRPnQdZs2J1FWR85yLir6kikq6Hw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: RiuyVqpxzrf-VlRFsunQQEO1ysKircOD
X-Proofpoint-GUID: RiuyVqpxzrf-VlRFsunQQEO1ysKircOD
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=999
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

The connection between a device, an event ID, the LPI number and the
associated CPU is stored in in-memory tables in a GICv3, but their
format is not specified by the spec. Instead software uses a command
queue in a ring buffer to let an ITS implementation use its own
format.
Implement handlers for the various ITS commands and let them store
the requested relation into our own data structures. Those data
structures are protected by the its_lock mutex.
Error handling is very basic at the moment, as we don't have a good
way of communicating errors to the guest (usually an SError).
The INT command handler is missing from this patch, as we gain the
capability of actually injecting MSIs into the guest only later on.

Based on Linux commit df9f58fbea9b by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/gic_v3_its.h |  19 +
 xen/arch/arm/vgic/vgic-its.c          | 888 +++++++++++++++++++++++++-
 xen/arch/arm/vgic/vgic.h              |   6 +
 3 files changed, 908 insertions(+), 5 deletions(-)

diff --git a/xen/arch/arm/include/asm/gic_v3_its.h b/xen/arch/arm/include/a=
sm/gic_v3_its.h
index b408441c6e..cbfd854af6 100644
--- a/xen/arch/arm/include/asm/gic_v3_its.h
+++ b/xen/arch/arm/include/asm/gic_v3_its.h
@@ -160,6 +160,25 @@
 #define GITS_CMD_MOVALL                 0x0e
 #define GITS_CMD_DISCARD                0x0f
=20
+/*
+ * ITS error numbers
+ */
+#define E_ITS_MOVI_UNMAPPED_INTERRUPT       0x010107
+#define E_ITS_MOVI_UNMAPPED_COLLECTION      0x010109
+#define E_ITS_INT_UNMAPPED_INTERRUPT        0x010307
+#define E_ITS_CLEAR_UNMAPPED_INTERRUPT      0x010507
+#define E_ITS_MAPD_DEVICE_OOR               0x010801
+#define E_ITS_MAPD_ITTSIZE_OOR              0x010802
+#define E_ITS_MAPC_PROCNUM_OOR              0x010902
+#define E_ITS_MAPC_COLLECTION_OOR           0x010903
+#define E_ITS_MAPTI_UNMAPPED_DEVICE         0x010a04
+#define E_ITS_MAPTI_ID_OOR                  0x010a05
+#define E_ITS_MAPTI_PHYSICALID_OOR          0x010a06
+#define E_ITS_INV_UNMAPPED_INTERRUPT        0x010c07
+#define E_ITS_INVALL_UNMAPPED_COLLECTION    0x010d09
+#define E_ITS_MOVALL_PROCNUM_OOR            0x010e01
+#define E_ITS_DISCARD_UNMAPPED_INTERRUPT    0x010f07
+
 #define ITS_DOORBELL_OFFSET             0x10040
 #define GICV3_ITS_SIZE                  SZ_128K
 #define ITS_TRANSLATION_OFFSET          0x10000
diff --git a/xen/arch/arm/vgic/vgic-its.c b/xen/arch/arm/vgic/vgic-its.c
index 48dfa09115..9a30087d3d 100644
--- a/xen/arch/arm/vgic/vgic-its.c
+++ b/xen/arch/arm/vgic/vgic-its.c
@@ -52,6 +52,9 @@ struct vgic_translation_cache_entry {
     struct vgic_irq *irq;
 };
=20
+#define its_is_collection_mapped(coll)                                    =
     \
+    ((coll) && ((coll)->target_addr !=3D COLLECTION_NOT_MAPPED))
+
 /*
  * Find and returns a device in the device table for an ITS.
  * Must be called with the its_devices_lock mutex held.
@@ -71,8 +74,55 @@ static struct vgic_its_device *find_its_device(struct vg=
ic_its *its, u32 device_
 #define VGIC_ITS_TYPER_DEVBITS          16
 #define VGIC_ITS_TYPER_ITE_SIZE         8
=20
+/*
+ * Find and returns an interrupt translation table entry (ITTE) for a give=
n
+ * Device ID/Event ID pair on an ITS.
+ * Must be called with the its_lock mutex held.
+ */
+static struct its_ite *find_ite(struct vgic_its *its, u32 device_id,
+                                u32 event_id)
+{
+    struct vgic_its_device *device;
+    struct its_ite *ite;
+
+    spin_lock(&its->domain->arch.vgic.its_devices_lock);
+    device =3D find_its_device(its, device_id);
+    spin_unlock(&its->domain->arch.vgic.its_devices_lock);
+    if ( device =3D=3D NULL )
+        return NULL;
+
+    list_for_each_entry(ite, &device->itt_head, ite_list)
+        if ( ite->event_id =3D=3D event_id )
+            return ite;
+
+    return NULL;
+}
+
+/* To be used as an iterator this macro misses the enclosing parentheses *=
/
+#define for_each_lpi_its(dev, ite, its)                                   =
     \
+    list_for_each_entry(dev, &(its)->device_list, dev_list)               =
     \
+        list_for_each_entry(ite, &(dev)->itt_head, ite_list)
+
 #define GIC_LPI_OFFSET              8192
=20
+#define VITS_TYPER_IDBITS           16
+#define VITS_TYPER_DEVBITS          16
+#define VITS_DTE_MAX_DEVID_OFFSET   (BIT(14, UL) - 1)
+#define VITS_ITE_MAX_EVENTID_OFFSET (BIT(16, UL) - 1)
+
+static struct its_collection *find_collection(struct vgic_its *its, int co=
ll_id)
+{
+    struct its_collection *collection;
+
+    list_for_each_entry(collection, &its->collection_list, coll_list)
+    {
+        if ( coll_id =3D=3D collection->collection_id )
+            return collection;
+    }
+
+    return NULL;
+}
+
 #define LPI_PROP_ENABLE_BIT(p) ((p)&LPI_PROP_ENABLED)
 #define LPI_PROP_PRIORITY(p)   ((p)&0xfc)
=20
@@ -118,6 +168,156 @@ static int update_lpi_config(struct domain *d, struct=
 vgic_irq *irq,
     return 0;
 }
=20
+static int vgic_v3_lpi_sync_pending_status(struct domain *d, struct vgic_i=
rq *irq)
+{
+    struct vcpu *vcpu;
+    int byte_offset, bit_nr;
+    paddr_t pendbase, ptr;
+    bool status;
+    u8 val;
+    int ret;
+    unsigned long flags;
+
+retry:
+    vcpu =3D irq->target_vcpu;
+    if ( !vcpu )
+        return 0;
+
+    pendbase    =3D GICR_PENDBASER_ADDRESS(vcpu->arch.vgic.pendbaser);
+
+    byte_offset =3D irq->intid / BITS_PER_BYTE;
+    bit_nr      =3D irq->intid % BITS_PER_BYTE;
+    ptr         =3D pendbase + byte_offset;
+
+    ret         =3D access_guest_memory_by_gpa(d, ptr, &val, 1, false);
+    if ( ret )
+        return ret;
+
+    status =3D val & (1 << bit_nr);
+
+    spin_lock_irqsave(&irq->irq_lock, flags);
+    if ( irq->target_vcpu !=3D vcpu )
+    {
+        spin_unlock_irqrestore(&irq->irq_lock, flags);
+        goto retry;
+    }
+    irq->pending_latch =3D status;
+    vgic_queue_irq_unlock(vcpu->domain, irq, flags);
+
+    if ( status )
+    {
+        /* clear consumed data */
+        val &=3D ~(1 << bit_nr);
+        ret =3D access_guest_memory_by_gpa(d, ptr, &val, 1, true);
+        if ( ret )
+            return ret;
+    }
+    return 0;
+}
+
+/*
+ * Creates a new (reference to a) struct vgic_irq for a given LPI.
+ * If this LPI is already mapped on another ITS, we increase its refcount
+ * and return a pointer to the existing structure.
+ * If this is a "new" LPI, we allocate and initialize a new struct vgic_ir=
q.
+ * This function returns a pointer to the _unlocked_ structure.
+ */
+static struct vgic_irq *vgic_add_lpi(struct domain *d, struct vgic_its *it=
s,
+                                     u32 intid, u32 devid, u32 eventid,
+                                     struct vcpu *vcpu)
+{
+    struct vgic_dist *dist =3D &d->arch.vgic;
+    struct vgic_irq *irq   =3D vgic_get_irq(d, NULL, intid), *oldirq;
+    uint32_t host_lpi;
+    unsigned long flags;
+    int ret;
+
+    /* In this case there is no put, since we keep the reference. */
+    if ( irq )
+        return irq;
+
+    host_lpi =3D gicv3_its_get_host_lpi(its->domain,
+                                      its->vgic_its_base + ITS_DOORBELL_OF=
FSET,
+                                      devid, eventid);
+
+    if ( host_lpi =3D=3D INVALID_LPI )
+        return ERR_PTR(-EINVAL);
+
+    gicv3_lpi_update_host_entry(host_lpi, d->domain_id, intid);
+
+    irq =3D xzalloc(struct vgic_irq);
+
+    if ( !irq )
+        return ERR_PTR(-ENOMEM);
+
+    memset(irq, 0, sizeof(*irq));
+
+    INIT_LIST_HEAD(&irq->lpi_list);
+    INIT_LIST_HEAD(&irq->ap_list);
+    spin_lock_init(&irq->irq_lock);
+
+    irq->config =3D VGIC_CONFIG_EDGE;
+    atomic_set(&irq->refcount, 1);
+    irq->intid       =3D intid;
+    irq->target_vcpu =3D vcpu;
+
+    spin_lock_irqsave(&dist->lpi_list_lock, flags);
+
+    /*
+     * There could be a race with another vgic_add_lpi(), so we need to
+     * check that we don't add a second list entry with the same LPI.
+     */
+    list_for_each_entry(oldirq, &dist->lpi_list_head, lpi_list)
+    {
+        if ( oldirq->intid !=3D intid )
+            continue;
+
+        /* Someone was faster with adding this LPI, lets use that. */
+        gicv3_lpi_update_host_entry(host_lpi, d->domain_id, INVALID_LPI);
+        irq =3D oldirq;
+
+        /*
+         * This increases the refcount, the caller is expected to
+         * call vgic_put_irq() on the returned pointer once it's
+         * finished with the IRQ.
+         */
+        vgic_get_irq_kref(irq);
+
+        goto out_unlock;
+    }
+
+    list_add_tail(&irq->lpi_list, &dist->lpi_list_head);
+    dist->lpi_list_count++;
+
+out_unlock:
+    spin_unlock_irqrestore(&dist->lpi_list_lock, flags);
+
+    /*
+     * We "cache" the configuration table entries in our struct vgic_irq's=
.
+     * However we only have those structs for mapped IRQs, so we read in
+     * the respective config data from memory here upon mapping the LPI.
+     *
+     * Should any of these fail, behave as if we couldn't create the LPI
+     * by dropping the refcount and returning the error.
+     */
+    ret =3D update_lpi_config(d, irq, NULL, false);
+    if ( ret )
+    {
+        vgic_put_irq(d, irq);
+        gicv3_lpi_update_host_entry(host_lpi, d->domain_id, INVALID_LPI);
+        return ERR_PTR(ret);
+    }
+
+    ret =3D vgic_v3_lpi_sync_pending_status(d, irq);
+    if ( ret )
+    {
+        vgic_put_irq(d, irq);
+        gicv3_lpi_update_host_entry(host_lpi, d->domain_id, INVALID_LPI);
+        return ERR_PTR(ret);
+    }
+
+    return irq;
+}
=20
 /*
  * Create a snapshot of the current LPIs targeting @vcpu, so that we can
@@ -160,6 +360,57 @@ int vgic_copy_lpi_list(struct domain *d, struct vcpu *=
vcpu, u32 **intid_ptr)
     return i;
 }
=20
+static int update_affinity(struct vgic_irq *irq, struct vcpu *vcpu)
+{
+    int ret =3D 0;
+    unsigned long flags;
+
+    spin_lock_irqsave(&irq->irq_lock, flags);
+    irq->target_vcpu =3D vcpu;
+    spin_unlock_irqrestore(&irq->irq_lock, flags);
+
+    /* GICv4 style VLPIS are not yet supported */
+    WARN_ON(irq->hw);
+
+    return ret;
+}
+
+/*
+ * Promotes the ITS view of affinity of an ITTE (which redistributor this =
LPI
+ * is targeting) to the VGIC's view, which deals with target VCPUs.
+ * Needs to be called whenever either the collection for a LPIs has
+ * changed or the collection itself got retargeted.
+ */
+static void update_affinity_ite(struct domain *d, struct its_ite *ite)
+{
+    struct vcpu *vcpu;
+
+    if ( !its_is_collection_mapped(ite->collection) )
+        return;
+
+    vcpu =3D d->vcpu[ite->collection->target_addr];
+    update_affinity(ite->irq, vcpu);
+}
+
+/*
+ * Updates the target VCPU for every LPI targeting this collection.
+ * Must be called with the its_lock mutex held.
+ */
+static void update_affinity_collection(struct domain *d, struct vgic_its *=
its,
+                                       struct its_collection *coll)
+{
+    struct vgic_its_device *device;
+    struct its_ite *ite;
+
+    for_each_lpi_its(device, ite, its)
+    {
+        if ( !ite->collection || coll !=3D ite->collection )
+            continue;
+
+        update_affinity_ite(d, ite);
+    }
+}
+
 void __vgic_put_lpi_locked(struct domain *d, struct vgic_irq *irq)
 {
     struct vgic_dist *dist =3D &d->arch.vgic;
@@ -175,6 +426,7 @@ void __vgic_put_lpi_locked(struct domain *d, struct vgi=
c_irq *irq)
     xfree(irq);
 }
=20
+
 static struct vgic_irq *__vgic_its_check_cache(struct vgic_dist *dist,
                                                paddr_t db, u32 devid,
                                                u32 eventid)
@@ -298,6 +550,18 @@ void vgic_its_invalidate_cache(struct domain *d)
     spin_unlock_irqrestore(&dist->lpi_list_lock, flags);
 }
=20
+static u32 max_lpis_propbaser(u64 propbaser)
+{
+    int nr_idbits =3D (propbaser & 0x1f) + 1;
+
+    return 1U << min(nr_idbits, INTERRUPT_ID_BITS_ITS);
+}
+
+static u64 its_cmd_mask_field(u64 *its_cmd, int word, int shift, int size)
+{
+    return (le64_to_cpu(its_cmd[word]) >> shift) & (BIT(size, ULL) - 1);
+}
+
 /* Requires the its_lock to be held. */
 static void its_free_ite(struct domain *d, struct its_ite *ite)
 {
@@ -315,6 +579,194 @@ static void its_free_ite(struct domain *d, struct its=
_ite *ite)
     xfree(ite);
 }
=20
+/* Must be called with its_lock mutex held */
+static struct its_ite *vgic_its_alloc_ite(struct vgic_its_device *device,
+                                          struct its_collection *collectio=
n,
+                                          u32 event_id)
+{
+    struct its_ite *ite;
+
+    ite =3D xzalloc(struct its_ite);
+    if ( !ite )
+        return ERR_PTR(-ENOMEM);
+
+    ite->event_id   =3D event_id;
+    ite->collection =3D collection;
+
+    list_add_tail(&ite->ite_list, &device->itt_head);
+    return ite;
+}
+
+#define its_cmd_get_command(cmd)     its_cmd_mask_field(cmd, 0, 0, 8)
+#define its_cmd_get_deviceid(cmd)    its_cmd_mask_field(cmd, 0, 32, 32)
+#define its_cmd_get_size(cmd)        (its_cmd_mask_field(cmd, 1, 0, 5) + 1=
)
+#define its_cmd_get_id(cmd)          its_cmd_mask_field(cmd, 1, 0, 32)
+#define its_cmd_get_physical_id(cmd) its_cmd_mask_field(cmd, 1, 32, 32)
+#define its_cmd_get_collection(cmd)  its_cmd_mask_field(cmd, 2, 0, 16)
+#define its_cmd_get_ittaddr(cmd)     (its_cmd_mask_field(cmd, 2, 8, 44) <<=
 8)
+#define its_cmd_get_target_addr(cmd) its_cmd_mask_field(cmd, 2, 16, 32)
+#define its_cmd_get_validbit(cmd)    its_cmd_mask_field(cmd, 2, 63, 1)
+
+/*
+ * Check whether a guest physical address is owned by it
+*/
+static bool __is_visible_gfn_locked(struct vgic_its *its, paddr_t gpa)
+{
+    gfn_t gfn =3D gaddr_to_gfn(gpa);
+    volatile struct domain *d;
+    struct page_info *page;
+
+    page =3D mfn_to_page(gfn_to_mfn(its->domain, gfn));
+    if ( !page )
+        return false;
+
+    d =3D page_get_owner(page);
+    if ( !d )
+        return false;
+
+    return d =3D=3D its->domain;
+}
+
+/*
+ * Check whether an event ID can be stored in the corresponding Interrupt
+ * Translation Table, which starts at device->itt_addr.
+ */
+static bool vgic_its_check_event_id(struct vgic_its *its,
+                                    struct vgic_its_device *device, u32 ev=
ent_id)
+{
+    int ite_esz =3D VGIC_ITS_TYPER_ITE_SIZE;
+    paddr_t gpa;
+
+    /* max table size is: BIT_ULL(device->num_eventid_bits) * ite_esz */
+    if ( event_id >=3D BIT(device->num_eventid_bits, ULL) )
+        return false;
+
+    gpa =3D (paddr_t)device->itt_addr + event_id * ite_esz;
+    return __is_visible_gfn_locked(its, gpa);
+}
+
+/*
+ * Check whether an ID can be stored into the corresponding guest table.
+ * For a direct table this is pretty easy, but gets a bit nasty for
+ * indirect tables. We check whether the resulting guest physical address
+ * is actually valid (covered by a memslot and guest accessible).
+ * For this we have to read the respective first level entry.
+ */
+static bool vgic_its_check_id(struct vgic_its *its, u64 baser, u32 id,
+                              paddr_t *eaddr)
+{
+    int l1_tbl_size =3D GITS_BASER_NR_PAGES(baser) * SZ_64K;
+    u64 indirect_ptr, type =3D GITS_BASER_TYPE(baser);
+    paddr_t base =3D GITS_BASER_ADDR_48_to_52(baser);
+    int esz      =3D GITS_BASER_ENTRY_SIZE(baser);
+    int index;
+
+    switch ( type )
+    {
+    case GITS_BASER_TYPE_DEVICE:
+        if ( id >=3D BIT(VITS_TYPER_DEVBITS, ULL) )
+            return false;
+        break;
+    case GITS_BASER_TYPE_COLLECTION:
+        /* as GITS_TYPER.CIL =3D=3D 0, ITS supports 16-bit collection ID *=
/
+        if ( id >=3D BIT(16, ULL) )
+            return false;
+        break;
+    default:
+        return false;
+    }
+
+    if ( !(baser & GITS_BASER_INDIRECT) )
+    {
+        paddr_t addr;
+
+        if ( id >=3D (l1_tbl_size / esz) )
+            return false;
+
+        addr =3D base + id * esz;
+
+        if ( eaddr )
+            *eaddr =3D addr;
+
+        return __is_visible_gfn_locked(its, addr);
+    }
+
+    /* calculate and check the index into the 1st level */
+    index =3D id / (SZ_64K / esz);
+    if ( index >=3D (l1_tbl_size / sizeof(u64)) )
+        return false;
+
+    /* Each 1st level entry is represented by a 64-bit value. */
+    if ( access_guest_memory_by_gpa(its->domain,
+                                    base + index * sizeof(indirect_ptr),
+                                    &indirect_ptr, sizeof(indirect_ptr), 0=
) )
+        return false;
+
+    indirect_ptr =3D le64_to_cpu(indirect_ptr);
+
+    /* check the valid bit of the first level entry */
+    if ( !(indirect_ptr & BIT(63, ULL)) )
+        return false;
+
+    /* Mask the guest physical address and calculate the frame number. */
+    indirect_ptr &=3D GENMASK_ULL(51, 16);
+
+    /* Find the address of the actual entry */
+    index =3D id % (SZ_64K / esz);
+    indirect_ptr +=3D index * esz;
+
+    if ( eaddr )
+        *eaddr =3D indirect_ptr;
+
+    return __is_visible_gfn_locked(its, indirect_ptr);
+}
+
+/*
+ * Add a new collection into the ITS collection table.
+ * Returns 0 on success, and a negative error value for generic errors.
+ */
+static int vgic_its_alloc_collection(struct vgic_its *its,
+                                     struct its_collection **colp, u32 col=
l_id)
+{
+    struct its_collection *collection;
+
+    collection =3D xzalloc(struct its_collection);
+    if ( !collection )
+        return -ENOMEM;
+
+    collection->collection_id =3D coll_id;
+    collection->target_addr   =3D COLLECTION_NOT_MAPPED;
+
+    list_add_tail(&collection->coll_list, &its->collection_list);
+    *colp =3D collection;
+
+    return 0;
+}
+
+
+static void vgic_its_free_collection(struct vgic_its *its, u32 coll_id)
+{
+    struct its_collection *collection;
+    struct vgic_its_device *device;
+    struct its_ite *ite;
+
+    /*
+     * Clearing the mapping for that collection ID removes the
+     * entry from the list. If there wasn't any before, we can
+     * go home early.
+     */
+    collection =3D find_collection(its, coll_id);
+    if ( !collection )
+        return;
+
+    for_each_lpi_its( device, ite, its)
+        if ( ite->collection && ite->collection->collection_id =3D=3D coll=
_id )
+        ite->collection =3D NULL;
+
+    list_del(&collection->coll_list);
+    xfree(collection);
+}
+
 /* Requires the its_devices_lock to be held. */
 void vgic_its_free_device(struct vgic_its_device *device)
 {
@@ -352,10 +804,7 @@ static void vgic_its_free_collection_list(struct domai=
n *d,
     struct its_collection *cur, *temp;
=20
     list_for_each_entry_safe(cur, temp, &its->collection_list, coll_list)
-    {
-        list_del(&cur->coll_list);
-        xfree(cur);
-    }
+        vgic_its_free_collection(its, cur->collection_id);
 }
=20
 /* Must be called with its_devices_lock mutex held */
@@ -419,6 +868,390 @@ void vgic_its_delete_device(struct domain *d, struct =
vgic_its_device *its_dev)
     list_del(&its_dev->dev_list);
 }
=20
+/*
+ * MAPD maps or unmaps a device ID to Interrupt Translation Tables (ITTs).
+ * Must be called with the its_lock mutex held.
+ */
+
+static int vgic_its_cmd_handle_mapd(struct domain *d, struct vgic_its *its=
,
+                                    u64 *its_cmd)
+{
+    uint32_t guest_devid =3D its_cmd_get_deviceid(its_cmd);
+    bool valid           =3D its_cmd_get_validbit(its_cmd);
+    u8 num_eventid_bits  =3D its_cmd_get_size(its_cmd);
+    paddr_t itt_addr     =3D its_cmd_get_ittaddr(its_cmd);
+    int ret =3D 0;
+    struct vgic_its_device *device;
+
+    if ( !vgic_its_check_id(its, its->baser_device_table, guest_devid, NUL=
L) )
+        return E_ITS_MAPD_DEVICE_OOR;
+
+    if ( valid && num_eventid_bits > VITS_TYPER_IDBITS )
+        return E_ITS_MAPD_ITTSIZE_OOR;
+
+    /*
+     * There is no easy and clean way for Xen to know the ITS device ID of=
 a
+     * particular (PCI) device, so we have to rely on the guest telling
+     * us about it. For *now* we are just using the device ID *Dom0* uses,
+     * because the driver there has the actual knowledge.
+     * Eventually this will be replaced with a dedicated hypercall to
+     * announce pass-through of devices.
+     */
+    if ( is_hardware_domain(its->domain) )
+    {
+        ret =3D gicv3_its_map_guest_device(its->domain, its->doorbell_addr=
ess,
+                                        guest_devid,
+                                        its->vgic_its_base + ITS_DOORBELL_=
OFFSET,
+                                        guest_devid, BIT(num_eventid_bits,=
 UL),
+                                        valid);
+    }
+
+    if ( !ret && valid ) {
+        device =3D vgic_its_get_device(d, its->vgic_its_base + ITS_DOORBEL=
L_OFFSET, guest_devid);
+
+        device->itt_addr =3D (void *)itt_addr;
+        device->num_eventid_bits =3D num_eventid_bits;
+    }
+
+    return ret;
+}
+
+/*
+ * The MAPC command maps collection IDs to redistributors.
+ * Must be called with the its_lock mutex held.
+ */
+static int vgic_its_cmd_handle_mapc(struct domain *d, struct vgic_its *its=
,
+                                    u64 *its_cmd)
+{
+    u16 coll_id;
+    u32 target_addr;
+    struct its_collection *collection;
+    bool valid;
+
+    valid       =3D its_cmd_get_validbit(its_cmd);
+    coll_id     =3D its_cmd_get_collection(its_cmd);
+    target_addr =3D its_cmd_get_target_addr(its_cmd);
+
+    if ( target_addr >=3D d->max_vcpus )
+        return E_ITS_MAPC_PROCNUM_OOR;
+
+    if ( !valid )
+    {
+        vgic_its_free_collection(its, coll_id);
+        vgic_its_invalidate_cache(d);
+    }
+    else
+    {
+        collection =3D find_collection(its, coll_id);
+
+        if ( !collection )
+        {
+            int ret;
+
+            if ( !vgic_its_check_id(its, its->baser_coll_table, coll_id, N=
ULL) )
+                return E_ITS_MAPC_COLLECTION_OOR;
+
+            ret =3D vgic_its_alloc_collection(its, &collection, coll_id);
+            if ( ret )
+                return ret;
+            collection->target_addr =3D target_addr;
+        }
+        else
+        {
+            collection->target_addr =3D target_addr;
+            update_affinity_collection(d, its, collection);
+        }
+    }
+
+    return 0;
+}
+
+
+/*
+ * The MAPTI and MAPI commands map LPIs to ITTEs.
+ * Must be called with its_lock mutex held.
+ */
+static int vgic_its_cmd_handle_mapi(struct domain *d, struct vgic_its *its=
,
+                                    u64 *its_cmd)
+{
+    u32 device_id =3D its_cmd_get_deviceid(its_cmd);
+    u32 event_id  =3D its_cmd_get_id(its_cmd);
+    u32 coll_id   =3D its_cmd_get_collection(its_cmd);
+    struct its_ite *ite;
+    struct vcpu *vcpu =3D NULL;
+    struct vgic_its_device *device;
+    struct its_collection *collection, *new_coll =3D NULL;
+    struct vgic_irq *irq;
+    int lpi_nr;
+
+    spin_lock(&d->arch.vgic.its_devices_lock);
+    device =3D find_its_device(its, device_id);
+    spin_unlock(&d->arch.vgic.its_devices_lock);
+    if ( !device )
+        return E_ITS_MAPTI_UNMAPPED_DEVICE;
+
+    if ( !vgic_its_check_event_id(its, device, event_id) )
+        return E_ITS_MAPTI_ID_OOR;
+
+    if ( its_cmd_get_command(its_cmd) =3D=3D GITS_CMD_MAPTI )
+        lpi_nr =3D its_cmd_get_physical_id(its_cmd);
+    else
+        lpi_nr =3D event_id;
+    if ( lpi_nr < GIC_LPI_OFFSET ||
+         lpi_nr >=3D max_lpis_propbaser(d->arch.vgic.propbaser) )
+        return E_ITS_MAPTI_PHYSICALID_OOR;
+
+    /* If there is an existing mapping, behavior is UNPREDICTABLE. */
+    if ( find_ite(its, device_id, event_id) )
+        return 0;
+
+    collection =3D find_collection(its, coll_id);
+    if ( !collection )
+    {
+        int ret;
+
+        if ( !vgic_its_check_id(its, its->baser_coll_table, coll_id, NULL)=
 )
+            return E_ITS_MAPC_COLLECTION_OOR;
+
+        ret =3D vgic_its_alloc_collection(its, &collection, coll_id);
+        if ( ret )
+            return ret;
+        new_coll =3D collection;
+    }
+
+    ite =3D vgic_its_alloc_ite(device, collection, event_id);
+    if ( IS_ERR(ite) )
+    {
+        if ( new_coll )
+            vgic_its_free_collection(its, coll_id);
+        return PTR_ERR(ite);
+    }
+
+    if ( its_is_collection_mapped(collection) )
+        vcpu =3D d->vcpu[collection->target_addr];
+
+    irq =3D vgic_add_lpi(d, its, lpi_nr, device_id, event_id, vcpu);
+    if ( IS_ERR(irq) )
+    {
+        if ( new_coll )
+            vgic_its_free_collection(its, coll_id);
+        its_free_ite(d, ite);
+        return PTR_ERR(irq);
+    }
+    ite->irq =3D irq;
+
+    return 0;
+}
+
+/*
+ * The MOVI command moves an ITTE to a different collection.
+ * Must be called with the its_lock mutex held.
+ */
+static int vgic_its_cmd_handle_movi(struct domain *d, struct vgic_its *its=
,
+                                    u64 *its_cmd)
+{
+    u32 device_id =3D its_cmd_get_deviceid(its_cmd);
+    u32 event_id  =3D its_cmd_get_id(its_cmd);
+    u32 coll_id   =3D its_cmd_get_collection(its_cmd);
+    struct vcpu *vcpu;
+    struct its_ite *ite;
+    struct its_collection *collection;
+
+    ite =3D find_ite(its, device_id, event_id);
+    if ( !ite )
+        return E_ITS_MOVI_UNMAPPED_INTERRUPT;
+
+    if ( !its_is_collection_mapped(ite->collection) )
+        return E_ITS_MOVI_UNMAPPED_COLLECTION;
+
+    collection =3D find_collection(its, coll_id);
+    if ( !its_is_collection_mapped(collection) )
+        return E_ITS_MOVI_UNMAPPED_COLLECTION;
+
+    ite->collection =3D collection;
+    vcpu            =3D d->vcpu[collection->target_addr];
+
+    vgic_its_invalidate_cache(d);
+
+    return update_affinity(ite->irq, vcpu);
+}
+
+/*
+ * The DISCARD command frees an Interrupt Translation Table Entry (ITTE).
+ * Must be called with the its_lock mutex held.
+ */
+static int vgic_its_cmd_handle_discard(struct domain *d, struct vgic_its *=
its,
+                                       u64 *its_cmd)
+{
+    u32 device_id =3D its_cmd_get_deviceid(its_cmd);
+    u32 event_id  =3D its_cmd_get_id(its_cmd);
+    struct its_ite *ite;
+
+    ite =3D find_ite(its, device_id, event_id);
+    if ( ite && its_is_collection_mapped(ite->collection) )
+    {
+        /*
+         * Though the spec talks about removing the pending state, we
+         * don't bother here since we clear the ITTE anyway and the
+         * pending state is a property of the ITTE struct.
+         */
+        vgic_its_invalidate_cache(d);
+
+        its_free_ite(d, ite);
+        return 0;
+    }
+
+    return E_ITS_DISCARD_UNMAPPED_INTERRUPT;
+}
+
+/*
+ * The CLEAR command removes the pending state for a particular LPI.
+ * Must be called with the its_lock mutex held.
+ */
+static int vgic_its_cmd_handle_clear(struct domain *d, struct vgic_its *it=
s,
+                                     u64 *its_cmd)
+{
+    u32 device_id =3D its_cmd_get_deviceid(its_cmd);
+    u32 event_id  =3D its_cmd_get_id(its_cmd);
+    struct its_ite *ite;
+
+    ite =3D find_ite(its, device_id, event_id);
+    if ( !ite )
+        return E_ITS_CLEAR_UNMAPPED_INTERRUPT;
+
+    ite->irq->pending_latch =3D false;
+
+    /* GICv4 style VLPIS are not yet supported */
+    WARN_ON(ite->irq->hw);
+
+    return 0;
+}
+
+/*
+ * The MOVALL command moves the pending state of all IRQs targeting one
+ * redistributor to another. We don't hold the pending state in the VCPUs,
+ * but in the IRQs instead, so there is really not much to do for us here.
+ * However the spec says that no IRQ must target the old redistributor
+ * afterwards, so we make sure that no LPI is using the associated target_=
vcpu.
+ * This command affects all LPIs in the system that target that redistribu=
tor.
+ */
+static int vgic_its_cmd_handle_movall(struct domain *d, struct vgic_its *i=
ts,
+                                      u64 *its_cmd)
+{
+    u32 target1_addr =3D its_cmd_get_target_addr(its_cmd);
+    u32 target2_addr =3D its_cmd_mask_field(its_cmd, 3, 16, 32);
+    struct vcpu *vcpu1, *vcpu2;
+    struct vgic_irq *irq;
+    u32 *intids;
+    int irq_count, i;
+
+    if ( target1_addr >=3D d->max_vcpus || target2_addr >=3D d->max_vcpus =
)
+        return E_ITS_MOVALL_PROCNUM_OOR;
+
+    if ( target1_addr =3D=3D target2_addr )
+        return 0;
+
+    vcpu1     =3D d->vcpu[target1_addr];
+    vcpu2     =3D d->vcpu[target2_addr];
+
+    irq_count =3D vgic_copy_lpi_list(d, vcpu1, &intids);
+    if ( irq_count < 0 )
+        return irq_count;
+
+    for ( i =3D 0; i < irq_count; i++ )
+    {
+        irq =3D vgic_get_irq(d, NULL, intids[i]);
+
+        update_affinity(irq, vcpu2);
+
+        vgic_put_irq(d, irq);
+    }
+
+    vgic_its_invalidate_cache(d);
+
+    xfree(intids);
+    return 0;
+}
+
+int vgic_its_inv_lpi(struct domain *d, struct vgic_irq *irq)
+{
+    return update_lpi_config(d, irq, NULL, true);
+}
+
+/*
+ * The INV command syncs the configuration bits from the memory table.
+ * Must be called with the its_lock mutex held.
+ */
+static int vgic_its_cmd_handle_inv(struct domain *d, struct vgic_its *its,
+                                   u64 *its_cmd)
+{
+    u32 device_id =3D its_cmd_get_deviceid(its_cmd);
+    u32 event_id  =3D its_cmd_get_id(its_cmd);
+    struct its_ite *ite;
+
+    ite =3D find_ite(its, device_id, event_id);
+    if ( !ite )
+        return E_ITS_INV_UNMAPPED_INTERRUPT;
+
+    return vgic_its_inv_lpi(d, ite->irq);
+}
+
+/**
+ * vgic_its_invall - invalidate all LPIs targetting a given vcpu
+ * @vcpu: the vcpu for which the RD is targetted by an invalidation
+ *
+ * Contrary to the INVALL command, this targets a RD instead of a
+ * collection, and we don't need to hold the its_lock, since no ITS is
+ * involved here.
+ */
+int vgic_its_invall(struct vcpu *vcpu)
+{
+    struct domain *d =3D vcpu->domain;
+    int irq_count, i =3D 0;
+    u32 *intids;
+
+    irq_count =3D vgic_copy_lpi_list(d, vcpu, &intids);
+    if ( irq_count < 0 )
+        return irq_count;
+
+    for ( i =3D 0; i < irq_count; i++ )
+    {
+        struct vgic_irq *irq =3D vgic_get_irq(d, NULL, intids[i]);
+        if ( !irq )
+            continue;
+        update_lpi_config(d, irq, vcpu, false);
+        vgic_put_irq(d, irq);
+    }
+
+    xfree(intids);
+    return 0;
+}
+
+/*
+ * The INVALL command requests flushing of all IRQ data in this collection=
.
+ * Find the VCPU mapped to that collection, then iterate over the VM's lis=
t
+ * of mapped LPIs and update the configuration for each IRQ which targets
+ * the specified vcpu. The configuration will be read from the in-memory
+ * configuration table.
+ * Must be called with the its_lock mutex held.
+ */
+static int vgic_its_cmd_handle_invall(struct domain *d, struct vgic_its *i=
ts,
+                                      u64 *its_cmd)
+{
+    u32 coll_id =3D its_cmd_get_collection(its_cmd);
+    struct its_collection *collection;
+    struct vcpu *vcpu;
+
+    collection =3D find_collection(its, coll_id);
+    if ( !its_is_collection_mapped(collection) )
+        return E_ITS_INVALL_UNMAPPED_COLLECTION;
+
+    vcpu =3D d->vcpu[collection->target_addr];
+    vgic_its_invall(vcpu);
+
+    return 0;
+}
+
 /*
  * This function is called with the its_cmd lock held, but the ITS data
  * structure lock dropped.
@@ -426,8 +1259,53 @@ void vgic_its_delete_device(struct domain *d, struct =
vgic_its_device *its_dev)
 static int vgic_its_handle_command(struct domain *d, struct vgic_its *its,
                                    u64 *its_cmd)
 {
+    int ret =3D -ENODEV;
+
+    spin_lock(&its->its_lock);
+    switch ( its_cmd_get_command(its_cmd) )
+    {
+    case GITS_CMD_MAPD:
+        ret =3D vgic_its_cmd_handle_mapd(d, its, its_cmd);
+        break;
+    case GITS_CMD_MAPC:
+        ret =3D vgic_its_cmd_handle_mapc(d, its, its_cmd);
+        break;
+    case GITS_CMD_MAPI:
+        ret =3D vgic_its_cmd_handle_mapi(d, its, its_cmd);
+        break;
+    case GITS_CMD_MAPTI:
+        ret =3D vgic_its_cmd_handle_mapi(d, its, its_cmd);
+        break;
+    case GITS_CMD_MOVI:
+        ret =3D vgic_its_cmd_handle_movi(d, its, its_cmd);
+        break;
+    case GITS_CMD_DISCARD:
+        ret =3D vgic_its_cmd_handle_discard(d, its, its_cmd);
+        break;
+    case GITS_CMD_CLEAR:
+        ret =3D vgic_its_cmd_handle_clear(d, its, its_cmd);
+        break;
+    case GITS_CMD_MOVALL:
+        ret =3D vgic_its_cmd_handle_movall(d, its, its_cmd);
+        break;
+    case GITS_CMD_INV:
+        ret =3D vgic_its_cmd_handle_inv(d, its, its_cmd);
+        break;
+    case GITS_CMD_INVALL:
+        ret =3D vgic_its_cmd_handle_invall(d, its, its_cmd);
+        break;
+    case GITS_CMD_SYNC:
+        /* we ignore this command: we are in sync all of the time */
+        ret =3D 0;
+        break;
+    default:
+        printk("Unknown GITS command\n");
+        ret =3D -EINVAL;
+        break;
+    }
+    spin_unlock(&its->its_lock);
=20
-    return -ENODEV;
+    return ret;
 }
=20
 #define ITS_CMD_BUFFER_SIZE(baser) ((((baser)&0xff) + 1) << 12)
diff --git a/xen/arch/arm/vgic/vgic.h b/xen/arch/arm/vgic/vgic.h
index a14b519f77..2bcc62432a 100644
--- a/xen/arch/arm/vgic/vgic.h
+++ b/xen/arch/arm/vgic/vgic.h
@@ -29,6 +29,7 @@
 #define IS_VGIC_ADDR_UNDEF(_x)  ((_x) =3D=3D VGIC_ADDR_UNDEF)
=20
 #define INTERRUPT_ID_BITS_SPIS  10
+#define INTERRUPT_ID_BITS_ITS   16
 #define VGIC_PRI_BITS       5
=20
 #define vgic_irq_is_sgi(intid) ((intid) < VGIC_NR_SGIS)
@@ -77,6 +78,7 @@ void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_i=
rq *irq, int lr);
 void vgic_v3_enable(struct vcpu *vcpu);
 int vgic_v3_map_resources(struct domain *d);
 bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, union hsr hsr);
+bool vgic_lpis_enabled(struct vcpu *vcpu);
 unsigned int vgic_v3_init_dist_iodev(struct vgic_io_device *dev);
 int vgic_v3_set_redist_base(struct domain *d, u32 index, u64 addr, u32 cou=
nt);
 int vgic_register_redist_iodev(struct vcpu *vcpu);
@@ -111,6 +113,10 @@ static inline int vgic_v3_set_redist_base(struct domai=
n *d, u32 index, u64 addr,
 {
     return 0;
 }
+static inline bool vgic_lpis_enabled(struct vcpu *vcpu)
+{
+    return false;
+}
 static inline int vgic_register_redist_iodev(struct vcpu *vcpu)
 {
     return 0;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 13:25:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 13:25:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630406.983270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1RVI-0007KX-Iu; Fri, 10 Nov 2023 13:24:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630406.983270; Fri, 10 Nov 2023 13:24: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 1r1RVI-0007KQ-Fs; Fri, 10 Nov 2023 13:24:56 +0000
Received: by outflank-mailman (input) for mailman id 630406;
 Fri, 10 Nov 2023 13:24: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R46-0001y1-DN
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:50 +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 986c3da6-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:43 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIuve025691; Fri, 10 Nov 2023 12:56:29 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9j2g0qjw-8
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:28 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:22 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12: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>
X-Inumbo-ID: 986c3da6-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cwakm3dedQbbCRT58GmfcLpH849mY1mzaFkP6KfSaPEncNut7zMW2V4ZuksjWtd69Hd9VFdjHrDiwpZXfkP6ZYZRtRXEcerG+ZD+W095V4d3mOBHot1GV1AvlCYZWusSFy5HtB0J7xMABzKTiDU3H4c5WcDsml6LlydmFPkP7di3xIwe1feX2W8Lcgbd3cM3B5NGvjEzeyHbmo+eEkuwW36W3luVOa8y46qJyUQHuvQIV/0V/Vcv+s+VH6q5VfBhXQ42n08sVTcM5PVHNY7Gs5velv4IXgt7oAJ5U8gflDhxasnHuccvDzs9ueGELgB2aL1Eq8t4EL8NZpkK8T+4FQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uUBkCvuEESmq7r0a6CekkNPCW4U9CXDKahAfynlOBYo=;
 b=P8lr++2ljXrtIhLYjHVPczJDl8fp8t7Jn1EJMo1IsVi/UFvKIIQPMuWJj9JUK3QEFmYiuoscNZm4p1usKio0wUmGe4DfubKYAX6INDRSPp/ArPqLbZa3mf+/zFTlomDu81YwlK2dptSL6mk4uTRV+FX9cVtP7IdJ9g7jlRpREPiMJHYpvAHaN2MlyLuawu8BLNXGUy0bFzL4vup8u9iCRn9yLbT2NHJFFg1XV5Fe/GzVBil9YW9dv61NGxOnQI6hzRc4oY6/fYFAU8BQY5LvmTnvrhgApY9WBJi5lzJRHZDuaJ5/xVWPm4JiA3ZgHeih7zL+0JZYpA0ajpqsF5B2OQ==
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=uUBkCvuEESmq7r0a6CekkNPCW4U9CXDKahAfynlOBYo=;
 b=lfyTzCkdnjSW77PoVz/xG0Bq6GgGTeyZj0GDK/HD0nq8NLlKY0GihMQVaUWh9GeVlEbVk26R65ll2lmp9SngoNQsDKLPvaKCb9x9LD8SNBjBFLfcX8d/LCrK/f5PS4VAPF+Ly9OcDzh/HrgKjclsusH+blUrQGfJNNemn/Mii/gFBFrqnUKmlKO/3CkvmswWWAxqEhRHsDK+CTiK4TeeAgJEXQCEasOIwhaB6NZr7SnN0Z8Qad3u0vmpt7tPgEejyY84p4H08VisQQOohJrt+UfrFVOH/C3cSONYRk59jlysqDIHqaAClqqPjzVy8O3/zOPT8uXeALii4YHMmMYcxw==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 13/25] arm: new VGIC: Handle ITS related GICv3
 redistributor registers
Thread-Topic: [XEN PATCH v2 13/25] arm: new VGIC: Handle ITS related GICv3
 redistributor registers
Thread-Index: AQHaE9VNjC2fHo/UK0SkGOgI1kkZBQ==
Date: Fri, 10 Nov 2023 12:56:20 +0000
Message-ID: 
 <c20cd7affcf945d7ddc5eed5e5b0e27d0a39cfd7.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: 03841872-a201-4450-46d1-08dbe1ec70b0
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 qcaDAYFB8UI3Ktom6uopoFJFe/m/mVmWUh+T8TSZwwlBU4AkWT3URnA6+5Xehfl6TTbNpn2J3DFbWHGh6iTb9QLi3OLWxH62musjLP8TW0+kzBlsEs6/kzd6637LUCb/PN3cns2oAMKxe9Id/OMrxsTk2J0ZLFPRLciAgbX+uIaTzJbesipYD0UPHfhPkO+gn1MS8P0GhjUrnNNnIsLi3EMMDo0j/dkrSDyPsu6tkWacqwDLRguUvJRZQ1qHGS4innEeG2vjPbG9YXRZRKuLNE3iorHsPGg5ePUIoHV0ZPS5aIFTt+wjsJY7cntQ6buT4ADo1cRO4cN/+ZGFT0h0e2zWh+Rx7dm4uZdG5k/pEDbPDyhLcZFi1LGcWVcyRj/Xhi5wG87xSf4ln0fWnTC652m4zfbLPO0m4sjVgBpMg3odM0saQDb32UedEO+65XMYRooqsT/HmV2rFo9lAL51GpG49HU9rsNY0eYOk07Ws1qkpYk6V5q66ELgl2Sze1qiZdzV4Bedo1ILBREgjiRgbckdmvdveZTTGb+euud/lT9AH4iHJzr0GnIKWzOrTVwKz9zX3n46CuTVi5pVOiVIwJUlc6TEppUpL4CHPH8LXTLLqWHB4rsODmGkE4UkaN/l
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?oREEzXYYGUt5YHyB9VbE1csmxdK6SDAZmdnPed+Fq9okNhBM5Tz6uUUBCn?=
 =?iso-8859-1?Q?HS7X0Cs3DQiWir+9i76WNO65CSGuFXd2RlFld8XBtilc3CHo031qgEaav4?=
 =?iso-8859-1?Q?JMe/VBnf5psk22g1NCgVMSx8lQoxVXJ/0qmNqLPpumOAU/9a1faMkxgbHl?=
 =?iso-8859-1?Q?2Sp1IeagtWtAyePbd4qhAIKvcquik7lMVptaeqcIS+pij7I2g5KBilybro?=
 =?iso-8859-1?Q?hPnWbGYnyN28v45AHoQrf9yqOgR+sRtIHqaYS0DSUPInYwTpj19oXqO5hu?=
 =?iso-8859-1?Q?ZCm7T0dLrceuOWVJPhWXd2opc+ksZornxpTEsMt+pu0OM+tW6k4DWlvIUv?=
 =?iso-8859-1?Q?egTbtKmC53Hbgnc7bkgcWEPS8V3D5HFoVIZxxXn/zvrBJqAe5JNwaHHDDd?=
 =?iso-8859-1?Q?5cMEFYeSZkqMwfXHjopcswFW7aPhP3GfSXbc5EgcTrua0gUCBX0tPpQPFS?=
 =?iso-8859-1?Q?5Jw3Rjh5Ymai5IVi9a/Z1GkiT6rdrLiYLrEJgg2ZVRw/Bm+TzPo/ZOUWBE?=
 =?iso-8859-1?Q?NzSrkDCjOAgrD43HNz8/gJdxg7FshPJJHXQVZKAZVT0fOMUYvO3HvgenKL?=
 =?iso-8859-1?Q?NBsB14emNe8h9ybjztuZUdsKzlHAcwUD5JWKO51QdiUpPEptjCGFH5jCLw?=
 =?iso-8859-1?Q?4dhKNnaTAxt6rwFX0fi+3vNWr1amB16NrvPv49sGap9n31s1SbnTvHp7N0?=
 =?iso-8859-1?Q?kF9AyL9GCtg74eMFxUowQYXiRvIC6wbLSEOt/VAcymdJRAKRW5zrdKg6TF?=
 =?iso-8859-1?Q?T+e12+Yeui4q2n/o9bkuhu4Hs8mJXT/ZzJG6+BrUMJ5HPooe1v2z6Q7+Rk?=
 =?iso-8859-1?Q?jEpZlCSO9dpQ8MfAXLvP1uI+cVwVlJ5oOTYqJZDSupI6XUQr+II5Q+JVfR?=
 =?iso-8859-1?Q?XU7QLTASeO0bSSjQq+XQQmqX1208AFFmGtK1hHmT20007+i1YJIAeOCdRN?=
 =?iso-8859-1?Q?iRCkayUADnlqreLNNNeGhYnf0k3m4kaf2kpo7YwGMO8kR+cZGOCK8H3D4l?=
 =?iso-8859-1?Q?Yljqx7eS6S2nmsRGuD/4/Oqt9bcNbAnmAm1txnNIOD/Jvr8xKtx5u4eBCN?=
 =?iso-8859-1?Q?qBdU/LbZufH9YqpC1TsHXOONTyQyg781UZg7m9ueCO7qYqpkHzozpiCN4J?=
 =?iso-8859-1?Q?AJZgVaTC4O/hHEBVS2RXJMQkpCmXBlQCvz8kjgfgXMkngWkHwCEdmSDTq3?=
 =?iso-8859-1?Q?Fku24Q+gHdz14/0NP9PswsL2Rm9nZwXYuQ4AYqoDq7z2h6kZkntnosYwOW?=
 =?iso-8859-1?Q?8hZwBkxpEyiQv1VX6xZi/ewpgiBVIoXk5gPl7+95VR+19FUKF1cxge7+5C?=
 =?iso-8859-1?Q?b8SkRNpWRnSgOo7yhVbUyw9TGv6r8LOX+vYbcQGnoBpL7p1tDSwlNIfPlQ?=
 =?iso-8859-1?Q?It07wXxh0AezS0+e8TFLRj81lK9HAzgkkkL/cZx0ZWZ5Vs3fnH2tTIfXiK?=
 =?iso-8859-1?Q?T1yMikKjMKECQhIOAqWV1g2RlHJJPbH9DcJpMjr5u9toHfA2Nr5VuuODSk?=
 =?iso-8859-1?Q?CyGjfvznO5IQxMrP1EWtX43dpqTh6kdvGxzZgfssXyJLWjwnbjzgCMmdSV?=
 =?iso-8859-1?Q?I3gU2k87uuK4mg3IhGtuBsx/vvpGPa1Ljo8AaceCjn0CmgBsFNASumv68L?=
 =?iso-8859-1?Q?0D57Fra45PWNnhp9NhZqMGy+wQvzIORPM8k/Gl1NgdIyStbAKeWnMM9A?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 03841872-a201-4450-46d1-08dbe1ec70b0
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:20.4111
 (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: 8K61EN5L2yJmXfYhEy9fx1Y/YGInlxfYqdoSTF5mJmrs1pKtSMZROYe0K8Y/TlXVgWSGwaTe8GKeOnSCzPdaMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-ORIG-GUID: 3DubnSCnFA0Wo9rZ81mLHfH_4Ogv9pIm
X-Proofpoint-GUID: 3DubnSCnFA0Wo9rZ81mLHfH_4Ogv9pIm
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_09,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 mlxlogscore=805
 adultscore=0 spamscore=0 malwarescore=0 suspectscore=0 bulkscore=0
 impostorscore=0 phishscore=0 priorityscore=1501 clxscore=1015
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

In the GICv3 redistributor there are the PENDBASER and PROPBASER
registers which we did not emulate so far, as they only make sense
when having an ITS. In preparation for that emulate those MMIO
accesses by storing the 64-bit data written into it into a variable
which we later read in the ITS emulation.
We also sanitise the registers, making sure RES0 regions are respected
and checking for valid memory attributes.

Based on Linux commit 0aa1de57319c4 by Andre Przywara

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/include/asm/new_vgic.h |   3 +
 xen/arch/arm/vgic/vgic-mmio-v3.c    | 168 +++++++++++++++++++++++++++-
 2 files changed, 169 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/include/asm/new_vgic.h b/xen/arch/arm/include/asm=
/new_vgic.h
index 9eafab45ff..b037b6cf61 100644
--- a/xen/arch/arm/include/asm/new_vgic.h
+++ b/xen/arch/arm/include/asm/new_vgic.h
@@ -199,6 +199,9 @@ struct vgic_cpu {
=20
     /* Cache guest interrupt ID bits */
     uint32_t num_id_bits;
+
+    /* GICR_CTLR.{ENABLE_LPIS,RWP} */
+    atomic_t ctlr;
 };
=20
 static inline paddr_t vgic_cpu_base(const struct vgic_dist *vgic)
diff --git a/xen/arch/arm/vgic/vgic-mmio-v3.c b/xen/arch/arm/vgic/vgic-mmio=
-v3.c
index 19ebf723ee..2fb44cfe6a 100644
--- a/xen/arch/arm/vgic/vgic-mmio-v3.c
+++ b/xen/arch/arm/vgic/vgic-mmio-v3.c
@@ -42,6 +42,18 @@ unsigned long extract_bytes(uint64_t data, unsigned int =
offset,
     return (data >> (offset * 8)) & GENMASK_ULL(num * 8 - 1, 0);
 }
=20
+uint64_t update_64bit_reg(u64 reg, unsigned int offset, unsigned int len,
+                          unsigned long val)
+{
+    int lower =3D (offset & 4) * 8;
+    int upper =3D lower + 8 * len - 1;
+
+    reg &=3D ~GENMASK_ULL(upper, lower);
+    val &=3D GENMASK_ULL(len * 8 - 1, 0);
+
+    return reg | ((u64)val << lower);
+}
+
 static int match_mpidr(u64 sgi_aff, u16 sgi_cpu_mask, struct vcpu *vcpu)
 {
     unsigned long affinity;
@@ -369,6 +381,158 @@ static unsigned long vgic_mmio_read_v3_idregs(struct =
vcpu *vcpu, paddr_t addr,
     return 0;
 }
=20
+bool vgic_lpis_enabled(struct vcpu *vcpu)
+{
+    struct vgic_cpu *vgic_cpu =3D &vcpu->arch.vgic;
+
+    return atomic_read(&vgic_cpu->ctlr) =3D=3D GICR_CTLR_ENABLE_LPIS;
+}
+
+/* We want to avoid outer shareable. */
+u64 vgic_sanitise_shareability(u64 field)
+{
+    switch ( field )
+    {
+    case GIC_BASER_OuterShareable:
+        return GIC_BASER_InnerShareable;
+    default:
+        return field;
+    }
+}
+
+/* Avoid any inner non-cacheable mapping. */
+u64 vgic_sanitise_inner_cacheability(u64 field)
+{
+    switch ( field )
+    {
+    case GIC_BASER_CACHE_nCnB:
+    case GIC_BASER_CACHE_nC:
+        return GIC_BASER_CACHE_RaWb;
+    default:
+        return field;
+    }
+}
+
+/* Non-cacheable or same-as-inner are OK. */
+u64 vgic_sanitise_outer_cacheability(u64 field)
+{
+    switch ( field )
+    {
+    case GIC_BASER_CACHE_SameAsInner:
+    case GIC_BASER_CACHE_nC:
+        return field;
+    default:
+        return GIC_BASER_CACHE_SameAsInner;
+    }
+}
+
+u64 vgic_sanitise_field(u64 reg, u64 field_mask, int field_shift,
+                        u64 (*sanitise_fn)(u64))
+{
+    u64 field =3D (reg & field_mask) >> field_shift;
+
+    field     =3D sanitise_fn(field) << field_shift;
+    return (reg & ~field_mask) | field;
+}
+
+#define PROPBASER_RES0_MASK                                               =
     \
+    (GENMASK_ULL(63, 59) | GENMASK_ULL(55, 52) | GENMASK_ULL(6, 5))
+#define PENDBASER_RES0_MASK                                               =
     \
+    (BIT(63, ULL) | GENMASK_ULL(61, 59) | GENMASK_ULL(55, 52) |           =
     \
+     GENMASK_ULL(15, 12) | GENMASK_ULL(6, 0))
+
+static u64 vgic_sanitise_pendbaser(u64 reg)
+{
+    reg =3D vgic_sanitise_field(reg, GICR_PENDBASER_SHAREABILITY_MASK,
+                              GICR_PENDBASER_SHAREABILITY_SHIFT,
+                              vgic_sanitise_shareability);
+    reg =3D vgic_sanitise_field(reg, GICR_PENDBASER_INNER_CACHEABILITY_MAS=
K,
+                              GICR_PENDBASER_INNER_CACHEABILITY_SHIFT,
+                              vgic_sanitise_inner_cacheability);
+    reg =3D vgic_sanitise_field(reg, GICR_PENDBASER_OUTER_CACHEABILITY_MAS=
K,
+                              GICR_PENDBASER_OUTER_CACHEABILITY_SHIFT,
+                              vgic_sanitise_outer_cacheability);
+
+    reg &=3D ~PENDBASER_RES0_MASK;
+
+    return reg;
+}
+
+static u64 vgic_sanitise_propbaser(u64 reg)
+{
+    reg =3D vgic_sanitise_field(reg, GICR_PROPBASER_SHAREABILITY_MASK,
+                              GICR_PROPBASER_SHAREABILITY_SHIFT,
+                              vgic_sanitise_shareability);
+    reg =3D vgic_sanitise_field(reg, GICR_PROPBASER_INNER_CACHEABILITY_MAS=
K,
+                              GICR_PROPBASER_INNER_CACHEABILITY_SHIFT,
+                              vgic_sanitise_inner_cacheability);
+    reg =3D vgic_sanitise_field(reg, GICR_PROPBASER_OUTER_CACHEABILITY_MAS=
K,
+                              GICR_PROPBASER_OUTER_CACHEABILITY_SHIFT,
+                              vgic_sanitise_outer_cacheability);
+
+    reg &=3D ~PROPBASER_RES0_MASK;
+    return reg;
+}
+
+static unsigned long vgic_mmio_read_propbase(struct vcpu *vcpu, paddr_t ad=
dr,
+                                             unsigned int len)
+{
+    struct vgic_dist *dist =3D &vcpu->domain->arch.vgic;
+
+    return extract_bytes(dist->propbaser, addr & 7, len);
+}
+
+static void vgic_mmio_write_propbase(struct vcpu *vcpu, paddr_t addr,
+                                     unsigned int len, unsigned long val)
+{
+    struct vgic_dist *dist =3D &vcpu->domain->arch.vgic;
+    u64 old_propbaser, propbaser;
+
+    /* Storing a value with LPIs already enabled is undefined */
+    if ( vgic_lpis_enabled(vcpu) )
+        return;
+
+    do
+    {
+        old_propbaser =3D dist->propbaser;
+        propbaser     =3D old_propbaser;
+        propbaser     =3D update_64bit_reg(propbaser, addr & 4, len, val);
+        propbaser     =3D vgic_sanitise_propbaser(propbaser);
+    } while ( cmpxchg64(&dist->propbaser, old_propbaser, propbaser) !=3D
+              old_propbaser );
+}
+
+static unsigned long vgic_mmio_read_pendbase(struct vcpu *vcpu, paddr_t ad=
dr,
+                                             unsigned int len)
+{
+    struct vgic_cpu *vgic_cpu =3D &vcpu->arch.vgic;
+    u64 value                 =3D vgic_cpu->pendbaser;
+
+    value &=3D ~GICR_PENDBASER_PTZ;
+
+    return extract_bytes(value, addr & 7, len);
+}
+
+static void vgic_mmio_write_pendbase(struct vcpu *vcpu, paddr_t addr,
+                                     unsigned int len, unsigned long val)
+{
+    struct vgic_cpu *vgic_cpu =3D &vcpu->arch.vgic;
+    u64 old_pendbaser, pendbaser;
+
+    /* Storing a value with LPIs already enabled is undefined */
+    if ( vgic_lpis_enabled(vcpu) )
+        return;
+
+    do
+    {
+        old_pendbaser =3D vgic_cpu->pendbaser;
+        pendbaser     =3D old_pendbaser;
+        pendbaser     =3D update_64bit_reg(pendbaser, addr & 4, len, val);
+        pendbaser     =3D vgic_sanitise_pendbaser(pendbaser);
+    } while ( cmpxchg64(&vgic_cpu->pendbaser, old_pendbaser, pendbaser) !=
=3D
+              old_pendbaser );
+}
+
 static const struct vgic_register_region vgic_v3_dist_registers[] =3D {
     REGISTER_DESC_WITH_LENGTH(GICD_CTLR,
         vgic_mmio_read_v3_misc, vgic_mmio_write_v3_misc,
@@ -435,10 +599,10 @@ static const struct vgic_register_region vgic_v3_rd_r=
egisters[] =3D {
         vgic_mmio_read_raz, vgic_mmio_write_wi, 4,
         VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_PROPBASER,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        vgic_mmio_read_propbase, vgic_mmio_write_propbase, 8,
         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_PENDBASER,
-        vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
+        vgic_mmio_read_pendbase, vgic_mmio_write_pendbase, 8,
         VGIC_ACCESS_64bit | VGIC_ACCESS_32bit),
     REGISTER_DESC_WITH_LENGTH(GICR_INVLPIR,
         vgic_mmio_read_raz, vgic_mmio_write_wi, 8,
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 13:25:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 13:25:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630409.983280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1RWF-0008VL-Un; Fri, 10 Nov 2023 13:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630409.983280; Fri, 10 Nov 2023 13: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 1r1RWF-0008VE-RY; Fri, 10 Nov 2023 13:25:55 +0000
Received: by outflank-mailman (input) for mailman id 630409;
 Fri, 10 Nov 2023 13:25: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=sssJ=GX=epam.com=prvs=567869e99b=mykyta_poturai@srs-se1.protection.inumbo.net>)
 id 1r1R43-0001y1-D3
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 12:56:47 +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 97490aac-7fc8-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 13:56:41 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AACIeeg019156; Fri, 10 Nov 2023 12:56:27 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkyram6-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 12:56:27 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 (2603:10a6:102:30d::12) by DB3PR0302MB9063.eurprd03.prod.outlook.com
 (2603:10a6:10:43d::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 12:56:21 +0000
Received: from PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0]) by PAVPR03MB10102.eurprd03.prod.outlook.com
 ([fe80::f172:7877:386b:8dc0%6]) with mapi id 15.20.6954.029; Fri, 10 Nov 2023
 12:56: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: 97490aac-7fc8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i1frpE2z4v6SX/MgVMj4nB6SmsMeVg6hrI6qpEPqseyifEwCaviV4mMw3/5FCD4tr780NbnHcAts7nM03HQGxfUXTY8ZRVt0p/lxK2pZ/+HYZNaa2LxZvV5m2+LnUayyx4C5MbzFOAThZSarGukIjGs0C6pjgBM6WmCdVWk1cMhYkjYC4706KV44yKhCUnolK6ZZr01dO0bUEV9xw/+An1doX7Jgm1qZbV8nCjFFHwyHreC4bEOzmxqO5hYoUwuviAth2Bu+aj4fSmyTdSfLgHVJsEfsRv4JTmpxLavIF/RHDOz3DzYc2Xiju9bNt5j3/pm1VHR2WABOhp3YBJo/Pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OrJr290kqOYWcHNBNqtriz0Bdb13RzHLmBg6eDZlzlM=;
 b=dV+Mj8IOE42jVaEK+ZOYfFoKSTMmOy8jeDgakR9PBYQ386+CALJQbbPk5UlYpOoOKZ5y8FgEbA+p3UbPMr9VqHfG/3JS3DmRXKRPUxR53auW1gzpQqHo+SSU0INKGNvBHMJRBVz3ntScdE8js6Sn36IHrGIc2HM2+FQ6otU8PJvSf8N930BWllcqWS/GapkFrqDW6rYpNSQAPY5R9C9e+GhHDYqcvn4x/YJ4cnYCGXbsDgbqZk9d9sLKlm01H3RQ4SfHfX2wIYOVLWRdLRiMhqytOtTCRtA2aCuodptdWTT5TtxpaORfIDXiMrT3RXV8yrzEIFmUtf0kzK9WmQjOdQ==
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=OrJr290kqOYWcHNBNqtriz0Bdb13RzHLmBg6eDZlzlM=;
 b=nZHN8yzEfuiQ8wxfnsfCDLe3q5LJ7yVODOHD7/PDofSr2JxRpP5IaRRFxG6OilcdQKvHqNi2KL0rUjFGkhyfUTNYONQYs9LbUuau8+iDp55bK2oaLx4bzZZr/hmXiodv9D55hwvwsihEuuEr9QmwNzFn5QSAg0upDl25hGbPM9iZbEUMK57Opk60XEz2wmN6CjDBUUYW2HgTODXHjYL6GW5YK7fzVw7AZpRmp+zrnzk54byfZGwdM8rDQ1vKVFxWQq8LBTLoSXN5D5VVv7RQ8xQTBlxdsqv0isOp0VdKibpn18qQBIv49hCu8FGe46Pb1WqOKOIEZMidPZe5SEYO2w==
From: Mykyta Poturai <Mykyta_Poturai@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Mykyta Poturai <Mykyta_Poturai@epam.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: [XEN PATCH v2 10/25] arm: new VGIC: Add vgic_v3_enable
Thread-Topic: [XEN PATCH v2 10/25] arm: new VGIC: Add vgic_v3_enable
Thread-Index: AQHaE9VMc/Cvb+GfokOTI4WmaNuX9Q==
Date: Fri, 10 Nov 2023 12:56:19 +0000
Message-ID: 
 <60813d95cee1619888864a76cf398b8b41c854b4.1699618395.git.mykyta_poturai@epam.com>
References: <cover.1699618395.git.mykyta_poturai@epam.com>
In-Reply-To: <cover.1699618395.git.mykyta_poturai@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PAVPR03MB10102:EE_|DB3PR0302MB9063:EE_
x-ms-office365-filtering-correlation-id: 9e2187c0-c9b3-4ced-b127-08dbe1ec6ff8
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 RTiK9ZqikpNPAAr+EZfZq/7ui6aq0q1Kfp8yt6KJa9yhCxXQK4E4temDRzDLEasefXxmk2rkWCCJe5HksrSc0b3N6SGHQ6xh3SbyE1omk6NE4OHD9UH1aa45B6jvdDJJEiM2NYgAmILvLW57MsqREua/2Bshio/K2jfxQZTlUl95y/ow2lRyCGczcBJ6kPpW6EwbCuoZOBuCvkMLk46qZmbzkBB7L4FlG4bDIwL473xb+4SbTqcmeOnQLTW1Tnyjtf1jGEtrouThAATdxBq5ktey9skAeGJnwmnvPesd+AkMi4nS9dNuxPGBwYvqk/E1OPAUT3txvcbmIKfuPmhVaqgaqWXMcs7UiheX0np05xxeIFpjFpRbUKf6FUKGlg8eeOvZj3zBBPj87iKLJCMTg2+p+XX0KHZxoqV8+/D4/qMQbCFV+q5S0sG4al7S3iCdffIr5aDOSTH2U2q+CeQrFe3RU/Vzjmg686bOxXq21IHJgSQwoAZS9oqAPg5Nb/iLjnmXgB1RPlqHKGcZdt0tYwitpqiLgDwFcy0QzsIbXG+3kod8tF+rLRkznyYrEHMSVazVhGF0rj2Jv78rXVuUpJFEx19CrhkDXNxpieGZ3E3ERHcf7Xn4Z7zPujiZoZAv
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAVPR03MB10102.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66556008)(86362001)(6512007)(6506007)(66946007)(66446008)(36756003)(66476007)(8936002)(76116006)(91956017)(8676002)(71200400001)(38100700002)(4326008)(26005)(5660300002)(6916009)(2616005)(6486002)(64756008)(316002)(478600001)(54906003)(2906002)(122000001)(41300700001)(83380400001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?57UktyYXTGFPt2O38mubjexz85OKEisTKqMCz5yaY/YnyJC9fl+wbsuvAp?=
 =?iso-8859-1?Q?5ExmxgEhoQQXJ5NRCLlYyGcWO+HftumZ86v+bYjM91avs1UQleqdGhMssB?=
 =?iso-8859-1?Q?EuaMta38SsJzyE1EEm+68+s3T1lf/OK93c/bxMl+//xYQiAbDGXt+cGJHW?=
 =?iso-8859-1?Q?eXj31MGfqSBtyV56zEB14RcJVCEGnhpdJ2TRyEoIrEPl3TrfGgrSmJIOeB?=
 =?iso-8859-1?Q?9LFYG7gMHztzDtgpwFl3D4wnzemLyXL7gDlK1eazkSTnRR9QnHnJw2K8wF?=
 =?iso-8859-1?Q?5J3veDV1f1pFneAbBH8/O3kzswzjZlEn36Bauuk7mxTPBHMbSkGecKEAT0?=
 =?iso-8859-1?Q?uOkgsysKWKbJxHewChOJPsl2VG29R5sK+/k4lJLxdrNkWPm6HCsBqlo5N2?=
 =?iso-8859-1?Q?hMACHsvmIH64MnsajGG5MzmrRnPgED+Ar8IoXzgC+1qKeNur/oU63bh+p3?=
 =?iso-8859-1?Q?dUtkj1mxpoRqS57WftvAvslMJfuCftx2RWZsJ8JtffT9lGb3GDn+UP4Cpa?=
 =?iso-8859-1?Q?tXi2WjI7w1d8pME9Ou2AXvhCeQdH9bKhgCmklbuFJi75sgxLKaVOmdUOJ1?=
 =?iso-8859-1?Q?EN9gKRVVPSdsw+1N0vOr4AgP/d9LCZ6mQflYD+40tPwZ/tRHHLNJf12lmI?=
 =?iso-8859-1?Q?35ijFsWc/auEXC9+y2trRI5u41PZEhole4z+J43QJ3cXKjZiVuRjlyCgYT?=
 =?iso-8859-1?Q?ZjfKPfGyj2l1FR7rrTR3y1rN134rhxp2F+DAGkKH3aOh9On/n0BEPCpjO6?=
 =?iso-8859-1?Q?rWmn6kqjnopnvMR8E0gwcFt0dYa5k2WR+ZoPn5hm1hhHulDUVKW/6TxX1v?=
 =?iso-8859-1?Q?K9lPcLHYurvMB673a4JaGTbYUjBfg9qqTPmeOUnyg/damSLojGBiJsfWRS?=
 =?iso-8859-1?Q?0DD46fDftB078RXQNSR/foPgOuKexHNt1XbAAvmSpLeSANg9hE8C/lxHln?=
 =?iso-8859-1?Q?SW71ztjvl4lqkl2+sffRG7n2v5N9j7TdkJkx/88sxMhp/lqEuGHtQ1+ALs?=
 =?iso-8859-1?Q?mQyCpp76HT1zDOysuE8p2ObsuhqgSGaiHpZpD+Ch2gcCGln+x0Tv7WiLs2?=
 =?iso-8859-1?Q?U4eleNYfWEPDBZteZMz/QYghLkYybdLNKm7ZHmCPa5+mS1h3zkz6nFpQcd?=
 =?iso-8859-1?Q?dZrdELnVEmUdz4BV48XbR6Q5MDSgK6PGDQ5S1iqTfBbt6yT+7ul1HrGnaK?=
 =?iso-8859-1?Q?rbB3sizupjWXQxqNdjSvJsZiT++JRQyHXqaAgzODDABCiN6WnebeN5pHHo?=
 =?iso-8859-1?Q?FaBDNg02Cr2r/vCJz1n8ioM/HuuWV3kWAe5Ugdz0i9d92F33/fx6leEujj?=
 =?iso-8859-1?Q?ZqVsdZxOzCHH1neV7Q9dW27yL0sFpi0rTAMC0YzdqdZmAXf4u/B/+sHvG+?=
 =?iso-8859-1?Q?RSHQRXC08WlTX8aav3Of14UhDJFgORCCvKVU9DUo8WUk2umri2R+ZY5nXl?=
 =?iso-8859-1?Q?Yh5nRiZo2hhQY8pI7snsSk+cbeorHqnMLM37Sn5Mt00t0JjAE5/EcccTXb?=
 =?iso-8859-1?Q?hAx4HfoT1WumQGQCY3iE3TL/WUXbfrt3HO0B4MTxsbo8b5oiYkbZkDJN2s?=
 =?iso-8859-1?Q?PrSLQ1nwLk+PEBvHfrUwMhggAIZpV2LbR967wgHi4i14xjKiFYNG3zg35f?=
 =?iso-8859-1?Q?VEsLJ3Cx5JLaXNwdetNGjaRkNOAXAyOZesNV5J0LHM0nNZW/iTfFVBIw?=
 =?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: PAVPR03MB10102.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9e2187c0-c9b3-4ced-b127-08dbe1ec6ff8
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 12:56:19.3505
 (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: v5LhBS10ioGB4f2yjY7iko1aL0RINlU61PVVjEZBjRVlpkdmpqEDJDI0OPEzhJKPIIn8wnz98m0VPlVPBxMURg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB9063
X-Proofpoint-GUID: toLST6ZKplUglxq6PFeRgOIJAWB0HxxG
X-Proofpoint-ORIG-GUID: toLST6ZKplUglxq6PFeRgOIJAWB0HxxG
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_08,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=657 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100106

Enable the VGIC operation by properly initialising the registers
in the hypervisor GIC interface.

This is based on Linux commit f7b6985cc3d0f by Eric Auger

Signed-off-by: Mykyta Poturai <mykyta_poturai@epam.com>
---
 xen/arch/arm/vgic/vgic-init.c | 5 +++++
 xen/arch/arm/vgic/vgic-v3.c   | 6 ++++++
 xen/arch/arm/vgic/vgic.h      | 4 ++++
 3 files changed, 15 insertions(+)

diff --git a/xen/arch/arm/vgic/vgic-init.c b/xen/arch/arm/vgic/vgic-init.c
index ca13cf385c..96f6669d38 100644
--- a/xen/arch/arm/vgic/vgic-init.c
+++ b/xen/arch/arm/vgic/vgic-init.c
@@ -209,9 +209,14 @@ int vcpu_vgic_init(struct vcpu *v)
     vgic_vcpu_early_init(v);
=20
     if ( gic_hw_version() =3D=3D GIC_V2 )
+    {
         vgic_v2_enable(v);
+    }
     else
+    {
         vgic_register_redist_iodev(v);
+        vgic_v3_enable(v);
+    }
=20
     return ret;
 }
diff --git a/xen/arch/arm/vgic/vgic-v3.c b/xen/arch/arm/vgic/vgic-v3.c
index 470bb63147..682d57b476 100644
--- a/xen/arch/arm/vgic/vgic-v3.c
+++ b/xen/arch/arm/vgic/vgic-v3.c
@@ -244,6 +244,12 @@ unsigned int vgic_v3_max_rdist_count(const struct doma=
in *d)
                                      : GUEST_GICV3_RDIST_REGIONS;
 }
=20
+void vgic_v3_enable(struct vcpu *vcpu)
+{
+    /* Get the show on the road... */
+    gic_hw_ops->update_hcr_status(GICH_HCR_EN, true);
+}
+
 int vgic_v3_map_resources(struct domain *d)
 {
     int rdist_count, i, ret;
diff --git a/xen/arch/arm/vgic/vgic.h b/xen/arch/arm/vgic/vgic.h
index 7dbadf7501..791c91ebb3 100644
--- a/xen/arch/arm/vgic/vgic.h
+++ b/xen/arch/arm/vgic/vgic.h
@@ -74,6 +74,7 @@ int vgic_register_dist_iodev(struct domain *d, gfn_t dist=
_base_fn,
 #ifdef CONFIG_GICV3
 void vgic_v3_fold_lr_state(struct vcpu *vcpu);
 void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq *irq, int lr);
+void vgic_v3_enable(struct vcpu *vcpu);
 int vgic_v3_map_resources(struct domain *d);
 bool vgic_v3_emulate_reg(struct cpu_user_regs *regs, union hsr hsr);
 unsigned int vgic_v3_init_dist_iodev(struct vgic_io_device *dev);
@@ -86,6 +87,9 @@ static inline void vgic_v3_fold_lr_state(struct vcpu *vcp=
u)
 static inline void vgic_v3_populate_lr(struct vcpu *vcpu, struct vgic_irq =
*irq, int lr)
 {
 }
+static inline void vgic_v3_enable(struct vcpu *vcpu)
+{
+}
 static inline int vgic_v3_map_resources(struct domain *d)
 {
     return 0;
--=20
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:08:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:08:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630466.983310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U3S-0004dN-N8; Fri, 10 Nov 2023 16:08:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630466.983310; Fri, 10 Nov 2023 16:08: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 1r1U3S-0004dG-KK; Fri, 10 Nov 2023 16:08:22 +0000
Received: by outflank-mailman (input) for mailman id 630466;
 Fri, 10 Nov 2023 16:08: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U3R-0004cS-KF
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08:21 +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 5c9d8f7d-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:08:18 +0100 (CET)
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 3ACF71F8BD;
 Fri, 10 Nov 2023 16:08: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 12AF313398;
 Fri, 10 Nov 2023 16:08:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id bhAxA3JVTmVtCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:08: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: 5c9d8f7d-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632498; 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=W9YiMiAuot0hCz4ZuuowgGxQE+TXmWYLhxPrRiHeKuQ=;
	b=EPj4HJ6X73gfTD1pbbWQ0uoOFClsHdDJ057LJNc4jIzbACN+Jp27IXw7c7k7qsa/XJTdKB
	aL38vczwvHIuqo1VnUtnFcvFkeNb1oTsdlEszpwGhc83HCt00a1Y8xldTuIszF+mR2ESv5
	4KVaQwDp0iCD7h1lJ5DVRAHb7FmvU6g=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 02/29] tools: add a new xen logging daemon
Date: Fri, 10 Nov 2023 17:07:37 +0100
Message-Id: <20231110160804.29021-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add "xen-9pfsd", a new logging daemon meant to support infrastructure
domains (e.g. xenstore-stubdom) to access files in dom0.

For now only add the code needed for starting the daemon and
registering it with Xenstore via a new "libxl/xen-9pfs/state" node by
writing the "running" state to it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- rename from xenlogd to xen-9pfsd (Andrew Cooper)
- use a backend domain local Xenstore node (Jason Andryuk)
- use "volatile" for stop_me (Andrew Cooper)
---
 tools/Makefile              |   1 +
 tools/xen-9pfsd/.gitignore  |   1 +
 tools/xen-9pfsd/Makefile    |  38 ++++++++++
 tools/xen-9pfsd/xen-9pfsd.c | 145 ++++++++++++++++++++++++++++++++++++
 4 files changed, 185 insertions(+)
 create mode 100644 tools/xen-9pfsd/.gitignore
 create mode 100644 tools/xen-9pfsd/Makefile
 create mode 100644 tools/xen-9pfsd/xen-9pfsd.c

diff --git a/tools/Makefile b/tools/Makefile
index 3a510663a0..f8faa3a902 100644
--- a/tools/Makefile
+++ b/tools/Makefile
@@ -32,6 +32,7 @@ SUBDIRS-y += xenpmd
 SUBDIRS-$(CONFIG_GOLANG) += golang
 SUBDIRS-y += xl
 SUBDIRS-y += helpers
+SUBDIRS-y += xen-9pfsd
 SUBDIRS-$(CONFIG_X86) += xenpaging
 SUBDIRS-$(CONFIG_X86) += debugger
 SUBDIRS-$(CONFIG_TESTS) += tests
diff --git a/tools/xen-9pfsd/.gitignore b/tools/xen-9pfsd/.gitignore
new file mode 100644
index 0000000000..d0c2d223ef
--- /dev/null
+++ b/tools/xen-9pfsd/.gitignore
@@ -0,0 +1 @@
+/xen-9pfsd
diff --git a/tools/xen-9pfsd/Makefile b/tools/xen-9pfsd/Makefile
new file mode 100644
index 0000000000..4e35202f08
--- /dev/null
+++ b/tools/xen-9pfsd/Makefile
@@ -0,0 +1,38 @@
+#
+# tools/xen-9pfsd/Makefile
+#
+
+XEN_ROOT = $(CURDIR)/../..
+include $(XEN_ROOT)/tools/Rules.mk
+
+CFLAGS += $(PTHREAD_CFLAGS)
+LDFLAGS += $(PTHREAD_LDFLAGS)
+
+TARGETS := xen-9pfsd
+
+XEN-9PFSD_OBJS = xen-9pfsd.o
+$(XEN-9PFSD_OBJS): CFLAGS += $(CFLAGS_libxenstore)
+$(XEN-9PFSD_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
+$(XEN-9PFSD_OBJS): CFLAGS += $(CFLAGS_libxengnttab)
+xen-9pfsd: LDLIBS += $(call xenlibs-ldlibs,store evtchn gnttab)
+
+.PHONY: all
+all: $(TARGETS)
+
+xen-9pfsd: $(XEN-9PFSD_OBJS)
+	$(CC) $(LDFLAGS) -o $@ $(XEN-9PFSD_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
+
+.PHONY: install
+install: all
+	$(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN)
+	for i in $(TARGETS); do $(INSTALL_PROG) $$i $(DESTDIR)$(LIBEXEC_BIN); done
+
+.PHONY: uninstall
+uninstall:
+	for i in $(TARGETS); do rm -f $(DESTDIR)$(LIBEXEC_BIN)/$$i; done
+
+.PHONY: clean
+clean:
+	$(RM) *.o $(TARGETS) $(DEPS_RM)
+
+distclean: clean
diff --git a/tools/xen-9pfsd/xen-9pfsd.c b/tools/xen-9pfsd/xen-9pfsd.c
new file mode 100644
index 0000000000..c365b35fe5
--- /dev/null
+++ b/tools/xen-9pfsd/xen-9pfsd.c
@@ -0,0 +1,145 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+/*
+ * xen-9pfsd - Xen 9pfs daemon
+ *
+ * Copyright (C) 2023 Juergen Gross <jgross@suse.com>
+ *
+ * Daemon to enable guests to access a directory of the dom0 file system.
+ * Access is made via the 9pfs protocol (xen-9pfsd acts as a PV 9pfs backend).
+ *
+ * Usage: xen-9pfsd
+ *
+ * xen-9pfsd does NOT support writing any links (neither soft links nor hard
+ * links), and it is accepting only canonicalized file paths in order to
+ * avoid the possibility to "escape" from the guest specific directory.
+ *
+ * The backend device string is "xen_9pfs", the tag used for mounting the
+ * 9pfs device is "Xen".
+ *
+ * As an additional security measure the maximum file space used by the guest
+ * can be limited by the backend Xenstore node "max-size" specifying the size
+ * in MBytes. This size includes the size of the root directory of the guest.
+ */
+
+#include <err.h>
+#include <errno.h>
+#include <signal.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <syslog.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <xenevtchn.h>
+#include <xengnttab.h>
+#include <xenstore.h>
+
+static volatile bool stop_me;
+static bool daemon_running;
+static struct xs_handle *xs;
+static xengnttab_handle *xg;
+static xenevtchn_handle *xe;
+
+static void handle_stop(int sig)
+{
+    stop_me = true;
+}
+
+static void close_all(void)
+{
+    if ( daemon_running )
+        xs_rm(xs, XBT_NULL, "libxl/xen-9pfs");
+    if ( xe )
+        xenevtchn_close(xe);
+    if ( xg )
+        xengnttab_close(xg);
+    if ( xs )
+        xs_close(xs);
+    closelog();
+}
+
+static void do_err(const char *msg)
+{
+    syslog(LOG_ALERT, "%s, errno = %d", msg, errno);
+    close_all();
+    exit(1);
+}
+
+static void xen_connect(void)
+{
+    xs_transaction_t t;
+    char *val;
+    unsigned int len;
+
+    xs = xs_open(0);
+    if ( xs == NULL )
+        do_err("xs_open() failed");
+
+    xg = xengnttab_open(NULL, 0);
+    if ( xg == NULL )
+        do_err("xengnttab_open() failed");
+
+    xe = xenevtchn_open(NULL, 0);
+    if ( xe == NULL )
+        do_err("xenevtchn_open() failed");
+
+    while ( true )
+    {
+        t = xs_transaction_start(xs);
+        if ( t == XBT_NULL )
+            do_err("xs_transaction_start() failed");
+
+        val = xs_read(xs, t, "libxl/xen-9pfs/state", &len);
+        if ( val )
+        {
+            free(val);
+            xs_transaction_end(xs, t, true);
+            do_err("daemon already running");
+        }
+
+        if ( !xs_write(xs, t, "libxl/xen-9pfs/state", "running",
+                       strlen("running")) )
+        {
+            xs_transaction_end(xs, t, true);
+            do_err("xs_write() failed writing state");
+        }
+
+        if ( xs_transaction_end(xs, t, false) )
+            break;
+        if ( errno != EAGAIN )
+            do_err("xs_transaction_end() failed");
+    }
+
+    daemon_running = true;
+}
+
+int main(int argc, char *argv[])
+{
+    struct sigaction act = { .sa_handler = handle_stop, };
+    int syslog_mask = LOG_MASK(LOG_WARNING) | LOG_MASK(LOG_ERR) |
+                      LOG_MASK(LOG_CRIT) | LOG_MASK(LOG_ALERT) |
+                      LOG_MASK(LOG_EMERG);
+
+    umask(027);
+    if ( getenv("XEN_9PFSD_VERBOSE") )
+        syslog_mask |= LOG_MASK(LOG_NOTICE) | LOG_MASK(LOG_INFO);
+    openlog("xen-9pfsd", LOG_CONS, LOG_DAEMON);
+    setlogmask(syslog_mask);
+
+    sigemptyset(&act.sa_mask);
+    sigaction(SIGHUP, &act, NULL);
+
+    xen_connect();
+
+    while ( !stop_me )
+    {
+        sleep(60);
+    }
+
+    close_all();
+
+    return 0;
+}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:08:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:08:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630464.983290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U3N-00048Z-9E; Fri, 10 Nov 2023 16:08:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630464.983290; Fri, 10 Nov 2023 16:08: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 1r1U3N-00048S-63; Fri, 10 Nov 2023 16:08:17 +0000
Received: by outflank-mailman (input) for mailman id 630464;
 Fri, 10 Nov 2023 16:08: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U3M-00048H-F3
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08: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 586a9784-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:08:11 +0100 (CET)
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 24575219B5;
 Fri, 10 Nov 2023 16:08: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 E2C8F13398;
 Fri, 10 Nov 2023 16:08:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id moMDNmZVTmVPCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16: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: 586a9784-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632487; 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=Oy6p5mHKldYOArZoGEoFZdgZCp4/yrE2J+vFUsp0epM=;
	b=hMuAXtTyaKZlOUCppPhgnS07yfb0wG0YpCY15a4d01bDOK3PaDf/+PNYYM4rZD8IRTBQcl
	Dl2z819wEc6jeAhiV8CTKq/pfd52HeuqVCbOew4Kk5xZ3qCuzz2h+tEF2I42/E2x8F3mio
	KJ73bwp7JJwKdi9AhFebWXy1Oku4374=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH v2 00/29] tools: enable xenstore-stubdom to use 9pfs
Date: Fri, 10 Nov 2023 17:07:35 +0100
Message-Id: <20231110160804.29021-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series is adding 9pfs support to Xenstore-stubdom, enabling it
to do logging to a dom0 directory.

This is a prerequisite for the final goal to add live update support
to Xenstore-stubdom, as it enables the stubdom to store its state in
a dom0 file.

The 9pfs backend is a new daemon written from scratch. Using a
dedicated 9pfs daemon has several advantages:

- it is using much less resources than a full blown qemu process
- it can serve multiple guests (the idea is to use it for other
  infrastructure domains, like qemu-stubdom or driver domains, too)
- it is designed to support several security enhancements, like
  limiting the number of files for a guest, or limiting the allocated
  file system space
- it doesn't support file links (neither hard nor soft links) or
  referencing parent directories via "..", minimizing the risk that
  a guest can "escape" from its home directory

Note that for now the daemon only contains the minimal needed
functionality to do logging from Xenstore-stubdom. I didn't want to
add all the 9pfs commands and security add-ons in the beginning, in
order to avoid needless efforts in case the idea of the daemon is
being rejected.

Note that the series can only be committed after the related Mini-OS
series [1] has gone in.

[1]: https://lists.xen.org/archives/html/xen-devel/2023-11/threads.html#00639

Changes in V2:
- support of multiple rings per device
- xenlogd->xen-9pfsd rename
- addressed review comments
- fixed some bugs

Juergen Gross (29):
  xen/public: add some more 9pfs xenstore paths
  tools: add a new xen logging daemon
  tools/xenlogd: connect to frontend
  tools/xenlogd: add transport layer
  tools/xenlogd: add 9pfs response generation support
  tools/xenlogd: add 9pfs version request support
  tools/xenlogd: add 9pfs attach request support
  tools/xenlogd: add 9pfs walk request support
  tools/xenlogd: add 9pfs open request support
  tools/xenlogd: add 9pfs clunk request support
  tools/xenlogd: add 9pfs create request support
  tools/xenlogd: add 9pfs stat request support
  tools/xenlogd: add 9pfs write request support
  tools/xenlogd: add 9pfs read request support
  tools/libs/light: add backend type for 9pfs PV devices
  tools/xl: support new 9pfs backend xen-9pfsd
  tools/helpers: allocate xenstore event channel for xenstore stubdom
  tools/xenstored: rename xenbus_evtchn()
  stubdom: extend xenstore stubdom configs
  tools: add 9pfs device to xenstore-stubdom
  tools/xenstored: add early_init() function
  tools/xenstored: get own domid in stubdom case
  tools/xenstored: rework ring page (un)map functions
  tools/xenstored: split domain_init()
  tools/xenstored: map stubdom interface
  tools/xenstored: mount 9pfs device in stubdom
  tools/xenstored: add helpers for filename handling
  tools/xenstored: support complete log capabilities in stubdom
  tools/xenstored: have a single do_control_memreport()

 docs/man/xl.cfg.5.pod.in                  |   36 +-
 stubdom/xenstore-minios.cfg               |    2 +-
 stubdom/xenstorepvh-minios.cfg            |    2 +-
 tools/Makefile                            |    1 +
 tools/helpers/init-xenstore-domain.c      |    9 +
 tools/hotplug/Linux/launch-xenstore.in    |    1 +
 tools/include/libxl.h                     |   17 +
 tools/include/xen-tools/common-macros.h   |    4 +
 tools/libs/light/libxl_9pfs.c             |  174 ++-
 tools/libs/light/libxl_create.c           |    4 +-
 tools/libs/light/libxl_dm.c               |    2 +-
 tools/libs/light/libxl_types.idl          |   11 +
 tools/libs/light/libxl_types_internal.idl |    1 +
 tools/xen-9pfsd/.gitignore                |    1 +
 tools/xen-9pfsd/Makefile                  |   38 +
 tools/xen-9pfsd/io.c                      | 1462 +++++++++++++++++++++
 tools/xen-9pfsd/xen-9pfsd.c               |  770 +++++++++++
 tools/xen-9pfsd/xen-9pfsd.h               |   98 ++
 tools/xenstored/control.c                 |   29 +-
 tools/xenstored/core.c                    |   20 +-
 tools/xenstored/core.h                    |   13 +-
 tools/xenstored/domain.c                  |   72 +-
 tools/xenstored/domain.h                  |    2 +
 tools/xenstored/lu_daemon.c               |    4 +-
 tools/xenstored/minios.c                  |   54 +-
 tools/xenstored/posix.c                   |   18 +-
 tools/xl/xl_parse.c                       |   36 +
 xen/include/public/io/9pfs.h              |   34 +
 28 files changed, 2847 insertions(+), 68 deletions(-)
 create mode 100644 tools/xen-9pfsd/.gitignore
 create mode 100644 tools/xen-9pfsd/Makefile
 create mode 100644 tools/xen-9pfsd/io.c
 create mode 100644 tools/xen-9pfsd/xen-9pfsd.c
 create mode 100644 tools/xen-9pfsd/xen-9pfsd.h

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:08:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:08:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630467.983320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U3X-0004wV-0F; Fri, 10 Nov 2023 16:08:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630467.983320; Fri, 10 Nov 2023 16:08: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 1r1U3W-0004wO-TC; Fri, 10 Nov 2023 16:08:26 +0000
Received: by outflank-mailman (input) for mailman id 630467;
 Fri, 10 Nov 2023 16:08: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U3V-00048H-2v
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08:25 +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 5ff07add-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:08:24 +0100 (CET)
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 CBE2E2187C;
 Fri, 10 Nov 2023 16:08: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 A0E0B13398;
 Fri, 10 Nov 2023 16:08:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id n4P6JXdVTmV+CAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:08: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: 5ff07add-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632503; 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=qaecwcPQrQoZBr5cMiDKL915MBWxnfCx9RL4QO3WWDk=;
	b=f77DYaRlG3Aamf+PKq9tBs0CunCXk2c64ZxY2ov+0OvMFFTBajIzCCzUDBf7+bKJbmNLHj
	B3rtd0zqDNC4dc6Sm7KusTapilNPN/fH3PhRsAgiganqp/0keqWBKTQltaQwJMVFBY2R11
	0gVNLLgeXH/n+gcpReUikjK8GkBD2l4=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 03/29] tools/xenlogd: connect to frontend
Date: Fri, 10 Nov 2023 17:07:38 +0100
Message-Id: <20231110160804.29021-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add the code for connecting to frontends to xenlogd.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- support multiple rings per device (Jason Andryuk)
- don't set .revents initially (Jason Andryuk)
- call poll() with infinite timeout (Jason Andryuk)
- take mutex before calling pthread_cond_signal()
---
 tools/xen-9pfsd/Makefile    |   2 +-
 tools/xen-9pfsd/io.c        |  45 +++
 tools/xen-9pfsd/xen-9pfsd.c | 625 +++++++++++++++++++++++++++++++++++-
 tools/xen-9pfsd/xen-9pfsd.h |  60 ++++
 4 files changed, 728 insertions(+), 4 deletions(-)
 create mode 100644 tools/xen-9pfsd/io.c
 create mode 100644 tools/xen-9pfsd/xen-9pfsd.h

diff --git a/tools/xen-9pfsd/Makefile b/tools/xen-9pfsd/Makefile
index 4e35202f08..2023b19c62 100644
--- a/tools/xen-9pfsd/Makefile
+++ b/tools/xen-9pfsd/Makefile
@@ -10,7 +10,7 @@ LDFLAGS += $(PTHREAD_LDFLAGS)
 
 TARGETS := xen-9pfsd
 
-XEN-9PFSD_OBJS = xen-9pfsd.o
+XEN-9PFSD_OBJS = xen-9pfsd.o io.o
 $(XEN-9PFSD_OBJS): CFLAGS += $(CFLAGS_libxenstore)
 $(XEN-9PFSD_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
 $(XEN-9PFSD_OBJS): CFLAGS += $(CFLAGS_libxengnttab)
diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
new file mode 100644
index 0000000000..e1e37970f4
--- /dev/null
+++ b/tools/xen-9pfsd/io.c
@@ -0,0 +1,45 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+/*
+ * xen-9pfsd - Xen 9pfs daemon
+ *
+ * Copyright (C) 2023 Juergen Gross <jgross@suse.com>
+ *
+ * I/O thread handling.
+ */
+
+#include <stdbool.h>
+#include <string.h>
+#include <syslog.h>
+
+#include "xen-9pfsd.h"
+
+static bool io_work_pending(struct ring *ring)
+{
+    if ( ring->stop_thread )
+        return true;
+    return false;
+}
+
+void *io_thread(void *arg)
+{
+    struct ring *ring = arg;
+
+    while ( !ring->stop_thread )
+    {
+        pthread_mutex_lock(&ring->mutex);
+        if ( !io_work_pending(ring) )
+        {
+            if ( xenevtchn_unmask(xe, ring->evtchn) < 0 )
+                syslog(LOG_WARNING, "xenevtchn_unmask() failed");
+            pthread_cond_wait(&ring->cond, &ring->mutex);
+        }
+        pthread_mutex_unlock(&ring->mutex);
+
+        /* TODO: I/O handling. */
+    }
+
+    ring->thread_active = false;
+
+    return NULL;
+}
diff --git a/tools/xen-9pfsd/xen-9pfsd.c b/tools/xen-9pfsd/xen-9pfsd.c
index c365b35fe5..cc5734402d 100644
--- a/tools/xen-9pfsd/xen-9pfsd.c
+++ b/tools/xen-9pfsd/xen-9pfsd.c
@@ -24,34 +24,604 @@
 
 #include <err.h>
 #include <errno.h>
+#include <poll.h>
+#include <pthread.h>
 #include <signal.h>
 #include <stdbool.h>
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <syslog.h>
+#include <sys/mman.h>
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <unistd.h>
-#include <xenevtchn.h>
 #include <xengnttab.h>
 #include <xenstore.h>
 
+#include "xen-9pfsd.h"
+
+/*
+ * List of currently known devices.
+ * The list itself is modified only in the main thread. When a device is being
+ * removed its memory needs to be freed after the I/O thread (if existing)
+ * has stopped.
+ */
+static XEN_TAILQ_HEAD(devhead, device) devs = XEN_TAILQ_HEAD_INITIALIZER(devs);
+
+struct path {
+    char path[100];
+};
+
 static volatile bool stop_me;
 static bool daemon_running;
 static struct xs_handle *xs;
 static xengnttab_handle *xg;
-static xenevtchn_handle *xe;
+static unsigned int now;
+
+xenevtchn_handle *xe;
 
 static void handle_stop(int sig)
 {
     stop_me = true;
 }
 
+static int check_host_path(device *device)
+{
+    struct stat statbuf;
+    char *path, *p;
+    int ret = 1;
+
+    if ( !device->host_path )
+        return 1;
+
+    if ( device->host_path[0] != '/' )
+        return 1;
+
+    path = strdup(device->host_path);
+    if ( !path )
+    {
+        syslog(LOG_CRIT, "memory allocation failure!");
+        return 1;
+    }
+
+    for ( p = path; p; )
+    {
+        p = strchr(p + 1, '/');
+        if ( p )
+            *p = 0;
+        if ( !stat(path, &statbuf) )
+        {
+            if ( !(statbuf.st_mode & S_IFDIR) )
+                break;
+            if ( !p )
+            {
+                ret = 0;
+                break;
+            }
+            *p = '/';
+            continue;
+        }
+        if ( mkdir(path, 0777) )
+            break;
+        if ( p )
+            *p = '/';
+    }
+
+    free(path);
+    return ret;
+}
+
+static void construct_frontend_path(device *device, const char *node,
+                                    struct path *p)
+{
+    snprintf(p->path, sizeof(p->path), "/local/domain/%u/device/9pfs/%u/%s",
+             device->domid, device->devid, node);
+}
+
+static void construct_backend_path(device *device, const char *node,
+                                   struct path *p)
+{
+    snprintf(p->path, sizeof(p->path), "backend/xen_9pfs/%u/%u/%s",
+             device->domid, device->devid, node);
+}
+
+static char *read_backend_node(device *device, const char *node)
+{
+    struct path p;
+    char *val;
+    unsigned int len;
+
+    construct_backend_path(device, node, &p);
+    val = xs_read(xs, XBT_NULL, p.path, &len);
+
+    return val;
+}
+
+static unsigned int uint_from_string(char *string, unsigned int def)
+{
+    unsigned long val;
+    char *end;
+
+    if ( !string )
+        return def;
+
+    val = strtoul(string, &end, 10);
+    if ( *end || val > UINT_MAX )
+        val = def;
+    free(string);
+
+    return val;
+}
+
+static unsigned int read_backend_node_uint(device *device, const char *node,
+                                           unsigned int def)
+{
+    return uint_from_string(read_backend_node(device, node), def);
+}
+
+static unsigned int read_frontend_node_uint(device *device, const char *node,
+                                            unsigned int def)
+{
+    struct path p;
+    unsigned int len;
+
+    construct_frontend_path(device, node, &p);
+
+    return uint_from_string(xs_read(xs, XBT_NULL, p.path, &len), def);
+}
+
+static int write_backend_node(device *device, const char *node, const char *val)
+{
+    struct path p;
+    struct xs_permissions perms[2] = {
+        { .id = 0, .perms = XS_PERM_NONE },
+        { .id = device->domid, .perms = XS_PERM_READ }
+    };
+
+    construct_backend_path(device, node, &p);
+    if ( !xs_write(xs, XBT_NULL, p.path, val, strlen(val)) )
+    {
+        syslog(LOG_ERR, "error writing bacḱend node \"%s\" for device %u/%u",
+               node, device->domid, device->devid);
+        return 1;
+    }
+
+    if ( !xs_set_permissions(xs, XBT_NULL, p.path, perms, 2) )
+    {
+        syslog(LOG_ERR, "error setting permissions for \"%s\"", p.path);
+        return 1;
+    }
+
+    return 0;
+}
+
+static int write_backend_node_uint(device *device, const char *node,
+                                   unsigned int val)
+{
+    char str[12];
+
+    snprintf(str, sizeof(str), "%u", val);
+
+    return write_backend_node(device, node, str);
+}
+
+static int write_backend_state(device *device, enum xenbus_state state)
+{
+    struct path p;
+    char val[2];
+
+    snprintf(val, sizeof(val), "%u", state);
+    construct_backend_path(device, "state", &p);
+    if ( !xs_write(xs, XBT_NULL, p.path, val, 1) )
+    {
+        syslog(LOG_ERR, "error writing backend state %u for device %u/%u",
+               state, device->domid, device->devid);
+        return 1;
+    }
+
+    device->backend_state = state;
+
+    return 0;
+}
+
+static device *find_device(unsigned int domid, unsigned int devid)
+{
+    device *device;
+
+    XEN_TAILQ_FOREACH( device, &devs, list )
+    {
+        if ( domid == device->domid && devid == device->devid )
+            return device;
+    }
+
+    return NULL;
+}
+
+static void free_device(device *device)
+{
+    char token[20];
+    struct path p;
+
+    construct_frontend_path(device, "state", &p);
+    snprintf(token, sizeof(token), "%u/%u", device->domid, device->devid);
+    xs_unwatch(xs, p.path, token);
+
+    free(device->host_path);
+    free(device);
+}
+
+static device *new_device(unsigned int domid, unsigned int devid)
+{
+    device *device;
+    char token[20];
+    struct path p;
+    char *val;
+
+    device = calloc(1, sizeof(*device));
+    if ( !device )
+    {
+        syslog(LOG_CRIT, "Got no memory for new device %u/%u", domid, devid);
+        return NULL;
+    }
+
+    device->domid = domid;
+    device->devid = devid;
+
+    construct_frontend_path(device, "state", &p);
+    snprintf(token, sizeof(token), "%u/%u", domid, devid);
+    if ( !xs_watch(xs, p.path, token) )
+    {
+        syslog(LOG_ERR, "Setting up watch for device %u/%u failed",
+               domid, devid);
+        free(device);
+        return NULL;
+    }
+
+    val = read_backend_node(device, "security_model");
+    if ( !val || strcmp(val, "none") )
+    {
+        syslog(LOG_ERR, "Security model \"%s\" for device %u/%u invalid.",
+               val, domid, devid);
+        free(val);
+        goto err;
+    }
+    free(val);
+
+    device->max_space = read_backend_node_uint(device, "max-space", 0);
+    device->max_files = read_backend_node_uint(device, "max-files", 0);
+    device->max_open_files =
+        read_backend_node_uint(device, "max-open-files", 0)
+        ?: MAX_OPEN_FILES_DEFAULT;
+    device->auto_delete = read_backend_node_uint(device, "auto-delete", 0);
+
+    device->host_path = read_backend_node(device, "path");
+    if ( check_host_path(device) )
+    {
+        syslog(LOG_ERR, "Host path \"%s\" for device %u/%u invalid.",
+               device->host_path, domid, devid);
+        goto err;
+    }
+
+    if ( write_backend_node(device, "versions", "1") )
+        goto err;
+    if ( write_backend_node_uint(device, "max-rings", MAX_RINGS) )
+        goto err;
+    if ( write_backend_node_uint(device, "max-ring-page-order",
+                                 MAX_RING_ORDER) )
+        goto err;
+
+    if ( write_backend_state(device, XenbusStateInitWait) )
+        goto err;
+
+    XEN_TAILQ_INSERT_TAIL(&devs, device, list);
+    syslog(LOG_INFO, "New device %u/%u added", domid, devid);
+
+    return device;
+
+ err:
+    free_device(device);
+    return NULL;
+}
+
+static void disconnect_ring(struct ring *ring)
+{
+    if ( !ring )
+        return;
+
+    if ( ring->thread_active )
+    {
+        ring->stop_thread = true;
+        pthread_cond_signal(&ring->cond);
+        pthread_join(ring->thread, NULL);
+        ring->stop_thread = false;
+    }
+
+    if ( ring->data.in )
+    {
+        xengnttab_unmap(xg, ring->data.in, 1 << ring->ring_order);
+        ring->data.in = NULL;
+    }
+    if ( ring->intf )
+    {
+        xengnttab_unmap(xg, ring->intf, 1 );
+        ring->intf = NULL;
+    }
+
+    if ( ring->evtchn )
+    {
+        xenevtchn_unbind(xe, ring->evtchn);
+        ring->evtchn = 0;
+    }
+
+    pthread_mutex_destroy(&ring->mutex);
+    pthread_cond_destroy(&ring->cond);
+}
+
+static void disconnect_guest(device *device)
+{
+    unsigned int ring_idx;
+
+    for ( ring_idx = 0; ring_idx < device->num_rings; ring_idx++ )
+    {
+        disconnect_ring(device->ring[ring_idx]);
+        free(device->ring[ring_idx]);
+        device->ring[ring_idx] = NULL;
+    }
+
+    device->num_rings = 0;
+}
+
+static void close_device(device *device, enum xenbus_state state)
+{
+    disconnect_guest(device);
+    write_backend_state(device, state);
+}
+
+static void connect_err(device *device, const char *msg)
+{
+    syslog(LOG_WARNING, "%s", msg);
+    close_device(device, XenbusStateClosed);
+}
+
+static void connect_device(device *device)
+{
+    unsigned int val;
+    unsigned int ring_idx;
+    char node[20];
+    struct ring *ring;
+    xenevtchn_port_or_error_t evtchn;
+
+    val = read_frontend_node_uint(device, "version", 0);
+    if ( val != 1 )
+        return connect_err(device, "frontend specifies illegal version");
+    device->num_rings = read_frontend_node_uint(device, "num-rings", 0);
+    if ( device->num_rings < 1 || device->num_rings > MAX_RINGS )
+        return connect_err(device, "frontend specifies illegal ring number");
+
+    for ( ring_idx = 0; ring_idx < device->num_rings; ring_idx++ )
+    {
+        ring = calloc(1, sizeof(*ring));
+        if ( !ring )
+            return connect_err(device, "could not allocate ring memory");
+        device->ring[ring_idx] = ring;
+        ring->device = device;
+        pthread_cond_init(&ring->cond, NULL);
+        pthread_mutex_init(&ring->mutex, NULL);
+
+
+        snprintf(node, sizeof(node), "event-channel-%u", ring_idx);
+        val = read_frontend_node_uint(device, node, 0);
+        if ( val == 0 )
+            return connect_err(device, "frontend specifies illegal evtchn");
+        evtchn = xenevtchn_bind_interdomain(xe, device->domid, val);
+        if ( evtchn < 0 )
+            return connect_err(device, "could not bind to event channel");
+        ring->evtchn = evtchn;
+
+        snprintf(node, sizeof(node), "ring-ref%u", ring_idx);
+        val = read_frontend_node_uint(device, node, 0);
+        if ( val == 0 )
+            return connect_err(device,
+                               "frontend specifies illegal grant for ring");
+        ring->intf = xengnttab_map_grant_ref(xg, device->domid, val,
+                                             PROT_READ | PROT_WRITE);
+        if ( !ring->intf )
+            return connect_err(device, "could not map interface page");
+        ring->ring_order = ring->intf->ring_order;
+        if ( ring->ring_order > MAX_RING_ORDER || ring->ring_order < 1 )
+            return connect_err(device, "frontend specifies illegal ring order");
+        ring->ring_size = XEN_FLEX_RING_SIZE(ring->ring_order);
+        ring->data.in = xengnttab_map_domain_grant_refs(xg,
+                                                        1 << ring->ring_order,
+                                                        device->domid,
+                                                        ring->intf->ref,
+                                                        PROT_READ | PROT_WRITE);
+        if ( !ring->data.in )
+            return connect_err(device, "could not map ring pages");
+        ring->data.out = ring->data.in + ring->ring_size;
+
+        if ( pthread_create(&ring->thread, NULL, io_thread, ring) )
+            return connect_err(device, "could not start I/O thread");
+        ring->thread_active = true;
+    }
+
+    write_backend_state(device, XenbusStateConnected);
+}
+
+static void remove_device(device *device)
+{
+    XEN_TAILQ_REMOVE(&devs, device, list);
+
+    disconnect_guest(device);
+    free_device(device);
+}
+
+static void remove_all_devices(void)
+{
+    device *device, *tmp;
+
+    XEN_TAILQ_FOREACH_SAFE( device, &devs, list, tmp )
+        remove_device(device);
+}
+
+static void frontend_changed(device *device)
+{
+    struct path p;
+    char *state, *end;
+    unsigned int len;
+    unsigned long new_state;
+
+    construct_frontend_path(device, "state", &p);
+    state = xs_read(xs, XBT_NULL, p.path, &len);
+    if ( !state )
+    {
+        close_device(device, XenbusStateClosed);
+        return;
+    }
+
+    new_state = strtoul(state, &end, 10);
+    if ( *end || new_state > XenbusStateReconfigured )
+    {
+        syslog(LOG_WARNING, "unknown state \"%s\" seen for device %u/%u", state,
+               device->domid, device->devid);
+        new_state = XenbusStateUnknown;
+    }
+    free(state);
+
+    if ( new_state == device->frontend_state )
+        return;
+
+    switch ( new_state )
+    {
+    case XenbusStateInitialising:
+        break;
+
+    case XenbusStateInitialised:
+        connect_device(device);
+        break;
+
+    case XenbusStateConnected:
+        break;
+
+    case XenbusStateClosing:
+        close_device(device, XenbusStateClosing);
+        break;
+
+    case XenbusStateClosed:
+        close_device(device, XenbusStateClosed);
+        break;
+
+    default:
+        syslog(LOG_WARNING, "not handled frontend state %lu for device %u/%u",
+               new_state, device->domid, device->devid);
+        break;
+    }
+
+    device->frontend_state = new_state;
+}
+
+static void check_device(unsigned int domid, unsigned int devid)
+{
+    device *device;
+
+    device = find_device(domid, devid);
+    if ( !device )
+    {
+        device = new_device(domid, devid);
+        if ( !device )
+            return;
+    }
+
+    device->last_seen = now;
+}
+
+static void scan_backend(void)
+{
+    char **doms;
+    unsigned int n_doms, dom;
+    char **devices;
+    unsigned int n_devs, dev;
+    char dom_path[24];
+    unsigned long domid, devid;
+    char *end;
+    device *device, *tmp;
+
+    now++;
+
+    doms = xs_directory(xs, XBT_NULL, "backend/xen_9pfs", &n_doms);
+    if ( doms == NULL )
+        return;
+
+    for ( dom = 0; dom < n_doms; dom++ )
+    {
+        errno = 0;
+        domid = strtoul(doms[dom], &end, 10);
+        if ( errno || *end || domid >= DOMID_FIRST_RESERVED )
+            continue;
+
+        snprintf(dom_path, sizeof(dom_path), "backend/xen_9pfs/%lu", domid);
+        devices = xs_directory(xs, XBT_NULL, dom_path, &n_devs);
+
+        for ( dev = 0; dev < n_devs; dev++ )
+        {
+            errno = 0;
+            devid = strtoul(devices[dev], &end, 10);
+            if ( errno || *end || devid > UINT_MAX )
+                continue;
+
+            check_device(domid, devid);
+        }
+
+        free(devices);
+    }
+
+    free(doms);
+
+    XEN_TAILQ_FOREACH_SAFE( device, &devs, list, tmp )
+    {
+        if ( device->last_seen != now )
+            remove_device(device);
+    }
+}
+
+static void handle_watch(char *path, char *token)
+{
+    unsigned int domid, devid;
+    device *device;
+
+    if ( !strcmp(token, "main") )
+    {
+        scan_backend();
+        return;
+    }
+
+    if ( sscanf(token, "%u/%u", &domid, &devid) != 2 )
+    {
+        syslog(LOG_WARNING, "unknown watch event %s %s", path, token);
+        return;
+    }
+
+    device = find_device(domid, devid);
+    if ( !device )
+    {
+        syslog(LOG_WARNING, "watch event for unknown device %u/%u",
+               domid, devid);
+        return;
+    }
+
+    frontend_changed(device);
+}
+
 static void close_all(void)
 {
     if ( daemon_running )
+    {
         xs_rm(xs, XBT_NULL, "libxl/xen-9pfs");
+        xs_unwatch(xs, "backend/xen_9pfs", "main");
+
+        remove_all_devices();
+    }
     if ( xe )
         xenevtchn_close(xe);
     if ( xg )
@@ -68,6 +638,33 @@ static void do_err(const char *msg)
     exit(1);
 }
 
+static void handle_event(void)
+{
+    xenevtchn_port_or_error_t evtchn;
+    device *device;
+    struct ring *ring;
+    unsigned int ring_idx;
+
+    evtchn = xenevtchn_pending(xe);
+    if ( evtchn < 0 )
+        do_err("xenevtchn_pending() failed");
+
+    XEN_TAILQ_FOREACH( device, &devs, list )
+    {
+        for ( ring_idx = 0; ring_idx < device->num_rings; ring_idx++ )
+        {
+            ring = device->ring[ring_idx];
+            if ( ring && ring->evtchn == evtchn )
+            {
+                pthread_mutex_lock(&ring->mutex);
+                pthread_cond_signal(&ring->cond);
+                pthread_mutex_unlock(&ring->mutex);
+                return;
+            }
+        }
+    }
+}
+
 static void xen_connect(void)
 {
     xs_transaction_t t;
@@ -122,6 +719,11 @@ int main(int argc, char *argv[])
     int syslog_mask = LOG_MASK(LOG_WARNING) | LOG_MASK(LOG_ERR) |
                       LOG_MASK(LOG_CRIT) | LOG_MASK(LOG_ALERT) |
                       LOG_MASK(LOG_EMERG);
+    char **watch;
+    struct pollfd p[2] = {
+        { .events = POLLIN },
+        { .events = POLLIN }
+    };
 
     umask(027);
     if ( getenv("XEN_9PFSD_VERBOSE") )
@@ -134,9 +736,26 @@ int main(int argc, char *argv[])
 
     xen_connect();
 
+    if ( !xs_watch(xs, "backend/xen_9pfs", "main") )
+        do_err("xs_watch() in main thread failed");
+    p[0].fd = xs_fileno(xs);
+    p[1].fd = xenevtchn_fd(xe);
+
+    scan_backend();
+
     while ( !stop_me )
     {
-        sleep(60);
+        while ( (p[0].revents & POLLIN) &&
+                (watch = xs_check_watch(xs)) != NULL )
+        {
+            handle_watch(watch[XS_WATCH_PATH], watch[XS_WATCH_TOKEN]);
+            free(watch);
+        }
+
+        if ( p[1].revents & POLLIN )
+            handle_event();
+
+        poll(p, 2, -1);
     }
 
     close_all();
diff --git a/tools/xen-9pfsd/xen-9pfsd.h b/tools/xen-9pfsd/xen-9pfsd.h
new file mode 100644
index 0000000000..432f321d0d
--- /dev/null
+++ b/tools/xen-9pfsd/xen-9pfsd.h
@@ -0,0 +1,60 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef XEN_9PFSD_H
+#define XEN_9PFSD_H
+
+#include <pthread.h>
+#include <stdbool.h>
+#include <xenevtchn.h>
+#include <xen_list.h>
+#include <xen/xen.h>
+#include <xen/io/xenbus.h>
+#include <xen/io/9pfs.h>
+
+#define MAX_RINGS                4
+#define MAX_RING_ORDER           9
+#define MAX_OPEN_FILES_DEFAULT   5
+
+typedef struct device device;
+
+struct ring {
+    device *device;
+    pthread_t thread;
+    bool thread_active;
+    bool stop_thread;
+    pthread_cond_t cond;
+    pthread_mutex_t mutex;
+
+    evtchn_port_t evtchn;
+    struct xen_9pfs_data_intf *intf;
+    unsigned int ring_order;
+    RING_IDX ring_size;
+    struct xen_9pfs_data data;
+};
+
+struct device {
+    /* Admin data. */
+    XEN_TAILQ_ENTRY(device) list;
+    unsigned int last_seen;    /* Set in scan_backend(). */
+    unsigned int domid;
+    unsigned int devid;
+
+    /* Tool side configuration data. */
+    char *host_path;
+    unsigned int max_space;
+    unsigned int max_files;
+    unsigned int max_open_files;
+    bool auto_delete;
+
+    /* Connection data. */
+    enum xenbus_state backend_state;
+    enum xenbus_state frontend_state;
+    unsigned int num_rings;
+    struct ring *ring[MAX_RINGS];
+};
+
+extern xenevtchn_handle *xe;
+
+void *io_thread(void *arg);
+
+#endif /* XEN_9PFSD_H */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:08:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:08:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630465.983300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U3O-0004ND-Fr; Fri, 10 Nov 2023 16:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630465.983300; Fri, 10 Nov 2023 16: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 1r1U3O-0004N6-D8; Fri, 10 Nov 2023 16:08:18 +0000
Received: by outflank-mailman (input) for mailman id 630465;
 Fri, 10 Nov 2023 16:08: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U3M-00048H-MB
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08: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 5a44d42c-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:08:14 +0100 (CET)
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 A21742187C;
 Fri, 10 Nov 2023 16:08: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 86B2113398;
 Fri, 10 Nov 2023 16:08:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kG2FH2xVTmVfCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:08: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: 5a44d42c-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632492; 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=KX1+eDPCalxeEFEgNKEP+cxmDRb/81lwwxJPAyo97p8=;
	b=L9r11Bm4y/+fJwlqKCNLLex1A43vSYJMwabGjObqK+M89XOC4w2PqCxN+9hEdQeXLgcWLs
	01k3padm3b4rDhdJO747kpz/WOGH4ulpWwfopn5X1711QHLZ7YaPdsbsGA2lGaChntxDBN
	okSazRAVPRjgmazZYTYiY7b9Q8Vca/8=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 01/29] xen/public: add some more 9pfs xenstore paths
Date: Fri, 10 Nov 2023 17:07:36 +0100
Message-Id: <20231110160804.29021-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add some optional additional backend paths for 9pfs PV devices. Those
paths will be supported by the new xenlogd 9pfs backend.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/include/public/io/9pfs.h | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/xen/include/public/io/9pfs.h b/xen/include/public/io/9pfs.h
index 9ad2773082..ac4bf0434b 100644
--- a/xen/include/public/io/9pfs.h
+++ b/xen/include/public/io/9pfs.h
@@ -71,6 +71,40 @@
  *                 created on the guest (no user ownership squash or remap)
  *         Only "none" is supported in this version of the protocol.
  *
+ *    max-files
+ *         Values:        <uint32_t>
+ *
+ *         The maximum number of files (including directories) allowed for
+ *         this device. Backend support of this node is optional. If the node
+ *         is not present or the value is zero the number of files is not
+ *         limited.
+ *
+ *    max-open-files
+ *         Values:        <uint32_t>
+ *
+ *         The maximum number of files the guest is allowed to have opened
+ *         concurrently. Multiple concurrent opens of the same file are counted
+ *         individually. Backend support of this node is optional. If the node
+ *         is not present or the value is zero a backend specific default is
+ *         applied.
+ *
+ *    max-space
+ *         Values:        <uint32_t>
+ *
+ *         The maximum file space in MiBs the guest is allowed to use for this
+ *         device. Backend support of this node is optional. If the node is
+ *         not present or the value is zero the space is not limited.
+ *
+ *    auto-delete
+ *         Values:        <bool>
+ *
+ *         When set to "1" the backend will delete the file with the oldest
+ *         modification date below <path> in case the allowed maximum file
+ *         space (see <max-space>) or file number (see <max-files>) is being
+ *         exceeded due to guest activity (creation or extension of files).
+ *         Files currently opened by the guest won't be deleted. Backend
+ *         support of this node is optional.
+ *
  ******************************************************************************
  *                            Frontend XenBus Nodes
  ******************************************************************************
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:08:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:08:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630468.983330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U3c-0005Jm-Di; Fri, 10 Nov 2023 16:08:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630468.983330; Fri, 10 Nov 2023 16:08: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 1r1U3c-0005Jd-Al; Fri, 10 Nov 2023 16:08:32 +0000
Received: by outflank-mailman (input) for mailman id 630468;
 Fri, 10 Nov 2023 16:08: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U3b-0004cS-Bc
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08: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 63409075-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:08:29 +0100 (CET)
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 5C6432187C;
 Fri, 10 Nov 2023 16:08: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 36A1A13398;
 Fri, 10 Nov 2023 16:08:29 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id GsjgC31VTmWHCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:08: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: 63409075-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632509; 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=8LEAVDIRj4dc7c1ZNOEz/ljD8n08+X/zewMO8NL1MKE=;
	b=avO07QTMvYah2jhfMuq9fGB0fxdz6dSkbFavEn+u00ueRUl4NXqHkocf/nxdqG6sucC3kH
	nYaTTbDIEKpNC0mRFLRxygPRHf1SNf8AkcUUT7GAkMZ4QtS6D6nHnv6Cj9asMKpHNO+x92
	QTksY3Ok9H1dFJTRSk0T4pRSpbTkvpc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 04/29] tools/xenlogd: add transport layer
Date: Fri, 10 Nov 2023 17:07:39 +0100
Message-Id: <20231110160804.29021-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the transport layer of 9pfs. This is basically the infrastructure
to receive requests from the frontend and to send the related answers
via the rings.

In order to avoid unaligned accesses e.g. on Arm, add the definition of
__packed to the common-macros.h header.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- rename put_request_bytes() (Jason Andryuk)
- rename get_request_bytes() and put_response_bytes() len parameter
  (Jason Andryuk)
- don't unmask event channel if error indicator is set (Jason Andryuk)
---
 tools/include/xen-tools/common-macros.h |   4 +
 tools/xen-9pfsd/io.c                    | 143 +++++++++++++++++++++++-
 tools/xen-9pfsd/xen-9pfsd.h             |  16 +++
 3 files changed, 160 insertions(+), 3 deletions(-)

diff --git a/tools/include/xen-tools/common-macros.h b/tools/include/xen-tools/common-macros.h
index e5ed603904..c3fd7d2a30 100644
--- a/tools/include/xen-tools/common-macros.h
+++ b/tools/include/xen-tools/common-macros.h
@@ -79,6 +79,10 @@
 #define __must_check __attribute__((__warn_unused_result__))
 #endif
 
+#ifndef __packed
+#define __packed __attribute__((__packed__))
+#endif
+
 #define container_of(ptr, type, member) ({              \
     typeof(((type *)0)->member) *mptr__ = (ptr);        \
     (type *)((char *)mptr__ - offsetof(type, member));  \
diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index e1e37970f4..d9aa081bea 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -6,39 +6,176 @@
  * Copyright (C) 2023 Juergen Gross <jgross@suse.com>
  *
  * I/O thread handling.
+ *
+ * Only handle one request at a time, pushing out the complete response
+ * before looking for the next request.
  */
 
 #include <stdbool.h>
+#include <stdlib.h>
 #include <string.h>
 #include <syslog.h>
+#include <xenctrl.h>           /* For cpu barriers. */
+#include <xen-tools/common-macros.h>
 
 #include "xen-9pfsd.h"
 
+/*
+ * Note that the ring names "in" and "out" are from the frontend's
+ * perspective, so the "in" ring will be used for responses to the frontend,
+ * while the "out" ring is used for requests from the frontend to the
+ * backend.
+ */
+static unsigned int ring_in_free(struct ring *ring)
+{
+    unsigned int queued;
+
+    queued = xen_9pfs_queued(ring->prod_pvt_in, ring->intf->in_cons,
+                             ring->ring_size);
+    xen_rmb();
+
+    return ring->ring_size - queued;
+}
+
+static unsigned int ring_out_data(struct ring *ring)
+{
+    unsigned int queued;
+
+    queued = xen_9pfs_queued(ring->intf->out_prod, ring->cons_pvt_out,
+                             ring->ring_size);
+    xen_rmb();
+
+    return queued;
+}
+
+static unsigned int get_request_bytes(struct ring *ring, unsigned int off,
+                                      unsigned int total_len)
+{
+    unsigned int size;
+    unsigned int out_data = ring_out_data(ring);
+    RING_IDX prod, cons;
+
+    size = min(total_len - off, out_data);
+    prod = xen_9pfs_mask(ring->intf->out_prod, ring->ring_size);
+    cons = xen_9pfs_mask(ring->cons_pvt_out, ring->ring_size);
+    xen_9pfs_read_packet(ring->buffer + off, ring->data.out, size,
+                         prod, &cons, ring->ring_size);
+
+    xen_rmb();           /* Read data out before setting visible consumer. */
+    ring->cons_pvt_out += size;
+    ring->intf->out_cons = ring->cons_pvt_out;
+
+    /* Signal that more space is available now. */
+    xenevtchn_notify(xe, ring->evtchn);
+
+    return size;
+}
+
+static unsigned int put_response_bytes(struct ring *ring, unsigned int off,
+                                       unsigned int total_len)
+{
+    unsigned int size;
+    unsigned int in_data = ring_in_free(ring);
+    RING_IDX prod, cons;
+
+    size = min(total_len - off, in_data);
+    prod = xen_9pfs_mask(ring->prod_pvt_in, ring->ring_size);
+    cons = xen_9pfs_mask(ring->intf->in_cons, ring->ring_size);
+    xen_9pfs_write_packet(ring->data.in, ring->buffer + off, size,
+                          &prod, cons, ring->ring_size);
+
+    xen_wmb();           /* Write data out before setting visible producer. */
+    ring->prod_pvt_in += size;
+    ring->intf->in_prod = ring->prod_pvt_in;
+
+    return size;
+}
+
 static bool io_work_pending(struct ring *ring)
 {
     if ( ring->stop_thread )
         return true;
-    return false;
+    if ( ring->error )
+        return false;
+    return ring->handle_response ? ring_in_free(ring) : ring_out_data(ring);
 }
 
 void *io_thread(void *arg)
 {
     struct ring *ring = arg;
+    unsigned int count = 0;
+    struct p9_header hdr;
+    bool in_hdr = true;
+
+    ring->max_size = ring->ring_size;
+    ring->buffer = malloc(ring->max_size);
+    if ( !ring->buffer )
+    {
+        syslog(LOG_CRIT, "memory allocation failure!");
+        return NULL;
+    }
 
     while ( !ring->stop_thread )
     {
         pthread_mutex_lock(&ring->mutex);
         if ( !io_work_pending(ring) )
         {
-            if ( xenevtchn_unmask(xe, ring->evtchn) < 0 )
+            if ( !ring->error && xenevtchn_unmask(xe, ring->evtchn) < 0 )
                 syslog(LOG_WARNING, "xenevtchn_unmask() failed");
             pthread_cond_wait(&ring->cond, &ring->mutex);
         }
         pthread_mutex_unlock(&ring->mutex);
 
-        /* TODO: I/O handling. */
+        if ( ring->stop_thread || ring->error )
+            continue;
+
+        if ( !ring->handle_response )
+        {
+            if ( in_hdr )
+            {
+                count += get_request_bytes(ring, count, sizeof(hdr));
+                if ( count != sizeof(hdr) )
+                    continue;
+                hdr = *(struct p9_header *)ring->buffer;
+                if ( hdr.size > ring->max_size || hdr.size < sizeof(hdr) )
+                {
+                    syslog(LOG_ERR, "%u.%u specified illegal request length %u",
+                           ring->device->domid, ring->device->devid, hdr.size);
+                    ring->error = true;
+                    continue;
+                }
+                in_hdr = false;
+            }
+
+            count += get_request_bytes(ring, count, hdr.size);
+            if ( count < hdr.size )
+                continue;
+
+            /* TODO: handle request (will rewrite hdr.size). */
+
+            ring->handle_response = true;
+            hdr.size = ((struct p9_header *)ring->buffer)->size;
+            count = 0;
+        }
+
+        if ( ring->handle_response )
+        {
+            count += put_response_bytes(ring, count, hdr.size);
+
+            if ( count == hdr.size )
+            {
+                /* Signal presence of response. */
+                xenevtchn_notify(xe, ring->evtchn);
+
+                ring->handle_response = false;
+                in_hdr = true;
+                count = 0;
+            }
+        }
     }
 
+    free(ring->buffer);
+
     ring->thread_active = false;
 
     return NULL;
diff --git a/tools/xen-9pfsd/xen-9pfsd.h b/tools/xen-9pfsd/xen-9pfsd.h
index 432f321d0d..7d6921f164 100644
--- a/tools/xen-9pfsd/xen-9pfsd.h
+++ b/tools/xen-9pfsd/xen-9pfsd.h
@@ -15,6 +15,12 @@
 #define MAX_RING_ORDER           9
 #define MAX_OPEN_FILES_DEFAULT   5
 
+struct p9_header {
+    uint32_t size;
+    uint8_t cmd;
+    uint16_t tag;
+} __attribute__((packed));
+
 typedef struct device device;
 
 struct ring {
@@ -29,7 +35,17 @@ struct ring {
     struct xen_9pfs_data_intf *intf;
     unsigned int ring_order;
     RING_IDX ring_size;
+
+    /* Transport layer data. */
     struct xen_9pfs_data data;
+    RING_IDX prod_pvt_in;
+    RING_IDX cons_pvt_out;
+
+    /* Request and response handling. */
+    uint32_t max_size;
+    bool error;             /* Protocol error - stop processing. */
+    bool handle_response;   /* Main loop now handling response. */
+    void *buffer;           /* Request/response buffer. */
 };
 
 struct device {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:08:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:08:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630469.983340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U3i-0005hr-LX; Fri, 10 Nov 2023 16:08:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630469.983340; Fri, 10 Nov 2023 16:08: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 1r1U3i-0005hc-IK; Fri, 10 Nov 2023 16:08:38 +0000
Received: by outflank-mailman (input) for mailman id 630469;
 Fri, 10 Nov 2023 16:08: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U3g-0004cS-Vb
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08: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 669bc161-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:08:35 +0100 (CET)
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 039351F8BD;
 Fri, 10 Nov 2023 16:08:35 +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 D050613398;
 Fri, 10 Nov 2023 16:08:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +AKPMYJVTmWSCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:08: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: 669bc161-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632515; 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=1e+Cb2aixtcSDjfMsjykwbmXm5R8mm2/99MOt3KBKUc=;
	b=k4koCgMcA/+zhj3ojDwqYRe6rZ2m7SLZe9Yc02seI7cGDTyVOXrLp3JRTIsQTE/0MwVkxy
	lPxmiT54F+Xp2dzH6xKqAtf5AANckF9p+Iv20iEPsJO84O0dT18pObDIGzB/cgnGnZjKpT
	zcdtNSQ/ZIhjElPmrFQ885I77rOsAlg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 05/29] tools/xenlogd: add 9pfs response generation support
Date: Fri, 10 Nov 2023 17:07:40 +0100
Message-Id: <20231110160804.29021-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for generation a 9pfs protocol response via a format based
approach.

Strings are stored in a per device string buffer and they are
referenced via their offset in this buffer. This allows to avoid
having to dynamically allocate memory for each single string.

As a first user of the response handling add a generic p9_error()
function which will be used to return any error to the client.

Add all format parsing variants in order to avoid additional code churn
later when adding the users of those variants. Prepare a special case
for the "read" case already (format character 'D'): in order to avoid
adding another buffer for read data support doing the read I/O directly
into the response buffer.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- check parameter size limits (Jason Andryuk)
---
 tools/xen-9pfsd/io.c        | 199 +++++++++++++++++++++++++++++++++++-
 tools/xen-9pfsd/xen-9pfsd.h |   3 +
 2 files changed, 201 insertions(+), 1 deletion(-)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index d9aa081bea..a64199c9de 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -11,6 +11,7 @@
  * before looking for the next request.
  */
 
+#include <errno.h>
 #include <stdbool.h>
 #include <stdlib.h>
 #include <string.h>
@@ -20,6 +21,16 @@
 
 #include "xen-9pfsd.h"
 
+/* P9 protocol commands (response is either cmd+1 or P9_CMD_ERROR). */
+#define P9_CMD_ERROR      107
+
+struct p9_qid {
+    uint8_t type;
+#define QID_TYPE_DIR      0x80
+    uint32_t version;
+    uint64_t path;
+};
+
 /*
  * Note that the ring names "in" and "out" are from the frontend's
  * perspective, so the "in" ring will be used for responses to the frontend,
@@ -100,6 +111,182 @@ static bool io_work_pending(struct ring *ring)
     return ring->handle_response ? ring_in_free(ring) : ring_out_data(ring);
 }
 
+static void fmt_err(const char *fmt)
+{
+    syslog(LOG_CRIT, "illegal format %s passed to fill_buffer()", fmt);
+    exit(1);
+}
+
+/*
+ * Fill buffer with response data.
+ * fmt is a sequence of format characters. Supported characters are:
+ * a: an array (2 bytes number of elements + the following format as elements)
+ *    The number of elements is passed in the first unsigned int parameter, the
+ *    next parameter is a pointer to an array of elements as denoted by the next
+ *    format character.
+ * b: 2 byte unsigned integer
+ *    The parameter is a pointer to a uint16_t value
+ * D: Data blob (4 byte length + <length> bytes)
+ *    2 parameters are consumed, first an unsigned int for the length, then a
+ *    pointer to the first uint8_t value.
+ *    No array support.
+ * L: 8 byte unsigned integer
+ *    The parameter is a pointer to a uint64_t value
+ * Q: Qid (struct p9_qid)
+ * S: String (2 byte length + <length> characters)
+ *    The length is obtained via strlen() of the parameter, being a pointer
+ *    to the first character of the string
+ * U: 4 byte unsigned integer
+ *    The parameter is a pointer to a uint32_t value
+ */
+static void fill_buffer(struct ring *ring, uint8_t cmd, uint16_t tag,
+                        const char *fmt, ...)
+{
+    struct p9_header *hdr = ring->buffer;
+    void *data = hdr + 1;
+    const char *f;
+    const void *par;
+    const char *str_val;
+    const struct p9_qid *qid;
+    unsigned int len;
+    va_list ap;
+    unsigned int array_sz = 0;
+    unsigned int elem_sz = 0;
+
+    hdr->cmd = cmd;
+    hdr->tag = tag;
+
+    va_start(ap, fmt);
+
+    for ( f = fmt; *f; f++ )
+    {
+        if ( !array_sz )
+            par = va_arg(ap, const void *);
+        else
+        {
+            par += elem_sz;
+            array_sz--;
+        }
+
+        switch ( *f )
+        {
+        case 'a':
+            f++;
+            if ( !*f || array_sz )
+                fmt_err(fmt);
+            array_sz = *(const unsigned int *)par;
+            if ( array_sz > 0xffff )
+            {
+                syslog(LOG_CRIT, "array size %u in fill_buffer()", array_sz);
+                exit(1);
+            }
+            *(__packed uint16_t *)data = array_sz;
+            data += sizeof(uint16_t);
+            par = va_arg(ap, const void *);
+            elem_sz = 0;
+            break;
+
+        case 'u':
+            *(__packed uint16_t *)data = *(const uint16_t *)par;
+            elem_sz = sizeof(uint16_t);
+            data += sizeof(uint16_t);
+            break;
+
+        case 'D':
+            if ( array_sz )
+                fmt_err(fmt);
+            len = *(const unsigned int *)par;
+            *(__packed uint32_t *)data = len;
+            data += sizeof(uint32_t);
+            par = va_arg(ap, const void *);
+            if ( data != par )
+                memcpy(data, par, len);
+            data += len;
+            break;
+
+        case 'L':
+            *(__packed uint64_t *)data = *(const uint64_t *)par;
+            elem_sz = sizeof(uint64_t);
+            data += sizeof(uint64_t);
+            break;
+
+        case 'Q':
+            qid = par;
+            elem_sz = sizeof(*qid);
+            *(uint8_t *)data = qid->type;
+            data += sizeof(uint8_t);
+            *(__packed uint32_t *)data = qid->version;
+            data += sizeof(uint32_t);
+            *(__packed uint64_t *)data = qid->path;
+            data += sizeof(uint64_t);
+            break;
+
+        case 'S':
+            str_val = par;
+            elem_sz = sizeof(str_val);
+            len = strlen(str_val);
+            if ( len > 0xffff )
+            {
+                syslog(LOG_CRIT, "string length %u in fill_buffer()", len);
+                exit(1);
+            }
+            *(__packed uint16_t *)data = len;
+            data += sizeof(uint16_t);
+            memcpy(data, str_val, len);
+            data += len;
+            break;
+
+        case 'U':
+            *(__packed uint32_t *)data = *(const uint32_t *)par;
+            elem_sz = sizeof(uint32_t);
+            data += sizeof(uint32_t);
+            break;
+
+        default:
+            fmt_err(fmt);
+        }
+
+        if ( array_sz )
+            f--;
+    }
+
+    hdr->size = data - ring->buffer;
+}
+
+static unsigned int add_string(struct ring *ring, const char *str,
+                               unsigned int len)
+{
+    char *tmp;
+    unsigned int ret;
+
+    if ( ring->str_used + len + 1 > ring->str_size )
+    {
+        tmp = realloc(ring->str, ring->str_used + len + 1);
+        if ( !tmp )
+            return ~0;
+        ring->str = tmp;
+        ring->str_size = ring->str_used + len + 1;
+    }
+
+    ret = ring->str_used;
+    memcpy(ring->str + ret, str, len);
+    ring->str_used += len;
+    ring->str[ring->str_used++] = 0;
+
+    return ret;
+}
+
+static void p9_error(struct ring *ring, uint16_t tag, uint32_t err)
+{
+    unsigned int erroff;
+
+    strerror_r(err, ring->buffer, ring->ring_size);
+    erroff = add_string(ring, ring->buffer, strlen(ring->buffer));
+    fill_buffer(ring, P9_CMD_ERROR, tag, "SU",
+                erroff != ~0 ? ring->str + erroff : "cannot allocate memory",
+                &err);
+}
+
 void *io_thread(void *arg)
 {
     struct ring *ring = arg;
@@ -151,7 +338,16 @@ void *io_thread(void *arg)
             if ( count < hdr.size )
                 continue;
 
-            /* TODO: handle request (will rewrite hdr.size). */
+            ring->str_used = 0;
+
+            switch ( hdr.cmd )
+            {
+            default:
+                syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
+                       ring->device->domid, ring->device->devid, hdr.cmd);
+                p9_error(ring, hdr.tag, EOPNOTSUPP);
+                break;
+            }
 
             ring->handle_response = true;
             hdr.size = ((struct p9_header *)ring->buffer)->size;
@@ -174,6 +370,7 @@ void *io_thread(void *arg)
         }
     }
 
+    free(ring->str);
     free(ring->buffer);
 
     ring->thread_active = false;
diff --git a/tools/xen-9pfsd/xen-9pfsd.h b/tools/xen-9pfsd/xen-9pfsd.h
index 7d6921f164..5ff87ca5bd 100644
--- a/tools/xen-9pfsd/xen-9pfsd.h
+++ b/tools/xen-9pfsd/xen-9pfsd.h
@@ -46,6 +46,9 @@ struct ring {
     bool error;             /* Protocol error - stop processing. */
     bool handle_response;   /* Main loop now handling response. */
     void *buffer;           /* Request/response buffer. */
+    char *str;              /* String work space. */
+    unsigned int str_size;  /* Size of *str. */
+    unsigned int str_used;  /* Currently used size of *str. */
 };
 
 struct device {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:08:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:08:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630470.983349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U3n-00066g-TS; Fri, 10 Nov 2023 16:08:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630470.983349; Fri, 10 Nov 2023 16: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 1r1U3n-00066U-QC; Fri, 10 Nov 2023 16:08:43 +0000
Received: by outflank-mailman (input) for mailman id 630470;
 Fri, 10 Nov 2023 16:08: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U3m-0004cS-NU
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08: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 69fcd54a-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:08:40 +0100 (CET)
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 A5A642187C;
 Fri, 10 Nov 2023 16:08: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 7E56313398;
 Fri, 10 Nov 2023 16:08:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id TzSmHYhVTmWcCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:08: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: 69fcd54a-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632520; 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=tooUvz6FSGb8K06sOpKXRnrRbkqffRx97szMMei45Hw=;
	b=tlA6p9t0nSccOSbLTO1kBgNwYEhf7tr2LWfp19PpywVRZtrYcoxjVLHClDng+TR5AZ0GwF
	oU/67O/XZ3hmx3D9vtOkAOGM608YPfTSnrdJ5ltNtBEzZOJi2JbbGQ2k5ZnH8PUJLYdMvJ
	d8VcQNxaHlDufltVxLdyE4UymsV7X8k=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 06/29] tools/xenlogd: add 9pfs version request support
Date: Fri, 10 Nov 2023 17:07:41 +0100
Message-Id: <20231110160804.29021-7-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the version request of the 9pfs protocol. For the version use the
"9P2000.u" variant, as it is supported by Mini-OS and Linux.

For the request parsing add all format items needed even in future in
order to avoid code churn for those additions later.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/xen-9pfsd/io.c | 201 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 201 insertions(+)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index a64199c9de..18f81319b4 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -22,8 +22,12 @@
 #include "xen-9pfsd.h"
 
 /* P9 protocol commands (response is either cmd+1 or P9_CMD_ERROR). */
+#define P9_CMD_VERSION    100
 #define P9_CMD_ERROR      107
 
+#define P9_MIN_MSIZE      2048
+#define P9_VERSION        "9P2000.u"
+
 struct p9_qid {
     uint8_t type;
 #define QID_TYPE_DIR      0x80
@@ -276,6 +280,169 @@ static unsigned int add_string(struct ring *ring, const char *str,
     return ret;
 }
 
+static bool chk_data(struct ring *ring, void *data, unsigned int len)
+{
+    struct p9_header *hdr = ring->buffer;
+
+    if ( data + len <= ring->buffer + hdr->size )
+        return true;
+
+    errno = E2BIG;
+
+    return false;
+}
+
+static bool fill_data_elem(void **par, void **array, unsigned int *array_sz,
+                           unsigned int elem_sz, void *data)
+{
+    if ( *array_sz && !*array )
+    {
+        *array = calloc(*array_sz, elem_sz);
+        if ( !*array )
+            return false;
+        *par = *array;
+    }
+
+    memcpy(*par, data, elem_sz);
+
+    if ( *array_sz )
+    {
+        *par += elem_sz;
+        *array_sz -= 1;
+    }
+
+    return true;
+}
+
+/*
+ * Fill variables with request data.
+ * fmt is a sequence of format characters. Supported characters are:
+ * a: an array (2 bytes number of elements + the following format as elements)
+ *    The number of elements is stored in the first unsigned int parameter, the
+ *    next parameter is a pointer to an array of elements as denoted by the next
+ *    format character. The array is allocated dynamically.
+ * b: 1 byte unsigned integer
+ *    The value is stored in the next parameter with type uint8_t.
+ * D: Data blob (4 byte length + <length> bytes)
+ *    2 parameters are consumed, first an unsigned int for the length, then a
+ *    pointer to the first uint8_t value.
+ *    No array support.
+ * L: 8 byte unsigned integer
+ *    The value is stored in the next parameter with type uint64_t.
+ * S: String (2 byte length + <length> characters)
+ *    The 0-terminated string is stored in device->str + off, off is stored in
+ *    the next parameter with type unsigned int.
+ * U: 4 byte unsigned integer
+ *    The value is stored in the next parameter with type uint32_t.
+ *
+ * Return value: number of filled variables, errno will be set in case of
+ *   error.
+ */
+static int fill_data(struct ring *ring, const char *fmt, ...)
+{
+    struct p9_header *hdr = ring->buffer;
+    void *data = hdr + 1;
+    void *par;
+    unsigned int pars = 0;
+    const char *f;
+    va_list ap;
+    unsigned int len;
+    unsigned int str_off;
+    unsigned int array_sz = 0;
+    void **array = NULL;
+
+    va_start(ap, fmt);
+
+    for ( f = fmt; *f; f++ )
+    {
+        if ( !array_sz )
+            par = va_arg(ap, void *);
+
+        switch ( *f )
+        {
+        case 'a':
+            f++;
+            if ( !*f || array_sz )
+                fmt_err(fmt);
+            if ( !chk_data(ring, data, sizeof(uint16_t)) )
+                return pars;
+            array_sz = *(__packed uint16_t *)data;
+            data += sizeof(uint16_t);
+            *(unsigned int *)par = array_sz;
+            array = va_arg(ap, void **);
+            *array = NULL;
+            break;
+
+        case 'b':
+            if ( !chk_data(ring, data, sizeof(uint8_t)) )
+                return pars;
+            if ( !fill_data_elem(&par, array, &array_sz, sizeof(uint8_t),
+                                 data) )
+                return pars;
+            data += sizeof(uint8_t);
+            break;
+
+        case 'D':
+            if ( array_sz )
+                fmt_err(fmt);
+            if ( !chk_data(ring, data, sizeof(uint32_t)) )
+                return pars;
+            len = *(__packed uint32_t *)data;
+            data += sizeof(uint32_t);
+            *(unsigned int *)par = len;
+            par = va_arg(ap, void *);
+            if ( !chk_data(ring, data, len) )
+                return pars;
+            memcpy(par, data, len);
+            data += len;
+            break;
+
+        case 'L':
+            if ( !chk_data(ring, data, sizeof(uint64_t)) )
+                return pars;
+            if ( !fill_data_elem(&par, array, &array_sz, sizeof(uint64_t),
+                                 data) )
+                return pars;
+            data += sizeof(uint64_t);
+            break;
+
+        case 'S':
+            if ( !chk_data(ring, data, sizeof(uint16_t)) )
+                return pars;
+            len = *(__packed uint16_t *)data;
+            data += sizeof(uint16_t);
+            if ( !chk_data(ring, data, len) )
+                return pars;
+            str_off = add_string(ring, data, len);
+            if ( str_off == ~0 )
+                return pars;
+            if ( !fill_data_elem(&par, array, &array_sz, sizeof(unsigned int),
+                                 &str_off) )
+                return pars;
+            data += len;
+            break;
+
+        case 'U':
+            if ( !chk_data(ring, data, sizeof(uint32_t)) )
+                return pars;
+            if ( !fill_data_elem(&par, array, &array_sz, sizeof(uint32_t),
+                                 data) )
+                return pars;
+            data += sizeof(uint32_t);
+            break;
+
+        default:
+            fmt_err(fmt);
+        }
+
+        if ( array_sz )
+            f--;
+        pars++;
+    }
+
+    return pars;
+}
+
 static void p9_error(struct ring *ring, uint16_t tag, uint32_t err)
 {
     unsigned int erroff;
@@ -287,6 +454,36 @@ static void p9_error(struct ring *ring, uint16_t tag, uint32_t err)
                 &err);
 }
 
+static void p9_version(struct ring *ring, struct p9_header *hdr)
+{
+    uint32_t max_size;
+    unsigned int off;
+    char *version;
+    int ret;
+
+    ret = fill_data(ring, "US", &max_size, &off);
+    if ( ret != 2 )
+    {
+        p9_error(ring, hdr->tag, errno);
+        return;
+    }
+
+    if ( max_size < P9_MIN_MSIZE )
+    {
+        p9_error(ring, hdr->tag, EMSGSIZE);
+        return;
+    }
+
+    if ( max_size < ring->max_size )
+        ring->max_size = max_size;
+
+    version = ring->str + off;
+    if ( strcmp(version, P9_VERSION) )
+        version = "unknown";
+
+    fill_buffer(ring, hdr->cmd + 1, hdr->tag, "US", &ring->max_size, version);
+}
+
 void *io_thread(void *arg)
 {
     struct ring *ring = arg;
@@ -342,6 +539,10 @@ void *io_thread(void *arg)
 
             switch ( hdr.cmd )
             {
+            case P9_CMD_VERSION:
+                p9_version(ring, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        ring->device->domid, ring->device->devid, hdr.cmd);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:08:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:08:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630476.983360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U3t-0006WT-D3; Fri, 10 Nov 2023 16:08:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630476.983360; Fri, 10 Nov 2023 16: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 1r1U3t-0006WG-9e; Fri, 10 Nov 2023 16:08:49 +0000
Received: by outflank-mailman (input) for mailman id 630476;
 Fri, 10 Nov 2023 16:08: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U3s-0004cS-JM
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08:48 +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 6d4ee1bb-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:08:46 +0100 (CET)
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 3D5432187C;
 Fri, 10 Nov 2023 16:08: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 14AF013398;
 Fri, 10 Nov 2023 16:08:46 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id i96uA45VTmWmCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:08: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: 6d4ee1bb-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632526; 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=DXMUzNYrgUE7yKY/59/v2Vn6B+SqNKU5mV5KPcdYjpU=;
	b=fqE2QvSzbCJMwaxIhGm0OkBdBxXN6SUXC82ZvxfZaKcwnfbjpOoe0eg8jO/xT6vYkW0EM7
	JWOBKwBKgtcBNXHsxu2PtauLhlPTTzHHhRe0//VV7MpMtNpqle12Ib6mqIoaO5lSEueOuQ
	RQFfe9ClnyuKyvPk47PzZQEPb5vkEXQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 07/29] tools/xenlogd: add 9pfs attach request support
Date: Fri, 10 Nov 2023 17:07:42 +0100
Message-Id: <20231110160804.29021-8-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the attach request of the 9pfs protocol. This introduces the "fid"
scheme of the 9pfs protocol.

As this will be needed later, use a dedicated memory allocation
function in alloc_fid() and prepare a fid reference count.

For filling the qid data take the approach from the qemu 9pfs backend
implementation.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- make fill_qid() parameter stbuf const (Jason Andryuk)
- free fids after disconnecting guest (Jason Andryuk)
---
 tools/xen-9pfsd/io.c        | 155 ++++++++++++++++++++++++++++++++++++
 tools/xen-9pfsd/xen-9pfsd.c |   6 ++
 tools/xen-9pfsd/xen-9pfsd.h |  14 ++++
 3 files changed, 175 insertions(+)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index 18f81319b4..03e45d5f8b 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -16,6 +16,8 @@
 #include <stdlib.h>
 #include <string.h>
 #include <syslog.h>
+#include <sys/types.h>
+#include <sys/stat.h>
 #include <xenctrl.h>           /* For cpu barriers. */
 #include <xen-tools/common-macros.h>
 
@@ -23,6 +25,7 @@
 
 /* P9 protocol commands (response is either cmd+1 or P9_CMD_ERROR). */
 #define P9_CMD_VERSION    100
+#define P9_CMD_ATTACH     104
 #define P9_CMD_ERROR      107
 
 #define P9_MIN_MSIZE      2048
@@ -443,6 +446,118 @@ static int fill_data(struct ring *ring, const char *fmt, ...)
     return pars;
 }
 
+static struct p9_fid *find_fid(device *device, unsigned int fid)
+{
+    struct p9_fid *fidp;
+
+    XEN_TAILQ_FOREACH(fidp, &device->fids, list)
+    {
+        if ( fidp->fid == fid )
+            return fidp;
+    }
+
+    return NULL;
+}
+
+static struct p9_fid *alloc_fid_mem(device *device, unsigned int fid,
+                                    const char *path)
+{
+    struct p9_fid *fidp;
+    size_t pathlen;
+
+    pathlen = strlen(device->host_path) + strlen(path) + 1;
+    fidp = calloc(sizeof(*fidp) + pathlen, 1);
+    if ( !fidp )
+        return NULL;
+
+    fidp->fid = fid;
+    snprintf(fidp->path, pathlen, "%s%s", device->host_path, path);
+
+    return fidp;
+}
+
+static struct p9_fid *alloc_fid(device *device, unsigned int fid,
+                                const char *path)
+{
+    struct p9_fid *fidp = NULL;
+
+    pthread_mutex_lock(&device->fid_mutex);
+
+    if ( find_fid(device, fid) )
+    {
+        errno = EBADFD;
+        goto out;
+    }
+
+    if ( device->n_fids >= device->max_open_files )
+    {
+        errno = EMFILE;
+        goto out;
+    }
+
+    fidp = alloc_fid_mem(device, fid, path);
+    if ( !fidp )
+        goto out;
+
+    fidp->ref = 1;
+    XEN_TAILQ_INSERT_HEAD(&device->fids, fidp, list);
+    device->n_fids++;
+
+ out:
+    pthread_mutex_unlock(&device->fid_mutex);
+
+    return fidp;
+}
+
+static void free_fid(device *device, struct p9_fid *fidp)
+{
+    if ( !fidp )
+        return;
+
+    pthread_mutex_lock(&device->fid_mutex);
+
+    fidp->ref--;
+    if ( !fidp->ref )
+    {
+        device->n_fids--;
+        XEN_TAILQ_REMOVE(&device->fids, fidp, list);
+        free(fidp);
+    }
+
+    pthread_mutex_unlock(&device->fid_mutex);
+}
+
+void free_fids(device *device)
+{
+    struct p9_fid *fidp;
+
+    while ( (fidp = XEN_TAILQ_FIRST(&device->fids)) != NULL )
+    {
+        XEN_TAILQ_REMOVE(&device->fids, fidp, list);
+        free(fidp);
+    }
+}
+
+static int fill_qid(const char *path, struct p9_qid *qid,
+                    const struct stat *stbuf)
+{
+    struct stat st;
+
+    if ( !stbuf )
+    {
+        if ( stat(path, &st) )
+            return errno;
+
+        stbuf = &st;
+    }
+
+    qid->type = S_ISDIR(stbuf->st_mode) ? QID_TYPE_DIR : 0;
+    qid->version = stbuf->st_mtime ^ (stbuf->st_size << 8);
+    qid->path = stbuf->st_ino;
+
+    return 0;
+}
+
 static void p9_error(struct ring *ring, uint16_t tag, uint32_t err)
 {
     unsigned int erroff;
@@ -484,6 +599,42 @@ static void p9_version(struct ring *ring, struct p9_header *hdr)
     fill_buffer(ring, hdr->cmd + 1, hdr->tag, "US", &ring->max_size, version);
 }
 
+static void p9_attach(struct ring *ring, struct p9_header *hdr)
+{
+    device *device = ring->device;
+    uint32_t fid;
+    uint32_t dummy_u32;
+    unsigned int dummy_uint;
+    struct p9_qid qid;
+    int ret;
+
+    ret = fill_data(ring, "UUSSU", &fid, &dummy_u32, &dummy_uint, &dummy_uint,
+                    &dummy_u32);
+    if ( ret != 5 )
+    {
+        p9_error(ring, hdr->tag, errno);
+        return;
+    }
+
+    device->root_fid = alloc_fid(device, fid, "");
+    if ( !device->root_fid )
+    {
+        p9_error(ring, hdr->tag, errno);
+        return;
+    }
+
+    ret = fill_qid(device->host_path, &qid, NULL);
+    if ( ret )
+    {
+        free_fid(device, device->root_fid);
+        device->root_fid = NULL;
+        p9_error(ring, hdr->tag, ret);
+        return;
+    }
+
+    fill_buffer(ring, hdr->cmd + 1, hdr->tag, "Q", &qid);
+}
+
 void *io_thread(void *arg)
 {
     struct ring *ring = arg;
@@ -543,6 +694,10 @@ void *io_thread(void *arg)
                 p9_version(ring, &hdr);
                 break;
 
+            case P9_CMD_ATTACH:
+                p9_attach(ring, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        ring->device->domid, ring->device->devid, hdr.cmd);
diff --git a/tools/xen-9pfsd/xen-9pfsd.c b/tools/xen-9pfsd/xen-9pfsd.c
index cc5734402d..534c0cefa5 100644
--- a/tools/xen-9pfsd/xen-9pfsd.c
+++ b/tools/xen-9pfsd/xen-9pfsd.c
@@ -278,6 +278,9 @@ static device *new_device(unsigned int domid, unsigned int devid)
         return NULL;
     }
 
+    pthread_mutex_init(&device->fid_mutex, NULL);
+    XEN_TAILQ_INIT(&device->fids);
+
     val = read_backend_node(device, "security_model");
     if ( !val || strcmp(val, "none") )
     {
@@ -370,6 +373,8 @@ static void disconnect_guest(device *device)
     }
 
     device->num_rings = 0;
+
+    free_fids(device);
 }
 
 static void close_device(device *device, enum xenbus_state state)
@@ -454,6 +459,7 @@ static void remove_device(device *device)
     XEN_TAILQ_REMOVE(&devs, device, list);
 
     disconnect_guest(device);
+    pthread_mutex_destroy(&device->fid_mutex);
     free_device(device);
 }
 
diff --git a/tools/xen-9pfsd/xen-9pfsd.h b/tools/xen-9pfsd/xen-9pfsd.h
index 5ff87ca5bd..e511acdb76 100644
--- a/tools/xen-9pfsd/xen-9pfsd.h
+++ b/tools/xen-9pfsd/xen-9pfsd.h
@@ -21,6 +21,13 @@ struct p9_header {
     uint16_t tag;
 } __attribute__((packed));
 
+struct p9_fid {
+    XEN_TAILQ_ENTRY(struct p9_fid) list;
+    unsigned int fid;
+    unsigned int ref;
+    char path[];
+};
+
 typedef struct device device;
 
 struct ring {
@@ -70,10 +77,17 @@ struct device {
     enum xenbus_state frontend_state;
     unsigned int num_rings;
     struct ring *ring[MAX_RINGS];
+
+    /* File system handling. */
+    pthread_mutex_t fid_mutex;
+    XEN_TAILQ_HEAD(fidhead, struct p9_fid) fids;
+    struct p9_fid *root_fid;
+    unsigned int n_fids;
 };
 
 extern xenevtchn_handle *xe;
 
 void *io_thread(void *arg);
+void free_fids(device *device);
 
 #endif /* XEN_9PFSD_H */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:08:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630478.983370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U3y-0006ws-N0; Fri, 10 Nov 2023 16:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630478.983370; Fri, 10 Nov 2023 16: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 1r1U3y-0006wj-Ih; Fri, 10 Nov 2023 16:08:54 +0000
Received: by outflank-mailman (input) for mailman id 630478;
 Fri, 10 Nov 2023 16: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U3x-0004cS-MI
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08:53 +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 709e9f67-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:08:52 +0100 (CET)
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 C40FB1F8BD;
 Fri, 10 Nov 2023 16:08: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 9D4C413398;
 Fri, 10 Nov 2023 16:08:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id go4CJZNVTmWtCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:08: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: 709e9f67-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632531; 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=yCnoHphD4HsPnyqo8Rif8MZ+KRauUhOK16PVIiar+e4=;
	b=j6pAGEZXlSZA9LCZF0PTqGm2Xhn+ZB9R/boeq01bE+rb6Jrmqi0Io1yMbSQzHTSGWBAJ/z
	6ib3wsgqol4YKg3u+sJ0rOxCI50Dx7JnRE6tb/qkiMxTWLwYTWO26FB3ih5Dm2qq5n+l96
	C8uWMzGYVpT5THx7N+cOZYS5v+ZRW3A=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 08/29] tools/xenlogd: add 9pfs walk request support
Date: Fri, 10 Nov 2023 17:07:43 +0100
Message-Id: <20231110160804.29021-9-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the walk request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- don't allow walking across symbolic links
---
 tools/xen-9pfsd/io.c        | 172 ++++++++++++++++++++++++++++++++++++
 tools/xen-9pfsd/xen-9pfsd.h |   1 +
 2 files changed, 173 insertions(+)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index 03e45d5f8b..62c64474e6 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -27,9 +27,11 @@
 #define P9_CMD_VERSION    100
 #define P9_CMD_ATTACH     104
 #define P9_CMD_ERROR      107
+#define P9_CMD_WALK       110
 
 #define P9_MIN_MSIZE      2048
 #define P9_VERSION        "9P2000.u"
+#define P9_WALK_MAXELEM   16
 
 struct p9_qid {
     uint8_t type;
@@ -459,6 +461,21 @@ static struct p9_fid *find_fid(device *device, unsigned int fid)
     return NULL;
 }
 
+static struct p9_fid *get_fid_ref(device *device, unsigned int fid)
+{
+    struct p9_fid *fidp;
+
+    pthread_mutex_lock(&device->fid_mutex);
+
+    fidp = find_fid(device, fid);
+    if ( fidp )
+        fidp->ref++;
+
+    pthread_mutex_unlock(&device->fid_mutex);
+
+    return fidp;
+}
+
 static struct p9_fid *alloc_fid_mem(device *device, unsigned int fid,
                                     const char *path)
 {
@@ -551,6 +568,10 @@ static int fill_qid(const char *path, struct p9_qid *qid,
         stbuf = &st;
     }
 
+    /* Don't allow symbolic links. */
+    if ( S_ISLNK(stbuf->st_mode) )
+        return EMLINK;
+
     qid->type = S_ISDIR(stbuf->st_mode) ? QID_TYPE_DIR : 0;
     qid->version = stbuf->st_mtime ^ (stbuf->st_size << 8);
     qid->path = stbuf->st_ino;
@@ -558,6 +579,20 @@ static int fill_qid(const char *path, struct p9_qid *qid,
     return 0;
 }
 
+static bool name_ok(const char *str)
+{
+    if ( !*str )
+        return false;
+
+    if ( strchr(str, '/' ) )
+        return false;
+
+    if ( !strcmp(str, "..") || !strcmp(str, ".") )
+        return false;
+
+    return true;
+}
+
 static void p9_error(struct ring *ring, uint16_t tag, uint32_t err)
 {
     unsigned int erroff;
@@ -635,6 +670,139 @@ static void p9_attach(struct ring *ring, struct p9_header *hdr)
     fill_buffer(ring, hdr->cmd + 1, hdr->tag, "Q", &qid);
 }
 
+static void p9_walk(struct ring *ring, struct p9_header *hdr)
+{
+    device *device = ring->device;
+    uint32_t fid;
+    uint32_t newfid;
+    struct p9_fid *fidp = NULL;
+    struct p9_qid *qids = NULL;
+    unsigned int n_names = 0;
+    unsigned int *names = NULL;
+    unsigned int walked = 0;
+    unsigned int i;
+    char *path = NULL;
+    unsigned int path_len;
+    int ret;
+
+    ret = fill_data(ring, "UUaS", &fid, &newfid, &n_names, &names);
+    if ( n_names > P9_WALK_MAXELEM )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        goto out;
+    }
+    if ( ret != 3 + n_names )
+    {
+        p9_error(ring, hdr->tag, errno);
+        goto out;
+    }
+
+    fidp = get_fid_ref(device, fid);
+    if ( !fidp )
+    {
+        p9_error(ring, hdr->tag, ENOENT);
+        goto out;
+    }
+    if ( fidp->opened )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        goto out;
+    }
+
+    path_len = strlen(fidp->path) + 1;
+    for ( i = 0; i < n_names; i++ )
+    {
+        if ( !name_ok(ring->str + names[i]) )
+        {
+            p9_error(ring, hdr->tag, ENOENT);
+            goto out;
+        }
+        path_len += strlen(ring->str + names[i]) + 1;
+    }
+    path = calloc(path_len + 1, 1);
+    if ( !path )
+    {
+        p9_error(ring, hdr->tag, ENOMEM);
+        goto out;
+    }
+    strcpy(path, fidp->path);
+
+    if ( n_names )
+    {
+        qids = calloc(n_names, sizeof(*qids));
+        if ( !qids )
+        {
+            p9_error(ring, hdr->tag, ENOMEM);
+            goto out;
+        }
+        for ( i = 0; i < n_names; i++ )
+        {
+            strcat(path, "/");
+            strcat(path, ring->str + names[i]);
+            ret = fill_qid(path, qids + i, NULL);
+            if ( ret )
+            {
+                if ( !walked )
+                {
+                    p9_error(ring, hdr->tag, errno);
+                    goto out;
+                }
+                break;
+            }
+            walked++;
+        }
+    }
+
+    if ( walked == n_names )
+    {
+        const char *rel_path = path + strlen(device->host_path);
+        bool ok = false;
+
+        if ( fid == newfid )
+        {
+            struct p9_fid *new_fidp;
+
+            pthread_mutex_lock(&device->fid_mutex);
+
+            if ( fidp->ref != 2 )
+            {
+                errno = EBUSY;
+            }
+            else
+            {
+                new_fidp = alloc_fid_mem(device, fid, rel_path);
+                if ( new_fidp )
+                {
+                    new_fidp->ref = 2;
+                    XEN_TAILQ_REMOVE(&device->fids, fidp, list);
+                    XEN_TAILQ_INSERT_HEAD(&device->fids, new_fidp, list);
+                    free(fidp);
+                    fidp = new_fidp;
+                    ok = true;
+                }
+            }
+
+            pthread_mutex_unlock(&device->fid_mutex);
+        }
+        else
+            ok = alloc_fid(device, newfid, rel_path);
+
+        if ( !ok )
+        {
+            p9_error(ring, hdr->tag, errno);
+            goto out;
+        }
+    }
+
+    fill_buffer(ring, hdr->cmd + 1, hdr->tag, "aQ", &walked, qids);
+
+ out:
+    free_fid(device, fidp);
+    free(qids);
+    free(path);
+    free(names);
+}
+
 void *io_thread(void *arg)
 {
     struct ring *ring = arg;
@@ -698,6 +866,10 @@ void *io_thread(void *arg)
                 p9_attach(ring, &hdr);
                 break;
 
+            case P9_CMD_WALK:
+                p9_walk(ring, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        ring->device->domid, ring->device->devid, hdr.cmd);
diff --git a/tools/xen-9pfsd/xen-9pfsd.h b/tools/xen-9pfsd/xen-9pfsd.h
index e511acdb76..75eaac9f7b 100644
--- a/tools/xen-9pfsd/xen-9pfsd.h
+++ b/tools/xen-9pfsd/xen-9pfsd.h
@@ -25,6 +25,7 @@ struct p9_fid {
     XEN_TAILQ_ENTRY(struct p9_fid) list;
     unsigned int fid;
     unsigned int ref;
+    bool opened;
     char path[];
 };
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630480.983380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U43-0007OZ-Vm; Fri, 10 Nov 2023 16:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630480.983380; Fri, 10 Nov 2023 16:08: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 1r1U43-0007OM-S4; Fri, 10 Nov 2023 16:08:59 +0000
Received: by outflank-mailman (input) for mailman id 630480;
 Fri, 10 Nov 2023 16:08: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U42-00048H-8s
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:08:58 +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 73f78584-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:08:57 +0100 (CET)
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 6C24D2187C;
 Fri, 10 Nov 2023 16:08: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 4723013398;
 Fri, 10 Nov 2023 16:08:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id qcEZEJlVTmW1CAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:08: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: 73f78584-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632537; 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=QiUP5xnrschicxXEJivLL6dPJo7q2V//fsn+oEaA+V0=;
	b=girxLdzabNpEHZ/6AXB/Uth9cG9z9CGZ0+wU4RIK3EQSv47y6jU4YNuPXkFp/+jHn8rvt8
	Vxjv4p8NKbefIH2YeLWj5EKLkXQJpz65r7B612ZGrEeNafF8bdmN5F3nmMpw3abxf8Opnm
	njjLB0K/7Z/9lc0EoktviqMlBjhy0AA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 09/29] tools/xenlogd: add 9pfs open request support
Date: Fri, 10 Nov 2023 17:07:44 +0100
Message-Id: <20231110160804.29021-10-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the open request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- don't allow to open symbolic link
---
 tools/xen-9pfsd/io.c        | 144 ++++++++++++++++++++++++++++++++++++
 tools/xen-9pfsd/xen-9pfsd.h |   4 +
 2 files changed, 148 insertions(+)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index 62c64474e6..bb9c78a1f5 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -18,6 +18,8 @@
 #include <syslog.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <dirent.h>
+#include <fcntl.h>
 #include <xenctrl.h>           /* For cpu barriers. */
 #include <xen-tools/common-macros.h>
 
@@ -28,6 +30,15 @@
 #define P9_CMD_ATTACH     104
 #define P9_CMD_ERROR      107
 #define P9_CMD_WALK       110
+#define P9_CMD_OPEN       112
+
+/* P9 protocol open flags. */
+#define P9_OREAD            0   /* read */
+#define P9_OWRITE           1   /* write */
+#define P9_ORDWR            2   /* read and write */
+#define P9_OMODEMASK     0x03
+#define P9_OTRUNC        0x10   /* or'ed in, truncate file first */
+#define P9_OREMOVE       0x40   /* or'ed in, remove file after clunk */
 
 #define P9_MIN_MSIZE      2048
 #define P9_VERSION        "9P2000.u"
@@ -803,6 +814,135 @@ static void p9_walk(struct ring *ring, struct p9_header *hdr)
     free(names);
 }
 
+static int open_flags_from_mode(uint8_t mode)
+{
+    int flags;
+
+    switch ( mode & P9_OMODEMASK )
+    {
+    case P9_OREAD:
+        flags = O_RDONLY;
+        break;
+
+    case P9_OWRITE:
+        flags = O_WRONLY;
+        break;
+
+    case P9_ORDWR:
+        flags = O_RDWR;
+        break;
+
+    default:
+        return -1;
+    }
+
+    if ( mode & P9_OTRUNC )
+        flags |= O_TRUNC;
+
+    return flags;
+}
+
+static unsigned int get_iounit(struct ring *ring, struct stat *st)
+{
+    return (ring->max_size - st->st_blksize) & ~(st->st_blksize - 1);
+}
+
+static void p9_open(struct ring *ring, struct p9_header *hdr)
+{
+    device *device = ring->device;
+    uint32_t fid;
+    uint8_t mode;
+    struct p9_fid *fidp;
+    struct stat st;
+    struct p9_qid qid;
+    uint32_t iounit;
+    int flags;
+    int ret;
+
+    ret = fill_data(ring, "Ub", &fid, &mode);
+    if ( ret != 2 )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+    if ( mode & ~(P9_OMODEMASK | P9_OTRUNC | P9_OREMOVE) )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = get_fid_ref(device, fid);
+    if ( !fidp )
+    {
+        p9_error(ring, hdr->tag, ENOENT);
+        return;
+    }
+    if ( fidp->opened )
+    {
+        free_fid(device, fidp);
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+
+    if ( stat(fidp->path, &st) < 0 )
+    {
+        free_fid(device, fidp);
+        p9_error(ring, hdr->tag, ENOENT);
+        return;
+    }
+
+    if ( S_ISLNK(st.st_mode) )
+    {
+        free_fid(device, fidp);
+        p9_error(ring, hdr->tag, EMLINK);
+        return;
+    }
+
+    fidp->isdir = S_ISDIR(st.st_mode);
+    fidp->mode = mode;
+    if ( fidp->isdir )
+    {
+        if ( mode != P9_OREAD )
+        {
+            free_fid(device, fidp);
+            p9_error(ring, hdr->tag, EINVAL);
+            return;
+        }
+        fidp->data = opendir(fidp->path);
+        if ( !fidp->data )
+        {
+            free_fid(device, fidp);
+            p9_error(ring, hdr->tag, errno);
+            return;
+        }
+        fidp->fd = dirfd(fidp->data);
+    }
+    else
+    {
+        flags = open_flags_from_mode(mode);
+        if ( flags < 0 )
+        {
+            free_fid(device, fidp);
+            p9_error(ring, hdr->tag, EINVAL);
+            return;
+        }
+
+        fidp->fd = open(fidp->path, flags);
+        if ( fidp->fd < 0 )
+        {
+            free_fid(device, fidp);
+            p9_error(ring, hdr->tag, errno);
+            return;
+        }
+    }
+
+    fill_qid(fidp->path, &qid, &st);
+    iounit = get_iounit(ring, &st);
+    fidp->opened = true;
+
+    fill_buffer(ring, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
+}
+
 void *io_thread(void *arg)
 {
     struct ring *ring = arg;
@@ -870,6 +1010,10 @@ void *io_thread(void *arg)
                 p9_walk(ring, &hdr);
                 break;
 
+            case P9_CMD_OPEN:
+                p9_open(ring, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        ring->device->domid, ring->device->devid, hdr.cmd);
diff --git a/tools/xen-9pfsd/xen-9pfsd.h b/tools/xen-9pfsd/xen-9pfsd.h
index 75eaac9f7b..1ca3093f1a 100644
--- a/tools/xen-9pfsd/xen-9pfsd.h
+++ b/tools/xen-9pfsd/xen-9pfsd.h
@@ -25,7 +25,11 @@ struct p9_fid {
     XEN_TAILQ_ENTRY(struct p9_fid) list;
     unsigned int fid;
     unsigned int ref;
+    int fd;
+    uint8_t mode;
     bool opened;
+    bool isdir;
+    void *data;    /* File type specific. */
     char path[];
 };
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:09:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:09:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630483.983390 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U4F-0008Bs-7m; Fri, 10 Nov 2023 16:09:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630483.983390; Fri, 10 Nov 2023 16:09: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 1r1U4F-0008Bl-4y; Fri, 10 Nov 2023 16:09:11 +0000
Received: by outflank-mailman (input) for mailman id 630483;
 Fri, 10 Nov 2023 16:09: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U4D-00048H-Cj
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09: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 7a95d5d6-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:09:08 +0100 (CET)
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 84D2D1F8BE;
 Fri, 10 Nov 2023 16:09:08 +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 5E46413398;
 Fri, 10 Nov 2023 16:09:08 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2bevFaRVTmXVCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:09: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: 7a95d5d6-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632548; 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=kpIVjIc8Trw1a/1y0NH1SiQxKICQ+nMOfKarWypzx+Q=;
	b=tGXwddmjostmiVooVmFEGT5GCy6dfbDfopotvd5d+wVp1RGi2PHYRILi/W4F6LMkp07pox
	brh1LY9ikmCqgQYUN681aEqWl8P0tua4LTCQ3JwCpNQMnrkY0O9W6Mpls3silg87cMS8pK
	7U+KtwvBgm5L2sM/ZgohYPJv0GlcwhE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 11/29] tools/xenlogd: add 9pfs create request support
Date: Fri, 10 Nov 2023 17:07:46 +0100
Message-Id: <20231110160804.29021-12-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the create request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- set permissions correctly (Jason Andryuk)
---
 tools/xen-9pfsd/io.c | 159 +++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 159 insertions(+)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index c182ef0483..a605f51dc6 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -31,6 +31,7 @@
 #define P9_CMD_ERROR      107
 #define P9_CMD_WALK       110
 #define P9_CMD_OPEN       112
+#define P9_CMD_CREATE     114
 #define P9_CMD_CLUNK      120
 
 /* P9 protocol open flags. */
@@ -41,6 +42,12 @@
 #define P9_OTRUNC        0x10   /* or'ed in, truncate file first */
 #define P9_OREMOVE       0x40   /* or'ed in, remove file after clunk */
 
+/* P9 protocol create permission masks. */
+#define P9_CREATE_PERM_DIR        0x80000000
+#define P9_CREATE_PERM_NOTSUPP    0x03b00000   /* link, symlink, ... */
+#define P9_CREATE_PERM_DIR_MASK   0777
+#define P9_CREATE_PERM_FILE_MASK  0666
+
 #define P9_MIN_MSIZE      2048
 #define P9_VERSION        "9P2000.u"
 #define P9_WALK_MAXELEM   16
@@ -944,6 +951,154 @@ static void p9_open(struct ring *ring, struct p9_header *hdr)
     fill_buffer(ring, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
 }
 
+static void p9_create(struct ring *ring, struct p9_header *hdr)
+{
+    device *device = ring->device;
+    uint32_t fid;
+    unsigned int name_off;
+    uint32_t perm;
+    uint8_t mode;
+    unsigned int ext_off;
+    struct p9_fid *fidp;
+    struct p9_fid *new_fidp;
+    char *path;
+    struct stat st;
+    struct p9_qid qid;
+    uint32_t iounit;
+    int flags;
+    int ret;
+
+    ret = fill_data(ring, "USUbS", &fid, &name_off, &perm, &mode, &ext_off);
+    if ( ret != 5 )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+
+    if ( !name_ok(ring->str + name_off) )
+    {
+        p9_error(ring, hdr->tag, ENOENT);
+        return;
+    }
+
+    if ( perm & P9_CREATE_PERM_NOTSUPP )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = get_fid_ref(device, fid);
+    if ( !fidp || fidp->opened )
+    {
+        free_fid(device, fidp);
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+    if ( stat(fidp->path, &st) < 0 )
+    {
+        free_fid(device, fidp);
+        p9_error(ring, hdr->tag, errno);
+        return;
+    }
+
+    path = malloc(strlen(fidp->path) + strlen(ring->str + name_off) + 2 -
+                  strlen(device->host_path));
+    if ( !path )
+    {
+        free_fid(device, fidp);
+        p9_error(ring, hdr->tag, ENOMEM);
+        return;
+    }
+    sprintf(path, "%s/%s", fidp->path + strlen(device->host_path),
+            ring->str + name_off);
+    new_fidp = alloc_fid_mem(device, fid, path);
+    free(path);
+    if ( !new_fidp )
+    {
+        free_fid(device, fidp);
+        p9_error(ring, hdr->tag, ENOMEM);
+        return;
+    }
+
+    pthread_mutex_lock(&device->fid_mutex);
+
+    new_fidp->ref = fidp->ref;
+
+    if ( perm & P9_CREATE_PERM_DIR )
+    {
+        perm &= P9_CREATE_PERM_DIR_MASK & st.st_mode;
+        if ( mode != P9_OREAD )
+        {
+            p9_error(ring, hdr->tag, EINVAL);
+            free(new_fidp);
+            goto err;
+        }
+        if ( mkdir(new_fidp->path, perm) < 0 )
+        {
+            p9_error(ring, hdr->tag, errno);
+            free(new_fidp);
+            goto err;
+        }
+
+        XEN_TAILQ_REMOVE(&device->fids, fidp, list);
+        XEN_TAILQ_INSERT_HEAD(&device->fids, new_fidp, list);
+        free(fidp);
+        fidp = new_fidp;
+
+        fidp->data = opendir(fidp->path);
+        if ( !fidp->data )
+        {
+            p9_error(ring, hdr->tag, errno);
+            goto err;
+        }
+        fidp->fd = dirfd(fidp->data);
+    }
+    else
+    {
+        flags = open_flags_from_mode(mode);
+        if ( flags < 0 )
+        {
+            p9_error(ring, hdr->tag, EINVAL);
+            free(new_fidp);
+            goto err;
+        }
+        flags |= perm & P9_CREATE_PERM_FILE_MASK & st.st_mode;
+
+        XEN_TAILQ_REMOVE(&device->fids, fidp, list);
+        XEN_TAILQ_INSERT_HEAD(&device->fids, new_fidp, list);
+        free(fidp);
+        fidp = new_fidp;
+
+        fidp->fd = creat(fidp->path, flags);
+        if ( fidp->fd < 0 )
+        {
+            p9_error(ring, hdr->tag, errno);
+            goto err;
+        }
+    }
+
+    if ( stat(fidp->path, &st) < 0 )
+    {
+        p9_error(ring, hdr->tag, errno);
+        goto err;
+    }
+    fill_qid(fidp->path, &qid, &st);
+    iounit = get_iounit(ring, &st);
+    fidp->opened = true;
+    fidp->mode = mode;
+
+    pthread_mutex_unlock(&device->fid_mutex);
+
+    fill_buffer(ring, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
+
+    return;
+
+ err:
+    pthread_mutex_unlock(&device->fid_mutex);
+
+    free_fid(device, fidp);
+}
+
 static void p9_clunk(struct ring *ring, struct p9_header *hdr)
 {
     device *device = ring->device;
@@ -1052,6 +1207,10 @@ void *io_thread(void *arg)
                 p9_open(ring, &hdr);
                 break;
 
+            case P9_CMD_CREATE:
+                p9_create(ring, &hdr);
+                break;
+
             case P9_CMD_CLUNK:
                 p9_clunk(ring, &hdr);
                 break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:10:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:10:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630496.983399 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U5l-0002wG-MI; Fri, 10 Nov 2023 16:10:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630496.983399; Fri, 10 Nov 2023 16:10: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 1r1U5l-0002w9-Jf; Fri, 10 Nov 2023 16:10:45 +0000
Received: by outflank-mailman (input) for mailman id 630496;
 Fri, 10 Nov 2023 16: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U5k-0002ug-M7
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:10:44 +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 b332abae-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:10:43 +0100 (CET)
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 7FE1F2187C;
 Fri, 10 Nov 2023 16:10:43 +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 4D06913398;
 Fri, 10 Nov 2023 16:10:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id al5oEQNWTmWoCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:10: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: b332abae-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632643; 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=nTwqfROeJryVbG+zGDI1eHpfuMSuaLvCQQtzYJfCoiA=;
	b=RfWGZinRrRZXatry7aWM44E0EugGScZO8EY+COaF39FnMJ0L2nHzIdWHyYhe01fSp9Ggvx
	koEdsl8rqUB52mrn52sFcde5+r+1T4dlxVKk585dNo1PGHTc0CIya53xZ+j3Z6iNNyP47E
	YC84SwXTdFljWgQIhD0TroS+6PweTYM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 28/29] tools/xenstored: support complete log capabilities in stubdom
Date: Fri, 10 Nov 2023 17:08:03 +0100
Message-Id: <20231110160804.29021-29-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With 9pfs being fully available in Xenstore-stubdom now, there is no
reason to not fully support all logging capabilities in stubdom.

Open the logfile on stubdom only after the 9pfs file system has been
mounted.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/hotplug/Linux/launch-xenstore.in |  1 +
 tools/xenstored/control.c              | 30 +++++++++++++-------------
 tools/xenstored/minios.c               |  3 +++
 3 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/tools/hotplug/Linux/launch-xenstore.in b/tools/hotplug/Linux/launch-xenstore.in
index e854ca1eb8..da4eeca7c5 100644
--- a/tools/hotplug/Linux/launch-xenstore.in
+++ b/tools/hotplug/Linux/launch-xenstore.in
@@ -98,6 +98,7 @@ test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons && . @CONFIG_DIR@/@CONFIG_LEAF
 	[ -z "$XENSTORE_DOMAIN_SIZE" ] && XENSTORE_DOMAIN_SIZE=8
 	XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --memory $XENSTORE_DOMAIN_SIZE"
 	[ -z "$XENSTORE_MAX_DOMAIN_SIZE" ] || XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --maxmem $XENSTORE_MAX_DOMAIN_SIZE"
+	[ -z "$XENSTORED_TRACE" ] || XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS -T xenstored-trace.log"
 
 	echo -n Starting $XENSTORE_DOMAIN_KERNEL...
 	${LIBEXEC_BIN}/init-xenstore-domain $XENSTORE_DOMAIN_ARGS || exit 1
diff --git a/tools/xenstored/control.c b/tools/xenstored/control.c
index b2f64d674f..dae23a5ac0 100644
--- a/tools/xenstored/control.c
+++ b/tools/xenstored/control.c
@@ -201,19 +201,6 @@ static int do_control_quota_s(const void *ctx, struct connection *conn,
 	return EINVAL;
 }
 
-#ifdef __MINIOS__
-static int do_control_memreport(const void *ctx, struct connection *conn,
-				const char **vec, int num)
-{
-	if (num)
-		return EINVAL;
-
-	talloc_report_full(NULL, stdout);
-
-	send_ack(conn, XS_CONTROL);
-	return 0;
-}
-#else
 static int do_control_logfile(const void *ctx, struct connection *conn,
 			      const char **vec, int num)
 {
@@ -222,13 +209,26 @@ static int do_control_logfile(const void *ctx, struct connection *conn,
 
 	close_log();
 	talloc_free(tracefile);
-	tracefile = talloc_strdup(NULL, vec[0]);
+	tracefile = absolute_filename(NULL, vec[0]);
 	reopen_log();
 
 	send_ack(conn, XS_CONTROL);
 	return 0;
 }
 
+#ifdef __MINIOS__
+static int do_control_memreport(const void *ctx, struct connection *conn,
+				const char **vec, int num)
+{
+	if (num)
+		return EINVAL;
+
+	talloc_report_full(NULL, stdout);
+
+	send_ack(conn, XS_CONTROL);
+	return 0;
+}
+#else
 static int do_control_memreport(const void *ctx, struct connection *conn,
 				const char **vec, int num)
 {
@@ -309,10 +309,10 @@ static struct cmd_s cmds[] = {
 		"[-c <cmdline>] [-F] [-t <timeout>] <file>\n"
 		"    Default timeout is 60 seconds.", 5 },
 #endif
+	{ "logfile", do_control_logfile, "<file>" },
 #ifdef __MINIOS__
 	{ "memreport", do_control_memreport, "" },
 #else
-	{ "logfile", do_control_logfile, "<file>" },
 	{ "memreport", do_control_memreport, "[<file>]" },
 #endif
 	{ "print", do_control_print, "<string>" },
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index cfc2377857..9e78b96d07 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -92,6 +92,9 @@ static void mount_thread(void *p)
 	free(xenbus_unwatch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs"));
 
 	p9_device = init_9pfront(0, XENSTORE_LIB_DIR);
+
+	/* Start logging if selected. */
+	reopen_log();
 }
 
 void mount_9pfs(void)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:10:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:10:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630497.983410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U5q-0003El-VP; Fri, 10 Nov 2023 16:10:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630497.983410; Fri, 10 Nov 2023 16: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 1r1U5q-0003Ee-Rh; Fri, 10 Nov 2023 16:10:50 +0000
Received: by outflank-mailman (input) for mailman id 630497;
 Fri, 10 Nov 2023 16:10: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U5p-0002ug-Rp
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:10: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 b6873b0c-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:10:49 +0100 (CET)
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 1ABCF1F8BB;
 Fri, 10 Nov 2023 16:10: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 DC9B113398;
 Fri, 10 Nov 2023 16:10:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 10V8NAhWTmWwCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16: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>
X-Inumbo-ID: b6873b0c-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632649; 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=2stzGKgVm/SXqJipf+P7KPzRw/p+H9JtpMBW4gsBrV0=;
	b=P9MegLjse7d4oPkyrjeUoxIqukH5kaDe8okcyvleh8vWngucZYMpdNMzqQ2k+Dq361aOMo
	Uhxf9xEejcsGYXyo9bo3j4AOXcYmB/qgjZoKF36NerWjvNRA9Yf2aGpma3B5Yg6nml9evu
	9gVRyndUaOlHj7NByBdVVn8aqenIOXo=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 29/29] tools/xenstored: have a single do_control_memreport()
Date: Fri, 10 Nov 2023 17:08:04 +0100
Message-Id: <20231110160804.29021-30-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

With 9pfs now available in Xenstore-stubdom, there is no reason to
have distinct do_control_memreport() variants for the daemon and the
stubdom implementations.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/xenstored/control.c | 27 +++++++--------------------
 1 file changed, 7 insertions(+), 20 deletions(-)

diff --git a/tools/xenstored/control.c b/tools/xenstored/control.c
index dae23a5ac0..7db2c4703b 100644
--- a/tools/xenstored/control.c
+++ b/tools/xenstored/control.c
@@ -216,23 +216,11 @@ static int do_control_logfile(const void *ctx, struct connection *conn,
 	return 0;
 }
 
-#ifdef __MINIOS__
-static int do_control_memreport(const void *ctx, struct connection *conn,
-				const char **vec, int num)
-{
-	if (num)
-		return EINVAL;
-
-	talloc_report_full(NULL, stdout);
-
-	send_ack(conn, XS_CONTROL);
-	return 0;
-}
-#else
 static int do_control_memreport(const void *ctx, struct connection *conn,
 				const char **vec, int num)
 {
 	FILE *fp;
+	char *filename;
 	int fd;
 
 	if (num > 1)
@@ -255,8 +243,12 @@ static int do_control_memreport(const void *ctx, struct connection *conn,
 			if (!fp)
 				close(fd);
 		}
-	} else
-		fp = fopen(vec[0], "a");
+	} else {
+		filename = absolute_filename(ctx, vec[0]);
+		if (!filename)
+			return ENOMEM;
+		fp = fopen(filename, "a");
+	}
 
 	if (!fp)
 		return EBADF;
@@ -267,7 +259,6 @@ static int do_control_memreport(const void *ctx, struct connection *conn,
 	send_ack(conn, XS_CONTROL);
 	return 0;
 }
-#endif
 
 static int do_control_print(const void *ctx, struct connection *conn,
 			    const char **vec, int num)
@@ -310,11 +301,7 @@ static struct cmd_s cmds[] = {
 		"    Default timeout is 60 seconds.", 5 },
 #endif
 	{ "logfile", do_control_logfile, "<file>" },
-#ifdef __MINIOS__
-	{ "memreport", do_control_memreport, "" },
-#else
 	{ "memreport", do_control_memreport, "[<file>]" },
-#endif
 	{ "print", do_control_print, "<string>" },
 	{ "quota", do_control_quota,
 		"[set <name> <val>|<domid>|max [-r]]" },
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:13:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:13:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630516.983420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U8X-000566-CD; Fri, 10 Nov 2023 16:13:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630516.983420; Fri, 10 Nov 2023 16:13: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 1r1U8X-00055z-8d; Fri, 10 Nov 2023 16:13:37 +0000
Received: by outflank-mailman (input) for mailman id 630516;
 Fri, 10 Nov 2023 16:13: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=YK6u=GX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r1U8W-00055t-1W
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:13:36 +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 1970fbc5-7fe4-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:13:35 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-50930f126b1so2816024e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:13:35 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 f13-20020a5d4dcd000000b0032fb0e2087asm2173840wru.82.2023.11.10.08.13.32
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Nov 2023 08:13:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1970fbc5-7fe4-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699632813; x=1700237613; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=gsoeZkTpZBjVZzhCzko8NUFFRlnOwUB3/Spqtko7WMw=;
        b=am/MCeh/fZqkA9FovK4+P4VZr6sSGtSObwbMamzbmr7v20TyRsN7S1pAKHkeeOiBAg
         rhTjI6zfD1YL5Ylb7WQ68N1A/YM+ULFw1W4yAvfZUKGfD0XiKQu72PgcvbNCw3pSI1UM
         OiySTdS86ZYJQCGRMBtxC6R+fhw0W7zZ3a7Oc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699632813; x=1700237613;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=gsoeZkTpZBjVZzhCzko8NUFFRlnOwUB3/Spqtko7WMw=;
        b=dGGxJlz+zcJ6GRAHt/dWa9SGtWHJpzWuJCVkTMSa7AdVQ1AioXhbjpFUjiJwgO5Ubk
         Ra3k28afgq+cE2DUlghZgoTaVMDe0FR4qPxh4wPFYgSJ8/0DyQhlkhTKZFAPVbHAe2G+
         z1s/HU0eCijbP/mJ10LBM3DXTta2gJ6fTNRk3Tiwnk9EzmSBYGMxqTyz9KASw8YX8GBe
         Ds7n/bkqtwgaEuEjkH+aNA7+Anu/mzI2YiQfbQIKHSpzxwqMh+ZjD1z4KLyfI6IKXHX0
         kp3DYhEGH+CnvbEWvxGbnLVabsU7bl4mAoltjyNlSVZRR3R/con9cLpDlRTdiPI+T9Cn
         0wlQ==
X-Gm-Message-State: AOJu0YwgQ4BKr1qLtBP1GQlteOolgP3HJEdrWGOloJ9ha5y6J2zymQCI
	jQ+tQJf2mi/aiTZqcqLg8wVVSQ==
X-Google-Smtp-Source: AGHT+IF2vQ44dtgRNMWVvuTof5N2/eoCIw/Gj+kIUKVz/1Bg3RtfnoRzId+qBkz+tulWcTzwxE7d6Q==
X-Received: by 2002:ac2:5304:0:b0:508:264e:2ded with SMTP id c4-20020ac25304000000b00508264e2dedmr4233356lfh.38.1699632812724;
        Fri, 10 Nov 2023 08:13:32 -0800 (PST)
Message-ID: <4066bfef-391d-44d7-9077-a75c5538419b@citrix.com>
Date: Fri, 10 Nov 2023 16:13:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/29] tools: add a new xen logging daemon
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-3-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231110160804.29021-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Subject wants a log->9pfsd adjustment too

On 10/11/2023 4:07 pm, Juergen Gross wrote:
> diff --git a/tools/xen-9pfsd/xen-9pfsd.c b/tools/xen-9pfsd/xen-9pfsd.c
> new file mode 100644
> index 0000000000..c365b35fe5
> --- /dev/null
> +++ b/tools/xen-9pfsd/xen-9pfsd.c
> @@ -0,0 +1,145 @@
> +/* SPDX-License-Identifier: GPL-2.0 */

Sorry I didn't notice this before.  This is a deprecated SDPX tag now,
and the preferred form is with an explicit -only or -or-later suffix.

I presume you mean -only in this case?

(Happy to fix both up on commit if there are no other issues.)

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:14:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:14:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630521.983430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U9J-0005oW-KX; Fri, 10 Nov 2023 16:14:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630521.983430; Fri, 10 Nov 2023 16:14: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 1r1U9J-0005nO-HA; Fri, 10 Nov 2023 16:14:25 +0000
Received: by outflank-mailman (input) for mailman id 630521;
 Fri, 10 Nov 2023 16:14: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U9H-00055t-KM
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:14:23 +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 35f52aed-7fe4-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:14:23 +0100 (CET)
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 C76CA1F8BB;
 Fri, 10 Nov 2023 16:14: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 A371313398;
 Fri, 10 Nov 2023 16:14:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HDpxJtpWTmUtCwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:14: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: 35f52aed-7fe4-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632858; 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:autocrypt:autocrypt;
	bh=HYg4vbcumDe8UXGSa93vgRoDHpRtR3ohpzYEueMwMjk=;
	b=XIP0oVBlZgRz5toQot+1383LPZZ9H7pO1EW2w9DfRC+5GtTEZBf2DmD8Ybc02cQjWIKezP
	9acCc9Y1R1lTRvToKLU2wgDwphUHtjPTcjBqAai+VmLL9HVJC6/ab4hF7FG9w6fm+hE02B
	Vgrdy3skmyxVBmRNd8pKutIruydM6Nc=
Message-ID: <3a7e318a-5204-4c24-837b-0bd3dba1cee5@suse.com>
Date: Fri, 10 Nov 2023 17:14:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/29] tools: add a new xen logging daemon
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-3-jgross@suse.com>
 <4066bfef-391d-44d7-9077-a75c5538419b@citrix.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <4066bfef-391d-44d7-9077-a75c5538419b@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------KfnAFx0P5x5iwQES9MdftKtz"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------KfnAFx0P5x5iwQES9MdftKtz
Content-Type: multipart/mixed; boundary="------------GJWxHzPXEdpwB3dXbyVuvLmj";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <3a7e318a-5204-4c24-837b-0bd3dba1cee5@suse.com>
Subject: Re: [PATCH v2 02/29] tools: add a new xen logging daemon
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-3-jgross@suse.com>
 <4066bfef-391d-44d7-9077-a75c5538419b@citrix.com>
In-Reply-To: <4066bfef-391d-44d7-9077-a75c5538419b@citrix.com>

--------------GJWxHzPXEdpwB3dXbyVuvLmj
Content-Type: multipart/mixed; boundary="------------UNJYjaM1dPA2r0ybtFHgB3eu"

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

T24gMTAuMTEuMjMgMTc6MTMsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IFN1YmplY3Qgd2Fu
dHMgYSBsb2ctPjlwZnNkIGFkanVzdG1lbnQgdG9vDQo+IA0KPiBPbiAxMC8xMS8yMDIzIDQ6
MDcgcG0sIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVu
LTlwZnNkL3hlbi05cGZzZC5jIGIvdG9vbHMveGVuLTlwZnNkL3hlbi05cGZzZC5jDQo+PiBu
ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPj4gaW5kZXggMDAwMDAwMDAwMC4uYzM2NWIzNWZlNQ0K
Pj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvdG9vbHMveGVuLTlwZnNkL3hlbi05cGZzZC5j
DQo+PiBAQCAtMCwwICsxLDE0NSBAQA0KPj4gKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy
OiBHUEwtMi4wICovDQo+IA0KPiBTb3JyeSBJIGRpZG4ndCBub3RpY2UgdGhpcyBiZWZvcmUu
wqAgVGhpcyBpcyBhIGRlcHJlY2F0ZWQgU0RQWCB0YWcgbm93LA0KPiBhbmQgdGhlIHByZWZl
cnJlZCBmb3JtIGlzIHdpdGggYW4gZXhwbGljaXQgLW9ubHkgb3IgLW9yLWxhdGVyIHN1ZmZp
eC4NCj4gDQo+IEkgcHJlc3VtZSB5b3UgbWVhbiAtb25seSBpbiB0aGlzIGNhc2U/DQoNClll
cy4NCg0KPiANCj4gKEhhcHB5IHRvIGZpeCBib3RoIHVwIG9uIGNvbW1pdCBpZiB0aGVyZSBh
cmUgbm8gb3RoZXIgaXNzdWVzLikNCg0KVGhhbmtzLA0KDQoNCkp1ZXJnZW4NCg0K
--------------UNJYjaM1dPA2r0ybtFHgB3eu
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-----

--------------UNJYjaM1dPA2r0ybtFHgB3eu--

--------------GJWxHzPXEdpwB3dXbyVuvLmj--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVOVtoFAwAAAAAACgkQsN6d1ii/Ey9I
xAf9EGhrncGYOcy78Nb6vwYEj1IkMIYpYHEPqjZk/wlxTImupt+kLIpZqzam7pNy5kTi6HGCu1th
pETX9fy21AeZ2uAz1TXGi1dTI6rlJHo/nENmwdKDu2QkXJodEJyp4Wtn/NDI4+1n/n3IhcomGED1
EayDW6l5QzJ8TrkTP0DO2nBXpM5h5Tjut+LHMszjY9KQMDXqvKPeJCWa9bx5YE+rYWa8ADblF3I6
w9vvlJZ3Oc8XKwIfaJ9yHIoAsCoJzjMjSpZUTkN/RheuBFUZHxzGl+bWJW6cu0e1525Ot7nBfnd0
4au4zS27X/JjVj2zZ0h5v4Hgr1xlTUVANjy8iWVcWw==
=Hleq
-----END PGP SIGNATURE-----

--------------KfnAFx0P5x5iwQES9MdftKtz--


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:14:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630522.983433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U9J-0005rH-Td; Fri, 10 Nov 2023 16:14:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630522.983433; Fri, 10 Nov 2023 16:14: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 1r1U9J-0005qY-Oz; Fri, 10 Nov 2023 16:14:25 +0000
Received: by outflank-mailman (input) for mailman id 630522;
 Fri, 10 Nov 2023 16:14: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U4v-00048H-SK
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09:53 +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 953cd4ae-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:09:53 +0100 (CET)
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 3DBD51F8BB;
 Fri, 10 Nov 2023 16:09: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 1A37613398;
 Fri, 10 Nov 2023 16:09:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EW8zBdFVTmUzCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:09: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: 953cd4ae-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632593; 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=/eJaaQzJFr9iaY84hbFZ6eF6VnkmvJwoY+5FWl4+J1Y=;
	b=j+9FbhVRixcfSc4RQoHkyGzsZgSrfAlaFfND6u3bft1XKup8BIMdyGvFS4HeI+a0FSkUXT
	JHLihcs+sW6R3DBE0rh376sv/QOwbx1MSpp9M8UjMZ3RWhcJ7oF4taK4RoUNLMpTS/J3J9
	gXRDE46ttNHHggIqKeHcQiTg6dkfEdg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 19/29] stubdom: extend xenstore stubdom configs
Date: Fri, 10 Nov 2023 17:07:54 +0100
Message-Id: <20231110160804.29021-20-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Extend the config files of the Xenstore stubdoms to include XENBUS
and 9PFRONT items in order to support file based logging.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 stubdom/xenstore-minios.cfg    | 2 +-
 stubdom/xenstorepvh-minios.cfg | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/stubdom/xenstore-minios.cfg b/stubdom/xenstore-minios.cfg
index a41704bb6b..239da519b9 100644
--- a/stubdom/xenstore-minios.cfg
+++ b/stubdom/xenstore-minios.cfg
@@ -3,7 +3,7 @@ CONFIG_NETFRONT=n
 CONFIG_FBFRONT=n
 CONFIG_KBDFRONT=n
 CONFIG_CONSFRONT=n
-CONFIG_XENBUS=n
 CONFIG_LWIP=n
+CONFIG_9PFRONT=y
 CONFIG_BALLOON=y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
diff --git a/stubdom/xenstorepvh-minios.cfg b/stubdom/xenstorepvh-minios.cfg
index 6af51f5753..752b90d7d3 100644
--- a/stubdom/xenstorepvh-minios.cfg
+++ b/stubdom/xenstorepvh-minios.cfg
@@ -4,7 +4,7 @@ CONFIG_NETFRONT=n
 CONFIG_FBFRONT=n
 CONFIG_KBDFRONT=n
 CONFIG_CONSFRONT=n
-CONFIG_XENBUS=n
 CONFIG_LWIP=n
+CONFIG_9PFRONT=y
 CONFIG_BALLOON=y
 XEN_INTERFACE_VERSION=__XEN_LATEST_INTERFACE_VERSION__
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:14:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:14:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630523.983441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U9K-0005xE-9Q; Fri, 10 Nov 2023 16:14:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630523.983441; Fri, 10 Nov 2023 16:14: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 1r1U9K-0005vR-37; Fri, 10 Nov 2023 16:14:26 +0000
Received: by outflank-mailman (input) for mailman id 630523;
 Fri, 10 Nov 2023 16:14: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U4P-0004cS-GE
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09:21 +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 81411efa-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:09:19 +0100 (CET)
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 AF25E1F8BB;
 Fri, 10 Nov 2023 16:09: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 81BD613398;
 Fri, 10 Nov 2023 16:09:19 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4upLHq9VTmX6CAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16: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>
X-Inumbo-ID: 81411efa-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632559; 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=eLw5zP4CF8KqwQQ9wObvj3vXheWZzp/lHPiMhL0KY6Y=;
	b=Yph/2NnJqQ41t5yJWpV8UkSkNb3UGxlGKP4BcLgFTDW2f7WAX5JYgFm/io2oLT7ZeXmDcr
	I6kXCDLfeG79xdwGHe0319Swdh8BzywfjWQCo/uSIIYQ9Rrrv4gn/iaBU0bTmyMQs2bsXq
	NTMaLSWKHFdnQfb1HhMth2a9yqxDU68=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 13/29] tools/xenlogd: add 9pfs write request support
Date: Fri, 10 Nov 2023 17:07:48 +0100
Message-Id: <20231110160804.29021-14-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the write request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/xen-9pfsd/io.c | 54 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 54 insertions(+)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index e5abd25857..f8d981c2a6 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -32,6 +32,7 @@
 #define P9_CMD_WALK       110
 #define P9_CMD_OPEN       112
 #define P9_CMD_CREATE     114
+#define P9_CMD_WRITE      118
 #define P9_CMD_CLUNK      120
 #define P9_CMD_STAT       124
 
@@ -1119,6 +1120,55 @@ static void p9_create(struct ring *ring, struct p9_header *hdr)
     free_fid(device, fidp);
 }
 
+static void p9_write(struct ring *ring, struct p9_header *hdr)
+{
+    device *device = ring->device;
+    uint32_t fid;
+    uint64_t off;
+    unsigned int len;
+    uint32_t written;
+    void *buf;
+    struct p9_fid *fidp;
+    int ret;
+
+    ret = fill_data(ring, "ULD", &fid, &off, &len, ring->buffer);
+    if ( ret != 3 )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = get_fid_ref(device, fid);
+    if ( !fidp || !fidp->opened || fidp->isdir )
+    {
+        p9_error(ring, hdr->tag, EBADF);
+        goto out;
+    }
+
+    buf = ring->buffer;
+
+    while ( len != 0 )
+    {
+        ret = pwrite(fidp->fd, buf, len, off);
+        if ( ret < 0 )
+            break;
+        len -= ret;
+        buf += ret;
+        off += ret;
+    }
+
+    written = buf - ring->buffer;
+    if ( written == 0 )
+    {
+        p9_error(ring, hdr->tag, errno);
+        goto out;
+    }
+    fill_buffer(ring, hdr->cmd + 1, hdr->tag, "U", &written);
+
+ out:
+    free_fid(device, fidp);
+}
+
 static void p9_clunk(struct ring *ring, struct p9_header *hdr)
 {
     device *device = ring->device;
@@ -1299,6 +1349,10 @@ void *io_thread(void *arg)
                 p9_create(ring, &hdr);
                 break;
 
+            case P9_CMD_WRITE:
+                p9_write(ring, &hdr);
+                break;
+
             case P9_CMD_CLUNK:
                 p9_clunk(ring, &hdr);
                 break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:14:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630527.983466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U9e-00077a-4X; Fri, 10 Nov 2023 16:14:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630527.983466; Fri, 10 Nov 2023 16:14: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 1r1U9d-000773-Ut; Fri, 10 Nov 2023 16:14:45 +0000
Received: by outflank-mailman (input) for mailman id 630527;
 Fri, 10 Nov 2023 16:14: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U5O-0004cS-TF
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:10:22 +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 a5da948c-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:10:21 +0100 (CET)
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 1E0392187C;
 Fri, 10 Nov 2023 16:10: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 E79B913398;
 Fri, 10 Nov 2023 16:10:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id umUuN+xVTmV+CQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:10: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: a5da948c-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632621; 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=qDO/X/0jg8xpOn7q+RDSIPZg5lBqWAwK528RC/aXZU4=;
	b=Xa/lnhV47bVWI+B+KDHnUvXzthekQC5dAH6tjxmq0f96KHjPmcB32VJTyp53msnkhAksoe
	QLCHVD2/u/pqeTkJ4xeG8Pr9Jb9MNKhu2JSEUqkHweH42tNWEzcqv31w2sbQjwwpAsxM9+
	dYN8zL4rAxLVvxFRBKKRplYHIVg+D0o=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 24/29] tools/xenstored: split domain_init()
Date: Fri, 10 Nov 2023 17:07:59 +0100
Message-Id: <20231110160804.29021-25-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Today domain_init() is called either just before calling dom0_init()
in case no live update is being performed, or it is called after
reading the global state from read_state_global(), as the event
channel fd is needed.

Split up domain_init() into a preparation part which can be called
unconditionally, and in a part setting up the event channel handle.

Note that there is no chance that chk_domain_generation() can be
called now before xc_handle has been setup, so there is no need for
the related special case anymore.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c   |  2 ++
 tools/xenstored/domain.c | 12 ++++++------
 tools/xenstored/domain.h |  1 +
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 8e271e31f9..b9ec50b34c 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2960,6 +2960,8 @@ int main(int argc, char *argv[])
 
 	init_pipe(reopen_log_pipe);
 
+	domain_static_init();
+
 	/* Listen to hypervisor. */
 	if (!no_domain_init && !live_update) {
 		domain_init(-1);
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 58b0942043..fa17f68618 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1224,10 +1224,8 @@ static int domeq_fn(const void *key1, const void *key2)
 	return *(const unsigned int *)key1 == *(const unsigned int *)key2;
 }
 
-void domain_init(int evtfd)
+void domain_static_init(void)
 {
-	int rc;
-
 	/* Start with a random rather low domain count for the hashtable. */
 	domhash = create_hashtable(NULL, "domains", domhash_fn, domeq_fn, 0);
 	if (!domhash)
@@ -1258,6 +1256,11 @@ void domain_init(int evtfd)
 	xengnttab_set_max_grants(*xgt_handle, DOMID_FIRST_RESERVED);
 
 	talloc_set_destructor(xgt_handle, close_xgt_handle);
+}
+
+void domain_init(int evtfd)
+{
+	int rc;
 
 	if (evtfd < 0)
 		xce_handle = xenevtchn_open(NULL, XENEVTCHN_NO_CLOEXEC);
@@ -1291,9 +1294,6 @@ static bool chk_domain_generation(unsigned int domid, uint64_t gen)
 {
 	struct domain *d;
 
-	if (!xc_handle && domid == dom0_domid)
-		return true;
-
 	d = find_domain_struct(domid);
 
 	return d && d->generation <= gen;
diff --git a/tools/xenstored/domain.h b/tools/xenstored/domain.h
index 7625dca8cd..6c00540311 100644
--- a/tools/xenstored/domain.h
+++ b/tools/xenstored/domain.h
@@ -82,6 +82,7 @@ int do_get_domain_path(const void *ctx, struct connection *conn,
 int do_reset_watches(const void *ctx, struct connection *conn,
 		     struct buffered_data *in);
 
+void domain_static_init(void);
 void domain_init(int evtfd);
 void dom0_init(void);
 void domain_deinit(void);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:14:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:14:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630526.983459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1U9d-00073y-PS; Fri, 10 Nov 2023 16:14:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630526.983459; Fri, 10 Nov 2023 16: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 1r1U9d-00073r-Mf; Fri, 10 Nov 2023 16:14:45 +0000
Received: by outflank-mailman (input) for mailman id 630526;
 Fri, 10 Nov 2023 16:14: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U5U-0004cS-Dt
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:10:28 +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 a92a9192-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:10:26 +0100 (CET)
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 A64232187C;
 Fri, 10 Nov 2023 16:10: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 7A11813398;
 Fri, 10 Nov 2023 16:10:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id dKiIHPJVTmWHCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:10: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: a92a9192-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632626; 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=mAbYvWWcrF68SCYMWW0W6XWNuB7mZzftdWlLKLvl9pU=;
	b=DVUj5/b6cpWnCnGmCTFbetK58RT9pBIJUTQXyRAHou6IK0XzoQ5554iTmQf/oWfGJadQMi
	u4dIppB5EArsihlHbayzARU95IQ/gLlOBjrYLdDooFnQYClowIVx7XY8xZ4GG8BVRT3VkT
	ymiIhwAQA7WUy7xxq6NEC4ejYJ6saeo=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 25/29] tools/xenstored: map stubdom interface
Date: Fri, 10 Nov 2023 17:08:00 +0100
Message-Id: <20231110160804.29021-26-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When running as stubdom, map the stubdom's Xenstore ring page in order
to support using the 9pfs frontend.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c   |  2 ++
 tools/xenstored/domain.c | 27 ++++++++++++++++++++++++++-
 tools/xenstored/domain.h |  1 +
 3 files changed, 29 insertions(+), 1 deletion(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index b9ec50b34c..4a9d874f17 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2991,6 +2991,8 @@ int main(int argc, char *argv[])
 		lu_read_state();
 #endif
 
+	stubdom_init();
+
 	check_store();
 
 	/* Get ready to listen to the tools. */
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index fa17f68618..162b87b460 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -37,6 +37,10 @@
 #include <xenctrl.h>
 #include <xen/grant_table.h>
 
+#ifdef __MINIOS__
+#include <mini-os/xenbus.h>
+#endif
+
 static xc_interface **xc_handle;
 xengnttab_handle **xgt_handle;
 static evtchn_port_t virq_port;
@@ -500,6 +504,11 @@ static void *map_interface(domid_t domid)
 	if (domid == xenbus_master_domid())
 		return xenbus_map();
 
+#ifdef __MINIOS__
+	if (domid == stub_domid)
+		return xenstore_buf;
+#endif
+
 	return xengnttab_map_grant_ref(*xgt_handle, domid,
 				       GNTTAB_RESERVED_XENSTORE,
 				       PROT_READ|PROT_WRITE);
@@ -509,7 +518,7 @@ static void unmap_interface(domid_t domid, void *interface)
 {
 	if (domid == xenbus_master_domid())
 		unmap_xenbus(interface);
-	else
+	else if (domid != stub_domid)
 		xengnttab_unmap(*xgt_handle, interface, 1);
 }
 
@@ -1214,6 +1223,22 @@ void dom0_init(void)
 	xenevtchn_notify(xce_handle, dom0->port);
 }
 
+void stubdom_init(void)
+{
+#ifdef __MINIOS__
+	struct domain *stubdom;
+
+	if (stub_domid < 0)
+		return;
+
+	stubdom = introduce_domain(NULL, stub_domid, xenbus_evtchn, false);
+	if (!stubdom)
+		barf_perror("Failed to initialize stubdom");
+
+	xenevtchn_notify(xce_handle, stubdom->port);
+#endif
+}
+
 static unsigned int domhash_fn(const void *k)
 {
 	return *(const unsigned int *)k;
diff --git a/tools/xenstored/domain.h b/tools/xenstored/domain.h
index 6c00540311..49c60c56bf 100644
--- a/tools/xenstored/domain.h
+++ b/tools/xenstored/domain.h
@@ -85,6 +85,7 @@ int do_reset_watches(const void *ctx, struct connection *conn,
 void domain_static_init(void);
 void domain_init(int evtfd);
 void dom0_init(void);
+void stubdom_init(void);
 void domain_deinit(void);
 void ignore_connection(struct connection *conn, unsigned int err);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:16:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:16:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630538.983480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UB2-0000az-DX; Fri, 10 Nov 2023 16:16:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630538.983480; Fri, 10 Nov 2023 16:16: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 1r1UB2-0000an-Af; Fri, 10 Nov 2023 16:16:12 +0000
Received: by outflank-mailman (input) for mailman id 630538;
 Fri, 10 Nov 2023 16:16: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U5J-0004cS-9Y
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:10:17 +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 a2861be8-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:10:15 +0100 (CET)
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 812551F8BB;
 Fri, 10 Nov 2023 16:10: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 5557C13398;
 Fri, 10 Nov 2023 16:10:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 7heiE+dVTmVsCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:10: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: a2861be8-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632615; 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=OyPsqGgDSHfZ39Pq/Ikf6PwNSKByuBj9AES+Iv7pAgI=;
	b=Asni5z0LeZJAE+mbtPoJnydmK4eCw6uieINjJDGR/LNQ5QrKT0S08AWEJpqOoSOJgmkJh8
	rD8tsV9BzhY+uxV+Fudc8dYyI8qvG3Bdqgu75ST5KEfS2X0s2N0EtRcY1rVRvJnNgV4FYZ
	G3Zrwwge18F/vvREzqnLZrHcc3PUnRI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 23/29] tools/xenstored: rework ring page (un)map functions
Date: Fri, 10 Nov 2023 17:07:58 +0100
Message-Id: <20231110160804.29021-24-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

When [un]mapping the ring page of a Xenstore client, different actions
are required for "normal" guests and dom0. Today this distinction is
made at call site.

Move this distinction into [un]map_interface() instead, avoiding code
duplication and preparing special handling for [un]mapping the stub
domain's ring page.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/xenstored/domain.c | 31 +++++++++++++------------------
 1 file changed, 13 insertions(+), 18 deletions(-)

diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 6ef136e01f..58b0942043 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -497,14 +497,20 @@ static const struct interface_funcs domain_funcs = {
 
 static void *map_interface(domid_t domid)
 {
+	if (domid == xenbus_master_domid())
+		return xenbus_map();
+
 	return xengnttab_map_grant_ref(*xgt_handle, domid,
 				       GNTTAB_RESERVED_XENSTORE,
 				       PROT_READ|PROT_WRITE);
 }
 
-static void unmap_interface(void *interface)
+static void unmap_interface(domid_t domid, void *interface)
 {
-	xengnttab_unmap(*xgt_handle, interface, 1);
+	if (domid == xenbus_master_domid())
+		unmap_xenbus(interface);
+	else
+		xengnttab_unmap(*xgt_handle, interface, 1);
 }
 
 static int domain_tree_remove_sub(const void *ctx, struct connection *conn,
@@ -594,14 +600,8 @@ static int destroy_domain(void *_domain)
 			eprintf("> Unbinding port %i failed!\n", domain->port);
 	}
 
-	if (domain->interface) {
-		/* Domain 0 was mapped by dom0_init, so it must be unmapped
-		   using munmap() and not the grant unmap call. */
-		if (domain->domid == dom0_domid)
-			unmap_xenbus(domain->interface);
-		else
-			unmap_interface(domain->interface);
-	}
+	if (domain->interface)
+		unmap_interface(domain->domid, domain->interface);
 
 	fire_special_watches("@releaseDomain");
 
@@ -966,18 +966,13 @@ static struct domain *introduce_domain(const void *ctx,
 		return NULL;
 
 	if (!domain->introduced) {
-		interface = is_master_domain ? xenbus_map()
-					     : map_interface(domid);
+		interface = map_interface(domid);
 		if (!interface && !restore)
 			return NULL;
 		if (new_domain(domain, port, restore)) {
 			rc = errno;
-			if (interface) {
-				if (is_master_domain)
-					unmap_xenbus(interface);
-				else
-					unmap_interface(interface);
-			}
+			if (interface)
+				unmap_interface(domid, interface);
 			errno = rc;
 			return NULL;
 		}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:17:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:17:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630546.983489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UC8-0001Q6-Mt; Fri, 10 Nov 2023 16:17:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630546.983489; Fri, 10 Nov 2023 16:17: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 1r1UC8-0001Pz-K2; Fri, 10 Nov 2023 16:17:20 +0000
Received: by outflank-mailman (input) for mailman id 630546;
 Fri, 10 Nov 2023 16:17: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U5a-0004cS-2b
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:10:34 +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 ac846114-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:10:32 +0100 (CET)
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 49A921F8BD;
 Fri, 10 Nov 2023 16:10: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 18D7613398;
 Fri, 10 Nov 2023 16:10:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ubq6BPhVTmWSCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:10: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: ac846114-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632632; 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=Vjpc0T/4VDXSdpS0hg0yt0ghHsFzK4h1yp4x3xySp2A=;
	b=UWQ1RfvWe7PzM+1PAIbvRRjdmVKfRv8umPLDKPIbGnGzLw0XROY+nREvsGOO9HtMH27Efd
	4o0zmdHM6ehW3nrFSeDrFTjSAfEFlKjxD2+DlMfqm+qLw0cKntpft2llj2mBZYj3VuVDTJ
	9HOmUIo5r9ewC648rFQTe1ycIjia7aU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 26/29] tools/xenstored: mount 9pfs device in stubdom
Date: Fri, 10 Nov 2023 17:08:01 +0100
Message-Id: <20231110160804.29021-27-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Mount the 9pfs device in stubdom enabling it to use files.

This has to happen in a worker thread in order to allow the main thread
handling the required Xenstore accesses in parallel.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/xenstored/core.h   |  4 ++++
 tools/xenstored/domain.c |  2 ++
 tools/xenstored/minios.c | 36 ++++++++++++++++++++++++++++++++++++
 3 files changed, 42 insertions(+)

diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index 3c28007d11..a0d3592961 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -389,6 +389,10 @@ static inline bool domain_is_unprivileged(const struct connection *conn)
 evtchn_port_t get_xenbus_evtchn(void);
 void early_init(void);
 
+#ifdef __MINIOS__
+void mount_9pfs(void);
+#endif
+
 /* Write out the pidfile */
 void write_pidfile(const char *pidfile);
 
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 162b87b460..4263c1360f 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1236,6 +1236,8 @@ void stubdom_init(void)
 		barf_perror("Failed to initialize stubdom");
 
 	xenevtchn_notify(xce_handle, stubdom->port);
+
+	mount_9pfs();
 #endif
 }
 
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index 202d70387a..fddbede869 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -19,8 +19,16 @@
 #include <sys/mman.h>
 #include "core.h"
 #include <xen/grant_table.h>
+#include <mini-os/9pfront.h>
 #include <mini-os/events.h>
 #include <mini-os/gnttab.h>
+#include <mini-os/sched.h>
+#include <mini-os/xenbus.h>
+#include <mini-os/xmalloc.h>
+
+#define P9_STATE_PATH	"device/9pfs/0/state"
+
+static void *p9_device;
 
 void write_pidfile(const char *pidfile)
 {
@@ -62,3 +70,31 @@ void early_init(void)
 	if (stub_domid == DOMID_INVALID)
 		barf("could not get own domid");
 }
+
+static void mount_thread(void *p)
+{
+	xenbus_event_queue events = NULL;
+	char *err;
+	char *dummy;
+
+	free(xenbus_watch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs", &events));
+
+	for (;;) {
+		xenbus_wait_for_watch(&events);
+		err = xenbus_read(XBT_NIL, P9_STATE_PATH, &dummy);
+		if (!err)
+			break;
+		free(err);
+	}
+
+	free(dummy);
+
+	free(xenbus_unwatch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs"));
+
+	p9_device = init_9pfront(0, XENSTORE_LIB_DIR);
+}
+
+void mount_9pfs(void)
+{
+	create_thread("mount-9pfs", mount_thread, NULL);
+}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:18:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:18:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630551.983500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UCp-00025M-4f; Fri, 10 Nov 2023 16:18:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630551.983500; Fri, 10 Nov 2023 16: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 1r1UCp-00025F-1c; Fri, 10 Nov 2023 16:18:03 +0000
Received: by outflank-mailman (input) for mailman id 630551;
 Fri, 10 Nov 2023 16: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U58-0004cS-6w
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:10:06 +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 9be5011b-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:10:04 +0100 (CET)
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 6490D219B4;
 Fri, 10 Nov 2023 16:10: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 34DB813398;
 Fri, 10 Nov 2023 16:10:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2kyUC9xVTmVVCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16: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>
X-Inumbo-ID: 9be5011b-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632604; 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=xXrI1g3Tvz8/s3KD+jk6UgdILP23SjhAZanYf4v0CdE=;
	b=EUKZTg0W+7XorSEy1L1YhxkUCzrrBiMgIauLfCY1hfNf0HLs55rTlEAlJVPfH8ey1ARC7L
	2tjNKt2sPStZB/lRJBFVrVGJODWY49v8L8tOwR17JEvI7SGNQV9zGJ82Q/mlAawRrLzhEY
	YvVFKZQQlCSU8a5r6+MukxmCzG+UtgY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 21/29] tools/xenstored: add early_init() function
Date: Fri, 10 Nov 2023 17:07:56 +0100
Message-Id: <20231110160804.29021-22-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some xenstored initialization needs to be done in the daemon case only,
so split it out into a new early_init() function being a stub in the
stubdom case.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
V2:
- rename function
- move patch earlier in the series
---
 tools/xenstored/core.c   |  6 +-----
 tools/xenstored/core.h   |  3 +++
 tools/xenstored/minios.c |  3 +++
 tools/xenstored/posix.c  | 11 +++++++++++
 4 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index edd07711db..0c14823fb0 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2933,11 +2933,7 @@ int main(int argc, char *argv[])
 	if (optind != argc)
 		barf("%s: No arguments desired", argv[0]);
 
-	reopen_log();
-
-	/* Make sure xenstored directory exists. */
-	/* Errors ignored here, will be reported when we open files */
-	mkdir(xenstore_daemon_rundir(), 0755);
+	early_init();
 
 	if (dofork) {
 		openlog("xenstored", 0, LOG_DAEMON);
diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index 480b0f5f7b..d0ac587f8f 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -35,6 +35,8 @@
 #include "list.h"
 #include "hashtable.h"
 
+#define XENSTORE_LIB_DIR	XEN_LIB_DIR "/xenstore"
+
 #ifndef O_CLOEXEC
 #define O_CLOEXEC 0
 /* O_CLOEXEC support is needed for Live Update in the daemon case. */
@@ -384,6 +386,7 @@ static inline bool domain_is_unprivileged(const struct connection *conn)
 
 /* Return the event channel used by xenbus. */
 evtchn_port_t get_xenbus_evtchn(void);
+void early_init(void);
 
 /* Write out the pidfile */
 void write_pidfile(const char *pidfile);
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index 0779efbf91..0cdec3ae51 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -54,3 +54,6 @@ void unmap_xenbus(void *interface)
 	xengnttab_unmap(*xgt_handle, interface, 1);
 }
 
+void early_init(void)
+{
+}
diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
index 7e03dd982d..fcb7791bd7 100644
--- a/tools/xenstored/posix.c
+++ b/tools/xenstored/posix.c
@@ -22,6 +22,7 @@
 #include <fcntl.h>
 #include <stdlib.h>
 #include <sys/mman.h>
+#include <xen-tools/xenstore-common.h>
 
 #include "utils.h"
 #include "core.h"
@@ -157,3 +158,13 @@ void *xenbus_map(void)
 
 	return addr;
 }
+
+void early_init(void)
+{
+	reopen_log();
+
+	/* Make sure xenstored directories exist. */
+	/* Errors ignored here, will be reported when we open files */
+	mkdir(xenstore_daemon_rundir(), 0755);
+	mkdir(XENSTORE_LIB_DIR, 0755);
+}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:18:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630555.983510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UDY-0002pj-D3; Fri, 10 Nov 2023 16:18:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630555.983510; Fri, 10 Nov 2023 16:18: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 1r1UDY-0002pc-AR; Fri, 10 Nov 2023 16:18:48 +0000
Received: by outflank-mailman (input) for mailman id 630555;
 Fri, 10 Nov 2023 16:18: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U4g-0004cS-Bf
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09:38 +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 8b3d1eae-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:09:36 +0100 (CET)
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 71E0A219B7;
 Fri, 10 Nov 2023 16:09: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 4C18413398;
 Fri, 10 Nov 2023 16:09:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vEssEcBVTmUaCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:09: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: 8b3d1eae-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632576; 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=HGxfpQnBGmt7EKeO4ArwxOs8iM93M39A7iQXembmjjI=;
	b=ItLkvdPbSYVmVg2RKKPMhP0bA5pLRolTC6Auheiox9RWlqF8iOnW41BOaJGB7pCGSHbLz0
	9JAD8SpDR0KxovXammuDVjsxoepjPdZlNDA4GM6A0+bdTKk8XQZEVmIg14ujTehE8SAdsm
	WrtoCn61aD2yUd/ay5ad2c9c7MLrTHA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 16/29] tools/xl: support new 9pfs backend xen-9pfsd
Date: Fri, 10 Nov 2023 17:07:51 +0100
Message-Id: <20231110160804.29021-17-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add support for the new 9pfs backend "xen-9pfsd". For this backend type
the tag defaults to "Xen" and the host side path to
"/var/log/xen/guests/<dom-name>".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- test max_files and max_open_files, too (Jason Andryuk)
---
 docs/man/xl.cfg.5.pod.in | 36 ++++++++++++++++++++++++++++++++++--
 tools/xl/xl_parse.c      | 36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 70 insertions(+), 2 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 2e234b450e..80011adbf3 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -772,10 +772,16 @@ settings, from the following list:
 
 =over 4
 
+=item B<type=TYPE>
+
+The backendtype for the PV device. Supported values are B<qemu> and
+B<xen-9pfsd>.  The default is B<qemu>.
+
 =item B<tag=STRING>
 
 9pfs tag to identify the filesystem share. The tag is needed on the
-guest side to mount it.
+guest side to mount it. For the backendtype of B<xen-9pfsd> the tag defaults to
+"Xen".
 
 =item B<security_model="none">
 
@@ -785,12 +791,38 @@ squash or remap).
 
 =item B<path=STRING>
 
-Filesystem path on the backend to export.
+Filesystem path on the backend to export. For the backendtype of B<xen-9pfsd>
+the path defaults to "@XEN_LOG_DIR@/guests/<guest-name>".
 
 =item B<backend=domain-id>
 
 Specify the backend domain name or id, defaults to dom0.
 
+=item B<max-files=NUMBER>
+
+Specify the maximum number of files below B<path>. A value of 0 (which
+is the default) doesn't limit the number of files. Only valid for
+B<type=xen-9pfsd>.
+
+=item B<max-open-files=NUMBER>
+
+Specify the maximum number of concurrently opened files below B<path>.
+Multiple opens of the same file are counted individually. Only valid for
+B<type=xen-9pfsd>, which has a default of B<max-open-files=5>.
+
+=item B<max-space=NUMBER>
+
+Specify the maximum used disk space in MiB below B<path>. A value of 0 (which
+is the default) doesn't limit the usable disk space. Only valid for
+B<type=xen-9pfsd>.
+
+=item B<auto-delete=BOOLEAN>
+
+When set the backend will delete the oldest file which is currently not
+opened by the guest in case the disk space limit set via B<max-space> or the
+file limit set via B<max-files> is being reached. Only valid for
+B<type=xen-9pfsd>.
+
 =back
 
 =item B<pvcalls=[ "backend=domain-id", ... ]>
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index ed983200c3..3ded557ebc 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -2232,6 +2232,20 @@ void parse_config_data(const char *config_source,
                     replace_string(&p9->tag, value);
                 } else if (!strcmp(key, "backend")) {
                     replace_string(&p9->backend_domname, value);
+                } else if (!strcmp(key, "type")) {
+                    if (libxl_p9_type_from_string(value, &p9->type)) {
+                        fprintf(stderr, "failed to parse 9pfs type: %s\n",
+                                value);
+                        exit(1);
+                    }
+                } else if (!strcmp(key, "max-files")) {
+                    p9->max_files = parse_ulong(value);
+                } else if (!strcmp(key, "max-open-files")) {
+                    p9->max_open_files = parse_ulong(value);
+                } else if (!strcmp(key, "max-space")) {
+                    p9->max_space = parse_ulong(value);
+                } else if (!strcmp(key, "auto-delete")) {
+                    p9->auto_delete = strtoul(value, NULL, 0);
                 } else {
                     fprintf(stderr, "Unknown 9pfs parameter '%s'\n", key);
                     exit(1);
@@ -2242,6 +2256,28 @@ void parse_config_data(const char *config_source,
 
             libxl_string_list_dispose(&pairs);
 
+            if (p9->type == LIBXL_P9_TYPE_UNKNOWN) {
+                p9->type = LIBXL_P9_TYPE_QEMU;
+            }
+            if (p9->type == LIBXL_P9_TYPE_QEMU &&
+                (p9->max_files || p9->max_open_files || p9->max_space ||
+                 p9->auto_delete)) {
+                fprintf(stderr, "Illegal 9pfs parameter combination\n");
+                exit(1);
+            }
+            if (p9->type == LIBXL_P9_TYPE_XEN_9PFSD) {
+                if (!p9->tag) {
+                    replace_string(&p9->tag, "Xen");
+                }
+                if (!p9->path) {
+                    char *path;
+
+                    xasprintf(&path, XEN_LOG_DIR "/guests/%s", c_info->name);
+                    replace_string(&p9->path, path);
+                    free(path);
+                }
+            }
+
             if (!p9->path || !p9->security_model || !p9->tag) {
                 fprintf(stderr, "9pfs spec missing required field!\n");
                 exit(1);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:18:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:18:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630557.983520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UDg-0003Hu-L8; Fri, 10 Nov 2023 16:18:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630557.983520; Fri, 10 Nov 2023 16:18: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 1r1UDg-0003Hl-I1; Fri, 10 Nov 2023 16:18:56 +0000
Received: by outflank-mailman (input) for mailman id 630557;
 Fri, 10 Nov 2023 16:18: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U4K-0004cS-1U
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09:16 +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 7df34bcb-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:09:14 +0100 (CET)
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 28C94219B3;
 Fri, 10 Nov 2023 16:09: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 E819913398;
 Fri, 10 Nov 2023 16:09:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Q45VN6lVTmXdCAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:09: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: 7df34bcb-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632554; 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=ci5L/DBfOaTU/puLQPxWUNYgGysJWDyG7t97Oi0b76s=;
	b=cphz9qwIUvQcq3vzGbkm0nskov+53Ye/t9dubrPcPRqB2dM1o52GzdSQqU9AH2hB7UhHt/
	KbSLXQZGSGatmv7NmJuCV1RnSXAvqN0Z1OJKu8B7iE0nG/8nyPVgQSo8otLK6Yauu4F5ya
	uuTMK/xBvlaU9sr+vVLrFTQCbhleBk4=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 12/29] tools/xenlogd: add 9pfs stat request support
Date: Fri, 10 Nov 2023 17:07:47 +0100
Message-Id: <20231110160804.29021-13-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the stat request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/xen-9pfsd/io.c | 92 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 92 insertions(+)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index a605f51dc6..e5abd25857 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -33,6 +33,7 @@
 #define P9_CMD_OPEN       112
 #define P9_CMD_CREATE     114
 #define P9_CMD_CLUNK      120
+#define P9_CMD_STAT       124
 
 /* P9 protocol open flags. */
 #define P9_OREAD            0   /* read */
@@ -59,6 +60,25 @@ struct p9_qid {
     uint64_t path;
 };
 
+struct p9_stat {
+    uint16_t size;
+    uint16_t type;
+    uint32_t dev;
+    struct p9_qid qid;
+    uint32_t mode;
+    uint32_t atime;
+    uint32_t mtime;
+    uint64_t length;
+    const char *name;
+    const char *uid;
+    const char *gid;
+    const char *muid;
+    const char *extension;
+    uint32_t n_uid;
+    uint32_t n_gid;
+    uint32_t n_muid;
+};
+
 /*
  * Note that the ring names "in" and "out" are from the frontend's
  * perspective, so the "in" ring will be used for responses to the frontend,
@@ -1136,6 +1156,74 @@ static void p9_clunk(struct ring *ring, struct p9_header *hdr)
     fill_buffer(ring, hdr->cmd + 1, hdr->tag, "");
 }
 
+static void fill_p9_stat(struct p9_stat *p9s, struct stat *st, const char *name)
+{
+    memset(p9s, 0, sizeof(*p9s));
+    fill_qid(NULL, &p9s->qid, st);
+    p9s->mode = st->st_mode & 0777;
+    if ( S_ISDIR(st->st_mode) )
+        p9s->mode |= P9_CREATE_PERM_DIR;
+    p9s->atime = st->st_atime;
+    p9s->mtime = st->st_mtime;
+    p9s->length = st->st_size;
+    p9s->name = name;
+    p9s->uid = "";
+    p9s->gid = "";
+    p9s->muid = "";
+    p9s->extension = "";
+    p9s->n_uid = 0;
+    p9s->n_gid = 0;
+    p9s->n_muid = 0;
+
+    /*
+     * Size of individual fields without the size field, including 5 2-byte
+     * string length fields.
+     */
+    p9s->size = 71 + strlen(p9s->name);
+}
+
+static void p9_stat(struct ring *ring, struct p9_header *hdr)
+{
+    device *device = ring->device;
+    uint32_t fid;
+    struct p9_fid *fidp;
+    struct p9_stat p9s;
+    struct stat st;
+    uint16_t total_length;
+    int ret;
+
+    ret = fill_data(ring, "U", &fid);
+    if ( ret != 1 )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = get_fid_ref(device, fid);
+    if ( !fidp )
+    {
+        p9_error(ring, hdr->tag, ENOENT);
+        return;
+    }
+
+    if ( stat(fidp->path, &st) < 0 )
+    {
+        p9_error(ring, hdr->tag, errno);
+        goto out;
+    }
+    fill_p9_stat(&p9s, &st, strrchr(fidp->path, '/') + 1);
+
+    total_length = p9s.size + sizeof(p9s.size);
+    fill_buffer(ring, hdr->cmd + 1, hdr->tag, "uuuUQUUULSSSSSUUU",
+                &total_length, &p9s.size, &p9s.type, &p9s.dev, &p9s.qid,
+                &p9s.mode, &p9s.atime, &p9s.mtime, &p9s.length, p9s.name,
+                p9s.uid, p9s.gid, p9s.muid, p9s.extension, &p9s.n_uid,
+                &p9s.n_gid, &p9s.n_muid);
+
+ out:
+    free_fid(device, fidp);
+}
+
 void *io_thread(void *arg)
 {
     struct ring *ring = arg;
@@ -1215,6 +1303,10 @@ void *io_thread(void *arg)
                 p9_clunk(ring, &hdr);
                 break;
 
+            case P9_CMD_STAT:
+                p9_stat(ring, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        ring->device->domid, ring->device->devid, hdr.cmd);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:22:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:22:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630570.983530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UGh-0005RC-3f; Fri, 10 Nov 2023 16:22:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630570.983530; Fri, 10 Nov 2023 16:22: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 1r1UGh-0005R5-0m; Fri, 10 Nov 2023 16:22:03 +0000
Received: by outflank-mailman (input) for mailman id 630570;
 Fri, 10 Nov 2023 16:22: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U49-0004cS-A9
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09:05 +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 7749dc35-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:09:03 +0100 (CET)
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 F35DF2187C;
 Fri, 10 Nov 2023 16:09: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 D09FA13398;
 Fri, 10 Nov 2023 16:09:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id b2SXMZ5VTmXECAAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:09: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: 7749dc35-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632542; 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=ia0sJSe348M/0TeGjDY+uWzzzIk2QcQkMJh7HRaDODM=;
	b=WbHjVERfn/TIaMSP3gCmuO+GnCi/8siUI0Ud/lKpJlrCaVfLNuww4ujvC6HxAWUpZOht1T
	+DmtJ78ObAXbUjWTfroZrr3d5m7XPkSFuW/BUgjd8jYkDM/hs4i9FgnES/VqsD/SOVYc2d
	B1/pw3sf3Jr77aNLf2bPrF/LSZT20OU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 10/29] tools/xenlogd: add 9pfs clunk request support
Date: Fri, 10 Nov 2023 17:07:45 +0100
Message-Id: <20231110160804.29021-11-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the clunk request of the 9pfs protocol.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xen-9pfsd/io.c | 42 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index bb9c78a1f5..c182ef0483 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -31,6 +31,7 @@
 #define P9_CMD_ERROR      107
 #define P9_CMD_WALK       110
 #define P9_CMD_OPEN       112
+#define P9_CMD_CLUNK      120
 
 /* P9 protocol open flags. */
 #define P9_OREAD            0   /* read */
@@ -943,6 +944,43 @@ static void p9_open(struct ring *ring, struct p9_header *hdr)
     fill_buffer(ring, hdr->cmd + 1, hdr->tag, "QU", &qid, &iounit);
 }
 
+static void p9_clunk(struct ring *ring, struct p9_header *hdr)
+{
+    device *device = ring->device;
+    uint32_t fid;
+    struct p9_fid *fidp;
+    int ret;
+
+    ret = fill_data(ring, "U", &fid);
+    if ( ret != 1 )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = get_fid_ref(device, fid);
+    if ( !fidp )
+    {
+        p9_error(ring, hdr->tag, ENOENT);
+        return;
+    }
+
+    if ( fidp->opened )
+    {
+        fidp->opened = false;
+        free_fid(device, fidp);
+        close(fidp->fd);
+        if ( fidp->mode & P9_OREMOVE )
+            unlink(fidp->path);
+    }
+
+    /* 2 calls of free_fid(): one for our reference, and one to free it. */
+    free_fid(device, fidp);
+    free_fid(device, fidp);
+
+    fill_buffer(ring, hdr->cmd + 1, hdr->tag, "");
+}
+
 void *io_thread(void *arg)
 {
     struct ring *ring = arg;
@@ -1014,6 +1052,10 @@ void *io_thread(void *arg)
                 p9_open(ring, &hdr);
                 break;
 
+            case P9_CMD_CLUNK:
+                p9_clunk(ring, &hdr);
+                break;
+
             default:
                 syslog(LOG_DEBUG, "%u.%u sent unhandled command %u\n",
                        ring->device->domid, ring->device->devid, hdr.cmd);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:22:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630573.983539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UHB-0005xt-BC; Fri, 10 Nov 2023 16:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630573.983539; Fri, 10 Nov 2023 16:22: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 1r1UHB-0005xm-8O; Fri, 10 Nov 2023 16:22:33 +0000
Received: by outflank-mailman (input) for mailman id 630573;
 Fri, 10 Nov 2023 16:22: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U4b-0004cS-0b
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09: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 87ec2cad-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:09:31 +0100 (CET)
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 DBB4D219B4;
 Fri, 10 Nov 2023 16:09: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 AFCD613398;
 Fri, 10 Nov 2023 16:09:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id lqqGKbpVTmUUCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16: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: 87ec2cad-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632570; 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=AQywzv/Y34quHnZ9IPkhWdaZOnTMkCrPxK530+/Vdyk=;
	b=mu9TP7L1yI1zwGVB6+cGrFpBl5fMSyW4VRzkzPMWEvU8jAohppN7uAIYX+vOAepSS12/RL
	d9hV5kLi0/6ZfCOgH6+daraINLiwTiI0RkLwgfiJKk9VPlUatUNG6RUGzfiAHQL6ufZzRM
	AGyd4I9poESYJAS87ZAZNkAZe4pTP0g=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 15/29] tools/libs/light: add backend type for 9pfs PV devices
Date: Fri, 10 Nov 2023 17:07:50 +0100
Message-Id: <20231110160804.29021-16-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Make the backend type of 9pfs PV devices configurable. The default is
"qemu" with the related Xenstore backend-side directory being "9pfs".

Add another type "xen-9pfsd" with the related Xenstore backend-side
directory "xen_9pfs".

As additional security features it is possible to specify:
- "max-space" for limiting the maximum space consumed on the filesystem
  in MBs
- "max-files" for limiting the maximum number of files in the
  filesystem
- "max-open-files" for limiting the maximum number of concurrent open
  files

For convenience "auto-delete" is available to let the backend delete the
oldest file of the guest in case otherwise "max-space" or "max-files"
would be violated.

The xen-9pfsd daemon will be started by libxenlight automatically when
the first "xen_9pfs" device is being created.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/libs/light/libxl_9pfs.c             | 145 +++++++++++++++++++++-
 tools/libs/light/libxl_create.c           |   4 +-
 tools/libs/light/libxl_dm.c               |   2 +-
 tools/libs/light/libxl_types.idl          |  11 ++
 tools/libs/light/libxl_types_internal.idl |   1 +
 5 files changed, 156 insertions(+), 7 deletions(-)

diff --git a/tools/libs/light/libxl_9pfs.c b/tools/libs/light/libxl_9pfs.c
index 5ab0d3aa21..87e9dda8e7 100644
--- a/tools/libs/light/libxl_9pfs.c
+++ b/tools/libs/light/libxl_9pfs.c
@@ -33,20 +33,159 @@ static int libxl__set_xenstore_p9(libxl__gc *gc, uint32_t domid,
 
     flexarray_append_pair(front, "tag", p9->tag);
 
+    if (p9->type == LIBXL_P9_TYPE_XEN_9PFSD) {
+        flexarray_append_pair(back, "max-space",
+                              GCSPRINTF("%u", p9->max_space));
+        flexarray_append_pair(back, "max-files",
+                              GCSPRINTF("%u", p9->max_files));
+        flexarray_append_pair(back, "max-open-files",
+                              GCSPRINTF("%u", p9->max_open_files));
+        flexarray_append_pair(back, "auto-delete",
+                              p9->auto_delete ? "1" : "0");
+    }
+
+    return 0;
+}
+
+static int libxl__device_from_p9(libxl__gc *gc, uint32_t domid,
+                                 libxl_device_p9 *type, libxl__device *device)
+{
+    device->backend_devid   = type->devid;
+    device->backend_domid   = type->backend_domid;
+    device->backend_kind    = type->type == LIBXL_P9_TYPE_QEMU
+                              ? LIBXL__DEVICE_KIND_9PFS
+                              : LIBXL__DEVICE_KIND_XEN_9PFS;
+    device->devid           = type->devid;
+    device->domid           = domid;
+    device->kind            = LIBXL__DEVICE_KIND_9PFS;
+
     return 0;
 }
 
-#define libxl__add_p9s NULL
+static int libxl_device_p9_dm_needed(void *e, unsigned domid)
+{
+    libxl_device_p9 *elem = e;
+
+    return elem->type == LIBXL_P9_TYPE_QEMU && elem->backend_domid == domid;
+}
+
+typedef struct libxl__aop9_state libxl__aop9_state;
+
+struct libxl__aop9_state {
+    libxl__spawn_state spawn;
+    libxl__ao_device *aodev;
+    libxl_device_p9 *p9;
+    uint32_t domid;
+    void (*callback)(libxl__egc *, libxl__aop9_state *, int);
+};
+
+static void xen9pfsd_spawn_outcome(libxl__egc *egc, libxl__aop9_state *aop9,
+                                   int rc)
+{
+    aop9->aodev->rc = rc;
+    if (rc)
+        aop9->aodev->callback(egc, aop9->aodev);
+    else
+        libxl__device_add_async(egc, aop9->domid, &libxl__p9_devtype,
+                                aop9->p9, aop9->aodev);
+}
+
+static void xen9pfsd_confirm(libxl__egc *egc, libxl__spawn_state *spawn,
+                             const char *xsdata)
+{
+    STATE_AO_GC(spawn->ao);
+
+    if (!xsdata)
+        return;
+
+    if (strcmp(xsdata, "running"))
+        return;
+
+    libxl__spawn_initiate_detach(gc, spawn);
+}
+
+static void xen9pfsd_failed(libxl__egc *egc, libxl__spawn_state *spawn, int rc)
+{
+    libxl__aop9_state *aop9 = CONTAINER_OF(spawn, *aop9, spawn);
+
+    xen9pfsd_spawn_outcome(egc, aop9, rc);
+}
+
+static void xen9pfsd_detached(libxl__egc *egc, libxl__spawn_state *spawn)
+{
+    libxl__aop9_state *aop9 = CONTAINER_OF(spawn, *aop9, spawn);
+
+    xen9pfsd_spawn_outcome(egc, aop9, 0);
+}
+
+static int xen9pfsd_spawn(libxl__egc *egc, uint32_t domid, libxl_device_p9 *p9,
+                         libxl__ao_device *aodev)
+{
+    STATE_AO_GC(aodev->ao);
+    struct libxl__aop9_state *aop9;
+    int rc;
+    char *args[] = { "xen-9pfsd", NULL };
+    char *path = GCSPRINTF("/local/domain/%u/libxl/xen-9pfs",
+                           p9->backend_domid);
+
+    if (p9->type != LIBXL_P9_TYPE_XEN_9PFSD ||
+        libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/state", path)))
+        return 0;
+
+    GCNEW(aop9);
+    aop9->aodev = aodev;
+    aop9->p9 = p9;
+    aop9->domid = domid;
+    aop9->callback = xen9pfsd_spawn_outcome;
+
+    aop9->spawn.ao = aodev->ao;
+    aop9->spawn.what = "xen-9pfs daemon";
+    aop9->spawn.xspath = GCSPRINTF("%s/state", path);
+    aop9->spawn.timeout_ms = LIBXL_DEVICE_MODEL_START_TIMEOUT * 1000;
+    aop9->spawn.pidpath = GCSPRINTF("%s/pid", path);
+    aop9->spawn.midproc_cb = libxl__spawn_record_pid;
+    aop9->spawn.confirm_cb = xen9pfsd_confirm;
+    aop9->spawn.failure_cb = xen9pfsd_failed;
+    aop9->spawn.detached_cb = xen9pfsd_detached;
+    rc = libxl__spawn_spawn(egc, &aop9->spawn);
+    if (rc < 0)
+        return rc;
+    if (!rc) {
+        setsid();
+        libxl__exec(gc, -1, -1, -1, LIBEXEC_BIN "/xen-9pfsd", args, NULL);
+    }
+
+    return 1;
+}
+
+static void libxl__device_p9_add(libxl__egc *egc, uint32_t domid,
+                                 libxl_device_p9 *p9,
+                                 libxl__ao_device *aodev)
+{
+    int rc;
+
+    rc = xen9pfsd_spawn(egc, domid, p9, aodev);
+    if (rc == 1)
+        return;
+
+    if (rc == 0)
+        libxl__device_add_async(egc, domid, &libxl__p9_devtype, p9, aodev);
+
+    aodev->rc = rc;
+    if (rc)
+        aodev->callback(egc, aodev);
+}
+
 #define libxl_device_p9_list NULL
 #define libxl_device_p9_compare NULL
 
 static LIBXL_DEFINE_UPDATE_DEVID(p9)
-static LIBXL_DEFINE_DEVICE_FROM_TYPE(p9)
+static LIBXL_DEFINE_DEVICES_ADD(p9)
 
 LIBXL_DEFINE_DEVICE_REMOVE(p9)
 
 DEFINE_DEVICE_TYPE_STRUCT(p9, 9PFS, p9s,
-    .skip_attach = 1,
     .set_xenstore_config = (device_set_xenstore_config_fn_t)
                            libxl__set_xenstore_p9,
+    .dm_needed = libxl_device_p9_dm_needed,
 );
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_create.c
index ce1d431103..b19e9379b6 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1760,9 +1760,6 @@ static void domcreate_launch_dm(libxl__egc *egc, libxl__multidev *multidev,
         libxl__device_console_dispose(&console);
     }
 
-    for (i = 0; i < d_config->num_p9s; i++)
-        libxl__device_add(gc, domid, &libxl__p9_devtype, &d_config->p9s[i]);
-
     for (i = 0; i < d_config->num_pvcallsifs; i++)
         libxl__device_add(gc, domid, &libxl__pvcallsif_devtype,
                           &d_config->pvcallsifs[i]);
@@ -1899,6 +1896,7 @@ const libxl__device_type *device_type_tbl[] = {
     &libxl__vdispl_devtype,
     &libxl__vsnd_devtype,
     &libxl__virtio_devtype,
+    &libxl__p9_devtype,
     NULL
 };
 
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 14b593110f..2aaaeb5aa7 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -3761,7 +3761,7 @@ int libxl__need_xenpv_qemu(libxl__gc *gc, libxl_domain_config *d_config)
         goto out;
     }
 
-    if (d_config->num_vfbs > 0 || d_config->num_p9s > 0) {
+    if (d_config->num_vfbs > 0) {
         ret = 1;
         goto out;
     }
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_types.idl
index 7d8bd5d216..82565c4c10 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -150,6 +150,12 @@ libxl_nic_type = Enumeration("nic_type", [
     (2, "VIF"),
     ])
 
+libxl_p9_type = Enumeration("p9_type", [
+    (0, "unknown"),
+    (1, "qemu"),
+    (2, "xen_9pfsd"),
+    ])
+
 libxl_action_on_shutdown = Enumeration("action_on_shutdown", [
     (1, "DESTROY"),
 
@@ -942,6 +948,11 @@ libxl_device_p9 = Struct("device_p9", [
     ("path",             string),
     ("security_model",   string),
     ("devid",            libxl_devid),
+    ("type",             libxl_p9_type),
+    ("max_space",        integer),
+    ("max_files",        integer),
+    ("max_open_files",   integer),
+    ("auto_delete",      bool),
 ])
 
 libxl_device_pvcallsif = Struct("device_pvcallsif", [
diff --git a/tools/libs/light/libxl_types_internal.idl b/tools/libs/light/libxl_types_internal.idl
index e24288f1a5..39da71cef5 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, "VIRTIO"),
+    (19, "XEN_9PFS"),
     ])
 
 libxl__console_backend = Enumeration("console_backend", [
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:22:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630574.983550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UHP-0006Yo-Nr; Fri, 10 Nov 2023 16:22:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630574.983550; Fri, 10 Nov 2023 16:22: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 1r1UHP-0006Yh-L3; Fri, 10 Nov 2023 16:22:47 +0000
Received: by outflank-mailman (input) for mailman id 630574;
 Fri, 10 Nov 2023 16:22: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U4k-00048H-Lx
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09: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 8e91d334-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:09:42 +0100 (CET)
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 1211B1F8BF;
 Fri, 10 Nov 2023 16:09: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 D3B9913398;
 Fri, 10 Nov 2023 16:09:41 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ECVUMsVVTmUiCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:09: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: 8e91d334-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632582; 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=Gi0/c29PpXoSdVTcw0fAZAZaMgimOB0NYPLB5++nb6M=;
	b=Z30w/aZQLNjYbno+UC74sMltaZTgugAz0+C9+J1GXT8KYvVwYVQGBdlajYAwv90dMQwvvc
	dWkDmTq9ajmPK39DpTcywWiOKg27O2BmwUCMn4PATOnxyOdemvJFu9wMlmQ8GsLS7wHggY
	pO+Qni8CV/LdVkVXF/GyB2v7mWbVS58=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 17/29] tools/helpers: allocate xenstore event channel for xenstore stubdom
Date: Fri, 10 Nov 2023 17:07:52 +0100
Message-Id: <20231110160804.29021-18-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In order to prepare support of PV frontends in xenstore-stubdom, add
allocation of a Xenstore event channel to init-xenstore-domain.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/helpers/init-xenstore-domain.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index b2d5df8ba5..140ed610ae 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -248,6 +248,13 @@ static int build(xc_interface *xch)
     dom->cmdline = xc_dom_strdup(dom, cmdline);
     dom->xenstore_domid = domid;
     dom->console_evtchn = console_evtchn;
+    rv = xc_evtchn_alloc_unbound(xch, domid, domid);
+    if ( rv < 0 )
+    {
+        fprintf(stderr, "xc_evtchn_alloc_unbound failed\n");
+        goto err;
+    }
+    dom->xenstore_evtchn = rv;
 
     rv = xc_dom_mem_init(dom, memory);
     if ( rv )
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:22:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630575.983556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UHQ-0006c1-2o; Fri, 10 Nov 2023 16:22:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630575.983556; Fri, 10 Nov 2023 16:22: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 1r1UHP-0006bb-Sk; Fri, 10 Nov 2023 16:22:47 +0000
Received: by outflank-mailman (input) for mailman id 630575;
 Fri, 10 Nov 2023 16:22: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U5f-0004cS-Og
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:10:39 +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 afde8a42-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:10:38 +0100 (CET)
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 E007D1F8BD;
 Fri, 10 Nov 2023 16:10: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 AF21513398;
 Fri, 10 Nov 2023 16:10:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id e4pqKf1VTmWeCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:10: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: afde8a42-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632637; 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=EdPFyHzBpfLl8phFJP9JfSgms8FOuRsGhsZ9dt1Y3Sc=;
	b=m0XrOh53fEJ9STIBbKVJWxUtB8+DijG8ygb8l3kfLXPp1nI7/bIGjudfFj539KZHZylQ5S
	hLXY7mZIZ2HflDL+s7bVUCeqd396OPLRW0M0u4IlOVO1LOBT1GyyNf0zjSa2bK5SK4JHp7
	iTUthuAWy5/5jovqiK3qhEaE8AQx2fs=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 27/29] tools/xenstored: add helpers for filename handling
Date: Fri, 10 Nov 2023 17:08:02 +0100
Message-Id: <20231110160804.29021-28-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add some helpers for handling filenames which might need different
implementations between stubdom and daemon environments:

- expansion of relative filenames (those are not really defined today,
  just expand them to be relative to /var/lib/xen/xenstore)
- expansion of xenstore_daemon_rundir() (used e.g. for saving the state
  file in case of live update - needs to be unchanged in the daemon
  case, but should result in /var/lib/xen/xenstore for stubdom)

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 tools/xenstored/core.c      | 9 ++++++++-
 tools/xenstored/core.h      | 3 +++
 tools/xenstored/lu_daemon.c | 4 ++--
 tools/xenstored/minios.c    | 5 +++++
 tools/xenstored/posix.c     | 5 +++++
 5 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 4a9d874f17..77befd24c9 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -158,6 +158,13 @@ void trace_destroy(const void *data, const char *type)
 		trace("obj: DESTROY %s %p\n", type, data);
 }
 
+char *absolute_filename(const void *ctx, const char *filename)
+{
+	if (filename[0] != '/')
+		return talloc_asprintf(ctx, XENSTORE_LIB_DIR "/%s", filename);
+	return talloc_strdup(ctx, filename);
+}
+
 /**
  * Signal handler for SIGHUP, which requests that the trace log is reopened
  * (in the main loop).  A single byte is written to reopen_log_pipe, to awaken
@@ -2983,7 +2990,7 @@ int main(int argc, char *argv[])
 
 	signal(SIGHUP, trigger_reopen_log);
 	if (tracefile)
-		tracefile = talloc_strdup(NULL, tracefile);
+		tracefile = absolute_filename(NULL, tracefile);
 
 #ifndef NO_LIVE_UPDATE
 	/* Read state in case of live update. */
diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index a0d3592961..51e1dddb22 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -393,6 +393,9 @@ void early_init(void);
 void mount_9pfs(void);
 #endif
 
+const char *xenstore_rundir(void);
+char *absolute_filename(const void *ctx, const char *filename);
+
 /* Write out the pidfile */
 void write_pidfile(const char *pidfile);
 
diff --git a/tools/xenstored/lu_daemon.c b/tools/xenstored/lu_daemon.c
index 71bcabadd3..6351111ab0 100644
--- a/tools/xenstored/lu_daemon.c
+++ b/tools/xenstored/lu_daemon.c
@@ -24,7 +24,7 @@ void lu_get_dump_state(struct lu_dump_state *state)
 	state->size = 0;
 
 	state->filename = talloc_asprintf(NULL, "%s/state_dump",
-					  xenstore_daemon_rundir());
+					  xenstore_rundir());
 	if (!state->filename)
 		barf("Allocation failure");
 
@@ -65,7 +65,7 @@ FILE *lu_dump_open(const void *ctx)
 	int fd;
 
 	filename = talloc_asprintf(ctx, "%s/state_dump",
-				   xenstore_daemon_rundir());
+				   xenstore_rundir());
 	if (!filename)
 		return NULL;
 
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index fddbede869..cfc2377857 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -98,3 +98,8 @@ void mount_9pfs(void)
 {
 	create_thread("mount-9pfs", mount_thread, NULL);
 }
+
+const char *xenstore_rundir(void)
+{
+	return XENSTORE_LIB_DIR;
+}
diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
index fcb7791bd7..76f5c9ab84 100644
--- a/tools/xenstored/posix.c
+++ b/tools/xenstored/posix.c
@@ -168,3 +168,8 @@ void early_init(void)
 	mkdir(xenstore_daemon_rundir(), 0755);
 	mkdir(XENSTORE_LIB_DIR, 0755);
 }
+
+const char *xenstore_rundir(void)
+{
+	return xenstore_daemon_rundir();
+}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:22:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630576.983559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UHQ-0006ha-Bt; Fri, 10 Nov 2023 16:22:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630576.983559; Fri, 10 Nov 2023 16:22: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 1r1UHQ-0006eL-6S; Fri, 10 Nov 2023 16:22:48 +0000
Received: by outflank-mailman (input) for mailman id 630576;
 Fri, 10 Nov 2023 16:22: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U4V-0004cS-U3
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09:27 +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 84962116-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:09:25 +0100 (CET)
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 4BC2F219B3;
 Fri, 10 Nov 2023 16:09: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 1E4CA13398;
 Fri, 10 Nov 2023 16:09:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id xHsQBrVVTmUJCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:09: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: 84962116-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632565; 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=lNELVOtIBvsXIZZicR5yL0eKM2DQUzTKU2kSsnMPGxo=;
	b=sVcDy2eCiRDJlVk10Kk2Wm9uV0EeUF1Mfbd06tvg2Jc+tPdaEOOb7cpdgGpvn7VpZpKcOH
	LZcZna+SV0w4v8dmxw6g9PbNi7fwy6meX+IbAnLHxhWTJsyZdy/JN0DPnZMbNMqE1Y/Zm3
	/WlKEPtTsIP0e9kdXPILeyfMTjmbnPQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 14/29] tools/xenlogd: add 9pfs read request support
Date: Fri, 10 Nov 2023 17:07:49 +0100
Message-Id: <20231110160804.29021-15-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add the read request of the 9pfs protocol.

For now support only reading plain files (no directories).

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
V2:
- make error check more readable (Jason Andryuk)
---
 tools/xen-9pfsd/io.c | 64 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/tools/xen-9pfsd/io.c b/tools/xen-9pfsd/io.c
index f8d981c2a6..1edea2e24a 100644
--- a/tools/xen-9pfsd/io.c
+++ b/tools/xen-9pfsd/io.c
@@ -32,6 +32,7 @@
 #define P9_CMD_WALK       110
 #define P9_CMD_OPEN       112
 #define P9_CMD_CREATE     114
+#define P9_CMD_READ       116
 #define P9_CMD_WRITE      118
 #define P9_CMD_CLUNK      120
 #define P9_CMD_STAT       124
@@ -1120,6 +1121,65 @@ static void p9_create(struct ring *ring, struct p9_header *hdr)
     free_fid(device, fidp);
 }
 
+static void p9_read(struct ring *ring, struct p9_header *hdr)
+{
+    device *device = ring->device;
+    uint32_t fid;
+    uint64_t off;
+    unsigned int len;
+    uint32_t count;
+    void *buf;
+    struct p9_fid *fidp;
+    int ret;
+
+    ret = fill_data(ring, "ULU", &fid, &off, &count);
+    if ( ret != 3 )
+    {
+        p9_error(ring, hdr->tag, EINVAL);
+        return;
+    }
+
+    fidp = get_fid_ref(device, fid);
+    if ( !fidp || !fidp->opened )
+    {
+        p9_error(ring, hdr->tag, EBADF);
+        goto out;
+    }
+
+    if ( fidp->isdir )
+    {
+        p9_error(ring, hdr->tag, EOPNOTSUPP);
+        goto out;
+    }
+    else
+    {
+        len = count;
+        buf = ring->buffer + sizeof(*hdr) + sizeof(uint32_t);
+
+        while ( len != 0 )
+        {
+            ret = pread(fidp->fd, buf, len, off);
+            if ( ret <= 0 )
+                break;
+            len -= ret;
+            buf += ret;
+            off += ret;
+        }
+        if ( ret < 0 && len == count )
+        {
+            p9_error(ring, hdr->tag, errno);
+            goto out;
+        }
+
+        buf = ring->buffer + sizeof(*hdr) + sizeof(uint32_t);
+        len = count - len;
+        fill_buffer(ring, hdr->cmd + 1, hdr->tag, "D", &len, buf);
+    }
+
+ out:
+    free_fid(device, fidp);
+}
+
 static void p9_write(struct ring *ring, struct p9_header *hdr)
 {
     device *device = ring->device;
@@ -1349,6 +1409,10 @@ void *io_thread(void *arg)
                 p9_create(ring, &hdr);
                 break;
 
+            case P9_CMD_READ:
+                p9_read(ring, &hdr);
+                break;
+
             case P9_CMD_WRITE:
                 p9_write(ring, &hdr);
                 break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:22:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630577.983568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UHQ-0006rL-Qt; Fri, 10 Nov 2023 16:22:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630577.983568; Fri, 10 Nov 2023 16:22: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 1r1UHQ-0006py-J4; Fri, 10 Nov 2023 16:22:48 +0000
Received: by outflank-mailman (input) for mailman id 630577;
 Fri, 10 Nov 2023 16:22: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U4q-00048H-BB
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09:48 +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 91eb3491-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:09:47 +0100 (CET)
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 A924C219B3;
 Fri, 10 Nov 2023 16:09: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 7526D13398;
 Fri, 10 Nov 2023 16:09:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id IHdAG8tVTmUqCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:09: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: 91eb3491-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632587; 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=xNe8mrte8l3zt8GAD/vWfM/ysJb8YxQM0ihzz8RCAYI=;
	b=ucxlTLAXKFAcGDQbY9fAu0mQd7o0xCebfdSQCjL7xOhZ94FSMZpLWABLGr2nHNTUk1EKH4
	xZug1sGyzKygMXjT0O7zLXGMmKC+oBdSAIDhyURU8FCzBkP6IobYQlrHF1bj9jf4wWZ61k
	vj9ZZPF36c1WVYUjb10Pggdq4Mpot5g=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 18/29] tools/xenstored: rename xenbus_evtchn()
Date: Fri, 10 Nov 2023 17:07:53 +0100
Message-Id: <20231110160804.29021-19-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rename the xenbus_evtchn() function to get_xenbus_evtchn() in order to
avoid two externally visible symbols with the same name when Xenstore-
stubdom is being built with a Mini-OS with CONFIG_XENBUS set.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstored/core.h   | 2 +-
 tools/xenstored/domain.c | 2 +-
 tools/xenstored/minios.c | 2 +-
 tools/xenstored/posix.c  | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index ad87199042..480b0f5f7b 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -383,7 +383,7 @@ static inline bool domain_is_unprivileged(const struct connection *conn)
 }
 
 /* Return the event channel used by xenbus. */
-evtchn_port_t xenbus_evtchn(void);
+evtchn_port_t get_xenbus_evtchn(void);
 
 /* Write out the pidfile */
 void write_pidfile(const char *pidfile);
diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
index 409b53acf9..6ef136e01f 100644
--- a/tools/xenstored/domain.c
+++ b/tools/xenstored/domain.c
@@ -1208,7 +1208,7 @@ void dom0_init(void)
 	evtchn_port_t port;
 	struct domain *dom0;
 
-	port = xenbus_evtchn();
+	port = get_xenbus_evtchn();
 	if (port == -1)
 		barf_perror("Failed to initialize dom0 port");
 
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index b5c3a205e6..0779efbf91 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -38,7 +38,7 @@ void init_pipe(int reopen_log_pipe[2])
 	reopen_log_pipe[1] = -1;
 }
 
-evtchn_port_t xenbus_evtchn(void)
+evtchn_port_t get_xenbus_evtchn(void)
 {
 	return dom0_event;
 }
diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
index 6ac45fdb45..7e03dd982d 100644
--- a/tools/xenstored/posix.c
+++ b/tools/xenstored/posix.c
@@ -111,7 +111,7 @@ void unmap_xenbus(void *interface)
 	munmap(interface, getpagesize());
 }
 
-evtchn_port_t xenbus_evtchn(void)
+evtchn_port_t get_xenbus_evtchn(void)
 {
 	int fd;
 	int rc;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:23:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:23:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630580.983590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UHg-0008Lp-27; Fri, 10 Nov 2023 16:23:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630580.983590; Fri, 10 Nov 2023 16:23: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 1r1UHf-0008Lg-Uw; Fri, 10 Nov 2023 16:23:03 +0000
Received: by outflank-mailman (input) for mailman id 630580;
 Fri, 10 Nov 2023 16:23: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U5D-0004cS-RJ
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:10:11 +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 9f34dd96-7fe3-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:10:10 +0100 (CET)
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 EC087219B4;
 Fri, 10 Nov 2023 16:10: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 C169613398;
 Fri, 10 Nov 2023 16:10:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id gH/kLeFVTmVeCQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16:10: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: 9f34dd96-7fe3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632609; 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=oAZKhBAd6GT93Obj94j3yjFdAss/Va3cfRb6VorS53Y=;
	b=pYmsLvxEBdeltPTcFGkEkHv24YTfJNEAC2lyvak5KOpvB+amuNQODE61RgjMGa5hJAVA74
	J97NxeTvPXhfG4VWOqCZp+twRFdYig+Tg6zQVK824PZ0iMqke+MmeT4bxQtr55fEnJadUm
	JwVDVfdGnY33teaiWL2DvaMT9AYyNkU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 22/29] tools/xenstored: get own domid in stubdom case
Date: Fri, 10 Nov 2023 17:07:57 +0100
Message-Id: <20231110160804.29021-23-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Obtain the own domid from the Xenstore special grant entry when running
as stubdom.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- replacement of V1 patch (ANdrew Cooper)
---
 tools/xenstored/core.c   | 1 +
 tools/xenstored/core.h   | 1 +
 tools/xenstored/minios.c | 5 +++++
 3 files changed, 7 insertions(+)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 0c14823fb0..8e271e31f9 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2738,6 +2738,7 @@ static struct option options[] = {
 int dom0_domid = 0;
 int dom0_event = 0;
 int priv_domid = 0;
+int stub_domid = -1;
 
 static unsigned int get_optval_uint(const char *arg)
 {
diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
index d0ac587f8f..3c28007d11 100644
--- a/tools/xenstored/core.h
+++ b/tools/xenstored/core.h
@@ -361,6 +361,7 @@ do {						\
 extern int dom0_domid;
 extern int dom0_event;
 extern int priv_domid;
+extern int stub_domid;
 extern bool keep_orphans;
 
 extern unsigned int timeout_watch_event_msec;
diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
index 0cdec3ae51..202d70387a 100644
--- a/tools/xenstored/minios.c
+++ b/tools/xenstored/minios.c
@@ -19,6 +19,8 @@
 #include <sys/mman.h>
 #include "core.h"
 #include <xen/grant_table.h>
+#include <mini-os/events.h>
+#include <mini-os/gnttab.h>
 
 void write_pidfile(const char *pidfile)
 {
@@ -56,4 +58,7 @@ void unmap_xenbus(void *interface)
 
 void early_init(void)
 {
+	stub_domid = evtchn_get_domid();
+	if (stub_domid == DOMID_INVALID)
+		barf("could not get own domid");
 }
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:24:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:24:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630593.983600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UIV-0001cx-Ax; Fri, 10 Nov 2023 16:23:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630593.983600; Fri, 10 Nov 2023 16:23: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 1r1UIV-0001cq-7x; Fri, 10 Nov 2023 16:23:55 +0000
Received: by outflank-mailman (input) for mailman id 630593;
 Fri, 10 Nov 2023 16:23: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=Ap16=GX=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r1U51-00048H-Hv
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:09: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 9890ad91-7fe3-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:09:59 +0100 (CET)
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 CD1181F8BB;
 Fri, 10 Nov 2023 16:09: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 9A26213398;
 Fri, 10 Nov 2023 16:09:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id w21FJNZVTmU5CQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 10 Nov 2023 16: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>
X-Inumbo-ID: 9890ad91-7fe3-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699632598; 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=ZmsEZfcmBXuYs7oC5tXzfAlBdGqmVSsNJ0eH3iUymvE=;
	b=g5/EGGUUsdiG5THU15oyWavMNNBR7tr84++c2GGUfjRATJg2tjQiRMoZfXTaksvkw0QSMG
	t2hPlCFh3yvJZaFiYi5/rr/JXdVD9W8rPTOdVym+cw+dJVgEXk4zS5s/4Mx8wlhX+aQaDP
	UCtdR7RdKkJ7sSD+BqClubV2QtfR7sM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v2 20/29] tools: add 9pfs device to xenstore-stubdom
Date: Fri, 10 Nov 2023 17:07:55 +0100
Message-Id: <20231110160804.29021-21-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231110160804.29021-1-jgross@suse.com>
References: <20231110160804.29021-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add a 9pfs device to Xenstore stubdom in order to allow it to do e.g.
logging into a dom0 file.

Use the following parameters for the new device:

- tag = "xen"
- type = "xen-9pfsd"
- path = "/var/lib/xen/xenstore"
- security-model = "none"

For now don't limit allowed file space or number of files.

Add a new libxl function for adding it similar to the function for
adding the console device.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
V2:
- add security_model parameter to new libxl function (Jason Andryuk)
---
 tools/helpers/init-xenstore-domain.c |  2 ++
 tools/include/libxl.h                | 17 ++++++++++++++++
 tools/libs/light/libxl_9pfs.c        | 29 ++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+)

diff --git a/tools/helpers/init-xenstore-domain.c b/tools/helpers/init-xenstore-domain.c
index 140ed610ae..591cb3766d 100644
--- a/tools/helpers/init-xenstore-domain.c
+++ b/tools/helpers/init-xenstore-domain.c
@@ -543,6 +543,8 @@ int main(int argc, char** argv)
     }
     libxl_console_add_xenstore(ctx, domid, 0, console_evtchn, console_gfn,
                                NULL);
+    libxl_p9_add_xenstore(ctx, domid, 0, LIBXL_P9_TYPE_XEN_9PFSD, "xen",
+                          XEN_LIB_DIR"/xenstore", "none", 0, 0, 0, 0, NULL);
     libxl_ctx_free(ctx);
 
     fd = creat(XEN_RUN_DIR "/xenstored.pid", 0666);
diff --git a/tools/include/libxl.h b/tools/include/libxl.h
index 907aa0a330..00693264f7 100644
--- a/tools/include/libxl.h
+++ b/tools/include/libxl.h
@@ -583,6 +583,13 @@
  * libxl_console_add_xenstore() in libxl.
  */
 #define LIBXL_HAVE_CONSOLE_ADD_XENSTORE 1
+
+/*
+ * LIBXL_HAVE_P9_ADD_XENSTORE indicates presence of the function
+ * libxl_p9_add_xenstore() in libxl.
+ */
+#define LIBXL_HAVE_P9_ADD_XENSTORE 1
+
 /*
  * libxl ABI compatibility
  *
@@ -2060,6 +2067,16 @@ int libxl_console_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
                                const libxl_asyncop_how *ao_how)
                                LIBXL_EXTERNAL_CALLERS_ONLY;
 
+/* libxl_p9_add_xenstore writes the Xenstore entries for a domain's
+ * primary 9pfs device based on domid, backend type and device parameters.
+ */
+int libxl_p9_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
+                          libxl_p9_type type, char *tag, char *path,
+                          char *security_model, unsigned int max_space,
+                          unsigned int max_files, unsigned int max_open_files,
+                          bool auto_delete, const libxl_asyncop_how *ao_how)
+                          LIBXL_EXTERNAL_CALLERS_ONLY;
+
 /* May be called with info_r == NULL to check for domain's existence.
  * Returns ERROR_DOMAIN_NOTFOUND if domain does not exist (used to return
  * ERROR_INVAL for this scenario). */
diff --git a/tools/libs/light/libxl_9pfs.c b/tools/libs/light/libxl_9pfs.c
index 87e9dda8e7..43702e3d9f 100644
--- a/tools/libs/light/libxl_9pfs.c
+++ b/tools/libs/light/libxl_9pfs.c
@@ -176,6 +176,35 @@ static void libxl__device_p9_add(libxl__egc *egc, uint32_t domid,
         aodev->callback(egc, aodev);
 }
 
+int libxl_p9_add_xenstore(libxl_ctx *ctx, uint32_t domid, uint32_t backend,
+                          libxl_p9_type type, char *tag, char *path,
+                          char *security_model, unsigned int max_space,
+                          unsigned int max_files, unsigned int max_open_files,
+                          bool auto_delete, const libxl_asyncop_how *ao_how)
+{
+    AO_CREATE(ctx, domid, ao_how);
+    libxl__ao_device *aodev;
+    libxl_device_p9 p9 = { .backend_domid = backend,
+                           .tag = tag,
+                           .path = path,
+                           .security_model = security_model,
+                           .type = type,
+                           .max_space = max_space,
+                           .max_files = max_files,
+                           .max_open_files = max_open_files,
+                           .auto_delete = auto_delete,
+                         };
+
+    GCNEW(aodev);
+    libxl__prepare_ao_device(ao, aodev);
+    aodev->action = LIBXL__DEVICE_ACTION_ADD;
+    aodev->callback = device_addrm_aocomplete;
+
+    libxl__device_p9_add(egc, domid, &p9, aodev);
+
+    return AO_INPROGRESS;
+}
+
 #define libxl_device_p9_list NULL
 #define libxl_device_p9_compare NULL
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:30:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:30:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630605.983611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UOd-0004eF-4N; Fri, 10 Nov 2023 16:30:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630605.983611; Fri, 10 Nov 2023 16: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 1r1UOd-0004e8-05; Fri, 10 Nov 2023 16:30:15 +0000
Received: by outflank-mailman (input) for mailman id 630605;
 Fri, 10 Nov 2023 16:30: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=EgQD=GX=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r1UOc-0004cj-2j
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:30:14 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bcf49b1-7fe6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:30:12 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 25C624EE073A;
 Fri, 10 Nov 2023 17:30:12 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6bcf49b1-7fe6-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Fri, 10 Nov 2023 17:30:12 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>, Jbeulich <jbeulich@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Andrew Cooper3
 <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Jan Beulich
 <jbeulich@suse.com>, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
In-Reply-To: <cffef994-1cba-4ce2-acb5-96e0ddd61064@xen.org>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
 <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
 <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
 <b407f981-c58c-4272-bc7c-1470a87e2487@xen.org>
 <4b4583f5-4cdb-6be9-20eb-22466b6aef28@suse.com>
 <483f3b34-ebd4-4613-b083-596bebf5ac15@xen.org>
 <alpine.DEB.2.22.394.2311091614010.3478774@ubuntu-linux-20-04-desktop>
 <cffef994-1cba-4ce2-acb5-96e0ddd61064@xen.org>
Message-ID: <0ad97e9ff3d703f56b24393e327cac84@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Hi everyone,

I trimmed the thread a bit, to make this more readable.

>>>>> IMHO, the only viable option would be to have a configuration to 
>>>>> keep
>>>>> ASSERT in production build for scanning tools.
>>>> 
>>>> But wouldn't that then likely mean scanning to be done on builds not 
>>>> also
>>>> used in production? Would doing so even be permitted when 
>>>> certification
>>>> is a requirement? Or do you expect such production builds to be used 
>>>> with
>>>> the assertions left in place (increasing the risk of a crash; recall 
>>>> that
>>>> assertions themselves may also be wrong, and hence one triggering in 
>>>> rare
>>>> cases may not really be a reason to bring down the system)?
>>> 
>>> I will leave Stefano/Nicola to answer from the certification 
>>> perspective. But
>>> I don't really see how we could get away unless we replace most of 
>>> the
>>> ASSERT() with proper runtime check (which may not be desirable for 
>>> ASSERT()s
>>> like this one).
>> 
>> For sure we don't want to replace ASSERTs with runtime checks.
>> 
>> Nicola, do we really need the ASSERT to be implemented as a check, or
>> would the presence of the ASSERT alone suffice as a tag, the same way 
>> we
>> would be using /* SAF-xx-safe */ or asmlinkage?
>> 
>> If we only need ASSERT as a deviation tag, then production builds vs.
>> debug build doesn't matter.
>> 
>> If ECLAIR actually needs ASSERT to be implemented as a check, could we
>> have a special #define to define ASSERT in a special way for static
>> analysis tools in production builds? For instance:
>> 
>> #ifdef STATIC_ANALYSIS
>> #define ASSERT(p) \
>>      do { if ( unlikely(!(p)) ) printk("ASSERT triggered %s:%d", 
>> __file__,__LINE__); } while (0)
>> #endif
> 
> Just to make 100% clear, you are saying that assessor will be happy if 
> we analyze it with ASSERT enabled but in production we use it wout them 
> enabled? The assumption here is that they should have *never* been 
> triggered so they surely should not happen in production.
> 
> Cheers,

First of all, Andrew is experimenting with an alternate solution, so we 
should wait making
any decision here until he can share the outcome of his findings.
However, from a certification perspective, the fact that the codebase is 
tested with
asserts enabled is a strong enough claim for a justification to be based 
on an assertion;
the code path just needs to be exercised by the tests.
Getting into the business of how to define asserts for static analysis 
is likely to
just cause more trouble.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:30:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:30:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630608.983619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPF-0005Ha-B5; Fri, 10 Nov 2023 16:30:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630608.983619; Fri, 10 Nov 2023 16:30: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 1r1UPF-0005HT-7v; Fri, 10 Nov 2023 16:30:53 +0000
Received: by outflank-mailman (input) for mailman id 630608;
 Fri, 10 Nov 2023 16:30: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPE-0005EV-1P
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:30:52 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 830ce735-7fe6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:30:51 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-9e2838bcb5eso369255966b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:30:51 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 830ce735-7fe6-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633850; x=1700238650; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=W9FUlYTNGUJY7rnLYdqeUmdVNvJtTbD8WO5gr2xaGSc=;
        b=QYJrbMwmwjsrInY9dgd1PpinACVeNC9k6V3kLbZrUZnAHDHL46SdbXKsoTt1BGLO49
         wX6F2fCd+YVfkVBoy0Jo1TIY2lWt7VImiuWaoRxBU6AFLydlTjxW65liPVx0AAoM5Ldg
         8xKO6XaVHSsTQ2zdRvdlAvlSchX71yIpqPKXHqLFtqCmp76RntfB/gMsRueckRVuWGus
         4xEa4S2GYYWIQ/qaL/oUYBI9GRDovFU02lYTeHpfzs1leRfdSzMHYaQeC/ImWNn4rSZi
         5y7yuWusSne+Gu2WApBtE0z0Bpi2kgb2HY5dJ7YemWc6KJwJouLknQxjZcVj1TFrT//s
         +14Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633850; x=1700238650;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=W9FUlYTNGUJY7rnLYdqeUmdVNvJtTbD8WO5gr2xaGSc=;
        b=S39lJD8MyP+G9Kd02B41pkhLJFhGf62EuNXULXz9fo6q/0QbwSWiGc/5zekR00TGNE
         hWrZjJeEwLYhWEs664ro0PKuKG+Jq6RoxV/AHrDxtuZUku1SXBPIH4WYU4hU2tfw+lR9
         e/mWzicu0eYD5NrX5QVNmp5CCvExjUaGxzEzmSE0eC8jnug/IS8sePX9FKLkjyRq44fj
         8jTg1gbpDKvbM6t5B3WoXXSqaA4+pg5ZiBA+AD0EwdR9jQPsH51YwzgH7x7dO0+9Tz5a
         lyGPfl0wGzbNr+rmK21gZC7/07COA44xP5zDmnIFwcQ4kyHCBNqjDhOCPnZde2hpOhZ2
         N+Hg==
X-Gm-Message-State: AOJu0Yz66yAqqe9RTb4V4+jjGJsv6GlXkErUQNds9uyHUU6V9unebqkT
	+gH7WsZgGo6Bet1zcD+Qf8j2KcBuEhs=
X-Google-Smtp-Source: AGHT+IEONU0pR8QMc5PER+93O4A1esnwf19CtIkqGWIu0VtPP22bY/fO+CxurUWy6VS0dlm4EeTFMw==
X-Received: by 2002:a17:906:dc90:b0:9a1:bd33:4389 with SMTP id cs16-20020a170906dc9000b009a1bd334389mr7527950ejc.74.1699633850288;
        Fri, 10 Nov 2023 08:30:50 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v2 00/15] Introduce generic headers
Date: Fri, 10 Nov 2023 18:30:26 +0200
Message-ID: <cover.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Some headers are common between several architectures, so the current patch series
provide them.

Another one reason to have them as generic is a simplification of adding support
necessary to make a complete Xen build as it was/is being done in the patch series [1]
and [2].

Also, instead of providing generic/stub headers, it was used
"#ifdef CONFIG_* #include <asm/*.h> #endif" instead of providing empty headers.

Some headers are still arguable if they should be in asm-generic, and it wasn't a response so
I decided to leave headers for now and made some updates for them.

Some patches related to delay.h, pci.h and xenoprof.h were sent as separate patches: [3], [4]
and [5].

[1] https://lore.kernel.org/xen-devel/cover.1694543103.git.sanastasio@raptorengineering.com/
[2] https://lore.kernel.org/xen-devel/cover.1692181079.git.oleksii.kurochko@gmail.com/
[3] https://lore.kernel.org/xen-devel/3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com/
[4] https://lore.kernel.org/xen-devel/314745757996935d8b2ae9919410c1abc0c86ce9.camel@gmail.com/T/#t
[5] https://gitlab.com/xen-project/xen/-/commit/ad193a79c25ae24f1de5f37900e1da74ab48e8bd

---
Changes in V2:
 - Update the commit message of the cover letter.
 - Drop the following patches because they are arch-specific or was sent as a separate patch:
   - xen/asm-generic: introduce stub header event.h
	 - xen/asm-generic: introduce stub header spinlock.h
	 - [PATCH v1 03/29] xen/asm-generic: introduce stub header cpufeature.h
	 - [PATCH v1 07/29] xen/asm-generic: introduce stub header guest_atomics.h
	 - [PATCH v1 10/29] xen/asm-generic: introduce stub header iommu.h
	 - [PATCH v1 12/29] xen/asm-generic: introduce stub header pci.h because separate patch was sent [5]
	 - [PATCH v1 14/29] xen/asm-generic: introduce stub header setup.h
	 - [PATCH v1 15/29] xen/asm-generic: introduce stub header xenoprof.h because of [3].
	 - [PATCH v1 16/29] xen/asm-generic: introduce stub header flushtlb.h
	 - [PATCH v1 22/29] xen/asm-generic: introduce stub header delay.h because of [3]
	 - [PATCH v1 23/29] xen/asm-generic: introduce stub header domain.h
	 - [PATCH v1 24/29] xen/asm-generic: introduce stub header guest_access.h
	 - [PATCH v1 25/29] xen/asm-generic: introduce stub header irq.h ( probably not so generic as I expected, I'll back to it if it will be necessary in the future )
	 - [PATCH v1 28/29] xen/asm-generic: introduce stub header p2m.h ( probably not so generic as I expected, I'll back to it if it will be necessary in the future )
 - For the rest of the patches please look at changes for each patch separately.

Oleksii Kurochko (15):
  xen/asm-generic: introduce stub header paging.h
  xen/asm-generic: introduce generic device.h
  xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
  xen/asm-generic: introduce generic hypercall.h
  xen/asm-generic: introduce generic header iocap.h
  xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
  xen/asm-generic: introduce stub header <asm/random.h>
  xen/asm-generic: introduce generic header percpu.h
  xen/asm-generic: introduce generic header smp.h
  xen/asm-generic: introduce generalized hardirq.h
  xen/asm-generic: introduce generic div64.h header
  xen/asm-generic: introduce generic header altp2m.h
  xen/asm-generic: introduce stub header monitor.h
  xen/asm-generic: introduce stub header numa.h
  xen/asm-generic: introduce stub header softirq.h

 xen/arch/arm/include/asm/Makefile   |   1 +
 xen/arch/arm/include/asm/paging.h   |  16 ----
 xen/arch/ppc/include/asm/Makefile   |   1 +
 xen/arch/ppc/include/asm/paging.h   |   7 --
 xen/include/asm-generic/altp2m.h    |  34 +++++++
 xen/include/asm-generic/device.h    | 140 ++++++++++++++++++++++++++++
 xen/include/asm-generic/div64.h     |  27 ++++++
 xen/include/asm-generic/hardirq.h   |  29 ++++++
 xen/include/asm-generic/hypercall.h |  18 ++++
 xen/include/asm-generic/iocap.h     |  17 ++++
 xen/include/asm-generic/monitor.h   |  62 ++++++++++++
 xen/include/asm-generic/numa.h      |  40 ++++++++
 xen/include/asm-generic/paging.h    |  19 ++++
 xen/include/asm-generic/percpu.h    |  35 +++++++
 xen/include/asm-generic/random.h    |  20 ++++
 xen/include/asm-generic/smp.h       |  28 ++++++
 xen/include/asm-generic/softirq.h   |  17 ++++
 xen/include/xen/grant_table.h       |   3 +
 xen/include/xen/mem_access.h        |   2 +
 19 files changed, 493 insertions(+), 23 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/paging.h
 delete mode 100644 xen/arch/ppc/include/asm/paging.h
 create mode 100644 xen/include/asm-generic/altp2m.h
 create mode 100644 xen/include/asm-generic/device.h
 create mode 100644 xen/include/asm-generic/div64.h
 create mode 100644 xen/include/asm-generic/hardirq.h
 create mode 100644 xen/include/asm-generic/hypercall.h
 create mode 100644 xen/include/asm-generic/iocap.h
 create mode 100644 xen/include/asm-generic/monitor.h
 create mode 100644 xen/include/asm-generic/numa.h
 create mode 100644 xen/include/asm-generic/paging.h
 create mode 100644 xen/include/asm-generic/percpu.h
 create mode 100644 xen/include/asm-generic/random.h
 create mode 100644 xen/include/asm-generic/smp.h
 create mode 100644 xen/include/asm-generic/softirq.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:30:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630609.983630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPH-0005XL-K7; Fri, 10 Nov 2023 16:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630609.983630; Fri, 10 Nov 2023 16:30: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 1r1UPH-0005XC-FE; Fri, 10 Nov 2023 16:30:55 +0000
Received: by outflank-mailman (input) for mailman id 630609;
 Fri, 10 Nov 2023 16:30: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPG-0005Bj-4D
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:30:54 +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 839d361c-7fe6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:30:52 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-9d2d8343dc4so376404966b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:30:52 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 839d361c-7fe6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633851; x=1700238651; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SaO7fIOpmwMvSOOVv+9GugvV3C5eIj3jBG0s6tb0akw=;
        b=Iofty/ATYBqNhBYTGgAED+JcADJBdVzvhKT+felrbyHR4/q7ZJ2SfS6VgOAYRS2lRa
         gRQHIJOlIu7Lqk9/GhO17Z1EXD/96HKvvc5NZMpO2iduQDEEbGIHjtqXpRlsJ7lN4qxQ
         T3p6+k34luKfI26vf6SZqhjPe4PE/GP7nM9L0GdF0ilE9NK1G72DlPgbGOrc9ldh2bWW
         ByFv/1LewwZoN5nnjyT+uGIbm8Wxsb0N6M+Y37p6aNzrkEpAqNsFN0ZMNVwhUITzSWOL
         KXgj6lb9enl5mqL705Qb/C2om18+p8GCCRCoFw3zUdOeAYFYVGTxz7Afe/3DqJBLXmo9
         gpWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633851; x=1700238651;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SaO7fIOpmwMvSOOVv+9GugvV3C5eIj3jBG0s6tb0akw=;
        b=RhGKCG4twhVyg1M4m/3aXPKrr4mlHox4dN4lBidQQjbfHnGebpq9/R7M1U4TzyfWlB
         8x1oja4+mKNmrIb2fprgh6KqjApHi+M526pWqjUMS0rWnutRZ1sTKDRPcS/cPV0yNQan
         HFsbo9LMPEIT1FAFdsxuB+A9JvvK4d84ElrUdEheXSb1RQXwkY1zjFt5KXAZkhfeKIwl
         bTczLj0mknIfT79JEcIXfyIUIqRpf/qHBot6Jb9byhRVpeZW7iIkb5d4C/tFBlFyiJCp
         tJPtxnGS3Yusci3aQRghj3NaWDPx48YXX3qak7EHF9B6zg0gtAM2h5fnz1JyyQ4zbq6S
         mCCA==
X-Gm-Message-State: AOJu0Yx98NMVZyZ6ZTmDTDkIFHq8enGHEC2EmhK32bKlAi17M0WyvIWt
	WEWooz99MjdWnVApfuKALr8lOrxBj4U=
X-Google-Smtp-Source: AGHT+IH+xcDPUGvhxUL7XPfTgnwH6P9VjIpFGNUdCjKDm/hmpQ/KAUx0bbQ/Uy+KxXOw+C6blQJzIg==
X-Received: by 2002:a17:907:3ea8:b0:9a1:f10d:9746 with SMTP id hs40-20020a1709073ea800b009a1f10d9746mr7048085ejc.20.1699633851469;
        Fri, 10 Nov 2023 08:30:51 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v2 01/15] xen/asm-generic: introduce stub header paging.h
Date: Fri, 10 Nov 2023 18:30:27 +0200
Message-ID: <c945fd8e0f92e3e325be77009a34aafcc6cc3a0a.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces generic paging.h header for Arm, PPC and
RISC-V.

All mentioned above architectures use hardware virt extensions
and hardware pagetable extensions thereby it makes sense to set
paging_mode_translate and paging_mode_external by default.

Also in this patch Arm and PPC architectures are switched to
generic paging.h header.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- evaluate argument of macros
	- covert macros to true
	- use proper tabs
	- switch Arm & PPC to generic paging.h
	- update commit message
---
 xen/arch/arm/include/asm/Makefile |  1 +
 xen/arch/arm/include/asm/paging.h | 16 ----------------
 xen/arch/ppc/include/asm/Makefile |  1 +
 xen/arch/ppc/include/asm/paging.h |  7 -------
 xen/include/asm-generic/paging.h  | 19 +++++++++++++++++++
 5 files changed, 21 insertions(+), 23 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/paging.h
 delete mode 100644 xen/arch/ppc/include/asm/paging.h
 create mode 100644 xen/include/asm-generic/paging.h

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 821addb0bf..2128bb015f 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += vm_event.h
+generic-y += paging.h
diff --git a/xen/arch/arm/include/asm/paging.h b/xen/arch/arm/include/asm/paging.h
deleted file mode 100644
index 6d1a000246..0000000000
--- a/xen/arch/arm/include/asm/paging.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _XEN_PAGING_H
-#define _XEN_PAGING_H
-
-#define paging_mode_translate(d)              (1)
-#define paging_mode_external(d)               (1)
-
-#endif /* XEN_PAGING_H */
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 821addb0bf..2128bb015f 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += vm_event.h
+generic-y += paging.h
diff --git a/xen/arch/ppc/include/asm/paging.h b/xen/arch/ppc/include/asm/paging.h
deleted file mode 100644
index eccacece29..0000000000
--- a/xen/arch/ppc/include/asm/paging.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __ASM_PPC_PAGING_H__
-#define __ASM_PPC_PAGING_H__
-
-#define paging_mode_translate(d)              (1)
-#define paging_mode_external(d)               (1)
-
-#endif /* __ASM_PPC_PAGING_H__ */
diff --git a/xen/include/asm-generic/paging.h b/xen/include/asm-generic/paging.h
new file mode 100644
index 0000000000..8df534cfdc
--- /dev/null
+++ b/xen/include/asm-generic/paging.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_PAGING_H__
+#define __ASM_GENERIC_PAGING_H__
+
+#include <xen/stdbool.h>
+
+#define paging_mode_translate(d)    ((void)(d), true)
+#define paging_mode_external(d)     ((void)(d), true)
+
+#endif /* __ASM_GENERIC_PAGING_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:30:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:30:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630610.983635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPH-0005ax-Se; Fri, 10 Nov 2023 16:30:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630610.983635; Fri, 10 Nov 2023 16:30: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 1r1UPH-0005aV-Ns; Fri, 10 Nov 2023 16:30:55 +0000
Received: by outflank-mailman (input) for mailman id 630610;
 Fri, 10 Nov 2023 16:30: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPG-0005EV-Hg
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:30:54 +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 84912742-7fe6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:30:53 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-53e07db272cso3664726a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:30:53 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 84912742-7fe6-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633853; x=1700238653; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NvsK0oCsBDBGCpZlSufchPSLev4cFlQbwA0TUCOkL1Q=;
        b=GshP/i/22IMRlwcgpTFKaKppSjDMgRyT3Mj3B6jal3FpXHwn8M/sHvGzPOx/dN38FJ
         h+PmtUkLoE/8MS5XBZFHx0CwYRkfomUEhfj8Ih5kGuA5U1GMArgICZQnHZbiIcgIum/M
         xBuRdg1mln8bc/Cm9Rfy7Odb67kiQprkLoNSgahmBm3q85noP5wfNHYYngf0eUhvYWt5
         uKuZ27zP4paM0rAwyY/MRlgt69EN3jatU/rN3AP+VQmByX8l/mfO8KPRDGM+jf8Uw5pu
         HOeSoarGBH1F1myrYcf2LIVW1S59FuBZeZXfWHULhZEsHT8hRWwP2u9ZwtEKUfQ6KDvy
         5/fA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633853; x=1700238653;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=NvsK0oCsBDBGCpZlSufchPSLev4cFlQbwA0TUCOkL1Q=;
        b=G5dRlkvafZm5lRaKjo5/OxhQe+U1IOsgBf5tlHLO2mc8fpmYGrkAlDuqJM6tZNrYGr
         0VhGcUtkn/Dcu44FgLB+kt7XragEHfUmtn/t3KFEEzXrFNfa0/PoIcZ1RDs0H2LXklG0
         4XirafzrujDB/EdvwXqLbbriWAeRJZ76xftjIX0l9orXoxI7IM5eTsrU+6fj3GWEPv8H
         Qflc5sTFZKxZe8vyQG2ILT58EgL9MP3umXBkAEb/A1z9Tcifslk+Ao4MtB1OVFHmKkqh
         HTO2p7vB9eM/CZRj3AMIXbsqRBndvzG1G9AyDgPBkIosyglnzBdhPE+nKfoedFlih+9f
         Wipw==
X-Gm-Message-State: AOJu0YxtASXuTO/SnioOoV428NLXnzM3shx8Rvnuzobw8OrIFtSBsgBs
	tK2Ji2j2JqW5SM6Lt5rM6tp/MIM+0OI=
X-Google-Smtp-Source: AGHT+IGEmb3GoHn5xaJzhgOsHzqLSPOVadzTsuSxZDiBhWqg5YlCH3GYzlm7lPaVmwAcLNZonrU41A==
X-Received: by 2002:a17:907:9287:b0:9be:6ff7:128a with SMTP id bw7-20020a170907928700b009be6ff7128amr6386296ejc.67.1699633852692;
        Fri, 10 Nov 2023 08:30:52 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 02/15] xen/asm-generic: introduce generic device.h
Date: Fri, 10 Nov 2023 18:30:28 +0200
Message-ID: <f006e36726ecfefe5dad3c13401365c4f7276ccd.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Arm, PPC and RISC-V use the same device.h thereby device.h
was moved to asm-generic. Arm's device.h was taken as a base with
the following changes:
 - #ifdef PCI related things.
 - #ifdef ACPI related things.
 - Rename #ifdef guards.
 - Add SPDX tag.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
It is still open question if device.h should be in asm-generic. Need more opinions.

Changes in V2:
	- take ( as common ) device.h from Arm as PPC and RISC-V use it as a base.
	- #ifdef PCI related things.
	- #ifdef ACPI related things.
	- rename DEVICE_GIC to DEVIC_IC.
	- rename #ifdef guards.
	- switch Arm and PPC to generic device.h
	- add SPDX tag
	- update the commit message

---
 xen/include/asm-generic/device.h | 140 +++++++++++++++++++++++++++++++
 1 file changed, 140 insertions(+)
 create mode 100644 xen/include/asm-generic/device.h

diff --git a/xen/include/asm-generic/device.h b/xen/include/asm-generic/device.h
new file mode 100644
index 0000000000..5478fc11ca
--- /dev/null
+++ b/xen/include/asm-generic/device.h
@@ -0,0 +1,140 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_DEVICE_H__
+#define __ASM_GENERIC_DEVICE_H__
+
+enum device_type
+{
+    DEV_DT,
+#ifdef HAS_PCI
+    DEV_PCI,
+#endif
+};
+
+struct dev_archdata {
+    void *iommu;    /* IOMMU private data */
+};
+
+/* struct device - The basic device structure */
+struct device
+{
+    enum device_type type;
+#ifdef CONFIG_HAS_DEVICE_TREE
+    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
+#endif
+    struct dev_archdata archdata;
+    struct iommu_fwspec *iommu_fwspec; /* per-device IOMMU instance data */
+};
+
+typedef struct device device_t;
+
+#include <xen/device_tree.h>
+
+#ifdef HAS_PCI
+#define dev_is_pci(dev) ((dev)->type == DEV_PCI)
+#endif
+
+#define dev_is_dt(dev)  ((dev)->type == DEV_DT)
+
+enum device_class
+{
+    DEVICE_SERIAL,
+    DEVICE_IOMMU,
+    DEVICE_IC,
+#ifdef HAS_PCI
+    DEVICE_PCI_HOSTBRIDGE,
+#endif
+    /* Use for error */
+    DEVICE_UNKNOWN,
+};
+
+struct device_desc {
+    /* Device name */
+    const char *name;
+    /* Device class */
+    enum device_class class;
+    /* List of devices supported by this driver */
+    const struct dt_device_match *dt_match;
+    /*
+     * Device initialization.
+     *
+     * -EAGAIN is used to indicate that device probing is deferred.
+     */
+    int (*init)(struct dt_device_node *dev, const void *data);
+};
+
+#ifdef CONFIG_ACPI
+
+struct acpi_device_desc {
+    /* Device name */
+    const char *name;
+    /* Device class */
+    enum device_class class;
+    /* type of device supported by the driver */
+    const int class_type;
+    /* Device initialization */
+    int (*init)(const void *data);
+};
+
+/**
+ *  acpi_device_init - Initialize a device
+ *  @class: class of the device (serial, network...)
+ *  @data: specific data for initializing the device
+ *
+ *  Return 0 on success.
+ */
+int acpi_device_init(enum device_class class,
+                     const void *data, int class_type);
+
+#endif /* CONFIG_ACPI */
+
+/**
+ *  device_init - Initialize a device
+ *  @dev: device to initialize
+ *  @class: class of the device (serial, network...)
+ *  @data: specific data for initializing the device
+ *
+ *  Return 0 on success.
+ */
+int device_init(struct dt_device_node *dev, enum device_class class,
+                const void *data);
+
+/**
+ * device_get_type - Get the type of the device
+ * @dev: device to match
+ *
+ * Return the device type on success or DEVICE_ANY on failure
+ */
+enum device_class device_get_class(const struct dt_device_node *dev);
+
+#define DT_DEVICE_START(_name, _namestr, _class)                    \
+static const struct device_desc __dev_desc_##_name __used           \
+__section(".dev.info") = {                                          \
+    .name = _namestr,                                               \
+    .class = _class,                                                \
+
+#define DT_DEVICE_END                                               \
+};
+
+#ifdef CONFIG_ACPI
+
+#define ACPI_DEVICE_START(_name, _namestr, _class)                    \
+static const struct acpi_device_desc __dev_desc_##_name __used           \
+__section(".adev.info") = {                       \
+    .name = _namestr,                                               \
+    .class = _class,                                                \
+
+#define ACPI_DEVICE_END                                               \
+};
+
+#endif /* CONFIG_ACPI */
+
+#endif /* __ASM_GENERIC_DEVICE_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:30:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:30:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630611.983650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPJ-00063K-BK; Fri, 10 Nov 2023 16:30:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630611.983650; Fri, 10 Nov 2023 16:30: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 1r1UPJ-00063B-8S; Fri, 10 Nov 2023 16:30:57 +0000
Received: by outflank-mailman (input) for mailman id 630611;
 Fri, 10 Nov 2023 16:30: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPI-0005Bj-DK
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:30:56 +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 8513676c-7fe6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:30:54 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-9e61e969b1aso139697566b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:30:54 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8513676c-7fe6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633854; x=1700238654; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H3O1Y0n3q5RJstFX0Kyg3z3bQs0fhLQ5wf5VwzlPI2E=;
        b=FReMGtRldl4++7r5qJBcVDpR8rlfzRffTR2Qrusg31oHYt7UKZoXe+bwhkI4A15oQ4
         d8hAuthlEBw3RZzadEYEOb1pVpSpmgcYO5FcT3QEDkLcDqMXLxoY5PudIof/j2XXd0Fp
         RBtxUMfNotKfSPmHJvgGGudGjmaX4J+E7/5SXBGqPciy3NLFeiHvWaO0NjtL7n0lGHzm
         Fg8aCcKa50glwZS5si+PGHIIPJeWtNToWgCgpR5FpP3v4EK1f1bahpkTaPKER0h1KtMC
         2ZX6aTxyWCp4wDvLI5azB87PFr3UuoL72Qz/oMUlJa7ioz4tNITW4CIZFKvwJORZzT4Q
         uEdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633854; x=1700238654;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=H3O1Y0n3q5RJstFX0Kyg3z3bQs0fhLQ5wf5VwzlPI2E=;
        b=c6BUU4OeksaixJmuG4ee0qLG48Y7iBdmTGKf54lvyRhmu4qLGcyyKQiYNnSDEGgpvn
         HYi9SNqTLpOhDptLu87qS9d62aU8JiFXfH02nxDX3tdiatLJDu9VY+Z3zIYzZwFt4Ys0
         9mku0qOZXcDOqeUfGeZvH7FW8q0MCklgBSHgT6Sy3CDlMIbZG9ZN0Zo6VDy+F7DITrS6
         BFlm8BLxE1nnXdr9+GXGFtiWaSoB7kPN29G7IsMHLQE1jX9swpxYr9iNA7fXLCBqx7pE
         HDl9GbIEDC3QZmCZNqMKnL9khzdZq9f7ewuwn9G1WSGwE9qjIhDYAQBWZRQnhFejNnc1
         uOyg==
X-Gm-Message-State: AOJu0YxlDB6f0Hz5bAZz4oUpcOT6j/4ZNA0BAupnL9nFsj6fU+fYYUXR
	kpY+ZlVsedNl6/u8SCZ6atmvt6VK/z8=
X-Google-Smtp-Source: AGHT+IEiPYbRZhrTqpKWt7zqu4+Eg1sdWzcY9qVAqSFBpy7231QJUol8hazCDydLNbYHGIUtODK+Rg==
X-Received: by 2002:a17:907:787:b0:9d2:20ee:b1c7 with SMTP id xd7-20020a170907078700b009d220eeb1c7mr7475614ejb.45.1699633853938;
        Fri, 10 Nov 2023 08:30:53 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 03/15] xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
Date: Fri, 10 Nov 2023 18:30:29 +0200
Message-ID: <cd1341ae337fc9a1619d747b3db1a7a5cd6ad2fb.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Ifdefing inclusion of <asm/grant_table.h> allows to avoid
generation of empty <asm/grant_table.h> for cases when
CONFIG_GRANT_TABLE is not enabled.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- ifdef inclusion of asm/grant_table.h in xen/grant_table.h to avoid
	  generation of empty headers for PPC and RISC-V archs.
	- update commit message
	- add Suggested-by: Jan Beulich <jbeulich@suse.com>
	- Remove provided before asm-generic/grant_table.h header.
---
 xen/include/xen/grant_table.h | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index 85fe6b7b5e..50edfecfb6 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -26,7 +26,10 @@
 #include <xen/mm-frame.h>
 #include <xen/rwlock.h>
 #include <public/grant_table.h>
+
+#ifdef CONFIG_GRANT_TABLE
 #include <asm/grant_table.h>
+#endif
 
 struct grant_table;
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:30:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:30:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630612.983655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPJ-000668-NJ; Fri, 10 Nov 2023 16:30:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630612.983655; Fri, 10 Nov 2023 16:30: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 1r1UPJ-00065n-Hb; Fri, 10 Nov 2023 16:30:57 +0000
Received: by outflank-mailman (input) for mailman id 630612;
 Fri, 10 Nov 2023 16:30: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPI-0005EV-IY
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:30:56 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85e0f93d-7fe6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:30:56 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-9e28724ac88so367524366b.2
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:30:56 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85e0f93d-7fe6-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633855; x=1700238655; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5hJRqa7yLK42bSotxakvkrC+HiQbNTKnL5q5ovQX0sM=;
        b=CxtsHDl6A607ko/Jrep1lICo9V+h0FBQgmN+4gU1nrMOa94qLR/V08UKQfGWmgkOfZ
         EPLtWtH+HvOhrzjHFciVJOCUoxo7J6VCXF3bmUBSK2Iqt21FZCRDvUSaxOffO0930/DU
         cHjSt7VeXCJ1z47V7mhYfjkWJWXE1fWHok07WUimBVtQ8WLmEm8Kq6X3n0EAMzD6uBm3
         62DLmjd3F8j5UCd1FJdJy7U9wzzXSC0xXaqWCu7tObNMp5L0hNoT86kvtXaKk2hWVJ/3
         InNTsWmH4SSHtTZSjj2zL10c06YA/GzAfg3cgRe0F6yvg297+sb8Ry6LPXM8gFJHBSA0
         JztQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633855; x=1700238655;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=5hJRqa7yLK42bSotxakvkrC+HiQbNTKnL5q5ovQX0sM=;
        b=u0seJwMA3ymNni+FvuvVpq2r4voQ+X1g2Im6smVzyoOvKAHjA9IIIMK5QncJHVqXyk
         gmvvThyQJa8lkNfVQoqy1XKVhLK0FOcwqLlGKgua7ok5O2ae7/bjEovhp8S/48YsXDIz
         9skms5Ztk4e10LZLbqtm2pYm8EMJenJlkXT+fsIuiAduI1Pu9mofV8rnLKbLq78QjsWP
         I3B8HJQ43BqgzcGLYlOxmwW3F3E6i6EDAoOlKVIe0Dsb/dPVFcoWppc1CM8AYe/2ESqp
         BV1HPa3ZCAvzSowXM42XhiHxslRagzK3nPdAUsiR6q18BdfaKhwvET/xuHP3XespFg3S
         PFew==
X-Gm-Message-State: AOJu0YxDHwuM4KmwxQp+6kPNgsDdmvuXBsuLX/YaQ3ZqUCChNClTe2uu
	irFmJ2iUXnQ5u00Cpgoy3m8sqS7FeR8=
X-Google-Smtp-Source: AGHT+IEHECIOycoxADEPzUvyyr1StZ2GkJWLN+T7Abgq6LV4jZVsB7/ZRsu3USrz3cj10fNxwH9f4Q==
X-Received: by 2002:a17:907:9304:b0:9c3:cd12:1927 with SMTP id bu4-20020a170907930400b009c3cd121927mr6480458ejc.5.1699633854909;
        Fri, 10 Nov 2023 08:30:54 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 04/15] xen/asm-generic: introduce generic hypercall.h
Date: Fri, 10 Nov 2023 18:30:30 +0200
Message-ID: <87a6f7a2135361ad231bfc0cfc2d73ca78c357a3.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce an empty generic hypercall.h for archs which don't
implement it.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - add check that <asm/hypercall.h> isn't included directly.
---
 xen/include/asm-generic/hypercall.h | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 xen/include/asm-generic/hypercall.h

diff --git a/xen/include/asm-generic/hypercall.h b/xen/include/asm-generic/hypercall.h
new file mode 100644
index 0000000000..7743b35c0d
--- /dev/null
+++ b/xen/include/asm-generic/hypercall.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __XEN_HYPERCALL_H__
+#error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
+#endif
+
+#ifndef __ASM_GENERIC_HYPERCALL_H__
+#define __ASM_GENERIC_HYPERCALL_H__
+
+#endif /* __ASM_GENERIC_HYPERCALL_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630613.983670 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPM-0006cp-0L; Fri, 10 Nov 2023 16:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630613.983670; Fri, 10 Nov 2023 16:30: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 1r1UPL-0006cg-TN; Fri, 10 Nov 2023 16:30:59 +0000
Received: by outflank-mailman (input) for mailman id 630613;
 Fri, 10 Nov 2023 16:30: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPK-0005EV-Hm
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:30:58 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8704a76a-7fe6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:30:58 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-53dd752685fso3607992a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:30:58 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8704a76a-7fe6-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633857; x=1700238657; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pNlgHH2+ktCzJe/U/s44e1F9wORkNaJQ+ejM+24ZT2k=;
        b=BbnGrakVKILBjh/mOwz4qPmtfkG8ficEXeOtDADmN7WTc1Zs+om04HjmBe2PqFc5e6
         yoxzOWevwCE6avUX2cbv7qGvmWxiI2vZHGMvCj1W6pNUlzVItzQp4pxEfdfyBlLz0h6e
         qhre0BwMrc8HEXkgZ31MwRyq00SuZJ1PCJx90sejmM/azcQTanRuqoSNmY6QeVH6IEXz
         8GqRfW7L+CCTu41lFJ/CIt7ATTf6sSNdjCeLKGbpd3fZ5Nb4BGgQi+zqNuGp3YRbAyK5
         x+XG5GbRzqI3FiUDKplF0MnS8oiTqyuWZyNhuD+alT/3TVDCpTQu6zMmvsmNybmXiMF1
         hhnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633857; x=1700238657;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pNlgHH2+ktCzJe/U/s44e1F9wORkNaJQ+ejM+24ZT2k=;
        b=jkWzxr27Gco+jw0ub0Wvx4sAGWUGnB+hiUs270jn3+xmJ0fXV7e3Z1IwL0nWJztym/
         5JAae/80uVYPNPFVN0m1vh4PJQPiHfohsYJ3nDkzCQbowUymG3ghQk+AZB7VJs1avIXF
         w7SgoSpp0MCxnUYJF3DVWnHzSHilI+pN++wokvjY1zdwLJKXFpdPDsLjxsWUPpQP55Ar
         EnI5xI49x87uXqMqr1KGXFrZhynyOTjnaq8Ag/+tRWEZ27KPVJuMqMlYligKMx8/k5BH
         FUvo0tRYY4BFUSvlEuu0hljM6u9EMKNn5T+mehKwAQB47BQ3gprjyAs0ziRCaczHeiw9
         vatw==
X-Gm-Message-State: AOJu0YxwjvSUXs6GQUjMdJI9bnWKWXkm+1G4I+62+0rC6okD1uXjD4CG
	k9CQPskmzT7Yt8cZ/DJ2HRtRA0hSZKM=
X-Google-Smtp-Source: AGHT+IF+CIKmdcaZQJXwuwaB94ORORfT3+rJCuHr5biDpK6t9A50jLiARFhufiMmCQL42I426ZSNUg==
X-Received: by 2002:a17:907:3606:b0:9b2:982e:339a with SMTP id bk6-20020a170907360600b009b2982e339amr6597509ejc.22.1699633857302;
        Fri, 10 Nov 2023 08:30:57 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 06/15] xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
Date: Fri, 10 Nov 2023 18:30:32 +0200
Message-ID: <7ab8ce9ca633a5a7e5212d0acc62d6e1d4688ca0.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

ifdefing inclusion of <asm/mem_access.h> in <xen/mem_access.h>
allows to avoid generation of empty <asm/mem_access.h> header
for the case when !CONFIG_MEM_ACCESS.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- add Suggested-by: Jan Beulich <jbeulich@suse.com>
	- update the commit message
	- remove <asm-generic/mem_access.h>
---
 xen/include/xen/mem_access.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
index 4e4811680d..87d93b31f6 100644
--- a/xen/include/xen/mem_access.h
+++ b/xen/include/xen/mem_access.h
@@ -33,7 +33,9 @@
  */
 struct vm_event_st;
 
+#ifdef CONFIG_MEM_ACCESS
 #include <asm/mem_access.h>
+#endif
 
 /*
  * Additional access types, which are used to further restrict
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630614.983675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPM-0006gm-DH; Fri, 10 Nov 2023 16:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630614.983675; Fri, 10 Nov 2023 16:31: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 1r1UPM-0006gC-7k; Fri, 10 Nov 2023 16:31:00 +0000
Received: by outflank-mailman (input) for mailman id 630614;
 Fri, 10 Nov 2023 16:30: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPK-0005Bj-RR
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:30:58 +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 868f9c12-7fe6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:30:57 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-9df8d0c2505so460844666b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:30:57 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 868f9c12-7fe6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633856; x=1700238656; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=i4GiMwFNhic1Of+4qxhqUdq0tdhcqKTYgac+1gBg+Ao=;
        b=Eek3Yp1oYvkOcYZgMXNZRH8e66YaJ8uj1BMwT007pLJPYI+ujVGloCL6Dgns7W3v4V
         d5DcqNkSfe3n2Ny/Hy+ye4gfBKX0fYp6woiAq8BXC/WUYm8P/Fh2GpHjQBQasYrIbF6n
         LkXiM/3rtbT/cXNIIFoLkYN2xajQReyyysu1XLYL/QQoJgPT1evYKSqa++tWFqb57hDR
         YTXdB1xvdhYsDmXHyrD+zYnqY+seFh3myeGNqZdtyN1wfuHL+dqQijaTg/UJOnZ2G1yv
         OVPWVoHBQUtfBtorgCslrtzQmxCy7Msh1UqPCFhSglycaFGBHE7DGebrl9dGKk+8+DAv
         Ijtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633856; x=1700238656;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=i4GiMwFNhic1Of+4qxhqUdq0tdhcqKTYgac+1gBg+Ao=;
        b=DK+UkB6PsFOItd+ZOqnHOybfSRQrI7vEDtD6h7csAA/drIQdwF9yM6kbSn/WvPdgSA
         aPeqbOOnaNzpwQWV/LE5nPFPClWwHAkW++/rvsKJDq5knwyZZawnWulqzmV5Yql7y3kB
         swg5jijuyvv/Cb4dJHSLjiFZwK01Ib+uP62HVWhK3gTa/rwlncmIZud7PbdiRDQiyqsf
         tKgAhoum/dVkjyiwxBW2e+BaLMVyA4e4A78e18t5xuQgBWt2caluCCqaaHLUq76QZzyt
         c53JrF0DTkq56rOULiimqiDBueg/SkiZsD6jP39zc445/dUT94LmjxbqCV+fyGQAPRic
         QRSA==
X-Gm-Message-State: AOJu0Yx506h1Bdr+pSO2lE2WcxJl6xFIJnTlWmZYcUE42B9+kB4sKR+V
	VTVSaDtRT0SL8UahhkUA8LKYuaHvnfI=
X-Google-Smtp-Source: AGHT+IFZ7Fmn5+ODTd0Tw/vIffUZN66H0viRuphmcR4vVXFOcYlGklI4ld7L0oE/FWH20ceYuq01qA==
X-Received: by 2002:a17:906:13d5:b0:9a9:f0e6:904e with SMTP id g21-20020a17090613d500b009a9f0e6904emr2946531ejc.16.1699633856160;
        Fri, 10 Nov 2023 08:30:56 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 05/15] xen/asm-generic: introduce generic header iocap.h
Date: Fri, 10 Nov 2023 18:30:31 +0200
Message-ID: <6ea2fc1c12fa08e7cc6a47735c4fcd49c48ac4d3.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

iocap.h is common for Arm, PPC and RISC-V architectures thereby
it was moved to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
The same question as with device.h. Should it be in asm-generic?

Changes in V2:
 - update the commit message
---
 xen/include/asm-generic/iocap.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 xen/include/asm-generic/iocap.h

diff --git a/xen/include/asm-generic/iocap.h b/xen/include/asm-generic/iocap.h
new file mode 100644
index 0000000000..dd7cb45488
--- /dev/null
+++ b/xen/include/asm-generic/iocap.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_IOCAP_H__
+#define __ASM_GENERIC_IOCAP_H__
+
+#define cache_flush_permitted(d)                        \
+    (!rangeset_is_empty((d)->iomem_caps))
+
+#endif /* __ASM_GENERIC_IOCAP_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630615.983689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPN-00075U-QB; Fri, 10 Nov 2023 16:31:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630615.983689; Fri, 10 Nov 2023 16:31: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 1r1UPN-00074G-GM; Fri, 10 Nov 2023 16:31:01 +0000
Received: by outflank-mailman (input) for mailman id 630615;
 Fri, 10 Nov 2023 16:31: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPM-0005Bj-Gv
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:31:00 +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 87933319-7fe6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:30:59 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-9d2d8343dc4so376420666b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:30:59 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87933319-7fe6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633858; x=1700238658; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wbj4r6F42J2p6p5PO7TAcYWIgSd4H4ZMKYzy5fPGOm8=;
        b=aBrrTrEjqbJkH/R30lwOjUTrQf73ahtP9pxuC5taXNv76jkBbknpRK/T68q6qSGgNH
         3N+cx1n7flfO7WfZeXkquheN/NhZeiS83tGcTo5Km/bv1y8Ew3Xp4JV/1CJvNIndhDb0
         FKgfKafYFgRW7TuPZMZKKlXkXB0N5zHCOGITAxdwquwyVtfukZ0eg0KgRyFc7PU6C77J
         MnQPg6cd7Du4nsbTHSlpTdZS+4jGKWFe1z9E369IfFEBQ+sgALJ1bpsBpb6KgbeAsnkO
         PUoHzNa0yBGOPAgOWFA2f17tWV/VYq8JLUmyZTWfTWlyl5oFOimQH1j2z6UPmKl9B2xK
         p09A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633858; x=1700238658;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wbj4r6F42J2p6p5PO7TAcYWIgSd4H4ZMKYzy5fPGOm8=;
        b=MGAK+IbTiBQ7smioj9QWsv62uEEW3YBB5LVMC0oFxDdgR2Bop8C9Qtq6PkusCnDIqX
         Hl46m8miNuIS5KykhpDmn9rR2C0jK0Nw7lLtGJ8Tu+uSn+MViGLhwN1ytsOirXud/oK2
         f/rJKtHx22L40ZQz/EiNFebl08gjivtKGSIUNwFxMcSzK3A9mozSmwfRE2Hp/61PXk0x
         75TZ0BmKY3tOo3s5pBv6ai3A7haLTY4dyaGIhSG8cQjsAVMcLZvN1fPqlUUI3imy8d75
         +brdmZyPAHiiUmRDvxUKtGi91K2wNI4e+Z0Dq9Fd5BsdQpP5erP/Y0Bw3M/YzX6J6gfM
         4Lvw==
X-Gm-Message-State: AOJu0Yxc+u5tLeWYAetPVb+x+oyKAXMZvtVqBna4B0ayhRwFnIB2V6ZI
	L3itVkQz7Q7t4L8Y19owNq9pj9EcRp4=
X-Google-Smtp-Source: AGHT+IGsa8twXDGG2hoSMFk+2SIC+kfI+GZb2IA+wGpfAFJqj9EPCHGgl6OdoxHMLEnrPXHAOyVEFg==
X-Received: by 2002:a17:906:4fc7:b0:9ad:8aac:362b with SMTP id i7-20020a1709064fc700b009ad8aac362bmr7968848ejw.23.1699633858309;
        Fri, 10 Nov 2023 08:30:58 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 07/15] xen/asm-generic: introduce stub header <asm/random.h>
Date: Fri, 10 Nov 2023 18:30:33 +0200
Message-ID: <2464c6b984d187207fe76453bd05502d288af4f9.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/random.h> is common for Arm, PPC and RISC-V thereby it
is moved to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - update the commit messages
---
 xen/include/asm-generic/random.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 xen/include/asm-generic/random.h

diff --git a/xen/include/asm-generic/random.h b/xen/include/asm-generic/random.h
new file mode 100644
index 0000000000..cd2307e70b
--- /dev/null
+++ b/xen/include/asm-generic/random.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_RANDOM_H__
+#define __ASM_GENERIC_RANDOM_H__
+
+static inline unsigned int arch_get_random(void)
+{
+    return 0;
+}
+
+#endif /* __ASM_GENERIC_RANDOM_H__ */
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630616.983699 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPP-0007Rk-4g; Fri, 10 Nov 2023 16:31:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630616.983699; Fri, 10 Nov 2023 16:31: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 1r1UPP-0007R8-0H; Fri, 10 Nov 2023 16:31:03 +0000
Received: by outflank-mailman (input) for mailman id 630616;
 Fri, 10 Nov 2023 16:31: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPN-0005Bj-G5
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:31:01 +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 882496b5-7fe6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:31:00 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-9e62ab773f1so131560366b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:30:59 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 882496b5-7fe6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633859; x=1700238659; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+Ksyz7eqpUnGFNwlEVCF+IR1olruWlEWE2GXgTvK14s=;
        b=nLiI6WDqXftlmzwP4+SWZQ+zmht/TrfU4ViNJYOCawtjxiu5pLGSOUybntT6SdgJYb
         uxQIJbDRpUTboOy++Zi/sIT00lVriMf/0VxiivUAC+5bzIjfS1lerkq+TMfQROw0O7Z1
         Kzzl8sHXj+xgG5WMW7Ylso52DDbFSCb/GgKIJbliksdfwtax4mgZRgkAlZstaTg5SORU
         zNcBKDM/Uf29PkL/D7tkBcmyjsYoUmgiWuZqCI71Q6PhLofF3GR9wq9QCF1H/qSaA+IE
         QNedFx1K0S8e7EKoSuvEHozTDddRcy38ixOzuGhymdj79t3rS+jJW2NG8wdfSTqrXEwK
         8+Ww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633859; x=1700238659;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+Ksyz7eqpUnGFNwlEVCF+IR1olruWlEWE2GXgTvK14s=;
        b=Nc6NRlFrLqqG9Rrqa34q8/vZctjRkm9D+3nBueWLSev8xqQC4eSYDBvqBLFY8aQ298
         3OYHIoA1X8+5Gm87zg5VSZKmRuH0mZtprfCzLnrt14nBjO7phOsntIZsYh4QjWQzn54p
         ZZF4j84f/UpeqvWs6QihfabpTy6mcIvfkvM3ims434AVjSXsce/1t1FIVGbdYLWWsaAu
         DTk0hbGURu/tqHyp7CeHFLuk+7rkYINgDQP4IfrHcuqRrRqqWu39MFKmrM4+ftJZUFjS
         oeD5YI+20y4qfHB4DEFzO0eLrcNqPJlBm4mtqEO3rjAr3wZd+UdXNcRKM6CU6itWeFeV
         jPdw==
X-Gm-Message-State: AOJu0YzItj0gPI/9for+JHR6m5v6pOCvP4xcD4RJB+d2YA+ZM5ieDZ03
	X/5LKXTd4/uCGByWdLdgrPz+J0Rxxj4=
X-Google-Smtp-Source: AGHT+IE6kPiXX7Z5JSop3+dJNokyJWJRZdMX1Asa8K1PXdW65cBGfCL9mpOdjoesLyxVw2MLuNP78A==
X-Received: by 2002:a17:907:948d:b0:9a5:a0c6:9e8e with SMTP id dm13-20020a170907948d00b009a5a0c69e8emr7208470ejc.31.1699633859199;
        Fri, 10 Nov 2023 08:30:59 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 08/15] xen/asm-generic: introduce generic header percpu.h
Date: Fri, 10 Nov 2023 18:30:34 +0200
Message-ID: <d0ecdf04ceea49f57a54e15cc129c165a142a5cb.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- use smp_processor_id() instead of get_processor_id().
 	- update commit message .
---
 xen/include/asm-generic/percpu.h | 35 ++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)
 create mode 100644 xen/include/asm-generic/percpu.h

diff --git a/xen/include/asm-generic/percpu.h b/xen/include/asm-generic/percpu.h
new file mode 100644
index 0000000000..85a3f3ef17
--- /dev/null
+++ b/xen/include/asm-generic/percpu.h
@@ -0,0 +1,35 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_PERCPU_H__
+#define __ASM_GENERIC_PERCPU_H__
+
+#ifndef __ASSEMBLY__
+
+#include <xen/types.h>
+
+extern char __per_cpu_start[], __per_cpu_data_end[];
+extern unsigned long __per_cpu_offset[NR_CPUS];
+void percpu_init_areas(void);
+
+#define per_cpu(var, cpu)  \
+    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
+
+#define this_cpu(var) \
+    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[smp_processor_id()]))
+
+#define per_cpu_ptr(var, cpu)  \
+    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
+#define this_cpu_ptr(var) \
+    (*RELOC_HIDE(var, smp_processor_id()))
+
+#endif
+
+#endif /* __ASM_GENERIC_PERCPU_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630617.983707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPQ-0007d6-7F; Fri, 10 Nov 2023 16:31:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630617.983707; Fri, 10 Nov 2023 16:31: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 1r1UPP-0007Zo-Om; Fri, 10 Nov 2023 16:31:03 +0000
Received: by outflank-mailman (input) for mailman id 630617;
 Fri, 10 Nov 2023 16:31: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPO-0005Bj-Mk
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:31:02 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 88e389cb-7fe6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:31:01 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-53df747cfe5so3776182a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:31:01 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.30.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:30:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88e389cb-7fe6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633860; x=1700238660; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uwoCpnzzrrgzgPgK1t3bRDD5n2e+2jmc1wxLNSR5C0E=;
        b=X7b1Mb1EKlkYZHRwutw9EfEnCrjdDkNrLswD59HZ2DwiXBOp1cYbmG90Z6UW4abk1w
         mQRzXOrcOuBgAydPxK9vuI9sPniOl3veLQ/WNGALXIYhmV5Tg4SEFxahl+PC0Tthurha
         DqVVXoD+FOGlAyEwP+giq5NmfenbPRkOFPGVVFUNWB5nx42+nf4TInJq2gv+YxTZQ7W3
         tlkoatzKfvkLF2DGdLQQlRlH6tH4bt9GBc1wOMfEF4x9Ikl2vFOBy/5RwLIOEWfLa9oI
         mBtNb5mbP3Bk6vSA39fYEYEmmI6UiagJjrYl8Ad5ghG6ZNbI7UmzYgygjPSy+IVk+kxt
         DIsg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633860; x=1700238660;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=uwoCpnzzrrgzgPgK1t3bRDD5n2e+2jmc1wxLNSR5C0E=;
        b=sD0v8fxFQx5dEuAZc3Nln2qWCWGU7Byrt2fzjySnVePBoEwNb+EUU+WBiHBIZRUkau
         B+odzuUTngfqafhxaBI6ANrMg42vpGxCKsMTQBxGgVNfnCxGNE/cMCtVkpCTE5ESQQJe
         aGRI06Ic77mLjcyykY8m5pALUbiNTuakif0vukhQ7RwIeLMZ28nQ1UW/k+j1Zim7CEWP
         fIAQuP8PHXmEPVs1dgDtc+RcsEVxB8wgVfOr+EDRoig/jQ2zm2WygCdtjDdvkHQCsJpT
         sNEskETOEypwJw84QFCDDLz4Xlg2MGoAgfr9EEZPb12lwwQFWav+RuIiZZn1PLB4pxMt
         k5Ew==
X-Gm-Message-State: AOJu0YxI2P5h70ykVMiAW/z5yvgtuLJ0ZFURph7j7ryfWRVxrkSCQKj2
	qv35N84vvJ1vF66BR2yvNg9lv73w/Mk=
X-Google-Smtp-Source: AGHT+IFiAgypV9Aie5vuC9zDH2JDclGSJi8rbqt3C0eUenX2KnqxV1wLnxsCPNIKUBuLIju2CeueeQ==
X-Received: by 2002:a17:907:3d91:b0:9b2:df16:851d with SMTP id he17-20020a1709073d9100b009b2df16851dmr5634285ejc.57.1699633860188;
        Fri, 10 Nov 2023 08:31:00 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 09/15] xen/asm-generic: introduce generic header smp.h
Date: Fri, 10 Nov 2023 18:30:35 +0200
Message-ID: <bf7b027f7ae05533a6b2034e2ad4882ae27f2c67.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/smp.h> is expcted to be generic between Arm, PPC and RISC-V
there by it is moved to asm-generic.

Right now it is common only by PPC and RISC-V but during work on
support of the mentioned arhcs <asm/smp.h> is expected to be the
same.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- drop #ifded ASSEMBLY as this header isn't expected to be included in asm files.
	- update the commit message.
---
 xen/include/asm-generic/smp.h | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)
 create mode 100644 xen/include/asm-generic/smp.h

diff --git a/xen/include/asm-generic/smp.h b/xen/include/asm-generic/smp.h
new file mode 100644
index 0000000000..6740a2064c
--- /dev/null
+++ b/xen/include/asm-generic/smp.h
@@ -0,0 +1,28 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_SMP_H
+#define __ASM_GENERIC_SMP_H
+
+#include <xen/cpumask.h>
+#include <xen/percpu.h>
+
+DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
+DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
+
+#define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
+
+/*
+ * Do we, for platform reasons, need to actually keep CPUs online when we
+ * would otherwise prefer them to be off?
+ */
+#define park_offline_cpus false
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630618.983717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPR-00081G-LJ; Fri, 10 Nov 2023 16:31:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630618.983717; Fri, 10 Nov 2023 16:31: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 1r1UPR-000808-B3; Fri, 10 Nov 2023 16:31:05 +0000
Received: by outflank-mailman (input) for mailman id 630618;
 Fri, 10 Nov 2023 16:31: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPP-0005Bj-H2
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:31:03 +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 89596297-7fe6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:31:02 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-9d10972e63eso363843366b.2
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:31:02 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.31.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:31:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 89596297-7fe6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633861; x=1700238661; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=F+9+gnHXJ2k1bhGlVA4uqBRS88NAaQ/Yn9M7Z3WD+Pc=;
        b=CHQ1SYGEzugavrjNBgqaI5mAQZCLDu1PtoyDbWeZi4qE8WPrcgIuLb4xn7YIDX+4+x
         NKsheO5rD/+T8VetYuyEpKvEy81csCsEGYEgLlEG3yoOE+vWx773TsltlWFPZMw4inWk
         m89uPxV3BTYlUlM16/47cF4OJOZ3HMg13uoOFe4qtuRON54DfdJ4cRKzvB1uUWZ7hPWY
         uI6La+3rpgNUFSDZhlezMWvsqGxTR9iD1g1dZg0FtgcoFxnXj94FcK0nFhcFPCJFaVax
         UMiToj4aSpAasyoYolS7ylB3NBk3WZub2oi9ipvrloL5g1FrlJdSu7D0RLQxDYgkczxj
         GtCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633861; x=1700238661;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=F+9+gnHXJ2k1bhGlVA4uqBRS88NAaQ/Yn9M7Z3WD+Pc=;
        b=rvA3dLWBUv4huuSTR1oVSxy/3T6UmTitlS51JOlD16RAENT7/nOO+qmCAtw80WDsxt
         R3IIO+RSQ0qzakq5z5q9b5lLpuR4oW1KAvQJjDaOkBe95YR8Zk3xKfZALJx9lKXeGND/
         xf6qD44uwxTY0lef20T8GpGl+Xc4YyQRnBgXXmQKCN6prm51ENe8Yxst4ARl7ldfLJgc
         gJCoMbVDgGCW9sjZBq7O33LJ2+LQIumdyLzHr3bHkSv8KOPL2PJ/NX87EYYfDHveEshS
         XCGRS681HFJUw/vEbbUdGxmlEfMJnEHJYLLd9n+Xanj1kcRXZUlL68bO0GaxvE0YYnVt
         Khdg==
X-Gm-Message-State: AOJu0YzP17Nu31nTHTC+9jgbtEMgIcLbNthN/l3EzyIKEXZi0rFT49jH
	NyAx6naFcYY7/NZY1d1mYNUSq76hfVQ=
X-Google-Smtp-Source: AGHT+IF74GDtuCLj6a3p2eVzqEK/v9ZfwvG0RlX7aPu6Jr8YEkHkFbbegKQQLi8srL2C2PKE7wOdsA==
X-Received: by 2002:a17:907:724f:b0:9bd:a65e:b594 with SMTP id ds15-20020a170907724f00b009bda65eb594mr8078571ejc.3.1699633861211;
        Fri, 10 Nov 2023 08:31:01 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 10/15] xen/asm-generic: introduce generalized hardirq.h
Date: Fri, 10 Nov 2023 18:30:36 +0200
Message-ID: <bfd62969c9b94f59ecab4966af2a7bb6d4f1032d.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/hardirq.h> is common through archs thereby it is moved
to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- add #include <xen/cache.h>.
	- update the commit message
---
 xen/include/asm-generic/hardirq.h | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 xen/include/asm-generic/hardirq.h

diff --git a/xen/include/asm-generic/hardirq.h b/xen/include/asm-generic/hardirq.h
new file mode 100644
index 0000000000..ddccf460b9
--- /dev/null
+++ b/xen/include/asm-generic/hardirq.h
@@ -0,0 +1,29 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_HARDIRQ_H
+#define __ASM_GENERIC_HARDIRQ_H
+
+#include <xen/cache.h>
+#include <xen/smp.h>
+
+typedef struct {
+        unsigned long __softirq_pending;
+        unsigned int __local_irq_count;
+} __cacheline_aligned irq_cpustat_t;
+
+#include <xen/irq_cpustat.h>    /* Standard mappings for irq_cpustat_t above */
+
+#define in_irq() (local_irq_count(smp_processor_id()) != 0)
+
+#define irq_enter()     (local_irq_count(smp_processor_id())++)
+#define irq_exit()      (local_irq_count(smp_processor_id())--)
+
+#endif /* __ASM_GENERIC_HARDIRQ_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630619.983725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPS-00089U-PK; Fri, 10 Nov 2023 16:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630619.983725; Fri, 10 Nov 2023 16: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 1r1UPR-00087c-WC; Fri, 10 Nov 2023 16:31:06 +0000
Received: by outflank-mailman (input) for mailman id 630619;
 Fri, 10 Nov 2023 16: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPP-0005EV-QX
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:31:03 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a337266-7fe6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:31:03 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-9df8d0c2505so460863966b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:31:03 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.31.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:31:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a337266-7fe6-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633862; x=1700238662; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=O9cK1yjpDKWQCw8xI+NWHuaVAE4NsCYRJpwmxLZ2MEU=;
        b=a7G9g0EULeOnzOzKD93sW5vhHxYzKrPIGtTp1bqeZ/THoLlykL5kD+AnX2QA1fEsl7
         HT6n/LozvHrubdR49GQWQO98TwryUYsrMtBtubEoePbkemiIC3MuZtkPrBZPKpG5G8bw
         IRCn6NzTcdU9SO1m91Phx+TeswWDqEEmEKHwbB9PvjPW9gwm1urIMU/iW6OZxExLAp9Q
         AtAJHkyEAZcCTekYbABVhUSyjrEYvRsCYaFop7KIUw07OS9zh5iUlhpaUyVVwHCtcZxv
         i8FtYiOOwX2ENbxVxaMPeUEIVNr/VRTFW/XwYtwswJ2g0CppgTAcO33NeP2ME5tPpDhz
         c44w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633862; x=1700238662;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=O9cK1yjpDKWQCw8xI+NWHuaVAE4NsCYRJpwmxLZ2MEU=;
        b=OD3K6vVNacSJDrxrHbQZQrbuewedskxQcvpNxFup68nKTIGVdNDZb1GhHsSHpoBH06
         AbMFe5vhqpJmD08nks9XYn+bkFODCA7adEfqBTVTVZLN4KVXhdFh6HOoHZopWaSrnvu9
         R554Q339YFaLqhlgcUsRK6c0FVRhlAH2/jnZBOBsd8bFhxk13mkodEd0aose1QcJDncP
         N7qwJdJP7FUSa0PrNCK87z0KAj38cLnAWYz0F9c9UlrR1J0cl+LtZNWLGNiozdAZ+hgD
         EWGP+poXJz92XiPiHWz8nFKymIRp+XLsAMTS3mWVvHIOGbpKXHhP8ERK6URDp1LuVNn9
         sRxg==
X-Gm-Message-State: AOJu0YyzmQVg81i7FplSMzKpxvHso1fdcuCwnDbKG3retBpv5bO0JOoc
	j4D3CIzkFtE7ZZAb+MBsdjcX4TJMSuQ=
X-Google-Smtp-Source: AGHT+IGdZf8lmwn9Nhc8WsjdLlVrjitW0A/updKdWdxjrI/StxCwh4MAjzORsIsFJpgwbCyJbTTdYA==
X-Received: by 2002:a17:907:77d1:b0:9bd:81c3:2a85 with SMTP id kz17-20020a17090777d100b009bd81c32a85mr2614152ejc.32.1699633862171;
        Fri, 10 Nov 2023 08:31:02 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 11/15] xen/asm-generic: introduce generic div64.h header
Date: Fri, 10 Nov 2023 18:30:37 +0200
Message-ID: <e981144f6058a4761912c0f89e48b7053466dd81.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

All archs have the do_div implementation for BITS_PER_LONG == 64
so do_div64.h is moved to asm-generic.

The patch introduces header stub necessry for full Xen build.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- rename base to divisor
	- add "#if BITS_PER_LONG == 64"
	- fix code style
---
 xen/include/asm-generic/div64.h | 27 +++++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 xen/include/asm-generic/div64.h

diff --git a/xen/include/asm-generic/div64.h b/xen/include/asm-generic/div64.h
new file mode 100644
index 0000000000..068d8a11ad
--- /dev/null
+++ b/xen/include/asm-generic/div64.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_DIV64
+#define __ASM_GENERIC_DIV64
+
+#include <xen/types.h>
+
+#if BITS_PER_LONG == 64
+
+#define do_div(n, divisor) ({                   \
+    uint32_t divisor_ = (divisor);              \
+    uint32_t rem_ = (uint64_t)(n) % divisor_;   \
+    (n) = (uint64_t)(n) / divisor_;             \
+    rem_;                                       \
+})
+
+#endif /* BITS_PER_LONG */
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630620.983733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPU-00008v-Cm; Fri, 10 Nov 2023 16:31:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630620.983733; Fri, 10 Nov 2023 16:31: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 1r1UPU-00005i-2Z; Fri, 10 Nov 2023 16:31:08 +0000
Received: by outflank-mailman (input) for mailman id 630620;
 Fri, 10 Nov 2023 16:31: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPR-0005Bj-Oo
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:31:05 +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 8aa08540-7fe6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:31:04 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-9c2a0725825so373926466b.2
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:31:04 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.31.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:31:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8aa08540-7fe6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633863; x=1700238663; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H2OC2mLTPUW0OTqFJaHSe7X4rN302Y9S9BHakRvCcW4=;
        b=UMGKP9FB1ZlcsIkiINfHwy1pfW8I2lCm4I+5/zz90pr7DVzDDT421iAyh0rcT9rRSx
         wVlU3LpLbg5U8xgNcq7YlVdSB7tNQbPFHDc3OTx3etd7WNFaJ0XQZrA6Fq388KfLNBSp
         +ZIjKFt9n0Idacckk+d6AjWSh+fP430cs/ejC7Fopon0R9VU+zffmnigfw8+cBTiHQsR
         h+P2HgDVWislZHJjhUHRTDqA1r2ut9PRmoZAto1Kh4rH7rwZ7vgtOU5kcQFKMi0DiK4n
         q7Qjcc8JLJ4Us/mTUrQ9dWOSTOHU/djJteSEg0B99aaa3560mQiNvVJcK3mDWVFmU4DN
         bwPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633863; x=1700238663;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=H2OC2mLTPUW0OTqFJaHSe7X4rN302Y9S9BHakRvCcW4=;
        b=VbmZg5N3qjCMp+JybwJlmWD867r5DcegKHCg5Hc7+M8Of1OHmBCSQj0YABBiu5bqUm
         0RQPms87fUMoWNzIB7J69v0gWxyVrJ23au3pzVPH9l3b3IIBKCB+C6e8fGWxz+FiuL3X
         ii/GDWX9MSZS1iuD1/5Yt+WHg6DxE3Vw/rAB6oIcr0hDf6fdPc70loiTA7so+jdWxls2
         OGMu9D+ZA0CTszYcdcs3w2pnkwgRQxNbdXjPUZwoMRDVWnptp/27OFHaNAWyyTooTvEi
         zqiXwNhpzWR3H6+Ee719YxZEf7bGcz6HQpElyTLeWoUo2yEIIlnx+G5NvYAD//0JAJeZ
         Kvvg==
X-Gm-Message-State: AOJu0Yw060wHwBn9i/P/fFdX1yLVbOKGcI6vQ0PdO5orlSQRmS4d1uPA
	jn9y7ML7I49XiwpPjf9X7B8yX9lcipw=
X-Google-Smtp-Source: AGHT+IEgYkziwugrZTGxvkfRzAXjCkhGuDr/lp53TRtNZFFCA9UcGfdam8F4QklPrey7LGiQIjU/og==
X-Received: by 2002:a17:907:3e1c:b0:9b2:d554:da0e with SMTP id hp28-20020a1709073e1c00b009b2d554da0emr8169466ejc.69.1699633863436;
        Fri, 10 Nov 2023 08:31:03 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 12/15] xen/asm-generic: introduce generic header altp2m.h
Date: Fri, 10 Nov 2023 18:30:38 +0200
Message-ID: <28c99b07d388ff566c9a529903b17b94d35474ba.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/alt2pm.h> is common between archs so it is moved to
asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- change uint16_t to unsigned int in declaration of altp2m_vcpu_idx
	- update the commit message
---
 xen/include/asm-generic/altp2m.h | 34 ++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 xen/include/asm-generic/altp2m.h

diff --git a/xen/include/asm-generic/altp2m.h b/xen/include/asm-generic/altp2m.h
new file mode 100644
index 0000000000..39865a842a
--- /dev/null
+++ b/xen/include/asm-generic/altp2m.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_ALTP2M_H
+#define __ASM_GENERIC_ALTP2M_H
+
+#include <xen/bug.h>
+
+struct domain;
+struct vcpu;
+
+/* Alternate p2m on/off per domain */
+static inline bool altp2m_active(const struct domain *d)
+{
+    /* Not implemented on GENERIC. */
+    return false;
+}
+
+/* Alternate p2m VCPU */
+static inline unsigned int altp2m_vcpu_idx(const struct vcpu *v)
+{
+    /* Not implemented on GENERIC, should not be reached. */
+    BUG();
+    return 0;
+}
+
+#endif /* __ASM_GENERIC_ALTP2M_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630621.983738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPV-0000Ig-5s; Fri, 10 Nov 2023 16:31:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630621.983738; Fri, 10 Nov 2023 16: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 1r1UPU-0000G6-R7; Fri, 10 Nov 2023 16:31:08 +0000
Received: by outflank-mailman (input) for mailman id 630621;
 Fri, 10 Nov 2023 16:31: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPS-0005EV-MI
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:31:06 +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 8bd95cdd-7fe6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:31:06 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5401bab7525so3843209a12.2
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:31:06 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.31.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:31:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bd95cdd-7fe6-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633865; x=1700238665; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=siHHtAM9D25u5Lx3r2aGylXTGpuJBmD1qXgq5At793w=;
        b=hSpcQUP646q94PaHhMcvP4ZWBZ+wHbKtDA7LittE/K1EnBJ4PJK51AfvU5HZTKSHMI
         wJdneIe74mdlWdK87aJke7tmcZM5RekoupbMqtl0sDiRJJyBNBEjj9BTtl31RBVzKrVr
         pyBp3Eg4sNVdR1PAQMJbrkhNBbsM19NsYtR+vhm5XXpb4icyJrYToSoifOneBpWC0hNm
         UgA+ERhDGe4dK56rk7LuzVJMVySj8U1KudJqkQr9bxZKtn7gnEnKLl4sIbRZLyYtA5am
         tmTDk+LoLExZjTbyzs0AS7+dA7/btN/aZWZ50S21eZCpLcNI9VZgksf1E5r1BuSJFp3f
         zOFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633865; x=1700238665;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=siHHtAM9D25u5Lx3r2aGylXTGpuJBmD1qXgq5At793w=;
        b=Ms1+SJ9JFOeP2ZLgRqdAyncKWP9VHtzinDN+2BxGiPeV2GCrEeAV1ei6caF0tQ947t
         pCN06u5//hjGmapGXByrb0uzIbjvpS+42qQEuhd3qNB2QdPWElIDNCDsl5u0qQewmctc
         jUCe1ZW3i8QEM8xyru2qXQMcAKahgGbeHidJBEpnmBMeoMASeAej2WVs6w7H2FA8jCc3
         yDLcubn7yLCbq+twoXT+VnWGcjQF4RhRmXUryTm6y+WiSTv5K/t7dyYqAcYdO9y3ogXn
         1pKFTcQq9t3CLanpq0eq18lIqLFEoyt5M9omvW/FxA8PCjDuT4nDd3/7oMMCWdwWUtGq
         mLFg==
X-Gm-Message-State: AOJu0YwCQv1hUIaDX0UD+KQFfY4UgcsKNd0eSl211xeuNNcl2rpGNd5/
	kT3mmxvlM9RjHFR4EllAPrLnRXNrWFs=
X-Google-Smtp-Source: AGHT+IEyKH4OPM5ndJj6Azvb+INQ2RUwGFcF+FRStm1C6DrBmn27AFzibzz9tZ8lsd7/S3Rta4kDHw==
X-Received: by 2002:a17:907:1b24:b0:9ae:5765:c134 with SMTP id mp36-20020a1709071b2400b009ae5765c134mr7451255ejc.15.1699633865385;
        Fri, 10 Nov 2023 08:31:05 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 14/15] xen/asm-generic: introduce stub header numa.h
Date: Fri, 10 Nov 2023 18:30:40 +0200
Message-ID: <1b50e70d168a1b084ac40711096c38abe44a7b9d.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/numa.h> is common through some archs so it is moved
to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- update the commit message.
	- change u8 to uint8_t.
	- add ifnded CONFIG_NUMA.
---
 xen/include/asm-generic/numa.h | 40 ++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)
 create mode 100644 xen/include/asm-generic/numa.h

diff --git a/xen/include/asm-generic/numa.h b/xen/include/asm-generic/numa.h
new file mode 100644
index 0000000000..353642c353
--- /dev/null
+++ b/xen/include/asm-generic/numa.h
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ARCH_GENERIC_NUMA_H
+#define __ARCH_GENERIC_NUMA_H
+
+#include <xen/types.h>
+#include <xen/mm.h>
+
+typedef uint8_t nodeid_t;
+
+#ifndef CONFIG_NUMA
+
+/* Fake one node for now. See also node_online_map. */
+#define cpu_to_node(cpu) 0
+#define node_to_cpumask(node)   (cpu_online_map)
+
+/*
+ * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
+ * is required because the dummy helpers are using it.
+ */
+extern mfn_t first_valid_mfn;
+
+/* XXX: implement NUMA support */
+#define node_spanned_pages(nid) (max_page - mfn_x(first_valid_mfn))
+#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
+#define __node_distance(a, b) (20)
+
+#endif
+
+#define arch_want_default_dmazone() (false)
+
+#endif /* __ARCH_GENERIC_NUMA_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630622.983745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPW-0000SR-Gl; Fri, 10 Nov 2023 16:31:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630622.983745; Fri, 10 Nov 2023 16:31: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 1r1UPV-0000O2-OZ; Fri, 10 Nov 2023 16:31:09 +0000
Received: by outflank-mailman (input) for mailman id 630622;
 Fri, 10 Nov 2023 16: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPS-0005Bj-T5
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:31:06 +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 8b61d7de-7fe6-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:31:05 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-9be02fcf268so355703866b.3
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:31:05 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.31.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:31:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b61d7de-7fe6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633864; x=1700238664; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cMOphfLBRJJYVlhWz2+duw9NQxE7jG1sJ2FM+YdBhQQ=;
        b=SmPwGPMtiPUnN+Jg15DyZWXXDnizsYyhP9psbpHQudhu2qQS5bRI4VctU3w30I6VuJ
         aKj0c+pjcXOwR9LBCndDU0WD/GSLF9XGB7SYi+WUGJUf2J67bgBWOI09w67SFVTWeS4M
         X0mXe8GlMJ2qU3CjsG414z7kQRzaI76bZTVE4bxrHEFuLbl/uFPFBTJTNAPqErOnt8Z/
         +eR2Bvb5gwky3FLm14u1pYtz7Fqu6WKEUMGKWB/wDPQeBPcsTtCB7aWjr4bAvem2XsVm
         e+6lVwL8y7Vbkc7nESJ5Cx6NI3vbJM+T2D8NDe2SQbnyfsj1YAcRudzfX23oXP6esKu5
         coFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633864; x=1700238664;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cMOphfLBRJJYVlhWz2+duw9NQxE7jG1sJ2FM+YdBhQQ=;
        b=BQmlpglR1aM9K38N51sDeWx9lBNjaC7Saswu6cjZP/UhpDqWR4N38OoyS4qdhl0eky
         1qD3qYkOX1W/Iv9wzKnOtaph2xcpHFasusfxC37LgpvFr2kd6CM5WN3YC4tet9jJID38
         AXBnGQBG//p6fof+M3pdwLjfHid3L+UVAv3+oZla2aVyCxiKd3MGOGl3oGE1/tqoHHdS
         V5Y30OM+xH892Ej17dxK9yunOk7QHzj3XFUGZTcn1tGbmdU2McW9RKPX5jU4PsIotZdF
         DdFoi+1H6Xvwmngfj3CuQ4UvYIAM3Ry+fn299gEbA1mzzgYvhVpe3M7aBmRAKHG6Xg2C
         AyNw==
X-Gm-Message-State: AOJu0Yy5hZTgwbH7LJq0AxpQDCpCnpuBNoqaucCIW4hzXq15S/Hr50GS
	govMoaEuRAwyVnjXqtdgDrOpVp4p5ww=
X-Google-Smtp-Source: AGHT+IGzHIaBd8hlPXjto5H4KN2Er5FNkUP45DySj2Xrxj0AsDpkGLhsa1rt6UAfIZ9R1ih8fjuwgQ==
X-Received: by 2002:a17:906:dc94:b0:9d3:afe1:b3e5 with SMTP id cs20-20020a170906dc9400b009d3afe1b3e5mr7594471ejc.75.1699633864192;
        Fri, 10 Nov 2023 08:31:04 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v2 13/15] xen/asm-generic: introduce stub header monitor.h
Date: Fri, 10 Nov 2023 18:30:39 +0200
Message-ID: <9b40493df82b99904b2e4f6cf9dc8888db4a2a49.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The header is shared between archs so it is moved to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- remove inclusion of "+#include <public/domctl.h>"
	- add "struct xen_domctl_monitor_op;"
	- remove one of SPDX tags.
---
 xen/include/asm-generic/monitor.h | 62 +++++++++++++++++++++++++++++++
 1 file changed, 62 insertions(+)
 create mode 100644 xen/include/asm-generic/monitor.h

diff --git a/xen/include/asm-generic/monitor.h b/xen/include/asm-generic/monitor.h
new file mode 100644
index 0000000000..4e46f2e91a
--- /dev/null
+++ b/xen/include/asm-generic/monitor.h
@@ -0,0 +1,62 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * include/asm-GENERIC/monitor.h
+ *
+ * Arch-specific monitor_op domctl handler.
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
+ *
+ */
+
+#ifndef __ASM_GENERIC_MONITOR_H__
+#define __ASM_GENERIC_MONITOR_H__
+
+#include <xen/sched.h>
+
+struct xen_domctl_monitor_op;
+
+static inline
+void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
+{
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    /* No arch-specific monitor ops on GENERIC. */
+    return -EOPNOTSUPP;
+}
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop);
+
+static inline
+int arch_monitor_init_domain(struct domain *d)
+{
+    /* No arch-specific domain initialization on GENERIC. */
+    return 0;
+}
+
+static inline
+void arch_monitor_cleanup_domain(struct domain *d)
+{
+    /* No arch-specific domain cleanup on GENERIC. */
+}
+
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    return 0;
+}
+
+#endif /* __ASM_GENERIC_MONITOR_H__ */
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:31:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:31:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630623.983756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UPY-00014b-UL; Fri, 10 Nov 2023 16:31:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630623.983756; Fri, 10 Nov 2023 16:31: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 1r1UPY-00011O-FA; Fri, 10 Nov 2023 16:31:12 +0000
Received: by outflank-mailman (input) for mailman id 630623;
 Fri, 10 Nov 2023 16:31: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=Zww5=GX=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1UPV-0005EV-Dj
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:31:09 +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 8c5d989b-7fe6-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 17:31:07 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-9d2e7726d5bso358955666b.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:31:07 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 lv19-20020a170906bc9300b009a9fbeb15f5sm4128966ejb.46.2023.11.10.08.31.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 10 Nov 2023 08:31:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c5d989b-7fe6-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699633866; x=1700238666; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SHzno6h9uBFGxGvjhFAjFnqQB/yf8OhaKSIoS/xZWz0=;
        b=nCxnm7Be9I+eYWPZ5Vnhf6sOUXo8jlWhBwSV+mkqMY8WE54bjvOw7vZ0V68mucGaXw
         Y77CgULLv1e0+NwgH/DlV3+Xs/QiMPpqUFNK0Lwlmya/Hlf54XwPnyvRdPhEDYlxmgGS
         TFSk5EIEMYYfpF/fOqseMEToM4cK9JfsKwkQJmVFs8nr7zfzCGKZhapc6K6RGV8diOlq
         gMJlmpQTquE3VGB2xztPBJpFSHOVarPR50BNWqa9fZzyR6WBVEzMcIQuqoqd3jBdzlBy
         2lCu1nRWZwkiq9e3+pNUJSTAYufoX9zFv0rgTdkwsR73f/6kJ4DR90eX2cDicXdZE1z4
         uKBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699633866; x=1700238666;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SHzno6h9uBFGxGvjhFAjFnqQB/yf8OhaKSIoS/xZWz0=;
        b=dUyrQbxVq25118mojwMko0SRSBwgmCJgtx3AkvhaSVY1yFA7PBKG+6bfIPVEdvkZ8X
         ERpsge/2VJ70A1G7Jn017yNkNeq20D476H93FwGfD5kYrMAtvlH0IyrXG1xbVlteB562
         meO2sLYgg0n+2Mz8panXW9OSU6xN8xXcmAn3KiFor/3Psrfj7Stj/na9GVpxfmNoTvA3
         D/fjIE60I+18W7UGnj5WvXQKS3YUJHJ8rAeQdDsmFYztfvtgMiwmfqFljVEskLI8Dagi
         sehezwVuIHYpPg4KKFOxuOdWFoP9To76YAa+P/udB3Sc7lG0t80QCM/YJZa8BMpwjgI1
         BWUg==
X-Gm-Message-State: AOJu0YwE46Co5yhBAnJQ1dx8LJRVHhGdEqlXchyI5uZjDjaFcVse/KUT
	z08eCXrUb664jClzy4BzDb78GrVOlyU=
X-Google-Smtp-Source: AGHT+IG6L4ccTy35MbMPwMCMhtXb1QDKZ5Xsp9/zU8x68WGzI1cDUSAZZ7ndinthPI3J5QUO4b3eYg==
X-Received: by 2002:a17:907:268c:b0:9bd:d7bd:1a52 with SMTP id bn12-20020a170907268c00b009bdd7bd1a52mr6805165ejc.20.1699633866276;
        Fri, 10 Nov 2023 08:31:06 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 15/15] xen/asm-generic: introduce stub header softirq.h
Date: Fri, 10 Nov 2023 18:30:41 +0200
Message-ID: <4eec527706ddeaa91ba1dbb6da723ad3e21c067c.1699633310.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/softirq.h> is common between Arm, PPC and RISC-V so it is
moved to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
    - update the commit message.
---
 xen/include/asm-generic/softirq.h | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
 create mode 100644 xen/include/asm-generic/softirq.h

diff --git a/xen/include/asm-generic/softirq.h b/xen/include/asm-generic/softirq.h
new file mode 100644
index 0000000000..83be855e50
--- /dev/null
+++ b/xen/include/asm-generic/softirq.h
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_SOFTIRQ_H__
+#define __ASM_GENERIC_SOFTIRQ_H__
+
+#define NR_ARCH_SOFTIRQS       0
+
+#define arch_skip_send_event_check(cpu) 0
+
+#endif /* __ASM_GENERIC_SOFTIRQ_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:54:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:54:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630679.983780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1UmB-0004sZ-TY; Fri, 10 Nov 2023 16:54:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630679.983780; Fri, 10 Nov 2023 16:54: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 1r1UmB-0004sS-Pv; Fri, 10 Nov 2023 16:54:35 +0000
Received: by outflank-mailman (input) for mailman id 630679;
 Fri, 10 Nov 2023 16:54: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=rc0j=GX=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r1UmA-0004r9-8V
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:54:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1c5b749-7fe9-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:54:32 +0100 (CET)
Received: from [192.168.1.229] (93-36-216-194.ip62.fastwebnet.it
 [93.36.216.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 5F25F4EE073A;
 Fri, 10 Nov 2023 17:54:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d1c5b749-7fe9-11ee-9b0e-b553b5be7939
Message-ID: <1d1baf90-d21f-49b0-91c1-219653aa99ee@bugseng.com>
Date: Fri, 10 Nov 2023 17:54:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add a deviation for MISRA C:2012
 Rule 8.6
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <4de6c01f8af987750e578b3d5733dcd4ca536a9b.1699615143.git.federico.serafini@bugseng.com>
 <bd82d5d8-5bff-cbfa-2014-8be866892a8e@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <bd82d5d8-5bff-cbfa-2014-8be866892a8e@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 10/11/23 13:41, Jan Beulich wrote:
> On 10.11.2023 12:23, Federico Serafini wrote:
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -214,6 +214,15 @@ definition is compiled-out or optimized-out by the compiler)"
>>   -config=MC3R1.R8.6,reports+={deliberate, "first_area(^.*has no definition$)"}
>>   -doc_end
>>   
>> +-doc_begin="For functions memcpy(), memmove() and memset(), if there are
>> +multiple definitions, those belong to different archives and the behavior of
>> +linking is well defined by the toolchain: only one of the definitions will be
>> +linked in (the first that is encountered searching the archives in the order
>> +they appear on the command line)."
>> +-config=MC3R1.R8.6,declarations+={deliberate, "name(memcpy||memmove||memset)"}
>> +-doc_end
> 
> Why would this be limited to mem*()? Anything put into lib.a is going to
> be treated like that.

If one day another arch-specific definition for a function will be
introduced, a violation will appear but that is not necessarily a bad
thing because it will lead to another check of the compilation scripts
to ensure objects and archives are linked in the right order.
However, if in your opinion this will be a waste of time,
I can propose another deviation based on "xen/lib/*".


> The description also isn't quite accurate: Per-arch mem*() won't be put
> in archives, but in .o files. Those are always linked in. Anything not
> otherwise resolved may then be resolved by picking objects from
> archives (appearing later on the command line, unless specially grouped).

What do you think of the following as justification:

The search procedure for Unix linkers is well defined, see ld(1) manual:
"The linker will search an archive only once, at the location where it
is specified on the command line. If the archive defines a symbol which
was undefined in some object which appeared before the archive on the
command line, the linker will include the appropriate file(s) from the
archive."
In Xen, thanks to the order in which file names appear in the build
commands, if arch-specific definitions are present, they get always 
linked in before searching in the lib.a archive resulting from
"xen/lib".

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 16:56:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 16:56:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630683.983790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Unp-0006nQ-7X; Fri, 10 Nov 2023 16:56:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630683.983790; Fri, 10 Nov 2023 16: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 1r1Unp-0006nJ-4H; Fri, 10 Nov 2023 16:56:17 +0000
Received: by outflank-mailman (input) for mailman id 630683;
 Fri, 10 Nov 2023 16:56: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=YK6u=GX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r1Unn-0006lu-Nz
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 16:56:15 +0000
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com
 [2a00:1450:4864:20::233])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0e8d987a-7fea-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 17:56:13 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2c7c7544c78so15999091fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 08:56:13 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 a13-20020a056e0208ad00b003576e122389sm5246607ilt.24.2023.11.10.08.56.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Nov 2023 08:56:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0e8d987a-7fea-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699635370; x=1700240170; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=QyCa5acsPeDbGT58dhQTpbQ85ra0azLM2gV8iMiecj0=;
        b=IE4NW71AGUV4MgUXd/Gxho011KfhODi13H2D1BB6Fm8IPEujMW1IBRKfgQsqC4ubTL
         OM4RSufNoTZ6R7vqWMEVx20fxiBmjFZdmdLL6j6RRBQmnupIGUMvt4ysprdsqpqLD77F
         c5fQuOr6yo5osCXVA/yYh3kJE7NN6fUah8cT8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699635370; x=1700240170;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=QyCa5acsPeDbGT58dhQTpbQ85ra0azLM2gV8iMiecj0=;
        b=UsZDRu6t0MxMxNEiECfYHpQIsglMn70wXn+x/sLy7Tge539BJmscQaSaMM2FzxLLQj
         3go43l4o3AyDO2u7jKrBLRyKlQIDYLDc+T1ybkO+UTkQFB+t1BMyMTnBVRqYwprq4akX
         W78FBNbfspVVCFW+BG4wc1aEYmlSeCtFcEJlAezAv3FX4Ct93NNb6J5hEnJ9hYOaxreT
         Nq54no6EbHaJChiBdzFJrc6KXLwAroQZ8YLOovJ+jrjJuwU5qboy3ora7NLw3GSqtjLw
         AyI5+IXaA2TIw9o5xcbDLCD54kdcrI7d8ByixcTBUKOvsrvnRUEbeC+wZCSHE2QeGY/d
         3WNw==
X-Gm-Message-State: AOJu0YxZW58WG7qujBMHsdh5QB/gbCB39ZpLtyHFcQWh8NnIEVUsRYll
	WYMsgKW0FB1me7VFMXXT+/bRnA==
X-Google-Smtp-Source: AGHT+IEXIKv77zTKFaIF/fajIFCANVIb1Mm+x7O55f2+z3uClJAPIJfY+XhIfnGVLYtNaGxzdDiMRA==
X-Received: by 2002:a2e:2416:0:b0:2c5:31e6:e8e2 with SMTP id k22-20020a2e2416000000b002c531e6e8e2mr6883190ljk.25.1699635370322;
        Fri, 10 Nov 2023 08:56:10 -0800 (PST)
Message-ID: <0286d684-3050-4f68-8303-3322fea29fd4@citrix.com>
Date: Fri, 10 Nov 2023 16:56:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <49ea5252-b06c-4b2f-8600-c58cbbfb4957@citrix.com>
 <a2267b9f513b6943a86b154edc284ed0@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <a2267b9f513b6943a86b154edc284ed0@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 08/11/2023 1:45 pm, Nicola Vetrini wrote:
> On 2023-11-08 14:37, Andrew Cooper wrote:
>> On 03/11/2023 5:58 pm, Nicola Vetrini wrote:
>>> Static analysis tools may detect a possible null
>>> pointer dereference at line 760 (the memcpy call)
>>> of xen/common/domain.c. This ASSERT helps them in
>>> detecting that such a condition is not possible
>>> and also provides a basic sanity check.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> The check may be later improved by proper error checking
>>> instead of relying on the semantics explained here:
>>> https://lore.kernel.org/xen-devel/61f04d4b-34d9-4fd1-a989-56b042b4f3d8@citrix.com/
>>>
>>>
>>> This addresses the caution reported by ECLAIR for MISRA C:2012 D4.11
>>> ---
>>>  xen/common/domain.c | 2 ++
>>>  1 file changed, 2 insertions(+)
>>>
>>> diff --git a/xen/common/domain.c b/xen/common/domain.c
>>> index 8f9ab01c0cb7..9378c0417645 100644
>>> --- a/xen/common/domain.c
>>> +++ b/xen/common/domain.c
>>> @@ -700,6 +700,8 @@ struct domain *domain_create(domid_t domid,
>>>
>>>      if ( !is_idle_domain(d) )
>>>      {
>>> +        ASSERT(config);
>>> +
>>>          watchdog_domain_init(d);
>>>          init_status |= INIT_watchdog;
>>>
>>
>> I have an idea that might resolve this differently and in an easier way.
>>
>> Would you be happy waiting for a couple of days for me to experiment? 
>> Absolutely no guarantees of it turning into a workable solution.
>>
>
> Sure, no problem.
>

I'm afraid my experiments have failed.  I've got a bit of cleanup done
(which does remove the idle-domain predicate in context above), but
nothing that I expect would help with this issue specifically.

The best I can suggest is to copy x86's arch_domain_create() in it's
handling of config, which would end up looking like:

if ( !config )
{
    ASSERT_UNREACHABLE();
    goto fail;
}

to make a runtime-failsafe path in the same pattern that we use
elsewhere, and is known to influence toolchains.

This is actually the pattern used to emulate __builtin_assume() in GCC. 
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1774r4.pdf

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 17:14:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 17:14:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630693.983800 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1V4t-0003la-LN; Fri, 10 Nov 2023 17:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630693.983800; Fri, 10 Nov 2023 17:13: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 1r1V4t-0003lT-Io; Fri, 10 Nov 2023 17:13:55 +0000
Received: by outflank-mailman (input) for mailman id 630693;
 Fri, 10 Nov 2023 17:13: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=dQp4=GX=gmail.com=firemeteor.guo@srs-se1.protection.inumbo.net>)
 id 1r1V4s-0003k6-Bt
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 17:13:54 +0000
Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com
 [209.85.215.172]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 858fe123-7fec-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 18:13:53 +0100 (CET)
Received: by mail-pg1-f172.google.com with SMTP id
 41be03b00d2f7-5bd306f86a8so1752176a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 09:13:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 858fe123-7fec-11ee-98da-6d05b1d4d9a1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699636431; x=1700241231;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AVi8oTH9zuAkT0OVs00wtfUSou3jOH0w/CTAuMn80J0=;
        b=WK7d/dnLYIyyFciCXItNb1VEnGQ5JR5zHOh6JKTU/xJxM86+Yo3fqv7Wq6wGQ/kajb
         HamxoZOdvs8rvNav2SioZCs3LrGSZeXU+qGzwWeLO9QNdTNGu66RIgpAPAOjRwBeyfEn
         TvHX/aLPOprefCa+tjZ42D9ik/5Es3gMWJkvzW4RSpMeEfcqMPizyM8eAaJsw34Hzs6h
         BDb84fKOmIvk90J/Rn5XuGsjep5DYAeH/qNSTGBE7RHYoWmfwfu+1KP2oeI+aqls1iI4
         H7V82r/4LIMMTZSxW4cU5qCffVvNXo1aQVDatpH/0780or5KfKqM3capt9kApKFtcQuf
         1bBA==
X-Gm-Message-State: AOJu0YxqQoTx18R8oVnMOmD5oecZB5oITifsZljTiDNe12aqzQXWF0bp
	5bIVERNW9KH5zxyJu4xbHYzvkkPIrDoitqOKIkN6ASyB90c=
X-Google-Smtp-Source: AGHT+IG/2BdV8wUptp38EtEZApMenGiiFiVQ2DGv9NI9RBH5FGUbS+juhLxUY6Q6CtUE6VooiVVvJWTAedt1sWwj5Xw=
X-Received: by 2002:a17:90b:4b84:b0:27e:1ea0:c6fc with SMTP id
 lr4-20020a17090b4b8400b0027e1ea0c6fcmr5365595pjb.6.1699636431319; Fri, 10 Nov
 2023 09:13:51 -0800 (PST)
MIME-Version: 1.0
From: "G.R." <firemeteor@users.sourceforge.net>
Date: Sat, 11 Nov 2023 01:13:39 +0800
Message-ID: <CAKhsbWYxEjkccdVWhnJdkjdR7zBZ9OjywLfuSC9DDALO2iwXMg@mail.gmail.com>
Subject: Booting HVM domU through OVMF failed with assertion `rsdp_paddr != 0`
To: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"

Hi all,

I'm trying out to boot domU through UEFI path but so far made very
little progress.
I'm currently on a self-built XEN 4.16.1 hypervisor version without
the --enable-ovmf configuration. I attempted a dirty build to generate
the ovmf.bin firmware. The build succeeds but chery-picking the
firmware does not give me a working UEFI domU. The VNC simply stays
blank forever. I could not collect any debug log from it.

I also tried the ovmf package coming with the Debian package but it's
even worse -- it prevents the domU creation if I point the firmware to
it.

The one that looks more promising is the one that I extract from a
Fedora edk2-ovmf-xen package. This one gives me an VNC screen saying
"Guest has not initialized the display". But luckily I finally got
something useful from the debug log.

As shown in the quoted log below, OVMF complains about the RSDP
address not available.
Any idea what is happening here?

Note that I'm with a self-built XEN binary without --enable-ovmf, plus
external built ovmf binary. I'm not sure if this combo is supposed to
work. I'm building a clean XEN 4.17.2 with --enable-ovmf now for a
comparison.

Thanks,
Rui

OVMF debug log:
...
Loading PEIM at 0x000008347C0 EntryPoint=0x00000836849 XenPlatformPei.efi
Platform PEIM Loaded
CMOS:
00: 33 00 30 00 23 00 05 10 11 23 26 02 00 80 00 00
10: 00 00 00 00 06 80 02 FF FF 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: FF FF 20 00 00 EF 00 20 00 00 00 00 00 04 00 00
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 0F 00 00 03
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
QemuFwCfgProbe: Supported 0, DMA 0
Detected Xen version 4.16
ASSERT /builddir/build/BUILD/edk2-819cfc6b42a6/OvmfPkg/XenPlatformPei/Xen.c(210):
HVMStartInfo->rsdp_paddr != 0

domU config:
name = 'newwin10'
type="hvm"
vcpus = '4'
cpus = "0-4"
memory = '4096'
boot = 'n'
firmware='/usr/lib/xen/boot/OVMF.fd'
device_model_args_hvm = [
  # Debug OVMF
  '-chardev', 'file,id=debugcon,path=/var/log/xen/ovmf.log,',
  '-device', 'isa-debugcon,iobase=0x402,chardev=debugcon',
]
vif = [ 'mac=00:18:3E:51:48:4C,bridge=xenbr0,model=e1000' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'destroy'
xen_platform_pci='1'
viridian='defaults'
vga="stdvga"
localtime='1'
usbdevice='tablet'
vnc='1'
vnclisten = '0.0.0.0'
serial='pty'


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 17:32:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 17:32:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630701.983810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1VMT-0002hr-3s; Fri, 10 Nov 2023 17:32:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630701.983810; Fri, 10 Nov 2023 17: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 1r1VMT-0002hk-0v; Fri, 10 Nov 2023 17:32:05 +0000
Received: by outflank-mailman (input) for mailman id 630701;
 Fri, 10 Nov 2023 17:32: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 1r1VMR-0002gB-GH
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 17:32: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 1r1VMP-0004ve-9H; Fri, 10 Nov 2023 17:32:01 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[10.95.148.228]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r1VMP-0004BV-0y; Fri, 10 Nov 2023 17: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>
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=Do7H+IVkCpHR+LOl9TYx8Sh8Oxj6Tp4sWKImX9dZBMk=; b=cu3NldjPAM8Vq8wNvXojoKhSMP
	ah2sNvuqk57a6keCNOZDH3KPha6tLcgnfoEom5Qa9S7d2PRNCxzhoyz4c1MOFfY29g6t2JH7D/G3t
	w1cnq/9c20IdIaDsS9gPw3ngSpmLAdMYUIi3e8nVEiBf02ZZK9uykI61kmzdxdJhY/H4=;
Message-ID: <adc25dc4-9ba6-41d4-87a0-cf6ad5777b1f@xen.org>
Date: Fri, 10 Nov 2023 17:31:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 21/29] tools/xenstored: add early_init() function
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-22-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110160804.29021-22-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 10/11/2023 16:07, Juergen Gross wrote:
> Some xenstored initialization needs to be done in the daemon case only,
> so split it out into a new early_init() function being a stub in the
> stubdom case.

It is not entirely clear to me how you decided the split. For example...

> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> V2:
> - rename function
> - move patch earlier in the series
> ---
>   tools/xenstored/core.c   |  6 +-----
>   tools/xenstored/core.h   |  3 +++
>   tools/xenstored/minios.c |  3 +++
>   tools/xenstored/posix.c  | 11 +++++++++++
>   4 files changed, 18 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
> index edd07711db..0c14823fb0 100644
> --- a/tools/xenstored/core.c
> +++ b/tools/xenstored/core.c
> @@ -2933,11 +2933,7 @@ int main(int argc, char *argv[])
>   	if (optind != argc)
>   		barf("%s: No arguments desired", argv[0]);
>   
> -	reopen_log();
> -
> -	/* Make sure xenstored directory exists. */
> -	/* Errors ignored here, will be reported when we open files */
> -	mkdir(xenstore_daemon_rundir(), 0755);
> +	early_init();
>   
>   	if (dofork) {
>   		openlog("xenstored", 0, LOG_DAEMON);

For stubdom we would not fork, so I would expect the call to openlog() 
not necessary. Same for the init_pipe() below.

> diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
> index 480b0f5f7b..d0ac587f8f 100644
> --- a/tools/xenstored/core.h
> +++ b/tools/xenstored/core.h
> @@ -35,6 +35,8 @@
>   #include "list.h"
>   #include "hashtable.h"
>   
> +#define XENSTORE_LIB_DIR	XEN_LIB_DIR "/xenstore"
> +
>   #ifndef O_CLOEXEC
>   #define O_CLOEXEC 0
>   /* O_CLOEXEC support is needed for Live Update in the daemon case. */
> @@ -384,6 +386,7 @@ static inline bool domain_is_unprivileged(const struct connection *conn)
>   
>   /* Return the event channel used by xenbus. */
>   evtchn_port_t get_xenbus_evtchn(void);
> +void early_init(void);
>   
>   /* Write out the pidfile */
>   void write_pidfile(const char *pidfile);
> diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
> index 0779efbf91..0cdec3ae51 100644
> --- a/tools/xenstored/minios.c
> +++ b/tools/xenstored/minios.c
> @@ -54,3 +54,6 @@ void unmap_xenbus(void *interface)
>   	xengnttab_unmap(*xgt_handle, interface, 1);
>   }
>   
> +void early_init(void)
> +{
> +}
> diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
> index 7e03dd982d..fcb7791bd7 100644
> --- a/tools/xenstored/posix.c
> +++ b/tools/xenstored/posix.c
> @@ -22,6 +22,7 @@
>   #include <fcntl.h>
>   #include <stdlib.h>
>   #include <sys/mman.h>
> +#include <xen-tools/xenstore-common.h>
>   
>   #include "utils.h"
>   #include "core.h"
> @@ -157,3 +158,13 @@ void *xenbus_map(void)
>   
>   	return addr;
>   }
> +
> +void early_init(void)
> +{
> +	reopen_log();
> +
> +	/* Make sure xenstored directories exist. */
> +	/* Errors ignored here, will be reported when we open files */
> +	mkdir(xenstore_daemon_rundir(), 0755);
> +	mkdir(XENSTORE_LIB_DIR, 0755);

The addition of the second mkdir() doesn't seem to be explained in the 
commit message.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 17:36:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 17:36:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630705.983820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1VQP-00047E-NJ; Fri, 10 Nov 2023 17:36:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630705.983820; Fri, 10 Nov 2023 17:36: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 1r1VQP-000477-Kk; Fri, 10 Nov 2023 17:36:09 +0000
Received: by outflank-mailman (input) for mailman id 630705;
 Fri, 10 Nov 2023 17:36: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 1r1VQO-00045v-Rn
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 17:36: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 1r1VQO-000592-7Z; Fri, 10 Nov 2023 17:36:08 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[10.95.148.228]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r1VQO-0004UT-25; Fri, 10 Nov 2023 17:36: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=2MGsrNsAlUk450k1+fL1047vMLHGwRNB8HfDaRganrk=; b=1MHWqdDy4LZXraWxlq4AWzgCrn
	JlVay9hIqetnTxEAVYZDpfvUlE3pUEAJkEZKoqij8RT4MsKTT1dBiPjp61UjyR2AXLZltjPoir9oi
	8r82hBHGzZk3tts12/aGLOa6I2rKOmIvuCVP9Ydx5u2K5Tm8KcPIH45zGlrJeaW2iIR8=;
Message-ID: <430273e6-529b-4cb2-8998-97dc73e72f1b@xen.org>
Date: Fri, 10 Nov 2023 17:36:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 22/29] tools/xenstored: get own domid in stubdom case
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-23-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110160804.29021-23-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 10/11/2023 16:07, Juergen Gross wrote:
> Obtain the own domid from the Xenstore special grant entry when running
> as stubdom.
The commit message says we would use the grant entry but ...

> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - replacement of V1 patch (ANdrew Cooper)
> ---
>   tools/xenstored/core.c   | 1 +
>   tools/xenstored/core.h   | 1 +
>   tools/xenstored/minios.c | 5 +++++
>   3 files changed, 7 insertions(+)
> 
> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
> index 0c14823fb0..8e271e31f9 100644
> --- a/tools/xenstored/core.c
> +++ b/tools/xenstored/core.c
> @@ -2738,6 +2738,7 @@ static struct option options[] = {
>   int dom0_domid = 0;
>   int dom0_event = 0;
>   int priv_domid = 0;
> +int stub_domid = -1;
>   
>   static unsigned int get_optval_uint(const char *arg)
>   {
> diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
> index d0ac587f8f..3c28007d11 100644
> --- a/tools/xenstored/core.h
> +++ b/tools/xenstored/core.h
> @@ -361,6 +361,7 @@ do {						\
>   extern int dom0_domid;
>   extern int dom0_event;
>   extern int priv_domid;
> +extern int stub_domid;
>   extern bool keep_orphans;
>   
>   extern unsigned int timeout_watch_event_msec;
> diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
> index 0cdec3ae51..202d70387a 100644
> --- a/tools/xenstored/minios.c
> +++ b/tools/xenstored/minios.c
> @@ -19,6 +19,8 @@
>   #include <sys/mman.h>
>   #include "core.h"
>   #include <xen/grant_table.h>
> +#include <mini-os/events.h>
> +#include <mini-os/gnttab.h>
>   
>   void write_pidfile(const char *pidfile)
>   {
> @@ -56,4 +58,7 @@ void unmap_xenbus(void *interface)
>   
>   void early_init(void)
>   {
> +	stub_domid = evtchn_get_domid();

... the function is called evtchn_*. So the commit message doesn't seem 
to match the code.

Also, you seem to include mini-os/gnttab.h when you don't add any 
function that seems to be related.

Lastly, shouldn't this helper be called get_domain_id() (or similar) 
because the domid is not specific to the event channel subsystem?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 17:38:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 17:38:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630709.983833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1VSa-00052F-5m; Fri, 10 Nov 2023 17:38:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630709.983833; Fri, 10 Nov 2023 17: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 1r1VSa-00051y-25; Fri, 10 Nov 2023 17:38:24 +0000
Received: by outflank-mailman (input) for mailman id 630709;
 Fri, 10 Nov 2023 17:38: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 1r1VSY-00051X-UW; Fri, 10 Nov 2023 17:38: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 1r1VSX-0005CJ-QG; Fri, 10 Nov 2023 17:38:21 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[10.95.148.228]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r1VSX-0004c5-K9; Fri, 10 Nov 2023 17: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>
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=mIjbjJuJ61rlOrgKdBDbfSYU4W1xHRxsswtoXXljrY8=; b=P0CCjuImFtItE659kQcjUCDE1w
	5nb1eHQzC8qPonMYF7PHSUzE2geRjsL7zjxp1+ox86yvNLsKXqWYpOZxspz/IH4nWrtb/NFRrYHUM
	sbwQkNQYH3MgmHY33REp8dGeLXC2Cs+HHzVjYdSo1JbC1u5UsELYWHxYU89R6OyyXl0A=;
Message-ID: <7265e418-6c40-47ea-97a7-bcf3c2e61cf7@xen.org>
Date: Fri, 10 Nov 2023 17:38:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross <jgross@suse.com>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
 <9d75d794-a333-792a-786c-064d35910980@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9d75d794-a333-792a-786c-064d35910980@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Jan,

On 10/11/2023 12:44, Jan Beulich wrote:
> On 10.11.2023 13:23, Roger Pau Monné wrote:
>> On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
>>> Get the own domid via creation of a temporary event channel. There is
>>> no "official" way to read the own domid in PV guests, so use the event
>>> channel interface to get it:
>>>
>>> - allocate an unbound event channel specifying DOMID_SELF for the
>>>    other end
>>>
>>> - read the event channel status which will contain the own domid in
>>>    unbound.dom
>>>
>>> - close the event channel
>>
>> Should we look into introducing a way to expose the domid, so that in
>> the future we might not need to resort to this workarounds to get the
>> domid?
>>
>> Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
>> a non-HVM specific leaf when it was made available to HVM for pvshim
>> reasons.
> 
> Couldn't we retroactively generalize the type-agnostic parts of that
> leaf?

This would only work for x86. I think we want to have a generic 
hypercalls so it can be used by all arch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 17:40:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 17:40:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630718.983847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1VV2-0007Il-Lo; Fri, 10 Nov 2023 17:40:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630718.983847; Fri, 10 Nov 2023 17: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 1r1VV2-0007Id-Hy; Fri, 10 Nov 2023 17:40:56 +0000
Received: by outflank-mailman (input) for mailman id 630718;
 Fri, 10 Nov 2023 17:40: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 1r1VV1-0007IC-6h; Fri, 10 Nov 2023 17:40: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 1r1VV0-0005ER-IY; Fri, 10 Nov 2023 17:40:54 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[10.95.148.228]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r1VV0-0004jS-Cm; Fri, 10 Nov 2023 17: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>
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=lj+e1r9LzSArgAgK4VcRJq8Gg1Iucv1dJNbrloYU4F0=; b=XJSL0DNF+spD1Db51GqVzulkV4
	MJcp3tJBrGpn8thZGZ3B6SU5RE83WlHf/a/wSFAdTz6q2q9Dc3/V8zLveUQpXlMqo8uhQk5U0z1a5
	S1uSBrJYjtvQthJylv7vEY5EvfFu+AEfnxvFb+8BjFrwZe1kT0qKFNCRQdtfGDA387jw=;
Message-ID: <06119077-00e4-4b33-a71e-b6eafd63271e@xen.org>
Date: Fri, 10 Nov 2023 17:40:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110113435.22609-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 10/11/2023 11:34, Juergen Gross wrote:
> Get the own domid via creation of a temporary event channel. There is
> no "official" way to read the own domid in PV guests, so use the event
> channel interface to get it:
> 
> - allocate an unbound event channel specifying DOMID_SELF for the
>    other end
> 
> - read the event channel status which will contain the own domid in
>    unbound.dom
> 
> - close the event channel
> 
> Signed-off-by: Juergen Gross <jgross@suse.com
> ---
> V2:
> - new patch
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   events.c         | 32 ++++++++++++++++++++++++++++++++
>   include/events.h |  2 ++
>   2 files changed, 34 insertions(+)
> 
> diff --git a/events.c b/events.c
> index cdae90f4..af9f9f9e 100644
> --- a/events.c
> +++ b/events.c
> @@ -261,6 +261,38 @@ int evtchn_get_peercontext(evtchn_port_t local_port, char *ctx, int size)
>       return rc;
>   }
>   
> +domid_t evtchn_get_domid(void)
I think the function name should be generic so the caller doesn't need 
to be modified everytime the implementation is updated.

How about get_domid()?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 17:48:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 17:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630726.983858 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Vc0-0002bg-AP; Fri, 10 Nov 2023 17:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630726.983858; Fri, 10 Nov 2023 17: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 1r1Vc0-0002bZ-7S; Fri, 10 Nov 2023 17:48:08 +0000
Received: by outflank-mailman (input) for mailman id 630726;
 Fri, 10 Nov 2023 17:48: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=/7/b=GX=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1r1Vby-0002aA-2k
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 17:48:07 +0000
Received: from sonic315-54.consmr.mail.gq1.yahoo.com
 (sonic315-54.consmr.mail.gq1.yahoo.com [98.137.65.30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4bb2d434-7ff1-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 18:48:04 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic315.consmr.mail.gq1.yahoo.com with HTTP; Fri, 10 Nov 2023 17:48:02 +0000
Received: by hermes--production-ne1-56df75844-8pvmk (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 0a3b79c171e09ebe0074a7aee1a6f964; 
 Fri, 10 Nov 2023 17:47: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: 4bb2d434-7ff1-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1699638482; bh=vZTMiRT1uxgbhlcpFRXkj0WqH9htkyWIFGtkpXTkCRA=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=tJQyW9mTSjcdl53ck5V9yAGwGnOHTT0Y6YAYN10a7LlVkLS6Xq5+ZP+3877HoWwp+T329TmadKINRCuyEaNOPCEQtAr4oRCQr9m2z+jxmgH0v3gprbHq48fwULAOzoUYOZvgQQyrDXwCHKa0MtsjBONYG+p7o90xit7TaM4P84aZimCe/p07OC/suBhjYEw3BOFBqeHycrJxt6prRiN+HvmrmN42hf9mGyhalw47NAqD+p75vVM+2XnnALThbAD+O6YjPABOlARK3pynimoxKRAP3ZwysFtGiIG6UpITyppPUgGtpT+MNmBHyO6/P5J8GxCF/7M3wJv0aDghuCDztw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1699638482; bh=OcbMuveobC5Y9/jl0pQy9JyFe24RCOrx2ZhVRGS9awc=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=FX7amUjcn3P+RFvtlj7w7VSPru9MoXgTF7MoygyzviltPIL96jEAkA+IB74Xv9v/53pLByJiPzVtnAHl9wXAGAgqR+eC02Zctrruglhv0vHKSt5p5GsFpbAvvKfwJ6yP4Z/pk3hYKthKpIiIv8lvt7CXKGIE+vjkraYI+/zJtzAZPzdXe1kzeIzCud4z0MYqyJNAeJalewk7mOfd7D2piqaJj12rmQUUH8nnM3TloYWSQRwuk1t/061HgllEuYVfAX3oBanOJAmpP93FMyeSjmoHiB62gSb3M+w/liizhEg3OdLwLEkxyqpkCUfJ8gsb2zr08MxUNMg/WUokWn+B8g==
X-YMail-OSG: ..ZAkG0VM1nPpgqu_qlmb_lcpT9c0b_Epkpkp4GPbupL1Pf4F4Gnt89WII29tRS
 wcLILdtIXNXisf5BxXPJx64bA_uIFlXmkmA2BA.5XtUMtCPgn6B4Dy1dhFM48TzRPF_t_MvMgy0z
 o17zg_e1cEcyvCZwKhNe5oDSV1ouuUHVRNQmLM7Bd7pa.9eeL_3D.YHEVtZzmOiuoIBlmqsl9ErP
 thnUOp4EmgGL6.YVuIfVtz0o_B7f.VrZdlyCYysyN4Eclz9O9w.lDJDTsbVr5BpJ2mYFj9pYBApp
 SV1MxvArBSfUoIxswOFH4t8Nqu0bHekxWPM3oID0Xl7Z0nZWer7QP1Jz5g.o.CC3nBW.nft4DiFB
 IZ_m__EF9xf9yp8Ds_mxdfzzJrI.1iI3LhpSH9i.lW5ozwEl9SX.an85440Yp60aRFjPJ0sAGKk1
 LOB2uD1eBQNBf64lpklC9hhWjJ6DtfqM4w4thoOvaxGpgjhr.SBArvRASbFZ3_jsHEDb.VwmmKTH
 BL6yBbsiSWljhFhN6KObau1eu81dM4NVeu7Tda75tj85WOchKyXf_qcXfrJjAMl6VoJs9KWluEnO
 impIXwHAGgrFGn17ynVBWO9tG4FisFaqyxmtyvm8vS5EGGChZNDjtMLV8mfTdzrMdwC41DkY.9Pw
 vjHedLEgrzwGrLJt7EZc.RJRrN.nkQ29znZMqFkbfevO3Dnjd6gwOQTdjWDBEbJXiy34PMk3HEUU
 NJdBAdZ5jgkOVwvHWAMX97mdnUvz7vsvt93NVXSzBZKVRVmR8eCjedf2Hg_CKunLglpT9GIc55SN
 TVcxaOxXvH4ntLkhD4l.1g3kdDfsT2gdaUq6ueI6E1RcQ1N0j8dUFTwG9bCOCd4IQjWPRXVl3HAp
 35RA8uCsLA2.9Cb2JPdCpsqQPKIqsHpaVXGyVrVQNMj3cHgktOoYYCkJ1jlABwIp9_Itw320GTca
 YKt.8LLfrYcaVWB4VAZxBp.T.vOt9dYe9Obytjgdt973NTs.E.QuE0RNk3g08ud1jdtXHb0zcesJ
 fkzUKuF41Ic9Dsp964phV2jeXqJdcZXOGPZ93Lbw.pnhjvp70.IkxH2vvXa.DAOuOEy9Zzxzt4ri
 FHx2X6_XdQtW0kD6FdLmhfSpmlZAsM.b.5zpz6wwIl2vAEAkqvc7uiz7RLfwJzlXX2TAorBz7GE5
 AQgZHPgJ2.68MkD_rphIL8ujz_wXgRw2oikU8c1ezFG2hsrhQdkuWWXlU09XJkNHXy4gWcAtDUUo
 Yz6SBV1zaqn8OVFByvl5r.EHjh8ziBtO70dPcCVqYTHoL3kbcqGtOqb6dTzuUSKy7_85DONTSHkT
 udm8O6RSi08IFvG6AIrFqpss8mHQkt9NU0sJxEf3w24oVYXoy3NE5r_NVcbpDjIcau518rE9j8m4
 KFi2Mdp42IfKbJIcHQnd6Hf7x08ikVCqQc9HuMd86WV3JpfUBWTI4akSnQhuU3tp3Kb4PA1rFzhS
 YWH.vRt1c11aUMb0pYktSphUaQt8xfBhHbFVMmPO3y.wyxjKdYvKEyl1rYw5uaVUgar2w9tyy0r0
 SizQJb90U7.GvWih2WF5NJ6d8GQjnamxpNxB83RU4L1TrHiqXwlWEutB3gN.FI42Fitpv2Y_k2uF
 Gm5WwM58MEN7lWdfOqiqgNSLQ7Y1oafgxRz497_l_M5cLJN_sK6YhTqsP4d8ub51fmPth1XU_7Jz
 KgagFWGqU1llw0DE42aJ5SdRlqFnbFM5ufnZK.p7sMssAlHdTG5ewranKN3eqByjUlBbdSyq7c1t
 uZcOdjclZih30lvtVAGzOkdDSduLw7ObRoPQDoVk_hJ3KDL52XpkXJraPcoL4cZzoZ4xcg1lr5UT
 1nhRserFcFoEiYxQDw8L4j58D2fum29ZsGUuF9KyUKmH9yPbsCqxeP499TcaA7S.CuWo6u3V9zoX
 Z21vV9KoxXY9uBh0v56nrUGHWBDZpzefckQGagMQCxJLHdM6lB7ONo1w2CDOZaPqVL20V1hO14Tw
 oiqHvzoCX5YxTQxRPs85lYuOeZ6OFr5EIEuRSQblY5wjeV1E4Ie5V8hnzVAx52cLKdLvAu5XZdAX
 mpJiX8rX4aRX3PZ5M3R8R3pBCeB7E.y0FMPLdhUle_pye7FOeyX_jCmL.mRZfSmE34CvFahyeK1t
 RrutntSYj5yzDbyNnwyoh8SQIQHkIGtfyqUlWiWtB5pe9yZxNdnpZctNE7k52LHin0nlaW5wdLEt
 eQ0cUrDBqQe1ZtzeXn0A-
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: fe504c81-1333-45d0-981a-d9d6ada1e921
Message-ID: <acfab1c5-eed1-4930-8c70-8681e256c820@netscape.net>
Date: Fri, 10 Nov 2023 12:47:54 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma]
 *ERROR* Device 14450000.mixer lacks support for IOMMU
To: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Cc: Mario Marietto <marietto2008@gmail.com>,
 xen-devel <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Marek Szyprowski <m.szyprowski@samsung.com>
References: <CA+1FSiip1U0_EskJNgV3pSZPTCNOiTbpHosRLsy-6t1QQGd8Dw@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311557520.1795129@ubuntu-linux-20-04-desktop>
 <CA+1FSih0hORYZf6Hfmf=nY4jkHPvFSgGfc1tJfzN6smnKxcsxA@mail.gmail.com>
 <alpine.DEB.2.22.394.2310311625260.1795129@ubuntu-linux-20-04-desktop>
 <d7d353b6-8d98-4bfa-8f45-1cb56fcea1f8@netscape.net>
 <08d50d8e-00bc-4bd0-be64-49639028eca8@xen.org>
 <5b3f5d86-1499-4dbb-934e-2006a3dc108e@netscape.net>
 <ad8c3c99-135c-425c-a0e9-f74c6cadbc78@xen.org>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <ad8c3c99-135c-425c-a0e9-f74c6cadbc78@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21896 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 4947

Hi everyone,

This reply is intended to clarify the latest test results and bring the
clarifications and other relevant discussion to the xen-devel mailing list.

On 11/1/2023 5:14 AM, Julien Grall wrote:
> 
> 
> On 01/11/2023 08:45, Chuck Zmudzinski wrote:
>> On 11/1/2023 4:27 AM, Julien Grall wrote:
>>> Hi,
>>>
>>> @Stefano, as you pointed out, there is already a thread on xen-users for
>>> this discussion. Could we use this thread for any discussion? This would
>>> make easier to follow.
>>>
>>> Some high level comment below.
>> 
>> I agree to keep the discussion here and not at other places.
> 
> I was meant to suggest the other thread :). But either is fine with me. 
> I just want to avoid avoid multiple seperate threads for the discussion.
> 
>> 
>> I just want to add that the best results for Xen dom0 so far are
>> by implementing Marek's suggestion to disable these two settings
>> in the 6.1.59 kernel config, but leaving everything else the same,
>> including keeping the EXYNOS_IOMMU support enabled:

I got even better results with a small patch in arch/arm/mm to disable
the overwriting of dma_ops with xen_swiotlb_dma_ops for a device when
the dma_ops are already set to use the iommu_ops, otherwise, the
current behavior of overwriting or setting dma_ops for the first time
with the xen_swiotlb_dma_ops is done. This totally fixes the error,
and also allows the HDMI port to work with Linux dom0 on Xen!

> That's good news! I would be interested to hear how this works once you 
> start to have PV backend in dom0 (I expect that the IOMMU will get 
> confused with grant mapping).

I did lots of tests such as building a kernel in a domU with PV block
and network frontend drivers connected to dom0 on the backend while
also building the qemu device model in dom0 using a Linux kernel in dom0
with the aforementioned patch to not overwrite dma_ops if dma_ops is
already set to iommu_ops, and on this Chromebook IOMMU had no confusion
and the feared DMA errors and memory corruption did not materialize!

So I am preparing to submit a patch to lkml to fix the exynos mixer.
on Xen. I just finished testing a version of the patch implemented as
a new config option that is set when support for the device causing
the trouble, the exynos mixer, is present in Linux and EXYNOS_IOMMU
config option is also enabled. I think this is a conservative approach
to add a new config option that can be set for cases like this
Chromebook when the devices that need to use IOMMU are behaving nicely
and do not cause any trouble on Xen. The default will continue to be
that Linux will overwrite IOMMU dma_ops with xen_swiotlb_dma_ops on
Xen unless the new config option is set.

> 
> Also, do you plan to passthrough any of the devices protected by IOMMU?

No. On this Chromebook, the only two devices using IOMMMU in the system on
dom0 with the soon-to-be proposed patch are the exynos-fimd and the
exynos-mixer, which support video for dom0. All other devices in the system
are using the xen_swiotlb_dma_ops. These facts, I think, explain why the
feared DMA errors and IOMMU confusion with the PV drivers for other guests
on the system did not materialize in this case. 

> 
>> 
>> # CONFIG_DRM_EXYNOS_MIXER is not set
>> 
>> Disabling the mixer also makes this unavailable:
>> 
>> # CONFIG_HDMI
>> 
>> With this change, the GPU is working well enough to allow the display
>> manager and an X11 session to run normally on the built-in display of the
>> Chromebook. The Wifi also works well.

As mentioned earlier, these settings worked also, but with the disadvantage
of disabling support for the HDMI port on the Chromebook. My latest tests
indicate we can fix this on Xen without giving up support for the HDMI!

> 
> I saw your other answer about the Wifi not working when the IOMMU is not 
> used. I was about to reply there, but instead I will do it here.
> 
> TBH, I am quite surprised this is the case. The only difference with 
> baremetal would be the RAM regions. Do you know if the Wifi dongle only 
> accept certain physical address?

The Wifi device worked well enough to associate with a Wifi access point
without EXYNOS_IOMMU enabled, it just failed to get IP addresses from
DHCP. I don't know if the exynos Wifi device requires a certain physical
address for the function of acquiring IP addresses from DHCP to work. Marek
might be able to answer that question.

In any case, since the Chromebook works fine on Xen, including Wifi, when
the EXYNOS_IOMMU is used by Linux dom0 as long as Linux does not overwrite
the dma_ops with xen_swiotlb_dma_ops when they had previously been set to
iommu_ops in arch/arm/mm/dma-mapping.c, finding the answer to the problem of
Wifi not working when the IOMMU is not used is not essential because the
default for both exynos systems and multi_v7 arm systems in Linux is to use
the exynos IOMMU when it is available, both on bare metal and on Xen / dom0.

Cheers,

> 
> Cheers,
> 



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 17:52:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 17:52:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630731.983868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Vfm-0005sc-Qp; Fri, 10 Nov 2023 17:52:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630731.983868; Fri, 10 Nov 2023 17: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 1r1Vfm-0005sV-O0; Fri, 10 Nov 2023 17:52:02 +0000
Received: by outflank-mailman (input) for mailman id 630731;
 Fri, 10 Nov 2023 17:52:01 +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 1r1Vfl-0005sP-TM
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 17:52:01 +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 1r1Vfk-0005Rq-4Q; Fri, 10 Nov 2023 17:52:00 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[10.95.148.228]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r1Vfj-00055Z-Su; Fri, 10 Nov 2023 17:52: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=m1gXPrPvm3abV11bhMe1c0pV7Yz/P4ApuiuTzy3eCZs=; b=Sz8K5NaHRF3xmbPFUnnpk48j9R
	1mIN2SgXTzzGnsKZ2qjlbBsbOxWdv4Xr7HcDLpWFp+fhsg9rhXb1LWmoSjG5uhjy5G/PSWizPx4QR
	ox0kpsBgYkwWHmwPyp11+Tiz2NcQf8mmObfeDAiWBXbuqGkQdcrZ4veyNoo28sHj9w3I=;
Message-ID: <d132e578-398f-42e4-bb0c-7a52cf11c226@xen.org>
Date: Fri, 10 Nov 2023 17:51:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 23/29] tools/xenstored: rework ring page (un)map
 functions
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-24-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110160804.29021-24-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 10/11/2023 16:07, Juergen Gross wrote:
> When [un]mapping the ring page of a Xenstore client, different actions
> are required for "normal" guests and dom0. Today this distinction is
> made at call site.
> 
> Move this distinction into [un]map_interface() instead, avoiding code
> duplication and preparing special handling for [un]mapping the stub
> domain's ring page.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 18:05:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 18:05:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630735.983878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Vsu-0003p3-0q; Fri, 10 Nov 2023 18:05:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630735.983878; Fri, 10 Nov 2023 18: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 1r1Vst-0003ow-Tr; Fri, 10 Nov 2023 18:05:35 +0000
Received: by outflank-mailman (input) for mailman id 630735;
 Fri, 10 Nov 2023 18:05: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 1r1Vss-0003nW-WC
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 18:05: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 1r1Vsq-0005v7-H8; Fri, 10 Nov 2023 18:05:32 +0000
Received: from 54-240-197-230.amazon.com ([54.240.197.230]
 helo=[10.95.148.228]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r1Vsq-0005e5-Aw; Fri, 10 Nov 2023 18:05: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=Mk3fDxX0UNBD88IjxvXDo2KnrOZTtXhwi/1ClBvndbM=; b=VOM/VFNnfjZ6wrsmL3mWNQHpVC
	SHmWK4/iFdAOOna9knzknrHgA5P7EWSHLn6XNzk2xwwoEVdaW5r2jJUtc8CIBRRrRMn0fyNhEfQ1h
	/Mcfk8ckbyvJXr18KEiyJ+vDs2XnzOlER94KfNTAjNAZCtd1cWcLEIjmLwAi2Qtdmb6A=;
Message-ID: <b84878ff-59f6-424b-9ca6-89c957d963ee@xen.org>
Date: Fri, 10 Nov 2023 18:05:30 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 24/29] tools/xenstored: split domain_init()
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-25-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110160804.29021-25-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 10/11/2023 16:07, Juergen Gross wrote:
> Today domain_init() is called either just before calling dom0_init()
> in case no live update is being performed, or it is called after
> reading the global state from read_state_global(), as the event
> channel fd is needed.
> 
> Split up domain_init() into a preparation part which can be called
> unconditionally, and in a part setting up the event channel handle.

Looking at the code, domain_init() may not be called if -D is passed to 
Xen. With your change, part of it would not be called unconditionally.

So does -D actually make sense? Did it actually work before your change? 
Should it be removed?

> 
> Note that there is no chance that chk_domain_generation() can be
> called now before xc_handle has been setup, so there is no need for
> the related special case anymore.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   tools/xenstored/core.c   |  2 ++
>   tools/xenstored/domain.c | 12 ++++++------
>   tools/xenstored/domain.h |  1 +
>   3 files changed, 9 insertions(+), 6 deletions(-)
> 
> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
> index 8e271e31f9..b9ec50b34c 100644
> --- a/tools/xenstored/core.c
> +++ b/tools/xenstored/core.c
> @@ -2960,6 +2960,8 @@ int main(int argc, char *argv[])
>   
>   	init_pipe(reopen_log_pipe);
>   
> +	domain_static_init();

NIT: I find 'static' a bit confusing. How about using 'early' instead to 
match 'early_init()'?

> +
>   	/* Listen to hypervisor. */
>   	if (!no_domain_init && !live_update) {
>   		domain_init(-1);
> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
> index 58b0942043..fa17f68618 100644
> --- a/tools/xenstored/domain.c
> +++ b/tools/xenstored/domain.c
> @@ -1224,10 +1224,8 @@ static int domeq_fn(const void *key1, const void *key2)
>   	return *(const unsigned int *)key1 == *(const unsigned int *)key2;
>   }
>   
> -void domain_init(int evtfd)
> +void domain_static_init(void)
>   {
> -	int rc;
> -
>   	/* Start with a random rather low domain count for the hashtable. */
>   	domhash = create_hashtable(NULL, "domains", domhash_fn, domeq_fn, 0);
>   	if (!domhash)
> @@ -1258,6 +1256,11 @@ void domain_init(int evtfd)
>   	xengnttab_set_max_grants(*xgt_handle, DOMID_FIRST_RESERVED);
>   
>   	talloc_set_destructor(xgt_handle, close_xgt_handle);
> +}
> +
> +void domain_init(int evtfd)
> +{
> +	int rc;
>   
>   	if (evtfd < 0)
>   		xce_handle = xenevtchn_open(NULL, XENEVTCHN_NO_CLOEXEC);
> @@ -1291,9 +1294,6 @@ static bool chk_domain_generation(unsigned int domid, uint64_t gen)
>   {
>   	struct domain *d;
>   
> -	if (!xc_handle && domid == dom0_domid)
> -		return true;
> -
>   	d = find_domain_struct(domid);
>   
>   	return d && d->generation <= gen;
> diff --git a/tools/xenstored/domain.h b/tools/xenstored/domain.h
> index 7625dca8cd..6c00540311 100644
> --- a/tools/xenstored/domain.h
> +++ b/tools/xenstored/domain.h
> @@ -82,6 +82,7 @@ int do_get_domain_path(const void *ctx, struct connection *conn,
>   int do_reset_watches(const void *ctx, struct connection *conn,
>   		     struct buffered_data *in);
>   
> +void domain_static_init(void);
>   void domain_init(int evtfd);
>   void dom0_init(void);
>   void domain_deinit(void);

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 20:42:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 20:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630798.983938 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1YKy-0006Hw-CW; Fri, 10 Nov 2023 20:42:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630798.983938; Fri, 10 Nov 2023 20:42: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 1r1YKy-0006Hi-8W; Fri, 10 Nov 2023 20:42:44 +0000
Received: by outflank-mailman (input) for mailman id 630798;
 Fri, 10 Nov 2023 20: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=vE0U=GX=epam.com=prvs=56783987ff=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r1YKw-0004yp-OO
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 20:42:42 +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 b0766972-8009-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 21:42:40 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AAKIjQu010025; Fri, 10 Nov 2023 20:42:28 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkysufj-4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 20:42:27 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DB3PR0302MB8991.eurprd03.prod.outlook.com (2603:10a6:10:437::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 20:42:23 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.019; Fri, 10 Nov 2023
 20:42: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: b0766972-8009-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dKcz7x8xXlO4kWqIz9otbJNVc4wI2HkDTsHnmnw6opnLvqoi8bI4eDGEbtGWi6cUSTAYt4lG8IssbW3zJWvx/K+mgjlw5ePCKioTtMJ8BESpH/FVj2oTK+4jffg/S2IY0y/Cwfuzn0MpU2h6ngtRoQMZjoGXw0FXAklqpCqSpS6eeu4dmTONjlflvNgyJGRBTE0SIVa+xevGAmv8q6Bpoo0E7uTYFhe4jyH9ILcOm3ir/uM8SqVhjXg0FZLhzesAfTQOC2P9PMVz1eywUipCCNkc95SDyLPybgyIMgaAhvTZ1ac4bO6mMKKcVBR0RFajA3W29vzN1RDsCnnLheQLLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SABzLS8E3EK1EwtQXVPOLYVkhNHLc3HH77gb89y98Ks=;
 b=BlTJ+vasQ1Cj1ZYyJZRxH+ZDDoJlAHrEhiij7cvT6BELs0wC7JiqRsCXRaUc0rqkRM7KTh4dHlCICtjdPNF4A6sLNECZUFJ1gBpZqdJSaZXRig2/NDnMHy9gEJS0qaqCWgQ59XVphNwAxmF/42tFD0uS0mcP1eua7O2x9aAifvXunZjhBMGpa0XGq6rAY4V9MVu8GxQken11HLpUCezidzGlZan6elhXN/isvtpNXDyMTbBypdJwqo3jErdxyu9iVfTAvzKBZnqqEouevVdzAzSwOyJEqcxNZ8GCNQxBz+3dwzjvXT8k6fkycx9eEDaGYtEzkwD02eff9F4s//B0Vg==
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=SABzLS8E3EK1EwtQXVPOLYVkhNHLc3HH77gb89y98Ks=;
 b=oP4WRw5c4LEQBuvGKyNQUcvT1gNXC+ibxESZQpHwy6KhVw6Iuc3QHlakjetZRJ8vDVhl+y3lVow5ndYTx6WXMjjutiR6qaRik5g9zEZbOd5zw+jCzCqN4Z21XnxjowCpkCgTsCU3K3XDp4BrQAzS1LCb9HcymhcbpOqPvhd08zRbbPosLLjNU/45cjy9teetxChSwt9eCoDsCl3FjzuxHBWm3IBoFVSnXzhKZv54du2dsD7z0vVBg1nrBYjR3DNiYKNzNgPEWAiUZcRS5KemL/FB5obhC/oR+WdAvhS20U70AeXxKvFDEYcUp0S8K4ZGgevqCZWb2EZR/A2NxWrn6w==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        David Woodhouse
	<dwmw2@infradead.org>, Paul Durrant <paul@xen.org>,
        "Michael S. Tsirkin"
	<mst@redhat.com>,
        Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
        Paolo
 Bonzini <pbonzini@redhat.com>,
        Richard Henderson
	<richard.henderson@linaro.org>,
        Eduardo Habkost <eduardo@habkost.net>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony Perard
	<anthony.perard@citrix.com>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: [PATCH v1 3/7] xen: xenstore: add possibility to preserve owner
Thread-Topic: [PATCH v1 3/7] xen: xenstore: add possibility to preserve owner
Thread-Index: AQHaFBZoS99E/RofVU6d/7dbafCRig==
Date: Fri, 10 Nov 2023 20:42:22 +0000
Message-ID: <20231110204207.2927514-4-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231110204207.2927514-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DB3PR0302MB8991:EE_
x-ms-office365-filtering-correlation-id: 77270297-91eb-4348-0324-08dbe22d8ae6
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 +a2Yghv5ArmvyyJbAO9TzYFQtRBgH77ysh6SAyw5lEDcY5veCuiPVCt6lzXvYOdLs2VxvN/bbFAGJgvoCRe+G26pUFvqfCOFZN8ZWrARa7EqQk8hjPD+Nhw4yJDePcH/nZYIHmxtRG+QE0zFnP8u8MUXAn82cu3uT8E1rCLMBblYp6JLK85J8g/FhLLJGYYZmP4u82bCQnFiXe/i3ZT/45mrHO+d24X/gjCgo0jdf3NVXkEZ6/VLGRfspcgmL2cMHpbpD45o1lDT3M3BJ4e07FzoYcZWYWD98sdXE8T6N4ECRnU+sNF/RSGH/wo+zpjWoxEIzRjA/jqkdzKDx32+szAe5yCgpyizLSb0oJnx77XprSLLVlzNcd0y5+WCD9Oo6spOes+ObHA7F57VLmP8Y0YceZyVw8j+UTF3f6l2n9LxV8I3QYP3HVrufCTOEkKYYhDE3YmUGpuY6/sef+UKkVClKMZoaXdydX2LzbzKctpmmDhswaBjesvLWbLM4J+pUw21aZJNjh3mBkviL9kUnHrLjnF5thYmirW7Trxc+PRaKucKV1RHRGps8d2mpAo9YT3LQT+Ay7Fw9Jk0TBx3Knkza0O2DoW7C6rdlhtPmfPUmqlMOQpAd4gwHkILcK51
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:(13230031)(136003)(376002)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(41300700001)(2906002)(8936002)(4326008)(86362001)(7416002)(5660300002)(38070700009)(8676002)(316002)(36756003)(83380400001)(38100700002)(478600001)(2616005)(1076003)(6512007)(6486002)(71200400001)(122000001)(6506007)(55236004)(91956017)(76116006)(66556008)(66446008)(26005)(6916009)(64756008)(66476007)(66946007)(54906003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?HWygDQEb1PyFhR+kL4GJ9srPJBGZX6do22PpT5Z1cW1ZpH0799bRH+Cvpj?=
 =?iso-8859-1?Q?qYcp3dWIwbloXapxCndoQJkNJuHcjB0sPNLrW+I2cxwni0WxoI0lLuxrk9?=
 =?iso-8859-1?Q?CxWjiej+pQKw74a1PzG8Xj3asWbYTpgikX8+lHNrubA52ywwI89p2Hx9Ei?=
 =?iso-8859-1?Q?mksgxUTYF3slhuKYMDz11NAX2XtZqh7B34CaJEqAUvvcwvyMJUkpJW2oZJ?=
 =?iso-8859-1?Q?A6NktjOQYfI0br5nNZRI9y+9cNjqS+WVNBwfG99KPnYnWS7tRPXTYlCHUW?=
 =?iso-8859-1?Q?gAf+qvkNjVdPWkizuaBZ4v2QTeGXQkj4NfVQ1GYcZk6BPUciTijtazTOnQ?=
 =?iso-8859-1?Q?/ht/3X07YV7qIJYL+X6x7Hc8vYuAFmv0GkW41TF4NCOHbaMRypMuwXyYBi?=
 =?iso-8859-1?Q?BaUShIUMx5+YyAvhmjfAuAJNRy7AHr+2ndySLlVp833JOQPbSmSlypo0sO?=
 =?iso-8859-1?Q?9Hsvz5ZGfcDXpLCiB7JFY7nuCgBF805bLi3NndBXqKqWs4cP0G3/YMLAOE?=
 =?iso-8859-1?Q?ibptwwLSD4K1wVjoImcYFYAakV6BqgMFjcUYaSrPiHPANmhKIR179mlieS?=
 =?iso-8859-1?Q?lURQgDGeKshT61AO79QaFSacqi8NSR6Ts7oTf3URh6VbFOTj19gf52Ag3Y?=
 =?iso-8859-1?Q?Q6KW9cMu6yVLwuXpWXXv/RvCRHCOws5WPUp07rcl3m07GXUBHqvQatsXXR?=
 =?iso-8859-1?Q?qdN2BjkxlLQemRM9S6i9x4nFcBWS60tbMig9FUF0dafIGMPNk9nQiAXPBM?=
 =?iso-8859-1?Q?/vo+rQNRtuXxy9SG0+gwXUtzNz50Ri1zpjziiEeLzyyHpvTSMtPIfzrPgm?=
 =?iso-8859-1?Q?w8I2vyqlLVxNwCUkaxV6sNdwLlBnX8h8em/pZ6WXk/DmnmLCFbDuoF/P/i?=
 =?iso-8859-1?Q?jYPNzpT5i3IoXDlDSuiatPowqszi7l+bgHayoYUXqTZgTeUu+ucEzgpJnH?=
 =?iso-8859-1?Q?x8tcwujkR2SXQGUQxAsrBZySVa2PxqQ0l4kooHXyXL/tt0Ay6CHBGSgRSH?=
 =?iso-8859-1?Q?r8vGSroW39KYuuU3SHP8ARQnSF1Y9e0vlPqBB9MrTGlFEl0Pgat7s3yv+Y?=
 =?iso-8859-1?Q?SamMuUe5QIkNmXlFY7IhjbrYbKVV+oYhlKo6lhI8TgHon/BDGB/aJrasVU?=
 =?iso-8859-1?Q?wCOvUhyHx4htDv1QfGzhQctkaasH1Lz44T/JGIcMwk5x/OHYaTgXFvmK36?=
 =?iso-8859-1?Q?WFSeCN2gE11YLAhNwaKZwrSDT9SIBLaiMqiF/9J6ezEiQ75kw/HbTGUkLB?=
 =?iso-8859-1?Q?YDMn4wgGjjidUj6kC8uSl6V4blVcepLcIvFSPOj+d8gu2yRHlFUWqDtCGW?=
 =?iso-8859-1?Q?snbNtnWVSvBUVa7/XMMj29qKx1yx2dYO9vyj4PKh3zzTiQNPbncKa+6jcC?=
 =?iso-8859-1?Q?KctOHytKb78Z2YI/lvLS+b7sW8bQRdWO5r05zO5H9dXKnlNJQXwO90+aew?=
 =?iso-8859-1?Q?8+Obep2ysIh6fnIjIj7Di7gMDJe0LGX7Pf82Pl6q/CtXz2fdYYg90xX8jE?=
 =?iso-8859-1?Q?JftA3ZD+Si7IV7mQQHPrgXte/6wktbssahKM4u21gYl7rdgBnwLLziLebx?=
 =?iso-8859-1?Q?tUEN2iW2m6jidAPWx13ThctbkWG5w6XT6bQGLe+V0bj+bc4e1811eanseS?=
 =?iso-8859-1?Q?R3Xd7hbMKXlzpb+qiiEDxlZUH46LgGnF+AR31zGtx9OknjwGk6MS4crg?=
 =?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: 77270297-91eb-4348-0324-08dbe22d8ae6
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 20:42:22.8222
 (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: Oa45hKbQ2wDZG6dY7ToKqKfLd/1QA2aaw2GaUN/X6GUfMzjt5CxK3sZczkRfndpLUec+NAqcFeQ3yRghmoMfApynPzdJJEmigu9vtJLQcbg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB8991
X-Proofpoint-GUID: BLNE5bGVc9v_qqRAms0kbUuAPLVvFkZl
X-Proofpoint-ORIG-GUID: BLNE5bGVc9v_qqRAms0kbUuAPLVvFkZl
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_18,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1011 bulkscore=0
 priorityscore=1501 mlxlogscore=943 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100172

Add option to preserve owner when creating an entry in Xen Store. This
may be needed in cases when Qemu is working as device model in a
domain that is Domain-0, e.g. in driver domain.

"owner" parameter for qemu_xen_xs_create() function can have special
value XS_PRESERVE_OWNER, which will make specific implementation to
get original owner of an entry and pass it back to
set_permissions() call.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 hw/i386/kvm/xen_xenstore.c       | 18 ++++++++++++++++++
 hw/xen/xen-operations.c          | 12 ++++++++++++
 include/hw/xen/xen_backend_ops.h |  2 ++
 3 files changed, 32 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 660d0b72f9..7b894a9884 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -1572,6 +1572,24 @@ static bool xs_be_create(struct qemu_xs_handle *h, x=
s_transaction_t t,
         return false;
     }
=20
+    if (owner =3D=3D XS_PRESERVE_OWNER) {
+        GList *perms;
+        char letter;
+
+        err =3D xs_impl_get_perms(h->impl, 0, t, path, &perms);
+        if (err) {
+            errno =3D err;
+            return false;
+        }
+
+        if (sscanf(perms->data, "%c%u", &letter, &owner) !=3D 2) {
+            errno =3D EFAULT;
+            g_list_free_full(perms, g_free);
+            return false;
+        }
+        g_list_free_full(perms, g_free);
+    }
+
     perms_list =3D g_list_append(perms_list,
                                xs_perm_as_string(XS_PERM_NONE, owner));
     perms_list =3D g_list_append(perms_list,
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index e00983ec44..1df59b3c08 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -300,6 +300,18 @@ static bool libxenstore_create(struct qemu_xs_handle *=
h, xs_transaction_t t,
         return false;
     }
=20
+    if (owner =3D=3D XS_PRESERVE_OWNER) {
+        struct xs_permissions *tmp;
+        unsigned int num;
+
+        tmp =3D xs_get_permissions(h->xsh, 0, path, &num);
+        if (tmp =3D=3D NULL) {
+            return false;
+        }
+        perms_list[0].id =3D tmp[0].id;
+        free(tmp);
+    }
+
     return xs_set_permissions(h->xsh, t, path, perms_list,
                               ARRAY_SIZE(perms_list));
 }
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_=
ops.h
index 90cca85f52..273e414559 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -266,6 +266,8 @@ typedef uint32_t xs_transaction_t;
 #define XS_PERM_READ  0x01
 #define XS_PERM_WRITE 0x02
=20
+#define XS_PRESERVE_OWNER        0xFFFE
+
 struct xenstore_backend_ops {
     struct qemu_xs_handle *(*open)(void);
     void (*close)(struct qemu_xs_handle *h);
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 20:42:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 20:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630797.983928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1YKu-0005xl-Va; Fri, 10 Nov 2023 20:42:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630797.983928; Fri, 10 Nov 2023 20:42: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 1r1YKu-0005xY-Sf; Fri, 10 Nov 2023 20:42:40 +0000
Received: by outflank-mailman (input) for mailman id 630797;
 Fri, 10 Nov 2023 20:42: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=vE0U=GX=epam.com=prvs=56783987ff=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r1YKt-0004yp-VS
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 20:42:40 +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 aec3391b-8009-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 21:42:37 +0100 (CET)
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 3AAKI1MQ020361;
 Fri, 10 Nov 2023 20:42:32 GMT
Received: from eur01-he1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2050.outbound.protection.outlook.com [104.47.0.50])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3u9jbx27f5-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 20:42:32 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DB3PR0302MB8991.eurprd03.prod.outlook.com (2603:10a6:10:437::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 20:42:25 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.019; Fri, 10 Nov 2023
 20:42: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: aec3391b-8009-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i8jo9DaTQHselkLEVbKvhgXbwpfsRdbiK+1l7/PCa8iR8Gk5YyIeT9HV6BkS9PAhaSJ8IFT79zRSUNwLLoXzwI/cQvkQtCO8Qc4iNhT1YxDH7OJprI/lU8C8OASE9P9/OCtGlW4WN8eJqS1Kfs1/CjwpXB4X5n80K6Ap+0Tf5U6wPZbeLxgkvuVZbuUgQQHeusSCbNDugaj/gyacPO+ky9oazzuK6Ft9jo4ekYvSnlIcAxN+mHUNNTbr+Vlv9aaAOr3YBLq+p/BxxdcQO3EVmZ2HCYC9zy7/CDl0n+hkyWHBYEdd1yPv3agC3sGeLRwg2Kd2L7jPuNJRlfrvqVbqKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jQr5NbNk/LsGXPtDi59H3/Vtk1SC+nBMV+Y5YtBMVTo=;
 b=b/f3xonK41fGxgUOG6XCVUT1y3oD0GxUckYAvmieiGqRLrSLTG8Ei+jDAlaYn5jzjEhfbvsdJTCw8f1OCPmF2/Lpqe/uFgsjI5eBXmimU2dVnuuJM0tAMH0M5mFVGZcVc2UzU+WOiwsvVA2JATMYIwNmxxcWbwzzESAYR3TXOfe1P9n8wSZ0+ADOaD5+4FlhKVcW84AK57DinBygcXDanKQbkzEsqrPzvMPcahUF5OSPU67VNRmZxlUZXbV6a6QGexWjbPfcU9UGxlLEIdssaT8w6AvKVzDu3Xqf6HYyxS38rR5SDzZCllhzMTzWkQnygR3OnkevSfYVQQSJA0xPrA==
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=jQr5NbNk/LsGXPtDi59H3/Vtk1SC+nBMV+Y5YtBMVTo=;
 b=S2u5aL+6ddDqU33BeXbGx+uFPhBonH0LPJv21LudYVehVh+b4jfF3QL+9TkYoenVVImWfGrU4seDd13IQ+0iEG9l2S1CDYAruFETWQB5LlYG84xbm10fxPOWHSNdoJt4vMk+w4Gg+dL7vB7VGNAklQJB97UKRvvdGE628R0s9QaUBmi7EgtBmUczGkBQQoW2L7KUSVsd9MrFv4Y3Nxl2KEs3LGH9XFnAvKoMM8qA/xlOvoxs+uf67qyZ369UHMF9hOZHBqfeK6jaVM9X1O3OirsrMwFmmdaqX7MUi4jLw4Fdp6Yl6zLfVvwndBFJE6qwJ4JQSIeKQiIAOO8PhjrH3g==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Peter Maydell <peter.maydell@linaro.org>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony Perard
	<anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:ARM TCG
 CPUs" <qemu-arm@nongnu.org>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: [PATCH v1 7/7] xen_arm: Add basic virtio-pci support
Thread-Topic: [PATCH v1 7/7] xen_arm: Add basic virtio-pci support
Thread-Index: AQHaFBZpa05Dc66DRUqpQfiy75awpQ==
Date: Fri, 10 Nov 2023 20:42:24 +0000
Message-ID: <20231110204207.2927514-8-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231110204207.2927514-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DB3PR0302MB8991:EE_
x-ms-office365-filtering-correlation-id: b652af3a-6098-4dfb-1f13-08dbe22d8be5
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 P1MjZH/ndxFdNGjLrLQjyodaCcCWHvZef0JEMD0iq414F9M9++NgC055vSsfzq4tn9yaJtNLsxWvIeLgoXryFIHBnLLMr456fayHsj79XCKeZzqLFrJGSn3yCcxy+2JQthI5/MkfNKfGHbIJFXxUzHta+RKb/tyE31RwaKu8zSIufwuuOXjhcmVZTOty6wx2suZHOwa6Av8VW8C+7CSuXu5hN3fENmyrhawagflAa5nVSZT/V2uQ4CMzgm5BUc7HfvzKxanSjLCFi8U/xGd+fSjaNV0Dnt+0CIDaZyk1SQOALxNN97Bb0u95yh2p8L33ThPSlYyU1TTRMro4Zpat3fh1X6cx1i0YkT14jsCgmfflFF7Qfi+pIAHLAIMMG0h2AvAvT8xqdPmkllcwnwqK9X/Mwf0Ae5jgqtZwpDpk+Kzqo0rt/IpLe+/msY4LJbx/x/GuX/9Z9YboWKVuUXCM6ODubBHSYR/ahGBSTd40RVQddx3k6KBn3zInqyh5JLrumeq9BlqxcIJzxKwYdTR//Fq6Dze431Mg/uvde2Es2jtSiYu60UiIY0NqutGgvDfITVkioF+AUyzCOajGdbci6evmbFezkkSmbF7fgCoeTR2CFdKuELoqO4iMjtMjlmN8
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:(13230031)(136003)(376002)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(41300700001)(2906002)(8936002)(4326008)(86362001)(5660300002)(38070700009)(8676002)(316002)(36756003)(83380400001)(38100700002)(478600001)(2616005)(1076003)(6512007)(6486002)(71200400001)(122000001)(6506007)(55236004)(91956017)(76116006)(66556008)(66446008)(26005)(6916009)(64756008)(66476007)(66946007)(54906003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?hZ8QAbO3H9AAWFxvJi4+qIfoTqamDgikWUCihisG4Ag6mkRkHL6HCruAvO?=
 =?iso-8859-1?Q?W+hqc0Y4xs8gFl5/PY4vJ7mrnKlI0imy4RNOdVTs30Aa8NxtbtgyS69wPq?=
 =?iso-8859-1?Q?aU8OM2FxrEEWLoMkZS6RX6m7EkFeUqYPr/n1qu00qW0FndUAzLXv3Hv4o4?=
 =?iso-8859-1?Q?/OaJu7V0bqsuYv/Y925QIFc+ZZVR3/JCDVO+7Zt1V8WA8k3Hqlw34iHrJO?=
 =?iso-8859-1?Q?TkBXPtUTpONSXvP0An4i+xws45jx/HiEqEhPpSOU2MGwRvBw6/b3S6ueCE?=
 =?iso-8859-1?Q?uNAcxgSatpZ9jVUadWBr5EA+V9ReFDOKeC7Kz1FJhKsvQvDuVpSiOBBH4R?=
 =?iso-8859-1?Q?RXce6JvA1MEtqrx6VApnCdv8IEhJ+gXGnyPIL+BZ84fKj6Uq57TdqmnjHh?=
 =?iso-8859-1?Q?Va6qzHMV+huoPBTMNErAx1cO+A/cnJjndcblHgXyjTkXVxlNDCZjnpPcV8?=
 =?iso-8859-1?Q?Wglj0+gIT6FxpwjgEG9VaWBjeuQKkSCn5U3VcrijGWw7yJMHBZnszmzg7N?=
 =?iso-8859-1?Q?M5fbw7wLFYYWkjXhd/A/l2PzNp2AfTYxzEPRkIk4M07Z5RGOTRRgYJItKM?=
 =?iso-8859-1?Q?VuybZiIdJunqgI5VNk2PhpRvI9FjuYO6vL6VmTM5CeqNkhNOOAD24RxLJs?=
 =?iso-8859-1?Q?XRCtsj6MBbIW5y0VXSYdsjrEsNQVo49tXyli1vtZofAIkKbwuNpw/7zQ3y?=
 =?iso-8859-1?Q?dsEru2UQd7AEg/Y4shbjrI6PjkFmYpY7g4N3uB4tTga7HgRYk3W6frN2Tp?=
 =?iso-8859-1?Q?ri1V8sLUHaSUj/c1zrm8JeaTuhgc230SqA6eCHflSOs5v9WpzZ0EoIAjxK?=
 =?iso-8859-1?Q?2sFqsi7QjURDY1I2e20NA0xwYjN/0R75JYXkN1j318BDn+ab2IpjZ8eCOx?=
 =?iso-8859-1?Q?RQKM8cyP4fO/me85exuWQ+CKQHo0BDeEJR/AM8plbKrblQ8NBdq9ctAPsO?=
 =?iso-8859-1?Q?vac2Fj37wn5TnuL4Atp4uoxxSJebzU9wXYh/kFFepc8lCzE1A7yRu3kK8Y?=
 =?iso-8859-1?Q?f5qKA2uINH9sEQUiIVeSMxmXjm5iQRAZo0vlW015BPPzgGl4521rhq0Uct?=
 =?iso-8859-1?Q?mDFjgL6rC60SXPcpMo8Pf0vwWqlPVStGwSgPJ03jv1RKNYqoR8jOOBZBIG?=
 =?iso-8859-1?Q?EFPIdu2GGXlHSvfSc82jboOU+iGZtLOQQYQq0oFNmdGtVJthfnsrukV0XW?=
 =?iso-8859-1?Q?Y3KasHz2Sf/hwjWfuseS+tL2TErANF2Gil71F7IG2b/T9V2bkzGDfG9I4t?=
 =?iso-8859-1?Q?cD7V2uF7GjdNMIdP5Rq93r9UeswhWFTqQJARANxgflqTFPPHnQ+GNcXfR6?=
 =?iso-8859-1?Q?x0/zsFD8fr37sbOLeIeQ8zGaqKPz1CCA4phMoXn5JaldGuinvgAH8l7ppZ?=
 =?iso-8859-1?Q?hFK7XIQl9wPYwEjIsxFTXX2zH5qLfFdUt1B+ycbj4f/w/q81AE5dFUqEla?=
 =?iso-8859-1?Q?Nzagz/n5HgKK/Ls3mAr0FJxEcXQB6NioK4vFVrlCwsfcovxjLDoiP9H8PQ?=
 =?iso-8859-1?Q?nT25ZYTn9XnDBe0NtlzqRha65HwTKMnJ0KBUgpIzGYhsk7NNDSRzIaRhut?=
 =?iso-8859-1?Q?rx35o/cXnYch4qMPrSupuQRvdmJv8IFh3+UA93lw2O7eQo49eEp04qOlIu?=
 =?iso-8859-1?Q?ra9KPEKQAU3zXjWugkOUfLtNul1p2NCIId6jgFzpVA24QshFfGrELthA?=
 =?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: b652af3a-6098-4dfb-1f13-08dbe22d8be5
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 20:42:24.6686
 (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: gxMo61Dihk/IxNaBZ/nZDzUwECoAne/6QWKbp9wyEubTH5ytiEI0Dz3UOdOJCX24rVm+4j2lbB3WEPSh7If4IWYfyuk8PpFLKpEAJhZ/VJw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB8991
X-Proofpoint-ORIG-GUID: LhxBLxz5CcYwugUNNU8YpKjHme2Csnma
X-Proofpoint-GUID: LhxBLxz5CcYwugUNNU8YpKjHme2Csnma
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_18,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 adultscore=0
 spamscore=0 lowpriorityscore=0 priorityscore=1501 impostorscore=0
 mlxscore=0 mlxlogscore=908 malwarescore=0 suspectscore=0 clxscore=1011
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100172

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

This patch adds basic virtio-pci support for xen_arm machine.

It provides a flexible way to configure virtio-pci resources with
xenstore. We made this for several reasons:

- We don't want to clash with vPCI devices, so we need information
  from Xen toolstack on which PCI bus to use.
- The guest memory layout that describes these resources is not stable
  and may vary between guests, so we cannot rely on static resources
  to be always the same for both ends.
- Also the device-models which run in different domains and serve
  virtio-pci devices for the same guest should use different host
  bridge resources for Xen to distinguish. The rule for the guest
  device-tree generation is one PCI host bridge per backend domain.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 hw/arm/xen_arm.c            | 186 ++++++++++++++++++++++++++++++++++++
 hw/xen/xen-hvm-common.c     |   9 +-
 include/hw/xen/xen_native.h |   8 +-
 3 files changed, 200 insertions(+), 3 deletions(-)

diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index a2b41dc2de..4a0a6726a8 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -22,6 +22,7 @@
  */
=20
 #include "qemu/osdep.h"
+#include "qemu/cutils.h"
 #include "qemu/error-report.h"
 #include "qapi/qapi-commands-migration.h"
 #include "qapi/visitor.h"
@@ -34,6 +35,9 @@
 #include "hw/xen/xen-hvm-common.h"
 #include "sysemu/tpm.h"
 #include "hw/xen/arch_hvm.h"
+#include "exec/address-spaces.h"
+#include "hw/pci-host/gpex.h"
+#include "hw/virtio/virtio-pci.h"
=20
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
 OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
@@ -58,6 +62,11 @@ struct XenArmState {
     struct {
         uint64_t tpm_base_addr;
     } cfg;
+
+    MemMapEntry pcie_mmio;
+    MemMapEntry pcie_ecam;
+    MemMapEntry pcie_mmio_high;
+    int         pcie_irq;
 };
=20
 static MemoryRegion ram_lo, ram_hi;
@@ -73,6 +82,7 @@ static MemoryRegion ram_lo, ram_hi;
 #define NR_VIRTIO_MMIO_DEVICES   \
    (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST)
=20
+/* TODO It should be xendevicemodel_set_pci_intx_level() for PCI interrupt=
s. */
 static void xen_set_irq(void *opaque, int irq, int level)
 {
     xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level);
@@ -127,6 +137,176 @@ static void xen_init_ram(MachineState *machine)
     }
 }
=20
+static void xen_create_pcie(XenArmState *xam)
+{
+    MemoryRegion *mmio_alias, *mmio_alias_high, *mmio_reg;
+    MemoryRegion *ecam_alias, *ecam_reg;
+    DeviceState *dev;
+    int i;
+
+    dev =3D qdev_new(TYPE_GPEX_HOST);
+    sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
+
+    /* Map ECAM space */
+    ecam_alias =3D g_new0(MemoryRegion, 1);
+    ecam_reg =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0);
+    memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam",
+                             ecam_reg, 0, xam->pcie_ecam.size);
+    memory_region_add_subregion(get_system_memory(), xam->pcie_ecam.base,
+                                ecam_alias);
+
+    /* Map the MMIO space */
+    mmio_alias =3D g_new0(MemoryRegion, 1);
+    mmio_reg =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1);
+    memory_region_init_alias(mmio_alias, OBJECT(dev), "pcie-mmio",
+                             mmio_reg,
+                             xam->pcie_mmio.base,
+                             xam->pcie_mmio.size);
+    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio.base,
+                                mmio_alias);
+
+    /* Map the MMIO_HIGH space */
+    mmio_alias_high =3D g_new0(MemoryRegion, 1);
+    memory_region_init_alias(mmio_alias_high, OBJECT(dev), "pcie-mmio-high=
",
+                             mmio_reg,
+                             xam->pcie_mmio_high.base,
+                             xam->pcie_mmio_high.size);
+    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio_high.b=
ase,
+                                mmio_alias_high);
+
+    /* Legacy PCI interrupts (#INTA - #INTD) */
+    for (i =3D 0; i < GPEX_NUM_IRQS; i++) {
+        qemu_irq irq =3D qemu_allocate_irq(xen_set_irq, NULL,
+                                         xam->pcie_irq + i);
+
+        sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, irq);
+        gpex_set_irq_num(GPEX_HOST(dev), i, xam->pcie_irq + i);
+    }
+
+    DPRINTF("Created PCIe host bridge\n");
+}
+
+static bool xen_read_pcie_prop(XenArmState *xam, unsigned int xen_domid,
+                               const char *prop_name, unsigned long *data)
+{
+    char path[128], *value =3D NULL;
+    unsigned int len;
+    bool ret =3D true;
+
+    snprintf(path, sizeof(path), "device-model/%d/virtio_pci_host/%s",
+             xen_domid, prop_name);
+    value =3D xs_read(xam->state->xenstore, XBT_NULL, path, &len);
+
+    if (qemu_strtou64(value, NULL, 16, data)) {
+        error_report("xenpv: Failed to get 'virtio_pci_host/%s' prop",
+                     prop_name);
+        ret =3D false;
+    }
+
+    free(value);
+
+    return ret;
+}
+
+static int xen_get_pcie_params(XenArmState *xam)
+{
+    char path[128], *value =3D NULL, **entries =3D NULL;
+    unsigned int len, tmp;
+    int rc =3D -1;
+
+    snprintf(path, sizeof(path), "device-model/%d/virtio_pci_host",
+             xen_domid);
+    entries =3D xs_directory(xam->state->xenstore, XBT_NULL, path, &len);
+    if (entries =3D=3D NULL) {
+        error_report("xenpv: 'virtio_pci_host' dir is not present");
+        return -1;
+    }
+    free(entries);
+    if (len !=3D 9) {
+        error_report("xenpv: Unexpected number of entries in 'virtio_pci_h=
ost' dir");
+        goto out;
+    }
+
+    snprintf(path, sizeof(path), "device-model/%d/virtio_pci_host/id",
+             xen_domid);
+    value =3D xs_read(xam->state->xenstore, XBT_NULL, path, &len);
+    if (qemu_strtoui(value, NULL, 10, &tmp)) {
+        error_report("xenpv: Failed to get 'virtio_pci_host/id' prop");
+        goto out;
+    }
+    free(value);
+    value =3D NULL;
+    if (tmp > 0xffff) {
+        error_report("xenpv: Wrong 'virtio_pci_host/id' value %u", tmp);
+        goto out;
+    }
+    xen_pci_segment =3D tmp;
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_base",
+                            &xam->pcie_ecam.base)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_size",
+                            &xam->pcie_ecam.size)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "mem_base",
+                            &xam->pcie_mmio.base)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "mem_size",
+                            &xam->pcie_mmio.base)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_base",
+                            &xam->pcie_mmio_high.base)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_size",
+                            &xam->pcie_mmio_high.size)) {
+        goto out;
+    }
+
+    snprintf(path, sizeof(path), "device-model/%d/virtio_pci_host/irq_firs=
t",
+             xen_domid);
+    value =3D xs_read(xam->state->xenstore, XBT_NULL, path, &len);
+    if (qemu_strtoi(value, NULL, 10, &xam->pcie_irq)) {
+        error_report("xenpv: Failed to get 'virtio_pci_host/irq_first' pro=
p");
+        goto out;
+    }
+    free(value);
+    value =3D NULL;
+    DPRINTF("PCIe host bridge: irq_first %u\n", xam->pcie_irq);
+
+    snprintf(path, sizeof(path), "device-model/%d/virtio_pci_host/num_irqs=
",
+             xen_domid);
+    value =3D xs_read(xam->state->xenstore, XBT_NULL, path, &len);
+    if (qemu_strtoui(value, NULL, 10, &tmp)) {
+        error_report("xenpv: Failed to get 'virtio_pci_host/num_irqs' prop=
");
+        goto out;
+    }
+    free(value);
+    value =3D NULL;
+    if (tmp !=3D GPEX_NUM_IRQS) {
+        error_report("xenpv: Wrong 'virtio_pci_host/num_irqs' value %u", t=
mp);
+        goto out;
+    }
+    DPRINTF("PCIe host bridge: num_irqs %u\n", tmp);
+
+    rc =3D 0;
+out:
+    if (value) {
+        free(value);
+    }
+
+    return rc;
+}
+
 void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     hw_error("Invalid ioreq type 0x%x\n", req->type);
@@ -187,6 +367,12 @@ static void xen_arm_init(MachineState *machine)
     xen_register_ioreq(xam->state, machine->smp.cpus, &xen_memory_listener=
);
=20
     xen_create_virtio_mmio_devices(xam);
+    if (!xen_get_pcie_params(xam)) {
+        xen_create_pcie(xam);
+    } else {
+        DPRINTF("PCIe host bridge is not available,"
+                "only virtio-mmio can be used\n");
+    }
=20
 #ifdef CONFIG_TPM
     if (xam->cfg.tpm_base_addr) {
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index b7255977a5..b1eb2972d5 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -47,6 +47,8 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, =
MemoryRegion *mr,
     g_free(pfn_list);
 }
=20
+uint16_t xen_pci_segment;
+
 static void xen_set_memory(struct MemoryListener *listener,
                            MemoryRegionSection *section,
                            bool add)
@@ -382,7 +384,12 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_=
t *req)
     }
=20
     QLIST_FOREACH(xendev, &state->dev_list, entry) {
-        if (xendev->sbdf !=3D sbdf) {
+        /*
+         * As we append xen_pci_segment just before forming dm_op in
+         * xen_map_pcidev() we need to check with appended xen_pci_segment
+         * here as well.
+         */
+        if ((xendev->sbdf | (xen_pci_segment << 16)) !=3D sbdf) {
             continue;
         }
=20
diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
index 5d2718261f..a8fac902f1 100644
--- a/include/hw/xen/xen_native.h
+++ b/include/hw/xen/xen_native.h
@@ -431,6 +431,8 @@ static inline void xen_unmap_io_section(domid_t dom,
                                                     0, start_addr, end_add=
r);
 }
=20
+extern uint16_t xen_pci_segment;
+
 static inline void xen_map_pcidev(domid_t dom,
                                   ioservid_t ioservid,
                                   PCIDevice *pci_dev)
@@ -441,7 +443,8 @@ static inline void xen_map_pcidev(domid_t dom,
=20
     trace_xen_map_pcidev(ioservid, pci_dev_bus_num(pci_dev),
                          PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->devfn=
));
-    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid, 0,
+    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid,
+                                              xen_pci_segment,
                                               pci_dev_bus_num(pci_dev),
                                               PCI_SLOT(pci_dev->devfn),
                                               PCI_FUNC(pci_dev->devfn));
@@ -457,7 +460,8 @@ static inline void xen_unmap_pcidev(domid_t dom,
=20
     trace_xen_unmap_pcidev(ioservid, pci_dev_bus_num(pci_dev),
                            PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->dev=
fn));
-    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid,=
 0,
+    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid,
+                                                  xen_pci_segment,
                                                   pci_dev_bus_num(pci_dev)=
,
                                                   PCI_SLOT(pci_dev->devfn)=
,
                                                   PCI_FUNC(pci_dev->devfn)=
);
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 20:42:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 20:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630796.983909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1YKs-0005O9-JK; Fri, 10 Nov 2023 20:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630796.983909; Fri, 10 Nov 2023 20:42: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 1r1YKs-0005Mt-E6; Fri, 10 Nov 2023 20:42:38 +0000
Received: by outflank-mailman (input) for mailman id 630796;
 Fri, 10 Nov 2023 20:42: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=vE0U=GX=epam.com=prvs=56783987ff=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r1YKq-0004yp-V4
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 20:42:36 +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 ac2cad76-8009-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 21:42:33 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AAKIjQw010025; Fri, 10 Nov 2023 20:42:29 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkysufj-6
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 20:42:29 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DB3PR0302MB8991.eurprd03.prod.outlook.com (2603:10a6:10:437::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 20:42:24 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.019; Fri, 10 Nov 2023
 20: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>
X-Inumbo-ID: ac2cad76-8009-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l7P7vS5qGnKmGuBUQrXZQz8y8GUn3VwSxrXtQW6EIfrO1OYgVCG3NI8LKeAU9n914lSb3/7RudL2L1zFPqgMsqKbf8lp3BAc1ur7NEyTMQLpbSzOqxgqPr0AyLVx1hHZwonqxLwdacXs/F/MIG0sNG+X0rtgtUKCs01g/JjWRnNsr0d4U1S3TMyL0x+ie5PoOjiwVTLv3NFgKGxstuy+HR9HSSv2NCrQiAtPLOmGSBXle5CHKgBYDtR/sy+vBTpgs8GNIucb5qGnoQVGF9+e+0vrQu/EBaLNDAO9ceHy4lt8NkNv5yys6gAUerrS7WVUzmBgUMu6bYh+3zOOjzdUIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MrOm9LNsn91tP/CeZzcWh0KSoCIqcM3e2ReDFqdpkMs=;
 b=MWJuumrsANCXTTfhbrqqArsfoSGQwtAwmOkSD/68Vu/CQrn32XKYlzt46IehEyGs76XNFOn8u0wRJgv0qEsp8JNas2oCSpOJHKeHEIo+UL77ONGpELLH96N41XB6vySXFVTreMTg/suptPTgpWyKt2HiUoYFp1BEcUKCWwlygfzTkWXpCuXXqxn7J2QuXaIyJeF5F9CUfUSGfY4o39mDtH841Z+drLBLblBQKgrIt1OJHahP6wMDL2HepsY132iMlyxHcOftAhwUSwma0rYiskBJJRxuAOGgt3iHUZXOaO6eg+/WRn4RYAnrbePEFgWGDPVuRjTn7VGErVHEE5rpOw==
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=MrOm9LNsn91tP/CeZzcWh0KSoCIqcM3e2ReDFqdpkMs=;
 b=Z7wiTcmSJVEYD+hzPUh9SND3rduTyjqI49Pzvlv3ttOvIbFD0ahOjQyJDKF1vNiBblW6tx9NnUfBTsEtWoinQ6jVCNnTWXseLDmoLPI00G+Z+in4UHSNLpZJwV/NXAPAadccu91FKjq01BD2rtLetUGYlxzqPm78OHH8ZRac+AJ46LDF4f75FT0KuZGOPOmNCiW2c8Qq/Pp90skmxd0kbJVfjZGkoMGrbYnHSJh1Tf4+tQxUWfh8psQdXYCeAfYXWxWHijhJvGPP2MAKhmk5/RmtLZmv/s3nw9LuE8l70Yjrr183wwxe39AKieiCcOhDA8H+c9xR6YX2GDElTWVvCA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: [PATCH v1 5/7] xen-bus: Set offline if backend's state is
 XenbusStateClosed
Thread-Topic: [PATCH v1 5/7] xen-bus: Set offline if backend's state is
 XenbusStateClosed
Thread-Index: AQHaFBZoiczA8QKKJkeUUC5gOc8rQg==
Date: Fri, 10 Nov 2023 20:42:23 +0000
Message-ID: <20231110204207.2927514-6-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231110204207.2927514-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DB3PR0302MB8991:EE_
x-ms-office365-filtering-correlation-id: 5703c808-08b1-42e3-7423-08dbe22d8b58
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 sOWUR49bPCHq2MDz4OKjUebc6vL1/adN+YxOBCawkCdh289XyABMU17ZIHdt3zae6BUL+oTOpbcJXoTxvHuFAlMMBdU4OpWAizWs9lMQK//lueKKf6qyLFESjY2jB3oeokSVEjy9RVENSfxXQxjE4gNQFUY2dWbXxGvEKzHLXTnTYLj7tZjkYO7Nyj8dPGDdjf8tt7Zs2DDwce5uwZhfo921VZgNjvITHh2ujworYJbsDOHgVtRVpeO7Z4LbZm/G0kUC/77WNeHe8mDV1I5Nc6Inb2RcglR/fWAByZaorDGtN+nv0ZD/lr96uHRwpeOux5bnQRu0YB2tvytlLCcTQ4STX5FUTsWcUL+cPlH+oT9dBgwa0cIF5hsWSRrakdZdq48q1zE7YPcMVAvqHZjOa9Cx7R30Xy1Ml2CFFN6ImtuWYeHvmm20BmBDCvOFZl83fnl9w/K0NzSV2C0+U9D9yVbo8GwIL0BmJaBDLSmrGnYmNePe0LEeGawADZG4zL3EHFBeMlU7qzPANauGyOtgGiL4l8566K1a6gAsi+EoMJRNu/DiDAUdjmvgpjPTTMADKfsW9jQyS6jd5e3DSegNUEFEz5xcXoWiw8AB9UlTONY+TWChdATiKpD5IE81hVov
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:(13230031)(136003)(376002)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(41300700001)(2906002)(8936002)(4326008)(4744005)(86362001)(5660300002)(38070700009)(8676002)(316002)(36756003)(83380400001)(38100700002)(478600001)(2616005)(1076003)(6512007)(6486002)(71200400001)(122000001)(6506007)(55236004)(91956017)(76116006)(66556008)(66446008)(26005)(6916009)(64756008)(66476007)(66946007)(54906003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?/FSoOQPzYuRmlIFZl0HXXBfrupib9qLujN5V2UPKaGu12YeZkQV23hCfFk?=
 =?iso-8859-1?Q?IqFiACkHR/djiff0fcA4ZNhYaMK9IxiFtlSRDRsijprxBJBuQuuqSXDnqC?=
 =?iso-8859-1?Q?K+DyaoeqL2HYkiOeQ0+AUt7h9p4BT/gOzz07KEGNuHXeT5I2Fd0RcN15o3?=
 =?iso-8859-1?Q?yFJ2tJ0yjgkY3qIu06ctw7CTPejOjaV1smIyET0rJdS5oCA1UlyxOrWWqj?=
 =?iso-8859-1?Q?ZjJ4XaV7BJxfKthmVkR5OlQQk5+4v3fnm85NT/tC7hkoLyBDXbQfG+UuUF?=
 =?iso-8859-1?Q?CgsMGm+z+7I4IIu9w0rbH2NVKmrWIBaqy1QvHD++HmD0t6LYptgfOBVI3a?=
 =?iso-8859-1?Q?KAoHouX2F63KQ9uRBVpD4TEqWZudwcSpapvASL7Rw8vI9DIg3o0Glcg1a3?=
 =?iso-8859-1?Q?r5xdA1HLRzHZth3LrdlA0qxeAK7z9a66lAdtfFJNaicvUOvR/GFB8pCxx8?=
 =?iso-8859-1?Q?yz58LLUJooh/y65oIne7sUGBKwnWGSk2MEj5zse9xoab65QhVvlgSPDeEh?=
 =?iso-8859-1?Q?STW0+u+TxYhUvcAs4bqohYXZe40m4AtIy52afhka3e1L3jDhTGFSy/XAsh?=
 =?iso-8859-1?Q?d2zfT4yVFS9sygxLdztItiUfn6svZKNSC0s8mh7H0/pryfS8CK0ZrvWft/?=
 =?iso-8859-1?Q?Q7W3pEpUymKULw0A0IFLZ5pzXbrRryXUBSJdxZFzgNihg2yNH+cwLS1oc2?=
 =?iso-8859-1?Q?ClujJ8fspHqotmPzWqxe9jAMNJqXU5p9LPzYovKsjE2C1DZQXO6vdvXAFB?=
 =?iso-8859-1?Q?4yLSBdSBZTSFBna/JoGW8Nbic5Y0fLXC/6ZKBaSSsieBon96zcub2lpj7F?=
 =?iso-8859-1?Q?/7y5hMNKI3jIRC+HoXyBgdkPAgfIABBIO+Lgj55zzNWt1sduw24RTunpHh?=
 =?iso-8859-1?Q?u5PXc4mX9yAoglRNpxmfH/pKJq4xnjwShiV6bLT3zVnoSftaCRdeUJKTcu?=
 =?iso-8859-1?Q?V0iPwYE4pYwELXhcTTTkUaKXMXO7n7UXIh29ztnqT+3COt9vlYVbVQ7xNH?=
 =?iso-8859-1?Q?KTQRsr+kK71Cqv71NUAnipe6qUM+fHKlZPzhUk3tv+0tw66LPEm/YBW73+?=
 =?iso-8859-1?Q?rhCmo/EM/hQfpoc3e1QN3pwbalqIbugHmIK3Kya5+NslVuKAFqKxg0Kwhy?=
 =?iso-8859-1?Q?vj8eE3RwuZ57zC3CGe9LqgMe8MyZgtHaFn7DNRyjRY7yHxYnXGh1Y90Ohm?=
 =?iso-8859-1?Q?PqXX5k5BWTjOC9aDZK4kEsGBgORGgRQqUV59/KaAZ/lwMBiym4d3A8A/Ab?=
 =?iso-8859-1?Q?UWX6xHEmZZ/s7egmwdYJ/YBSxWLapFLDCb/Fn1cyhVJaKuu0Bkcvt+YAI4?=
 =?iso-8859-1?Q?eXgKTkQNQTa3VwlaxCYajiGtKcBl1wLqRRk79rgE+3PLlbsEZTPKJHNO93?=
 =?iso-8859-1?Q?3G4DV0i76V9iGXEOQKmb8Qu2iW5ZNsc2bas/w598Pbbe5YvfHw1G6gCtM/?=
 =?iso-8859-1?Q?Tfn3Eky3LvG8FOkLLRDYgDrEh4/vSeLKH//+1MsW+gT/ZMbj02oAASgtlW?=
 =?iso-8859-1?Q?4wzrinkl2g1/hNGbIaAj65ve4K/ilPvuL6hXVMs4m9X1GE5XtPNMSz3blA?=
 =?iso-8859-1?Q?Au4LA0VVtGD/GsorcoRHHpMEKuOrOZ1bAOzHipr2caAfcaAPmxWN6lAmfU?=
 =?iso-8859-1?Q?7Q1CN9s1v9NSJYOaU+B/wptAQpBLo5G+cNgFpG5rKnjIWD7K+T7FFSZA?=
 =?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: 5703c808-08b1-42e3-7423-08dbe22d8b58
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 20:42:23.5860
 (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: h4tOOluxqO/4qLsSZ71s/8uGodtx/tTK1A/oB/q+pw/PxM7PTNVc6xuXjWs7VmAOigTjSZvqrWFoM+hJ+tEiGM8NqVj0JTH0+SPYRQUxg3Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB8991
X-Proofpoint-GUID: CO5DezGelvZJUtJQjvaAJuNKkslVZEkG
X-Proofpoint-ORIG-GUID: CO5DezGelvZJUtJQjvaAJuNKkslVZEkG
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_18,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=999 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100172

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Both state (XenbusStateClosed) and online (0) are expected by
toolstack/xl devd to completely destroy the device. But "offline"
is never being set by the backend resulting in timeout during
domain destruction, garbage in Xestore and still running Qemu
instance.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 hw/xen/xen-bus.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 75474d4b43..6e7ec3af64 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -519,6 +519,10 @@ static void xen_device_backend_changed(void *opaque, c=
onst char *path)
         xen_device_backend_set_state(xendev, XenbusStateClosed);
     }
=20
+    if (xen_device_backend_get_state(xendev) =3D=3D XenbusStateClosed) {
+        xen_device_backend_set_online(xendev, false);
+    }
+
     /*
      * If a backend is still 'online' then we should leave it alone but,
      * if a backend is not 'online', then the device is a candidate
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 20:42:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 20:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630794.983897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1YKs-0005Ds-04; Fri, 10 Nov 2023 20:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630794.983897; Fri, 10 Nov 2023 20: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 1r1YKr-0005Dl-Tm; Fri, 10 Nov 2023 20:42:37 +0000
Received: by outflank-mailman (input) for mailman id 630794;
 Fri, 10 Nov 2023 20:42: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=vE0U=GX=epam.com=prvs=56783987ff=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r1YKq-0004yp-H5
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 20:42:36 +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 aadc3ae5-8009-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 21:42:32 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AAKIjQt010025; Fri, 10 Nov 2023 20:42:27 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkysufj-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 20:42:27 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DB3PR0302MB8991.eurprd03.prod.outlook.com (2603:10a6:10:437::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 20:42:23 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.019; Fri, 10 Nov 2023
 20:42: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: aadc3ae5-8009-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C7dj0MfiNhBcQRxOXWlLu+E8hDVjZ4M/bAd97c+F09PNhDkq6PB+58Oi811KA+U5QsX5i6jHY4e4Wt4304XprWFNR+t9Y1qankKjmD2epfw3E0+T3I03rBmXx+NetH7LdEmJiposO5pEv9bvgYxaXpcxjEeAmEcQhS0I/Hc70HsC9gyYkKKtfnbgVfAYQuBB9Ri4B/IiUmb1C6wBt99wQwM2E901Fvxbm98VwtGuGbd3bgD6on+6gRW/ooMP5fDZzdBVJOZ+4pPJ38qj4NF3b7Vi9P/jhzRNv5vANNXd3LCoV9W7jeLSBRXeCCpysC2Nvu92PqBlcLZI8M1/TK4L8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OKWARBfkUGbfwrphZNisw+1lvrxJ4IcHq6RYQnSJRuE=;
 b=E26+7tTYs5Vb45W2X5Nga72XsY/IoP4LX8fHXDkAKXZ3PlYsLbh18raJ81iZQQZQaG/38GWH2SXgy2gBvEeLdnZqdHnuRsMrF9Syp6sUTtXkFnx6JHw56Qx26e6vqlouKJmhJrZ2oPAc7YpOr45xmPX4EJsuvW6HLTMltwc6OnCccYKWckVf/AacYqMaMEvVwCHHO6QxqH51Rz8C8qx4VZ+mB/M6aSTQIBFuOQ0SxT7uF34qklJf+YjON8lbkVjz3i2JLNmwaoJEwt5Wods5c9nn9wpyI85lO3qkXITNoBsYlsYXhlxsBvlFiyRjrJeVnRvlISWt5V1ohCRtTDQH0Q==
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=OKWARBfkUGbfwrphZNisw+1lvrxJ4IcHq6RYQnSJRuE=;
 b=BNIe2UUcVtrvYCL9/nRZ8oH+N9+9MFwo/bxvlJYU2vxi9rwIjIG4xzlfR6qCon+lH0nZukftKOSbzv9+QhFxqPaer3/YbFsVYJgh9sEvZUBTrClVJNqeCwwn15h8fE5/XYEv570YZQondgAKe/DiAY7fw5EPdwJ8Eua/iBVIYeKmheCl7ZHRJOWS39KaawYKdE+2nL1vDqojC9LSUul/lIcDMA/S9vCXqhTW26nYOaer9MtkzMifC7lAU1YiOuUq4h6pFMpUrMovytMg3IdavnLWNzZ8lQICWvk7aKYxd/x/xlYya7E1fHHRqv65rv3x4iZupqr0YTRyny0jewleqg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: [PATCH v1 2/7] xen-bus: Do not destroy frontend/backend directories
Thread-Topic: [PATCH v1 2/7] xen-bus: Do not destroy frontend/backend
 directories
Thread-Index: AQHaFBZnKqlUX8wCr0GIKTREthBW5Q==
Date: Fri, 10 Nov 2023 20:42:22 +0000
Message-ID: <20231110204207.2927514-3-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231110204207.2927514-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DB3PR0302MB8991:EE_
x-ms-office365-filtering-correlation-id: 5bc8600f-bd49-4902-caac-08dbe22d8aac
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 eMdTJYD8hdUfjYRSfS49W/otw7oU2rlT7EZkqGf1DooukUiBpoK9jUnSvMo2/4ejhwEJ1TSlJM5alts0x+Q479PTwHvu/NmPcKGtNDr8igBN8spOOATeULQnekd/nSG0cBsaLpkYBK4EUYoxNCb3Q2I9ihpv16U8AJXZzJd5s6DXEJPy8FfmB89UQzL2aL8SR26X5D01s9hhOQz17EZwAez1TlmGPRyZSYhJpsQ/mSuXx6x6bWP8e357/R6lQLBEPgnSLvr9+9AtMnYpFUr1bm373HTNNxO3xRPbXCViW4PZ3zh7opC8t2DMKjryPRiGBzPoDLxkmzJnMCKRxGv8inoZmYazCg58+FR2hId6cZKyJ6IzeqQSLTK+ZSl6VFW+bchrs56QIpf9ZM+wIJyRYmA508cS/a05szLh/0bF0VxCbNuZU8vP6oJPhWF3lsNUP5Tb5RIVjYW0IFDPN2OpOFySCmtbfp1hLEbnIKyu/3R/y1MM8cfQiag8G/oRr6xxJjO3KSO7iblvseXtNjhm01fyIrSOd4Cwrb/L1i94Yel/yY9QjIGBiqLbZRRJSMFgwi1A0Bb3+7teaNnY872SsVvnq8sNd293Ya/wEOnBkRCzXXgpeaBXd10kh+VdzUfB
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:(13230031)(136003)(376002)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(41300700001)(2906002)(8936002)(4326008)(86362001)(5660300002)(38070700009)(8676002)(316002)(36756003)(83380400001)(38100700002)(478600001)(2616005)(1076003)(6512007)(6486002)(71200400001)(122000001)(6506007)(55236004)(91956017)(76116006)(66556008)(66446008)(26005)(6916009)(64756008)(66476007)(66946007)(54906003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?232sTjS/Gy/kngS8P2pcprtA+UZK7UcGFy+3w4XwY9/Z2d5IMTkpNJsuPi?=
 =?iso-8859-1?Q?H549jXIFHIriUBo49FPcfrWlBcMuAJZ5+rW5QAbLuIyPsOORTiGH9uY8Fm?=
 =?iso-8859-1?Q?4wDLlVJ3ZtyN3ka2wNCBxA81WFBu7DpU3AwsW+qi2+BBxv9zkEulL54vDt?=
 =?iso-8859-1?Q?cQJaSp8tXCTRid606zo8o4BucM4j/FBjMxCM0SOREZaHg1oDirJGuJ+GHQ?=
 =?iso-8859-1?Q?JnB5HkpvkRyJxTyERs3+vUfSQHmqVx2x9CwBGptfZQoZ3+n+ey9FYgyPDF?=
 =?iso-8859-1?Q?O28t1Dk+ctp4lJsPL1fUYgJMb+xpTukdOJwYrle8YPsL6EKahj4Dg1ppSr?=
 =?iso-8859-1?Q?/qWkbS8fWu/TEYJJOYBqSdFtLG01lv7cmmlMx3d6YFE/PSgXYNhVuE9hfk?=
 =?iso-8859-1?Q?V4xetBTx4fMNtWiMYVb9EFdesbKJ3DBfB04273IneXS57if8aTVn67FoUA?=
 =?iso-8859-1?Q?bX9BRYvEzFe4AlPSBVawky4teYMX1k4cWOd3iN1Sh4foN9qbgW+LSfcpq8?=
 =?iso-8859-1?Q?yDOK6Z48YRuLJuA4y9KTPfZMB9kVfwzCElNPJMP58rpHRmy5C8uhzy/EnR?=
 =?iso-8859-1?Q?vt1PftvSGswT32dfNZz8vydAILzn7gKLzUUPrGX1ZmWN9dxJSXy036tv4+?=
 =?iso-8859-1?Q?s/YKVH0z0G4GJTcb1Qr60PrjsxFp9gZf6ouBh1LbK+QgJ5hg/Y+A2IgH/n?=
 =?iso-8859-1?Q?HrH8EQD28km+E4tIBI/H+Jizgq5sHkm43C7m2DMdhYVaj734bDr1fdNBoM?=
 =?iso-8859-1?Q?xuqtU9INEGIQntP9OYKDm5tYqIZGZBrFfP5WPwe5xRnwhLbTscYSgc77S5?=
 =?iso-8859-1?Q?lFTYiwV/Ha3u3AMLqcwR0TETi36L0JPj2qdX3iJWrinfl/xJXaqHQjBmwq?=
 =?iso-8859-1?Q?B/RjqymTub57MuhexCXMrmiVCtwGqFKmaEyL6YCzkfeAnDI6NXOiRbvN82?=
 =?iso-8859-1?Q?Asb1aK5hjXS5dn8KVDO6mlYXmRpfrwKjLwTWprZm1Jy08KCHxFV5jXW3iI?=
 =?iso-8859-1?Q?PU5iiuEYj3GPZTOzIQLnzDFkqx2I7218Qxj5YlTxfLrtssX2iHD5csMi2n?=
 =?iso-8859-1?Q?0I16UhrLwyVlhMF61RlyPU3/EF9KwTO/MoRApQVaEngj7LDR+KGG7iFIv2?=
 =?iso-8859-1?Q?y1pkn+9Q2hHyK/Zd/8qdNKDA18CINMF0p9So5kNg+IClF4b+8m4NedWGac?=
 =?iso-8859-1?Q?edpddUbJwiC/NORVfnAeQEMwF3GHQAzpCXXHdMox5VX8dLqm+0UWKyy4+Y?=
 =?iso-8859-1?Q?EsuiJaqqzkba6jBxtvz0Iifx5F25jz2lo4K9NFta5v2svK1kp5TBks4FQQ?=
 =?iso-8859-1?Q?WaUL+QiRuvX41J6Oh6dUx5O0aPMur8ALdlrHp10C5beUmEONP/RhbpNUZt?=
 =?iso-8859-1?Q?vwzWDqeGejx81dmuADqLTlqJAK9ut7mv2xDAalRLg2jCHx/qU0k7q7/BEr?=
 =?iso-8859-1?Q?OUbIkriBBTuj62DiBXncLtTJMZWPN4+8lGVuw3/m935n2WaiX45DAiVR5U?=
 =?iso-8859-1?Q?AU/J3JdqIyQJ2YPimJB3zTo2lQGOLlTxdFsK5ZQ9QXtFjFMqpdIovfSKyK?=
 =?iso-8859-1?Q?rAJIQMtX3IpVI0tmOz4AcBeeBOMXugQ90976pNXmTDEG8RjCy1czQzLSbR?=
 =?iso-8859-1?Q?NY9XSnuXXMFPW9Q5xgRR/O/j4mo9kEdBmTNiG+vEDV6d5dFu6q56qczQ?=
 =?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: 5bc8600f-bd49-4902-caac-08dbe22d8aac
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 20:42:22.3490
 (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: 9kgIgaLSbA0ltG1jaSIk80Pe31b2A3q3L0zvgGTgvkIsDcF81mLGR1gaUpfjxsniawGKFWNA7zylwSu+UkBu6qEdmht3+/gYttvKHfuWA4s=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB8991
X-Proofpoint-GUID: kKNgRHbizpDH08hwtsCO87z5qaDmoW4x
X-Proofpoint-ORIG-GUID: kKNgRHbizpDH08hwtsCO87z5qaDmoW4x
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_18,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=631 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100172

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

The PV backend running in other than Dom0 domain (non toolstack domain)
is not allowed to destroy frontend/backend directories. The more,
it does not need to do that at all, this is purely toolstack/xl devd
business.

I do not know for what reason the backend does that here, this is not reall=
y
needed, probably it is just a leftover and all xs_node_destroy()
instances should go away completely.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 hw/xen/xen-bus.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 06d5192aca..75474d4b43 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -598,8 +598,9 @@ static void xen_device_backend_destroy(XenDevice *xende=
v)
=20
     g_assert(xenbus->xsh);
=20
-    xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->backend_path,
-                    &local_err);
+    if (xenbus->backend_id =3D=3D 0)
+        xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->backend_path,
+                        &local_err);
     g_free(xendev->backend_path);
     xendev->backend_path =3D NULL;
=20
@@ -754,8 +755,9 @@ static void xen_device_frontend_destroy(XenDevice *xend=
ev)
=20
     g_assert(xenbus->xsh);
=20
-    xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->frontend_path,
-                    &local_err);
+    if (xenbus->backend_id =3D=3D 0)
+        xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->frontend_path,
+                        &local_err);
     g_free(xendev->frontend_path);
     xendev->frontend_path =3D NULL;
=20
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 20:42:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 20:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630793.983888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1YKp-0004yx-P7; Fri, 10 Nov 2023 20:42:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630793.983888; Fri, 10 Nov 2023 20:42: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 1r1YKp-0004yq-MA; Fri, 10 Nov 2023 20:42:35 +0000
Received: by outflank-mailman (input) for mailman id 630793;
 Fri, 10 Nov 2023 20:42: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=vE0U=GX=epam.com=prvs=56783987ff=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r1YKo-0004yj-0X
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 20:42:34 +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 aac58679-8009-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 21:42:31 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AAKIjQs010025; Fri, 10 Nov 2023 20:42:26 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkysufj-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 20:42:26 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DB3PR0302MB8991.eurprd03.prod.outlook.com (2603:10a6:10:437::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 20:42:22 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.019; Fri, 10 Nov 2023
 20:42: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: aac58679-8009-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AFlv+cRUfIHOzTpuKPONH2keS/ngQwhpsNVDHbQKm7s6VSU3RbMGtweQs4XUVtS+C9skJ+dLnQN57wvl86H0tYteb+blj4AFQZLE0hcsfi7Fxfpx8COMBF4w83UIrDwreI28/Nimn91VGqXY+srZ9oYyWa2/oU/WhdeCkkwUuL7BNtqQCm7NXHfonEovFn6yL6H/CwOMh01IvGBMlL/IUFpswTx6W7UUEGCYYWlr0xi8TfNneZphar3VEAIlwOLD1rbYsYNFyM6pNPReGuQilA4vkeRsW/PVCpIkbcVdg/ZSL94r7O09zgOaafEPq0v52mrpMTUXeTH0qh6tNKY4DQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UnRtHURNzIPLY0JeVnzQOo2dxqvod8upLt3UTqjtXyc=;
 b=mjJR8ebmXmodBIyS8X0qHXslXnTMoAiIuwmYjGWd34FJzp7k7RMPezZktIEW64tBSWgdMPdjRQ1krwbkulaBMnMdXXfExFsC5CZ3InxA6cRdZF3yIgxOksa1w/intCg5RarVChex26QbuIlVw4LJOyiDWNOwF5smvWB8q6YHjhUqzJIMVl/14UyMvNsTW5HeDvWTmcSCSuOHKz8ERX6osqlRU01hgfMqOiEPS3pwSIfWEdgrIc8h/mbbAIvSMHERn0JDCbeMuefER7VDtSJ+FBY+zvNLtTQ6htx+F/Oy9dnvbMdfN7wfRzKZgtEBOo81uCKZOiu0MIdgL/ZYA9rysQ==
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=UnRtHURNzIPLY0JeVnzQOo2dxqvod8upLt3UTqjtXyc=;
 b=jnOZv8V5g+HU5vED9+PeS0uHs1PXt+mkG/5kGwVmvONgXmh8mSGyPz7JKtPvz0wVVCzp7PkAvQMmcaBkArKD+EsbkPnMl6Iy7cffwix3csNGHKKnQdkq6OZQ18xMqJOl1YDPvtf7z9ZrWpg9+nyidCthrkm0Hd5wXzerxcV8sfB09t45iig8oFDMjK4h2N7hHMsx0IJ7tgbxi9NTblQOe7RQET9mCm6J7uk2vCur3jVBxK+80yjsxMWBA+VzkcO7ag+rjx8SvVWzRvq7Gshbdj0NlA8o+FKp+sBrY0UxOt+b8OcbsXBkasozyg9Tpy8AApeGFBrhyegEvwHhIJncoA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>, Kevin Wolf <kwolf@redhat.com>,
        Hanna Reitz <hreitz@redhat.com>,
        "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
        "open list:Block layer
 core" <qemu-block@nongnu.org>
Subject: [PATCH v1 1/7] xen-block: Do not write frontend nodes
Thread-Topic: [PATCH v1 1/7] xen-block: Do not write frontend nodes
Thread-Index: AQHaFBZngjGHt2Wnc0CJ36bDt34c6A==
Date: Fri, 10 Nov 2023 20:42:21 +0000
Message-ID: <20231110204207.2927514-2-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231110204207.2927514-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DB3PR0302MB8991:EE_
x-ms-office365-filtering-correlation-id: 7e7ff430-02f3-4bbb-08d3-08dbe22d8a6a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 +t2p/y7ZRDtOXl8MyGRMsxJ1lL4x70IflYG65zjO2x4DwsKjW5PmLEcCZc+NfYLkWNvsZqzO3lbY3TQ+KU6gXpPeJBafAmt4r+FDGI6CA8/oaAsqVAIgylmWcnUQnuFmYJvlYXPOe890SrfvH7peKyqoWoiz68xpYZaDyGRZV7UvKjoT0HZW6rUgFE0/G3/chNUGhh4eo6O6P5dFOLdUcM88cCFhA4Afm0xC4xHi9OwWFkflYMr7AeBf02Y2C+Pb/BOurklrNBMWBAs+UOmrhWAy6MOT9IpF6M+Uyd/FA2C4DSzwNXykCq9cGeeFwYjAm/c/Cr2ushefM4DSt0Vvi+bJYc4jTiQH42qP/Bo5HVx6iEBCTX7EK190OyhrVA47IeCgUbRMMtysccl75D58qIJrqU5URirl6T13lRIRIYIuaQ6aqLpTc7UsVgb5SQz6Yenib6rhjVDT1qzwoVPF9PmZfXPX912O3L214YEvYimCn3FH1wmyzvyPNiZk0uA5LRDaR/FQMVV/RFsgPCOITHy3nhV2Xz4jd28cfQZVhia3oHCzfYL3RQtjufEYs1D95dmD6YmavaPmjDzUjnJniaX/fAtDecTLUjkbqYh+uXptzf3yLa9QUFg4r6fU+qFI
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:(13230031)(136003)(376002)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(41300700001)(2906002)(8936002)(4326008)(86362001)(5660300002)(38070700009)(8676002)(316002)(36756003)(83380400001)(38100700002)(478600001)(2616005)(1076003)(6512007)(6486002)(71200400001)(122000001)(6506007)(55236004)(91956017)(76116006)(66556008)(66446008)(26005)(6916009)(64756008)(66476007)(66946007)(54906003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?341y8SHaRk1EQ0QaPLM8F6h8YKA7bwcqC1Cb1MoLd0PR9LJDK3ktkrV/3l?=
 =?iso-8859-1?Q?81niSqoAyrtuG42GUe/4maa1jrq054Iv/SaQK2PnGEgTDpyYHxFOFUIF9R?=
 =?iso-8859-1?Q?IsGksnxofRFII/7zQ8v08d0XMSWLFJGslmnj/xqYcj3GW9LzOx9Kisw1kZ?=
 =?iso-8859-1?Q?dTETuwYPTrmr0CICo93TAhzHOQ352mBUFaNv770/3drh+NlokAt31+Fm7Z?=
 =?iso-8859-1?Q?c+jVIgKsvli/rVHB/mr4R+UhZ34XIV/7IPKdvLRh43ZxuE7DhTEh93rVYD?=
 =?iso-8859-1?Q?3IBNdf/kKT31b071snFOGNIsG0ZPMp3t+Yn9M9vHdisZfLLLiQJRV9wxUg?=
 =?iso-8859-1?Q?C3FWxdB8RcoDtjAysCguctFzI8Tlhqgn3CkNwjP0dml+i4NZdf9NhME9Qg?=
 =?iso-8859-1?Q?vCs0mZo9BFcOH88eb3PuWNLihFOY22vO/RBhJbFuW/tv9WL7mQObEJCNA2?=
 =?iso-8859-1?Q?tmaGwKbx+BW/CONPGIVjeHnSZRt11QKMyOKaswlEJwCAfCF4Cnv/FaYYoo?=
 =?iso-8859-1?Q?ghKRxP3UTYqmieGiplpMCEza3L34R9JI8I9SNiMub/Ly0Ga3T8DFzzTQOC?=
 =?iso-8859-1?Q?mEjWcp93PkicE7B/y1DKNFDZa1T1kTK31RwjHdUnZyQPl1nxOxcCPKr1Wx?=
 =?iso-8859-1?Q?0zQJOkSxUhOc7GK25aBbeltwguN/gbOzS0+UTfJQqQZ8qwXg1k90BTKVWh?=
 =?iso-8859-1?Q?N6SHWHmskolaKyozsCXclWaUzch1RVR+8acjZW0BY/Ar7KHx4lKfTidxWz?=
 =?iso-8859-1?Q?d6XSdu9MdIoSc6dFtnCHYTF7nLtOEmWDyRZHWMw+po9Th1yiJAKxHzKzkV?=
 =?iso-8859-1?Q?eGW30XO+apCYZi+CTCQDSR6g8pt631opoiJpT/iMdP1hNFcTtzHjWHMxAY?=
 =?iso-8859-1?Q?Kgn2rcChaaFXH1kkZj2RcTTCqxHLE+zzcg+G5Q5Bvjs928qBJ95CqgQ+iO?=
 =?iso-8859-1?Q?v6D1D9xpll4lNgCXbgzzrOFwcQd+oLy4OtFHo+4lR10A53RZv2ItoUASaz?=
 =?iso-8859-1?Q?XOXbvt1qtY1XZW9O1atqUrEPXdDNY1k3sMOH8Xtn9jesPNpRUO8wVyIg8W?=
 =?iso-8859-1?Q?URNEWn9B6kqZM355ALVO4vp8yLarQwE3uQ+RgaoFPSHJ6bLBN46r0Ts5To?=
 =?iso-8859-1?Q?x/YQ22U8/ImfNwSD/s27d7w++qEsMBGqIu5XHHyTJ1Cyt21j7qKM7hsUPr?=
 =?iso-8859-1?Q?2GjW5jHJRNjhWySpT87GAlU3NIfR15F3K1PuOcopdLLwMxcME5Mm2AqWh5?=
 =?iso-8859-1?Q?wiaGN9p86ZELI6/sH4qnCX03X5Sk68KwHCs2VQJzuQN4ATS0dA5w93moUO?=
 =?iso-8859-1?Q?jwSHKF+saZtzd0nxWkHxlb2nxGbnUrOgTAq92UG5Z/ZnxAdihzNuQEm7cm?=
 =?iso-8859-1?Q?3YiC+2p3c2d2s7AkLgpMTvjrMK1+8TK/129xGqf0ASlOruk907ZWgP2hRd?=
 =?iso-8859-1?Q?smftjNsQqJ5dAwpJ7+YkfzeRO4rX7RJrTxBvwEh78Gsyr1Oz55yMWAYPFl?=
 =?iso-8859-1?Q?vIhV0jpfItHMFw9cN5Lb3JjLfs/uRL9jTaoa9pLAnxwoKgJKyCENkEJewS?=
 =?iso-8859-1?Q?7H9toJx6ax62l578HZe293GNyP1Scz3LjkAI++Th1lulJ1/K4XCEeB3SSN?=
 =?iso-8859-1?Q?AjT1BDfbVs06gqY3A14UH8C23OOT57dHiAVP4CkWehiMg7uUf9NbHusw?=
 =?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: 7e7ff430-02f3-4bbb-08d3-08dbe22d8a6a
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 20:42:21.5521
 (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: +zFXmpaAZ3YQ9XZADoakCzmb4xIBYWzFCDwrR6dpMEUJ5PCMtm8OKNtjm6z39PMVQPmBWXLEQPstNyD6CcvCV4Dnp65tEutR2CLXBwg5ic0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB8991
X-Proofpoint-GUID: ZHeeUMuC7l0RDea5kDJ6Zrl-9h5z9xBi
X-Proofpoint-ORIG-GUID: ZHeeUMuC7l0RDea5kDJ6Zrl-9h5z9xBi
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_18,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1011 bulkscore=0
 priorityscore=1501 mlxlogscore=691 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100172

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

The PV backend running in other than Dom0 domain (non toolstack domain)
is not allowed to write frontend nodes. The more, the backend does not
need to do that at all, this is purely toolstack/xl devd business.

I do not know for what reason the backend does that here, this is not reall=
y
needed, probably it is just a leftover and all xen_device_frontend_printf()
instances should go away completely.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 hw/block/xen-block.c | 11 +++++++----
 hw/xen/xen-bus.c     |  2 +-
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index a07cd7eb5d..dc4d477c22 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -221,6 +221,7 @@ static void xen_block_realize(XenDevice *xendev, Error =
**errp)
     XenBlockVdev *vdev =3D &blockdev->props.vdev;
     BlockConf *conf =3D &blockdev->props.conf;
     BlockBackend *blk =3D conf->blk;
+    XenBus *xenbus =3D XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
=20
     if (vdev->type =3D=3D XEN_BLOCK_VDEV_TYPE_INVALID) {
         error_setg(errp, "vdev property not set");
@@ -280,10 +281,12 @@ static void xen_block_realize(XenDevice *xendev, Erro=
r **errp)
=20
     xen_device_backend_printf(xendev, "info", "%u", blockdev->info);
=20
-    xen_device_frontend_printf(xendev, "virtual-device", "%lu",
-                               vdev->number);
-    xen_device_frontend_printf(xendev, "device-type", "%s",
-                               blockdev->device_type);
+    if (xenbus->backend_id =3D=3D 0) {
+        xen_device_frontend_printf(xendev, "virtual-device", "%lu",
+                                   vdev->number);
+        xen_device_frontend_printf(xendev, "device-type", "%s",
+                                   blockdev->device_type);
+    }
=20
     xen_device_backend_printf(xendev, "sector-size", "%u",
                               conf->logical_block_size);
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index ece8ec40cd..06d5192aca 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1048,7 +1048,7 @@ static void xen_device_realize(DeviceState *dev, Erro=
r **errp)
     xen_device_backend_set_online(xendev, true);
     xen_device_backend_set_state(xendev, XenbusStateInitWait);
=20
-    if (!xen_device_frontend_exists(xendev)) {
+    if (!xen_device_frontend_exists(xendev) && xenbus->backend_id =3D=3D 0=
) {
         xen_device_frontend_printf(xendev, "backend", "%s",
                                    xendev->backend_path);
         xen_device_frontend_printf(xendev, "backend-id", "%u",
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 20:42:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 20:42:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630795.983904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1YKs-0005HF-BT; Fri, 10 Nov 2023 20:42:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630795.983904; Fri, 10 Nov 2023 20:42: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 1r1YKs-0005Gk-5J; Fri, 10 Nov 2023 20:42:38 +0000
Received: by outflank-mailman (input) for mailman id 630795;
 Fri, 10 Nov 2023 20:42: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=vE0U=GX=epam.com=prvs=56783987ff=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r1YKq-0004yp-O6
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 20:42:36 +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 abc769dc-8009-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 21:42:33 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AAKIjQv010025; Fri, 10 Nov 2023 20:42:29 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3u9kkysufj-5
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 10 Nov 2023 20:42:28 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DB3PR0302MB8991.eurprd03.prod.outlook.com (2603:10a6:10:437::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Fri, 10 Nov
 2023 20:42:23 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.019; Fri, 10 Nov 2023
 20:42: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: abc769dc-8009-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PLzbX+PFHfdrpRDvIHh/f7PsfqIacoGaQkRrO8MspJ5r/z10EryU2zR+5nyrvcHJQCBsz0/r3gbmLGZUZ7yUq97zUChu/gqEbyZmHbOQAONo3RsEW7Gsd0EPgbQQH2eU7rGXyCN9zFge89C4yGwxKVUVRf7unl4j3e8xc1gEaLWWJ+UEJUNIAE5E5j5Yi/ddgbi0iVjudVo4cWDrpGpJ79wsw0f1ulc9QSbZSFOCKXhEOzNhrO3TPOW/QRaWzRbS0z1dzEW5J81lJy16206Lsv2LuKBzu3fm5nQjFpKsrkkPICvAi8cOfjB4omcw39tv2BawW/FqnSF8gtOqE3CtOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gvW436DHGoKHwxC73icUcWiaYr0+vXQ+sVSK+d7PBeg=;
 b=NrMHJiUYnSClmG816XDXYmI+1IUU4zufT0z6svvjtdu1QeBk62D1ii5RTukXffD2d71xf4fflD0v8oXrMHlv2yAPHt9uTlZa5K6NxrYUcJq0QUSk+cEw7SFkccb1og6dxPStbiZklI0Hay2jCX9/legUw4We41hUni8yUZ/ylAnS6dp8IlkAm+rMovF3xg5Wi3cY/NNAsONBpZAmqi2pQwTncLep+/+1Jo4nbYAcJ3OkUKFgPHNC3TRFKxB8jlrto2KQldF2rWR56hIYWIeBPN1lVhEC915R5J6S1u8Xo3tdo8+JLpQOBO6lNoVyYwgOcLCIWhIxcaDHMlNAimXsrg==
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=gvW436DHGoKHwxC73icUcWiaYr0+vXQ+sVSK+d7PBeg=;
 b=G5tIeKCiYONkoAE1+JYYUJ8NQL6C51brQmsEYkH9Cw1e3xv/uztgaTFhoA9E+2hD2FNnrr+4btYXxuBbsmYw2Y8/8TJBg5XCLEPIg45AUTpW2NhxksSa+ZOiL0sejg8UWXNoVAh8dGl55Hd4EHXvEdEoIBl8mzejuVrsd8QRvyeQn2yTq5CXJtn2kBMfsWYpM4XcHTV1IpI4qOeqWCV4MrsXhPcjU0AO44eVBNVEQjpiPIsGABn8bkuHGSugb10M45wNdiyiTmcfaKqjK1ANCpomSn5uZqVBjhxeSL7jYMB5FHhIJyPR9Tw34fQjp93rINYjTFi2IBj7BYROcvMUaQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: [PATCH v1 4/7] xen_pvdev: Do not assume Dom0 when creating a
 directrory
Thread-Topic: [PATCH v1 4/7] xen_pvdev: Do not assume Dom0 when creating a
 directrory
Thread-Index: AQHaFBZoMLHgqbm5ZUeTIEOOIKOHAA==
Date: Fri, 10 Nov 2023 20:42:23 +0000
Message-ID: <20231110204207.2927514-5-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231110204207.2927514-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DB3PR0302MB8991:EE_
x-ms-office365-filtering-correlation-id: 42f2e465-0743-49e9-3ba7-08dbe22d8b1f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 9AnWrnyU4cpyeXaqz6rMYJVaIi2R7rkJocbJGcGqLL/P9pMFO09TbONg8nbvbqKlBEVi9s2QfMrLWBzlfs72oo9KgiM0zgdkoVDSbkRadklanWodmrcZDHlPTiGvL3VxmSKBoX7pQcvVg2qRjSir4tFENXtcvLNHZI6NhX+wn6tZQnzTYqFE4SJi18cURyQpeB8GISrnBWJmWtIEdZ3pBKImEQDCt3fqWkNP6oXvLv12Q3Fzk1UtSP2Iegx/54fZ8XwrZnkAWQQSWZ5fyl0hWfg4TviHVZOZgw+bhEkdLZsxmrA+W1eAyzpMzzeP6cUpidYkT7BtcodF67mWVcSeugY3cRqLKgEnfUzRLM8s/O7SGe/IaItckBw52iXnqw6zDWRwFUUkDkG0J+uzHzDjVB2YbSC27yVatJzlwYxh37sf+Q/kkW+KMAHIpJ9kI1tTpu4uWc7EaRHXIHIgu4TX+mgYYDe14t6LqVCoJR2k7sSS9oCCBLKw9HGK+qtL7qGe4A6N5f8F4Gue3tHUVCDUq9SmeIgKhVKZt+lfb1JOfuw7v/Kf7dfRVRYIlk02YzOTd3Aj5c/MgJ/0iw+5NbN0508KKdwcGegDvtpjHICRhLTzjLhdQkEhmHem4siC2Xu5
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:(13230031)(136003)(376002)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(41300700001)(2906002)(8936002)(4326008)(4744005)(86362001)(5660300002)(38070700009)(8676002)(316002)(36756003)(83380400001)(38100700002)(478600001)(2616005)(1076003)(6512007)(6486002)(71200400001)(122000001)(6506007)(55236004)(91956017)(76116006)(66556008)(66446008)(26005)(6916009)(64756008)(66476007)(66946007)(54906003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?6jAyKfAeJlgQWEybzi/BOuxfXmGcsnT+2Da9xE9MkpQRhUhA9osB1o72SR?=
 =?iso-8859-1?Q?p2hgyoBs4RrEI20M4b0tBPTpfJDlxW+mjMLUtt5SdCu8nSlhROpMP4CG/I?=
 =?iso-8859-1?Q?SggdmlJjrU0coEDa+Yc0wQ+BZQkmgUGUJUFkg6WOhXdmWDqW77eF38/8g0?=
 =?iso-8859-1?Q?FKkaNfIkthwudliq7E+16Na1DiM+msitgNicGE/KIejRESmAn/yMw3O5TD?=
 =?iso-8859-1?Q?QPvSxBMHsa6hD1DVb2A7hdaybzU/0l2JmcJ44fuAFVh1mvAxSIfSyoyZ+9?=
 =?iso-8859-1?Q?/bNapeCg+OzrSYwwYl51/Jkukxorj3TxM/BEnIL1yKOGd3FqOTaOI9c0jx?=
 =?iso-8859-1?Q?jnoqN9s9lPArIvJFqsEvvohfYzOQMZYOcu4dA0wmdC+RNy1Iwx/R+CPaL5?=
 =?iso-8859-1?Q?kV6ZFVkF7z4sb+ddTB8X5JWewm5PmxqosUOFe7WpsPOLkdIryRzj+m7Uxt?=
 =?iso-8859-1?Q?5GJxWGae5sGYhdg1RfelzdeU17keHI58Yk9pFc7bUTl+8eUKU9zGro+PCe?=
 =?iso-8859-1?Q?xnS6K/bg9tiJwvcUrVwN3sk+R+eQc5e68eKVnhEhmFFj+BtjXCsWHEzc5g?=
 =?iso-8859-1?Q?dBEquK3aGM73HxFMJm5LuZufugIZaEOnuuCQKj1jy5j3M8RZS13QyuWV9i?=
 =?iso-8859-1?Q?2DNzMBmzb0a0PlhPCuZfyR9YGuhXp1bdJGl7VvC4HpIBdMBTpjGU9fa4df?=
 =?iso-8859-1?Q?vKLajxhLD1YW1QWl5KfNFGdwmUDEGLT9Kh+MiqIWMdgPs3YvbZbqaihraz?=
 =?iso-8859-1?Q?NZ1+qU5LUDy6kAIBAak+JsrFHWClRlLr1ZY7wSXh9ELP0ge+Dqh5H0vDAW?=
 =?iso-8859-1?Q?CQu3lORxo53f/WS4TMdDbzHE7oZxyLKoIAoOPdbWRODF0hKv0EX08UxfJy?=
 =?iso-8859-1?Q?cTytG5g8fNs0ZoInzjCqKKbBAv8VtN5WreBAupvqfSlPetOLf0AIC0JBUO?=
 =?iso-8859-1?Q?tRagy7e2YtWykNujZfXujbJ5MLQ/Dck9KIq9XTQ8fKh7j1j1aNhpWtYVkK?=
 =?iso-8859-1?Q?jMdv3YYXZlckRXmiYHUvTIiN7Svt0LcfOHcpfyIMv/+cM5fiiji/dUfa3X?=
 =?iso-8859-1?Q?V+Xf4yjX+ne3iYoKQluj6dSZmJIsPTTq3Z0jSF9kfiYdFT4MzGVbsjL3OO?=
 =?iso-8859-1?Q?3EaPJZ7jfGr0EvJC5k36/DmC9pWaEillI7If/hH6EGTG296HNdsW7FQNwY?=
 =?iso-8859-1?Q?v3MV9i6e3cm6PrGwU3lL203YtBkMKsCuiEbl8XMycyexdYGm8gTYTJqAQx?=
 =?iso-8859-1?Q?/DN/CWvuSurktyfLsRP0fABKTS3CFcRCjyBHy2psid3ahP44j3e2uPZTml?=
 =?iso-8859-1?Q?ZkOMUI6dnhdnRwZhX6Jl2KWZ2J7YbVEQNh5v7yZEJfIGoxJFX2oXExY6md?=
 =?iso-8859-1?Q?EpAlhPRKxGNH2eiHMfpRq0AImF1+Vbjs3htas8RoyjRQnQbQL09pqoA+W+?=
 =?iso-8859-1?Q?eQDO2pvns1VtmFXvWtsqeeVlgkfatTfjOhaQZR/R8yMcBtfhITnaTuzstS?=
 =?iso-8859-1?Q?bcng2phJV6gDafbt1sM+7PRgGfPB0hBSScCWKGZ9yFFypzCm16YIYGL+bn?=
 =?iso-8859-1?Q?hvReQTvG3CVF6nQTNGGNOw8jKn0HaiNSapWC0PpvUaEkFzZypLVnlS1sPb?=
 =?iso-8859-1?Q?eIX4LsXjapL+zkSZp1DbBd0nOoodhH4zqeB+9bPgoUJnAh4LfRNgRA9g?=
 =?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: 42f2e465-0743-49e9-3ba7-08dbe22d8b1f
X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Nov 2023 20:42:23.2225
 (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: fOncCzEfv+h6yDb8uPraSPueoRoUPP85zBDlMuxCDhfgt4gtBqdtx6Y2sEGhkSqsVvfcfTdKOUFOUlLdCV++GPCyk1lQUUtIdY7v6xsUBdQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB8991
X-Proofpoint-GUID: w1g9lBFxP7b-80B2x1nYalgPezXtntVp
X-Proofpoint-ORIG-GUID: w1g9lBFxP7b-80B2x1nYalgPezXtntVp
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-10_18,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 malwarescore=0
 suspectscore=0 mlxscore=0 phishscore=0 clxscore=1015 bulkscore=0
 priorityscore=1501 mlxlogscore=593 lowpriorityscore=0 impostorscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311100172

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to save
the previous owner of the directory.

Note that for other than Dom0 domain (non toolstack domain) the
"driver_domain" property should be set in domain config file for the
toolstack to create required directories in advance.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 hw/xen/xen_pvdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index c5ad71e8dc..42bdd4f6c8 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -60,7 +60,8 @@ void xen_config_cleanup(void)
=20
 int xenstore_mkdir(char *path, int p)
 {
-    if (!qemu_xen_xs_create(xenstore, 0, 0, xen_domid, p, path)) {
+    if (!qemu_xen_xs_create(xenstore, 0, XS_PRESERVE_OWNER,
+                            xen_domid, p, path)) {
         xen_pv_printf(NULL, 0, "xs_mkdir %s: failed\n", path);
         return -1;
     }
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 21:57:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 21:57:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630815.983947 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1ZVE-0007XO-Nu; Fri, 10 Nov 2023 21:57:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630815.983947; Fri, 10 Nov 2023 21:57: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 1r1ZVE-0007XH-LP; Fri, 10 Nov 2023 21:57:24 +0000
Received: by outflank-mailman (input) for mailman id 630815;
 Fri, 10 Nov 2023 21:57: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=YK6u=GX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r1ZVD-0007XB-4p
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 21:57:23 +0000
Received: from mail-wr1-f53.google.com (mail-wr1-f53.google.com
 [209.85.221.53]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f740cd3-8014-11ee-98da-6d05b1d4d9a1;
 Fri, 10 Nov 2023 22:57:21 +0100 (CET)
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-32fe1a29010so1381020f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 13:57:21 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 z8-20020a5d6548000000b0032da75af3easm196746wrv.80.2023.11.10.13.57.14
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Nov 2023 13:57:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f740cd3-8014-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699653434; x=1700258234; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9tq+vVFzFQuNPFulMvijWhkTMgOJllrgAQLHZADDbn8=;
        b=a3UglbkVwl6DuANMstGl8ngOSPnYezYL6sIS0T5OYa2LHoveTE39MaP6glblrkiAbA
         NK3l11dp9U47QFPIhN0r+1mE871sPzCFCo51MzZWKavjkxjfb7KdWUoGHTfNjTg7SU4t
         n96mBwsv6ciUvCSSVCzGyDHditIwWa76gU1rs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699653434; x=1700258234;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9tq+vVFzFQuNPFulMvijWhkTMgOJllrgAQLHZADDbn8=;
        b=s/ukw5bTXLtOuzN7CpOqAAbIQy/yNXYoweH/jHnUrfYNkXYbY0UbFjxtI7D1b7l3Ct
         0/01Mz1M1eexvfHVUnTKw6+K9oHAfcExVqtBVR5j1rMynwqmmjHFnEzx+elKtEsuJBNd
         kmwnqbyFlAOPkctZPagXK8DKgaVM5hfnTSW+zm0Su/Lvxuf2Wy1IgVyKPnUJuJs1aVbD
         voZL9v5D6cbX6rDUNLKfh/grElmOn49Y2tVfyWIj6sBaVlkoQnKQDvhFbFkhgbV2QmNw
         vuy641t07D3YM0hFUSeAOcmdTOrjumWBIQ5L3UyyhF/2SrqjKtYGEdhq2/H6LoiRj3xR
         dfbA==
X-Gm-Message-State: AOJu0Yw5gNfofNxoTo1XINP9FBnctCfdlcS/WTTY5kcjjxQW+pxm6Eac
	pya9nw2L470l+4lybbIAYumGDA==
X-Google-Smtp-Source: AGHT+IF6RgPCbKzN8I8kSLKa/jPUwsttZ5PE9pbgDJQVt6VpOvfV5RuubNVVRsDJIry7cuYVrgy90w==
X-Received: by 2002:a5d:6d06:0:b0:32d:857c:d51c with SMTP id e6-20020a5d6d06000000b0032d857cd51cmr383345wrq.43.1699653434534;
        Fri, 10 Nov 2023 13:57:14 -0800 (PST)
Message-ID: <0a168232-ea32-4aa1-b270-961782fec9dc@citrix.com>
Date: Fri, 10 Nov 2023 21:57:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.18 3/3] docs/sphinx: Fix indexing
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>,
 Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Henry Wang <Henry.Wang@arm.com>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com>
 <20231108152727.58764-4-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2311091601420.3478774@ubuntu-linux-20-04-desktop>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <alpine.DEB.2.22.394.2311091601420.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/11/2023 12:07 am, Stefano Stabellini wrote:
> On Wed, 8 Nov 2023, Andrew Cooper wrote:
>> diff --git a/docs/index.rst b/docs/index.rst
>> index f3f779f89ce5..22fdde80590c 100644
>> --- a/docs/index.rst
>> +++ b/docs/index.rst
>> @@ -53,17 +53,18 @@ kind of development environment.
>>     hypervisor-guide/index
>>  
>>  
>> -MISRA C coding guidelines
>> --------------------------
>> +Unsorted documents
>> +------------------
>>  
>> -MISRA C rules and directive to be used as coding guidelines when writing
>> -Xen hypervisor code.
>> +Documents in need of some rearranging.
> I understand the need for an "Unsorted documents", but why taking away
> "MISRA C coding guidelines" from here?

You can't have it both here and in index.rst without breaking the indexing.

Also because in it's current position it breaks the navbar.  MISRA is
part of the developer guide, and what should be at the toplevel should
be a general section on safety certification, which cross-references the
developer guide amongst other things.  Nevertheless it will stay visible
for now at the top level because of how the toctree.

It's in unsorted because I have thrown the index together with the bare
minimum effort in order to fix Sphinx errors in time for 4.18.

This is also why I'm not changing any text.  There is 0 time between now
and this needing fixing for the release.

Someone else can find some time to polish it - which is far more work
than just in the index - and we can backport it when its done.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 22:13:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 22:13:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630821.983958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1Zkg-0002Sz-2G; Fri, 10 Nov 2023 22:13:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630821.983958; Fri, 10 Nov 2023 22: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 1r1Zkf-0002Ss-Vi; Fri, 10 Nov 2023 22:13:21 +0000
Received: by outflank-mailman (input) for mailman id 630821;
 Fri, 10 Nov 2023 22: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=YK6u=GX=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r1Zkf-0002Sm-HH
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 22:13:21 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a48c3e6-8016-11ee-9b0e-b553b5be7939;
 Fri, 10 Nov 2023 23:13:19 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-40a4859b231so5323315e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 10 Nov 2023 14:13:19 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 h9-20020a05600c350900b004094d4292aesm530809wmq.18.2023.11.10.14.13.17
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 10 Nov 2023 14:13:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a48c3e6-8016-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699654398; x=1700259198; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=EM6gouvi/9+cJS403KfZBLMwqeRdBs6ofp44nFKKCp0=;
        b=NghGfwlC0QirMnglk5b+CjWFaWJvSLwnYAMoJnSBqfrA9uFjNLZSbK99Na32nNeLGS
         FFZtgylgGQgaGtzht4xnzD27eldvZ4YyaXKTAY/lQ70nv4bcBSFUw8UCXefIb3SlfTus
         ozqMlwLuCnd81Ve4apb86viMSSvGsquCHM0s4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699654398; x=1700259198;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=EM6gouvi/9+cJS403KfZBLMwqeRdBs6ofp44nFKKCp0=;
        b=vbjhWL+kB3gE8MwUSl0ZzehooGtExRzTixFFV89ukQLPkf//g7q3nFp+ffuIS3v/md
         jhyNlrr8he+CxzLPnAhwECyljXO9F5ppMs2CZ8PYnY2asBDRXc+o2eVNCPBqhmtgma1z
         /WRUIw7N+n+J6LThZ2777o/1WcfcxdV+1+2mV/gBQdjKwBJX27+NSlqxeFpDWd+kArXy
         YwRPnxeZJXxcoXyOU1a1xbwZB4Q8wCZM7OaJUnPY91bxUf2edSHBJeYT79BB4VO+VmPA
         xU4LgjObSN8CPvR7hbtwNNTbWW75Vnaj9s16i7GVwSx5v2BtROlNS8DcUJ/XBtHdCB+4
         q9xQ==
X-Gm-Message-State: AOJu0YwuJ5NG32sCr+Q4o3OQ47+DfCgAwIpPfZoPVecnpVVK2PZNnOOw
	r6+KW3hN506viO0zYg08GQeyiw==
X-Google-Smtp-Source: AGHT+IHao1u+iWBG6kN+o2PKMIdg6mpEQFFYuzL7X+93GHzjXP64yJ0JBt4E8JWqLPCP88lC4eLGRg==
X-Received: by 2002:a05:600c:4715:b0:405:1ba2:4fcb with SMTP id v21-20020a05600c471500b004051ba24fcbmr472911wmo.16.1699654398261;
        Fri, 10 Nov 2023 14:13:18 -0800 (PST)
Message-ID: <a162733f-859f-41ce-8575-89b0e2cf702e@citrix.com>
Date: Fri, 10 Nov 2023 22:13:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.18] docs: Delete kconfig docs to fix licensing
 violation
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231108143751.49309-1-andrew.cooper3@citrix.com>
 <a6f54856-f0e2-a2ef-5cbc-900ed87c5d31@suse.com>
 <alpine.DEB.2.22.394.2311091558380.3478774@ubuntu-linux-20-04-desktop>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <alpine.DEB.2.22.394.2311091558380.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 09/11/2023 11:59 pm, Stefano Stabellini wrote:
> On Thu, 9 Nov 2023, Jan Beulich wrote:
>> On 08.11.2023 15:37, Andrew Cooper wrote:
>>> These 3 Kconfig docs were imported from Linux erroneously.  They are
>>> GPL-2.0-only in Linux, but have no SPDX tag and were placed in such a way to
>>> be included by the blanket statement saying that all RST files are CC-BY-4.0.
>>>
>>> We should not be carrying a shadow copy of these docs.  They aren't even wired
>>> into our Sphinx docs, and anyone wanting to refer to Kconfig docs is going to
>>> look at the Linux docs anyway.  These, and more docs can be found at:
>>>
>>>   https://www.kernel.org/doc/html/latest/kbuild/
>>>
>>> which also have corrections vs the snapshot we took.
>> Imo this reference ...
>>
>>> Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> ---
>>> CC: George Dunlap <George.Dunlap@citrix.com>
>>> CC: Jan Beulich <JBeulich@suse.com>
>>> CC: Stefano Stabellini <sstabellini@kernel.org>
>>> CC: Wei Liu <wl@xen.org>
>>> CC: Julien Grall <julien@xen.org>
>>> CC: Henry Wang <Henry.Wang@arm.com>
>>> ---
>>>  docs/misc/kconfig-language.rst       | 701 ---------------------------
>>>  docs/misc/kconfig-macro-language.rst | 247 ----------
>>>  docs/misc/kconfig.rst                | 304 ------------
>>>  3 files changed, 1252 deletions(-)
>>>  delete mode 100644 docs/misc/kconfig-language.rst
>>>  delete mode 100644 docs/misc/kconfig-macro-language.rst
>>>  delete mode 100644 docs/misc/kconfig.rst
>> ... wants putting into, say, the last of these three files you delete, as
>> a replacement. I can't spot any other place where we would have such a
>> reference.
>>
>> One problem I see with deleting our shadow copy is that by referring to
>> Linux'es doc, the wrong impression may arise that whatever new features
>> they invent we also support. Thoughts? (If nothing else, I'd expect this
>> aspect to be mentioned / justified in the description.)
> I think the ideal solution would be to replace the shadow copies with a
> link to the Linux docs of a specific Linux tag (v5.4), instead of
> generic Linux master. I am not sure where to place the links though.

I don't personally think we need to keep any other reference around. 
They're not interesting, because they're not going to be found by anyone
except those who already know they're there, and won't need to refer to
them for the kind of content they provide.

Kconfig isn't a fast-moving target, and there's nothing new in Linux vs
what we've got here.  The only interesting difference between us and
Linux is the fact we don't use modules, and we didn't even strip that
out of the shadow copy.

We do have xen/tools/kconfig/README.source which states where it came from.

I could be persuaded to add the following hunk.  What we have isn't
precisely v5.4 anyway - we've got some reasonable differences in the
makefile side of things.

~Andrew

diff --git a/xen/tools/kconfig/README.source
b/xen/tools/kconfig/README.source
index 44631f68e8..ac394106b9 100644
--- a/xen/tools/kconfig/README.source
+++ b/xen/tools/kconfig/README.source
@@ -5,5 +5,7 @@ in this part of the Xen source tree.
 
 xen/tools/kconfig
 -----------------
-The kconfig directory was originally imported from the linux kernel
-git tree at kernel/git/torvalds/linux.git, path: scripts/kconfig
+The kconfig directory was originally imported from the Linux kernel
+git tree at kernel/git/torvalds/linux.git, path: scripts/kconfig of
+roughly v5.4.  Linux's documentation can be found at:
+https://www.kernel.org/doc/html/latest/kbuild/



From xen-devel-bounces@lists.xenproject.org Fri Nov 10 23:45:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 23:45:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630832.983969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1bBL-0001ZW-Pd; Fri, 10 Nov 2023 23:44:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630832.983969; Fri, 10 Nov 2023 23:44: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 1r1bBL-0001ZP-LG; Fri, 10 Nov 2023 23:44:59 +0000
Received: by outflank-mailman (input) for mailman id 630832;
 Fri, 10 Nov 2023 23:44: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1bBK-0001ZJ-03
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 23:44:58 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2616f480-8023-11ee-98da-6d05b1d4d9a1;
 Sat, 11 Nov 2023 00:44:56 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id A8ABBCE16DB;
 Fri, 10 Nov 2023 23:44:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D1E15C433C7;
 Fri, 10 Nov 2023 23:44: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: 2616f480-8023-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699659888;
	bh=Hpx6GugfqohRisxCktQeLstLukR5qZu5Z2gkoGaWJvU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mg/7rGLJPRdufwAdCk6Fx13rJSl7wcWtyCQ2fUVhmS4Z4xH+/v325osDetV3wETJi
	 5dNI0rxEOvTkNogBGL1SyL2GfXxwEdY9DzPS/IL8yts7tDksAuJGsXvZ/zikvw6Xch
	 h/wLcjQuHs8ewbvtmQFJu439cQdIZXVcVqjpHNeNKWsO79kPtLhcWGhuFWzUl4Xa3V
	 uWeg61fidojMpt1Bl1zCuTlnY22xKcru5qMFKsVCqx1xFwjzxc73RXUmpd3Ra4jhWs
	 U6DkI++orpje3X/wLyNaWcNUkOingaS7ejMGtTPzWjN3ehamfPStx9zGlkeNn+J384
	 gJ9eevfDNgHBw==
Date: Fri, 10 Nov 2023 15:44:46 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Jan Beulich <jbeulich@suse.com>, George Dunlap <George.Dunlap@citrix.com>, 
    Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>, 
    Henry Wang <Henry.Wang@arm.com>, 
    Xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.18] docs: Delete kconfig docs to fix licensing
 violation
In-Reply-To: <a162733f-859f-41ce-8575-89b0e2cf702e@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311101544120.3478774@ubuntu-linux-20-04-desktop>
References: <20231108143751.49309-1-andrew.cooper3@citrix.com> <a6f54856-f0e2-a2ef-5cbc-900ed87c5d31@suse.com> <alpine.DEB.2.22.394.2311091558380.3478774@ubuntu-linux-20-04-desktop> <a162733f-859f-41ce-8575-89b0e2cf702e@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1891703912-1699659888=:3478774"

  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-1891703912-1699659888=:3478774
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 10 Nov 2023, Andrew Cooper wrote:
> On 09/11/2023 11:59 pm, Stefano Stabellini wrote:
> > On Thu, 9 Nov 2023, Jan Beulich wrote:
> >> On 08.11.2023 15:37, Andrew Cooper wrote:
> >>> These 3 Kconfig docs were imported from Linux erroneously.  They are
> >>> GPL-2.0-only in Linux, but have no SPDX tag and were placed in such a way to
> >>> be included by the blanket statement saying that all RST files are CC-BY-4.0.
> >>>
> >>> We should not be carrying a shadow copy of these docs.  They aren't even wired
> >>> into our Sphinx docs, and anyone wanting to refer to Kconfig docs is going to
> >>> look at the Linux docs anyway.  These, and more docs can be found at:
> >>>
> >>>   https://www.kernel.org/doc/html/latest/kbuild/
> >>>
> >>> which also have corrections vs the snapshot we took.
> >> Imo this reference ...
> >>
> >>> Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
> >>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> >>> ---
> >>> CC: George Dunlap <George.Dunlap@citrix.com>
> >>> CC: Jan Beulich <JBeulich@suse.com>
> >>> CC: Stefano Stabellini <sstabellini@kernel.org>
> >>> CC: Wei Liu <wl@xen.org>
> >>> CC: Julien Grall <julien@xen.org>
> >>> CC: Henry Wang <Henry.Wang@arm.com>
> >>> ---
> >>>  docs/misc/kconfig-language.rst       | 701 ---------------------------
> >>>  docs/misc/kconfig-macro-language.rst | 247 ----------
> >>>  docs/misc/kconfig.rst                | 304 ------------
> >>>  3 files changed, 1252 deletions(-)
> >>>  delete mode 100644 docs/misc/kconfig-language.rst
> >>>  delete mode 100644 docs/misc/kconfig-macro-language.rst
> >>>  delete mode 100644 docs/misc/kconfig.rst
> >> ... wants putting into, say, the last of these three files you delete, as
> >> a replacement. I can't spot any other place where we would have such a
> >> reference.
> >>
> >> One problem I see with deleting our shadow copy is that by referring to
> >> Linux'es doc, the wrong impression may arise that whatever new features
> >> they invent we also support. Thoughts? (If nothing else, I'd expect this
> >> aspect to be mentioned / justified in the description.)
> > I think the ideal solution would be to replace the shadow copies with a
> > link to the Linux docs of a specific Linux tag (v5.4), instead of
> > generic Linux master. I am not sure where to place the links though.
> 
> I don't personally think we need to keep any other reference around. 
> They're not interesting, because they're not going to be found by anyone
> except those who already know they're there, and won't need to refer to
> them for the kind of content they provide.
> 
> Kconfig isn't a fast-moving target, and there's nothing new in Linux vs
> what we've got here.  The only interesting difference between us and
> Linux is the fact we don't use modules, and we didn't even strip that
> out of the shadow copy.
> 
> We do have xen/tools/kconfig/README.source which states where it came from.
> 
> I could be persuaded to add the following hunk.  What we have isn't
> precisely v5.4 anyway - we've got some reasonable differences in the
> makefile side of things.

The below is good enough in my opinion. Ack.


> diff --git a/xen/tools/kconfig/README.source
> b/xen/tools/kconfig/README.source
> index 44631f68e8..ac394106b9 100644
> --- a/xen/tools/kconfig/README.source
> +++ b/xen/tools/kconfig/README.source
> @@ -5,5 +5,7 @@ in this part of the Xen source tree.
>  
>  xen/tools/kconfig
>  -----------------
> -The kconfig directory was originally imported from the linux kernel
> -git tree at kernel/git/torvalds/linux.git, path: scripts/kconfig
> +The kconfig directory was originally imported from the Linux kernel
> +git tree at kernel/git/torvalds/linux.git, path: scripts/kconfig of
> +roughly v5.4.  Linux's documentation can be found at:
> +https://www.kernel.org/doc/html/latest/kbuild/
> 
--8323329-1891703912-1699659888=:3478774--


From xen-devel-bounces@lists.xenproject.org Fri Nov 10 23:49:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 10 Nov 2023 23:49:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630835.983977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1bFm-0002Av-8j; Fri, 10 Nov 2023 23:49:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630835.983977; Fri, 10 Nov 2023 23:49: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 1r1bFm-0002Ao-6G; Fri, 10 Nov 2023 23:49:34 +0000
Received: by outflank-mailman (input) for mailman id 630835;
 Fri, 10 Nov 2023 23:49: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=0VeX=GX=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1bFk-0002Ai-LX
 for xen-devel@lists.xenproject.org; Fri, 10 Nov 2023 23:49:32 +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 c9d940ea-8023-11ee-98da-6d05b1d4d9a1;
 Sat, 11 Nov 2023 00:49:31 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id B4EF0CE16DE;
 Fri, 10 Nov 2023 23:49:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D4834C433C8;
 Fri, 10 Nov 2023 23:49:26 +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: c9d940ea-8023-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699660168;
	bh=1All/a8Lap0XJa/MPRanfnfkzMC2g9BumuEPwua10yI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aqbMPzmR9+bFqR6yyuBINjDxhqRLIe1CU5w3bLZ7TCqU7E75OtOpmdG+VR5qlZhhx
	 nD43g3hhbnwxEon0Jz2JRV/tbXRUNRgKh4fCMbQdanYAsru5WvHklUx1HyCXK/dRE6
	 AShNanYat9h7kG6PVZ7SLiJjq1kgCB+916ZSp0T2SMkpIIyMupdaYj1NQPZjgYMfxG
	 2At/lLppnlNJeVAmzQqQwuFha5uDZ5c4h5TH4Zm1to4nNFv8mBUPy9I9EkWvUMuUo3
	 dnewmVdBDquZkKMNfpKTJ/sOIchMVOqKk23g9WJ1Z12dsOP+Urug4M+d1D/6p2NBJ8
	 lWCtG5wDEtoKg==
Date: Fri, 10 Nov 2023 15:49:25 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>, 
    Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH for-4.18 3/3] docs/sphinx: Fix indexing
In-Reply-To: <0a168232-ea32-4aa1-b270-961782fec9dc@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311101546100.3478774@ubuntu-linux-20-04-desktop>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com> <20231108152727.58764-4-andrew.cooper3@citrix.com> <alpine.DEB.2.22.394.2311091601420.3478774@ubuntu-linux-20-04-desktop> <0a168232-ea32-4aa1-b270-961782fec9dc@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-259878124-1699660059=:3478774"
Content-ID: <alpine.DEB.2.22.394.2311101547580.3478774@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-259878124-1699660059=:3478774
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311101547581.3478774@ubuntu-linux-20-04-desktop>

On Fri, 10 Nov 2023, Andrew Cooper wrote:
> On 10/11/2023 12:07 am, Stefano Stabellini wrote:
> > On Wed, 8 Nov 2023, Andrew Cooper wrote:
> >> diff --git a/docs/index.rst b/docs/index.rst
> >> index f3f779f89ce5..22fdde80590c 100644
> >> --- a/docs/index.rst
> >> +++ b/docs/index.rst
> >> @@ -53,17 +53,18 @@ kind of development environment.
> >>     hypervisor-guide/index
> >>  
> >>  
> >> -MISRA C coding guidelines
> >> --------------------------
> >> +Unsorted documents
> >> +------------------
> >>  
> >> -MISRA C rules and directive to be used as coding guidelines when writing
> >> -Xen hypervisor code.
> >> +Documents in need of some rearranging.
> > I understand the need for an "Unsorted documents", but why taking away
> > "MISRA C coding guidelines" from here?
> 
> You can't have it both here and in index.rst without breaking the indexing.
> 
> Also because in it's current position it breaks the navbar.  MISRA is
> part of the developer guide, and what should be at the toplevel should
> be a general section on safety certification, which cross-references the
> developer guide amongst other things.  Nevertheless it will stay visible
> for now at the top level because of how the toctree.
> 
> It's in unsorted because I have thrown the index together with the bare
> minimum effort in order to fix Sphinx errors in time for 4.18.
> 
> This is also why I'm not changing any text.  There is 0 time between now
> and this needing fixing for the release.
> 
> Someone else can find some time to polish it - which is far more work
> than just in the index - and we can backport it when its done.

OK. I don't mean to make things difficult so if you don't think it is
easy to keep "MISRA C coding guidelines" here in docs/index.rst then so
be it. Can you at least add "and related files" to the text in
docs/misra/index.rst? Can be done on commit. Anyway:

Acked-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-259878124-1699660059=:3478774--


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 01:13:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 01:13:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630842.983987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1cYt-0005rD-DT; Sat, 11 Nov 2023 01:13:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630842.983987; Sat, 11 Nov 2023 01: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 1r1cYt-0005r6-Aj; Sat, 11 Nov 2023 01:13:23 +0000
Received: by outflank-mailman (input) for mailman id 630842;
 Sat, 11 Nov 2023 01: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=mrjv=GY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1cYs-0005r0-36
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 01:13:22 +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 7f701f37-802f-11ee-9b0e-b553b5be7939;
 Sat, 11 Nov 2023 02:13:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 240B361B50;
 Sat, 11 Nov 2023 01:13:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 36180C433C8;
 Sat, 11 Nov 2023 01:13:12 +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: 7f701f37-802f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699665193;
	bh=6Buy5WI8dHOTDajp23jaxdqYD8f2IuTxvRV6gD+xsaI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tBaUZmke8hcEtWHf9XYfuDO++65lnIPMhyiH9pYp0b0mvMNxkZqgbCzr+fUXb78lt
	 O86JMohgTOZVvhUTeL17B6qK9w9R6YnXlyA11VgEYV/TaVNlIeu8S4MxU+S0mHmfYE
	 /a1apE8I9HPeLSO42mtVSOPf7Ek0/JNGDZ01lnLSQhxemsyrp2IjGp8YjuXAILGMBA
	 n0CW3xuf/iYUO0rnICWeVO9JXh63ZLuXMnz2FoECNeOBp3LE3TwAGhUZXM6GGdrZQN
	 ISBmcAV4uP71NHbqtUgqAH7JyRz9S+Q6znPrz9KipJtENhEoANgH0CMLauAEC19CeT
	 jrxaDPr2bjANw==
Date: Fri, 10 Nov 2023 17:13:10 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Julien Grall <julien@xen.org>, Jbeulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper3 <andrew.cooper3@citrix.com>, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, roger.pau@citrix.com, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
In-Reply-To: <0ad97e9ff3d703f56b24393e327cac84@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311101709410.3478774@ubuntu-linux-20-04-desktop>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com> <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com> <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com> <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
 <b407f981-c58c-4272-bc7c-1470a87e2487@xen.org> <4b4583f5-4cdb-6be9-20eb-22466b6aef28@suse.com> <483f3b34-ebd4-4613-b083-596bebf5ac15@xen.org> <alpine.DEB.2.22.394.2311091614010.3478774@ubuntu-linux-20-04-desktop> <cffef994-1cba-4ce2-acb5-96e0ddd61064@xen.org>
 <0ad97e9ff3d703f56b24393e327cac84@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 10 Nov 2023, Nicola Vetrini wrote:
> Hi everyone,
> 
> I trimmed the thread a bit, to make this more readable.
> 
> > > > > > IMHO, the only viable option would be to have a configuration to
> > > > > > keep
> > > > > > ASSERT in production build for scanning tools.
> > > > > 
> > > > > But wouldn't that then likely mean scanning to be done on builds not
> > > > > also
> > > > > used in production? Would doing so even be permitted when
> > > > > certification
> > > > > is a requirement? Or do you expect such production builds to be used
> > > > > with
> > > > > the assertions left in place (increasing the risk of a crash; recall
> > > > > that
> > > > > assertions themselves may also be wrong, and hence one triggering in
> > > > > rare
> > > > > cases may not really be a reason to bring down the system)?
> > > > 
> > > > I will leave Stefano/Nicola to answer from the certification
> > > > perspective. But
> > > > I don't really see how we could get away unless we replace most of the
> > > > ASSERT() with proper runtime check (which may not be desirable for
> > > > ASSERT()s
> > > > like this one).
> > > 
> > > For sure we don't want to replace ASSERTs with runtime checks.
> > > 
> > > Nicola, do we really need the ASSERT to be implemented as a check, or
> > > would the presence of the ASSERT alone suffice as a tag, the same way we
> > > would be using /* SAF-xx-safe */ or asmlinkage?
> > > 
> > > If we only need ASSERT as a deviation tag, then production builds vs.
> > > debug build doesn't matter.
> > > 
> > > If ECLAIR actually needs ASSERT to be implemented as a check, could we
> > > have a special #define to define ASSERT in a special way for static
> > > analysis tools in production builds? For instance:
> > > 
> > > #ifdef STATIC_ANALYSIS
> > > #define ASSERT(p) \
> > >      do { if ( unlikely(!(p)) ) printk("ASSERT triggered %s:%d",
> > > __file__,__LINE__); } while (0)
> > > #endif
> > 
> > Just to make 100% clear, you are saying that assessor will be happy if we
> > analyze it with ASSERT enabled but in production we use it wout them
> > enabled? The assumption here is that they should have *never* been triggered
> > so they surely should not happen in production.
> > 
> > Cheers,
> 
> First of all, Andrew is experimenting with an alternate solution, so we should
> wait making
> any decision here until he can share the outcome of his findings.
> However, from a certification perspective, the fact that the codebase is
> tested with
> asserts enabled is a strong enough claim for a justification to be based on an
> assertion;
> the code path just needs to be exercised by the tests.
> Getting into the business of how to define asserts for static analysis is
> likely to
> just cause more trouble.

That's great. Also given Andrew's reply, then can we just go ahead with
adding the ASSERT as done in this patch (with the added in-code comment
as requested by Jan)?


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 01:16:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 01:16:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630844.983997 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1ccD-0006nO-QI; Sat, 11 Nov 2023 01:16:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630844.983997; Sat, 11 Nov 2023 01: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 1r1ccD-0006nH-NW; Sat, 11 Nov 2023 01:16:49 +0000
Received: by outflank-mailman (input) for mailman id 630844;
 Sat, 11 Nov 2023 01:16: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 1r1ccC-0006n4-OK; Sat, 11 Nov 2023 01:16: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 1r1ccC-0006Xf-Kf; Sat, 11 Nov 2023 01:16: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 1r1ccC-00035J-54; Sat, 11 Nov 2023 01:16:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1ccC-0001EU-4b; Sat, 11 Nov 2023 01:16: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=mr8bIPPZ+3T+sfB2pMbHxkkQpDWKHuIv5ml9CV/mqAA=; b=t7ezA3oX0bipV4Bb65za857gB0
	dkBqPSVshKVjK9X0l6SLYGJluewX+QfVcR0PlYjYL901sRZsjh4eG7h0Lx5nJSAwInqOzMNGDLZYp
	cBTDDLLsbZSwS2PsDFT0cbHdVHmw6kLaW0VrqDByGbVyW0BqLg5YI5aVly2SzXlNY9x4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183730-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183730: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine: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: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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-credit2:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=826c484166f0f74bd8fc09220f99dc937c9297cf
X-Osstest-Versions-That:
    linux=89cdf9d556016a54ff6ddd62324aa5ec790c05cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Nov 2023 01:16:48 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 183728

Tests which did not succeed, but are not blocking:
 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-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-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-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183728
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183728
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183728
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183728
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183728
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183728
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183728
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183728
 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-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-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-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
 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-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                826c484166f0f74bd8fc09220f99dc937c9297cf
baseline version:
 linux                89cdf9d556016a54ff6ddd62324aa5ec790c05cc

Last test of basis   183728  2023-11-10 06:14:27 Z    0 days
Testing same since   183730  2023-11-10 19:13:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Andreas Schwab <schwab@suse.de>
  Anup Patel <apatel@ventanamicro.com>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Björn Töpel <bjorn@rivosinc.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Christian Brauner <brauner@kernel.org>
  Christoph Hellwig <hch@lst.de>
  Clément Léger <cleger@rivosinc.com>
  Conor Dooley <conor.dooley@microchip.com>
  Drew Fustini <dfustini@baylibre.com>
  Emil Renner Berthing <emil.renner.berthing@canonical.com>
  Emil Renner Berthing <kernel@esmil.dk>
  Evan Green <evan@rivosinc.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guo Ren <guoren@kernel.org>
  Haorong Lu <ancientmodern4@gmail.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Ilya Dryomov <idryomov@gmail.com>
  Jinyu Tang <tangjinyu@tinylab.org>
  Jisheng Zhang <jszhang@kernel.org>
  Keguang Zhang <keguang.zhang@gmail.com>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> #
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> # On RZ/Five SMARC
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> #On
  Linus Torvalds <torvalds@linux-foundation.org>
  Mayuresh Chitale <mchitale@ventanamicro.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Nam Cao <namcaov@gmail.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Palmer Dabbelt <palmer@rivosinc.com>
  Peter Lafreniere <peter@n8pjl.ca>
  Rob Herring <robh@kernel.org>
  Samuel Holland <samuel.holland@sifive.com>
  Sergio Paracuellos <sergio.paracuellos@gmail.com>
  Steve French <stfrench@microsoft.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Tiezhu Yang <yangtiezhu@loongson.cn>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  Xiao Wang <xiao.w.wang@intel.com>
  Xiubo Li <xiubli@redhat.com>
  Yu Chien Peter Lin <peterlin@andestech.com>
  Yunhui Cui <cuiyunhui@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                                            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-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                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 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                                  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-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 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                                 blocked 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 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 2140 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 01:21:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 01:21:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630851.984008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1ch6-0008K6-JQ; Sat, 11 Nov 2023 01:21:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630851.984008; Sat, 11 Nov 2023 01:21: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 1r1ch6-0008Jz-GI; Sat, 11 Nov 2023 01:21:52 +0000
Received: by outflank-mailman (input) for mailman id 630851;
 Sat, 11 Nov 2023 01:21: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=2YtC=GY=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r1ch5-0008Jt-FD
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 01:21:51 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7d00::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id afb1fc89-8030-11ee-98da-6d05b1d4d9a1;
 Sat, 11 Nov 2023 02:21:49 +0100 (CET)
Received: from AS8PR07CA0040.eurprd07.prod.outlook.com (2603:10a6:20b:459::11)
 by AS2PR08MB10035.eurprd08.prod.outlook.com (2603:10a6:20b:64a::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.22; Sat, 11 Nov
 2023 01:21:44 +0000
Received: from AMS1EPF00000040.eurprd04.prod.outlook.com
 (2603:10a6:20b:459:cafe::43) by AS8PR07CA0040.outlook.office365.com
 (2603:10a6:20b:459::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.12 via Frontend
 Transport; Sat, 11 Nov 2023 01:21:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000040.mail.protection.outlook.com (10.167.16.37) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.16 via Frontend Transport; Sat, 11 Nov 2023 01:21:42 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Sat, 11 Nov 2023 01:21:42 +0000
Received: from b22a1ebe07d2.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 4E54C2D9-2ADF-4DA1-9578-0C418B5E630A.1; 
 Sat, 11 Nov 2023 01:21:36 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b22a1ebe07d2.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Sat, 11 Nov 2023 01:21:36 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DBBPR08MB10553.eurprd08.prod.outlook.com (2603:10a6:10:52e::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Sat, 11 Nov
 2023 01:21:32 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.6977.019; Sat, 11 Nov 2023
 01:21: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: afb1fc89-8030-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=lCshI0Mkr9LonEB6JxkW2XnE3zpuaZUUHduOLyjaot/qe2sYlKIahasP4rmmDumWPVtI9l3kESxkJ5jy7IYg9LfMmA+ypAvcfhFIl7JagU2uV0AEOmhxxEEjxj9vCl0gZVQ1geir9v+uXWas4ffcFHKAfIvCpslzSdGOlQlC+j4xYF2gmpQJqg1g89rmiBf+KOpP+D/n733KjA73lI17po5xFO/1GErqhIHC7n1XGrnx+7Q48hLxARvGAz0T2uVkaPhyu/GzACMs3IEDUMIUAFXyxqiPIv0nwOfMlIEdJBmRO/F6Jyojmww8h6KguNA+lKZEwvIHHyY64CttPCeUPA==
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=p2sXg86LCr1N2uB6pq8vzT/TSqAl0SEi1JT9W4fYWOs=;
 b=BmB7Ug3jPhZVm9LU+/qqVsJ7lT9INqN0PBoSpGOZDKZNUU6OzCdEckv6lzwuurSaE3pxiOVR/zyd0L8lI0mtc28UzuPhxvcjWBCfQTRV8WZc8bCLmFEl7PfG30RMZJusoAQWsEfLK8oiAiK1p/oOpc6+uLRFqkxqcOBKKwxbgG4LgeeLrFlLFtUzV4LkbRPHvlxA05wpQMeZ+a7iEFeaZHThhxA1cYDLgWi0RD11xKcgqYu0SsTAGFHiypsyeN9ZJ8AQTy2EqnykNA7T8EM/S8oAEqupd8E3wfwCBFzqj4ePHxWE+Rq/KY1wZqqHAP8qKvSczAdpKKqETo4VkYvtHA==
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=p2sXg86LCr1N2uB6pq8vzT/TSqAl0SEi1JT9W4fYWOs=;
 b=rxPGp6ncGiTFos0SQsiJdFpQHr6JAhmBfx5uUWOOJ/cEWMFu5ssK+ZukMS0e7pfFGozj9wAgYgFqd4yBbddpI2ruM+jmFDN1Nik6jsdXcZIoFEWSwSqSKOTor8Dp0NH3Fa8Cm/L+bP37BMsBrJRBafGoWKXt9pI1Xgd1qVS7pG4=
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: e08b4e82f44586fc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jj9Ht1IHnsgoHYXbSM+l/6GQLBChCGHlk4Cvcx8WGlMzNyfn98tv2XMUlxrbigx/1R4TMwhKYCxU7qCJhuxpOOFmEWXGTIARPC4v53+Vs4b+cAGQggdlUFq9t6zj54KJ1DsRami8CspRUCcnkTkhLd48ot2zsmGK7fHbDR+yPp1+7HA464vaom6wUFEXPSuNkc1q0SeZGLdJSuQE/EMY+84CQrc1fVNe4VBx/BNjwJSiHzN5pcDFsCmcGIbXZGk16OCKBFswqCTDlkd3P2tsZdW/fGEbKTSFeQVpiyqMYlIBu+bPS+nuIc/VUzrf12ERIQPybdX1rZF/WzbQ1zMlFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p2sXg86LCr1N2uB6pq8vzT/TSqAl0SEi1JT9W4fYWOs=;
 b=TzzpFy+OhQC6OUZuznKaYwKHu5Wzitm7fBUeJmlyrKAGC9CnB7HlahKzeEFexCLzJLevSrXvxNyBdrPjm+1myRpp8glJm+KVC1z8gjD3ixa9JBh3JRzfETkwPXV7exWKE4OelnfFM1FJtKH8qZ5UbL+7jSf/z5eGqxzT3+MnDmqjlvFFUw40IP0lP2EoDFak3+NNtt9XJYofjP2V+h7KzLo27vNNjtASLyyOAMdzi+kfSwxdpoNpoB2E4JmRpy9PwGJQtXidhutkonU8uF23mEEbQgnK46Ki5WrFAUUSzP1+tTdT/OFeYobCoRKtXp1J9xxkiHit/e9i679t1CY+Yw==
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=p2sXg86LCr1N2uB6pq8vzT/TSqAl0SEi1JT9W4fYWOs=;
 b=rxPGp6ncGiTFos0SQsiJdFpQHr6JAhmBfx5uUWOOJ/cEWMFu5ssK+ZukMS0e7pfFGozj9wAgYgFqd4yBbddpI2ruM+jmFDN1Nik6jsdXcZIoFEWSwSqSKOTor8Dp0NH3Fa8Cm/L+bP37BMsBrJRBafGoWKXt9pI1Xgd1qVS7pG4=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Andrew Cooper
	<andrew.cooper3@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, George Dunlap <George.Dunlap@citrix.com>,
	Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH for-4.18] docs: Delete kconfig docs to fix licensing
 violation
Thread-Topic: [PATCH for-4.18] docs: Delete kconfig docs to fix licensing
 violation
Thread-Index: AQHaElHr9CpuYdM9HkyTsf3tvq3kirBx21iAgADRkYCAAXSpgIAAGY8AgAAa+wA=
Date: Sat, 11 Nov 2023 01:21:31 +0000
Message-ID: <8999EE57-3241-43B9-9424-8F23128B922B@arm.com>
References: <20231108143751.49309-1-andrew.cooper3@citrix.com>
 <a6f54856-f0e2-a2ef-5cbc-900ed87c5d31@suse.com>
 <alpine.DEB.2.22.394.2311091558380.3478774@ubuntu-linux-20-04-desktop>
 <a162733f-859f-41ce-8575-89b0e2cf702e@citrix.com>
 <alpine.DEB.2.22.394.2311101544120.3478774@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2311101544120.3478774@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3731.700.6)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DBBPR08MB10553:EE_|AMS1EPF00000040:EE_|AS2PR08MB10035:EE_
X-MS-Office365-Filtering-Correlation-Id: d3932e27-be65-424a-6031-08dbe2549051
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:
 71bxVc7DyiApnbcRlgQNAtcAAURfhJWdSBWEj3LbpGu8C+gd2w7c9VV9ye2vOkByYQGlzjDCFZcTjvp3RYW2n+YLy0QYA8+o/iDw8EZQWxGBhkLscmCMLxdMGu9eI38lvuRBg11FijXcxM/WIS+Ak9gOoSzf4Fvijku8VREs/0FPF/0afRYSBE3jlZ4bJu8muQFjTF87x14xBFKMP9Syb6T6yFVjxhb9Z5efEPBJfNfVa44rhyyf3fHqyDLn2FOWhwWIidaF8Ep30ReKl+d/n9sbeuEezP8us88jPaz2tDhDNuf2fXrWll/EF2wJMG7xeImb/aBjkFZc3m5GSBCsd6C/jNsb2DfP3vzwQqvJEIyN0OTbR/kO68COr3xDQbl4q1TG2CW52CS+8X8O+Ze4573WTtXFTTLNg5MMZyU6wa3HqOCduxWbVgiSlHjp6a58e6zG0Vu/PH4BKsj5tXsElmGV4kIcP5KONzQQIrmyQMHIykKo/ykQBnrfpALarMXIyIa3K+s1jWX7o/YGsStCJ7aJ2DYkdkZXUEoiIPWsSs0FVXU57nCnhYr7oJKA2NJ7Ct3gCjamUAHUvH7PGCaGljNO825zadnJbNcgt/3idHpAj7QyqgvnrX/LjK1qqUYfcLQ7ZTRqVHKoy8rz8w/3dw==
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:(13230031)(39860400002)(396003)(136003)(346002)(376002)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(66899024)(478600001)(966005)(6486002)(64756008)(2906002)(122000001)(38070700009)(33656002)(86362001)(83380400001)(38100700002)(316002)(6506007)(66556008)(66476007)(66946007)(91956017)(66446008)(26005)(2616005)(6512007)(53546011)(54906003)(76116006)(8676002)(5660300002)(8936002)(36756003)(4326008)(110136005)(71200400001)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <1E688BB004C3724BA76D83F89033F642@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10553
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:
 AMS1EPF00000040.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3c9cd3eb-7083-42e0-bd59-08dbe254896e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dq5H1OHgDArz4d+fnEeHRpipOIU51LE1xhBlSrc9stMSXJhS26d5UVOQfJumjV/nyhdQC1C3bLbSALpBrGvPnRNdLZ1sdV4xOph2SE+OOsPRRSenyMbH6S8l4DMZo9M+Ug5mri7qrmMX/5K5w/W8KCePCrlmZOnFczzOYdxhH8YXrCmapgXg7KOgnhOep56Y1jeAK4mWNnDIRlGjPwV9BTIPnMgAo6DVI/n2+29+iOYxJp7OETCmSID4TX1Zh/8y6duCnlsCsAHRUB7JQkB53ORHIYrw/sET8hGv+KvbgTaKKidbn5my6IT/Nrf+ZN+LwOYtMBkIWTZ0ukVoTbhGxlwQ+2LrKV/MqAGSMPmJBWW8ui03S9peU+PNcKwCJkKTi1cFfNKMkugfwES1em5VJdCyuu5FMR5FQKP5kNXDw0FkssiVpIEwo8Knq4YhkmIufo9iwJBlqmg6h9btZxIP3k6xRwUFljpUckq0CpqFoVo5RVFT72rPqTdQWsqfeYimsHJMHshnNW2zaWtlPjfhXLQWKCpqBrJn5IPN7fRMD64Bg8tBXyX2Wa2PTMpkijqUyQSyq3USl/QwmTgj7AReFzZ7eFK70071AKB1Piet5TcDJ5oqCCch5sDk/KFsLeA7KcmpE2FPhXGksv2jXlBPUewV2qbGjVXYZDVcUUD0BvybWHhdzuE3+UTJLzeh2MzCtZhapTrHkbXbqvM0Gsg5femoQEj08QXJCTHdT672hJ4=
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:(13230031)(4636009)(376002)(39860400002)(346002)(136003)(396003)(230922051799003)(82310400011)(451199024)(64100799003)(186009)(1800799009)(36840700001)(46966006)(40470700004)(40460700003)(66899024)(36860700001)(36756003)(2616005)(86362001)(966005)(6486002)(478600001)(6506007)(33656002)(53546011)(6512007)(82740400003)(5660300002)(2906002)(356005)(81166007)(4326008)(8676002)(8936002)(41300700001)(316002)(110136005)(54906003)(70206006)(70586007)(47076005)(336012)(83380400001)(26005)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Nov 2023 01:21:42.8970
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d3932e27-be65-424a-6031-08dbe2549051
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:
	AMS1EPF00000040.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10035

Hi,

> On Nov 11, 2023, at 07:44, Stefano Stabellini <sstabellini@kernel.org> wr=
ote:
>=20
> On Fri, 10 Nov 2023, Andrew Cooper wrote:
>> On 09/11/2023 11:59 pm, Stefano Stabellini wrote:
>>> On Thu, 9 Nov 2023, Jan Beulich wrote:
>>>> On 08.11.2023 15:37, Andrew Cooper wrote:
>>>>> These 3 Kconfig docs were imported from Linux erroneously.  They are
>>>>> GPL-2.0-only in Linux, but have no SPDX tag and were placed in such a=
 way to
>>>>> be included by the blanket statement saying that all RST files are CC=
-BY-4.0.
>>>>>=20
>>>>> We should not be carrying a shadow copy of these docs.  They aren't e=
ven wired
>>>>> into our Sphinx docs, and anyone wanting to refer to Kconfig docs is =
going to
>>>>> look at the Linux docs anyway.  These, and more docs can be found at:
>>>>>=20
>>>>>  https://www.kernel.org/doc/html/latest/kbuild/
>>>>>=20
>>>>> which also have corrections vs the snapshot we took.
>>>> Imo this reference ...
>>>>=20
>>>>> Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
>>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>>> ---
>>>>> CC: George Dunlap <George.Dunlap@citrix.com>
>>>>> CC: Jan Beulich <JBeulich@suse.com>
>>>>> CC: Stefano Stabellini <sstabellini@kernel.org>
>>>>> CC: Wei Liu <wl@xen.org>
>>>>> CC: Julien Grall <julien@xen.org>
>>>>> CC: Henry Wang <Henry.Wang@arm.com>
>>>>> ---
>>>>> docs/misc/kconfig-language.rst       | 701 --------------------------=
-
>>>>> docs/misc/kconfig-macro-language.rst | 247 ----------
>>>>> docs/misc/kconfig.rst                | 304 ------------
>>>>> 3 files changed, 1252 deletions(-)
>>>>> delete mode 100644 docs/misc/kconfig-language.rst
>>>>> delete mode 100644 docs/misc/kconfig-macro-language.rst
>>>>> delete mode 100644 docs/misc/kconfig.rst
>>>> ... wants putting into, say, the last of these three files you delete,=
 as
>>>> a replacement. I can't spot any other place where we would have such a
>>>> reference.
>>>>=20
>>>> One problem I see with deleting our shadow copy is that by referring t=
o
>>>> Linux'es doc, the wrong impression may arise that whatever new feature=
s
>>>> they invent we also support. Thoughts? (If nothing else, I'd expect th=
is
>>>> aspect to be mentioned / justified in the description.)
>>> I think the ideal solution would be to replace the shadow copies with a
>>> link to the Linux docs of a specific Linux tag (v5.4), instead of
>>> generic Linux master. I am not sure where to place the links though.
>>=20
>> I don't personally think we need to keep any other reference around.=20
>> They're not interesting, because they're not going to be found by anyone
>> except those who already know they're there, and won't need to refer to
>> them for the kind of content they provide.
>>=20
>> Kconfig isn't a fast-moving target, and there's nothing new in Linux vs
>> what we've got here.  The only interesting difference between us and
>> Linux is the fact we don't use modules, and we didn't even strip that
>> out of the shadow copy.
>>=20
>> We do have xen/tools/kconfig/README.source which states where it came fr=
om.
>>=20
>> I could be persuaded to add the following hunk.  What we have isn't
>> precisely v5.4 anyway - we've got some reasonable differences in the
>> makefile side of things.
>=20
> The below is good enough in my opinion. Ack.
>=20
>=20
>> diff --git a/xen/tools/kconfig/README.source
>> b/xen/tools/kconfig/README.source
>> index 44631f68e8..ac394106b9 100644
>> --- a/xen/tools/kconfig/README.source
>> +++ b/xen/tools/kconfig/README.source
>> @@ -5,5 +5,7 @@ in this part of the Xen source tree.
>> =20
>>  xen/tools/kconfig
>>  -----------------
>> -The kconfig directory was originally imported from the linux kernel
>> -git tree at kernel/git/torvalds/linux.git, path: scripts/kconfig
>> +The kconfig directory was originally imported from the Linux kernel
>> +git tree at kernel/git/torvalds/linux.git, path: scripts/kconfig of
>> +roughly v5.4.  Linux's documentation can be found at:
>> +https://www.kernel.org/doc/html/latest/kbuild/

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Sat Nov 11 01:23:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 01:23:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630853.984018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1cj1-0000u1-UW; Sat, 11 Nov 2023 01:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630853.984018; Sat, 11 Nov 2023 01: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 1r1cj1-0000tu-Rr; Sat, 11 Nov 2023 01:23:51 +0000
Received: by outflank-mailman (input) for mailman id 630853;
 Sat, 11 Nov 2023 01:23: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=mrjv=GY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1cj0-0000tn-F9
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 01:23:50 +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 f5fc1d27-8030-11ee-98da-6d05b1d4d9a1;
 Sat, 11 Nov 2023 02:23:48 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 1B769CE1712;
 Sat, 11 Nov 2023 01:23:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 50BCEC433C8;
 Sat, 11 Nov 2023 01:23:39 +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: f5fc1d27-8030-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699665820;
	bh=r7KKMfeOi+/NW7ECYa23LukpsKR+JX21zTZ203uYrdQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GqRhhjXx6x/sKUXg/pGKZN19I3SfTdDUeEG8a5gvOgg7a42QSg3UvBugzmBRcn7mm
	 2tF4mPYc1ptWNYVxOw10lqOMh9HYAxWWJYwdzG9U6r8FcCRWluGJ+Y/I64hNPtIIdW
	 UqZ90lgSh0ZAczNVFGvoIvilbX7NZtn4H8xkXwgGP4vpE7roxrqOOBKnJaN+F6Q1Bp
	 Ds2q/S6NxBmhha3Q/WnVl3GP9SjRFdLD/OBpI4HrgUMw+4KpSw4YWqcSeJfM4DGv3c
	 /plTJZMZ1h/DWDkZBytfP/0qQWDFMts9OEQV5cQTBhrnQoFnWXs0qjTqkn7ZaT25zG
	 39CBPjSS/RX9A==
Date: Fri, 10 Nov 2023 17:23:37 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Jan Beulich <jbeulich@suse.com>, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [RFC 1/4] x86/ioemul: address MISRA C:2012 Rule 9.3
In-Reply-To: <9888aa5c298584c22cf55b13befeaaa6@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311101719120.3478774@ubuntu-linux-20-04-desktop>
References: <cover.1698155925.git.nicola.vetrini@bugseng.com> <76c9f78179a8bb5b4f99b34f163933394f79066c.1698155925.git.nicola.vetrini@bugseng.com> <60e26ad6-7366-2604-e9b2-ed401cee6e73@suse.com> <alpine.DEB.2.22.394.2310241317030.271731@ubuntu-linux-20-04-desktop>
 <41562c7a-6260-3104-b2d4-d6fd4df0cffc@suse.com> <4e88d7ab94b9fc73554eee5b78612b63@bugseng.com> <8cb336ca-41ed-8adc-957a-28b5585c84f1@suse.com> <alpine.DEB.2.22.394.2310271419260.271731@ubuntu-linux-20-04-desktop>
 <9888aa5c298584c22cf55b13befeaaa6@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 6 Nov 2023, Nicola Vetrini wrote:
> > > > There's also this functionally equivalent alternative, with or without
> > > > the zeros, which
> > > > doesn't incur in the risk of mistakenly attempting to initialize the
> > > > same element twice,
> > > > while also giving an explicit cue to the reader that all elements are
> > > > truly zero-initialized.
> > > >
> > > >           .matches = {
> > > >               DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> > > >               DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL5"),
> > > > +            {0}, {0}
> > > >           },
> > > 
> > > Adding a dependency on the array actually having 4 elements (while iirc
> > > we have seen already that we could in principle go down to 3). A change
> > > of this number would then require touching all these sites, which is
> > > what we'd like to avoid.
> > 
> > How often the array needs to change though? Looking at the git history
> > it doesn't seem the number of elements ever changed. So I think it is a
> > good tradeoff, and I would go with this type of fix (maybe also at the
> > other locations mechanically too although I haven't looked at them in
> > details).
> 
> Hi, any updates on this? Considering the opinions expressed above, what would
> be the path preferred by the community?

Hi Jan, to bring this discussion to a conclusion, I think we have these
options:

1) fix these violations by adding {}, {}
2) fix these violations by adding [0]=xxx,[1]=xxx
3) deviate these violations by adding /* SAF-safe-xxx */
4) remove the MISRA rule 9.3 from docs/misra/rules.rst

Let's make a decision. My preference is 1) as we only have ~50
violations.


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 01:29:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 01:29:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630857.984028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1coJ-0001gO-HN; Sat, 11 Nov 2023 01:29:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630857.984028; Sat, 11 Nov 2023 01:29: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 1r1coJ-0001gH-EQ; Sat, 11 Nov 2023 01:29:19 +0000
Received: by outflank-mailman (input) for mailman id 630857;
 Sat, 11 Nov 2023 01:29: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=mrjv=GY=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r1coI-0001gB-5d
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 01:29:18 +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 b97d83a5-8031-11ee-9b0e-b553b5be7939;
 Sat, 11 Nov 2023 02:29:15 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 74CB261B4D;
 Sat, 11 Nov 2023 01:29:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E921C433C7;
 Sat, 11 Nov 2023 01:29: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: b97d83a5-8031-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699666152;
	bh=Qxuhe2GxH8zg5H2zI06Run0oen8nzBl7b3GfzB6y1vA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fa1Qhi7heOHuNVOuoba7govojjnavfwC3AEs14+0HESyrRkCNYSB6QFmt60clCZRq
	 FUFcVwsfqRkJwB0tELA6Yz7ztsE9u96NHHD/DQocpTnvFx2BqFuvw4I9WuB5HCGzUu
	 oh9ZJOi0xdfM6jiKqkmYPuIP1hcQaifL4Fm1Fc/YZfNUPICfAwEZv8LCHPj4+BiNSt
	 LDtsdjZHfuj7Z3lLkld6yPEQc3Nz8GFVIjCjgAmqDYm4Ylh5mA2RiPveRy9usGbVDO
	 CDwFsiBC4TjEsBj9NL1BsKDf2A8DImzkbjPKSl4Ux/6aeunAcd6/Q94xWUYb2vbRMP
	 eraSBKqEe1zHA==
Date: Fri, 10 Nov 2023 17:29:09 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Michal Orzel <michal.orzel@amd.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    viryaos-discuss@lists.sourceforge.net, xen-devel@lists.xenproject.org, 
    brian@woods.art
Subject: Re: [PATCH] Use hex for bitstream_size as expected by u-boot
In-Reply-To: <eb5b015c-0697-469b-be87-b933831fc351@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311101728300.3478774@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2311091740490.3478774@ubuntu-linux-20-04-desktop> <329849be-f2c1-4ca6-8b97-b288d163aeb1@xen.org> <dbab3224-a15b-41b4-9a1f-bef4222f3a9d@amd.com> <50ad4fb5-77c4-44f3-80cf-a2555d595e10@xen.org>
 <eb5b015c-0697-469b-be87-b933831fc351@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-482275272-1699666151=:3478774"

  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-482275272-1699666151=:3478774
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 10 Nov 2023, Julien Grall wrote:
> On 10/11/2023 10:08, Julien Grall wrote:
> > On 10/11/2023 10:01, Michal Orzel wrote:
> > > Hi Julien,
> > > 
> > > On 10/11/2023 10:27, Julien Grall wrote:
> > > > 
> > > > 
> > > > Hi Stefano,
> > > > 
> > > > On 10/11/2023 01:44, Stefano Stabellini wrote:
> > > > > Reported-by: Brian Woods <brian@woods.art>
> > > > > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> > > > > 
> > > > > diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> > > > > index b284887..6e52da5 100755
> > > > > --- a/scripts/uboot-script-gen
> > > > > +++ b/scripts/uboot-script-gen
> > > > > @@ -790,7 +790,7 @@ bitstream_load_and_config()
> > > > >            check_file_type "$BITSTREAM" "BIT data"
> > > > >            bitstream_addr=$memaddr
> > > > >            load_file $BITSTREAM "fpga_bitstream"
> > > > > -        bitstream_size=$filesize
> > > > > +        bitstream_size=`printf "0x%X\n" $filesize`
> > > > 
> > > > Looking at [1], there is no indication that the size parameter for "fpga
> > > > load" should be hexadecimal. At the contrary, all the example I have
> > > > found seems to use $filesize.
> > > U-boot expects size to be passed in hex format. You can see it here:
> > > https://github.com/u-boot/u-boot/blob/master/cmd/fpga.c#L60C20-L60C27
> > > 
> > > Also, AFAICT $filesize var that gets updated after image load (e.g. tftpb)
> > > is in hex format.
> > 
> > Hmmm, now that you are saying this... I vaguely recall we had some issues in
> > the past with the size. The format was not consistent across U-boot.
> > 
> > Maybe this is the same problem here?
> 
> I had a chat with Michal on Matrix. 'filesize' is a variable internal to the
> image-builder rather than U-boot. Hence the confusion.
> 
> The variable will be set in decimal. So it needs to be converted to
> hexadecimal. So the code seems to be correct.
> 
> That said, I think some clarifications is needed in the commit message to help
> understanding the code and at least giving a hint whether this code was ever
> tested (or this was introduced by a follow-up change).

Makes sense, I added an explanation on commit. Passing the parameter as
hex with 0x should make it work on both old and new versions of u-boot.
--8323329-482275272-1699666151=:3478774--


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 06:03:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 06:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630840.984037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1h5B-0000x7-7P; Sat, 11 Nov 2023 06:03:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630840.984037; Sat, 11 Nov 2023 06: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 1r1h5B-0000x0-4o; Sat, 11 Nov 2023 06:03:01 +0000
Received: by outflank-mailman (input) for mailman id 630840;
 Sat, 11 Nov 2023 01:10: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=wVGi=GY=proton.me=adresseinconnue@srs-se1.protection.inumbo.net>)
 id 1r1cW8-0005lG-3t
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 01:10:33 +0000
Received: from mail-40138.protonmail.ch (mail-40138.protonmail.ch
 [185.70.40.138]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1964223a-802f-11ee-9b0e-b553b5be7939;
 Sat, 11 Nov 2023 02:10:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1964223a-802f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me;
	s=protonmail; t=1699665026; x=1699924226;
	bh=aDMexFQmGPG6u56g0VnujM80HkyA9ltlhNf9uFT+QoI=;
	h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date:
	 Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector;
	b=NDfO1+ahS3gZZLJrsxgDr0ni0trRwwuXnzPVvtHRXpy0JwzgsrbaLaZnQ2U3jSgWt
	 rtSrlDfWl//gaOg3dehDyxD98D1uwPZR2zoxqfWi2wRhVNI1lAo4NnmB5RjIX9Fndu
	 an/HGzEZSlfo5oNEik0s38EZHmT6tyKkWhLK+GkSUUTlKfggq+WkjgPsK4rVjLN2If
	 +8dvTKRQzN2Hfgj7ysVvTIr+kDflKkSq02dVPM7TdEeKtcn/HZHd1fUcv6dVlkIO8j
	 +N+G1NI7yBdQ34VOsfnFzEUdox01F38CIrxZ9xgl6I3ZAd/L4ngGBumv1WTG5UqePD
	 sySwU7JcvNReA==
Date: Sat, 11 Nov 2023 01:10:13 +0000
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: adresseinconnue <adresseinconnue@proton.me>
Subject: Bug report: Qubes 4.2 RC4
Message-ID: <Sy3bgLQNkkk1ursClxwxZTiZVRZ88NIlc7gspd7nCdFlrqWKGLunFkzrETElI5XTJmq3q6akcY-oGyHcOE-oRHZYx5dTekuh1SuziXaO9zk=@proton.me>
Feedback-ID: 49686843:user:proton
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary="b1_bEnBJz2iQnlCCqk5O5CvkYXUonLRpT2CSkb6i2QI8A"

This is a multi-part message in MIME format.

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

SGVsbG8sIEkgaGF2ZSBmaWxlZCBhIGJ1ZyByZXBvcnQgW29uIEdpdEh1Yl0oaHR0cHM6Ly94ZW4t
ZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcpIGFib3V0IG15IFdpRmkgY2FyZC4gVGhlIHJlcG9y
dCByZWZlcmVuY2VzIGEgdmVyeSBkZXRhaWxlZCBpbml0aWFsIHBvc3Qgb24gdGhlIFF1YmVzIGZv
cnVtIGFib3V0IHRoZSBzaXR1YXRpb24sIHdoaWNoIHlvdSBjYW4gW2ZpbmQgaGVyZV0oaHR0cHM6
Ly94ZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcpLiBUaGFuayB5b3UgZm9yIGxvb2tpbmcg
aW50byB0aGlzLg==

--b1_bEnBJz2iQnlCCqk5O5CvkYXUonLRpT2CSkb6i2QI8A
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: base64

PGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDE0
cHg7Ij5IZWxsbywgSSBoYXZlIGZpbGVkIGEgYnVnIHJlcG9ydCA8YSBocmVmPSJodHRwczovL3hl
bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIgdGl0bGU9Im9uIEdpdEh1YiI+b24gR2l0SHVi
PC9hPiBhYm91dCBteSBXaUZpIGNhcmQuIFRoZSByZXBvcnQgcmVmZXJlbmNlcyBhIHZlcnkgZGV0
YWlsZWQgaW5pdGlhbCBwb3N0IG9uIHRoZSBRdWJlcyBmb3J1bSBhYm91dCB0aGUgc2l0dWF0aW9u
LCB3aGljaCB5b3UgY2FuIDxhIGhyZWY9Imh0dHBzOi8veGVuLWRldmVsQGxpc3RzLnhlbnByb2pl
Y3Qub3JnIiB0aXRsZT0iZmluZCBoZXJlIj5maW5kIGhlcmU8L2E+LiBUaGFuayB5b3UgZm9yIGxv
b2tpbmcgaW50byB0aGlzLjxicj48L2Rpdj4NCg0K


--b1_bEnBJz2iQnlCCqk5O5CvkYXUonLRpT2CSkb6i2QI8A--



From xen-devel-bounces@lists.xenproject.org Sat Nov 11 08:02:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 08:02:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630883.984048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1iwJ-0000dW-8Q; Sat, 11 Nov 2023 08:01:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630883.984048; Sat, 11 Nov 2023 08: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 1r1iwJ-0000dP-5V; Sat, 11 Nov 2023 08:01:59 +0000
Received: by outflank-mailman (input) for mailman id 630883;
 Sat, 11 Nov 2023 08:01: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 1r1iwH-0000dF-Mn; Sat, 11 Nov 2023 08:01: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 1r1iwG-000109-Uq; Sat, 11 Nov 2023 08:01: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 1r1iwG-00046g-Ga; Sat, 11 Nov 2023 08:01:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1iwG-00024a-G9; Sat, 11 Nov 2023 08:01: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=iOCT4dGveLVf7SxTOO0guXl3ymkUPwgySTd+wgcOFXE=; b=R80qK7/ltcgry1IUv8C3ZpUhj0
	ePUO2jL3PAnGW8XOHnECDbSFj/fsaKgNOGnYKZK6K8BTAI/klSy/SFyBbpa6R7oEMgQ/ufxdH13os
	YMuiWpx3wM5aYNoignjcg6KL8UypuPolUHEoQ/h16hjMr46CJfwDUG3xQX7GXuVEAnWs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183733-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183733: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=33deaa3b845f0d588ffd068003558be46f90aaac
X-Osstest-Versions-That:
    ovmf=589f2e49e5f9ff998bd4f08cbf28a1572ab7b544
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Nov 2023 08:01:56 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 33deaa3b845f0d588ffd068003558be46f90aaac
baseline version:
 ovmf                 589f2e49e5f9ff998bd4f08cbf28a1572ab7b544

Last test of basis   183725  2023-11-10 01:45:00 Z    1 days
Testing same since   183733  2023-11-11 02:41:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Leif Lindholm <quic_llindhol@quicinc.com>
  Michael D Kinney <michael.d.kinney@intel.com>
  Rebecca Cran <rebecca@bsdio.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
   589f2e49e5..33deaa3b84  33deaa3b845f0d588ffd068003558be46f90aaac -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 08:46:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 08:46:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630893.984058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1jci-0006Mx-KK; Sat, 11 Nov 2023 08:45:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630893.984058; Sat, 11 Nov 2023 08:45: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 1r1jci-0006Mq-H6; Sat, 11 Nov 2023 08:45:48 +0000
Received: by outflank-mailman (input) for mailman id 630893;
 Sat, 11 Nov 2023 08:45: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 1r1jch-0006Mg-LL; Sat, 11 Nov 2023 08:45: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 1r1jch-0002Cw-Es; Sat, 11 Nov 2023 08:45: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 1r1jch-0005nU-0a; Sat, 11 Nov 2023 08:45:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1jch-0005A2-05; Sat, 11 Nov 2023 08:45: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=1fQGlQuOlWw4/hVeZOdlbxgKM0U8WUsC0PqFKucr5s4=; b=4y7nypZtwVgxX8+hC8gw+CEEwU
	eOwysN9Th7FKp2C4zdZcUw8LWGsOxwuGsNYS4ZOk0nK3FXBd+nCRC497If5NlVRpIVm10bLaN6lOZ
	0PdxSYbOc+IExhcQVDb6D5wVD8Ael+mHyyZPVBRNizpPihDNgSb4g23JUWKjGLRADsa4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183731-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183731: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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-credit2:migrate-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-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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3ca112b71f35dd5d99fc4571a56b5fc6f0c15814
X-Osstest-Versions-That:
    linux=89cdf9d556016a54ff6ddd62324aa5ec790c05cc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Nov 2023 08:45:47 +0000

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

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 183728
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183728
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183728
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183728
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183728
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183728
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183728
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183728
 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-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-arm64-arm64-xl-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  16 saverestore-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-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-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-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-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-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-libvirt     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

version targeted for testing:
 linux                3ca112b71f35dd5d99fc4571a56b5fc6f0c15814
baseline version:
 linux                89cdf9d556016a54ff6ddd62324aa5ec790c05cc

Last test of basis   183728  2023-11-10 06:14:27 Z    1 days
Failing since        183730  2023-11-10 19:13:44 Z    0 days    2 attempts
Testing same since   183731  2023-11-11 01:42:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Adrian Hunter <adrian.hunter@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Spataru <alex_spataru@outlook.com>
  Alexander Koskovich <akoskovich@pm.me>
  Alexander Mikhalitsyn <aleksandr.mikhalitsyn@canonical.com>
  Alexandre Ghiti <alexghiti@rivosinc.com>
  Alvin Lee <alvin.lee2@amd.com>
  Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
  Anders Roxell <anders.roxell@linaro.org>
  Andreas Schwab <schwab@suse.de>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
  Anthony Koo <anthony.koo@amd.com>
  Anuj Gupta <anuj20.g@samsung.com>
  Anup Patel <apatel@ventanamicro.com>
  Aric Cyr <aric.cyr@amd.com>
  Arnd Bergmann <arnd@arndb.de>
  Arınç ÜNAL <arinc.unal@arinc9.com>
  Asad Kamal <asad.kamal@amd.com>
  Bean Huo <beanhuo@micron.com>
  Bjorn Helgaas <bhelgaas@google.com>
  Björn Töpel <bjorn@rivosinc.com>
  Bragatheswaran Manickavel <bragathemanick0908@gmail.com>
  Catalin Marinas <catalin.marinas@arm.com>
  Chaitanya Dhere <chaitanya.dhere@amd.com>
  Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
  Charlie Jenkins <charlie@rivosinc.com>
  Christian Brauner <brauner@kernel.org>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@lst.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  ChunTao Tso <chuntao.tso@amd.com>
  Clément Léger <cleger@rivosinc.com>
  Conor Dooley <conor.dooley@microchip.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Miess <daniel.miess@amd.com>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wagner <dwagner@suse.de>
  Daniel Wheeler <daniel.wheeler@amd.com>
  David Lin <CTLIN0@nuvoton.com>
  David Rau <David.Rau.opensource@dm.renesas.com>
  David Yat Sin <David.YatSin@amd.com>
  Dennis Chan <Dennis.Chan@amd.com>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Douglas Anderson <dianders@chromium.org>
  Drew Fustini <dfustini@baylibre.com>
  Dylan Yudaken <dyudaken@gmail.com>
  Emil Renner Berthing <emil.renner.berthing@canonical.com>
  Emil Renner Berthing <kernel@esmil.dk>
  Eric Biggers <ebiggers@google.com>
  Erik Kurzinger <ekurzinger@nvidia.com>
  Eugen Hristev <eugen.hristev@collabora.com>
  Evan Green <evan@rivosinc.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Felix Kuehling <Felix.Kuehling@amd.com>
  Florian Fainelli <f.fainelli@gmail.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  George Shen <george.shen@amd.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  Guo Ren <guoren@kernel.org>
  Hannes Reinecke <hare@suse.de>
  Haorong Lu <ancientmodern4@gmail.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Hawking Zhang <Hawking.Zhang@amd.com>
  Helge Deller <deller@gmx.de>
  Hersen Wu <hersenxs.wu@amd.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Hunter Chasens <hunter.chasens18@ncf.edu>
  Ilkka Koskinen <ilkka@os.amperecomputing.com>
  Ilya Bakoulin <ilya.bakoulin@amd.com>
  Ilya Dryomov <idryomov@gmail.com>
  Jani Nikula <jani.nikula@intel.com>
  Jens Axboe <axboe@kernel.dk>
  Jerome Brunet <jbrunet@baylibre.com>
  Jia He <justin.he@arm.com>
  Jiadong Zhu <Jiadong.Zhu@amd.com>
  Jinyu Tang <tangjinyu@tinylab.org>
  JinZe.Xu <jinze.xu@amd.com>
  Jisheng Zhang <jszhang@kernel.org>
  Joshua Aberback <joshua.aberback@amd.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Kai-Heng Feng <kai.heng.geng@canonical.com>
  Kailang Yang <kailang@realtek.com>
  Kanchan Joshi <joshi.k@samsung.com>
  Keguang Zhang <keguang.zhang@gmail.com>
  Keith Busch <kbusch@kernel.org>
  Kenji Tomonaga <tkenbo@gmail.com>
  Kevin Brodsky <kevin.brodsky@arm.com>
  Kunwu Chan <chentao@kylinos.cn>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> #
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> # On RZ/Five SMARC
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> #On
  Le Ma <le.ma@amd.com>
  Li Lingfeng <lilingfeng3@huawei.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Marc Zyngier <maz@kernel.org>
  Marielle Novastrider <marielle@novastrider.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Mark Hasemeyer <markhas@chromium.org>
  Mark O'Donovan <shiftee@posteo.net>
  Mark Rutland <mark.rutland@arm.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Maxime Ripard <mripard@kernel.org>
  Mayuresh Chitale <mchitale@ventanamicro.com>
  Mika Kahola <mika.kahola@intel.com>
  Mikhail Gavrilov <mikhail.v.gavrilov@gmail.com>
  Miquel Raynal <miquel.raynal@bootlin.com>
  Nam Cao <namcaov@gmail.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Nathan Chancellor <nathan@kernel.org>
  Nirmoy Das <nirmoy.das@intel.com>
  Nitin Yadav <n-yadav@ti.com>
  Ondrej Mosnacek <omosnace@redhat.com>
  Ovidiu Bunea <ovidiu.bunea@amd.com>
  Palmer Dabbelt <palmer@rivosinc.com>
  Paul Moore <paul@paul-moore.com>
  Peter Lafreniere <peter@n8pjl.ca>
  Petr Tesarik <petr.tesarik1@huawei-partners.com>
  Petr Tesarik <petrtesarik@huaweicloud.com>
  Philipp Stanner <pstanner@redhat.com>
  Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
  Rafael Beims <rafael.beims@toradex.com>
  Randy Dunlap <rdunlap@infradead.org> (v2)
  Rob Herring <robh@kernel.org>
  Rodrigo Siqueira <rodrigo.siqueira@amd.com>
  Roman Li <roman.li@amd.com>
  Samuel Holland <samuel.holland@sifive.com>
  Sergio Paracuellos <sergio.paracuellos@gmail.com>
  Shuming Fan <shumingf@realtek.com>
  Simon Ser <contact@emersion.fr>
  Steve French <stfrench@microsoft.com>
  Sung Joon Kim <sungkim@amd.com>
  Surbhi Kakarya <surbhi.kakarya@amd.com>
  Syed Saba Kareem <Syed.SabaKareem@amd.com>
  Taimur Hassan <syed.hassan@amd.com>
  Takashi Iwai <tiwai@suse.de>
  Tao Zhou <tao.zhou1@amd.com>
  Thierry Reding <thierry.reding@gmail.com>
  Thomas Bogendoerfer <tsbogend@alpha.franken.de>
  Tiezhu Yang <yangtiezhu@loongson.cn>
  Tim Huang <Tim.Huang@amd.com>
  Tony Lindgren <tony@atomide.com>
  Tvrtko Ursulin <tvrtko.ursulin@intel.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Victor Lu <victorchengchi.lu@amd.com>
  Victor Shih <victor.shih@genesyslogic.com.tw>
  Ville Syrjälä <ville.syrjala@linux.intel.com>
  Vitalii Torshyn <vitaly.torshyn@gmail.com>
  Vitaly Prosyak <vitaly.prosyak@amd.com>
  Weidong Wang <wangweidong.a@awinic.com>
  Wenjing Liu <wenjing.liu@amd.com>
  Will Deacon <will@kernel.org>
  Wolfram Sang <wsa+renesas@sang-engineering.com>
  wuqiang.matt <wuqiang.matt@bytedance.com>
  Xiao Wang <xiao.w.wang@intel.com>
  Xiubo Li <xiubli@redhat.com>
  Yang Wang <kevinyang.wang@amd.com>
  Ye Bin <yebin10@huawei.com>
  Yihan Zhu <yihan.zhu@amd.com>
  Yu Chien Peter Lin <peterlin@andestech.com>
  Yu Kuai <yukuai3@huawei.com>
  Yujie Liu <yujie.liu@intel.com>
  Yunhui Cui <cuiyunhui@bytedance.com>
  Zongmin Zhou <zhouzongmin@kylinos.cn>

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-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-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
   89cdf9d55601..3ca112b71f35  3ca112b71f35dd5d99fc4571a56b5fc6f0c15814 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 10:24:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 10:24:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630923.984068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1lA4-0002W3-Ej; Sat, 11 Nov 2023 10:24:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630923.984068; Sat, 11 Nov 2023 10: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 1r1lA4-0002Vi-8B; Sat, 11 Nov 2023 10:24:20 +0000
Received: by outflank-mailman (input) for mailman id 630923;
 Sat, 11 Nov 2023 10:24: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=myXE=GY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1lA2-0002Vc-8d
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 10:24:18 +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 76938952-807c-11ee-9b0e-b553b5be7939;
 Sat, 11 Nov 2023 11:24:15 +0100 (CET)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2c50305c5c4so40110261fa.1
 for <xen-devel@lists.xenproject.org>; Sat, 11 Nov 2023 02:24:15 -0800 (PST)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 f19-20020a2ea0d3000000b002c02b36d381sm199200ljm.88.2023.11.11.02.24.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 11 Nov 2023 02:24:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76938952-807c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699698254; x=1700303054; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=0j1YaKmChFRAui/cTzs4ZoVM2GRQ3YXnysM1v4SVVf4=;
        b=kcr5wX7sPSixAGvdtnP1NDCZz5wQ9h/23hZmQ60/+gjVWaERlp3+csX3lZHwlRI8ts
         fDzEpNg1pjplh3qCO5jl0h6BjvKyDSE/tjqbjRb5EFe/6arSSS3p6CoCqpW4AhmBTuF1
         zoKr9SY7A3SRYg9dhb+AzZ7oONsxI2Q7dAkOMaoKZDUlsmsSK21SkUgTWyLvMlK6sJwK
         SeUV6tFGr1gry3TqhhE3cF5gnLuYWvy20BqwgFumvHCodAJ3C/5jlHch6S3ehNa51gJz
         8ada6Ie0EeRV683QNtWS5sE0js8nFO2YxsoFgJDChBW7QYJbuHGK9Bzy/5eCqGI7L5sM
         tI0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699698254; x=1700303054;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0j1YaKmChFRAui/cTzs4ZoVM2GRQ3YXnysM1v4SVVf4=;
        b=pNiyC7thPVJg43nHujw5XrajmPaTVxOSDOzjZ1FhOdMBOHm/jiyPgV1xmWi9ujCYAE
         asYW0Nh+hoOvQ0ymkeY/d3W4u39rTWaugjsYNAqYAvcqyb9yVmh07pGyjZFLy/jT+1s5
         phazmgpzvBHZp2PlVDJI4Op7c8dkSMhhy0cnj5zaRqHqlCpyHpYjdLoUKStUqVF542L8
         5Nl/xtK0NrLSO1NBP5jcJO2DWLgBtSYVLGLUbEgLX9az3/40n6QqcnxCAXQWg0fBK0n1
         yjkf0HerFUdNitJBCc0yq/lv/3kRBJvjzEZa0W0OcOvswISE6PI7Ybn7OBiJESGHCEk5
         Ww2w==
X-Gm-Message-State: AOJu0Yyy/j/bPWDI0+sThhOW00HksvJtULGLsAnw9sto2RKKMslEqRb7
	rZMRj2+pmoVQY6CO2ZgY5YnpeREKZIs=
X-Google-Smtp-Source: AGHT+IF9dshkylQMPY1fIyIRnH6ZJmvXsbIoOcS4MQlSzE3ZOVNAREK3q0i4c0bScfjA6G5B4rKG2g==
X-Received: by 2002:a2e:8681:0:b0:2c5:1b01:b67f with SMTP id l1-20020a2e8681000000b002c51b01b67fmr1311772lji.52.1699698253935;
        Sat, 11 Nov 2023 02:24:13 -0800 (PST)
Message-ID: <e66e60744fe517c09ea16efc69cc329443025ef1.camel@gmail.com>
Subject: Re: [PATCH v2 06/15] xen/asm-generic: ifdef inclusion of
 <asm/mem_access.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas@tklengyel.com>, Alexandru Isaila
 <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>,
 Jan Beulich <jbeulich@suse.com>
Date: Sat, 11 Nov 2023 12:24:12 +0200
In-Reply-To: <7ab8ce9ca633a5a7e5212d0acc62d6e1d4688ca0.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <7ab8ce9ca633a5a7e5212d0acc62d6e1d4688ca0.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

This patch should be reworked as it fails Arm builds:
https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1068867920

It looks like it is not possible just to #ifdef CONFIG_MEM_ACCESS.

An empty asm-generic mem_access.h will be better solution.

Could you please share your opinion?

~ Oleksii

On Fri, 2023-11-10 at 18:30 +0200, Oleksii Kurochko wrote:
> ifdefing inclusion of <asm/mem_access.h> in <xen/mem_access.h>
> allows to avoid generation of empty <asm/mem_access.h> header
> for the case when !CONFIG_MEM_ACCESS.
>=20
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V2:
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- add Suggested-by: Jan B=
eulich <jbeulich@suse.com>
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update the commit messa=
ge
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- remove <asm-generic/mem=
_access.h>
> ---
> =C2=A0xen/include/xen/mem_access.h | 2 ++
> =C2=A01 file changed, 2 insertions(+)
>=20
> diff --git a/xen/include/xen/mem_access.h
> b/xen/include/xen/mem_access.h
> index 4e4811680d..87d93b31f6 100644
> --- a/xen/include/xen/mem_access.h
> +++ b/xen/include/xen/mem_access.h
> @@ -33,7 +33,9 @@
> =C2=A0 */
> =C2=A0struct vm_event_st;
> =C2=A0
> +#ifdef CONFIG_MEM_ACCESS
> =C2=A0#include <asm/mem_access.h>
> +#endif
> =C2=A0
> =C2=A0/*
> =C2=A0 * Additional access types, which are used to further restrict



From xen-devel-bounces@lists.xenproject.org Sat Nov 11 10:26:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 10:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630926.984078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1lBf-000355-S1; Sat, 11 Nov 2023 10:25:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630926.984078; Sat, 11 Nov 2023 10:25: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 1r1lBf-00034y-P7; Sat, 11 Nov 2023 10:25:59 +0000
Received: by outflank-mailman (input) for mailman id 630926;
 Sat, 11 Nov 2023 10:25: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=myXE=GY=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r1lBe-00034o-NF
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 10:25:58 +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 b31ba5da-807c-11ee-9b0e-b553b5be7939;
 Sat, 11 Nov 2023 11:25:56 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-9dd3f4a0f5aso454771666b.1
 for <xen-devel@lists.xenproject.org>; Sat, 11 Nov 2023 02:25:56 -0800 (PST)
Received: from [192.168.201.133] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 uz4-20020a170907118400b0099290e2c163sm838644ejb.204.2023.11.11.02.25.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 11 Nov 2023 02:25:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b31ba5da-807c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699698355; x=1700303155; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=9nFw4vByno42rpl+iWpdPWrnlzh718eU956fTv/JX74=;
        b=MjxP9yHfC90qk6GUL1XJm735lwMQkrG/ELnJHs4ae5Qyj2VQqNrvx5T9Jp+LRJf2XY
         93XWYPY34ktwLPNypXjDhxz0DUYJuDCMpT1Wq52LkWovGxuUYs+jR1m3V/9fIP6DxzQF
         awfgSNhrnQZyqseDFgs7CK96C25A4meGIuUyTT1Lwo+Y4Iuxh5eXQ+4qcM08PksMHgJK
         W3A8O+oejwochCDFXjHeWqUbjaCco1Rx4amnhQsgBpEmlY9aagTLdmdBYjN9tdmR1k9H
         iFuWAUuZ+ozVWRV1BgWof6WFwpbtnt/IOVGaQQQJU0tuu2Xbc+fejxT/Aus7Un/1eJq4
         ZgdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699698355; x=1700303155;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9nFw4vByno42rpl+iWpdPWrnlzh718eU956fTv/JX74=;
        b=czP+268T5QJGP2FLRFf14A5csbSJWI7O7LDzxxO/Cb2iOVg7ekw2WWypVA9VzL8La+
         aY7X9NEDPlXjna5EYklBHxMs0zJs4+auFUBXCe6Pm9UWYP6tKoL12//InrGwzzQI4ytD
         peK2/BiVYNlnXgtrvr8/DcYm8jo5rxiumjC6XePF6uBTMT18xBSBKEtrY+d2yiDEoNka
         5dioBmC67/eqTLo5ss6GWfpG55ZttzWqMm46+FPhzQbK43UzkDkD8IXYYZ/oOLEAHUem
         nosKcmhaQ1dkgXRcafm1bfvezVq7Gcj/xVlS0jQueYqbgl2GnIdJanH6bapIm9yrvoUR
         awmw==
X-Gm-Message-State: AOJu0YxoZDCObGPoyx2CoXjNxj3tW+Q1ehLZA+AH3yy1tWR8QBMDD4M/
	dWVLrnf+vjVA+PXc5UHxdtbmlFoLLfQ=
X-Google-Smtp-Source: AGHT+IHUa7xdR+1TgiGjrnSzQ/E4ca4uZqBA8nq998RSk6tXrKHirkZkq69hvboPXHND0rW4SQ49eQ==
X-Received: by 2002:a17:906:1d0b:b0:9df:2fb1:1a83 with SMTP id n11-20020a1709061d0b00b009df2fb11a83mr1047225ejh.39.1699698355128;
        Sat, 11 Nov 2023 02:25:55 -0800 (PST)
Message-ID: <928557f8d62941a2524fc67b7067a777e2180db2.camel@gmail.com>
Subject: Re: [PATCH v2 03/15] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
From: Oleksii <oleksii.kurochko@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>
Date: Sat, 11 Nov 2023 12:25:53 +0200
In-Reply-To: <cd1341ae337fc9a1619d747b3db1a7a5cd6ad2fb.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <cd1341ae337fc9a1619d747b3db1a7a5cd6ad2fb.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

I missed to check the patch properly.

The patch fails for Arm randconfigs:
https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1068865674

I need to do an additional investigation.

Does it make sense to re-send this patch separately out of this patch
series?

~ Oleksii

On Fri, 2023-11-10 at 18:30 +0200, Oleksii Kurochko wrote:
> Ifdefing inclusion of <asm/grant_table.h> allows to avoid
> generation of empty <asm/grant_table.h> for cases when
> CONFIG_GRANT_TABLE is not enabled.
>=20
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V2:
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- ifdef inclusion of asm/=
grant_table.h in xen/grant_table.h
> to avoid
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 generation of empt=
y headers for PPC and RISC-V archs.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update commit message
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- add Suggested-by: Jan B=
eulich <jbeulich@suse.com>
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- Remove provided before =
asm-generic/grant_table.h header.
> ---
> =C2=A0xen/include/xen/grant_table.h | 3 +++
> =C2=A01 file changed, 3 insertions(+)
>=20
> diff --git a/xen/include/xen/grant_table.h
> b/xen/include/xen/grant_table.h
> index 85fe6b7b5e..50edfecfb6 100644
> --- a/xen/include/xen/grant_table.h
> +++ b/xen/include/xen/grant_table.h
> @@ -26,7 +26,10 @@
> =C2=A0#include <xen/mm-frame.h>
> =C2=A0#include <xen/rwlock.h>
> =C2=A0#include <public/grant_table.h>
> +
> +#ifdef CONFIG_GRANT_TABLE
> =C2=A0#include <asm/grant_table.h>
> +#endif
> =C2=A0
> =C2=A0struct grant_table;
> =C2=A0



From xen-devel-bounces@lists.xenproject.org Sat Nov 11 10:56:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 10:56:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630937.984087 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1lf6-0007ll-1c; Sat, 11 Nov 2023 10:56:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630937.984087; Sat, 11 Nov 2023 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 1r1lf5-0007le-VA; Sat, 11 Nov 2023 10:56:23 +0000
Received: by outflank-mailman (input) for mailman id 630937;
 Sat, 11 Nov 2023 10:56: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=sSCd=GY=casper.srs.infradead.org=BATV+506890241e50857960ff+7384+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r1lf3-0007lV-M5
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 10:56:22 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f016feee-8080-11ee-9b0e-b553b5be7939;
 Sat, 11 Nov 2023 11:56:18 +0100 (CET)
Received: from [212.140.138.205] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r1leY-001UqE-0P; Sat, 11 Nov 2023 10:55: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: f016feee-8080-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=DVbTmnWe7Plq4NFZkF0ZqgCXGJvh0pF1VJEUnEsvV+I=; b=Xg4YA6O9z0Q0pIDlzHpyT51KYT
	vIs/GNb2ohChevcpNbZAup0owD+u9OMgaCD49qGmzEYpM0APnlTBVpa4TuELCqnR8HZTa4VhibH48
	lBNEPbEit185ivbxcLBLF8b38W+80kfPuim5KF0rCz57SDrdR9t1vN4Uu/fNjf2nKzTXK5/R2Jcqs
	0exjw6CLcap6dn3aEneR24U7JWBOHdFtqLg3PkzGWroIs5dBqkDTz177xMSMDJ4Ls2V/N0yn8FQjV
	U4nc+jGX9ajBhgn9bkQF7TFC83gcykn1RtUyWtMr2o8ITkSY6zz6IvlgUMjqEoJlsm2Ds9IpQcTwf
	ZjSrleqw==;
Message-ID: <f2f7751a9ea5597e9f7a1417b761fe0802892aa8.camel@infradead.org>
Subject: Re: [PATCH v1 1/7] xen-block: Do not write frontend nodes
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "qemu-devel@nongnu.org"
	 <qemu-devel@nongnu.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz
 <hreitz@redhat.com>, "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>, "open list:Block layer core"
 <qemu-block@nongnu.org>
Date: Sat, 11 Nov 2023 10:55:49 +0000
In-Reply-To: <20231110204207.2927514-2-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
	 <20231110204207.2927514-2-volodymyr_babchuk@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-rYLwzndIgUvuHS/WMu0S"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2023-11-10 at 20:42 +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>=20
> The PV backend running in other than Dom0 domain (non toolstack domain)
> is not allowed to write frontend nodes. The more, the backend does not
> need to do that at all, this is purely toolstack/xl devd business.
>=20
> I do not know for what reason the backend does that here, this is not rea=
lly
> needed, probably it is just a leftover and all xen_device_frontend_printf=
()
> instances should go away completely.

No, this is what allows qemu to create PV devices, as opposed to just
handle the ones which are created for it by the toolstack.

Perhaps we should only create the frontend nodes (and likewise, only
destroy those and the backend nodes on destruction) in the case where
the device was instantiated directly by the QEMU command line, and
refrain from doing so for the devices which were created by the
toolstack and merely 'discovered' by xen_block_device_create()?

(Note that we need to look at net and console devices too, now they've
finally been converted to the 'new' XenBus framework in QEMU 8.2.)



--=-rYLwzndIgUvuHS/WMu0S
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTExMTA1NTQ5WjAvBgkqhkiG9w0BCQQxIgQgjmUdAimc
8aYQu3Af90VH3FjvBaObT6MB6wnXSAFtHVUwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBYqJxJJSjS284Z03dpRFf10No4jdy4QK0T
bVLIfSwLjxFNuLI/FuwDBdo38SwssRoSMnEfArPTgZO3lLeIolE7yDgavgOKAqU0NxcLDCiQgsUQ
bLsOtefLfJYwrZRQPNzq78ozwbi7Prjtlja1wpOLdpoIorsieYVVA/32NkQ8DOumrDNiAE+TpwYX
RLiPrvKSXGzPYw1lsloiBdFGp/PSCRzn5aoE9bAtIqFLgUL7v67TI78mx1XF0hNQ3cbVm7z/Wfe6
SKkOkj1J6EjO2pSabRMmyfNoKsGmX7bzF1cR9GLcriroqnqVLSN/EFHM4V9kDvYp6aX+ATT1Ustp
OnIQlzcp3sNPqiPoOMLYhEaNEYcVpCi1bT43AqhR9TMc4QQ3iBbyzxMpzN7d451zQx95iPHzoj7H
4tmwxuXeg+xtySNYiFWSBTwvu4fOCUb1SAquMk2PTSb5u08yGd6vdepjHBfDN/3E07KtLcza7qX2
79o6Mhy8KCwfLQ7pIswRMjbb7iy19wrQ9rFt++i1jN3XOqE4rXC+WVlufd+8yezwotxXpf4Ck+t1
aw0tu6kbII8MEEEjxIWF3v2nBCfiqs7inzJ7zkA5rKYf55U7BuT2kGJjYUuk5ZnsSvwzEh3iaZ7Y
KthiznVOXnVPoIyrIwaHxFN3qAN9nFV1mwLIR8+oTQAAAAAAAA==


--=-rYLwzndIgUvuHS/WMu0S--


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 11:02:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 11:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630941.984098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1lkW-0000pD-Lz; Sat, 11 Nov 2023 11:02:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630941.984098; Sat, 11 Nov 2023 11:02: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 1r1lkW-0000p6-IW; Sat, 11 Nov 2023 11:02:00 +0000
Received: by outflank-mailman (input) for mailman id 630941;
 Sat, 11 Nov 2023 11:01: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=sSCd=GY=casper.srs.infradead.org=BATV+506890241e50857960ff+7384+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r1lkV-0000p0-Mi
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 11:01:59 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bad0412a-8081-11ee-98da-6d05b1d4d9a1;
 Sat, 11 Nov 2023 12:01:58 +0100 (CET)
Received: from [212.140.138.205] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r1lkH-001V33-4S; Sat, 11 Nov 2023 11: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>
X-Inumbo-ID: bad0412a-8081-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=+W5t7aWdDIygjJeZx7oXR/ON3CtwyakM74ULTw44Miw=; b=COJe8+oRNzMNGDLpvCCEWqHNtA
	cscw8Gs5VWvHF38EPT8zLiwiimFa2pgcZkSmuv2XHKfZJ5wojYuGfzg8cb75uwJdxU/qWdnv3nHBS
	GYaZQYwLnhkLnVok0j6vsmBzEXTsXkmLq9YPMdeFXXUZhFQQUC42XVQZFjFZM+4qWPLRN9DSuSaeP
	U1Zq7hns/cx9DHUm69NlQLP8B+NojQX8B8kYBI4duPLU1/gqpR68UygQoiYpRsuT5qMok14w2bVx+
	bcu0Qplqi3+Io4CrHl2TA0G3YfQ95TdWD0wykIEE8xaCnkLX5xDGACJEepw5CumDRxeKkFDx/3n86
	RnUxoSjQ==;
Message-ID: <4481f0fe9eb282333fd967b7ece590ead78ccdba.camel@infradead.org>
Subject: Re: [PATCH v1 3/7] xen: xenstore: add possibility to preserve owner
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "qemu-devel@nongnu.org"
	 <qemu-devel@nongnu.org>
Cc: Paul Durrant <paul@xen.org>, "Michael S. Tsirkin" <mst@redhat.com>, 
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini
 <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,  Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Date: Sat, 11 Nov 2023 11:01:45 +0000
In-Reply-To: <20231110204207.2927514-4-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
	 <20231110204207.2927514-4-volodymyr_babchuk@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-LTEPTZWD+e0HlfEjd1Jp"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2023-11-10 at 20:42 +0000, Volodymyr Babchuk wrote:
> Add option to preserve owner when creating an entry in Xen Store. This
> may be needed in cases when Qemu is working as device model in a
> domain that is Domain-0, e.g. in driver domain.
>=20
> "owner" parameter for qemu_xen_xs_create() function can have special
> value XS_PRESERVE_OWNER, which will make specific implementation to
> get original owner of an entry and pass it back to
> set_permissions() call.
>=20
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

I like this, although I'd like it more if XenStore itself offered this
facility rather than making QEMU do it. Can we make it abundantly clear
that XS_PRESERVE_OWNER is a QEMU internal thing?

> =C2=A0hw/i386/kvm/xen_xenstore.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 18=
 ++++++++++++++++++
> =C2=A0hw/xen/xen-operations.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 | 12 ++++++++++++
> =C2=A0include/hw/xen/xen_backend_ops.h |=C2=A0 2 ++
> =C2=A03 files changed, 32 insertions(+)
>=20
> diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
> index 660d0b72f9..7b894a9884 100644
> --- a/hw/i386/kvm/xen_xenstore.c
> +++ b/hw/i386/kvm/xen_xenstore.c
> @@ -1572,6 +1572,24 @@ static bool xs_be_create(struct qemu_xs_handle *h,=
 xs_transaction_t t,
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return false;
> =C2=A0=C2=A0=C2=A0=C2=A0 }
> =C2=A0
> +=C2=A0=C2=A0=C2=A0 if (owner =3D=3D XS_PRESERVE_OWNER) {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 GList *perms;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 char letter;
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 err =3D xs_impl_get_perms(h->=
impl, 0, t, path, &perms);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (err) {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 errno=
 =3D err;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n false;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }

I guess we get away without a race here because it's all internal and
we're holding the QEMU iothread mutex? Perhaps assert that?

> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (sscanf(perms->data, "%c%u=
", &letter, &owner) !=3D 2) {

I'd be slightly happier if you used parse_perm() from xenstore_impl.c,
but it's static so I suppose that's fair enough.

> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 errno=
 =3D EFAULT;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 g_lis=
t_free_full(perms, g_free);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n false;
> +=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 g_list_free_full(perms, g_fre=
e);
> +=C2=A0=C2=A0=C2=A0 }
> +
> =C2=A0=C2=A0=C2=A0=C2=A0 perms_list =3D g_list_append(perms_list,
> =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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xs_perm_as_string(XS_PERM_NONE, own=
er));
> =C2=A0=C2=A0=C2=A0=C2=A0 perms_list =3D g_list_append(perms_list,
> diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
> index e00983ec44..1df59b3c08 100644
> --- a/hw/xen/xen-operations.c
> +++ b/hw/xen/xen-operations.c
> @@ -300,6 +300,18 @@ static bool libxenstore_create(struct qemu_xs_handle=
 *h, xs_transaction_t t,
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return false;
> =C2=A0=C2=A0=C2=A0=C2=A0 }
> =C2=A0
> +=C2=A0=C2=A0=C2=A0 if (owner =3D=3D XS_PRESERVE_OWNER) {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct xs_permissions *tmp;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int num;
> +
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tmp =3D xs_get_permissions(h-=
>xsh, 0, path, &num);
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (tmp =3D=3D NULL) {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 retur=
n false;
> +=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 perms_list[0].id =3D tmp[0].i=
d;
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 free(tmp);
> +=C2=A0=C2=A0=C2=A0 }
> +

Don't see what saves you from someone else changing it at this point on
true Xen though. Which is why I'd prefer XenStore to do it natively.

> =C2=A0=C2=A0=C2=A0=C2=A0 return xs_set_permissions(h->xsh, t, path, perms=
_list,
> =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=C2=A0=C2=A0=C2=A0=C2=A0 ARRAY_SIZE(perms_list));
> =C2=A0}
> diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backen=
d_ops.h
> index 90cca85f52..273e414559 100644
> --- a/include/hw/xen/xen_backend_ops.h
> +++ b/include/hw/xen/xen_backend_ops.h
> @@ -266,6 +266,8 @@ typedef uint32_t xs_transaction_t;
> =C2=A0#define XS_PERM_READ=C2=A0 0x01
> =C2=A0#define XS_PERM_WRITE 0x02
> =C2=A0
> +#define XS_PRESERVE_OWNER=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0xFF=
FE
> +
> =C2=A0struct xenstore_backend_ops {
> =C2=A0=C2=A0=C2=A0=C2=A0 struct qemu_xs_handle *(*open)(void);
> =C2=A0=C2=A0=C2=A0=C2=A0 void (*close)(struct qemu_xs_handle *h);


--=-LTEPTZWD+e0HlfEjd1Jp
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTExMTEwMTQ1WjAvBgkqhkiG9w0BCQQxIgQgbe8q9Jjk
EqEq6PqWTyBLv70/TcrcrSDxvYReh+6vo6Ywgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCFBCmHTtxTRjdqSBbdZ8RqVQrCsXhC5ZbY
zdfwvSVP0km3smYV4MIv09gUiUDaBODtAlorbvAVNXD7Iu2lGIx8loBUeY0QgdTgVXAPhpaB4UQM
L0+wg/r0eOCVi8HcUefGViGYg1aooV2CtHiI8J+bqZN5q5ehyyjXKZLtaa8mJ+DbcFYOB+jrAc8z
cyicaQkjwL3mlM6NgiwHYx6hKr/1XZqWBd4mc3HvXQXC8qagrAAiatp6sTNWYZYT/u1AOcHbSnDk
rdNmSIz3UwPx21eQ9esQruzIRU7QuA2PukJ2BJUhngQ3lFwv8PG76VHw3A5NMvWn7oCLe3CFw/ak
6XBQPqsyKDLyGIImo2opQ5zD5T/pe/xvQXHAnLC5fDS0QUeHHicRKMGT2c46KDQo2LyamhJe2Li6
AsXuBmUC0ZBUe2J7ke/dVZsWhExZXxkJZgS93Scut+Is2Z2uCpvtGFCKQs/qHEKh2bIvnorWcmVp
tdfBqUIzzzFYn0p2zD4i2d+sO4oMDRhHl8zVQi8YkWaF4OO2s4it0db4s7TQjLNxfc6fIzDj6Egd
rGUjyo/Kv5MmBuXocmG60aQPj+bFZjWy9+auhojw21S0XhxsuSm+8y1ylMFPeRnhUnUMIB0GGRqJ
dq6kyOthwMkewDVA2rRo32inekzxo8hEFfs592tuGwAAAAAAAA==


--=-LTEPTZWD+e0HlfEjd1Jp--


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 11:56:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 11:56:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630954.984107 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1mao-0008Uq-AC; Sat, 11 Nov 2023 11:56:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630954.984107; Sat, 11 Nov 2023 11: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 1r1mao-0008Uj-7a; Sat, 11 Nov 2023 11:56:02 +0000
Received: by outflank-mailman (input) for mailman id 630954;
 Sat, 11 Nov 2023 11:56: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=sSCd=GY=casper.srs.infradead.org=BATV+506890241e50857960ff+7384+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r1mam-0008Ud-47
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 11:56:01 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45544313-8089-11ee-9b0e-b553b5be7939;
 Sat, 11 Nov 2023 12:55:56 +0100 (CET)
Received: from [2a00:23ee:1388:8870:4831:fbef:c526:c9d3] (helo=[IPv6:::1])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r1mab-001kQA-EY; Sat, 11 Nov 2023 11:55: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: 45544313-8089-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	MIME-Version:Message-ID:In-Reply-To:Subject:CC:To:From:Date:Sender:Reply-To:
	Content-ID:Content-Description:References;
	bh=aNYogX38C94HF9nMzY/PuCSRi2zMPGTuqCBDWATJ8bQ=; b=fGsp+6dsbCYuEqJPjrU4EEoK/M
	r1RZj+xQuBW/xraW71Nar8HSA2LoOQdrUsMPQaweAZu63ChTVJgYV+5b77me5gW/YDr4l6+1hf0BR
	8P4Y34rk06ekpmsrpSmNEYe0gxgKV/75dTIUSYXtILdISbyBaYTGFMeS0w6KNnyY2nRY+FC4ZqiKD
	ZBqidum7afBgen4h3+XAO69DaTkqgl/C/idW0PIEDyxOmb8C3i+Gnft2HXbhZ7Li08uN5rZO/nkve
	wRNRicpa1UaKSV2WUX6H/0QhleJv05bm6KRKm3LPkStu30Bw/BIaJ4cYguVl6DorMtQWiixW+kP8r
	gjKKwLqw==;
Date: Sat, 11 Nov 2023 11:42:44 +0000
From: David Woodhouse <dwmw2@infradead.org>
To: volodymyr_babchuk@epam.com
CC: Oleksandr_Tyshchenko@epam.com, anthony.perard@citrix.com, paul@xen.org,
 qemu-devel@nongnu.org, sstabellini@kernel.org,
 xen-devel@lists.xenproject.org
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_v1_5/7=5D_xen-bus=3A_Set_offline?= =?US-ASCII?Q?_if_backend=27s_state_is_XenbusStateClosed?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231110204207.2927514-6-volodymyr_babchuk@epam.com>
Message-ID: <93DE8C53-EEBD-4AB6-9E03-13ABA869C299@infradead.org>
MIME-Version: 1.0
Content-Type: multipart/alternative;
 boundary=----O7OH88IZ1XHEHMTN2IP326XGDEP0S8
Content-Transfer-Encoding: 7bit
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

------O7OH88IZ1XHEHMTN2IP326XGDEP0S8
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

(When sending a series, if you Cc someone on one message please could you C=
c them on the whole thread for context? Thanks=2E)

> Both state (XenbusStateClosed) and online (0) are expected by
> toolstack/xl devd to completely destroy the device=2E But "offline"
> is never being set by the backend resulting in timeout during
> domain destruction, garbage in Xestore and still running Qemu
> instance=2E

I would dearly love to see a clear state diagram showing all the possible =
state transitions during device creation, fe/be reconnecting, and hot plug/=
unplug=2E Does anything like that exist? Any test cases for the common and =
the less common transitions, and even the illegal ones which need to be han=
dled gracefully?

Fantasy aside, can you please confirm that this patch series was tested wi=
th hotplug (device_add in the monitor) *and* unplug in QEMU, both under rea=
l Xen and ideally also emulated Xen in KVM?=20

Thanks=2E
------O7OH88IZ1XHEHMTN2IP326XGDEP0S8
Content-Type: text/html;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html><html><body><div dir=3D"auto">(When sending a series, if you=
 Cc someone on one message please could you Cc them on the whole thread for=
 context? Thanks=2E)<br><br>&gt; Both state (XenbusStateClosed) and online =
(0) are expected by<br>&gt; toolstack/xl devd to completely destroy the dev=
ice=2E But "offline"<br>&gt; is never being set by the backend resulting in=
 timeout during<br>&gt; domain destruction, garbage in Xestore and still ru=
nning Qemu<br>&gt; instance=2E<br><br>I would dearly love to see a clear st=
ate diagram showing all the possible state transitions during device creati=
on, fe/be reconnecting, and hot plug/unplug=2E Does anything like that exis=
t? Any test cases for the common and the less common transitions, and even =
the illegal ones which need to be handled gracefully?<br><br>Fantasy aside,=
 can you please confirm that this patch series was tested with hotplug (dev=
ice_add in the monitor) *and* unplug in QEMU, both under real Xen and ideal=
ly also emulated Xen in KVM? <br><br>Thanks=2E</div></body></html>
------O7OH88IZ1XHEHMTN2IP326XGDEP0S8--


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 12:52:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 12:52:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630964.984118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1nTG-0007nS-5Y; Sat, 11 Nov 2023 12:52:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630964.984118; Sat, 11 Nov 2023 12:52: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 1r1nTG-0007nL-2k; Sat, 11 Nov 2023 12:52:18 +0000
Received: by outflank-mailman (input) for mailman id 630964;
 Sat, 11 Nov 2023 12:52: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 1r1nTE-0007nB-Ho; Sat, 11 Nov 2023 12:52: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 1r1nTE-0007wx-Ar; Sat, 11 Nov 2023 12:52: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 1r1nTD-0005no-S6; Sat, 11 Nov 2023 12:52:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1nTD-0007z2-RE; Sat, 11 Nov 2023 12:52: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=FhtbenjA/61zFa8kA9GyXDPCpGxGEe/r2eTi3rus/iw=; b=VNQFbG7Y1LXR6KyskJV/NFAmRB
	qJ3blKAFWoVECmLIejZ0hoyaA2jAXYzrY40/pV0DRXgUH/yG0YWq85/4AOsQJ0xpAx8c9bQujNEmW
	Tb1u0T+t/rhhf7XqrntbuVmDXfmfyrimViWJ+YuWtzXI/1MTv/wpyivERls4V+9Do/4Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183732-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183732: regressions - trouble: blocked/broken/fail/pass
X-Osstest-Failures:
    xen-unstable:build-armhf-libvirt:<job status>:broken:regression
    xen-unstable:build-armhf-libvirt:host-install(4):broken:regression
    xen-unstable:build-arm64:xen-build:fail:regression
    xen-unstable:test-armhf-armhf-xl-vhd:guest-start:fail:heisenbug
    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-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    xen-unstable:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-libvirt:saverestore-support-check: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-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-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-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-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-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-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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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
X-Osstest-Versions-This:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
X-Osstest-Versions-That:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Nov 2023 12:52:15 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-armhf-libvirt             <job status>                 broken
 build-armhf-libvirt           4 host-install(4)        broken REGR. vs. 183726
 build-arm64                   6 xen-build      fail in 183726 REGR. vs. 183732

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-vhd      13 guest-start                fail pass in 183726

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-thunderx  1 build-check(1)           blocked in 183726 n/a
 test-arm64-arm64-xl-vhd       1 build-check(1)           blocked in 183726 n/a
 test-arm64-arm64-xl-credit1   1 build-check(1)           blocked in 183726 n/a
 test-arm64-arm64-xl           1 build-check(1)           blocked in 183726 n/a
 test-arm64-arm64-libvirt-xsm  1 build-check(1)           blocked in 183726 n/a
 test-arm64-arm64-examine      1 build-check(1)           blocked in 183726 n/a
 build-arm64-libvirt           1 build-check(1)           blocked in 183726 n/a
 test-arm64-arm64-libvirt-raw  1 build-check(1)           blocked in 183726 n/a
 test-arm64-arm64-xl-credit2   1 build-check(1)           blocked in 183726 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-libvirt 16 saverestore-support-check fail in 183726 like 183718
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check fail in 183726 like 183718
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 183726 like 183718
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail in 183726 like 183718
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 183726 never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check fail in 183726 never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 183726 never pass
 test-armhf-armhf-xl-vhd     14 migrate-support-check fail in 183726 never pass
 test-armhf-armhf-xl-vhd 15 saverestore-support-check fail in 183726 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183712
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183726
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183726
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183726
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183726
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183726
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183726
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183726
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183726
 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      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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 15 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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 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-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                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
baseline version:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c

Last test of basis   183732  2023-11-11 01:52:11 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                                          broken  
 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-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                                     blocked 
 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                               blocked 
 test-amd64-amd64-xl-qcow2                                    pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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

broken-job build-armhf-libvirt broken
broken-step build-armhf-libvirt host-install(4)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sat Nov 11 13:02:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 13:02:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630970.984128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1nct-00017b-3F; Sat, 11 Nov 2023 13:02:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630970.984128; Sat, 11 Nov 2023 13:02: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 1r1ncs-00017U-Vz; Sat, 11 Nov 2023 13:02:14 +0000
Received: by outflank-mailman (input) for mailman id 630970;
 Sat, 11 Nov 2023 13:02: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=OdqC=GY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r1ncr-00017O-9t
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 13:02:13 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87607d79-8092-11ee-98da-6d05b1d4d9a1;
 Sat, 11 Nov 2023 14:02:12 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4079ed65582so21801955e9.1
 for <xen-devel@lists.xenproject.org>; Sat, 11 Nov 2023 05:02:12 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 i12-20020a05600c354c00b004053a6b8c41sm2121212wmq.12.2023.11.11.05.02.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 11 Nov 2023 05:02:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87607d79-8092-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699707731; x=1700312531; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=TK40/DnAJocUT8Bp+wE1qqmqpbObZXdyY458hJnOjW8=;
        b=QzrHmAaFc7h/5o7G1Ax0QInn7NtUU0zFLP+PvZdPZpsZ3CE/1mheVPeQhSP9eZjyok
         BKyrOotAlBXHk4xFioMfYyZV3AaAzknnPbzE3SMeIrAhg7oZEEfBe1zB2hjQcFfGHYhO
         B+QejN6moQTP0HcKRNjUFwUPnjzS2kkcvVTxw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699707731; x=1700312531;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=TK40/DnAJocUT8Bp+wE1qqmqpbObZXdyY458hJnOjW8=;
        b=RZ73DP6wRTSfZwaR9G+TuEvxRgR+2kQOyL/W6KRWyOrIgy4vtPERm/dRYtPfvM3YwE
         ErWSRcZsEVORFCuNf6k4T/FOLOYqhkyhGFpVa4f0FsMIMFGvHqK8D9Gbzq8sj/foTd/s
         gsf9WXHXFnTTUEY32RkIbsH/iExhbfyi5uToCAnLEIfIfcd30JzMWpPzUIR2stzK5rtQ
         19rRSGW9dGikiXW3/aliHQdzpYE8fZDBig1x6Fud+38E9AZRpwqVeGEe8ghQYMmGJttv
         B45vCQrQCcuVFzt1Ae9rZg6hF6e2JhJYFlARNRNn2TBDrD8ElzFLJtXQD7qegVkbSk/8
         XUsg==
X-Gm-Message-State: AOJu0YzOVwBPXT8B9qek8qxOKX673fHKfE/XSreVFE5YkbDoEn9OzTTZ
	sY+qiodXqvLwdtSkm/kjETp6hw==
X-Google-Smtp-Source: AGHT+IGMSOIdkoVslJBW7COPMk/3zktP5wmhPkz74HKc3d7xnBim0NsXk1oSFxutFk7XCbqpx+QW+w==
X-Received: by 2002:a05:600c:3b13:b0:40a:4c7e:6f37 with SMTP id m19-20020a05600c3b1300b0040a4c7e6f37mr1020286wms.20.1699707731503;
        Sat, 11 Nov 2023 05:02:11 -0800 (PST)
Message-ID: <a3d18a04-6ffc-48ce-aa9c-db221c372c94@citrix.com>
Date: Sat, 11 Nov 2023 13:02:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.18 3/3] docs/sphinx: Fix indexing
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 George Dunlap <George.Dunlap@citrix.com>, Jan Beulich <JBeulich@suse.com>,
 Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Henry Wang <Henry.Wang@arm.com>
References: <20231108152727.58764-1-andrew.cooper3@citrix.com>
 <20231108152727.58764-4-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2311091601420.3478774@ubuntu-linux-20-04-desktop>
 <0a168232-ea32-4aa1-b270-961782fec9dc@citrix.com>
 <alpine.DEB.2.22.394.2311101546100.3478774@ubuntu-linux-20-04-desktop>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <alpine.DEB.2.22.394.2311101546100.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 10/11/2023 11:49 pm, Stefano Stabellini wrote:
> On Fri, 10 Nov 2023, Andrew Cooper wrote:
>> On 10/11/2023 12:07 am, Stefano Stabellini wrote:
>>> On Wed, 8 Nov 2023, Andrew Cooper wrote:
>>>> diff --git a/docs/index.rst b/docs/index.rst
>>>> index f3f779f89ce5..22fdde80590c 100644
>>>> --- a/docs/index.rst
>>>> +++ b/docs/index.rst
>>>> @@ -53,17 +53,18 @@ kind of development environment.
>>>>     hypervisor-guide/index
>>>>  
>>>>  
>>>> -MISRA C coding guidelines
>>>> --------------------------
>>>> +Unsorted documents
>>>> +------------------
>>>>  
>>>> -MISRA C rules and directive to be used as coding guidelines when writing
>>>> -Xen hypervisor code.
>>>> +Documents in need of some rearranging.
>>> I understand the need for an "Unsorted documents", but why taking away
>>> "MISRA C coding guidelines" from here?
>> You can't have it both here and in index.rst without breaking the indexing.
>>
>> Also because in it's current position it breaks the navbar.  MISRA is
>> part of the developer guide, and what should be at the toplevel should
>> be a general section on safety certification, which cross-references the
>> developer guide amongst other things.  Nevertheless it will stay visible
>> for now at the top level because of how the toctree.
>>
>> It's in unsorted because I have thrown the index together with the bare
>> minimum effort in order to fix Sphinx errors in time for 4.18.
>>
>> This is also why I'm not changing any text.  There is 0 time between now
>> and this needing fixing for the release.
>>
>> Someone else can find some time to polish it - which is far more work
>> than just in the index - and we can backport it when its done.
> OK. I don't mean to make things difficult so if you don't think it is
> easy to keep "MISRA C coding guidelines" here in docs/index.rst then so
> be it. Can you at least add "and related files" to the text in
> docs/misra/index.rst?

Ok.

>  Can be done on commit. Anyway:
>
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>

Thanks.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 13:44:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 13:44:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.630977.984137 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1oH7-00072q-7C; Sat, 11 Nov 2023 13:43:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 630977.984137; Sat, 11 Nov 2023 13:43: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 1r1oH7-00072j-4P; Sat, 11 Nov 2023 13:43:49 +0000
Received: by outflank-mailman (input) for mailman id 630977;
 Sat, 11 Nov 2023 13:43: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=OdqC=GY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r1oH5-00072d-Pw
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 13:43:47 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55c47938-8098-11ee-98da-6d05b1d4d9a1;
 Sat, 11 Nov 2023 14:43:46 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-32fb1d757f7so1854771f8f.0
 for <xen-devel@lists.xenproject.org>; Sat, 11 Nov 2023 05:43:46 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 x15-20020adfffcf000000b0031984b370f2sm1510187wrs.47.2023.11.11.05.43.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 11 Nov 2023 05:43:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55c47938-8098-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699710221; x=1700315021; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wCMOyarQCrhFq72XfE2EZ8qcTALBtar3c4iQxZbveYY=;
        b=DFyQlvq3XXvMiwOigDWH0W3/GGoRJhvydQBksy2/YglOWjOR4AvNcE2mTJKRh9CUNx
         HOFYpNmSAUl0LO1nMCQsjxDdZEo+ZgwjYX2EFg8ecRG5XfOKyRuhMslyIZMxgOb5NhL9
         sfIR/L6cW104vJU7Qg3+PNBPBBU5niKSOAeQo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699710221; x=1700315021;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wCMOyarQCrhFq72XfE2EZ8qcTALBtar3c4iQxZbveYY=;
        b=KE2M68fBUrtqtxaMNUPdYg3rh5AeIpV+FoYYIrN4W4/bW1pj4JKkCT9UrV86QE5fBx
         qJQYcXz0BMGuwfIJ5mVutGcg9uzdXpd28dJGbQYNlwGJ09pBGqxti5V7R3bPMn38cC/W
         VY5aKty7IFtEAQoN5IH0gTuHSOb4eeWq3mvUB4rkifZe75CEsfBgMvZaH5hYGXHNiNhU
         AFPRRCA0zruJ7SGoB+SpmEGfJV+WYV4dJ/+uuuR5DjGJRfpd9p9O7yjrTDN7P2ouu2q4
         Ruxw4JO2R335Y3tYhzitiIGyHHeXsbjVe5uqx0N0WNHXRdNsWe0IUMOCzyZaUJdTVB80
         ulEA==
X-Gm-Message-State: AOJu0Yx/Ke8c2wk04/NZdO+n3kisAaGrk8WDHV4S7INxj7Suvl9xpfAI
	DlJxAe+gOVaK9Q5KcZSCdA7GFw==
X-Google-Smtp-Source: AGHT+IE+pgMtGKkgQm9qNUTpr9QX4NPL2ky76zI4BNKzRNF1kmX+vTjc+bHfhJxnTg3SVt5cPjk6cg==
X-Received: by 2002:adf:e7cb:0:b0:309:1532:8287 with SMTP id e11-20020adfe7cb000000b0030915328287mr1489045wrn.19.1699710221317;
        Sat, 11 Nov 2023 05:43:41 -0800 (PST)
Message-ID: <db50c864-a429-49af-9762-8bc17d5b0336@citrix.com>
Date: Sat, 11 Nov 2023 13:43:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/7] xen-block: Do not write frontend nodes
Content-Language: en-GB
To: David Woodhouse <dwmw2@infradead.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:Block layer core" <qemu-block@nongnu.org>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-2-volodymyr_babchuk@epam.com>
 <f2f7751a9ea5597e9f7a1417b761fe0802892aa8.camel@infradead.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <f2f7751a9ea5597e9f7a1417b761fe0802892aa8.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/11/2023 10:55 am, David Woodhouse wrote:
> On Fri, 2023-11-10 at 20:42 +0000, Volodymyr Babchuk wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> The PV backend running in other than Dom0 domain (non toolstack domain)
>> is not allowed to write frontend nodes. The more, the backend does not
>> need to do that at all, this is purely toolstack/xl devd business.
>>
>> I do not know for what reason the backend does that here, this is not really
>> needed, probably it is just a leftover and all xen_device_frontend_printf()
>> instances should go away completely.
> No, this is what allows qemu to create PV devices, as opposed to just
> handle the ones which are created for it by the toolstack.
>
> Perhaps we should only create the frontend nodes (and likewise, only
> destroy those and the backend nodes on destruction) in the case where
> the device was instantiated directly by the QEMU command line, and
> refrain from doing so for the devices which were created by the
> toolstack and merely 'discovered' by xen_block_device_create()?
>
> (Note that we need to look at net and console devices too, now they've
> finally been converted to the 'new' XenBus framework in QEMU 8.2.)
>
>

Furthermore, the control domain doesn't always have the domid of 0.

If qemu wants/needs to make changes like this, the control domain has to
arrange for qemu's domain to have appropriate permissions on the nodes.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 16:12:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 16:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631010.984147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1qb0-0002C8-NB; Sat, 11 Nov 2023 16:12:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631010.984147; Sat, 11 Nov 2023 16:12: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 1r1qb0-0002C1-Kf; Sat, 11 Nov 2023 16:12:30 +0000
Received: by outflank-mailman (input) for mailman id 631010;
 Sat, 11 Nov 2023 16:12: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 1r1qaz-0002Br-PY; Sat, 11 Nov 2023 16:12: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 1r1qaz-00057y-7A; Sat, 11 Nov 2023 16:12: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 1r1qay-0001rM-OZ; Sat, 11 Nov 2023 16:12:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r1qay-0006Ki-O6; Sat, 11 Nov 2023 16:12: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=/EFFSWlYIbif74w3oRfED824Tai4NZ6SW/w4Ax+SuqY=; b=u7B/eSVYtNmhYvxqodcE+3mu4z
	t8vR7uwwiHy2YZvtgQxTJEgeI+J9aPk1xe/wZzBnu8+XzjMrX8rMnJi+JcWxwJx5CSH+NjA8G0Iza
	iF2f/lddd5P9AXqVC+4P/cEQNOBjQQlxAkTqWgu5edWZv7r1AdTswDHhRTFTwqkGcRak=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183734-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183734: tolerable FAIL - PUSHED
X-Osstest-Failures:
    libvirt:test-arm64-arm64-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=1d456e18c796735c88c68742ff55314b114ad25e
X-Osstest-Versions-That:
    libvirt=85f58711865385c3ba6414e398a7d08c60d362bd
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 11 Nov 2023 16:12:28 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-qcow2 17 guest-start/debian.repeat fail pass in 183735-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183702
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183702
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183702
 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-i386-libvirt      15 migrate-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-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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    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-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              1d456e18c796735c88c68742ff55314b114ad25e
baseline version:
 libvirt              85f58711865385c3ba6414e398a7d08c60d362bd

Last test of basis   183702  2023-11-07 04:18:58 Z    4 days
Testing same since   183734  2023-11-11 04:20:33 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Peter Krempa <pkrempa@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               fail    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   85f5871186..1d456e18c7  1d456e18c796735c88c68742ff55314b114ad25e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 18:46:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 18:46:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631045.984174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1szT-0006tA-KK; Sat, 11 Nov 2023 18:45:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631045.984174; Sat, 11 Nov 2023 18: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 1r1szT-0006t3-Gz; Sat, 11 Nov 2023 18:45:55 +0000
Received: by outflank-mailman (input) for mailman id 631045;
 Sat, 11 Nov 2023 18: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=gtiE=GY=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1r1szR-0006sx-FS
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 18:45:53 +0000
Received: from sonic317-20.consmr.mail.gq1.yahoo.com
 (sonic317-20.consmr.mail.gq1.yahoo.com [98.137.66.146])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8837639f-80c2-11ee-98da-6d05b1d4d9a1;
 Sat, 11 Nov 2023 19:45:51 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic317.consmr.mail.gq1.yahoo.com with HTTP; Sat, 11 Nov 2023 18:45:48 +0000
Received: by hermes--production-bf1-5b945b6d47-pndd9 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 58e07c2fd10b16fd7664a3575d70a740; 
 Sat, 11 Nov 2023 18:45: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
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8837639f-80c2-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1699728348; bh=7k+/Lp++yHj7+j0d0F+FragJXYDYTH7zSig2Tf7HDZQ=; h=From:To:Cc:Subject:Date:References:From:Subject:Reply-To; b=M76eNIVymkrSFhyBSXDSVqVhrOgDqh437O2gD0gyloA80XAkjoxphoxvrhVMTX7wrPIoGJh4oSUJDg5qsUVfHo2Iys65qkBT+HWUqaMFTMynK5V+l4W9FooWfYWX9/Y41+QxWS8zFBrxtMSiswCkHHUPPl1tAQmck62m3phes554K4yc2o21zgW2YqDFQw1TYV5TpmwLuonymVPQMSCdklleoM/RgV3Gv16YdnTjuNI0mK8uts2U4VD6TFfAztT90caPw2P3dN4ax9UGWQ3reKdFdmXtW1eaeEPdfzFH7AheNV3KgRAI+GHEHHzAknprXKyQgGeEcjzfuHe93uaZhg==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1699728348; bh=R6NSUDEeVyyIX4F6J8syYWD5DeWO2XGw6dBgcM4fiyI=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=WBqXTjQxEvBbAn9nPeDbikM2at+eOyiiRthIQ1Iytgn5qs5BrdrX5KCxyGAdPupyKjfgc1TTLeEDim7/ilvl8YDNGyxc31pGagmO82oE6aYvCyDcoBE/iwStFonqERUib2xakhoU4l8KwTx5NiwtjJaDGDUNSA9U+8gCs6JQnSmc23iQ8YPekHRTWc2m2sNUWeLa4+pED5fb2kCRAWD5eI5jdpDdL8xlZ+JyxaXCPd9ZVV06g485BPdoTmd0DaVr6doUGN9Rhlk6jIECTsjkiUzU6QGJyXh2nUuzLs8Lu0wkx6Ss+iv/Ktm78mZKmJFrHCHeh0n+O95u92Mh5qtfLQ==
X-YMail-OSG: 9v0A1oUVM1lqwJtUV7Hk2diEcgEmen6asPpX.q2XJXPHOr7pMM5Pm4f9ZRDXvqe
 q6wDYSqhCk02vJgsya2_gM7h63_MPCfvuH6gnQTyRsJXJWNlM5jsq80Z9JKxf_S9ejOouArzIG81
 HyIFJZ0xcJ.UalHjJFbvpSEs291b6ClwAgSO6rOlZxU6j7ko.Nu2S2f33uyTJ_jzSKnsWZm7YwkF
 yA80doTNZhk7gVpMVl.2szFTKKmapedLxvuFNyZUIwJPLoap8Z2dsZp35xKmag9OuE308xuBDz2h
 3DrAU1Lznl36Amjop.z5Szlm5fmDDSOotNGcI4i4.5oBS4p5bHLUtemVF_O.5yfol3aFTRdTNsiS
 1H91MKiQ3bX8XXtAul7CzVOD1vPZnUHiWZj9SKvMvi8sikonXNfsGNiDrzDHpJ4GUudCGQ4azUUy
 Aw7Jlel4L.MUh6j83iMznXNcsiYMVQxcPecrA112x0qemAFIG1sca2ftkGYiPBlTnOOSP22hz96H
 m5OqWeu4M4OJZYCJbIfGSSAJcNq4MQTt33HrxzF8Q46oA0vbpj4_9UY8lXYuRdEcqtQBbv3dfSGA
 MRDHxxcp1OcO.WWZuo61JAeZXoCgJ5OMxXWgB.AE6MCxNZYobf4Le3cVVTnm5GS8sLZy4Wx7e59J
 Y5KpFeles9_4brqFYk8FrrKd_Cajgg80vRwZEK7O.GHu7oVBjlj6vnEJ2kBkgaaSWSabOPu30KGB
 8SH_ynyaMhMovdem2grbBvRW4saPhCEdWxNNTGjjayIEzRkgC8hMm1kIlT.KDsGxgpOIovBn8tyk
 9r2yIzEq8z7v1oe2DX9_nXAfIRFuvIZcn232305qHxEcTDfYxY4ZTWgEQCAP2ZC4__3SD83wTRpj
 V5FFpjK2NWY_GM45.1g3mJ.6jcy4CxyK2C3ysSq80R0vIjOxbZLMyGXQbePHp30SYbRE02tU1Wey
 C1i6ux5_OM0z6WBVC0JCTa3xqGDqX_VpGaEz7IeOnDgpUUPbDOaQBu5bmuq3jjPzsFTD9X5XzF_z
 R43iaPHWBfR8w9_pNuCHbfaKYAtdew.TPdoICWZDe5E6K5uhla_5MFIz1gk1mQbYOnOeOUdBF65c
 QIzGc5DNkcXqp2Qv5NWBicyLDK01Rv642NiPypT0O6vNHoi.957JCxBYKZLdjSUue_RU7xcu9rCF
 XZdP5x1E24ZnU7TfEaak02dpQIEZ51ZsdYNX.entYR2PF9.d0ME1gGu1xyfZGqoSMrbmXB5iix2y
 Q2Wpnk8.LIwOmV9cENvN6rC1oMuFjeWUBAfeCf67ZQRB.lGmPnYOlexlbEJNjZedbyhtrBsrUyHq
 1mzXC1S_mOs8q32W7ax_XPmmEqRVuyP7kKnvpd_4zhcfme_Mq.8Md_MFwRNJowoPIn1o5N48hpCe
 1j_b0k5SrG8KcQy1APskNKmUm5XLoJfgyW3sG1M3cFcAolZunW.yWb6o5auME9x6oB3BcCnKXUab
 rNvHIKt6dMbP4fTlpzJ0_NWLvmTZgNEnXU_rCh_vVXjuGzwx4PQ.5mG6SPpjJYlUJ5FenzkGcAvy
 4Ox7hiMWdedcf4xjGCFcpkDko5iWvbTiS6i46OcQKFKhG4qag_8UPdRnMOZfceo3uEvkJY_T6yeV
 j3LzjdOjN440rp_ywTcUx4m43HbPkyfgZx6QXK9lyLrScSoRb4Z3ugl7ZS0LFNLUPfZ256FYytBv
 XR0jeD6O4MBPGanBzSfNgCrTWD__ud6aQpWEvGXFaxOwE7kY8trFb5SdKlfcP0cvvCq6imrDrKK0
 QSVK6uLllzOnlFPQVhtiSeThkd1cbFlp.kC11IXW0Sf9_dUL1ouyTwDoyuRPdy0cWLDFNxKZpesF
 CHKLcsmilLH00ZorwDF5iT3eaulXFbNPGAR31lDnBZD0hE3u49qzzdZTA0AXfI70nI8UxRYWIWfs
 KoRrzbAJ0nGwvBQq.2gWRuyVGrdvM0KB.TWhqra8PDmLZ1DKNdDCKPzDV1WK11OOht4cx.N.7avG
 Y6sJLBo38VkUXSGidNjbuV8HoUsVpm3Mp12RAQsMPJXLzIXOy8d1VZjF0jLkEuoTPz0XsLRTcPhY
 fk48XNKDyFeV4pPg3OJRSDuyHXB9Rg2u1cVxlMF1IYc69otOQ1fP14Cif0NuQKVZ2a4HzVZ6V3WS
 hn5mvVK7_A.7CTp9gS5rGmqGp7BQ0DRqEGFVtPrfdPlY3cDz7_vArURyJMmRVEEeYPJo3hoT3EN7
 x6ihTJ2tu
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 935860db-45fa-466f-a70d-9a74ba36a6db
From: Chuck Zmudzinski <brchuckz@aol.com>
To: linux-arm-kernel@lists.infradead.org
Cc: Russell King <linux@armlinux.org.uk>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	Marek Szyprowski <m.szyprowski@samsung.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	"Matthew Wilcox (Oracle)" <willy@infradead.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	Jason Gunthorpe <jgg@ziepe.ca>,
	Arnd Bergmann <arnd@arndb.de>,
	Julien Grall <julien@xen.org>,
	Mario Marietto <marietto2008@gmail.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
Date: Sat, 11 Nov 2023 13:45:37 -0500
Message-ID: <20231111184538.2371-1-brchuckz@aol.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
References: <20231111184538.2371-1-brchuckz.ref@aol.com>
Content-Length: 3531

Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error when
attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook Snow
(and probably on other devices that use the Exynos mixer):

[drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR* Device
                             14450000.mixer lacks support for IOMMU
exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc0d97554): -22
exynos-drm exynos-drm: adev bind failed: -22
exynos-dp: probe of 145b0000.dp-controller failed with error -22

Linux normally uses xen_swiotlb_dma_ops for DMA for all devices when
xen_swiotlb is detected even when Xen exposes an IOMMU to Linux. Enabling
the new config option allows devices such as the Exynos mixer to use the
IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the error.

The new config option is not set by default because it is likely some
devices that use IOMMU for DMA on Xen will cause DMA errors and memory
corruption when Xen PV block and network drivers are in use on the system.

Link: https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netscape.net/

Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
---
The reported error with the Exynos mixer is not fixed by default by adding
a second patch to select the new option in the Kconfig definition for the
Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it is
not certain setting the config option is suitable for all cases. So it is
necessary to explicitly select the new config option during the config
stage of the Linux kernel build to fix the reported error or similar
errors that have the same cause of lack of support for IOMMU on Xen. This
is necessary to avoid any regressions that might be caused by enabling the
new option by default for the Exynos mixer.
 arch/arm/mm/dma-mapping.c |  6 ++++++
 drivers/xen/Kconfig       | 16 ++++++++++++++++
 2 files changed, 22 insertions(+)

diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index 5409225b4abc..ca04fdf01be3 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
 	if (iommu)
 		arm_setup_iommu_dma_ops(dev, dma_base, size, iommu, coherent);
 
+#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
+	if (dev->dma_ops == &iommu_ops) {
+		dev->archdata.dma_ops_setup = true;
+		return;
+	}
+#endif
 	xen_setup_dma_ops(dev);
 	dev->archdata.dma_ops_setup = true;
 }
diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
index d5989871dd5d..44e1334b6acd 100644
--- a/drivers/xen/Kconfig
+++ b/drivers/xen/Kconfig
@@ -181,6 +181,22 @@ config SWIOTLB_XEN
 	select DMA_OPS
 	select SWIOTLB
 
+config ARM_DMA_USE_IOMMU_XEN
+	bool "Prefer IOMMU DMA ops on Xen"
+	depends on SWIOTLB_XEN
+	depends on ARM_DMA_USE_IOMMU
+	help
+	  Normally on Xen, the IOMMU is used by Xen and not exposed to
+	  Linux. Some Arm systems such as Exynos have an IOMMU that
+	  Xen does not use so the IOMMU is exposed to Linux in those
+	  cases. This option enables Linux to use the IOMMU instead of
+	  using the Xen swiotlb_dma_ops for DMA on Xen.
+
+	  Say N here unless support for one or more devices that use
+	  IOMMU ops instead of Xen swiotlb ops for DMA is needed and the
+	  devices that use the IOMMU do not cause any problems on the
+	  Xen system in use.
+
 config XEN_PCI_STUB
 	bool
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sat Nov 11 20:19:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 20:19:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631054.984183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1uSC-0002gv-7E; Sat, 11 Nov 2023 20:19:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631054.984183; Sat, 11 Nov 2023 20: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 1r1uSC-0002go-4j; Sat, 11 Nov 2023 20:19:40 +0000
Received: by outflank-mailman (input) for mailman id 631054;
 Sat, 11 Nov 2023 20:19: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=2Ms9=GY=desiato.srs.infradead.org=BATV+309277d91504b99347a0+7384+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r1uS9-0002gi-7f
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 20:19:38 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f38d82d-80cf-11ee-9b0e-b553b5be7939;
 Sat, 11 Nov 2023 21:19:32 +0100 (CET)
Received: from [31.94.72.62] (helo=[127.0.0.1])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r1uRO-00H0a4-2z; Sat, 11 Nov 2023 20:19: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: 9f38d82d-80cf-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=h5oxW5dgHw8XVPfXbwVF8tdSJ71sift0mn8OzSj2xw8=; b=QtqAWbtTKe/mQ7HwXCF9gjnyPU
	VOSYRiSgCMwxZpYkJk8SEs+4dutFlA3RoDD0u1PV9H8Xh/SaI8SfcvHzAe5Ie8vI/kU2JSMuf6XYW
	4A49d0TCnlkjtKs3FcXSWY4StKVPpQlmuW2W74VkgiIxuz5DvWRfg02vU7d/Cof8eooAZhkkeMw+f
	T/7KvoN2HKhB9LOR+0tMNxljBi26o76xnMHuVcZBMziAiB6gMXiXtCcIjUvK43FwQw4ktBXMy1uRl
	fETc+tzG3Ld3E5cmGKBos21VP1DqgL5sBWcss/sx4zryD//+uGCxI6koXyo1eOPirLGD7aRy5N+Za
	zkG/w2Zg==;
Date: Sat, 11 Nov 2023 15:18:35 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:Block layer core" <qemu-block@nongnu.org>
Subject: Re: [PATCH v1 1/7] xen-block: Do not write frontend nodes
User-Agent: K-9 Mail for Android
In-Reply-To: <db50c864-a429-49af-9762-8bc17d5b0336@citrix.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com> <20231110204207.2927514-2-volodymyr_babchuk@epam.com> <f2f7751a9ea5597e9f7a1417b761fe0802892aa8.camel@infradead.org> <db50c864-a429-49af-9762-8bc17d5b0336@citrix.com>
Message-ID: <0F786C80-FB37-4AEB-8314-3DB4AC4600E5@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 11 November 2023 08:43:40 GMT-05:00, Andrew Cooper <andrew=2Ecooper3@cit=
rix=2Ecom> wrote:
>Furthermore, the control domain doesn't always have the domid of 0=2E
>
>If qemu wants/needs to make changes like this, the control domain has to
>arrange for qemu's domain to have appropriate permissions on the nodes=2E

Right=2E And that's simple enough: if you are running QEMU in a domain whi=
ch doesn't have permission to create the backend directory and/or the front=
end nodes, don't ask it to *create* devices=2E In that case it is only able=
 to connect as the backend for devices which were created *for* it by the t=
oolstack=2E

The criterion used in this patch series should be "did QEMU create this de=
vice, or discover it"=2E



From xen-devel-bounces@lists.xenproject.org Sat Nov 11 21:51:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 21:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631070.984194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1vt2-000770-Px; Sat, 11 Nov 2023 21:51:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631070.984194; Sat, 11 Nov 2023 21:51: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 1r1vt2-00076t-ND; Sat, 11 Nov 2023 21:51:28 +0000
Received: by outflank-mailman (input) for mailman id 631070;
 Sat, 11 Nov 2023 21:51: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=OdqC=GY=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r1vt1-00076m-B0
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 21:51:27 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76211c2b-80dc-11ee-98da-6d05b1d4d9a1;
 Sat, 11 Nov 2023 22:51:26 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-507adc3381cso4218138e87.3
 for <xen-devel@lists.xenproject.org>; Sat, 11 Nov 2023 13:51:26 -0800 (PST)
Received: from ?IPV6:2a00:23ee:19b0:279c:8c18:84c9:7b71:cd7d?
 ([2a00:23ee:19b0:279c:8c18:84c9:7b71:cd7d])
 by smtp.gmail.com with ESMTPSA id
 c4-20020a056402120400b0053f9578ec97sm1450509edw.56.2023.11.11.13.51.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 11 Nov 2023 13:51:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 76211c2b-80dc-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699739485; x=1700344285; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=a1FLymYRXVPjsCT6GrB53e7GG4I2xWujlJmsZtwtxg0=;
        b=tjyowM2mtasbFlaxG8VHhCi6x4P4fGrr8+TKLlJw636ax64+eXm9jtr1gwj1z8DKpD
         1uEdxgJjTeM1IvMYWih/3dTRvHiVwvCEoyNtIh8kC7Umm7FwdMcujPLhrUU32uMjKoPO
         L9IEu5UcInAm996D6X1/F7ncqvskGbRMYM8NI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699739485; x=1700344285;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=a1FLymYRXVPjsCT6GrB53e7GG4I2xWujlJmsZtwtxg0=;
        b=jQ0zr8Q/lYJ9LBWDGp1YXTcBVp/d1cu4VW40uctVPGis9JgbLJiBKRCn1ojaSO0P+N
         gOQbOQeK9qtS8nAs53Iujy8P/CRju1pvscml9ttCfzJXToQS0iiobejM1kYS3U2D/XbA
         NxQm8AEridCUDIBhKGvJ7/UCCms3PZ/wsd9SALp1+6slTqUcYX7fAuv+krx/YnGy1MHI
         UOYg/Je+34EZcRM2Yg8IGWj3lbQDNprIo4vDnfteLhOAa3toCWtfZQFCt85figIMxVWB
         Z6BP6cItkXuIiJHdZb7L0iRKZRgDnaREnkWYIVYQ97ARlD4VhYuE6YobKIUgHU5lfBrT
         buFg==
X-Gm-Message-State: AOJu0Yzn7FpxMxUxk38qpWU0agfAg2nv58JlryNu4UcPKqxN+cObs/US
	yRXb8lHob4/6RzR/hixlxv0WXg==
X-Google-Smtp-Source: AGHT+IEg2MHO8S9pGMWhhEe9DT40pamq0U8OPplemX2+irfvUuJG95DsQMaPKBCxxndX57pPLKhaAA==
X-Received: by 2002:a05:6512:3b8d:b0:503:2555:d1e7 with SMTP id g13-20020a0565123b8d00b005032555d1e7mr2464744lfv.45.1699739485364;
        Sat, 11 Nov 2023 13:51:25 -0800 (PST)
Message-ID: <d4eb2378-d276-47eb-a8a2-b3551020f814@citrix.com>
Date: Sat, 11 Nov 2023 21:51:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v1 1/7] xen-block: Do not write frontend nodes
Content-Language: en-GB
To: David Woodhouse <dwmw2@infradead.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:Block layer core" <qemu-block@nongnu.org>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-2-volodymyr_babchuk@epam.com>
 <f2f7751a9ea5597e9f7a1417b761fe0802892aa8.camel@infradead.org>
 <db50c864-a429-49af-9762-8bc17d5b0336@citrix.com>
 <0F786C80-FB37-4AEB-8314-3DB4AC4600E5@infradead.org>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <0F786C80-FB37-4AEB-8314-3DB4AC4600E5@infradead.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/11/2023 8:18 pm, David Woodhouse wrote:
> On 11 November 2023 08:43:40 GMT-05:00, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>> Furthermore, the control domain doesn't always have the domid of 0.
>>
>> If qemu wants/needs to make changes like this, the control domain has to
>> arrange for qemu's domain to have appropriate permissions on the nodes.
> Right. And that's simple enough: if you are running QEMU in a domain which doesn't have permission to create the backend directory and/or the frontend nodes, don't ask it to *create* devices. In that case it is only able to connect as the backend for devices which were created *for* it by the toolstack.
>
> The criterion used in this patch series should be "did QEMU create this device, or discover it".
>

Yeah, that sounds like the right approach.

~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Nov 11 22:23:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 11 Nov 2023 22:23:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631078.984205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r1wO1-0003KF-9L; Sat, 11 Nov 2023 22:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631078.984205; Sat, 11 Nov 2023 22: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 1r1wO1-0003K8-4k; Sat, 11 Nov 2023 22:23:29 +0000
Received: by outflank-mailman (input) for mailman id 631078;
 Sat, 11 Nov 2023 22:23: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=sSCd=GY=casper.srs.infradead.org=BATV+506890241e50857960ff+7384+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r1wNx-0003K2-Ih
 for xen-devel@lists.xenproject.org; Sat, 11 Nov 2023 22:23:27 +0000
Received: from casper.infradead.org (casper.infradead.org [90.155.50.34])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ecde4861-80e0-11ee-9b0e-b553b5be7939;
 Sat, 11 Nov 2023 23:23:23 +0100 (CET)
Received: from [31.94.60.97] (helo=[127.0.0.1])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r1wNK-004NRt-4A; Sat, 11 Nov 2023 22: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>
X-Inumbo-ID: ecde4861-80e0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:Sender
	:Reply-To:Content-ID:Content-Description;
	bh=UFK1vHdO6GzG4Gs6TcxgZqUW3ESxK4rozJ5G7MTQTpQ=; b=rMgNF+RtBaC1yKs30+newQ95tC
	kJ/xfCILtuh4CmmRwfU+lxrK2uW+y2nF5vbK1DZRrPF0v4S/bS2pKqaZAwfP5GeC2e6bTIVxq6khN
	8WZBPALajJa1JpdOQ+jBs4EBQnY3G/EmVFvBKr4ywrPBn/v2lXpOoAsrx5H0Y2c4QwlnlO0kGfoji
	bWjwm1lLYLM5QVt4+/ZxHOfN/bwZgbN3c8+DpGhtGIFmwFENr9BrGM9tU60HZeeUw4TM27qZIGIRX
	wVO5TgXEq8Ze64MCooiSHMfrSbHKdWrMmz2KdNpRSYNRCWciaYSkwZWdwyaLqo7UFu9GVHYOXYd8+
	NL/7jT9A==;
Date: Sat, 11 Nov 2023 17:22:41 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:Block layer core" <qemu-block@nongnu.org>
Subject: Re: [PATCH v1 1/7] xen-block: Do not write frontend nodes
User-Agent: K-9 Mail for Android
In-Reply-To: <d4eb2378-d276-47eb-a8a2-b3551020f814@citrix.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com> <20231110204207.2927514-2-volodymyr_babchuk@epam.com> <f2f7751a9ea5597e9f7a1417b761fe0802892aa8.camel@infradead.org> <db50c864-a429-49af-9762-8bc17d5b0336@citrix.com> <0F786C80-FB37-4AEB-8314-3DB4AC4600E5@infradead.org> <d4eb2378-d276-47eb-a8a2-b3551020f814@citrix.com>
Message-ID: <81BF040F-EE19-4367-9C4F-94FF2623C75B@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

On 11 November 2023 16:51:22 GMT-05:00, Andrew Cooper <andrew=2Ecooper3@cit=
rix=2Ecom> wrote:
>On 11/11/2023 8:18 pm, David Woodhouse wrote:
>> On 11 November 2023 08:43:40 GMT-05:00, Andrew Cooper <andrew=2Ecooper3=
@citrix=2Ecom> wrote:
>>> Furthermore, the control domain doesn't always have the domid of 0=2E
>>>
>>> If qemu wants/needs to make changes like this, the control domain has =
to
>>> arrange for qemu's domain to have appropriate permissions on the nodes=
=2E
>> Right=2E And that's simple enough: if you are running QEMU in a domain =
which doesn't have permission to create the backend directory and/or the fr=
ontend nodes, don't ask it to *create* devices=2E In that case it is only a=
ble to connect as the backend for devices which were created *for* it by th=
e toolstack=2E
>>
>> The criterion used in this patch series should be "did QEMU create this=
 device, or discover it"=2E
>>
>
>Yeah, that sounds like the right approach=2E

I think we want to kill the xen_backend_set_device() function and instead =
set the backend as a property of the XenDevice *before* realizing it=2E



From xen-devel-bounces@lists.xenproject.org Sun Nov 12 08:49:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 08:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631119.984214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r269V-00047X-9F; Sun, 12 Nov 2023 08:49:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631119.984214; Sun, 12 Nov 2023 08: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 1r269V-00047Q-5s; Sun, 12 Nov 2023 08:49:09 +0000
Received: by outflank-mailman (input) for mailman id 631119;
 Sun, 12 Nov 2023 08:49: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 1r269T-000470-8C; Sun, 12 Nov 2023 08:49: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 1r269S-0002xC-Up; Sun, 12 Nov 2023 08:49: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 1r269S-0001Fu-Es; Sun, 12 Nov 2023 08:49:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r269S-0005sX-ES; Sun, 12 Nov 2023 08:49: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=cJA1VB2G042MCiTDw6jk5SrQOWebbVfs6t11FExZmkg=; b=cFlQBeZC6e6whJ0Kepvq8iRBNp
	VzBZ7SBN/hRGvrXx9l9Hh3EXbJ3WhPrGRwoPudggh3MVyG4bVjqAM4dTRrkeCJamDbDvPPiQbolkR
	Wy5Yt452EjVVsPzqR6c7O6a+328TDol5OJvsJJ3ewZfXxZhZNxBBtLcmfJQ8lmrmsEl0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183736-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183736: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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: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-credit1:migrate-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-libvirt-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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-credit2:migrate-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-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-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=1b907d0507354b74a4f2c286380cd6059af79248
X-Osstest-Versions-That:
    linux=3ca112b71f35dd5d99fc4571a56b5fc6f0c15814
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 12 Nov 2023 08:49:06 +0000

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

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 183731
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183731
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183731
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183731
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183731
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183731
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183731
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183731
 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-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-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-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-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-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-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-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-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-libvirt     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

version targeted for testing:
 linux                1b907d0507354b74a4f2c286380cd6059af79248
baseline version:
 linux                3ca112b71f35dd5d99fc4571a56b5fc6f0c15814

Last test of basis   183731  2023-11-11 01:42:28 Z    1 days
Testing same since   183736  2023-11-12 01:42:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Damian Tometzki <damian@riscv-rocks.de>
  David Howells <dhowells@redhat.com>
  Eduard Bachmakov <e.bachmakov@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Steve French <stfrench@microsoft.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-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-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
   3ca112b71f35..1b907d050735  1b907d0507354b74a4f2c286380cd6059af79248 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Nov 12 12:17:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 12:17:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631139.984224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r29Oz-0003aG-Uj; Sun, 12 Nov 2023 12:17:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631139.984224; Sun, 12 Nov 2023 12:17: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 1r29Oz-0003a9-RV; Sun, 12 Nov 2023 12:17:21 +0000
Received: by outflank-mailman (input) for mailman id 631139;
 Sun, 12 Nov 2023 12:17: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 1r29Oz-0003Zz-81; Sun, 12 Nov 2023 12:17: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 1r29Oz-000838-2S; Sun, 12 Nov 2023 12:17: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 1r29Oy-0006iH-Gq; Sun, 12 Nov 2023 12:17:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r29Oy-0001kJ-GH; Sun, 12 Nov 2023 12:17: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=fxraJM6PipdFWGtykq00W/y2+ThTbRzJNzCMbNhjqgI=; b=enr7uGp8Or7TOavpQ4R/CmhzPv
	Gc2XSswHiGJiYCNz9+f4pRRcE4Q5LPMnTfPMRZO1NXgCfqmXdVtTjIM9rjGBAIA97RjeZTYFFzBFu
	6eJq0JPIZ9o3zkXx0h8v00KhY5bEC6mYrp7NTiAKffXzSMtqR5qBsQ4b1Q/KmTkQpvNw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183737-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183737: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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
X-Osstest-Versions-This:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
X-Osstest-Versions-That:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 12 Nov 2023 12:17:20 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183726
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183726
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183726
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183732
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183732
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183732
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183732
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183732
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183732
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183732
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183732
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183732
 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      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-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-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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  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-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-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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     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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-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-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

version targeted for testing:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
baseline version:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c

Last test of basis   183737  2023-11-12 01:53: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                                          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-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-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 Sun Nov 12 16:14:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 16:14:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631159.984233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2D64-0007VX-H3; Sun, 12 Nov 2023 16:14:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631159.984233; Sun, 12 Nov 2023 16:14: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 1r2D64-0007VQ-EU; Sun, 12 Nov 2023 16:14:04 +0000
Received: by outflank-mailman (input) for mailman id 631159;
 Sun, 12 Nov 2023 16:14: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=XPC/=GZ=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r2D63-0007VK-2L
 for xen-devel@lists.xenproject.org; Sun, 12 Nov 2023 16:14:03 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 7ced3538-8176-11ee-9b0e-b553b5be7939;
 Sun, 12 Nov 2023 17:14:00 +0100 (CET)
Received: from mg.gitlab.com (68.90.74.34.bc.googleusercontent.com
 [34.74.90.68]) by
 9a379dd2d1d2 with SMTP id 6550f9c6fd5e5c4939611303 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Sun, 12 Nov 2023 16:13:58 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 7ced3538-8176-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699805638; x=1699812838; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=5/YBrfNU6IU/oolo9wsdkMmIubQQ/ByF0sdftp8HkLI=;
 b=UIEhRm2ng07j/8STATcV+PAfHtM+hOtjyeWv7kCeKl88iFfz2DYSy7ulsdk2WMCBy9lL3eAr87lAKrgQEnGXqdgknRef/BdYfSXKK1hHhe5nS3r39Pb2xHKerJlcWZxyAA52FXNM++WCnbKkSIPElI3opnbGMHhZrl6fKMdOYcE=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Sun, 12 Nov 2023 16:13:58 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6550f9c64d2a_2ca38a4945e5@gitlab-sidekiq-catchall-v2-7c46659df-dz86x.mail>
Subject: xen | Successful pipeline for staging | bede1c7e
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6550f9c5e2be9_2ca38a49445a";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1069435466
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6550f9c5e2be9_2ca38a49445a
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1069435466 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: bede1c7e ( https://gitlab.com/xen-project/xen/-/commit/bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c )
Commit Message: exclude-list: generalise exclude-list

Currentl...
Commit Author: Luca Fancellu ( https://gitlab.com/luca.fancellu )
Committed by: Stefano Stabellini



Pipeline #1069435466 ( https://gitlab.com/xen-project/xen/-/pipelines/1069435466 ) triggered by Andrew Cooper ( https://gitlab.com/andyhhp )
successfully completed 135 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6550f9c5e2be9_2ca38a49445a
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | bede1c7e</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1069435466 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/bede1c7e3b790b63f1=
ff3ea3ee4e476b012fdf2c" style=3D"color: #3777b0; text-decoration: none;">=
bede1c7e</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
exclude-list: generalise exclude-list

Currentl...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://gitlab.com/up=
loads/-/system/user/avatar/5760100/avatar.png?width=3D24" style=3D"displa=
y: block; border-radius: 12px; margin: -2px 0;" width=3D"24" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/luca.fancellu" style=3D"col=
or: #333333; text-decoration: none;">
Luca Fancellu
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/50b82a64e2a9f930cabefa3948871101?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Stefano Stabellini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/106943=
5466" style=3D"color: #3777b0; text-decoration: none;">#1069435466</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 135 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6550f9c5e2be9_2ca38a49445a--


From xen-devel-bounces@lists.xenproject.org Sun Nov 12 20:29:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 20:29:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631213.984243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2H4y-0002o3-5N; Sun, 12 Nov 2023 20:29:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631213.984243; Sun, 12 Nov 2023 20: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 1r2H4y-0002nw-2q; Sun, 12 Nov 2023 20:29:12 +0000
Received: by outflank-mailman (input) for mailman id 631213;
 Sun, 12 Nov 2023 20:29: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=mXgX=GZ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r2H4w-0002nE-QZ
 for xen-devel@lists.xenproject.org; Sun, 12 Nov 2023 20:29:10 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22a0b9e8-819a-11ee-98da-6d05b1d4d9a1;
 Sun, 12 Nov 2023 21:29:10 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-32f78dcf036so2817066f8f.0
 for <xen-devel@lists.xenproject.org>; Sun, 12 Nov 2023 12:29:10 -0800 (PST)
Received: from [192.168.199.91] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id
 l35-20020a05600c1d2300b0040839fcb217sm5902154wms.8.2023.11.12.12.29.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 12 Nov 2023 12:29:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22a0b9e8-819a-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699820949; x=1700425749; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=/jNU331KITmkVsASw63ZPNUrO3e5vY6PR21jPlzvpZI=;
        b=fbIImqPvJhZ+c6UUYJ+b9kgTEx4rBL7Mq7/UMCIgR1VJcyy5pBO54huMH78DxaUeXd
         R+hDVyO9rilttWdc5VcB8PBvIs+RVKiqYhSrLu6Sstxyur+BoK801eJMBU+gzIAOiXMH
         13MbZV1EpPwpPrLwTkB/d4lRQY0LN5ATEPP+pnxcEO7TIl5a3K8KHW3m2INQE7LwO2Mq
         rvYfosMvErDN+KylShENRxS7hCggEMlPlf/fS0dDfXJBQ/IoCgpmqOsvbP6en/eli/o+
         Slt4o9LrPpRQKnDv6yDsaxXVFehldepftMDJX6BHL1cyfUgI32fI3nJjXK7VThcjo06C
         Tylg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699820949; x=1700425749;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/jNU331KITmkVsASw63ZPNUrO3e5vY6PR21jPlzvpZI=;
        b=b4VyufnVTWQ2oaQz+xG3t1XIp782td8HOWiq2o9KefWpg+DyG8Ix1cH494Z1/IfYKF
         tmD+WlcS8ooRoiY0jJ9zNysYbxRz0apHTsLSS2wSKIXM7gBcRvRKVE+QiFY7dXx1mXkb
         0NOit44kUKjXyy2X0KHnW+vjgJFYSugTK3Jlqsj+C8cI6dQD/tmW5G9apx/r2YqOmWo8
         FcseuzmJI7eYR0GkoinxtVikh9XvAOcRJo2Q7W/+v6xBTyI8h42gL3Z8IQolookHqYRA
         HGHLf+EeikKu6bG7c51SCm+1M7Cr/hPCz/BEITaxhfWQQg6MYESGKiKWCmOkoOLRSibI
         ky+w==
X-Gm-Message-State: AOJu0Ywjdf65yTeOEIWkFpEIiXa3uKcXZYVXKKBsoPWDsmnQuRd3oqDf
	23sti9kCjrGI36i18eZhqJ0=
X-Google-Smtp-Source: AGHT+IHOKXokV7EvaxoktV/LuS2AMerDvb5WvSP7RrTRcuvvQ0GFkNLwrvplBq2qwQ+GgfBFMpcYdQ==
X-Received: by 2002:a5d:64ae:0:b0:32d:d2aa:ed21 with SMTP id m14-20020a5d64ae000000b0032dd2aaed21mr8254274wrp.28.1699820949407;
        Sun, 12 Nov 2023 12:29:09 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <ac83b5b0-1def-47b5-9466-7fe42dba7ccd@xen.org>
Date: Sun, 12 Nov 2023 15:29:06 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v1 1/7] xen-block: Do not write frontend nodes
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:Block layer core" <qemu-block@nongnu.org>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-2-volodymyr_babchuk@epam.com>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <20231110204207.2927514-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 10/11/2023 15:42, Volodymyr Babchuk wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> The PV backend running in other than Dom0 domain (non toolstack domain)
> is not allowed to write frontend nodes. The more, the backend does not
> need to do that at all, this is purely toolstack/xl devd business.
> 
> I do not know for what reason the backend does that here, this is not really
> needed, probably it is just a leftover and all xen_device_frontend_printf()
> instances should go away completely.
>

It is not a leftover and it is needed in the case that QEMU is 
instantiating the backend unilaterally... i.e. without the involvement 
of any Xen toolstack.
Agreed that, if QEMU, is running in a deprivileged context, that is not 
an option. The correct way to determined this though is whether the 
device is being created via the QEMU command line or whether is being 
created because XenStore nodes written by a toolstack were discovered.
In the latter case there should be a XenBackendInstance that corresponds 
to the XenDevice whereas in the former case there should not be. For 
example, see xen_backend_try_device_destroy()

   Paul


> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>   hw/block/xen-block.c | 11 +++++++----
>   hw/xen/xen-bus.c     |  2 +-
>   2 files changed, 8 insertions(+), 5 deletions(-)
> 
> diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
> index a07cd7eb5d..dc4d477c22 100644
> --- a/hw/block/xen-block.c
> +++ b/hw/block/xen-block.c
> @@ -221,6 +221,7 @@ static void xen_block_realize(XenDevice *xendev, Error **errp)
>       XenBlockVdev *vdev = &blockdev->props.vdev;
>       BlockConf *conf = &blockdev->props.conf;
>       BlockBackend *blk = conf->blk;
> +    XenBus *xenbus = XEN_BUS(qdev_get_parent_bus(DEVICE(xendev)));
>   
>       if (vdev->type == XEN_BLOCK_VDEV_TYPE_INVALID) {
>           error_setg(errp, "vdev property not set");
> @@ -280,10 +281,12 @@ static void xen_block_realize(XenDevice *xendev, Error **errp)
>   
>       xen_device_backend_printf(xendev, "info", "%u", blockdev->info);
>   
> -    xen_device_frontend_printf(xendev, "virtual-device", "%lu",
> -                               vdev->number);
> -    xen_device_frontend_printf(xendev, "device-type", "%s",
> -                               blockdev->device_type);
> +    if (xenbus->backend_id == 0) {
> +        xen_device_frontend_printf(xendev, "virtual-device", "%lu",
> +                                   vdev->number);
> +        xen_device_frontend_printf(xendev, "device-type", "%s",
> +                                   blockdev->device_type);
> +    }
>   
>       xen_device_backend_printf(xendev, "sector-size", "%u",
>                                 conf->logical_block_size);
> diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
> index ece8ec40cd..06d5192aca 100644
> --- a/hw/xen/xen-bus.c
> +++ b/hw/xen/xen-bus.c
> @@ -1048,7 +1048,7 @@ static void xen_device_realize(DeviceState *dev, Error **errp)
>       xen_device_backend_set_online(xendev, true);
>       xen_device_backend_set_state(xendev, XenbusStateInitWait);
>   
> -    if (!xen_device_frontend_exists(xendev)) {
> +    if (!xen_device_frontend_exists(xendev) && xenbus->backend_id == 0) {
>           xen_device_frontend_printf(xendev, "backend", "%s",
>                                      xendev->backend_path);
>           xen_device_frontend_printf(xendev, "backend-id", "%u",



From xen-devel-bounces@lists.xenproject.org Sun Nov 12 20:37:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 20:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631216.984253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2HD2-0004aM-VB; Sun, 12 Nov 2023 20:37:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631216.984253; Sun, 12 Nov 2023 20:37: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 1r2HD2-0004aF-SZ; Sun, 12 Nov 2023 20:37:32 +0000
Received: by outflank-mailman (input) for mailman id 631216;
 Sun, 12 Nov 2023 20:37: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=mXgX=GZ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r2HD1-0004a9-BA
 for xen-devel@lists.xenproject.org; Sun, 12 Nov 2023 20:37:31 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c270a02-819b-11ee-9b0e-b553b5be7939;
 Sun, 12 Nov 2023 21:37:29 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-40806e4106dso21551145e9.1
 for <xen-devel@lists.xenproject.org>; Sun, 12 Nov 2023 12:37:29 -0800 (PST)
Received: from [192.168.199.91] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id
 ay15-20020a05600c1e0f00b0040586360a36sm11700180wmb.17.2023.11.12.12.37.27
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 12 Nov 2023 12:37:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c270a02-819b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699821449; x=1700426249; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=piE5yixx1rUhhuatPeS2Qkl4Lqntg8uWoigQoIXZVfM=;
        b=Z4H2IYNqg5GcDs9ZMuJQPWYCHSiGSxRAluDd46enI4+Amq/RuK2kumjICZmg7jsWP8
         Hp39CyMqZCxmC7uJSSMXEKxQWRyehNHOhEYDSUKnJ7EJv4lfhscdQgjmPbUIZ4CwK8Ui
         q+uPEmg97OmUgq6nQ9zwaTfzj/n45GFwKi9xq+P5e+a4ihg2Z+LmjZzV1MxWrzWyRXSw
         y4KxOQu2zuS7eXwsjpVDu1etSH/mu7HKCEMoMEDSd/oIMawYHCr1B3NJWADly0xtpzkR
         I7RSTKWaYoPdcXlRYJc20JxXIlJFAMkFtMKIZFW3mAor0p4/aWejZmuC70gmAjGrrz5t
         hndg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699821449; x=1700426249;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=piE5yixx1rUhhuatPeS2Qkl4Lqntg8uWoigQoIXZVfM=;
        b=LImXaknRaFMr6k3c9/vEsdxlsxdvXn9Px0dSgoDvtjFFNNLi7FcdQIBd05MdSkhKhQ
         OdbVCa4pR8dLip0zHj3I5/KDkRCrkSBPhGxl0EqHjtOW1LLqo7n/R7gL2AChyV1uasbY
         JdDQb/xeW+jWvx+ItiT6jkGJiWjb++UNAOEE+Y7gXRSKVopP0d11/MajRchDdmIsY15p
         yIIdrwYT35hSOJvfKT/ozWL8DA7IvFhrae0MgmYJNXHI/33t4jmYE25ZuUBSyk3n0vIM
         y8VK8UYoov+SfwYhSlBi6ANnFmWXWked6W7ZG8oeU0gV/Hdn+/00q4o99AbpZ1I3la9X
         +3GQ==
X-Gm-Message-State: AOJu0YzU50nNNDFN119EK8xPSK39sdXJm1jLOCnyjkMM17W0LDeJTu+u
	Fe92F/A3uC64M66SaJY77yQ=
X-Google-Smtp-Source: AGHT+IEuwcbyYUDhvrPtmS85IhFf5GK/mXVIP6g0nWCkiXCysRWPG1vLV3lKVXc5aU+3iV291pJu6g==
X-Received: by 2002:a05:600c:1992:b0:406:51a0:17ea with SMTP id t18-20020a05600c199200b0040651a017eamr4677083wmq.10.1699821448803;
        Sun, 12 Nov 2023 12:37:28 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <4886e994-6f4b-4d9f-97fc-9f6d7a8b3641@xen.org>
Date: Sun, 12 Nov 2023 15:37:25 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v1 5/7] xen-bus: Set offline if backend's state is
 XenbusStateClosed
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-6-volodymyr_babchuk@epam.com>
Organization: Xen Project
In-Reply-To: <20231110204207.2927514-6-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 10/11/2023 15:42, Volodymyr Babchuk wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Both state (XenbusStateClosed) and online (0) are expected by
> toolstack/xl devd to completely destroy the device. But "offline"
> is never being set by the backend resulting in timeout during
> domain destruction, garbage in Xestore and still running Qemu
> instance.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>   hw/xen/xen-bus.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
> index 75474d4b43..6e7ec3af64 100644
> --- a/hw/xen/xen-bus.c
> +++ b/hw/xen/xen-bus.c
> @@ -519,6 +519,10 @@ static void xen_device_backend_changed(void *opaque, const char *path)
>           xen_device_backend_set_state(xendev, XenbusStateClosed);
>       }
>   
> +    if (xen_device_backend_get_state(xendev) == XenbusStateClosed) {
> +        xen_device_backend_set_online(xendev, false);
> +    }
> +
>       /*
>        * If a backend is still 'online' then we should leave it alone but,
>        * if a backend is not 'online', then the device is a candidate

I don't understand what you're trying to do here. Just a few lines up 
from this hunk there is:

  506    if (xen_device_backend_scanf(xendev, "online", "%u", &online) 
!= 1) {
  507        online = 0;
  508    }
  509
  510    xen_device_backend_set_online(xendev, !!online);

Why is this not sufficient? What happens if the frontend decides to stop 
and start (e.g. for a driver update)? I'm guessing the backend will be 
destroyed... which is not very friendly.

   Paul


From xen-devel-bounces@lists.xenproject.org Sun Nov 12 20:44:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 20:44:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631219.984264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2HJN-0006Om-LM; Sun, 12 Nov 2023 20:44:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631219.984264; Sun, 12 Nov 2023 20:44: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 1r2HJN-0006Of-HQ; Sun, 12 Nov 2023 20:44:05 +0000
Received: by outflank-mailman (input) for mailman id 631219;
 Sun, 12 Nov 2023 20:44: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=mXgX=GZ=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r2HJM-0006OZ-5E
 for xen-devel@lists.xenproject.org; Sun, 12 Nov 2023 20:44:04 +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 35db95eb-819c-11ee-9b0e-b553b5be7939;
 Sun, 12 Nov 2023 21:44:01 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-32deb2809daso2203002f8f.3
 for <xen-devel@lists.xenproject.org>; Sun, 12 Nov 2023 12:44:01 -0800 (PST)
Received: from [192.168.199.91] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id
 d11-20020a5d4f8b000000b0032d829e10c0sm3912544wru.28.2023.11.12.12.43.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sun, 12 Nov 2023 12:44:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35db95eb-819c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699821841; x=1700426641; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=nuKkz7mQOq17IJaC3wVcZl5PT7A/RGnCalTk1Z6cm4k=;
        b=d05ImZkgOHE2x0oeAQ2tcKQt7RZdReotSLUcxG0OOyx0aCtw4QJ3JM/Vm2i8LluqpA
         cwzQER3CCcuzXW6lnA0V2FvvidduzqPiO76KeT6EVaWGeSWThMBzKqjuoqvLn7vsJVjw
         wprUrWOu+QgFWiIMjbKVrfgd8bSaX6EwBW+D/ubOTY8b73wFoQJcZc9h2vtYD35tem3f
         EL7MY16PiLNIVyVsR66uejaw77UMoIqw6TN0RrYqq1wrKvmhWBU8YufrExUayGv2IfmE
         HAR+9lwTSJqiNy0RM1oc4EA4KFjWwr8HXTDtdDYMmwuH30pd7YE0Uq6MXXSkKvpIrir8
         X5HQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699821841; x=1700426641;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nuKkz7mQOq17IJaC3wVcZl5PT7A/RGnCalTk1Z6cm4k=;
        b=H2hXhAXuSoeaew3bkdT91SmwuZd31H10IdWVPyq9hikuBmz2C0Y/5gcQHKN0DLerrx
         9k1iNikmkyYjTf05vfWJkW5UHPo7GpiaxsbSltBYCfOArebYGp/Y2dh0lHBs0x8AQDP4
         WiI6En2ARNeNsTs7F00ApP5jwJqxXHAPwwMyleCn2PbXle9e3nh1CBH2XdGzaLmaJ+ZO
         YnLulqVmrq5vflvTIxGijHJqqfZbfClKxyZixrhnKj0eCQ8n0xdPhkhvjxLXvEytAsSy
         kJVWFznaGYAV23u/867U2yOG4oP0mX2IuetJNca1bmHE4Ts7SFc6kq+oewca1Nhe9Ern
         hi+A==
X-Gm-Message-State: AOJu0YyXxdsL+Svf+B/cY11aEOKNqN+KghkgLQX/XZcXgtRr7iUa/ZXF
	Lc1pN+SJvhyHHmuOOAUNODs=
X-Google-Smtp-Source: AGHT+IHlMXE6LTQ+BDcUYetES5A5LmqI1g9ZnVfbIqmm9yoH0Db+HlTXJrXAQXM9VNjzLCvl28KiCA==
X-Received: by 2002:a5d:47c2:0:b0:32d:a7c8:eaf7 with SMTP id o2-20020a5d47c2000000b0032da7c8eaf7mr5145496wrc.20.1699821840859;
        Sun, 12 Nov 2023 12:44:00 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <bfa9e029-9d86-4a44-a7d4-c182bf816d84@xen.org>
Date: Sun, 12 Nov 2023 15:43:57 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v1 3/7] xen: xenstore: add possibility to preserve owner
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: David Woodhouse <dwmw2@infradead.org>, "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-4-volodymyr_babchuk@epam.com>
Organization: Xen Project
In-Reply-To: <20231110204207.2927514-4-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 10/11/2023 15:42, Volodymyr Babchuk wrote:
> Add option to preserve owner when creating an entry in Xen Store. This
> may be needed in cases when Qemu is working as device model in a
> domain that is Domain-0, e.g. in driver domain.
> 
> "owner" parameter for qemu_xen_xs_create() function can have special
> value XS_PRESERVE_OWNER, which will make specific implementation to
> get original owner of an entry and pass it back to
> set_permissions() call.
> 

If QEMU is running in a driver domain then it should know whether the 
domid of the domain it is running in and use that. Yes, it is hardcoded 
to 0 at the moment but surely a backend domid (which defaults to 0) 
could be passed on the command line?

   Paul

> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>   hw/i386/kvm/xen_xenstore.c       | 18 ++++++++++++++++++
>   hw/xen/xen-operations.c          | 12 ++++++++++++
>   include/hw/xen/xen_backend_ops.h |  2 ++
>   3 files changed, 32 insertions(+)
> 
> diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
> index 660d0b72f9..7b894a9884 100644
> --- a/hw/i386/kvm/xen_xenstore.c
> +++ b/hw/i386/kvm/xen_xenstore.c
> @@ -1572,6 +1572,24 @@ static bool xs_be_create(struct qemu_xs_handle *h, xs_transaction_t t,
>           return false;
>       }
>   
> +    if (owner == XS_PRESERVE_OWNER) {
> +        GList *perms;
> +        char letter;
> +
> +        err = xs_impl_get_perms(h->impl, 0, t, path, &perms);
> +        if (err) {
> +            errno = err;
> +            return false;
> +        }
> +
> +        if (sscanf(perms->data, "%c%u", &letter, &owner) != 2) {
> +            errno = EFAULT;
> +            g_list_free_full(perms, g_free);
> +            return false;
> +        }
> +        g_list_free_full(perms, g_free);
> +    }
> +
>       perms_list = g_list_append(perms_list,
>                                  xs_perm_as_string(XS_PERM_NONE, owner));
>       perms_list = g_list_append(perms_list,
> diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
> index e00983ec44..1df59b3c08 100644
> --- a/hw/xen/xen-operations.c
> +++ b/hw/xen/xen-operations.c
> @@ -300,6 +300,18 @@ static bool libxenstore_create(struct qemu_xs_handle *h, xs_transaction_t t,
>           return false;
>       }
>   
> +    if (owner == XS_PRESERVE_OWNER) {
> +        struct xs_permissions *tmp;
> +        unsigned int num;
> +
> +        tmp = xs_get_permissions(h->xsh, 0, path, &num);
> +        if (tmp == NULL) {
> +            return false;
> +        }
> +        perms_list[0].id = tmp[0].id;
> +        free(tmp);
> +    }
> +
>       return xs_set_permissions(h->xsh, t, path, perms_list,
>                                 ARRAY_SIZE(perms_list));
>   }
> diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_ops.h
> index 90cca85f52..273e414559 100644
> --- a/include/hw/xen/xen_backend_ops.h
> +++ b/include/hw/xen/xen_backend_ops.h
> @@ -266,6 +266,8 @@ typedef uint32_t xs_transaction_t;
>   #define XS_PERM_READ  0x01
>   #define XS_PERM_WRITE 0x02
>   
> +#define XS_PRESERVE_OWNER        0xFFFE
> +
>   struct xenstore_backend_ops {
>       struct qemu_xs_handle *(*open)(void);
>       void (*close)(struct qemu_xs_handle *h);



From xen-devel-bounces@lists.xenproject.org Sun Nov 12 21:13:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 21:13:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631222.984274 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2HlZ-0002LJ-SS; Sun, 12 Nov 2023 21:13:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631222.984274; Sun, 12 Nov 2023 21: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 1r2HlZ-0002LC-PK; Sun, 12 Nov 2023 21:13:13 +0000
Received: by outflank-mailman (input) for mailman id 631222;
 Sun, 12 Nov 2023 21:13: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=E0Na=GZ=casper.srs.infradead.org=BATV+7bd337da54ad26cefb50+7385+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2HlY-0002L6-JO
 for xen-devel@lists.xenproject.org; Sun, 12 Nov 2023 21:13:13 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 482283cb-81a0-11ee-98da-6d05b1d4d9a1;
 Sun, 12 Nov 2023 22:13:11 +0100 (CET)
Received: from [52.94.133.131] (helo=edge-m2-r2-104.e-sfo20.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2HlA-00AFhu-OU; Sun, 12 Nov 2023 21: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>
X-Inumbo-ID: 482283cb-81a0-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=STqeqpWljpxVtuL1THyGccEbEnekx31vNcW7Ydm1isI=; b=JXxv7zAP5QgHl0srlfzgD6S1V3
	X7Lt5I+DImgAoVXI36nH44hvl5okffkn3ylgHEhwIAfC7Gi9HgyLcOn63ixc3cE7B6TFp/+e3UtV3
	cBF6j5wp65IxlAmOadJQgkRZyfXgjrysYWBX8agNhXaYLGgPVKCzOammtNKT8JX0VNzmqdnoTW6ft
	iVM/h+E+hR+WDtJBWw+SU6Bn3yIfcOfik8Aj5f2VwahS4vaYDUr1akUJfZhnTVFfDa45YmFeR9YrW
	912LMjfds3CYQUDO+WajrgzX8Sdzb4SnMz1pL7en19ge7e7hqpqqrJXg+cjt12lBDz9gDeO+xq9w0
	3D+BgxJA==;
Message-ID: <851f9138ccc9c4a9ec1c8f7f6c2cc57c652f2b96.camel@infradead.org>
Subject: Re: [PATCH v1 4/7] xen_pvdev: Do not assume Dom0 when creating a
 directrory
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "qemu-devel@nongnu.org"
	 <qemu-devel@nongnu.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>
Date: Sun, 12 Nov 2023 16:12:47 -0500
In-Reply-To: <20231110204207.2927514-5-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
	 <20231110204207.2927514-5-volodymyr_babchuk@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-ukdGofoPqj5JFdtwTsSS"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2023-11-10 at 20:42 +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>=20
> Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to save
> the previous owner of the directory.
>=20

You're missing the words "... if it already exists" from that sentence.

If the directory *didn't* already exist, it gets created with dom0 as
the owner still, right? Assuming XenStore allows QEMU to do that.

Strictly, the node gets created (if permitted) and *then*
xs_set_permissions() attempts to set dom0 as the owner (if permitted).

> Note that for other than Dom0 domain (non toolstack domain) the
> "driver_domain" property should be set in domain config file for the
> toolstack to create required directories in advance.
>=20
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
> =C2=A0hw/xen/xen_pvdev.c | 3 ++-
> =C2=A01 file changed, 2 insertions(+), 1 deletion(-)
>=20
> diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
> index c5ad71e8dc..42bdd4f6c8 100644
> --- a/hw/xen/xen_pvdev.c
> +++ b/hw/xen/xen_pvdev.c
> @@ -60,7 +60,8 @@ void xen_config_cleanup(void)
> =C2=A0
> =C2=A0int xenstore_mkdir(char *path, int p)
> =C2=A0{
> -=C2=A0=C2=A0=C2=A0 if (!qemu_xen_xs_create(xenstore, 0, 0, xen_domid, p,=
 path)) {
> +=C2=A0=C2=A0=C2=A0 if (!qemu_xen_xs_create(xenstore, 0, XS_PRESERVE_OWNE=
R,
> +=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=C2=A0 xen_domid, p, path)) {
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xen_pv_printf(NULL, 0, "=
xs_mkdir %s: failed\n", path);
> =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 }

Why bother with xenstore_mkdir()? AFAICT it's *only* used from the
legacy XenLegacyDevice stuff, and can't we just finish the job of
moving from that to the XenDevice model? I've done console and net
recently; want to keep going?

And even then... the xenstore_mkdir() function is called twice from
xen_config_dev_dirs() in hw/xen/xen_devconfig.c to create the frontend
and backend directories =E2=80=94 which is what the rest of your patch seri=
es
is trying to eliminate because a driver domain doesn't have permissions
to do that anyway.

It's also called from xen_be_register() in hw/xen/xen_devconfig.c to
create device-model/${GUEST_DOMID}/backends/${DEVICE_TYPE} (using a
relative path, so in the driver domain's XenStore). That one presumably
*won't* exist already, and so XS_PRESERVE_OWNER won't even have any
effect?

What practical difference does this even make? Am I missing something?

--=-ukdGofoPqj5JFdtwTsSS
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEyMjExMjQ3WjAvBgkqhkiG9w0BCQQxIgQg71B9xpEA
M/enj3lL30hdlOWn9LedLsl25x3p+HCYoAIwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCaJJEfvF4MsfvXnADS4HODxkhUPP0rkCGI
Waa2r2wgJ94CVyza7eIHQIaC9eUn3oTlffrriKGhrDKprfR0cjTlCVqjeetEjMwxbJ5hB6W7UT9Z
cK20zeXt5IaTkgmPNdmaPV+N6a+ABdiBXEzVaskTOLg7bmFx58VWrlTxpm+iWW4o4L6Y14rLAMuA
10Q+aOaZ9WUwK7rj4UB91H2bErc+ZL8hYVGX9uOSmr/RHnd5YjN5MQOFnl/KhMJP0bSCNUuD+9VB
RFagD+QhkHr8aRDMuBihcspTOr9DDvQKllCE5tpij+DDuXv+cfl62bmIDie0yF4DCHWacEtdlL8E
kzDDabb7xWCfHU/VA577eAfBC8KPxp8k54n6zS/IK2IjB0RUu4FoCcDNl3JyOE1dHmNIICwdX/r+
lucKn3XWWwK+G9ItCB4RYf4pCwi3B75tDHronF9FNzb44uOhreCaBiMvtHQZRnq3zFrAaI5nGka2
dWiiPAjjUV56qYuG0pIaLDRS12tnRuFuT65qXYLGKgVgaOaoYUy9mcD95ffu9b3yDhYu/YdZoJgK
bulBVWLLs7ClwcLbwRSzpPbE1rP69JsDAJDwv7h2JrFE7zEiFRIa1jSZfshFVFdziu0vdPMoXQDU
NLBvhfXJXsanVWT29scibtSiaSh8GxLS0GvGmApxjwAAAAAAAA==


--=-ukdGofoPqj5JFdtwTsSS--


From xen-devel-bounces@lists.xenproject.org Sun Nov 12 21:19:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 21:19:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631227.984283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2HrJ-0003S5-Jx; Sun, 12 Nov 2023 21:19:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631227.984283; Sun, 12 Nov 2023 21:19: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 1r2HrJ-0003Ry-HO; Sun, 12 Nov 2023 21:19:09 +0000
Received: by outflank-mailman (input) for mailman id 631227;
 Sun, 12 Nov 2023 21:19: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=E0Na=GZ=casper.srs.infradead.org=BATV+7bd337da54ad26cefb50+7385+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2HrI-0003Rs-NA
 for xen-devel@lists.xenproject.org; Sun, 12 Nov 2023 21:19:08 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19f79181-81a1-11ee-9b0e-b553b5be7939;
 Sun, 12 Nov 2023 22:19:04 +0100 (CET)
Received: from [52.94.133.131] (helo=edge-m2-r2-104.e-sfo20.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2Hqz-00AH75-I3; Sun, 12 Nov 2023 21:18: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: 19f79181-81a1-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=B+dlIAdMvPfLRHI7XgZE80gMLiMnJQEpFREmBnfBaFA=; b=daEztuDV+9aS129E+V6Tk9Qn4U
	drxada01ujLkEs3xgnqvThnyWorwUt6nhSRWBkeBZmMm4uKgUd0dhGXqIjQBM15DCKM7qrm7TVoRM
	//nsk4qfgKIqLbycBILNVudTDBzMlvANArUXz9TgJHbYTaX/ZBn7mcMOgbA72FWgd3/wrYzn5XMQR
	/fCNImX6e2lztSvhDNRHMuApv9R38ZXkHPcA+qe8QUI6xXUIFnvWvF/Ff3x8yrab9kIg2YtfRfCdf
	BpeETHGQO64ts50tIsCo9ilbB82xyIFN7uz3VXjUaiZe2v9bpSYot2Zs9856QOa73Fk7/fvgCsns6
	0OAMFHew==;
Message-ID: <9cdd033411f5c15920762808891f278001073c6b.camel@infradead.org>
Subject: Re: [PATCH v1 3/7] xen: xenstore: add possibility to preserve owner
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "qemu-devel@nongnu.org"
	 <qemu-devel@nongnu.org>
Cc: Paul Durrant <paul@xen.org>, "Michael S. Tsirkin" <mst@redhat.com>, 
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo Bonzini
 <pbonzini@redhat.com>, Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,  Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Date: Sun, 12 Nov 2023 16:18:48 -0500
In-Reply-To: <4481f0fe9eb282333fd967b7ece590ead78ccdba.camel@infradead.org>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
	 <20231110204207.2927514-4-volodymyr_babchuk@epam.com>
	 <4481f0fe9eb282333fd967b7ece590ead78ccdba.camel@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-nI9F6Kh0LdQMOHt3+WNd"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Sat, 2023-11-11 at 11:01 +0000, David Woodhouse wrote:
>=20
> > --- a/hw/xen/xen-operations.c
> > +++ b/hw/xen/xen-operations.c
> > @@ -300,6 +300,18 @@ static bool libxenstore_create(struct qemu_xs_hand=
le *h, xs_transaction_t t,
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return false;
> > =C2=A0=C2=A0=C2=A0=C2=A0 }
> > =C2=A0
> > +=C2=A0=C2=A0=C2=A0 if (owner =3D=3D XS_PRESERVE_OWNER) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct xs_permissions *tmp;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 unsigned int num;
> > +
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tmp =3D xs_get_permissions(=
h->xsh, 0, path, &num);
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (tmp =3D=3D NULL) {
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ret=
urn false;
> > +=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 perms_list[0].id =3D tmp[0]=
.id;
> > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 free(tmp);
> > +=C2=A0=C2=A0=C2=A0 }
> > +
>=20
> Don't see what saves you from someone else changing it at this point on
> true Xen though. Which is why I'd prefer XenStore to do it natively.

I suppose maybe you could do it in a transaction *if* the transaction_t
you're passed in isn't already XBT_NULL?

One might argue that the mkdir+set_perms in libxenstore_create() ought
to have been within the same transaction *anyway*?=20

--=-nI9F6Kh0LdQMOHt3+WNd
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEyMjExODQ4WjAvBgkqhkiG9w0BCQQxIgQgQ+YYB7jm
UQBolMEe6scdY+as2BgMpCOhw1si4Ocy388wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCgyA7sQVCwGFXAznGsw+A1WadhMcZD6hsT
q8sxNvK3s7pVkDnjmGZB4uOnz3VzSu9W4jT5AFTTf3UrL6M4un37Y2oNGiBbx7WTsnqnhIZuRFhu
PexFdSLhpx//2CodAPJkmeNm8l+KfJPk1vtb7EoqVl/5oWHLc61J7hxMVpeByw0ZdZTXzy/C5ZVJ
H7GJUTiK1+EQxeTfYfjoPYapKqoGu7RgGVI2+7BqwwFT3iVrWY2QpWSlbl+I9SENzdR4/Rmk76Eu
Esh5vjUzRscrFGv2RjFJucuE0+fuB+9NjGwol3iZyw+LWsI8p2HcfAc38+JfkaTbh7hqq03wyT7l
RnSfSAhHdi2qlNAukbe3Znw+h2UdPha641ZRkQHJs8H3ZmU74pqdvx/uk/BSISA/Y12K3JVQtG2b
Tx95LEfvqwOm8fU8BFGMp+YfiArweQIF0iCAZ2caJln/YkzDRKQmHA5razqigzZPwXy9zTKJyhTz
fUDGbyZOycfGIotzZhWLj+pXY0j4tNDYIL/9VnqeKkUkLW7nRnsHsyQv+i4HLMlzStta2pIAhWKW
4o0Ne6g+aEV3kpZTbmfQcCkAaZ3IdOqFS3Aybam/lDAhxLdIFPOpLPgqa72yVFKIzkzxho/jesbt
yJeiL5g+ywWwADeGPTZ2XEOk8f9r5RjD9yhiVuAWNgAAAAAAAA==


--=-nI9F6Kh0LdQMOHt3+WNd--


From xen-devel-bounces@lists.xenproject.org Sun Nov 12 21:57:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 21:57:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631231.984294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ISO-000182-H6; Sun, 12 Nov 2023 21:57:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631231.984294; Sun, 12 Nov 2023 21:57: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 1r2ISO-00017v-D8; Sun, 12 Nov 2023 21:57:28 +0000
Received: by outflank-mailman (input) for mailman id 631231;
 Sun, 12 Nov 2023 21:57: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=E0Na=GZ=casper.srs.infradead.org=BATV+7bd337da54ad26cefb50+7385+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2ISM-00017I-Nq
 for xen-devel@lists.xenproject.org; Sun, 12 Nov 2023 21:57:27 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7658a8b0-81a6-11ee-98da-6d05b1d4d9a1;
 Sun, 12 Nov 2023 22:57:24 +0100 (CET)
Received: from [52.94.133.139] (helo=edge-m2-r2-104.e-sfo20.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2IS4-00ARQA-KZ; Sun, 12 Nov 2023 21:57: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: 7658a8b0-81a6-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=BTcIDZBznDruqbRnnQO+1ZhfIAjpPuj5DMa2gMykYBM=; b=Hd0hXnfJt9VQIGQn+Ri/ZpWa9k
	gllPbFX59w5YTjxCUWW2I6vlm+j5sECEeEWI1DSzJqixyUEGbUEYU0Y76e7Sup0Sz0gZIUtKP6Z37
	ZU0lQlvTouCV3F98Z9vMGFYB0l1Lu9Nvl0Li3dkuvZSmcmHvZG8G67XN4A9nmJibTnK3jIDaKHxW8
	HMNlzlPIudJN9DfRfW5kx6ItHv5yj4IEfTKkFjaefiBmjYUL4O3sbg/th5+7gik/MYbMqav23GQN1
	QyEAgrWzKnBQIdWXj6MG2xkZ+nYQOA22rIb/0mBOnVJR9/PhMFIwLoKqGJmeTdVuW2WTbqQbOksj+
	8KoouDuA==;
Message-ID: <916e6f41e2da700375f84a2fda7b85d4b58dfb31.camel@infradead.org>
Subject: Re: [PATCH v1 2/7] xen-bus: Do not destroy frontend/backend
 directories
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "qemu-devel@nongnu.org"
	 <qemu-devel@nongnu.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>, "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>
Date: Sun, 12 Nov 2023 16:57:07 -0500
In-Reply-To: <20231110204207.2927514-3-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
	 <20231110204207.2927514-3-volodymyr_babchuk@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-UKj3xnW0YeRCF55aheV7"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2023-11-10 at 20:42 +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>=20
> The PV backend running in other than Dom0 domain (non toolstack domain)
> is not allowed to destroy frontend/backend directories. The more,
> it does not need to do that at all, this is purely toolstack/xl devd
> business.
>=20
> I do not know for what reason the backend does that here, this is not rea=
lly
> needed, probably it is just a leftover and all xs_node_destroy()
> instances should go away completely.

No, if this is a hot-unplug then the nodes should indeed be deleted.

The correct criterion to use is, "did QEMU create this device for
itself?".

Try the patch below, and then the existence of xendev->backend will
mean that it's a device that we *discovered* in XenStore (having been
created by the toolstack), and not a device which QEMU created itself.

Then your patch to which I'm replying, and other parts of the code
which create the nodes in xen_device_realize() and elsewhere, can use
'if (xendev->backend)' as the condition for whether to make the changes
in XenStore.

=46rom 99ab85e8c766d0bb9c3ac556172208db8c69a3d7 Mon Sep 17 00:00:00 2001
From: David Woodhouse <dwmw@amazon.co.uk>
Date: Sun, 12 Nov 2023 16:49:21 -0500
Subject: [PATCH] hw/xen: Set XenBackendInstance in the XenDevice before
 realizing it

This allows a XenDevice implementation to know whether it was created
by QEMU, or merely discovered in XenStore after the toolstack created
it. This will allow us to create frontend/backend nodes only when we
should, rather than unconditionally attempting to overwrite them from
a driver domain which doesn't have privileges to do so.

As an added benefit, it also means we no longer have to call the
xen_backend_set_device() function from the device models immediately
after calling qdev_realize_and_unref(). Even though we could make
the argument that it's safe to do so, and the pointer to the unreffed
device *will* actually still be valid, it still made my skin itch to
look at it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/block/xen-block.c         | 3 +--
 hw/char/xen_console.c        | 2 +-
 hw/net/xen_nic.c             | 2 +-
 hw/xen/xen-bus.c             | 4 ++++
 include/hw/xen/xen-backend.h | 2 --
 include/hw/xen/xen-bus.h     | 2 ++
 6 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 6d64ede94f..c2ac9db4a2 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -1081,13 +1081,12 @@ static void xen_block_device_create(XenBackendInsta=
nce *backend,
=20
     blockdev->iothread =3D iothread;
     blockdev->drive =3D drive;
+    xendev->backend =3D backend;
=20
     if (!qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
         error_prepend(errp, "realization of device %s failed: ", type);
         goto fail;
     }
-
-    xen_backend_set_device(backend, xendev);
     return;
=20
 fail:
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 5cbee2f184..bef8a3a621 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -600,8 +600,8 @@ static void xen_console_device_create(XenBackendInstanc=
e *backend,
         goto fail;
     }
=20
+    xendev->backend =3D backend;
     if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
-        xen_backend_set_device(backend, xendev);
         goto done;
     }
=20
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index af4ba3f1e6..afa10c96e8 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -627,8 +627,8 @@ static void xen_net_device_create(XenBackendInstance *b=
ackend,
     net->dev =3D number;
     memcpy(&net->conf.macaddr, &mac, sizeof(mac));
=20
+    xendev->backend =3D backend;
     if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
-        xen_backend_set_device(backend, xendev);
         return;
     }
=20
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index fb82cc33e4..e2c5006bfb 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1080,6 +1080,10 @@ static void xen_device_realize(DeviceState *dev, Err=
or **errp)
         }
     }
=20
+    if (xendev->backend) {
+        xen_backend_set_device(xendev->backend, xendev);
+    }
+
     xendev->exit.notify =3D xen_device_exit;
     qemu_add_exit_notifier(&xendev->exit);
     return;
diff --git a/include/hw/xen/xen-backend.h b/include/hw/xen/xen-backend.h
index 0f01631ae7..ea080ba7c9 100644
--- a/include/hw/xen/xen-backend.h
+++ b/include/hw/xen/xen-backend.h
@@ -10,8 +10,6 @@
=20
 #include "hw/xen/xen-bus.h"
=20
-typedef struct XenBackendInstance XenBackendInstance;
-
 typedef void (*XenBackendDeviceCreate)(XenBackendInstance *backend,
                                        QDict *opts, Error **errp);
 typedef void (*XenBackendDeviceDestroy)(XenBackendInstance *backend,
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 38d40afa37..5e55b984ab 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -14,9 +14,11 @@
 #include "qom/object.h"
=20
 typedef struct XenEventChannel XenEventChannel;
+typedef struct XenBackendInstance XenBackendInstance;
=20
 struct XenDevice {
     DeviceState qdev;
+    XenBackendInstance *backend;
     domid_t frontend_id;
     char *name;
     struct qemu_xs_handle *xsh;
--=20
2.34.1






--=-UKj3xnW0YeRCF55aheV7
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEyMjE1NzA3WjAvBgkqhkiG9w0BCQQxIgQg9QpOys93
RuHPp47yrVmMvi/4tDwYg/0qYrDXA0zjr6Qwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBHDblCxnWLKjAWbdAgFKDOQqAgpSES7Rvq
hVAobdWlvdexUcuPVyMU7L7khfmoFOoSLvVgsRsElViN/gBQAXtt74sJl79rbCFPGQby8XKjbfjG
ZHyB21X/AXgishZ5PN+gKJnWQ6+WXc+ry3U5ngKsdioMrci45FPRvCjYKejF0vr+SWhHkz8HP1Os
x/0juVofSAcHSiNtFKWwYXPsBmNFYEn4R/4XV++mMtSUS8WVfQj5Bb7DTSSVU3bZq1ae6IPjdpeb
02iazIY65uBpYNkPMicsZkkpFS7UtBldAxHtnMQKoyM3JNS49mr1KJKlWPsURC8HOZbUDCBXKPpY
WvZj4GxFdHb0uW8/Yx1ry25zNtzSDJdq5dWosNRhUpfoiMec+aBK8XMxS4vsupC9gIE1wv8jvxe1
WIG5Ms4Q+7eS30z4vlWbX5WJC0kElSd1gER/yyH9y2UfHSj+SaTvPfAcexQ+N5MzUxpGMqynXuSD
SC/EhebdMCiYKGr35Tkpnq3UwNt7xXOyGItQP2kBy6fCgtIt5LiJAknjJu7rfRDxzqxfB/5v6SN+
g4Z4+wyjx0m6Sv/meIGrqS55oYm3psz9j0vwd9OosnHaZf6vWvSqTU2AQolbgck8cbBck9cgmdYP
PCNAepWHE+/G5gaB002kCklXIJ8jugKNS/hEFqtGWwAAAAAAAA==


--=-UKj3xnW0YeRCF55aheV7--


From xen-devel-bounces@lists.xenproject.org Sun Nov 12 22:12:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 12 Nov 2023 22:12:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631235.984303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Igi-0003tO-Or; Sun, 12 Nov 2023 22:12:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631235.984303; Sun, 12 Nov 2023 22: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 1r2Igi-0003tH-Lq; Sun, 12 Nov 2023 22:12:16 +0000
Received: by outflank-mailman (input) for mailman id 631235;
 Sun, 12 Nov 2023 22:12: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=E0Na=GZ=casper.srs.infradead.org=BATV+7bd337da54ad26cefb50+7385+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2Igh-0003ss-TR
 for xen-devel@lists.xenproject.org; Sun, 12 Nov 2023 22:12:15 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 88ff6c94-81a8-11ee-98da-6d05b1d4d9a1;
 Sun, 12 Nov 2023 23:12:15 +0100 (CET)
Received: from [52.94.133.131] (helo=edge-m2-r2-104.e-sfo20.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2IgL-00AUEI-UO; Sun, 12 Nov 2023 22: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: 88ff6c94-81a8-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=Ykq+GNFsEI6/oxn9ZxmqIElY9paijDMzv0u2YG91/sU=; b=GO6wh9AeisUQjQ7uVRnlP1p7QZ
	zrwgZdC/8CRm2cezfsTBTYx9Lh0xgS9J+rOmG/0vdX9mlAzEPnlhGK4j/Ku0Bmo9kUt8UNUwp/qzC
	TmMuBisrNGXLcIdROvxSI6X0nnPERrSmAr/88es7hO67687G6aNFJfIwvpOUTYrDHzsmjzo2TMQwf
	dAgOeIV2wwFm7cUju4sWrbEZdPggR9xNQAE9KUoCEdu5/SbGxqVq6VQofqmHkMkcBuTA4MW3MHFvq
	rnjbegWDp+bqUT9XsrZjVAnPQLeGBasPVjBeGcpVYfpaHaBOpPSjvyijiKYF0hNrnwAkKYWrOKV2A
	TEc/qHwQ==;
Message-ID: <6119beefbf169cfa2626acd7201946f3f588fa3e.camel@infradead.org>
Subject: Re: [PATCH v1 7/7] xen_arm: Add basic virtio-pci support
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "qemu-devel@nongnu.org"
	 <qemu-devel@nongnu.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Peter Maydell
 <peter.maydell@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>, 
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>, "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>
Date: Sun, 12 Nov 2023 17:11:52 -0500
In-Reply-To: <20231110204207.2927514-8-volodymyr_babchuk@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
	 <20231110204207.2927514-8-volodymyr_babchuk@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-hGXlJScYLLKtirDWwFxG"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Fri, 2023-11-10 at 20:42 +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>=20
> This patch adds basic virtio-pci support for xen_arm machine.

Why only xen_arm? Couldn't this be a fairly generic device which can be
instantiated on x86 too, both for real and emulated Xen guests? And
riscv/ppc too?

--=-hGXlJScYLLKtirDWwFxG
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEyMjIxMTUyWjAvBgkqhkiG9w0BCQQxIgQgsmz61MyO
epJVDvsWo1uNNpV2yHkIFDPEs+I2uTPU20Uwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgALtJuH3qg/h0CUc7Vnm+TyqKypvcYGfrd7
9cH2NB7ubTVJvtWjWCzYc1CnxqcK+Ym3qbkyY5LEjM0+LEZmzNr30cLe3LrjqcWtHgvEYCIGDKJW
JcfMshePzePLp1uSe6J5euyAw0gReBbk57TXG5/Ecu9cQW4Fp6qp63W+W3nW5Q56pVSvhlK+ZdmH
TEPVcFy/w0noEDL6JrK9vZWHQ9YIkex6hUv9HpoLDFsRLTDnDfuu1C2vPIiPaG8w6s1t0D4q8VKf
L0ppfn58DjS6coLQ2SvML+FY+uv3qj9uRQkNgYyzb3TXnjGdyDH415VQwYKSMDPBFmb863bB7RI7
ggGKVQMdBp/oHzCZqagJug5IkVxszod30Oxa9KQMO1Ndxlk+Ia/3K+AndkzgtSHbOslVE2S1HAun
X281AKYvre3cYLSoR64CaP27T7B9eDlstnBILL35OtGQmBhds7L7G+3QpubvLJTN1+I9rEKld3GW
b2rVx6xr9n5gqVqILysHHtG/7iBno6/kW6PQ+pdqXxhrtfFxJvKq23v9EBTq41j0f4RnhmN7D9gR
S7GKMtRvz1RcNV8V4/Lfe12Jk8cSJywQeAw37SVJyIx1DDjLJXn3Hvfgl+sRMghlO+GEzfesrYt8
jSPNMkjsRuQLYiHAHKzqkW5lCHgN8k/YQ5ittYdG5QAAAAAAAA==


--=-hGXlJScYLLKtirDWwFxG--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631247.984345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2McS-0001JD-NQ; Mon, 13 Nov 2023 02:24:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631247.984345; Mon, 13 Nov 2023 02: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 1r2McS-0001J0-Hn; Mon, 13 Nov 2023 02:24:08 +0000
Received: by outflank-mailman (input) for mailman id 631247;
 Mon, 13 Nov 2023 02: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2McR-00011s-ML
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:07 +0000
Received: from smtp-190a.mail.infomaniak.ch (smtp-190a.mail.infomaniak.ch
 [185.125.25.10]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b822cef1-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:06 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCsy1PsbzMpvSP;
 Mon, 13 Nov 2023 02:24:06 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCsw4qBmzMpnPj; Mon, 13 Nov 2023 03:24:04 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b822cef1-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842246;
	bh=14gESsZbdf4eGyL7ckyTON/9RCrFW/bTzWgKvh9Y1QM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=lCCpGzLomRxznCOR/eHwVydQZR5isgftfHk7I92gfDtAO6CX5RswyL7i2tobhTzAE
	 apr2Ceo33clgylfofcyYQRC+1ikfzHy4nOQYn3bmJlbss06S6fk2V+z1J7nyoxgujZ
	 p/uhukd50aRDJnnIXpcjdg1Yj4GNzxC2Wp5ETI6s=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 03/19] KVM: x86: Add notifications for Heki policy configuration and violation
Date: Sun, 12 Nov 2023 21:23:10 -0500
Message-ID: <20231113022326.24388-4-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

Add an interface for user space to be notified about guests' Heki policy
and related violations.

Extend the KVM_ENABLE_CAP IOCTL with KVM_CAP_HEKI_CONFIGURE and
KVM_CAP_HEKI_DENIAL. Each one takes a bitmask as first argument that can
contains KVM_HEKI_EXIT_REASON_CR0 and KVM_HEKI_EXIT_REASON_CR4. The
returned value is the bitmask of known Heki exit reasons, for now:
KVM_HEKI_EXIT_REASON_CR0 and KVM_HEKI_EXIT_REASON_CR4.

If KVM_CAP_HEKI_CONFIGURE is set, a VM exit will be triggered for each
KVM_HC_LOCK_CR_UPDATE hypercalls according to the requested control
register. This enables to enlighten the VMM with the guest
auto-restrictions.

If KVM_CAP_HEKI_DENIAL is set, a VM exit will be triggered for each
pinned CR violation. This enables the VMM to react to a policy
violation.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---

Changes since v1:
* New patch. Making user space aware of Heki properties was requested by
  Sean Christopherson.
---
 arch/x86/kvm/vmx/vmx.c   |   5 +-
 arch/x86/kvm/x86.c       | 114 +++++++++++++++++++++++++++++++++++----
 arch/x86/kvm/x86.h       |   7 +--
 include/linux/kvm_host.h |   2 +
 include/uapi/linux/kvm.h |  22 ++++++++
 5 files changed, 136 insertions(+), 14 deletions(-)

diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index f487bf16dd96..b631b1d7ba30 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -5444,6 +5444,7 @@ static int handle_cr(struct kvm_vcpu *vcpu)
 	int reg;
 	int err;
 	int ret;
+	bool exit = false;
 
 	exit_qualification = vmx_get_exit_qual(vcpu);
 	cr = exit_qualification & 15;
@@ -5453,8 +5454,8 @@ static int handle_cr(struct kvm_vcpu *vcpu)
 		val = kvm_register_read(vcpu, reg);
 		trace_kvm_cr_write(cr, val);
 
-		ret = heki_check_cr(vcpu, cr, val);
-		if (ret)
+		ret = heki_check_cr(vcpu, cr, val, &exit);
+		if (exit)
 			return ret;
 
 		switch (cr) {
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 4e6c4c21f12c..43c28a6953bf 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -119,6 +119,10 @@ static u64 __read_mostly cr4_reserved_bits = CR4_RESERVED_BITS;
 
 #define KVM_CAP_PMU_VALID_MASK KVM_PMU_CAP_DISABLE
 
+#define KVM_HEKI_EXIT_REASON_VALID_MASK ( \
+	KVM_HEKI_EXIT_REASON_CR0 | \
+	KVM_HEKI_EXIT_REASON_CR4)
+
 #define KVM_X2APIC_API_VALID_FLAGS (KVM_X2APIC_API_USE_32BIT_IDS | \
                                     KVM_X2APIC_API_DISABLE_BROADCAST_QUIRK)
 
@@ -4644,6 +4648,10 @@ int kvm_vm_ioctl_check_extension(struct kvm *kvm, long ext)
 		if (kvm_is_vm_type_supported(KVM_X86_SW_PROTECTED_VM))
 			r |= BIT(KVM_X86_SW_PROTECTED_VM);
 		break;
+	case KVM_CAP_HEKI_CONFIGURE:
+	case KVM_CAP_HEKI_DENIAL:
+		r = KVM_HEKI_EXIT_REASON_VALID_MASK;
+		break;
 	default:
 		break;
 	}
@@ -6518,6 +6526,22 @@ int kvm_vm_ioctl_enable_cap(struct kvm *kvm,
 		}
 		mutex_unlock(&kvm->lock);
 		break;
+#ifdef CONFIG_HEKI
+	case KVM_CAP_HEKI_CONFIGURE:
+		r = -EINVAL;
+		if (cap->args[0] & ~KVM_HEKI_EXIT_REASON_VALID_MASK)
+			break;
+		kvm->heki_configure_exit_reason = cap->args[0];
+		r = 0;
+		break;
+	case KVM_CAP_HEKI_DENIAL:
+		r = -EINVAL;
+		if (cap->args[0] & ~KVM_HEKI_EXIT_REASON_VALID_MASK)
+			break;
+		kvm->heki_denial_exit_reason = cap->args[0];
+		r = 0;
+		break;
+#endif
 	default:
 		r = -EINVAL;
 		break;
@@ -8056,11 +8080,60 @@ static unsigned long emulator_get_cr(struct x86_emulate_ctxt *ctxt, int cr)
 
 #ifdef CONFIG_HEKI
 
+static int complete_heki_configure_exit(struct kvm_vcpu *const vcpu)
+{
+	kvm_rax_write(vcpu, 0);
+	++vcpu->stat.hypercalls;
+	return kvm_skip_emulated_instruction(vcpu);
+}
+
+static int complete_heki_denial_exit(struct kvm_vcpu *const vcpu)
+{
+	kvm_inject_gp(vcpu, 0);
+	return 1;
+}
+
+/* Returns true if the @exit_reason is handled by @vcpu->kvm. */
+static bool heki_exit_cr(struct kvm_vcpu *const vcpu, const __u32 exit_reason,
+			 const u64 heki_reason, unsigned long value)
+{
+	switch (exit_reason) {
+	case KVM_EXIT_HEKI_CONFIGURE:
+		if (!(vcpu->kvm->heki_configure_exit_reason & heki_reason))
+			return false;
+
+		vcpu->run->heki_configure.reason = heki_reason;
+		memset(vcpu->run->heki_configure.reserved, 0,
+		       sizeof(vcpu->run->heki_configure.reserved));
+		vcpu->run->heki_configure.cr_pinned = value;
+		vcpu->arch.complete_userspace_io = complete_heki_configure_exit;
+		break;
+	case KVM_EXIT_HEKI_DENIAL:
+		if (!(vcpu->kvm->heki_denial_exit_reason & heki_reason))
+			return false;
+
+		vcpu->run->heki_denial.reason = heki_reason;
+		memset(vcpu->run->heki_denial.reserved, 0,
+		       sizeof(vcpu->run->heki_denial.reserved));
+		vcpu->run->heki_denial.cr_value = value;
+		vcpu->arch.complete_userspace_io = complete_heki_denial_exit;
+		break;
+	default:
+		WARN_ON_ONCE(1);
+		return false;
+	}
+
+	vcpu->run->exit_reason = exit_reason;
+	return true;
+}
+
 #define HEKI_ABI_VERSION 1
 
 static int heki_lock_cr(struct kvm_vcpu *const vcpu, const unsigned long cr,
-			unsigned long pin, unsigned long flags)
+			unsigned long pin, unsigned long flags, bool *exit)
 {
+	*exit = false;
+
 	if (flags) {
 		if ((flags == KVM_LOCK_CR_UPDATE_VERSION) && !cr && !pin)
 			return HEKI_ABI_VERSION;
@@ -8080,6 +8153,8 @@ static int heki_lock_cr(struct kvm_vcpu *const vcpu, const unsigned long cr,
 			return -KVM_EINVAL;
 
 		atomic_long_or(pin, &vcpu->kvm->heki_pinned_cr0);
+		*exit = heki_exit_cr(vcpu, KVM_EXIT_HEKI_CONFIGURE,
+				     KVM_HEKI_EXIT_REASON_CR0, pin);
 		return 0;
 	case 4:
 		/* Checks for irrelevant bits. */
@@ -8089,24 +8164,37 @@ static int heki_lock_cr(struct kvm_vcpu *const vcpu, const unsigned long cr,
 		/* Ignores bits not present in host. */
 		pin &= __read_cr4();
 		atomic_long_or(pin, &vcpu->kvm->heki_pinned_cr4);
+		*exit = heki_exit_cr(vcpu, KVM_EXIT_HEKI_CONFIGURE,
+				     KVM_HEKI_EXIT_REASON_CR4, pin);
 		return 0;
 	}
 	return -KVM_EINVAL;
 }
 
+/*
+ * Sets @exit to true if the caller must exit (i.e. denied access) with the
+ * returned value:
+ * - 0 when kvm_run is configured;
+ * - 1 when there is no user space handler.
+ */
 int heki_check_cr(struct kvm_vcpu *const vcpu, const unsigned long cr,
-		  const unsigned long val)
+		  const unsigned long val, bool *exit)
 {
 	unsigned long pinned;
 
+	*exit = false;
+
 	switch (cr) {
 	case 0:
 		pinned = atomic_long_read(&vcpu->kvm->heki_pinned_cr0);
 		if ((val & pinned) != pinned) {
 			pr_warn_ratelimited(
 				"heki: Blocked CR0 update: 0x%lx\n", val);
-			kvm_inject_gp(vcpu, 0);
-			return 1;
+			*exit = true;
+			if (heki_exit_cr(vcpu, KVM_EXIT_HEKI_DENIAL,
+					 KVM_HEKI_EXIT_REASON_CR0, val))
+				return 0;
+			return complete_heki_denial_exit(vcpu);
 		}
 		return 0;
 	case 4:
@@ -8114,8 +8202,11 @@ int heki_check_cr(struct kvm_vcpu *const vcpu, const unsigned long cr,
 		if ((val & pinned) != pinned) {
 			pr_warn_ratelimited(
 				"heki: Blocked CR4 update: 0x%lx\n", val);
-			kvm_inject_gp(vcpu, 0);
-			return 1;
+			*exit = true;
+			if (heki_exit_cr(vcpu, KVM_EXIT_HEKI_DENIAL,
+					 KVM_HEKI_EXIT_REASON_CR4, val))
+				return 0;
+			return complete_heki_denial_exit(vcpu);
 		}
 		return 0;
 	}
@@ -8129,9 +8220,10 @@ static int emulator_set_cr(struct x86_emulate_ctxt *ctxt, int cr, ulong val)
 {
 	struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt);
 	int res = 0;
+	bool exit = false;
 
-	res = heki_check_cr(vcpu, cr, val);
-	if (res)
+	res = heki_check_cr(vcpu, cr, val, &exit);
+	if (exit)
 		return res;
 
 	switch (cr) {
@@ -9998,7 +10090,11 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
 		if (a0 > U32_MAX) {
 			ret = -KVM_EINVAL;
 		} else {
-			ret = heki_lock_cr(vcpu, a0, a1, a2);
+			bool exit = false;
+
+			ret = heki_lock_cr(vcpu, a0, a1, a2, &exit);
+			if (exit)
+				return ret;
 		}
 		break;
 #endif /* CONFIG_HEKI */
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 193093112b55..f8f5c32bedd9 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -292,18 +292,19 @@ static inline bool kvm_check_has_quirk(struct kvm *kvm, u64 quirk)
 
 #ifdef CONFIG_HEKI
 
-int heki_check_cr(struct kvm_vcpu *vcpu, unsigned long cr, unsigned long val);
+int heki_check_cr(struct kvm_vcpu *vcpu, unsigned long cr, unsigned long val,
+		  bool *exit);
 
 #else /* CONFIG_HEKI */
 
 static inline int heki_check_cr(struct kvm_vcpu *vcpu, unsigned long cr,
-				unsigned long val)
+				unsigned long val, bool *exit)
 {
 	return 0;
 }
 
 static inline int heki_lock_cr(struct kvm_vcpu *const vcpu, unsigned long cr,
-			       unsigned long pin)
+			       unsigned long pin, bool *exit)
 {
 	return 0;
 }
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 6864c80ff936..ec32af17add8 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -838,6 +838,8 @@ struct kvm {
 #ifdef CONFIG_HEKI
 	atomic_long_t heki_pinned_cr0;
 	atomic_long_t heki_pinned_cr4;
+	u64 heki_configure_exit_reason;
+	u64 heki_denial_exit_reason;
 #endif /* CONFIG_HEKI */
 
 #ifdef CONFIG_HAVE_KVM_PM_NOTIFIER
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 5b5820d19e71..2477b4a16126 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -279,6 +279,8 @@ struct kvm_xen_exit {
 #define KVM_EXIT_RISCV_CSR        36
 #define KVM_EXIT_NOTIFY           37
 #define KVM_EXIT_MEMORY_FAULT     38
+#define KVM_EXIT_HEKI_CONFIGURE   39
+#define KVM_EXIT_HEKI_DENIAL      40
 
 /* For KVM_EXIT_INTERNAL_ERROR */
 /* Emulate instruction failed. */
@@ -532,6 +534,24 @@ struct kvm_run {
 			__u64 gpa;
 			__u64 size;
 		} memory_fault;
+		/* KVM_EXIT_HEKI_CONFIGURE */
+		struct {
+#define KVM_HEKI_EXIT_REASON_CR0	(1ULL << 0)
+#define KVM_HEKI_EXIT_REASON_CR4	(1ULL << 1)
+			__u64 reason;
+			union {
+				__u64 cr_pinned;
+				__u64 reserved[7]; /* ignored */
+			};
+		} heki_configure;
+		/* KVM_EXIT_HEKI_DENIAL */
+		struct {
+			__u64 reason;
+			union {
+				__u64 cr_value;
+				__u64 reserved[7]; /* ignored */
+			};
+		} heki_denial;
 		/* Fix the size of the union. */
 		char padding[256];
 	};
@@ -1219,6 +1239,8 @@ struct kvm_ppc_resize_hpt {
 #define KVM_CAP_MEMORY_ATTRIBUTES 232
 #define KVM_CAP_GUEST_MEMFD 233
 #define KVM_CAP_VM_TYPES 234
+#define KVM_CAP_HEKI_CONFIGURE 235
+#define KVM_CAP_HEKI_DENIAL 236
 
 #ifdef KVM_CAP_IRQ_ROUTING
 
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631248.984354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2McW-0001cu-VC; Mon, 13 Nov 2023 02:24:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631248.984354; Mon, 13 Nov 2023 02:24: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 1r2McW-0001cl-QF; Mon, 13 Nov 2023 02:24:12 +0000
Received: by outflank-mailman (input) for mailman id 631248;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2McV-00011s-KC
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:11 +0000
Received: from smtp-1908.mail.infomaniak.ch (smtp-1908.mail.infomaniak.ch
 [185.125.25.8]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba9dc725-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:10 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCt22fpHzMpvYh;
 Mon, 13 Nov 2023 02:24:10 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCt065wzzMpnPj; Mon, 13 Nov 2023 03:24:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba9dc725-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842250;
	bh=esVX+RxDYBu/Sf0VJM0uwsUmshvOSuRinJo44ok6d6I=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=j5ewNw8U+CG4uLmDWsFmdmmPUPds1RzaRFS3iHpbIedD8bQNFxISwi0x84JEiZJ2I
	 NCDOM4+qkBQaGKfao4tSd+VlnabW4CgD40djzXTwDdf8kQnk1T5bqF0vW0NlssX/dI
	 heNYXTA3TuNjmf/r++0u7uvbsMYZxag0QM+XHVLs=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 04/19] heki: Lock guest control registers at the end of guest kernel init
Date: Sun, 12 Nov 2023 21:23:11 -0500
Message-ID: <20231113022326.24388-5-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

The hypervisor needs to provide some functions to support Heki. These
form the Heki-Hypervisor API.

Define a heki_hypervisor structure to house the API functions. A
hypervisor that supports Heki must instantiate a heki_hypervisor
structure and pass it to the Heki common code. This allows the common
code to access these functions in a hypervisor-agnostic way.

The first function that is implemented is lock_crs() (lock control
registers). That is, certain flags in the control registers are pinned
so that they can never be changed for the lifetime of the guest.

Implement Heki support in the guest:

- Each supported hypervisor in x86 implements a set of functions for the
  guest kernel. Add an init_heki() function to that set.  This function
  initializes Heki-related stuff. Call init_heki() for the detected
  hypervisor in init_hypervisor_platform().

- Implement init_heki() for the guest.

- Implement kvm_lock_crs() in the guest to lock down control registers.
  This function calls a KVM hypercall to do the job.

- Instantiate a heki_hypervisor structure that contains a pointer to
  kvm_lock_crs().

- Pass the heki_hypervisor structure to Heki common code in init_heki().

Implement a heki_late_init() function and call it at the end of kernel
init. This function calls lock_crs(). In other words, control registers
of a guest are locked down at the end of guest kernel init.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Co-developed-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---

Changes since v1:
* Shrinked the patch to only manage the CR pinning.
---
 arch/x86/include/asm/x86_init.h  |  1 +
 arch/x86/kernel/cpu/hypervisor.c |  1 +
 arch/x86/kernel/kvm.c            | 56 ++++++++++++++++++++++++++++++++
 arch/x86/kvm/Kconfig             |  1 +
 include/linux/heki.h             | 22 +++++++++++++
 init/main.c                      |  1 +
 virt/heki/Kconfig                |  9 ++++-
 virt/heki/main.c                 | 25 ++++++++++++++
 8 files changed, 115 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 5240d88db52a..ff4dfd2f615e 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -127,6 +127,7 @@ struct x86_hyper_init {
 	bool (*msi_ext_dest_id)(void);
 	void (*init_mem_mapping)(void);
 	void (*init_after_bootmem)(void);
+	void (*init_heki)(void);
 };
 
 /**
diff --git a/arch/x86/kernel/cpu/hypervisor.c b/arch/x86/kernel/cpu/hypervisor.c
index 553bfbfc3a1b..6085c8129e0c 100644
--- a/arch/x86/kernel/cpu/hypervisor.c
+++ b/arch/x86/kernel/cpu/hypervisor.c
@@ -106,4 +106,5 @@ void __init init_hypervisor_platform(void)
 
 	x86_hyper_type = h->type;
 	x86_init.hyper.init_platform();
+	x86_init.hyper.init_heki();
 }
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index b8ab9ee5896c..8349f4ad3bbd 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -29,6 +29,7 @@
 #include <linux/syscore_ops.h>
 #include <linux/cc_platform.h>
 #include <linux/efi.h>
+#include <linux/heki.h>
 #include <asm/timer.h>
 #include <asm/cpu.h>
 #include <asm/traps.h>
@@ -997,6 +998,60 @@ static bool kvm_sev_es_hcall_finish(struct ghcb *ghcb, struct pt_regs *regs)
 }
 #endif
 
+#ifdef CONFIG_HEKI
+
+extern unsigned long cr4_pinned_mask;
+
+/*
+ * TODO: Check SMP policy consistency, e.g. with
+ * this_cpu_read(cpu_tlbstate.cr4)
+ */
+static int kvm_lock_crs(void)
+{
+	unsigned long cr4;
+	int err;
+
+	err = kvm_hypercall3(KVM_HC_LOCK_CR_UPDATE, 0, X86_CR0_WP, 0);
+	if (err)
+		return err;
+
+	cr4 = __read_cr4();
+	err = kvm_hypercall3(KVM_HC_LOCK_CR_UPDATE, 4, cr4 & cr4_pinned_mask,
+			     0);
+	return err;
+}
+
+static struct heki_hypervisor kvm_heki_hypervisor = {
+	.lock_crs = kvm_lock_crs,
+};
+
+static void kvm_init_heki(void)
+{
+	long err;
+
+	if (!kvm_para_available()) {
+		/* Cannot make KVM hypercalls. */
+		return;
+	}
+
+	err = kvm_hypercall3(KVM_HC_LOCK_CR_UPDATE, 0, 0,
+			     KVM_LOCK_CR_UPDATE_VERSION);
+	if (err < 1) {
+		/* Ignores host not supporting at least the first version. */
+		return;
+	}
+
+	heki.hypervisor = &kvm_heki_hypervisor;
+}
+
+#else /* CONFIG_HEKI */
+
+static void kvm_init_heki(void)
+{
+}
+
+#endif /* CONFIG_HEKI */
+
 const __initconst struct hypervisor_x86 x86_hyper_kvm = {
 	.name				= "KVM",
 	.detect				= kvm_detect,
@@ -1005,6 +1060,7 @@ const __initconst struct hypervisor_x86 x86_hyper_kvm = {
 	.init.x2apic_available		= kvm_para_available,
 	.init.msi_ext_dest_id		= kvm_msi_ext_dest_id,
 	.init.init_platform		= kvm_init_platform,
+	.init.init_heki			= kvm_init_heki,
 #if defined(CONFIG_AMD_MEM_ENCRYPT)
 	.runtime.sev_es_hcall_prepare	= kvm_sev_es_hcall_prepare,
 	.runtime.sev_es_hcall_finish	= kvm_sev_es_hcall_finish,
diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig
index 8452ed0228cb..7a3b52b7e456 100644
--- a/arch/x86/kvm/Kconfig
+++ b/arch/x86/kvm/Kconfig
@@ -49,6 +49,7 @@ config KVM
 	select INTERVAL_TREE
 	select HAVE_KVM_PM_NOTIFIER if PM
 	select KVM_GENERIC_HARDWARE_ENABLING
+	select HYPERVISOR_SUPPORTS_HEKI
 	help
 	  Support hosting fully virtualized guest machines using hardware
 	  virtualization extensions.  You will need a fairly recent
diff --git a/include/linux/heki.h b/include/linux/heki.h
index 4c18d2283392..96ccb17657e5 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -9,6 +9,7 @@
 #define __HEKI_H__
 
 #include <linux/types.h>
+#include <linux/bug.h>
 #include <linux/cache.h>
 #include <linux/init.h>
 #include <linux/kernel.h>
@@ -16,15 +17,36 @@
 
 #ifdef CONFIG_HEKI
 
+/*
+ * A hypervisor that supports Heki will instantiate this structure to
+ * provide hypervisor specific functions for Heki.
+ */
+struct heki_hypervisor {
+	int (*lock_crs)(void); /* Lock control registers. */
+};
+
+/*
+ * If the active hypervisor supports Heki, it will plug its heki_hypervisor
+ * pointer into this heki structure.
+ */
+struct heki {
+	struct heki_hypervisor *hypervisor;
+};
+
+extern struct heki heki;
 extern bool heki_enabled;
 
 void heki_early_init(void);
+void heki_late_init(void);
 
 #else /* !CONFIG_HEKI */
 
 static inline void heki_early_init(void)
 {
 }
+static inline void heki_late_init(void)
+{
+}
 
 #endif /* CONFIG_HEKI */
 
diff --git a/init/main.c b/init/main.c
index 0d28301c5402..f1c998bbb370 100644
--- a/init/main.c
+++ b/init/main.c
@@ -1447,6 +1447,7 @@ static int __ref kernel_init(void *unused)
 	exit_boot_config();
 	free_initmem();
 	mark_readonly();
+	heki_late_init();
 
 	/*
 	 * Kernel mappings are now finalized - update the userspace page-table
diff --git a/virt/heki/Kconfig b/virt/heki/Kconfig
index 49695fff6d21..5ea75b595667 100644
--- a/virt/heki/Kconfig
+++ b/virt/heki/Kconfig
@@ -4,7 +4,7 @@
 
 config HEKI
 	bool "Hypervisor Enforced Kernel Integrity (Heki)"
-	depends on ARCH_SUPPORTS_HEKI
+	depends on ARCH_SUPPORTS_HEKI && HYPERVISOR_SUPPORTS_HEKI
 	help
 	  This feature enhances guest virtual machine security by taking
 	  advantage of security features provided by the hypervisor for guests.
@@ -17,3 +17,10 @@ config ARCH_SUPPORTS_HEKI
 	  An architecture should select this when it can successfully build
 	  and run with CONFIG_HEKI. That is, it should provide all of the
 	  architecture support required for the HEKI feature.
+
+config HYPERVISOR_SUPPORTS_HEKI
+	bool "Hypervisor support for Heki"
+	help
+	  A hypervisor should select this when it can successfully build
+	  and run with CONFIG_HEKI. That is, it should provide all of the
+	  hypervisor support required for the Heki feature.
diff --git a/virt/heki/main.c b/virt/heki/main.c
index f005dd74d586..ff1937e1c946 100644
--- a/virt/heki/main.c
+++ b/virt/heki/main.c
@@ -10,6 +10,7 @@
 #include "common.h"
 
 bool heki_enabled __ro_after_init = true;
+struct heki heki;
 
 /*
  * Must be called after kmem_cache_init().
@@ -21,6 +22,30 @@ __init void heki_early_init(void)
 		return;
 	}
 	pr_warn("Heki is enabled\n");
+
+	if (!heki.hypervisor) {
+		/* This happens for kernels running on bare metal as well. */
+		pr_warn("No support for Heki in the active hypervisor\n");
+		return;
+	}
+	pr_warn("Heki is supported by the active Hypervisor\n");
+}
+
+/*
+ * Must be called after mark_readonly().
+ */
+void heki_late_init(void)
+{
+	struct heki_hypervisor *hypervisor = heki.hypervisor;
+
+	if (!heki_enabled || !heki.hypervisor)
+		return;
+
+	/* Locks control registers so a compromised guest cannot change them. */
+	if (WARN_ON(hypervisor->lock_crs()))
+		return;
+
+	pr_warn("Control registers locked\n");
 }
 
 static int __init heki_parse_config(char *str)
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631244.984314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2McL-0000YM-Qc; Mon, 13 Nov 2023 02:24:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631244.984314; Mon, 13 Nov 2023 02:24: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 1r2McL-0000YF-Na; Mon, 13 Nov 2023 02:24:01 +0000
Received: by outflank-mailman (input) for mailman id 631244;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2McJ-0000Y9-Cu
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:00 +0000
Received: from smtp-bc09.mail.infomaniak.ch (smtp-bc09.mail.infomaniak.ch
 [45.157.188.9]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1d76e58-81cb-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 03:23:56 +0100 (CET)
Received: from smtp-3-0000.mail.infomaniak.ch (unknown [10.4.36.107])
 by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCsl0DVFzMpxDR;
 Mon, 13 Nov 2023 02:23:55 +0000 (UTC)
Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCsh0MRRz3X; Mon, 13 Nov 2023 03:23:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1d76e58-81cb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842234;
	bh=QstzL659XZU/a3hZMMg1cmFJi2RvIaC6fMPseN83m0M=;
	h=From:To:Cc:Subject:Date:From;
	b=SId8SUDDjGS4ilSlm6/Pkxn50JMX8rN5A0J19+k5Z7U0f5g3RMEFuTj4LuXwhl51f
	 uz/08SVk3UPEMsk+u+nhSLZAYOz1i2JTxJNvxBoejEGh9N/tL7cC67R7XIwJ6IGl7j
	 ycdiY3+IzqpsdG1N1xJQyhX8gYSu03NvmPb7whks=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 00/19] Hypervisor-Enforced Kernel Integrity
Date: Sun, 12 Nov 2023 21:23:07 -0500
Message-ID: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

Hi,

This patch series is a proof-of-concept that implements new KVM features
(guest memory attributes, MBEC support, CR pinning) and defines a new
API to protect guest VMs. You can find related resources, including the
related commits here: https://github.com/heki-linux
We'll talk about this work and the related LVBS project at LPC:
* https://lpc.events/event/17/contributions/1486/
* https://lpc.events/event/17/contributions/1515/

The main idea being that kernel self-protection mechanisms should be
delegated to a more privileged part of the system, that is the
hypervisor.  It is still the role of the guest kernel to request such
restrictions according to its configuration. The high-level security
guarantees provided by the hypervisor are semantically the same as a
subset of those the kernel already enforces on itself (CR pinning
hardening and memory protections), but with much higher guarantees.

We'd like the mainline kernel to support such hardening features
leveraging virtualization. We're looking for reviews and comments that
can help mainline these two parts: the KVM implementation and the guest
kernel API layer designed to support different hypervisors. The guest
kernel API layer contains a global struct heki_hypervisor to share data
and functions between the common code and the hypervisor support code.
The struct heki_hypervisor enables to plug in different backend
implementations that are initialized with the heki_early_init() and
heki_late_init() calls. This RFC is a call for collaboration. There is a
lot to do, either on hypervisors, guest kernels or VMMs sides.

We took inspiration from previous patches, mainly the KVMI [1] [2] and
KVM CR-pinning [3] series, revamped and simplified relevant parts to fit
well with our goal, added support for MBEC, added two hypercalls, and
created a kernel API for VMs to request protection in a generic way that
can be leveraged by any hypervisor.

This patch series is based on the kvm-x86's guest_memfd branch [4] [5],
and requires the host to support MBEC. This can easily be checked with:
grep ept_mode_based_exec /proc/cpuinfo You can test it by enabling
CONFIG_HEKI, CONFIG_HEKI_TEST, CONFIG_KUNIT_DEFAULT_ENABLED, and adding
the heki_test=N boot argument to the guest as explained in the last
patch.

# Main changes since v1

We replaced the KVM's page tracking mechanism with the new per-page
attributes patch series [5]. The main difference is that the Heki
per-page attributes should be set by the guest instead of the host.
Indeed, the security policy is defined by the guest and the host should
only be able to enforce it on its side (e.g. device drivers).
Furthermore, the host may not be trusted by the guest
(i.e., confidential computing).

The main previous limitation was the statically enforced permissions.
Mechanisms that dynamically impact kernel executable memory are now
handled (e.g., kernel modules, tracepoints, eBPF JIT) but not
authenticated yet (see Current limitations).

This version supports dynamic kernel memory permissions.  However, the
kernel does not know about all the pages that have been assigned to the
guest. It knows only about the memory that has been passed to it. The
VMM is the one that knows about all the pages. In a future version, the
VMM will be enhanced to set the memory attributes for the pages that are
not known to the kernel. The kernel will then set permissions for the
pages that are actually mapped in its address space. Other pages are
left alone. In order to set EPT permissions for a page, KVM can lookup
the memory attributes for the page. If the attributes are not present,
KVM can use a default of read-write. This will make it efficient as
memory attributes need to be set only for the pages that the kernel
actually maps. Also, this will serve to implement a deny-by-default
policy for execute permissions.

We implemented a mechanism to dynamically synchronize the guest's memory
permissions with KVM. The original KVM_HC_LOCK_MEM_PAGE_RANGES hypercall
contained support for statically defined sections (text, rodata, etc).
It has been redesigned like this:

- The previous version accepted an array of physically contiguous
  ranges. This is appropriate for statically defined sections which are
  loaded in contiguous memory.  But, for other cases like module
  loading, the pages would be discontinuous. The current version of the
  hypercall accepts a page list to fix this.

- The previous version passed permission combinations. E.g.,
  HEKI_MEM_ATTR_EXEC would imply R_X. The current version passes
  permissions as memory attributes and each of the permissions must be
  separately specified. E.g., for text, (MEM_ATTR_READ | MEM_ATTR_EXEC)
  must be passed.

- The previous version locked down the permissions for guest pages so
  that once the permissions are set, they cannot be changed. In this
  version, permissions can be either immutable (MEM_ATTR_IMMUTABLE) or
  can be changed dynamically.  So, the hypercall has been renamed to
  KVM_HC_PROTECT_MEMORY. The dynamic setting of permissions is needed
  by the following features (probably not a complete list):
  - Kprobes and Optprobes
  - Static call optimization
  - Jump Label optimization
  - Ftrace and Livepatch
  - Module loading and unloading
  - eBPF JIT
  - Kexec
  - Kgdb

Examples:
- A text page can be made writable very briefly to install a probe or a
  trace.
- eBPF JIT can populate a writable page with code and make it
  read-execute.
- Module load can load read-only data into a writable page and make the
  page read-only.
- When pages are unmapped, their permissions in the EPT must revert to
  read-write.

KVM now sends a GP fault if a guest attempts to change its pinned CRs.

Because the VMM needs to be involved (e.g. device driver mapping memory)
and to know the guests' requested memory permissions, we implemented two
new kind of VM exits to be able to notify the VMM about guests' Heki
configurations and policy violations. Indeed, forwarding such signals to
the VMM could help improve attack detection, and react to such attempt
(e.g. log events, stop the VM).  Giving visibility to the VMM would also
enable to migrate VMs.

# Threat model

The main threat model is a malicious user space process exploiting a
kernel vulnerability to gain more privileges or to bypass the
access-control system.  This threat also covers attacks coming from
network or storage data (e.g., malformed network packet, inconsistent
drive content).

An extended threat model, following pKVM (and partially confidential
computing) efforts, is to protect as much as possible against the VMM.
This means that the security policy should mainly be defined and
requested by the guest to the hypervisor.  The limit of this approach is
the VMM's resources (e.g. exposed memory), which should also be
protected from the guest.

Considering all potential ways to compromise a kernel, Heki's goal is to
harden a sane kernel before a runtime attack to make it more difficult,
and potentially to cause such an attack to fail. We consider the kernel
itself to be partially malicious during its lifetime e.g., because a ROP
attack that could disable kernel self-protection mechanisms and make
kernel exploitation much easier. Indeed, an exploit is often split into
several stages, each bypassing some security measures. Getting the
guarantee that new kernel executable code is not possible increases the
cost of an attack, hopefully to the point that it is not worth it.

To protect against persistent attacks, complementary security mechanisms
should be used (e.g., kernel module signing, IMA, IPE, Lockdown).

# Prerequisites

For this set of features to be useful, guest kernels must be trusted by
the VM owners at boot time, before launching any user space processes
nor receiving potentially malicious network packets. It is then required
to have a security mechanism to provide or check this initial trust
(e.g., secure boot, kernel module signing).

# How does it work?

This implementation mainly leverages KVM capabilities to control the
Second Layer Address Translation (or the Two Dimensional Paging e.g.,
Intel's EPT or AMD's RVI/NPT) and Mode Based Execution Control (Intel's
MBEC) introduced with the Kaby Lake (7th generation) architecture. This
allows to set permissions on memory pages in a complementary way to the
guest kernel's managed memory permissions. If any permissions are set as
immutable, they are locked and there is no way back.

The KVM_HC_PROTECT_MEMORY hypercall enables the guest kernel to enforce
boot time mapped pages with the MEM_ATTR_{READ,WRITE,EXEC} attributes.

The current implementation walks the kernel address space and requests
permission enforcement according to the mappings present.  For instance,
it sets its .rodata (i.e., any const or __ro_after_init variables, which
includes critical security data such as LSM parameters) and .text
sections as non-writable, and the .text section is the only one where
kernel execution is initially allowed.  This is possible thanks to the
new MBEC support implemented by this series (otherwise the vDSO would
have to be executable). Thanks to this hardware support (VT-x, EPT and
MBEC), the performance impact of such guest protection is negligible at
run time.

A page can be mapped to multiple VAs. Each mapping can have different
permissions. Also each mapping may have a different page size. The
collective permissions across all the mappings must be applied in the
EPT. To make this possible, the implementation maintains permissions
counters for each 4K page (one counter each for read, write and
execute). The kernel address space is walked, the mappings are
identified, the counters are updated and the EPT permissions are set
based on the counters. Currently, the overhead from this whole process
can be visible during boot, especially with debugging features such as
KASAN.  We have some ideas that we will try out for a next series. We
welcome any suggestions to improve this part.

The KVM_HC_LOCK_CR_UPDATE hypercall enables guests to pin some of its
CPU control register flags (e.g., X86_CR0_WP, X86_CR4_SMEP,
X86_CR4_SMAP), which is another complementary hardening mechanism.

Two new kinds of VM exits are implemented: one for a guest Heki request
(i.e. hypercall), and another for a guest attempt to change its pinned
CRs. We haven't implemented such VM exit for memory-related events yet,
that will be part of a next series if the designed is approved.

When the guest attempts to update pinned CRs or to access memory in a
way that is not allowed, the VMM can then be notified and react to such
attack attempt. After that, if the VM is still running, KVM sends either
a GP fault or a page fault to the guest. The guest could then send a
signal to the user space process that triggered this policy violation
(not implemented).

Heki can be enabled with the heki=1 boot command argument.

# Similar implementations

Here is a non-exhaustive list of similar implementations that we looked
at and took some ideas from. Linux mainline doesn't support such
security features, let's change that!

Windows's Virtualization-Based Security is a proprietary technology
that provides a superset of this kind of security mechanism, relying on
Hyper-V and Virtual Trust Levels which enables to have light and secure
VM enforcing restrictions on a full guest VM. This includes several
components such as HVCI for code authenticity, or HyperGuard for
monitoring and protecting kernel code and data.

Samsung's Real-time Kernel Protection (RKP) and Huawei Hypervisor
Execution Environment (HHEE) rely on proprietary hypervisors to protect
some Android devices. They monitor critical kernel data (e.g., page
tables, credentials, selinux_enforcing).

The iOS Kernel Patch Protection (KPP/Watchtower) is a proprietary
solution running in EL3 that monitors and protects critical parts of the
kernel. It is now replaced with a hardware-based mechanism: KTTR/RoRgn.

Bitdefender's Hypervisor Memory Introspection (HVMI) is an open-source
(but out of tree) set of components leveraging virtualization. HVMI
implementation is very complex, and this approach implies potential
semantic gap issues (i.e., kernel data structures may change from one
version to another).

Linux Kernel Runtime Guard is an open-source kernel module that can
detect some kernel data illegitimate modifications. Because it is the
same kernel as the compromised one, an attacker could also bypass or
disable these checks.

Intel's Virtualization Based Hardening [6] [7] is an open-source
proof-of-concept of a thin hypervisor dedicated to guest protection. As
such, it cannot be used to manage several VMs.

# Similar Linux patches

The VM introspection [1] [2] patch series proposed a set of features to
put probes and introspect VMs for debugging and security reasons. We
changed and included the prewrite page tracking and the fault_gva parts.
Heki is much simpler because it focuses on guest hardening, not
introspection.

Paravirtualized Control Register pinning [3] added a set of KVM IOCTLs
to restrict some flags to be set. Heki doesn't implement such user space
interface, but only a dedicated hypercall to lock such registers. A
superset of these flags is configurable with Heki.

The Hypervisor Based Integrity patches [8] [9] only contain a generic
IPC mechanism (KVM_HC_UCALL hypercall) to request protection to the VMM.
The idea was to extend the KVM_SET_USER_MEMORY_REGION IOCTL to support
more permission than read-only.

# Current limitations

The main limitation of this patch series is that the executable kernel
data (e.g. kernel module) is only authenticated by the guest, not by the
hypervisor nor the VMM.  Because the hypervisor is highly privileged and
critical to the security of all the VMs, we don't want to implement a
code authentication mechanism in the hypervisor itself but delegate this
verification to something much less privileged. We are thinking of two
ways to solve this: implement this verification in the VMM or spawn a
dedicated special VM (similar to Windows's VBS). There are pros on cons
to each approach: complexity, verification code ownership (guest's or
VMM's), access to guest memory (i.e., confidential computing).

In this version, the immutable attribute is set on kernel text. So, it
is not possible to use ftrace, Kprobes, etc on kernel text (these are
still possible on module text). The immutable attribute is needed
because we do not have authentication in place yet.

All permissions changes must be authenticated. For changes that happen
during module loading, the module signature can be used for
authentication. But for intrinsic kernel features such as ftrace and
Kprobes, what do we use to authenticate a request? How do we make sure
that it is legitimate? We are looking for ideas in this area.

Also, each authentication involves a round trip from the guest to the
VMM and the hypervisor. This overhead could be significant. We welcome
ideas on improving this as well.

We currently use static address ranges to configure protections at boot
(see heki_arch_early_init). This is not compatible with KASLR yet, but
this will be handled in a next patch series.

Because the guest's virtual address translation is not protected by the
hypervisor, a compromised kernel could map existing physical pages into
arbitrary virtual addresses. The new Intel's Hypervisor-Managed Linear
Address Translation [10] (HLAT) could be used to extend the current
protection and cover this case.

ROP is not covered by this patch series. Guest kernels can still jump to
arbitrary executable pages according to their control-flow integrity
protection.

# Future work

New dynamic restrictions could enable to improve the protected data by
including security-sensitive data such as LSM states, seccomp filters,
keyrings... This requires support outside of the hypervisor.

An execute-only mode could also be useful (cf. XOM for KVM [11] [12]).

Extending register pinning (e.g., MSRs).

For now, MBEC is only supported on a bare metal machine as KVM host;
nested virtualization is not supported yet.  Being able to protect
nested guests might be possible but we need to figure out the potential
security implications.

Protecting the host would be useful, but that doesn't really fit with
the KVM model. The Protected KVM project is a first step to help in this
direction [13].

We only tested this with an Intel CPU, but this approach should work the
same with an AMD CPU starting with the Zen 2 generation and their Guest
Mode Execute Trap (GMET) capability.

We also kept some TODOs to highlight missing checks and code sharing
issues, and some pr_warn() calls to help understand how it works. Tests
need to be improved (e.g., invalid hypercall arguments).

We'll present this work at the Linux Plumbers Conference next week.

[1] https://lore.kernel.org/all/20211006173113.26445-1-alazar@bitdefender.com/
[2] https://www.linux-kvm.org/images/7/72/KVMForum2017_Introspection.pdf
[3] https://lore.kernel.org/all/20200617190757.27081-1-john.s.andersen@intel.com/
[4] https://github.com/kvm-x86/linux
[5] https://lore.kernel.org/all/20231027182217.3615211-1-seanjc@google.com/
[6] https://github.com/intel/vbh
[7] https://sched.co/TmwN
[8] https://sched.co/eE3f
[9] https://lore.kernel.org/all/20200501185147.208192-1-yuanyu@google.com/
[10] https://sched.co/eE4F
[11] https://lore.kernel.org/kvm/20191003212400.31130-1-rick.p.edgecombe@intel.com/
[12] https://lpc.events/event/4/contributions/283/
[13] https://sched.co/eE24

Please reach out to us by replying to this thread, we're looking for
people to join and collaborate on this project!

Previous version:
v1: https://lore.kernel.org/r/20230505152046.6575-1-mic@digikod.net

Regards,

Madhavan T. Venkataraman (9):
  virt: Introduce Hypervisor Enforced Kernel Integrity (Heki)
  KVM: x86: Add new hypercall to set EPT permissions
  x86: Implement the Memory Table feature to store arbitrary per-page
    data
  heki: Implement a kernel page table walker
  heki: x86: Initialize permissions counters for pages mapped into KVA
  heki: x86: Initialize permissions counters for pages in
    vmap()/vunmap()
  heki: x86: Update permissions counters when guest page permissions
    change
  heki: x86: Update permissions counters during text patching
  heki: x86: Protect guest kernel memory using the KVM hypervisor

Mickaël Salaün (10):
  KVM: x86: Add new hypercall to lock control registers
  KVM: x86: Add notifications for Heki policy configuration and
    violation
  heki: Lock guest control registers at the end of guest kernel init
  KVM: VMX: Add MBEC support
  KVM: x86: Add kvm_x86_ops.fault_gva()
  KVM: x86: Make memory attribute helpers more generic
  KVM: x86: Extend kvm_vm_set_mem_attributes() with a mask
  KVM: x86: Extend kvm_range_has_memory_attributes() with match_all
  KVM: x86: Implement per-guest-page permissions
  virt: Add Heki KUnit tests

 Documentation/virt/kvm/x86/hypercalls.rst |  31 +++
 Kconfig                                   |   2 +
 arch/x86/Kconfig                          |   1 +
 arch/x86/include/asm/kvm-x86-ops.h        |   1 +
 arch/x86/include/asm/kvm_host.h           |   2 +
 arch/x86/include/asm/vmx.h                |  11 +-
 arch/x86/include/asm/x86_init.h           |   1 +
 arch/x86/include/uapi/asm/kvm_para.h      |   2 +
 arch/x86/kernel/alternative.c             |   5 +
 arch/x86/kernel/cpu/common.c              |   4 +-
 arch/x86/kernel/cpu/hypervisor.c          |   1 +
 arch/x86/kernel/kvm.c                     |  67 +++++
 arch/x86/kernel/setup.c                   |   2 +
 arch/x86/kvm/Kconfig                      |   2 +
 arch/x86/kvm/Makefile                     |   4 +-
 arch/x86/kvm/mmu.h                        |   3 +-
 arch/x86/kvm/mmu/mmu.c                    | 114 ++++++--
 arch/x86/kvm/mmu/mmutrace.h               |  11 +-
 arch/x86/kvm/mmu/paging_tmpl.h            |  19 +-
 arch/x86/kvm/mmu/spte.c                   |  19 +-
 arch/x86/kvm/mmu/spte.h                   |  15 +-
 arch/x86/kvm/svm/svm.c                    |   9 +
 arch/x86/kvm/vmx/capabilities.h           |   7 +
 arch/x86/kvm/vmx/nested.c                 |   7 +
 arch/x86/kvm/vmx/vmx.c                    |  45 +++-
 arch/x86/kvm/vmx/vmx.h                    |   1 +
 arch/x86/kvm/x86.c                        | 310 ++++++++++++++++++++++
 arch/x86/kvm/x86.h                        |  23 ++
 arch/x86/mm/Makefile                      |   2 +
 arch/x86/mm/heki.c                        | 135 ++++++++++
 arch/x86/mm/pat/set_memory.c              |  51 ++++
 include/linux/heki.h                      | 195 ++++++++++++++
 include/linux/kvm_host.h                  |  11 +-
 include/linux/kvm_mem_attr.h              |  32 +++
 include/linux/mem_table.h                 |  55 ++++
 include/uapi/linux/kvm.h                  |  27 ++
 include/uapi/linux/kvm_para.h             |   2 +
 init/main.c                               |   3 +
 kernel/Makefile                           |   2 +
 kernel/mem_table.c                        | 219 +++++++++++++++
 mm/mm_init.c                              |   1 +
 mm/vmalloc.c                              |   7 +
 virt/Makefile                             |   1 +
 virt/heki/Kconfig                         |  42 +++
 virt/heki/Makefile                        |   6 +
 virt/heki/common.h                        |  16 ++
 virt/heki/counters.c                      | 274 +++++++++++++++++++
 virt/heki/main.c                          | 155 +++++++++++
 virt/heki/tests.c                         | 207 +++++++++++++++
 virt/heki/walk.c                          | 140 ++++++++++
 virt/kvm/kvm_main.c                       |  65 +++--
 virt/lib/kvm_permissions.c                | 104 ++++++++
 52 files changed, 2401 insertions(+), 70 deletions(-)
 create mode 100644 arch/x86/mm/heki.c
 create mode 100644 include/linux/heki.h
 create mode 100644 include/linux/kvm_mem_attr.h
 create mode 100644 include/linux/mem_table.h
 create mode 100644 kernel/mem_table.c
 create mode 100644 virt/heki/Kconfig
 create mode 100644 virt/heki/Makefile
 create mode 100644 virt/heki/common.h
 create mode 100644 virt/heki/counters.c
 create mode 100644 virt/heki/main.c
 create mode 100644 virt/heki/tests.c
 create mode 100644 virt/heki/walk.c
 create mode 100644 virt/lib/kvm_permissions.c


base-commit: 881375a408c0f4ea451ff14545b59216d2923881
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631245.984324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2McN-0000n5-33; Mon, 13 Nov 2023 02:24:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631245.984324; Mon, 13 Nov 2023 02:24: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 1r2McM-0000my-Vs; Mon, 13 Nov 2023 02:24:02 +0000
Received: by outflank-mailman (input) for mailman id 631245;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2McL-0000Y9-Um
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:01 +0000
Received: from smtp-190e.mail.infomaniak.ch (smtp-190e.mail.infomaniak.ch
 [2001:1600:4:17::190e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b42f8047-81cb-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 03:24:00 +0100 (CET)
Received: from smtp-3-0000.mail.infomaniak.ch (unknown [10.4.36.107])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCsp5jGkzMpvS5;
 Mon, 13 Nov 2023 02:23:58 +0000 (UTC)
Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCsn4w8yz3W; Mon, 13 Nov 2023 03:23:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b42f8047-81cb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842238;
	bh=tY8hlJfPopuy154H09Cr6nqcw/h0DUTJ1/nUw09u9eU=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=bV4lvDvQTCac2IMzSmZNNLVBOtTqAuS2XLzxMp+OAzsv+rke/FG2TXyxhi8G9+60p
	 uVBBHLsVIDwfgY2jYAyUCw2LIYtSt/u33MBaH9fX9Ljjyq03aPdOVNbFjYzptoLzUl
	 mUsHCWJz6tf9YxVBhc8meVQg8fYV2sX1kdkepvvo=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 01/19] virt: Introduce Hypervisor Enforced Kernel Integrity (Heki)
Date: Sun, 12 Nov 2023 21:23:08 -0500
Message-ID: <20231113022326.24388-2-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

Hypervisor Enforced Kernel Integrity (Heki) is a feature that will use
the hypervisor to enhance guest virtual machine security.

Implement minimal code to introduce Heki:

- Define the config variables.

- Define a kernel command line parameter "heki" to turn the feature
  on or off. By default, Heki is on.

- Define heki_early_init() and call it in start_kernel(). Currently,
  this function only prints the value of the "heki" command
  line parameter.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Co-developed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
---

Changes since v1:
* Shrinked this patch to only contain the minimal common parts.
* Moved heki_early_init() to start_kernel().
---
 Kconfig              |  2 ++
 arch/x86/Kconfig     |  1 +
 include/linux/heki.h | 31 +++++++++++++++++++++++++++++++
 init/main.c          |  2 ++
 mm/mm_init.c         |  1 +
 virt/Makefile        |  1 +
 virt/heki/Kconfig    | 19 +++++++++++++++++++
 virt/heki/Makefile   |  3 +++
 virt/heki/common.h   | 16 ++++++++++++++++
 virt/heki/main.c     | 32 ++++++++++++++++++++++++++++++++
 10 files changed, 108 insertions(+)
 create mode 100644 include/linux/heki.h
 create mode 100644 virt/heki/Kconfig
 create mode 100644 virt/heki/Makefile
 create mode 100644 virt/heki/common.h
 create mode 100644 virt/heki/main.c

diff --git a/Kconfig b/Kconfig
index 745bc773f567..0c844d9bcb03 100644
--- a/Kconfig
+++ b/Kconfig
@@ -29,4 +29,6 @@ source "lib/Kconfig"
 
 source "lib/Kconfig.debug"
 
+source "virt/heki/Kconfig"
+
 source "Documentation/Kconfig"
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 66bfabae8814..424f949442bd 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -35,6 +35,7 @@ config X86_64
 	select SWIOTLB
 	select ARCH_HAS_ELFCORE_COMPAT
 	select ZONE_DMA32
+	select ARCH_SUPPORTS_HEKI
 
 config FORCE_DYNAMIC_FTRACE
 	def_bool y
diff --git a/include/linux/heki.h b/include/linux/heki.h
new file mode 100644
index 000000000000..4c18d2283392
--- /dev/null
+++ b/include/linux/heki.h
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Hypervisor Enforced Kernel Integrity (Heki) - Definitions
+ *
+ * Copyright © 2023 Microsoft Corporation
+ */
+
+#ifndef __HEKI_H__
+#define __HEKI_H__
+
+#include <linux/types.h>
+#include <linux/cache.h>
+#include <linux/init.h>
+#include <linux/kernel.h>
+#include <linux/printk.h>
+
+#ifdef CONFIG_HEKI
+
+extern bool heki_enabled;
+
+void heki_early_init(void);
+
+#else /* !CONFIG_HEKI */
+
+static inline void heki_early_init(void)
+{
+}
+
+#endif /* CONFIG_HEKI */
+
+#endif /* __HEKI_H__ */
diff --git a/init/main.c b/init/main.c
index 436d73261810..0d28301c5402 100644
--- a/init/main.c
+++ b/init/main.c
@@ -99,6 +99,7 @@
 #include <linux/init_syscalls.h>
 #include <linux/stackdepot.h>
 #include <linux/randomize_kstack.h>
+#include <linux/heki.h>
 #include <net/net_namespace.h>
 
 #include <asm/io.h>
@@ -1047,6 +1048,7 @@ void start_kernel(void)
 	uts_ns_init();
 	key_init();
 	security_init();
+	heki_early_init();
 	dbg_late_init();
 	net_ns_init();
 	vfs_caches_init();
diff --git a/mm/mm_init.c b/mm/mm_init.c
index 50f2f34745af..896977383cc3 100644
--- a/mm/mm_init.c
+++ b/mm/mm_init.c
@@ -26,6 +26,7 @@
 #include <linux/pgtable.h>
 #include <linux/swap.h>
 #include <linux/cma.h>
+#include <linux/heki.h>
 #include "internal.h"
 #include "slab.h"
 #include "shuffle.h"
diff --git a/virt/Makefile b/virt/Makefile
index 1cfea9436af9..4550dc624466 100644
--- a/virt/Makefile
+++ b/virt/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
 obj-y	+= lib/
+obj-$(CONFIG_HEKI) += heki/
diff --git a/virt/heki/Kconfig b/virt/heki/Kconfig
new file mode 100644
index 000000000000..49695fff6d21
--- /dev/null
+++ b/virt/heki/Kconfig
@@ -0,0 +1,19 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+# Hypervisor Enforced Kernel Integrity (Heki)
+
+config HEKI
+	bool "Hypervisor Enforced Kernel Integrity (Heki)"
+	depends on ARCH_SUPPORTS_HEKI
+	help
+	  This feature enhances guest virtual machine security by taking
+	  advantage of security features provided by the hypervisor for guests.
+	  This feature is helpful in maintaining guest virtual machine security
+	  even after the guest kernel has been compromised.
+
+config ARCH_SUPPORTS_HEKI
+	bool "Architecture support for Heki"
+	help
+	  An architecture should select this when it can successfully build
+	  and run with CONFIG_HEKI. That is, it should provide all of the
+	  architecture support required for the HEKI feature.
diff --git a/virt/heki/Makefile b/virt/heki/Makefile
new file mode 100644
index 000000000000..354e567df71c
--- /dev/null
+++ b/virt/heki/Makefile
@@ -0,0 +1,3 @@
+# SPDX-License-Identifier: GPL-2.0-only
+
+obj-y += main.o
diff --git a/virt/heki/common.h b/virt/heki/common.h
new file mode 100644
index 000000000000..edd98fc650a8
--- /dev/null
+++ b/virt/heki/common.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Hypervisor Enforced Kernel Integrity (Heki) - Common header
+ *
+ * Copyright © 2023 Microsoft Corporation
+ */
+
+#ifndef _HEKI_COMMON_H
+
+#ifdef pr_fmt
+#undef pr_fmt
+#endif
+
+#define pr_fmt(fmt) "heki-guest: " fmt
+
+#endif /* _HEKI_COMMON_H */
diff --git a/virt/heki/main.c b/virt/heki/main.c
new file mode 100644
index 000000000000..f005dd74d586
--- /dev/null
+++ b/virt/heki/main.c
@@ -0,0 +1,32 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Hypervisor Enforced Kernel Integrity (Heki) - Common code
+ *
+ * Copyright © 2023 Microsoft Corporation
+ */
+
+#include <linux/heki.h>
+
+#include "common.h"
+
+bool heki_enabled __ro_after_init = true;
+
+/*
+ * Must be called after kmem_cache_init().
+ */
+__init void heki_early_init(void)
+{
+	if (!heki_enabled) {
+		pr_warn("Heki is not enabled\n");
+		return;
+	}
+	pr_warn("Heki is enabled\n");
+}
+
+static int __init heki_parse_config(char *str)
+{
+	if (strtobool(str, &heki_enabled))
+		pr_warn("Invalid option string for heki: '%s'\n", str);
+	return 1;
+}
+__setup("heki=", heki_parse_config);
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631246.984334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2McQ-00012j-D1; Mon, 13 Nov 2023 02:24:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631246.984334; Mon, 13 Nov 2023 02:24: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 1r2McQ-00012c-AD; Mon, 13 Nov 2023 02:24:06 +0000
Received: by outflank-mailman (input) for mailman id 631246;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2McP-00011s-AR
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:05 +0000
Received: from smtp-42a8.mail.infomaniak.ch (smtp-42a8.mail.infomaniak.ch
 [84.16.66.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5dac02c-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:03 +0100 (CET)
Received: from smtp-3-0000.mail.infomaniak.ch (unknown [10.4.36.107])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCst2fcPzMpvWb;
 Mon, 13 Nov 2023 02:24:02 +0000 (UTC)
Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCss1MkLz3X; Mon, 13 Nov 2023 03:24:01 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5dac02c-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842242;
	bh=vhzaT58poP5okVAXmEebxmQ9WRq+VZ+aXO32eUAzlaQ=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=X7pEw2w51SkJJzAlrXjs8JOCbu2+ngtUoK310kXjccKuEe8o7gDyzceYr3iwHfDCI
	 6YZB4h6J3uY7B1p5cJbUODXmpzLQyLmqczUCEmD5HyT3UGnHxGOqFyygyEea1ipbc6
	 rprruE1hn5ZjbMnPK33x06IEzkmtAjdE/mMhNDU4=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 02/19] KVM: x86: Add new hypercall to lock control registers
Date: Sun, 12 Nov 2023 21:23:09 -0500
Message-ID: <20231113022326.24388-3-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

This enables guests to lock their CR0 and CR4 registers with a subset of
X86_CR0_WP, X86_CR4_SMEP, X86_CR4_SMAP, X86_CR4_UMIP, X86_CR4_FSGSBASE
and X86_CR4_CET flags.

The new KVM_HC_LOCK_CR_UPDATE hypercall takes three arguments.  The
first is to identify the control register, the second is a bit mask to
pin (i.e. mark as read-only), and the third is for optional flags.

These register flags should already be pinned by Linux guests, but once
compromised, this self-protection mechanism could be disabled, which is
not the case with this dedicated hypercall.

Once the CRs are pinned by the guest, if it attempts to change them,
then a general protection fault is sent to the guest.

This hypercall may evolve and support new kind of registers or pinning.
The optional KVM_LOCK_CR_UPDATE_VERSION flag enables guests to know the
supported abilities by mapping the returned version with the related
features.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---

Changes since v1:
* Guard KVM_HC_LOCK_CR_UPDATE hypercall with CONFIG_HEKI.
* Move extern cr4_pinned_mask to x86.h (suggested by Kees Cook).
* Move VMX CR checks from vmx_set_cr*() to handle_cr() to make it
  possible to return to user space (see next commit).
* Change the heki_check_cr()'s first argument to vcpu.
* Don't use -KVM_EPERM in heki_check_cr().
* Generate a fault when the guest requests a denied CR update.
* Add a flags argument to get the version of this hypercall. Being able
  to do a preper version check was suggested by Wei Liu.
---
 Documentation/virt/kvm/x86/hypercalls.rst | 17 +++++
 arch/x86/include/uapi/asm/kvm_para.h      |  2 +
 arch/x86/kernel/cpu/common.c              |  4 +-
 arch/x86/kvm/vmx/vmx.c                    |  5 ++
 arch/x86/kvm/x86.c                        | 84 +++++++++++++++++++++++
 arch/x86/kvm/x86.h                        | 22 ++++++
 include/linux/kvm_host.h                  |  5 ++
 include/uapi/linux/kvm_para.h             |  1 +
 8 files changed, 139 insertions(+), 1 deletion(-)

diff --git a/Documentation/virt/kvm/x86/hypercalls.rst b/Documentation/virt/kvm/x86/hypercalls.rst
index 10db7924720f..3178576f4c47 100644
--- a/Documentation/virt/kvm/x86/hypercalls.rst
+++ b/Documentation/virt/kvm/x86/hypercalls.rst
@@ -190,3 +190,20 @@ the KVM_CAP_EXIT_HYPERCALL capability. Userspace must enable that capability
 before advertising KVM_FEATURE_HC_MAP_GPA_RANGE in the guest CPUID.  In
 addition, if the guest supports KVM_FEATURE_MIGRATION_CONTROL, userspace
 must also set up an MSR filter to process writes to MSR_KVM_MIGRATION_CONTROL.
+
+9. KVM_HC_LOCK_CR_UPDATE
+------------------------
+
+:Architecture: x86
+:Status: active
+:Purpose: Request some control registers to be restricted.
+
+- a0: identify a control register
+- a1: bit mask to make some flags read-only
+- a2: optional KVM_LOCK_CR_UPDATE_VERSION flag that will return the version of
+      this hypercall. Version 1 supports CR0 and CR4 pinning.
+
+The hypercall lets a guest request control register flags to be pinned for
+itself.
+
+Returns 0 on success or a KVM error code otherwise.
diff --git a/arch/x86/include/uapi/asm/kvm_para.h b/arch/x86/include/uapi/asm/kvm_para.h
index 6e64b27b2c1e..efc5ccc0060f 100644
--- a/arch/x86/include/uapi/asm/kvm_para.h
+++ b/arch/x86/include/uapi/asm/kvm_para.h
@@ -150,4 +150,6 @@ struct kvm_vcpu_pv_apf_data {
 #define KVM_PV_EOI_ENABLED KVM_PV_EOI_MASK
 #define KVM_PV_EOI_DISABLED 0x0
 
+#define KVM_LOCK_CR_UPDATE_VERSION (1 << 0)
+
 #endif /* _UAPI_ASM_X86_KVM_PARA_H */
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
index 4e5ffc8b0e46..f18ee7ce0496 100644
--- a/arch/x86/kernel/cpu/common.c
+++ b/arch/x86/kernel/cpu/common.c
@@ -400,9 +400,11 @@ static __always_inline void setup_umip(struct cpuinfo_x86 *c)
 }
 
 /* These bits should not change their value after CPU init is finished. */
-static const unsigned long cr4_pinned_mask =
+const unsigned long cr4_pinned_mask =
 	X86_CR4_SMEP | X86_CR4_SMAP | X86_CR4_UMIP |
 	X86_CR4_FSGSBASE | X86_CR4_CET;
+EXPORT_SYMBOL_GPL(cr4_pinned_mask);
+
 static DEFINE_STATIC_KEY_FALSE_RO(cr_pinning);
 static unsigned long cr4_pinned_bits __ro_after_init;
 
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 6e502ba93141..f487bf16dd96 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -5452,6 +5452,11 @@ static int handle_cr(struct kvm_vcpu *vcpu)
 	case 0: /* mov to cr */
 		val = kvm_register_read(vcpu, reg);
 		trace_kvm_cr_write(cr, val);
+
+		ret = heki_check_cr(vcpu, cr, val);
+		if (ret)
+			return ret;
+
 		switch (cr) {
 		case 0:
 			err = handle_set_cr0(vcpu, val);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index e3eb608b6692..4e6c4c21f12c 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -8054,11 +8054,86 @@ static unsigned long emulator_get_cr(struct x86_emulate_ctxt *ctxt, int cr)
 	return value;
 }
 
+#ifdef CONFIG_HEKI
+
+#define HEKI_ABI_VERSION 1
+
+static int heki_lock_cr(struct kvm_vcpu *const vcpu, const unsigned long cr,
+			unsigned long pin, unsigned long flags)
+{
+	if (flags) {
+		if ((flags == KVM_LOCK_CR_UPDATE_VERSION) && !cr && !pin)
+			return HEKI_ABI_VERSION;
+		return -KVM_EINVAL;
+	}
+
+	if (!pin)
+		return -KVM_EINVAL;
+
+	switch (cr) {
+	case 0:
+		/* Cf. arch/x86/kernel/cpu/common.c */
+		if (!(pin & X86_CR0_WP))
+			return -KVM_EINVAL;
+
+		if ((pin & read_cr0()) != pin)
+			return -KVM_EINVAL;
+
+		atomic_long_or(pin, &vcpu->kvm->heki_pinned_cr0);
+		return 0;
+	case 4:
+		/* Checks for irrelevant bits. */
+		if ((pin & cr4_pinned_mask) != pin)
+			return -KVM_EINVAL;
+
+		/* Ignores bits not present in host. */
+		pin &= __read_cr4();
+		atomic_long_or(pin, &vcpu->kvm->heki_pinned_cr4);
+		return 0;
+	}
+	return -KVM_EINVAL;
+}
+
+int heki_check_cr(struct kvm_vcpu *const vcpu, const unsigned long cr,
+		  const unsigned long val)
+{
+	unsigned long pinned;
+
+	switch (cr) {
+	case 0:
+		pinned = atomic_long_read(&vcpu->kvm->heki_pinned_cr0);
+		if ((val & pinned) != pinned) {
+			pr_warn_ratelimited(
+				"heki: Blocked CR0 update: 0x%lx\n", val);
+			kvm_inject_gp(vcpu, 0);
+			return 1;
+		}
+		return 0;
+	case 4:
+		pinned = atomic_long_read(&vcpu->kvm->heki_pinned_cr4);
+		if ((val & pinned) != pinned) {
+			pr_warn_ratelimited(
+				"heki: Blocked CR4 update: 0x%lx\n", val);
+			kvm_inject_gp(vcpu, 0);
+			return 1;
+		}
+		return 0;
+	}
+	return 0;
+}
+EXPORT_SYMBOL_GPL(heki_check_cr);
+
+#endif /* CONFIG_HEKI */
+
 static int emulator_set_cr(struct x86_emulate_ctxt *ctxt, int cr, ulong val)
 {
 	struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt);
 	int res = 0;
 
+	res = heki_check_cr(vcpu, cr, val);
+	if (res)
+		return res;
+
 	switch (cr) {
 	case 0:
 		res = kvm_set_cr0(vcpu, mk_cr_64(kvm_read_cr0(vcpu), val));
@@ -9918,6 +9993,15 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
 		vcpu->arch.complete_userspace_io = complete_hypercall_exit;
 		return 0;
 	}
+#ifdef CONFIG_HEKI
+	case KVM_HC_LOCK_CR_UPDATE:
+		if (a0 > U32_MAX) {
+			ret = -KVM_EINVAL;
+		} else {
+			ret = heki_lock_cr(vcpu, a0, a1, a2);
+		}
+		break;
+#endif /* CONFIG_HEKI */
 	default:
 		ret = -KVM_ENOSYS;
 		break;
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index 1e7be1f6ab29..193093112b55 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -290,6 +290,26 @@ static inline bool kvm_check_has_quirk(struct kvm *kvm, u64 quirk)
 	return !(kvm->arch.disabled_quirks & quirk);
 }
 
+#ifdef CONFIG_HEKI
+
+int heki_check_cr(struct kvm_vcpu *vcpu, unsigned long cr, unsigned long val);
+
+#else /* CONFIG_HEKI */
+
+static inline int heki_check_cr(struct kvm_vcpu *vcpu, unsigned long cr,
+				unsigned long val)
+{
+	return 0;
+}
+
+static inline int heki_lock_cr(struct kvm_vcpu *const vcpu, unsigned long cr,
+			       unsigned long pin)
+{
+	return 0;
+}
+
+#endif /* CONFIG_HEKI */
+
 void kvm_inject_realmode_interrupt(struct kvm_vcpu *vcpu, int irq, int inc_eip);
 
 u64 get_kvmclock_ns(struct kvm *kvm);
@@ -325,6 +345,8 @@ extern u64 host_xcr0;
 extern u64 host_xss;
 extern u64 host_arch_capabilities;
 
+extern const unsigned long cr4_pinned_mask;
+
 extern struct kvm_caps kvm_caps;
 
 extern bool enable_pmu;
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 687589ce9f63..6864c80ff936 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -835,6 +835,11 @@ struct kvm {
 	bool vm_bugged;
 	bool vm_dead;
 
+#ifdef CONFIG_HEKI
+	atomic_long_t heki_pinned_cr0;
+	atomic_long_t heki_pinned_cr4;
+#endif /* CONFIG_HEKI */
+
 #ifdef CONFIG_HAVE_KVM_PM_NOTIFIER
 	struct notifier_block pm_notifier;
 #endif
diff --git a/include/uapi/linux/kvm_para.h b/include/uapi/linux/kvm_para.h
index 960c7e93d1a9..2ed418704603 100644
--- a/include/uapi/linux/kvm_para.h
+++ b/include/uapi/linux/kvm_para.h
@@ -30,6 +30,7 @@
 #define KVM_HC_SEND_IPI		10
 #define KVM_HC_SCHED_YIELD		11
 #define KVM_HC_MAP_GPA_RANGE		12
+#define KVM_HC_LOCK_CR_UPDATE		13
 
 /*
  * hypercalls use architecture specific
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631249.984363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mcc-00021S-Bb; Mon, 13 Nov 2023 02:24:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631249.984363; Mon, 13 Nov 2023 02:24: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 1r2Mcc-00021J-8l; Mon, 13 Nov 2023 02:24:18 +0000
Received: by outflank-mailman (input) for mailman id 631249;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Mcb-0000Y9-HD
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:17 +0000
Received: from smtp-bc0b.mail.infomaniak.ch (smtp-bc0b.mail.infomaniak.ch
 [2001:1600:3:17::bc0b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bd2192af-81cb-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 03:24:15 +0100 (CET)
Received: from smtp-3-0000.mail.infomaniak.ch (unknown [10.4.36.107])
 by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCt645CMzMpyLN;
 Mon, 13 Nov 2023 02:24:14 +0000 (UTC)
Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCt50b6fz3W; Mon, 13 Nov 2023 03:24:13 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd2192af-81cb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842254;
	bh=1rCZlaZ8yKqXCX830pyMWcBESjd8hIo3B7pvzokyEX0=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=fY1T43fQ69r5j3aWJFjq32XSu4yZEZYI2E+LP9K18ORFFEtvxB8OTkhmOFB9B8xuU
	 0sUkkutgL0KW5fBpSGVrCuj44f5CvbVH1lhuXp8SKoBYGSQSdqzxDgnfSd+jhoS0Th
	 q4yvQzmeGfq3TKnbmej2xh2UjKNCfj2BICLeWDYg=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 05/19] KVM: VMX: Add MBEC support
Date: Sun, 12 Nov 2023 21:23:12 -0500
Message-ID: <20231113022326.24388-6-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

This changes add support for VMX_FEATURE_MODE_BASED_EPT_EXEC (named
ept_mode_based_exec in /proc/cpuinfo and MBEC elsewhere), which enables
to separate EPT execution bits for supervisor vs. user.  It transforms
the semantic of VMX_EPT_EXECUTABLE_MASK from a global execution to a
kernel execution, and use the VMX_EPT_USER_EXECUTABLE_MASK bit to
identify user execution.

The main use case is to be able to restrict kernel execution while
ignoring user space execution from the hypervisor point of view.
Indeed, user space execution can already be restricted by the guest
kernel.

This change enables MBEC but doesn't change the default configuration,
which is to allow execution for all guest memory.  However, the next
commit levages MBEC to restrict kernel memory pages.

MBEC can be configured with the new "enable_mbec" module parameter, set
to true by default.  However, MBEC is disable for L1 and L2 for now.

The MMU tracepoints are updated to reflect the difference between kernel
and user space executions, see is_executable_pte().

Replace EPT_VIOLATION_RWX_MASK (3 bits) with 4 dedicated
EPT_VIOLATION_READ, EPT_VIOLATION_WRITE, EPT_VIOLATION_KERNEL_INSTR, and
EPT_VIOLATION_USER_INSTR bits.

>From the Intel 64 and IA-32 Architectures Software Developer's Manual,
Volume 3C (System Programming Guide), Part 3:

SECONDARY_EXEC_MODE_BASED_EPT_EXEC (bit 22):
If either the "unrestricted guest" VM-execution control or the
"mode-based execute control for EPT" VM-execution control is 1, the
"enable EPT" VM-execution control must also be 1.

EPT_VIOLATION_KERNEL_INSTR_BIT (bit 5):
The logical-AND of bit 2 in the EPT paging-structure entries used to
translate the guest-physical address of the access causing the EPT
violation.  If the "mode-based execute control for EPT" VM-execution
control is 0, this indicates whether the guest-physical address was
executable. If that control is 1, this indicates whether the
guest-physical address was executable for supervisor-mode linear
addresses.

EPT_VIOLATION_USER_INSTR_BIT (bit 6):
If the "mode-based execute control" VM-execution control is 0, the value
of this bit is undefined. If that control is 1, this bit is the
logical-AND of bit 10 in the EPT paging-structures entries used to
translate the guest-physical address of the access causing the EPT
violation. In this case, it indicates whether the guest-physical address
was executable for user-mode linear addresses.

PT_USER_EXEC_MASK (bit 10):
Execute access for user-mode linear addresses. If the "mode-based
execute control for EPT" VM-execution control is 1, indicates whether
instruction fetches are allowed from user-mode linear addresses in the
512-GByte region controlled by this entry. If that control is 0, this
bit is ignored.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---

Changes since v1:
* Import the MMU tracepoint changes from the v1's "Enable guests to lock
  themselves thanks to MBEC" patch.
---
 arch/x86/include/asm/vmx.h      | 11 +++++++++--
 arch/x86/kvm/mmu.h              |  3 ++-
 arch/x86/kvm/mmu/mmu.c          |  8 ++++++--
 arch/x86/kvm/mmu/mmutrace.h     | 11 +++++++----
 arch/x86/kvm/mmu/paging_tmpl.h  | 16 ++++++++++++++--
 arch/x86/kvm/mmu/spte.c         |  4 +++-
 arch/x86/kvm/mmu/spte.h         | 15 +++++++++++++--
 arch/x86/kvm/vmx/capabilities.h |  7 +++++++
 arch/x86/kvm/vmx/nested.c       |  7 +++++++
 arch/x86/kvm/vmx/vmx.c          | 29 ++++++++++++++++++++++++++---
 arch/x86/kvm/vmx/vmx.h          |  1 +
 11 files changed, 95 insertions(+), 17 deletions(-)

diff --git a/arch/x86/include/asm/vmx.h b/arch/x86/include/asm/vmx.h
index 0e73616b82f3..7fd390484b36 100644
--- a/arch/x86/include/asm/vmx.h
+++ b/arch/x86/include/asm/vmx.h
@@ -513,6 +513,7 @@ enum vmcs_field {
 #define VMX_EPT_IPAT_BIT    			(1ull << 6)
 #define VMX_EPT_ACCESS_BIT			(1ull << 8)
 #define VMX_EPT_DIRTY_BIT			(1ull << 9)
+#define VMX_EPT_USER_EXECUTABLE_MASK		(1ull << 10)
 #define VMX_EPT_RWX_MASK                        (VMX_EPT_READABLE_MASK |       \
 						 VMX_EPT_WRITABLE_MASK |       \
 						 VMX_EPT_EXECUTABLE_MASK)
@@ -558,13 +559,19 @@ enum vm_entry_failure_code {
 #define EPT_VIOLATION_ACC_READ_BIT	0
 #define EPT_VIOLATION_ACC_WRITE_BIT	1
 #define EPT_VIOLATION_ACC_INSTR_BIT	2
-#define EPT_VIOLATION_RWX_SHIFT		3
+#define EPT_VIOLATION_READ_BIT		3
+#define EPT_VIOLATION_WRITE_BIT		4
+#define EPT_VIOLATION_KERNEL_INSTR_BIT	5
+#define EPT_VIOLATION_USER_INSTR_BIT	6
 #define EPT_VIOLATION_GVA_IS_VALID_BIT	7
 #define EPT_VIOLATION_GVA_TRANSLATED_BIT 8
 #define EPT_VIOLATION_ACC_READ		(1 << EPT_VIOLATION_ACC_READ_BIT)
 #define EPT_VIOLATION_ACC_WRITE		(1 << EPT_VIOLATION_ACC_WRITE_BIT)
 #define EPT_VIOLATION_ACC_INSTR		(1 << EPT_VIOLATION_ACC_INSTR_BIT)
-#define EPT_VIOLATION_RWX_MASK		(VMX_EPT_RWX_MASK << EPT_VIOLATION_RWX_SHIFT)
+#define EPT_VIOLATION_READ		(1 << EPT_VIOLATION_READ_BIT)
+#define EPT_VIOLATION_WRITE		(1 << EPT_VIOLATION_WRITE_BIT)
+#define EPT_VIOLATION_KERNEL_INSTR	(1 << EPT_VIOLATION_KERNEL_INSTR_BIT)
+#define EPT_VIOLATION_USER_INSTR	(1 << EPT_VIOLATION_USER_INSTR_BIT)
 #define EPT_VIOLATION_GVA_IS_VALID	(1 << EPT_VIOLATION_GVA_IS_VALID_BIT)
 #define EPT_VIOLATION_GVA_TRANSLATED	(1 << EPT_VIOLATION_GVA_TRANSLATED_BIT)
 
diff --git a/arch/x86/kvm/mmu.h b/arch/x86/kvm/mmu.h
index 253fb2093d5d..65168d3a4e31 100644
--- a/arch/x86/kvm/mmu.h
+++ b/arch/x86/kvm/mmu.h
@@ -24,6 +24,7 @@ extern bool __read_mostly enable_mmio_caching;
 #define PT_PAGE_SIZE_MASK (1ULL << PT_PAGE_SIZE_SHIFT)
 #define PT_PAT_MASK (1ULL << 7)
 #define PT_GLOBAL_MASK (1ULL << 8)
+#define PT_USER_EXEC_MASK (1ULL << 10)
 #define PT64_NX_SHIFT 63
 #define PT64_NX_MASK (1ULL << PT64_NX_SHIFT)
 
@@ -102,7 +103,7 @@ static inline u8 kvm_get_shadow_phys_bits(void)
 
 void kvm_mmu_set_mmio_spte_mask(u64 mmio_value, u64 mmio_mask, u64 access_mask);
 void kvm_mmu_set_me_spte_mask(u64 me_value, u64 me_mask);
-void kvm_mmu_set_ept_masks(bool has_ad_bits, bool has_exec_only);
+void kvm_mmu_set_ept_masks(bool has_ad_bits, bool has_exec_only, bool has_mbec);
 
 void kvm_init_mmu(struct kvm_vcpu *vcpu);
 void kvm_init_shadow_npt_mmu(struct kvm_vcpu *vcpu, unsigned long cr0,
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index baeba8fc1c38..7e053973125c 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -29,6 +29,9 @@
 #include "cpuid.h"
 #include "spte.h"
 
+/* Required by paging_tmpl.h for enable_mbec */
+#include "../vmx/capabilities.h"
+
 #include <linux/kvm_host.h>
 #include <linux/types.h>
 #include <linux/string.h>
@@ -3410,7 +3413,7 @@ static bool fast_pf_fix_direct_spte(struct kvm_vcpu *vcpu,
 static bool is_access_allowed(struct kvm_page_fault *fault, u64 spte)
 {
 	if (fault->exec)
-		return is_executable_pte(spte);
+		return is_executable_pte(spte, !fault->user);
 
 	if (fault->write)
 		return is_writable_pte(spte);
@@ -3852,7 +3855,8 @@ static int mmu_alloc_shadow_roots(struct kvm_vcpu *vcpu)
 	 */
 	pm_mask = PT_PRESENT_MASK | shadow_me_value;
 	if (mmu->root_role.level >= PT64_ROOT_4LEVEL) {
-		pm_mask |= PT_ACCESSED_MASK | PT_WRITABLE_MASK | PT_USER_MASK;
+		pm_mask |= PT_ACCESSED_MASK | PT_WRITABLE_MASK | PT_USER_MASK |
+			   PT_USER_EXEC_MASK;
 
 		if (WARN_ON_ONCE(!mmu->pml4_root)) {
 			r = -EIO;
diff --git a/arch/x86/kvm/mmu/mmutrace.h b/arch/x86/kvm/mmu/mmutrace.h
index ae86820cef69..cb7df95aec25 100644
--- a/arch/x86/kvm/mmu/mmutrace.h
+++ b/arch/x86/kvm/mmu/mmutrace.h
@@ -342,7 +342,8 @@ TRACE_EVENT(
 		__field(u8, level)
 		/* These depend on page entry type, so compute them now.  */
 		__field(bool, r)
-		__field(bool, x)
+		__field(bool, kx)
+		__field(bool, ux)
 		__field(signed char, u)
 	),
 
@@ -352,15 +353,17 @@ TRACE_EVENT(
 		__entry->sptep = virt_to_phys(sptep);
 		__entry->level = level;
 		__entry->r = shadow_present_mask || (__entry->spte & PT_PRESENT_MASK);
-		__entry->x = is_executable_pte(__entry->spte);
+		__entry->kx = is_executable_pte(__entry->spte, true);
+		__entry->ux = is_executable_pte(__entry->spte, false);
 		__entry->u = shadow_user_mask ? !!(__entry->spte & shadow_user_mask) : -1;
 	),
 
-	TP_printk("gfn %llx spte %llx (%s%s%s%s) level %d at %llx",
+	TP_printk("gfn %llx spte %llx (%s%s%s%s%s) level %d at %llx",
 		  __entry->gfn, __entry->spte,
 		  __entry->r ? "r" : "-",
 		  __entry->spte & PT_WRITABLE_MASK ? "w" : "-",
-		  __entry->x ? "x" : "-",
+		  __entry->kx ? "X" : "-",
+		  __entry->ux ? "x" : "-",
 		  __entry->u == -1 ? "" : (__entry->u ? "u" : "-"),
 		  __entry->level, __entry->sptep
 	)
diff --git a/arch/x86/kvm/mmu/paging_tmpl.h b/arch/x86/kvm/mmu/paging_tmpl.h
index c85255073f67..08f0c8d28245 100644
--- a/arch/x86/kvm/mmu/paging_tmpl.h
+++ b/arch/x86/kvm/mmu/paging_tmpl.h
@@ -510,8 +510,20 @@ static int FNAME(walk_addr_generic)(struct guest_walker *walker,
 		 * Note, pte_access holds the raw RWX bits from the EPTE, not
 		 * ACC_*_MASK flags!
 		 */
-		vcpu->arch.exit_qualification |= (pte_access & VMX_EPT_RWX_MASK) <<
-						 EPT_VIOLATION_RWX_SHIFT;
+		vcpu->arch.exit_qualification |=
+			!!(pte_access & VMX_EPT_READABLE_MASK)
+			<< EPT_VIOLATION_READ_BIT;
+		vcpu->arch.exit_qualification |=
+			!!(pte_access & VMX_EPT_WRITABLE_MASK)
+			<< EPT_VIOLATION_WRITE_BIT;
+		vcpu->arch.exit_qualification |=
+			!!(pte_access & VMX_EPT_EXECUTABLE_MASK)
+			<< EPT_VIOLATION_KERNEL_INSTR_BIT;
+		if (enable_mbec) {
+			vcpu->arch.exit_qualification |=
+				!!(pte_access & VMX_EPT_USER_EXECUTABLE_MASK)
+				<< EPT_VIOLATION_USER_INSTR_BIT;
+		}
 	}
 #endif
 	walker->fault.address = addr;
diff --git a/arch/x86/kvm/mmu/spte.c b/arch/x86/kvm/mmu/spte.c
index 4a599130e9c9..386cc1e8aab9 100644
--- a/arch/x86/kvm/mmu/spte.c
+++ b/arch/x86/kvm/mmu/spte.c
@@ -422,13 +422,15 @@ void kvm_mmu_set_me_spte_mask(u64 me_value, u64 me_mask)
 }
 EXPORT_SYMBOL_GPL(kvm_mmu_set_me_spte_mask);
 
-void kvm_mmu_set_ept_masks(bool has_ad_bits, bool has_exec_only)
+void kvm_mmu_set_ept_masks(bool has_ad_bits, bool has_exec_only, bool has_mbec)
 {
 	shadow_user_mask	= VMX_EPT_READABLE_MASK;
 	shadow_accessed_mask	= has_ad_bits ? VMX_EPT_ACCESS_BIT : 0ull;
 	shadow_dirty_mask	= has_ad_bits ? VMX_EPT_DIRTY_BIT : 0ull;
 	shadow_nx_mask		= 0ull;
 	shadow_x_mask		= VMX_EPT_EXECUTABLE_MASK;
+	if (has_mbec)
+		shadow_x_mask |= VMX_EPT_USER_EXECUTABLE_MASK;
 	shadow_present_mask	= has_exec_only ? 0ull : VMX_EPT_READABLE_MASK;
 	/*
 	 * EPT overrides the host MTRRs, and so KVM must program the desired
diff --git a/arch/x86/kvm/mmu/spte.h b/arch/x86/kvm/mmu/spte.h
index a129951c9a88..2f402f81ee15 100644
--- a/arch/x86/kvm/mmu/spte.h
+++ b/arch/x86/kvm/mmu/spte.h
@@ -3,8 +3,11 @@
 #ifndef KVM_X86_MMU_SPTE_H
 #define KVM_X86_MMU_SPTE_H
 
+#include <asm/vmx.h>
+
 #include "mmu.h"
 #include "mmu_internal.h"
+#include "../vmx/vmx.h"
 
 /*
  * A MMU present SPTE is backed by actual memory and may or may not be present
@@ -320,9 +323,17 @@ static inline bool is_last_spte(u64 pte, int level)
 	return (level == PG_LEVEL_4K) || is_large_pte(pte);
 }
 
-static inline bool is_executable_pte(u64 spte)
+static inline bool is_executable_pte(u64 spte, bool for_kernel_mode)
 {
-	return (spte & (shadow_x_mask | shadow_nx_mask)) == shadow_x_mask;
+	u64 x_mask = shadow_x_mask;
+
+	if (enable_mbec) {
+		if (for_kernel_mode)
+			x_mask &= ~VMX_EPT_USER_EXECUTABLE_MASK;
+		else
+			x_mask &= ~VMX_EPT_EXECUTABLE_MASK;
+	}
+	return (spte & (x_mask | shadow_nx_mask)) == x_mask;
 }
 
 static inline kvm_pfn_t spte_to_pfn(u64 pte)
diff --git a/arch/x86/kvm/vmx/capabilities.h b/arch/x86/kvm/vmx/capabilities.h
index 41a4533f9989..70bd38645680 100644
--- a/arch/x86/kvm/vmx/capabilities.h
+++ b/arch/x86/kvm/vmx/capabilities.h
@@ -13,6 +13,7 @@ extern bool __read_mostly enable_vpid;
 extern bool __read_mostly flexpriority_enabled;
 extern bool __read_mostly enable_ept;
 extern bool __read_mostly enable_unrestricted_guest;
+extern bool __read_mostly enable_mbec;
 extern bool __read_mostly enable_ept_ad_bits;
 extern bool __read_mostly enable_pml;
 extern bool __read_mostly enable_ipiv;
@@ -255,6 +256,12 @@ static inline bool cpu_has_vmx_xsaves(void)
 		SECONDARY_EXEC_ENABLE_XSAVES;
 }
 
+static inline bool cpu_has_vmx_mbec(void)
+{
+	return vmcs_config.cpu_based_2nd_exec_ctrl &
+		SECONDARY_EXEC_MODE_BASED_EPT_EXEC;
+}
+
 static inline bool cpu_has_vmx_waitpkg(void)
 {
 	return vmcs_config.cpu_based_2nd_exec_ctrl &
diff --git a/arch/x86/kvm/vmx/nested.c b/arch/x86/kvm/vmx/nested.c
index c5ec0ef51ff7..23a0341729d6 100644
--- a/arch/x86/kvm/vmx/nested.c
+++ b/arch/x86/kvm/vmx/nested.c
@@ -2324,6 +2324,9 @@ static void prepare_vmcs02_early(struct vcpu_vmx *vmx, struct loaded_vmcs *vmcs0
 		/* VMCS shadowing for L2 is emulated for now */
 		exec_control &= ~SECONDARY_EXEC_SHADOW_VMCS;
 
+		/* MBEC is currently only handled for L0. */
+		exec_control &= ~SECONDARY_EXEC_MODE_BASED_EPT_EXEC;
+
 		/*
 		 * Preset *DT exiting when emulating UMIP, so that vmx_set_cr4()
 		 * will not have to rewrite the controls just for this bit.
@@ -6863,6 +6866,10 @@ static void nested_vmx_setup_secondary_ctls(u32 ept_caps,
 {
 	msrs->secondary_ctls_low = 0;
 
+	/*
+	 * Currently, SECONDARY_EXEC_MODE_BASED_EPT_EXEC is only handled for
+	 * L0 and doesn't need to be exposed to L1 nor L2.
+	 */
 	msrs->secondary_ctls_high = vmcs_conf->cpu_based_2nd_exec_ctrl;
 	msrs->secondary_ctls_high &=
 		SECONDARY_EXEC_DESC |
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index b631b1d7ba30..1b1581f578b0 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -94,6 +94,10 @@ bool __read_mostly enable_unrestricted_guest = 1;
 module_param_named(unrestricted_guest,
 			enable_unrestricted_guest, bool, S_IRUGO);
 
+bool __read_mostly enable_mbec = true;
+EXPORT_SYMBOL_GPL(enable_mbec);
+module_param_named(mbec, enable_mbec, bool, 0444);
+
 bool __read_mostly enable_ept_ad_bits = 1;
 module_param_named(eptad, enable_ept_ad_bits, bool, S_IRUGO);
 
@@ -4596,10 +4600,21 @@ static u32 vmx_secondary_exec_control(struct vcpu_vmx *vmx)
 		exec_control &= ~SECONDARY_EXEC_ENABLE_VPID;
 	if (!enable_ept) {
 		exec_control &= ~SECONDARY_EXEC_ENABLE_EPT;
+		/*
+		 * From Intel's SDM:
+		 * If either the "unrestricted guest" VM-execution control or
+		 * the "mode-based execute control for EPT" VM-execution
+		 * control is 1, the "enable EPT" VM-execution control must
+		 * also be 1.
+		 */
 		enable_unrestricted_guest = 0;
+		enable_mbec = false;
 	}
 	if (!enable_unrestricted_guest)
 		exec_control &= ~SECONDARY_EXEC_UNRESTRICTED_GUEST;
+	if (!enable_mbec)
+		exec_control &= ~SECONDARY_EXEC_MODE_BASED_EPT_EXEC;
+
 	if (kvm_pause_in_guest(vmx->vcpu.kvm))
 		exec_control &= ~SECONDARY_EXEC_PAUSE_LOOP_EXITING;
 	if (!kvm_vcpu_apicv_active(vcpu))
@@ -5742,7 +5757,7 @@ static int handle_task_switch(struct kvm_vcpu *vcpu)
 
 static int handle_ept_violation(struct kvm_vcpu *vcpu)
 {
-	unsigned long exit_qualification;
+	unsigned long exit_qualification, rwx_mask;
 	gpa_t gpa;
 	u64 error_code;
 
@@ -5772,7 +5787,11 @@ static int handle_ept_violation(struct kvm_vcpu *vcpu)
 	error_code |= (exit_qualification & EPT_VIOLATION_ACC_INSTR)
 		      ? PFERR_FETCH_MASK : 0;
 	/* ept page table entry is present? */
-	error_code |= (exit_qualification & EPT_VIOLATION_RWX_MASK)
+	rwx_mask = EPT_VIOLATION_READ | EPT_VIOLATION_WRITE |
+		   EPT_VIOLATION_KERNEL_INSTR;
+	if (enable_mbec)
+		rwx_mask |= EPT_VIOLATION_USER_INSTR;
+	error_code |= (exit_qualification & rwx_mask)
 		      ? PFERR_PRESENT_MASK : 0;
 
 	error_code |= (exit_qualification & EPT_VIOLATION_GVA_TRANSLATED) != 0 ?
@@ -8475,6 +8494,9 @@ static __init int hardware_setup(void)
 	if (!cpu_has_vmx_unrestricted_guest() || !enable_ept)
 		enable_unrestricted_guest = 0;
 
+	if (!cpu_has_vmx_mbec() || !enable_ept)
+		enable_mbec = false;
+
 	if (!cpu_has_vmx_flexpriority())
 		flexpriority_enabled = 0;
 
@@ -8533,7 +8555,8 @@ static __init int hardware_setup(void)
 
 	if (enable_ept)
 		kvm_mmu_set_ept_masks(enable_ept_ad_bits,
-				      cpu_has_vmx_ept_execute_only());
+				      cpu_has_vmx_ept_execute_only(),
+				      enable_mbec);
 
 	/*
 	 * Setup shadow_me_value/shadow_me_mask to include MKTME KeyID
diff --git a/arch/x86/kvm/vmx/vmx.h b/arch/x86/kvm/vmx/vmx.h
index c2130d2c8e24..882add2412e6 100644
--- a/arch/x86/kvm/vmx/vmx.h
+++ b/arch/x86/kvm/vmx/vmx.h
@@ -572,6 +572,7 @@ static inline u8 vmx_get_rvi(void)
 	 SECONDARY_EXEC_ENABLE_VMFUNC |					\
 	 SECONDARY_EXEC_BUS_LOCK_DETECTION |				\
 	 SECONDARY_EXEC_NOTIFY_VM_EXITING |				\
+	 SECONDARY_EXEC_MODE_BASED_EPT_EXEC |				\
 	 SECONDARY_EXEC_ENCLS_EXITING)
 
 #define KVM_REQUIRED_VMX_TERTIARY_VM_EXEC_CONTROL 0
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631250.984374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mcf-0002MG-Nm; Mon, 13 Nov 2023 02:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631250.984374; Mon, 13 Nov 2023 02:24: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 1r2Mcf-0002Lx-I3; Mon, 13 Nov 2023 02:24:21 +0000
Received: by outflank-mailman (input) for mailman id 631250;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Mce-0000Y9-HI
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:20 +0000
Received: from smtp-bc0b.mail.infomaniak.ch (smtp-bc0b.mail.infomaniak.ch
 [45.157.188.11]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf0a2cf5-81cb-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 03:24:18 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCt95GW0zMq1KB;
 Mon, 13 Nov 2023 02:24:17 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCt839JlzMpnPj; Mon, 13 Nov 2023 03:24:16 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf0a2cf5-81cb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842257;
	bh=PQNeiuyuaag6rY0/0aZvbY8DcQ+uJkpAZ3YhXfGbU/4=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=C/i6Z8Svs7dAZPWHowQNO6lgYqfxZGIKRT4Rv+iVe68+nEKFccASjZlbdqodXOe1Q
	 dwVNuK0bdmdi7h9FMblZ5QvHp8E1G+JUWSQCcbOCYk2XfDmL7p6wvj8iHnqyDwYJcQ
	 tPLUIarjGKkAIHFzNY1thLtfdgMO1Vd24CZIiMHI=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 06/19] KVM: x86: Add kvm_x86_ops.fault_gva()
Date: Sun, 12 Nov 2023 21:23:13 -0500
Message-ID: <20231113022326.24388-7-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

This function is needed for kvm_mmu_page_fault() to create synthetic
page faults.

Code originally written by Mihai Donțu and Nicușor Cîțu:
https://lore.kernel.org/r/20211006173113.26445-18-alazar@bitdefender.com
Renamed fault_gla() to fault_gva() and use the new
EPT_VIOLATION_GVA_IS_VALID.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Co-developed-by: Mihai Donțu <mdontu@bitdefender.com>
Signed-off-by: Mihai Donțu <mdontu@bitdefender.com>
Co-developed-by: Nicușor Cîțu <nicu.citu@icloud.com>
Signed-off-by: Nicușor Cîțu <nicu.citu@icloud.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---
 arch/x86/include/asm/kvm-x86-ops.h |  1 +
 arch/x86/include/asm/kvm_host.h    |  2 ++
 arch/x86/kvm/svm/svm.c             |  9 +++++++++
 arch/x86/kvm/vmx/vmx.c             | 10 ++++++++++
 4 files changed, 22 insertions(+)

diff --git a/arch/x86/include/asm/kvm-x86-ops.h b/arch/x86/include/asm/kvm-x86-ops.h
index e3054e3e46d5..ba3db679db2b 100644
--- a/arch/x86/include/asm/kvm-x86-ops.h
+++ b/arch/x86/include/asm/kvm-x86-ops.h
@@ -134,6 +134,7 @@ KVM_X86_OP(msr_filter_changed)
 KVM_X86_OP(complete_emulated_msr)
 KVM_X86_OP(vcpu_deliver_sipi_vector)
 KVM_X86_OP_OPTIONAL_RET0(vcpu_get_apicv_inhibit_reasons);
+KVM_X86_OP(fault_gva)
 
 #undef KVM_X86_OP
 #undef KVM_X86_OP_OPTIONAL
diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index dff10051e9b6..0415dacd4b28 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -1750,6 +1750,8 @@ struct kvm_x86_ops {
 	 * Returns vCPU specific APICv inhibit reasons
 	 */
 	unsigned long (*vcpu_get_apicv_inhibit_reasons)(struct kvm_vcpu *vcpu);
+
+	u64 (*fault_gva)(struct kvm_vcpu *vcpu);
 };
 
 struct kvm_x86_nested_ops {
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index beea99c8e8e0..d32517a2cf9c 100644
--- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c
@@ -4906,6 +4906,13 @@ static int svm_vm_init(struct kvm *kvm)
 	return 0;
 }
 
+static u64 svm_fault_gva(struct kvm_vcpu *vcpu)
+{
+	const struct vcpu_svm *svm = to_svm(vcpu);
+
+	return svm->vcpu.arch.cr2 ? svm->vcpu.arch.cr2 : ~0ull;
+}
+
 static struct kvm_x86_ops svm_x86_ops __initdata = {
 	.name = KBUILD_MODNAME,
 
@@ -5037,6 +5044,8 @@ static struct kvm_x86_ops svm_x86_ops __initdata = {
 
 	.vcpu_deliver_sipi_vector = svm_vcpu_deliver_sipi_vector,
 	.vcpu_get_apicv_inhibit_reasons = avic_vcpu_get_apicv_inhibit_reasons,
+
+	.fault_gva = svm_fault_gva,
 };
 
 /*
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 1b1581f578b0..a8158bc1dda9 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -8233,6 +8233,14 @@ static void vmx_vm_destroy(struct kvm *kvm)
 	free_pages((unsigned long)kvm_vmx->pid_table, vmx_get_pid_table_order(kvm));
 }
 
+static u64 vmx_fault_gva(struct kvm_vcpu *vcpu)
+{
+	if (vcpu->arch.exit_qualification & EPT_VIOLATION_GVA_IS_VALID)
+		return vmcs_readl(GUEST_LINEAR_ADDRESS);
+
+	return ~0ull;
+}
+
 static struct kvm_x86_ops vmx_x86_ops __initdata = {
 	.name = KBUILD_MODNAME,
 
@@ -8373,6 +8381,8 @@ static struct kvm_x86_ops vmx_x86_ops __initdata = {
 	.complete_emulated_msr = kvm_complete_insn_gp,
 
 	.vcpu_deliver_sipi_vector = kvm_vcpu_deliver_sipi_vector,
+
+	.fault_gva = vmx_fault_gva,
 };
 
 static unsigned int vmx_handle_intel_pt_intr(void)
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631251.984384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mci-0002ix-3B; Mon, 13 Nov 2023 02:24:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631251.984384; Mon, 13 Nov 2023 02:24: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 1r2Mch-0002iS-TR; Mon, 13 Nov 2023 02:24:23 +0000
Received: by outflank-mailman (input) for mailman id 631251;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Mcg-00011s-4w
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:22 +0000
Received: from smtp-190d.mail.infomaniak.ch (smtp-190d.mail.infomaniak.ch
 [185.125.25.13]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0f9911c-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:21 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtF0JdCzMpxDc;
 Mon, 13 Nov 2023 02:24:21 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtC4TrjzMpnPd; Mon, 13 Nov 2023 03:24:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0f9911c-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842260;
	bh=3ZLY/nS0lwLKi/L6VqWKqVBloAFCSA+eB24SBhCzIXI=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=y2lDmzRkLKrzf6YPi3D4QKjQPJhPLdTzsvCbaLH8n86bmNl5EAyUw5Vphk2fc4rJw
	 TLfnFGEyP2jqJAbn8DJnwo1XABN8RimqjRgV1bCMpAPRjX8PzxhdSJt9kDm6zHLvGd
	 /ggMXvnRZc6CA01WJiWQxAi6rqcHrhmU955Fp2TY=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 07/19] KVM: x86: Make memory attribute helpers more generic
Date: Sun, 12 Nov 2023 21:23:14 -0500
Message-ID: <20231113022326.24388-8-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

To make it useful for other use cases such as Heki, remove the private
memory optimizations.

I guess we could try to infer the applied attributes to get back these
optimizations when it makes sense, but let's keep this simple for now.

Main changes:

- Replace slots_lock with slots_arch_lock to make it callable from a KVM
  hypercall.

- Move this mutex lock into kvm_vm_ioctl_set_mem_attributes() to make it
  easier to use with other locks.

- Export kvm_vm_set_mem_attributes().

- Remove the kvm_arch_pre_set_memory_attributes() and
  kvm_arch_post_set_memory_attributes() KVM_MEMORY_ATTRIBUTE_PRIVATE
  optimizations.

Cc: Chao Peng <chao.p.peng@linux.intel.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Yu Zhang <yu.c.zhang@linux.intel.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---

Changes since v1:
* New patch
---
 arch/x86/kvm/mmu/mmu.c   | 23 -----------------------
 include/linux/kvm_host.h |  2 ++
 virt/kvm/kvm_main.c      | 19 ++++++++++---------
 3 files changed, 12 insertions(+), 32 deletions(-)

diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index 7e053973125c..4d378d308762 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -7251,20 +7251,6 @@ void kvm_mmu_pre_destroy_vm(struct kvm *kvm)
 bool kvm_arch_pre_set_memory_attributes(struct kvm *kvm,
 					struct kvm_gfn_range *range)
 {
-	/*
-	 * Zap SPTEs even if the slot can't be mapped PRIVATE.  KVM x86 only
-	 * supports KVM_MEMORY_ATTRIBUTE_PRIVATE, and so it *seems* like KVM
-	 * can simply ignore such slots.  But if userspace is making memory
-	 * PRIVATE, then KVM must prevent the guest from accessing the memory
-	 * as shared.  And if userspace is making memory SHARED and this point
-	 * is reached, then at least one page within the range was previously
-	 * PRIVATE, i.e. the slot's possible hugepage ranges are changing.
-	 * Zapping SPTEs in this case ensures KVM will reassess whether or not
-	 * a hugepage can be used for affected ranges.
-	 */
-	if (WARN_ON_ONCE(!kvm_arch_has_private_mem(kvm)))
-		return false;
-
 	return kvm_unmap_gfn_range(kvm, range);
 }
 
@@ -7313,15 +7299,6 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm,
 	lockdep_assert_held_write(&kvm->mmu_lock);
 	lockdep_assert_held(&kvm->slots_lock);
 
-	/*
-	 * Calculate which ranges can be mapped with hugepages even if the slot
-	 * can't map memory PRIVATE.  KVM mustn't create a SHARED hugepage over
-	 * a range that has PRIVATE GFNs, and conversely converting a range to
-	 * SHARED may now allow hugepages.
-	 */
-	if (WARN_ON_ONCE(!kvm_arch_has_private_mem(kvm)))
-		return false;
-
 	/*
 	 * The sequence matters here: upper levels consume the result of lower
 	 * level's scanning.
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index ec32af17add8..85b8648fd892 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -2396,6 +2396,8 @@ bool kvm_arch_pre_set_memory_attributes(struct kvm *kvm,
 					struct kvm_gfn_range *range);
 bool kvm_arch_post_set_memory_attributes(struct kvm *kvm,
 					 struct kvm_gfn_range *range);
+int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
+			      unsigned long attributes);
 
 static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
 {
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 23633984142f..0096ccfbb609 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2552,7 +2552,7 @@ static bool kvm_pre_set_memory_attributes(struct kvm *kvm,
 }
 
 /* Set @attributes for the gfn range [@start, @end). */
-static int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
+int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 				     unsigned long attributes)
 {
 	struct kvm_mmu_notifier_range pre_set_range = {
@@ -2577,11 +2577,11 @@ static int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 
 	entry = attributes ? xa_mk_value(attributes) : NULL;
 
-	mutex_lock(&kvm->slots_lock);
+	lockdep_assert_held(&kvm->slots_arch_lock);
 
 	/* Nothing to do if the entire range as the desired attributes. */
 	if (kvm_range_has_memory_attributes(kvm, start, end, attributes))
-		goto out_unlock;
+		return r;
 
 	/*
 	 * Reserve memory ahead of time to avoid having to deal with failures
@@ -2590,7 +2590,7 @@ static int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 	for (i = start; i < end; i++) {
 		r = xa_reserve(&kvm->mem_attr_array, i, GFP_KERNEL_ACCOUNT);
 		if (r)
-			goto out_unlock;
+			return r;
 	}
 
 	kvm_handle_gfn_range(kvm, &pre_set_range);
@@ -2602,15 +2602,13 @@ static int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 	}
 
 	kvm_handle_gfn_range(kvm, &post_set_range);
-
-out_unlock:
-	mutex_unlock(&kvm->slots_lock);
-
 	return r;
 }
+
 static int kvm_vm_ioctl_set_mem_attributes(struct kvm *kvm,
 					   struct kvm_memory_attributes *attrs)
 {
+	int r;
 	gfn_t start, end;
 
 	/* flags is currently not used. */
@@ -2633,7 +2631,10 @@ static int kvm_vm_ioctl_set_mem_attributes(struct kvm *kvm,
 	 */
 	BUILD_BUG_ON(sizeof(attrs->attributes) != sizeof(unsigned long));
 
-	return kvm_vm_set_mem_attributes(kvm, start, end, attrs->attributes);
+	mutex_lock(&kvm->slots_arch_lock);
+	r = kvm_vm_set_mem_attributes(kvm, start, end, attrs->attributes);
+	mutex_unlock(&kvm->slots_arch_lock);
+	return r;
 }
 #endif /* CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES */
 
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631252.984394 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mck-00038N-H8; Mon, 13 Nov 2023 02:24:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631252.984394; Mon, 13 Nov 2023 02:24: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 1r2Mck-000389-Dz; Mon, 13 Nov 2023 02:24:26 +0000
Received: by outflank-mailman (input) for mailman id 631252;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Mcj-00011s-5Y
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:25 +0000
Received: from smtp-bc0e.mail.infomaniak.ch (smtp-bc0e.mail.infomaniak.ch
 [45.157.188.14]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2c95f2f-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:24 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtJ0ZdVzMpvZk;
 Mon, 13 Nov 2023 02:24:24 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtG6J2GzMpnPd; Mon, 13 Nov 2023 03:24:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2c95f2f-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842263;
	bh=oVoPkAWjPfqZGemyyPZ53MkaSuuZZCG0BkbPtJbgAiE=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=vrln9/b46q/IyvbLiM7gr/pjSy6nNAlaXyCcWrkwCHL76184CKYv4PInqVYTmM3XU
	 usQOOb2erA5xMR73/PzeYEi/AVI+wGVine2Q4AcSnr9lSM8X4meSz+MPB7uM5eZm7x
	 SS5OjADjVFHRajKr3cVBhD/5XC7T3gtprqTK5mks=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 08/19] KVM: x86: Extend kvm_vm_set_mem_attributes() with a mask
Date: Sun, 12 Nov 2023 21:23:15 -0500
Message-ID: <20231113022326.24388-9-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

Enable to only update a subset of attributes.

This is needed to be able to use the XArray for different use cases and
make sure they don't interfere (see a following commit).

Cc: Chao Peng <chao.p.peng@linux.intel.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Yu Zhang <yu.c.zhang@linux.intel.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---

Changes since v1:
* New patch
---
 arch/x86/kvm/mmu/mmu.c   |  2 +-
 include/linux/kvm_host.h |  2 +-
 virt/kvm/kvm_main.c      | 27 +++++++++++++++++++--------
 3 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index 4d378d308762..d7010e09440d 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -7283,7 +7283,7 @@ static bool hugepage_has_attrs(struct kvm *kvm, struct kvm_memory_slot *slot,
 
 	for (gfn = start; gfn < end; gfn += KVM_PAGES_PER_HPAGE(level - 1)) {
 		if (hugepage_test_mixed(slot, gfn, level - 1) ||
-		    attrs != kvm_get_memory_attributes(kvm, gfn))
+		    !(attrs & kvm_get_memory_attributes(kvm, gfn)))
 			return false;
 	}
 	return true;
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index 85b8648fd892..de68390ab0f2 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -2397,7 +2397,7 @@ bool kvm_arch_pre_set_memory_attributes(struct kvm *kvm,
 bool kvm_arch_post_set_memory_attributes(struct kvm *kvm,
 					 struct kvm_gfn_range *range);
 int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
-			      unsigned long attributes);
+			      unsigned long attributes, unsigned long mask);
 
 static inline bool kvm_mem_is_private(struct kvm *kvm, gfn_t gfn)
 {
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index 0096ccfbb609..e2c178db17d5 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2436,7 +2436,7 @@ static int kvm_vm_ioctl_clear_dirty_log(struct kvm *kvm,
 #ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES
 /*
  * Returns true if _all_ gfns in the range [@start, @end) have attributes
- * matching @attrs.
+ * matching the @attrs bitmask.
  */
 bool kvm_range_has_memory_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 				     unsigned long attrs)
@@ -2459,7 +2459,8 @@ bool kvm_range_has_memory_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 			entry = xas_next(&xas);
 		} while (xas_retry(&xas, entry));
 
-		if (xas.xa_index != index || xa_to_value(entry) != attrs) {
+		if (xas.xa_index != index ||
+		    (xa_to_value(entry) & attrs) != attrs) {
 			has_attrs = false;
 			break;
 		}
@@ -2553,7 +2554,7 @@ static bool kvm_pre_set_memory_attributes(struct kvm *kvm,
 
 /* Set @attributes for the gfn range [@start, @end). */
 int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
-				     unsigned long attributes)
+			      unsigned long attributes, unsigned long mask)
 {
 	struct kvm_mmu_notifier_range pre_set_range = {
 		.start = start,
@@ -2572,11 +2573,8 @@ int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 		.may_block = true,
 	};
 	unsigned long i;
-	void *entry;
 	int r = 0;
 
-	entry = attributes ? xa_mk_value(attributes) : NULL;
-
 	lockdep_assert_held(&kvm->slots_arch_lock);
 
 	/* Nothing to do if the entire range as the desired attributes. */
@@ -2596,6 +2594,16 @@ int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 	kvm_handle_gfn_range(kvm, &pre_set_range);
 
 	for (i = start; i < end; i++) {
+		unsigned long value = 0;
+		void *entry;
+
+		entry = xa_load(&kvm->mem_attr_array, i);
+		if (xa_is_value(entry))
+			value = xa_to_value(entry) & ~mask;
+
+		value |= attributes & mask;
+		entry = value ? xa_mk_value(value) : NULL;
+
 		r = xa_err(xa_store(&kvm->mem_attr_array, i, entry,
 				    GFP_KERNEL_ACCOUNT));
 		KVM_BUG_ON(r, kvm);
@@ -2609,12 +2617,14 @@ static int kvm_vm_ioctl_set_mem_attributes(struct kvm *kvm,
 					   struct kvm_memory_attributes *attrs)
 {
 	int r;
+	unsigned long attrs_mask;
 	gfn_t start, end;
 
 	/* flags is currently not used. */
 	if (attrs->flags)
 		return -EINVAL;
-	if (attrs->attributes & ~kvm_supported_mem_attributes(kvm))
+	attrs_mask = kvm_supported_mem_attributes(kvm);
+	if (attrs->attributes & ~attrs_mask)
 		return -EINVAL;
 	if (attrs->size == 0 || attrs->address + attrs->size < attrs->address)
 		return -EINVAL;
@@ -2632,7 +2642,8 @@ static int kvm_vm_ioctl_set_mem_attributes(struct kvm *kvm,
 	BUILD_BUG_ON(sizeof(attrs->attributes) != sizeof(unsigned long));
 
 	mutex_lock(&kvm->slots_arch_lock);
-	r = kvm_vm_set_mem_attributes(kvm, start, end, attrs->attributes);
+	r = kvm_vm_set_mem_attributes(kvm, start, end, attrs->attributes,
+				      attrs_mask);
 	mutex_unlock(&kvm->slots_arch_lock);
 	return r;
 }
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631254.984404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mcn-0003ZX-Sb; Mon, 13 Nov 2023 02:24:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631254.984404; Mon, 13 Nov 2023 02:24: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 1r2Mcn-0003ZJ-Oi; Mon, 13 Nov 2023 02:24:29 +0000
Received: by outflank-mailman (input) for mailman id 631254;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Mcm-00011s-Ik
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:28 +0000
Received: from smtp-42a8.mail.infomaniak.ch (smtp-42a8.mail.infomaniak.ch
 [84.16.66.168]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4ea313c-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:27 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtM4fDdzMpvbm;
 Mon, 13 Nov 2023 02:24:27 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtL2gRXzMpnPj; Mon, 13 Nov 2023 03:24:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4ea313c-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842267;
	bh=ch9T7FXLfTJgFWbno30mYt9y51RERoKANoOanV/XFpA=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=naLeBV79e37SdDz+D/dS7uyrmwvygGCWlJc+XJuRQzMv5XfDFnAdIMM6Uid+A4GTN
	 RAhlLTNQ/RTX6yjhoengNgNRl5DnbJYrC4WmjoGlHXKyNa50wVn5zQJnJq4Mtvmw+J
	 D2bNNNOJvWidC6klDm91oW1hugsA6v5+ManBoxf4=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 09/19] KVM: x86: Extend kvm_range_has_memory_attributes() with match_all
Date: Sun, 12 Nov 2023 21:23:16 -0500
Message-ID: <20231113022326.24388-10-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

This enables to check if an attribute is tied to any memory page in a
range. This will be useful in a folling commit to check for
KVM_MEMORY_ATTRIBUTE_HEKI_IMMUTABLE.

Cc: Chao Peng <chao.p.peng@linux.intel.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Yu Zhang <yu.c.zhang@linux.intel.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---

Changes since v1:
* New patch
---
 arch/x86/kvm/mmu/mmu.c   |  2 +-
 include/linux/kvm_host.h |  2 +-
 virt/kvm/kvm_main.c      | 27 ++++++++++++++++++---------
 3 files changed, 20 insertions(+), 11 deletions(-)

diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index d7010e09440d..2024ff21d036 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -7279,7 +7279,7 @@ static bool hugepage_has_attrs(struct kvm *kvm, struct kvm_memory_slot *slot,
 	const unsigned long end = start + KVM_PAGES_PER_HPAGE(level);
 
 	if (level == PG_LEVEL_2M)
-		return kvm_range_has_memory_attributes(kvm, start, end, attrs);
+		return kvm_range_has_memory_attributes(kvm, start, end, attrs, true);
 
 	for (gfn = start; gfn < end; gfn += KVM_PAGES_PER_HPAGE(level - 1)) {
 		if (hugepage_test_mixed(slot, gfn, level - 1) ||
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index de68390ab0f2..9ecb016a336f 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -2391,7 +2391,7 @@ static inline unsigned long kvm_get_memory_attributes(struct kvm *kvm, gfn_t gfn
 }
 
 bool kvm_range_has_memory_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
-				     unsigned long attrs);
+				     unsigned long attrs, bool match_all);
 bool kvm_arch_pre_set_memory_attributes(struct kvm *kvm,
 					struct kvm_gfn_range *range);
 bool kvm_arch_post_set_memory_attributes(struct kvm *kvm,
diff --git a/virt/kvm/kvm_main.c b/virt/kvm/kvm_main.c
index e2c178db17d5..67dbaaf40c1c 100644
--- a/virt/kvm/kvm_main.c
+++ b/virt/kvm/kvm_main.c
@@ -2435,11 +2435,11 @@ static int kvm_vm_ioctl_clear_dirty_log(struct kvm *kvm,
 
 #ifdef CONFIG_KVM_GENERIC_MEMORY_ATTRIBUTES
 /*
- * Returns true if _all_ gfns in the range [@start, @end) have attributes
- * matching the @attrs bitmask.
+ * According to @match_all, returns true if _all_ (respectively _any_) gfns in
+ * the range [@start, @end) have attributes matching the @attrs bitmask.
  */
 bool kvm_range_has_memory_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
-				     unsigned long attrs)
+				     unsigned long attrs, bool match_all)
 {
 	XA_STATE(xas, &kvm->mem_attr_array, start);
 	unsigned long index;
@@ -2453,16 +2453,25 @@ bool kvm_range_has_memory_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 		goto out;
 	}
 
-	has_attrs = true;
+	has_attrs = match_all;
 	for (index = start; index < end; index++) {
 		do {
 			entry = xas_next(&xas);
 		} while (xas_retry(&xas, entry));
 
-		if (xas.xa_index != index ||
-		    (xa_to_value(entry) & attrs) != attrs) {
-			has_attrs = false;
-			break;
+		if (match_all) {
+			if (xas.xa_index != index ||
+			    (xa_to_value(entry) & attrs) != attrs) {
+				has_attrs = false;
+				break;
+			}
+		} else {
+			index = xas.xa_index;
+			if (index < end &&
+			    (xa_to_value(entry) & attrs) == attrs) {
+				has_attrs = true;
+				break;
+			}
 		}
 	}
 
@@ -2578,7 +2587,7 @@ int kvm_vm_set_mem_attributes(struct kvm *kvm, gfn_t start, gfn_t end,
 	lockdep_assert_held(&kvm->slots_arch_lock);
 
 	/* Nothing to do if the entire range as the desired attributes. */
-	if (kvm_range_has_memory_attributes(kvm, start, end, attributes))
+	if (kvm_range_has_memory_attributes(kvm, start, end, attributes, true))
 		return r;
 
 	/*
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:24:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:24:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631256.984414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mcs-0004EK-8Z; Mon, 13 Nov 2023 02:24:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631256.984414; Mon, 13 Nov 2023 02:24: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 1r2Mcs-0004D6-45; Mon, 13 Nov 2023 02:24:34 +0000
Received: by outflank-mailman (input) for mailman id 631256;
 Mon, 13 Nov 2023 02:24: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Mcr-00011s-1b
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:33 +0000
Received: from smtp-1909.mail.infomaniak.ch (smtp-1909.mail.infomaniak.ch
 [185.125.25.9]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c7173425-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:31 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtR28lmzMq1pb;
 Mon, 13 Nov 2023 02:24:31 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtP6n2FzMpnPd; Mon, 13 Nov 2023 03:24:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7173425-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842271;
	bh=HO3RcULwQ802eeIPFZkXgFQnmnXm7kA4hgpvD90H0yM=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=oy65yEMwFBZXkzY8/GbCSCY015c7FsKYAOxiyiLLg876EDse7qPjjQ2TawXHbDdpo
	 RqYXUhhMZo8wrcdUoNJcKni3rzSjF0HzYO1MLe/71b+NvJhrkaU1fgwZGfleYIbVsx
	 7CZiYxZUd35oWxWwZ9c+J67orF3hA2vwNYlS1LAw=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 10/19] KVM: x86: Implement per-guest-page permissions
Date: Sun, 12 Nov 2023 21:23:17 -0500
Message-ID: <20231113022326.24388-11-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

Define memory attributes that can be associated with guest physical
pages in KVM. To begin with, define permissions as memory attributes
(READ, WRITE and EXECUTE), and the IMMUTABLE property. In the future,
other attributes could be defined.

Use the memory attribute feature to implement the following functions in
KVM:

- kvm_permissions_set(): Set the permissions for a guest page in the
  memory attribute XArray.

- kvm_permissions_get(): Retrieve the permissions associated with a
  guest page in same XArray.

These functions will be called in a following commit to associate proper
permissions with guest pages instead of RWX for all the pages.

Add 4 new memory attributes, private to the KVM implementation:
- KVM_MEMORY_ATTRIBUTE_HEKI_READ
- KVM_MEMORY_ATTRIBUTE_HEKI_WRITE
- KVM_MEMORY_ATTRIBUTE_HEKI_EXEC
- KVM_MEMORY_ATTRIBUTE_HEKI_IMMUTABLE

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Mickaël Salaün <mic@digikod.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Co-developed-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---

Changes since v1:
* New patch replacing the deprecated page tracking mechanism.
* Add new files: virt/lib/kvm_permissions.c and
  include/linux/kvm_mem_attr.h
* Add new kvm_permissions_get() and kvm_permissions_set() leveraging
  the to-be-upstream memory attributes for KVM.
* Introduce the KVM_MEMORY_ATTRIBUTE_HEKI_* values.
---
 arch/x86/kvm/Kconfig         |   1 +
 arch/x86/kvm/Makefile        |   4 +-
 include/linux/kvm_mem_attr.h |  32 +++++++++++
 include/uapi/linux/kvm.h     |   5 ++
 virt/heki/Kconfig            |   1 +
 virt/lib/kvm_permissions.c   | 104 +++++++++++++++++++++++++++++++++++
 6 files changed, 146 insertions(+), 1 deletion(-)
 create mode 100644 include/linux/kvm_mem_attr.h
 create mode 100644 virt/lib/kvm_permissions.c

diff --git a/arch/x86/kvm/Kconfig b/arch/x86/kvm/Kconfig
index 7a3b52b7e456..ea6d73241632 100644
--- a/arch/x86/kvm/Kconfig
+++ b/arch/x86/kvm/Kconfig
@@ -50,6 +50,7 @@ config KVM
 	select HAVE_KVM_PM_NOTIFIER if PM
 	select KVM_GENERIC_HARDWARE_ENABLING
 	select HYPERVISOR_SUPPORTS_HEKI
+	select SPARSEMEM
 	help
 	  Support hosting fully virtualized guest machines using hardware
 	  virtualization extensions.  You will need a fairly recent
diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile
index 80e3fe184d17..aac51a5d2cae 100644
--- a/arch/x86/kvm/Makefile
+++ b/arch/x86/kvm/Makefile
@@ -9,10 +9,12 @@ endif
 
 include $(srctree)/virt/kvm/Makefile.kvm
 
+VIRT_LIB = ../../../virt/lib
+
 kvm-y			+= x86.o emulate.o i8259.o irq.o lapic.o \
 			   i8254.o ioapic.o irq_comm.o cpuid.o pmu.o mtrr.o \
 			   hyperv.o debugfs.o mmu/mmu.o mmu/page_track.o \
-			   mmu/spte.o
+			   mmu/spte.o $(VIRT_LIB)/kvm_permissions.o
 
 ifdef CONFIG_HYPERV
 kvm-y			+= kvm_onhyperv.o
diff --git a/include/linux/kvm_mem_attr.h b/include/linux/kvm_mem_attr.h
new file mode 100644
index 000000000000..0a755025e553
--- /dev/null
+++ b/include/linux/kvm_mem_attr.h
@@ -0,0 +1,32 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * KVM guest page permissions - Definitions.
+ *
+ * Copyright © 2023 Microsoft Corporation.
+ */
+#ifndef __KVM_MEM_ATTR_H__
+#define __KVM_MEM_ATTR_H__
+
+#include <linux/kvm_host.h>
+#include <linux/kvm_types.h>
+
+/* clang-format off */
+
+#define MEM_ATTR_READ			BIT(0)
+#define MEM_ATTR_WRITE			BIT(1)
+#define MEM_ATTR_EXEC			BIT(2)
+#define MEM_ATTR_IMMUTABLE		BIT(3)
+
+#define MEM_ATTR_PROT ( \
+	MEM_ATTR_READ | \
+	MEM_ATTR_WRITE | \
+	MEM_ATTR_EXEC | \
+	MEM_ATTR_IMMUTABLE)
+
+/* clang-format on */
+
+int kvm_permissions_set(struct kvm *kvm, gfn_t gfn_start, gfn_t gfn_end,
+			unsigned long heki_attr);
+unsigned long kvm_permissions_get(struct kvm *kvm, gfn_t gfn);
+
+#endif /* __KVM_MEM_ATTR_H__ */
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 2477b4a16126..2b5b90216565 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -2319,6 +2319,11 @@ struct kvm_memory_attributes {
 
 #define KVM_MEMORY_ATTRIBUTE_PRIVATE           (1ULL << 3)
 
+#define KVM_MEMORY_ATTRIBUTE_HEKI_READ         (1ULL << 4)
+#define KVM_MEMORY_ATTRIBUTE_HEKI_WRITE        (1ULL << 5)
+#define KVM_MEMORY_ATTRIBUTE_HEKI_EXEC         (1ULL << 6)
+#define KVM_MEMORY_ATTRIBUTE_HEKI_IMMUTABLE    (1ULL << 7)
+
 #define KVM_CREATE_GUEST_MEMFD	_IOWR(KVMIO,  0xd4, struct kvm_create_guest_memfd)
 
 struct kvm_create_guest_memfd {
diff --git a/virt/heki/Kconfig b/virt/heki/Kconfig
index 5ea75b595667..75a784653e31 100644
--- a/virt/heki/Kconfig
+++ b/virt/heki/Kconfig
@@ -5,6 +5,7 @@
 config HEKI
 	bool "Hypervisor Enforced Kernel Integrity (Heki)"
 	depends on ARCH_SUPPORTS_HEKI && HYPERVISOR_SUPPORTS_HEKI
+	select KVM_GENERIC_MEMORY_ATTRIBUTES
 	help
 	  This feature enhances guest virtual machine security by taking
 	  advantage of security features provided by the hypervisor for guests.
diff --git a/virt/lib/kvm_permissions.c b/virt/lib/kvm_permissions.c
new file mode 100644
index 000000000000..9f4e8027d21c
--- /dev/null
+++ b/virt/lib/kvm_permissions.c
@@ -0,0 +1,104 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * KVM guest page permissions - functions.
+ *
+ * Copyright © 2023 Microsoft Corporation.
+ */
+#include <linux/kvm_host.h>
+#include <linux/kvm_mem_attr.h>
+
+#ifdef pr_fmt
+#undef pr_fmt
+#endif
+
+#define pr_fmt(fmt) "kvm: heki: " fmt
+
+/* clang-format off */
+
+static unsigned long kvm_default_permissions =
+	MEM_ATTR_READ |
+	MEM_ATTR_WRITE |
+	MEM_ATTR_EXEC;
+
+static unsigned long kvm_memory_attributes_heki =
+	KVM_MEMORY_ATTRIBUTE_HEKI_READ |
+	KVM_MEMORY_ATTRIBUTE_HEKI_WRITE |
+	KVM_MEMORY_ATTRIBUTE_HEKI_EXEC |
+	KVM_MEMORY_ATTRIBUTE_HEKI_IMMUTABLE;
+
+/* clang-format on */
+
+static unsigned long heki_attr_to_kvm_attr(unsigned long heki_attr)
+{
+	unsigned long kvm_attr = 0;
+
+	if (WARN_ON_ONCE((heki_attr | MEM_ATTR_PROT) != MEM_ATTR_PROT))
+		return 0;
+
+	if (heki_attr & MEM_ATTR_READ)
+		kvm_attr |= KVM_MEMORY_ATTRIBUTE_HEKI_READ;
+	if (heki_attr & MEM_ATTR_WRITE)
+		kvm_attr |= KVM_MEMORY_ATTRIBUTE_HEKI_WRITE;
+	if (heki_attr & MEM_ATTR_EXEC)
+		kvm_attr |= KVM_MEMORY_ATTRIBUTE_HEKI_EXEC;
+	if (heki_attr & MEM_ATTR_IMMUTABLE)
+		kvm_attr |= KVM_MEMORY_ATTRIBUTE_HEKI_IMMUTABLE;
+	return kvm_attr;
+}
+
+static unsigned long kvm_attr_to_heki_attr(unsigned long kvm_attr)
+{
+	unsigned long heki_attr = 0;
+
+	if (kvm_attr & KVM_MEMORY_ATTRIBUTE_HEKI_READ)
+		heki_attr |= MEM_ATTR_READ;
+	if (kvm_attr & KVM_MEMORY_ATTRIBUTE_HEKI_WRITE)
+		heki_attr |= MEM_ATTR_WRITE;
+	if (kvm_attr & KVM_MEMORY_ATTRIBUTE_HEKI_EXEC)
+		heki_attr |= MEM_ATTR_EXEC;
+	if (kvm_attr & KVM_MEMORY_ATTRIBUTE_HEKI_IMMUTABLE)
+		heki_attr |= MEM_ATTR_IMMUTABLE;
+	return heki_attr;
+}
+
+unsigned long kvm_permissions_get(struct kvm *kvm, gfn_t gfn)
+{
+	unsigned long kvm_attr = 0;
+
+	/*
+	 * Retrieve the permissions for a guest page. If not present (i.e., no
+	 * attribute), then return default permissions (RWX).  This means
+	 * setting permissions to 0 resets them to RWX. We might want to
+	 * revisit that in a future version.
+	 */
+	kvm_attr = kvm_get_memory_attributes(kvm, gfn);
+	if (kvm_attr)
+		return kvm_attr_to_heki_attr(kvm_attr);
+	else
+		return kvm_default_permissions;
+}
+EXPORT_SYMBOL_GPL(kvm_permissions_get);
+
+int kvm_permissions_set(struct kvm *kvm, gfn_t gfn_start, gfn_t gfn_end,
+			unsigned long heki_attr)
+{
+	if ((heki_attr | MEM_ATTR_PROT) != MEM_ATTR_PROT)
+		return -EINVAL;
+
+	if (gfn_end <= gfn_start)
+		return -EINVAL;
+
+	if (kvm_range_has_memory_attributes(kvm, gfn_start, gfn_end,
+					    KVM_MEMORY_ATTRIBUTE_HEKI_IMMUTABLE,
+					    false)) {
+		pr_warn_ratelimited(
+			"Guest tried to change immutable permission for GFNs %llx-%llx\n",
+			gfn_start, gfn_end);
+		return -EPERM;
+	}
+
+	return kvm_vm_set_mem_attributes(kvm, gfn_start, gfn_end,
+					 heki_attr_to_kvm_attr(heki_attr),
+					 kvm_memory_attributes_heki);
+}
+EXPORT_SYMBOL_GPL(kvm_permissions_set);
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:34:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631276.984423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2MmH-0007yX-5Y; Mon, 13 Nov 2023 02:34:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631276.984423; Mon, 13 Nov 2023 02:34: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 1r2MmH-0007yQ-2y; Mon, 13 Nov 2023 02:34:17 +0000
Received: by outflank-mailman (input) for mailman id 631276;
 Mon, 13 Nov 2023 02:34: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Mcy-00011s-Ix
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:40 +0000
Received: from smtp-bc0c.mail.infomaniak.ch (smtp-bc0c.mail.infomaniak.ch
 [2001:1600:4:17::bc0c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cbafeb58-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:39 +0100 (CET)
Received: from smtp-3-0000.mail.infomaniak.ch (unknown [10.4.36.107])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtb03xVzMpvcL;
 Mon, 13 Nov 2023 02:24:39 +0000 (UTC)
Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtY6j2Kz3W; Mon, 13 Nov 2023 03:24:37 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbafeb58-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842278;
	bh=udX3yMbRw+y6U4YMfanKu8XE/62XvcB7w1fSqqDyDOI=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=JKmMqdlijgI0WHD2CFxV/y7DWfB+LUKrwQo0xOX8EfXAZsvA9YZ7OO5gDS9iDz+rl
	 OhhkExnEBcdos98SON70W/UL9RJeu0hGR5koDZT8lkh5am5LEoQnacmgelAtWgQqxy
	 GoKDTdCaRbpksDhhbdbuDq2zFJFNL69+pG5malPA=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 12/19] x86: Implement the Memory Table feature to store arbitrary per-page data
Date: Sun, 12 Nov 2023 21:23:19 -0500
Message-ID: <20231113022326.24388-13-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

This feature can be used by a consumer to associate any arbitrary
pointer with a physical page. The feature implements a page table format
that mirrors the hardware page table. A leaf entry in the table points
to consumer data for that page.

The page table format has these advantages:

- The format allows for a sparse representation. This is useful since
  the physical address space can be large and is typically sparsely
  populated in a system.

- A consumer of this feature can choose to populate data just for the
  pages he is interested in.

- Information can be stored for large pages, if a consumer wishes.

For instance, for Heki, the guest kernel uses this to create permissions
counters for each guest physical page. The permissions counters reflects
the collective permissions for a guest physical page across all mappings
to that page. This allows the guest to request the hypervisor to set
only the necessary permissions for a guest physical page in the EPT
(instead of RWX).

This feature could also be used to improve the KVM's memory attribute
and the write page tracking.

We will support large page entries in mem_table in a future version
thanks to extra mem_table_ops's merge() and split() operations.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Mickaël Salaün <mic@digikod.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
---

Changes since v1:
* New patch and new file: kernel/mem_table.c
---
 arch/x86/kernel/setup.c   |   2 +
 include/linux/heki.h      |   1 +
 include/linux/mem_table.h |  55 ++++++++++
 kernel/Makefile           |   2 +
 kernel/mem_table.c        | 219 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 279 insertions(+)
 create mode 100644 include/linux/mem_table.h
 create mode 100644 kernel/mem_table.c

diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c
index b098b1fa2470..e7ae46953ae4 100644
--- a/arch/x86/kernel/setup.c
+++ b/arch/x86/kernel/setup.c
@@ -25,6 +25,7 @@
 #include <linux/static_call.h>
 #include <linux/swiotlb.h>
 #include <linux/random.h>
+#include <linux/mem_table.h>
 
 #include <uapi/linux/mount.h>
 
@@ -1315,6 +1316,7 @@ void __init setup_arch(char **cmdline_p)
 #endif
 
 	unwind_init();
+	mem_table_init(PG_LEVEL_4K);
 }
 
 #ifdef CONFIG_X86_32
diff --git a/include/linux/heki.h b/include/linux/heki.h
index 89cc9273a968..9b0c966c50d1 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -15,6 +15,7 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/printk.h>
+#include <linux/slab.h>
 
 #ifdef CONFIG_HEKI
 
diff --git a/include/linux/mem_table.h b/include/linux/mem_table.h
new file mode 100644
index 000000000000..738bf12309f3
--- /dev/null
+++ b/include/linux/mem_table.h
@@ -0,0 +1,55 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Memory table feature - Definitions.
+ *
+ * Copyright © 2023 Microsoft Corporation.
+ */
+
+#ifndef __MEM_TABLE_H__
+#define __MEM_TABLE_H__
+
+/* clang-format off */
+
+/*
+ * The MEM_TABLE bit is set on entries that point to an intermediate table.
+ * So, this bit is reserved. This means that pointers to consumer data must
+ * be at least two-byte aligned (so the MEM_TABLE bit is 0).
+ */
+#define MEM_TABLE		BIT(0)
+#define IS_LEAF(entry)		!((uintptr_t)entry & MEM_TABLE)
+
+/* clang-format on */
+
+/*
+ * A memory table is arranged exactly like a page table. The memory table
+ * configuration reflects the hardware page table configuration.
+ */
+
+/* Parameters at each level of the memory table hierarchy. */
+struct mem_table_level {
+	unsigned int number;
+	unsigned int nentries;
+	unsigned int shift;
+	unsigned int mask;
+};
+
+struct mem_table {
+	struct mem_table_level *level;
+	struct mem_table_ops *ops;
+	bool changed;
+	void *entries[];
+};
+
+/* Operations that need to be supplied by a consumer of memory tables. */
+struct mem_table_ops {
+	void (*free)(void *buf);
+};
+
+void mem_table_init(unsigned int base_level);
+struct mem_table *mem_table_alloc(struct mem_table_ops *ops);
+void mem_table_free(struct mem_table *table);
+void **mem_table_create(struct mem_table *table, phys_addr_t pa);
+void **mem_table_find(struct mem_table *table, phys_addr_t pa,
+		      unsigned int *level_num);
+
+#endif /* __MEM_TABLE_H__ */
diff --git a/kernel/Makefile b/kernel/Makefile
index 3947122d618b..dcef03ec5c54 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -131,6 +131,8 @@ obj-$(CONFIG_WATCH_QUEUE) += watch_queue.o
 obj-$(CONFIG_RESOURCE_KUNIT_TEST) += resource_kunit.o
 obj-$(CONFIG_SYSCTL_KUNIT_TEST) += sysctl-test.o
 
+obj-$(CONFIG_SPARSEMEM) += mem_table.o
+
 CFLAGS_stackleak.o += $(DISABLE_STACKLEAK_PLUGIN)
 obj-$(CONFIG_GCC_PLUGIN_STACKLEAK) += stackleak.o
 KASAN_SANITIZE_stackleak.o := n
diff --git a/kernel/mem_table.c b/kernel/mem_table.c
new file mode 100644
index 000000000000..280a1b5ddde0
--- /dev/null
+++ b/kernel/mem_table.c
@@ -0,0 +1,219 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Memory table feature.
+ *
+ * This feature can be used by a consumer to associate any arbitrary pointer
+ * with a physical page. The feature implements a page table format that
+ * mirrors the hardware page table. A leaf entry in the table points to
+ * consumer data for that page.
+ *
+ * The page table format has these advantages:
+ *
+ *	- The format allows for a sparse representation. This is useful since
+ *	  the physical address space can be large and is typically sparsely
+ *	  populated in a system.
+ *
+ *	- A consumer of this feature can choose to populate data just for
+ *	  the pages he is interested in.
+ *
+ *	- Information can be stored for large pages, if a consumer wishes.
+ *
+ * For instance, for Heki, the guest kernel uses this to create permissions
+ * counters for each guest physical page. The permissions counters reflects the
+ * collective permissions for a guest physical page across all mappings to that
+ * page. This allows the guest to request the hypervisor to set only the
+ * necessary permissions for a guest physical page in the EPT (instead of RWX).
+ *
+ * Copyright © 2023 Microsoft Corporation.
+ */
+
+/*
+ * Memory table functions use recursion for simplicity. The recursion is bounded
+ * by the number of hardware page table levels.
+ *
+ * Locking is left to the caller of these functions.
+ */
+#include <linux/heki.h>
+#include <linux/mem_table.h>
+#include <linux/pgtable.h>
+
+#define TABLE(entry) ((void *)((uintptr_t)entry & ~MEM_TABLE))
+#define ENTRY(table) ((void *)((uintptr_t)table | MEM_TABLE))
+
+/*
+ * Within this feature, the table levels start from 0. On X86, the base level
+ * is not 0.
+ */
+unsigned int mem_table_base_level __ro_after_init;
+unsigned int mem_table_nlevels __ro_after_init;
+struct mem_table_level mem_table_levels[CONFIG_PGTABLE_LEVELS] __ro_after_init;
+
+void __init mem_table_init(unsigned int base_level)
+{
+	struct mem_table_level *level;
+	unsigned long shift, delta_shift;
+	int physmem_bits;
+	int i, max_levels;
+
+	/*
+	 * Compute the actual number of levels present. Compute the parameters
+	 * for each level.
+	 */
+	shift = ilog2(PAGE_SIZE);
+	physmem_bits = PAGE_SHIFT;
+	max_levels = CONFIG_PGTABLE_LEVELS;
+
+	for (i = 0; i < max_levels && physmem_bits < MAX_PHYSMEM_BITS; i++) {
+		level = &mem_table_levels[i];
+
+		switch (i) {
+		case 0:
+			level->nentries = PTRS_PER_PTE;
+			break;
+		case 1:
+			level->nentries = PTRS_PER_PMD;
+			break;
+		case 2:
+			level->nentries = PTRS_PER_PUD;
+			break;
+		case 3:
+			level->nentries = PTRS_PER_P4D;
+			break;
+		case 4:
+			level->nentries = PTRS_PER_PGD;
+			break;
+		}
+		level->number = i;
+		level->shift = shift;
+		level->mask = level->nentries - 1;
+
+		delta_shift = ilog2(level->nentries);
+		shift += delta_shift;
+		physmem_bits += delta_shift;
+	}
+	mem_table_nlevels = i;
+	mem_table_base_level = base_level;
+}
+
+struct mem_table *mem_table_alloc(struct mem_table_ops *ops)
+{
+	struct mem_table_level *level;
+	struct mem_table *table;
+
+	level = &mem_table_levels[mem_table_nlevels - 1];
+
+	table = kzalloc(struct_size(table, entries, level->nentries),
+			GFP_KERNEL);
+	if (table) {
+		table->level = level;
+		table->ops = ops;
+		return table;
+	}
+	return NULL;
+}
+EXPORT_SYMBOL_GPL(mem_table_alloc);
+
+static void _mem_table_free(struct mem_table *table)
+{
+	struct mem_table_level *level = table->level;
+	void **entries = table->entries;
+	struct mem_table_ops *ops = table->ops;
+	int i;
+
+	for (i = 0; i < level->nentries; i++) {
+		if (!entries[i])
+			continue;
+		if (IS_LEAF(entries[i])) {
+			/* The consumer frees the pointer. */
+			ops->free(entries[i]);
+			continue;
+		}
+		_mem_table_free(TABLE(entries[i]));
+	}
+	kfree(table);
+}
+
+void mem_table_free(struct mem_table *table)
+{
+	_mem_table_free(table);
+}
+EXPORT_SYMBOL_GPL(mem_table_free);
+
+static void **_mem_table_find(struct mem_table *table, phys_addr_t pa,
+			      unsigned int *level_number)
+{
+	struct mem_table_level *level = table->level;
+	void **entries = table->entries;
+	unsigned long i;
+
+	i = (pa >> level->shift) & level->mask;
+
+	*level_number = level->number;
+	if (!entries[i])
+		return NULL;
+
+	if (IS_LEAF(entries[i]))
+		return &entries[i];
+
+	return _mem_table_find(TABLE(entries[i]), pa, level_number);
+}
+
+void **mem_table_find(struct mem_table *table, phys_addr_t pa,
+		      unsigned int *level_number)
+{
+	void **entry;
+
+	entry = _mem_table_find(table, pa, level_number);
+	level_number += mem_table_base_level;
+
+	return entry;
+}
+EXPORT_SYMBOL_GPL(mem_table_find);
+
+static void **_mem_table_create(struct mem_table *table, phys_addr_t pa)
+{
+	struct mem_table_level *level = table->level;
+	void **entries = table->entries;
+	unsigned long i;
+
+	table->changed = true;
+	i = (pa >> level->shift) & level->mask;
+
+	if (!level->number) {
+		/*
+		 * Reached the lowest level. Return a pointer to the entry
+		 * so that the consumer can populate it.
+		 */
+		return &entries[i];
+	}
+
+	/*
+	 * If the entry is NULL, then create a lower level table and make the
+	 * entry point to it. Or, if the entry is a leaf, then we need to
+	 * split the entry. In this case as well, create a lower level table
+	 * to split the entry.
+	 */
+	if (!entries[i] || IS_LEAF(entries[i])) {
+		struct mem_table *next;
+
+		/* Create next level table. */
+		level--;
+		next = kzalloc(struct_size(table, entries, level->nentries),
+			       GFP_KERNEL);
+		if (!next)
+			return NULL;
+
+		next->level = level;
+		next->ops = table->ops;
+		next->changed = true;
+		entries[i] = ENTRY(next);
+	}
+
+	return _mem_table_create(TABLE(entries[i]), pa);
+}
+
+void **mem_table_create(struct mem_table *table, phys_addr_t pa)
+{
+	return _mem_table_create(table, pa);
+}
+EXPORT_SYMBOL_GPL(mem_table_create);
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:34:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:34:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631279.984433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mmg-00007c-Hx; Mon, 13 Nov 2023 02:34:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631279.984433; Mon, 13 Nov 2023 02: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 1r2Mmg-00007V-FK; Mon, 13 Nov 2023 02:34:42 +0000
Received: by outflank-mailman (input) for mailman id 631279;
 Mon, 13 Nov 2023 02:34: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Md3-0000Y9-A1
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:45 +0000
Received: from smtp-bc0e.mail.infomaniak.ch (smtp-bc0e.mail.infomaniak.ch
 [45.157.188.14]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cde12161-81cb-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 03:24:43 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtf4t44zMpvd2;
 Mon, 13 Nov 2023 02:24:42 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtd2zG3zMpnPr; Mon, 13 Nov 2023 03:24:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cde12161-81cb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842282;
	bh=hEzwbKiCPTVRprt7TA2n5SNi5zwGnb2iVWTsgeipVHE=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=K6v5KJH9jR6IiLGfGMDtfMvhMpsRKAlNdnYP3VLP1tQYDJsD9yOa1l7BiqESRCqDJ
	 cmZYiFVvTDYPtiXd2tBOhB0CrMCZj3y2+qczeM+o9M04Idv7FHkodSM7IbhjzC/hXd
	 PiK+ofD1UU5HDgZ8vthIvlYSVcyE4os40daGAPbA=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 13/19] heki: Implement a kernel page table walker
Date: Sun, 12 Nov 2023 21:23:20 -0500
Message-ID: <20231113022326.24388-14-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

The Heki feature needs to do the following:

- Find kernel mappings.

- Determine the permissions associated with each mapping.

- Determine the collective permissions for a guest physical page across
  all of its mappings.

This way, a guest physical page can reflect only the required
permissions in the EPT thanks to the KVM_HC_PROTECT_MEMORY hypercall..

Implement a kernel page table walker that walks all of the kernel
mappings and calls a callback function for each mapping.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Co-developed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
---

Change since v1:
* New patch and new file: virt/heki/walk.c
---
 include/linux/heki.h |  16 +++++
 virt/heki/Makefile   |   1 +
 virt/heki/walk.c     | 140 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 157 insertions(+)
 create mode 100644 virt/heki/walk.c

diff --git a/include/linux/heki.h b/include/linux/heki.h
index 9b0c966c50d1..a7ae0b387dfe 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -61,6 +61,22 @@ struct heki {
 	struct heki_hypervisor *hypervisor;
 };
 
+/*
+ * The kernel page table is walked to locate kernel mappings. For each
+ * mapping, a callback function is called. The table walker passes information
+ * about the mapping to the callback using this structure.
+ */
+struct heki_args {
+	/* Information passed by the table walker to the callback. */
+	unsigned long va;
+	phys_addr_t pa;
+	size_t size;
+	unsigned long flags;
+};
+
+/* Callback function called by the table walker. */
+typedef void (*heki_func_t)(struct heki_args *args);
+
 extern struct heki heki;
 extern bool heki_enabled;
 
diff --git a/virt/heki/Makefile b/virt/heki/Makefile
index 354e567df71c..a5daa4ff7a4f 100644
--- a/virt/heki/Makefile
+++ b/virt/heki/Makefile
@@ -1,3 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
 
 obj-y += main.o
+obj-y += walk.o
diff --git a/virt/heki/walk.c b/virt/heki/walk.c
new file mode 100644
index 000000000000..e10b54226fcc
--- /dev/null
+++ b/virt/heki/walk.c
@@ -0,0 +1,140 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Hypervisor Enforced Kernel Integrity (Heki) - Kernel page table walker.
+ *
+ * Copyright © 2023 Microsoft Corporation
+ *
+ * Cf. arch/x86/mm/init_64.c
+ */
+
+#include <linux/heki.h>
+#include <linux/pgtable.h>
+
+static void heki_walk_pte(pmd_t *pmd, unsigned long va, unsigned long va_end,
+			  heki_func_t func, struct heki_args *args)
+{
+	pte_t *pte;
+	unsigned long next_va;
+
+	for (pte = pte_offset_kernel(pmd, va); va < va_end;
+	     va = next_va, pte++) {
+		next_va = (va + PAGE_SIZE) & PAGE_MASK;
+
+		if (next_va > va_end)
+			next_va = va_end;
+
+		if (!pte_present(*pte))
+			continue;
+
+		args->va = va;
+		args->pa = pte_pfn(*pte) << PAGE_SHIFT;
+		args->size = PAGE_SIZE;
+		args->flags = pte_flags(*pte);
+
+		func(args);
+	}
+}
+
+static void heki_walk_pmd(pud_t *pud, unsigned long va, unsigned long va_end,
+			  heki_func_t func, struct heki_args *args)
+{
+	pmd_t *pmd;
+	unsigned long next_va;
+
+	for (pmd = pmd_offset(pud, va); va < va_end; va = next_va, pmd++) {
+		next_va = pmd_addr_end(va, va_end);
+
+		if (!pmd_present(*pmd))
+			continue;
+
+		if (pmd_large(*pmd)) {
+			args->va = va;
+			args->pa = pmd_pfn(*pmd) << PAGE_SHIFT;
+			args->pa += va & (PMD_SIZE - 1);
+			args->size = next_va - va;
+			args->flags = pmd_flags(*pmd);
+
+			func(args);
+		} else {
+			heki_walk_pte(pmd, va, next_va, func, args);
+		}
+	}
+}
+
+static void heki_walk_pud(p4d_t *p4d, unsigned long va, unsigned long va_end,
+			  heki_func_t func, struct heki_args *args)
+{
+	pud_t *pud;
+	unsigned long next_va;
+
+	for (pud = pud_offset(p4d, va); va < va_end; va = next_va, pud++) {
+		next_va = pud_addr_end(va, va_end);
+
+		if (!pud_present(*pud))
+			continue;
+
+		if (pud_large(*pud)) {
+			args->va = va;
+			args->pa = pud_pfn(*pud) << PAGE_SHIFT;
+			args->pa += va & (PUD_SIZE - 1);
+			args->size = next_va - va;
+			args->flags = pud_flags(*pud);
+
+			func(args);
+		} else {
+			heki_walk_pmd(pud, va, next_va, func, args);
+		}
+	}
+}
+
+static void heki_walk_p4d(pgd_t *pgd, unsigned long va, unsigned long va_end,
+			  heki_func_t func, struct heki_args *args)
+{
+	p4d_t *p4d;
+	unsigned long next_va;
+
+	for (p4d = p4d_offset(pgd, va); va < va_end; va = next_va, p4d++) {
+		next_va = p4d_addr_end(va, va_end);
+
+		if (!p4d_present(*p4d))
+			continue;
+
+		if (p4d_large(*p4d)) {
+			args->va = va;
+			args->pa = p4d_pfn(*p4d) << PAGE_SHIFT;
+			args->pa += va & (P4D_SIZE - 1);
+			args->size = next_va - va;
+			args->flags = p4d_flags(*p4d);
+
+			func(args);
+		} else {
+			heki_walk_pud(p4d, va, next_va, func, args);
+		}
+	}
+}
+
+void heki_walk(unsigned long va, unsigned long va_end, heki_func_t func,
+	       struct heki_args *args)
+{
+	pgd_t *pgd;
+	unsigned long next_va;
+
+	for (pgd = pgd_offset_k(va); va < va_end; va = next_va, pgd++) {
+		next_va = pgd_addr_end(va, va_end);
+
+		if (!pgd_present(*pgd))
+			continue;
+
+		if (pgd_large(*pgd)) {
+			args->va = va;
+			args->pa = pgd_pfn(*pgd) << PAGE_SHIFT;
+			args->pa += va & (PGDIR_SIZE - 1);
+			args->size = next_va - va;
+			args->flags = pgd_flags(*pgd);
+
+			func(args);
+		} else {
+			heki_walk_p4d(pgd, va, next_va, func, args);
+		}
+	}
+}
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:35:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:35:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631281.984444 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2MnM-0000jm-RF; Mon, 13 Nov 2023 02:35:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631281.984444; Mon, 13 Nov 2023 02: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 1r2MnM-0000jf-OX; Mon, 13 Nov 2023 02:35:24 +0000
Received: by outflank-mailman (input) for mailman id 631281;
 Mon, 13 Nov 2023 02:35: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 1r2MnL-0000jR-GW; Mon, 13 Nov 2023 02:35: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 1r2MnL-0003U7-Aa; Mon, 13 Nov 2023 02:35: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 1r2MnK-0004GK-Qz; Mon, 13 Nov 2023 02:35:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2MnK-0000p2-QW; Mon, 13 Nov 2023 02:35: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=sljAZupMHRJX7uHcWW2VOV9YpxJ2rZJBe2sEGRAK+t8=; b=3AGOb2YTLn7CPlow/m7IYIjvs1
	npFC/KC0muCBBTTZpqNsbqQOrR8FZXl5/Px9Nt/o4rCy5lmLgOWQs8/rx1Nnwm0sjYV2/Uf6vJjGD
	w9g9NswId5THrmSh85WjYsn9FhRbDFx67ne3ntqy9qcuOZu8fCTobezTA8XBAWRzN1Ec=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183738-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183738: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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: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-credit1:migrate-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-libvirt-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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-credit2:migrate-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-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-libvirt-raw:migrate-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-libvirt-qcow2: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
X-Osstest-Versions-This:
    linux=b57b17e88bf58860dad312d08db7d6708ee6d06d
X-Osstest-Versions-That:
    linux=1b907d0507354b74a4f2c286380cd6059af79248
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Nov 2023 02:35:22 +0000

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

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 183736
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183736
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183736
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183736
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183736
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183736
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183736
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183736
 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-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-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-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-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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-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-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-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-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-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:
 linux                b57b17e88bf58860dad312d08db7d6708ee6d06d
baseline version:
 linux                1b907d0507354b74a4f2c286380cd6059af79248

Last test of basis   183736  2023-11-12 01:42:22 Z    1 days
Testing same since   183738  2023-11-12 19:43:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Arnd Bergmann <arnd@arndb.de>
  Helge Deller <deller@gmx.de>
  Hengqi Chen <hengqi.chen@gmail.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Michael Ellerman <mpe@ellerman.id.au>
  Nathan Chancellor <nathan@kernel.org>
  Nathan Lynch <nathanl@linux.ibm.com>
  Sudip Mukherjee <sudipm.mukherjee@gmail.com>
  Thomas Zimmermann <tzimmermann@suse.de>
  WANG Rui <wangrui@loongson.cn>

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-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-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
   1b907d050735..b57b17e88bf5  b57b17e88bf58860dad312d08db7d6708ee6d06d -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:36:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:36:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631285.984454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mnx-0001Qk-6h; Mon, 13 Nov 2023 02:36:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631285.984454; Mon, 13 Nov 2023 02:36: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 1r2Mnx-0001Qd-3H; Mon, 13 Nov 2023 02:36:01 +0000
Received: by outflank-mailman (input) for mailman id 631285;
 Mon, 13 Nov 2023 02:35: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Mcw-00011s-2J
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:38 +0000
Received: from smtp-190f.mail.infomaniak.ch (smtp-190f.mail.infomaniak.ch
 [2001:1600:3:17::190f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c9a5a80e-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:36 +0100 (CET)
Received: from smtp-3-0000.mail.infomaniak.ch (unknown [10.4.36.107])
 by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtW49lkzMq2Gn;
 Mon, 13 Nov 2023 02:24:35 +0000 (UTC)
Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtV157dz3W; Mon, 13 Nov 2023 03:24:34 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c9a5a80e-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842275;
	bh=o9nqKbiugyVsavDfBV6aqCgZeoXT/7P+XJT3zGIQ/Fs=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=Wqdj2+CUV44d4HuZMwuSPZXcGHSanzUo3Ulx4D8YehMH9U5vcbFl7jLW7UcFqNia4
	 y2LVudO16hFYsUqLi3Nu+P7n0Bmi1mQVJg9RF5u2Z1azQ1wphiWgO5ISohde0JzGD5
	 Oin1vdzYOHYknvXN+6DvT1FtaqYxe8GF44LgGvKQ=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 11/19] KVM: x86: Add new hypercall to set EPT permissions
Date: Sun, 12 Nov 2023 21:23:18 -0500
Message-ID: <20231113022326.24388-12-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

Add a new KVM_HC_PROTECT_MEMORY hypercall that enables a guest to set
EPT permissions for guest pages.

Until now, all of the guest pages (except Page Tracked pages) are given
RWX permissions in the EPT. In Heki, we want to restrict the permissions
to what is strictly needed. For instance, a text page only needs R_X. A
read-only data page only needs R__. A normal data page only needs RW_.

The guest will pass a page list to the hypercall. The page list is a
list of one or more physical pages each of which contains a array of
guest ranges and attributes. Currently, the attributes only contain
permissions. In the future, other attributes may be added.  The
hypervisor will apply the specified permissions in the EPT.

When a guest try to access its memory in a way which is not allowed, KVM
creates a synthetic kernel page fault. This fault should be handled by
the guest, which is not currently the case, making it try again and
again.  This will be part of a follow-up patch series.

When enabled, KASAN reveals a bug in the memory attributes patches. We
didn't find the source of this issue yet.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Co-developed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
---

Changes since v1:

The original hypercall contained support for statically defined sections
(text, rodata, etc). It has been redesigned like this:

- The previous version accepted an array of physically contiguous
  ranges. This is appropriate for statically defined sections which are
  loaded in contiguous memory.  But, for other cases like module
  loading, the pages would be discontiguous. The current version of the
  hypercall accepts a page list to fix this.

- The previous version passed permission combinations. E.g.,
  HEKI_MEM_ATTR_EXEC would imply R_X. The current version passes
  permissions as memory attributes and each of the permissions must be
  separately specified. E.g., for text, (MEM_ATTR_READ | MEM_ATTR_EXEC)
  must be passed.

- The previous version locked down the permissions for guest pages so
  that once the permissions are set, they cannot be changed. In this
  version, permissions can be changed dynamically, except when the
  MEM_ATTR_IMMUTABLE is set.  So, the hypercall has been renamed from
  KVM_HC_LOCK_MEM_PAGE_RANGES to KVM_HC_PROTECT_MEMORY. The dynamic
  setting of permissions is needed by the following features (probably
  not a complete list):
  - Kprobes and Optprobes
  - Static call optimization
  - Jump Label optimization
  - Ftrace and Livepatch
  - Module loading and unloading
  - eBPF JIT
  - Kexec
  - Kgdb

Examples:
- A text page can be made writable very briefly to install a probe or a
  trace.
- eBPF JIT can populate a writable page with code and make it
  read-execute.
- Module load can load read-only data into a writable page and make the
  page read-only.
- When pages are unmapped, their permissions in the EPT must revert to
  read-write.
---
 Documentation/virt/kvm/x86/hypercalls.rst |  14 +++
 arch/x86/kvm/mmu/mmu.c                    |  77 +++++++++++++
 arch/x86/kvm/mmu/paging_tmpl.h            |   3 +
 arch/x86/kvm/mmu/spte.c                   |  15 ++-
 arch/x86/kvm/x86.c                        | 130 ++++++++++++++++++++++
 include/linux/heki.h                      |  29 +++++
 include/uapi/linux/kvm_para.h             |   1 +
 7 files changed, 267 insertions(+), 2 deletions(-)

diff --git a/Documentation/virt/kvm/x86/hypercalls.rst b/Documentation/virt/kvm/x86/hypercalls.rst
index 3178576f4c47..28865d111773 100644
--- a/Documentation/virt/kvm/x86/hypercalls.rst
+++ b/Documentation/virt/kvm/x86/hypercalls.rst
@@ -207,3 +207,17 @@ The hypercall lets a guest request control register flags to be pinned for
 itself.
 
 Returns 0 on success or a KVM error code otherwise.
+
+10. KVM_HC_PROTECT_MEMORY
+-------------------------
+
+:Architecture: x86
+:Status: active
+:Purpose: Request permissions to be set in EPT
+
+- a0: physical address of a struct heki_page_list
+
+The hypercall lets a guest request memory permissions to be set for a list
+of physical pages.
+
+Returns 0 on success or a KVM error code otherwise.
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index 2024ff21d036..2d09bcc35462 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -47,9 +47,11 @@
 #include <linux/sched/signal.h>
 #include <linux/uaccess.h>
 #include <linux/hash.h>
+#include <linux/heki.h>
 #include <linux/kern_levels.h>
 #include <linux/kstrtox.h>
 #include <linux/kthread.h>
+#include <linux/kvm_mem_attr.h>
 
 #include <asm/page.h>
 #include <asm/memtype.h>
@@ -4446,6 +4448,75 @@ static bool is_page_fault_stale(struct kvm_vcpu *vcpu,
 	       mmu_invalidate_retry_gfn(vcpu->kvm, fault->mmu_seq, fault->gfn);
 }
 
+static bool mem_attr_fault(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault)
+{
+	unsigned long perm;
+	bool noexec, nowrite;
+
+	if (unlikely(fault->rsvd))
+		return false;
+
+	if (!fault->present)
+		return false;
+
+	perm = kvm_permissions_get(vcpu->kvm, fault->gfn);
+	noexec = !(perm & MEM_ATTR_EXEC);
+	nowrite = !(perm & MEM_ATTR_WRITE);
+
+	if (fault->exec && noexec) {
+		struct x86_exception exception = {
+			.vector = PF_VECTOR,
+			.error_code_valid = true,
+			.error_code = fault->error_code,
+			.nested_page_fault = false,
+			/*
+			 * TODO: This kind of kernel page fault needs to be
+			 * handled by the guest, which is not currently the
+			 * case, making it try again and again.
+			 *
+			 * You may want to test with cr2_or_gva to see the page
+			 * fault caught by the guest kernel (thinking it is a
+			 * user space fault).
+			 */
+			.address = static_call(kvm_x86_fault_gva)(vcpu),
+			.async_page_fault = false,
+		};
+
+		pr_warn_ratelimited(
+			"heki: Creating fetch #PF at 0x%016llx GFN=%llx\n",
+			exception.address, fault->gfn);
+		kvm_inject_page_fault(vcpu, &exception);
+		return true;
+	}
+
+	if (fault->write && nowrite) {
+		struct x86_exception exception = {
+			.vector = PF_VECTOR,
+			.error_code_valid = true,
+			.error_code = fault->error_code,
+			.nested_page_fault = false,
+			/*
+			 * TODO: This kind of kernel page fault needs to be
+			 * handled by the guest, which is not currently the
+			 * case, making it try again and again.
+			 *
+			 * You may want to test with cr2_or_gva to see the page
+			 * fault caught by the guest kernel (thinking it is a
+			 * user space fault).
+			 */
+			.address = static_call(kvm_x86_fault_gva)(vcpu),
+			.async_page_fault = false,
+		};
+
+		pr_warn_ratelimited(
+			"heki: Creating write #PF at 0x%016llx GFN=%llx\n",
+			exception.address, fault->gfn);
+		kvm_inject_page_fault(vcpu, &exception);
+		return true;
+	}
+	return false;
+}
+
 static int direct_page_fault(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault)
 {
 	int r;
@@ -4457,6 +4528,9 @@ static int direct_page_fault(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault
 	if (page_fault_handle_page_track(vcpu, fault))
 		return RET_PF_EMULATE;
 
+	if (mem_attr_fault(vcpu, fault))
+		return RET_PF_RETRY;
+
 	r = fast_page_fault(vcpu, fault);
 	if (r != RET_PF_INVALID)
 		return r;
@@ -4537,6 +4611,9 @@ static int kvm_tdp_mmu_page_fault(struct kvm_vcpu *vcpu,
 	if (page_fault_handle_page_track(vcpu, fault))
 		return RET_PF_EMULATE;
 
+	if (mem_attr_fault(vcpu, fault))
+		return RET_PF_RETRY;
+
 	r = fast_page_fault(vcpu, fault);
 	if (r != RET_PF_INVALID)
 		return r;
diff --git a/arch/x86/kvm/mmu/paging_tmpl.h b/arch/x86/kvm/mmu/paging_tmpl.h
index 08f0c8d28245..49e8295d62dd 100644
--- a/arch/x86/kvm/mmu/paging_tmpl.h
+++ b/arch/x86/kvm/mmu/paging_tmpl.h
@@ -820,6 +820,9 @@ static int FNAME(page_fault)(struct kvm_vcpu *vcpu, struct kvm_page_fault *fault
 		return RET_PF_EMULATE;
 	}
 
+	if (mem_attr_fault(vcpu, fault))
+		return RET_PF_RETRY;
+
 	r = mmu_topup_memory_caches(vcpu, true);
 	if (r)
 		return r;
diff --git a/arch/x86/kvm/mmu/spte.c b/arch/x86/kvm/mmu/spte.c
index 386cc1e8aab9..d72dc149424c 100644
--- a/arch/x86/kvm/mmu/spte.c
+++ b/arch/x86/kvm/mmu/spte.c
@@ -10,6 +10,7 @@
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 #include <linux/kvm_host.h>
+#include <linux/kvm_mem_attr.h>
 #include "mmu.h"
 #include "mmu_internal.h"
 #include "x86.h"
@@ -143,6 +144,11 @@ bool make_spte(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
 	int level = sp->role.level;
 	u64 spte = SPTE_MMU_PRESENT_MASK;
 	bool wrprot = false;
+	unsigned long perm;
+
+	perm = kvm_permissions_get(vcpu->kvm, gfn);
+	if (!(perm & MEM_ATTR_WRITE))
+		pte_access &= ~ACC_WRITE_MASK;
 
 	WARN_ON_ONCE(!pte_access && !shadow_present_mask);
 
@@ -178,10 +184,15 @@ bool make_spte(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp,
 		pte_access &= ~ACC_EXEC_MASK;
 	}
 
-	if (pte_access & ACC_EXEC_MASK)
+	if (pte_access & ACC_EXEC_MASK) {
 		spte |= shadow_x_mask;
-	else
+#ifdef CONFIG_HEKI
+		if (enable_mbec && !(perm & MEM_ATTR_EXEC))
+			spte &= ~VMX_EPT_EXECUTABLE_MASK;
+#endif
+	} else {
 		spte |= shadow_nx_mask;
+	}
 
 	if (pte_access & ACC_USER_MASK)
 		spte |= shadow_user_mask;
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 43c28a6953bf..44f94b75ff16 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -62,6 +62,8 @@
 #include <linux/entry-kvm.h>
 #include <linux/suspend.h>
 #include <linux/smp.h>
+#include <linux/heki.h>
+#include <linux/kvm_mem_attr.h>
 
 #include <trace/events/ipi.h>
 #include <trace/events/kvm.h>
@@ -9983,6 +9985,131 @@ static void kvm_sched_yield(struct kvm_vcpu *vcpu, unsigned long dest_id)
 	return;
 }
 
+#ifdef CONFIG_HEKI
+
+static int heki_protect_memory(struct kvm *const kvm, gpa_t list_pa)
+{
+	struct heki_page_list *list, *head;
+	struct heki_pages *pages;
+	size_t size;
+	int i, npages, err = 0;
+
+	/* Read in the page list. */
+	head = NULL;
+	npages = 0;
+	while (list_pa) {
+		list = kmalloc(PAGE_SIZE, GFP_KERNEL);
+		if (!list) {
+			/* For want of a better error number. */
+			err = -KVM_E2BIG;
+			goto free;
+		}
+
+		err = kvm_read_guest(kvm, list_pa, list, sizeof(*list));
+		if (err) {
+			pr_warn("heki: Can't read list %llx\n", list_pa);
+			err = -KVM_EFAULT;
+			goto free;
+		}
+		list_pa += sizeof(*list);
+
+		size = list->npages * sizeof(*pages);
+		pages = list->pages;
+		err = kvm_read_guest(kvm, list_pa, pages, size);
+		if (err) {
+			pr_warn("heki: Can't read pages %llx\n", list_pa);
+			err = -KVM_EFAULT;
+			goto free;
+		}
+
+		list->next = head;
+		head = list;
+		npages += list->npages;
+		list_pa = list->next_pa;
+	}
+
+	/* For kvm_permissions_set() -> kvm_vm_set_mem_attributes() */
+	mutex_lock(&kvm->slots_arch_lock);
+
+	/*
+	 * Walk the page list, apply the permissions for each guest page and
+	 * zap the EPT entry of each page. The pages will be faulted in on
+	 * demand and the correct permissions will be applied at the correct
+	 * level for the pages.
+	 */
+	for (list = head; list; list = list->next) {
+		pages = list->pages;
+
+		for (i = 0; i < list->npages; i++) {
+			gfn_t gfn_start, gfn_end;
+			unsigned long permissions;
+
+			if (!PAGE_ALIGNED(pages[i].pa)) {
+				pr_warn("heki: GPA not aligned: %llx\n",
+					pages[i].pa);
+				err = -KVM_EINVAL;
+				goto unlock;
+			}
+			if (!PAGE_ALIGNED(pages[i].epa)) {
+				pr_warn("heki: GPA not aligned: %llx\n",
+					pages[i].epa);
+				err = -KVM_EINVAL;
+				goto unlock;
+			}
+
+			gfn_start = gpa_to_gfn(pages[i].pa);
+			gfn_end = gpa_to_gfn(pages[i].epa);
+			permissions = pages[i].permissions;
+
+			if (!permissions || (permissions & ~MEM_ATTR_PROT)) {
+				err = -KVM_EINVAL;
+				goto unlock;
+			}
+
+			if (!(permissions & MEM_ATTR_EXEC) && !enable_mbec) {
+				/*
+				 * Guests can check for MBEC support to avoid
+				 * this error message. We will continue
+				 * applying restrictions partially.
+				 */
+				pr_warn("heki: Clearing kernel exec "
+					"depends on MBEC, which is disabled.");
+				permissions |= MEM_ATTR_EXEC;
+			}
+
+			pr_warn("heki: Request to protect GFNs %llx-%llx"
+				" with %s permissions=%s%s%s\n",
+				gfn_start, gfn_end,
+				(permissions & MEM_ATTR_IMMUTABLE) ?
+					"immutable" :
+					"mutable",
+				(permissions & MEM_ATTR_READ) ? "r" : "_",
+				(permissions & MEM_ATTR_WRITE) ? "w" : "_",
+				(permissions & MEM_ATTR_EXEC) ? "x" : "_");
+
+			err = kvm_permissions_set(kvm, gfn_start, gfn_end,
+						  permissions);
+			if (err) {
+				pr_warn("heki: Failed to set permissions\n");
+				goto unlock;
+			}
+		}
+	}
+
+unlock:
+	mutex_unlock(&kvm->slots_arch_lock);
+
+free:
+	while (head) {
+		list = head;
+		head = head->next;
+		kfree(list);
+	}
+	return err;
+}
+
+#endif /* CONFIG_HEKI */
+
 static int complete_hypercall_exit(struct kvm_vcpu *vcpu)
 {
 	u64 ret = vcpu->run->hypercall.ret;
@@ -10097,6 +10224,9 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
 				return ret;
 		}
 		break;
+	case KVM_HC_PROTECT_MEMORY:
+		ret = heki_protect_memory(vcpu->kvm, a0);
+		break;
 #endif /* CONFIG_HEKI */
 	default:
 		ret = -KVM_ENOSYS;
diff --git a/include/linux/heki.h b/include/linux/heki.h
index 96ccb17657e5..89cc9273a968 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -8,6 +8,7 @@
 #ifndef __HEKI_H__
 #define __HEKI_H__
 
+#include <linux/kvm_types.h>
 #include <linux/types.h>
 #include <linux/bug.h>
 #include <linux/cache.h>
@@ -17,6 +18,32 @@
 
 #ifdef CONFIG_HEKI
 
+/*
+ * This structure contains a guest physical range and its permissions (RWX).
+ */
+struct heki_pages {
+	gpa_t pa;
+	gpa_t epa;
+	unsigned long permissions;
+};
+
+/*
+ * Guest ranges are passed to the VMM or hypervisor so they can be authenticated
+ * and their permissions can be set in the host page table. When an array of
+ * these is passed to the Hypervisor or VMM, the array must be in physically
+ * contiguous memory.
+ *
+ * This struct occupies one page. In each page, an array of guest ranges can
+ * be passed. A guest request to the VMM/Hypervisor may contain a list of
+ * these structs (linked by "next_pa").
+ */
+struct heki_page_list {
+	struct heki_page_list *next;
+	gpa_t next_pa;
+	unsigned long npages;
+	struct heki_pages pages[];
+};
+
 /*
  * A hypervisor that supports Heki will instantiate this structure to
  * provide hypervisor specific functions for Heki.
@@ -36,6 +63,8 @@ struct heki {
 extern struct heki heki;
 extern bool heki_enabled;
 
+extern bool __read_mostly enable_mbec;
+
 void heki_early_init(void);
 void heki_late_init(void);
 
diff --git a/include/uapi/linux/kvm_para.h b/include/uapi/linux/kvm_para.h
index 2ed418704603..938c9006e354 100644
--- a/include/uapi/linux/kvm_para.h
+++ b/include/uapi/linux/kvm_para.h
@@ -31,6 +31,7 @@
 #define KVM_HC_SCHED_YIELD		11
 #define KVM_HC_MAP_GPA_RANGE		12
 #define KVM_HC_LOCK_CR_UPDATE		13
+#define KVM_HC_PROTECT_MEMORY		14
 
 /*
  * hypercalls use architecture specific
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:36:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:36:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631286.984464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mo3-0001kz-JV; Mon, 13 Nov 2023 02:36:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631286.984464; Mon, 13 Nov 2023 02:36: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 1r2Mo3-0001kq-Gd; Mon, 13 Nov 2023 02:36:07 +0000
Received: by outflank-mailman (input) for mailman id 631286;
 Mon, 13 Nov 2023 02: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2MdO-0000Y9-R9
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:25:06 +0000
Received: from smtp-190f.mail.infomaniak.ch (smtp-190f.mail.infomaniak.ch
 [185.125.25.15]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id daec20f5-81cb-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 03:25:04 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCv440z4zMq2H7;
 Mon, 13 Nov 2023 02:25:04 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCv31cKszMppt7; Mon, 13 Nov 2023 03:25:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daec20f5-81cb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842304;
	bh=qU7rpwZb8Bl+xuVDwtq6MKJ75S7Uo4UAc0PUDjw5xlk=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=HbDL//+3ATCwPmW6FeNdrIH7tZIwaMnw+QS1qdZf+B2mnT/MKQm4aP+mx66UUcjaD
	 hsK1zTShrWzEU7FyzuuXAFeXbZ2X6WXdUpzO09fScu+mFKm7CXVRlh5HLUvFpTFOab
	 J5+cWZjh90MaulzQheCaiQUYvIq2/sNhJR0yOd08=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 19/19] virt: Add Heki KUnit tests
Date: Sun, 12 Nov 2023 21:23:26 -0500
Message-ID: <20231113022326.24388-20-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

This adds a new CONFIG_HEKI_TEST option to run tests at boot. Because we
use some symbols not exported to modules (e.g., kernel_set_to_readonly)
this could not work as modules.

To run these tests, we need to boot the kernel with the heki_test=N boot
argument with N selecting a specific test:
1. heki_test_cr_disable_smep: Check CR pinning and try to disable SMEP.
2. heki_test_write_to_const: Check .rodata (const) protection.
3. heki_test_write_to_ro_after_init: Check __ro_after_init protection.
4. heki_test_exec: Check non-executable kernel memory.

This way to select tests should not be required when the kernel will
properly handle the triggered synthetic page faults.  For now, these
page faults make the kernel loop.

All these tests temporarily disable the related kernel self-protections
and should then failed if Heki doesn't protect the kernel.  They are
verbose to make it easier to understand what is going on.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
---

Changes since v1:
* Move all tests to virt/heki/tests.c
---
 include/linux/heki.h |   1 +
 virt/heki/Kconfig    |  12 +++
 virt/heki/Makefile   |   1 +
 virt/heki/main.c     |   6 +-
 virt/heki/tests.c    | 207 +++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 226 insertions(+), 1 deletion(-)
 create mode 100644 virt/heki/tests.c

diff --git a/include/linux/heki.h b/include/linux/heki.h
index 306bcec7ae92..9e2cf0051ab0 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -149,6 +149,7 @@ void heki_protect(unsigned long va, unsigned long end);
 void heki_add_pa(struct heki_args *args, phys_addr_t pa,
 		 unsigned long permissions);
 void heki_apply_permissions(struct heki_args *args);
+void heki_run_test(void);
 
 /* Arch-specific functions. */
 void heki_arch_early_init(void);
diff --git a/virt/heki/Kconfig b/virt/heki/Kconfig
index 9bde84cd759e..fa814a921bb0 100644
--- a/virt/heki/Kconfig
+++ b/virt/heki/Kconfig
@@ -28,3 +28,15 @@ config HYPERVISOR_SUPPORTS_HEKI
 	  A hypervisor should select this when it can successfully build
 	  and run with CONFIG_HEKI. That is, it should provide all of the
 	  hypervisor support required for the Heki feature.
+
+config HEKI_TEST
+	bool "Tests for Heki" if !KUNIT_ALL_TESTS
+	depends on HEKI && KUNIT=y
+	default KUNIT_ALL_TESTS
+	help
+	  Run Heki tests at runtime according to the heki_test=N boot
+	  parameter, with N identifying the test to run (between 1 and 4).
+
+	  Before launching the init process, the system might not respond
+	  because of unhandled kernel page fault.  This will be fixed in a
+	  next patch series.
diff --git a/virt/heki/Makefile b/virt/heki/Makefile
index 564f92faa9d8..a66cd0ba140b 100644
--- a/virt/heki/Makefile
+++ b/virt/heki/Makefile
@@ -3,3 +3,4 @@
 obj-y += main.o
 obj-y += walk.o
 obj-y += counters.o
+obj-y += tests.o
diff --git a/virt/heki/main.c b/virt/heki/main.c
index 5629334112e7..ce9984231996 100644
--- a/virt/heki/main.c
+++ b/virt/heki/main.c
@@ -51,8 +51,10 @@ void heki_late_init(void)
 {
 	struct heki_hypervisor *hypervisor = heki.hypervisor;
 
-	if (!heki.counters)
+	if (!heki.counters) {
+		heki_run_test();
 		return;
+	}
 
 	/* Locks control registers so a compromised guest cannot change them. */
 	if (WARN_ON(hypervisor->lock_crs()))
@@ -61,6 +63,8 @@ void heki_late_init(void)
 	pr_warn("Control registers locked\n");
 
 	heki_arch_late_init();
+
+	heki_run_test();
 }
 
 /*
diff --git a/virt/heki/tests.c b/virt/heki/tests.c
new file mode 100644
index 000000000000..6e6542b257f1
--- /dev/null
+++ b/virt/heki/tests.c
@@ -0,0 +1,207 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Hypervisor Enforced Kernel Integrity (Heki) - Common code
+ *
+ * Copyright © 2023 Microsoft Corporation
+ */
+
+#include <linux/kvm_host.h>
+#include <kunit/test.h>
+#include <linux/cache.h>
+#include <linux/heki.h>
+#include <linux/kernel.h>
+#include <linux/mm.h>
+#include <linux/printk.h>
+#include <linux/set_memory.h>
+#include <linux/types.h>
+#include <linux/vmalloc.h>
+
+#include "common.h"
+
+#ifdef CONFIG_HEKI_TEST
+
+/* Heki test data */
+
+/* Takes two pages to not change permission of other read-only pages. */
+const char heki_test_const_buf[PAGE_SIZE * 2] = {};
+char heki_test_ro_after_init_buf[PAGE_SIZE * 2] __ro_after_init = {};
+
+long heki_test_exec_data(long);
+void _test_exec_data_end(void);
+
+/* Used to test ROP execution against the .rodata section. */
+/* clang-format off */
+asm(
+".pushsection .rodata;" // NOT .text section
+".global heki_test_exec_data;"
+".type heki_test_exec_data, @function;"
+"heki_test_exec_data:"
+ASM_ENDBR
+"movq %rdi, %rax;"
+"inc %rax;"
+ASM_RET
+".size heki_test_exec_data, .-heki_test_exec_data;"
+"_test_exec_data_end:"
+".popsection");
+/* clang-format on */
+
+static void heki_test_cr_disable_smep(struct kunit *test)
+{
+	unsigned long cr4;
+
+	/* SMEP should be initially enabled. */
+	KUNIT_ASSERT_TRUE(test, __read_cr4() & X86_CR4_SMEP);
+
+	kunit_warn(test,
+		   "Starting control register pinning tests with SMEP check\n");
+
+	/*
+	 * Trying to disable SMEP, bypassing kernel self-protection by not
+	 * using cr4_clear_bits(X86_CR4_SMEP).
+	 */
+	cr4 = __read_cr4() & ~X86_CR4_SMEP;
+	asm volatile("mov %0,%%cr4" : "+r"(cr4) : : "memory");
+
+	/* SMEP should still be enabled. */
+	KUNIT_ASSERT_TRUE(test, __read_cr4() & X86_CR4_SMEP);
+}
+
+static inline void print_addr(struct kunit *test, const char *const buf_name,
+			      void *const buf)
+{
+	const pte_t pte = *virt_to_kpte((unsigned long)buf);
+	const phys_addr_t paddr = slow_virt_to_phys(buf);
+	bool present = pte_flags(pte) & (_PAGE_PRESENT);
+	bool accessible = pte_accessible(&init_mm, pte);
+
+	kunit_warn(
+		test,
+		"%s vaddr:%llx paddr:%llx exec:%d write:%d present:%d accessible:%d\n",
+		buf_name, (unsigned long long)buf, paddr, !!pte_exec(pte),
+		!!pte_write(pte), present, accessible);
+}
+
+extern int kernel_set_to_readonly;
+
+static void heki_test_write_to_rodata(struct kunit *test,
+				      const char *const buf_name,
+				      char *const ro_buf)
+{
+	print_addr(test, buf_name, (void *)ro_buf);
+	KUNIT_EXPECT_EQ(test, 0, *ro_buf);
+
+	kunit_warn(
+		test,
+		"Bypassing kernel self-protection: mark memory as writable\n");
+	kernel_set_to_readonly = 0;
+	/*
+	 * Removes execute permission that might be set by bugdoor-exec,
+	 * because change_page_attr_clear() is not use by set_memory_rw().
+	 * This is required since commit 652c5bf380ad ("x86/mm: Refuse W^X
+	 * violations").
+	 */
+	KUNIT_ASSERT_FALSE(test, set_memory_nx((unsigned long)PTR_ALIGN_DOWN(
+						       ro_buf, PAGE_SIZE),
+					       1));
+	KUNIT_ASSERT_FALSE(test, set_memory_rw((unsigned long)PTR_ALIGN_DOWN(
+						       ro_buf, PAGE_SIZE),
+					       1));
+	kernel_set_to_readonly = 1;
+
+	kunit_warn(test, "Trying memory write\n");
+	*ro_buf = 0x11;
+	KUNIT_EXPECT_EQ(test, 0, *ro_buf);
+	kunit_warn(test, "New content: 0x%02x\n", *ro_buf);
+}
+
+static void heki_test_write_to_const(struct kunit *test)
+{
+	heki_test_write_to_rodata(test, "const_buf",
+				  (void *)heki_test_const_buf);
+}
+
+static void heki_test_write_to_ro_after_init(struct kunit *test)
+{
+	heki_test_write_to_rodata(test, "ro_after_init_buf",
+				  (void *)heki_test_ro_after_init_buf);
+}
+
+typedef long test_exec_t(long);
+
+static void heki_test_exec(struct kunit *test)
+{
+	const size_t exec_size = 7;
+	unsigned long nx_page_start = (unsigned long)PTR_ALIGN_DOWN(
+		(const void *const)heki_test_exec_data, PAGE_SIZE);
+	unsigned long nx_page_end = (unsigned long)PTR_ALIGN(
+		(const void *const)heki_test_exec_data + exec_size, PAGE_SIZE);
+	test_exec_t *exec = (test_exec_t *)heki_test_exec_data;
+	long ret;
+
+	/* Starting non-executable memory tests. */
+	print_addr(test, "test_exec_data", heki_test_exec_data);
+
+	kunit_warn(
+		test,
+		"Bypassing kernel-self protection: mark memory as executable\n");
+	kernel_set_to_readonly = 0;
+	KUNIT_ASSERT_FALSE(test,
+			   set_memory_rox(nx_page_start,
+					  PFN_UP(nx_page_end - nx_page_start)));
+	kernel_set_to_readonly = 1;
+
+	kunit_warn(
+		test,
+		"Trying to execute data (ROP) in (initially) non-executable memory\n");
+	ret = exec(3);
+
+	/* This should not be reached because of the uncaught page fault. */
+	KUNIT_EXPECT_EQ(test, 3, ret);
+	kunit_warn(test, "Result of execution: 3 + 1 = %ld\n", ret);
+}
+
+const struct kunit_case heki_test_cases[] = {
+	KUNIT_CASE(heki_test_cr_disable_smep),
+	KUNIT_CASE(heki_test_write_to_const),
+	KUNIT_CASE(heki_test_write_to_ro_after_init),
+	KUNIT_CASE(heki_test_exec),
+	{}
+};
+
+static unsigned long heki_test __ro_after_init;
+
+static int __init parse_heki_test_config(char *str)
+{
+	if (kstrtoul(str, 10, &heki_test) ||
+	    heki_test > (ARRAY_SIZE(heki_test_cases) - 1))
+		pr_warn("Invalid option string for heki_test: '%s'\n", str);
+	return 1;
+}
+
+__setup("heki_test=", parse_heki_test_config);
+
+void heki_run_test(void)
+{
+	struct kunit_case heki_test_case[2] = {};
+	struct kunit_suite heki_test_suite = {
+		.name = "heki",
+		.test_cases = heki_test_case,
+	};
+	struct kunit_suite *const test_suite = &heki_test_suite;
+
+	if (!kunit_enabled() || heki_test == 0 ||
+	    heki_test >= ARRAY_SIZE(heki_test_cases))
+		return;
+
+	pr_warn("Running test #%lu\n", heki_test);
+	heki_test_case[0] = heki_test_cases[heki_test - 1];
+	__kunit_test_suites_init(&test_suite, 1);
+}
+
+#else /* CONFIG_HEKI_TEST */
+
+void heki_run_test(void)
+{
+}
+
+#endif /* CONFIG_HEKI_TEST */
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:36:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:36:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631289.984473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2MoT-0002aC-T2; Mon, 13 Nov 2023 02:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631289.984473; Mon, 13 Nov 2023 02: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 1r2MoT-0002a5-Q5; Mon, 13 Nov 2023 02:36:33 +0000
Received: by outflank-mailman (input) for mailman id 631289;
 Mon, 13 Nov 2023 02:36: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Md9-00011s-36
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:51 +0000
Received: from smtp-42ae.mail.infomaniak.ch (smtp-42ae.mail.infomaniak.ch
 [84.16.66.174]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d23441fa-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:50 +0100 (CET)
Received: from smtp-3-0000.mail.infomaniak.ch (unknown [10.4.36.107])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtn6lRlzMpvf0;
 Mon, 13 Nov 2023 02:24:49 +0000 (UTC)
Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtn0kJDz3W; Mon, 13 Nov 2023 03:24:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d23441fa-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842289;
	bh=oIX4MzUmE/Oa64hLfkUteDWwPQashM0GHMQHapB48so=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=K5jzM4XuFLgeXCO9+orL/1d6/57akoG8sVCXVP6DTx3kGnM8+LT8Zp4EFmKLEQVJU
	 byp0y0LRrf6MzvP+HnMoZzEDuC6dqCMBtuBJ4XXTKeXfqgWYy3j1J1518WlBYsj24n
	 4qx1SQ23tdaoLwB2+k7Q0uM0YzOX+D/zb42fxDvg=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 15/19] heki: x86: Initialize permissions counters for pages in vmap()/vunmap()
Date: Sun, 12 Nov 2023 21:23:22 -0500
Message-ID: <20231113022326.24388-16-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

When a page gets mapped, create permissions counters for it and
initialize them based on the specified permissions.

When a page gets unmapped, update the counters appropriately.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Mickaël Salaün <mic@digikod.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
---

Changes since v1:
* New patch
---
 include/linux/heki.h | 11 ++++++++++-
 mm/vmalloc.c         |  7 +++++++
 virt/heki/counters.c | 20 ++++++++++++++++++++
 3 files changed, 37 insertions(+), 1 deletion(-)

diff --git a/include/linux/heki.h b/include/linux/heki.h
index 86c787d121e0..d660994d34d0 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -68,7 +68,11 @@ struct heki_hypervisor {
  * pointer into this heki structure.
  *
  * During guest kernel boot, permissions counters for each guest page are
- * initialized based on the page's current permissions.
+ * initialized based on the page's current permissions. Beyond this point,
+ * the counters are updated whenever:
+ *
+ *	- a page is mapped into the kernel address space
+ *	- a page is unmapped from the kernel address space
  */
 struct heki {
 	struct heki_hypervisor *hypervisor;
@@ -77,6 +81,7 @@ struct heki {
 
 enum heki_cmd {
 	HEKI_MAP,
+	HEKI_UNMAP,
 };
 
 /*
@@ -109,6 +114,7 @@ void heki_counters_init(void);
 void heki_walk(unsigned long va, unsigned long va_end, heki_func_t func,
 	       struct heki_args *args);
 void heki_map(unsigned long va, unsigned long end);
+void heki_unmap(unsigned long va, unsigned long end);
 
 /* Arch-specific functions. */
 void heki_arch_early_init(void);
@@ -125,6 +131,9 @@ static inline void heki_late_init(void)
 static inline void heki_map(unsigned long va, unsigned long end)
 {
 }
+static inline void heki_unmap(unsigned long va, unsigned long end)
+{
+}
 
 #endif /* CONFIG_HEKI */
 
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index a3fedb3ee0db..d9096502e571 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -40,6 +40,7 @@
 #include <linux/pgtable.h>
 #include <linux/hugetlb.h>
 #include <linux/sched/mm.h>
+#include <linux/heki.h>
 #include <asm/tlbflush.h>
 #include <asm/shmparam.h>
 
@@ -301,6 +302,8 @@ static int vmap_range_noflush(unsigned long addr, unsigned long end,
 	if (mask & ARCH_PAGE_TABLE_SYNC_MASK)
 		arch_sync_kernel_mappings(start, end);
 
+	heki_map(start, end);
+
 	return err;
 }
 
@@ -419,6 +422,8 @@ void __vunmap_range_noflush(unsigned long start, unsigned long end)
 	pgtbl_mod_mask mask = 0;
 
 	BUG_ON(addr >= end);
+	heki_unmap(start, end);
+
 	pgd = pgd_offset_k(addr);
 	do {
 		next = pgd_addr_end(addr, end);
@@ -564,6 +569,8 @@ static int vmap_small_pages_range_noflush(unsigned long addr, unsigned long end,
 	if (mask & ARCH_PAGE_TABLE_SYNC_MASK)
 		arch_sync_kernel_mappings(start, end);
 
+	heki_map(start, end);
+
 	return 0;
 }
 
diff --git a/virt/heki/counters.c b/virt/heki/counters.c
index 7067449cabca..adc8d566b8a9 100644
--- a/virt/heki/counters.c
+++ b/virt/heki/counters.c
@@ -88,6 +88,13 @@ void heki_callback(struct heki_args *args)
 			heki_update_counters(counters, 0, permissions, 0);
 			break;
 
+		case HEKI_UNMAP:
+			if (WARN_ON_ONCE(!counters))
+				break;
+			heki_update_counters(counters, permissions, 0,
+					     permissions);
+			break;
+
 		default:
 			WARN_ON_ONCE(1);
 			break;
@@ -124,6 +131,19 @@ void heki_map(unsigned long va, unsigned long end)
 	heki_func(va, end, &args);
 }
 
+/*
+ * Find the mappings in the given range and revert the permission counters for
+ * them.
+ */
+void heki_unmap(unsigned long va, unsigned long end)
+{
+	struct heki_args args = {
+		.cmd = HEKI_UNMAP,
+	};
+
+	heki_func(va, end, &args);
+}
+
 /*
  * Permissions counters are associated with each guest page using the
  * Memory Table feature. Initialize the permissions counters here.
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:36:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:36:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631291.984484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2MoZ-0002vF-55; Mon, 13 Nov 2023 02:36:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631291.984484; Mon, 13 Nov 2023 02: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 1r2MoZ-0002v8-1O; Mon, 13 Nov 2023 02:36:39 +0000
Received: by outflank-mailman (input) for mailman id 631291;
 Mon, 13 Nov 2023 02: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2Md6-00011s-61
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:48 +0000
Received: from smtp-8fac.mail.infomaniak.ch (smtp-8fac.mail.infomaniak.ch
 [83.166.143.172]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d05aa5f2-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:47 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtk62jlzMpvbR;
 Mon, 13 Nov 2023 02:24:46 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtj3BHpzMpnPj; Mon, 13 Nov 2023 03:24:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d05aa5f2-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842286;
	bh=cKEtzyAn6nu6IgS2HwQtrr3Q0FdnoNCxsjW/LjtBy3Y=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=jIruH5whNlSM69bid+qC3QXUvSlkIk75w7vIB/z+Qo7hEu+vNgXjfS7u+hLyxFvJh
	 GvNxrzuFYdFr4xGhRvANkM2xckqutIUrO++9D0gm+yBcTUiZrahZ5H3unv9L5ngWMM
	 D6Za9ta9LWpEPpfa0MoQWkvjZSapc+FeceMFwMpo=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 14/19] heki: x86: Initialize permissions counters for pages mapped into KVA
Date: Sun, 12 Nov 2023 21:23:21 -0500
Message-ID: <20231113022326.24388-15-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

Define a permissions counters structure that contains a counter for
read, write and execute. Each mapped guest page will be allocated a
permissions counters structure.

During kernel boot, walk the kernel address space, locate all the
mappings, create permissions counters for each mapped guest page and
update the counters to reflect the collective permissions for each page
across all of its mappings.

The collective permissions will be applied in the EPT in a following
commit.

We might want to move these counters to a safer place (e.g., KVM) to
protect it from tampering by the guest kernel itself.

We should note that walking through all mappings might be slow if KASAN
is enabled.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Mickaël Salaün <mic@digikod.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Suggested-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
---

Changes since v1:
* New patch and new files: arch/x86/mm/heki.c and virt/heki/counters.c
---
 arch/x86/mm/Makefile |   2 +
 arch/x86/mm/heki.c   |  56 +++++++++++++++++
 include/linux/heki.h |  32 ++++++++++
 virt/heki/Kconfig    |   2 +
 virt/heki/Makefile   |   1 +
 virt/heki/counters.c | 147 +++++++++++++++++++++++++++++++++++++++++++
 virt/heki/main.c     |  13 ++++
 7 files changed, 253 insertions(+)
 create mode 100644 arch/x86/mm/heki.c
 create mode 100644 virt/heki/counters.c

diff --git a/arch/x86/mm/Makefile b/arch/x86/mm/Makefile
index c80febc44cd2..2998eaac0dbb 100644
--- a/arch/x86/mm/Makefile
+++ b/arch/x86/mm/Makefile
@@ -67,3 +67,5 @@ obj-$(CONFIG_AMD_MEM_ENCRYPT)	+= mem_encrypt_amd.o
 
 obj-$(CONFIG_AMD_MEM_ENCRYPT)	+= mem_encrypt_identity.o
 obj-$(CONFIG_AMD_MEM_ENCRYPT)	+= mem_encrypt_boot.o
+
+obj-$(CONFIG_HEKI)		+= heki.o
diff --git a/arch/x86/mm/heki.c b/arch/x86/mm/heki.c
new file mode 100644
index 000000000000..c495df0d8772
--- /dev/null
+++ b/arch/x86/mm/heki.c
@@ -0,0 +1,56 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Hypervisor Enforced Kernel Integrity (Heki) - Arch specific.
+ *
+ * Copyright © 2023 Microsoft Corporation
+ */
+
+#include <linux/heki.h>
+#include <linux/kvm_mem_attr.h>
+
+#ifdef pr_fmt
+#undef pr_fmt
+#endif
+
+#define pr_fmt(fmt) "heki-guest: " fmt
+
+static unsigned long kernel_va;
+static unsigned long kernel_end;
+static unsigned long direct_map_va;
+static unsigned long direct_map_end;
+
+__init void heki_arch_early_init(void)
+{
+	/* Kernel virtual address space range, not yet compatible with KASLR. */
+	if (pgtable_l5_enabled()) {
+		kernel_va = 0xff00000000000000UL;
+		kernel_end = 0xffffffffffe00000UL;
+		direct_map_va = 0xff11000000000000UL;
+		direct_map_end = 0xff91000000000000UL;
+	} else {
+		kernel_va = 0xffff800000000000UL;
+		kernel_end = 0xffffffffffe00000UL;
+		direct_map_va = 0xffff888000000000UL;
+		direct_map_end = 0xffffc88000000000UL;
+	}
+
+	/*
+	 * Initialize the counters for all existing kernel mappings except
+	 * for direct map.
+	 */
+	heki_map(kernel_va, direct_map_va);
+	heki_map(direct_map_end, kernel_end);
+}
+
+unsigned long heki_flags_to_permissions(unsigned long flags)
+{
+	unsigned long permissions;
+
+	permissions = MEM_ATTR_READ | MEM_ATTR_EXEC;
+	if (flags & _PAGE_RW)
+		permissions |= MEM_ATTR_WRITE;
+	if (flags & _PAGE_NX)
+		permissions &= ~MEM_ATTR_EXEC;
+
+	return permissions;
+}
diff --git a/include/linux/heki.h b/include/linux/heki.h
index a7ae0b387dfe..86c787d121e0 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -19,6 +19,16 @@
 
 #ifdef CONFIG_HEKI
 
+/*
+ * This structure keeps track of the collective permissions for a guest page
+ * across all of its mappings.
+ */
+struct heki_counters {
+	int read;
+	int write;
+	int execute;
+};
+
 /*
  * This structure contains a guest physical range and its permissions (RWX).
  */
@@ -56,9 +66,17 @@ struct heki_hypervisor {
 /*
  * If the active hypervisor supports Heki, it will plug its heki_hypervisor
  * pointer into this heki structure.
+ *
+ * During guest kernel boot, permissions counters for each guest page are
+ * initialized based on the page's current permissions.
  */
 struct heki {
 	struct heki_hypervisor *hypervisor;
+	struct mem_table *counters;
+};
+
+enum heki_cmd {
+	HEKI_MAP,
 };
 
 /*
@@ -72,6 +90,9 @@ struct heki_args {
 	phys_addr_t pa;
 	size_t size;
 	unsigned long flags;
+
+	/* Command passed by caller. */
+	enum heki_cmd cmd;
 };
 
 /* Callback function called by the table walker. */
@@ -84,6 +105,14 @@ extern bool __read_mostly enable_mbec;
 
 void heki_early_init(void);
 void heki_late_init(void);
+void heki_counters_init(void);
+void heki_walk(unsigned long va, unsigned long va_end, heki_func_t func,
+	       struct heki_args *args);
+void heki_map(unsigned long va, unsigned long end);
+
+/* Arch-specific functions. */
+void heki_arch_early_init(void);
+unsigned long heki_flags_to_permissions(unsigned long flags);
 
 #else /* !CONFIG_HEKI */
 
@@ -93,6 +122,9 @@ static inline void heki_early_init(void)
 static inline void heki_late_init(void)
 {
 }
+static inline void heki_map(unsigned long va, unsigned long end)
+{
+}
 
 #endif /* CONFIG_HEKI */
 
diff --git a/virt/heki/Kconfig b/virt/heki/Kconfig
index 75a784653e31..6d956eb9d04b 100644
--- a/virt/heki/Kconfig
+++ b/virt/heki/Kconfig
@@ -6,6 +6,8 @@ config HEKI
 	bool "Hypervisor Enforced Kernel Integrity (Heki)"
 	depends on ARCH_SUPPORTS_HEKI && HYPERVISOR_SUPPORTS_HEKI
 	select KVM_GENERIC_MEMORY_ATTRIBUTES
+	depends on !X86_16BIT
+	select SPARSEMEM
 	help
 	  This feature enhances guest virtual machine security by taking
 	  advantage of security features provided by the hypervisor for guests.
diff --git a/virt/heki/Makefile b/virt/heki/Makefile
index a5daa4ff7a4f..564f92faa9d8 100644
--- a/virt/heki/Makefile
+++ b/virt/heki/Makefile
@@ -2,3 +2,4 @@
 
 obj-y += main.o
 obj-y += walk.o
+obj-y += counters.o
diff --git a/virt/heki/counters.c b/virt/heki/counters.c
new file mode 100644
index 000000000000..7067449cabca
--- /dev/null
+++ b/virt/heki/counters.c
@@ -0,0 +1,147 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Hypervisor Enforced Kernel Integrity (Heki) - Permissions counters.
+ *
+ * Copyright © 2023 Microsoft Corporation
+ */
+
+#include <linux/heki.h>
+#include <linux/kvm_mem_attr.h>
+#include <linux/mem_table.h>
+
+#include "common.h"
+
+DEFINE_MUTEX(heki_lock);
+
+static void heki_update_counters(struct heki_counters *counters,
+				 unsigned long perm, unsigned long set,
+				 unsigned long clear)
+{
+	if (WARN_ON_ONCE(!counters))
+		return;
+
+	if ((clear & MEM_ATTR_READ) && (perm & MEM_ATTR_READ))
+		counters->read--;
+	if ((clear & MEM_ATTR_WRITE) && (perm & MEM_ATTR_WRITE))
+		counters->write--;
+	if ((clear & MEM_ATTR_EXEC) && (perm & MEM_ATTR_EXEC))
+		counters->execute--;
+
+	if ((set & MEM_ATTR_READ) && !(perm & MEM_ATTR_READ))
+		counters->read++;
+	if ((set & MEM_ATTR_WRITE) && !(perm & MEM_ATTR_WRITE))
+		counters->write++;
+	if ((set & MEM_ATTR_EXEC) && !(perm & MEM_ATTR_EXEC))
+		counters->execute++;
+}
+
+static struct heki_counters *heki_create_counters(struct mem_table *table,
+						  phys_addr_t pa)
+{
+	struct heki_counters *counters;
+	void **entry;
+
+	entry = mem_table_create(table, pa);
+	if (WARN_ON(!entry))
+		return NULL;
+
+	counters = kzalloc(sizeof(*counters), GFP_KERNEL);
+	if (WARN_ON(!counters))
+		return NULL;
+
+	*entry = counters;
+	return counters;
+}
+
+void heki_callback(struct heki_args *args)
+{
+	/* The VA is only for debug. It is not really used in this function. */
+	unsigned long va;
+	phys_addr_t pa, pa_end;
+	unsigned long permissions;
+	void **entry;
+	struct heki_counters *counters;
+	unsigned int ignore;
+
+	if (!pfn_valid(args->pa >> PAGE_SHIFT))
+		return;
+
+	permissions = heki_flags_to_permissions(args->flags);
+
+	/*
+	 * Handle counters for a leaf entry in the kernel page table.
+	 */
+	pa_end = args->pa + args->size;
+	for (pa = args->pa, va = args->va; pa < pa_end;
+	     pa += PAGE_SIZE, va += PAGE_SIZE) {
+		entry = mem_table_find(heki.counters, pa, &ignore);
+		if (entry)
+			counters = *entry;
+		else
+			counters = NULL;
+
+		switch (args->cmd) {
+		case HEKI_MAP:
+			if (!counters)
+				counters =
+					heki_create_counters(heki.counters, pa);
+			heki_update_counters(counters, 0, permissions, 0);
+			break;
+
+		default:
+			WARN_ON_ONCE(1);
+			break;
+		}
+	}
+}
+
+static void heki_func(unsigned long va, unsigned long end,
+		      struct heki_args *args)
+{
+	if (!heki.counters || va >= end)
+		return;
+
+	va = ALIGN_DOWN(va, PAGE_SIZE);
+	end = ALIGN(end, PAGE_SIZE);
+
+	mutex_lock(&heki_lock);
+
+	heki_walk(va, end, heki_callback, args);
+
+	mutex_unlock(&heki_lock);
+}
+
+/*
+ * Find the mappings in the given range and initialize permission counters for
+ * them.
+ */
+void heki_map(unsigned long va, unsigned long end)
+{
+	struct heki_args args = {
+		.cmd = HEKI_MAP,
+	};
+
+	heki_func(va, end, &args);
+}
+
+/*
+ * Permissions counters are associated with each guest page using the
+ * Memory Table feature. Initialize the permissions counters here.
+ * Note that we don't support large page entries for counters because
+ * it is difficult to merge/split counters for large pages.
+ */
+
+static void heki_counters_free(void *counters)
+{
+	kfree(counters);
+}
+
+static struct mem_table_ops heki_counters_ops = {
+	.free = heki_counters_free,
+};
+
+__init void heki_counters_init(void)
+{
+	heki.counters = mem_table_alloc(&heki_counters_ops);
+	WARN_ON(!heki.counters);
+}
diff --git a/virt/heki/main.c b/virt/heki/main.c
index ff1937e1c946..0ab7de659e6f 100644
--- a/virt/heki/main.c
+++ b/virt/heki/main.c
@@ -21,6 +21,16 @@ __init void heki_early_init(void)
 		pr_warn("Heki is not enabled\n");
 		return;
 	}
+
+	/*
+	 * Static addresses (see heki_arch_early_init) are not compatible with
+	 * KASLR. This will be handled in a next patch series.
+	 */
+	if (IS_ENABLED(CONFIG_RANDOMIZE_BASE)) {
+		pr_warn("Heki is disabled because KASLR is not supported yet\n");
+		return;
+	}
+
 	pr_warn("Heki is enabled\n");
 
 	if (!heki.hypervisor) {
@@ -29,6 +39,9 @@ __init void heki_early_init(void)
 		return;
 	}
 	pr_warn("Heki is supported by the active Hypervisor\n");
+
+	heki_counters_init();
+	heki_arch_early_init();
 }
 
 /*
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:36:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631294.984494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Moq-0003e4-JW; Mon, 13 Nov 2023 02:36:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631294.984494; Mon, 13 Nov 2023 02: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 1r2Moq-0003dp-GD; Mon, 13 Nov 2023 02:36:56 +0000
Received: by outflank-mailman (input) for mailman id 631294;
 Mon, 13 Nov 2023 02:36: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2MdH-00011s-0f
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:59 +0000
Received: from smtp-bc09.mail.infomaniak.ch (smtp-bc09.mail.infomaniak.ch
 [2001:1600:3:17::bc09])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d6cf04db-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:24:58 +0100 (CET)
Received: from smtp-3-0001.mail.infomaniak.ch (unknown [10.4.36.108])
 by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCtx4lfyzMq2H9;
 Mon, 13 Nov 2023 02:24:57 +0000 (UTC)
Received: from unknown by smtp-3-0001.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtw1z09zMpnPr; Mon, 13 Nov 2023 03:24:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d6cf04db-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842297;
	bh=x8fg6SD1g74kkGJ23TK2HH1loleby/1wIvw5whB02rE=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=dJfAiYA2HYA3jqI/ZQKjz5gzrQbNbqyogck83ckqbDcyi+QeXvv9eLzd5ebcYVOvo
	 cLtZ+H/07iEl7T5kTrk2eFqbGuc3VumW1ct0jF8/XyG299t2fBuDo8YODWnquBbTNY
	 ymQ6InNw/ozaj7PTIf8MX7lr4GmSX3s7IhzlnmOM=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 17/19] heki: x86: Update permissions counters during text patching
Date: Sun, 12 Nov 2023 21:23:24 -0500
Message-ID: <20231113022326.24388-18-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

X86 uses a function called __text_poke() to modify executable code. This
patching function is used by many features such as KProbes and FTrace.

Update the permissions counters for the text page so that write
permissions can be temporarily established in the EPT to modify the
instructions in that page.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Mickaël Salaün <mic@digikod.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
---

Changes since v1:
* New patch
---
 arch/x86/kernel/alternative.c |  5 ++++
 arch/x86/mm/heki.c            | 49 +++++++++++++++++++++++++++++++++++
 include/linux/heki.h          | 14 ++++++++++
 3 files changed, 68 insertions(+)

diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 517ee01503be..64fd8757ba5c 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -18,6 +18,7 @@
 #include <linux/mmu_context.h>
 #include <linux/bsearch.h>
 #include <linux/sync_core.h>
+#include <linux/heki.h>
 #include <asm/text-patching.h>
 #include <asm/alternative.h>
 #include <asm/sections.h>
@@ -1801,6 +1802,7 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
 	 */
 	pgprot = __pgprot(pgprot_val(PAGE_KERNEL) & ~_PAGE_GLOBAL);
 
+	heki_text_poke_start(pages, cross_page_boundary ? 2 : 1, pgprot);
 	/*
 	 * The lock is not really needed, but this allows to avoid open-coding.
 	 */
@@ -1865,7 +1867,10 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
 	}
 
 	local_irq_restore(flags);
+
 	pte_unmap_unlock(ptep, ptl);
+	heki_text_poke_end(pages, cross_page_boundary ? 2 : 1, pgprot);
+
 	return addr;
 }
 
diff --git a/arch/x86/mm/heki.c b/arch/x86/mm/heki.c
index c0eace9e343f..e4c60d8b4f2d 100644
--- a/arch/x86/mm/heki.c
+++ b/arch/x86/mm/heki.c
@@ -5,8 +5,11 @@
  * Copyright © 2023 Microsoft Corporation
  */
 
+#include <asm/pgtable.h>
+#include <asm/text-patching.h>
 #include <linux/heki.h>
 #include <linux/kvm_mem_attr.h>
+#include <linux/mm.h>
 
 #ifdef pr_fmt
 #undef pr_fmt
@@ -63,3 +66,49 @@ void heki_pgprot_to_permissions(pgprot_t prot, unsigned long *set,
 	if (pgprot_val(prot) & _PAGE_NX)
 		*clear |= MEM_ATTR_EXEC;
 }
+
+static unsigned long heki_pgprot_to_flags(pgprot_t prot)
+{
+	unsigned long flags = 0;
+
+	if (pgprot_val(prot) & _PAGE_RW)
+		flags |= _PAGE_RW;
+	if (pgprot_val(prot) & _PAGE_NX)
+		flags |= _PAGE_NX;
+	return flags;
+}
+
+static void heki_text_poke_common(struct page **pages, int npages,
+				  pgprot_t prot, enum heki_cmd cmd)
+{
+	struct heki_args args = {
+		.cmd = cmd,
+	};
+	unsigned long va = poking_addr;
+	int i;
+
+	if (!heki.counters)
+		return;
+
+	mutex_lock(&heki_lock);
+
+	for (i = 0; i < npages; i++, va += PAGE_SIZE) {
+		args.va = va;
+		args.pa = page_to_pfn(pages[i]) << PAGE_SHIFT;
+		args.size = PAGE_SIZE;
+		args.flags = heki_pgprot_to_flags(prot);
+		heki_callback(&args);
+	}
+
+	mutex_unlock(&heki_lock);
+}
+
+void heki_text_poke_start(struct page **pages, int npages, pgprot_t prot)
+{
+	heki_text_poke_common(pages, npages, prot, HEKI_MAP);
+}
+
+void heki_text_poke_end(struct page **pages, int npages, pgprot_t prot)
+{
+	heki_text_poke_common(pages, npages, prot, HEKI_UNMAP);
+}
diff --git a/include/linux/heki.h b/include/linux/heki.h
index 079b34af07f0..6f2cfddc6dac 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -111,6 +111,7 @@ typedef void (*heki_func_t)(struct heki_args *args);
 
 extern struct heki heki;
 extern bool heki_enabled;
+extern struct mutex heki_lock;
 
 extern bool __read_mostly enable_mbec;
 
@@ -123,12 +124,15 @@ void heki_map(unsigned long va, unsigned long end);
 void heki_update(unsigned long va, unsigned long end, unsigned long set,
 		 unsigned long clear);
 void heki_unmap(unsigned long va, unsigned long end);
+void heki_callback(struct heki_args *args);
 
 /* Arch-specific functions. */
 void heki_arch_early_init(void);
 unsigned long heki_flags_to_permissions(unsigned long flags);
 void heki_pgprot_to_permissions(pgprot_t prot, unsigned long *set,
 				unsigned long *clear);
+void heki_text_poke_start(struct page **pages, int npages, pgprot_t prot);
+void heki_text_poke_end(struct page **pages, int npages, pgprot_t prot);
 
 #else /* !CONFIG_HEKI */
 
@@ -149,6 +153,16 @@ static inline void heki_unmap(unsigned long va, unsigned long end)
 {
 }
 
+/* Arch-specific functions. */
+static inline void heki_text_poke_start(struct page **pages, int npages,
+					pgprot_t prot)
+{
+}
+static inline void heki_text_poke_end(struct page **pages, int npages,
+				      pgprot_t prot)
+{
+}
+
 #endif /* CONFIG_HEKI */
 
 #endif /* __HEKI_H__ */
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:37:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:37:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631302.984503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Mpj-0004ol-U2; Mon, 13 Nov 2023 02:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631302.984503; Mon, 13 Nov 2023 02: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 1r2Mpj-0004oe-RW; Mon, 13 Nov 2023 02:37:51 +0000
Received: by outflank-mailman (input) for mailman id 631302;
 Mon, 13 Nov 2023 02:37: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2MdE-0000Y9-IV
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:24:56 +0000
Received: from smtp-42aa.mail.infomaniak.ch (smtp-42aa.mail.infomaniak.ch
 [84.16.66.170]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d45e2065-81cb-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 03:24:53 +0100 (CET)
Received: from smtp-3-0000.mail.infomaniak.ch (unknown [10.4.36.107])
 by smtp-3-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCts44SJzMpvdP;
 Mon, 13 Nov 2023 02:24:53 +0000 (UTC)
Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtr2nMzz3W; Mon, 13 Nov 2023 03:24:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d45e2065-81cb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842293;
	bh=xCal4QiPzuyoIMCQ55fNeQ6igvrqyER4Ogi9VJWigXw=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=tSrGiLtuSOlTibjuVDi1SgaJbkgBVfdywQJICFGMkZZbetDA86MTLx1CUJrtURSJN
	 PCIUP107oOKIFocIkyU1oVto05PKP3vEUaLGG4TW793G5zq8LWUqWguccvZHAbm47M
	 LggTT2pvie45aa6Z33u6iroI0xd/t/vhEQdIBxuk=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 16/19] heki: x86: Update permissions counters when guest page permissions change
Date: Sun, 12 Nov 2023 21:23:23 -0500
Message-ID: <20231113022326.24388-17-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

When permissions are changed on an existing mapping, update the
permissions counters.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Mickaël Salaün <mic@digikod.net>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
---

Changes since v1:
* New patch
---
 arch/x86/mm/heki.c           |  9 +++++++
 arch/x86/mm/pat/set_memory.c | 51 ++++++++++++++++++++++++++++++++++++
 include/linux/heki.h         | 14 ++++++++++
 virt/heki/counters.c         | 23 ++++++++++++++++
 4 files changed, 97 insertions(+)

diff --git a/arch/x86/mm/heki.c b/arch/x86/mm/heki.c
index c495df0d8772..c0eace9e343f 100644
--- a/arch/x86/mm/heki.c
+++ b/arch/x86/mm/heki.c
@@ -54,3 +54,12 @@ unsigned long heki_flags_to_permissions(unsigned long flags)
 
 	return permissions;
 }
+
+void heki_pgprot_to_permissions(pgprot_t prot, unsigned long *set,
+				unsigned long *clear)
+{
+	if (pgprot_val(prot) & _PAGE_RW)
+		*set |= MEM_ATTR_WRITE;
+	if (pgprot_val(prot) & _PAGE_NX)
+		*clear |= MEM_ATTR_EXEC;
+}
diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
index bda9f129835e..6aaa1ce5692c 100644
--- a/arch/x86/mm/pat/set_memory.c
+++ b/arch/x86/mm/pat/set_memory.c
@@ -22,6 +22,7 @@
 #include <linux/cc_platform.h>
 #include <linux/set_memory.h>
 #include <linux/memregion.h>
+#include <linux/heki.h>
 
 #include <asm/e820/api.h>
 #include <asm/processor.h>
@@ -2056,11 +2057,56 @@ int clear_mce_nospec(unsigned long pfn)
 EXPORT_SYMBOL_GPL(clear_mce_nospec);
 #endif /* CONFIG_X86_64 */
 
+#ifdef CONFIG_HEKI
+
+static void heki_change_page_attr_set(unsigned long va, int numpages,
+				      pgprot_t set)
+{
+	unsigned long va_end;
+	unsigned long set_permissions = 0, clear_permissions = 0;
+
+	heki_pgprot_to_permissions(set, &set_permissions, &clear_permissions);
+	if (!(set_permissions | clear_permissions))
+		return;
+
+	va_end = va + (numpages << PAGE_SHIFT);
+	heki_update(va, va_end, set_permissions, clear_permissions);
+}
+
+static void heki_change_page_attr_clear(unsigned long va, int numpages,
+					pgprot_t clear)
+{
+	unsigned long va_end;
+	unsigned long set_permissions = 0, clear_permissions = 0;
+
+	heki_pgprot_to_permissions(clear, &clear_permissions, &set_permissions);
+	if (!(set_permissions | clear_permissions))
+		return;
+
+	va_end = va + (numpages << PAGE_SHIFT);
+	heki_update(va, va_end, set_permissions, clear_permissions);
+}
+
+#else /* !CONFIG_HEKI */
+
+static void heki_change_page_attr_set(unsigned long va, int numpages,
+				      pgprot_t set)
+{
+}
+
+static void heki_change_page_attr_clear(unsigned long va, int numpages,
+					pgprot_t clear)
+{
+}
+
+#endif /* CONFIG_HEKI */
+
 int set_memory_x(unsigned long addr, int numpages)
 {
 	if (!(__supported_pte_mask & _PAGE_NX))
 		return 0;
 
+	heki_change_page_attr_clear(addr, numpages, __pgprot(_PAGE_NX));
 	return change_page_attr_clear(&addr, numpages, __pgprot(_PAGE_NX), 0);
 }
 
@@ -2069,11 +2115,14 @@ int set_memory_nx(unsigned long addr, int numpages)
 	if (!(__supported_pte_mask & _PAGE_NX))
 		return 0;
 
+	heki_change_page_attr_set(addr, numpages, __pgprot(_PAGE_NX));
 	return change_page_attr_set(&addr, numpages, __pgprot(_PAGE_NX), 0);
 }
 
 int set_memory_ro(unsigned long addr, int numpages)
 {
+	// TODO: What about _PAGE_DIRTY?
+	heki_change_page_attr_clear(addr, numpages, __pgprot(_PAGE_RW));
 	return change_page_attr_clear(&addr, numpages, __pgprot(_PAGE_RW | _PAGE_DIRTY), 0);
 }
 
@@ -2084,11 +2133,13 @@ int set_memory_rox(unsigned long addr, int numpages)
 	if (__supported_pte_mask & _PAGE_NX)
 		clr.pgprot |= _PAGE_NX;
 
+	heki_change_page_attr_clear(addr, numpages, clr);
 	return change_page_attr_clear(&addr, numpages, clr, 0);
 }
 
 int set_memory_rw(unsigned long addr, int numpages)
 {
+	heki_change_page_attr_set(addr, numpages, __pgprot(_PAGE_RW));
 	return change_page_attr_set(&addr, numpages, __pgprot(_PAGE_RW), 0);
 }
 
diff --git a/include/linux/heki.h b/include/linux/heki.h
index d660994d34d0..079b34af07f0 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -73,6 +73,7 @@ struct heki_hypervisor {
  *
  *	- a page is mapped into the kernel address space
  *	- a page is unmapped from the kernel address space
+ *	- permissions are changed for a mapped page
  */
 struct heki {
 	struct heki_hypervisor *hypervisor;
@@ -81,6 +82,7 @@ struct heki {
 
 enum heki_cmd {
 	HEKI_MAP,
+	HEKI_UPDATE,
 	HEKI_UNMAP,
 };
 
@@ -98,6 +100,10 @@ struct heki_args {
 
 	/* Command passed by caller. */
 	enum heki_cmd cmd;
+
+	/* Permissions passed by heki_update(). */
+	unsigned long set;
+	unsigned long clear;
 };
 
 /* Callback function called by the table walker. */
@@ -114,11 +120,15 @@ void heki_counters_init(void);
 void heki_walk(unsigned long va, unsigned long va_end, heki_func_t func,
 	       struct heki_args *args);
 void heki_map(unsigned long va, unsigned long end);
+void heki_update(unsigned long va, unsigned long end, unsigned long set,
+		 unsigned long clear);
 void heki_unmap(unsigned long va, unsigned long end);
 
 /* Arch-specific functions. */
 void heki_arch_early_init(void);
 unsigned long heki_flags_to_permissions(unsigned long flags);
+void heki_pgprot_to_permissions(pgprot_t prot, unsigned long *set,
+				unsigned long *clear);
 
 #else /* !CONFIG_HEKI */
 
@@ -131,6 +141,10 @@ static inline void heki_late_init(void)
 static inline void heki_map(unsigned long va, unsigned long end)
 {
 }
+static inline void heki_update(unsigned long va, unsigned long end,
+			       unsigned long set, unsigned long clear)
+{
+}
 static inline void heki_unmap(unsigned long va, unsigned long end)
 {
 }
diff --git a/virt/heki/counters.c b/virt/heki/counters.c
index adc8d566b8a9..d0f830b0775a 100644
--- a/virt/heki/counters.c
+++ b/virt/heki/counters.c
@@ -88,6 +88,13 @@ void heki_callback(struct heki_args *args)
 			heki_update_counters(counters, 0, permissions, 0);
 			break;
 
+		case HEKI_UPDATE:
+			if (!counters)
+				continue;
+			heki_update_counters(counters, permissions, args->set,
+					     args->clear);
+			break;
+
 		case HEKI_UNMAP:
 			if (WARN_ON_ONCE(!counters))
 				break;
@@ -131,6 +138,22 @@ void heki_map(unsigned long va, unsigned long end)
 	heki_func(va, end, &args);
 }
 
+/*
+ * Find the mappings in the given range and update permission counters for
+ * them. Apply permissions in the host page table.
+ */
+void heki_update(unsigned long va, unsigned long end, unsigned long set,
+		 unsigned long clear)
+{
+	struct heki_args args = {
+		.cmd = HEKI_UPDATE,
+		.set = set,
+		.clear = clear,
+	};
+
+	heki_func(va, end, &args);
+}
+
 /*
  * Find the mappings in the given range and revert the permission counters for
  * them.
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 02:38:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 02:38:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631305.984513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2MqM-0005Z3-6E; Mon, 13 Nov 2023 02:38:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631305.984513; Mon, 13 Nov 2023 02:38: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 1r2MqM-0005Yw-33; Mon, 13 Nov 2023 02:38:30 +0000
Received: by outflank-mailman (input) for mailman id 631305;
 Mon, 13 Nov 2023 02: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=cCEZ=G2=digikod.net=mic@srs-se1.protection.inumbo.net>)
 id 1r2MdK-00011s-8c
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 02:25:02 +0000
Received: from smtp-bc09.mail.infomaniak.ch (smtp-bc09.mail.infomaniak.ch
 [2001:1600:3:17::bc09])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d8b26ed8-81cb-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 03:25:01 +0100 (CET)
Received: from smtp-3-0000.mail.infomaniak.ch (unknown [10.4.36.107])
 by smtp-2-3000.mail.infomaniak.ch (Postfix) with ESMTPS id 4STCv05yshzMq2HC;
 Mon, 13 Nov 2023 02:25:00 +0000 (UTC)
Received: from unknown by smtp-3-0000.mail.infomaniak.ch (Postfix) with ESMTPA
 id 4STCtz4hvPz3W; Mon, 13 Nov 2023 03:24:59 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8b26ed8-81cb-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=digikod.net;
	s=20191114; t=1699842300;
	bh=PATv6XqDzwsqZ2hzsduhnRZLYujicEUOyMqcIKoFSMY=;
	h=From:To:Cc:Subject:Date:In-Reply-To:References:From;
	b=0mhnZA1xfB5IXGthCsMhNYtbubItWy18yziuYfeR6AWnv19fq1a5ISoUh4unXyOIh
	 SC9+Jk+sOe/3QbX5C7M0oDyImgy94uTLkrpYq/BH7ntImAVOjNoVR0spQpk+hAJBca
	 WdT/RtauYzVOLQlQ7Hw86Ab44ZapL/N2SdK3uwOw=
From: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>
To: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>
Cc: =?UTF-8?q?Micka=C3=ABl=20Sala=C3=BCn?= <mic@digikod.net>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	=?UTF-8?q?Mihai=20Don=C8=9Bu?= <mdontu@bitdefender.com>,
	=?UTF-8?q?Nicu=C8=99or=20C=C3=AE=C8=9Bu?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>,
	Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?UTF-8?q?=C8=98tefan=20=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org,
	kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org,
	virtualization@lists.linux-foundation.org,
	x86@kernel.org,
	xen-devel@lists.xenproject.org
Subject: [RFC PATCH v2 18/19] heki: x86: Protect guest kernel memory using the KVM hypervisor
Date: Sun, 12 Nov 2023 21:23:25 -0500
Message-ID: <20231113022326.24388-19-mic@digikod.net>
In-Reply-To: <20231113022326.24388-1-mic@digikod.net>
References: <20231113022326.24388-1-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Infomaniak-Routing: alpha

From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>

Implement a hypervisor function, kvm_protect_memory() that calls the
KVM_HC_PROTECT_MEMORY hypercall to request the KVM hypervisor to
set specified permissions on a list of guest pages.

Using the protect_memory() function, set proper EPT permissions for all
guest pages.

Use the MEM_ATTR_IMMUTABLE property to protect the kernel static
sections and the boot-time read-only sections. This enables to make sure
a compromised guest will not be able to change its main physical memory
page permissions. However, this also disable any feature that may change
the kernel's text section (e.g., ftrace, Kprobes), but they can still be
used on kernel modules.

Module loading/unloading, and eBPF JIT is allowed without restrictions
for now, but we'll need a way to authenticate these code changes to
really improve the guests' security. We plan to use module signatures,
but there is no solution yet to authenticate eBPF programs.

Being able to use ftrace and Kprobes in a secure way is a challenge not
solved yet. We're looking for ideas to make this work.

Likewise, the JUMP_LABEL feature cannot work because the kernel's text
section is read-only.

Cc: Borislav Petkov <bp@alien8.de>
Cc: Dave Hansen <dave.hansen@linux.intel.com>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Kees Cook <keescook@chromium.org>
Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Sean Christopherson <seanjc@google.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
Cc: Wanpeng Li <wanpengli@tencent.com>
Co-developed-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Mickaël Salaün <mic@digikod.net>
Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
---

Changes since v1:
* New patch
---
 arch/x86/kernel/kvm.c  | 11 ++++++
 arch/x86/kvm/mmu/mmu.c |  2 +-
 arch/x86/mm/heki.c     | 21 ++++++++++
 include/linux/heki.h   | 26 ++++++++++++
 virt/heki/Kconfig      |  1 +
 virt/heki/counters.c   | 90 ++++++++++++++++++++++++++++++++++++++++--
 virt/heki/main.c       | 83 +++++++++++++++++++++++++++++++++++++-
 7 files changed, 229 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 8349f4ad3bbd..343615b0e3bf 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -1021,8 +1021,19 @@ static int kvm_lock_crs(void)
 	return err;
 }
 
+static int kvm_protect_memory(gpa_t pa)
+{
+	long err;
+
+	WARN_ON_ONCE(in_interrupt());
+
+	err = kvm_hypercall1(KVM_HC_PROTECT_MEMORY, pa);
+	return err;
+}
+
 static struct heki_hypervisor kvm_heki_hypervisor = {
 	.lock_crs = kvm_lock_crs,
+	.protect_memory = kvm_protect_memory,
 };
 
 static void kvm_init_heki(void)
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index 2d09bcc35462..13be05e9ccf1 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -7374,7 +7374,7 @@ bool kvm_arch_post_set_memory_attributes(struct kvm *kvm,
 	int level;
 
 	lockdep_assert_held_write(&kvm->mmu_lock);
-	lockdep_assert_held(&kvm->slots_lock);
+	lockdep_assert_held(&kvm->slots_arch_lock);
 
 	/*
 	 * The sequence matters here: upper levels consume the result of lower
diff --git a/arch/x86/mm/heki.c b/arch/x86/mm/heki.c
index e4c60d8b4f2d..6c3fa9defada 100644
--- a/arch/x86/mm/heki.c
+++ b/arch/x86/mm/heki.c
@@ -45,6 +45,19 @@ __init void heki_arch_early_init(void)
 	heki_map(direct_map_end, kernel_end);
 }
 
+void heki_arch_late_init(void)
+{
+	/*
+	 * The permission counters for all existing kernel mappings have
+	 * already been updated. Now, walk all the pages, compute their
+	 * permissions from the counters and apply the permissions in the
+	 * host page table. To accomplish this, we walk the direct map
+	 * range.
+	 */
+	heki_protect(direct_map_va, direct_map_end);
+	pr_warn("Guest memory protected\n");
+}
+
 unsigned long heki_flags_to_permissions(unsigned long flags)
 {
 	unsigned long permissions;
@@ -67,6 +80,11 @@ void heki_pgprot_to_permissions(pgprot_t prot, unsigned long *set,
 		*clear |= MEM_ATTR_EXEC;
 }
 
+unsigned long heki_default_permissions(void)
+{
+	return MEM_ATTR_READ | MEM_ATTR_WRITE;
+}
+
 static unsigned long heki_pgprot_to_flags(pgprot_t prot)
 {
 	unsigned long flags = 0;
@@ -100,6 +118,9 @@ static void heki_text_poke_common(struct page **pages, int npages,
 		heki_callback(&args);
 	}
 
+	if (args.head)
+		heki_apply_permissions(&args);
+
 	mutex_unlock(&heki_lock);
 }
 
diff --git a/include/linux/heki.h b/include/linux/heki.h
index 6f2cfddc6dac..306bcec7ae92 100644
--- a/include/linux/heki.h
+++ b/include/linux/heki.h
@@ -15,6 +15,8 @@
 #include <linux/init.h>
 #include <linux/kernel.h>
 #include <linux/printk.h>
+#include <linux/mm.h>
+#include <linux/memblock.h>
 #include <linux/slab.h>
 
 #ifdef CONFIG_HEKI
@@ -61,6 +63,7 @@ struct heki_page_list {
  */
 struct heki_hypervisor {
 	int (*lock_crs)(void); /* Lock control registers. */
+	int (*protect_memory)(gpa_t pa); /* Protect guest memory */
 };
 
 /*
@@ -74,16 +77,28 @@ struct heki_hypervisor {
  *	- a page is mapped into the kernel address space
  *	- a page is unmapped from the kernel address space
  *	- permissions are changed for a mapped page
+ *
+ * At the end of kernel boot (before kicking off the init process), the
+ * permissions for guest pages are applied to the host page table.
+ *
+ * Beyond that point, the counters and host page table permissions are updated
+ * whenever:
+ *
+ *	- a guest page is mapped into the kernel address space
+ *	- a guest page is unmapped from the kernel address space
+ *	- permissions are changed for a mapped guest page
  */
 struct heki {
 	struct heki_hypervisor *hypervisor;
 	struct mem_table *counters;
+	bool protect_memory;
 };
 
 enum heki_cmd {
 	HEKI_MAP,
 	HEKI_UPDATE,
 	HEKI_UNMAP,
+	HEKI_PROTECT_MEMORY,
 };
 
 /*
@@ -103,7 +118,12 @@ struct heki_args {
 
 	/* Permissions passed by heki_update(). */
 	unsigned long set;
+	unsigned long set_global;
 	unsigned long clear;
+
+	/* Page list is built by the callback. */
+	struct heki_page_list *head;
+	phys_addr_t head_pa;
 };
 
 /* Callback function called by the table walker. */
@@ -125,14 +145,20 @@ void heki_update(unsigned long va, unsigned long end, unsigned long set,
 		 unsigned long clear);
 void heki_unmap(unsigned long va, unsigned long end);
 void heki_callback(struct heki_args *args);
+void heki_protect(unsigned long va, unsigned long end);
+void heki_add_pa(struct heki_args *args, phys_addr_t pa,
+		 unsigned long permissions);
+void heki_apply_permissions(struct heki_args *args);
 
 /* Arch-specific functions. */
 void heki_arch_early_init(void);
+void heki_arch_late_init(void);
 unsigned long heki_flags_to_permissions(unsigned long flags);
 void heki_pgprot_to_permissions(pgprot_t prot, unsigned long *set,
 				unsigned long *clear);
 void heki_text_poke_start(struct page **pages, int npages, pgprot_t prot);
 void heki_text_poke_end(struct page **pages, int npages, pgprot_t prot);
+unsigned long heki_default_permissions(void);
 
 #else /* !CONFIG_HEKI */
 
diff --git a/virt/heki/Kconfig b/virt/heki/Kconfig
index 6d956eb9d04b..9bde84cd759e 100644
--- a/virt/heki/Kconfig
+++ b/virt/heki/Kconfig
@@ -8,6 +8,7 @@ config HEKI
 	select KVM_GENERIC_MEMORY_ATTRIBUTES
 	depends on !X86_16BIT
 	select SPARSEMEM
+	depends on !JUMP_LABEL
 	help
 	  This feature enhances guest virtual machine security by taking
 	  advantage of security features provided by the hypervisor for guests.
diff --git a/virt/heki/counters.c b/virt/heki/counters.c
index d0f830b0775a..302113bee6ff 100644
--- a/virt/heki/counters.c
+++ b/virt/heki/counters.c
@@ -13,6 +13,25 @@
 
 DEFINE_MUTEX(heki_lock);
 
+static inline unsigned long heki_permissions(struct heki_counters *counters)
+{
+	unsigned long permissions;
+
+	if (!counters)
+		return heki_default_permissions();
+
+	permissions = 0;
+	if (counters->read)
+		permissions |= MEM_ATTR_READ;
+	if (counters->write)
+		permissions |= MEM_ATTR_WRITE;
+	if (counters->execute)
+		permissions |= MEM_ATTR_EXEC;
+	if (!permissions)
+		permissions = heki_default_permissions();
+	return permissions;
+}
+
 static void heki_update_counters(struct heki_counters *counters,
 				 unsigned long perm, unsigned long set,
 				 unsigned long clear)
@@ -53,20 +72,38 @@ static struct heki_counters *heki_create_counters(struct mem_table *table,
 	return counters;
 }
 
+static void heki_check_counters(struct heki_counters *counters,
+				unsigned long permissions)
+{
+	/*
+	 * If a permission has been added to a PTE directly, it will not be
+	 * reflected in the counters. Adjust for that. This is a bit of a
+	 * hack, really.
+	 */
+	if ((permissions & MEM_ATTR_READ) && !counters->read)
+		counters->read++;
+	if ((permissions & MEM_ATTR_WRITE) && !counters->write)
+		counters->write++;
+	if ((permissions & MEM_ATTR_EXEC) && !counters->execute)
+		counters->execute++;
+}
+
 void heki_callback(struct heki_args *args)
 {
 	/* The VA is only for debug. It is not really used in this function. */
 	unsigned long va;
 	phys_addr_t pa, pa_end;
-	unsigned long permissions;
+	unsigned long permissions, existing, new;
 	void **entry;
 	struct heki_counters *counters;
 	unsigned int ignore;
+	bool protect_memory;
 
 	if (!pfn_valid(args->pa >> PAGE_SHIFT))
 		return;
 
 	permissions = heki_flags_to_permissions(args->flags);
+	protect_memory = heki.protect_memory;
 
 	/*
 	 * Handle counters for a leaf entry in the kernel page table.
@@ -80,6 +117,8 @@ void heki_callback(struct heki_args *args)
 		else
 			counters = NULL;
 
+		existing = heki_permissions(counters);
+
 		switch (args->cmd) {
 		case HEKI_MAP:
 			if (!counters)
@@ -102,10 +141,30 @@ void heki_callback(struct heki_args *args)
 					     permissions);
 			break;
 
+		case HEKI_PROTECT_MEMORY:
+			if (counters)
+				heki_check_counters(counters, permissions);
+			existing = 0;
+			break;
+
 		default:
 			WARN_ON_ONCE(1);
 			break;
 		}
+
+		new = heki_permissions(counters) | args->set_global;
+
+		/*
+		 * To be able to use a pool of allocated memory for new
+		 * executable or read-only mappings (e.g., kernel module
+		 * loading), ignores immutable attribute if memory can be
+		 * changed.
+		 */
+		if (new & MEM_ATTR_WRITE)
+			new &= ~MEM_ATTR_IMMUTABLE;
+
+		if (protect_memory && existing != new)
+			heki_add_pa(args, pa, new);
 	}
 }
 
@@ -120,14 +179,20 @@ static void heki_func(unsigned long va, unsigned long end,
 
 	mutex_lock(&heki_lock);
 
+	if (args->cmd == HEKI_PROTECT_MEMORY)
+		heki.protect_memory = true;
+
 	heki_walk(va, end, heki_callback, args);
 
+	if (args->head)
+		heki_apply_permissions(args);
+
 	mutex_unlock(&heki_lock);
 }
 
 /*
  * Find the mappings in the given range and initialize permission counters for
- * them.
+ * them. Apply permissions in the host page table.
  */
 void heki_map(unsigned long va, unsigned long end)
 {
@@ -138,6 +203,25 @@ void heki_map(unsigned long va, unsigned long end)
 	heki_func(va, end, &args);
 }
 
+/*
+ * The architecture calls this to protect all guest pages at the end of
+ * kernel init. Up to this point, only the counters for guest pages have been
+ * updated. No permissions have been applied on the host page table.
+ * Now, the permissions will be applied.
+ *
+ * Beyond this point, the host page table permissions will always be updated
+ * whenever the counters are updated.
+ */
+void heki_protect(unsigned long va, unsigned long end)
+{
+	struct heki_args args = {
+		.cmd = HEKI_PROTECT_MEMORY,
+		.set_global = MEM_ATTR_IMMUTABLE,
+	};
+
+	heki_func(va, end, &args);
+}
+
 /*
  * Find the mappings in the given range and update permission counters for
  * them. Apply permissions in the host page table.
@@ -156,7 +240,7 @@ void heki_update(unsigned long va, unsigned long end, unsigned long set,
 
 /*
  * Find the mappings in the given range and revert the permission counters for
- * them.
+ * them. Apply permissions in the host page table.
  */
 void heki_unmap(unsigned long va, unsigned long end)
 {
diff --git a/virt/heki/main.c b/virt/heki/main.c
index 0ab7de659e6f..5629334112e7 100644
--- a/virt/heki/main.c
+++ b/virt/heki/main.c
@@ -51,7 +51,7 @@ void heki_late_init(void)
 {
 	struct heki_hypervisor *hypervisor = heki.hypervisor;
 
-	if (!heki_enabled || !heki.hypervisor)
+	if (!heki.counters)
 		return;
 
 	/* Locks control registers so a compromised guest cannot change them. */
@@ -59,6 +59,87 @@ void heki_late_init(void)
 		return;
 
 	pr_warn("Control registers locked\n");
+
+	heki_arch_late_init();
+}
+
+/*
+ * Build a list of guest pages with their permissions. This list will be
+ * passed to the VMM/Hypervisor to set these permissions in the host page
+ * table.
+ */
+void heki_add_pa(struct heki_args *args, phys_addr_t pa,
+		 unsigned long permissions)
+{
+	struct heki_page_list *list = args->head;
+	struct heki_pages *hpage;
+	u64 max_pages;
+	struct page *page;
+	bool new = false;
+
+	max_pages = (PAGE_SIZE - sizeof(*list)) / sizeof(*hpage);
+again:
+	if (!list || list->npages == max_pages) {
+		page = alloc_page(GFP_KERNEL);
+		if (WARN_ON_ONCE(!page))
+			return;
+
+		list = page_address(page);
+		list->npages = 0;
+		list->next_pa = args->head_pa;
+		list->next = args->head;
+
+		args->head = list;
+		args->head_pa = page_to_pfn(page) << PAGE_SHIFT;
+		new = true;
+	}
+
+	hpage = &list->pages[list->npages];
+	if (new) {
+		hpage->pa = pa;
+		hpage->epa = pa + PAGE_SIZE;
+		hpage->permissions = permissions;
+		return;
+	}
+
+	if (pa == hpage->epa && permissions == hpage->permissions) {
+		hpage->epa += PAGE_SIZE;
+		return;
+	}
+
+	list->npages++;
+	new = true;
+	goto again;
+}
+
+void heki_apply_permissions(struct heki_args *args)
+{
+	struct heki_hypervisor *hypervisor = heki.hypervisor;
+	struct heki_page_list *list = args->head;
+	phys_addr_t list_pa = args->head_pa;
+	struct page *page;
+	int ret;
+
+	if (!list)
+		return;
+
+	/* The very last one must be included. */
+	list->npages++;
+
+	/* Protect guest memory in the host page table. */
+	ret = hypervisor->protect_memory(list_pa);
+	if (ret) {
+		pr_warn("Failed to set memory permission\n");
+		return;
+	}
+
+	/* Free all the pages in the page list. */
+	while (list) {
+		page = pfn_to_page(list_pa >> PAGE_SHIFT);
+		list_pa = list->next_pa;
+		list = list->next;
+		__free_pages(page, 0);
+	}
 }
 
 static int __init heki_parse_config(char *str)
-- 
2.42.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 06:06:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 06:06:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631211.984523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Q5D-00031J-IA; Mon, 13 Nov 2023 06:06:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631211.984523; Mon, 13 Nov 2023 06: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 1r2Q5D-00031C-FP; Mon, 13 Nov 2023 06:06:03 +0000
Received: by outflank-mailman (input) for mailman id 631211;
 Sun, 12 Nov 2023 20: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=SfMF=GZ=gmail.com=jimmylee4930@srs-se1.protection.inumbo.net>)
 id 1r2H4f-0002nE-Jz
 for xen-devel@lists.xenproject.org; Sun, 12 Nov 2023 20:28:53 +0000
Received: from mail-yw1-x1142.google.com (mail-yw1-x1142.google.com
 [2607:f8b0:4864:20::1142])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 178f1d27-819a-11ee-98da-6d05b1d4d9a1;
 Sun, 12 Nov 2023 21:28:52 +0100 (CET)
Received: by mail-yw1-x1142.google.com with SMTP id
 00721157ae682-5b3b17d36d5so39621967b3.0
 for <xen-devel@lists.xenproject.org>; Sun, 12 Nov 2023 12:28:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 178f1d27-819a-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699820931; x=1700425731; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/bZ6JlDX2WiUn3FAhGNH+2q05nnJRn5fMsHYlnD6/As=;
        b=YdaBlGwUUZHFuBNXo6+vED0KVJ4p8UGYjxUgHjQx2ZVXLZM5bISVYo0ylVl4CJ5D/X
         hZkTyjj0Le/UD2dMBArFmqnfHAViRc3ABpGRfpSZZ2z9ppVU62GUlBxVflPalOvWxIl0
         0taNX5SMd8zH4wcZP1cHnm3oI7N/QupL2hRqvILmZLK6dibUte4j1yPiYYVKTYU6mac/
         Iokg+V4EtJ5tdcExJPNh0upBwY9S8pzXjN5HTqEDglbn5FoOEKxv1xmP+r5mXUoiqoXd
         b1AOumK3mDb+RWNWmXiAgn9dzu8jU8+/UdBBu7PenHxHrouR3HsC1y5ChsB9ax64VOAw
         wcAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699820931; x=1700425731;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/bZ6JlDX2WiUn3FAhGNH+2q05nnJRn5fMsHYlnD6/As=;
        b=rLiQHuweky8bZ+YKQY7pymyQMJ/HxUzCJ31DPbmDoUTKx/sJUyEp/QGFe2jviTwZyt
         s2d9LskTD6yuycnFqQkqRwgtgorKbd04WsAg3EDqh0aFlT3/nX8tb9n0pE/Wi2IvhX5V
         Ex+W1e0HUSNZL/kT7Y3D6y11I0yxPn1u0rE683wGRzGDNFHf0M3l1qBwl/Eum1gFclgJ
         tpp3bdk+p2lCb/04xpbL8U3I0xMzz6AXCclGqtqeLTdlV1bFYO6qKRwb5iE3/9fbrwKr
         EDHLyVEEvMAlfiR2zawLgpFA35kJsB/8j3Hwa8ci9PcDKz+xrShP1tak9cpOpT9R3O7q
         986w==
X-Gm-Message-State: AOJu0YwfQqgMZccb8zaiNCqqsw62vVv7nA4ncsXXZL43QAqdBHBTzFDz
	VlvjHqrdGzjIF0iD0K6+Uui8g9+/O1Zh/IteLD3aKpFn4vMRmWmRJ1E=
X-Google-Smtp-Source: AGHT+IEIQdeOFCqy9xfoUGcEGvUMafPwMwzop8jFaHO9Vici/0Kxj1gFYA1ldfbB/u9YKejsBefBMPHZSA0C1XxNiU8=
X-Received: by 2002:a25:6ec1:0:b0:daf:18f9:2a3f with SMTP id
 j184-20020a256ec1000000b00daf18f92a3fmr4882862ybc.27.1699820930776; Sun, 12
 Nov 2023 12:28:50 -0800 (PST)
MIME-Version: 1.0
From: Jimmy Lee <jimmylee4930@gmail.com>
Date: Sun, 12 Nov 2023 12:28:40 -0800
Message-ID: <CAFyR2DVCuDyufB-EWHTSurQ69Dc7PZ9CQZdN_T-Ym2rjVaRPNw@mail.gmail.com>
Subject: Faking the number of CPUs for dom0 with dom0_max_vcpus
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000c2c8fc0609fa66a0"

--000000000000c2c8fc0609fa66a0
Content-Type: text/plain; charset="UTF-8"

Hello Xen experts, I am trying to set dom0_max_vcpus to a number that is
larger than the number of pcpus. For example, I have a 4-CPU machine but I
want applications in dom0 to have an illusion that they are running on a
64-cpu machine. However, it seems that dom0 will always recognize the
number of pcpus. I can see the vcpus in the output of "xl vcpu-list" but
most of them are not online. How can I achieve my goal? Thanks!


Jimmy

[root@ip-10-0-131-61 cpu3]# xl vcpu-list
> Name                                ID  VCPU   CPU State   Time(s)
> Affinity (Hard / Soft)
> Domain-0                             0     0    0   r--      15.9  all /
> all
> Domain-0                             0     1    3   -b-      11.9  all /
> all
> Domain-0                             0     2    1   -b-      11.2  all /
> all
> Domain-0                             0     3    2   -b-      12.4  all /
> all
> Domain-0                             0     4    -   --p       0.0  all /
> all
> Domain-0                             0     5    -   --p       0.0  all /
> all
> Domain-0                             0     6    -   --p       0.0  all /
> all
> Domain-0                             0     7    -   --p       0.0  all /
> all
> Domain-0                             0     8    -   --p       0.0  all /
> all
> ....
>

[root@ip-10-0-131-61 cpu3]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    4
Core(s) per socket:    1
Socket(s):             1
NUMA node(s):          1
...

[root@ip-10-0-131-61 cpu3]# xl info
...
xen_commandline        : placeholder dom0_mem=3%,min:2G,max:4G
com1=115200,8n1 console=com1,tty,vga dom0_max_vcpus=64 spec-ctrl=no
sched=credit vcpu_migration_delay=1000 allowsuperpage ioapic_ack=new
...

--000000000000c2c8fc0609fa66a0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+SGVsbG8gWGVuIGV4cGVydHMsIEkgYW0gdHJ5aW5nIHRvIHNldMKgZG9t
MF9tYXhfdmNwdXMgdG8gYSBudW1iZXIgdGhhdCBpcyBsYXJnZXIgdGhhbiB0aGUgbnVtYmVyIG9m
IHBjcHVzLiBGb3IgZXhhbXBsZSwgSSBoYXZlIGEgNC1DUFUgbWFjaGluZSBidXQgSSB3YW50IGFw
cGxpY2F0aW9ucyBpbiBkb20wIHRvIGhhdmUgYW4gaWxsdXNpb24gdGhhdCB0aGV5IGFyZSBydW5u
aW5nIG9uIGEgNjQtY3B1IG1hY2hpbmUuIEhvd2V2ZXIsIGl0IHNlZW1zIHRoYXQgZG9tMCB3aWxs
IGFsd2F5cyByZWNvZ25pemUgdGhlIG51bWJlciBvZiBwY3B1cy4gSSBjYW4gc2VlIHRoZSB2Y3B1
cyBpbiB0aGUgb3V0cHV0IG9mICZxdW90O3hsIHZjcHUtbGlzdCZxdW90OyBidXQgbW9zdCBvZiB0
aGVtIGFyZSBub3Qgb25saW5lLiBIb3cgY2FuIEkgYWNoaWV2ZSBteSBnb2FsPyBUaGFua3MhPGRp
dj48YnI+PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5KaW1teTxicj48ZGl2Pjxicj48L2Rpdj48
YmxvY2txdW90ZSBjbGFzcz0iZ21haWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHgg
MC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0
OjFleCI+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5bcm9vdEBpcC0xMC0wLTEzMS02MSBjcHUzXSMg
eGwgdmNwdS1saXN0PGJyPk5hbWUgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqBJRCDCoFZDUFUgwqAgQ1BVIFN0YXRlIMKgIFRpbWUocykgQWZmaW5pdHkgKEhh
cmQgLyBTb2Z0KTxicj5Eb21haW4tMCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCAwIMKgIMKgIDAgwqAgwqAwIMKgIHItLSDCoCDCoCDCoDE1LjkgwqBhbGwgLyBhbGw8
YnI+RG9tYWluLTAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMCDC
oCDCoCAxIMKgIMKgMyDCoCAtYi0gwqAgwqAgwqAxMS45IMKgYWxsIC8gYWxsPGJyPkRvbWFpbi0w
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDAgwqAgwqAgMiDCoCDC
oDEgwqAgLWItIMKgIMKgIMKgMTEuMiDCoGFsbCAvIGFsbDxicj5Eb21haW4tMCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAwIMKgIMKgIDMgwqAgwqAyIMKgIC1iLSDC
oCDCoCDCoDEyLjQgwqBhbGwgLyBhbGw8YnI+RG9tYWluLTAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgMCDCoCDCoCA0IMKgIMKgLSDCoCAtLXAgwqAgwqAgwqAgMC4w
IMKgYWxsIC8gYWxsPGJyPkRvbWFpbi0wIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIDAgwqAgwqAgNSDCoCDCoC0gwqAgLS1wIMKgIMKgIMKgIDAuMCDCoGFsbCAvIGFs
bDxicj5Eb21haW4tMCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAw
IMKgIMKgIDYgwqAgwqAtIMKgIC0tcCDCoCDCoCDCoCAwLjAgwqBhbGwgLyBhbGw8YnI+RG9tYWlu
LTAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMCDCoCDCoCA3IMKg
IMKgLSDCoCAtLXAgwqAgwqAgwqAgMC4wIMKgYWxsIC8gYWxsPGJyPkRvbWFpbi0wIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDAgwqAgwqAgOCDCoCDCoC0gwqAgLS1w
IMKgIMKgIMKgIDAuMCDCoGFsbCAvIGFsbDxicj4uLi4uPC9mb250Pjxicj48L2Jsb2NrcXVvdGU+
PGRpdj48YnI+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPltyb290QGlwLTEwLTAt
MTMxLTYxIGNwdTNdIyBsc2NwdTwvZm9udD48L2Rpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPkFy
Y2hpdGVjdHVyZTogwqAgwqAgwqAgwqAgwqB4ODZfNjQ8YnI+Q1BVIG9wLW1vZGUocyk6IMKgIMKg
IMKgIMKgMzItYml0LCA2NC1iaXQ8YnI+Qnl0ZSBPcmRlcjogwqAgwqAgwqAgwqAgwqAgwqBMaXR0
bGUgRW5kaWFuPGJyPkNQVShzKTogwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA0PGJyPk9uLWxpbmUg
Q1BVKHMpIGxpc3Q6IMKgIDAtMzxicj5UaHJlYWQocykgcGVyIGNvcmU6IMKgIMKgNDxicj5Db3Jl
KHMpIHBlciBzb2NrZXQ6IMKgIMKgMTxicj5Tb2NrZXQocyk6IMKgIMKgIMKgIMKgIMKgIMKgIDE8
YnI+TlVNQSBub2RlKHMpOiDCoCDCoCDCoCDCoCDCoDE8L2ZvbnQ+PGRpdj48Zm9udCBmYWNlPSJt
b25vc3BhY2UiPi4uLjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9Im1vbm9zcGFjZSI+PGJy
PjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9Im1vbm9zcGFjZSI+W3Jvb3RAaXAtMTAtMC0x
MzEtNjEgY3B1M10jIHhsIGluZm88YnI+PC9mb250PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNl
Ij4uLi48L2ZvbnQ+PC9kaXY+PGRpdj48Zm9udCBmYWNlPSJtb25vc3BhY2UiPnhlbl9jb21tYW5k
bGluZSDCoCDCoCDCoCDCoDogcGxhY2Vob2xkZXIgZG9tMF9tZW09MyUsbWluOjJHLG1heDo0RyBj
b20xPTExNTIwMCw4bjEgY29uc29sZT1jb20xLHR0eSx2Z2EgZG9tMF9tYXhfdmNwdXM9NjQgc3Bl
Yy1jdHJsPW5vIHNjaGVkPWNyZWRpdCB2Y3B1X21pZ3JhdGlvbl9kZWxheT0xMDAwIGFsbG93c3Vw
ZXJwYWdlIGlvYXBpY19hY2s9bmV3PGJyPjwvZm9udD48L2Rpdj48ZGl2Pjxmb250IGZhY2U9Im1v
bm9zcGFjZSI+Li4uPC9mb250PjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2
PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj48YnI+PC9mb250PjwvZGl2PjxkaXY+PGZvbnQg
ZmFjZT0ibW9ub3NwYWNlIj48YnI+PC9mb250PjwvZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pg0K
--000000000000c2c8fc0609fa66a0--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 07:14:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 07:14:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631320.984533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2R9X-0001Ti-AW; Mon, 13 Nov 2023 07:14:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631320.984533; Mon, 13 Nov 2023 07:14: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 1r2R9X-0001Tb-7x; Mon, 13 Nov 2023 07:14:35 +0000
Received: by outflank-mailman (input) for mailman id 631320;
 Mon, 13 Nov 2023 07: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2R9V-0001TV-Pg
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 07:14:33 +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 4adc2507-81f4-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 08:14:32 +0100 (CET)
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 181991F45E;
 Mon, 13 Nov 2023 07:14: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 E96C713398;
 Mon, 13 Nov 2023 07:14:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id jBKnN9PMUWXCTQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 07:14: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: 4adc2507-81f4-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699859668; 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:autocrypt:autocrypt;
	bh=/A7NSdK9qYRnrYsjYgRgvolJBaQvDpJt69WYbBbGHJA=;
	b=ZrO3MjQ5kbeJPDCmJle3s8YKhtQU6ltZexw2fzU6F0y+Pn+EHBsBW98H1YfSMYCY+VUsTB
	h65empodbJtbTkB3ABhXNxr4R94fiuu6p3qgTF2aYy4UBDjkI0jLpKL2w4nk8OtWARoLhG
	iw3qAOENs1S6Aa2+mggg4u0YUt7jedU=
Message-ID: <aac1dfad-f45f-4028-9d8a-2ca7dec726ad@suse.com>
Date: Mon, 13 Nov 2023 08:14:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/7] xen/events: do some cleanups in events_base.c
To: linux-kernel@vger.kernel.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
References: <20231016062831.20630-1-jgross@suse.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20231016062831.20630-1-jgross@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------CTHnXsR6bMfvOkfCOkNNTzzm"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------CTHnXsR6bMfvOkfCOkNNTzzm
Content-Type: multipart/mixed; boundary="------------0b5UnnRMiCvpXONGGJmUtu4o";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org
Message-ID: <aac1dfad-f45f-4028-9d8a-2ca7dec726ad@suse.com>
Subject: Re: [PATCH 0/7] xen/events: do some cleanups in events_base.c
References: <20231016062831.20630-1-jgross@suse.com>
In-Reply-To: <20231016062831.20630-1-jgross@suse.com>

--------------0b5UnnRMiCvpXONGGJmUtu4o
Content-Type: multipart/mixed; boundary="------------RGd5tFqmM3oF7naCf0Ro1Fdn"

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

T24gMTYuMTAuMjMgMDg6MjgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IEFzIGEgZm9sbG93
dXAgdG8gdGhlIFhTQS00NDEgcGF0Y2ggdGhpcyBzZXJpZXMgaXMgZG9pbmcgYSBtaW5vciBi
dWcgZml4DQo+IGFuZCBzb21lIGNsZWFudXBzIG9mIGV2ZW50c19iYXNlLmMgKHdpdGggc29t
ZSBtaW5vciBlZmZlY3RzIG91dHNpZGUgb2YNCj4gaXQpLg0KPiANCj4gSnVlcmdlbiBHcm9z
cyAoNyk6DQo+ICAgIHhlbi9ldmVudHM6IGZpeCBkZWxheWVkIGVvaSBsaXN0IGhhbmRsaW5n
DQo+ICAgIHhlbi9ldmVudHM6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zDQo+ICAgIHhlbi9l
dmVudHM6IHJlZHVjZSBleHRlcm5hbGx5IHZpc2libGUgaGVscGVyIGZ1bmN0aW9ucw0KPiAg
ICB4ZW4vZXZlbnRzOiByZW1vdmUgc29tZSBzaW1wbGUgaGVscGVycyBmcm9tIGV2ZW50c19i
YXNlLmMNCj4gICAgeGVuL2V2ZW50czogZHJvcCB4ZW5fYWxsb2NhdGVfaXJxc19keW5hbWlj
KCkNCj4gICAgeGVuL2V2ZW50czogbW9kaWZ5IGludGVybmFsIFt1bl1iaW5kIGludGVyZmFj
ZXMNCj4gICAgeGVuL2V2ZW50czogcmVtb3ZlIHNvbWUgaW5mb19mb3JfaXJxKCkgY2FsbHMg
aW4gcGlycSBoYW5kbGluZw0KPiANCj4gICBkcml2ZXJzL3hlbi9ldmVudHMvZXZlbnRzXzJs
LmMgICAgICAgfCAgIDggKy0NCj4gICBkcml2ZXJzL3hlbi9ldmVudHMvZXZlbnRzX2Jhc2Uu
YyAgICAgfCA1NTcgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tDQo+ICAgZHJpdmVycy94
ZW4vZXZlbnRzL2V2ZW50c19pbnRlcm5hbC5oIHwgICAxIC0NCj4gICBpbmNsdWRlL3hlbi9l
dmVudHMuaCAgICAgICAgICAgICAgICAgfCAgIDggKy0NCj4gICA0IGZpbGVzIGNoYW5nZWQs
IDI3NiBpbnNlcnRpb25zKCspLCAyOTggZGVsZXRpb25zKC0pDQo+IA0KDQpBbnkgY29tbWVu
dHM/DQoNCg0KSnVlcmdlbg0K
--------------RGd5tFqmM3oF7naCf0Ro1Fdn
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-----

--------------RGd5tFqmM3oF7naCf0Ro1Fdn--

--------------0b5UnnRMiCvpXONGGJmUtu4o--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVRzNMFAwAAAAAACgkQsN6d1ii/Ey81
IQgAmK6rxXSsReh0JgUOacaBMsUqZG5cX6X/c5NJ9/Y4+4YjUT2Oxab3fdqEr6jGcGOWi7LQNoVP
kPREd8F76ZrsRsqsuIm8v3a8Agrlv9wyKQDnGCklQYm1JVOUsMjtwpaSWiJl0+1+cE59olU7wael
cWx9EU2vSNOFNpzFDYzc3SPi4K9cJeybmTLIGoXNEAkS8hgwRK5tiQRxbrnTNjZ9Ow8HDnEc24N5
GuaC4Bqogz13ybg1gr2/TJATh77TX+DuYyPIZcd8HTSj5kDk6YL55kydqzoVlXJcABV3gQpAX5qz
gjM5CWgE35/iYZxUNao1b3v28z6GkBLctH1sAkf0rA==
=eibn
-----END PGP SIGNATURE-----

--------------CTHnXsR6bMfvOkfCOkNNTzzm--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 07:34:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 07:34:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631324.984544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2RSy-0007u9-UX; Mon, 13 Nov 2023 07:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631324.984544; Mon, 13 Nov 2023 07: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 1r2RSy-0007u2-Rk; Mon, 13 Nov 2023 07:34:40 +0000
Received: by outflank-mailman (input) for mailman id 631324;
 Mon, 13 Nov 2023 07:34: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2RSy-0007tw-B0
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 07:34:40 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2040.outbound.protection.outlook.com [40.107.13.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17febcd1-81f7-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 08:34:36 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8334.eurprd04.prod.outlook.com (2603:10a6:102:1cc::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 07:34:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 07:34: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: 17febcd1-81f7-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GoDywfOx8t2+R7p3pmdABxqNnngqJmlyf8UOtiKQmAuMbLStoA4ODbr/o4rCE9p5D/vM0/X+ViZYIB8gAb0Bi6MrD08bd65RuU/Oj6T31sI6JET3Jt5l1M4O89DGMSQEGp4Rmzy20t0ibLPNW/SGHxxjGXZZKDbJBHp2JnbiisdumpcXeZroEju3tFZme3rTEgMAKtCGuJN439vRqxedMfFUaIUkkEpRRVqOlmCBETr/Prm956wksDLdzlK8IcV9+DjA+rOtZS2NS8u++pC4vjsh584yzr+DCn61P9mqX464x974h9G0Rpuor9tnrGfPjo2SWFNfUXcrQYL+F8OBbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cvFA9mQBKyyRZbN5UVnqD8Ge0EpTSq4ZkynkZUuWjc0=;
 b=WEGe7pURzHIUdvCRSygDkOJK3Cem3XLAJIDMq1nh6J4GxtG6ionc9oaY/W5R+JhBlYVOzTT9PFJQl8ljoXEf3ys+NVo5szCHL7/xXbJgAZjvs8lomP1R/IQJ2wXRBerZVzCTidVkkdfik3v9kK0oK5JwvUOdAiPlkXmwjddwZ2DFO2DRMrvJaNR6mL0P4GRM/sc0wE/cUw75oDSyNGlKFu/8VSoEx3q3OtobwUpziTzp5dOISFHhdgYihZ/SqFdoKS3rJmRAMhdC2boX8X7KcuyOYFhwsbA6hwR9/EN1peW+abGfLdtFF0W40srvaJU3NAgM7ajsHtRSrdSyjX5nzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cvFA9mQBKyyRZbN5UVnqD8Ge0EpTSq4ZkynkZUuWjc0=;
 b=ktJfdWFwm1gJxcoM95nBw0Y5LhbAt/PxuKU+2wp/kQI+xzslu9GE3JWyT86YrdU2izPF6ft2CFQnKSYH1NNgulZ3Ocs2LCkjDfACR5SmQVqflylOkHkh9886gQH3jc63v6vW7aQxPv+2ctwUx4Cb7sNsBWo6je+cw4OyUtHUugxi0/UiV8pBv3+FA5alwzbn7aDXokxDQSdP6H+sdJm+Qf08STZBNNSnKuWz25CoZmhH1YFoln3rIgeGY4et5vsKmXK2G9qpPYG1aobdAEXkaMdUwpGKASFrKTnXBfL4BpPJjI5lOnxBFlm1Kqnd+RQh+z0kVpwNsAlXiMsUW6dN4g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ce41e6c7-8fff-5bb8-7866-903631490f7e@suse.com>
Date: Mon, 13 Nov 2023 08:34:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH] automation/eclair: add a deviation for MISRA C:2012
 Rule 8.6
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <4de6c01f8af987750e578b3d5733dcd4ca536a9b.1699615143.git.federico.serafini@bugseng.com>
 <bd82d5d8-5bff-cbfa-2014-8be866892a8e@suse.com>
 <1d1baf90-d21f-49b0-91c1-219653aa99ee@bugseng.com>
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <1d1baf90-d21f-49b0-91c1-219653aa99ee@bugseng.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8334:EE_
X-MS-Office365-Filtering-Correlation-Id: 356f01ec-bce0-4f50-ac05-08dbe41aeb1c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	s+kxFRf+Lm/9ldvOvFKln/tbkEikBpAMAyio2uK8tecxf4C82kkw1rZhaH1LI3MJRLp90hYbxPjLEa7+L3zD0KdAK5qRb/3V40GFQyfZ2AQQHj6mkoWFWgQo3X1K/w4TNQPsci+M/jPIRlfNA8f796+3EfGpHFD4zGHJ3Qw0Q2OV54f5IvNFMX4MTSdVZ4IcXcuW1E4W1uf3ulfBud/dNNsWkMGzGO1mOWBDz9dtVDhnDJ6DSPHbKSy1WJB9qfqijuuCGhhb1jFCDlY97GBC/RjPZ6nsOSLd+paxcXu4iZnul6q8x04YHm3FNL9AMNPl2W1Im2eEJSPfR2NUrgYSc5D+Vm7WdUCS2TVYKwkpn4kxqLikoCd4zPaU0jEUbl0H84ARVA90rHQr9gbGRFbZF72o6lE5i4/z/h6fQ79yUcalkIJh4E2lSzoxngRpAYZL0Wf81XpHyhUQiSpF+eZESAo/f45yrIfcexuP2Cg/DiSdFBVCNstLYp2Bszgnd6wlq8PZSymH6B1G/rUQdwNNfIVD11dueJzOJTb37IR/qZBV/hTTeSYsPTE+g/Y/MFsncNHey/f0QRYQHMpwq2eFQry4hHypPUwMudl683op5fV0SsTLwG177qlgNfJiXDrIklROhF7PWBCOxvv37INRDA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(39860400002)(366004)(376002)(136003)(230922051799003)(64100799003)(1800799009)(451199024)(186009)(54906003)(66946007)(66476007)(66556008)(6916009)(316002)(478600001)(6486002)(45080400002)(86362001)(5660300002)(31696002)(41300700001)(36756003)(2906002)(4326008)(8676002)(8936002)(38100700002)(2616005)(83380400001)(26005)(31686004)(6512007)(53546011)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFZiWi9zMG4xc3FBdC8rdXRIYU9RZDVFcHBMUStzVTlLci9FUXA3NXhIeEZZ?=
 =?utf-8?B?S3hWU3hzdkFSR2lBWkZnS0dyQWNUOFd3WUM1TmxlL2hPUHhqdzFHR3RNYXRV?=
 =?utf-8?B?dUp3RHlwQkhwZStkaFBVK1hsQ3FKWmxMT1FENmgzbHEza0EyOXRFbGlQaDUz?=
 =?utf-8?B?QnRlbjVPVGlOV1ovRnNlUEhqZG9BbTg2U1FRSWxMSkNnWkxJd1F0VHhTRkcr?=
 =?utf-8?B?TGo0NE9OeUp4L0NEQnowN09GWXduQVVhcjVJc0lDa3ZWeEM4a01tdHUwTEwr?=
 =?utf-8?B?alBxYnY3VUlEalcrMEZ6OGUwVTBaNlMvYitDazhPVFBoN1djbmw1MVhiSksx?=
 =?utf-8?B?b1NkaG5FcnF6cWN3QUJ2WS8wQkxvZUFuVlV6WWhiRGNSdXNBcTB5RWU3RFo5?=
 =?utf-8?B?Qk0wWkxpOUprcUlQQ1pHTnlaOXoxdmJIcWwvV1JsWHRUUDN6dmxnMDVWRkVi?=
 =?utf-8?B?L1FTd0NManMyWTJ4azVwM3Z1aWVyUm00cG9tYVhWekdJbmF6R3o3aUVZenVx?=
 =?utf-8?B?cSt4ZHV1WEdVNGo1clcyOTJWYm8xOE9IOW4yblA3eWIwZW01NWFLZnpSL1F5?=
 =?utf-8?B?eHF1MStkbHl5eGdoQlpvbTlBamZYa2lQSHZKNzdDUU0wQXBIckJXTzF5SThS?=
 =?utf-8?B?ZVJsMGJaelM0M2RkZHhkQmVLUllTMmY1dFJXZEN0Y2tHYTEzWW9MSndxdG1h?=
 =?utf-8?B?aE13NmJVU0FlOGc3UHc1RUZpcjVUS2JqMDQxNXphNjVEaFRQNTVycjZaeENp?=
 =?utf-8?B?TUZleHM2bGlrdWRRbkllcTZVNVppc0F4U014dWlrZUhjTlRQbWpyN0xyWkNr?=
 =?utf-8?B?T1F1UGViVkFDb3NhRTY3TkpvTXQ5ZThMZ3g4bUc3ZU9RZEdJamdtODhJdWlO?=
 =?utf-8?B?UWVPUXJ2djZjZDFBanNoOHpKK2ZWNDUyUWJ5RGhMaVQ3alQ2bXhLWTdBQ0hT?=
 =?utf-8?B?NTY1TXZHeExtNTlRbXlCV2VZQ2lTNUkrRXZZMDYwVTRVN1hMWDdUblBHam9q?=
 =?utf-8?B?K0xNc0Y0YSt1cExyVEJGVzNZcndxeWF0YTZHNDRjMkhoUHdlV2NjY3BGNXZM?=
 =?utf-8?B?SWw4TGxlaktoLzJ0eHV2Nm5kbndTT1VSV3NUMjUrVDVEY0R6RmVQR1FoS3Nq?=
 =?utf-8?B?aGZLRUxRSzZOTmxQTnBhTkJES3Q1YmdWekpPZm9tNFhtYlV6eloyb2FLaGJl?=
 =?utf-8?B?c0pCbXp1Ukl1N0NBTkd0OFp4UVlrMEpxNVZuZXhRdTRsNFZ2aFJkWmV3WUlk?=
 =?utf-8?B?ek5WN014MENWdjhvamFmeTNwRnFnU2JiYlVSOTUvR3d5NWRGRTAxcVBtQW52?=
 =?utf-8?B?ZXlLZGs4OFBBOVNjK0RBMjQ1T08zS1FjcDd0WllWYlJDVUNaK2k1MUxNMGdT?=
 =?utf-8?B?NkYvajBhVW9PbVRNOHNqNHhLQkc0eVlYOW9XR0NzUk1GcDZnY2dwcHZmNERs?=
 =?utf-8?B?Tm5iUDRvNHdQNkZIaHd2UWJxcUQ4akdmNFRDcGpGUm4wYWZackR5MHVNYm9W?=
 =?utf-8?B?aktxeE9RTnlQQ21WN0NJL1dsZ0JDUTRPZ21RQmxvNlFTdzlYZEJQUzc3VVp0?=
 =?utf-8?B?NWlYSkJyZlNxSVdtdGpscVFEUVNncVk5RXlPa3FBVkt6MWl5R2NzeTBJdkxR?=
 =?utf-8?B?N1RvODYyaURSTi91TEtyYUQxZU9YZXpNbHpNWkNrMnZGcGc1VXBWYWo3VUZK?=
 =?utf-8?B?WEg0M0FhU3hSNER4R21teEVDb05XbTdVaUVnWE5VcnNibXR6SUxPYXpGVXdt?=
 =?utf-8?B?cDM2ZVJkV2xIblBmVmZOb0s2eTdnYnh2N093MlZxaFQxSzAzdEZsMUoyK0xl?=
 =?utf-8?B?bUV4Ri9HZGI1Um51MlRTSE9tOExjd3dsNEhQYkFpd2pZQ29sV2J6d0JmdHBG?=
 =?utf-8?B?dkdncGtGcW5uWmNqMkNVMW11eE02Vk13L3lGNXVnQk5acUdSUHRQK0JXOVNn?=
 =?utf-8?B?Vk00TW1MK3JXVG5NRXZ3ZllrYmJlcE10VDYvV1BnZlVMZ2pUcFhtTGxVYXRE?=
 =?utf-8?B?Q3puQ0t6RTJtRXJkWU8zVVR2NmNKUUluTWJLQjU3dExOY1dnOUVEV2NrUUYr?=
 =?utf-8?B?TkkzaERSTWxWK2RoRnV2U29md0NCSDFRazlGUGhXaVNaYTdmMk0rM1VOTEds?=
 =?utf-8?Q?hTd+9bj4zp5ZgaIDhRbc+4Q8Q?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 356f01ec-bce0-4f50-ac05-08dbe41aeb1c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 07:34:06.9632
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OHlz+Bu4nnI4GaPcmAhOi/wMabqxams2+hFVZw6ihyGXkJEWOczZFP3gs8p6F2bpyQt5hRNIKybDp5FKUcGYEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8334

On 10.11.2023 17:54, Federico Serafini wrote:
> On 10/11/23 13:41, Jan Beulich wrote:
>> On 10.11.2023 12:23, Federico Serafini wrote:
>>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> @@ -214,6 +214,15 @@ definition is compiled-out or optimized-out by the compiler)"
>>>   -config=MC3R1.R8.6,reports+={deliberate, "first_area(^.*has no definition$)"}
>>>   -doc_end
>>>   
>>> +-doc_begin="For functions memcpy(), memmove() and memset(), if there are
>>> +multiple definitions, those belong to different archives and the behavior of
>>> +linking is well defined by the toolchain: only one of the definitions will be
>>> +linked in (the first that is encountered searching the archives in the order
>>> +they appear on the command line)."
>>> +-config=MC3R1.R8.6,declarations+={deliberate, "name(memcpy||memmove||memset)"}
>>> +-doc_end
>>
>> Why would this be limited to mem*()? Anything put into lib.a is going to
>> be treated like that.
> 
> If one day another arch-specific definition for a function will be
> introduced, a violation will appear but that is not necessarily a bad
> thing because it will lead to another check of the compilation scripts
> to ensure objects and archives are linked in the right order.
> However, if in your opinion this will be a waste of time,
> I can propose another deviation based on "xen/lib/*".

I think that's the route to go. As said, the whole purpose of xen/lib/'s
lib.a is to satisfy any "library" references which haven't been supplied
by other means.

>> The description also isn't quite accurate: Per-arch mem*() won't be put
>> in archives, but in .o files. Those are always linked in. Anything not
>> otherwise resolved may then be resolved by picking objects from
>> archives (appearing later on the command line, unless specially grouped).
> 
> What do you think of the following as justification:
> 
> The search procedure for Unix linkers is well defined, see ld(1) manual:
> "The linker will search an archive only once, at the location where it
> is specified on the command line. If the archive defines a symbol which
> was undefined in some object which appeared before the archive on the
> command line, the linker will include the appropriate file(s) from the
> archive."
> In Xen, thanks to the order in which file names appear in the build
> commands, if arch-specific definitions are present, they get always 
> linked in before searching in the lib.a archive resulting from
> "xen/lib".

Sounds much better to me, thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 07:37:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 07:37:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631327.984553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2RW6-0000hk-HH; Mon, 13 Nov 2023 07:37:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631327.984553; Mon, 13 Nov 2023 07: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 1r2RW6-0000hd-Em; Mon, 13 Nov 2023 07:37:54 +0000
Received: by outflank-mailman (input) for mailman id 631327;
 Mon, 13 Nov 2023 07:37: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=xrHN=G2=g.ecc.u-tokyo.ac.jp=ishiir@srs-se1.protection.inumbo.net>)
 id 1r2RVO-0000eU-45
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 07:37:11 +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 6f06877e-81f7-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 08:37:01 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-9d216597f64so633599866b.3
 for <xen-devel@lists.xenproject.org>; Sun, 12 Nov 2023 23:37:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f06877e-81f7-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=g.ecc.u-tokyo.ac.jp; s=google; t=1699861020; x=1700465820; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=gp9a+BtY34M3nIV6PmJeuR8/15liSy+9pDl3esHa2Ck=;
        b=afTtsbHdsHb9GfkTWeLfuDkktLXg41p/xHal0hGf1pg+fqNyEN2htQO7WJalhHv9iE
         PY1nH7tzkefVeNKRskH9MWTMJPpWEbHFkRXZSx87pZ5qn0iZFvSDi3uEXjn278cW2eDx
         AngmNNR0c++shbAhS1dnC5Cdz3B4SoIfAlFdZS8gmY4t42GI2RXZ62d9XvBrWS7osMe/
         sVCkJauZVUZJ6naCv+y4GtsxyLkWixK9pmqIltx9cyREqVEDxKKLWwLvU/t6ElCWS381
         9PBiVddsP7/ix+CL8uFAZNDggNK925sobOz07Ymln8f2dXcy/9U8MzBaMCmLX/n6T0Qg
         rhLA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699861020; x=1700465820;
        h=cc:to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=gp9a+BtY34M3nIV6PmJeuR8/15liSy+9pDl3esHa2Ck=;
        b=bvfiHKJW5nK8Rh8NqEtig+2nRvtjJR1YUL64mGjNbskAxn3WUlwEssfy+TO0esR18h
         z/OKqThaHymtb5q10A0v3T+Cx+vsR1MUjf+nspLjjRK74B3NFFSfogzoEoWCBmvcYFbp
         j8VDmofKSYbCcwid5Y7MWX99+8Y/VKk/7SPdvdNbO+NceVPogiky8ATCOk92vkgg2/HA
         ixILzAes0kMw/z8dZM4ikKhcdVUJI2J7q2IfWO5woGqbPMkpC5DwkQfodnedZkG+jHgM
         ORLOXTJmw1OLAm4SjnwuGbpud8g2OZI9WaOZZQYxBf5Y8yVTvIDBBeNfw2rT3n4m2ETx
         Qr8g==
X-Gm-Message-State: AOJu0YzHP+nrkytxZ1MmYz0/aIFd6ldaQKKXL7dHEgrL0xlcSkjxxp9Z
	xHf4Bh2M6rVzS3NNElEZ+ba6OpwUOdXG/MVfVOvavzsMPPdgQNYN4XI=
X-Google-Smtp-Source: AGHT+IE+lintLhBGIpADXLPSKIOupsm46CwCo0K2PXrnefqIr20ds4fOsJgFNkf6WjMv2eqNlPezMMlHUfrtakVfw4s=
X-Received: by 2002:a17:906:e8a:b0:9e0:eb06:2047 with SMTP id
 p10-20020a1709060e8a00b009e0eb062047mr4532911ejf.34.1699861020656; Sun, 12
 Nov 2023 23:37:00 -0800 (PST)
MIME-Version: 1.0
From: Reima ISHII <ishiir@g.ecc.u-tokyo.ac.jp>
Date: Mon, 13 Nov 2023 16:36:50 +0900
Message-ID: <CA+aCS-EBA38cuP52_tKxomyiyEJani1+9d3HpqpT3BS2sRFECg@mail.gmail.com>
Subject: [BUG] Assertion failure with vmcb->_vintr.fields.vgif in nested SVM
To: xen-devel@lists.xenproject.org
Cc: Takahiro Shinagawa <shina@ecc.u-tokyo.ac.jp>
Content-Type: text/plain; charset="UTF-8"

Hi Xen Development Team,

I am reporting a potential bug in the nested SVM implementation of the
Xen hypervisor, observed under specific conditions in a DomU HVM
guest.

L1 on the DomU HVM guest sets a bit in CR4 of the VMCB12 save area
that is not part of hvm_cr4_guest_valid_bits and performs a VMRUN.
Subsequently, hvm_set_cr4 on the xen hypervisor fails and
nsvm_vcpu_vmexit_inject causes an assertion failure.

The environment is as follows:
- Xen Version: Xen-4.18-unstable (commit
290f82375d828ef93f831a5ef028f1283aa1ea47)
- Architecture: x86_64 (AMD)

The potential impact on system stability and release builds remains
uncertain, but this issue might pose a problem and merits attention
for improved robustness in nested virtualization scenarios.

(XEN) arch/x86/hvm/svm/nestedsvm.c:554:d1v0 hvm_set_cr4 failed, rc: 2
(XEN) d1v0[nsvm_vmcb_prepare4vmrun]: CR4: invalid value 0x20020 (valid
0x750fff, rejected 0x20000)
(XEN) arch/x86/hvm/svm/nestedsvm.c:658:d1v0 virtual vmcb invalid
(XEN) arch/x86/hvm/svm/nestedsvm.c:729:d1v0 prepare4vmrun failed, ret = 1
(XEN) arch/x86/hvm/svm/nestedsvm.c:768:d1v0 inject VMEXIT(INVALID)
(XEN) Assertion 'vmcb->_vintr.fields.vgif == 0' failed at
arch/x86/hvm/svm/nestedsvm.c:799
(XEN) Debugging connection not set up.
(XEN) ----[ Xen-4.18-unstable  x86_64  debug=y gcov=y  Tainted:   C    ]----
(XEN) CPU:    2
(XEN) RIP:    e008:[<ffff82d04029bef6>] nsvm_vcpu_switch+0x34e/0x502
(XEN) RFLAGS: 0000000000010202   CONTEXT: hypervisor (d1v0)
(XEN) rax: ffff830839677000   rbx: ffff83083967b000   rcx: 0000000000000030
(XEN) rdx: 0000000000000000   rsi: 0000000000000003   rdi: ffff83083967b000
(XEN) rbp: ffff83083abb7ee8   rsp: ffff83083abb7ed0   r8:  0000000000000010
(XEN) r9:  0000000000750fff   r10: 0000000000040000   r11: 0000000000000000
(XEN) r12: ffff83083abb7ef8   r13: ffffffffffffffff   r14: 0000000000000000
(XEN) r15: 0000000000000000   cr0: 000000008005003b   cr4: 0000000000f506e0
(XEN) cr3: 00000008397bb000   cr2: 0000000000000000
(XEN) fsb: 0000000000000000   gsb: 0000000000000000   gss: 0000000000000000
(XEN) ds: 0000   es: 0000   fs: 0033   gs: 0033   ss: 0000   cs: e008
(XEN) Xen code around <ffff82d04029bef6> (nsvm_vcpu_switch+0x34e/0x502):
(XEN)  48 83 05 7a c5 3b 00 01 <0f> 0b 48 83 05 78 c5 3b 00 01 48 83 05 60 c5 3b
(XEN) Xen stack trace from rsp=ffff83083abb7ed0:
(XEN)    ffff83083967b000 0000000000000000 0000000000000000 00007cf7c54480e7
(XEN)    ffff82d0402a49d6 0000000000000000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000126000 0000000000000000 0000000000000000
(XEN)    0000000000000000 0000000000000000 0000000000000000 0000000000126000
(XEN)    0000000000000000 0000000000000000 0000000000000000 000000000012af30
(XEN)    0000beef0000beef 00000000001056f3 000000bf0000beef 0000000000000002
(XEN)    000000000012af60 000000000000beef 800000083abfbeef 800000083abfbeef
(XEN)    800000083abfbeef 800000083abfbeef 0000e01000000002 ffff83083967b000
(XEN)    00000037fa582000 0000000000f506e0 0000000000000000 0000000000000000
(XEN)    8000030300000000 800000083abff100
(XEN) Xen call trace:
(XEN)    [<ffff82d04029bef6>] R nsvm_vcpu_switch+0x34e/0x502
(XEN)    [<ffff82d0402a49d6>] F svm_asm_do_resume+0x16/0x187
(XEN)
(XEN) debugtrace_dump() global buffer starting
1 cpupool_create(pool=0,sched=6)
2 Created cpupool 0 with scheduler SMP Credit Scheduler rev2 (credit2)
3 cpupool_add_domain(dom=0,pool=0) n_dom 1 rc 0
4-14 p2m: p2m_alloc_table(): allocating p2m table
15 cpupool_add_domain(dom=1,pool=0) n_dom 2 rc 0
(XEN) wrap: 0
(XEN) debugtrace_dump() global buffer finished
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 2:
(XEN) Assertion 'vmcb->_vintr.fields.vgif == 0' failed at
arch/x86/hvm/svm/nestedsvm.c:799
(XEN) ****************************************

Thanks,

--
Graduate School of Information Science and Technology, The University of Tokyo
Reima Ishii
ishiir@g.ecc.u-tokyo.ac.jp


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 07:38:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 07:38:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631330.984568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2RWE-00010x-RC; Mon, 13 Nov 2023 07:38:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631330.984568; Mon, 13 Nov 2023 07:38: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 1r2RWE-00010q-OR; Mon, 13 Nov 2023 07:38:02 +0000
Received: by outflank-mailman (input) for mailman id 631330;
 Mon, 13 Nov 2023 07:38: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2RWD-0000yC-2O
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 07:38:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 915de5a7-81f7-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 08:37:59 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB7096.eurprd04.prod.outlook.com (2603:10a6:20b:113::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.14; Mon, 13 Nov
 2023 07:37:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 07:37: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: 915de5a7-81f7-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cWkV3lsjyos/eNGhqG8WvWfZAkpH5J89lYy9+xAVy1Gl5F19O7tdOcgzPSurZQnVY90jKPCXmErZIgodOioXWhAYzKWa2x8A28bfRW+iCHT11xezYi+//fSMRrvPSqS3Cb3avnW8CE82RgRm6RtkMkbEMfSeeoNBcayeNDead8Max+w8mrRnVAV/wGF1wUOfkn/6d+zPJp159lF1h5itnWl5qJ95/c8oErDT91rGg4wZk/3+xqieMGELHBW5zqZnyMJlgjMNtUIPRD4bDpQ7OcqWozYeUGygihaOv99JhWtCY1oxjC7rLZwPzRvCQe8eFnQv5dkmPYiGhK9EtWDoJg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hDUeW0XPspN95vuVrFqgAsyIfEXIkSk9X62a717lfHE=;
 b=MI83sGI3vZIPr8FATsn2UXA5iNyDyIEcA0gkLr3aFv+i0fSJvYjFuZGEz7ZxcfH/LRDxrvoypvj85Nijs/825GUMhVpuQFyvYLH7UGv04opes299lanH7la19GNjGFGtwJy7PgPgw5O+TSF6DLIPA1zbgO3Ch4XJPPpXLi2aECG9z8sGSQeM3FyDXuEjZ3J90dA4YoM198/edGlA5G1qw34VWJlUkU2BDH06sDZ91IivslCfvObDfTZwJxYglLowUBFfVx7I+6fVS6CU+y5q+wA7vZUAJEwJnh04Ef7z2C3ncPYtgRdYpecF99zumuSCQUSX3uoRG/F8LH3tBqV72w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hDUeW0XPspN95vuVrFqgAsyIfEXIkSk9X62a717lfHE=;
 b=4aa8dad7R6nXbYCw6iWU7qcUDn0S7q7F9aIdTytJxDtGNZc28xU01egqJshUfWempE35KSpiKlUBTBq8klmEGtCPYr/gEjGyHmZ5QhhYk2hF1b1ZoTtr92x+oCpm+Kz0bpqFRK2HIM7BOtbDPpef+e42bOXQKRo8z9ZY90czAkw5VUclIUx+dCrdAm1s6m+JSmiDRFrizQRYLV5ClpG36mRtgnFNwxRDO63JyPwr4VYCx15uPyW9NQILcjGPu2CYkznsUNr3VFHRyia6S9CC/fkbIYjUa2X381UeYAcjY+uJyxJ7kXAsm7Y61Zxda8jEwDUEGKtaO/fQnbPYFN7/ew==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e70d9b85-00fa-3d7e-8c0a-d463cf0e0c74@suse.com>
Date: Mon, 13 Nov 2023 08:37:55 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
 <9d75d794-a333-792a-786c-064d35910980@suse.com>
 <7265e418-6c40-47ea-97a7-bcf3c2e61cf7@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7265e418-6c40-47ea-97a7-bcf3c2e61cf7@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0433.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d1::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB7096:EE_
X-MS-Office365-Filtering-Correlation-Id: e14d5072-dc56-40cd-2cc6-08dbe41b73e5
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:
	Nhw1wJBWGPWAnhx78WZZoly77hoN8E+nNBmudIHg3s9ZPlRlCZrvLDurE+tSbP3/B3oqW4vlkjw6z8awKm/HatTpNH7evBrWGQcF0VXTpXZDABKFcGy+dBWnTtW3Vd8aKzmKO5hJ20keHF0p78ozeifJ0Mdn2faCMcr2R7k/R7cAXl6QfnRN6q1bCXktgXcORXe7nzEdRtT/WNXGbIKgargRj90fEYhpTnrB/1w70KImEFYUxwsYr/pUk6rCUu4bw8fsP9zi9UhdIBXFGptUfCqZBc3f7T01bC5MiHI3Zoq8cOdADxw8mm3JFFNGoqVgobqs5x3D9RHeK3+Khg21jevRiNZFDkI8m+QIhAARyTKDZozXN/CCi7YNEgJs/H1F+iL3DOsRuMvqIbqHCgnuAgKPaEjvvClcKEHBuhYI82fDT6nB57yHXRDS4Yc93dfGy/AcJO38HwlFoUN1rT5OptvciRT74yQDWOemRuWCZIjfm4Js5ukH4cb1RqSRT7WAtVB/1jkIJ/THTppGTdBVLF0gF5uq9iUtbAqC2xrDpQV/99ilUEhacrvgh4SxVDSACmw5M+8VUv+HTQUYUznFUVYciwII8ACf0Lmt3hYsDElWXhzTMIARJweTABjGIzT0OTSjwAcJ5VsJASYHfV4b0A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(376002)(39850400004)(366004)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(2906002)(6506007)(53546011)(478600001)(31696002)(86362001)(26005)(6916009)(2616005)(6512007)(54906003)(316002)(66556008)(66476007)(66946007)(6486002)(38100700002)(83380400001)(5660300002)(8936002)(36756003)(8676002)(4326008)(41300700001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ODZGeFcxTDdxaVpNbWc2QzlQZG9lamFNU2Nwb09tSlpLNHNDdTJQa1EzZHFB?=
 =?utf-8?B?ejFpbjNUWE1JVHUvNm1TQ0JscmZLN3drZjVHUlc5U2lnTWFpdEdyUTNoKzNx?=
 =?utf-8?B?Yk9wNi90T2dZZlNUSXc4Yll3VmJYZGlCWWx5d0JKNWJRdWFXdzFZbmJpbU95?=
 =?utf-8?B?aFhEVTdmYy9LcWRUMWlNSWNab2pRUjVTWFFQT2RUcmc5bUdQOExKbzBKUXov?=
 =?utf-8?B?SnRLbkJySkExOHIvbEVnME92UWRnMkN2ZmtkSng1bmxobW5WUUczNDk0amJ4?=
 =?utf-8?B?SEk5b01zVEZSaHI5NVQ4blFKSGQvelpKeWFycW9ld0ticjNzZC8vOFRwejNP?=
 =?utf-8?B?WVlvZVV0MlBsWXpUUm1oV3JjMURndW9PTzMzb09GeE1weXRQNk5GTkU4Q1R0?=
 =?utf-8?B?eHViaGIyTS94NWJzT1Y2WnoxejdtZzNJWndCeGh4MGw3SmpBT1pORmxDTmJn?=
 =?utf-8?B?V3lBUVRJTUtzSnhreFJNdms0Qi9xb0d3R0NaaXdmZ2trYnB5dVl4NDF6a3Jr?=
 =?utf-8?B?SFNpSmJldk1oNTdrL2dSdHJDdzNLT2U1ZGtVMitQUzE1MWhuK2lHWFBESlZk?=
 =?utf-8?B?ZEZQNFBieXRWNWljRVpMa1JsTHM3dTdYRjRFM012SENNdjhwWnMvaHZBNU9w?=
 =?utf-8?B?L21jbjgvSXVmeUZLMThtejJycTAybElsalVJamZOdTNBemQ1c2ZOcXJlYWI5?=
 =?utf-8?B?S3BUT24wVi9hQmdDaElhalVFdDhPdXZabEVPbHpXSkxoWEZZTTJQZFFQU3dW?=
 =?utf-8?B?VmZVV1lvemhtQ254M0xWMDJXLy9MVE0ySWxUUHZGdTBCWDVWV2tlU0d2VXNi?=
 =?utf-8?B?VmgwcWIrTFBPV2xabzlyOHNBK1ZmQVE5R1hzQmpkK1c1T2ROd2xpdDZxTlQw?=
 =?utf-8?B?Ymh2K0E4bXhKbkpVdmgrdUJVYWZISzVwUStZa3ErZ2tieTZ1Q0xSdmpiblBp?=
 =?utf-8?B?UFBxSFl6d0dTQnJqci82UDQybUo0RmFUWXN1ZmMyUXRTTVNTODk2dXVIZWNr?=
 =?utf-8?B?NHljekNyblhHYkVvbkNKTnBDZ2N0RVE0aWx1L0V4ekJFWFcrVFl1aklXUGRB?=
 =?utf-8?B?Wlpmc1JmampsQy90NTU3SzlBKzI3SG1SbFV5UkF2aTZFVVY3MkxPczJnSzJ4?=
 =?utf-8?B?b3h6U0piL3N3TkdwQnI0SU5xbWMwWVRZajFjWDExQzhSMGRQaG1LRkRMSC9X?=
 =?utf-8?B?MXBrN2VjdTFLSldCQUdpQXRRNmRUWEZXMHZZanZoY2x6Y3hvSWZUUjRtck5k?=
 =?utf-8?B?U2VrVUR6dXZVMEs1aGg3eVI3V3hGdlNVaW5iNkdYUktXNEN3MlF6d0lVZ0Vw?=
 =?utf-8?B?VE15Q08vT243MWRpdENiRzlGc3RPaXI2bDNRSW1rVmo5c0swVlVETHlEQ2hr?=
 =?utf-8?B?OVZKOWFqNkIyNUR1RkVqbXc2WDd3U3NkTzEvMjFEbHNXWUQ0THdCOFZBMWQx?=
 =?utf-8?B?Z2M2MjUrVUFncjVJaVExa3pkRk1PcmJPZFRxNVRBTFNiNStMQnlHK3F6dHZE?=
 =?utf-8?B?aFMrT0x2S24vRG1NekdNN2Y3TmRzUzA5R2tOUDJhS3E3QkU1citEcm9XYXBQ?=
 =?utf-8?B?Tk5RV3BHMU9ST2Q2TFdLdTZBVkdCdldZYlE4SmJCelptQjJrTzFiM2ZmcllN?=
 =?utf-8?B?QVJWcU1uTmQ2bDFlaDJwdzNnNTBvYmo5UDVtS1lSQUpQUExaZ20rNHJ1VXVa?=
 =?utf-8?B?SFdwVHhJR2NqM3RwT2VBd3lXVHFFRDhzV2EyeTVTSzQwbWdETGNsQ2hBdHFa?=
 =?utf-8?B?cEZUM2toNUdtZlVzWGQwM0NlZzdrcXB2VDhJMlZiQkd2R1E2QkJ2dEtPcVZn?=
 =?utf-8?B?MUNkR1JqcGN3RURuNUpUYmVEc2tnQnpFZWdEekEvUUtia1VtMkVtV0VwcjRD?=
 =?utf-8?B?d25WZUhqNmZRR1c4K0h6THFFTVc1b1RCdEthZi9YdXZ1N0xWU0gxSkFFVTFH?=
 =?utf-8?B?K212bXQ1S1cxRGd4d3I4djVyUStIZUlZTzhTU09SMy80a3M5d1JlbWFjenJB?=
 =?utf-8?B?NTlMYnQyZFN2RHpxK3N2Y25pVkZpSUtnM3FDTDdOckFTaFNyZm84TEhZNC81?=
 =?utf-8?B?ZW5jallpREZvcEZSRENhbkRwbURtQUpaa0R1a0hGOXp5U1NxNG0zT3NzSCti?=
 =?utf-8?Q?Yj+pc/lptn91pS67Zj2lPu+Bo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e14d5072-dc56-40cd-2cc6-08dbe41b73e5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 07:37:56.4349
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cABpgd7yVwCY9BnVyQSd5T/T2/zeLb/i1V3lMxbMbVmf4r8nEk87Kuok6FsFsON3f/VbIPsg5qKs9WHJ6/oX6A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7096

On 10.11.2023 18:38, Julien Grall wrote:
> Hi Jan,
> 
> On 10/11/2023 12:44, Jan Beulich wrote:
>> On 10.11.2023 13:23, Roger Pau Monné wrote:
>>> On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
>>>> Get the own domid via creation of a temporary event channel. There is
>>>> no "official" way to read the own domid in PV guests, so use the event
>>>> channel interface to get it:
>>>>
>>>> - allocate an unbound event channel specifying DOMID_SELF for the
>>>>    other end
>>>>
>>>> - read the event channel status which will contain the own domid in
>>>>    unbound.dom
>>>>
>>>> - close the event channel
>>>
>>> Should we look into introducing a way to expose the domid, so that in
>>> the future we might not need to resort to this workarounds to get the
>>> domid?
>>>
>>> Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
>>> a non-HVM specific leaf when it was made available to HVM for pvshim
>>> reasons.
>>
>> Couldn't we retroactively generalize the type-agnostic parts of that
>> leaf?
> 
> This would only work for x86. I think we want to have a generic 
> hypercalls so it can be used by all arch.

Hmm, yes, perhaps. Otoh it would seem desirable to me if arch-es also
provided some extension to an arch-natural way of feature detection
(which CPUID is on x86), without the need to invoke any hypercalls.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 07:40:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 07:40:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631336.984577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2RYe-0002ie-7M; Mon, 13 Nov 2023 07:40:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631336.984577; Mon, 13 Nov 2023 07:40: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 1r2RYe-0002iX-4e; Mon, 13 Nov 2023 07:40:32 +0000
Received: by outflank-mailman (input) for mailman id 631336;
 Mon, 13 Nov 2023 07:40: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2RYd-0002iG-14
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 07:40:31 +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 eafb1e6c-81f7-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 08:40:30 +0100 (CET)
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 46736218F1;
 Mon, 13 Nov 2023 07:40: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 1680B13398;
 Mon, 13 Nov 2023 07:40:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id v/3kA+rSUWVcWAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 07:40: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: eafb1e6c-81f7-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699861226; 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:autocrypt:autocrypt;
	bh=Hxer3f0h6JhLk8Fw3eUEndBiNXXOkg12tP/3IGXiErQ=;
	b=tsjQ5YhCEEtCVSS6LygAvmn1shpYs5KjhWVMHXTpNi/g4S4bYtIhn1BhgofRCyrjMBhzH4
	QEy2r2UXp35KfaehKyUH7QWJpEJWf1NbYR5LPdYaHbVB8je/UYY+ZBuSc2RmSntihx5zT3
	aAEZkKKZFq6GEuBqxdbjaQ/Fkpz1ILU=
Message-ID: <5641db4f-a599-429f-b64b-3bbbcc157af6@suse.com>
Date: Mon, 13 Nov 2023 08:40:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-US
To: Julien Grall <julien@xen.org>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com>
 <06119077-00e4-4b33-a71e-b6eafd63271e@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <06119077-00e4-4b33-a71e-b6eafd63271e@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Xtqcp0Lt5hJrT38ZlQRVBTyo"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Xtqcp0Lt5hJrT38ZlQRVBTyo
Content-Type: multipart/mixed; boundary="------------hmsZr5vzWZcb9IxcJyvJQz2F";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <5641db4f-a599-429f-b64b-3bbbcc157af6@suse.com>
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com>
 <06119077-00e4-4b33-a71e-b6eafd63271e@xen.org>
In-Reply-To: <06119077-00e4-4b33-a71e-b6eafd63271e@xen.org>

--------------hmsZr5vzWZcb9IxcJyvJQz2F
Content-Type: multipart/mixed; boundary="------------zEHRFpG99PcYZvYJ6Y0R06yv"

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

T24gMTAuMTEuMjMgMTg6NDAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAxMC8xMS8yMDIzIDExOjM0LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gR2V0IHRoZSBv
d24gZG9taWQgdmlhIGNyZWF0aW9uIG9mIGEgdGVtcG9yYXJ5IGV2ZW50IGNoYW5uZWwuIFRo
ZXJlIGlzDQo+PiBubyAib2ZmaWNpYWwiIHdheSB0byByZWFkIHRoZSBvd24gZG9taWQgaW4g
UFYgZ3Vlc3RzLCBzbyB1c2UgdGhlIGV2ZW50DQo+PiBjaGFubmVsIGludGVyZmFjZSB0byBn
ZXQgaXQ6DQo+Pg0KPj4gLSBhbGxvY2F0ZSBhbiB1bmJvdW5kIGV2ZW50IGNoYW5uZWwgc3Bl
Y2lmeWluZyBET01JRF9TRUxGIGZvciB0aGUNCj4+IMKgwqAgb3RoZXIgZW5kDQo+Pg0KPj4g
LSByZWFkIHRoZSBldmVudCBjaGFubmVsIHN0YXR1cyB3aGljaCB3aWxsIGNvbnRhaW4gdGhl
IG93biBkb21pZCBpbg0KPj4gwqDCoCB1bmJvdW5kLmRvbQ0KPj4NCj4+IC0gY2xvc2UgdGhl
IGV2ZW50IGNoYW5uZWwNCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20NCj4+IC0tLQ0KPj4gVjI6DQo+PiAtIG5ldyBwYXRjaA0KPj4gU2ln
bmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+
PiDCoCBldmVudHMuY8KgwqDCoMKgwqDCoMKgwqAgfCAzMiArKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrKw0KPj4gwqAgaW5jbHVkZS9ldmVudHMuaCB8wqAgMiArKw0KPj4gwqAg
MiBmaWxlcyBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspDQo+Pg0KPj4gZGlmZiAtLWdpdCBh
L2V2ZW50cy5jIGIvZXZlbnRzLmMNCj4+IGluZGV4IGNkYWU5MGY0Li5hZjlmOWY5ZSAxMDA2
NDQNCj4+IC0tLSBhL2V2ZW50cy5jDQo+PiArKysgYi9ldmVudHMuYw0KPj4gQEAgLTI2MSw2
ICsyNjEsMzggQEAgaW50IGV2dGNobl9nZXRfcGVlcmNvbnRleHQoZXZ0Y2huX3BvcnRfdCBs
b2NhbF9wb3J0LCBjaGFyIA0KPj4gKmN0eCwgaW50IHNpemUpDQo+PiDCoMKgwqDCoMKgIHJl
dHVybiByYzsNCj4+IMKgIH0NCj4+ICtkb21pZF90IGV2dGNobl9nZXRfZG9taWQodm9pZCkN
Cj4gSSB0aGluayB0aGUgZnVuY3Rpb24gbmFtZSBzaG91bGQgYmUgZ2VuZXJpYyBzbyB0aGUg
Y2FsbGVyIGRvZXNuJ3QgbmVlZCB0byBiZSANCj4gbW9kaWZpZWQgZXZlcnl0aW1lIHRoZSBp
bXBsZW1lbnRhdGlvbiBpcyB1cGRhdGVkLg0KPiANCj4gSG93IGFib3V0IGdldF9kb21pZCgp
Pw0KDQpGaW5lIHdpdGggbWUuIEFuZCBJIHRoaW5rIGl0IHNob3VsZCBoYXZlIGEgcHJvdG90
eXBlIGluIGluY2x1ZGUvbGliLmgNCg0KDQpKdWVyZ2VuDQoNCg==
--------------zEHRFpG99PcYZvYJ6Y0R06yv
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-----

--------------zEHRFpG99PcYZvYJ6Y0R06yv--

--------------hmsZr5vzWZcb9IxcJyvJQz2F--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVR0ukFAwAAAAAACgkQsN6d1ii/Ey+F
OQgAmtPGc1PZvrFSCCMlFHqk8mf7HKIZJpbSJzhml1wjDwOKwd+Gu7p/cHCXSQ2uq8RWNo3pPCsg
jrzVkgtc25Y+m7Rsbz2I9T9DfxENXG5wl20xeaqaDTInKvkYkL0LsXVrOA4+pl4xkl5VNeK7O72Z
clEy5kO+Dvm8L42K37vHwQP+8MpVLKnUMtk0lukoi/zpdHySoK3Pf8exZaDq5olFXkS1kT2PGcXV
KRgAmQNYQk75R9xEQIjtdmzNAut809R+P8eKdb0PGl7PLOQAMkWpvq0iSdZVlYePEpoMElXpGMfd
zUcUPeGi6M5NVp5VfmRxNAO6kkqJ88OVn36PsOIw8w==
=7wT/
-----END PGP SIGNATURE-----

--------------Xtqcp0Lt5hJrT38ZlQRVBTyo--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 07:42:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 07:42:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631344.984591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Raq-0003R4-QG; Mon, 13 Nov 2023 07:42:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631344.984591; Mon, 13 Nov 2023 07:42: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 1r2Raq-0003Qx-NN; Mon, 13 Nov 2023 07:42:48 +0000
Received: by outflank-mailman (input) for mailman id 631344;
 Mon, 13 Nov 2023 07:42: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2Rap-0003Qr-TP
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 07:42:47 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2051.outbound.protection.outlook.com [40.107.7.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3cdacdfa-81f8-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 08:42:47 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9258.eurprd04.prod.outlook.com (2603:10a6:10:372::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 07:42:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 07: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>
X-Inumbo-ID: 3cdacdfa-81f8-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EjDzev0lUJe/fopdm2N3VmubACCSzFcd5fRcjBxdAWmlVVYLolxIWXXObReajDkTfPz4aWMEjPTNuUWfoV/GlrsncPIrAMn+V5ZCZozsaPHE+2JtsCVXl1/n3r3YxF5AAG8dvw6OeMzGQksuXS22AunGRhaUVi/r6cAOP74AGdeFuYs+0Janw850pW4pkflyRjBOCb1kvA7pG2nl4AF5x3pd7z4iSJE4Oe6ckP1N7Z/T02NoS1azK3PMAHROUu5yAuz2zlFUOPGpEDfiwAr0RwR6gRUNrZ1C83G+kW8Qy92FpEsWU5eII9oHX7SrnvKYWvqW2NTiKq98q7NFw4X8Cg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vQdPypHk1D38FvhAeKAP2lmJ5NwIRU0tMSeoUducric=;
 b=Sm4NhG2n7d4nn28j5N/xmbe6Nx5+DKF1BpMQ44gEd+pXZjWtucXTAZQ/5hWCfoj8sfJ0OPIIOiUX/9ljhh+UsIXpz4Ml15gLOo6grPvfkgfTS+2ItREGvETYVfokRTbmL2cnZXg6LhhnDS1HvjuBE7jXGxMyg1IXo88eGQ/u3ccyNm9TJhMFQKFnr4apFRqEAcuMYhSzxt361qOhbA5jeiOpcZt3125LzdEljae76Daxpm5qLxrrwjGLVJylmu8qfGyPfu/i77tM0BIxAC5CIvz/n1ghB9Hgj6WLVNSzBWoxBQEqRVQWie3Vb6kvC96gSw++ElAkDuPNfOeVc38mWg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vQdPypHk1D38FvhAeKAP2lmJ5NwIRU0tMSeoUducric=;
 b=S3VUhPT+2TE/659x/O1J83X3e04/Y+eeXwl/rY6hwBM3BmcybLNOyt5LD3OJFommcPHlXv3LRwCw4QI2/vn+kOhzmOus5+eKKWIzlDfSLR6R4YN+KjXuEcrkg5KnqsOu5ut1+uKgjULarZdLHnnMdOlitmv1WRx78H/C4M5S7/e1W5NjwXHzfBGjpQyuLGSEyKD3e4VlJ9n56Z94RZDA8Kxrjp0rs0/Qmz8JtKTfOB9Y7K+1JlVqj9PHb1b1qIIR/GWpw2y6Aexl3wg8py5lFTGqSICA5RL3uufIG5weaxBpMiG1/h2WsVM1VuXPF9YHTvREzzTl+xgJyDd9l+jd9g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5a3ae560-13fa-b8df-75b7-6473048232f3@suse.com>
Date: Mon, 13 Nov 2023 08:42:16 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH for-4.18] docs: Delete kconfig docs to fix licensing
 violation
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20231108143751.49309-1-andrew.cooper3@citrix.com>
 <a6f54856-f0e2-a2ef-5cbc-900ed87c5d31@suse.com>
 <alpine.DEB.2.22.394.2311091558380.3478774@ubuntu-linux-20-04-desktop>
 <a162733f-859f-41ce-8575-89b0e2cf702e@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <a162733f-859f-41ce-8575-89b0e2cf702e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9258:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ef6007e-fedd-4b3a-e533-08dbe41c0f63
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VlXBLv8QCkbwDgvL0Ggydl/qHVHFQudoXGX2byy/kEZNbHG1M1/gbSwsxzhPjmmeMZ2EwDQ1aNhdTX1/xVAp3IjQHk9dYkzH3orvcXLrNv8pF+LEcvhvlXe63H+tAxJxVBMtgaBQJwjvuAFodiDrhsbHr6IOWnIvzqsJJqzGjLXUY44rexNSX0T7xdHqnXn4wMGOccwa9D4TantDnUsRlVFNqsux5bNT1SJ8cOujvy4+rqc0l7jKk+vqmEPIo+82rlQD5hHJJc+HRE7UeqTuVtdZzqDSWJFAiAwRpIWhwKi8GGnYfs/J+xUOjb4WY2lvHOkjF1hqyKsbWrFeq76yRoX3r3SnvaP7eTkX7TtiZRQCoNuepqsxaHogP0Xkd3blLiWLxKSDWNBjGayY41GgMamfdN2obO1kypsRxJBLoH4MG5eHtFHefV+ifFCzQRL8sK4XfnM3cMreCJ1SZmvy2tHO6nxGOPdbPtybg2XZc/l6p4ile71tiMy3++fZdsHQSF72o3tP517uR+/qBKywp837vlr2baIBfPdzP1ZO/ftGS6HAKGZIg+il6Pp4k3ou+G6V4wYW9+pDIUoPo9ct2+b5qxS/j6qIINqYOHuHDl6A4FgH2Qh3EhOuJAf9tu03lejgTp9kS820KTnPiyH1fg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(366004)(346002)(396003)(39860400002)(230922051799003)(186009)(64100799003)(451199024)(1800799009)(38100700002)(2616005)(53546011)(6512007)(6506007)(83380400001)(31686004)(26005)(6486002)(966005)(478600001)(66899024)(66946007)(54906003)(66476007)(66556008)(316002)(6916009)(36756003)(41300700001)(8676002)(4326008)(8936002)(2906002)(86362001)(31696002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dndXQk9mcDB0MkhtdHU5akIrZkZYSGg1YTMxSDFrYjFjbVhVbGRUWUdZa3BJ?=
 =?utf-8?B?YU9VNytGVldzMS9UUitTdlZmM1o5cEw4dWw1WitYQjBHb2RhOC9kRWZvdnRN?=
 =?utf-8?B?b1hvK3RZNTlHSVBZbEpTZExaanFMNU11Z1NoVEJnSUVMTzM1dkk5NXF6TEc2?=
 =?utf-8?B?b1dZbnVKL2xHZ003WkhldE1wQmZwQVpNazBrOWVXVEpaZm5yVDhOeGFQUXR4?=
 =?utf-8?B?SkNTSE9Lc015NU9MT2NjbVIyRjM0UWMvdWp3ZWpnY0IyaFF4MXhnb0ZMOHlr?=
 =?utf-8?B?Q1VsTitSTHpTeE1mYkxGaHhvSTl0N3E2L3h0QXlRdWE4bndWUHg2ODFLVzVE?=
 =?utf-8?B?YnNKMmZLRFo2akxzNnhEelJJVzl2Qnh2ZEdIVDA3emI2emlSc3BOcGJUSG10?=
 =?utf-8?B?aTloWFdyNVk3ZlZHUzZ3ZElFL3lQZE5YZGlydnloS3VmWXlna09RYURNZXlC?=
 =?utf-8?B?R2V5V0NXWCtMNVgvVVAySjhZOWtOUmd2T0hJV1M1ZUJOSkZERmN4QnZiTjMz?=
 =?utf-8?B?S0NlNXdxbFJJQ3d5OFVLWGsrSlE5c1VJY290N2VCdnpySjc1Q0lnQzVvZWhi?=
 =?utf-8?B?WW1zeFlQMVJqaW9zQVcyb3F4VHpEa2dxbXdGQmVlK0VxYjMzcVk0SUFsRWZC?=
 =?utf-8?B?dUltSW44SVM2bUQvOHZQMzJJMURZbWEyY2VQaGJ2WkpUMjZ6Mkk5ZVR6RWJQ?=
 =?utf-8?B?WHJIZGhibE53VW1DU0RrbVp6QjRZem92ZHRzeEpXUnI4UWJXZk5NN044Qmtp?=
 =?utf-8?B?Zlo4Z09hTEIvQnAydTM3WTBjU1ptRXJjY3RkNmswUUt4TFJKb1ZLVHRSeTNN?=
 =?utf-8?B?QVJoVDdiV3JGc0x3WGpWZzVUQk9PN0I1YWpRUjRKNDNHVEw2aituRi9MNk5Z?=
 =?utf-8?B?TlI3SDM1eGtROFhEUllTNmJFbXc3Sys5WU0zOVN5cjZ4RkdNUW9oUy9PeDBN?=
 =?utf-8?B?ajJBMmVuc2hTUld5KzhWSWRzRFZJY0U5UmRkK1ZFa1BraVg1WGk0SG1oNFl6?=
 =?utf-8?B?c01xWVpLUk9Fd0s3cTRvU3RLUEFoTVZBRHBEMDdteStWYzF5ck9WTS9DdVBo?=
 =?utf-8?B?a1BwZ0twVVVDK2Y3Zm9rZ1ZzeWUzdEtlUDZJSW1ad2g1N2JNaVZmamdIK3hF?=
 =?utf-8?B?aGVta3FwSVFLd1htSXV5cFk4aCtUS0dFSzJzUzNqNUp6RVYvSzZScEx0WXhY?=
 =?utf-8?B?MWRVUmtLS2lncGNMMEZZSkVwTkMySHB1T210b1lsblZOejdwSndWMFlRdVpH?=
 =?utf-8?B?R01VakVXTm82WllRaGlrWG1aQkV1V01mNnNLSE1ESGJqeTBVZ2JEa1ZiaTJQ?=
 =?utf-8?B?a0NPUXJFVVZ2aFpDT3VRcGlBU21NK00yd1BpeUdqcmNSQ1RPZ09hdGxCWVFX?=
 =?utf-8?B?Y204UUltekRsRFo4VjJmQ1E0RklTd2JRV2xSVU9lb0F5ajRCVVZqZXhCVHNX?=
 =?utf-8?B?NUZuUVEvT2tUMzJzaFdLNmk1eFRSdWpIYVhBZVNGcFBlVHFGclpWUU5DcFBP?=
 =?utf-8?B?SkJCSDJ4REd5Vkx1OVJ1MlVEQW51d2NlVVN0aDg2NzNTY080YWQyS0orVFBE?=
 =?utf-8?B?bDUrVWlMK3VnTkM5eEhNSlpyNGEzR0RzbEZUZUwxV3B4Mno1MFR5UTVkUXAx?=
 =?utf-8?B?Ri80YzZZWFpIT2FiQXdETEZLa1pmUWl4YWZPWHZTa2hQbUNRMjRsWmVvZ3VG?=
 =?utf-8?B?OEY4dW5OM3pKY1BqeWZjV1pETlFwN1lKYXBIKzNnM3JLMjNncWsvQnNLRVJF?=
 =?utf-8?B?UEZzNVR4OWxKcSt1em5yaks4cEhaSjVBNjVmUXQvQkR4NC9XV3hFcDRmNW1U?=
 =?utf-8?B?RmREU0hMdEtwUDd2alFDZHF3elEzUklTUThGQkliMXdKemoxczZsTnlZSnJk?=
 =?utf-8?B?Q2FZM3JGWUlTVmpWTXpPSCtyVlZsa0EzUDZKV0xOU0g4SFNab1Jyc2grMWpx?=
 =?utf-8?B?dVBSWWJaNVdkNlpCZHZaUXpTZ29uWmpaSFVOVlZQZzhPRkFFbWJQNlJXRVdS?=
 =?utf-8?B?alB4TW4reXcxQ1FCeWNWaHhXQjhTOHJwd2pmVVZNditoR2NUUTVnVUdsSGVl?=
 =?utf-8?B?Szg2WjNQamV2NVR3T0Vkbmx2bmRYU0pCVGZKOTN2Sit4eWdGczJaMzl4MHRt?=
 =?utf-8?Q?rPYGKITCH8eHeZzy8QLnT2r05?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ef6007e-fedd-4b3a-e533-08dbe41c0f63
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 07:42:17.2614
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eb16bdrhsZNE9nq2yzXq8NNXInDygqKdJRDh7gXeNlKeNfKSBHw9YdPbdAs6YyBDjp1lByk7RVu3Kyq5p6bLBg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9258

On 10.11.2023 23:13, Andrew Cooper wrote:
> On 09/11/2023 11:59 pm, Stefano Stabellini wrote:
>> On Thu, 9 Nov 2023, Jan Beulich wrote:
>>> On 08.11.2023 15:37, Andrew Cooper wrote:
>>>> These 3 Kconfig docs were imported from Linux erroneously.  They are
>>>> GPL-2.0-only in Linux, but have no SPDX tag and were placed in such a way to
>>>> be included by the blanket statement saying that all RST files are CC-BY-4.0.
>>>>
>>>> We should not be carrying a shadow copy of these docs.  They aren't even wired
>>>> into our Sphinx docs, and anyone wanting to refer to Kconfig docs is going to
>>>> look at the Linux docs anyway.  These, and more docs can be found at:
>>>>
>>>>   https://www.kernel.org/doc/html/latest/kbuild/
>>>>
>>>> which also have corrections vs the snapshot we took.
>>> Imo this reference ...
>>>
>>>> Fixes: f80fe2b34f08 ("xen: Update Kconfig to Linux v5.4")
>>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>>> ---
>>>> CC: George Dunlap <George.Dunlap@citrix.com>
>>>> CC: Jan Beulich <JBeulich@suse.com>
>>>> CC: Stefano Stabellini <sstabellini@kernel.org>
>>>> CC: Wei Liu <wl@xen.org>
>>>> CC: Julien Grall <julien@xen.org>
>>>> CC: Henry Wang <Henry.Wang@arm.com>
>>>> ---
>>>>  docs/misc/kconfig-language.rst       | 701 ---------------------------
>>>>  docs/misc/kconfig-macro-language.rst | 247 ----------
>>>>  docs/misc/kconfig.rst                | 304 ------------
>>>>  3 files changed, 1252 deletions(-)
>>>>  delete mode 100644 docs/misc/kconfig-language.rst
>>>>  delete mode 100644 docs/misc/kconfig-macro-language.rst
>>>>  delete mode 100644 docs/misc/kconfig.rst
>>> ... wants putting into, say, the last of these three files you delete, as
>>> a replacement. I can't spot any other place where we would have such a
>>> reference.
>>>
>>> One problem I see with deleting our shadow copy is that by referring to
>>> Linux'es doc, the wrong impression may arise that whatever new features
>>> they invent we also support. Thoughts? (If nothing else, I'd expect this
>>> aspect to be mentioned / justified in the description.)
>> I think the ideal solution would be to replace the shadow copies with a
>> link to the Linux docs of a specific Linux tag (v5.4), instead of
>> generic Linux master. I am not sure where to place the links though.
> 
> I don't personally think we need to keep any other reference around. 
> They're not interesting, because they're not going to be found by anyone
> except those who already know they're there, and won't need to refer to
> them for the kind of content they provide.
> 
> Kconfig isn't a fast-moving target, and there's nothing new in Linux vs
> what we've got here.  The only interesting difference between us and
> Linux is the fact we don't use modules, and we didn't even strip that
> out of the shadow copy.
> 
> We do have xen/tools/kconfig/README.source which states where it came from.
> 
> I could be persuaded to add the following hunk.  What we have isn't
> precisely v5.4 anyway - we've got some reasonable differences in the
> makefile side of things.
> 
> ~Andrew
> 
> diff --git a/xen/tools/kconfig/README.source
> b/xen/tools/kconfig/README.source
> index 44631f68e8..ac394106b9 100644
> --- a/xen/tools/kconfig/README.source
> +++ b/xen/tools/kconfig/README.source
> @@ -5,5 +5,7 @@ in this part of the Xen source tree.
>  
>  xen/tools/kconfig
>  -----------------
> -The kconfig directory was originally imported from the linux kernel
> -git tree at kernel/git/torvalds/linux.git, path: scripts/kconfig
> +The kconfig directory was originally imported from the Linux kernel
> +git tree at kernel/git/torvalds/linux.git, path: scripts/kconfig of
> +roughly v5.4.  Linux's documentation can be found at:
> +https://www.kernel.org/doc/html/latest/kbuild/

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

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 07:49:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 07:49:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631350.984601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2RhB-0006gF-F7; Mon, 13 Nov 2023 07:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631350.984601; Mon, 13 Nov 2023 07: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 1r2RhB-0006g8-CZ; Mon, 13 Nov 2023 07:49:21 +0000
Received: by outflank-mailman (input) for mailman id 631350;
 Mon, 13 Nov 2023 07:49: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2RhA-0006g2-8Q
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 07:49:20 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2674c018-81f9-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 08:49:19 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8229.eurprd04.prod.outlook.com (2603:10a6:20b:3b3::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 07:49:15 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 07: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: 2674c018-81f9-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d2zugJ0Ijrf2G/Ct3md7Xriuh67Ynt0qEGazpErXEYSTBEl0zMxEa6lRpJa+d3yx+4dRJIMiPyv3ct62icQ44JncBdh85/+2wfVNcS+ALrBf/9XpZlfuCPhqHTINcDLw+jYeLUoVHOG9gW/fo5SNbxgRKdkKJ13++oZrh41ovfp8kNIFidAnut8b67WxZxkYDomRP7UnASvUe1RGF+NXDxvkG21njrO4LhJ0WapMQ9FfglLgJ/ZadfBk3NIzqDc3EspAiFhLEp9jgO2XaGIaRSR8IiilzTNok5UB4534ZTkTGMaQm2iMrBFZWqR9k2z9IAp1nJLYlhyTnerUt4TrvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=13evBTS3gLDxiaQDp6lh28J08Wm9BN39xCzkv5i+jEk=;
 b=oSQIhytHHMLjFsk2pSETOE6THztNyjvqIFCxWO4rJ410pTwQDMxfbWaC4/Nr7cvl1hrqzEf3Q7CGWBVBd7SzAYZZRxEQgkFdOfBJNc+COB02qT8SdgTwidEYgskispbBn6/vV0kVH7KDVasiUAmqjd0ey8AzvKbdva7WJ4P6cUrNLAT7q/gsRlDVJFvJeFy7/mFUFFQCCfLSrJLlzRWwefyRkmbepykpnWnvmyQt14Z/r8CNr4C0FZT5cOjRbICt6fcKGqj8P+crraMQXNsTg0PUlHCdb7R6taUjtgXdkF4gi5j+G5TexY8t27MOIdpsvIDv5wxCTUH6899iABYtvg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=13evBTS3gLDxiaQDp6lh28J08Wm9BN39xCzkv5i+jEk=;
 b=HFn2KIK3iAc9nr1AS4tnPxn8BdVfg6Fy6Rtz+/Cuy/4zWX2SWNYdFXEYDfNxBHICSZTSsNOU+LuXwDrGL11icwrwkEdLjXMOQJnngJkqrM/NYmGjPezQvv4KjIkRGjdLvznVtDpJIWQs/66CA6uQU+ppYqyqgdA31XHOUEcii5JqXptt0Xn77fzxIx+wok3SJ9ZafkuRvrqXSFE2iHDnzChg9s6rT/9MvhbDa2Xk9YazqqrmH6N0z+7NbNG/YTwMeGzuP5IdsRAzQ2FIgdoIO82QrKZ75Hf2ugoLo+jZXNDHK8N31ZuFiThsY5eUOw3RN6cEtcepCLcCWqa9ZMUmtA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b0260269-a515-8fc1-12ec-f38e45451a45@suse.com>
Date: Mon, 13 Nov 2023 08:49:14 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [RFC 1/4] x86/ioemul: address MISRA C:2012 Rule 9.3
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <cover.1698155925.git.nicola.vetrini@bugseng.com>
 <76c9f78179a8bb5b4f99b34f163933394f79066c.1698155925.git.nicola.vetrini@bugseng.com>
 <60e26ad6-7366-2604-e9b2-ed401cee6e73@suse.com>
 <alpine.DEB.2.22.394.2310241317030.271731@ubuntu-linux-20-04-desktop>
 <41562c7a-6260-3104-b2d4-d6fd4df0cffc@suse.com>
 <4e88d7ab94b9fc73554eee5b78612b63@bugseng.com>
 <8cb336ca-41ed-8adc-957a-28b5585c84f1@suse.com>
 <alpine.DEB.2.22.394.2310271419260.271731@ubuntu-linux-20-04-desktop>
 <9888aa5c298584c22cf55b13befeaaa6@bugseng.com>
 <alpine.DEB.2.22.394.2311101719120.3478774@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2311101719120.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0357.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f4::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8229:EE_
X-MS-Office365-Filtering-Correlation-Id: 46cc21c3-335a-44c4-1cd8-08dbe41d08b4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yDpdvU9qGTYm0KIy2sVN0vfbDwjjwbHGujXFI7HZbz6Uu2Up0YbENzERaSpn6fInWVZ9YaS3Va+YIYi+YBcceAy0TCSClv4zepubYBoSWUg0iIFmUgtICQYJlNyqQ4RjcwVDTCBMGOK3ALSu7cBPmh8cJLlmBqq/v3tHrEXfPxuZDE6Nu3uhkt777rV9GqfStcoMeySNkTMBmMqX9YsIUuTqPMrvgCfStA/vhCfEvI7zs9Ng7kaDGHLJPPlTqscXewzv++oiHAVazYEdveeOmba4gGbH0U+VkP0btrI3i6/CvXs/ZgiLkUEwUCoMz9QMO8Z59oR4Fqa4w6sxeQoPauLOr2VtBU3VAigwj00cveaeGGqN86mwi2EYHAp0lBtqipAReG1FlrQkJIJ32N6hvfJGgvkPpBCXQEUcP9B2WDSGhgZX8OkTanzTGJ8uI6lPOwIgTV/k/yEn6yBeDBC4UVjPOar/fSEsndWgroGew9bkD1rYuKutoQGSNSr1YK8Kqv4C09xqnLSzEyM45yHFi1W8I0H4u864wP8NrKqqyqEquVEON6OaON6kDcSgiCXAJ2Mwx6B1KkdD+ZGj6n0+IPtuHF+A1CdUwIzble0skuPJSzbe/lFe+/Ftiu+5zVtTEEiUZr2CmwxPuAU1iwF+J0XFeGe0RZiImf5xEneL6zA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(136003)(346002)(376002)(366004)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(2906002)(6506007)(53546011)(478600001)(31696002)(86362001)(26005)(2616005)(6512007)(54906003)(6916009)(316002)(66476007)(66556008)(66946007)(6486002)(38100700002)(83380400001)(5660300002)(7416002)(8936002)(36756003)(8676002)(4326008)(41300700001)(31686004)(21314003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aG0vZkl0TEUxWnhjdEN1WTB0cnNjZXh5aEp0cU1YNjg4aVVyby9mc1Qrdm5C?=
 =?utf-8?B?K0wwOHQ3WXpSVmQ0eEdvNE1BTElCQ24rQ3BNV0M4WWdvd1MwQlQxM1ppem9y?=
 =?utf-8?B?dnZPWmc2bXI5ZGpTZE9JVUp3ZW5xQ3VuWlJyZzl4TDI4SHpDaFUzZDEycFZj?=
 =?utf-8?B?SnVXck5TQjBMemRvQU5tQXVXVHdWSWwvbGUzOGV5OTF4cWJycWRmc090eG1J?=
 =?utf-8?B?R1VRSHQyQStKTHRwZ3hBRjQxdUlMeEdQOFFBTTdUbkIxMVpLQitlT3pvYi9n?=
 =?utf-8?B?VTJIRW0yOEp1OWFYeXIrQW9rN2h4Zkw2dEh1TWluei9RRGRENURjRXdKYlpO?=
 =?utf-8?B?Z2tvZlROUG52c1p0bEtFZmhJT1FFR3duQ2NLRzhhSHVGNTh5NFpGRjVHdVM0?=
 =?utf-8?B?T0x3bkZkcGtHdmh2SEpKeXU0V2JvSUhjdENZVTBKRWRSd2pwOXRlWXl0RzB6?=
 =?utf-8?B?cGJFaXl6VndZRm9aSTJNZXNFcXZIV0lHVnVPM0c4LzR1RUhnR2pMekhLUGI4?=
 =?utf-8?B?K0x0a3htSW9FVjJTNmtnWGJUUVo5eGJmV2lRSzRrZk96MThlS1hJb0F0Vzl6?=
 =?utf-8?B?UjlFRkZTS1ZlbzNvUk5Fb01pYk1FS1piM1NQYXZzeFA4cTdpb0JUTWVmZkEz?=
 =?utf-8?B?dTFxU1ZqSUp0MVhFVzFsZG03OGFOZysyTEpSZjlka3oreVJxN09GSTJwTUpC?=
 =?utf-8?B?ckRPbko3a25WRkdMaVJqZWdZMWh0eGtTeG5wenIzZzdtNytrbEZPZ21yYkZ6?=
 =?utf-8?B?MjA1a1R0RW85blNwTklmbGxHcnVzMFBZRjE4NjlWU1ZLay80MUFrSFhQQVdD?=
 =?utf-8?B?WVY4b21Ga0pmK3Npa0FxbmVUekNnb3RNbTdYUnVVZm9QdmRJNFNKVlNSSk9h?=
 =?utf-8?B?R2lJWGpJNzhqODh4SUt2eDlVRDY1QWtMKzFRZnpjNk8xVm9TTHV1ME1pNkRS?=
 =?utf-8?B?OXB3aXVST0ZLbE03TGM5Tys1UVlKZXpFK2dLeThPb2ZTcFJIb0dLQk1mWjBR?=
 =?utf-8?B?TmdQcXh6WHdVVy9TVGF0VE5yNFk5OG9wZGJ6bytyRThVQW42dHhJT2dHbG8r?=
 =?utf-8?B?dy9qQkhIRTI4OWZ3QVIwOXlLN3YvaXNOZzJsbElqbm4yM01sM0FJS3F6Ty9k?=
 =?utf-8?B?MzB0c0V5QTdTUWswanB1amxDZXlENituNGlYZTFUcTFDQlJnbVNWS2NKczha?=
 =?utf-8?B?NlJWcWpGOXFVNitnODF1VnBXK1J6cVZqRVRaRGJFNW0vblFHdTFFRnIyTCty?=
 =?utf-8?B?cUtDOHUxL09HMjJCNUJJd0ExZU1KdXJvU3NjbTBSVFNyVUtEd0VaTjJkbTZj?=
 =?utf-8?B?cnJQUWdWYXoxNHFzS09NSEErSm1meUF1Y1ROMzgzVGZWcUk3RGx0ZkQ5bzI4?=
 =?utf-8?B?akZFWjZzTnArZmVwZzJJUnh3UVI0dFFaNWorK2FOOHFVNDcrYVo0OU5BajB2?=
 =?utf-8?B?eW5JWUF6RzBSM2pkVEVUTDlTbDFvbWkySnorMUNlVEJCQ0pvZytwV2ZzRTc3?=
 =?utf-8?B?alNQL0hsaEtCT1N0QnptTHhraWZYTzRJVXd2NGZXYTErSURFbmlKd2RIODFu?=
 =?utf-8?B?cG1qM0pIdGs1SG5aYk9ud2lOZWxuT1pIWXJhbitHMVJ3WTlKV0ludmIzNFlU?=
 =?utf-8?B?WjhVa01yNWhONnpCd3Q4bHdFaGwxQzAvVzJoL1ArdFFDNHJLSXg5RW4rbE5q?=
 =?utf-8?B?V2pEVGJ2QSt5VGZNQmY3a3RTSTZvaGJ6elI1VE5OU3d6cWxTbXI4cUF0UFdn?=
 =?utf-8?B?U2k4bjJzZTJMeUFqM0p1K0pMMWwvTWZFL1JNcFE2S0pxSTBjUitVZFJiNWNt?=
 =?utf-8?B?L3huSFZHY0ZneXhHVkQ1Y2xmYzRaZ2lYWG1FNDNXME4xSmpXdUMzMEhzbFFD?=
 =?utf-8?B?UVJRM2wzaUhvQitoL2x2a1BRbXBRRngvL1lPWm1kM0ltbi9KeE9VVFl4aWxR?=
 =?utf-8?B?aE9WTGhZanRSRS9NVUR6T2pNS0dFbG8vc3A3MXM4N3k5dmJJSk1ZUFRRYnpB?=
 =?utf-8?B?ZHk1QmdiVU5lK2NLT2hJMEZabEUyNDdVQU01NWJHZldad2xwVE5ENXhRbDBH?=
 =?utf-8?B?ZUdXdXA5Y2s3VjNyUVFrcm15Yjh0TVIvL2hESVcvSzd0ZXZwRFZqckpIa3hw?=
 =?utf-8?Q?VLiAasptUwnNd3VIzaBPcETnf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 46cc21c3-335a-44c4-1cd8-08dbe41d08b4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 07:49:15.5450
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: xEQkeVSvdYpRTcE3pYjfv59ZS+CiSUwALE23NlwuN2Q/9n0nv3sKzQG24sTq6DzUhB7eeUW6aPJGmu28NjlS1Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8229

On 11.11.2023 02:23, Stefano Stabellini wrote:
> On Mon, 6 Nov 2023, Nicola Vetrini wrote:
>>>>> There's also this functionally equivalent alternative, with or without
>>>>> the zeros, which
>>>>> doesn't incur in the risk of mistakenly attempting to initialize the
>>>>> same element twice,
>>>>> while also giving an explicit cue to the reader that all elements are
>>>>> truly zero-initialized.
>>>>>
>>>>>           .matches = {
>>>>>               DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
>>>>>               DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL5"),
>>>>> +            {0}, {0}
>>>>>           },
>>>>
>>>> Adding a dependency on the array actually having 4 elements (while iirc
>>>> we have seen already that we could in principle go down to 3). A change
>>>> of this number would then require touching all these sites, which is
>>>> what we'd like to avoid.
>>>
>>> How often the array needs to change though? Looking at the git history
>>> it doesn't seem the number of elements ever changed. So I think it is a
>>> good tradeoff, and I would go with this type of fix (maybe also at the
>>> other locations mechanically too although I haven't looked at them in
>>> details).
>>
>> Hi, any updates on this? Considering the opinions expressed above, what would
>> be the path preferred by the community?
> 
> Hi Jan, to bring this discussion to a conclusion, I think we have these
> options:
> 
> 1) fix these violations by adding {}, {}
> 2) fix these violations by adding [0]=xxx,[1]=xxx
> 3) deviate these violations by adding /* SAF-safe-xxx */
> 4) remove the MISRA rule 9.3 from docs/misra/rules.rst
> 
> Let's make a decision. My preference is 1) as we only have ~50
> violations.

Of these, to be honest, my preference would be 4. Just that that's
undesirable for other reasons. But have we thought of alternatives, say
a variadic macro that would supply the "missing" initializers? Imo such
decisions shouldn't be rushed; there are enough other issues to take
care of in the meantime. A sound solution is, I think, generally
preferable to a quick one. (Whether my new suggestion is "sound" I of
course can't tell, until it was tried out and the overall result /
effects can be inspected.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 08:00:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 08:00:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631358.984611 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2RsE-0003la-S3; Mon, 13 Nov 2023 08:00:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631358.984611; Mon, 13 Nov 2023 08: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 1r2RsE-0003lT-PC; Mon, 13 Nov 2023 08:00:46 +0000
Received: by outflank-mailman (input) for mailman id 631358;
 Mon, 13 Nov 2023 08:00: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2RsD-0003lN-Fy
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 08:00:45 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0615.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bed614c4-81fa-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 09:00:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 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.7002.16; Mon, 13 Nov
 2023 08:00:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 08:00: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: bed614c4-81fa-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C6jgKyb7YPE0shmVeaf1n0qOS/YXloKjGSgvHIbtxJWVJoMbZ5Z5q7VxIoTJ+ruQU4TrwQPis+KgBhe0oY1/FDP+UBGlfgV88FC7+eqzgAasr6T875dTZ6MpLs6iBET3lJ63XHqZeWt3dhn5uub750LBqIUf1YcnafPTKEBqtcIlrMe65YkkX71uCoQpqSZOPFh1fmRmuK6o0TgkCyeEHr/BfFl1pxwH/OaYPJlaRO3kpoU3A7XAAiB29b4XnQGmye/JcVl5YhJAvsAfPlbAXp0V33ScHEMr/KUaEdskemrEMuMDQeXUqoE7UKYVXK0z9KqZzBYgJrw37F1nTrXyzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YgNqUJK+kOn7pwQRrVNvuhy02zvzw0/fdgVXwQqXjfg=;
 b=eFEvhTgPR6dcgp1HdD8Pwav44E1PG8Cq6VtaTAz+60SZDicZzrlmy0G48JNx+gJUCt6GACoJcRSAmoc0cexDI3zKF124vM92BEDY8rENdCpTrGfY7mNvkO4Obz8AKIaDjS/8+hMtikBare+6Ov+PpnreX6Be62DG6sq92PumUsrGXObjcvoi5wie4DHfSUa8+50W+EFa/Sx0HtIFstplbnGTuEYW59dqh5gRT6sp3YIUzq/sm3MFcoW0SIar46PGfbis16YVTFZ61jVD4X7L0Ed4JnQr4ZTW3A3tCBeR4m4tBOP9kNCFE7jykt+dXhcrV5GHBBacYDuZiSghVlx/1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YgNqUJK+kOn7pwQRrVNvuhy02zvzw0/fdgVXwQqXjfg=;
 b=zxdbOldNPyXza0aLVjrWbMTtKxdD6QhXgg3G3j43lehHbVq/B2zMTBhnLl2ykvKBOWIJRlGyr0CcU62zaGz7lGm3VzlZGTUk+Ct0bxO1ltkMnApW/asm5HQARh7sb3q6OojbhrrIVwpWHjBNQfcnBDHTwlxl0wCG6ZsPwUJL42XzhmBFjz3fEGWgBGO2O2eWoWZbeyRIVID09mfckNLInu/Z0gmfTOErEby9llA+i+CFY1Wa+259rckJTx5LRi49UYCUY4P5Cj6CxtY63nwCPDiQ2pPxF4w5r5jmziSlgqrgTvI7CvtnoYuvRBLpsR0yaadi4zN98WeGClTUOOnmwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b020592a-d528-d420-9eb2-7b6e39ea1cad@suse.com>
Date: Mon, 13 Nov 2023 09:00:40 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: Faking the number of CPUs for dom0 with dom0_max_vcpus
Content-Language: en-US
To: Jimmy Lee <jimmylee4930@gmail.com>
References: <CAFyR2DVCuDyufB-EWHTSurQ69Dc7PZ9CQZdN_T-Ym2rjVaRPNw@mail.gmail.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAFyR2DVCuDyufB-EWHTSurQ69Dc7PZ9CQZdN_T-Ym2rjVaRPNw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0032.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8590:EE_
X-MS-Office365-Filtering-Correlation-Id: 7a105740-e93a-434e-596a-08dbe41ea16c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zY3/AQwhHl/PI4xmfQx9mHkHtfpvkgpeGlMzw02twOgSmh7U4ZzJI2UqEoO4pSGtM7v1L25YzrJ1vYgNdPPttMQ+P9Nrw/uTgSBat3sOpZPsDQ85nWF4GmsVlE8Q89ZzD6DsaS2ofNk46tkFTgOqeEfY2jHeg9Sdqq7nlHG/XZocM91M4f1Rpt291S2jxTsOkN8Lyu5SE0wMNBVvy0bkb5XuM0mkE1t+THKxPcR7YNlQpE94/5ZEGjVQ62tFU+72Qop3cscKeCoABmT9x3XRweQ30+ovoknu8PYEHWm0Y40BGUzfMxVxHAhxloU0++m0/hw/ZV7agTVQeWmuZ3vzgNcIue8iBfD3bN/y1SHGJLGUcNwTJZksnkSyPNbEKQGlLZHMk8L2fBXDVVD/biRs3ySUsWdy368LbEjmzoVBcgu7QuqoZ1+fMRojdx1kxxxRsaNGg2BuMq5Jb8u2iYyd0WmYC/NNPnAoUWyDAKGm2tRCg+vUWUeznqCwuPnXJN8AkI06CWNTexvKfE6EPx7pUwczeE/YzOwxd1D1Z4XIpHNp6rB62nmdhGS+SKANFU/P/A+tnvRqptHdtVUC+Oc+VoIK5aKcRjG9rYDXMrND2e0pGn9S7B3QF0sCRMw95VnzzKfciBvAJ9YB847iC/TB2Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(376002)(366004)(346002)(39860400002)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(4326008)(8936002)(8676002)(38100700002)(66946007)(6506007)(53546011)(66556008)(66476007)(478600001)(6486002)(26005)(83380400001)(6512007)(6916009)(316002)(2616005)(36756003)(41300700001)(5660300002)(86362001)(2906002)(31696002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cE5SckNSTWtTbFprUkxBNjBycWpCaEcxR2FiSUh1eW01cEkzb0hYTkc2Tkdl?=
 =?utf-8?B?aXNTSklVb09WK0ZaZ1YwbExSa0owZXJYUVpTLzFudWs0MXBNYVB5Yjk2dzBJ?=
 =?utf-8?B?bks1cm1aWjBQRlpHQ1pkZXJUcnZ6ZXR1ODgxd2tyYTd2M2ZZVmUvZUV4cHcv?=
 =?utf-8?B?c1pBVWN1cEFqU3hmYUFhRUxWcDBtVmlBd2xZMm1YS0l3Q0RPenVkNHhmd2FW?=
 =?utf-8?B?NGNrL0VkSHlFdFRTbnJGeHBRZmhBL29lbmJPTFRGOXQrWGx1ZVVHZ3BjVDlV?=
 =?utf-8?B?MitKWElUMU5HZXRjUVBhR29LSldYR2ozRXg4RkhVbFJ2VzduT01XQ1hlazdl?=
 =?utf-8?B?MXN4OTBtRjZ1Und4LzIwQmk1d3VNQWJTbXFtNTM5bG5yNEtlMk9xalFvVENn?=
 =?utf-8?B?TlJ5Tk9ZaFZ4MFNBY0FHeHI5dVBROE01RWg2T1V2eWJpRUwvY1NRc0NYZjdn?=
 =?utf-8?B?TDlWcjZCckNKQndpQkZ2bmQxSUZ0dUJGR2U4dXpMejJxT1ZKeEpnVDc5WmRE?=
 =?utf-8?B?Z2lzSm9JalRhbm9xd1ozQUZWOU92U011S0FaTk5YV0ZMUysrUjg0ZHk5WUF6?=
 =?utf-8?B?bysveUI0ZURYd1E3UjBQckhob2R6cGQ5RWFqeTNtbnNuaGNzdkQ4MWpVOTRu?=
 =?utf-8?B?MDBFVldlWkFDdFVpTnJhdk9hRW8vTEg0NFNGaDZSQWF1N2M1SVgzeURVQXpM?=
 =?utf-8?B?QVFVM3ZKYkVkeUlVV2NLNno0UWw1SVYxRnJhSE5MalNLeWwwdEgxQ3pBaTdU?=
 =?utf-8?B?SUhmUERhSkFDL1RURm4wa0xSUW1rQ0x3Nk8yY2RtNTZQaXFEL1hNRXVDeHZQ?=
 =?utf-8?B?S1BoakI5WEFydnEwRXdvRnhOemNuZGQrRllqdUtVT1dPbmluREQ3NlpWL3Fa?=
 =?utf-8?B?N1RyMUtWMlRZVDgzYzNkMk9EVVV2MzdhUnZjdFRLWjdOYVlYTTA1azBOM2N0?=
 =?utf-8?B?TnlWaVM3Z0hYZlRGOWkzZWdjU3FrL0Q4ZWsxUFpmQzMyNFVud2xYRUJIdlBS?=
 =?utf-8?B?NGR5MW5OemtYWmR2eXZ2R0d6NHAraGhHd1pRREpEeDdXbHBlbk9GZGxkdWFv?=
 =?utf-8?B?aU92UnlMc0dNSzlqK0l3a2tMTkFVV3kxY3VuVXU0Sk5Mb3FIWlFmdUhnS1BE?=
 =?utf-8?B?OTBiWUxXMXNXOXI0VGNtdGdGbFZtcEJ3dWc5K2dBckw5RGZKNk5EREF3SWdM?=
 =?utf-8?B?N0EyQ2RkTmMrc0JwN0c3WjM5cTM4YTNLendjdUZkc1pvK0I4YTFrc2RDUEhH?=
 =?utf-8?B?OWthOXdVUXo4eUpNVzhlMXZFY3V5NW5DQVBoYUk1MGFwMmgvWVVVT00vMmNi?=
 =?utf-8?B?ZXZUUWdKd3Y5dTF2cmNpL2pnUjNVTVBGcHk4cStrbXRaem1zTi82TGtTL3RF?=
 =?utf-8?B?c21TT2VNcFYwLzF2VVZaREpwQysrazR3S3pNN0hrQlpvc0E1WGZtVEtId08w?=
 =?utf-8?B?SGtaM1ZWcTNSWi9IZUtEdkFjL2l0VjlUbExUZ2t5MDEyU0E4a3I2bHo1c0Rt?=
 =?utf-8?B?bjlCOEJZdGdOS29aT0dPeUczaHdldTFVUXZncWpNbXI1Smo1ZUdaSENSM3lX?=
 =?utf-8?B?UzJWdmlaVVkrbis4ZllBamU2NFAvcUtEeVNmZURBQzRyTEIwUGYybGZCa2JL?=
 =?utf-8?B?aC9SWHVkaEZPcldlR3NtZTJtUWhLZkh6K1pIVEtkS1pFa1dRN3pIVDVycDV1?=
 =?utf-8?B?VDN6eldEaE04VEZaaFZkcnh4ajhDdHEwMk1jNk5FUnFZRG1janNyR2dWQWFN?=
 =?utf-8?B?ZmFUaThzL2hnSkcxYkxIQjJVd2JKTC8vekt0ME56WGpEZ1FyNjcvRFZLSDRF?=
 =?utf-8?B?VXRzSTJCelh1bUlZaWlSR09HTWRIL2lIVU02RVRTSHV2bUozVnFNdENnYzZo?=
 =?utf-8?B?a1R0TmxCL3hQN2tBSTVLV1dNVURxTm5SaHRyRHZKaXFTUVczajArWE11WXEy?=
 =?utf-8?B?Z0w4dFRaREJKcXZDVDBuQnRZbVlxbXN6TjZkNDBHaWhFN2tqT0RDS0tRMGdp?=
 =?utf-8?B?MmRQSlEzb2RlaFZFOWNKOExTMkVsRmI1bFcyTXY3d2RXdXJHVUd5dkY5M1pS?=
 =?utf-8?B?bTlib2tKTkduSWRFOUJmUUhkcFVvb252alpsMDRMYlo1eDVZekI2MFM4Q2Jj?=
 =?utf-8?Q?T4fffObUrqCPy8Iz8ByAAopM2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a105740-e93a-434e-596a-08dbe41ea16c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 08:00:41.3014
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4/aDEnFcU90URLd8ZgZyGOQqPIfgx0w0y8EGbAzJSq+7rn8ywD+Uhdbw+T+Xt9fVN0lbiO17sfetml1ysHJFlQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8590

On 12.11.2023 21:28, Jimmy Lee wrote:
> Hello Xen experts, I am trying to set dom0_max_vcpus to a number that is
> larger than the number of pcpus. For example, I have a 4-CPU machine but I
> want applications in dom0 to have an illusion that they are running on a
> 64-cpu machine. However, it seems that dom0 will always recognize the
> number of pcpus. I can see the vcpus in the output of "xl vcpu-list" but
> most of them are not online. How can I achieve my goal? Thanks!

Even if I was to assume the Dom0 kernel is Linux, it would still remain
unclear what Linux version you use. Generally with recent Linux kernels
this has been working for me (albeit I didn't try in a while, after
putting together what has become e25a8d959992 ["x86/Xen: streamline (and
fix) PV CPU enumeration"]). If despite having this in your Linux you
still don't see this working, you will want to supply applicable logs.

As an aside - 64 vCPU-s on a 4-pCPU system looks excessive to me.

Jan

> [root@ip-10-0-131-61 cpu3]# xl vcpu-list
>> Name                                ID  VCPU   CPU State   Time(s)
>> Affinity (Hard / Soft)
>> Domain-0                             0     0    0   r--      15.9  all /
>> all
>> Domain-0                             0     1    3   -b-      11.9  all /
>> all
>> Domain-0                             0     2    1   -b-      11.2  all /
>> all
>> Domain-0                             0     3    2   -b-      12.4  all /
>> all
>> Domain-0                             0     4    -   --p       0.0  all /
>> all
>> Domain-0                             0     5    -   --p       0.0  all /
>> all
>> Domain-0                             0     6    -   --p       0.0  all /
>> all
>> Domain-0                             0     7    -   --p       0.0  all /
>> all
>> Domain-0                             0     8    -   --p       0.0  all /
>> all
>> ....
>>
> 
> [root@ip-10-0-131-61 cpu3]# lscpu
> Architecture:          x86_64
> CPU op-mode(s):        32-bit, 64-bit
> Byte Order:            Little Endian
> CPU(s):                4
> On-line CPU(s) list:   0-3
> Thread(s) per core:    4
> Core(s) per socket:    1
> Socket(s):             1
> NUMA node(s):          1
> ...
> 
> [root@ip-10-0-131-61 cpu3]# xl info
> ...
> xen_commandline        : placeholder dom0_mem=3%,min:2G,max:4G
> com1=115200,8n1 console=com1,tty,vga dom0_max_vcpus=64 spec-ctrl=no
> sched=credit vcpu_migration_delay=1000 allowsuperpage ioapic_ack=new
> ...
> 



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 08:18:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 08:18:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631363.984622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2S9R-0001Pd-Fq; Mon, 13 Nov 2023 08:18:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631363.984622; Mon, 13 Nov 2023 08:18: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 1r2S9R-0001PW-Cv; Mon, 13 Nov 2023 08:18:33 +0000
Received: by outflank-mailman (input) for mailman id 631363;
 Mon, 13 Nov 2023 08:18: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=h1x5=G2=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2S9Q-0001PL-TE
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 08:18:32 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3afc6ad1-81fd-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 09:18:31 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2c6efcef4eeso54314211fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 00:18:31 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p15-20020a05600c358f00b0040596352951sm13036903wmq.5.2023.11.13.00.18.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 00:18:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3afc6ad1-81fd-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699863511; x=1700468311; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=GrnbYfe0CuYiPy8LxZ0ANicY6fJ5e8VBeICu0CBLscY=;
        b=Y6ZhURGChE/BzRMiQgJusx0rEnBe5hVy5CZ/XdzNNXTClTDNAARWKH9PjNAR51Y+wc
         lCHpoW9KBVmYKbjKHpexfzlI3R9fYief53WiL0zZqwVIz0xdV0pGTb9ASYukHbN7jsi7
         kB+FdTWZOyCvUboD97XL8LQWGiGyAUEUencwo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699863511; x=1700468311;
        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:subject:date:message-id:reply-to;
        bh=GrnbYfe0CuYiPy8LxZ0ANicY6fJ5e8VBeICu0CBLscY=;
        b=lK3egDI+4syZgthyYLs+hjWn56Dy3YZu3HcbcSdlDColQH64oT3iq4BoRn0ZGqw+Bq
         PJZu23eAMcqnhtvSiQ8TJc0L7PKFQd4tOn95T5fGH1URNwIzEuMZDBXIP+0RxYFk6cno
         CMeLYYCP2S6/xyJxTfq+g4z3pJbdrCjxNebtI4HWZoHhR9PMMES6CBqEUxJs9YgqlRhP
         Szg4+6tWSBhUDFtp/MAuqJXDU0qkapEHNaGEEVhK1WLESFOJx/H56v3P8bdkfXXmJ7q7
         On/a1o/KcX7/aVIYquoRKO7jobTsUlFesKiw8QpH2hwHIR6z8x8m1o8FctpEcM2otzch
         Wo4w==
X-Gm-Message-State: AOJu0YzsL23D60r1+1vi12/ZK4Azq6y6njXZRYTV1VYJVs1nMcCbd+SY
	dx7033sOor2VzRe7PHUkLeq9xw==
X-Google-Smtp-Source: AGHT+IFMwECalfuqm2Nc1h/Vptm/Ygw8zf/NA91ZorESVT49Qe06vUXKRMTcIfxYKEmSTBLk6Uo8IQ==
X-Received: by 2002:a2e:808d:0:b0:2c8:32e4:c080 with SMTP id i13-20020a2e808d000000b002c832e4c080mr3920321ljg.12.1699863510696;
        Mon, 13 Nov 2023 00:18:30 -0800 (PST)
Date: Mon, 13 Nov 2023 09:18:29 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	samuel.thibault@ens-lyon.org, wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Message-ID: <ZVHb1QE8VEI5Jn1W@macbook.local>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com>
 <ZU4g0y-Y6-77sY-C@macbook.local>
 <9d75d794-a333-792a-786c-064d35910980@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9d75d794-a333-792a-786c-064d35910980@suse.com>

On Fri, Nov 10, 2023 at 01:44:50PM +0100, Jan Beulich wrote:
> On 10.11.2023 13:23, Roger Pau Monné wrote:
> > On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
> >> Get the own domid via creation of a temporary event channel. There is
> >> no "official" way to read the own domid in PV guests, so use the event
> >> channel interface to get it:
> >>
> >> - allocate an unbound event channel specifying DOMID_SELF for the
> >>   other end
> >>
> >> - read the event channel status which will contain the own domid in
> >>   unbound.dom
> >>
> >> - close the event channel
> > 
> > Should we look into introducing a way to expose the domid, so that in
> > the future we might not need to resort to this workarounds to get the
> > domid?
> > 
> > Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
> > a non-HVM specific leaf when it was made available to HVM for pvshim
> > reasons.
> 
> Couldn't we retroactively generalize the type-agnostic parts of that
> leaf?

Hm, maybe.  In retrospective heaving leafs with PV or HVM only fields
was not the best decision.  It would have been better to have a generic
leaf and then fields/flags that only apply to HVM or PV as necessary.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 08:20:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 08:20:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631371.984635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2SBQ-0003T9-SD; Mon, 13 Nov 2023 08:20:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631371.984635; Mon, 13 Nov 2023 08:20: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 1r2SBQ-0003T2-Pe; Mon, 13 Nov 2023 08:20:36 +0000
Received: by outflank-mailman (input) for mailman id 631371;
 Mon, 13 Nov 2023 08:20: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=hsVx=G2=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1r2SBP-0003Rf-5g
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 08:20:36 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 83f80b15-81fd-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 09:20:33 +0100 (CET)
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 1r2SAL-00D6tb-Gh; Mon, 13 Nov 2023 08:19:30 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
 id D372F300427; Mon, 13 Nov 2023 09:19:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83f80b15-81fd-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=Vb6yF7Z1sBKdQY3wavT2xUDJmLu+GkW+0ySW8ghKdVA=; b=RGky/CDnkLKlTSPAu++ti06E7l
	ILAUJR6hOpprntlymw3H+pU19GgkD0k1AUHCUWsxWBB7DQLk2U3onnfv7tU0IvtJuqH7gVIbjzW44
	WRF4easbIOX+MURmTMUl5+yu0wP15LgXAhCBZKbxOp3tw7tJze4Faipi4nqb0Hme2XuwcGRMtyy+w
	vX5z+JZhNdp44hFpuTi6awZzlLxAkrlGP3IjFQLEEojz22KpxKrjdzbTI3NxR325ZnWyFWhASqy+j
	gn046ayl+YKyRr/4FsS5rohaCBgXJ2lq9X/B7+vjVBFdpVffo6jg/ruojCZv+GsGEKWKyXXDF7yJv
	Y9vMTtnA==;
Date: Mon, 13 Nov 2023 09:19:29 +0100
From: Peter Zijlstra <peterz@infradead.org>
To: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>
Cc: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	Mihai =?utf-8?B?RG9uyJt1?= <mdontu@bitdefender.com>,
	=?utf-8?B?TmljdciZb3IgQ8OuyJt1?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>, Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?utf-8?Q?=C8=98tefan_=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org, kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
	x86@kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH v2 17/19] heki: x86: Update permissions counters
 during text patching
Message-ID: <20231113081929.GA16138@noisy.programming.kicks-ass.net>
References: <20231113022326.24388-1-mic@digikod.net>
 <20231113022326.24388-18-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231113022326.24388-18-mic@digikod.net>

On Sun, Nov 12, 2023 at 09:23:24PM -0500, Mickal Salan wrote:
> From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
> 
> X86 uses a function called __text_poke() to modify executable code. This
> patching function is used by many features such as KProbes and FTrace.
> 
> Update the permissions counters for the text page so that write
> permissions can be temporarily established in the EPT to modify the
> instructions in that page.
> 
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> Cc: H. Peter Anvin <hpa@zytor.com>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
> Cc: Mickal Salan <mic@digikod.net>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Sean Christopherson <seanjc@google.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
> Cc: Wanpeng Li <wanpengli@tencent.com>
> Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
> ---
> 
> Changes since v1:
> * New patch
> ---
>  arch/x86/kernel/alternative.c |  5 ++++
>  arch/x86/mm/heki.c            | 49 +++++++++++++++++++++++++++++++++++
>  include/linux/heki.h          | 14 ++++++++++
>  3 files changed, 68 insertions(+)
> 
> diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
> index 517ee01503be..64fd8757ba5c 100644
> --- a/arch/x86/kernel/alternative.c
> +++ b/arch/x86/kernel/alternative.c
> @@ -18,6 +18,7 @@
>  #include <linux/mmu_context.h>
>  #include <linux/bsearch.h>
>  #include <linux/sync_core.h>
> +#include <linux/heki.h>
>  #include <asm/text-patching.h>
>  #include <asm/alternative.h>
>  #include <asm/sections.h>
> @@ -1801,6 +1802,7 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
>  	 */
>  	pgprot = __pgprot(pgprot_val(PAGE_KERNEL) & ~_PAGE_GLOBAL);
>  
> +	heki_text_poke_start(pages, cross_page_boundary ? 2 : 1, pgprot);
>  	/*
>  	 * The lock is not really needed, but this allows to avoid open-coding.
>  	 */
> @@ -1865,7 +1867,10 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
>  	}
>  
>  	local_irq_restore(flags);
> +
>  	pte_unmap_unlock(ptep, ptl);
> +	heki_text_poke_end(pages, cross_page_boundary ? 2 : 1, pgprot);
> +
>  	return addr;
>  }

This makes no sense, we already use a custom CR3 with userspace alias
for the actual pages to write to, why are you then frobbing permissions
on that *again* ?


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 08:37:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 08:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631376.984647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2SRm-0002Eg-A8; Mon, 13 Nov 2023 08:37:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631376.984647; Mon, 13 Nov 2023 08: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 1r2SRm-0002EZ-63; Mon, 13 Nov 2023 08:37:30 +0000
Received: by outflank-mailman (input) for mailman id 631376;
 Mon, 13 Nov 2023 08:37: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 1r2SRl-0002EP-5U; Mon, 13 Nov 2023 08:37: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 1r2SRl-0005Pe-1Y; Mon, 13 Nov 2023 08:37: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 1r2SRk-0005vH-Is; Mon, 13 Nov 2023 08:37:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2SRk-0007RP-IJ; Mon, 13 Nov 2023 08:37: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=1mpv50Bm/GND3ujW5IzM1MwcbkHXbelqlY0OlCtX1ME=; b=04QXW582jh7VtJzdV4Bc1xhYgu
	IrQOJUFvpbxgIcLKs+OpRjKkfIMqg8mWY+ob/5nbo+3hD6N4zddt+ou1zMkLtzK85QxmBmv7qQWSo
	67/RrksjnWN6c5uHI+dmkej+ZB/emMQTxbzbIPYviWeh9E7MrVOK6nw4OGxb6t5JeDCA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183741-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183741: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=c9cce5a00591dc437c258f0365b5d434c628b1e0
X-Osstest-Versions-That:
    ovmf=33deaa3b845f0d588ffd068003558be46f90aaac
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Nov 2023 08:37:28 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 c9cce5a00591dc437c258f0365b5d434c628b1e0
baseline version:
 ovmf                 33deaa3b845f0d588ffd068003558be46f90aaac

Last test of basis   183733  2023-11-11 02:41:07 Z    2 days
Testing same since   183741  2023-11-13 05:42:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jake Garver <jake@nvidia.com>
  Jake Garver via groups.io <jake=nvidia.com@groups.io>
  Nhi Pham <nhi@os.amperecomputing.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
   33deaa3b84..c9cce5a005  c9cce5a00591dc437c258f0365b5d434c628b1e0 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 08:53:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 08:53:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631381.984655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Sgd-0007By-JZ; Mon, 13 Nov 2023 08:52:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631381.984655; Mon, 13 Nov 2023 08: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 1r2Sgd-0007Br-GO; Mon, 13 Nov 2023 08:52:51 +0000
Received: by outflank-mailman (input) for mailman id 631381;
 Mon, 13 Nov 2023 08:52: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=h1x5=G2=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2Sgc-0007Bl-D0
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 08:52:50 +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 034a6308-8202-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 09:52:45 +0100 (CET)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2c50cf61f6dso58018941fa.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 00:52:48 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 t9-20020a05600c198900b00407752bd834sm7361180wmq.1.2023.11.13.00.52.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 00:52:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 034a6308-8202-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699865567; x=1700470367; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=i41EUFcBrTV5a0pKEIKGdyFmARmH0W13cJ7pDnX0qRY=;
        b=OYIL55/SZDPLd3xOaqieEATeraU3Yhmhrt31hzjTVGmSMZoySNPD3QrmkcpKlQPbSf
         t3lsKrD3WUUBYz6LWh1Qm3SrALRvQck459/OTKn8PPJB7y7vUbNbDN3LIpUzSTTzLf3f
         xAeqfAPvhoVnxBccw/+8KNnvpVQFedOqDzFj0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699865567; x=1700470367;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=i41EUFcBrTV5a0pKEIKGdyFmARmH0W13cJ7pDnX0qRY=;
        b=Oh1pu5WNVpifZ6BzK76iT7sE7bOly3TClspO8PuuWw1a3BWNLtLkzza5nKQQybqxuI
         vUScL0h6KNAGkvPDM/V8+5mKYqEXmnP5J1JF1oy2jDUFPdu/Ux7fuTmlUV9WFmHc4Gwl
         ygZGgswnodVop8HgZhCPqRJQBJLZZWPr0OXZM4GPRGwOrz7oE+WFBn0wPwBRpb0jfeOL
         c+OLspg2aop61i/p+I+wqtPM/ADV/+cNFvQZjZR4RAOANrsMvYR4ekFOizCbmkYnWRFY
         NqtJlmMFOhWhbCWyqE2ic/g8w2uoxMGlr8YsDeiR2Xjoml9J1tB21bldxCoORbWXYHhD
         RUqw==
X-Gm-Message-State: AOJu0Yzc/cIyi+iUqtPvOGKggNZGLvuIhJT9QyOnPZI+OB+OdGvG9a6y
	aWURv8YT0Lj4ZP+f0OweD6ITkU/D+beGeZ4OB9A=
X-Google-Smtp-Source: AGHT+IEXIWu9jm2jOF3kMofE85dAqIw9SEA45xnCcQguM2FII9ASIMLzF0Qe929VtqI6FqGiOAsxlw==
X-Received: by 2002:a2e:3a09:0:b0:2c5:15a5:826a with SMTP id h9-20020a2e3a09000000b002c515a5826amr3995557lja.19.1699865567054;
        Mon, 13 Nov 2023 00:52:47 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] x86/intel: fix indentation
Date: Mon, 13 Nov 2023 09:51:30 +0100
Message-ID: <20231113085130.43458-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Adjust line to use a hard tab and align using spaces afterwards, instead of
using all spaces.

Fixes: fc3090a47b21 ('x86/boot: Clear XD_DISABLE from the early boot path')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Realized while doing backports, not sure if it's worth fixing on it's own.
---
 xen/arch/x86/cpu/intel.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/cpu/intel.c b/xen/arch/x86/cpu/intel.c
index a8ba3191e618..dfee64689ffe 100644
--- a/xen/arch/x86/cpu/intel.c
+++ b/xen/arch/x86/cpu/intel.c
@@ -307,7 +307,7 @@ static void cf_check early_init_intel(struct cpuinfo_x86 *c)
 		c->x86_cache_alignment = 128;
 
 	if (c == &boot_cpu_data &&
-            bootsym(trampoline_misc_enable_off) & MSR_IA32_MISC_ENABLE_XD_DISABLE)
+	    bootsym(trampoline_misc_enable_off) & MSR_IA32_MISC_ENABLE_XD_DISABLE)
 		printk(KERN_INFO "re-enabled NX (Execute Disable) protection\n");
 
 	/* Unmask CPUID levels and NX if masked: */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 08:54:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 08:54:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631386.984665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Sif-0000m8-VL; Mon, 13 Nov 2023 08:54:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631386.984665; Mon, 13 Nov 2023 08:54: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 1r2Sif-0000m1-S5; Mon, 13 Nov 2023 08:54:57 +0000
Received: by outflank-mailman (input) for mailman id 631386;
 Mon, 13 Nov 2023 08:54: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=hsVx=G2=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1r2Sie-0000lr-9v
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 08:54:56 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50c4ba2b-8202-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 09:54:55 +0100 (CET)
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 1r2Shn-00DHEt-7m; Mon, 13 Nov 2023 08:54:04 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
 id 8FD82300427; Mon, 13 Nov 2023 09:54:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50c4ba2b-8202-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=dutrm5ccD7TaxoUTd5HetFxAB3OI7e+5hdO7Sj9SVNo=; b=wROikK0F+E/0+gQCY5aizziwZM
	QBnqTdIASK/w4O/XE3EW5v2abecSdYkvK+1zJnluPUtnBngldSvjaMgTnd7kRGV514mvgKT2hU0vC
	zyXBTRnb7A9gFNaBRlwjzsA4yg5tTIt5CaM1p3Y5thi2fixgzbu9gYQs2dMIhNq7ghLsDwXDjPCGW
	c4IO6A3VhEeYayv5zlUHiiN4fSixzrzW2ZU+OFXqHfAYwdcx8Ci4e1LYOZbFbUtVyqtN+xQnmTz7h
	4Bnr6O5PUCwR9sOreXh5yplAfAZI8hKiF8rtnUT8tx3OIE8Nkxzi4qJBpBkKgX1hESNRrFrl/uuYN
	3iMt4jmQ==;
Date: Mon, 13 Nov 2023 09:54:03 +0100
From: Peter Zijlstra <peterz@infradead.org>
To: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>
Cc: Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	Mihai =?utf-8?B?RG9uyJt1?= <mdontu@bitdefender.com>,
	=?utf-8?B?TmljdciZb3IgQ8OuyJt1?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>, Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?utf-8?Q?=C8=98tefan_=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org, kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
	x86@kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH v2 18/19] heki: x86: Protect guest kernel memory
 using the KVM hypervisor
Message-ID: <20231113085403.GC16138@noisy.programming.kicks-ass.net>
References: <20231113022326.24388-1-mic@digikod.net>
 <20231113022326.24388-19-mic@digikod.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231113022326.24388-19-mic@digikod.net>

On Sun, Nov 12, 2023 at 09:23:25PM -0500, Mickal Salan wrote:
> From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
> 
> Implement a hypervisor function, kvm_protect_memory() that calls the
> KVM_HC_PROTECT_MEMORY hypercall to request the KVM hypervisor to
> set specified permissions on a list of guest pages.
> 
> Using the protect_memory() function, set proper EPT permissions for all
> guest pages.
> 
> Use the MEM_ATTR_IMMUTABLE property to protect the kernel static
> sections and the boot-time read-only sections. This enables to make sure
> a compromised guest will not be able to change its main physical memory
> page permissions. However, this also disable any feature that may change
> the kernel's text section (e.g., ftrace, Kprobes), but they can still be
> used on kernel modules.
> 
> Module loading/unloading, and eBPF JIT is allowed without restrictions
> for now, but we'll need a way to authenticate these code changes to
> really improve the guests' security. We plan to use module signatures,
> but there is no solution yet to authenticate eBPF programs.
> 
> Being able to use ftrace and Kprobes in a secure way is a challenge not
> solved yet. We're looking for ideas to make this work.
> 
> Likewise, the JUMP_LABEL feature cannot work because the kernel's text
> section is read-only.

What is the actual problem? As is the kernel text map is already RO and
never changed.


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 08:58:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 08:58:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631392.984675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Slx-0002Rh-DC; Mon, 13 Nov 2023 08:58:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631392.984675; Mon, 13 Nov 2023 08:58: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 1r2Slx-0002Ra-A0; Mon, 13 Nov 2023 08:58:21 +0000
Received: by outflank-mailman (input) for mailman id 631392;
 Mon, 13 Nov 2023 08:58: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2Slw-0002RU-62
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 08:58:20 +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 c7db8eff-8202-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 09:58:15 +0100 (CET)
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 D9DF2218FE;
 Mon, 13 Nov 2023 08:58: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 B0F3C1358C;
 Mon, 13 Nov 2023 08:58:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id faPMKSXlUWV3fgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 08:58: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: c7db8eff-8202-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699865893; 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:autocrypt:autocrypt;
	bh=Ee37ZcATXMAwvyQ5aei1qWFhSnKB23STgC7t9N0nqq4=;
	b=Lnv8cJNwnyOoDqOB58pwpPj5ZNMghiY7RytlrLGrREoVNKGJfug62+eDZxUD8Ga7+9d4Ox
	GkF2r6Lw+KqE8BMzK4ajcwf/qI4JfEKAwny42RhZsndN/olUdz9DXasZgYupuu+jte6Jst
	hJxk1vz/ZyTtvsp1vKy99+zLLoVokhY=
Message-ID: <40e96237-f55f-4b30-b4d4-039f381d676e@suse.com>
Date: Mon, 13 Nov 2023 09:58:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 24/29] tools/xenstored: split domain_init()
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-25-jgross@suse.com>
 <b84878ff-59f6-424b-9ca6-89c957d963ee@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <b84878ff-59f6-424b-9ca6-89c957d963ee@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------RX0IIhdXPnfTKYHYsYkSvI0f"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------RX0IIhdXPnfTKYHYsYkSvI0f
Content-Type: multipart/mixed; boundary="------------NAWNsIN1BMaL8BsGpcjTi7Tw";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <40e96237-f55f-4b30-b4d4-039f381d676e@suse.com>
Subject: Re: [PATCH v2 24/29] tools/xenstored: split domain_init()
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-25-jgross@suse.com>
 <b84878ff-59f6-424b-9ca6-89c957d963ee@xen.org>
In-Reply-To: <b84878ff-59f6-424b-9ca6-89c957d963ee@xen.org>

--------------NAWNsIN1BMaL8BsGpcjTi7Tw
Content-Type: multipart/mixed; boundary="------------2G02c7K4OWKmEgBmvvM9siWl"

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

T24gMTAuMTEuMjMgMTk6MDUsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEwLzExLzIwMjMgMTY6MDcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBU
b2RheSBkb21haW5faW5pdCgpIGlzIGNhbGxlZCBlaXRoZXIganVzdCBiZWZvcmUgY2FsbGlu
ZyBkb20wX2luaXQoKQ0KPj4gaW4gY2FzZSBubyBsaXZlIHVwZGF0ZSBpcyBiZWluZyBwZXJm
b3JtZWQsIG9yIGl0IGlzIGNhbGxlZCBhZnRlcg0KPj4gcmVhZGluZyB0aGUgZ2xvYmFsIHN0
YXRlIGZyb20gcmVhZF9zdGF0ZV9nbG9iYWwoKSwgYXMgdGhlIGV2ZW50DQo+PiBjaGFubmVs
IGZkIGlzIG5lZWRlZC4NCj4+DQo+PiBTcGxpdCB1cCBkb21haW5faW5pdCgpIGludG8gYSBw
cmVwYXJhdGlvbiBwYXJ0IHdoaWNoIGNhbiBiZSBjYWxsZWQNCj4+IHVuY29uZGl0aW9uYWxs
eSwgYW5kIGluIGEgcGFydCBzZXR0aW5nIHVwIHRoZSBldmVudCBjaGFubmVsIGhhbmRsZS4N
Cj4gDQo+IExvb2tpbmcgYXQgdGhlIGNvZGUsIGRvbWFpbl9pbml0KCkgbWF5IG5vdCBiZSBj
YWxsZWQgaWYgLUQgaXMgcGFzc2VkIHRvIFhlbi4gDQo+IFdpdGggeW91ciBjaGFuZ2UsIHBh
cnQgb2YgaXQgd291bGQgbm90IGJlIGNhbGxlZCB1bmNvbmRpdGlvbmFsbHkuDQo+IA0KPiBT
byBkb2VzIC1EIGFjdHVhbGx5IG1ha2Ugc2Vuc2U/IERpZCBpdCBhY3R1YWxseSB3b3JrIGJl
Zm9yZSB5b3VyIGNoYW5nZT8gU2hvdWxkIA0KPiBpdCBiZSByZW1vdmVkPw0KDQpHb29kIHBv
aW50Lg0KDQpJIHRoaW5rIGl0IHNob3VsZCBiZSByZW1vdmVkLiBJIGRvbid0IHRoaW5rIGl0
IGNhbiB3b3JrIGF0IGFsbC4NCg0KPiANCj4+DQo+PiBOb3RlIHRoYXQgdGhlcmUgaXMgbm8g
Y2hhbmNlIHRoYXQgY2hrX2RvbWFpbl9nZW5lcmF0aW9uKCkgY2FuIGJlDQo+PiBjYWxsZWQg
bm93IGJlZm9yZSB4Y19oYW5kbGUgaGFzIGJlZW4gc2V0dXAsIHNvIHRoZXJlIGlzIG5vIG5l
ZWQgZm9yDQo+PiB0aGUgcmVsYXRlZCBzcGVjaWFsIGNhc2UgYW55bW9yZS4NCj4+DQo+PiBT
aWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+PiAtLS0N
Cj4+IMKgIHRvb2xzL3hlbnN0b3JlZC9jb3JlLmPCoMKgIHzCoCAyICsrDQo+PiDCoCB0b29s
cy94ZW5zdG9yZWQvZG9tYWluLmMgfCAxMiArKysrKystLS0tLS0NCj4+IMKgIHRvb2xzL3hl
bnN0b3JlZC9kb21haW4uaCB8wqAgMSArDQo+PiDCoCAzIGZpbGVzIGNoYW5nZWQsIDkgaW5z
ZXJ0aW9ucygrKSwgNiBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMv
eGVuc3RvcmVkL2NvcmUuYyBiL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMNCj4+IGluZGV4IDhl
MjcxZTMxZjkuLmI5ZWM1MGIzNGMgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5zdG9yZWQv
Y29yZS5jDQo+PiArKysgYi90b29scy94ZW5zdG9yZWQvY29yZS5jDQo+PiBAQCAtMjk2MCw2
ICsyOTYwLDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCj4+IMKgwqDC
oMKgwqAgaW5pdF9waXBlKHJlb3Blbl9sb2dfcGlwZSk7DQo+PiArwqDCoMKgIGRvbWFpbl9z
dGF0aWNfaW5pdCgpOw0KPiANCj4gTklUOiBJIGZpbmQgJ3N0YXRpYycgYSBiaXQgY29uZnVz
aW5nLiBIb3cgYWJvdXQgdXNpbmcgJ2Vhcmx5JyBpbnN0ZWFkIHRvIG1hdGNoIA0KPiAnZWFy
bHlfaW5pdCgpJz8NCg0KWWVzLCBnb29kIGlkZWEuIEkgd2Fzbid0IHZlcnkgaGFwcHkgd2l0
aCB0aGUgbmFtZSBlaXRoZXIuDQoNCg0KSnVlcmdlbg0K
--------------2G02c7K4OWKmEgBmvvM9siWl
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-----

--------------2G02c7K4OWKmEgBmvvM9siWl--

--------------NAWNsIN1BMaL8BsGpcjTi7Tw--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVR5SUFAwAAAAAACgkQsN6d1ii/Ey9X
Vwf7BGEMbFYpwtv5wY0pyFUMzhfeC0fsCZlecFCXuNMvg71Cphr+JYJvUVnLGbElRGW0hQsoNoKq
etH50JgY7oxmorrIhjqk3vtAAqkXHw2kZUeXSQ0dzfsujRmg89Cw582SFA8c9iGXeRgpTO84cRyr
qtyM+7w7r7FICmnUMIrukF/o9Cgvqmw9kTaceeFeflSKs/CWoGHMwPLz05JYpquWP20PAZVJM1Mh
v6V/hRpPyTZb2ab6KtrbCOiiIYv7NqKAqeUYmzNJ4kaZWtJ63dgYVoYjHV95angfw9CS0phGvay0
ZONixHwUmVKQOJnFV2+hJqC/DDJO1uKfxDGHdeVbFA==
=Q2fe
-----END PGP SIGNATURE-----

--------------RX0IIhdXPnfTKYHYsYkSvI0f--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:03:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:03:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631410.984686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2SrF-00046X-LL; Mon, 13 Nov 2023 09:03:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631410.984686; Mon, 13 Nov 2023 09:03: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 1r2SrF-00046Q-IA; Mon, 13 Nov 2023 09:03:49 +0000
Received: by outflank-mailman (input) for mailman id 631410;
 Mon, 13 Nov 2023 09:03: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2SrE-00046E-Ey
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:03:48 +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 8bc648eb-8203-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 10:03:43 +0100 (CET)
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 21BDA218FA;
 Mon, 13 Nov 2023 09:03: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 E3D1413398;
 Mon, 13 Nov 2023 09:03:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 90BHNm/mUWV7AgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 09:03: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: 8bc648eb-8203-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699866224; 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:autocrypt:autocrypt;
	bh=RJZwJou12wLHOso9sTPGjR11fHsKl9PbnRblYXsy6V0=;
	b=X7xzONUDy1Cm3xGpIjE+STAKmvLfgHqIVtTt9TB1ex4D0mmC/z4XyuR3fWp2Hn59r4QlBU
	zB6l8fbcTHpi38HTqjg96DEWFzNW2yby2MeiS9FhQK/unkalkuLI1OifRYmaoCUnd6hsWF
	H5CS06euADt/ph/MOXJ05RU9zZkLXCQ=
Message-ID: <5896f355-256d-4501-bee1-b6ba1013c24c@suse.com>
Date: Mon, 13 Nov 2023 10:03:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 22/29] tools/xenstored: get own domid in stubdom case
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-23-jgross@suse.com>
 <430273e6-529b-4cb2-8998-97dc73e72f1b@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <430273e6-529b-4cb2-8998-97dc73e72f1b@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0XU1XBtMN7t2obOqx0f0aeBC"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0XU1XBtMN7t2obOqx0f0aeBC
Content-Type: multipart/mixed; boundary="------------t9Eyx2A0v6Fw9WTdikLaEWTd";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <5896f355-256d-4501-bee1-b6ba1013c24c@suse.com>
Subject: Re: [PATCH v2 22/29] tools/xenstored: get own domid in stubdom case
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-23-jgross@suse.com>
 <430273e6-529b-4cb2-8998-97dc73e72f1b@xen.org>
In-Reply-To: <430273e6-529b-4cb2-8998-97dc73e72f1b@xen.org>

--------------t9Eyx2A0v6Fw9WTdikLaEWTd
Content-Type: multipart/mixed; boundary="------------mvqtD97JXqOr0JVB4R7hfNkJ"

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

T24gMTAuMTEuMjMgMTg6MzYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEwLzExLzIwMjMgMTY6MDcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
YnRhaW4gdGhlIG93biBkb21pZCBmcm9tIHRoZSBYZW5zdG9yZSBzcGVjaWFsIGdyYW50IGVu
dHJ5IHdoZW4gcnVubmluZw0KPj4gYXMgc3R1YmRvbS4NCj4gVGhlIGNvbW1pdCBtZXNzYWdl
IHNheXMgd2Ugd291bGQgdXNlIHRoZSBncmFudCBlbnRyeSBidXQgLi4uDQoNClNvcnJ5LCBu
b3cgZml4ZWQuDQoNCj4gDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8
amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+PiBWMjoNCj4+IC0gcmVwbGFjZW1lbnQgb2Yg
VjEgcGF0Y2ggKEFOZHJldyBDb29wZXIpDQo+PiAtLS0NCj4+IMKgIHRvb2xzL3hlbnN0b3Jl
ZC9jb3JlLmPCoMKgIHwgMSArDQo+PiDCoCB0b29scy94ZW5zdG9yZWQvY29yZS5owqDCoCB8
IDEgKw0KPj4gwqAgdG9vbHMveGVuc3RvcmVkL21pbmlvcy5jIHwgNSArKysrKw0KPj4gwqAg
MyBmaWxlcyBjaGFuZ2VkLCA3IGluc2VydGlvbnMoKykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEv
dG9vbHMveGVuc3RvcmVkL2NvcmUuYyBiL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMNCj4+IGlu
ZGV4IDBjMTQ4MjNmYjAuLjhlMjcxZTMxZjkgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5z
dG9yZWQvY29yZS5jDQo+PiArKysgYi90b29scy94ZW5zdG9yZWQvY29yZS5jDQo+PiBAQCAt
MjczOCw2ICsyNzM4LDcgQEAgc3RhdGljIHN0cnVjdCBvcHRpb24gb3B0aW9uc1tdID0gew0K
Pj4gwqAgaW50IGRvbTBfZG9taWQgPSAwOw0KPj4gwqAgaW50IGRvbTBfZXZlbnQgPSAwOw0K
Pj4gwqAgaW50IHByaXZfZG9taWQgPSAwOw0KPj4gK2ludCBzdHViX2RvbWlkID0gLTE7DQo+
PiDCoCBzdGF0aWMgdW5zaWduZWQgaW50IGdldF9vcHR2YWxfdWludChjb25zdCBjaGFyICph
cmcpDQo+PiDCoCB7DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVuc3RvcmVkL2NvcmUuaCBi
L3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmgNCj4+IGluZGV4IGQwYWM1ODdmOGYuLjNjMjgwMDdk
MTEgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5zdG9yZWQvY29yZS5oDQo+PiArKysgYi90
b29scy94ZW5zdG9yZWQvY29yZS5oDQo+PiBAQCAtMzYxLDYgKzM2MSw3IEBAIGRvIHvCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwNCj4+IMKgIGV4
dGVybiBpbnQgZG9tMF9kb21pZDsNCj4+IMKgIGV4dGVybiBpbnQgZG9tMF9ldmVudDsNCj4+
IMKgIGV4dGVybiBpbnQgcHJpdl9kb21pZDsNCj4+ICtleHRlcm4gaW50IHN0dWJfZG9taWQ7
DQo+PiDCoCBleHRlcm4gYm9vbCBrZWVwX29ycGhhbnM7DQo+PiDCoCBleHRlcm4gdW5zaWdu
ZWQgaW50IHRpbWVvdXRfd2F0Y2hfZXZlbnRfbXNlYzsNCj4+IGRpZmYgLS1naXQgYS90b29s
cy94ZW5zdG9yZWQvbWluaW9zLmMgYi90b29scy94ZW5zdG9yZWQvbWluaW9zLmMNCj4+IGlu
ZGV4IDBjZGVjM2FlNTEuLjIwMmQ3MDM4N2EgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5z
dG9yZWQvbWluaW9zLmMNCj4+ICsrKyBiL3Rvb2xzL3hlbnN0b3JlZC9taW5pb3MuYw0KPj4g
QEAgLTE5LDYgKzE5LDggQEANCj4+IMKgICNpbmNsdWRlIDxzeXMvbW1hbi5oPg0KPj4gwqAg
I2luY2x1ZGUgImNvcmUuaCINCj4+IMKgICNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4N
Cj4+ICsjaW5jbHVkZSA8bWluaS1vcy9ldmVudHMuaD4NCj4+ICsjaW5jbHVkZSA8bWluaS1v
cy9nbnR0YWIuaD4NCj4+IMKgIHZvaWQgd3JpdGVfcGlkZmlsZShjb25zdCBjaGFyICpwaWRm
aWxlKQ0KPj4gwqAgew0KPj4gQEAgLTU2LDQgKzU4LDcgQEAgdm9pZCB1bm1hcF94ZW5idXMo
dm9pZCAqaW50ZXJmYWNlKQ0KPj4gwqAgdm9pZCBlYXJseV9pbml0KHZvaWQpDQo+PiDCoCB7
DQo+PiArwqDCoMKgIHN0dWJfZG9taWQgPSBldnRjaG5fZ2V0X2RvbWlkKCk7DQo+IA0KPiAu
Li4gdGhlIGZ1bmN0aW9uIGlzIGNhbGxlZCBldnRjaG5fKi4gU28gdGhlIGNvbW1pdCBtZXNz
YWdlIGRvZXNuJ3Qgc2VlbSB0byBtYXRjaCANCj4gdGhlIGNvZGUuDQo+IA0KPiBBbHNvLCB5
b3Ugc2VlbSB0byBpbmNsdWRlIG1pbmktb3MvZ250dGFiLmggd2hlbiB5b3UgZG9uJ3QgYWRk
IGFueSBmdW5jdGlvbiB0aGF0IA0KPiBzZWVtcyB0byBiZSByZWxhdGVkLg0KPiANCj4gTGFz
dGx5LCBzaG91bGRuJ3QgdGhpcyBoZWxwZXIgYmUgY2FsbGVkIGdldF9kb21haW5faWQoKSAo
b3Igc2ltaWxhcikgYmVjYXVzZSB0aGUgDQo+IGRvbWlkIGlzIG5vdCBzcGVjaWZpYyB0byB0
aGUgZXZlbnQgY2hhbm5lbCBzdWJzeXN0ZW0/DQoNCkkndmUgbmFtZWQgaXQgZ2V0X2RvbWlk
KCkgbm93Lg0KDQoNCkp1ZXJnZW4NCg==
--------------mvqtD97JXqOr0JVB4R7hfNkJ
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-----

--------------mvqtD97JXqOr0JVB4R7hfNkJ--

--------------t9Eyx2A0v6Fw9WTdikLaEWTd--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVR5m8FAwAAAAAACgkQsN6d1ii/Ey+0
vwf+ISSQ3Kk9NQvmUwY6gVAOqNt9nZcN05c/+XrWBn2PGXscZY5JMROsd3FOt8wn5t1l4E5Y1N3B
qsMqIVBhr+A6mUsHG5m8fwUgowIYtqjwfNUjyF8Lewffb5nbUSv1mEWTFFtHihVsWNldz8kiwIIA
ComfSNKgYpVvQUBvEJnqkM+n/4ER+fDNzAxryXRfc9Xjt4nI3maVGhxJUJ7WOyFEEHBhC+I96ft/
o9wrj+aT4M5MrXW2cm4/k0MXf6TmASQt5BLrvYFQ6ZCPqhgmeimRd/VR4v04l1ZdsKD9u4rT6cW6
UZKRqlPOQPXesqtWD/aznj46lJntkTRzoFvyGtTaHA==
=y2Ln
-----END PGP SIGNATURE-----

--------------0XU1XBtMN7t2obOqx0f0aeBC--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631417.984696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2SwA-0007Ep-81; Mon, 13 Nov 2023 09:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631417.984696; Mon, 13 Nov 2023 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 1r2SwA-0007Ei-3q; Mon, 13 Nov 2023 09:08:54 +0000
Received: by outflank-mailman (input) for mailman id 631417;
 Mon, 13 Nov 2023 09:08: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=EUjx=G2=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2Sw8-0007Ec-U1
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:08:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 42e5e7a4-8204-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 10:08:51 +0100 (CET)
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 B5F94FEC;
 Mon, 13 Nov 2023 01:09:35 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 015D43F6C4;
 Mon, 13 Nov 2023 01:08:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42e5e7a4-8204-11ee-98da-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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 v4 0/5] Fine granular configuration
Date: Mon, 13 Nov 2023 09:08:36 +0000
Message-Id: <20231113090841.595428-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie aims to add more modularity to some feature that can be excluded
without issues from the build.

The first patch is already reviewed.

v2 update: So I've tried to see how to put the dom0less code in the common code,
but the amount of modifications are not trivial, even putting only the common
part and protecting them with ARM, leaving the ARM specific stuff under arch/
like gic etc... will leave a status that is not very nice, so I've decided for
now to keep everything on the arm architecture so that who is going to work
on unifying the code in common can just take from there and do the proper
rework.

This serie is not targeting 4.18.

Luca Fancellu (5):
  arm/gicv2: make GICv2 driver and vGICv2 optional
  xen/arm: Add asm/domain.h include to kernel.h
  arm/dom0less: put dom0less feature code in a separate module
  xen/arm: Move static memory build code in separate modules
  arm/dom0less: introduce Kconfig for dom0less feature

 xen/arch/arm/Kconfig                      |   27 +
 xen/arch/arm/Makefile                     |    7 +-
 xen/arch/arm/bootfdt.c                    |  161 +-
 xen/arch/arm/dom0less-build.c             | 1018 ++++++
 xen/arch/arm/domain_build.c               | 3591 ++++++---------------
 xen/arch/arm/efi/efi-boot.h               |    4 +
 xen/arch/arm/gic-v3.c                     |    4 +
 xen/arch/arm/include/asm/dom0less-build.h |   30 +
 xen/arch/arm/include/asm/domain_build.h   |   36 +
 xen/arch/arm/include/asm/kernel.h         |    1 +
 xen/arch/arm/include/asm/setup.h          |    1 -
 xen/arch/arm/include/asm/static-memory.h  |   50 +
 xen/arch/arm/include/asm/static-shmem.h   |   71 +
 xen/arch/arm/setup.c                      |   58 +-
 xen/arch/arm/static-memory.c              |  294 ++
 xen/arch/arm/static-shmem.c               |  554 ++++
 xen/arch/arm/vgic.c                       |    2 +
 xen/arch/arm/vgic/Makefile                |    4 +-
 xen/common/Kconfig                        |    2 +-
 19 files changed, 3083 insertions(+), 2832 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631419.984711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2SwB-0007Xb-P7; Mon, 13 Nov 2023 09:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631419.984711; Mon, 13 Nov 2023 09: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 1r2SwB-0007XA-Km; Mon, 13 Nov 2023 09:08:55 +0000
Received: by outflank-mailman (input) for mailman id 631419;
 Mon, 13 Nov 2023 09:08: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=EUjx=G2=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2SwB-0007Gm-2c
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:08:55 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 41e2678d-8204-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 10:08:49 +0100 (CET)
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 08D2916F2;
 Mon, 13 Nov 2023 01:09:37 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 982A03F6C4;
 Mon, 13 Nov 2023 01:08:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41e2678d-8204-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 1/5] arm/gicv2: make GICv2 driver and vGICv2 optional
Date: Mon, 13 Nov 2023 09:08:37 +0000
Message-Id: <20231113090841.595428-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231113090841.595428-1-luca.fancellu@arm.com>
References: <20231113090841.595428-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
when needed, the option is active by default.

Introduce Kconfig VGICV2 that compiles the Generic Interrupt
Controller v2 emulation for domains, it is required only when using
GICv2 driver, otherwise using the GICv3 driver it is optional and can
be deselected if the user doesn't want to offer the v2 emulation to
domains or maybe its GICv3 hardware can't offer the GICv2 compatible
mode.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes from v3:
 - No changes
Changes from v2:
 - No changes
---
 xen/arch/arm/Kconfig        | 19 +++++++++++++++++++
 xen/arch/arm/Makefile       |  4 ++--
 xen/arch/arm/domain_build.c |  4 ++++
 xen/arch/arm/gic-v3.c       |  4 ++++
 xen/arch/arm/vgic.c         |  2 ++
 xen/arch/arm/vgic/Makefile  |  4 ++--
 6 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b78..0045a3762d86 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -80,6 +80,14 @@ config ARM_EFI
 	  UEFI firmware. A UEFI stub is provided to allow Xen to
 	  be booted as an EFI application.
 
+config GICV2
+	bool "GICv2 driver"
+	default y
+	select VGICV2
+	help
+	  Driver for the ARM Generic Interrupt Controller v2.
+	  If unsure, say Y
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
@@ -99,11 +107,22 @@ config OVERLAY_DTB
 	help
 	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
 
+config VGICV2
+	bool "vGICv2 interface for domains"
+	default y
+	help
+	  Allow Xen to expose a Generic Interrupt Controller version 2 like to Xen
+	  domains. This can be configured at the domain creation.
+	  This option is mandatory when using GICv2.
+	  For GICv3, this allows domain to use GICv2 when the hardware supports it.
+	  If unsure say Y.
+
 config HVM
         def_bool y
 
 config NEW_VGIC
 	bool "Use new VGIC implementation"
+	select GICV2
 	---help---
 
 	This is an alternative implementation of the ARM GIC interrupt
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e992046..81c31c36fc3d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -22,7 +22,7 @@ obj-y += domctl.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
 obj-y += gic.o
-obj-y += gic-v2.o
+obj-$(CONFIG_GICV2) += gic-v2.o
 obj-$(CONFIG_GICV3) += gic-v3.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-its.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-lpi.o
@@ -57,7 +57,7 @@ obj-$(CONFIG_NEW_VGIC) += vgic/
 ifneq ($(CONFIG_NEW_VGIC),y)
 obj-y += gic-vgic.o
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 49792dd590ee..3d3a117bde7a 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2490,6 +2490,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
+#ifdef CONFIG_VGICV2
 static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
@@ -2541,6 +2542,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 
     return res;
 }
+#endif
 
 #ifdef CONFIG_GICV3
 static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
@@ -2616,8 +2618,10 @@ static int __init make_gic_domU_node(struct kernel_info *kinfo)
     case GIC_V3:
         return make_gicv3_domU_node(kinfo);
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         return make_gicv2_domU_node(kinfo);
+#endif
     default:
         panic("Unsupported GIC version\n");
     }
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 172ff8c005ff..292abefd8731 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1334,6 +1334,7 @@ static paddr_t __initdata dbase = INVALID_PADDR;
 static paddr_t __initdata vbase = INVALID_PADDR, vsize = 0;
 static paddr_t __initdata cbase = INVALID_PADDR, csize = 0;
 
+#ifdef CONFIG_VGICV2
 /* If the GICv3 supports GICv2, initialize it */
 static void __init gicv3_init_v2(void)
 {
@@ -1359,6 +1360,9 @@ static void __init gicv3_init_v2(void)
 
     vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
 }
+#else
+static inline void gicv3_init_v2(void) { }
+#endif
 
 static void __init gicv3_ioremap_distributor(paddr_t dist_paddr)
 {
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index f6b49766f97a..c04fc4f83f96 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -96,10 +96,12 @@ int domain_vgic_register(struct domain *d, unsigned int *mmio_count)
            return -ENODEV;
         break;
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         if ( vgic_v2_init(d, mmio_count) )
             return -ENODEV;
         break;
+#endif
     default:
         printk(XENLOG_G_ERR "d%d: Unknown vGIC version %u\n",
                d->domain_id, d->arch.vgic.version);
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 806826948e20..60cbf7f2f94a 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -1,5 +1,5 @@
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-y += vgic-mmio.o
-obj-y += vgic-mmio-v2.o
+obj-$(CONFIG_VGICV2) += vgic-mmio-v2.o
 obj-y += vgic-init.o
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631420.984726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2SwG-00081B-1X; Mon, 13 Nov 2023 09:09:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631420.984726; Mon, 13 Nov 2023 09:08: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 1r2SwF-00080z-TU; Mon, 13 Nov 2023 09:08:59 +0000
Received: by outflank-mailman (input) for mailman id 631420;
 Mon, 13 Nov 2023 09:08: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=EUjx=G2=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2SwE-0007Gm-9M
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:08:58 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 438565dd-8204-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 10:08:52 +0100 (CET)
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 D029A1713;
 Mon, 13 Nov 2023 01:09:39 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 3615C3F6C4;
 Mon, 13 Nov 2023 01:08:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 438565dd-8204-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 3/5] arm/dom0less: put dom0less feature code in a separate module
Date: Mon, 13 Nov 2023 09:08:39 +0000
Message-Id: <20231113090841.595428-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231113090841.595428-1-luca.fancellu@arm.com>
References: <20231113090841.595428-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the dom0less feature code is mostly inside domain_build.c
and setup.c, it is a feature that may not be useful to everyone so
put the code in a different compilation module in order to make it
easier to disable the feature in the future.

Move gic_interrupt_t in domain_build.h to use it with the function
declaration, move its comment above the declaration.

The following functions are now visible externally from domain_build
because they are used also from the dom0less-build module:
 - get_allocation_size
 - set_interrupt
 - domain_fdt_begin_node
 - make_memory_node
 - make_resv_memory_node
 - make_hypervisor_node
 - make_psci_node
 - make_cpus_node
 - make_timer_node
 - handle_device_interrupts
 - construct_domain
 - process_shm
 - allocate_bank_memory

The functions allocate_static_memory and assign_static_memory_11
are now externally visible, so put their declarations into
domain_build.h and move the #else and stub definition in the header
as well.

Move is_dom0less_mode from setup.c to dom0less-build.c and make it
externally visible.

The function allocate_bank_memory is used only by dom0less code
at the moment, but it's been decided to leave it in domain_build.c
in case that in the future the dom0 code can use it.

Where spotted, fix code style issues.

No functional change is intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - remove header in dom0less-build.h (Michal)
Changes from v2:
 - move allocate_bank_memory back in domain_build.c, remove header
   from dom0less-build.c.
---
 xen/arch/arm/Makefile                     |    1 +
 xen/arch/arm/dom0less-build.c             | 1018 +++++++++++++++++
 xen/arch/arm/domain_build.c               | 1265 +++------------------
 xen/arch/arm/include/asm/dom0less-build.h |   20 +
 xen/arch/arm/include/asm/domain_build.h   |   60 +
 xen/arch/arm/include/asm/setup.h          |    1 -
 xen/arch/arm/setup.c                      |   33 +-
 7 files changed, 1240 insertions(+), 1158 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 81c31c36fc3d..70dd7201ef30 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -15,6 +15,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
+obj-y += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
new file mode 100644
index 000000000000..1ca9d39043d6
--- /dev/null
+++ b/xen/arch/arm/dom0less-build.c
@@ -0,0 +1,1018 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/device_tree.h>
+#include <xen/err.h>
+#include <xen/event.h>
+#include <xen/grant_table.h>
+#include <xen/iocap.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+#include <xen/serial.h>
+#include <xen/sizes.h>
+#include <xen/vmap.h>
+
+#include <asm/arm64/sve.h>
+#include <asm/dom0less-build.h>
+#include <asm/domain_build.h>
+
+bool __init is_dom0less_mode(void)
+{
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootmodule *mod;
+    unsigned int i;
+    bool dom0found = false;
+    bool domUfound = false;
+
+    /* Look into the bootmodules */
+    for ( i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->module[i];
+        /* Find if dom0 and domU kernels are present */
+        if ( mod->kind == BOOTMOD_KERNEL )
+        {
+            if ( mod->domU == false )
+            {
+                dom0found = true;
+                break;
+            }
+            else
+                domUfound = true;
+        }
+    }
+
+    /*
+     * If there is no dom0 kernel but at least one domU, then we are in
+     * dom0less mode
+     */
+    return ( !dom0found && domUfound );
+}
+
+static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
+{
+    unsigned int i;
+    paddr_t bank_size;
+
+    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
+           /* Don't want format this as PRIpaddr (16 digit hex) */
+           (unsigned long)(kinfo->unassigned_mem >> 20), d);
+
+    kinfo->mem.nr_banks = 0;
+    bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
+    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
+                               bank_size) )
+        goto fail;
+
+    bank_size = MIN(GUEST_RAM1_SIZE, kinfo->unassigned_mem);
+    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
+                               bank_size) )
+        goto fail;
+
+    if ( kinfo->unassigned_mem )
+        goto fail;
+
+    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    {
+        printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
+               d,
+               i,
+               kinfo->mem.bank[i].start,
+               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
+               /* Don't want format this as PRIpaddr (16 digit hex) */
+               (unsigned long)(kinfo->mem.bank[i].size >> 20));
+    }
+
+    return;
+
+fail:
+    panic("Failed to allocate requested domain memory."
+          /* Don't want format this as PRIpaddr (16 digit hex) */
+          " %ldKB unallocated. Fix the VMs configurations.\n",
+          (unsigned long)kinfo->unassigned_mem >> 10);
+}
+
+#ifdef CONFIG_VGICV2
+static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
+    __be32 *cells;
+    const struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+#ifdef CONFIG_GICV3
+static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 *reg, *cells;
+    const struct domain *d = kinfo->d;
+    unsigned int i, len = 0;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
+    if ( res )
+        return res;
+
+    /* reg specifies all re-distributors and Distributor. */
+    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
+          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
+    reg = xmalloc_bytes(len);
+    if ( reg == NULL )
+        return -ENOMEM;
+    cells = reg;
+
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
+
+    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
+        dt_child_set_range(&cells,
+                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                           d->arch.vgic.rdist_regions[i].base,
+                           d->arch.vgic.rdist_regions[i].size);
+
+    res = fdt_property(fdt, "reg", reg, len);
+    xfree(reg);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+static int __init make_gic_domU_node(struct kernel_info *kinfo)
+{
+    switch ( kinfo->d->arch.vgic.version )
+    {
+#ifdef CONFIG_GICV3
+    case GIC_V3:
+        return make_gicv3_domU_node(kinfo);
+#endif
+#ifdef CONFIG_VGICV2
+    case GIC_V2:
+        return make_gicv2_domU_node(kinfo);
+#endif
+    default:
+        panic("Unsupported GIC version\n");
+    }
+}
+
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res;
+    gic_interrupt_t intr;
+    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+    __be32 *cells;
+    struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
+                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
+                       GUEST_PL011_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if ( res )
+        return res;
+
+    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+
+    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "interrupt-parent",
+                            kinfo->phandle_gic);
+    if ( res )
+        return res;
+
+    /* Use a default baud rate of 115200. */
+    fdt_property_u32(fdt, "current-speed", 115200);
+
+    res = fdt_end_node(fdt);
+    if ( res )
+        return res;
+
+    return 0;
+}
+#endif
+
+/*
+ * Scan device tree properties for passthrough specific information.
+ * Returns < 0 on error
+ *         0 on success
+ */
+static int __init handle_passthrough_prop(struct kernel_info *kinfo,
+                                          const struct fdt_property *xen_reg,
+                                          const struct fdt_property *xen_path,
+                                          bool xen_force,
+                                          uint32_t address_cells,
+                                          uint32_t size_cells)
+{
+    const __be32 *cell;
+    unsigned int i, len;
+    struct dt_device_node *node;
+    int res;
+    paddr_t mstart, size, gstart;
+
+    /* xen,reg specifies where to map the MMIO region */
+    cell = (const __be32 *)xen_reg->data;
+    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
+                                        sizeof(uint32_t));
+
+    for ( i = 0; i < len; i++ )
+    {
+        device_tree_get_reg(&cell, address_cells, size_cells,
+                            &mstart, &size);
+        gstart = dt_next_cell(address_cells, &cell);
+
+        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
+        {
+            printk(XENLOG_ERR
+                   "DomU passthrough config has not page aligned addresses/sizes\n");
+            return -EINVAL;
+        }
+
+        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
+                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
+                   kinfo->d->domain_id,
+                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
+            return res;
+        }
+
+        res = map_regions_p2mt(kinfo->d,
+                               gaddr_to_gfn(gstart),
+                               PFN_DOWN(size),
+                               maddr_to_mfn(mstart),
+                               p2m_mmio_direct_dev);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR
+                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
+                   mstart, gstart);
+            return -EFAULT;
+        }
+    }
+
+    /*
+     * If xen_force, we let the user assign a MMIO region with no
+     * associated path.
+     */
+    if ( xen_path == NULL )
+        return xen_force ? 0 : -EINVAL;
+
+    /*
+     * xen,path specifies the corresponding node in the host DT.
+     * Both interrupt mappings and IOMMU settings are based on it,
+     * as they are done based on the corresponding host DT node.
+     */
+    node = dt_find_node_by_path(xen_path->data);
+    if ( node == NULL )
+    {
+        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
+               (char *)xen_path->data);
+        return -EINVAL;
+    }
+
+    res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
+    if ( res < 0 )
+        return res;
+
+    res = iommu_add_dt_device(node);
+    if ( res < 0 )
+        return res;
+
+    /* If xen_force, we allow assignment of devices without IOMMU protection. */
+    if ( xen_force && !dt_device_is_protected(node) )
+        return 0;
+
+    return iommu_assign_dt_device(kinfo->d, node);
+}
+
+static int __init handle_prop_pfdt(struct kernel_info *kinfo,
+                                   const void *pfdt, int nodeoff,
+                                   uint32_t address_cells, uint32_t size_cells,
+                                   bool scan_passthrough_prop)
+{
+    void *fdt = kinfo->fdt;
+    int propoff, nameoff, res;
+    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
+    const char *name;
+    bool found, xen_force = false;
+
+    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
+          propoff >= 0;
+          propoff = fdt_next_property_offset(pfdt, propoff) )
+    {
+        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
+            return -FDT_ERR_INTERNAL;
+
+        found = false;
+        nameoff = fdt32_to_cpu(prop->nameoff);
+        name = fdt_string(pfdt, nameoff);
+
+        if ( scan_passthrough_prop )
+        {
+            if ( dt_prop_cmp("xen,reg", name) == 0 )
+            {
+                xen_reg = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,path", name) == 0 )
+            {
+                xen_path = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
+                                  name) == 0 )
+            {
+                xen_force = true;
+                found = true;
+            }
+        }
+
+        /*
+         * Copy properties other than the ones above: xen,reg, xen,path,
+         * and xen,force-assign-without-iommu.
+         */
+        if ( !found )
+        {
+            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
+            if ( res )
+                return res;
+        }
+    }
+
+    /*
+     * Only handle passthrough properties if both xen,reg and xen,path
+     * are present, or if xen,force-assign-without-iommu is specified.
+     */
+    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
+    {
+        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
+                                      address_cells, size_cells);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
+            return res;
+        }
+    }
+    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
+    {
+        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
+               kinfo->d);
+        return -EINVAL;
+    }
+
+    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
+    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
+}
+
+static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
+                                 int nodeoff,
+                                 uint32_t address_cells, uint32_t size_cells,
+                                 bool scan_passthrough_prop)
+{
+    int rc = 0;
+    void *fdt = kinfo->fdt;
+    int node_next;
+
+    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
+    if ( rc )
+        return rc;
+
+    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
+                          scan_passthrough_prop);
+    if ( rc )
+        return rc;
+
+    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
+                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
+    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
+                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
+
+    node_next = fdt_first_subnode(pfdt, nodeoff);
+    while ( node_next > 0 )
+    {
+        rc = scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
+                            scan_passthrough_prop);
+        if ( rc )
+            return rc;
+
+        node_next = fdt_next_subnode(pfdt, node_next);
+    }
+
+    return fdt_end_node(fdt);
+}
+
+static int __init check_partial_fdt(void *pfdt, size_t size)
+{
+    int res;
+
+    if ( fdt_magic(pfdt) != FDT_MAGIC )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
+        return -EINVAL;
+    }
+
+    res = fdt_check_header(pfdt);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
+        return -EINVAL;
+    }
+
+    if ( fdt_totalsize(pfdt) > size )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int __init domain_handle_dtb_bootmodule(struct domain *d,
+                                               struct kernel_info *kinfo)
+{
+    void *pfdt;
+    int res, node_next;
+
+    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
+                         kinfo->dtb_bootmodule->size);
+    if ( pfdt == NULL )
+        return -EFAULT;
+
+    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
+    if ( res < 0 )
+        goto out;
+
+    for ( node_next = fdt_first_subnode(pfdt, 0);
+          node_next > 0;
+          node_next = fdt_next_subnode(pfdt, node_next) )
+    {
+        const char *name = fdt_get_name(pfdt, node_next, NULL);
+
+        if ( name == NULL )
+            continue;
+
+        /*
+         * Only scan /gic /aliases /passthrough, ignore the rest.
+         * They don't have to be parsed in order.
+         *
+         * Take the GIC phandle value from the special /gic node in the
+         * DTB fragment.
+         */
+        if ( dt_node_cmp(name, "gic") == 0 )
+        {
+            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
+            continue;
+        }
+
+        if ( dt_node_cmp(name, "aliases") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 false);
+            if ( res )
+                goto out;
+            continue;
+        }
+        if ( dt_node_cmp(name, "passthrough") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 true);
+            if ( res )
+                goto out;
+            continue;
+        }
+    }
+
+ out:
+    iounmap(pfdt);
+
+    return res;
+}
+
+/*
+ * The max size for DT is 2MB. However, the generated DT is small (not including
+ * domU passthrough DT nodes whose size we account separately), 4KB are enough
+ * for now, but we might have to increase it in the future.
+ */
+#define DOMU_DTB_SIZE 4096
+static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
+{
+    int addrcells, sizecells;
+    int ret, fdt_size = DOMU_DTB_SIZE;
+
+    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
+    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
+    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
+
+    addrcells = GUEST_ROOT_ADDRESS_CELLS;
+    sizecells = GUEST_ROOT_SIZE_CELLS;
+
+    /* Account for domU passthrough DT size */
+    if ( kinfo->dtb_bootmodule )
+        fdt_size += kinfo->dtb_bootmodule->size;
+
+    /* Cap to max DT size if needed */
+    fdt_size = min(fdt_size, SZ_2M);
+
+    kinfo->fdt = xmalloc_bytes(fdt_size);
+    if ( kinfo->fdt == NULL )
+        return -ENOMEM;
+
+    ret = fdt_create(kinfo->fdt, fdt_size);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish_reservemap(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_begin_node(kinfo->fdt, "");
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
+    if ( ret )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
+    if ( ret )
+        goto err;
+
+    ret = make_chosen_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_psci_node(kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_cpus_node(d, kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+    if ( ret )
+        goto err;
+
+    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                                &kinfo->shm_mem);
+    if ( ret )
+        goto err;
+
+    /*
+     * domain_handle_dtb_bootmodule has to be called before the rest of
+     * the device tree is generated because it depends on the value of
+     * the field phandle_gic.
+     */
+    if ( kinfo->dtb_bootmodule )
+    {
+        ret = domain_handle_dtb_bootmodule(d, kinfo);
+        if ( ret )
+            goto err;
+    }
+
+    ret = make_gic_domU_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_timer_node(kinfo);
+    if ( ret )
+        goto err;
+
+    if ( kinfo->vpl011 )
+    {
+        ret = -EINVAL;
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+        ret = make_vpl011_uart_node(kinfo);
+#endif
+        if ( ret )
+            goto err;
+    }
+
+    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
+    {
+        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        if ( ret )
+            goto err;
+    }
+
+    ret = fdt_end_node(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    return 0;
+
+  err:
+    printk("Device tree generation failed (%d).\n", ret);
+    xfree(kinfo->fdt);
+
+    return -EINVAL;
+}
+
+static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
+                                             unsigned int smp_cpus)
+{
+    /*
+     * Keep in sync with libxl__get_required_paging_memory().
+     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
+     * plus 128 pages to cover extended regions.
+     */
+    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
+
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
+}
+
+static int __init alloc_xenstore_evtchn(struct domain *d)
+{
+    evtchn_alloc_unbound_t alloc;
+    int rc;
+
+    alloc.dom = d->domain_id;
+    alloc.remote_dom = hardware_domain->domain_id;
+    rc = evtchn_alloc_unbound(&alloc, 0);
+    if ( rc )
+    {
+        printk("Failed allocating event channel for domain\n");
+        return rc;
+    }
+
+    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
+
+    return 0;
+}
+
+static int __init construct_domU(struct domain *d,
+                                 const struct dt_device_node *node)
+{
+    struct kernel_info kinfo = {};
+    const char *dom0less_enhanced;
+    int rc;
+    u64 mem;
+    u32 p2m_mem_mb;
+    unsigned long p2m_pages;
+
+    rc = dt_property_read_u64(node, "memory", &mem);
+    if ( !rc )
+    {
+        printk("Error building DomU: cannot read \"memory\" property\n");
+        return -EINVAL;
+    }
+    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
+
+    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
+    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
+    p2m_pages = rc ?
+                p2m_mem_mb << (20 - PAGE_SHIFT) :
+                domain_p2m_pages(mem, d->max_vcpus);
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    spin_unlock(&d->arch.paging.lock);
+    if ( rc != 0 )
+        return rc;
+
+    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
+           d->max_vcpus, mem);
+
+    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
+
+    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
+    if ( rc == -EILSEQ ||
+         rc == -ENODATA ||
+         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
+    {
+        if ( hardware_domain )
+            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
+        else
+            panic("At the moment, Xenstore support requires dom0 to be present\n");
+    }
+    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
+        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
+
+    if ( vcpu_create(d, 0) == NULL )
+        return -ENOMEM;
+
+    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
+
+    kinfo.d = d;
+
+    rc = kernel_probe(&kinfo, node);
+    if ( rc < 0 )
+        return rc;
+
+#ifdef CONFIG_ARM_64
+    /* type must be set before allocate memory */
+    d->arch.type = kinfo.type;
+#endif
+    if ( !dt_find_property(node, "xen,static-mem", NULL) )
+        allocate_memory(d, &kinfo);
+    else if ( !is_domain_direct_mapped(d) )
+        allocate_static_memory(d, &kinfo, node);
+    else
+        assign_static_memory_11(d, &kinfo, node);
+
+#ifdef CONFIG_STATIC_SHM
+    rc = process_shm(d, &kinfo, 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
+     * shall be done first.
+     */
+    if ( kinfo.vpl011 )
+    {
+        rc = domain_vpl011_init(d, NULL);
+        if ( rc < 0 )
+            return rc;
+    }
+
+    rc = prepare_dtb_domU(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    rc = construct_domain(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
+    {
+        ASSERT(hardware_domain);
+        rc = alloc_xenstore_evtchn(d);
+        if ( rc < 0 )
+            return rc;
+        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
+    }
+
+    return rc;
+}
+
+void __init create_domUs(void)
+{
+    struct dt_device_node *node;
+    const struct dt_device_node *cpupool_node,
+                                *chosen = dt_find_node_by_path("/chosen");
+
+    BUG_ON(chosen == NULL);
+    dt_for_each_child_node(chosen, node)
+    {
+        struct domain *d;
+        struct xen_domctl_createdomain d_cfg = {
+            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
+            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
+            /*
+             * The default of 1023 should be sufficient for guests because
+             * on ARM we don't bind physical interrupts to event channels.
+             * The only use of the evtchn port is inter-domain communications.
+             * 1023 is also the default value used in libxl.
+             */
+            .max_evtchn_port = 1023,
+            .max_grant_frames = -1,
+            .max_maptrack_frames = -1,
+            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
+        };
+        unsigned int flags = 0U;
+        uint32_t val;
+        int rc;
+
+        if ( !dt_device_is_compatible(node, "xen,domain") )
+            continue;
+
+        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
+            panic("No more domain IDs available\n");
+
+        if ( dt_find_property(node, "xen,static-mem", NULL) )
+            flags |= CDF_staticmem;
+
+        if ( dt_property_read_bool(node, "direct-map") )
+        {
+            if ( !(flags & CDF_staticmem) )
+                panic("direct-map is not valid for domain %s without static allocation.\n",
+                      dt_node_name(node));
+
+            flags |= CDF_directmap;
+        }
+
+        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
+            panic("Missing property 'cpus' for domain %s\n",
+                  dt_node_name(node));
+
+        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
+             iommu_enabled )
+            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
+
+        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
+        {
+            int vpl011_virq = GUEST_VPL011_SPI;
+
+            d_cfg.arch.nr_spis = gic_number_lines() - 32;
+
+            /*
+             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
+             * set, in which case it'll match the hardware.
+             *
+             * Since the domain is not yet created, we can't use
+             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
+             * be hardcoded.
+             * The logic here shall be consistent with the one in
+             * domain_vpl011_init().
+             */
+            if ( flags & CDF_directmap )
+            {
+                vpl011_virq = serial_irq(SERHND_DTUART);
+                if ( vpl011_virq < 0 )
+                    panic("Error getting IRQ number for this serial port %d\n",
+                          SERHND_DTUART);
+            }
+
+            /*
+             * vpl011 uses one emulated SPI. If vpl011 is requested, make
+             * sure that we allocate enough SPIs for it.
+             */
+            if ( dt_property_read_bool(node, "vpl011") )
+                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
+                                         vpl011_virq - 32 + 1);
+        }
+
+        /* Get the optional property domain-cpupool */
+        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
+        if ( cpupool_node )
+        {
+            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
+            if ( pool_id < 0 )
+                panic("Error getting cpupool id from domain-cpupool (%d)\n",
+                      pool_id);
+            d_cfg.cpupool_id = pool_id;
+        }
+
+        if ( dt_property_read_u32(node, "max_grant_version", &val) )
+            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
+
+        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_grant_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_grant_frames = val;
+        }
+
+        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_maptrack_frames = val;
+        }
+
+        if ( dt_get_property(node, "sve", &val) )
+        {
+#ifdef CONFIG_ARM64_SVE
+            unsigned int sve_vl_bits;
+            bool ret = false;
+
+            if ( !val )
+            {
+                /* Property found with no value, means max HW VL supported */
+                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
+            }
+            else
+            {
+                if ( dt_property_read_u32(node, "sve", &val) )
+                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
+                else
+                    panic("Error reading 'sve' property\n");
+            }
+
+            if ( ret )
+                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
+            else
+                panic("SVE vector length error\n");
+#else
+            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
+#endif
+        }
+
+        /*
+         * The variable max_init_domid is initialized with zero, so here it's
+         * very important to use the pre-increment operator to call
+         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
+         */
+        d = domain_create(++max_init_domid, &d_cfg, flags);
+        if ( IS_ERR(d) )
+            panic("Error creating domain %s (rc = %ld)\n",
+                  dt_node_name(node), PTR_ERR(d));
+
+        d->is_console = true;
+        dt_device_set_used_by(node, d->domain_id);
+
+        rc = construct_domU(d, node);
+        if ( rc )
+            panic("Could not set up domain %s (rc = %d)\n",
+                  dt_node_name(node), rc);
+    }
+}
+
+/*
+ * 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/domain_build.c b/xen/arch/arm/domain_build.c
index 3d3a117bde7a..d61fda9f2081 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -28,6 +28,7 @@
 #include <asm/setup.h>
 #include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
+#include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
 
@@ -117,7 +118,7 @@ struct vcpu *__init alloc_dom0_vcpu0(struct domain *dom0)
     return vcpu_create(dom0, 0);
 }
 
-static unsigned int __init get_allocation_size(paddr_t size)
+unsigned int __init get_allocation_size(paddr_t size)
 {
     /*
      * get_order_from_bytes returns the order greater than or equal to
@@ -413,10 +414,8 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
-static bool __init allocate_bank_memory(struct domain *d,
-                                        struct kernel_info *kinfo,
-                                        gfn_t sgfn,
-                                        paddr_t tot_size)
+bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
+                                 gfn_t sgfn, paddr_t tot_size)
 {
     int res;
     struct page_info *pg;
@@ -477,49 +476,6 @@ static bool __init allocate_bank_memory(struct domain *d,
     return true;
 }
 
-static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
-{
-    unsigned int i;
-    paddr_t bank_size;
-
-    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
-           /* Don't want format this as PRIpaddr (16 digit hex) */
-           (unsigned long)(kinfo->unassigned_mem >> 20), d);
-
-    kinfo->mem.nr_banks = 0;
-    bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
-                               bank_size) )
-        goto fail;
-
-    bank_size = MIN(GUEST_RAM1_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
-                               bank_size) )
-        goto fail;
-
-    if ( kinfo->unassigned_mem )
-        goto fail;
-
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
-    {
-        printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
-               d,
-               i,
-               kinfo->mem.bank[i].start,
-               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
-               /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(kinfo->mem.bank[i].size >> 20));
-    }
-
-    return;
-
-fail:
-    panic("Failed to allocate requested domain memory."
-          /* Don't want format this as PRIpaddr (16 digit hex) */
-          " %ldKB unallocated. Fix the VMs configurations.\n",
-          (unsigned long)kinfo->unassigned_mem >> 10);
-}
-
 #ifdef CONFIG_STATIC_MEMORY
 static bool __init append_static_memory_to_bank(struct domain *d,
                                                 struct membank *bank,
@@ -599,9 +555,8 @@ static int __init parse_static_mem_prop(const struct dt_device_node *node,
 }
 
 /* Allocate memory from static memory as RAM for one specific domain d. */
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
+void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
 {
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, gbank, bank = 0;
@@ -705,9 +660,8 @@ static void __init allocate_static_memory(struct domain *d,
  * The static memory will be directly mapped in the guest(Guest Physical
  * Address == Physical Address).
  */
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
+void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                                    const struct dt_device_node *node)
 {
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, bank = 0;
@@ -941,8 +895,8 @@ static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
     return 0;
 }
 
-static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                              const struct dt_device_node *node)
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       const struct dt_device_node *node)
 {
     struct dt_device_node *shm_node;
 
@@ -1047,20 +1001,6 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 #endif /* CONFIG_STATIC_SHM */
-#else
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
 #endif
 
 /*
@@ -1264,17 +1204,10 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 
-/*
- * Helper to write an interrupts with the GIC format
- * This code is assuming the irq is an PPI.
- */
-
-typedef __be32 gic_interrupt_t[3];
-
-static void __init set_interrupt(gic_interrupt_t interrupt,
-                                 unsigned int irq,
-                                 unsigned int cpumask,
-                                 unsigned int level)
+void __init set_interrupt(gic_interrupt_t interrupt,
+                          unsigned int irq,
+                          unsigned int cpumask,
+                          unsigned int level)
 {
     __be32 *cells = interrupt;
     bool is_ppi = !!(irq < 32);
@@ -1319,8 +1252,7 @@ static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
  * unit (which contains the physical address) with name to generate a
  * node name.
  */
-static int __init domain_fdt_begin_node(void *fdt, const char *name,
-                                        uint64_t unit)
+int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
 {
     /*
      * The size of the buffer to hold the longest possible string (i.e.
@@ -1344,10 +1276,10 @@ static int __init domain_fdt_begin_node(void *fdt, const char *name,
     return fdt_begin_node(fdt, buf);
 }
 
-static int __init make_memory_node(const struct domain *d,
-                                   void *fdt,
-                                   int addrcells, int sizecells,
-                                   struct meminfo *mem)
+int __init make_memory_node(const struct domain *d,
+                            void *fdt,
+                            int addrcells, int sizecells,
+                            struct meminfo *mem)
 {
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
@@ -1483,10 +1415,10 @@ static int __init make_shm_memory_node(const struct domain *d,
 }
 #endif
 
-static int __init make_resv_memory_node(const struct domain *d,
-                                        void *fdt,
-                                        int addrcells, int sizecells,
-                                        const struct meminfo *mem)
+int __init make_resv_memory_node(const struct domain *d,
+                                 void *fdt,
+                                 int addrcells, int sizecells,
+                                 const struct meminfo *mem)
 {
     int res = 0;
     /* Placeholder for reserved-memory\0 */
@@ -1819,9 +1751,9 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
     return res;
 }
 
-static int __init make_hypervisor_node(struct domain *d,
-                                       const struct kernel_info *kinfo,
-                                       int addrcells, int sizecells)
+int __init make_hypervisor_node(struct domain *d,
+                                const struct kernel_info *kinfo,
+                                int addrcells, int sizecells)
 {
     const char compat[] =
         "xen,xen-" XEN_VERSION_STRING "\0"
@@ -1938,7 +1870,7 @@ static int __init make_hypervisor_node(struct domain *d,
     return res;
 }
 
-static int __init make_psci_node(void *fdt)
+int __init make_psci_node(void *fdt)
 {
     int res;
     const char compat[] =
@@ -1974,7 +1906,7 @@ static int __init make_psci_node(void *fdt)
     return res;
 }
 
-static int __init make_cpus_node(const struct domain *d, void *fdt)
+int __init make_cpus_node(const struct domain *d, void *fdt)
 {
     int res;
     const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
@@ -2172,7 +2104,7 @@ static int __init make_gic_node(const struct domain *d, void *fdt,
     return res;
 }
 
-static int __init make_timer_node(const struct kernel_info *kinfo)
+int __init make_timer_node(const struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
     static const struct dt_device_match timer_ids[] __initconst =
@@ -2490,773 +2422,161 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
-#ifdef CONFIG_VGICV2
-static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
-    int res = 0;
-    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
-    __be32 *cells;
-    const struct domain *d = kinfo->d;
-
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
+    const p2m_type_t default_p2mt = p2m_mmio_direct_c;
+    const void *fdt;
+    int new_size;
+    int ret;
 
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
+    ASSERT(dt_host && (dt_host->sibling == NULL));
 
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
+    kinfo->phandle_gic = dt_interrupt_controller->phandle;
+    fdt = device_tree_flattened;
 
-    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
-    if ( res )
-        return res;
+    new_size = fdt_totalsize(fdt) + DOM0_FDT_EXTRA_SIZE;
+    kinfo->fdt = xmalloc_bytes(new_size);
+    if ( kinfo->fdt == NULL )
+        return -ENOMEM;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
+    ret = fdt_create(kinfo->fdt, new_size);
+    if ( ret < 0 )
+        goto err;
 
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
-    if (res)
-        return res;
+    fdt_finish_reservemap(kinfo->fdt);
 
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    ret = handle_node(d, kinfo, dt_host, default_p2mt);
+    if ( ret )
+        goto err;
 
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    ret = fdt_finish(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
 
-    res = fdt_end_node(fdt);
+    return 0;
 
-    return res;
+  err:
+    printk("Device tree generation failed (%d).\n", ret);
+    xfree(kinfo->fdt);
+    return -EINVAL;
 }
-#endif
 
-#ifdef CONFIG_GICV3
-static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+static void __init dtb_load(struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
-    int res = 0;
-    __be32 *reg, *cells;
-    const struct domain *d = kinfo->d;
-    unsigned int i, len = 0;
-
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
-    if ( res )
-        return res;
-
-    /* reg specifies all re-distributors and Distributor. */
-    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
-          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
-    reg = xmalloc_bytes(len);
-    if ( reg == NULL )
-        return -ENOMEM;
-    cells = reg;
-
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
-
-    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
-        dt_child_set_range(&cells,
-                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                           d->arch.vgic.rdist_regions[i].base,
-                           d->arch.vgic.rdist_regions[i].size);
-
-    res = fdt_property(fdt, "reg", reg, len);
-    xfree(reg);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    unsigned long left;
 
-    res = fdt_end_node(fdt);
+    printk("Loading %pd DTB to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
+           kinfo->d, kinfo->dtb_paddr,
+           kinfo->dtb_paddr + fdt_totalsize(kinfo->fdt));
 
-    return res;
-}
-#endif
+    left = copy_to_guest_phys_flush_dcache(kinfo->d, kinfo->dtb_paddr,
+                                           kinfo->fdt,
+                                           fdt_totalsize(kinfo->fdt));
 
-static int __init make_gic_domU_node(struct kernel_info *kinfo)
-{
-    switch ( kinfo->d->arch.vgic.version )
-    {
-#ifdef CONFIG_GICV3
-    case GIC_V3:
-        return make_gicv3_domU_node(kinfo);
-#endif
-#ifdef CONFIG_VGICV2
-    case GIC_V2:
-        return make_gicv2_domU_node(kinfo);
-#endif
-    default:
-        panic("Unsupported GIC version\n");
-    }
+    if ( left != 0 )
+        panic("Unable to copy the DTB to %pd memory (left = %lu bytes)\n",
+              kinfo->d, left);
+    xfree(kinfo->fdt);
 }
 
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+static void __init initrd_load(struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
+    const struct bootmodule *mod = kinfo->initrd_bootmodule;
+    paddr_t load_addr = kinfo->initrd_paddr;
+    paddr_t paddr, len;
+    int node;
     int res;
-    gic_interrupt_t intr;
-    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-    __be32 *cells;
-    struct domain *d = kinfo->d;
-
-    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
-    if ( res )
-        return res;
+    __be32 val[2];
+    __be32 *cellp;
+    void __iomem *initrd;
 
-    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
-    if ( res )
-        return res;
+    if ( !mod || !mod->size )
+        return;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
-                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
-                       GUEST_PL011_SIZE);
+    paddr = mod->start;
+    len = mod->size;
 
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
-    if ( res )
-        return res;
+    printk("Loading %pd initrd from %"PRIpaddr" to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
+           kinfo->d, paddr, load_addr, load_addr + len);
 
-    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+    /* Fix up linux,initrd-start and linux,initrd-end in /chosen */
+    node = fdt_path_offset(kinfo->fdt, "/chosen");
+    if ( node < 0 )
+        panic("Cannot find the /chosen node\n");
 
-    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
+    cellp = (__be32 *)val;
+    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr);
+    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-start",
+                              val, sizeof(val));
     if ( res )
-        return res;
+        panic("Cannot fix up \"linux,initrd-start\" property\n");
 
-    res = fdt_property_cell(fdt, "interrupt-parent",
-                            kinfo->phandle_gic);
+    cellp = (__be32 *)val;
+    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr + len);
+    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-end",
+                              val, sizeof(val));
     if ( res )
-        return res;
+        panic("Cannot fix up \"linux,initrd-end\" property\n");
 
-    /* Use a default baud rate of 115200. */
-    fdt_property_u32(fdt, "current-speed", 115200);
+    initrd = ioremap_wc(paddr, len);
+    if ( !initrd )
+        panic("Unable to map the hwdom initrd\n");
 
-    res = fdt_end_node(fdt);
-    if ( res )
-        return res;
+    res = copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
+                                          initrd, len);
+    if ( res != 0 )
+        panic("Unable to copy the initrd in the hwdom memory\n");
 
-    return 0;
+    iounmap(initrd);
 }
-#endif
 
 /*
- * Scan device tree properties for passthrough specific information.
- * Returns < 0 on error
- *         0 on success
+ * Allocate the event channel PPIs and setup the HVM_PARAM_CALLBACK_IRQ.
+ * The allocated IRQ will be found in d->arch.evtchn_irq.
+ *
+ * Note that this should only be called once all PPIs used by the
+ * hardware domain have been registered.
  */
-static int __init handle_passthrough_prop(struct kernel_info *kinfo,
-                                          const struct fdt_property *xen_reg,
-                                          const struct fdt_property *xen_path,
-                                          bool xen_force,
-                                          uint32_t address_cells, uint32_t size_cells)
+void __init evtchn_allocate(struct domain *d)
 {
-    const __be32 *cell;
-    unsigned int i, len;
-    struct dt_device_node *node;
     int res;
-    paddr_t mstart, size, gstart;
+    u64 val;
 
-    /* xen,reg specifies where to map the MMIO region */
-    cell = (const __be32 *)xen_reg->data;
-    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
-                                        sizeof(uint32_t));
+    res = vgic_allocate_ppi(d);
+    if ( res < 0 )
+        panic("Unable to allocate a PPI for the event channel interrupt\n");
 
-    for ( i = 0; i < len; i++ )
-    {
-        device_tree_get_reg(&cell, address_cells, size_cells,
-                            &mstart, &size);
-        gstart = dt_next_cell(address_cells, &cell);
+    d->arch.evtchn_irq = res;
 
-        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
-        {
-            printk(XENLOG_ERR
-                    "DomU passthrough config has not page aligned addresses/sizes\n");
-            return -EINVAL;
-        }
+    printk("Allocating PPI %u for event channel interrupt\n",
+           d->arch.evtchn_irq);
 
-        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
-                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
-                   kinfo->d->domain_id,
-                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
-            return res;
-        }
+    /* Set the value of domain param HVM_PARAM_CALLBACK_IRQ */
+    val = MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI,
+                    HVM_PARAM_CALLBACK_IRQ_TYPE_MASK);
+    /* Active-low level-sensitive  */
+    val |= MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_LOW_LEVEL,
+                     HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_MASK);
+    val |= d->arch.evtchn_irq;
+    d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
+}
 
-        res = map_regions_p2mt(kinfo->d,
-                               gaddr_to_gfn(gstart),
-                               PFN_DOWN(size),
-                               maddr_to_mfn(mstart),
-                               p2m_mmio_direct_dev);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR
-                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
-                   mstart, gstart);
-            return -EFAULT;
-        }
-    }
+static int __init get_evtchn_dt_property(const struct dt_device_node *np,
+                                         uint32_t *port, uint32_t *phandle)
+{
+    const __be32 *prop = NULL;
+    uint32_t len;
 
-    /*
-     * If xen_force, we let the user assign a MMIO region with no
-     * associated path.
-     */
-    if ( xen_path == NULL )
-        return xen_force ? 0 : -EINVAL;
+    prop = dt_get_property(np, "xen,evtchn", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
+        return -EINVAL;
+    }
 
-    /*
-     * xen,path specifies the corresponding node in the host DT.
-     * Both interrupt mappings and IOMMU settings are based on it,
-     * as they are done based on the corresponding host DT node.
-     */
-    node = dt_find_node_by_path(xen_path->data);
-    if ( node == NULL )
+    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
     {
-        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
-               (char *)xen_path->data);
-        return -EINVAL;
-    }
-
-    res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
-    if ( res < 0 )
-        return res;
-
-    res = iommu_add_dt_device(node);
-    if ( res < 0 )
-        return res;
-
-    /* If xen_force, we allow assignment of devices without IOMMU protection. */
-    if ( xen_force && !dt_device_is_protected(node) )
-        return 0;
-
-    return iommu_assign_dt_device(kinfo->d, node);
-}
-
-static int __init handle_prop_pfdt(struct kernel_info *kinfo,
-                                   const void *pfdt, int nodeoff,
-                                   uint32_t address_cells, uint32_t size_cells,
-                                   bool scan_passthrough_prop)
-{
-    void *fdt = kinfo->fdt;
-    int propoff, nameoff, res;
-    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
-    const char *name;
-    bool found, xen_force = false;
-
-    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
-          propoff >= 0;
-          propoff = fdt_next_property_offset(pfdt, propoff) )
-    {
-        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
-            return -FDT_ERR_INTERNAL;
-
-        found = false;
-        nameoff = fdt32_to_cpu(prop->nameoff);
-        name = fdt_string(pfdt, nameoff);
-
-        if ( scan_passthrough_prop )
-        {
-            if ( dt_prop_cmp("xen,reg", name) == 0 )
-            {
-                xen_reg = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,path", name) == 0 )
-            {
-                xen_path = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
-                                  name) == 0 )
-            {
-                xen_force = true;
-                found = true;
-            }
-        }
-
-        /*
-         * Copy properties other than the ones above: xen,reg, xen,path,
-         * and xen,force-assign-without-iommu.
-         */
-        if ( !found )
-        {
-            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
-            if ( res )
-                return res;
-        }
-    }
-
-    /*
-     * Only handle passthrough properties if both xen,reg and xen,path
-     * are present, or if xen,force-assign-without-iommu is specified.
-     */
-    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
-    {
-        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
-                                      address_cells, size_cells);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
-            return res;
-        }
-    }
-    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
-    {
-        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
-               kinfo->d);
-        return -EINVAL;
-    }
-
-    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
-    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
-}
-
-static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
-                                 int nodeoff,
-                                 uint32_t address_cells, uint32_t size_cells,
-                                 bool scan_passthrough_prop)
-{
-    int rc = 0;
-    void *fdt = kinfo->fdt;
-    int node_next;
-
-    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
-    if ( rc )
-        return rc;
-
-    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
-                          scan_passthrough_prop);
-    if ( rc )
-        return rc;
-
-    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
-                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
-    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
-                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
-
-    node_next = fdt_first_subnode(pfdt, nodeoff);
-    while ( node_next > 0 )
-    {
-        rc = scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
-                            scan_passthrough_prop);
-        if ( rc )
-            return rc;
-
-        node_next = fdt_next_subnode(pfdt, node_next);
-    }
-
-    return fdt_end_node(fdt);
-}
-
-static int __init check_partial_fdt(void *pfdt, size_t size)
-{
-    int res;
-
-    if ( fdt_magic(pfdt) != FDT_MAGIC )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
-        return -EINVAL;
-    }
-
-    res = fdt_check_header(pfdt);
-    if ( res )
-    {
-        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
-        return -EINVAL;
-    }
-
-    if ( fdt_totalsize(pfdt) > size )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
-        return -EINVAL;
-    }
-
-    return 0;
-}
-
-static int __init domain_handle_dtb_bootmodule(struct domain *d,
-                                               struct kernel_info *kinfo)
-{
-    void *pfdt;
-    int res, node_next;
-
-    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
-                         kinfo->dtb_bootmodule->size);
-    if ( pfdt == NULL )
-        return -EFAULT;
-
-    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
-    if ( res < 0 )
-        goto out;
-
-    for ( node_next = fdt_first_subnode(pfdt, 0); 
-          node_next > 0;
-          node_next = fdt_next_subnode(pfdt, node_next) )
-    {
-        const char *name = fdt_get_name(pfdt, node_next, NULL);
-
-        if ( name == NULL )
-            continue;
-
-        /*
-         * Only scan /gic /aliases /passthrough, ignore the rest.
-         * They don't have to be parsed in order.
-         *
-         * Take the GIC phandle value from the special /gic node in the
-         * DTB fragment.
-         */
-        if ( dt_node_cmp(name, "gic") == 0 )
-        {
-            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
-            continue;
-        }
-
-        if ( dt_node_cmp(name, "aliases") == 0 )
-        {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 false);
-            if ( res )
-                goto out;
-            continue;
-        }
-        if ( dt_node_cmp(name, "passthrough") == 0 )
-        {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 true);
-            if ( res )
-                goto out;
-            continue;
-        }
-    }
-
- out:
-    iounmap(pfdt);
-
-    return res;
-}
-
-/*
- * The max size for DT is 2MB. However, the generated DT is small (not including
- * domU passthrough DT nodes whose size we account separately), 4KB are enough
- * for now, but we might have to increase it in the future.
- */
-#define DOMU_DTB_SIZE 4096
-static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
-{
-    int addrcells, sizecells;
-    int ret, fdt_size = DOMU_DTB_SIZE;
-
-    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
-    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
-    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
-
-    addrcells = GUEST_ROOT_ADDRESS_CELLS;
-    sizecells = GUEST_ROOT_SIZE_CELLS;
-
-    /* Account for domU passthrough DT size */
-    if ( kinfo->dtb_bootmodule )
-        fdt_size += kinfo->dtb_bootmodule->size;
-
-    /* Cap to max DT size if needed */
-    fdt_size = min(fdt_size, SZ_2M);
-
-    kinfo->fdt = xmalloc_bytes(fdt_size);
-    if ( kinfo->fdt == NULL )
-        return -ENOMEM;
-
-    ret = fdt_create(kinfo->fdt, fdt_size);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_finish_reservemap(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_begin_node(kinfo->fdt, "");
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
-    if ( ret )
-        goto err;
-
-    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
-    if ( ret )
-        goto err;
-
-    ret = make_chosen_node(kinfo);
-    if ( ret )
-        goto err;
-
-    ret = make_psci_node(kinfo->fdt);
-    if ( ret )
-        goto err;
-
-    ret = make_cpus_node(d, kinfo->fdt);
-    if ( ret )
-        goto err;
-
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
-    if ( ret )
-        goto err;
-
-    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                &kinfo->shm_mem);
-    if ( ret )
-        goto err;
-
-    /*
-     * domain_handle_dtb_bootmodule has to be called before the rest of
-     * the device tree is generated because it depends on the value of
-     * the field phandle_gic.
-     */
-    if ( kinfo->dtb_bootmodule )
-    {
-        ret = domain_handle_dtb_bootmodule(d, kinfo);
-        if ( ret )
-            goto err;
-    }
-
-    ret = make_gic_domU_node(kinfo);
-    if ( ret )
-        goto err;
-
-    ret = make_timer_node(kinfo);
-    if ( ret )
-        goto err;
-
-    if ( kinfo->vpl011 )
-    {
-        ret = -EINVAL;
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-        ret = make_vpl011_uart_node(kinfo);
-#endif
-        if ( ret )
-            goto err;
-    }
-
-    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
-    {
-        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
-        if ( ret )
-            goto err;
-    }
-
-    ret = fdt_end_node(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_finish(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    return 0;
-
-  err:
-    printk("Device tree generation failed (%d).\n", ret);
-    xfree(kinfo->fdt);
-
-    return -EINVAL;
-}
-
-static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
-{
-    const p2m_type_t default_p2mt = p2m_mmio_direct_c;
-    const void *fdt;
-    int new_size;
-    int ret;
-
-    ASSERT(dt_host && (dt_host->sibling == NULL));
-
-    kinfo->phandle_gic = dt_interrupt_controller->phandle;
-    fdt = device_tree_flattened;
-
-    new_size = fdt_totalsize(fdt) + DOM0_FDT_EXTRA_SIZE;
-    kinfo->fdt = xmalloc_bytes(new_size);
-    if ( kinfo->fdt == NULL )
-        return -ENOMEM;
-
-    ret = fdt_create(kinfo->fdt, new_size);
-    if ( ret < 0 )
-        goto err;
-
-    fdt_finish_reservemap(kinfo->fdt);
-
-    ret = handle_node(d, kinfo, dt_host, default_p2mt);
-    if ( ret )
-        goto err;
-
-    ret = fdt_finish(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    return 0;
-
-  err:
-    printk("Device tree generation failed (%d).\n", ret);
-    xfree(kinfo->fdt);
-    return -EINVAL;
-}
-
-static void __init dtb_load(struct kernel_info *kinfo)
-{
-    unsigned long left;
-
-    printk("Loading %pd DTB to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
-           kinfo->d, kinfo->dtb_paddr,
-           kinfo->dtb_paddr + fdt_totalsize(kinfo->fdt));
-
-    left = copy_to_guest_phys_flush_dcache(kinfo->d, kinfo->dtb_paddr,
-                                           kinfo->fdt,
-                                           fdt_totalsize(kinfo->fdt));
-
-    if ( left != 0 )
-        panic("Unable to copy the DTB to %pd memory (left = %lu bytes)\n",
-              kinfo->d, left);
-    xfree(kinfo->fdt);
-}
-
-static void __init initrd_load(struct kernel_info *kinfo)
-{
-    const struct bootmodule *mod = kinfo->initrd_bootmodule;
-    paddr_t load_addr = kinfo->initrd_paddr;
-    paddr_t paddr, len;
-    int node;
-    int res;
-    __be32 val[2];
-    __be32 *cellp;
-    void __iomem *initrd;
-
-    if ( !mod || !mod->size )
-        return;
-
-    paddr = mod->start;
-    len = mod->size;
-
-    printk("Loading %pd initrd from %"PRIpaddr" to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
-           kinfo->d, paddr, load_addr, load_addr + len);
-
-    /* Fix up linux,initrd-start and linux,initrd-end in /chosen */
-    node = fdt_path_offset(kinfo->fdt, "/chosen");
-    if ( node < 0 )
-        panic("Cannot find the /chosen node\n");
-
-    cellp = (__be32 *)val;
-    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr);
-    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-start",
-                              val, sizeof(val));
-    if ( res )
-        panic("Cannot fix up \"linux,initrd-start\" property\n");
-
-    cellp = (__be32 *)val;
-    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr + len);
-    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-end",
-                              val, sizeof(val));
-    if ( res )
-        panic("Cannot fix up \"linux,initrd-end\" property\n");
-
-    initrd = ioremap_wc(paddr, len);
-    if ( !initrd )
-        panic("Unable to map the hwdom initrd\n");
-
-    res = copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
-                                          initrd, len);
-    if ( res != 0 )
-        panic("Unable to copy the initrd in the hwdom memory\n");
-
-    iounmap(initrd);
-}
-
-/*
- * Allocate the event channel PPIs and setup the HVM_PARAM_CALLBACK_IRQ.
- * The allocated IRQ will be found in d->arch.evtchn_irq.
- *
- * Note that this should only be called once all PPIs used by the
- * hardware domain have been registered.
- */
-void __init evtchn_allocate(struct domain *d)
-{
-    int res;
-    u64 val;
-
-    res = vgic_allocate_ppi(d);
-    if ( res < 0 )
-        panic("Unable to allocate a PPI for the event channel interrupt\n");
-
-    d->arch.evtchn_irq = res;
-
-    printk("Allocating PPI %u for event channel interrupt\n",
-           d->arch.evtchn_irq);
-
-    /* Set the value of domain param HVM_PARAM_CALLBACK_IRQ */
-    val = MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI,
-                    HVM_PARAM_CALLBACK_IRQ_TYPE_MASK);
-    /* Active-low level-sensitive  */
-    val |= MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_LOW_LEVEL,
-                     HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_MASK);
-    val |= d->arch.evtchn_irq;
-    d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
-}
-
-static int __init get_evtchn_dt_property(const struct dt_device_node *np,
-                                         uint32_t *port, uint32_t *phandle)
-{
-    const __be32 *prop = NULL;
-    uint32_t len;
-
-    prop = dt_get_property(np, "xen,evtchn", &len);
-    if ( !prop )
-    {
-        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
-        return -EINVAL;
-    }
-
-    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
-    {
-        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
+        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
         return -EINVAL;
     }
 
@@ -3412,22 +2732,7 @@ static void __init find_gnttab_region(struct domain *d,
            kinfo->gnttab_start, kinfo->gnttab_start + kinfo->gnttab_size);
 }
 
-static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
-                                             unsigned int smp_cpus)
-{
-    /*
-     * Keep in sync with libxl__get_required_paging_memory().
-     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
-     * plus 128 pages to cover extended regions.
-     */
-    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
-
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
-}
-
-static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
+int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
 {
     unsigned int i;
     struct vcpu *v = d->vcpu[0];
@@ -3518,296 +2823,6 @@ static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
     return 0;
 }
 
-static int __init alloc_xenstore_evtchn(struct domain *d)
-{
-    evtchn_alloc_unbound_t alloc;
-    int rc;
-
-    alloc.dom = d->domain_id;
-    alloc.remote_dom = hardware_domain->domain_id;
-    rc = evtchn_alloc_unbound(&alloc, 0);
-    if ( rc )
-    {
-        printk("Failed allocating event channel for domain\n");
-        return rc;
-    }
-
-    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
-
-    return 0;
-}
-
-static int __init construct_domU(struct domain *d,
-                                 const struct dt_device_node *node)
-{
-    struct kernel_info kinfo = {};
-    const char *dom0less_enhanced;
-    int rc;
-    u64 mem;
-    u32 p2m_mem_mb;
-    unsigned long p2m_pages;
-
-    rc = dt_property_read_u64(node, "memory", &mem);
-    if ( !rc )
-    {
-        printk("Error building DomU: cannot read \"memory\" property\n");
-        return -EINVAL;
-    }
-    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
-
-    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
-    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
-    p2m_pages = rc ?
-                p2m_mem_mb << (20 - PAGE_SHIFT) :
-                domain_p2m_pages(mem, d->max_vcpus);
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
-    spin_unlock(&d->arch.paging.lock);
-    if ( rc != 0 )
-        return rc;
-
-    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
-           d->max_vcpus, mem);
-
-    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
-
-    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
-    if ( rc == -EILSEQ ||
-         rc == -ENODATA ||
-         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
-    {
-        if ( hardware_domain )
-            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
-        else
-            panic("At the moment, Xenstore support requires dom0 to be present\n");
-    }
-    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
-        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
-
-    if ( vcpu_create(d, 0) == NULL )
-        return -ENOMEM;
-
-    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
-
-    kinfo.d = d;
-
-    rc = kernel_probe(&kinfo, node);
-    if ( rc < 0 )
-        return rc;
-
-#ifdef CONFIG_ARM_64
-    /* type must be set before allocate memory */
-    d->arch.type = kinfo.type;
-#endif
-    if ( !dt_find_property(node, "xen,static-mem", NULL) )
-        allocate_memory(d, &kinfo);
-    else if ( !is_domain_direct_mapped(d) )
-        allocate_static_memory(d, &kinfo, node);
-    else
-        assign_static_memory_11(d, &kinfo, node);
-
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, 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
-     * shall be done first.
-     */
-    if ( kinfo.vpl011 )
-    {
-        rc = domain_vpl011_init(d, NULL);
-        if ( rc < 0 )
-            return rc;
-    }
-
-    rc = prepare_dtb_domU(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    rc = construct_domain(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
-    {
-        ASSERT(hardware_domain);
-        rc = alloc_xenstore_evtchn(d);
-        if ( rc < 0 )
-            return rc;
-        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
-    }
-
-    return rc;
-}
-
-void __init create_domUs(void)
-{
-    struct dt_device_node *node;
-    const struct dt_device_node *cpupool_node,
-                                *chosen = dt_find_node_by_path("/chosen");
-
-    BUG_ON(chosen == NULL);
-    dt_for_each_child_node(chosen, node)
-    {
-        struct domain *d;
-        struct xen_domctl_createdomain d_cfg = {
-            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
-            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
-            /*
-             * The default of 1023 should be sufficient for guests because
-             * on ARM we don't bind physical interrupts to event channels.
-             * The only use of the evtchn port is inter-domain communications.
-             * 1023 is also the default value used in libxl.
-             */
-            .max_evtchn_port = 1023,
-            .max_grant_frames = -1,
-            .max_maptrack_frames = -1,
-            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
-        };
-        unsigned int flags = 0U;
-        uint32_t val;
-        int rc;
-
-        if ( !dt_device_is_compatible(node, "xen,domain") )
-            continue;
-
-        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
-            panic("No more domain IDs available\n");
-
-        if ( dt_find_property(node, "xen,static-mem", NULL) )
-            flags |= CDF_staticmem;
-
-        if ( dt_property_read_bool(node, "direct-map") )
-        {
-            if ( !(flags & CDF_staticmem) )
-                panic("direct-map is not valid for domain %s without static allocation.\n",
-                      dt_node_name(node));
-
-            flags |= CDF_directmap;
-        }
-
-        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
-            panic("Missing property 'cpus' for domain %s\n",
-                  dt_node_name(node));
-
-        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
-             iommu_enabled )
-            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
-
-        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
-        {
-            int vpl011_virq = GUEST_VPL011_SPI;
-
-            d_cfg.arch.nr_spis = gic_number_lines() - 32;
-
-            /*
-             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
-             * set, in which case it'll match the hardware.
-             *
-             * Since the domain is not yet created, we can't use
-             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
-             * be hardcoded.
-             * The logic here shall be consistent with the one in
-             * domain_vpl011_init().
-             */
-            if ( flags & CDF_directmap )
-            {
-                vpl011_virq = serial_irq(SERHND_DTUART);
-                if ( vpl011_virq < 0 )
-                    panic("Error getting IRQ number for this serial port %d\n",
-                          SERHND_DTUART);
-            }
-
-            /*
-             * vpl011 uses one emulated SPI. If vpl011 is requested, make
-             * sure that we allocate enough SPIs for it.
-             */
-            if ( dt_property_read_bool(node, "vpl011") )
-                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
-                                         vpl011_virq - 32 + 1);
-        }
-
-        /* Get the optional property domain-cpupool */
-        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
-        if ( cpupool_node )
-        {
-            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
-            if ( pool_id < 0 )
-                panic("Error getting cpupool id from domain-cpupool (%d)\n",
-                      pool_id);
-            d_cfg.cpupool_id = pool_id;
-        }
-
-        if ( dt_property_read_u32(node, "max_grant_version", &val) )
-            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
-
-        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_grant_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_grant_frames = val;
-        }
-
-        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_maptrack_frames = val;
-        }
-
-        if ( dt_get_property(node, "sve", &val) )
-        {
-#ifdef CONFIG_ARM64_SVE
-            unsigned int sve_vl_bits;
-            bool ret = false;
-
-            if ( !val )
-            {
-                /* Property found with no value, means max HW VL supported */
-                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
-            }
-            else
-            {
-                if ( dt_property_read_u32(node, "sve", &val) )
-                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
-                else
-                    panic("Error reading 'sve' property\n");
-            }
-
-            if ( ret )
-                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
-            else
-                panic("SVE vector length error\n");
-#else
-            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
-#endif
-        }
-
-        /*
-         * The variable max_init_domid is initialized with zero, so here it's
-         * very important to use the pre-increment operator to call
-         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
-         */
-        d = domain_create(++max_init_domid, &d_cfg, flags);
-        if ( IS_ERR(d) )
-            panic("Error creating domain %s (rc = %ld)\n",
-                  dt_node_name(node), PTR_ERR(d));
-
-        d->is_console = true;
-        dt_device_set_used_by(node, d->domain_id);
-
-        rc = construct_domU(d, node);
-        if ( rc )
-            panic("Could not set up domain %s (rc = %d)\n",
-                  dt_node_name(node), rc);
-    }
-}
-
 static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
new file mode 100644
index 000000000000..022ae61ead7c
--- /dev/null
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ARM_DOM0LESS_BUILD_H_
+#define __ARM_DOM0LESS_BUILD_H_
+
+#include <asm/kernel.h>
+
+void create_domUs(void);
+bool is_dom0less_mode(void);
+
+#endif  /* __ARM_DOM0LESS_BUILD_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:b
+ */
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index b9329c9ee032..b9ae0d170c5c 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,9 +4,47 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
+typedef __be32 gic_interrupt_t[3];
+
+bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
+                          gfn_t sgfn, paddr_t tot_size);
+int construct_domain(struct domain *d, struct kernel_info *kinfo);
+int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
+int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
+                          int sizecells, const struct meminfo *mem);
 int make_chosen_node(const struct kernel_info *kinfo);
+int make_cpus_node(const struct domain *d, void *fdt);
+int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
+                         int addrcells, int sizecells);
+int make_memory_node(const struct domain *d, void *fdt, int addrcells,
+                     int sizecells, struct meminfo *mem);
+int make_psci_node(void *fdt);
+int make_timer_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
 
+unsigned int get_allocation_size(paddr_t size);
+
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
+                             bool need_mapping);
+
+/*
+ * Helper to write an interrupts with the GIC format
+ * This code is assuming the irq is an PPI.
+ */
+void set_interrupt(gic_interrupt_t interrupt, unsigned int irq,
+                   unsigned int cpumask, unsigned int level);
+
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
 #ifndef CONFIG_ACPI
 static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 {
@@ -17,6 +55,28 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 #else
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
+
+#ifdef CONFIG_STATIC_MEMORY
+void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                            const struct dt_device_node *node);
+void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                             const struct dt_device_node *node);
+#else
+static inline void allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+#endif
+
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 98af6f55f5a0..39359f64b678 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -135,7 +135,6 @@ void acpi_create_efi_mmap_table(struct domain *d,
 
 int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
 
-void create_domUs(void);
 void create_dom0(void);
 void alloc_static_evtchn(void);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3f3a45719ccb..60b544b67b4e 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -34,6 +34,7 @@
 #include <xen/warning.h>
 #include <xen/hypercall.h>
 #include <asm/alternative.h>
+#include <asm/dom0less-build.h>
 #include <asm/page.h>
 #include <asm/current.h>
 #include <asm/setup.h>
@@ -1042,38 +1043,6 @@ static void __init setup_mm(void)
 }
 #endif
 
-static bool __init is_dom0less_mode(void)
-{
-    struct bootmodules *mods = &bootinfo.modules;
-    struct bootmodule *mod;
-    unsigned int i;
-    bool dom0found = false;
-    bool domUfound = false;
-
-    /* Look into the bootmodules */
-    for ( i = 0 ; i < mods->nr_mods ; i++ )
-    {
-        mod = &mods->module[i];
-        /* Find if dom0 and domU kernels are present */
-        if ( mod->kind == BOOTMOD_KERNEL )
-        {
-            if ( mod->domU == false )
-            {
-                dom0found = true;
-                break;
-            }
-            else
-                domUfound = true;
-        }
-    }
-
-    /*
-     * If there is no dom0 kernel but at least one domU, then we are in
-     * dom0less mode
-     */
-    return ( !dom0found && domUfound );
-}
-
 size_t __read_mostly dcache_line_bytes;
 
 /* C entry point for boot CPU */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631418.984706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2SwB-0007Tm-Ew; Mon, 13 Nov 2023 09:08:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631418.984706; Mon, 13 Nov 2023 09: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 1r2SwB-0007TZ-BU; Mon, 13 Nov 2023 09:08:55 +0000
Received: by outflank-mailman (input) for mailman id 631418;
 Mon, 13 Nov 2023 09:08: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=EUjx=G2=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2SwA-0007Ec-7b
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:08:54 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 446a9f67-8204-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 10:08:53 +0100 (CET)
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 4FC6C16F8;
 Mon, 13 Nov 2023 01:09:38 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id DFDB63F6C4;
 Mon, 13 Nov 2023 01:08:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 446a9f67-8204-11ee-98da-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 2/5] xen/arm: Add asm/domain.h include to kernel.h
Date: Mon, 13 Nov 2023 09:08:38 +0000
Message-Id: <20231113090841.595428-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231113090841.595428-1-luca.fancellu@arm.com>
References: <20231113090841.595428-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 'enum domain_type' is defined by 'asm/domain.h' which is not
included (directly or indirectly) by 'asm/kernel.h'.

This currently doesn't break the compilation because asm/domain.h will
included by the user of 'kernel.h'. But it would be better to avoid
relying on it. So add the include in 'asm/domain.h'.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes from v3:
 - No changes
Changes from v2:
 - add Ack-by Julien
Changes from v1:
 - Rephrased commit message (Julien)
---
 xen/arch/arm/include/asm/kernel.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 4617cdc83bac..0a23e86c2d37 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -7,6 +7,7 @@
 #define __ARCH_ARM_KERNEL_H__
 
 #include <xen/device_tree.h>
+#include <asm/domain.h>
 #include <asm/setup.h>
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631421.984732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2SwG-000840-El; Mon, 13 Nov 2023 09:09:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631421.984732; Mon, 13 Nov 2023 09: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 1r2SwG-000824-5f; Mon, 13 Nov 2023 09:09:00 +0000
Received: by outflank-mailman (input) for mailman id 631421;
 Mon, 13 Nov 2023 09: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=EUjx=G2=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2SwE-0007Ec-PU
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:08:59 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 4612bf25-8204-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 10:08:56 +0100 (CET)
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 268DA1756;
 Mon, 13 Nov 2023 01:09:41 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B64A73F6C4;
 Mon, 13 Nov 2023 01:08:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4612bf25-8204-11ee-98da-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v4 4/5] xen/arm: Move static memory build code in separate modules
Date: Mon, 13 Nov 2023 09:08:40 +0000
Message-Id: <20231113090841.595428-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231113090841.595428-1-luca.fancellu@arm.com>
References: <20231113090841.595428-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move static memory and static shared memory code in separate modules
so that they are included only when the corresponding feature is
enabled, doing that we modularise the features and we remove some
ifdefs from the code to improve readability.

Move process_shm_node function from bootfdt module and make it
externally visible.

A static inline helper called process_shm_chosen is introduced, it
will call the process_shm function for the '/chosen' node, and will
be used by the function construct_dom0 instead of using directly
process_shm, allowing some #ifdef to be removed.

No functional changes are intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - Moved make_resv_memory_node from domain_build to static-shmem (Michal),
   make make_shm_memory_node static.
Changes from v2:
 - no changes
---
 xen/arch/arm/Makefile                     |   2 +
 xen/arch/arm/bootfdt.c                    | 161 +-----
 xen/arch/arm/dom0less-build.c             |   4 +-
 xen/arch/arm/domain_build.c               | 654 +---------------------
 xen/arch/arm/include/asm/dom0less-build.h |   2 -
 xen/arch/arm/include/asm/domain_build.h   |  26 -
 xen/arch/arm/include/asm/static-memory.h  |  50 ++
 xen/arch/arm/include/asm/static-shmem.h   |  71 +++
 xen/arch/arm/setup.c                      |  25 +-
 xen/arch/arm/static-memory.c              | 294 ++++++++++
 xen/arch/arm/static-shmem.c               | 554 ++++++++++++++++++
 11 files changed, 977 insertions(+), 866 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 70dd7201ef30..89ef0c9075b5 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -50,6 +50,8 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
+obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
+obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
 obj-y += sysctl.o
 obj-y += time.o
 obj-y += traps.o
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 2673ad17a1e1..fcf851b4c99b 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -15,6 +15,7 @@
 #include <xen/sort.h>
 #include <xsm/xsm.h>
 #include <asm/setup.h>
+#include <asm/static-shmem.h>
 
 static bool __init device_tree_node_matches(const void *fdt, int node,
                                             const char *match)
@@ -402,166 +403,6 @@ static int __init process_domain_node(const void *fdt, int node,
                                    MEMBANK_STATIC_DOMAIN);
 }
 
-#ifdef CONFIG_STATIC_SHM
-static int __init process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t size_cells)
-{
-    const struct fdt_property *prop, *prop_id, *prop_role;
-    const __be32 *cell;
-    paddr_t paddr, gaddr, 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 %u characters\n",
-               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, gaddr, size>;
-     * 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) )
-    {
-        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, address_cells, &paddr, &gaddr);
-    size = dt_next_cell(size_cells, &cell);
-
-    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;
-
-            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
-            {
-                printk("fdt: static shared memory region %s overflow\n", shm_id);
-                return -EINVAL;
-            }
-
-            if ( check_reserved_regions_overlap(paddr, size) )
-                return -EINVAL;
-            else
-            {
-                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
-                    continue;
-                else
-                {
-                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
-                           shm_id);
-                    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].type = MEMBANK_STATIC_DOMAIN;
-            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;
-}
-#else
-static int __init process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t size_cells)
-{
-    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared memory nodes\n");
-    return -EINVAL;
-}
-#endif
-
 static int __init early_scan_node(const void *fdt,
                                   int node, const char *name, int depth,
                                   u32 address_cells, u32 size_cells,
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 1ca9d39043d6..d39cbd969aca 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -13,6 +13,8 @@
 #include <asm/arm64/sve.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/static-memory.h>
+#include <asm/static-shmem.h>
 
 bool __init is_dom0less_mode(void)
 {
@@ -806,11 +808,9 @@ static int __init construct_domU(struct domain *d,
     else
         assign_static_memory_11(d, &kinfo, node);
 
-#ifdef CONFIG_STATIC_SHM
     rc = process_shm(d, &kinfo, node);
     if ( rc < 0 )
         return rc;
-#endif
 
     /*
      * Base address and irq number are needed when creating vpl011 device
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index d61fda9f2081..615faaffba9f 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -30,6 +30,7 @@
 #include <asm/cpufeature.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/static-shmem.h>
 #include <xen/event.h>
 
 #include <xen/irq.h>
@@ -476,533 +477,6 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
     return true;
 }
 
-#ifdef CONFIG_STATIC_MEMORY
-static bool __init append_static_memory_to_bank(struct domain *d,
-                                                struct membank *bank,
-                                                mfn_t smfn,
-                                                paddr_t size)
-{
-    int res;
-    unsigned int nr_pages = PFN_DOWN(size);
-    gfn_t sgfn;
-
-    /*
-     * For direct-mapped domain, the GFN match the MFN.
-     * Otherwise, this is inferred on what has already been allocated
-     * in the bank.
-     */
-    if ( !is_domain_direct_mapped(d) )
-        sgfn = gaddr_to_gfn(bank->start + bank->size);
-    else
-        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
-
-    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
-    if ( res )
-    {
-        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
-        return false;
-    }
-
-    bank->size = bank->size + size;
-
-    return true;
-}
-
-static mfn_t __init acquire_static_memory_bank(struct domain *d,
-                                               const __be32 **cell,
-                                               u32 addr_cells, u32 size_cells,
-                                               paddr_t *pbase, paddr_t *psize)
-{
-    mfn_t smfn;
-    int res;
-
-    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
-    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
-    if ( PFN_DOWN(*psize) > UINT_MAX )
-    {
-        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
-               d, *psize);
-        return INVALID_MFN;
-    }
-
-    smfn = maddr_to_mfn(*pbase);
-    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
-    if ( res )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to acquire static memory: %d.\n", d, res);
-        return INVALID_MFN;
-    }
-
-    return smfn;
-}
-
-static int __init parse_static_mem_prop(const struct dt_device_node *node,
-                                        u32 *addr_cells, u32 *size_cells,
-                                        int *length, const __be32 **cell)
-{
-    const struct dt_property *prop;
-
-    prop = dt_find_property(node, "xen,static-mem", NULL);
-
-    *addr_cells = dt_n_addr_cells(node);
-    *size_cells = dt_n_size_cells(node);
-
-    *cell = (const __be32 *)prop->value;
-    *length = prop->length;
-
-    return 0;
-}
-
-/* Allocate memory from static memory as RAM for one specific domain d. */
-void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
-                                   const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, gbank, bank = 0;
-    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
-    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
-    const __be32 *cell;
-    u64 tot_size = 0;
-    paddr_t pbase, psize, gsize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-        goto fail;
-    reg_cells = addr_cells + size_cells;
-
-    /*
-     * The static memory will be mapped in the guest at the usual guest memory
-     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
-     * xen/include/public/arch-arm.h.
-     */
-    gbank = 0;
-    gsize = ramsize[gbank];
-    kinfo->mem.bank[gbank].start = rambase[gbank];
-    nr_banks = length / (reg_cells * sizeof (u32));
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        while ( 1 )
-        {
-            /* Map as much as possible the static range to the guest bank */
-            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
-                                               min(psize, gsize)) )
-                goto fail;
-
-            /*
-             * The current physical bank is fully mapped.
-             * Handle the next physical bank.
-             */
-            if ( gsize >= psize )
-            {
-                gsize = gsize - psize;
-                break;
-            }
-            /*
-             * When current guest bank is not enough to map, exhaust
-             * the current one and seek to the next.
-             * Before seeking to the next, check if we still have available
-             * guest bank.
-             */
-            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
-            {
-                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
-                goto fail;
-            }
-            else
-            {
-                psize = psize - gsize;
-                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
-                /* Update to the next guest bank. */
-                gbank++;
-                gsize = ramsize[gbank];
-                kinfo->mem.bank[gbank].start = rambase[gbank];
-            }
-        }
-
-        tot_size += psize;
-    }
-
-    kinfo->mem.nr_banks = ++gbank;
-
-    kinfo->unassigned_mem -= tot_size;
-    /*
-     * The property 'memory' should match the amount of memory given to the
-     * guest.
-     * Currently, it is only possible to either acquire static memory or let
-     * Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to allocate requested static memory for domain %pd.\n", d);
-}
-
-/*
- * Allocate static memory as RAM for one specific domain d.
- * The static memory will be directly mapped in the guest(Guest Physical
- * Address == Physical Address).
- */
-void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
-                                    const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, bank = 0;
-    const __be32 *cell;
-    paddr_t pbase, psize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
-        goto fail;
-    }
-    reg_cells = addr_cells + size_cells;
-    nr_banks = length / (reg_cells * sizeof(u32));
-
-    if ( nr_banks > NR_MEM_BANKS )
-    {
-        printk(XENLOG_ERR
-               "%pd: exceed max number of supported guest memory banks.\n", d);
-        goto fail;
-    }
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        /* One guest memory bank is matched with one physical memory bank. */
-        kinfo->mem.bank[bank].start = pbase;
-        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
-                                           smfn, psize) )
-            goto fail;
-
-        kinfo->unassigned_mem -= psize;
-    }
-
-    kinfo->mem.nr_banks = nr_banks;
-
-    /*
-     * The property 'memory' should match the amount of memory given to
-     * the guest.
-     * Currently, it is only possible to either acquire static memory or
-     * let Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem != 0 )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
-          d);
-}
-
-#ifdef CONFIG_STATIC_SHM
-static int __init acquire_nr_borrower_domain(struct domain *d,
-                                             paddr_t pbase, paddr_t psize,
-                                             unsigned long *nr_borrowers)
-{
-    unsigned int bank;
-
-    /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
-        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
-
-        if ( (pbase == bank_start) && (psize == bank_size) )
-            break;
-    }
-
-    if ( bank == bootinfo.reserved_mem.nr_banks )
-        return -ENOENT;
-
-    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
-
-    return 0;
-}
-
-/*
- * 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;
-    struct domain *d;
-
-    page = maddr_to_page(pbase);
-    d = page_get_owner_and_reference(page);
-    if ( d == NULL )
-        return false;
-    put_page(page);
-
-    if ( d != dom_io )
-    {
-        printk(XENLOG_ERR
-               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
-               d);
-        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);
-        d->max_pages -= nr_pfns;
-        return INVALID_MFN;
-    }
-
-    return smfn;
-}
-
-static int __init assign_shared_memory(struct domain *d,
-                                       uint32_t addr_cells, uint32_t size_cells,
-                                       paddr_t pbase, paddr_t psize,
-                                       paddr_t gbase)
-{
-    mfn_t smfn;
-    int ret = 0;
-    unsigned long nr_pages, nr_borrowers, i;
-    struct page_info *page;
-
-    printk("%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 not auto-translated (i.e. it sees RAM 1:1). So we do not need
-     * to create mapping in the P2M.
-     */
-    nr_pages = PFN_DOWN(psize);
-    if ( d != dom_io )
-    {
-        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
-                                      PFN_DOWN(psize));
-        if ( ret )
-        {
-            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
-            return ret;
-        }
-    }
-
-    /*
-     * Get the right amount of references per page, which is the number of
-     * borrower domains.
-     */
-    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
-    if ( ret )
-        return ret;
-
-    /*
-     * Instead of letting borrower domain get a page ref, we add as many
-     * additional reference as the number of borrowers when the owner
-     * is allocated, since there is a chance that owner is created
-     * after borrower.
-     * So if the borrower is created first, it will cause adding pages
-     * in the P2M without reference.
-     */
-    page = mfn_to_page(smfn);
-    for ( i = 0; i < nr_pages; i++ )
-    {
-        if ( !get_page_nr(page + i, d, nr_borrowers) )
-        {
-            printk(XENLOG_ERR
-                   "Failed to add %lu references to page %"PRI_mfn".\n",
-                   nr_borrowers, mfn_x(smfn) + i);
-            goto fail;
-        }
-    }
-
-    return 0;
-
- fail:
-    while ( --i >= 0 )
-        put_page_nr(page + i, nr_borrowers);
-    return ret;
-}
-
-static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
-                                            paddr_t start, paddr_t size,
-                                            const char *shm_id)
-{
-    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
-        return -ENOMEM;
-
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
-    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
-    kinfo->shm_mem.nr_banks++;
-
-    return 0;
-}
-
-int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                       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;
-        const char *role_str;
-        const char *shm_id;
-        bool owner_dom_io = true;
-
-        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
-            continue;
-
-        /*
-         * xen,shared-mem = <pbase, gbase, size>;
-         * 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);
-        BUG_ON(!prop);
-        cells = (const __be32 *)prop->value;
-        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
-        psize = dt_read_paddr(cells, size_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;
-            }
-
-        /*
-         * "role" property is optional and if it is defined explicitly,
-         * then the owner domain is not the default "dom_io" domain.
-         */
-        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
-            owner_dom_io = false;
-
-        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
-        {
-            printk("%pd: invalid \"xen,shm-id\" property", d);
-            return -EINVAL;
-        }
-        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
-
-        /*
-         * 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 ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
-             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
-        {
-            /*
-             * We found the first borrower of the region, the owner was not
-             * specified, so they should be assigned to dom_io.
-             */
-            ret = assign_shared_memory(owner_dom_io ? dom_io : d,
-                                       addr_cells, size_cells,
-                                       pbase, psize, gbase);
-            if ( ret )
-                return ret;
-        }
-
-        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
-        {
-            /* Set up P2M foreign mapping for borrower domain. */
-            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
-                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
-            if ( ret )
-                return ret;
-        }
-
-        /*
-         * Record static shared memory region info for later setting
-         * up shm-node in guest device tree.
-         */
-        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
-        if ( ret )
-            return ret;
-    }
-
-    return 0;
-}
-#endif /* CONFIG_STATIC_SHM */
-#endif
-
 /*
  * When PCI passthrough is available we want to keep the
  * "linux,pci-domain" in sync for every host bridge.
@@ -1336,125 +810,6 @@ int __init make_memory_node(const struct domain *d,
     return res;
 }
 
-#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;
-        const char compat[] = "xen,shared-memory-v1";
-        /* Worst case addrcells + sizecells */
-        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-        __be32 *cells;
-        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
-
-        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
-        if ( res )
-            return res;
-
-        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
-        if ( res )
-            return res;
-
-        cells = reg;
-        dt_child_set_range(&cells, addrcells, sizecells, start, size);
-
-        res = fdt_property(fdt, "reg", reg, len);
-        if ( res )
-            return res;
-
-        dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
-                   i, start, start + size);
-
-        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
-        if ( res )
-            return res;
-
-        /*
-         * TODO:
-         * - xen,offset: (borrower VMs only)
-         *   64 bit integer offset within the owner virtual machine's shared
-         *   memory region used for the mapping in the borrower VM
-         */
-        res = fdt_property_u64(fdt, "xen,offset", 0);
-        if ( res )
-            return res;
-
-        res = fdt_end_node(fdt);
-        if ( res )
-            return res;
-    }
-
-    return res;
-}
-#else
-static int __init make_shm_memory_node(const struct domain *d,
-                                       void *fdt,
-                                       int addrcells, int sizecells,
-                                       const struct meminfo *mem)
-{
-    ASSERT_UNREACHABLE();
-    return -EOPNOTSUPP;
-}
-#endif
-
-int __init make_resv_memory_node(const struct domain *d,
-                                 void *fdt,
-                                 int addrcells, int sizecells,
-                                 const struct meminfo *mem)
-{
-    int res = 0;
-    /* Placeholder for reserved-memory\0 */
-    const char resvbuf[16] = "reserved-memory";
-
-    if ( mem->nr_banks == 0 )
-        /* No shared memory provided. */
-        return 0;
-
-    dt_dprintk("Create reserved-memory node\n");
-
-    res = fdt_begin_node(fdt, resvbuf);
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "ranges", NULL, 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", addrcells);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#size-cells", sizecells);
-    if ( res )
-        return res;
-
-    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
-    if ( res )
-        return res;
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
 static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
                                   void *data)
 {
@@ -2827,9 +2182,6 @@ static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
     int rc;
-#ifdef CONFIG_STATIC_SHM
-    const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
-#endif
 
     /* Sanity! */
     BUG_ON(d->domain_id != 0);
@@ -2864,11 +2216,9 @@ static int __init construct_dom0(struct domain *d)
     allocate_memory_11(d, &kinfo);
     find_gnttab_region(d, &kinfo);
 
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, chosen);
+    rc = process_shm_chosen(d, &kinfo);
     if ( rc < 0 )
         return rc;
-#endif
 
     /* Map extra GIC MMIO, irqs and other hw stuffs to dom0. */
     rc = gic_map_hwdom_extra_mappings(d);
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index 022ae61ead7c..75502b562548 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -3,8 +3,6 @@
 #ifndef __ARM_DOM0LESS_BUILD_H_
 #define __ARM_DOM0LESS_BUILD_H_
 
-#include <asm/kernel.h>
-
 void create_domUs(void);
 bool is_dom0less_mode(void);
 
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index b9ae0d170c5c..da9e6025f37c 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -10,8 +10,6 @@ bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                           gfn_t sgfn, paddr_t tot_size);
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
-int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
-                          int sizecells, const struct meminfo *mem);
 int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
@@ -42,9 +40,6 @@ int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
 void set_interrupt(gic_interrupt_t interrupt, unsigned int irq,
                    unsigned int cpumask, unsigned int level);
 
-int process_shm(struct domain *d, struct kernel_info *kinfo,
-                const struct dt_device_node *node);
-
 #ifndef CONFIG_ACPI
 static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 {
@@ -56,27 +51,6 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
 
-#ifdef CONFIG_STATIC_MEMORY
-void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
-                            const struct dt_device_node *node);
-void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
-                             const struct dt_device_node *node);
-#else
-static inline void allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-
-static inline void assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-#endif
-
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/static-memory.h b/xen/arch/arm/include/asm/static-memory.h
new file mode 100644
index 000000000000..0fe193b36861
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-memory.h
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/include/asm/static-memory.h
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#ifndef __ARM_STATIC_MEMORY_H_
+#define __ARM_STATIC_MEMORY_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_MEMORY
+
+void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                            const struct dt_device_node *node);
+void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                             const struct dt_device_node *node);
+void init_staticmem_pages(void);
+
+#else /* !CONFIG_STATIC_MEMORY */
+
+static inline void allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void init_staticmem_pages(void) {};
+
+#endif /* CONFIG_STATIC_MEMORY */
+
+#endif  /* __ARM_STATIC_MEMORY_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:b
+ */
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
new file mode 100644
index 000000000000..fb793da24d01
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -0,0 +1,71 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/include/asm/static-shmem.h
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#ifndef __ARM_STATIC_SHMEM_H_
+#define __ARM_STATIC_SHMEM_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_SHM
+
+int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
+                          int sizecells, const struct meminfo *mem);
+
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    const struct dt_device_node *node = dt_find_node_by_path("/chosen");
+
+    return process_shm(d, kinfo, node);
+}
+
+int process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                     uint32_t size_cells);
+
+#else /* !CONFIG_STATIC_SHM */
+
+static inline int make_resv_memory_node(const struct domain *d, void *fdt,
+                                        int addrcells, int sizecells,
+                                        const struct meminfo *mem)
+{
+    return 0;
+}
+
+static inline int process_shm(struct domain *d, struct kernel_info *kinfo,
+                              const struct dt_device_node *node)
+{
+    return 0;
+}
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    return 0;
+}
+
+static inline int process_shm_node(const void *fdt, int node,
+                                   uint32_t address_cells, uint32_t size_cells)
+{
+    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared memory nodes\n");
+    return -EINVAL;
+}
+
+#endif /* CONFIG_STATIC_SHM */
+
+#endif  /* __ARM_STATIC_SHMEM_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:b
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 60b544b67b4e..f6019c0c42cd 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -44,6 +44,7 @@
 #include <asm/platform.h>
 #include <asm/procinfo.h>
 #include <asm/setup.h>
+#include <asm/static-memory.h>
 #include <xsm/xsm.h>
 #include <asm/acpi.h>
 
@@ -758,30 +759,6 @@ static void __init init_pdx(void)
     }
 }
 
-/* Static memory initialization */
-static void __init init_staticmem_pages(void)
-{
-#ifdef CONFIG_STATIC_MEMORY
-    unsigned int bank;
-
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
-        {
-            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
-            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
-            mfn_t bank_end = mfn_add(bank_start, bank_pages);
-
-            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
-                return;
-
-            unprepare_staticmem_pages(mfn_to_page(bank_start),
-                                      bank_pages, false);
-        }
-    }
-#endif
-}
-
 /*
  * Populate the boot allocator.
  * If a static heap was not provided by the admin, all the RAM but the
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
new file mode 100644
index 000000000000..9aecdae28846
--- /dev/null
+++ b/xen/arch/arm/static-memory.c
@@ -0,0 +1,294 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/static-memory.c
+ *
+ * Code related to the static memory functionality
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#include <xen/sched.h>
+
+#include <asm/static-memory.h>
+
+static bool __init append_static_memory_to_bank(struct domain *d,
+                                                struct membank *bank,
+                                                mfn_t smfn,
+                                                paddr_t size)
+{
+    int res;
+    unsigned int nr_pages = PFN_DOWN(size);
+    gfn_t sgfn;
+
+    /*
+     * For direct-mapped domain, the GFN match the MFN.
+     * Otherwise, this is inferred on what has already been allocated
+     * in the bank.
+     */
+    if ( !is_domain_direct_mapped(d) )
+        sgfn = gaddr_to_gfn(bank->start + bank->size);
+    else
+        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
+
+    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
+        return false;
+    }
+
+    bank->size = bank->size + size;
+
+    return true;
+}
+
+static mfn_t __init acquire_static_memory_bank(struct domain *d,
+                                               const __be32 **cell,
+                                               u32 addr_cells, u32 size_cells,
+                                               paddr_t *pbase, paddr_t *psize)
+{
+    mfn_t smfn;
+    int res;
+
+    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
+    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
+    if ( PFN_DOWN(*psize) > UINT_MAX )
+    {
+        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
+               d, *psize);
+        return INVALID_MFN;
+    }
+
+    smfn = maddr_to_mfn(*pbase);
+    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
+    if ( res )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to acquire static memory: %d.\n", d, res);
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init parse_static_mem_prop(const struct dt_device_node *node,
+                                        u32 *addr_cells, u32 *size_cells,
+                                        int *length, const __be32 **cell)
+{
+    const struct dt_property *prop;
+
+    prop = dt_find_property(node, "xen,static-mem", NULL);
+
+    *addr_cells = dt_n_addr_cells(node);
+    *size_cells = dt_n_size_cells(node);
+
+    *cell = (const __be32 *)prop->value;
+    *length = prop->length;
+
+    return 0;
+}
+
+/* Allocate memory from static memory as RAM for one specific domain d. */
+void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, gbank, bank = 0;
+    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
+    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
+    const __be32 *cell;
+    u64 tot_size = 0;
+    paddr_t pbase, psize, gsize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+        goto fail;
+    reg_cells = addr_cells + size_cells;
+
+    /*
+     * The static memory will be mapped in the guest at the usual guest memory
+     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
+     * xen/include/public/arch-arm.h.
+     */
+    gbank = 0;
+    gsize = ramsize[gbank];
+    kinfo->mem.bank[gbank].start = rambase[gbank];
+    nr_banks = length / (reg_cells * sizeof (u32));
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        while ( 1 )
+        {
+            /* Map as much as possible the static range to the guest bank */
+            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
+                                               min(psize, gsize)) )
+                goto fail;
+
+            /*
+             * The current physical bank is fully mapped.
+             * Handle the next physical bank.
+             */
+            if ( gsize >= psize )
+            {
+                gsize = gsize - psize;
+                break;
+            }
+            /*
+             * When current guest bank is not enough to map, exhaust
+             * the current one and seek to the next.
+             * Before seeking to the next, check if we still have available
+             * guest bank.
+             */
+            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
+            {
+                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
+                goto fail;
+            }
+            else
+            {
+                psize = psize - gsize;
+                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
+                /* Update to the next guest bank. */
+                gbank++;
+                gsize = ramsize[gbank];
+                kinfo->mem.bank[gbank].start = rambase[gbank];
+            }
+        }
+
+        tot_size += psize;
+    }
+
+    kinfo->mem.nr_banks = ++gbank;
+
+    kinfo->unassigned_mem -= tot_size;
+    /*
+     * The property 'memory' should match the amount of memory given to the
+     * guest.
+     * Currently, it is only possible to either acquire static memory or let
+     * Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to allocate requested static memory for domain %pd.\n", d);
+}
+
+/*
+ * Allocate static memory as RAM for one specific domain d.
+ * The static memory will be directly mapped in the guest(Guest Physical
+ * Address == Physical Address).
+ */
+void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                                    const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, bank = 0;
+    const __be32 *cell;
+    paddr_t pbase, psize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
+        goto fail;
+    }
+    reg_cells = addr_cells + size_cells;
+    nr_banks = length / (reg_cells * sizeof(u32));
+
+    if ( nr_banks > NR_MEM_BANKS )
+    {
+        printk(XENLOG_ERR
+               "%pd: exceed max number of supported guest memory banks.\n", d);
+        goto fail;
+    }
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        /* One guest memory bank is matched with one physical memory bank. */
+        kinfo->mem.bank[bank].start = pbase;
+        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
+                                           smfn, psize) )
+            goto fail;
+
+        kinfo->unassigned_mem -= psize;
+    }
+
+    kinfo->mem.nr_banks = nr_banks;
+
+    /*
+     * The property 'memory' should match the amount of memory given to
+     * the guest.
+     * Currently, it is only possible to either acquire static memory or
+     * let Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem != 0 )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
+          d);
+}
+
+/* Static memory initialization */
+void __init init_staticmem_pages(void)
+{
+    unsigned int bank;
+
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
+        {
+            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
+            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
+            mfn_t bank_end = mfn_add(bank_start, bank_pages);
+
+            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
+                return;
+
+            unprepare_staticmem_pages(mfn_to_page(bank_start),
+                                      bank_pages, false);
+        }
+    }
+}
+
+/*
+ * 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/static-shmem.c b/xen/arch/arm/static-shmem.c
new file mode 100644
index 000000000000..1914e624e563
--- /dev/null
+++ b/xen/arch/arm/static-shmem.c
@@ -0,0 +1,554 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * xen/arch/arm/static-shmem.c
+ *
+ * Code related to the static shared memory functionality
+ *
+ * Copyright (C) 2023 Arm Ltd.
+ */
+
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+
+#include <asm/domain_build.h>
+#include <asm/static-shmem.h>
+
+static int __init acquire_nr_borrower_domain(struct domain *d,
+                                             paddr_t pbase, paddr_t psize,
+                                             unsigned long *nr_borrowers)
+{
+    unsigned int bank;
+
+    /* Iterate reserved memory to find requested shm bank. */
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
+        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
+
+        if ( (pbase == bank_start) && (psize == bank_size) )
+            break;
+    }
+
+    if ( bank == bootinfo.reserved_mem.nr_banks )
+        return -ENOENT;
+
+    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
+
+    return 0;
+}
+
+/*
+ * 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;
+    struct domain *d;
+
+    page = maddr_to_page(pbase);
+    d = page_get_owner_and_reference(page);
+    if ( d == NULL )
+        return false;
+    put_page(page);
+
+    if ( d != dom_io )
+    {
+        printk(XENLOG_ERR
+               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
+               d);
+        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);
+        d->max_pages -= nr_pfns;
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init assign_shared_memory(struct domain *d,
+                                       uint32_t addr_cells, uint32_t size_cells,
+                                       paddr_t pbase, paddr_t psize,
+                                       paddr_t gbase)
+{
+    mfn_t smfn;
+    int ret = 0;
+    unsigned long nr_pages, nr_borrowers, i;
+    struct page_info *page;
+
+    printk("%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 not auto-translated (i.e. it sees RAM 1:1). So we do not need
+     * to create mapping in the P2M.
+     */
+    nr_pages = PFN_DOWN(psize);
+    if ( d != dom_io )
+    {
+        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
+                                      PFN_DOWN(psize));
+        if ( ret )
+        {
+            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
+            return ret;
+        }
+    }
+
+    /*
+     * Get the right amount of references per page, which is the number of
+     * borrower domains.
+     */
+    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
+    if ( ret )
+        return ret;
+
+    /*
+     * Instead of letting borrower domain get a page ref, we add as many
+     * additional reference as the number of borrowers when the owner
+     * is allocated, since there is a chance that owner is created
+     * after borrower.
+     * So if the borrower is created first, it will cause adding pages
+     * in the P2M without reference.
+     */
+    page = mfn_to_page(smfn);
+    for ( i = 0; i < nr_pages; i++ )
+    {
+        if ( !get_page_nr(page + i, d, nr_borrowers) )
+        {
+            printk(XENLOG_ERR
+                   "Failed to add %lu references to page %"PRI_mfn".\n",
+                   nr_borrowers, mfn_x(smfn) + i);
+            goto fail;
+        }
+    }
+
+    return 0;
+
+ fail:
+    while ( --i >= 0 )
+        put_page_nr(page + i, nr_borrowers);
+    return ret;
+}
+
+static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
+                                            paddr_t start, paddr_t size,
+                                            const char *shm_id)
+{
+    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
+        return -ENOMEM;
+
+    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
+    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
+    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
+    kinfo->shm_mem.nr_banks++;
+
+    return 0;
+}
+
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       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;
+        const char *role_str;
+        const char *shm_id;
+        bool owner_dom_io = true;
+
+        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
+            continue;
+
+        /*
+         * xen,shared-mem = <pbase, gbase, size>;
+         * 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);
+        BUG_ON(!prop);
+        cells = (const __be32 *)prop->value;
+        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
+        psize = dt_read_paddr(cells, size_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;
+            }
+
+        /*
+         * "role" property is optional and if it is defined explicitly,
+         * then the owner domain is not the default "dom_io" domain.
+         */
+        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
+            owner_dom_io = false;
+
+        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
+        {
+            printk("%pd: invalid \"xen,shm-id\" property", d);
+            return -EINVAL;
+        }
+        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
+
+        /*
+         * 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 ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
+             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
+        {
+            /*
+             * We found the first borrower of the region, the owner was not
+             * specified, so they should be assigned to dom_io.
+             */
+            ret = assign_shared_memory(owner_dom_io ? dom_io : d,
+                                       addr_cells, size_cells,
+                                       pbase, psize, gbase);
+            if ( ret )
+                return ret;
+        }
+
+        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
+        {
+            /* Set up P2M foreign mapping for borrower domain. */
+            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
+                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
+            if ( ret )
+                return ret;
+        }
+
+        /*
+         * Record static shared memory region info for later setting
+         * up shm-node in guest device tree.
+         */
+        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
+        if ( ret )
+            return ret;
+    }
+
+    return 0;
+}
+
+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;
+        const char compat[] = "xen,shared-memory-v1";
+        /* Worst case addrcells + sizecells */
+        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+        __be32 *cells;
+        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
+
+        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
+        if ( res )
+            return res;
+
+        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
+        if ( res )
+            return res;
+
+        cells = reg;
+        dt_child_set_range(&cells, addrcells, sizecells, start, size);
+
+        res = fdt_property(fdt, "reg", reg, len);
+        if ( res )
+            return res;
+
+        dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
+                   i, start, start + size);
+
+        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
+        if ( res )
+            return res;
+
+        /*
+         * TODO:
+         * - xen,offset: (borrower VMs only)
+         *   64 bit integer offset within the owner virtual machine's shared
+         *   memory region used for the mapping in the borrower VM
+         */
+        res = fdt_property_u64(fdt, "xen,offset", 0);
+        if ( res )
+            return res;
+
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+    }
+
+    return res;
+}
+
+int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                            uint32_t size_cells)
+{
+    const struct fdt_property *prop, *prop_id, *prop_role;
+    const __be32 *cell;
+    paddr_t paddr, gaddr, 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 %u characters\n",
+               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, gaddr, size>;
+     * 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) )
+    {
+        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, address_cells, &paddr, &gaddr);
+    size = dt_next_cell(size_cells, &cell);
+
+    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;
+
+            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
+            {
+                printk("fdt: static shared memory region %s overflow\n", shm_id);
+                return -EINVAL;
+            }
+
+            if ( check_reserved_regions_overlap(paddr, size) )
+                return -EINVAL;
+            else
+            {
+                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
+                    continue;
+                else
+                {
+                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
+                           shm_id);
+                    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].type = MEMBANK_STATIC_DOMAIN;
+            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;
+}
+
+int __init make_resv_memory_node(const struct domain *d, void *fdt,
+                                 int addrcells, int sizecells,
+                                 const struct meminfo *mem)
+{
+    int res = 0;
+    /* Placeholder for reserved-memory\0 */
+    const char resvbuf[16] = "reserved-memory";
+
+    if ( mem->nr_banks == 0 )
+        /* No shared memory provided. */
+        return 0;
+
+    dt_dprintk("Create reserved-memory node\n");
+
+    res = fdt_begin_node(fdt, resvbuf);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "ranges", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", addrcells);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#size-cells", sizecells);
+    if ( res )
+        return res;
+
+    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
+    if ( res )
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:09:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:09:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631422.984741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2SwH-0008Ln-7V; Mon, 13 Nov 2023 09:09:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631422.984741; Mon, 13 Nov 2023 09: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 1r2SwH-0008LK-2k; Mon, 13 Nov 2023 09:09:01 +0000
Received: by outflank-mailman (input) for mailman id 631422;
 Mon, 13 Nov 2023 09:08: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=EUjx=G2=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2SwF-0007Gm-S8
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:08:59 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 453426a3-8204-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 10:08:55 +0100 (CET)
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 BD3141758;
 Mon, 13 Nov 2023 01:09:42 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 0AA693F6C4;
 Mon, 13 Nov 2023 01:08:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 453426a3-8204-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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 v4 5/5] arm/dom0less: introduce Kconfig for dom0less feature
Date: Mon, 13 Nov 2023 09:08:41 +0000
Message-Id: <20231113090841.595428-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231113090841.595428-1-luca.fancellu@arm.com>
References: <20231113090841.595428-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a Kconfig for the dom0less feature, enabled by default,
to be able to choose if the feature should be compiled or not.

Provide static inline stubs when the option is disabled for the
functions externally visible.

Use the new Kconfig to remove dom0less DT binding from the efi-boot.h
code when the Kconfig is not enabled, do the same for
allocate_bank_memory inside domain_build.c that currently is used
only by dom0less-build.c module, but it's kept there provisioning
its usage by dom0 code.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v3:
 - Update Kconfig (Michal)
Changes from v2:
 - protect allocate_bank_memory with the new Kconfig
---
 xen/arch/arm/Kconfig                      |  8 ++++++++
 xen/arch/arm/Makefile                     |  2 +-
 xen/arch/arm/domain_build.c               |  2 ++
 xen/arch/arm/efi/efi-boot.h               |  4 ++++
 xen/arch/arm/include/asm/dom0less-build.h | 12 ++++++++++++
 xen/arch/arm/include/asm/domain_build.h   |  2 ++
 xen/common/Kconfig                        |  2 +-
 7 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 0045a3762d86..f321381a6e87 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -88,6 +88,14 @@ config GICV2
 	  Driver for the ARM Generic Interrupt Controller v2.
 	  If unsure, say Y
 
+config DOM0LESS_BOOT
+	bool "Dom0less boot support" if EXPERT
+	default y
+	help
+	  Dom0less boot support enables Xen to create and start domU guests during
+	  Xen boot without the need of a control domain (Dom0), which could be
+	  present anyway.
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 89ef0c9075b5..5daf8f10114d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -15,7 +15,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
-obj-y += dom0less-build.init.o
+obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 615faaffba9f..9c5e7835b544 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -415,6 +415,7 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
 bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                                  gfn_t sgfn, paddr_t tot_size)
 {
@@ -476,6 +477,7 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
 
     return true;
 }
+#endif
 
 /*
  * When PCI passthrough is available we want to keep the
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 1c3640bb65fd..689dc016d081 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -802,6 +802,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
     return 1;
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
 /*
  * This function checks for boot modules under the domU guest domain node
  * in the DT.
@@ -849,6 +850,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
 
     return mb_modules_found;
 }
+#endif
 
 /*
  * This function checks for xen domain nodes under the /chosen node for possible
@@ -876,6 +878,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
     {
         int ret;
 
+#ifdef CONFIG_DOM0LESS_BOOT
         if ( !fdt_node_check_compatible(fdt_efi, node, "xen,domain") )
         {
             /* Found a node with compatible xen,domain; handle this node. */
@@ -884,6 +887,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
                 return ERROR_DT_MODULE_DOMU;
         }
         else
+#endif
         {
             ret = handle_module_node(loaded_image, &dir_handle, node, addr_len,
                                      size_len, false);
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index 75502b562548..1c6fc0962b07 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -3,9 +3,21 @@
 #ifndef __ARM_DOM0LESS_BUILD_H_
 #define __ARM_DOM0LESS_BUILD_H_
 
+#ifdef CONFIG_DOM0LESS_BOOT
+
 void create_domUs(void);
 bool is_dom0less_mode(void);
 
+#else  /* !CONFIG_DOM0LESS_BOOT */
+
+static inline void create_domUs(void) {}
+static inline bool is_dom0less_mode(void)
+{
+    return false;
+}
+
+#endif /* CONFIG_DOM0LESS_BOOT */
+
 #endif  /* __ARM_DOM0LESS_BUILD_H_ */
 
 /*
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index da9e6025f37c..6df61fa1d587 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -6,8 +6,10 @@
 
 typedef __be32 gic_interrupt_t[3];
 
+#ifdef CONFIG_DOM0LESS_BOOT
 bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                           gfn_t sgfn, paddr_t tot_size);
+#endif
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
 int make_chosen_node(const struct kernel_info *kinfo);
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 4d6fe051641d..310ad4229cdf 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -100,7 +100,7 @@ config NUMA
 
 config STATIC_MEMORY
 	bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
-	depends on ARM
+	depends on DOM0LESS_BOOT
 	help
 	  Static Allocation refers to system or sub-system(domains) for
 	  which memory areas are pre-defined by configuration using physical
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:12:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:12:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631443.984760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Szm-00037V-R9; Mon, 13 Nov 2023 09:12:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631443.984760; Mon, 13 Nov 2023 09:12: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 1r2Szm-000379-ME; Mon, 13 Nov 2023 09:12:38 +0000
Received: by outflank-mailman (input) for mailman id 631443;
 Mon, 13 Nov 2023 09:12: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 1r2Szl-00036l-Cg; Mon, 13 Nov 2023 09:12: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 1r2Szl-0006Zk-09; Mon, 13 Nov 2023 09:12:37 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r2Szk-0005vx-Pv; Mon, 13 Nov 2023 09:12: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=GjU74owFOiyCpKR6CNm4TijQqaQkwGb56x6v7eBLYAI=; b=f71XePPSBrlnm2luTt1NgFp/sK
	lUxSv8yDreFI+OqkPvQ2WpOfpARVFCe+XViaPqR/WD3Km5k90SLqVzQFJKz+uyqjL2MRJlr302qa7
	bBtC+59Kzbqy0hUurHQojC9WMkAYifmg9fpMbhQ82sdaPgB2nsP92gd5VADLRNhXsUxQ=;
Message-ID: <c25eb77a-9a15-4450-80dc-0d9e2e79c858@xen.org>
Date: Mon, 13 Nov 2023 09:12:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
 <9d75d794-a333-792a-786c-064d35910980@suse.com>
 <7265e418-6c40-47ea-97a7-bcf3c2e61cf7@xen.org>
 <e70d9b85-00fa-3d7e-8c0a-d463cf0e0c74@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e70d9b85-00fa-3d7e-8c0a-d463cf0e0c74@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 13/11/2023 07:37, Jan Beulich wrote:
> On 10.11.2023 18:38, Julien Grall wrote:
>> Hi Jan,
>>
>> On 10/11/2023 12:44, Jan Beulich wrote:
>>> On 10.11.2023 13:23, Roger Pau Monné wrote:
>>>> On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
>>>>> Get the own domid via creation of a temporary event channel. There is
>>>>> no "official" way to read the own domid in PV guests, so use the event
>>>>> channel interface to get it:
>>>>>
>>>>> - allocate an unbound event channel specifying DOMID_SELF for the
>>>>>     other end
>>>>>
>>>>> - read the event channel status which will contain the own domid in
>>>>>     unbound.dom
>>>>>
>>>>> - close the event channel
>>>>
>>>> Should we look into introducing a way to expose the domid, so that in
>>>> the future we might not need to resort to this workarounds to get the
>>>> domid?
>>>>
>>>> Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
>>>> a non-HVM specific leaf when it was made available to HVM for pvshim
>>>> reasons.
>>>
>>> Couldn't we retroactively generalize the type-agnostic parts of that
>>> leaf?
>>
>> This would only work for x86. I think we want to have a generic
>> hypercalls so it can be used by all arch.
> 
> Hmm, yes, perhaps. Otoh it would seem desirable to me if arch-es also
> provided some extension to an arch-natural way of feature detection
> (which CPUID is on x86), without the need to invoke any hypercalls.

For Arm, I can't really think of anything other than hvc/smc which are 
used for calls to the hypervisor/monitor (so basically hypercalls).

Please suggest if you have a better idea.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:19:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:19:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631455.984769 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2T6C-0006dL-F3; Mon, 13 Nov 2023 09:19:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631455.984769; Mon, 13 Nov 2023 09:19: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 1r2T6C-0006dE-CT; Mon, 13 Nov 2023 09:19:16 +0000
Received: by outflank-mailman (input) for mailman id 631455;
 Mon, 13 Nov 2023 09:19: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2T6B-0006cy-Pz
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:19:15 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b43e511f-8205-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 10:19:11 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6932.eurprd04.prod.outlook.com (2603:10a6:208:182::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.13; Mon, 13 Nov
 2023 09:19:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 09: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: b43e511f-8205-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bEffV831n0xZBFcG74Eg2kT5P2UXknkkmkarENXIRh0rrWsBsWaELaslhsh0AFvr01noYxHGVznVMb9t/7Br5lEDIX3hz1kE2dUVc7fWQ6odgbkpQPdu9gBbtyDYzArMYnD0FmSifZwRdAJe/VsfazFkqOdZD9g7altcBNTYpL5th3U/b6N9a9StYUo1/fB/ZZ4jxW8ZQVIHlbe1V5dk6wcMCEXAGvsEmVIjuxuFVIkGJuRw+cetki0CEZAoIomeRELuRFoceru1SN57a1RRuwFaoT3wzfz5qpQ6x3nw/dDRpPjA3Ok7lCvGm85fG3AUQ0f1tnfFfujsbceHbOxkiA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MNTVy8uxJIwlYlPTIDqOvfT2fBv+NJBFheSi8uY64D0=;
 b=KD95FYJSAJjmOqyBHx6ptu1Be4brLzk08zD7pRDhvwUWbNMNGm6fn8Y2CdUCdsM5babYxsAlQbl+gjS+xGioP31NOPA89GLDXdD44mX5l0WNNPTK95HAmcym6Fu5q02fMobA+I9RyvdhjGr12lOzfEmHtZVBkgU41tryGktRLhzOuBYWcePo7zvty3/u27tiTU6fSZH2aWhvmvM99xhtEPsf0k7NINSDFMhf4Bb83vbfL85/gxeAvknbLzkbThYfU6lzdnfzoT+AiaOX3Q/lY2MA3jsDmJ3IkiMQqE1ekX5qvEUsXGTCSawzUZ8df7X1YhgtRgaJH+/tRQvN82/VAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MNTVy8uxJIwlYlPTIDqOvfT2fBv+NJBFheSi8uY64D0=;
 b=JfE8u3sIUzexmynSD2lCdfb9tIalQUUQxFvVgev+EtSPVbbLJHowfigf+L6dSCjCFiBUpZx+CtbsH4TLCZ6EKAbqyogVhwIkLpDRjSczCi0wSjU4ISGNRjXcgCK4QgmTdLHdSGbriI3FKACEOdNRzOOxAQbw4syFS7tPMmY9Eob7rYsYuCbbfjhWIH/zLEGKZdddFwMUqqQyUHyIAmJU3mYkoaf1YNAp7voK64Qjk2zP1SljFEj0sbxwowmT+dzMnpYyA8TCeBg+gLB9kt5iv0mHp1pnAZCWqye/Xpx5isVUUZuGr6Gd9TXYlAdnRQdUXWVwfyO1Uu1mNu+hE/L/6A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e9e50f75-6dd2-5845-77e6-d58ece774f77@suse.com>
Date: Mon, 13 Nov 2023 10:19:09 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH for-4.18] x86/time: Fix UBSAN failure in
 __update_vcpu_system_time()
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>, Henry Wang <Henry.Wang@arm.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231101203737.3441425-1-andrew.cooper3@citrix.com>
 <7ca0ed7c-e797-7894-80e6-5d6497db9a99@suse.com>
 <e8c03b95-2b17-4d3f-af1a-4dd53e57f9d8@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e8c03b95-2b17-4d3f-af1a-4dd53e57f9d8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0062.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ce::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6932:EE_
X-MS-Office365-Filtering-Correlation-Id: 2119ca45-3631-4d6d-90a6-08dbe42998aa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/KpbQOpeLSwxwEnhS6fyd6xV8IOfmgWoFmZNft3Sn0Bcr2LGXeFRBH1FId6amOsujSpuuoRI2IQwV/A9ov8vAxCTjcc4h95sMYo0tzpTYp7RNTvflWEbolgwtqvreR6dIuy9JbWN7P5NiZrOzxK27odAUA0es3+PMCHkGUuq/8G845vBM4KwDaMFxIKBUdGhIdLh34gDL87q9PJb79dFg3elGHpNNkQ0P9P/XoCW3dC2cs5cS415YdDFhJYRfAQpkT5yG9f1GfXSHO/aGzjqZ2eMkJiMNKayCzwQYvfI4+ui8766LbuzswFtLQVdAhPnGzHcCx2zlwwFB9OAeK9pa1R4IGXdCBmt7b061b+aTzkbsgyFcZype/xiyfUP5kH2V+mBcAvrfuQ2sxfeq27H0rm5NZrap6z/7LEZfTTQmNy4cydde/oiJ/817Jt9RscfxRo56WGEZ8+WrKAbQEgLkzUnQBnAJMqi533Uq9uleRgURcdn8CkDoKPsTzec45LW+MfY0lmFyJ1p4nwOpziiWOyerh5VmPczsBj+04zf4fG07h7U/ZJHUY29AQKKkIgHlswRxearnmkFwPN6hoCdKb3cEHbuDeyFlH8zLbUzX6ddf882jUOWOkN40dsNcerxymddN1YhYZYOnAvz+mZ3GEAGlUAsGwkmxHcMFL9Mk4n0kG4z/YlJPsVA51DeNxwGqIAVhosAoNMK3U9n8mvv6Z4hcVz2yhaNms97XeRTSFcbs8fWDw0MkF6c3a7KhDhb
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(39860400002)(376002)(136003)(230273577357003)(230173577357003)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(54906003)(66946007)(6916009)(66476007)(66556008)(316002)(478600001)(6486002)(86362001)(5660300002)(31696002)(41300700001)(36756003)(2906002)(4326008)(8676002)(8936002)(26005)(31686004)(2616005)(38100700002)(83380400001)(6512007)(53546011)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aVQxU0EwL3hQbjc0WnVuNm1DeFYrZTJrMTdwNTh6RTJtd1Q4K1h6akNNY3oy?=
 =?utf-8?B?TXpGTDhWaTlaR3lOMTJneVl0SlQwNFBYeWQreFdReXNVamkrUzNBN01ScDk2?=
 =?utf-8?B?OWoyVjhHZjNJVjIrdzF6czlSejdWbS91UmtERDZIOEZ6UkhTL1laaUZXVDVt?=
 =?utf-8?B?SUhDVTVpR0tBV1lMaE9TY2dtdXl0bGZ3eXFkcnpLUjRoeWR3d05vRnVnQ3l5?=
 =?utf-8?B?MTVUdUhqMm5qSFowcDEvL1hxbUxkMkt3YUhWRWJrd1B6cFJBVnNJOWdpUEZ3?=
 =?utf-8?B?c0txaWJ6Ykp6YXdVandBbHNxQSs2RWxMNXdQS3dKdzB2dHpNdmhWSXVaV2Va?=
 =?utf-8?B?ck1Eb3RXOWgxcjNySDU1cUJkdDUxUEphSzV3b0FQM01VdlNtS3ZEZkpIbllP?=
 =?utf-8?B?ckJpWSt5WWwveDlCRnVWeitodVBkZDVNdUU3RXhpU3dQaGRCamV2bU5yRml5?=
 =?utf-8?B?aE9MQ0l4OFR5SVExajNrd0lkclpiZFl6TTlDTzVmRkVnSmhROEdzR0ZNSng1?=
 =?utf-8?B?dFV5ZnFoVkFjQWJIaWN2b2N3RXRnNTJpUnQ1Z3d0c2lLUjk0YUN5WEw1eDhX?=
 =?utf-8?B?cVFKT0hjRWtwT1Q1b3hNSm9Ob1AyejlhbnUvQnlKOFpyOXBRSXlnR1gwT2Zu?=
 =?utf-8?B?U1h3ekh5WkhIbTQyWFkxODF2T0ZNLzlhV0czbHpqV1RNTHk5L092VzJoUnRW?=
 =?utf-8?B?eEZDL0dDM1QxY0FRYmJuaStudGw0azRrdGJXYjJzcEtpaTdpWTFLUUNOM2p0?=
 =?utf-8?B?RmdJVDBQMnpIQmRrRUtoa1lvNFRCRkdCeXUxRHZxQnRCdkJoeU1qMDI0QmZn?=
 =?utf-8?B?ZG95cWNPeVdZcTF2dVd1NHJzSVU2RkFrNzBMREtkVmIxU1dFaUJDMHVHbDJ3?=
 =?utf-8?B?NWZwaWJVWkZSakIxTW1TU2RFcElLWjMvMXpYbkxoVUtaaGoyVmdBNU0rMkNk?=
 =?utf-8?B?b1NFdUpPY0tkTXF4dkxSOWIzMk9leTJaNEYyM1pYZDFuRXA4Q0dlUHVKK01n?=
 =?utf-8?B?dWExZkJzdHV2Z1ZQQ3U3K3pxTFh5aUVNQTlPYzgyWVV3ZWtIWHptais0aXRs?=
 =?utf-8?B?WVNmb0FFVjNjQ2ptRXpwOHpnV3I0UmtWVTR6cVp5Vm9YTVNDRG9FakRMZkVv?=
 =?utf-8?B?cTl2SzQ0Yi9lVVNrTFpqR1RZVnJCRnJoQmJSNWpvUWFDem5QSlUxV2dWVWFT?=
 =?utf-8?B?WUl0SThmMXg5UVN2c3dBSTVQOTk1TXdNQVFYbjN4Qk5IcGh4SzJOaFJBVmFP?=
 =?utf-8?B?STgzNEhLWGdkRFBqa09vdFBaV2ZVSUQzOVgwR1hWdnQ0YUR0WDdLd2E5VXhI?=
 =?utf-8?B?dXpTYzlVOFpxNWpnMld1NFNnOVJYeW4rNnh1TFRNdXNnYTBNN0kwQWFlSVB4?=
 =?utf-8?B?VWwyRmpObTZSbllmWldQclNkUnFEbDhoTGJHMllsS2FCbWlzYWZTaUNvY3N3?=
 =?utf-8?B?MXBmOUh6WHU1eVhKemQzZEllRDhKQ2FvWGwyMVA0Ym1UZUwrQi92Vkxpcncx?=
 =?utf-8?B?bm5sKzNIK1pTbmtyV1IxSXNKc09VUlkrcnd2cHZkeHZBemFOTjlpQkxZVk9B?=
 =?utf-8?B?TUZjYm1SM2ZsL1l3SWl0ZGRHK1RnQzlTUWpJZUpRWFlKT2U2eGNadkc5YVFm?=
 =?utf-8?B?dEUxNmNEMWwxcGQ5aUFJTzd2OGhJcHpWYlZUSTNaUXpITXZ0ZW8xZ0E1VWVE?=
 =?utf-8?B?ME10M0ZxeS9SZXgxUWQwNHZZTXdSaXBmc2RRbXhrUWQ0aUZ2U1BVNVpEL0xP?=
 =?utf-8?B?U2x0MVIxVHVrZ0pDNUlCYi82VS8yaEMzYTFJMzVhUWNQT1JTcGRBWlkxaDFp?=
 =?utf-8?B?YUp2YTBsa3lQUmJEWjBwRkZUbWVTbUZiM1ZWWnIyVXRObHRvRTZzN1RhYVZ1?=
 =?utf-8?B?a0dCNnpyS0pmTFBHWENhOXVaMC9PM2loM3FQdVQ3SEZEVklZMkFsUEliT1VZ?=
 =?utf-8?B?M1FWMmNFL3NMS2pDcTdaQmJRN1BwTFlnT0Vna1RTWTR4YlNsQ1p1cWY4YmxP?=
 =?utf-8?B?anMwb3pSRVdwWmlUa3NHcTRWNHlpTzNsaGFTeFlkUXEzUHVhUE5UbWtnSFBQ?=
 =?utf-8?B?elVObFdVZ25mZkF4RS94UnRpZEExeDFETE1SVWlJZkhJd1dPTk1UNzZaSllP?=
 =?utf-8?Q?o8eQBLDKU2hdNgUFcw/D+sEGo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2119ca45-3631-4d6d-90a6-08dbe42998aa
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 09:19:11.0334
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HePJZiAZ/J/7SbegbTS09eDLHQJVY3USTHMZZDX52zf7OYY0MJLIBmMUAydJlsOlaJcoZBKgR8QAimz7Xs8Rww==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6932

On 02.11.2023 20:05, Andrew Cooper wrote:
> On 02/11/2023 8:33 am, Jan Beulich wrote:
>> Furthermore, if you deem this XSA-worthy despite the generated code not
>> resulting in any real misbehavior
> 
> ... we've issued XSAs for this class of issue before.  XSA-328 is the
> one I specifically remember, but I'm sure we've done others too.
> 
> In this case, an unprivileged guest can control the NULL-ness here, so
> if there's a practical consequence from the compiler then the guest can
> definitely tickle that consequence.
> 
> Alternatively, the security team could decide to change it's stance on
> this class of issues.
> 
>> , code patterns like
>> (found in free_heap_pages())
>>
>>             struct page_info *predecessor = pg - mask;
>>
>>             /* Merge with predecessor block? */
>>             if ( !mfn_valid(page_to_mfn(predecessor)) ||
>>
>> or (found in get_page_from_l1e())
>>
>>     struct page_info *page = mfn_to_page(_mfn(mfn));
>>     ...
>>     valid = mfn_valid(_mfn(mfn));
>>
>>     if ( !valid ||
>>
>> would be in the same class (access outside of array bounds), just that the
>> checker cannot spot those without producing false positives (simply because
>> it doesn't know frame_table[]'s bounds). We're fully aware of the existence
>> of such code, and we've decided to - if at all - only eliminate such cases
>> (slowly) as respective code is touched anyway.
> 
> I don't agree with describing these as the same class.  NULL deference
> is different to OoB, even if they overlap from an underlying mechanics
> point of view.
> 
> Nevertheless, I've raised that "valid" pattern with the security team
> before, and I would certainly prefer to express it differently.
> 
> But neither of them trigger UBSAN.  GCC can't see any wiggle room to
> potentially optimise, and I expect it's because __mfn_valid() is in an
> external call.
> 
> If we had working LTO, I'd be interested to see that alters the UBSAN
> determination or not.

I'm not convinced it takes as much as working LTO. With PDX_COMPRESSION=n
I question __mfn_valid() needing to be an out-of-line function. Converting
it (back) to an inline one would better not come with the risk of breaking
certain use sites.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:22:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:22:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631457.984780 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2T9E-000838-U8; Mon, 13 Nov 2023 09:22:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631457.984780; Mon, 13 Nov 2023 09:22: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 1r2T9E-000831-RR; Mon, 13 Nov 2023 09:22:24 +0000
Received: by outflank-mailman (input) for mailman id 631457;
 Mon, 13 Nov 2023 09:22: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2T9E-00082v-8o
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:22:24 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0611.outbound.protection.outlook.com
 [2a01:111:f400:fe02::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26d404cd-8206-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 10:22:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB9780.eurprd04.prod.outlook.com (2603:10a6:150:114::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.14; Mon, 13 Nov
 2023 09:22:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 09:22: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: 26d404cd-8206-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jqq+wGYiz5O5PhHdLa5Ifu0ptnYPO0Bi27IVXdXgMWDmyBt34C9feW6po6Z6GE5pL4/GMFsOfEiB1x3oaiiJN2rbsnkG94ptfTUxyRZj5w3zrrp9pS38JNv6Izc1d61y1swQxDXl+MkMHt5mXE1QJ+PWm/KeANZflD+eYj1t3Lqqgox79HVTvtmeJ4j1epgTuWVbTeYj4PM6PgJIO1zJnGn5nC29iBuucZNoYK7+HPeT9jcaFJBL6vDKQetUmHFEUTyd99Fm4NMLxUXrP8p4O9r/tT/5+Y4fRtl7+qRlzA9AlFh2qjtIb2XEPFziyKQDVhubFCcfM/BlQt5UAJCcbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u8SgREJKaFMKvxbaYb9MyueNX16ex2Dzdq7pSvkeOug=;
 b=eG+aGS8JoSic4OpgUL3hKoAwed7Wrtt/c9ja+4uX1ltISSH/D8TSEpG/sOyCcEHPSxzgWF/M99K4e+P0PvbsxG7KVRxggc6noBAmq7davKnqKlTiiaN4Sc7Wz7R+wnZrZz2EbFCmmhmFBgZ/O+prQzlD3sXzW8ofUXM9LA6rz5JIdUxhwmSX5WwvDGwCJ/RNZ0f4nqubXb04+kNlv2TNBVqATg6QocVdFIEza5dkTaeW4CDuxnDgwPNnCGQqsiBAFIZaSuOQh7iQRDobNnlhjHpjuYKJAM4J7XsE3hRynMBgRNxzPoBJcBxal8adwjycksB2lB3Zp5uWwJLvIkBMPg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u8SgREJKaFMKvxbaYb9MyueNX16ex2Dzdq7pSvkeOug=;
 b=SPYuw9pLCNvQLVZ37Jcg5Px8Pjyy9oIQEPEtMpwFvtThjsxTD5tmaOpbHZLP6S3KhTb6hohmB6ExY/t5iWJZ+3Lc6yB8khHEvB1816J4R+qJsxh6nseH9hlrbtfIs2feziRe4h5/MGVWpg89ZTVNyLbYprI22uoJrjrZhsXADgG3GFRQhK/yKgVAGtBszpYqfjyUqkqYsQrn/hAQ9kkuau2UJrH3EMACTSx0ShJtpsLxDCFhCwN6/bcaFUHvZIDUY+TPfoTmdttsdYr94QCG7lDlMzVHrd4+PDzh8qhyJEZ/nP+btGU676jXHBjxGUhgXh7McV8ToXl4ysm7uU0xjg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <02f3b155-797d-8b6a-4f64-f2d376f9cc24@suse.com>
Date: Mon, 13 Nov 2023 10:22:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] x86/intel: fix indentation
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <20231113085130.43458-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231113085130.43458-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR5P281CA0037.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f3::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB9780:EE_
X-MS-Office365-Filtering-Correlation-Id: 49d73906-f21f-43e1-98e5-08dbe42a09b0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JXsOlqQBqHFU71JVpsBRxW5lRcQk34g7Bwnw9vTSrmHXPSTCq73U4cDmrm/Vug5Wffj0MnI/zUX0L5GqShsLB8pwZs1fCHWk7deiAk+pDqjDiTfhFd7XaaBGiUeekE4TA/rNqrcWhHe1gcGrTuWmbe6fRqiJ6SLno6TFpoyjoj/rl6eMOmBosIXw5GtPP9vQOHQx7ffcpLhcLvaCOrmPPGy30CyT2nxfQCwWTA4bqCXq+Y/GsD+/6rkhQDQvKWkf2EPG8jNsK8a/2vJPA3CxX7hNZzSF3+wyGLTTerPRNDM7pOCWsMh2AC2GUqnlYKhZwwqXgEwMSMPoQgkiJuleaAf/Z57L19NnRA2D29AaPC/hyeVUdQt1x4Ez4HsAKO0zny6oEMSZ5EJ/xMN/zTZLUFxwxfC0N7t0Ty2xxpA9fLcpxngzHJQKbGBTiauhUn5CPy/AEz/x27mZpB8+00V9cXYZnWs7R/eUgzQCe3xHGxvFXbnf2BdD1PeQ/ClCn76fShATvKAlBade1tB5BL9dQuFucgeABqpD2oHtrHcvfrgKH7W1YEMlGlh1/HErRlgdNLBe29MGKjiqfA//MSLozsSPH0pMo8CFB59sCR8ndqEVy1xqWaoy3vmPTrsGKk1h6NxEYNkeZ+Gw0HtTFKzcDg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(39860400002)(376002)(136003)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(54906003)(66946007)(6916009)(66476007)(66556008)(316002)(478600001)(6486002)(86362001)(5660300002)(31696002)(41300700001)(36756003)(4744005)(2906002)(4326008)(8676002)(8936002)(26005)(31686004)(2616005)(38100700002)(6512007)(53546011)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aENGUDc3alQwMUNBVjVjaldrQXlMUnhYbVprMlBPaERSQkIwY2FTTEl4dklW?=
 =?utf-8?B?dEFQd3p5RHk0bU5KZmdNVUhpVU02WngySy9UN2JmUU4vanBhK0xMVS9wN3VR?=
 =?utf-8?B?UGJhK01hdStTMUZaWERrV3BIWVlDS25yYVJ0Y2JZKytPNEV4cXJOdEJjcnB0?=
 =?utf-8?B?QlZyejUvVHdUZkJHV2Frb1ZDQzR6ZDlsZUxmTFVqQ2pwRURiQndQUWxDdU44?=
 =?utf-8?B?RS9xLytZNS9KaDRJK3htTWc4c2hZT1FjdE1HT0daODNiVldiRlJsZW1aa2pK?=
 =?utf-8?B?YXlObWpaZmdtZE91T3RNTy84ak5uRVNVRmRNUkFhSGorMUpseTh2RmJNcGhp?=
 =?utf-8?B?T0RpYUhMZlBTUDRPczd5VnFVVXNPeUdQMHZaS0lwVkdveSsrV3lTcDBHVTlF?=
 =?utf-8?B?WCtlRVY1czRHNkJpMDI1NUlWdWl1b2N3TURCRWtIM3VxYzBKeW15aEpoT0VL?=
 =?utf-8?B?T0tRMTJyOVppMnRpOVFZZTllMmdVWVQ2enlUcVg5by9qUU14NWFGZWRUSVZj?=
 =?utf-8?B?M1NoODRTUEVhaGdiSWhkWlpaMG8vWkk1NElFNmdCTXUzbU5sTThoUXozemF5?=
 =?utf-8?B?OG5DaGNqTzR4QVJvWklGSlQ2VTFIZDdwZWJpald5a3laUGsxbmp2VkoyU01u?=
 =?utf-8?B?N1NtWjZuSjFua2tjREx0SlYzamU0em9BUStkN2pnWldLRXhwcTJuV1FndUE2?=
 =?utf-8?B?SThqVmpQN0lvbDA4M0FDaVNnLzNYeHYxanBoekRGV1JreUdYZjdSNTJBdXpk?=
 =?utf-8?B?OHY1U25CN29tQ2p6UVNlc3gveGhBb3FMUjNVUG1vU2VGLzByeE5tMTJPb2Iy?=
 =?utf-8?B?UkVkaWg3N2J6VUVNVnZuT2pNUFBtdG9UTXJ0UTA3OVF4eGlmeExhZlYwazJV?=
 =?utf-8?B?WldIZzNnU3BGRFpVQy95SzdKTGdpNXNGRUxKNm9SbnY1MThScWhBY2J1V1o4?=
 =?utf-8?B?OU9IcGRQVHJjdGJlWGNibXIyWWJEKy9DOFdwYjdWdmtyWWpGeWFkREdqNFNn?=
 =?utf-8?B?QnNsZFZXbFBlWGYrNC9pNUFTaFVuSjhaWGVuL21IUHNCUWZxTDBZS3IxQUFR?=
 =?utf-8?B?UUhYYkxwOGRtRDRHY1hBbVlrc2wvMm9NdkswN3J6cjg4QzBkcHRPaDZ3c3dr?=
 =?utf-8?B?OU1GUnBtWURYUWRZcW9JekdxT2NFSDFyWDVtaFNvaENET09pbDdBVWFocWZO?=
 =?utf-8?B?QUNHVGZOWHFncCtaOUVYT2FOL2dOMmtzNGV1VG5pekFlUUVyb3ZPSzVOeUhX?=
 =?utf-8?B?QlZTNWNyYnhxcEhFdGxWbTBTLzVKU3hkcEVwbXNQWHI1WDRPZGZVVHBSUHVO?=
 =?utf-8?B?M0FqaDNQMG1SbHFZa0o1MkFGUUhTNUVVRlZNWjRQbkJUWTZTMmF6S2Z6S0Jq?=
 =?utf-8?B?dkMrbWw3T2VDRG45ak5nRlAwL0ZGenVGTVJRaElmbFdJYlU3aldCTkR6bHhi?=
 =?utf-8?B?WE5mZktqQVFIcDVzQTRuRHRrNUdmQ2Eya3lzZG1iR3ZtOG9xbGdUYUxuNFBX?=
 =?utf-8?B?eUd4WnN6MCtUZkl5ZTUvckl3RXE0d3lTV3lhdGM1Q2xLQ3o1aE42QXh3SVFC?=
 =?utf-8?B?ek9kQldEQUNaUDEydmhnZTljRjQwWEt0VVhDaTNLL2pzSk9oZ0FQOENRQXJ5?=
 =?utf-8?B?ai9qVjdubkdKVjQvUXlTc3liU2k3V29xbFdGRWJ6RlZVZG9hcFdQY1U0TGpH?=
 =?utf-8?B?MTYvelZ0V0FzNmllakhMcEI2UHZKalg2MWorNndFNTFOeFBSZFFuQVVjQzBI?=
 =?utf-8?B?cHdISlJ6R0FBeHRaSnlQbDJwQytYZ2xyeWVUdjZnanBlZXczTUJUNUdhMGM5?=
 =?utf-8?B?SWI4WDhaOHRpbzc1UFFTT1FiN1RUT0l1TURtVDN6NnB2ZkhjeGxFblVzVzB4?=
 =?utf-8?B?c2hmSldGeVNXemlhQUQrSHRpdVFUV2FzcnB3M251Qy9aRWhya1JFVmMyVHZh?=
 =?utf-8?B?R1g4YnYvUWt1QVR4UmRzYWJwZTlNNzJFRUR0Y0VyK1ZQN0VibzNLK3JnYkQ5?=
 =?utf-8?B?cjgzdE1lVURWakdxcTZxRGdBdXkwUjRQa3g5b2VvREQvOVdTZmZ2NGtxdk9u?=
 =?utf-8?B?bEpQNHc3bzRTSWJMOWFVTGQxZ2lqWDBhT0Q2U3NCVTRqUG5PbjB6ZDNiaTd5?=
 =?utf-8?Q?IJV0ix2MkuagiocLM92autlN/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 49d73906-f21f-43e1-98e5-08dbe42a09b0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 09:22:20.6921
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tOSYG20Ke2gV+neDqu2SpCPMMl8XTVONUgOYoPQuSRr1Ze7G2sOPo5Qxs5u4/0Nqdr29vs7/B0tXbvukzI9Luw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9780

On 13.11.2023 09:51, Roger Pau Monne wrote:
> Adjust line to use a hard tab and align using spaces afterwards, instead of
> using all spaces.
> 
> Fixes: fc3090a47b21 ('x86/boot: Clear XD_DISABLE from the early boot path')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

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

> ---
> Realized while doing backports, not sure if it's worth fixing on it's own.

Fine for staging, but regardless of the Fixes: tag not a backporting
candidate imo.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:28:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:28:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631465.984793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2TEo-0003Hp-Mu; Mon, 13 Nov 2023 09:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631465.984793; Mon, 13 Nov 2023 09: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 1r2TEo-0003Hi-KG; Mon, 13 Nov 2023 09:28:10 +0000
Received: by outflank-mailman (input) for mailman id 631465;
 Mon, 13 Nov 2023 09:28: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2TEn-0003Fm-2z
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:28:09 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20622.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f4039c56-8206-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 10:28:07 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9322.eurprd04.prod.outlook.com (2603:10a6:10:355::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 09:28:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 09:28: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: f4039c56-8206-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dsNs5Jjgi7zrYKLP16A791KYwzcGgIwJkdm2IUIWF2AGcpgXPWM6CIjJBRQ05A7Ty32LlcIvblOuBWajmwifn1Lc01HS3X32L9evROR3j/kykfZrxe3V3nLFzaGUrygw8psjwu79OQ1Djx474dQ8wby56uDrszbHAMwCLb29rwJoxrU3OvaK9nbOkWK88TTs1UQs0Gz3hJJq9aOcA2Q7LQ8aWvbS2st9/5JaWh8tUZDKGoFbKaPIAu0D8qHOXiTS6eB6iHyqTh34kx9T1EflCAmy34KOtcPe50LxqlnC4IAmCGWRxxSNMVK5RDI9OksHhtLyRHq3hjmID/D4CO+MYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IprFfEJOyudnsrrIYDrvL6CyRfjorIymqxcVkbLhRv4=;
 b=OmRsGafZxdI2GvufVeQbEVwYyOokCFn1Ajcfa+KYI+4/VMztE5FD+upMGa1e+IS7IUu+Su5m32wooyD/U3FemzVsDdMc82b9zGqGFj/QZJ3JUProWyLr9F7y4pCKR9acnhbTogsSI6iBOQgibyfLNM2mGYE95gp2NZKbEztcW+9CStmETP2eyeXPYT0+mdBo/tHKf2eLsoRV9DJjS/Zhisyu1PVGaEgMfhaU/IbZPGdVjw6pnDUYmsco0jAOHto7R+i9WsrhEzryjuX2vAsTsnEnlp+GdM/awpUA6x4R16UxN+SJvsxFO3AVe45MckWPFL6k7nNlco3PH7dy7UJYMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IprFfEJOyudnsrrIYDrvL6CyRfjorIymqxcVkbLhRv4=;
 b=uM2+q0tIOnn9a6twnD4ymNzIbD5Q/1TUxngKIirjotzSXpWCpb3/jfSSRtpg/G8DR4VoC0IIjKPgDj3hMtKnYi6i9izRB5JV9F17UbLUDxykCd0CmSUDErW48CA2GXVMjaG/jxK1EVKn7bP9mYT/ZxRqySNnjK86aszC31waSjyY2rLRB6PvNtrEVXj2qxh2t0A1WboVxv0Xbg4MKelcU4Fn68ncHBI6+7iwspAtqYVAZzIzZvMStb76zrt0WTRbRhXAjPntCc1ZPE8BE8prjtSFQntx8cvx+gkJkBN8fjUqenxyGfxGQHlr2pcijKP6HeGERvsRSSXgPuTC796LbQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <53d3435f-f021-edf2-3b90-9ea8f1784725@suse.com>
Date: Mon, 13 Nov 2023 10:28:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
 <9d75d794-a333-792a-786c-064d35910980@suse.com>
 <7265e418-6c40-47ea-97a7-bcf3c2e61cf7@xen.org>
 <e70d9b85-00fa-3d7e-8c0a-d463cf0e0c74@suse.com>
 <c25eb77a-9a15-4450-80dc-0d9e2e79c858@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c25eb77a-9a15-4450-80dc-0d9e2e79c858@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0003.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9322:EE_
X-MS-Office365-Filtering-Correlation-Id: d9c9037d-9b60-43a0-5e56-08dbe42ad604
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:
	v0WSVwQsxBfKXVvxhHPUGIX10v+Pvwf4mjHv3AVqB+78cxsUqIH8yPSzX2oXG1YWZRevliPfEc3qc/45lycTRy62Aw7V359EmLa3eAke/xDa0v8r0ZA9lhtQ8SZpvwr4dZsHg1QgV1dzZwW7JaTXm1KjMb7QblA4XL7h5o768qtDIVcEcMTndXbAMHxgbEUmJZmHqYy/IOvIuyERIrdml74Qk7HE52SGDoRGYqUYLCP3lD9TRYjAV4WpXFm+XJZf8K/XfVCL2Lm3rAYyWYv0Pd70vvBgqM0pMBNVK6dg4bWMBBSff2Xk5KVRw1akZ7jqn3YpjwwpLJdycexO96UmbrbBUCGCabr+GAFhH5vnSoHt4ymBN5XdSKfu7B+EKNt4zwfz1pcqNZs1frikGHUsMZ46kKfbXWnv0ezkdXypZH/P02SAsV5O3Pa5qYSwXrzrJgPjO+PRZE9Gwt+Rk9RMz43JpppO4NVPX6hBY5X5nZj0apPc90Wlr5/r9RsD1pcSXJ6ZOWXWunhZC2KZhqyqyn2vgjFeO19xuovnYbwAWaqhWjI8dw2Amrji0PmWrV9vbIFq/alrF1CiNO7Kgz9xvKj7UtKA4hjt0HLgJIdkA82jU+XZ4khtiTajn/g3ka1yPC4Ib2GIyxSw08KZK1l5PQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(136003)(396003)(346002)(376002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(2906002)(2616005)(5660300002)(86362001)(31696002)(41300700001)(26005)(54906003)(66556008)(66946007)(66476007)(6916009)(6512007)(316002)(83380400001)(38100700002)(31686004)(478600001)(6486002)(36756003)(53546011)(6506007)(8676002)(4326008)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ky9vM0RHeStLL0EwUUxnZC9weFNEc0VwZkowRkQwTjBLTC9LUlkrUDJmSnZj?=
 =?utf-8?B?RTljS3dqN2hTY3pMOWpaTlduQ1ZBS0RaOUg5ZW9ZNzBUSWtHU1Rwd3RERGN1?=
 =?utf-8?B?MzdyRG5xZk9KZnVaSWQ4blcwa0c3QjNhNzIvL2lwWkZsTDkyWVhaV2I1ZTBr?=
 =?utf-8?B?MEw4ZHVNWTkrNzZMVjdURVNVZFlhMnR2bWhWdm8wZkxTdXRMcjltQWE3QXV2?=
 =?utf-8?B?amY0eGIreWJMRDdXcGZwaWJtYjV5VTd3bm9jNGgyZGZpSEdxZnlBZ1hza2x2?=
 =?utf-8?B?bmdmdkRJZnVmeG1qcmFOaGQ1TlNBUGRIZnZFZU10b3g5MERvczIvR2E4aFFh?=
 =?utf-8?B?dWNEWkI3bENoZ2g3NFVzaXgyZStHQUswRG9DZ084dzV2YXgvcTJaR1FMNUpR?=
 =?utf-8?B?RnNzMHRHSlFDM1BFS0dwLzkvM283R1dmbnE2czVtck1rVUg2TG5QMlRoZXVv?=
 =?utf-8?B?Mk82T0NXeGRyM2dLR1dab01tMUpLRWxsUXB4d3picHFiY3dHc05UUmZqUVJs?=
 =?utf-8?B?ZkFnRm11TlhYY2tQM3NYS2NFWXRMTnp6SFRQL3lOQXlpVEdRRDZJY3NTMGk5?=
 =?utf-8?B?d3RIYTJnQ1dobi9IUkhsY0VUVnZRS1lmMVEwMWRCb0crWnhYaFBsTDZjZ2VY?=
 =?utf-8?B?NlovUjVJOThLekYwQTVkWVloMW9ucm9SK2FyYXU3UlBmZlBua1luekVEV3RX?=
 =?utf-8?B?VEtzMEFKWmIwVTFkSk5wdlBiL1paZ0VhMjNSeDloMDZKSS9JVXFaWis1eG4x?=
 =?utf-8?B?bGkraFQ3Tlp4bWFEVmFpSVNyUi95SFI0WHQ2UExqR0JGeWhWSmdzL2k2dDZv?=
 =?utf-8?B?N2RiK0I3TFB2emdRZGR4alZXN0FpM3JwVDNtYnpjSVd3d2gvNTEvYTRDb08r?=
 =?utf-8?B?NW1tWVZxeWFLQkZ0OEQ0ZFplK3UwQWYzamNuTW5xNnNXU3M5ZWxyMmhtdHUv?=
 =?utf-8?B?dG5HcEoxY0FyV1FnaFJQQVRBaVNTdW1lWmpRbnY0RGJvYjc2UGZrV1VXNlpk?=
 =?utf-8?B?THNxZXJhZmFVSmVLOHVValQ5NGdpQWxYN3VmWXprMVNRVFltb0t2bFBwSjhm?=
 =?utf-8?B?TkpPeGVtRmc4MDZnMTBUZkZQTmthRmZRY05Pdldzb3p4V0VPNzZvbDErSjBH?=
 =?utf-8?B?QnRUNmtjSWthM3NtMlF2K1hVYWhHQitveDU1L1h3Sll0Uklza0twTWtvRHNy?=
 =?utf-8?B?cXpzR0svQ0RiYnJERVoweTZrbjVtY1pSVFZnT3ZldHpVZGJHS3Y0a21nL3NZ?=
 =?utf-8?B?Y3FieHZlNHlwd2tlMVhHbzJzSXBCdEhuSmFiTC81YzJHaEg4QUh6MnFZMk8x?=
 =?utf-8?B?OXpITWZCQ3lEZ0JRampNOVFIc0FkSTZML2NxNjhOWHQwM1JPc2VpQldtRjVI?=
 =?utf-8?B?dDJBMUpTRGJOUStUSStEUFlGUUJqdW83S21JdllUbG9YYlZEQlV2alNoQ3E5?=
 =?utf-8?B?d2k1eForVXljYnByUGZGdm1PN3kzQXdYRnU0YkRjWFBPK0JWak14N0ZqclYv?=
 =?utf-8?B?OGVwMFRveE9GdHFvdnRXY2R4TXhDcTdRMXI0N3ZhZXA2bWpyLzFMQlhSQ3VY?=
 =?utf-8?B?b2d0Nis1VzZkVXpOKzRaRFUvRE5VdXpxOFRKM1dKTEY3N1NvVEJRZFZJSVJJ?=
 =?utf-8?B?ZnJWWlduMG12a2JWcWlqN1VJK081WHZpMGE3RjQ0ODBOUFI5RUtld0I2SVB5?=
 =?utf-8?B?cHJ3enZneG9HUEh2TDMwcS8wcU1lSEpIRm1oeG8vdVlsWG5XL1JtQ05ycmRH?=
 =?utf-8?B?UHhwQkdNUzhXMG1sMStmNTVDZ2dKM0FVcHZhTkRpZlVSSzBOYlpONkdEL1hF?=
 =?utf-8?B?eFRDRWVOcitDRzA1a0pSeHRiQys0T3UydFlBN3p1VjFITXJMbStNeU13V2kv?=
 =?utf-8?B?SFpZaEFoYlByakRIYy83MDAxNXZmc0VIeEljY29TUlRiZGFnc1Z1dFpwdVJp?=
 =?utf-8?B?cjluM0xGYzFtNWNTbG12MHQ4NFh3VDh6TEo0anhsV3lCaERoQTh5UzFLTG85?=
 =?utf-8?B?d1hySklmL0tFcGl4MGhhSHhFSTExdEcxczBnek9RdW5zYVAxNktsT2drRGI0?=
 =?utf-8?B?cUs0eFc3bDlRamM3Z25peklPWHkwQUt0ZVc4d092dTVoMDhIMFJ0RnFCNnRI?=
 =?utf-8?Q?x2Ent4TNHmT90tTCxevbq29kt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d9c9037d-9b60-43a0-5e56-08dbe42ad604
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 09:28:03.4567
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Gaw3ePdtKosWgWW3dnolpf+CWYSZxZ/0WmQW3ARXJk8LGCAsrzoeDXvU2j5tT4RcDAd6KklZCRvxTRF27kePAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9322

On 13.11.2023 10:12, Julien Grall wrote:
> 
> 
> On 13/11/2023 07:37, Jan Beulich wrote:
>> On 10.11.2023 18:38, Julien Grall wrote:
>>> Hi Jan,
>>>
>>> On 10/11/2023 12:44, Jan Beulich wrote:
>>>> On 10.11.2023 13:23, Roger Pau Monné wrote:
>>>>> On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
>>>>>> Get the own domid via creation of a temporary event channel. There is
>>>>>> no "official" way to read the own domid in PV guests, so use the event
>>>>>> channel interface to get it:
>>>>>>
>>>>>> - allocate an unbound event channel specifying DOMID_SELF for the
>>>>>>     other end
>>>>>>
>>>>>> - read the event channel status which will contain the own domid in
>>>>>>     unbound.dom
>>>>>>
>>>>>> - close the event channel
>>>>>
>>>>> Should we look into introducing a way to expose the domid, so that in
>>>>> the future we might not need to resort to this workarounds to get the
>>>>> domid?
>>>>>
>>>>> Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
>>>>> a non-HVM specific leaf when it was made available to HVM for pvshim
>>>>> reasons.
>>>>
>>>> Couldn't we retroactively generalize the type-agnostic parts of that
>>>> leaf?
>>>
>>> This would only work for x86. I think we want to have a generic
>>> hypercalls so it can be used by all arch.
>>
>> Hmm, yes, perhaps. Otoh it would seem desirable to me if arch-es also
>> provided some extension to an arch-natural way of feature detection
>> (which CPUID is on x86), without the need to invoke any hypercalls.
> 
> For Arm, I can't really think of anything other than hvc/smc which are 
> used for calls to the hypervisor/monitor (so basically hypercalls).
> 
> Please suggest if you have a better idea.

I don't know enough Arm to properly suggest something. Arm64 has various
id_* system registers, so I would be wondering whether having a properly
virtual one reserved in system register space couldn't do the trick.
(Clearly just one may not be sufficient long term, so there might be a
scalability issue with such an approach. Unlike x86'es CPUID Arm's MRS,
aiui, doesn't take inputs other than the coordinates of the system
register to read.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:38:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:38:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631470.984804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2TOg-0002PZ-4X; Mon, 13 Nov 2023 09:38:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631470.984804; Mon, 13 Nov 2023 09: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 1r2TOf-0002PR-Vt; Mon, 13 Nov 2023 09:38:21 +0000
Received: by outflank-mailman (input) for mailman id 631470;
 Mon, 13 Nov 2023 09: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=Yu24=G2=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r2TOd-0002MF-5Z
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:38:20 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f646cdc-8208-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 10:38:16 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 216AA40E0032; 
 Mon, 13 Nov 2023 09:38:14 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id yDn-4aWbgcao; Mon, 13 Nov 2023 09:38:12 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 96E9040E0171;
 Mon, 13 Nov 2023 09:37: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: 5f646cdc-8208-11ee-98da-6d05b1d4d9a1
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key)
	header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1699868290; bh=pvZneiKXZP1AFwrVjpjgX9SfPXvcKcXDRiBYzBlWCUE=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=dZ7yBNVNpQh+FSzVVPUvU1KiPOgYrTKreyHA8+5W4D1e1NVGVZU6gh4GtZqYjwac5
	 7mXHFs8411yRJlwvUxdWXR4tVSMr2V05ppNWa2jneFjQ76RZ8AiWkt0PTe9lQg53x8
	 StmLiD/0my+6PMYw1LCK/P7zdWALpzfMYgh1fVSmK/x+RNi+xjdK7e9F4pHZSH9V4N
	 //0C5YpGFuES/WJNPnwTymvdqteTiiXiFmAosHN3nDMvoaVE23uyvrUDBPYlXRZ2yC
	 zo/XBmjZafaL7zOQg8nuRRUMiWXsD3y/jtAA3OYjU1gzm+jLuEZk790OjLEW6BxlOV
	 PXMHE1ijr3rLunuaIe7wPDDckNuNcoWSlSjqaWjx3LQIC2/5bMXHEplkpaONiNXnU+
	 QLatLdlOoS0pqZJyyPEbMxm5Wrd5YQgTBx+RitlTVRTngSD/EyTPSPMFfwy30fjvs4
	 Ar55249kf9xxyEytyXCGcLBLIEGKahsFxSMl4aZujzNDDFedLNWet7qfiEmBEcMKA7
	 KY0o7bJF/2doThAtRXGMIWrb22pt8N88EcVVC99JIy6ziyh+gT7GxewGFeNSQhOJqz
	 LjbBfNVJw03e/S7CKwwgYIN6BgSrxS4DQA9buYUX3Z8XPsMTypEr9l2BooGtvGdtxZ
	 TSsh+cXS+Iag9abKXKBGqaBU=
Date: Mon, 13 Nov 2023 10:37:42 +0100
From: Borislav Petkov <bp@alien8.de>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com,
	x86@kernel.org, hpa@zytor.com, luto@kernel.org, pbonzini@redhat.com,
	seanjc@google.com, peterz@infradead.org, jgross@suse.com,
	ravi.v.shankar@intel.com, mhiramat@kernel.org,
	andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
	nik.borisov@suse.com
Subject: Re: [PATCH v12 19/37] x86/fred: Update MSR_IA32_FRED_RSP0 during
 task switch
Message-ID: <20231113093742.GAZVHuZk9CGTRIfAWb@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-20-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231003062458.23552-20-xin3.li@intel.com>

On Mon, Oct 02, 2023 at 11:24:40PM -0700, Xin Li wrote:
> From: "H. Peter Anvin (Intel)" <hpa@zytor.com>
> 
> MSR_IA32_FRED_RSP0 is used during ring 3 event delivery, and needs to
> be updated to point to the top of next task stack during task switch.
> 
> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
> Tested-by: Shan Kang <shan.kang@intel.com>
> Signed-off-by: Xin Li <xin3.li@intel.com>
> ---
>  arch/x86/include/asm/switch_to.h | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/include/asm/switch_to.h b/arch/x86/include/asm/switch_to.h
> index f42dbf17f52b..c3bd0c0758c9 100644
> --- a/arch/x86/include/asm/switch_to.h
> +++ b/arch/x86/include/asm/switch_to.h
> @@ -70,9 +70,13 @@ static inline void update_task_stack(struct task_struct *task)
>  #ifdef CONFIG_X86_32
>  	this_cpu_write(cpu_tss_rw.x86_tss.sp1, task->thread.sp0);
>  #else
> -	/* Xen PV enters the kernel on the thread stack. */
> -	if (cpu_feature_enabled(X86_FEATURE_XENPV))
> +	if (cpu_feature_enabled(X86_FEATURE_FRED)) {
> +		/* WRMSRNS is a baseline feature for FRED. */
> +		wrmsrns(MSR_IA32_FRED_RSP0, (unsigned long)task_stack_page(task) + THREAD_SIZE);

If this non-serializing write happens now and, AFAICT, the CR3 write
during the task switch has already happened in switch_mm* earlier, what
is the serialization point that's going to make sure that write is
committed before the new task starts executing?

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:57:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:57:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631473.984814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Th6-0006it-Jk; Mon, 13 Nov 2023 09:57:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631473.984814; Mon, 13 Nov 2023 09:57: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 1r2Th6-0006im-H5; Mon, 13 Nov 2023 09:57:24 +0000
Received: by outflank-mailman (input) for mailman id 631473;
 Mon, 13 Nov 2023 09:57: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=h1x5=G2=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2Th5-0006hu-B7
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:57:23 +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 07b584c7-820b-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 10:57:18 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4083740f92dso34307015e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 01:57:21 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 r21-20020a05600c35d500b00407efbc4361sm13316876wmq.9.2023.11.13.01.57.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 01:57:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07b584c7-820b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699869440; x=1700474240; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=7G1QwiIpJLr43cE2gE1FhyQ2DAAhYkK70fZcgtchn7c=;
        b=BqQFaw2exJzNEu+zfb+j3+nmQPPugo7NYsUC9U+xpQEjILvwOS3rjIvtvTkDiwKTwA
         CwkmgCgMQGYZc8Mg63kX/tFbzQGf6hAX/Y7696LfKJXxxIIKS1DkWEj/dMDHsOC7spa3
         OHsTPCgdA3Qxb1rGBKZIPPVpbpZjXnDrGmbz4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699869440; x=1700474240;
        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:subject:date:message-id:reply-to;
        bh=7G1QwiIpJLr43cE2gE1FhyQ2DAAhYkK70fZcgtchn7c=;
        b=Cb+zI0CdH6r4ejy5gb3zVa3t+MTVRzN7aPKgGouCj42Ni8XoabLTMCvOtONzQF59vS
         HkyUKmDl9lOK/NpqZ29zkSDdwGq+sg42/dLxf0M+qt5UwfC8UEaD7BmbWVIxtfjV6upg
         mxWKDfv2yqS6T8CZmcouVFpOYFTK3dgneMf263dg8k0XVV9drT3xugsuYDOKcCP9Q93K
         Hgq22ijlouotAsosIyw7ugdxO1gnE9z+7C8ZCwVB9409WWVLYdEYlBpP/U9D7nOhB1OQ
         1FZ3nOMOOyu4p3J64Qwf/VeQqMm1NnRz9yAWNvgfe57r14kL6t+mICh5Yi6V8TJ2zFFN
         n7JQ==
X-Gm-Message-State: AOJu0YyC9uaSGmYVd9il63MVCI8sf9nzrtl9eUhw7bwaIBqYLXAIfidd
	AR+KMcTw8m4bO3OE1Wf2P4rAaA==
X-Google-Smtp-Source: AGHT+IEZDs0CNCgHLv/LrRv1OyPLIv4OY3G3UIEwAuOIIK3H5UeZCYYGRWVLtesyWMk3Ax2MFGalXA==
X-Received: by 2002:a05:600c:6022:b0:409:c1e:7fe8 with SMTP id az34-20020a05600c602200b004090c1e7fe8mr5011167wmb.19.1699869440623;
        Mon, 13 Nov 2023 01:57:20 -0800 (PST)
Date: Mon, 13 Nov 2023 10:57:19 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH] x86/intel: fix indentation
Message-ID: <ZVHy_9y063awxdng@macbook.local>
References: <20231113085130.43458-1-roger.pau@citrix.com>
 <02f3b155-797d-8b6a-4f64-f2d376f9cc24@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <02f3b155-797d-8b6a-4f64-f2d376f9cc24@suse.com>

On Mon, Nov 13, 2023 at 10:22:19AM +0100, Jan Beulich wrote:
> On 13.11.2023 09:51, Roger Pau Monne wrote:
> > Adjust line to use a hard tab and align using spaces afterwards, instead of
> > using all spaces.
> > 
> > Fixes: fc3090a47b21 ('x86/boot: Clear XD_DISABLE from the early boot path')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> > ---
> > Realized while doing backports, not sure if it's worth fixing on it's own.
> 
> Fine for staging, but regardless of the Fixes: tag not a backporting
> candidate imo.

No, not unless there's a further backport that requires the adjusted
context maybe.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 09:59:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 09:59:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631478.984823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Tio-0000t9-Ul; Mon, 13 Nov 2023 09:59:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631478.984823; Mon, 13 Nov 2023 09:59: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 1r2Tio-0000t2-S4; Mon, 13 Nov 2023 09:59:10 +0000
Received: by outflank-mailman (input) for mailman id 631478;
 Mon, 13 Nov 2023 09:59: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=EUjx=G2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r2Tin-0000sw-UR
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 09:59:10 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20604.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 496c050a-820b-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 10:59:08 +0100 (CET)
Received: from AS9PR06CA0634.eurprd06.prod.outlook.com (2603:10a6:20b:46f::21)
 by PAVPR08MB9796.eurprd08.prod.outlook.com (2603:10a6:102:2f8::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28; Mon, 13 Nov
 2023 09:59:05 +0000
Received: from AM1PEPF000252DA.eurprd07.prod.outlook.com
 (2603:10a6:20b:46f:cafe::2a) by AS9PR06CA0634.outlook.office365.com
 (2603:10a6:20b:46f::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29 via Frontend
 Transport; Mon, 13 Nov 2023 09:59:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM1PEPF000252DA.mail.protection.outlook.com (10.167.16.52) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.13 via Frontend Transport; Mon, 13 Nov 2023 09:59:05 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Mon, 13 Nov 2023 09:59:04 +0000
Received: from c6061292fb02.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2632119D-D925-478B-84AC-5CCAA4675839.1; 
 Mon, 13 Nov 2023 09:58:58 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id c6061292fb02.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 13 Nov 2023 09:58:58 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com (2603:10a6:208:ff::27)
 by AS2PR08MB8621.eurprd08.prod.outlook.com (2603:10a6:20b:55c::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28; Mon, 13 Nov
 2023 09:58:55 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e]) by AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e%3]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023
 09:58: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: 496c050a-820b-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=hxCykQ50O6QPzcWcVLel4FrjBWCqueO6AltykVJGZvoVixjTCgEXoXB7XtcgALNnKNFniigmbxC6PDgFsum1Ytjd3q9amtfwfAgZGhbHWWdC0osI7shPqO5Hv/boQ21v1BDi86ges4iiF9Z9mwGqe+YoYiSmuEWaYE1UUByghMnCh+SkzUBr6gEvQ2wZHClWJkI0a+EK1bSv/OppxhMfu6kXHBFWgDuy7j6tAuomdhVuYCUDoJuSBK2qwx0wMo/ynu7M+rZPYHU5z6LUVxhftkKMj2eSoBuu8lJAJN9ErnMoszIduy0Crum1Yf3iUEIrjXO0C2/xBiMcMFrZpHhLYQ==
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=tgs8imh2O3/Qs4hf4jV1+sMvl95XSbIL9e+23/wUkfM=;
 b=VrVrdGTf2rZI6wsOpFeB8fR1wX0my5W0BD28YKjs3RwyZU4Ez0GF3XdZjda91FDV5JV+oke429X6bbsB9C/gdF+zuAbYnd0H7EMjQmkGiBnyKhycV+UGnocmgOnJV2VEnuuBEcRJ49zJDJdo4t7BpvKEE6hmJCmG/Sr55wg0KtdC8/So29mOiEdiWZOJy+/m54+nZYvzsVKL2uSsVsLOLh2hIntHmtQ0GO+K7dwI0KQHG9Wsh3ecMkAMJKwSv3gIl3bG2guP6ytePqjzZs/OeTWL2xDo/pzfC+W7bMN4ZZx/NEW38e4js3ol91x2nu1e+dCwYO910kBUUpZk6jKCpw==
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=tgs8imh2O3/Qs4hf4jV1+sMvl95XSbIL9e+23/wUkfM=;
 b=I4f8bJe1ol+0r2sqT+DUotap7xEnYCCUKurSL9/M2SaAhCa3mG0gSv3uS+YLzcH0QNLivolqgHUAuUq1tdIdjM525P8j6eSx7m/iTb8Q3G5zLqmAZ/ZfKcv+YkqIbp5IJc1ekYwTLQqgu5VrnRPxJNunJ+hgzsVj5kM6DQnit2M=
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: 90740e10935d4ae1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Kle6iVIbBdCoLq+ozJ2zd0swoGr+cpQGP+m/ispU+TdasVwRDOOjQhsMfIpe178axK9zIpjwyKswU8gz3/2MQYDO09BupmexFZHTip6GeqPGek0oDD7szb5hyb+D8Wxqn4JlZlD5PUS+17v1ot2Z18rlq/UJ7WJZjoYNv756iKhDwEyvJU5C6iX+hE/5T3p+AK6Can9AnfZ5OCHof96f9xf7n5qP5XwwsMJvwgXc0/i9jLGeFKhvrCId80mW+tscJI/qIrkZzqiiHQN0w3G2astwDkvhGHeLQm8yP0AwEcxN5dmoSqiCUCvJNebxflQuf+S5RrmBor70s2Eh64SgYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tgs8imh2O3/Qs4hf4jV1+sMvl95XSbIL9e+23/wUkfM=;
 b=EzVPA+xSp1UpRwNouiW6lvdTjxkcaRFIp2bYKZ6UPiYR5I60cgauZAw7hksSGNwH+F/e8gw/yC6bzwRvMfmEQ/wV/GoQbUO+jc3Qnaw8LOTpR/oL07G9HgZOOMqz2uBt9kxCH5jLrlJ1Y84i/C/55WpowqJVnvUnuNa1zWoPjrenL2Gas4nOLIfv/3WZINebXFXjxrDxBABPO/sttCJpSGw+4qEMPuKn211gPaTnYcx+wU71GhfRIyGG3sc2DhA3bSxllIpF74YhJW+7OVoOBpbNL+6G1j+YMExv6SwSUj0JPYCljAhE1JCR82c+PowYEMfQu5w8gE1+ALwTFw5aHw==
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=tgs8imh2O3/Qs4hf4jV1+sMvl95XSbIL9e+23/wUkfM=;
 b=I4f8bJe1ol+0r2sqT+DUotap7xEnYCCUKurSL9/M2SaAhCa3mG0gSv3uS+YLzcH0QNLivolqgHUAuUq1tdIdjM525P8j6eSx7m/iTb8Q3G5zLqmAZ/ZfKcv+YkqIbp5IJc1ekYwTLQqgu5VrnRPxJNunJ+hgzsVj5kM6DQnit2M=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 v3 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Topic: [PATCH v3 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Index: AQHaEuwcMi2uzYg9sUaekJ4uQMuKYLBx1QmAgAY1GYA=
Date: Mon, 13 Nov 2023 09:58:55 +0000
Message-ID: <7C92A577-716B-4D48-B685-3EA0C93AAF5C@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-4-luca.fancellu@arm.com>
 <bec276f9-ea9d-4c9f-887c-358a3f7815fd@amd.com>
In-Reply-To: <bec276f9-ea9d-4c9f-887c-358a3f7815fd@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM0PR08MB3745:EE_|AS2PR08MB8621:EE_|AM1PEPF000252DA:EE_|PAVPR08MB9796:EE_
X-MS-Office365-Filtering-Correlation-Id: 78d030b6-8bbe-4c6f-a11f-08dbe42f2bb0
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:
 6dCvgHYZp+JyV9Owt8v0laDvyvKZXkpiV522L3DBkOhARhHWXReraCF99AwpKChFLeyZBctRHHjmOcsTNHQ7i+NR002XPVaCeP/embGMDpCLCeSfEqYnM6rB02icW35yCzPG5KYKiPrPKYr0eJhKfZ69N/Mf6jbNhJB+DS841zPVFfJiHR3rIazrR5wCRC4hoacOfuwhBqk9rzqMSaWRSZRUQAQL8n4ZBhWteaegLpEFkc0vrRSUpYxhxSxxUHBHBH/5VLsiBPmdSA82ozVQi5+hSgswesn/wFr+10IGX1pFSeRqSvbjNa1uzXrLIQavIv+HaRwC7BvGmbLxdrRjnfJptkunB4XudnfUeUW4If+El/SlShjLCTzmO4lTdcWwGzHyEQ01WWZaSJS7brioEDvRTMlRwFLI/1CUHsKCkFrZY70jEU+JX1XJFChZ1AUg6M+ctLoPeGA8bJXstp0tO7bumT8E47Asi7UuR5DWw4XbvhjTKtSxGUE8DL9nkboPcS9hyTe1ZbC0ANYXx8cNn7k67KUVxFLVyQmRFkkbDWCPPy0jm5CIxnF4m0mJCEqD4OtoVukFwgFHFCkw0bkFAdYKw7pdhe2WJsKo8svrVL1JTUoneGIjAx8+curHBGCl8gNRpixnmjgqmKmDhScLVbSaRbINpJIS2DiuCa/uUBAE6x50LQVtuUKISeM/Rk9rDTrbbD4KVfZEjO7GdX2lSA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB3745.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(346002)(366004)(396003)(376002)(230273577357003)(230922051799003)(230173577357003)(64100799003)(1800799009)(451199024)(186009)(38100700002)(2616005)(83380400001)(122000001)(6512007)(26005)(6506007)(6486002)(478600001)(71200400001)(91956017)(66556008)(54906003)(76116006)(66476007)(66446008)(64756008)(66946007)(316002)(6916009)(33656002)(36756003)(41300700001)(8676002)(4326008)(8936002)(2906002)(38070700009)(86362001)(5660300002)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E8062A933341084C8453BBD8BB13FAB2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8621
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:
 AM1PEPF000252DA.eurprd07.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0a722d90-0167-47d0-81bb-08dbe42f262c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7T1HwPA2JZ1WXm/sRlBtSmokmc3SiOXhV8OENd7hBz96BWWHde1DP4DE7wEUe1ijPX+yAW4kUkzHrR2xmADsUv8FcoZJpZPk1ZK9c/pVmyBk1QrffHi/kHR3HKzgU4q9JGHjy70At4C+lEA6Q1YkPUnur6dW5uNrNeDfGveI88W7mlmLLvR5sVNDPGv6cuq6eRXsu9Yuui1Q7ZydwpZSX+MQzXWwLzcvdlvsJpbHHfHuOvn7asnncJttXu0oLo8cwkUkiJn6nsNXUFO1odQQ6VSqAOgCOvMuZ6Th+NGHZiGi/ntIZ83HoLQG9TWJ+7y+8M3RgNAcvrlAfTbqnhAD9etg3x149ZtwYVmUzjYTf+xB2eJ3OfzQq3n7c+noaL7vB5Vwr8hXoaNn29Za9VhGBKNNnSZWGghlhAcpjh6lxjHIUXIqLjXgr5uB+GhFHG1l9AoWS3cpIwZ3+/CoR4V9iqeA7v8Wb3YmIeDse6iIZs2IVO44vr76qyrL0cqm757ZKt69TaSyNpZ9xizcUaeuzvEvCnM6ali4ews0yRbmQn70S5NTNKNpwINHa9+9ewYW29bMsWFDvx+4MapyZxbMlsoLT84qkkJ8RF17IokhOqUR0zWEsNzyylbi9Ig6s3uLxoFBmrW39WqJKFNZYnPk7DDiTaUX35gBErEwbZ4QNWF9tQIfslFUROnoOBvbErI0YYBHrSrbybBATModIJ9DmXoj1Y9QtZ6SmbOVzF0Q4gC8xIy5D8AidmlkDM6TdEQP0l0bJCT5yXskXq5SmLriUxOUNbRy0CMJL/6V74oMCOo=
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:(13230031)(4636009)(39860400002)(346002)(376002)(396003)(136003)(230273577357003)(230173577357003)(230922051799003)(186009)(1800799009)(82310400011)(64100799003)(451199024)(36840700001)(46966006)(40470700004)(6486002)(478600001)(81166007)(36756003)(6506007)(356005)(336012)(107886003)(47076005)(33656002)(316002)(6512007)(70206006)(70586007)(54906003)(41300700001)(40480700001)(83380400001)(6862004)(4326008)(8676002)(8936002)(40460700003)(5660300002)(82740400003)(86362001)(2616005)(2906002)(26005)(36860700001)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 09:59:05.0180
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 78d030b6-8bbe-4c6f-a11f-08dbe42f2bb0
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:
	AM1PEPF000252DA.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9796

PiANCj4+IA0KPj4gVGhlIGZ1bmN0aW9ucyBhbGxvY2F0ZV9zdGF0aWNfbWVtb3J5IGFuZCBhc3Np
Z25fc3RhdGljX21lbW9yeV8xMQ0KPj4gYXJlIG5vdyBleHRlcm5hbGx5IHZpc2libGUsIHNvIHB1
dCB0aGVpciBkZWNsYXJhdGlvbnMgaW50bw0KPj4gZG9tYWluX2J1aWxkLmggYW5kIG1vdmUgdGhl
ICNlbHNlIGFuZCBzdHViIGRlZmluaXRpb24gaW4gdGhlIGhlYWRlcg0KPj4gYXMgd2VsbC4NCj4+
IA0KPj4gTW92ZSBpc19kb20wbGVzc19tb2RlIGZyb20gc2V0dXAuYyB0byBkb20wbGVzcy1idWls
ZC5jIGFuZCBtYWtlIGl0DQo+PiBleHRlcm5hbGx5IHZpc2libGUuDQo+PiANCj4+IFRoZSBmdW5j
dGlvbiBhbGxvY2F0ZV9iYW5rX21lbW9yeSBpcyB1c2VkIG9ubHkgYnkgZG9tMGxlc3MgY29kZQ0K
Pj4gYXQgdGhlIG1vbWVudCwgYnV0IGl0J3MgYmVlbiBkZWNpZGVkIHRvIGxlYXZlIGl0IGluIGRv
bWFpbl9idWlsZC5jDQo+PiBpbiBjYXNlIHRoYXQgaW4gdGhlIGZ1dHVyZSB0aGUgZG9tMCBjb2Rl
IGNhbiB1c2UgaXQuDQo+PiANCj4+IFdoZXJlIHNwb3R0ZWQsIGZpeCBjb2RlIHN0eWxlIGlzc3Vl
cy4NCj4+IA0KPj4gTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaXMgaW50ZW5kZWQuDQo+PiANCj4+IFNp
Z25lZC1vZmYtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNvbT4NCj4+IC0t
LQ0KPj4gQ2hhbmdlcyBmcm9tIHYyOg0KPj4gLSBtb3ZlIGFsbG9jYXRlX2JhbmtfbWVtb3J5IGJh
Y2sgaW4gZG9tYWluX2J1aWxkLmMsIHJlbW92ZSBoZWFkZXINCj4+ICAgZnJvbSBkb20wbGVzcy1i
dWlsZC5jLg0KPiBJIGNhbiBzZWUgeW91IHJlbW92ZWQgdGhlIGNvcHlyaWdodCBmcm9tIC5jIGJ1
dCAuaCBzdGlsbCBoYXMgaXQuIFRoaXMgYWxzbw0KPiBhcHBsaWVzIHRvIG90aGVyIG5ld2x5IGlu
dHJvZHVjZWQgZmlsZXMgdGhhdCB3ZXJlIHN1YmplY3Qgb25seSB0byBjb2RlIG1vdmVtZW50Lg0K
DQpJ4oCZdmUganVzdCByZWFkIGFnYWluIHlvdXIgY29tbWVudCwgSSBwdXNoZWQgdGhlIHY0IGJ1
dCByZW1vdmluZyB0aGUgaGVhZGVyIG9ubHkgZnJvbQ0KZG9tMGxlc3MtYnVpbGQuaC4NCkkgbGVm
dCB0aGUgaGVhZGVyIGluIHRoZSBvdGhlciBzdGF0aWMtKiBiZWNhdXNlIHRoYXQgSSB0aGluayB3
YXMgY29kZSBwcm9kdWNlZCBieSBBcm0sDQpwbGVhc2UgbGV0IG1lIGtub3cgeW91ciB0aG91Z2h0
cyBhYm91dCB0aGF0ICh5b3UgYW5kIHRoZSBBcm0gbWFpbnRhaW5lcnMpDQoNCkNoZWVycywNCkx1
Y2ENCg0K


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 10:21:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 10:21:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631485.984838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2U3Z-0004pR-O1; Mon, 13 Nov 2023 10:20:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631485.984838; Mon, 13 Nov 2023 10:20: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 1r2U3Z-0004o9-HU; Mon, 13 Nov 2023 10:20:37 +0000
Received: by outflank-mailman (input) for mailman id 631485;
 Mon, 13 Nov 2023 10:20: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 1r2U3X-0004nl-UA; Mon, 13 Nov 2023 10:20: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 1r2U3X-0001ae-Mz; Mon, 13 Nov 2023 10:20:35 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r2U3X-0001ZF-Gm; Mon, 13 Nov 2023 10:20: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=GgpZcqVZUu8EhXUGgfmmX5XFE1PP/9s/CPuFKVP/9XE=; b=BumTM/zxWImsBVT66e3x1W2fo+
	CADKradiVQnUJMqAzGCyLnJSk8H11C3TZtkVNWcdQJbgiT7ZO1XNtzVWE00ALomi+kcklahVsYxr4
	ABImE/obJx1G5aRRg/KkDxlDHRR99S9pbW44yYH3K0N6stGsofcWku9Va4xTSXWlBALw=;
Message-ID: <35421335-ae20-41d7-bacc-5f4a60327e9a@xen.org>
Date: Mon, 13 Nov 2023 10:20:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
 <9d75d794-a333-792a-786c-064d35910980@suse.com>
 <7265e418-6c40-47ea-97a7-bcf3c2e61cf7@xen.org>
 <e70d9b85-00fa-3d7e-8c0a-d463cf0e0c74@suse.com>
 <c25eb77a-9a15-4450-80dc-0d9e2e79c858@xen.org>
 <53d3435f-f021-edf2-3b90-9ea8f1784725@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <53d3435f-f021-edf2-3b90-9ea8f1784725@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 13/11/2023 09:28, Jan Beulich wrote:
> On 13.11.2023 10:12, Julien Grall wrote:
>>
>>
>> On 13/11/2023 07:37, Jan Beulich wrote:
>>> On 10.11.2023 18:38, Julien Grall wrote:
>>>> Hi Jan,
>>>>
>>>> On 10/11/2023 12:44, Jan Beulich wrote:
>>>>> On 10.11.2023 13:23, Roger Pau Monné wrote:
>>>>>> On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
>>>>>>> Get the own domid via creation of a temporary event channel. There is
>>>>>>> no "official" way to read the own domid in PV guests, so use the event
>>>>>>> channel interface to get it:
>>>>>>>
>>>>>>> - allocate an unbound event channel specifying DOMID_SELF for the
>>>>>>>      other end
>>>>>>>
>>>>>>> - read the event channel status which will contain the own domid in
>>>>>>>      unbound.dom
>>>>>>>
>>>>>>> - close the event channel
>>>>>>
>>>>>> Should we look into introducing a way to expose the domid, so that in
>>>>>> the future we might not need to resort to this workarounds to get the
>>>>>> domid?
>>>>>>
>>>>>> Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
>>>>>> a non-HVM specific leaf when it was made available to HVM for pvshim
>>>>>> reasons.
>>>>>
>>>>> Couldn't we retroactively generalize the type-agnostic parts of that
>>>>> leaf?
>>>>
>>>> This would only work for x86. I think we want to have a generic
>>>> hypercalls so it can be used by all arch.
>>>
>>> Hmm, yes, perhaps. Otoh it would seem desirable to me if arch-es also
>>> provided some extension to an arch-natural way of feature detection
>>> (which CPUID is on x86), without the need to invoke any hypercalls.
>>
>> For Arm, I can't really think of anything other than hvc/smc which are
>> used for calls to the hypervisor/monitor (so basically hypercalls).
>>
>> Please suggest if you have a better idea.
> 
> I don't know enough Arm to properly suggest something. Arm64 has various
> id_* system registers, so I would be wondering whether having a properly
> virtual one reserved in system register space couldn't do the trick.

AFAIK there are none available. But if such exists, then I don't see how 
that would suit with my requests to have an arch-agnostic approach.

Each architecture would need to have to provide a way to expose those 
values. At which point, why not using hypercall? What's wrong with it?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 10:27:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 10:27:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631491.984848 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2U9u-0000Mg-7N; Mon, 13 Nov 2023 10:27:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631491.984848; Mon, 13 Nov 2023 10:27: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 1r2U9u-0000MZ-4K; Mon, 13 Nov 2023 10:27:10 +0000
Received: by outflank-mailman (input) for mailman id 631491;
 Mon, 13 Nov 2023 10:27: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2U9t-0000L4-A0
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 10:27:09 +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 318bcc47-820f-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 11:27:06 +0100 (CET)
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 C161E218FA;
 Mon, 13 Nov 2023 10:27: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 8D5681358C;
 Mon, 13 Nov 2023 10:27:02 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EYAVIfb5UWW3KgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 10:27: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: 318bcc47-820f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699871222; 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:autocrypt:autocrypt;
	bh=v+/nvteBuYFi59fjIzi9qH0wrwAF1apYeSpDzlXuOIA=;
	b=mhk+82DKupJf92MJubXPaJHo8rs7HI3qCvS0WTp6SEXNJVqSibzWCNMPLDwk9Z8Zn0ndyn
	2vbLO5DoqpbTCksTf661KTLzTFXXeQ3Vvv7SwuIOhVVFl/2uBusYzyn8mwOgnQoRd9dh/G
	MjEUsKgwJQw9JqAvsv23WlzpjP8dYjM=
Message-ID: <9b45b52e-498a-42fd-ae11-710521d1dead@suse.com>
Date: Mon, 13 Nov 2023 11:27:01 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 21/29] tools/xenstored: add early_init() function
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-22-jgross@suse.com>
 <adc25dc4-9ba6-41d4-87a0-cf6ad5777b1f@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <adc25dc4-9ba6-41d4-87a0-cf6ad5777b1f@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------azc5D8RBkiIFvuRnG21WIadq"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------azc5D8RBkiIFvuRnG21WIadq
Content-Type: multipart/mixed; boundary="------------lUjC1jv8J3Km3wJpSTtV0bqp";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Message-ID: <9b45b52e-498a-42fd-ae11-710521d1dead@suse.com>
Subject: Re: [PATCH v2 21/29] tools/xenstored: add early_init() function
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-22-jgross@suse.com>
 <adc25dc4-9ba6-41d4-87a0-cf6ad5777b1f@xen.org>
In-Reply-To: <adc25dc4-9ba6-41d4-87a0-cf6ad5777b1f@xen.org>

--------------lUjC1jv8J3Km3wJpSTtV0bqp
Content-Type: multipart/mixed; boundary="------------vQIG14DFIA7jhynAa0TmL0OH"

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

T24gMTAuMTEuMjMgMTg6MzEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEwLzExLzIwMjMgMTY6MDcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBT
b21lIHhlbnN0b3JlZCBpbml0aWFsaXphdGlvbiBuZWVkcyB0byBiZSBkb25lIGluIHRoZSBk
YWVtb24gY2FzZSBvbmx5LA0KPj4gc28gc3BsaXQgaXQgb3V0IGludG8gYSBuZXcgZWFybHlf
aW5pdCgpIGZ1bmN0aW9uIGJlaW5nIGEgc3R1YiBpbiB0aGUNCj4+IHN0dWJkb20gY2FzZS4N
Cj4gDQo+IEl0IGlzIG5vdCBlbnRpcmVseSBjbGVhciB0byBtZSBob3cgeW91IGRlY2lkZWQg
dGhlIHNwbGl0LiBGb3IgZXhhbXBsZS4uLg0KPiANCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBK
dWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+PiBSZXZpZXdlZC1ieTogSmFzb24g
QW5kcnl1ayA8amFuZHJ5dWtAZ21haWwuY29tPg0KPj4gLS0tDQo+PiBWMjoNCj4+IC0gcmVu
YW1lIGZ1bmN0aW9uDQo+PiAtIG1vdmUgcGF0Y2ggZWFybGllciBpbiB0aGUgc2VyaWVzDQo+
PiAtLS0NCj4+IMKgIHRvb2xzL3hlbnN0b3JlZC9jb3JlLmPCoMKgIHzCoCA2ICstLS0tLQ0K
Pj4gwqAgdG9vbHMveGVuc3RvcmVkL2NvcmUuaMKgwqAgfMKgIDMgKysrDQo+PiDCoCB0b29s
cy94ZW5zdG9yZWQvbWluaW9zLmMgfMKgIDMgKysrDQo+PiDCoCB0b29scy94ZW5zdG9yZWQv
cG9zaXguY8KgIHwgMTEgKysrKysrKysrKysNCj4+IMKgIDQgZmlsZXMgY2hhbmdlZCwgMTgg
aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvdG9v
bHMveGVuc3RvcmVkL2NvcmUuYyBiL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMNCj4+IGluZGV4
IGVkZDA3NzExZGIuLjBjMTQ4MjNmYjAgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5zdG9y
ZWQvY29yZS5jDQo+PiArKysgYi90b29scy94ZW5zdG9yZWQvY29yZS5jDQo+PiBAQCAtMjkz
MywxMSArMjkzMyw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQo+PiDC
oMKgwqDCoMKgIGlmIChvcHRpbmQgIT0gYXJnYykNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBi
YXJmKCIlczogTm8gYXJndW1lbnRzIGRlc2lyZWQiLCBhcmd2WzBdKTsNCj4+IC3CoMKgwqAg
cmVvcGVuX2xvZygpOw0KPj4gLQ0KPj4gLcKgwqDCoCAvKiBNYWtlIHN1cmUgeGVuc3RvcmVk
IGRpcmVjdG9yeSBleGlzdHMuICovDQo+PiAtwqDCoMKgIC8qIEVycm9ycyBpZ25vcmVkIGhl
cmUsIHdpbGwgYmUgcmVwb3J0ZWQgd2hlbiB3ZSBvcGVuIGZpbGVzICovDQo+PiAtwqDCoMKg
IG1rZGlyKHhlbnN0b3JlX2RhZW1vbl9ydW5kaXIoKSwgMDc1NSk7DQo+PiArwqDCoMKgIGVh
cmx5X2luaXQoKTsNCj4+IMKgwqDCoMKgwqAgaWYgKGRvZm9yaykgew0KPj4gwqDCoMKgwqDC
oMKgwqDCoMKgIG9wZW5sb2coInhlbnN0b3JlZCIsIDAsIExPR19EQUVNT04pOw0KPiANCj4g
Rm9yIHN0dWJkb20gd2Ugd291bGQgbm90IGZvcmssIHNvIEkgd291bGQgZXhwZWN0IHRoZSBj
YWxsIHRvIG9wZW5sb2coKSBub3QgDQo+IG5lY2Vzc2FyeS4gU2FtZSBmb3IgdGhlIGluaXRf
cGlwZSgpIGJlbG93Lg0KDQpUaGUgbWFpbiBnb2FsIHdhcyB0byBtb3ZlIHRoZSAibWtkaXIo
eGVuc3RvcmVfZGFlbW9uX3J1bmRpcigpLCAwNzU1KTsiIG91dCBvZg0KdGhlIHdheSBmb3Ig
c3R1YmRvbS4NCg0KSSdsbCBtYWtlIHRoaXMgbW9yZSBjbGVhciBpbiB0aGUgY29tbWl0IG1l
c3NhZ2UsIC4uLg0KDQo+IA0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC9jb3Jl
LmggYi90b29scy94ZW5zdG9yZWQvY29yZS5oDQo+PiBpbmRleCA0ODBiMGY1ZjdiLi5kMGFj
NTg3ZjhmIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMveGVuc3RvcmVkL2NvcmUuaA0KPj4gKysr
IGIvdG9vbHMveGVuc3RvcmVkL2NvcmUuaA0KPj4gQEAgLTM1LDYgKzM1LDggQEANCj4+IMKg
ICNpbmNsdWRlICJsaXN0LmgiDQo+PiDCoCAjaW5jbHVkZSAiaGFzaHRhYmxlLmgiDQo+PiAr
I2RlZmluZSBYRU5TVE9SRV9MSUJfRElSwqDCoMKgIFhFTl9MSUJfRElSICIveGVuc3RvcmUi
DQo+PiArDQo+PiDCoCAjaWZuZGVmIE9fQ0xPRVhFQw0KPj4gwqAgI2RlZmluZSBPX0NMT0VY
RUMgMA0KPj4gwqAgLyogT19DTE9FWEVDIHN1cHBvcnQgaXMgbmVlZGVkIGZvciBMaXZlIFVw
ZGF0ZSBpbiB0aGUgZGFlbW9uIGNhc2UuICovDQo+PiBAQCAtMzg0LDYgKzM4Niw3IEBAIHN0
YXRpYyBpbmxpbmUgYm9vbCBkb21haW5faXNfdW5wcml2aWxlZ2VkKGNvbnN0IHN0cnVjdCAN
Cj4+IGNvbm5lY3Rpb24gKmNvbm4pDQo+PiDCoCAvKiBSZXR1cm4gdGhlIGV2ZW50IGNoYW5u
ZWwgdXNlZCBieSB4ZW5idXMuICovDQo+PiDCoCBldnRjaG5fcG9ydF90IGdldF94ZW5idXNf
ZXZ0Y2huKHZvaWQpOw0KPj4gK3ZvaWQgZWFybHlfaW5pdCh2b2lkKTsNCj4+IMKgIC8qIFdy
aXRlIG91dCB0aGUgcGlkZmlsZSAqLw0KPj4gwqAgdm9pZCB3cml0ZV9waWRmaWxlKGNvbnN0
IGNoYXIgKnBpZGZpbGUpOw0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC9taW5p
b3MuYyBiL3Rvb2xzL3hlbnN0b3JlZC9taW5pb3MuYw0KPj4gaW5kZXggMDc3OWVmYmY5MS4u
MGNkZWMzYWU1MSAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL3hlbnN0b3JlZC9taW5pb3MuYw0K
Pj4gKysrIGIvdG9vbHMveGVuc3RvcmVkL21pbmlvcy5jDQo+PiBAQCAtNTQsMyArNTQsNiBA
QCB2b2lkIHVubWFwX3hlbmJ1cyh2b2lkICppbnRlcmZhY2UpDQo+PiDCoMKgwqDCoMKgIHhl
bmdudHRhYl91bm1hcCgqeGd0X2hhbmRsZSwgaW50ZXJmYWNlLCAxKTsNCj4+IMKgIH0NCj4+
ICt2b2lkIGVhcmx5X2luaXQodm9pZCkNCj4+ICt7DQo+PiArfQ0KPj4gZGlmZiAtLWdpdCBh
L3Rvb2xzL3hlbnN0b3JlZC9wb3NpeC5jIGIvdG9vbHMveGVuc3RvcmVkL3Bvc2l4LmMNCj4+
IGluZGV4IDdlMDNkZDk4MmQuLmZjYjc3OTFiZDcgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94
ZW5zdG9yZWQvcG9zaXguYw0KPj4gKysrIGIvdG9vbHMveGVuc3RvcmVkL3Bvc2l4LmMNCj4+
IEBAIC0yMiw2ICsyMiw3IEBADQo+PiDCoCAjaW5jbHVkZSA8ZmNudGwuaD4NCj4+IMKgICNp
bmNsdWRlIDxzdGRsaWIuaD4NCj4+IMKgICNpbmNsdWRlIDxzeXMvbW1hbi5oPg0KPj4gKyNp
bmNsdWRlIDx4ZW4tdG9vbHMveGVuc3RvcmUtY29tbW9uLmg+DQo+PiDCoCAjaW5jbHVkZSAi
dXRpbHMuaCINCj4+IMKgICNpbmNsdWRlICJjb3JlLmgiDQo+PiBAQCAtMTU3LDMgKzE1OCwx
MyBAQCB2b2lkICp4ZW5idXNfbWFwKHZvaWQpDQo+PiDCoMKgwqDCoMKgIHJldHVybiBhZGRy
Ow0KPj4gwqAgfQ0KPj4gKw0KPj4gK3ZvaWQgZWFybHlfaW5pdCh2b2lkKQ0KPj4gK3sNCj4+
ICvCoMKgwqAgcmVvcGVuX2xvZygpOw0KPj4gKw0KPj4gK8KgwqDCoCAvKiBNYWtlIHN1cmUg
eGVuc3RvcmVkIGRpcmVjdG9yaWVzIGV4aXN0LiAqLw0KPj4gK8KgwqDCoCAvKiBFcnJvcnMg
aWdub3JlZCBoZXJlLCB3aWxsIGJlIHJlcG9ydGVkIHdoZW4gd2Ugb3BlbiBmaWxlcyAqLw0K
Pj4gK8KgwqDCoCBta2Rpcih4ZW5zdG9yZV9kYWVtb25fcnVuZGlyKCksIDA3NTUpOw0KPj4g
K8KgwqDCoCBta2RpcihYRU5TVE9SRV9MSUJfRElSLCAwNzU1KTsNCj4gDQo+IFRoZSBhZGRp
dGlvbiBvZiB0aGUgc2Vjb25kIG1rZGlyKCkgZG9lc24ndCBzZWVtIHRvIGJlIGV4cGxhaW5l
ZCBpbiB0aGUgY29tbWl0IA0KPiBtZXNzYWdlLg0KDQouLi4gbW92aW5nIHRoaXMgY2hhbmdl
IGludG8gY29udGV4dC4NCg0KSSdsbCBsb29rIGludG8gbW92aW5nIG1vcmUgbm9uLXN0dWJk
b20gZnVuY3Rpb24gY2FsbHMgaW50byBlYXJseV9pbml0KCkgaW4NCnBvc2l4LmMuDQoNCg0K
SnVlcmdlbg0K
--------------vQIG14DFIA7jhynAa0TmL0OH
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-----

--------------vQIG14DFIA7jhynAa0TmL0OH--

--------------lUjC1jv8J3Km3wJpSTtV0bqp--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVR+fYFAwAAAAAACgkQsN6d1ii/Ey8m
DAf/bG+zdvRNFMCUVL6r5SU3Yy1YWinVfv3FfGGvi5IrjhnDok3V10vfzNnNs5hz5zKShnVI6Bk+
Hcwkt+KFCIY+jOOYAYXhunWIfOz7+08DIE/IVZt6bL7VdEnkfw5uCdGLrei+KV7Eaovie8ZKuYYj
4NG5wbM7pbwQvOA23z5QNyFr0HflKtDLq3IZMklzWKpaDVLzUzmB+R7vAXItnlUjZQ9PiHMYenx+
nNIhq5MNas1XdCyvW2nvBhNZiRFrkeW+zCS5FQkQi+36m27GleH3+4yRYjHj/VE6HzNpXig+DOXD
1kPCrIrnPLM2mzSMDnZ46evyXpgPiFzfBHN2JWVmfg==
=/9co
-----END PGP SIGNATURE-----

--------------azc5D8RBkiIFvuRnG21WIadq--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 10:35:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 10:35:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631496.984862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2UHR-0003Q6-0f; Mon, 13 Nov 2023 10:34:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631496.984862; Mon, 13 Nov 2023 10:34: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 1r2UHQ-0003Pz-U4; Mon, 13 Nov 2023 10:34:56 +0000
Received: by outflank-mailman (input) for mailman id 631496;
 Mon, 13 Nov 2023 10:34: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2UHP-0003O5-HN
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 10:34:55 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47e698bb-8210-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 11:34:53 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8936.eurprd04.prod.outlook.com (2603:10a6:10:2e3::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 10:34:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 10:34: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: 47e698bb-8210-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nOQRAtuI0cWl67wM5Pcr/fAHLZ9nn/hF8vZ3ccyLSnIxemZHubYFPvLQo5oEwdmgLgAm65BEoopmed4F1yPUZMycQ04eqP6eh+vYt3sJXT0AwUKw8sH7gzIKJ3R1nyZCuVFOWMVnqrP5J9dBrQuK2tEM3gjDEVlnd0Nw6j5D9aWJte9sirjgKQn2PI/yWfRfm1Y/NlJspg3ic9T6DF/TR7q4qqt/lYsCoMIZhvGE+tj5PD50ORyVr/L8DN7ba23etfVBYJevni9slfQ4a+t+iCSKj6Dn7RvNYFDxzcUF0A9Z5EqysoMq2Kx+wf8z4FWsJMo8z/jRle33h13XTYgrqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fwso1ff1s3HdaJH8t7lb+fKDX8RR0AK6VBDhCoizYMU=;
 b=OUnO5bt9XxMQPULSBbZCohgvH0bqFIo0Mq+MMHntWL5o3phgwf2q4DIzqPzSZt2VbQBKhGBAzkq8AYHvnej5rRSP0/uBr251OpVgIdpYaPz+aRWj4FVGuKU25CbzYJbTJFiNBdIErl5u2rwT8tChf6SQm6KV6oA61yqbyw7p9OI/Wvc+TQ62h/xRT070kJftma5pv6HOwBheNjvMDizgZNa4exRNkoxaSAUPXd2py9/QvIlD3OWuA72ZaMEq1im/u5fc2OObOIZQfxq1zWrVrF0ok6QLhhbCZFyEeIERUd5Ct4fOeq3xqliXsF0N04x5Fi9W5oZitP965Qs3nte+/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=Fwso1ff1s3HdaJH8t7lb+fKDX8RR0AK6VBDhCoizYMU=;
 b=P728983ZS/JhR57lfyKggWVF3KoRxqQQaFgkzZgKiv11+1HFdcmiyTGuyho9dm7MVyGGcRjfm3/YXLo3uWZP316KfHPYiB3kRlN6IrFZqH6l+SmVJuDsAaX3XELAn4z1HeOBUrVxBfsIX4HHTglDtQ7Upu0Hu6QwZzdly7JaGom0azkcH4GiaD4SfxXs/z9rUMbErl+Y29s80Y0pG0wMVBF3oDGCLDNH0S/0lL8iCa+c0wAQpP/Ob2GrvcqvLjF/jsmdcL21VDdD2MPyD2dS3Vsh7yHhFmNcb5OROk/FWk44W3ZjNl/uLimFvsUPXa+RHi4v6QLvgUXqw7ZwXK4jcg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <41f4b8b3-4a4f-9fcf-516c-8051a8a64e70@suse.com>
Date: Mon, 13 Nov 2023 11:34:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
 <9d75d794-a333-792a-786c-064d35910980@suse.com>
 <7265e418-6c40-47ea-97a7-bcf3c2e61cf7@xen.org>
 <e70d9b85-00fa-3d7e-8c0a-d463cf0e0c74@suse.com>
 <c25eb77a-9a15-4450-80dc-0d9e2e79c858@xen.org>
 <53d3435f-f021-edf2-3b90-9ea8f1784725@suse.com>
 <35421335-ae20-41d7-bacc-5f4a60327e9a@xen.org>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <35421335-ae20-41d7-bacc-5f4a60327e9a@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0193.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ca::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8936:EE_
X-MS-Office365-Filtering-Correlation-Id: 20620b53-595d-452f-0003-08dbe4342a4b
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:
	63DLPIMjNnjHwdkXkeMzc63YfwyxpK/IBjFbbMcbXlKPExqaEHFjd0M/dQEBEA7oq84+YRekWxOJJeRnoOKGfOXIB/ytwU6gPeZf32Mp4+PAEmN4EJhXy8FDxTsLSQSVGyJ8FL3NUBuPjOfjVzur2I8+w8yETOXCHMTVI1Jd1zfPaguTWkZ8FhzEDl4ycGQ51pmLLoRuiMd64A1RUQqsvGy8li3dzjTvQ/TSJ4O7fNiKEhAxl0crXyQu1RC2YpG6+hPtsaWoknNk1F9cSEhOW/1+WCk6+D4c9EWBhiiJso/gqOE8nYxnLF5XJtJy0h1ANQ+hkRNMUVjH1keLX+biVPECGrLw+gQbahHg0FU8IpBKU5Wi9cDHfQk3e3c8VhiY4nM56ffirCegcf0SJDapxx/Zz0Il/lt3GDmPdEsLumjtM+O+ixCiDpAMgfBZ0Fz/akBuQ0A7rLVf4v/YT5gx3ISrQPoo8/l5LM5NXS6uZh3RQ62DJthXQ38etE7MBmDtY9Jcyc+YACJelHrV98NaSK98gB7uABUevfpmfAzcgvzN5omSIc+1R2ie3m7i9anV7ad/2wDAVnX8LsDtbIQF+RfReJvRhc025vyQobLwzCznUi53jquKKNeximlJisEp8UA7fSa2sZ+rkvk4nmo7vA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39850400004)(346002)(366004)(376002)(396003)(136003)(230922051799003)(1800799009)(64100799003)(186009)(451199024)(26005)(2616005)(53546011)(6506007)(6512007)(83380400001)(5660300002)(4326008)(8676002)(8936002)(41300700001)(2906002)(6486002)(478600001)(316002)(6916009)(54906003)(66476007)(66556008)(66946007)(36756003)(31696002)(86362001)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QWZHaDZyM21YelNuQjV2WXM2bnVNeDNQN1prbWIycXZWaGhaRTA4ZXF6UTVB?=
 =?utf-8?B?Ui9SZVV2S2ZhZnA2UEhXSGt5VUxMUnF0bEFKU3I5UGxCakxXQzlaWmVMcGVs?=
 =?utf-8?B?NGJOdWVkWHpwRmd4YXNjTkMwditLeHk4ek81THZaR0k2eEFjVDFzYnZIVkha?=
 =?utf-8?B?Z0lYRmdFa3QwdVNKcjF6WVJ0dFJpeVQzdWdtUDN5RzZaSXV2WmhnQlQxcnpu?=
 =?utf-8?B?NnNreGtvZ05xTmlldDBmdk5TWHRBZk1lb0FpZVRJa092cDE3d0F0Qkp1K2pp?=
 =?utf-8?B?T1o0STY4Rk1ZSDlWek5wRXZMSnhMWFJxZzg3TnM3RWFxemVrVnRDWWc2NEFT?=
 =?utf-8?B?MGtRL1d4bEdKalRKQTJSS2JhT3dkR2Fkd1FONGYyUmJuK2JHejNESUtMeFBG?=
 =?utf-8?B?b05tMG43TW5qVUh6V211L2hXajIxSHdGOUpGQldkU01qVERqQUtSTmI5djRM?=
 =?utf-8?B?dzB1SitqL2tGZG5TUkFMWXowSTZGdFhaQjQvaG4xSGRCNm83bncxenlmUWg0?=
 =?utf-8?B?S0d1Z2F1aC96VjVVNEd6RjFKMkJSeUhka1ZNdVZoR1JlRzlWdVNHeWc3WXlT?=
 =?utf-8?B?Z01uYXZVem94cmRzeGFYbXZiVnRDL0J1NGtteU55VmNabGZpaXRVL0dESUln?=
 =?utf-8?B?Nk9aM1YvbFN5bkZPMjNTTXYvMGxpNGtjQm1KeWFEWGlPcFEzelpmY0g5ZTdE?=
 =?utf-8?B?RHAwdENQWnVKM0s5clZYaHVSSnhCaEhTcmdhbDVETHY4dDJjaVVOV2tONVZQ?=
 =?utf-8?B?aGRoYlhJTFR3VjBiM1V5Qy9tUWNZVnMzY3IvRDVjUEdIVUZWR0YyZjJPemRT?=
 =?utf-8?B?TFRHVGt5R1l4R21UYitlWEplSlJDdDRWdDlpTlFBLy9xUHFjS0xLSDV1Q3F5?=
 =?utf-8?B?SFVwNFNNOVhFa0szbm42dWlZeWJEUFNzL0lLcWhBd21wZmt1ek9iUXNlb3Yz?=
 =?utf-8?B?Vm9KR3VlZTg1Y29VNHNkQnlvZzdGTHcveWR5WjBnUnVFVXRvUGRJNUFoZnd5?=
 =?utf-8?B?TjBmMWoybjNkd2dWYzZlVW0yc1RyL1RsdjE1N0pyOGJhWm9wNjhCV2MvUjRN?=
 =?utf-8?B?NHowUGVLeUZST2M0VUU3TktRNFJhcUt6dko1dTBRTGdSS2ZsYXlmZ0xHNWdG?=
 =?utf-8?B?V0JSakRybG9ZM3htVFUvT2xQbUZNSEU2RFJJa3EyQm5neXN1WUpIYktRT0dL?=
 =?utf-8?B?WXk4STloSjNDWlFvNURDbW9SSnN3WkU3NEc4Zkw2OTEvbTE1TWwvajArYzlL?=
 =?utf-8?B?VWZDL0N3Nnd4aEFvejFsVkoxeFo2WHNIczZ6TGpMbldpTkJES09vck4ydThx?=
 =?utf-8?B?TmpndkoxdU5oMFhkLzVld2dGNDNnRHo5L1RTU0VsRDZFNTRUdGUzOXFNajJ6?=
 =?utf-8?B?dEE5YStFa1J6UWowa3R5am9NUFZOaDdQTHJQaDdyajhNOHVBbnNFV3dqMzI2?=
 =?utf-8?B?czl3RDB1blFoQkthTGFSOXpKVHF0V1pBbzZTZXRGTTN6emtkM0JMN1JJNXly?=
 =?utf-8?B?ZS9PQTRIeW51elJsWVhXVGZKVzJNNnljbDh4VGhVT2xZbFZhTjdXdDVBRXNu?=
 =?utf-8?B?UkxhRXBqTUFKdTNQWWNob1VvT0dkL2l6NlRLemI5MFo5OGYvdEJYaWFoVFdu?=
 =?utf-8?B?N2lJS2FndjBpYjdWdE91dzZmck1Nendjb25hSy85WjNlVmxXcDB6eEYzSmx5?=
 =?utf-8?B?NEp5NFI2R0FsRy9mVUJBQVpUY3FLbzhQVVhIaU9UTmNzVXFiL0NFUkxVOHNS?=
 =?utf-8?B?K0Zza0R3MlorRm9MV2liTVNaVmlmVGZJT0hIbnNhbzY2YlgxS05oTG5aU280?=
 =?utf-8?B?UTkrUXdWZE5vUW9zR3hSdUhocERQWnBiREY5UnQxUmU5emNLeGZyUnpSeTQv?=
 =?utf-8?B?aC9JMWx2NElDSDg3d3dQZDlTNTRvd1pwMmoxd3g3RTFXemw5SzQxUTNtRjJ1?=
 =?utf-8?B?aHNXUnJiQVhjYW5kZytud1lPQmF1WjNiNUFsNVBkeEVCd1dtZ3lKdHJTOG1B?=
 =?utf-8?B?NDk1VmdRNUExdlVYdnB1Vi9GL2JQT0pURlRWNFdsd2VIbUF4cVNLOTZuRllm?=
 =?utf-8?B?eEJvZVU5OFAydlRBdFl1blFmYWZ2ZEFEVkptei85SWIvMDNqWFllRUdJMHdy?=
 =?utf-8?Q?ay64Oqo91nM1aiicy7YzoWiwN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 20620b53-595d-452f-0003-08dbe4342a4b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 10:34:50.3543
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZTCrR1GLDOP3MfExR7HhdiFJkW2kDrcyWWbHK5McfNLiXYP7sZkJ92rCU54hq8A8BDSJF1RSM2JIaNk7ZwNoSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8936

On 13.11.2023 11:20, Julien Grall wrote:
> Hi,
> 
> On 13/11/2023 09:28, Jan Beulich wrote:
>> On 13.11.2023 10:12, Julien Grall wrote:
>>>
>>>
>>> On 13/11/2023 07:37, Jan Beulich wrote:
>>>> On 10.11.2023 18:38, Julien Grall wrote:
>>>>> Hi Jan,
>>>>>
>>>>> On 10/11/2023 12:44, Jan Beulich wrote:
>>>>>> On 10.11.2023 13:23, Roger Pau Monné wrote:
>>>>>>> On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
>>>>>>>> Get the own domid via creation of a temporary event channel. There is
>>>>>>>> no "official" way to read the own domid in PV guests, so use the event
>>>>>>>> channel interface to get it:
>>>>>>>>
>>>>>>>> - allocate an unbound event channel specifying DOMID_SELF for the
>>>>>>>>      other end
>>>>>>>>
>>>>>>>> - read the event channel status which will contain the own domid in
>>>>>>>>      unbound.dom
>>>>>>>>
>>>>>>>> - close the event channel
>>>>>>>
>>>>>>> Should we look into introducing a way to expose the domid, so that in
>>>>>>> the future we might not need to resort to this workarounds to get the
>>>>>>> domid?
>>>>>>>
>>>>>>> Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
>>>>>>> a non-HVM specific leaf when it was made available to HVM for pvshim
>>>>>>> reasons.
>>>>>>
>>>>>> Couldn't we retroactively generalize the type-agnostic parts of that
>>>>>> leaf?
>>>>>
>>>>> This would only work for x86. I think we want to have a generic
>>>>> hypercalls so it can be used by all arch.
>>>>
>>>> Hmm, yes, perhaps. Otoh it would seem desirable to me if arch-es also
>>>> provided some extension to an arch-natural way of feature detection
>>>> (which CPUID is on x86), without the need to invoke any hypercalls.
>>>
>>> For Arm, I can't really think of anything other than hvc/smc which are
>>> used for calls to the hypervisor/monitor (so basically hypercalls).
>>>
>>> Please suggest if you have a better idea.
>>
>> I don't know enough Arm to properly suggest something. Arm64 has various
>> id_* system registers, so I would be wondering whether having a properly
>> virtual one reserved in system register space couldn't do the trick.
> 
> AFAIK there are none available. But if such exists, then I don't see how 
> that would suit with my requests to have an arch-agnostic approach.
> 
> Each architecture would need to have to provide a way to expose those 
> values.

Right. Just like hardware of each architecture also surfaces its
capabilities in architecture-specific ways.

> At which point, why not using hypercall? What's wrong with it?

There's nothing "wrong" with hypercalls, they're just less natural to use
in certain cases. Plus of course using them may require setup inside the
guest.

I'm tempted to ask a counter question: Do you consider it a mistake that
on x86 certain capability information is surfaced as CPUID data?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 10:38:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 10:38:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631504.984876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2UL9-0006eM-Lr; Mon, 13 Nov 2023 10:38:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631504.984876; Mon, 13 Nov 2023 10:38: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 1r2UL9-0006eA-IK; Mon, 13 Nov 2023 10:38:47 +0000
Received: by outflank-mailman (input) for mailman id 631504;
 Mon, 13 Nov 2023 10:38: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 1r2UL8-0006dj-4l; Mon, 13 Nov 2023 10:38: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 1r2UL7-0002AJ-VF; Mon, 13 Nov 2023 10:38:45 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r2UL7-0002Lv-P6; Mon, 13 Nov 2023 10:38: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=KfEP/hvhzA9ci3n3FgecujH8LRiJInjoG5KlX6N1Jis=; b=1pDrc1gEzv16o+LORVETYaF2L9
	JMQiQGvL5ZMLhMeJvAAQjnqC1ppDdH4sG5SqPd06nrXYn4FfTQSyFkpSwauR4zqZ3a0RlqYD846Rb
	WtSDu+t+fhyQ9/AWRWuz4thQsMAjrQwfyXoda/NX4L4R+d/M64sIBkZThptR/4MgSMZk=;
Message-ID: <38235dcb-5b01-41aa-9373-e044be48cd73@xen.org>
Date: Mon, 13 Nov 2023 10:38:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] Mini-OS: get own domid
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
 samuel.thibault@ens-lyon.org, wl@xen.org, Juergen Gross <jgross@suse.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20231110113435.22609-1-jgross@suse.com>
 <20231110113435.22609-3-jgross@suse.com> <ZU4g0y-Y6-77sY-C@macbook.local>
 <9d75d794-a333-792a-786c-064d35910980@suse.com>
 <7265e418-6c40-47ea-97a7-bcf3c2e61cf7@xen.org>
 <e70d9b85-00fa-3d7e-8c0a-d463cf0e0c74@suse.com>
 <c25eb77a-9a15-4450-80dc-0d9e2e79c858@xen.org>
 <53d3435f-f021-edf2-3b90-9ea8f1784725@suse.com>
 <35421335-ae20-41d7-bacc-5f4a60327e9a@xen.org>
 <41f4b8b3-4a4f-9fcf-516c-8051a8a64e70@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <41f4b8b3-4a4f-9fcf-516c-8051a8a64e70@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Jan,

On 13/11/2023 10:34, Jan Beulich wrote:
> On 13.11.2023 11:20, Julien Grall wrote:
>> Hi,
>>
>> On 13/11/2023 09:28, Jan Beulich wrote:
>>> On 13.11.2023 10:12, Julien Grall wrote:
>>>>
>>>>
>>>> On 13/11/2023 07:37, Jan Beulich wrote:
>>>>> On 10.11.2023 18:38, Julien Grall wrote:
>>>>>> Hi Jan,
>>>>>>
>>>>>> On 10/11/2023 12:44, Jan Beulich wrote:
>>>>>>> On 10.11.2023 13:23, Roger Pau Monné wrote:
>>>>>>>> On Fri, Nov 10, 2023 at 12:34:32PM +0100, Juergen Gross wrote:
>>>>>>>>> Get the own domid via creation of a temporary event channel. There is
>>>>>>>>> no "official" way to read the own domid in PV guests, so use the event
>>>>>>>>> channel interface to get it:
>>>>>>>>>
>>>>>>>>> - allocate an unbound event channel specifying DOMID_SELF for the
>>>>>>>>>       other end
>>>>>>>>>
>>>>>>>>> - read the event channel status which will contain the own domid in
>>>>>>>>>       unbound.dom
>>>>>>>>>
>>>>>>>>> - close the event channel
>>>>>>>>
>>>>>>>> Should we look into introducing a way to expose the domid, so that in
>>>>>>>> the future we might not need to resort to this workarounds to get the
>>>>>>>> domid?
>>>>>>>>
>>>>>>>> Maybe in the PV-specific cpuid leaf?  It's a shame we didn't put it in
>>>>>>>> a non-HVM specific leaf when it was made available to HVM for pvshim
>>>>>>>> reasons.
>>>>>>>
>>>>>>> Couldn't we retroactively generalize the type-agnostic parts of that
>>>>>>> leaf?
>>>>>>
>>>>>> This would only work for x86. I think we want to have a generic
>>>>>> hypercalls so it can be used by all arch.
>>>>>
>>>>> Hmm, yes, perhaps. Otoh it would seem desirable to me if arch-es also
>>>>> provided some extension to an arch-natural way of feature detection
>>>>> (which CPUID is on x86), without the need to invoke any hypercalls.
>>>>
>>>> For Arm, I can't really think of anything other than hvc/smc which are
>>>> used for calls to the hypervisor/monitor (so basically hypercalls).
>>>>
>>>> Please suggest if you have a better idea.
>>>
>>> I don't know enough Arm to properly suggest something. Arm64 has various
>>> id_* system registers, so I would be wondering whether having a properly
>>> virtual one reserved in system register space couldn't do the trick.
>>
>> AFAIK there are none available. But if such exists, then I don't see how
>> that would suit with my requests to have an arch-agnostic approach.
>>
>> Each architecture would need to have to provide a way to expose those
>> values.
> 
> Right. Just like hardware of each architecture also surfaces its
> capabilities in architecture-specific ways.
> 
>> At which point, why not using hypercall? What's wrong with it?
> 
> There's nothing "wrong" with hypercalls, they're just less natural to use
> in certain cases. Plus of course using them may require setup inside the
> guest. >
> I'm tempted to ask a counter question: Do you consider it a mistake that
> on x86 certain capability information is surfaced as CPUID data?

For anything non-x86 specific yes. I think information like domid should 
never have belonged to the CPUID and instead provided via an hypercalls.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 11:11:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 11:11:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631518.984889 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Uqm-00011j-5V; Mon, 13 Nov 2023 11:11:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631518.984889; Mon, 13 Nov 2023 11:11: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 1r2Uqm-00011c-29; Mon, 13 Nov 2023 11:11:28 +0000
Received: by outflank-mailman (input) for mailman id 631518;
 Mon, 13 Nov 2023 11:11: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=PsMb=G2=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r2Uqk-00011W-54
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 11:11:26 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 619a36bc-8215-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 12:11:24 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id C68784EE073E;
 Mon, 13 Nov 2023 12:11:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 619a36bc-8215-11ee-98da-6d05b1d4d9a1
MIME-Version: 1.0
Date: Mon, 13 Nov 2023 12:11:23 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen Devel <xen-devel@lists.xenproject.org>, Julien Grall
 <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Jbeulich
 <jbeulich@suse.com>, Roger Pau <roger.pau@citrix.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Consulting
 <consulting@bugseng.com>
Subject: Re: Remaining violations of MISRA Rule 7.4
In-Reply-To: <bdb7efb1-b8b2-4426-a46d-e8f5afdba0f6@citrix.com>
References: <21761f2a6633a08ceb2b70a46013486a@bugseng.com>
 <bdb7efb1-b8b2-4426-a46d-e8f5afdba0f6@citrix.com>
Message-ID: <12d2760c2ada2fcd29594cef767f24b3@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-08 19:45, Andrew Cooper wrote:
> On 08/11/2023 4:24 pm, Nicola Vetrini wrote:
>> Hi everyone,
>> 
>> I was looking at leftover violations for MISRA Rule 7.4:
>> 'A string literal shall not be assigned to an object unless the
>> object's type
>> is "pointer to const-qualified char" '
>> 
>> You can see the referenced violations at [1] and [2].
>> 
>> I think the ones in x86/setup.c can be taken care of either by making
>> an early return
>> from cmdline_cook, given that one caller never supplies a NULL
>> cmdline, while the other
>> properly takes care of the possibility of returning NULL, afaict.
>> 
>>  static char * __init cmdline_cook(char *p, const char *loader_name)
>>  {
>> -    p = p ? : "";
>> +    if ( p == NULL )
>> +        return NULL;
>> 
>> or changing the type of "loader" to const char*
>> 
>>  void __init noreturn __start_xen(unsigned long mbi_p)
>>  {
>> -    const char *memmap_type = NULL;
>> -    char *cmdline, *kextra, *loader;
>> +    const char *memmap_type = NULL, *loader = NULL;
>> +    char *cmdline, *kextra;;
>> 
>> as, as far as I can tell, it's never changed after
>> 
>>     loader = (mbi->flags & MBI_LOADERNAME)
>>         ? (char *)__va(mbi->boot_loader_name) : "unknown";
>> 
>> However, the one in xen/arch/arm/efi/efi-boot.h
>> 
>> name.s = "xen";
>> 
>> does not look to have a clear resolution
>> path, therefore I propose to deviate this with a SAF textual
>> deviation, whose justification
>> relies on the fact that the string is never modified afterwards.
>> 
>> For the one in arm-uart.c from the discussion, I'm testing possible
>> solution with no code
>> changes, but if that doesn't work out, then I'm inclined towards a
>> deviation, as options
>> is never modified afterwards.
>> 
>> What do you think?
> 
> I've just rebased and pushed the residual from the past work (although 
> I
> missed the ARM EFI fix.)
> 
> https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=0f06bab762f5201f3e00aaaee704c3c01f516b51
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1065699873
> 
> I'm going to make a firm request that we fix this by activating
> -Wwrite-strings Xen wide, because that's by far and away the best way 
> to
> stop regressions creeping back in.
> 

Yes, it seems the best solution. I forgot about that patch, sorry.

   drivers/char/arm-uart.c: In function 'dt_uart_init':
   drivers/char/arm-uart.c:81:17: error: assignment discards 'const' 
qualifier from pointer target type [-Werror=discarded-qualifiers]
      81 |         options = "";
         |                 ^

Here I was thinking about

      options = strchr(opt_dtuart, ':');
      if ( options != NULL )
          *(options++) = '\0';
-    else
-        options = "";

-    printk("Looking for dtuart at \"%s\", options \"%s\"\n", devpath, 
options);
+    printk("Looking for dtuart at \"%s\", options \"%s\"\n", devpath,
+           options ? options : "");

> In start_xen(), basically whatever goes.  All that's doing is 
> processing
> of one command line into another, and your version looks a bit neater
> than mine.
> 
> The name.s cases (it's duplicated in x86 and ARM) are more tricky.  The
> compiler warning can be silenced by swapping name.s for name.cs but I
> have no idea whether Eclair can see through that piece of blatent 
> lying.
> 

No it doesn't, because the type of the lhs is checked, and if it's 
constant then it's enough for the Rule.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 11:13:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 11:13:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631521.984899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Usj-0001ad-Ho; Mon, 13 Nov 2023 11:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631521.984899; Mon, 13 Nov 2023 11:13: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 1r2Usj-0001aW-Du; Mon, 13 Nov 2023 11:13:29 +0000
Received: by outflank-mailman (input) for mailman id 631521;
 Mon, 13 Nov 2023 11:13: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2Usi-0001aQ-2H
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 11:13:28 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aad8ff60-8215-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 12:13:26 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8888.eurprd04.prod.outlook.com (2603:10a6:10:2e3::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 11:13:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 11:13: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: aad8ff60-8215-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q3mrUQTdDgzDjXx5CefNIxswnrSXBMF/ukbZJqHOUPl2Gc/+qcSYil8Ojgi9eDitmptdXjhUEU2K5K4MnsCHhJsJZO6HaKIvWJtzhDgfQIT2sDIUpiTGaPBhtUqLitdEQqZvIqI2iEZZIqqU4h5FGb7rW5ENAYir/fAox41WndFUiif7vj2moTCEsTzHmx5frEw3bW8hUTp5lZObqmyCiFoZyp/LJ8hx9eJC/dzD2jbBmcTuQLSx7D7MaBZBX+RNgIh7UVcqulS+Kz3OPAq1h4smSOwRtwNrWcEuJKIKsvn6yx0GKcQQVZmKqDTiIVyLtJ76iOqUd8NjUPzoCFZjIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/NIxvI68OBI+BinQfxJUw3l8uCq83sfsVdxIWNixNg4=;
 b=A8e3vBdwoFwxVI50P8s/13Nh8QQX0x1x5QTT0czQHTFSw2/X42GLpPUsBlrqRX+Z002bqnuz8aSAnzOV394pXOajtcF3TRNp3Ak6LQgMqdq84vPKfJJ7LV877hIo+YcJcSUEDWt8Nn9mtDcNH8VuRZxQe2KwK4Hhl08xlFtpOLpBV3qHLyvgnxdlNHfL+WaHtCXjIeNuVfvtjdHoQv0mknfeB/Oihn2o4RnQigGLB7gSZ8dMmIkGJ+S19jx3p+vkSj8KyvE2dFngAzGLZRSPz7P6ltId4gyydDg5apqTUEkgeAfik3xYXl/yPxL5TPGMj3sVwluTi2BC+UDj0lPJeQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/NIxvI68OBI+BinQfxJUw3l8uCq83sfsVdxIWNixNg4=;
 b=nmwF1FFUk3L5M391IwocklhnoiX48iffx/hfzieZ12o/wwfz1DIrMlSQiVt/KsvQqGVqDyp+f5HnPpiL1sfsWG9lArT3Ckqxd2P/WOCqbbmCuESuRMeKL64lLYoZH7GoA22bFWsA760BEg5wRrT/RcJP2iRDKKqXwJ3IrMkpJJCYxgYhi/iFqILIv4jB4ro5bu/sducs40OPUg/PTrNzU8DSf899CkH6m15ryBjhnYVMv9afn4IezflxqJjop9l86FuwxcokT86NIri579R1c3eVd2r8VyFMjscb7ruJWPGcTZJX9Ks+i+CZGQUUoh8rrW8L5MNlq000BCZpWuSb5Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <96df2df9-b295-6334-d45c-183d116fff88@suse.com>
Date: Mon, 13 Nov 2023 12:13:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: Informal voting proposal
Content-Language: en-US
To: Kelly Choi <kelly.choi@cloud.com>
References: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com>
Cc: xen-devel@lists.xenproject.org, committers@xenproject.org
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f1::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8888:EE_
X-MS-Office365-Filtering-Correlation-Id: 6e358f53-1413-44c1-b684-08dbe4398e23
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OWomNR5vUDMF8hJvHoPqE5G6wpHtVFF12HIX5t3u8Z/XOUnG9jKkTkLuC+M4Hiav6/k7+xvZzuxpnMc30AWyQJCxHZjybvuF+xg1VWkRpZGho0K1aPkzZlcqQU0Qa1roIBacr+rYqsYpBEKjtN426Tq7T0PpMt7eng7UHSO7cCUPgPzE7ucnmBwxpdqQGD5Jm6wkT7h2Y4X3ye8p0YAuv+D4Ed9ye0kJqO8v1QaICLtJxCH3U32HWQcDPQIB5JVkXhcVhaOJljlfe+6/rMhsx9SfA3Scv53qTR5J+6xAE46SM1TEWMARCww2PlQKECyaY7disbqyE0WxokguYI4FaCa7/3mcpseRAxySik1gU/3ccv5CvkKkn//zwd15MIKciW6ubvC6PLXm/ZYCb5MhHFQNX791F7rjL3cr1C8MpnenKTsI/I3wKEwb1sCxstjkr4gzWDpz0n85wBl5RgERhBXjbyUrmmNxZm4is1IiUxEZiWK1svOJ3LQoJtePRLMBDaC3s2Z9wSMDje8i28Ao2wUFy1obZbx+WFzYvhY74RgtBuAepDkOLexpd7Q0KAyC+ETEq/6XmKZGpX9QggpWHNKhvq/uNJd3gMg8oJUJ3xUPMzQl5xPmehNmTaZCjbJTQmZsmOpxpBAngonGpdnPYaoPycehCvyimYf58hdo7xaYdNdDIlkWEUD23XdGF5fe
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39850400004)(396003)(346002)(376002)(366004)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(66899024)(66476007)(66556008)(66946007)(316002)(6916009)(478600001)(6486002)(86362001)(5660300002)(3613699003)(31696002)(41300700001)(36756003)(2906002)(4326008)(8676002)(8936002)(7116003)(26005)(31686004)(2616005)(38100700002)(83380400001)(3480700007)(6512007)(53546011)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TFNiN1phdDVFZXR3enM4c29vcHBzQ3k4WXpkUjNPQTdPNkhTVW1UczduTXpZ?=
 =?utf-8?B?ckp2WmJjV0gwWGhyb0xyNVhsTHJWMTZhZktBTVFMNC93aE5BV3pQRjJPZ01m?=
 =?utf-8?B?R0tkQ3NyUWJScEhnLzFZSzljNjY2YlZ5ZEgxbm8xL082b3lPVmtvQkNQcGVW?=
 =?utf-8?B?dVhJZTlFQ2JkU243UlQ5N3BZTmdsSkg2M0JBdUVGendQckhHOHdpeWlFZXJO?=
 =?utf-8?B?TXJLR0czT0lEcVhnRlFBa0s1c2UwVGFWSFhxTzJjdytYUTZ4Z2VNdE1FaWlo?=
 =?utf-8?B?WmltUy9DZnN2MS9uVHE2ZHhEOTBYUUhDZmNoM3NUM1YyZmFUc21yT0x6am9u?=
 =?utf-8?B?eG0zc24zSHZPeFZjSlpIa3NFVkVCOGNoTlV6dFhFNnZCdjFnRHFxOHZtSC83?=
 =?utf-8?B?TWJvb1NRQkxwZU4vb2w5My95R1pGbW1yNWxFdVFpemU5QURSUnpsTG9peVUy?=
 =?utf-8?B?V1JpQW1WMFp4T1NHMFRobjJkaUFJeFc4NUFIRGlzdEhwZ01wV2ZWZzBjRDla?=
 =?utf-8?B?R2lQaTVYdEpaYXpKUUJUNk16bitLeXdKaFI0UmVBS3lnMmkyOGhwL01iM0tE?=
 =?utf-8?B?eWt0U2syVXprWVdvck5FNTRLdVIwdnRNcExKWjhYOUVpKzlmUTlJYmtnZ3lh?=
 =?utf-8?B?NHVMMGltZFVsTWxMcnhOTU50ZmV1czRNRy9Db0l3emNYRTRtd2IrOWxFVXVo?=
 =?utf-8?B?dEdwOXI3Q29EN1FZWmJJTEFsNjV1emJmZmZGbUQ1Y1pJSjBqTHQ5SWVmL0hG?=
 =?utf-8?B?clBvM2FqQWU0YmhhNFdEL0Q5eFdQNU9RMnY0OXBJZk1CTnVTS3I0RTFnd1FJ?=
 =?utf-8?B?MktXRlEvWEQyaU5VN0ZHSWRPK2ZjZ2Q3NXA1Z3k3aWJrc1VyejIzL0RyK0xE?=
 =?utf-8?B?OE9UUlZmY3BHU2xTTU8vblFGeVVvT0VNb3ZhdzdBMDFFT25HSEYyK3NzYlhl?=
 =?utf-8?B?Q2dTNHNEZGtKVDVKbmtXeStHeWlac2xGeUJWKzNoVFB5Yk5zSHBsdEUxYjBn?=
 =?utf-8?B?dTdlTlBJOHBSNzY5WmFWeWpaWS9DUEJycEZJT3JaQ1FzWkFrdk9QWVh5NEti?=
 =?utf-8?B?SWs5VGhEbHd4Zjg4NnoyaE9KR211TzJMWUNzSFZhU3RjQXFBOEFrKys0MzBC?=
 =?utf-8?B?TSttR0p1blgxaG9PVmthdlY5UnZTT3RnRmZLOURKWGFSZVc1RS9CZ2o1Z0lh?=
 =?utf-8?B?dmhkWHlBRzRSUGZQQ1hodm52bmx3RGl5enlOQ0srZUQ2djM4RnNtWWR0VnBN?=
 =?utf-8?B?enZ3VFRoS1dPblcvTy9pbk5KeUVPSTZIRE5KU1RYZDBVK0MySTVmNFBMNkhi?=
 =?utf-8?B?SlBFcDBwSXBKbkttMnhvTWk5WlVObkVCQVhmUW9yWFZ5TzNUaWJTRFI0WG0w?=
 =?utf-8?B?VWErRXkxT01sTFM5SDdjYVVhV05kRHFlNFE4eElCR0hGdFEzZ2RFVE5UaVQ2?=
 =?utf-8?B?V0pmdnl6cXhHaVZlZjhXVXBFQ0NKT3RLUUl6YW1FSm9RcXZVNE9TWjNWL3da?=
 =?utf-8?B?NkZSTVNjNXBUKzN0bm56WnZ0b1QybHVyWDYxajN6WTdJSGltYkxvbGZ2ZjN6?=
 =?utf-8?B?cEVCV3Q0Z0xnek5HNjE5WjlkYXNFUVRxVldWUkhRb2U4dFpIc3ZTYmxCR0p0?=
 =?utf-8?B?MTdQSnd4VGw1bnFOMUpURk5IdGxaMlR0MlRrSitnMW56b2dkaE1FUFVOZjk4?=
 =?utf-8?B?bE5zc0U3bklUcm12YURZaExHOG5RZHZXb3ZnSklha0UyOW5iOWx4UEF0M2hD?=
 =?utf-8?B?aVdydmdDazZYUWJ1LytJMGNpNUlNbk5LRmVFT3FFdXFNaVJYeDI1azVzSmhw?=
 =?utf-8?B?SU9PenFFNlpJaDRrajZsZlNjTnBlQy9SN0FFQ1hGM3J3NDZUcVRTcGVIcWxF?=
 =?utf-8?B?Q0RaSWpRS05kVjFLa2ZyNGE3VVVpSkZRQWhUb1ExZE5QUHZYbnR5djNDSmR4?=
 =?utf-8?B?ZnVWQXVZMnNXMFkwdkg3YXJZNTB6dHpGdnpFeURHUyt6d3BiVy9vT0c2QUwx?=
 =?utf-8?B?bExoMk4yWFhVOWRXVTVLZWRjZTBmaktwWFNERnZINUVtdnovWVMzRW9VQ1Rl?=
 =?utf-8?B?eVJzdldWUXNuVlZ1U094MVNITDVnUTdFR3ZzSG8yUWM0azFDcjV2S0lGb0xx?=
 =?utf-8?Q?NdFDuBsvgI0vd9Nxlo5EUI5D+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e358f53-1413-44c1-b684-08dbe4398e23
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 11:13:25.3203
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: N4DH4ML7BnXh3iaNS8dkfEyB+llhB+Pchdum6cNNAL2Gz0Nks5lMVPkwjS5N/a9G8Qa+YNDxHWSOnvDYLDRnuA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8888

On 06.11.2023 17:40, Kelly Choi wrote:
> Hi all,
> 
> As an open-source community, there will always be differences of opinion in
> approaches and the way we think. It is imperative, however, that we view
> this diversity as a source of strength rather than a hindrance.
> 
> Recent deliberations within our project have led to certain matters being
> put on hold due to an inability to reach a consensus. While formal voting
> procedures serve their purpose, they can be time-consuming and may not
> always lead to meaningful progress.
> 
> Having received agreement from a few maintainers already, I would like to
> propose the following:
> 
> *Informal voting method:*
> 
>    1. Each project should ideally have more than 2 maintainers to
>    facilitate impartial discussions. Projects lacking this configuration will
>    be addressed at a later stage.

Terminology question: What is "project" here? Considering how ./MAINTAINERS
is structured, is it perhaps more "component"?

>    2. Anyone in the community is welcome to voice their opinions, ideas,
>    and concerns about any patch or contribution.
>    3. If members cannot agree, the majority informal vote of the
>    maintainers will be the decision that stands. For instance, if, after
>    careful consideration of all suggestions and concerns, 2 out of 3
>    maintainers endorse a solution within the x86 subsystem, it shall be the
>    decision we move forward with.

In a later reply you make explicit what can only be guessed here: There
you suggest that out of a range of possible options, up front two are
picked to then choose between. However, when there is a range options
available, and when those can be viewed as points on a scale (rather
than, to take Stefano's earlier example of SAF-* naming, cases where
it's hard to view choices as being on a linear scale), picking two
"points" up front may already pose a problem. (See also another reply
mentioning how to ensure that the various possible options were even
taken into consideration.)

Not only in such situations, but in general, to me a prereq to even
coming to the point of needing an informal vote is the willingness of
everyone involved to find a compromise. When there's a range of views,
and when "knowing" what's going to be best for the project would require
a crystal ball, experience suggests to me that chances for an optimal
choice are better when picking a "point" not at the far ends of the scale.
(Such a result then would also much better reflect your named goal of
seeing diversity as a strength.)

With such willingness I think even informal votes could be avoided most
of the time, at which point it becomes questionable whether for the few
remaining cases informal and formal votes really need specifying
separately.

>    4. Naturally, there may be exceptional circumstances, as such, a formal
>    vote may be warranted but should happen only a few times a year for serious
>    cases only.
>    5. Informal votes can be as easy as 2 out of 3 maintainers providing
>    their Acked-by/Reviewed-by tag. Alternatively, Maintainers can call an
>    informal vote by simply emailing the thread with "informal vote proposed,
>    option 1 and option 2."

I find this difficult. Both A-b and R-b assert that the person offering
the tag endorses the presented solution to the indicated degree. It does
not say anything on possible alternative solutions. As a result taking
such tags as votes is (once again, and once again in my personal view)
reasonable only when there's a black-and-white decision to be taken.

>    6. *All maintainers should reply with their vote within 5 working days.*
> 
>    7. Please note that with any new process, there will always be room for
>    improvement and we will reiterate where needed.
> 
> Ultimately our goal here is to prevent the project coming to a standstill
> while deliberating decisions that we all cannot agree on. This may mean
> compromising in the short term but I am sure the long-term benefits will
> stand for themselves.
> 
> *If you have any strong objections to the informal voting, please let me
> know by 30th November 2023. *

Just FTAOD none of the above is meant to be a "strong objection". Despite
being unconvinced of the proposal (including the need for one, not the
least also considering what has triggered this sudden effort, when there
are - imo - worse problems of "standstill"), I'll try to be a good citizen
and play by what's going to be put in place.

Jan

PS: I can't help the impression that our differing views here are somewhat
rooted in different election systems in the countries we live in. They're
imo different enough that I consider it troublesome to see how all of them
can at the same time be considered democratic.


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 11:16:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 11:16:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631525.984909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2UvU-0002Rn-Vw; Mon, 13 Nov 2023 11:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631525.984909; Mon, 13 Nov 2023 11: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 1r2UvU-0002Rg-Sn; Mon, 13 Nov 2023 11:16:20 +0000
Received: by outflank-mailman (input) for mailman id 631525;
 Mon, 13 Nov 2023 11:16: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 1r2UvU-0002RW-6k; Mon, 13 Nov 2023 11:16: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 1r2UvU-00034a-2k; Mon, 13 Nov 2023 11:16: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 1r2UvT-00039H-Lm; Mon, 13 Nov 2023 11:16:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2UvT-0004Md-LI; Mon, 13 Nov 2023 11: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EeeAl6Dvb4iGUpKsj2XNMeYXJpM6dfRYSv/IxKbf56k=; b=zjSyt25ZEMCada7XMERMfH0Z7G
	AcFgR+ESiYLqaXGIFOzrfp3R0FpT6S2pO25cR2BYc821DfkGdW/6cfNcbo+ZLEbMxQsikjez3pmcc
	p/nl/qrCFu6WHZ494xNRV4Un/mXkHt+gGd4zdTYh7M6HIAfa/BJoRxLRNBgFfy2wpsV4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183739-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183739: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop: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-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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: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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-amd64-amd64-libvirt:migrate-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-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-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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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
X-Osstest-Versions-This:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
X-Osstest-Versions-That:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Nov 2023 11:16:19 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 183737

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 183737 like 183732
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 183737 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 183737 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 183726
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183737
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183737
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183737
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183737
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183737
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183737
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183737
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183737
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183737
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183737
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183737
 test-amd64-i386-xl-pvshim    14 guest-start                  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-i386-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-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-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-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-amd64-amd64-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-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

version targeted for testing:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
baseline version:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c

Last test of basis   183739  2023-11-13 01:53:48 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-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-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 Nov 13 11:30:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 11:30:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631534.984918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2V8q-0008Jj-7N; Mon, 13 Nov 2023 11:30:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631534.984918; Mon, 13 Nov 2023 11:30: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 1r2V8q-0008Jc-4Y; Mon, 13 Nov 2023 11:30:08 +0000
Received: by outflank-mailman (input) for mailman id 631534;
 Mon, 13 Nov 2023 11:30: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=JPUY=G2=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r2V8p-0008JW-N1
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 11:30:07 +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 fe6d82f5-8217-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 12:30:06 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-991c786369cso663322066b.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 03:30:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe6d82f5-8217-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699875005; x=1700479805; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=DtCyPPM4273jVtYbR9To4aJCWKPYJii5McTWBg+Uj2Q=;
        b=SV8W77FLIQFt1ES8Td0P2A3MCHoRPn/baEyFbBx+Umu15VWsn+QOvsQPIBdQDY6Hli
         yVFYDX1E0joml2RwJ5w+X2BlyQIw7aLBZwGUDLZ36dVCnPDQasXirFjoEtkoR9wTJtHQ
         zfoKMr6nTA0nms2ejbpIlIDy4uDZgBAvVz7tLvq8coX9ThADQJJntapEQGrqOtjNIIrD
         YgWp/hlPz4+B4aEOJvZd28VZekXLSB05RBc/xqA2Ucy1jxgHGc7FynU+wENOnARgC4wI
         8CV61FOc3Sgz6DZGK+QppW64FgN4Tk4eOA25pAV04a3xh3XGnJL5DdMhVfeEGJ9b7SBk
         kILg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699875005; x=1700479805;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=DtCyPPM4273jVtYbR9To4aJCWKPYJii5McTWBg+Uj2Q=;
        b=gwURv5Dn1oeZo/GOiHud+vNGStfJNdK5BIkou5mXhRsml8Z9B9If476rIp5GHfUFXQ
         /Bdpbov2uBy247CwiaLVoTAEuHWQvuR4qSUQYrABbOvvuY7jGE6qnAKJ0QnazxqkPwoV
         BoUhYIkETbM5OrkGu7Rz7ziQn289/WH0C6lLt8uNarA8ylfTsPoSwhiYma8kzkuPW8X2
         sguzLQEy7U6LwTwX6BXBjnCuxwz+gjSVh2Necrj7QJ3X5TinhbjcmJqrndvj7JNwJpAS
         gFzFO0girRr9pm0uhb88ZitZHf8hkHFu2PZ+dCxNex6jR92ugSXcd1RJx05bhdZPPD6E
         rTIw==
X-Gm-Message-State: AOJu0YyIV1sx37FL0no8dfrQCl09UwEP17x+BM4kxMUr6vSZF6XZfmB6
	/RTm8Y/6s9Y5m7u87IZro3yoFvqjdUReDHcLHaw=
X-Google-Smtp-Source: AGHT+IG/MBbeWjo63UjVV4K14yChPV7mQCskhkt22bSCnzs9BhwCVQqxSNSjgWsSLiq9MOvW/H5pH27/YqkNzPgGdE0=
X-Received: by 2002:a17:906:c56:b0:9db:e46c:569 with SMTP id
 t22-20020a1709060c5600b009dbe46c0569mr3816022ejf.45.1699875005271; Mon, 13
 Nov 2023 03:30:05 -0800 (PST)
MIME-Version: 1.0
From: Mario Marietto <marietto2008@gmail.com>
Date: Mon, 13 Nov 2023 12:29:28 +0100
Message-ID: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com>
Subject: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
To: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Chuck Zmudzinski <brchuckz@netscape.net>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="000000000000da1659060a06fd8a"

--000000000000da1659060a06fd8a
Content-Type: text/plain; charset="UTF-8"

Hello.

I'm trying to find an easier way to the problem that you can read here :

https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest


where *Chuck* says :



   1. Create the u-boot shell commands that will be used to boot Xen and
   dom0.

Create a file in /home/user (or any other directory) named bootxen.source
with these contents :


mmc dev 1 && mmc rescan 1
ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
fdt addr 0x5ffec000
fdt resize 1024
fdt set /chosen \#address-cells <0x2>
fdt set /chosen \#size-cells <0x2>
fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0
dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native"
fdt mknod /chosen dom0
fdt set /chosen/dom0 compatible  "xen,linux-zimage"
"xen,multiboot-module" "multiboot,module"
fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw
rootwait clk_ignore_unused"
bootm 0x51000000 - 0x5ffec000

The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+ file,
and that value is computed from the uboot-script-gen script available from
here :


https://gitlab.com/ViryaOS/imagebuilder


This is the interesting point :


*Please note that most of the other values in the script generated by the
ViryaOS uboot-script-gen do not work correctly with the Chromebook Snow*,
but the script does correctly calculate the size of the dom0 Linux kernel
image.


Some time ago Stefano suggested to put the values below for MEMORY_START
and MEMORY_END inside the xen-config file :


nano xen-config file :


MEMORY_START="0x41e00000"
MEMORY_END="0x60000000"
LOAD_CMD="ext2load mmc 1:3"
BOOT_CMD="bootm"
DEVICE_TREE="exynos5250-snow.dtb"
XEN="xen-4.17-armhf"
XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=768M dom0_max_vcpus=2
bootscrub=0 vwfi=native sched=null"
DOM0_KERNEL="zImage-6.6.0-xen-dma-mapping"
DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw
rootwait clk_ignore_unused"
UBOOT_SOURCE="xen.source"


bash ./uboot-script-gen -c xen-config -d .


Image Name:
Created:      Thu Nov  2 20:59:24 2023
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
Load Address: 42c00000
Entry Point:  42c00000


Generated uboot script xen.scr, to be loaded at address 0x42000000:
ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000


and I tried to boot Xen and Linux 6.6 as dom0 :

SMDK5250 # mmc dev 1
SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000


but it did not work : it reboots on the verification screen.

-- 
Mario.

--000000000000da1659060a06fd8a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello.</div><div><br></div><div>I&#39;m trying to fin=
d an easier way to the problem that you can read here :</div><div><br></div=
><div><a href=3D"https://github.com/mobile-virt/u-boot-chromebook-xe303c12/=
tree/chromebook/xen#starting-a-domu-guest" target=3D"_blank">https://github=
.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-=
domu-guest</a></div><div><pre><br>where <b><font size=3D"4">Chuck</font></b=
> says :<br></pre><pre><code></code><br></pre><div>
    </div><ol start=3D"6" dir=3D"auto"><li>Create the u-boot shell commands=
 that will be used to boot Xen and dom0.</li></ol>
<p dir=3D"auto">Create a file in /home/user (or any other directory) named =
bootxen.source with these contents :</p><p dir=3D"auto"><br></p>
<div><pre><code>mmc dev 1 &amp;&amp; mmc rescan 1
ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
fdt addr 0x5ffec000
fdt resize 1024
fdt set /chosen \#address-cells &lt;0x2&gt;
fdt set /chosen \#size-cells &lt;0x2&gt;
fdt set /chosen xen,xen-bootargs &quot;console=3Ddtuart dtuart=3Dserial0 do=
m0_mem=3D1G dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative&quot;
fdt mknod /chosen dom0
fdt set /chosen/dom0 compatible  &quot;xen,linux-zimage&quot; &quot;xen,mul=
tiboot-module&quot; &quot;multiboot,module&quot;
fdt set /chosen/dom0 reg &lt;0x0 0x42000000 0x0 0x7D7200 &gt;
fdt set /chosen xen,dom0-bootargs &quot;console=3Dtty1 root=3D/dev/mmcblk1p=
4 rw rootwait clk_ignore_unused&quot;
bootm 0x51000000 - 0x5ffec000<br>
</code></pre><div>
    </div></div><p dir=3D"auto">The hex value 0x7D7200 is the size of the=
=20
zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from the=20
uboot-script-gen script available from here : <br></p><p dir=3D"auto"><br><=
/p><p dir=3D"auto"><a href=3D"https://gitlab.com/ViryaOS/imagebuilder" rel=
=3D"nofollow" target=3D"_blank">https://gitlab.com/ViryaOS/imagebuilder</a>=
</p>
<p><br></p><p>This is the interesting point :</p><p><br></p><p dir=3D"auto"=
><b>Please note that most of the other values in the script=20
generated by the ViryaOS uboot-script-gen do not work correctly with the
 Chromebook Snow</b>, but the script does correctly calculate the size of=
=20
the dom0 Linux kernel image.</p><p><span><span style=3D"font-family:monospa=
ce"><span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)"><br>=
</span></span></span></p><p><span><span style=3D"font-family:monospace"><sp=
an style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">Some time a=
go Stefano suggested to put the values below for MEMORY_START and MEMORY_EN=
D inside the xen-config file :<br></span></span></span></p><p><span><span s=
tyle=3D"font-family:monospace"><span style=3D"color:rgb(0,0,0);background-c=
olor:rgb(255,255,255)"><br></span></span></span></p><p><span><span style=3D=
"font-family:monospace"><span style=3D"color:rgb(0,0,0);background-color:rg=
b(255,255,255)">nano xen-config file :</span></span></span></p><p><span><sp=
an style=3D"font-family:monospace"><span style=3D"color:rgb(0,0,0);backgrou=
nd-color:rgb(255,255,255)"><br></span></span></span></p><div><span class=3D=
"gmail-im"><span style=3D"font-family:monospace"><span style=3D"color:rgb(0=
,0,0);background-color:rgb(255,255,255)">MEMORY_START=3D&quot;0x41e00000&qu=
ot;
</span><br>MEMORY_END=3D&quot;0x60000000&quot;
<br>LOAD_CMD=3D&quot;ext2load mmc 1:3&quot;
<br>BOOT_CMD=3D&quot;bootm&quot;
<br>
DEVICE_TREE=3D&quot;exynos5250-snow.dtb&quot;
<br>XEN=3D&quot;xen-4.17-armhf&quot;
<br>XEN_CMD=3D&quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D768M dom0_=
max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull&quot;
<br>DOM0_KERNEL=3D&quot;zImage-6.6.0-xen-dma-mapping&quot;
<br>DOM0_CMD=3D&quot;console=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=3D=
/dev/mmcblk1p4 rw rootwait clk_ignore_unused&quot;
<br>UBOOT_SOURCE=3D&quot;xen.source&quot;</span></span></div><div><span sty=
le=3D"font-family:monospace"><br></span></div><div><span style=3D"font-fami=
ly:monospace"><br></span></div><div><span style=3D"font-family:monospace"><=
span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)"></span></=
span></div><div><span style=3D"font-family:monospace"><span style=3D"color:=
rgb(0,0,0);background-color:rgb(255,255,255)">bash ./uboot-script-gen -c xe=
n-config -d .</span><br></span></div><div><span style=3D"font-family:monosp=
ace"><span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)"></s=
pan></span></div><div><span style=3D"font-family:monospace"><span style=3D"=
color:rgb(0,0,0);background-color:rgb(255,255,255)"></span></span></div><di=
v><span style=3D"font-family:monospace"><span style=3D"color:rgb(0,0,0);bac=
kground-color:rgb(255,255,255)"><br></span></span></div><div><span style=3D=
"font-family:monospace"><span style=3D"color:rgb(0,0,0);background-color:rg=
b(255,255,255)"><br>
</span></span></div><div><span style=3D"font-family:monospace"></span></div=
><span style=3D"font-family:monospace">Image Name: =C2=A0=C2=A0=C2=A0<br>Cr=
eated: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Thu Nov =C2=A02 20:59:24 2023
<br><span class=3D"gmail-im">Image Type: =C2=A0=C2=A0ARM Linux Kernel Image=
 (uncompressed)
<br>Data Size: =C2=A0=C2=A0=C2=A0884744 Bytes =3D 864.01 KiB =3D 0.84 MiB
<br></span>Load Address: 42c00000
<br>Entry Point: =C2=A042c00000</span></div><div><br><span style=3D"font-fa=
mily:monospace"></span></div><div><span style=3D"font-family:monospace"><br=
></span></div><div><span style=3D"font-family:monospace">Generated uboot sc=
ript xen.scr, to be loaded at address 0x42000000:
<br></span><div><span style=3D"font-family:monospace">ext2load mmc 1:3 0x42=
000000 xen.scr; source 0x42000000</span></div><div><span style=3D"font-fami=
ly:monospace"><br></span></div></div><div><br></div><div>and I tried to boo=
t Xen and Linux 6.6 as dom0 :</div><div><br></div><div><div><pre class=3D"g=
mail-notranslate"><code>SMDK5250 # mmc dev 1
SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000<br><br><b=
r></code></pre><span style=3D"font-family:monospace">but it did not work : =
it reboots on the verification screen.</span></div><div><br><span class=3D"=
gmail_signature_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signa=
ture" data-smartmail=3D"gmail_signature">Mario.<br></div></div></div></div>

--000000000000da1659060a06fd8a--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 11:31:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 11:31:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631537.984929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2VA3-0000dt-HM; Mon, 13 Nov 2023 11:31:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631537.984929; Mon, 13 Nov 2023 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 1r2VA3-0000dm-E5; Mon, 13 Nov 2023 11:31:23 +0000
Received: by outflank-mailman (input) for mailman id 631537;
 Mon, 13 Nov 2023 11:31: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2VA2-0000cQ-ST
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 11:31:22 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7d00::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29b0cd31-8218-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 12:31:18 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8324.eurprd04.prod.outlook.com (2603:10a6:20b:3e2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Mon, 13 Nov
 2023 11:31:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 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: 29b0cd31-8218-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=W0cAGeBtX/AR5mWyV+octlza6VmCmWWLeyFgUqf+yb1FDJKCOoIR7uA8rTTPD3UF/+z97yp+WbmrHekJw8VQRG9noh5rr+wz4Z/7pS89vtnk7ebdRXMnkh+/S3WT93kkj0j5BBC9+GRVtc2dB5HU/ozCvvWY96tIWXpqDLUQ3GBjhj5dOrCw5SXnTnwSkr083T62QWI2UlnBm2oFdi65eqW9q0pbN13DOVVn2VtDVydxUU2BPahyjvIKizAZKyUyk8nueu/2NysoOe2YD6fE58lFfTWu4mZCWnAmSYwgrBF2JiJ84xMBatBuZiRt0Rkmc2p6mVZsOhE5cZuvj3NmCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VciW1wMCTPrNcx+mUZ72APLBp/8hE3KE65xZRlN17nY=;
 b=JyihWftlm85Exk39xjzs9ZHN9ARWh17EGSKYgvYUpbU0yaFiHdzRIRB0wRxkrTu3Y8B8NRQoE439GJotW76ksO36qf1u5NKRQlhz270NyULCTrXhDajeJjHZz4WWBcefTq76LxndWJhMn6bE3dcgZvshxmHlhGBrqJB7481Qkp2HFUnPMMshTLZm5pdlzI/HN/7CSRRm0DoCmE4DFL6zVFXtBWgqFugirhla8dEKfiV3DHRH7qa0tQP66Ex+snSPOZBfs7M4vrXtjTGNP5hTuAySKw6N+69hJ76zuNJ3VEaVkDJ9597DSbAYP8MnaLsEmYNv+VHhNS9ynob+8whxxQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VciW1wMCTPrNcx+mUZ72APLBp/8hE3KE65xZRlN17nY=;
 b=LWnNuWbRuJMTDv2OKVC/aJ03y3jykrmwfEq4gUaBROi7p3KRMo5ceRRbIOPcatM3dCYuJVl9CUSPUycX2d2uc9fM/AkmDC8AUiI/j+P8GlXq+2FZVTPgDFMM+FiDcgjdhCelTc3J7797mJE8t2Eb370KnbVsovoBUXT1ioQTVIfWsKiLGurvz3JtH51pQw+rmeJq07pxTsN7KTk0VB7cpYovTsGAZYVDIVfo01q9+u6HpZ3/yCGHOOkJFmRbn9UZCp6ALf+c1h+GFmTxw+nuUfTJ7vsH6Ig1RNbLXqKBlyBM5pTOVSp+Ar9gXMWeXr1cl+iHIGkaqTdHjOdJVC8Uog==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <930d7aa7-7573-97d2-e146-ebe68214c0aa@suse.com>
Date: Mon, 13 Nov 2023 12:31:15 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: Clang-format configuration discussion - pt 1
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <Michal.Orzel@amd.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0378.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f7::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8324:EE_
X-MS-Office365-Filtering-Correlation-Id: b5e32af1-39fa-49d2-d13a-08dbe43c0d11
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8nYhA8Q86sj2dYY88NR5LmJhmZdMyjuyUHcuon6I82Im4qFQjsioi/njoFIBm6bGJD4Gd8F6RImChSrCs0eBGX2TFHLU+X/HPYyfphNeRCH/TuYvsKoVVPX7OTyJppgFXyNiHa7TT4Tj0dH5300jNyunn9slXICUI6f1ImoI85CxxCCKGNPEqd2S34WShDN1ZRNQ62dPxpI5ugGjeVfCLn6emCe9FDr7CF0ejjfrfdnVyQ5HxkxuH0v+tOSiRVuKlnmijh8HHGeSuxQwbZc5cdhQ4QdCnJ/B9dXAPgDdXdgpAtSOCenBSzED4ln+pdqnLuwFL0K0aQmnjwp38wZ6EMp53EwXGsO7Mh62R/xA+/CW7/wriOHro0V2a0u0S1duqcOGA/Evy0XqqjLoSq/u/d7hq4lCJu+Vq8tOQLsRP5yOz/xQRrX3DENrPouQJ16jODtKMNve3uQ8WKFNApPgevjjrsP6XvNxofDIaCL6BUwta/RztQAXqPpLwR+PHWIT7VkadlOq1TtKekSvjtnpHO0KrLZwNN6ebW0sc3KBHb/ruYg6fPpLQiVNI+iFhNNEDVTDfzgaWb3pb0nRVaf4pz7fTAa7lq4Qw/4gNkacrxN7VUws2/YeUK353RLTiX5Om+WEjIM62AYD9A33Bt/9jQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(39860400002)(136003)(396003)(230922051799003)(186009)(64100799003)(1800799009)(451199024)(31686004)(2616005)(5660300002)(6512007)(26005)(7416002)(41300700001)(66556008)(66946007)(54906003)(36756003)(316002)(6916009)(8676002)(8936002)(2906002)(4326008)(53546011)(6506007)(478600001)(31696002)(6486002)(66476007)(86362001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3FGOXpOS2VjVnN3dkNjNlozVTFyWnp3dC9sNW9aMm91KzZ6TnpXZmFOaU82?=
 =?utf-8?B?ckFRRnRaOXNCZ2ZUM1JIM1BmcmhubHFzTGpGVVlnUUZLSlZDNnQ5dXgzQS8x?=
 =?utf-8?B?NDB4aU1BQnNZMjE4V2RRVGhyVmhXMEkwazVsWng4VW1xKzF4dTZHSTY0TmxJ?=
 =?utf-8?B?Ylh5aWdqU1lZVkYxejlkSGZSTkpDcmt2MFRmSEp2dUxIVSt6djEzYVhzZ1dR?=
 =?utf-8?B?R1RCT0VDRjRqcjA3Z1VEZmJ4Q2dlbWJTaDcvMFhNa2I1SXFMRDNqcXRFcS9j?=
 =?utf-8?B?TWw0YlJGUm9EaXlIamNJTThCQkh3ejQ4eW1Dallrb3BPbTlsVWV6NFE2enRn?=
 =?utf-8?B?N1ZHWjJOWmw1UHd4RUw4M053OXBuMlZqSDlnTFowMWRSWDVLWE5Dd0tBZ2RD?=
 =?utf-8?B?VDBOTDdMR1R2dm1BZEJsdjUrZFluaVlxTkFoSE9VR2Vuc2c3MWZYODVEN2py?=
 =?utf-8?B?U2UxZG8yR3VCUmFWSThPTFBzZXNaamhDT3kyQmdURFIzM0k1dUJDcjFualJU?=
 =?utf-8?B?RUd1ak1UVzNVK2JCQzR2QWpzT1pmZU94QmZvbDFHcm1SQjNKZFlmNEI4LzBs?=
 =?utf-8?B?K3p5NE9RTHFlamp3MSsvVzVCQWNETy9ZNDcvd1hBMkxGMTJIbXp2UnRTeGtY?=
 =?utf-8?B?WWhmeTFFVHhxSDFiYURDZ3VSMG81VkVIV0FWTlpmUVpVdWUrZjEweFBxY0Vl?=
 =?utf-8?B?YXExajVmM0pGUGE0eEVhU0tNY3RjOFRTYThlU0JLTlhzVWpYRjRqK012UUtN?=
 =?utf-8?B?WVp2K1A4cEZJMGY2YXI4eFEzSVRPdGxqTVMvZ2dFcU51UEU3MzhyN2lmb0d2?=
 =?utf-8?B?MjZyNTFvNWM1NS9Kek5McTBsQUNiVjFDOTNUMUltUG9jRzdvcitLcUJqUUY5?=
 =?utf-8?B?bm1ENkRsUzM2b0VyZWp0MVZvcEdWc2pNd3Z6ZGhyWlV6TXZoa3hwUy9LY25w?=
 =?utf-8?B?c21PcWhrQ0UyQm11RThQM1VNZCtCanljZHJwK2k5S0Z0RnJQVXJXZW5wUDFQ?=
 =?utf-8?B?ZTNQTk1aUERSWlZmSkdGT29ocEp6Tk9OdFFnbXgrb2kxUGpnUXVPQnNqNkJE?=
 =?utf-8?B?L1h1S3BkNFpxTnpDVjk1Y1kwVHBHRDhOdHY4UStFRVJieUNUL09EMzFCOGd1?=
 =?utf-8?B?ZzVWUGRlRGVNbXNxYmNQYTBPZjN1R2JZY0FmUXZTMW13T0tNYm51UTh6UmhO?=
 =?utf-8?B?ZEdtc0JlYXpFZ3NzWVV1bnZsWnpSWEpuZDFrY3lOWVcxN3Qrdm5Rc3A2T3Fy?=
 =?utf-8?B?MGt5cWpOOUVxZzBnVkRRMmFIMnhpZ2JZbWwwNk03SkFvZ1pkaG9rQ1luWXZy?=
 =?utf-8?B?NEx6TWIyb3hmNTU4bmNUSHRwYUh2WWRRYnMwK3Q2R2Z5Qy8rR0ZRcmtuT0cv?=
 =?utf-8?B?czcxdzVMdm9ibTlxQmFQUUhJLzFlT3VRb0xoQVNqa0tESStRRkREaHBkTVhi?=
 =?utf-8?B?dVRldCtTVHpWVk9SdHA4TGVWeWJXcldQNXliOTR6VjVRV2dPNnFhR2QvanVu?=
 =?utf-8?B?UUtJOUlNTHlnV2hKSVNuclNPams5YUE4NDlOa3lZTE1JMHIvY3VrQkg4SGVL?=
 =?utf-8?B?aWhReXFId0NUeUczSEN5TlYxeG00NmEwTzJIbWNURXBuUnpOWGVPZkRDOEI4?=
 =?utf-8?B?eFRvSFlWZHhCYU40bXU5aEZxQmRRWGdWejVPR0RRbFRBTHFYREtlRGZoL09i?=
 =?utf-8?B?ODJqbHlDaTJ3SjdyUWkrWG0rQ051ZVBSZXQxWXpGVmdxM1B1VGVFT2wra0o0?=
 =?utf-8?B?VW9DNFBnUE53Rm82dFkzc3pMYVo1VW94WDFGR054Rytid2ZUZzVxdi9lOEFZ?=
 =?utf-8?B?YURrNmFzTHc5eHB6N3Y1U2hmcWR0bWU3UGk1ZGt1YzUyR0x2RE9tOXhDeDRI?=
 =?utf-8?B?Z05EN0VtaENNL2pDZGVxK2tzWXhyYWtYeW1mNit6RFpFWDJFUG1VcytVYU5n?=
 =?utf-8?B?Z0ZEVzQ3eEFmTFhQNGVoeU4xbVd0c1JqYUdsSnRGNTlpY0pDcmxINFlBYVZK?=
 =?utf-8?B?dTJUNUpHVUNUOWl0L2pnd2NLa25nL1dpVW9nSStIR2lRaXNhOC8vRU50OHBn?=
 =?utf-8?B?OHZWRGp4WkEwOEdvVlE0b0xzS1hFVndTTFM4UDZJanRUdE1iSEg0OEZrTEpB?=
 =?utf-8?Q?RpaYzqn0DAFLGYsPxS2eJdkYL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b5e32af1-39fa-49d2-d13a-08dbe43c0d11
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 11:31:17.2750
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oSjUpUb/VZi3ARG9SqJ1EMAlxv3JnADTtvTYtp9dqgX0G7f5aFaO29QTVHO1lHQ1qc4D+YRt8AnGbrjYu+ggVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8324

On 08.11.2023 10:53, Luca Fancellu wrote:
--------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
> Standard: C++03
> 
> ---
> From the documentation: Parse and format C++ constructs compatible with this standard.

Since I continue to be puzzled - iirc you said this is because of lack
of availability of "C99" as a value here. What's entirely unclear to
me is: How does this matter to a tool checking coding style (which is
largely about formatting, not any lexical or syntactical aspects)?

> This value is used also in Linux.

Considering how different the two styles are, I don't think this is
overly relevant.

--------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
> AttributeMacros:
>   - '__init'
>   - '__exit'
>   - '__initdata'
>   - '__initconst'
>   - '__initconstrel'
>   - '__initdata_cf_clobber'
>   - '__initconst_cf_clobber'
>   - '__hwdom_init'
>   - '__hwdom_initdata'
>   - '__maybe_unused'
>   - '__packed'
>   - '__stdcall'
>   - '__vfp_aligned'
>   - '__alt_call_maybe_initdata'
>   - '__cacheline_aligned'
>   - '__ro_after_init'
>   - 'always_inline'
>   - 'noinline'
>   - 'noreturn'
>   - '__weak'
>   - '__inline__'
>   - '__attribute_const__'
>   - '__transparent__'
>   - '__used'
>   - '__must_check'
>   - '__kprobes'
> 
> ---
> A vector of strings that should be interpreted as attributes/qualifiers instead of identifiers.
> I’ve tried to list all the attributes I’ve found.

Like above, the significance of having this list and needing to keep it
up-to-date is unclear to me. I guess the same also applies to a few
further settings down from here.

--------------------------------------------------------------------------------------------------------------------------------------------------------------
> 
> StatementMacros:
>   - 'PROGRESS'
>   - 'PROGRESS_VCPU'
>   - 'bitop'
>   - 'guest_bitop'
>   - 'testop'
>   - 'guest_testop'
>   - 'DEFINE_XEN_GUEST_HANDLE'
>   - '__DEFINE_XEN_GUEST_HANDLE'
>   - '___DEFINE_XEN_GUEST_HANDLE'
>   - 'presmp_initcall'
>   - '__initcall'
>   - '__exitcall'
> 
> ---
> A vector of macros that should be interpreted as complete statements.
> Typical macros are expressions, and require a semi-colon to be added; sometimes this is not the case, and this allows
> to make clang-format aware of such cases.
> 
> While I was writing this, I’ve found that from ‘DEFINE_XEN_GUEST_HANDLE’ until the end of the list, probably I
> shouldn’t list these entries because all of them end with semi-colon.

Ah, just wanted to ask. I agree that we'd better have here only items
which truly require an exception.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 11:37:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 11:37:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631542.984939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2VGJ-00036t-5n; Mon, 13 Nov 2023 11:37:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631542.984939; Mon, 13 Nov 2023 11: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 1r2VGJ-00036m-2P; Mon, 13 Nov 2023 11:37:51 +0000
Received: by outflank-mailman (input) for mailman id 631542;
 Mon, 13 Nov 2023 11:37: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2VGI-00036g-7O
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 11:37:50 +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 126aed4d-8219-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 12:37:49 +0100 (CET)
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 60FAB218F9;
 Mon, 13 Nov 2023 11: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 2C0BC13398;
 Mon, 13 Nov 2023 11:37:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id rZqiB4kKUmUpTgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 11: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: 126aed4d-8219-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699875465; 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:autocrypt:autocrypt;
	bh=6L0b2yaBstn0MQiPOyAgnpCxsNACouSHvDWe5ozGikY=;
	b=A/7rIkO1hc79+4f38FOqZa1JgITgRKQJSwBsAopwz6MlklpBHY6bsCrZ6ADqF/65ejTQdC
	U/ObjrYHqokOUW3mbevgM4r3kVLBx1T/iYuV6O8OnaWL184/hEfurC+4d33NgQfFlwMeIe
	JHo0ZwbNPOezSKNWq7PVAbWXk8uEco4=
Message-ID: <6da0ea59-7912-4be6-a587-5ac0c63c6d1b@suse.com>
Date: Mon, 13 Nov 2023 12:37:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 24/29] tools/xenstored: split domain_init()
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-25-jgross@suse.com>
 <b84878ff-59f6-424b-9ca6-89c957d963ee@xen.org>
 <40e96237-f55f-4b30-b4d4-039f381d676e@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <40e96237-f55f-4b30-b4d4-039f381d676e@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------65B30C2Jxg0Ypv0tdHiMJc5M"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------65B30C2Jxg0Ypv0tdHiMJc5M
Content-Type: multipart/mixed; boundary="------------w0oBuoXyd51uKM4N09e4X4g3";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <6da0ea59-7912-4be6-a587-5ac0c63c6d1b@suse.com>
Subject: Re: [PATCH v2 24/29] tools/xenstored: split domain_init()
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-25-jgross@suse.com>
 <b84878ff-59f6-424b-9ca6-89c957d963ee@xen.org>
 <40e96237-f55f-4b30-b4d4-039f381d676e@suse.com>
In-Reply-To: <40e96237-f55f-4b30-b4d4-039f381d676e@suse.com>

--------------w0oBuoXyd51uKM4N09e4X4g3
Content-Type: multipart/mixed; boundary="------------Hmoezgqes993JKYBPtMYPbG9"

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

T24gMTMuMTEuMjMgMDk6NTgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IE9uIDEwLjExLjIz
IDE5OjA1LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+PiBIaSBKdWVyZ2VuLA0KPj4NCj4+IE9u
IDEwLzExLzIwMjMgMTY6MDcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gVG9kYXkgZG9t
YWluX2luaXQoKSBpcyBjYWxsZWQgZWl0aGVyIGp1c3QgYmVmb3JlIGNhbGxpbmcgZG9tMF9p
bml0KCkNCj4+PiBpbiBjYXNlIG5vIGxpdmUgdXBkYXRlIGlzIGJlaW5nIHBlcmZvcm1lZCwg
b3IgaXQgaXMgY2FsbGVkIGFmdGVyDQo+Pj4gcmVhZGluZyB0aGUgZ2xvYmFsIHN0YXRlIGZy
b20gcmVhZF9zdGF0ZV9nbG9iYWwoKSwgYXMgdGhlIGV2ZW50DQo+Pj4gY2hhbm5lbCBmZCBp
cyBuZWVkZWQuDQo+Pj4NCj4+PiBTcGxpdCB1cCBkb21haW5faW5pdCgpIGludG8gYSBwcmVw
YXJhdGlvbiBwYXJ0IHdoaWNoIGNhbiBiZSBjYWxsZWQNCj4+PiB1bmNvbmRpdGlvbmFsbHks
IGFuZCBpbiBhIHBhcnQgc2V0dGluZyB1cCB0aGUgZXZlbnQgY2hhbm5lbCBoYW5kbGUuDQo+
Pg0KPj4gTG9va2luZyBhdCB0aGUgY29kZSwgZG9tYWluX2luaXQoKSBtYXkgbm90IGJlIGNh
bGxlZCBpZiAtRCBpcyBwYXNzZWQgdG8gWGVuLiANCj4+IFdpdGggeW91ciBjaGFuZ2UsIHBh
cnQgb2YgaXQgd291bGQgbm90IGJlIGNhbGxlZCB1bmNvbmRpdGlvbmFsbHkuDQo+Pg0KPj4g
U28gZG9lcyAtRCBhY3R1YWxseSBtYWtlIHNlbnNlPyBEaWQgaXQgYWN0dWFsbHkgd29yayBi
ZWZvcmUgeW91ciBjaGFuZ2U/IA0KPj4gU2hvdWxkIGl0IGJlIHJlbW92ZWQ/DQo+IA0KPiBH
b29kIHBvaW50Lg0KPiANCj4gSSB0aGluayBpdCBzaG91bGQgYmUgcmVtb3ZlZC4gSSBkb24n
dCB0aGluayBpdCBjYW4gd29yayBhdCBhbGwuDQoNCkkgZXZlbiB0aGluayB0aGUgIi1OIiBh
bmQgIi1QIiBzaG91bGQgYmUgcmVtb3ZlZCwgdG9vLg0KDQoiLU4iIGlzbid0IHJlYWxseSBf
dGhhdF8gaGVscGZ1bCB3aGVuIGRvaW5nIHRlc3RzLiBBdHRhY2hpbmcgZ2RiIHRvIHRoZQ0K
cnVubmluZyB4ZW5zdG9yZWQgZGFlbW9uIGlzIGJ5IGZhciBzdXBlcmlvci4gQW5kIGlmIHlv
dSBhcmUgdGVzdGluZyBhbnkNCmNoYW5nZXMgaW4gdGhlIGluaXQgY29kZSB5b3UgY2FuIGVh
c2lseSBwYXRjaCB4ZW5zdG9yZWQgbm90IHRvIGRhZW1vbml6ZS4NCg0KIi1QIiBoYXMgbm8g
cmVhbCBwdXJwb3NlIGF0IGFsbC4gV2h5IHdvdWxkIHdlIHdhbnQgdG8gc2hvdyB0aGUgUElE
LCBpZiB3ZQ0KY2FuIGp1c3QgbG9vayBpbnRvIHRoZSBwaWRmaWxlPw0KDQpUaG91Z2h0cz8N
Cg0KDQpKdWVyZ2VuDQoNCg==
--------------Hmoezgqes993JKYBPtMYPbG9
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-----

--------------Hmoezgqes993JKYBPtMYPbG9--

--------------w0oBuoXyd51uKM4N09e4X4g3--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVSCogFAwAAAAAACgkQsN6d1ii/Ey+Y
MQf7Bn8Tx6hd0xlaI229OtKhRlqkvCa2W7rYIsr/Z0XtUjQLr+KLXtP8NH2U86vk/IVVWlHdMaCh
GG8lEwpkcapE2xr55sfl9f1HRQl7vzFoK74pK8B2phmkUIAgFsayG9tPcX5vz/w90JDERY5wnh4y
es0Q4xP9gJ/qrJcXNRTXUu5EXCndtpjfb11aNkpoZVYCxTH92mcFF99Wqgh//8VNcXO+NoyMKI19
jFe06Xqs+wFCz5O0qyU24BMoUUEFBxUbHxW6YWDGXqqbioY/ESbf4Du2KhNbEKVI0xG0TcT6tNtg
a6HLNzvj3Ou6RHbU6wc0mmgIdCRtYOgv+o1JGUsZ5w==
=NAr4
-----END PGP SIGNATURE-----

--------------65B30C2Jxg0Ypv0tdHiMJc5M--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 11:47:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 11:47:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631546.984949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2VPw-0006XU-84; Mon, 13 Nov 2023 11:47:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631546.984949; Mon, 13 Nov 2023 11: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 1r2VPw-0006XN-4w; Mon, 13 Nov 2023 11:47:48 +0000
Received: by outflank-mailman (input) for mailman id 631546;
 Mon, 13 Nov 2023 11:47: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=SuZE=G2=arm.com=Bertrand.Marquis@srs-se1.protection.inumbo.net>)
 id 1r2VPu-0006Tq-Tz
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 11:47:47 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2043.outbound.protection.outlook.com [40.107.7.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7574201a-821a-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 12:47:44 +0100 (CET)
Received: from DU7PR01CA0048.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:50e::17) by PAXPR08MB7350.eurprd08.prod.outlook.com
 (2603:10a6:102:227::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 11:47:14 +0000
Received: from DU6PEPF00009525.eurprd02.prod.outlook.com
 (2603:10a6:10:50e:cafe::f5) by DU7PR01CA0048.outlook.office365.com
 (2603:10a6:10:50e::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Mon, 13 Nov 2023 11:47:14 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF00009525.mail.protection.outlook.com (10.167.8.6) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.13 via Frontend Transport; Mon, 13 Nov 2023 11:47:14 +0000
Received: ("Tessian outbound e243565b0037:v228");
 Mon, 13 Nov 2023 11:47:14 +0000
Received: from d63851659faf.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F010659D-57A1-4E7C-BA56-CD676D3A8DC8.1; 
 Mon, 13 Nov 2023 11:47:02 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d63851659faf.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 13 Nov 2023 11:47:02 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com (2603:10a6:20b:85::25)
 by PAWPR08MB9065.eurprd08.prod.outlook.com (2603:10a6:102:332::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 11:46:57 +0000
Received: from AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::a045:911e:2349:3d8b]) by AM6PR08MB3784.eurprd08.prod.outlook.com
 ([fe80::a045:911e:2349:3d8b%6]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023
 11:46: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: 7574201a-821a-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AFNn3NUr36auTWBsie4V1sSA4HHGfemdZsGtKf1droWm7QZBHFyvf+uC5SWlYQxK8JLNTbbzogtwhaL26BlyUW2jMYQcO9r9g1HqWJpyTSo+ofmjtbrNB+1MfVrv+1mr2eXm3fzVpu/vk8ILTQQXW2SmVtbTUmJ7ZdBUFkw+wentdeD8lxrZ/M0mq4Aa/9zz2lBgG9c3VkT0YpeHfWQeDcd2IB3qveBHdxL7SHh/ThkVUJznDAfsvSUH/nCwYGo5zSnVd5Nm2OznxnAoxjtdbxFN+UgHNvtbhbWA7FugilFjpySinVSMwjUCIAzWPHOpMKME17qP7oaqKqDuO1FMhw==
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=RTWaOxE6dzqJtw23kAT2/4a6cdqCdv9JRCYfJ8OKIxE=;
 b=iT2c62dcZrgc1zw4zuLUjw9xMDLjLrD7R33QXZg5HQY5vIOFGsLy1ZTLyOd0Hs/avE+5+OVEjh0JS8NitOjse2YuNRXecCK5jlGxekxxBidTQ3N2qzMY6YNkV5yps4Ye2lcXCiGb6Tixcv8wibMThx0H5G7kaM0fYR5VzRAf+ecA2GnufTK8i+h4JlngomPcit8pjXiHaqxwV4R3l439tWet6xBRPlVQin1ejfB8n7FYrlUTwhXM3s65pmgJVEazROwiSj6pvJB7yPuH1tViol9uvN8+9LK6qrbbp4YFG6Y+ROaxy+wR0GMKLxnaNZaAFV7y/N6mNkz1vC5E7OT8Hg==
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=RTWaOxE6dzqJtw23kAT2/4a6cdqCdv9JRCYfJ8OKIxE=;
 b=H3obMnqFLZYSBb/3nB9aLPbBU0ACfYiEzQ2Z95fJCMengLOCvpeRSBfbOfjS0tigDsmlXfcf7+69Lbenm+SzTG//MfQtlDg1WkRxwmhjQtbxaPb8Rgm8aZONMrEViML9stBHiUCiQ7xQforb7UpDFigvFnJEnx33jICWH7uAE5g=
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: edc1f45b1b6f4fdb
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bSpkjYtiaGkOS7ufGrThtNUi6hWZoLuEZh9s8HZfjMa3pihdjjsI9gQE2Cc+8d7T3yJJ/ql1MDqEnfTr4/uZju6IO0pSI7j1IWy+Yzpi/LZTQrz4xOeiC288vvg5tsh8mQrCGkT7hQ1azN+g/RrsTN/XhlLC1TtsBqxfYrZCLV1lVoivvLas/REuOabnyEQ07AKPoL84U2AnD/1WSloPlD46yTVy+4dLWbgvFboDOeQqFP3leEmLfy1i84cp0CdcId1A/gEt329N5/EQ4maEFis7N6tSfPCZyHePaoloWL2fHOo0Sv18LstSnI+6YeYgZ37SSgcDbYs0g+5ZtGZzYQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RTWaOxE6dzqJtw23kAT2/4a6cdqCdv9JRCYfJ8OKIxE=;
 b=Zmo7+DHiUSUS+/rh8nHdZMDS0+USasi3PHHU6PQ+R/Q5WKTqb7tXnM7mIhKOfbIqAbuSkfrAXh59x30wPd+vU44TfnlguUBd07Org+QHLiMKONRJBHJqh76EwisOh8f0iByuA2MGv3qQEeIWAnGBzscjbua4SWG9MfroSwmPHbcQOS5bo7GCK7HkLxIVTPiJYN+WyZSExjREeYxPNFhpakw2lyzISWvn8H5XZgiGGNWsVsD8nQEcI5hKQn0fj5bQ6kiIIOvHoqkf5h3ywWdCiO2jGyBdRyvi4yHH/C2Y2sv9LEavzu+YjlPXVxPWv7y22UDuU4nBoURPHMwAY0jE/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=RTWaOxE6dzqJtw23kAT2/4a6cdqCdv9JRCYfJ8OKIxE=;
 b=H3obMnqFLZYSBb/3nB9aLPbBU0ACfYiEzQ2Z95fJCMengLOCvpeRSBfbOfjS0tigDsmlXfcf7+69Lbenm+SzTG//MfQtlDg1WkRxwmhjQtbxaPb8Rgm8aZONMrEViML9stBHiUCiQ7xQforb7UpDFigvFnJEnx33jICWH7uAE5g=
From: Bertrand Marquis <Bertrand.Marquis@arm.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>, 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 v3 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Topic: [PATCH v3 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Index: AQHaEuwOi1mHiP9SFkaZdsiI0By9x7Bx1QmAgAY1JYCAAB4iAA==
Date: Mon, 13 Nov 2023 11:46:57 +0000
Message-ID: <998BB5A5-515C-4656-BD94-9ACC461235E8@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-4-luca.fancellu@arm.com>
 <bec276f9-ea9d-4c9f-887c-358a3f7815fd@amd.com>
 <7C92A577-716B-4D48-B685-3EA0C93AAF5C@arm.com>
In-Reply-To: <7C92A577-716B-4D48-B685-3EA0C93AAF5C@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3784:EE_|PAWPR08MB9065:EE_|DU6PEPF00009525:EE_|PAXPR08MB7350:EE_
X-MS-Office365-Filtering-Correlation-Id: dc1dc805-d17e-4ce4-2955-08dbe43e4777
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:
 7vO3ReRMxRvY2Ndha+Hlr8v5DvN9Je/BCz9/Eilzqdx9zq/CHhHNcu0ZZj+GaviJ+xFwr/tSTbvU1DVaiPeGyO3sKbWjtJEqNG1BH+bvoNyIHGpu5Z56zmV9CuqXGn2BAMIysbBj/+r7NjOUHg6YHCIGBsJIGHnAjMpIgjc/GXK5EYHcuimciJZSjDxjtNcRaJ4HvcOmNBbCQlcnoYx0p8GlqfotswtGohF/GIF+T5LGLayQt7HDd8vckfIxNsIy1gJ8AC0RFFTC56W1Q/fio64ZDgCxub0BWVJ7xGuXvhHWtU/qMsqjIlKS73dK2UGSq0F4zAGOV4wDdoBV90YAgwf8KA7v0ZRaorrhNhoBP2fjpfrNnTts3foN4Oda7B9q9fnAMKAAB0zES1j+rpKBoiX6N139s5JqTTkOsONataPix7aHRWyZqLTlr7sv6KwgcI2yppCN8iMRG5F1KgIIlIvsmsHHk0FQOKKGqMXseYKLwJd0ABjDY5ynoW5glqPpge7oe/ZMKsQpIdEfyQpGDcY8WPu5WnMvZl5cC0ReimNcPeatCBL3RLAQqwnY9jq1gTB/QyVdVwbMrxQbU+snyHmDH1JIDKiXVSbz/ru7s8J+O1K+W3bf9ydMURy/FDVXrBQ8c3M2lsu0KLL4gFep8j830cxIVV7v5QCsLlbEALEnuxZH+exVJbA9E/IUpdkHd/81tVPTPp+4wgDnw99MrA==
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:(13230031)(396003)(366004)(346002)(39860400002)(376002)(136003)(230922051799003)(230273577357003)(230173577357003)(451199024)(186009)(64100799003)(1800799009)(6636002)(26005)(6506007)(53546011)(71200400001)(2616005)(6512007)(83380400001)(5660300002)(4326008)(6862004)(8936002)(8676002)(2906002)(41300700001)(6486002)(478600001)(316002)(91956017)(37006003)(54906003)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(122000001)(36756003)(33656002)(86362001)(38100700002)(38070700009)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <F51679C5EBBBBD49ADF9B2954B072CD4@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9065
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:
 DU6PEPF00009525.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	bbbe5889-492d-4338-4c1a-08dbe43e3d51
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BdPUUeNI6lRzjqMuf8FICdKvr1TbmONAQdK0AerXzixsMnPOwXvelDctEj9Gb3dEKeTeEHJTVsZYVX0+A2T2ul2aexo+8fdpoBQGxTGZDBPPmYeJgMtNMzvlzwJtC5E7F1gBJgCosYxI3PNw23ZE5hQJfadAug1J3rfHuw5ZX4EQOVrZzDEW/Z0hVBwU46Iv2ESXqrpb1BkjO1jjppvcT4OOQ+3bRRqfn1h1Q2LlF09KSPuA/h+w4Vk75IVPlDo1f3xzJHmTfQ1IBodJmEDdTzH7+3I+D42fOZTTQOj0tK2p5/ozdK8Kz+H+cGO5MDd6wTVl8M1ISr4mirgLor9Z3NXt/lCPUBuCuYO5ZBg535XR/s7A6sW4E2tu8qPFHKPNk3hEnKP9xpzBOimxO2ka2snwxkgbdRvyMz9My5YM1piHUhhW8GbEQqF7JrjnRtjbK4NBlfNv+qVXN+3aW88O/YISsZHWoq+tzAk2bEzHGi5BWMfmMQ6JRFR5d36Yybyqgc5odsfVpkfrVhBMiSgB4+6/TTCIEqRH7Hp8RkuhzX1guKYwWuSOo9skag3IMoJiIjShAfccgVerRl0oJMZqm4FG76aFNdqoFp9v5Bt6yzWM9g8wVgzxlKM3kMVHTjHzZOTbTGSvKNt1rOIwzMypXRXNQBBIdfTMbXDJjDXwSzyf9P8tDIX5F6CWAxdpRWQIEnwxwOTjcSiiy5lKjYOIyc6lZsDU0QuAZBtgtfP4QtmNa3s/dW1GLXznkQaTIbe+dyzbbbPusFuHeq9oKWA+cwUxDgEZpZSjfMoi30HlxYo=
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:(13230031)(4636009)(396003)(376002)(39860400002)(136003)(346002)(230273577357003)(230173577357003)(230922051799003)(64100799003)(451199024)(186009)(82310400011)(1800799009)(40470700004)(46966006)(36840700001)(40460700003)(4326008)(6862004)(8676002)(8936002)(316002)(70206006)(70586007)(6636002)(37006003)(54906003)(2906002)(33656002)(41300700001)(86362001)(5660300002)(83380400001)(81166007)(47076005)(356005)(2616005)(107886003)(82740400003)(336012)(26005)(36860700001)(478600001)(36756003)(6486002)(40480700001)(6512007)(53546011)(6506007)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 11:47:14.1154
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dc1dc805-d17e-4ce4-2955-08dbe43e4777
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:
	DU6PEPF00009525.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB7350

SGkgTHVjYSwNCg0KPiBPbiAxMyBOb3YgMjAyMywgYXQgMTA6NTgsIEx1Y2EgRmFuY2VsbHUgPEx1
Y2EuRmFuY2VsbHVAYXJtLmNvbT4gd3JvdGU6DQo+IA0KPj4gDQo+Pj4gDQo+Pj4gVGhlIGZ1bmN0
aW9ucyBhbGxvY2F0ZV9zdGF0aWNfbWVtb3J5IGFuZCBhc3NpZ25fc3RhdGljX21lbW9yeV8xMQ0K
Pj4+IGFyZSBub3cgZXh0ZXJuYWxseSB2aXNpYmxlLCBzbyBwdXQgdGhlaXIgZGVjbGFyYXRpb25z
IGludG8NCj4+PiBkb21haW5fYnVpbGQuaCBhbmQgbW92ZSB0aGUgI2Vsc2UgYW5kIHN0dWIgZGVm
aW5pdGlvbiBpbiB0aGUgaGVhZGVyDQo+Pj4gYXMgd2VsbC4NCj4+PiANCj4+PiBNb3ZlIGlzX2Rv
bTBsZXNzX21vZGUgZnJvbSBzZXR1cC5jIHRvIGRvbTBsZXNzLWJ1aWxkLmMgYW5kIG1ha2UgaXQN
Cj4+PiBleHRlcm5hbGx5IHZpc2libGUuDQo+Pj4gDQo+Pj4gVGhlIGZ1bmN0aW9uIGFsbG9jYXRl
X2JhbmtfbWVtb3J5IGlzIHVzZWQgb25seSBieSBkb20wbGVzcyBjb2RlDQo+Pj4gYXQgdGhlIG1v
bWVudCwgYnV0IGl0J3MgYmVlbiBkZWNpZGVkIHRvIGxlYXZlIGl0IGluIGRvbWFpbl9idWlsZC5j
DQo+Pj4gaW4gY2FzZSB0aGF0IGluIHRoZSBmdXR1cmUgdGhlIGRvbTAgY29kZSBjYW4gdXNlIGl0
Lg0KPj4+IA0KPj4+IFdoZXJlIHNwb3R0ZWQsIGZpeCBjb2RlIHN0eWxlIGlzc3Vlcy4NCj4+PiAN
Cj4+PiBObyBmdW5jdGlvbmFsIGNoYW5nZSBpcyBpbnRlbmRlZC4NCj4+PiANCj4+PiBTaWduZWQt
b2ZmLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+DQo+Pj4gLS0tDQo+
Pj4gQ2hhbmdlcyBmcm9tIHYyOg0KPj4+IC0gbW92ZSBhbGxvY2F0ZV9iYW5rX21lbW9yeSBiYWNr
IGluIGRvbWFpbl9idWlsZC5jLCByZW1vdmUgaGVhZGVyDQo+Pj4gIGZyb20gZG9tMGxlc3MtYnVp
bGQuYy4NCj4+IEkgY2FuIHNlZSB5b3UgcmVtb3ZlZCB0aGUgY29weXJpZ2h0IGZyb20gLmMgYnV0
IC5oIHN0aWxsIGhhcyBpdC4gVGhpcyBhbHNvDQo+PiBhcHBsaWVzIHRvIG90aGVyIG5ld2x5IGlu
dHJvZHVjZWQgZmlsZXMgdGhhdCB3ZXJlIHN1YmplY3Qgb25seSB0byBjb2RlIG1vdmVtZW50Lg0K
PiANCj4gSeKAmXZlIGp1c3QgcmVhZCBhZ2FpbiB5b3VyIGNvbW1lbnQsIEkgcHVzaGVkIHRoZSB2
NCBidXQgcmVtb3ZpbmcgdGhlIGhlYWRlciBvbmx5IGZyb20NCj4gZG9tMGxlc3MtYnVpbGQuaC4N
Cj4gSSBsZWZ0IHRoZSBoZWFkZXIgaW4gdGhlIG90aGVyIHN0YXRpYy0qIGJlY2F1c2UgdGhhdCBJ
IHRoaW5rIHdhcyBjb2RlIHByb2R1Y2VkIGJ5IEFybSwNCj4gcGxlYXNlIGxldCBtZSBrbm93IHlv
dXIgdGhvdWdodHMgYWJvdXQgdGhhdCAoeW91IGFuZCB0aGUgQXJtIG1haW50YWluZXJzKQ0KDQpF
dmVuIGlmIHRydWUsIGFkZGluZyB0aGUgY29weXJpZ2h0IGFmdGVyIGlzIGEgYml0IG9kZC4NCkkg
ZG8gbm90IHRoaW5rIHRoaXMgaXMgY29kZSBvbiB3aGljaCB0aGUgY29weXJpZ2h0IHJlYWxseSBo
YXMgaW1wYWN0IHNvIEkgd291bGQgbm90IGFkZCBpdCBkdXJpbmcgdGhlIG1vdmUuDQoNCkNoZWVy
cw0KQmVydHJhbmQNCg0KPiANCj4gQ2hlZXJzLA0KPiBMdWNhDQo+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 11:59:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 11:59:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631549.984959 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Vas-00022b-6Y; Mon, 13 Nov 2023 11:59:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631549.984959; Mon, 13 Nov 2023 11:59: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 1r2Vas-00022U-2c; Mon, 13 Nov 2023 11:59:06 +0000
Received: by outflank-mailman (input) for mailman id 631549;
 Mon, 13 Nov 2023 11:59: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=hUCv=G2=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r2Vap-00022O-R0
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 11:59:04 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e83::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 07c9161c-821c-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 12:59:02 +0100 (CET)
Received: from MN2PR15CA0011.namprd15.prod.outlook.com (2603:10b6:208:1b4::24)
 by IA1PR12MB6356.namprd12.prod.outlook.com (2603:10b6:208:3e0::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28; Mon, 13 Nov
 2023 11:58:57 +0000
Received: from BL6PEPF0001AB4C.namprd04.prod.outlook.com
 (2603:10b6:208:1b4:cafe::42) by MN2PR15CA0011.outlook.office365.com
 (2603:10b6:208:1b4::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28 via Frontend
 Transport; Mon, 13 Nov 2023 11:58:57 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB4C.mail.protection.outlook.com (10.167.242.70) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.14 via Frontend Transport; Mon, 13 Nov 2023 11:58:57 +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.2507.32; Mon, 13 Nov
 2023 05:58:56 -0600
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.2507.32; Mon, 13 Nov
 2023 05:58:56 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 05:58:55 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 07c9161c-821c-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NYk8yfOjdlssEUXmDAoUERcmGFWdYl33UE4EPwfymPvdW1UUyuaG0yuPMWjtVJ80LJSOOPSvazI/FcMHivQ+dmz+NvAqg+jDJz+6LNy3mDHiFXCxf91hR8dw7ey2GnqTaGWjHQv0BX5qLT4UKzl+5t98pp5+5bl968cLovWuRzrlHzRdNEOReBHWgdv3ZtoizDs9g8eO5iEFpMNoiKVWJNBSc70aczBE9t3o/sShsFNMPgYolYHMILa7oVtlAtirFMMUIw6JhmelSmjE/p8HqzigUXJnCOFdhgLKSCoLufNmvQedtXGU/Al0Rj6pEuQsL4HdMWLATa30922oZcUHBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DFcdHmvglp8nFlt2nI7NLPot0eHOX51TIHzSDCXJ/90=;
 b=ZQ9aP4WX8Ef/YcFewkmTJdfKlzHoADG8q0/qwEfMvgUnahyHowdovCixfqsZ7H99+zaA0plKXXL2J4myjMnXdKvymXgFjVLck/UBDqNxtlArAmg4GG795fQH1jmJkABz9yabkwtbX+0S5/s6T58iJ8m4TQT20h4kXLShgzsTtvLofXV9nuRWrH5oZhlBoeDiIalcv5XOxtxFwVNKXCv8pvuvuXcHky/Zd4CdG76Q97PYJq1ikN2iBpAB7qetWb+hs78z3PnD18BgGb7JV03/mdoXZiyjAZhPDGOCqPMW0pg0fYZcdsxFWSRyLXK96DaRtENS3WtsRqD4qoXJjOVHeA==
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 (0)
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=DFcdHmvglp8nFlt2nI7NLPot0eHOX51TIHzSDCXJ/90=;
 b=eDXkwNA4KHLSuNpOiWz0dOmJtU4e9ZocKeKcmkSio4AmHQ3avJeZ8SQmtFVjEHLulrRs0uAwdIncoba7ZsAGXpZnTZntZAwrm0T0D3jUq+L1WhKIuUrlNRHB/+ye9PSJ3shnMY6U0zLW2jIjsUB5/fHbKKw4TXvh1i+Bz07OMQ4=
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: <8a4431da-7e48-4b71-9f62-154edcc5968c@amd.com>
Date: Mon, 13 Nov 2023 12:58:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: <rahul.singh@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"Julien Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231113090841.595428-1-luca.fancellu@arm.com>
 <20231113090841.595428-4-luca.fancellu@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231113090841.595428-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB4C:EE_|IA1PR12MB6356:EE_
X-MS-Office365-Filtering-Correlation-Id: a5535086-a4c7-42a0-c56c-08dbe43fea8c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	d8eJRmxBiHVcZdFt0ak8tWLOKG3hOTyLcxP035czQUOlKQdYEMjfJzdTEtkvMwDXkd1er+1ljnacDraI+4RGFTWGS5eqOSW4bAG9KAEI3Vz9e0Hw2nGZhLt+PFyzKfKGm3TlCNJjIPmIAHaSM5HY9QnA2u/T+bKKxisck0bHRyeN7XWgplu4/JGPoh72/oXlETfNyI0KKepX2+90SpqTbCfZxxhdbfWCPIfPQPjr8HsupERilW0HE55BKk6RIlRdCZJefbDIez3oSwtyXXdAY0za3KJ3pYQSPyvcBSRCJTwCPZrw3o7w0vCI2QfV9QU7Bt7zEYxqJY2D+qVP044HD7b5hI0PvjlFxdn5Ie3T6CJI979qIdPpBEnRSNuC0VUYFUOKGZsrOqakNvR0ckdkC7z6iVRX6fVYPE2YGfXRJjOAWd1HQKHFk5To8pBrR2V20BxdR1/7MQFgs2CNPBgZkP4ZR63yfaWtL/JKKZikFeYA9IOVMEb4H6c29uk6YJIrpEeN1q3WKjkjDUoTsrqIIOjhCs9ZQQojs5LfljVgh741M5veBFlCgueu3TlVWgKPpgJ9ZMNYc2f3fmA1Y5Cw7WcPg6bGARhipbHs0dJhyotwt1ATX5QR7IcLJPQrT0Hg+EcmbVEtrvE9Sh+itLc+k2WO1lfNWmwtjWSFx5bdyfiKJB3agI7xczCMjGGbEvwMpCVespUUPPKxsux0nuUpR6rnP+Ky6dJzHsmzNs3I39f3+fEAL5o2QnK1sfloFaEXOLwzlK+JeBKKHESzsn9gpgrfYqc5jTh2Cl6+AnVzeNvyjmcRtLv4D4Xo2g2dBNNy31xfBSgXQ++t4BEJmgg/kjXd+ThorYdLDN0oTEQPEagiK9PPj3/KoF+XNeqWjM+t
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:(13230031)(4636009)(346002)(136003)(396003)(39860400002)(376002)(230273577357003)(230922051799003)(230173577357003)(451199024)(64100799003)(82310400011)(186009)(1800799009)(40470700004)(46966006)(36840700001)(110136005)(41300700001)(40480700001)(31686004)(2906002)(40460700003)(83380400001)(5660300002)(8676002)(36756003)(8936002)(44832011)(4326008)(316002)(70206006)(70586007)(86362001)(31696002)(53546011)(478600001)(54906003)(16576012)(26005)(2616005)(81166007)(336012)(426003)(82740400003)(356005)(36860700001)(47076005)(32563001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 11:58:57.1442
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a5535086-a4c7-42a0-c56c-08dbe43fea8c
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:
	BL6PEPF0001AB4C.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6356

Hi Luca,

Apart from pending question on static event channels code movement, a few NITs.

On 13/11/2023 10:08, Luca Fancellu wrote:
> 
> 
> Currently the dom0less feature code is mostly inside domain_build.c
> and setup.c, it is a feature that may not be useful to everyone so
> put the code in a different compilation module in order to make it
> easier to disable the feature in the future.
> 
> Move gic_interrupt_t in domain_build.h to use it with the function
> declaration, move its comment above the declaration.
> 
> The following functions are now visible externally from domain_build
> because they are used also from the dom0less-build module:
>  - get_allocation_size
>  - set_interrupt
>  - domain_fdt_begin_node
>  - make_memory_node
>  - make_resv_memory_node
>  - make_hypervisor_node
>  - make_psci_node
>  - make_cpus_node
>  - make_timer_node
>  - handle_device_interrupts
>  - construct_domain
>  - process_shm
>  - allocate_bank_memory
> 
> The functions allocate_static_memory and assign_static_memory_11
> are now externally visible, so put their declarations into
> domain_build.h and move the #else and stub definition in the header
> as well.
> 
> Move is_dom0less_mode from setup.c to dom0less-build.c and make it
> externally visible.
> 
> The function allocate_bank_memory is used only by dom0less code
> at the moment, but it's been decided to leave it in domain_build.c
> in case that in the future the dom0 code can use it.
> 
> Where spotted, fix code style issues.
> 
> No functional change is intended.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> Changes from v3:
>  - remove header in dom0less-build.h (Michal)
> Changes from v2:
>  - move allocate_bank_memory back in domain_build.c, remove header
>    from dom0less-build.c.
> ---
>  xen/arch/arm/Makefile                     |    1 +
>  xen/arch/arm/dom0less-build.c             | 1018 +++++++++++++++++
>  xen/arch/arm/domain_build.c               | 1265 +++------------------
>  xen/arch/arm/include/asm/dom0less-build.h |   20 +
>  xen/arch/arm/include/asm/domain_build.h   |   60 +
>  xen/arch/arm/include/asm/setup.h          |    1 -
>  xen/arch/arm/setup.c                      |   33 +-
>  7 files changed, 1240 insertions(+), 1158 deletions(-)
>  create mode 100644 xen/arch/arm/dom0less-build.c
>  create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
> 

[...]

> diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
> new file mode 100644
> index 000000000000..022ae61ead7c
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/dom0less-build.h
> @@ -0,0 +1,20 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ARM_DOM0LESS_BUILD_H_
The majority of header files have a guard starting with __ASM so I would stick to the scheme.

> +#define __ARM_DOM0LESS_BUILD_H_
> +
> +#include <asm/kernel.h>
> +
> +void create_domUs(void);
> +bool is_dom0less_mode(void);
> +
> +#endif  /* __ARM_DOM0LESS_BUILD_H_ */
1 space between #endif and comment

> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:b
What does 'b' means here? Only 2 files have that.

The comments apply to other files as well.

Apart from that, the movement LGTM.

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 12:01:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 12:01:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631552.984969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2VdP-000424-MX; Mon, 13 Nov 2023 12:01:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631552.984969; Mon, 13 Nov 2023 12:01: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 1r2VdP-00041x-JQ; Mon, 13 Nov 2023 12:01:43 +0000
Received: by outflank-mailman (input) for mailman id 631552;
 Mon, 13 Nov 2023 12:01: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=uTXO=G2=epam.com=prvs=56810bf7ac=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r2VdO-00041Y-QA
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 12:01:42 +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 66e2c58d-821c-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 13:01:40 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ADASXFq010917; Mon, 13 Nov 2023 12:01:23 GMT
Received: from eur01-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2050.outbound.protection.outlook.com [104.47.1.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ubgy68k20-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 13 Nov 2023 12:01:23 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM9PR03MB7361.eurprd03.prod.outlook.com (2603:10a6:20b:263::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 12:01:18 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.028; Mon, 13 Nov 2023
 12:01: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: 66e2c58d-821c-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CWRBUuRjRMC7E1POftgan6V7i8W97lQYJY97dWfNm3b/IfSUV2D6B8yeD3cIl+55AaMxPT7YoHhL+SRAL3ZZX3NPjuPqVcuEVgzr1WxqcXGFKkO/1HAJrfKGGuQqA/zbYSHRFohwtnCNQRhQad+MvB/1uz5FcT+kSIOrujfVMucptuntrqJlJsRRbMtXlF5yXQdzOEFg/5Cu3U9rZV06Ol73BojxTtxrmvU0mfV7eGUreCYAjKTlfK2F1AVApf+cALdycIbry3FJcpz90kAEx9BWUzjtx2beJS0ex7ocUVSB/n5bKvdgLc5r4Aod/VAdBkXyY1b3mnEFrFqOOguohQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b8HWaLljOA6E56N33T2Bcw4FwTPLTI2ot1+G2GDZiTQ=;
 b=Sd/qJPrl5fHqCs/NH9NozB8WrnRkvkosOlVJPHkFAhrhfC/ZOvUOW6haEBqX3iIz3ou8EvfiiaJi9metqt50sS6fDkpxSwKEezP2mjpXCvWDIcl1kRQweq6atORcvXe4wYlNOsD40dYBFZKLDIPHTdOstbIJTwWMIGkaiDe8P6nkaClQNkpOn/TBFma7/tGlHV5lHtykzOXA3BdsHXcygoB2+5uygBay1wuQaacqQOnPvzGH8Hwe4HzI7fUswbck60zLqYsZa3U3uH2+homp81yShrhTiFrQ16sWGz4hM8u7TfhbDiCPtBLWTfByAKK67jM6i+nLiSVS13RKOW7zNw==
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=b8HWaLljOA6E56N33T2Bcw4FwTPLTI2ot1+G2GDZiTQ=;
 b=ferAa8pUYD34DBTGZI2DZE+ZDu1Qa0eVakqSVB/OXeIFAAEDlOXxPXgS59iXV7+T9DVUMAI/2QyFRWcT95HW68uqxLlmUEpOQtl+56gTzH3FvNcrwaRsn9m5qe3/KWA6qmxoesFtB4wPdQ4Q6opAXKC9qEk5DssOfVSp8bVDfewgez0kCT9oTz6T33Aw34KbfP+TwvB/H5DqWeZjj3O3R132mqK/Rrq5R8qAZbJSwbCNtU/ZBqgQodniUF+OlLxJuKoq5fLpFFx4p+Ej6MmcfpTodlgRxEKqWh1iEP4MuiYwJZyCVA0bOx5+bcCfoY3pyixOCs70vzF/u/nY6chnKg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Peter Maydell <peter.maydell@linaro.org>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony Perard
	<anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:ARM TCG
 CPUs" <qemu-arm@nongnu.org>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 7/7] xen_arm: Add basic virtio-pci support
Thread-Topic: [PATCH v1 7/7] xen_arm: Add basic virtio-pci support
Thread-Index: AQHaFBZpa05Dc66DRUqpQfiy75awpbB3Qk0AgADZWAA=
Date: Mon, 13 Nov 2023 12:01:17 +0000
Message-ID: <87v8a57tgz.fsf@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-8-volodymyr_babchuk@epam.com>
 <6119beefbf169cfa2626acd7201946f3f588fa3e.camel@infradead.org>
In-Reply-To: <6119beefbf169cfa2626acd7201946f3f588fa3e.camel@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM9PR03MB7361:EE_
x-ms-office365-filtering-correlation-id: ac0cacf7-9271-4570-52d0-08dbe4403e19
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 KMAdXJZPhrt//jRAOwnjYK+1hd9xmZnZRPhhLnKvmWmzmxMilFhoiJ8sgqQXhp2GuR3xeEXuqNrippz4pcWv9v4e6S0HkKeicS4GqxevJWL96Hal8hUYUlBjknaNgadg8kjI3ei9uzPVqD8VQvESCLP1vNKb2zIbqQeN3BshOKMEuNLcSzbUOMJmYp5AB36pHWO/HRGPoDZscafzglmD6EV7PbNw0QLlpuM16qh9UxvonMbYLuE3a0xq+oTBYSlQR+0duAaeQ7Dc6jLYZ7eUy/JMqpftNci6PpEPQX8m3vZ+/uiZebe+pkwPSlBwqOCRRHplTdHgVlsgeRGYv96CmZCUpvy9nw4hVthmbEFV2JyMR+rBlQI+01HWT0g620k6FWl80QSszv+kM5Z85bQaM39m9AUqHDHj3EkzIJHCTbroBpbVh/rRPMDHiIIiSrnDMLIoXvTM8huV1QRo4apn8IsAHUPs5z0HhvIxmHu8hJ5LHmIQ1lKtFdmvEPt4C89oU9ffpJX4ZkBp+u2lAG7kGfysxJZfHhzgxhBl10ZT1SLxKxzcv+Uc7v9136nVlOY3764hoXLN7nr57NajU67+we9fKBnDQzt1Af6VvR2wbodLFerwjpAbSIB8l1Mu8bsd
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:(13230031)(376002)(346002)(396003)(366004)(39860400002)(136003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(316002)(54906003)(6512007)(6916009)(66476007)(76116006)(66946007)(66556008)(66446008)(38100700002)(64756008)(4001150100001)(91956017)(8676002)(8936002)(4326008)(6486002)(122000001)(478600001)(36756003)(55236004)(6506007)(5660300002)(86362001)(71200400001)(2616005)(38070700009)(4744005)(2906002)(26005)(41300700001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?bqQhd5idCKV3FScybD0Ubh2mRQSZSXuveLuOl0km3SKhAwTRUTRa7gzS8C?=
 =?iso-8859-1?Q?6G6t5WpVf7xOVM4CgtRGhqSQjVkPwFtl42kqBdQ4Uj8u9xMlCDt1gMbPTy?=
 =?iso-8859-1?Q?uCs6MWzz0JOSn/jYCOpMJjLdUeEw8KWomPZIGl2mfhZBjPuV2Vvu0E3MKO?=
 =?iso-8859-1?Q?wE6xbyp2tDg7vbunpTmM/sIXr8S8mNPmS99tHCaH6oeE7nnMYIeqmS8R/b?=
 =?iso-8859-1?Q?GJmpvvjZl0w9ZETaqaCWq7Gu2kx0G0HT6aeEaugwKgrVyoteI95Qaz8pZN?=
 =?iso-8859-1?Q?lKNbmN7KgboWpthawcuXwdwf4J1i6gpfIdf7BDswIZ4H2EYf/mCO2oqE6K?=
 =?iso-8859-1?Q?ugE6XCGIIWdxtRRd4Cnr36MQZEMHrXYcRrE5F9blp2nSvFzK+L0PStRLec?=
 =?iso-8859-1?Q?qY6YEEX9t9TbGvbqF59eCEaSX+XJe86CmuZedp0TlNnTBOTjr76ZLVbv6H?=
 =?iso-8859-1?Q?QX56GgdupncDJplsGwbyAo8FcQ7inwdpU8gS7LWTRH0T2WAiH0n74RkxsW?=
 =?iso-8859-1?Q?Zk3iIxGNN4OENzaVpfluSyR3cpVI4Szj1JX3+oHMIKk0vGP/oV0z6DBhRV?=
 =?iso-8859-1?Q?2jClegfjL066Fj1KBZM8tmHYuh6iaCNMkDew5DdJxb7hTTNx9Dtn4T3jML?=
 =?iso-8859-1?Q?x80h+ZkY1GLNyIGCKxJAvVjH3ek7pAd1MBdob2qdTdS9ISZ1pz8FjBvYq3?=
 =?iso-8859-1?Q?D+bhh0oig8ayBTrQoVawiuyJKI1qf3pDPMPLKmOw2cRkd5AUG914E5SFHF?=
 =?iso-8859-1?Q?SspqL8IQ0TGfEBl+EeB+FlaUtirUUOXopKVaUkR9Z7mGpg/fqAlZgfFcn7?=
 =?iso-8859-1?Q?pvFeJHipeseG6eiWMJgSgqyl6wnDiSv2/CoWCxZksCPAzHNn5YcwQOBnPX?=
 =?iso-8859-1?Q?x3gYVKnNMQjDch3HhPDvJT4Ja3Idc+lIxGUclyn0X+ZdlQVUb2UBCAWKdP?=
 =?iso-8859-1?Q?Cb1AZ0KY+kcnY1YWuI8eHePU7NDannPJ/LLe4YIve1gjxHi8296RA6/bd0?=
 =?iso-8859-1?Q?xsO4CLKLPaPeCrAOgb2Z1Ika62jQm2iHz6EEyQrjgdpe1PFE2mPI2OnOSk?=
 =?iso-8859-1?Q?i0kSRG/BZCxoPax7GD7+5M7t9HIFnoHt2DQMS0n3MCgz4fozADpsFSxDHf?=
 =?iso-8859-1?Q?4pnwZRaAdC7gEAAhbCeLcXclSRJym53fXHZWlp4g5mDrThqrI6+icKYMg9?=
 =?iso-8859-1?Q?INcfO0MDRHSE54RLYWbjm6f2/h/0Mf8uxQLDwfkVbYzP+EO2xwH9k8AmdJ?=
 =?iso-8859-1?Q?GgYwlDWGn6NfBh1nzflduUviNLh8J/5foe939W8hcZmilGjUi7Tj/qDD1c?=
 =?iso-8859-1?Q?4/7oZZqDvmAJ9KnEEKAO1/uJRfB4H8IWyQp2hpANME3NUG/idqY6gkqQ7l?=
 =?iso-8859-1?Q?3LHg5tJKuKTtrf45TZE0dCdcoPzTjcJqAQHFc/jmBWNcGX+jycRsq1jLa5?=
 =?iso-8859-1?Q?e2OhzJDBVmKYnt57WBnofqtFjDgwRx8hjqJScp7A/wqWv29TbVrYs9LKua?=
 =?iso-8859-1?Q?leW4KoO7uOg6xWCZfMXc7JLgpHvFDeZuDzaGd6A/BOn6/Y+qj7WIAY5nZE?=
 =?iso-8859-1?Q?cmSb4sra7m9XH8FYsEKR4/R1l5WSvY9xjJyfgAFFWKCdgA9Eh8cbKMRgpQ?=
 =?iso-8859-1?Q?5iV1fl5HB+UVd44zcR2SoluayZm6Mjzv/4dT3y3L+HN0tdS6PI7ayuBQ?=
 =?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: ac0cacf7-9271-4570-52d0-08dbe4403e19
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Nov 2023 12:01:17.3422
 (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: /IqfvwlZFhCz+IQ7F1afkYgE2wCq7LBV+uWt73M9BfFT6ZQR2CF28Xf3emcdhM4W5gjqnPJORfIsefZDK/k8L4OXNlOvlvcXQ9FJcJ9PEbE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7361
X-Proofpoint-ORIG-GUID: lb8J4TMKqoVJTvdnmyQhzv-BTlPDqYIf
X-Proofpoint-GUID: lb8J4TMKqoVJTvdnmyQhzv-BTlPDqYIf
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-13_01,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0
 impostorscore=0 malwarescore=0 clxscore=1015 spamscore=0
 priorityscore=1501 mlxscore=0 lowpriorityscore=0 mlxlogscore=276
 bulkscore=0 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311130098


Hi David,

David Woodhouse <dwmw2@infradead.org> writes:

> [[S/MIME Signed Part:Undecided]]
> On Fri, 2023-11-10 at 20:42 +0000, Volodymyr Babchuk wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>=20
>> This patch adds basic virtio-pci support for xen_arm machine.
>
> Why only xen_arm? Couldn't this be a fairly generic device which can be
> instantiated on x86 too, both for real and emulated Xen guests? And
> riscv/ppc too?

This is the architecture-specific code. Actually, from QEMU point of
view, this code just adds a virtual PCI bridge. For example, on x86 this
is done in a some other way, so they already have virtio-pci working.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 12:43:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 12:43:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631559.984988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WHg-0008Og-S8; Mon, 13 Nov 2023 12:43:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631559.984988; Mon, 13 Nov 2023 12: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 1r2WHg-0008OZ-Pc; Mon, 13 Nov 2023 12:43:20 +0000
Received: by outflank-mailman (input) for mailman id 631559;
 Mon, 13 Nov 2023 12: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2WHf-00089i-Ig
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 12:43: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 38436a19-8222-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 13:43:18 +0100 (CET)
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 C32B01F7AB;
 Mon, 13 Nov 2023 12:43: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 88CD61358C;
 Mon, 13 Nov 2023 12:43:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id XFYgIOUZUmVBcQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 12:43: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: 38436a19-8222-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699879397; 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=QB3Q3bk7SIJemBIbBb4h+zwgDJi8hqayh+CtPWg6tiE=;
	b=KtcnXZVgZu36wWLzu28Mmx1APh/eqyos7/+GdRQgihEm0ADrOENBXjx7WBCOPMyT6mjJ+X
	06x4IiD4AtS/F4tD8NiZd3rRnDU+Trnqh5n15mjJuTd/QASiD6LfTUrY9l+gyivuvXJbgc
	vUKpfMN9qqogJVVjhzfRE0Uiy616Iwk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/5] tools/xenstored: remove "-D" command line parameter
Date: Mon, 13 Nov 2023 13:43:05 +0100
Message-Id: <20231113124309.10862-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231113124309.10862-1-jgross@suse.com>
References: <20231113124309.10862-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove the "-D" command parameter, which is disabling initialization of
the mandatory domain data handling.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index edd07711db..8bd4098cb6 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2661,7 +2661,6 @@ static void usage(void)
 "\n"
 "where options may include:\n"
 "\n"
-"  -D, --no-domain-init    to state that xenstored should not initialise dom0,\n"
 "  -F, --pid-file <file>   giving a file for the daemon's pid to be written,\n"
 "  -H, --help              to output this message,\n"
 "  -N, --no-fork           to request that the daemon does not fork,\n"
@@ -2708,7 +2707,6 @@ static void usage(void)
 
 
 static struct option options[] = {
-	{ "no-domain-init", 0, NULL, 'D' },
 	{ "entry-nb", 1, NULL, 'E' },
 	{ "pid-file", 1, NULL, 'F' },
 	{ "event", 1, NULL, 'e' },
@@ -2841,7 +2839,6 @@ int main(int argc, char *argv[])
 	int sock_pollfd_idx = -1;
 	bool dofork = true;
 	bool outputpid = false;
-	bool no_domain_init = false;
 	bool live_update = false;
 	const char *pidfile = NULL;
 	int timeout;
@@ -2850,12 +2847,9 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "DE:F:H::KNPS:t:A:M:Q:q:T:RVW:w:U",
+				  "E:F:H::KNPS:t:A:M:Q:q:T:RVW:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
-		case 'D':
-			no_domain_init = true;
-			break;
 		case 'E':
 			hard_quotas[ACC_NODES].val = get_optval_uint(optarg);
 			break;
@@ -2964,7 +2958,7 @@ int main(int argc, char *argv[])
 	init_pipe(reopen_log_pipe);
 
 	/* Listen to hypervisor. */
-	if (!no_domain_init && !live_update) {
+	if (!live_update) {
 		domain_init(-1);
 		dom0_init();
 	}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 12:43:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 12:43:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631558.984979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WHe-00089x-LZ; Mon, 13 Nov 2023 12:43:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631558.984979; Mon, 13 Nov 2023 12: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 1r2WHe-00089q-Iz; Mon, 13 Nov 2023 12:43:18 +0000
Received: by outflank-mailman (input) for mailman id 631558;
 Mon, 13 Nov 2023 12:43: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2WHc-00089i-Nu
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 12:43:16 +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 35c650bb-8222-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 13:43:14 +0100 (CET)
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 19323218F0;
 Mon, 13 Nov 2023 12:43: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 D30A11358C;
 Mon, 13 Nov 2023 12:43:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id m7U8Mt8ZUmUxcQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 12:43: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: 35c650bb-8222-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699879392; 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=/i7F/3V1P35hT3ryFbqU0Rs6SXpDXF2WAcpIooZ2yhM=;
	b=Ozctk0MTVUBYStq2zh/HLFE44LghRR2q0mTnNV6zv0U/IBSsjGIwgzzVUyDf6yOK2rrveT
	YEiUSLcT98r4V3kK2uSdwAYi7SQE2W3WKLA8yGe64UIykgi51malyE3ZItHGOV0IqQkuRa
	1KaE1CKLpm6QTdqKTjkD1drhAqQenVU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 0/5] tools/xenstored: remove some command line options
Date: Mon, 13 Nov 2023 13:43:04 +0100
Message-Id: <20231113124309.10862-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Remove some command line options which have no real use case.

Juergen Gross (5):
  tools/xenstored: remove "-D" command line parameter
  tools/xenstored: remove "-V" command line option
  tools/xenstored: remove the "-P" command line option
  tools/xenstored: remove "-N" command line option
  tools/xenstored: remove the "-R" command line option

 tools/xenstored/core.c | 81 +++++++-----------------------------------
 1 file changed, 12 insertions(+), 69 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 12:43:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 12:43:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631560.984998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WHm-0000FR-3U; Mon, 13 Nov 2023 12:43:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631560.984998; Mon, 13 Nov 2023 12:43: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 1r2WHm-0000FD-0r; Mon, 13 Nov 2023 12:43:26 +0000
Received: by outflank-mailman (input) for mailman id 631560;
 Mon, 13 Nov 2023 12:43: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2WHl-00089i-Db
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 12:43:25 +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 3b9666bf-8222-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 13:43:23 +0100 (CET)
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 553261F6E6;
 Mon, 13 Nov 2023 12:43: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 27AEE1358C;
 Mon, 13 Nov 2023 12:43:23 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wMJQCOsZUmVMcQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 12:43: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: 3b9666bf-8222-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699879403; 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=j5WOtX2yVjlS0aYlXkxj9AGdR0ePAmBESYfcA64cAHk=;
	b=L2D1MztA4LpEenUM4Ef9MdvKL9EPsFbbxcCTSaSKmTMjXjIN1p3wd9hekJ1YRejm21tPCP
	mwz337gjr3UMmqwy3xCGz6+qtTQMjg/tJVQDnn+CvIl/Q/PTWfsDptSvxva++NzGgurZqP
	lKM+lxMJvWZdh6yiGfMTRWOqzXEtl7E=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 2/5] tools/xenstored: remove "-V" command line option
Date: Mon, 13 Nov 2023 13:43:06 +0100
Message-Id: <20231113124309.10862-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231113124309.10862-1-jgross@suse.com>
References: <20231113124309.10862-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The "-V" (verbose) command line option is nearly completely redundant
with "io" tracing. Just the time of the printed data is a little bit
different, while the tracing is more informative.

Remove the verbose option.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c | 20 ++------------------
 1 file changed, 2 insertions(+), 18 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 8bd4098cb6..3e31e74933 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -76,7 +76,6 @@ static int sock = -1;
 int orig_argc;
 char **orig_argv;
 
-static bool verbose = false;
 LIST_HEAD(connections);
 int tracefd = -1;
 static bool recovery = true;
@@ -329,11 +328,6 @@ static bool write_messages(struct connection *conn)
 		return true;
 
 	if (out->inhdr) {
-		if (verbose)
-			xprintf("Writing msg %s (%.*s) out to %p\n",
-				sockmsg_string(out->hdr.msg.type),
-				out->hdr.msg.len,
-				out->buffer, conn);
 		ret = conn->funcs->write(conn, out->hdr.raw + out->used,
 					 sizeof(out->hdr) - out->used);
 		if (ret < 0)
@@ -2134,11 +2128,6 @@ static bool process_delayed_message(struct delayed_request *req)
 
 static void consider_message(struct connection *conn)
 {
-	if (verbose)
-		xprintf("Got message %s len %i from %p\n",
-			sockmsg_string(conn->in->hdr.msg.type),
-			conn->in->hdr.msg.len, conn);
-
 	conn->is_stalled = false;
 	/*
 	 * Currently, Live-Update is not supported if there is active
@@ -2701,8 +2690,7 @@ static void usage(void)
 "  -R, --no-recovery       to request that no recovery should be attempted when\n"
 "                          the store is corrupted (debug only),\n"
 "  -K, --keep-orphans      don't delete nodes owned by a domain when the\n"
-"                          domain is deleted (this is a security risk!)\n"
-"  -V, --verbose           to request verbose execution.\n");
+"                          domain is deleted (this is a security risk!)\n");
 }
 
 
@@ -2726,7 +2714,6 @@ static struct option options[] = {
 	{ "timeout", 1, NULL, 'w' },
 	{ "no-recovery", 0, NULL, 'R' },
 	{ "keep-orphans", 0, NULL, 'K' },
-	{ "verbose", 0, NULL, 'V' },
 	{ "watch-nb", 1, NULL, 'W' },
 #ifndef NO_LIVE_UPDATE
 	{ "live-update", 0, NULL, 'U' },
@@ -2847,7 +2834,7 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "E:F:H::KNPS:t:A:M:Q:q:T:RVW:w:U",
+				  "E:F:H::KNPS:t:A:M:Q:q:T:RW:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
 		case 'E':
@@ -2884,9 +2871,6 @@ int main(int argc, char *argv[])
 		case 'K':
 			keep_orphans = true;
 			break;
-		case 'V':
-			verbose = true;
-			break;
 		case 'W':
 			hard_quotas[ACC_WATCH].val = get_optval_uint(optarg);
 			break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 12:43:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 12:43:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631561.985008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WHr-0000Zl-Bn; Mon, 13 Nov 2023 12:43:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631561.985008; Mon, 13 Nov 2023 12: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 1r2WHr-0000Za-8n; Mon, 13 Nov 2023 12:43:31 +0000
Received: by outflank-mailman (input) for mailman id 631561;
 Mon, 13 Nov 2023 12:43: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2WHq-0000Xf-DH
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 12:43: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 3eda6225-8222-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 13:43:29 +0100 (CET)
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 0A8C01F6E6;
 Mon, 13 Nov 2023 12:43: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 C7CB31358C;
 Mon, 13 Nov 2023 12:43:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id /SveLvAZUmVecQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 12:43: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: 3eda6225-8222-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699879409; 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=xRSn0Gy55koV3sSKwt+Dit5JVjBiMtzOaatQj6/2xAg=;
	b=WtjyZt1bUbqDzRzKi3TNDcyZqzHxw9u3RrlgA8p60wWhpGOKSU0L0qGLWZYnQFwLPoLYQU
	h9pVfu6r4ys9aKoOoLiW0FPZ64AQleEjI8JRBAO/+1kO2aiLxKWWYVaVLULmhO8dKkiAQ1
	Uxx7/oChtkx6c6uAWxIQJrWmd9lc7l4=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 3/5] tools/xenstored: remove the "-P" command line option
Date: Mon, 13 Nov 2023 13:43:07 +0100
Message-Id: <20231113124309.10862-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231113124309.10862-1-jgross@suse.com>
References: <20231113124309.10862-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The "-P" command line option just results in printing the PID of the
xenstored daemon to stdout before stdout is being closed. The same
information can be retrieved from the PID file via the "-F" option.

Remove the redundant "-P" option.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 3e31e74933..5a6378316a 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2653,7 +2653,6 @@ static void usage(void)
 "  -F, --pid-file <file>   giving a file for the daemon's pid to be written,\n"
 "  -H, --help              to output this message,\n"
 "  -N, --no-fork           to request that the daemon does not fork,\n"
-"  -P, --output-pid        to request that the pid of the daemon is output,\n"
 "  -T, --trace-file <file> giving the file for logging, and\n"
 "      --trace-control=+<switch> activate a specific <switch>\n"
 "      --trace-control=-<switch> deactivate a specific <switch>\n"
@@ -2702,7 +2701,6 @@ static struct option options[] = {
 	{ "help", 0, NULL, 'H' },
 	{ "no-fork", 0, NULL, 'N' },
 	{ "priv-domid", 1, NULL, 'p' },
-	{ "output-pid", 0, NULL, 'P' },
 	{ "entry-size", 1, NULL, 'S' },
 	{ "trace-file", 1, NULL, 'T' },
 	{ "trace-control", 1, NULL, 1 },
@@ -2825,7 +2823,6 @@ int main(int argc, char *argv[])
 	int opt;
 	int sock_pollfd_idx = -1;
 	bool dofork = true;
-	bool outputpid = false;
 	bool live_update = false;
 	const char *pidfile = NULL;
 	int timeout;
@@ -2834,7 +2831,7 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "E:F:H::KNPS:t:A:M:Q:q:T:RW:w:U",
+				  "E:F:H::KNS:t:A:M:Q:q:T:RW:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
 		case 'E':
@@ -2849,9 +2846,6 @@ int main(int argc, char *argv[])
 		case 'N':
 			dofork = false;
 			break;
-		case 'P':
-			outputpid = true;
-			break;
 		case 'R':
 			recovery = false;
 			break;
@@ -2947,11 +2941,6 @@ int main(int argc, char *argv[])
 		dom0_init();
 	}
 
-	if (outputpid) {
-		printf("%ld\n", (long)getpid());
-		fflush(stdout);
-	}
-
 	/* redirect to /dev/null now we're ready to accept connections */
 	if (dofork && !live_update)
 		finish_daemonize();
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 12:43:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 12:43:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631562.985019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WHw-0000vc-QN; Mon, 13 Nov 2023 12:43:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631562.985019; Mon, 13 Nov 2023 12:43: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 1r2WHw-0000vN-MP; Mon, 13 Nov 2023 12:43:36 +0000
Received: by outflank-mailman (input) for mailman id 631562;
 Mon, 13 Nov 2023 12:43: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2WHv-0000Xf-CD
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 12:43:35 +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 4235acd8-8222-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 13:43:34 +0100 (CET)
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 A4D061F6E6;
 Mon, 13 Nov 2023 12:43: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 79B9E1358C;
 Mon, 13 Nov 2023 12:43:34 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 49hYHPYZUmVlcQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 12: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: 4235acd8-8222-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699879414; 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=gXFEuOQILoQ662ByGndYuFK8T/I1cGHZaW2+4BFFJh0=;
	b=dPpPJ73dgn+aVMAN0urQUULQx/TSKIU4NIB5XuDlkZa0GebmigrBe93oXM66rffQVaded0
	gw/X9KX2p578k+3REdcOxjJtpUk8jSCj3CnrWDTdju4s7+An6/mwGkodHoKkfb29mXzhCP
	VdT7SGyZweX0ISXzNvbRA7L3264TOyY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 4/5] tools/xenstored: remove "-N" command line option
Date: Mon, 13 Nov 2023 13:43:08 +0100
Message-Id: <20231113124309.10862-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231113124309.10862-1-jgross@suse.com>
References: <20231113124309.10862-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The "-N" (do not daemonize) command line option is of questionable use:
its sole purpose seems to be to aid debugging of xenstored by making it
easier to start xenstored under gdb, or to see any debug messages
easily.

Debug messages can as well be sent to syslog(), while gdb can be
attached to the daemon easily. The only not covered case is an error
while initializing xenstored, but this could be handled e.g. by saving
a core dump, which can be analyzed later.

The call of talloc_enable_leak_report_full() done only with "-N"
specified is no longer needed, as the same can be achieved via
"xenstore-control memreport".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
Slightly RFC, as this is making debugging a little bit harder in
specific cases. OTOH I didn't use this option since years, in spite of
having done a _lot_ of xenstore hacking.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c | 26 +++++++-------------------
 1 file changed, 7 insertions(+), 19 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 5a6378316a..c3cfef0965 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2652,7 +2652,6 @@ static void usage(void)
 "\n"
 "  -F, --pid-file <file>   giving a file for the daemon's pid to be written,\n"
 "  -H, --help              to output this message,\n"
-"  -N, --no-fork           to request that the daemon does not fork,\n"
 "  -T, --trace-file <file> giving the file for logging, and\n"
 "      --trace-control=+<switch> activate a specific <switch>\n"
 "      --trace-control=-<switch> deactivate a specific <switch>\n"
@@ -2699,7 +2698,6 @@ static struct option options[] = {
 	{ "event", 1, NULL, 'e' },
 	{ "master-domid", 1, NULL, 'm' },
 	{ "help", 0, NULL, 'H' },
-	{ "no-fork", 0, NULL, 'N' },
 	{ "priv-domid", 1, NULL, 'p' },
 	{ "entry-size", 1, NULL, 'S' },
 	{ "trace-file", 1, NULL, 'T' },
@@ -2822,7 +2820,6 @@ int main(int argc, char *argv[])
 {
 	int opt;
 	int sock_pollfd_idx = -1;
-	bool dofork = true;
 	bool live_update = false;
 	const char *pidfile = NULL;
 	int timeout;
@@ -2831,7 +2828,7 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "E:F:H::KNS:t:A:M:Q:q:T:RW:w:U",
+				  "E:F:H::KS:t:A:M:Q:q:T:RW:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
 		case 'E':
@@ -2843,9 +2840,6 @@ int main(int argc, char *argv[])
 		case 'H':
 			usage();
 			return 0;
-		case 'N':
-			dofork = false;
-			break;
 		case 'R':
 			recovery = false;
 			break;
@@ -2911,18 +2905,13 @@ int main(int argc, char *argv[])
 	/* Errors ignored here, will be reported when we open files */
 	mkdir(xenstore_daemon_rundir(), 0755);
 
-	if (dofork) {
-		openlog("xenstored", 0, LOG_DAEMON);
-		if (!live_update)
-			daemonize();
-	}
+	openlog("xenstored", 0, LOG_DAEMON);
+	if (!live_update)
+		daemonize();
+
 	if (pidfile)
 		write_pidfile(pidfile);
 
-	/* Talloc leak reports go to stderr, which is closed if we fork. */
-	if (!dofork)
-		talloc_enable_leak_report_full();
-
 	/* Don't kill us with SIGPIPE. */
 	signal(SIGPIPE, SIG_IGN);
 
@@ -2942,11 +2931,10 @@ int main(int argc, char *argv[])
 	}
 
 	/* redirect to /dev/null now we're ready to accept connections */
-	if (dofork && !live_update)
+	if (!live_update)
 		finish_daemonize();
 #ifndef __MINIOS__
-	if (dofork)
-		xprintf = trace;
+	xprintf = trace;
 #endif
 
 	signal(SIGHUP, trigger_reopen_log);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 12:43:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 12:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631563.985029 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WI4-0001OV-2M; Mon, 13 Nov 2023 12:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631563.985029; Mon, 13 Nov 2023 12:43: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 1r2WI3-0001OO-VF; Mon, 13 Nov 2023 12:43:43 +0000
Received: by outflank-mailman (input) for mailman id 631563;
 Mon, 13 Nov 2023 12: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=N+lR=G2=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2WI2-00089i-3f
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 12:43: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 45b691b4-8222-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 13:43:40 +0100 (CET)
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 5C1FC218F1;
 Mon, 13 Nov 2023 12:43: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 2F4711358C;
 Mon, 13 Nov 2023 12:43:40 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id foUqCvwZUmVzcQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 13 Nov 2023 12:43: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: 45b691b4-8222-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699879420; 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=e446G+xhnceZo0d5puzVNgBcr2j5egvLiaV1XBFhMhk=;
	b=KNIGDnA5bPPhkylE+AV8izI7gRoOYYwWNuwAo/JEqdt0cHSklk2yCi6qpq4/8UOS1yFFWW
	r69ovYsJU+7UQKkMrQzg0HlVzCYIPwpOR3S6Q/mX5Ufl2o/KBbCxJ2WcGGQzkq4VJLe1rN
	pGrpLlx+YrxIW5RzNN/+yJ4D3zc5Alg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 5/5] tools/xenstored: remove the "-R" command line option
Date: Mon, 13 Nov 2023 13:43:09 +0100
Message-Id: <20231113124309.10862-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231113124309.10862-1-jgross@suse.com>
References: <20231113124309.10862-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The "-R" (no recovery) command line option enables to omit fixing the
node store in case of detected inconsistencies.

This might have been of interest in the past, when the node data base
was kept in a file, but now the usability of this option is zero.

Remove the "-R" option.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index c3cfef0965..9d6a5684b8 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -78,7 +78,6 @@ char **orig_argv;
 
 LIST_HEAD(connections);
 int tracefd = -1;
-static bool recovery = true;
 bool keep_orphans = false;
 static int reopen_log_pipe[2];
 static int reopen_log_pipe0_pollfd_idx = -1;
@@ -2443,9 +2442,6 @@ int remember_string(struct hashtable *hash, const char *str)
  * have a corresponding child node (and if so, delete them).  Each valid child
  * is then recursively checked.
  *
- * No deleting is performed if the recovery flag is cleared (i.e. -R was
- * passed on the command line).
- *
  * As we go, we record each node in the given reachable hashtable.  These
  * entries will be used later in clean_store.
  */
@@ -2462,8 +2458,7 @@ static int check_store_step(const void *ctx, struct connection *conn,
 
 	if (hashtable_search(data->reachable, (void *)node->name)) {
 		log("check_store: '%s' is duplicated!", node->name);
-		return recovery ? WALK_TREE_RM_CHILDENTRY
-				: WALK_TREE_SKIP_CHILDREN;
+		return WALK_TREE_RM_CHILDENTRY;
 	}
 
 	if (remember_string(data->reachable, node->name))
@@ -2479,7 +2474,7 @@ static int check_store_enoent(const void *ctx, struct connection *conn,
 {
 	log("check_store: node '%s' not found", name);
 
-	return recovery ? WALK_TREE_RM_CHILDENTRY : WALK_TREE_OK;
+	return WALK_TREE_RM_CHILDENTRY;
 }
 
 
@@ -2504,8 +2499,7 @@ static int clean_store_(const void *key, void *val, void *private)
 	}
 	if (!hashtable_search(reachable, name)) {
 		log("clean_store: '%s' is orphaned!", name);
-		if (recovery)
-			db_delete(NULL, name, NULL);
+		db_delete(NULL, name, NULL);
 	}
 
 	talloc_free(name);
@@ -2685,8 +2679,6 @@ static void usage(void)
 "  -w, --timeout <what>=<seconds>   set the timeout in seconds for <what>,\n"
 "                          allowed timeout candidates are:\n"
 "                          watch-event: time a watch-event is kept pending\n"
-"  -R, --no-recovery       to request that no recovery should be attempted when\n"
-"                          the store is corrupted (debug only),\n"
 "  -K, --keep-orphans      don't delete nodes owned by a domain when the\n"
 "                          domain is deleted (this is a security risk!)\n");
 }
@@ -2708,7 +2700,6 @@ static struct option options[] = {
 	{ "quota", 1, NULL, 'Q' },
 	{ "quota-soft", 1, NULL, 'q' },
 	{ "timeout", 1, NULL, 'w' },
-	{ "no-recovery", 0, NULL, 'R' },
 	{ "keep-orphans", 0, NULL, 'K' },
 	{ "watch-nb", 1, NULL, 'W' },
 #ifndef NO_LIVE_UPDATE
@@ -2828,7 +2819,7 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "E:F:H::KS:t:A:M:Q:q:T:RW:w:U",
+				  "E:F:H::KS:t:A:M:Q:q:T:W:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
 		case 'E':
@@ -2840,9 +2831,6 @@ int main(int argc, char *argv[])
 		case 'H':
 			usage();
 			return 0;
-		case 'R':
-			recovery = false;
-			break;
 		case 'S':
 			hard_quotas[ACC_NODESZ].val = get_optval_uint(optarg);
 			break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 13:00:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 13:00:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631577.985039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WYd-0001FO-Gq; Mon, 13 Nov 2023 13:00:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631577.985039; Mon, 13 Nov 2023 13:00: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 1r2WYd-0001FH-DD; Mon, 13 Nov 2023 13:00:51 +0000
Received: by outflank-mailman (input) for mailman id 631577;
 Mon, 13 Nov 2023 13:00: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=uTXO=G2=epam.com=prvs=56810bf7ac=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r2WYb-0001FA-TN
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 13:00:50 +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 a984ece0-8224-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 14:00:48 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ADASfpn001334; Mon, 13 Nov 2023 13:00:36 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ubg6x902t-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 13 Nov 2023 13:00:35 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB9174.eurprd03.prod.outlook.com (2603:10a6:10:47a::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.21; Mon, 13 Nov
 2023 13:00:32 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.028; Mon, 13 Nov 2023
 13: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: a984ece0-8224-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NqZPa8dIR1ubxN2QlRGCfOcWSStixVusJqTADZRHSLo94lxtQ/xxtIaQds+B964DOaOwPTv15+HuHliPui/61OxgrNsLWc9RfC7HSEU02+V4U9EvnyEVvgGC7rtlc/xDq4EwNCfa01IUg6y/721z3yzEsFh85BH5erlRpLtUIPVTZ1uxDz36O8cTe3Z0AwxjwSYa9CBbphObBm95UC+iYrXwZGU045OoAo0YNuV5O4CfulmpgmTYqGCkPfj+r8ceEHivigKxjPnA415LbG1iCU263zj2fjZnhenR+l7xjbP589b5z2z4nUO1iEvHsVCW+5Al54qiadh/ITvqLKpoww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oQzdyFmHSxrCbdjsBwVJqlOeGwPxXs4lNxMNphdlySQ=;
 b=Yn7V2kc7G2bTZhBJyJFh7ys8Q4TpiOhVgGMlOjmQWkYgl/Tb4lAlQzGL9MNYRFHjFs3beNgyii1PWmb9B6AK51J9RrQ083ZTfKtgfn9EwXoNjwG2hYb75rRwtDc1Azwp0mlfQJgqrCqMzLaY+bAB/YQsAmfzpXzfSwI+X8IldVkgn/t0RptDWfoinZ3cqwneRrrOtyHWHARW/8RxPf5AJBUHSPP02RZzNqZ1qRaBtRfmvhos2tWHcy/SiAwvWbObfCESeYl+0Jzykb2869yxZX5NsGPEO+y5Wyy9ALAUfTUsD2KW3a8gpVlMD1y6wq7sDbp2/VswkZGo1XQ16Dnoww==
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=oQzdyFmHSxrCbdjsBwVJqlOeGwPxXs4lNxMNphdlySQ=;
 b=mHC2FWj3nc2Mc1LmTxEFAE8dGt2WkoOIEXPK01F6mliN9SSGyzXJBHgM+LIVKOvG7Eb2vZMx663A/urisugVxlK5frdC/K6rrAHQ5SPn+Coktuvlnh2e3BautIfni3FvCiVCWrjsixhmzfA4bfYIdP6uezEZI9xgpoD3Iut/HNedAGlkRFCjuIBMbecl/MHrgjV2FmtusdCEbjYZpn7gwJ37B1K0R7aq3mGlkwAShkdvV1TiW3YqKtUAfnMfR1kJ4VEUKaIKccv4oUkeCrtjvKrWxUEJr4eOlA88lrNEdIfXqSzj1NtiOXrlPNowTQBRFD7gtz34dhaIbMeCqfXb0w==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Paul Durrant
	<paul@xen.org>, "Michael S. Tsirkin" <mst@redhat.com>,
        Marcel Apfelbaum
	<marcel.apfelbaum@gmail.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Richard
 Henderson <richard.henderson@linaro.org>,
        Eduardo Habkost
	<eduardo@habkost.net>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony
 Perard <anthony.perard@citrix.com>,
        "open  list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 3/7] xen: xenstore: add possibility to preserve owner
Thread-Topic: [PATCH v1 3/7] xen: xenstore: add possibility to preserve owner
Thread-Index: AQHaFBZoS99E/RofVU6d/7dbafCRirB09L6AgANCSwA=
Date: Mon, 13 Nov 2023 13:00:32 +0000
Message-ID: <87il657qq8.fsf@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-4-volodymyr_babchuk@epam.com>
 <4481f0fe9eb282333fd967b7ece590ead78ccdba.camel@infradead.org>
In-Reply-To: <4481f0fe9eb282333fd967b7ece590ead78ccdba.camel@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB9174:EE_
x-ms-office365-filtering-correlation-id: bc5eef80-e71e-4afc-e59e-08dbe44884fb
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 jYoVyYcWJ7fLEholzMieuesDFmH8yFs5FuGVnR+I/xO2rzNM7Q/zdJccJZzHiQrAvFHhL5qmsvSYvU8I10vZnEKs1UkzI8MfV3aHqrNWU7K2OwROqfR2VF4OkJrSW2wZv8IbkJmgi/SyG4pl+g/GDvKvPQAMjY1XoAgLYGQNPYZTRXT+PfY2nONWXe13UNUM1W5YYzwsAFo6IBJUfazmZ0asE64juzkWqwGktTZfMNB9r0eN9odsnLhYKOrsGrOWV4S8R3ID7PWeIfokow02+B48xZuhh+Q41Juh8X7AIKCvj6H+87oHb/09Fj5FsBr+TyNyiVaZF2GtEYAXVbG8VE4s/1VrC9RrYa02GG/u2kNrOVjLZlxEpCfK9ux5qgl4zIycxoFxD+IioeRGhk3azAGrpvjRCrb2AWXR/mkHpHp+rqJgIyYK5P8BbeZoqtbiZpHzDDBJ2GCqp+QBDYl9ttlxLSQ1fbGFENsd916FYmYbXTMW2rEsI0KGKMkEi0NArf9eTz4s2M5DiLi09oLShbG6bEmT6OH1rJeQACz8DrhDbH++8n4fzjJZ+YGyozRCAUbCDFOL1EOddBpkGcWxt+RKTM0atq3XhMW06qwW5ssWz15LndGpSvgaj5YppxeZ
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:(13230031)(396003)(376002)(346002)(366004)(136003)(39860400002)(230922051799003)(1800799009)(451199024)(64100799003)(186009)(83380400001)(2906002)(71200400001)(122000001)(4001150100001)(66899024)(38070700009)(478600001)(38100700002)(86362001)(41300700001)(316002)(64756008)(6916009)(54906003)(91956017)(66446008)(6486002)(66476007)(66946007)(66556008)(76116006)(36756003)(8936002)(8676002)(4326008)(5660300002)(6506007)(7416002)(55236004)(2616005)(6512007)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?SzMwSEM4MktuQkJPZFRhakRSeGo0aW50ODlBWjdtY2dJNG9Wa2JFRmJGZnFY?=
 =?utf-8?B?N1FVZ3N0K0dJOTR1eDRmTFdnZUJac0YyN0FWRDEzWGZGZFhralpxVkJhbEp1?=
 =?utf-8?B?NnoxYjlKTmp0U3ZRM2x2NHUvUys3OTBVOTNNL3dYQ0pEdStLTlBabE9kM1Jm?=
 =?utf-8?B?RFdTbEVKQXpaLzNlcjhHdU0zdVFScGkxZWF6VmlmTERRMm5xTmlSUWMvd2dI?=
 =?utf-8?B?TGJzS3pITkhCVkhjL1BRNmZiVHc0NEt1R2VuWFBIVnZScm01Z1dZZlBPc09h?=
 =?utf-8?B?QmN4a0N4VTJOclRDdHhyRml5VlNEM04ybnNTcTVTY2JzbTVHNTJ4M1FvRXJ0?=
 =?utf-8?B?RmkvMmhxQ0wzMGNTUk4vd1lxSy9LMUlvSUE0OUFjdXBLSklvbXpWQ2FoL2hL?=
 =?utf-8?B?RzU4NGZxdGk1MzF6RVQ1eDhIbU0reXVvVFp5cUl4Qk1ET2N1clpuelBzYjRv?=
 =?utf-8?B?ZEh3UzNRdjVFd3Q3MUpvVDI0Q0hEdHF5eXJQcW83ejdvSVdQZW5jbkZPTGlY?=
 =?utf-8?B?bFp1L3A0NnBEM1E3L29UWHNrRHUvank1YXFMM0xIbC9hcFhmcUlWOXozWnY4?=
 =?utf-8?B?SGlVSytRRE9raWtIQmxuditnNEdlZko2NndQSHFjQmpYZ3lCaWJ6WXZCbkVJ?=
 =?utf-8?B?cUhHS3pZeldJcVZ3T0NEWUdUdHg3R2tuZFhzZ0ROcnRqUTZIcGlQLytMMjFY?=
 =?utf-8?B?RWZISWxGbGRvckRHUy9UaXNoOHhjeTk1bFVFeC9zdUYrdDNBcnR0MmU2U3pa?=
 =?utf-8?B?a1Myd0gyYXRmQWQ3YzhMS01oVGdtRCtJUStTSTNORk5OSzFJSjJTUFd2bGRV?=
 =?utf-8?B?Y3JVM1JYVmpZUU1hOWpPdGQzdHR3clJ6aWp1L3pLSzdQczM4cFlmWnVTck9C?=
 =?utf-8?B?Y0pQUVpDWUpDOUN5Q2h6ZEF5a2E3eU5yM0M1T0JFbEN4am1Wd2YvbUFMQmFP?=
 =?utf-8?B?Y2NqZHM2a1BNYThva1NHNjhraTVVcy9SbFZweDU3VE9NZm9GZDlmcmNwWCtE?=
 =?utf-8?B?YXV5SmpScVp2UFNsNmxHY0Q3S2xtL01LamlnbVpHemgyRzY2eXVoV1U1ZVlK?=
 =?utf-8?B?MlhkUWVjdWIrSlFkQXQ5OW1mTVdLQTg0VnR4cUVNWHZ0elVqY09Edll6bjNM?=
 =?utf-8?B?VXVNRmpYOFJmSnlHekdDTUhBc28zeVBDU1JmeUdRM2d1TW92TnpEVTk0NEcz?=
 =?utf-8?B?akNnakhEM0ZJZk5NUzQzeTNybGFNNEwyYk9icXR1K1ZzTVhkL0pBSXRKKzVT?=
 =?utf-8?B?b0xYeGNmYi9GZitrb0FCUHlsRFlZYzZLNE52bUUzQ3MrVHQxc3NXWTh4ZjBK?=
 =?utf-8?B?bWNmWDduVkZKQTJGUSt6Q2pjZkY3K2dzWkF5WU1CY2RpbEtaeG1RRFZuZ1pJ?=
 =?utf-8?B?UUxVQzJsUHhOajZwRjNhbFJONXFKTE1KYTZhZVZ6eURZVDVraFRmR3lNZDRw?=
 =?utf-8?B?dGN1b0VtOC9iajZQYlVzL1ZlMk55RGZwbXVBMXBtNFBXSWZWdzVKbXFKTjcx?=
 =?utf-8?B?ejFBOFpnZ3Z3RENpQlNrRHh2TEZJZlp5dFdtZHdnM0EydjNPUzJ2Ty9XaDhz?=
 =?utf-8?B?WTMzaW43d2NWTCtWMm1PbXB6bGtXTUovcVhlZzIvSk43bU1vRGoxWGczWU96?=
 =?utf-8?B?U1V0WDdESFM2cFRZZ3NZN2lhTkJFMTAwalZtekE5MGE1ZHM2NUJUbDRQYitw?=
 =?utf-8?B?ZFJrRHUvRjh2TGtEZFdnNTIzSmV6TFVScWN6am10VkN5bUlUOVVpeFhoMkUy?=
 =?utf-8?B?VjZIc01IZWVzcVlFY2IrZ0NhUHZMdFpPRzFCR2lQMk5DaEs1N1dNcVZBeE92?=
 =?utf-8?B?WW5KRCszL0VmeXBKam1LVGNBK0ZaMWpXOU1EZGt6V0ZmS1NyeC9BMHVHeU1h?=
 =?utf-8?B?R0VJZ1F4K05POVE4VklMQ1NQb0lCcnR3b0huUHZxTTZxdVpFVmo0NE5zbWlq?=
 =?utf-8?B?TjRSemJFMWFMTFhYdWpoNWEwL05XVHo2Q3h4ZCtNRVlhZmJ3SmdDblZLWUdp?=
 =?utf-8?B?SEdqMy8yQnFNOXRYR0pKOURwUFlPekJPQko0eHgvUGtyS0VIbXBoUnNiazRz?=
 =?utf-8?B?dCtscExjN1VoK3VvSFM2SGlXNjZTTXRQVnk2Z0toYlJxUVdSTUFYVXVreEdN?=
 =?utf-8?B?WkpNeWRCOVhnYXUvaXpvaG5JbHNGSlBackw4MWRaQk12UXFwWGNra1lHYkJp?=
 =?utf-8?B?YlE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <BE7C76E3A8155D4B9E692B69F4C30D71@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bc5eef80-e71e-4afc-e59e-08dbe44884fb
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Nov 2023 13:00:32.2902
 (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: UqKK+1GnCus81WE08TX7mfkqAG9fmBdEpFyQKb7n89smqHcGFDVsCp+flmuEudWnZsL03Le5FBKrYw7UttW/fPb/x7kAn29fSve6Skn8tvg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9174
X-Proofpoint-GUID: PsOBja4TMjeViiLWGXF5AACpVC7SPyoH
X-Proofpoint-ORIG-GUID: PsOBja4TMjeViiLWGXF5AACpVC7SPyoH
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-13_03,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1015
 priorityscore=1501 mlxscore=0 impostorscore=0 adultscore=0 malwarescore=0
 spamscore=0 lowpriorityscore=0 phishscore=0 mlxlogscore=999 bulkscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000
 definitions=main-2311130106

SGkgRGF2aWQsDQoNCkRhdmlkIFdvb2Rob3VzZSA8ZHdtdzJAaW5mcmFkZWFkLm9yZz4gd3JpdGVz
Og0KDQo+IFtbUy9NSU1FIFNpZ25lZCBQYXJ0OlVuZGVjaWRlZF1dDQo+IE9uIEZyaSwgMjAyMy0x
MS0xMCBhdCAyMDo0MiArMDAwMCwgVm9sb2R5bXlyIEJhYmNodWsgd3JvdGU6DQo+PiBBZGQgb3B0
aW9uIHRvIHByZXNlcnZlIG93bmVyIHdoZW4gY3JlYXRpbmcgYW4gZW50cnkgaW4gWGVuIFN0b3Jl
LiBUaGlzDQo+PiBtYXkgYmUgbmVlZGVkIGluIGNhc2VzIHdoZW4gUWVtdSBpcyB3b3JraW5nIGFz
IGRldmljZSBtb2RlbCBpbiBhDQo+PiBkb21haW4gdGhhdCBpcyBEb21haW4tMCwgZS5nLiBpbiBk
cml2ZXIgZG9tYWluLg0KPj4gDQo+PiAib3duZXIiIHBhcmFtZXRlciBmb3IgcWVtdV94ZW5feHNf
Y3JlYXRlKCkgZnVuY3Rpb24gY2FuIGhhdmUgc3BlY2lhbA0KPj4gdmFsdWUgWFNfUFJFU0VSVkVf
T1dORVIsIHdoaWNoIHdpbGwgbWFrZSBzcGVjaWZpYyBpbXBsZW1lbnRhdGlvbiB0bw0KPj4gZ2V0
IG9yaWdpbmFsIG93bmVyIG9mIGFuIGVudHJ5IGFuZCBwYXNzIGl0IGJhY2sgdG8NCj4+IHNldF9w
ZXJtaXNzaW9ucygpIGNhbGwuDQo+PiANCj4+IFNpZ25lZC1vZmYtYnk6IFZvbG9keW15ciBCYWJj
aHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4NCj4NCj4gSSBsaWtlIHRoaXMsIGFsdGhv
dWdoIEknZCBsaWtlIGl0IG1vcmUgaWYgWGVuU3RvcmUgaXRzZWxmIG9mZmVyZWQgdGhpcw0KPiBm
YWNpbGl0eSByYXRoZXIgdGhhbiBtYWtpbmcgUUVNVSBkbyBpdC4NCg0KWGVuU3RvcmUgaXRzZWxm
IGVuc3VyZXMgdGhhdCBhY2Nlc3MgcmlnaHRzIGFyZSBpbmhlcml0ZWQuIFRoZSBwcm9ibGVtDQpp
cyB3aXRoIHFlbXVfeGVuX3hzX2NyZWF0ZSgpIGZ1bmN0aW9uIHRoYXQgZG9lcyB0d28gdGhpbmdz
IGF0IGEgdGltZToNCmNyZWF0ZXMgYSBuZXcgZW50cnkgYW5kIHRoZW4gYXNzaWducyBwZXJtaXNz
aW9ucywgb3ZlcndyaXRpbmcgYW55DQpwZXJtaXNzaW9ucyB0aGF0IGV4aXN0ZWQgYmVmb3JlLg0K
DQo+IENhbiB3ZSBtYWtlIGl0IGFidW5kYW50bHkgY2xlYXINCj4gdGhhdCBYU19QUkVTRVJWRV9P
V05FUiBpcyBhIFFFTVUgaW50ZXJuYWwgdGhpbmc/DQoNCkl0IGlzIGRlZmluZWQgaW4geGVuX2Jh
Y2tlbmRfb3BzLmggd2hpY2ggaXMgaW50ZXJuYWwgUUVNVSBpbnRlcmZhY2UgZm9yDQpYZW5TdG9y
ZS4gRG8geW91IGhhdmUgYW55IHN1Z2dlc3Rpb25zIGhvdyB0byBtYWtlIGl0IGV2ZW4gY2xlYXJl
cj8NCg0KPj4gwqBody9pMzg2L2t2bS94ZW5feGVuc3RvcmUuY8KgwqDCoMKgwqDCoCB8IDE4ICsr
KysrKysrKysrKysrKysrKw0KPj4gwqBody94ZW4veGVuLW9wZXJhdGlvbnMuY8KgwqDCoMKgwqDC
oMKgwqDCoCB8IDEyICsrKysrKysrKysrKw0KPj4gwqBpbmNsdWRlL2h3L3hlbi94ZW5fYmFja2Vu
ZF9vcHMuaCB8wqAgMiArKw0KPj4gwqAzIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKykN
Cj4+IA0KPj4gZGlmZiAtLWdpdCBhL2h3L2kzODYva3ZtL3hlbl94ZW5zdG9yZS5jIGIvaHcvaTM4
Ni9rdm0veGVuX3hlbnN0b3JlLmMNCj4+IGluZGV4IDY2MGQwYjcyZjkuLjdiODk0YTk4ODQgMTAw
NjQ0DQo+PiAtLS0gYS9ody9pMzg2L2t2bS94ZW5feGVuc3RvcmUuYw0KPj4gKysrIGIvaHcvaTM4
Ni9rdm0veGVuX3hlbnN0b3JlLmMNCj4+IEBAIC0xNTcyLDYgKzE1NzIsMjQgQEAgc3RhdGljIGJv
b2wgeHNfYmVfY3JlYXRlKHN0cnVjdCBxZW11X3hzX2hhbmRsZSAqaCwgeHNfdHJhbnNhY3Rpb25f
dCB0LA0KPj4gwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gZmFsc2U7DQo+PiDCoMKgwqDCoCB9DQo+
PiDCoA0KPj4gK8KgwqDCoCBpZiAob3duZXIgPT0gWFNfUFJFU0VSVkVfT1dORVIpIHsNCj4+ICvC
oMKgwqDCoMKgwqDCoCBHTGlzdCAqcGVybXM7DQo+PiArwqDCoMKgwqDCoMKgwqAgY2hhciBsZXR0
ZXI7DQo+PiArDQo+PiArwqDCoMKgwqDCoMKgwqAgZXJyID0geHNfaW1wbF9nZXRfcGVybXMoaC0+
aW1wbCwgMCwgdCwgcGF0aCwgJnBlcm1zKTsNCj4+ICvCoMKgwqDCoMKgwqDCoCBpZiAoZXJyKSB7
DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBlcnJubyA9IGVycjsNCj4+ICvCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsNCj4+ICvCoMKgwqDCoMKgwqDCoCB9DQo+DQo+IEkg
Z3Vlc3Mgd2UgZ2V0IGF3YXkgd2l0aG91dCBhIHJhY2UgaGVyZSBiZWNhdXNlIGl0J3MgYWxsIGlu
dGVybmFsIGFuZA0KPiB3ZSdyZSBob2xkaW5nIHRoZSBRRU1VIGlvdGhyZWFkIG11dGV4PyBQZXJo
YXBzIGFzc2VydCB0aGF0Pw0KPg0KDQpJIGFtIG5vdCBxdWl0ZSBmYW1pbGlhciB3aXRoIFFFTVUg
aW50ZXJuYWxzLCBidXQgd2h5IHdlIGRvIHdlIG5lZWQNCmFzc2VydCBoZXJlPyB4ZV9iZV9jcmVh
dGUoKSBjYWxscyB4c19pbXBsKiBmdW5jdGlvbiBiZWZvcmUgYW5kIGFmdGVyDQp0aGlzIHBhcnQu
IElzIHRoaXMgcGllY2Ugb2YgY29kZSBzcGVjaWFsIGluIHNvbWUgd2F5Pw0KDQoNCj4+ICvCoMKg
wqDCoMKgwqDCoCBpZiAoc3NjYW5mKHBlcm1zLT5kYXRhLCAiJWMldSIsICZsZXR0ZXIsICZvd25l
cikgIT0gMikgew0KPg0KPiBJJ2QgYmUgc2xpZ2h0bHkgaGFwcGllciBpZiB5b3UgdXNlZCBwYXJz
ZV9wZXJtKCkgZnJvbSB4ZW5zdG9yZV9pbXBsLmMsDQo+IGJ1dCBpdCdzIHN0YXRpYyBzbyBJIHN1
cHBvc2UgdGhhdCdzIGZhaXIgZW5vdWdoLg0KPg0KDQpZZXMsIEkgd2FudGVkIHRvIHVzZSB0aGF0
IGZ1bmN0aW9uLCBidXQgaXQgaXMgaW50ZXJuYWwgZm9yDQp4ZW5zdG9yZV9pbXBsLmMNCg0KSSBj
YW4gcmVuYW1lIGl0IHRvIHhzX2ltcGxfcGFyc2VfcGVybSgpIGFuZCBtYWtlIGl0IHB1YmxpYywg
aWYgeW91DQpiZWxpZXZlIHRoYXQgdGhpcyBpcyBhIGJldHRlciBhcHByb2FjaC4NCg0KPj4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgZXJybm8gPSBFRkFVTFQ7DQo+PiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCBnX2xpc3RfZnJlZV9mdWxsKHBlcm1zLCBnX2ZyZWUpOw0KPj4gK8KgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgcmV0dXJuIGZhbHNlOw0KPj4gK8KgwqDCoMKgwqDCoMKgIH0NCj4+ICvCoMKg
wqDCoMKgwqDCoCBnX2xpc3RfZnJlZV9mdWxsKHBlcm1zLCBnX2ZyZWUpOw0KPj4gK8KgwqDCoCB9
DQo+PiArDQo+PiDCoMKgwqDCoCBwZXJtc19saXN0ID0gZ19saXN0X2FwcGVuZChwZXJtc19saXN0
LA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgeHNfcGVybV9hc19zdHJpbmcoWFNfUEVSTV9OT05FLCBvd25lcikpOw0KPj4g
wqDCoMKgwqAgcGVybXNfbGlzdCA9IGdfbGlzdF9hcHBlbmQocGVybXNfbGlzdCwNCj4+IGRpZmYg
LS1naXQgYS9ody94ZW4veGVuLW9wZXJhdGlvbnMuYyBiL2h3L3hlbi94ZW4tb3BlcmF0aW9ucy5j
DQo+PiBpbmRleCBlMDA5ODNlYzQ0Li4xZGY1OWIzYzA4IDEwMDY0NA0KPj4gLS0tIGEvaHcveGVu
L3hlbi1vcGVyYXRpb25zLmMNCj4+ICsrKyBiL2h3L3hlbi94ZW4tb3BlcmF0aW9ucy5jDQo+PiBA
QCAtMzAwLDYgKzMwMCwxOCBAQCBzdGF0aWMgYm9vbCBsaWJ4ZW5zdG9yZV9jcmVhdGUoc3RydWN0
IHFlbXVfeHNfaGFuZGxlICpoLCB4c190cmFuc2FjdGlvbl90IHQsDQo+PiDCoMKgwqDCoMKgwqDC
oMKgIHJldHVybiBmYWxzZTsNCj4+IMKgwqDCoMKgIH0NCj4+IMKgDQo+PiArwqDCoMKgIGlmIChv
d25lciA9PSBYU19QUkVTRVJWRV9PV05FUikgew0KPj4gK8KgwqDCoMKgwqDCoMKgIHN0cnVjdCB4
c19wZXJtaXNzaW9ucyAqdG1wOw0KPj4gK8KgwqDCoMKgwqDCoMKgIHVuc2lnbmVkIGludCBudW07
DQo+PiArDQo+PiArwqDCoMKgwqDCoMKgwqAgdG1wID0geHNfZ2V0X3Blcm1pc3Npb25zKGgtPnhz
aCwgMCwgcGF0aCwgJm51bSk7DQo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKHRtcCA9PSBOVUxMKSB7
DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gZmFsc2U7DQo+PiArwqDCoMKgwqDC
oMKgwqAgfQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHBlcm1zX2xpc3RbMF0uaWQgPSB0bXBbMF0uaWQ7
DQo+PiArwqDCoMKgwqDCoMKgwqAgZnJlZSh0bXApOw0KPj4gK8KgwqDCoCB9DQo+PiArDQo+DQo+
IERvbid0IHNlZSB3aGF0IHNhdmVzIHlvdSBmcm9tIHNvbWVvbmUgZWxzZSBjaGFuZ2luZyBpdCBh
dCB0aGlzIHBvaW50IG9uDQo+IHRydWUgWGVuIHRob3VnaC4gV2hpY2ggaXMgd2h5IEknZCBwcmVm
ZXIgWGVuU3RvcmUgdG8gZG8gaXQgbmF0aXZlbHkuDQo+DQoNCk9oLCBJIG1pc3NlZCB0aGUgdHJh
bnNhY3Rpb24gcGFyYW1ldGVyLiBNeSBiYWQuIFdpbGwgZml4IGluIHRoZSBuZXh0DQp2ZXJzaW9u
Lg0KDQo+PiDCoMKgwqDCoCByZXR1cm4geHNfc2V0X3Blcm1pc3Npb25zKGgtPnhzaCwgdCwgcGF0
aCwgcGVybXNfbGlzdCwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBBUlJBWV9TSVpFKHBlcm1zX2xpc3QpKTsNCj4+IMKgfQ0K
Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvaHcveGVuL3hlbl9iYWNrZW5kX29wcy5oIGIvaW5jbHVk
ZS9ody94ZW4veGVuX2JhY2tlbmRfb3BzLmgNCj4+IGluZGV4IDkwY2NhODVmNTIuLjI3M2U0MTQ1
NTkgMTAwNjQ0DQo+PiAtLS0gYS9pbmNsdWRlL2h3L3hlbi94ZW5fYmFja2VuZF9vcHMuaA0KPj4g
KysrIGIvaW5jbHVkZS9ody94ZW4veGVuX2JhY2tlbmRfb3BzLmgNCj4+IEBAIC0yNjYsNiArMjY2
LDggQEAgdHlwZWRlZiB1aW50MzJfdCB4c190cmFuc2FjdGlvbl90Ow0KPj4gwqAjZGVmaW5lIFhT
X1BFUk1fUkVBRMKgIDB4MDENCj4+IMKgI2RlZmluZSBYU19QRVJNX1dSSVRFIDB4MDINCj4+IMKg
DQo+PiArI2RlZmluZSBYU19QUkVTRVJWRV9PV05FUsKgwqDCoMKgwqDCoMKgIDB4RkZGRQ0KPj4g
Kw0KPj4gwqBzdHJ1Y3QgeGVuc3RvcmVfYmFja2VuZF9vcHMgew0KPj4gwqDCoMKgwqAgc3RydWN0
IHFlbXVfeHNfaGFuZGxlICooKm9wZW4pKHZvaWQpOw0KPj4gwqDCoMKgwqAgdm9pZCAoKmNsb3Nl
KShzdHJ1Y3QgcWVtdV94c19oYW5kbGUgKmgpOw0KPg0KPiBbW0VuZCBvZiBTL01JTUUgU2lnbmVk
IFBhcnRdXQ0KDQoNCi0tIA0KV0JSLCBWb2xvZHlteXI=


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 13:02:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 13:02:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631580.985048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WaS-0001rh-W1; Mon, 13 Nov 2023 13:02:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631580.985048; Mon, 13 Nov 2023 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 1r2WaS-0001ra-TM; Mon, 13 Nov 2023 13:02:44 +0000
Received: by outflank-mailman (input) for mailman id 631580;
 Mon, 13 Nov 2023 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=uTXO=G2=epam.com=prvs=56810bf7ac=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r2WaR-0001rU-PX
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 13:02:43 +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 ed6d8a28-8224-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 14:02:41 +0100 (CET)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ADARw9l019551; Mon, 13 Nov 2023 13:02:26 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ua1hsvr8u-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 13 Nov 2023 13:02:26 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAWPR03MB9738.eurprd03.prod.outlook.com (2603:10a6:102:2ed::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 13:02:22 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.028; Mon, 13 Nov 2023
 13:02: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: ed6d8a28-8224-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gkHRNeN+tO0UfriVYDlDqK5KbfR7ev/4T6NApol17koTz7KINxTR8FkhJiJp3cH8BywL+ComU6RGD4XCHvDDc9xF+q5jjoB9aGiAfxAvjynH2yEbRQWefnHzYfXi0HEnOQ0BkL1Li9me8n2juOw5GinW1FxNLXiA6pMcbNOiDgNAkb/NYsahs+FlK5akWGggmVc0Qn7cnQvf8kJ71KTk0g8JlS6x7bJEIgMxw4sEcBxbtxL0Y/pQG9VIc1rVay93NoERjnQrjxBcdv9kMHnsKTSFZPRfNuDLcr3KeT6MoDSw6Mtil84hd+eNRihDXxxzj8fCSq8S+CPSjT9etMQPLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S0Bsvp0tx3SsNLe9WoHGxEV0h1Mr9my0t6sIA3cMthw=;
 b=BZgdk4xPs5178q3sqr4NJD5jPbNtE9NVBzSTpuaxrhClcr+GZy2MXZGvZ3QSkyO5oOlV5dOhsEOvRZLU7cKmhqHdimuzAldbdsWfTuCeBYKA7CvKfB6av6M5a4LudZM1/nT8zVU53BEL3wDgiZi+M8g1TXfWpB0PQ5CQ6WgPF6PprhzbpO+u9XUBIwAao6lMC9T6Wlowz+Hb0IcWdwh1eKKuGgLwDSgYQSU4MALVUbq+mFWOg45YpcST2ZyXP61wPFRz6/ezZ6bYOBqm9PBTiTSMXOlodBTN1blsNFMncDFTvmO5bY25DUek4KoxiBQLjLKdnRjr5zoyZI132R/78g==
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=S0Bsvp0tx3SsNLe9WoHGxEV0h1Mr9my0t6sIA3cMthw=;
 b=kS54Llb9yCmjZaAJKgOpkNNmeupdwSc9EbzhwiEX9JDk41VbtHrTCMSI16iEUN1RfGjXdgfEQxYvgPGEy5g7CPlGsyXVMCHx+c8BU5sRZoFkmLkLYVmUX88uROtOA7iNa5Me9eHKfh5Xvy3hZFwfG0FyllWPF15SgMygEkgSPuSrjeh7nJ8lTImiV4ooIcBGn7qEwjUWTEj7Eh211S7mHr/yvTDSg+VTAzD7uzObmgV5Z/BImvUHFrEQzbxJCyHOKHIDSCCBbxLYM07PFJRX4sC8LcquM0rKpk0MTvcJdp1AVGWmdOmAdtL9ouAkcnhXgN5QkSti0wLtEcKZ3vmGZg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Paul Durrant
	<paul@xen.org>, "Michael S. Tsirkin" <mst@redhat.com>,
        Marcel Apfelbaum
	<marcel.apfelbaum@gmail.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Richard
 Henderson <richard.henderson@linaro.org>,
        Eduardo Habkost
	<eduardo@habkost.net>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony
 Perard <anthony.perard@citrix.com>,
        "open  list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 3/7] xen: xenstore: add possibility to preserve owner
Thread-Topic: [PATCH v1 3/7] xen: xenstore: add possibility to preserve owner
Thread-Index: AQHaFBZoS99E/RofVU6d/7dbafCRirB09L6AgAI+uwCAAQc9AA==
Date: Mon, 13 Nov 2023 13:02:22 +0000
Message-ID: <8734x97qn6.fsf@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-4-volodymyr_babchuk@epam.com>
 <4481f0fe9eb282333fd967b7ece590ead78ccdba.camel@infradead.org>
 <9cdd033411f5c15920762808891f278001073c6b.camel@infradead.org>
In-Reply-To: <9cdd033411f5c15920762808891f278001073c6b.camel@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAWPR03MB9738:EE_
x-ms-office365-filtering-correlation-id: 7421e2ad-b6df-4fef-4cef-08dbe448c67e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 mtFIG+3Cd2m5/X+G1HIDoTWu1iZJKH2TMAgB/D5okYTg/iaWmbHkBwOnbqNyhnDFRIKfWvH/5zXJQgesSG8sK5Mn9o0mR90eXSWTuMLDt/cGsMKuFqqvdsD4asolFk5tvswTLdDM9gxCXZZKX1Vv8bHAkG1cVmk2pwU39CN6QvjKtPVUv9hmMOU6HHHO7bZ8qcTeZi36hVtWeR4F7EtaPwKAnjAOFsFe9LJJaBtW5qEav1xXyBQcpePq3i9mijjyTK5mmN6F1TPcapYz6qjkC088VPZm4YTk/WOf3yM0/RkzdX36825+I5u2o+PdZO8j/A/S2IiA4B/DxNhLWpcd8F6oSZ9eAIpFd0qBjCfPE9O532wWy0Lz2jjjL7GJwui6P3t172B5skNJxo8zAdB+euNrl8qE3LoQ7O/CC+DwnqNkdpi/yilJEym/jeMogKfC6QUzPbghpHmvuBc6YBEYWb4iomMHYXM8+DzBMqclHqg0LvntdZkQ0vMyisnUXGEDl4puvfq3fpkvk47/a7L7+oivAJEztZmvA9y+p/48pURb3zJ8xycLvAT7Ns2oyL5zeMPPT1r5vasvqF//KuRSpZ8qsR2QgJUNNyTJKUSEh8C15SiDIMV7/p9QAMS+4rp+
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:(13230031)(396003)(376002)(136003)(366004)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(26005)(55236004)(6506007)(71200400001)(2616005)(6512007)(5660300002)(8676002)(8936002)(41300700001)(4326008)(7416002)(2906002)(4001150100001)(6486002)(478600001)(6916009)(91956017)(66446008)(54906003)(64756008)(66556008)(66946007)(76116006)(66476007)(122000001)(316002)(36756003)(86362001)(38100700002)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?cXNOOGhONlJJUDhlRFZDWElWNzJWWHVjMHZyUUE3RXFBRGdFUDdTNEVvanN1?=
 =?utf-8?B?MnduK2NveEg5cGpSU0hYaksvYkV4ajEyNThlUE56ZG94SnYwNnFSa09LZy85?=
 =?utf-8?B?bHlXaWJxOEdvSGcvV2RrN09ERE03WWxNVDNQRmJzTTJUVjhpcHZvb21jSTQ3?=
 =?utf-8?B?UnUvVVA4cGJqL21aRHVJVHQya2YwZTEreUIvZmFLL0ZJdmdrV0lFd1duakVU?=
 =?utf-8?B?RXB0SmY2U2dWR1VUMFFSeTJLUSttZWQzRDNxbEpyM3Q0c1pISzlMWFVRN3Nu?=
 =?utf-8?B?M1hteDNoVW5TMjBnTkMrVzF6bU1oeWdJUnQzL0F3aHExSTNaTzl4VDkxTkJP?=
 =?utf-8?B?NEF1N2RxdTNoenpWYy9OZnFaVW4wOFYrS3pyUHhGcmN5OUEzZDYwN1pZbXp1?=
 =?utf-8?B?MGk1RkQvcTlRcUdOUXVDaHMyRUxqOUNVTzZLM3BvVjhIQVNiNVRIS2FaaTFr?=
 =?utf-8?B?MFZ6Wmx4aUtpaHpvN0NKTnRPME4rUjZQcitqWTUyRzBvK01hbVFqZVNXYmRp?=
 =?utf-8?B?d2J5djRiYnh1cUxHYS9qTzlYWVVpUnNrSy83ZVhkUW56bE91VnJBZHZwVjdC?=
 =?utf-8?B?SnRuVHlXTzBsR3d1cDVtQ1ZvRVk4eGxxY3o1VEdmVzlDVVhRNHNmV1B5RkFX?=
 =?utf-8?B?dkJtTGNFWWI1Mk5BdmI1NGI2NzJOYkt3SUcvd0dtYmdxTEVTZ2JqYlQrT29u?=
 =?utf-8?B?WFErdHp3YVU0dWI4OS9Ca1MzWUZ6Vzg5UE9sdkFqL2EwL1lUQ0xyRnQwRnFN?=
 =?utf-8?B?T0Z6NTNIL25IMllxZmx4ZHpHbTY2cHdVQUpuZWlMMGkrUFNwR1BuRVZSemI2?=
 =?utf-8?B?cVFMa1NBS1pkMFNleHFjM2E0OXlFRURWaTZNamg0d3c2cUJwZ1kvK01DcHpL?=
 =?utf-8?B?QmtOK0trQWRqNEZ0aDM4ZysxT3c3N0pSQlpuVkpaTFhPNWUySjZObE5iVk5I?=
 =?utf-8?B?SG5RL1hKdTBvSkM1WUxTa0FJZ0M2M3lvcVN6VFlIQUFaN2hwa2U0LzBBMWlx?=
 =?utf-8?B?OEd0VzBYYVpNYWNVSXJubTUyNkVGZW5kbVU1aGU5VW5lS29YYjNYd2JwZ3hv?=
 =?utf-8?B?SnU0YnRSMDE3Z3hsbW11R2lSSjU1MmozT3pkdDYwdFM3RytHbVVMaGxHR3Nw?=
 =?utf-8?B?SFl4bHRiQmZTU0VOZ2c5dUtzcG9HbCtmMHY2NGtHL1ZFZ2dramRnTjVLRXlV?=
 =?utf-8?B?SFZTRG15d2l0WTRhYXE5VjVJV1AxcXJQVEtjMHpXZk9KSXdNbjMvdk9vWFBo?=
 =?utf-8?B?TDFFNjQvNHR0dkZ4YUNscnZLa29YMnFtbkpUMDFMenRXVnZzN3NJc04rSTBR?=
 =?utf-8?B?ZDVaRDhubnVkWERzdjJCSUdsUXdRWnJ1STlYWVp2TmdWaXorb0t5OVJ2L0Ux?=
 =?utf-8?B?MEphSURhV2VaemtpeE9JL3pGOEhzcVVVS1FxTHFsS09Udnk0Z21jbVRoV2VQ?=
 =?utf-8?B?TzE2QmRMRWNoT0xQdTZkVFJkQU9WaThQSkV5dzNCUzhBNmd2TmhuaWY3OHJT?=
 =?utf-8?B?WVRZZkNkb3NrbjdrWlBWWllKMnZPT0RDNXZJdVYrY1lneDNCZDJ1ZnQ0blBT?=
 =?utf-8?B?dEtqbW1pNUxSUnY0UE9FYkl6OVNJZkt0Z0xTVDZjUk9DRkVwMVdTR2xFUWpj?=
 =?utf-8?B?aVpsRXVySkpIMFYybjcvbDVNVHhjWWl3VDlmV0V5ZmF1UEdIZUtFRS96aDdR?=
 =?utf-8?B?TzM1RTI3Q0xKWWUvYkpVUFFHSWsydzRGS1c4NTJCNytmb2w3dzRzemFnejI1?=
 =?utf-8?B?emtHTjdMaUZVaTRDeGppRGFiTFRXV1E1Q1hnZEF1Uzk1a2xja21HeU1BaFN6?=
 =?utf-8?B?T1RiUlhwTDRsWkxtdzB0WlNPcklHYnJhc056Z2lGc1lyS0JpdlNQMElQaXBl?=
 =?utf-8?B?VFU0OG5oZXNqWFprYzNpWmNqc3lPQTI0U24yb0k5ZE44bWtsYUFMTGFOQ1VZ?=
 =?utf-8?B?TUlzTzE1Zkt6L3I3M1NhaVI2RHl3allJVHRTa2NwTit0YWNaQXBBRkpJUFA1?=
 =?utf-8?B?NjA3TUNIM29mRVRremJDbmR5ZDBrRVRrSEpxb1F6ZnhSbDNTMlBQY2txR0Qz?=
 =?utf-8?B?aFAwam9JUy9UbHhmMEo5UElLT1RLMGhUTWM5UGRSTzU1UEI2VFlVamdPWU4w?=
 =?utf-8?B?TG82SWZaQW9pSXNZZmNDTnRoczhDL1lwZ3RYS09lWjgreUt6UHArV1FwNFpj?=
 =?utf-8?B?a3c9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7D187F897717AE4DAA02C962164DA4E2@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7421e2ad-b6df-4fef-4cef-08dbe448c67e
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Nov 2023 13:02:22.1769
 (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: xdILqG2dy5H+bFMGOmoLkqd2aRg8bIVMTn+iT3RRVpP8uWMEU58I1bfna1XadbCt4enXKdxsfUFq0ZZ/8OXXpvnGSutNGvwblFAYUhbdUFU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR03MB9738
X-Proofpoint-ORIG-GUID: AUMvUFhYStGjO8aSxv2pBW2cp3sDsE0D
X-Proofpoint-GUID: AUMvUFhYStGjO8aSxv2pBW2cp3sDsE0D
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-13_03,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=781 spamscore=0
 adultscore=0 priorityscore=1501 lowpriorityscore=0 impostorscore=0
 malwarescore=0 bulkscore=0 clxscore=1015 phishscore=0 suspectscore=0
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311130106

DQpIaSBEYXZpZCwNCg0KRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPiB3cml0
ZXM6DQoNCj4gW1tTL01JTUUgU2lnbmVkIFBhcnQ6VW5kZWNpZGVkXV0NCj4gT24gU2F0LCAyMDIz
LTExLTExIGF0IDExOjAxICswMDAwLCBEYXZpZCBXb29kaG91c2Ugd3JvdGU6DQo+PiANCj4+ID4g
LS0tIGEvaHcveGVuL3hlbi1vcGVyYXRpb25zLmMNCj4+ID4gKysrIGIvaHcveGVuL3hlbi1vcGVy
YXRpb25zLmMNCj4+ID4gQEAgLTMwMCw2ICszMDAsMTggQEAgc3RhdGljIGJvb2wgbGlieGVuc3Rv
cmVfY3JlYXRlKHN0cnVjdCBxZW11X3hzX2hhbmRsZSAqaCwgeHNfdHJhbnNhY3Rpb25fdCB0LA0K
Pj4gPiDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsNCj4+ID4gwqDCoMKgwqAgfQ0KPj4g
PiDCoA0KPj4gPiArwqDCoMKgIGlmIChvd25lciA9PSBYU19QUkVTRVJWRV9PV05FUikgew0KPj4g
PiArwqDCoMKgwqDCoMKgwqAgc3RydWN0IHhzX3Blcm1pc3Npb25zICp0bXA7DQo+PiA+ICvCoMKg
wqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQgbnVtOw0KPj4gPiArDQo+PiA+ICvCoMKgwqDCoMKgwqDC
oCB0bXAgPSB4c19nZXRfcGVybWlzc2lvbnMoaC0+eHNoLCAwLCBwYXRoLCAmbnVtKTsNCj4+ID4g
K8KgwqDCoMKgwqDCoMKgIGlmICh0bXAgPT0gTlVMTCkgew0KPj4gPiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCByZXR1cm4gZmFsc2U7DQo+PiA+ICvCoMKgwqDCoMKgwqDCoCB9DQo+PiA+ICvCoMKg
wqDCoMKgwqDCoCBwZXJtc19saXN0WzBdLmlkID0gdG1wWzBdLmlkOw0KPj4gPiArwqDCoMKgwqDC
oMKgwqAgZnJlZSh0bXApOw0KPj4gPiArwqDCoMKgIH0NCj4+ID4gKw0KPj4gDQo+PiBEb24ndCBz
ZWUgd2hhdCBzYXZlcyB5b3UgZnJvbSBzb21lb25lIGVsc2UgY2hhbmdpbmcgaXQgYXQgdGhpcyBw
b2ludCBvbg0KPj4gdHJ1ZSBYZW4gdGhvdWdoLiBXaGljaCBpcyB3aHkgSSdkIHByZWZlciBYZW5T
dG9yZSB0byBkbyBpdCBuYXRpdmVseS4NCj4NCj4gSSBzdXBwb3NlIG1heWJlIHlvdSBjb3VsZCBk
byBpdCBpbiBhIHRyYW5zYWN0aW9uICppZiogdGhlIHRyYW5zYWN0aW9uX3QNCj4geW91J3JlIHBh
c3NlZCBpbiBpc24ndCBhbHJlYWR5IFhCVF9OVUxMPw0KDQpZZXMsIEkgbmVlZCB0byBwYXNzICJ0
IiB0byB4c19nZXRfcGVybWlzc2lvbnMoKSwgb2YgY291cnNlLg0KDQo+IE9uZSBtaWdodCBhcmd1
ZSB0aGF0IHRoZSBta2RpcitzZXRfcGVybXMgaW4gbGlieGVuc3RvcmVfY3JlYXRlKCkgb3VnaHQN
Cj4gdG8gaGF2ZSBiZWVuIHdpdGhpbiB0aGUgc2FtZSB0cmFuc2FjdGlvbiAqYW55d2F5Kj8gDQoN
ClllcywgYWxsIG9wZXJhdGlvbnMgc2hvdWxkIGJlIHBlcmZvcm1lZCBpbnNpZGUgb25lIHRyYW5z
YWN0aW9uLg0KDQotLSANCldCUiwgVm9sb2R5bXly


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 13:14:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 13:14:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631585.985058 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WlR-0004O4-1T; Mon, 13 Nov 2023 13:14:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631585.985058; Mon, 13 Nov 2023 13:14: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 1r2WlQ-0004Nx-V0; Mon, 13 Nov 2023 13:14:04 +0000
Received: by outflank-mailman (input) for mailman id 631585;
 Mon, 13 Nov 2023 13:14: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=ofAX=G2=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r2WlP-0004Nr-GP
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 13:14:03 +0000
Received: from mail-lf1-x12f.google.com (mail-lf1-x12f.google.com
 [2a00:1450:4864:20::12f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8310f5fa-8226-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 14:14:01 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-507975d34e8so6283350e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 05:14:01 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 c22-20020ac24156000000b005079fa0b1c3sm968795lfi.243.2023.11.13.05.13.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 05:13:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8310f5fa-8226-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699881240; x=1700486040; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=SpRHI8ODdMxBKrEatyi1pfs9xw4E1INwXWlw+NJuvPE=;
        b=REHMVcA9WsyQ6v8ffqEQcAKK4IPTMrEb1PJFRrFsdKVkClJGRSQifXUqy2Sb/iId79
         KmuyNNFfA1t1L07RCZH6/pW3iGUyJWqhv9weVPhc3WtFXDRjRWwLHgAqA6VHsuYWWOeb
         Fv+BndTYgnNrop2FK6d5xS6BehTEN/37e3liOnXIe1wNcXK45B7nn5Mt0gkulsQjyFQY
         5a67RLwFGtWIOPy5T29pji0a9Gj6QmnMGtmhlEbGhtFI4t7bGIa5Z3+vyM386eam+eE2
         CZFBivHCS2qu6V+s0/0wlltV2XEnjOHnObOPqtLHKGwaU9Ca48tzMqjdoCgA1dnLQ9LJ
         jTtw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699881240; x=1700486040;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=SpRHI8ODdMxBKrEatyi1pfs9xw4E1INwXWlw+NJuvPE=;
        b=Lqxxp/XVFydq+6dtnVUsyVcRQgGb8X9m2Xie422y3z2+KicLmY/eMSYDQzy7yIdhbD
         e3avBaY00lGzY01B12meazLZC4XtrdVs7MtfCoFTTp32jbYX0O0Hr96IQ+/whTScG3e/
         j8JJKZMGuX3Spom1nKRRVtKYpyrf31FBKmC1pkXMO+1r7gQW3pWGftTDzsiAa5dTX577
         Qcv97MmKMUQcz3mJUY36y6uvSZtwCjtMkt2mhq0XZXorPfJ6eWd0i+oO3L51FGmuxiuZ
         cYJ5eJgX5JGzv+0AQUmNhd7yutbQiiAwkjzelOj7KnYsEuj56On8InGmja/COWdaYt3T
         k3gg==
X-Gm-Message-State: AOJu0YyXy/CHwZ3yCYXZSelQhZY5WZMXjzn6HprbxGauIjuYgl/4/xB3
	gENoa951UchGVgKI6zbAOR9audjU7rU=
X-Google-Smtp-Source: AGHT+IF0RnravydepDWtp3abzfn8hc7PngmkI8Kv9e8nngbgwg6GqYHrzTfQTl8y3Dw52EZOrCat0g==
X-Received: by 2002:ac2:47f0:0:b0:507:9ae3:6ba7 with SMTP id b16-20020ac247f0000000b005079ae36ba7mr4330164lfp.67.1699881239777;
        Mon, 13 Nov 2023 05:13:59 -0800 (PST)
Message-ID: <4421cbf44ea8b434c68a7ed218d007d049c08e6d.camel@gmail.com>
Subject: Re: [PATCH v2 03/15] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
From: Oleksii <oleksii.kurochko@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>
Date: Mon, 13 Nov 2023 15:13:58 +0200
In-Reply-To: <928557f8d62941a2524fc67b7067a777e2180db2.camel@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <cd1341ae337fc9a1619d747b3db1a7a5cd6ad2fb.1699633310.git.oleksii.kurochko@gmail.com>
	 <928557f8d62941a2524fc67b7067a777e2180db2.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Sat, 2023-11-11 at 12:25 +0200, Oleksii wrote:
> I missed to check the patch properly.
>=20
> The patch fails for Arm randconfigs:
> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1068865674
>=20
> I need to do an additional investigation.
So the only one macro cause compile issue if move it to
xen/grant_table.h compilation will pass:

--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -23,10 +23,14 @@
 #ifndef __XEN_GRANT_TABLE_H__
 #define __XEN_GRANT_TABLE_H__
=20
+#include <xen/kernel.h>
 #include <xen/mm-frame.h>
 #include <xen/rwlock.h>
 #include <public/grant_table.h>
+
+#ifdef CONFIG_GRANT_TABLE
 #include <asm/grant_table.h>
+#endif
=20
 struct grant_table;
=20
@@ -112,6 +116,16 @@ static inline int gnttab_acquire_resource(
     return -EINVAL;
 }
=20
+/*
+ * The region used by Xen on the memory will never be mapped in DOM0
+ * memory layout. Therefore it can be used for the grant table.
+ *
+ * Only use the text section as it's always present and will contain
+ * enough space for a large grant table
+ */
+#define gnttab_dom0_frames()                                        =20
\
+    min_t(unsigned int, opt_max_grant_frames, PFN_DOWN(_etext -
_stext))
+
 #endif /* CONFIG_GRANT_TABLE */
=20
 #endif /* __XEN_GRANT_TABLE_H__ */


But gnttab_dom0_frames() is used only for ARM, so probably moving it to
<xen/grant_table.h> is not a good idea.

Could you please tell me your opinion? Thanks in advance.

~ Oleksii

>=20
> Does it make sense to re-send this patch separately out of this patch
> series?
>=20
> ~ Oleksii
>=20
> On Fri, 2023-11-10 at 18:30 +0200, Oleksii Kurochko wrote:
> > Ifdefing inclusion of <asm/grant_table.h> allows to avoid
> > generation of empty <asm/grant_table.h> for cases when
> > CONFIG_GRANT_TABLE is not enabled.
> >=20
> > Suggested-by: Jan Beulich <jbeulich@suse.com>
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V2:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- ifdef inclusion of as=
m/grant_table.h in xen/grant_table.h
> > to avoid
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 generation of em=
pty headers for PPC and RISC-V archs.
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update commit message
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- add Suggested-by: Jan=
 Beulich <jbeulich@suse.com>
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- Remove provided befor=
e asm-generic/grant_table.h header.
> > ---
> > =C2=A0xen/include/xen/grant_table.h | 3 +++
> > =C2=A01 file changed, 3 insertions(+)
> >=20
> > diff --git a/xen/include/xen/grant_table.h
> > b/xen/include/xen/grant_table.h
> > index 85fe6b7b5e..50edfecfb6 100644
> > --- a/xen/include/xen/grant_table.h
> > +++ b/xen/include/xen/grant_table.h
> > @@ -26,7 +26,10 @@
> > =C2=A0#include <xen/mm-frame.h>
> > =C2=A0#include <xen/rwlock.h>
> > =C2=A0#include <public/grant_table.h>
> > +
> > +#ifdef CONFIG_GRANT_TABLE
> > =C2=A0#include <asm/grant_table.h>
> > +#endif
> > =C2=A0
> > =C2=A0struct grant_table;
> > =C2=A0
>=20



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 13:26:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 13:26:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631588.985068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2WxP-0001wd-36; Mon, 13 Nov 2023 13:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631588.985068; Mon, 13 Nov 2023 13:26: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 1r2WxP-0001wW-0Z; Mon, 13 Nov 2023 13:26:27 +0000
Received: by outflank-mailman (input) for mailman id 631588;
 Mon, 13 Nov 2023 13:26: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2WxN-0001tn-Pp
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 13:26:25 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe13::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d215344-8228-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 14:26:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8333.eurprd04.prod.outlook.com (2603:10a6:102:1c0::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 13:26:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 13:26: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: 3d215344-8228-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aGFppOGfBlJDwFHwAMzU3o/+s/0UiAak1UNq2xFQzuVmRvVjCM3btYGWICPgMUFpTZbSxsA3IhDHZ0Q+0OP0Yl0Q5OZbADT9Bw150qrLax0OTeCtxvHGDlOHk4HhAVi41Nt39DnUhOExa405Vh+6LEpN1V6j2BPUvcSFu94sqK9b6PXL1TSUr/OGiBzENZYRIqtTRy0P3i1XMdmbWrHmRDkOq0nfYllgtOz/SB7SO4ybQKOlh9tWCjMu2ie3HqDqZqcDiwHluhbj4W8IUHSxUnGCvz7f6KXRwKPlO3DxsMurV/4RR/RimNjS6JOaCzyD+OxH2M8/d0Em77tcuAJoUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dFH8jytYmMqvajP/YxTkVQzhONYAn6vuyGvA85sjerU=;
 b=ZjFGC9Ef9vkWFjAXohS9mbopxAbM09dgtbxmV9IXF5ARrww9eZNi80cJ8b4vLc8ALwQhgvxvQhN/E9I3qaeas7ZNs6eai4+SO6Rx2q9yYlWMGpPltAT1q1MHGOgQsRfQ1yPyfcR2ihLSGhlPqYEslfzyA8K4bJsGAKZhT599ocyC37SaKmIO5s/YLrQ3PWynYAv5Cqu0tp9Sshkw7UeTgx5d94GYaaavwqaKKSk8Bb8vdqyp4UQPD3tzQPPlMcLHeTjpEfQjR0IfDoEQu0QoGnp0E/yrbuG9Ssd1WTKOdrtv47afpG+UgzoiBJ4WSt845uVpTChiHzFSeAeqqMnewA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dFH8jytYmMqvajP/YxTkVQzhONYAn6vuyGvA85sjerU=;
 b=yUW6oLn78Yb+F7YV8yvIyyr5M9rbpwCpwASWahMBRao9XL0/SOj+BCVPJ2YXPml9Pp8cPYS0/+LSEfD0GfiaZMR8EKw5U64nDzWcefK+l3d/k/y/8avlNaOHXhP3VHJ6ai3E8jO5hPDqcBqo8pIP8bvxTGrzFl85Sh72+24Dt/Oc8sGPHJZvR/r+UpneH7aUesd1tViGCJ4IkkXSZPLhIqjDevakOJyZTcp4J8QIHFCXJUfNLqlT2sl3z7XbHcxrdUIb81ABrJ5fBIPOdlJsqGpwe+At/VKwqPK2OHRcNR7C3+y0FgWUtpPVzBAdpT3pExTlLXIuguWYAEyTjc+ggg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3f949fae-da52-7a8d-ad87-8fe84eeba8a2@suse.com>
Date: Mon, 13 Nov 2023 14:26:18 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v5 2/5] xen/vpci: move xen_domctl_createdomain vPCI flag
 to common
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Christian Lindig <christian.lindig@cloud.com>, xen-devel@lists.xenproject.org
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
 <20231102195938.1254489-3-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231102195938.1254489-3-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0174.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a0::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8333:EE_
X-MS-Office365-Filtering-Correlation-Id: 6cc3d989-38aa-4adf-ace0-08dbe44c1f9a
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:
	dgJ9SgSzBBj29bQtp2xiZqPOD/XmA+Ene03e2M9QfC+U5lGXl0velFfAjc9e94/6oW5GCTOFtpGUSyBIqcLYRBHdUZ8zPf8lj013UogVG8BQR9eJdOtMg1iJIiDV2M4cHv//H9nbDp5j3XT/bT/uoNLOg1OhJotUe9a055QznAd4USDCGHwqt5WI/bMfbDVe6jZ0gGzg/aXqOtxcCVRC1by/ms/FXWtEvRN11lmKj7/AO2/v89M80lC0oqpMr02TLkwGBBaIUfnu9PHV5H8Z6ztCFerlV8YBe7Vn4GyWKNQBWoURu6AyrWGbWL06hiVct16eXjRHOfZ4ofP+3/8dgiFyQboRr4Oh2BUPzroUPV8vcZ1D1Q8o8IdErbvCRNETn3ZyNVUdVJ47wn7yeRvPt7NYX+0CVEwTMuyDgTZhzV29o1eUlWlbCu4x1CeS9naCun6oX8vLwPm1FgBH+lH69ZPHLIj/i0ruW8ynLBhmcVM+eKPMUxnKpfupFMz6v06cPN7k5L8rJkOEamS+6dh53UeCPUKqBlNwrRs2A5WY9UEXNlh8tQibT5vgtCbEx9eFv8lgC9QoGSFpVZyi7BDw+I/Xc9EOplD0dwWvVMjYJ/lhPFCNLPrp18C5RhPdddmAhM5jSPHb+9oya5O/1vxc3g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(39860400002)(396003)(136003)(376002)(230922051799003)(1800799009)(64100799003)(186009)(451199024)(26005)(2616005)(53546011)(6506007)(6512007)(83380400001)(5660300002)(7416002)(4326008)(8676002)(8936002)(41300700001)(2906002)(6486002)(478600001)(316002)(6916009)(54906003)(66476007)(66556008)(66946007)(36756003)(31696002)(86362001)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QXlrQ0ZhUjJOZkNZdXRuS1l4L213aUQrelIxTW9JamttakZrT3ZlUkNSRzhK?=
 =?utf-8?B?djdTNnV1ckNxREp0RHJvSG5jMVZXeFBUNEZzZXlkRGJDT2ZRNXl3a2tWNDJX?=
 =?utf-8?B?VnNUdnJHa0tZb3JtOGhRRytZTzI3WmhQcnZLSFMrRlBhcXBnVWg4MStlbHdN?=
 =?utf-8?B?Ry9Fem0xMUZudTBWRWU1NlJ3SWMwSGZTZ2t5SnR3c08veU9CVVY3a2h1dmh0?=
 =?utf-8?B?aGJmV1RDUWs2QXc4ZHpLc3ErczV4ZkY4WnBDNWtPSkVzWjBlZ3NrN1I5SkJR?=
 =?utf-8?B?RkxsTmtPZjhncFNPb1o2dDhUOS9KWFh1Unk5UWI5V1VZZGJtKzZyTGhoSmo1?=
 =?utf-8?B?cFZ5Ri8ySkowcFovWHMzOExGeFU3Sy9ZUnZPNnNpVHM2V0VCVk9wczUrNDRL?=
 =?utf-8?B?Z3kxdk9aYmFQamJjeFJuMUNBbmxRZUU1anZXM2lQem9QdzBITWRvQVFyMmw0?=
 =?utf-8?B?eFJkYjlPWHJIMEo4alAwYThSbmFQOHF1OTF1cGNZMnhmQ0lOWUg3aFgwMkc2?=
 =?utf-8?B?TmRZY2FOL1g3aTJhVzhvb0lZM0ZsMUdlaUYyQm9RVVdUNTlqTGRPU1BvZlNO?=
 =?utf-8?B?bHFVS2s0VVFFVWNyNGRaSE84bHd3RUd5UnJrTG9ES1JsVFgybVFCeUtKTU8y?=
 =?utf-8?B?eUhPbGQvUUc3M09HejR1blRTRkUySXJhZVZLR0NYaEp6QWZuQ3FRRHVnT3ZM?=
 =?utf-8?B?eFJBMGZiWjVkUVhNczBBNXhIL0hxNjRkc0MyYmR0NHExVk5MSFpvVjBHNDNZ?=
 =?utf-8?B?eWxDUFBXaXpQZEdDVjFVeDV6a3JwNS9HK3hER1VBbXJvOHlGOFlOckFaOGtR?=
 =?utf-8?B?TDRxY2tIWjZBTk5DNTlBbkxTbUZHT2VzQ3RReDlkaUl4dEZXL3U2RUZETVor?=
 =?utf-8?B?eFN0dlRWcUUrbDJzc2tqWnRUYzVveXRVekRQaWw5d2YrOWx5Wlo3cUxXb3Jp?=
 =?utf-8?B?a2xpdDdMTEMrSEpVZDZOVjh5U2hxeEU2Vi8vbVdUY2FHUFYzZStEcmxFeGtL?=
 =?utf-8?B?TGhuKzU5cVd2dG1SMDBzc3luQUxCVTFubyswc3dpNFlRNTN3Qm90UFUrQkVW?=
 =?utf-8?B?UjhnUTdWOC9nK0pKcTdoZktPY3hnejBNNktZbVlXV1kreTdBTldRakxEUHAw?=
 =?utf-8?B?RWtmTVVCRjA0VEE0QlBQejBzS1dRMzhDRGhCemdrMFlrQmRoSFNUYXJOd3Qv?=
 =?utf-8?B?M3hjM2FKK0lIOFJodXVBbkxqNzBxSk5KM05IbGhGU2NaQ1hTQjZpZC9ZK3Bj?=
 =?utf-8?B?WTM2dDdycnVROXBCWlluYW0xUitKb2pjVUpLbzJkbG90L3VkWmc1SkltTXo0?=
 =?utf-8?B?YUN0cm9jMWxCTXplNVQwUUxFVUJXSE5nanA3L1ExVWdvazU3RXdhMm13cVpI?=
 =?utf-8?B?elU1T0c5TVZhSk9DNGkrMnJVVldjMVB5MlZ6dW1BcjhWL1BvSmZZcldxWXlq?=
 =?utf-8?B?NjRNR2NrbUtIdGRvMUlGSkh0Y0FvSkpjSmVWcXZ6eVFieW90TGVSV0lkRGpm?=
 =?utf-8?B?OVBNelUxRWkxSTdmeVM2ZUVlU3duQWFwTmNQejFmSERzeG80Rm1URk5kcm53?=
 =?utf-8?B?RzBrWWR1NTI2MCtYTFhwTHJyQ25DWktnRU8wbmFQRHZubG9HazhsdkpxQUdy?=
 =?utf-8?B?VkpSNkpuS3JUMTBkRTZCVVNFVlluekp3MTdzRnMxcUVxb2x5M2RSdFFDVUFQ?=
 =?utf-8?B?azZER1dVWmFqdzJMTEVMU2M3ZWVwaFFUWk5Vdll2WnE5eER0Q1dPNDJHVWdt?=
 =?utf-8?B?N0ZvRk95ZVhOV1ZzYS9UNE5MbmU3UU1seEJUOFBaRkhEUGNxOXdpd2RQUitX?=
 =?utf-8?B?T2xXLzBxNVVlejB1L3NJY2FUT3oydGpPbXdiaVhNWE15S1ZpVHVMSXdOSEdX?=
 =?utf-8?B?eFliZklmeUEyM0h0TDdqRzAwNUQxcGp1dFlORlVHbndlQ2NlZHlkcTBYRlBT?=
 =?utf-8?B?b09lOHMybDRBWWp4cFFYaGhscS9rQVdqTWpvblMyYTRyeDZpWnBWL0hRcXRG?=
 =?utf-8?B?VzQ4VlVzSjNSSHpLbXNHcDdqWkdNMEFkMndxVGFUdGJrTzloa2ZTaDVIcXgx?=
 =?utf-8?B?L1NXcnpzVGllc05YaHFFeDhCUy9MS0tuUTZidCswT3RDUnRwWnE5YlExTkl5?=
 =?utf-8?Q?dMu+JUVU2XZJNDOXMrTga5xr7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6cc3d989-38aa-4adf-ace0-08dbe44c1f9a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 13:26:20.3842
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wGP08Mu6PlqfQu3fyXxQfbJKQYICkyJafHl0glAmFtNy07jbHk5Wght2ymY8nDFyyqMzEEvcUjWMInQi9SrLZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8333

On 02.11.2023 20:59, Stewart Hildebrand wrote:
> --- a/tools/libs/light/libxl_x86.c
> +++ b/tools/libs/light/libxl_x86.c
> @@ -8,13 +8,16 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>  {
>      switch(d_config->c_info.type) {
>      case LIBXL_DOMAIN_TYPE_HVM:
> -        config->arch.emulation_flags = (XEN_X86_EMU_ALL & ~XEN_X86_EMU_VPCI);
> +        config->arch.emulation_flags = XEN_X86_EMU_ALL;
> +        config->flags &= ~XEN_DOMCTL_CDF_vpci;
>          break;
>      case LIBXL_DOMAIN_TYPE_PVH:
>          config->arch.emulation_flags = XEN_X86_EMU_LAPIC;
> +        config->flags &= ~XEN_DOMCTL_CDF_vpci;
>          break;
>      case LIBXL_DOMAIN_TYPE_PV:
>          config->arch.emulation_flags = 0;
> +        config->flags &= ~XEN_DOMCTL_CDF_vpci;
>          break;

Why all this explicit clearing of XEN_DOMCTL_CDF_vpci? I can't even spot
where the bit would be set.

> --- a/tools/python/xen/lowlevel/xc/xc.c
> +++ b/tools/python/xen/lowlevel/xc/xc.c
> @@ -159,7 +159,10 @@ static PyObject *pyxc_domain_create(XcObject *self,
>  
>  #if defined (__i386) || defined(__x86_64__)
>      if ( config.flags & XEN_DOMCTL_CDF_hvm )
> -        config.arch.emulation_flags = (XEN_X86_EMU_ALL & ~XEN_X86_EMU_VPCI);
> +    {
> +        config.arch.emulation_flags = XEN_X86_EMU_ALL;
> +        config.flags &= ~XEN_DOMCTL_CDF_vpci;
> +    }

Same question here then.

> @@ -575,6 +577,18 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
>          return -EINVAL;
>      }
>  
> +    if ( vpci && !hvm )
> +    {
> +        dprintk(XENLOG_INFO, "vPCI requested for non-HVM guest\n");
> +        return -EINVAL;
> +    }
> +
> +    if ( vpci && !IS_ENABLED(CONFIG_HAS_VPCI) )
> +    {
> +        dprintk(XENLOG_INFO, "vPCI requested but not enabled\n");
> +        return -EINVAL;
> +    }

Maybe flip the order of these checks? But I'm uncertain about the first
one anyway: Isn't this something that needs deciding per-arch?

> --- a/xen/include/public/arch-x86/xen.h
> +++ b/xen/include/public/arch-x86/xen.h
> @@ -283,15 +283,12 @@ struct xen_arch_domainconfig {
>  #define XEN_X86_EMU_PIT             (1U<<_XEN_X86_EMU_PIT)
>  #define _XEN_X86_EMU_USE_PIRQ       9
>  #define XEN_X86_EMU_USE_PIRQ        (1U<<_XEN_X86_EMU_USE_PIRQ)
> -#define _XEN_X86_EMU_VPCI           10
> -#define XEN_X86_EMU_VPCI            (1U<<_XEN_X86_EMU_VPCI)

This, aiui, being the reason for ...

> --- a/xen/include/public/domctl.h
> +++ b/xen/include/public/domctl.h
> @@ -21,7 +21,7 @@
>  #include "hvm/save.h"
>  #include "memory.h"
>  
> -#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
> +#define XEN_DOMCTL_INTERFACE_VERSION 0x00000017

... this bump, I wonder whether nevertheless we wouldn't better leave a
comment there to indicate that bit 10 better wouldn't be used again any
time soon.

> @@ -55,9 +55,12 @@ struct xen_domctl_createdomain {
>  #define XEN_DOMCTL_CDF_nested_virt    (1U << _XEN_DOMCTL_CDF_nested_virt)
>  /* Should we expose the vPMU to the guest? */
>  #define XEN_DOMCTL_CDF_vpmu           (1U << 7)
> +/* Should vPCI be enabled for the guest? */
> +#define _XEN_DOMCTL_CDF_vpci          8

What is this needed for besides ...

> +#define XEN_DOMCTL_CDF_vpci           (1U<<_XEN_DOMCTL_CDF_vpci)

... its use here? Imo like was done for vpmu, there should be only one
new identifier. As an aside, there are blanks missing around <<.

> --- a/xen/include/xen/domain.h
> +++ b/xen/include/xen/domain.h
> @@ -51,6 +51,9 @@ void arch_get_domain_info(const struct domain *d,
>  
>  #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
>  
> +#define has_vpci(d) (((d)->options & XEN_DOMCTL_CDF_vpci) && \
> +                     IS_ENABLED(CONFIG_HAS_VPCI))

Aiui the IS_ENABLED() is wanted so where suitable code conditional upon
this predicate can be eliminated by the compiler. Question is whether
we can't achieve this by, say, overriding XEN_DOMCTL_CDF_vpci to 0 in
such cases (without touching what you add to the public header, i.e.
not as easy as what we do in xen/arch/x86/include/asm/domain.h for
X86_EMU_*).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 13:29:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 13:29:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631591.985078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2X0e-000404-KV; Mon, 13 Nov 2023 13:29:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631591.985078; Mon, 13 Nov 2023 13:29: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 1r2X0e-0003zx-Ht; Mon, 13 Nov 2023 13:29:48 +0000
Received: by outflank-mailman (input) for mailman id 631591;
 Mon, 13 Nov 2023 13:29: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2X0d-0003zp-Ka
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 13:29:47 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b6556b8c-8228-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 14:29:46 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8576.eurprd04.prod.outlook.com (2603:10a6:102:217::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.16; Mon, 13 Nov
 2023 13:29:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 13:29: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: b6556b8c-8228-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fxu+sZExBMslR5EY05M280R28x1ex36l5XZyDtpGO0Q+zLU1vX4JyxM4sahRJ28S1TyqVRNfDPaDREYKo2xl4XffGG/KC8hbFEOdCOvELAWxykavTHpB3DM012Vd0jMZ/0qRa5P1snmWTAILXiEpUz4VkTRKI0/1s9Qb27VrNMQO1Zxpjzu0A3wTJOIg33lO939yr6Ul5mAGyE7PaE1qNJDKnTKEBJUsPaXAvAi8vf4BtLbw053dgP/PjYV8GcQHAw99A2i2BG0Xt+0pIiaLJEV+aVujMmElOeqkhDaVWa6gW29BGPrdi2rjiIk0kdH7K6LO7HDGcF2GF7lD3eTuaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M3mTAlIySIX+TD2EvkwavdC8wcdUZn2d5Pzq+5klE8g=;
 b=DB+frUtiZ64ZAxFzfBeOVsIGojibih+Wo8Bw6FvW26r/G32HeYSkDP1b4EBQdXs6pFPcXY3RE/KRnDb7rXDMlN63k7rPhylC/ERYaOE3v/ui+ngf+6Wn4lSm8y6HaizZj7lBtKKAa8tPWS+QhW8dj9kjU7tzCmyMf21sVr6ON0rS5ajM8uRj8V27icK4M64ouJcXaW6WpvwLUTnz34Q1MWs97RolR2bmFvyA6S1jaPCM0rtLL44UjLeStYOmgsoFEghsTdHGWO3W4iGYD1fquvYeS3Kk6aaSmZRYqDfn967KpEO5Z+idsyMQxM3VX1uN6HkLiS6x9smmgfI6lmgjgA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M3mTAlIySIX+TD2EvkwavdC8wcdUZn2d5Pzq+5klE8g=;
 b=YxzDbDOL1JHgD3dj+YTpL4lrlr5hhLeF5vG0NAVdiKaLRwvBh1tkJZw1aE8XExVrAAvmPqv3s0f7rCo8nKFbpu6YznUtFvkpTT92OJHBn0ENZG+8SiELfVWSyfV1tYs/cNqF53RBaIc+grLSiSIipgBgvRbVFPuIqT8uYkjDw+9AEds8LSdAkSUiwi3zXaruj0oUrL0xsuU4znodmd3YDucGTPmVjp7kBuAONHt8xi7yh8g8hAa8VDoNyNrhzBt82QbGGa4+X2TuCf7Nwn+RNRNSwKIvJcV3M5mPRMt7WSvuZalw5Uyzcu7bmnqOiv8Y92VEYavOxyIP7yH7q/hQkQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b4ae921b-b2c0-5eff-bf81-ab97a909b562@suse.com>
Date: Mon, 13 Nov 2023 14:29:41 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 03/15] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <cd1341ae337fc9a1619d747b3db1a7a5cd6ad2fb.1699633310.git.oleksii.kurochko@gmail.com>
 <928557f8d62941a2524fc67b7067a777e2180db2.camel@gmail.com>
 <4421cbf44ea8b434c68a7ed218d007d049c08e6d.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <4421cbf44ea8b434c68a7ed218d007d049c08e6d.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0232.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e9::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8576:EE_
X-MS-Office365-Filtering-Correlation-Id: db2d0ff2-b8b0-489b-53d0-08dbe44c98f4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i+eLkG3hgmJcTfSZMZ3oBIvchCmQJfSaHHLEgrpR5ZaHBQQsJVLtu6wDKp5qyLwDHBJE+FURAUTMjXL2xmQkdn0KmLIYoqTlXp1zF9FaSJ/xLbg/L/2GgoEGiJ5C4XYr2WaTgubSZvYqv8MxfWtk19XY4eWioH2UjaWAa4ncVyy79yte5nlwgpZu8DztdoFPuxFbtttWHALuMQlIi13zNVsipvq7EySZJ0cMFQhnUp5shSLjrLn3CR33EYcErxDrAneOxBkl9mrzkj0oint4wTJh05/N4tqyqz0wXhqMBXGeIH2nGk9DAUbg44CUBDlvHOpQsXYCjsi6gIREE6xfE42+EcfQaREe2EXATA4sTBsEvbDedlVdQcjclRRwEUMpzFK3QYNIdRA8Z4ruvjiqsGZt22Q1WSaoB1mQFdcBMksFeDHl+lswl0HbuDHf03Rd3TBMsfuwEWxMSK/S750IR0r643ThI3P2rqcW/80mavqvgs9JXAjz+gzBnKiNFiQfxHkg4HOs/Lor81v/Xy7zHudpq9KuV3wZw3Apv/vlautx2b/mXzqgN5ZDyPZGpIcG/T2sBpzHQMXuHCU8cCE+ZMEZMehhM4YUJ0OExo+PbFF6jQCmjlKolX1mCFKMS0gT7MZ3JDde8JknmD3MRDDKxQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(396003)(366004)(136003)(376002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(53546011)(6506007)(2616005)(6512007)(6486002)(966005)(478600001)(26005)(83380400001)(4001150100001)(5660300002)(41300700001)(66556008)(2906002)(66476007)(6916009)(66946007)(54906003)(8676002)(316002)(8936002)(4326008)(36756003)(38100700002)(86362001)(31696002)(66899024)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejF1TVBnKzVFaDFtdUxkY0Z6QWVtRm5yUDhWOEU1VU5Nc1kwMklsR1NQT2g0?=
 =?utf-8?B?cUttbVBsRGI0MFRWZWQvUndBUmZlZmVoME9lWnB5dk1qM3IrRTR5Ni9kcW1t?=
 =?utf-8?B?OXViWjRWeUxMOWZGQnVMM3g4TUJXRlFhY1A3QXVtdjhFSTQyTVpQMjRGZDhn?=
 =?utf-8?B?dGFkZDZHUytmakUvS0tjTG05OHZIaGo2RERQSUxqdWIrTFlRbU5STU9nKzZB?=
 =?utf-8?B?WFBFNjZnSGdQVDR4TEFKNnZ6bjNDeDZPTUR3K3B2bzV5eHZHNU9NTDg2RkdJ?=
 =?utf-8?B?WEYxQUExcTludGJ4UWxsa2RCZy85Y1lpODFsMlEvemxJWG1tdVA3eTR0NnJD?=
 =?utf-8?B?MmJjZ2wrMkxFY2xFNzBUL1hiQ1g2Y0VIeTFlWmNmVkIwK0hYMk1SL29ESEhr?=
 =?utf-8?B?VWt3TTFGMHBoR2FXZjg4SmVzRXpEOGU2RThxcmd6RXJtaXlqYkdMOGVBSUJm?=
 =?utf-8?B?RmlsUUFKZUJEUmcyUmxOdXpVT0FWUGF0RmhucEV6SXVBMTlOb2VlK3lWUjEx?=
 =?utf-8?B?emZuSms5TmtMb2dZLzd3TGg2enZudmoxTExVWEQ0TXlYV2l1azNsSC9HdWFs?=
 =?utf-8?B?Rlg4TXlGbW81SXV2RXRZR2ZiMkFBaVd5YzZUdEJrQ1BsOE03TmVSV1d4aytq?=
 =?utf-8?B?U1piVXlxclVXbjJlYnlLVTlFenFuMWJvMjVYbEJGczJicVUrWDNVTVJTUGpK?=
 =?utf-8?B?TUZCcE0wVHErNllwRHNHeHE1bjdJSXBkVE5TeW0zMnlNNlhvbW13cTNXdWNn?=
 =?utf-8?B?YnVDYlhSK3pTdmFuOWpmOW1Xbng1TmhQMUd1ZkNCRDVrZGl4VllnR3NCdks3?=
 =?utf-8?B?ZDdIWDBHS2NxRVhpNGZSWThyNlIzZ3h0eG1oNHE4SXZReU4xSGtHaWttbWM5?=
 =?utf-8?B?TDlhZ05LL3RpUFNWeHpHZTVLcTFXN0R5Si8xSGZVQnc5UUVXTGRkYkRJcE9K?=
 =?utf-8?B?ZXg2OEo5Sk5TbVJ4WWNNL0JlU3RqanVNZWpuQ1I5cERIeWxtYmUrcFRURTFj?=
 =?utf-8?B?dzNObThHMnozdlhRdHJzWFBvRmFZbGZ0VncvbzE1emFKL1c5UFZrV1NUcitm?=
 =?utf-8?B?ZmtnODJlRFdoWWxEOWdLKyszSzhPQmVwTTU5VUl4eUFPeGdPVDRaSWp0SDlv?=
 =?utf-8?B?ZEM2ME9RY3NMbXVwSTZXVThZVTV1ZmJJVm9DU0dZc0pxNFZvaGFwTWFSQnBk?=
 =?utf-8?B?c0MwWkFySStmaTFFaUpwYmNTbFBUSVZmVmJXSk1DdkNSN2drVXkzcEcrV2ZD?=
 =?utf-8?B?WlBjVkNWaUtXNTVwVjdBaWNSeitTOWZLdzlCVllYS3ZZM21pdisrd2wzNnZY?=
 =?utf-8?B?STlOSGlTK1o4d05rcTFTUFBScG52MytXQllRblVWdlVPVXMySHVEVEhVa2dl?=
 =?utf-8?B?Z2RRTnJRSnVwNWwrL2VxamhRdnAxUndFQ0lwR1lpT2I0MFVBUTkzL2pNODdM?=
 =?utf-8?B?ZjdySWRQMkdjRFhrRjh1TzczcVpJeVpjeXVlM2Z5cEpkZVNxcXJuQVpwMklh?=
 =?utf-8?B?QXJhdDZMWUtXdXJzTmhQQ21PRUxQYTlJdzNyblcrWXZTM2hsT0QvZ3owVkNn?=
 =?utf-8?B?dzI3eGFiRVlXWkI1UjJCeTBrY04xQ0E3RS8xcEJLVkkrRlhaVjVyVGQ4WlFH?=
 =?utf-8?B?U3JXVktlSmF6cGswc0RkcGdFaEQ1Y1dJUkNrb3JpMGVBSFM3anpGV0YvQUxv?=
 =?utf-8?B?WGRiRVcwLzgzekdIRWhNb3ZiZktmbXNJR1NyekpILzQ3VUgvQW1HUXFHS0ZI?=
 =?utf-8?B?OUZzVEhPNGQwWEF2bEN1Sm9sTHJvOU5pZGUzLytrM3ZXd05QKzlNa1o4ZUlI?=
 =?utf-8?B?V3JkeDRsclU3YVZtaTVHMTZNeUk3TWJ3UWhXeFhPZHhsSUxIM1d1eit0cEpG?=
 =?utf-8?B?Z0hvK1psTHBNcEx3Y2VsU210eDRqVWVSWjErY0NxTVErOEtGV2U3RjlRUFFU?=
 =?utf-8?B?ZmZPM2dveTNZd0V1VjIxQlRWZVRyRmdyNmhqS1g3ZERGTlVvc053TnZzS2FS?=
 =?utf-8?B?d2lXZnFQK01OZWFDU0g4eTA3RTVDbVlwOHVwWE91M1cvdHlwT01IZmQ4OElq?=
 =?utf-8?B?K2d0Wll6ZDNhMHozWjU3QXpaeG94MHJnR0hoeFJwNFRvUkRRdEZ3VXBKSTJp?=
 =?utf-8?Q?oeGVoFHqr0CXJy3/msIDEM1g5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: db2d0ff2-b8b0-489b-53d0-08dbe44c98f4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 13:29:43.9239
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sMj2NDliuKnmZUw52uwr+FGcRDIZnuZH3HfWgNHKOEIif2CyMVlPwn0OqVDdXgr5zI5vZkEK/f++GayNtwdogQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8576

On 13.11.2023 14:13, Oleksii wrote:
> On Sat, 2023-11-11 at 12:25 +0200, Oleksii wrote:
>> I missed to check the patch properly.
>>
>> The patch fails for Arm randconfigs:
>> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1068865674
>>
>> I need to do an additional investigation.
> So the only one macro cause compile issue if move it to
> xen/grant_table.h compilation will pass:
> 
> --- a/xen/include/xen/grant_table.h
> +++ b/xen/include/xen/grant_table.h
> @@ -23,10 +23,14 @@
>  #ifndef __XEN_GRANT_TABLE_H__
>  #define __XEN_GRANT_TABLE_H__
>  
> +#include <xen/kernel.h>
>  #include <xen/mm-frame.h>
>  #include <xen/rwlock.h>
>  #include <public/grant_table.h>
> +
> +#ifdef CONFIG_GRANT_TABLE
>  #include <asm/grant_table.h>
> +#endif
>  
>  struct grant_table;
>  
> @@ -112,6 +116,16 @@ static inline int gnttab_acquire_resource(
>      return -EINVAL;
>  }
>  
> +/*
> + * The region used by Xen on the memory will never be mapped in DOM0
> + * memory layout. Therefore it can be used for the grant table.
> + *
> + * Only use the text section as it's always present and will contain
> + * enough space for a large grant table
> + */
> +#define gnttab_dom0_frames()                                         
> \
> +    min_t(unsigned int, opt_max_grant_frames, PFN_DOWN(_etext -
> _stext))
> +
>  #endif /* CONFIG_GRANT_TABLE */
>  
>  #endif /* __XEN_GRANT_TABLE_H__ */
> 
> 
> But gnttab_dom0_frames() is used only for ARM, so probably moving it to
> <xen/grant_table.h> is not a good idea.

Indeed. But wouldn't dealing with this again be a matter of having
Arm's domain_build.c simply include asm/grant_table.h explicitly, if need
be alongside xen/grant_table.h?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 13:46:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 13:46:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631595.985088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2XG3-00008H-U9; Mon, 13 Nov 2023 13:45:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631595.985088; Mon, 13 Nov 2023 13:45: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 1r2XG3-000087-Rh; Mon, 13 Nov 2023 13:45:43 +0000
Received: by outflank-mailman (input) for mailman id 631595;
 Mon, 13 Nov 2023 13:45: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=b4yj=G2=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1r2XG1-00007P-WC
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 13:45:42 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ee2ade2f-822a-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 14:45:39 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-507cee17b00so5863266e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 05:45:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee2ade2f-822a-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699883139; x=1700487939; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jNZUl3tOFffMT8/9TCJ9pt/FJdg18vzl/W4qPLTqoNQ=;
        b=VjC2+Sa7/1Ylc6EstrMGRmo8O16uVyxOodWj8H+4m5u2x7mCxZxuWHrtgcCKznE7L0
         MNDFHJw+LFEW4u4QAwnFX8MMItAJj7Z1AKJZGtmuUlWpO+m2Guwp59AgUUzTTqvp9zGb
         zhWSseJYCZ8HF86DyVmeeG+pzVOVwPaVa85vI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699883139; x=1700487939;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jNZUl3tOFffMT8/9TCJ9pt/FJdg18vzl/W4qPLTqoNQ=;
        b=RMDX2LXMeruSCmYQ1JFMRVP6OJAfuRYWqwELi6BI1YOdBCehUvz3jxUmXD7bqRfCgD
         7X2UeW0JDdZ1mYN21aUcJ+vXdx7NaLOvjVEakZVz34wc8OPgd5GMKitfyZaxd4tLnQJs
         3ZzC7uHc4qfsr0Oz2/SkJzsHVzwGn1ZG2akhLIQTU+xzUdtWYoicOau3wmkdQZ2/BoYf
         2yTrNIYYNMfz0iq7rSI2fV0UjcWe3ws0IWCTWFVmW2pRK/KKVK31Rjy8VG7Jke/k96XI
         G0a8HlFdr4X/RnmDMNA1QZIk3Pb2ICCHoxY9119FINJhzvfMfr+Z7dq1lFsz5BrOy6fC
         Ny+w==
X-Gm-Message-State: AOJu0YwqLpZSlKVuJiQU2rJC9svmP5pwRD3yiekq6xYyMuZXCaSrt880
	19g/0bKT0urSZJkND5LghA9GL0HYmKwuJERoCkcpdw==
X-Google-Smtp-Source: AGHT+IHElwJPpKxes7YUsHz9jB3iui0kQDnMYs7URwUo8te36YTi53Fx1u6+6r79ay78Lc+CxLXEi8E70LoR5iCRpBo=
X-Received: by 2002:ac2:54b9:0:b0:500:d4d9:25b5 with SMTP id
 w25-20020ac254b9000000b00500d4d925b5mr4255399lfk.56.1699883138778; Mon, 13
 Nov 2023 05:45:38 -0800 (PST)
MIME-Version: 1.0
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
In-Reply-To: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Mon, 13 Nov 2023 13:45:27 +0000
Message-ID: <CA+zSX=Z2O-EoP5AL-vEgeJgf11YGi4fweSy+XFWOAc5TEEJ9dA@mail.gmail.com>
Subject: Re: Clang-format configuration discussion - pt 1
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>, Wei Liu <wl@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 8, 2023 at 9:53=E2=80=AFAM Luca Fancellu <Luca.Fancellu@arm.com=
> wrote:
>
> Hi all,
>
> Let=E2=80=99s kick off the discussion about clang-format configuration, w=
ith this part 1 I would like to discuss some configurable
> that I feel are not controversial.
>
> You can find the serie introducing clang-format here:
> https://patchwork.kernel.org/project/xen-devel/cover/20231031132304.25739=
24-1-luca.fancellu@arm.com/
> and there is also a patch linked to my gitlab account where you can find =
the output for the hypervisor code.
>
> For a full list of configurables and to find the possible values for them=
, please refer to this page:
> https://clang.llvm.org/docs/ClangFormatStyleOptions.html

Luca,

Thank you so much for the work that you've done here.

The approach in your v2 series looks plausible, as does a brief
overview of the items in this list.

One problem I have is how to really evaluate the proposed changes.  I
spent a few minutes skimming through the "megadiff" [1] output from
the v2 series, and while everything looked fine, that is a HUGE patch
to skim through.  I don't really have any way to know if there's some
rule introduced that I don't really agree with.

On the other hand, I want to avoid busy make-work and the invitation
to interminable bike-shedding discussions.

Is it possible, for instance, to start with a diff which will enforce
*just these settings* (column width, indentation, and so on)?  And
then add on new coding style changes one (or a few) at a time, in a
way that would make it easier to understand what effect each change is
having?  If so, do you think that's a reasonable approach?

If not, how do you propose to proceed?

Thanks,
 -George

[1] https://gitlab.com/luca.fancellu/xen-clang/-/commit/8938bf2196be66b0569=
3a48752ebbdf363e8d8e1.patch


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 13:47:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 13:47:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631597.985098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2XI3-0001Rg-9D; Mon, 13 Nov 2023 13:47:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631597.985098; Mon, 13 Nov 2023 13:47: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 1r2XI3-0001RZ-6R; Mon, 13 Nov 2023 13:47:47 +0000
Received: by outflank-mailman (input) for mailman id 631597;
 Mon, 13 Nov 2023 13:47: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 1r2XI1-0001Q2-IT; Mon, 13 Nov 2023 13:47: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 1r2XI1-0006hT-Fp; Mon, 13 Nov 2023 13:47: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 1r2XI1-0006h1-3K; Mon, 13 Nov 2023 13:47:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2XI1-0004DV-2o; Mon, 13 Nov 2023 13:47: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=SRyj7aAwKVNy46zX/Wmw1RIGAy64eVlw9crqQvT2GJY=; b=jexxNjeC37Slb7qyBOJalUuBtT
	RtSFmEeHqeZKW7OPh4VnmNU0ZepEO7ZYDbTwPKGGblg2+AaMkTH4ijEzlX0Z86jpnfk0g2HbZX92Y
	6FqbOC2lyUmcwN7XwwwvAyVP5m4yniQgGWY5Z9n9Buk2vSxl3jYFieZOZ0brny+tv2Dw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183740-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183740: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt-raw:xen-boot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-start/freebsd.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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: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-credit1:migrate-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-libvirt-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-credit2:migrate-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-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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    linux=b85ea95d086471afb4ad062012a4d73cd328fa86
X-Osstest-Versions-That:
    linux=b57b17e88bf58860dad312d08db7d6708ee6d06d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Nov 2023 13:47:45 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw  8 xen-boot            fail pass in 183742-retest
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 183742-retest
 test-amd64-amd64-freebsd12-amd64 21 guest-start/freebsd.repeat fail pass in 183742-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 183742 like 183738
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 183742 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183738
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183738
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183738
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183738
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183738
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183738
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183738
 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-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-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-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-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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-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-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-libvirt     15 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:
 linux                b85ea95d086471afb4ad062012a4d73cd328fa86
baseline version:
 linux                b57b17e88bf58860dad312d08db7d6708ee6d06d

Last test of basis   183738  2023-11-12 19:43:56 Z    0 days
Testing same since   183740  2023-11-13 02:38:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Damian Tometzki <damian@riscv-rocks.de>
  Emmanuel Grumbach <emmanuel.grumbach@intel.com>
  Kalle Valo <kvalo@kernel.org>
  Linus Torvalds <torvalds@linux-foundation.org>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  Niklāvs Koļesņikovs <pinkflames.linux@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                                          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                 fail    
 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                             fail    
 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-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                                 fail    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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
   b57b17e88bf5..b85ea95d0864  b85ea95d086471afb4ad062012a4d73cd328fa86 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 13:52:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 13:52:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631604.985108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2XM8-0004O4-Tv; Mon, 13 Nov 2023 13:52:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631604.985108; Mon, 13 Nov 2023 13: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 1r2XM8-0004Nx-Qm; Mon, 13 Nov 2023 13:52:00 +0000
Received: by outflank-mailman (input) for mailman id 631604;
 Mon, 13 Nov 2023 13:51: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=0l9s=G2=gmail.com=olekstysh@srs-se1.protection.inumbo.net>)
 id 1r2XM7-0004LQ-8u
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 13:51:59 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d03689fb-822b-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 14:51:58 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-507bd19eac8so5911915e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 05:51:58 -0800 (PST)
Received: from [10.17.77.191] (ll-22.209.223.85.sovam.net.ua. [85.223.209.22])
 by smtp.gmail.com with ESMTPSA id
 p11-20020a056402074b00b0053da3a9847csm3736181edy.42.2023.11.13.05.51.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 05:51:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d03689fb-822b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699883518; x=1700488318; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2JwnpTav/UWDGi+9Qj0ID7d5E6A/wZkBtycg+sKmIRk=;
        b=bulsC19TfQf/TGhIL1VYETKK6+X2IHNgAkdEYPvdIpP0DJ8eROpZPaW3OTG+aycuXE
         Eu3B60mzYt/4xYrQ8SVeIuUgSGN462ryNjkMtMlMEryZTFVJtmV+7Bd1KEY5TYI7jDAb
         eaIODum8H9SN4TyuNGeQU5AKeMYHAR8IZGXQMcwCpZ7dAzxw/6Ozv7sJzUeftBcBBrX3
         6GII7aQzngVbFmZqAIbd2rZvdPxU4jdaCOspbfu98clo6npBQfZEQzRWB1lUhXBc6DX5
         WemP8WgGUSPGaHcP9PR0htTBTr+UqUk+rfmSsAb4X24vyj8hsJcXwZc6YesToPQ/U3qV
         I22g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699883518; x=1700488318;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2JwnpTav/UWDGi+9Qj0ID7d5E6A/wZkBtycg+sKmIRk=;
        b=LAmpwHN4uUSrGNu7X31ndlNXCeVgzgL8WTOg5IyYoSUW71q+uf5geVQyLQrL2bGz/Q
         nrZ8j/u1gHemD/WFawaJcRI2bC7+jfvcvVfBW5VmkcrxBnMC2Nb8QjnRBU/GrXUfJFtD
         HKZKrQVQOA4R7S0/tQ2jprWX/45Xbn7cpvIChmhmsrM4oseCeF2x4ciyo5w+I9cZzsSE
         RAqHt1HTQit6EBvL6YdL4RvCsmeR42FNq3VF6GME2f8WNhcl8+nABRzAz22yzkMmsmpD
         5yKLjqrBtzjS3lzzSYVwyfvDEnVBGG1WUZDsNKoCwFXtQ578ObfqKuv6fy1j7QYQH3KI
         9O4A==
X-Gm-Message-State: AOJu0YzfysstHIdMy4OlWZ3Y3xFN6XC9eRwmz7+h3ONwXVjiUhJDMilZ
	yia1SIPVmqBlpug5XvyQtvE=
X-Google-Smtp-Source: AGHT+IFv0uWlgXZcytYlL2U+zbig+zZeYsk4Fm4X4XPq4fCBTaoCxu4F+vbhvbrNq2lIm2g0JeXb1g==
X-Received: by 2002:a19:6d03:0:b0:509:43cc:18b with SMTP id i3-20020a196d03000000b0050943cc018bmr4409477lfc.30.1699883517610;
        Mon, 13 Nov 2023 05:51:57 -0800 (PST)
Message-ID: <f1480f64-86ae-4f7a-909e-7afe3275cddb@gmail.com>
Date: Mon, 13 Nov 2023 15:51:55 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/7] xen/events: fix delayed eoi list handling
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-2-jgross@suse.com>
Content-Language: en-US
From: Oleksandr Tyshchenko <olekstysh@gmail.com>
In-Reply-To: <20231016062831.20630-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 16.10.23 09:28, Juergen Gross wrote:


Hello Juergen

> When delaying eoi handling of events, the related elements are queued
> into the percpu lateeoi list. In case the list isn't empty, the
> elements should be sorted by the time when eoi handling is to happen.
> 
> Unfortunately a new element will never be queued at the start of the
> list, even if it has a handling time lower than all other list
> elements.
> 
> Fix that by handling that case the same way as for an empty list.
> 
> Fixes: e99502f76271 ("xen/events: defer eoi in case of excessive number of events")
> Reported-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Juergen Gross <jgross@suse.com>


Reviewed-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

> ---
>   drivers/xen/events/events_base.c | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
> index 1b2136fe0fa5..0e458b1c0c8c 100644
> --- a/drivers/xen/events/events_base.c
> +++ b/drivers/xen/events/events_base.c
> @@ -601,7 +601,9 @@ static void lateeoi_list_add(struct irq_info *info)
>   
>   	spin_lock_irqsave(&eoi->eoi_list_lock, flags);
>   
> -	if (list_empty(&eoi->eoi_list)) {
> +	elem = list_first_entry_or_null(&eoi->eoi_list, struct irq_info,
> +					eoi_list);
> +	if (!elem || info->eoi_time < elem->eoi_time) {
>   		list_add(&info->eoi_list, &eoi->eoi_list);
>   		mod_delayed_work_on(info->eoi_cpu, system_wq,
>   				    &eoi->delayed, delay);


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:09:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:09:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631607.985118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Xd5-0000V1-7H; Mon, 13 Nov 2023 14:09:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631607.985118; Mon, 13 Nov 2023 14:09: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 1r2Xd5-0000Uu-4l; Mon, 13 Nov 2023 14:09:31 +0000
Received: by outflank-mailman (input) for mailman id 631607;
 Mon, 13 Nov 2023 14:09: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2Xd3-0000Uo-BX
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:09:29 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20613.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41e239b2-822e-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 15:09:28 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7376.eurprd04.prod.outlook.com (2603:10a6:800:1a0::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Mon, 13 Nov
 2023 14:09:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 14:09: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: 41e239b2-822e-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C8Qa6qyPZ81gQ7xfdmet/q+iBP/W7+3TMRP7uzidedK6qnMcmgwhQWRke/r9R6QMkYbQt7TxmxIOmW7PB9BolXC077v4wBGUe3q+jWkQ93WpHDeCX4iJf1Ohy3AgH9ZwqM2kEGBghqtqd9v9PohX/N9LBx5HBow8sDXNX74gIx92WCphnnsPCLI6YNM0NzuB8XisYAqv+y2hyYB9V3hFSsdqe3q0bkd6ebc6VmgVMQlDTVvvBumZy2w+kNcKgjfKvS/GOV0l6/22xgEeHZymZ8UvreAPhDGzdQbQrYjWBVjdh3KeLLgBL01fARqECJkHQKf61GAowiFTET3PXimKgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cQBxa5irDlgy6TrWgjMJ1O5liy7STpDHdZSG6bICTNo=;
 b=AfACGZu82h2acPTH4GWPcFEX+9YZrwfqk1ct0wH5XNUq50eJznv0c8CjVeSBKYZHLwLGqFw0zCOz9DiLjGwWTF6oJNXNtrKoZ0WzfUavTOkaztKIWa57TpeBPTckIvRmJWclD39N2q8Bu38sHvZVJOoOi3e7nk/t9r/l8J9lExzqx8W/qDKasEpmvSugwMuZpNtmxdhCdGcLqAgMXyjIIs2BQ2Qj2mQbb08zuH9dq9gJFEL4daujmhxMa6ggzTRUZuDTEbk/MLoXJ8VO2PamIscX5BJpulO8gTyGcpJHV7BJBFiKw9IHVYt2KcLRoIc2iUvGexeMTlKzlLO6UVMxzQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cQBxa5irDlgy6TrWgjMJ1O5liy7STpDHdZSG6bICTNo=;
 b=trHJ2Zq5zd0AHWXL4FhV1G8UZQi+VDqseUNLdcw9qhJwANEBLnsfFaTJwLJM2wumbAcULsHlS3PvC3H7aZ16VLoAyIgUkgirFvxc5B+Wyd01SmcJQYD4aUKqPC6rCTfMO2sxo9HXYcvXtcipd/yrwH9QARU/QdL3vaPNvC5R9JVITc74+WLXER+4gmfO3ZAqJtlafZznmX8kzMJOexI7X4hk2sdvcYzge46871t6d2XgdJnib655h4+Uepg0vQ8aLtjYXCgDkb6dHLqDcsLEbXtb6ekGY/IS8yF7RdPWtVdayURbefd6ekUXkej93KVxdrjAvRfgzkbn7+P6VU6l4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b7df2987-ab46-bb09-4440-e743018561ad@suse.com>
Date: Mon, 13 Nov 2023 15:09:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19 v4] xen: address violations of Rule 11.9
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0193.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7376:EE_
X-MS-Office365-Filtering-Correlation-Id: f931b24d-28cb-43c4-644a-08dbe45224dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cmjX06g2YBAd2Cr8a2HsZhoqsAKhd0VvT2VOtvmJLyNXGr6o18X3Bpe0VI83eqqYAxvo9s5v7GHy11Q7WSBsQ7sLhosxPHGgjIGwDN4T892OslErM7A+c6IfS29WjATLxLjx4iHPR1yaLsTT6odnnFUWl1/LXGOiR060sjTTcjDY/bNaLnDT7/CT1ik89GweBdWMofD2Nlh/awydPUiogZ0+WmyqXY/5DrCUXzAVVBnUXTEa7Jf8QueWRuIFvdX/FUf0GYyp48uorCS9/gqpVisLyfW30elg6kG2YThCq8FlmFo//rD1GMPyWhmEurnreADsahiWdb/BZGw39OlYXyMy+7TBfRVOwOykIdqfvoJVSvTEQwo2TUY90dD195YhGJBMOZ7Dlud/NP3fh7tGkmX/UDis+T0qdRjt78s2nptHb1PhTBxmVtwBantl5cov67+hRKbDRnj+KrW8OdCBJBUDRsszTIkZ75x+y+vB2U3zvwtWs8prnAfM5wtmOG8OXA4XgstEtK3Z7b75Wriqn8PEHb7ru/dA5I2foeIDxfAN1xKDPHABIsrEdjHbSBuYg4Yq9U90yHWZTsIYD0BhgjFFt/+qAaU35vHV1tvOaRWeb8DdBTuk1ptX+mvLChmR9VUyrZQU9MPmVO+tFmigTw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39850400004)(366004)(376002)(346002)(230922051799003)(64100799003)(1800799009)(451199024)(186009)(86362001)(31696002)(6486002)(478600001)(38100700002)(6666004)(5660300002)(2616005)(26005)(7416002)(6512007)(31686004)(6506007)(53546011)(66556008)(66476007)(41300700001)(66946007)(54906003)(2906002)(8676002)(8936002)(4326008)(83380400001)(36756003)(316002)(6916009)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bHcrTndONThkb29MNnNrdVRzb3VoK0xCZzZwdFFPcGgreEVaaTRrTU5KUkYv?=
 =?utf-8?B?dU03Zm9pZTYrM2JSVnE0RWpHK0VGVXhYTFlTcmpNQWFSSU1yN2hRM2xpOEhZ?=
 =?utf-8?B?VDNIdnJuaFRwOXpreDl0cktRcFg0OUMrYjlDbDlGTDdLalNEOHJmamJNK2Rr?=
 =?utf-8?B?ell3WFhsc0t1eEMzcWZCWHZuR2gvVnVwek5yWGxrUzlYeEpjdlBKMHBENDgv?=
 =?utf-8?B?cXFUK2JrUlFyNW4zS3ZqeG1RQ1ZCUFVQU2pwSEhnQlJSeWxzR0txa3pVbEZi?=
 =?utf-8?B?bnExREtaVjJkVmNGaWE3RCtLWDNaT055L0U4NG9HcVNlL1JmcVd4QkptZVFq?=
 =?utf-8?B?Q0pSRTRPUTdjNWFZbnRhbjF5ZzI5dEFOYWI5QW8zZEg3OUI5TEZ3QlA3QStx?=
 =?utf-8?B?cERVdjEvRVVGeldtaTVEckNDbmJ5QUNNQnFCVEp3ZUMvdUV0N2E2dUdBaDMx?=
 =?utf-8?B?RWQ2MXo2dUc5RW5JYVVjZmdOQ0ovSnkzRXp1MGdnYUVrRVFUeWRMcXYwemNL?=
 =?utf-8?B?RE9hc3hscmNXWXFmTlRSa01FSFY5UUk0dzJpanpQWEk4QU5xQWI1OEhrTWlP?=
 =?utf-8?B?aG5zS2NzQTROM3Jma2kyQStqcCtKcnRBcXRueTJXU3NWUlBFV0JVNEN3NzJL?=
 =?utf-8?B?TFJhS0hJbkQva3V6a21wd3MwSVkwcjFDT0ZuUkhUU1VWV2UvdjhtZWg0SFpn?=
 =?utf-8?B?ZGJ2NHZJYW9CLysrNWU3NlEwUWVtNHBUQlBtTjR6WmExQW1KdGNsVlRxdTNQ?=
 =?utf-8?B?R2NIeERFeDdWeHRLQ2V6V1RZOWpqRXNHaXJlSk5PVGhQN3hhYlc0dzh6RXRV?=
 =?utf-8?B?ME5kdTdyc0dRV0xCbU83cStpeC93b0RGa0pqZzZqZEhYVU5rYXZXTUtDV1NI?=
 =?utf-8?B?bUlWVGg4R011aDdlMnkvYW13RXJidW83Ykw2TDdiQll5Mi8zR0N5OG9YOTRm?=
 =?utf-8?B?NjU1THV3VU1YcGFnRzN0SDArclp4dXFxVGpadUxoMDV1NGQ3bTd5ZVFJQ0gv?=
 =?utf-8?B?eHduN3BjdkREc1U3Smh1TGlWWmV0ZXA2NXhvSTJGVzJZc1RVNXdrdTU5dnFw?=
 =?utf-8?B?amxOZ3JRM2Zhb3U0MWNCcEFoUUNjTDlvaHhrUEVCcjYvM2lZWU9HNFBXWTQy?=
 =?utf-8?B?Nytub0s3V2pZeHB0ZGd6ejNBRnhZTC9CRlViSnZNbWlEak1WdThYdHNJZHhy?=
 =?utf-8?B?ZEZnb1FUSTVXclNpMGFTd0lKMEdsL3VzRzF0ZHZFK3ZqQkF6VGE4YnowUmYz?=
 =?utf-8?B?SzZCMkxybUt4ZjZWZU5kdkE2YUNYcyt6M2RubFZKbWlvcEdWcVVtQjUxQ1ly?=
 =?utf-8?B?Qk1vWHhyRlkvWXVmZU8vWUZubGp5M3dFQmsyN29lcnVMck4xd3pVUXpHYTV2?=
 =?utf-8?B?U2ZzY3JUV0p1V3RNVHFkb2psZ1BGdlRPMXVEUURxOE9SWmpUdkY1M0dMVWxP?=
 =?utf-8?B?aDJjQnNqQXYyZy9aY0tmUGJIMlpEbmtMcjdtR0YzRmgvRnFkQ1NNQlQ5V1pC?=
 =?utf-8?B?dXl0U256NGFOUnYveVh2S0U4MURTdVRMRFVIRGhBVkRiNVRIZ1ZLMVVPRzUv?=
 =?utf-8?B?aVdxQzN1NzI3WUgrSjZ4Y1VRQlR2M3k1cklydVhDd3NoT21MdE5ZUDI1MUVU?=
 =?utf-8?B?cisxRFkxVlEzMi9tQ20rZHhCT0lXN1dLVXRIaDBBeExseVRDdWNvSzRLY09p?=
 =?utf-8?B?NStPN1NUWVJ2WEpJQUNJUDBxdHNnd3Frd0Y4a2ZTdTl4N0pxeUlwQy9aVXZs?=
 =?utf-8?B?Y3VlQlhMcjNrMFJUWnY2YTY1eHo4ZEZBN2xzK05VeitxUDFtRVRBSnkvWHAy?=
 =?utf-8?B?elcvTXVic2VXeWpnOEdydzlHNWdaL1A1Q096YVRXZllOYkZVUnlkY3A1M3o5?=
 =?utf-8?B?ZGthSFMvTWlPMXU5cVBTZG1tcnJwenptcHBmc0FsZ1BzQnZZc2FHZkFyZFZ3?=
 =?utf-8?B?TFNPOTdObDQzY1hQTzdNN3ZTRjFuSDgwUDlSSlRWZENLR2lpMEcrVVFnT1JZ?=
 =?utf-8?B?WWFNTERDTjZQNHNoVlYrblN5dWxOM3RsSnd4UDNVbTFyN3NEejZGRXViNWdN?=
 =?utf-8?B?ZjZ0TisxR0I0di9KcDdpZm96Y05qUFVGYlp2WE5ROGJKRmdoZ0haZkNwaUxk?=
 =?utf-8?Q?09HuiEXSG9ZZDANSc8DFyqXAb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f931b24d-28cb-43c4-644a-08dbe45224dc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 14:09:26.2001
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MZqinABC1xoeG7VkrCZgrccmC4ZA027dDBQybod9VWy8E2qbX3dZ0udT5BI5DXb4KK4ekMTUrvOFqtPrpFx6gw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7376

On 19.10.2023 09:55, Nicola Vetrini wrote:
> The constant 0 is used instead of NULL in '__ACCESS_ONCE' as a
> compile-time check to detect non-scalar types; its usage for this
> purpose is deviated.
> 
> Furthermore, the 'typeof_field' macro is introduced as a general way
> to access the type of a struct member without declaring a variable
> of struct type. Both this macro and 'sizeof_field' are moved to
> 'xen/macros.h'.
> 
> No functional change intended.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Changes in v2:
> - added entry in deviations.rst
> Changes in v3:
> - dropped access_field
> - moved macro to macros.h
> ---
> Changes in v4:
> - Amend deviation record.
> ---
>  automation/eclair_analysis/ECLAIR/deviations.ecl |  9 +++++++++
>  docs/misra/deviations.rst                        |  6 ++++++
>  xen/include/xen/compiler.h                       |  8 --------
>  xen/include/xen/kernel.h                         |  2 +-
>  xen/include/xen/macros.h                         | 16 ++++++++++++++++
>  5 files changed, 32 insertions(+), 9 deletions(-)

I tried to commit this patch, but ...

> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> index fa56e5c00a27..28d9c37bedb2 100644
> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -246,6 +246,15 @@ constant expressions are required.\""
>    "any()"}
>  -doc_end
> 
> +#
> +# Series 11
> +#
> +
> +-doc_begin="This construct is used to check if the type is scalar, and for this purpose the use of 0 as a null pointer constant is deliberate."
> +-config=MC3R1.R11.9,reports+={deliberate, "any_area(any_loc(any_exp(macro(^__ACCESS_ONCE$))))"
> +}
> +-doc_end
> +
>  #
>  # Series 13
>  #

... this change doesn't apply, and I also can't see how it would. There were
no dependencies specified, so it's also not clear on top of which other
(ready to be committed) patch(es) this might have been meant to apply. Please
resubmit in a shape applicable to the staging branch.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:16:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:16:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631610.985128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Xjr-0002lc-UZ; Mon, 13 Nov 2023 14:16:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631610.985128; Mon, 13 Nov 2023 14:16: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 1r2Xjr-0002lT-R1; Mon, 13 Nov 2023 14:16:31 +0000
Received: by outflank-mailman (input) for mailman id 631610;
 Mon, 13 Nov 2023 14:16: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2Xjq-0002lN-VJ
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:16:30 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7d00::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c97dca8-822f-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 15:16:29 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7973.eurprd04.prod.outlook.com (2603:10a6:20b:28b::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 14:16:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 14:16: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: 3c97dca8-822f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JQ5ZhUM7B40tBm36uoDxDF+TCfBZyWMOkmhJf91vGcMIHSA0e4iAEPi2AhTEVm95ZDcX7yesycDNohGcxs6kIs3BgGMepyvbElcYzv6a6JbXOSsO3585yY8aZxRtncIba5NX1sE8j2KxWzlx67dApcusGoUmvIC3f3qFnGLFjoV6jb3BOeJ4/Bt6LWlQ3zKAS0aMe9qIyOGqZVgpD5WqyarkC6TzCcdUPWEkC66Wlw6ao7VREmP4pTuhaj6gvgSw6euB7xWW10gZAAXq4RCLX29FLRIXtdP3RtEph5Zy0mTNrXX8/aixRJL/dTVaJ6bwyXH6H9oVwltaHZTvVO8oEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jTffHfv2bB3KFSHbxrGKwVy2uJUBGianQ3d4VxC/JAw=;
 b=JE7MrHEHCe7eWFKp1NzJa9JW5w47HCcScajr/NzX5nOQTh5hAUyjojQwjlaHGNeVRokXdljTe6Qx/QDINN0vgrca/KkV6NVk8nDDByZ3mAIYzkNUOwL0Fw0WuVs7dgK0WCFZVe+7FOlnqOsUx10JOOX6UNsYpeDKXtAIUvK5hexllwuflk7yX0ToaNpgTsAjB7udZiRZT/3dB97DEhgLy1RStvS210mXhDTOhYnij166aX3ii+LbLY+A9shfhv7VCw3Cu8tbg6Kx9+jDbk4u3R5nPvKWriSI65AELryLLp5qfnlTt83OIiT283ZppgXdiKu3tn5RnikQ36AKGKpN8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jTffHfv2bB3KFSHbxrGKwVy2uJUBGianQ3d4VxC/JAw=;
 b=I6+jCNIl8qA2Z5AhZ/RI201LecWLO7HDHpDUTHWowQzivkR7H3WmstNQgNne52Wo1/4dLgz4V5ME3JxtrEtKtJgBBUOrtnkGLzDWFbE8ZEizXiJSVo/zltBaO4oztZHy6piXtqC0VOeO91D3Ad2iTeU/0b3mzTKpXvEbUqQF8wUri+WEZgxyTI3q0Z4EUwkdqEUTEI9+za2JPd7yCsEdHZCmQwcoV2b6ZAhdbcBRb3Xx+HczfBqgpsTmQXzWhdZuAcm7pBAJL8tto23D/DcQ6y3g4U+1y3IeV2hTttU2yQZrygBRFfI9PNakWeUtcBrN9KYKVfrZpy1krEyR14OhJQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7207a9f0-c53a-228e-7482-31c2564b95b9@suse.com>
Date: Mon, 13 Nov 2023 15:16:23 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19 v6] xen: Add deviations for MISRA C:2012
 Rule 7.1
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <3646e75ebfc8b78d44578e3303bfa1660e0b684b.1699022991.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2311061649260.3478774@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2311061649260.3478774@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f0::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7973:EE_
X-MS-Office365-Filtering-Correlation-Id: 1dfe728d-1393-45ca-4049-08dbe4531f03
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MAcoski8wnbGqwQUn2FfB00Fug8PuM/xHnjagFTPAiX2nLkUQ8szbCWqkuIGFDsJafcoIKfwTxFbuBHlesFFUi25NJ0dsIrphljyhtGi8nhAuvdM+tN0NrKkCK1yvxYz5C401oDAdNDyvPFoHqriybuZK5u81IouDwLux7x9CDRwnIAdweLO/YTqWfB2iYtZ4QoFDYDwaOQMGWCseF8tThMYf4ahtwERZ5iLCJm3OTvKCQtUUmhZ9G3V1tixhj/1NLcml2L2ZhKMM1F/gC0n2uMyy/EG9i3j12EOjqtjeEZg6BOKyPo4MAfctouWRbVpP7Lhod3FFfsj4/RRoMnD3utKaTYIzAbEueKPbkt3EyIPViBdthq0e/qUyYqiOEF88qZN4D/iZEKhg8rshFOIAMApm44XDAHrqzsCwcHqAuZq6OArjJu6DbYeMP/RxVzPswp3MuGw0Z2qNHCu4RSM4mlwDvY/mxvhcHqP8jGLdeJdEhREu3+NN1LlUhm5ulYSrvXnfMJ911zt+Dj7daidkYvX0you9iqZnecyIIrfE5I+vB25ZXrL44hhXxiFMHvebIObyWEnhFndqdfmHcCIIJcxfUTz9B1NN48DWx+rOIbAgcTh96NXk7ENGwjDm0n88854E6v+Cc1bhSb5hJTZfA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(26005)(53546011)(6506007)(2616005)(6512007)(5660300002)(7416002)(8676002)(8936002)(41300700001)(4326008)(4744005)(2906002)(6486002)(478600001)(316002)(6916009)(54906003)(66476007)(66946007)(66556008)(31696002)(86362001)(36756003)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dlMrUHhGOEN1NVBvTGxZWmpVRHdBTEVSTGRFb29hUXlTaWhxOVRnN1JDM1FR?=
 =?utf-8?B?anNHYzZsV2ZDcGZwYTlsUzBhalZzOFYwdDk0bVc4dE1qZTB2OHNZWXQvZ0p6?=
 =?utf-8?B?QUxRaElBTDUrN012Y29mTVdjVURNL1kvSjZmbklHdjhyMmZSODJlTktGLzB1?=
 =?utf-8?B?OEViMUdJNDUvYUlDZ3diQXVCSkdXbVdKK0oveGRyd2h4aGFZKzFtVnZ1NzBt?=
 =?utf-8?B?TW5LQmpPRHJoYy9NWFJwaHo3enNNazZzNGZqa3hGSFRoOENsbW1FbHNxdzVm?=
 =?utf-8?B?NUd5T2EvQTY2anZmcWUwVEtlOXp6SzZVQjhSaS8vYVczNjdjeU5OeHNZUTdq?=
 =?utf-8?B?Q28zV3FueGF0VlVRc2FlWWhYMlhQaUNkc3p5UGt4WXc3aHF0Z3RuVVFjVjZu?=
 =?utf-8?B?MWRGOW5aQWpGdTY2SDVyYmVoZGR5L0lhMk5WdkYrK01iaDJnWklaS0FYMEVY?=
 =?utf-8?B?TWxJbWdhS2xsNnZ1NnorNlNWcFA2Wk5jUDlkK1Y4QUxxUWk3Rk9OaXlZV3RQ?=
 =?utf-8?B?T3V0eStubWtLc1lUczUzZzUwRHU0aTNyZ0xpdThyQWFIQUJ3MnNOYXNCM2Rl?=
 =?utf-8?B?ZXVRWGc4YjZnK2F0aEdDQmZzd3RyTG92RTdmb003Q0VQd21mRUgrUlFjdUdu?=
 =?utf-8?B?cTZCMTJlbW9BTnRWbDFZaVRTQlMwNEF5WkFwVDFqVWtPYis1N1BEZlN1WjBZ?=
 =?utf-8?B?SlVqTFdzWm02VlU1UXcxcHg0LzcvNzNKWWpWZXNpZmowQk5VaXZqRExRYmx1?=
 =?utf-8?B?dXNQYlhrVlJicUtHZHJaYmtvNzRQZ2FpZlVrR1VEdTdPVHBFTXVIbm5sOG54?=
 =?utf-8?B?eUlzSG9xdHlJcnBvVVdPZ2pYNktaaHo5R3RXcTV1Z044cjR2azBsWTRwNzZl?=
 =?utf-8?B?b1BZSkxLRUYzSEgwM3hUUkFwMk5pRzdsZkozTTJJZXViSkd3cGlodGthcFRx?=
 =?utf-8?B?cit1NmFvZWU3cmQ2YkU0dlkrZXNnVnVPTE1xdStubmNlMGdiTTZtVjh1Zk9a?=
 =?utf-8?B?R055d1RGa2VUckhQZGNjNVl2cURyYVJiT0VWa3ZlYWJYOVlSejVaRXZXdnZD?=
 =?utf-8?B?cis4L3dZa093WGo5aERGcUhBdWpxQ0VUd3BrTFgwZXJKK3V2YmVsNHhWTjdH?=
 =?utf-8?B?THhpcDQ1VldtRnJhOUE5V1hXSDBvcGcrUUVhTFBFRE4yclBsYXFLbmV3bnZB?=
 =?utf-8?B?QWlFWk85T1RVN2pVWVZZZXRSc05RcGNGVDg3VDNvRnFsMFpBMnFVRjRFNnZY?=
 =?utf-8?B?dXhqVk1SVjZ3YmIvMXl3TTFyNTYzMktUVThRd2twWEpXeU9Cd0M5RzFWbWU3?=
 =?utf-8?B?cm1OdklLSTdpRGJtN2NjRE5sNlVwZCtKVkZyRU9HTUZvQnV6Zjlta3VtYmRz?=
 =?utf-8?B?bHpFL2xjWUtBUDZyQUtnakEyZFpaSXVrY0VwbWJiUTJwanFHYzdZb3ovRTZQ?=
 =?utf-8?B?SmxHVUZDNFdnZDR0S2d0K21WZWJiaHpJNUlBRnF3Rko4a2I1enk5bytENWxP?=
 =?utf-8?B?SkMwVndKSmJqQ3o4YXJKZDlibWQ0WlhsRG1jdVpleEJCZFU1WkkzcytqZFdw?=
 =?utf-8?B?UEptbTZlYjQ0UlNxVTNZMnVFZEZoeDlxVFpOM2lmSjA0Y3o4amt1QldMU0ow?=
 =?utf-8?B?MEZGTEZZeDV0YVVZQnZxbSttY2FxZlFsTUd4SWsvWHBFd0JCUzNPUURZWjlV?=
 =?utf-8?B?T0FhSlBxQStxbFBGQmJOcnhEMHEvMTFYWDIrcFI3eHRxdnBhenJOdGZZU2J6?=
 =?utf-8?B?Y1VKeHB2dGRCVnZOTEY3aUEyQlcyTTFFcG1URGNvRGJPZEhLeHpUVGhzMWlD?=
 =?utf-8?B?NEFtNS9uZDNrTzE3Qk1Pbzl1UTBaTlJxT1ZlbkJUYVlVZGdaNzk3VlZ4NEdX?=
 =?utf-8?B?NGY1Q1dpZHdsZE9Oc0xWQStWT05ZNXhXMFJYTU5RQiswUEM3NFlhblZPTHlv?=
 =?utf-8?B?bytYcm1CYkkyN0E3THFZUnFodnNMNy91MllSbGNHeHFCTEtOdTJSNzZ4Qmlw?=
 =?utf-8?B?VWRZVUEvU2htRXc0YlBzVkk4RkF4cXdRZC9pekJ6aGZRVHF3eDE1bG13RHZm?=
 =?utf-8?B?ZlU4SThrT0pEMDQycEtpSHVISVc4Tjhabit3elJ1TVhUdXJGQmMxbVM5UURB?=
 =?utf-8?Q?JJtMvFcm4bxoZdSCLe6M9/B2Y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1dfe728d-1393-45ca-4049-08dbe4531f03
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 14:16:25.8039
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: esF85aBG/p2hfxBOs98lr1GS1F/S41/RjbhMFYaGKMmLeTJ7RRM9xqide2eoWPrLL9X4KU9RdCd5F4g8cp36Yg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7973

On 07.11.2023 05:18, Stefano Stabellini wrote:
> On Fri, 3 Nov 2023, Nicola Vetrini wrote:
>> As specified in rules.rst, these constants can be used
>> in the code.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>  
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:17:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:17:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631613.985139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2XlC-0003y9-8w; Mon, 13 Nov 2023 14:17:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631613.985139; Mon, 13 Nov 2023 14: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 1r2XlC-0003y2-5h; Mon, 13 Nov 2023 14:17:54 +0000
Received: by outflank-mailman (input) for mailman id 631613;
 Mon, 13 Nov 2023 14:17: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=EUjx=G2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r2XlA-0003wU-UG
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:17:53 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d88cd44-822f-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 15:17:51 +0100 (CET)
Received: from AS4P189CA0015.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:5d7::19)
 by PAVPR08MB9139.eurprd08.prod.outlook.com (2603:10a6:102:30c::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.26; Mon, 13 Nov
 2023 14:17:47 +0000
Received: from AM3PEPF0000A79A.eurprd04.prod.outlook.com
 (2603:10a6:20b:5d7:cafe::a7) by AS4P189CA0015.outlook.office365.com
 (2603:10a6:20b:5d7::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29 via Frontend
 Transport; Mon, 13 Nov 2023 14:17:47 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A79A.mail.protection.outlook.com (10.167.16.105) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.13 via Frontend Transport; Mon, 13 Nov 2023 14:17:47 +0000
Received: ("Tessian outbound 5d213238733f:v228");
 Mon, 13 Nov 2023 14:17:47 +0000
Received: from 8f6d3a58a679.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 67F0D586-D5CA-49D3-BB2E-29ECAB68D06B.1; 
 Mon, 13 Nov 2023 14:17:36 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 8f6d3a58a679.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 13 Nov 2023 14:17:36 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com (2603:10a6:208:ff::27)
 by GV1PR08MB7707.eurprd08.prod.outlook.com (2603:10a6:150:52::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28; Mon, 13 Nov
 2023 14:17:31 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e]) by AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e%3]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023
 14:17: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: 6d88cd44-822f-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=XZJ5Etjd2ZPbR6UYtjIxITaJeS69E/NopGVGYpo449LsWt+1wb4F171vDxQE8NlWSyGPjQgpr94Bco4CM9/WGTqBzPlg93ynjUigXkMrQpLVboqKe7QAg7SkSASbCGaUccZnNQoTLRLi6dqeFGb/N+NA0JN/sEO7Ne1ZmJ8G8vrLecUGd2wusi9HyUXhoHY7pxuN1cWGL146yLU8ID9P9wW/QwcsKmtvSq8alsOSZxbfnyxjpyVxsPQDy0NIhke9LjIDBUSEx5YszspY0UHBBV+x2womhHwMMHupLbqx8fTt3iKq+yl7433zI06ETxzxVbEE+8C7nh6ZEVZuuRKcuw==
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=bDlMveBBAUHf/Y3uWO8Xe/3OD+n9dn9XlcmUzw0yHjw=;
 b=T40DQQScQHpq5KP4E3c8VD9aOuVLSpHx3csQTmzNNL3jHlnaQoqpaGMiuFUNxfJEyTz1gobACE8CH1r90JwgINJNWUkxUpFhYwi9n38FX3ZyDL7xW6NMGqI6olajN8CuVNV7pEyncPTxTO6mvywgaJJ0jFJWk4HEyrucA1NHYKck8Hex2Vh9Efob7OPYXjVRQR/HToeyZfkM7YNpOC5Ol6j78tBI3XNZFWKer41DC6+7xalzGkK7kwsA2Ane6HuBPMA+6deYqDZ+ad+BbeWD26axL2oImJ9nPIpLPglTV2AjEI5qQwYkUnvLjHiZaopEx2x8H6VVjgXaUjBjnFhHmA==
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=bDlMveBBAUHf/Y3uWO8Xe/3OD+n9dn9XlcmUzw0yHjw=;
 b=p0pCk8SrrhZoSOCZxV7meCxees4C0/gQ21Avdt/WDOaV8l7/EM5purLczJ+LB9ZKAcm51qaZDHR9UPC3MYeXv929x2wEfsJV4OuTb+sJJxRSFljjYUH62Yxdo9rNECYkCn+ox3rluAxYQL4l7yzcSi03N+E7X7P9X7szaE+0wHA=
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: 06cac8a1a2ec6dd1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EitUgIZNu9O+lgWDGtbZxC9KtgsqYDZ2rPxDAuFp8ZpPp+P+OgViOtujoEYDKQpIPaJFzjmnFpeHOZ4t9crB/6MphY8RG/frR35A5TBHqbZSbXSOR6bYaMRVrpXr2Gk/8SDJv01DDbFBIAyt/h8XB9QtJWS3kjK58IMKrUjtitATI8pjcte3CLNCsXQgY2mh/oYq9lTtXyA904fXza4JxMWCnpk9r1rLCVMB8ILyhdF3GkhYcUqccaXozEZ+vry26J5b4eXqiiwXk4l/TTB6mmfXW8i2JHh4n9khdHAdpcu8rXNChQidxaIYYdObPhwp0JHSUsASJx0mA0goclM0oQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bDlMveBBAUHf/Y3uWO8Xe/3OD+n9dn9XlcmUzw0yHjw=;
 b=obFayRyzoX3rsEICz8GinuA3HYtK6GmLwRTniRp3h/AyW+hm6Kjq3v/XV5UosEqCqq3lNSwAVvysAI7HDq+B9Jaf6c4r6shXb0Ky+3kHPhUl5IrMgn65kNTvUaK1REDyGi52OwwsSVMPvjMrbPe59AzIswCDs1e9GbB2KeOUdTlcQgFgEv8/UChLazIPBkMnBeDXj/WAY9hXvKGQhPTy/uEdhYJu+KWi12GsLMq3ZvH3NYw07zkKR6U+MubccjuBKnU4jFRXuWw5w02iVGqKwUuxrTgUKmfMUs8suAEIdXQNnPZuioDim5xwWuL641OQDVIRMZ/jEDKG5EqzolZyAQ==
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=bDlMveBBAUHf/Y3uWO8Xe/3OD+n9dn9XlcmUzw0yHjw=;
 b=p0pCk8SrrhZoSOCZxV7meCxees4C0/gQ21Avdt/WDOaV8l7/EM5purLczJ+LB9ZKAcm51qaZDHR9UPC3MYeXv929x2wEfsJV4OuTb+sJJxRSFljjYUH62Yxdo9rNECYkCn+ox3rluAxYQL4l7yzcSi03N+E7X7P9X7szaE+0wHA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Rahul Singh
	<Rahul.Singh@arm.com>, 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 v4 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Topic: [PATCH v4 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Index: AQHaFijSS6ojbhl1Cke6ibm0yLAE1LB4S+mA
Date: Mon, 13 Nov 2023 14:17:31 +0000
Message-ID: <91ACC322-B543-4675-BC56-D8D284BC7CA8@arm.com>
References: <20231113090841.595428-1-luca.fancellu@arm.com>
 <20231113090841.595428-4-luca.fancellu@arm.com>
 <8a4431da-7e48-4b71-9f62-154edcc5968c@amd.com>
In-Reply-To: <8a4431da-7e48-4b71-9f62-154edcc5968c@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM0PR08MB3745:EE_|GV1PR08MB7707:EE_|AM3PEPF0000A79A:EE_|PAVPR08MB9139:EE_
X-MS-Office365-Filtering-Correlation-Id: a1363f19-7642-48a4-fa59-08dbe4534fc6
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:
 mwTVoy/TF9+mqgexKwwSp0sSRSytqhGh/iO0IvMWQmEyq4qV3SVDbTWBV3OESmNLzdNcwc5WIHSj7wJe0pcFs+T6va3nhIb6zFppHfeyIYdD5BsMQCX2kbthLAWv7o1e+Uc+pAdVPy32aaPVDFWd9XNgvi5nru1za8eB1mXZMSBTlpYbuQsh7wWw2DHbvlrvSbOHmCcSGTNpon6cRlWVJmY7sU9v3oWQIkeq/GVja56H19SYomPeKRh5rc+w7ir0CDKjSJWjwRwMbsDqnAzR9CF5T3ybpdoXwKkuP13PVxkbmgK+uoUnJB/45k4JncdSqeC+GliryIi+WHPf/hkTWohB2azaB7EAsXvPsCpizZlaGOQEFJ49h3zFCfly7gc0tRID/uJAqeTQjpbplbe2yicK+g63DZ5nJqsiQb4eyZzq90dQr03s90S8SBOcc7n7cJn73uSg9M8ps3K5AwDNpqVw5X8aPF5yFWXEMgHZ3s1Z1SCDHkdU/pNv62jrD+QlCsmPn3LxqRU4XX8Don9203qy5PTa0WOfNIr6kyp1H9SN47Pg+NqJfV21UrnWYtqyJeX6SNj2ldWyIa5997FSIQ1WyXSl/17JzjljVbZEg6neX+O4uoYUb0tu8uEZh42ytech7A41JYMMEMrlQgjg8KHtCHLDOROwWIx8gM9BpIXSKfruYtt8ZwQ1WpaggkHG1ILUvyqh0Ow9BwCRyJykNA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB3745.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(396003)(136003)(366004)(346002)(230922051799003)(230173577357003)(230273577357003)(64100799003)(186009)(1800799009)(451199024)(2906002)(71200400001)(6506007)(53546011)(478600001)(86362001)(26005)(6916009)(2616005)(6512007)(64756008)(54906003)(66446008)(316002)(66476007)(66556008)(91956017)(66946007)(76116006)(6486002)(33656002)(122000001)(38100700002)(83380400001)(5660300002)(38070700009)(8936002)(36756003)(8676002)(4326008)(41300700001)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <3124F7A12F02A54F87A8CCA1202F924C@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7707
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:
 AM3PEPF0000A79A.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e9199509-3eee-470c-085f-08dbe4534655
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	R6mPt5xhj3EY/wSJ5Hkswkk8Jomzd3MSPcYKzxVRhj846hw9OBWYqack1KcZcqep130KK2CbsqMicCp6abT0D7VOeOUndJ1c43SQbp0vYlkLgjD13QRaT4++hT05Mv3kksIDMz5u5KmLOumvsTRI3YivEUk55X5L/jMSo8mUhbuOFDXeBuDhXAuDz1LCnNRaJUVfTwqVlXKPkWvfW6VBiC9NVj6qH1UZ9ms1cY9cJBco/Cb7oylDO7rvRPXMjj3vv8IHO1ofDJ+yuN8OVMArbi/Ot1aSd4KmliJO8ugNm97KOgW2e2ZlCaX0JtJLo84f2bn75iFyRLS7FL736PA6JE8a9gZaIcDJbIltrxchIDJCE6LAUCleryJWvMa3PiHIYlognJEZ+Aiu1vQj7JoxmFEgDYGNukmmNR3HbXNrlJtLN+hW1wqP7WCh+7g809HG/cytXprgmpbFtoP/obRFZOKalXjQ/Va/Qp5LbN8kTD8vhVeTmVi6p6QO7gneHDBFYQyxsr53Wjvi3QRw4qh9WKXNCZhx31UNqMRLs/7V7qaTMc8OXEthBaxtqQQsgiBaCcer5jDK2YtzVXgTJXrMgNGed+U6rRa7gvPeHL+EkfTlOJlF9+BJfS2MnbMhhmC79Y/zbTrNB+ZdW+NMyFM1QlNWa47uV1Fnxu+MZ592BBkvd0G0NQt93uYIYmWMO6sJQou/9+seY2xX/hOfFbsxgWDvc4MumhuzAJa06l1F5j8xA5ki7nvunK1XEOe1qAcH0E0k3ihqKYB+M2YD1vfIJ0kbbh7c6lhIauf2CNVvWVHNfkTKzq223thf/afBsFqD
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:(13230031)(4636009)(396003)(376002)(136003)(346002)(39860400002)(230173577357003)(230273577357003)(230922051799003)(451199024)(64100799003)(186009)(82310400011)(1800799009)(40470700004)(46966006)(36840700001)(40460700003)(26005)(107886003)(53546011)(6506007)(2616005)(6512007)(36860700001)(83380400001)(47076005)(5660300002)(6862004)(8676002)(8936002)(41300700001)(4326008)(2906002)(6486002)(478600001)(54906003)(70206006)(70586007)(316002)(36756003)(86362001)(33656002)(82740400003)(356005)(81166007)(336012)(40480700001)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 14:17:47.4290
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a1363f19-7642-48a4-fa59-08dbe4534fc6
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:
	AM3PEPF0000A79A.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9139

DQoNCj4gT24gMTMgTm92IDIwMjMsIGF0IDExOjU4LCBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnpl
bEBhbWQuY29tPiB3cm90ZToNCj4gDQo+IEhpIEx1Y2EsDQo+IA0KPiBBcGFydCBmcm9tIHBlbmRp
bmcgcXVlc3Rpb24gb24gc3RhdGljIGV2ZW50IGNoYW5uZWxzIGNvZGUgbW92ZW1lbnQsIGEgZmV3
IE5JVHMuDQoNClJlbGF0ZWQgdG8gdGhhdCwgaXQgc2VlbXMgdG8gbWUgdGhhdCB0aGlzIHBhcnQg
Y2FuIGJlIGhhbmRsZWQgYnkgYSBzZXBhcmF0ZSBwYXRjaC9zZXJpZSBmcm9tDQp0aGlzIG9uZSwg
bW92aW5nIGNvZGUgZnJvbSBkb21haW5fYnVpbGQuYyB0byBhIG5ldyBtb2R1bGUsIHNvIEnigJlt
IHdvbmRlcmluZywgaXMgdGhpcyBwb2ludA0KYSBibG9ja2VyIGZvciB0aGlzIHNlcmllPw0KDQo+
IA0KPiBPbiAxMy8xMS8yMDIzIDEwOjA4LCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4gDQo+PiAN
Cj4+IEN1cnJlbnRseSB0aGUgZG9tMGxlc3MgZmVhdHVyZSBjb2RlIGlzIG1vc3RseSBpbnNpZGUg
ZG9tYWluX2J1aWxkLmMNCj4+IGFuZCBzZXR1cC5jLCBpdCBpcyBhIGZlYXR1cmUgdGhhdCBtYXkg
bm90IGJlIHVzZWZ1bCB0byBldmVyeW9uZSBzbw0KPj4gcHV0IHRoZSBjb2RlIGluIGEgZGlmZmVy
ZW50IGNvbXBpbGF0aW9uIG1vZHVsZSBpbiBvcmRlciB0byBtYWtlIGl0DQo+PiBlYXNpZXIgdG8g
ZGlzYWJsZSB0aGUgZmVhdHVyZSBpbiB0aGUgZnV0dXJlLg0KPj4gDQo+PiBNb3ZlIGdpY19pbnRl
cnJ1cHRfdCBpbiBkb21haW5fYnVpbGQuaCB0byB1c2UgaXQgd2l0aCB0aGUgZnVuY3Rpb24NCj4+
IGRlY2xhcmF0aW9uLCBtb3ZlIGl0cyBjb21tZW50IGFib3ZlIHRoZSBkZWNsYXJhdGlvbi4NCj4+
IA0KPj4gVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIG5vdyB2aXNpYmxlIGV4dGVybmFsbHkg
ZnJvbSBkb21haW5fYnVpbGQNCj4+IGJlY2F1c2UgdGhleSBhcmUgdXNlZCBhbHNvIGZyb20gdGhl
IGRvbTBsZXNzLWJ1aWxkIG1vZHVsZToNCj4+IC0gZ2V0X2FsbG9jYXRpb25fc2l6ZQ0KPj4gLSBz
ZXRfaW50ZXJydXB0DQo+PiAtIGRvbWFpbl9mZHRfYmVnaW5fbm9kZQ0KPj4gLSBtYWtlX21lbW9y
eV9ub2RlDQo+PiAtIG1ha2VfcmVzdl9tZW1vcnlfbm9kZQ0KPj4gLSBtYWtlX2h5cGVydmlzb3Jf
bm9kZQ0KPj4gLSBtYWtlX3BzY2lfbm9kZQ0KPj4gLSBtYWtlX2NwdXNfbm9kZQ0KPj4gLSBtYWtl
X3RpbWVyX25vZGUNCj4+IC0gaGFuZGxlX2RldmljZV9pbnRlcnJ1cHRzDQo+PiAtIGNvbnN0cnVj
dF9kb21haW4NCj4+IC0gcHJvY2Vzc19zaG0NCj4+IC0gYWxsb2NhdGVfYmFua19tZW1vcnkNCj4+
IA0KPj4gVGhlIGZ1bmN0aW9ucyBhbGxvY2F0ZV9zdGF0aWNfbWVtb3J5IGFuZCBhc3NpZ25fc3Rh
dGljX21lbW9yeV8xMQ0KPj4gYXJlIG5vdyBleHRlcm5hbGx5IHZpc2libGUsIHNvIHB1dCB0aGVp
ciBkZWNsYXJhdGlvbnMgaW50bw0KPj4gZG9tYWluX2J1aWxkLmggYW5kIG1vdmUgdGhlICNlbHNl
IGFuZCBzdHViIGRlZmluaXRpb24gaW4gdGhlIGhlYWRlcg0KPj4gYXMgd2VsbC4NCj4+IA0KPj4g
TW92ZSBpc19kb20wbGVzc19tb2RlIGZyb20gc2V0dXAuYyB0byBkb20wbGVzcy1idWlsZC5jIGFu
ZCBtYWtlIGl0DQo+PiBleHRlcm5hbGx5IHZpc2libGUuDQo+PiANCj4+IFRoZSBmdW5jdGlvbiBh
bGxvY2F0ZV9iYW5rX21lbW9yeSBpcyB1c2VkIG9ubHkgYnkgZG9tMGxlc3MgY29kZQ0KPj4gYXQg
dGhlIG1vbWVudCwgYnV0IGl0J3MgYmVlbiBkZWNpZGVkIHRvIGxlYXZlIGl0IGluIGRvbWFpbl9i
dWlsZC5jDQo+PiBpbiBjYXNlIHRoYXQgaW4gdGhlIGZ1dHVyZSB0aGUgZG9tMCBjb2RlIGNhbiB1
c2UgaXQuDQo+PiANCj4+IFdoZXJlIHNwb3R0ZWQsIGZpeCBjb2RlIHN0eWxlIGlzc3Vlcy4NCj4+
IA0KPj4gTm8gZnVuY3Rpb25hbCBjaGFuZ2UgaXMgaW50ZW5kZWQuDQo+PiANCj4+IFNpZ25lZC1v
ZmYtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNvbT4NCj4+IC0tLQ0KPj4g
Q2hhbmdlcyBmcm9tIHYzOg0KPj4gLSByZW1vdmUgaGVhZGVyIGluIGRvbTBsZXNzLWJ1aWxkLmgg
KE1pY2hhbCkNCj4+IENoYW5nZXMgZnJvbSB2MjoNCj4+IC0gbW92ZSBhbGxvY2F0ZV9iYW5rX21l
bW9yeSBiYWNrIGluIGRvbWFpbl9idWlsZC5jLCByZW1vdmUgaGVhZGVyDQo+PiAgIGZyb20gZG9t
MGxlc3MtYnVpbGQuYy4NCj4+IC0tLQ0KPj4geGVuL2FyY2gvYXJtL01ha2VmaWxlICAgICAgICAg
ICAgICAgICAgICAgfCAgICAxICsNCj4+IHhlbi9hcmNoL2FybS9kb20wbGVzcy1idWlsZC5jICAg
ICAgICAgICAgIHwgMTAxOCArKysrKysrKysrKysrKysrKw0KPj4geGVuL2FyY2gvYXJtL2RvbWFp
bl9idWlsZC5jICAgICAgICAgICAgICAgfCAxMjY1ICsrKy0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4g
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2RvbTBsZXNzLWJ1aWxkLmggfCAgIDIwICsNCj4+IHhl
bi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kb21haW5fYnVpbGQuaCAgIHwgICA2MCArDQo+PiB4ZW4v
YXJjaC9hcm0vaW5jbHVkZS9hc20vc2V0dXAuaCAgICAgICAgICB8ICAgIDEgLQ0KPj4geGVuL2Fy
Y2gvYXJtL3NldHVwLmMgICAgICAgICAgICAgICAgICAgICAgfCAgIDMzICstDQo+PiA3IGZpbGVz
IGNoYW5nZWQsIDEyNDAgaW5zZXJ0aW9ucygrKSwgMTE1OCBkZWxldGlvbnMoLSkNCj4+IGNyZWF0
ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC9hcm0vZG9tMGxlc3MtYnVpbGQuYw0KPj4gY3JlYXRlIG1v
ZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kb20wbGVzcy1idWlsZC5oDQo+PiAN
Cj4gDQo+IFsuLi5dDQo+IA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9pbmNsdWRlL2Fz
bS9kb20wbGVzcy1idWlsZC5oIGIveGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2RvbTBsZXNzLWJ1
aWxkLmgNCj4+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjAy
MmFlNjFlYWQ3Yw0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIveGVuL2FyY2gvYXJtL2luY2x1
ZGUvYXNtL2RvbTBsZXNzLWJ1aWxkLmgNCj4+IEBAIC0wLDAgKzEsMjAgQEANCj4+ICsvKiBTUERY
LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovDQo+PiArDQo+PiArI2lmbmRlZiBf
X0FSTV9ET00wTEVTU19CVUlMRF9IXw0KPiBUaGUgbWFqb3JpdHkgb2YgaGVhZGVyIGZpbGVzIGhh
dmUgYSBndWFyZCBzdGFydGluZyB3aXRoIF9fQVNNIHNvIEkgd291bGQgc3RpY2sgdG8gdGhlIHNj
aGVtZS4NCg0KU3VyZSwgbWFrZXMgc2Vuc2UNCg0KPiANCj4+ICsjZGVmaW5lIF9fQVJNX0RPTTBM
RVNTX0JVSUxEX0hfDQo+PiArDQo+PiArI2luY2x1ZGUgPGFzbS9rZXJuZWwuaD4NCj4+ICsNCj4+
ICt2b2lkIGNyZWF0ZV9kb21Vcyh2b2lkKTsNCj4+ICtib29sIGlzX2RvbTBsZXNzX21vZGUodm9p
ZCk7DQo+PiArDQo+PiArI2VuZGlmICAvKiBfX0FSTV9ET00wTEVTU19CVUlMRF9IXyAqLw0KPiAx
IHNwYWNlIGJldHdlZW4gI2VuZGlmIGFuZCBjb21tZW50DQoNCknigJlsbCBmaXgNCg0KPiANCj4+
ICsNCj4+ICsvKg0KPj4gKyAqIExvY2FsIHZhcmlhYmxlczoNCj4+ICsgKiBtb2RlOiBDDQo+PiAr
ICogYy1maWxlLXN0eWxlOiAiQlNEIg0KPj4gKyAqIGMtYmFzaWMtb2Zmc2V0OiA0DQo+PiArICog
aW5kZW50LXRhYnMtbW9kZTogbmlsDQo+PiArICogRW5kOmINCj4gV2hhdCBkb2VzICdiJyBtZWFu
cyBoZXJlPyBPbmx5IDIgZmlsZXMgaGF2ZSB0aGF0Lg0KDQpNbW0uLi4gSSB0aGluayBJ4oCZdmUg
Y29waWVkIHRoaXMgcGFydCBmcm9tIHNtY2NjLmggYW5kIEkgZGlkbuKAmXQgcmVhbGlzZWQgdGhl
cmUgaXMgYSB0eXBvIChvciBhdCBsZWFzdCBJIHRoaW5rIGl0IGlzKQ0KYmVjYXVzZSBsb29raW5n
IGludG8gQ09ESU5HX1NUWUxFLCB0aGVyZSBpcyBubyDigJhi4oCZIGluIOKAmEVuZDrigJksIEni
gJlsbCBmaXggaXQuDQoNCg0KPiANCj4gVGhlIGNvbW1lbnRzIGFwcGx5IHRvIG90aGVyIGZpbGVz
IGFzIHdlbGwuDQo+IA0KPiBBcGFydCBmcm9tIHRoYXQsIHRoZSBtb3ZlbWVudCBMR1RNLg0KPiAN
Cj4gfk1pY2hhbA0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:20:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:20:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631616.985148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2XnY-00077R-OJ; Mon, 13 Nov 2023 14:20:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631616.985148; Mon, 13 Nov 2023 14: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 1r2XnY-00077K-Lp; Mon, 13 Nov 2023 14:20:20 +0000
Received: by outflank-mailman (input) for mailman id 631616;
 Mon, 13 Nov 2023 14:20: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=tkTp=G2=epam.com=prvs=5681af493a=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r2XnX-00072l-AI
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:20:19 +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 c45678cd-822f-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 15:20:17 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ADDtrrl025777; Mon, 13 Nov 2023 14:20:14 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2051.outbound.protection.outlook.com [104.47.14.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ubg6x99jw-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 13 Nov 2023 14:20:13 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by PA4PR03MB6957.eurprd03.prod.outlook.com (2603:10a6:102:ef::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 14:20:10 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023
 14: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>
X-Inumbo-ID: c45678cd-822f-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dHxnQYNwPq3Avze7mc8ZyVxd8YXi2hvSp4UTX+rf1uXH/awNBfcnb2r/v7D6KDfxUgHvm5uaMPC73TifH25UN+wOZyIzGlrLpeQ1vX78zfcfpTaxnCaisKOrxhudnKObawYSnHnUEGpNRWWo88X5y1U4g2aFtKn6dOZ4dBnraLySKGxCe9iLV4yM6eLpVgzVB0KYe1W57FJ4hpkYW7emXHlrMv4yDYephoU86/fCMenFAAijwSHZjZvnVX7o3xlOizC+ANPH2Y2qnO6RVsRIOiMZXhThbVHm8MCullMlG5DCS4wgzUy3TydWjXWR5XbTkKf3pTBuootYW2Jm2TRxlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BH00PH4/MmKLpKfSIxE7UCwQdWJ8EMJ155MUPI+ejKM=;
 b=fplwU5x5+VQIkB7FgREeJWv1ZpZc+idd8YTz/VA1X6H42Fw7GnynBrKk8n3fjhx9z/Ht5oUh3OA19CY2cfOXF9VhNm+b7FDZ9O38DaHLPHOAJvePqMyTYJLracyvNc6q+xn4vLSsbYRVX4qeotUs17NDJO58iR/am+WvtCiGpcv5tBK2l4WapEGgLZ+SKFdagR1whhIGXqaRTGZ5U1Z9VfRVNfoAssTPi2plm/XuvXwCEvOgmtzMf5M4SP9eZKUI2M7h9xZFhWP9fjoVxHvObH44mY09sryUUlpsoB3Y1RcCb3xexJXZ6IACMNtWe3wBuTFNWKIhqwm60YKc65sdhA==
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=BH00PH4/MmKLpKfSIxE7UCwQdWJ8EMJ155MUPI+ejKM=;
 b=O1OX1iwlx0sfGNOZIm9+VcaDC779ZNrshIEaxDb5yXyVtbq6aRqAUceMILeE6WWQBaXX/wC5hyqPMCBzLj3Q/cBeks4Uo7NYcOhpBvnMxYIwPPZBu2bvD7AsrQywJq3jF/0jNxsHnasw78gV8q6ij46j2wbiZ7csqFuuPa8rcwgejRz+k+Jrv4qMAY7iVlsEKjj1aJqBV+vnmyOGcPWeGxRxLAI9DLMi9heO56xz+FB9CwabuAsrit0+szqtk+2ZSGDTif8cWkn0ZtuipOBbrbk5csZ0d7FkNOBIpZeKQFgD40XnjSmBSsOw1QTFA/4DXBJX4AQp1CDsLbqJHdUMRw==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 2/7] xen/events: remove unused functions
Thread-Topic: [PATCH 2/7] xen/events: remove unused functions
Thread-Index: AQHZ//oJo7CNZlOGmUOOgrMdy5X9FbB4eQkA
Date: Mon, 13 Nov 2023 14:20:09 +0000
Message-ID: <0d6a1340-1c01-47ce-950e-0d30071bd0e4@epam.com>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-3-jgross@suse.com>
In-Reply-To: <20231016062831.20630-3-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-traffictypediagnostic: DB8PR03MB6108:EE_|PA4PR03MB6957:EE_
x-ms-office365-filtering-correlation-id: a9a19718-7d98-4d69-8573-08dbe453a4a1
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 /mW5mC483CrAONOPou5PNbNUXJ7pIbNEu7qUVZRyQWea/CmYMr3nZ/U16m9ai+LUhWX7hREt6Ywcu+6L5h8obw8rOC4x9X1EfyEuZUpCSyVvvDiqUd20hchveSV+W/3l2O+ehhukt1p/NbQTm8xo3P3Aikz4SxtdGwyttKUg8NKRz722O8/Y7X+KTkkVf87qY6yEJ62cOPOPrJSngZfaWmvAFHu6+JGHuITSizCaWQgdKpyhzW9dgPOneTjbyn31r2pe/3CUCzeH6FzEQ8ONVsWpLl1XSVTUeCkpmH89nFylql8aH8pJ7LPoptgcfEyr0aaEjZ5H6wVGhtFENXdu1kaisfri8In8RLC0Q4jM3LGhLokO1yeu9iYPVD/WjqgQ87BpqCnXJSCLd2lSR17IlxzJKqHZMjk7Tz5myl6cGi8AhPyV+q/dyoq4aIuXhilZG+4rslBlRCemPc8LP6ouPkx3E9h8q3ZKftCwkP/o/qEImH5DNxaX42a+LRIsQSPQ66z2o4fI9XSGfvWJj2Pjl0um3/iSy9F+47QVusRWZcMD7bTBdT58JUuiD5VWcC8jnWChLKgw7bW++g6i7FRnPSP/NC+mZOscKN7+a0LdwiN1PQl+t44FfrMx9Xc6+QuHUW8O9ENNqaUDw39G+gip4w==
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:(13230031)(136003)(39860400002)(396003)(346002)(376002)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(38070700009)(2906002)(71200400001)(2616005)(5660300002)(86362001)(31696002)(41300700001)(26005)(91956017)(110136005)(54906003)(66446008)(66556008)(66946007)(6512007)(76116006)(66476007)(316002)(38100700002)(83380400001)(64756008)(55236004)(31686004)(36756003)(478600001)(122000001)(6486002)(53546011)(6506007)(8676002)(4326008)(8936002)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?ZTVRTzdsdUZZQkFQbVZZQ1FuLzhYYjRtNDltcGhPdXl4WlFlOENLOU9lV2J5?=
 =?utf-8?B?UG85YzZ6YW56SmczamNpRTlaUzFKckRlSklPYnNOQmNnbDc5K0pVM1d5dWZ4?=
 =?utf-8?B?Vnd6YWJtS3A4aFBGOUdZRnJQVkUvQytRWkFsdlZhTE1iNjlpMjR3T3NVTko0?=
 =?utf-8?B?VHBJU1ZxekFFMVlwY0lIWDBmcytFQ3BpeXpxQWt5dDNVdnZkSm92QjNURkc5?=
 =?utf-8?B?OWdOdnNEclFGTSs4bHp1QWhic3N5bTFrN2RUa0lSMEVaTmI0aDk4TmFPQVFm?=
 =?utf-8?B?ZW9nT1A5YUV4a2tWNzRJN3ZWdEQ2anIyY25ZUWl4RGhKQmRGUDVwUU1MUFl0?=
 =?utf-8?B?aXZkRmRMWkJDVG5VQXpuWWFOZFdOZzJ0RTRtVUljUzBPVkRGMHI3YlJ3YzF5?=
 =?utf-8?B?UTI0bnk3WEcrQ1JjeEduQ2dkUDJQYTNYNFhXL21NeUN6YkVZSEJFOVVsYUR6?=
 =?utf-8?B?NWdXczQ0R050OTNZanpyRU9IVnI1QldjdXJ4ZDlOMUZlOUo0TWpGYTlESHh2?=
 =?utf-8?B?Y1BwTW9rYm9RdnR1RDRiZE5UQUYzdjhWTDkyYmwvc2xQUW40V2U0WWhmc1N3?=
 =?utf-8?B?OVZoY0dNZDdERXE5bm9LTnNHeHZLOTUzY0NJUzVoR0hoUnY3ckR3bnoyUk1Q?=
 =?utf-8?B?TmdCV1hvSWd0VjE5N1RZUFgzZHhBck1XOEpkeURNendsODRPSXd3ZUUwczFO?=
 =?utf-8?B?a29rUXhTUGQxWWxFSWZ5RVBSSmlFS09Yb0RsWnJnY3M2Tm5aU2lobTUzVFNT?=
 =?utf-8?B?aDZRY2hKTWdZK2xiRnBObEdoUmlObE9YU29ob016S3NFTW9jNEpBWXZ2UTNp?=
 =?utf-8?B?YTd6OGNZUGk0L0VJaVpld1ltd0JXellzVGpOdnVpNVVtYlpzcVBGMFUvQ2Fs?=
 =?utf-8?B?ZzN4eWdYMUp1QkE3bXIyRHZSZUlXUjdZazA4S1dQN05ZZ2crQWUvbFdqMmsv?=
 =?utf-8?B?VnltZWEwOTZ6MVc5WVdDbGdYWEcxYWY0NUpzR3JHbllySFl5SVFpb0tONldR?=
 =?utf-8?B?M3BVa1RiM1RjN0YvTGREQjg2NStSeGt1TnU3UW4vQXNMSytRR3FNYWp2R3Rz?=
 =?utf-8?B?K0s2QU1KcTFjQ29rS2xFbXRmUlZ4N0F3MExMeCtQYVJpSDNJc1FHQnpqUFpV?=
 =?utf-8?B?KzdaeXZweHBBNkdOaVk0amtVNnppME9Va3I5QlJkeGNOdlVtWnhvSUxteUph?=
 =?utf-8?B?MEhxcUQvZ3ZLVFdCRHdPYUNYRDFvSTNWZVh3eDZKak9QMTJUQVN2QVhqTVZX?=
 =?utf-8?B?QnljR01pczBkcHJncThkK1EwNExhSzFOWkNvS1NXcFg0QVY4N0VXTStvNytF?=
 =?utf-8?B?L1B5bVo4Z3NOL1ZBVHFUY0JxbVZZV2lGYk14cHFRVTdKRzV6ejhVenhKODNp?=
 =?utf-8?B?aVV4ZFg5WkdiWHVIM2lRL0RwUVl2c3YxRGozcnF1NHNCK1d2eEFxYXNXdSs2?=
 =?utf-8?B?V1pvY1JEekFxa29MTVUveHlObE51bjhRcVFEZ3Azd0NnYStqNm13L0lrSEVP?=
 =?utf-8?B?Rk1nTzJtdUQ2WXE1czlkSzVWeFBpNmh6dnYwVlNzdWU0eGs5K1VFNnRFVHpn?=
 =?utf-8?B?NVcrM3BuOHd5TDU1ejVHZFlpMVVvZ1ZiVFkvRjYvdkN6SG9sZ0ZOSUhYcVlX?=
 =?utf-8?B?bVhEVnRwRWlaUHBUb0FvVmE3TDRLcXEvUTZHZTRQUnVIMCs1M2VydWp3MFRz?=
 =?utf-8?B?ZTh6aVVRMmxDZEROZDU4eGt0WFN2emZFZGF0ekVMcU1YS0NRcVlkM1diNS9G?=
 =?utf-8?B?a05zMHhpR0t4dC81TkNHaGtoa0EzVUhYVDAvU1B4S3EySUExRW10WWVUVTlT?=
 =?utf-8?B?bW5xWEF1dzZxM2h2b3dTUjlUaHNlWGVGZVlzemZUcDR5c0pqOU5FMG1Vemh2?=
 =?utf-8?B?c2h0TmlVVnJTNTlRYUV6Wi9SZXNnTnhvODNJOUFYR0trOFlkMkJnU01Lcklm?=
 =?utf-8?B?NmEvcGV6eFdVMHRJR3lJcmVtSW40T2tZT3NveDc3U2NxRmhMQkozY01HeXpL?=
 =?utf-8?B?b1dvTmd0clBCaEVRSVBQZmNzM0NnWVgrWGE3SDgxOE9tbXBCR3pIUDhySk10?=
 =?utf-8?B?L1Z0SjA2cHlEOHJuSzdHdW1qbnJrSGQ4dDVDdFdUTU4rSm9QcHVucmF0bXRw?=
 =?utf-8?B?UklDY0xmVklMOXU5Z1J1U3lPOHBhaFZVemtLREFNRFFLWU5ZQkpUMmQ4K0cw?=
 =?utf-8?Q?+a2QnDiMA5ocOSkhaYdvGKk=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <CBC0DF0FA14B394C9890FD984AD72275@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: a9a19718-7d98-4d69-8573-08dbe453a4a1
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Nov 2023 14:20:09.8316
 (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: kQLIM532mgGcGSfk5jP8o6KqmgOkITlqPPNBm5X2qzV0d2qj5igueA2oXkWMjuhkev5VWuukfFjoolmy7i1nHMRVKF0QS57Bv/kDlFLOnYs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB6957
X-Proofpoint-GUID: 4U9y3bP0B7-Fl2WnexU9noE0gkzqcrZm
X-Proofpoint-ORIG-GUID: 4U9y3bP0B7-Fl2WnexU9noE0gkzqcrZm
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-13_04,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 clxscore=1011
 priorityscore=1501 mlxscore=0 impostorscore=0 adultscore=0 malwarescore=0
 spamscore=0 lowpriorityscore=0 phishscore=0 mlxlogscore=781 bulkscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000
 definitions=main-2311130116

DQoNCk9uIDE2LjEwLjIzIDA5OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQpIZWxsbyBKdWVy
Z2VuDQoNCg0KPiBUaGVyZSBhcmUgbm8gdXNlcnMgb2YgeGVuX2lycV9mcm9tX3BpcnEoKSBhbmQg
eGVuX3NldF9pcnFfcGVuZGluZygpLg0KPiANCj4gUmVtb3ZlIHRob3NlIGZ1bmN0aW9ucy4NCj4g
DQo+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpS
ZXZpZXdlZC1ieTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVw
YW0uY29tPg0KDQoNCj4gLS0tDQo+ICAgZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMg
fCAzMCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gICBpbmNsdWRlL3hlbi9ldmVu
dHMuaCAgICAgICAgICAgICB8ICA0IC0tLS0NCj4gICAyIGZpbGVzIGNoYW5nZWQsIDM0IGRlbGV0
aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL2V2ZW50cy9ldmVudHNfYmFz
ZS5jIGIvZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMNCj4gaW5kZXggMGU0NThiMWMw
YzhjLi4xZDc5N2RkODVkMGUgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMveGVuL2V2ZW50cy9ldmVu
dHNfYmFzZS5jDQo+ICsrKyBiL2RyaXZlcnMveGVuL2V2ZW50cy9ldmVudHNfYmFzZS5jDQo+IEBA
IC0xMTY1LDI5ICsxMTY1LDYgQEAgaW50IHhlbl9kZXN0cm95X2lycShpbnQgaXJxKQ0KPiAgIAly
ZXR1cm4gcmM7DQo+ICAgfQ0KPiAgIA0KPiAtaW50IHhlbl9pcnFfZnJvbV9waXJxKHVuc2lnbmVk
IHBpcnEpDQo+IC17DQo+IC0JaW50IGlycTsNCj4gLQ0KPiAtCXN0cnVjdCBpcnFfaW5mbyAqaW5m
bzsNCj4gLQ0KPiAtCW11dGV4X2xvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsNCj4gLQ0K
PiAtCWxpc3RfZm9yX2VhY2hfZW50cnkoaW5mbywgJnhlbl9pcnFfbGlzdF9oZWFkLCBsaXN0KSB7
DQo+IC0JCWlmIChpbmZvLT50eXBlICE9IElSUVRfUElSUSkNCj4gLQkJCWNvbnRpbnVlOw0KPiAt
CQlpcnEgPSBpbmZvLT5pcnE7DQo+IC0JCWlmIChpbmZvLT51LnBpcnEucGlycSA9PSBwaXJxKQ0K
PiAtCQkJZ290byBvdXQ7DQo+IC0JfQ0KPiAtCWlycSA9IC0xOw0KPiAtb3V0Og0KPiAtCW11dGV4
X3VubG9jaygmaXJxX21hcHBpbmdfdXBkYXRlX2xvY2spOw0KPiAtDQo+IC0JcmV0dXJuIGlycTsN
Cj4gLX0NCj4gLQ0KPiAtDQo+ICAgaW50IHhlbl9waXJxX2Zyb21faXJxKHVuc2lnbmVkIGlycSkN
Cj4gICB7DQo+ICAgCXJldHVybiBwaXJxX2Zyb21faXJxKGlycSk7DQo+IEBAIC0yMDI2LDEzICsy
MDAzLDYgQEAgdm9pZCB4ZW5fY2xlYXJfaXJxX3BlbmRpbmcoaW50IGlycSkNCj4gICAJCWV2ZW50
X2hhbmRsZXJfZXhpdChpbmZvKTsNCj4gICB9DQo+ICAgRVhQT1JUX1NZTUJPTCh4ZW5fY2xlYXJf
aXJxX3BlbmRpbmcpOw0KPiAtdm9pZCB4ZW5fc2V0X2lycV9wZW5kaW5nKGludCBpcnEpDQo+IC17
DQo+IC0JZXZ0Y2huX3BvcnRfdCBldnRjaG4gPSBldnRjaG5fZnJvbV9pcnEoaXJxKTsNCj4gLQ0K
PiAtCWlmIChWQUxJRF9FVlRDSE4oZXZ0Y2huKSkNCj4gLQkJc2V0X2V2dGNobihldnRjaG4pOw0K
PiAtfQ0KPiAgIA0KPiAgIGJvb2wgeGVuX3Rlc3RfaXJxX3BlbmRpbmcoaW50IGlycSkNCj4gICB7
DQo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3hlbi9ldmVudHMuaCBiL2luY2x1ZGUveGVuL2V2ZW50
cy5oDQo+IGluZGV4IDIzOTMyYjA2NzNkYy4uYTEyOWNhZmE4MGVkIDEwMDY0NA0KPiAtLS0gYS9p
bmNsdWRlL3hlbi9ldmVudHMuaA0KPiArKysgYi9pbmNsdWRlL3hlbi9ldmVudHMuaA0KPiBAQCAt
ODgsNyArODgsNiBAQCB2b2lkIHhlbl9pcnFfcmVzdW1lKHZvaWQpOw0KPiAgIA0KPiAgIC8qIENs
ZWFyIGFuIGlycSdzIHBlbmRpbmcgc3RhdGUsIGluIHByZXBhcmF0aW9uIGZvciBwb2xsaW5nIG9u
IGl0ICovDQo+ICAgdm9pZCB4ZW5fY2xlYXJfaXJxX3BlbmRpbmcoaW50IGlycSk7DQo+IC12b2lk
IHhlbl9zZXRfaXJxX3BlbmRpbmcoaW50IGlycSk7DQo+ICAgYm9vbCB4ZW5fdGVzdF9pcnFfcGVu
ZGluZyhpbnQgaXJxKTsNCj4gICANCj4gICAvKiBQb2xsIHdhaXRpbmcgZm9yIGFuIGlycSB0byBi
ZWNvbWUgcGVuZGluZy4gIEluIHRoZSB1c3VhbCBjYXNlLCB0aGUNCj4gQEAgLTEyMiw5ICsxMjEs
NiBAQCBpbnQgeGVuX2JpbmRfcGlycV9tc2lfdG9faXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHN0
cnVjdCBtc2lfZGVzYyAqbXNpZGVzYywNCj4gICAvKiBEZS1hbGxvY2F0ZXMgdGhlIGFib3ZlIG1l
bnRpb25lZCBwaHlzaWNhbCBpbnRlcnJ1cHQuICovDQo+ICAgaW50IHhlbl9kZXN0cm95X2lycShp
bnQgaXJxKTsNCj4gICANCj4gLS8qIFJldHVybiBpcnEgZnJvbSBwaXJxICovDQo+IC1pbnQgeGVu
X2lycV9mcm9tX3BpcnEodW5zaWduZWQgcGlycSk7DQo+IC0NCj4gICAvKiBSZXR1cm4gdGhlIHBp
cnEgYWxsb2NhdGVkIHRvIHRoZSBpcnEuICovDQo+ICAgaW50IHhlbl9waXJxX2Zyb21faXJxKHVu
c2lnbmVkIGlycSk7DQo+ICAg


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:33:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:33:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631620.985158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Xzl-00026r-Rv; Mon, 13 Nov 2023 14:32:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631620.985158; Mon, 13 Nov 2023 14:32: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 1r2Xzl-00026j-Ox; Mon, 13 Nov 2023 14:32:57 +0000
Received: by outflank-mailman (input) for mailman id 631620;
 Mon, 13 Nov 2023 14:32: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=EUjx=G2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r2Xzj-00026d-Nc
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:32:55 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe02::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 877009ad-8231-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 15:32:53 +0100 (CET)
Received: from AM6P192CA0029.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::42)
 by AS4PR08MB7655.eurprd08.prod.outlook.com (2603:10a6:20b:4f1::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 14:32:50 +0000
Received: from AM1PEPF000252DF.eurprd07.prod.outlook.com
 (2603:10a6:209:83:cafe::51) by AM6P192CA0029.outlook.office365.com
 (2603:10a6:209:83::42) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.26 via Frontend
 Transport; Mon, 13 Nov 2023 14:32:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM1PEPF000252DF.mail.protection.outlook.com (10.167.16.57) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.13 via Frontend Transport; Mon, 13 Nov 2023 14:32:50 +0000
Received: ("Tessian outbound e243565b0037:v228");
 Mon, 13 Nov 2023 14:32:50 +0000
Received: from 72ce293f0bad.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BDC9C80F-18B8-4770-8099-338783A8DAAC.1; 
 Mon, 13 Nov 2023 14:32:40 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 72ce293f0bad.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 13 Nov 2023 14:32:40 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com (2603:10a6:208:ff::27)
 by PAVPR08MB9841.eurprd08.prod.outlook.com (2603:10a6:102:31d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28; Mon, 13 Nov
 2023 14:32:37 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e]) by AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e%3]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023
 14:32: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: 877009ad-8231-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=PNdyv8po6yKpQNZJ+KRVHtiRmKZeiS4AQmIpsm3Pz5DrR0JodrAadlj1xsvOgl46YAfM4MwKIOm9BOLsTlMUg+IR7oWg0YkqTIgoELNpYOGqJInrxSxkEk/jYuRK+hrnQQV/HPKUZ+wUUUJJNfxP0CdfNPeSNiSJ7qFPumZ0VkrVeMzd+ENjVoA/FL/cS3uhm7uJ+mGR3bAJACFm/ZV0VTWKHQOjlPWQf1qnlzj9xV+C3WRzV9DOjhDfwhu7U232OW0cOr61YBVp214jvDigrWaE79Ipc99rtYAwqFK4QpnTuzuDTOVvtgvozUZiWpi45Pa0qVlTwz+oohrJhQfXHw==
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=gMjEqzAg1EVqIbFSpF8TUfhLyUPn2l0YoDvu5OikYYE=;
 b=AoAOZ+D0pjNA8yERXv8w3xD+QMI3V4NosxjEw3EZYFu5O56GcDYmB0wp8zHVXpy8alYWO7HXpgn2lRLnK6wZpIjjDI55irthiPJPYbzyMmv6KW1D+ABdF1MwkPnCB7WL7Zfe0gnoabxZYbQS7i0xhOPlhrZLSYaFfUoSUCjPVoQwd3LsycTaf6iOPrNTJ+BFjbbWlRW3Kq4BaRni89B6BnS7hyjud/6nYLqYnI+znnnnJ2UYvuRRRA7mBE0p92xiHd2ux4jixDHmW34v4KpCLVkL93BVvX/IGDEBDnZhAP8iyMZ7Mh0PvxFlsvQHwRilKFiHews6bUFfQfrUr3K6jw==
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=gMjEqzAg1EVqIbFSpF8TUfhLyUPn2l0YoDvu5OikYYE=;
 b=nrNNnvVE2lbyA84A8h5FjI3+Y1pycMVclscAaEeVmnFYwko7jqFXBlXQVh42uPAEsJMWUaddJULbEriE6tITAbGLKiGv5jYkMPNFnX714iROD9BfIprsmFbZHN9XaUsPF8QqitgLGDShBqhWMWUCT7OH5iII6Lq1xc/4XLnyYio=
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: c9e33ed75a087194
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MdB+54ODJoX9v5S3FNIrlqIUqMUzhzNzeZjvcLg5MQGKXvBz2a6aQsm25pZxEWu/Lyoyp1HRqC3YRRCEM9uGtfuK7UQ02MI9mc85GL9sVX572NWbFCEYvejhFo/RMvucceqBiILKBvmCTb/5f96hfC1ulaLifB829nPOT1VpS1bygfZuv1TqfmOpbvXKIQC7GRHexEKNHSQN/jTvDVQS8M+5h2oqA+KiBTvQH803TsvgclQZNoxK/Ru15tlRIh3gCgnTvH2SBmuupKVswPv4aKrPAcX3qaGVttYoevk2UmaASlaCdT179Ba8N2v/Vr9HsTCiUMcP41PyQm9rIVkUjQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gMjEqzAg1EVqIbFSpF8TUfhLyUPn2l0YoDvu5OikYYE=;
 b=GKIGwe59w/4B4ZnpnMCp6hjIAA1mIx61mAhIWyTMnpCf3D4OoxCErkbZNPrhGRgaPxBkx7U1XLtwThuJg9WFVGKWPXGpIEAc/2KMYnhZDFO9MK/Mb75mQWMJBkNipKVxz3khPONDrXU8yHC5TBkidbnEh3qigCLuMjJvZDgs0w7rKqcsRudZgk/X4itHALWeWXFWK90zohaEPoQ6Az6bCKFsg3CCBM9wjHXuUg35Wys51lXy0x1mTLYXKJf4XDl4pAiVyoX2ioYMLSg9Wpd0fpEVOte4DDzqXV2kgYrAatHOL2r6bGy675gzrZ5cVQdAVhT1eXPvCdcVhcGzaBl3Jg==
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=gMjEqzAg1EVqIbFSpF8TUfhLyUPn2l0YoDvu5OikYYE=;
 b=nrNNnvVE2lbyA84A8h5FjI3+Y1pycMVclscAaEeVmnFYwko7jqFXBlXQVh42uPAEsJMWUaddJULbEriE6tITAbGLKiGv5jYkMPNFnX714iROD9BfIprsmFbZHN9XaUsPF8QqitgLGDShBqhWMWUCT7OH5iII6Lq1xc/4XLnyYio=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Bertrand Marquis <Bertrand.Marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>, 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 v3 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Topic: [PATCH v3 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Index: AQHaEuwcMi2uzYg9sUaekJ4uQMuKYLBx1QmAgAY1GYCAAB47gIAALj2A
Date: Mon, 13 Nov 2023 14:32:37 +0000
Message-ID: <FA1360BA-2909-42E1-B066-1650C280F585@arm.com>
References: <20231109090615.3878767-1-luca.fancellu@arm.com>
 <20231109090615.3878767-4-luca.fancellu@arm.com>
 <bec276f9-ea9d-4c9f-887c-358a3f7815fd@amd.com>
 <7C92A577-716B-4D48-B685-3EA0C93AAF5C@arm.com>
 <998BB5A5-515C-4656-BD94-9ACC461235E8@arm.com>
In-Reply-To: <998BB5A5-515C-4656-BD94-9ACC461235E8@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM0PR08MB3745:EE_|PAVPR08MB9841:EE_|AM1PEPF000252DF:EE_|AS4PR08MB7655:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c73171d-c81d-4b68-79b9-08dbe4556a2e
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:
 IoVSHpCV5iaDPJXgzuXlUi1C454ZMPbt0bZuFop6Ij77YNcAk3SgwAluNx1ZNN4M+/5ZS3CRzHKkNw1aNfBXPJ+oXQkhpF1lydzjUmkAaGJZn9AARDmh0G/hRYnXBUnfo2F/sfrJDN5iwABlviGSO3sYFUOCclXfcyvY+tuVrxyxVK2pGA0QIvu3sdl/Drls9u4kjLDczbA5cOJt/o3o+O742KAdSCe6lWYdQczi9zLI/bmQfwUL5FeugvXj329XIVDOH9+PRDf8XhjcAd6ZEPUEUHkZkaESd3heoVQr7p3DWGQ5Oz5zeFUV6VjFZIr/M0NPl2omBuPe1N1gD+UkTXVyvhz/wkO5HVs/xMSIYb6ZhpUNAfFiafcGz4vpjv2zK1pLkVAxqhTNjnQrIGqZoEqX7bNcZQctP9jAzH45+rs0ZYXvDUcwkal1j8ZQN99SDYOqQbE4SsngKMjzPpvCqA0XIw2pPd0IpBFVVBvqESNW6Cwra1N/lrJa2gwhJ+vcV2Wdmd13ovNN/7CEeR7bE16QaF2jgr5C2Drhg7A0IRFjsQ04kJnXgCn91DHOa7UYsAbBmnX3tRpqurFU3NOLZBznrG+7QIHmrpM2Nh8xre0RY0lBzcpkmuHN6d6AOarReQhTTATTWO0/3liP3/BoVsxzFs60EeqhefQhcyRt9t0=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB3745.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(396003)(39860400002)(346002)(366004)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(26005)(71200400001)(6506007)(2616005)(6512007)(4326008)(5660300002)(8936002)(8676002)(6862004)(4744005)(2906002)(41300700001)(6486002)(478600001)(6636002)(316002)(91956017)(37006003)(66946007)(64756008)(66446008)(66476007)(66556008)(54906003)(76116006)(122000001)(36756003)(33656002)(86362001)(38100700002)(38070700009)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <24660566D195E44D8B4217115C30EBD1@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB9841
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:
 AM1PEPF000252DF.eurprd07.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9ee01e64-5f77-4240-6e9e-08dbe455626b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Wv58BZwMvUZwU3JohJzlJkItgksY4sdoLVTEVJtOIBb2rUKLx9wMfhJjnNz2sD1lJt7Oy6d78UAEXwqxtF5XFIjsYGArO1JHyIuUqaulGDCycTD7LoTEstqDSJqVxQBZK3aKjoy89OF/CO2piVJJgyFKyjXfW2VcaflGpalGLVzzkeWxIL6XW2IFqkt2L/KHGogbRfA+NOFaw2OexcoLIMiv+J4bo4eLQJ8Iq2lQoKfCdbQjysVpvTXl7hFBW9/cr7QAx7NHhuPR+PjRxkHMOr3tr/UO45v7HphR4ruEree1gr4M8NrKWXZTXgX3sC6+y6UQEap+WmdDANNycJRbVduSygBZS2nkF35hxFNpOFujZ33Czbk/JIkXO6SN2mo6LTkNUfaJdoZRU8hVmoq5fx5iHhBMI5YOlame/1mYX4PugxAopiIvJ4KGlJMmxH7QtQ0ZfnTlRzIrgtwcx3ZIRZGieBQWPuz74goPeYFgEQoA1oyDsLlcsh7HNudqnj0Fupwfxo1Zh4MyUc4/oUr30wbHv1BcLKPAXdHXzbUGKWwG+pl2ym2Zfkk7BwnL9kG4YhkmElEtDmL5daLQwNWVry1xStuYWFOGZYKbOz+HlH02Jlq8Yp0LeEFJ3v3BC8K5SO/eF1I6UXD76dfOg2axFS7o0p4Tb3JyeARylumDgMCrBj5Q9ph26a3XqMIUMHq7VywCKBbiuAZ57YLqLIuKVIMw/uQPWAOcGSLNUJSpQT5BlS3edStP3uC+93j1zvv24QJa+YBBVmASbyRqNnkUJQ==
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:(13230031)(4636009)(396003)(376002)(136003)(346002)(39860400002)(230922051799003)(64100799003)(451199024)(186009)(82310400011)(1800799009)(46966006)(36840700001)(40470700004)(40460700003)(8936002)(4326008)(6862004)(8676002)(316002)(70206006)(70586007)(6636002)(37006003)(54906003)(2906002)(33656002)(41300700001)(4744005)(86362001)(5660300002)(81166007)(47076005)(356005)(2616005)(107886003)(82740400003)(336012)(26005)(36860700001)(478600001)(36756003)(6486002)(40480700001)(6512007)(6506007)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 14:32:50.7372
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c73171d-c81d-4b68-79b9-08dbe4556a2e
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:
	AM1PEPF000252DF.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7655

DQo+Pj4gSSBjYW4gc2VlIHlvdSByZW1vdmVkIHRoZSBjb3B5cmlnaHQgZnJvbSAuYyBidXQgLmgg
c3RpbGwgaGFzIGl0LiBUaGlzIGFsc28NCj4+PiBhcHBsaWVzIHRvIG90aGVyIG5ld2x5IGludHJv
ZHVjZWQgZmlsZXMgdGhhdCB3ZXJlIHN1YmplY3Qgb25seSB0byBjb2RlIG1vdmVtZW50Lg0KPj4g
DQo+PiBJ4oCZdmUganVzdCByZWFkIGFnYWluIHlvdXIgY29tbWVudCwgSSBwdXNoZWQgdGhlIHY0
IGJ1dCByZW1vdmluZyB0aGUgaGVhZGVyIG9ubHkgZnJvbQ0KPj4gZG9tMGxlc3MtYnVpbGQuaC4N
Cj4+IEkgbGVmdCB0aGUgaGVhZGVyIGluIHRoZSBvdGhlciBzdGF0aWMtKiBiZWNhdXNlIHRoYXQg
SSB0aGluayB3YXMgY29kZSBwcm9kdWNlZCBieSBBcm0sDQo+PiBwbGVhc2UgbGV0IG1lIGtub3cg
eW91ciB0aG91Z2h0cyBhYm91dCB0aGF0ICh5b3UgYW5kIHRoZSBBcm0gbWFpbnRhaW5lcnMpDQo+
IA0KPiBFdmVuIGlmIHRydWUsIGFkZGluZyB0aGUgY29weXJpZ2h0IGFmdGVyIGlzIGEgYml0IG9k
ZC4NCj4gSSBkbyBub3QgdGhpbmsgdGhpcyBpcyBjb2RlIG9uIHdoaWNoIHRoZSBjb3B5cmlnaHQg
cmVhbGx5IGhhcyBpbXBhY3Qgc28gSSB3b3VsZCBub3QgYWRkIGl0IGR1cmluZyB0aGUgbW92ZS4N
Cg0KU3VyZSwgSeKAmWxsIGRyb3AgaXQgDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:39:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:39:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631622.985168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Y5c-0003Iw-FZ; Mon, 13 Nov 2023 14:39:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631622.985168; Mon, 13 Nov 2023 14:39: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 1r2Y5c-0003Ip-Cl; Mon, 13 Nov 2023 14:39:00 +0000
Received: by outflank-mailman (input) for mailman id 631622;
 Mon, 13 Nov 2023 14:38: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2Y5a-0003Ic-Tp
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:38:59 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20600.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60a51cac-8232-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 15:38:57 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PR3PR04MB7484.eurprd04.prod.outlook.com (2603:10a6:102:8d::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.14; Mon, 13 Nov
 2023 14:38:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 14: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>
X-Inumbo-ID: 60a51cac-8232-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TVy1UI2q4sZJ3FShapl/LK6nOYNGguRkTYSYBS/YG9hbw8k1yDxtcQlssta8PNn8jGbU8DFCB1nIgbDtjsY7Pg1BIvZGIWrr0ZLTVhfgjq9swq9ScDZD+72NLTTQLgqyT+0+RsGUpj4Tx74ZdbfA7rR40mbtzUx2g/O5yHxBr1dEsBgglOZyWSJG/NDlcC+fzHAoYeWCKMV3mrIj3r5Upog9N+0BvMt3pDHTjr1HPm7LDnWi9xwp26D9zKi8Cz97U8Ty9A7T+BuK04Plfk6KpmPaPTADvn3QxMubNyonnP/x7eURIU7L4lWJdN1QtKLT+9m5OpLE4vr896c596s8PQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KkWuOwMICPqm0UI5WQ79zEs8uniG2Cfp+jfiExAlWbk=;
 b=floN308bFgNKdMj/i1yLs5uSr43Ql7J7lUzqI3A5BkKIDUIgt/rLJLTGSlksPQijWVVDKzmBq3a3LQu7AqpnjUnBHW/IlUCcIglEVU+eebNJikArvoRzArZiGNJQluFmlzvWxsnz2pGfW2PKQwluafcNxLx02jKg4srZZl8Bc0wHOFOk5NN+PsviA/0IJphuxSlzKfmLAdoF0NIv/+MppOYcZAZ1KERokn5nseFNgtT6VD5R76Veio4O8o5vYyK8hLhArVQa8j6iuN+wE1u1HNft4OiKlmwVp6Ncn640zWfCBZaT/gOMZFBNLsd2t1vPjya9jamRZV9NTZpkWs1Jow==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=KkWuOwMICPqm0UI5WQ79zEs8uniG2Cfp+jfiExAlWbk=;
 b=txeEvITgbXd4X2SNUTGMh8w6DWNhy3kJcVWT4sGPXNNxYCN+HAFiIJbK79Ybpjd1kSmA7TbhyRB1N810RchpP1MYUC31zsZgfvSVkSmIydshMjk6IGr7N1Oumyh/PgPFkXiWi8p/fR52Pa0vRhWBf/alzd0X7BP7zo5lRbttT15e8ovgqzR7kEiOA9gRKJ7k4OdA07Osb0jF4dquGncd1u2gZS0TyYhAHQDgvnDNCEKidEkeEHsLPFk8qIPAsKQaPjkbXPHjWh/Po2OQvbVbArbelRqNWttwz+UH4QxgCsrVA9n9GsC9VXsiZmm5tvEUbmrkxJe0UKD6XuuWVCUD7w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c027b9cd-37f3-8223-141f-a1dceda82ab4@suse.com>
Date: Mon, 13 Nov 2023 15:38:53 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
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>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/boot: tidy #include-s
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0068.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PR3PR04MB7484:EE_
X-MS-Office365-Filtering-Correlation-Id: e05956b0-c97d-4ad1-bced-08dbe4564343
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NdlLEtdDpEu8o2D8COE1Y+/BxGUjsDw4CU2UGdD9TrBWp3/vYJDySYHB0OFkcrwG05fOfHFEnqbvRHqQ+rJzHV4OJo2C+BusQ+GpTFRjnEVSp/KxUPMu9m/W2nOmqq+DBHOi7+kDKf27cEll0kC7OUmUh0SXG3WkNNfKaqienGD2Vie+DtL1wEfxFyE69WUvrW6OBnAtqAMcFpaUE7gBIFueNzuVzgetDZFg7azW5DqcC1fTUg2wGbqD71ebCsG6oQ82EPyL3TepKjkSGWi+AR1yjUusWZuJsvQIRQl94PvoWqnnZU5yHrFYbvOAEWZiBf+iowji0u2nC+pyAFiMO8kZW+Kx+8jOv3tobvZb0bOu+Ynb3pEKHMY1iJ6Aqu5B/021ymXI/Jfeo4fX7p2oYlDgdvJsIdlxcC6Czo9TgFHHhyKct+//dCxDf1uv/OsjohRyad0zJJHouFia6gNursPNkiP4ljgCGv16CrR1n+R+28WlnsAN/PZ385WwHSyxq8Dj2u1Zq/cPNzEs9Vdkzedb1uJvLm2ncPyuMoJR5fI2b3u8RJomRaAxs43ivrNwfwNI7gW1mh74bB/E0crZ9g76c90zgvsAFXf9e1mq3qRn6Umfb+J70mmCdTxuGcPn8ZwFP11gtHN/d//gxexi/Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(366004)(136003)(376002)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(6506007)(2616005)(6512007)(6486002)(478600001)(26005)(4744005)(5660300002)(41300700001)(66556008)(2906002)(66476007)(6916009)(66946007)(54906003)(4326008)(8676002)(8936002)(316002)(36756003)(38100700002)(86362001)(31696002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dTRxR3UxdjBUM2hnRS9aeDlTYVJtM3lUVVZXUko3NTN5RitpU0JBV3Jjb3VX?=
 =?utf-8?B?alhMc1ZFOUhrYUo2V3J3RTNPeHVUVmk0Kzc1b085OFk4MzdXVTJtMUZUY25M?=
 =?utf-8?B?aFVvbm92bVpESDBSSHMvYXJjZmRXdzJSNWFZbGx6N251VFBqSlJ4REFRVTVN?=
 =?utf-8?B?ZDVxL0hPWEcyY2hJN2QxZUVDeUh0b1M5QTFiVWEwakhqT3M0dzVUUzlINFg0?=
 =?utf-8?B?bTR1enRvaVh2Y3hIRWl3U2JiaS9XUm44c1Qrd2FWSUxVdzBjR1lGQnFqQlNs?=
 =?utf-8?B?UENzUlE1MTRkR1QrOTQrbUVBUTZ3cTVGcE5jMW9CMzBnUDdqWkt5TUhaSk5N?=
 =?utf-8?B?VFZySTdScnRhdGJ3MWU0dDZvbVMrUG5QK3NvcVpMaU9rMjZaR29sdHArY3M0?=
 =?utf-8?B?M3k0eFg2SjFlZ0VzODk5cUIrbFQwaEJUSk4vbDZJRG10S3BMMStwQWRWd3NS?=
 =?utf-8?B?ZW9iZG9mdU9yUFZPWGk1bjlUaFRObjlUYVM3MDV5OG14eDVzUTRLQXFLSEpq?=
 =?utf-8?B?L2o4RG1oeVYwT3FTWUY0S0t0cXBBOHF5bHl6VlBDVTVqNE9qRFhBeG4wZUc4?=
 =?utf-8?B?WWNjbVlBT09FSTh4OXgwa0J5VjNMNjNYTVBxZWx5R0NZTU1US2k3S0U4WHA3?=
 =?utf-8?B?NTVPcnVXWG5YNjQzaHVxNUdYYW00MlF0T0FFS21IRkpQR0RKa2YveFpzcVNF?=
 =?utf-8?B?ZzliTTVEajR6TkNvVGJHTUFvMDB3Ly9oN1FOYUU5MlNPWncvVW5sTEJ6U25o?=
 =?utf-8?B?MWZxTFhVL2FPOHY4d0FHVjJGVmpuSlhTa2JNeTNjNXVzL3VYbjJYdEZIRTNT?=
 =?utf-8?B?Y2VmMjFIWDBXV0VVQlpTYnV2OGR6V1dhYmd2UzBVZ1Z0SGhQa1dPYmpjOFlm?=
 =?utf-8?B?MmtzZ3l4QXZMaGt3VWt5c3VTeHdLSzgzdHpJaVNWd0lnVUJYSWNaRDlxZ25G?=
 =?utf-8?B?b3Vrb3VSOGZWRTR6V29qZVlnYzRWcjRSWi80YUE1UkxIbXJ0M3MrTUZqQjI5?=
 =?utf-8?B?TjZuUzMrWkNXa0VKeEY2TzNmOGZzU0x5clpLUHBicTd0cXpmRkdrdGwrbkJa?=
 =?utf-8?B?V3BMZDZRTlVoeVZTcWE4OGpFSXo1UmNjRTB4Y292YmFNa09BWnpOQjMreSsy?=
 =?utf-8?B?QTRGdTNtMGZVU1pqbGJYRW1weU9JdG1uNUVTY05hbE1VcDh6MC9kTlVsdmpu?=
 =?utf-8?B?dzdHRWs2b1Jlbkg4WURlVldjaHdQUE5wa0lySjFlaFV2Q1VTS3NBdkNOKzBM?=
 =?utf-8?B?dEFWU0V1ZXQyL0NCaE5OTE9PR0IrcDlFVndpRVR3aTJiZWtiVjlWSm9qVFdn?=
 =?utf-8?B?NFc2eFBrNEJ0KzFuWEhFbER4TEJuNTN2ekswM3FzK1Z0NzhscTJiLzhZRjc4?=
 =?utf-8?B?bFVhVFltVnVHN2FSdzZGVllaRFF5UnVvZDkvOXUvWk4zSXJOSmVLTjNReW16?=
 =?utf-8?B?RTJPVFdtVVlDclJFZGRJRDlwRUFHOFpFQ0ozamM2NFRSUFZDMjRLOXR3UmhE?=
 =?utf-8?B?MjNJeGNTaEVYWXBYNGVIU1E3YVVFMUo0eVJIdDFpcms5bXpVMythUlVMaDds?=
 =?utf-8?B?UW1LQlVNLzNPNnBSQUFqV0UveEgwcVZoL1dsRTRpRnkySzdCd0lVS2hIcklG?=
 =?utf-8?B?a21FeS9GbU5DOGpjUHcrN2o3QXFLNlJ5K052dWx5clRwMGJSc3NlckVMR3FJ?=
 =?utf-8?B?clpRdjJmRGxHMUdjcUJ1VGRTYVB2U21aQUJMSEI0OVdXcXkzWUlPbHlOeVZ3?=
 =?utf-8?B?Y2loUXBnb092MUhUM0lHZ3U3clNRSXNDU0F6UEZmdlBHL3k4VWNpbm5IczFJ?=
 =?utf-8?B?ejFhT0ovTUZnMlJHRnFTcnFpVS80aVpaZC9oNjJ6VVFEUnNZRTJHYzMyN2lt?=
 =?utf-8?B?dkxkTE5XOTFGNTNGb2p3RU4rS2UwM05CQ3N1bGljd1pGeVkyQ1BZMllxaFJj?=
 =?utf-8?B?N21GQzYxcmQ5Uml5ejltMDVoTjlnekEyZ3c1eHc1WHdwbGtnaHMvaGZuMlpB?=
 =?utf-8?B?L2pDcG84VENZa0pEM1M2d2JRTlVKTFl5RkUyWGdDOUlVZ2g2QytnYkdVYkxp?=
 =?utf-8?B?ekpSTXhHODhYK3Y0azlhbm9YVGlVbmRuNEdYS2JoRllybCs2cEtPeXcvOHo3?=
 =?utf-8?Q?nv7pW7M/sr3+ktHC2URM6NIt4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e05956b0-c97d-4ad1-bced-08dbe4564343
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 14:38:55.0891
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ragz8Dms5AFpSQlrBYYTiDXG86RBhKeLROkcEx2cUjVXDPfSeWmCPFUjxkTfWcajdkrObowmwNEBDo+OU0pgEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7484

As of d58a509e01c4 ("build,x86: remove the need for build32.mk") we
don't need to use non-standard #include forms anymore in the sources for
the boot code helper blobs. The only place where this kind of #include
needs to remain (for the time being) is mkelf32.c.

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

--- a/xen/arch/x86/boot/defs.h
+++ b/xen/arch/x86/boot/defs.h
@@ -20,7 +20,7 @@
 #ifndef __BOOT_DEFS_H__
 #define __BOOT_DEFS_H__
 
-#include "../../../include/xen/stdbool.h"
+#include <xen/stdbool.h>
 
 #define __maybe_unused	__attribute__((__unused__))
 #define __packed	__attribute__((__packed__))
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -27,10 +27,11 @@ asm (
     );
 
 #include "defs.h"
-#include "../../../include/xen/multiboot.h"
-#include "../../../include/xen/multiboot2.h"
 
-#include "../../../include/xen/kconfig.h"
+#include <xen/kconfig.h>
+#include <xen/multiboot.h>
+#include <xen/multiboot2.h>
+
 #include <public/arch-x86/hvm/start_info.h>
 
 #ifdef CONFIG_VIDEO


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:44:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:44:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631628.985179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YBA-0006Ub-9J; Mon, 13 Nov 2023 14:44:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631628.985179; Mon, 13 Nov 2023 14:44: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 1r2YBA-0006UU-5G; Mon, 13 Nov 2023 14:44:44 +0000
Received: by outflank-mailman (input) for mailman id 631628;
 Mon, 13 Nov 2023 14:44: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=qpRc=G2=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r2YB9-0006UO-0R
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:44:43 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2ce5867f-8233-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 15:44:41 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2c7420d5a83so56562731fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 06:44:41 -0800 (PST)
Received: from [172.25.82.51] ([12.186.190.1])
 by smtp.gmail.com with ESMTPSA id
 i2-20020ac87642000000b004194c21ee85sm1979925qtr.79.2023.11.13.06.44.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 06:44:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ce5867f-8233-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699886680; x=1700491480; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AHM/UjYfhJD8bZ6ZKw6lRfnDughquu4ySPTgJOwnjDw=;
        b=N1hvDgDbYtP0u77CnodPxf+0Jv3kAQ5EVGX32+erebRDwu+G4NBrT1/t6/++CcVPIY
         TNwsW1ks9z4N/vofrYZOehjsFe54Y/2cUlo1fkJco536779aucE6Rih0DVTgq2gVPkNu
         IQffZ3hVbgtoHnWoLf3T+W1wV9k1Azuuh4Bvg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699886680; x=1700491480;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=AHM/UjYfhJD8bZ6ZKw6lRfnDughquu4ySPTgJOwnjDw=;
        b=mM4Wn8NLIKNPUWgqwz4PPBvKuilbozxfd1mDqlfr36FesxzHXtye8gGlRFHRSJlllr
         WZdFnxVYhGz1EjqYRuQrSrNK5xHYzS7guuBlutZZIz+uVzbBXLa+XlFmkOQ0di8m9xBA
         ZsX+W+tzA2SEbYMeK3qrKbTdR4wGBpSI/I9SEuTY4mUtwTrzJwb/w8Ljd52M7/q9PmgZ
         4+7qEQcr4sPKZzBz0QJZi/18EjRDnDp3i34ygCRzoh/kZboLryEAAzvpPDFGAC7s4OMU
         hfc00r3cOIb77e4gRRYt06lOylRyG3FRU1S8SveZMsGEefbQmMMfzt/Ya3PnLpd2hI3E
         ZVig==
X-Gm-Message-State: AOJu0YwL/vVIIT49Oi5/dz8JUcUBlCdpZllFwq5UWfU5QbsBOm4HryDZ
	8wXy0q4qt0qE0EeO14a8bA3UTw==
X-Google-Smtp-Source: AGHT+IEwWQwzqIl7VZB2+X80C0ReteDFDjiiPRCyQs1zumCdRyYIn3B+JRfKHeE6sqjZaBJhED4b9g==
X-Received: by 2002:a05:651c:b8c:b0:2bb:a123:2db7 with SMTP id bg12-20020a05651c0b8c00b002bba1232db7mr4015479ljb.51.1699886679848;
        Mon, 13 Nov 2023 06:44:39 -0800 (PST)
Message-ID: <02a16cc4-3c9c-43b1-99fc-8fb0183da11b@citrix.com>
Date: Mon, 13 Nov 2023 14:44:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/boot: tidy #include-s
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <c027b9cd-37f3-8223-141f-a1dceda82ab4@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <c027b9cd-37f3-8223-141f-a1dceda82ab4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/11/2023 2:38 pm, Jan Beulich wrote:
> As of d58a509e01c4 ("build,x86: remove the need for build32.mk") we
> don't need to use non-standard #include forms anymore in the sources for
> the boot code helper blobs. The only place where this kind of #include
> needs to remain (for the time being) is mkelf32.c.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:44:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:44:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631629.985189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YBJ-0006mv-FT; Mon, 13 Nov 2023 14:44:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631629.985189; Mon, 13 Nov 2023 14: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 1r2YBJ-0006mm-Cp; Mon, 13 Nov 2023 14:44:53 +0000
Received: by outflank-mailman (input) for mailman id 631629;
 Mon, 13 Nov 2023 14: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2YBI-0006UO-7N
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:44:52 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2073.outbound.protection.outlook.com [40.107.7.73])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 32ab5c4c-8233-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 15:44:50 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7980.eurprd04.prod.outlook.com (2603:10a6:10:1f0::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 14:44:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 14:44: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: 32ab5c4c-8233-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EriYRkMUwCrOOqAeIE0amnrNC73M2zSxFnUjRGVbQx4Cho0MJfrKwRZQJ58qsStJOe3bUoMmxMogG8yejj5Bs3oRy0LDqf+Z+2X6SD2XJcI7fzF4tS8IN40gGOp/TjNEvznEgglcoCF057URRK0L2OQ8HHg8doQj1FzNz+kMeGEZeYvH6i4QLdqsnMt47GInO6jHXVg+rTtInGec2+mGuWGKbJvwBEjDa5W0mP+n8t7H6tekUDey7NkqHwxVtbnEtVuYbSpZolJc49YFTCLf6/x2j50JHVhQaQ4nzIptAWseiIn/zbWrd4HXMtgaT5f2FR6T+l2GDSLIOGFHXIizBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yFbIDf4Fi1lVrj6TYbXaiX448zPYCHxPJVBn/H9xL7A=;
 b=AtPJhy0TyyZouEJduMKnB0xq3bAnQrCwclKNeuTLTTk5JTbF8sPWv8FzAxxaI7T5QNzAgj4tKvvXuxNVnfoLXfzeiwifEOUWDj9wFdETZeArUs4EQfl5/E4zdWyuzk/LgWTJqp8qohPDtIJgTZ4d9Hq89AH3uUaikzIAhx3PV0fZ5PpfrCxRyX+KPwlj6UNaNfvnDBQ/pp/T8NUnvDnkCJizcIym6VEBzEDsu69qCbUpofVV/54ulvlXqAxRXEaw8BK/K+FMzLexqhitGtB9B5ddTAZ9YJl0idMCA2ww1IJRhinGr0pJg0bUA1NwRvde8FLAp7rQ29UFPBcheOXrVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yFbIDf4Fi1lVrj6TYbXaiX448zPYCHxPJVBn/H9xL7A=;
 b=j8Jlq6IQjXRHVR0fNvyLAzBJi0UyASrASR8bbsNDp4n/k1+IYlEYsQcEBeWjJ9+11GFOg1aY1+ypOq9yY4PjOL7S3dkSI18G5WZ2oLlN2Pe6OiiwsApM4vG/6qbhgOOCedV2P54amSnJ33rT+06BCzACtbVHjjw0CIbhqAmD0Oe6UnwckMuyL2iex4GVtm8JIGEf3bxRUe/T4W+eCMDoGy31djF8+oD23S4ydhl5PgXyiAIYVZ4UGz+UoUGRQMzQ4cjUGdKM1Glxo+MUPmZknyIcf3hx6zdBnh/flHxxyLDxxybGv2t1to9WPqEWDsv40jzSZSHTYc+i8p0n9jCoWg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <18c366e0-0870-3a17-69a9-2bfb1fb3b25d@suse.com>
Date: Mon, 13 Nov 2023 15:44:19 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19 v2] xen: replace occurrences of SAF-1-safe
 with asmlinkage attribute
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <aa7fa9b8cd40adb4eb5242deeff138cbe8b658f9.1699352946.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <aa7fa9b8cd40adb4eb5242deeff138cbe8b658f9.1699352946.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0086.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:cd::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7980:EE_
X-MS-Office365-Filtering-Correlation-Id: fbfa6794-6c14-493d-a70a-08dbe45705a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DJ4S7u1MCwfTiKaOTn0/Tle2Ne9bsjg4GHWeIrcKjXZLiO38tO9rg3p8oLmyo+En4Mim0VrDShbyJ/LkzhfkYwVXbaHWb7z3ssbaph1/8UVQWALKUVSPROBav2gorAmcFJ5RuMiOWFifMTuljajX1UAKKHzIE9fgTuOc2YQPkb/iDX6fXPugrdQDARrEYYBnzWJRy39r6jbJC0efkd2+Ijop0cNM5FnECv0mj7GljExL7krnUkovzWoHTMDithxbvzegeZBlmmeJKpib5/YFk/1XE6vSa7hfja66svIiyZAgtj6L6StTeZBJ6nEXbQACm+ZPCeHyrh76UU6RA7d16wsJN4ZxNLdsL69dvB80kDRkjtyNUtWUImdP8EbbRGn7gpUMFd07Kk+yZRS0r7JOfnnh3Fwa1Mu8GUojkkYPArDb+LN2FCOIiNMse/uWCvYO2FoGrqUd1TcR6RZf6lDgj6vBrk/TNlEaQkss5g1N+Eb4s6MPLA5gLfJ38v3o5aUhOiMkJseFQfX7tZY8ETkMMEoA+agc/3UDfmuqfxKmAx7YFjy7iucl3EP3rWBCxkfMSKika1COTueURVAb1C5LPEn3Of1VB042L3btruNq7D6O6uyT+RdmQYsTTvt0olg8GCTAS2s8R+hotxwq7Q+zPw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(346002)(376002)(366004)(396003)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(54906003)(66476007)(66556008)(66946007)(316002)(6916009)(478600001)(6486002)(7416002)(86362001)(5660300002)(31696002)(41300700001)(36756003)(2906002)(4326008)(8936002)(8676002)(26005)(31686004)(2616005)(38100700002)(83380400001)(6512007)(53546011)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S1hsR1Zsa1ZHRE5Ib3NrU3U5ZWhnWDZjN1p0aUdndHRucWMyZFVaSlFYQm9N?=
 =?utf-8?B?b0xQU053L2JwYmtnTUhTeUFyTXJ1ZlhwSU0wYWd2SW1ZcllWQmdzQ0NrMDc0?=
 =?utf-8?B?d2ZOdGlGS0pnN3VIUGI0SWZ0MDBUcFc3RVpJeDk1ZXNpRFpqZXNBN0JXOEpj?=
 =?utf-8?B?bjUrd1VodVIxVU9iS1BkdVArV1NMdzZxTjB2K0dXYUhuTVlsSVppWmpibFBO?=
 =?utf-8?B?dXlPb1ZRVVZjbzFrV0FGL0NKMEVvNWtZU2h0cjFrcEpsejNrVnZ4SDdwdnAw?=
 =?utf-8?B?TDlSN01VZGd3NEJnYk1BNVpOVlhCRDBRVVM0S1NtK3lDa1Jqd2xzQUhiR0k2?=
 =?utf-8?B?Q2VhdCtpcDgyNE53d05BTHd3Njhyd2gwWVFwQlZTeEFUQ0wwMElvbXErVndj?=
 =?utf-8?B?R1pxNDB5WlFPL3Uwc3libVdibVNSR0xkQzNnc1BoZjFQY0hkQ2dJK3BuWWNu?=
 =?utf-8?B?b0tWUEVKbWZod2dhc3VIV21FSjMyclQyQWZDaWhIamswN0VWb1BzNERad2t4?=
 =?utf-8?B?SjhxL3crSVB1S0gzeFI0Q2w2bjJURkJ2OS9MZ3VMUW9wcFNFU003eEZLa2U4?=
 =?utf-8?B?ZUFnNWJndXZ1Znd2dWlGRGRRNGZNNGhnbysxTUhUbHBFUmROM3RQMnVSd0V1?=
 =?utf-8?B?aVRVUlJNVW1MYUIrSk95MHAyaVRaUzJzK3FOWmgxWGpuUndnZU5QcEtHVVY2?=
 =?utf-8?B?YnhtZXRGcm51NmZLaGQxLzdQdlg4eXNuNzdlQjY3eWRwUEl6Q0s4S0dKZ1NC?=
 =?utf-8?B?WDFaWHBSajJ1bUNBMXh4OEczUVpmNmRib0k0cTQ0dHluMy9xWW05YWlTZGF3?=
 =?utf-8?B?bzMvb0EzOEdtRUtFT0YzWDR0d1NvZGVSdThUdGZtM21lK21RZFVLdzlVV2Zt?=
 =?utf-8?B?aVcxVXVWT0wyMTg2VFV6ZmlWUFJRaVBXWDh2aDdUTGZ6VktNNDQzSThzUWd0?=
 =?utf-8?B?Z0VUSWZXR0FqbFFza3hmRithbzJrREJuOFMyS2hNYWE2YU0yeUJyWXdPNVEy?=
 =?utf-8?B?QTJaY0dFcFc5TzN1MnVZUHI4TkVkS0pvM2dMM3pOTVBIajFFT1NUeWtKWDYv?=
 =?utf-8?B?bWNDR1BZQS9tdm5WdjZYRS9DZExJUmpPZGYzaXY3L0RSclVIb3ZSN1F0Z2dr?=
 =?utf-8?B?ckxjWnI1THJ4enV5QVVubzdPYmtZVWh2b1k0YVlIV29ESFgybUlwRUtaYUpa?=
 =?utf-8?B?SVJaSWxucVp4TGRHa3dyb1VXMnBaRjJLWlFvVm01QWcvWFlZeDJJSUlvYWdi?=
 =?utf-8?B?aVl1NzFqM2tnVTJBVDQveEZDS1I4NEUxaXZrS3M2UTI4YU8xeis3NmhVNFdB?=
 =?utf-8?B?WHhNanlaekxVQTBpZGJTbmJ2T2ZEQVdpaEtmLzFIR3RmV2ZvcFdCN3c2UzV4?=
 =?utf-8?B?cWZqN0NSbUlZWHJYNVFGeFhyWHhFZFEyb0srTzh4Z2JTZHllRUx4RjFnQ2l0?=
 =?utf-8?B?MFJGNVBlUFZrb25leXdwTHc0UUVyWElLM3Q5ZFlIdys4VkJQS2o5YXBlTkVT?=
 =?utf-8?B?MU1NOC9HUHBGMUszYzBLeWlodEtPSmNWODdpSDVMelVWUmRWYTBWbVk4eVhl?=
 =?utf-8?B?S0htRFJycDRZUy9rZ0ppbm5jRDFVajZIQVJFdDRmSHlZRWQ4b0dscy9aMksy?=
 =?utf-8?B?N0tWSWxoYnU0NXlCODhyZXI2M3dCbG5ZK3ZheVFsUTVZM21YR04vZ2FmY1da?=
 =?utf-8?B?b0JwNzdDS3c4SEFPYzF6d1drbVZNWi9mMjFRbWZnRWNCVFNkZzUrMEl4MEd5?=
 =?utf-8?B?dUVURWc0T2FSU0hIQ0Fac2IvSFUzeStXUlppclBtbFhUWTVVK1NoVStwVHkv?=
 =?utf-8?B?UFV4bWZ4U2JtY3U2a211eHZSY1l6SWl4SFF0MFhWbGRuSFdGelE1NFlyRmNo?=
 =?utf-8?B?anZtQzdyak8rWlhFNFk5STVydG92cGlRNDljeXZ2N3JRa1lqTm9KOW5sR1B6?=
 =?utf-8?B?S1luOEpyemdnTXRHS2c3anU0cmM5MDFGUi9QUkx0SWV1WFlDV3VacEdlWGNz?=
 =?utf-8?B?Q2pVTzFZemhyN2JRLy81UUtRNmptVk9JcmZ2Ym16VXQ5NzVKckdwdHlmcERs?=
 =?utf-8?B?UENYVy9mMlFXcmFxakR3MGdmWEtuZC9YajFvbkswSmpuMFhEZmRXeUM5UjFx?=
 =?utf-8?Q?9gMiFagDuaM5bcSpHwzHLEmzr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fbfa6794-6c14-493d-a70a-08dbe45705a2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 14:44:21.2092
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IAUOydmmRz0atMbNLCnjWl5gTleyQH97qIRgzoXIEXN5v+ERZtpGmGhJxsY69FbimeUNqSaDkmi6x8Lv6xB+tQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7980

On 07.11.2023 11:30, Nicola Vetrini wrote:
> --- a/xen/arch/x86/boot/cmdline.c
> +++ b/xen/arch/x86/boot/cmdline.c
> @@ -31,6 +31,7 @@ asm (
>      );
>  
>  #include <xen/kconfig.h>
> +#include <xen/compiler.h>
>  #include "defs.h"
>  #include "video.h"

Please respect the goal of alphabetically sorted groups of #include-s.

> --- a/xen/arch/x86/boot/reloc.c
> +++ b/xen/arch/x86/boot/reloc.c
> @@ -33,6 +33,8 @@ asm (
>  #include "../../../include/xen/kconfig.h"
>  #include <public/arch-x86/hvm/start_info.h>
>  
> +#include <xen/compiler.h>

Same here, put on top of the tidying patch I just sent.

> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -1254,9 +1254,8 @@ static void __init efi_exit_boot(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *Syste
>      efi_fw_vendor = (void *)efi_fw_vendor + DIRECTMAP_VIRT_START;
>  }
>  
> -/* SAF-1-safe */
> -void EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
> -                                      EFI_SYSTEM_TABLE *SystemTable)
> +void asmlinkage EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
> +                                                 EFI_SYSTEM_TABLE *SystemTable)
>  {
>      static EFI_GUID __initdata loaded_image_guid = LOADED_IMAGE_PROTOCOL;
>      static EFI_GUID __initdata shim_lock_guid = SHIM_LOCK_PROTOCOL_GUID;

Besides this patch not working on its own (as already said by Julien,
you want to explicitly state dependencies), the change above makes me
wonder about efi_multiboot2(): Neither the earlier series nor the
change here are touching either of the two instances of the function.
Was that merely an oversight, or is there another reason?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:50:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:50:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631637.985202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YGC-00023M-2h; Mon, 13 Nov 2023 14:49:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631637.985202; Mon, 13 Nov 2023 14:49: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 1r2YGB-00023F-Vp; Mon, 13 Nov 2023 14:49:55 +0000
Received: by outflank-mailman (input) for mailman id 631637;
 Mon, 13 Nov 2023 14:49: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2YGA-000223-A7
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:49:54 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0612.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4bac4f4-8233-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 15:49:49 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8078.eurprd04.prod.outlook.com (2603:10a6:102:1c1::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 14:49:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 14: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>
X-Inumbo-ID: e4bac4f4-8233-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lHMl+6CaNbWaWCO5ORPLjOFZ1FCi0X7l21EJJsat+7HTimjmrqTA9IDMLbg5fJCXvJrb1DhE6p8FDCGzWnQOTWbD9xHORbbV9kCAjdaKRwjqTnv8NSw40fr+9JpWb3wn3ue/ajF2Ghz7J3Q7619ys3Zd8fYfEfbqzedRou98YS/cnaEYFc5YoiJ2rOT3uYUlc/l/OiLyKomdD1gnH9PSxt5FasdIXgg3phET1sAemj8HrFgNkkqsaPkjev+tTtmkmBUTeQxvtOAY32XgzLGKFhG8n6ukALgX3yG1NmOy4lGUlfgXax5R7uNsfbXcq2OvWbwOlE5L3tYtrDHuYqBk4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MQ6xMiqB1se4rbE2QAVyseajCja39tDNn+qd4ERKvlU=;
 b=j1+Nx1NUi3ELfKcsJiFwSWPeapVZlgzOmLQNAYba4gdQBcydq60yjIa8J6ZsteeGdOljnKWrBq/R2GchccBjGXh690S4ULooV+rBopGxU8DtDMpLiSVIe23Q0X4PBSBqmNkAVJX0aVv9XvvfdqO8w5CEVQCAgCUQh8ySYuAk3KyXrleUGgbLYS/RPIoKIhUNvK39s8KwI5LJ72t85+69kbqpEjGYdn8afc6EonSY47Oh1kp82G/2uhzDWbpo6Npn4IBTi8S5iDL9w65qV7L+i/L3jJB8pLkTc+kwfXOIL1NwnlZSUPdRLKCjh3QALfE9gX1wj/FWo0P04WUPEohnOg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MQ6xMiqB1se4rbE2QAVyseajCja39tDNn+qd4ERKvlU=;
 b=5bXb8GurMEQNI3Gz5eZhRNhcXjvoXHrTZIrjUyl4/fybFjOr8tXXBemFsnaAc3iA/jq3XyAEQoAKGO09tf6zmbEoqDOWVeNq5+o2qxd/C6R7z+gGNG35x2ql74Ut42ZB0xKtGoG8VmzkWU8JAfQldPo4sB5UEqDc0b+sT2MQN5FuOOij+ocGtWuq7HAiVnxH2XTba9Fh/ULH8e6dwFLsQ7xGcQieWg4B5v22HP1/QSBFpx+4xQ+awHgd5bpi4PgHwzWpUTMHFGkOQ9SUbEu5lnU+4CNo6vYlBYn4gEvEeHOIazpW6OCuJjxftCTDaHoCW4U4N1Abd5zMczCIpLhj8Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <66d58b06-f7ac-a5e3-6c32-6ad09ec15bec@suse.com>
Date: Mon, 13 Nov 2023 15:49:44 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH v4] xen/string: address violations of MISRA C:2012
 Rules 8.2 and 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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: <3e9b167738ade3f5249700d61591af95053ae6bc.1699605505.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <3e9b167738ade3f5249700d61591af95053ae6bc.1699605505.git.federico.serafini@bugseng.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8078:EE_
X-MS-Office365-Filtering-Correlation-Id: eb7c8df5-c1bc-49a3-2744-08dbe457c79b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dTau5p1QHFAozzkcob8OxiBgRL982F9WKcLENjrz1uE+GBpqaN8QCX2mIGEb+DTYLudte5Pd827Mx8g7vqoZfmrrUEFL5oLZvSwmR0CcewaPSqPhJCmSa6IrIXdj55PW8JJeEcRStlmmq0qPoTFQmcvjQLoeiNNkD2TqrtGqeKogeDZfqDNOHnCVa1zYpianaCMRbFrz8c43t7yDccNGlALXevLSdngnJxwcFhl3HUmLnJYX5+dnt2YQovzUL4qKEYKWaTOdZ2iKFETB2vuk9/cucvhtLJ97FYcFgWKJMu+iCvNemkw/EukX7YebQ31Pk2khUZY9OBUY/ciLfWfdxmNnooReH1DQFTrjpIHmJd6D8U/46gn3ykEtZcq4AbMjit2Z18oCJ5DBzbhrdzvaafeOuc4lVBsDbqDQeicAv1NGrQXhH4vZGfwVLPzs0SE920relS2r7X0ffk2WgxOrF24gTqIYBavESmBkYRQ3AByNSwBBJrQ9GYYPXNbZgh+XyPMbEnf5l8Z7T/ORqD8RB9RZqBhpaIskPyMeqx1/2LV7PgPBmf7wSPDSDQDuI3XOppCszR89LZm8MOb7IkdjOn7I+GwOA8+x68wCgb8HvAY2E74KR0QKLn9oVc79H6+Gm6jl050x+uAznkcSnMqUqg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(39860400002)(396003)(136003)(376002)(230922051799003)(1800799009)(64100799003)(186009)(451199024)(26005)(2616005)(53546011)(6506007)(6512007)(5660300002)(4326008)(8676002)(8936002)(41300700001)(2906002)(6486002)(478600001)(316002)(6916009)(54906003)(66476007)(66556008)(66946007)(36756003)(31696002)(86362001)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UXBUK1Q5Sko2TEgwR3Vuc0tpS09Qa0FBVVlUNDhGTFFlTHR0cFl0QUYvQXM3?=
 =?utf-8?B?WE00QktyYTFZMmpWbGkwbVQxRlFSZUdlOFU2NWhXbmJybnZyT2EyQldub0hz?=
 =?utf-8?B?OUlHZ2NIL05qdWpXYUlpdzBvRS9Tam1FdWxHUmtxa3NtYlcxZ2JCdkFUYUZT?=
 =?utf-8?B?ZGRCdDVROU9yaXE2Vlh3NldJbUtpTmVuSENKeXhxK2E1MmZqa1IyKzJIL1RR?=
 =?utf-8?B?YU8zYmt0aHVjSWo0YnBTUmtaMWsxYWFyWkxhWWhIazEwOWxaQnZ5VGpTT3pJ?=
 =?utf-8?B?d2JiS0VkTGMvRGI2RlIvVVJkNEp1ZkIzVEIyQWplM1NTZFJsYW1qUkgwNk9L?=
 =?utf-8?B?c2ViYWxmdko1UVgvWEFEOGdhOFVNMGsvQmFMSDhoYWZNMnhEMW9nMzVUeDJr?=
 =?utf-8?B?R3FnODc2L3RKV202M2JNTEl6ZThwMUIzdmJ2WFpLcUhvVFczd2pZVXF2ZFc3?=
 =?utf-8?B?USs5VGkwR0pkY3VaMVBMWVErckJuSHZjODZaSkJXc1pQb3cycHBwV0VkY0Z3?=
 =?utf-8?B?YlVIclNnV2NNMElpREZTZ1lXUGFXT1dlTWdEczEwWWhLQzI5dm83d05Kejgv?=
 =?utf-8?B?TFoyNHZWZ1N3OGpqMFh1YVVmV0F0WGQ3dm1aeWNUcFB5NlVOUmpTMkp5aVpa?=
 =?utf-8?B?d2tpNHkzSWd5VmtMSzJIa0p2b3F5STBEZDV5YnhUakc3VlV6Z0lqZlJSRGZD?=
 =?utf-8?B?ZlRuTFFxT0Z2WUhrV1FCeE5RYWJTUE5XUkxqZ3czSWJLb2tlTUtLdyt2a3Rs?=
 =?utf-8?B?cGN2d1JlRVF1Z2h0SXZ3WDVORE5nQVB1L0tTYlFxd2M1M1k5dDVnMWNyczJQ?=
 =?utf-8?B?V3BINXpGMHR6YnBpNXZrMW1NS0NTSW9UUVRCQUhkMjh2dU5BL1pzaTkwc2Vh?=
 =?utf-8?B?eXhKYkM4aHZoVFhWME5zUjVlUi8rQUs0UmpoeVFsT1pmbGdRd04xTnEvMU1y?=
 =?utf-8?B?SFdFcW44SWJ0TEZBSkhnblB3VU5VcllGVDFyQ2JLN0FpVlZlbnZ0QmRSYXAz?=
 =?utf-8?B?VWpOb3g3YlU2UzFmYzYxQ3E4MlBVc05TM0hqdVpJd0tnOUF2aVNjb0tlaGc2?=
 =?utf-8?B?ZjVCS2M1blh6U1hFRll6aWtncnBqb3pIR1dHcVl6WDNiTm5iNVRqeFYvZ0JP?=
 =?utf-8?B?c1NDMVRycTNDT1ZzUjZwNnJndTY0MzZPWmxXUWF6UitEN2FFWndFaEQwRlZX?=
 =?utf-8?B?Sko1YStyQ0x5SG1LdGF3SGZLUzhVNFJMazVBUy96UTRzZ1llQmxDUzRmaHhr?=
 =?utf-8?B?RnhTNFdHR2REVUhMU0NCcmJwRFZUSnFEWmNTVElzYi9DVmM1akp1cTN3NUw0?=
 =?utf-8?B?TDFvaEdsQ0dXY21CUjhHdnhmSSs1ek42R3g5TllFRmtHMTNETUFaYVlGVGJH?=
 =?utf-8?B?OGN1Wnk5QjUyNGZydE1idG9vOTJMa05mVFlaV3gydmtEbjMxM1pHUWg3dkgy?=
 =?utf-8?B?TG1qVitOTXU4MThzUExCMXJGc0tSNldubmhyclJ0ajhBcUVQdFR6Z1FoWEdS?=
 =?utf-8?B?RjBPVEloU0Evbms5SXpPbWIrUUExYkRNdCtpWmVWbkFTbzNWY3dnMlRRWXhH?=
 =?utf-8?B?b0cyb21CVHpxUTlSMm5aWTE3N01naVZTNzVYQkVxVmFuVXJPb3cwdWRsZHdk?=
 =?utf-8?B?T3hiZWhDd2ZBb1B6QjgydmxvZm41cjMyM1ZJWFFZS3g2aXdhYmRuaDFyZk1J?=
 =?utf-8?B?bUhHN0d0MW5kVmxtb1k1RThxTHl4b0VVL3BFZlFvT2QvL0FRTy85blVKYnZy?=
 =?utf-8?B?ZnBoQmZ0L1hwemhFT3ZDZGlGVy9sTjRsLzFpUXlHUGVxa0RIS1JIT2RCRlNI?=
 =?utf-8?B?bFFWTDN5eGRjT2N0UEMvRjFYTjBDVGR0aWtSOFpCV0FaOHUxZDhSRFpiWXJl?=
 =?utf-8?B?Sjh0TkpqcytzTmF0aEdrOCtKZ2FRM04yb0FsNXFxUDIxaWNDemNLd3BvODlR?=
 =?utf-8?B?b0FmREVLUGgrVFEyTCtBazZacGlsNnBxWFFFT0JrODFyRUlJY3RIL3JzalBz?=
 =?utf-8?B?TWpCY2dDSFpNQmVjV0piemtZSE9xditwZnJqd2lxdUlpL2thWUM0dTNPSXgw?=
 =?utf-8?B?V2JKN2pNVitEV3ZQNDg4R3JWYitRZWN3Z2MrS2Rha2ZpT2hwL01Fd3dRNmt0?=
 =?utf-8?Q?oLDAamzBYwmf6qUlhhuhVmyb6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eb7c8df5-c1bc-49a3-2744-08dbe457c79b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 14:49:46.6474
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dPCZwvPJ1cKOsefWUuIPmcv1dQVHEqzFBTvr/80KzwpCGzIEpYj5wTju//W33OnL3Wu/S6UoZmYP1YzBRDwOVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8078

On 10.11.2023 09:50, Federico Serafini wrote:
> Add missing parameter names to address violations of
> MISRA C:2012 Rule 8.2.
> 
> Resolve mismatches between parameter name "count" used in
> "xen/lib/mem{cpy,move,set}.c" and parameter name "n" used in
> "xen/arch/x86/string.c" to address violations of MISRA C:2012 Rule 8.3.
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

In the interest of getting this off the plate
Acked-by: Jan Beulich <jbeulich@suse.com>

But I'm still not happy about ...

> --- a/xen/include/xen/string.h
> +++ b/xen/include/xen/string.h
> @@ -12,27 +12,27 @@
>  #define strncpy __xen_has_no_strncpy__
>  #define strncat __xen_has_no_strncat__
>  
> -size_t strlcpy(char *, const char *, size_t);
> -size_t strlcat(char *, const char *, size_t);
> -int strcmp(const char *, const char *);
> -int strncmp(const char *, const char *, size_t);
> -int strcasecmp(const char *, const char *);
> -int strncasecmp(const char *, const char *, size_t);
> -char *strchr(const char *, int);
> -char *strrchr(const char *, int);
> -char *strstr(const char *, const char *);
> -size_t strlen(const char *);
> -size_t strnlen(const char *, size_t);
> -char *strpbrk(const char *, const char *);
> -char *strsep(char **, const char *);
> -size_t strspn(const char *, const char *);
> -
> -void *memset(void *, int, size_t);
> -void *memcpy(void *, const void *, size_t);
> -void *memmove(void *, const void *, size_t);
> -int memcmp(const void *, const void *, size_t);
> -void *memchr(const void *, int, size_t);
> -void *memchr_inv(const void *, int, size_t);
> +size_t strlcpy(char *dest, const char *src, size_t size);
> +size_t strlcat(char *dest, const char *src, size_t size);
> +int strcmp(const char *cs, const char *ct);
> +int strncmp(const char *cs, const char *ct, size_t count);
> +int strcasecmp(const char *s1, const char *s2);
> +int strncasecmp(const char *s1, const char *s2, size_t len);
> +char *strchr(const char *s, int c);
> +char *strrchr(const char *s, int c);
> +char *strstr(const char *s1, const char *s2);
> +size_t strlen(const char *s);
> +size_t strnlen(const char *s, size_t count);
> +char *strpbrk(const char *cs,const char *ct);
> +char *strsep(char **s, const char *ct);
> +size_t strspn(const char *s, const char *accept);
> +
> +void *memset(void *s, int c, size_t n);
> +void *memcpy(void *dest, const void *src, size_t n);
> +void *memmove(void *dest, const void *src, size_t n);
> +int memcmp(const void *cs, const void *ct, size_t count);
> +void *memchr(const void *s, int c, size_t n);
> +void *memchr_inv(const void *s, int c, size_t n);

... the one "count" outlier left here, with no explanation in the
description.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 14:55:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 14:55:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631643.985212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YLb-0003q7-PJ; Mon, 13 Nov 2023 14:55:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631643.985212; Mon, 13 Nov 2023 14:55: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 1r2YLb-0003q0-MZ; Mon, 13 Nov 2023 14:55:31 +0000
Received: by outflank-mailman (input) for mailman id 631643;
 Mon, 13 Nov 2023 14:55: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=sLMk=G2=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r2YLa-0003pp-Gm
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 14:55:30 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aee9e0cf-8234-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 15:55:28 +0100 (CET)
Received: from [192.168.1.229] (93-36-216-194.ip62.fastwebnet.it
 [93.36.216.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 77CB44EE0741;
 Mon, 13 Nov 2023 15:55:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aee9e0cf-8234-11ee-9b0e-b553b5be7939
Message-ID: <ea217868-ed91-468a-896b-96181c0eaecb@bugseng.com>
Date: Mon, 13 Nov 2023 15:55:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4] xen/string: address violations of MISRA C:2012
 Rules 8.2 and 8.3
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.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: <3e9b167738ade3f5249700d61591af95053ae6bc.1699605505.git.federico.serafini@bugseng.com>
 <66d58b06-f7ac-a5e3-6c32-6ad09ec15bec@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <66d58b06-f7ac-a5e3-6c32-6ad09ec15bec@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 13/11/23 15:49, Jan Beulich wrote:
> On 10.11.2023 09:50, Federico Serafini wrote:
>> Add missing parameter names to address violations of
>> MISRA C:2012 Rule 8.2.
>>
>> Resolve mismatches between parameter name "count" used in
>> "xen/lib/mem{cpy,move,set}.c" and parameter name "n" used in
>> "xen/arch/x86/string.c" to address violations of MISRA C:2012 Rule 8.3.
>>
>> No functional change.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> 
> In the interest of getting this off the plate
> Acked-by: Jan Beulich <jbeulich@suse.com>
> 
> But I'm still not happy about ...
> 
>> --- a/xen/include/xen/string.h
>> +++ b/xen/include/xen/string.h
>> @@ -12,27 +12,27 @@
>>   #define strncpy __xen_has_no_strncpy__
>>   #define strncat __xen_has_no_strncat__
>>   
>> -size_t strlcpy(char *, const char *, size_t);
>> -size_t strlcat(char *, const char *, size_t);
>> -int strcmp(const char *, const char *);
>> -int strncmp(const char *, const char *, size_t);
>> -int strcasecmp(const char *, const char *);
>> -int strncasecmp(const char *, const char *, size_t);
>> -char *strchr(const char *, int);
>> -char *strrchr(const char *, int);
>> -char *strstr(const char *, const char *);
>> -size_t strlen(const char *);
>> -size_t strnlen(const char *, size_t);
>> -char *strpbrk(const char *, const char *);
>> -char *strsep(char **, const char *);
>> -size_t strspn(const char *, const char *);
>> -
>> -void *memset(void *, int, size_t);
>> -void *memcpy(void *, const void *, size_t);
>> -void *memmove(void *, const void *, size_t);
>> -int memcmp(const void *, const void *, size_t);
>> -void *memchr(const void *, int, size_t);
>> -void *memchr_inv(const void *, int, size_t);
>> +size_t strlcpy(char *dest, const char *src, size_t size);
>> +size_t strlcat(char *dest, const char *src, size_t size);
>> +int strcmp(const char *cs, const char *ct);
>> +int strncmp(const char *cs, const char *ct, size_t count);
>> +int strcasecmp(const char *s1, const char *s2);
>> +int strncasecmp(const char *s1, const char *s2, size_t len);
>> +char *strchr(const char *s, int c);
>> +char *strrchr(const char *s, int c);
>> +char *strstr(const char *s1, const char *s2);
>> +size_t strlen(const char *s);
>> +size_t strnlen(const char *s, size_t count);
>> +char *strpbrk(const char *cs,const char *ct);
>> +char *strsep(char **s, const char *ct);
>> +size_t strspn(const char *s, const char *accept);
>> +
>> +void *memset(void *s, int c, size_t n);
>> +void *memcpy(void *dest, const void *src, size_t n);
>> +void *memmove(void *dest, const void *src, size_t n);
>> +int memcmp(const void *cs, const void *ct, size_t count);
>> +void *memchr(const void *s, int c, size_t n);
>> +void *memchr_inv(const void *s, int c, size_t n);
> 
> ... the one "count" outlier left here, with no explanation in the
> description.
> 
> Jan

Feel free to add the further information in the description
(I thought my description was enough).

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:01:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:01:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631649.985221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YRU-0006EP-DV; Mon, 13 Nov 2023 15:01:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631649.985221; Mon, 13 Nov 2023 15:01: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 1r2YRU-0006EI-As; Mon, 13 Nov 2023 15:01:36 +0000
Received: by outflank-mailman (input) for mailman id 631649;
 Mon, 13 Nov 2023 15:01: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=QLDR=G2=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r2YRT-0006EA-Tt
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:01:35 +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 898dcc40-8235-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:01:34 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40839652b97so35605445e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:01:34 -0800 (PST)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t18-20020a05600c451200b004094e565e71sm8311541wmo.23.2023.11.13.07.01.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 07:01:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 898dcc40-8235-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699887694; x=1700492494; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=72/wDZSv3Jwif1e4/97NfbphRmmgwUXf9rueMIn7K08=;
        b=iPkYtoXK0v0+jQHDe6HKW0+bhIGH50VXglle9s+pN5EXTkkX1++C35OJq2XVsT4uiE
         aStmzX3cRrq896UHk4ybDiK5ntr1pkw9hktFKHbIZl4Z3W5n3nx/dSfKe9PohmxcGYlO
         u/8QWQiv7FpEBpwPObBwecRpAbqrrBTNcUIPI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699887694; x=1700492494;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=72/wDZSv3Jwif1e4/97NfbphRmmgwUXf9rueMIn7K08=;
        b=bOYPuIEHcMmEDCxesDDEUCzB1YTNR6xM0wFnt91STWJU1YNxv94bQhRyflwnV51uRz
         iJq2Q7/WJ3vVozpp1I3iN+z5xbWojMwVXzdxzeRBME+DARqOjigHd0Y0ivOVexpx3enw
         e6Ct6u93Obl7wZUTPjcvo3GTrAFQCo46CycKa85vKqbGwka7ipz65tSPDR+N0SVzhXLt
         gunFpcyrAn5WgTi+h79wtWzYLIg9eMvOYF72TTpQP32LDEFUd7P1hvudyLbtoAZB+pES
         xB9c8/xoeSd+KHQ7znH+EL9K9cEYOWHvECLY6oI+QwzaotLADd95+N2/U0V+cfyccRRx
         3B2Q==
X-Gm-Message-State: AOJu0YwWFOI3cHnDskm6jLpLPTMZrk2eRNsoP00PNi1Ne1lD5cDSHQBD
	2IGQdrfRo9OTrLRrCc6E7p0MfW+/nNLQA1/BIhg=
X-Google-Smtp-Source: AGHT+IHbdpxJ+AmjNfWgQfGujzjIwEb0Gow5D7JZcUy/1NVU9zdBYuITzPSkDpQYO3E+NoPY/Px/EQ==
X-Received: by 2002:a05:600c:3b13:b0:40a:4c7e:6f37 with SMTP id m19-20020a05600c3b1300b0040a4c7e6f37mr4998025wms.20.1699887694357;
        Mon, 13 Nov 2023 07:01:34 -0800 (PST)
Date: Mon, 13 Nov 2023 15:01:33 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH] CI: Rework RISCV smoke test
Message-ID: <a12642cc-0b2a-42fe-9eff-a5a8642d3373@perard>
References: <20231109154922.49118-1-anthony.perard@citrix.com>
 <7bffd0ff-290f-461c-a0ce-35440b36240a@citrix.com>
 <alpine.DEB.2.22.394.2311091657150.3478774@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.2311091657150.3478774@ubuntu-linux-20-04-desktop>

On Thu, Nov 09, 2023 at 05:02:08PM -0800, Stefano Stabellini wrote:
> ### qemu_key.sh is using "expect", see below. I think we should be able
> ### to achieve the same by using expect to close on the expected string
> ### (instead of waiting for eof)

So, `expect` is just a different kind of language than shell is?
Also, `grep -q` doesn't wait for EOF, and just exit as soon as it found
the pattern.

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:13:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:13:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631652.985232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Ycd-0000fS-EN; Mon, 13 Nov 2023 15:13:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631652.985232; Mon, 13 Nov 2023 15: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 1r2Ycd-0000fL-B4; Mon, 13 Nov 2023 15:13:07 +0000
Received: by outflank-mailman (input) for mailman id 631652;
 Mon, 13 Nov 2023 15:13: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=ofAX=G2=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r2Ycc-0000fF-MB
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:13:06 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 24b4e86b-8237-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 16:13:04 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2c54c8934abso61828381fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:13:04 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 l24-20020a2e99d8000000b002bcbae4c21fsm1011378ljj.50.2023.11.13.07.13.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 07:13:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 24b4e86b-8237-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699888384; x=1700493184; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=EIIxNRtz1qm9x1ub3vaHJS3QbS43xwcBjN83JwwhX0w=;
        b=Hxo3HhStFlwu/m45R2biIYDGEsD1q9YKZKNAYHY1cUHaenNtOK88ZrOqjvRzceteev
         iv/I+Qa+qaUl85JwarzlkQHlhaLqI+a+NbYp7ACbj/upZig7t4n3NVT5FKhoCcvh5eCZ
         p4QikW1WBxr9BbxIea0n+Uu6BOw6G0Xo1J4bo9LfHq+x5a/HFyk+Zy5nAVLa7yYn39Z8
         psaRJC2XcBubAQnCpZx6Tu5Zi2M1+Kb5usMoqrYKa4pALkd94GABDgAGwPqrImfBJqKG
         N7hFq8oTiv766cHKcOJcG6YADTNgW3MJA26xTgZW/Q2byxHU5Lpxcxm1n0ER2clCGGxI
         OyLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888384; x=1700493184;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=EIIxNRtz1qm9x1ub3vaHJS3QbS43xwcBjN83JwwhX0w=;
        b=htq4Sbuy19g//TBF50vOOzsvvoiBrskyoZ+bNS2FSCe5ZbEHLdwlFAxprq9AGlHgGA
         cdFSUDy4nLP5TDJOkRNQ/mQG4WQyFIY+rbrh8Nespfql7Gd+qBvAxB5D2/x66HbL75pu
         yuPr2CIBoRsxKt1kDqo4+T0zObr4opYVTmqSRu1Y5REVZJgmuNEa0hVSVOerznBZ9Nig
         WKEb0PFADmNfOVrL0m0lUNkaIhG9YmZWAi2QPz2Txdprzfqhu0KNL1LJJcVcVv4qYGsF
         PoV+KM9iiz5MjHNUntKZJO5qDfJPMB7LHRMAnAM8T0uTUnRxpdBDUENkW1NYqJQ3NZXA
         TK+w==
X-Gm-Message-State: AOJu0YwOefRgkV7J1cD4nUmtM3RoA4KyMq677we4P5BTERGYigm+Cy97
	l22ykKy2pWumkXmENiftDJ8=
X-Google-Smtp-Source: AGHT+IE/kUnf2bmTulkragWE6JT5hijyF9M/m1m4JBtvPFxySrxdjOlZAP1Y67D2t9TpaeerGYHE/w==
X-Received: by 2002:a2e:91c8:0:b0:2c7:1ae6:e6ac with SMTP id u8-20020a2e91c8000000b002c71ae6e6acmr4991890ljg.6.1699888383913;
        Mon, 13 Nov 2023 07:13:03 -0800 (PST)
Message-ID: <0573d8847caa9f28c8f69ebec0bacf325dd8c521.camel@gmail.com>
Subject: Re: [PATCH v2 03/15] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
From: Oleksii <oleksii.kurochko@gmail.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
Date: Mon, 13 Nov 2023 17:13:02 +0200
In-Reply-To: <b4ae921b-b2c0-5eff-bf81-ab97a909b562@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <cd1341ae337fc9a1619d747b3db1a7a5cd6ad2fb.1699633310.git.oleksii.kurochko@gmail.com>
	 <928557f8d62941a2524fc67b7067a777e2180db2.camel@gmail.com>
	 <4421cbf44ea8b434c68a7ed218d007d049c08e6d.camel@gmail.com>
	 <b4ae921b-b2c0-5eff-bf81-ab97a909b562@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-11-13 at 14:29 +0100, Jan Beulich wrote:
> On 13.11.2023 14:13, Oleksii wrote:
> > On Sat, 2023-11-11 at 12:25 +0200, Oleksii wrote:
> > > I missed to check the patch properly.
> > >=20
> > > The patch fails for Arm randconfigs:
> > > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/106886567=
4
> > >=20
> > > I need to do an additional investigation.
> > So the only one macro cause compile issue if move it to
> > xen/grant_table.h compilation will pass:
> >=20
> > --- a/xen/include/xen/grant_table.h
> > +++ b/xen/include/xen/grant_table.h
> > @@ -23,10 +23,14 @@
> > =C2=A0#ifndef __XEN_GRANT_TABLE_H__
> > =C2=A0#define __XEN_GRANT_TABLE_H__
> > =C2=A0
> > +#include <xen/kernel.h>
> > =C2=A0#include <xen/mm-frame.h>
> > =C2=A0#include <xen/rwlock.h>
> > =C2=A0#include <public/grant_table.h>
> > +
> > +#ifdef CONFIG_GRANT_TABLE
> > =C2=A0#include <asm/grant_table.h>
> > +#endif
> > =C2=A0
> > =C2=A0struct grant_table;
> > =C2=A0
> > @@ -112,6 +116,16 @@ static inline int gnttab_acquire_resource(
> > =C2=A0=C2=A0=C2=A0=C2=A0 return -EINVAL;
> > =C2=A0}
> > =C2=A0
> > +/*
> > + * The region used by Xen on the memory will never be mapped in
> > DOM0
> > + * memory layout. Therefore it can be used for the grant table.
> > + *
> > + * Only use the text section as it's always present and will
> > contain
> > + * enough space for a large grant table
> > + */
> > +#define
> > gnttab_dom0_frames()=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=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=20
> > \
> > +=C2=A0=C2=A0=C2=A0 min_t(unsigned int, opt_max_grant_frames, PFN_DOWN(=
_etext -
> > _stext))
> > +
> > =C2=A0#endif /* CONFIG_GRANT_TABLE */
> > =C2=A0
> > =C2=A0#endif /* __XEN_GRANT_TABLE_H__ */
> >=20
> >=20
> > But gnttab_dom0_frames() is used only for ARM, so probably moving
> > it to
> > <xen/grant_table.h> is not a good idea.
>=20
> Indeed. But wouldn't dealing with this again be a matter of having
> Arm's domain_build.c simply include asm/grant_table.h explicitly, if
> need
> be alongside xen/grant_table.h?
It can be a solution. Then I'll send a separate patch.

Thanks.

~ Oleksii




From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:15:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:15:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631654.985241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Yf0-0001Nb-QQ; Mon, 13 Nov 2023 15:15:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631654.985241; Mon, 13 Nov 2023 15: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 1r2Yf0-0001NU-Nx; Mon, 13 Nov 2023 15:15:34 +0000
Received: by outflank-mailman (input) for mailman id 631654;
 Mon, 13 Nov 2023 15: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=xOTm=G2=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r2Yez-0001M7-Hf
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:15:33 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 7c643e2b-8237-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:15:32 +0100 (CET)
Received: from mg.gitlab.com (26.226.74.34.bc.googleusercontent.com
 [34.74.226.26]) by
 20c8e571e84d with SMTP id 65523d9149f7c36df559d702 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 13 Nov 2023 15:15:29 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 7c643e2b-8237-11ee-98da-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699888529; x=1699895729; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=XGE7Sy+7xleavBRtJFfVhIjUEZ/hDqweAyNPIJFPb0U=;
 b=asrPr4KyL7dky4LnPLPUpBTIZSk+HM+24+QwsgCASv0fk7Fn7AYTewxot6LgnuP+Gxv6G+wva13Fgk9kWb3EMlYx6EMqTDJzMr4LpB+4F8A+TVUnkgxuH9ybylJFm9fQOpCrM5mzbZcJWxlCFsrlVzUX/pU5SrQaH03ZulVpXXg=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Mon, 13 Nov 2023 15:15:29 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65523d919afaa_2c9abb41592e8@gitlab-sidekiq-catchall-v2-6fc5864469-qrwgt.mail>
Subject: xen | Successful pipeline for staging | 162a1589
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65523d91928f4_2c9abb415918f";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1070357357
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65523d91928f4_2c9abb415918f
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1070357357 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 162a1589 ( https://gitlab.com/xen-project/xen/-/commit/162a1589e362ec47671b69a05464048360df5002 )
Commit Message: xen/set_{c,p}x_pminfo: address violations od MI...
Commit Author: Federico Serafini
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1070357357 ( https://gitlab.com/xen-project/xen/-/pipelines/1070357357 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65523d91928f4_2c9abb415918f
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 162a1589</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1070357357 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/162a1589e362ec4767=
1b69a05464048360df5002" style=3D"color: #3777b0; text-decoration: none;">=
162a1589</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/set_{c,p}x_pminfo: address violations od MI...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/7347c1427cde55f447d83dc392bce562?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Federico Serafini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107035=
7357" style=3D"color: #3777b0; text-decoration: none;">#1070357357</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65523d91928f4_2c9abb415918f--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:16:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:16:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631675.985253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YfZ-0001z5-7q; Mon, 13 Nov 2023 15:16:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631675.985253; Mon, 13 Nov 2023 15: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 1r2YfZ-0001yy-3P; Mon, 13 Nov 2023 15:16:09 +0000
Received: by outflank-mailman (input) for mailman id 631675;
 Mon, 13 Nov 2023 15:16: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=QLDR=G2=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r2YfX-0001gb-Ew
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:16:07 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f489b69-8237-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 16:16:03 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-32fdc5be26dso2771038f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:16:03 -0800 (PST)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f14-20020a056000128e00b003313069be5dsm5624334wrx.46.2023.11.13.07.16.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 07:16:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f489b69-8237-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699888563; x=1700493363; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=9MmDkhPYBRMjt8mnQHxCz06R53YhTBbwfJINJtK0Zk0=;
        b=ITW7BCsYQNqHSbgD0iapNdd5cMG0uYaWo8+5Ls+bXJ73oMa2fUzAYA5G+1aUMdeYw3
         X20DG/SfKY9yF7PCPbHYuqlaFSzGsrnrqmATbIZI0OeY6trP6DsLECHB+3Fu3zCTUaG4
         gUrp1btLyO7pq7hUnty35xrpDplBnWKLsPG9Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888563; x=1700493363;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9MmDkhPYBRMjt8mnQHxCz06R53YhTBbwfJINJtK0Zk0=;
        b=o2km3BZstqR38qG/bvEyE/er8D3rFWwtbK99ykV2PwC2SX5KGaemCMMZcwsMeHz+/t
         8SjmxWS1FHxQySWNrlmziUk6Z0rUb+8hvuCHATB8XD2519V/lqAFpo+WWppJGe4ZNMht
         xCFffNEWeZ5BJGIz6nbLenGjRpxIJ7sxoYxRB1K7VX49mW/p7YxOyMKwGZtjgYpWgix5
         m/1zjFm3EhxyjVVqtNJdwn1Ya3NAbv+cWggJ9yTENiv0bfSTjIq35cveOLPD6wEBVr76
         tvBKqtNYWpTFdCNoLh9CFWcObK+yWMsYkP3erD+HHiwFSaAMZS3GxBvCoNFZypEY5RFf
         izyw==
X-Gm-Message-State: AOJu0YxgpfJiEYyXZQH9XmRlods6YCoCGkG7N6bWHZpAZBo5PlFiQaLH
	aOuCXxEv2IdbL64T5mVF/79h6Q==
X-Google-Smtp-Source: AGHT+IGeTRNnkAGtJOKk+N0KYk2TI/qyzGgAiNsBwzUry3nZya06KtOuECGJ13SzljIJ2I++NFcBZw==
X-Received: by 2002:adf:e6d1:0:b0:32d:a221:446 with SMTP id y17-20020adfe6d1000000b0032da2210446mr5590958wrm.59.1699888562998;
        Mon, 13 Nov 2023 07:16:02 -0800 (PST)
Date: Mon, 13 Nov 2023 15:16:02 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] CI: Rework RISCV smoke test
Message-ID: <ebb51a9b-2397-4105-ad20-4cede5872f48@perard>
References: <20231109154922.49118-1-anthony.perard@citrix.com>
 <7bffd0ff-290f-461c-a0ce-35440b36240a@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <7bffd0ff-290f-461c-a0ce-35440b36240a@citrix.com>

On Thu, Nov 09, 2023 at 04:52:36PM +0000, Andrew Cooper wrote:
> On 09/11/2023 3:49 pm, Anthony PERARD wrote:
> > Currently, the test rely on QEMU and Xen finishing the boot in under
> > two seconds. That's both very long and very short. Xen usually managed
> > to print "All set up" under a second. Unless for some reason we try to
> > run the test on a machine that's busy doing something else.
> >
> > Rework the test to exit as soon as Xen is done.
> >
> > There's two `tail -f`, the first one is there simply to monitor test
> > progress in GitLab console. The second one is used to detect the test
> > result as soon as QEMU add it to the file. Both `tail` exit as soon as
> > QEMU exit.
> >
> > If QEMU fails at start, and exit early, both `tail` will simply exit,
> > resulting in a failure.
> >
> > If the line we are looking for is never printed, the `timeout` on the
> > second `tail` will force the test to exit with an error.
> >
> > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> 
> Looks plausible, but all these qemu-smoke scripts are pretty similar,
> and copied from one-another.
> 
> We should make this change consistently to all testing (there's nothing
> RISC-V specific about why this test is failing on this runner), and it
> would be really nice if we could try to make it a bit more common than
> it currently is.

Yes, it would be nice if a change to a qemu-smoke script was applied to
every other one. But making those scripts more generic is a lot more
works, which would be useful to apply a change once for all.

The problem I'm trying to resolve only appear with this script, because
of a timeout been too short, a solution could just be to increase the
timeout (or not allowing runners to do more than one thing at a time).

BTW, the last time I've been told to apply a change to other things, I
never managed to finish it and the change wasn't applied at all (would
have result in some containers been smaller).

I guess will see if anyone complain about the test randomly failing. :-)

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:21:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:21:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631690.985271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YkZ-0005xj-V8; Mon, 13 Nov 2023 15:21:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631690.985271; Mon, 13 Nov 2023 15:21: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 1r2YkZ-0005xc-SD; Mon, 13 Nov 2023 15:21:19 +0000
Received: by outflank-mailman (input) for mailman id 631690;
 Mon, 13 Nov 2023 15:21: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2YkY-0005il-UI
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:21:18 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ac07ae4-8238-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:21:18 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5440f25dcc7so6996530a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:21:18 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 o9-20020a1709062e8900b00985ed2f1584sm4168622eji.187.2023.11.13.07.21.15
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:21:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ac07ae4-8238-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888877; x=1700493677; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=wYPq4PnrkT6VT7CGpVPJFK/tNxRA7Q2Z3pzO9BbyyC0=;
        b=uTCaWPd5GCzF6yGh3AdHcfJwS7kJkIWH1/FXEp8Xoq/ytjTz5APHvKFEga9MN22g2D
         43V2HgcBjsa7xx25ZvkRoVu/MWzAoV0Bgc8tbn53de+6055mbYtR9l9wIXRaCnbpPigB
         ks0tSJyj1Yxerg3kJTnPDrHrOz1YXirE+zkJdcKwQ4oK1A0roOe9+93eUrgB12jt3HNn
         SgsIvFmHzTCX2CU5mN7os6Bfhq/0spxUINUFd0LkZ67IEVL5QQTuHoVGPwnt1JGC4S7d
         gpvB7HIvbd8Yk1fBE4Yu9nd2OK/XMKnqiIcSYXYhMFA7miYgJAv0wTJg3jFlrZwf15NW
         pYFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888877; x=1700493677;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=wYPq4PnrkT6VT7CGpVPJFK/tNxRA7Q2Z3pzO9BbyyC0=;
        b=Y27YMd7DZ83BqMjn/JmqJ/vqi87eBOtFuzNMzM5+WVr8swjlRVQ1jq2j7SuoTpbrP1
         W3U2yahqd9iHJxho1OJfUTGVMH5waF127MwTBcPH3DNAaw4bExfHGtQ86ftG6VIlVMG5
         /2KxfNj+McozfikJLEvmCIHou3G1CZ49nf6kUVLRMcjhPZRD8iYmNS8O2rab5sj0PdVV
         R9kt/YzWaBD67OevkT2FO7rlRug3Ht9WjEymMVYa014aczd4T0mBQ3e8+3TvWmGcxxNh
         cCcF3qnh6vEkysJnIHA3+dRJl9nJmmwNXJl2hmBFwhR8bVmSTxetHAD24JQiVtaJCwNp
         ILIQ==
X-Gm-Message-State: AOJu0YxdPGGVrCaL9ldA90xXXxly6uAxQ3FdmptXBMb0VzdCoUvn3Urz
	c8h2PrdyQSXtvwYKRhtNdUDGzw==
X-Google-Smtp-Source: AGHT+IF3A9n9kAcrQZnsw9wrjTnx3rsvapxiH3ZCQBhhtTiOatMf4sVc2qaWUo7af2ThaKbG2fzFSA==
X-Received: by 2002:a17:906:410e:b0:9bf:b022:dc7 with SMTP id j14-20020a170906410e00b009bfb0220dc7mr5409271ejk.48.1699888877542;
        Mon, 13 Nov 2023 07:21:17 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 00/10] hw/xen: Have most of Xen files become target-agnostic
Date: Mon, 13 Nov 2023 16:21:03 +0100
Message-ID: <20231113152114.47916-1-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Hi,

After discussing with Alex Bennée I realized most Xen code
should be target-agnostic. David Woodhouse confirmed that
last week, so I had a quick look and here is the result.

More work is required to be able to instanciate Xen HW in
an heterogeneous machine, but this doesn't make sense yet
until we can run multiple accelerators concurrently.

Only build-tested.

Regards,

Phil.

Philippe Mathieu-Daudé (10):
  sysemu/xen: Forbid using Xen headers in user emulation
  hw/xen/xen_arch_hvm: Rename prototypes using 'xen_arch_' prefix
  hw/xen: Merge 'hw/xen/arch_hvm.h' in 'hw/xen/xen-hvm-common.h'
  hw/xen: Factor xen_arch_align_ioreq_data() out of handle_ioreq()
  hw/xen: Use target-agnostic qemu_target_page_bits()
  hw/xen: Reduce inclusion of 'cpu.h' to target-specific sources
  sysemu/xen-mapcache: Check Xen availability with
    CONFIG_XEN_IS_POSSIBLE
  system/physmem: Only include 'hw/xen/xen.h' when Xen is available
  hw/xen: Extract 'xen_igd.h' from 'xen_pt.h'
  hw/xen: Have most of Xen files become target-agnostic

 hw/xen/xen_pt.h                 | 14 --------------
 include/hw/arm/xen_arch_hvm.h   |  9 ---------
 include/hw/i386/xen_arch_hvm.h  | 11 -----------
 include/hw/xen/arch_hvm.h       |  5 -----
 include/hw/xen/xen-hvm-common.h |  8 +++++++-
 include/hw/xen/xen_igd.h        | 23 +++++++++++++++++++++++
 include/sysemu/xen-mapcache.h   |  3 ++-
 include/sysemu/xen.h            |  8 ++++----
 accel/xen/xen-all.c             |  1 +
 hw/arm/xen_arm.c                | 14 +++++++++++---
 hw/i386/pc_piix.c               |  1 +
 hw/i386/xen/xen-hvm.c           | 16 ++++++++++++----
 hw/xen/xen-hvm-common.c         | 16 +++++++---------
 hw/xen/xen_pt.c                 |  3 ++-
 hw/xen/xen_pt_config_init.c     |  3 ++-
 hw/xen/xen_pt_graphics.c        |  3 ++-
 hw/xen/xen_pt_stub.c            |  2 +-
 system/physmem.c                |  5 ++++-
 accel/xen/meson.build           |  2 +-
 hw/block/dataplane/meson.build  |  2 +-
 hw/xen/meson.build              | 13 ++++---------
 21 files changed, 85 insertions(+), 77 deletions(-)
 delete mode 100644 include/hw/arm/xen_arch_hvm.h
 delete mode 100644 include/hw/i386/xen_arch_hvm.h
 delete mode 100644 include/hw/xen/arch_hvm.h
 create mode 100644 include/hw/xen/xen_igd.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:21:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:21:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631689.985261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YkY-0005iy-OB; Mon, 13 Nov 2023 15:21:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631689.985261; Mon, 13 Nov 2023 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 1r2YkY-0005ir-LM; Mon, 13 Nov 2023 15:21:18 +0000
Received: by outflank-mailman (input) for mailman id 631689;
 Mon, 13 Nov 2023 15:21: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=EUjx=G2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r2YkX-0005il-22
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:21:17 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 472ebba0-8238-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:21:12 +0100 (CET)
Received: from DUZPR01CA0165.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b3::6) by AS8PR08MB6567.eurprd08.prod.outlook.com
 (2603:10a6:20b:318::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 15:21:08 +0000
Received: from DU6PEPF0000B61D.eurprd02.prod.outlook.com
 (2603:10a6:10:4b3:cafe::98) by DUZPR01CA0165.outlook.office365.com
 (2603:10a6:10:4b3::6) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.26 via Frontend
 Transport; Mon, 13 Nov 2023 15:21:08 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000B61D.mail.protection.outlook.com (10.167.8.137) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.14 via Frontend Transport; Mon, 13 Nov 2023 15:21:08 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Mon, 13 Nov 2023 15:21:07 +0000
Received: from 50741a1a0188.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C33DAEEB-F183-421E-8D91-CAE35F2DBF66.1; 
 Mon, 13 Nov 2023 15:20:56 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 50741a1a0188.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 13 Nov 2023 15:20:56 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com (2603:10a6:208:ff::27)
 by AS2PR08MB10226.eurprd08.prod.outlook.com (2603:10a6:20b:62f::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 15:20:53 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e]) by AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e%3]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023
 15:20: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: 472ebba0-8238-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=M8MbWkqCozhrPjGnLQSum6vvafaRqZIUerobW+il+wezpl1Vey76EPar1va8NxflWzaGCQkGxgmzYrRhmHhyweylOHwmTxiEPipoVgFR3MhApCqcaq8x8CsJj2Mrpdxk7dCR+ADEXg5d3HPPHsfrNCwxpjo9bI54DCtF3jf5VvYezx0L8FLpuh3PelCXrLW6P8ob6CW0x2jUDap/CDNnEkr+JyBhl4wQZvyRLq8n6oBm3TzTn6PGM72uuoNRC+e/7Xn4CHrsuqfYTrZbcZC4UpItcnVfXmyOmYdgqhV/YBaO1oMG82RSStWOWkkEHPSq9qMTpPvHPtcOXLyM6ymKMQ==
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=Z6I83BIHWLG7ukuBbIlY6vEQOV9lrGVifcZKKQH3w9I=;
 b=IGmKHtMsJT09FBtP8Gya0cmg6yjm8Pnk+71JF9mcY/MIul9otK/O4j1ecDW2llBzlQK3wZBlwG+tYf94FYcCjlcoBUGIJYGRSUGUse1kvm9iuN32HHYRufH+SZcoVldnVZMsBAjaBdh1k7HaMNkP+YVG5LRGvxEoNhvFM8iH4VGXLdO3LWeO5b6lqfUA3wWqjtSYFIH2maHRUDO+KdQ6ju4maiFT2JgpplOBNh2D9SAf0rZ0yPbaJYQo5mLkrGNrGmYYNY7qpKYoKLE4rnmSYgaAWSXnRZ1HozfJzaTwJzZ5w6j5AcPgH7AlVawF9mOwM2SEkr8DWrUsScbZB0CTRQ==
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=Z6I83BIHWLG7ukuBbIlY6vEQOV9lrGVifcZKKQH3w9I=;
 b=JRoveuMrykmZ/WgTzqETURdVkXKIOqns/IBkd1MTulmc+TGFlsGVgkZ8M6PhyL6SmUKtxskyzd1MVJkvuhfAWGQBSs5X2PkIrFkT60NU+tBdlDUL+FtQ6dT723vnqpq0lO2c0atFkS34yk/00CkbcZOKp7o3Z1mhpkn+ckGb5aw=
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: 06a415a9a3c099fc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b+GJ/1ggJk1L3wza08LpAIlz0JAOEptAkopkajm/wRjmb8BNkzut/MIboxJ0UKiYm8tYautp6ZH1wP+xBmCA36BcTjouBxQmpWgFXtWAedHQq1/3RF1nhHoqMp8bprzle7+k8/xwruJkae39j+NDUTcE/sre8DHURII4BdREg0x6IfFXmwYzPbhy78owtDByuk6+YOPOSvrFu8Siq/5YUBJV8jTRFILfLkRAHNfi61H8NUVqqH1MMNLp86H2exlFeTIoAYNWRQP58Cdw3UbCNYiEXoZPsUlO4Lrqphkk+AG4cWM7vpZL1Q7bjgXmnyjf9KoI8J9Ugbl/THYGn6sOwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z6I83BIHWLG7ukuBbIlY6vEQOV9lrGVifcZKKQH3w9I=;
 b=SzgIIe46gI+XzP7u7kOT5pnHhGD5AVY0KATxpwPFoO96ErRbfrAos7BkkFCb+lgTXqoBHkQx5izLxLR3gUOwjvzDTduiouHprktJHzJJwAKY2k+51Z1Q/E/uiyy7jouURLHREvPIn8dCX9sQ2bLeGOFm8PuoyXb1uJuPc0ZbV4E1xAENxwLdE8U/DJEIDx9SB1Mj2lfotHLhZwGDwZXLjMPqDEf9cyrRyj7BKNPWGEsjTznwbYJ+3+lg5ZRdDNdr+scPtPClgUS/v5J9+CC4Z6n/OYYQ5J3SFPw9qIx9YvN7ppjcCEWK7NLyoNLkTem5XM3cQjBi8COmR+rb+ps2Yw==
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=Z6I83BIHWLG7ukuBbIlY6vEQOV9lrGVifcZKKQH3w9I=;
 b=JRoveuMrykmZ/WgTzqETURdVkXKIOqns/IBkd1MTulmc+TGFlsGVgkZ8M6PhyL6SmUKtxskyzd1MVJkvuhfAWGQBSs5X2PkIrFkT60NU+tBdlDUL+FtQ6dT723vnqpq0lO2c0atFkS34yk/00CkbcZOKp7o3Z1mhpkn+ckGb5aw=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Clang-format configuration discussion - pt 1
Thread-Topic: Clang-format configuration discussion - pt 1
Thread-Index: AQHaEild8psuTSSrb0SmQq+9AXKRR7B4JX+AgABAHYA=
Date: Mon, 13 Nov 2023 15:20:53 +0000
Message-ID: <7235E3F4-8387-49D7-A3B6-0EA93CAE408B@arm.com>
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
 <930d7aa7-7573-97d2-e146-ebe68214c0aa@suse.com>
In-Reply-To: <930d7aa7-7573-97d2-e146-ebe68214c0aa@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM0PR08MB3745:EE_|AS2PR08MB10226:EE_|DU6PEPF0000B61D:EE_|AS8PR08MB6567:EE_
X-MS-Office365-Filtering-Correlation-Id: a11ec8f5-8cd1-471d-3cc5-08dbe45c2936
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:
 Kcnbl7j6Nq6CDeCn7iiq5d+rs5Go1K72xBb+TMJAOQWfxq+t64x3uZtbmYKxB43c1eGL+ATXvHPWZZ6eq1cwW4Wc+MhjFbMu8LXM/3cICds18BnU8ehit7v8uu6OpC22aZd0U3+rO8DY+X/3B78gqlOfsJ/2BmkEiOXzoiGy3wYkdu2YCaoTmGpt2ugcPEdKC+m65i4cmhUPzSimsaMkPbUyRb4I53UQXyqnnE1mkDMSTjejatjXithBlZ6UJ+XwmeYUoEohF4adZw5h5k0T6Jft6xFctKVBWJQTsBL3SlCddwX1X/b4YLl10Him4mEQKz56WD95eTICQ5b8bc3uVcJNR4YCeypYnH1rqpo9OhroEbO9BjYFfSEllbZA6F2/cTAR0HcHvqJPnMkj6EZGa0nWeM1HEAc6PRDKEa9Q3lUtitlbTy1w4U129KPbS17j9Tp2jIhXDs+IgE3DA3uZ70axx5u0BR+KlpNX1WG0pbql/1sCPgZ0pE1eAQHhpkf6RdSMa6mBzapObvbWM/OMIUTEj+A6GBpl+VettJILRedgvY/vStrBI4CS5lP670XD0/pa8TwTLtI/pdkGSV6lrtNDyy3dCpllaPPU29/JGkZxbP7umdqlbwTtY9c0I9qqGBfWO5RIQEpGEv3JDzCN3w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB3745.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(39860400002)(346002)(136003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(26005)(53546011)(6506007)(71200400001)(2616005)(6512007)(5660300002)(4326008)(8676002)(8936002)(41300700001)(2906002)(6486002)(478600001)(6916009)(91956017)(66476007)(66446008)(54906003)(64756008)(66556008)(66946007)(76116006)(122000001)(36756003)(86362001)(316002)(33656002)(38100700002)(38070700009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <A723D13E93FDCE45B532A4BA86FA8B78@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10226
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:
 DU6PEPF0000B61D.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	42e87ad5-e2e1-4326-278c-08dbe45c208e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GXYLbgb1iXutsOXbbV4Ne6tGJZjSFtDLx1reHrTnnJ3F3e7KCSgXWYQt7ONOfJDuoCwF0WwOQ7YXLdLop225pOMY7qopJwuwdeOO6cRD7WJCCXWCGdLzxrTaS6TqV9QdB5Wj85qMzMZX5vBz0p03Sx/XJTKa0AYhpSeCdvkOejOP33CQkvjDXyoHT06gtN6nVk7brSNQN/zITeHZF4wvUih4bUy3rrF4FzdbyBJet1f5ObmxZujwk/6xczkGYtrjp2nApBaS1sq5wQxBU6HqNpS9FcFCnGEtm5nEIQwW6YeWM8/tnpIdckRWAxTTnwOrFPiBu2+ib+zoMkH2wncBvqPSHMiY+zlixjsWuuMwKHn8GP3jmMDPb3q5vEKwgqBg9xUKKwIaWD2xteh2nQACX8x2KA4PzfRMbteqC4pAVmh/JSMEajkY6b/d8u4BajR5663j9SLnggu5k82Lr8GvYWn2IDdSgky9DC/p6CQiAHlHvlfle3+ncBZnOZQ7cokSGQWDQ5Y3W5uSXoEeU48TmlbfrrwLEpn0zM6o5FaTJuFPCB5tyYM1EJl6QiUHz2hp2cUz3A2z5O0Nklzb6RFMH+/imaL5qjycPw+GIp0QGqgKqb2nOtlL5m+f2r1sH3RiyGoPNF66uDdmp60vWgwDVLsAZ3bOSvoXgD3qNgdgFsXXizxzO0JgM2dJrR/SAuJLPsY8FUWsHi4wH9tEeptQbHtsu+pEJXhjsz3tmSF6bEuXf6ynuGfBLed247DGkSex
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:(13230031)(4636009)(136003)(39860400002)(396003)(346002)(376002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(82310400011)(46966006)(36840700001)(40470700004)(36860700001)(2906002)(40460700003)(2616005)(5660300002)(86362001)(41300700001)(47076005)(33656002)(336012)(26005)(82740400003)(54906003)(70586007)(6512007)(70206006)(316002)(36756003)(81166007)(478600001)(6486002)(53546011)(356005)(6506007)(8676002)(6862004)(4326008)(40480700001)(8936002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 15:21:08.2601
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a11ec8f5-8cd1-471d-3cc5-08dbe45c2936
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:
	DU6PEPF0000B61D.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6567

DQoNCj4gT24gMTMgTm92IDIwMjMsIGF0IDExOjMxLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMDguMTEuMjAyMyAxMDo1MywgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+
IA0KPj4gU3RhbmRhcmQ6IEMrKzAzDQo+PiANCj4+IC0tLQ0KPj4gRnJvbSB0aGUgZG9jdW1lbnRh
dGlvbjogUGFyc2UgYW5kIGZvcm1hdCBDKysgY29uc3RydWN0cyBjb21wYXRpYmxlIHdpdGggdGhp
cyBzdGFuZGFyZC4NCj4gDQo+IFNpbmNlIEkgY29udGludWUgdG8gYmUgcHV6emxlZCAtIGlpcmMg
eW91IHNhaWQgdGhpcyBpcyBiZWNhdXNlIG9mIGxhY2sNCj4gb2YgYXZhaWxhYmlsaXR5IG9mICJD
OTkiIGFzIGEgdmFsdWUgaGVyZS4gV2hhdCdzIGVudGlyZWx5IHVuY2xlYXIgdG8NCj4gbWUgaXM6
IEhvdyBkb2VzIHRoaXMgbWF0dGVyIHRvIGEgdG9vbCBjaGVja2luZyBjb2Rpbmcgc3R5bGUgKHdo
aWNoIGlzDQo+IGxhcmdlbHkgYWJvdXQgZm9ybWF0dGluZywgbm90IGFueSBsZXhpY2FsIG9yIHN5
bnRhY3RpY2FsIGFzcGVjdHMpPw0KPiANCj4+IFRoaXMgdmFsdWUgaXMgdXNlZCBhbHNvIGluIExp
bnV4Lg0KPiANCj4gQ29uc2lkZXJpbmcgaG93IGRpZmZlcmVudCB0aGUgdHdvIHN0eWxlcyBhcmUs
IEkgZG9uJ3QgdGhpbmsgdGhpcyBpcw0KPiBvdmVybHkgcmVsZXZhbnQuDQoNCk9rLCBtYXliZSBJ
IHVuZGVyc3RhbmQgeW91ciBwb2ludCwgeW91IGFyZSBsb29raW5nIGZvciBhIHJlYXNvbiB0byBk
ZWNsYXJlIHRoaXMgY29uZmlndXJhYmxlIGluc3RlYWQNCm9mIG5vdCBzcGVjaWZ5aW5nIGl0IGF0
IGFsbD8NCg0KSWYgaXTigJlzIHRoYXQsIGZyb20gd2hhdCBJIHVuZGVyc3RhbmQgY2xhbmctZm9y
bWF0IHdpbGwgdXNlIHRoZSBkZWZhdWx0IHZhbHVlIGlmIHdlIGRvbuKAmXQgc3BlY2lmeSBhbnl0
aGluZw0KZm9yIHRoaXMgb25lLCBzbyBpdCB3aWxsIHRha2Ug4oCYTGF0ZXN04oCZLiBJIHRoaW5r
IHdlIHNob3VsZCBwdXQgYSB2YWx1ZSBmb3IgdGhpcyBvbmUgdG8gZml4IGl0IGFuZCBkb27igJl0
IGhhdmUNCnN1cnByaXNlcyBpZiB0aGF0IGJlaGF2aW91ciBjaGFuZ2VzIGFuZCBzZWVpbmcgdGhh
dCBhbHNvIGluIExpbnV4IHRoYXQgdmFsdWUgaXMgZml4ZWQgaW5jcmVhc2VkIG15DQpjb25maWRl
bmNlLg0KDQpIb3dldmVyLCBpZiB5b3UgZmVlbCB0aGF0IHdlIHNob3VsZCBub3Qgc3BlY2lmeSBp
dCwgSeKAmXZlIGRvbmUgYSB0ZXN0IGFuZCBub3Qgc3BlY2lmeWluZyBpdCBpcyBub3QgY2hhbmdp
bmcNCnRoZSBjdXJyZW50IG91dHB1dC4gSSBjYW7igJl0IHNheSB0aGF0IGZvciBhIGRpZmZlcmVu
dCBjbGFuZy1mb3JtYXQgdmVyc2lvbiB0aG91Z2ggb3IgaWYgY2hhbmdlcyBoYXBwZW4gaW4gdGhl
DQpmdXR1cmUuDQoNCg0KPiANCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCj4+IA0KPj4gQXR0cmlidXRlTWFjcm9zOg0KPj4gIC0gJ19faW5pdCcNCj4+ICAt
ICdfX2V4aXQnDQo+PiAgLSAnX19pbml0ZGF0YScNCj4+ICAtICdfX2luaXRjb25zdCcNCj4+ICAt
ICdfX2luaXRjb25zdHJlbCcNCj4+ICAtICdfX2luaXRkYXRhX2NmX2Nsb2JiZXInDQo+PiAgLSAn
X19pbml0Y29uc3RfY2ZfY2xvYmJlcicNCj4+ICAtICdfX2h3ZG9tX2luaXQnDQo+PiAgLSAnX19o
d2RvbV9pbml0ZGF0YScNCj4+ICAtICdfX21heWJlX3VudXNlZCcNCj4+ICAtICdfX3BhY2tlZCcN
Cj4+ICAtICdfX3N0ZGNhbGwnDQo+PiAgLSAnX192ZnBfYWxpZ25lZCcNCj4+ICAtICdfX2FsdF9j
YWxsX21heWJlX2luaXRkYXRhJw0KPj4gIC0gJ19fY2FjaGVsaW5lX2FsaWduZWQnDQo+PiAgLSAn
X19yb19hZnRlcl9pbml0Jw0KPj4gIC0gJ2Fsd2F5c19pbmxpbmUnDQo+PiAgLSAnbm9pbmxpbmUn
DQo+PiAgLSAnbm9yZXR1cm4nDQo+PiAgLSAnX193ZWFrJw0KPj4gIC0gJ19faW5saW5lX18nDQo+
PiAgLSAnX19hdHRyaWJ1dGVfY29uc3RfXycNCj4+ICAtICdfX3RyYW5zcGFyZW50X18nDQo+PiAg
LSAnX191c2VkJw0KPj4gIC0gJ19fbXVzdF9jaGVjaycNCj4+ICAtICdfX2twcm9iZXMnDQo+PiAN
Cj4+IC0tLQ0KPj4gQSB2ZWN0b3Igb2Ygc3RyaW5ncyB0aGF0IHNob3VsZCBiZSBpbnRlcnByZXRl
ZCBhcyBhdHRyaWJ1dGVzL3F1YWxpZmllcnMgaW5zdGVhZCBvZiBpZGVudGlmaWVycy4NCj4+IEni
gJl2ZSB0cmllZCB0byBsaXN0IGFsbCB0aGUgYXR0cmlidXRlcyBJ4oCZdmUgZm91bmQuDQo+IA0K
PiBMaWtlIGFib3ZlLCB0aGUgc2lnbmlmaWNhbmNlIG9mIGhhdmluZyB0aGlzIGxpc3QgYW5kIG5l
ZWRpbmcgdG8ga2VlcCBpdA0KPiB1cC10by1kYXRlIGlzIHVuY2xlYXIgdG8gbWUuIEkgZ3Vlc3Mg
dGhlIHNhbWUgYWxzbyBhcHBsaWVzIHRvIGEgZmV3DQo+IGZ1cnRoZXIgc2V0dGluZ3MgZG93biBm
cm9tIGhlcmUuDQoNCkZyb20gd2hhdCBJIHVuZGVyc3RhbmQsIHdlIHNob3VsZCBnaXZlIHRvIHRo
ZSBmb3JtYXR0ZXIgdG9vbCBhbGwgdGhlIGhpbnQgcG9zc2libGUgdG8gbWFrZSBpdCBkbyBhIGdv
b2QNCmpvYiwgZm9yIGV4YW1wbGUgaGVyZSB3ZSBzaG91bGQgbWFpbnRhaW4gYSBsaXN0IG9mIG91
ciBhdHRyaWJ1dGVzIHNvIHRoYXQgY2xhbmctZm9ybWF0IGRvZXNu4oCZdCB0aGluayB0aGUgZnVu
Y3Rpb24NCmJlbG93IGlzIGNhbGxlZCBfX2luaXQgaW5zdGVhZCBvZiBkZXZpY2VfdHJlZV9ub2Rl
X21hdGNoZXMuDQoNCnN0YXRpYyBib29sIF9faW5pdCBkZXZpY2VfdHJlZV9ub2RlX21hdGNoZXMo
Y29uc3Qgdm9pZCAqZmR0LCBpbnQgbm9kZSwgY29uc3QgY2hhciAqbWF0Y2gpDQp7IC4uLiB9DQoN
Cj4gDQo+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+PiAN
Cj4+IFN0YXRlbWVudE1hY3JvczoNCj4+ICAtICdQUk9HUkVTUycNCj4+ICAtICdQUk9HUkVTU19W
Q1BVJw0KPj4gIC0gJ2JpdG9wJw0KPj4gIC0gJ2d1ZXN0X2JpdG9wJw0KPj4gIC0gJ3Rlc3RvcCcN
Cj4+ICAtICdndWVzdF90ZXN0b3AnDQo+PiAgLSAnREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUnDQo+
PiAgLSAnX19ERUZJTkVfWEVOX0dVRVNUX0hBTkRMRScNCj4+ICAtICdfX19ERUZJTkVfWEVOX0dV
RVNUX0hBTkRMRScNCj4+ICAtICdwcmVzbXBfaW5pdGNhbGwnDQo+PiAgLSAnX19pbml0Y2FsbCcN
Cj4+ICAtICdfX2V4aXRjYWxsJw0KPj4gDQo+PiAtLS0NCj4+IEEgdmVjdG9yIG9mIG1hY3JvcyB0
aGF0IHNob3VsZCBiZSBpbnRlcnByZXRlZCBhcyBjb21wbGV0ZSBzdGF0ZW1lbnRzLg0KPj4gVHlw
aWNhbCBtYWNyb3MgYXJlIGV4cHJlc3Npb25zLCBhbmQgcmVxdWlyZSBhIHNlbWktY29sb24gdG8g
YmUgYWRkZWQ7IHNvbWV0aW1lcyB0aGlzIGlzIG5vdCB0aGUgY2FzZSwgYW5kIHRoaXMgYWxsb3dz
DQo+PiB0byBtYWtlIGNsYW5nLWZvcm1hdCBhd2FyZSBvZiBzdWNoIGNhc2VzLg0KPj4gDQo+PiBX
aGlsZSBJIHdhcyB3cml0aW5nIHRoaXMsIEnigJl2ZSBmb3VuZCB0aGF0IGZyb20g4oCYREVGSU5F
X1hFTl9HVUVTVF9IQU5ETEXigJkgdW50aWwgdGhlIGVuZCBvZiB0aGUgbGlzdCwgcHJvYmFibHkg
SQ0KPj4gc2hvdWxkbuKAmXQgbGlzdCB0aGVzZSBlbnRyaWVzIGJlY2F1c2UgYWxsIG9mIHRoZW0g
ZW5kIHdpdGggc2VtaS1jb2xvbi4NCj4gDQo+IEFoLCBqdXN0IHdhbnRlZCB0byBhc2suIEkgYWdy
ZWUgdGhhdCB3ZSdkIGJldHRlciBoYXZlIGhlcmUgb25seSBpdGVtcw0KPiB3aGljaCB0cnVseSBy
ZXF1aXJlIGFuIGV4Y2VwdGlvbi4NCg0KWWVzIG15IG1pc3Rha2UsIEnigJlsbCBmaXggdGhlIGxp
c3QuDQoNCj4gDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:21:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:21:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631691.985282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Ykg-0006Ha-9g; Mon, 13 Nov 2023 15:21:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631691.985282; Mon, 13 Nov 2023 15:21: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 1r2Ykg-0006HR-6b; Mon, 13 Nov 2023 15:21:26 +0000
Received: by outflank-mailman (input) for mailman id 631691;
 Mon, 13 Nov 2023 15: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2Yke-0005il-Ty
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:21:24 +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 4e8d3b90-8238-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:21:24 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-9e62ab773f1so450000066b.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:21:24 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 dx15-20020a170906a84f00b009adcb6c0f0esm4204593ejb.193.2023.11.13.07.21.21
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:21:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e8d3b90-8238-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888884; x=1700493684; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R0n+efnCwqYZSgvX5xA6BN1n520F2bZNMKVl3gVhASA=;
        b=Fj6N6HceDCT5lmsTGLuL8jOKrWVDWDB/6msLjIH/8VMWntJ3ljGFdugMW/6Dop+kBm
         ReiY9Cn8iKzS4fK1Tq4TWBJ40HVwZuT/fuWtYyGPJwoebZqF5GDElNJ4nmV5Cgy4g+t9
         6pyjXIzRMNLgq9Hy9Zuqv3VyjDFK4ao3mA8j5RwtU5oG3iKKGG97E/i41mRjRr2Spx5A
         pxai4ZqCar5KXY/6cOOvS1FV1miFPUnDYN7WRrqWpZpQCO5LSGh0DcFcDKODgZ2kukmw
         v+hyGavTZwFSMVzEqDWhimIAYnMV02mWts0k3VWK9gnjFYL/wNtvTwLZ+Z1NCOekjlGI
         drhg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888884; x=1700493684;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=R0n+efnCwqYZSgvX5xA6BN1n520F2bZNMKVl3gVhASA=;
        b=rx+ijbGuRI7Nvu9y4T/l/rkTHb+86SFz7SRKNp6sxCuss5dutHYBHmk79weOM7Sra6
         qeIEZom8x6VJt8EUaNFRduhZDjgSkGI/FUIMizqfflQ9+Z5hW+mw7MZtxuHYl4koEHeD
         jX9FQPcj7YWOJfivwi0PjrPwB1LlE7k9eh/JoGIdlsqpmIjw4WQ+t0Nb3uscD/2s6zvQ
         OqIow2ur2HkJhnCj3QjC4IMwr2YixNiYA2oxVW2dGTNKOqTHItkZ63/zHMk2RIGASBkh
         LUgLp9EIaVWErbD60rThUbS6PWkGcrGDCO9v4pzcdd6eGLdqQrwzWAxwoc6eVC0vB+YT
         a17w==
X-Gm-Message-State: AOJu0YyN4HF8svXnd3f2KrjLcCdUKwQC/0R1kVil2x6Up7CtXgKARLbI
	YYIoNhXMF5h5MnmWfydeehZ2Gw==
X-Google-Smtp-Source: AGHT+IH6xxb8oSsdvX/Qxe7SX73ROr6di4a0tnTAF45WIy9EC8KmTSkElWDjJsGSvtz6GSstCFLdyw==
X-Received: by 2002:a17:906:4c84:b0:9cb:5a8a:b19d with SMTP id q4-20020a1709064c8400b009cb5a8ab19dmr4350360eju.5.1699888883852;
        Mon, 13 Nov 2023 07:21:23 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 01/10] sysemu/xen: Forbid using Xen headers in user emulation
Date: Mon, 13 Nov 2023 16:21:04 +0100
Message-ID: <20231113152114.47916-2-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Xen is a system specific accelerator, it makes no sense
to include its headers in user emulation.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/sysemu/xen.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/sysemu/xen.h b/include/sysemu/xen.h
index bc13ad5692..a9f591f26d 100644
--- a/include/sysemu/xen.h
+++ b/include/sysemu/xen.h
@@ -10,6 +10,10 @@
 #ifndef SYSEMU_XEN_H
 #define SYSEMU_XEN_H
 
+#ifdef CONFIG_USER_ONLY
+#error Cannot include sysemu/xen.h from user emulation
+#endif
+
 #include "exec/cpu-common.h"
 
 #ifdef NEED_CPU_H
@@ -26,16 +30,13 @@ extern bool xen_allowed;
 
 #define xen_enabled()           (xen_allowed)
 
-#ifndef CONFIG_USER_ONLY
 void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
                    struct MemoryRegion *mr, Error **errp);
-#endif
 
 #else /* !CONFIG_XEN_IS_POSSIBLE */
 
 #define xen_enabled() 0
-#ifndef CONFIG_USER_ONLY
 static inline void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
 {
     /* nothing */
@@ -45,7 +46,6 @@ static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
 {
     g_assert_not_reached();
 }
-#endif
 
 #endif /* CONFIG_XEN_IS_POSSIBLE */
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:21:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:21:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631692.985292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Ykm-0006dG-H0; Mon, 13 Nov 2023 15:21:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631692.985292; Mon, 13 Nov 2023 15:21: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 1r2Ykm-0006d3-E7; Mon, 13 Nov 2023 15:21:32 +0000
Received: by outflank-mailman (input) for mailman id 631692;
 Mon, 13 Nov 2023 15:21: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2Ykl-0005il-4P
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:21:31 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52380b4c-8238-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:21:30 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-9e8b36e36e0so176058966b.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:21:30 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 o23-20020a17090611d700b009829d2e892csm4243243eja.15.2023.11.13.07.21.28
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:21:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52380b4c-8238-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888890; x=1700493690; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R3bxfGqI5yyGuHTvJ252KdxHxDRKsvIzu9uNKMF+2iI=;
        b=gXRsTDOSQEDG1gnNO7n66cyH16/iNbTSvrH3oXMTeKldkNLFpU3/pxDz+o2MorWn/y
         l2ZvGuOPTU6ThdQxurR9cVmvl0G2+q+KnxzNxK3/bSNfvXyETx9oHrjW/s5ia7wwyAba
         /n0ezaoVFwL4u872GV/dM974JBO2rJBsgPD1BIyo0s9mwOb7RlUo/7+eBo7PL05jqwTT
         A3Tyr5bPorHuRg/yvq4Y/dGx0EprtiI+pCBnSyu6Z2QBHxW4c/X4iCrJCxv46Bwa4efl
         3GKmQrzui3VeirDAkDgIJu8cRJI+e9uU1uMRizLCTSHndJF1U0+9T3r20dY9+Qm2LRQ4
         2Hbg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888890; x=1700493690;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=R3bxfGqI5yyGuHTvJ252KdxHxDRKsvIzu9uNKMF+2iI=;
        b=ofm+I98/PiYhAX4gEVfPDoCaCWKeu5zQlrf54OQo6RvNYQk1VthQi9abGkI3hhVFcb
         7ttagzWXBE8d+nim7y9ds/nlWhA6QNp5XMKOeDpAtXV+Oh3ocYZn+ZOEwqBxuinoXXB3
         e76Ufjtxz4PgjjBmS+sYxPjwdIKZkSwdXxpeIBUoWLmg7UaCaTaviah4yCNzj18AH2xr
         Xla4qPkOZ0efjxLNmqiyoAFq4kkx8HVBHB1SujTIb00BbtcECSeB9bFSp0t6JDRZAxpU
         8bDPMNQB93sUM8Or2lNcX2A2yIdggkWx01451aLzIk9uPkNWfzg/y1SXfIShhUx+UP9k
         hEEw==
X-Gm-Message-State: AOJu0Ywr+Q1XSbFrzzIZGGtDJBeHdnmg5f8Fg9CA2P+Eo8pYDBWWCTDO
	lN7SlRq2e9CNoDvkGUxc0aXpIA==
X-Google-Smtp-Source: AGHT+IF709HFmNxhzIc8XnNuz+a2oAKUrEHD5dHSaR8itUuUqXulXss7tknv1cuy4PMkZKxP4RsDmw==
X-Received: by 2002:a17:906:3049:b0:9bd:f155:eb54 with SMTP id d9-20020a170906304900b009bdf155eb54mr4125199ejd.6.1699888890200;
        Mon, 13 Nov 2023 07:21:30 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 02/10] hw/xen/xen_arch_hvm: Rename prototypes using 'xen_arch_' prefix
Date: Mon, 13 Nov 2023 16:21:05 +0100
Message-ID: <20231113152114.47916-3-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Use a common 'xen_arch_' prefix for architecture-specific functions.
Rename xen_arch_set_memory() and xen_arch_handle_ioreq().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/arm/xen_arch_hvm.h  | 4 ++--
 include/hw/i386/xen_arch_hvm.h | 4 ++--
 hw/arm/xen_arm.c               | 4 ++--
 hw/i386/xen/xen-hvm.c          | 6 +++---
 hw/xen/xen-hvm-common.c        | 4 ++--
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.h
index 8fd645e723..6a974f2020 100644
--- a/include/hw/arm/xen_arch_hvm.h
+++ b/include/hw/arm/xen_arch_hvm.h
@@ -2,8 +2,8 @@
 #define HW_XEN_ARCH_ARM_HVM_H
 
 #include <xen/hvm/ioreq.h>
-void arch_handle_ioreq(XenIOState *state, ioreq_t *req);
-void arch_xen_set_memory(XenIOState *state,
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
+void xen_arch_set_memory(XenIOState *state,
                          MemoryRegionSection *section,
                          bool add);
 #endif
diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h
index 1000f8f543..2822304955 100644
--- a/include/hw/i386/xen_arch_hvm.h
+++ b/include/hw/i386/xen_arch_hvm.h
@@ -4,8 +4,8 @@
 #include <xen/hvm/ioreq.h>
 #include "hw/xen/xen-hvm-common.h"
 
-void arch_handle_ioreq(XenIOState *state, ioreq_t *req);
-void arch_xen_set_memory(XenIOState *state,
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
+void xen_arch_set_memory(XenIOState *state,
                          MemoryRegionSection *section,
                          bool add);
 #endif
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index a5631529d0..28d790f4ce 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -129,14 +129,14 @@ static void xen_init_ram(MachineState *machine)
     }
 }
 
-void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     hw_error("Invalid ioreq type 0x%x\n", req->type);
 
     return;
 }
 
-void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
+void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
                          bool add)
 {
 }
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index f42621e674..ffa95e3c3d 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -659,8 +659,8 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
     }
 }
 
-void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
-                                bool add)
+void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
+                         bool add)
 {
     hwaddr start_addr = section->offset_within_address_space;
     ram_addr_t size = int128_get64(section->size);
@@ -700,7 +700,7 @@ void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
     }
 }
 
-void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     switch (req->type) {
     case IOREQ_TYPE_VMWARE_PORT:
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 565dc39c8f..1d8bd9aea7 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -65,7 +65,7 @@ static void xen_set_memory(struct MemoryListener *listener,
         }
     }
 
-    arch_xen_set_memory(state, section, add);
+    xen_arch_set_memory(state, section, add);
 }
 
 void xen_region_add(MemoryListener *listener,
@@ -452,7 +452,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req)
             cpu_ioreq_config(state, req);
             break;
         default:
-            arch_handle_ioreq(state, req);
+            xen_arch_handle_ioreq(state, req);
     }
     if (req->dir == IOREQ_READ) {
         trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:21:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:21:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631693.985302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Yks-0007IZ-P9; Mon, 13 Nov 2023 15:21:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631693.985302; Mon, 13 Nov 2023 15: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 1r2Yks-0007IP-L9; Mon, 13 Nov 2023 15:21:38 +0000
Received: by outflank-mailman (input) for mailman id 631693;
 Mon, 13 Nov 2023 15: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2Ykr-0005il-HQ
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:21:37 +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 5604f5d6-8238-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:21:36 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-5437269a661so11297035a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:21:36 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 11-20020a50874b000000b0053e2a64b5f8sm3913912edv.14.2023.11.13.07.21.34
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:21:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5604f5d6-8238-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888896; x=1700493696; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dMhWA/NoPTBRWdKt+DCwjQph3Exp2cV0GiTpIObeWaI=;
        b=eC+tcMr8YPUPZXRcjewL9pLwKzuQKSvdAZDUX2wQEWBgy7L/fESwHtwxO1oKjWZQvH
         cADqCjTlRXvVOiAbWkfYUj5w55XFdEm8PXD6ZRLTb3prGoQczPfsuND5Tc+ZxYZl7QBQ
         7CGVrxlBsjaqMYaFPhP7PAc5XWXOGYiquA7LTCygoREpDCzs29QSyfrGBvXHGQzhhQ36
         7V2G1oKSNzSA7MZc4FZEwK7uMRyB21g3Fat+oSTSRjxqeEuqdTTL7dfDhVzkPwxs0XqD
         ivwa3hYoJce2932GnaLH7PCJ3kvPvK28q0ylok5zaZXC9dusGZZpgsVDxBN+EzqyBRt/
         BTHQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888896; x=1700493696;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=dMhWA/NoPTBRWdKt+DCwjQph3Exp2cV0GiTpIObeWaI=;
        b=reC3TmliD2fjvW8Nloq7LScLYiDtq7wawlUPj6npXmkGTHuNI1R0pQgxWMlbg/Lv02
         cNrmyrLmSt/dOu9ikHN1p0mP5nCbkoiCFipX9B3HgNaspLMHz0Ifmo6wZOfU/W9/Icsm
         CdxZieaVDEbpgmuPxGF1WPVtlXSKE29GE2rQ5ehqykIAJdILF6dKsaptHSZnrXLq1eCf
         4Ihv1F6rq1suEsG43MnwijA/KyNztxxP1SW/N649qy6LCMfnP4+bZXYKFDqTEul8O7Xv
         dsBSUWAG0Ve4Kj0ax2yItzgn3k58yP1D3/Cuc0S+7UrtHv5S+lEcdcK84SksRkcIaiF+
         AdqA==
X-Gm-Message-State: AOJu0Yzd9Fhzb0YlzjQssBWpxKKR/3APVehU7MsCovqjul5BUbaQAZx+
	6JTxnTbf4QgrLrT23piSov/UnQ==
X-Google-Smtp-Source: AGHT+IGc2vVbLMMmJTrJzN8L348x5fFie1XMuffaYHScqr/mEvB+nkKPvDnad4c+cU6PUAspz7oR2w==
X-Received: by 2002:a05:6402:2553:b0:533:5d3d:7efe with SMTP id l19-20020a056402255300b005335d3d7efemr9304050edb.6.1699888896473;
        Mon, 13 Nov 2023 07:21:36 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [PATCH-for-9.0 03/10] hw/xen: Merge 'hw/xen/arch_hvm.h' in 'hw/xen/xen-hvm-common.h'
Date: Mon, 13 Nov 2023 16:21:06 +0100
Message-ID: <20231113152114.47916-4-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We don't need a target-specific header for common target-specific
prototypes. Declare xen_arch_handle_ioreq() and xen_arch_set_memory()
in "hw/xen/xen-hvm-common.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/arm/xen_arch_hvm.h   |  9 ---------
 include/hw/i386/xen_arch_hvm.h  | 11 -----------
 include/hw/xen/arch_hvm.h       |  5 -----
 include/hw/xen/xen-hvm-common.h |  6 ++++++
 hw/arm/xen_arm.c                |  1 -
 hw/i386/xen/xen-hvm.c           |  1 -
 hw/xen/xen-hvm-common.c         |  1 -
 7 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 include/hw/arm/xen_arch_hvm.h
 delete mode 100644 include/hw/i386/xen_arch_hvm.h
 delete mode 100644 include/hw/xen/arch_hvm.h

diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.h
deleted file mode 100644
index 6a974f2020..0000000000
--- a/include/hw/arm/xen_arch_hvm.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef HW_XEN_ARCH_ARM_HVM_H
-#define HW_XEN_ARCH_ARM_HVM_H
-
-#include <xen/hvm/ioreq.h>
-void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
-void xen_arch_set_memory(XenIOState *state,
-                         MemoryRegionSection *section,
-                         bool add);
-#endif
diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h
deleted file mode 100644
index 2822304955..0000000000
--- a/include/hw/i386/xen_arch_hvm.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef HW_XEN_ARCH_I386_HVM_H
-#define HW_XEN_ARCH_I386_HVM_H
-
-#include <xen/hvm/ioreq.h>
-#include "hw/xen/xen-hvm-common.h"
-
-void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
-void xen_arch_set_memory(XenIOState *state,
-                         MemoryRegionSection *section,
-                         bool add);
-#endif
diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h
deleted file mode 100644
index c7c515220d..0000000000
--- a/include/hw/xen/arch_hvm.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#if defined(TARGET_I386) || defined(TARGET_X86_64)
-#include "hw/i386/xen_arch_hvm.h"
-#elif defined(TARGET_ARM) || defined(TARGET_ARM_64)
-#include "hw/arm/xen_arch_hvm.h"
-#endif
diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 4e9904f1a6..27e938d268 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -96,4 +96,10 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
                         const MemoryListener *xen_memory_listener);
 
 void cpu_ioreq_pio(ioreq_t *req);
+
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
+void xen_arch_set_memory(XenIOState *state,
+                         MemoryRegionSection *section,
+                         bool add);
+
 #endif /* HW_XEN_HVM_COMMON_H */
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index 28d790f4ce..6a1d7719e9 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -33,7 +33,6 @@
 #include "sysemu/sysemu.h"
 #include "hw/xen/xen-hvm-common.h"
 #include "sysemu/tpm.h"
-#include "hw/xen/arch_hvm.h"
 
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
 OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index ffa95e3c3d..f8a195270a 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -21,7 +21,6 @@
 #include "qemu/range.h"
 
 #include "hw/xen/xen-hvm-common.h"
-#include "hw/xen/arch_hvm.h"
 #include <xen/hvm/e820.h>
 
 static MemoryRegion ram_640k, ram_lo, ram_hi;
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 1d8bd9aea7..c028c1b541 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -7,7 +7,6 @@
 #include "hw/xen/xen-hvm-common.h"
 #include "hw/xen/xen-bus.h"
 #include "hw/boards.h"
-#include "hw/xen/arch_hvm.h"
 
 MemoryRegion ram_memory;
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:21:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631697.985311 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Yl0-0007qt-1Y; Mon, 13 Nov 2023 15:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631697.985311; Mon, 13 Nov 2023 15:21: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 1r2Ykz-0007qi-Ug; Mon, 13 Nov 2023 15:21:45 +0000
Received: by outflank-mailman (input) for mailman id 631697;
 Mon, 13 Nov 2023 15:21: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2Yky-0007fE-NM
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:21:44 +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 59b59792-8238-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 16:21:43 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-9e2838bcb5eso672348266b.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:21:43 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 d17-20020a17090648d100b009e6cedc8bf5sm4165051ejt.29.2023.11.13.07.21.40
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:21:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59b59792-8238-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888902; x=1700493702; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YAZk+3Dse8rl86kxKUGHVuPZUfUpHgJaPljFBSi46HI=;
        b=Dm8Bg4/Mn5BSImYcP7u268GzoYOpZ1eZIVw/97Bznf6cFTLfTTXaRmeh8ZwQpYHhhx
         +G/hBe2xuvlD/bSQhEFdmG12qmj95r1uNzhDIw1cTBxmuXtZzlPPzY/TKKpaan3dZaDJ
         ImkcrfTyRFTFVKZCYSGnuRGj6qyDoJht2X0cWNPQIZ6dFCy949qHjIgL4O07VW0uN+aK
         TZtL+zKce2cCoHHybUi2KQoBpA8KHTudwpyxi7Wk/d3/+FfPv882VuVJ9Oc/ioAXTTt7
         GRM8vIeew4iRaA6mpUqR2hZqCfTNHIjdOldhd1e9OM/XhXj59nfK+OKuoVoku9MGanQb
         bNNQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888902; x=1700493702;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=YAZk+3Dse8rl86kxKUGHVuPZUfUpHgJaPljFBSi46HI=;
        b=kewo1LXzFGtQ/9hOS/0nzbMyetZNLjY1XNSe1E2uCtsvnCirXvZixTS9+I1qlkSw5R
         hyMyW2H4xcwRxou4Z1mklVE7ADIqOYfbFQL9HjP8Ci4H5xof11eU//ZRCfyyVsJMetcl
         25yKskKFAttFTtEpBEvYo730FNNxSlQHYeMoiJkfvRqI4+ik49RIRiYw2HXoVH1ISW4s
         UXBrvCPLY0d8jTw9xNINvAgUJlzmMJodtvcL84EsxeA0cHkaMN7xsZxk9SR1o282ji7d
         lZmcv1MBg+83Nsdf0YHYTJzUYKfyeBO4vJFqqPhPueTrvjPCOHxByZAWLwb/y5MCpdYI
         4HkA==
X-Gm-Message-State: AOJu0YwTmj2lU2OimpivH34hLp59vUUja2fCEhiEafOHHQU1RFu0gDJ9
	hmQWHMjAsOE+MDWOHYf0XO9RSg==
X-Google-Smtp-Source: AGHT+IGj6dXGN5MguahUCcbomoo2q2R5bpml51YnyeqNpSNRHHGNbaVXW8b4IH/nqJe1/joi6MIM1w==
X-Received: by 2002:a17:906:84c:b0:9ae:6da8:1819 with SMTP id f12-20020a170906084c00b009ae6da81819mr4194118ejd.48.1699888902783;
        Mon, 13 Nov 2023 07:21:42 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 04/10] hw/xen: Factor xen_arch_align_ioreq_data() out of handle_ioreq()
Date: Mon, 13 Nov 2023 16:21:07 +0100
Message-ID: <20231113152114.47916-5-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Per commit f17068c1c7 ("xen-hvm: reorganize xen-hvm and move common
function to xen-hvm-common"), handle_ioreq() is expected to be
target-agnostic. However it uses 'target_ulong', which is a target
specific definition.

In order to compile this file once for all targets, factor the
target-specific code out of handle_ioreq() as a per-target handler
called xen_arch_align_ioreq_data().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
Should we have a 'unsigned qemu_target_long_bits();' helper
such qemu_target_page_foo() API and target_words_bigendian()?
---
 include/hw/xen/xen-hvm-common.h | 1 +
 hw/arm/xen_arm.c                | 8 ++++++++
 hw/i386/xen/xen-hvm.c           | 8 ++++++++
 hw/xen/xen-hvm-common.c         | 5 +----
 4 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 27e938d268..734bfa3183 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -97,6 +97,7 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
 
 void cpu_ioreq_pio(ioreq_t *req);
 
+void xen_arch_align_ioreq_data(ioreq_t *req);
 void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
 void xen_arch_set_memory(XenIOState *state,
                          MemoryRegionSection *section,
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index 6a1d7719e9..c646fd70d0 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -128,6 +128,14 @@ static void xen_init_ram(MachineState *machine)
     }
 }
 
+void xen_arch_align_ioreq_data(ioreq_t *req)
+{
+    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE)
+            && (req->size < sizeof(target_ulong))) {
+        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
+    }
+}
+
 void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     hw_error("Invalid ioreq type 0x%x\n", req->type);
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index f8a195270a..aff5c5b81d 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -699,6 +699,14 @@ void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
     }
 }
 
+void xen_arch_align_ioreq_data(ioreq_t *req)
+{
+    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE)
+            && (req->size < sizeof(target_ulong))) {
+        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
+    }
+}
+
 void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     switch (req->type) {
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index c028c1b541..03f9417e7e 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -426,10 +426,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req)
     trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr,
                        req->addr, req->data, req->count, req->size);
 
-    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
-            (req->size < sizeof (target_ulong))) {
-        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
-    }
+    xen_arch_align_ioreq_data(req);
 
     if (req->dir == IOREQ_WRITE)
         trace_handle_ioreq_write(req, req->type, req->df, req->data_is_ptr,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:21:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:21:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631700.985322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Yl6-00009O-EX; Mon, 13 Nov 2023 15:21:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631700.985322; Mon, 13 Nov 2023 15:21: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 1r2Yl6-00009H-BF; Mon, 13 Nov 2023 15:21:52 +0000
Received: by outflank-mailman (input) for mailman id 631700;
 Mon, 13 Nov 2023 15:21: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2Yl4-0007fE-Qi
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:21:50 +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 5d63363e-8238-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 16:21:49 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-53e07db272cso7044339a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:21:49 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 f19-20020a50a6d3000000b0054026e95beesm3942482edc.76.2023.11.13.07.21.47
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:21:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d63363e-8238-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888909; x=1700493709; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hC1GyuSTm1pIOLAiq1jl6VtM1wTJGGJIerTVB/FTO70=;
        b=RhKDSAq4tdFZFblL2vgU5GyIc25BAMTcvtLAay9NlQ86waYqpEFM97KTw95y77ljf1
         bJwamz84mo9R24Wo97Sha70o22VVLAgAm3RzDP/0HyIjUgNnGTAjAQyWo1EWr2+Q3wFd
         GuP0fNuOjpo8dvP30c2Ee2esBtRKK48hBkJj/3BTpEpP5Pn5ALH+XBpsF3D0W1kcceuQ
         u+2aBHNLa0oUWOJtqfTz5WZ6Bm9ZeU3B+IYV2YO+1jy2RgJHRuHoUKEx7/vjNibOXH6J
         2q5NmF5s72b/cqlnYswZnkzlRXxWM2qMk1SbvgVIfFQO9ba8QLXHY5g2o30t2pHbSyUk
         14pQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888909; x=1700493709;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=hC1GyuSTm1pIOLAiq1jl6VtM1wTJGGJIerTVB/FTO70=;
        b=mBjVAN92tnXev/5cnZMI+M+590rZS0K8jXAHnu2aM18lZNKnVN7mL8NEmpAZTJ/u+Y
         qVxFoNjUbGZZaepUptuXhSfBh5EPftxej1+mFDdCg0XkNtSZuthpl1ASYyoRa+lKCBuT
         w5+p6cN1x+XgjlkMk+qNB15kZ2a/Q69iM0BKh7NNsw+ccFOTp+hXL3sAPRGXfOvoji+j
         9GFkVykhJH+r0iVr5L0a/fJxroYiUlU80/ebXbCzTNzBLk+zUGtFCYUPDrECOBSLcSvA
         9UmPgBtUn3qA/DFa9vTMgXr1hU5uh1SSWnwZ7LIHMj5+E+jtQI0aMfmv5VNS/AAiVmqu
         D+yw==
X-Gm-Message-State: AOJu0YzQPUzQJBniCIZnAeEvGCCO1Q96VFjpJBnof/OaUoyTHJvc4iQv
	hPorFKexCdRXTa+wt2bMDQfQtg==
X-Google-Smtp-Source: AGHT+IGbtAixMPiQVaiouSIFTb1IQKmmFA1AcOCrzXhQQ2Afk2FYf+XnPnB9Zgf0YAtZ7aK4/lySbw==
X-Received: by 2002:a50:ab12:0:b0:540:2ece:79 with SMTP id s18-20020a50ab12000000b005402ece0079mr5690457edc.10.1699888908890;
        Mon, 13 Nov 2023 07:21:48 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 05/10] hw/xen: Use target-agnostic qemu_target_page_bits()
Date: Mon, 13 Nov 2023 16:21:08 +0100
Message-ID: <20231113152114.47916-6-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Instead of the target-specific TARGET_PAGE_BITS definition,
use qemu_target_page_bits() which is target agnostic.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/xen/xen-hvm-common.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 03f9417e7e..35b3b5407d 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -1,6 +1,7 @@
 #include "qemu/osdep.h"
 #include "qemu/units.h"
 #include "qapi/error.h"
+#include "exec/target_page.h"
 #include "trace.h"
 
 #include "hw/pci/pci_host.h"
@@ -13,6 +14,7 @@ MemoryRegion ram_memory;
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
                    Error **errp)
 {
+    unsigned target_page_bits = qemu_target_page_bits();
     unsigned long nr_pfn;
     xen_pfn_t *pfn_list;
     int i;
@@ -31,11 +33,11 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
 
     trace_xen_ram_alloc(ram_addr, size);
 
-    nr_pfn = size >> TARGET_PAGE_BITS;
+    nr_pfn = size >> target_page_bits;
     pfn_list = g_new(xen_pfn_t, nr_pfn);
 
     for (i = 0; i < nr_pfn; i++) {
-        pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i;
+        pfn_list[i] = (ram_addr >> target_page_bits) + i;
     }
 
     if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:21:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:21:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631701.985332 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YlC-0000fl-Oo; Mon, 13 Nov 2023 15:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631701.985332; Mon, 13 Nov 2023 15:21: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 1r2YlC-0000fa-Lz; Mon, 13 Nov 2023 15:21:58 +0000
Received: by outflank-mailman (input) for mailman id 631701;
 Mon, 13 Nov 2023 15:21: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2YlB-0007fE-1r
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:21:57 +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 611d9c33-8238-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 16:21:55 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-9c2a0725825so698888066b.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:21:55 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 e22-20020a1709062c1600b009de11cc12d2sm4197707ejh.55.2023.11.13.07.21.53
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:21:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 611d9c33-8238-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888915; x=1700493715; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iaPh59FgiGsmC+pCYaCOTA7yQ1Mp2MwkOCCJHlQNKqo=;
        b=fMk5NYIlbQ/gxBSTh9zJcjf5COuMPlM+O2pnKN9ZYTtV+/IvWkLoOQ+ERyYiN8ZqQB
         bMqHbyz0W9+eFiOgmLQUifCMZBxz3aMfx62deCOS/5LdKf6ydcGhy5GQCr7dLBoO+VyH
         rwsOJ49ZoY/Qnq3N9bZwbhpqJZq2/dBNuTMgZKXtsgo09ZHYNFes0g3EgZQ7HszHgAea
         gZMWZ0i7tyLCsDvWRWBPM/0pXnZQ7/pZ3cJwKfEocyWQx2Kw1qdNIaXcimZQxKUOddFw
         DRE2FaEAmTeBONgOaQBQ3TYzrZPJqN7o3558J5LrsrlZsTFxkpjXEpEyBR4iBZC7wzqu
         eOKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888915; x=1700493715;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iaPh59FgiGsmC+pCYaCOTA7yQ1Mp2MwkOCCJHlQNKqo=;
        b=KB0prYqAtCmvYIPxjyw8W/3mNh9f7xtXVtr0XDrSalzeWYpx8J6cRnjRHaae5OfFbt
         ceAt8vv1GKRKNaWheZapkyhGj6njQgURe6TmuANfr4ytpE/g71vXMA8YJwaVh/gszcVM
         9JC+4ue3V++PjJcG2Tk1VVNz6QGEENzSz4pTPk9Eb5D14qdsoGrjoHTIQoidfgpTsNr4
         0N88Orb6W+6eNVgfoVDRcGi8AGFi0d8Wx6lq7uHXAS33Y89HvCVA+HShnHO1iS796Lq2
         YGAkkVyA00Kq0ewlGgwVq419JigVZSLYaMA+vS0gsIxA31Z7clDKAkzpbztws6kizSLx
         176A==
X-Gm-Message-State: AOJu0YxPCMpL3aS9/B4HCrQjQHPYLBCcGp2fx/+L0bVCbExVBzHqLeGr
	Jl5g0vRDMd1VkBpFGh6VxbHY4w==
X-Google-Smtp-Source: AGHT+IH3RjReylXfRQh/wsJfTu2jHnqkMqs+PQHcbPoh+QyiOeqF9Xb3+QdjFCNga0xDu80xIHTeww==
X-Received: by 2002:a17:906:fb8b:b0:9e6:59d5:8228 with SMTP id lr11-20020a170906fb8b00b009e659d58228mr4946396ejb.27.1699888915206;
        Mon, 13 Nov 2023 07:21:55 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 06/10] hw/xen: Reduce inclusion of 'cpu.h' to target-specific sources
Date: Mon, 13 Nov 2023 16:21:09 +0100
Message-ID: <20231113152114.47916-7-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We rarely need to include "cpu.h" in headers. Including it
'taint' headers to be target-specific. Here only the i386/arm
implementations requires "cpu.h", so include it there and
remove from the "hw/xen/xen-hvm-common.h" *common* header.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/xen/xen-hvm-common.h | 1 -
 hw/arm/xen_arm.c                | 1 +
 hw/i386/xen/xen-hvm.c           | 1 +
 3 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 734bfa3183..ca941fd3eb 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -4,7 +4,6 @@
 #include "qemu/osdep.h"
 #include "qemu/units.h"
 
-#include "cpu.h"
 #include "hw/pci/pci.h"
 #include "hw/hw.h"
 #include "hw/xen/xen_native.h"
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index c646fd70d0..2c97d6adc8 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -33,6 +33,7 @@
 #include "sysemu/sysemu.h"
 #include "hw/xen/xen-hvm-common.h"
 #include "sysemu/tpm.h"
+#include "cpu.h"
 
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
 OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index aff5c5b81d..369d738b50 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -22,6 +22,7 @@
 
 #include "hw/xen/xen-hvm-common.h"
 #include <xen/hvm/e820.h>
+#include "cpu.h"
 
 static MemoryRegion ram_640k, ram_lo, ram_hi;
 static MemoryRegion *framebuffer;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:22:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:22:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631704.985342 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2YlJ-000194-2E; Mon, 13 Nov 2023 15:22:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631704.985342; Mon, 13 Nov 2023 15:22: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 1r2YlI-00018x-VU; Mon, 13 Nov 2023 15:22:04 +0000
Received: by outflank-mailman (input) for mailman id 631704;
 Mon, 13 Nov 2023 15:22: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2YlH-0007fE-K6
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:22:03 +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 64c60e60-8238-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 16:22:01 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-9d216597f64so705796566b.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:22:01 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 s10-20020a1709066c8a00b009dbe08bc793sm4269124ejr.18.2023.11.13.07.21.59
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:22:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64c60e60-8238-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888921; x=1700493721; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=24ML07HsEvOYl+DuxzoZlUZnhAFy4fscEFWSzx7VWys=;
        b=lOzzkC5S6RQdYiPHj4aGiv8rW0Sjm3UITXtrK5KwSJCYfH/QOMm9hBuW28PtGMq3Cf
         O/GKUHh2Cx9tjoKNLMywry8TSYLn+EvsNuy9YSjWGR+mB0qLrteu+1koTH3+dDu4fCI3
         8un4rKadAWt4PRBlJ2030v0RrvQ4q3zGq53bZooHxBOgcPSCnpvbcOzJWrk4mR86gdiN
         wfCz45kQXt2U9WXzN/8/aLZT4L2AQ9jtByV62lmzT2BsZEdwLdc8GAF5IkWv0/WbXdZ2
         OCqbzfEOr0v39DUzmy7KktY/9X+H5832o+w9VUSlZ2PPiYBDQ1o7Rf6QLdhVAcOcl/fQ
         +1AA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888921; x=1700493721;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=24ML07HsEvOYl+DuxzoZlUZnhAFy4fscEFWSzx7VWys=;
        b=eTCKU1lxXmIBKR7JkzTvz3vtV/Sgc5IqhimqW+NQcdSWB/mAz5h91cVCvU5P46aUuY
         duEGUMcMEWbah5J+41UqV0vxcYLARyETmGF/aSnDHQYfWyo2kiIcHLAwJFzDJMc+wEtC
         kYpndQBKCgNqWm1bOPflVJCdeYbihRcDAvgPeDqQluXoXLqOkS/m2npwx0IHtf3D220W
         2y69dFDE/XnjAoWIUasHYXTdVKWs8T8FjppUdeCBOaS6qAQFwJVCz92eNFdkz9nCH7tp
         ird0uCw0L9T+hTYev3jV75btFneSPBFoUwPQORp7GMp1E+cUTBTNyE67dqpRF1afyDyF
         VEdw==
X-Gm-Message-State: AOJu0Yxm9N1hHSp2ld/2yC2gnZc/2JcGMH3lfoPtXqrkW5SwqsgLJP2C
	0wfVI6IVxZVuqGRGiKX1h8nL/A==
X-Google-Smtp-Source: AGHT+IH+PnzXWjrgKP+WWXsdazo2lewjVqkzA92vUb1Slw8L1D+s00HazVDZsJw73hj51Hyp7Aw3PQ==
X-Received: by 2002:a17:906:5fc6:b0:9e6:5132:43e5 with SMTP id k6-20020a1709065fc600b009e6513243e5mr4860965ejv.16.1699888921215;
        Mon, 13 Nov 2023 07:22:01 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 07/10] sysemu/xen-mapcache: Check Xen availability with CONFIG_XEN_IS_POSSIBLE
Date: Mon, 13 Nov 2023 16:21:10 +0100
Message-ID: <20231113152114.47916-8-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

"sysemu/xen.h" defines CONFIG_XEN_IS_POSSIBLE as a target-agnostic
version of CONFIG_XEN. Use it in order to use "sysemu/xen-mapcache.h"
in target-agnostic files.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/sysemu/xen-mapcache.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h
index c8e7c2f6cf..10c2e3082a 100644
--- a/include/sysemu/xen-mapcache.h
+++ b/include/sysemu/xen-mapcache.h
@@ -10,10 +10,11 @@
 #define XEN_MAPCACHE_H
 
 #include "exec/cpu-common.h"
+#include "sysemu/xen.h"
 
 typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
                                          ram_addr_t size);
-#ifdef CONFIG_XEN
+#ifdef CONFIG_XEN_IS_POSSIBLE
 
 void xen_map_cache_init(phys_offset_to_gaddr_t f,
                         void *opaque);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:25:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631718.985351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Yot-0004YJ-Hs; Mon, 13 Nov 2023 15:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631718.985351; Mon, 13 Nov 2023 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 1r2Yot-0004YC-Ev; Mon, 13 Nov 2023 15:25:47 +0000
Received: by outflank-mailman (input) for mailman id 631718;
 Mon, 13 Nov 2023 15:25: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2YlM-0005il-6J
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:22:08 +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 68683716-8238-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:22:07 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-50970c2115eso6303489e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:22:07 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 a9-20020a17090640c900b009e5ce1acb01sm4126763ejk.103.2023.11.13.07.22.05
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:22:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68683716-8238-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888927; x=1700493727; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M3IanRET4oRDB/554uZaBMmk8ZcCL79rxTcGgU2jVuI=;
        b=ZTojBGG/LuJFgNd0mzP79FlXicHw+nRG3h6jnjxWZHHQ1gRhZU3dkRqTB+i/RBIgKJ
         Vx15YHRarcOMXwvTzH7KKKIhoGvXxJPN5Q9uJ7mGgQDKN32PGj+oNbTkpv8IoTNfoXCn
         bZNiWLNH35vF4xZeuR2BN5c2fhYYQQ7eTvgDd53foIHn7Z59l4ynOvK+jLw88FL1ri9h
         BXlvEsY9rCaiLovsdOgSnqsfheo5nVOzYXYCciKhw8jq2Jkj7vufiDb1G17rWJO5oLO8
         6SMCfybjEivY1eXKTHHX/iRph643RocV81NeUVtMrDjxAFUBOrbSjZ4kqL7L9QGSU6IH
         C+Nw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888927; x=1700493727;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=M3IanRET4oRDB/554uZaBMmk8ZcCL79rxTcGgU2jVuI=;
        b=Zk8sG/BYKMSMtvMQP44Vp7vyF25vdUOIYXf6y2BN/sLdkIiO3pcg8pYcUe9pxiz89O
         ciFdOHphiPsteAMw8VYbBAmY951pLrNqLDMCuxGE3NH9DXc2Lw/+qb6aZGrIbT1HlKN5
         sjeKS/abfTtIJOcR1wkhUBEFy1zRfye9Qx4qEXlFBYKh/RNdHVfWDMBOhPDRG5AljJb7
         2ID6/eIMt/z28bM8zsvEXdJIr2eF8DN7XEDPAU1p9Vn8PCNdVQnj0nSDgFofWNXeFu/m
         TarH/me/YyTCfxyqGnjdMW5bMuVLhW3MEy8uAg6KBg4LgPDnlXXtY96cpJms2JIbimGo
         PPBQ==
X-Gm-Message-State: AOJu0YwrzOMQzcBsuwRD5r7MKW6LuweoXIXnKShSgwLHOa4yxluaT49y
	GrtKMJUBH+TxRMTZKp6yVE7QSw==
X-Google-Smtp-Source: AGHT+IGrSDy3wD9q51MX9RzmoZqMhawPjp2jB+lPSAfi/Dv8LmkQCpZSU6Ww+isXzJecNCmpib4vPw==
X-Received: by 2002:ac2:5e6f:0:b0:502:a4f4:ced9 with SMTP id a15-20020ac25e6f000000b00502a4f4ced9mr4406770lfr.62.1699888927362;
        Mon, 13 Nov 2023 07:22:07 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH-for-9.0 08/10] system/physmem: Only include 'hw/xen/xen.h' when Xen is available
Date: Mon, 13 Nov 2023 16:21:11 +0100
Message-ID: <20231113152114.47916-9-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

"hw/xen/xen.h" contains declarations for Xen hardware. There is
no point including it when Xen is not available. When Xen is not
available, we have enough with declarations of "sysemu/xen.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 system/physmem.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/system/physmem.c b/system/physmem.c
index fc2b0fee01..fa667437da 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -35,9 +35,9 @@
 #include "hw/qdev-core.h"
 #include "hw/qdev-properties.h"
 #include "hw/boards.h"
-#include "hw/xen/xen.h"
 #include "sysemu/kvm.h"
 #include "sysemu/tcg.h"
+#include "sysemu/xen.h"
 #include "sysemu/qtest.h"
 #include "qemu/timer.h"
 #include "qemu/config-file.h"
@@ -51,6 +51,9 @@
 #include "sysemu/hostmem.h"
 #include "sysemu/hw_accel.h"
 #include "sysemu/xen-mapcache.h"
+#ifdef CONFIG_XEN
+#include "hw/xen/xen.h"
+#endif
 #include "trace/trace-root.h"
 
 #ifdef CONFIG_FALLOCATE_PUNCH_HOLE
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:29:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:29:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631724.985362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Ys7-0006DG-WE; Mon, 13 Nov 2023 15:29:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631724.985362; Mon, 13 Nov 2023 15:29: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 1r2Ys7-0006D9-Sl; Mon, 13 Nov 2023 15:29:07 +0000
Received: by outflank-mailman (input) for mailman id 631724;
 Mon, 13 Nov 2023 15:29: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=EUjx=G2=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r2Ys6-0006D3-Et
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:29:06 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2082.outbound.protection.outlook.com [40.107.7.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6168cb87-8239-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:29:05 +0100 (CET)
Received: from AS9PR06CA0244.eurprd06.prod.outlook.com (2603:10a6:20b:45f::35)
 by AS8PR08MB6199.eurprd08.prod.outlook.com (2603:10a6:20b:296::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 15:28:34 +0000
Received: from AMS0EPF000001A8.eurprd05.prod.outlook.com
 (2603:10a6:20b:45f:cafe::a4) by AS9PR06CA0244.outlook.office365.com
 (2603:10a6:20b:45f::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29 via Frontend
 Transport; Mon, 13 Nov 2023 15:28:34 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A8.mail.protection.outlook.com (10.167.16.148) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.14 via Frontend Transport; Mon, 13 Nov 2023 15:28:34 +0000
Received: ("Tessian outbound 385ad2f98d71:v228");
 Mon, 13 Nov 2023 15:28:34 +0000
Received: from 4e82c1590d56.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 BCB77F74-0073-468B-9CE4-D02CFF481894.1; 
 Mon, 13 Nov 2023 15:28:27 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 4e82c1590d56.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 13 Nov 2023 15:28:27 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com (2603:10a6:208:ff::27)
 by AM8PR08MB6435.eurprd08.prod.outlook.com (2603:10a6:20b:317::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 15:28:26 +0000
Received: from AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e]) by AM0PR08MB3745.eurprd08.prod.outlook.com
 ([fe80::ab65:955d:ff82:80e%3]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023
 15:28: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: 6168cb87-8239-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=b+vPHVLv9DgaDIpsV4G/GvndoObaR+YaTA9XmT36br/3/x07aKBU1cb9qvcNz/XM7oB6S0+gJ0hYTMUnUbJjSM7lmyKuYE1i3D3n0NPB1n6OaXgB0dsbW0PmmAYhXxiTpzeBgm/cVLNUAGpAH0HmBa/Z8zXjf2SZa0ihZYszXWOT2oKPUtRcj9YB+9vyzXeFEXvfTVsn8RVV9wsUMyG8YaHIg10gwIpOO/VZChHsGvKy4UZIy8qhGQ7BR/KQBspPN4k+rD1J9Fv23Ykz6LOZX2oprkyFn71m43CkRsb6quqeu4ChjqUKjUtub4XSUdHnzZroEmGz0wUsDfCHdGGXtA==
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=yIdcjh8GTqbof6QVLq/iuNdGDsY94HJxNcCXRGGW+rI=;
 b=SRQnRsiBNPR2LLhCQv0btZGzk+ATjvAXuQvEcAYlkAO1Li/LFQz3LL47FVMrnHfEYbDw56GVSuV1lCSz3Ziqp9qkNUkvEH40Sobi8pxd1PiUZlw8k+OEa0PKQZe1fqQD/JH/9LwbSknXai54GEWJ8uOL5buh0O+HDGEnJ8mtlRTIVAjkr2903SdwHM/aGvOoX9S4SIPWv0QZeLNZk95SvwJqtnjrfJk1+Fa6mrUyeI4nAUacnkQbocmIaSiS4ojEpnuEauA5ueCCbnpQxaTWD5Z2dBEoBo4JrtSgaY1gywYUW/FOfhauz/TDJbhpdwD46wOxkWJL1D2zhoendWgvcA==
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=yIdcjh8GTqbof6QVLq/iuNdGDsY94HJxNcCXRGGW+rI=;
 b=EDcZC02Sk5+J+gOo8d/37kdFzjwb8WV4D2IoN4VIw99vjJacwSPhFmlKqJtC+oS4qwvqd9DLw4AbqJIVO5v52FPcetSfQmcsDbryiD8pjeRqPRTRV0mdATx7G60sn6A2Li+Tej0LpKDb/Uc/sflVOCcEWh4sRyjBrNHDMZAAchE=
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: c2f9a57c965a9b76
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kkzESVq4edIQDXqtAS/A8R5qK5NixCsQMi0v6MDFO0OlGlSyFw63DZH+U0q/Ml+7WGzNcOt73CB3YOAycjY2OKPa4/rv1ucO6cpmmq17nSCts3Pf0DMjawSOdrZxUVexEv8oejflP6pBwfYmQmTeBQ1ZKGPNePiDEK8hwjnr6batrC3tN+1TMEtO17WZCoAt7b6ukcVV5oae0dCYMi92jpJFqk834Vk97nECUFPA1n6DkwZIc2ecDza8Lbfh6tIslTEGQc2oJ5TSnH/bnC4fmjNhYHkKTMYzDbC3Tqo4z228YgzjPOWD2z6ND2ncP/OUjF6KvapsjbK6ITgIXju8aQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yIdcjh8GTqbof6QVLq/iuNdGDsY94HJxNcCXRGGW+rI=;
 b=AAvcMxmZI8fltbhfw5km4WHAZ7+ynhzyFzyX5In0/OJHJn7gbwhhZZU/mYUySmDnNPTIyR11CG+gFelmyWcRSzK1eFia18C81fdQu12SiYkx2+BmIOIgmzm/gDABKoaAuPY6arpPctDcybQQIyQhJ1cEhLn8TgojvLAUp1+ZuVnQhhDOLaAFojmhW5+gni7T3JQYK6nZS9W9c1RxW/NvwywFXJD1+SJnbMcfHzW0j+BBYWqXqRHncExOWE1SqRapI2KMIJ1P6PyFJa6VlFd0ZbomhBUCVddLRAgI9Bz+iu9bYnn4zMnYqHm3Wy1N+IWu28FDMVDRW6UMDds5EUe7Wg==
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=yIdcjh8GTqbof6QVLq/iuNdGDsY94HJxNcCXRGGW+rI=;
 b=EDcZC02Sk5+J+gOo8d/37kdFzjwb8WV4D2IoN4VIw99vjJacwSPhFmlKqJtC+oS4qwvqd9DLw4AbqJIVO5v52FPcetSfQmcsDbryiD8pjeRqPRTRV0mdATx7G60sn6A2Li+Tej0LpKDb/Uc/sflVOCcEWh4sRyjBrNHDMZAAchE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: George Dunlap <george.dunlap@cloud.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan
 Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>, Wei
 Liu <wl@xen.org>
Subject: Re: Clang-format configuration discussion - pt 1
Thread-Topic: Clang-format configuration discussion - pt 1
Thread-Index: AQHaEild8psuTSSrb0SmQq+9AXKRR7B4Sv6AgAAcuYA=
Date: Mon, 13 Nov 2023 15:28:26 +0000
Message-ID: <809BE359-C54A-450D-8F61-935E1C106981@arm.com>
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
 <CA+zSX=Z2O-EoP5AL-vEgeJgf11YGi4fweSy+XFWOAc5TEEJ9dA@mail.gmail.com>
In-Reply-To:
 <CA+zSX=Z2O-EoP5AL-vEgeJgf11YGi4fweSy+XFWOAc5TEEJ9dA@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM0PR08MB3745:EE_|AM8PR08MB6435:EE_|AMS0EPF000001A8:EE_|AS8PR08MB6199:EE_
X-MS-Office365-Filtering-Correlation-Id: b828910c-604e-4363-1166-08dbe45d334c
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:
 Tv3SSAE+Iwae+6hrc0cDVDuPf/3NbNwBru90MSM1Yx+Lkwmb7O+6leyn5trjEiJ6XJItGRrgUbvfb2Dq2YpU2vlCVGrQFsJSv17mdaTsqQyEflUutHe+krhz+zMJQo1QsOpn7JoiBdS75dFqhn+aN2iXwgJGhRh69y2T+/lnpaDScZhcuebFEzmMWV1WaEjPken4n5T1H5Rv/UsENqN0DDc3YHi/e57OYRSBmhigcCXw2fdC+hlcoza3FrBTCIteDODLNvu8ZG0dR97mWdl78DQ1NPpH8J8Gsi/YCZ40Rr72veR6XouxuDza4i/xmATqyPUPEubnfRekuUCeEOVnfosfcwnr3UE0SMz98O1VtomBYCqgKHxaMo0MKo+cCTv3/GTyuovyfG1QO9xLYeeLRxnvWsTMF2xebz0ppm3bt4qyU0pOebSg8+WlmQNOCsSINqEgsFnnBbhzHrmOTIBUEjbz6D0wI9ZfTS5xwdq3NWbGmU9AYSGNVrT77FI0Mcf7f6ZeEhX6CJVIjFgA+od9VxmhGtd095aCZoinfkt6sx04LTeOlOwjfLMbBDIAQerBGJk9Cw++HIM9MQX+gxJ1jN069ddnJRwJo+f4ylZ79BSvAL3WtWnphZFKawOo8C3+fwl5l3Lxu+IRwSS9IULLBQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR08MB3745.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(136003)(396003)(366004)(376002)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(91956017)(316002)(76116006)(54906003)(64756008)(66446008)(66946007)(66556008)(66476007)(6916009)(478600001)(6486002)(71200400001)(86362001)(5660300002)(38070700009)(41300700001)(33656002)(36756003)(2906002)(4326008)(8676002)(8936002)(2616005)(38100700002)(122000001)(26005)(6506007)(6512007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <EDF07A5C43007448BC5D06637F5FDCB8@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6435
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:
 AMS0EPF000001A8.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ac70d9c6-ca1d-4f9f-7f25-08dbe45d2e3d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1K5fO2PA+XqwRUwu8R/T0JnHNQp+OLPHOXuQYJBuksY/RmsmXhsnDX3JEovHRtiz4/5T70Nj3z5MARdLI0MFZEAa5HJVMbL2se/YgkPkS9iCNRJBCh44+ulda289SJ9GdVouOXcAhKXmaNLsZWliM5ft8GZI6qlkfkVyDIfyKeCf9FdmFcmxb2gjtsQ2CmVQ9dpxwUVSoPY6vG5kc71jNdBrfAakXs2NBO27SYvCMAjiCR4YN8ZpTxSbyQ6BTTCYgP0Cf7kBcCBORuPcPpr0xH0jPb9ruoBzQakwFSyWRGmJpTIitgNsg+fvQ3QnvnabIKpKt4wzI3P+pt4s4vRByVKis7FbQVcBkAUdtGNA9wXUmyP5H754A18stxnNQh0pw8F839Bi5d8fdsr0j4wcOIfczEmMwyi8VUU62hSQM/wDvWRRS3lYEaVFXC3gc7abRB24Lxz5UrYeE0TiAovdAuHguigWbw3UBUgO5jv/RYx7nbgOdGPx3+YQn7TQ6RloG8I8R0g1XKPWye32bmwk5UI7tFWZ2ygqHVFsnSnXiHZbvFmyna0G/W6bnrFTZ0PPiOd9i1X5e5Xa1mqi1sB5mAfbSLCbYhfMqBJi2S5k+04tALeGU6Eo7HGMTn4XoxmQvcDp0ZtYOgv1ALbj7cUP13sY0vf6hIJBxfTrfa0sQnFUPW3V4BsYjhy2oPZYIkWjnMZJdMRWC0q11yaJMbc48grBcpZfXTLRk2QwODLb+vub3K0VsOIh4drzUuLpCQ29
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:(13230031)(4636009)(376002)(39860400002)(346002)(396003)(136003)(230922051799003)(186009)(1800799009)(82310400011)(64100799003)(451199024)(40470700004)(36840700001)(46966006)(2906002)(5660300002)(40460700003)(41300700001)(81166007)(356005)(33656002)(36756003)(6506007)(82740400003)(86362001)(2616005)(336012)(478600001)(26005)(6512007)(47076005)(6486002)(36860700001)(6862004)(4326008)(8676002)(8936002)(54906003)(316002)(70586007)(70206006)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 15:28:34.6303
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b828910c-604e-4363-1166-08dbe45d334c
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:
	AMS0EPF000001A8.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6199

SGkgR2VvcmdlLA0KDQpUaGFua3MgYSBsb3QgZm9yIHRha2luZyB0aGUgdGltZSB0byBoYXZlIGEg
bG9vayBvbiB0aGF0Lg0KDQo+IA0KPiBMdWNhLA0KPiANCj4gVGhhbmsgeW91IHNvIG11Y2ggZm9y
IHRoZSB3b3JrIHRoYXQgeW91J3ZlIGRvbmUgaGVyZS4NCj4gDQo+IFRoZSBhcHByb2FjaCBpbiB5
b3VyIHYyIHNlcmllcyBsb29rcyBwbGF1c2libGUsIGFzIGRvZXMgYSBicmllZg0KPiBvdmVydmll
dyBvZiB0aGUgaXRlbXMgaW4gdGhpcyBsaXN0Lg0KPiANCj4gT25lIHByb2JsZW0gSSBoYXZlIGlz
IGhvdyB0byByZWFsbHkgZXZhbHVhdGUgdGhlIHByb3Bvc2VkIGNoYW5nZXMuICBJDQo+IHNwZW50
IGEgZmV3IG1pbnV0ZXMgc2tpbW1pbmcgdGhyb3VnaCB0aGUgIm1lZ2FkaWZmIiBbMV0gb3V0cHV0
IGZyb20NCj4gdGhlIHYyIHNlcmllcywgYW5kIHdoaWxlIGV2ZXJ5dGhpbmcgbG9va2VkIGZpbmUs
IHRoYXQgaXMgYSBIVUdFIHBhdGNoDQo+IHRvIHNraW0gdGhyb3VnaC4gIEkgZG9uJ3QgcmVhbGx5
IGhhdmUgYW55IHdheSB0byBrbm93IGlmIHRoZXJlJ3Mgc29tZQ0KPiBydWxlIGludHJvZHVjZWQg
dGhhdCBJIGRvbid0IHJlYWxseSBhZ3JlZSB3aXRoLg0KPiANCj4gT24gdGhlIG90aGVyIGhhbmQs
IEkgd2FudCB0byBhdm9pZCBidXN5IG1ha2Utd29yayBhbmQgdGhlIGludml0YXRpb24NCj4gdG8g
aW50ZXJtaW5hYmxlIGJpa2Utc2hlZGRpbmcgZGlzY3Vzc2lvbnMuDQo+IA0KPiBJcyBpdCBwb3Nz
aWJsZSwgZm9yIGluc3RhbmNlLCB0byBzdGFydCB3aXRoIGEgZGlmZiB3aGljaCB3aWxsIGVuZm9y
Y2UNCj4gKmp1c3QgdGhlc2Ugc2V0dGluZ3MqIChjb2x1bW4gd2lkdGgsIGluZGVudGF0aW9uLCBh
bmQgc28gb24pPyAgQW5kDQo+IHRoZW4gYWRkIG9uIG5ldyBjb2Rpbmcgc3R5bGUgY2hhbmdlcyBv
bmUgKG9yIGEgZmV3KSBhdCBhIHRpbWUsIGluIGENCj4gd2F5IHRoYXQgd291bGQgbWFrZSBpdCBl
YXNpZXIgdG8gdW5kZXJzdGFuZCB3aGF0IGVmZmVjdCBlYWNoIGNoYW5nZSBpcw0KPiBoYXZpbmc/
ICBJZiBzbywgZG8geW91IHRoaW5rIHRoYXQncyBhIHJlYXNvbmFibGUgYXBwcm9hY2g/DQo+IA0K
PiBJZiBub3QsIGhvdyBkbyB5b3UgcHJvcG9zZSB0byBwcm9jZWVkPw0KDQpZZXMgdGhleSBhcmUg
YSBsb3Qgb2YgbW9kaWZpY2F0aW9ucywgdGhlIGlzc3VlIGlzIHRoYXQgd2hlbiB3ZSBkb27igJl0
IHNwZWNpZnkNCmEgY29uZmlndXJhYmxlLCB0aGUgZGVmYXVsdCBvcHRpb24gd2lsbCB0YWtlIHBs
YWNlLCBzbyBpdOKAmXMgbm90IHJlYWxseSBmZWFzaWJsZQ0KdG8gcHJvZHVjZSBhbiBvdXRwdXQg
d2hlcmUgb25seSB0aGUgc3BlY2lmaWVkIGNvbmZpZ3VyYWJsZSB3aWxsIGFmZmVjdCB0aGUNCmZv
cm1hdC4NCg0KVGhlIGVhc2llc3QsIGJ1dCBkaWZmaWN1bHQgYXQgdGhlIHNhbWUgdGltZSwgd2F5
IEkgdGhvdWdodCB3ZSBjYW4gcHJvY2VlZCBpcw0KZGlzY3Vzc2luZyBhIHNldCBvZiBydWxlIGF0
IHRoZSB0aW1lIHdoZXJlIHdlIGFsbCAod2VsbCB0aGUgbWFpbnRhaW5lcnMpIGFncmVlDQppbiBw
cmluY2lwbGUsIHNvIHRoYXQgd2UgYXBwbHkgdGhlbSB0byB0aGUgY29kZWJhc2UgdW50aWwgdGhl
IGxpc3QgaXMgY29tcGxldGVkDQphbmQgYWxzbyBDT0RJTkdfU1RZTEUgY2FuIHJlZmxlY3QgdGhl
bS4NCg0KQW55d2F5IGlmIHNvbWVvbmUgY2FtZSB1cCB3aXRoIGEgYmV0dGVyIGlkZWEsIEnigJlt
IG9wZW4gdG8gc3VnZ2VzdGlvbnMuDQoNCkNoZWVycywNCkx1Y2ENCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:30:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:30:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631729.985371 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Yti-00088L-En; Mon, 13 Nov 2023 15:30:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631729.985371; Mon, 13 Nov 2023 15:30: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 1r2Yti-00088E-CC; Mon, 13 Nov 2023 15:30:46 +0000
Received: by outflank-mailman (input) for mailman id 631729;
 Mon, 13 Nov 2023 15:30: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2YlS-0005il-Oj
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:22:14 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c2103a2-8238-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:22:14 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-54394328f65so7044526a12.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:22:14 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 lu16-20020a170906fad000b0098884f86e41sm4167855ejb.123.2023.11.13.07.22.11
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:22:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c2103a2-8238-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888933; x=1700493733; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M4sm9DG4Z80HufhtnK5i8zUn8uDgyk6yGboQ8Gp5Uh8=;
        b=Hx4/J/M5boRN9Gt+jVpVZh1c+Q5YfL3KxrUENgke6Q4ER6+tRewrPNTpOHkgorHTpz
         SBoLumDHlWMxYqN/X4QG7mvetq8HBD7qp4VsQ3axz9zMER0APrbhfjwBQ3QspuxiwZ4X
         aSX97eIQlM6lqV4yIijLMR2hmys7hi84Cwbm5RA3ossss9SdsmawhgxUuSzbZRWz0sTW
         LE098Bn6dV6+a0X4rEofEXb2HefWNnjQOMp1EWQB4qka+pG3bRYG/TxkatXx2ycFCYXH
         gNJjB9fBZa7kQgQZssgipNMoMt3mcHi2Brd4ukJhwFaXtj2reFdcTn8Ez7Qt2f1Dtrju
         MM1g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888933; x=1700493733;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=M4sm9DG4Z80HufhtnK5i8zUn8uDgyk6yGboQ8Gp5Uh8=;
        b=rSsxXf1N3LkgAp/YTZdkUkqMrwF9QRrqqsGZYFhhCQ90x92kwLGXAhpdk3Cx9SPrjW
         CFU2W7nvwGuEWlTbYS5kEgBPIrTFKXHarjrwdAf6+z8yT/TFdAPmFpnbKamwxN8zPFyZ
         jkEtJmvMybV36575Czj7wXC6cSwamPWdd8DpbVrxUv5GohRBtKxnsh2ZG3syLqLE8NqU
         L1vUO/lZqsDfeL/7u2tBkyLEqAm1DBYStEh7bkjqgY2tgLc1uN/YvUjkb9WU7Zx87hm1
         dnjADkJHbF4+fy33yMiswzYxof1Lh96gia5knJAlvqAVoS5rO2R/BgwWfr/iry6jErM+
         3a9g==
X-Gm-Message-State: AOJu0YxWCW8gtzlgmmuWUWwPfk1HhSkJZd/iWRn1KaxaECZ6ewXizBX5
	sw6/GAuz+pJ6uYZjy8AmLoP7CA==
X-Google-Smtp-Source: AGHT+IHGfNKy17vE6nE5Sw7Yg/bCgxdoxzzgRWsVuH1JW/c7ZnqbwtyNJGeirXmng2B4mnP0CKSxhg==
X-Received: by 2002:a17:906:b092:b0:9de:2b93:cab9 with SMTP id x18-20020a170906b09200b009de2b93cab9mr5146163ejy.8.1699888933620;
        Mon, 13 Nov 2023 07:22:13 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 09/10] hw/xen: Extract 'xen_igd.h' from 'xen_pt.h'
Date: Mon, 13 Nov 2023 16:21:12 +0100
Message-ID: <20231113152114.47916-10-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

"hw/xen/xen_pt.h" requires "hw/xen/xen_native.h" which is target
specific. It also declares IGD methods, which are not target
specific.

Target-agnostic code can use IGD methods. To allow that, extract
these methos into a new "hw/xen/xen_igd.h" header.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
What license for the new "hw/xen/xen_igd.h" header?
---
 hw/xen/xen_pt.h             | 14 --------------
 include/hw/xen/xen_igd.h    | 23 +++++++++++++++++++++++
 accel/xen/xen-all.c         |  1 +
 hw/i386/pc_piix.c           |  1 +
 hw/xen/xen_pt.c             |  3 ++-
 hw/xen/xen_pt_config_init.c |  3 ++-
 hw/xen/xen_pt_graphics.c    |  3 ++-
 hw/xen/xen_pt_stub.c        |  2 +-
 8 files changed, 32 insertions(+), 18 deletions(-)
 create mode 100644 include/hw/xen/xen_igd.h

diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index 31bcfdf705..da5af67638 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -5,9 +5,6 @@
 #include "xen-host-pci-device.h"
 #include "qom/object.h"
 
-bool xen_igd_gfx_pt_enabled(void);
-void xen_igd_gfx_pt_set(bool value, Error **errp);
-
 void xen_pt_log(const PCIDevice *d, const char *f, ...) G_GNUC_PRINTF(2, 3);
 
 #define XEN_PT_ERR(d, _f, _a...) xen_pt_log(d, "%s: Error: "_f, __func__, ##_a)
@@ -52,12 +49,6 @@ typedef struct XenPTDeviceClass {
     XenPTQdevRealize pci_qdev_realize;
 } XenPTDeviceClass;
 
-uint32_t igd_read_opregion(XenPCIPassthroughState *s);
-void xen_igd_reserve_slot(PCIBus *pci_bus);
-void igd_write_opregion(XenPCIPassthroughState *s, uint32_t val);
-void xen_igd_passthrough_isa_bridge_create(XenPCIPassthroughState *s,
-                                           XenHostPCIDevice *dev);
-
 /* function type for config reg */
 typedef int (*xen_pt_conf_reg_init)
     (XenPCIPassthroughState *, XenPTRegInfo *, uint32_t real_offset,
@@ -343,11 +334,6 @@ static inline bool xen_pt_has_msix_mapping(XenPCIPassthroughState *s, int bar)
 void *pci_assign_dev_load_option_rom(PCIDevice *dev, int *size,
                                      unsigned int domain, unsigned int bus,
                                      unsigned int slot, unsigned int function);
-static inline bool is_igd_vga_passthrough(XenHostPCIDevice *dev)
-{
-    return (xen_igd_gfx_pt_enabled()
-            && ((dev->class_code >> 0x8) == PCI_CLASS_DISPLAY_VGA));
-}
 int xen_pt_register_vga_regions(XenHostPCIDevice *dev);
 int xen_pt_unregister_vga_regions(XenHostPCIDevice *dev);
 void xen_pt_setup_vga(XenPCIPassthroughState *s, XenHostPCIDevice *dev,
diff --git a/include/hw/xen/xen_igd.h b/include/hw/xen/xen_igd.h
new file mode 100644
index 0000000000..52f1f8244c
--- /dev/null
+++ b/include/hw/xen/xen_igd.h
@@ -0,0 +1,23 @@
+#ifndef XEN_IGD_H
+#define XEN_IGD_H
+
+#include "hw/xen/xen-host-pci-device.h"
+
+typedef struct XenPCIPassthroughState XenPCIPassthroughState;
+
+bool xen_igd_gfx_pt_enabled(void);
+void xen_igd_gfx_pt_set(bool value, Error **errp);
+
+uint32_t igd_read_opregion(XenPCIPassthroughState *s);
+void xen_igd_reserve_slot(PCIBus *pci_bus);
+void igd_write_opregion(XenPCIPassthroughState *s, uint32_t val);
+void xen_igd_passthrough_isa_bridge_create(XenPCIPassthroughState *s,
+                                           XenHostPCIDevice *dev);
+
+static inline bool is_igd_vga_passthrough(XenHostPCIDevice *dev)
+{
+    return (xen_igd_gfx_pt_enabled()
+            && ((dev->class_code >> 0x8) == PCI_CLASS_DISPLAY_VGA));
+}
+
+#endif
diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 5ff0cb8bd9..0bdefce537 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -15,6 +15,7 @@
 #include "hw/xen/xen_native.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "chardev/char.h"
 #include "qemu/accel.h"
 #include "sysemu/cpus.h"
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index eace854335..a607dcb56c 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -56,6 +56,7 @@
 #ifdef CONFIG_XEN
 #include <xen/hvm/hvm_info_table.h>
 #include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #endif
 #include "hw/xen/xen-x86.h"
 #include "hw/xen/xen.h"
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 36e6f93c37..a8edabdabc 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -59,7 +59,8 @@
 #include "hw/pci/pci.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
-#include "xen_pt.h"
+#include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "hw/xen/xen.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "qemu/range.h"
diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
index 2b8680b112..ba4cd78238 100644
--- a/hw/xen/xen_pt_config_init.c
+++ b/hw/xen/xen_pt_config_init.c
@@ -15,7 +15,8 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/timer.h"
-#include "xen_pt.h"
+#include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "hw/xen/xen-legacy-backend.h"
 
 #define XEN_PT_MERGE_VALUE(value, data, val_mask) \
diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c
index 0aed3bb6fd..6c2e3f4840 100644
--- a/hw/xen/xen_pt_graphics.c
+++ b/hw/xen/xen_pt_graphics.c
@@ -3,7 +3,8 @@
  */
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "xen_pt.h"
+#include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "xen-host-pci-device.h"
 
 static unsigned long igd_guest_opregion;
diff --git a/hw/xen/xen_pt_stub.c b/hw/xen/xen_pt_stub.c
index 5c108446a8..72feebeb20 100644
--- a/hw/xen/xen_pt_stub.c
+++ b/hw/xen/xen_pt_stub.c
@@ -6,7 +6,7 @@
  */
 
 #include "qemu/osdep.h"
-#include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "qapi/error.h"
 
 bool xen_igd_gfx_pt_enabled(void)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:35:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:35:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631736.985381 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Yxj-00017A-UO; Mon, 13 Nov 2023 15:34:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631736.985381; Mon, 13 Nov 2023 15: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 1r2Yxj-000173-Rk; Mon, 13 Nov 2023 15:34:55 +0000
Received: by outflank-mailman (input) for mailman id 631736;
 Mon, 13 Nov 2023 15: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2YlZ-0005il-1J
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:22:21 +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 70027308-8238-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:22:20 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-54553e4888bso6893748a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:22:20 -0800 (PST)
Received: from m1x-phil.lan ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 lw27-20020a170906bcdb00b009de11bcbbcasm4238875ejb.175.2023.11.13.07.22.18
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Mon, 13 Nov 2023 07:22:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 70027308-8238-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699888940; x=1700493740; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z2PpOM4WQ+uf4xck1acJwuABeC89nz7da2f3K2pGLBg=;
        b=U+3ipKtyp5p1l6dXSqpdO3ts4CnflliP0KAIZGvl5PPnYbOytr4thmGtKNukPSbSNj
         VIW/fBcMZtqp0Sp7Qt3T4VPzQpkfUe6CWhT6eeTXMpQ7ifprmk+r6VTu/F2idGXT14GK
         UAc9J4exvtLeihc5qRhWQuGmnLAfDZzdw9mElDeJe+6JkAem+iY6swUdG/PJNvLJDhs7
         W3EO4zcYyCkqmUOMIFwgKJfiwJsesrq4VBdSIidFgS+NXajDU9QE1Fi+BfVQDg2gb7yh
         RMziBfYP5ATrP6qgjP6YWDDaWCiqY+5TF66Brgz4IvXPfomHmhQlfuKqQ/O0vDX+UF2F
         f+mg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699888940; x=1700493740;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=z2PpOM4WQ+uf4xck1acJwuABeC89nz7da2f3K2pGLBg=;
        b=ro6iGkumsmcEsBHrhdcWaZ5sqX6zONMVYX6bCYXh76YYIecsmSgMw3t7N7KoQeOb3g
         2NyHym5iv7pC81+TK/nbMJfFyxd7DFzZQo2KnAGfDXtoz+udfNv/wAwab5pUncVxnl5g
         ditIJncEWFDv8HCj8WNUoGZiq1fQtp/roLfmMd0m+iHbUY6UkeHDSRveZo8wgUkTsB3v
         ht+AJfKs2LQXh6WxTBtqRCefVlLprp8+zEhtK9D3YQXPh8PSRSQWMLtwoRrE6osMWOU6
         DzhWjuBEWxtRlTAk0+7tp9HhV2TSEoGd9XvUY/don0vMyNZ6eNgCU960eq3Zf33VlzND
         gV6A==
X-Gm-Message-State: AOJu0YzkpKiTuz/l7m7Ux/vPjV1nLm4/C3sJz0TFbnFRopuZ+NxhX9KP
	XkpyamjRmUaBXB2yZTO/HZ27oQ==
X-Google-Smtp-Source: AGHT+IFN0oQYvnRoNATsOZJ25LMlTXynSPofCu2en/Z0LYSJQyfcBbtJzfmWQwHuJeMUC7biyDShHw==
X-Received: by 2002:a17:906:f2c3:b0:9bd:a738:2bfe with SMTP id gz3-20020a170906f2c300b009bda7382bfemr5045867ejb.38.1699888940071;
        Mon, 13 Nov 2023 07:22:20 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	xen-devel@lists.xenproject.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	qemu-block@nongnu.org,
	Thomas Huth <thuth@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	qemu-arm@nongnu.org,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [PATCH-for-9.0 10/10] hw/xen: Have most of Xen files become target-agnostic
Date: Mon, 13 Nov 2023 16:21:13 +0100
Message-ID: <20231113152114.47916-11-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231113152114.47916-1-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Previous commits re-organized the target-specific bits
from Xen files. We can now build the common files once
instead of per-target.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 accel/xen/meson.build          |  2 +-
 hw/block/dataplane/meson.build |  2 +-
 hw/xen/meson.build             | 13 ++++---------
 3 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/accel/xen/meson.build b/accel/xen/meson.build
index 002bdb03c6..455ad5d6be 100644
--- a/accel/xen/meson.build
+++ b/accel/xen/meson.build
@@ -1 +1 @@
-specific_ss.add(when: 'CONFIG_XEN', if_true: files('xen-all.c'))
+system_ss.add(when: 'CONFIG_XEN', if_true: files('xen-all.c'))
diff --git a/hw/block/dataplane/meson.build b/hw/block/dataplane/meson.build
index 025b3b061b..4d8bcb0bb9 100644
--- a/hw/block/dataplane/meson.build
+++ b/hw/block/dataplane/meson.build
@@ -1,2 +1,2 @@
 system_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c'))
-specific_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
+system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index d887fa9ba4..29adfadd1c 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -9,15 +9,12 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
 
 system_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-operations.c',
+  'xen-hvm-common.c',
+  'xen-mapcache.c',
 ))
 
-xen_specific_ss = ss.source_set()
-xen_specific_ss.add(files(
-  'xen-mapcache.c',
-  'xen-hvm-common.c',
-))
 if have_xen_pci_passthrough
-  xen_specific_ss.add(files(
+  system_ss.add(files(
     'xen-host-pci-device.c',
     'xen_pt.c',
     'xen_pt_config_init.c',
@@ -26,7 +23,5 @@ if have_xen_pci_passthrough
     'xen_pt_msi.c',
   ))
 else
-  xen_specific_ss.add(files('xen_pt_stub.c'))
+  system_ss.add(files('xen_pt_stub.c'))
 endif
-
-specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:46:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:46:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631741.985391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Z8M-000559-TE; Mon, 13 Nov 2023 15:45:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631741.985391; Mon, 13 Nov 2023 15:45: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 1r2Z8M-000552-QN; Mon, 13 Nov 2023 15:45:54 +0000
Received: by outflank-mailman (input) for mailman id 631741;
 Mon, 13 Nov 2023 15:45: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=hUCv=G2=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r2Z8K-00054u-QC
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:45:52 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20622.outbound.protection.outlook.com
 [2a01:111:f400:7e89::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6c60e4a-823b-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 16:45:49 +0100 (CET)
Received: from BLAP220CA0010.NAMP220.PROD.OUTLOOK.COM (2603:10b6:208:32c::15)
 by SN7PR12MB6840.namprd12.prod.outlook.com (2603:10b6:806:264::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28; Mon, 13 Nov
 2023 15:45:43 +0000
Received: from BL6PEPF0001AB52.namprd02.prod.outlook.com
 (2603:10b6:208:32c:cafe::13) by BLAP220CA0010.outlook.office365.com
 (2603:10b6:208:32c::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Mon, 13 Nov 2023 15:45:42 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB52.mail.protection.outlook.com (10.167.241.4) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.14 via Frontend Transport; Mon, 13 Nov 2023 15:45:42 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Mon, 13 Nov
 2023 09:45:41 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 09:45:39 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b6c60e4a-823b-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cFbtYXr+nhqj9JltphGKRgtY5e771GZKq12XihcEU4WIbyrcNwKsQVz1EoJW1lbQYr0uiFUgMXtGKn2fhJcpH4rNpzkPe5e8yvWdbzEkQDw4CzlchLl1kSw43IScNYeQgMP9sGrFkgGELh5BrKr2r6inRowN0qUWUWXYVdsTSaxg4oM4yPXggH74+q9s0bwoWTM24goEJ3e93nQERSJUAhWAZLbVpvWK3Jf3tMkVq4Lv5Z4jV5I0polBYZnkEcEK1hL9w9ia5zZWSRhyU767kQAwVX7G3VTLvZ8/dagphSHBbLeQlr5XJ9mb9icjTA8B13+5vwMsC4XfiCi1mfx68Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IQ3iVtCuw7LHIp5q2i34h3cMVfXC0ZsvJqh/O76MLeY=;
 b=IzH5EZ0IKje0pPyuDrBZYmIR79C02WhN84k37UC0f6Nc9S/TTxfLvj2JqZkcK1kG/PR88z8VXZr0OUrARuGv9oO5vxHCHhe2oFS9Sddzibb+RlbrW+2jv/RVfEnD4+Sw1yEecEdCNg1njCm9J9oKHk/yto9ZSXt9V89zxlZ5cAiE6hu1Lgl1/nUXq6Sb8DsSx9HkxVZwJ3G6qFngggy+Azp0T+HoTNUAP5K/7xFoH2Z/4zZxZveFI89c0906mASr5U0vn1rd01NMpZM6ntHVz9gqPCtmIDu+zkUbHldLhMGzuG3R+mjybyCjnOtVCiSL+Z00+thLNHlODiOisEQNrA==
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 (0)
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=IQ3iVtCuw7LHIp5q2i34h3cMVfXC0ZsvJqh/O76MLeY=;
 b=npfyZxicgDlOKCvR6dT0Kw31Wxo0iS9k2JKQh6EAK3DAgYLOfqvtH/D8lemn3M49Nruqd+yNPqkPD1g7XkCzpXSbs/4IlERHEm3ph+u/d96tCErRZZp7TJ36dt4H56H1nIODLaA/Dj4QlM59/PHOJkZDCo5x7ERO8l6MZBOWLS4=
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: <dc874a3f-e7d9-4c8c-9359-f5db191346ca@amd.com>
Date: Mon, 13 Nov 2023 16:45:39 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Rahul Singh
	<Rahul.Singh@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231113090841.595428-1-luca.fancellu@arm.com>
 <20231113090841.595428-4-luca.fancellu@arm.com>
 <8a4431da-7e48-4b71-9f62-154edcc5968c@amd.com>
 <91ACC322-B543-4675-BC56-D8D284BC7CA8@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <91ACC322-B543-4675-BC56-D8D284BC7CA8@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB52:EE_|SN7PR12MB6840:EE_
X-MS-Office365-Filtering-Correlation-Id: 5523b1e3-b929-4ac4-261e-08dbe45f97fb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kHRo7okbehALxds2+eZtmpkFOtJn+hxSOSkucdM8jYkfXuo9YDmhRfkkRjxt14H/FNDRSELmpjN8lTPk9sbOT1CgtTDDiSYUt1UdD+mAdF4d+YGXmPjl0VKDAlGsRMlaZ2DLa/yQ3D4SowrW8UZ/RJzs2QSfGx7eYPyzAn1qSCA5I7HdpTLFhbpDwJmfLdUEG69XOHI/FfhfZvVcwCKNUmImeNYmkx2VhErt1P6ped1ivYHusPiVlJxNSHaUHNgyxRceFOXyTOra/Li1EDhF9u+ka/CpAmIFIC+ZBG2qOPAUyeGWKc8/U7H2k+sHQFgrV6yUUJKqSnqdlAfCvo1NieyzCaIKtv8mrWQGb510buWpDIu+ptXVhKx59JJKhM8sslWLinbNWs3EeDBOpnZPCzof9xGi+JBcAazN242m4je+mI1KN0o6FYx7CKRs9f6oW7JQZcCBX+0XITOR2C5l/MAElXp56P7DwC3ZEE20qUBVFAK/Hl1xFgEex7yrp9SvT1DwZxzqVrSLogqPdrtL8aBttVq9WhDFxsXBzVO0PmC/KYxVS6NFBDXg6s+WmwaWMvLmJ5VvWJugcdSaeWfwdabfKaMrEufdd53YFArjaPGCvucbtu3yK91KJB2cktMsjyO7ulpWvPh/bH06nNvNdj5DIJU6gOkyb8HVU0kLOVNsXsMKjQYTa1IRHBbrkuxNppFgwBCFgfVURYbuzJayl4be4xhvNCfa6WivOY2fW1dIop7vTUfJ/rb+N0PnnMtnRut7BooBinibtTeyMmipx7ASZwjBgrgJdmtSvxn/20vH+dDT+aS6tg6//ETRZUVkMTmcnFqF8AiaYy4aJG9kqQ==
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:(13230031)(4636009)(39860400002)(346002)(136003)(376002)(396003)(230922051799003)(186009)(1800799009)(82310400011)(64100799003)(451199024)(40470700004)(46966006)(36840700001)(478600001)(81166007)(36756003)(356005)(53546011)(336012)(426003)(47076005)(16576012)(6916009)(316002)(70206006)(70586007)(54906003)(31686004)(41300700001)(40480700001)(83380400001)(31696002)(44832011)(4326008)(8676002)(8936002)(40460700003)(5660300002)(82740400003)(4744005)(86362001)(2616005)(2906002)(26005)(36860700001)(32563001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 15:45:42.4027
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5523b1e3-b929-4ac4-261e-08dbe45f97fb
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:
	BL6PEPF0001AB52.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB6840

Hi Luca,

On 13/11/2023 15:17, Luca Fancellu wrote:
> 
> 
>> On 13 Nov 2023, at 11:58, Michal Orzel <michal.orzel@amd.com> wrote:
>>
>> Hi Luca,
>>
>> Apart from pending question on static event channels code movement, a few NITs.
> 
> Related to that, it seems to me that this part can be handled by a separate patch/serie from
> this one, moving code from domain_build.c to a new module, so I’m wondering, is this point
> a blocker for this serie?
My recommendation was to move it to dom0less-build for now if we all agree that it should be guarded
by dom0less. That said, it is not a blocker from my POV. I can handle it later on after your series.

~Michal



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:53:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:53:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631747.985402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ZFr-0008Qh-KE; Mon, 13 Nov 2023 15:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631747.985402; Mon, 13 Nov 2023 15: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 1r2ZFr-0008Qa-HX; Mon, 13 Nov 2023 15:53:39 +0000
Received: by outflank-mailman (input) for mailman id 631747;
 Mon, 13 Nov 2023 15:53: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=tkTp=G2=epam.com=prvs=5681af493a=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r2ZFq-0008QS-GC
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:53:38 +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 cdcffa0e-823c-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:53:37 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ADFUj6G028016; Mon, 13 Nov 2023 15:53:33 GMT
Received: from eur01-he1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2050.outbound.protection.outlook.com [104.47.0.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ubk0rs92v-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 13 Nov 2023 15:53:32 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by PA4PR03MB6893.eurprd03.prod.outlook.com (2603:10a6:102:eb::24) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Mon, 13 Nov
 2023 15:53:28 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023
 15: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>
X-Inumbo-ID: cdcffa0e-823c-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ufh+ui458jT/tIE1XYuSiugPrmyQfXtkoNgREXLC76ey05cKDB3+9sj/t2qsTSQfMZBnb3GGka3UMahthL2+FLlp63OnyZAz0cPJTeayluYkHCzt9UI/96UFyHs+PoCeDvGhQY2dl2btWcdw9/F5P3OflktlDj/cAaVdSJ5ort2MLSxdV06hQj8E326DfUltfIrdeV5l6Mhcl8M4szBI0Y5Xh/HQH8z0PiOEN/ZQWBaP3LtOTRVfrJIwaOu4vk6J1frfGmTRFhmOTN2TBW0mq1qBTohP5CludYlFwY/RSWyfAbwhuPEO62JnH8iHeq3PthwfADUuXOR9FitcHArKXg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ETMtRESNJmr+goj+uKvRRM2zLqwLPCkv27sDTe2V00g=;
 b=j7s834UTT5EAMsvA1ynxtIp3Ce59ryCLm6CSmQgueX7n/ETfuFtJfO116YoAkX6ZGnDR6UrL6wsnM1mD0iyg/t3yZdy+dclNpTxE2IhxD6ohzcE+XBgfW7h28du+ebmMcUWso5muX5IZJTvcVK+OEXNVlo6aG0X/zIJtH6RyB9JWsofh69kwKtezfxP+zgydAFU3UxEfYuMkJH9nrFrcYjNRkfSF7BYupMI9d6iFw0Bg2AQNkEzzAd1MsIBq1G1ZGyPkRCoTJi4uYoWf1VcC5L7FXM/T4UOfXJ2A2KcFCc2VD6pndiYDuJSZE5RxSmkQAjjDGbmpTqjdZ4mWFay/MQ==
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=ETMtRESNJmr+goj+uKvRRM2zLqwLPCkv27sDTe2V00g=;
 b=PCROIdLtaYOcJdg3D1NqNSogWfWYfs0fNcY3KEThtgSIkpc/CwqtphRiqPS6TOxDDiHSa4A47EJpJ+L01ZysPm7UDV2pHzqc+3+p72MQauOr36oY9bOr7kc6Rt0SlYe9NR19/2PwK1iEqACTGasALnfvmlNGNLKbq6Ufl7U+hpWPTsrjggF2a+JRwG6iCGVrAmfMHGIcEhrmfoZuz1thjkD3QIFFeDVQG0cJVbnykMJHqMZzJmxcMdESxiXy7RfdbBX/g1exAEb0Z+KMHHl8g/kz950nc6OeBzKV6XJ0pKTYujIZIvXEgA+mF1b1l+qyKH/QEsZLf30QeyTP4SMmfA==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 3/7] xen/events: reduce externally visible helper
 functions
Thread-Topic: [PATCH 3/7] xen/events: reduce externally visible helper
 functions
Thread-Index: AQHZ//oKavD9kfGMLE6r3CZA/iY8BbB4kyCA
Date: Mon, 13 Nov 2023 15:53:28 +0000
Message-ID: <86612c88-5ea9-4730-acf3-2a7e40804c27@epam.com>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-4-jgross@suse.com>
In-Reply-To: <20231016062831.20630-4-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-traffictypediagnostic: DB8PR03MB6108:EE_|PA4PR03MB6893:EE_
x-ms-office365-filtering-correlation-id: bb885ef5-0d95-491a-a81e-08dbe460ad7e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 lE+WyCYjoABhSSUmGpvWhEqyxv7PzEK+HtTmSryyuuQKnbyI9ah5DfOHIjUUj5NLmU0rHMBLQwmd6UGR+DSk3gYcCgL83FvH72qCejlNKJCsXKT+q4A38As9j7vudPo8hOpgRh2UCLlT6DFHKeucfb7iD8ay+Pt8oMYMF/gE4QYFaD81JTMjv37dlQ0IEgZGEIethdKcZ4WmMsawu0N234/jTkLYpM6bBIg6O4JzC6uJJOV05bCttt/u0L/WZ9MwboQoaJITqWFZ+dqBmM4zY4TYaiV0Q2I9QfZuqVMdbfDhdgTzJ2RkDh1MxKfpK3bpSrQr05MfKrJiImwK2N6cZosrNibVFx6ZPan6XvgiuEqF4PcV8vg0x3b5AxCTK/7BA1Pf7eagDMvebl0FX3DR/5r7ACWP7NyvDkfdbJikVynNxLwwYabluEjmU4eBhBU5MtMSMq0OGKSDfpyLomyictQ1cdQLN03LOt/P2CvTIS5RqlpMbXN0jKAdmqS22CynDIjGZIq2OH3YoEtP1qJE3Pp7sSUY1JQWKLh2xNVGKymNN6J/a/wpDCjywR7upnql9tv2SiFMGIUrJ4GF05jCY77NGEXdKT7Wi6yzBNOyYqQenDmwCh+3zT8qPT+Yox8cpWpz43n8yXdi8gK6BYSmEaYZNbgWK1Szeez0/g0wpZq0eWJ0BObB3mGDo7v4jl3G
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:(13230031)(396003)(376002)(346002)(136003)(366004)(39860400002)(230273577357003)(230173577357003)(230922051799003)(1800799009)(64100799003)(186009)(451199024)(4326008)(8936002)(8676002)(83380400001)(86362001)(31686004)(26005)(41300700001)(53546011)(2616005)(55236004)(38100700002)(122000001)(6506007)(316002)(36756003)(31696002)(64756008)(66556008)(110136005)(54906003)(66946007)(66476007)(76116006)(66446008)(91956017)(6512007)(38070700009)(71200400001)(5660300002)(6486002)(2906002)(478600001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?TFJUU1UvdmpvNjNnYnZOMzdqRk1FdUJ5VzVKUzlOZ3U0NEo2MTRWakhpWjg5?=
 =?utf-8?B?RzNORTh4Nmo1MVlpSCtVbm8yeGJ4Vm5NbkgxNzloM3Y2b3ZQUHJKTjZNRFlS?=
 =?utf-8?B?K1NsRzJlRkNTY2c1T210WTB3RHFrdURXWnVlRDNrODJXOXlNUlcwc3BuSHNI?=
 =?utf-8?B?MU44THc5Unp6aTVCUDFZZUM0VUl1SXVuWEJoMmtOanBNTFdFTzVWbjZhMjkr?=
 =?utf-8?B?c0VLMDh0bm05Ry96TWhqRlA3TWxlQVhHWXp4ajhUYTlENVpTTUdKdG9GVGFk?=
 =?utf-8?B?N051MTFmK0prUmttcWtyRlBWQ09WOUZqcTdBN1lDZGdzT05NVVFENUg5dlRG?=
 =?utf-8?B?MFh3Ym9ZamZidWttUTk0dHBrTzl2NGpMdTB1UmhxZk96aVp1QTNibUVIMjFK?=
 =?utf-8?B?am0rVGNIRDgvOW94bE9DZk9kc0tLaTFwdmZGUjZzRVQ2VjBqcmtETGw0RlZV?=
 =?utf-8?B?THVLNEo2eWNnV2dxVEtZeStFN0t0ZVZIbTN1MWwyN1ExQUI3WTFRZC9HeERN?=
 =?utf-8?B?VWh1UDZDTXZ0T2lSRWl2eHFydVJOQWVEL0grSllaOUI1T1I5WFI0am1rZmF0?=
 =?utf-8?B?UEE0UVpYN25rbW91UUtreUNRdnRvVUdkWlI3VkJqa2tDTVRUZkFnZURteVdo?=
 =?utf-8?B?QXdJOGJqQnl2dGF0S1B5OGxPMkJBOU5YRUlvanRRZEhuZVBFcWx0UjN3clg5?=
 =?utf-8?B?K2lWMzJmTnJJaExxSFIyZkZ3YUJpVkpjdmtyZ3NDQVBNc0M5MzZ3dUZja085?=
 =?utf-8?B?bGVIYS9seUcwVWIzOUoreHhaUk1UV3Z0alduV1kvOE9nSXlqYkZTV2VuMGVH?=
 =?utf-8?B?YlJTUWhlMVVOVUdOY1VHeHdJSGR0K20zd3o0VDBoKzZ6b0trSmtqaVZxZlVy?=
 =?utf-8?B?VndBZHhYRHMzRlVwR2M4SHpQMDhHNDJ0SFZuVnBvTmpBL09mTEJZclRuM0hw?=
 =?utf-8?B?SDlDQ2FKWGhTZzhaOWFNRkdzUG1uTlZCNi9GTDZiMkt3amxwSHVMQkJrUHY1?=
 =?utf-8?B?WmJUZWorTmNjTnNkUlRBZGtyTUY2ZmlmdmRwa0ViNUVxQVRuYmZvRFgzeFhM?=
 =?utf-8?B?Uk9sYmxnTER3YjB3MkRQZU1vSHFvbW5RdHprZnRIMjQ5OUc3Q21KVUMvRE0w?=
 =?utf-8?B?TmlmRU1USGFMMjFtOEhwZWJhQ0daTFpkZFlSUjVBN3hDNEpibTE3VHpmeWxh?=
 =?utf-8?B?dGN4Z05Tak1wRHdiMy9ZV28zaDJqWkxtMWRFVUx3aUpzbkgwRXhGK3lNSlVS?=
 =?utf-8?B?NXdkTkZpc1FTNUpQczJSV0hWcitOMkJzTm1mQUVMUnM1QlUzbXNKekhrMW00?=
 =?utf-8?B?SVR4YkNTcjFsQUFDcmtRM1VzUnlUNW1HNmdXRXpaYjI1Vm4rdzRZZXAySkty?=
 =?utf-8?B?OXZUNGR3ZFZlclYwWDBOaWs5dE9IZ1pzaEdPdUxHNGErZ0ZDcGhSTmhBeFR3?=
 =?utf-8?B?MHdGSnZMSis3aVNrTnRZc2Y1czRPMFpRVVJFUjVpKzN3MFZ5NWhPdTZwT3dk?=
 =?utf-8?B?N1h1cmJiZWQ1YXgyN1VJZHlabndaVTQ0TEJ6Tkdzcm41cDJ1ZHVaSkpKNENB?=
 =?utf-8?B?R05zc2lrc0JMclI1UlY2RE53V1VKc0NMN0N3WGVTaitHZ2NPR3ZSSHNNSlV2?=
 =?utf-8?B?UTU1MkpUOHJ0ZXZiSGFVZEliaTUrWTZuSEhZWXoyR1UxN1M4bkE3dkZ4TGNT?=
 =?utf-8?B?RDV1MHFYZGlQcTVobVA1ZkZsUmh4V04ya2FqMU5PQ0UrcDJuZUg1WUhFVmxx?=
 =?utf-8?B?ejkvV3RKdmtzQ2Q5cnVoRjQ0ZXh4K1cwN3FSc3VHVGQ5SmdrT1pVRnZ3WUVi?=
 =?utf-8?B?anUrVzJxcmppZURXSUQ4MXZBOHE4M0toSE44ZlJwem9CckpJVjVLd0lNeHkz?=
 =?utf-8?B?Q004cG1SQzBDTk0zSElNYlN5OTNlaG94a0k5Z20wNHRNcjNNNGJrWmhWSVZW?=
 =?utf-8?B?cUZDZkJtMHdZMVdEVDZzZlFENTl6L055cTdNclpIdWY3azk1WG9mVkNoWHpS?=
 =?utf-8?B?RVhwTU9Ec2VmUzFsQ2tDaGxaVDh6Wk4vTm95Sk9KVW1pOC9qczRIZ2RjbjVS?=
 =?utf-8?B?T3djRTE0d0daZU0yMktZemVZcUhZdmYzWGJGQ0VNL3EwSmlmbWg3R0ErTFRL?=
 =?utf-8?B?TTB6ZE9yMW1pdk43NE1LSjFzQUFpSS9lV0Z4eG5icndyVDJ4R3cxRnBCNWVC?=
 =?utf-8?Q?XzyaUVmLG/XRw6iYgZIIHzc=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D120A4ED1730A742B851EE66EA44C5E5@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: bb885ef5-0d95-491a-a81e-08dbe460ad7e
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Nov 2023 15:53:28.1575
 (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: RQ6kBYLdW9Q5jrz1bc9asN0d+NZIoYXG9vYS5mp9DiyWz4+GQyCG4owG6WZUQe5DYNj5z1qpxPfbpdhYw1EOeBQy88vnop0/bsS+2Kp0ey8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB6893
X-Proofpoint-GUID: pV8qRS2m9tEHSdArQchcymCNt80g-bAQ
X-Proofpoint-ORIG-GUID: pV8qRS2m9tEHSdArQchcymCNt80g-bAQ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-13_05,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 impostorscore=0 mlxlogscore=800 suspectscore=0 malwarescore=0 mlxscore=0
 bulkscore=0 phishscore=0 clxscore=1015 adultscore=0 spamscore=0
 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311130129

DQoNCk9uIDE2LjEwLjIzIDA5OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQoNCkhlbGxvIEp1
ZXJnZW4NCg0KPiBnZXRfZXZ0Y2huX3RvX2lycSgpIGhhcyBvbmx5IG9uZSBleHRlcm5hbCB1c2Vy
IHdoaWxlIGlycV9mcm9tX2V2dGNobigpDQo+IHByb3ZpZGVzIHRoZSBzYW1lIGZ1bmN0aW9uYWxp
dHkgYW5kIGlzIGV4cG9ydGVkIGZvciBhIHdpZGVyIHVzZXIgYmFzZS4NCj4gTW9kaWZ5IHRoZSBv
bmx5IGV4dGVybmFsIHVzZXIgb2YgZ2V0X2V2dGNobl90b19pcnEoKSB0byB1c2UNCj4gaXJxX2Zy
b21fZXZ0Y2huKCkgaW5zdGVhZCBhbmQgbWFrZSBnZXRfZXZ0Y2huX3RvX2lycSgpIHN0YXRpYy4N
Cj4gDQo+IGV2dGNobl9mcm9tX2lycSgpIGFuZCBpcnFfZnJvbV92aXJxKCkgaGF2ZSBhIHNpbmds
ZSBleHRlcm5hbCB1c2VyIGFuZA0KPiBjYW4gZWFzaWx5IGJlIGNvbWJpbmVkIHRvIGEgbmV3IGhl
bHBlciBpcnFfZXZ0Y2huX2Zyb21fdmlycSgpIGFsbG93aW5nDQo+IHRvIGRyb3AgaXJxX2Zyb21f
dmlycSgpIGFuZCB0byBtYWtlIGV2dGNobl9mcm9tX2lycSgpIHN0YXRpYy4NCj4gDQo+IFNpZ25l
ZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpSZXZpZXdlZC1i
eTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29tPg0K
DQpUd28gTklUcyAqTk9UKiBkaXJlY3RseSByZWxhdGVkIHRvIGN1cnJlbnQgcGF0Y2ggYmVsb3cu
DQoNCg0KPiAtLS0NCj4gICBkcml2ZXJzL3hlbi9ldmVudHMvZXZlbnRzXzJsLmMgICAgICAgfCAg
OCArKysrLS0tLQ0KPiAgIGRyaXZlcnMveGVuL2V2ZW50cy9ldmVudHNfYmFzZS5jICAgICB8IDEz
ICsrKysrKysrKy0tLS0NCj4gICBkcml2ZXJzL3hlbi9ldmVudHMvZXZlbnRzX2ludGVybmFsLmgg
fCAgMSAtDQo+ICAgaW5jbHVkZS94ZW4vZXZlbnRzLmggICAgICAgICAgICAgICAgIHwgIDQgKyst
LQ0KPiAgIDQgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0p
DQo+IA0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c18ybC5jIGIvZHJp
dmVycy94ZW4vZXZlbnRzL2V2ZW50c18ybC5jDQo+IGluZGV4IGI4ZjJmOTcxYzJmMC4uZTM1ODUz
MzBjZjk4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3hlbi9ldmVudHMvZXZlbnRzXzJsLmMNCj4g
KysrIGIvZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c18ybC5jDQo+IEBAIC0xNzEsMTEgKzE3MSwx
MSBAQCBzdGF0aWMgdm9pZCBldnRjaG5fMmxfaGFuZGxlX2V2ZW50cyh1bnNpZ25lZCBjcHUsIHN0
cnVjdCBldnRjaG5fbG9vcF9jdHJsICpjdHJsKQ0KPiAgIAlpbnQgaTsNCj4gICAJc3RydWN0IHNo
YXJlZF9pbmZvICpzID0gSFlQRVJWSVNPUl9zaGFyZWRfaW5mbzsNCj4gICAJc3RydWN0IHZjcHVf
aW5mbyAqdmNwdV9pbmZvID0gX190aGlzX2NwdV9yZWFkKHhlbl92Y3B1KTsNCj4gKwlldnRjaG5f
cG9ydF90IGV2dGNobjsNCj4gICANCj4gICAJLyogVGltZXIgaW50ZXJydXB0IGhhcyBoaWdoZXN0
IHByaW9yaXR5LiAqLw0KPiAtCWlycSA9IGlycV9mcm9tX3ZpcnEoY3B1LCBWSVJRX1RJTUVSKTsN
Cj4gKwlpcnEgPSBpcnFfZXZ0Y2huX2Zyb21fdmlycShjcHUsIFZJUlFfVElNRVIsICZldnRjaG4p
Ow0KPiAgIAlpZiAoaXJxICE9IC0xKSB7DQo+IC0JCWV2dGNobl9wb3J0X3QgZXZ0Y2huID0gZXZ0
Y2huX2Zyb21faXJxKGlycSk7DQoNCk1vc3QgdXNlcnMgb2YgZXZ0Y2huX2Zyb21faXJxKCkgY2hl
Y2sgcmV0dXJuZWQgZXZ0Y2huIHZpYSBWQUxJRF9FVlRDSE4oKSANCmFzIGl0IG1pZ2h0IGJlIDAu
IEJ1dCB0aGlzIHVzZXIgZG9lc24ndC4NCg0KDQo+ICAgCQl3b3JkX2lkeCA9IGV2dGNobiAvIEJJ
VFNfUEVSX0xPTkc7DQo+ICAgCQliaXRfaWR4ID0gZXZ0Y2huICUgQklUU19QRVJfTE9ORzsNCj4g
ICAJCWlmIChhY3RpdmVfZXZ0Y2hucyhjcHUsIHMsIHdvcmRfaWR4KSAmICgxVUxMIDw8IGJpdF9p
ZHgpKQ0KPiBAQCAtMzI4LDkgKzMyOCw5IEBAIGlycXJldHVybl90IHhlbl9kZWJ1Z19pbnRlcnJ1
cHQoaW50IGlycSwgdm9pZCAqZGV2X2lkKQ0KPiAgIAlmb3IgKGkgPSAwOyBpIDwgRVZUQ0hOXzJM
X05SX0NIQU5ORUxTOyBpKyspIHsNCj4gICAJCWlmIChzeW5jX3Rlc3RfYml0KGksIEJNKHNoLT5l
dnRjaG5fcGVuZGluZykpKSB7DQo+ICAgCQkJaW50IHdvcmRfaWR4ID0gaSAvIEJJVFNfUEVSX0VW
VENITl9XT1JEOw0KPiAtCQkJcHJpbnRrKCIgICVkOiBldmVudCAlZCAtPiBpcnEgJWQlcyVzJXNc
biIsDQo+ICsJCQlwcmludGsoIiAgJWQ6IGV2ZW50ICVkIC0+IGlycSAldSVzJXMlc1xuIiwNCg0K
Y2hlY2twYXRjaC5wbCBzYXlzOg0KDQpXQVJOSU5HOiBwcmludGsoKSBzaG91bGQgaW5jbHVkZSBL
RVJOXzxMRVZFTD4gZmFjaWxpdHkgbGV2ZWwNCiMzNzogRklMRTogZHJpdmVycy94ZW4vZXZlbnRz
L2V2ZW50c18ybC5jOjMzMToNCisJCQlwcmludGsoIiAgJWQ6IGV2ZW50ICVkIC0+IGlycSAldSVz
JXMlc1xuIiwNCg0KDQo+ICAgCQkJICAgICAgIGNwdV9mcm9tX2V2dGNobihpKSwgaSwNCj4gLQkJ
CSAgICAgICBnZXRfZXZ0Y2huX3RvX2lycShpKSwNCj4gKwkJCSAgICAgICBpcnFfZnJvbV9ldnRj
aG4oaSksDQo+ICAgCQkJICAgICAgIHN5bmNfdGVzdF9iaXQod29yZF9pZHgsIEJNKCZ2LT5ldnRj
aG5fcGVuZGluZ19zZWwpKQ0KPiAgIAkJCSAgICAgICA/ICIiIDogIiBsMi1jbGVhciIsDQo+ICAg
CQkJICAgICAgICFzeW5jX3Rlc3RfYml0KGksIEJNKHNoLT5ldnRjaG5fbWFzaykpDQo+IA0KDQpb
c25pcF0=


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:57:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:57:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631750.985411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ZJY-0001zu-9G; Mon, 13 Nov 2023 15:57:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631750.985411; Mon, 13 Nov 2023 15:57: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 1r2ZJY-0001zn-6j; Mon, 13 Nov 2023 15:57:28 +0000
Received: by outflank-mailman (input) for mailman id 631750;
 Mon, 13 Nov 2023 15:57: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=h1x5=G2=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2ZJW-0001vs-Kn
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:57:26 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 569a0b7e-823d-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 16:57:25 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-4083f613275so38087365e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 07:57:25 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 k23-20020a05600c1c9700b0040531f5c51asm8582386wms.5.2023.11.13.07.57.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 07:57:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 569a0b7e-823d-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699891044; x=1700495844; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=nbcFVNx/+MBqIDasdKfMxNiPK3f0tpqXaYKaJpDUyIE=;
        b=QfWi2rwK5yW46bFh8SE00VsnV0nSBB/3dXTfyAkqZxkBZlJM1StxCFmGrIe2x1201W
         qm0io50R1l1n4bBLiukFwlV8rCuROYXHIMHXkeCT1S36v3nKq9mJIZlZQEhmwCiKiplU
         5rl11gykdjx1tFOUgT+EYWoE4WC3BjOH1pP30=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699891044; x=1700495844;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=nbcFVNx/+MBqIDasdKfMxNiPK3f0tpqXaYKaJpDUyIE=;
        b=SFt4Lf4jvh2iN3kdW6WmYdjC/2KZG36cHa/Ni+3C/flPhpnOrgHt+AR4ogIhT/z6gC
         8J18fwdjEilUJ2D0i2evhFAaK9P+5bmTWugLB5jmnjkW0iyU07wa2gTmdevU+SBLnuEa
         dMtH5qJwWcgm9Qol2R+SUTznOCRGNXODgoI9piJK6HsxBWo/CZ7rdbUVHtdaBUWDyWKI
         5nz/jo1vY2ZFh1/5U7Bw+vD7EpsSeQAASWYaBX/Ph8Lb+hJjUm5h8Bav4t8HHff78DQP
         ApEnD0pGJHp1TJjBq6LfeqKqxC3rtlRQOadrsVz9/L6At9RgRSHyIVBsfR/R/rwAEGl/
         WmSQ==
X-Gm-Message-State: AOJu0YwKvssCFweMG6AQh4E17erCRY+G+6sFmwq/FcvYDQRHEZwGbf7z
	1fXTKc5U6BQ0QqZGc9Fj7QeNAeWrPg7NcUuLRDw=
X-Google-Smtp-Source: AGHT+IGB6tYCHKYjN+3JJw8WEojKyrIngSy6IQ31P48tKvta4fEr+7r16z5ofRTVYU6ojjwBmezPEw==
X-Received: by 2002:a1c:790b:0:b0:409:7aa9:a903 with SMTP id l11-20020a1c790b000000b004097aa9a903mr5807341wme.19.1699891044006;
        Mon, 13 Nov 2023 07:57:24 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] automation: set architecture in docker files
Date: Mon, 13 Nov 2023 16:57:01 +0100
Message-ID: <20231113155701.52052-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Pass the desired architecture of the image in the FROM instruction if the
image is possibly multi-platform.

This allows using the x86 Dockerfiles on OS X on arm64 hardware.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
I haven't touched the Yocto dockerfile because I'm not sure how it's used.
---
 automation/build/alpine/3.18.dockerfile               | 2 +-
 automation/build/archlinux/current-riscv64.dockerfile | 2 +-
 automation/build/archlinux/current.dockerfile         | 2 +-
 automation/build/centos/7.dockerfile                  | 2 +-
 automation/build/debian/bookworm.dockerfile           | 2 +-
 automation/build/debian/bullseye-ppc64le.dockerfile   | 2 +-
 automation/build/debian/buster-gcc-ibt.dockerfile     | 2 +-
 automation/build/debian/jessie.dockerfile             | 2 +-
 automation/build/debian/stretch.dockerfile            | 2 +-
 automation/build/fedora/29.dockerfile                 | 2 +-
 automation/build/suse/opensuse-leap.dockerfile        | 2 +-
 automation/build/suse/opensuse-tumbleweed.dockerfile  | 2 +-
 automation/build/ubuntu/bionic.dockerfile             | 2 +-
 automation/build/ubuntu/focal.dockerfile              | 2 +-
 automation/build/ubuntu/trusty.dockerfile             | 2 +-
 automation/build/ubuntu/xenial-xilinx.dockerfile      | 2 +-
 automation/build/ubuntu/xenial.dockerfile             | 2 +-
 17 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/automation/build/alpine/3.18.dockerfile b/automation/build/alpine/3.18.dockerfile
index 5d2a69a06010..4ae9cb5e9e30 100644
--- a/automation/build/alpine/3.18.dockerfile
+++ b/automation/build/alpine/3.18.dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.18
+FROM --platform=linux/amd64 alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/archlinux/current-riscv64.dockerfile b/automation/build/archlinux/current-riscv64.dockerfile
index abf8e7bf0b88..af75b5c720ce 100644
--- a/automation/build/archlinux/current-riscv64.dockerfile
+++ b/automation/build/archlinux/current-riscv64.dockerfile
@@ -1,4 +1,4 @@
-FROM archlinux
+FROM --platform=linux/amd64 archlinux
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
index 47e79637a4a6..d974a1434fd5 100644
--- a/automation/build/archlinux/current.dockerfile
+++ b/automation/build/archlinux/current.dockerfile
@@ -1,4 +1,4 @@
-FROM archlinux:base-devel
+FROM --platform=linux/amd64 archlinux:base-devel
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/centos/7.dockerfile b/automation/build/centos/7.dockerfile
index 69dcefb2f011..ab450f0b3a0e 100644
--- a/automation/build/centos/7.dockerfile
+++ b/automation/build/centos/7.dockerfile
@@ -1,4 +1,4 @@
-FROM centos:7
+FROM --platform=linux/amd64 centos:7
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
index ae008c8d46e5..ac87778b3972 100644
--- a/automation/build/debian/bookworm.dockerfile
+++ b/automation/build/debian/bookworm.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bookworm
+FROM --platform=linux/amd64 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bullseye-ppc64le.dockerfile b/automation/build/debian/bullseye-ppc64le.dockerfile
index 4de8458445ae..6fdfb6bc2b40 100644
--- a/automation/build/debian/bullseye-ppc64le.dockerfile
+++ b/automation/build/debian/bullseye-ppc64le.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bullseye-slim
+FROM --platform=linux/amd64 debian:bullseye-slim
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/buster-gcc-ibt.dockerfile b/automation/build/debian/buster-gcc-ibt.dockerfile
index 96ab4fe8a2f1..4328c109b72b 100644
--- a/automation/build/debian/buster-gcc-ibt.dockerfile
+++ b/automation/build/debian/buster-gcc-ibt.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:buster-slim AS builder
+FROM --platform=linux/amd64 debian:buster-slim AS builder
 
 ENV DEBIAN_FRONTEND=noninteractive
 ENV USER root
diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
index 63b2c1e5b771..db0962953c9a 100644
--- a/automation/build/debian/jessie.dockerfile
+++ b/automation/build/debian/jessie.dockerfile
@@ -1,4 +1,4 @@
-FROM debian/eol:jessie
+FROM --platform=linux/amd64 debian/eol:jessie
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
index 1af6c691f8f4..9f6c146f032c 100644
--- a/automation/build/debian/stretch.dockerfile
+++ b/automation/build/debian/stretch.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:stretch
+FROM --platform=linux/amd64 debian:stretch
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/fedora/29.dockerfile b/automation/build/fedora/29.dockerfile
index e55b06a4517e..42a87ce6c84b 100644
--- a/automation/build/fedora/29.dockerfile
+++ b/automation/build/fedora/29.dockerfile
@@ -1,4 +1,4 @@
-FROM fedora:29
+FROM --platform=linux/amd64 fedora:29
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/suse/opensuse-leap.dockerfile b/automation/build/suse/opensuse-leap.dockerfile
index 7010b71acaa0..e1ec38a41445 100644
--- a/automation/build/suse/opensuse-leap.dockerfile
+++ b/automation/build/suse/opensuse-leap.dockerfile
@@ -1,4 +1,4 @@
-FROM opensuse/leap
+FROM --platform=linux/amd64 opensuse/leap
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/suse/opensuse-tumbleweed.dockerfile b/automation/build/suse/opensuse-tumbleweed.dockerfile
index 959e1f6939f0..38f6fda2ff1b 100644
--- a/automation/build/suse/opensuse-tumbleweed.dockerfile
+++ b/automation/build/suse/opensuse-tumbleweed.dockerfile
@@ -1,4 +1,4 @@
-FROM opensuse/tumbleweed
+FROM --platform=linux/amd64 opensuse/tumbleweed
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/bionic.dockerfile b/automation/build/ubuntu/bionic.dockerfile
index e15f54431efb..77d7f933860c 100644
--- a/automation/build/ubuntu/bionic.dockerfile
+++ b/automation/build/ubuntu/bionic.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
+FROM --platform=linux/amd64 ubuntu:18.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
index e3d11194ee2f..30a9b8e84ffe 100644
--- a/automation/build/ubuntu/focal.dockerfile
+++ b/automation/build/ubuntu/focal.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:20.04
+FROM --platform=linux/amd64 ubuntu:20.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/trusty.dockerfile b/automation/build/ubuntu/trusty.dockerfile
index 22e294c20cac..0d33578c4e1d 100644
--- a/automation/build/ubuntu/trusty.dockerfile
+++ b/automation/build/ubuntu/trusty.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:14.04
+FROM --platform=linux/amd64 ubuntu:14.04
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
index 5f7087135213..49f27b322995 100644
--- a/automation/build/ubuntu/xenial-xilinx.dockerfile
+++ b/automation/build/ubuntu/xenial-xilinx.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
+FROM --platform=linux/amd64 ubuntu:16.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile
index 2d2ba3e31f63..e8035434f804 100644
--- a/automation/build/ubuntu/xenial.dockerfile
+++ b/automation/build/ubuntu/xenial.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
+FROM --platform=linux/amd64 ubuntu:16.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 15:58:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 15:58:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631757.985422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ZKa-0003HQ-ID; Mon, 13 Nov 2023 15:58:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631757.985422; Mon, 13 Nov 2023 15: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 1r2ZKa-0003HJ-Fc; Mon, 13 Nov 2023 15:58:32 +0000
Received: by outflank-mailman (input) for mailman id 631757;
 Mon, 13 Nov 2023 15:58: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=dTB6=G2=amazon.co.uk=prvs=67486284d=dwmw@srs-se1.protection.inumbo.net>)
 id 1r2ZKZ-0003H9-BA
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 15:58:31 +0000
Received: from smtp-fw-2101.amazon.com (smtp-fw-2101.amazon.com [72.21.196.25])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7be8819c-823d-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 16:58:28 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan3.amazon.com (HELO
 email-inbound-relay-iad-1e-m6i4x-3554bfcf.us-east-1.amazon.com) ([10.43.8.6])
 by smtp-border-fw-2101.iad2.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Nov 2023 15:58:26 +0000
Received: from smtpout.prod.us-east-1.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan2.iad.amazon.com [10.32.235.34])
 by email-inbound-relay-iad-1e-m6i4x-3554bfcf.us-east-1.amazon.com (Postfix)
 with ESMTPS id D538F80954; Mon, 13 Nov 2023 15:58:21 +0000 (UTC)
Received: from EX19MTAUEA001.ant.amazon.com [10.0.44.209:37577]
 by smtpin.naws.us-east-1.prod.farcaster.email.amazon.dev [10.0.61.2:2525] with
 esmtp (Farcaster)
 id 00ebf3ba-813f-4e36-bae8-4b0565a9b1d2; Mon, 13 Nov 2023 15:58:21 +0000 (UTC)
Received: from EX19D008UEC003.ant.amazon.com (10.252.135.194) by
 EX19MTAUEA001.ant.amazon.com (10.252.134.203) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 13 Nov 2023 15:58:21 +0000
Received: from EX19D008UEC001.ant.amazon.com (10.252.135.232) by
 EX19D008UEC003.ant.amazon.com (10.252.135.194) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.39;
 Mon, 13 Nov 2023 15:58:20 +0000
Received: from EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797]) by
 EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797%3]) with mapi id
 15.02.1118.039; Mon, 13 Nov 2023 15: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7be8819c-823d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt;
  s=amazon201209; t=1699891109; x=1731427109;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=x3clqKCBSnizyqNOnRjBB+YlmxcdcJJ/uLlwMHbY9+0=;
  b=FGtilEV0ycs0AMbFugiO3C695ceSGCh5ElLzB01c+3R7Nqq7IMX+DGpb
   gkaGYkvp2CBdLR5qjnYyoVi0IP7RBr7Dqq6y/5mSvbl96sOv62pQ97tWB
   MbTUmIIt/A3FdlX658lnLO6kO+ftaZR7ctKvlMJc1mh617QEmiEqtrTrt
   k=;
X-IronPort-AV: E=Sophos;i="6.03,299,1694736000"; 
   d="scan'208,217";a="362515564"
X-Farcaster-Flow-ID: 00ebf3ba-813f-4e36-bae8-4b0565a9b1d2
From: "Woodhouse, David" <dwmw@amazon.co.uk>
To: =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= <philmd@linaro.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, "Michael S. Tsirkin"
	<mst@redhat.com>, =?utf-8?B?QWxleCBCZW5uw6ll?= <alex.bennee@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, "qemu-block@nongnu.org" <qemu-block@nongnu.org>,
	Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
	"qemu-arm@nongnu.org" <qemu-arm@nongnu.org>, Paul Durrant <paul@xen.org>,
	Peter Maydell <peter.maydell@linaro.org>, Richard Henderson
	<richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: Re: [PATCH-for-9.0 04/10] hw/xen: Factor xen_arch_align_ioreq_data()
 out of handle_ioreq()
Thread-Topic: [PATCH-for-9.0 04/10] hw/xen: Factor xen_arch_align_ioreq_data()
 out of handle_ioreq()
Thread-Index: AQHaFko5eJJo3hTaU0ew57KmhlQp2Q==
Date: Mon, 13 Nov 2023 15:58:20 +0000
Message-ID: <f791a822-f6f5-44fa-904b-f67d3f193763@email.android.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-exchange-messagesentrepresentingtype: 1
Content-Type: multipart/alternative;
	boundary="_000_f791a822f6f544fa904bf67d3f193763emailandroidcom_"
MIME-Version: 1.0
Precedence: Bulk

--_000_f791a822f6f544fa904bf67d3f193763emailandroidcom_
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64

DQoNCk9uIDEzIE5vdiAyMDIzIDEwOjIyLCBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1k
QGxpbmFyby5vcmc+IHdyb3RlOg0KUGVyIGNvbW1pdCBmMTcwNjhjMWM3ICgieGVuLWh2bTogcmVv
cmdhbml6ZSB4ZW4taHZtIGFuZCBtb3ZlIGNvbW1vbg0KZnVuY3Rpb24gdG8geGVuLWh2bS1jb21t
b24iKSwgaGFuZGxlX2lvcmVxKCkgaXMgZXhwZWN0ZWQgdG8gYmUNCnRhcmdldC1hZ25vc3RpYy4g
SG93ZXZlciBpdCB1c2VzICd0YXJnZXRfdWxvbmcnLCB3aGljaCBpcyBhIHRhcmdldA0Kc3BlY2lm
aWMgZGVmaW5pdGlvbi4NCg0KSW4gb3JkZXIgdG8gY29tcGlsZSB0aGlzIGZpbGUgb25jZSBmb3Ig
YWxsIHRhcmdldHMsIGZhY3RvciB0aGUNCnRhcmdldC1zcGVjaWZpYyBjb2RlIG91dCBvZiBoYW5k
bGVfaW9yZXEoKSBhcyBhIHBlci10YXJnZXQgaGFuZGxlcg0KY2FsbGVkIHhlbl9hcmNoX2FsaWdu
X2lvcmVxX2RhdGEoKS4NCg0KU2lnbmVkLW9mZi1ieTogUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kg
PHBoaWxtZEBsaW5hcm8ub3JnPg0KLS0tDQpTaG91bGQgd2UgaGF2ZSBhICd1bnNpZ25lZCBxZW11
X3RhcmdldF9sb25nX2JpdHMoKTsnIGhlbHBlcg0Kc3VjaCBxZW11X3RhcmdldF9wYWdlX2Zvbygp
IEFQSSBhbmQgdGFyZ2V0X3dvcmRzX2JpZ2VuZGlhbigpPw0KDQpJdCBjYW4gYmUgbW9yZSBmdW4g
dGhhbiB0aGF0IHRob3VnaC4gV2hhdCBhYm91dCBxZW11X3RhcmdldF9hbGlnbm9mX3VpbnQ2NCgp
IGZvciBleGFtcGxlLCB3aGljaCBkaWZmZXJzIGJldHdlZW4gaTM4NiBhbmQgeDg2XzY0IGFuZCBj
YXVzZXMgZXZlbiBzdHJ1Y3RzIHdpdGggKmV4cGxpY2l0bHkqIHNpemVkIGZpZWxkcyB0byBkaWZm
ZXIgYmVjYXVzZSBvZiBwYWRkaW5nLg0KDQpJJ2QgKmxvdmUqIHRvIHNlZSB0aGlzIHNlcmllcyBh
cyBhIHN0ZXAgdG93YXJkcyBteSBmYW50YXN5IG9mIGJlaW5nIGFibGUgdG8gc3VwcG9ydCBYZW4g
dW5kZXIgVENHLiBBZnRlciBhbGwsIHdpdGhvdXQgdGhhdCB3aGF0J3MgdGhlIHBvaW50IGluIGJl
aW5nIHRhcmdldC1hZ25vc3RpYz8NCg0KSG93ZXZlciwgSSBhbSBtaWxkbHkgY29uY2VybmVkIHRo
YXQgc29tZSBvZiB0aGVzZSBmaWxlcyBhcmUgYWNjaWRlbnRhbGx5IHVzaW5nIHRoZSBob3N0IEVM
RiBBQkksIHBlcmhhcHMgd2l0aCBleHBsaWNpdCBtYW5hZ2VtZW50IG9mIDMyLWJpdCBjb21wYXRp
YmlsaXR5LCBhbmQgdGhlIHRhcmdldC1hZ25vc3RpY2l0eSBpcyBwdXJlbHkgYW4gaWxsdXNpb24/
DQoNClNlZSB0aGUgInByb3RvY29sIiBoYW5kbGluZyBhbmQgdGhlIHRocmVlIEFCSXMgZm9yIHRo
ZSByaW5nIGluIHhlbi1ibG9jaywgZm9yIGV4YW1wbGUuDQoNCkNhbiB3ZSBiZSBleHBsaWNpdCBh
Ym91dCB3aGF0J3MgZXhwZWN0ZWQgdG8gd29yayBoZXJlIGFuZCB3aGF0J3Mgbm90IGluIHNjb3Bl
Pw0KDQoKCgpBbWF6b24gRGV2ZWxvcG1lbnQgQ2VudHJlIChMb25kb24pIEx0ZC4gUmVnaXN0ZXJl
ZCBpbiBFbmdsYW5kIGFuZCBXYWxlcyB3aXRoIHJlZ2lzdHJhdGlvbiBudW1iZXIgMDQ1NDMyMzIg
d2l0aCBpdHMgcmVnaXN0ZXJlZCBvZmZpY2UgYXQgMSBQcmluY2lwYWwgUGxhY2UsIFdvcnNoaXAg
U3RyZWV0LCBMb25kb24gRUMyQSAyRkEsIFVuaXRlZCBLaW5nZG9tLgoKCg==

--_000_f791a822f6f544fa904bf67d3f193763emailandroidcom_
Content-Type: text/html; charset="utf-8"
Content-ID: <752A45E12BFA344E8D16E4CD03730367@amazon.com>
MIME-Version: 1.0
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjwvaGVhZD4NCjxib2R5Pg0KPGRpdiBkaXI9ImF1
dG8iPg0KPGRpdj48YnI+DQo8ZGl2IGNsYXNzPSJnbWFpbF9leHRyYSI+PGJyPg0KPGRpdiBjbGFz
cz0iZ21haWxfcXVvdGUiPk9uIDEzIE5vdiAyMDIzIDEwOjIyLCBQaGlsaXBwZSBNYXRoaWV1LURh
dWTDqSAmbHQ7cGhpbG1kQGxpbmFyby5vcmcmZ3Q7IHdyb3RlOjxiciB0eXBlPSJhdHRyaWJ1dGlv
biI+DQo8YmxvY2txdW90ZSBjbGFzcz0icXVvdGUiIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDti
b3JkZXItbGVmdDoxcHggI2NjYyBzb2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4NCjxkaXY+PGZvbnQg
c2l6ZT0iMiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB0Ij4NCjxkaXY+UGVyIGNvbW1pdCBm
MTcwNjhjMWM3ICgmcXVvdDt4ZW4taHZtOiByZW9yZ2FuaXplIHhlbi1odm0gYW5kIG1vdmUgY29t
bW9uPGJyPg0KZnVuY3Rpb24gdG8geGVuLWh2bS1jb21tb24mcXVvdDspLCBoYW5kbGVfaW9yZXEo
KSBpcyBleHBlY3RlZCB0byBiZTxicj4NCnRhcmdldC1hZ25vc3RpYy4gSG93ZXZlciBpdCB1c2Vz
ICd0YXJnZXRfdWxvbmcnLCB3aGljaCBpcyBhIHRhcmdldDxicj4NCnNwZWNpZmljIGRlZmluaXRp
b24uPGJyPg0KPGJyPg0KSW4gb3JkZXIgdG8gY29tcGlsZSB0aGlzIGZpbGUgb25jZSBmb3IgYWxs
IHRhcmdldHMsIGZhY3RvciB0aGU8YnI+DQp0YXJnZXQtc3BlY2lmaWMgY29kZSBvdXQgb2YgaGFu
ZGxlX2lvcmVxKCkgYXMgYSBwZXItdGFyZ2V0IGhhbmRsZXI8YnI+DQpjYWxsZWQgeGVuX2FyY2hf
YWxpZ25faW9yZXFfZGF0YSgpLjxicj4NCjxicj4NClNpZ25lZC1vZmYtYnk6IFBoaWxpcHBlIE1h
dGhpZXUtRGF1ZMOpICZsdDtwaGlsbWRAbGluYXJvLm9yZyZndDs8YnI+DQotLS08YnI+DQpTaG91
bGQgd2UgaGF2ZSBhICd1bnNpZ25lZCBxZW11X3RhcmdldF9sb25nX2JpdHMoKTsnIGhlbHBlcjxi
cj4NCnN1Y2ggcWVtdV90YXJnZXRfcGFnZV9mb28oKSBBUEkgYW5kIHRhcmdldF93b3Jkc19iaWdl
bmRpYW4oKT88YnI+DQo8L2Rpdj4NCjwvc3Bhbj48L2ZvbnQ+PC9kaXY+DQo8L2Jsb2NrcXVvdGU+
DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGRpcj0iYXV0byI+PGJyPg0KPC9kaXY+DQo8
ZGl2IGRpcj0iYXV0byI+SXQgY2FuIGJlIG1vcmUgZnVuIHRoYW4gdGhhdCB0aG91Z2guIFdoYXQg
YWJvdXQgcWVtdV90YXJnZXRfYWxpZ25vZl91aW50NjQoKSBmb3IgZXhhbXBsZSwgd2hpY2ggZGlm
ZmVycyBiZXR3ZWVuIGkzODYgYW5kIHg4Nl82NCBhbmQgY2F1c2VzIGV2ZW4gc3RydWN0cyB3aXRo
ICpleHBsaWNpdGx5KiBzaXplZCBmaWVsZHMgdG8gZGlmZmVyIGJlY2F1c2Ugb2YgcGFkZGluZy48
L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj48YnI+DQo8L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj5JJ2Qg
KmxvdmUqIHRvIHNlZSB0aGlzIHNlcmllcyBhcyBhIHN0ZXAgdG93YXJkcyBteSBmYW50YXN5IG9m
IGJlaW5nIGFibGUgdG8gc3VwcG9ydCBYZW4gdW5kZXIgVENHLiBBZnRlciBhbGwsIHdpdGhvdXQg
dGhhdCB3aGF0J3MgdGhlIHBvaW50IGluIGJlaW5nIHRhcmdldC1hZ25vc3RpYz88L2Rpdj4NCjxk
aXYgZGlyPSJhdXRvIj48YnI+DQo8L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj5Ib3dldmVyLCBJIGFt
IG1pbGRseSBjb25jZXJuZWQgdGhhdCBzb21lIG9mIHRoZXNlIGZpbGVzIGFyZSBhY2NpZGVudGFs
bHkgdXNpbmcgdGhlIGhvc3QgRUxGIEFCSSwgcGVyaGFwcyB3aXRoIGV4cGxpY2l0IG1hbmFnZW1l
bnQgb2YgMzItYml0IGNvbXBhdGliaWxpdHksIGFuZCB0aGUgdGFyZ2V0LWFnbm9zdGljaXR5IGlz
IHB1cmVseSBhbiBpbGx1c2lvbj88L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj48YnI+DQo8L2Rpdj4N
CjxkaXYgZGlyPSJhdXRvIj5TZWUgdGhlICZxdW90O3Byb3RvY29sJnF1b3Q7IGhhbmRsaW5nIGFu
ZCB0aGUgdGhyZWUgQUJJcyBmb3IgdGhlIHJpbmcgaW4geGVuLWJsb2NrLCBmb3IgZXhhbXBsZS48
L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj48YnI+DQo8L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj5DYW4g
d2UgYmUgZXhwbGljaXQgYWJvdXQgd2hhdCdzIGV4cGVjdGVkIHRvIHdvcmsgaGVyZSBhbmQgd2hh
dCdzIG5vdCBpbiBzY29wZT8mbmJzcDs8L2Rpdj4NCjxkaXYgZGlyPSJhdXRvIj48YnI+DQo8L2Rp
dj4NCjwvZGl2Pg0KPGJyPjxicj48YnI+QW1hem9uIERldmVsb3BtZW50IENlbnRyZSAoTG9uZG9u
KSBMdGQuUmVnaXN0ZXJlZCBpbiBFbmdsYW5kIGFuZCBXYWxlcyB3aXRoIHJlZ2lzdHJhdGlvbiBu
dW1iZXIgMDQ1NDMyMzIgd2l0aCBpdHMgcmVnaXN0ZXJlZCBvZmZpY2UgYXQgMSBQcmluY2lwYWwg
UGxhY2UsIFdvcnNoaXAgU3RyZWV0LCBMb25kb24gRUMyQSAyRkEsIFVuaXRlZCBLaW5nZG9tLjxi
cj48YnI+PGJyPgo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_f791a822f6f544fa904bf67d3f193763emailandroidcom_--



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:09:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:09:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631762.985431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ZVP-0007ng-I6; Mon, 13 Nov 2023 16:09:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631762.985431; Mon, 13 Nov 2023 16:09: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 1r2ZVP-0007nZ-FG; Mon, 13 Nov 2023 16:09:43 +0000
Received: by outflank-mailman (input) for mailman id 631762;
 Mon, 13 Nov 2023 16:09: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=DPbO=G2=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2ZVO-0007jY-6c
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:09:42 +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 0d2d5f59-823f-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 17:09:41 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-9c41e95efcbso680639666b.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 08:09:41 -0800 (PST)
Received: from [192.168.69.100] ([176.164.221.204])
 by smtp.gmail.com with ESMTPSA id
 qk16-20020a170906d9d000b0099297782aa9sm4153050ejb.49.2023.11.13.08.09.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 08:09:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d2d5f59-823f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699891781; x=1700496581; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=MT2jqnM1EXDZd7Eo9GsBNo8vayQdwjXlJYvjk3d8/BQ=;
        b=fqpCt5fteuudTORS3sV397tfRRz7tFQXcAaXoBStqd35p/mq9WjQAcc+Wv7Ry+WTQm
         +Yd00dTPF/V8UETX/gX3TaufJsQ6va9gDkOkuGVfMCqhFlwhsq8umGoqW0yzXnGb4Msv
         tLb9/im1/cG2x/jckLaGU4l0YSmWloCvWboG9c747O+GyhIlG2Xxae7KPIX4CPO1xw8C
         o6hIGD76EPSOdTbCUaSCE7emIEFdVjNDa6WAOQfc6788iCmzWBnTLFzYTHewVZrIeFOf
         PMbTWnPWoWNHsAZHfAG/DovRIy+3I2OfnAfQFGeuZ4fW7lR7mHQGGr8mENzjJNyWg/U1
         dI2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699891781; x=1700496581;
        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:subject:date:message-id:reply-to;
        bh=MT2jqnM1EXDZd7Eo9GsBNo8vayQdwjXlJYvjk3d8/BQ=;
        b=vB4dU0/bwaU2jSKspPgwj+BKGZRCrZwHPE4IcAuKzuQa6+b2bpIOZwzLHseMCbY+E9
         z90AgPx6QilhIswGrdp5venZ/AfE+XMx0WblxpOULshiBoMC2fD3ue6V3qOJHhxvJeoa
         ljlSUulPIU8kGujT/DYhBx3cHAIQ5d6L1NSgIg1Bd0FsP9BmfDJANaUV+rybDiX0pjsl
         r90CO5Q40QqCoIxsCDzKH84C/z9dy522mjwF6r3pkfwHn8TxXQrERiunXkUdDqXUmAaa
         pWeU0FqSDnnBme2ZJ8tjUG9LsFxuXU67e8casi7P+itv6pbk2AfuzpW1r6Iq+D/yib+H
         56KQ==
X-Gm-Message-State: AOJu0YzWVr+pm8TxBPCisBr/zv2WvLhwcJBSSbjbnkz99rz1kNVPeNyi
	9pglUKSweFCiTC0wKTVo/dE5XA==
X-Google-Smtp-Source: AGHT+IGeRhJFxDoIfveJ9ETd2OdQ3oHGQ3FlHAF/NrjNVpCIp+vrcNE4rMVRNzJtDcSpxiFGnRsC1Q==
X-Received: by 2002:a17:907:86a3:b0:9be:b41d:4f7e with SMTP id qa35-20020a17090786a300b009beb41d4f7emr5851496ejc.17.1699891780129;
        Mon, 13 Nov 2023 08:09:40 -0800 (PST)
Message-ID: <7a66c289-19e1-4690-8c6e-31a9f6344b6f@linaro.org>
Date: Mon, 13 Nov 2023 17:09:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 04/10] hw/xen: Factor xen_arch_align_ioreq_data()
 out of handle_ioreq()
Content-Language: en-US
To: "Woodhouse, David" <dwmw@amazon.co.uk>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 "Michael S. Tsirkin" <mst@redhat.com>, =?UTF-8?Q?Alex_Benn=C3=A9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "qemu-block@nongnu.org" <qemu-block@nongnu.org>,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>, Paul Durrant <paul@xen.org>,
 Peter Maydell <peter.maydell@linaro.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
References: <f791a822-f6f5-44fa-904b-f67d3f193763@email.android.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <f791a822-f6f5-44fa-904b-f67d3f193763@email.android.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 13/11/23 16:58, Woodhouse, David wrote:
> On 13 Nov 2023 10:22, Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
> 
>     Per commit f17068c1c7 ("xen-hvm: reorganize xen-hvm and move common
>     function to xen-hvm-common"), handle_ioreq() is expected to be
>     target-agnostic. However it uses 'target_ulong', which is a target
>     specific definition.
> 
>     In order to compile this file once for all targets, factor the
>     target-specific code out of handle_ioreq() as a per-target handler
>     called xen_arch_align_ioreq_data().
> 
>     Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>     ---
>     Should we have a 'unsigned qemu_target_long_bits();' helper
>     such qemu_target_page_foo() API and target_words_bigendian()?
> 
> 
> It can be more fun than that though. What about 
> qemu_target_alignof_uint64() for example, which differs between i386 and 
> x86_64 and causes even structs with *explicitly* sized fields to differ 
> because of padding.
> 
> I'd *love* to see this series as a step towards my fantasy of being able 
> to support Xen under TCG. After all, without that what's the point in 
> being target-agnostic?

Another win is we are building all these files once instead of one for
each i386/x86_64/aarch64 targets, so we save CI time and Amazon trees.

> However, I am mildly concerned that some of these files are accidentally 
> using the host ELF ABI, perhaps with explicit management of 32-bit 
> compatibility, and the target-agnosticity is purely an illusion?
> 
> See the "protocol" handling and the three ABIs for the ring in 
> xen-block, for example.

If so I'd expect build failures or violent runtime assertions.

Reviewing quickly hw/block/dataplane/xen-block.c, this code doesn't
seem target specific at all IMHO. Otherwise I'd really expect it to
fail compiling. But I don't know much about Xen, so I'll let block &
xen experts to have a look.

> Can we be explicit about what's expected to work here and what's not in 
> scope?

What do you mean? Everything is expected to work like without this
series applied :)

Regards,

Phil.


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:10:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:10:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631764.985442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ZVt-0000kd-Pi; Mon, 13 Nov 2023 16:10:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631764.985442; Mon, 13 Nov 2023 16: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 1r2ZVt-0000kW-Mz; Mon, 13 Nov 2023 16:10:13 +0000
Received: by outflank-mailman (input) for mailman id 631764;
 Mon, 13 Nov 2023 16: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=h1x5=G2=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2ZVr-0007jY-VE
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:10:11 +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 1ead7e73-823f-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 17:10:10 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4084de32db5so40155545e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 08:10:10 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 m16-20020a7bca50000000b0040841e79715sm8384226wml.27.2023.11.13.08.10.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 08:10:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ead7e73-823f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699891810; x=1700496610; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=BCTudPDfl4JVCVJ7/7ycptzsMXd3LM+BUOrRBVuEaKY=;
        b=Z1Ny4zME9j2JnF53EKR9ISzftGXWoxEI5vOmTGSZ1L+imuOBYDotpaKV5teF2zxSDN
         AB/vT9f8bRmwHm1ps7g9FWL1tO+Ul3UrIKkETSVNDcp/mjGUfYQeMo96gQYHa3p9L6sb
         eb28JT+yyKRc9uXCCwNdHL+2oGzLeEFR6rGj0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699891810; x=1700496610;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=BCTudPDfl4JVCVJ7/7ycptzsMXd3LM+BUOrRBVuEaKY=;
        b=d3u6HM1KNlLdGWBh2CTUTs8FrM5VL4pb4fyw9xkVpaO9nfIjfmRz6IrfTglPJafo8U
         25y5NwDF1UfsoIMLXwxaWi55zsjQQpAmM+sI0ajJ5g1v1ENQDU8Mh+rDcH6nQEGJ0DK3
         4MmqjWAzQxquGvT19sANgrezIdk/GCDsQQ3f77Wk1jVntdYZhbRTp7D4fugrof/+D8/R
         Q/pX9hoVCmi9Yrkrr7I0l4bNCmK61XzEeXW7zqD6EEFRNk4RBCfife9cRr+ytNrbSaiU
         v1rUqFkBHLL4L9+R3VHcBE6Zmvc8erkkbxj2IC9AJclfi2E0AZ+I2X6ouHRBz2gjRqUo
         mipA==
X-Gm-Message-State: AOJu0YzVTkCOyIXLkeYTgm33l+mhbtx+TrcpmsbQPEes/wqcFxe82FNO
	ZpXbs5gnW3xVQk9JtMkmPn2u1hNnbHxIdIoZhqk=
X-Google-Smtp-Source: AGHT+IFKpLifI676hGTagTHUAh2tF4bNspCbEiizrkn1Vn4B66vuiZ+f0rtB1VY/D9LpfRosGj6DDA==
X-Received: by 2002:a05:600c:35c9:b0:40a:206a:578d with SMTP id r9-20020a05600c35c900b0040a206a578dmr5867107wmq.31.1699891809812;
        Mon, 13 Nov 2023 08:10:09 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 0/2] livepatch-tools: fixes for building on non-glibc
Date: Mon, 13 Nov 2023 17:09:38 +0100
Message-ID: <20231113160940.52430-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

A couple of fixes to allow building the tools on non-glibc systems (BSD
and musl tested).

No functional changes intended for either of the two fixes.

Thanks, Roger.

Roger Pau Monne (2):
  livepatch-tools: add -largp option when required
  livepatch-tools: fix isnumber() function clash

 Makefile             | 4 ++++
 create-diff-object.c | 6 +++---
 2 files changed, 7 insertions(+), 3 deletions(-)

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:10:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:10:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631765.985452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ZVv-00010J-5Z; Mon, 13 Nov 2023 16:10:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631765.985452; Mon, 13 Nov 2023 16: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 1r2ZVv-00010C-2D; Mon, 13 Nov 2023 16:10:15 +0000
Received: by outflank-mailman (input) for mailman id 631765;
 Mon, 13 Nov 2023 16:10: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=h1x5=G2=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2ZVt-0000kV-Vp
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:10:13 +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 1f65707b-823f-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 17:10:11 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4084de32db5so40155835e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 08:10:11 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 fm14-20020a05600c0c0e00b003fee8793911sm8414341wmb.44.2023.11.13.08.10.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 08:10:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f65707b-823f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699891811; x=1700496611; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z0sqf60uuy6WP/IELnnjhXU0ebHU5JMNByUn7ifmfjM=;
        b=WUv60P9Mhlq8QnBW2c8krP7HicaEFRUR4RUU6dp5sC6oWlCTJbDEm8i6BvvGOL3GNU
         cgRvk+Dxuf+o/f09+xv9SlOrwXP9brw5lbLvpneLJG66Gok6+CFiHtxDJZEwm4saqQgw
         hkO6ro05yVP2y7488NVFK8IN/AKSkpZkVzXJo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699891811; x=1700496611;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=z0sqf60uuy6WP/IELnnjhXU0ebHU5JMNByUn7ifmfjM=;
        b=JCHlA7nOx1M58MMqOZtDbAXHTKLXBHktLnVYzrwxzlXaTu28RGIMc9go0YI9jnM21t
         L8XC7w2FVEaD9hu8tquE3V5OzkE484rbhug8GJNbYYX+Ow7zKY5mlVJSyoOgLsgIVZ7P
         3uU7ns//6xaJGIipS8tkvbo8szW2tyLOk0vPcga/KYg8MpEBb2BQmqg045KnYl8l/FRY
         F3Pqy+rjPCde2NVgBtGvruaSfIxN6KVCsw93SC+nDNv7NkkJhcdOwvUEyg4Y7Obw9R1G
         2I3iEtjNQq6iJpBdHns9eWIXv/qbHVdCBXpZ1WADwH4WI6+dVPdnAesWuHo54MhV5e5o
         IBJA==
X-Gm-Message-State: AOJu0YxMIBUS+T0qTp2VR7s6qOGSFgDNnIBstS1Jlzi7T1cLspryy50q
	CZEUi2ya6LmjaFy1t4tEy+AIdt7N5NLGerEo41s=
X-Google-Smtp-Source: AGHT+IHui0DMsxmsXNBSRyttpmsh9c3gUU9wFXhTBpTmUrtGdGW8osDQWsf8XPoPBKkcKemPcMDr1A==
X-Received: by 2002:a05:600c:21c2:b0:40a:463c:1d8c with SMTP id x2-20020a05600c21c200b0040a463c1d8cmr5676064wmj.21.1699891811150;
        Mon, 13 Nov 2023 08:10:11 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 1/2] livepatch-tools: add -largp option when required
Date: Mon, 13 Nov 2023 17:09:39 +0100
Message-ID: <20231113160940.52430-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231113160940.52430-1-roger.pau@citrix.com>
References: <20231113160940.52430-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

crate-diff-object makes use of argp library, and depending on the libc
used by the system (ie: musl or BSD libc) argp is a separate library
and requires the addition of -largp to the build rune.

Introduce some shell logic to detect whether -largp is required for
linking create-diff-object.

I haven't done this as a reusable macro because I'm not sure there's
much point in doing so, the only library we need to test for is argp,
anything else is likely to be a mandatory library flag that doesn't
require such testing (like libelf for example).

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 Makefile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Makefile b/Makefile
index f96b150539d2..2f74c3433336 100644
--- a/Makefile
+++ b/Makefile
@@ -11,6 +11,10 @@ LIBEXECDIR = $(DESTDIR)$(PREFIX)/libexec/livepatch-build-tools
 CFLAGS  += -Iinsn -Wall -g
 LDFLAGS = -lelf
 
+# Non GNU libc systems usually have argp as a standalone library.
+LDFLAGS += $(shell if test -z "`$(CC) -largp 2>&1 | grep '\-largp'`"; \
+                      then echo "-largp"; fi;)
+
 TARGETS = create-diff-object prelink
 CREATE_DIFF_OBJECT_OBJS = create-diff-object.o lookup.o insn/insn.o insn/inat.o common.o
 PRELINK_OBJS = prelink.o lookup.o insn/insn.o insn/inat.o common.o
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:10:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:10:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631766.985462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ZVy-0001JO-DI; Mon, 13 Nov 2023 16:10:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631766.985462; Mon, 13 Nov 2023 16: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 1r2ZVy-0001JF-AB; Mon, 13 Nov 2023 16:10:18 +0000
Received: by outflank-mailman (input) for mailman id 631766;
 Mon, 13 Nov 2023 16:10: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=h1x5=G2=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2ZVv-0000kV-2j
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:10:15 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2075e6e3-823f-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 17:10:13 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-50a6ff9881fso5115678e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 08:10:13 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 l10-20020adfa38a000000b0032dbf26e7aesm5768973wrb.65.2023.11.13.08.10.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 08:10:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2075e6e3-823f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699891812; x=1700496612; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LEyJPbz5vLaL820Iu2zEMIkHFyVdUrRe5Vuo+rlUsto=;
        b=Mis/sw99hubGjZD36g1d1MBuwUVB+T2G95NCiAgTbwlUpj7fa2tBA+EWlbQ3a4d9J1
         v9fF8wmJYfHOS1WhCx9684NuqJMJ2iJPGPfJe1s8PqfpBTsscLxaDiwlo/HSrcZpZYFD
         xmW5sIKpje1soy0MOsdeYcnq5m7ptg/KxcNfo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699891812; x=1700496612;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LEyJPbz5vLaL820Iu2zEMIkHFyVdUrRe5Vuo+rlUsto=;
        b=dDbp+JB2plHZDA6Qfs1pDNmF/is0uP3pFDQBMFehiPcP7QQptLhmWDAkjkt/z+qdCU
         7C6i2pZgRK+awVsDBeReBQ/V9Hu20HzAoSoF4tyfCbTcscPtic1eu8uXdtnk95c1HBde
         eBOGxlFKT017LD8OMAKCiRvTzzCFs8WS3KkdI8Vgdj3hNKGhkSuva2cOvu2tXSBkHSNk
         auUqFWR8K3ixXzUZdUH3ooNcJPrbr4pm4YheAdL+zrd+q8wbSShSa5yNc0IjzbTLce7x
         TgM1uYlopaSbBBV2mBsFTb/bo/GgaPABrfxQtkSDfyu4cRBAlRBOhR4PC9dra0F0btzS
         qQWQ==
X-Gm-Message-State: AOJu0YwjFFHEyJZxeuTOfIWH7zY3uAMhm19HTvHoFUyl8/oNnXOCx1vr
	nMxLwyWQkyRuU2TD0rl9b1tUmfkqQ+vJBWsTep4=
X-Google-Smtp-Source: AGHT+IGywKZgKPdGiy6N9PoH+At+Tuafu6qeoZrvgjPcbES4qr0U9kIS4TqkCINRmv2eh82aCAweKA==
X-Received: by 2002:ac2:43a3:0:b0:509:3bba:e8a with SMTP id t3-20020ac243a3000000b005093bba0e8amr4325582lfl.39.1699891812416;
        Mon, 13 Nov 2023 08:10:12 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 2/2] livepatch-tools: fix isnumber() function clash
Date: Mon, 13 Nov 2023 17:09:40 +0100
Message-ID: <20231113160940.52430-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231113160940.52430-1-roger.pau@citrix.com>
References: <20231113160940.52430-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

isnumber() is already defined for some libcs [0] but the interface is not the
same, the isnumber() helper just checks if a single character is a digit.

Rename isnumber() to is_number() in order to avoid the clash.

[0] https://man.freebsd.org/cgi/man.cgi?query=isnumber&sektion=3

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 create-diff-object.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/create-diff-object.c b/create-diff-object.c
index 67784642bcd7..d0e14e3a62bb 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -1352,7 +1352,7 @@ static void kpatch_process_special_sections(struct kpatch_elf *kelf)
 }
 
 /* Returns true if s is a string of only numbers with length > 0. */
-static bool isnumber(const char *s)
+static bool is_number(const char *s)
 {
 	do {
 		if (!*s || !isdigit(*s))
@@ -1380,13 +1380,13 @@ static bool is_rodata_str_section(const char *name)
 
 	/* Check if name matches ".rodata.str1.[0-9]+" */
 	if (!strncmp(name, GCC_5_SECTION_NAME, strlen(GCC_5_SECTION_NAME)))
-		return isnumber(name + strlen(GCC_5_SECTION_NAME));
+		return is_number(name + strlen(GCC_5_SECTION_NAME));
 
 	/* Check if name matches ".rodata.<func>.str1.[0-9]+" */
 	s = strstr(name, GCC_6_SECTION_NAME);
 	if (!s)
 		return false;
-	return isnumber(s + strlen(GCC_6_SECTION_NAME));
+	return is_number(s + strlen(GCC_6_SECTION_NAME));
 #undef GCC_5_SECTION_NAME
 #undef GCC_6_SECTION_NAME
 }
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:16:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:16:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631784.985472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Zbx-0004FE-31; Mon, 13 Nov 2023 16:16:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631784.985472; Mon, 13 Nov 2023 16:16: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 1r2Zbw-0004F7-Vz; Mon, 13 Nov 2023 16:16:28 +0000
Received: by outflank-mailman (input) for mailman id 631784;
 Mon, 13 Nov 2023 16:16: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=7nXK=G2=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r2Zbv-0004CZ-2H
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:16:27 +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 fcb1225b-823f-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 17:16:23 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-40806e4106dso27022555e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 08:16:23 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 q25-20020a7bce99000000b004068e09a70bsm8420348wmj.31.2023.11.13.08.16.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 08:16:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcb1225b-823f-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699892182; x=1700496982; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=wM6wQO+oBJ22EzYdEEsUmhhq2/nWAoIa4RjzXuaOkfs=;
        b=QTiuBrENs9EeP/Vfc/CpcWUmL9zbwJ1xj3Tu4C5BUjBTFY2xVgdlNxwG04rJJs/qcH
         V+63GQFktliho8q2cVKf1o/8Q7EUl1/QhWNVurr7dlbHUJoAOrcxEk6vrEybqOW3lyws
         Wpf8RwJu8pT8STe4qTUXMzQf+hlw62TnEKtWI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699892182; x=1700496982;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wM6wQO+oBJ22EzYdEEsUmhhq2/nWAoIa4RjzXuaOkfs=;
        b=k3d3dpyFsYGTnEE3BCYkg5TNS2PWZFbE9TXZMC/gYz4nKh3wXV7vTP+DDP5+GGXeX0
         xz4tWsXrXrISi5+JjsWo8CVpIzX/fdGt0P8rS3p/fIkPHcRKHuqSMUcDMjyu76LpDPwl
         elnYCERQzvsK0KB7ZDRRF8fuYvwmtU08tw7RlJETQtOHNyLzkXHoDIF4LO1ltYdggraJ
         GV2goCaHcQLbaFXYMregnBXvvvG1ov0X7+WbzUWp42/I6DTK6V2R480WW0HivwVxgBwi
         QN1zzHFkTQHIDAHl8OSbyKrUk6cr9UyGo9LWmaOeLbaYLGaC3FI39TVwqhUuGjdkczZJ
         xoTg==
X-Gm-Message-State: AOJu0YzlRQsUMRgrHH0GSS9kxHaoXLk4Y8AhbZKs9yvWpA6cobS02HwY
	uZaGgj+RWTLA2Y5/kebU6Gn0Rw==
X-Google-Smtp-Source: AGHT+IFSpS0gR5KrhZDT/NgAv6ZLDR+n/l8ZIzpk4Sukl470lymwyr0KnjjyVDwsEwNi0F0WXYrkng==
X-Received: by 2002:a05:600c:997:b0:406:45c1:4dd with SMTP id w23-20020a05600c099700b0040645c104ddmr10031313wmp.14.1699892182465;
        Mon, 13 Nov 2023 08:16:22 -0800 (PST)
Message-ID: <65524bd6.7b0a0220.5b797.bbc4@mx.google.com>
X-Google-Original-Message-ID: <ZVJHHxj2px2NT+SQ@EMEAENGAAD19049.>
Date: Mon, 13 Nov 2023 15:56:15 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Clang-format configuration discussion - pt 1
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
 <930d7aa7-7573-97d2-e146-ebe68214c0aa@suse.com>
 <7235E3F4-8387-49D7-A3B6-0EA93CAE408B@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <7235E3F4-8387-49D7-A3B6-0EA93CAE408B@arm.com>

On Mon, Nov 13, 2023 at 03:20:53PM +0000, Luca Fancellu wrote:
> 
> 
> > On 13 Nov 2023, at 11:31, Jan Beulich <jbeulich@suse.com> wrote:
> > 
> > On 08.11.2023 10:53, Luca Fancellu wrote:
> > --------------------------------------------------------------------------------------------------------------------------------------------------------------
> >> 
> >> Standard: C++03
> >> 
> >> ---
> >> From the documentation: Parse and format C++ constructs compatible with this standard.
> > 
> > Since I continue to be puzzled - iirc you said this is because of lack
> > of availability of "C99" as a value here. What's entirely unclear to
> > me is: How does this matter to a tool checking coding style (which is
> > largely about formatting, not any lexical or syntactical aspects)?
> > 
> >> This value is used also in Linux.
> > 
> > Considering how different the two styles are, I don't think this is
> > overly relevant.
On C it _shouldn't_ matter because it's meant to affect C++ constructs
only. That said, clang-format doesn't understand (or care) whether the code
is C or C++, because C's syntax is strictly contained in that of C++ as far
as formatting cares.

While I agree it feels wrong to apply a C++ policy to a C project, it's
largely irrelevant. Setting a value here gives more deterministic output
because it fixes several options' default settings. One would hope none of
those settings affect C, but the world is complex and it's better to be
safe than sorry. Particularly when it's an inocuous one-liner.

There aren't strict C values. And Latest or Auto are simply shorthands for
one of the C++ options.

  https://clang.llvm.org/docs/ClangFormatStyleOptions.html#standard

> 
> Ok, maybe I understand your point, you are looking for a reason to declare this configurable instead
> of not specifying it at all?
> 
> If it’s that, from what I understand clang-format will use the default value if we don’t specify anything
> for this one, so it will take ‘Latest’. I think we should put a value for this one to fix it and don’t have
> surprises if that behaviour changes and seeing that also in Linux that value is fixed increased my
> confidence.
> 
> However, if you feel that we should not specify it, I’ve done a test and not specifying it is not changing
> the current output. I can’t say that for a different clang-format version though or if changes happen in the
> future.
> 
IMO, C++03 is as good as any other. As long as it's a fixed one.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:28:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:28:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631788.985482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2Zn9-000276-2V; Mon, 13 Nov 2023 16:28:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631788.985482; Mon, 13 Nov 2023 16:28: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 1r2Zn8-00026z-Vz; Mon, 13 Nov 2023 16:28:02 +0000
Received: by outflank-mailman (input) for mailman id 631788;
 Mon, 13 Nov 2023 16:28: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2Zn7-00026t-EP
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:28:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b6071f7-8241-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 17:27:59 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB7058.eurprd04.prod.outlook.com (2603:10a6:208:195::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 16:27:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 16: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: 9b6071f7-8241-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gQDzEXveT4oaJxEqaiH+DYQu9xqCHKSlud7H60gSuJnxlNnsJOMyGWlVJXFo1Q57kOaSUIR3TAzYw58WEl2q8E1KiQwNmSBQM+fX10EljyXPdFGVXqQUbt/6kt6U4eppCbJvY4imPHgNSfVvEPmejG1TMSSAgO3g79EyFvTipuC36yecdC5LKMJHGSGGAhu7bnimTYpJcSSoEZrzsarYUzLykck4ifmlWgioa8ftjpwlT1tlG0DxHi+eS0ihJwRin9qHtbRKyBMOJUzK6EFgzm9zC+wMyr2TOQK0bkNC5/TLOZBAsuBJ9gh14FH78hDkeLIbRiprf9t0BCQLHv3Kzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CTfwVAAGNJbo80mRwH3YHpLQMH9zM6BdSYonh0KCeJQ=;
 b=Fi8U7ehD6GTTWMviM/RgLON9K0lwur4kcO+LWFUH91mYUhvuWOIlT27PbMRzMrhpFxvDbIflDIyVbUwmNSZDCTwXZYzDShlZXVcIaz+KYSHDXmvjKSqDBsGpaUEcenhgxP882uYdRJMYxGJY2Q3Q0hD0LXe7f8SKKAabSc2IX10Vz/hvUTO2GFTWlt5GZjOmHtLe1c48Bk8KRvmt7GqP3sAuZUIN6ovS16I/8ZZ9BiKl7PEkSP8cnSLLJo3WaxeWUxHi5KfKx3xfV2b9MDrmU750C4+VyDRk/hdJQuiu+9ihJT60MXI08JRgxtUuHW0LkSg9yr00lvQRANAKTmUQTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CTfwVAAGNJbo80mRwH3YHpLQMH9zM6BdSYonh0KCeJQ=;
 b=d4drVZwE9GDrkYL5becA6C/DeOnGi8SQelWDxIP05nT72Mh11WHSV2BDbIw4RYvBqk4xkocQh8PcMPWWB0xh/eFyYJ9YlaIzHoYYUqQqWXFhch9SXaNbfml0M/EvTGXyb+5VpIjACKlnxPTu0pgYf/HpR3wd2I8K5PZjsIzfhSVoNh/M7pE5m6/ol1+P58cI2bvUnobfs7XwO40aa1pLJsJU7rXyVfg/DiRE0Gm/PzZYhKAO1Wt1IWn6IKFSmW8PL8XZtzAn6CRjGLhF345MFNZFchZl2QPinesh70MD9dXyNn/7bFVApHKz5Hf810JiIyJGLmwEAdGiDbl+Vhn53w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <30a94519-c622-6017-2cbf-35690114d49e@suse.com>
Date: Mon, 13 Nov 2023 17:27:54 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: Clang-format configuration discussion - pt 1
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <Michal.Orzel@amd.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
 <930d7aa7-7573-97d2-e146-ebe68214c0aa@suse.com>
 <7235E3F4-8387-49D7-A3B6-0EA93CAE408B@arm.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <7235E3F4-8387-49D7-A3B6-0EA93CAE408B@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0148.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b8::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB7058:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e968e81-c0ce-40c7-297e-08dbe4657e6b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/fLrX1HUiFHm7PESsX1WROYwthojSwWiiZ37XCKj6bheRfXGvNhDToIWcZLtidnTQvXu4RiRqdAdze60ZrX7/NbiNWID9PrRoOmyKZorbeaePPaNh73Na9zl9eTwb0w/ngybOLHHiP87tIr8QatXhwOIchFlHBbZWpKUX52boYpCGwmXoa26ztAyhcqTwvOFnKHyYy2F3z+hsHH80533qKHdjK/FsKZptb8iFDE4Eoan4xLfgR2dJtXuVZ8IcDNyxiNpu4dDPK9lEpw26xFo5BNARregu14Uf5zZ6rrdAfzg/jsyGegeodbjdpWk+VNELyidFrlZ0YQ2b2jUunX04zTyKy9ZkOFsqLOhVe095IW+NAqKB1Wa1X39Q9HhyIgQ1rEa4KN7jJHIaAJT9ijHKpcct7W6JNJ60uugcHfznm55upgqSwffOtqqEVze5HpVwyWDwr5+0bSrCcrqs/kQcGDEFyzjR9ncplJFE+hlhXzfwrc7EffihwD1LPDM0MZcxIJkTOXxhHhl/TImwMsD2iQxdhfQ8zoNVfV7BsU/xm9Rycz+nDucOXaNUJyMog9ix6aHZ5onOSdtkKyHsUp07ZX59zBXprNEZWSUZc6yJI11iphAWRtpgRo78J4zyV+NItJcdLEp7LE/oUz5h0z0Kw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(136003)(396003)(366004)(39860400002)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(31686004)(66476007)(54906003)(66946007)(6916009)(66556008)(38100700002)(36756003)(86362001)(31696002)(6512007)(26005)(2616005)(6506007)(53546011)(2906002)(478600001)(316002)(6486002)(5660300002)(41300700001)(4326008)(8936002)(8676002)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHhGSjB5NHFVVlR3OGlnK0xnbFZjM0t3NlpWZkdtOUpPWXVTcGh1NXp3QnhO?=
 =?utf-8?B?OXBkb1hjRlNpM3JBL0hXSmFvMGJOWk5Yam5POWdkM0FFTk1pa3JGWDFhR3J6?=
 =?utf-8?B?Q3ZpR3dHT3R4N2dkaEw0U0w4Q1haZy9HKzltYW5IWTZScklFSjh2Wlg1ZUR5?=
 =?utf-8?B?THJhSEVlSEVXQVJJYnZzUDVnbmhzMm01dkRMK2tTVkFzZDRRRFpjakdtOElH?=
 =?utf-8?B?SDVGSDdhc000eUllWmtNMHRVMUtGeExKOHV0c2kxS3hsdE4xOUkvZzhleFh4?=
 =?utf-8?B?NnFnUHhxQ201OGZpWXU5bko1bEV1TFpLc0w1Z3VnNlJ1cUdSaEFFL3JjblFW?=
 =?utf-8?B?b09lSms5R3pGMTdGcW9jS3M1L2NIWm5jYTJ3VlNyS0JITlZjVjZZSk1oUENx?=
 =?utf-8?B?eW51eGpsaElVdVhGTTA5L3dIRzVFWDdSUThWazhUeHJ5NVoxa1BPV3JHNmFB?=
 =?utf-8?B?WDlTN0JvU21kUTBVL2VqRzMrU1VkZnlMVm82ZEp2T2VaM2VZVG1DRzJRR0FF?=
 =?utf-8?B?VDZuVHdrMmRMRm5SRkdHNXBDVldTYTJpeEhoU0lIVG16U1hFcWhkTzBrajN5?=
 =?utf-8?B?eU0razlReS9pMTd3WS9ycjBoQzFOWmNyakFaWE0rY3QrbkJsNC9Jcms2RDFX?=
 =?utf-8?B?eG5ZVGUyWDBzcVNEYitYL0ZYdklCbnZPTVZNdGRkTkpjTmtVZDhMWnp6US92?=
 =?utf-8?B?cmhleTRTdXp2VjNnaXJwNG51bXlKRDd6MlZmQ3ZLWmJWVHVwRUYyMVUwK3RL?=
 =?utf-8?B?TWJXMmxxVGRQMTFmS1F5endteEZieHpFeEJ2WnRQenlGak9XNGRRY0NweElV?=
 =?utf-8?B?VUpWWVRiNVZ2MDhsbUZ6clhvM3E0djhJL1o1VURtR3BqWW9jQ0QrVHJEalJy?=
 =?utf-8?B?aE5BVHhpR1dScHhTMWJXY25pbENpaCs5U3krL0dhakhLbmdkaXFHcTczaEI3?=
 =?utf-8?B?T2J6bHhKKzZxdHJkRldBaUIveHpXVzEzU003eVFLUEVpcDNTQm1uUW5LbE93?=
 =?utf-8?B?UmtFVHBQdndDVEYyVFEwcnNvOGFmclBpUjZreEJmVUx4M1JuYStKTk14MWtB?=
 =?utf-8?B?eEppMUpKNnBDRSt3eFlOTTY4cmpUQzhnb0ZybTVDSVQyT3pGMGEwczg0RGlv?=
 =?utf-8?B?UVExaVhNMnF3MGl5UDZNWTh3Z29DTGt3T3NNWWR1aTR5dnVGa0NEejU4NFNM?=
 =?utf-8?B?bTFNZUV2R0VJejB0TFIweXRkNkdLaExReUJTUXVRR01oZnJ2MEFkc2FEVzhj?=
 =?utf-8?B?RDhrTWtzckNrVWpSVzdsdkIrbERheENXb1dZRWJxbnNWMHBxQnlKWmJFZFNx?=
 =?utf-8?B?NUVtZklLM1N5eVlLLzlES0w3S3BZdlE3SWo1R052Z2sxUFpxR3hjT0c1eElR?=
 =?utf-8?B?RlhRcHZlYm9HSWdsUERSKzZJZk1KVGRGamxMRVpiQkdtU1VpRlErMDVmSncz?=
 =?utf-8?B?TFl6RWFPWXEzcXpwd1dxRWZzeHBNL3U5b29FekJPbEhXNUd2bm5LVUY2U0RW?=
 =?utf-8?B?UFpiTUZJWXd0YW44T1dWV1RsWWw4Sm4yT2NCcEFEQUNDVXdUMzFXMTNnZzVt?=
 =?utf-8?B?NllOc0R6REdLQnVySVdpck02Q1BZb3VvVVErbFFtQ0ZOY2ZkNUJTZU9FV3pQ?=
 =?utf-8?B?S1dGRUg4YnNPVmN6dmova3M2d3dyOWhwUHFOYUVGdFFKSTlWZU96Q3lYSXJL?=
 =?utf-8?B?YXBSNWtQN0pJRXRpaGpDayt0SWRMaDh0M0RpSVNsaHJaR2JiUHpPTWtlK0NJ?=
 =?utf-8?B?YmI5Q1pNUng1MmppZFVVSlpTdE9aa0pCQ2tsTXhzSVYvS2l2WjFJUG5pcXJi?=
 =?utf-8?B?MDhiMHUxcE9OZUVLcGswQXdteFhIWisrcHVXeVZhZ3RKYkZiOUhQTVFwZHJE?=
 =?utf-8?B?elhTU25zZ3hxRHRmZzV5SFNQODdpZzRDeFBwZ05FeFRZZEdYZTk4YVo4Zy8r?=
 =?utf-8?B?R3R6N0VndldsWks1TExxbUVEK0UvYURtUGhORnA2N201V1FSN2xwY0lvazNG?=
 =?utf-8?B?cWQrT3REd3JUbUg2QVhSVXJwcHJwK29tNW1QMDZyUk1qNWxNelZKQXl5K3B5?=
 =?utf-8?B?dFhKMnAzSmpPOUtMRk83WE1rM2FCT0doUnljMHNSeFFxVzRlZU9FbVE2aERm?=
 =?utf-8?Q?6EYqul5wY7aG+Ew/1/mrYxeep?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e968e81-c0ce-40c7-297e-08dbe4657e6b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 16:27:56.8010
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XyZoGKA6rBUGvgmP6h5BtinObvUbMJfy2c3NQmnWdlFTyejU79KbdcbVRwUwfbH0WYvt4UWdC9dnfjzvWTF76A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7058

On 13.11.2023 16:20, Luca Fancellu wrote:
>> On 13 Nov 2023, at 11:31, Jan Beulich <jbeulich@suse.com> wrote:
>> On 08.11.2023 10:53, Luca Fancellu wrote:
>> --------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>> Standard: C++03
>>>
>>> ---
>>> From the documentation: Parse and format C++ constructs compatible with this standard.
>>
>> Since I continue to be puzzled - iirc you said this is because of lack
>> of availability of "C99" as a value here. What's entirely unclear to
>> me is: How does this matter to a tool checking coding style (which is
>> largely about formatting, not any lexical or syntactical aspects)?
>>
>>> This value is used also in Linux.
>>
>> Considering how different the two styles are, I don't think this is
>> overly relevant.
> 
> Ok, maybe I understand your point, you are looking for a reason to declare this configurable instead
> of not specifying it at all?

Not really, no. Here I was merely saying that with the styles being
sufficiently different, what Linux uses is probably not very significant
for our own decision.

> If it’s that, from what I understand clang-format will use the default value if we don’t specify anything
> for this one, so it will take ‘Latest’. I think we should put a value for this one to fix it and don’t have
> surprises if that behaviour changes and seeing that also in Linux that value is fixed increased my
> confidence.
> 
> However, if you feel that we should not specify it, I’ve done a test and not specifying it is not changing
> the current output. I can’t say that for a different clang-format version though or if changes happen in the
> future.

It's fine to set values. All I'm saying is that at least I would prefer
if it was also clear what exact effect the setting of a value has,
especially when that does not really match the language we use in the
project.

>> --------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>> AttributeMacros:
>>>  - '__init'
>>>  - '__exit'
>>>  - '__initdata'
>>>  - '__initconst'
>>>  - '__initconstrel'
>>>  - '__initdata_cf_clobber'
>>>  - '__initconst_cf_clobber'
>>>  - '__hwdom_init'
>>>  - '__hwdom_initdata'
>>>  - '__maybe_unused'
>>>  - '__packed'
>>>  - '__stdcall'
>>>  - '__vfp_aligned'
>>>  - '__alt_call_maybe_initdata'
>>>  - '__cacheline_aligned'
>>>  - '__ro_after_init'
>>>  - 'always_inline'
>>>  - 'noinline'
>>>  - 'noreturn'
>>>  - '__weak'
>>>  - '__inline__'
>>>  - '__attribute_const__'
>>>  - '__transparent__'
>>>  - '__used'
>>>  - '__must_check'
>>>  - '__kprobes'
>>>
>>> ---
>>> A vector of strings that should be interpreted as attributes/qualifiers instead of identifiers.
>>> I’ve tried to list all the attributes I’ve found.
>>
>> Like above, the significance of having this list and needing to keep it
>> up-to-date is unclear to me. I guess the same also applies to a few
>> further settings down from here.
> 
> From what I understand, we should give to the formatter tool all the hint possible to make it do a good
> job, for example here we should maintain a list of our attributes so that clang-format doesn’t think the function
> below is called __init instead of device_tree_node_matches.
> 
> static bool __init device_tree_node_matches(const void *fdt, int node, const char *match)
> { ... }

Well, perhaps they indeed need to do some level of syntax analysis, in
which case knowing which identifiers act as attributes is likely going
to help. Which is where the "needs keeping up-to-date" aspect comes into
play. The example above is simple enough that I wouldn't think a parser
needs to guess what this represents, but presumably there are cases
where ambiguities might arise. (I also wouldn't exclude that the more
involved syntax in C++ increases the desire to have apriori knowledge on
the purpose of certain identifiers. In the end, as per above, the tool
is being told to expect C++ code.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:31:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631791.985492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ZqJ-0004ri-KX; Mon, 13 Nov 2023 16:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631791.985492; Mon, 13 Nov 2023 16:31: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 1r2ZqJ-0004rb-Hv; Mon, 13 Nov 2023 16:31:19 +0000
Received: by outflank-mailman (input) for mailman id 631791;
 Mon, 13 Nov 2023 16:31: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=xOTm=G2=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r2ZqI-0004rT-PB
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:31:18 +0000
Received: from m35-190.mailgun.net (m35-190.mailgun.net [69.72.35.190])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 1181f264-8242-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 17:31:17 +0100 (CET)
Received: from mg.gitlab.com (18.226.74.34.bc.googleusercontent.com
 [34.74.226.18]) by
 6f4999dded95 with SMTP id 65524f3137abcea49f775ba8 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 13 Nov 2023 16:30:41 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 1181f264-8242-11ee-98da-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699893075; x=1699900275; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=UllsjJ8L7Tg8+SWBxVpSEUmlZhcprPNw3TX1qc8Qt4s=;
 b=UoUuR3xanOql4LnjcgDz+hKLmUua3J8fmgvZg+bO+rW3ZyScNqU2pP/L6KbOW2SpMn6yIh5YFU0ImYX76mu//2Pcky7ULADNDshtnHAxsEpxL38P6BVTaeaZVBjybdmJMUAqUvifbzdhpGxn+7or85PM0tb/AtEcHqy8TICS0BI=
X-Mailgun-Sending-Ip: 69.72.35.190
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Mon, 13 Nov 2023 16:30:40 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65524f30c14e6_2c9ac1818454a@gitlab-sidekiq-catchall-v2-6fc5864469-fhsvv.mail>
Subject: xen | Successful pipeline for staging | fb41228e
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65524f30b9c7b_2c9ac18184469";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1070425841
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65524f30b9c7b_2c9ac18184469
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1070425841 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: fb41228e ( https://gitlab.com/xen-project/xen/-/commit/fb41228ececea948c7953c8c16fe28fd65c6536b )
Commit Message: docs/sphinx: Fix indexing

sphinx-build reports...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1070425841 ( https://gitlab.com/xen-project/xen/-/pipelines/1070425841 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65524f30b9c7b_2c9ac18184469
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | fb41228e</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1070425841 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/fb41228ececea948c7=
953c8c16fe28fd65c6536b" style=3D"color: #3777b0; text-decoration: none;">=
fb41228e</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
docs/sphinx: Fix indexing

sphinx-build reports...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107042=
5841" style=3D"color: #3777b0; text-decoration: none;">#1070425841</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65524f30b9c7b_2c9ac18184469--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:40:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:40:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631827.985502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ZzB-0002pj-G1; Mon, 13 Nov 2023 16:40:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631827.985502; Mon, 13 Nov 2023 16:40: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 1r2ZzB-0002pc-D0; Mon, 13 Nov 2023 16:40:29 +0000
Received: by outflank-mailman (input) for mailman id 631827;
 Mon, 13 Nov 2023 16:40: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2ZzA-0002pW-9I
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:40:28 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20611.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 58cb356f-8243-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 17:40:26 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9462.eurprd04.prod.outlook.com (2603:10a6:102:2aa::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.12; Mon, 13 Nov
 2023 16:40:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 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>
X-Inumbo-ID: 58cb356f-8243-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WIMQYytbcpO26ZV5cIKS7nFIjbaSyXzPOkr5mPM+GoFrkarUAbCnpa4u20GINeVoYzBRfvpC5qdGPWdSf/XB0LRGPK72csf57pdvoojjwguG7PM4KQ0JFaPoRybwUaY589dYPeEoR7wr7acAtHN8cKu7kPRnVVgVKmjUQYxBNDHW6KLk8xuN1x4LxK4GUGKrDz7dB7ZMmhUCOIltplVOmCSfme9cF8qdUu3qoxBxBxYc1ZuKAyruZPAA4FDjKpQuxoX32zb2YnRIRjNWNBCspuh4iwcur/zy2popf+rX7KcB4Fz497eCz5v+w0hZAQnxhTK5vQusTCPGpIXGvps3ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bCmofWasZFXA/cG3KHgVCOndFdYkR6t6yoQqezHEVfQ=;
 b=ZqLEJZz9ghJwO3dUwxZSI3GaL47RsRDAr0okhPG2UWWq720J1FMiPsUWviLOM0tIKaRdGyaJztXJsbaaRXyuB3nwE5JN1gths8JnYSu5MWzyatMCzL1E44U4FnX7IsRlve2hyqXby4uDTg0mHFQ97GS9hntldMUGPQWOws35jmUyWSaGXjgVuafa7LfmDjBL9b0QKSx5xS+x5vhfSi9FReBmgQj6d2o+QUGGrxLaoaZxdPM8GSymvHIsGLpPJRmsX7j83fBibU1GdkMuwpuhAwASR2Di+0JjBK7rf3WB6/Py9Nqy/29jurW5GxM56ePObKjBNbSlqwxAnM08670GMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bCmofWasZFXA/cG3KHgVCOndFdYkR6t6yoQqezHEVfQ=;
 b=tn053L+4YBOkV1ot85XZ3wRfySlf6DcC7cWhmYgpWe2a27brm6swO33DWceRV4l7qsFc6Xhn+HmqOtB0GLJWfah9w5maAeQR1qT/UOD5vJd2Cr/FXtbxO4a41Srv4XU/jnO2tzb6qCc0d0TYyhbhlT+CQoUbWmCaHCUdbX+D2dp+7Y/vqGzot51/zZnq783Ykfu0CG3s2hLbQGciAv8sRUnK8PXVshctzBfSdzpF71iX4A5Wy2xL2G/9KzftD6rPM/YLbHUAwWlMmmmASYFWxPRuS1gKrbGCLaQQkoVdoiUvSF6QbxPrVDow4TKreTymBAHoIbdYWobEAAZhTIb6hw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ca73539f-24bc-407f-f002-1348c4182bc0@suse.com>
Date: Mon, 13 Nov 2023 17:40:20 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 01/15] xen/asm-generic: introduce stub header paging.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <c945fd8e0f92e3e325be77009a34aafcc6cc3a0a.1699633310.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <c945fd8e0f92e3e325be77009a34aafcc6cc3a0a.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0338.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ea::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9462:EE_
X-MS-Office365-Filtering-Correlation-Id: c101005a-9037-4f78-0be4-08dbe4673b17
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SRqaSvHfvLkXJgSrmmwtJ9dWwSw0FeSIjCsVGx0xfEx7/ka1YF1EmplcM7dqr3uInDBuTBBtzO3IpgwYA4/wDgUJkqRT4TasaXn9M7GXTvjVEpKVPLvW9EHqP4riAZBHwbc5bgj+yMW36W/667hyXdLzT2LNFPsmQt7fcBL3wp1OztJe8JQi+SuyGrvotOI2dCWPka+LuuL0kjozMnspWmNGkcjln3pttFjXiqbhCrrRAj/6j2EC5c20KRjeea4TyZGQi0s5nF+IPbR0AeEPsYpPfYHZV8hs4PIsM+ibaCKiWyqf7SgP+cWH4oGeQFleg3/aL8ObbBMOWxj4W24rQt+naJCuaM2++uBpr0mMMYBcazGyDcDjohd0QWqGU7bL3vBM9+SGeBU7WG8V2Pyj+TicyI4sLG/5KuBrIW+WSdMB+RhMoIncB7z9rdoshoRcg+kZK1U+xuG0b9hVHSr15zASY8/ScdfquIUJYC/lpNuG4utnA3LWEQJ5a+i9WUQkaaaBF+TSn3DdoZBb/NTtwkE6vs9R1R9XWeHvDF+xlVMY8Ifv0aMgf7vd+BKdgohoUY00hiwXG8VfyKBvZfoJND3PM5Z9kLfZbk3zMii7DAqgBaGn15YL5k5yLuqxVG7nW31QtAz7JBODKC4XQS7nrSVUpcIqa2X3HWSb8gdR8HHQf3gatV/f1SQZ/1OpZdnKOnJflIs+s4nepzPGP3/ndA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(396003)(39860400002)(366004)(136003)(230922051799003)(230273577357003)(230173577357003)(451199024)(1800799009)(186009)(64100799003)(66899024)(36756003)(26005)(316002)(6916009)(66946007)(66476007)(66556008)(54906003)(2906002)(7416002)(4326008)(8676002)(8936002)(5660300002)(53546011)(478600001)(6506007)(2616005)(6512007)(6486002)(31686004)(31696002)(86362001)(38100700002)(41300700001)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dUdMVzhod0M4MDMzUWNBOWlFNUhsVVEyT3UxaThqRmtGbG9IdjZJUWc3QnVU?=
 =?utf-8?B?RTFSZTlZTWRWL08zdVNhbkhCUnROdVQ1RGhKcVlLSHNha0JVM0F3aUZNazV1?=
 =?utf-8?B?OHdOL1hhWEpOMEFYOFhYNFkvN1FBeFhiQ3lmK1lnWk9QZlhQSURNMWptV1pO?=
 =?utf-8?B?S09QWEZvRHo1MjBVR2lpOHk1V25RY0ZaME90WDdKbUNITktPL1hLY3ZVZ0ZI?=
 =?utf-8?B?SXFRNStqZS9IckEwa2Q5MzJkWFlCN05KNDdCcFliVStndTNhL0NsenYzbDNO?=
 =?utf-8?B?ZlUyRmFMTkswZnZvQzh0Zjd5b0JRSzJiWlMzQkU1ZS93U3NtTTMvbnowVy9k?=
 =?utf-8?B?TzlURWlBRWNVSWdOOGNuNWdLb2g0N3cycDMweG8xall3OU5Za1pGUzJVSTB3?=
 =?utf-8?B?MEp1a1ZwNXhRYVVuUFF0MHZIc1M1RGJNdVVOZThEVWVhWTQ0NWhEMUw3K3ZC?=
 =?utf-8?B?YTNBL1dRZDhNTEc5TElTdnZ2enVMNk1IUUt2R3NhQWg0S1lDQTdXOHl1Tkcv?=
 =?utf-8?B?cUFLY3dYZ3Z0MUNsZDFTZ0JKcVZmd0JVTGNrVHVKVE40MTJOdkFnYzNwZTZv?=
 =?utf-8?B?U1o5NXliRHdZMHJyQmJNeFdqYlB3a3I4Q25icmY2dGYyVVBzY0lMOGZsSklL?=
 =?utf-8?B?QTVvWVFZT2FuZFUwUWxVS21FZy9DTTZPNFhELzh5R0JmVXJON2o0RzhSZGtW?=
 =?utf-8?B?a1RhY2VILzU1NDNqc0taQXU1dXkrQjYvaWhISnQ5dkpEYTI3TGduL0JZWUtz?=
 =?utf-8?B?Y3BZY1FnQkUrYUIzaTJpRDNYMHZXeUtHbmZYU1VaWUhKdHVqUmZBOGRyUFph?=
 =?utf-8?B?b3FYVy9QakZZZW5xUmp5M1ZMZG5QMGlvUDhPRnNOWHlvMGpLYmUyZGRmdThB?=
 =?utf-8?B?L09mR1hzSlRIY3o2U1YwbXcxUU1PckYzajdndzNKZkFaK3BuSFE4MHY3RHpK?=
 =?utf-8?B?dXk5OHpMMWsxVW5tZUhueHZERWtiUjJpSnZEV0YxS2tOeHYxQ0VUOUxHWngw?=
 =?utf-8?B?SnpvTTFPSmNUcFB1cFNwMFY0cEsybjJxK0FLejAwVEx1enBsMzhPNG4rdWRm?=
 =?utf-8?B?TVVtT3dia0xXMkFPM0FPVkFnTCtVQ2pOTmR1V3BYRW5UYkMvRXJ4Q3lCWjJ4?=
 =?utf-8?B?U0Z0ZGZGT2xGaGVjeHhxZnlNU1U0aGlKcUlhaWhxQUFhVTFGNG5xR3lUMXRz?=
 =?utf-8?B?OXNnL05aa21WSWQxV1orSm8zZm15MlhyallRUk1qd2NTZnNBR0FaaXQ0Sjl1?=
 =?utf-8?B?UkhHeVpsRjZhcHBjRThuSmxRd0Q3Yi8weHdKY0psSERSTDhsUDRwc2JTMng0?=
 =?utf-8?B?d0hHMWFoMlBkOUZIVm5ZLzVNbmRkdVNFZ0IvVVllY3pveXk5T2ZBeTRleGx4?=
 =?utf-8?B?aVJ1SnQzSEUvcFJraG5XakNqU3JqK3ZoSEZQWTVQWWFYTHBIZ2JJdXJpN0dB?=
 =?utf-8?B?OEZSdHNCMGxha2V3d1VDNGw3MGg0ZEdnemVmM3RyRU4yL3RyZUhhUmhtMmgv?=
 =?utf-8?B?MHRoUkFtS25sZ3Y4WjlPdE9xbkZaTUNWT0lKYWYzNUFIQmRuM1RIZDdIL1hu?=
 =?utf-8?B?aEN1T3hHeFR2aW4xemVEZnBLaTk0aEFQMHlINlcrbVdxY0lreVd0cWFnUmRn?=
 =?utf-8?B?RzNLNk1JeUs4Z2hCVmFnK084NVZrU0Fzb1JnazVGYzYycE11MEpQQUNRR2du?=
 =?utf-8?B?ZXR6YkFqc20yKytrY2NBdXZZR2tWR0lVbEt5MWFtSTEzTUk3U0k4MlZNZGxt?=
 =?utf-8?B?UGNtLzEyUEJvWDI0aDc0VVdJMUR0dEhCT05oV0ZCKytENWxQVW5VTjNzQU1Y?=
 =?utf-8?B?OWZMdlVYb2FDMEF0Qm9CNG1aUVJXcnN1UThyYjRQYkU0MWtyNmsvaXpIcHFo?=
 =?utf-8?B?bk96aWJEb1l5Z1B6djdXVUh3WGRYUDZCREdORnhlWFdZWSswbVF0TVlOeGtC?=
 =?utf-8?B?cWhVdUNxcUtWYll6N1NxTGtadGtoSm1jcUJCZ1EySEdmNi9Gb1JwV2xETEZj?=
 =?utf-8?B?cGZDVGNYMUo3dmlaTWE1dkZGUGs0dTNweHJWWEdBb1Z6OHBRZWFSdXhKNlJV?=
 =?utf-8?B?ckxNN3dqbDZvWmp6MFFyTVUwNTA1d3ZtK2k2d1FxWGE4ejZoOU9VT3pWam1E?=
 =?utf-8?Q?JqZX2FbKZnyxlkFNC3//Hqwz8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c101005a-9037-4f78-0be4-08dbe4673b17
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 16:40:22.8346
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0DuoBvotv7JkiE7uTEIoHfVAEv5NKdzkkqsbnh9iPO8KvCwOCFT32p9LWJnJFV4sWhzyXOZGPh7CnOPvhe45Ug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9462

On 10.11.2023 17:30, Oleksii Kurochko wrote:
> The patch introduces generic paging.h header for Arm, PPC and
> RISC-V.
> 
> All mentioned above architectures use hardware virt extensions
> and hardware pagetable extensions thereby it makes sense to set
> paging_mode_translate and paging_mode_external by default.
> 
> Also in this patch Arm and PPC architectures are switched to
> generic paging.h header.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with one nit (applicable twice):

> --- a/xen/arch/arm/include/asm/Makefile
> +++ b/xen/arch/arm/include/asm/Makefile
> @@ -1,2 +1,3 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  generic-y += vm_event.h
> +generic-y += paging.h

Like in obj-y lists it would be nice for the items here and ...

> --- a/xen/arch/ppc/include/asm/Makefile
> +++ b/xen/arch/ppc/include/asm/Makefile
> @@ -1,2 +1,3 @@
>  # SPDX-License-Identifier: GPL-2.0-only
>  generic-y += vm_event.h
> +generic-y += paging.h

... here to be sorted alphabetically from the beginning. Right here I'd
be happy to make the change while committing, but I'm not going to promise
making the same offer on subsequent changes (should the same issue exist
there).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:43:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:43:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631831.985512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2a2O-00048Q-VN; Mon, 13 Nov 2023 16:43:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631831.985512; Mon, 13 Nov 2023 16:43: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 1r2a2O-00048J-RV; Mon, 13 Nov 2023 16:43:48 +0000
Received: by outflank-mailman (input) for mailman id 631831;
 Mon, 13 Nov 2023 16:43: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2a2N-00048D-5f
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:43:47 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on060e.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfc46d85-8243-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 17:43:45 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7286.eurprd04.prod.outlook.com (2603:10a6:10:1aa::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 16:43:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 16:43: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: cfc46d85-8243-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lRPt49y72LtwGMQD4vuQ83Qo8bKExNbtwMF2s7QD2HaEFiMb1/A3zfyODRBUt+d9Fmv8nR6avBYmzUHdOBlRUiF3D/Gj5l3e7WYmLGhGV9WywWr+vG8rj532YrFhF71zgdifrVd1ggeZeCd+rUfXYDGibSPFtTZKWVXEIhu8ABVVXI6oJpumPx4AnRlbH31ZNPMwsR+IxAZv0Dqf6sLdOSKzqBk86LQGkz6JDDF9RBMQLTk07nnfuTgDiSelc3e9e8nW34DBfy8KGYMCHgnIEDYwKMYkBos7CmtyHBlCS71LqSg1VYN4qWFn0Ed0vlwtauw+9N0sDgjTWqSC5yAoAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2BbK6sxOg1Gc0ynyNYi1X5rCO6gGZ0+ym60kqIBXVis=;
 b=gISZhbpNH8kZ1CDCfwXw2qSbhdetXp6T21+jUTTZCei6BbVwGRl9Am4leqPeX3d89jEwVv/olrI+EXR2rcEC4s5bIYvpjF6Se3WnH0ypJqch2hdNnJLEtfOmbYsety/iFgmNMh/DW0woru2Yf67sWuay2XqezP15QNEOySD2zUSAi1Jl7c/n0LhH3WjMNYAmN3/M+gamvC88+vkBvfmAnA0NwufOj4hhXtfYV4pDHyMaNp+iCT23cAlbhqRRbaq1kSDJ3IbHNwTl014ZMn+/PYRK6zO7H7hDKVQnzt/a1UVnn9ea/ju0OZ5PwFx/me/HYKU0KVMbU0zoUZCRUponpg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2BbK6sxOg1Gc0ynyNYi1X5rCO6gGZ0+ym60kqIBXVis=;
 b=i3oO5soLeWCZpLV3Sll0iXcExgRzGvm8ATOZnvAx4Zyqt/WS09Bdt/GywfTr6UVY6RP6RdAeWSrSzOVA+fXl3I0kfbyOSGCtfsk216AtXn3kxaTpzYIscDwNVD7L6Fnnv4enuLpuUjdHk2pXP64UdgE2eWK6rAq+JVPC9ArSbGGvYmxz2ghlOtTOKmH2qG3Ozv0hD05DHSzkqiKMk44vLAi9koM6Cw/8+ts71aQRZOlLcnOmXOafmY+19W658FeV/bH/N8M6YTgVcVDrfu/B+OUHwtFSKUbJe3o41+sgys70UncbRVJqmBl0+MaFBxzKgvKtNlu9zzCc+Yki3uXlog==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6a51f216-7dda-ed6d-b85e-f332cdba22a3@suse.com>
Date: Mon, 13 Nov 2023 17:43:39 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 02/15] xen/asm-generic: introduce generic device.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <f006e36726ecfefe5dad3c13401365c4f7276ccd.1699633310.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <f006e36726ecfefe5dad3c13401365c4f7276ccd.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:14::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7286:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b6ca216-8e3d-4396-5eb2-08dbe467b1e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m1wgCLVDU7OB02s6mw97QVIr7HkvtphmN/OYsvnpokzKEZreZkOI2WMEBbuw1PhEb7jIAtTr24H0/Z16DKeYnq/1czo/T8Td5RvUi1JJiJAa01MWRfpjcQ2lzN+snMHpYhNasBqfMI1jF0LT2/hsuRWlRCuolyVV3/Pv3E5hij/0FEZ24+d1Pgu6A9bS2eraE0Hdm1y1wHFzGpFU/EQHc0/vFYw1fM7wtp4h+FlZM3dgkJE8o4Z4ewNZDXnsNQ2N63SFTABg6Rz39dIkJZIFVRuByuDfh9hhT2hyxfcVIPeLdtj0iz13r/I1KtSCbXCKt1fO+d167LaGj862sBZ5I6T413VVN0wAWt1RD33/PbPoW+E/CgPxTD+iAsPQ+zWZhU4o3Ma7bJcRAoxSAQSv5SWKu8gZfxmQ1IRjTiBYrsQXXgCW0UquDh/dwszm2SQxMfIEpS5P47+vtFtCD7bB9QyJd9pxtcxb8bcGZQQrXQ8j6r1bbEXYlsNXMm9Pbwy/LPcgx6lxQwtKmmkQ9TaMDhSWmTEi3vzAP7fiLfWpu5KSipMZ/mKFLcn4jfgbbvrQUvpy0sFpaR5YyLaxT17+AirqPXk9h0jLVY1fCa8fKmC1sajV3FTaZerMwWKSF3gw9PXVs8XgCKdonOvrwI0CA9lW25AfXOyQyvFtBagAJwY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(376002)(396003)(136003)(346002)(230922051799003)(186009)(64100799003)(1800799009)(451199024)(31686004)(54906003)(66556008)(66476007)(66946007)(6916009)(38100700002)(316002)(36756003)(86362001)(31696002)(6512007)(26005)(6666004)(2616005)(6506007)(53546011)(4744005)(2906002)(478600001)(6486002)(5660300002)(41300700001)(4326008)(8936002)(8676002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eW5HNTNVVjFEVGEyaVcrVDkwaTlGUGFtV2JPaUFLTTVSYmNhb0VsdXVVYnp2?=
 =?utf-8?B?bnJFb2k1Z095RElVN1hCeVcxcEJUNnkxWkoyNC9XblY2ZDAxQ1haMjhvNnBC?=
 =?utf-8?B?WEtvQ1hLclZUVVliNjRLeUFMMlVOZjI4T1VpZVRKVm5OWXNCdS9lZ2hkV1Zm?=
 =?utf-8?B?S3pjTUlZcUx1Vi91T2RaaW5YK05Ba1JZeDNWK1FNY25pN0lmN2FhSEl2U0FZ?=
 =?utf-8?B?TmJQeDlNOEx5U1lZOFpYNVVEdndsRjFBMmxKdDhzSEZHZE1LSldscWxXbWRZ?=
 =?utf-8?B?TWdlTFNQeGVYWjZrMW9QeVZwbUEzS0dHRnVYcVRhTXA5eWZnMFhmY1V0LzA0?=
 =?utf-8?B?TWx3WlhlMDZhQkpvemhKYm9WZUUrMWRkODN6NHRwTzdBOXc2VUw4M1JrMm5w?=
 =?utf-8?B?S2YwaEp2NFVrWjBTSlEzUi93YTFwMHFFb0lKTUdmWVN3cjh0cFdvN0hqMzZW?=
 =?utf-8?B?QXIyb3Mxd1QvNjFScGlTNndRdnVtQ3ZQV2h2b2Y2QjhleHd3WXhmaEdzM29i?=
 =?utf-8?B?di80YjFWdVdTMSs2STVrQTNVeWJYNmw0N3ZHSGZHR1J4RFlUc1pST2NuUXJp?=
 =?utf-8?B?Tk5wTHRKMCtyYlk4UXF0b3pwWnVsZzBjVENLOGJETWlKYkJYRGVqUmlXUG1U?=
 =?utf-8?B?dFBLUjNpVWZpRnlWQTdvYWNIbTYzSjlmM21yS0pIMzRISTY1aVRha09LMlZX?=
 =?utf-8?B?UzhPKy9HSzZRY3YxSGdqMnpiUW00OUR3TUFicU5XQ3RzTzdkazlLUFdZcEhs?=
 =?utf-8?B?dlBOMTF2dDFPOG40Vk1tNjJPVkFJY2dTOHF0cE9mWjI0V2U2V3JaeitYT1pF?=
 =?utf-8?B?dEcwakEvTjllcnV2YW5tcWdDRUZDTGZiM081TGhoYXgxQnBmT2hPUlY5dUNq?=
 =?utf-8?B?b05CN0VTRHptL0NUZXYyNzJObVR3RDdIdlpWNmhxQzk1L05KWmhIRTJQaHJL?=
 =?utf-8?B?T0lzZnJKSGhROEd5UkxUWlJQTFdKSktQVVNrMTludnNTdC85Zko1NjJoaFZO?=
 =?utf-8?B?VmV4Ym4xV2V5Vjh5OGpWMTRPb2JhVFo2ZUVaa2hZVjNiSkZrZ3hjUklhM1Nk?=
 =?utf-8?B?WTl5T2N6R3h1MkhhN2I3ZFo3TWFVV1piKzFva0pjUU0vcjFDU3prT1h5N293?=
 =?utf-8?B?MERYOUN6ZlJNVlcwMmw0aFVlb0JDRzJYT0I2bTNRd1h3QnFIUkRnNGhvYVF4?=
 =?utf-8?B?UklTRVdudytrbWR1RzNkZ0lSQ0I3Zyt0TU1sbkZ3TW1rbk9ORHZ0VGh3YWxz?=
 =?utf-8?B?NFM4TVAwN09NSGJGdmFhOFVNb0tjUlZQdGJYMENiUVZrUWN2d3RYWTh0OWhv?=
 =?utf-8?B?T1cyN3ZVVFpwWFFTc3pwMVFTdkRDM0RLdFowYkhkZkxSMzVIL2h1U01vV2xL?=
 =?utf-8?B?NjRQelJkeDhRZG92OTJid0ZaU1IwU1pPaG1Oa0ROVG9ONnN0L2FtOS9JelJi?=
 =?utf-8?B?U3IyZlZQV0hLM0M1aEZ5Unp6TjJraXhyL0xoalRpd2tvaGdmbnEwTG8zMm9L?=
 =?utf-8?B?NGtVdU5aNTVvYmtKcEI0TkNvZVM5SGpBaHcwYnhOL3gzNWFCTHF5bEltVkJF?=
 =?utf-8?B?Qmk3RmV4ZDhsUUZRb0xjL1BVU3AzbmVUcGJmSmFuYjJCQlBsK1BhamRwZWdH?=
 =?utf-8?B?MUlVcFM3V2ZNMDltUloyZWMzVDlpZ0crR1R3WktROTlQbUVLZmhGazRIZHRC?=
 =?utf-8?B?Zlc4VzVjOGlFeDFyZ3dUKzdzNG5PUjdpRmhzV1dmWXRyZzJSWFJrc2tsMFZF?=
 =?utf-8?B?S21MYytrOWpxM0dWaEphRDcwYXhUTzJ4SUVrL2NYQVNuS2N2bjdhWHJIV2dl?=
 =?utf-8?B?d1A2Q0E5L3VzTjY3WHJreENTTWhHN2FPMnZZVkVRbDRvU1QxaCtuK0Y4WTJ1?=
 =?utf-8?B?UXFOWkExMHFSVmxKeWtDM1BtNzlJakNsby84OXcwcHhZTi9tdDFVL0FnZ3BM?=
 =?utf-8?B?S2p4SHJtdHhkSVpueEh3d0RvMWVvemp1dzFPbzE1K0tYZENWbUNic0E4cVJP?=
 =?utf-8?B?RDNiOXlXUEY5Rm1GdmV5WHIvSXc5aDQzckhmaS9vd0lGeU0xekpLZnI5elJX?=
 =?utf-8?B?R3A0eTQrWDZmRVk0OXlKL09xc2FPUjF6UlJiKzlxTTA5Tkg1dENmT3NYWWNa?=
 =?utf-8?Q?DT45VUX6wFVAoHtbr2SFpwYzf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b6ca216-8e3d-4396-5eb2-08dbe467b1e3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 16:43:42.1817
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: h4iKeP34wnSlACi2Wo2mpnjFRLBw63ZxfAWGVCTsJotQgOE0bClSm8QcIzA733QyJi1AlK658Q6up6K95gP6Bg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7286

On 10.11.2023 17:30, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/include/asm-generic/device.h
> @@ -0,0 +1,140 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_DEVICE_H__
> +#define __ASM_GENERIC_DEVICE_H__
> +
> +enum device_type
> +{
> +    DEV_DT,
> +#ifdef HAS_PCI
> +    DEV_PCI,
> +#endif
> +};
> +
> +struct dev_archdata {
> +    void *iommu;    /* IOMMU private data */
> +};
> +
> +/* struct device - The basic device structure */
> +struct device
> +{
> +    enum device_type type;
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
> +#endif

There's just this instance where HAS_DEVICE_TREE is checked. Why not elsewhere?
Imo, if you really want this header in asm-generic/, then it wants to be truly
generic (i.e. not implying DT just like you're not implying PCI or ACPI).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:45:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:45:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631834.985521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2a47-0005Gt-DP; Mon, 13 Nov 2023 16:45:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631834.985521; Mon, 13 Nov 2023 16:45: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 1r2a47-0005Gm-Ae; Mon, 13 Nov 2023 16:45:35 +0000
Received: by outflank-mailman (input) for mailman id 631834;
 Mon, 13 Nov 2023 16:45: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2a46-0005FR-0N
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:45:34 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061e.outbound.protection.outlook.com
 [2a01:111:f400:fe12::61e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0f8cfc59-8244-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 17:45:32 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 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.7002.15; Mon, 13 Nov
 2023 16:45:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 16:45: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: 0f8cfc59-8244-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kAjgyIPQl2BItv13K0HtYoC5QZeQdYOE5fKj03wRaGpSrR4u93lERPhUmeZWy48Gz0sw/ulMwRo0KTFacUJxutR/9LZSZL1cJmVkifd9CISd8AoHBjEYdYXJJh1ytZy/9aIdHSj0kE8VTOyEceeeOx5Lm17jEMU4Ba6XJ/K96Qv6sYUfFCu6sZNeUnH03kaFu7urxTgMjAAbdpvc/31uHnuCXsuM8U1nXNCebdNE0uDoNadSusJDJUhVggECOZSeMD9UihfdYiNwkbAp2xQi4e/ZcsrUvVIjip3RxCqFEiVipHum0Cf/GG/ByGpXwsqOh+soJ6clt0qJUhgpdNx3vA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vuSV9SQB/WtJeWNAYJIzGWB8pg1rXuAwkkWM0cNDOIs=;
 b=cyLIiVIuOlDhHyfAAWdVxX0y5fWLPsnNQ7muaZKh5XCycDZViVpKQf4nk9Myv2OcjRVOFW6BLmQPfFx1Nk1pWVOWJzN+33nnrMZUktX5Envu1PzNqaaYRPnfOle3jCce3fLZaVFzfGJHAHrjpjODGhkRqk+WDgReP/x43W0zmwEgZgAVd9LABAz/fKY5J2TI4nbFhp2HEkHE3vea1YqUv2s+4/f1AC4dfdlglByx/4OnBaDhvKBMeUodmYmcm2g/IFZKxU/+XMO8A1QXB9KBZ+S1E6REjXczPJHT8lV+SsJlg8k8BAF669tZPsa+XpVtk5nmO/xCKHM/6X3lTCJYNw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vuSV9SQB/WtJeWNAYJIzGWB8pg1rXuAwkkWM0cNDOIs=;
 b=a3bS4/QYLBbQLB54JSJdzur7mhVlv6F8IrMedz1IHJ267anr49U7RkzfgytOOLUJGpE446uzVBRDENziZNs0BRqXOrDk0kPg6tFmQLEFzZxGGicsxzv8WlWyD6KRkb1EuE53GQagQVeKbbs5DwRwpc9bppST7Yl8hlFpEpev4bhmn/hcqBj3tctDXbV/IwYYV1JtMDJmw9wRIC1Bv8ESC/IyvdZPWZoLpRiMt0GufOfp6yc6TWMlVS1umt+imkdK8QPcsAGg7XO9TaUZxmqnVgjbT2OY66f/bupOY5RgFJ6trNEWThDn4qQqgEq337BWr1yuWzEfHS7aQsK4EvLZtg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e7cd2613-7af9-bfae-fb75-85d3bc2f3caf@suse.com>
Date: Mon, 13 Nov 2023 17:45:26 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 04/15] xen/asm-generic: introduce generic hypercall.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <87a6f7a2135361ad231bfc0cfc2d73ca78c357a3.1699633310.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <87a6f7a2135361ad231bfc0cfc2d73ca78c357a3.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8715:EE_
X-MS-Office365-Filtering-Correlation-Id: d3da7869-5675-4a84-c5f7-08dbe467f112
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dsbL5UK3jIgnd3BW+p8xHjdBTF730w1WMRKkqyGaJ43xIyaxcc5858+Bvvt2+thrB9CblGvvWlq5Lu5sPFNo9w5L6uCnP+9ztBsLjZe8xOTHcSVlfXyHl+jdhryvP1no4uSLeS7E6yexfeo3oHmULYqa3AG8kZDXF8c/Qttjj5ID/t+NrS1nvDvgrArRC6RH7+VOV47xBS/BC8PXJ023d+jJFL4ZIP0PbRPg/kMfNk0fMz+NYd5W1eIY7uXyRqTF+zs8M+Tx7a8bCU3CsZ6ILAvS8gK8h7HTpG2G+Xjmsrv2h5cDKOA7IwBId+0rwEkJdIIyLG/r11+8pq7ogrdw4RAEU42dGmgIlQjDyNDLhtyGRWjyqEFjpk0jpOW4SbcRTKxHBNGmp2D+aNIVlVPZtldK1+vMbAzfPvZdtzwwxebqKAuPYXMqw4E8vym90ar9A7RMjNCeix5nc3GD3GRdOABHw+5IK/d7nb/JwXQx0vgCCDpHi99eDjH1bgmmYSnfOxlYBRDDO1HArFMj4WH6SdpOP26OO8BQZCe9ghHjBnHW1nd8VO3iISedixIzi9GcAFmmCowcVAgIHXCYiawW6TNxgiCl6erhEGnZbmTNAwWe0r5mmbakB5MSdC7IjqbKzTIU7deW9pr8vi5/02PexaApUyRtQwTTTxuFwblx3YU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(396003)(376002)(136003)(366004)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(31686004)(2616005)(86362001)(4744005)(2906002)(31696002)(5660300002)(41300700001)(36756003)(4326008)(8936002)(8676002)(26005)(6486002)(6512007)(316002)(6916009)(6506007)(66946007)(38100700002)(66476007)(66556008)(53546011)(478600001)(54906003)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cytzeGJrSEJsOThCY1ExT1dVei9TWGUzN0tudmM2dG1Kd2M2elRWd2l5WDNs?=
 =?utf-8?B?Q1NoaE93NndLR3BXcm5MWmw0Z1RqZnpaR3c3SHYyV1RzTiszT0F1RzI5eTlW?=
 =?utf-8?B?OUc4MFQwWm5ZUEdPN3llWmFYREg0Y1kwU3JKTVAxTlgxbDJIN0pscENwYnNz?=
 =?utf-8?B?WktERGZXVDZuZVZGNEE1dFdHTXpOTldwZnlBOXYwYWIxUW9nY283MWtkUmpn?=
 =?utf-8?B?MEN5RXExYm9oZEV5bjZlS0R6YWN1dTEwSE90M2txaXAzazhOVXdGWEpxbWxu?=
 =?utf-8?B?ZmtNdFFxT0Rad09PcS9nM3JSQjBKRGtSVU5TV1EraUVpaVJLUUpyc3A0a1Z5?=
 =?utf-8?B?eDJKWWpNUDRORlBoblNqd09nL1lIUGhBb0dGNVVWQ3JFbTZZQVpvZDlIWjI0?=
 =?utf-8?B?ekdpMUZ5TFFsYzk3RjZiSEtBcVBFUTRyQ29MNUp1cnpnWmgybmplbjQyS3NZ?=
 =?utf-8?B?cTBRbWcvOGNCNURHTXhxQitZczk3aStmaVZZNVpUNnZnZHJrNzY0UnBQSk1C?=
 =?utf-8?B?R2pUSUNMTUVzMDNMa2xhbHhYckE5Q3k2a1d6S0dLUzBZeTJWZWFwNmZlUlJP?=
 =?utf-8?B?VENrN2VOWnozaHd0ckVRclNnTytBdmdUVTJpY2wzV05nR1kveDVueGcvSG1S?=
 =?utf-8?B?VlRhaG9YUk9mSzIrT3hJY0hpemJPc01lUFJkWFhrc3dOaURHais2d1pOTFZa?=
 =?utf-8?B?OExXN29ZT010dk9DUGp4c2lHbWg1ekdpMXlYdDJuWjlkOFJQWEFETkkzL29V?=
 =?utf-8?B?MU10WTFvYndMRFdkRjcycy9mY1NzUlQzcWdMbXhCVjRzNk40MlpvZ3BXTWQ1?=
 =?utf-8?B?MDhtY1g1bXpOUTd2aDFxTlcwRytKM0g4bTFXZHlzMHlmcjVOSlhGSDFiUDd3?=
 =?utf-8?B?S3FQLzgrNndyTDdXK2RxQWV5ZDRWd1N3WjV6dndyaFZyWUg5UVpKL0RIQVk3?=
 =?utf-8?B?ZVJSL3l4QjRFRnlCVDNpQ0plS2NYZW5IbWlBbkR0VnZVYVYyRStSbE1oQ1FF?=
 =?utf-8?B?cGo2WWxoVlcvQkx4QkxIVmxRZ2ZMaUFucmlLM00yUW5QZ1NvMzlBaFBhZjJ4?=
 =?utf-8?B?OWcwTWpaN1EwZllmTjhCNlpBTDFVc3BkZXYvNExGbFRYQUQweTYzZ1V4c21S?=
 =?utf-8?B?OUV3eFI5SGJkQVdqeGp5dVE3REJmc0xlQnNLZ3k3ZGVYR2NpTnBrSExqVEdp?=
 =?utf-8?B?SjJBVWNqWm5Zb1I0N2dzQzA2c25OVHFjTVNiaWpJaWRLSWg1YlhFd0xlOHhX?=
 =?utf-8?B?a2dGMTRERFJYTXdxMWdhNEV2U2NoZVM4UnlpbXBBZUFhSVBMZUtaUDZmMEFX?=
 =?utf-8?B?QjZPdytaZEI5Q2JYNnNCYzVOVHRlUzA2cmEwaWdUQTdBdHh2bk91UDI0Q0tB?=
 =?utf-8?B?VngrNkxsRzhRYjhxSFdNWmgrSzBmS2VEb3JLa3M3VjdEWDJRR2gvT21MZFdX?=
 =?utf-8?B?VXUvSUovOVlrS2JWVDZQUDVLZzZIblNpeGdsVzlqWE5TOXl0MWZJYWF6YzVu?=
 =?utf-8?B?MkFVRkhBMk5xZDNQZW1lcGNJNE9ZVWRQNCtPQzRtM1hhYzBvWTFKTjQ1cmNs?=
 =?utf-8?B?R1Y2SExHNWdrem5jZ21tUytlSlZCV3lORmdLSjZvdEE0RkJ4enFza040M0ZG?=
 =?utf-8?B?aW5rNWRCbU1DamRyUEJ2WGtjVXJ5eTE0TkVLQm9zVlJZMjI4ZWtsTUxXWDl3?=
 =?utf-8?B?TWI1bUJPU2RYYk1KV1JZWmhoVW1PejF6Y2JlVGpEYjB0SERxTE9ManVGYWwy?=
 =?utf-8?B?UGc0UitLZlo2ZytmeUVRSHRIRktmQkoybUIvRmdiNGxLRlVnTWtUOFNGK0Nt?=
 =?utf-8?B?Yyt4dWFJV0tDVjZaZnNycjF2aHplODRmODFlVzI5eW03bVFTcE9vQVJDMEo3?=
 =?utf-8?B?bWNWRmxWZ3JXdE1BVFVUWlVjRUh3TXN0dlI1ZDVVdU96bWNBQm1RTmV4WS9N?=
 =?utf-8?B?VkZpZThwUDdURnh1ZjQwcUMrRHVRNU5xbEtnblhlU2dGMzdhUW1Ld0pxYlB1?=
 =?utf-8?B?alB0T2hjSHUrd1hyWWVYaEtMbk1EZjRUWWpVQnIvWmttWEthZ0QvNndLdHFx?=
 =?utf-8?B?RWNsMWVFVVRvQmtHNktyRFR5cktBaXJOcEJITm5aRnowZnJhdGIzRDJqT0Fs?=
 =?utf-8?Q?yF0rdWxIQ2sNXsPE67S7qBU7m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d3da7869-5675-4a84-c5f7-08dbe467f112
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 16:45:28.1726
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HZmHHKT4fNUFbnCTYu84cXOEprxS7NPe25C8pzUqdjoqMDH19NjTynvc8m9XvNxpniJPM3Jenml8xwWbhE0i0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8715

On 10.11.2023 17:30, Oleksii Kurochko wrote:
> Introduce an empty generic hypercall.h for archs which don't
> implement it.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Since - judging from Arm's present header - it looks technically possible
for an arch to get away with this:
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:48:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:48:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631839.985532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2a6s-0006lb-Qw; Mon, 13 Nov 2023 16:48:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631839.985532; Mon, 13 Nov 2023 16:48: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 1r2a6s-0006lU-OC; Mon, 13 Nov 2023 16:48:26 +0000
Received: by outflank-mailman (input) for mailman id 631839;
 Mon, 13 Nov 2023 16: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2a6r-0006lN-Is
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:48:25 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0608.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75357d11-8244-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 17:48:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7286.eurprd04.prod.outlook.com (2603:10a6:10:1aa::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Mon, 13 Nov
 2023 16:48:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 16: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: 75357d11-8244-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gVTILsWzWacJZE0iRO1eQAszenPr+WROx4G0nglT3axn1sR6thM9K6KlnwP/DScPN7o7xvln61T7FKMcF4Nn8etQtKD3g1TTwcrDmYEGCftJODI3dcpgi5H6XKRQiHnQKgy0DsWkST74F0eFvu7vIqj5EbM9ktFfVp1dXkHKRTQ3IsIFCx0W88pUgfcXzRUITe6iyRjz9wy/bgUhfopisKPOeAS7iCYCbpmuij1ROuQZAmaERImr6IpISxyhP8U+oa+Tgyk/SGXvKp8+vZ85fwZmhbMaEggMVyf33MTrp3ca1Brl31ByOT1iakq9N4rqNYx5meiCge/1ERadvrdPWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6JRSdqBHeEkCAFq4486nRARdw8b/aSBwq/+1n4Yju6o=;
 b=FHIfhTT1wAZP8xtDMjrIlT6z1xTVqd17DsHxjZEICVDk0o67QsmbmfiLMDb/m2TTY+YwOpb5oCkLYr8IEdc6//nVGTvwpwaiba4PYlQ8HYrC3nvl9rZIbaEYdNUozvm8dL9GJiJDp76t/FvdEX2wVZjLSf099kh1HUGBx0YUCaioqYzi+WjXLL4vUlFlhT7dhUpKflTWCPQddvuhKQaxlDFSOb8hXyNrZJteeuT8s4rBgJ0ZtQwTaJiPg0HUt0OmGzaZb74YfudspI7s3H+qfXHa5hJkzj1bAl8xScsTHp3QSydBEm2ZJmllQz0tvMDQ/JYpU7bjAhdGip/tGOkqnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6JRSdqBHeEkCAFq4486nRARdw8b/aSBwq/+1n4Yju6o=;
 b=XVot3Yp5vyLlpU3PMA8Ru3GYJ0GClVqmHjYAc3LY47PudLVdX/bPvj7uu36YWuEypZFlgybxWOYxWg3PHvGq9eT/z6AucFIN8+EBrglbS87eLQJIMsJ2Jbg+OeQaIRCNkMttAbz+MFzy5uXS0+zORgvrjP0yeMY61pKXMtTvc4dh2bbpDyyeH+AblvI0ZwVoXGTaudw2bjok4oNyZcDiXiLPzQx3Ia/z9OXibfx1NFCTespEJjbUb3WZ+5QZXDRHMuKnnL2LHgwSPFsKvemEM3/j88IVx8H7yJAsqowOlgDO4MQ5B0GslJ9Hsv9CCRRjspjsyuMJOItiQWsyZfXchA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <583e3c47-e5e6-b6d9-79dc-81e115a9b43d@suse.com>
Date: Mon, 13 Nov 2023 17:48:17 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 05/15] xen/asm-generic: introduce generic header
 iocap.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <6ea2fc1c12fa08e7cc6a47735c4fcd49c48ac4d3.1699633310.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <6ea2fc1c12fa08e7cc6a47735c4fcd49c48ac4d3.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0442.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7286:EE_
X-MS-Office365-Filtering-Correlation-Id: d0b28ce8-9572-40a1-3810-08dbe46856e9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G4yQCVQJZCVyGmDPU0YHLUUKpfUN34P1KfbKnoDK5cndCdcq7hDMDQFgmnEENSPIX8QeR5vENPAIo6GdXnaUAa1XsBZTCQgvuE3wbHZjfLoKIgLAO3GcV7clrMdxo5zWdVf96jQOig10H2ZHQkla/UzBMD0QmnZ/tCFv2gB1VS2XiFSJjLWEvBADz8EEBYICoaB6YvLU/ZE6Qh6Eev3cKxBUMqnno3oPoW/0SbekyRbbVTJHzUiS+ZNc9ZUuWZkaUeIeLLCfXllm7WfENR9xERjeeHUled+7yPcUGhtAdnyNpnYe92rS9TRvvx42TVgBTufWxUlbOVOR6x2Kv3cLAuB0tWDm1xyc28SU3bGFaL8YrF4SBGOsjAZewoHjZahEmPEQIA1D07EwshE65vts6F3W3QG4yhhhOpVUF/AKy/WZvpqhLj8WF6u3rRoLC0KW+bZZv5IEvFzmrk1OBtdJ2sIkwxVzv4PI6PNk3j5ELbhRZGsUXanLDAW/Xn4x6VMmfJQc/Pr++JF/5boWaRN9GGkY2oRB6pzUZRhWtgWtHM3DHlBiz32Q8GMQ/WbnGPcY0oRc59G3qeQAveDOXNlZGfmhk/aNkQURNQTx17J/5a8Jyv7GorIPAnqprnmguGNkchBzb+HTPc22pFXeuYEZ7gFVUOYa+LobAMnmqnDjL+4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(376002)(396003)(136003)(346002)(230922051799003)(186009)(64100799003)(1800799009)(451199024)(31686004)(54906003)(66556008)(66476007)(66946007)(6916009)(38100700002)(316002)(36756003)(86362001)(31696002)(6512007)(26005)(2616005)(6506007)(53546011)(4744005)(2906002)(478600001)(6486002)(5660300002)(41300700001)(4326008)(8936002)(8676002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UEFrazZYZmRzMGIvWFFoc1F1SlFNN1F0TzZrNEtHb2dQU0dDbHZ4MVY2Z1J5?=
 =?utf-8?B?SkQ4SnB5NDNaS0JTaWE0K3ROVE5vNXMrRk9XM21ZYXE1VzloaEFxTFBacXh0?=
 =?utf-8?B?L3BPNDBkN3JUcFoyQm5kaEdIQjJQV3VNbjRTRU1HNk1GNG0yZXdDc0NZTWxv?=
 =?utf-8?B?N3FvUnlRQ09BZWJucHN4OEllaGhId1huTlZzVXJXODQxQlNOSDhMdHZWK3pP?=
 =?utf-8?B?NEEwdnRQYStpQWNjOFdKTm5qTTZFVWFOSmF5ZXBzeDhvaE54TVUxK0RnU3Jl?=
 =?utf-8?B?UXFnNUlxVUEwM0IycklkZ2h5WmI4WGhRejg5aTFUaktqL000aXhlam96bXNB?=
 =?utf-8?B?Sng2alFaY3cvTURsQzV4d2hKOXBDT0xoNkQ1Rm5ZVnRBZW9iTmNBdHFSSytj?=
 =?utf-8?B?UHhnVXlvZlFJT0I0RWd0bVAyYlkwdFFPYUVZSy9VSWJ1U1JKRVhRVkQxNjNC?=
 =?utf-8?B?YzdqYVhZd1E0elZFelhkWFVOZjZxdTRTdGRjZkhGZEVacVlvQVFjZ01Pd0Rk?=
 =?utf-8?B?NEF1cXFhNkQzOXVTUWduNEhhSElzeGZIK0l1djFSbTZpUkcrQ0tUc2pnVFVs?=
 =?utf-8?B?RnZwc3RKUmYwdXhXZ1pXZkJTVHRtSDdjcHduZnJBcjdoVFpCRUlvTTE4cEhr?=
 =?utf-8?B?cGE5akt2ZEdIeG1TcVNrd0lUV21xSUtzRC9jZ1JFekg4YnYvd1VGZTFDc0tQ?=
 =?utf-8?B?dEpmU2hkbHhFOXV4bE9TeDUvYVhsRmVJQjBXWWY5b09yOFI3SXBBZ3h5VU5W?=
 =?utf-8?B?RlQ1dC85aHg4Vm5YdjYrSG1BaGl3dlRhWThQaFFYWmJ3T2NBelB3aGdYMm9l?=
 =?utf-8?B?dGJ4bkdkRkEzamtaVVZIY2l5UUZLSFgyb28rNDdHZEkwSjJ3cERRaEtsNmp6?=
 =?utf-8?B?Mlg4TWRyOHgzQTRYa09sV0Z3ZTZ4TklKQkVlcmx0NzhvNmtBWmttR2NQdUV6?=
 =?utf-8?B?MWFpVGhYWmE2bmZwVDZadkVnQmxadTlIenhJaWljdzNhREhDOFY4VXRvTFlO?=
 =?utf-8?B?QXhSTVl2K1dsMXllamR3VTZQdzIxYm9ZTTZLSUFVVjJpUnZ1N1RYNFNUaHpN?=
 =?utf-8?B?Nm1TVDNJSmtFd1QvSGV6ZUpBVGZBdFF5L0xSeTl3TWFyL2ptYk9XOXZJZEpq?=
 =?utf-8?B?V0QraWw0clp6cEEwdDVoTzFUMXRKc1ZUSnlNNTdzZFliMHM3bVVjSnQvYVV6?=
 =?utf-8?B?L3REZzdzcFl1RlBNcFZBdUxGek9Ccm1lNnh1OGw3OE9DUlM2NDgyQlhINm1N?=
 =?utf-8?B?RzNuS0h6bkZWM0NiN0JQSDIzZUJTNmlvNis5UlcrSmFzMHZ0NkorQlh0Qnlu?=
 =?utf-8?B?THFiZFBBR2hvTjNzMjVKMVJQMjlQTytQblVPOVhMWFZwY0lyQmlia3RHdXhh?=
 =?utf-8?B?RnhCLzJkWkY4OGJGWU5ab2VIUTYzZ1JkMnpzTk5XR09EYkxVdHpYRnVtOHVV?=
 =?utf-8?B?eDRsOGRoMVlxYVovN1VlSnhtcTZia0VuanZCTkZQNytYR05RREY0d1ZOMllv?=
 =?utf-8?B?WlZxd3V6MitqT3Fqd2FQTHlJY3FlUFZYbkFoQ29PT0JnenBOZ3pLMVdlS1RJ?=
 =?utf-8?B?Szd0MlVCSEtxQi9GbUdYMmRSQnE5WlZnaVVHK0ZBWCtEaDl6YnNhdEcyR0sx?=
 =?utf-8?B?eDJYMjVIWk9tR1ppYUx3SWdxTFdld1JzcHpPL3RNQ3ZMSlJFOS9xaHpPMllT?=
 =?utf-8?B?bmZBS1lzSXIrcml4UURBZ21EUGkyREhuZGF4d0ZpWjJkMTBnTXVyQXI0R0ln?=
 =?utf-8?B?ZHRrTVAzK0hjeFdPeU82OE5nVnAwT0VvaU91YnVQaGdOMlZRR0xpTUl0QlJu?=
 =?utf-8?B?WFFqVjU0ODJseFdTQ1M4QzFTVkNHWktrVVYxSktCMEFuVGdsZ2dXb1UweFRK?=
 =?utf-8?B?cFcxcFB0SjJmeVJTTTF5WWY4bHptWlNFakNReS9KRnExVzF5WHhXTmVFekxR?=
 =?utf-8?B?S2RTcDlQV1VFQlRFR2trT3Y3SWNxN2VheW4vNU81TFZYQUNRNlJUc3FpVHU5?=
 =?utf-8?B?VDdrSTl1ZHErcno1N1d5MTl3MCt5VkZJcU5vTm5BSFJYZFgrZ2Y1TFFMR3p2?=
 =?utf-8?B?dC9WODdycXN6eDBKR2lrVzNOdkFONmJrNWVrNUZ1NEhTWHk3Z1pveTJjRlFQ?=
 =?utf-8?Q?0O3wYIkzN8JmkO+jPnp7AkZn2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d0b28ce8-9572-40a1-3810-08dbe46856e9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 16:48:18.9831
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cExzY9+/ojm/64fhaHgTfGuJj9b3E9Ve9g65mpBv4Hn1IH54lv18KGEA816cIOS6e2OzsxpxFlQ8EfEKkSzVbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7286

On 10.11.2023 17:30, Oleksii Kurochko wrote:
> iocap.h is common for Arm, PPC and RISC-V architectures thereby
> it was moved to asm-generic.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> The same question as with device.h. Should it be in asm-generic?

I think it's okay(ish) here, considering that ...

> --- /dev/null
> +++ b/xen/include/asm-generic/iocap.h
> @@ -0,0 +1,17 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_IOCAP_H__
> +#define __ASM_GENERIC_IOCAP_H__
> +
> +#define cache_flush_permitted(d)                        \
> +    (!rangeset_is_empty((d)->iomem_caps))

... the only thing referenced (iomem_caps) is a common entity. And
again Arm demonstrates that an arch can get away with just this.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 16:50:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 16:50:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631841.985542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2a8e-0008VC-5d; Mon, 13 Nov 2023 16:50:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631841.985542; Mon, 13 Nov 2023 16: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 1r2a8e-0008V5-2c; Mon, 13 Nov 2023 16:50:16 +0000
Received: by outflank-mailman (input) for mailman id 631841;
 Mon, 13 Nov 2023 16:50: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2a8d-0008Uz-9q
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 16:50:15 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b60c5c7c-8244-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 17:50:14 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB7041.eurprd04.prod.outlook.com (2603:10a6:208:19a::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.16; Mon, 13 Nov
 2023 16:50:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 16:50: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: b60c5c7c-8244-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eWkeg1zBlThcuBhgXLfaZGxFzQwbfHO2ckEKyZB6dYGoVOjC4XHpkQQU4Bv3o6x31Zj7Ljj3g5Hfhey4VDDfOctwX9ZTd91l4GK+IEeAE5FDdFVIumVPcJGDIjH03O40FKXsQPSOtWdH0oyWly6qACklyuiLbqBogTEcsB9PL0W4894ml7I0FpPll85HStSr8t0kIquh6bkHJQWLWyo4pJd5KyPussDfXy0KyB3U4b0xI0tm1jSWMK+tomKq0/4ntJGQ0XAK66BFyuiio42MPG7DOQwHvVmMIe/uP3KuOSzPW6FCQ3tv5p9SGNwlwVpa4tZIsLosrXi5N8zUzHrOfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uHjmLObWLGFwaZdMAQ9/KVKzbnJ/JHXH6OO8GhFJAYM=;
 b=Ig7tmz4CN8pragA3MPhzBI4iOUDYqaDGfry5x1lmbRllB90rI8Xfe3i2aUC6JcaW3iLN+67ra9fQ9fQFy9kW7pBFtFsBnzQ6vWhM78Kq5396Xhq8Vb+/cb95jMNDfR+NyQ7Lk61H02n195ERoxxLJltTB4FFrqCTqD3//HlvGtmE21lw89w/Z2et0ifB27UwlPZkrP7ME5ozQf8qNkaINPdBlorcEdDUp9vDh0jAvHp7LPgVEW1SjApilTelrrMntWBPZ3BT8xK00BGfbM5Ez/uxb18sXR5U4GogxGSeXuXfjBfn/OqgOz/V529sLYRjkpA9bTQJcsydbsONA3ROnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=uHjmLObWLGFwaZdMAQ9/KVKzbnJ/JHXH6OO8GhFJAYM=;
 b=Nr1FJ6hgE5eOcLjkxyC0b9G1wbmslF4qYFLCv3Qczgtr0vxl8b3dxGDIUmEbeC8F2FKbQDhdQ6ybRApyG/njv+D96j3W3LNP9biFhQe5IBXp9rssUdU2wQEtpVICd8L+NXUTQxVqtVk+0RKzKABkeYVg+LZo+WQwx9dqjOFtn9Phfpqi0wNjFZCFXxei1Obn7q4IxHnUbbz5f8x6XppJBkXcK1Wb0SIHankqhTtjUbeJ+pbsc8LcF1Uz4BdSWQyEywD7K1ilGc3X3/x+Sxw2Y1wZwaovoY1nKvWMl+cm9ZoUMLqiU+GELaNbhxVFUh2csTNzVcNYQEleh4yvPbM55w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <08f5852a-5888-e82f-ca64-fe268f60c949@suse.com>
Date: Mon, 13 Nov 2023 17:50:07 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 04/15] xen/asm-generic: introduce generic hypercall.h
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Oleksii Kurochko <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <87a6f7a2135361ad231bfc0cfc2d73ca78c357a3.1699633310.git.oleksii.kurochko@gmail.com>
 <e7cd2613-7af9-bfae-fb75-85d3bc2f3caf@suse.com>
In-Reply-To: <e7cd2613-7af9-bfae-fb75-85d3bc2f3caf@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0445.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB7041:EE_
X-MS-Office365-Filtering-Correlation-Id: 084c3545-f42a-4f30-b51f-08dbe468988b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	CdVloutkHGq3VURxJdgUHkQv5+SjkDWygq5bz57ZBEdIYuNjQHljSKgNj4llWUadZJn91rGwRAXiks+7D9vNiK2LDg4NSK7R4k3fGtIaIG+cgXsC5AbjEeu413DeaJUmjlWSXPDHU+IeE/Tbv/mqj7gH/ESJP7Ebo+jfVgesVeozQaoBD9YwCLNNVl8o7ejsCRsGlA81aUN1oMjxN64u68+3BAwzKKzDkfpWmADa77BRWmPUZVl5J90PZ62UvqghLj/CGdE6XJIbmB4Dxk0wLYAM39q79HbTbitjlkYv1m5kKqvpBieM594m4ZuPUapO5k40foL8AJV6EUhCeXWl3T3dGjXGmaiiqqL8+qFiiBpgzN84wgE9NdIgo6NdQunXZ6sffhv/l91gJKw0VGeuuQAo24dJ0P7QriUFjJTLVsP6GQhgrggaXNYouQy9iWd1lPRxKxPF04p/HAKG4pE7sKUGeu5OjU80+iaXophSdlz9JC13Rvvj8i6xJKJlUtT3dLo5p9keJGx2e3HuZDS4RbTUHGl/7qvXM8FMdOjprXu3tQMTAmZIleRM9bQP/InkvLjBwQ80SIxwT+gykQ3QGnRgn+fHcdjNCufNv0PWtBah1l0HIcDx/Q77Zvet5JeGJHR4nTdmcs0wbihl52l218ehonNnZJ2T4IKTeyOSxSU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(366004)(376002)(39860400002)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(31686004)(66899024)(54906003)(66556008)(66476007)(66946007)(6916009)(38100700002)(86362001)(36756003)(31696002)(6512007)(26005)(2616005)(6506007)(53546011)(41300700001)(4744005)(2906002)(478600001)(316002)(6486002)(5660300002)(8936002)(4326008)(8676002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aC9OTGtQU29WYXd3MHRBZkZDRkJYc1k2ejVra0U0VzVkUFBLR0FWUmFDR1lh?=
 =?utf-8?B?amFkQmlRb1VncktpNy9SSzRYS0tHVnV3Q0NDZzIraGsrRHR3OUUwYVJlRHlZ?=
 =?utf-8?B?NEpkL3pTU0szS3ZYL3JFN0M1U0xNK3NmNEQrcGpYSkJraGFEcmNwaUtXaFNX?=
 =?utf-8?B?Q1RaclVSL2R1dkd2MGl4MmtKTzdoREduTlIycFlmdnhaZ3B1TS94ZUp0M0g4?=
 =?utf-8?B?cTEwczhKNG8rMEh3eHlvZkllZUxmNnlScU9TUllLVlBBa3dORkFORFFpY2JJ?=
 =?utf-8?B?Vmo5bzVEbVFqaUNPR1JFVndGY3hERGdjSVhWbS9kMThHL2RMMjVkdTQ1aEhU?=
 =?utf-8?B?bEtBcWNRbmhLd0VQaUkyd0NZcG82dzI3eVZvNy9wT3VBNEF0OXMxbGxCWEN5?=
 =?utf-8?B?dUFtKytPVmI4b3lJd0kyZnV5aTlvOEh3V2hTS2JEbWxrSnVmTjYrYUY2eWdL?=
 =?utf-8?B?Njc3bmcwNlBsL1VoNGl3ZlNBb2R2WW9PYnBMMmFWcUkvcmNreE5QTEpzd3d1?=
 =?utf-8?B?OENDc24rVmFESWd4VmNtNkVOdmwrQlRmZFNXcXRhbEQraWMwTHluTXdkT2VE?=
 =?utf-8?B?TjNUZlZkVC9ZWW5OVU9LYjJzT3VUSGY4UDBhU1E5ZUJvUHlsUk52dWtJYW9T?=
 =?utf-8?B?QWN5dkQyUUtUV3R1MThCK0MvK1FUalNwLzY3MnVBbjBLL2s3b3lPemU5RUdV?=
 =?utf-8?B?Q1Bra2hOZ00rMzhhRVIyWGRGemxRRTJ1aENTTjBxYklwcmpXbmN5VTRQNkVJ?=
 =?utf-8?B?cW1WWHF5ZDRDMmVPaFY1a0EvUHBhdGdaVHRqdkc2WXlLU3M3YzlvWDRKMFNu?=
 =?utf-8?B?cEVKcnBmK29kY0w2NC9BajBZOWRwVlBvb0Q1R0lxUjJQd3RqbXREaHBUYXps?=
 =?utf-8?B?NXpDanJVQ1FtdjF6QU5uK2tzRkc0cUJrdFlWd2JjQWVxbU4yUEthNkxwb0ZS?=
 =?utf-8?B?LzRUY05JUkhxOW0rVmp4VUFxcERnL1JsQ3c0R0hjUXZreGVoU2IybFBHMUJH?=
 =?utf-8?B?YmJCblFGNFdEb1ZlanlzWEtuME9WaTZRTWVNTFFvYmlkSGJjVXNGZGdwQ1RO?=
 =?utf-8?B?OUx3OTJzMFZLSTcvWDB0UnhDQW9lSWcwS0M4Q3h3UTNNNVJrM0ZKSzVLWkd0?=
 =?utf-8?B?UzJ1RS96bmNHeUE5RERFdC9idUJLaUtxODk0QmVsQ2xJSUpXVXVLUytPejF2?=
 =?utf-8?B?T2s0a1R1S3dJTFROUVhJUVc5Wk9LOWFtU3BXZGcxMXd5dFhCekcxK25OUDY1?=
 =?utf-8?B?S2ZzSW1Vc1JiTjM5RUFaYTlidm41MGxTZ1h0VTdlWWo0VGZ3OFU5TFZxbDRR?=
 =?utf-8?B?ckZ4RXJRN3lWRGUxK3dQeUF0Uzh0WlRONGZtVFkvVjdHYVV0Wm1Qb3B3bWNs?=
 =?utf-8?B?cUJMOXJZdFUxelBhbzgxaFFsRTNrMWFQSmk3SllxUWZZSmtHeklIWGN3dXlx?=
 =?utf-8?B?em0wcWFNL3NPMWVSejRKUk84L1lTMEFQOEhmMWN2WC9wUlV6em1nUHNhNHY5?=
 =?utf-8?B?QU1Ed0VNRitia2NaUGMybm9FemFHRUx3WlhiSVF6c0NwSnNwbjFhN1R0OGhM?=
 =?utf-8?B?dGlwVmxmSElReFppRUpzTWhtZFhBWWVvQVdNODBIZ1JGV004RWJKVGI0Mm5G?=
 =?utf-8?B?aWpqUHRwcWFtMjFoeDE5UUV6Q0p1Tkd6Yk1rVndWa3BPamJhbk1ZY0t3WEdV?=
 =?utf-8?B?bGJmMFRpRjNMZ09nU3ZJcS90d0Z0T3hsYkxqRGpkbzd1UlZYbC9aZitiRi9a?=
 =?utf-8?B?azYwUFpSc3VjRFJxUU1udGR3RVhyUVNoUUtheUREQ2dveEl4bVRZYXpyREhW?=
 =?utf-8?B?NXRvQmZiQ1RFajRvc2gwS1hGZ0k2aUY1RktnTUFsYVRwQjJRYm1nS1lib0cr?=
 =?utf-8?B?RDM2WldRZkZqYXhKRUdncGhaekh1ZUJCTDF3TVdRT3cyL1JvcXVnNWw3bE51?=
 =?utf-8?B?eHpaV1I2cWJQNll6c1V3S3U5a0Zzak90UDZxRFRVT2FVMWF2UnpXQy82ZGkw?=
 =?utf-8?B?UnJaZ0Y5ejNwK3luUHg5eVphMVllcG5lMGYzdEdxbWNKTHlhRGowdW0zRmk4?=
 =?utf-8?B?VHBtWm92MlhxaTVTR21RL3U0NnlXNzQwaWJjOHR5LzhjZDFCbkxPcEt3WkZh?=
 =?utf-8?Q?7Q3OpueqxCekJ9nVvWzfXXcGV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 084c3545-f42a-4f30-b51f-08dbe468988b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 16:50:09.1037
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WF1k5w4TZ1Pqp/SqCPrOeE63Lgc0D8a76wCm+xA7218qR1s7HuEZwIQcpV6EFcUhbAP0lSMJdupKsU6CFoHwHA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7041

On 13.11.2023 17:45, Jan Beulich wrote:
> On 10.11.2023 17:30, Oleksii Kurochko wrote:
>> Introduce an empty generic hypercall.h for archs which don't
>> implement it.
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> Since - judging from Arm's present header - it looks technically possible
> for an arch to get away with this:
> Acked-by: Jan Beulich <jbeulich@suse.com>

Actually - why does this patch not drop PPC's now redundant header right
away, along the lines of what you do in patch 1? This is also why I
refrained from offering A-b on patch 5.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:01:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:01:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631846.985552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2aJG-0005au-7x; Mon, 13 Nov 2023 17:01:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631846.985552; Mon, 13 Nov 2023 17:01: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 1r2aJG-0005an-5A; Mon, 13 Nov 2023 17:01:14 +0000
Received: by outflank-mailman (input) for mailman id 631846;
 Mon, 13 Nov 2023 17:01: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=OC0U=G2=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2aJE-0005ah-Fw
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:01:12 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061f.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3cfb2c1c-8246-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 18:01:08 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB6821.eurprd04.prod.outlook.com (2603:10a6:20b:105::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.18; Mon, 13 Nov
 2023 17:01:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Mon, 13 Nov 2023
 17:01: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: 3cfb2c1c-8246-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=a+EXigJSA8AtfDkyqX7R9NyhWRDCdux/ikl/9LWMpWFnxCu7E5JxTrlJA6BtzzXYy5dYg+blQoPIA+JSWkVu0ClchPWqbwkpWR03+7SmZ2zY6kyYsHxiyah+RqpDwnmhEQYh9MTH53OPY3htqJbdFnC5xO/hA1+omzgQdIQ9m4XvDN/tb62lKbiJY/VEK0fXIkp51Lchr5h0fvWqgznqKbGfJ+cDGe0glo8otNyEoCaS+vzkjyQT4qazKXuadBvQJhllypXy5Y9q2XAtoPR2GMwu3yv+fDe6PDgYa1XRgbWcJDH3O+gQ/JVsyeHq/jJOOeAr80KdRLdA2O7JepzqOQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gn0uDYeYndmWvOBsGFJ0hLiRdKEfE0AcIsktxhhwJVs=;
 b=LVkzpm6+gGlLBrDhtnL4HWNHoQYjS13f0nFlYCaeP4exAC6z4xn3x7sk6qkN0QLl3nNq6Hx8hoLxwuBN5GEkaLQm7qJPWehMA6osCOB05VpfbBV4up77p5oWO0o5jin08G8/2rsT+buFAyI6Y6/LUYTf/AyYW78Klm2JsEeC1jkDx/zQe6o7u8z/TrBMmaG/yS2kZ82M2CeAbj4PdhTUNAQGt4+HMVfpBE2kJGTdbbyqu5DeldP6JsjXJR2tKnbKM0lb/PA0JoOqxt6qO0fe0zKUOHcuJ4K1UI2NZNU0Kf+KtxoXKdJRrDyfdWYV3pmgHDxc8Sy6fCCnyCKdGZEQ0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gn0uDYeYndmWvOBsGFJ0hLiRdKEfE0AcIsktxhhwJVs=;
 b=nLrqfv6rQcpMdQNt+EImmTEJIV3CSjfWuo6upj1USDeKM3+deYybTwYIuXY9Q0yy+nR70n+N+qz52kIpfvMlGlsIkkgP4Pmd7sEHj9fqTRQycabnZ/CjXcYdmWf4C49DMDnC+bNdefe+83yR/HEYNK9iRo/u5ZsKyhjYnO4rymDL9Ur2YcHB1rhiGIzNJqc8yPUBAwX+enSyoyzyfjlLvp5jwimanJh/zUtOT+YkQ5WjS9o9cZsFVa+JQ5hK1M223abc85bzV+J/naleO8mzrL1pMT8bHaU4vACf/Uej+vn8tJhB2MiCWZ5oasq4liKuZ3mvpEluvBcB9UYgGDOxdA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c6b6d20a-cdd9-7502-a221-7b24c6d4c584@suse.com>
Date: Mon, 13 Nov 2023 18:01:04 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v2 06/15] xen/asm-generic: ifdef inclusion of
 <asm/mem_access.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <7ab8ce9ca633a5a7e5212d0acc62d6e1d4688ca0.1699633310.git.oleksii.kurochko@gmail.com>
 <e66e60744fe517c09ea16efc69cc329443025ef1.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <e66e60744fe517c09ea16efc69cc329443025ef1.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB6821:EE_
X-MS-Office365-Filtering-Correlation-Id: 07df1c31-c435-45a3-4fd6-08dbe46a200b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qijPj7UiedTYpGNjRkIe71NZHxDvQqAk+NP4vFXuIyBPbOb5rbXDfRxwRNfO9z448PZw18rh1p3MrhTvVpTv1VoG4qzvw6p5u3SUncROUkiBww5U93v9tZSr7ng7m/Jq6ggRJuihgK1OB9FfQ9B3R+VTi7fbVgEved8N4IIuVuvwPbBK2CqcBVZDQUIvDZ02oZBBqFmzWApgnjoA02WU46DtkwE8AasYBuiAVVFYgOSkbKBeuUSqKTUJW+Cd1/RDkEmXHdODkGVRNmyqd6tIQEU/ytUSc6LtO6p+N66hQ0H1jQpS7TrZz6v7S/V2A7FYeFM108t32wUh/wWHC5Ih9JvSgiiDQEmxs1nc+GcCjw8zdSAJhjs4JQcSfpFtrWPuf4fp3MoJYmrUM4hNdvUsVYlaNXiDq/qWLR6zvfIkEi5qF5zPOTShheictbSSXk4WAUeQ3eqf343SAywv0MPTUbheRL/LS4EWcZ/1whmHlDGFIO69A+PvDfWWS54SoAwRsB231hABbSWjDvSozK+eAHJHtil3ECKtzV6zRH5S09AMw7JTAwVwqb4WgwB/8w6F79MluRMbpMrFvLbtMhrXM6MVWckNAhGpmgmptaAB4jkfEg5irqOWk9W/Cove9FvM3lxmiD1e8fo+fOZzZxrm177jYSu3GRYfrlDkam6Wmms=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(396003)(346002)(376002)(366004)(230922051799003)(1800799009)(64100799003)(186009)(451199024)(966005)(6486002)(478600001)(66476007)(316002)(6916009)(54906003)(66556008)(66946007)(53546011)(6512007)(6506007)(8936002)(31686004)(4326008)(8676002)(5660300002)(4744005)(26005)(2906002)(41300700001)(83380400001)(36756003)(2616005)(86362001)(31696002)(38100700002)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UVJtMXdkby9iMnJldW9sWWpqckoxamZNVk5qZnNiQU82dVg0aUhkTXAxb1Vz?=
 =?utf-8?B?NG1XU0doMDhXNWtmc2lKcWJzODZMRXhxRS9VZGxaRTRzd01oSkJmdmhwcyt6?=
 =?utf-8?B?VXFaZlFEWFVjSE5aYW42LzRyU1N0SWlIakRCMGlEM3Q3T2Zjdk5WQ1FLaUdn?=
 =?utf-8?B?NnlsNXVaWnM4UkRweVdXNVRKdnNxNnI1MHJpWkJ0L3ppeG1TS0I4V0tlTmVW?=
 =?utf-8?B?UTFrOVlPQWRYblQyMmgwc3ZKRnpoOTNPYmREUGsrd0ZpVlJadXdhY3d5QWlT?=
 =?utf-8?B?MzJIcWlnTVgrVk9jNmR1S0lYM2tldmxMZjVZZ3A3UCtvUjVLRm1yV3FCTHZn?=
 =?utf-8?B?TXJDZGpYYlEraWtsZ0ZiUTFnU3pCWjNYTlpPTFJHU1BDQzNhRXJDTDRwWndR?=
 =?utf-8?B?TVRSN2Z6bDE0REhYckFsd3BzelBIMmR5VlF4dWlZNU8wbEpIaWxNOVRNOHNq?=
 =?utf-8?B?OEJ3MUQ5SDRYZmVaajgraExyN3Y4TmoydDFFZEM1TlBOL0pLT2x5eVhsejdr?=
 =?utf-8?B?ZGorRDZBR0d0ZlFuRjdjVzVQT1pLOGkzQ0lCUnc5NWRjMHRpOTc5K0QvVTJU?=
 =?utf-8?B?dkxPTFU1dExtOE12R0lJdzhCZlFKazhTV1FpeitBK1ovZjliRUhqZmJZeHFO?=
 =?utf-8?B?Ym13RUk5U2tIWEJ1b21TSGdCakgwUmp1YWdWU0dYNG4yU2RKbkZ3RVdxYmxY?=
 =?utf-8?B?ZXlkbTZPYWZDckFEeUVJdFpXdlU1Z25Wa09xdDZHYURJSDBXRC9KajZmUGNJ?=
 =?utf-8?B?Qk1XbDdPVk42RnQ1UzFpRm1NUlNvTXlJdUw1cElPNWFSTU0wYzBsY1ZyVmtM?=
 =?utf-8?B?c2lqVnZMMGxZclhhcVRhaDE5ekQwd3ZLN0haclY4MDRMalNQdWYrZVZFalZp?=
 =?utf-8?B?ZEtiTHRIOTZEVStsdHBtSFZlVE9VTEZ5QVV3eWtHMDgzLzRIOHE4TU03NG1M?=
 =?utf-8?B?RWFXNzY1dFM5MXN5SC9uY3ZtKzF4bjJ6elVSR1k1anlHcnl0TE5YT2dwVlZG?=
 =?utf-8?B?eHhFRmJ3Z0x3cXJMOVEyZzJjbTYzTFJLeHp0WW5pZU5kR1NUaWNFbkxVTDBK?=
 =?utf-8?B?S3ljQWdFMFVzcER4VFBwcEREV0M4SjNsNmxDeXhzYVMzVmw2Uy9XVnYzWi93?=
 =?utf-8?B?ZHBUY21qblJlSXg4WXh4M1ZrbmJCcEFjUmk0NCtHb3BpVUorekJKaXNPTTgr?=
 =?utf-8?B?aER3b0RHQlhRRitpNmEzYkF6amVpN1VNYStBd3Z6WTVVUGNkb3o0UHRhVys4?=
 =?utf-8?B?L1JVV3IrdVNJVHhyZHdvNkRRZ1hrMnhJMkU1c0UrUjZOWUxlblAyakRTa3FL?=
 =?utf-8?B?TXNmc25IcmNtZW1hem5zYzdJM2RONWcraWdWaWpZeDF3NjFtWkhqZ2ptV3B4?=
 =?utf-8?B?SUUvNFEzQjBjNFhUdnQ5THRYaStQdVhwZkJ3VStyMkZWSU5hNFZUM1BHWGw0?=
 =?utf-8?B?UVh6MHh0ZGdDN3ovckxFUHFnN1NoY3RBY0hNVldmSUFjU2g3T1Y5Y2szblBB?=
 =?utf-8?B?SEtja3hIYlBnbVJKb1ZOSTVNWExLNlYxZGJGaHZmVEFmcmJqZERGOGJJc1Fz?=
 =?utf-8?B?TGMrOWw0TlNNZEh4blFrTUluVFVtemp6Nm1tSGpvdXF6RWVuYVlFRGI5b0Nl?=
 =?utf-8?B?YmV1TUVsYnBvaVllWkxPeEh3RmhYTGFPeUFGK3JxN1BKN2duVlRxWExETFNT?=
 =?utf-8?B?b21hMUlMZS9oOUlzZFk5WGdFdGgvQ09kcERiQ05VeHNCdEpyK0Z5UFl2R1lz?=
 =?utf-8?B?K1RwVm91OHowK1M2dzZzWFNhdTRDRDNtRkY0YUtpRUt0SnRUcndYMHZwcHVj?=
 =?utf-8?B?dUE0NnF2ZVNxekFJb1c5QzZ2Sk0rN2w1c0dIZWk3T3hsNkpXemhlQVJmcllD?=
 =?utf-8?B?eUUvditjU2E3OXlCaXFKYnZOM1B4L01zTExHZC9sQVhxN3htbFhvQ3gzNmxG?=
 =?utf-8?B?UUQwRzdzYjkvK2VsZlZ4c2RTT1FnZWZGWkk4N20yeGp5eTM1ZWNucUZnLzA0?=
 =?utf-8?B?ZDhGTzIxWkJVR0pGS3E1bFl5RmpCcEcvbThOTFJaSCtEV0s2NEdiMXBBdzY3?=
 =?utf-8?B?TlJXaEdsb2ZOSmVqWGowdExtNzlRajFPVWlRaDhCcGhyNVBVSXQzTDBKVnQv?=
 =?utf-8?Q?RfvmI4GwMDtBcIUfv9LO1xId+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 07df1c31-c435-45a3-4fd6-08dbe46a200b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 17:01:05.9651
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LUdQjEJbtCFjxWHyiqJHyVIbzC0zz8NI9t85XMxg5gZQHBSfz0z+RYxWQzMedm3kWcvY9hW7eVUPBdBsEgBdFQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6821

On 11.11.2023 11:24, Oleksii wrote:
> This patch should be reworked as it fails Arm builds:
> https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1068867920

Took me a while to actually find the error. Would have been nice if you
had explained what's going wrong, supplying the link only as extra info.

> It looks like it is not possible just to #ifdef CONFIG_MEM_ACCESS.
> 
> An empty asm-generic mem_access.h will be better solution.

I remain unconvinced. The issue looks to be with p2m_mem_access_check().
One solution would be to move that declaration into the common header.
But there's no common code referencing it, so Arm's and x86's version
might as well diverge at some point. Hence from my pov it again boils
down to Arm's traps.c including asm/mem_access.h explicitly, to bring
the declaration in scope. None of the common files really have a need
to have a dependency on the arch-specific header when MEM_ACCESS=n.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:06:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:06:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631849.985562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2aOG-0006g7-Qm; Mon, 13 Nov 2023 17:06:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631849.985562; Mon, 13 Nov 2023 17: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 1r2aOG-0006g0-No; Mon, 13 Nov 2023 17:06:24 +0000
Received: by outflank-mailman (input) for mailman id 631849;
 Mon, 13 Nov 2023 17: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=7nXK=G2=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r2aOF-0006fu-LA
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:06:23 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7d490ba-8246-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 18:06:21 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-408382da7f0so38905355e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 09:06:21 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net
 (default-46-102-197-194.interdsl.co.uk. [46.102.197.194])
 by smtp.gmail.com with ESMTPSA id
 v9-20020a5d43c9000000b0032da022855fsm5805800wrr.111.2023.11.13.09.06.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 09:06:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7d490ba-8246-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699895181; x=1700499981; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=RMT7c/uiWiQZVRU+b+wZHF6Grzvo4YDAcSgfc5P5jVA=;
        b=a/tkkyxf1zD7/nmQyn6AI2Tx+NuRRWX1MLJ7TnNGOECNoguRQHnIeojqHUi60ijzRI
         mCK1OJAYPNdB79AxN7v8VzuVyZ0De8IiwgWInYri+jHP84BBuZhMHfDI3wbq8pAkbIbx
         UPJEffc5BaFTMpxZjhLHOQS5FesOmDiBFDKNc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699895181; x=1700499981;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=RMT7c/uiWiQZVRU+b+wZHF6Grzvo4YDAcSgfc5P5jVA=;
        b=VPPQk7VlTL6aCbyhQPt9mCE44JffQ6QP3WqhVSX5zlnXXEAVHsS06h1HnG4NjMqSuh
         tW9FJzIPHGpG9lv05A4qASX6Idj4eZ2Iuj0cO+u1bdpwJOLvF77dysJ964Vly+Fwyy8J
         jYK3uxHvWYLXq6iL9T1Z5Hv+m1jjC2pG0M3Fbp/oZRCNPQx0AZPUh6rHC2dmUR5+JA38
         Gq3n27bJY8CjhyLtzagqff1NgHaTA4mCn6KJ90sHv5nz6mtO5WxKV6hjF9hg/a5gMIPI
         ZtRJU65tComF0Ofcz67SSg3lqfi56csXV9XZoIENHBfNAYYgmGmK6oDqeG91/wKNRZnx
         KhXA==
X-Gm-Message-State: AOJu0YyEenpGu7wqgrq6IqnKIZI7DhkgzT0LtLZ716PzPnrubMFeBqim
	PwDupbunjafZxkMvBTfyCQUmRaC6O5/h0BUKkYY=
X-Google-Smtp-Source: AGHT+IEUIFDEjZ8xQCJ/lIc+4at+vBm1KT5Dn4H7fIPW60l+G2YIYq35bQOe1UO53pimBlWDq1pbow==
X-Received: by 2002:a05:6000:186a:b0:32f:811f:5046 with SMTP id d10-20020a056000186a00b0032f811f5046mr4992740wri.11.1699895180712;
        Mon, 13 Nov 2023 09:06:20 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Date: Mon, 13 Nov 2023 16:50:23 +0000
Message-Id: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
registers are derivable from each other through a fixed formula.

Xen uses that formula, but applies it to vCPU IDs (which are sequential)
rather than x2APIC_IDs (which are not, at the moment). As I understand it,
this is an attempt to tightly pack vCPUs into clusters so each cluster has
16 vCPUs rather than 8, but this is problematic for OSs that might read the
x2APIC_ID and internally derive LDR (or the other way around)

This patch fixes the implementation so we follow the rules in the x2APIC
spec(s).

While in the neighborhood, replace the u32 type with the standard uint32_t

Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 xen/arch/x86/hvm/vlapic.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index c7ce82d064..5a74e84445 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1063,10 +1063,10 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
 
 static void set_x2apic_id(struct vlapic *vlapic)
 {
-    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
-    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
+    uint32_t id = vlapic_vcpu(vlapic)->vcpu_id * 2;
+    uint32_t ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
 
-    vlapic_set_reg(vlapic, APIC_ID, id * 2);
+    vlapic_set_reg(vlapic, APIC_ID, id);
     vlapic_set_reg(vlapic, APIC_LDR, ldr);
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:11:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631852.985572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2aTR-0000HN-Db; Mon, 13 Nov 2023 17:11:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631852.985572; Mon, 13 Nov 2023 17:11: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 1r2aTR-0000HG-A7; Mon, 13 Nov 2023 17:11:45 +0000
Received: by outflank-mailman (input) for mailman id 631852;
 Mon, 13 Nov 2023 17: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2aTO-0000HA-8b
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:11:43 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b4d7bc3b-8247-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 18:11:38 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2aSw-00FR8w-S3; Mon, 13 Nov 2023 17:11: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: b4d7bc3b-8247-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=Kg7Lk6mtqkME9quq+3EpIXzjCOe+B6UXUNlMqhOIiPo=; b=jszoUdoorB1TbqvV17TAGouXOn
	ES40E6cFgunVCx0u/Nm0DTcQa/inw4Jb66WgzEkoCqOcxX+s5Yphkr2zGf396LqziaHwmc+O+LCcn
	6Ay1qAzJgz99g9+zjH3LYDUdviTaH64XNYnVMsu3eb3E7BX54004pe3kJGoGcEjvsd92OLKIVE/UF
	Z8m1xw1hoF4A3ubqfoCxeROphpxjDMOKiwcRlmi6kR8TcJ85EsYFMJbgMY1h6afMpWbYnpe8R8v14
	0xGusqnsYS5IUKl/+9GtSMlINaXBmhKY9RGuruHxNLRfF/SYul2QXmO5ieS9XPIzeGEkPEaw5XWFn
	2dmUc/8Q==;
Message-ID: <e892e4eee469b1d1406dcd0844af48d1aaff23ae.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 04/10] hw/xen: Factor
 xen_arch_align_ioreq_data() out of handle_ioreq()
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, "Michael S. Tsirkin"
 <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, 
 Anthony Perard <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,  Stefano
 Stabellini <sstabellini@kernel.org>, "qemu-block@nongnu.org"
 <qemu-block@nongnu.org>, Thomas Huth <thuth@redhat.com>, Paolo Bonzini
 <pbonzini@redhat.com>, "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>, Paul
 Durrant <paul@xen.org>, Peter Maydell <peter.maydell@linaro.org>, Richard
 Henderson <richard.henderson@linaro.org>,  Eduardo Habkost
 <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Date: Mon, 13 Nov 2023 12:11:11 -0500
In-Reply-To: <7a66c289-19e1-4690-8c6e-31a9f6344b6f@linaro.org>
References: <f791a822-f6f5-44fa-904b-f67d3f193763@email.android.com>
	 <7a66c289-19e1-4690-8c6e-31a9f6344b6f@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-zJAegOARyT6uOPwd81fO"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 17:09 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> On 13/11/23 16:58, Woodhouse, David wrote:
> > On 13 Nov 2023 10:22, Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>
> > wrote:
> >=20
> > =C2=A0=C2=A0=C2=A0 Per commit f17068c1c7 ("xen-hvm: reorganize xen-hvm =
and move
> > common
> > =C2=A0=C2=A0=C2=A0 function to xen-hvm-common"), handle_ioreq() is expe=
cted to be
> > =C2=A0=C2=A0=C2=A0 target-agnostic. However it uses 'target_ulong', whi=
ch is a
> > target
> > =C2=A0=C2=A0=C2=A0 specific definition.
> >=20
> > =C2=A0=C2=A0=C2=A0 In order to compile this file once for all targets, =
factor the
> > =C2=A0=C2=A0=C2=A0 target-specific code out of handle_ioreq() as a per-=
target
> > handler
> > =C2=A0=C2=A0=C2=A0 called xen_arch_align_ioreq_data().
> >=20
> > =C2=A0=C2=A0=C2=A0 Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@l=
inaro.org>
> > =C2=A0=C2=A0=C2=A0 ---
> > =C2=A0=C2=A0=C2=A0 Should we have a 'unsigned qemu_target_long_bits();'=
 helper
> > =C2=A0=C2=A0=C2=A0 such qemu_target_page_foo() API and target_words_big=
endian()?
> >=20
> >=20
> > It can be more fun than that though. What about=20
> > qemu_target_alignof_uint64() for example, which differs between
> > i386 and=20
> > x86_64 and causes even structs with *explicitly* sized fields to
> > differ=20
> > because of padding.
> >=20
> > I'd *love* to see this series as a step towards my fantasy of being
> > able=20
> > to support Xen under TCG. After all, without that what's the point
> > in=20
> > being target-agnostic?
>=20
> Another win is we are building all these files once instead of one
> for
> each i386/x86_64/aarch64 targets, so we save CI time and Amazon
> trees.
>=20
> > However, I am mildly concerned that some of these files are
> > accidentally=20
> > using the host ELF ABI, perhaps with explicit management of 32-bit=20
> > compatibility, and the target-agnosticity is purely an illusion?
> >=20
> > See the "protocol" handling and the three ABIs for the ring in=20
> > xen-block, for example.
>=20
> If so I'd expect build failures or violent runtime assertions.

Heh, mostly the guest just crashes in the cases I've seen so far.

See commit a1c1082908d ("hw/xen: use correct default protocol for xen-
block on x86").

> Reviewing quickly hw/block/dataplane/xen-block.c, this code doesn't
> seem target specific at all IMHO. Otherwise I'd really expect it to
> fail compiling. But I don't know much about Xen, so I'll let block &
> xen experts to have a look.

Where it checks dataplane->protocol and does different things for
BLKIF_PROTOCOL_NATIVE/BLKIF_PROTOCOL_X86_32/BLKIF_PROTOCOL_X86_64, the
*structures* it uses are intended to be using the correct ABI. I think
the structs for BLKIF_PROTOCOL_NATIVE may actually be *different*
according to the target, in theory?

I don't know that they are *correct* right now, if the host is
different from the target. But that's just a bug (that only matters if
we ever want to support Xen-compatible guests using TCG).

> > Can we be explicit about what's expected to work here and what's
> > not in scope?
>=20
> What do you mean? Everything is expected to work like without this
> series applied :)

I think that if we ever do support Xen-compatible guests using TCG,
we'll have to fix that bug and use the right target-specific
structures... and then perhaps we'll want the affected files to
actually become target-specfic again?

I think this series makes it look like target-agnostic support *should*
work... but it doesn't really?

--=-zJAegOARyT6uOPwd81fO
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMTcxMTExWjAvBgkqhkiG9w0BCQQxIgQgSr1rSNDf
JPVuXFlw8QvZfWc074jxX7g7vLP5PjEY/zowgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBez853ICEJw1pFqbpUi2DOGW0uS/QIthFc
+zVUcr4Mwltah6ih/5mf59Lwc29wuMLk6TDEmSMAT6TrgYrMQVwcVYLTcoMsPSlG0HE5xRAfs48M
NabMRpRvugcs33krdCsj4iRO/k6h42LRKZtm1puJxJnKX/FqGgCKzTSFG2aaIZLLuqmu7UqZbjEg
PUw2rYHWJDLgQrB2juN9M4Lg1R9njyl/VnApkc2LgnAEQV/qkdkYSjR14DIO+75iMa2kiU2k+qrt
7+M412eUmwKuobLP2VsVJ6ekpQRwGPcuYhzXhIHiQDbzkt0E2qPl22o54cUMXDgG8tRVsAiBezY5
87566zhd0JGCWGkdxbQG+A2+ysFicIiAqVvDP/SMmj5XDg+lN65R9tBACN60um+6wTbqWvVG1PNQ
H5ocTY1pFbroyG0bAeE8Fa1uv0/zf6MrAR4HnWnZRuBtGHdAjPaLCjFDF3ddC8edmaW1yioZ6XCl
KZOcbpmfJa5DaECkcPOIhtr2rW9V0HOXB0InQbYyVErzRKHUF3D19AAD5jYNH1M1CJvUxDblyalA
FzVE9MoLZdhHQTacuulKz/8GvzDmiE+PWY+62OPrcEUzrA93e3pXAf1zCtSVH/yqgDme51cRel+r
pMtyrm0oR6PebIuht5n3v+9AScjwZHEzU3+vd0CHiAAAAAAAAA==


--=-zJAegOARyT6uOPwd81fO--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:14:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:14:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631856.985582 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2aW1-0001Nf-W0; Mon, 13 Nov 2023 17:14:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631856.985582; Mon, 13 Nov 2023 17:14: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 1r2aW1-0001NY-TG; Mon, 13 Nov 2023 17:14:25 +0000
Received: by outflank-mailman (input) for mailman id 631856;
 Mon, 13 Nov 2023 17:14: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=9tbd=G2=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r2aW0-0001NS-Ly
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:14:24 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 16d63916-8248-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 18:14:22 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-507975d34e8so6679645e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 09:14:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16d63916-8248-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699895662; x=1700500462; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1JeQu7YjtiRvPcpRya4kTXKpnZXyxqFzSBFkNg0O7oQ=;
        b=D+7E5QhvVjr/Q9OMMQ+UtcFwW76PoX3g0Y5sYSZ7QL4nKyCnS05W2n1Q3sXacDq3QC
         GCArXaObWmxmizAXVQWVyF8yE5f6PlCCnwnQdygD7uM6H+FAlmk9YIejL/d2onWknr88
         UI4pjPE3XqYwE4K15zkKsy+sNuUNRF6/qPtWO8WmFLwdjQu0r9N1lfDhpiWT+QoHAU8r
         BdfRxj41nN6P6qeA6Uf8I/Qb+ZdYkv5stLYoO6iTlSW0g27h52yPKbM6BGUpo+lNYuQ+
         Ir3oLiCswYvQoebF32nx+5wz+PKFw79mf5xK66f0jD6s51d4uSh4R/KyZOMW18iOaJGQ
         rXfQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699895662; x=1700500462;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1JeQu7YjtiRvPcpRya4kTXKpnZXyxqFzSBFkNg0O7oQ=;
        b=FZITD044Qgv35FsRVl4ah3CZd4/AqpLWKmfLpo+xLw0HLv7VYCE1mtvXMKHsYVtOm1
         bmrG9xM3tjoxn1Wxwuqo3XLA36NbjVBGSsL7ItOr5pfgx+VT0Xq/pbRq2NHYADoxwS1R
         SpjSpzGyRWHaZRuiXM7kdVzDFc7nouI9vjT/D03KI4sGmUHJGVks6rE9jcDRPKSC4m68
         HabHBAxlFbaWjId2aw9CYs0WafId/Crv/rnQNepkZ/ljPFmXXE/IgSA1tOu1lmWHAvXy
         HpRXA5E+Ax6TbSua7z84ZYlpD+g1wkb4g86SMTXOzxOD2USaB6MKOqtdYDjlUuao2G45
         Xy4A==
X-Gm-Message-State: AOJu0YwLREobxKJdxDmMJzk8f/oliHGilaUsR5zJVTWzcORC1gATgN6M
	RjRj4oBG7Sw/hmr799M2Pg7YycmNGJhF3H5DaJQ=
X-Google-Smtp-Source: AGHT+IGMuNRJte5/vD+GA3/OAqVS1hl+vcmEORXfmoO5V07SzuFbtNlLVMPwyvSdn2zKNnShxChVZr4Y9JCEcaJ628c=
X-Received: by 2002:a19:7616:0:b0:509:4980:7bf0 with SMTP id
 c22-20020a197616000000b0050949807bf0mr4533298lff.38.1699895662149; Mon, 13
 Nov 2023 09:14:22 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-2-jgross@suse.com>
In-Reply-To: <20231110160804.29021-2-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 13 Nov 2023 12:14:10 -0500
Message-ID: <CAKf6xpsQC_7Rb9Ed2+RC7JhaLURpt0BQVyvBc1mdJ=p_N8Rqbg@mail.gmail.com>
Subject: Re: [PATCH v2 01/29] xen/public: add some more 9pfs xenstore paths
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 1:18=E2=80=AFPM Juergen Gross <jgross@suse.com> wro=
te:
>
> Add some optional additional backend paths for 9pfs PV devices. Those
> paths will be supported by the new xenlogd 9pfs backend.

xen-9pfsd

>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:27:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:27:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631861.985592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2aii-0007q2-2u; Mon, 13 Nov 2023 17:27:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631861.985592; Mon, 13 Nov 2023 17: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 1r2aii-0007pv-09; Mon, 13 Nov 2023 17:27:32 +0000
Received: by outflank-mailman (input) for mailman id 631861;
 Mon, 13 Nov 2023 17:27: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 1r2aig-0007pl-SH; Mon, 13 Nov 2023 17:27: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 1r2aie-0004Dz-LR; Mon, 13 Nov 2023 17:27: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 1r2aie-0006IU-4V; Mon, 13 Nov 2023 17:27:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2aie-0000yn-3z; Mon, 13 Nov 2023 17: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=doQkzQboQFefC9bX+QiFVD8lpmqiptT1XkqsGRqLxOc=; b=p+dztM6GzUOPuybNcvDApOissX
	RmkWZDBVUgTGQ/Bik7Etd34eiRYKXGXYAXDYSvo3sArUhUX6n9+22BZXh2UmtYYYwlTX/ENRUYkFh
	SG7OijEmQ0WQi+01qCEvLqpsy9WesJdt79XU979dHDI7TSWDox+NpUUrOsnNt8fBUoso=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183743-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183743: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=fb41228ececea948c7953c8c16fe28fd65c6536b
X-Osstest-Versions-That:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Nov 2023 17:27:28 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  fb41228ececea948c7953c8c16fe28fd65c6536b
baseline version:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c

Last test of basis   183709  2023-11-07 21:00:26 Z    5 days
Testing same since   183743  2023-11-13 15:02:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   bede1c7e3b..fb41228ece  fb41228ececea948c7953c8c16fe28fd65c6536b -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:29:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:29:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631865.985602 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2aki-0000Xc-Ej; Mon, 13 Nov 2023 17:29:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631865.985602; Mon, 13 Nov 2023 17:29: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 1r2aki-0000XV-Bu; Mon, 13 Nov 2023 17:29:36 +0000
Received: by outflank-mailman (input) for mailman id 631865;
 Mon, 13 Nov 2023 17:29: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2akh-0000XP-HC
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:29:35 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 34f038b7-824a-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 18:29:32 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2akV-00FWLA-O1; Mon, 13 Nov 2023 17:29: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: 34f038b7-824a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=dDRCldRPFTZG0rTRzpEGqdhyEmmyv/FTFvgvq/Rnfuw=; b=VMhGlz0rwErA2w27phfszPQ2ej
	AAOCf6IpDCi3pz3hN/2gUkr7hC6FY79s7JYZPbSwGxHuZj3dYIADcWzkeKygZcPkmu2uAPZgeTxvr
	JQDDSRJgi+PdSwyXCT6KlqcIIsG9dDdXnNEaILnQjgtCj+w1Pd6Dx5iuy8dYLcN614jtmcBlEqJV0
	VPQPnyTmRPVInCap4HKisClliO+S/IFBmBt/85arl0BQA91DZ65D9e1KY54f6v0xi6n+ZViFRkIOH
	UBjlbE5awc3ZI4TFddVuUJDg3lYLDf/W6VV2vtwy/r7qSNWE3opohzHNRXEUvolxnQtTqcCUBBSOb
	ZkbWLuGQ==;
Message-ID: <204a3e8c7f5d5788c92ea3d141b64162896dcdad.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 02/10] hw/xen/xen_arch_hvm: Rename prototypes
 using 'xen_arch_' prefix
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>, Peter Maydell
 <peter.maydell@linaro.org>, Richard Henderson
 <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Date: Mon, 13 Nov 2023 12:29:20 -0500
In-Reply-To: <20231113152114.47916-3-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-3-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-xD0NYpOPeVgXZjGfxwVi"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> Use a common 'xen_arch_' prefix for architecture-specific functions.
> Rename xen_arch_set_memory() and xen_arch_handle_ioreq().
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>

--=-xD0NYpOPeVgXZjGfxwVi
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMTcyOTIwWjAvBgkqhkiG9w0BCQQxIgQg6jhHz92J
MJKBNRblGCkbjCkl6E0wkpKOVWu3VAUHOJAwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBpVukIq67YsRl/tl8dtWxSCPgIbd+2T8W9
PUxu92CiG6ilLC40cGJgOX0Vp4GMyZ67qLNzUTQjGV76sSankDhHGoBxZZAXZMgzq23ZL8sai/0q
U3ZDpRtqD7IsV05CP5IkkqtOi55NwCImmhRhYHykWtraWGJxLi91U54CJurhpgjx5D8Is3guZcex
X8pjap4fOJGejhkAY8bftsfCo3HnX00Av26wgGXGA/TbrM1CZCUsYYygmNs+w2e+JHvckQzFgd/a
LEjivYe2dp3gs8qSoK+dHL54kyF3nWsHLpo/TlTaz6plvUtiuWQd9F4FCyM3gVzh77B2EYoSzZ7z
AAqeV8olLrFRHmxbn5TFb5f099uQeuYvMu1dwubUXNQJHW0U8a3SAxZnrwhtTkVBbLezHB9ltGrn
pGH9516y7rm7Yj/Lq2tfPrz5tfIV4QSOSHWCw5Iy51Ww5YGhGv43j0pb423kJUUNvQrXBxb3QWmO
nHUid1b334Z0RLHWWNgABufE9WPJTREVi7ybSrKNX7tPMs8ue0yi/MTlus2ELSeRUTzsJPx4EH3u
4pOC6VJqkhUSCUNIVcLjZZWTUqVC8Zmis/0DFRCHEt8BGhSv2i5QFtlFKCd9i4R9LhTa1gcU2Cei
DPSQI/091x1ptdObTnUNmk1tbj7Lm0V+RKpOjTvScgAAAAAAAA==


--=-xD0NYpOPeVgXZjGfxwVi--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:30:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631867.985612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ala-0002Ba-Nm; Mon, 13 Nov 2023 17:30:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631867.985612; Mon, 13 Nov 2023 17: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 1r2ala-0002BT-L9; Mon, 13 Nov 2023 17:30:30 +0000
Received: by outflank-mailman (input) for mailman id 631867;
 Mon, 13 Nov 2023 17:30: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2alZ-0002BH-7R
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:30:29 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 55b54e37-824a-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 18:30:27 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2alS-00FWQE-0a; Mon, 13 Nov 2023 17:30: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: 55b54e37-824a-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=GqpAuiVSurDPO9oLkl5Tt+QdMged1AYvegCOKkIjHp0=; b=e0Tj116ePzY/+UsNi8hQLOByc6
	QSf6kIOBM1LZkUZtpoY7ZUaUyq6govAlklRoUrOq9Gl2Iw/piLyaNYG8t3+LCiGjCs10fpsF0caXq
	r7zEx86hpvKLwrbL4fOxqHbbxcc/LxpFgKhZLA95qmhFLcCxZZ2EyvAHpmLkMxHh+UhepTyEJPyKK
	n/VVRofMG13eS2zcq9D80gqS60JggtlTw0advsCS5NOIa+zudh7hau/ZIUb7GnsNRxdvJMb2hn9yQ
	lFUSEyIgz4SvFNUpxTd9w7n05KQGWPOhbGDBue7ZwPxk1h/ZJCKTfnZr+6mU+yz0+ci1mjC8DcZrw
	h5ccXYYQ==;
Message-ID: <493ed80c397118c25d426b0e2a76a046b40e9109.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 03/10] hw/xen: Merge 'hw/xen/arch_hvm.h' in
 'hw/xen/xen-hvm-common.h'
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>, Peter Maydell
 <peter.maydell@linaro.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Richard Henderson <richard.henderson@linaro.org>, Eduardo Habkost
 <eduardo@habkost.net>
Date: Mon, 13 Nov 2023 12:30:17 -0500
In-Reply-To: <20231113152114.47916-4-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-4-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-EsP2EfjjVfnTjEiaOgEQ"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> We don't need a target-specific header for common target-specific
> prototypes. Declare xen_arch_handle_ioreq() and xen_arch_set_memory()
> in "hw/xen/xen-hvm-common.h".
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>

--=-EsP2EfjjVfnTjEiaOgEQ
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMTczMDE3WjAvBgkqhkiG9w0BCQQxIgQg+/5IWIKj
VcqDu6HwTLKmV5kj+LU5Va9mSDS7/fjQjMkwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAPTE78UYE/i+4mH1gjCOy2QLeK9nVMbIgk
BsRupjEIy7iR3oFnXLCjtQ2CNSJ6upZSOdZkgP51ZR5dEaqEM5DAMWdNC+i1ozopnV1vbUOCdPnf
6kL8eS/4CAnMQvA+SFieE8ke39vpDZyNlpkQI2OUVIWPrwlaMbbzzbjNTj57UzpW3EU56ppK/KHI
dc64ceAQbmVv6QnIWr8NkojoYp7Ak+0DMxpMPsjJFHVu6TEMzodYFoMEwW3sAnrJoawXhUskJXz2
fRjkUpWE9fXCQ7WQz/Ntdxa+xfujcEClbRLOdl57ko+VMQZji6erHFym5y3hlXoXH0nBy2krgfuz
bQwcw9i8zNDJ21jt2ABvfqJj73yv7k6mtUyBfh77BdxAfwto1Egcem6AwNIPbFpvC6qvoNA6bf/G
fUCzpA6qTaitJaji2DwdmuUet3EprfjUBwfUntnuyBUXEFD3NGrZZl86fjPN1Cis8JX9R8F8/DNH
Rfzp4tWm94A8VtP5O1Vg9ZCJf7Nt1hN3bwNn87Ztpfjk9kpa49rVhZONxtyQX3Pnwm6TYLVpMPnp
y05qzTup5Zr3URhZWqpPgGfUF59Bd+igMZqPFmgtiwBiHwkqWfi1Y9msyJY54DeBmn9YuKxLQrkq
wqSeR7Rb2narBzPU5HFVgCJ0tYMF62JiBT7R5OMfGwAAAAAAAA==


--=-EsP2EfjjVfnTjEiaOgEQ--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:35:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:35:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631874.985622 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2aqJ-0003sG-Eh; Mon, 13 Nov 2023 17:35:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631874.985622; Mon, 13 Nov 2023 17:35: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 1r2aqJ-0003s9-Bl; Mon, 13 Nov 2023 17:35:23 +0000
Received: by outflank-mailman (input) for mailman id 631874;
 Mon, 13 Nov 2023 17:35: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=tkTp=G2=epam.com=prvs=5681af493a=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r2aqH-0003qr-Sd
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:35:21 +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 03799049-824b-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 18:35:20 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ADFhaA6023357; Mon, 13 Nov 2023 17:35:14 GMT
Received: from eur02-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur02lp2041.outbound.protection.outlook.com [104.47.11.41])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ubpk98fw5-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 13 Nov 2023 17:35:13 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AS8PR03MB7158.eurprd03.prod.outlook.com (2603:10a6:20b:2e9::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.28; Mon, 13 Nov
 2023 17:35:09 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Mon, 13 Nov 2023
 17:35: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: 03799049-824b-11ee-98da-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ah3HkxcEToNoneCuziNDnwbuTMcgqGUdcSXzvGKLcTNpIffVyo5KZAkHnWZfJN8A8tUYqn+BHRdtp2KV7A+mKnY/WkyQQtLcJgkF7f+vL2/qDmCjIgFOXSiMs17SguICEFVtxnDDBP1ZudSoJhQW+hfcoHvc3waI+rwo5Z50+ZD7bScuS8TJDZ/LhS/Oe05+RVdu9hk9M8Vsba4Nv4gUo/2D1oAwufvkHpwtF3cV/pkEAHQYKKyR4yZKcojkVmKA0BuX31eEoOJxLDDYj1bZXEkEcLKAUliBL8hSRhoaBbkqusbSY7TNHN0GX22i9ADR6TNTEBv5W6J7t7yCxGaBrw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IU1ZBET48SFJ5Db+KERuoW8LzvKxMjzZ5Erc4wFI+RY=;
 b=Puy5RkpwNed1CivZi4JVlw4ZQfSccnulGg63E/eQuWM/+CA3T29MWZwyzksnMJJVjDW26f24nTK3KKOyHcBLhGqJNDjBUv6VKdfGyMLZPErVtjh7xP7Yae+QZOzP95yd1AbxamHBIjuUMTRhzrU561WY+oepMoIY3wWv14oWEXbVWc+IvLNq6fbwU+bV+S0uUK7wXaLPCt+tp4Jl+P/3s/7pqcEW1Y8VbuUuKMKhmQzy4M/2VSE8fBEnVxV1ozTXj8oG1g1GAxt+BKWPi749Xgw9GMOKa904GT7+9PRSqD85gGnqqLx4Dt/PDyrGt9onaiOu8AKt/OrTRrcxI4DGPQ==
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=IU1ZBET48SFJ5Db+KERuoW8LzvKxMjzZ5Erc4wFI+RY=;
 b=c4IMAcjUtc/Mww0v+WVuDHN+Hybywk6svimQ/9L6ifl06fsL8PrYR5ebx+V5LvUVa3A07uPnaAqFUaVpY7ZTs5g1VbKxSUM3xSd3HF5mMxJZ2OY2ti9d0P0TRLU+MoPcvCRC8o360xin0iFTZ8I06TxC6uZ69MbWNr3DH4WKbxZu0ey6zBkVoxheiRVDqrylUFRF1fl7hPcPt3PeaJOxE8NHItJv57T+9iyhpojeRTacl62opmjnjdCeQtUpK6Jh1JaKSnhFV6QGtNl+zgorYcAs/R7uoXbB8lXta3NyaY7KoxkxL5t+vbHHPNTnUev+YMv9whfrawxUbhnQy1WbHw==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 4/7] xen/events: remove some simple helpers from
 events_base.c
Thread-Topic: [PATCH 4/7] xen/events: remove some simple helpers from
 events_base.c
Thread-Index: AQHZ//oOreX4qMNCvEGaw1AG2hRTp7B4r4qA
Date: Mon, 13 Nov 2023 17:35:09 +0000
Message-ID: <b7b705e6-584b-4655-b005-521be3f23c1e@epam.com>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-5-jgross@suse.com>
In-Reply-To: <20231016062831.20630-5-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-traffictypediagnostic: DB8PR03MB6108:EE_|AS8PR03MB7158:EE_
x-ms-office365-filtering-correlation-id: e013b2bf-45e7-41f1-e6be-08dbe46ee25f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 owJeuCHkoSWd1mqtIpbfL6Elv3kqS+o5v1qXMEYowkh/ceOdBlcN5LJ4/yQ7zi7OR7vE4DAFZyCg5pV3XGIfHqMCKuwy4lfe6rj4QibSV/WCWUwcV1pD89BTlEBttcXSvvDmj6wmOkx6nTGpJaTaT8cwdz+OleceJymf7z6waKHqtKKGRYsoAxAzT+nqZpiZ2IgwL7U8zT24ZQWLaCeanTSx13g96et5/CMXv956O8GNFutdpD/q3Um4ExfE4v+A16Mxnun4DLGXib0ukvmSoLqls30CvedZW1O20h4k+UFW3zgPnu6go3MUd5pMtWANvEi/XHI93Lz089YW2Cbk3pN2H2fWOGTzIg0xFRd/7c2pKkiZDeLXT82b6ZhcQ0wQrtkjmf8ARTZSUID+hb2q3EKYtciYc8xhXSsDVCpcShGbINLXwxn1HF4Rxv9XKNg6XXAXBg6T0GYq+D80YAYtUjqNEZGGtKd64iyRRN9EpuMngA/85s+u718pAOv7Jx0qeEwQfKkKwo9C1jObL+C4OiMRyxtIfPyqUel18AZsniiK2JgFplpXvDGHYMpv4o2RJro0wMy43Prk0HMjenhzT1Y+2ZOnZXOg8YCKYEpUh9lLVzo53F6Z1N7dJKMnZ1tvs9X/Wimc9Lw3cFEOYp0+fg==
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:(13230031)(396003)(366004)(346002)(39860400002)(136003)(376002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(2906002)(71200400001)(6506007)(55236004)(478600001)(86362001)(31696002)(26005)(2616005)(6512007)(64756008)(54906003)(66446008)(316002)(66946007)(66476007)(76116006)(6486002)(122000001)(53546011)(38100700002)(83380400001)(5660300002)(38070700009)(8936002)(36756003)(8676002)(4326008)(66556008)(41300700001)(110136005)(91956017)(31686004)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?aVRzVWZvUDNXWFh5ZGVLeDE5Q3lXd1FhRkdxY0J5T3k1Y3JnYkJ2aVM1VTZT?=
 =?utf-8?B?MFJ2WkVkOHN4U2VteVFsMXNVS3hDVW1yejBoak5QYlFLc1ZaZENNZFNXMDh4?=
 =?utf-8?B?RTh3VzZrMk90N2NBT1RDZ0FCaGpJQ2s4cFRWdzk0YUsrMWYweWhoeUs2aFlX?=
 =?utf-8?B?K3VxNnJQKy9NWGQrZ2FlckpmREV4Unh6ZkNSRWFyVk1aWklhZkJSOGVTQUEv?=
 =?utf-8?B?R2ZZL0hwYkhHZWZWZ3dRVUw4RWlCZjFESmlWN1YvRXdPRVZvWFA5aGVDQjZL?=
 =?utf-8?B?MnJDeGtnQjlhSlY2eU1oMERVcmMwTGgrWVFZV3E5QndUdW1rK0g0cXNVTWU2?=
 =?utf-8?B?RlFtcDd5YUtpSHpjYUNKaE15TWwvbmRzNEFDVlhZOUlzYTRDbmVoOEJDdHd6?=
 =?utf-8?B?M1QrWTVKc0RiOVlOMkVibnlyRUhkci9OVkxwYjZuUlJNeVlSNit5UHpzaG5o?=
 =?utf-8?B?U1dNcExrS1d1YkFjL3FqZStERXJaeEh3eDZkblpodEdUa2s3Y0t6RDNkWkhU?=
 =?utf-8?B?WWRiYitRRjFiZGNvUlYyYzZLbDRxU2FVMXdKaHh6WkkyejJGRUdKTE41d1Qx?=
 =?utf-8?B?L21kRWFkVjA5dmN6VUlsOVlLdmo5WG91Zjc0M0Q1dkZybEZUVXV1UGhkY0o1?=
 =?utf-8?B?RFdMMG85aFJXOXE0bWNnYWwzYXQ1Qm5PYS9KQkVaVitsTkxkcktCQzk0VEpU?=
 =?utf-8?B?WjFFUzM5THh6UWNWcE12N3U0VFVxM3ZPbWViVWd5Q0NjSnJyRDBZeHhUclNo?=
 =?utf-8?B?R0JkZUdvNm4wb0FyL1MwMGM5NU0yQlNseXVFMEtKTWNBS3lFelpIakRheDVx?=
 =?utf-8?B?ZGUrQTNHYURKVXg3NmRRaStDSHpDQnZRdWNyQWtPd1M0TytxT2pPMzBzOW84?=
 =?utf-8?B?SHcweWplbU1nWXFSMkVrdW1TV00xQWhUTW1jMk5UZnBob3E1V2ZNblExaFhj?=
 =?utf-8?B?d3RiYzVCcy9hODdnQUc4RWtrVFFOYW9XQTFmRDYySkxvMU5qVDFvRFIzSUxD?=
 =?utf-8?B?azczOU1qWGRMU3l0S0M2UWVUR0ZHa0pobFZDL2M1Q0xSQVJnaE1hSk96SWVW?=
 =?utf-8?B?LzdOeWlZejg3cEhIWSs1dzFvb05Qc1oydTFEcTVRZ1h4SmpYYjZSenNsUjEr?=
 =?utf-8?B?WVBsQ1l1NUI5UDJrd0g0VTJGVGx5SmxOUFVQNXRkcEdjTDdjdGlaMkhLT1lN?=
 =?utf-8?B?UGxzdG9VQnFubTVzUTNWcTAwUkJFSVNkdER3YzQ5Ri8vVld0aW1ubFZFVnla?=
 =?utf-8?B?Z0hQbkNGelVBZ2dwVlRvWGtPWUVUT1FEOGt2U05maW1xZTE5NW5XYVplTnVN?=
 =?utf-8?B?UjFvakhSMVZVOUh5bDFuclcvOUxNUlNqdWFGczdJK3RaNzVkUHNPemRXSHVN?=
 =?utf-8?B?NEVJeWlJY1RmVkRGUjgrWGV5SSt1aFlYRzQ0K3BpWlVsTFUyV3h0dFRsR3pu?=
 =?utf-8?B?YWJrYjJMUmh1elRUcHg4MU5PVko1SXdZNXp5aklRUXFlZW9lajBzVUdnMEc0?=
 =?utf-8?B?TUJ0N2hKcWxjZitiOHRsaXZPUGtETUtTV2dRN0RlU3BiM0doYzJ6Tm1EVGdD?=
 =?utf-8?B?SEM1NVpkZFlWZGt1WjJRZmZDYXRTbERUemJkemRybkgrQTF1L3hkR3BqeG0v?=
 =?utf-8?B?Y3NBdTNMQnZQQ2MyQTkxVmRZU0l0dVBJUUNxLzA4SGp1WjhaNmJaQnVWVFZw?=
 =?utf-8?B?dmpudU42UjdMTlA1K25KOXpkdTVWM0lXa0NPY0syYkdOcW1jUncyMXdqQ2Qv?=
 =?utf-8?B?Q2RuQjU1VjhVZW1UVWNSdlhHZU1xNUdIMHF2NlZPQzBtWFVXdk9ucWxWV3BO?=
 =?utf-8?B?WVhTZmp6NHVENFhrc2ZMcmxYRThmQ2pXWmxET2xxTDBrcURPUTFBaFJvanVh?=
 =?utf-8?B?RmlEVzBsbHpnN0M4SnJGazhSSU9MN2xCN3pneFhhd3BGWUxYUWpRaVZ6UmFu?=
 =?utf-8?B?Um1pMDZES1lXdDdxNlJnUS9yVkVZZGEvVG1QOTV2YWMyLzl3cFJkY1QxTkkz?=
 =?utf-8?B?dFJaemd3akJGNmJmNW9KSE44NmZXNVdzOXdVMERZS1puRkJGNVVjc3ZVNFZm?=
 =?utf-8?B?WmpwZDdrR2Vyd0pOQ1lDcVo1NDBEZUJQYjZmYys0d0Y0V0hHL0hUNjJyUlJV?=
 =?utf-8?B?OWpqV2Y3RHFzcnoyYkFzV2ZRU2Q4dlB5WGdhYWNJU0RGYWkyaTZUcjl2QjNK?=
 =?utf-8?Q?HZBLUxB4zPY6ZmxnfKOMuB8=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <02E67458139905438076719A159031E5@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: e013b2bf-45e7-41f1-e6be-08dbe46ee25f
X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Nov 2023 17:35:09.8389
 (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: pzziA3S2tzRaeG6Nzzj4J0m9Tw1CKYwSsPpqLSuNEQq3w26ijwAxZ1kcCwkxsPuvXeSihPLacdSazoUj1KKqOihUe98cRlrGwu5TmH+feVs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7158
X-Proofpoint-GUID: a0-sGOMgxNEpvUUQrCcTCK4an-qkbWDU
X-Proofpoint-ORIG-GUID: a0-sGOMgxNEpvUUQrCcTCK4an-qkbWDU
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-13_07,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 malwarescore=0 spamscore=0 priorityscore=1501 mlxscore=0 adultscore=0
 clxscore=1015 impostorscore=0 mlxlogscore=706 bulkscore=0 phishscore=0
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311130142

DQoNCk9uIDE2LjEwLjIzIDA5OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQoNCkhlbGxvIEp1
ZXJnZW4uDQoNCg0KPiBUaGUgaGVscGVyIGZ1bmN0aW9ucyB0eXBlX2Zyb21faXJxKCkgYW5kIGNw
dV9mcm9tX2lycSgpIGFyZSBqdXN0IG9uZQ0KPiBsaW5lIGZ1bmN0aW9ucyB1c2VkIG9ubHkgaW50
ZXJuYWxseS4NCj4gDQo+IE9wZW4gY29kZSB0aGVtIHdoZXJlIG5lZWRlZC4gQXQgdGhlIHNhbWUg
dGltZSBtb2RpZnkgYW5kIHJlbmFtZQ0KPiBnZXRfZXZ0Y2huX3RvX2lycSgpIHRvIHJldHVybiBh
IHN0cnVjdCBpcnFfaW5mbyBpbnN0ZWFkIG9mIHRoZSBJUlENCj4gbnVtYmVyLg0KPiANCj4gU2ln
bmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoNCg0KW3NuaXBd
DQoNCg0KDQo+IA0KPiBAQCAtMTE4MSwxNSArMTE3MiwxNiBAQCBzdGF0aWMgaW50IGJpbmRfZXZ0
Y2huX3RvX2lycV9jaGlwKGV2dGNobl9wb3J0X3QgZXZ0Y2huLCBzdHJ1Y3QgaXJxX2NoaXAgKmNo
aXAsDQo+ICAgew0KPiAgIAlpbnQgaXJxOw0KPiAgIAlpbnQgcmV0Ow0KPiArCXN0cnVjdCBpcnFf
aW5mbyAqaW5mbzsNCj4gICANCj4gICAJaWYgKGV2dGNobiA+PSB4ZW5fZXZ0Y2huX21heF9jaGFu
bmVscygpKQ0KPiAgIAkJcmV0dXJuIC1FTk9NRU07DQoNCg0KSSBhc3N1bWUgdGhpcyBjaGVjayBp
cyBjYWxsZWQgaGVyZSAoKmJlZm9yZSogaG9sZGluZyBhIGxvY2spIGJ5IA0KaW50ZW50aW9uLCBh
cyBldnRjaG5fdG9faW5mbygpIGJlbG93IGNvbnRhaW5zIHRoZSBzYW1lIGNoZWNrLg0KDQo+ICAg
DQo+ICAgCW11dGV4X2xvY2soJmlycV9tYXBwaW5nX3VwZGF0ZV9sb2NrKTsNCj4gICANCj4gLQlp
cnEgPSBnZXRfZXZ0Y2huX3RvX2lycShldnRjaG4pOw0KPiArCWluZm8gPSBldnRjaG5fdG9faW5m
byhldnRjaG4pID4NCj4gLQlpZiAoaXJxID09IC0xKSB7DQo+ICsJaWYgKCFpbmZvKSB7DQo+ICAg
CQlpcnEgPSB4ZW5fYWxsb2NhdGVfaXJxX2R5bmFtaWMoKTsNCj4gICAJCWlmIChpcnEgPCAwKQ0K
PiAgIAkJCWdvdG8gb3V0Ow0KPiBAQCAtMTIxMiw4ICsxMjA0LDggQEAgc3RhdGljIGludCBiaW5k
X2V2dGNobl90b19pcnFfY2hpcChldnRjaG5fcG9ydF90IGV2dGNobiwgc3RydWN0IGlycV9jaGlw
ICpjaGlwLA0KPiAgIAkJICovDQo+ICAgCQliaW5kX2V2dGNobl90b19jcHUoZXZ0Y2huLCAwLCBm
YWxzZSk7DQo+ICAgCX0gZWxzZSB7DQo+IC0JCXN0cnVjdCBpcnFfaW5mbyAqaW5mbyA9IGluZm9f
Zm9yX2lycShpcnEpOw0KPiAtCQlXQVJOX09OKGluZm8gPT0gTlVMTCB8fCBpbmZvLT50eXBlICE9
IElSUVRfRVZUQ0hOKTsNCj4gKwkJV0FSTl9PTihpbmZvLT50eXBlICE9IElSUVRfRVZUQ0hOKTsN
Cj4gKwkJaXJxID0gaW5mby0+aXJxOw0KPiAgIAl9DQoNCg0KVGhpcyBodW5rIGRvZXNuJ3QgYXBw
bHkgY2xlYXJseSB0byB0aGUgbGF0ZXN0IHN0YXRlLCBiZWNhdXNlIG9mIA0KIjllOTBlNThjMTFi
NyB4ZW46IGV2dGNobjogQWxsb3cgc2hhcmVkIHJlZ2lzdHJhdGlvbiBvZiBJUlEgaGFuZGVycyIg
DQp3ZW50IGluLiBQbGVhc2UgcmViYXNlLg0KDQoNCldpdGggdGhhdDoNClJldmlld2VkLWJ5OiBP
bGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQoNCg0K
QWxzbyBjaGVja3BhdGNoLnBsIHdhcm5zIGFib3V0IEJVR19PTiB1c2FnZSBpbiBzZXZlcmFsIHBs
YWNlcywgYnV0IGFnYWluIA0KeW91IGRpZG4ndCBpbnRyb2R1Y2UgdGhlbSBpbiBjdXJyZW50IHBh
dGNoLCBqdXN0IHRvdWNoZWQgdGhlaXIgYXJncy4NCg0KDQpbc25pcF0=


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:36:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:36:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631876.985632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2arJ-00052S-Nz; Mon, 13 Nov 2023 17:36:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631876.985632; Mon, 13 Nov 2023 17: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 1r2arJ-00052L-L2; Mon, 13 Nov 2023 17:36:25 +0000
Received: by outflank-mailman (input) for mailman id 631876;
 Mon, 13 Nov 2023 17: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2arI-000525-NT
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:36:24 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2978967b-824b-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 18:36:22 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2ar0-00FYw9-DZ; Mon, 13 Nov 2023 17:36: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: 2978967b-824b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=wEwoYAejB/O9Jg1eL/KUv7NM2ocyRLwAT4e0eg21KdY=; b=Ing3uFcoBb1Sgqis1EECH5y5EC
	x5zkBft20F7dDhNbj6Etp3Og5k5/qA6AHN9sMRncHX4+Hbwxc8WQIYUIVHsrn34d50o2TnQXUztm2
	EdBmzSyFCcf5ugKRqbJyXo2dBlessZaiyE23Eg/CMBt+kZG3ZYniqhMpNJ68lHfuDsbLBwDJP44ZK
	RsMKpXgKtf823xjMF5+QV15Xpvl0migP0ClISYu+BA62SXPKoOWxrgee9YvzVLVcp2bY1RVM1XQMN
	UM3twz2KKuRpRxr2j9z+caLLMM3TNuPlPCN4RwEXQP2aKEulyg1tj6ETBwIgx3D3NbucFPOhcstE8
	S74fGXZA==;
Message-ID: <6e69e337e87a16f1774b54e60392ec986d70aaff.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 04/10] hw/xen: Factor
 xen_arch_align_ioreq_data() out of handle_ioreq()
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>, Peter Maydell
 <peter.maydell@linaro.org>, Richard Henderson
 <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Date: Mon, 13 Nov 2023 12:36:03 -0500
In-Reply-To: <20231113152114.47916-5-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-5-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-bHQpaLJZY9OC7Kt33z2m"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> Per commit f17068c1c7 ("xen-hvm: reorganize xen-hvm and move common
> function to xen-hvm-common"), handle_ioreq() is expected to be
> target-agnostic. However it uses 'target_ulong', which is a target
> specific definition.
>=20
> In order to compile this file once for all targets, factor the
> target-specific code out of handle_ioreq() as a per-target handler
> called xen_arch_align_ioreq_data().
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

I prefer commits like this to explicitly state 'No function change
intended', and on that basis:

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>

But...



> --- a/hw/i386/xen/xen-hvm.c
> +++ b/hw/i386/xen/xen-hvm.c
> @@ -699,6 +699,14 @@ void xen_arch_set_memory(XenIOState *state, MemoryRe=
gionSection *section,
> =C2=A0=C2=A0=C2=A0=C2=A0 }
> =C2=A0}
> =C2=A0
> +void xen_arch_align_ioreq_data(ioreq_t *req)
> +{
> +=C2=A0=C2=A0=C2=A0 if (!req->data_is_ptr && (req->dir =3D=3D IOREQ_WRITE=
)
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 && (r=
eq->size < sizeof(target_ulong))) {
> +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 req->data &=3D ((target_ulong=
) 1 << (8 * req->size)) - 1;
> +=C2=A0=C2=A0=C2=A0 }
> +}
> +

If a 64-bit Xen host is running a 32-bit guest, what is target_ulong,
and what is the actual alignment? I think we are actually communicating
with the 64-bit Xen and it's 64 bits, although the *guest* is 32?

I guess the only time when this would matter is when using
qemu-system-i386 as the device model on 64-bit Xen? And that's not
going to work for various reasons including this?

(I should clarify that I'm not objecting to your patch series, but I
just to understand just what the situation is, before you make it
*look* saner than it is... :)

--=-bHQpaLJZY9OC7Kt33z2m
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMTczNjAzWjAvBgkqhkiG9w0BCQQxIgQgVIOOkDJM
QVvio0wz8wuYBh1Rs3WECFETCzPbAzGiCQcwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAmjHui+ryZkNfuMXy9wnQQmFGAkpWnr/qu
0uspZle5fg9bNe+FguvxRB9qqmAqi765q89S3DlDnlKLGYQadMRz1E9dVzS1/wOOI98gUmVnBY85
Q7yyOG5FMubO5aZNqKeCQ+X0gmlCR/baV6zZW5/x3RnEIrBkHx2m3+h3TrbLkTyLi1yJC3vxfXG2
dkuOSB1sUFh8CxYro29xudE8eVu9nyBY8NCtBCXKzX0t97DCIceCglMEjfteY9r37r9cM6xdNAp2
ihUF+ROxxlLlIm07ACSyhOWHNHqFILwNV2WcVvB9c4BSq1V+fnbacQrR8yXjJuUDMnGw7fDOFe/R
EvYy0qRHkJPknvdN3wB0Q3vK6qvx9oKWCBA6gpmmu+gleFAaAlfb0XLITVAJTCw+R1m8ZV8WC0kv
38afS/504y04WwHJJ04i8RsgGFGgJsvkzpsJHUme1YmNQIfv4nbHrrRT68n2mNmGd85pztcW6n8R
fqIA+9hG3SD6EA3OOuR3nn+1W9bNFPLU785a+uJG3Uz3SUj9HxbRyXzYg8+ZYpgSLVV4MQL3uCso
sR84l2AuNiLkeOjgoQrrs5etmDpDhReWJ4Nh1LwyPXZOVlHelSYBcUhtNmQThwO7x6RGCZvDWG2T
qMM1BsFOaWfD6OkOhP3hjqh3c3ikcIG3+kC5ZtbfjQAAAAAAAA==


--=-bHQpaLJZY9OC7Kt33z2m--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:36:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631878.985641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2arm-0005r0-Vj; Mon, 13 Nov 2023 17:36:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631878.985641; Mon, 13 Nov 2023 17:36: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 1r2arm-0005qt-Sw; Mon, 13 Nov 2023 17:36:54 +0000
Received: by outflank-mailman (input) for mailman id 631878;
 Mon, 13 Nov 2023 17:36: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=9tbd=G2=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r2arm-000525-D5
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:36:54 +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 3c1a4d1b-824b-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 18:36:53 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-53de8fc1ad8so7181066a12.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 09:36:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3c1a4d1b-824b-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699897013; x=1700501813; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3dIySdVH70V6nJ6eVXUpOrVhksMY0i9p9FFRw/x4Pl4=;
        b=HtObLZuvY4dVWaXchxwsUgC2Figfzgz7EzTOBRFvtBpIzK8Uyk8QooN6L+Eat3jU9Y
         OH1eB0FgAcUYTZusLA3XVMaj6uDzjsONiW/M3T3yjTTZyHtwLQA4J991cqpWzQQJDQah
         bohAQ/xUjMWpBAYeWQt4LtoMJfVWS1IpEuu1g+NHLxNpQwPA6T9fliVzDBd8cgKL5dWv
         hFF7LjvpKpp4ItlNuqAkQzwxAz1bpLXodxALexpw/EK1o/fzWlbXrSnev5aJJRg999qD
         dcpE/GyNzP6GD0mMiVEaGitVwqXqFcVQwNZYtgIKT8/ryE9uz0FdCmhsx/uXoyISjIJC
         W5tg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699897013; x=1700501813;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3dIySdVH70V6nJ6eVXUpOrVhksMY0i9p9FFRw/x4Pl4=;
        b=WFyw1U80727w3Ltj9h4Ry57EGrKasgz93UT62MaXSHrRbtAPC28O7O9sZnw8dVHTnp
         u5UBrU2sy3Cn/DbH8Jbsq0bmZjE/pdw4FJTGiD06Qd8AaORxun+CpvvrQjlt0Ah8jqDb
         jfR5ABGrKcBLQB39MH6T03ZnPz9U4UVYGBQu1j4gyuqUuq7hBs2CmoyxOT4r3sI4kIW3
         i/HUF+rB1/epmnCau8e8buQ2F7HabKr4PIH2NpnrKqKvx6SnSPA3u1gc/MFy2z/UYQZL
         jiHSoZisdfwStFEGnM0zTtOmwA9qvU7Y8WA4wa583vm38c0luEVqDI8hqssdb3Us09a+
         YeeA==
X-Gm-Message-State: AOJu0Yy3JUbfsVr+trE61ULwDOYl180Z32Bh/Q3gZIqtBw673dGfdxLV
	YaQ3k7CGHpt89i8fsmJfdgn446EbOft/0WYRx4FrkB8l
X-Google-Smtp-Source: AGHT+IHfXSWO8TrQ7jMKZM8yl1xKT/8xtcnvyhy4kTY/gwYTUH6HgSls8z/rp5dQSd8zXe5jChgXKtIECuXxDkzT1CY=
X-Received: by 2002:a05:6402:510:b0:543:7256:6370 with SMTP id
 m16-20020a056402051000b0054372566370mr5224417edv.23.1699897013213; Mon, 13
 Nov 2023 09:36:53 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-3-jgross@suse.com>
In-Reply-To: <20231110160804.29021-3-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 13 Nov 2023 12:36:41 -0500
Message-ID: <CAKf6xpvOOU04rsuHq=39vDF=i+HQ67ZdejrVxJUju4ud87pT5w@mail.gmail.com>
Subject: Re: [PATCH v2 02/29] tools: add a new xen logging daemon
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 11:08=E2=80=AFAM Juergen Gross <jgross@suse.com> wr=
ote:
>
> Add "xen-9pfsd", a new logging daemon meant to support infrastructure
> domains (e.g. xenstore-stubdom) to access files in dom0.
>
> For now only add the code needed for starting the daemon and
> registering it with Xenstore via a new "libxl/xen-9pfs/state" node by
> writing the "running" state to it.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---

> --- /dev/null
> +++ b/tools/xen-9pfsd/xen-9pfsd.c
> @@ -0,0 +1,145 @@

> + * The backend device string is "xen_9pfs", the tag used for mounting th=
e
> + * 9pfs device is "Xen".

'_' is much less common in xenstore node names than '-'.  Is there a
particular reason you chose '_'?  I generally prefer '-', but IIRC the
libxl idl can't handle '-'.  Did you hit that?

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:37:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:37:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631879.985652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2arx-0006Nj-B6; Mon, 13 Nov 2023 17:37:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631879.985652; Mon, 13 Nov 2023 17:37: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 1r2arx-0006Nc-7i; Mon, 13 Nov 2023 17:37:05 +0000
Received: by outflank-mailman (input) for mailman id 631879;
 Mon, 13 Nov 2023 17:37: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=dHgb=G2=zytor.com=hpa@srs-se1.protection.inumbo.net>)
 id 1r2arw-000525-9Q
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:37:04 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 402dd66c-824b-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 18:37:02 +0100 (CET)
Received: from [127.0.0.1] ([12.191.197.195]) (authenticated bits=0)
 by mail.zytor.com (8.17.1/8.17.1) with ESMTPSA id 3ADHaD5Q2879261
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
 Mon, 13 Nov 2023 09:36:14 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 402dd66c-824b-11ee-98da-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 3ADHaD5Q2879261
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2023111101; t=1699896975;
	bh=SCbNEaKysaDENzp7ym8rKe0t6E54PmQIYjGt+gUaVHA=;
	h=Date:From:To:CC:Subject:In-Reply-To:References:From;
	b=yDdz7RU+C8v9nYIEBzCAWgRm3F1WpeF12wJgCrA6ccgmNshH+SnO2sPhDYH9PySHL
	 YyqF7gWVqnOyr+dQAlGtnI9JasuK7AwYlLy1Tt2yJ1F5ZtYRCDnhW+aPvp3RGHfPVB
	 ysKh2MIXuyuYvp9nlGkCXC0QcYduFhDiMoxcqjQi9RkcMYie4H2Kw3TzoAxlI6tvXV
	 rrRKQ+lxLK4B2iaxhdShSn2TR4kmpimd9HhJX0jQ6J/xPqAgC0pG4q/9GwQchMAeUS
	 VQv4HAjGvUZ+w8UYh6+zktz0G+ELn42zjvoiL9UHu2Nr46sqxDE142BCoNIRfAyLDl
	 nQ9dbCgQdGOGA==
Date: Mon, 13 Nov 2023 12:36:04 -0500
From: "H. Peter Anvin" <hpa@zytor.com>
To: Borislav Petkov <bp@alien8.de>, Xin Li <xin3.li@intel.com>
CC: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
        linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
        kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
        tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com,
        x86@kernel.org, luto@kernel.org, pbonzini@redhat.com,
        seanjc@google.com, peterz@infradead.org, jgross@suse.com,
        ravi.v.shankar@intel.com, mhiramat@kernel.org,
        andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
        nik.borisov@suse.com
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_v12_19/37=5D_x86/fred=3A_Update?= =?US-ASCII?Q?_MSR=5FIA32=5FFRED=5FRSP0_during_task_switch?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231113093742.GAZVHuZk9CGTRIfAWb@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com> <20231003062458.23552-20-xin3.li@intel.com> <20231113093742.GAZVHuZk9CGTRIfAWb@fat_crate.local>
Message-ID: <3BFEBDE8-6F90-43A5-AE34-07B0ED0CAAAE@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

On November 13, 2023 4:37:42 AM EST, Borislav Petkov <bp@alien8=2Ede> wrote=
:
>On Mon, Oct 02, 2023 at 11:24:40PM -0700, Xin Li wrote:
>> From: "H=2E Peter Anvin (Intel)" <hpa@zytor=2Ecom>
>>=20
>> MSR_IA32_FRED_RSP0 is used during ring 3 event delivery, and needs to
>> be updated to point to the top of next task stack during task switch=2E
>>=20
>> Signed-off-by: H=2E Peter Anvin (Intel) <hpa@zytor=2Ecom>
>> Tested-by: Shan Kang <shan=2Ekang@intel=2Ecom>
>> Signed-off-by: Xin Li <xin3=2Eli@intel=2Ecom>
>> ---
>>  arch/x86/include/asm/switch_to=2Eh | 8 ++++++--
>>  1 file changed, 6 insertions(+), 2 deletions(-)
>>=20
>> diff --git a/arch/x86/include/asm/switch_to=2Eh b/arch/x86/include/asm/=
switch_to=2Eh
>> index f42dbf17f52b=2E=2Ec3bd0c0758c9 100644
>> --- a/arch/x86/include/asm/switch_to=2Eh
>> +++ b/arch/x86/include/asm/switch_to=2Eh
>> @@ -70,9 +70,13 @@ static inline void update_task_stack(struct task_str=
uct *task)
>>  #ifdef CONFIG_X86_32
>>  	this_cpu_write(cpu_tss_rw=2Ex86_tss=2Esp1, task->thread=2Esp0);
>>  #else
>> -	/* Xen PV enters the kernel on the thread stack=2E */
>> -	if (cpu_feature_enabled(X86_FEATURE_XENPV))
>> +	if (cpu_feature_enabled(X86_FEATURE_FRED)) {
>> +		/* WRMSRNS is a baseline feature for FRED=2E */
>> +		wrmsrns(MSR_IA32_FRED_RSP0, (unsigned long)task_stack_page(task) + T=
HREAD_SIZE);
>
>If this non-serializing write happens now and, AFAICT, the CR3 write
>during the task switch has already happened in switch_mm* earlier, what
>is the serialization point that's going to make sure that write is
>committed before the new task starts executing?
>
>Thx=2E
>

A resource cannot be consumed after the value has been written; this is th=
e only necessary level of serialization, equivalent to, say, RAX=2E

A serializing instruction stops the entire pipeline until everything has r=
etired and any stores have become globally visible=2E


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:53:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:53:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631888.985662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2b7Q-0007M7-I6; Mon, 13 Nov 2023 17:53:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631888.985662; Mon, 13 Nov 2023 17:53: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 1r2b7Q-0007M0-FL; Mon, 13 Nov 2023 17:53:04 +0000
Received: by outflank-mailman (input) for mailman id 631888;
 Mon, 13 Nov 2023 17:53: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=h1x5=G2=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2b7P-0007Lu-1U
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:53:03 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ce59900-824d-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 18:53:01 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40a48775c58so26223765e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 09:53:01 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 n7-20020a7bcbc7000000b004064cd71aa8sm8697066wmi.34.2023.11.13.09.53.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 09:53:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7ce59900-824d-11ee-98da-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699897981; x=1700502781; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=T8/3EOPbR2ofVzNuWqkP/qMPKIkG7fBZoWGemR7UHzU=;
        b=d6MZPpYIfQxqAoEIcIuGcJrF6y7YOTn3KgMQ0QPWlfzToeOsQsYIuZYuWRJsG3qn3c
         HlXMjq+JY37aZFSdI2gI0qUiQQKzP9ErU9Ys5+oUKrl15emBoeDSQDId3M+F8kGVJbSz
         o7K6xXmelOkoFgdnfLZuc9mvDeRfD7pA5tj6Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699897981; x=1700502781;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=T8/3EOPbR2ofVzNuWqkP/qMPKIkG7fBZoWGemR7UHzU=;
        b=AROF0iOz2zHCCf95eF4lV0lEaFSHjB6aIBf5dmHiQe/qCpNrapFU06l4KKXruYLvLz
         kLnmfly2Gu8UkyrdSxcIHMkhbk0amVf3QSlYWpyHbZJRV7r9hiMzmB82NArRiHLCVpU+
         rxTYI7vULQQVG/A1GHCoYeuiC86rz1K/ZhI+/nl6pLBurZsBhxKVIgiOr43iQ2pLqkkw
         5kn01s7kntim48Jp4yMJr/t+RzqZES3ZTsFdkWFjV8zAtBldjrZpAlaCnjdVnjdW3oYX
         RV+V4aiCC91ebuo4NEmmtI5INU/WNLCGQTDt4cwrWFRxlrVMnkBgnJwa9q0Xm+zGP/jl
         36PQ==
X-Gm-Message-State: AOJu0YyrbXRPTEzBG1pXsyjqC/uOjxJbQjQ076T1mLwvo/+oEr0I2/XO
	ujf49xZbjP4CGs6KQSWtRXe8bg==
X-Google-Smtp-Source: AGHT+IGjrOzRLGIAOTmht6JuaNSBqDtY8M+pe8Qkwbo3Jiuc6tDyUK3jOHIGuyb1B9Ksb9yCjXgThA==
X-Received: by 2002:a05:600c:4f47:b0:405:34e4:14e3 with SMTP id m7-20020a05600c4f4700b0040534e414e3mr5528420wmq.3.1699897981019;
        Mon, 13 Nov 2023 09:53:01 -0800 (PST)
Date: Mon, 13 Nov 2023 18:53:00 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Message-ID: <ZVJifMqOR_3zINYZ@macbook.local>
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231113165023.5824-1-alejandro.vallejo@cloud.com>

On Mon, Nov 13, 2023 at 04:50:23PM +0000, Alejandro Vallejo wrote:
> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> registers are derivable from each other through a fixed formula.
> 
> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> rather than x2APIC_IDs (which are not, at the moment). As I understand it,
> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> x2APIC_ID and internally derive LDR (or the other way around)

I would replace the underscore from x2APIC ID with a space instead.

Seeing the commit that introduced the bogus LDR value, I'm not sure it
was intentional, as previous Xen code had:

u32 id = vlapic_get_reg(vlapic, APIC_ID);
u32 ldr = ((id & ~0xf) << 16) | (1 << (id & 0xf));
vlapic_set_reg(vlapic, APIC_LDR, ldr);

Which was correct, as the LDR was derived from the APIC ID and not the
vCPU ID.

> This patch fixes the implementation so we follow the rules in the x2APIC
> spec(s).
> 
> While in the neighborhood, replace the u32 type with the standard uint32_t

Likely wants:

Fixes: f9e0cccf7b35 ('x86/HVM: fix ID handling of x2APIC emulation')

> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

I do wonder whether we need to take any precautions with guests being
able to trigger an APIC reset, and thus seeing a changed LDR register
if the guest happens to be migrated from an older hypervisor version
that doesn't have this fix.  IOW: I wonder whether Xen should keep the
previous bogus LDR value across APIC resets for guests that have
already seen it.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 17:56:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 17:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631895.985672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2bAw-0000Ro-1n; Mon, 13 Nov 2023 17:56:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631895.985672; Mon, 13 Nov 2023 17: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 1r2bAv-0000Rh-U9; Mon, 13 Nov 2023 17:56:41 +0000
Received: by outflank-mailman (input) for mailman id 631895;
 Mon, 13 Nov 2023 17:56: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=xOTm=G2=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r2bAu-0000Rb-Jy
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 17:56:40 +0000
Received: from m35-190.mailgun.net (m35-190.mailgun.net [69.72.35.190])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id fe60ec3f-824d-11ee-98da-6d05b1d4d9a1;
 Mon, 13 Nov 2023 18:56:39 +0100 (CET)
Received: from mg.gitlab.com (26.226.74.34.bc.googleusercontent.com
 [34.74.226.26]) by
 bef394244304 with SMTP id 65526355fd5e5c4939c2b1e3 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 13 Nov 2023 17:56:37 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: fe60ec3f-824d-11ee-98da-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699898197; x=1699905397; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=GVFiiEzDwhFvpgsbB4oa6gogYfG+zbH+RvvuLuo4z0w=;
 b=jeHtisHC5n7DVsbhak3TIvNaSOFZ+k+tnAUlNEsNpEHenqNI245Gn+xQ8raVcxyXx9t1pwLjpq+P7vyPa4SRfaVkvzhRC2N9D2n7Re0qivgq0F8ESpUBHkQX3sz2TwC+7ylAMzmNtS190YjPQPxGQhb7qrBmpk11AfkzkYxNOaA=
X-Mailgun-Sending-Ip: 69.72.35.190
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Mon, 13 Nov 2023 17:56:37 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655263557bf1b_2c9ae2091548@gitlab-sidekiq-catchall-v2-5b74d594f5-vr67k.mail>
Subject: xen | Successful pipeline for staging-4.18 | 509f737d
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6552635571eee_2c9ae209142d";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1070443312
X-GitLab-Pipeline-Ref: staging-4.18
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6552635571eee_2c9ae209142d
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1070443312 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.18 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.18 )

Commit: 509f737d ( https://gitlab.com/xen-project/xen/-/commit/509f737d3e80c75f948eb896a08c324287b00adc )
Commit Message: docs/sphinx: Fix indexing

sphinx-build reports...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1070443312 ( https://gitlab.com/xen-project/xen/-/pipelines/1070443312 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6552635571eee_2c9ae209142d
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging-4.18 | 509f737d</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1070443312 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.18" style=3D"color: #333333; text-decoration: none;">
staging-4.18
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/509f737d3e80c75f94=
8eb896a08c324287b00adc" style=3D"color: #3777b0; text-decoration: none;">=
509f737d</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
docs/sphinx: Fix indexing

sphinx-build reports...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107044=
3312" style=3D"color: #3777b0; text-decoration: none;">#1070443312</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6552635571eee_2c9ae209142d--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 18:11:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 18:11:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631931.985682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2bOe-0000Q3-9B; Mon, 13 Nov 2023 18:10:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631931.985682; Mon, 13 Nov 2023 18: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 1r2bOe-0000Pw-5Y; Mon, 13 Nov 2023 18:10:52 +0000
Received: by outflank-mailman (input) for mailman id 631931;
 Mon, 13 Nov 2023 18:10: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=aZgi=G2=linaro.org=richard.henderson@srs-se1.protection.inumbo.net>)
 id 1r2bOc-0000NP-O1
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 18:10:51 +0000
Received: from mail-pg1-x535.google.com (mail-pg1-x535.google.com
 [2607:f8b0:4864:20::535])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f80b5f14-824f-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 19:10:48 +0100 (CET)
Received: by mail-pg1-x535.google.com with SMTP id
 41be03b00d2f7-5bd33abbb90so2991594a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 10:10:48 -0800 (PST)
Received: from [192.168.0.4] ([71.212.149.95])
 by smtp.gmail.com with ESMTPSA id
 k9-20020a17090a910900b00280c285f878sm3923719pjo.55.2023.11.13.10.10.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 10:10:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f80b5f14-824f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699899046; x=1700503846; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=G5/qOWZgkeSPPtH0EpFhTGO8tdIfjkfMdQotq8wuAKg=;
        b=N2mRT42TZFRb6hWlyHp7UFFUE2iXxMo4N0BhJW29bfX3J/aOSPHvnotZMmIXH4+3e9
         InhVNelb9ANbYqLxKsPjnw2RPdqZAlh5Yd7gJzyPmz1tqFukcQqAUVOarXqkFsTCqskq
         5moRKOpMLANEQbXlFvz3RZLh6fRiEWJlSgWYbBz1LfTMw5fnkOZJfQHb+lkxrBJo4HYJ
         YBnyPvjQUOXqvlncT7lTeMYpt50Q/LEPfEnZcqwnas+YGjuNrjh/gbMjpavwYpMQV1Q6
         uSxmR6xAPB2quacNsp+XwYFeUgp0Ax1UO0ZFnVkQ7j5WNUkqtSjAuw2a6TNSGcKOBff8
         4BPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699899046; x=1700503846;
        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:subject:date:message-id:reply-to;
        bh=G5/qOWZgkeSPPtH0EpFhTGO8tdIfjkfMdQotq8wuAKg=;
        b=Sqv8oryxBrNX+D9RWzasT58xIo+zc/ny5nYHnLBzD5Rqgkl3u4v68P+R5Kylc0AzA5
         JqUiVw0J7xcUfHo0SW+INfrc8CJK5ctIl/LdEstWeznvHQkx65FgwyRUxX+OaPzTC7B1
         ESbRccQ50T85YIVKTD0g6RD4x0jfUfPZ62z9ZI894T2Az3pCYI9hjaWuqOmXApTEbDee
         ITtFOEodePaOWihidEmmi6ev576wp8a99UcVd2bkammacDYC2aixeN2pwQdsyOnQfsmI
         SODb148uYLfYP3BTR5cdWWV3Hn3ZXNm2JhmBPGa6DT8Omd1MxFckVNpJGKzjyJp0vv2t
         1FoA==
X-Gm-Message-State: AOJu0Yza4UWIC4DRiFdhETZB/wj8HPlVPjeLguH4o6MYu81T48Vy7Ezw
	4BlZ3oGKqDxcA7+GIPhgzFLS0Q==
X-Google-Smtp-Source: AGHT+IHUViJUi40vcCWJAbjeC1I6xdrwoRGcxD8HWAB7g1Sz2zxxUOjf7IqWCp/nkqVYvgGeqTiuOQ==
X-Received: by 2002:a17:90a:1789:b0:27f:fcc8:9196 with SMTP id q9-20020a17090a178900b0027ffcc89196mr5441493pja.32.1699899046448;
        Mon, 13 Nov 2023 10:10:46 -0800 (PST)
Message-ID: <365f998f-b7e0-4f5a-bd75-177d23946e4d@linaro.org>
Date: Mon, 13 Nov 2023 10:10:44 -0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 01/10] sysemu/xen: Forbid using Xen headers in
 user emulation
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-2-philmd@linaro.org>
From: Richard Henderson <richard.henderson@linaro.org>
In-Reply-To: <20231113152114.47916-2-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/13/23 07:21, Philippe Mathieu-Daudé wrote:
> Xen is a system specific accelerator, it makes no sense
> to include its headers in user emulation.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   include/sysemu/xen.h | 8 ++++----
>   1 file changed, 4 insertions(+), 4 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 18:13:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 18:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631937.985691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2bQk-0001gj-Nn; Mon, 13 Nov 2023 18:13:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631937.985691; Mon, 13 Nov 2023 18:13: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 1r2bQk-0001gc-Kh; Mon, 13 Nov 2023 18:13:02 +0000
Received: by outflank-mailman (input) for mailman id 631937;
 Mon, 13 Nov 2023 18:13: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=aZgi=G2=linaro.org=richard.henderson@srs-se1.protection.inumbo.net>)
 id 1r2bQj-0001gT-Qp
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 18:13:01 +0000
Received: from mail-oa1-x35.google.com (mail-oa1-x35.google.com
 [2001:4860:4864:20::35])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 471a33ca-8250-11ee-98db-6d05b1d4d9a1;
 Mon, 13 Nov 2023 19:13:00 +0100 (CET)
Received: by mail-oa1-x35.google.com with SMTP id
 586e51a60fabf-1e993765c1bso3081852fac.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 10:13:00 -0800 (PST)
Received: from [192.168.0.4] ([71.212.149.95])
 by smtp.gmail.com with ESMTPSA id
 it13-20020a056a00458d00b006b58af8aae3sm4092255pfb.77.2023.11.13.10.12.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 10:12:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 471a33ca-8250-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699899179; x=1700503979; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ZBVS57ugFH+dWwwgJQNw/EdC1LQ7A71bAIRGFWgr9qQ=;
        b=J5QhL1+00spDJbFLpO/4S91c89ruapOo2i9gEp5UaITmYXRTfc4eZXdLjJTFH3cXLC
         WaFd0j0W//4QOZGXrnZVzQd2lfIDL8C8kQO1PD32cPd+huuxuZa0yqaB0GG/SWaeztDl
         G+ACrLGZvfwJIL8ETiSaI0na8681WCc40kdD6SH/szfa6Q+/82XgPMoKo+YWuYCQGH26
         E5J5RN/dyv9696UbQK1fCnWmt4zgiblTzoaM5X4yorKiwRoxhFWcqS4GhVLyQDEil6VR
         5w1hEh5+7ShJkE6HXaSmfqWcfRUD7ZLf4V4cuTs1fJ7ImnQwNA374eD6O04qKwp3TBT/
         Kxdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699899179; x=1700503979;
        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:subject:date:message-id:reply-to;
        bh=ZBVS57ugFH+dWwwgJQNw/EdC1LQ7A71bAIRGFWgr9qQ=;
        b=U+z3Vy4JUhlvPhJOlicQS44Do6VV1Yo4ujrweGFNiNjaoqWa0JvFK42xuBF+LeLiio
         OKXvzlAfMbFjIrVZkdPFcRAjDOB37VDx2HYBgo3DG5YEqffZ+lppJ5ryWsNcYPMdG+yK
         K8DyojDVL5m0NtF3pW7YX5kyfetUKCOpdt2I7Axssosuf7MguV12msSRg1jxuCOSrUts
         Op93W91wRg44GZtS6eBDaIA3elOiDPsWc2Z2lsYC/v3jXOq6T1uoidtzHNcsQHNL87Tn
         g7mnGmBJIbDnRVkrKiscUsIi2glPPsTHOEavweWcB2FU6TEYjSIuT9RsDkxbJjFP1QYY
         OhMA==
X-Gm-Message-State: AOJu0Yx80sulr5WgwxUeV31gRUTVE0kracQg38ZOUtZ9DjG2TZziuS6V
	v7A7ATguXhvmv2RP1XG4gQKg7Q==
X-Google-Smtp-Source: AGHT+IHouUBCiMX9KBY+uYOICqzQx66TRgfPBXn9EutFo+KHFLUOx3FPF3CRi5Kl+BGT8JiIk0Cxfw==
X-Received: by 2002:a05:6870:3045:b0:1ef:c944:222b with SMTP id u5-20020a056870304500b001efc944222bmr9441610oau.11.1699899179250;
        Mon, 13 Nov 2023 10:12:59 -0800 (PST)
Message-ID: <1c57d09a-14ab-4dc3-bc23-31e1ac906f82@linaro.org>
Date: Mon, 13 Nov 2023 10:12:56 -0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 02/10] hw/xen/xen_arch_hvm: Rename prototypes
 using 'xen_arch_' prefix
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>,
 Peter Maydell <peter.maydell@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-3-philmd@linaro.org>
From: Richard Henderson <richard.henderson@linaro.org>
In-Reply-To: <20231113152114.47916-3-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/13/23 07:21, Philippe Mathieu-Daudé wrote:
> Use a common 'xen_arch_' prefix for architecture-specific functions.
> Rename xen_arch_set_memory() and xen_arch_handle_ioreq().
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   include/hw/arm/xen_arch_hvm.h  | 4 ++--
>   include/hw/i386/xen_arch_hvm.h | 4 ++--
>   hw/arm/xen_arm.c               | 4 ++--
>   hw/i386/xen/xen-hvm.c          | 6 +++---
>   hw/xen/xen-hvm-common.c        | 4 ++--
>   5 files changed, 11 insertions(+), 11 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 18:13:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 18:13:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631939.985701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2bRA-0002EA-Uz; Mon, 13 Nov 2023 18:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631939.985701; Mon, 13 Nov 2023 18:13: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 1r2bRA-0002E3-SY; Mon, 13 Nov 2023 18:13:28 +0000
Received: by outflank-mailman (input) for mailman id 631939;
 Mon, 13 Nov 2023 18:13: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=aZgi=G2=linaro.org=richard.henderson@srs-se1.protection.inumbo.net>)
 id 1r2bR9-0001gT-Am
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 18:13:27 +0000
Received: from mail-ot1-x32b.google.com (mail-ot1-x32b.google.com
 [2607:f8b0:4864:20::32b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56d74d25-8250-11ee-98db-6d05b1d4d9a1;
 Mon, 13 Nov 2023 19:13:26 +0100 (CET)
Received: by mail-ot1-x32b.google.com with SMTP id
 46e09a7af769-6ce2de8da87so2960380a34.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 10:13:26 -0800 (PST)
Received: from [192.168.0.4] ([71.212.149.95])
 by smtp.gmail.com with ESMTPSA id
 it13-20020a056a00458d00b006b58af8aae3sm4092255pfb.77.2023.11.13.10.13.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 10:13:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56d74d25-8250-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699899205; x=1700504005; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=47qdXCf7H17vKwnfJuoR9ApbQrhsQSNwWFz2iDtLcKY=;
        b=lDICJsTj9DE/GdAGdD7Y4OkWlax1+8XdAk+0RV53WsdFsCB1sBayNitmwsvJNfPlkL
         hRxyaXO633bogEkhon15tzAF2Os2LyIK9WvhXiXb9Gw2bmzv51CYxyVcv7cKloTsmKHA
         DHPJ7DOdN55WAFuNgYshZEmmuQ+dZMcVBt0wywZQvVoAE5jauT5BEQI1/qkmFt4T3RyD
         I4XGnazk00HIIjKaCyJTZFnS19dk6yWCiixHPB27YHJvYVOTcsnOE3IE6nzYB/ZgdDfW
         GAWaSp/VQqvuXuphx90pem1rUtegXBIdhGqHO8f9hIZBxMAlKcovL+ZqRM2fj3ywJdfp
         UfZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699899205; x=1700504005;
        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:subject:date:message-id:reply-to;
        bh=47qdXCf7H17vKwnfJuoR9ApbQrhsQSNwWFz2iDtLcKY=;
        b=QLyYbi/oiHmz2mqAEuLkS9Pnxohl0sA4fWQwuFW/J2Ce+k1Gcdom3lgeOc5HVSm3Ir
         /Gy+STgZo0vTrPnZkOYJqrnSWy+7aMH2Ceru5Y9yBMLMLO5C7SLheqxdadLRURpeI4/B
         pG8L9UchYnQSUu6E1DN6t4jHhZObsIoqNNXj3P+MDjQgyWXx7MDjr6IDzNmyzJ4zQpbL
         ewhfO/k1oTbSIotWommYIan3ErXPBHswRJ/VhAbwm2MPer4GbEBKVcUTI0aA/FFtJToY
         rR+weROtJme/RlF7MSA3EmMDZq7BgLpEMHXfigOsfM7wnpc+ICYYJS4HdspxLko2RAdB
         QMRQ==
X-Gm-Message-State: AOJu0YzeB8dAzy0kMYqit7miI2B3NbEyDODJ3wGy9NhclZu5ocTYl0VL
	h2byOgf3nUeJwCCKvFadfMy4Rw==
X-Google-Smtp-Source: AGHT+IEMW24hoP1qxVuHtBZTWwzdY1wJIRvBdCxR4pcag8Dcp4IYaLDv8RiEja604eSuwTfs9vPIQA==
X-Received: by 2002:a05:6870:e40b:b0:1ef:f127:34fa with SMTP id n11-20020a056870e40b00b001eff12734famr8873450oag.57.1699899205660;
        Mon, 13 Nov 2023 10:13:25 -0800 (PST)
Message-ID: <b7d29ae2-2064-4e4d-8fd7-1a75af4cb4ad@linaro.org>
Date: Mon, 13 Nov 2023 10:13:23 -0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 03/10] hw/xen: Merge 'hw/xen/arch_hvm.h' in
 'hw/xen/xen-hvm-common.h'
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>,
 Peter Maydell <peter.maydell@linaro.org>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Eduardo Habkost <eduardo@habkost.net>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-4-philmd@linaro.org>
From: Richard Henderson <richard.henderson@linaro.org>
In-Reply-To: <20231113152114.47916-4-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/13/23 07:21, Philippe Mathieu-Daudé wrote:
> We don't need a target-specific header for common target-specific
> prototypes. Declare xen_arch_handle_ioreq() and xen_arch_set_memory()
> in "hw/xen/xen-hvm-common.h".
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   include/hw/arm/xen_arch_hvm.h   |  9 ---------
>   include/hw/i386/xen_arch_hvm.h  | 11 -----------
>   include/hw/xen/arch_hvm.h       |  5 -----
>   include/hw/xen/xen-hvm-common.h |  6 ++++++
>   hw/arm/xen_arm.c                |  1 -
>   hw/i386/xen/xen-hvm.c           |  1 -
>   hw/xen/xen-hvm-common.c         |  1 -
>   7 files changed, 6 insertions(+), 28 deletions(-)
>   delete mode 100644 include/hw/arm/xen_arch_hvm.h
>   delete mode 100644 include/hw/i386/xen_arch_hvm.h
>   delete mode 100644 include/hw/xen/arch_hvm.h
> 

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 18:16:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 18:16:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631943.985712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2bUC-0003tY-Dd; Mon, 13 Nov 2023 18:16:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631943.985712; Mon, 13 Nov 2023 18: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 1r2bUC-0003tR-Ai; Mon, 13 Nov 2023 18:16:36 +0000
Received: by outflank-mailman (input) for mailman id 631943;
 Mon, 13 Nov 2023 18:16: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=aZgi=G2=linaro.org=richard.henderson@srs-se1.protection.inumbo.net>)
 id 1r2bUA-0003tK-FN
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 18:16:34 +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 c56defc5-8250-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 19:16:32 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-1cc53d0030fso36323825ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 10:16:32 -0800 (PST)
Received: from [192.168.0.4] ([71.212.149.95])
 by smtp.gmail.com with ESMTPSA id
 ju10-20020a170903428a00b001c59f23a3fesm4142792plb.251.2023.11.13.10.16.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 10:16:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c56defc5-8250-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699899391; x=1700504191; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xGaoCvEhVKgnKhzAuH2lcBIsGnVExx6jtGAjreAN1U0=;
        b=R4ha/AsGlmBVEdRPNCYQiFdOxQp64cG2+3PrSKeL9pGHtEjzx0/coDh4Ps+kHsAdqj
         AFIwEcIY6FimqrjBQAnzWWuC3G4DQZhcfyVyAksLJQWSeIPu4/vgC2qQPVvz04G7/U90
         kYZ4MRR3/VTEZ1kTpWaDXgmxyijmtgx2psNNDWFhYkz/kZ2K7Bj+vx/e+skG1ahEDqUu
         C8eRwmeShmfFw3wRLM6Xt2e05K91wT07YSjK+0rs0BM4UgTOCBCFpQ+5s0tLUleJM9af
         +H+vZpFispeE3/TqEeDPvWM2Mj0givF70uCEwqPyCPtLAsRYsIiS368Cq4393pWhGosw
         BIug==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699899391; x=1700504191;
        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:subject:date:message-id:reply-to;
        bh=xGaoCvEhVKgnKhzAuH2lcBIsGnVExx6jtGAjreAN1U0=;
        b=f/ho0OoGC9XZzXI6p8kTQbUbGd2GQgZsA2GLOFdrtegnqcjSk2IdYaRaqqbHGeKxsW
         082sN7e19FCxN48+djV0QfbO9tufXDiJne5kbuP8j3/KcsQveSz3oHoUNnNMoLNo0sLE
         LibZJ4Y28hkGonD2fncaYIXE6rguSzj4UOT32UG/Sz90ZGVA9kJzvErC4oDC0mMrppbL
         gIVW1MOR6+8z10dMw0gjHg1rpd5lLJrH0p6yCf+31YIy7UjNWR6kqJWGcIoff22g1hnF
         LTHm132sfDma9rLNcVYZKdzFyyAgjnEYvpZPW+RcXjG/1VWJUehuabuj2f0RxiAkJ4s3
         WDGg==
X-Gm-Message-State: AOJu0YyCT/pvM0P2KNjJqjjikjJHMmqYkY3S9bPXdbWPpjdd3pdC/weh
	REu1Z2yMzq4y2QeiV0U/GYZDFA==
X-Google-Smtp-Source: AGHT+IFGtFwOCO00qTve4imDefB/v7Y14ItQYfH6PPqxvc6xD2b0XUfTEVU90N6JSOVtl3xeUhxBSg==
X-Received: by 2002:a17:902:b693:b0:1c0:afda:7707 with SMTP id c19-20020a170902b69300b001c0afda7707mr310903pls.34.1699899391077;
        Mon, 13 Nov 2023 10:16:31 -0800 (PST)
Message-ID: <a50b0790-03d7-458c-834b-907e130bb5fd@linaro.org>
Date: Mon, 13 Nov 2023 10:16:28 -0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 04/10] hw/xen: Factor xen_arch_align_ioreq_data()
 out of handle_ioreq()
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>,
 Peter Maydell <peter.maydell@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-5-philmd@linaro.org>
From: Richard Henderson <richard.henderson@linaro.org>
In-Reply-To: <20231113152114.47916-5-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/13/23 07:21, Philippe Mathieu-Daudé wrote:
> diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> index c028c1b541..03f9417e7e 100644
> --- a/hw/xen/xen-hvm-common.c
> +++ b/hw/xen/xen-hvm-common.c
> @@ -426,10 +426,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req)
>       trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr,
>                          req->addr, req->data, req->count, req->size);
>   
> -    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
> -            (req->size < sizeof (target_ulong))) {
> -        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
> -    }


I suspect this should never have been using target_ulong at all: req->data is uint64_t.


r~


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 18:18:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 18:18:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631947.985721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2bVm-0004qr-OC; Mon, 13 Nov 2023 18:18:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631947.985721; Mon, 13 Nov 2023 18:18: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 1r2bVm-0004qk-LX; Mon, 13 Nov 2023 18:18:14 +0000
Received: by outflank-mailman (input) for mailman id 631947;
 Mon, 13 Nov 2023 18:18: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=aZgi=G2=linaro.org=richard.henderson@srs-se1.protection.inumbo.net>)
 id 1r2bVl-0004o0-CK
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 18:18:13 +0000
Received: from mail-pj1-x1036.google.com (mail-pj1-x1036.google.com
 [2607:f8b0:4864:20::1036])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00690f90-8251-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 19:18:11 +0100 (CET)
Received: by mail-pj1-x1036.google.com with SMTP id
 98e67ed59e1d1-280cc5f3fdcso3798760a91.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 10:18:11 -0800 (PST)
Received: from [192.168.0.4] ([71.212.149.95])
 by smtp.gmail.com with ESMTPSA id
 ju10-20020a170903428a00b001c59f23a3fesm4142792plb.251.2023.11.13.10.18.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 10:18:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00690f90-8251-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699899490; x=1700504290; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=cUZHYtdDAzSjFTXLnaas09EEkDjSU/8RG04d1d7Vlz8=;
        b=w//UhM5tPS840eb0HIs2kPNdllzCaqYkHyofLsUgJ62MlXyDsmo8JahwulafpPAXsi
         31IUr1hrYRCCpnshMPULLAcMcvwZEkGBIqhQTft+7KXTVbk32UZ9HCctsXvTXEPfLwOS
         P3TEKRfKiv3ySYW7I0SdRShS6xJOZkhW+uEWf9dYKZ2i3tM2In5PndfkaYEA4TnqfcP4
         ROdDPwbQRGH9EzCdfau31UMQ9y6Q7Q3Pm6wkMW8391Ob8VVVtxTxfgcdFGrhifwuhCcs
         fYTKyR5tSn5VHZKUs9sb45VLoLuA+n6RUYEzHg+M2Z3G0hCorQmLS0mLdeiC7tIjjfcU
         DJJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699899490; x=1700504290;
        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:subject:date:message-id:reply-to;
        bh=cUZHYtdDAzSjFTXLnaas09EEkDjSU/8RG04d1d7Vlz8=;
        b=f5RBH7jGl+0qTEfUxdaIXF3mezDeOHEnD1ODtmYLcg8FXSWwYnzuoM7jJOm5QGU5Vg
         6JZVp+0ohQenWEsoEBYHj8BZD4x4ra1vsIeWDx5t+t5nYWK+ZuJ1lo/sHYlPwf7Dcl11
         ZgD9CMbGzfz7oAzrncNRbN/C7nLtQFiLdgotUxYOSgaYf5rIbINdouXcl1PwGyTrjdYy
         vq1vBB8pp5Z53JZX7Vspck2iTAKI8ot3x7OKPTHNBx4JlK+UXdb8Jskzk8N0iwck1nQZ
         OWL5tZXsq8RuDVF/DL1JNwXX5VXCItWV6CWc+48Mi1SPFAH3mE8BJY4P4PJ4p9Q2yfbx
         Vptg==
X-Gm-Message-State: AOJu0YyUOd7vgajF1dhFIkcJExRK5QuxBCC/uJqn9HVUQr4qVXvWoHnQ
	IjdWNh5nkR/XqPGQQEmLjSjWDw==
X-Google-Smtp-Source: AGHT+IFJSWU0EbEsWYs25C8piGyK3+q/+cqma/6uQPpfrlrJMZSyxnmKER/5e0gBjmHmts16wFp5ww==
X-Received: by 2002:a17:90b:1a92:b0:280:bb7:9fa0 with SMTP id ng18-20020a17090b1a9200b002800bb79fa0mr5083402pjb.43.1699899490100;
        Mon, 13 Nov 2023 10:18:10 -0800 (PST)
Message-ID: <ed177c44-6a59-493c-9010-1d534b0109bd@linaro.org>
Date: Mon, 13 Nov 2023 10:18:08 -0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 05/10] hw/xen: Use target-agnostic
 qemu_target_page_bits()
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-6-philmd@linaro.org>
From: Richard Henderson <richard.henderson@linaro.org>
In-Reply-To: <20231113152114.47916-6-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/13/23 07:21, Philippe Mathieu-Daudé wrote:
> Instead of the target-specific TARGET_PAGE_BITS definition,
> use qemu_target_page_bits() which is target agnostic.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   hw/xen/xen-hvm-common.c | 6 ++++--
>   1 file changed, 4 insertions(+), 2 deletions(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 18:19:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 18:19:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631949.985731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2bWh-0005fG-0e; Mon, 13 Nov 2023 18:19:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631949.985731; Mon, 13 Nov 2023 18:19: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 1r2bWg-0005f9-UU; Mon, 13 Nov 2023 18:19:10 +0000
Received: by outflank-mailman (input) for mailman id 631949;
 Mon, 13 Nov 2023 18:19: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=aZgi=G2=linaro.org=richard.henderson@srs-se1.protection.inumbo.net>)
 id 1r2bWg-0005f3-58
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 18:19:10 +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 224fe3a1-8251-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 19:19:08 +0100 (CET)
Received: by mail-pl1-x636.google.com with SMTP id
 d9443c01a7336-1cc68c1fac2so42042205ad.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 10:19:08 -0800 (PST)
Received: from [192.168.0.4] ([71.212.149.95])
 by smtp.gmail.com with ESMTPSA id
 ju10-20020a170903428a00b001c59f23a3fesm4142792plb.251.2023.11.13.10.19.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 10:19:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 224fe3a1-8251-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699899547; x=1700504347; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=umxmIrkbAOLmL1DmXXbJI6TnuJLS61wFseCU5AQMMlE=;
        b=V9InGtcjSENnhfhpCt4ShKf7O1gX20Ejdv0NSpYlsZ+fDEq2RT7o3vE+KkxZstjMzh
         kLiRkfvqprMLp1BqxM93G2btKeQsSQzYQ23tsOa+FVwqwiqknsjuSImjPc/R4Lx/CH23
         2C76gevqDHaxonu1FdownO/9qWJtd0dutZwey1N2pcGDQBgz1952vK6oAkDIYBO93Rrq
         lmbF7OMIiPpf1gtS7U7iwgYM8eGwxtXpUoyNpFBHGoEfanl2hndMGXoAw+oeLlBryWlA
         omz9AvngFH316SbdYYkFhX5+Olsfxi6XkeO/vzi1yZofw+f7GjX8Du6raeLUWRBYTJRJ
         UXaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699899547; x=1700504347;
        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:subject:date:message-id:reply-to;
        bh=umxmIrkbAOLmL1DmXXbJI6TnuJLS61wFseCU5AQMMlE=;
        b=iEAJ7PtmrsYVpDa0GoAfd0OEJex3JUYjBSpmKskfHpvL6R1KPOXrIKJd6Va3GqIgi1
         me9EWsEFXumfAHJKfne2P9OTyRYeqWx4CMJElAtJ9UU52wIgqoCWtJXRJ2JIPQyPNl4z
         Pwe4JkseXz3E/IvH+ZCseCJ109OugT/iU5XQtqVn/beu1f25BePhbSD6iDmQlKoZnuFr
         q9bkW2LFE4+R7AkYhUTUDdycnVzpaMr7lBC1qJ/8TG9Y6qEjHVt5ROcFj2HIUjAtUJgk
         a225SzYV8v3EI17qru+uupVGaM9h0+f93FOOl9Zd2fp1i+lZH3+IRVk0ogsM8iilNbDU
         wiYw==
X-Gm-Message-State: AOJu0YwR0K/RC0e8hL0oHmzxvbmePO4rskLjvLY603aVJcUqPG/XkeBF
	Mv92hLu7SogDIA/5fCOeg1LsUQ==
X-Google-Smtp-Source: AGHT+IGg248TCR5/kb/i5Pi6wxhtajoY/akEWVclfGdoBcuPjMW4q7qpmailfQkpV0PQqKGOfBIpTg==
X-Received: by 2002:a17:902:e88e:b0:1c2:1068:1f4f with SMTP id w14-20020a170902e88e00b001c210681f4fmr423529plg.17.1699899546984;
        Mon, 13 Nov 2023 10:19:06 -0800 (PST)
Message-ID: <a6333482-93f5-4ff6-826a-c1564e89c796@linaro.org>
Date: Mon, 13 Nov 2023 10:19:05 -0800
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 06/10] hw/xen: Reduce inclusion of 'cpu.h' to
 target-specific sources
Content-Language: en-US
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>,
 Peter Maydell <peter.maydell@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-7-philmd@linaro.org>
From: Richard Henderson <richard.henderson@linaro.org>
In-Reply-To: <20231113152114.47916-7-philmd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/13/23 07:21, Philippe Mathieu-Daudé wrote:
> We rarely need to include "cpu.h" in headers. Including it
> 'taint' headers to be target-specific. Here only the i386/arm
> implementations requires "cpu.h", so include it there and
> remove from the "hw/xen/xen-hvm-common.h" *common* header.
> 
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
>   include/hw/xen/xen-hvm-common.h | 1 -
>   hw/arm/xen_arm.c                | 1 +
>   hw/i386/xen/xen-hvm.c           | 1 +
>   3 files changed, 2 insertions(+), 1 deletion(-)

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>


r~


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 18:30:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 18:30:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631956.985743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2bha-0003bs-2j; Mon, 13 Nov 2023 18:30:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631956.985743; Mon, 13 Nov 2023 18: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 1r2bhZ-0003bl-TN; Mon, 13 Nov 2023 18:30:25 +0000
Received: by outflank-mailman (input) for mailman id 631956;
 Mon, 13 Nov 2023 18: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=Yu24=G2=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r2bhY-0003aS-Un
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 18:30:25 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b3c843c9-8252-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 19:30:21 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 849C740E0191; 
 Mon, 13 Nov 2023 18:30:17 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id vIR0tkFfDk7P; Mon, 13 Nov 2023 18:30:15 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id B6D7140E0171;
 Mon, 13 Nov 2023 18:29: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: b3c843c9-8252-11ee-9b0e-b553b5be7939
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key)
	header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1699900215; bh=QGUJ2C4j4YRZSL/U1xa+aaW+qjnM9Ayip2GHUoCQbrs=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=URdSOo5atytuczMmbDY6wONUqVHGwPzBY+Ft6r7t2wqWxYpmjhb8q5WUpOi/bXSA5
	 fJ5TW/gAX2J5Fg3Yrixa37rJaTWaX2xG2GP2Srly/D51K8bIlKWqgqEj1TFiEGKM6B
	 MDKQ3/YghE54YThudVhfA3Jm4PDiKtKqksPmrK+PeJ8FVtgBtNckL3zManei+Pyi1f
	 e3dsFQBcbGTQsF2fhzV/KYCdRhzBSc/UfuYV9q6kZFEK9XxiacsmrtEVwSIQQ6sge8
	 1cjKTmrp4l91XDbS3OkHDBCSMZSAaB8rhMsfg0Zkr8yFHr+jualMdcmrmSLxbxpAMZ
	 gXkKKAduMrUEw3/crCu69g1FUTrLbM+aBp8q5qMu+mb+WVawknTYPZ2PrJzaSLOMzW
	 eI2IleRus14qCFdmSYWN32apAmJBpfkEFdkSEeb44MzcNJ8qVuttPQIBmxH0O9j/17
	 qx2UYOK2bVXxXs8ovE3SvECy+JZz2HeNXN3hh5lL7l0qOQ8EiRVCoXpUT7220lntyq
	 4YAZ2HblHaiSC/1DRV/ic58WOM/BHcuaqykTtiPq+Y5r8Y/7iW+yg7Fd6v/9I/X0jl
	 rL9BIJh+KcXziVjf09XFcoI+uWyBh9S5dBkFNlCLgPKN003pXaJ13c3sMBO5iB4cmR
	 hDLQpgt7qlF5RnhXKZicYwPs=
Date: Mon, 13 Nov 2023 19:29:47 +0100
From: Borislav Petkov <bp@alien8.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Xin Li <xin3.li@intel.com>, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org,
	linux-hyperv@vger.kernel.org, kvm@vger.kernel.org,
	xen-devel@lists.xenproject.org, tglx@linutronix.de,
	mingo@redhat.com, dave.hansen@linux.intel.com, x86@kernel.org,
	luto@kernel.org, pbonzini@redhat.com, seanjc@google.com,
	peterz@infradead.org, jgross@suse.com, ravi.v.shankar@intel.com,
	mhiramat@kernel.org, andrew.cooper3@citrix.com,
	jiangshanlai@gmail.com, nik.borisov@suse.com
Subject: Re: [PATCH v12 19/37] x86/fred: Update MSR_IA32_FRED_RSP0 during
 task switch
Message-ID: <20231113182947.GEZVJrGyMS4KzQafIK@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-20-xin3.li@intel.com>
 <20231113093742.GAZVHuZk9CGTRIfAWb@fat_crate.local>
 <3BFEBDE8-6F90-43A5-AE34-07B0ED0CAAAE@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <3BFEBDE8-6F90-43A5-AE34-07B0ED0CAAAE@zytor.com>

On Mon, Nov 13, 2023 at 12:36:04PM -0500, H. Peter Anvin wrote:
> A resource cannot be consumed after the value has been written; this
> is the only necessary level of serialization, equivalent to, say, RAX.

Lemme see if I understand this correctly using this context as an
example: after this MSR_IA32_FRED_RSP0 write, any FRED events determined
to be delivered to level 0 will use this new task stack ptr?

And since the new task is not running yet and the old one isn't running
either, we're fine here. So the "serialization point" I was talking
about above is bollocks.

Close? :)

> A serializing instruction stops the entire pipeline until everything
> has retired and any stores have become globally visible.

Right, we don't need that here.

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 18:44:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 18:44:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631970.985751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2buv-0001fd-9k; Mon, 13 Nov 2023 18:44:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631970.985751; Mon, 13 Nov 2023 18:44: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 1r2buv-0001fW-75; Mon, 13 Nov 2023 18:44:13 +0000
Received: by outflank-mailman (input) for mailman id 631970;
 Mon, 13 Nov 2023 18:44: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=ofAX=G2=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r2but-0001fQ-C0
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 18:44:11 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1742ae2-8254-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 19:44:09 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-507bd19eac8so6375603e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 10:44:09 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 j12-20020a056512108c00b005041ad95b20sm1045857lfg.9.2023.11.13.10.44.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 13 Nov 2023 10:44:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1742ae2-8254-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699901049; x=1700505849; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=kDPmnpjdTP24Yy5dUEZ4SxqnVnY2GT/XlRMac0eVwdo=;
        b=CGz7a7nDXPKOuQvbsP/1vBzqz47x7CcUsEmQnWf4qJimhXJsO9K9Lg9dfyTXlXchzi
         74Jjt4pSbzJbF5ejk0vzUfWkuAResRuH5S1idUehUOkb2/sULi4woGnyjltOFUrSS4DN
         DlYKKC4mPlbCGzBueGU2pjCt5CL23ZU9x2BCsfrnoUrXcdOKE6D3hHFmgxTn55FB2Ekx
         Hvq+C8QwUHNYCtRbxDGoqv8gecDKkPc0nv9iBwWlgSLiEB9rIEeSJQQt97CzTFy+UJs3
         zECgKC9TLfFMHcLMw8n3yBYSNUSw2sHCxafxRog/H44yWwsKk7rjYkhHw2T0UDfM4Uk7
         FVKQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699901049; x=1700505849;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=kDPmnpjdTP24Yy5dUEZ4SxqnVnY2GT/XlRMac0eVwdo=;
        b=mUPruOFlvEuh+yq3E6PvFAAh5lJVPy29RcUHmYMdA2M6WCgv8xX+dJtBV3HDLzZMQv
         /4iE3Qd91y46xXZkQXVVzdnaPqVspUE2QybaX3b9U/4z7+zM1VZb39bH2eaI8PCGjDxO
         IM14Nu0JIcUIvS/jGAhszi1WJ35FQiabhQ7LMPmle0mOH/XPezzulKxyKXYGtE/A2Rm+
         WnCcg63Mn8hrW9puYzz7oxPevNWTgwHM+YDDrdGlebT+K4JZVj9Oyl0eLNj8qa0D4/NY
         hN3NxM43Oiy2S+WREA6YaHrAeg51Ch4if73I4Oh1wQ5MaXdr4RpnYr2Wpi00iGrVFodY
         H0+g==
X-Gm-Message-State: AOJu0Yz8KwNZP+0e5Z8qb5bGJp53ZHJpG8jprIYNhGIUdJWz9YpDPVNa
	EGsWBAtQ66Ux4Xm/tWC+bGs7u+q1RVw=
X-Google-Smtp-Source: AGHT+IE9hHSzMcXEe6H6PE/fKQaTfhydpW2C7myxbIsV3lNF8YWcAn7Jqrgt5HNVK27tKMnMVCryTw==
X-Received: by 2002:ac2:562c:0:b0:508:1a25:b092 with SMTP id b12-20020ac2562c000000b005081a25b092mr5001458lff.24.1699901048616;
        Mon, 13 Nov 2023 10:44:08 -0800 (PST)
Message-ID: <8ee78d91c856d4db0ce437902a0f9b4f82f807ee.camel@gmail.com>
Subject: Re: [PATCH v2 06/15] xen/asm-generic: ifdef inclusion of
 <asm/mem_access.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>, Alexandru Isaila
	 <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	xen-devel@lists.xenproject.org
Date: Mon, 13 Nov 2023 20:44:06 +0200
In-Reply-To: <c6b6d20a-cdd9-7502-a221-7b24c6d4c584@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <7ab8ce9ca633a5a7e5212d0acc62d6e1d4688ca0.1699633310.git.oleksii.kurochko@gmail.com>
	 <e66e60744fe517c09ea16efc69cc329443025ef1.camel@gmail.com>
	 <c6b6d20a-cdd9-7502-a221-7b24c6d4c584@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-11-13 at 18:01 +0100, Jan Beulich wrote:
> On 11.11.2023 11:24, Oleksii wrote:
> > This patch should be reworked as it fails Arm builds:
> > https://gitlab.com/xen-project/people/olkur/xen/-/pipelines/1068867920
>=20
> Took me a while to actually find the error. Would have been nice if
> you
> had explained what's going wrong, supplying the link only as extra
> info.
Sorry about that. I'll be more precise with links next time! But the
issue is exactly what you wrote below ( with p2m_mem_access_check and
some others from <asm/mem_access.h> ) .

>=20
> > It looks like it is not possible just to #ifdef CONFIG_MEM_ACCESS.
> >=20
> > An empty asm-generic mem_access.h will be better solution.
>=20
> I remain unconvinced. The issue looks to be with
> p2m_mem_access_check().
> One solution would be to move that declaration into the common
> header.
> But there's no common code referencing it, so Arm's and x86's version
> might as well diverge at some point. Hence from my pov it again boils
> down to Arm's traps.c including asm/mem_access.h explicitly, to bring
> the declaration in scope. None of the common files really have a need
> to have a dependency on the arch-specific header when MEM_ACCESS=3Dn.
I started to do that in that way you mentioned.

It should be included in 2 files, at least: p2m.c and traps.c.
I am finishind the testing if it is enough.
If it is enough, I will send a separate patch.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 18:44:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 18:44:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631972.985762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2bvf-0002AU-JA; Mon, 13 Nov 2023 18:44:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631972.985762; Mon, 13 Nov 2023 18:44: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 1r2bvf-0002AN-Fw; Mon, 13 Nov 2023 18:44:59 +0000
Received: by outflank-mailman (input) for mailman id 631972;
 Mon, 13 Nov 2023 18: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=dHgb=G2=zytor.com=hpa@srs-se1.protection.inumbo.net>)
 id 1r2bve-00024C-O9
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 18:44:58 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd300e57-8254-11ee-98db-6d05b1d4d9a1;
 Mon, 13 Nov 2023 19:44:57 +0100 (CET)
Received: from [127.0.0.1] ([12.186.190.2]) (authenticated bits=0)
 by mail.zytor.com (8.17.1/8.17.1) with ESMTPSA id 3ADIiKRh2900126
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
 Mon, 13 Nov 2023 10:44:22 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd300e57-8254-11ee-98db-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 3ADIiKRh2900126
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2023111101; t=1699901063;
	bh=FZE+FvSi6u4aQFLQvHgrOHd7TQi6rWLbKXOmD09TF6A=;
	h=Date:From:To:CC:Subject:In-Reply-To:References:From;
	b=XP5HoQ/rQHS15agijE/mnW3jN8y4uCAoW8X5d8XFs0CUk179eFq5XfZchanqbWRMg
	 1dNreqvOo1zuUZh/Cisg3yiuyTFfDyfBKKXsNav4XBFDxISWs69itzLxvtfzynAgae
	 BIsY/BMBIQ14ziU737No8xPdvsyWFsjL14tgY92zW0s4Wz6Srwvvu4wNamTPrso+9C
	 PxJJLl6T/qmtDmITfvCS64AxrftdWcfgnLw7rNI4DtyANy9HkrzafVXeYLot/P+CKr
	 KfZcEJo+JA0pZ07T9SHlxFivjRwRjb5n4V3Q1F6FpHsAfrRWUU9HShUuJ3vJdE6KBp
	 4WHDAyICARajw==
Date: Mon, 13 Nov 2023 13:44:11 -0500
From: "H. Peter Anvin" <hpa@zytor.com>
To: Borislav Petkov <bp@alien8.de>
CC: Xin Li <xin3.li@intel.com>, linux-doc@vger.kernel.org,
        linux-kernel@vger.kernel.org, linux-edac@vger.kernel.org,
        linux-hyperv@vger.kernel.org, kvm@vger.kernel.org,
        xen-devel@lists.xenproject.org, tglx@linutronix.de, mingo@redhat.com,
        dave.hansen@linux.intel.com, x86@kernel.org, luto@kernel.org,
        pbonzini@redhat.com, seanjc@google.com, peterz@infradead.org,
        jgross@suse.com, ravi.v.shankar@intel.com, mhiramat@kernel.org,
        andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
        nik.borisov@suse.com
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_v12_19/37=5D_x86/fred=3A_Update?= =?US-ASCII?Q?_MSR=5FIA32=5FFRED=5FRSP0_during_task_switch?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231113182947.GEZVJrGyMS4KzQafIK@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com> <20231003062458.23552-20-xin3.li@intel.com> <20231113093742.GAZVHuZk9CGTRIfAWb@fat_crate.local> <3BFEBDE8-6F90-43A5-AE34-07B0ED0CAAAE@zytor.com> <20231113182947.GEZVJrGyMS4KzQafIK@fat_crate.local>
Message-ID: <78A17F3A-B373-4277-8D72-A47CA84E29D8@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

On November 13, 2023 1:29:47 PM EST, Borislav Petkov <bp@alien8=2Ede> wrote=
:
>On Mon, Nov 13, 2023 at 12:36:04PM -0500, H=2E Peter Anvin wrote:
>> A resource cannot be consumed after the value has been written; this
>> is the only necessary level of serialization, equivalent to, say, RAX=
=2E
>
>Lemme see if I understand this correctly using this context as an
>example: after this MSR_IA32_FRED_RSP0 write, any FRED events determined
>to be delivered to level 0 will use this new task stack ptr?
>
>And since the new task is not running yet and the old one isn't running
>either, we're fine here=2E So the "serialization point" I was talking
>about above is bollocks=2E
>
>Close? :)
>
>> A serializing instruction stops the entire pipeline until everything
>> has retired and any stores have become globally visible=2E
>
>Right, we don't need that here=2E
>
>Thx=2E
>

Yep!


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 19:05:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 19:05:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631976.985772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2cFe-0002UK-3n; Mon, 13 Nov 2023 19:05:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631976.985772; Mon, 13 Nov 2023 19: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 1r2cFe-0002UD-0v; Mon, 13 Nov 2023 19:05:38 +0000
Received: by outflank-mailman (input) for mailman id 631976;
 Mon, 13 Nov 2023 19:05: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=GGJv=G2=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r2cFc-0002Sm-Ih
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 19:05:36 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2061c.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9d775a28-8257-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 20:05:32 +0100 (CET)
Received: from MW4PR04CA0328.namprd04.prod.outlook.com (2603:10b6:303:82::33)
 by IA1PR12MB6580.namprd12.prod.outlook.com (2603:10b6:208:3a0::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Mon, 13 Nov
 2023 19:05:28 +0000
Received: from CO1PEPF000042A7.namprd03.prod.outlook.com
 (2603:10b6:303:82:cafe::87) by MW4PR04CA0328.outlook.office365.com
 (2603:10b6:303:82::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29 via Frontend
 Transport; Mon, 13 Nov 2023 19:05:27 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000042A7.mail.protection.outlook.com (10.167.243.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.14 via Frontend Transport; Mon, 13 Nov 2023 19:05:27 +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.2507.32; Mon, 13 Nov
 2023 13:05:26 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Mon, 13 Nov
 2023 11:05:26 -0800
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 13:05:24 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d775a28-8257-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UoGskbkWvri6yInXm9yZAjjy77NmITKsaLpg8cby9GSmDMeBzQ7M18J5qk2lapEUZEjcF1udKh82fFTu8wh0jVz+4uj38krkv4ULPBzd4jQtZGu1iM20Wza8VviaTEIJ5SIV5dbhv6TI9uvdfni6/BlDwksM05TNalWXQQWhRBMbr2VNQ+NTLxp6BMUZG/Wrff7Oiebs3Xmclj6e+k0mtJoI1ZaCgSw+IAZzLFOn/zauK7moc1h+0KgTTsZmblUyziVFsauPAzy2oTpyIvGUtR/oGUpHVit6ttJfi/wBr+dok9PNB5yIon+gdMDpYbXgz5IjXuWXnhNXeTWiXGUhNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UCe4eD9oaRB62GlGJ28XMi+rUooA+Gc1m8/hClXDXBM=;
 b=TIf+f3iLJi8qGJX4sUaaAh/63XnNCa+OUrlJnXfbPTTihg7+dglUEtu+zAXwydGCsQou4DuoBa640/tMiGzAvOG2TV00cCpKLO0qjhBDTWRelsmduj3gS1RrZs6AnswuQ9a0MD57rjbS9XOIvcfDWH/OPylj13oAlT5/+aq1HHcu+jawEHHadEsizS1i2t6cWArXvNL3mDevFOrsliFrCvN+R+SS4/cMrfZcbTY+qRcYCLkfmfbInB5jUfs6aWdBln9Om2ZbY8j5pa8hBF25u39gZzeJrfrDesBQyTmOzZWGQJrWmvUd2QEkJId2ErAuq/qXgfsGG7lLxLIOZJH03w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=UCe4eD9oaRB62GlGJ28XMi+rUooA+Gc1m8/hClXDXBM=;
 b=XwRdcLyCRWRctxNkWv4kBgyrEItMGF/RHw/4xqfO5LMHKwvvpeBhyR+TiV0YqjDCgK7nq1YHrJ9JVXJKKENHouJdsO00nGDKNJP+osx9OdharQIsUq0wVHgvhP473kA4HG8lqFxtkUtd4xfTB0OT8KytSX7H9MVS8lzpaPaYQDo=
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: <8fdb7e15-d5a7-46c9-bcde-53e4adac1ade@amd.com>
Date: Mon, 13 Nov 2023 14:05:23 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 2/5] xen/vpci: move xen_domctl_createdomain vPCI flag
 to common
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, "Juergen
 Gross" <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	=?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, "Oleksandr
 Andrushchenko" <oleksandr_andrushchenko@epam.com>, Rahul Singh
	<rahul.singh@arm.com>, Christian Lindig <christian.lindig@cloud.com>,
	<xen-devel@lists.xenproject.org>
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
 <20231102195938.1254489-3-stewart.hildebrand@amd.com>
 <3f949fae-da52-7a8d-ad87-8fe84eeba8a2@suse.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <3f949fae-da52-7a8d-ad87-8fe84eeba8a2@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A7:EE_|IA1PR12MB6580:EE_
X-MS-Office365-Filtering-Correlation-Id: 63cfc274-aaab-44fe-6905-08dbe47b7fb9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nAqetug/1gpIrn/xK6poEozclY9rAbu4pwgzG9iYu7CgwRE4eRYGBeFV5stmeaFTUlp/7/IYWXy6nlwpuUYmzqR462OASHBOKbOjaG6NpY7czO4nm7mPrcGpZ636qp0nqIP7Fkg/WVbeuzZYjuNpWY47Xzw1z1eft9CpZmSiW8DogdE93BZTjIFZGGm/arM6zzCOW5wMUxara7oAcim83S72FvP9rk5DtGhIi5ZzIAdh95EwrEw+Q9a54cdGyDJB5Ojk0+MRgqhR3Sy81S6DPoQEvCuji3rhF+2MImHVRzNILf2W3e7NYH0aaHS5xnAtdtEspL13BZIkA3Hh9LuV/t+xJHt2ATcsg8QrZiKDeCX+Bcq8xcglnzYJ0w+nhejLNYkFSQH62ZXFU0Nf/bgPjcD6RAP/ooTElE1iL3+OXPE692Ua8tvy5sdfCKNuaQO6BZDSXBaM/NMpKnkaScEvFtNKt98vQAaSxoAgndpKJFfzJmpIJI29dUuc/6VWAfRLuvjEdQJabTGnDjOHjsTBcKwcLTzdpBCw3hk3kPDfaKmGiU1ht0J2Ot6+ijoYSlJj9rPd5YKP8ja8ApG4W2rzWRlGjTPWK4S3+d5mhaVUODZtfps8NMRmJXbUvgmOkY/u4cYLmHPuSaV2yQEJwPshFizaxQEpVzn3HpyPVCl3VjDjrbHIeRh9zw3Tor2pCRXwQhy/3UhouHYcLFim2XsavAAaHIsPFszZ5712lNG+oHiImj/rKUylUOiHQ6SuQhgDgU4VGtt+QLVJOUCVCopPobnYIKG/xF1iVT6ok5Fl8bs=
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:(13230031)(4636009)(346002)(39860400002)(396003)(136003)(376002)(230922051799003)(64100799003)(1800799009)(82310400011)(186009)(451199024)(40470700004)(46966006)(36840700001)(2616005)(26005)(336012)(426003)(47076005)(36860700001)(53546011)(83380400001)(7416002)(5660300002)(44832011)(2906002)(41300700001)(966005)(478600001)(16576012)(8676002)(8936002)(4326008)(70206006)(70586007)(316002)(6916009)(54906003)(40460700003)(81166007)(356005)(82740400003)(86362001)(36756003)(31696002)(31686004)(40480700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 19:05:27.6306
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 63cfc274-aaab-44fe-6905-08dbe47b7fb9
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:
	CO1PEPF000042A7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6580

On 11/13/23 08:26, Jan Beulich wrote:
> On 02.11.2023 20:59, Stewart Hildebrand wrote:
>> --- a/tools/libs/light/libxl_x86.c
>> +++ b/tools/libs/light/libxl_x86.c
>> @@ -8,13 +8,16 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
>>  {
>>      switch(d_config->c_info.type) {
>>      case LIBXL_DOMAIN_TYPE_HVM:
>> -        config->arch.emulation_flags = (XEN_X86_EMU_ALL & ~XEN_X86_EMU_VPCI);
>> +        config->arch.emulation_flags = XEN_X86_EMU_ALL;
>> +        config->flags &= ~XEN_DOMCTL_CDF_vpci;
>>          break;
>>      case LIBXL_DOMAIN_TYPE_PVH:
>>          config->arch.emulation_flags = XEN_X86_EMU_LAPIC;
>> +        config->flags &= ~XEN_DOMCTL_CDF_vpci;
>>          break;
>>      case LIBXL_DOMAIN_TYPE_PV:
>>          config->arch.emulation_flags = 0;
>> +        config->flags &= ~XEN_DOMCTL_CDF_vpci;
>>          break;
> 
> Why all this explicit clearing of XEN_DOMCTL_CDF_vpci? I can't even spot
> where the bit would be set.

You're right, it's not being set currently, so no need to explicitly clear the bit here. I'll remove.

> 
>> --- a/tools/python/xen/lowlevel/xc/xc.c
>> +++ b/tools/python/xen/lowlevel/xc/xc.c
>> @@ -159,7 +159,10 @@ static PyObject *pyxc_domain_create(XcObject *self,
>>  
>>  #if defined (__i386) || defined(__x86_64__)
>>      if ( config.flags & XEN_DOMCTL_CDF_hvm )
>> -        config.arch.emulation_flags = (XEN_X86_EMU_ALL & ~XEN_X86_EMU_VPCI);
>> +    {
>> +        config.arch.emulation_flags = XEN_X86_EMU_ALL;
>> +        config.flags &= ~XEN_DOMCTL_CDF_vpci;
>> +    }
> 
> Same question here then.

Same answer here.

> 
>> @@ -575,6 +577,18 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
>>          return -EINVAL;
>>      }
>>  
>> +    if ( vpci && !hvm )
>> +    {
>> +        dprintk(XENLOG_INFO, "vPCI requested for non-HVM guest\n");
>> +        return -EINVAL;
>> +    }
>> +
>> +    if ( vpci && !IS_ENABLED(CONFIG_HAS_VPCI) )
>> +    {
>> +        dprintk(XENLOG_INFO, "vPCI requested but not enabled\n");
>> +        return -EINVAL;
>> +    }
> 
> Maybe flip the order of these checks? But I'm uncertain about the first
> one anyway: Isn't this something that needs deciding per-arch?

In v4, the equivalent of the ( vpci && !hvm ) check was indeed in xen/arch/x86/domain.c:emulation_flags_ok(), but it seemed there was a suggestion that it be moved to common code... See discussion at [1]. How about putting it back into xen/arch/x86/domain.c, in arch_sanitise_domain_config(), not emulation_flags_ok()?

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg02345.html

> 
>> --- a/xen/include/public/arch-x86/xen.h
>> +++ b/xen/include/public/arch-x86/xen.h
>> @@ -283,15 +283,12 @@ struct xen_arch_domainconfig {
>>  #define XEN_X86_EMU_PIT             (1U<<_XEN_X86_EMU_PIT)
>>  #define _XEN_X86_EMU_USE_PIRQ       9
>>  #define XEN_X86_EMU_USE_PIRQ        (1U<<_XEN_X86_EMU_USE_PIRQ)
>> -#define _XEN_X86_EMU_VPCI           10
>> -#define XEN_X86_EMU_VPCI            (1U<<_XEN_X86_EMU_VPCI)
> 
> This, aiui, being the reason for ...
> 
>> --- a/xen/include/public/domctl.h
>> +++ b/xen/include/public/domctl.h
>> @@ -21,7 +21,7 @@
>>  #include "hvm/save.h"
>>  #include "memory.h"
>>  
>> -#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
>> +#define XEN_DOMCTL_INTERFACE_VERSION 0x00000017
> 
> ... this bump, I wonder whether nevertheless we wouldn't better leave a
> comment there to indicate that bit 10 better wouldn't be used again any
> time soon.

I'll add a comment (above, in arch-x86/xen.h)

> 
>> @@ -55,9 +55,12 @@ struct xen_domctl_createdomain {
>>  #define XEN_DOMCTL_CDF_nested_virt    (1U << _XEN_DOMCTL_CDF_nested_virt)
>>  /* Should we expose the vPMU to the guest? */
>>  #define XEN_DOMCTL_CDF_vpmu           (1U << 7)
>> +/* Should vPCI be enabled for the guest? */
>> +#define _XEN_DOMCTL_CDF_vpci          8
> 
> What is this needed for besides ...
> 
>> +#define XEN_DOMCTL_CDF_vpci           (1U<<_XEN_DOMCTL_CDF_vpci)
> 
> ... its use here? Imo like was done for vpmu, there should be only one
> new identifier. As an aside, there are blanks missing around <<.

OK, I'll fix this

> 
>> --- a/xen/include/xen/domain.h
>> +++ b/xen/include/xen/domain.h
>> @@ -51,6 +51,9 @@ void arch_get_domain_info(const struct domain *d,
>>  
>>  #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
>>  
>> +#define has_vpci(d) (((d)->options & XEN_DOMCTL_CDF_vpci) && \
>> +                     IS_ENABLED(CONFIG_HAS_VPCI))
> 
> Aiui the IS_ENABLED() is wanted so where suitable code conditional upon
> this predicate can be eliminated by the compiler. Question is whether
> we can't achieve this by, say, overriding XEN_DOMCTL_CDF_vpci to 0 in
> such cases (without touching what you add to the public header, i.e.
> not as easy as what we do in xen/arch/x86/include/asm/domain.h for
> X86_EMU_*).

I had only added the IS_ENABLED() here due to some (unnecessary) related changes in the later patch ("xen/arm: enable vPCI for domUs"). I hadn't considered the compiler optimization aspect. I can understand the potential benefit, but I'm not ready to introduce such complexity at this time. I'm in favor of "simpler is better" in this case, so I'll change it back to how it was in v4:

#define has_vpci(d) (!!((d)->options & XEN_DOMCTL_CDF_vpci))

> 
> Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 19:40:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 19:40:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631981.985782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2cmx-0000CG-Mn; Mon, 13 Nov 2023 19:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631981.985782; Mon, 13 Nov 2023 19: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 1r2cmx-0000BP-Ia; Mon, 13 Nov 2023 19:40:03 +0000
Received: by outflank-mailman (input) for mailman id 631981;
 Mon, 13 Nov 2023 19:40: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2cmv-0008DL-MM
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 19:40:02 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d293aa5-825c-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 20:39:57 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2cma-00G5fM-4F; Mon, 13 Nov 2023 19: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>
X-Inumbo-ID: 6d293aa5-825c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=TNulHO67NIckCB8oHPrROeoDh3QBnKCESKDLV560ROg=; b=VLEbrmDpvYCyLJf0Y3MoYe5jes
	S3c4+/lo9pwqRveNzHcGLkTpbGH8eXlVvhfuxf37IrmEhGvuxxST00XTNSoaQx3QVloN9tsgB6uzN
	iJ9oQCTRoVd5CM9mot54DM+LEJwkSWSPAAejeX9eCRUPHNJNOl/IBC5DetRQWSjonfx/mTqykD1dB
	amGx/xWPiMnH27papNLDaOv/0CamlDDAR/08hHNpVsAOymM5o5IlcD7u+YovzRGTxpllMi0UB6PTG
	55C/sMUw32IvQlctlb229s0Adr8pNS3G9n+e4AnzFtYVdED031dfxGeZijNYgZfPfCnTQUOzg6YLl
	+f3k1V1Q==;
Message-ID: <15b379e44cca703ddcbc7f93db3e9cdbc04b8305.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 05/10] hw/xen: Use target-agnostic
 qemu_target_page_bits()
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>
Date: Mon, 13 Nov 2023 14:39:34 -0500
In-Reply-To: <20231113152114.47916-6-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-6-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-Ykjvuzguo0f2dUfjNvwE"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> Instead of the target-specific TARGET_PAGE_BITS definition,
> use qemu_target_page_bits() which is target agnostic.
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>

--=-Ykjvuzguo0f2dUfjNvwE
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMTkzOTM0WjAvBgkqhkiG9w0BCQQxIgQgJ+15/aej
gxjORszaOOljsnbif9LyxmsNJAutxuYWcFwwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgApIhaarkalFWI1YN4BDdTs8A3Isb4jzkZx
dNJFAOO2jqyCjgsKcPokt1fBYvfQmPvyEQfacTxzOJWpRRIjGaAj6bqtt3fv3pxTEPnDffYCbPV5
AaCCRa844AvXsJDoyEH8Cq36eSWOfdC7Zv8yXSGV8r8k0gUfuY8X5QqfXrSrDrRtzg/eZO0TEFD4
NBi6QiKh87is5tB9q0Q+pX1CvpW3t/J1gvYNFx8/oAsVzNHLl51mw3hf5iGMtIFA7Mll8U0l+TzH
fkCUBbst0RopEUfUWl64lrxiArj9BrhfjtqyNpD+Bcr8GVUG58VAIjmiDO0QMtPJBgkp5dl8jKEF
lBbzIFmVlHvLXelMxiWtiaBOSYGDUUTDjyUgYlNi2s6VH4ZyhUyJE2N3st+UxX3ypSoAcOmtiwQH
BZjE0AEQ4DRcAGi8eWVrXlpqEfMSKajGTyrEYx4AE82TXNeOQjMPHxqY/Et+1I+nFdwOKLe6e2ZK
8fe0uJbrUFXZuA6wcGawAXo/ZO/LTr/ZrSkRhfWkOUXleV+krJuzOs0VXul7TBaFAqwEZTpfaWr4
3fFPOxNxgMtsRaKH0LRBDCAnQGsVmPEcHUGz48ryDxwIcC2gUeluw/trD0AH7Y4/RcHBPWoRCJGB
6OzQt1sy75liLdAxKae2ZC0TEKXKyXQaGjZLAmokYQAAAAAAAA==


--=-Ykjvuzguo0f2dUfjNvwE--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 19:41:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 19:41:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631985.985792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2co2-0001O3-4y; Mon, 13 Nov 2023 19:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631985.985792; Mon, 13 Nov 2023 19: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 1r2co2-0001Nw-1p; Mon, 13 Nov 2023 19:41:10 +0000
Received: by outflank-mailman (input) for mailman id 631985;
 Mon, 13 Nov 2023 19:41: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2co0-0001MJ-4f
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 19:41:08 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 95dbe2fe-825c-11ee-98db-6d05b1d4d9a1;
 Mon, 13 Nov 2023 20:41:06 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2cns-00G5jd-Mm; Mon, 13 Nov 2023 19:41: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: 95dbe2fe-825c-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=vDojeE+VDCgKD8l9cL6TztmyFKIp3i3VilvUqdl3nZM=; b=l5xmldSO5l7IP+bXut+uIVT9l1
	Bh2K88+FBvrYjSBuW/0xko022SG9cw2zTZX9E3MLg58gXBcLqI/lTlYsJWi07B1f81RfSpxlGG0Qz
	umDJ0QnYSSKr4HvD9Z2HV1eT2fCpvJ5B0Sb6bOc9wEr8eWOPNNk25gdriObNaHYUUiz37sLcf3NbE
	P5hr9Mb5Mq9LpQTNk/YIOVA0qxJLZV/hf8qEIgu3w9SjEr0I1KUf3mLK2NJM0OgUyyrtHtUOaHs0K
	ds94oBh7qP50vUfkwFadk6GylcQul9Zc9s/fXR8GKg+RVsRVaYp1jScos45JZDt95pEO+9h6jcB2A
	W3QiOuJQ==;
Message-ID: <9504dd64e33f63375bf2ca775929bb763d96b86f.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 06/10] hw/xen: Reduce inclusion of 'cpu.h' to
 target-specific sources
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>, Peter Maydell
 <peter.maydell@linaro.org>, Richard Henderson
 <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Date: Mon, 13 Nov 2023 14:40:56 -0500
In-Reply-To: <20231113152114.47916-7-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-7-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-WvCt0F5a/IYZ1lPgeKpC"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> We rarely need to include "cpu.h" in headers. Including it
> 'taint' headers to be target-specific. Here only the i386/arm
> implementations requires "cpu.h", so include it there and
> remove from the "hw/xen/xen-hvm-common.h" *common* header.
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-WvCt0F5a/IYZ1lPgeKpC
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMTk0MDU2WjAvBgkqhkiG9w0BCQQxIgQgM1m9I8J2
6OD3/eEEuDKVBlWoajxtuNhJccXuBhPU4Cgwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAhRegQUatojbl576eH3ps7PLNYs1zi61Tt
ypApUH9RINC+A8KCYkPLjPzdLH+6k2CT2b+JcG949H4EyP5e77HT4uhhYhdLBPsJZaAZsaKHz4cW
EUJaGNsPzgPxbuwjaiRpuFQUXruY/TCxUTq4ROiex6SNZp7/Yj0UihC5CnIkdfn9OUFSS1deJnVU
h6BdH2wojEPanVMCYXMHSMQMUaTL12a5fTWwdEy4bzAD+VJX/TQ+lR0ubuddjuz3QdFeUWZUJwZT
GqIPynFiNOs/fJIJ1CxWO6h/mHkYYacYTj2mWY/X1OFtwcIzVv1+z6qDiEoM4tMby9PDKSLgzze9
eQY+xeU2aKMox81My3WG2ZKKuFeqKr13jXNOXz9vQALkRS8+E/G19ccT3hvb6bIqSpML00DroDkK
YXgriX1LjueK/Skn9tL3ppDJ7ci3P5keJDKSQyMOf1rVuxG/sAkuCKiN7Vd62F+X4QFhSpZ6h8rf
dk4PRepf+gX372VasuzV3AD69w7OGyd66TEpr/CHx3fWJABgnLv+jpwVR4cE4k9NLkfgwbCNyNj3
54DGScJPY8qtY3XXJIT433BlDmLLHfu3HpkMOuB7Ntt0ezBlOlc6kW9+LI5xjjY+QG39lcNTTc1U
Z45jkrfDtPL+BQUWVR2D5cOCeFcb2g/1GAX1Hp0S/gAAAAAAAA==


--=-WvCt0F5a/IYZ1lPgeKpC--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 19:52:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 19:52:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631990.985802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2cz1-0006Bc-51; Mon, 13 Nov 2023 19:52:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631990.985802; Mon, 13 Nov 2023 19: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 1r2cz1-0006BV-21; Mon, 13 Nov 2023 19:52:31 +0000
Received: by outflank-mailman (input) for mailman id 631990;
 Mon, 13 Nov 2023 19:52: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2cz0-0006BP-L1
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 19:52:30 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c1ed920-825e-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 20:52:27 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2cym-00G8Nf-Gp; Mon, 13 Nov 2023 19:52: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: 2c1ed920-825e-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=2MGB1FuhlMyr27jTMcGniLy3acfwzxq3KGBhJEoW/WQ=; b=k8XbWX6SdlzdNuG2Y6DzlkJFMV
	6iNK5VzqQ2cokVq5VLJyB8HCsKSv6rUCt4Ff6OI/rvA9qYL4NmZ0zxJhrr9DU8UE3pTeaTno1hs17
	5trS1n19vccVJlsgRzCa/vR4L1HydR7FBz7l2+duDyMz+DdHgZ3rRTJp+mxwx6QzvR+4XracbZStz
	zpesu3zRyRHROEwjef3h0muNj3gHsbPt4SHXkajRkynNPuWbkmv09R6Q09VpYDtOly1WsYAf4MQMP
	a+3bQPg0x64R9krACQ7Kgx5RwZwIkJXuUZprM1aub8D+JXuEYKNXWXPZPaja6I2nNupIFzeYQXM6T
	DLgJEVMQ==;
Message-ID: <9ba10b4a92ac6782d0c581b1e1ee5d5efee44c33.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 07/10] sysemu/xen-mapcache: Check Xen
 availability with CONFIG_XEN_IS_POSSIBLE
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>
Date: Mon, 13 Nov 2023 14:52:09 -0500
In-Reply-To: <20231113152114.47916-8-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-8-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-ho6uNE8dMLlxbsJOBL+A"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> "sysemu/xen.h" defines CONFIG_XEN_IS_POSSIBLE as a target-agnostic
> version of CONFIG_XEN. Use it in order to use "sysemu/xen-mapcache.h"
> in target-agnostic files.
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

Noting that CONFIG_XEN_IS_POSSIBLE is for Xen accelerator support, and
may not be set in all cases when we're hosting Xen-compatible guests,

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>

--=-ho6uNE8dMLlxbsJOBL+A
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMTk1MjA5WjAvBgkqhkiG9w0BCQQxIgQgW3029mV9
zi6c019ZemSuV1F5eSB3WsrEMLB2P3JeN84wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAYXiVLsHqsEC+Js9XVMiISMMYtrkx4+WER
WF3quUmLxYfMoutix6j9PQencgh3u2YyY0Ht73SFvaWXGaASurinhGoye8XYu7B2/+W9gIMion3J
WIF3NBCYkPztjjiRvdSHdfrpaX4HZ0rnWFyiv03kJb4ntU40PbTBZgOLNd4LNBGioRbFOAu2Ngu+
6lNLXjFrMVAZLeFXamVartkyicaE2SppZkrAL0dKyIbW2GZSjgrHUjh425xKLUf5cPrwpj9XUsIo
xzLSBZg3qVNRBvdLmForU2ap4X6Dy0shxRpygo8RXCC4+WBZKwZHK9mBYCjTtqUmRFu8E5hm7dxg
tLSio0mQ4HKd6T2wkuG735F+gNq5eeB59VHFYWdzxOKOMsWASfmpdtwFOWE3q1e2fjcem0ZaDcY9
ay+fOw6fqibIbt0gctLC65mS0T/n15RI1u+vv6Mezl9m7RCuIBNLvBCoH13x8oNcFVnES+Eq1UTf
aD5x2BUJumYc6WSURqpyrahuruPQzdrftBUg2Dg7lHppsekMXekbz7caDDKHcfN1J5yYp5RA3FpL
tozFGZkNiumi7v5rGnh5vpkYofwpzPq3mT3G06mQI3p4XsSNa64DIaVMkz+qfrSpT2pWze5FbRIM
v3mmnW//T4spmIZ0TdLTomGFQMwVblxp/Kk0mV9e2gAAAAAAAA==


--=-ho6uNE8dMLlxbsJOBL+A--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 20:03:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 20:03:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631994.985812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2d9o-00021T-5H; Mon, 13 Nov 2023 20:03:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631994.985812; Mon, 13 Nov 2023 20: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 1r2d9o-00021M-19; Mon, 13 Nov 2023 20:03:40 +0000
Received: by outflank-mailman (input) for mailman id 631994;
 Mon, 13 Nov 2023 20:03: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2d9n-00021G-Fv
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 20:03:39 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc12464c-825f-11ee-98db-6d05b1d4d9a1;
 Mon, 13 Nov 2023 21:03:38 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2d9b-00GB4z-IQ; Mon, 13 Nov 2023 20:03: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: bc12464c-825f-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=2dt7RjPx38FrZiUBU9K5RW9mFpHeuvrpE3dBpoplUog=; b=FzAqNIgfBnqn1mnBmfjhagZd5j
	Meuu71mdk5Eltlz/NMhrVOGPrQiQfMYXWDil1UIgVCUAd77KTazdiiSxIi3qjrocltWq8BT5R5iFS
	d9Lawh5pwaHDLh3yhf20Qk2c4Q67dy92B0O7dsMYkueqIpxJulc/exOy4xbeqIiN3DicPypn9Nxwz
	WaOHu8nrBQOSdgVIUe4J8jgxs+Zal7TU3sd/fUHL09Y1aIlUoWDQNuKz8NueruLucZnypEVO+kIn8
	Noq62JXnR+aqKa6rvQVoNWHdueoThwhvUJOzAfyKFvJM0SspDhAL+K/C5ljNv4z5kjaPasOwe8QE+
	PQXuUN1g==;
Message-ID: <1681041d88a9f9062170eb6599947e24424bf37f.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 08/10] system/physmem: Only include
 'hw/xen/xen.h' when Xen is available
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>, Peter Xu
 <peterx@redhat.com>, David Hildenbrand <david@redhat.com>
Date: Mon, 13 Nov 2023 15:03:20 -0500
In-Reply-To: <20231113152114.47916-9-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-9-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-iZ/9pSLcedkHP5tz2Zm6"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> "hw/xen/xen.h" contains declarations for Xen hardware. There is
> no point including it when Xen is not available.

... if even when Xen *is* available, AFAICT. Can you just remove the
inclusion of hw/xen/xen.h entirely? I think that still builds, at least
for x86.

>  When Xen is not
> available, we have enough with declarations of "sysemu/xen.h".

... and system/xen-mapcache.h

> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>


--=-iZ/9pSLcedkHP5tz2Zm6
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMjAwMzIwWjAvBgkqhkiG9w0BCQQxIgQgoOXrxgtP
A79vTwMs5GSgPIPk0PRKx4Sx69Sb9kXn5hIwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBMmN2cDXFk2wFF5am6RpsbtdcnV/9EuofW
oMvXFk2wvCfApN8+QUaGr9d6al9Uj+M/nma2E1N1IuCU1rnTsx/gVU9OzSlreJqHB4t2Ws2SGyv0
kjllMO36QhcKw/U9N7zV3zMmL+SKUERmb/Wmoo+toibAHcbk/Pj6mbEHK480HmlhFx5glpmgnsW8
yiG/kIoNeoJozU+Gku3+P+XhoFrdfkY6d9upTiYmQRH4Hc3WzkfheksH/LBM56RwxjKMsA8lb4Ql
Z4wOI4bvAm3+bHpnaWEvSz2B6oUfSMMIhDE58elPv/marHfNfGNBJgigWh/Fy52uxcvdAcwGPQFg
I+q0Wuce+yH7ffQ2JuiCHj1RfzykNJaZ/vdkPT5Nkx1e8eS6xW9EmMI0LvMKfZ9mtcWvXBYoxam4
TMKO6cjck65VxaOS1Mg/qfpZxsgj+Ikf7m0C1QReJT6RmlbMV4UKtKn9LSXmBoYdRYwAJ/5+11Wc
ltEN02XkybhqBnGFXqB54wpJ2TUkZkpwilfG9RFTGqdWX/CeTe4hOWmauMGK7ktZTSLkfSl6qaz5
POlyP/en54bROyCyr8JoS7FpyrtFHEssP/pr3CP1OUcg7MHRNoF8bvwQHgiMJy8db5LiJOc1xORC
0ZFwgwY21FZtcCs/kJOo51FkQdxnZ+XvqxWaSo0V4QAAAAAAAA==


--=-iZ/9pSLcedkHP5tz2Zm6--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 20:10:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 20:10:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.631999.985823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2dFy-0004DD-2N; Mon, 13 Nov 2023 20:10:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 631999.985823; Mon, 13 Nov 2023 20: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 1r2dFx-0004Cp-Sm; Mon, 13 Nov 2023 20:10:01 +0000
Received: by outflank-mailman (input) for mailman id 631999;
 Mon, 13 Nov 2023 20:10: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2dFw-0004BH-Gf
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 20:10:00 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9eec7319-8260-11ee-98db-6d05b1d4d9a1;
 Mon, 13 Nov 2023 21:09:59 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2dFe-00GDYK-II; Mon, 13 Nov 2023 20: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: 9eec7319-8260-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=RPMPzz9i1BequIN2qb1D2kZ94UKPCFkt9Mpn3oIoJKo=; b=OanfNBX7b+eXbQxCggOQL2bnrL
	/CDwSttmzKhHjZqislHPtGGJ49J4QT03wHvWiF7E0dd0oIGpnEXTW/0on+f0gch58aY7xO2hKP5P2
	VR5kNmeauO7WEUo7llMOCj1IZVtpTWF+yoq3XtLIRdDNIiipk9DBDz25lgP5cNGwt3ybYQeoFjNeT
	JhhT3Ts3acAkS0oxRiMPI2eMuRqNduSdlTgtDRL5e8V65yXNPdi8zUny/9+a55nxsxOHxXAYhAMr2
	Z0q2kZELyVvgtXprhygc+1cXNp8FJjVdG3etOqiHYkwODCLEOrFlklfSEvW5sxZZFHvwbxNsnUh8P
	a+W5tAbQ==;
Message-ID: <e9cae2ced357b35d313f601318b51e491ead81c1.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 09/10] hw/xen: Extract 'xen_igd.h' from
 'xen_pt.h'
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>,  Richard Henderson
 <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Date: Mon, 13 Nov 2023 15:09:36 -0500
In-Reply-To: <20231113152114.47916-10-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-10-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-eVaaov3VWp7iZK3p/HAp"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> "hw/xen/xen_pt.h" requires "hw/xen/xen_native.h" which is target
> specific. It also declares IGD methods, which are not target
> specific.
>=20
> Target-agnostic code can use IGD methods. To allow that, extract
> these methos into a new "hw/xen/xen_igd.h" header.
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>

> ---
> What license for the new "hw/xen/xen_igd.h" header?

The existing xen_pt.h came in with xen_pt.c (GPLv2) in commit
eaab4d60d. I think it has to be GPLv2 (and not later) just like
xen_pt.c?


--=-eVaaov3VWp7iZK3p/HAp
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMjAwOTM2WjAvBgkqhkiG9w0BCQQxIgQg/xeb+vWh
AjsJWOHTG4Htv3vvTuidSmbu8iXpLTa3nNIwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBpCGrOlqR09fDF3datn5pMjc7VlbWpE+Bg
xd5M98o43GsYsjVGm9rD1VP1ZiXxEBtAFespxn/vbWnLtJAAztNllqO5mCDPRZ+YukadXJ+1RIbS
CUD1hR4IGrKQDdmoBBrTN+63zcSiihj4IR20iI4EZwLYZI9rIBa1s3Fl7siKEcKk9TjG+x0W6KZk
wkEcbSGOYzewdC/2FCZtvHK42Ryl0b0nklQWa1tlJT0uR5UOWiIIiQ/BgKmSF+b1kV9VRdkiu4r1
qi/KbS8l3fKOAyNuSC/H8l0ZYMBn+VxraLf7LdDyOaf2Z3SxXdcD+lApAsrGgDIMN+D9og082THM
neQrJoiZesFiPMox2AJ9FJUmJgXOJEyvyV5FQ0hdaNG5lVxUg6qzSn7DOJPeDhSQ8EvwWnLpiM71
epHujsENsbtJAo3GQnxBHcpzNiX09k8emUXaIZboBpRWBO/XJQ3qhUcgjPMHL6Od9GtR0RGeNr69
pnvgHw6W2A22ZM3S8zOj/FjfprkQzMT65FbulqXglZuVOxGg2129Kn5AuiRMePPUwRa7zh/VfFRr
dDNGRLgd9hWNoz3/xUs5hkwiSxTYF4pOSD+xlV2l3bnTFwB4QANsYb5Os5cg27d4VyuB+nB8dgEp
t1aEPpuEZSDqDKEP9LB8inSmBgsODIU6ZOsBndnXtwAAAAAAAA==


--=-eVaaov3VWp7iZK3p/HAp--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 20:12:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 20:12:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632001.985831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2dIM-0006Na-Bn; Mon, 13 Nov 2023 20:12:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632001.985831; Mon, 13 Nov 2023 20:12: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 1r2dIM-0006NT-9A; Mon, 13 Nov 2023 20:12:30 +0000
Received: by outflank-mailman (input) for mailman id 632001;
 Mon, 13 Nov 2023 20:12: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2dIK-0006NL-M5
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 20:12:28 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f5ae9168-8260-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 21:12:24 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2dIA-00GDfw-00; Mon, 13 Nov 2023 20:12: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: f5ae9168-8260-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=sQm/Tabsg7dO3SHwFkRkAeXj69ouuRh5ESlA3ivn13g=; b=labIxc4ZcCZU2BQlMoZnuQ1rx4
	8o1bTJSSKq3rM+ZUgNxxfNFtlo68q2GDBPHM7/MRn/iDC2lRKZ81gIz3VpIeCAhUcNgfNVQkwNJWC
	2PfJc2PhAEv3ma7I9L69IjuEuSsv3Due2N8XX2ME5B/4IMmQPi5tW582ScmzbEv4AtM6LiKLahD7m
	9LnscN8esKs0o4yLBdDw0XiescaJYaqLHaUDaVc1zJ9G7AOG7/TtdOKKWWt6Xw7e9fw+tT7JqBPO8
	pz5/gbArWSSN84tUq/vqzTraRjLfU4hK+LQUjGTl/JIWsOagQG7CL5fLTY+hv9ZcGnYHqELeNF4vR
	8A1xBdvA==;
Message-ID: <e761956a53b769ab0ccedaa985eea0dcacd70990.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 10/10] hw/xen: Have most of Xen files become
 target-agnostic
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>,  Stefan Hajnoczi
 <stefanha@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz
 <hreitz@redhat.com>
Date: Mon, 13 Nov 2023 15:12:14 -0500
In-Reply-To: <20231113152114.47916-11-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-11-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-1qdYEFrlmqNAZQBgEn0B"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> Previous commits re-organized the target-specific bits
> from Xen files. We can now build the common files once
> instead of per-target.
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>


--=-1qdYEFrlmqNAZQBgEn0B
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMjAxMjE0WjAvBgkqhkiG9w0BCQQxIgQgEUzKl1UF
mgx/+JB+i5Swm0M0VJt8RVe+QRtaOGU5Wdkwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAX3bFdQMDwX9ixj3RzoEwdJTiSmlmZyYq7
ZsSJlwSGr2p0KMcQYHLWRe+0VPYLTzyJqL8G+PWoN8BojUDwoo6o3dLCMwx0fndekIeAt3EcLc89
NLafPYwUlZ3nNgcHzLHe+yLOivzQLx2vOvOGSFSxHgJBpEtzuzuz5OAeYMen2w4PFjc6ktS9kw2q
lS+D2RK92vTF+3mIM9xnUKNKkECakOL87dY0V86lHS/0itrT0DWlscyYqZTLGq4CtnKbacZlfIhi
tIyFDVhgSE/EqCacG3JGvqCQKiWFwgNsvqIA7d9qwtfnNQY9QxtDIJAm+T2rb06/0eMFy81jgMUw
K4bZzliB+hX6HDSTiY1hwrWMtXh0bvhhGXpPhXDzxfelvhgx2GuGDIt89M8cHeTMmfEvTaHaB8Vt
boh0PbKBxWNUuoaCnveJcX/XWuLBZThC+vj2BVWfxl0krguVoAXycPiBoyBhvwNJwXQT4elLnOkN
bIX5gQbt4nI1k0++5HLgyPvjmpx7NIOOWhlshqIuIGk0TmKabjW4EzqNIxhbgrj45LLwzBqwGaey
gmezTM4DEqeJ6sqIXyYZm+tFgSgNIrxsnk5mBh79iSsuQ7hd4JikNx0p05EkL1HASJ7jziw7ens+
vaZwUv6UWpzdGIIi2tikFS3WqiWZeYmGJ06oZe9oIAAAAAAAAA==


--=-1qdYEFrlmqNAZQBgEn0B--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 20:13:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 20:13:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632005.985842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2dJC-0006uC-Kh; Mon, 13 Nov 2023 20:13:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632005.985842; Mon, 13 Nov 2023 20: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 1r2dJC-0006u5-HY; Mon, 13 Nov 2023 20:13:22 +0000
Received: by outflank-mailman (input) for mailman id 632005;
 Mon, 13 Nov 2023 20: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=lyvv=G2=casper.srs.infradead.org=BATV+4b2d4fa8b3c13737bab4+7386+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2dJC-0006nm-5u
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 20:13:22 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1789ae05-8261-11ee-98db-6d05b1d4d9a1;
 Mon, 13 Nov 2023 21:13:21 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2dJ6-00GDjS-EA; Mon, 13 Nov 2023 20: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>
X-Inumbo-ID: 1789ae05-8261-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=Eys4c6ESkVcAtapstDFBUzMdz6h/SFYbcWiAQBnVE4U=; b=PXhD/gFGjvozECnPYAjRVU88yL
	DXfrm9YWh4uivhUSenDPDYyUXXyAS3U8JVfTOOsXCn35lOa1nok12bTwOBf/ucLo1mXoxssAKAZ7+
	B/3I07Vym1TtQGX+S+D2uvjfsQW5G6sBZ/z+gJ/edAcmMeFpl2E7ln1m5aa90yreep/B/X2/VYhTy
	S19HRD5Evu6y3zYjAiA53sR9C4OEFcFhBkntMzzPDXoBdIHd7gaHWGcbcXCjDeNO0hN3o9Mx3k0wU
	H+XCoFg0zBm5Q0s1i+mye/KH6CnS20j4ssfhdmS4LwsRp07qVAd6gdKuPIow0Sk5zX8vXpPJwR5cS
	SVf020nA==;
Message-ID: <6e9283128175303ecd9f042f40854a08b14eecea.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 01/10] sysemu/xen: Forbid using Xen headers in
 user emulation
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>
Date: Mon, 13 Nov 2023 15:13:12 -0500
In-Reply-To: <20231113152114.47916-2-philmd@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-2-philmd@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-K3DQCzBX2d3e16nNYhJQ"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> Xen is a system specific accelerator, it makes no sense
> to include its headers in user emulation.
>=20
> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro.org>

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>



--=-K3DQCzBX2d3e16nNYhJQ
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTEzMjAxMzEyWjAvBgkqhkiG9w0BCQQxIgQgwLgKgQV1
nuluf1wJ0RV4LJr82RNOKekO4fw0OWjv2rQwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBFUC5/82+ok9sTIvJXIC9H5HjGbcyAHtMr
PBoE4v+Vp2Y/f1LYr/9pA1ok6N94diFFkKCVFH5CaInbgm5Y00e3AF8k+tqX306GjDwRPT+F/Fwb
ke5pyDG1WQ+IZEUSs0V6JXB9PkMMUU4b3KhDTYq2w+nSesTs1dV5VChaZA7RdWFAgPRcuQ6vuHAS
4etNC8VGRwYCv98V2y+it7bcFYSZvj5b/XSdvQqK9soN4J5+t8M/mVy4xpsWmOXRYe0uKnxovwMs
EGnQJoKlylMP8e5w97Jh4bzckdi9Dm/K8Mi3e3aXOjGFNT1R4tjVpnS34jQhLky0v6oZ+5wTx9vF
APDK6an7Fdm53hgKhRPeUPxOGPy0qJ9ML/WJYaEZgmOIbdwJ9bOY5pr4xTM8tCDlRS1UCRH3MItv
PH6L1OTEc4q+5fwfpuqD1y59EwcEn1m4/nfynIBrMTRN4wygGtKAb4+Y5vKr3z3yd4MW3507Akp6
9haCHpndR+H9gllZRx/Pizlv6B9TQiBE29+fSypE2a1ln0lj2G9pHIaPdyhZvjMfw6WwgEmMrnw+
aJIRz24O0/6e7FFRCtCOa0iyfo6gNKpdKxCoTvlekI1eGMM62Z7viQtKBGhUbb2h3VPw8b9XiX3X
Ob42mbmvCa5wM30HbE/cJYU3mXk0ihfJXPPGlUpn3AAAAAAAAA==


--=-K3DQCzBX2d3e16nNYhJQ--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 21:11:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 21:11:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632010.985852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2eCj-0007xr-SJ; Mon, 13 Nov 2023 21:10:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632010.985852; Mon, 13 Nov 2023 21:10: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 1r2eCj-0007xk-PZ; Mon, 13 Nov 2023 21:10:45 +0000
Received: by outflank-mailman (input) for mailman id 632010;
 Mon, 13 Nov 2023 21: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=GGJv=G2=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r2eCi-0007xe-9r
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 21:10:44 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20612.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a0b30e2-8269-11ee-98db-6d05b1d4d9a1;
 Mon, 13 Nov 2023 22:10:42 +0100 (CET)
Received: from DS7PR03CA0076.namprd03.prod.outlook.com (2603:10b6:5:3bb::21)
 by IA1PR12MB6283.namprd12.prod.outlook.com (2603:10b6:208:3e5::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 21:10:39 +0000
Received: from DS3PEPF000099D8.namprd04.prod.outlook.com
 (2603:10b6:5:3bb:cafe::d4) by DS7PR03CA0076.outlook.office365.com
 (2603:10b6:5:3bb::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Mon, 13 Nov 2023 21:10:38 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099D8.mail.protection.outlook.com (10.167.17.9) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.17 via Frontend Transport; Mon, 13 Nov 2023 21:10:38 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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.2507.32; Mon, 13 Nov
 2023 15:10:38 -0600
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.2507.32; Mon, 13 Nov
 2023 15:10:38 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 15:10:36 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1a0b30e2-8269-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PmJACO+7ozQUDefe31FRQrwQZaouYUdqUvNLv3OjCDp7v8wBd1FCTRLrNY/4iQP4pUDltS7eP59QwXwJtHfVOLI4CsTGJWf4xFGESEYKCK/0iy583vYZwlRslM9JQbF4E6Htdj1GPskBMUD4jaDY1kdPeQ5ahsEDZF74j2hd0mB35b3/V+yGYj9k+uzMMyTRnsBoqDxZMJXLS+yL+x7cOzIp73zdoO4fHX8F6P/xilhDuAvQgy9yn1+mJfStExet+lZcSsRwnsvTszbsC3vY87mTx7UWj4rrtZ1KkVqLK5YlqDSYzcG31HZXiiboL/fHEvK/IVjcWRPNiOF5mZk20A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z1BwwMCrX3zZeK2ry3Zu5Y5Nz7sZjmcAyzm0oAA1wO0=;
 b=GW1nxZ9Xx4XD8eFyYP4vl38H8pap2DMk1/jhru3SU1LdjWpXzo5YCymmJUHKil8lO8PKE9jAVeCN7ex1u1nd0v9wSNNWnxOuBPOJxCVB3BT1x0Ln1ptRG8Vk1cH/KU2/a6qSs0vFkQBJr2GODrJoNT9SK2USI6BbS1p17pVv2TU4ToksdOec2tBLE7nPSdn1D0olGx9av1x5zk2urqR346V/pxwZQ6dGZOvtj20MlTyqCOduNIG3PMIJSYviL2+fQXg4K5jVrtYHQUVN+HunvACadrJY289Tt3YO7V7m82Hq56NiculHpfq2EDmM7iPw4qrowWUuQOEI6wEHHfaoNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=z1BwwMCrX3zZeK2ry3Zu5Y5Nz7sZjmcAyzm0oAA1wO0=;
 b=yTL2gq6OD5rOvQa7L5kFBS564B2TV4c3+IRvPIF6GEapUqTwnbsPhigeKGtFGUQv2d3EeHVkP9/h4LBFT0E1L6uEf9jw65RT8X4VEbqPPcTJpbiegCiyHcnwVq08vQBTjVHiE4bGJhowRQG/YvxQI9Q6fI2ZJbdL9SY2/BahSh0=
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: <356283b2-063f-4bd7-b6d4-c45f001f824f@amd.com>
Date: Mon, 13 Nov 2023 16:10:36 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 4/5] [FUTURE] xen/arm: enable vPCI for domUs
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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Wei
 Liu" <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
	Paul Durrant <paul@xen.org>, <xen-devel@lists.xenproject.org>
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
 <20231102195938.1254489-5-stewart.hildebrand@amd.com>
 <72bb9f75-66a2-1452-40af-a90430cf7eca@suse.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <72bb9f75-66a2-1452-40af-a90430cf7eca@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099D8:EE_|IA1PR12MB6283:EE_
X-MS-Office365-Filtering-Correlation-Id: dea78db9-432d-48f0-fc1e-08dbe48cfcaa
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rLRsQeRPAxVZ5WwRTHTRzmgdcbP9aaJaITLrAYpQ5FCu+O6lk7eUw4D/yQrUFMyIWrDs6mR95uijvcymbIG3Bf61tpI0EEfyiGSHIeuRaw6gusiw1w6wXfNvQF+yXbY9Uxu6iWFgy24b2+GC0VpU5l8pY3h4LR42b5ydLTbkyz87eOECMygDeXQxqRlIX7ODG4WfhUZB0Ffg7nRy+EKc1mqd0gAyIl2NLoMbTifBpuEuKT1OQ976S9sAUDgzhrcRTTWTCwNPTsOPxbjIP60WSv3P/XLwPmVHNw3vaYCmBuqg8I8eUIZZV/FaYkXcfIBaiDnKvoGOJ6TDB6kqEQUZobZ+QI7SB7CYd7MNnmJlk8TZLKDDBVF4hjyoIx+02B9DhKKRPAGNsN6sfXW8JopXHkS/HEZHtLocnSVUJ/bMfWSIXdSmCtMxfX28IUMTp01JzDG8eX7sKl2wO9PJs5ShfhQ78H5aJjOHBJccpLrCDHj4oHEIu9qDEqqmGhRkQac0OX/Fjrf69xQWYdRbZxbov+Ugmr7Oipp+BqFkj3ejIsmcv0fwWsQytvEdcnMOfamMeRj2on3duDsMwdTrEn6BghcyDiGInxQjj9Vf7RbzQ2Nb3zxvzBuT4y4VmZEUbTmREsjoLnF+iyyVarRo2o1CwuLzCL6VX959JP46vZm5U/jDzDbMzpeah3CvObiv5pmOGtvSLrpjtRaR5LnC16Kzezcc4Ii89D0K5OldBjhJNZ+aXyu6g5bFIC1B9WuJZG1mXKD/7bJlWLT4RhkelDTOihgrorZ2Tk8FE5x8sO2Oei6TKjL0TTS+9yjn8yQWziPn
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:(13230031)(4636009)(396003)(136003)(376002)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(82310400011)(186009)(1800799009)(40470700004)(36840700001)(46966006)(44832011)(31696002)(40460700003)(4326008)(8676002)(8936002)(36860700001)(26005)(2906002)(5660300002)(2616005)(86362001)(7416002)(82740400003)(66899024)(356005)(426003)(336012)(53546011)(47076005)(81166007)(36756003)(478600001)(41300700001)(31686004)(83380400001)(40480700001)(316002)(6916009)(16576012)(70586007)(70206006)(54906003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 21:10:38.7894
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dea78db9-432d-48f0-fc1e-08dbe48cfcaa
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:
	DS3PEPF000099D8.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6283

On 11/6/23 04:26, Jan Beulich wrote:
> On 02.11.2023 20:59, Stewart Hildebrand wrote:
>> --- a/xen/arch/x86/include/asm/domain.h
>> +++ b/xen/arch/x86/include/asm/domain.h
>> @@ -503,6 +503,15 @@ struct arch_domain
>>  #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
>>  #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
>>  
>> +#define is_pvh_domain(d) ({                                  \
>> +    unsigned int _emflags = (d)->arch.emulation_flags;       \
>> +    IS_ENABLED(CONFIG_HVM) &&                                \
>> +        ((_emflags == X86_EMU_LAPIC) ||                      \
>> +         (_emflags == (X86_EMU_LAPIC | X86_EMU_IOAPIC))); })
> 
> I'm not convinced we want to re-introduce such a predicate; it'll be at
> risk of going stale when the boundary between HVM and PVH becomes more
> "fuzzy".

OK, I'll drop it

> 
>> +/* PCI passthrough may be backed by qemu for non-PVH domains */
>> +#define arch_needs_vpci(d) is_pvh_domain(d)
> 
> Wouldn't we want to check for exactly what the comment alludes to then,
> i.e. whether the domain has any (specific?) device model attached?

This patch is primarily dealing with Arm, so I'm considering simply making it return false for now:

#define arch_needs_vpci(d) ({ (void)(d); false; })

If it needs to be changed in the future when we enable vPCI for PVH domUs, we can deal with it at that time.

> 
>> --- a/xen/include/xen/domain.h
>> +++ b/xen/include/xen/domain.h
>> @@ -51,8 +51,17 @@ void arch_get_domain_info(const struct domain *d,
>>  
>>  #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
>>  
>> -#define has_vpci(d) (((d)->options & XEN_DOMCTL_CDF_vpci) && \
>> -                     IS_ENABLED(CONFIG_HAS_VPCI))
>> +#define has_vpci(d) ({                                                        \
>> +    const struct domain *_d = (d);                                            \
>> +    bool _has_vpci = false;                                                   \
>> +    if ( (_d->options & XEN_DOMCTL_CDF_vpci) && IS_ENABLED(CONFIG_HAS_VPCI) ) \
>> +    {                                                                         \
>> +        if ( is_hardware_domain(_d) )                                         \
>> +            _has_vpci = true;                                                 \
>> +        else if ( IS_ENABLED(CONFIG_HAS_VPCI_GUEST_SUPPORT) )                 \
>> +            _has_vpci = true;                                                 \
>> +    }                                                                         \
>> +    _has_vpci; })
> 
> This is a commonly executed check, and as such wants to remain as simple as
> possible. Wouldn't it be better anyway to prevent XEN_DOMCTL_CDF_vpci getting
> set for a domain which cannot possibly have vPCI?

Yes, agreed, I'll leave has_vpci alone

> 
> Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 21:40:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 21:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632013.985862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2efr-0007eS-8D; Mon, 13 Nov 2023 21:40:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632013.985862; Mon, 13 Nov 2023 21:40: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 1r2efr-0007eL-4c; Mon, 13 Nov 2023 21:40:51 +0000
Received: by outflank-mailman (input) for mailman id 632013;
 Mon, 13 Nov 2023 21:40: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=qPkl=G2=gmail.com=jimmylee4930@srs-se1.protection.inumbo.net>)
 id 1r2efp-0007dy-Pt
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 21:40:50 +0000
Received: from mail-yb1-xb42.google.com (mail-yb1-xb42.google.com
 [2607:f8b0:4864:20::b42])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d19d7d9-826d-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 22:40:46 +0100 (CET)
Received: by mail-yb1-xb42.google.com with SMTP id
 3f1490d57ef6-daf2eda7efaso3420321276.0
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 13:40:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d19d7d9-826d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699911644; x=1700516444; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=lJUBzH3NXkyDH92Fkribtd9MLRLNQId0q9mYvQxZuYQ=;
        b=LZj+KghW2r8LcYOwyNBbatNY2c85pHgcYy78LJiei+Vi+OjFCXx7vwUiclcNPauS6G
         41Q3jqgmRGQOUmQGajjRN20Iz4d+H8eJaz8wYN1NpW783a355yzLaQ6XphsAkhqV1XFZ
         C9vFYKElVe+YyLIvSCPRA4YGEtEvnFvF9n6zzjMK4eHtVzGvc5mLlO34Ig4meJlzmzK+
         2o93Z1MmUE0ddyS6ReduSH+f4PLjJZDA5BjEgm8REh2pIVF3aljIr5TOy2XiFOr0IzIJ
         P+6mNeM3UmufERBeW7i/iCy0QnVBoji0MYKy5XW1TC0a2jzyBurdzWl3Sqsz5QwqLDYs
         6U7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699911644; x=1700516444;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=lJUBzH3NXkyDH92Fkribtd9MLRLNQId0q9mYvQxZuYQ=;
        b=rbGUdx+v/apOi5ZrtusQMVp6D+ucMCRIxfu5DXtcRNjygJhmnI5glSyU/Y9oT6mOBy
         IRv3ZmhWiEnQU0AHiS/6VpEKmBIivhrnn5ohpwiJxjgDMiDY70k4ahvGpl2Pk5adP/hj
         9d8rxahQ6Kr3f8rV1E//b3YOdb304vnb/92AsCFnj71mXVIeeCrXz/XYNyUF9HLyk5dS
         kPIKYAieLdDWfcDMx7K4kEv+8qdDRcv3Y4OlV3NInPSY6UuDurYu4SzJSFGm4WqJPy4F
         VqvSEFxuOzK74U99dXro4vmiWAqHqsARIlnz9Q5SRJKujfHSLBVMSVpvEsgJhpNa2PDw
         eFJg==
X-Gm-Message-State: AOJu0Yz9rz3/Vqev2xhTAMicTOqS0hQYusOiO6224c59kEaQKCj1YhbK
	HsZ50flkSzqZcVAPeRIiGYdHUYx3uT8nAl33MhlC6C6mKXue01o6
X-Google-Smtp-Source: AGHT+IEHGf14xB4nAGp3UPDRHDQfO0wl2sKqRaIPgYFsnlnWujxSzgBSQQq8LpcR5Z2mS17mNgg+UHt/r+Po6f2/0Ns=
X-Received: by 2002:a25:248b:0:b0:dae:e77f:fd96 with SMTP id
 k133-20020a25248b000000b00daee77ffd96mr7434964ybk.27.1699911644541; Mon, 13
 Nov 2023 13:40:44 -0800 (PST)
MIME-Version: 1.0
References: <CAFyR2DVCuDyufB-EWHTSurQ69Dc7PZ9CQZdN_T-Ym2rjVaRPNw@mail.gmail.com>
 <b020592a-d528-d420-9eb2-7b6e39ea1cad@suse.com>
In-Reply-To: <b020592a-d528-d420-9eb2-7b6e39ea1cad@suse.com>
From: Jimmy Lee <jimmylee4930@gmail.com>
Date: Mon, 13 Nov 2023 13:40:33 -0800
Message-ID: <CAFyR2DWo9+NxeyCvExNGmBBXOM85ak8V1UgN56xNfOxBa2BUvA@mail.gmail.com>
Subject: Re: Faking the number of CPUs for dom0 with dom0_max_vcpus
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: multipart/mixed; boundary="000000000000b94d3b060a0f85bc"

--000000000000b94d3b060a0f85bc
Content-Type: multipart/alternative; boundary="000000000000b94d3a060a0f85ba"

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

Hi Jan, thanks for the response! Adding more details and log files here:

1. I installed Xen 4.14 on CentOS 7 with yum:

[root@test-xen ~]# yum list xen kernel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: download.cf.centos.org
 * centos-virt-xen-epel: d2lzkl7pfhq30w.cloudfront.net
 * extras: download.cf.centos.org
 * updates: download.cf.centos.org
Installed Packages
kernel.x86_64
 3.10.0-1160.45.1.el7
 installed
kernel.x86_64
 3.10.0-1160.76.1.el7
 @updates
kernel.x86_64                                                4.9.241-37.el7

 @centos-virt-xen-414
xen.x86_64
4.14.5.24.g87d90d511c-1.el7
@centos-virt-xen-414
[root@test-xen ~]# uname -r
4.9.241-37.el7.x86_64

2. I configured dom0_max_vcpus=3D16 for Xen, and nr_cpus=3D16 for kernel:

[root@test-xen ~]# xl info
host                   : ip-172-31-52-150.us-west-2.compute.internal
release                : 4.9.241-37.el7.x86_64
version                : #1 SMP Mon Nov 2 13:55:04 UTC 2020
machine                : x86_64
nr_cpus                : 4
max_cpu_id             : 3
nr_nodes               : 1
cores_per_socket       : 2
threads_per_core       : 2
cpu_mhz                : 2999.974
hw_caps                :
1f8bfbff:f7fa3203:2c100800:00000121:0000000f:d19f47ab:00000008:00000100
virt_caps              : pv shadow
total_memory           : 7891
free_memory            : 3703
sharing_freed_memory   : 0
sharing_used_memory    : 0
outstanding_claims     : 0
free_cpus              : 0
xen_major              : 4
xen_minor              : 14
xen_extra              : .5.24.g87d90d51
xen_version            : 4.14.5.24.g87d90d51
xen_caps               : xen-3.0-x86_64
xen_scheduler          : credit2
xen_pagesize           : 4096
platform_params        : virt_start=3D0xffff800000000000
xen_changeset          :
xen_commandline        : placeholder dom0_max_vcpus=3D16
dom0_mem=3D4096M,max:4096M cpuinfo com1=3D115200,8n1 console=3Dcom1,tty
loglvl=3Dall guest_loglvl=3Dall
cc_compiler            : gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
cc_compile_by          : mockbuild
cc_compile_domain      : centos.org
cc_compile_date        : Mon Jul 25 08:40:16 UTC 2022
build_id               : 00d714f3c5983a534f512ca173dbfdcc7ed5a1b5
xend_config_format     : 4
[root@test-xen ~]# cat /proc/cmdline
placeholder nr_cpus=3D16 root=3DUUID=3D44a6a613-4e21-478b-a909-ab653c9d39df=
 ro
console=3Dtty0 crashkernel=3Dauto net.ifnames=3D0 console=3DttyS0 console=
=3Dhvc0
earlyprintk=3Dxen nomodeset
[root@test-xen ~]#

3. With the above config, dom0 only recognized 4 CPUs, and all the other
vCPUs are offline:

[root@test-xen ~]# xl vcpu-list
Name                                ID  VCPU   CPU State   Time(s) Affinity
(Hard / Soft)
Domain-0                             0     0    3   -b-      14.7  all / al=
l
Domain-0                             0     1    3   -b-      11.2  all / al=
l
Domain-0                             0     2    0   r--      12.6  all / al=
l
Domain-0                             0     3    2   -b-      10.9  all / al=
l
Domain-0                             0     4    -   --p       0.0  all / al=
l
Domain-0                             0     5    -   --p       0.0  all / al=
l
Domain-0                             0     6    -   --p       0.0  all / al=
l
Domain-0                             0     7    -   --p       0.0  all / al=
l
Domain-0                             0     8    -   --p       0.0  all / al=
l
Domain-0                             0     9    -   --p       0.0  all / al=
l
Domain-0                             0    10    -   --p       0.0  all / al=
l
Domain-0                             0    11    -   --p       0.0  all / al=
l
Domain-0                             0    12    -   --p       0.0  all / al=
l
Domain-0                             0    13    -   --p       0.0  all / al=
l
Domain-0                             0    14    -   --p       0.0  all / al=
l
Domain-0                             0    15    -   --p       0.0  all / al=
l
[root@test-xen ~]#

There are only 4 CPUs under /sys/devices/system/cpu:

[root@test-xen ~]# ls -l /sys/devices/system/cpu
total 0
drwxr-xr-x. 6 root root    0 Nov 13 18:04 cpu0
drwxr-xr-x. 6 root root    0 Nov 13 18:04 cpu1
drwxr-xr-x. 6 root root    0 Nov 13 18:04 cpu2
drwxr-xr-x. 6 root root    0 Nov 13 18:04 cpu3
drwxr-xr-x. 2 root root    0 Nov 13 18:43 hotplug
-r--r--r--. 1 root root 4096 Nov 13 18:43 isolated
-r--r--r--. 1 root root 4096 Nov 13 18:43 kernel_max
-r--r--r--. 1 root root 4096 Nov 13 18:43 modalias
-r--r--r--. 1 root root 4096 Nov 13 18:43 nohz_full
-r--r--r--. 1 root root 4096 Nov 13 18:43 offline
-r--r--r--. 1 root root 4096 Nov 13 18:04 online
-r--r--r--. 1 root root 4096 Nov 13 18:43 possible
drwxr-xr-x. 2 root root    0 Nov 13 18:43 power
-r--r--r--. 1 root root 4096 Nov 13 18:43 present
drwxr-xr-x. 2 root root    0 Nov 13 18:43 smt
-rw-r--r--. 1 root root 4096 Nov 13 18:43 uevent
drwxr-xr-x. 2 root root    0 Nov 13 18:43 vulnerabilities

I have attached dmesg for the kernel and xen. Please let me know if you
have any thoughts. Thanks!


Jimmy

On Mon, Nov 13, 2023 at 12:00=E2=80=AFAM Jan Beulich <jbeulich@suse.com> wr=
ote:

> On 12.11.2023 21:28, Jimmy Lee wrote:
> > Hello Xen experts, I am trying to set dom0_max_vcpus to a number that i=
s
> > larger than the number of pcpus. For example, I have a 4-CPU machine bu=
t
> I
> > want applications in dom0 to have an illusion that they are running on =
a
> > 64-cpu machine. However, it seems that dom0 will always recognize the
> > number of pcpus. I can see the vcpus in the output of "xl vcpu-list" bu=
t
> > most of them are not online. How can I achieve my goal? Thanks!
>
> Even if I was to assume the Dom0 kernel is Linux, it would still remain
> unclear what Linux version you use. Generally with recent Linux kernels
> this has been working for me (albeit I didn't try in a while, after
> putting together what has become e25a8d959992 ["x86/Xen: streamline (and
> fix) PV CPU enumeration"]). If despite having this in your Linux you
> still don't see this working, you will want to supply applicable logs.
>
> As an aside - 64 vCPU-s on a 4-pCPU system looks excessive to me.
>
> Jan
>
> > [root@ip-10-0-131-61 cpu3]# xl vcpu-list
> >> Name                                ID  VCPU   CPU State   Time(s)
> >> Affinity (Hard / Soft)
> >> Domain-0                             0     0    0   r--      15.9  all=
 /
> >> all
> >> Domain-0                             0     1    3   -b-      11.9  all=
 /
> >> all
> >> Domain-0                             0     2    1   -b-      11.2  all=
 /
> >> all
> >> Domain-0                             0     3    2   -b-      12.4  all=
 /
> >> all
> >> Domain-0                             0     4    -   --p       0.0  all=
 /
> >> all
> >> Domain-0                             0     5    -   --p       0.0  all=
 /
> >> all
> >> Domain-0                             0     6    -   --p       0.0  all=
 /
> >> all
> >> Domain-0                             0     7    -   --p       0.0  all=
 /
> >> all
> >> Domain-0                             0     8    -   --p       0.0  all=
 /
> >> all
> >> ....
> >>
> >
> > [root@ip-10-0-131-61 cpu3]# lscpu
> > Architecture:          x86_64
> > CPU op-mode(s):        32-bit, 64-bit
> > Byte Order:            Little Endian
> > CPU(s):                4
> > On-line CPU(s) list:   0-3
> > Thread(s) per core:    4
> > Core(s) per socket:    1
> > Socket(s):             1
> > NUMA node(s):          1
> > ...
> >
> > [root@ip-10-0-131-61 cpu3]# xl info
> > ...
> > xen_commandline        : placeholder dom0_mem=3D3%,min:2G,max:4G
> > com1=3D115200,8n1 console=3Dcom1,tty,vga dom0_max_vcpus=3D64 spec-ctrl=
=3Dno
> > sched=3Dcredit vcpu_migration_delay=3D1000 allowsuperpage ioapic_ack=3D=
new
> > ...
> >
>
>

--000000000000b94d3a060a0f85ba
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: base64

PGRpdiBkaXI9Imx0ciI+PGRpdj5IaSBKYW4sIHRoYW5rcyBmb3IgdGhlIHJlc3BvbnNlISBBZGRp
bmcgbW9yZSBkZXRhaWxzIGFuZCBsb2cgZmlsZXMgaGVyZTo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48
ZGl2PjEuIEkgaW5zdGFsbGVkIFhlbiA0LjE0IG9uIENlbnRPUyA3IHdpdGggeXVtOjwvZGl2Pjxk
aXY+PGJyPjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5bcm9vdEB0ZXN0LXhlbiB+
XSMgeXVtIGxpc3QgeGVuIGtlcm5lbDxicj5Mb2FkZWQgcGx1Z2luczogZmFzdGVzdG1pcnJvcjxi
cj5Mb2FkaW5nIG1pcnJvciBzcGVlZHMgZnJvbSBjYWNoZWQgaG9zdGZpbGU8YnI+wqAqIGJhc2U6
IDxhIGhyZWY9Imh0dHA6Ly9kb3dubG9hZC5jZi5jZW50b3Mub3JnIj5kb3dubG9hZC5jZi5jZW50
b3Mub3JnPC9hPjxicj7CoCogY2VudG9zLXZpcnQteGVuLWVwZWw6IDxhIGhyZWY9Imh0dHA6Ly9k
Mmx6a2w3cGZocTMwdy5jbG91ZGZyb250Lm5ldCI+ZDJsemtsN3BmaHEzMHcuY2xvdWRmcm9udC5u
ZXQ8L2E+PGJyPsKgKiBleHRyYXM6IDxhIGhyZWY9Imh0dHA6Ly9kb3dubG9hZC5jZi5jZW50b3Mu
b3JnIj5kb3dubG9hZC5jZi5jZW50b3Mub3JnPC9hPjxicj7CoCogdXBkYXRlczogPGEgaHJlZj0i
aHR0cDovL2Rvd25sb2FkLmNmLmNlbnRvcy5vcmciPmRvd25sb2FkLmNmLmNlbnRvcy5vcmc8L2E+
PGJyPkluc3RhbGxlZCBQYWNrYWdlczxicj5rZXJuZWwueDg2XzY0IMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMy4x
MC4wLTExNjAuNDUuMS5lbDcgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqBpbnN0YWxsZWQ8YnI+
a2VybmVsLng4Nl82NCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDMuMTAuMC0xMTYwLjc2LjEuZWw3IMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgQHVwZGF0ZXM8YnI+a2VybmVsLng4Nl82NCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oDQuOS4yNDEtMzcuZWw3IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgQGNlbnRv
cy12aXJ0LXhlbi00MTQ8YnI+eGVuLng4Nl82NCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCA0LjE0LjUuMjQu
Zzg3ZDkwZDUxMWMtMS5lbDcgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgQGNlbnRvcy12aXJ0LXhlbi00MTQ8YnI+
W3Jvb3RAdGVzdC14ZW4gfl0jIHVuYW1lIC1yPGJyPjwvZm9udD48L2Rpdj48Zm9udCBmYWNlPSJt
b25vc3BhY2UiPjQuOS4yNDEtMzcuZWw3Lng4Nl82NDwvZm9udD48ZGl2Pjxicj48L2Rpdj48ZGl2
PjIuwqBJIGNvbmZpZ3VyZWQgZG9tMF9tYXhfdmNwdXM9MTYgZm9yIFhlbiwgYW5kIG5yX2NwdXM9
MTYgZm9yIGtlcm5lbDo8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxmb250IGZhY2U9Im1vbm9z
cGFjZSI+W3Jvb3RAdGVzdC14ZW4gfl0jIHhsIGluZm88YnI+aG9zdCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCA6IGlwLTE3Mi0zMS01Mi0xNTAudXMtd2VzdC0yLmNvbXB1dGUuaW50ZXJuYWw8
YnI+cmVsZWFzZSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDogNC45LjI0MS0zNy5lbDcueDg2XzY0
PGJyPnZlcnNpb24gwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA6ICMxIFNNUCBNb24gTm92IDIgMTM6
NTU6MDQgVVRDIDIwMjA8YnI+bWFjaGluZSDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDogeDg2XzY0
PGJyPm5yX2NwdXMgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA6IDQ8YnI+bWF4X2NwdV9pZCDCoCDC
oCDCoCDCoCDCoCDCoCA6IDM8YnI+bnJfbm9kZXMgwqAgwqAgwqAgwqAgwqAgwqAgwqAgOiAxPGJy
PmNvcmVzX3Blcl9zb2NrZXQgwqAgwqAgwqAgOiAyPGJyPnRocmVhZHNfcGVyX2NvcmUgwqAgwqAg
wqAgOiAyPGJyPmNwdV9taHogwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA6IDI5OTkuOTc0PGJyPmh3
X2NhcHMgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqA6IDFmOGJmYmZmOmY3ZmEzMjAzOjJjMTAwODAw
OjAwMDAwMTIxOjAwMDAwMDBmOmQxOWY0N2FiOjAwMDAwMDA4OjAwMDAwMTAwPGJyPnZpcnRfY2Fw
cyDCoCDCoCDCoCDCoCDCoCDCoCDCoDogcHYgc2hhZG93PGJyPnRvdGFsX21lbW9yeSDCoCDCoCDC
oCDCoCDCoCA6IDc4OTE8YnI+ZnJlZV9tZW1vcnkgwqAgwqAgwqAgwqAgwqAgwqA6IDM3MDM8YnI+
c2hhcmluZ19mcmVlZF9tZW1vcnkgwqAgOiAwPGJyPnNoYXJpbmdfdXNlZF9tZW1vcnkgwqAgwqA6
IDA8YnI+b3V0c3RhbmRpbmdfY2xhaW1zIMKgIMKgIDogMDxicj5mcmVlX2NwdXMgwqAgwqAgwqAg
wqAgwqAgwqAgwqA6IDA8YnI+eGVuX21ham9yIMKgIMKgIMKgIMKgIMKgIMKgIMKgOiA0PGJyPnhl
bl9taW5vciDCoCDCoCDCoCDCoCDCoCDCoCDCoDogMTQ8YnI+eGVuX2V4dHJhIMKgIMKgIMKgIMKg
IMKgIMKgIMKgOiAuNS4yNC5nODdkOTBkNTE8YnI+eGVuX3ZlcnNpb24gwqAgwqAgwqAgwqAgwqAg
wqA6IDQuMTQuNS4yNC5nODdkOTBkNTE8YnI+eGVuX2NhcHMgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
OiB4ZW4tMy4wLXg4Nl82NDxicj54ZW5fc2NoZWR1bGVyIMKgIMKgIMKgIMKgIMKgOiBjcmVkaXQy
PGJyPnhlbl9wYWdlc2l6ZSDCoCDCoCDCoCDCoCDCoCA6IDQwOTY8YnI+cGxhdGZvcm1fcGFyYW1z
IMKgIMKgIMKgIMKgOiB2aXJ0X3N0YXJ0PTB4ZmZmZjgwMDAwMDAwMDAwMDxicj54ZW5fY2hhbmdl
c2V0IMKgIMKgIMKgIMKgIMKgOjxicj54ZW5fY29tbWFuZGxpbmUgwqAgwqAgwqAgwqA6IHBsYWNl
aG9sZGVyIGRvbTBfbWF4X3ZjcHVzPTE2IGRvbTBfbWVtPTQwOTZNLG1heDo0MDk2TSBjcHVpbmZv
IGNvbTE9MTE1MjAwLDhuMSBjb25zb2xlPWNvbTEsdHR5IGxvZ2x2bD1hbGwgZ3Vlc3RfbG9nbHZs
PWFsbDxicj5jY19jb21waWxlciDCoCDCoCDCoCDCoCDCoCDCoDogZ2NjIChHQ0MpIDQuOC41IDIw
MTUwNjIzIChSZWQgSGF0IDQuOC41LTQ0KTxicj5jY19jb21waWxlX2J5IMKgIMKgIMKgIMKgIMKg
OiBtb2NrYnVpbGQ8YnI+Y2NfY29tcGlsZV9kb21haW4gwqAgwqAgwqA6IDxhIGhyZWY9Imh0dHA6
Ly9jZW50b3Mub3JnIj5jZW50b3Mub3JnPC9hPjxicj5jY19jb21waWxlX2RhdGUgwqAgwqAgwqAg
wqA6IE1vbiBKdWwgMjUgMDg6NDA6MTYgVVRDIDIwMjI8YnI+YnVpbGRfaWQgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgOiAwMGQ3MTRmM2M1OTgzYTUzNGY1MTJjYTE3M2RiZmRjYzdlZDVhMWI1PGJyPnhl
bmRfY29uZmlnX2Zvcm1hdCDCoCDCoCA6IDQ8YnI+W3Jvb3RAdGVzdC14ZW4gfl0jIGNhdCAvcHJv
Yy9jbWRsaW5lPGJyPnBsYWNlaG9sZGVyIG5yX2NwdXM9MTYgcm9vdD1VVUlEPTQ0YTZhNjEzLTRl
MjEtNDc4Yi1hOTA5LWFiNjUzYzlkMzlkZiBybyBjb25zb2xlPXR0eTAgY3Jhc2hrZXJuZWw9YXV0
byBuZXQuaWZuYW1lcz0wIGNvbnNvbGU9dHR5UzAgY29uc29sZT1odmMwIGVhcmx5cHJpbnRrPXhl
biBub21vZGVzZXQ8YnI+W3Jvb3RAdGVzdC14ZW4gfl0jPC9mb250Pjxicj48L2Rpdj48ZGl2Pjxi
cj48L2Rpdj48ZGl2PjMuIFdpdGggdGhlIGFib3ZlIGNvbmZpZywgZG9tMCBvbmx5IHJlY29nbml6
ZWQgNCBDUFVzLCBhbmQgYWxsIHRoZSBvdGhlciB2Q1BVcyBhcmUgb2ZmbGluZTo8L2Rpdj48ZGl2
Pjxicj48L2Rpdj48ZGl2Pjxmb250IGZhY2U9Im1vbm9zcGFjZSI+W3Jvb3RAdGVzdC14ZW4gfl0j
IHhsIHZjcHUtbGlzdDxicj5OYW1lIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgSUQgwqBWQ1BVIMKgIENQVSBTdGF0ZSDCoCBUaW1lKHMpIEFmZmluaXR5IChI
YXJkIC8gU29mdCk8YnI+RG9tYWluLTAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgMCDCoCDCoCAwIMKgIMKgMyDCoCAtYi0gwqAgwqAgwqAxNC43IMKgYWxsIC8gYWxs
PGJyPkRvbWFpbi0wIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDAg
wqAgwqAgMSDCoCDCoDMgwqAgLWItIMKgIMKgIMKgMTEuMiDCoGFsbCAvIGFsbDxicj5Eb21haW4t
MCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAwIMKgIMKgIDIgwqAg
wqAwIMKgIHItLSDCoCDCoCDCoDEyLjYgwqBhbGwgLyBhbGw8YnI+RG9tYWluLTAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMCDCoCDCoCAzIMKgIMKgMiDCoCAtYi0g
wqAgwqAgwqAxMC45IMKgYWxsIC8gYWxsPGJyPkRvbWFpbi0wIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIDAgwqAgwqAgNCDCoCDCoC0gwqAgLS1wIMKgIMKgIMKgIDAu
MCDCoGFsbCAvIGFsbDxicj5Eb21haW4tMCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCAwIMKgIMKgIDUgwqAgwqAtIMKgIC0tcCDCoCDCoCDCoCAwLjAgwqBhbGwgLyBh
bGw8YnI+RG9tYWluLTAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
MCDCoCDCoCA2IMKgIMKgLSDCoCAtLXAgwqAgwqAgwqAgMC4wIMKgYWxsIC8gYWxsPGJyPkRvbWFp
bi0wIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDAgwqAgwqAgNyDC
oCDCoC0gwqAgLS1wIMKgIMKgIMKgIDAuMCDCoGFsbCAvIGFsbDxicj5Eb21haW4tMCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAwIMKgIMKgIDggwqAgwqAtIMKgIC0t
cCDCoCDCoCDCoCAwLjAgwqBhbGwgLyBhbGw8YnI+RG9tYWluLTAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMCDCoCDCoCA5IMKgIMKgLSDCoCAtLXAgwqAgwqAgwqAg
MC4wIMKgYWxsIC8gYWxsPGJyPkRvbWFpbi0wIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIDAgwqAgwqAxMCDCoCDCoC0gwqAgLS1wIMKgIMKgIMKgIDAuMCDCoGFsbCAv
IGFsbDxicj5Eb21haW4tMCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC
oCAwIMKgIMKgMTEgwqAgwqAtIMKgIC0tcCDCoCDCoCDCoCAwLjAgwqBhbGwgLyBhbGw8YnI+RG9t
YWluLTAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgMCDCoCDCoDEy
IMKgIMKgLSDCoCAtLXAgwqAgwqAgwqAgMC4wIMKgYWxsIC8gYWxsPGJyPkRvbWFpbi0wIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDAgwqAgwqAxMyDCoCDCoC0gwqAg
LS1wIMKgIMKgIMKgIDAuMCDCoGFsbCAvIGFsbDxicj5Eb21haW4tMCDCoCDCoCDCoCDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAwIMKgIMKgMTQgwqAgwqAtIMKgIC0tcCDCoCDCoCDC
oCAwLjAgwqBhbGwgLyBhbGw8YnI+RG9tYWluLTAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgMCDCoCDCoDE1IMKgIMKgLSDCoCAtLXAgwqAgwqAgwqAgMC4wIMKgYWxs
IC8gYWxsPGJyPltyb290QHRlc3QteGVuIH5dIzwvZm9udD48YnI+PC9kaXY+PGRpdj48YnI+PC9k
aXY+PGRpdj5UaGVyZSBhcmUgb25seSA0IENQVXMgdW5kZXLCoC9zeXMvZGV2aWNlcy9zeXN0ZW0v
Y3B1OjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+PGZvbnQgZmFjZT0ibW9ub3NwYWNlIj5bcm9v
dEB0ZXN0LXhlbiB+XSMgbHMgLWwgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHU8YnI+dG90YWwgMDxi
cj5kcnd4ci14ci14LiA2IHJvb3Qgcm9vdCDCoCDCoDAgTm92IDEzIDE4OjA0IGNwdTA8YnI+ZHJ3
eHIteHIteC4gNiByb290IHJvb3QgwqAgwqAwIE5vdiAxMyAxODowNCBjcHUxPGJyPmRyd3hyLXhy
LXguIDYgcm9vdCByb290IMKgIMKgMCBOb3YgMTMgMTg6MDQgY3B1Mjxicj5kcnd4ci14ci14LiA2
IHJvb3Qgcm9vdCDCoCDCoDAgTm92IDEzIDE4OjA0IGNwdTM8YnI+ZHJ3eHIteHIteC4gMiByb290
IHJvb3QgwqAgwqAwIE5vdiAxMyAxODo0MyBob3RwbHVnPGJyPi1yLS1yLS1yLS0uIDEgcm9vdCBy
b290IDQwOTYgTm92IDEzIDE4OjQzIGlzb2xhdGVkPGJyPi1yLS1yLS1yLS0uIDEgcm9vdCByb290
IDQwOTYgTm92IDEzIDE4OjQzIGtlcm5lbF9tYXg8YnI+LXItLXItLXItLS4gMSByb290IHJvb3Qg
NDA5NiBOb3YgMTMgMTg6NDMgbW9kYWxpYXM8YnI+LXItLXItLXItLS4gMSByb290IHJvb3QgNDA5
NiBOb3YgMTMgMTg6NDMgbm9oel9mdWxsPGJyPi1yLS1yLS1yLS0uIDEgcm9vdCByb290IDQwOTYg
Tm92IDEzIDE4OjQzIG9mZmxpbmU8YnI+LXItLXItLXItLS4gMSByb290IHJvb3QgNDA5NiBOb3Yg
MTMgMTg6MDQgb25saW5lPGJyPi1yLS1yLS1yLS0uIDEgcm9vdCByb290IDQwOTYgTm92IDEzIDE4
OjQzIHBvc3NpYmxlPGJyPmRyd3hyLXhyLXguIDIgcm9vdCByb290IMKgIMKgMCBOb3YgMTMgMTg6
NDMgcG93ZXI8YnI+LXItLXItLXItLS4gMSByb290IHJvb3QgNDA5NiBOb3YgMTMgMTg6NDMgcHJl
c2VudDxicj5kcnd4ci14ci14LiAyIHJvb3Qgcm9vdCDCoCDCoDAgTm92IDEzIDE4OjQzIHNtdDxi
cj4tcnctci0tci0tLiAxIHJvb3Qgcm9vdCA0MDk2IE5vdiAxMyAxODo0MyB1ZXZlbnQ8YnI+ZHJ3
eHIteHIteC4gMiByb290IHJvb3QgwqAgwqAwIE5vdiAxMyAxODo0MyB2dWxuZXJhYmlsaXRpZXM8
L2ZvbnQ+PGJyPjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBoYXZlIGF0dGFjaGVkIGRtZXNn
IGZvciB0aGUga2VybmVsIGFuZCB4ZW4uIFBsZWFzZSBsZXQgbWUga25vdyBpZiB5b3UgaGF2ZSBh
bnkgdGhvdWdodHMuIFRoYW5rcyE8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48
ZGl2PkppbW15PC9kaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIj48ZGl2IGRpcj0ibHRy
IiBjbGFzcz0iZ21haWxfYXR0ciI+T24gTW9uLCBOb3YgMTMsIDIwMjMgYXQgMTI6MDDigK9BTSBK
YW4gQmV1bGljaCAmbHQ7PGEgaHJlZj0ibWFpbHRvOmpiZXVsaWNoQHN1c2UuY29tIj5qYmV1bGlj
aEBzdXNlLmNvbTwvYT4mZ3Q7IHdyb3RlOjxicj48L2Rpdj48YmxvY2txdW90ZSBjbGFzcz0iZ21h
aWxfcXVvdGUiIHN0eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4
IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCI+T24gMTIuMTEuMjAyMyAy
MToyOCwgSmltbXkgTGVlIHdyb3RlOjxicj4NCiZndDsgSGVsbG8gWGVuIGV4cGVydHMsIEkgYW0g
dHJ5aW5nIHRvIHNldCBkb20wX21heF92Y3B1cyB0byBhIG51bWJlciB0aGF0IGlzPGJyPg0KJmd0
OyBsYXJnZXIgdGhhbiB0aGUgbnVtYmVyIG9mIHBjcHVzLiBGb3IgZXhhbXBsZSwgSSBoYXZlIGEg
NC1DUFUgbWFjaGluZSBidXQgSTxicj4NCiZndDsgd2FudCBhcHBsaWNhdGlvbnMgaW4gZG9tMCB0
byBoYXZlIGFuIGlsbHVzaW9uIHRoYXQgdGhleSBhcmUgcnVubmluZyBvbiBhPGJyPg0KJmd0OyA2
NC1jcHUgbWFjaGluZS4gSG93ZXZlciwgaXQgc2VlbXMgdGhhdCBkb20wIHdpbGwgYWx3YXlzIHJl
Y29nbml6ZSB0aGU8YnI+DQomZ3Q7IG51bWJlciBvZiBwY3B1cy4gSSBjYW4gc2VlIHRoZSB2Y3B1
cyBpbiB0aGUgb3V0cHV0IG9mICZxdW90O3hsIHZjcHUtbGlzdCZxdW90OyBidXQ8YnI+DQomZ3Q7
IG1vc3Qgb2YgdGhlbSBhcmUgbm90IG9ubGluZS4gSG93IGNhbiBJIGFjaGlldmUgbXkgZ29hbD8g
VGhhbmtzITxicj4NCjxicj4NCkV2ZW4gaWYgSSB3YXMgdG8gYXNzdW1lIHRoZSBEb20wIGtlcm5l
bCBpcyBMaW51eCwgaXQgd291bGQgc3RpbGwgcmVtYWluPGJyPg0KdW5jbGVhciB3aGF0IExpbnV4
IHZlcnNpb24geW91IHVzZS4gR2VuZXJhbGx5IHdpdGggcmVjZW50IExpbnV4IGtlcm5lbHM8YnI+
DQp0aGlzIGhhcyBiZWVuIHdvcmtpbmcgZm9yIG1lIChhbGJlaXQgSSBkaWRuJiMzOTt0IHRyeSBp
biBhIHdoaWxlLCBhZnRlcjxicj4NCnB1dHRpbmcgdG9nZXRoZXIgd2hhdCBoYXMgYmVjb21lIGUy
NWE4ZDk1OTk5MiBbJnF1b3Q7eDg2L1hlbjogc3RyZWFtbGluZSAoYW5kPGJyPg0KZml4KSBQViBD
UFUgZW51bWVyYXRpb24mcXVvdDtdKS4gSWYgZGVzcGl0ZSBoYXZpbmcgdGhpcyBpbiB5b3VyIExp
bnV4IHlvdTxicj4NCnN0aWxsIGRvbiYjMzk7dCBzZWUgdGhpcyB3b3JraW5nLCB5b3Ugd2lsbCB3
YW50IHRvIHN1cHBseSBhcHBsaWNhYmxlIGxvZ3MuPGJyPg0KPGJyPg0KQXMgYW4gYXNpZGUgLSA2
NCB2Q1BVLXMgb24gYSA0LXBDUFUgc3lzdGVtIGxvb2tzIGV4Y2Vzc2l2ZSB0byBtZS48YnI+DQo8
YnI+DQpKYW48YnI+DQo8YnI+DQomZ3Q7IFtyb290QGlwLTEwLTAtMTMxLTYxIGNwdTNdIyB4bCB2
Y3B1LWxpc3Q8YnI+DQomZ3Q7Jmd0OyBOYW1lwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgSUTCoCBWQ1BVwqAgwqBDUFUgU3RhdGXCoCDCoFRpbWUocyk8YnI+
DQomZ3Q7Jmd0OyBBZmZpbml0eSAoSGFyZCAvIFNvZnQpPGJyPg0KJmd0OyZndDsgRG9tYWluLTDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDDCoCDCoCDCoDDCoCDC
oCAwwqAgwqByLS3CoCDCoCDCoCAxNS45wqAgYWxsIC88YnI+DQomZ3Q7Jmd0OyBhbGw8YnI+DQom
Z3Q7Jmd0OyBEb21haW4tMMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgMMKgIMKgIMKgMcKgIMKgIDPCoCDCoC1iLcKgIMKgIMKgIDExLjnCoCBhbGwgLzxicj4NCiZn
dDsmZ3Q7IGFsbDxicj4NCiZndDsmZ3Q7IERvbWFpbi0wwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgwqAgwqAwwqAgwqAgwqAywqAgwqAgMcKgIMKgLWItwqAgwqAgwqAgMTEu
MsKgIGFsbCAvPGJyPg0KJmd0OyZndDsgYWxsPGJyPg0KJmd0OyZndDsgRG9tYWluLTDCoCDCoCDC
oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoDDCoCDCoCDCoDPCoCDCoCAywqAg
wqAtYi3CoCDCoCDCoCAxMi40wqAgYWxsIC88YnI+DQomZ3Q7Jmd0OyBhbGw8YnI+DQomZ3Q7Jmd0
OyBEb21haW4tMMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMMKg
IMKgIMKgNMKgIMKgIC3CoCDCoC0tcMKgIMKgIMKgIMKgMC4wwqAgYWxsIC88YnI+DQomZ3Q7Jmd0
OyBhbGw8YnI+DQomZ3Q7Jmd0OyBEb21haW4tMMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgMMKgIMKgIMKgNcKgIMKgIC3CoCDCoC0tcMKgIMKgIMKgIMKgMC4wwqAg
YWxsIC88YnI+DQomZ3Q7Jmd0OyBhbGw8YnI+DQomZ3Q7Jmd0OyBEb21haW4tMMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMMKgIMKgIMKgNsKgIMKgIC3CoCDCoC0t
cMKgIMKgIMKgIMKgMC4wwqAgYWxsIC88YnI+DQomZ3Q7Jmd0OyBhbGw8YnI+DQomZ3Q7Jmd0OyBE
b21haW4tMMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgMMKgIMKg
IMKgN8KgIMKgIC3CoCDCoC0tcMKgIMKgIMKgIMKgMC4wwqAgYWxsIC88YnI+DQomZ3Q7Jmd0OyBh
bGw8YnI+DQomZ3Q7Jmd0OyBEb21haW4tMMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg
IMKgIMKgIMKgIMKgMMKgIMKgIMKgOMKgIMKgIC3CoCDCoC0tcMKgIMKgIMKgIMKgMC4wwqAgYWxs
IC88YnI+DQomZ3Q7Jmd0OyBhbGw8YnI+DQomZ3Q7Jmd0OyAuLi4uPGJyPg0KJmd0OyZndDs8YnI+
DQomZ3Q7IDxicj4NCiZndDsgW3Jvb3RAaXAtMTAtMC0xMzEtNjEgY3B1M10jIGxzY3B1PGJyPg0K
Jmd0OyBBcmNoaXRlY3R1cmU6wqAgwqAgwqAgwqAgwqAgeDg2XzY0PGJyPg0KJmd0OyBDUFUgb3At
bW9kZShzKTrCoCDCoCDCoCDCoCAzMi1iaXQsIDY0LWJpdDxicj4NCiZndDsgQnl0ZSBPcmRlcjrC
oCDCoCDCoCDCoCDCoCDCoCBMaXR0bGUgRW5kaWFuPGJyPg0KJmd0OyBDUFUocyk6wqAgwqAgwqAg
wqAgwqAgwqAgwqAgwqAgNDxicj4NCiZndDsgT24tbGluZSBDUFUocykgbGlzdDrCoCDCoDAtMzxi
cj4NCiZndDsgVGhyZWFkKHMpIHBlciBjb3JlOsKgIMKgIDQ8YnI+DQomZ3Q7IENvcmUocykgcGVy
IHNvY2tldDrCoCDCoCAxPGJyPg0KJmd0OyBTb2NrZXQocyk6wqAgwqAgwqAgwqAgwqAgwqAgwqAx
PGJyPg0KJmd0OyBOVU1BIG5vZGUocyk6wqAgwqAgwqAgwqAgwqAgMTxicj4NCiZndDsgLi4uPGJy
Pg0KJmd0OyA8YnI+DQomZ3Q7IFtyb290QGlwLTEwLTAtMTMxLTYxIGNwdTNdIyB4bCBpbmZvPGJy
Pg0KJmd0OyAuLi48YnI+DQomZ3Q7IHhlbl9jb21tYW5kbGluZcKgIMKgIMKgIMKgIDogcGxhY2Vo
b2xkZXIgZG9tMF9tZW09MyUsbWluOjJHLG1heDo0Rzxicj4NCiZndDsgY29tMT0xMTUyMDAsOG4x
IGNvbnNvbGU9Y29tMSx0dHksdmdhIGRvbTBfbWF4X3ZjcHVzPTY0IHNwZWMtY3RybD1ubzxicj4N
CiZndDsgc2NoZWQ9Y3JlZGl0IHZjcHVfbWlncmF0aW9uX2RlbGF5PTEwMDAgYWxsb3dzdXBlcnBh
Z2UgaW9hcGljX2Fjaz1uZXc8YnI+DQomZ3Q7IC4uLjxicj4NCiZndDsgPGJyPg0KPGJyPg0KPC9i
bG9ja3F1b3RlPjwvZGl2PjwvZGl2Pg0K
--000000000000b94d3a060a0f85ba--
--000000000000b94d3b060a0f85bc
Content-Type: application/octet-stream; name="xl-dmesg.log"
Content-Disposition: attachment; filename="xl-dmesg.log"
Content-Transfer-Encoding: base64
Content-ID: <f_loxff10o1>
X-Attachment-Id: f_loxff10o1

KFhFTikgQmFkIGNvbnNvbGU9IG9wdGlvbiAndHR5JwogWGVuIDQuMTQuNS4yNC5nODdkOTBkNTEx
Yy0xLmVsNwooWEVOKSBYZW4gdmVyc2lvbiA0LjE0LjUuMjQuZzg3ZDkwZDUxMWMtMS5lbDcgKG1v
Y2tidWlsZEBjZW50b3Mub3JnKSAoZ2NjIChHQ0MpIDQuOC41IDIwMTUwNjIzIChSZWQgSGF0IDQu
OC41LTQ0KSkgZGVidWc9biAgTW9uIEp1bCAyNSAwODo0MDoxNiBVVEMgMjAyMgooWEVOKSBMYXRl
c3QgQ2hhbmdlU2V0OiAKKFhFTikgYnVpbGQtaWQ6IDAwZDcxNGYzYzU5ODNhNTM0ZjUxMmNhMTcz
ZGJmZGNjN2VkNWExYjUKKFhFTikgQm9vdGxvYWRlcjogR1JVQiAyLjAyfmJldGEyCihYRU4pIENv
bW1hbmQgbGluZTogcGxhY2Vob2xkZXIgZG9tMF9tYXhfdmNwdXM9MTYgZG9tMF9tZW09NDA5Nk0s
bWF4OjQwOTZNIGNwdWluZm8gY29tMT0xMTUyMDAsOG4xIGNvbnNvbGU9Y29tMSx0dHkgbG9nbHZs
PWFsbCBndWVzdF9sb2dsdmw9YWxsCihYRU4pIFhlbiBpbWFnZSBsb2FkIGJhc2UgYWRkcmVzczog
MAooWEVOKSBWaWRlbyBpbmZvcm1hdGlvbjoKKFhFTikgIFZHQSBpcyB0ZXh0IG1vZGUgODB4MjUs
IGZvbnQgOHgxNgooWEVOKSBEaXNjIGluZm9ybWF0aW9uOgooWEVOKSAgRm91bmQgMSBNQlIgc2ln
bmF0dXJlcwooWEVOKSAgRm91bmQgMSBFREQgaW5mb3JtYXRpb24gc3RydWN0dXJlcwooWEVOKSBD
UFUgVmVuZG9yOiBJbnRlbCwgRmFtaWx5IDYgKDB4NiksIE1vZGVsIDg1ICgweDU1KSwgU3RlcHBp
bmcgNyAocmF3IDAwMDUwNjU3KQooWEVOKSBYZW4tZTgyMCBSQU0gbWFwOgooWEVOKSAgWzAwMDAw
MDAwMDAwMDAwMDAsIDAwMDAwMDAwMDAwOWZiZmZdICh1c2FibGUpCihYRU4pICBbMDAwMDAwMDAw
MDA5ZmMwMCwgMDAwMDAwMDAwMDA5ZmZmZl0gKHJlc2VydmVkKQooWEVOKSAgWzAwMDAwMDAwMDAw
ZjAwMDAsIDAwMDAwMDAwMDAwZmZmZmZdIChyZXNlcnZlZCkKKFhFTikgIFswMDAwMDAwMDAwMTAw
MDAwLCAwMDAwMDAwMGJmZmU5ZmZmXSAodXNhYmxlKQooWEVOKSAgWzAwMDAwMDAwYmZmZWEwMDAs
IDAwMDAwMDAwYmZmZmZmZmZdIChyZXNlcnZlZCkKKFhFTikgIFswMDAwMDAwMGUwMDAwMDAwLCAw
MDAwMDAwMGUwM2ZmZmZmXSAocmVzZXJ2ZWQpCihYRU4pICBbMDAwMDAwMDBmZmZjMDAwMCwgMDAw
MDAwMDBmZmZmZmZmZl0gKHJlc2VydmVkKQooWEVOKSAgWzAwMDAwMDAxMDAwMDAwMDAsIDAwMDAw
MDAyMmQzZmZmZmZdICh1c2FibGUpCihYRU4pICBbMDAwMDAwMDIyZDQwMDAwMCwgMDAwMDAwMDIz
ZmZmZmZmZl0gKHJlc2VydmVkKQooWEVOKSBOZXcgWGVuIGltYWdlIGJhc2UgYWRkcmVzczogMHhi
ZjgwMDAwMAooWEVOKSBBQ1BJOiBSU0RQIDAwMEY4RjQwLCAwMDE0IChyMCBBTUFaT04pCihYRU4p
IEFDUEk6IFJTRFQgQkZGRUUyNjAsIDAwNDQgKHIxIEFNQVpPTiBBTVpOUlNEVCAgICAgICAgMSBB
TVpOICAgICAgICAxKQooWEVOKSBBQ1BJOiBGQUNQIEJGRkVGRjgwLCAwMDc0IChyMSBBTUFaT04g
QU1aTkZBQ1AgICAgICAgIDEgQU1aTiAgICAgICAgMSkKKFhFTikgQUNQSTogRFNEVCBCRkZFRTJC
MCwgMTBFOSAocjEgQU1BWk9OIEFNWk5EU0RUICAgICAgICAxIEFNWk4gICAgICAgIDEpCihYRU4p
IEFDUEk6IEZBQ1MgQkZGRUZGNDAsIDAwNDAKKFhFTikgQUNQSTogU1NEVCBCRkZFRjYwMCwgMDkz
QyAocjEgQU1BWk9OIEFNWk5TU0RUICAgICAgICAxIEFNWk4gICAgICAgIDEpCihYRU4pIEFDUEk6
IEFQSUMgQkZGRUY1MDAsIDAwODYgKHIxIEFNQVpPTiBBTVpOQVBJQyAgICAgICAgMSBBTVpOICAg
ICAgICAxKQooWEVOKSBBQ1BJOiBTUkFUIEJGRkVGNDQwLCAwMEMwIChyMSBBTUFaT04gQU1aTlNS
QVQgICAgICAgIDEgQU1aTiAgICAgICAgMSkKKFhFTikgQUNQSTogU0xJVCBCRkZFRjNEMCwgMDA2
QyAocjEgQU1BWk9OIEFNWk5TTElUICAgICAgICAxIEFNWk4gICAgICAgIDEpCihYRU4pIEFDUEk6
IFdBRVQgQkZGRUYzQTAsIDAwMjggKHIxIEFNQVpPTiBBTVpOV0FFVCAgICAgICAgMSBBTVpOICAg
ICAgICAxKQooWEVOKSBBQ1BJOiBIUEVUIDAwMEM5MDAwLCAwMDM4IChyMSBBTUFaT04gQU1aTkhQ
RVQgICAgICAgIDEgQU1aTiAgICAgICAgMSkKKFhFTikgQUNQSTogU1NEVCAwMDBDOTA0MCwgMDA3
QiAocjEgQU1BWk9OIEFNWk5TU0RUICAgICAgICAxIEFNWk4gICAgICAgIDEpCihYRU4pIFN5c3Rl
bSBSQU06IDc4OTFNQiAoODA4MDkzMmtCKQooWEVOKSBTUkFUOiBQWE0gMCAtPiBBUElDIDAwIC0+
IE5vZGUgMAooWEVOKSBTUkFUOiBQWE0gMCAtPiBBUElDIDAxIC0+IE5vZGUgMAooWEVOKSBTUkFU
OiBQWE0gMCAtPiBBUElDIDAyIC0+IE5vZGUgMAooWEVOKSBTUkFUOiBQWE0gMCAtPiBBUElDIDAz
IC0+IE5vZGUgMAooWEVOKSBTUkFUOiBOb2RlIDAgUFhNIDAgMC1jMDAwMDAwMAooWEVOKSBTUkFU
OiBOb2RlIDAgUFhNIDAgMTAwMDAwMDAwLTI0MDAwMDAwMAooWEVOKSBOVU1BOiBVc2luZyAyMCBm
b3IgdGhlIGhhc2ggc2hpZnQuCihYRU4pIERvbWFpbiBoZWFwIGluaXRpYWxpc2VkCihYRU4pIERN
SSBwcmVzZW50LgooWEVOKSBVc2luZyBBUElDIGRyaXZlciBkZWZhdWx0CihYRU4pIEFDUEk6IFBN
LVRpbWVyIElPIFBvcnQ6IDB4YjAwOCAoMjQgYml0cykKKFhFTikgQUNQSTogU0xFRVAgSU5GTzog
cG0xeF9jbnRbMTpiMDA0LDE6MF0sIHBtMXhfZXZ0WzE6YjAwMCwxOjBdCihYRU4pIEFDUEk6ICAg
ICAgICAgICAgIHdha2V1cF92ZWNbYmZmZWZmNGNdLCB2ZWNfc2l6ZVsyMF0KKFhFTikgQUNQSTog
TG9jYWwgQVBJQyBhZGRyZXNzIDB4ZmVlMDAwMDAKKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwMF0gbGFwaWNfaWRbMHgwMF0gZW5hYmxlZCkKKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwMV0gbGFwaWNfaWRbMHgwMl0gZW5hYmxlZCkKKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwMl0gbGFwaWNfaWRbMHgwMV0gZW5hYmxlZCkKKFhFTikgQUNQSTogTEFQSUMgKGFjcGlfaWRb
MHgwM10gbGFwaWNfaWRbMHgwM10gZW5hYmxlZCkKKFhFTikgQUNQSTogTEFQSUNfTk1JIChhY3Bp
X2lkWzB4ZmZdIGRmbCBkZmwgbGludFsweDFdKQooWEVOKSBBQ1BJOiBJT0FQSUMgKGlkWzB4MDBd
IGFkZHJlc3NbMHhmZWMwMDAwMF0gZ3NpX2Jhc2VbMF0pCihYRU4pIElPQVBJQ1swXTogYXBpY19p
ZCAwLCB2ZXJzaW9uIDMyLCBhZGRyZXNzIDB4ZmVjMDAwMDAsIEdTSSAwLTIzCihYRU4pIEFDUEk6
IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDUgZ2xvYmFsX2lycSA1IGhpZ2ggbGV2ZWwpCihY
RU4pIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDkgZ2xvYmFsX2lycSA5IGhpZ2gg
bGV2ZWwpCihYRU4pIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDEwIGdsb2JhbF9p
cnEgMTAgaGlnaCBsZXZlbCkKKFhFTikgQUNQSTogSU5UX1NSQ19PVlIgKGJ1cyAwIGJ1c19pcnEg
MTEgZ2xvYmFsX2lycSAxMSBoaWdoIGxldmVsKQooWEVOKSBBQ1BJOiBJUlE1IHVzZWQgYnkgb3Zl
cnJpZGUuCihYRU4pIEFDUEk6IElSUTkgdXNlZCBieSBvdmVycmlkZS4KKFhFTikgQUNQSTogSVJR
MTAgdXNlZCBieSBvdmVycmlkZS4KKFhFTikgQUNQSTogSVJRMTEgdXNlZCBieSBvdmVycmlkZS4K
KFhFTikgRW5hYmxpbmcgQVBJQyBtb2RlOiAgRmxhdC4gIFVzaW5nIDEgSS9PIEFQSUNzCihYRU4p
IEFDUEk6IEhQRVQgaWQ6IDB4ODA4NmEyMDEgYmFzZTogMHhmZWQwMDAwMAooWEVOKSBVc2luZyBB
Q1BJIChNQURUKSBmb3IgU01QIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24KKFhFTikgU01QOiBB
bGxvd2luZyA0IENQVXMgKDAgaG90cGx1ZyBDUFVzKQooWEVOKSBJUlEgbGltaXRzOiAyNCBHU0ks
IDgwOCBNU0kvTVNJLVgKKFhFTikgU3dpdGNoZWQgdG8gQVBJQyBkcml2ZXIgeDJhcGljX3BoeXMK
KFhFTikgTGV2ZWxsaW5nIGNhcHM6IDAKKFhFTikgTVNSIGRlZmF1bHRzOiAxZCAweDAwMDAwMDAw
LCAxYyAweDAwMDAwMDAwLCBlMWQgMHgwMDAwMDAwMCwgZTFjIDB4MDAwMDAwMDAsIERhMSAweDAw
MDAwMDAwCihYRU4pIENQVTogUGh5c2ljYWwgUHJvY2Vzc29yIElEOiAwCihYRU4pIENQVTogUHJv
Y2Vzc29yIENvcmUgSUQ6IDAKKFhFTikgQ1BVOiBMMSBJIGNhY2hlOiAzMkssIEwxIEQgY2FjaGU6
IDMySwooWEVOKSBDUFU6IEwyIGNhY2hlOiAxMDI0SwooWEVOKSBDUFU6IEwzIGNhY2hlOiAzNjYw
OEsKKFhFTikgQ1BVMDogMTIwMCAuLi4gMzAwMCBNSHoKKFhFTikgeHN0YXRlOiBzaXplOiAweGE4
OCBhbmQgc3RhdGVzOiAweDJmZgooWEVOKSBDTUNJOiBDUFUwIGhhcyBubyBDTUNJIHN1cHBvcnQK
KFhFTikgQ1BVMDogSW50ZWwgbWFjaGluZSBjaGVjayByZXBvcnRpbmcgZW5hYmxlZAooWEVOKSBT
cGVjdWxhdGl2ZSBtaXRpZ2F0aW9uIGZhY2lsaXRpZXM6CihYRU4pICAgSGFyZHdhcmUgaGludHM6
CihYRU4pICAgSGFyZHdhcmUgZmVhdHVyZXM6CihYRU4pICAgQ29tcGlsZWQtaW4gc3VwcG9ydDog
SU5ESVJFQ1RfVEhVTksgU0hBRE9XX1BBR0lORwooWEVOKSAgIFhlbiBzZXR0aW5nczogQlRJLVRo
dW5rIFJFVFBPTElORSwgU1BFQ19DVFJMOiBObywgT3RoZXI6IEJSQU5DSF9IQVJERU4KKFhFTikg
ICBMMVRGOiBiZWxpZXZlZCB2dWxuZXJhYmxlLCBtYXhwaHlzYWRkciBMMUQgNDYsIENQVUlEIDQ2
LCBTYWZlIGFkZHJlc3MgMzAwMDAwMDAwMDAwCihYRU4pICAgU3VwcG9ydCBmb3IgSFZNIFZNczog
UlNCIEVBR0VSX0ZQVQooWEVOKSAgIFN1cHBvcnQgZm9yIFBWIFZNczogUlNCIEVBR0VSX0ZQVQoo
WEVOKSAgIFhQVEkgKDY0LWJpdCBQViBvbmx5KTogRG9tMCBlbmFibGVkLCBEb21VIGVuYWJsZWQg
KHdpdGggUENJRCkKKFhFTikgICBQViBMMVRGIHNoYWRvd2luZzogRG9tMCBkaXNhYmxlZCwgRG9t
VSBlbmFibGVkCihYRU4pIFVzaW5nIHNjaGVkdWxlcjogU01QIENyZWRpdCBTY2hlZHVsZXIgcmV2
MiAoY3JlZGl0MikKKFhFTikgSW5pdGlhbGl6aW5nIENyZWRpdDIgc2NoZWR1bGVyCihYRU4pICBs
b2FkX3ByZWNpc2lvbl9zaGlmdDogMTgKKFhFTikgIGxvYWRfd2luZG93X3NoaWZ0OiAzMAooWEVO
KSAgdW5kZXJsb2FkX2JhbGFuY2VfdG9sZXJhbmNlOiAwCihYRU4pICBvdmVybG9hZF9iYWxhbmNl
X3RvbGVyYW5jZTogLTMKKFhFTikgIHJ1bnF1ZXVlcyBhcnJhbmdlbWVudDogc29ja2V0CihYRU4p
ICBjYXAgZW5mb3JjZW1lbnQgZ3JhbnVsYXJpdHk6IDEwbXMKKFhFTikgbG9hZCB0cmFja2luZyB3
aW5kb3cgbGVuZ3RoIDEwNzM3NDE4MjQgbnMKKFhFTikgSW5pdGlhbGl6aW5nIENQVSMwCihYRU4p
IFBsYXRmb3JtIHRpbWVyIGlzIDYyLjUwME1IeiBIUEVUCihYRU4pIERldGVjdGVkIDI5OTkuOTc0
IE1IeiBwcm9jZXNzb3IuCihYRU4pIGFsdCB0YWJsZSBmZmZmODJkMDQwNDUxMjkwIC0+IGZmZmY4
MmQwNDA0NWUxYWEKKFhFTikgSS9PIHZpcnR1YWxpc2F0aW9uIGRpc2FibGVkCihYRU4pIENQVTA6
IEludGVsKFIpIFhlb24oUikgUGxhdGludW0gODI3NUNMIENQVSBAIDMuMDBHSHogc3RlcHBpbmcg
MDcKKFhFTikgbnJfc29ja2V0czogMQooWEVOKSBFbmFibGVkIGRpcmVjdGVkIEVPSSB3aXRoIGlv
YXBpY19hY2tfb2xkIG9uIQooWEVOKSBFTkFCTElORyBJTy1BUElDIElSUXMKKFhFTikgIC0+IFVz
aW5nIG9sZCBBQ0sgbWV0aG9kCihYRU4pIC4uVElNRVI6IHZlY3Rvcj0weEYwIGFwaWMxPTAgcGlu
MT0wIGFwaWMyPS0xIHBpbjI9LTEKKFhFTikgVFNDIGRlYWRsaW5lIHRpbWVyIGVuYWJsZWQKKFhF
TikgQWxsb2NhdGVkIGNvbnNvbGUgcmluZyBvZiAzMiBLaUIuCihYRU4pIG13YWl0LWlkbGU6IFBs
ZWFzZSBlbmFibGUgTVdBSVQgaW4gQklPUyBTRVRVUAooWEVOKSBhbHQgdGFibGUgZmZmZjgyZDA0
MDQ1MTI5MCAtPiBmZmZmODJkMDQwNDVlMWFhCihYRU4pIENQVSAwIEFQSUMgMCAtPiBOb2RlIDAK
KFhFTikgQ1BVIDEgQVBJQyAxIC0+IE5vZGUgMAooWEVOKSBCb290aW5nIHByb2Nlc3NvciAxLzEg
ZWlwIDhmMDAwCihYRU4pIEluaXRpYWxpemluZyBDUFUjMQooWEVOKSBDUFU6IFBoeXNpY2FsIFBy
b2Nlc3NvciBJRDogMAooWEVOKSBDUFU6IFByb2Nlc3NvciBDb3JlIElEOiAwCihYRU4pIENQVTog
TDEgSSBjYWNoZTogMzJLLCBMMSBEIGNhY2hlOiAzMksKKFhFTikgQ1BVOiBMMiBjYWNoZTogMTAy
NEsKKFhFTikgQ1BVOiBMMyBjYWNoZTogMzY2MDhLCihYRU4pIENNQ0k6IENQVTEgaGFzIG5vIENN
Q0kgc3VwcG9ydAooWEVOKSBDUFUxOiBJbnRlbChSKSBYZW9uKFIpIFBsYXRpbnVtIDgyNzVDTCBD
UFUgQCAzLjAwR0h6IHN0ZXBwaW5nIDA3CihYRU4pIENQVSAyIEFQSUMgMiAtPiBOb2RlIDAKKFhF
TikgQm9vdGluZyBwcm9jZXNzb3IgMi8yIGVpcCA4ZjAwMAooWEVOKSBJbml0aWFsaXppbmcgQ1BV
IzIKKFhFTikgQ1BVOiBQaHlzaWNhbCBQcm9jZXNzb3IgSUQ6IDAKKFhFTikgQ1BVOiBQcm9jZXNz
b3IgQ29yZSBJRDogMQooWEVOKSBDUFU6IEwxIEkgY2FjaGU6IDMySywgTDEgRCBjYWNoZTogMzJL
CihYRU4pIENQVTogTDIgY2FjaGU6IDEwMjRLCihYRU4pIENQVTogTDMgY2FjaGU6IDM2NjA4Swoo
WEVOKSBDUFUyOiAxMjAwIC4uLiAzMDAwIE1IegooWEVOKSBDTUNJOiBDUFUyIGhhcyBubyBDTUNJ
IHN1cHBvcnQKKFhFTikgQ1BVMjogSW50ZWwoUikgWGVvbihSKSBQbGF0aW51bSA4Mjc1Q0wgQ1BV
IEAgMy4wMEdIeiBzdGVwcGluZyAwNwooWEVOKSBDUFUgMyBBUElDIDMgLT4gTm9kZSAwCihYRU4p
IEJvb3RpbmcgcHJvY2Vzc29yIDMvMyBlaXAgOGYwMDAKKFhFTikgSW5pdGlhbGl6aW5nIENQVSMz
CihYRU4pIENQVTogUGh5c2ljYWwgUHJvY2Vzc29yIElEOiAwCihYRU4pIENQVTogUHJvY2Vzc29y
IENvcmUgSUQ6IDEKKFhFTikgQ1BVOiBMMSBJIGNhY2hlOiAzMkssIEwxIEQgY2FjaGU6IDMySwoo
WEVOKSBDUFU6IEwyIGNhY2hlOiAxMDI0SwooWEVOKSBDUFU6IEwzIGNhY2hlOiAzNjYwOEsKKFhF
TikgQ01DSTogQ1BVMyBoYXMgbm8gQ01DSSBzdXBwb3J0CihYRU4pIENQVTM6IEludGVsKFIpIFhl
b24oUikgUGxhdGludW0gODI3NUNMIENQVSBAIDMuMDBHSHogc3RlcHBpbmcgMDcKKFhFTikgQnJv
dWdodCB1cCA0IENQVXMKKFhFTikgU2NoZWR1bGluZyBncmFudWxhcml0eTogY3B1LCAxIENQVSBw
ZXIgc2NoZWQtcmVzb3VyY2UKKFhFTikgQWRkaW5nIGNwdSAwIHRvIHJ1bnF1ZXVlIDAKKFhFTikg
IEZpcnN0IGNwdSBvbiBydW5xdWV1ZSwgYWN0aXZhdGluZwooWEVOKSBBZGRpbmcgY3B1IDEgdG8g
cnVucXVldWUgMAooWEVOKSBBZGRpbmcgY3B1IDIgdG8gcnVucXVldWUgMAooWEVOKSBBZGRpbmcg
Y3B1IDMgdG8gcnVucXVldWUgMAooWEVOKSBtY2hlY2tfcG9sbDogTWFjaGluZSBjaGVjayBwb2xs
aW5nIHRpbWVyIHN0YXJ0ZWQuCihYRU4pIHhlbm9wcm9mOiBJbml0aWFsaXphdGlvbiBmYWlsZWQu
IEludGVsIHByb2Nlc3NvciBmYW1pbHkgNiBtb2RlbCA4NSBpcyBub3Qgc3VwcG9ydGVkCihYRU4p
IE5YIChFeGVjdXRlIERpc2FibGUpIHByb3RlY3Rpb24gYWN0aXZlCihYRU4pIERvbTAgaGFzIG1h
eGltdW0gNjQ4IFBJUlFzCihYRU4pICoqKiBCdWlsZGluZyBhIFBWIERvbTAgKioqCihYRU4pICBY
ZW4gIGtlcm5lbDogNjQtYml0LCBsc2IsIGNvbXBhdDMyCihYRU4pICBEb20wIGtlcm5lbDogNjQt
Yml0LCBQQUUsIGxzYiwgcGFkZHIgMHgxMDAwMDAwIC0+IDB4MjQ5YjAwMAooWEVOKSBQSFlTSUNB
TCBNRU1PUlkgQVJSQU5HRU1FTlQ6CihYRU4pICBEb20wIGFsbG9jLjogICAwMDAwMDAwMjFjMDAw
MDAwLT4wMDAwMDAwMjIwMDAwMDAwICgxMDIyMTc2IHBhZ2VzIHRvIGJlIGFsbG9jYXRlZCkKKFhF
TikgIEluaXQuIHJhbWRpc2s6IDAwMDAwMDAyMmFjZTAwMDAtPjAwMDAwMDAyMmQzZmY0MGUKKFhF
TikgVklSVFVBTCBNRU1PUlkgQVJSQU5HRU1FTlQ6CihYRU4pICBMb2FkZWQga2VybmVsOiBmZmZm
ZmZmZjgxMDAwMDAwLT5mZmZmZmZmZjgyNDliMDAwCihYRU4pICBJbml0LiByYW1kaXNrOiAwMDAw
MDAwMDAwMDAwMDAwLT4wMDAwMDAwMDAwMDAwMDAwCihYRU4pICBQaHlzLU1hY2ggbWFwOiAwMDAw
MDA4MDAwMDAwMDAwLT4wMDAwMDA4MDAwODAwMDAwCihYRU4pICBTdGFydCBpbmZvOiAgICBmZmZm
ZmZmZjgyNDliMDAwLT5mZmZmZmZmZjgyNDliNGI4CihYRU4pICBYZW5zdG9yZSByaW5nOiAwMDAw
MDAwMDAwMDAwMDAwLT4wMDAwMDAwMDAwMDAwMDAwCihYRU4pICBDb25zb2xlIHJpbmc6ICAwMDAw
MDAwMDAwMDAwMDAwLT4wMDAwMDAwMDAwMDAwMDAwCihYRU4pICBQYWdlIHRhYmxlczogICBmZmZm
ZmZmZjgyNDljMDAwLT5mZmZmZmZmZjgyNGIzMDAwCihYRU4pICBCb290IHN0YWNrOiAgICBmZmZm
ZmZmZjgyNGIzMDAwLT5mZmZmZmZmZjgyNGI0MDAwCihYRU4pICBUT1RBTDogICAgICAgICBmZmZm
ZmZmZjgwMDAwMDAwLT5mZmZmZmZmZjgyODAwMDAwCihYRU4pICBFTlRSWSBBRERSRVNTOiBmZmZm
ZmZmZjgxZmIwMTgwCihYRU4pIERvbTAgaGFzIG1heGltdW0gMTYgVkNQVXMKKFhFTikgSW5pdGlh
bCBsb3cgbWVtb3J5IHZpcnEgdGhyZXNob2xkIHNldCBhdCAweDQwMDAgcGFnZXMuCihYRU4pIFNj
cnViYmluZyBGcmVlIFJBTSBpbiBiYWNrZ3JvdW5kCihYRU4pIFN0ZC4gTG9nbGV2ZWw6IEFsbAoo
WEVOKSBHdWVzdCBMb2dsZXZlbDogQWxsCihYRU4pICoqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKgooWEVOKSBCb290ZWQgb24gTDFURi12dWxuZXJhYmxl
IGhhcmR3YXJlIHdpdGggU01UL0h5cGVydGhyZWFkaW5nCihYRU4pIGVuYWJsZWQuICBQbGVhc2Ug
YXNzZXNzIHlvdXIgY29uZmlndXJhdGlvbiBhbmQgY2hvb3NlIGFuCihYRU4pIGV4cGxpY2l0ICdz
bXQ9PGJvb2w+JyBzZXR0aW5nLiAgU2VlIFhTQS0yNzMuCihYRU4pICoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgooWEVOKSAzLi4uIDIuLi4gMS4uLiAK
KFhFTikgKioqIFNlcmlhbCBpbnB1dCB0byBET00wICh0eXBlICdDVFJMLWEnIHRocmVlIHRpbWVz
IHRvIHN3aXRjaCBpbnB1dCkKKFhFTikgRnJlZWQgNjAwa0IgaW5pdCBtZW1vcnkKKFhFTikgUENJ
IGFkZCBkZXZpY2UgMDAwMDowMDowMC4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDEu
MAooWEVOKSBQQ0kgYWRkIGRldmljZSAwMDAwOjAwOjAxLjMKKFhFTikgUENJIGFkZCBkZXZpY2Ug
MDAwMDowMDowMy4wCihYRU4pIFBDSSBhZGQgZGV2aWNlIDAwMDA6MDA6MDQuMAooWEVOKSBQQ0kg
YWRkIGRldmljZSAwMDAwOjAwOjA1LjAK
--000000000000b94d3b060a0f85bc
Content-Type: application/octet-stream; name="dmesg.log"
Content-Disposition: attachment; filename="dmesg.log"
Content-Transfer-Encoding: base64
Content-ID: <f_loxff1080>
X-Attachment-Id: f_loxff1080

WyAgICAwLjAwMDAwMF0gTGludXggdmVyc2lvbiA0LjkuMjQxLTM3LmVsNy54ODZfNjQgKG1vY2ti
dWlsZEBjb2R5LW4xMS5yZHUyLmNlbnRvcy5vcmcpIChnY2MgdmVyc2lvbiA4LjMuMSAyMDE5MDMx
MSAoUmVkIEhhdCA4LjMuMS0zKSAoR0NDKSApICMxIFNNUCBNb24gTm92IDIgMTM6NTU6MDQgVVRD
IDIwMjAKWyAgICAwLjAwMDAwMF0gQ29tbWFuZCBsaW5lOiBwbGFjZWhvbGRlciBucl9jcHVzPTE2
IHJvb3Q9VVVJRD00NGE2YTYxMy00ZTIxLTQ3OGItYTkwOS1hYjY1M2M5ZDM5ZGYgcm8gY29uc29s
ZT10dHkwIGNyYXNoa2VybmVsPWF1dG8gbmV0LmlmbmFtZXM9MCBjb25zb2xlPXR0eVMwIGNvbnNv
bGU9aHZjMCBlYXJseXByaW50az14ZW4gbm9tb2Rlc2V0ClsgICAgMC4wMDAwMDBdIHg4Ni9mcHU6
IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDAwMTogJ3g4NyBmbG9hdGluZyBwb2ludCByZWdp
c3RlcnMnClsgICAgMC4wMDAwMDBdIHg4Ni9mcHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAw
eDAwMjogJ1NTRSByZWdpc3RlcnMnClsgICAgMC4wMDAwMDBdIHg4Ni9mcHU6IFN1cHBvcnRpbmcg
WFNBVkUgZmVhdHVyZSAweDAwNDogJ0FWWCByZWdpc3RlcnMnClsgICAgMC4wMDAwMDBdIHg4Ni9m
cHU6IFN1cHBvcnRpbmcgWFNBVkUgZmVhdHVyZSAweDAyMDogJ0FWWC01MTIgb3BtYXNrJwpbICAg
IDAuMDAwMDAwXSB4ODYvZnB1OiBTdXBwb3J0aW5nIFhTQVZFIGZlYXR1cmUgMHgwNDA6ICdBVlgt
NTEyIEhpMjU2JwpbICAgIDAuMDAwMDAwXSB4ODYvZnB1OiBTdXBwb3J0aW5nIFhTQVZFIGZlYXR1
cmUgMHgwODA6ICdBVlgtNTEyIFpNTV9IaTI1NicKWyAgICAwLjAwMDAwMF0geDg2L2ZwdTogeHN0
YXRlX29mZnNldFsyXTogIDU3NiwgeHN0YXRlX3NpemVzWzJdOiAgMjU2ClsgICAgMC4wMDAwMDBd
IHg4Ni9mcHU6IHhzdGF0ZV9vZmZzZXRbNV06IDEwODgsIHhzdGF0ZV9zaXplc1s1XTogICA2NApb
ICAgIDAuMDAwMDAwXSB4ODYvZnB1OiB4c3RhdGVfb2Zmc2V0WzZdOiAxMTUyLCB4c3RhdGVfc2l6
ZXNbNl06ICA1MTIKWyAgICAwLjAwMDAwMF0geDg2L2ZwdTogeHN0YXRlX29mZnNldFs3XTogMTY2
NCwgeHN0YXRlX3NpemVzWzddOiAxMDI0ClsgICAgMC4wMDAwMDBdIHg4Ni9mcHU6IEVuYWJsZWQg
eHN0YXRlIGZlYXR1cmVzIDB4ZTcsIGNvbnRleHQgc2l6ZSBpcyAyNjg4IGJ5dGVzLCB1c2luZyAn
c3RhbmRhcmQnIGZvcm1hdC4KWyAgICAwLjAwMDAwMF0gUmVsZWFzZWQgMCBwYWdlKHMpClsgICAg
MC4wMDAwMDBdIGU4MjA6IEJJT1MtcHJvdmlkZWQgcGh5c2ljYWwgUkFNIG1hcDoKWyAgICAwLjAw
MDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwMDAwOWVmZmZdIHVz
YWJsZQpbICAgIDAuMDAwMDAwXSBYZW46IFttZW0gMHgwMDAwMDAwMDAwMDlmYzAwLTB4MDAwMDAw
MDAwMDBmZmZmZl0gcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDAw
MDEwMDAwMC0weDAwMDAwMDAwYmZmZTlmZmZdIHVzYWJsZQpbICAgIDAuMDAwMDAwXSBYZW46IFtt
ZW0gMHgwMDAwMDAwMGJmZmVhMDAwLTB4MDAwMDAwMDBiZmZmZmZmZl0gcmVzZXJ2ZWQKWyAgICAw
LjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDBlMDAwMDAwMC0weDAwMDAwMDAwZTAzZmZmZmZd
IHJlc2VydmVkClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAwZmVjMDAwMDAtMHgw
MDAwMDAwMGZlYzAwZmZmXSByZXNlcnZlZApbICAgIDAuMDAwMDAwXSBYZW46IFttZW0gMHgwMDAw
MDAwMGZlZTAwMDAwLTB4MDAwMDAwMDBmZWVmZmZmZl0gcmVzZXJ2ZWQKWyAgICAwLjAwMDAwMF0g
WGVuOiBbbWVtIDB4MDAwMDAwMDBmZmZjMDAwMC0weDAwMDAwMDAwZmZmZmZmZmZdIHJlc2VydmVk
ClsgICAgMC4wMDAwMDBdIFhlbjogW21lbSAweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwMTQw
MDc2ZmZmXSB1c2FibGUKWyAgICAwLjAwMDAwMF0gWGVuOiBbbWVtIDB4MDAwMDAwMDIyZDQwMDAw
MC0weDAwMDAwMDAyM2ZmZmZmZmZdIHJlc2VydmVkClsgICAgMC4wMDAwMDBdIGJvb3Rjb25zb2xl
IFt4ZW5ib290MF0gZW5hYmxlZApbICAgIDAuMDAwMDAwXSBOWCAoRXhlY3V0ZSBEaXNhYmxlKSBw
cm90ZWN0aW9uOiBhY3RpdmUKWyAgICAwLjAwMDAwMF0gU01CSU9TIDIuNyBwcmVzZW50LgpbICAg
IDAuMDAwMDAwXSBETUk6IEFtYXpvbiBFQzIgYzUueGxhcmdlLywgQklPUyAxLjAgMTAvMTYvMjAx
NwpbICAgIDAuMDAwMDAwXSBIeXBlcnZpc29yIGRldGVjdGVkOiBYZW4KWyAgICAwLjAwMDAwMF0g
ZTgyMDogdXBkYXRlIFttZW0gMHgwMDAwMDAwMC0weDAwMDAwZmZmXSB1c2FibGUgPT0+IHJlc2Vy
dmVkClsgICAgMC4wMDAwMDBdIGU4MjA6IHJlbW92ZSBbbWVtIDB4MDAwYTAwMDAtMHgwMDBmZmZm
Zl0gdXNhYmxlClsgICAgMC4wMDAwMDBdIGU4MjA6IGxhc3RfcGZuID0gMHgxNDAwNzcgbWF4X2Fy
Y2hfcGZuID0gMHg0MDAwMDAwMDAKWyAgICAwLjAwMDAwMF0gTVRSUjogRGlzYWJsZWQKWyAgICAw
LjAwMDAwMF0geDg2L1BBVDogTVRSUnMgZGlzYWJsZWQsIHNraXBwaW5nIFBBVCBpbml0aWFsaXph
dGlvbiB0b28uClsgICAgMC4wMDAwMDBdIHg4Ni9QQVQ6IENvbmZpZ3VyYXRpb24gWzAtN106IFdC
ICBXVCAgVUMtIFVDICBXQyAgV1AgIFVDICBVQyAgClsgICAgMC4wMDAwMDBdIGU4MjA6IGxhc3Rf
cGZuID0gMHhiZmZlYSBtYXhfYXJjaF9wZm4gPSAweDQwMDAwMDAwMApbICAgIDAuMDAwMDAwXSBC
YXNlIG1lbW9yeSB0cmFtcG9saW5lIGF0IFtmZmZmODgwMDAwMDk5MDAwXSA5OTAwMCBzaXplIDI0
NTc2ClsgICAgMC4wMDAwMDBdIFJBTURJU0s6IFttZW0gMHgwNDAwMDAwMC0weDA2NzFmZmZmXQpb
ICAgIDAuMDAwMDAwXSBBQ1BJOiBFYXJseSB0YWJsZSBjaGVja3N1bSB2ZXJpZmljYXRpb24gZGlz
YWJsZWQKWyAgICAwLjAwMDAwMF0gQUNQSTogUlNEUCAweDAwMDAwMDAwMDAwRjhGNDAgMDAwMDE0
ICh2MDAgQU1BWk9OKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBSU0RUIDB4MDAwMDAwMDBCRkZFRTI2
MCAwMDAwNDQgKHYwMSBBTUFaT04gQU1aTlJTRFQgMDAwMDAwMDEgQU1aTiAwMDAwMDAwMSkKWyAg
ICAwLjAwMDAwMF0gQUNQSTogRkFDUCAweDAwMDAwMDAwQkZGRUZGODAgMDAwMDc0ICh2MDEgQU1B
Wk9OIEFNWk5GQUNQIDAwMDAwMDAxIEFNWk4gMDAwMDAwMDEpClsgICAgMC4wMDAwMDBdIEFDUEk6
IERTRFQgMHgwMDAwMDAwMEJGRkVFMkIwIDAwMTBFOSAodjAxIEFNQVpPTiBBTVpORFNEVCAwMDAw
MDAwMSBBTVpOIDAwMDAwMDAxKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBGQUNTIDB4MDAwMDAwMDBC
RkZFRkY0MCAwMDAwNDAKWyAgICAwLjAwMDAwMF0gQUNQSTogU1NEVCAweDAwMDAwMDAwQkZGRUY2
MDAgMDAwOTNDICh2MDEgQU1BWk9OIEFNWk5TU0RUIDAwMDAwMDAxIEFNWk4gMDAwMDAwMDEpClsg
ICAgMC4wMDAwMDBdIEFDUEk6IEFQSUMgMHgwMDAwMDAwMEJGRkVGNTAwIDAwMDA4NiAodjAxIEFN
QVpPTiBBTVpOQVBJQyAwMDAwMDAwMSBBTVpOIDAwMDAwMDAxKQpbICAgIDAuMDAwMDAwXSBBQ1BJ
OiBTUkFUIDB4MDAwMDAwMDBCRkZFRjQ0MCAwMDAwQzAgKHYwMSBBTUFaT04gQU1aTlNSQVQgMDAw
MDAwMDEgQU1aTiAwMDAwMDAwMSkKWyAgICAwLjAwMDAwMF0gQUNQSTogU0xJVCAweDAwMDAwMDAw
QkZGRUYzRDAgMDAwMDZDICh2MDEgQU1BWk9OIEFNWk5TTElUIDAwMDAwMDAxIEFNWk4gMDAwMDAw
MDEpClsgICAgMC4wMDAwMDBdIEFDUEk6IFdBRVQgMHgwMDAwMDAwMEJGRkVGM0EwIDAwMDAyOCAo
djAxIEFNQVpPTiBBTVpOV0FFVCAwMDAwMDAwMSBBTVpOIDAwMDAwMDAxKQpbICAgIDAuMDAwMDAw
XSBBQ1BJOiBIUEVUIDB4MDAwMDAwMDAwMDBDOTAwMCAwMDAwMzggKHYwMSBBTUFaT04gQU1aTkhQ
RVQgMDAwMDAwMDEgQU1aTiAwMDAwMDAwMSkKWyAgICAwLjAwMDAwMF0gQUNQSTogU1NEVCAweDAw
MDAwMDAwMDAwQzkwNDAgMDAwMDdCICh2MDEgQU1BWk9OIEFNWk5TU0RUIDAwMDAwMDAxIEFNWk4g
MDAwMDAwMDEpClsgICAgMC4wMDAwMDBdIEFDUEk6IExvY2FsIEFQSUMgYWRkcmVzcyAweGZlZTAw
MDAwClsgICAgMC4wMDAwMDBdIFNldHRpbmcgQVBJQyByb3V0aW5nIHRvIFhlbiBQVi4KWyAgICAw
LjAwMDAwMF0gTlVNQSB0dXJuZWQgb2ZmClsgICAgMC4wMDAwMDBdIEZha2luZyBhIG5vZGUgYXQg
W21lbSAweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMTQwMDc2ZmZmXQpbICAgIDAuMDAwMDAw
XSBOT0RFX0RBVEEoMCkgYWxsb2NhdGVkIFttZW0gMHhiZjdkYTAwMC0weGJmODA0ZmZmXQpbICAg
IDAuMDAwMDAwXSBrZXhlY19jb3JlOiBjcmFzaGtlcm5lbDogbWVtb3J5IHZhbHVlIGV4cGVjdGVk
ClsgICAgMC4wMDAwMDBdIFpvbmUgcmFuZ2VzOgpbICAgIDAuMDAwMDAwXSAgIERNQSAgICAgIFtt
ZW0gMHgwMDAwMDAwMDAwMDAxMDAwLTB4MDAwMDAwMDAwMGZmZmZmZl0KWyAgICAwLjAwMDAwMF0g
ICBETUEzMiAgICBbbWVtIDB4MDAwMDAwMDAwMTAwMDAwMC0weDAwMDAwMDAwZmZmZmZmZmZdClsg
ICAgMC4wMDAwMDBdICAgTm9ybWFsICAgW21lbSAweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAw
MTQwMDc2ZmZmXQpbICAgIDAuMDAwMDAwXSAgIERldmljZSAgIGVtcHR5ClsgICAgMC4wMDAwMDBd
IE1vdmFibGUgem9uZSBzdGFydCBmb3IgZWFjaCBub2RlClsgICAgMC4wMDAwMDBdIEVhcmx5IG1l
bW9yeSBub2RlIHJhbmdlcwpbICAgIDAuMDAwMDAwXSAgIG5vZGUgICAwOiBbbWVtIDB4MDAwMDAw
MDAwMDAwMTAwMC0weDAwMDAwMDAwMDAwOWVmZmZdClsgICAgMC4wMDAwMDBdICAgbm9kZSAgIDA6
IFttZW0gMHgwMDAwMDAwMDAwMTAwMDAwLTB4MDAwMDAwMDBiZmZlOWZmZl0KWyAgICAwLjAwMDAw
MF0gICBub2RlICAgMDogW21lbSAweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwMTQwMDc2ZmZm
XQpbICAgIDAuMDAwMDAwXSBJbml0bWVtIHNldHVwIG5vZGUgMCBbbWVtIDB4MDAwMDAwMDAwMDAw
MTAwMC0weDAwMDAwMDAxNDAwNzZmZmZdClsgICAgMC4wMDAwMDBdIE9uIG5vZGUgMCB0b3RhbHBh
Z2VzOiAxMDQ4NTc1ClsgICAgMC4wMDAwMDBdICAgRE1BIHpvbmU6IDY0IHBhZ2VzIHVzZWQgZm9y
IG1lbW1hcApbICAgIDAuMDAwMDAwXSAgIERNQSB6b25lOiAyMSBwYWdlcyByZXNlcnZlZApbICAg
IDAuMDAwMDAwXSAgIERNQSB6b25lOiAzOTk4IHBhZ2VzLCBMSUZPIGJhdGNoOjAKWyAgICAwLjAw
MDAwMF0gICBETUEzMiB6b25lOiAxMjIyNCBwYWdlcyB1c2VkIGZvciBtZW1tYXAKWyAgICAwLjAw
MDAwMF0gICBETUEzMiB6b25lOiA3ODIzMTQgcGFnZXMsIExJRk8gYmF0Y2g6MzEKWyAgICAwLjAw
MDAwMF0gICBOb3JtYWwgem9uZTogNDA5OCBwYWdlcyB1c2VkIGZvciBtZW1tYXAKWyAgICAwLjAw
MDAwMF0gICBOb3JtYWwgem9uZTogMjYyMjYzIHBhZ2VzLCBMSUZPIGJhdGNoOjMxClsgICAgMC4w
MDAwMDBdIHAybSB2aXJ0dWFsIGFyZWEgYXQgZmZmZmM5MDAwMDAwMDAwMCwgc2l6ZSBpcyA0MDAw
MDAwMApbICAgIDAuMDAwMDAwXSBSZW1hcHBlZCAyNjIyNjMgcGFnZShzKQpbICAgIDAuMDAwMDAw
XSBBQ1BJOiBQTS1UaW1lciBJTyBQb3J0OiAweGIwMDgKWyAgICAwLjAwMDAwMF0gQUNQSTogTG9j
YWwgQVBJQyBhZGRyZXNzIDB4ZmVlMDAwMDAKWyAgICAwLjAwMDAwMF0gQUNQSTogTEFQSUNfTk1J
IChhY3BpX2lkWzB4ZmZdIGRmbCBkZmwgbGludFsweDFdKQpbICAgIDAuMDAwMDAwXSBJT0FQSUNb
MF06IGFwaWNfaWQgMCwgdmVyc2lvbiAzMiwgYWRkcmVzcyAweGZlYzAwMDAwLCBHU0kgMC0yMwpb
ICAgIDAuMDAwMDAwXSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSA1IGdsb2JhbF9p
cnEgNSBoaWdoIGxldmVsKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBJTlRfU1JDX09WUiAoYnVzIDAg
YnVzX2lycSA5IGdsb2JhbF9pcnEgOSBoaWdoIGxldmVsKQpbICAgIDAuMDAwMDAwXSBBQ1BJOiBJ
TlRfU1JDX09WUiAoYnVzIDAgYnVzX2lycSAxMCBnbG9iYWxfaXJxIDEwIGhpZ2ggbGV2ZWwpClsg
ICAgMC4wMDAwMDBdIEFDUEk6IElOVF9TUkNfT1ZSIChidXMgMCBidXNfaXJxIDExIGdsb2JhbF9p
cnEgMTEgaGlnaCBsZXZlbCkKWyAgICAwLjAwMDAwMF0gQUNQSTogSVJRNSB1c2VkIGJ5IG92ZXJy
aWRlLgpbICAgIDAuMDAwMDAwXSBBQ1BJOiBJUlE5IHVzZWQgYnkgb3ZlcnJpZGUuClsgICAgMC4w
MDAwMDBdIEFDUEk6IElSUTEwIHVzZWQgYnkgb3ZlcnJpZGUuClsgICAgMC4wMDAwMDBdIEFDUEk6
IElSUTExIHVzZWQgYnkgb3ZlcnJpZGUuClsgICAgMC4wMDAwMDBdIFVzaW5nIEFDUEkgKE1BRFQp
IGZvciBTTVAgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbgpbICAgIDAuMDAwMDAwXSBBQ1BJOiBI
UEVUIGlkOiAweDgwODZhMjAxIGJhc2U6IDB4ZmVkMDAwMDAKWyAgICAwLjAwMDAwMF0gc21wYm9v
dDogQWxsb3dpbmcgNCBDUFVzLCAwIGhvdHBsdWcgQ1BVcwpbICAgIDAuMDAwMDAwXSBQTTogUmVn
aXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVtIDB4MDAwMDAwMDAtMHgwMDAwMGZmZl0KWyAgICAw
LjAwMDAwMF0gUE06IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTogW21lbSAweDAwMDlmMDAwLTB4
MDAwOWZmZmZdClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFtt
ZW0gMHgwMDBhMDAwMC0weDAwMGZmZmZmXQpbICAgIDAuMDAwMDAwXSBQTTogUmVnaXN0ZXJlZCBu
b3NhdmUgbWVtb3J5OiBbbWVtIDB4YmZmZWEwMDAtMHhiZmZmZmZmZl0KWyAgICAwLjAwMDAwMF0g
UE06IFJlZ2lzdGVyZWQgbm9zYXZlIG1lbW9yeTogW21lbSAweGMwMDAwMDAwLTB4ZGZmZmZmZmZd
ClsgICAgMC4wMDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhlMDAw
MDAwMC0weGUwM2ZmZmZmXQpbICAgIDAuMDAwMDAwXSBQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVt
b3J5OiBbbWVtIDB4ZTA0MDAwMDAtMHhmZWJmZmZmZl0KWyAgICAwLjAwMDAwMF0gUE06IFJlZ2lz
dGVyZWQgbm9zYXZlIG1lbW9yeTogW21lbSAweGZlYzAwMDAwLTB4ZmVjMDBmZmZdClsgICAgMC4w
MDAwMDBdIFBNOiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmZWMwMTAwMC0weGZl
ZGZmZmZmXQpbICAgIDAuMDAwMDAwXSBQTTogUmVnaXN0ZXJlZCBub3NhdmUgbWVtb3J5OiBbbWVt
IDB4ZmVlMDAwMDAtMHhmZWVmZmZmZl0KWyAgICAwLjAwMDAwMF0gUE06IFJlZ2lzdGVyZWQgbm9z
YXZlIG1lbW9yeTogW21lbSAweGZlZjAwMDAwLTB4ZmZmYmZmZmZdClsgICAgMC4wMDAwMDBdIFBN
OiBSZWdpc3RlcmVkIG5vc2F2ZSBtZW1vcnk6IFttZW0gMHhmZmZjMDAwMC0weGZmZmZmZmZmXQpb
ICAgIDAuMDAwMDAwXSBlODIwOiBbbWVtIDB4YzAwMDAwMDAtMHhkZmZmZmZmZl0gYXZhaWxhYmxl
IGZvciBQQ0kgZGV2aWNlcwpbICAgIDAuMDAwMDAwXSBCb290aW5nIHBhcmF2aXJ0dWFsaXplZCBr
ZXJuZWwgb24gWGVuClsgICAgMC4wMDAwMDBdIFhlbiB2ZXJzaW9uOiA0LjE0LjUuMjQuZzg3ZDkw
ZDUxIChwcmVzZXJ2ZS1BRCkKWyAgICAwLjAwMDAwMF0gY2xvY2tzb3VyY2U6IHJlZmluZWQtamlm
ZmllczogbWFzazogMHhmZmZmZmZmZiBtYXhfY3ljbGVzOiAweGZmZmZmZmZmLCBtYXhfaWRsZV9u
czogMTkxMDk2OTk0MDM5MTQxOSBucwpbICAgIDAuMDAwMDAwXSBzZXR1cF9wZXJjcHU6IE5SX0NQ
VVM6ODE5MiBucl9jcHVtYXNrX2JpdHM6NCBucl9jcHVfaWRzOjQgbnJfbm9kZV9pZHM6MQpbICAg
IDAuMDAwMDAwXSBwZXJjcHU6IEVtYmVkZGVkIDM2IHBhZ2VzL2NwdSBzMTA3MTYwIHI4MTkyIGQz
MjEwNCB1NTI0Mjg4ClsgICAgMC4wMDAwMDBdIHBjcHUtYWxsb2M6IHMxMDcxNjAgcjgxOTIgZDMy
MTA0IHU1MjQyODggYWxsb2M9MSoyMDk3MTUyClsgICAgMC4wMDAwMDBdIHBjcHUtYWxsb2M6IFsw
XSAwIDEgMiAzIApbICAgIDAuMDAwMDAwXSBCdWlsdCAxIHpvbmVsaXN0cyBpbiBOb2RlIG9yZGVy
LCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFsIHBhZ2VzOiAxMDMyMTY4ClsgICAgMC4wMDAw
MDBdIFBvbGljeSB6b25lOiBOb3JtYWwKWyAgICAwLjAwMDAwMF0gS2VybmVsIGNvbW1hbmQgbGlu
ZTogcGxhY2Vob2xkZXIgbnJfY3B1cz0xNiByb290PVVVSUQ9NDRhNmE2MTMtNGUyMS00NzhiLWE5
MDktYWI2NTNjOWQzOWRmIHJvIGNvbnNvbGU9dHR5MCBjcmFzaGtlcm5lbD1hdXRvIG5ldC5pZm5h
bWVzPTAgY29uc29sZT10dHlTMCBjb25zb2xlPWh2YzAgZWFybHlwcmludGs9eGVuIG5vbW9kZXNl
dApbICAgIDAuMDAwMDAwXSBQSUQgaGFzaCB0YWJsZSBlbnRyaWVzOiA0MDk2IChvcmRlcjogMywg
MzI3NjggYnl0ZXMpClsgICAgMC4wMDAwMDBdIHNvZnR3YXJlIElPIFRMQjogbWFwcGVkIFttZW0g
MHgxM2JlMDAwMDAtMHgxM2ZlMDAwMDBdICg2NE1CKQpbICAgIDAuMDAwMDAwXSBNZW1vcnk6IDM5
ODIyNDhLLzQxOTQzMDBLIGF2YWlsYWJsZSAoODkxOUsga2VybmVsIGNvZGUsIDE2MTVLIHJ3ZGF0
YSwgNDAyNEsgcm9kYXRhLCAyMzg0SyBpbml0LCAyNTQ0SyBic3MsIDIxMjA1MksgcmVzZXJ2ZWQs
IDBLIGNtYS1yZXNlcnZlZCkKWyAgICAwLjAwMDAwMF0gSGllcmFyY2hpY2FsIFJDVSBpbXBsZW1l
bnRhdGlvbi4KWyAgICAwLjAwMDAwMF0gCUJ1aWxkLXRpbWUgYWRqdXN0bWVudCBvZiBsZWFmIGZh
bm91dCB0byA2NC4KWyAgICAwLjAwMDAwMF0gCVJDVSByZXN0cmljdGluZyBDUFVzIGZyb20gTlJf
Q1BVUz04MTkyIHRvIG5yX2NwdV9pZHM9NC4KWyAgICAwLjAwMDAwMF0gUkNVOiBBZGp1c3Rpbmcg
Z2VvbWV0cnkgZm9yIHJjdV9mYW5vdXRfbGVhZj02NCwgbnJfY3B1X2lkcz00ClsgICAgMC4wMDAw
MDBdIFVzaW5nIE5VTEwgbGVnYWN5IFBJQwpbICAgIDAuMDAwMDAwXSBOUl9JUlFTOjUyNDU0NCBu
cl9pcnFzOjQ1NiAwClsgICAgMC4wMDAwMDBdIHhlbjpldmVudHM6IFVzaW5nIEZJRk8tYmFzZWQg
QUJJClsgICAgMC4wMDAwMDBdIHhlbiBtYXAgaXJxIGZhaWxlZCAtMQpbICAgIDAuMDAwMDAwXSB4
ZW46IC0tPiBwaXJxPTEgLT4gaXJxPTEgKGdzaT0xKQpbICAgIDAuMDAwMDAwXSB4ZW46IC0tPiBw
aXJxPTIgLT4gaXJxPTIgKGdzaT0yKQpbICAgIDAuMDAwMDAwXSB4ZW46IC0tPiBwaXJxPTMgLT4g
aXJxPTMgKGdzaT0zKQpbICAgIDAuMDAwMDAwXSB4ZW46IC0tPiBwaXJxPTQgLT4gaXJxPTQgKGdz
aT00KQpbICAgIDAuMDAwMDAwXSB4ZW46IC0tPiBwaXJxPTUgLT4gaXJxPTUgKGdzaT01KQpbICAg
IDAuMDAwMDAwXSB4ZW46IC0tPiBwaXJxPTYgLT4gaXJxPTYgKGdzaT02KQpbICAgIDAuMDAwMDAw
XSB4ZW46IC0tPiBwaXJxPTcgLT4gaXJxPTcgKGdzaT03KQpbICAgIDAuMDAwMDAwXSB4ZW46IC0t
PiBwaXJxPTggLT4gaXJxPTggKGdzaT04KQpbICAgIDAuMDAwMDAwXSB4ZW46IC0tPiBwaXJxPTkg
LT4gaXJxPTkgKGdzaT05KQpbICAgIDAuMDAwMDAwXSB4ZW46IC0tPiBwaXJxPTEwIC0+IGlycT0x
MCAoZ3NpPTEwKQpbICAgIDAuMDAwMDAwXSB4ZW46IC0tPiBwaXJxPTExIC0+IGlycT0xMSAoZ3Np
PTExKQpbICAgIDAuMDAwMDAwXSB4ZW46IC0tPiBwaXJxPTEyIC0+IGlycT0xMiAoZ3NpPTEyKQpb
ICAgIDAuMDAwMDAwXSB4ZW46IC0tPiBwaXJxPTEzIC0+IGlycT0xMyAoZ3NpPTEzKQpbICAgIDAu
MDAwMDAwXSB4ZW46IC0tPiBwaXJxPTE0IC0+IGlycT0xNCAoZ3NpPTE0KQpbICAgIDAuMDAwMDAw
XSB4ZW46IC0tPiBwaXJxPTE1IC0+IGlycT0xNSAoZ3NpPTE1KQpbICAgIDAuMDAwMDAwXSAJT2Zm
bG9hZCBSQ1UgY2FsbGJhY2tzIGZyb20gYWxsIENQVXMKWyAgICAwLjAwMDAwMF0gCU9mZmxvYWQg
UkNVIGNhbGxiYWNrcyBmcm9tIENQVXM6IDAtMy4KWyAgICAwLjAwMDAwMF0gQ29uc29sZTogY29s
b3VyIFZHQSsgODB4MjUKWyAgICAwLjAwMDAwMF0gY29uc29sZSBbdHR5MF0gZW5hYmxlZApbICAg
IDAuMDAwMDAwXSBjb25zb2xlIFtodmMwXSBlbmFibGVkClsgICAgMC4wMDAwMDBdIGJvb3Rjb25z
b2xlIFt4ZW5ib290MF0gZGlzYWJsZWQKWyAgICAwLjAwMDAwMF0gY29uc29sZSBbdHR5UzBdIGVu
YWJsZWQKWyAgICAwLjAwMDAwMF0gY2xvY2tzb3VyY2U6IHhlbjogbWFzazogMHhmZmZmZmZmZmZm
ZmZmZmZmIG1heF9jeWNsZXM6IDB4MWNkNDJlNGRmZmIsIG1heF9pZGxlX25zOiA4ODE1OTA1OTE0
ODMgbnMKWyAgICAwLjAwMDAwMF0gWGVuOiB1c2luZyB2Y3B1b3AgdGltZXIgaW50ZXJmYWNlClsg
ICAgMC4wMDAwMDBdIGluc3RhbGxpbmcgWGVuIHRpbWVyIGZvciBDUFUgMApbICAgIDAuMDAwMDAw
XSB0c2M6IFVuYWJsZSB0byBjYWxpYnJhdGUgYWdhaW5zdCBQSVQKWyAgICAwLjAwMDAwMF0gdHNj
OiBIUEVUL1BNVElNRVIgY2FsaWJyYXRpb24gZmFpbGVkClsgICAgMC4wMDAwMDBdIHRzYzogRGV0
ZWN0ZWQgMjk5OS45NzQgTUh6IHByb2Nlc3NvcgpbICAgIDUuOTI3ODE4XSBDYWxpYnJhdGluZyBk
ZWxheSBsb29wIChza2lwcGVkKSwgdmFsdWUgY2FsY3VsYXRlZCB1c2luZyB0aW1lciBmcmVxdWVu
Y3kuLiA1OTk5Ljk0IEJvZ29NSVBTIChscGo9Mjk5OTk3NCkKWyAgICA1LjkzOTE4Ml0gcGlkX21h
eDogZGVmYXVsdDogMzI3NjggbWluaW11bTogMzAxClsgICAgNS45NDQzNjFdIEFDUEk6IENvcmUg
cmV2aXNpb24gMjAxNjA4MzEKWyAgICA1Ljk1MDU2MF0gQUNQSTogMyBBQ1BJIEFNTCB0YWJsZXMg
c3VjY2Vzc2Z1bGx5IGFjcXVpcmVkIGFuZCBsb2FkZWQKWyAgICA1Ljk1ODA3N10gU2VjdXJpdHkg
RnJhbWV3b3JrIGluaXRpYWxpemVkClsgICAgNS45NjI4NTVdIFlhbWE6IGJlY29taW5nIG1pbmRm
dWwuClsgICAgNS45NjcxNjZdIFNFTGludXg6ICBJbml0aWFsaXppbmcuClsgICAgNS45NzE0OThd
IFNFTGludXg6ICBTdGFydGluZyBpbiBwZXJtaXNzaXZlIG1vZGUKWyAgICA1Ljk3MjEyMl0gRGVu
dHJ5IGNhY2hlIGhhc2ggdGFibGUgZW50cmllczogNTI0Mjg4IChvcmRlcjogMTAsIDQxOTQzMDQg
Ynl0ZXMpClsgICAgNS45ODE1NDldIElub2RlLWNhY2hlIGhhc2ggdGFibGUgZW50cmllczogMjYy
MTQ0IChvcmRlcjogOSwgMjA5NzE1MiBieXRlcykKWyAgICA1Ljk4ODkxNV0gTW91bnQtY2FjaGUg
aGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjogNCwgNjU1MzYgYnl0ZXMpClsgICAgNS45
OTU3MDBdIE1vdW50cG9pbnQtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA4MTkyIChvcmRlcjog
NCwgNjU1MzYgYnl0ZXMpClsgICAgNi4wMDM0MDNdIG1jZTogQ1BVIHN1cHBvcnRzIDIgTUNFIGJh
bmtzClsgICAgNi4wMDgxNzddIExhc3QgbGV2ZWwgaVRMQiBlbnRyaWVzOiA0S0IgNjQsIDJNQiA4
LCA0TUIgOApbICAgIDYuMDEzOTU1XSBMYXN0IGxldmVsIGRUTEIgZW50cmllczogNEtCIDY0LCAy
TUIgMCwgNE1CIDAsIDFHQiA0ClsgICAgNi4wMjAxNzJdIFNwZWN0cmUgVjEgOiBNaXRpZ2F0aW9u
OiB1c2VyY29weS9zd2FwZ3MgYmFycmllcnMgYW5kIF9fdXNlciBwb2ludGVyIHNhbml0aXphdGlv
bgpbICAgIDYuMDI5NjkyXSBTcGVjdHJlIFYyIDogTWl0aWdhdGlvbjogRnVsbCBnZW5lcmljIHJl
dHBvbGluZQpbICAgIDYuMDM1Njk3XSBTcGVjdHJlIFYyIDogU3BlY3RyZSB2MiAvIFNwZWN0cmVS
U0IgbWl0aWdhdGlvbjogRmlsbGluZyBSU0Igb24gY29udGV4dCBzd2l0Y2gKWyAgICA2LjA0NTA5
OF0gU3BlY3VsYXRpdmUgU3RvcmUgQnlwYXNzOiBWdWxuZXJhYmxlClsgICAgNi4wNTA0OTBdIE1E
UzogVnVsbmVyYWJsZTogQ2xlYXIgQ1BVIGJ1ZmZlcnMgYXR0ZW1wdGVkLCBubyBtaWNyb2NvZGUK
WyAgICA2LjA1OTUxMF0gRnJlZWluZyBTTVAgYWx0ZXJuYXRpdmVzIG1lbW9yeTogMzJLClsgICAg
Ni4wNjg2NjddIGZ0cmFjZTogYWxsb2NhdGluZyAzNDU3MCBlbnRyaWVzIGluIDEzNiBwYWdlcwpb
ICAgIDYuMTI0NDQ3XSBzbXBib290OiBNYXggbG9naWNhbCBwYWNrYWdlczogMgpbICAgIDYuMTI5
NDI0XSBWUE1VIGRpc2FibGVkIGJ5IGh5cGVydmlzb3IuClsgICAgNi4xMzQwNThdIFBlcmZvcm1h
bmNlIEV2ZW50czogdW5zdXBwb3J0ZWQgcDYgQ1BVIG1vZGVsIDg1IG5vIFBNVSBkcml2ZXIsIHNv
ZnR3YXJlIGV2ZW50cyBvbmx5LgpbICAgIDYuMTQ0ODI4XSBOTUkgd2F0Y2hkb2c6IGRpc2FibGVk
IChjcHUwKTogaGFyZHdhcmUgZXZlbnRzIG5vdCBlbmFibGVkClsgICAgNi4xNTE1NzldIE5NSSB3
YXRjaGRvZzogU2h1dHRpbmcgZG93biBoYXJkIGxvY2t1cCBkZXRlY3RvciBvbiBhbGwgY3B1cwpb
ICAgIDYuMTU4NzQ3XSBpbnN0YWxsaW5nIFhlbiB0aW1lciBmb3IgQ1BVIDEKWyAgICA2LjE2Mzk1
OV0gTURTIENQVSBidWcgcHJlc2VudCBhbmQgU01UIG9uLCBkYXRhIGxlYWsgcG9zc2libGUuIFNl
ZSBodHRwczovL3d3dy5rZXJuZWwub3JnL2RvYy9odG1sL2xhdGVzdC9hZG1pbi1ndWlkZS9ody12
dWxuL21kcy5odG1sIGZvciBtb3JlIGRldGFpbHMuClsgICAgNi4xNzgwODNdIGluc3RhbGxpbmcg
WGVuIHRpbWVyIGZvciBDUFUgMgpbICAgIDYuMTgzNTIzXSBpbnN0YWxsaW5nIFhlbiB0aW1lciBm
b3IgQ1BVIDMKWyAgICA2LjE4ODYxMV0geDg2OiBCb290ZWQgdXAgMSBub2RlLCA0IENQVXMKWyAg
ICA2LjE5Mzg3NF0gZGV2dG1wZnM6IGluaXRpYWxpemVkClsgICAgNi4xOTc1MTRdIHg4Ni9tbTog
TWVtb3J5IGJsb2NrIHNpemU6IDEyOE1CClsgICAgNi4yMDQ2NDFdIGNsb2Nrc291cmNlOiBqaWZm
aWVzOiBtYXNrOiAweGZmZmZmZmZmIG1heF9jeWNsZXM6IDB4ZmZmZmZmZmYsIG1heF9pZGxlX25z
OiAxOTExMjYwNDQ2Mjc1MDAwIG5zClsgICAgNi4yMTUzMTJdIGZ1dGV4IGhhc2ggdGFibGUgZW50
cmllczogMTAyNCAob3JkZXI6IDQsIDY1NTM2IGJ5dGVzKQpbICAgIDYuMjIxODQ4XSBhdG9taWM2
NF90ZXN0OiBwYXNzZWQgZm9yIHg4Ni02NCBwbGF0Zm9ybSB3aXRoIENYOCBhbmQgd2l0aCBTU0UK
WyAgICA2LjIyODkzN10gcGluY3RybCBjb3JlOiBpbml0aWFsaXplZCBwaW5jdHJsIHN1YnN5c3Rl
bQpbICAgIDYuMjM1MDEzXSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDE2ClsgICAg
Ni4yNDAxMTFdIHhlbjpncmFudF90YWJsZTogR3JhbnQgdGFibGVzIHVzaW5nIHZlcnNpb24gMSBs
YXlvdXQKWyAgICA2LjI0NjQzM10gR3JhbnQgdGFibGUgaW5pdGlhbGl6ZWQKWyAgICA2LjI1MTg5
N10gQUNQSTogYnVzIHR5cGUgUENJIHJlZ2lzdGVyZWQKWyAgICA2LjI1NTc4Ml0gYWNwaXBocDog
QUNQSSBIb3QgUGx1ZyBQQ0kgQ29udHJvbGxlciBEcml2ZXIgdmVyc2lvbjogMC41ClsgICAgNi4y
NjE0NDBdIFBDSTogVXNpbmcgY29uZmlndXJhdGlvbiB0eXBlIDEgZm9yIGJhc2UgYWNjZXNzClsg
ICAgNi4yNzM0ODBdIEFDUEk6IEFkZGVkIF9PU0koTW9kdWxlIERldmljZSkKWyAgICA2LjI3NjI3
NV0gcmFuZG9tOiBmYXN0IGluaXQgZG9uZQpbICAgIDYuMjgyNTQ1XSBBQ1BJOiBBZGRlZCBfT1NJ
KFByb2Nlc3NvciBEZXZpY2UpClsgICAgNi4yODc1NzhdIEFDUEk6IEFkZGVkIF9PU0koMy4wIF9T
Q1AgRXh0ZW5zaW9ucykKWyAgICA2LjI5Mjc4NV0gQUNQSTogQWRkZWQgX09TSShQcm9jZXNzb3Ig
QWdncmVnYXRvciBEZXZpY2UpClsgICAgNi4yOTg5OThdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDkg
dHJpZ2dlcmluZyAwIHBvbGFyaXR5IDAKWyAgICA2LjMwMDkwM10gQUNQSTogSW50ZXJwcmV0ZXIg
ZW5hYmxlZApbICAgIDYuMzA1MzQzXSBBQ1BJOiAoc3VwcG9ydHMgUzAgUzQgUzUpClsgICAgNi4z
MDk3NDBdIEFDUEk6IFVzaW5nIElPQVBJQyBmb3IgaW50ZXJydXB0IHJvdXRpbmcKWyAgICA2LjMx
NTE2OF0gUENJOiBVc2luZyBob3N0IGJyaWRnZSB3aW5kb3dzIGZyb20gQUNQSTsgaWYgbmVjZXNz
YXJ5LCB1c2UgInBjaT1ub2NycyIgYW5kIHJlcG9ydCBhIGJ1ZwpbICAgIDYuMzI4ODE5XSBBQ1BJ
OiBQQ0kgUm9vdCBCcmlkZ2UgW1BDSTBdIChkb21haW4gMDAwMCBbYnVzIDAwLWZmXSkKWyAgICA2
LjQwMzg5Nl0gYWNwaSBQTlAwQTAzOjAwOiBfT1NDOiBPUyBzdXBwb3J0cyBbQVNQTSBDbG9ja1BN
IFNlZ21lbnRzIE1TSV0KWyAgICA2LjQxMDAzN10gYWNwaSBQTlAwQTAzOjAwOiBfT1NDIGZhaWxl
ZCAoQUVfTk9UX0ZPVU5EKTsgZGlzYWJsaW5nIEFTUE0KWyAgICA2LjQxNTk2NV0gYWNwaSBQTlAw
QTAzOjAwOiBmYWlsIHRvIGFkZCBNTUNPTkZJRyBpbmZvcm1hdGlvbiwgY2FuJ3QgYWNjZXNzIGV4
dGVuZGVkIFBDSSBjb25maWd1cmF0aW9uIHNwYWNlIHVuZGVyIHRoaXMgYnJpZGdlLgpbICAgIDYu
NDI3MTEyXSBhY3BpcGhwOiBTbG90IFszXSByZWdpc3RlcmVkClsgICAgNi40MzEzMjZdIGFjcGlw
aHA6IFNsb3QgWzRdIHJlZ2lzdGVyZWQKWyAgICA2LjQzNTU0MF0gYWNwaXBocDogU2xvdCBbNV0g
cmVnaXN0ZXJlZApbICAgIDYuNDM5NzQ4XSBhY3BpcGhwOiBTbG90IFs2XSByZWdpc3RlcmVkClsg
ICAgNi40NDM5NjNdIGFjcGlwaHA6IFNsb3QgWzddIHJlZ2lzdGVyZWQKWyAgICA2LjQ0ODE1M10g
YWNwaXBocDogU2xvdCBbOF0gcmVnaXN0ZXJlZApbICAgIDYuNDUyMzQ2XSBhY3BpcGhwOiBTbG90
IFs5XSByZWdpc3RlcmVkClsgICAgNi40NTY1NjhdIGFjcGlwaHA6IFNsb3QgWzEwXSByZWdpc3Rl
cmVkClsgICAgNi40NjA4NThdIGFjcGlwaHA6IFNsb3QgWzExXSByZWdpc3RlcmVkClsgICAgNi40
NjUxMDVdIGFjcGlwaHA6IFNsb3QgWzEyXSByZWdpc3RlcmVkClsgICAgNi40NjkzNjBdIGFjcGlw
aHA6IFNsb3QgWzEzXSByZWdpc3RlcmVkClsgICAgNi40NzM1ODRdIGFjcGlwaHA6IFNsb3QgWzE0
XSByZWdpc3RlcmVkClsgICAgNi40Nzc4NDFdIGFjcGlwaHA6IFNsb3QgWzE1XSByZWdpc3RlcmVk
ClsgICAgNi40ODIxMzZdIGFjcGlwaHA6IFNsb3QgWzE2XSByZWdpc3RlcmVkClsgICAgNi40ODYz
ODRdIGFjcGlwaHA6IFNsb3QgWzE3XSByZWdpc3RlcmVkClsgICAgNi40OTA2NTddIGFjcGlwaHA6
IFNsb3QgWzE4XSByZWdpc3RlcmVkClsgICAgNi40OTQ5MjJdIGFjcGlwaHA6IFNsb3QgWzE5XSBy
ZWdpc3RlcmVkClsgICAgNi40OTkxNjNdIGFjcGlwaHA6IFNsb3QgWzIwXSByZWdpc3RlcmVkClsg
ICAgNi41MDM0MjddIGFjcGlwaHA6IFNsb3QgWzIxXSByZWdpc3RlcmVkClsgICAgNi41MDc2Nzld
IGFjcGlwaHA6IFNsb3QgWzIyXSByZWdpc3RlcmVkClsgICAgNi41MTE5NDddIGFjcGlwaHA6IFNs
b3QgWzIzXSByZWdpc3RlcmVkClsgICAgNi41MTYyMDZdIGFjcGlwaHA6IFNsb3QgWzI0XSByZWdp
c3RlcmVkClsgICAgNi41MjA0NjBdIGFjcGlwaHA6IFNsb3QgWzI1XSByZWdpc3RlcmVkClsgICAg
Ni41MjQ3MTBdIGFjcGlwaHA6IFNsb3QgWzI2XSByZWdpc3RlcmVkClsgICAgNi41Mjg5NzhdIGFj
cGlwaHA6IFNsb3QgWzI3XSByZWdpc3RlcmVkClsgICAgNi41MzMyMzNdIGFjcGlwaHA6IFNsb3Qg
WzI4XSByZWdpc3RlcmVkClsgICAgNi41Mzc0ODJdIGFjcGlwaHA6IFNsb3QgWzI5XSByZWdpc3Rl
cmVkClsgICAgNi41NDE3NTFdIGFjcGlwaHA6IFNsb3QgWzMwXSByZWdpc3RlcmVkClsgICAgNi41
NDYwMTJdIGFjcGlwaHA6IFNsb3QgWzMxXSByZWdpc3RlcmVkClsgICAgNi41NTAyMzVdIFBDSSBo
b3N0IGJyaWRnZSB0byBidXMgMDAwMDowMApbICAgIDYuNTU0NTE3XSBwY2lfYnVzIDAwMDA6MDA6
IHJvb3QgYnVzIHJlc291cmNlIFtpbyAgMHgwMDAwLTB4MGNmNyB3aW5kb3ddClsgICAgNi41NjA1
NTddIHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW2lvICAweDBkMDAtMHhmZmZm
IHdpbmRvd10KWyAgICA2LjU2NjU2Nl0gcGNpX2J1cyAwMDAwOjAwOiByb290IGJ1cyByZXNvdXJj
ZSBbbWVtIDB4MDAwYTAwMDAtMHgwMDBiZmZmZiB3aW5kb3ddClsgICAgNi41NzQ1NTVdIHBjaV9i
dXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAweGMwMDAwMDAwLTB4ZmViZmZmZmYg
d2luZG93XQpbICAgIDYuNTgyNDg0XSBwY2lfYnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNl
IFtidXMgMDAtZmZdClsgICAgNi41ODc2ODVdIHBjaSAwMDAwOjAwOjAwLjA6IFs4MDg2OjEyMzdd
IHR5cGUgMDAgY2xhc3MgMHgwNjAwMDAKWyAgICA2LjU4OTQ0M10gcGNpIDAwMDA6MDA6MDEuMDog
WzgwODY6NzAwMF0gdHlwZSAwMCBjbGFzcyAweDA2MDEwMApbICAgIDYuNTkxOTMxXSBwY2kgMDAw
MDowMDowMS4zOiBbODA4Njo3MTEzXSB0eXBlIDAwIGNsYXNzIDB4MDAwMDAwClsgICAgNi41OTI3
MjhdIHBjaSAwMDAwOjAwOjAxLjM6IHF1aXJrOiBbaW8gIDB4YjAwMC0weGIwM2ZdIGNsYWltZWQg
YnkgUElJWDQgQUNQSQpbICAgIDYuNjAwNDgyXSBwY2kgMDAwMDowMDowMS4zOiBxdWlyazogW2lv
ICAweGIxMDAtMHhiMTBmXSBjbGFpbWVkIGJ5IFBJSVg0IFNNQgpbICAgIDYuNjA2ODI1XSBwY2kg
MDAwMDowMDowMS4zOiBQSUlYNCBkZXZyZXMgRSBQSU8gYXQgZmZmMC1mZmZmClsgICAgNi42MTIy
MTFdIHBjaSAwMDAwOjAwOjAxLjM6IFBJSVg0IGRldnJlcyBGIE1NSU8gYXQgZmZjMDAwMDAtZmZm
ZmZmZmYKWyAgICA2LjYxODA1NV0gcGNpIDAwMDA6MDA6MDEuMzogUElJWDQgZGV2cmVzIEcgUElP
IGF0IGZmZjAtZmZmZgpbICAgIDYuNjIzNDM2XSBwY2kgMDAwMDowMDowMS4zOiBQSUlYNCBkZXZy
ZXMgSCBNTUlPIGF0IGZmYzAwMDAwLWZmZmZmZmZmClsgICAgNi42MjkzMDldIHBjaSAwMDAwOjAw
OjAxLjM6IFBJSVg0IGRldnJlcyBJIFBJTyBhdCBmZmYwLWZmZmYKWyAgICA2LjYzNDY5Ml0gcGNp
IDAwMDA6MDA6MDEuMzogUElJWDQgZGV2cmVzIEogUElPIGF0IGZmZjAtZmZmZgpbICAgIDYuNjQx
NzYyXSBwY2kgMDAwMDowMDowMy4wOiBbMWQwZjoxMTExXSB0eXBlIDAwIGNsYXNzIDB4MDMwMDAw
ClsgICAgNi42NDIzMDBdIHBjaSAwMDAwOjAwOjAzLjA6IHJlZyAweDEwOiBbbWVtIDB4ZmU0MDAw
MDAtMHhmZTdmZmZmZiBwcmVmXQpbICAgIDYuNjQ0MzY0XSBwY2kgMDAwMDowMDowMy4wOiByZWcg
MHgzMDogW21lbSAweGZlYmQwMDAwLTB4ZmViZGZmZmYgcHJlZl0KWyAgICA2LjY0NjEwOV0gcGNp
IDAwMDA6MDA6MDQuMDogWzFkMGY6ODA2MV0gdHlwZSAwMCBjbGFzcyAweDAxMDgwMgpbICAgIDYu
NjQ3MDcxXSBwY2kgMDAwMDowMDowNC4wOiByZWcgMHgxMDogW21lbSAweGZlYmYwMDAwLTB4ZmVi
ZjNmZmZdClsgICAgNi42NTI4MDhdIHBjaSAwMDAwOjAwOjA1LjA6IFsxZDBmOmVjMjBdIHR5cGUg
MDAgY2xhc3MgMHgwMjAwMDAKWyAgICA2LjY1Mzg1OF0gcGNpIDAwMDA6MDA6MDUuMDogcmVnIDB4
MTA6IFttZW0gMHhmZWJmNDAwMC0weGZlYmY3ZmZmXQpbICAgIDYuNjU1ODI4XSBwY2kgMDAwMDow
MDowNS4wOiByZWcgMHgxODogW21lbSAweGZlODAwMDAwLTB4ZmU4ZmZmZmYgcHJlZl0KWyAgICA2
LjY1NzcxMF0gcGNpIDAwMDA6MDA6MDUuMDogcmVnIDB4MjA6IFttZW0gMHhmZWJlMDAwMC0weGZl
YmVmZmZmXQpbICAgIDYuNjYyMDQyXSBBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xOS0FdIChJ
UlFzIDUgKjEwIDExKQpbICAgIDYuNjY4NTE3XSBBQ1BJOiBQQ0kgSW50ZXJydXB0IExpbmsgW0xO
S0JdIChJUlFzIDUgKjEwIDExKQpbICAgIDYuNjc0OTM3XSBBQ1BJOiBQQ0kgSW50ZXJydXB0IExp
bmsgW0xOS0NdIChJUlFzIDUgMTAgKjExKQpbICAgIDYuNjgxMzg1XSBBQ1BJOiBQQ0kgSW50ZXJy
dXB0IExpbmsgW0xOS0RdIChJUlFzIDUgMTAgKjExKQpbICAgIDYuNjg3NzE1XSBBQ1BJOiBQQ0kg
SW50ZXJydXB0IExpbmsgW0xOS1NdIChJUlFzICo5KQpbICAgIDYuNjk0MDc3XSBBQ1BJOiBFbmFi
bGVkIDE2IEdQRXMgaW4gYmxvY2sgMDAgdG8gMEYKWyAgICA2LjY5OTQ0OV0geGVuOmJhbGxvb246
IEluaXRpYWxpc2luZyBiYWxsb29uIGRyaXZlcgpbICAgIDYuNzA0MDgwXSB4ZW5fYmFsbG9vbjog
SW5pdGlhbGlzaW5nIGJhbGxvb24gZHJpdmVyClsgICAgNi43MDg4MjNdIHZnYWFyYjogc2V0dGlu
ZyBhcyBib290IGRldmljZTogUENJOjAwMDA6MDA6MDMuMApbICAgIDYuNzEzNjExXSB2Z2FhcmI6
IGRldmljZSBhZGRlZDogUENJOjAwMDA6MDA6MDMuMCxkZWNvZGVzPWlvK21lbSxvd25zPWlvK21l
bSxsb2Nrcz1ub25lClsgICAgNi43MjEyNTFdIHZnYWFyYjogbG9hZGVkClsgICAgNi43MjQ0MjVd
IHZnYWFyYjogYnJpZGdlIGNvbnRyb2wgcG9zc2libGUgMDAwMDowMDowMy4wClsgICAgNi43Mjk2
MDBdIFNDU0kgc3Vic3lzdGVtIGluaXRpYWxpemVkClsgICAgNi43MzM0NzRdIGxpYmF0YSB2ZXJz
aW9uIDMuMDAgbG9hZGVkLgpbICAgIDYuNzMzNTMyXSBBQ1BJOiBidXMgdHlwZSBVU0IgcmVnaXN0
ZXJlZApbICAgIDYuNzM3NDM5XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJp
dmVyIHVzYmZzClsgICAgNi43NDIyMDhdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFj
ZSBkcml2ZXIgaHViClsgICAgNi43NDY4OTBdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmlj
ZSBkcml2ZXIgdXNiClsgICAgNi43NTE2ODZdIFBDSTogVXNpbmcgQUNQSSBmb3IgSVJRIHJvdXRp
bmcKWyAgICA2Ljc1NjAwN10gUENJOiBwY2lfY2FjaGVfbGluZV9zaXplIHNldCB0byA2NCBieXRl
cwpbICAgIDYuNzU2MTUzXSBlODIwOiByZXNlcnZlIFJBTSBidWZmZXIgW21lbSAweDAwMDlmMDAw
LTB4MDAwOWZmZmZdClsgICAgNi43NTYxNTVdIGU4MjA6IHJlc2VydmUgUkFNIGJ1ZmZlciBbbWVt
IDB4YmZmZWEwMDAtMHhiZmZmZmZmZl0KWyAgICA2Ljc1NjE1Nl0gZTgyMDogcmVzZXJ2ZSBSQU0g
YnVmZmVyIFttZW0gMHgxNDAwNzcwMDAtMHgxNDNmZmZmZmZdClsgICAgNi43NTY0MDBdIE5ldExh
YmVsOiBJbml0aWFsaXppbmcKWyAgICA2Ljc2MDIzMl0gTmV0TGFiZWw6ICBkb21haW4gaGFzaCBz
aXplID0gMTI4ClsgICAgNi43NjQ3MzFdIE5ldExhYmVsOiAgcHJvdG9jb2xzID0gVU5MQUJFTEVE
IENJUFNPdjQKWyAgICA2Ljc2OTYyNF0gTmV0TGFiZWw6ICB1bmxhYmVsZWQgdHJhZmZpYyBhbGxv
d2VkIGJ5IGRlZmF1bHQKWyAgICA2Ljc3NTExOF0gY2xvY2tzb3VyY2U6IFN3aXRjaGVkIHRvIGNs
b2Nrc291cmNlIHhlbgpbICAgIDYuNzkzODA0XSBWRlM6IERpc2sgcXVvdGFzIGRxdW90XzYuNi4w
ClsgICAgNi43OTc3NTRdIFZGUzogRHF1b3QtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiA1MTIg
KG9yZGVyIDAsIDQwOTYgYnl0ZXMpClsgICAgNi44MDMzMDJdIGh1Z2V0bGJmczogZGlzYWJsaW5n
IGJlY2F1c2UgdGhlcmUgYXJlIG5vIHN1cHBvcnRlZCBodWdlcGFnZSBzaXplcwpbICAgIDYuODEw
NDkzXSBwbnA6IFBuUCBBQ1BJIGluaXQKWyAgICA2LjgxMzg5Nl0geGVuOiByZWdpc3RlcmluZyBn
c2kgOCB0cmlnZ2VyaW5nIDEgcG9sYXJpdHkgMApbICAgIDYuODE0MDQzXSBwbnAgMDA6MDA6IFBs
dWcgYW5kIFBsYXkgQUNQSSBkZXZpY2UsIElEcyBQTlAwYjAwIChhY3RpdmUpClsgICAgNi44MTQw
NjZdIHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDEgdHJpZ2dlcmluZyAxIHBvbGFyaXR5IDAKWyAgICA2
LjgxNDE3MV0gcG5wIDAwOjAxOiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2aWNlLCBJRHMgUE5QMDMw
MyAoYWN0aXZlKQpbICAgIDYuODE0MTg2XSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSAxMiB0cmlnZ2Vy
aW5nIDEgcG9sYXJpdHkgMApbICAgIDYuODE0Mjc2XSBwbnAgMDA6MDI6IFBsdWcgYW5kIFBsYXkg
QUNQSSBkZXZpY2UsIElEcyBQTlAwZjEzIChhY3RpdmUpClsgICAgNi44MTQzMjZdIHhlbjogcmVn
aXN0ZXJpbmcgZ3NpIDcgdHJpZ2dlcmluZyAxIHBvbGFyaXR5IDAKWyAgICA2LjgxNDQxMl0gcG5w
IDAwOjAzOiBQbHVnIGFuZCBQbGF5IEFDUEkgZGV2aWNlLCBJRHMgUE5QMDQwMCAoYWN0aXZlKQpb
ICAgIDYuODE0NDQ5XSB4ZW46IHJlZ2lzdGVyaW5nIGdzaSA0IHRyaWdnZXJpbmcgMSBwb2xhcml0
eSAwClsgICAgNi44MTQ0NTBdIEFscmVhZHkgc2V0dXAgdGhlIEdTSSA6NApbICAgIDYuODE4MTI4
XSBwbnAgMDA6MDQ6IFBsdWcgYW5kIFBsYXkgQUNQSSBkZXZpY2UsIElEcyBQTlAwNTAxIChhY3Rp
dmUpClsgICAgNi44MTgzOTJdIHBucDogUG5QIEFDUEk6IGZvdW5kIDUgZGV2aWNlcwpbICAgIDYu
ODM0MjM2XSBQTS1UaW1lciBmYWlsZWQgY29uc2lzdGVuY3kgY2hlY2sgICgweGZmZmZmZikgLSBh
Ym9ydGluZy4KWyAgICA2LjgzOTUzNl0gcGNpX2J1cyAwMDAwOjAwOiByZXNvdXJjZSA0IFtpbyAg
MHgwMDAwLTB4MGNmNyB3aW5kb3ddClsgICAgNi44Mzk1MzddIHBjaV9idXMgMDAwMDowMDogcmVz
b3VyY2UgNSBbaW8gIDB4MGQwMC0weGZmZmYgd2luZG93XQpbICAgIDYuODM5NTM4XSBwY2lfYnVz
IDAwMDA6MDA6IHJlc291cmNlIDYgW21lbSAweDAwMGEwMDAwLTB4MDAwYmZmZmYgd2luZG93XQpb
ICAgIDYuODM5NTM5XSBwY2lfYnVzIDAwMDA6MDA6IHJlc291cmNlIDcgW21lbSAweGMwMDAwMDAw
LTB4ZmViZmZmZmYgd2luZG93XQpbICAgIDYuODM5NzQzXSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9j
b2wgZmFtaWx5IDIKWyAgICA2Ljg0NDI2MV0gVENQIGVzdGFibGlzaGVkIGhhc2ggdGFibGUgZW50
cmllczogMzI3NjggKG9yZGVyOiA2LCAyNjIxNDQgYnl0ZXMpClsgICAgNi44NTE1MTNdIFRDUCBi
aW5kIGhhc2ggdGFibGUgZW50cmllczogMzI3NjggKG9yZGVyOiA3LCA1MjQyODggYnl0ZXMpClsg
ICAgNi44NTY5NDRdIFRDUDogSGFzaCB0YWJsZXMgY29uZmlndXJlZCAoZXN0YWJsaXNoZWQgMzI3
NjggYmluZCAzMjc2OCkKWyAgICA2Ljg2MjMyMV0gVURQIGhhc2ggdGFibGUgZW50cmllczogMjA0
OCAob3JkZXI6IDQsIDY1NTM2IGJ5dGVzKQpbICAgIDYuODY3Mzc4XSBVRFAtTGl0ZSBoYXNoIHRh
YmxlIGVudHJpZXM6IDIwNDggKG9yZGVyOiA0LCA2NTUzNiBieXRlcykKWyAgICA2Ljg3MjgwNV0g
TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxClsgICAgNi44NzY4NjFdIHBjaSAwMDAw
OjAwOjAwLjA6IExpbWl0aW5nIGRpcmVjdCBQQ0kvUENJIHRyYW5zZmVycwpbICAgIDYuODgxODEy
XSBwY2kgMDAwMDowMDowMS4wOiBBY3RpdmF0aW5nIElTQSBETUEgaGFuZyB3b3JrYXJvdW5kcwpb
ICAgIDYuODg2OTY1XSBwY2kgMDAwMDowMDowMy4wOiBWaWRlbyBkZXZpY2Ugd2l0aCBzaGFkb3dl
ZCBST00gYXQgW21lbSAweDAwMGMwMDAwLTB4MDAwZGZmZmZdClsgICAgNi44OTQ4MTFdIFBDSTog
Q0xTIDAgYnl0ZXMsIGRlZmF1bHQgNjQKWyAgICA2Ljg5NTAwOV0gVHJ5aW5nIHRvIHVucGFjayBy
b290ZnMgaW1hZ2UgYXMgaW5pdHJhbWZzLi4uClsgICAgNy4zODEyMTBdIEZyZWVpbmcgaW5pdHJk
IG1lbW9yeTogNDAwNjRLClsgICAgNy4zODY2NTddIGF1ZGl0OiBpbml0aWFsaXppbmcgbmV0bGlu
ayBzdWJzeXMgKGRpc2FibGVkKQpbICAgIDcuMzkyNDU1XSBhdWRpdDogdHlwZT0yMDAwIGF1ZGl0
KDE2OTk4OTg2NzYuMDc4OjEpOiBpbml0aWFsaXplZApbICAgIDcuMzk5MDc3XSBJbml0aWFsaXNl
IHN5c3RlbSB0cnVzdGVkIGtleXJpbmdzClsgICAgNy40MDQ0ODldIHdvcmtpbmdzZXQ6IHRpbWVz
dGFtcF9iaXRzPTM2IG1heF9vcmRlcj0yMCBidWNrZXRfb3JkZXI9MApbICAgIDcuNDExMTY4XSB6
YnVkOiBsb2FkZWQKWyAgICA3LjQxNTg5NV0gU0VMaW51eDogIFJlZ2lzdGVyaW5nIG5ldGZpbHRl
ciBob29rcwpbICAgIDcuNjA2MzI3XSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDM4
ClsgICAgNy42MTE0NzldIEtleSB0eXBlIGFzeW1tZXRyaWMgcmVnaXN0ZXJlZApbICAgIDcuNjE2
Mjk1XSBBc3ltbWV0cmljIGtleSBwYXJzZXIgJ3g1MDknIHJlZ2lzdGVyZWQKWyAgICA3LjYyMTk5
NV0gQmxvY2sgbGF5ZXIgU0NTSSBnZW5lcmljIChic2cpIGRyaXZlciB2ZXJzaW9uIDAuNCBsb2Fk
ZWQgKG1ham9yIDI0OCkKWyAgICA3LjYzMTA1OV0gaW8gc2NoZWR1bGVyIG5vb3AgcmVnaXN0ZXJl
ZApbICAgIDcuNjM1ODc5XSBpbyBzY2hlZHVsZXIgZGVhZGxpbmUgcmVnaXN0ZXJlZApbICAgIDcu
NjQxMTE3XSBpbyBzY2hlZHVsZXIgY2ZxIHJlZ2lzdGVyZWQgKGRlZmF1bHQpClsgICAgNy42NDY5
MDBdIHBjaV9ob3RwbHVnOiBQQ0kgSG90IFBsdWcgUENJIENvcmUgdmVyc2lvbjogMC41ClsgICAg
Ny42NTMxMjddIHBjaWVocDogUENJIEV4cHJlc3MgSG90IFBsdWcgQ29udHJvbGxlciBEcml2ZXIg
dmVyc2lvbjogMC40ClsgICAgNy42NjAxOTNdIGludGVsX2lkbGU6IGRvZXMgbm90IHJ1biBvbiBm
YW1pbHkgNiBtb2RlbCA4NQpbICAgIDcuNjYwMzIzXSBpbnB1dDogUG93ZXIgQnV0dG9uIGFzIC9k
ZXZpY2VzL0xOWFNZU1RNOjAwL0xOWFBXUkJOOjAwL2lucHV0L2lucHV0MApbICAgIDcuNjY5Mzk1
XSBBQ1BJOiBQb3dlciBCdXR0b24gW1BXUkZdClsgICAgNy42NzM5OTZdIGlucHV0OiBTbGVlcCBC
dXR0b24gYXMgL2RldmljZXMvTE5YU1lTVE06MDAvTE5YU0xQQk46MDAvaW5wdXQvaW5wdXQxClsg
ICAgNy42ODI3NDJdIEFDUEk6IFNsZWVwIEJ1dHRvbiBbU0xQRl0KWyAgICA3LjY4NzQzNV0gV2Fy
bmluZzogUHJvY2Vzc29yIFBsYXRmb3JtIExpbWl0IG5vdCBzdXBwb3J0ZWQuClsgICAgNy42ODc2
MDFdIEdIRVM6IEhFU1QgaXMgbm90IGVuYWJsZWQhClsgICAgNy42OTMxMzFdIFNlcmlhbDogODI1
MC8xNjU1MCBkcml2ZXIsIDQgcG9ydHMsIElSUSBzaGFyaW5nIGVuYWJsZWQKWyAgICA3LjY5OTM0
Ml0gaHBldF9hY3BpX2FkZDogbm8gYWRkcmVzcyBvciBpcnFzIGluIF9DUlMKWyAgICA3LjcwMzg4
Ml0gTm9uLXZvbGF0aWxlIG1lbW9yeSBkcml2ZXIgdjEuMwpbICAgIDcuNzA3ODYyXSBMaW51eCBh
Z3BnYXJ0IGludGVyZmFjZSB2MC4xMDMKWyAgICA3LjcxMTkyMl0gW2RybV0gSW5pdGlhbGl6ZWQK
WyAgICA3LjcyMTc4Nl0gYnJkOiBtb2R1bGUgbG9hZGVkClsgICAgNy43Mjg5MzRdIGxvb3A6IG1v
ZHVsZSBsb2FkZWQKWyAgICA3LjczMjg5M10gbGlicGh5OiBGaXhlZCBNRElPIEJ1czogcHJvYmVk
ClsgICAgNy43MzY4OTddIGVoY2lfaGNkOiBVU0IgMi4wICdFbmhhbmNlZCcgSG9zdCBDb250cm9s
bGVyIChFSENJKSBEcml2ZXIKWyAgICA3Ljc0MjEwOF0gZWhjaS1wY2k6IEVIQ0kgUENJIHBsYXRm
b3JtIGRyaXZlcgpbICAgIDcuNzQ2MTc2XSBlaGNpLXBsYXRmb3JtOiBFSENJIGdlbmVyaWMgcGxh
dGZvcm0gZHJpdmVyClsgICAgNy43NTA2NTFdIG9oY2lfaGNkOiBVU0IgMS4xICdPcGVuJyBIb3N0
IENvbnRyb2xsZXIgKE9IQ0kpIERyaXZlcgpbICAgIDcuNzU1NjQ3XSBvaGNpLXBjaTogT0hDSSBQ
Q0kgcGxhdGZvcm0gZHJpdmVyClsgICAgNy43NTk3MzhdIG9oY2ktcGxhdGZvcm06IE9IQ0kgZ2Vu
ZXJpYyBwbGF0Zm9ybSBkcml2ZXIKWyAgICA3Ljc2NDIzN10gdWhjaV9oY2Q6IFVTQiBVbml2ZXJz
YWwgSG9zdCBDb250cm9sbGVyIEludGVyZmFjZSBkcml2ZXIKWyAgICA3Ljc2OTUxNF0gdXNiY29y
ZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2JzZXJpYWwKWyAgICA3Ljc3NDM0
NF0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZlciB1c2JzZXJpYWxfZ2Vu
ZXJpYwpbICAgIDcuNzc5NTI2XSB1c2JzZXJpYWw6IFVTQiBTZXJpYWwgc3VwcG9ydCByZWdpc3Rl
cmVkIGZvciBnZW5lcmljClsgICAgNy43ODQ0NjhdIGk4MDQyOiBQTlA6IFBTLzIgQ29udHJvbGxl
ciBbUE5QMDMwMzpLQkQsUE5QMGYxMzpNT1VdIGF0IDB4NjAsMHg2NCBpcnEgMSwxMgpbICAgIDcu
NzkyMTY3XSBpODA0MjogV2FybmluZzogS2V5bG9jayBhY3RpdmUKWyAgICA3Ljc5NzAzNV0gc2Vy
aW86IGk4MDQyIEtCRCBwb3J0IGF0IDB4NjAsMHg2NCBpcnEgMQpbICAgIDcuODAxMzY2XSBzZXJp
bzogaTgwNDIgQVVYIHBvcnQgYXQgMHg2MCwweDY0IGlycSAxMgpbICAgIDcuODA2MTMwXSBtb3Vz
ZWRldjogUFMvMiBtb3VzZSBkZXZpY2UgY29tbW9uIGZvciBhbGwgbWljZQpbICAgIDcuODExMjY5
XSBydGNfY21vcyAwMDowMDogUlRDIGNhbiB3YWtlIGZyb20gUzQKWyAgICA3LjgxNzAzM10gcnRj
X2Ntb3MgMDA6MDA6IHJ0YyBjb3JlOiByZWdpc3RlcmVkIHJ0Y19jbW9zIGFzIHJ0YzAKWyAgICA3
LjgyMjE5NV0gcnRjX2Ntb3MgMDA6MDA6IGFsYXJtcyB1cCB0byBvbmUgZGF5LCAxMTQgYnl0ZXMg
bnZyYW0KWyAgICA3LjgyNzMxMF0gZGV2aWNlLW1hcHBlcjogdWV2ZW50OiB2ZXJzaW9uIDEuMC4z
ClsgICAgNy44MzE2MzBdIGRldmljZS1tYXBwZXI6IGlvY3RsOiA0LjM1LjAtaW9jdGwgKDIwMTYt
MDYtMjMpIGluaXRpYWxpc2VkOiBkbS1kZXZlbEByZWRoYXQuY29tClsgICAgNy44Mzk2OTBdIGxl
ZHRyaWctY3B1OiByZWdpc3RlcmVkIHRvIGluZGljYXRlIGFjdGl2aXR5IG9uIENQVXMKWyAgICA3
Ljg0NDgzOF0gaGlkcmF3OiByYXcgSElEIGV2ZW50cyBkcml2ZXIgKEMpIEppcmkgS29zaW5hClsg
ICAgNy44NDk3NjhdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNi
aGlkClsgICAgNy44NTQ0NDFdIHVzYmhpZDogVVNCIEhJRCBjb3JlIGRyaXZlcgpbICAgIDcuODU4
MjcyXSBkcm9wX21vbml0b3I6IEluaXRpYWxpemluZyBuZXR3b3JrIGRyb3AgbW9uaXRvciBzZXJ2
aWNlClsgICAgNy44NjM0OTNdIGlwX3RhYmxlczogKEMpIDIwMDAtMjAwNiBOZXRmaWx0ZXIgQ29y
ZSBUZWFtClsgICAgNy44NjgxODFdIEluaXRpYWxpemluZyBYRlJNIG5ldGxpbmsgc29ja2V0Clsg
ICAgNy44NzIzNTJdIE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkgMTAKWyAgICA3Ljg3
NjkyNl0gbWlwNjogTW9iaWxlIElQdjYKWyAgICA3Ljg4MDkzM10gTkVUOiBSZWdpc3RlcmVkIHBy
b3RvY29sIGZhbWlseSAxNwpbICAgIDcuODg2MTQ4XSBtY2U6IFVuYWJsZSB0byBpbml0IGRldmlj
ZSAvZGV2L21jZWxvZyAocmM6IC0xNikKWyAgICA3Ljg5MjI0NF0gQVZYMiB2ZXJzaW9uIG9mIGdj
bV9lbmMvZGVjIGVuZ2FnZWQuClsgICAgNy44OTczODFdIEFFUyBDVFIgbW9kZSBieTggb3B0aW1p
emF0aW9uIGVuYWJsZWQKWyAgICA3LjkxMzY4M10gcmVnaXN0ZXJlZCB0YXNrc3RhdHMgdmVyc2lv
biAxClsgICAgNy45MTc1NzVdIExvYWRpbmcgY29tcGlsZWQtaW4gWC41MDkgY2VydGlmaWNhdGVz
ClsgICAgNy45MjE5MzNdIHpzd2FwOiBsb2FkZWQgdXNpbmcgcG9vbCBsem8vemJ1ZApbICAgIDcu
OTM1NDk0XSBLZXkgdHlwZSBiaWdfa2V5IHJlZ2lzdGVyZWQKWyAgICA3Ljk0MzUzOV0gS2V5IHR5
cGUgZW5jcnlwdGVkIHJlZ2lzdGVyZWQKWyAgICA3Ljk0ODE3NF0gaW1hOiBObyBUUE0gY2hpcCBm
b3VuZCwgYWN0aXZhdGluZyBUUE0tYnlwYXNzIQpbICAgIDcuOTUzOTc2XSBpbWE6IEFsbG9jYXRl
ZCBoYXNoIGFsZ29yaXRobTogc2hhMQpbICAgIDcuOTU5NjgwXSBydGNfY21vcyAwMDowMDogc2V0
dGluZyBzeXN0ZW0gY2xvY2sgdG8gMjAyMy0xMS0xMyAxODowNDozNyBVVEMgKDE2OTk4OTg2Nzcp
ClsgICAgNy45NzAyMDRdIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDIzODRLClsgICAg
Ny45NzQzNDVdIFdyaXRlIHByb3RlY3RpbmcgdGhlIGtlcm5lbCByZWFkLW9ubHkgZGF0YTogMTQz
MzZrClsgICAgNy45ODQwNjNdIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDEzMDRLClsg
ICAgNy45ODgyMzNdIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDcySwpbICAgIDcuOTk3
MjI0XSByYW5kb206IHN5c3RlbWQ6IHVuaW5pdGlhbGl6ZWQgdXJhbmRvbSByZWFkICgxNiBieXRl
cyByZWFkKQpbICAgIDguMDA0MTk3XSByYW5kb206IHN5c3RlbWQ6IHVuaW5pdGlhbGl6ZWQgdXJh
bmRvbSByZWFkICgxNiBieXRlcyByZWFkKQpbICAgIDguMDEwODI2XSByYW5kb206IHN5c3RlbWQ6
IHVuaW5pdGlhbGl6ZWQgdXJhbmRvbSByZWFkICgxNiBieXRlcyByZWFkKQpbICAgIDguMDIyNjcy
XSBzeXN0ZW1kWzFdOiBzeXN0ZW1kIDIxOSBydW5uaW5nIGluIHN5c3RlbSBtb2RlLiAoK1BBTSAr
QVVESVQgK1NFTElOVVggK0lNQSAtQVBQQVJNT1IgK1NNQUNLICtTWVNWSU5JVCArVVRNUCArTElC
Q1JZUFRTRVRVUCArR0NSWVBUICtHTlVUTFMgK0FDTCArWFogK0xaNCAtU0VDQ09NUCArQkxLSUQg
K0VMRlVUSUxTICtLTU9EICtJRE4pClsgICAgOC4xMDU0MzddIHN5c3RlbWRbMV06IERldGVjdGVk
IHZpcnR1YWxpemF0aW9uIHhlbi4KWyAgICA4LjEwOTgyNV0gc3lzdGVtZFsxXTogRGV0ZWN0ZWQg
YXJjaGl0ZWN0dXJlIHg4Ni02NC4KWyAgICA4LjExNDI3OV0gc3lzdGVtZFsxXTogUnVubmluZyBp
biBpbml0aWFsIFJBTSBkaXNrLgpbICAgIDguMTIxMzg1XSBzeXN0ZW1kWzFdOiBObyBob3N0bmFt
ZSBjb25maWd1cmVkLgpbICAgIDguMTI1NTY0XSBzeXN0ZW1kWzFdOiBTZXQgaG9zdG5hbWUgdG8g
PGxvY2FsaG9zdD4uClsgICAgOC4xMzAwNDNdIHN5c3RlbWRbMV06IEluaXRpYWxpemluZyBtYWNo
aW5lIElEIGZyb20gcmFuZG9tIGdlbmVyYXRvci4KWyAgICA4LjIwNTk3Nl0gc3lzdGVtZFsxXTog
U3RhcnRlZCBEaXNwYXRjaCBQYXNzd29yZCBSZXF1ZXN0cyB0byBDb25zb2xlIERpcmVjdG9yeSBX
YXRjaC4KWyAgICA4LjIyMDA1NF0gc3lzdGVtZFsxXTogUmVhY2hlZCB0YXJnZXQgU3dhcC4KWyAg
ICA4LjIyODA0OF0gc3lzdGVtZFsxXTogQ3JlYXRlZCBzbGljZSBSb290IFNsaWNlLgpbICAgIDgu
MjcwNDU1XSB4ZW46eGVuX2V2dGNobjogRXZlbnQtY2hhbm5lbCBkZXZpY2UgaW5zdGFsbGVkClsg
ICAgOC4yODY4ODFdIHhlbl9wY2liYWNrOiBiYWNrZW5kIGlzIHZwY2kKWyAgICA4LjMxNDI5N10g
aW5wdXQ6IEFUIFRyYW5zbGF0ZWQgU2V0IDIga2V5Ym9hcmQgYXMgL2RldmljZXMvcGxhdGZvcm0v
aTgwNDIvc2VyaW8wL2lucHV0L2lucHV0MgpbICAgIDguMzM0MDgwXSByYW5kb206IGNybmcgaW5p
dCBkb25lClsgICAgOC4zMzc3MThdIHJhbmRvbTogNyB1cmFuZG9tIHdhcm5pbmcocykgbWlzc2Vk
IGR1ZSB0byByYXRlbGltaXRpbmcKWyAgICA4LjQ0MTE3Nl0gY2xvY2tzb3VyY2U6IHRzYzogbWFz
azogMHhmZmZmZmZmZmZmZmZmZmZmIG1heF9jeWNsZXM6IDB4MmIzZTJjZjRkNTQsIG1heF9pZGxl
X25zOiA0NDA3OTUzNTIxMjIgbnMKWyAgICA4LjUxOTk2M10gUlBDOiBSZWdpc3RlcmVkIG5hbWVk
IFVOSVggc29ja2V0IHRyYW5zcG9ydCBtb2R1bGUuClsgICAgOC41MjUwMTVdIFJQQzogUmVnaXN0
ZXJlZCB1ZHAgdHJhbnNwb3J0IG1vZHVsZS4KWyAgICA4LjUyOTMyOV0gUlBDOiBSZWdpc3RlcmVk
IHRjcCB0cmFuc3BvcnQgbW9kdWxlLgpbICAgIDguNTMzNTk0XSBSUEM6IFJlZ2lzdGVyZWQgdGNw
IE5GU3Y0LjEgYmFja2NoYW5uZWwgdHJhbnNwb3J0IG1vZHVsZS4KWyAgICA4Ljc3MzI2OV0gZW5h
OiBFbGFzdGljIE5ldHdvcmsgQWRhcHRlciAoRU5BKSB2MS4wLjIKWyAgICA4Ljc4MDI4MV0gbnZt
ZSBudm1lMDogcGNpIGZ1bmN0aW9uIDAwMDA6MDA6MDQuMApbICAgIDguNzg2MDE0XSBBQ1BJOiBQ
Q0kgSW50ZXJydXB0IExpbmsgW0xOS0RdIGVuYWJsZWQgYXQgSVJRIDExClsgICAgOC43OTE5NDdd
IHhlbjogcmVnaXN0ZXJpbmcgZ3NpIDExIHRyaWdnZXJpbmcgMCBwb2xhcml0eSAwClsgICAgOC43
OTM5NzFdIGVuYSAwMDAwOjAwOjA1LjA6IEVsYXN0aWMgTmV0d29yayBBZGFwdGVyIChFTkEpIHYx
LjAuMgpbICAgIDguOTA1MTU1XSBlbmE6IGVuYSBkZXZpY2UgdmVyc2lvbjogMC4xMApbICAgIDgu
OTEwMTU3XSBlbmE6IGVuYSBjb250cm9sbGVyIHZlcnNpb246IDAuMC4xIGltcGxlbWVudGF0aW9u
IHZlcnNpb24gMQpbICAgIDkuMDA0NzAzXSAgbnZtZTBuMTogcDEKWyAgICA5LjE4Nzk5OF0gaW5w
dXQ6IEltUFMvMiBHZW5lcmljIFdoZWVsIE1vdXNlIGFzIC9kZXZpY2VzL3BsYXRmb3JtL2k4MDQy
L3NlcmlvMS9pbnB1dC9pbnB1dDQKWyAgICA5LjQ1NzMyMF0gY2xvY2tzb3VyY2U6IFN3aXRjaGVk
IHRvIGNsb2Nrc291cmNlIHRzYwpbICAgIDkuNjQ5MTc3XSBlbmEgMDAwMDowMDowNS4wOiBjcmVh
dGluZyA0IGlvIHF1ZXVlcy4gcXVldWUgc2l6ZTogMTAyNApbICAgIDkuNjU2MjMyXSBlbmE6IEZl
YXR1cmUgMjAgaXNuJ3Qgc3VwcG9ydGVkClsgICAgOS42NjEwODddIGVuYTogRmVhdHVyZSAyMCBp
c24ndCBzdXBwb3J0ZWQKWyAgICA5LjY2ODAyN10gZW5hOiBGZWF0dXJlIDEwIGlzbid0IHN1cHBv
cnRlZApbICAgIDkuNjcyOTkzXSBlbmE6IEZlYXR1cmUgMTggaXNuJ3Qgc3VwcG9ydGVkClsgICAg
OS42Nzg4MjJdIGVuYSAwMDAwOjAwOjA1LjA6IEVsYXN0aWMgTmV0d29yayBBZGFwdGVyIChFTkEp
IGZvdW5kIGF0IG1lbSBmZWJmNDAwMCwgbWFjIGFkZHIgMDY6NTI6NTg6MmY6NjI6Y2YgUXVldWVz
IDQKWyAgICA5Ljc0MTU1N10gU0dJIFhGUyB3aXRoIEFDTHMsIHNlY3VyaXR5IGF0dHJpYnV0ZXMs
IG5vIGRlYnVnIGVuYWJsZWQKWyAgICA5Ljc1MTE1OF0gWEZTIChudm1lMG4xcDEpOiBNb3VudGlu
ZyBWNSBGaWxlc3lzdGVtClsgICAxMC44Nzk5OTZdIFhGUyAobnZtZTBuMXAxKTogRW5kaW5nIGNs
ZWFuIG1vdW50ClsgICAxMS4zNTg3NDhdIHN5c3RlbWQtam91cm5hbGRbMjA5XTogUmVjZWl2ZWQg
U0lHVEVSTSBmcm9tIFBJRCAxIChzeXN0ZW1kKS4KWyAgIDExLjQwMzMzMl0gc3lzdGVtZDogMTcg
b3V0cHV0IGxpbmVzIHN1cHByZXNzZWQgZHVlIHRvIHJhdGVsaW1pdGluZwpbICAgMTEuNDc3NjU3
XSBhdWRpdDogdHlwZT0xNDA0IGF1ZGl0KDE2OTk4OTg2ODEuMDE2OjIpOiBlbmZvcmNpbmc9MSBv
bGRfZW5mb3JjaW5nPTAgYXVpZD00Mjk0OTY3Mjk1IHNlcz00Mjk0OTY3Mjk1ClsgICAxMS42Mzkz
OTBdIFNFTGludXg6IDMyNzY4IGF2dGFiIGhhc2ggc2xvdHMsIDExMjczMCBydWxlcy4KWyAgIDEx
LjY1NjEwNl0gU0VMaW51eDogMzI3NjggYXZ0YWIgaGFzaCBzbG90cywgMTEyNzMwIHJ1bGVzLgpb
ICAgMTEuNjk2Njk4XSBTRUxpbnV4OiAgOCB1c2VycywgMTQgcm9sZXMsIDUwNDYgdHlwZXMsIDMx
NiBib29scywgMSBzZW5zLCAxMDI0IGNhdHMKWyAgIDExLjY5NjcwMF0gU0VMaW51eDogIDEzMCBj
bGFzc2VzLCAxMTI3MzAgcnVsZXMKWyAgIDExLjcwMjczMF0gU0VMaW51eDogIENvbXBsZXRpbmcg
aW5pdGlhbGl6YXRpb24uClsgICAxMS43MDI3MzBdIFNFTGludXg6ICBTZXR0aW5nIHVwIGV4aXN0
aW5nIHN1cGVyYmxvY2tzLgpbICAgMTEuNzE0Mzk2XSBhdWRpdDogdHlwZT0xNDAzIGF1ZGl0KDE2
OTk4OTg2ODEuMjUzOjMpOiBwb2xpY3kgbG9hZGVkIGF1aWQ9NDI5NDk2NzI5NSBzZXM9NDI5NDk2
NzI5NQpbICAgMTEuNzMyMDU2XSBzeXN0ZW1kWzFdOiBTdWNjZXNzZnVsbHkgbG9hZGVkIFNFTGlu
dXggcG9saWN5IGluIDI1NC4xNzhtcy4KWyAgIDExLjc3NTg3Ml0gc3lzdGVtZFsxXTogUmVsYWJl
bGxlZCAvZGV2LCAvcnVuIGFuZCAvc3lzL2ZzL2Nncm91cCBpbiAxNC43NTJtcy4KWyAgIDEyLjY0
ODE5MF0gc3lzdGVtZC1qb3VybmFsZFs1MTJdOiBSZWNlaXZlZCByZXF1ZXN0IHRvIGZsdXNoIHJ1
bnRpbWUgam91cm5hbCBmcm9tIFBJRCAxClsgICAxMi44Mzk0MzddIHBpaXg0X3NtYnVzIDAwMDA6
MDA6MDEuMzogU01CdXMgSG9zdCBDb250cm9sbGVyIGF0IDB4YjEwMCwgcmV2aXNpb24gMjU1Clsg
ICAxMi44ODA4ODldIGlucHV0OiBQQyBTcGVha2VyIGFzIC9kZXZpY2VzL3BsYXRmb3JtL3Bjc3Br
ci9pbnB1dC9pbnB1dDUKWyAgIDEyLjg4ODU1OF0gcGFycG9ydF9wYyAwMDowMzogcmVwb3J0ZWQg
YnkgUGx1ZyBhbmQgUGxheSBBQ1BJClsgICAxMi44OTQ4NjNdIHBhcnBvcnRfcGMgcGFycG9ydF9w
Yy45NTY6IFVuYWJsZSB0byBzZXQgY29oZXJlbnQgZG1hIG1hc2s6IGRpc2FibGluZyBETUEKWyAg
IDEyLjkwNTQ2OV0gYXVkaXQ6IHR5cGU9MTMwNSBhdWRpdCgxNjk5ODk4NjgyLjQ0NDo0KTogYXVk
aXRfcGlkPTU5NyBvbGQ9MCBhdWlkPTQyOTQ5NjcyOTUgc2VzPTQyOTQ5NjcyOTUgc3Viaj1zeXN0
ZW1fdTpzeXN0ZW1fcjphdWRpdGRfdDpzMCByZXM9MQpbICAgMTIuOTE4Mzc1XSBwYXJwb3J0X3Bj
IHBhcnBvcnRfcGMuODg4OiBVbmFibGUgdG8gc2V0IGNvaGVyZW50IGRtYSBtYXNrOiBkaXNhYmxp
bmcgRE1BClsgICAxMi45Mjc2NTVdIHBhcnBvcnRfcGMgcGFycG9ydF9wYy42MzI6IFVuYWJsZSB0
byBzZXQgY29oZXJlbnQgZG1hIG1hc2s6IGRpc2FibGluZyBETUEKWyAgIDEyLjk2MjgzM10gcHBk
ZXY6IHVzZXItc3BhY2UgcGFyYWxsZWwgcG9ydCBkcml2ZXIKWyAgIDEzLjM1NjM3NF0gRURBQyBN
QzogVmVyOiAzLjAuMApbICAgMTUuMDQzNTI4XSBlbmE6IEZlYXR1cmUgMTAgaXNuJ3Qgc3VwcG9y
dGVkClsgICAxNS4wNDg2OTNdIGVuYTogRmVhdHVyZSAxOCBpc24ndCBzdXBwb3J0ZWQK
--000000000000b94d3b060a0f85bc--


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 21:59:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 21:59:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632019.985871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2eyD-0003tE-Uv; Mon, 13 Nov 2023 21:59:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632019.985871; Mon, 13 Nov 2023 21:59: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 1r2eyD-0003t7-SK; Mon, 13 Nov 2023 21:59:49 +0000
Received: by outflank-mailman (input) for mailman id 632019;
 Mon, 13 Nov 2023 21:59:47 +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 1r2eyB-0003si-Ua
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 21:59:47 +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 1r2eyB-0002XA-5D; Mon, 13 Nov 2023 21:59:47 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r2eyB-0002hg-04; Mon, 13 Nov 2023 21:59: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=yF9heh1d2M/1XiSSjXZ8IP279IMbzxETsOcJvW6JBTI=; b=FEqT3ordQ0FoR1zpth0faJepqQ
	F6Y43K37QI/I+tz+lmy0+9p2mBCbpfSWh2ZzM43hmr0cblDXAmnMNLBeZHeqrtMb8MdIO2ucymVcK
	XOHj3Gk75/8Gk36gpH2LO3m3d81rmn4q3e9Y5r+ZAb2qKOfns9b79UksPouyIvtijCvw=;
Message-ID: <7799347c-c78c-4d5e-a908-b78c026b6b17@xen.org>
Date: Mon, 13 Nov 2023 21:59:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 22/29] tools/xenstored: get own domid in stubdom case
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-23-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110160804.29021-23-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 10/11/2023 16:07, Juergen Gross wrote:
> Obtain the own domid from the Xenstore special grant entry when running
> as stubdom.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - replacement of V1 patch (ANdrew Cooper)
> ---
>   tools/xenstored/core.c   | 1 +
>   tools/xenstored/core.h   | 1 +
>   tools/xenstored/minios.c | 5 +++++
>   3 files changed, 7 insertions(+)
> 
> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
> index 0c14823fb0..8e271e31f9 100644
> --- a/tools/xenstored/core.c
> +++ b/tools/xenstored/core.c
> @@ -2738,6 +2738,7 @@ static struct option options[] = {
>   int dom0_domid = 0;
>   int dom0_event = 0;
>   int priv_domid = 0;
> +int stub_domid = -1;

After looking at partch #25, I feel that it would make more sense if 
stub_domid is a domid_t and initialized to DOMID_INVALID.

At least this makes clearer that initial value is not supported to be a 
valid domid.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:04:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:04:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632022.985882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2f2N-0005Ls-G3; Mon, 13 Nov 2023 22:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632022.985882; Mon, 13 Nov 2023 22: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 1r2f2N-0005Li-CK; Mon, 13 Nov 2023 22:04:07 +0000
Received: by outflank-mailman (input) for mailman id 632022;
 Mon, 13 Nov 2023 22:04:06 +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 1r2f2M-0005Lc-1U
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:04:06 +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 1r2f2L-0002fG-BC; Mon, 13 Nov 2023 22:04:05 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r2f2L-0002x4-6O; Mon, 13 Nov 2023 22:04: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=bKEvVTgAWl7vU9e/e1LuY9pdTLgdtAsisf2AnHR/10k=; b=wwUEGhgUwedgYFAdcL/XdUVXb9
	4f5flB9HL9PkFUaAFasx2zVwWywCbPF6JDqEUVB9M3lByC2iLtL1VnArzaznRy5XXvJME+Uj33NUG
	ymDNfeJ0li8xEFuryGonlYCBilW+lLpXYS94YkZbixzItsfYtJk5D64HKH8F1aTR42uU=;
Message-ID: <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
Date: Mon, 13 Nov 2023 22:04:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 25/29] tools/xenstored: map stubdom interface
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-26-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110160804.29021-26-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 10/11/2023 16:08, Juergen Gross wrote:
> When running as stubdom, map the stubdom's Xenstore ring page in order
> to support using the 9pfs frontend.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>   tools/xenstored/core.c   |  2 ++
>   tools/xenstored/domain.c | 27 ++++++++++++++++++++++++++-
>   tools/xenstored/domain.h |  1 +
>   3 files changed, 29 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
> index b9ec50b34c..4a9d874f17 100644
> --- a/tools/xenstored/core.c
> +++ b/tools/xenstored/core.c
> @@ -2991,6 +2991,8 @@ int main(int argc, char *argv[])
>   		lu_read_state();
>   #endif
>   
> +	stubdom_init();
> +
>   	check_store();
>   
>   	/* Get ready to listen to the tools. */
> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
> index fa17f68618..162b87b460 100644
> --- a/tools/xenstored/domain.c
> +++ b/tools/xenstored/domain.c
> @@ -37,6 +37,10 @@
>   #include <xenctrl.h>
>   #include <xen/grant_table.h>
>   
> +#ifdef __MINIOS__
> +#include <mini-os/xenbus.h>
> +#endif
> +
>   static xc_interface **xc_handle;
>   xengnttab_handle **xgt_handle;
>   static evtchn_port_t virq_port;
> @@ -500,6 +504,11 @@ static void *map_interface(domid_t domid)
>   	if (domid == xenbus_master_domid())
>   		return xenbus_map();
>   
> +#ifdef __MINIOS__
> +	if (domid == stub_domid)
> +		return xenstore_buf;
> +#endif
> +
>   	return xengnttab_map_grant_ref(*xgt_handle, domid,
>   				       GNTTAB_RESERVED_XENSTORE,
>   				       PROT_READ|PROT_WRITE);
> @@ -509,7 +518,7 @@ static void unmap_interface(domid_t domid, void *interface)
>   {
>   	if (domid == xenbus_master_domid())
>   		unmap_xenbus(interface);
> -	else
> +	else if (domid != stub_domid)
>   		xengnttab_unmap(*xgt_handle, interface, 1);
>   }
>   
> @@ -1214,6 +1223,22 @@ void dom0_init(void)
>   	xenevtchn_notify(xce_handle, dom0->port);
>   }
>   
> +void stubdom_init(void)
> +{
> +#ifdef __MINIOS__
> +	struct domain *stubdom;
> +
> +	if (stub_domid < 0)
> +		return;
> +
> +	stubdom = introduce_domain(NULL, stub_domid, xenbus_evtchn, false);
> +	if (!stubdom)
> +		barf_perror("Failed to initialize stubdom");
> +
> +	xenevtchn_notify(xce_handle, stubdom->port);

If I compare to introduce_domain(), it is not entirely clear to me why 
the notification is done unconditionally here. Can you clarify?

> +#endif
> +}
> +
>   static unsigned int domhash_fn(const void *k)
>   {
>   	return *(const unsigned int *)k;
> diff --git a/tools/xenstored/domain.h b/tools/xenstored/domain.h
> index 6c00540311..49c60c56bf 100644
> --- a/tools/xenstored/domain.h
> +++ b/tools/xenstored/domain.h
> @@ -85,6 +85,7 @@ int do_reset_watches(const void *ctx, struct connection *conn,
>   void domain_static_init(void);
>   void domain_init(int evtfd);
>   void dom0_init(void);
> +void stubdom_init(void);
>   void domain_deinit(void);
>   void ignore_connection(struct connection *conn, unsigned int err);
>   

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:09:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632025.985891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2f7i-0007Xv-2A; Mon, 13 Nov 2023 22:09:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632025.985891; Mon, 13 Nov 2023 22: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 1r2f7h-0007Xo-Vc; Mon, 13 Nov 2023 22:09:37 +0000
Received: by outflank-mailman (input) for mailman id 632025;
 Mon, 13 Nov 2023 22:09: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 1r2f7g-0007Xi-F2
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:09: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 1r2f7f-0002ur-QN; Mon, 13 Nov 2023 22:09:35 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r2f7f-0003CE-KT; Mon, 13 Nov 2023 22:09: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=1neYyg6XXIPc2/PeOGtCYgrhmqQGt6yk1Za5rStFhfg=; b=GCRSGI9A2MYTRkqAvSM1947VCK
	7l7FDzoXlWpzQ+AQAg7jzWzipzUFIcaB+brLTCw820ybzWt00FGqWIUsnXcPt+z94brg5oYJaeeLP
	54WURgBvHS1TNQ/WCyMsCWw3xPTBl9iQ0GtaJG4Ml3tLDjPKSd4WENQACpeVMpM5Pumk=;
Message-ID: <e637cc9f-246e-4834-b255-b4cdeb40178f@xen.org>
Date: Mon, 13 Nov 2023 22:09:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 26/29] tools/xenstored: mount 9pfs device in stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-27-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110160804.29021-27-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 10/11/2023 16:08, Juergen Gross wrote:
> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
> index 162b87b460..4263c1360f 100644
> --- a/tools/xenstored/domain.c
> +++ b/tools/xenstored/domain.c
> @@ -1236,6 +1236,8 @@ void stubdom_init(void)
>   		barf_perror("Failed to initialize stubdom");
>   
>   	xenevtchn_notify(xce_handle, stubdom->port);
> +
> +	mount_9pfs();
>   #endif
>   }
>   
> diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
> index 202d70387a..fddbede869 100644
> --- a/tools/xenstored/minios.c
> +++ b/tools/xenstored/minios.c
> @@ -19,8 +19,16 @@
>   #include <sys/mman.h>
>   #include "core.h"
>   #include <xen/grant_table.h>
> +#include <mini-os/9pfront.h>
>   #include <mini-os/events.h>
>   #include <mini-os/gnttab.h>
> +#include <mini-os/sched.h>
> +#include <mini-os/xenbus.h>
> +#include <mini-os/xmalloc.h>
> +
> +#define P9_STATE_PATH	"device/9pfs/0/state"
> +
> +static void *p9_device;
>   
>   void write_pidfile(const char *pidfile)
>   {
> @@ -62,3 +70,31 @@ void early_init(void)
>   	if (stub_domid == DOMID_INVALID)
>   		barf("could not get own domid");
>   }
> +
> +static void mount_thread(void *p)
> +{
> +	xenbus_event_queue events = NULL;
> +	char *err;
> +	char *dummy;
> +
> +	free(xenbus_watch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs", &events));

AFAICT, xenbus_watch_path_token() can fail. I agree this is unlikely, 
but if it fails, then it would be useful to get some logs. Otherwise...

> +
> +	for (;;) {

... this loop would be infinite.

> +		xenbus_wait_for_watch(&events);
> +		err = xenbus_read(XBT_NIL, P9_STATE_PATH, &dummy);

Can you explain why don't care about the value of the node?

> +		if (!err)
> +			break;
> +		free(err);
> +	}
> +
> +	free(dummy);
> +
> +	free(xenbus_unwatch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs"));

xenbus_unwatch_path_token() could technically fails. It would be helpful 
to print a message.

> +
> +	p9_device = init_9pfront(0, XENSTORE_LIB_DIR);
> +}
> +
> +void mount_9pfs(void)
> +{
> +	create_thread("mount-9pfs", mount_thread, NULL);
> +}

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:21:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:21:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632029.985902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fJL-0003BX-3y; Mon, 13 Nov 2023 22:21:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632029.985902; Mon, 13 Nov 2023 22: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 1r2fJL-0003BQ-04; Mon, 13 Nov 2023 22:21:39 +0000
Received: by outflank-mailman (input) for mailman id 632029;
 Mon, 13 Nov 2023 22: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=GGJv=G2=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r2fJJ-0003AY-O6
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:21:37 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20625.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 009ee3bd-8273-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 23:21:35 +0100 (CET)
Received: from DM6PR17CA0007.namprd17.prod.outlook.com (2603:10b6:5:1b3::20)
 by LV8PR12MB9154.namprd12.prod.outlook.com (2603:10b6:408:190::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 22:21:30 +0000
Received: from DS2PEPF00003439.namprd02.prod.outlook.com
 (2603:10b6:5:1b3:cafe::81) by DM6PR17CA0007.outlook.office365.com
 (2603:10b6:5:1b3::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Mon, 13 Nov 2023 22:21:30 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003439.mail.protection.outlook.com (10.167.18.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.17 via Frontend Transport; Mon, 13 Nov 2023 22:21:30 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Mon, 13 Nov
 2023 16:21:29 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 16:21:27 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 009ee3bd-8273-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UKJnms50pDvWyrs1tYIwl/FFxEFC4USzp6RHgJgDEqKGpXzuzGqaLqlMF04FQlb3sKHofyNpl04w0dlcDLq40++Lta1i3+k//ojD/3BSF4Ge9Ih5LhKaBmCEqotHDmqcjs5QbRZfYUzMJgplOA4KOu8AXfaAhyhQqjTKIh2rQN4oNubIfXdx5sWKkVbF8wgVIp368IiNB458bzHQer3BguVEy/H4y6CL0Id2+MPjQAKkDc3p+xp4V76+cUVo94sEyhAhLsAATfT1GYaesnAyRDj77lKb3EFXms+yVWI/GPVMokzYb5z7UwTwFsPw6NsJTZi0dnx5rX6Y66FpI1W6Ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dYL359TfhXRT0qJ5mtolFOwXh4EgFhT2io41Svg/QG4=;
 b=IHAaNpzfEHme3PP0lZTudHN1dNJQhK2Bxt/aICHxy7N4kXbFExT1tgLyEbSyl51ztWdZhv/iIcsfhF0c4akv5ZDsOpFh1ezuZmQDn9EQi8QWgSfobdf7v+pPv5RbI9LKfzWzT8aU8LDEL44rQ7vthtNbtOoYk/VjcnloIIoD7/6RKjXq/B/ALp6GsbFSQqt6a26VoPrOatkqi8V062PkVQs58VlxKpyiWEGjpXks/X3UfhIT/4cSbgMeLg+FEmOLkO2oCyFvqBkqVHR4uVpgnb+zfN9ymvz2kRrZApE9eTU4jA+Tivjm1VSuf914x73RTpFbH5/zfCEAT5j6Zi+peQ==
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 (0)
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=dYL359TfhXRT0qJ5mtolFOwXh4EgFhT2io41Svg/QG4=;
 b=DVcNvnxGXhEi5ZEBzdC5I5OLIq9b+pj00OzHdKvkjFxvjohJ5QEMZCfOWT6kZVD6m7lj8uhJ6LtnQf6QPR1h2EauzlqYue1BtGsj2N+nQUVAp2xbMlQ3VggFp+sJBY/38ggFup3FqCiFDtFEC/n/cWnuP5VdN85ltw1TrxcidwY=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Christian Lindig <christian.lindig@citrix.com>,
	David Scott <dave@recoil.org>, =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Paul Durrant <paul@xen.org>
Subject: [PATCH v6 0/5] Kconfig for PCI passthrough on ARM
Date: Mon, 13 Nov 2023 17:21:09 -0500
Message-ID: <20231113222118.825758-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003439:EE_|LV8PR12MB9154:EE_
X-MS-Office365-Filtering-Correlation-Id: 91a8e147-39f0-4562-061d-08dbe496e2ad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RuENATDlZqN9veKX8ai06rVNqPl8rZRJIkUNGh2FAj09qroGB/pF6eALkYAd/IQ8dyHaq9ZafGq/hn6BrbyWSPj1UuFolvn018CwobhLqceAJPVCisNbB7wsmsmgc1jX25YOPp7jgvXCPfc0Ab2tVNuG+eRUWZhcpInCO1fLsGQMJH+KMmslhAIQjalHTza2axDRwL2d8rl3TkKxT83LDJF9ISVYwvCyz2T26hpe79xnEEyumW+eoWvmLWQCwY++fsA9578S9sRQBEYZG7p5VdM7eyozwbGHmb3gLGuiF3mtfhLAqRr/QoEXQEy+fYohsHOhau4qeJM4DuH6ezmiiwZYtcBqQInbx1+sARTOGnw2TRqvXFvAW/n0yC3Abdtg384zyV4jdOfTeBnaApDqOBIFQzUzLMobXgZJKsRZuKLFA0uFj7bt/iLOUbZZOMosxxHwWOjMK3H4BI6mt+NBZ0GA6WBYvR+SzU4kT4dR8vEA/0CEg8kiw/BmLaxp/W28MzOY9ecYzNe6LDMsjLl5Rd/gCI9YNC2kQIqTb2jKAyZ6iC2pZuNq2GxkIVxXMVwcYHClbYbWuJbYRiHkhjxoxG7dUorZ8onetBjyaagcHZ/yGGRwrZOOzSo59W+5MOYbWaIGEIqo5v0gbfSuSExvudPVwjyRlEDC9mZQJZcuTSL54OID7zHHH65ZMWnchw6+srjgobmnX59hB6BfXnAnd9+YsLkVldS2WGWMuwjuNw6iP9esZy/C3gieMuCInxFTBkmkWOt4GSAeOlHMqZ5yrw==
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:(13230031)(4636009)(136003)(39860400002)(396003)(376002)(346002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(82310400011)(36840700001)(40470700004)(46966006)(36860700001)(2906002)(1076003)(44832011)(40460700003)(7416002)(2616005)(5660300002)(86362001)(41300700001)(47076005)(426003)(26005)(336012)(82740400003)(54906003)(70586007)(316002)(6916009)(70206006)(83380400001)(966005)(36756003)(81166007)(478600001)(6666004)(356005)(8676002)(4326008)(40480700001)(8936002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 22:21:30.1493
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 91a8e147-39f0-4562-061d-08dbe496e2ad
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:
	DS2PEPF00003439.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9154

There are multiple series in development/review [1], [2] that will benefit from
having a Kconfig option for PCI passthrough on ARM. Hence I have sent this
series independent from any other series.

v5->v6:
* address feedback in individual patches

v4->v5:
* add [FUTURE] tag to ("xen/arm: enable vPCI for dom0")
* address feedback in individual patches

v3->v4:
* rename ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
  to ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
* fold ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
  into ("xen/vpci: move xen_domctl_createdomain vPCI flag to common")
* split ("xen/arm: enable vPCI for domUs") into separate hypervisor and
  tools patches

v2->v3:
* add ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
* rename ("xen/arm: make has_vpci depend on CONFIG_HAS_VPCI")
      to ("xen/arm: make has_vpci() depend on d->arch.has_vpci")
* add ("xen/arm: enable vPCI for dom0")

v1->v2:
* add ("[FUTURE] xen/arm: enable vPCI for domUs")

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00210.html

Rahul Singh (1):
  xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option

Stewart Hildebrand (4):
  xen/vpci: move xen_domctl_createdomain vPCI flag to common
  [FUTURE] xen/arm: enable vPCI for dom0
  [FUTURE] xen/arm: enable vPCI for domUs
  [FUTURE] tools/arm: enable vPCI for domUs

 tools/libs/light/libxl_arm.c       |  3 +++
 tools/libs/light/libxl_x86.c       |  2 +-
 tools/ocaml/libs/xc/xenctrl.ml     |  2 +-
 tools/ocaml/libs/xc/xenctrl.mli    |  2 +-
 tools/python/xen/lowlevel/xc/xc.c  |  2 +-
 xen/arch/arm/Kconfig               | 10 ++++++++++
 xen/arch/arm/domain.c              |  3 ++-
 xen/arch/arm/domain_build.c        |  6 ++++++
 xen/arch/arm/include/asm/domain.h  |  5 ++---
 xen/arch/arm/include/asm/pci.h     |  9 +++++++++
 xen/arch/arm/pci/pci-host-common.c | 11 ++++++++---
 xen/arch/arm/vpci.c                |  8 ++++++++
 xen/arch/x86/domain.c              | 20 +++++++++++++++-----
 xen/arch/x86/include/asm/domain.h  |  8 +++-----
 xen/arch/x86/setup.c               |  4 ++--
 xen/common/domain.c                | 15 ++++++++++++++-
 xen/drivers/passthrough/pci.c      | 20 ++++++++++++++++++++
 xen/include/public/arch-x86/xen.h  |  9 +++++----
 xen/include/public/domctl.h        |  6 ++++--
 xen/include/xen/domain.h           |  2 ++
 20 files changed, 117 insertions(+), 30 deletions(-)


base-commit: fb41228ececea948c7953c8c16fe28fd65c6536b
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:21:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:21:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632030.985912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fJd-0003W9-CW; Mon, 13 Nov 2023 22:21:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632030.985912; Mon, 13 Nov 2023 22:21: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 1r2fJd-0003W2-95; Mon, 13 Nov 2023 22:21:57 +0000
Received: by outflank-mailman (input) for mailman id 632030;
 Mon, 13 Nov 2023 22:21: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=GGJv=G2=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r2fJb-0003AY-Nx
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:21:55 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7e88::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c109f1c-8273-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 23:21:54 +0100 (CET)
Received: from CH0PR03CA0023.namprd03.prod.outlook.com (2603:10b6:610:b0::28)
 by LV8PR12MB9261.namprd12.prod.outlook.com (2603:10b6:408:1ed::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.29; Mon, 13 Nov
 2023 22:21:50 +0000
Received: from DS2PEPF0000343E.namprd02.prod.outlook.com
 (2603:10b6:610:b0:cafe::c4) by CH0PR03CA0023.outlook.office365.com
 (2603:10b6:610:b0::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Mon, 13 Nov 2023 22:21:50 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF0000343E.mail.protection.outlook.com (10.167.18.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.13 via Frontend Transport; Mon, 13 Nov 2023 22:21:49 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Mon, 13 Nov
 2023 16:21:49 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 16:21:47 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c109f1c-8273-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hDoBTFG9su1xMJljowgeksOdvzsbvlpzmCp3Bq+WVh1Q2q5AGJjSlNW5ASwCQVccci1g6djoHrOOkpBJmrUHEMGZbq9LG6wBzFp6c4GwF71uo1+cWw7PEZON2MfmRp6Be+dWMmgKOzUOHhdxJZQ9R7kgzpPG3/p1/X8NWer5DNMJmEUpbDqKXH8R/hH7P+nupo8GE5hy29b2Q/RsvVQ/wFlZ6URHsCz878ljHKsO7YXw6JzxMaKo+UXEebWcVs0DNRjkhhhOxBFu1J5Fj/nxnaenVHSLKu4mtce5wDPoicJMGLvHFjNbku7yRQAVc8sJAVC77+ucOaaNLcVZAv3Qng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d01MS5Ue/SUAYQwAAGRFoqPnpwVwUw5LXQKwJJmFc/E=;
 b=dwYkAE0SgrUdm3ETLqejTdsOhd05SowwKwb6IEVHszPdmenyijlFxhQZKhMT/lrDzHRul1qLk7e1l513Luz8M6F15oerzrMam1cZy99m+a/gDqRFiDWXU1hQ/KPHqvka0+AQtXdpwQAZa+LICjp/+Dt5LdyfoovT42SiEr5a+eCkHRfJ7EANWUa4u1XF50F/QUzQ8KdS+Lv6JmWdPt2tL8oUHiUoBXQzZssVtJ1TgtEZ9IBN8P33UpmEiwhI//W7fXhvHCFHDmnU0d/6WSj0x1repUsht3ppz928eRd5rYec5nti5qp7zY40t3afY90dOjgLep2cO1qScXdf/HFL/A==
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 (0)
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=d01MS5Ue/SUAYQwAAGRFoqPnpwVwUw5LXQKwJJmFc/E=;
 b=IaHH9ZGc/459cCqO6NF70blYqu8+9b3aVjDOu8rGYEKp5v/qCHOqLudVq1/nl/W39HdBiOnojKsnrXohCVjudMqxaOYkSaBzmXK7urbuktjnrz49D8kDMCCyq1PHwSr6aKdh/rcOn7crNGDpxzXerUws+SWc1pePoIw4DpEipFE=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Rahul Singh <rahul.singh@arm.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, Stefano Stabellini
	<stefano.stabellini@amd.com>, Stewart Hildebrand
	<stewart.hildebrand@amd.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 1/5] xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option
Date: Mon, 13 Nov 2023 17:21:10 -0500
Message-ID: <20231113222118.825758-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231113222118.825758-1-stewart.hildebrand@amd.com>
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF0000343E:EE_|LV8PR12MB9261:EE_
X-MS-Office365-Filtering-Correlation-Id: 3e75b07f-cc98-4ce4-2cea-08dbe496ee5b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ppZtBsywqPPf2AklQ5Ct+xIRYbRQDuUroJW6mX5X/lhUWjWdk5PCJBikIGMww3q36LYlcUV9B39hJOU4qbxCGOvYgbazeGQlhuW4zkh2fzlQs/raxUuTbJ1rl2vHf3GeHvkXCmZB1wcx9iDBRveBYztMCWiTYbrEyGsOSooBcVwfdHY5f631HyfKpbtyLvI6C9RSIwvdca2Vmbr9qBChtlB0iemuZhPkuMYcTqMU6Rmy37E0MLiur/UyjPYS8VqGqZ88eK3vqM0PMnbzc/SYWabysl1ADbFV/xDpolqwLRYPSYmlk/40wzPhSueGVavyAjgcbfeOkrGGhelL6ZeULgWcc2dajb3f8i0hWiPupOyxs9UT4wURWHNtz/4ml+HNoR/sD1Og2Sj3POnRYXtKVvG3E55Zngy9YLNrR/CdkTOaU0R3wdk5AwgfODgPeyDbrPUBF9ZYwro/LnExL37Vpl1p1kuyR7hSI7DVIyMq/TL1QP74KsBGXVUGkBec+K6oycAWFsIlrny8Z1GgqQzVXhyLZ4ZGzbOH0nKYMpoDKUkczgfHhgntKQ5lZKXQqShIWwVPyc+Db796JoOjAMccm6k4ejPyyhCNMOEoQfnV0ns2szKs9RHjQSAp9fR9wrt6Cq1RTOlN0mGmSjw2/J2/SpBsGYYwHEQQj6SAs998pBzsbN5RIp2T8He+9NfFB7JbU8Da7Z/J+CmbsTd22fMHEs6TfREkXLlRsuNgw9RqvYhgzHJAHM3AjJVaD3Raplzmn1rUBm7w+uZ38CXIqv2Lxg==
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:(13230031)(4636009)(346002)(136003)(39860400002)(376002)(396003)(230922051799003)(451199024)(82310400011)(64100799003)(186009)(1800799009)(40470700004)(36840700001)(46966006)(41300700001)(2906002)(4326008)(8936002)(8676002)(44832011)(40460700003)(86362001)(5660300002)(36756003)(2616005)(478600001)(36860700001)(966005)(1076003)(336012)(6666004)(47076005)(426003)(82740400003)(356005)(81166007)(26005)(70206006)(54906003)(40480700001)(6916009)(316002)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 22:21:49.7455
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3e75b07f-cc98-4ce4-2cea-08dbe496ee5b
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:
	DS2PEPF0000343E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV8PR12MB9261

From: Rahul Singh <rahul.singh@arm.com>

Setting CONFIG_PCI_PASSTHROUGH=y will enable PCI passthrough on ARM, even though
the feature is not yet complete in the current upstream codebase. The purpose of
this is to make it easier to enable the necessary configs (HAS_PCI, HAS_VPCI) for
testing and development of PCI passthrough on ARM.

Since PCI passthrough on ARM is still work in progress at this time, make it
depend on EXPERT.

Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
(cherry picked from commit 9a08f1f7ce28ec619640ba9ce11018bf443e9a0e from the
 downstream branch [1])

v5->v6:
* no change

v4->v5:
* no change

v3->v4:
* no change

v2->v3:
* add Julien's A-b

v1->v2:
* drop "ARM" naming since it is already in an ARM category
* depend on EXPERT instead of UNSUPPORTED

Changes from downstream to v1:
* depends on ARM_64 (Stefano)
* Don't select HAS_VPCI_GUEST_SUPPORT since this config option is not currently
  used in the upstream codebase. This will want to be re-added here once the
  vpci series [2] is merged.
* Don't select ARM_SMMU_V3 since this option can already be selected
  independently. While PCI passthrough on ARM depends on an SMMU, it does not
  depend on a particular version or variant of an SMMU.
* Don't select HAS_ITS since this option can already be selected independently.
  HAS_ITS may want to be added here once the MSI series [1] is merged.
* Don't select LATE_HWDOM since this option is unrelated to PCI passthrough.

[1] https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/commits/poc/pci-passthrough
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.html
---
 xen/arch/arm/Kconfig | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b78..5ff68e5d5979 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -190,6 +190,15 @@ config STATIC_SHM
 	help
 	  This option enables statically shared memory on a dom0less system.
 
+config PCI_PASSTHROUGH
+	bool "PCI passthrough" if EXPERT
+	depends on ARM_64
+	select HAS_PCI
+	select HAS_VPCI
+	default n
+	help
+	  This option enables PCI device passthrough
+
 endmenu
 
 menu "ARM errata workaround via the alternative framework"
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:22:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:22:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632033.985921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fJy-00044Y-QW; Mon, 13 Nov 2023 22:22:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632033.985921; Mon, 13 Nov 2023 22:22: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 1r2fJy-00044P-Ns; Mon, 13 Nov 2023 22:22:18 +0000
Received: by outflank-mailman (input) for mailman id 632033;
 Mon, 13 Nov 2023 22:22: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=GGJv=G2=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r2fJy-0003AY-5f
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:22:18 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20606.outbound.protection.outlook.com
 [2a01:111:f400:7e88::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1957e531-8273-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 23:22:16 +0100 (CET)
Received: from BL1PR13CA0274.namprd13.prod.outlook.com (2603:10b6:208:2bc::9)
 by BL1PR12MB5029.namprd12.prod.outlook.com (2603:10b6:208:31d::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 22:22:11 +0000
Received: from BL6PEPF0001AB72.namprd02.prod.outlook.com
 (2603:10b6:208:2bc:cafe::1b) by BL1PR13CA0274.outlook.office365.com
 (2603:10b6:208:2bc::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15 via Frontend
 Transport; Mon, 13 Nov 2023 22:22:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB72.mail.protection.outlook.com (10.167.242.165) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.13 via Frontend Transport; Mon, 13 Nov 2023 22:22:10 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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.2507.32; Mon, 13 Nov
 2023 16:22:10 -0600
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.2507.32; Mon, 13 Nov
 2023 16:22:10 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 16:22:08 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1957e531-8273-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VggPD7AhwUkVALtL09Xdl55REkb+/22vbgytgadPbfrBwdhan+PkHNUxKM+Gy+SEWOD3cxzsLLMZpcnWHQEJzpJz2wl7apiWKbaKpnAKrOPwe3GMnNGx3OvcyUH3U4PIEmeBexHaJyQ7cNiIz1yt+fNiW37vbkNxZesevCrn+Y1A07ZfSJ2ObGQNUxMeTlflUgab3nUhVmB5aB6GDidlcm+m5xVb4hI10yGiQ3vqCjCwAw8s/aV2WLm+eDnzL6J8UOirzz92cMyABXNpi4STBgYCTPkTTaPXNkvQ1yH5H5KlxNX44bo0WcsXEL52SDv21NjeBPZ8nQfTtO/Attv79Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fNIMjSozE0dwXJVr8jQ3TQDs77gzhEx6bGfEi4dxzAs=;
 b=D70ht+4F5YlCIq40qX/7I4LqqBXuY7fa6aQLXqIu8NVqbVHf2QHZcZBxelq3cn2+PmbQdRA2VkuTm+FbiGj4N0HV4UDvFaEOiT9pRVH4rPtFNE9n/RL77XgbN1uAVR+RmgbtZSp2yQkpEC15tLEoFq51DrLD6PthoGozKlXDUAMmrU3W2lxag+9Vzj0Y9XOGlYCz7CJCD7nWdhLxT1NtorPB8JZcT/IzRUtoI0p4RDrjjWyY3lt+i/7xOkWuk3d9Dmfdgb7Y3VCPzV4iwBw+oX+fnbzShr2IhCLou97qJJXtkJ2co6zlGU5oF66gy/td5DsikJwKY3KfBbi7Ji6djg==
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 (0)
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=fNIMjSozE0dwXJVr8jQ3TQDs77gzhEx6bGfEi4dxzAs=;
 b=s6KzZWGj3EQrThHLHyDkvxuS1tOCQsb+3QuQ5JdHOc4SY/bnfcyJ6tC/kH+mDChkLYj5oEjioya7ZigC51tZMkMJA/0CRDRPPKwc5wZmBQy2Trge1ZBEbTyD5i6wH6t17mYW6n2o5sKhW4f5cdl5ng6Ooeg47B05AbEZ3wiPvNA=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.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>, "Christian
 Lindig" <christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, Rahul Singh <rahul.singh@arm.com>,
	Christian Lindig <christian.lindig@cloud.com>
Subject: [PATCH v6 2/5] xen/vpci: move xen_domctl_createdomain vPCI flag to common
Date: Mon, 13 Nov 2023 17:21:11 -0500
Message-ID: <20231113222118.825758-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231113222118.825758-1-stewart.hildebrand@amd.com>
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB72:EE_|BL1PR12MB5029:EE_
X-MS-Office365-Filtering-Correlation-Id: 256ccad5-bdb1-49bf-bc26-08dbe496faf9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	m4FPxN77zElnYqX6THjir1vRLy23Kk71q9SOsstASpchIjS5s0VVaBotScjh6TqR7E/xABLDtP7iNGMirEw7iT/eeo3NxNfkTARsYUiEl/aZ3NwntfwPusxxaFQjbhx2S546Y/VQBfpYLg0P4RlPdUKT2lAQMTcP3A+eDsjQpY1qTkOmggrzgr1o+cGJrcbzITWgEwl1xrg7y7pzWE4zwolDjoOjenyzrhZFUbjgzMuioysXH149cYfuoIkVawcTSIpFWpVCNJe7THglRL1n+bSYhtj2gUubtzcu8IoxkJ0lTd69sLoPRtWZS49b6hgUatCqeagn2MBeYnGzAM1RpdtDmHEz3rANd05JQKBFCfh0b0b8hu+EO1bxUlDYuC6N4jg5sM7QJbIvQ4iisJRDNIel70HPChlgmIz8+pw/MZTtIGL2uHrbfut/VqTPiAgTN5D620IKhZueBPgT0H7CqycLlLOEd/c+S52Kv+WIwmk1oDHGCg+Kc7r63y3jbSd32B+xFyfZAvQlrFs6kKwmNckeGzXuEJxBEKEDB6/NPQVOMYjHlSbAHYL8Eb+OQfu6OCFHhVcaSmyD/dYHIRXU5a8gGnCj7EoVE5fYpD/Ez035ZrXzJlzLRdBt6lfgZj3QEFw1NTTU2i1djIEJNhJUB7Pwa2HNTVIgjwy9H2Qm7gz5z5CmGKAD4JJ2IX4WiHA53R5H76EuF3szSEf0Yf3uPpEqb8GGKFhqKRftTZmzEoaxhKzcEp+6Mfl+nHSpNoP9zRMl8s4Qp/t388gZEukF0S59dqkVWiCGvxYz0/HXKHs=
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:(13230031)(4636009)(136003)(396003)(376002)(346002)(39860400002)(230922051799003)(1800799009)(451199024)(64100799003)(82310400011)(186009)(40470700004)(36840700001)(46966006)(70586007)(54906003)(6916009)(70206006)(966005)(478600001)(316002)(40460700003)(6666004)(7416002)(86362001)(5660300002)(30864003)(41300700001)(36756003)(2906002)(8676002)(4326008)(8936002)(44832011)(2616005)(1076003)(40480700001)(26005)(356005)(83380400001)(36860700001)(47076005)(82740400003)(81166007)(426003)(336012)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 22:22:10.9486
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 256ccad5-bdb1-49bf-bc26-08dbe496faf9
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:
	BL6PEPF0001AB72.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5029

Both x86 and ARM need a way at domain creation time to specify whether
the domain needs vPCI emulation. Move the vPCI flag from x86
xen_domctl_createdomain.arch.emulation_flags to the common
xen_domctl_createdomain.flags.

Move has_vpci() macro to common header.

Bump XEN_DOMCTL_INTERFACE_VERSION since we're modifying flags inside
struct xen_domctl_createdomain and xen_arch_domainconfig.

Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
Signed-off-by: Rahul Singh <rahul.singh@arm.com>
Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
Acked-by: Christian Lindig <christian.lindig@cloud.com>
---
v5->v6:
* don't explicitly clear XEN_DOMCTL_CDF_vpci where unnecessary
* add comment about avoiding re-using bit 10 in emulation_flags
* don't #define _XEN_DOMCTL_CDF_vpci (underscore-prefixed), only
  introduce single new flag identifier
* move ( vpci && !hvm ) check to xen/arch/x86/domain.c
* simplify has_vpci()

v4->v5:
* move flags_optional change in xen/arch/arm/domain.c to next patch
* change latter 2 args to emulation_flags_ok() to unsigned int
* move vpci && !hvm check to common code
* remove stray spaces in emulation_flags_ok(), and a minor style fixup
* add CONFIG_HAS_VPCI check into has_vpci()
* add Christian's A-b (OCaml)

v3->v4:
* renamed, was:
  ("xen/arm: pci: plumb xen_arch_domainconfig with pci info")
* reworked: move x86 vPCI flag to common instead of adding another arch
  specific vPCI flag
* folded ("xen/arm: make has_vpci() depend on d->arch.has_vpci") into
  this patch (retain Signed-off-by's from [1] and [2])

v2->v3:
* new patch

[1] https://gitlab.com/xen-project/people/bmarquis/xen-arm-poc/-/commit/27be1729ce8128dbe37275ce7946b2fbd2e5a382
[2] https://github.com/xen-troops/xen/commit/bf12185e6fb2e31db0d8e6ea9ccd8a02abadec17
---
 tools/libs/light/libxl_x86.c      |  2 +-
 tools/ocaml/libs/xc/xenctrl.ml    |  2 +-
 tools/ocaml/libs/xc/xenctrl.mli   |  2 +-
 tools/python/xen/lowlevel/xc/xc.c |  2 +-
 xen/arch/arm/include/asm/domain.h |  3 ---
 xen/arch/x86/domain.c             | 20 +++++++++++++++-----
 xen/arch/x86/include/asm/domain.h |  6 +-----
 xen/arch/x86/setup.c              |  4 ++--
 xen/common/domain.c               | 10 +++++++++-
 xen/include/public/arch-x86/xen.h |  9 +++++----
 xen/include/public/domctl.h       |  6 ++++--
 xen/include/xen/domain.h          |  2 ++
 12 files changed, 42 insertions(+), 26 deletions(-)

diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c
index d16573e72cd4..4a42b7231f8b 100644
--- a/tools/libs/light/libxl_x86.c
+++ b/tools/libs/light/libxl_x86.c
@@ -8,7 +8,7 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
 {
     switch(d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
-        config->arch.emulation_flags = (XEN_X86_EMU_ALL & ~XEN_X86_EMU_VPCI);
+        config->arch.emulation_flags = XEN_X86_EMU_ALL;
         break;
     case LIBXL_DOMAIN_TYPE_PVH:
         config->arch.emulation_flags = XEN_X86_EMU_LAPIC;
diff --git a/tools/ocaml/libs/xc/xenctrl.ml b/tools/ocaml/libs/xc/xenctrl.ml
index d6c6eb73db44..6f3da9c6e064 100644
--- a/tools/ocaml/libs/xc/xenctrl.ml
+++ b/tools/ocaml/libs/xc/xenctrl.ml
@@ -46,7 +46,6 @@ type x86_arch_emulation_flags =
   | X86_EMU_IOMMU
   | X86_EMU_PIT
   | X86_EMU_USE_PIRQ
-  | X86_EMU_VPCI
 
 type x86_arch_misc_flags =
   | X86_MSR_RELAXED
@@ -70,6 +69,7 @@ type domain_create_flag =
   | CDF_IOMMU
   | CDF_NESTED_VIRT
   | CDF_VPMU
+  | CDF_VPCI
 
 type domain_create_iommu_opts =
   | IOMMU_NO_SHAREPT
diff --git a/tools/ocaml/libs/xc/xenctrl.mli b/tools/ocaml/libs/xc/xenctrl.mli
index 3bfc16edba96..e2dd02bec962 100644
--- a/tools/ocaml/libs/xc/xenctrl.mli
+++ b/tools/ocaml/libs/xc/xenctrl.mli
@@ -40,7 +40,6 @@ type x86_arch_emulation_flags =
   | X86_EMU_IOMMU
   | X86_EMU_PIT
   | X86_EMU_USE_PIRQ
-  | X86_EMU_VPCI
 
 type x86_arch_misc_flags =
   | X86_MSR_RELAXED
@@ -63,6 +62,7 @@ type domain_create_flag =
   | CDF_IOMMU
   | CDF_NESTED_VIRT
   | CDF_VPMU
+  | CDF_VPCI
 
 type domain_create_iommu_opts =
   | IOMMU_NO_SHAREPT
diff --git a/tools/python/xen/lowlevel/xc/xc.c b/tools/python/xen/lowlevel/xc/xc.c
index d3ea350e07b9..b9f559a8e637 100644
--- a/tools/python/xen/lowlevel/xc/xc.c
+++ b/tools/python/xen/lowlevel/xc/xc.c
@@ -159,7 +159,7 @@ static PyObject *pyxc_domain_create(XcObject *self,
 
 #if defined (__i386) || defined(__x86_64__)
     if ( config.flags & XEN_DOMCTL_CDF_hvm )
-        config.arch.emulation_flags = (XEN_X86_EMU_ALL & ~XEN_X86_EMU_VPCI);
+        config.arch.emulation_flags = XEN_X86_EMU_ALL;
 #elif defined (__arm__) || defined(__aarch64__)
     config.arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE;
 #else
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 5fb8cd79c01a..3614562eaefe 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -298,9 +298,6 @@ static inline void arch_vcpu_block(struct vcpu *v) {}
 
 #define arch_vm_assist_valid_mask(d) (1UL << VMASST_TYPE_runstate_update_flag)
 
-/* vPCI is not available on Arm */
-#define has_vpci(d)    ({ (void)(d); false; })
-
 struct arch_vcpu_io {
     struct instr_details dabt_instr; /* when the instruction is decoded */
 };
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 3712e36df930..bbb73abe88a1 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -636,6 +636,7 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
     bool hvm = config->flags & XEN_DOMCTL_CDF_hvm;
     bool hap = config->flags & XEN_DOMCTL_CDF_hap;
     bool nested_virt = config->flags & XEN_DOMCTL_CDF_nested_virt;
+    bool vpci = config->flags & XEN_DOMCTL_CDF_vpci;
     unsigned int max_vcpus;
 
     if ( hvm ? !hvm_enabled : !IS_ENABLED(CONFIG_PV) )
@@ -709,10 +710,17 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
+    if ( vpci && !hvm )
+    {
+        dprintk(XENLOG_INFO, "vPCI requested for non-HVM guest\n");
+        return -EINVAL;
+    }
+
     return 0;
 }
 
-static bool emulation_flags_ok(const struct domain *d, uint32_t emflags)
+static bool emulation_flags_ok(const struct domain *d, unsigned int emflags,
+                               unsigned int cdf)
 {
 #ifdef CONFIG_HVM
     /* This doesn't catch !CONFIG_HVM case but it is better than nothing */
@@ -722,11 +730,13 @@ static bool emulation_flags_ok(const struct domain *d, uint32_t emflags)
     if ( is_hvm_domain(d) )
     {
         if ( is_hardware_domain(d) &&
-             emflags != (X86_EMU_VPCI | X86_EMU_LAPIC | X86_EMU_IOAPIC) )
+             (!(cdf & XEN_DOMCTL_CDF_vpci) ||
+              emflags != (X86_EMU_LAPIC | X86_EMU_IOAPIC)) )
             return false;
         if ( !is_hardware_domain(d) &&
-             emflags != (X86_EMU_ALL & ~X86_EMU_VPCI) &&
-             emflags != X86_EMU_LAPIC )
+             ((cdf & XEN_DOMCTL_CDF_vpci) ||
+              (emflags != X86_EMU_ALL &&
+               emflags != X86_EMU_LAPIC)) )
             return false;
     }
     else if ( emflags != 0 && emflags != X86_EMU_PIT )
@@ -798,7 +808,7 @@ int arch_domain_create(struct domain *d,
         return -EINVAL;
     }
 
-    if ( !emulation_flags_ok(d, emflags) )
+    if ( !emulation_flags_ok(d, emflags, config->flags) )
     {
         printk(XENLOG_G_ERR "d%d: Xen does not allow %s domain creation "
                "with the current selection of emulators: %#x\n",
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index 619e667938ed..cb02a4d1ebb2 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -471,7 +471,6 @@ struct arch_domain
 #define X86_EMU_VGA      XEN_X86_EMU_VGA
 #define X86_EMU_IOMMU    XEN_X86_EMU_IOMMU
 #define X86_EMU_USE_PIRQ XEN_X86_EMU_USE_PIRQ
-#define X86_EMU_VPCI     XEN_X86_EMU_VPCI
 #else
 #define X86_EMU_LAPIC    0
 #define X86_EMU_HPET     0
@@ -482,7 +481,6 @@ struct arch_domain
 #define X86_EMU_VGA      0
 #define X86_EMU_IOMMU    0
 #define X86_EMU_USE_PIRQ 0
-#define X86_EMU_VPCI     0
 #endif
 
 #define X86_EMU_PIT     XEN_X86_EMU_PIT
@@ -492,8 +490,7 @@ struct arch_domain
                                  X86_EMU_PM | X86_EMU_RTC |             \
                                  X86_EMU_IOAPIC | X86_EMU_PIC |         \
                                  X86_EMU_VGA | X86_EMU_IOMMU |          \
-                                 X86_EMU_PIT | X86_EMU_USE_PIRQ |       \
-                                 X86_EMU_VPCI)
+                                 X86_EMU_PIT | X86_EMU_USE_PIRQ)
 
 #define has_vlapic(d)      (!!((d)->arch.emulation_flags & X86_EMU_LAPIC))
 #define has_vhpet(d)       (!!((d)->arch.emulation_flags & X86_EMU_HPET))
@@ -505,7 +502,6 @@ struct arch_domain
 #define has_viommu(d)      (!!((d)->arch.emulation_flags & X86_EMU_IOMMU))
 #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
 #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
-#define has_vpci(d)        (!!((d)->arch.emulation_flags & X86_EMU_VPCI))
 
 #define gdt_ldt_pt_idx(v) \
       ((v)->vcpu_id >> (PAGETABLE_ORDER - GDT_LDT_VCPU_SHIFT))
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a3d3f797bb1e..00dfcf231e21 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -890,12 +890,12 @@ static struct domain *__init create_dom0(const module_t *image,
 
     if ( opt_dom0_pvh )
     {
-        dom0_cfg.flags |= (XEN_DOMCTL_CDF_hvm |
+        dom0_cfg.flags |= (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_vpci |
                            ((hvm_hap_supported() && !opt_dom0_shadow) ?
                             XEN_DOMCTL_CDF_hap : 0));
 
         dom0_cfg.arch.emulation_flags |=
-            XEN_X86_EMU_LAPIC | XEN_X86_EMU_IOAPIC | XEN_X86_EMU_VPCI;
+            XEN_X86_EMU_LAPIC | XEN_X86_EMU_IOAPIC;
     }
 
     if ( iommu_enabled )
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8f9ab01c0cb7..12dc27428972 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -509,12 +509,14 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
     bool hap = config->flags & XEN_DOMCTL_CDF_hap;
     bool iommu = config->flags & XEN_DOMCTL_CDF_iommu;
     bool vpmu = config->flags & XEN_DOMCTL_CDF_vpmu;
+    bool vpci = config->flags & XEN_DOMCTL_CDF_vpci;
 
     if ( config->flags &
          ~(XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap |
            XEN_DOMCTL_CDF_s3_integrity | XEN_DOMCTL_CDF_oos_off |
            XEN_DOMCTL_CDF_xs_domain | XEN_DOMCTL_CDF_iommu |
-           XEN_DOMCTL_CDF_nested_virt | XEN_DOMCTL_CDF_vpmu) )
+           XEN_DOMCTL_CDF_nested_virt | XEN_DOMCTL_CDF_vpmu |
+           XEN_DOMCTL_CDF_vpci) )
     {
         dprintk(XENLOG_INFO, "Unknown CDF flags %#x\n", config->flags);
         return -EINVAL;
@@ -575,6 +577,12 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
         return -EINVAL;
     }
 
+    if ( vpci && !IS_ENABLED(CONFIG_HAS_VPCI) )
+    {
+        dprintk(XENLOG_INFO, "vPCI requested but not enabled\n");
+        return -EINVAL;
+    }
+
     return arch_sanitise_domain_config(config);
 }
 
diff --git a/xen/include/public/arch-x86/xen.h b/xen/include/public/arch-x86/xen.h
index c0f4551247f4..abb808c9060b 100644
--- a/xen/include/public/arch-x86/xen.h
+++ b/xen/include/public/arch-x86/xen.h
@@ -283,15 +283,16 @@ struct xen_arch_domainconfig {
 #define XEN_X86_EMU_PIT             (1U<<_XEN_X86_EMU_PIT)
 #define _XEN_X86_EMU_USE_PIRQ       9
 #define XEN_X86_EMU_USE_PIRQ        (1U<<_XEN_X86_EMU_USE_PIRQ)
-#define _XEN_X86_EMU_VPCI           10
-#define XEN_X86_EMU_VPCI            (1U<<_XEN_X86_EMU_VPCI)
+/*
+ * Note: bit 10 was previously used for a XEN_X86_EMU_VPCI flag. This bit should
+ * not be re-used without careful consideration.
+ */
 
 #define XEN_X86_EMU_ALL             (XEN_X86_EMU_LAPIC | XEN_X86_EMU_HPET |  \
                                      XEN_X86_EMU_PM | XEN_X86_EMU_RTC |      \
                                      XEN_X86_EMU_IOAPIC | XEN_X86_EMU_PIC |  \
                                      XEN_X86_EMU_VGA | XEN_X86_EMU_IOMMU |   \
-                                     XEN_X86_EMU_PIT | XEN_X86_EMU_USE_PIRQ |\
-                                     XEN_X86_EMU_VPCI)
+                                     XEN_X86_EMU_PIT | XEN_X86_EMU_USE_PIRQ)
     uint32_t emulation_flags;
 
 /*
diff --git a/xen/include/public/domctl.h b/xen/include/public/domctl.h
index a33f9ec32b08..8b3ea62cae06 100644
--- a/xen/include/public/domctl.h
+++ b/xen/include/public/domctl.h
@@ -21,7 +21,7 @@
 #include "hvm/save.h"
 #include "memory.h"
 
-#define XEN_DOMCTL_INTERFACE_VERSION 0x00000016
+#define XEN_DOMCTL_INTERFACE_VERSION 0x00000017
 
 /*
  * NB. xen_domctl.domain is an IN/OUT parameter for this operation.
@@ -55,9 +55,11 @@ struct xen_domctl_createdomain {
 #define XEN_DOMCTL_CDF_nested_virt    (1U << _XEN_DOMCTL_CDF_nested_virt)
 /* Should we expose the vPMU to the guest? */
 #define XEN_DOMCTL_CDF_vpmu           (1U << 7)
+/* Should vPCI be enabled for the guest? */
+#define XEN_DOMCTL_CDF_vpci           (1U << 8)
 
 /* Max XEN_DOMCTL_CDF_* constant.  Used for ABI checking. */
-#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_vpmu
+#define XEN_DOMCTL_CDF_MAX XEN_DOMCTL_CDF_vpci
 
     uint32_t flags;
 
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 54d88bf5e34b..17b3429240f3 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -51,6 +51,8 @@ void arch_get_domain_info(const struct domain *d,
 
 #define is_domain_using_staticmem(d) ((d)->cdf & CDF_staticmem)
 
+#define has_vpci(d) (!!((d)->options & XEN_DOMCTL_CDF_vpci))
+
 /*
  * Arch-specifics.
  */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:22:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:22:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632035.985931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fKB-0004Y0-3F; Mon, 13 Nov 2023 22:22:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632035.985931; Mon, 13 Nov 2023 22:22: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 1r2fKB-0004Xt-0a; Mon, 13 Nov 2023 22:22:31 +0000
Received: by outflank-mailman (input) for mailman id 632035;
 Mon, 13 Nov 2023 22:22: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=GGJv=G2=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r2fK9-0003AY-MI
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:22:29 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060b.outbound.protection.outlook.com
 [2a01:111:f400:fe59::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 20426975-8273-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 23:22:28 +0100 (CET)
Received: from BLAPR03CA0054.namprd03.prod.outlook.com (2603:10b6:208:32d::29)
 by IA1PR12MB7494.namprd12.prod.outlook.com (2603:10b6:208:41a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 22:22:24 +0000
Received: from BL6PEPF0001AB78.namprd02.prod.outlook.com
 (2603:10b6:208:32d:cafe::de) by BLAPR03CA0054.outlook.office365.com
 (2603:10b6:208:32d::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Mon, 13 Nov 2023 22:22:24 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB78.mail.protection.outlook.com (10.167.242.171) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.14 via Frontend Transport; Mon, 13 Nov 2023 22:22:24 +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.2507.32; Mon, 13 Nov
 2023 16:22:23 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Mon, 13 Nov
 2023 14:22:23 -0800
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 16:22:22 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20426975-8273-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lzq7+w9eeVi0MDNWcd/TbsX0cDbhrqjyF84a3vaHANhNByj6Bmw7hdjkGDmCclZmtto9JT/BmzQud4XuVFCy/yGb1Lfng+sRYeDdS+HVaUomDBmFJlyPnFe10J9CSomI/TYSXRmH7T0G9iIP0azrbkl4091N9eNktMzPqAN3ONKZTrSx+si+K+I0CByWdjLPgmescn95E8YtFDPf5Sy18IdidDAkkfR3/wwfCUk7hqDJF9/BwekZdrdm6HlWk6NzX/1sHEMnuuG7ZxGlkvTLjJy7r+4qcCLzNLIJhjgl6NYTwYUgd5wRqCCUe/qbVlwYAhgH8jgeikwNB8odH/9f+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=gX7WDh6u+fUULoRtawIbVh/xTm5OKI1iE4k56R1o0i4=;
 b=IInU/aJ8Bx0VG8XuTwEW/3Hk1rGx8rIfkOZ74han9tTlVJhND8W4tV2pAF+uk7UZ4JLsf5hFRsILmhZ4loAz0t0PNSHPJTWiXkpeL+meSd8SEdjgabotolc6dHEhtDvbmv7GV+OUeTngk0yfagVhugvvq20s6RPUR2zgKDTYkyVNW0WABEGdeC4PuNO6j6DEfVozh6hFMBp1u8s+BcPOBxJurjfuhZYz5/XdFVfkCsjN7cpNMdRcfGMwHYeLYDKCga+hx4TvfY6Q5+uDDi4KYtECNsUfv3xzJ49AcJh2c+dZ884cxhtfS5z/GtTMA9ZLhCW0UEkrEygkvKqxQh3NkA==
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 (0)
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=gX7WDh6u+fUULoRtawIbVh/xTm5OKI1iE4k56R1o0i4=;
 b=Kxg2vyjmylkNJyQwo0URGMR2qpoljCw9DJJ+/uYcudilAEda1bbUB/Gx8rPf92Gmq3yuERtVFPbSmqGsyvJxekE21HpgaHPK00zACii5woIva10o/ttbIQ5luzlu85oB1n2API+eL9XHlFBJjwh7J5BdR+MuwBdvsoG7S1z86uE=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v6 3/5] [FUTURE] xen/arm: enable vPCI for dom0
Date: Mon, 13 Nov 2023 17:21:12 -0500
Message-ID: <20231113222118.825758-4-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231113222118.825758-1-stewart.hildebrand@amd.com>
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB78:EE_|IA1PR12MB7494:EE_
X-MS-Office365-Filtering-Correlation-Id: e1e1d82e-cff6-4561-b88f-08dbe4970301
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ArcVTITX0lOv9BuQP/9BFnA1HX7ts/MaOZu9ib4MxwSsxNDCdoXDnR4+mAGOHdjbd3H3p9NPgXB2A9qo17pWZIGqZRkuphHZSNLx69kMIxbB/IKCVUbNEVMelkZ6plmeYSF18Fhyr2ARinCYODGtlLlHwYNwDOXEAeQ55uQqd7ObEy+EhXGuxEdmRBfUt+Qe41/jPVX6eKDyClPdlbDzC7dPHBhijkvb3H+aF+30FsJ7FJVgfEE2Tnr9OqOKW8A/cD8nqk+tKPIfJuAbJKv4y37TqfQV1zpsFFDhenbSlrMhOnjo7wJH/h032lwJGd91zgXqEqn13fQqjXwwVi6F6/u1egzPZb0ha12vPiT5jWBaMROyY2rVZ7gRYEm4TccKUGSbdaGpxVnvhoddX1nGuIhPARsFZc5Id9bz7dMXufb941iW2G51W2M6T1yv1ukRoFGA7Ng2WfeR8OjK77taHtm7dmgFOflh6ybLkcnyZ8XlHrp8++uA/RwkkS6iiAW5V+wlp5NDiMETdIIAZ15AY+/RnxI8CF5zMjseSjVWAX3z8xAbWHe9qg7vOBSKNYnNslIKRMm68JC+9MG3hekHKiGrm6fu8nKzp//4PDSf9s94zmKJbc7kWuIbuQaT/CUJZSfkEArcdpb1mzRyBEpwW5QViATUz+rdiYvxlvbfA78LiayEVKbinlfDTtamxyqAcuRaRhNn1sByHBV/JFo1dkN84F2okZrZtvUBRICmhVgdLLh3N//xcHHxdy1DOK7oVgWlIKdtddGFbS6lgEXVLQ==
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:(13230031)(4636009)(39860400002)(346002)(396003)(136003)(376002)(230922051799003)(82310400011)(186009)(1800799009)(451199024)(64100799003)(36840700001)(46966006)(40470700004)(966005)(478600001)(81166007)(6666004)(36756003)(356005)(336012)(426003)(47076005)(6916009)(316002)(70586007)(70206006)(54906003)(41300700001)(40480700001)(83380400001)(44832011)(4326008)(8676002)(8936002)(40460700003)(5660300002)(2616005)(82740400003)(86362001)(2906002)(36860700001)(26005)(1076003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 22:22:24.4227
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e1e1d82e-cff6-4561-b88f-08dbe4970301
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:
	BL6PEPF0001AB78.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7494

Set the vPCI flag in xen_domctl_createdomain to enable vPCI for dom0 if
iommu and PCI passthrough are enabled and there exists a PCI host bridge
in the system.

Adjust pci_host_iterate_bridges_and_count() to count the number of host
bridges if no callback is provided.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
Allowing/enabling vPCI for dom0 on ARM should follow or be part of the
PCI passthrough SMMU series [1]. I'm including it here due to
prerequisites in this Kconfig series. Once the prerequisites are
committed I'll move this patch to the PCI passthrough SMMU series.

v5->v6:
* no change

v4->v5:
* add [FUTURE] tag
* move flags_optional change from the previous patch to here

v3->v4:
* depend on iommu_enabled, pci_passthrough_enabled, and whether there
  is a pci host bridge

v2->v3:
* new patch

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00210.html
---
 xen/arch/arm/domain.c              |  3 ++-
 xen/arch/arm/domain_build.c        |  6 ++++++
 xen/arch/arm/include/asm/pci.h     |  9 +++++++++
 xen/arch/arm/pci/pci-host-common.c | 11 ++++++++---
 4 files changed, 25 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 28e3aaa5e482..1409a4235e13 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -607,7 +607,8 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
 {
     unsigned int max_vcpus;
     unsigned int flags_required = (XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap);
-    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu);
+    unsigned int flags_optional = (XEN_DOMCTL_CDF_iommu | XEN_DOMCTL_CDF_vpmu |
+                                   XEN_DOMCTL_CDF_vpci);
     unsigned int sve_vl_bits = sve_decode_vl(config->arch.sve_vl);
 
     if ( (config->flags & ~flags_optional) != flags_required )
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2dd2926b4144..512b3c4c76e2 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -3916,6 +3916,12 @@ void __init create_dom0(void)
             panic("SVE vector length error\n");
     }
 
+    if ( IS_ENABLED(CONFIG_HAS_VPCI) &&
+         iommu_enabled &&
+         is_pci_passthrough_enabled() &&
+         (pci_host_iterate_bridges_and_count(NULL, NULL) > 0) )
+        dom0_cfg.flags |= XEN_DOMCTL_CDF_vpci;
+
     dom0 = domain_create(0, &dom0_cfg, CDF_privileged | CDF_directmap);
     if ( IS_ERR(dom0) )
         panic("Error creating domain 0 (rc = %ld)\n", PTR_ERR(dom0));
diff --git a/xen/arch/arm/include/asm/pci.h b/xen/arch/arm/include/asm/pci.h
index 7f77226c9bbf..74816a687bbb 100644
--- a/xen/arch/arm/include/asm/pci.h
+++ b/xen/arch/arm/include/asm/pci.h
@@ -147,5 +147,14 @@ static inline int pci_get_new_domain_nr(void)
     return -1;
 }
 
+struct pci_host_bridge;
+
+static inline int pci_host_iterate_bridges_and_count(
+    struct domain *d,
+    int (*cb)(struct domain *d, struct pci_host_bridge *bridge))
+{
+    return 0;
+}
+
 #endif  /*!CONFIG_HAS_PCI*/
 #endif /* __ARM_PCI_H__ */
diff --git a/xen/arch/arm/pci/pci-host-common.c b/xen/arch/arm/pci/pci-host-common.c
index c0faf0f43675..e6a03ae668f8 100644
--- a/xen/arch/arm/pci/pci-host-common.c
+++ b/xen/arch/arm/pci/pci-host-common.c
@@ -319,9 +319,14 @@ int pci_host_iterate_bridges_and_count(struct domain *d,
     {
         int ret;
 
-        ret = cb(d, bridge);
-        if ( ret < 0 )
-            return ret;
+        if ( cb )
+        {
+            ret = cb(d, bridge);
+            if ( ret < 0 )
+                return ret;
+        }
+        else
+            ret = 1;
         count += ret;
     }
     return count;
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:22:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:22:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632039.985942 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fKQ-00057m-Ke; Mon, 13 Nov 2023 22:22:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632039.985942; Mon, 13 Nov 2023 22: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 1r2fKQ-00057d-Hu; Mon, 13 Nov 2023 22:22:46 +0000
Received: by outflank-mailman (input) for mailman id 632039;
 Mon, 13 Nov 2023 22:22: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=GGJv=G2=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r2fKO-0003AY-V2
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:22:44 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2060b.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29e8ae9f-8273-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 23:22:43 +0100 (CET)
Received: from DM6PR17CA0032.namprd17.prod.outlook.com (2603:10b6:5:1b3::45)
 by DM4PR12MB7622.namprd12.prod.outlook.com (2603:10b6:8:109::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Mon, 13 Nov
 2023 22:22:40 +0000
Received: from DS2PEPF00003439.namprd02.prod.outlook.com
 (2603:10b6:5:1b3:cafe::20) by DM6PR17CA0032.outlook.office365.com
 (2603:10b6:5:1b3::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Mon, 13 Nov 2023 22:22:40 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF00003439.mail.protection.outlook.com (10.167.18.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.17 via Frontend Transport; Mon, 13 Nov 2023 22:22:40 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Mon, 13 Nov
 2023 16:22:39 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 16:22:37 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29e8ae9f-8273-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BWYClh4hTL/FLVAJFTI6oCEu7E7UlbLt2cet+3xz8nAmMh6AFk/+2TH9Pgq9S9xwcMrlnmx9S+mOc28NSQaIvCX8ZJlEprkR9E/2L8Y+5THM6TiqqYbPmQuW+jeSJ46BTdit5NX293Hn5Luo6QF5vc8fcqHB2oRou2QmCPXXJtumW+3b5dY1x4RRuNjhec3i2h57tkNWcI21ULb93RpvH7dxm0CUcAhBoiQA1UhRMwt+Tj1fFEsJuwEIawKjFOUpiIUWFAPM0wwpgKCIxiZMksqCZzu69IonNPhn+AxB4FAcI6h5CYA5sFcCqPE6LdB/pXwrL0HTzNEhYvT9i20yUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NRtH1sA7/5vWe50OKi+KB9WviVia/tPm/aYWYnTd8Ys=;
 b=IY0CTHoU61GvM+82obBMnaBPYGYgtycsHqlVgjE4BJ1fPk5gmTJvMYSLVqMltR+BT1XlyHZBXtFAYsMG12EBdBAPGJpYWalmjbLWxiyV6eMSdAn5yLEYCEVnZE2uL7F3Tua7oj+S8fXfVp/XJIQSF0/ix7+CSQ6cU23sijcHtCX9qpse98BM+hrDE8Z6tkNCNiqOdahhRGoPTrPfrchj9y3W9AKsRr8vLKoHWSQuAP5u6+gUOh6XZGW7aVr4Wr8/URBkxiqba4+E+MAIMTxPHIWs+McWBAOIX4LBcQUMcaDeYWhLWv7EFFqhIlwn6VnIXXgw4q5A3rzUc79Tyr/Qfw==
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 (0)
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=NRtH1sA7/5vWe50OKi+KB9WviVia/tPm/aYWYnTd8Ys=;
 b=kY7DFeCu1bag8WnRffkPNkDR/zU5IbA5Fgv5E2/gvG/vu025rPJ2iG2uh1L2dyH/18LmToY8P92vUM7ZkuDt+iVbDYNHTPh6g5h1z79PxETmYk5sJTF1GxdkcInxdkMDShICOMKk4lvEIOeT/zQ26OjCP2kpaKuYGKeTFfznY0c=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Paul Durrant
	<paul@xen.org>
Subject: [PATCH v6 4/5] [FUTURE] xen/arm: enable vPCI for domUs
Date: Mon, 13 Nov 2023 17:21:13 -0500
Message-ID: <20231113222118.825758-5-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231113222118.825758-1-stewart.hildebrand@amd.com>
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003439:EE_|DM4PR12MB7622:EE_
X-MS-Office365-Filtering-Correlation-Id: e78f6172-eba5-44e3-5599-08dbe4970c61
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ApdUP6HIEY8XQhQyptHPBHF1ncE6dAnw/+j6FE+I5yBKeGSUaCb6QBffuFTHx4l5eqt9RLYY9SxVrG1JpXL6Yff9dw3YriJZbizIzxF4b7Kd4utKui7Cm0Ci+Nk1UfMKn3t7QqnV4/zqZSyubJMuPccyIuKAckFXjEhT9OAIF/GXqSG9hWCyGwuwVMAyXrLSRlKDHkcgHrqQY5zubW5WhUlIpx1E89+VybGkB6JU+Fyx3NghEkepKcSppuDk54OV3ZM5e+XWnAoS1LGFrh3KXJJ9hklbZOh8Z5mjyZicFDqK/nXYv6GH22fsxWGLA223t+BmkouCNmqIIj5aw01xvb3UOUGtXxLwMqcZD9mzAEimjnBibWhZntaBU9/rMDOqKvQF48+YM4/waf2cvetv3oItoTrLZzoSMbFy6pj1PwjU1wcSViPxuCKs4yTUybwkUKu/JB0RHpzz5IIHZ1kjH3wj+1HtZKUKISODjij1NJr5tQ+885ngEdCCdHkealUWPK8KRBoRxceK/ik4y8+3VC56k7GVb4fSYKwggBV2jh+0jABZP9Yuol4Il+Vhoa8TvtMqQ0BZp+fsIfddCTJMfrhs6LHCByE/XUYLbYg8lJS9nu+gJN2YlnVqO8bGaSN0dFvx+CxiIXtRbidADBz2Hrr/p+Yh6O7wnbj63nkxq95kcf+LRpAXiXls1G3aVC/o329EyoTovEMbB5ZDNJ34sveHlUXEhQ7xRIDCgibqATVPEC7UG2OtFAI1Mv8iZ0l0dPyxxyIQ2RohG4ehfLXJ3CjEta7L5RFRxaZv+Dilckk=
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:(13230031)(4636009)(136003)(396003)(346002)(376002)(39860400002)(230173577357003)(230922051799003)(230273577357003)(1800799009)(82310400011)(186009)(451199024)(64100799003)(36840700001)(46966006)(40470700004)(81166007)(36860700001)(36756003)(356005)(426003)(41300700001)(83380400001)(336012)(40460700003)(47076005)(7416002)(86362001)(4326008)(1076003)(40480700001)(8936002)(8676002)(5660300002)(2616005)(44832011)(316002)(6666004)(6916009)(82740400003)(26005)(2906002)(966005)(70206006)(54906003)(478600001)(70586007)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 22:22:40.1175
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e78f6172-eba5-44e3-5599-08dbe4970c61
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:
	DS2PEPF00003439.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB7622

Select HAS_VPCI_GUEST_SUPPORT in Kconfig for enabling vPCI support for
domUs.

Add checks to fail guest creation if the configuration is invalid.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
As the tag implies, this patch is not intended to be merged (yet).

Note that CONFIG_HAS_VPCI_GUEST_SUPPORT is not currently used in the
upstream code base. It will be used by the vPCI series [1]. This patch
is intended to be merged as part of the vPCI series. I'll coordinate
with Volodymyr to include this in the vPCI series or resend afterwards.
Meanwhile, I'll include it here until the Kconfig and
xen_domctl_createdomain prerequisites have been committed.

v5->v6:
* drop is_pvh_domain(), simply make arch_needs_vpci() return false on
  x86 for now
* leave has_vpci() alone, instead, add HAS_VPCI_GUEST_SUPPORT check in
  domain_create

v4->v5:
* replace is_system_domain() check with dom_io check
* return an error in XEN_DOMCTL_assign_device (thanks Jan!)
* remove CONFIG_ARM check
* add needs_vpci() and arch_needs_vpci()
* add HAS_VPCI_GUEST_SUPPORT check to has_vpci()

v3->v4:
* refuse to create domain if configuration is invalid
* split toolstack change into separate patch

v2->v3:
* set pci flags in toolstack

v1->v2:
* new patch

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.html
---
 xen/arch/arm/Kconfig              |  1 +
 xen/arch/arm/include/asm/domain.h |  2 ++
 xen/arch/arm/vpci.c               |  8 ++++++++
 xen/arch/x86/include/asm/domain.h |  2 ++
 xen/common/domain.c               |  5 +++++
 xen/drivers/passthrough/pci.c     | 20 ++++++++++++++++++++
 6 files changed, 38 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 5ff68e5d5979..3845b238a33f 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -195,6 +195,7 @@ config PCI_PASSTHROUGH
 	depends on ARM_64
 	select HAS_PCI
 	select HAS_VPCI
+	select HAS_VPCI_GUEST_SUPPORT
 	default n
 	help
 	  This option enables PCI device passthrough
diff --git a/xen/arch/arm/include/asm/domain.h b/xen/arch/arm/include/asm/domain.h
index 3614562eaefe..8e6d5fe9578c 100644
--- a/xen/arch/arm/include/asm/domain.h
+++ b/xen/arch/arm/include/asm/domain.h
@@ -31,6 +31,8 @@ enum domain_type {
 
 #define is_domain_direct_mapped(d) ((d)->cdf & CDF_directmap)
 
+#define arch_needs_vpci(d) ({ (void)(d); true; })
+
 /*
  * Is the domain using the host memory layout?
  *
diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index 3bc4bb55082a..61e0edcedea9 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -2,6 +2,7 @@
 /*
  * xen/arch/arm/vpci.c
  */
+#include <xen/lib.h>
 #include <xen/sched.h>
 #include <xen/vpci.h>
 
@@ -90,8 +91,15 @@ int domain_vpci_init(struct domain *d)
             return ret;
     }
     else
+    {
+        if ( !IS_ENABLED(CONFIG_HAS_VPCI_GUEST_SUPPORT) )
+        {
+            gdprintk(XENLOG_ERR, "vPCI requested but guest support not enabled\n");
+            return -EINVAL;
+        }
         register_mmio_handler(d, &vpci_mmio_handler,
                               GUEST_VPCI_ECAM_BASE, GUEST_VPCI_ECAM_SIZE, NULL);
+    }
 
     return 0;
 }
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index cb02a4d1ebb2..d34015391eed 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -503,6 +503,8 @@ struct arch_domain
 #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
 #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
 
+#define arch_needs_vpci(d) ({ (void)(d); false; })
+
 #define gdt_ldt_pt_idx(v) \
       ((v)->vcpu_id >> (PAGETABLE_ORDER - GDT_LDT_VCPU_SHIFT))
 #define pv_gdt_ptes(v) \
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 12dc27428972..47d49c57bf83 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -692,6 +692,11 @@ struct domain *domain_create(domid_t domid,
 
     if ( !is_idle_domain(d) )
     {
+        err = -EINVAL;
+        if ( !is_hardware_domain(d) && (config->flags & XEN_DOMCTL_CDF_vpci) &&
+             !IS_ENABLED(CONFIG_HAS_VPCI_GUEST_SUPPORT) )
+            goto fail;
+
         if ( !is_hardware_domain(d) )
             d->nr_pirqs = nr_static_irqs + extra_domU_irqs;
         else
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 04d00c7c37df..2203725a2aa6 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -1542,6 +1542,18 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
     pcidevs_unlock();
 }
 
+static bool needs_vpci(const struct domain *d)
+{
+    if ( is_hardware_domain(d) )
+        return false;
+
+    if ( d == dom_io )
+        /* xl pci-assignable-add assigns PCI devices to domIO */
+        return false;
+
+    return arch_needs_vpci(d);
+}
+
 int iommu_do_pci_domctl(
     struct xen_domctl *domctl, struct domain *d,
     XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
@@ -1618,6 +1630,14 @@ int iommu_do_pci_domctl(
         bus = PCI_BUS(machine_sbdf);
         devfn = PCI_DEVFN(machine_sbdf);
 
+        if ( needs_vpci(d) && !has_vpci(d) )
+        {
+            printk(XENLOG_G_WARNING "Cannot assign %pp to %pd: vPCI support not enabled\n",
+                   &PCI_SBDF(seg, bus, devfn), d);
+            ret = -EPERM;
+            break;
+        }
+
         pcidevs_lock();
         ret = device_assigned(seg, bus, devfn);
         if ( domctl->cmd == XEN_DOMCTL_test_assign_device )
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:23:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:23:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632041.985952 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fKh-0005hI-Vf; Mon, 13 Nov 2023 22:23:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632041.985952; Mon, 13 Nov 2023 22: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 1r2fKh-0005h9-Sn; Mon, 13 Nov 2023 22:23:03 +0000
Received: by outflank-mailman (input) for mailman id 632041;
 Mon, 13 Nov 2023 22:23: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=GGJv=G2=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r2fKg-0003AY-Vd
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:23:02 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e89::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 33f74631-8273-11ee-9b0e-b553b5be7939;
 Mon, 13 Nov 2023 23:23:01 +0100 (CET)
Received: from BL0PR02CA0070.namprd02.prod.outlook.com (2603:10b6:207:3d::47)
 by IA1PR12MB6042.namprd12.prod.outlook.com (2603:10b6:208:3d6::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Mon, 13 Nov
 2023 22:22:56 +0000
Received: from BL6PEPF0001AB75.namprd02.prod.outlook.com
 (2603:10b6:207:3d:cafe::4a) by BL0PR02CA0070.outlook.office365.com
 (2603:10b6:207:3d::47) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Mon, 13 Nov 2023 22:22:56 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB75.mail.protection.outlook.com (10.167.242.168) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.13 via Frontend Transport; Mon, 13 Nov 2023 22:22:55 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Mon, 13 Nov
 2023 16:22:53 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Mon, 13 Nov 2023 16:22:52 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 33f74631-8273-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fxjqhUtRdNSsue6WKx5PE+QP0EGEUYU85GIElfpcJsiU+Lgz5GcxruZnexjKdm0sI9CzghpPKYgeJSyQdG13mBai09ll2pM+/ZhUqyZhp/vKeymkmETCls8L//qBRblbUEFIm+fy7HoU0pTxoAzjyr+qfQk20TFLmCGcTUGPSTf9BE0bnvpOMKo7E/uigFuHjDFy9HcjbovaLr+nneGgcF1qAYxKzTf4sFXflYEcgMA6zS0Dsi+5e8onwVt+M1rQ/OiP651qcrOWUxJBcWOnmSk/tKo2kufyZHwYd222uMk++DwgrPfuCXQK+Z5/j4xRc7GTMrZw6mks6hWwRw9MWA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V1ygEMRNlCIyFbC9uBsJtxb9vimpr+FuY6Zv4K74hIw=;
 b=GT4uKT7Bln/91OJY9+eTYzRqT4zElnQjFNoCQHlZNdpYqM22QX5tywYeVdNyGj6Uy5evBL6IpI3NuLwKdN/fbjEnCnMUt4yVich+EXDrZhftwbqD81s4Ig+CM3hQjRYWko0DL1aBxQFsWHTSOrXkgJfIgZGjWpjJl6pjxBvxivnCu2jUZqDw1PIbYGuKSzEBPCeRkFJW13ESqvmd6VXI9rKhqE7MzsvagG7s53kQO95Yk5jiO33GkINjm4Q2sMAcYTn3SSO1MDsozZw/l14GttLqjvm+6+32jQvrKrNAtGo7hX3ZfV00fhYEA/C8ev5gsAdw0NuQcY1FvPGz6oR3gg==
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 (0)
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=V1ygEMRNlCIyFbC9uBsJtxb9vimpr+FuY6Zv4K74hIw=;
 b=oLlpepXzkqkkoNms1hpbu1yFgFdUysSPmiOyqRoPSjQKphhbjhWGz5Ix9+Bx5YDyDnWbgG2/rrNpNAxgk+/fGy/mFGQQY1PGWvt6x5LIzOq1EqnWpbSmDCfcIo45RZxCQREgWMUCuzhpsRwURCzvDnBsSWZM09A6Mx+PymXZQsk=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>
Subject: [PATCH v6 5/5] [FUTURE] tools/arm: enable vPCI for domUs
Date: Mon, 13 Nov 2023 17:21:14 -0500
Message-ID: <20231113222118.825758-6-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231113222118.825758-1-stewart.hildebrand@amd.com>
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB75:EE_|IA1PR12MB6042:EE_
X-MS-Office365-Filtering-Correlation-Id: cc4e231c-d4b9-4b9c-3899-08dbe497158d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gVcWFUd6BeU9Kw00LyP/JHH23ye9MWx07xdwzPhJSm/kc0IetilhCORNQxNpUCZ6E6Z25eRn697zCnN3ooSs6Fhm1MzSHTbH5rSlIw0/YmP+j8eSIRiL5m9Ep2TGCLko7kWTVeE2AHjwXA8MMj2bECUP2emlEbZNI6AIUxc3hbdnuk4BxmEEar8NBwIVBrVYURU9Nr/kkfc2UqtAeGnH5dQvYsziWMAMiI7YIbT/SAiErBBlTTIgHwhiH3n2iHohaJe+9RQpmhB2r+riyr0bHoIdoAPRDZK+HpTo0hc7dPCc5zg9gmvuTYkmArURWbTlMS+rKnTaYN43EnCqUjnoFDavE9tUk9ykbx2buwpkQ47npayEXQgi9qbbSmSRnOwEq0QzYnzhw2U5LjwORLPe/1/bcYehkVrULHwfWt76v+2JUZ6bpCfAtUJ6QV8ZZWspobFs1S+mi7UWf5xCL3tYderClAMuWfy45WAM8PuJjUDc/VhfCEO4oOrOjv25lkWH6B2aelE24+wodJ8lTPWUUO+NM+o22moNCjud97Q3yqlqt1+yWcuuQFirEf4nymni924/A9RwSLtunHemJRV5J+cpMYqAfeQX0dxirVDnap9L2VNeMh6Vs0RpTbOhED9X2tW6fpMLdxG9v19/ey+YU9Sa5IYMBi8zCoiJT1RCQc/3XM29PcFdGjdt5S8qptKWPcLuoTgp7fGH84zpmoD0DY8TmOF9Q1frYHKmP7uveE88WuMPOHxGAGIF6vRZDrYV5Gc5X/E7OQOqr0wSYzACJA==
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:(13230031)(4636009)(376002)(396003)(136003)(39860400002)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(82310400011)(40470700004)(46966006)(36840700001)(40460700003)(4326008)(8676002)(8936002)(70206006)(316002)(70586007)(6916009)(54906003)(41300700001)(44832011)(4744005)(2906002)(86362001)(5660300002)(81166007)(47076005)(356005)(2616005)(82740400003)(426003)(336012)(1076003)(26005)(36860700001)(478600001)(36756003)(6666004)(40480700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Nov 2023 22:22:55.5359
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cc4e231c-d4b9-4b9c-3899-08dbe497158d
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:
	BL6PEPF0001AB75.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6042

Set the vPCI flag in xen_domctl_createdomain to enable vPCI if a pci
device has been specified in the xl domain config file.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
Same story as the patch before this regarding the [FUTURE] tag.

v5->v6:
* no change

v4->v5:
* no change

v3->v4:
* split from ("xen/arm: enable vPCI for domUs")
---
 tools/libs/light/libxl_arm.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 15391917748c..6daed958e598 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -222,6 +222,9 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
         config->arch.sve_vl = d_config->b_info.arch_arm.sve_vl / 128U;
     }
 
+    if (d_config->num_pcidevs)
+        config->flags |= XEN_DOMCTL_CDF_vpci;
+
     return 0;
 }
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:23:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:23:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632044.985962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fLP-0006QO-9i; Mon, 13 Nov 2023 22:23:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632044.985962; Mon, 13 Nov 2023 22:23: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 1r2fLP-0006QH-6V; Mon, 13 Nov 2023 22:23:47 +0000
Received: by outflank-mailman (input) for mailman id 632044;
 Mon, 13 Nov 2023 22:23: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=Lmv8=G2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r2fLO-0006EV-KM
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:23:46 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e26fee6-8273-11ee-98db-6d05b1d4d9a1;
 Mon, 13 Nov 2023 23:23:45 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 2A458CE0918;
 Mon, 13 Nov 2023 22:23:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0E6EC433C8;
 Mon, 13 Nov 2023 22:23:39 +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: 4e26fee6-8273-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699914220;
	bh=QeOVJBn2axuEjno4ACSpIkn+lD/20YFjDJ4rgNThGF4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rb07h6hlY4/4jNkLPoDeYiXQ6hNybi+vcwFQM2CPs93uCthCN4ykHrMWmIYNNDFZA
	 h9FgKPRo6PIhpamhU9zRoPvytq/jMrq44x79F0BSHuwbQ5IvkW84xNoLJIq7rwLSg9
	 JnsO+RCtkgrS6NbGT5aumnRfD9dPs+hx9MScbhnCRL6pujPMJXkWSv6qyJblgC0Bfd
	 JP2q22cJBJ6SdJgZWkzVm9it1Rj75Qt0aa2BNuCgk+yUdR6U0iN0PTmSE/tDwbnp0Y
	 wKwYwM/RJGLtu/d3Rhag8pQbgVzEiGujhXvJc9jq065WCF+eqSHiJJsOf/UDiyYxIj
	 EAl3/0KiFhPXg==
Date: Mon, 13 Nov 2023 14:23:38 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Kelly Choi <kelly.choi@cloud.com>, xen-devel@lists.xenproject.org, 
    committers@xenproject.org
Subject: Re: Informal voting proposal
In-Reply-To: <96df2df9-b295-6334-d45c-183d116fff88@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311131349470.160649@ubuntu-linux-20-04-desktop>
References: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com> <96df2df9-b295-6334-d45c-183d116fff88@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 13 Nov 2023, Jan Beulich wrote:
> On 06.11.2023 17:40, Kelly Choi wrote:
> > Hi all,
> > 
> > As an open-source community, there will always be differences of opinion in
> > approaches and the way we think. It is imperative, however, that we view
> > this diversity as a source of strength rather than a hindrance.
> > 
> > Recent deliberations within our project have led to certain matters being
> > put on hold due to an inability to reach a consensus. While formal voting
> > procedures serve their purpose, they can be time-consuming and may not
> > always lead to meaningful progress.
> > 
> > Having received agreement from a few maintainers already, I would like to
> > propose the following:
> > 
> > *Informal voting method:*
> > 
> >    1. Each project should ideally have more than 2 maintainers to
> >    facilitate impartial discussions. Projects lacking this configuration will
> >    be addressed at a later stage.
> 
> Terminology question: What is "project" here? Considering how ./MAINTAINERS
> is structured, is it perhaps more "component"?

Yes, I think "component" is the right word


> >    2. Anyone in the community is welcome to voice their opinions, ideas,
> >    and concerns about any patch or contribution.
> >    3. If members cannot agree, the majority informal vote of the
> >    maintainers will be the decision that stands. For instance, if, after
> >    careful consideration of all suggestions and concerns, 2 out of 3
> >    maintainers endorse a solution within the x86 subsystem, it shall be the
> >    decision we move forward with.
> 
> In a later reply you make explicit what can only be guessed here: There
> you suggest that out of a range of possible options, up front two are
> picked to then choose between. However, when there is a range options
> available, and when those can be viewed as points on a scale (rather
> than, to take Stefano's earlier example of SAF-* naming, cases where
> it's hard to view choices as being on a linear scale), picking two
> "points" up front may already pose a problem. (See also another reply
> mentioning how to ensure that the various possible options were even
> taken into consideration.)
> 
> Not only in such situations, but in general, to me a prereq to even
> coming to the point of needing an informal vote is the willingness of
> everyone involved to find a compromise. When there's a range of views,
> and when "knowing" what's going to be best for the project would require
> a crystal ball, experience suggests to me that chances for an optimal
> choice are better when picking a "point" not at the far ends of the scale.
> (Such a result then would also much better reflect your named goal of
> seeing diversity as a strength.)
> 
> With such willingness I think even informal votes could be avoided most
> of the time, at which point it becomes questionable whether for the few
> remaining cases informal and formal votes really need specifying
> separately.

The key difference in point of views is that you see as very common to
have options on a linear scale, where finding a middle ground makes
sense, and you see as an exception cases like SAF-* naming that are not
on a scale. In my view cases like SAF-* naming are the common case,
while it would be an exception to have options on a linear scale. If
it turns out there are indeed many cases where multiple options are on a
linear scale, we might be able to come up with another idea on how to
get a quick informal consensus for those issues.


> >    4. Naturally, there may be exceptional circumstances, as such, a formal
> >    vote may be warranted but should happen only a few times a year for serious
> >    cases only.
> >    5. Informal votes can be as easy as 2 out of 3 maintainers providing
> >    their Acked-by/Reviewed-by tag. Alternatively, Maintainers can call an
> >    informal vote by simply emailing the thread with "informal vote proposed,
> >    option 1 and option 2."
> 
> I find this difficult. Both A-b and R-b assert that the person offering
> the tag endorses the presented solution to the indicated degree. It does
> not say anything on possible alternative solutions. As a result taking
> such tags as votes is (once again, and once again in my personal view)
> reasonable only when there's a black-and-white decision to be taken.

>From a practical perspective, A-b and R-b are a quick and easy way to
gauge informal consensus on an issue. Also, exploring alternative
solutions take time. Time for the reviewer, time for the contributor,
time for everyone else involved in the email thread. A-b and R-b have a
very important role: they say "this is good enough". When you have a
majority of people saying "this is good enough", I think we would be
better off spending our timing fixing other deficiencies, reviewing
other patches, rather than trying to further optimize that particular
patch.


> >    6. *All maintainers should reply with their vote within 5 working days.*
> > 
> >    7. Please note that with any new process, there will always be room for
> >    improvement and we will reiterate where needed.
> > 
> > Ultimately our goal here is to prevent the project coming to a standstill
> > while deliberating decisions that we all cannot agree on. This may mean
> > compromising in the short term but I am sure the long-term benefits will
> > stand for themselves.
> > 
> > *If you have any strong objections to the informal voting, please let me
> > know by 30th November 2023. *
> 
> Just FTAOD none of the above is meant to be a "strong objection". Despite
> being unconvinced of the proposal (including the need for one, not the
> least also considering what has triggered this sudden effort, when there
> are - imo - worse problems of "standstill"), I'll try to be a good citizen
> and play by what's going to be put in place.

Thank you. Let's give it a try and see how it goes. As for every change,
we are trying to make improvements. If they don't work, or better ideas
come along, we can change again.



From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:26:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:26:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632053.985972 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fNX-0007I8-O1; Mon, 13 Nov 2023 22:25:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632053.985972; Mon, 13 Nov 2023 22:25: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 1r2fNX-0007I1-LO; Mon, 13 Nov 2023 22:25:59 +0000
Received: by outflank-mailman (input) for mailman id 632053;
 Mon, 13 Nov 2023 22:25: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 1r2fNW-0007Hq-6s
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:25: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 1r2fNV-0003FS-HE; Mon, 13 Nov 2023 22:25:57 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r2fNV-0003kN-C8; Mon, 13 Nov 2023 22:25: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=vvZ2viGteRV69glW4T1aaXk0RXANUFvIhGRydt855kw=; b=fUCGn1HLcWib1k0o3M7pnN/7dx
	3lOjysWp4sSAo5Z8wmQdBjNggy1b4HsxoP3wnWoe2CikSlYna/KvGo3znPir+JKbu89euaarDSfiF
	PnTrWvF1fuPot1Ur++dHAqXbHZ+laFpzXCSIyNEPWSUrr9U75rmc82bVaGiQj4HU44Eg=;
Message-ID: <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
Date: Mon, 13 Nov 2023 22:25:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename
 handling
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-28-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110160804.29021-28-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 10/11/2023 16:08, Juergen Gross wrote:
> Add some helpers for handling filenames which might need different
> implementations between stubdom and daemon environments:
> 
> - expansion of relative filenames (those are not really defined today,
>    just expand them to be relative to /var/lib/xen/xenstore)
> - expansion of xenstore_daemon_rundir() (used e.g. for saving the state
>    file in case of live update - needs to be unchanged in the daemon
>    case, but should result in /var/lib/xen/xenstore for stubdom)
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
> ---
>   tools/xenstored/core.c      | 9 ++++++++-
>   tools/xenstored/core.h      | 3 +++
>   tools/xenstored/lu_daemon.c | 4 ++--
>   tools/xenstored/minios.c    | 5 +++++
>   tools/xenstored/posix.c     | 5 +++++
>   5 files changed, 23 insertions(+), 3 deletions(-)
> 
> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
> index 4a9d874f17..77befd24c9 100644
> --- a/tools/xenstored/core.c
> +++ b/tools/xenstored/core.c
> @@ -158,6 +158,13 @@ void trace_destroy(const void *data, const char *type)
>   		trace("obj: DESTROY %s %p\n", type, data);
>   }
>   
> +char *absolute_filename(const void *ctx, const char *filename)

Can the return be const?

> +{
> +	if (filename[0] != '/')
> +		return talloc_asprintf(ctx, XENSTORE_LIB_DIR "/%s", filename);

Looking at the rest of patch, you will be using xenstore_rundir(). I 
wonder whether it would not be better to switch to xenstore_rundir() so...

> +	return talloc_strdup(ctx, filename);
> +}
> +
>   /**
>    * Signal handler for SIGHUP, which requests that the trace log is reopened
>    * (in the main loop).  A single byte is written to reopen_log_pipe, to awaken
> @@ -2983,7 +2990,7 @@ int main(int argc, char *argv[])
>   
>   	signal(SIGHUP, trigger_reopen_log);
>   	if (tracefile)
> -		tracefile = talloc_strdup(NULL, tracefile);
> +		tracefile = absolute_filename(NULL, tracefile);
>   
>   #ifndef NO_LIVE_UPDATE
>   	/* Read state in case of live update. */
> diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
> index a0d3592961..51e1dddb22 100644
> --- a/tools/xenstored/core.h
> +++ b/tools/xenstored/core.h
> @@ -393,6 +393,9 @@ void early_init(void);
>   void mount_9pfs(void);
>   #endif
>   
> +const char *xenstore_rundir(void);
> +char *absolute_filename(const void *ctx, const char *filename);
> +
>   /* Write out the pidfile */
>   void write_pidfile(const char *pidfile);
>   
> diff --git a/tools/xenstored/lu_daemon.c b/tools/xenstored/lu_daemon.c
> index 71bcabadd3..6351111ab0 100644
> --- a/tools/xenstored/lu_daemon.c
> +++ b/tools/xenstored/lu_daemon.c
> @@ -24,7 +24,7 @@ void lu_get_dump_state(struct lu_dump_state *state)
>   	state->size = 0;
>   
>   	state->filename = talloc_asprintf(NULL, "%s/state_dump",
> -					  xenstore_daemon_rundir());
> +					  xenstore_rundir());

... call and ...

>   	if (!state->filename)
>   		barf("Allocation failure");
>   
> @@ -65,7 +65,7 @@ FILE *lu_dump_open(const void *ctx)
>   	int fd;
>   
>   	filename = talloc_asprintf(ctx, "%s/state_dump",
> -				   xenstore_daemon_rundir());
> +				   xenstore_rundir());

... this one could be replaced with absolute_filename().

>   	if (!filename)
>   		return NULL;
>   
> diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
> index fddbede869..cfc2377857 100644
> --- a/tools/xenstored/minios.c
> +++ b/tools/xenstored/minios.c
> @@ -98,3 +98,8 @@ void mount_9pfs(void)
>   {
>   	create_thread("mount-9pfs", mount_thread, NULL);
>   }
> +
> +const char *xenstore_rundir(void)
> +{
> +	return XENSTORE_LIB_DIR;
> +}
> diff --git a/tools/xenstored/posix.c b/tools/xenstored/posix.c
> index fcb7791bd7..76f5c9ab84 100644
> --- a/tools/xenstored/posix.c
> +++ b/tools/xenstored/posix.c
> @@ -168,3 +168,8 @@ void early_init(void)
>   	mkdir(xenstore_daemon_rundir(), 0755);
>   	mkdir(XENSTORE_LIB_DIR, 0755);
>   }
> +
> +const char *xenstore_rundir(void)
> +{
> +	return xenstore_daemon_rundir();
> +}

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 22:41:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 22:41:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632057.985981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fbz-00051e-0t; Mon, 13 Nov 2023 22:40:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632057.985981; Mon, 13 Nov 2023 22: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 1r2fby-00051X-UO; Mon, 13 Nov 2023 22:40:54 +0000
Received: by outflank-mailman (input) for mailman id 632057;
 Mon, 13 Nov 2023 22:40:53 +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 1r2fbx-00051R-NX
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 22:40:53 +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 1r2fbw-0003hF-VX; Mon, 13 Nov 2023 22:40:52 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r2fbw-0004MX-PY; Mon, 13 Nov 2023 22: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>
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=yq342z48GZcZPLmjB72RfLqAbkxCj3FxeBe0ppVgCeQ=; b=y7Og2GSnSf3wxGjNWXMg7hZTdZ
	jHyA2a1hJm4lmxFh0RgXwgGUzTQNIQjupxNp2+rr6FNQeXaFrHatRs1wBK9tusbXYWCql/Ey1QZ4P
	glq6yLAyyPKSJm7kHpcjvN5pyJd2TuO8OIcolC+oE0oDHaKX7GaQL6TySBJ6F7aTPlUU=;
Message-ID: <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
Date: Mon, 13 Nov 2023 22:40:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 28/29] tools/xenstored: support complete log
 capabilities in stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-29-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231110160804.29021-29-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 10/11/2023 16:08, Juergen Gross wrote:
> With 9pfs being fully available in Xenstore-stubdom now, there is no
> reason to not fully support all logging capabilities in stubdom.
> 
> Open the logfile on stubdom only after the 9pfs file system has been
> mounted.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
> ---
>   tools/hotplug/Linux/launch-xenstore.in |  1 +
>   tools/xenstored/control.c              | 30 +++++++++++++-------------
>   tools/xenstored/minios.c               |  3 +++
>   3 files changed, 19 insertions(+), 15 deletions(-)
> 
> diff --git a/tools/hotplug/Linux/launch-xenstore.in b/tools/hotplug/Linux/launch-xenstore.in
> index e854ca1eb8..da4eeca7c5 100644
> --- a/tools/hotplug/Linux/launch-xenstore.in
> +++ b/tools/hotplug/Linux/launch-xenstore.in
> @@ -98,6 +98,7 @@ test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons && . @CONFIG_DIR@/@CONFIG_LEAF
>   	[ -z "$XENSTORE_DOMAIN_SIZE" ] && XENSTORE_DOMAIN_SIZE=8
>   	XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --memory $XENSTORE_DOMAIN_SIZE"
>   	[ -z "$XENSTORE_MAX_DOMAIN_SIZE" ] || XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --maxmem $XENSTORE_MAX_DOMAIN_SIZE"
> +	[ -z "$XENSTORED_TRACE" ] || XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS -T xenstored-trace.log"

I am probably missing something, but any reason to not use 
@XEN_LOG_DIR@/xenstored-trace.log as we do for xenstored?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 23:02:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 23:02:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632065.986011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2fx3-0004bc-UO; Mon, 13 Nov 2023 23:02:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632065.986011; Mon, 13 Nov 2023 23:02: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 1r2fx3-0004bV-Rn; Mon, 13 Nov 2023 23:02:41 +0000
Received: by outflank-mailman (input) for mailman id 632065;
 Mon, 13 Nov 2023 23: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 1r2fx3-0004bL-EX; Mon, 13 Nov 2023 23: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 1r2fx3-000478-Cs; Mon, 13 Nov 2023 23: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 1r2fx2-00027Q-Te; Mon, 13 Nov 2023 23:02:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2fx2-0004qG-So; Mon, 13 Nov 2023 23: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=uFaEcpso/L4tKx/aig7vHUC5AZX1Rlr/lgPC6nfT5r4=; b=Ov96ISB/CwS7INOPQtqKaP+1U4
	cvmFpMQaweD8J063tJi9einzMknRDN+9A8qQGwqPbFC6yHTX2vMTlFPHZqXmlfiU1kkIptJ7WebWr
	a4FcEKKreuEPR0yWZW9C9+d8SzTNIA/CG8rnAFQjOKzsZtYgT62uuGsEFqoDbsrk84AQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183744-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 183744: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=509f737d3e80c75f948eb896a08c324287b00adc
X-Osstest-Versions-That:
    xen=3e12149eb214fee62fc86ee964d3142d0235330e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 13 Nov 2023 23:02:40 +0000

flight 183744 xen-4.18-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/183744/

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 183704
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183704
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183704
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183704
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183704
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183704
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183704
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183704
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183704
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183704
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183704
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183704
 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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-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-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-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-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     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  509f737d3e80c75f948eb896a08c324287b00adc
baseline version:
 xen                  3e12149eb214fee62fc86ee964d3142d0235330e

Last test of basis   183704  2023-11-07 10:10:25 Z    6 days
Testing same since   183744  2023-11-13 15:07:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Stefano Stabellini <sstabellini@kernel.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                                          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-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-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
   3e12149eb2..509f737d3e  509f737d3e80c75f948eb896a08c324287b00adc -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 23:45:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 23:45:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632072.986022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2gbw-00007d-2Z; Mon, 13 Nov 2023 23:44:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632072.986022; Mon, 13 Nov 2023 23:44: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 1r2gbv-00007W-Vk; Mon, 13 Nov 2023 23:44:55 +0000
Received: by outflank-mailman (input) for mailman id 632072;
 Mon, 13 Nov 2023 23: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=Lmv8=G2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r2gbu-00007Q-Vz
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 23:44:54 +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 a299309b-827e-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 00:44:50 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 88E0AB80EB7;
 Mon, 13 Nov 2023 23:44:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D5359C433C7;
 Mon, 13 Nov 2023 23:44: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: a299309b-827e-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699919088;
	bh=voyOJVCSVfVQEPaPCOqvBXShmeGZTsBDSJ+ki1IsNT0=;
	h=Date:From:To:cc:Subject:From;
	b=ryY8pkZXxhMVZqUakTVaxHGvRYkLDtEC5xEa18EDgF5GawUg+cgFJs+Z7mtH8AIIN
	 KXUl1bwbBgyLsUSH5rUZaeXSxb/8GUxRQdnGgIBTsy9NZp2LMI61IzSpZFUmgR/zI3
	 qRqVMBVfmNeWFFzY6CoMxePc7sWGlKk7v/UPbmcN/bT9ln7FnweXAFSOGNFHrHKXy8
	 xTtYaVW8ZnZzYuj80U1kAM7EfRJKr59Sc8v3AiLwuQ86anK09PHCN1LuC18/cEcR47
	 yLKzih3cQATYc11SMTvkgpwqC3/HhLxsI3aODPvWHMUMn+xyEKdHYCW5qpwUY90Pqq
	 j7krs14PEAhgg==
Date: Mon, 13 Nov 2023 15:44:45 -0800 (PST)
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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH] docs/misra: add R11.1 R11.2 R11.3 R11.6
Message-ID: <alpine.DEB.2.22.394.2311131540490.160649@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 MISRA C Rules 11.1, 11.2, 11.3, 11.6 as discussed.

Explicitly add in the notes that conversions to integer types are
permitted if the destination type has enough bits to hold the entire
value. GCC gives enough guarantees in terms of preserving the bit
content in such situations.

Also allow for bool conversions (e.g. to check if a function point is
valid).

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index aa65eb4dd0..8c49b81085 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -383,6 +383,38 @@ maintainers if you want to suggest a change.
 
        CFLAGS="-Warith-conversion -Wno-error=arith-conversion" make -C xen
 
+   * - `Rule 11.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_01.c>`_
+     - Required
+     - Conversions shall not be performed between a pointer to a
+       function and any other type
+     - All conversions to integer types are permitted if the destination
+       type has enough bits to hold the entire value. Conversions to
+       bool and void* are permitted.
+
+   * - `Rule 11.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_02.c>`_
+     - Required
+     - Conversions shall not be performed between a pointer to an
+       incomplete type and any other type
+     - All conversions to integer types are permitted if the destination
+       type has enough bits to hold the entire value. Conversions to
+       bool and void* are permitted.
+
+   * - `Rule 11.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_03.c>`_
+     - Required
+     - A cast shall not be performed between a pointer to object type
+       and a pointer to a different object type
+     - All conversions to integer types are permitted if the destination
+       type has enough bits to hold the entire value. Conversions to
+       bool and void* are permitted.
+
+   * - `Rule 11.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_06.c>`_
+     - Required
+     - A cast shall not be performed between pointer to void and an
+       arithmetic type
+     - All conversions to integer types are permitted if the destination
+       type has enough bits to hold the entire value. Conversions to
+       bool and void* are permitted.
+
    * - `Rule 11.7 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_07.c>`_
      - Required
      - A cast shall not be performed between pointer to object and a noninteger arithmetic type


From xen-devel-bounces@lists.xenproject.org Mon Nov 13 23:58:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 13 Nov 2023 23:58:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632075.986031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2gou-0004PH-5t; Mon, 13 Nov 2023 23:58:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632075.986031; Mon, 13 Nov 2023 23:58: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 1r2gou-0004PA-3M; Mon, 13 Nov 2023 23:58:20 +0000
Received: by outflank-mailman (input) for mailman id 632075;
 Mon, 13 Nov 2023 23: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=Lmv8=G2=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r2gos-0004P4-Kf
 for xen-devel@lists.xenproject.org; Mon, 13 Nov 2023 23:58:18 +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 81d283a8-8280-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 00:58:15 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 2840DCE1711;
 Mon, 13 Nov 2023 23:58:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D9FFC433C7;
 Mon, 13 Nov 2023 23:58:07 +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: 81d283a8-8280-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699919890;
	bh=M4llEswjDVGCYHIMRIajWiEaO6Xh1u2DF7lB6HO+sZA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pqooYd3Tmx1NelkDBy/swjUiliRwWgBuNETSWxcKsbu9PREiz6m/C7nLHYlcQSzKc
	 IhjBWJCM3tcj6RcYMopYrWoV40SUC4fKQvpCMOMkOgLd0rNrd3ns9a899+zxJxkekH
	 724YTQrYfsr2b1DDANZstSuA02Sgx4r0TI5HL7LdlsvGdb55gAxrsixOFRevMkwjje
	 Cme9a0I0ccU9mlMXCfFDgssJHBY7DMu7imFJIIpswaKEDov2aURQIc7OHg3DyzfbjX
	 tCKNM5HHI4uA3Ttezpj4rCRqp1BsN9N3Z0cf4SNCUWsc+ZSPuWZMfa2b+WxyrYuK/2
	 7dM/9E5/x4u9g==
Date: Mon, 13 Nov 2023 15:58:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v4] xen: address violations of Rule 11.9
In-Reply-To: <b7df2987-ab46-bb09-4440-e743018561ad@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311131557210.160649@ubuntu-linux-20-04-desktop>
References: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com> <b7df2987-ab46-bb09-4440-e743018561ad@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 13 Nov 2023, Jan Beulich wrote:
> On 19.10.2023 09:55, Nicola Vetrini wrote:
> > The constant 0 is used instead of NULL in '__ACCESS_ONCE' as a
> > compile-time check to detect non-scalar types; its usage for this
> > purpose is deviated.
> > 
> > Furthermore, the 'typeof_field' macro is introduced as a general way
> > to access the type of a struct member without declaring a variable
> > of struct type. Both this macro and 'sizeof_field' are moved to
> > 'xen/macros.h'.
> > 
> > No functional change intended.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > Reviewed-by: Jan Beulich <jbeulich@suse.com>
> > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > ---
> > Changes in v2:
> > - added entry in deviations.rst
> > Changes in v3:
> > - dropped access_field
> > - moved macro to macros.h
> > ---
> > Changes in v4:
> > - Amend deviation record.
> > ---
> >  automation/eclair_analysis/ECLAIR/deviations.ecl |  9 +++++++++
> >  docs/misra/deviations.rst                        |  6 ++++++
> >  xen/include/xen/compiler.h                       |  8 --------
> >  xen/include/xen/kernel.h                         |  2 +-
> >  xen/include/xen/macros.h                         | 16 ++++++++++++++++
> >  5 files changed, 32 insertions(+), 9 deletions(-)
> 
> I tried to commit this patch, but ...
> 
> > diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > index fa56e5c00a27..28d9c37bedb2 100644
> > --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> > +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > @@ -246,6 +246,15 @@ constant expressions are required.\""
> >    "any()"}
> >  -doc_end
> > 
> > +#
> > +# Series 11
> > +#
> > +
> > +-doc_begin="This construct is used to check if the type is scalar, and for this purpose the use of 0 as a null pointer constant is deliberate."
> > +-config=MC3R1.R11.9,reports+={deliberate, "any_area(any_loc(any_exp(macro(^__ACCESS_ONCE$))))"
> > +}
> > +-doc_end
> > +
> >  #
> >  # Series 13
> >  #
> 
> ... this change doesn't apply, and I also can't see how it would. There were
> no dependencies specified, so it's also not clear on top of which other
> (ready to be committed) patch(es) this might have been meant to apply. Please
> resubmit in a shape applicable to the staging branch.

The order doesn't matter in that file, you can place # Series 11 just
after # Series 10


diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index d8170106b4..14c5134575 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -274,6 +274,15 @@ still non-negative."
 -config=MC3R1.R10.1,etypes+={safe, "stmt(operator(logical)||node(conditional_operator||binary_conditional_operator))", "dst_type(ebool||boolean)"}
 -doc_end
 
+#
+# Series 11
+#
+
+-doc_begin="This construct is used to check if the type is scalar, and for this purpose the use of 0 as a null pointer constant is deliberate."
+-config=MC3R1.R11.9,reports+={deliberate, "any_area(any_loc(any_exp(macro(^__ACCESS_ONCE$))))"
+}
+-doc_end
+
 ### Set 3 ###
 
 #


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 00:10:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 00:10:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632083.986042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2h0o-000138-Ks; Tue, 14 Nov 2023 00:10:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632083.986042; Tue, 14 Nov 2023 00:10: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 1r2h0o-000131-I7; Tue, 14 Nov 2023 00:10:38 +0000
Received: by outflank-mailman (input) for mailman id 632083;
 Tue, 14 Nov 2023 00:10: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r2h0m-00012v-Kk
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 00:10:36 +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 3a56ad6a-8282-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 01:10:34 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 7793ECE1711;
 Tue, 14 Nov 2023 00:10:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BDCACC433C8;
 Tue, 14 Nov 2023 00:10: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: 3a56ad6a-8282-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699920627;
	bh=dQBgkZOZTclZrw2XZxxp0W2l+vbr8vo+YOUhJzuf7S4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ZuAUgyBhNepzb50t9eKq/oASo/eVXqzEi3+VrWyNVJS26aqYv9ojE1e4kTnL6ywDs
	 dtrEo5+nZKiY+b1nT/qltE/AtTZHynN/Ce5io7Rzo1JXU4I2ZijLZmGPfGFQUNQjPV
	 Aqh8/GGGfh2VpsFU09YNO3eili/8Ssh4q+uza6falhS9jKQjeAAkoiZJMVf5StKXE1
	 nYQK/oJmEotpuZTB7meBwXzND4bGl2neM++arHBM5JKT/w7ulU/7YoGSBUHrgLy9cy
	 1Q1jbcYDzGKd400eHTOGQDSGIEs43C4t5lp7iQskbcG22aJIYeqXkkak0IUr5jLe+y
	 xx0Unk277YTaA==
Date: Mon, 13 Nov 2023 16:10:24 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] automation: set architecture in docker files
In-Reply-To: <20231113155701.52052-1-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311131608200.160649@ubuntu-linux-20-04-desktop>
References: <20231113155701.52052-1-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1410453681-1699920627=:160649"

  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-1410453681-1699920627=:160649
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 13 Nov 2023, Roger Pau Monne wrote:
> Pass the desired architecture of the image in the FROM instruction if the
> image is possibly multi-platform.
> 
> This allows using the x86 Dockerfiles on OS X on arm64 hardware.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Although I am not opposed to this change, so far we have been using:
arm64v8/alpine:3.18

for x86 it is not specified but it would be:
amd64/alpine:3.18

Two options:
1) we add amd64/ everywhere and leave the arm containers alone
2) we change all containers, including the arm containers, to use the
--platform option

I don't think is a good idea to have 2 different ways to specify the
architecture for x86 and arm containers



> ---
> I haven't touched the Yocto dockerfile because I'm not sure how it's used.
> ---
>  automation/build/alpine/3.18.dockerfile               | 2 +-
>  automation/build/archlinux/current-riscv64.dockerfile | 2 +-
>  automation/build/archlinux/current.dockerfile         | 2 +-
>  automation/build/centos/7.dockerfile                  | 2 +-
>  automation/build/debian/bookworm.dockerfile           | 2 +-
>  automation/build/debian/bullseye-ppc64le.dockerfile   | 2 +-
>  automation/build/debian/buster-gcc-ibt.dockerfile     | 2 +-
>  automation/build/debian/jessie.dockerfile             | 2 +-
>  automation/build/debian/stretch.dockerfile            | 2 +-
>  automation/build/fedora/29.dockerfile                 | 2 +-
>  automation/build/suse/opensuse-leap.dockerfile        | 2 +-
>  automation/build/suse/opensuse-tumbleweed.dockerfile  | 2 +-
>  automation/build/ubuntu/bionic.dockerfile             | 2 +-
>  automation/build/ubuntu/focal.dockerfile              | 2 +-
>  automation/build/ubuntu/trusty.dockerfile             | 2 +-
>  automation/build/ubuntu/xenial-xilinx.dockerfile      | 2 +-
>  automation/build/ubuntu/xenial.dockerfile             | 2 +-
>  17 files changed, 17 insertions(+), 17 deletions(-)
> 
> diff --git a/automation/build/alpine/3.18.dockerfile b/automation/build/alpine/3.18.dockerfile
> index 5d2a69a06010..4ae9cb5e9e30 100644
> --- a/automation/build/alpine/3.18.dockerfile
> +++ b/automation/build/alpine/3.18.dockerfile
> @@ -1,4 +1,4 @@
> -FROM alpine:3.18
> +FROM --platform=linux/amd64 alpine:3.18
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/archlinux/current-riscv64.dockerfile b/automation/build/archlinux/current-riscv64.dockerfile
> index abf8e7bf0b88..af75b5c720ce 100644
> --- a/automation/build/archlinux/current-riscv64.dockerfile
> +++ b/automation/build/archlinux/current-riscv64.dockerfile
> @@ -1,4 +1,4 @@
> -FROM archlinux
> +FROM --platform=linux/amd64 archlinux
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
> index 47e79637a4a6..d974a1434fd5 100644
> --- a/automation/build/archlinux/current.dockerfile
> +++ b/automation/build/archlinux/current.dockerfile
> @@ -1,4 +1,4 @@
> -FROM archlinux:base-devel
> +FROM --platform=linux/amd64 archlinux:base-devel
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/centos/7.dockerfile b/automation/build/centos/7.dockerfile
> index 69dcefb2f011..ab450f0b3a0e 100644
> --- a/automation/build/centos/7.dockerfile
> +++ b/automation/build/centos/7.dockerfile
> @@ -1,4 +1,4 @@
> -FROM centos:7
> +FROM --platform=linux/amd64 centos:7
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
> index ae008c8d46e5..ac87778b3972 100644
> --- a/automation/build/debian/bookworm.dockerfile
> +++ b/automation/build/debian/bookworm.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:bookworm
> +FROM --platform=linux/amd64 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bullseye-ppc64le.dockerfile b/automation/build/debian/bullseye-ppc64le.dockerfile
> index 4de8458445ae..6fdfb6bc2b40 100644
> --- a/automation/build/debian/bullseye-ppc64le.dockerfile
> +++ b/automation/build/debian/bullseye-ppc64le.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:bullseye-slim
> +FROM --platform=linux/amd64 debian:bullseye-slim
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/buster-gcc-ibt.dockerfile b/automation/build/debian/buster-gcc-ibt.dockerfile
> index 96ab4fe8a2f1..4328c109b72b 100644
> --- a/automation/build/debian/buster-gcc-ibt.dockerfile
> +++ b/automation/build/debian/buster-gcc-ibt.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:buster-slim AS builder
> +FROM --platform=linux/amd64 debian:buster-slim AS builder
>  
>  ENV DEBIAN_FRONTEND=noninteractive
>  ENV USER root
> diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
> index 63b2c1e5b771..db0962953c9a 100644
> --- a/automation/build/debian/jessie.dockerfile
> +++ b/automation/build/debian/jessie.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian/eol:jessie
> +FROM --platform=linux/amd64 debian/eol:jessie
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
> index 1af6c691f8f4..9f6c146f032c 100644
> --- a/automation/build/debian/stretch.dockerfile
> +++ b/automation/build/debian/stretch.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:stretch
> +FROM --platform=linux/amd64 debian:stretch
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/fedora/29.dockerfile b/automation/build/fedora/29.dockerfile
> index e55b06a4517e..42a87ce6c84b 100644
> --- a/automation/build/fedora/29.dockerfile
> +++ b/automation/build/fedora/29.dockerfile
> @@ -1,4 +1,4 @@
> -FROM fedora:29
> +FROM --platform=linux/amd64 fedora:29
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/suse/opensuse-leap.dockerfile b/automation/build/suse/opensuse-leap.dockerfile
> index 7010b71acaa0..e1ec38a41445 100644
> --- a/automation/build/suse/opensuse-leap.dockerfile
> +++ b/automation/build/suse/opensuse-leap.dockerfile
> @@ -1,4 +1,4 @@
> -FROM opensuse/leap
> +FROM --platform=linux/amd64 opensuse/leap
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/suse/opensuse-tumbleweed.dockerfile b/automation/build/suse/opensuse-tumbleweed.dockerfile
> index 959e1f6939f0..38f6fda2ff1b 100644
> --- a/automation/build/suse/opensuse-tumbleweed.dockerfile
> +++ b/automation/build/suse/opensuse-tumbleweed.dockerfile
> @@ -1,4 +1,4 @@
> -FROM opensuse/tumbleweed
> +FROM --platform=linux/amd64 opensuse/tumbleweed
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/bionic.dockerfile b/automation/build/ubuntu/bionic.dockerfile
> index e15f54431efb..77d7f933860c 100644
> --- a/automation/build/ubuntu/bionic.dockerfile
> +++ b/automation/build/ubuntu/bionic.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:18.04
> +FROM --platform=linux/amd64 ubuntu:18.04
>  LABEL maintainer.name="The Xen Project " \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
> index e3d11194ee2f..30a9b8e84ffe 100644
> --- a/automation/build/ubuntu/focal.dockerfile
> +++ b/automation/build/ubuntu/focal.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:20.04
> +FROM --platform=linux/amd64 ubuntu:20.04
>  LABEL maintainer.name="The Xen Project " \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/trusty.dockerfile b/automation/build/ubuntu/trusty.dockerfile
> index 22e294c20cac..0d33578c4e1d 100644
> --- a/automation/build/ubuntu/trusty.dockerfile
> +++ b/automation/build/ubuntu/trusty.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:14.04
> +FROM --platform=linux/amd64 ubuntu:14.04
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
> index 5f7087135213..49f27b322995 100644
> --- a/automation/build/ubuntu/xenial-xilinx.dockerfile
> +++ b/automation/build/ubuntu/xenial-xilinx.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:16.04
> +FROM --platform=linux/amd64 ubuntu:16.04
>  LABEL maintainer.name="The Xen Project " \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile
> index 2d2ba3e31f63..e8035434f804 100644
> --- a/automation/build/ubuntu/xenial.dockerfile
> +++ b/automation/build/ubuntu/xenial.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:16.04
> +FROM --platform=linux/amd64 ubuntu:16.04
>  LABEL maintainer.name="The Xen Project " \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> -- 
> 2.42.0
> 
--8323329-1410453681-1699920627=:160649--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 00:13:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 00:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632085.986052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2h3h-0001d2-2J; Tue, 14 Nov 2023 00:13:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632085.986052; Tue, 14 Nov 2023 00:13: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 1r2h3g-0001cv-Vh; Tue, 14 Nov 2023 00:13:36 +0000
Received: by outflank-mailman (input) for mailman id 632085;
 Tue, 14 Nov 2023 00:13: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r2h3g-0001cp-81
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 00:13:36 +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 a5091c78-8282-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 01:13:33 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 6E196CE1905;
 Tue, 14 Nov 2023 00:13:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6479AC433C8;
 Tue, 14 Nov 2023 00: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: a5091c78-8282-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699920810;
	bh=5KM0x95TdJ3B67+OgAv+E0t/DodwxIkAF6D4nX3zT4E=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Qzqisg9nWRRgUWeRz5K55VH5v0atbe3myFsyf1mqkHaqP1iXPoGcpQDym6YGwMVm4
	 doASUnyeNmFgqv4w5Xvg3tQsiSONtC+7Xi02Txa1zBjz7vcq3PLbCDeEvnNR/xuV39
	 RV9/izG0gTwYdB5cDiA76bY6X34SJieB76SUaWTE+8Vm6vSJVBBNBBxP1h74NueW7a
	 MZhjhlbfiW5O/YBNG4mg7tRHIqaqPSIZhF3cqFGzewTc8cSaezBN8O46rHlKr8cAb7
	 YO86inC4IG5ZB0R3dkOWA6JjGD+DIOuSMEGwiBdAHwZwAI63gqCMNrTiyK9UqwAp5C
	 7QeE+wgH5KGcA==
Date: Mon, 13 Nov 2023 16:13:27 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Doug Goldstein <cardoe@cardoe.com>, Artem_Mygaiev@epam.com, 
    Oleksandr_Tyshchenko@epam.com
Subject: Re: [XEN PATCH] CI: Rework RISCV smoke test
In-Reply-To: <a12642cc-0b2a-42fe-9eff-a5a8642d3373@perard>
Message-ID: <alpine.DEB.2.22.394.2311131612460.160649@ubuntu-linux-20-04-desktop>
References: <20231109154922.49118-1-anthony.perard@citrix.com> <7bffd0ff-290f-461c-a0ce-35440b36240a@citrix.com> <alpine.DEB.2.22.394.2311091657150.3478774@ubuntu-linux-20-04-desktop> <a12642cc-0b2a-42fe-9eff-a5a8642d3373@perard>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

+Artem, Oleksandr

On Mon, 13 Nov 2023, Anthony PERARD wrote:
> On Thu, Nov 09, 2023 at 05:02:08PM -0800, Stefano Stabellini wrote:
> > ### qemu_key.sh is using "expect", see below. I think we should be able
> > ### to achieve the same by using expect to close on the expected string
> > ### (instead of waiting for eof)
> 
> So, `expect` is just a different kind of language than shell is?
> Also, `grep -q` doesn't wait for EOF, and just exit as soon as it found
> the pattern.



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 00:15:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 00:15:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632088.986062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2h5i-0002Bf-F0; Tue, 14 Nov 2023 00:15:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632088.986062; Tue, 14 Nov 2023 00: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 1r2h5i-0002BW-B0; Tue, 14 Nov 2023 00:15:42 +0000
Received: by outflank-mailman (input) for mailman id 632088;
 Tue, 14 Nov 2023 00:15: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r2h5h-0002BO-66
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 00:15:41 +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 f1552495-8282-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 01:15:40 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 9DAF3B80EA4;
 Tue, 14 Nov 2023 00:15:39 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BC926C433C8;
 Tue, 14 Nov 2023 00:15: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: f1552495-8282-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699920938;
	bh=XXwebpHoGLgqzzoCPYcjVgyxmcReSMn84/NnF5OhPLE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=iytKT/VJDciYjo5TUh2hXP4Ya31qx/18sZlmAfyTHWhwCdffnjAdXvAglebBrVKZi
	 LNmAnAl1KQ1D/G1d7ebGWfpi9y+6OGZR24WSMzyQVmtcnTwhOHgOWWhmcvP9JL76O5
	 0itR9NCoD5IK38lOzAPjVEVr6a+07ymnfd/cLYH4C9fsqAe9Sq20LSY66sWxeMRuAW
	 7xbaUTRIHYy0zLDSCOmLWp7W13nE6IEK0h2FrWfRNWXv7zXNNQ+UKkR+qhxGE1IW4J
	 B3h6hAKjpR+mkEu3VP1PU5EMRiP2GZCTc7jKPgPn+7vSgwpM8H2bYtDsQQxbzKXrce
	 q9z5Hw6/8QZbA==
Date: Mon, 13 Nov 2023 16:15:36 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Anthony PERARD <anthony.perard@citrix.com>
cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org, 
    Oleksii Kurochko <oleksii.kurochko@gmail.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] CI: Rework RISCV smoke test
In-Reply-To: <ebb51a9b-2397-4105-ad20-4cede5872f48@perard>
Message-ID: <alpine.DEB.2.22.394.2311131613470.160649@ubuntu-linux-20-04-desktop>
References: <20231109154922.49118-1-anthony.perard@citrix.com> <7bffd0ff-290f-461c-a0ce-35440b36240a@citrix.com> <ebb51a9b-2397-4105-ad20-4cede5872f48@perard>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 13 Nov 2023, Anthony PERARD wrote:
> On Thu, Nov 09, 2023 at 04:52:36PM +0000, Andrew Cooper wrote:
> > On 09/11/2023 3:49 pm, Anthony PERARD wrote:
> > > Currently, the test rely on QEMU and Xen finishing the boot in under
> > > two seconds. That's both very long and very short. Xen usually managed
> > > to print "All set up" under a second. Unless for some reason we try to
> > > run the test on a machine that's busy doing something else.
> > >
> > > Rework the test to exit as soon as Xen is done.
> > >
> > > There's two `tail -f`, the first one is there simply to monitor test
> > > progress in GitLab console. The second one is used to detect the test
> > > result as soon as QEMU add it to the file. Both `tail` exit as soon as
> > > QEMU exit.
> > >
> > > If QEMU fails at start, and exit early, both `tail` will simply exit,
> > > resulting in a failure.
> > >
> > > If the line we are looking for is never printed, the `timeout` on the
> > > second `tail` will force the test to exit with an error.
> > >
> > > Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
> > 
> > Looks plausible, but all these qemu-smoke scripts are pretty similar,
> > and copied from one-another.
> > 
> > We should make this change consistently to all testing (there's nothing
> > RISC-V specific about why this test is failing on this runner), and it
> > would be really nice if we could try to make it a bit more common than
> > it currently is.
> 
> Yes, it would be nice if a change to a qemu-smoke script was applied to
> every other one. But making those scripts more generic is a lot more
> works, which would be useful to apply a change once for all.
> 
> The problem I'm trying to resolve only appear with this script, because
> of a timeout been too short, a solution could just be to increase the
> timeout (or not allowing runners to do more than one thing at a time).
> 
> BTW, the last time I've been told to apply a change to other things, I
> never managed to finish it and the change wasn't applied at all (would
> have result in some containers been smaller).
> 
> I guess will see if anyone complain about the test randomly failing. :-)

Hi Anthony, I think it is OK if you only fix this script for now. As
part of the tests we are writing for Xen FuSa we want to improve the
basic gitlab testing infrastructure and make the code common like Andrew
asked (we haven't done it yet but soon). We should get to it in the next
few months.


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 00:44:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 00:44:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632096.986072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2hWy-00025c-GW; Tue, 14 Nov 2023 00:43:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632096.986072; Tue, 14 Nov 2023 00:43: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 1r2hWy-00025V-CV; Tue, 14 Nov 2023 00:43:52 +0000
Received: by outflank-mailman (input) for mailman id 632096;
 Tue, 14 Nov 2023 00:43: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=MKY2=G3=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1r2hWw-000256-JL
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 00:43:50 +0000
Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd7d20da-8286-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 01:43:47 +0100 (CET)
Received: from orsmga001.jf.intel.com ([10.7.209.18])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 13 Nov 2023 16:43:43 -0800
Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82])
 by orsmga001.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384;
 13 Nov 2023 16:43:43 -0800
Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by
 fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34; Mon, 13 Nov 2023 16:43:43 -0800
Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by
 fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34 via Frontend Transport; Mon, 13 Nov 2023 16:43:43 -0800
Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.41) by
 edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.34; Mon, 13 Nov 2023 16:43:42 -0800
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by MN2PR11MB4518.namprd11.prod.outlook.com (2603:10b6:208:24f::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Tue, 14 Nov
 2023 00:43:38 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::3d98:6afd:a4b2:49e3]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::3d98:6afd:a4b2:49e3%7]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 00: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>
X-Inumbo-ID: dd7d20da-8286-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1699922627; x=1731458627;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=NKtNRhIUg7Mr+IyCpRpr8MQo5ET9Z7oU1fIbXO8JoU8=;
  b=eIWwivabrUkhV0jhbQvjav2WxhWgQViQe3EMaa87NmCPagRNz0P/pTpk
   Q4avrBWLeGsu/YWEPLvgt/3he73q2X0BvatnGrDwoC5HnGGZ/wPzPjY6h
   t+/a0uxx7Vb2CRf99sQwQWoEQXpFM9rCAdJp8Tz4BBqWsZ71/HAb1tEZp
   LL8fZ18Zzvv1p5VvWnGOqnS8bT8QND9Q5EhSQ7qAfl1pZrV/ex34q931q
   w3gwancrQtvezYQT53/mAeP29NkREUAPH8oBOEr2qGKTFafTjSNYaJgnz
   TwMYt6NURnurd/8S1EkPUJHPZW7j9Z3kJermSnBRmWokgDGgpV78nj06+
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="394446544"
X-IronPort-AV: E=Sophos;i="6.03,299,1694761200"; 
   d="scan'208";a="394446544"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="799340171"
X-IronPort-AV: E=Sophos;i="6.03,299,1694761200"; 
   d="scan'208";a="799340171"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NSPDeNCoXl3IHtoQGb8wPENcO4t60WfRnst39UGMz8Dbw96e0glvk8ZLEwcYIWXniWMZpTGqTay0zOU++PPGmQUGXQ5vrokx+C6yKv6goAIt413lNuWv7H/4Dxb8v8E/WdDanocvby+i6juv5NTps6fxBSladgKacSGvclVluZ88J9LUyStAfAt+SBwtUi1RUXjnk//Q1gSASrREdo4iTYpMZnslPd53onrqarkUC93ONnQ+unPFKP7v0l4bbzDN4hP/WuCIfpFnUavXIIgbkcAfU7ElVCL5lGnEGVTSun6AU5kLj3wWCPD2AzgdDsF8QdQymo09lYzQWRQM1dXWDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NKtNRhIUg7Mr+IyCpRpr8MQo5ET9Z7oU1fIbXO8JoU8=;
 b=jc/3kFpfvuGw7Y2GYmYDcSspPl2spaF7pmqmTyw8biUWeMJqCPSrqxFi6ai9yT/il1qr8KRzaNo4Ggo4OU7SQJr2amqWZgir3xnlzfB5gt7BzUUHINkqAEg1J0ZGm4FE88XYwlvZ0p2pFHyBK/ZA3fMI8Un3nZ+mIj63bocnEz28GbSf+SIuLtZNyAURKOL/X5tDftLhAU5tl1bxVDw7EcKwMBgDNufMfpBTvypiC6k2a38P+y1/4F4OX9SsL5VvBkdKCx9P6OAAPpKFdkeJeAKZOetkJ93crSAR4evA1c1N5YoV5MsN5WseL9SNC1O75ce1LCmnNFJZg2BzzKTaAg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: Borislav Petkov <bp@alien8.de>
CC: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "dave.hansen@linux.intel.com"
	<dave.hansen@linux.intel.com>, "x86@kernel.org" <x86@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>, "Lutomirski, Andy" <luto@kernel.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>, "Christopherson,, Sean"
	<seanjc@google.com>, "peterz@infradead.org" <peterz@infradead.org>, "Gross,
 Jurgen" <jgross@suse.com>, "Shankar, Ravi V" <ravi.v.shankar@intel.com>,
	"mhiramat@kernel.org" <mhiramat@kernel.org>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "jiangshanlai@gmail.com"
	<jiangshanlai@gmail.com>, "nik.borisov@suse.com" <nik.borisov@suse.com>
Subject: RE: [PATCH v12 01/37] x86/cpufeatures: Add the cpu feature bit for
 WRMSRNS
Thread-Topic: [PATCH v12 01/37] x86/cpufeatures: Add the cpu feature bit for
 WRMSRNS
Thread-Index: AQHZ9caG3VIRGozoEkidJJiXW1l1kbBwlOyAgAieqDA=
Date: Tue, 14 Nov 2023 00:43:38 +0000
Message-ID: <SA1PR11MB673495967E44583FC36B5E39A8B2A@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-2-xin3.li@intel.com>
 <20231108123647.GBZUuA31zntox0W0gu@fat_crate.local>
In-Reply-To: <20231108123647.GBZUuA31zntox0W0gu@fat_crate.local>
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=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|MN2PR11MB4518:EE_
x-ms-office365-filtering-correlation-id: 9a6e5578-8a6c-45f6-3d07-08dbe4aabdb7
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 191my9q75Ck1wvghTTQhs1geZ00xzBfZU0e4D/aVd7PoVcZxC0WozSdBEfVQjVAWjs7+VFxIvug0cgNR9khJgjkD9Mq78a+OkDhvzg5BPlWhfqtx1Ye7K6mFvhpP89GJEgGXwaC5kRX7uwOA5Gyvjf1gzLIeWXoBfaRPICjpBhVbop6orATmkAIxW1L9t29NOVmb8mcTLPBKEB9tSVkQFP13rlh/P72R/o8s+ZoRp0ZqRieAnuJ9ug/PDpvsFUS8t3rO5A9PZnQnu5IEVCt6UPd2WytZr37CebQb16ITGQerAX4BVTfkYQEBOFhOGjAg5yWqaUjeiSfwJV5CMU7dsxT1FGfD45c1t8Lqma4qsjFGK14pt2Klr1ZM1C5wwC+lHs8sP8TawWGgcvfr4xgQx8R1rkTtvyOA4xvVNK4tbnPmHBJ369yAJ5Xq84++BCaiQKqeKSnkJW4r2nnDpbLCYI8VquRrvkmuqBD4/Ot7Ab+WJWMy2D5W8tX3XhDGc3Hy+/CqfROVtZqSXr4VbYB3G9r7b/iAq9qeRy2zMIV9x2Q+vu0XW00WD9AZTDODEHSDTVLxXzuCKJ6vi1NEwB7dWzSRbkT7YwGtKFyO2VmfLrfnOhRr3SHVFx9lnfpgiRxiykFfMDNK9FZ7akziBqNRiw==
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(376002)(366004)(136003)(346002)(230922051799003)(1800799009)(451199024)(64100799003)(186009)(38070700009)(122000001)(82960400001)(26005)(6506007)(478600001)(7696005)(71200400001)(966005)(9686003)(86362001)(55016003)(7416002)(5660300002)(52536014)(33656002)(41300700001)(2906002)(38100700002)(8676002)(8936002)(64756008)(316002)(6916009)(66476007)(66446008)(76116006)(4326008)(54906003)(66556008)(66946007);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QVdvRmZ6TG9MNjR1cE5CRGRqZjZ5R3RGeWlRK1FUYW9BVldMMmg2UmFpcjlL?=
 =?utf-8?B?eG0vOXZyUy8vQm9xeVlvWkFlMGpNQldDTDNIRllRWnVZVk1LYi84MkZiL25m?=
 =?utf-8?B?dU0zSm1PeEhyd29aWElQbW9McVY1VUcwY0VVcE9kRTFGeW93Q2QrYitZc2RM?=
 =?utf-8?B?bDFYa3cvZjBTV2tOQVloS3ZSUXhCVEpNZ05Kbk40RWUwR2tOWWRVUklSL3lM?=
 =?utf-8?B?NTRvQUU0V1NuOHo1cmxydTMyejlxNVVCQjI4SVQvU2kxdWFVMkpKMTZUMnBH?=
 =?utf-8?B?WmNmZjhXdktRZEZtZFYvNDRHM0JVODg1VGRycUNONmJMK3Y2UXgrLzRUdUZQ?=
 =?utf-8?B?UlByOWZwSExlWFpWdFZhbThLbVl5UW9xN09LVm9wakxQUFRiY3ZTNXJlTWJU?=
 =?utf-8?B?UjQyTG1VQXQ2SmpUcFlDamxZYi9tSndjY3QxSUMxZmRBTU1ibzhQR2JPNExH?=
 =?utf-8?B?cFBqUWFNM3pTelZ5VDFrS3NRcHhUQ1FRd1VtNGxzd3c1UWZyUU53M1QzbEFx?=
 =?utf-8?B?L0tUMlZid0FYbDFzOEo0eXJPa2hUK1BJKzNkd0MyMTREZUNic29NOC8wSkFR?=
 =?utf-8?B?ayt1ekl0elpRQUtHeVZGN254LzVDY1lFeERsbytqeVNIVmVIQ2Y3OUE1OXpP?=
 =?utf-8?B?Y1dvUXZURHFOUTNsMG9Fd29DdEVkRWMvYlZQS2JxWVcwWDZtOXdIN2R5SEUv?=
 =?utf-8?B?aE1oYlFZZWVXYXYzUzdFVDhxNlJWMTV5WWs2a0JYRk51NHMva3hVd3Bpdjgr?=
 =?utf-8?B?UmtpVHAwRjArMzdXeG1oQitOZUJ4VW5TNU5GdlN5TXNDRkFaR1BXMFRwVzJL?=
 =?utf-8?B?bm9SZ2lEY2loU2ZnaENTUEpMYUJKRFJBc0pkaXVFUlJwODVFR21oWSt3Rzd0?=
 =?utf-8?B?eWUzeXZ1VjUrbFU0M3RNRHlNYktDbXA3WGtsZHFUQUpTdjc0Q2VoanVVOWRG?=
 =?utf-8?B?TEUzelRuTEpYNU9oSm5BSG5odFdCQSt3U1RGZXJiTUdQZ0o2Y2t4WEI4UVRC?=
 =?utf-8?B?dDRjUDNYL0VwbzloZkRzSVd0ZXdMS2daY1AwbzdqRTFzbE80T1BqalA1MS9S?=
 =?utf-8?B?dFphb0R6WThwK0hQMnpDcFZHaFN6dmkwYW5USHB2OEM1bmRIRU5MSjJPR25w?=
 =?utf-8?B?dmNkSmRQRXdpakV5emZ0MTNiUDFjOUFMMlNhMm5GdWV4VGRLVVJKQWUxRWhF?=
 =?utf-8?B?eTI4bzUrSlNoN1NDWHQvUENKTGRhcVNzOHl3WjdjV29zOGpKbTh5clErSDJr?=
 =?utf-8?B?K3BMMG8vcnFva0FUSjlqMjVhQ1QrV0cwU1JtYUNrYlZteHBsRUZwekZJS08v?=
 =?utf-8?B?eEFEdU56WlhPd0ZkKzBJTitzVnR3b1JtYlBqb2hRT0pYR2MyRGRvN2I2d1dj?=
 =?utf-8?B?SDdiNC9XbmsrUmlZaUVGc2RDL25SYWRUUzk5MXdwQnJoVm1YamwvYW0xZlRT?=
 =?utf-8?B?TEtKQUVWV0xHWHNKWk5wQnRvbkNSSkV6NzVrSndlR2Q3bHAwUGRMd2IyL1B1?=
 =?utf-8?B?cXYvNmk3VFdjd2xTc2Y0Wk9RT21ObjIraEc0T0ZvQTM4UTBuSTREL3A1ek81?=
 =?utf-8?B?Uy84ajNNZzBMNEZIR1JPQXpUeWI5dEY4ZkkraGV4ZDF5cHp4NFNFenhFZUlp?=
 =?utf-8?B?YXFrdnFoOSs5aEhaeFl2NVV3U0dZUU9Rek00YTEwWFZrN0gwbHprUEora3BV?=
 =?utf-8?B?NHZ1UHlqLzVRNVA3REJFdzZzOWZBSmZSQ1h0ZUdiOFdFQ2ExZFVqUUxVQWRx?=
 =?utf-8?B?UkNaaWxCY0RLNy92T0RsR0xmV00wOU9VTmcyR1VhTlVtYjNNK1k4UURjU2Nk?=
 =?utf-8?B?ZVpDSlNsQU1DeWg1WUZXcUdBUUlSUjBLenpSNE9oVlE3NFpXeHpWM1h2U0Ro?=
 =?utf-8?B?eEpHUHpLREVNVEVPbkRLRkx5ak50YXN0NkRtMG5MeTh4MHZaZXBCaHBvQTZK?=
 =?utf-8?B?WTNEWDBkbkRFWTBlb3I5dG1MYk1OaWpqUjVTUWN1TTNJYVo5d2dGSlRGb3FB?=
 =?utf-8?B?T1M3SHFiVjNsTzJJS1poZWlCUnVDTDhDR1A5UnRKMU1mOFFPL09CREdiNDlI?=
 =?utf-8?B?ZVBybExrRE9kZVdFdlEzQ2ZQNGw0TlNJcTlGcHl4QXRPTEZEQnV5ZnNBMlRa?=
 =?utf-8?Q?hssM=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a6e5578-8a6c-45f6-3d07-08dbe4aabdb7
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2023 00:43:38.1514
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: klIHhrmQhTRhSjfJiHg4VlmRUYuZgdNQwVS0Rsltj7dt88KeT5qPeyp0yOAq6vKQkILvatMQItVYEU6DFVV+aQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4518
X-OriginatorOrg: intel.com

PiBUaGVuLCBmdXJ0aGVyIGRvd24gaW4gdGhlIHBhdGNoc2V0LCBpdCBzYXlzOg0KPiANCj4gKwlp
ZiAoY3B1X2ZlYXR1cmVfZW5hYmxlZChYODZfRkVBVFVSRV9GUkVEKSkgew0KPiArCQkvKiBXUk1T
Uk5TIGlzIGEgYmFzZWxpbmUgZmVhdHVyZSBmb3IgRlJFRC4gKi8NCj4gDQo+IGJ1dCBXUk1TUk5T
IGlzIG5vdCBtZW50aW9uZWQgaW4gdGhlIEZSRUQgc3BlYyAiRG9jdW1lbnQgTnVtYmVyOg0KPiAz
NDY0NDYtMDA1VVMsIFJldmlzaW9uOiA1LjAiIHdoaWNoLCBhY2NvcmRpbmcgdG8NCj4gDQo+IGh0
dHBzOi8vd3d3LmludGVsLmNvbS9jb250ZW50L3d3dy91cy9lbi9jb250ZW50LWRldGFpbHMvNzgw
MTIxL2ZsZXhpYmxlLQ0KPiByZXR1cm4tYW5kLWV2ZW50LWRlbGl2ZXJ5LWZyZWQtc3BlY2lmaWNh
dGlvbi5odG1sDQo+IA0KPiBpcyB0aGUgbGF0ZXN0Lg0KPiANCj4gQW0gSSBsb29raW5nIGF0IHRo
ZSB3cm9uZyBvbmU/DQoNCk5vLiAgdGdseCBhc2tlZCBmb3IgaXQ6DQpodHRwczovL2xrbWwua2Vy
bmVsLm9yZy9rdm0vODd5MWg4MWh0NC5mZnNAdGdseC8NCg0KPiANCj4gQW5kIG5vdyBJJ20gd29u
ZGVyaW5nOiB3aGVuIHlvdSdyZSBhZGRpbmcgYSBzZXBhcmF0ZSBDUFVJRCBiaXQsIHRoZW4gdGhl
DQo+IGFib3ZlIHNob3VsZCBiZQ0KPiANCj4gKyAgICAgICBpZiAoY3B1X2ZlYXR1cmVfZW5hYmxl
ZChYODZfRkVBVFVSRV9XUk1TUk5TKSkgew0KPiArICAgICAgICAgICAgICAgLyogV1JNU1JOUyBp
cyBhIGJhc2VsaW5lIGZlYXR1cmUgZm9yIEZSRUQuICovDQoNCkJlY2F1c2Ugd2UgYXJlIGRvaW5n
IA0KCQl3cm1zcm5zKE1TUl9JQTMyX0ZSRURfUlNQMCwgLi4uKQ0KaGVyZSwgYW5kIFg4Nl9GRUFU
VVJFX1dSTVNSTlMgZG9lc24ndCBndWFyYW50ZWUgTVNSX0lBMzJfRlJFRF9SU1AwIGV4aXN0cy4N
Cg0KT3IgSSBtaXNzZWQgc29tZXRoaW5nPw0KDQo+IA0KPiBJIHNlZSB0aGF0IHlvdSdyZSBhZGRp
bmcgYSBkZXBlbmRlbmN5Og0KPiANCj4gKwl7IFg4Nl9GRUFUVVJFX0ZSRUQsCQkJWDg2X0ZFQVRV
UkVfV1JNU1JOUyAgIH0sDQo+IA0KPiB3aGljaCB0aGVuIG1lYW5zIHlvdSBkb24ndCBuZWVkIHRo
ZSBYODZfRkVBVFVSRV9XUk1TUk5TIGRlZmluaXRpb24gYXQgYWxsDQo+IGFuZCBjYW4gdXNlIFg4
Nl9GRUFUVVJFX0ZSRUQgb25seS4NCj4gDQo+IFNvLCB3aGF0J3MgdXA/DQoNCkZSRUQganVzdCBn
ZXRzIHRoZSBob25vciB0byBpbnRyb2R1Y2UgV1JNU1JOUyBhbmQgaXRzIGZpcnN0IHVzYWdlOg0K
aHR0cHM6Ly9sa21sLmtlcm5lbC5vcmcva3ZtL2IwNWUzMDkyLThiYTMtZjRlMS1iNWEzLTIxMjU5
NDQ5MzZmZEB6eXRvci5jb20vDQoNCkFub3RoZXIgcGF0Y2ggc2V0IHNob3VsZCByZXBsYWNlIFdS
TVNSIHdpdGggV1JNU1JOUywgd2l0aCBTRVJJQUxJWkUgYWRkZWQNCndoZW4gbmVlZGVkLg0KDQpT
b3JyeSBmb3IgdGhlIGxhdGUgcmVzcG9uc2UsIGl0IHdhcyBhIGxvbmcgd2Vla2VuZCBpbiB0aGUg
VVMuDQoNClRoYW5rcyENCiAgICBYaW4NCg0K


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 03:46:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 03:46:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632115.986126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2kNN-0003Qf-HO; Tue, 14 Nov 2023 03:46:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632115.986126; Tue, 14 Nov 2023 03: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 1r2kNN-0003QY-EU; Tue, 14 Nov 2023 03:46:09 +0000
Received: by outflank-mailman (input) for mailman id 632115;
 Tue, 14 Nov 2023 03:46: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 1r2kNM-0003QO-GP; Tue, 14 Nov 2023 03:46: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 1r2kNM-0001Rl-E5; Tue, 14 Nov 2023 03:46: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 1r2kNL-0003dh-Uz; Tue, 14 Nov 2023 03:46:08 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2kNL-0006yJ-UG; Tue, 14 Nov 2023 03:46: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=7p2gFwjCGZmvmbS7HJdTyZ7GIOkkL1SeYTHkTIi6iVI=; b=E8umq7UmGrnFA3en8P0acEe1P5
	WyK0FwaXd4WWIuYa8vyJmd2lIvJw6cB6hC3y4aCE9UC1dReNbfYuqIPI9iguk+SumhYG/RsMYFk7a
	BAyiVFvVeG4uG8oP/loakxSLiguLn6CBamNZb/WJ6J6k/1flbqnsgqktAGYBnA9wL3sc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183745-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183745: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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: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-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-amd64-amd64-libvirt:migrate-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=fb41228ececea948c7953c8c16fe28fd65c6536b
X-Osstest-Versions-That:
    xen=bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Nov 2023 03:46:07 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 13 guest-start         fail pass in 183747-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 183747 like 183739
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 183747 never pass
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183737
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183739
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183739
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183739
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183739
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183739
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183739
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183739
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183739
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183739
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183739
 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-amd64-i386-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-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-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-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-amd64-amd64-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-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-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

version targeted for testing:
 xen                  fb41228ececea948c7953c8c16fe28fd65c6536b
baseline version:
 xen                  bede1c7e3b790b63f1ff3ea3ee4e476b012fdf2c

Last test of basis   183739  2023-11-13 01:53:48 Z    1 days
Testing same since   183745  2023-11-13 17:38:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.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                                          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-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                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   bede1c7e3b..fb41228ece  fb41228ececea948c7953c8c16fe28fd65c6536b -> master


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 05:02:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 05:02:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632121.986135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2lZP-0007Te-4I; Tue, 14 Nov 2023 05:02:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632121.986135; Tue, 14 Nov 2023 05: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 1r2lZP-0007TX-1b; Tue, 14 Nov 2023 05:02:39 +0000
Received: by outflank-mailman (input) for mailman id 632121;
 Tue, 14 Nov 2023 05:02: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=jmH2=G3=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r2lZN-0007TR-Oo
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 05:02:37 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06c57358-82ab-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 06:02:36 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 8EEE540E0191; 
 Tue, 14 Nov 2023 05:02:33 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id OLoj8MhEtgvD; Tue, 14 Nov 2023 05:02:31 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 15CEE40E0032;
 Tue, 14 Nov 2023 05:02: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: 06c57358-82ab-11ee-98db-6d05b1d4d9a1
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key)
	header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1699938151; bh=dUNHth64wAi+DfNN2LL+fvN9ITMNu8XyaBkF7nxLEPA=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=YyPAvs8EM1vwD3w0yM6uPenFZuJ20wSRyZ9hjuiQyOL8O2giIr8S5BXx9anHdygDG
	 CFaXI6vczp2qx7Oiicr6bHk4Bhk0EKoec4EBYGgRx8/PgK0HOdeGlgHCrS/LyKfLOn
	 +Rek8cAJbX7v56BxizHvEb6+v0Rr4aoK2eIz0ZQuQ+BYQNjHN9Irbhg/4P6ylIrTIK
	 L96EjujMwTv03F5ZwqQWljZuNIR8jz8EsCCUq4yQ98y/6ReCeOJAMA3AGIhfcYY8Va
	 TxptPFnV9Jn/V88TPz4opLGkUqaBEfGXX0ntniZgugahJgApJ+lhbu07+xYq5fEE9q
	 aZIeHwwJSbzpWBStJMEhFon4R35ReXDbGOktsEphMNxdUmTuIHoseUct3QYUNjqBns
	 ke/rvL+1u7nChtWL+hpQRCLVY6hYb3wJJ6DIgaU4s6EW5CaHdwvhjpVSMkVy5lY2Lr
	 UIm8VoXWV/zEDUtPgERX9tQUEiU3sj7Qwu4s2iECuHd+S2HxfX6t295O+Bpdsqbrna
	 WZ18C6yTZZH9FVRZ58Dv2OKmEMb51UQ3XVnwCCrHe7XtSEwRvuraOUR4QywbPCMBrL
	 HY7DOKuH0Oy4OYsYDpkkfOVc5aA95lX/saZyWxsbWxzGa8Twt59w6yupWMfewKfsLL
	 BQ5N9OijKGco3KNW5DAtAtqc=
Date: Tue, 14 Nov 2023 06:02:01 +0100
From: Borislav Petkov <bp@alien8.de>
To: "Li, Xin3" <xin3.li@intel.com>
Cc: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"x86@kernel.org" <x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>,
	"Lutomirski, Andy" <luto@kernel.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>,
	"Christopherson,, Sean" <seanjc@google.com>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"Gross, Jurgen" <jgross@suse.com>,
	"Shankar, Ravi V" <ravi.v.shankar@intel.com>,
	"mhiramat@kernel.org" <mhiramat@kernel.org>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"jiangshanlai@gmail.com" <jiangshanlai@gmail.com>,
	"nik.borisov@suse.com" <nik.borisov@suse.com>
Subject: Re: [PATCH v12 01/37] x86/cpufeatures: Add the cpu feature bit for
 WRMSRNS
Message-ID: <20231114050201.GAZVL/Sd/yLIdON9la@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-2-xin3.li@intel.com>
 <20231108123647.GBZUuA31zntox0W0gu@fat_crate.local>
 <SA1PR11MB673495967E44583FC36B5E39A8B2A@SA1PR11MB6734.namprd11.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <SA1PR11MB673495967E44583FC36B5E39A8B2A@SA1PR11MB6734.namprd11.prod.outlook.com>

On Tue, Nov 14, 2023 at 12:43:38AM +0000, Li, Xin3 wrote:
> No.  tglx asked for it:
> https://lkml.kernel.org/kvm/87y1h81ht4.ffs@tglx/

Aha

"According to the CPU folks FRED systems are guaranteed to have WRMSRNS -
I asked for that :). It's just not yet documented."

so I'm going to expect that to appear in the next FRED spec revision...

> Because we are doing 
> 		wrmsrns(MSR_IA32_FRED_RSP0, ...)
> here, and X86_FEATURE_WRMSRNS doesn't guarantee MSR_IA32_FRED_RSP0 exists.
> 
> Or I missed something?

Well, according to what I'm hearing and reading so far:

FRED means WRMSRNS
FRED means MSR_IA32_FRED_RSP0

and if you had to be precise, the code should do:

	if (cpu_feature_enabled(X86_FEATURE_FRED)) {
		if (cpu_feature_enabled(X86_FEATURE_WRMSRNS))
			wrmsrns(MSR_IA32_FRED_RSP0, (unsigned long)task_stack_page(task) + THREAD_SIZE);
		else
			wrmsr(MSR_IA32_FRED_RSP0, (unsigned long)task_stack_page(task) + THREAD_SIZE);
	}

but apparently FRED implies WRMSRNS - not documented anywhere currently
- so you can save yourself one check.

But your version checks FRED if it can do WRMSRNS while there's
a separate WRMSRNS flag and that made me wonder...

> Another patch set should replace WRMSR with WRMSRNS, with SERIALIZE added
> when needed.

I sense someone wants to optimize MSR writes ... :-)

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 05:30:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 05:30:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632124.986146 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2m07-0004HJ-BN; Tue, 14 Nov 2023 05:30:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632124.986146; Tue, 14 Nov 2023 05: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 1r2m07-0004HC-7C; Tue, 14 Nov 2023 05:30:15 +0000
Received: by outflank-mailman (input) for mailman id 632124;
 Tue, 14 Nov 2023 05:30: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=CgNs=G3=redhat.com=jasowang@srs-se1.protection.inumbo.net>)
 id 1r2m05-0004H6-Pz
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 05:30:13 +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 e1875252-82ae-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 06:30:12 +0100 (CET)
Received: from mail-lj1-f200.google.com (mail-lj1-f200.google.com
 [209.85.208.200]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-248-0WtkBS_7MBqTbeITGyVh6g-1; Tue, 14 Nov 2023 00:30:09 -0500
Received: by mail-lj1-f200.google.com with SMTP id
 38308e7fff4ca-2c8321310b6so30008571fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 21:30:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1875252-82ae-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1699939811;
	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=KYdz1LdDqXxrg73NymxfuIwXOLaJadgVCvKcNkIZIj8=;
	b=PtfvZl+pDw4skMZygKSuKVVtopAnoP8+eFjbjKG+FoB075D1INf5T29iXmyEAIc4d2LUjI
	E9vGQSQh1+VqQ2XazTOrmrC8PPpH+DTseefgg2d8lmD1wOkqMscl6aq75NKS/kihrj5IG4
	ONbMDIMHSYdZQs3lI2plChX+w+fynAs=
X-MC-Unique: 0WtkBS_7MBqTbeITGyVh6g-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699939808; x=1700544608;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=KYdz1LdDqXxrg73NymxfuIwXOLaJadgVCvKcNkIZIj8=;
        b=OxndCen+Is4Lz+ih7VEVHymiaywuVXdkPdY3gtlvEG7MpMM0OSrjh1BbzRnD+qgJL8
         ALWrs4Ku5PLSVO1R9JplIF5HssurMiV3+Vy5+2xrPFMEGuJ0jKRdq5b7xci1IlJfAau/
         IjhhJLb+How6ODHf3UtfEMbejanTjwoeszRwvk901atVeI/Mcj4ZXPMgJruUjjx1q21p
         9VrpRJuzLFZoEJLtEdQ8U+OapB0j0giGVi3ohTDzQUvE2cZmVJfaHt+kPSE4Rn7t+WdD
         U0fnMDqEN/PZWdrJZE20lotdvxj4YhxHduyOMblHax9eAicuZj25OuenXw1aEaLe8AHO
         nSuQ==
X-Gm-Message-State: AOJu0Ywx9NI9fTMZJxUgSuG75E1NklBjijlK/DMVxkx1Z8U88Ealru38
	eMQgTfKAOgjvM9BcigAushnaUQjja/k17ehAiTkZfBpE0x+cRZFoN44aiZ04JR6ziCS7huGNjG2
	uLG9vtSIBhkDjpsveqk4Nahpo8G25b6JiqKkmXuAbL+8=
X-Received: by 2002:ac2:511e:0:b0:508:1470:6168 with SMTP id q30-20020ac2511e000000b0050814706168mr5922319lfb.57.1699939808111;
        Mon, 13 Nov 2023 21:30:08 -0800 (PST)
X-Google-Smtp-Source: AGHT+IEVzxMxMFRb/9BGu0XUCejJsg/lJk8N17qIa17Ji8ZsHjPqnEaNS9GtTK1pB5fVqnN+UCm2mLbSIvyvoP8kV/A=
X-Received: by 2002:ac2:511e:0:b0:508:1470:6168 with SMTP id
 q30-20020ac2511e000000b0050814706168mr5922308lfb.57.1699939807729; Mon, 13
 Nov 2023 21:30:07 -0800 (PST)
MIME-Version: 1.0
References: <20230601031859.7115-1-akihiko.odaki@daynix.com> <a2cb6356-18b1-44d1-90a8-d137e8a25227@daynix.com>
In-Reply-To: <a2cb6356-18b1-44d1-90a8-d137e8a25227@daynix.com>
From: Jason Wang <jasowang@redhat.com>
Date: Tue, 14 Nov 2023 13:29:55 +0800
Message-ID: <CACGkMEvyDitD-5d_mzK0LxjidcT7ZXfw_qzK_WbMPt6dd+McKQ@mail.gmail.com>
Subject: Re: [PATCH v2 0/2] net: Update MemReentrancyGuard for NIC
To: Akihiko Odaki <akihiko.odaki@daynix.com>
Cc: Mauro Matteo Cascella <mcascell@redhat.com>, P J P <pj.pandit@yahoo.co.in>, 
	Alexander Bulekov <alxndr@bu.edu>, Dmitry Fleytman <dmitry.fleytman@gmail.com>, 
	Beniamino Galvani <b.galvani@gmail.com>, Peter Maydell <peter.maydell@linaro.org>, 
	Strahinja Jankovic <strahinja.p.jankovic@gmail.com>, 
	"Edgar E. Iglesias" <edgar.iglesias@gmail.com>, Alistair Francis <alistair@alistair23.me>, 
	Stefan Weil <sw@weilnetz.de>, =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>, 
	Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>, 
	Richard Henderson <richard.henderson@linaro.org>, Helge Deller <deller@gmx.de>, 
	Sriram Yagnaraman <sriram.yagnaraman@est.tech>, Thomas Huth <huth@tuxfamily.org>, 
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, Subbaraya Sundeep <sundeep.lkml@gmail.com>, 
	Jan Kiszka <jan.kiszka@web.de>, Tyrone Ting <kfting@nuvoton.com>, Hao Wu <wuhaotsh@google.com>, 
	Max Filippov <jcmvbkbc@gmail.com>, Jiri Pirko <jiri@resnulli.us>, 
	Daniel Henrique Barboza <danielhb413@gmail.com>, David Gibson <david@gibson.dropbear.id.au>, 
	Greg Kurz <groug@kaod.org>, Harsh Prateek Bora <harshpb@linux.ibm.com>, 
	Sven Schnelle <svens@stackframe.org>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, 
	Paul Durrant <paul@xen.org>, Rob Herring <robh@kernel.org>, Gerd Hoffmann <kraxel@redhat.com>, 
	qemu-arm@nongnu.org, qemu-devel@nongnu.org, qemu-ppc@nongnu.org, 
	xen-devel@lists.xenproject.org
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 21, 2023 at 3:16=E2=80=AFPM Akihiko Odaki <akihiko.odaki@daynix=
.com> wrote:
>
> On 2023/06/01 12:18, Akihiko Odaki wrote:
> > Recently MemReentrancyGuard was added to DeviceState to record that the
> > device is engaging in I/O. The network device backend needs to update i=
t
> > when delivering a packet to a device.
> >
> > This implementation follows what bottom half does, but it does not add
> > a tracepoint for the case that the network device backend started
> > delivering a packet to a device which is already engaging in I/O. This
> > is because such reentrancy frequently happens for
> > qemu_flush_queued_packets() and is insignificant.
> >
> > This series consists of two patches. The first patch makes a bulk chang=
e to
> > add a new parameter to qemu_new_nic() and does not contain behavioral c=
hanges.
> > The second patch actually implements MemReentrancyGuard update.
> >
> > V1 -> V2: Added the 'Fixes: CVE-2023-3019' tag
> >
> > Akihiko Odaki (2):
> >    net: Provide MemReentrancyGuard * to qemu_new_nic()
> >    net: Update MemReentrancyGuard for NIC
> >
> >   include/net/net.h             |  2 ++
> >   hw/net/allwinner-sun8i-emac.c |  3 ++-
> >   hw/net/allwinner_emac.c       |  3 ++-
> >   hw/net/cadence_gem.c          |  3 ++-
> >   hw/net/dp8393x.c              |  3 ++-
> >   hw/net/e1000.c                |  3 ++-
> >   hw/net/e1000e.c               |  2 +-
> >   hw/net/eepro100.c             |  4 +++-
> >   hw/net/etraxfs_eth.c          |  3 ++-
> >   hw/net/fsl_etsec/etsec.c      |  3 ++-
> >   hw/net/ftgmac100.c            |  3 ++-
> >   hw/net/i82596.c               |  2 +-
> >   hw/net/igb.c                  |  2 +-
> >   hw/net/imx_fec.c              |  2 +-
> >   hw/net/lan9118.c              |  3 ++-
> >   hw/net/mcf_fec.c              |  3 ++-
> >   hw/net/mipsnet.c              |  3 ++-
> >   hw/net/msf2-emac.c            |  3 ++-
> >   hw/net/mv88w8618_eth.c        |  3 ++-
> >   hw/net/ne2000-isa.c           |  3 ++-
> >   hw/net/ne2000-pci.c           |  3 ++-
> >   hw/net/npcm7xx_emc.c          |  3 ++-
> >   hw/net/opencores_eth.c        |  3 ++-
> >   hw/net/pcnet.c                |  3 ++-
> >   hw/net/rocker/rocker_fp.c     |  4 ++--
> >   hw/net/rtl8139.c              |  3 ++-
> >   hw/net/smc91c111.c            |  3 ++-
> >   hw/net/spapr_llan.c           |  3 ++-
> >   hw/net/stellaris_enet.c       |  3 ++-
> >   hw/net/sungem.c               |  2 +-
> >   hw/net/sunhme.c               |  3 ++-
> >   hw/net/tulip.c                |  3 ++-
> >   hw/net/virtio-net.c           |  6 ++++--
> >   hw/net/vmxnet3.c              |  2 +-
> >   hw/net/xen_nic.c              |  4 ++--
> >   hw/net/xgmac.c                |  3 ++-
> >   hw/net/xilinx_axienet.c       |  3 ++-
> >   hw/net/xilinx_ethlite.c       |  3 ++-
> >   hw/usb/dev-network.c          |  3 ++-
> >   net/net.c                     | 15 +++++++++++++++
> >   40 files changed, 90 insertions(+), 41 deletions(-)
> >
>
> Hi Jason,
>
> Can you review this series?

For some reason it falls through the cracks.

I've queued this for rc1.

Thanks

>
> Regards,
> Akihiko Odaki
>



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 05:58:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 05:58:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632127.986156 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2mRg-0000SN-EL; Tue, 14 Nov 2023 05:58:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632127.986156; Tue, 14 Nov 2023 05: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 1r2mRg-0000SG-Bc; Tue, 14 Nov 2023 05:58:44 +0000
Received: by outflank-mailman (input) for mailman id 632127;
 Tue, 14 Nov 2023 05:58: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=MKY2=G3=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1r2mRe-0000SA-2f
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 05:58:42 +0000
Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id da7a6f6b-82b2-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 06:58:39 +0100 (CET)
Received: from fmsmga008.fm.intel.com ([10.253.24.58])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 13 Nov 2023 21:58:36 -0800
Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82])
 by fmsmga008.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384;
 13 Nov 2023 21:58:36 -0800
Received: from fmsmsx611.amr.corp.intel.com (10.18.126.91) by
 fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34; Mon, 13 Nov 2023 21:58:36 -0800
Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by
 fmsmsx611.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34; Mon, 13 Nov 2023 21:58:35 -0800
Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) by
 fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34 via Frontend Transport; Mon, 13 Nov 2023 21:58:35 -0800
Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.169)
 by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.34; Mon, 13 Nov 2023 21:58:35 -0800
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by PH7PR11MB6676.namprd11.prod.outlook.com (2603:10b6:510:1ae::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Tue, 14 Nov
 2023 05:58:32 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::3d98:6afd:a4b2:49e3]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::3d98:6afd:a4b2:49e3%7]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 05: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: da7a6f6b-82b2-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1699941519; x=1731477519;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=P9rGz1PDhD2G2QNpTxzOiF7kPZ6vzZvmIboEtV5fAPY=;
  b=npLuNtITnV4Da4JB/c48fcu1M/XNW8E89+deNRsIyIUPrTebRugl/EiX
   UXuE57AudkzOKkNz3t/7EVVhYTrHJ+F9kL245pe5AzEXtMYyaRTVSXcr6
   gticO3mkX9eV5jh0EbyY8dz5fgwhiFn090Ay5vGT5/F6mXtRuzbboRRDc
   VyKpHRC2sAZq2pAM1pfL0mtBANQ+djsE0NyJpcE18F2gC3WIopqDPcMHJ
   W/so7Ps3Vu2iYjhldI+o2w10vW5pgHhkpWVxuU28dUamWcNGXOsh9dvmr
   6jvsWAGUKUfR7zkDXTMVHl8F22+tYZNJ1u50yhQUslpsLFw2pRVgRCbEA
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="394500839"
X-IronPort-AV: E=Sophos;i="6.03,301,1694761200"; 
   d="scan'208";a="394500839"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10893"; a="830482989"
X-IronPort-AV: E=Sophos;i="6.03,301,1694761200"; 
   d="scan'208";a="830482989"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QQ9+sqvegs0a8U3tXT0H2wz72q+elbU0Fp31Lqi+s3FQUSmZwjfWGSNMq60ssmq+0MgwC0sg38gJBvQerC3N12rYtewLgcej11GDpkg8uVwxjXq1Kh/wbPzE6o5xzlklm+PxoZGK81lsv5HiwBsoUzuynImerqgZ6qvhDUqFyfqU18cuAoEAYOuWd8NWPm+/hu/FxA5gsA72t3yqFGZ0DUT82bb8Q3r4k7VD17nyI+cJ9PqpNLzQxmdreB56RSI+Dv60PiV9iYQbF2d+s22BR8/CywmHFV5rvs1SZJaPi+U/yEgWn1Boc4xeeYIZ7JNvluzc0KQJedI5WsKlrAZFQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=P9rGz1PDhD2G2QNpTxzOiF7kPZ6vzZvmIboEtV5fAPY=;
 b=ml3xu00WhlKYLv4MEmPCFg+nYfGBDSilTtB9wCpCJdRhw8QKTCGyAgCJZgl41SqZq0hECqMUXVPcMyZ9zQ7GuzaRmZn6XHXbJ+IqV1/M/MJ2P1ROKN35wCz7Byekqdiy7SjwwFnIh4RgU7Hm4sGTo2/BiJc8nxKNssXN41fvd5yvDjFD4xUrd+4J/liNpGkRWK5pHKpAlCSSAph9Iyl3ihHqP+ItM+9t+wF/76V7BCsUFShaTzH7IWYRaWINwWuUINYH3xb8FWkGUwUXuMVpK3FuwS2S5YGjBYQYk1AHl9ILAeD8hZjfGm9OV82yf0CANB7ndC2AmgrOPyYTty2gTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: Borislav Petkov <bp@alien8.de>
CC: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "dave.hansen@linux.intel.com"
	<dave.hansen@linux.intel.com>, "x86@kernel.org" <x86@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>, "Lutomirski, Andy" <luto@kernel.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>, "Christopherson,, Sean"
	<seanjc@google.com>, "peterz@infradead.org" <peterz@infradead.org>, "Gross,
 Jurgen" <jgross@suse.com>, "Shankar, Ravi V" <ravi.v.shankar@intel.com>,
	"mhiramat@kernel.org" <mhiramat@kernel.org>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "jiangshanlai@gmail.com"
	<jiangshanlai@gmail.com>, "nik.borisov@suse.com" <nik.borisov@suse.com>
Subject: RE: [PATCH v12 01/37] x86/cpufeatures: Add the cpu feature bit for
 WRMSRNS
Thread-Topic: [PATCH v12 01/37] x86/cpufeatures: Add the cpu feature bit for
 WRMSRNS
Thread-Index: AQHZ9caG3VIRGozoEkidJJiXW1l1kbBwlOyAgAieqDCAAFBGgIAADvEQ
Date: Tue, 14 Nov 2023 05:58:32 +0000
Message-ID: <SA1PR11MB67340C23AF350C8CB4119090A8B2A@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-2-xin3.li@intel.com>
 <20231108123647.GBZUuA31zntox0W0gu@fat_crate.local>
 <SA1PR11MB673495967E44583FC36B5E39A8B2A@SA1PR11MB6734.namprd11.prod.outlook.com>
 <20231114050201.GAZVL/Sd/yLIdON9la@fat_crate.local>
In-Reply-To: <20231114050201.GAZVL/Sd/yLIdON9la@fat_crate.local>
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=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|PH7PR11MB6676:EE_
x-ms-office365-filtering-correlation-id: e3dca745-c4a4-49cc-f94f-08dbe4d6bb7a
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: myHYBNkoItwvVvYuz6gG/2fQ0l6uaBqiVaeqDGGlzZdvBYlBsgFU84FIy2E1Bdq9ToXrmiCLLKq7Aroqbq1rqX0Sp5lA2kjtp6wFXMGKijuMRecwDnSQDQrmDetXFd2SX0dgjjhoOX3bPyQ7Gv8od5INiz+MKDDlZ6u6Mbj+NZKVqLL71TYIezVmlcjtdGTe11hbYq8+/68Rg1UxmVoREuq4gF8HgR3rWyqPu0zwoVrTfELyUFrd4g4kuBFVn1imYmxLQpHqsMFUI8grYqv9fglPee58b24d2p9fQFPp4TUhE0Xpq1Byds00Ub59ublZNHhi1Vb7ywM/+WQyDEx2zRAEbDuh8VxejNvQY/0mWufY8GR5490rv07KdLCx+fE2SrWICarVjDQ2HIbOfrePrwF7AmT6854EF9tDLQG6hLNaZX7oj6v3e7ZlYVkKkmtuJbWDXNV1JuORRzrrlDbtvlby8uEZSY2pd7dEJmh9ibwgT8sasBOQ8Sjxi21lVXwfs5XDM/h/xM+Uu+zHqKlZZ4SKLAgmBq8v6T5Drrj5E/ec/6vSDtHd1kQBnYa8v2bpVQWj5AnTc+RXMo7MXYw3ExMPfmIUqdSKgRQhOBpY2jropDan3oUblMFKSR673uQc
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(366004)(396003)(376002)(230922051799003)(1800799009)(64100799003)(451199024)(186009)(8676002)(8936002)(55016003)(41300700001)(4744005)(5660300002)(7416002)(2906002)(316002)(52536014)(38070700009)(4326008)(33656002)(66446008)(66476007)(64756008)(54906003)(6916009)(66946007)(66556008)(86362001)(38100700002)(9686003)(7696005)(6506007)(71200400001)(76116006)(122000001)(82960400001)(26005)(478600001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?Z3VMMVY4WTAwcE8xTlhOd2VUbWl2enJWT1JRc1AwT3EzaWtIbzNVazFFMENy?=
 =?utf-8?B?NEhvc2Fnai9FVVZKNkExc0tOWndyUGVZSGUxdjAyR1M4OTU4Q2daYTU0aVFV?=
 =?utf-8?B?WDkxN2haRTJGUWgvbXppQ3dMV1VMaFlCMTdHeHJQODNFWGtmaTA3YTh1SnF3?=
 =?utf-8?B?YXhuaDRzV0NDZTIrbFJsa0h6RVhGaWxCRUx6L09KWUhsdXdGVXU4aHBadHQr?=
 =?utf-8?B?ZXBpNDNrTlZQN0hhWWJQWTk4OU1LcHhsUkZ4RnRhcUhidm9HWjZpYWU2eFV2?=
 =?utf-8?B?OFRWbkxFVlRRa0hEWGNrZWhJZE9GQ1pCYURmTjBNYXdFeU4wMUYvQVpaWWpq?=
 =?utf-8?B?cVZTZ2RHTG1hd3oxdEJDS3ZGVWkySGRSUWlqdmJHKzlGQnlrWXRhNy9sZGln?=
 =?utf-8?B?TmJGbDYrMkdqa0RjblhLNFVNMFNyU09XQ2p0V2J3SThNdXZsU1BMQXhhTnFN?=
 =?utf-8?B?Z3JKNU5McjRIRktpOTR2WFhYQ2ZRUXNUR3VUSEVZdDFCbTgyMVdacWduZElC?=
 =?utf-8?B?ZEFPOFFIam9vZDJzUlFCY1Ayd3JCRmVMd05jL0c0Nmwvc2RxOWYyc05mRTJX?=
 =?utf-8?B?VWlleDZCdmdPbFEyQWZpRmNvZlNtTkx6dGJGeTVodkg0dFFZU0ZTVjlJR1lC?=
 =?utf-8?B?dzg1YytHajdrQjBtOFhxeWJjVm01SDhIcy9EZHlGMkhJbjdHTnRwL3JPQmVR?=
 =?utf-8?B?S0d6aC9IMStVWXJxS3pXNDFnOGRGRHM5MU5WMjJvaGxSSjdkLzFKVXZJQW9i?=
 =?utf-8?B?N0R2U3U0Z2kwZUdqZEsxSnNuY1JqRzVLaTQyQjZTVWhGczk4djdMTkRWNUJC?=
 =?utf-8?B?dmFQbXh4alRkNkJyZnVoaDF0OWxUdENETnl2djVsU085Mk5qUVVnQjJuOThG?=
 =?utf-8?B?MS9aNkxvQ3pXVDhUUGkwTTVEbXR6MWlSTDNpaG1qdlhVUnZIWFRRZXlMQS8y?=
 =?utf-8?B?VzlQa0NJYkhOOEdhTlY1WmlQU1E5QWh1QlVKaFFPVWwyQkk3UjMwUGtKblpS?=
 =?utf-8?B?Nlp1R1oxcmVZeUNrejlZZTl3eXU0M2NjR09keWtQcWR1aEZlbkZ1VHNVRXhq?=
 =?utf-8?B?Z1Y5OVl4QVhDMmVRZkhqTWVuRHp1TUFPUitpb3Jxend3eE1zY0cyR05OTjF5?=
 =?utf-8?B?cHRmUUw5RTcwVzJoRHVYZDBTb2RQQk90bGNkd2lydE5jTElGNXdYZlhOZlJO?=
 =?utf-8?B?TXVBdExXVG45NHdESDlTRFVCS0IvckcxbVIwUG5qaDhCcTc1cDJKZk1VcDI1?=
 =?utf-8?B?SWV4TWJRa1JIWjNWUE82ZXh5ZWN4YWRIOW80bk5iSjVGTUU0Uk4xWnAvSVVW?=
 =?utf-8?B?QzNZc2xjRlYwL3FhZmMyUFVCUUxoNjBaTkFLQ2ZLcU5Oa0lvNHArY2RrQk9B?=
 =?utf-8?B?SW9ISUlHUG9pcjQrZmsyU0RqY1B3ZzZ2ajI4NzhYTk16bTR3OVF3WXJUQ3hE?=
 =?utf-8?B?UVdCWjQ4QmtjekVDK1V5Vm1XK1Q2ZWN3T1RuRW9ZdDNVd0daWmsvUDBtQkFT?=
 =?utf-8?B?dzUzLzJQUUU4RG4yMnBDWHR5OFhlTUtZM0N0bXFNc0xhS2Y1WW5UUGE4aGF2?=
 =?utf-8?B?L1VEQWlWNDRqME9zOHFEQ3FWSWlxU1B4aVhRRWw5ZjVyQUF5VnpYMkNRS3FZ?=
 =?utf-8?B?TEpCYXdEcGV3QjlIbUJjOU1IWnc0d2FpaGNSTzBNZ3lpU2tLc3c3K1NzeW5R?=
 =?utf-8?B?VlhGdTk2N2c2L2Q0TnVxNVJRM3lNUlNaUTRMalk5RGtmMHY0Z1RVRWVGTmVs?=
 =?utf-8?B?ZXNqazVWTWkrZGpVSW5VOXBLTmxMQlZiSlpFSyt5Y3NTak9DR2JwNmk2dnRG?=
 =?utf-8?B?Q1paMWpkYXZvU2lCL3JwSG1JSlNGMnNkYTYrd1ZWZ1pHUE1DSTBkRHhFSW1V?=
 =?utf-8?B?cjZDcXJydHdvUHJsRDNjSjk0UXRGdDNIVGdibzh6a2s5Y0RVd2VOWEZKbmN1?=
 =?utf-8?B?NmdReVdCRjNESFUxMEtRb1FUUjJFMm5mTjFPam9pSHFqZ25BWFBxbU4vV0Nr?=
 =?utf-8?B?R3h2dHE2eGFTeWZJcFZVS01FbWkvMnhwYmpsWDJhbTV3RXRsOElHb0JhZklk?=
 =?utf-8?B?OXpyUE0rUDB6OXh6K0FPMnYvekh5T1RmNmxLWlhOMHJwVXUxQlQyblJmbGNt?=
 =?utf-8?Q?gqOU=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e3dca745-c4a4-49cc-f94f-08dbe4d6bb7a
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2023 05:58:32.2039
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Rv84rYJZYZYUabTA7zFEUMZUiMqAajsSmZmry1Hx4rcDHfR4LIkyNWP7+E+JH9atOGV+FFpEQpGbDX4hzZHHtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6676
X-OriginatorOrg: intel.com

PiBhbmQgaWYgeW91IGhhZCB0byBiZSBwcmVjaXNlLCB0aGUgY29kZSBzaG91bGQgZG86DQo+IA0K
PiAJaWYgKGNwdV9mZWF0dXJlX2VuYWJsZWQoWDg2X0ZFQVRVUkVfRlJFRCkpIHsNCj4gCQlpZiAo
Y3B1X2ZlYXR1cmVfZW5hYmxlZChYODZfRkVBVFVSRV9XUk1TUk5TKSkNCj4gCQkJd3Jtc3JucyhN
U1JfSUEzMl9GUkVEX1JTUDAsICh1bnNpZ25lZA0KPiBsb25nKXRhc2tfc3RhY2tfcGFnZSh0YXNr
KSArIFRIUkVBRF9TSVpFKTsNCj4gCQllbHNlDQo+IAkJCXdybXNyKE1TUl9JQTMyX0ZSRURfUlNQ
MCwgKHVuc2lnbmVkDQo+IGxvbmcpdGFza19zdGFja19wYWdlKHRhc2spICsgVEhSRUFEX1NJWkUp
Ow0KPiAJfQ0KDQpUaGlzIGlzIGV4YWN0bHkgd2hhdCB0Z2x4IHdhbnRlZCB0byBhdm9pZC4NCg0K
QW5kIEkgbG92ZSB0aGUgaWRlYSAiYmFzZWxpbmUiLCBlc3BlY2lhbGx5IHdlIGhhdmUgYSB0b24g
b2YgQ1BVIGZlYXR1cmVzLg0KDQo+IA0KPiA+IEFub3RoZXIgcGF0Y2ggc2V0IHNob3VsZCByZXBs
YWNlIFdSTVNSIHdpdGggV1JNU1JOUywgd2l0aCBTRVJJQUxJWkUNCj4gPiBhZGRlZCB3aGVuIG5l
ZWRlZC4NCj4gDQo+IEkgc2Vuc2Ugc29tZW9uZSB3YW50cyB0byBvcHRpbWl6ZSBNU1Igd3JpdGVz
IC4uLiA6LSkNCg0KOi0pDQo=


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 06:21:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 06:21:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632131.986167 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2mnO-0005K4-7a; Tue, 14 Nov 2023 06:21:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632131.986167; Tue, 14 Nov 2023 06:21: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 1r2mnO-0005Jx-34; Tue, 14 Nov 2023 06:21:10 +0000
Received: by outflank-mailman (input) for mailman id 632131;
 Tue, 14 Nov 2023 06: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2mnM-0005Jr-KV
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 06:21: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 fcc72ee7-82b5-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 07:21:03 +0100 (CET)
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 6EE7C1F889;
 Tue, 14 Nov 2023 06:21: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 4AA8213460;
 Tue, 14 Nov 2023 06:21:03 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id oN+hEM8RU2UyOgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 06: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: fcc72ee7-82b5-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699942863; 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:autocrypt:autocrypt;
	bh=J+c5G0C03rmnegNz6hYPpWKiMhfaADGJT/j7cFg9zOo=;
	b=fDrBMEcRf+/+1uzZ+U+LcVXeBf8hb/7cMGbXRhDjTuJh9auKZAj89s2zw0becpjtUTTVdm
	0nTj1Zjlo1HrUCXtTtg9SjR7+JQeUTvldVOr2SwCO37WPooQPsiEwXVnyeyCxrwpnPHfYa
	9SBpOnJuExNlVb6kCVn51D+xa2+CsFQ=
Message-ID: <a2c050b2-a920-431c-9345-18070e73a9a8@suse.com>
Date: Tue, 14 Nov 2023 07:21:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 02/29] tools: add a new xen logging daemon
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-3-jgross@suse.com>
 <CAKf6xpvOOU04rsuHq=39vDF=i+HQ67ZdejrVxJUju4ud87pT5w@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpvOOU04rsuHq=39vDF=i+HQ67ZdejrVxJUju4ud87pT5w@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------tF2glWORHsatfVEq9dKtL3gU"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------tF2glWORHsatfVEq9dKtL3gU
Content-Type: multipart/mixed; boundary="------------SwsEsY646L7s8AD0TM6eFf0L";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <a2c050b2-a920-431c-9345-18070e73a9a8@suse.com>
Subject: Re: [PATCH v2 02/29] tools: add a new xen logging daemon
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-3-jgross@suse.com>
 <CAKf6xpvOOU04rsuHq=39vDF=i+HQ67ZdejrVxJUju4ud87pT5w@mail.gmail.com>
In-Reply-To: <CAKf6xpvOOU04rsuHq=39vDF=i+HQ67ZdejrVxJUju4ud87pT5w@mail.gmail.com>

--------------SwsEsY646L7s8AD0TM6eFf0L
Content-Type: multipart/mixed; boundary="------------0HHYAWhVuj87BYeEgC3unkGq"

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

T24gMTMuMTEuMjMgMTg6MzYsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIEZyaSwgTm92
IDEwLCAyMDIzIGF0IDExOjA44oCvQU0gSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29t
PiB3cm90ZToNCj4+DQo+PiBBZGQgInhlbi05cGZzZCIsIGEgbmV3IGxvZ2dpbmcgZGFlbW9u
IG1lYW50IHRvIHN1cHBvcnQgaW5mcmFzdHJ1Y3R1cmUNCj4+IGRvbWFpbnMgKGUuZy4geGVu
c3RvcmUtc3R1YmRvbSkgdG8gYWNjZXNzIGZpbGVzIGluIGRvbTAuDQo+Pg0KPj4gRm9yIG5v
dyBvbmx5IGFkZCB0aGUgY29kZSBuZWVkZWQgZm9yIHN0YXJ0aW5nIHRoZSBkYWVtb24gYW5k
DQo+PiByZWdpc3RlcmluZyBpdCB3aXRoIFhlbnN0b3JlIHZpYSBhIG5ldyAibGlieGwveGVu
LTlwZnMvc3RhdGUiIG5vZGUgYnkNCj4+IHdyaXRpbmcgdGhlICJydW5uaW5nIiBzdGF0ZSB0
byBpdC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3Vz
ZS5jb20+DQo+PiAtLS0NCj4gDQo+PiAtLS0gL2Rldi9udWxsDQo+PiArKysgYi90b29scy94
ZW4tOXBmc2QveGVuLTlwZnNkLmMNCj4+IEBAIC0wLDAgKzEsMTQ1IEBADQo+IA0KPj4gKyAq
IFRoZSBiYWNrZW5kIGRldmljZSBzdHJpbmcgaXMgInhlbl85cGZzIiwgdGhlIHRhZyB1c2Vk
IGZvciBtb3VudGluZyB0aGUNCj4+ICsgKiA5cGZzIGRldmljZSBpcyAiWGVuIi4NCj4gDQo+
ICdfJyBpcyBtdWNoIGxlc3MgY29tbW9uIGluIHhlbnN0b3JlIG5vZGUgbmFtZXMgdGhhbiAn
LScuICBJcyB0aGVyZSBhDQo+IHBhcnRpY3VsYXIgcmVhc29uIHlvdSBjaG9zZSAnXyc/ICBJ
IGdlbmVyYWxseSBwcmVmZXIgJy0nLCBidXQgSUlSQyB0aGUNCj4gbGlieGwgaWRsIGNhbid0
IGhhbmRsZSAnLScuICBEaWQgeW91IGhpdCB0aGF0Pw0KDQpZZXMuDQoNCj4gDQo+IFJldmll
d2VkLWJ5OiBKYXNvbiBBbmRyeXVrIDxqYW5kcnl1a0BnbWFpbC5jb20+DQoNClRoYW5rcywN
Cg0KSnVlcmdlbg0K
--------------0HHYAWhVuj87BYeEgC3unkGq
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-----

--------------0HHYAWhVuj87BYeEgC3unkGq--

--------------SwsEsY646L7s8AD0TM6eFf0L--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTEc8FAwAAAAAACgkQsN6d1ii/Ey9W
fAf/RKgzRhQXrZFA16JOSyigPdNlE7fRdCjVTua818xyOoti/GDMruWDWiYigYeMN+wSkc9C+Soo
K3l1Tuz5sXX01ZohNlGMjlnV6i0XZ0TEt9gSeYQ8Uh4xzmfdFCgEiMab896/szsWauIrzlBSdUDX
ajcGddw3kZHb6qyBIH8vqIICRUFOE/XPk9tB/LTMXdC24M1txU0x18tb7BmiqCsE6tiURZGeCKYM
JP3fpHJuRnUOao+05Gf5xZ4JQ+Yyev+HA2FHVo2AF0QyY1G8qcOJlsNLn7sOjpHIm4fVBgm4Y193
yHCZViBQ5n4amREJrjZ5Oj54vf/oP5ey6HSjyNIaPA==
=q3py
-----END PGP SIGNATURE-----

--------------tF2glWORHsatfVEq9dKtL3gU--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 06:21:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 06:21:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632132.986176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2mnh-0005fw-HJ; Tue, 14 Nov 2023 06:21:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632132.986176; Tue, 14 Nov 2023 06:21: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 1r2mnh-0005fk-EV; Tue, 14 Nov 2023 06:21:29 +0000
Received: by outflank-mailman (input) for mailman id 632132;
 Tue, 14 Nov 2023 06:21: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2mng-0005Jr-EN
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 06:21:28 +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 0b17d0b8-82b6-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 07:21:27 +0100 (CET)
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 9A6F12189E;
 Tue, 14 Nov 2023 06:21: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 7033F13460;
 Tue, 14 Nov 2023 06:21:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4IO+GecRU2UyOgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 06:21: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: 0b17d0b8-82b6-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699942887; 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:autocrypt:autocrypt;
	bh=ypDq9fZGWbkE0Ci9KFLoYUJiD0aPmo25D04zPM/H5zA=;
	b=P3yDTG6l2l6yOeo7a/UW7Vt8FtBqJcskUHrSKgOLvWbY7I+2LVpTgc389xn6ziqh+dh8YQ
	Az5ll5EAEvpWAZ8udoqMh4+s53yGd0x39V65oMEfBGpjosI6HP2BI+t269AJ2R51Qx2XDv
	TL0Kt9leqoU9Fx6ThQCSaKyLRizOQe0=
Message-ID: <4f13d41d-29c9-4119-b642-e47b39e28422@suse.com>
Date: Tue, 14 Nov 2023 07:21:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 22/29] tools/xenstored: get own domid in stubdom case
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-23-jgross@suse.com>
 <7799347c-c78c-4d5e-a908-b78c026b6b17@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <7799347c-c78c-4d5e-a908-b78c026b6b17@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------DEVJCAv0WWZgZTTiKU7htVBv"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------DEVJCAv0WWZgZTTiKU7htVBv
Content-Type: multipart/mixed; boundary="------------v2i7cB2fEozhoVr0AIXKyzTb";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <4f13d41d-29c9-4119-b642-e47b39e28422@suse.com>
Subject: Re: [PATCH v2 22/29] tools/xenstored: get own domid in stubdom case
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-23-jgross@suse.com>
 <7799347c-c78c-4d5e-a908-b78c026b6b17@xen.org>
In-Reply-To: <7799347c-c78c-4d5e-a908-b78c026b6b17@xen.org>

--------------v2i7cB2fEozhoVr0AIXKyzTb
Content-Type: multipart/mixed; boundary="------------hf6tE8mldiekIO89w5Eg0HYR"

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

T24gMTMuMTEuMjMgMjI6NTksIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEwLzExLzIwMjMgMTY6MDcsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
YnRhaW4gdGhlIG93biBkb21pZCBmcm9tIHRoZSBYZW5zdG9yZSBzcGVjaWFsIGdyYW50IGVu
dHJ5IHdoZW4gcnVubmluZw0KPj4gYXMgc3R1YmRvbS4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5
OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+PiAtLS0NCj4+IFYyOg0KPj4g
LSByZXBsYWNlbWVudCBvZiBWMSBwYXRjaCAoQU5kcmV3IENvb3BlcikNCj4+IC0tLQ0KPj4g
wqAgdG9vbHMveGVuc3RvcmVkL2NvcmUuY8KgwqAgfCAxICsNCj4+IMKgIHRvb2xzL3hlbnN0
b3JlZC9jb3JlLmjCoMKgIHwgMSArDQo+PiDCoCB0b29scy94ZW5zdG9yZWQvbWluaW9zLmMg
fCA1ICsrKysrDQo+PiDCoCAzIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQ0KPj4N
Cj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZWQvY29yZS5jIGIvdG9vbHMveGVuc3Rv
cmVkL2NvcmUuYw0KPj4gaW5kZXggMGMxNDgyM2ZiMC4uOGUyNzFlMzFmOSAxMDA2NDQNCj4+
IC0tLSBhL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMNCj4+ICsrKyBiL3Rvb2xzL3hlbnN0b3Jl
ZC9jb3JlLmMNCj4+IEBAIC0yNzM4LDYgKzI3MzgsNyBAQCBzdGF0aWMgc3RydWN0IG9wdGlv
biBvcHRpb25zW10gPSB7DQo+PiDCoCBpbnQgZG9tMF9kb21pZCA9IDA7DQo+PiDCoCBpbnQg
ZG9tMF9ldmVudCA9IDA7DQo+PiDCoCBpbnQgcHJpdl9kb21pZCA9IDA7DQo+PiAraW50IHN0
dWJfZG9taWQgPSAtMTsNCj4gDQo+IEFmdGVyIGxvb2tpbmcgYXQgcGFydGNoICMyNSwgSSBm
ZWVsIHRoYXQgaXQgd291bGQgbWFrZSBtb3JlIHNlbnNlIGlmIHN0dWJfZG9taWQgDQo+IGlz
IGEgZG9taWRfdCBhbmQgaW5pdGlhbGl6ZWQgdG8gRE9NSURfSU5WQUxJRC4NCj4gDQo+IEF0
IGxlYXN0IHRoaXMgbWFrZXMgY2xlYXJlciB0aGF0IGluaXRpYWwgdmFsdWUgaXMgbm90IHN1
cHBvcnRlZCB0byBiZSBhIHZhbGlkIA0KPiBkb21pZC4NCg0KWWVzLCB5b3UgYXJlIHJpZ2h0
Lg0KDQoNCkp1ZXJnZW4NCg0K
--------------hf6tE8mldiekIO89w5Eg0HYR
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-----

--------------hf6tE8mldiekIO89w5Eg0HYR--

--------------v2i7cB2fEozhoVr0AIXKyzTb--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTEecFAwAAAAAACgkQsN6d1ii/Ey9j
yAf/ZoyiT/ZTLMitxcUvAyfIuI/kW5tjuO5pE/xn6kTNrDCecND5CV/NyvuD49wp9oL2cIOhfIG/
tMFHeqfpPIqCeL2RQ2PQfPE7WaCaQybSsDKe2Sdy1gEzeDjchrF+zM8dLyTmMW1gVFu0SjFZ3e9s
zZID38iR+XNdpkZTXMRMjUn01Q6WQ6TvzJeUFbpTPfNHqzPdlVQj7uyyzu2hShIs24UjXFh+FyWP
SZgHeRC1xUS43mWgkXBFdRaKcaOcyHm82Fmn+UEXvkYO6dm+eTh0OLANBDBwP9LQdowLlqzijbjp
iOWUAj4uhq2NZ+d/vpdlmghrjGuNlyzavmIeVdUrjA==
=kvth
-----END PGP SIGNATURE-----

--------------DEVJCAv0WWZgZTTiKU7htVBv--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 06:34:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 06:34:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632137.986185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2mzk-0008MQ-JY; Tue, 14 Nov 2023 06:33:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632137.986185; Tue, 14 Nov 2023 06:33: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 1r2mzk-0008MJ-Gt; Tue, 14 Nov 2023 06:33:56 +0000
Received: by outflank-mailman (input) for mailman id 632137;
 Tue, 14 Nov 2023 06:33: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2mzj-0008MD-R0
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 06:33:55 +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 c7b9eb78-82b7-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 07:33:53 +0100 (CET)
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 2B7521F86A;
 Tue, 14 Nov 2023 06:33: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 E18AE13460;
 Tue, 14 Nov 2023 06:33:52 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id C2X0M9AUU2X0PgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 06:33: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: c7b9eb78-82b7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699943633; 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:autocrypt:autocrypt;
	bh=k6QTjfUFTpoT978p6PzP6vOdCl6WBd/iPQvFHBIevDc=;
	b=YxOzzuGoS8HM5yNJiPkxgZFlYKrbwaclgr+zd4aeyWFlmJM82PHeztk+C5+lAZLdv9984x
	y5rItFX4LxDAMNF7lB/sly6MA5l1dGckH4aLU2dztZiOTtBt+2ykGOXMHxh3gmTHDA68tz
	8AJvGUrtc9LUzy3TflAhRYeEL5QoHpc=
Message-ID: <3aacfaf1-5331-4e9c-99b3-b9c84af0de28@suse.com>
Date: Tue, 14 Nov 2023 07:33:51 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 25/29] tools/xenstored: map stubdom interface
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-26-jgross@suse.com>
 <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------imFyG014sEQHQqTqd0ATM29f"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------imFyG014sEQHQqTqd0ATM29f
Content-Type: multipart/mixed; boundary="------------okXNYjy4eT60YzntXzNtE0Bx";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <3aacfaf1-5331-4e9c-99b3-b9c84af0de28@suse.com>
Subject: Re: [PATCH v2 25/29] tools/xenstored: map stubdom interface
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-26-jgross@suse.com>
 <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
In-Reply-To: <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>

--------------okXNYjy4eT60YzntXzNtE0Bx
Content-Type: multipart/mixed; boundary="------------QnbmOHVJdxvVsR6zuzwVNudH"

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

T24gMTMuMTEuMjMgMjM6MDQsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEwLzExLzIwMjMgMTY6MDgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBX
aGVuIHJ1bm5pbmcgYXMgc3R1YmRvbSwgbWFwIHRoZSBzdHViZG9tJ3MgWGVuc3RvcmUgcmlu
ZyBwYWdlIGluIG9yZGVyDQo+PiB0byBzdXBwb3J0IHVzaW5nIHRoZSA5cGZzIGZyb250ZW5k
Lg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNv
bT4NCj4+IC0tLQ0KPj4gwqAgdG9vbHMveGVuc3RvcmVkL2NvcmUuY8KgwqAgfMKgIDIgKysN
Cj4+IMKgIHRvb2xzL3hlbnN0b3JlZC9kb21haW4uYyB8IDI3ICsrKysrKysrKysrKysrKysr
KysrKysrKysrLQ0KPj4gwqAgdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5oIHzCoCAxICsNCj4+
IMKgIDMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0K
Pj4NCj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZWQvY29yZS5jIGIvdG9vbHMveGVu
c3RvcmVkL2NvcmUuYw0KPj4gaW5kZXggYjllYzUwYjM0Yy4uNGE5ZDg3NGYxNyAxMDA2NDQN
Cj4+IC0tLSBhL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMNCj4+ICsrKyBiL3Rvb2xzL3hlbnN0
b3JlZC9jb3JlLmMNCj4+IEBAIC0yOTkxLDYgKzI5OTEsOCBAQCBpbnQgbWFpbihpbnQgYXJn
YywgY2hhciAqYXJndltdKQ0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGx1X3JlYWRfc3RhdGUo
KTsNCj4+IMKgICNlbmRpZg0KPj4gK8KgwqDCoCBzdHViZG9tX2luaXQoKTsNCj4+ICsNCj4+
IMKgwqDCoMKgwqAgY2hlY2tfc3RvcmUoKTsNCj4+IMKgwqDCoMKgwqAgLyogR2V0IHJlYWR5
IHRvIGxpc3RlbiB0byB0aGUgdG9vbHMuICovDQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVu
c3RvcmVkL2RvbWFpbi5jIGIvdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5jDQo+PiBpbmRleCBm
YTE3ZjY4NjE4Li4xNjJiODdiNDYwIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMveGVuc3RvcmVk
L2RvbWFpbi5jDQo+PiArKysgYi90b29scy94ZW5zdG9yZWQvZG9tYWluLmMNCj4+IEBAIC0z
Nyw2ICszNywxMCBAQA0KPj4gwqAgI2luY2x1ZGUgPHhlbmN0cmwuaD4NCj4+IMKgICNpbmNs
dWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4NCj4+ICsjaWZkZWYgX19NSU5JT1NfXw0KPj4gKyNp
bmNsdWRlIDxtaW5pLW9zL3hlbmJ1cy5oPg0KPj4gKyNlbmRpZg0KPj4gKw0KPj4gwqAgc3Rh
dGljIHhjX2ludGVyZmFjZSAqKnhjX2hhbmRsZTsNCj4+IMKgIHhlbmdudHRhYl9oYW5kbGUg
Kip4Z3RfaGFuZGxlOw0KPj4gwqAgc3RhdGljIGV2dGNobl9wb3J0X3QgdmlycV9wb3J0Ow0K
Pj4gQEAgLTUwMCw2ICs1MDQsMTEgQEAgc3RhdGljIHZvaWQgKm1hcF9pbnRlcmZhY2UoZG9t
aWRfdCBkb21pZCkNCj4+IMKgwqDCoMKgwqAgaWYgKGRvbWlkID09IHhlbmJ1c19tYXN0ZXJf
ZG9taWQoKSkNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4geGVuYnVzX21hcCgpOw0K
Pj4gKyNpZmRlZiBfX01JTklPU19fDQo+PiArwqDCoMKgIGlmIChkb21pZCA9PSBzdHViX2Rv
bWlkKQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybiB4ZW5zdG9yZV9idWY7DQo+PiArI2Vu
ZGlmDQo+PiArDQo+PiDCoMKgwqDCoMKgIHJldHVybiB4ZW5nbnR0YWJfbWFwX2dyYW50X3Jl
ZigqeGd0X2hhbmRsZSwgZG9taWQsDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgR05UVEFCX1JFU0VSVkVEX1hFTlNUT1JFLA0KPj4gwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFBST1RfUkVB
RHxQUk9UX1dSSVRFKTsNCj4+IEBAIC01MDksNyArNTE4LDcgQEAgc3RhdGljIHZvaWQgdW5t
YXBfaW50ZXJmYWNlKGRvbWlkX3QgZG9taWQsIHZvaWQgKmludGVyZmFjZSkNCj4+IMKgIHsN
Cj4+IMKgwqDCoMKgwqAgaWYgKGRvbWlkID09IHhlbmJ1c19tYXN0ZXJfZG9taWQoKSkNCj4+
IMKgwqDCoMKgwqDCoMKgwqDCoCB1bm1hcF94ZW5idXMoaW50ZXJmYWNlKTsNCj4+IC3CoMKg
wqAgZWxzZQ0KPj4gK8KgwqDCoCBlbHNlIGlmIChkb21pZCAhPSBzdHViX2RvbWlkKQ0KPj4g
wqDCoMKgwqDCoMKgwqDCoMKgIHhlbmdudHRhYl91bm1hcCgqeGd0X2hhbmRsZSwgaW50ZXJm
YWNlLCAxKTsNCj4+IMKgIH0NCj4+IEBAIC0xMjE0LDYgKzEyMjMsMjIgQEAgdm9pZCBkb20w
X2luaXQodm9pZCkNCj4+IMKgwqDCoMKgwqAgeGVuZXZ0Y2huX25vdGlmeSh4Y2VfaGFuZGxl
LCBkb20wLT5wb3J0KTsNCj4+IMKgIH0NCj4+ICt2b2lkIHN0dWJkb21faW5pdCh2b2lkKQ0K
Pj4gK3sNCj4+ICsjaWZkZWYgX19NSU5JT1NfXw0KPj4gK8KgwqDCoCBzdHJ1Y3QgZG9tYWlu
ICpzdHViZG9tOw0KPj4gKw0KPj4gK8KgwqDCoCBpZiAoc3R1Yl9kb21pZCA8IDApDQo+PiAr
wqDCoMKgwqDCoMKgwqAgcmV0dXJuOw0KPj4gKw0KPj4gK8KgwqDCoCBzdHViZG9tID0gaW50
cm9kdWNlX2RvbWFpbihOVUxMLCBzdHViX2RvbWlkLCB4ZW5idXNfZXZ0Y2huLCBmYWxzZSk7
DQo+PiArwqDCoMKgIGlmICghc3R1YmRvbSkNCj4+ICvCoMKgwqDCoMKgwqDCoCBiYXJmX3Bl
cnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgc3R1YmRvbSIpOw0KPj4gKw0KPj4gK8KgwqDC
oCB4ZW5ldnRjaG5fbm90aWZ5KHhjZV9oYW5kbGUsIHN0dWJkb20tPnBvcnQpOw0KPiANCj4g
SWYgSSBjb21wYXJlIHRvIGludHJvZHVjZV9kb21haW4oKSwgaXQgaXMgbm90IGVudGlyZWx5
IGNsZWFyIHRvIG1lIHdoeSB0aGUgDQo+IG5vdGlmaWNhdGlvbiBpcyBkb25lIHVuY29uZGl0
aW9uYWxseSBoZXJlLiBDYW4geW91IGNsYXJpZnk/DQoNClRoZXJlIGlzIG5vIHJlYXNvbiB0
byBkbyBpdCBjb25kaXRpb25hbGx5LCBhcyB3ZSBjYW4gYmUgc3VyZSB0aGUgZXZlbnQgY2hh
bm5lbA0KaXMgZXhpc3RpbmcgYW5kIHRoZSByaW5nIHBhZ2UgaXMgYWNjZXNzaWJsZS4NCg0K
DQpKdWVyZ2VuDQo=
--------------QnbmOHVJdxvVsR6zuzwVNudH
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-----

--------------QnbmOHVJdxvVsR6zuzwVNudH--

--------------okXNYjy4eT60YzntXzNtE0Bx--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTFNAFAwAAAAAACgkQsN6d1ii/Ey+n
Qwf/Se/FuYow9WDqOxZZ1KrpFLmXvkrqoVT2yz7jvwXfRlBEuRYKyRt04febiq52a/mJCMrRVWOQ
UhZ5B0z3T5CWO5YLRDpEVfgwYjtbmZrIQu74UDx7uuVzkYDVqPkZUzGPWCshyPetBPTO6ftpFUOB
wM1Pdb3x1LsVyxsn5pEW+yl84GCmQRsJKRLVTQRDXNvPvqDBqOaMTui0Xh+kV28ag7kUksbZ0+22
4Ui4sJTLjSWkOR23Bsyj+rb6YnN5xi9hmVrcQFpytzevJGMszbW9ChE/m+YSqrWLE3yV5awSur1o
vGk6D6QIQUfCe8f0f4auwHHKVeRQduBFbZeVPEX6aw==
=fwXj
-----END PGP SIGNATURE-----

--------------imFyG014sEQHQqTqd0ATM29f--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 06:40:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 06:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632140.986195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2n6M-0002Mp-9c; Tue, 14 Nov 2023 06:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632140.986195; Tue, 14 Nov 2023 06:40: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 1r2n6M-0002Mi-6s; Tue, 14 Nov 2023 06:40:46 +0000
Received: by outflank-mailman (input) for mailman id 632140;
 Tue, 14 Nov 2023 06: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2n6K-0002Mc-LL
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 06:40: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 bb77d188-82b8-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 07:40:42 +0100 (CET)
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 26A2721898;
 Tue, 14 Nov 2023 06:40: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 E01E713460;
 Tue, 14 Nov 2023 06:40:41 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id lbY1NWkWU2VvQQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 06:40: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: bb77d188-82b8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699944042; 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:autocrypt:autocrypt;
	bh=D8jRoswp2vmvxsJbaIAl+n4BVon6JeW229xi/fhaL8Q=;
	b=LLNhMYqUnKNP6fbx0JmizSY9DqYTVI6JxhPxprMHYKfj5HJaPJxM1wh5KbIRkRi3jTPY7p
	sEMFsWu04kqR8tUu/xBMH7xWcA4aOYHgVDwoslYqAiu4wsT7Dn2RlWSmjZtyBxmuARPuUw
	yia8UW+b9nx2jAztijbWU/gFCIYlLuw=
Message-ID: <fe1e5b10-a9cb-4347-b148-8e5e0d290428@suse.com>
Date: Tue, 14 Nov 2023 07:40:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 26/29] tools/xenstored: mount 9pfs device in stubdom
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-27-jgross@suse.com>
 <e637cc9f-246e-4834-b255-b4cdeb40178f@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <e637cc9f-246e-4834-b255-b4cdeb40178f@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3G0YkaVbmu0lA531zyR2H9iG"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3G0YkaVbmu0lA531zyR2H9iG
Content-Type: multipart/mixed; boundary="------------OaDQuhlp02L2iaippGvjFUIx";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Message-ID: <fe1e5b10-a9cb-4347-b148-8e5e0d290428@suse.com>
Subject: Re: [PATCH v2 26/29] tools/xenstored: mount 9pfs device in stubdom
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-27-jgross@suse.com>
 <e637cc9f-246e-4834-b255-b4cdeb40178f@xen.org>
In-Reply-To: <e637cc9f-246e-4834-b255-b4cdeb40178f@xen.org>

--------------OaDQuhlp02L2iaippGvjFUIx
Content-Type: multipart/mixed; boundary="------------0GLT4DZcFHh2WOsvVq3pL0iZ"

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

T24gMTMuMTEuMjMgMjM6MDksIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEwLzExLzIwMjMgMTY6MDgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBk
aWZmIC0tZ2l0IGEvdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5jIGIvdG9vbHMveGVuc3RvcmVk
L2RvbWFpbi5jDQo+PiBpbmRleCAxNjJiODdiNDYwLi40MjYzYzEzNjBmIDEwMDY0NA0KPj4g
LS0tIGEvdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5jDQo+PiArKysgYi90b29scy94ZW5zdG9y
ZWQvZG9tYWluLmMNCj4+IEBAIC0xMjM2LDYgKzEyMzYsOCBAQCB2b2lkIHN0dWJkb21faW5p
dCh2b2lkKQ0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGJhcmZfcGVycm9yKCJGYWlsZWQgdG8g
aW5pdGlhbGl6ZSBzdHViZG9tIik7DQo+PiDCoMKgwqDCoMKgIHhlbmV2dGNobl9ub3RpZnko
eGNlX2hhbmRsZSwgc3R1YmRvbS0+cG9ydCk7DQo+PiArDQo+PiArwqDCoMKgIG1vdW50Xzlw
ZnMoKTsNCj4+IMKgICNlbmRpZg0KPj4gwqAgfQ0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hl
bnN0b3JlZC9taW5pb3MuYyBiL3Rvb2xzL3hlbnN0b3JlZC9taW5pb3MuYw0KPj4gaW5kZXgg
MjAyZDcwMzg3YS4uZmRkYmVkZTg2OSAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL3hlbnN0b3Jl
ZC9taW5pb3MuYw0KPj4gKysrIGIvdG9vbHMveGVuc3RvcmVkL21pbmlvcy5jDQo+PiBAQCAt
MTksOCArMTksMTYgQEANCj4+IMKgICNpbmNsdWRlIDxzeXMvbW1hbi5oPg0KPj4gwqAgI2lu
Y2x1ZGUgImNvcmUuaCINCj4+IMKgICNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4NCj4+
ICsjaW5jbHVkZSA8bWluaS1vcy85cGZyb250Lmg+DQo+PiDCoCAjaW5jbHVkZSA8bWluaS1v
cy9ldmVudHMuaD4NCj4+IMKgICNpbmNsdWRlIDxtaW5pLW9zL2dudHRhYi5oPg0KPj4gKyNp
bmNsdWRlIDxtaW5pLW9zL3NjaGVkLmg+DQo+PiArI2luY2x1ZGUgPG1pbmktb3MveGVuYnVz
Lmg+DQo+PiArI2luY2x1ZGUgPG1pbmktb3MveG1hbGxvYy5oPg0KPj4gKw0KPj4gKyNkZWZp
bmUgUDlfU1RBVEVfUEFUSMKgwqDCoCAiZGV2aWNlLzlwZnMvMC9zdGF0ZSINCj4+ICsNCj4+
ICtzdGF0aWMgdm9pZCAqcDlfZGV2aWNlOw0KPj4gwqAgdm9pZCB3cml0ZV9waWRmaWxlKGNv
bnN0IGNoYXIgKnBpZGZpbGUpDQo+PiDCoCB7DQo+PiBAQCAtNjIsMyArNzAsMzEgQEAgdm9p
ZCBlYXJseV9pbml0KHZvaWQpDQo+PiDCoMKgwqDCoMKgIGlmIChzdHViX2RvbWlkID09IERP
TUlEX0lOVkFMSUQpDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgYmFyZigiY291bGQgbm90IGdl
dCBvd24gZG9taWQiKTsNCj4+IMKgIH0NCj4+ICsNCj4+ICtzdGF0aWMgdm9pZCBtb3VudF90
aHJlYWQodm9pZCAqcCkNCj4+ICt7DQo+PiArwqDCoMKgIHhlbmJ1c19ldmVudF9xdWV1ZSBl
dmVudHMgPSBOVUxMOw0KPj4gK8KgwqDCoCBjaGFyICplcnI7DQo+PiArwqDCoMKgIGNoYXIg
KmR1bW15Ow0KPj4gKw0KPj4gK8KgwqDCoCBmcmVlKHhlbmJ1c193YXRjaF9wYXRoX3Rva2Vu
KFhCVF9OSUwsIFA5X1NUQVRFX1BBVEgsICI5cGZzIiwgJmV2ZW50cykpOw0KPiANCj4gQUZB
SUNULCB4ZW5idXNfd2F0Y2hfcGF0aF90b2tlbigpIGNhbiBmYWlsLiBJIGFncmVlIHRoaXMg
aXMgdW5saWtlbHksIGJ1dCBpZiBpdCANCj4gZmFpbHMsIHRoZW4gaXQgd291bGQgYmUgdXNl
ZnVsIHRvIGdldCBzb21lIGxvZ3MuIE90aGVyd2lzZS4uLg0KPiANCj4+ICsNCj4+ICvCoMKg
wqAgZm9yICg7Oykgew0KPiANCj4gLi4uIHRoaXMgbG9vcCB3b3VsZCBiZSBpbmZpbml0ZS4N
Cg0KT2theSwgd2lsbCBhZGQgbG9nZ2luZy4NCg0KPiANCj4+ICvCoMKgwqDCoMKgwqDCoCB4
ZW5idXNfd2FpdF9mb3Jfd2F0Y2goJmV2ZW50cyk7DQo+PiArwqDCoMKgwqDCoMKgwqAgZXJy
ID0geGVuYnVzX3JlYWQoWEJUX05JTCwgUDlfU1RBVEVfUEFUSCwgJmR1bW15KTsNCj4gDQo+
IENhbiB5b3UgZXhwbGFpbiB3aHkgZG9uJ3QgY2FyZSBhYm91dCB0aGUgdmFsdWUgb2YgdGhl
IG5vZGU/DQoNCkkgb25seSBjYXJlIGFib3V0IHRoZSBwcmVzZW5jZSBvZiB0aGUgInN0YXRl
IiBub2RlLiBBbGwgcmVhbCBzdGF0ZSBjaGFuZ2VzDQp3aWxsIGJlIGhhbmRsZWQgaW4gaW5p
dF85cGZyb250KCkuDQoNCj4gDQo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKCFlcnIpDQo+PiAr
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBicmVhazsNCj4+ICvCoMKgwqDCoMKgwqDCoCBmcmVl
KGVycik7DQo+PiArwqDCoMKgIH0NCj4+ICsNCj4+ICvCoMKgwqAgZnJlZShkdW1teSk7DQo+
PiArDQo+PiArwqDCoMKgIGZyZWUoeGVuYnVzX3Vud2F0Y2hfcGF0aF90b2tlbihYQlRfTklM
LCBQOV9TVEFURV9QQVRILCAiOXBmcyIpKTsNCj4gDQo+IHhlbmJ1c191bndhdGNoX3BhdGhf
dG9rZW4oKSBjb3VsZCB0ZWNobmljYWxseSBmYWlscy4gSXQgd291bGQgYmUgaGVscGZ1bCB0
byANCj4gcHJpbnQgYSBtZXNzYWdlLg0KDQpJIGNhbiBhZGQgdGhhdCwgYnV0IGRvIHdlIHJl
YWxseSBjYXJlPyBUaGlzIGlzIGEgY29tbW9uIHBhdHRlcm4gaW4gTWluaS1PUy4NCg0KDQpK
dWVyZ2VuDQo=
--------------0GLT4DZcFHh2WOsvVq3pL0iZ
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-----

--------------0GLT4DZcFHh2WOsvVq3pL0iZ--

--------------OaDQuhlp02L2iaippGvjFUIx--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTFmkFAwAAAAAACgkQsN6d1ii/Ey+H
swf/dt0zqOk/OLdrupuBhhTxDNO0G23uDFmPwoeuUOgwAqe8CxgGlWFnDPMRxtM7wD3AvsNlME5R
rYjHP9S3Aesaj3NaO8nRwKfHOl1OVSTYMsSGo+EpIUD94nP5pqls6L4fmaPLGMMsGB9gG6X4EnCu
gI2DPpAzSuUWR0x7k7GB5JlhqjRvc8rSwT8GDC4SfCdzdujGqpNsYmPOa605q9kXvz1UOqDN2ihI
EP02jo9aIkdKlE9MeSJk7xmhYLhRSO/0YCt3eqTAdNeUtREeNl+tcUeP8eyKsfrzlSDd5zjvJoRD
WWLsti9DV5sv3Szl5pQxwQexaUAzw3ofROMBB8JmrA==
=BUe+
-----END PGP SIGNATURE-----

--------------3G0YkaVbmu0lA531zyR2H9iG--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 06:45:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 06:45:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632144.986206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2nAn-00032K-0o; Tue, 14 Nov 2023 06:45:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632144.986206; Tue, 14 Nov 2023 06:45: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 1r2nAm-00032D-Tm; Tue, 14 Nov 2023 06:45:20 +0000
Received: by outflank-mailman (input) for mailman id 632144;
 Tue, 14 Nov 2023 06:45: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2nAk-000327-UD
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 06:45:19 +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 5ef22c8d-82b9-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 07:45:17 +0100 (CET)
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 BB15D2189A;
 Tue, 14 Nov 2023 06:45:16 +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 83EB413460;
 Tue, 14 Nov 2023 06:45:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id /nuiHnwXU2VCQwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 06: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: 5ef22c8d-82b9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699944316; 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:autocrypt:autocrypt;
	bh=CVMncut3/9cuc8Nn7Lz05k8mLOBLL/l0VWOn5Zo75Vw=;
	b=XQfwV8lk7mjw9xJn80/6t3pwC9f8lnso4l+qRT8DTLQdBQBOefB0cyRKRzh47s6YFBiEGJ
	hRMFmReulb+PA1IKvJ+GIBGowu/5uIllBzxL3S1myY7YdkehC6o616M0iVUpEeduCnKHyz
	PgT/cwWCAZAKlW1O/eZnBx4JuIuwoZM=
Message-ID: <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
Date: Tue, 14 Nov 2023 07:45:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename
 handling
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-28-jgross@suse.com>
 <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------mFzGogDe38gTa6ReiA9V9JQe"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------mFzGogDe38gTa6ReiA9V9JQe
Content-Type: multipart/mixed; boundary="------------H9aHn5lsRIo3fAM6VqUvi3As";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Message-ID: <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename
 handling
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-28-jgross@suse.com>
 <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
In-Reply-To: <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>

--------------H9aHn5lsRIo3fAM6VqUvi3As
Content-Type: multipart/mixed; boundary="------------GcE3M0x3N04BGHiekB0uog8D"

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

T24gMTMuMTEuMjMgMjM6MjUsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEwLzExLzIwMjMgMTY6MDgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBB
ZGQgc29tZSBoZWxwZXJzIGZvciBoYW5kbGluZyBmaWxlbmFtZXMgd2hpY2ggbWlnaHQgbmVl
ZCBkaWZmZXJlbnQNCj4+IGltcGxlbWVudGF0aW9ucyBiZXR3ZWVuIHN0dWJkb20gYW5kIGRh
ZW1vbiBlbnZpcm9ubWVudHM6DQo+Pg0KPj4gLSBleHBhbnNpb24gb2YgcmVsYXRpdmUgZmls
ZW5hbWVzICh0aG9zZSBhcmUgbm90IHJlYWxseSBkZWZpbmVkIHRvZGF5LA0KPj4gwqDCoCBq
dXN0IGV4cGFuZCB0aGVtIHRvIGJlIHJlbGF0aXZlIHRvIC92YXIvbGliL3hlbi94ZW5zdG9y
ZSkNCj4+IC0gZXhwYW5zaW9uIG9mIHhlbnN0b3JlX2RhZW1vbl9ydW5kaXIoKSAodXNlZCBl
LmcuIGZvciBzYXZpbmcgdGhlIHN0YXRlDQo+PiDCoMKgIGZpbGUgaW4gY2FzZSBvZiBsaXZl
IHVwZGF0ZSAtIG5lZWRzIHRvIGJlIHVuY2hhbmdlZCBpbiB0aGUgZGFlbW9uDQo+PiDCoMKg
IGNhc2UsIGJ1dCBzaG91bGQgcmVzdWx0IGluIC92YXIvbGliL3hlbi94ZW5zdG9yZSBmb3Ig
c3R1YmRvbSkNCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NA
c3VzZS5jb20+DQo+PiBSZXZpZXdlZC1ieTogSmFzb24gQW5kcnl1ayA8amFuZHJ5dWtAZ21h
aWwuY29tPg0KPj4gLS0tDQo+PiDCoCB0b29scy94ZW5zdG9yZWQvY29yZS5jwqDCoMKgwqDC
oCB8IDkgKysrKysrKystDQo+PiDCoCB0b29scy94ZW5zdG9yZWQvY29yZS5owqDCoMKgwqDC
oCB8IDMgKysrDQo+PiDCoCB0b29scy94ZW5zdG9yZWQvbHVfZGFlbW9uLmMgfCA0ICsrLS0N
Cj4+IMKgIHRvb2xzL3hlbnN0b3JlZC9taW5pb3MuY8KgwqDCoCB8IDUgKysrKysNCj4+IMKg
IHRvb2xzL3hlbnN0b3JlZC9wb3NpeC5jwqDCoMKgwqAgfCA1ICsrKysrDQo+PiDCoCA1IGZp
bGVzIGNoYW5nZWQsIDIzIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pDQo+Pg0KPj4g
ZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMgYi90b29scy94ZW5zdG9yZWQv
Y29yZS5jDQo+PiBpbmRleCA0YTlkODc0ZjE3Li43N2JlZmQyNGM5IDEwMDY0NA0KPj4gLS0t
IGEvdG9vbHMveGVuc3RvcmVkL2NvcmUuYw0KPj4gKysrIGIvdG9vbHMveGVuc3RvcmVkL2Nv
cmUuYw0KPj4gQEAgLTE1OCw2ICsxNTgsMTMgQEAgdm9pZCB0cmFjZV9kZXN0cm95KGNvbnN0
IHZvaWQgKmRhdGEsIGNvbnN0IGNoYXIgKnR5cGUpDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqAg
dHJhY2UoIm9iajogREVTVFJPWSAlcyAlcFxuIiwgdHlwZSwgZGF0YSk7DQo+PiDCoCB9DQo+
PiArY2hhciAqYWJzb2x1dGVfZmlsZW5hbWUoY29uc3Qgdm9pZCAqY3R4LCBjb25zdCBjaGFy
ICpmaWxlbmFtZSkNCj4gDQo+IENhbiB0aGUgcmV0dXJuIGJlIGNvbnN0Pw0KDQpJJ2xsIGhh
dmUgYSBsb29rLg0KDQo+IA0KPj4gK3sNCj4+ICvCoMKgwqAgaWYgKGZpbGVuYW1lWzBdICE9
ICcvJykNCj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gdGFsbG9jX2FzcHJpbnRmKGN0eCwg
WEVOU1RPUkVfTElCX0RJUiAiLyVzIiwgZmlsZW5hbWUpOw0KPiANCj4gTG9va2luZyBhdCB0
aGUgcmVzdCBvZiBwYXRjaCwgeW91IHdpbGwgYmUgdXNpbmcgeGVuc3RvcmVfcnVuZGlyKCku
IEkgd29uZGVyIA0KPiB3aGV0aGVyIGl0IHdvdWxkIG5vdCBiZSBiZXR0ZXIgdG8gc3dpdGNo
IHRvIHhlbnN0b3JlX3J1bmRpcigpIHNvLi4uDQo+IA0KPj4gK8KgwqDCoCByZXR1cm4gdGFs
bG9jX3N0cmR1cChjdHgsIGZpbGVuYW1lKTsNCj4+ICt9DQo+PiArDQo+PiDCoCAvKioNCj4+
IMKgwqAgKiBTaWduYWwgaGFuZGxlciBmb3IgU0lHSFVQLCB3aGljaCByZXF1ZXN0cyB0aGF0
IHRoZSB0cmFjZSBsb2cgaXMgcmVvcGVuZWQNCj4+IMKgwqAgKiAoaW4gdGhlIG1haW4gbG9v
cCkuwqAgQSBzaW5nbGUgYnl0ZSBpcyB3cml0dGVuIHRvIHJlb3Blbl9sb2dfcGlwZSwgdG8g
YXdha2VuDQo+PiBAQCAtMjk4Myw3ICsyOTkwLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNo
YXIgKmFyZ3ZbXSkNCj4+IMKgwqDCoMKgwqAgc2lnbmFsKFNJR0hVUCwgdHJpZ2dlcl9yZW9w
ZW5fbG9nKTsNCj4+IMKgwqDCoMKgwqAgaWYgKHRyYWNlZmlsZSkNCj4+IC3CoMKgwqDCoMKg
wqDCoCB0cmFjZWZpbGUgPSB0YWxsb2Nfc3RyZHVwKE5VTEwsIHRyYWNlZmlsZSk7DQo+PiAr
wqDCoMKgwqDCoMKgwqAgdHJhY2VmaWxlID0gYWJzb2x1dGVfZmlsZW5hbWUoTlVMTCwgdHJh
Y2VmaWxlKTsNCj4+IMKgICNpZm5kZWYgTk9fTElWRV9VUERBVEUNCj4+IMKgwqDCoMKgwqAg
LyogUmVhZCBzdGF0ZSBpbiBjYXNlIG9mIGxpdmUgdXBkYXRlLiAqLw0KPj4gZGlmZiAtLWdp
dCBhL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmggYi90b29scy94ZW5zdG9yZWQvY29yZS5oDQo+
PiBpbmRleCBhMGQzNTkyOTYxLi41MWUxZGRkYjIyIDEwMDY0NA0KPj4gLS0tIGEvdG9vbHMv
eGVuc3RvcmVkL2NvcmUuaA0KPj4gKysrIGIvdG9vbHMveGVuc3RvcmVkL2NvcmUuaA0KPj4g
QEAgLTM5Myw2ICszOTMsOSBAQCB2b2lkIGVhcmx5X2luaXQodm9pZCk7DQo+PiDCoCB2b2lk
IG1vdW50XzlwZnModm9pZCk7DQo+PiDCoCAjZW5kaWYNCj4+ICtjb25zdCBjaGFyICp4ZW5z
dG9yZV9ydW5kaXIodm9pZCk7DQo+PiArY2hhciAqYWJzb2x1dGVfZmlsZW5hbWUoY29uc3Qg
dm9pZCAqY3R4LCBjb25zdCBjaGFyICpmaWxlbmFtZSk7DQo+PiArDQo+PiDCoCAvKiBXcml0
ZSBvdXQgdGhlIHBpZGZpbGUgKi8NCj4+IMKgIHZvaWQgd3JpdGVfcGlkZmlsZShjb25zdCBj
aGFyICpwaWRmaWxlKTsNCj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZWQvbHVfZGFl
bW9uLmMgYi90b29scy94ZW5zdG9yZWQvbHVfZGFlbW9uLmMNCj4+IGluZGV4IDcxYmNhYmFk
ZDMuLjYzNTExMTFhYjAgMTAwNjQ0DQo+PiAtLS0gYS90b29scy94ZW5zdG9yZWQvbHVfZGFl
bW9uLmMNCj4+ICsrKyBiL3Rvb2xzL3hlbnN0b3JlZC9sdV9kYWVtb24uYw0KPj4gQEAgLTI0
LDcgKzI0LDcgQEAgdm9pZCBsdV9nZXRfZHVtcF9zdGF0ZShzdHJ1Y3QgbHVfZHVtcF9zdGF0
ZSAqc3RhdGUpDQo+PiDCoMKgwqDCoMKgIHN0YXRlLT5zaXplID0gMDsNCj4+IMKgwqDCoMKg
wqAgc3RhdGUtPmZpbGVuYW1lID0gdGFsbG9jX2FzcHJpbnRmKE5VTEwsICIlcy9zdGF0ZV9k
dW1wIiwNCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg
eGVuc3RvcmVfZGFlbW9uX3J1bmRpcigpKTsNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgeGVuc3RvcmVfcnVuZGlyKCkpOw0KPiANCj4gLi4uIGNh
bGwgYW5kIC4uLg0KPiANCj4+IMKgwqDCoMKgwqAgaWYgKCFzdGF0ZS0+ZmlsZW5hbWUpDQo+
PiDCoMKgwqDCoMKgwqDCoMKgwqAgYmFyZigiQWxsb2NhdGlvbiBmYWlsdXJlIik7DQo+PiBA
QCAtNjUsNyArNjUsNyBAQCBGSUxFICpsdV9kdW1wX29wZW4oY29uc3Qgdm9pZCAqY3R4KQ0K
Pj4gwqDCoMKgwqDCoCBpbnQgZmQ7DQo+PiDCoMKgwqDCoMKgIGZpbGVuYW1lID0gdGFsbG9j
X2FzcHJpbnRmKGN0eCwgIiVzL3N0YXRlX2R1bXAiLA0KPj4gLcKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoCB4ZW5zdG9yZV9kYWVtb25fcnVuZGlyKCkpOw0KPj4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB4ZW5zdG9yZV9ydW5kaXIoKSk7
DQo+IA0KPiAuLi4gdGhpcyBvbmUgY291bGQgYmUgcmVwbGFjZWQgd2l0aCBhYnNvbHV0ZV9m
aWxlbmFtZSgpLg0KDQpObywgSSBkb24ndCB0aGluayB0aGlzIGlzIGEgZ29vZCBpZGVhLg0K
DQpJIGRvbid0IHdhbnQgdGhlIGRhZW1vbiB0byBzdG9yZSB0cmFjZSBmaWxlcyBzcGVjaWZp
ZWQgYXMgcmVsYXRpdmUgZmlsZXMNCnRvIGJlIHN0b3JlZCBpbiAvdmFyL3J1bi94ZW4sIHdo
aWxlIEkgd2FudCBhbGwgZmlsZXMgb2YgdGhlIHN0dWJkb20gdG8gYmUNCnN0b3JlZCB1bmRl
ciAvdmFyL2xpYi94ZW4uDQoNCg0KSnVlcmdlbg0K
--------------GcE3M0x3N04BGHiekB0uog8D
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-----

--------------GcE3M0x3N04BGHiekB0uog8D--

--------------H9aHn5lsRIo3fAM6VqUvi3As--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTF3wFAwAAAAAACgkQsN6d1ii/Ey/z
YAf/ZMEUB4iVGjr3eGUAWGRU+pUQeMrL5904HLkO6jyj2DDjffmA3uSzNmPmwlOIlABMLTdOjhOb
ZXbCS1VopAKFT7Qp3IdMLntNB1R0Ey2jQtlHseXtHG2L6f2ohoPywXxASYjAqaiGewqK+OMJY9ze
/iU5QmFSpIw3zrCm6gLKoAa1YPCWQTuayf86s5I5ifxQW0+aLRoByvOSaqSCc5CiwtTSYdSAbIMo
ehAM1lD4KH4SLGGioX28gqjpOCTVGWyB4t2LUajKU9FI1vGRezr1NZnozq/+yFVq9NXq2V0XP2eo
yO4M4ibot5RBYyO2zsfiPtJpbW4YGRtehK1Suf+mPg==
=YeDR
-----END PGP SIGNATURE-----

--------------mFzGogDe38gTa6ReiA9V9JQe--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 06:46:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 06:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632146.986216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2nBR-0003j9-9O; Tue, 14 Nov 2023 06:46:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632146.986216; Tue, 14 Nov 2023 06:46: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 1r2nBR-0003j0-6B; Tue, 14 Nov 2023 06:46:01 +0000
Received: by outflank-mailman (input) for mailman id 632146;
 Tue, 14 Nov 2023 06:45: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2nBP-000327-9Z
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 06:45:59 +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 7725e887-82b9-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 07:45:57 +0100 (CET)
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 16AB01F86A;
 Tue, 14 Nov 2023 06: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 DD3A313460;
 Tue, 14 Nov 2023 06:45:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id COc7NKQXU2VCQwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 06:45: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: 7725e887-82b9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699944357; 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:autocrypt:autocrypt;
	bh=ExSZOruRy+li31Iu1++WI76czYIT7VGYIQ+BNC4P7Kw=;
	b=tkOpMC6kLAl4mOUKY8dLdlJaBmaURrQQMJKWVXzenk6h9HknNrb96AIy/lk7J/V+WO5Lt4
	WVmx0VQh4TG5WG/Z/W6d4Rji3BeWrmw8iDaC0PhMvur551cMN6FfXZprjOcHVNnhDCG+ov
	/0ZQm3osu2XbaU2D8qQCsOUgMaxyviM=
Message-ID: <f9e8900b-10a9-4c88-bc99-118c61b549d7@suse.com>
Date: Tue, 14 Nov 2023 07:45:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 28/29] tools/xenstored: support complete log
 capabilities in stubdom
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-29-jgross@suse.com>
 <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------CgjmWsofyaEtcgLPtwcGQN9H"

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------CgjmWsofyaEtcgLPtwcGQN9H
Content-Type: multipart/mixed; boundary="------------w0JinH19cQzGciwc0P4I4Ccs";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Message-ID: <f9e8900b-10a9-4c88-bc99-118c61b549d7@suse.com>
Subject: Re: [PATCH v2 28/29] tools/xenstored: support complete log
 capabilities in stubdom
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-29-jgross@suse.com>
 <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
In-Reply-To: <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>

--------------w0JinH19cQzGciwc0P4I4Ccs
Content-Type: multipart/mixed; boundary="------------4nwRHu50SL08a14ekSsQUfD7"

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

T24gMTMuMTEuMjMgMjM6NDAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEwLzExLzIwMjMgMTY6MDgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBX
aXRoIDlwZnMgYmVpbmcgZnVsbHkgYXZhaWxhYmxlIGluIFhlbnN0b3JlLXN0dWJkb20gbm93
LCB0aGVyZSBpcyBubw0KPj4gcmVhc29uIHRvIG5vdCBmdWxseSBzdXBwb3J0IGFsbCBsb2dn
aW5nIGNhcGFiaWxpdGllcyBpbiBzdHViZG9tLg0KPj4NCj4+IE9wZW4gdGhlIGxvZ2ZpbGUg
b24gc3R1YmRvbSBvbmx5IGFmdGVyIHRoZSA5cGZzIGZpbGUgc3lzdGVtIGhhcyBiZWVuDQo+
PiBtb3VudGVkLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9z
c0BzdXNlLmNvbT4NCj4+IFJldmlld2VkLWJ5OiBKYXNvbiBBbmRyeXVrIDxqYW5kcnl1a0Bn
bWFpbC5jb20+DQo+PiAtLS0NCj4+IMKgIHRvb2xzL2hvdHBsdWcvTGludXgvbGF1bmNoLXhl
bnN0b3JlLmluIHzCoCAxICsNCj4+IMKgIHRvb2xzL3hlbnN0b3JlZC9jb250cm9sLmPCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMwICsrKysrKysrKysrKystLS0tLS0tLS0tLS0t
DQo+PiDCoCB0b29scy94ZW5zdG9yZWQvbWluaW9zLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgIHzCoCAzICsrKw0KPj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNlcnRpb25z
KCspLCAxNSBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvaG90cGx1
Zy9MaW51eC9sYXVuY2gteGVuc3RvcmUuaW4gDQo+PiBiL3Rvb2xzL2hvdHBsdWcvTGludXgv
bGF1bmNoLXhlbnN0b3JlLmluDQo+PiBpbmRleCBlODU0Y2ExZWI4Li5kYTRlZWNhN2M1IDEw
MDY0NA0KPj4gLS0tIGEvdG9vbHMvaG90cGx1Zy9MaW51eC9sYXVuY2gteGVuc3RvcmUuaW4N
Cj4+ICsrKyBiL3Rvb2xzL2hvdHBsdWcvTGludXgvbGF1bmNoLXhlbnN0b3JlLmluDQo+PiBA
QCAtOTgsNiArOTgsNyBAQCB0ZXN0IC1mIEBDT05GSUdfRElSQC9AQ09ORklHX0xFQUZfRElS
QC94ZW5jb21tb25zICYmIC4gDQo+PiBAQ09ORklHX0RJUkAvQENPTkZJR19MRUFGDQo+PiDC
oMKgwqDCoMKgIFsgLXogIiRYRU5TVE9SRV9ET01BSU5fU0laRSIgXSAmJiBYRU5TVE9SRV9E
T01BSU5fU0laRT04DQo+PiDCoMKgwqDCoMKgIFhFTlNUT1JFX0RPTUFJTl9BUkdTPSIkWEVO
U1RPUkVfRE9NQUlOX0FSR1MgLS1tZW1vcnkgJFhFTlNUT1JFX0RPTUFJTl9TSVpFIg0KPj4g
wqDCoMKgwqDCoCBbIC16ICIkWEVOU1RPUkVfTUFYX0RPTUFJTl9TSVpFIiBdIHx8IA0KPj4g
WEVOU1RPUkVfRE9NQUlOX0FSR1M9IiRYRU5TVE9SRV9ET01BSU5fQVJHUyAtLW1heG1lbSAk
WEVOU1RPUkVfTUFYX0RPTUFJTl9TSVpFIg0KPj4gK8KgwqDCoCBbIC16ICIkWEVOU1RPUkVE
X1RSQUNFIiBdIHx8IFhFTlNUT1JFX0RPTUFJTl9BUkdTPSIkWEVOU1RPUkVfRE9NQUlOX0FS
R1MgDQo+PiAtVCB4ZW5zdG9yZWQtdHJhY2UubG9nIg0KPiANCj4gSSBhbSBwcm9iYWJseSBt
aXNzaW5nIHNvbWV0aGluZywgYnV0IGFueSByZWFzb24gdG8gbm90IHVzZSANCj4gQFhFTl9M
T0dfRElSQC94ZW5zdG9yZWQtdHJhY2UubG9nIGFzIHdlIGRvIGZvciB4ZW5zdG9yZWQ/DQoN
Clllcy4gU3R1YmRvbSBoYXMgbm8gYWNjZXNzIHRvIFhFTl9MT0dfRElSLg0KDQoNCkp1ZXJn
ZW4NCg==
--------------4nwRHu50SL08a14ekSsQUfD7
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-----

--------------4nwRHu50SL08a14ekSsQUfD7--

--------------w0JinH19cQzGciwc0P4I4Ccs--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTF6QFAwAAAAAACgkQsN6d1ii/Ey8x
jAgAnF5mcHGgtt6qkQVp8zk1Lc+qRlAy9x9uw7cns1h5N0zDOOIPosu6O/qQnwZRmfwIBXJi6RKe
mvzNmG/xcDbVpqPZ8Dlg9eH6FgAdfvVNnFjBN9REMHLYGu6Dw7iLdmYQYT4PKZfNkELzupA9jfSp
pf/ul0yA8WHV4X+9mxF5B/UphlrDX/9MnQrzMl2Vc3JYGmctyPZV5lfckT8OmULRx94Uxl3euIab
wIoHsZ0roiXGjO/UaWmzxSvm7YBC8tpWVscLZGg0My/jk06jy6WqZtVyrqhZdot8O19FXXEM/2Tt
5MTalt59CqpCPGV1B6oQF9Y8XkM+rnuwMabMH6IJSw==
=FMvT
-----END PGP SIGNATURE-----

--------------CgjmWsofyaEtcgLPtwcGQN9H--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 07:01:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 07:01:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632150.986225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2nQI-0008Oz-J7; Tue, 14 Nov 2023 07:01:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632150.986225; Tue, 14 Nov 2023 07:01: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 1r2nQI-0008Os-FR; Tue, 14 Nov 2023 07:01:22 +0000
Received: by outflank-mailman (input) for mailman id 632150;
 Tue, 14 Nov 2023 07:01: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 1r2nQH-0008Oi-EN; Tue, 14 Nov 2023 07:01: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 1r2nQH-0006Ft-CT; Tue, 14 Nov 2023 07:01: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 1r2nQG-0003RC-V9; Tue, 14 Nov 2023 07:01:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2nQG-0003kD-Ul; Tue, 14 Nov 2023 07:01: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=mf0j4Gv7Glukh2T98pvR1TK/in300oA6n1Zf7dPpoI0=; b=66q6q+gzUo+fBDQlchKhTR8zxH
	GDhhA48dWt+Nr70HKqO4m9r1Auu0ANnxBmKfZpZ+H458wuc3YVEYnoLrdmtntBxwcF7PxguSCj96S
	vytAZ+b2Q4D4SsOhjjuqzn4WxvAiZbkg0cdNbMgMXAeUXTjki/tJHG2AzYq57H4Jx72Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183746-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183746: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-dom0pvh-xl-amd:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-raw: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt: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: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-credit1:migrate-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-libvirt-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-credit2:migrate-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-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-libvirt-raw:migrate-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-libvirt-qcow2: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
X-Osstest-Versions-This:
    linux=9bacdd8996c77c42ca004440be610692275ff9d0
X-Osstest-Versions-That:
    linux=b85ea95d086471afb4ad062012a4d73cd328fa86
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Nov 2023 07:01:20 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-dom0pvh-xl-amd 22 guest-start/debian.repeat fail pass in 183749-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail blocked in 183740
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183740
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183740
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183740
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183740
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183740
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183740
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183740
 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-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-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-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-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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-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-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-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-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:
 linux                9bacdd8996c77c42ca004440be610692275ff9d0
baseline version:
 linux                b85ea95d086471afb4ad062012a4d73cd328fa86

Last test of basis   183740  2023-11-13 02:38:19 Z    1 days
Testing same since   183746  2023-11-13 17:42:24 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Boris Burkov <boris@bur.io>
  Dan Carpenter <dan.carpenter@linaro.org>
  David Sterba <dsterba@suse.com>
  Filipe Manana <fdmanana@suse.com>
  Helen Koike <helen.koike@collabora.com>
  Josef Bacik <josef@toxicpanda.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Naohiro Aota <naohiro.aota@wdc.com>
  Qu Wenruo <wqu@suse.com>
  Shinichiro Kawasaki <shinichiro.kawasaki@wdc.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                              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-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-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
   b85ea95d0864..9bacdd8996c7  9bacdd8996c77c42ca004440be610692275ff9d0 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 07:20:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 07:20:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632156.986235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2niG-0003x7-9N; Tue, 14 Nov 2023 07:19:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632156.986235; Tue, 14 Nov 2023 07:19: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 1r2niG-0003x0-65; Tue, 14 Nov 2023 07:19:56 +0000
Received: by outflank-mailman (input) for mailman id 632156;
 Tue, 14 Nov 2023 07:19: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2niE-0003wb-Ud
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 07:19:55 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 34aa5417-82be-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 08:19:53 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7839.eurprd04.prod.outlook.com (2603:10a6:102:c9::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Tue, 14 Nov
 2023 07:19:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 07: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: 34aa5417-82be-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JSCige+OTFW67D5chvWqM8oxsdg9++WCYr99Ieevpj4eaNh0L7H/CzfbWjUXGzguCpFaN565+AjcUYzr4tTUWrFC4GcrCPwI8B56PtqpUIqFa9KiLvBT48olF8PACCwzNbEysdOeNyu1UMWvaChVSa6+wG/nnbGLdSHlvmXyfBRLR0WUHpVC+WmKfR0sLAVTv6GZVVsEGsoZUJLxx0BQk5SfJP2U4TE7AG44vnQumruxR+JufYiaOsKpzTniTKNP+qrW8GX9kwfWYv6cxm/lF6wZxxv7CAOv5Ke3Aj0jsmC4oMwCcSgInrZEYiNudG9e75IndbFfvkUBl+c42oXA8A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dneJVy0qJLknSKlthWMe10HvNbRG0QkeO876ARckVSU=;
 b=QmyR559s8aRTxKbViRAyD4QaRcPPXGBfM+LvmOBRzATiSctX0g4PVYL8E3N/rf8XGzJ08s+0O5dQGRutFxGYM0ceUI1hM9OWqWkLwgM6MaXrxqUjteDLLkITjHAy045RcsXhRnxqxPtAvoZAFjGgXz1kS36yGn4uvkBPR0pz/hjqjX3uyBOzaqrlIHamQbo9PSXp09OqJPUiE4q89iS0alI9CtgtRSQjqxhhuZCmV7z6oHI/p80Jzt+P46UhnxyYjAzvKtdW0w399s3LwhoZr8Hq/Gm4g0fSCyyEz46K7RN87pM1sWS6xKBCebMuGXfHAoZxaBLIgq9XNQZcU+J4Nw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dneJVy0qJLknSKlthWMe10HvNbRG0QkeO876ARckVSU=;
 b=aNw9dDZ67JMFrTsQRmGBwcouX4UnoYeYK3QooduEXJSViVmdPIRO8SN0Mei5BUPWveQv5Uq0iUKBVrZChF/aVJkta9NYINUsb4G0MbMjBfQdEVSyqzpe4uE2GvgO73GhT5dcFVBe/NcYV4ev/0ksk98upFlelc98wufk9FrS2GiY25rHLL88zRchBSh2J2iRhwJ+e0ZjaYqlozVeAIYEtuJpHa2IvkNhLxBkQWhYLg5L3c9K01lEHgioekxUJ2jS0UYzAgeAbrvIqUwONLDRKVFMug4N1YEpy8MiqjAV9NPxT0hh36zCUdzF63Bflvn22np+2FUDyRQ/TYqJNd2RhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <82637305-58ff-3204-09f4-13a1f2c969fb@suse.com>
Date: Tue, 14 Nov 2023 08:19:48 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [XEN PATCH][for-4.19 v4] xen: address violations of Rule 11.9
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com>
 <b7df2987-ab46-bb09-4440-e743018561ad@suse.com>
 <alpine.DEB.2.22.394.2311131557210.160649@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2311131557210.160649@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7839:EE_
X-MS-Office365-Filtering-Correlation-Id: a91a968b-360a-4e02-6666-08dbe4e21722
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ngku7ytoxnSHBQxptNd3tS6RH55GrEPOh9DH0Ma1i6GFIdhI+6tj+KCOGm7dQ2+DE6kbA8j1KjrX8RcdrcWJFVglBsBw0g22EEy35phfguQciJXXHiQDX3UqzEeiPpRxtlTMt5mR9uWmpe2e0ZQvt/+FZKeu3fH66H70voPYNjZ5scYhHmXn51UDFgy4glKKW1atpIk02Ks6Dz0BuNbb0o7LA+OAUdSg07ehTWaYkiDr3s6DbJ6J7AD3Hues70/fO75rocPiUwxwDmwUKK2YwTe539x3oyJtCo+VDrktu8EIMs7Tv7xKL4kf6is3mECpXtzMvKWwCOKjVBrDQJdtUYyRcIPQKN+mTVv/5YODkHl0u+esS5LbKvqkwsuf8MJN+tvt2s40ITlXHEAqPPzgePUOiqBm2392MOHt0bUyX3N6y82+ldr81w3mhD7pSuftmcaYRcs6y7kxHDlHr/h6glKWfzI4w4yblG/C6v0dO5cArN/Fmte7ThObymKwPFSiDq8z2Er57/lkJrLA/OzeRYVQGbWq/Z+aCpwB2lJIcPvFYrVSraZbI7oEBbFD41lD5DkRFxMULOW784MQ0mGShm3cFuxsPlWSwWM1kENRFwZoOvLs8JYEIU5KWdNmJxdkPMgU1eURx2mV1FgMezn50g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(366004)(136003)(376002)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799009)(31686004)(66476007)(66946007)(31696002)(66556008)(316002)(6916009)(54906003)(38100700002)(36756003)(86362001)(6512007)(83380400001)(53546011)(26005)(2616005)(6506007)(478600001)(2906002)(6486002)(41300700001)(4326008)(5660300002)(8676002)(7416002)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Uk4vbVI1S2V4d2tIOWJXRzBHeVNORUYzNEZhVHFaWkx5eVBJM1hyb2Evd0Z6?=
 =?utf-8?B?dTlSN1l0cjlCWjdhUUU3Vk9xVDNOWjZtWmZGL1BsaisvemdFUjNzM2x0K2RW?=
 =?utf-8?B?OWEzUE5hWUVCQ0hvKzVWT2ZiUnhldStrU1hXSFBPeHU1NmtsazIwZVpEaXhY?=
 =?utf-8?B?TW52OUN2M01TUnBsREdldWtYWDcvbDRHM294QmJHemhZREU2UEZCSmkvN2pM?=
 =?utf-8?B?a3VWYXE1dzZibW9DYWFiU3N5K0Vnc3FGSVRFVmpYRnMrSm9MbnYxa2Rtakdm?=
 =?utf-8?B?NldNRzFVTXVUZGt2Z0R4RmJnbVNtNm5qU053WDM1NC81NDBNQVNVRk1UcjBn?=
 =?utf-8?B?RDltbi9oNnJFbEdOc09RcGl6TFNwZjkyZGJRMnd6TUFxTjUyTFlQaW51OEpp?=
 =?utf-8?B?cFlQbk16bm42MVZsUS9meDlwS0RieVpKczVsY1lmZFJ6aU5LU3U0eUNIdFlp?=
 =?utf-8?B?UHV1aTFKOG5WRGwxdUN1dFV0UWFjeDhRSnlJT3kvWk01UTZSVkROdmt2MnBy?=
 =?utf-8?B?ZzBFUVJYV1hlMUNtTDR0R2pubytFUE0wNmpPZmo3SlJhWUg5aWlid1ZlNEV3?=
 =?utf-8?B?ZG1ZMDR1ZHR2M0FRQlNlNlFjR1dTdTkvRlQwK2dRMmxEeWJuamRDVjloZnlm?=
 =?utf-8?B?c2FSZGtqSWhkYlhJbkpTYW9nRmNLblB5RXlFMW9pRFdQN2kvWFhSdG5POWJ0?=
 =?utf-8?B?bzJja1dxdnMrWEp6TWFiVWc0cTVBYm9jN3B6cGZhR1NoVFNKS0RkR3AzdlUz?=
 =?utf-8?B?b2FGcWcyeTlwTFVBTGZmS1FxQkNHWFR4RFdacDFiVmRXMUplZ29YT3VMazcx?=
 =?utf-8?B?NEg1MUttN0l4bGxneExEdDE4ekdLVTBOK00yUURxNFM3SHJZVFh6VE0za0h0?=
 =?utf-8?B?R0s4U09UTzVPNGIwTzhNS1FyMTd1Z3dvU3J6ZnNtNVVlUzNhR1JqS0ZJNVNm?=
 =?utf-8?B?VWc2ZmRHL0lrdWl1VDhLbGtSamZmSHFaZG1peVMwOFlqcUtjN2ZrSTRNRHc2?=
 =?utf-8?B?dmp0QmJaU0pFcEppK3V3bTh5MklPaUdnUlVhcUc1N0NNT3c0WlV4Q3c3ZEhw?=
 =?utf-8?B?V2N4RmVEeHN0L1Q5aU5rL1ljYk90T2c3aFR5WW9GTG9UTkI0RW9obm1SSndV?=
 =?utf-8?B?VUJHaDZiRHA1UitrbThqNkpnNWFwajNPenhDTGNzNG5qU0xNNWIzYms3V25W?=
 =?utf-8?B?U3FLSThhb1R0OFN0dzM4VnpnTDNZTU5uZkZLVHIrYjBQNnorUzl2cnNDcm5U?=
 =?utf-8?B?cm5aTUhJOFBCc2FIUjFoelZ4aFFpMmFkd1NjTDNlTXhsSVhzWmovc2pIOVBR?=
 =?utf-8?B?QmFMaC9HYUJuaGNIa2VIRnJGUmsranJkNFd6VTJiVnY5djFZSHFsWHdzZHlE?=
 =?utf-8?B?VjZFbEdMRUV1Tlc3SUhUeEpFc1F5elhmNVIxV0ZobEU1R2FQTDB3cTVyY1k3?=
 =?utf-8?B?ZXRoaTNqRXFuU3k2M3NvQjdhMWdFN3BPSms5VWE0cGNMeTZDaFFzbzhMcVh6?=
 =?utf-8?B?TGtoMDdQOVdIV0N3QjdFbm1Pa2NMS015NE44MkI3UzJMR0xOdDJGcWNoWURK?=
 =?utf-8?B?b0pZU1BQRC85Mm5UN2JyOUdiUG1ZejMvTnpqYjZGVlF6US9pYVJMbmMrVjhH?=
 =?utf-8?B?ZndOSDgwV0hDbSs1eVFvemJqS2hnenNGNDJkWlFEM1AvL1ptNTNHcVZZdFl4?=
 =?utf-8?B?eTk3MkpXNGJPVUhNUUROT25TL1JvMmF0S0Z4dDVaaytyRnpOQ0FMZzhwMkFK?=
 =?utf-8?B?M0VobGJPeWlUNXNPWkIwcmU5Rm5zcjlXdm1pUkwrby9WUThrTmV5L0J3M3Z2?=
 =?utf-8?B?UVdvYUpzYzQ0S1c1NjF2bmgyNXpIMi9FLy9RdVptVHBxTnpOMjBheWo5RUIv?=
 =?utf-8?B?d3E5cUtDZHRqSXVWWmhWcmppZGxVNFo1TUJEVWRBUlBtejIyY003Z0ROZ0RL?=
 =?utf-8?B?MzA4aTF4RzJaUmlCVGNiY1I3a0tVL0k2QktRNzVCcXRpVHRJaXpENjhUMCsy?=
 =?utf-8?B?ZHFEUXFlUCs3MWNYcWVvTVpYeUxteUZUTWJ3S2RTVXVwcFk4TnptbWdZTXU1?=
 =?utf-8?B?UFhoVm5oTGdKMi9aM3F4djd5bE02YTJadVpsYmN4YTM1cXR2V3BQMzNCSEV2?=
 =?utf-8?Q?fcpTtC8RAemFPX2uWXgIU1DcA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a91a968b-360a-4e02-6666-08dbe4e21722
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 07:19:50.6050
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dIV41B9dSE7tLLtzFFFkKw30EX/Ebkp59DQwfvmblOa3/iAbaI4Xq+sOr7n5uGAK+Na/Wk7oj6TSMFY5alMe9w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7839

On 14.11.2023 00:58, Stefano Stabellini wrote:
> On Mon, 13 Nov 2023, Jan Beulich wrote:
>> On 19.10.2023 09:55, Nicola Vetrini wrote:
>>> The constant 0 is used instead of NULL in '__ACCESS_ONCE' as a
>>> compile-time check to detect non-scalar types; its usage for this
>>> purpose is deviated.
>>>
>>> Furthermore, the 'typeof_field' macro is introduced as a general way
>>> to access the type of a struct member without declaring a variable
>>> of struct type. Both this macro and 'sizeof_field' are moved to
>>> 'xen/macros.h'.
>>>
>>> No functional change intended.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>>> ---
>>> Changes in v2:
>>> - added entry in deviations.rst
>>> Changes in v3:
>>> - dropped access_field
>>> - moved macro to macros.h
>>> ---
>>> Changes in v4:
>>> - Amend deviation record.
>>> ---
>>>  automation/eclair_analysis/ECLAIR/deviations.ecl |  9 +++++++++
>>>  docs/misra/deviations.rst                        |  6 ++++++
>>>  xen/include/xen/compiler.h                       |  8 --------
>>>  xen/include/xen/kernel.h                         |  2 +-
>>>  xen/include/xen/macros.h                         | 16 ++++++++++++++++
>>>  5 files changed, 32 insertions(+), 9 deletions(-)
>>
>> I tried to commit this patch, but ...
>>
>>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> index fa56e5c00a27..28d9c37bedb2 100644
>>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>> @@ -246,6 +246,15 @@ constant expressions are required.\""
>>>    "any()"}
>>>  -doc_end
>>>
>>> +#
>>> +# Series 11
>>> +#
>>> +
>>> +-doc_begin="This construct is used to check if the type is scalar, and for this purpose the use of 0 as a null pointer constant is deliberate."
>>> +-config=MC3R1.R11.9,reports+={deliberate, "any_area(any_loc(any_exp(macro(^__ACCESS_ONCE$))))"
>>> +}
>>> +-doc_end
>>> +
>>>  #
>>>  # Series 13
>>>  #
>>
>> ... this change doesn't apply, and I also can't see how it would. There were
>> no dependencies specified, so it's also not clear on top of which other
>> (ready to be committed) patch(es) this might have been meant to apply. Please
>> resubmit in a shape applicable to the staging branch.
> 
> The order doesn't matter in that file, you can place # Series 11 just
> after # Series 10

That would have been one of the possible guesses. Yet then ...

> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> @@ -274,6 +274,15 @@ still non-negative."
>  -config=MC3R1.R10.1,etypes+={safe, "stmt(operator(logical)||node(conditional_operator||binary_conditional_operator))", "dst_type(ebool||boolean)"}
>  -doc_end
>  
> +#
> +# Series 11
> +#
> +
> +-doc_begin="This construct is used to check if the type is scalar, and for this purpose the use of 0 as a null pointer constant is deliberate."
> +-config=MC3R1.R11.9,reports+={deliberate, "any_area(any_loc(any_exp(macro(^__ACCESS_ONCE$))))"
> +}
> +-doc_end
> +
>  ### Set 3 ###

... there is this grouping by sets as well.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 07:22:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 07:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632158.986245 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2nki-0005Rs-ME; Tue, 14 Nov 2023 07:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632158.986245; Tue, 14 Nov 2023 07:22: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 1r2nki-0005Rl-Jc; Tue, 14 Nov 2023 07:22:28 +0000
Received: by outflank-mailman (input) for mailman id 632158;
 Tue, 14 Nov 2023 07:22: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2nkh-0005Rf-Dp
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 07:22:27 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2061b.outbound.protection.outlook.com
 [2a01:111:f400:fe12::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8f6c1be2-82be-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 08:22:26 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7953.eurprd04.prod.outlook.com (2603:10a6:20b:246::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Tue, 14 Nov
 2023 07:22:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 07:22: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: 8f6c1be2-82be-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Sg/0ccnz+ogi75mnGMwpDFki4mhBQnGd49WrihfprxZ+EmWsc1SC3ZHKu3uyeii/GSHKNcNse/vDkoFnCwHfATaJJHNKXFwym4O/XQL88lXHyr/MNXDlpEOmo38LYCccdajng1L/0iViKnKY86d1o/Kx0NGaQCd3sZXPGnN2+CxW+qay6ISt6HlW1x5Lk6CuN/p5+ykvjpLtgs8l3Y/lxQBFWBhtYW3Dmr7K9iw4ImuSu3Jnf+ZBLMSl5ocXJOBi/93BJS64IkE8+3ly9in+QL9ry6S/aa/UaFcG57XPLTtEtBlhsE9dxCZ1FW8x7a8KIvq4MZRU8yWBJdhkwqNCLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HSzbgR3+3qZmdaT63JtEpabEZcYBnUtFp8pHYgBWfB4=;
 b=CZ18z6o2vnZPv15V3i8D5Ur1z6k0TFdP0m/1rZ69hoojGvOIFijszcTCbiWxZNDfjjknlUmrthsyM+OSYm6otU8QVX4KJF+HNOFpLlkHzyHhbuWkHe+Xf6YEiDL9KF04U5kXAHTowUokmz+Bild3p5xOZTzyGhu+FLpmlTAyP978URhWtucMbNhjOnTE8BIlQPVNmMCOjRVHLaN1a15aIv1GPrRC96UKfIKV1F6B+hn3+X+g+iNKwb9LNFka5BZNJSrLQK2MWCrBO6SpcVuF6iM9hrnjwKxvkYbPAqjVnoTmWs3Z7uIpxV0+blYLEgrYFxOdD2CEgNQnNS5jlYeFQw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HSzbgR3+3qZmdaT63JtEpabEZcYBnUtFp8pHYgBWfB4=;
 b=guJmiGVoVR/8dT7NbST0OaGeWw5ReLtDutzMH6cUjLmKGzBydnUyNukfh3TBQk4r+jsryR50xmP0wyts8VnxHb5afTx92xkk5Yf1IaKH2E/WNtH2ZA7t+ZaLaNKAqd0q0rx1KN03Ve/qYAkDs0N4FhcKNYCnM39QlT3meBJZAID6n/r9J+s9kEly9v2W0I7fZKiVSbdXM6XMjzKTRgF40MVwYKd9UlLZlehR7eCr3eb7TQ3wx5fLrCThU6/5ufkhGB/TCo64Mz6inRMU4dDfT64/+f7XBWl8opm404YqHyrB29lCrrsalsNrRcQi4xhjwKLpE2nhMtSpk32zwhZT9g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <82df8d73-0fe2-ab8b-3a47-069eed353a7d@suse.com>
Date: Tue, 14 Nov 2023 08:22:21 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: Faking the number of CPUs for dom0 with dom0_max_vcpus
Content-Language: en-US
To: Jimmy Lee <jimmylee4930@gmail.com>
Cc: xen-devel@lists.xenproject.org
References: <CAFyR2DVCuDyufB-EWHTSurQ69Dc7PZ9CQZdN_T-Ym2rjVaRPNw@mail.gmail.com>
 <b020592a-d528-d420-9eb2-7b6e39ea1cad@suse.com>
 <CAFyR2DWo9+NxeyCvExNGmBBXOM85ak8V1UgN56xNfOxBa2BUvA@mail.gmail.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <CAFyR2DWo9+NxeyCvExNGmBBXOM85ak8V1UgN56xNfOxBa2BUvA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7953:EE_
X-MS-Office365-Filtering-Correlation-Id: 05fb64d9-0e60-43b4-ad50-08dbe4e2723b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OPPR//Z9yNqODvtikJsk20JGYkM2xj+0hhFvcwNRLLF5GRguGvsmp+zUW0CnvprRGo2QLD+KTWSTfPjebabsjmrsL/GWVejOfcjeLAhS3byh5qGDecbOteYTkU9MQ8CEc3QRrmQDqLKeKvHqAPBRgHV7F9b/xitwg3DokHaNEBqEmpYt+GycGUvoXpBzrkj+K5HmC0xnmSyyoc95rqZLe3TtkVnhq6SwUjVMCschgaOCePs435ilgYTWUfmfRJezvNAIFvtUJSZYtlPcU1iqcWE30BhS8NmH6vN7vHXfoubxzQHZ9CTHVsZJzH+oJ0tOzHw/hqFDHF8es7tpM/zfle1+FzdHjFmJoOSBfVEMa27O4tPbLnYAZrGwrTKuzYcFJIEC+sW8i4qO+/DXmfdV3eq/8hC0+sUkA2cm9joZnXaEdrAaAFNqBDejjvn2db4lHTVARtOHs2ldy3Y9ZNzM/UOHxjSkKC/QsNY7SZDIaaH/cKIAYl53RopmjbFOnrv9IOiLwykvAHliSAEMnkhXL4XYgezm4up26FH22ibmtavXclfML6PpHztXoJdhhf/F8nJQRPXORqx0ri3QEgbAn2ejE1QHGs6Fs8Xv7ez5kw8WKJ9KETBa/Uik2ycbXwxD/eD0P0pVsWW3XR4lNB6fTEeRBXDKoImrCtqERcNgH1lRe4CgR/cu770QiTcVBpoG
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(376002)(366004)(396003)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(36756003)(31696002)(86362001)(83380400001)(41300700001)(2616005)(4744005)(6486002)(2906002)(26005)(31686004)(4326008)(8936002)(8676002)(6512007)(5660300002)(6506007)(478600001)(53546011)(38100700002)(6916009)(316002)(66476007)(66946007)(66556008)(43740500002)(45980500001)(131040200001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkE0OGNoS3hOTnFQdThISnFXTTg0em5GZXUxbDlPeGNTa0w0UnRjNHIvS04r?=
 =?utf-8?B?alNDYlZwSkhHM3kxekl1MEhhb0dhR2VDTWlsbHJLVElwb0tGZjRLSkZjc3N6?=
 =?utf-8?B?NFFQdUU1Y2ZZK2IrTUJHNE5iSVRTZDFhRUhKNmRYaTE1RnNsWnFmRXZPb29l?=
 =?utf-8?B?UHdFenFmbkZ0SDQvOU5teVpYNVdMeVBjTjRZTlpLQkwxdGgrQ1hSZDUrTHJI?=
 =?utf-8?B?Zml3QTlkNVJnSnF3WmdJcW1oWVRwc3hqOXRLV2tVQjlVUWk4NUlLeDFBL2hZ?=
 =?utf-8?B?R0pnNkF1ZXAxWlpVd3FWY0NJS2VaTWdUczdIU0M4MDk5RFJwZDV0Z3BDWkxE?=
 =?utf-8?B?WUZjajA3MFVxSk95YkJYRkZFVVR4VFA3UGJjQUJCOGpUekFxOEgwSEl0dzV3?=
 =?utf-8?B?b29UUlRRVm5iRVFYUmw0clRBd29yWnpCK2RwQzhwOGR3ampNdlF0WjBpSGpR?=
 =?utf-8?B?bEhZaVpOU0pVY1MycDhGZThRZWdSRWpHVncxWXhQZjlzUlV3QWx3TCt3NWlP?=
 =?utf-8?B?U203UlVoNURXNUxqTmFqTUVjQ05jZkNCOHNDdldjTmQxbCs5MVNsZTlLcTgy?=
 =?utf-8?B?VE4zRU5QdnE3encxVkdaVTlIMFdMT2dQdXhaS2xkaGp0dUFlbG5FQmF6N2F0?=
 =?utf-8?B?QUNHSGhkSXh3NEZOM1FlSFYrNVBjNXNlTkpmcXp1NkxPSVFtSVF5TFdqQ1NX?=
 =?utf-8?B?S3N2dGthaVhlcGI1Y3diR1BxcnFIYUhobHFBVGJnejR4ZTlHZE9TYmNmTzQv?=
 =?utf-8?B?V3hJL0VmVmQvNW9PS0R4NWdqazJCbk5hb2xSTFVsQ1NYQ1EvQkxqRVloOVF5?=
 =?utf-8?B?aURqTjc5S3ZVNVpXY2tWM2JvY3QyUDQ5Zk9idWRad1FpdktoUitDMXBQNTNX?=
 =?utf-8?B?OUIrRWJuR0l2akxqS0Q1WE1CbnBaSGtpdkE2N1FuSXVpUFBKUVRpNmx4L1dF?=
 =?utf-8?B?d2c3RVRYYnczRGhPUk9zb0hBQktnYjA4UndZcFAweXRKVkY3WVBTS2JSaVJ0?=
 =?utf-8?B?QmlLQVc4VC9GaDBmMWoxSytwYk5ZSi9vYjFOdUpic2NOVnlEc1A1cHhKU1ow?=
 =?utf-8?B?VUpZSlA0dGJEU3RDa0lRalRUN1A5bUJzTHdCSHlEQnR5VlFvL0RjQWJla2JP?=
 =?utf-8?B?T3p0aVRESXpRdk93ekl0b0JoeVQxdVV1OVI0ZGttYm1nWjVPbC9Bb3hTblZn?=
 =?utf-8?B?WG9PcStna0IrTDlVS3ZoeWxjMzRBcFJHVWVSaGgraEtrMlBqSEpPNzRDSzlC?=
 =?utf-8?B?SUtyd0VjREpvMTV5eVlWY3YxSFlWajh4MCt0ZXloTUxJTDhSc3IzbGswOHVo?=
 =?utf-8?B?M3pycmpnWFRPZmpraTVEN2tSaFErTFRsR05PL0U2emlETGFrWE05ZlZrNU04?=
 =?utf-8?B?REpvS1BZbTBhS21maUlDSnE4a2FmYTZsWmd2U0k2T01OWW5mTFVFN0Yyd1A1?=
 =?utf-8?B?amRJWHZpemxoMGJwZzZXVmJadUlpSGFGZ2lma1M4ZjdIcU9Db3J0VDd3MHc0?=
 =?utf-8?B?ZmdvSm04OWFPMTJLck1ZNy9LR3ZMZVg4UE12QzlkQTdVRTE4MWFNZjBTQlI0?=
 =?utf-8?B?NlpzOW1rVkhCSnRFKzBPdi96T3dJcFN2ZFN3NHYweFFvZFozQ3B4UFN5a0dj?=
 =?utf-8?B?V1RKMnN6MU9GcDkvZGhkRTZUdXZrWjMva1IxaUViUVlrdmtJdFFHV0Y1S3l3?=
 =?utf-8?B?VG96eEJ3dElDaTZBdTVnVDhtcncwRkFqN2dNcDIrdW4yNXF1Mjh0TnZjcmFo?=
 =?utf-8?B?Z1IxeDBHbFd1SkFtVEdJTHM2ZENJd2dGLzNsTnM4d0hJK3YycWhka3dxUzBJ?=
 =?utf-8?B?T2JNRHIvRWJIR2Y2dGVUeFRLMEF4TG4ydG41RDRVL1cvaE9takZYNk9JRCt5?=
 =?utf-8?B?QlVROG1CZ3BQdWgwOXQ3NTl4eWZ6OGhEQjlFR2NmRXBqckExVmNjR1BMRVBh?=
 =?utf-8?B?bEFWeWlwYWZXNUlvelJtVUdaQjJKWUxFUDlhd0JZSTc5Q2RLQmxHaVBTSmdZ?=
 =?utf-8?B?T2ZhY3ZIUGlzVVo3UmFnWHFFT3BWWVo4L1BmTFBNd0pSMFlZcm9EZzJ1MTlX?=
 =?utf-8?B?K3grZkh1WXZ1NERJVy9BKy9OL1R2aGhEZnRld0duZHR4bVFqZmZJT0w1emZz?=
 =?utf-8?Q?e2hSew3K+jAJo9QVZ2DXYBrE8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 05fb64d9-0e60-43b4-ad50-08dbe4e2723b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 07:22:23.4323
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: M3aiTJ4+vXILv16cO/c2fEHFZS+uN/yOxMmG9QfFyUH36CAosTQ0wDEqnBxIRuEstPddVSVTc1osntugwywF2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7953

On 13.11.2023 22:40, Jimmy Lee wrote:
> Hi Jan, thanks for the response! Adding more details and log files here:
> 
> 1. I installed Xen 4.14 on CentOS 7 with yum:
> 
> [root@test-xen ~]# yum list xen kernel
> Loaded plugins: fastestmirror
> Loading mirror speeds from cached hostfile
>  * base: download.cf.centos.org
>  * centos-virt-xen-epel: d2lzkl7pfhq30w.cloudfront.net
>  * extras: download.cf.centos.org
>  * updates: download.cf.centos.org
> Installed Packages
> kernel.x86_64
>  3.10.0-1160.45.1.el7
>  installed
> kernel.x86_64
>  3.10.0-1160.76.1.el7
>  @updates
> kernel.x86_64                                                4.9.241-37.el7

I'm afraid neither this ...

>  @centos-virt-xen-414
> xen.x86_64
> 4.14.5.24.g87d90d511c-1.el7
> @centos-virt-xen-414
> [root@test-xen ~]# uname -r
> 4.9.241-37.el7.x86_64

... nor this counts as recent kernel. I did point you at the commit you
(minimally) need.

Also - please don't top-post.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 07:42:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 07:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632164.986255 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2o43-00020H-A0; Tue, 14 Nov 2023 07:42:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632164.986255; Tue, 14 Nov 2023 07: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 1r2o43-00020A-78; Tue, 14 Nov 2023 07:42:27 +0000
Received: by outflank-mailman (input) for mailman id 632164;
 Tue, 14 Nov 2023 07:42: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2o41-000204-Np
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 07:42:25 +0000
Received: from mail-ed1-f42.google.com (mail-ed1-f42.google.com
 [209.85.208.42]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 582889b4-82c1-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 08:42:23 +0100 (CET)
Received: by mail-ed1-f42.google.com with SMTP id
 4fb4d7f45d1cf-53e751aeb3cso8127566a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 23:42:21 -0800 (PST)
Received: from [192.168.69.100] (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 er22-20020a056402449600b0054130b1bc77sm4739041edb.51.2023.11.13.23.42.12
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 23:42:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 582889b4-82c1-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699947735; x=1700552535; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=afwXf5UyfyHio4t/MoTziNc/oom0veIJS2FP26Ef0EA=;
        b=i++D8hS0/ZiCEejgJogbXky4h2JNT9itk2sgeCT3HIiVQRewMFaU38wTmiG21rPE2h
         aQvYwvpdp77Gs6hv1iBIchLt304u1fGDqTMOr6Sh59NAlnJ/Tk8gInu8bVdAc58qw5ES
         QiIJRXTxicOJozQWrjWPHvqcjgWeO49XpXWNrD6dSAQJ7PdVo3I/hMm13MF1j+lsT6wM
         qIiLZKz//iJQoEussltAzyXE8fm2EAr66tmenFLsPes3C6aJeSwf3mJ1dPwjS0wLgyK6
         UjxNjncrXPLOICPhszcZNHiml/PVlzjIm+pxFyNfKOx8TWaMZkPj6WFt2zhnKJXcskfg
         zrjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699947735; x=1700552535;
        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:subject:date:message-id:reply-to;
        bh=afwXf5UyfyHio4t/MoTziNc/oom0veIJS2FP26Ef0EA=;
        b=g6WGq7zGFVWgdeW9mfpTOcXcUIybI+LT+BD+jJS6Fz4XZ4O9IQjTSLJtSOFttwSRsT
         gDxwxOLblfXd16mdcwKK8XP0eTnZ+WEJE1bi99dbZDXeGiUA7z7+8ONdZs9JW+8+2Jak
         8o8zlmI3nnKSIE8kev7PSfCPzhS5aLZB4FG7BcDgYe0aurzI68dnsAlgncQKTtpzLwoK
         GDQm4ENhS/I780kRylsGu2swNxGmmYtpY5qUL10IreZdVkkvq6V6Dgn3ct20VGCzYLt1
         KVuDedQUyHDZpHPyoRSSRAnzbIRsTxFd4JJdhTBC84prRit3tDo7XzkTVDt0e7ItoSUS
         XljQ==
X-Gm-Message-State: AOJu0YwXm0gQxFwz8N+/NP6GYYpaVzUTX/2GwfwP8lXX2wdF1DYu8VN1
	Pq7TttWP6/k36bE49LmfyYaGqw==
X-Google-Smtp-Source: AGHT+IFce6dsUWO8qArRxaXq4VW8P2txycNkeinwY/EAXtRKE4RItRlBpr4najyISG4uncQiB0ABBQ==
X-Received: by 2002:a05:6402:884:b0:545:5674:4293 with SMTP id e4-20020a056402088400b0054556744293mr6387649edy.28.1699947734901;
        Mon, 13 Nov 2023 23:42:14 -0800 (PST)
Message-ID: <e6680657-59de-4845-a3a3-af8df11fc443@linaro.org>
Date: Tue, 14 Nov 2023 08:42:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 04/10] hw/xen: Factor xen_arch_align_ioreq_data()
 out of handle_ioreq()
Content-Language: en-US
To: Richard Henderson <richard.henderson@linaro.org>,
 Paul Durrant <paul@xen.org>, David Woodhouse <dwmw@amazon.co.uk>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-5-philmd@linaro.org>
 <a50b0790-03d7-458c-834b-907e130bb5fd@linaro.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <a50b0790-03d7-458c-834b-907e130bb5fd@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 13/11/23 19:16, Richard Henderson wrote:
> On 11/13/23 07:21, Philippe Mathieu-Daudé wrote:
>> diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
>> index c028c1b541..03f9417e7e 100644
>> --- a/hw/xen/xen-hvm-common.c
>> +++ b/hw/xen/xen-hvm-common.c
>> @@ -426,10 +426,7 @@ static void handle_ioreq(XenIOState *state, 
>> ioreq_t *req)
>>       trace_handle_ioreq(req, req->type, req->dir, req->df, 
>> req->data_is_ptr,
>>                          req->addr, req->data, req->count, req->size);
>> -    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
>> -            (req->size < sizeof (target_ulong))) {
>> -        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
>> -    }
> 
> 
> I suspect this should never have been using target_ulong at all: 
> req->data is uint64_t.

This could replace it:

-- >8 --
-    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
-            (req->size < sizeof (target_ulong))) {
-        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
+    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE)) {
+        req->data = extract64(req->data, 0, BITS_PER_BYTE * req->size);
      }
---

Some notes while looking at this.

Per xen/include/public/hvm/ioreq.h header:

#define IOREQ_TYPE_PIO          0 /* pio */
#define IOREQ_TYPE_COPY         1 /* mmio ops */
#define IOREQ_TYPE_PCI_CONFIG   2
#define IOREQ_TYPE_VMWARE_PORT  3
#define IOREQ_TYPE_TIMEOFFSET   7
#define IOREQ_TYPE_INVALIDATE   8 /* mapcache */

   struct ioreq {
     uint64_t addr;          /* physical address */
     uint64_t data;          /* data (or paddr of data) */
     uint32_t count;         /* for rep prefixes */
     uint32_t size;          /* size in bytes */
     uint32_t vp_eport;      /* evtchn for notifications to/from device 
model */
     uint16_t _pad0;
     uint8_t state:4;
     uint8_t data_is_ptr:1;  /* if 1, data above is the guest paddr
                              * of the real data to use. */
     uint8_t dir:1;          /* 1=read, 0=write */
     uint8_t df:1;
     uint8_t _pad1:1;
     uint8_t type;           /* I/O type */
   };
   typedef struct ioreq ioreq_t;

If 'data' is not a pointer, it is a u64.

- In PIO / VMWARE_PORT modes, only 32-bit are used.

- In MMIO COPY mode, memory is accessed by chunks of 64-bit

- In PCI_CONFIG mode, access is u8 or u16 or u32.

- None of TIMEOFFSET / INVALIDATE use 'req'.

- Fallback is only used in x86 for VMWARE_PORT.

--

Regards,

Phil.


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 07:43:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 07:43:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632167.986265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2o4l-0002XM-Li; Tue, 14 Nov 2023 07:43:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632167.986265; Tue, 14 Nov 2023 07: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 1r2o4l-0002XF-IQ; Tue, 14 Nov 2023 07:43:11 +0000
Received: by outflank-mailman (input) for mailman id 632167;
 Tue, 14 Nov 2023 07:43: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2o4k-0002X5-6m
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 07:43:10 +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 741257ed-82c1-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 08:43:08 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-543456dbd7bso12680082a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 23:43:08 -0800 (PST)
Received: from [192.168.69.100] (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 er22-20020a056402449600b0054130b1bc77sm4739041edb.51.2023.11.13.23.43.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 23:43:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 741257ed-82c1-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699947785; x=1700552585; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=iGJSh7ARTE57eUspw2fZ/Y9FEN8W9w9Q7cghnGFYjQE=;
        b=LghYQVKFsIcbnhRHkXTK8LGZJ16rmxPUb2AkKQqgq0J+e/DKajLD4kEpYORXOsBCqH
         ehc3rCpr4zffkN2yUxPR/ZbpoAjDRvlwO+wpKTGd6zrWX7fEpd1+7Ir4RW1SMQjsN8R5
         RWozjhE1LMS3Qm+vZaUl/Ea+u94t2USlWIHX7IdW7hN58zFksD2NWtaFmdJvp2nQefUY
         xlYZotHh+UmNCgSgA+AITjzdbQU5fDlSZvSPAHPmZywMYtk1fxsrShuGrN06Q3o51ctG
         Mzjtws8eTP1b2EPAZDI70Y3NeVnvRcicjBM4Oa78hm7cnen0MmxnnevtCZfm4NSn+ZzC
         2BSg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699947785; x=1700552585;
        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:subject:date:message-id:reply-to;
        bh=iGJSh7ARTE57eUspw2fZ/Y9FEN8W9w9Q7cghnGFYjQE=;
        b=LGVJ6HbXPa2Ifwpnl7r6uunWYKLLQXraJ5bmLDozo0u77RZ0xjyZU/W455hfO0lKWh
         dvzdkN5LwEG2wkNEN1erQoxKN3Z6PoYDnGPwTT+WtpdN1ZnokZxfuK0bOnzudZwAlpcf
         9/A5P2yraPn41aCDixSGHqCY5Xno02VbN7yEBL662Kx1gYxYC9Uub/lC6XShgYy4TWuO
         NfRlnL104ZAVMYpaZtbO78cZGMU7dD3Me8jvN+OQgikw+LKhWfYEPOSbFWQUJ4qaqzhj
         z2IVcR607HFeF/pCKs52MMFfBtBSPzXryTNeE9CPsqelYtZP335g/zSwTMeiHrQBJldT
         88Og==
X-Gm-Message-State: AOJu0Yz11yuxAZEihxppjCJ+RSwWIZqWxfQGfqMa42BZAyi4YipErY0H
	9YAtx2+sQ0ywhz87jgxxQz8QTw==
X-Google-Smtp-Source: AGHT+IGc3/NG8UqFInjKsnJ47x00sT9L6VqttZpc9DaeBplNVfbIFLh/QxmAKcqUI5QOxgCuVcfEEA==
X-Received: by 2002:aa7:da07:0:b0:542:ff1b:6c7a with SMTP id r7-20020aa7da07000000b00542ff1b6c7amr1704591eds.9.1699947784705;
        Mon, 13 Nov 2023 23:43:04 -0800 (PST)
Message-ID: <987f44c2-0fff-471f-b69a-fac0da5794df@linaro.org>
Date: Tue, 14 Nov 2023 08:43:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 08/10] system/physmem: Only include 'hw/xen/xen.h'
 when Xen is available
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>,
 Peter Xu <peterx@redhat.com>, David Hildenbrand <david@redhat.com>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-9-philmd@linaro.org>
 <1681041d88a9f9062170eb6599947e24424bf37f.camel@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <1681041d88a9f9062170eb6599947e24424bf37f.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 13/11/23 21:03, David Woodhouse wrote:
> On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daudé wrote:
>> "hw/xen/xen.h" contains declarations for Xen hardware. There is
>> no point including it when Xen is not available.
> 
> ... if even when Xen *is* available, AFAICT. Can you just remove the
> inclusion of hw/xen/xen.h entirely? I think that still builds, at least
> for x86.

Yep, also on aarch64, thanks!

>>   When Xen is not
>> available, we have enough with declarations of "sysemu/xen.h".
> 
> ... and system/xen-mapcache.h
> 
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> 



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 07:58:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 07:58:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632177.986276 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2oJa-0006qF-Uj; Tue, 14 Nov 2023 07:58:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632177.986276; Tue, 14 Nov 2023 07:58: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 1r2oJa-0006q8-RT; Tue, 14 Nov 2023 07:58:30 +0000
Received: by outflank-mailman (input) for mailman id 632177;
 Tue, 14 Nov 2023 07:58: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2oJZ-0006q2-Ib
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 07:58:29 +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 97d4720e-82c3-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 08:58:27 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4094301d505so41832635e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 13 Nov 2023 23:58:27 -0800 (PST)
Received: from [192.168.69.100] (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 r18-20020a05600c35d200b0040a487758dcsm10551547wmq.6.2023.11.13.23.58.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 13 Nov 2023 23:58:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97d4720e-82c3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699948705; x=1700553505; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/ocmXiH4qcLkoZdQoaluE8CpB0EXbFAC8scGwpgtKsc=;
        b=aDjl3ezvyjLBRyLAo/LzZ1+snR/xj5bxRF+kPMxfjua2U/brZjzyr9C4fBdN0+tUhy
         aiCJd6dAmjQMN6pLHZCbER6qbCGBGe36e1dSYVaC3reqktgxg3Q9E7MgX2e/pCtGaW+J
         zMAmAlSRcAM1f9n5ULJ9uxyZ4fdaxzqN2ZKc1HDUGbeWCfHTYejJ0R1evgJXuGq2/VJ1
         GSshBtwEHCWLw5RRMI01S0D+h7HgXy+y0JMSprbUSTaMZDSfaxLUbgTpYOjFLI2Fl3S7
         0pV6v7LOiT9ukW8M3kRbyZemcPXihZu6Hx9PygejHQ1rR/0WV7YeITMl6hbed0YnfQ3Y
         jwkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699948705; x=1700553505;
        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:subject:date:message-id:reply-to;
        bh=/ocmXiH4qcLkoZdQoaluE8CpB0EXbFAC8scGwpgtKsc=;
        b=BtzdhqzDhYAOsWPUbGNAe/Hf5E9bSbbYs7mVy25Tk29WEdg2Yn2FdQLvy7uTisuhX/
         3d7F1c3CDw1AhpJ2WW36900e4wIEpqtvcTiVf6i/568UTxNUZo2Blo9OlsMWHFNUNqTg
         y/d1Dj6tf+j+gCX26e0l2R30G54JgOyng4yAl3Dg7G8RrHS1OT/1DaoeNTSObyV/wWlC
         SLUDxfjtRV71DpXE/m/C2VpdDqLqtri54SBFdlIACGVHJMFv1y7W8NBp0H1aQcQ3auPH
         Vvep8bml84BewVaQZbQuxeDJ9pwHw7QBEzMdGZNAaeSw/efXfS5XUUai8PgoSojrliAT
         e0sA==
X-Gm-Message-State: AOJu0Yy6+B9b4ut4Okvj92Cw+rDykY5XJHkRVe2D6qoN9RSG9ziQZ3ex
	eoakGcBHV4gnfiCXd8wuxE7gkA==
X-Google-Smtp-Source: AGHT+IGLnHPxByJUZlv0OHbrwkWB8vQY4zl1JbOsJeysfx3/2KJYr3iDxrCmrQRuOG07AKPgS0e+TQ==
X-Received: by 2002:a05:600c:1c21:b0:407:612b:91fb with SMTP id j33-20020a05600c1c2100b00407612b91fbmr6720884wms.30.1699948704783;
        Mon, 13 Nov 2023 23:58:24 -0800 (PST)
Message-ID: <b7646614-8f5c-4ea6-9ea8-ff81f4a492c9@linaro.org>
Date: Tue, 14 Nov 2023 08:58:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 04/10] hw/xen: Factor xen_arch_align_ioreq_data()
 out of handle_ioreq()
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 "Michael S. Tsirkin" <mst@redhat.com>, =?UTF-8?Q?Alex_Benn=C3=A9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "qemu-block@nongnu.org" <qemu-block@nongnu.org>,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>, Paul Durrant <paul@xen.org>,
 Peter Maydell <peter.maydell@linaro.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
References: <f791a822-f6f5-44fa-904b-f67d3f193763@email.android.com>
 <7a66c289-19e1-4690-8c6e-31a9f6344b6f@linaro.org>
 <e892e4eee469b1d1406dcd0844af48d1aaff23ae.camel@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <e892e4eee469b1d1406dcd0844af48d1aaff23ae.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 13/11/23 18:11, David Woodhouse wrote:
> On Mon, 2023-11-13 at 17:09 +0100, Philippe Mathieu-Daudé wrote:
>> On 13/11/23 16:58, Woodhouse, David wrote:
>>> On 13 Nov 2023 10:22, Philippe Mathieu-Daudé <philmd@linaro.org>
>>> wrote:
>>>
>>>      Per commit f17068c1c7 ("xen-hvm: reorganize xen-hvm and move
>>> common
>>>      function to xen-hvm-common"), handle_ioreq() is expected to be
>>>      target-agnostic. However it uses 'target_ulong', which is a
>>> target
>>>      specific definition.
>>>
>>>      In order to compile this file once for all targets, factor the
>>>      target-specific code out of handle_ioreq() as a per-target
>>> handler
>>>      called xen_arch_align_ioreq_data().
>>>
>>>      Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>      ---
>>>      Should we have a 'unsigned qemu_target_long_bits();' helper
>>>      such qemu_target_page_foo() API and target_words_bigendian()?
>>>
>>>
>>> It can be more fun than that though. What about
>>> qemu_target_alignof_uint64() for example, which differs between
>>> i386 and
>>> x86_64 and causes even structs with *explicitly* sized fields to
>>> differ
>>> because of padding.
>>>
>>> I'd *love* to see this series as a step towards my fantasy of being
>>> able
>>> to support Xen under TCG. After all, without that what's the point
>>> in
>>> being target-agnostic?
>>
>> Another win is we are building all these files once instead of one
>> for
>> each i386/x86_64/aarch64 targets, so we save CI time and Amazon
>> trees.
>>
>>> However, I am mildly concerned that some of these files are
>>> accidentally
>>> using the host ELF ABI, perhaps with explicit management of 32-bit
>>> compatibility, and the target-agnosticity is purely an illusion?
>>>
>>> See the "protocol" handling and the three ABIs for the ring in
>>> xen-block, for example.
>>
>> If so I'd expect build failures or violent runtime assertions.
> 
> Heh, mostly the guest just crashes in the cases I've seen so far.
> 
> See commit a1c1082908d ("hw/xen: use correct default protocol for xen-
> block on x86").
> 
>> Reviewing quickly hw/block/dataplane/xen-block.c, this code doesn't
>> seem target specific at all IMHO. Otherwise I'd really expect it to
>> fail compiling. But I don't know much about Xen, so I'll let block &
>> xen experts to have a look.
> 
> Where it checks dataplane->protocol and does different things for
> BLKIF_PROTOCOL_NATIVE/BLKIF_PROTOCOL_X86_32/BLKIF_PROTOCOL_X86_64, the
> *structures* it uses are intended to be using the correct ABI. I think
> the structs for BLKIF_PROTOCOL_NATIVE may actually be *different*
> according to the target, in theory?

OK I see what you mean, blkif_back_rings_t union in hw/block/xen_blkif.h

These structures shouldn't differ between targets, this is the point of
an ABI :) And if they were, they wouldn't compile as target agnostic.

> I don't know that they are *correct* right now, if the host is
> different from the target. But that's just a bug (that only matters if
> we ever want to support Xen-compatible guests using TCG).
> 
>>> Can we be explicit about what's expected to work here and what's
>>> not in scope?
>>
>> What do you mean? Everything is expected to work like without this
>> series applied :)
> 
> I think that if we ever do support Xen-compatible guests using TCG,
> we'll have to fix that bug and use the right target-specific
> structures... and then perhaps we'll want the affected files to
> actually become target-specfic again?
> 
> I think this series makes it look like target-agnostic support *should*
> work... but it doesn't really?

For testing we have:

aarch64: tests/avocado/boot_xen.py
x86_64: tests/avocado/kvm_xen_guest.py

No combination with i386 is tested,
Xen within aarch64 KVM is not tested (not sure it works).


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 08:09:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 08:09:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632184.986285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2oUS-0001qZ-B3; Tue, 14 Nov 2023 08:09:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632184.986285; Tue, 14 Nov 2023 08:09: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 1r2oUS-0001qS-8M; Tue, 14 Nov 2023 08:09:44 +0000
Received: by outflank-mailman (input) for mailman id 632184;
 Tue, 14 Nov 2023 08:09: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=Q3bb=G3=epam.com=prvs=5682542b74=artem_mygaiev@srs-se1.protection.inumbo.net>)
 id 1r2oUR-0001qM-0b
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 08:09:43 +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 2841e77b-82c5-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 09:09:40 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AE7MchL015487; Tue, 14 Nov 2023 08:09:31 GMT
Received: from eur01-he1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2050.outbound.protection.outlook.com [104.47.0.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ubpk9a58x-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Nov 2023 08:09:30 +0000
Received: from AM9PR03MB7680.eurprd03.prod.outlook.com (2603:10a6:20b:41d::24)
 by VI1PR03MB6591.eurprd03.prod.outlook.com (2603:10a6:800:19f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Tue, 14 Nov
 2023 08:09:24 +0000
Received: from AM9PR03MB7680.eurprd03.prod.outlook.com
 ([fe80::cefb:90c8:9d6f:7b14]) by AM9PR03MB7680.eurprd03.prod.outlook.com
 ([fe80::cefb:90c8:9d6f:7b14%7]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 08:09: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: 2841e77b-82c5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DSWrWuHT+K6Ev7EmIwnooFvTibmQHWkm6bIH/09iG4I/AecVOwhEehNjZMfrqOWOrfXOwX0BVZ7PVaKUk8EzYwO9/rKOyPbv7DIKoAdndB0eR6vldxrZACLcc1II+kePpns3xQtmpNR2atbmE322Q+m85OfqoXOA4Mg4uUPHxg8r9Mt4u0EqnXFkPsEcaeNa5lEFd/70W4VTXXhdz7DZAE2UM8wDW6qVdHp8Dv8nQGIWJnSHuvbgkseGhisArTyZRdZZAApm9qn+Dwav+48WzkJtIuh+dbK6MoU2DnyOg53CGR4Kfuk3+FFvON1T7aHKU07v8lOpCUqnkwU3rp2vVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EgFwG9Rush+7cKU9jw1scZ8gNa1+xxLag5ZuEc4dAGY=;
 b=Km0O4knLrSqkqlz16z+tJlX2t5TTgdvbFGMAWy8MLsmbxXlQiGuE3GkWMkKi6OMXxHwzDmNLGRZstVIjmMR9SQNqhJqsPjWfyb5Mu/aPxn+vLN2HJQUm1a5X3+Xpk/nwNpdaMVm7+8EjjMN3kTolQJYYhN7xsdfvN9seljq+xoW3uwv4YIeNGRXk8m2RlQQxyarzJ5ISX+SrJKG/ILH6K45dc81zDof1lQ7RfReu9aY+qCzb+epd0/frUyI5RpWEIvzBPHpWUVNoKTNoEmGjkEhYw669haUYA1Pypz7yCmD15CqAT5Si0w0R0rflTeMLm0lLa9spuhDuEA9FgjlGHw==
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=EgFwG9Rush+7cKU9jw1scZ8gNa1+xxLag5ZuEc4dAGY=;
 b=ELrFNibl6RCSGsqAYf3Haa2Yq6G0fRV3DXQK1KEWC5F0vgNN/gfehW1Er4wNs+TFSqZJhtN99Z5swMTm1ZQ3x3LTQOvYYT4tWLTwMPqR8k5PIsU6yGsLjiWspj35AARKTgd53fI6rKJKqmk5iMfQRyxoCq2442rekEH3Xy+xdfUpVhzCLSanKj/ZuyNpDH2J8q8WqIAQy/PqVuhrgs2XQ9siFOW5mztK2DK+9fiKwcYvJSGskipu+2f2Gfoqos4w6h1JqoYy2N9w+H3YdlxoO6JFu7to+3H1cDIr/lL2qoE4vEws0IHNGTh1m5Ghcwngo30Iq4xjPuBBbsn061em1A==
From: Artem Mygaiev <Artem_Mygaiev@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>,
        Anthony PERARD
	<anthony.perard@citrix.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Oleksii
 Kurochko <oleksii.kurochko@gmail.com>,
        Doug Goldstein <cardoe@cardoe.com>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
Subject: Re: [XEN PATCH] CI: Rework RISCV smoke test
Thread-Topic: [XEN PATCH] CI: Rework RISCV smoke test
Thread-Index: AQHaEyRiRGjxF1HRw0OhccL4raMQTrByM/8AgACIxgCABaGGgIAAmjOAgACBcQg=
Date: Tue, 14 Nov 2023 08:09:23 +0000
Message-ID: 
 <AM9PR03MB7680820572D62B6A6E409D3AF4B2A@AM9PR03MB7680.eurprd03.prod.outlook.com>
References: <20231109154922.49118-1-anthony.perard@citrix.com>
 <7bffd0ff-290f-461c-a0ce-35440b36240a@citrix.com>
 <alpine.DEB.2.22.394.2311091657150.3478774@ubuntu-linux-20-04-desktop>
 <a12642cc-0b2a-42fe-9eff-a5a8642d3373@perard>
 <alpine.DEB.2.22.394.2311131612460.160649@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2311131612460.160649@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
msip_labels: 
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM9PR03MB7680:EE_|VI1PR03MB6591:EE_
x-ms-office365-filtering-correlation-id: 8d7169ee-3c62-463e-6e3f-08dbe4e90377
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 22/yrY7d/A1r6ThKleqwbfXocNkRCc06Qpuz/pJ3D2znEyV2CQJAi23p3Q5IwEDF2o/IGDJtcoSpGwRUUY+gnudj1+wKwaobBvajTbwRQ9StEI9X4+Ux2uqql2mZ9OfeauwadQ3rXOE8dGrnxOFUKoOLKB9CginFxuhiCRYiDmXojPfHw5bfwKKWplA1PHiIK+abKLHOEbiiMW8a7XSL9i3S5xkkYt7qCWktRTmUorp/esJWPRKbCWgViDd8MEDiO8W9yf8Pedn2th4xmV67SOBqtqiWi9iT0eZLzXXx6apBKe9zpHIeV7YQf0XXGjR+PRgLWcfI242y+Hfxf1144MW6ia4FpBAvYDKA2BYVoe8IbeJIKaKzmsSvnViZZrhgEIxHFeFYMcIP1kdyuJtsvRjvRAoVgDV0WBaOGLZC9R/ML9SzE4m0oe3euEoXruDw6zzYfo1zpAvMXusg4xMWjHNtjXG7ePuzRB/vVNSZFR79h9jB+Za3S3ML/U7f1jcdzs8mloV6IZ0Wpc9e8vCL69anunCQ3BSgQqpIP3mWhgzNFzMXlynJVrBJwglzZOM6hmTDVCUsHac9bNAIZ9dabKT/6AszEldF1J8M4niNnujjzVOyqiKMCP8mOLvmXo79
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM9PR03MB7680.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(366004)(136003)(39860400002)(376002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(33656002)(86362001)(38070700009)(5660300002)(55016003)(52536014)(4326008)(71200400001)(6506007)(7696005)(55236004)(83380400001)(107886003)(64756008)(2906002)(54906003)(4744005)(76116006)(66476007)(66556008)(66446008)(316002)(66946007)(91956017)(110136005)(26005)(9686003)(8936002)(8676002)(478600001)(122000001)(38100700002)(41300700001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?imI24jygqkuKWi3O8qhbwTaO89gYl+GhaNRUUQ7PK2fnsZ+4VrHkrGYtsl?=
 =?iso-8859-1?Q?2SzK1/hnNq8rFV8U1P2Foky4xZ9ZXH423KwXj9kPPMZ2K0Xd0y3w/8tTxs?=
 =?iso-8859-1?Q?O2oB89pXATC5+AWqzytGoPaZ+JMAf3RTNn67ZNT+vWD/i265GPMDPGXLFr?=
 =?iso-8859-1?Q?yWPoWXVSeQgiQHNQ4MBmiFUkOkeaVIXQ+hLyOgxV0EE953o6sAQQaQPCRk?=
 =?iso-8859-1?Q?VzjJtyZ5A6pmaVfC78gD7IzoYkje/zd6eIWdD2StGRmA6y/ru44dmY0WEd?=
 =?iso-8859-1?Q?9nwLQ0uZGkzyi6+rroLgbC5P8SI0lFy0MbK8jyqCyThjZK/jH3Z0dQD6V9?=
 =?iso-8859-1?Q?MD9ldixDyfLcrLJm1mf5bL+SXG8cpbiQvmmH7fOWirRGJEGSnOibx+pc01?=
 =?iso-8859-1?Q?CEAU6YU5dZIL86j3eqRMBNaHnC64a+97kWqmQq9nKoJTnOo8Qa8eR5Mxz1?=
 =?iso-8859-1?Q?1gpwgMh3gTk74WNWebWNQw7kvfD3Sqyqu9lCyDoc+u+gXcJuicOkMmKVNS?=
 =?iso-8859-1?Q?UPG1qk+NFgCp1OcHnJqmH5QCTeNE4gDziUM8r/pO3J1toU2V/ztuhnIOgz?=
 =?iso-8859-1?Q?kJWQ82Gegu/1/qTPYKbgYfrLB/ca1VGilf7D4ORRSX+NshFy/5ScvhnrAM?=
 =?iso-8859-1?Q?0qyzzatGz5tDX/DNjN3kozukOdBk9iKxh+bcesQv3c6ClMVCIEnMXQl2pA?=
 =?iso-8859-1?Q?mHRle2yUXdixAyXTEYbNuTwkFZaJC4tkT0M12W36sC4xEvJzQbzwSXYt2N?=
 =?iso-8859-1?Q?QMfGajXsm+NqbNVOhLBwowZ7VGJ6yC++/CtuulnczOZ+jManSvjBL4uqGc?=
 =?iso-8859-1?Q?EioKGrE76oIigJv0WIkB8Qk0Hne1IvTDF756+ZySt+Onm2MjF9LNENzshA?=
 =?iso-8859-1?Q?BhA31pcphfdfw+vUeZmc6hlYHQfJhlpk/tBNemAsm8PnKpOPyINjSNHXo7?=
 =?iso-8859-1?Q?iaFv21yTkQUL0HQBrwd1Wh4RIvE7QAZ1BDXCAz8KRf47SAkwMjtrdIBkt6?=
 =?iso-8859-1?Q?1aFCl6nWkzJG7CueJ9hvS8v7/DV57ZqetKAizGPC1+996r89c+0guDxQES?=
 =?iso-8859-1?Q?u9u2Mv87LF5ahybgBlangJmSQy1elJuytdn05JmIrt3lS+SDnBJImeImyC?=
 =?iso-8859-1?Q?IBhubUWSSE2sruHmf1wY5sMyr5slSH1Ib497R7Q9x+JIvcm6iXk34NvIRX?=
 =?iso-8859-1?Q?dVZk0FPrPFBl06b3yrM7dUnmPE6dToTqil5DuBJGSJdW8NIVCLLBd6RXM1?=
 =?iso-8859-1?Q?YuJVfEh6YeJOg+vjujFSUckND6sielev8YykxvqGZSuWfiXN2MHSjjiYBs?=
 =?iso-8859-1?Q?W181nCcOn2VTQR5oqYZ9V5ZhnZs4JPkJeK3uvupVe4VSPEpVpxx1XKN9G0?=
 =?iso-8859-1?Q?NJ9EyUW4WiqmYVKhBAXOg3hphV5/afG0zBxVy+W12O9+c6xB4KUz/311Dp?=
 =?iso-8859-1?Q?CVbyuS1Ww5UAji7D6ou27rUmxcAgLrdX7huWaJTiXZ38s8AHXiTwUgyNCR?=
 =?iso-8859-1?Q?/8TU+xBz74aPaPO7pXnzOZwsUPOVXfTYmblEdMOdv3An0iyOD5jDY1tlx3?=
 =?iso-8859-1?Q?KtzWZ+jmOQ7nsZ5520YFo+yymM7mMzMoBWtxdqvt4pzvhMKxKV4GNicLY4?=
 =?iso-8859-1?Q?tmSBEpx7APVP6cF+Uv3fcYW+XComL6Sq8R?=
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: AM9PR03MB7680.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8d7169ee-3c62-463e-6e3f-08dbe4e90377
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2023 08:09:23.9451
 (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: 8L4edH8HCxuyd9UaU1CQYiW3jjrO6vM349I/NmC1F0uEGwFJwnco/B0Hatgb+LTOorPV4xvcmziYRh4pgR3RbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6591
X-Proofpoint-GUID: NFuWF-KPbpbV-PaTJeAQ9LiqnQauscEc
X-Proofpoint-ORIG-GUID: NFuWF-KPbpbV-PaTJeAQ9LiqnQauscEc
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-14_07,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 malwarescore=0 spamscore=0 priorityscore=1501 mlxscore=0 adultscore=0
 clxscore=1011 impostorscore=0 mlxlogscore=999 bulkscore=0 phishscore=0
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311140062

Hi Stefano, Anthony=0A=
=0A=
On Mon, 13 Nov 2023, Anthony PERARD wrote:=0A=
> On Thu, Nov 09, 2023 at 05:02:08PM -0800, Stefano Stabellini wrote:=0A=
> > ### qemu_key.sh is using "expect", see below. I think we should be able=
=0A=
> > ### to achieve the same by using expect to close on the expected string=
=0A=
> > ### (instead of waiting for eof)=0A=
> =0A=
> So, `expect` is just a different kind of language than shell is?=0A=
> Also, `grep -q` doesn't wait for EOF, and just exit as soon as it found=
=0A=
> the pattern.=0A=
=0A=
Just a brief background on `expect`: it is a nice tool widely used in testi=
ng of=0A=
embedded Linux systems with CLI. It is popular because it is small and avai=
lable=0A=
for basically every distro including very old ones, and it is very flexible=
. We=0A=
were using it for ages in automated testing, so for me it was no-brainer to=
 pick=0A=
it when we needed to "interact" with console.=0A=
=0A=
One minor drawback though is that `expect` uses Tcl for scripting, not shel=
l :)=0A=
=0A=
 -- Artem=


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 08:20:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 08:20:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632187.986296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2oeg-0005Rg-AK; Tue, 14 Nov 2023 08:20:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632187.986296; Tue, 14 Nov 2023 08: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 1r2oeg-0005RZ-6r; Tue, 14 Nov 2023 08:20:18 +0000
Received: by outflank-mailman (input) for mailman id 632187;
 Tue, 14 Nov 2023 08:20: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=dDFb=G3=epam.com=prvs=5682ba6769=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r2oee-0005RT-TO
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 08:20:16 +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 a2d2cb7c-82c6-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 09:20:15 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AE7MfnE020262; Tue, 14 Nov 2023 08:20:11 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 3uc475068e-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Nov 2023 08:20:10 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AM9PR03MB7187.eurprd03.prod.outlook.com (2603:10a6:20b:26f::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Tue, 14 Nov
 2023 08:20:07 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 08:20: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: a2d2cb7c-82c6-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gvOZ+/36jANvz4DqejjPiTj+8LVlOc35Ble1h+OBdrKsam5+b7tXSHN3jkSUuDDzsmCzvB0FEYoE1zr2g2EI1TGBVbwJnE12Ro8fX24PviFjL18vTCkLgBO7UeP/Q95M6j0+uRov7GRa3zDnuPpcy+jd5iOPoiEFcjRui/9BK138duhj4ym2VS2HvXFscFoARZzc2PEnyh6yezyRaj2JOQwfwQkdXKyTxR5q2fZ369fM5Ibk3cKW2AjGh7LOpPqhas4DYnJb/17ktngUWT8j00oQ3SW4RcXeYbLv9L/16K4E+DiVRp0zNM9/qY0kbUxMKk4B8RtkUI8BK32kk0m/KQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zu66BTRsKQSTP5zj7i0yftHaKjX4+sHfNq2CYBpLDRI=;
 b=jBItv+nz0REg7Hp29a07Ydovc7g8DmAS5z5xq8FvPXNy3U84BxcyayaxVn5gah75LV+1gZNf5vUxMknS/Mx5YSmrka59AWhm5gMtf25MSsskYav2kglqGBgCt1rs9pMgi1D3K/93cVIvzFIoVdRN3pAs964yUcNRSGTUdcVHOwbQL5WxKXOccZK68jRgWom9F8JJTOs3xZTewfe4Rs056dmAUWlnbeNKUXlaNXNXDIqFqF6N5ibINbhRr1Yr4uTBCVHCxIj8pPx/by4WyHIDHDzYkg5BrnoDf/L77mK/M/DlkdBL6a16UfW3IK6PYsMRMofTpAO0E6BNadoqQlp4DA==
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=zu66BTRsKQSTP5zj7i0yftHaKjX4+sHfNq2CYBpLDRI=;
 b=lgoKnl9zo+SyVYcFFyzr8lZafDPjmZ9bCvfOa2DDI/uSwv2M1Prg6jnXjdtJolYBxuL7RsZndjFTGnUjVa0l9YxR/a2ZHpUL6nGA8JxQH/z9ieSyYam/4oxh/IL+5E8C9psz2bP1iB7Qgq1NO3YYYHOSkmSHpXaQLCLbUuLACzVNowsxp8fAkNFVHiOsLH+EeCp2ndsEt4PUdHMFE32YjkBw186K62SmwF394oRGVZrpctdQQ6CFfdnnLqN6zG7vp8vrBGix0fTb8WMX/kQMci+GA+M/51Qe1j+jUpkFXp2sR19HbzWr61ND6L/apUkpnta5toZ7Mwz32PNT5tWbhQ==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 5/7] xen/events: drop xen_allocate_irqs_dynamic()
Thread-Topic: [PATCH 5/7] xen/events: drop xen_allocate_irqs_dynamic()
Thread-Index: AQHZ//oUYzlaLKzNvESKtKHtrAIYJrB5psyA
Date: Tue, 14 Nov 2023 08:20:07 +0000
Message-ID: <955c998f-4550-4945-8dab-c5901d833074@epam.com>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-6-jgross@suse.com>
In-Reply-To: <20231016062831.20630-6-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-traffictypediagnostic: DB8PR03MB6108:EE_|AM9PR03MB7187:EE_
x-ms-office365-filtering-correlation-id: 6021fc4d-d32a-4ee6-3a60-08dbe4ea8327
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 PERmYusKHzKap6Jlcso71kEBz8Obht/olFeNvcI2sC6xzDEn9JGSV2gaBeDcE59WT/BRBOwl3aTfw3H9x6dt3L/255fhmw/vKoHCTNQuhvROjcVzxr0R+LhYSNOfxGRA65RFl544Xc1tNJvOf88nZCtouEW2Qi2/JKeTw0422YR/e6zyWwII2ZJU3uPKmH8MJwr3T31FXOUaoAYtDP+v6FCeR0vf/8jaxK3bYoU/IWynGnXxcmZB/hgrmTot+GHaZkYHzeWwB/YhDICcEl+uUIpQ7CJ+lLEgXvn6giW9f+evrz18ZyiMERznTpAoJd93i4IR9DwLlcFL084y7SMYOvasQE2EL5TeVOBmrzz/E7vbc1ub6EQ+nGrEJHzcDuZJ916DUECg62qhXSQmNgb4jaUWPxUSkSgnbbVwlHjPBexJqFGq+wVke/fPrRRPC/Z7CYRaGxg4tar8irf9nARq0yd6tkEKPjGoxxHFBPcps5fN0YQ8UaLYG08FiWerVhAIbBFhkAPgGtngxqWQnXv5GUhBJa+C5gLgEgkFumIUi0gAkAg6QjOkE+EfFoMpSsi1ffIdvVcAShO9BAVUCeWHsuWZheZk3EUNM3ElwwdSapx8EDtDVXlaUCiLZ9mAiQ16u+jzddthyul48ubcyZq0qQ==
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:(13230031)(396003)(136003)(39860400002)(376002)(346002)(366004)(230922051799003)(1800799009)(64100799003)(451199024)(186009)(31686004)(6506007)(71200400001)(53546011)(38100700002)(83380400001)(2616005)(6512007)(2906002)(5660300002)(41300700001)(8936002)(86362001)(31696002)(4326008)(36756003)(66446008)(8676002)(91956017)(54906003)(66476007)(66946007)(64756008)(110136005)(76116006)(316002)(66556008)(26005)(122000001)(6486002)(478600001)(38070700009)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?Z0JLS2hBVm1FblZQWDF4WnBTeUdkSVlScmhNK0tjVVE4M2luS3BKbXoxYTJi?=
 =?utf-8?B?NzlQQmpOWUthT0RWMnQxMWNOOUJHNUl3UDZ2QnRpd0VIakpmRDdRUXdrSHFv?=
 =?utf-8?B?OGlmZTJEU2Vwa29xUmhzeW5WOGhUU2Y4YmNqbHNYR3lIU1QzSVI1bFJkNi9i?=
 =?utf-8?B?ZDUyODN2WFRuY3BiSm1nalFnRTZERjFPL1N4bDhqcUsrdDRNSlNjK1BWS1Ri?=
 =?utf-8?B?aXhuQmNmS3hWRUNoQUtuQkNzR1loVm4vbFV4TlRtZ0NnSEJiYkVnOGZROUtj?=
 =?utf-8?B?MDAxaU5oMUZLdW1CMnpBRCtaaW4yNGxtcVpheXdvS0NNd04zdG9iWnU4dHU0?=
 =?utf-8?B?RS9HZjFRbnR2K21SejRnYWZ3Z25rTjgrNGkwckJLM2RGTTdlc3VTRS9IamVV?=
 =?utf-8?B?ZlZmRHhyQ1RoQmZqUFhqNDZzYXNTVkJleFBFVWpZOTdHSndJV2gyeE8wN0Vu?=
 =?utf-8?B?QmtrRkh1Ni9pdUFndnFaMGEycloza1hNVFhGQkhtSnpndGR1ekd1MFNjbnAx?=
 =?utf-8?B?c2tZZGlBd0M0Sm02NFhadHBPbExoUHoreWYraThSaFVhZXZraXpZM1czNTlV?=
 =?utf-8?B?bDcyeGNUUUhJTUFTcENZN2o5ZnMzbCtDRGRqY3h4VndYLzVzK1BEUTFrblJE?=
 =?utf-8?B?VFcvRWFuaGRMVFlFL1k1ZWt4aTFuQjN4QVNvdmhWYVlMRmxXNWNQMHJqcXFI?=
 =?utf-8?B?a0dVSEFMODVUaEk3YS9pRldCU3lCMlZnRFpyOS9jczQwYnBONWY4eDNDNkhJ?=
 =?utf-8?B?bWdZUVdWOWNWYTZDdFZnZUxKdmhMR1ZkR2VhWk05RmkrL1l0V2pqNGFGRTBq?=
 =?utf-8?B?TEFzcUVnV2lXU3ZDL1hsSVpTWHI3RUYzRDFwZndud1J2ckJDZ3pYOEdZTVpm?=
 =?utf-8?B?VlVtcGdNcFZ6SWd4Ui9NR3JQODV3NzY3azlTdUJzaVdJRkk5WFNEenQwRzV0?=
 =?utf-8?B?dEIwamo3bGVZeG1Rekx5b2FEVjB6ZjF3S1NPcDdLY0QwYktwUGxNWE4rSVFm?=
 =?utf-8?B?OUJMV3kyMVZhdVdZc043ZTJaL2Y5U1hoQWJXU0dGVEowV25aK0lSeGhENXRv?=
 =?utf-8?B?MEcrV1J2RkUxY2NWYlg2ZmxKZUVyUTkrV3FGbDJnSE9YS1ZVRVJUS1g5KzZn?=
 =?utf-8?B?WStVVzJqM1pMTmpHcFl2cGd1OUZ1QkFyeWZSVlA0bTU2RUJweng5cEkzUUZG?=
 =?utf-8?B?Vktlem1leEhPbnhJZmsrUkxWRzRSQWFCbW9NM0UyOTBhV0NQblU5dkQzQytI?=
 =?utf-8?B?NDFxMmkweDRmNnR0L0lVNjh1amhWYktvQVkzZ25IWkw0ZmFTcm5rUlI3dmhO?=
 =?utf-8?B?Q2E5K1RJdVBET0YzeDFYNkFBanVFU3o5dzl4YWlwUVJSTFF4WXNMNDY3MHky?=
 =?utf-8?B?ZGJRT0g2MnVucUNnWjc2Ym5ORVh1Mm5CbXJhRmRwdXZQa3p4K25VY1BlT0F4?=
 =?utf-8?B?WTJRdFZSRXREc2xPTTJZRzFvc1Yxa3BFY3QwcVVrU0t3N1h1VDZDQlN3UDlJ?=
 =?utf-8?B?VkNqdHU5Rm1lbFBqbGtVcXdTa2FmL3RzRzdWVkgrOFJUTWh2Rit1QlZ4R1JS?=
 =?utf-8?B?b2g5Z3pIWTlDbjdVZVdtUjdwU3RoeFluNi83UU11c05XQm5HVnZISmRUd08w?=
 =?utf-8?B?ZlRIdmdVNnlWWmtDc1dQNlowRDA0d2RCRzBLWG1uOUpadHBxNFRyMS9TNGYx?=
 =?utf-8?B?RDE0SFBRYUhVL0R6bGg1YTZleGRHME9leDE3RzhJREpYd2E3TzQ0TVcvSGxu?=
 =?utf-8?B?dFRrUnFUOUhURTNEKzArdmhraC8xbzVIQUFOZWpzMmFjSWhPUVcrakpDNGtq?=
 =?utf-8?B?Tmd4c1pTOVJnS04wRDAyMFFiL2lhT21uVWorL3EwTElpZnlWZ0NEd0ZmbDdU?=
 =?utf-8?B?ZkpZN0lCS3JQaWJ5TWcrQWVneHJKckFlUzhDSk5Od0Z2dDUrU1drYnZYYzcw?=
 =?utf-8?B?eEl4YlhhakUyanIyeXJGdG4yeTJVZkhjV0JYVk0vUmtRNGxvMDdlTjJHdG92?=
 =?utf-8?B?TEpnMFF5TG5NSUcrRll6bnNQNzVvSDREbmRTS20vc3dxZ0pmTWM4Z3ZtbE4z?=
 =?utf-8?B?UElHMStKU1cra1Q3cXBqMkdWWXVqZlkyODBJTUQ1UTJGZ3MzRERnemJCRFNW?=
 =?utf-8?B?c2dBNTB1Q3ozV3ZjWnhoZFZ2eCtlK2Uza0ZPTUQ3UVB3aXV4R3cya1d0ajVH?=
 =?utf-8?Q?DPbPQZ5NcBknW2T9UPWUwNI=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D530F5CE92039D40A73F4F3911AA7BA3@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: 6021fc4d-d32a-4ee6-3a60-08dbe4ea8327
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2023 08:20:07.6707
 (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: A0BQRkMpKmCjvkDtz9dbCzg2QZqJSDraQRhJ4eSYiho123nxvcBxdWUAgbxXJvwg7rrSIhKOXFWZe/LVF8c3ytPu9fMOKzAttq8mKRwGSAs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7187
X-Proofpoint-GUID: b73z-J7dNbIa67NBQxv6vp10DcC4maAz
X-Proofpoint-ORIG-GUID: b73z-J7dNbIa67NBQxv6vp10DcC4maAz
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-14_07,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 impostorscore=0
 bulkscore=0 malwarescore=0 mlxscore=0 spamscore=0 suspectscore=0
 mlxlogscore=817 phishscore=0 priorityscore=1501 adultscore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311140064

DQoNCk9uIDE2LjEwLjIzIDA5OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQoNCkhlbGxvIEp1
ZXJnZW4NCg0KPiBJbnN0ZWFkIG9mIGhhdmluZyBhIGNvbW1vbiBmdW5jdGlvbiBmb3IgYWxsb2Nh
dGluZyBhIHNpbmdsZSBJUlEgb3IgYQ0KPiBjb25zZWN1dGl2ZSBudW1iZXIgb2YgSVJRcywgc3Bs
aXQgdXAgdGhlIGZ1bmN0aW9uYWxpdHkgaW50byB0aGUgY2FsbGVycw0KPiBvZiB4ZW5fYWxsb2Nh
dGVfaXJxc19keW5hbWljKCkuDQo+IA0KPiBUaGlzIGFsbG93cyB0byBoYW5kbGUgYW55IGFsbG9j
YXRpb24gZXJyb3IgaW4geGVuX2lycV9pbml0KCkgZ3JhY2VmdWxseQ0KPiBpbnN0ZWFkIG9mIHBh
bmljaW5nIHRoZSBzeXN0ZW0uIExldCB4ZW5faXJxX2luaXQoKSByZXR1cm4gdGhlIGlycV9pbmZv
DQo+IHBvaW50ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGFuIGFsbG9jYXRpb24gZXJyb3IuDQo+IA0K
PiBBZGRpdGlvbmFsbHkgc2V0IHRoZSBJUlEgaW50byBpcnFfaW5mbyBhbHJlYWR5IGF0IGFsbG9j
YXRpb24gdGltZSwgYXMNCj4gb3RoZXJ3aXNlIHRoZSBJUlEgd291bGQgYmUgJzAnICh3aGljaCBp
cyBhIHZhbGlkIElSUSBudW1iZXIpIHVudGlsDQo+IGJlaW5nIHNldC4NCj4gDQo+IFNpZ25lZC1v
ZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gLS0tDQo+ICAgZHJpdmVy
cy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMgfCA3NCArKysrKysrKysrKysrKysrKysrLS0tLS0t
LS0tLS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlv
bnMoLSkNCj4gDQoNCltzbmlwXQ0KDQo+IEBAIC0xNzI1LDYgKzE3MzgsNyBAQCB2b2lkIHJlYmlu
ZF9ldnRjaG5faXJxKGV2dGNobl9wb3J0X3QgZXZ0Y2huLCBpbnQgaXJxKQ0KPiAgIAkgICBzbyB0
aGVyZSBzaG91bGQgYmUgYSBwcm9wZXIgdHlwZSAqLw0KPiAgIAlCVUdfT04oaW5mby0+dHlwZSA9
PSBJUlFUX1VOQk9VTkQpOw0KPiAgIA0KPiArCWluZm8tPmlycSA9IGlycTsNCg0KDQpJIGZhaWxl
ZCB0byB1bmRlcnN0YW5kIHdoeSB0aGlzIGlzIGFkZGVkIGhlcmUuIERvZXNuJ3QgaXJxIHJlbWFp
biB0aGUgDQpzYW1lLCBhbmQgaW5mby0+aXJxIHJlbWFpbnMgdmFsaWQ/IENvdWxkIHlvdSBwbGVh
c2UgY2xhcmlmeS4NCg0KT3RoZXIgY2hhbmdlcyBsZ3RtLg0KDQoNCj4gICAJKHZvaWQpeGVuX2ly
cV9pbmZvX2V2dGNobl9zZXR1cChpcnEsIGV2dGNobiwgTlVMTCk7DQo+ICAgDQo+ICAgCW11dGV4
X3VubG9jaygmaXJxX21hcHBpbmdfdXBkYXRlX2xvY2spOw==


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 08:29:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 08:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632191.986305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2on2-0007lW-7Q; Tue, 14 Nov 2023 08:28:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632191.986305; Tue, 14 Nov 2023 08: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 1r2on2-0007lP-4s; Tue, 14 Nov 2023 08:28:56 +0000
Received: by outflank-mailman (input) for mailman id 632191;
 Tue, 14 Nov 2023 08: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2on0-0007l3-4h
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 08:28: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 d793be49-82c7-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 09:28:52 +0100 (CET)
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 AB4D41F86A;
 Tue, 14 Nov 2023 08:28: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 89B6B13460;
 Tue, 14 Nov 2023 08:28:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HOkrIL8vU2VQcAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 08:28: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: d793be49-82c7-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699950527; 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:autocrypt:autocrypt;
	bh=1VImW4B6srxfXA5nWuLhdIDVhpu29w9bggFGA6dC5dc=;
	b=XzRe5y8JUQsLEs8n8QZQ1FvRBv5c5YzWtiBu6mCXqoyKck1c+pKg5DUgHArOvsoSO6YQQC
	n8YHLcVpYf4uteBfcTEGXkIfZfTCSpLKHE5owUPNHPo/dQqkmnKU/wis0LOAPPSLLlaP7p
	elIFO5+CobI6oxsVnZNpdHjnLtco2u4=
Message-ID: <54d307d7-6785-47b0-bc2a-698e46adc25f@suse.com>
Date: Tue, 14 Nov 2023 09:28:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/7] xen/events: remove some simple helpers from
 events_base.c
Content-Language: en-US
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-5-jgross@suse.com>
 <b7b705e6-584b-4655-b005-521be3f23c1e@epam.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <b7b705e6-584b-4655-b005-521be3f23c1e@epam.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------tlfKjd7d3b3VFnEzLdQErORx"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -4.41
X-Spamd-Result: default: False [-4.41 / 50.00];
	 ARC_NA(0.00)[];
	 TO_DN_EQ_ADDR_SOME(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 BAYES_HAM(-0.42)[78.09%];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------tlfKjd7d3b3VFnEzLdQErORx
Content-Type: multipart/mixed; boundary="------------rpRBaSTtX6qjOtxWiXEMNL6e";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <54d307d7-6785-47b0-bc2a-698e46adc25f@suse.com>
Subject: Re: [PATCH 4/7] xen/events: remove some simple helpers from
 events_base.c
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-5-jgross@suse.com>
 <b7b705e6-584b-4655-b005-521be3f23c1e@epam.com>
In-Reply-To: <b7b705e6-584b-4655-b005-521be3f23c1e@epam.com>

--------------rpRBaSTtX6qjOtxWiXEMNL6e
Content-Type: multipart/mixed; boundary="------------1lQOOysRt0k0EE08u1oWzwrQ"

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

T24gMTMuMTEuMjMgMTg6MzUsIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdyb3RlOg0KPiANCj4g
DQo+IE9uIDE2LjEwLjIzIDA5OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPiANCj4gDQo+
IEhlbGxvIEp1ZXJnZW4uDQo+IA0KPiANCj4+IFRoZSBoZWxwZXIgZnVuY3Rpb25zIHR5cGVf
ZnJvbV9pcnEoKSBhbmQgY3B1X2Zyb21faXJxKCkgYXJlIGp1c3Qgb25lDQo+PiBsaW5lIGZ1
bmN0aW9ucyB1c2VkIG9ubHkgaW50ZXJuYWxseS4NCj4+DQo+PiBPcGVuIGNvZGUgdGhlbSB3
aGVyZSBuZWVkZWQuIEF0IHRoZSBzYW1lIHRpbWUgbW9kaWZ5IGFuZCByZW5hbWUNCj4+IGdl
dF9ldnRjaG5fdG9faXJxKCkgdG8gcmV0dXJuIGEgc3RydWN0IGlycV9pbmZvIGluc3RlYWQg
b2YgdGhlIElSUQ0KPj4gbnVtYmVyLg0KPj4NCj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4g
R3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4gDQo+IA0KPiANCj4gW3NuaXBdDQo+IA0KPiAN
Cj4gDQo+Pg0KPj4gQEAgLTExODEsMTUgKzExNzIsMTYgQEAgc3RhdGljIGludCBiaW5kX2V2
dGNobl90b19pcnFfY2hpcChldnRjaG5fcG9ydF90IGV2dGNobiwgc3RydWN0IGlycV9jaGlw
ICpjaGlwLA0KPj4gICAgew0KPj4gICAgCWludCBpcnE7DQo+PiAgICAJaW50IHJldDsNCj4+
ICsJc3RydWN0IGlycV9pbmZvICppbmZvOw0KPj4gICAgDQo+PiAgICAJaWYgKGV2dGNobiA+
PSB4ZW5fZXZ0Y2huX21heF9jaGFubmVscygpKQ0KPj4gICAgCQlyZXR1cm4gLUVOT01FTTsN
Cj4gDQo+IA0KPiBJIGFzc3VtZSB0aGlzIGNoZWNrIGlzIGNhbGxlZCBoZXJlICgqYmVmb3Jl
KiBob2xkaW5nIGEgbG9jaykgYnkNCj4gaW50ZW50aW9uLCBhcyBldnRjaG5fdG9faW5mbygp
IGJlbG93IGNvbnRhaW5zIHRoZSBzYW1lIGNoZWNrLg0KDQpZZXMuDQoNCj4gDQo+PiAgICAN
Cj4+ICAgIAltdXRleF9sb2NrKCZpcnFfbWFwcGluZ191cGRhdGVfbG9jayk7DQo+PiAgICAN
Cj4+IC0JaXJxID0gZ2V0X2V2dGNobl90b19pcnEoZXZ0Y2huKTsNCj4+ICsJaW5mbyA9IGV2
dGNobl90b19pbmZvKGV2dGNobikgPg0KPj4gLQlpZiAoaXJxID09IC0xKSB7DQo+PiArCWlm
ICghaW5mbykgew0KPj4gICAgCQlpcnEgPSB4ZW5fYWxsb2NhdGVfaXJxX2R5bmFtaWMoKTsN
Cj4+ICAgIAkJaWYgKGlycSA8IDApDQo+PiAgICAJCQlnb3RvIG91dDsNCj4+IEBAIC0xMjEy
LDggKzEyMDQsOCBAQCBzdGF0aWMgaW50IGJpbmRfZXZ0Y2huX3RvX2lycV9jaGlwKGV2dGNo
bl9wb3J0X3QgZXZ0Y2huLCBzdHJ1Y3QgaXJxX2NoaXAgKmNoaXAsDQo+PiAgICAJCSAqLw0K
Pj4gICAgCQliaW5kX2V2dGNobl90b19jcHUoZXZ0Y2huLCAwLCBmYWxzZSk7DQo+PiAgICAJ
fSBlbHNlIHsNCj4+IC0JCXN0cnVjdCBpcnFfaW5mbyAqaW5mbyA9IGluZm9fZm9yX2lycShp
cnEpOw0KPj4gLQkJV0FSTl9PTihpbmZvID09IE5VTEwgfHwgaW5mby0+dHlwZSAhPSBJUlFU
X0VWVENITik7DQo+PiArCQlXQVJOX09OKGluZm8tPnR5cGUgIT0gSVJRVF9FVlRDSE4pOw0K
Pj4gKwkJaXJxID0gaW5mby0+aXJxOw0KPj4gICAgCX0NCj4gDQo+IA0KPiBUaGlzIGh1bmsg
ZG9lc24ndCBhcHBseSBjbGVhcmx5IHRvIHRoZSBsYXRlc3Qgc3RhdGUsIGJlY2F1c2Ugb2YN
Cj4gIjllOTBlNThjMTFiNyB4ZW46IGV2dGNobjogQWxsb3cgc2hhcmVkIHJlZ2lzdHJhdGlv
biBvZiBJUlEgaGFuZGVycyINCj4gd2VudCBpbi4gUGxlYXNlIHJlYmFzZS4NCj4gDQo+IA0K
PiBXaXRoIHRoYXQ6DQo+IFJldmlld2VkLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xl
a3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQoNClRoYW5rcywNCg0KDQpKdWVyZ2VuDQoN
Cg==
--------------1lQOOysRt0k0EE08u1oWzwrQ
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-----

--------------1lQOOysRt0k0EE08u1oWzwrQ--

--------------rpRBaSTtX6qjOtxWiXEMNL6e--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTL74FAwAAAAAACgkQsN6d1ii/Ey/G
HAf+PzNlux/UYkkq7m/KJ8DOOP2nKXi5u0oKhFohSqxlsjaLOzQEO1zROt5UbKrjahI647eOUGNt
/s/yCMcIpgL/DjG3riW3kykBJm7O7d91BZQBTGDhhtEJGWW4ILkcQCSD5YBQ12wxuVMuss9yHaRn
UOJ+yxdQHNN6sQpV6LD9i3+xRM+RwJc7lTsDKqIZ6/Vt+fJL3ytu90MtjMWPvnwZKBaFdmcBNFHQ
5ldcD4F96jecp7tILPolC7bURR4N20r+sTQ5PNRWE1sIixEemiORN7r6KWyhd+fYivEblMymxfSA
sP3y13uJewdHjmRaxqoSIeigACW6cmEK7o2vZOlbzw==
=mHlO
-----END PGP SIGNATURE-----

--------------tlfKjd7d3b3VFnEzLdQErORx--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 08:36:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 08:36:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632194.986316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2oto-0000oy-U7; Tue, 14 Nov 2023 08:35:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632194.986316; Tue, 14 Nov 2023 08: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 1r2oto-0000or-RG; Tue, 14 Nov 2023 08:35:56 +0000
Received: by outflank-mailman (input) for mailman id 632194;
 Tue, 14 Nov 2023 08: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2otn-0000n0-MK
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 08:35: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 d183108e-82c8-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 09:35:51 +0100 (CET)
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 3724C218E2;
 Tue, 14 Nov 2023 08:35: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 1065E13460;
 Tue, 14 Nov 2023 08:35:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id kFUhAmMxU2UsdAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 08: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: d183108e-82c8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699950947; 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:autocrypt:autocrypt;
	bh=dzIWCh5MpLCeLASJNY0yoA637+Iu339U+HHNlj3vIxQ=;
	b=ZPw9J25LOsfdr7ALU67EPo3zLR8mmwdwOtVKv5YbvDnWqbPenZ9l+zGfG9tF1LFGCAk6Ce
	571n7fU00TqFDXMYDVzzrXm+ZS4jTU1hv6odYcOgeNxr3qu9vvfaVRyFGYrDGLSRWytbkv
	tvtxjI2kJ8GK7dgwxcFZgzGlrosaAc0=
Message-ID: <c29136e0-054f-449d-b9f6-8116e3eea0c6@suse.com>
Date: Tue, 14 Nov 2023 09:35:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/7] xen/events: drop xen_allocate_irqs_dynamic()
Content-Language: en-US
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-6-jgross@suse.com>
 <955c998f-4550-4945-8dab-c5901d833074@epam.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <955c998f-4550-4945-8dab-c5901d833074@epam.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------CqdUozqydKvJ07V094SCcURh"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -8.23
X-Spamd-Result: default: False [-8.23 / 50.00];
	 ARC_NA(0.00)[];
	 TO_DN_EQ_ADDR_SOME(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 REPLY(-4.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 BAYES_HAM(-0.24)[72.79%];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------CqdUozqydKvJ07V094SCcURh
Content-Type: multipart/mixed; boundary="------------ZPOkSKMcA8WHGngl8Ke9BGNX";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <c29136e0-054f-449d-b9f6-8116e3eea0c6@suse.com>
Subject: Re: [PATCH 5/7] xen/events: drop xen_allocate_irqs_dynamic()
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-6-jgross@suse.com>
 <955c998f-4550-4945-8dab-c5901d833074@epam.com>
In-Reply-To: <955c998f-4550-4945-8dab-c5901d833074@epam.com>

--------------ZPOkSKMcA8WHGngl8Ke9BGNX
Content-Type: multipart/mixed; boundary="------------ThMSNRXs2jBoX3z142UeB0GG"

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

T24gMTQuMTEuMjMgMDk6MjAsIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdyb3RlOg0KPiANCj4g
DQo+IE9uIDE2LjEwLjIzIDA5OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPiANCj4gDQo+
IEhlbGxvIEp1ZXJnZW4NCj4gDQo+PiBJbnN0ZWFkIG9mIGhhdmluZyBhIGNvbW1vbiBmdW5j
dGlvbiBmb3IgYWxsb2NhdGluZyBhIHNpbmdsZSBJUlEgb3IgYQ0KPj4gY29uc2VjdXRpdmUg
bnVtYmVyIG9mIElSUXMsIHNwbGl0IHVwIHRoZSBmdW5jdGlvbmFsaXR5IGludG8gdGhlIGNh
bGxlcnMNCj4+IG9mIHhlbl9hbGxvY2F0ZV9pcnFzX2R5bmFtaWMoKS4NCj4+DQo+PiBUaGlz
IGFsbG93cyB0byBoYW5kbGUgYW55IGFsbG9jYXRpb24gZXJyb3IgaW4geGVuX2lycV9pbml0
KCkgZ3JhY2VmdWxseQ0KPj4gaW5zdGVhZCBvZiBwYW5pY2luZyB0aGUgc3lzdGVtLiBMZXQg
eGVuX2lycV9pbml0KCkgcmV0dXJuIHRoZSBpcnFfaW5mbw0KPj4gcG9pbnRlciBvciBOVUxM
IGluIGNhc2Ugb2YgYW4gYWxsb2NhdGlvbiBlcnJvci4NCj4+DQo+PiBBZGRpdGlvbmFsbHkg
c2V0IHRoZSBJUlEgaW50byBpcnFfaW5mbyBhbHJlYWR5IGF0IGFsbG9jYXRpb24gdGltZSwg
YXMNCj4+IG90aGVyd2lzZSB0aGUgSVJRIHdvdWxkIGJlICcwJyAod2hpY2ggaXMgYSB2YWxp
ZCBJUlEgbnVtYmVyKSB1bnRpbA0KPj4gYmVpbmcgc2V0Lg0KPj4NCj4+IFNpZ25lZC1vZmYt
Ynk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+IC0tLQ0KPj4gICAgZHJp
dmVycy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMgfCA3NCArKysrKysrKysrKysrKysrKysr
LS0tLS0tLS0tLS0tLQ0KPj4gICAgMSBmaWxlIGNoYW5nZWQsIDQ0IGluc2VydGlvbnMoKyks
IDMwIGRlbGV0aW9ucygtKQ0KPj4NCj4gDQo+IFtzbmlwXQ0KPiANCj4+IEBAIC0xNzI1LDYg
KzE3MzgsNyBAQCB2b2lkIHJlYmluZF9ldnRjaG5faXJxKGV2dGNobl9wb3J0X3QgZXZ0Y2hu
LCBpbnQgaXJxKQ0KPj4gICAgCSAgIHNvIHRoZXJlIHNob3VsZCBiZSBhIHByb3BlciB0eXBl
ICovDQo+PiAgICAJQlVHX09OKGluZm8tPnR5cGUgPT0gSVJRVF9VTkJPVU5EKTsNCj4+ICAg
IA0KPj4gKwlpbmZvLT5pcnEgPSBpcnE7DQo+IA0KPiANCj4gSSBmYWlsZWQgdG8gdW5kZXJz
dGFuZCB3aHkgdGhpcyBpcyBhZGRlZCBoZXJlLiBEb2Vzbid0IGlycSByZW1haW4gdGhlDQo+
IHNhbWUsIGFuZCBpbmZvLT5pcnEgcmVtYWlucyB2YWxpZD8gQ291bGQgeW91IHBsZWFzZSBj
bGFyaWZ5Lg0KDQpUaGUgSVJRIHJlbWFpbnMgdGhlIHNhbWUsIGJ1dCB0aGUgZXZlbnQgY2hh
bm5lbCBjb3VsZCBjaGFuZ2UuDQoNClRoaXMgc2V0dGluZyBvZiBpbmZvLT5pcnEgY29tcGVu
c2F0ZXMgZm9yIHRoZSByZWxhdGVkIHJlbW92YWwgaW4NCnhlbl9pcnFfaW5mb19jb21tb25f
c2V0dXAoKS4NCg0KPiANCj4gT3RoZXIgY2hhbmdlcyBsZ3RtLg0KDQoNCkp1ZXJnZW4NCg0K

--------------ThMSNRXs2jBoX3z142UeB0GG
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-----

--------------ThMSNRXs2jBoX3z142UeB0GG--

--------------ZPOkSKMcA8WHGngl8Ke9BGNX--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTMWIFAwAAAAAACgkQsN6d1ii/Ey9K
uAf/UxfxCnwQHu88qZ4b5S677JjI2O0opJpC7142quVD0fC402HJ+aB13+1Ve7d8xPIkigQHr/nv
GHRDETDjPNM/DymzC2aEqP0XLdNrmlO3nqQizpj34dcyz2xTwcp83Ce4iQ9JgZUFZiTuqcDaAFb3
YiFpC+LXsFjotB1juy1l4uCydAgt1l9wEdZ4Lv3Q4+XA6o8LKb6UzNOhSU6f1tdvrtM3OM+l+SEJ
TaBks2xPtbd1M90Ek8hIb70hXceaE69YVEp+s1KAz9G70fsuxreIbOOhep2DsuRte08n9C+iWvwC
h7espDeTBgr3u3hoDJlKFa4x/DQ3L2DDvzlPF54yvQ==
=7KyR
-----END PGP SIGNATURE-----

--------------CqdUozqydKvJ07V094SCcURh--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 08:52:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 08:52:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632198.986326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2p9Y-000615-7x; Tue, 14 Nov 2023 08:52:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632198.986326; Tue, 14 Nov 2023 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 1r2p9Y-00060y-53; Tue, 14 Nov 2023 08:52:12 +0000
Received: by outflank-mailman (input) for mailman id 632198;
 Tue, 14 Nov 2023 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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2p9W-00060s-Hw
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 08:52:10 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0618.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 180c1084-82cb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 09:52:09 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8712.eurprd04.prod.outlook.com (2603:10a6:10:2df::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Tue, 14 Nov
 2023 08:52:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 08:52: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: 180c1084-82cb-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dm7u4sH2oxBudxaUy31nODwOEuigwlGG393Ks9vXqRqnhrHEJzbHqRO3gC5Q4d5zoeEjr8RD130LOh5Qn/nA5GljWFLa/kNo9mZqooXbqDCBL8zXsuEUMgwIn04dU7zSSD84xifb81qD4+YidAV6z6v0qhibCsKQ1pxhqvT7tueTtefn4ecb3BNNY+vLmERr+bdv2XBelidp0QvIFrL13BAQnt2HJPv3v3ILFYY4idTKKlcA8ChV/5ZLG2+4v81umguYpsRQHGykCeURq/WRvixgrp5iZ1xqZ/KcYG7fXy5ZiN3ogD+wiv75OynwzJk0pBugl8Tz99Mitkm9EVN/mQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6oL4MjhIFJtwdvKlPXsM2OsDrtIScYZA6tXGeEbxWq0=;
 b=OL1dIdHTGnw8AM9Y12gyiM7pnp/Qax2T4QlVzNNAa1ccRSHrmJLEm/lZtMRQoH4sJ7ztHYOF6vJdG7n8QlDvZwwMgb9pvD74w+hS42FJTNHx172vkYSNGa6nfAngcW3XYsckqqIzwb2im2hW+9Q3AhR9ioZV2dyKXNQ++tdGQPL2btGZMYKSuzpvFDcaalTl3bscyRP4/rDcgAqQsHRyu7UtXNKv5UMx2i1L6NJxBugGwwLeQoGYgtFRTQHwAtqltVXWjQm1nG5JGiOegjGS9sTmbWd2C/+QPUDGHqClWxm5f5bIiG405IOOzlu6xFwnkgCkUE/I48zmD1rNqeOEYw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6oL4MjhIFJtwdvKlPXsM2OsDrtIScYZA6tXGeEbxWq0=;
 b=dOucyjpttjy6C0n5fHua9PIlZUlOGJtHIbyrxOCS4Jy+9ThjpOUyMzyH3xa5ywxdXVlBiQuFCusqQYSxc6VCF97XYCrCz/njDkgDMBOeT+wnIMr3cq9Rl1getUQeCLYKrOIOrTPYWtXAEH5wm/iaQMPzUQ6AdQPpxh1oohT9EqbJu8h0v95aX/G3ezsaj6/1k4ZjNejLCklRDBThzhcC9xgEYTcy/eIGxn66ksX1zKoDRSwDjfX2a0IB65vryyxvS1CneQ9hbaecYZruG+xxWsg4x5QlgP1QRZjBZpEIxyHohwIKpMxHB0aKlEyJHj7MyZheQklJNdRZ0mSQ7nGmwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6d470af1-9b80-4f20-679a-f063a2f9e617@suse.com>
Date: Tue, 14 Nov 2023 09:52:02 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v5 2/5] xen/vpci: move xen_domctl_createdomain vPCI flag
 to common
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Christian Lindig <christian.lindig@cloud.com>, xen-devel@lists.xenproject.org
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
 <20231102195938.1254489-3-stewart.hildebrand@amd.com>
 <3f949fae-da52-7a8d-ad87-8fe84eeba8a2@suse.com>
 <8fdb7e15-d5a7-46c9-bcde-53e4adac1ade@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <8fdb7e15-d5a7-46c9-bcde-53e4adac1ade@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0050.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8712:EE_
X-MS-Office365-Filtering-Correlation-Id: b60454ee-d285-4f19-1e8d-08dbe4eefa07
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:
	JfMlk0rFpDzOw/j3iXKK381xgBYR1kRQsfmqm/JYUASylKht2JxIPzNUb3i6kDD0J3IYeNVDl51DtGApUDm46C/LmUBLoDgH6furT0mvyQ+V4FtMZ0whw/LNfNQ5yDt1M4wXwbCBpa7+FG74o33GHw0xbw90M/qsSBEkPPY+iwXikrzE/q5iIdXavfkGbhJukhD5TAqMzAbi41vhrnqQR9hrcdALnN4yHygTR+e8U4FgesZ3WwqvHobXrhcgte0H8LbnYbPnfb/z7/xetDnU7++BuZ9QB2n31DDamlQSbQ18PJFl6KnH2Hl+Pizsns+5GRN2M1sCQmqKIEP+xv5dlSBpRFx+AY1WE3EJKhFqKG6CBlk6RSAoMrRMk59Hw41vsh6k/Z4LQh5zAlfxByV63QLdz8oU/54ggYA3Hodc1QPzJwSk5e3KqBm6GHnvNv2IlaSBEld9FlCHSF2SW9gsWLo6zD0j7+F/IUF+E387svIB81xOV7OCvSsB7mjukWicRA/jLFkv2QM40Pif5Sp0Jzbmi2ZCyWiT3zwRsjqgiNltFTDaG/YIoecFkrc4Bm/QEOZkGq4YHKjr7klqV+hqWx/fqHoA0KTJyFRXA/mdxbAUVCAexOIEqEU7vFQ27FLPzX6fWqEYg2iskuJX5OxzvQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(366004)(396003)(376002)(39860400002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(83380400001)(2906002)(6666004)(966005)(6486002)(38100700002)(86362001)(31696002)(478600001)(6916009)(54906003)(41300700001)(316002)(66476007)(66556008)(36756003)(66946007)(8676002)(8936002)(4326008)(2616005)(5660300002)(7416002)(31686004)(6506007)(53546011)(6512007)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QitFSTVmRTJtSTlCUU5yb0RiZjZtZk9ZcU9hL3c5clJ3NnNNY2k3ZmJia3VE?=
 =?utf-8?B?UWxWRitEcjRtNWI5WEV0Y041QzVjQ21TdFI2K3BMSjAwOXVjUTl4d0hJYTdD?=
 =?utf-8?B?T1IzT3hrYzhrVGM0cGlWenQ4NmF6LzdCMzJ4azRZd1ZHdlRIUWVFQ0o3Um13?=
 =?utf-8?B?UXRoaHEwb0VEZXVpMFpJbGxTVVhzL3Jpd0pjWlNzNCtwc3h6cm1rRkFwbytD?=
 =?utf-8?B?b0Z0bmZGa3Q5Wmptek9nQ0R3ZWFCdDhBZUo4VFNlTm5BUEZKaktod0tKSHM2?=
 =?utf-8?B?QWZuaDBHRm1DK2NWTGtOd2M2Z2F5NzF4WEZnV2R2T0k0VU1Scmg3Y3l1azZn?=
 =?utf-8?B?ZE5XTnFybHN6SzlhZTBxa3BOZnNSeGdKaWEvQUJwaGQ3Z1dGeVdyL2FmNDFR?=
 =?utf-8?B?dTUzalljMWVLcFo3RnRqQS93Sk5HdFlnTDVxcXF6YUVtTkcxZUFPZE5LS2g3?=
 =?utf-8?B?WVBBUGFuQzVCNlRpZGl0cG5OSHQ3REJpZTFyVUtJTmZ3NGkyK0VQY0lFUStl?=
 =?utf-8?B?U1Vack53M3cxUDlSN0RrVXRDNGloSW83K21tbS82VmJ6Q0NTbjlmeDA2L1JO?=
 =?utf-8?B?c2dESUt4N2N6b29xZGM2dHRRaXAxRlV1YkErcW9DenBnVGFMLyt3Y2taNGFq?=
 =?utf-8?B?Y1N4TVhtTVpSaElPcXl2Z1FxOWtCeWkxZDdMREpMZ2FFVFoxRi9KQmhmYVlh?=
 =?utf-8?B?MnJUdGpmSWhwcjhDNGR2MUZmTDlXR2pWa25xUk9wOFlYQ21pMTRJbGlvTFFU?=
 =?utf-8?B?Rnd0cW5GTitOSFRIYXpIYjlxUFdlMUdqaXBBQUF2L2JtSkVSV1RjMVFEeXVa?=
 =?utf-8?B?MGRJV3R6bjc5LzIzMncyNDJXQWhIMTNXbDFTUlFTQlQ5WHB3c1VRUEZzNVEx?=
 =?utf-8?B?QmhIN2lNNWlUZXhGbVk5ZkVCQjlHTlNmMjQ1Z015Q0hYQXVMbzRvR2wzcVNi?=
 =?utf-8?B?NHRKZVZTN0xuQkZPNFNTeDlIaHZSUm85TkpZSmZGOWxjTUlwUUlHOG5MN2kz?=
 =?utf-8?B?UVFJR2tHMW44djNYTFh4UUxVSWNCM1ZjV2g3SDV0cDdxVGJQWllkK3pHMy9y?=
 =?utf-8?B?Q0Y0bzVKQXQxYU5RTjNKakdja2JpNzd2NXp5TWFUQWhKMVZlZEVGQTVWazRU?=
 =?utf-8?B?akZYSVFpclp6NVJsejBRSm5yTnp6SGpGMnFjNlJaZVdiczBCckxWa2Y5UVRw?=
 =?utf-8?B?ZEIrV3cwbHprUitIdko1eDJFL29oSkgxQytERlNkbnhzUkQ3ZHQzRWR6MlJy?=
 =?utf-8?B?aFJTdDdwSkZOcVE1NDVHaFd2NllTWDlZbnFMSUNaZ3o2VHdJVUh3Rk1pWlJw?=
 =?utf-8?B?VXkrd2o5YnBUMDFnUG1mOVRhWUFjNWNCZFRVVU4rVDdtSlRoeFo2SmI5VElW?=
 =?utf-8?B?ZkdTUGJJWkp2cHlMeDFWYm9LMS8zMm96SHhZMmVOTG1YeFVwUDdVemtIS3Bk?=
 =?utf-8?B?eGxmNHFZZnpEbU5yQ1pVZThQSmlsMEVJRzFrNm9zdG5xQ21CWjZrRXhjRXVN?=
 =?utf-8?B?cHNQbFFKVEEyQWplWWhpS3A3aUxQT1I5Q0pxSXg2bGpWTFN2Yy84OVcwWExU?=
 =?utf-8?B?dXhEL1pHYkIwdUhaWGloY1JNWU0zTXdrMjJkQnVHaGoycWZRVzY2WGJEK2dj?=
 =?utf-8?B?TU01ZUIzNGtMSm91YmNIdUZMNHJob05IYis0NHV6dnNwV3ZYU21KUkZuallE?=
 =?utf-8?B?Q3FZSTBQMzF4ZmRCV2xMQjRTMXRQRW9YaGYxOEVRWnJMWjcwc1RrZUpjL0U2?=
 =?utf-8?B?L2hWdUU2d0lQUnNOK1cxL25JSTM1RGZkR3JrQ3VDUHlKVkFYN2pTUTNValgv?=
 =?utf-8?B?elVCL01lcVJqQzA4N0VSMktzMzFWQk16dHRCR2cwTnBGcGRETXFLU25XR0FH?=
 =?utf-8?B?SXF0VG1TQm1abHVKSHN4d1U3eE9OTWtQMWRlWE50enlWMzdMSERxMktQWkRB?=
 =?utf-8?B?SE1sa042K1BzZGJVTnA0U3NJbTFldWpYOGlrWHM2dEVUamxnVHFXK1VnMTRN?=
 =?utf-8?B?aDBMb3laWHJnLytPYzZHcVFLQXlzS0hxQXZHTkk0Qmgrc05KK0N6MXUxVk9C?=
 =?utf-8?B?cWx6NGhIMGhKZHhkaUsycmx6WGNsR0J0MXZqaDIvbnNpaVFnUTFHeVpKK1Mv?=
 =?utf-8?Q?0deuWaCrWQ9xHBc0GD58k8w+Y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b60454ee-d285-4f19-1e8d-08dbe4eefa07
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 08:52:05.2601
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ntXkORqPE8fqClIF+3KNfYoOpdCc4aSXhox9TMBHt6eNF+D9lWrlbAmW23iO8KLxhAZBRnvL6Qqy0n2DpBeuCw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8712

On 13.11.2023 20:05, Stewart Hildebrand wrote:
> On 11/13/23 08:26, Jan Beulich wrote:
>> On 02.11.2023 20:59, Stewart Hildebrand wrote:
>>> @@ -575,6 +577,18 @@ static int sanitise_domain_config(struct xen_domctl_createdomain *config)
>>>          return -EINVAL;
>>>      }
>>>  
>>> +    if ( vpci && !hvm )
>>> +    {
>>> +        dprintk(XENLOG_INFO, "vPCI requested for non-HVM guest\n");
>>> +        return -EINVAL;
>>> +    }
>>> +
>>> +    if ( vpci && !IS_ENABLED(CONFIG_HAS_VPCI) )
>>> +    {
>>> +        dprintk(XENLOG_INFO, "vPCI requested but not enabled\n");
>>> +        return -EINVAL;
>>> +    }
>>
>> Maybe flip the order of these checks? But I'm uncertain about the first
>> one anyway: Isn't this something that needs deciding per-arch?
> 
> In v4, the equivalent of the ( vpci && !hvm ) check was indeed in xen/arch/x86/domain.c:emulation_flags_ok(), but it seemed there was a suggestion that it be moved to common code... See discussion at [1]. How about putting it back into xen/arch/x86/domain.c, in arch_sanitise_domain_config(), not emulation_flags_ok()?

Actually no, I take back that part of the comment. I think I mistakenly
considered PVH as "non-HVM" (as the log message has it).

Jan

> [1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg02345.html



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 08:56:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 08:56:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632204.986336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pDo-00079D-Sk; Tue, 14 Nov 2023 08:56:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632204.986336; Tue, 14 Nov 2023 08:56: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 1r2pDo-000796-Py; Tue, 14 Nov 2023 08:56:36 +0000
Received: by outflank-mailman (input) for mailman id 632204;
 Tue, 14 Nov 2023 08:56: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 1r2pDn-000790-Pw
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 08:56: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 1r2pDn-0001IY-3l; Tue, 14 Nov 2023 08:56:35 +0000
Received: from gw1.octic.net ([88.97.20.152] 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 1r2pDm-0005EE-V3; Tue, 14 Nov 2023 08:56: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=kHSBN33AOhguD4rDtQgv/7xShl46FXkVpa68Mq75XIc=; b=w8h4Wftoq/Pnlouefi5e/QXRVw
	6iP+bWUhuoKCgdAvnE8OSVwYh0h+pXlL6QmusBc8hA95DMn/B1pgozihiqjBaqJz4cVZTqvmWhhim
	g4/mgYC54Pxu+2MrVY06p/o5aaQV+gj3Z2G4WoxWPzIOfWN2tealmzDYabik0S7IzQMg=;
Message-ID: <6062375b-ed94-46ba-a405-e3e7148ddc6f@xen.org>
Date: Tue, 14 Nov 2023 08:56:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 25/29] tools/xenstored: map stubdom interface
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-26-jgross@suse.com>
 <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
 <3aacfaf1-5331-4e9c-99b3-b9c84af0de28@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3aacfaf1-5331-4e9c-99b3-b9c84af0de28@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 14/11/2023 06:33, Juergen Gross wrote:
> On 13.11.23 23:04, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 10/11/2023 16:08, Juergen Gross wrote:
>>> When running as stubdom, map the stubdom's Xenstore ring page in order
>>> to support using the 9pfs frontend.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> ---
>>>   tools/xenstored/core.c   |  2 ++
>>>   tools/xenstored/domain.c | 27 ++++++++++++++++++++++++++-
>>>   tools/xenstored/domain.h |  1 +
>>>   3 files changed, 29 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
>>> index b9ec50b34c..4a9d874f17 100644
>>> --- a/tools/xenstored/core.c
>>> +++ b/tools/xenstored/core.c
>>> @@ -2991,6 +2991,8 @@ int main(int argc, char *argv[])
>>>           lu_read_state();
>>>   #endif
>>> +    stubdom_init();
>>> +
>>>       check_store();
>>>       /* Get ready to listen to the tools. */
>>> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
>>> index fa17f68618..162b87b460 100644
>>> --- a/tools/xenstored/domain.c
>>> +++ b/tools/xenstored/domain.c
>>> @@ -37,6 +37,10 @@
>>>   #include <xenctrl.h>
>>>   #include <xen/grant_table.h>
>>> +#ifdef __MINIOS__
>>> +#include <mini-os/xenbus.h>
>>> +#endif
>>> +
>>>   static xc_interface **xc_handle;
>>>   xengnttab_handle **xgt_handle;
>>>   static evtchn_port_t virq_port;
>>> @@ -500,6 +504,11 @@ static void *map_interface(domid_t domid)
>>>       if (domid == xenbus_master_domid())
>>>           return xenbus_map();
>>> +#ifdef __MINIOS__
>>> +    if (domid == stub_domid)
>>> +        return xenstore_buf;
>>> +#endif
>>> +
>>>       return xengnttab_map_grant_ref(*xgt_handle, domid,
>>>                          GNTTAB_RESERVED_XENSTORE,
>>>                          PROT_READ|PROT_WRITE);
>>> @@ -509,7 +518,7 @@ static void unmap_interface(domid_t domid, void 
>>> *interface)
>>>   {
>>>       if (domid == xenbus_master_domid())
>>>           unmap_xenbus(interface);
>>> -    else
>>> +    else if (domid != stub_domid)
>>>           xengnttab_unmap(*xgt_handle, interface, 1);
>>>   }
>>> @@ -1214,6 +1223,22 @@ void dom0_init(void)
>>>       xenevtchn_notify(xce_handle, dom0->port);
>>>   }
>>> +void stubdom_init(void)
>>> +{
>>> +#ifdef __MINIOS__
>>> +    struct domain *stubdom;
>>> +
>>> +    if (stub_domid < 0)
>>> +        return;
>>> +
>>> +    stubdom = introduce_domain(NULL, stub_domid, xenbus_evtchn, false);
>>> +    if (!stubdom)
>>> +        barf_perror("Failed to initialize stubdom");
>>> +
>>> +    xenevtchn_notify(xce_handle, stubdom->port);
>>
>> If I compare to introduce_domain(), it is not entirely clear to me why 
>> the notification is done unconditionally here. Can you clarify?
> 
> There is no reason to do it conditionally, as we can be sure the event 
> channel
> is existing and the ring page is accessible.

Hmmm... But there is a second part in the condition:

domain->interface->connection == XENSTORE_RECONNECT

Why isn't it necessary here? What I am looking for particularly is some 
in-code comment (or at least in the commit message) because this is not 
100% clear why we are diverging.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 08:58:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 08:58:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632207.986346 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pFq-0000BX-9F; Tue, 14 Nov 2023 08:58:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632207.986346; Tue, 14 Nov 2023 08: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 1r2pFq-0000BQ-5n; Tue, 14 Nov 2023 08:58:42 +0000
Received: by outflank-mailman (input) for mailman id 632207;
 Tue, 14 Nov 2023 08:58: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2pFo-0000BK-I4
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 08:58:40 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 002f51bf-82cc-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 09:58:38 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9349.eurprd04.prod.outlook.com (2603:10a6:102:2b8::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.15; Tue, 14 Nov
 2023 08:58:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 08: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: 002f51bf-82cc-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZVjz/NRQYGzdSXZmF2gFO/Hd5eg6tnksOHpWuKzoSmd9rrdbCGucHJJsTNPYc0lNH8P1n4rfGc5Xr9nh4vOcnt6ycR7B6OrbizcryeRZ5cPCciaERun49GN25HVaoNYAPd/5XvhagM8V8imgVse2jSDlyFXOJqxfogq4SX3cBjyTFNkL8mhC42qP/QxbRviT/DnXhNDb7QkQXZ7ap899jhd7ee5/Sj9NcnB9tI0upS6aDJJPmSaZIkRml753C9rCVcVSGZ/eav7tsUyV1kAM95e/Bpnaf2A9TVWU72NpO5yyhS9QXsY27FGP172FJoq7dViya+KRwNnfP03aLHuzNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/uBKZuXL0g023eWHSQWl0n+qwENAapxOUbxZ/kGZDWI=;
 b=L8j+aE2ncrQAX5vK1FKSSt4d/BeECBe28iqupROZgs8vuJgCbzJf57nXODMYwJXEmlrlGFiLkNYEyxDT1XPXqHAFusCyqpEgFAFuFvmIm4zz1wb6mXyS+efgkdbrElWhfmHdGIQC3IfomW+vu4mFyUP1M3qq+V/QoSw0vqqI8vJ6GUxGAVYDYGkYCuYXuPtI/Xn1Agg2lH8TAY6qjv0reF+PALErP5vB57coWDgEab8Mywnoxjyg8yusnXSrdl1Giklw7zioXctv/c9woi4j/N5Nysr1UI/JyUYkZlTsOLy4WkIrs+CT+ZPM8valWHz7Ata9Udrm9unPZMiALLHN2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/uBKZuXL0g023eWHSQWl0n+qwENAapxOUbxZ/kGZDWI=;
 b=a5WqTbtMqwhHAcj0OYnpMBpSF8LQ9zbBa3oDFLBjRPSzGumsXrorlQ2E2ORS6IGxZwyoQkOoUJayMyA+H6DS4tQD449Tzgg3q5FObi9dGpY0+OMFESwgjVt0gKTe8nY71gUx4RsJ2BXgNrJLqPnnMHq876h/8XrhwJYpeDR6jjMr5V8Wsak2lHmSua4a8vES2nrwT4DDyPg97yOpqkrvc1ISYLtFruNjfgFOx0E4ZtH6YODZUmxBFWlK4MasTibEAd3ozR9fftA80w/vi3xeHEzhi75oyNKvKOBn2W8CKAImjGIiAZFX8oYttdgTQkNNWD3YCDcHo12+uGcvVhacqQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <474318ba-3734-1d0b-435f-514075243ce0@suse.com>
Date: Tue, 14 Nov 2023 09:58:32 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v5 4/5] [FUTURE] xen/arm: enable vPCI for domUs
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20231102195938.1254489-1-stewart.hildebrand@amd.com>
 <20231102195938.1254489-5-stewart.hildebrand@amd.com>
 <72bb9f75-66a2-1452-40af-a90430cf7eca@suse.com>
 <356283b2-063f-4bd7-b6d4-c45f001f824f@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <356283b2-063f-4bd7-b6d4-c45f001f824f@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0186.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ca::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9349:EE_
X-MS-Office365-Filtering-Correlation-Id: aca9e08b-4cc2-48a5-1d93-08dbe4efe215
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aMBuLJVcgWqFnOlB85xyHRn08jC0RHsTK7yeTf5AmpTRKKeqbG53G7Ahtvy7kmrwCM4RKDX+10DV5sV4NCHV3/9UhtMQ3AHKfWYw8CbUZIMctQCxPNIykmLb43Envw6Jo5KOJVafgI4fyjNgkE/NvU4hiBNkb02tHYk1shKO/sTVORs8TDj7txkCs3GHhd/X5wwpB3ry+LPVUSbT7m0WT6YI2qA4VTdZCgyJrIvivprR2h160js3RKHJtClTWJLTCKSHKqNcYPKwlPGXlcPzuqsi1r+30FHMfTWwdoD6Yq2sFFePoecMOrA4j6EYIyY1JV56gfkjSgL/JcAsEymrCrY9QuYyS2UQTIJAPF6cKNchrobugiT2oST5i1NIle4A6uSgCpvnpADUO8+vPKIEEpDTL7QB+6igQ/qOQxN1+6yChVC55vhcLjz8dEJQsjbReTPbMM8SCeYwSzGLRu+2G8sygn/NhUiImKWhi3Xb1fp+EN19Ad4UekRFEwhmxG+Bhg7tmSFOftLiW+xpDNHLtbQWFPjzZbhD+4m6wpfidX/l8mLDg/sBGp2LUf/T9B106VqHI1ImZFg62wGsBteIX9osRLkZTH7wRtmn2sJZunJ9RZqerAcvJsu5gqB/Zg1Jlzhnn1wvsN0xVmIRhWqSK1L5Itynt+axZbRcUfC0iTs5mmlJOS+WJbFU8ZGxvJ23
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(346002)(366004)(136003)(376002)(230922051799003)(451199024)(186009)(64100799003)(1800799009)(31686004)(66899024)(66476007)(54906003)(66946007)(6916009)(66556008)(86362001)(31696002)(36756003)(38100700002)(6512007)(53546011)(26005)(6506007)(2616005)(7416002)(2906002)(4744005)(478600001)(41300700001)(6486002)(316002)(8676002)(4326008)(8936002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cGhtNkMwUXhxVXJldnVuRU15WkFqU2VnTUlCdDB6ZUVnb210eGpVT1laL1FD?=
 =?utf-8?B?aVhNVjgxemVFSTVIbTJIeURZU3l1RS9Ea3RGYStyTjFsMjFzVHozVVlXWDYz?=
 =?utf-8?B?OEJDN1lkcjdUcThEdm5GV3dDN3lTNWZ5QTFhNUkyR2U0MnU2cm55RXhLekhq?=
 =?utf-8?B?eUVzcENHNmxiM1d0SUNRbEs0OTM2dG1rNVVveEFneGoyMW1oRUhRQ0JKR1N2?=
 =?utf-8?B?dTdhUFlhVGNrbEkxR0NXY1QwTkQwbHp2MllxWlNNU1NDc0l5N3g4UGNidGtJ?=
 =?utf-8?B?ZjYrc0ZGVmdNclBvd1hRRUFta2dzdFFUbDRqa3hEcko3algyNVFKTDBlTWxZ?=
 =?utf-8?B?bkpwdnhsQXZFdWprL0tRMkRYRlZHS2xDMWI0R1M4L3RYaUZhTE9zc2V0a282?=
 =?utf-8?B?T3Q2VEVEVnRjY3RoSEFlOXhtcDlLQzVxR2szeVhmd0JrM2RIbyt2cnVRb2ZS?=
 =?utf-8?B?K1N6RHpOY05SZEZHM3B1MUVrS3RHMUc4M01QdnM1aFBtbm1rVjlieUdIM3d5?=
 =?utf-8?B?SVNEdXhDQS9OY0dWNVVmRjdLaWZJWEpyUFhnZzhkeG50RFA0OWJ6akNrdnhM?=
 =?utf-8?B?SnlEODlNQWRCZE1tbWZQWkcwK1B5bWxLWGxJM1dBNTE3L2I3cjVMNDd3bjZo?=
 =?utf-8?B?WmdCZkdobFlFeFhTY285cDZVanFkdU9OYjdGdGtPQUE3b2FmcXMwOE1QYXBK?=
 =?utf-8?B?T2lnRllnaUZidFFxOCtjNnVoalBTVWtMSEhXblhrQWlzRS9tRjhCdjZRVGkz?=
 =?utf-8?B?U2J2R1FPZ0hkejhsTkN3UlVETmd4eElma25YcEJQV3g3WS80L1diN2dpUXdh?=
 =?utf-8?B?SHdCZ3NZQ1hsYkpqZjBjK1VxbnJqOTZWUnRReEQ4OHRaTU5XVXBiajNaTVVo?=
 =?utf-8?B?YTlnMUFVSXRmcjRtWkRJaDZSVVFIZEx4RDdvcEhsQ3ZnWXNjS2VDWFQvOHgx?=
 =?utf-8?B?RG9FMzd4bHg0eDl0RTdGdjdIRms3eFJMQlAvRTNsMEI1UFZMVjNiRTdrUXFR?=
 =?utf-8?B?ZHZkb2lFZ2doVXlrV1UwM2J6V1hhem42dDNyTHJYcVQ2WWJVeU1HekRPK20v?=
 =?utf-8?B?VEZYczMvdVlyNklxL3ZIWVlmT1FwMXhFaFUxb3IwUzJIaTR5anI2K2VSUENE?=
 =?utf-8?B?ajg1VzdLWlhxd2k4V3ZOU3ZieEFUWXg2c3VNbTJYaFlDdmt2a1JOL2l6dGJX?=
 =?utf-8?B?NUljNno5UTJXSXhNZkNDY2VnUzdpQ3hWcDNIVExjVkFjR1oyU1U3OXJ3RWVU?=
 =?utf-8?B?eW5CZEFGU1pEMzk2UDk4TmpYN3JkM2RucTdpcSsySEpKemdTUlZlK0pXd0M4?=
 =?utf-8?B?Z0Q5TVY3WUg2QXRDRDRjWGVBWGRXZ0dMNGIzeUJIQVNGWnR5dGFtVW56cnNM?=
 =?utf-8?B?OG9CTTQ2TForUnE2MkVkVklGUHl3L0pkOHYxdUM0eFFqcUxUQUFObHpBNXZ4?=
 =?utf-8?B?eTlHRUxSd2xwNU05eTZqWVZRU3hZQ3FMTzdkaGVCMUdHSVh3NXpoeEdKWVNh?=
 =?utf-8?B?NmxnSmc1NS85Y25JekY4YWs5NnhjaXloenlXa1Y4QytaOFFHdEoyRGxYQ1BD?=
 =?utf-8?B?cnRWcmMvc3hCYzc3eHhFT3BMMTFLa1pQVDZGd0dESWloQ3BCNU1UVVY1OUdD?=
 =?utf-8?B?bVZhbXAwRE9rZTdVUVVhTzRObTJxZWxVUkxHbk9lTEtKYUdEZWJqYnN5STdr?=
 =?utf-8?B?QldJUTNraU1EOTFsd0tRNGZ0Snc1N3lkSjVzYVZqR2lGRHc0V1grUFJpeHBK?=
 =?utf-8?B?OFhZQ1NVelltbmR0dEhCK2ordXV4c281UU5mSCszVzUxOTduMkxnRU5nNlRy?=
 =?utf-8?B?Nm9oTUFINFpRVzVWVUFYR1JNNUdQSlJqeVZkMmwwazRZeVZiWnVTSzVPZlVh?=
 =?utf-8?B?SG5ZMjMxSVRUZklzQmhWaUc1V3dROHc5WjRWbnJsV0NnVmJRWjN6aXVjYmxk?=
 =?utf-8?B?SmovdFhoQjVrMzVZVkVlNFo1Y0JhNDZZaGxTRHIrOFBuZlowY0JPYWNtNmlX?=
 =?utf-8?B?QnhyNFpHa2FUQmVpU1hGN1A2Z2Q4OERXN1Bhelp6NHMzLzFmY0ZiSVNyS1lR?=
 =?utf-8?B?N01yS2NjaEdxT003OGhrS2FLLzJmOU43UWl2ZU9kY0tDSW85cGZkLzBNNXF5?=
 =?utf-8?Q?72yh5+3bPxCU2J+CEE1p0bLH1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aca9e08b-4cc2-48a5-1d93-08dbe4efe215
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 08:58:34.5531
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XKBPlLc4hJiVt9GXsDa2c80vvvKgOIcYZhnVZpyNB58bD83Cj4HMIFZSLlEkHfLU+CKx9UAOyElift0bOia6dw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9349

On 13.11.2023 22:10, Stewart Hildebrand wrote:
> On 11/6/23 04:26, Jan Beulich wrote:
>> On 02.11.2023 20:59, Stewart Hildebrand wrote:
>>> +/* PCI passthrough may be backed by qemu for non-PVH domains */
>>> +#define arch_needs_vpci(d) is_pvh_domain(d)
>>
>> Wouldn't we want to check for exactly what the comment alludes to then,
>> i.e. whether the domain has any (specific?) device model attached?
> 
> This patch is primarily dealing with Arm, so I'm considering simply making it return false for now:
> 
> #define arch_needs_vpci(d) ({ (void)(d); false; })

But that's wrong for hwdom, as much as - strictly speaking - needs_vpci()
returning false for hwdom is wrong in the PVH case. This would then at
least need clarifying comments.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:00:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632209.986356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pHa-0001cY-JM; Tue, 14 Nov 2023 09:00:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632209.986356; Tue, 14 Nov 2023 09:00: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 1r2pHa-0001cR-G2; Tue, 14 Nov 2023 09:00:30 +0000
Received: by outflank-mailman (input) for mailman id 632209;
 Tue, 14 Nov 2023 09:00:28 +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 1r2pHY-0001cL-TO
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:00:28 +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 1r2pHY-0001O7-4z; Tue, 14 Nov 2023 09:00:28 +0000
Received: from gw1.octic.net ([88.97.20.152] 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 1r2pHX-0005TR-Vq; Tue, 14 Nov 2023 09:00: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=boPbSaKAL3DURrnT14Uocy/rLsn+sFYBlTq/feiY5lo=; b=vHuw17YMslpCgVvQ5JgZZqhg6r
	U7ZOR+RPBggM+c+F20449BGBx2pG2DaLY/WF3FXAXzbr3Rd1yGTVjv7n0iq7aMMKo7ZdwOZrsaU0P
	kiDxkk1M1lWVl3HlcLxiMHFgtWbtSNW47aYTRroKAnWNE0fpk11xmT10ldLcZSRenmOo=;
Message-ID: <6a63e87e-16ab-4e2c-a0fe-a213d52de2b2@xen.org>
Date: Tue, 14 Nov 2023 09:00:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 26/29] tools/xenstored: mount 9pfs device in stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-27-jgross@suse.com>
 <e637cc9f-246e-4834-b255-b4cdeb40178f@xen.org>
 <fe1e5b10-a9cb-4347-b148-8e5e0d290428@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <fe1e5b10-a9cb-4347-b148-8e5e0d290428@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 14/11/2023 06:40, Juergen Gross wrote:
> On 13.11.23 23:09, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 10/11/2023 16:08, Juergen Gross wrote:
>>> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
>>> index 162b87b460..4263c1360f 100644
>>> --- a/tools/xenstored/domain.c
>>> +++ b/tools/xenstored/domain.c
>>> @@ -1236,6 +1236,8 @@ void stubdom_init(void)
>>>           barf_perror("Failed to initialize stubdom");
>>>       xenevtchn_notify(xce_handle, stubdom->port);
>>> +
>>> +    mount_9pfs();
>>>   #endif
>>>   }
>>> diff --git a/tools/xenstored/minios.c b/tools/xenstored/minios.c
>>> index 202d70387a..fddbede869 100644
>>> --- a/tools/xenstored/minios.c
>>> +++ b/tools/xenstored/minios.c
>>> @@ -19,8 +19,16 @@
>>>   #include <sys/mman.h>
>>>   #include "core.h"
>>>   #include <xen/grant_table.h>
>>> +#include <mini-os/9pfront.h>
>>>   #include <mini-os/events.h>
>>>   #include <mini-os/gnttab.h>
>>> +#include <mini-os/sched.h>
>>> +#include <mini-os/xenbus.h>
>>> +#include <mini-os/xmalloc.h>
>>> +
>>> +#define P9_STATE_PATH    "device/9pfs/0/state"
>>> +
>>> +static void *p9_device;
>>>   void write_pidfile(const char *pidfile)
>>>   {
>>> @@ -62,3 +70,31 @@ void early_init(void)
>>>       if (stub_domid == DOMID_INVALID)
>>>           barf("could not get own domid");
>>>   }
>>> +
>>> +static void mount_thread(void *p)
>>> +{
>>> +    xenbus_event_queue events = NULL;
>>> +    char *err;
>>> +    char *dummy;
>>> +
>>> +    free(xenbus_watch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs", 
>>> &events));
>>
>> AFAICT, xenbus_watch_path_token() can fail. I agree this is unlikely, 
>> but if it fails, then it would be useful to get some logs. Otherwise...
>>
>>> +
>>> +    for (;;) {
>>
>> ... this loop would be infinite.
> 
> Okay, will add logging.
> 
>>
>>> +        xenbus_wait_for_watch(&events);
>>> +        err = xenbus_read(XBT_NIL, P9_STATE_PATH, &dummy);
>>
>> Can you explain why don't care about the value of the node?
> 
> I only care about the presence of the "state" node. All real state changes
> will be handled in init_9pfront().

Ok. Can this be documented in the code?

> 
>>
>>> +        if (!err)
>>> +            break;
>>> +        free(err);
>>> +    }
>>> +
>>> +    free(dummy);
>>> +
>>> +    free(xenbus_unwatch_path_token(XBT_NIL, P9_STATE_PATH, "9pfs"));
>>
>> xenbus_unwatch_path_token() could technically fails. It would be 
>> helpful to print a message.
> 
> I can add that, but do we really care? 

Well... Such approach is ok until the day all the watches are exhausted. 
At this point, the developper who hit the bug will likely wish there 
were some debugging.

> This is a common pattern in Mini-OS.

You are not selling Mini-OS :). Really all the callers should check 
error return and print errors. Let's not spread that mistake in Xenstored.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:01:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:01:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632212.986366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pIG-00027a-RF; Tue, 14 Nov 2023 09:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632212.986366; Tue, 14 Nov 2023 09: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 1r2pIG-00027T-OO; Tue, 14 Nov 2023 09:01:12 +0000
Received: by outflank-mailman (input) for mailman id 632212;
 Tue, 14 Nov 2023 09:01: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=5GB7=G3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2pIF-00027L-IT
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:01:11 +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 5a02daf1-82cc-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 10:01:09 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40907b82ab9so36546575e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 01:01:09 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 r9-20020a05600c320900b00407b93d8085sm16211069wmp.27.2023.11.14.01.01.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 01:01:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5a02daf1-82cc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699952468; x=1700557268; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=GUGhZEgj+tTwcbEJ5oblpH8Ps3IBPADAPD2tO/yiRCM=;
        b=TeqT4t0+gIwe2+EgSMCWUx8nvrlRI3Xm/lvZMLL9AGXneckrUSIcrFgfgBwecGvzCM
         dFTxK23HRgm8g8WwCWxvvPa1YCrLqb4Hkgc74+f9LMGJC0fEQddN++n9Fb0jpAqEk5CA
         2V7L5zaN8jvvF6HqPGfTXE1fLHCogp++TAN6Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699952468; x=1700557268;
        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:subject:date:message-id:reply-to;
        bh=GUGhZEgj+tTwcbEJ5oblpH8Ps3IBPADAPD2tO/yiRCM=;
        b=ibfl2PFqScLdQYcbQNthPoviIYoDA2HWoQXxiaaylEQ5zywDxMyuFAsDPgdgMg2Qf2
         vbOFBxO1WEnr/ltPrc3ADGCyPmFT2VhGzBQLeP9bzR1Bji577dx65kI/xBHGLQ9xgZOq
         E8vdfaFnEj3TXM7BR0lwy4/df2nRSjCC4Omf6JY8GopJ7WDbWCps1Yw+VvDBNP/fE1AJ
         gn8SuvT4mxuCKkFBnSeKV0lKttDPGAK8/NakZ9fZLrawcKEBgRVXa1feyhOMVz89XKM/
         LLanRrJqVCGhgoswyqgTWoI6p+dT1JYBTNlqNaR5cVTuWTsVdtYU7//ItyPADHbubGsk
         js9g==
X-Gm-Message-State: AOJu0Yyltb/KxrlvXNDp2xZxMTGrcc9W7F27RZlfs7e3fdMS3dwG8KWI
	tylL3cHVTwcRLjv0P96e7/pwawhVRGVOixCeWak=
X-Google-Smtp-Source: AGHT+IGOWmqBY9VX7kdhweiW31V8M+Re1m1spmSHoJxy43F13N5fOdrC9auyrWrWCVWDC/4YYvDGGQ==
X-Received: by 2002:a05:600c:c07:b0:408:33ba:569a with SMTP id fm7-20020a05600c0c0700b0040833ba569amr1670248wmb.8.1699952468612;
        Tue, 14 Nov 2023 01:01:08 -0800 (PST)
Date: Tue, 14 Nov 2023 10:01:06 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH] automation: set architecture in docker files
Message-ID: <ZVM3Ujf1nsws3Mxr@macbook.local>
References: <20231113155701.52052-1-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2311131608200.160649@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2311131608200.160649@ubuntu-linux-20-04-desktop>

On Mon, Nov 13, 2023 at 04:10:24PM -0800, Stefano Stabellini wrote:
> On Mon, 13 Nov 2023, Roger Pau Monne wrote:
> > Pass the desired architecture of the image in the FROM instruction if the
> > image is possibly multi-platform.
> > 
> > This allows using the x86 Dockerfiles on OS X on arm64 hardware.
> > 
> > No functional change intended.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Although I am not opposed to this change, so far we have been using:
> arm64v8/alpine:3.18
> 
> for x86 it is not specified but it would be:
> amd64/alpine:3.18
> 
> Two options:
> 1) we add amd64/ everywhere and leave the arm containers alone
> 2) we change all containers, including the arm containers, to use the
> --platform option
> 
> I don't think is a good idea to have 2 different ways to specify the
> architecture for x86 and arm containers

I'm not an expert on this, but attempting to use (2):

-FROM arm64v8/alpine:3.18
+FROM --platform=linux/arm64v8 alpine:3.18

Does not work for me:

% make -C automation/build alpine/3.18-arm64v8
docker build --pull -t registry.gitlab.com/xen-project/xen/alpine:3.18-arm64v8 -f alpine/3.18-arm64v8.dockerfile alpine
[+] Building 1.4s (3/3) FINISHED                                                  docker:desktop-linux
 => [internal] load .dockerignore                                                                 0.0s
 => => transferring context: 2B                                                                   0.0s
 => [internal] load build definition from 3.18-arm64v8.dockerfile                                 0.0s
 => => transferring dockerfile: 818B                                                              0.0s
 => ERROR [internal] load metadata for docker.io/library/alpine:3.18                              1.4s
------
 > [internal] load metadata for docker.io/library/alpine:3.18:
------
3.18-arm64v8.dockerfile:1
--------------------
   1 | >>> FROM --platform=linux/arm64v8 alpine:3.18
   2 |     LABEL maintainer.name="The Xen Project" \
   3 |           maintainer.email="xen-devel@lists.xenproject.org"
--------------------
ERROR: failed to solve: alpine:3.18: no match for platform in manifest sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016293fc851978: not found
make: *** [alpine/3.18-arm64v8] Error 1

That's why I've left the prefixed images alone.

I could prefix the x86 images with amd64/ if that's preferred, I
didn't try that option, as the Docker manual suggested using
--platform.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:04:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:04:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632219.986383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pL8-0002pp-Jb; Tue, 14 Nov 2023 09:04:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632219.986383; Tue, 14 Nov 2023 09:04: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 1r2pL8-0002p4-CY; Tue, 14 Nov 2023 09:04:10 +0000
Received: by outflank-mailman (input) for mailman id 632219;
 Tue, 14 Nov 2023 09:04: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=hHxF=G3=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2pL7-0002m9-LH
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:04:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id c4b116a1-82cc-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 10:04:08 +0100 (CET)
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 006CADA7;
 Tue, 14 Nov 2023 01:04:53 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 8EC113F641;
 Tue, 14 Nov 2023 01:04:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4b116a1-82cc-11ee-98db-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v5 1/5] arm/gicv2: make GICv2 driver and vGICv2 optional
Date: Tue, 14 Nov 2023 09:03:52 +0000
Message-Id: <20231114090356.875180-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231114090356.875180-1-luca.fancellu@arm.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
when needed, the option is active by default.

Introduce Kconfig VGICV2 that compiles the Generic Interrupt
Controller v2 emulation for domains, it is required only when using
GICv2 driver, otherwise using the GICv3 driver it is optional and can
be deselected if the user doesn't want to offer the v2 emulation to
domains or maybe its GICv3 hardware can't offer the GICv2 compatible
mode.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes from v2:
 - No changes
---
 xen/arch/arm/Kconfig        | 19 +++++++++++++++++++
 xen/arch/arm/Makefile       |  4 ++--
 xen/arch/arm/domain_build.c |  4 ++++
 xen/arch/arm/gic-v3.c       |  4 ++++
 xen/arch/arm/vgic.c         |  2 ++
 xen/arch/arm/vgic/Makefile  |  4 ++--
 6 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b78..0045a3762d86 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -80,6 +80,14 @@ config ARM_EFI
 	  UEFI firmware. A UEFI stub is provided to allow Xen to
 	  be booted as an EFI application.
 
+config GICV2
+	bool "GICv2 driver"
+	default y
+	select VGICV2
+	help
+	  Driver for the ARM Generic Interrupt Controller v2.
+	  If unsure, say Y
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
@@ -99,11 +107,22 @@ config OVERLAY_DTB
 	help
 	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
 
+config VGICV2
+	bool "vGICv2 interface for domains"
+	default y
+	help
+	  Allow Xen to expose a Generic Interrupt Controller version 2 like to Xen
+	  domains. This can be configured at the domain creation.
+	  This option is mandatory when using GICv2.
+	  For GICv3, this allows domain to use GICv2 when the hardware supports it.
+	  If unsure say Y.
+
 config HVM
         def_bool y
 
 config NEW_VGIC
 	bool "Use new VGIC implementation"
+	select GICV2
 	---help---
 
 	This is an alternative implementation of the ARM GIC interrupt
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e992046..81c31c36fc3d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -22,7 +22,7 @@ obj-y += domctl.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
 obj-y += gic.o
-obj-y += gic-v2.o
+obj-$(CONFIG_GICV2) += gic-v2.o
 obj-$(CONFIG_GICV3) += gic-v3.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-its.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-lpi.o
@@ -57,7 +57,7 @@ obj-$(CONFIG_NEW_VGIC) += vgic/
 ifneq ($(CONFIG_NEW_VGIC),y)
 obj-y += gic-vgic.o
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2dd2926b4144..814a41bcc502 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2491,6 +2491,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
+#ifdef CONFIG_VGICV2
 static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
@@ -2542,6 +2543,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 
     return res;
 }
+#endif
 
 #ifdef CONFIG_GICV3
 static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
@@ -2617,8 +2619,10 @@ static int __init make_gic_domU_node(struct kernel_info *kinfo)
     case GIC_V3:
         return make_gicv3_domU_node(kinfo);
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         return make_gicv2_domU_node(kinfo);
+#endif
     default:
         panic("Unsupported GIC version\n");
     }
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 172ff8c005ff..292abefd8731 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1334,6 +1334,7 @@ static paddr_t __initdata dbase = INVALID_PADDR;
 static paddr_t __initdata vbase = INVALID_PADDR, vsize = 0;
 static paddr_t __initdata cbase = INVALID_PADDR, csize = 0;
 
+#ifdef CONFIG_VGICV2
 /* If the GICv3 supports GICv2, initialize it */
 static void __init gicv3_init_v2(void)
 {
@@ -1359,6 +1360,9 @@ static void __init gicv3_init_v2(void)
 
     vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
 }
+#else
+static inline void gicv3_init_v2(void) { }
+#endif
 
 static void __init gicv3_ioremap_distributor(paddr_t dist_paddr)
 {
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index f6b49766f97a..c04fc4f83f96 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -96,10 +96,12 @@ int domain_vgic_register(struct domain *d, unsigned int *mmio_count)
            return -ENODEV;
         break;
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         if ( vgic_v2_init(d, mmio_count) )
             return -ENODEV;
         break;
+#endif
     default:
         printk(XENLOG_G_ERR "d%d: Unknown vGIC version %u\n",
                d->domain_id, d->arch.vgic.version);
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 806826948e20..60cbf7f2f94a 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -1,5 +1,5 @@
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-y += vgic-mmio.o
-obj-y += vgic-mmio-v2.o
+obj-$(CONFIG_VGICV2) += vgic-mmio-v2.o
 obj-y += vgic-init.o
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:04:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:04:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632218.986375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pL8-0002mU-8E; Tue, 14 Nov 2023 09:04:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632218.986375; Tue, 14 Nov 2023 09:04: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 1r2pL8-0002mN-5Q; Tue, 14 Nov 2023 09:04:10 +0000
Received: by outflank-mailman (input) for mailman id 632218;
 Tue, 14 Nov 2023 09:04: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=hHxF=G3=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2pL7-0002m9-0G
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:04:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id c3ff346d-82cc-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 10:04:07 +0100 (CET)
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 AC46CC15;
 Tue, 14 Nov 2023 01:04:51 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id EBB2A3F641;
 Tue, 14 Nov 2023 01:04:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c3ff346d-82cc-11ee-98db-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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 v5 0/5] Fine granular configuration
Date: Tue, 14 Nov 2023 09:03:51 +0000
Message-Id: <20231114090356.875180-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie aims to add more modularity to some feature that can be excluded
without issues from the build.

The first patch is already reviewed.

v2 update: So I've tried to see how to put the dom0less code in the common code,
but the amount of modifications are not trivial, even putting only the common
part and protecting them with ARM, leaving the ARM specific stuff under arch/
like gic etc... will leave a status that is not very nice, so I've decided for
now to keep everything on the arm architecture so that who is going to work
on unifying the code in common can just take from there and do the proper
rework.

This serie is not targeting 4.18.

Luca Fancellu (5):
  arm/gicv2: make GICv2 driver and vGICv2 optional
  xen/arm: Add asm/domain.h include to kernel.h
  arm/dom0less: put dom0less feature code in a separate module
  xen/arm: Move static memory build code in separate modules
  arm/dom0less: introduce Kconfig for dom0less feature

 xen/arch/arm/Kconfig                      |   27 +
 xen/arch/arm/Makefile                     |    7 +-
 xen/arch/arm/bootfdt.c                    |  161 +-
 xen/arch/arm/dom0less-build.c             | 1018 ++++++
 xen/arch/arm/domain_build.c               | 3591 ++++++---------------
 xen/arch/arm/efi/efi-boot.h               |    4 +
 xen/arch/arm/gic-v3.c                     |    4 +
 xen/arch/arm/include/asm/dom0less-build.h |   30 +
 xen/arch/arm/include/asm/domain_build.h   |   36 +
 xen/arch/arm/include/asm/kernel.h         |    1 +
 xen/arch/arm/include/asm/setup.h          |    1 -
 xen/arch/arm/include/asm/static-memory.h  |   45 +
 xen/arch/arm/include/asm/static-shmem.h   |   66 +
 xen/arch/arm/setup.c                      |   58 +-
 xen/arch/arm/static-memory.c              |  287 ++
 xen/arch/arm/static-shmem.c               |  547 ++++
 xen/arch/arm/vgic.c                       |    2 +
 xen/arch/arm/vgic/Makefile                |    4 +-
 xen/common/Kconfig                        |    2 +-
 19 files changed, 3059 insertions(+), 2832 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c


base-commit: fb41228ececea948c7953c8c16fe28fd65c6536b
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:04:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:04:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632220.986396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pL9-0003GL-Rx; Tue, 14 Nov 2023 09:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632220.986396; Tue, 14 Nov 2023 09:04: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 1r2pL9-0003GE-Oa; Tue, 14 Nov 2023 09:04:11 +0000
Received: by outflank-mailman (input) for mailman id 632220;
 Tue, 14 Nov 2023 09:04: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=hHxF=G3=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2pL8-0002m9-LQ
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:04:10 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id c5849b9c-82cc-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 10:04:09 +0100 (CET)
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 482C11007;
 Tue, 14 Nov 2023 01:04:54 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D65493F641;
 Tue, 14 Nov 2023 01:04:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5849b9c-82cc-11ee-98db-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v5 2/5] xen/arm: Add asm/domain.h include to kernel.h
Date: Tue, 14 Nov 2023 09:03:53 +0000
Message-Id: <20231114090356.875180-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231114090356.875180-1-luca.fancellu@arm.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 'enum domain_type' is defined by 'asm/domain.h' which is not
included (directly or indirectly) by 'asm/kernel.h'.

This currently doesn't break the compilation because asm/domain.h will
included by the user of 'kernel.h'. But it would be better to avoid
relying on it. So add the include in 'asm/domain.h'.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes from v2:
 - add Ack-by Julien
Changes from v1:
 - Rephrased commit message (Julien)
---
 xen/arch/arm/include/asm/kernel.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 4617cdc83bac..0a23e86c2d37 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -7,6 +7,7 @@
 #define __ARCH_ARM_KERNEL_H__
 
 #include <xen/device_tree.h>
+#include <asm/domain.h>
 #include <asm/setup.h>
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:04:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:04:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632222.986405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pLE-0003aD-5a; Tue, 14 Nov 2023 09:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632222.986405; Tue, 14 Nov 2023 09: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 1r2pLE-0003a6-1j; Tue, 14 Nov 2023 09:04:16 +0000
Received: by outflank-mailman (input) for mailman id 632222;
 Tue, 14 Nov 2023 09:04: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=hHxF=G3=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2pLB-0003Wi-Vq
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:04:14 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c65e12b3-82cc-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 10:04:11 +0100 (CET)
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 C93E91476;
 Tue, 14 Nov 2023 01:04:55 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2D3FC3F641;
 Tue, 14 Nov 2023 01:04:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c65e12b3-82cc-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 3/5] arm/dom0less: put dom0less feature code in a separate module
Date: Tue, 14 Nov 2023 09:03:54 +0000
Message-Id: <20231114090356.875180-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231114090356.875180-1-luca.fancellu@arm.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the dom0less feature code is mostly inside domain_build.c
and setup.c, it is a feature that may not be useful to everyone so
put the code in a different compilation module in order to make it
easier to disable the feature in the future.

Move gic_interrupt_t in domain_build.h to use it with the function
declaration, move its comment above the declaration.

The following functions are now visible externally from domain_build
because they are used also from the dom0less-build module:
 - get_allocation_size
 - set_interrupt
 - domain_fdt_begin_node
 - make_memory_node
 - make_resv_memory_node
 - make_hypervisor_node
 - make_psci_node
 - make_cpus_node
 - make_timer_node
 - handle_device_interrupts
 - construct_domain
 - process_shm
 - allocate_bank_memory

The functions allocate_static_memory and assign_static_memory_11
are now externally visible, so put their declarations into
domain_build.h and move the #else and stub definition in the header
as well.

Move is_dom0less_mode from setup.c to dom0less-build.c and make it
externally visible.

The function allocate_bank_memory is used only by dom0less code
at the moment, but it's been decided to leave it in domain_build.c
in case that in the future the dom0 code can use it.

Where spotted, fix code style issues.

No functional change is intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v4:
 - fixed name in inclusion macro __ASM_* instead of __ARM_*, fixed
   emacs local variable 'end:', style fix (Michal)
Changes from v3:
 - remove header in dom0less-build.c (Michal)
Changes from v2:
 - move allocate_bank_memory back in domain_build.c, remove header
   from dom0less-build.c.
---
 xen/arch/arm/Makefile                     |    1 +
 xen/arch/arm/dom0less-build.c             | 1018 +++++++++++++++++
 xen/arch/arm/domain_build.c               | 1265 +++------------------
 xen/arch/arm/include/asm/dom0less-build.h |   20 +
 xen/arch/arm/include/asm/domain_build.h   |   60 +
 xen/arch/arm/include/asm/setup.h          |    1 -
 xen/arch/arm/setup.c                      |   33 +-
 7 files changed, 1240 insertions(+), 1158 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 81c31c36fc3d..70dd7201ef30 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -15,6 +15,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
+obj-y += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
new file mode 100644
index 000000000000..1ca9d39043d6
--- /dev/null
+++ b/xen/arch/arm/dom0less-build.c
@@ -0,0 +1,1018 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/device_tree.h>
+#include <xen/err.h>
+#include <xen/event.h>
+#include <xen/grant_table.h>
+#include <xen/iocap.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+#include <xen/serial.h>
+#include <xen/sizes.h>
+#include <xen/vmap.h>
+
+#include <asm/arm64/sve.h>
+#include <asm/dom0less-build.h>
+#include <asm/domain_build.h>
+
+bool __init is_dom0less_mode(void)
+{
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootmodule *mod;
+    unsigned int i;
+    bool dom0found = false;
+    bool domUfound = false;
+
+    /* Look into the bootmodules */
+    for ( i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->module[i];
+        /* Find if dom0 and domU kernels are present */
+        if ( mod->kind == BOOTMOD_KERNEL )
+        {
+            if ( mod->domU == false )
+            {
+                dom0found = true;
+                break;
+            }
+            else
+                domUfound = true;
+        }
+    }
+
+    /*
+     * If there is no dom0 kernel but at least one domU, then we are in
+     * dom0less mode
+     */
+    return ( !dom0found && domUfound );
+}
+
+static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
+{
+    unsigned int i;
+    paddr_t bank_size;
+
+    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
+           /* Don't want format this as PRIpaddr (16 digit hex) */
+           (unsigned long)(kinfo->unassigned_mem >> 20), d);
+
+    kinfo->mem.nr_banks = 0;
+    bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
+    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
+                               bank_size) )
+        goto fail;
+
+    bank_size = MIN(GUEST_RAM1_SIZE, kinfo->unassigned_mem);
+    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
+                               bank_size) )
+        goto fail;
+
+    if ( kinfo->unassigned_mem )
+        goto fail;
+
+    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    {
+        printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
+               d,
+               i,
+               kinfo->mem.bank[i].start,
+               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
+               /* Don't want format this as PRIpaddr (16 digit hex) */
+               (unsigned long)(kinfo->mem.bank[i].size >> 20));
+    }
+
+    return;
+
+fail:
+    panic("Failed to allocate requested domain memory."
+          /* Don't want format this as PRIpaddr (16 digit hex) */
+          " %ldKB unallocated. Fix the VMs configurations.\n",
+          (unsigned long)kinfo->unassigned_mem >> 10);
+}
+
+#ifdef CONFIG_VGICV2
+static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
+    __be32 *cells;
+    const struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+#ifdef CONFIG_GICV3
+static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 *reg, *cells;
+    const struct domain *d = kinfo->d;
+    unsigned int i, len = 0;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
+    if ( res )
+        return res;
+
+    /* reg specifies all re-distributors and Distributor. */
+    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
+          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
+    reg = xmalloc_bytes(len);
+    if ( reg == NULL )
+        return -ENOMEM;
+    cells = reg;
+
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
+
+    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
+        dt_child_set_range(&cells,
+                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                           d->arch.vgic.rdist_regions[i].base,
+                           d->arch.vgic.rdist_regions[i].size);
+
+    res = fdt_property(fdt, "reg", reg, len);
+    xfree(reg);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+static int __init make_gic_domU_node(struct kernel_info *kinfo)
+{
+    switch ( kinfo->d->arch.vgic.version )
+    {
+#ifdef CONFIG_GICV3
+    case GIC_V3:
+        return make_gicv3_domU_node(kinfo);
+#endif
+#ifdef CONFIG_VGICV2
+    case GIC_V2:
+        return make_gicv2_domU_node(kinfo);
+#endif
+    default:
+        panic("Unsupported GIC version\n");
+    }
+}
+
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res;
+    gic_interrupt_t intr;
+    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+    __be32 *cells;
+    struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
+                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
+                       GUEST_PL011_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if ( res )
+        return res;
+
+    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+
+    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "interrupt-parent",
+                            kinfo->phandle_gic);
+    if ( res )
+        return res;
+
+    /* Use a default baud rate of 115200. */
+    fdt_property_u32(fdt, "current-speed", 115200);
+
+    res = fdt_end_node(fdt);
+    if ( res )
+        return res;
+
+    return 0;
+}
+#endif
+
+/*
+ * Scan device tree properties for passthrough specific information.
+ * Returns < 0 on error
+ *         0 on success
+ */
+static int __init handle_passthrough_prop(struct kernel_info *kinfo,
+                                          const struct fdt_property *xen_reg,
+                                          const struct fdt_property *xen_path,
+                                          bool xen_force,
+                                          uint32_t address_cells,
+                                          uint32_t size_cells)
+{
+    const __be32 *cell;
+    unsigned int i, len;
+    struct dt_device_node *node;
+    int res;
+    paddr_t mstart, size, gstart;
+
+    /* xen,reg specifies where to map the MMIO region */
+    cell = (const __be32 *)xen_reg->data;
+    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
+                                        sizeof(uint32_t));
+
+    for ( i = 0; i < len; i++ )
+    {
+        device_tree_get_reg(&cell, address_cells, size_cells,
+                            &mstart, &size);
+        gstart = dt_next_cell(address_cells, &cell);
+
+        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
+        {
+            printk(XENLOG_ERR
+                   "DomU passthrough config has not page aligned addresses/sizes\n");
+            return -EINVAL;
+        }
+
+        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
+                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
+                   kinfo->d->domain_id,
+                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
+            return res;
+        }
+
+        res = map_regions_p2mt(kinfo->d,
+                               gaddr_to_gfn(gstart),
+                               PFN_DOWN(size),
+                               maddr_to_mfn(mstart),
+                               p2m_mmio_direct_dev);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR
+                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
+                   mstart, gstart);
+            return -EFAULT;
+        }
+    }
+
+    /*
+     * If xen_force, we let the user assign a MMIO region with no
+     * associated path.
+     */
+    if ( xen_path == NULL )
+        return xen_force ? 0 : -EINVAL;
+
+    /*
+     * xen,path specifies the corresponding node in the host DT.
+     * Both interrupt mappings and IOMMU settings are based on it,
+     * as they are done based on the corresponding host DT node.
+     */
+    node = dt_find_node_by_path(xen_path->data);
+    if ( node == NULL )
+    {
+        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
+               (char *)xen_path->data);
+        return -EINVAL;
+    }
+
+    res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
+    if ( res < 0 )
+        return res;
+
+    res = iommu_add_dt_device(node);
+    if ( res < 0 )
+        return res;
+
+    /* If xen_force, we allow assignment of devices without IOMMU protection. */
+    if ( xen_force && !dt_device_is_protected(node) )
+        return 0;
+
+    return iommu_assign_dt_device(kinfo->d, node);
+}
+
+static int __init handle_prop_pfdt(struct kernel_info *kinfo,
+                                   const void *pfdt, int nodeoff,
+                                   uint32_t address_cells, uint32_t size_cells,
+                                   bool scan_passthrough_prop)
+{
+    void *fdt = kinfo->fdt;
+    int propoff, nameoff, res;
+    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
+    const char *name;
+    bool found, xen_force = false;
+
+    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
+          propoff >= 0;
+          propoff = fdt_next_property_offset(pfdt, propoff) )
+    {
+        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
+            return -FDT_ERR_INTERNAL;
+
+        found = false;
+        nameoff = fdt32_to_cpu(prop->nameoff);
+        name = fdt_string(pfdt, nameoff);
+
+        if ( scan_passthrough_prop )
+        {
+            if ( dt_prop_cmp("xen,reg", name) == 0 )
+            {
+                xen_reg = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,path", name) == 0 )
+            {
+                xen_path = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
+                                  name) == 0 )
+            {
+                xen_force = true;
+                found = true;
+            }
+        }
+
+        /*
+         * Copy properties other than the ones above: xen,reg, xen,path,
+         * and xen,force-assign-without-iommu.
+         */
+        if ( !found )
+        {
+            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
+            if ( res )
+                return res;
+        }
+    }
+
+    /*
+     * Only handle passthrough properties if both xen,reg and xen,path
+     * are present, or if xen,force-assign-without-iommu is specified.
+     */
+    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
+    {
+        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
+                                      address_cells, size_cells);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
+            return res;
+        }
+    }
+    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
+    {
+        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
+               kinfo->d);
+        return -EINVAL;
+    }
+
+    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
+    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
+}
+
+static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
+                                 int nodeoff,
+                                 uint32_t address_cells, uint32_t size_cells,
+                                 bool scan_passthrough_prop)
+{
+    int rc = 0;
+    void *fdt = kinfo->fdt;
+    int node_next;
+
+    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
+    if ( rc )
+        return rc;
+
+    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
+                          scan_passthrough_prop);
+    if ( rc )
+        return rc;
+
+    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
+                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
+    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
+                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
+
+    node_next = fdt_first_subnode(pfdt, nodeoff);
+    while ( node_next > 0 )
+    {
+        rc = scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
+                            scan_passthrough_prop);
+        if ( rc )
+            return rc;
+
+        node_next = fdt_next_subnode(pfdt, node_next);
+    }
+
+    return fdt_end_node(fdt);
+}
+
+static int __init check_partial_fdt(void *pfdt, size_t size)
+{
+    int res;
+
+    if ( fdt_magic(pfdt) != FDT_MAGIC )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
+        return -EINVAL;
+    }
+
+    res = fdt_check_header(pfdt);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
+        return -EINVAL;
+    }
+
+    if ( fdt_totalsize(pfdt) > size )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int __init domain_handle_dtb_bootmodule(struct domain *d,
+                                               struct kernel_info *kinfo)
+{
+    void *pfdt;
+    int res, node_next;
+
+    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
+                         kinfo->dtb_bootmodule->size);
+    if ( pfdt == NULL )
+        return -EFAULT;
+
+    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
+    if ( res < 0 )
+        goto out;
+
+    for ( node_next = fdt_first_subnode(pfdt, 0);
+          node_next > 0;
+          node_next = fdt_next_subnode(pfdt, node_next) )
+    {
+        const char *name = fdt_get_name(pfdt, node_next, NULL);
+
+        if ( name == NULL )
+            continue;
+
+        /*
+         * Only scan /gic /aliases /passthrough, ignore the rest.
+         * They don't have to be parsed in order.
+         *
+         * Take the GIC phandle value from the special /gic node in the
+         * DTB fragment.
+         */
+        if ( dt_node_cmp(name, "gic") == 0 )
+        {
+            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
+            continue;
+        }
+
+        if ( dt_node_cmp(name, "aliases") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 false);
+            if ( res )
+                goto out;
+            continue;
+        }
+        if ( dt_node_cmp(name, "passthrough") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 true);
+            if ( res )
+                goto out;
+            continue;
+        }
+    }
+
+ out:
+    iounmap(pfdt);
+
+    return res;
+}
+
+/*
+ * The max size for DT is 2MB. However, the generated DT is small (not including
+ * domU passthrough DT nodes whose size we account separately), 4KB are enough
+ * for now, but we might have to increase it in the future.
+ */
+#define DOMU_DTB_SIZE 4096
+static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
+{
+    int addrcells, sizecells;
+    int ret, fdt_size = DOMU_DTB_SIZE;
+
+    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
+    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
+    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
+
+    addrcells = GUEST_ROOT_ADDRESS_CELLS;
+    sizecells = GUEST_ROOT_SIZE_CELLS;
+
+    /* Account for domU passthrough DT size */
+    if ( kinfo->dtb_bootmodule )
+        fdt_size += kinfo->dtb_bootmodule->size;
+
+    /* Cap to max DT size if needed */
+    fdt_size = min(fdt_size, SZ_2M);
+
+    kinfo->fdt = xmalloc_bytes(fdt_size);
+    if ( kinfo->fdt == NULL )
+        return -ENOMEM;
+
+    ret = fdt_create(kinfo->fdt, fdt_size);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish_reservemap(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_begin_node(kinfo->fdt, "");
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
+    if ( ret )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
+    if ( ret )
+        goto err;
+
+    ret = make_chosen_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_psci_node(kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_cpus_node(d, kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+    if ( ret )
+        goto err;
+
+    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                                &kinfo->shm_mem);
+    if ( ret )
+        goto err;
+
+    /*
+     * domain_handle_dtb_bootmodule has to be called before the rest of
+     * the device tree is generated because it depends on the value of
+     * the field phandle_gic.
+     */
+    if ( kinfo->dtb_bootmodule )
+    {
+        ret = domain_handle_dtb_bootmodule(d, kinfo);
+        if ( ret )
+            goto err;
+    }
+
+    ret = make_gic_domU_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_timer_node(kinfo);
+    if ( ret )
+        goto err;
+
+    if ( kinfo->vpl011 )
+    {
+        ret = -EINVAL;
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+        ret = make_vpl011_uart_node(kinfo);
+#endif
+        if ( ret )
+            goto err;
+    }
+
+    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
+    {
+        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        if ( ret )
+            goto err;
+    }
+
+    ret = fdt_end_node(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    return 0;
+
+  err:
+    printk("Device tree generation failed (%d).\n", ret);
+    xfree(kinfo->fdt);
+
+    return -EINVAL;
+}
+
+static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
+                                             unsigned int smp_cpus)
+{
+    /*
+     * Keep in sync with libxl__get_required_paging_memory().
+     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
+     * plus 128 pages to cover extended regions.
+     */
+    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
+
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
+}
+
+static int __init alloc_xenstore_evtchn(struct domain *d)
+{
+    evtchn_alloc_unbound_t alloc;
+    int rc;
+
+    alloc.dom = d->domain_id;
+    alloc.remote_dom = hardware_domain->domain_id;
+    rc = evtchn_alloc_unbound(&alloc, 0);
+    if ( rc )
+    {
+        printk("Failed allocating event channel for domain\n");
+        return rc;
+    }
+
+    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
+
+    return 0;
+}
+
+static int __init construct_domU(struct domain *d,
+                                 const struct dt_device_node *node)
+{
+    struct kernel_info kinfo = {};
+    const char *dom0less_enhanced;
+    int rc;
+    u64 mem;
+    u32 p2m_mem_mb;
+    unsigned long p2m_pages;
+
+    rc = dt_property_read_u64(node, "memory", &mem);
+    if ( !rc )
+    {
+        printk("Error building DomU: cannot read \"memory\" property\n");
+        return -EINVAL;
+    }
+    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
+
+    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
+    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
+    p2m_pages = rc ?
+                p2m_mem_mb << (20 - PAGE_SHIFT) :
+                domain_p2m_pages(mem, d->max_vcpus);
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    spin_unlock(&d->arch.paging.lock);
+    if ( rc != 0 )
+        return rc;
+
+    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
+           d->max_vcpus, mem);
+
+    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
+
+    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
+    if ( rc == -EILSEQ ||
+         rc == -ENODATA ||
+         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
+    {
+        if ( hardware_domain )
+            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
+        else
+            panic("At the moment, Xenstore support requires dom0 to be present\n");
+    }
+    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
+        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
+
+    if ( vcpu_create(d, 0) == NULL )
+        return -ENOMEM;
+
+    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
+
+    kinfo.d = d;
+
+    rc = kernel_probe(&kinfo, node);
+    if ( rc < 0 )
+        return rc;
+
+#ifdef CONFIG_ARM_64
+    /* type must be set before allocate memory */
+    d->arch.type = kinfo.type;
+#endif
+    if ( !dt_find_property(node, "xen,static-mem", NULL) )
+        allocate_memory(d, &kinfo);
+    else if ( !is_domain_direct_mapped(d) )
+        allocate_static_memory(d, &kinfo, node);
+    else
+        assign_static_memory_11(d, &kinfo, node);
+
+#ifdef CONFIG_STATIC_SHM
+    rc = process_shm(d, &kinfo, 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
+     * shall be done first.
+     */
+    if ( kinfo.vpl011 )
+    {
+        rc = domain_vpl011_init(d, NULL);
+        if ( rc < 0 )
+            return rc;
+    }
+
+    rc = prepare_dtb_domU(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    rc = construct_domain(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
+    {
+        ASSERT(hardware_domain);
+        rc = alloc_xenstore_evtchn(d);
+        if ( rc < 0 )
+            return rc;
+        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
+    }
+
+    return rc;
+}
+
+void __init create_domUs(void)
+{
+    struct dt_device_node *node;
+    const struct dt_device_node *cpupool_node,
+                                *chosen = dt_find_node_by_path("/chosen");
+
+    BUG_ON(chosen == NULL);
+    dt_for_each_child_node(chosen, node)
+    {
+        struct domain *d;
+        struct xen_domctl_createdomain d_cfg = {
+            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
+            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
+            /*
+             * The default of 1023 should be sufficient for guests because
+             * on ARM we don't bind physical interrupts to event channels.
+             * The only use of the evtchn port is inter-domain communications.
+             * 1023 is also the default value used in libxl.
+             */
+            .max_evtchn_port = 1023,
+            .max_grant_frames = -1,
+            .max_maptrack_frames = -1,
+            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
+        };
+        unsigned int flags = 0U;
+        uint32_t val;
+        int rc;
+
+        if ( !dt_device_is_compatible(node, "xen,domain") )
+            continue;
+
+        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
+            panic("No more domain IDs available\n");
+
+        if ( dt_find_property(node, "xen,static-mem", NULL) )
+            flags |= CDF_staticmem;
+
+        if ( dt_property_read_bool(node, "direct-map") )
+        {
+            if ( !(flags & CDF_staticmem) )
+                panic("direct-map is not valid for domain %s without static allocation.\n",
+                      dt_node_name(node));
+
+            flags |= CDF_directmap;
+        }
+
+        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
+            panic("Missing property 'cpus' for domain %s\n",
+                  dt_node_name(node));
+
+        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
+             iommu_enabled )
+            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
+
+        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
+        {
+            int vpl011_virq = GUEST_VPL011_SPI;
+
+            d_cfg.arch.nr_spis = gic_number_lines() - 32;
+
+            /*
+             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
+             * set, in which case it'll match the hardware.
+             *
+             * Since the domain is not yet created, we can't use
+             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
+             * be hardcoded.
+             * The logic here shall be consistent with the one in
+             * domain_vpl011_init().
+             */
+            if ( flags & CDF_directmap )
+            {
+                vpl011_virq = serial_irq(SERHND_DTUART);
+                if ( vpl011_virq < 0 )
+                    panic("Error getting IRQ number for this serial port %d\n",
+                          SERHND_DTUART);
+            }
+
+            /*
+             * vpl011 uses one emulated SPI. If vpl011 is requested, make
+             * sure that we allocate enough SPIs for it.
+             */
+            if ( dt_property_read_bool(node, "vpl011") )
+                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
+                                         vpl011_virq - 32 + 1);
+        }
+
+        /* Get the optional property domain-cpupool */
+        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
+        if ( cpupool_node )
+        {
+            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
+            if ( pool_id < 0 )
+                panic("Error getting cpupool id from domain-cpupool (%d)\n",
+                      pool_id);
+            d_cfg.cpupool_id = pool_id;
+        }
+
+        if ( dt_property_read_u32(node, "max_grant_version", &val) )
+            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
+
+        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_grant_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_grant_frames = val;
+        }
+
+        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_maptrack_frames = val;
+        }
+
+        if ( dt_get_property(node, "sve", &val) )
+        {
+#ifdef CONFIG_ARM64_SVE
+            unsigned int sve_vl_bits;
+            bool ret = false;
+
+            if ( !val )
+            {
+                /* Property found with no value, means max HW VL supported */
+                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
+            }
+            else
+            {
+                if ( dt_property_read_u32(node, "sve", &val) )
+                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
+                else
+                    panic("Error reading 'sve' property\n");
+            }
+
+            if ( ret )
+                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
+            else
+                panic("SVE vector length error\n");
+#else
+            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
+#endif
+        }
+
+        /*
+         * The variable max_init_domid is initialized with zero, so here it's
+         * very important to use the pre-increment operator to call
+         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
+         */
+        d = domain_create(++max_init_domid, &d_cfg, flags);
+        if ( IS_ERR(d) )
+            panic("Error creating domain %s (rc = %ld)\n",
+                  dt_node_name(node), PTR_ERR(d));
+
+        d->is_console = true;
+        dt_device_set_used_by(node, d->domain_id);
+
+        rc = construct_domU(d, node);
+        if ( rc )
+            panic("Could not set up domain %s (rc = %d)\n",
+                  dt_node_name(node), rc);
+    }
+}
+
+/*
+ * 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/domain_build.c b/xen/arch/arm/domain_build.c
index 814a41bcc502..90dba16e42c9 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -29,6 +29,7 @@
 #include <asm/setup.h>
 #include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
+#include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
 
@@ -118,7 +119,7 @@ struct vcpu *__init alloc_dom0_vcpu0(struct domain *dom0)
     return vcpu_create(dom0, 0);
 }
 
-static unsigned int __init get_allocation_size(paddr_t size)
+unsigned int __init get_allocation_size(paddr_t size)
 {
     /*
      * get_order_from_bytes returns the order greater than or equal to
@@ -414,10 +415,8 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
-static bool __init allocate_bank_memory(struct domain *d,
-                                        struct kernel_info *kinfo,
-                                        gfn_t sgfn,
-                                        paddr_t tot_size)
+bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
+                                 gfn_t sgfn, paddr_t tot_size)
 {
     int res;
     struct page_info *pg;
@@ -478,49 +477,6 @@ static bool __init allocate_bank_memory(struct domain *d,
     return true;
 }
 
-static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
-{
-    unsigned int i;
-    paddr_t bank_size;
-
-    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
-           /* Don't want format this as PRIpaddr (16 digit hex) */
-           (unsigned long)(kinfo->unassigned_mem >> 20), d);
-
-    kinfo->mem.nr_banks = 0;
-    bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
-                               bank_size) )
-        goto fail;
-
-    bank_size = MIN(GUEST_RAM1_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
-                               bank_size) )
-        goto fail;
-
-    if ( kinfo->unassigned_mem )
-        goto fail;
-
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
-    {
-        printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
-               d,
-               i,
-               kinfo->mem.bank[i].start,
-               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
-               /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(kinfo->mem.bank[i].size >> 20));
-    }
-
-    return;
-
-fail:
-    panic("Failed to allocate requested domain memory."
-          /* Don't want format this as PRIpaddr (16 digit hex) */
-          " %ldKB unallocated. Fix the VMs configurations.\n",
-          (unsigned long)kinfo->unassigned_mem >> 10);
-}
-
 #ifdef CONFIG_STATIC_MEMORY
 static bool __init append_static_memory_to_bank(struct domain *d,
                                                 struct membank *bank,
@@ -600,9 +556,8 @@ static int __init parse_static_mem_prop(const struct dt_device_node *node,
 }
 
 /* Allocate memory from static memory as RAM for one specific domain d. */
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
+void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
 {
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, gbank, bank = 0;
@@ -706,9 +661,8 @@ static void __init allocate_static_memory(struct domain *d,
  * The static memory will be directly mapped in the guest(Guest Physical
  * Address == Physical Address).
  */
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
+void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                                    const struct dt_device_node *node)
 {
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, bank = 0;
@@ -942,8 +896,8 @@ static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
     return 0;
 }
 
-static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                              const struct dt_device_node *node)
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       const struct dt_device_node *node)
 {
     struct dt_device_node *shm_node;
 
@@ -1048,20 +1002,6 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 #endif /* CONFIG_STATIC_SHM */
-#else
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
 #endif
 
 /*
@@ -1265,17 +1205,10 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 
-/*
- * Helper to write an interrupts with the GIC format
- * This code is assuming the irq is an PPI.
- */
-
-typedef __be32 gic_interrupt_t[3];
-
-static void __init set_interrupt(gic_interrupt_t interrupt,
-                                 unsigned int irq,
-                                 unsigned int cpumask,
-                                 unsigned int level)
+void __init set_interrupt(gic_interrupt_t interrupt,
+                          unsigned int irq,
+                          unsigned int cpumask,
+                          unsigned int level)
 {
     __be32 *cells = interrupt;
     bool is_ppi = !!(irq < 32);
@@ -1320,8 +1253,7 @@ static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
  * unit (which contains the physical address) with name to generate a
  * node name.
  */
-static int __init domain_fdt_begin_node(void *fdt, const char *name,
-                                        uint64_t unit)
+int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
 {
     /*
      * The size of the buffer to hold the longest possible string (i.e.
@@ -1345,10 +1277,10 @@ static int __init domain_fdt_begin_node(void *fdt, const char *name,
     return fdt_begin_node(fdt, buf);
 }
 
-static int __init make_memory_node(const struct domain *d,
-                                   void *fdt,
-                                   int addrcells, int sizecells,
-                                   struct meminfo *mem)
+int __init make_memory_node(const struct domain *d,
+                            void *fdt,
+                            int addrcells, int sizecells,
+                            struct meminfo *mem)
 {
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
@@ -1484,10 +1416,10 @@ static int __init make_shm_memory_node(const struct domain *d,
 }
 #endif
 
-static int __init make_resv_memory_node(const struct domain *d,
-                                        void *fdt,
-                                        int addrcells, int sizecells,
-                                        const struct meminfo *mem)
+int __init make_resv_memory_node(const struct domain *d,
+                                 void *fdt,
+                                 int addrcells, int sizecells,
+                                 const struct meminfo *mem)
 {
     int res = 0;
     /* Placeholder for reserved-memory\0 */
@@ -1820,9 +1752,9 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
     return res;
 }
 
-static int __init make_hypervisor_node(struct domain *d,
-                                       const struct kernel_info *kinfo,
-                                       int addrcells, int sizecells)
+int __init make_hypervisor_node(struct domain *d,
+                                const struct kernel_info *kinfo,
+                                int addrcells, int sizecells)
 {
     const char compat[] =
         "xen,xen-" XEN_VERSION_STRING "\0"
@@ -1939,7 +1871,7 @@ static int __init make_hypervisor_node(struct domain *d,
     return res;
 }
 
-static int __init make_psci_node(void *fdt)
+int __init make_psci_node(void *fdt)
 {
     int res;
     const char compat[] =
@@ -1975,7 +1907,7 @@ static int __init make_psci_node(void *fdt)
     return res;
 }
 
-static int __init make_cpus_node(const struct domain *d, void *fdt)
+int __init make_cpus_node(const struct domain *d, void *fdt)
 {
     int res;
     const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
@@ -2173,7 +2105,7 @@ static int __init make_gic_node(const struct domain *d, void *fdt,
     return res;
 }
 
-static int __init make_timer_node(const struct kernel_info *kinfo)
+int __init make_timer_node(const struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
     static const struct dt_device_match timer_ids[] __initconst =
@@ -2491,773 +2423,161 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
-#ifdef CONFIG_VGICV2
-static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
-    int res = 0;
-    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
-    __be32 *cells;
-    const struct domain *d = kinfo->d;
-
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
+    const p2m_type_t default_p2mt = p2m_mmio_direct_c;
+    const void *fdt;
+    int new_size;
+    int ret;
 
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
+    ASSERT(dt_host && (dt_host->sibling == NULL));
 
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
+    kinfo->phandle_gic = dt_interrupt_controller->phandle;
+    fdt = device_tree_flattened;
 
-    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
-    if ( res )
-        return res;
+    new_size = fdt_totalsize(fdt) + DOM0_FDT_EXTRA_SIZE;
+    kinfo->fdt = xmalloc_bytes(new_size);
+    if ( kinfo->fdt == NULL )
+        return -ENOMEM;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
+    ret = fdt_create(kinfo->fdt, new_size);
+    if ( ret < 0 )
+        goto err;
 
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
-    if (res)
-        return res;
+    fdt_finish_reservemap(kinfo->fdt);
 
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    ret = handle_node(d, kinfo, dt_host, default_p2mt);
+    if ( ret )
+        goto err;
 
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    ret = fdt_finish(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
 
-    res = fdt_end_node(fdt);
+    return 0;
 
-    return res;
+  err:
+    printk("Device tree generation failed (%d).\n", ret);
+    xfree(kinfo->fdt);
+    return -EINVAL;
 }
-#endif
 
-#ifdef CONFIG_GICV3
-static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+static void __init dtb_load(struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
-    int res = 0;
-    __be32 *reg, *cells;
-    const struct domain *d = kinfo->d;
-    unsigned int i, len = 0;
-
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
-    if ( res )
-        return res;
-
-    /* reg specifies all re-distributors and Distributor. */
-    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
-          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
-    reg = xmalloc_bytes(len);
-    if ( reg == NULL )
-        return -ENOMEM;
-    cells = reg;
-
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
-
-    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
-        dt_child_set_range(&cells,
-                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                           d->arch.vgic.rdist_regions[i].base,
-                           d->arch.vgic.rdist_regions[i].size);
-
-    res = fdt_property(fdt, "reg", reg, len);
-    xfree(reg);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    unsigned long left;
 
-    res = fdt_end_node(fdt);
+    printk("Loading %pd DTB to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
+           kinfo->d, kinfo->dtb_paddr,
+           kinfo->dtb_paddr + fdt_totalsize(kinfo->fdt));
 
-    return res;
-}
-#endif
+    left = copy_to_guest_phys_flush_dcache(kinfo->d, kinfo->dtb_paddr,
+                                           kinfo->fdt,
+                                           fdt_totalsize(kinfo->fdt));
 
-static int __init make_gic_domU_node(struct kernel_info *kinfo)
-{
-    switch ( kinfo->d->arch.vgic.version )
-    {
-#ifdef CONFIG_GICV3
-    case GIC_V3:
-        return make_gicv3_domU_node(kinfo);
-#endif
-#ifdef CONFIG_VGICV2
-    case GIC_V2:
-        return make_gicv2_domU_node(kinfo);
-#endif
-    default:
-        panic("Unsupported GIC version\n");
-    }
+    if ( left != 0 )
+        panic("Unable to copy the DTB to %pd memory (left = %lu bytes)\n",
+              kinfo->d, left);
+    xfree(kinfo->fdt);
 }
 
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+static void __init initrd_load(struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
+    const struct bootmodule *mod = kinfo->initrd_bootmodule;
+    paddr_t load_addr = kinfo->initrd_paddr;
+    paddr_t paddr, len;
+    int node;
     int res;
-    gic_interrupt_t intr;
-    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-    __be32 *cells;
-    struct domain *d = kinfo->d;
-
-    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
-    if ( res )
-        return res;
+    __be32 val[2];
+    __be32 *cellp;
+    void __iomem *initrd;
 
-    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
-    if ( res )
-        return res;
+    if ( !mod || !mod->size )
+        return;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
-                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
-                       GUEST_PL011_SIZE);
+    paddr = mod->start;
+    len = mod->size;
 
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
-    if ( res )
-        return res;
+    printk("Loading %pd initrd from %"PRIpaddr" to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
+           kinfo->d, paddr, load_addr, load_addr + len);
 
-    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+    /* Fix up linux,initrd-start and linux,initrd-end in /chosen */
+    node = fdt_path_offset(kinfo->fdt, "/chosen");
+    if ( node < 0 )
+        panic("Cannot find the /chosen node\n");
 
-    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
+    cellp = (__be32 *)val;
+    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr);
+    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-start",
+                              val, sizeof(val));
     if ( res )
-        return res;
+        panic("Cannot fix up \"linux,initrd-start\" property\n");
 
-    res = fdt_property_cell(fdt, "interrupt-parent",
-                            kinfo->phandle_gic);
+    cellp = (__be32 *)val;
+    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr + len);
+    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-end",
+                              val, sizeof(val));
     if ( res )
-        return res;
+        panic("Cannot fix up \"linux,initrd-end\" property\n");
 
-    /* Use a default baud rate of 115200. */
-    fdt_property_u32(fdt, "current-speed", 115200);
+    initrd = ioremap_wc(paddr, len);
+    if ( !initrd )
+        panic("Unable to map the hwdom initrd\n");
 
-    res = fdt_end_node(fdt);
-    if ( res )
-        return res;
+    res = copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
+                                          initrd, len);
+    if ( res != 0 )
+        panic("Unable to copy the initrd in the hwdom memory\n");
 
-    return 0;
+    iounmap(initrd);
 }
-#endif
 
 /*
- * Scan device tree properties for passthrough specific information.
- * Returns < 0 on error
- *         0 on success
+ * Allocate the event channel PPIs and setup the HVM_PARAM_CALLBACK_IRQ.
+ * The allocated IRQ will be found in d->arch.evtchn_irq.
+ *
+ * Note that this should only be called once all PPIs used by the
+ * hardware domain have been registered.
  */
-static int __init handle_passthrough_prop(struct kernel_info *kinfo,
-                                          const struct fdt_property *xen_reg,
-                                          const struct fdt_property *xen_path,
-                                          bool xen_force,
-                                          uint32_t address_cells, uint32_t size_cells)
+void __init evtchn_allocate(struct domain *d)
 {
-    const __be32 *cell;
-    unsigned int i, len;
-    struct dt_device_node *node;
     int res;
-    paddr_t mstart, size, gstart;
+    u64 val;
 
-    /* xen,reg specifies where to map the MMIO region */
-    cell = (const __be32 *)xen_reg->data;
-    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
-                                        sizeof(uint32_t));
+    res = vgic_allocate_ppi(d);
+    if ( res < 0 )
+        panic("Unable to allocate a PPI for the event channel interrupt\n");
 
-    for ( i = 0; i < len; i++ )
-    {
-        device_tree_get_reg(&cell, address_cells, size_cells,
-                            &mstart, &size);
-        gstart = dt_next_cell(address_cells, &cell);
+    d->arch.evtchn_irq = res;
 
-        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
-        {
-            printk(XENLOG_ERR
-                    "DomU passthrough config has not page aligned addresses/sizes\n");
-            return -EINVAL;
-        }
+    printk("Allocating PPI %u for event channel interrupt\n",
+           d->arch.evtchn_irq);
 
-        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
-                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
-                   kinfo->d->domain_id,
-                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
-            return res;
-        }
+    /* Set the value of domain param HVM_PARAM_CALLBACK_IRQ */
+    val = MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI,
+                    HVM_PARAM_CALLBACK_IRQ_TYPE_MASK);
+    /* Active-low level-sensitive  */
+    val |= MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_LOW_LEVEL,
+                     HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_MASK);
+    val |= d->arch.evtchn_irq;
+    d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
+}
 
-        res = map_regions_p2mt(kinfo->d,
-                               gaddr_to_gfn(gstart),
-                               PFN_DOWN(size),
-                               maddr_to_mfn(mstart),
-                               p2m_mmio_direct_dev);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR
-                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
-                   mstart, gstart);
-            return -EFAULT;
-        }
-    }
+static int __init get_evtchn_dt_property(const struct dt_device_node *np,
+                                         uint32_t *port, uint32_t *phandle)
+{
+    const __be32 *prop = NULL;
+    uint32_t len;
 
-    /*
-     * If xen_force, we let the user assign a MMIO region with no
-     * associated path.
-     */
-    if ( xen_path == NULL )
-        return xen_force ? 0 : -EINVAL;
+    prop = dt_get_property(np, "xen,evtchn", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
+        return -EINVAL;
+    }
 
-    /*
-     * xen,path specifies the corresponding node in the host DT.
-     * Both interrupt mappings and IOMMU settings are based on it,
-     * as they are done based on the corresponding host DT node.
-     */
-    node = dt_find_node_by_path(xen_path->data);
-    if ( node == NULL )
+    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
     {
-        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
-               (char *)xen_path->data);
-        return -EINVAL;
-    }
-
-    res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
-    if ( res < 0 )
-        return res;
-
-    res = iommu_add_dt_device(node);
-    if ( res < 0 )
-        return res;
-
-    /* If xen_force, we allow assignment of devices without IOMMU protection. */
-    if ( xen_force && !dt_device_is_protected(node) )
-        return 0;
-
-    return iommu_assign_dt_device(kinfo->d, node);
-}
-
-static int __init handle_prop_pfdt(struct kernel_info *kinfo,
-                                   const void *pfdt, int nodeoff,
-                                   uint32_t address_cells, uint32_t size_cells,
-                                   bool scan_passthrough_prop)
-{
-    void *fdt = kinfo->fdt;
-    int propoff, nameoff, res;
-    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
-    const char *name;
-    bool found, xen_force = false;
-
-    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
-          propoff >= 0;
-          propoff = fdt_next_property_offset(pfdt, propoff) )
-    {
-        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
-            return -FDT_ERR_INTERNAL;
-
-        found = false;
-        nameoff = fdt32_to_cpu(prop->nameoff);
-        name = fdt_string(pfdt, nameoff);
-
-        if ( scan_passthrough_prop )
-        {
-            if ( dt_prop_cmp("xen,reg", name) == 0 )
-            {
-                xen_reg = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,path", name) == 0 )
-            {
-                xen_path = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
-                                  name) == 0 )
-            {
-                xen_force = true;
-                found = true;
-            }
-        }
-
-        /*
-         * Copy properties other than the ones above: xen,reg, xen,path,
-         * and xen,force-assign-without-iommu.
-         */
-        if ( !found )
-        {
-            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
-            if ( res )
-                return res;
-        }
-    }
-
-    /*
-     * Only handle passthrough properties if both xen,reg and xen,path
-     * are present, or if xen,force-assign-without-iommu is specified.
-     */
-    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
-    {
-        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
-                                      address_cells, size_cells);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
-            return res;
-        }
-    }
-    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
-    {
-        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
-               kinfo->d);
-        return -EINVAL;
-    }
-
-    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
-    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
-}
-
-static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
-                                 int nodeoff,
-                                 uint32_t address_cells, uint32_t size_cells,
-                                 bool scan_passthrough_prop)
-{
-    int rc = 0;
-    void *fdt = kinfo->fdt;
-    int node_next;
-
-    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
-    if ( rc )
-        return rc;
-
-    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
-                          scan_passthrough_prop);
-    if ( rc )
-        return rc;
-
-    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
-                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
-    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
-                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
-
-    node_next = fdt_first_subnode(pfdt, nodeoff);
-    while ( node_next > 0 )
-    {
-        rc = scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
-                            scan_passthrough_prop);
-        if ( rc )
-            return rc;
-
-        node_next = fdt_next_subnode(pfdt, node_next);
-    }
-
-    return fdt_end_node(fdt);
-}
-
-static int __init check_partial_fdt(void *pfdt, size_t size)
-{
-    int res;
-
-    if ( fdt_magic(pfdt) != FDT_MAGIC )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
-        return -EINVAL;
-    }
-
-    res = fdt_check_header(pfdt);
-    if ( res )
-    {
-        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
-        return -EINVAL;
-    }
-
-    if ( fdt_totalsize(pfdt) > size )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
-        return -EINVAL;
-    }
-
-    return 0;
-}
-
-static int __init domain_handle_dtb_bootmodule(struct domain *d,
-                                               struct kernel_info *kinfo)
-{
-    void *pfdt;
-    int res, node_next;
-
-    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
-                         kinfo->dtb_bootmodule->size);
-    if ( pfdt == NULL )
-        return -EFAULT;
-
-    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
-    if ( res < 0 )
-        goto out;
-
-    for ( node_next = fdt_first_subnode(pfdt, 0); 
-          node_next > 0;
-          node_next = fdt_next_subnode(pfdt, node_next) )
-    {
-        const char *name = fdt_get_name(pfdt, node_next, NULL);
-
-        if ( name == NULL )
-            continue;
-
-        /*
-         * Only scan /gic /aliases /passthrough, ignore the rest.
-         * They don't have to be parsed in order.
-         *
-         * Take the GIC phandle value from the special /gic node in the
-         * DTB fragment.
-         */
-        if ( dt_node_cmp(name, "gic") == 0 )
-        {
-            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
-            continue;
-        }
-
-        if ( dt_node_cmp(name, "aliases") == 0 )
-        {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 false);
-            if ( res )
-                goto out;
-            continue;
-        }
-        if ( dt_node_cmp(name, "passthrough") == 0 )
-        {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 true);
-            if ( res )
-                goto out;
-            continue;
-        }
-    }
-
- out:
-    iounmap(pfdt);
-
-    return res;
-}
-
-/*
- * The max size for DT is 2MB. However, the generated DT is small (not including
- * domU passthrough DT nodes whose size we account separately), 4KB are enough
- * for now, but we might have to increase it in the future.
- */
-#define DOMU_DTB_SIZE 4096
-static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
-{
-    int addrcells, sizecells;
-    int ret, fdt_size = DOMU_DTB_SIZE;
-
-    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
-    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
-    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
-
-    addrcells = GUEST_ROOT_ADDRESS_CELLS;
-    sizecells = GUEST_ROOT_SIZE_CELLS;
-
-    /* Account for domU passthrough DT size */
-    if ( kinfo->dtb_bootmodule )
-        fdt_size += kinfo->dtb_bootmodule->size;
-
-    /* Cap to max DT size if needed */
-    fdt_size = min(fdt_size, SZ_2M);
-
-    kinfo->fdt = xmalloc_bytes(fdt_size);
-    if ( kinfo->fdt == NULL )
-        return -ENOMEM;
-
-    ret = fdt_create(kinfo->fdt, fdt_size);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_finish_reservemap(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_begin_node(kinfo->fdt, "");
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
-    if ( ret )
-        goto err;
-
-    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
-    if ( ret )
-        goto err;
-
-    ret = make_chosen_node(kinfo);
-    if ( ret )
-        goto err;
-
-    ret = make_psci_node(kinfo->fdt);
-    if ( ret )
-        goto err;
-
-    ret = make_cpus_node(d, kinfo->fdt);
-    if ( ret )
-        goto err;
-
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
-    if ( ret )
-        goto err;
-
-    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                &kinfo->shm_mem);
-    if ( ret )
-        goto err;
-
-    /*
-     * domain_handle_dtb_bootmodule has to be called before the rest of
-     * the device tree is generated because it depends on the value of
-     * the field phandle_gic.
-     */
-    if ( kinfo->dtb_bootmodule )
-    {
-        ret = domain_handle_dtb_bootmodule(d, kinfo);
-        if ( ret )
-            goto err;
-    }
-
-    ret = make_gic_domU_node(kinfo);
-    if ( ret )
-        goto err;
-
-    ret = make_timer_node(kinfo);
-    if ( ret )
-        goto err;
-
-    if ( kinfo->vpl011 )
-    {
-        ret = -EINVAL;
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-        ret = make_vpl011_uart_node(kinfo);
-#endif
-        if ( ret )
-            goto err;
-    }
-
-    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
-    {
-        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
-        if ( ret )
-            goto err;
-    }
-
-    ret = fdt_end_node(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_finish(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    return 0;
-
-  err:
-    printk("Device tree generation failed (%d).\n", ret);
-    xfree(kinfo->fdt);
-
-    return -EINVAL;
-}
-
-static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
-{
-    const p2m_type_t default_p2mt = p2m_mmio_direct_c;
-    const void *fdt;
-    int new_size;
-    int ret;
-
-    ASSERT(dt_host && (dt_host->sibling == NULL));
-
-    kinfo->phandle_gic = dt_interrupt_controller->phandle;
-    fdt = device_tree_flattened;
-
-    new_size = fdt_totalsize(fdt) + DOM0_FDT_EXTRA_SIZE;
-    kinfo->fdt = xmalloc_bytes(new_size);
-    if ( kinfo->fdt == NULL )
-        return -ENOMEM;
-
-    ret = fdt_create(kinfo->fdt, new_size);
-    if ( ret < 0 )
-        goto err;
-
-    fdt_finish_reservemap(kinfo->fdt);
-
-    ret = handle_node(d, kinfo, dt_host, default_p2mt);
-    if ( ret )
-        goto err;
-
-    ret = fdt_finish(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    return 0;
-
-  err:
-    printk("Device tree generation failed (%d).\n", ret);
-    xfree(kinfo->fdt);
-    return -EINVAL;
-}
-
-static void __init dtb_load(struct kernel_info *kinfo)
-{
-    unsigned long left;
-
-    printk("Loading %pd DTB to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
-           kinfo->d, kinfo->dtb_paddr,
-           kinfo->dtb_paddr + fdt_totalsize(kinfo->fdt));
-
-    left = copy_to_guest_phys_flush_dcache(kinfo->d, kinfo->dtb_paddr,
-                                           kinfo->fdt,
-                                           fdt_totalsize(kinfo->fdt));
-
-    if ( left != 0 )
-        panic("Unable to copy the DTB to %pd memory (left = %lu bytes)\n",
-              kinfo->d, left);
-    xfree(kinfo->fdt);
-}
-
-static void __init initrd_load(struct kernel_info *kinfo)
-{
-    const struct bootmodule *mod = kinfo->initrd_bootmodule;
-    paddr_t load_addr = kinfo->initrd_paddr;
-    paddr_t paddr, len;
-    int node;
-    int res;
-    __be32 val[2];
-    __be32 *cellp;
-    void __iomem *initrd;
-
-    if ( !mod || !mod->size )
-        return;
-
-    paddr = mod->start;
-    len = mod->size;
-
-    printk("Loading %pd initrd from %"PRIpaddr" to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
-           kinfo->d, paddr, load_addr, load_addr + len);
-
-    /* Fix up linux,initrd-start and linux,initrd-end in /chosen */
-    node = fdt_path_offset(kinfo->fdt, "/chosen");
-    if ( node < 0 )
-        panic("Cannot find the /chosen node\n");
-
-    cellp = (__be32 *)val;
-    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr);
-    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-start",
-                              val, sizeof(val));
-    if ( res )
-        panic("Cannot fix up \"linux,initrd-start\" property\n");
-
-    cellp = (__be32 *)val;
-    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr + len);
-    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-end",
-                              val, sizeof(val));
-    if ( res )
-        panic("Cannot fix up \"linux,initrd-end\" property\n");
-
-    initrd = ioremap_wc(paddr, len);
-    if ( !initrd )
-        panic("Unable to map the hwdom initrd\n");
-
-    res = copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
-                                          initrd, len);
-    if ( res != 0 )
-        panic("Unable to copy the initrd in the hwdom memory\n");
-
-    iounmap(initrd);
-}
-
-/*
- * Allocate the event channel PPIs and setup the HVM_PARAM_CALLBACK_IRQ.
- * The allocated IRQ will be found in d->arch.evtchn_irq.
- *
- * Note that this should only be called once all PPIs used by the
- * hardware domain have been registered.
- */
-void __init evtchn_allocate(struct domain *d)
-{
-    int res;
-    u64 val;
-
-    res = vgic_allocate_ppi(d);
-    if ( res < 0 )
-        panic("Unable to allocate a PPI for the event channel interrupt\n");
-
-    d->arch.evtchn_irq = res;
-
-    printk("Allocating PPI %u for event channel interrupt\n",
-           d->arch.evtchn_irq);
-
-    /* Set the value of domain param HVM_PARAM_CALLBACK_IRQ */
-    val = MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI,
-                    HVM_PARAM_CALLBACK_IRQ_TYPE_MASK);
-    /* Active-low level-sensitive  */
-    val |= MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_LOW_LEVEL,
-                     HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_MASK);
-    val |= d->arch.evtchn_irq;
-    d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
-}
-
-static int __init get_evtchn_dt_property(const struct dt_device_node *np,
-                                         uint32_t *port, uint32_t *phandle)
-{
-    const __be32 *prop = NULL;
-    uint32_t len;
-
-    prop = dt_get_property(np, "xen,evtchn", &len);
-    if ( !prop )
-    {
-        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
-        return -EINVAL;
-    }
-
-    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
-    {
-        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
+        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
         return -EINVAL;
     }
 
@@ -3413,22 +2733,7 @@ static void __init find_gnttab_region(struct domain *d,
            kinfo->gnttab_start, kinfo->gnttab_start + kinfo->gnttab_size);
 }
 
-static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
-                                             unsigned int smp_cpus)
-{
-    /*
-     * Keep in sync with libxl__get_required_paging_memory().
-     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
-     * plus 128 pages to cover extended regions.
-     */
-    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
-
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
-}
-
-static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
+int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
 {
     unsigned int i;
     struct vcpu *v = d->vcpu[0];
@@ -3519,296 +2824,6 @@ static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
     return 0;
 }
 
-static int __init alloc_xenstore_evtchn(struct domain *d)
-{
-    evtchn_alloc_unbound_t alloc;
-    int rc;
-
-    alloc.dom = d->domain_id;
-    alloc.remote_dom = hardware_domain->domain_id;
-    rc = evtchn_alloc_unbound(&alloc, 0);
-    if ( rc )
-    {
-        printk("Failed allocating event channel for domain\n");
-        return rc;
-    }
-
-    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
-
-    return 0;
-}
-
-static int __init construct_domU(struct domain *d,
-                                 const struct dt_device_node *node)
-{
-    struct kernel_info kinfo = {};
-    const char *dom0less_enhanced;
-    int rc;
-    u64 mem;
-    u32 p2m_mem_mb;
-    unsigned long p2m_pages;
-
-    rc = dt_property_read_u64(node, "memory", &mem);
-    if ( !rc )
-    {
-        printk("Error building DomU: cannot read \"memory\" property\n");
-        return -EINVAL;
-    }
-    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
-
-    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
-    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
-    p2m_pages = rc ?
-                p2m_mem_mb << (20 - PAGE_SHIFT) :
-                domain_p2m_pages(mem, d->max_vcpus);
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
-    spin_unlock(&d->arch.paging.lock);
-    if ( rc != 0 )
-        return rc;
-
-    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
-           d->max_vcpus, mem);
-
-    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
-
-    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
-    if ( rc == -EILSEQ ||
-         rc == -ENODATA ||
-         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
-    {
-        if ( hardware_domain )
-            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
-        else
-            panic("At the moment, Xenstore support requires dom0 to be present\n");
-    }
-    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
-        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
-
-    if ( vcpu_create(d, 0) == NULL )
-        return -ENOMEM;
-
-    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
-
-    kinfo.d = d;
-
-    rc = kernel_probe(&kinfo, node);
-    if ( rc < 0 )
-        return rc;
-
-#ifdef CONFIG_ARM_64
-    /* type must be set before allocate memory */
-    d->arch.type = kinfo.type;
-#endif
-    if ( !dt_find_property(node, "xen,static-mem", NULL) )
-        allocate_memory(d, &kinfo);
-    else if ( !is_domain_direct_mapped(d) )
-        allocate_static_memory(d, &kinfo, node);
-    else
-        assign_static_memory_11(d, &kinfo, node);
-
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, 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
-     * shall be done first.
-     */
-    if ( kinfo.vpl011 )
-    {
-        rc = domain_vpl011_init(d, NULL);
-        if ( rc < 0 )
-            return rc;
-    }
-
-    rc = prepare_dtb_domU(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    rc = construct_domain(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
-    {
-        ASSERT(hardware_domain);
-        rc = alloc_xenstore_evtchn(d);
-        if ( rc < 0 )
-            return rc;
-        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
-    }
-
-    return rc;
-}
-
-void __init create_domUs(void)
-{
-    struct dt_device_node *node;
-    const struct dt_device_node *cpupool_node,
-                                *chosen = dt_find_node_by_path("/chosen");
-
-    BUG_ON(chosen == NULL);
-    dt_for_each_child_node(chosen, node)
-    {
-        struct domain *d;
-        struct xen_domctl_createdomain d_cfg = {
-            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
-            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
-            /*
-             * The default of 1023 should be sufficient for guests because
-             * on ARM we don't bind physical interrupts to event channels.
-             * The only use of the evtchn port is inter-domain communications.
-             * 1023 is also the default value used in libxl.
-             */
-            .max_evtchn_port = 1023,
-            .max_grant_frames = -1,
-            .max_maptrack_frames = -1,
-            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
-        };
-        unsigned int flags = 0U;
-        uint32_t val;
-        int rc;
-
-        if ( !dt_device_is_compatible(node, "xen,domain") )
-            continue;
-
-        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
-            panic("No more domain IDs available\n");
-
-        if ( dt_find_property(node, "xen,static-mem", NULL) )
-            flags |= CDF_staticmem;
-
-        if ( dt_property_read_bool(node, "direct-map") )
-        {
-            if ( !(flags & CDF_staticmem) )
-                panic("direct-map is not valid for domain %s without static allocation.\n",
-                      dt_node_name(node));
-
-            flags |= CDF_directmap;
-        }
-
-        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
-            panic("Missing property 'cpus' for domain %s\n",
-                  dt_node_name(node));
-
-        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
-             iommu_enabled )
-            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
-
-        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
-        {
-            int vpl011_virq = GUEST_VPL011_SPI;
-
-            d_cfg.arch.nr_spis = gic_number_lines() - 32;
-
-            /*
-             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
-             * set, in which case it'll match the hardware.
-             *
-             * Since the domain is not yet created, we can't use
-             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
-             * be hardcoded.
-             * The logic here shall be consistent with the one in
-             * domain_vpl011_init().
-             */
-            if ( flags & CDF_directmap )
-            {
-                vpl011_virq = serial_irq(SERHND_DTUART);
-                if ( vpl011_virq < 0 )
-                    panic("Error getting IRQ number for this serial port %d\n",
-                          SERHND_DTUART);
-            }
-
-            /*
-             * vpl011 uses one emulated SPI. If vpl011 is requested, make
-             * sure that we allocate enough SPIs for it.
-             */
-            if ( dt_property_read_bool(node, "vpl011") )
-                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
-                                         vpl011_virq - 32 + 1);
-        }
-
-        /* Get the optional property domain-cpupool */
-        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
-        if ( cpupool_node )
-        {
-            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
-            if ( pool_id < 0 )
-                panic("Error getting cpupool id from domain-cpupool (%d)\n",
-                      pool_id);
-            d_cfg.cpupool_id = pool_id;
-        }
-
-        if ( dt_property_read_u32(node, "max_grant_version", &val) )
-            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
-
-        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_grant_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_grant_frames = val;
-        }
-
-        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_maptrack_frames = val;
-        }
-
-        if ( dt_get_property(node, "sve", &val) )
-        {
-#ifdef CONFIG_ARM64_SVE
-            unsigned int sve_vl_bits;
-            bool ret = false;
-
-            if ( !val )
-            {
-                /* Property found with no value, means max HW VL supported */
-                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
-            }
-            else
-            {
-                if ( dt_property_read_u32(node, "sve", &val) )
-                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
-                else
-                    panic("Error reading 'sve' property\n");
-            }
-
-            if ( ret )
-                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
-            else
-                panic("SVE vector length error\n");
-#else
-            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
-#endif
-        }
-
-        /*
-         * The variable max_init_domid is initialized with zero, so here it's
-         * very important to use the pre-increment operator to call
-         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
-         */
-        d = domain_create(++max_init_domid, &d_cfg, flags);
-        if ( IS_ERR(d) )
-            panic("Error creating domain %s (rc = %ld)\n",
-                  dt_node_name(node), PTR_ERR(d));
-
-        d->is_console = true;
-        dt_device_set_used_by(node, d->domain_id);
-
-        rc = construct_domU(d, node);
-        if ( rc )
-            panic("Could not set up domain %s (rc = %d)\n",
-                  dt_node_name(node), rc);
-    }
-}
-
 static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
new file mode 100644
index 000000000000..81446cbd8bf3
--- /dev/null
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_DOM0LESS_BUILD_H_
+#define __ASM_DOM0LESS_BUILD_H_
+
+#include <asm/kernel.h>
+
+void create_domUs(void);
+bool is_dom0less_mode(void);
+
+#endif /* __ASM_DOM0LESS_BUILD_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index b9329c9ee032..b9ae0d170c5c 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,9 +4,47 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
+typedef __be32 gic_interrupt_t[3];
+
+bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
+                          gfn_t sgfn, paddr_t tot_size);
+int construct_domain(struct domain *d, struct kernel_info *kinfo);
+int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
+int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
+                          int sizecells, const struct meminfo *mem);
 int make_chosen_node(const struct kernel_info *kinfo);
+int make_cpus_node(const struct domain *d, void *fdt);
+int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
+                         int addrcells, int sizecells);
+int make_memory_node(const struct domain *d, void *fdt, int addrcells,
+                     int sizecells, struct meminfo *mem);
+int make_psci_node(void *fdt);
+int make_timer_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
 
+unsigned int get_allocation_size(paddr_t size);
+
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
+                             bool need_mapping);
+
+/*
+ * Helper to write an interrupts with the GIC format
+ * This code is assuming the irq is an PPI.
+ */
+void set_interrupt(gic_interrupt_t interrupt, unsigned int irq,
+                   unsigned int cpumask, unsigned int level);
+
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
 #ifndef CONFIG_ACPI
 static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 {
@@ -17,6 +55,28 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 #else
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
+
+#ifdef CONFIG_STATIC_MEMORY
+void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                            const struct dt_device_node *node);
+void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                             const struct dt_device_node *node);
+#else
+static inline void allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+#endif
+
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 98af6f55f5a0..39359f64b678 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -135,7 +135,6 @@ void acpi_create_efi_mmap_table(struct domain *d,
 
 int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
 
-void create_domUs(void);
 void create_dom0(void);
 void alloc_static_evtchn(void);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3f3a45719ccb..60b544b67b4e 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -34,6 +34,7 @@
 #include <xen/warning.h>
 #include <xen/hypercall.h>
 #include <asm/alternative.h>
+#include <asm/dom0less-build.h>
 #include <asm/page.h>
 #include <asm/current.h>
 #include <asm/setup.h>
@@ -1042,38 +1043,6 @@ static void __init setup_mm(void)
 }
 #endif
 
-static bool __init is_dom0less_mode(void)
-{
-    struct bootmodules *mods = &bootinfo.modules;
-    struct bootmodule *mod;
-    unsigned int i;
-    bool dom0found = false;
-    bool domUfound = false;
-
-    /* Look into the bootmodules */
-    for ( i = 0 ; i < mods->nr_mods ; i++ )
-    {
-        mod = &mods->module[i];
-        /* Find if dom0 and domU kernels are present */
-        if ( mod->kind == BOOTMOD_KERNEL )
-        {
-            if ( mod->domU == false )
-            {
-                dom0found = true;
-                break;
-            }
-            else
-                domUfound = true;
-        }
-    }
-
-    /*
-     * If there is no dom0 kernel but at least one domU, then we are in
-     * dom0less mode
-     */
-    return ( !dom0found && domUfound );
-}
-
 size_t __read_mostly dcache_line_bytes;
 
 /* C entry point for boot CPU */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:04:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:04:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632223.986413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pLE-0003jN-Oj; Tue, 14 Nov 2023 09:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632223.986413; Tue, 14 Nov 2023 09: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 1r2pLE-0003j6-KJ; Tue, 14 Nov 2023 09:04:16 +0000
Received: by outflank-mailman (input) for mailman id 632223;
 Tue, 14 Nov 2023 09:04: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=hHxF=G3=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2pLD-0003Wi-1B
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:04:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c723a218-82cc-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 10:04:12 +0100 (CET)
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 20068C15;
 Tue, 14 Nov 2023 01:04:57 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id ADE113F641;
 Tue, 14 Nov 2023 01:04:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c723a218-82cc-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v5 4/5] xen/arm: Move static memory build code in separate modules
Date: Tue, 14 Nov 2023 09:03:55 +0000
Message-Id: <20231114090356.875180-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231114090356.875180-1-luca.fancellu@arm.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move static memory and static shared memory code in separate modules
so that they are included only when the corresponding feature is
enabled, doing that we modularise the features and we remove some
ifdefs from the code to improve readability.

Move process_shm_node function from bootfdt module and make it
externally visible.

A static inline helper called process_shm_chosen is introduced, it
will call the process_shm function for the '/chosen' node, and will
be used by the function construct_dom0 instead of using directly
process_shm, allowing some #ifdef to be removed.

No functional changes are intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v4:
 - Removed header from static-*.{c,h} files, fixed style issue,
   renamed inclusion define __ARM_* to __ASM_*, fixed emacs
   local variables. (Michal)
Changes from v3:
 - Moved make_resv_memory_node from domain_build to static-shmem,
   make make_shm_memory_node static.
Changes from v2:
 - no changes
---
 xen/arch/arm/Makefile                     |   2 +
 xen/arch/arm/bootfdt.c                    | 161 +-----
 xen/arch/arm/dom0less-build.c             |   4 +-
 xen/arch/arm/domain_build.c               | 654 +---------------------
 xen/arch/arm/include/asm/dom0less-build.h |   2 -
 xen/arch/arm/include/asm/domain_build.h   |  26 -
 xen/arch/arm/include/asm/static-memory.h  |  45 ++
 xen/arch/arm/include/asm/static-shmem.h   |  66 +++
 xen/arch/arm/setup.c                      |  25 +-
 xen/arch/arm/static-memory.c              | 287 ++++++++++
 xen/arch/arm/static-shmem.c               | 547 ++++++++++++++++++
 11 files changed, 953 insertions(+), 866 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 70dd7201ef30..89ef0c9075b5 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -50,6 +50,8 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
+obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
+obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
 obj-y += sysctl.o
 obj-y += time.o
 obj-y += traps.o
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index 2673ad17a1e1..fcf851b4c99b 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -15,6 +15,7 @@
 #include <xen/sort.h>
 #include <xsm/xsm.h>
 #include <asm/setup.h>
+#include <asm/static-shmem.h>
 
 static bool __init device_tree_node_matches(const void *fdt, int node,
                                             const char *match)
@@ -402,166 +403,6 @@ static int __init process_domain_node(const void *fdt, int node,
                                    MEMBANK_STATIC_DOMAIN);
 }
 
-#ifdef CONFIG_STATIC_SHM
-static int __init process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t size_cells)
-{
-    const struct fdt_property *prop, *prop_id, *prop_role;
-    const __be32 *cell;
-    paddr_t paddr, gaddr, 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 %u characters\n",
-               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, gaddr, size>;
-     * 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) )
-    {
-        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, address_cells, &paddr, &gaddr);
-    size = dt_next_cell(size_cells, &cell);
-
-    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;
-
-            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
-            {
-                printk("fdt: static shared memory region %s overflow\n", shm_id);
-                return -EINVAL;
-            }
-
-            if ( check_reserved_regions_overlap(paddr, size) )
-                return -EINVAL;
-            else
-            {
-                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
-                    continue;
-                else
-                {
-                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
-                           shm_id);
-                    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].type = MEMBANK_STATIC_DOMAIN;
-            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;
-}
-#else
-static int __init process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t size_cells)
-{
-    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared memory nodes\n");
-    return -EINVAL;
-}
-#endif
-
 static int __init early_scan_node(const void *fdt,
                                   int node, const char *name, int depth,
                                   u32 address_cells, u32 size_cells,
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 1ca9d39043d6..d39cbd969aca 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -13,6 +13,8 @@
 #include <asm/arm64/sve.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/static-memory.h>
+#include <asm/static-shmem.h>
 
 bool __init is_dom0less_mode(void)
 {
@@ -806,11 +808,9 @@ static int __init construct_domU(struct domain *d,
     else
         assign_static_memory_11(d, &kinfo, node);
 
-#ifdef CONFIG_STATIC_SHM
     rc = process_shm(d, &kinfo, node);
     if ( rc < 0 )
         return rc;
-#endif
 
     /*
      * Base address and irq number are needed when creating vpl011 device
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 90dba16e42c9..7eb766da9c63 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -31,6 +31,7 @@
 #include <asm/cpufeature.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/static-shmem.h>
 #include <xen/event.h>
 
 #include <xen/irq.h>
@@ -477,533 +478,6 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
     return true;
 }
 
-#ifdef CONFIG_STATIC_MEMORY
-static bool __init append_static_memory_to_bank(struct domain *d,
-                                                struct membank *bank,
-                                                mfn_t smfn,
-                                                paddr_t size)
-{
-    int res;
-    unsigned int nr_pages = PFN_DOWN(size);
-    gfn_t sgfn;
-
-    /*
-     * For direct-mapped domain, the GFN match the MFN.
-     * Otherwise, this is inferred on what has already been allocated
-     * in the bank.
-     */
-    if ( !is_domain_direct_mapped(d) )
-        sgfn = gaddr_to_gfn(bank->start + bank->size);
-    else
-        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
-
-    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
-    if ( res )
-    {
-        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
-        return false;
-    }
-
-    bank->size = bank->size + size;
-
-    return true;
-}
-
-static mfn_t __init acquire_static_memory_bank(struct domain *d,
-                                               const __be32 **cell,
-                                               u32 addr_cells, u32 size_cells,
-                                               paddr_t *pbase, paddr_t *psize)
-{
-    mfn_t smfn;
-    int res;
-
-    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
-    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
-    if ( PFN_DOWN(*psize) > UINT_MAX )
-    {
-        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
-               d, *psize);
-        return INVALID_MFN;
-    }
-
-    smfn = maddr_to_mfn(*pbase);
-    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
-    if ( res )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to acquire static memory: %d.\n", d, res);
-        return INVALID_MFN;
-    }
-
-    return smfn;
-}
-
-static int __init parse_static_mem_prop(const struct dt_device_node *node,
-                                        u32 *addr_cells, u32 *size_cells,
-                                        int *length, const __be32 **cell)
-{
-    const struct dt_property *prop;
-
-    prop = dt_find_property(node, "xen,static-mem", NULL);
-
-    *addr_cells = dt_n_addr_cells(node);
-    *size_cells = dt_n_size_cells(node);
-
-    *cell = (const __be32 *)prop->value;
-    *length = prop->length;
-
-    return 0;
-}
-
-/* Allocate memory from static memory as RAM for one specific domain d. */
-void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
-                                   const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, gbank, bank = 0;
-    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
-    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
-    const __be32 *cell;
-    u64 tot_size = 0;
-    paddr_t pbase, psize, gsize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-        goto fail;
-    reg_cells = addr_cells + size_cells;
-
-    /*
-     * The static memory will be mapped in the guest at the usual guest memory
-     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
-     * xen/include/public/arch-arm.h.
-     */
-    gbank = 0;
-    gsize = ramsize[gbank];
-    kinfo->mem.bank[gbank].start = rambase[gbank];
-    nr_banks = length / (reg_cells * sizeof (u32));
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        while ( 1 )
-        {
-            /* Map as much as possible the static range to the guest bank */
-            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
-                                               min(psize, gsize)) )
-                goto fail;
-
-            /*
-             * The current physical bank is fully mapped.
-             * Handle the next physical bank.
-             */
-            if ( gsize >= psize )
-            {
-                gsize = gsize - psize;
-                break;
-            }
-            /*
-             * When current guest bank is not enough to map, exhaust
-             * the current one and seek to the next.
-             * Before seeking to the next, check if we still have available
-             * guest bank.
-             */
-            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
-            {
-                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
-                goto fail;
-            }
-            else
-            {
-                psize = psize - gsize;
-                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
-                /* Update to the next guest bank. */
-                gbank++;
-                gsize = ramsize[gbank];
-                kinfo->mem.bank[gbank].start = rambase[gbank];
-            }
-        }
-
-        tot_size += psize;
-    }
-
-    kinfo->mem.nr_banks = ++gbank;
-
-    kinfo->unassigned_mem -= tot_size;
-    /*
-     * The property 'memory' should match the amount of memory given to the
-     * guest.
-     * Currently, it is only possible to either acquire static memory or let
-     * Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to allocate requested static memory for domain %pd.\n", d);
-}
-
-/*
- * Allocate static memory as RAM for one specific domain d.
- * The static memory will be directly mapped in the guest(Guest Physical
- * Address == Physical Address).
- */
-void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
-                                    const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, bank = 0;
-    const __be32 *cell;
-    paddr_t pbase, psize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
-        goto fail;
-    }
-    reg_cells = addr_cells + size_cells;
-    nr_banks = length / (reg_cells * sizeof(u32));
-
-    if ( nr_banks > NR_MEM_BANKS )
-    {
-        printk(XENLOG_ERR
-               "%pd: exceed max number of supported guest memory banks.\n", d);
-        goto fail;
-    }
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        /* One guest memory bank is matched with one physical memory bank. */
-        kinfo->mem.bank[bank].start = pbase;
-        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
-                                           smfn, psize) )
-            goto fail;
-
-        kinfo->unassigned_mem -= psize;
-    }
-
-    kinfo->mem.nr_banks = nr_banks;
-
-    /*
-     * The property 'memory' should match the amount of memory given to
-     * the guest.
-     * Currently, it is only possible to either acquire static memory or
-     * let Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem != 0 )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
-          d);
-}
-
-#ifdef CONFIG_STATIC_SHM
-static int __init acquire_nr_borrower_domain(struct domain *d,
-                                             paddr_t pbase, paddr_t psize,
-                                             unsigned long *nr_borrowers)
-{
-    unsigned int bank;
-
-    /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
-        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
-
-        if ( (pbase == bank_start) && (psize == bank_size) )
-            break;
-    }
-
-    if ( bank == bootinfo.reserved_mem.nr_banks )
-        return -ENOENT;
-
-    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
-
-    return 0;
-}
-
-/*
- * 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;
-    struct domain *d;
-
-    page = maddr_to_page(pbase);
-    d = page_get_owner_and_reference(page);
-    if ( d == NULL )
-        return false;
-    put_page(page);
-
-    if ( d != dom_io )
-    {
-        printk(XENLOG_ERR
-               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
-               d);
-        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);
-        d->max_pages -= nr_pfns;
-        return INVALID_MFN;
-    }
-
-    return smfn;
-}
-
-static int __init assign_shared_memory(struct domain *d,
-                                       uint32_t addr_cells, uint32_t size_cells,
-                                       paddr_t pbase, paddr_t psize,
-                                       paddr_t gbase)
-{
-    mfn_t smfn;
-    int ret = 0;
-    unsigned long nr_pages, nr_borrowers, i;
-    struct page_info *page;
-
-    printk("%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 not auto-translated (i.e. it sees RAM 1:1). So we do not need
-     * to create mapping in the P2M.
-     */
-    nr_pages = PFN_DOWN(psize);
-    if ( d != dom_io )
-    {
-        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
-                                      PFN_DOWN(psize));
-        if ( ret )
-        {
-            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
-            return ret;
-        }
-    }
-
-    /*
-     * Get the right amount of references per page, which is the number of
-     * borrower domains.
-     */
-    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
-    if ( ret )
-        return ret;
-
-    /*
-     * Instead of letting borrower domain get a page ref, we add as many
-     * additional reference as the number of borrowers when the owner
-     * is allocated, since there is a chance that owner is created
-     * after borrower.
-     * So if the borrower is created first, it will cause adding pages
-     * in the P2M without reference.
-     */
-    page = mfn_to_page(smfn);
-    for ( i = 0; i < nr_pages; i++ )
-    {
-        if ( !get_page_nr(page + i, d, nr_borrowers) )
-        {
-            printk(XENLOG_ERR
-                   "Failed to add %lu references to page %"PRI_mfn".\n",
-                   nr_borrowers, mfn_x(smfn) + i);
-            goto fail;
-        }
-    }
-
-    return 0;
-
- fail:
-    while ( --i >= 0 )
-        put_page_nr(page + i, nr_borrowers);
-    return ret;
-}
-
-static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
-                                            paddr_t start, paddr_t size,
-                                            const char *shm_id)
-{
-    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
-        return -ENOMEM;
-
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
-    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
-    kinfo->shm_mem.nr_banks++;
-
-    return 0;
-}
-
-int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                       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;
-        const char *role_str;
-        const char *shm_id;
-        bool owner_dom_io = true;
-
-        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
-            continue;
-
-        /*
-         * xen,shared-mem = <pbase, gbase, size>;
-         * 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);
-        BUG_ON(!prop);
-        cells = (const __be32 *)prop->value;
-        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
-        psize = dt_read_paddr(cells, size_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;
-            }
-
-        /*
-         * "role" property is optional and if it is defined explicitly,
-         * then the owner domain is not the default "dom_io" domain.
-         */
-        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
-            owner_dom_io = false;
-
-        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
-        {
-            printk("%pd: invalid \"xen,shm-id\" property", d);
-            return -EINVAL;
-        }
-        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
-
-        /*
-         * 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 ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
-             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
-        {
-            /*
-             * We found the first borrower of the region, the owner was not
-             * specified, so they should be assigned to dom_io.
-             */
-            ret = assign_shared_memory(owner_dom_io ? dom_io : d,
-                                       addr_cells, size_cells,
-                                       pbase, psize, gbase);
-            if ( ret )
-                return ret;
-        }
-
-        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
-        {
-            /* Set up P2M foreign mapping for borrower domain. */
-            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
-                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
-            if ( ret )
-                return ret;
-        }
-
-        /*
-         * Record static shared memory region info for later setting
-         * up shm-node in guest device tree.
-         */
-        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
-        if ( ret )
-            return ret;
-    }
-
-    return 0;
-}
-#endif /* CONFIG_STATIC_SHM */
-#endif
-
 /*
  * When PCI passthrough is available we want to keep the
  * "linux,pci-domain" in sync for every host bridge.
@@ -1337,125 +811,6 @@ int __init make_memory_node(const struct domain *d,
     return res;
 }
 
-#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;
-        const char compat[] = "xen,shared-memory-v1";
-        /* Worst case addrcells + sizecells */
-        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-        __be32 *cells;
-        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
-
-        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
-        if ( res )
-            return res;
-
-        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
-        if ( res )
-            return res;
-
-        cells = reg;
-        dt_child_set_range(&cells, addrcells, sizecells, start, size);
-
-        res = fdt_property(fdt, "reg", reg, len);
-        if ( res )
-            return res;
-
-        dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
-                   i, start, start + size);
-
-        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
-        if ( res )
-            return res;
-
-        /*
-         * TODO:
-         * - xen,offset: (borrower VMs only)
-         *   64 bit integer offset within the owner virtual machine's shared
-         *   memory region used for the mapping in the borrower VM
-         */
-        res = fdt_property_u64(fdt, "xen,offset", 0);
-        if ( res )
-            return res;
-
-        res = fdt_end_node(fdt);
-        if ( res )
-            return res;
-    }
-
-    return res;
-}
-#else
-static int __init make_shm_memory_node(const struct domain *d,
-                                       void *fdt,
-                                       int addrcells, int sizecells,
-                                       const struct meminfo *mem)
-{
-    ASSERT_UNREACHABLE();
-    return -EOPNOTSUPP;
-}
-#endif
-
-int __init make_resv_memory_node(const struct domain *d,
-                                 void *fdt,
-                                 int addrcells, int sizecells,
-                                 const struct meminfo *mem)
-{
-    int res = 0;
-    /* Placeholder for reserved-memory\0 */
-    const char resvbuf[16] = "reserved-memory";
-
-    if ( mem->nr_banks == 0 )
-        /* No shared memory provided. */
-        return 0;
-
-    dt_dprintk("Create reserved-memory node\n");
-
-    res = fdt_begin_node(fdt, resvbuf);
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "ranges", NULL, 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", addrcells);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#size-cells", sizecells);
-    if ( res )
-        return res;
-
-    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
-    if ( res )
-        return res;
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
 static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
                                   void *data)
 {
@@ -2828,9 +2183,6 @@ static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
     int rc;
-#ifdef CONFIG_STATIC_SHM
-    const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
-#endif
 
     /* Sanity! */
     BUG_ON(d->domain_id != 0);
@@ -2865,11 +2217,9 @@ static int __init construct_dom0(struct domain *d)
     allocate_memory_11(d, &kinfo);
     find_gnttab_region(d, &kinfo);
 
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, chosen);
+    rc = process_shm_chosen(d, &kinfo);
     if ( rc < 0 )
         return rc;
-#endif
 
     /* Map extra GIC MMIO, irqs and other hw stuffs to dom0. */
     rc = gic_map_hwdom_extra_mappings(d);
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index 81446cbd8bf3..c5625925d940 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -3,8 +3,6 @@
 #ifndef __ASM_DOM0LESS_BUILD_H_
 #define __ASM_DOM0LESS_BUILD_H_
 
-#include <asm/kernel.h>
-
 void create_domUs(void);
 bool is_dom0less_mode(void);
 
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index b9ae0d170c5c..da9e6025f37c 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -10,8 +10,6 @@ bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                           gfn_t sgfn, paddr_t tot_size);
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
-int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
-                          int sizecells, const struct meminfo *mem);
 int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
@@ -42,9 +40,6 @@ int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
 void set_interrupt(gic_interrupt_t interrupt, unsigned int irq,
                    unsigned int cpumask, unsigned int level);
 
-int process_shm(struct domain *d, struct kernel_info *kinfo,
-                const struct dt_device_node *node);
-
 #ifndef CONFIG_ACPI
 static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 {
@@ -56,27 +51,6 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
 
-#ifdef CONFIG_STATIC_MEMORY
-void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
-                            const struct dt_device_node *node);
-void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
-                             const struct dt_device_node *node);
-#else
-static inline void allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-
-static inline void assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-#endif
-
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/static-memory.h b/xen/arch/arm/include/asm/static-memory.h
new file mode 100644
index 000000000000..3e3efd70c38d
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-memory.h
@@ -0,0 +1,45 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_STATIC_MEMORY_H_
+#define __ASM_STATIC_MEMORY_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_MEMORY
+
+void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                            const struct dt_device_node *node);
+void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                             const struct dt_device_node *node);
+void init_staticmem_pages(void);
+
+#else /* !CONFIG_STATIC_MEMORY */
+
+static inline void allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void init_staticmem_pages(void) {};
+
+#endif /* CONFIG_STATIC_MEMORY */
+
+#endif /* __ASM_STATIC_MEMORY_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
new file mode 100644
index 000000000000..1536ff18b895
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -0,0 +1,66 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_STATIC_SHMEM_H_
+#define __ASM_STATIC_SHMEM_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_SHM
+
+int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
+                          int sizecells, const struct meminfo *mem);
+
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    const struct dt_device_node *node = dt_find_node_by_path("/chosen");
+
+    return process_shm(d, kinfo, node);
+}
+
+int process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                     uint32_t size_cells);
+
+#else /* !CONFIG_STATIC_SHM */
+
+static inline int make_resv_memory_node(const struct domain *d, void *fdt,
+                                        int addrcells, int sizecells,
+                                        const struct meminfo *mem)
+{
+    return 0;
+}
+
+static inline int process_shm(struct domain *d, struct kernel_info *kinfo,
+                              const struct dt_device_node *node)
+{
+    return 0;
+}
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    return 0;
+}
+
+static inline int process_shm_node(const void *fdt, int node,
+                                   uint32_t address_cells, uint32_t size_cells)
+{
+    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared memory nodes\n");
+    return -EINVAL;
+}
+
+#endif /* CONFIG_STATIC_SHM */
+
+#endif /* __ASM_STATIC_SHMEM_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 60b544b67b4e..f6019c0c42cd 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -44,6 +44,7 @@
 #include <asm/platform.h>
 #include <asm/procinfo.h>
 #include <asm/setup.h>
+#include <asm/static-memory.h>
 #include <xsm/xsm.h>
 #include <asm/acpi.h>
 
@@ -758,30 +759,6 @@ static void __init init_pdx(void)
     }
 }
 
-/* Static memory initialization */
-static void __init init_staticmem_pages(void)
-{
-#ifdef CONFIG_STATIC_MEMORY
-    unsigned int bank;
-
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
-        {
-            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
-            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
-            mfn_t bank_end = mfn_add(bank_start, bank_pages);
-
-            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
-                return;
-
-            unprepare_staticmem_pages(mfn_to_page(bank_start),
-                                      bank_pages, false);
-        }
-    }
-#endif
-}
-
 /*
  * Populate the boot allocator.
  * If a static heap was not provided by the admin, all the RAM but the
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
new file mode 100644
index 000000000000..cffbab7241b7
--- /dev/null
+++ b/xen/arch/arm/static-memory.c
@@ -0,0 +1,287 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/sched.h>
+
+#include <asm/static-memory.h>
+
+static bool __init append_static_memory_to_bank(struct domain *d,
+                                                struct membank *bank,
+                                                mfn_t smfn,
+                                                paddr_t size)
+{
+    int res;
+    unsigned int nr_pages = PFN_DOWN(size);
+    gfn_t sgfn;
+
+    /*
+     * For direct-mapped domain, the GFN match the MFN.
+     * Otherwise, this is inferred on what has already been allocated
+     * in the bank.
+     */
+    if ( !is_domain_direct_mapped(d) )
+        sgfn = gaddr_to_gfn(bank->start + bank->size);
+    else
+        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
+
+    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
+        return false;
+    }
+
+    bank->size = bank->size + size;
+
+    return true;
+}
+
+static mfn_t __init acquire_static_memory_bank(struct domain *d,
+                                               const __be32 **cell,
+                                               u32 addr_cells, u32 size_cells,
+                                               paddr_t *pbase, paddr_t *psize)
+{
+    mfn_t smfn;
+    int res;
+
+    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
+    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
+    if ( PFN_DOWN(*psize) > UINT_MAX )
+    {
+        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
+               d, *psize);
+        return INVALID_MFN;
+    }
+
+    smfn = maddr_to_mfn(*pbase);
+    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
+    if ( res )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to acquire static memory: %d.\n", d, res);
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init parse_static_mem_prop(const struct dt_device_node *node,
+                                        u32 *addr_cells, u32 *size_cells,
+                                        int *length, const __be32 **cell)
+{
+    const struct dt_property *prop;
+
+    prop = dt_find_property(node, "xen,static-mem", NULL);
+
+    *addr_cells = dt_n_addr_cells(node);
+    *size_cells = dt_n_size_cells(node);
+
+    *cell = (const __be32 *)prop->value;
+    *length = prop->length;
+
+    return 0;
+}
+
+/* Allocate memory from static memory as RAM for one specific domain d. */
+void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, gbank, bank = 0;
+    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
+    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
+    const __be32 *cell;
+    u64 tot_size = 0;
+    paddr_t pbase, psize, gsize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+        goto fail;
+    reg_cells = addr_cells + size_cells;
+
+    /*
+     * The static memory will be mapped in the guest at the usual guest memory
+     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
+     * xen/include/public/arch-arm.h.
+     */
+    gbank = 0;
+    gsize = ramsize[gbank];
+    kinfo->mem.bank[gbank].start = rambase[gbank];
+    nr_banks = length / (reg_cells * sizeof (u32));
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        while ( 1 )
+        {
+            /* Map as much as possible the static range to the guest bank */
+            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
+                                               min(psize, gsize)) )
+                goto fail;
+
+            /*
+             * The current physical bank is fully mapped.
+             * Handle the next physical bank.
+             */
+            if ( gsize >= psize )
+            {
+                gsize = gsize - psize;
+                break;
+            }
+            /*
+             * When current guest bank is not enough to map, exhaust
+             * the current one and seek to the next.
+             * Before seeking to the next, check if we still have available
+             * guest bank.
+             */
+            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
+            {
+                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
+                goto fail;
+            }
+            else
+            {
+                psize = psize - gsize;
+                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
+                /* Update to the next guest bank. */
+                gbank++;
+                gsize = ramsize[gbank];
+                kinfo->mem.bank[gbank].start = rambase[gbank];
+            }
+        }
+
+        tot_size += psize;
+    }
+
+    kinfo->mem.nr_banks = ++gbank;
+
+    kinfo->unassigned_mem -= tot_size;
+    /*
+     * The property 'memory' should match the amount of memory given to the
+     * guest.
+     * Currently, it is only possible to either acquire static memory or let
+     * Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to allocate requested static memory for domain %pd.\n", d);
+}
+
+/*
+ * Allocate static memory as RAM for one specific domain d.
+ * The static memory will be directly mapped in the guest(Guest Physical
+ * Address == Physical Address).
+ */
+void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                                    const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, bank = 0;
+    const __be32 *cell;
+    paddr_t pbase, psize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
+        goto fail;
+    }
+    reg_cells = addr_cells + size_cells;
+    nr_banks = length / (reg_cells * sizeof(u32));
+
+    if ( nr_banks > NR_MEM_BANKS )
+    {
+        printk(XENLOG_ERR
+               "%pd: exceed max number of supported guest memory banks.\n", d);
+        goto fail;
+    }
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        /* One guest memory bank is matched with one physical memory bank. */
+        kinfo->mem.bank[bank].start = pbase;
+        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
+                                           smfn, psize) )
+            goto fail;
+
+        kinfo->unassigned_mem -= psize;
+    }
+
+    kinfo->mem.nr_banks = nr_banks;
+
+    /*
+     * The property 'memory' should match the amount of memory given to
+     * the guest.
+     * Currently, it is only possible to either acquire static memory or
+     * let Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem != 0 )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
+          d);
+}
+
+/* Static memory initialization */
+void __init init_staticmem_pages(void)
+{
+    unsigned int bank;
+
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
+        {
+            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
+            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
+            mfn_t bank_end = mfn_add(bank_start, bank_pages);
+
+            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
+                return;
+
+            unprepare_staticmem_pages(mfn_to_page(bank_start),
+                                      bank_pages, false);
+        }
+    }
+}
+
+/*
+ * 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/static-shmem.c b/xen/arch/arm/static-shmem.c
new file mode 100644
index 000000000000..9097bc8b1511
--- /dev/null
+++ b/xen/arch/arm/static-shmem.c
@@ -0,0 +1,547 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+
+#include <asm/domain_build.h>
+#include <asm/static-shmem.h>
+
+static int __init acquire_nr_borrower_domain(struct domain *d,
+                                             paddr_t pbase, paddr_t psize,
+                                             unsigned long *nr_borrowers)
+{
+    unsigned int bank;
+
+    /* Iterate reserved memory to find requested shm bank. */
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
+        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
+
+        if ( (pbase == bank_start) && (psize == bank_size) )
+            break;
+    }
+
+    if ( bank == bootinfo.reserved_mem.nr_banks )
+        return -ENOENT;
+
+    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
+
+    return 0;
+}
+
+/*
+ * 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;
+    struct domain *d;
+
+    page = maddr_to_page(pbase);
+    d = page_get_owner_and_reference(page);
+    if ( d == NULL )
+        return false;
+    put_page(page);
+
+    if ( d != dom_io )
+    {
+        printk(XENLOG_ERR
+               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
+               d);
+        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);
+        d->max_pages -= nr_pfns;
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init assign_shared_memory(struct domain *d,
+                                       uint32_t addr_cells, uint32_t size_cells,
+                                       paddr_t pbase, paddr_t psize,
+                                       paddr_t gbase)
+{
+    mfn_t smfn;
+    int ret = 0;
+    unsigned long nr_pages, nr_borrowers, i;
+    struct page_info *page;
+
+    printk("%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 not auto-translated (i.e. it sees RAM 1:1). So we do not need
+     * to create mapping in the P2M.
+     */
+    nr_pages = PFN_DOWN(psize);
+    if ( d != dom_io )
+    {
+        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
+                                      PFN_DOWN(psize));
+        if ( ret )
+        {
+            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
+            return ret;
+        }
+    }
+
+    /*
+     * Get the right amount of references per page, which is the number of
+     * borrower domains.
+     */
+    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
+    if ( ret )
+        return ret;
+
+    /*
+     * Instead of letting borrower domain get a page ref, we add as many
+     * additional reference as the number of borrowers when the owner
+     * is allocated, since there is a chance that owner is created
+     * after borrower.
+     * So if the borrower is created first, it will cause adding pages
+     * in the P2M without reference.
+     */
+    page = mfn_to_page(smfn);
+    for ( i = 0; i < nr_pages; i++ )
+    {
+        if ( !get_page_nr(page + i, d, nr_borrowers) )
+        {
+            printk(XENLOG_ERR
+                   "Failed to add %lu references to page %"PRI_mfn".\n",
+                   nr_borrowers, mfn_x(smfn) + i);
+            goto fail;
+        }
+    }
+
+    return 0;
+
+ fail:
+    while ( --i >= 0 )
+        put_page_nr(page + i, nr_borrowers);
+    return ret;
+}
+
+static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
+                                            paddr_t start, paddr_t size,
+                                            const char *shm_id)
+{
+    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
+        return -ENOMEM;
+
+    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
+    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
+    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
+    kinfo->shm_mem.nr_banks++;
+
+    return 0;
+}
+
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       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;
+        const char *role_str;
+        const char *shm_id;
+        bool owner_dom_io = true;
+
+        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
+            continue;
+
+        /*
+         * xen,shared-mem = <pbase, gbase, size>;
+         * 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);
+        BUG_ON(!prop);
+        cells = (const __be32 *)prop->value;
+        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
+        psize = dt_read_paddr(cells, size_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;
+            }
+
+        /*
+         * "role" property is optional and if it is defined explicitly,
+         * then the owner domain is not the default "dom_io" domain.
+         */
+        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
+            owner_dom_io = false;
+
+        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
+        {
+            printk("%pd: invalid \"xen,shm-id\" property", d);
+            return -EINVAL;
+        }
+        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
+
+        /*
+         * 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 ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
+             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
+        {
+            /*
+             * We found the first borrower of the region, the owner was not
+             * specified, so they should be assigned to dom_io.
+             */
+            ret = assign_shared_memory(owner_dom_io ? dom_io : d,
+                                       addr_cells, size_cells,
+                                       pbase, psize, gbase);
+            if ( ret )
+                return ret;
+        }
+
+        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
+        {
+            /* Set up P2M foreign mapping for borrower domain. */
+            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
+                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
+            if ( ret )
+                return ret;
+        }
+
+        /*
+         * Record static shared memory region info for later setting
+         * up shm-node in guest device tree.
+         */
+        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
+        if ( ret )
+            return ret;
+    }
+
+    return 0;
+}
+
+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;
+        const char compat[] = "xen,shared-memory-v1";
+        /* Worst case addrcells + sizecells */
+        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+        __be32 *cells;
+        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
+
+        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
+        if ( res )
+            return res;
+
+        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
+        if ( res )
+            return res;
+
+        cells = reg;
+        dt_child_set_range(&cells, addrcells, sizecells, start, size);
+
+        res = fdt_property(fdt, "reg", reg, len);
+        if ( res )
+            return res;
+
+        dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
+                   i, start, start + size);
+
+        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
+        if ( res )
+            return res;
+
+        /*
+         * TODO:
+         * - xen,offset: (borrower VMs only)
+         *   64 bit integer offset within the owner virtual machine's shared
+         *   memory region used for the mapping in the borrower VM
+         */
+        res = fdt_property_u64(fdt, "xen,offset", 0);
+        if ( res )
+            return res;
+
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+    }
+
+    return res;
+}
+
+int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                            uint32_t size_cells)
+{
+    const struct fdt_property *prop, *prop_id, *prop_role;
+    const __be32 *cell;
+    paddr_t paddr, gaddr, 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 %u characters\n",
+               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, gaddr, size>;
+     * 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) )
+    {
+        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, address_cells, &paddr, &gaddr);
+    size = dt_next_cell(size_cells, &cell);
+
+    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;
+
+            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
+            {
+                printk("fdt: static shared memory region %s overflow\n", shm_id);
+                return -EINVAL;
+            }
+
+            if ( check_reserved_regions_overlap(paddr, size) )
+                return -EINVAL;
+            else
+            {
+                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
+                    continue;
+                else
+                {
+                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
+                           shm_id);
+                    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].type = MEMBANK_STATIC_DOMAIN;
+            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;
+}
+
+int __init make_resv_memory_node(const struct domain *d, void *fdt,
+                                 int addrcells, int sizecells,
+                                 const struct meminfo *mem)
+{
+    int res = 0;
+    /* Placeholder for reserved-memory\0 */
+    const char resvbuf[16] = "reserved-memory";
+
+    if ( mem->nr_banks == 0 )
+        /* No shared memory provided. */
+        return 0;
+
+    dt_dprintk("Create reserved-memory node\n");
+
+    res = fdt_begin_node(fdt, resvbuf);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "ranges", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", addrcells);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#size-cells", sizecells);
+    if ( res )
+        return res;
+
+    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
+    if ( res )
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:04:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:04:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632224.986417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pLF-0003ni-4D; Tue, 14 Nov 2023 09:04:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632224.986417; Tue, 14 Nov 2023 09: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 1r2pLE-0003mv-U8; Tue, 14 Nov 2023 09:04:16 +0000
Received: by outflank-mailman (input) for mailman id 632224;
 Tue, 14 Nov 2023 09:04: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=hHxF=G3=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r2pLD-0003Wi-RG
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:04:15 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id c8275579-82cc-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 10:04:14 +0100 (CET)
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 B6C47DA7;
 Tue, 14 Nov 2023 01:04:58 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 02DE33F641;
 Tue, 14 Nov 2023 01:04:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8275579-82cc-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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 v5 5/5] arm/dom0less: introduce Kconfig for dom0less feature
Date: Tue, 14 Nov 2023 09:03:56 +0000
Message-Id: <20231114090356.875180-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231114090356.875180-1-luca.fancellu@arm.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a Kconfig for the dom0less feature, enabled by default,
to be able to choose if the feature should be compiled or not.

Provide static inline stubs when the option is disabled for the
functions externally visible.

Use the new Kconfig to remove dom0less DT binding from the efi-boot.h
code when the Kconfig is not enabled, do the same for
allocate_bank_memory inside domain_build.c that currently is used
only by dom0less-build.c module, but it's kept there provisioning
its usage by dom0 code.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v4:
 - No changes
Changes from v3:
 - Update Kconfig
Changes from v2:
 - protect allocate_bank_memory with the new Kconfig
---
 xen/arch/arm/Kconfig                      |  8 ++++++++
 xen/arch/arm/Makefile                     |  2 +-
 xen/arch/arm/domain_build.c               |  2 ++
 xen/arch/arm/efi/efi-boot.h               |  4 ++++
 xen/arch/arm/include/asm/dom0less-build.h | 12 ++++++++++++
 xen/arch/arm/include/asm/domain_build.h   |  2 ++
 xen/common/Kconfig                        |  2 +-
 7 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 0045a3762d86..f321381a6e87 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -88,6 +88,14 @@ config GICV2
 	  Driver for the ARM Generic Interrupt Controller v2.
 	  If unsure, say Y
 
+config DOM0LESS_BOOT
+	bool "Dom0less boot support" if EXPERT
+	default y
+	help
+	  Dom0less boot support enables Xen to create and start domU guests during
+	  Xen boot without the need of a control domain (Dom0), which could be
+	  present anyway.
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 89ef0c9075b5..5daf8f10114d 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -15,7 +15,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
-obj-y += dom0less-build.init.o
+obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7eb766da9c63..df66fb88d8ec 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -416,6 +416,7 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
 bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                                  gfn_t sgfn, paddr_t tot_size)
 {
@@ -477,6 +478,7 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
 
     return true;
 }
+#endif
 
 /*
  * When PCI passthrough is available we want to keep the
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 1c3640bb65fd..689dc016d081 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -802,6 +802,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
     return 1;
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
 /*
  * This function checks for boot modules under the domU guest domain node
  * in the DT.
@@ -849,6 +850,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
 
     return mb_modules_found;
 }
+#endif
 
 /*
  * This function checks for xen domain nodes under the /chosen node for possible
@@ -876,6 +878,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
     {
         int ret;
 
+#ifdef CONFIG_DOM0LESS_BOOT
         if ( !fdt_node_check_compatible(fdt_efi, node, "xen,domain") )
         {
             /* Found a node with compatible xen,domain; handle this node. */
@@ -884,6 +887,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
                 return ERROR_DT_MODULE_DOMU;
         }
         else
+#endif
         {
             ret = handle_module_node(loaded_image, &dir_handle, node, addr_len,
                                      size_len, false);
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index c5625925d940..db2bf821e7aa 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -3,9 +3,21 @@
 #ifndef __ASM_DOM0LESS_BUILD_H_
 #define __ASM_DOM0LESS_BUILD_H_
 
+#ifdef CONFIG_DOM0LESS_BOOT
+
 void create_domUs(void);
 bool is_dom0less_mode(void);
 
+#else  /* !CONFIG_DOM0LESS_BOOT */
+
+static inline void create_domUs(void) {}
+static inline bool is_dom0less_mode(void)
+{
+    return false;
+}
+
+#endif /* CONFIG_DOM0LESS_BOOT */
+
 #endif /* __ASM_DOM0LESS_BUILD_H_ */
 
 /*
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index da9e6025f37c..6df61fa1d587 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -6,8 +6,10 @@
 
 typedef __be32 gic_interrupt_t[3];
 
+#ifdef CONFIG_DOM0LESS_BOOT
 bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                           gfn_t sgfn, paddr_t tot_size);
+#endif
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
 int make_chosen_node(const struct kernel_info *kinfo);
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 4d6fe051641d..310ad4229cdf 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -100,7 +100,7 @@ config NUMA
 
 config STATIC_MEMORY
 	bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
-	depends on ARM
+	depends on DOM0LESS_BOOT
 	help
 	  Static Allocation refers to system or sub-system(domains) for
 	  which memory areas are pre-defined by configuration using physical
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:05:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:05:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632241.986436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pMn-0006E9-TK; Tue, 14 Nov 2023 09:05:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632241.986436; Tue, 14 Nov 2023 09:05: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 1r2pMn-0006E2-OM; Tue, 14 Nov 2023 09:05:53 +0000
Received: by outflank-mailman (input) for mailman id 632241;
 Tue, 14 Nov 2023 09:05: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 1r2pMm-0006CQ-Cv
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:05: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 1r2pMj-0001Uj-Df; Tue, 14 Nov 2023 09:05:49 +0000
Received: from gw1.octic.net ([88.97.20.152] 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 1r2pMj-0005cI-8J; Tue, 14 Nov 2023 09:05: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=RdcGOhCb6+Bmu5zwqGppQpa6xIG5O+fDKtwkIPKXukk=; b=sbNZA98t1Iu4l3l9cCbbXrWH2Y
	lzGi6PyLA01TqpK76J7yhlTw0IoeUqyIcsAKkcM53AD+oiqS+zmnejVLOJLsperhqxMUAqlDzt+rr
	b+w+lEuwyEo2MswshLq3b2PXZ9WoriEaICFFYmP22EBu98ElzGwDw4zsYAMun/q2uT0E=;
Message-ID: <829d9031-058f-47ea-95bc-d41b4b439690@xen.org>
Date: Tue, 14 Nov 2023 09:05:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 28/29] tools/xenstored: support complete log
 capabilities in stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-29-jgross@suse.com>
 <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
 <f9e8900b-10a9-4c88-bc99-118c61b549d7@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f9e8900b-10a9-4c88-bc99-118c61b549d7@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 14/11/2023 06:45, Juergen Gross wrote:
> On 13.11.23 23:40, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 10/11/2023 16:08, Juergen Gross wrote:
>>> With 9pfs being fully available in Xenstore-stubdom now, there is no
>>> reason to not fully support all logging capabilities in stubdom.
>>>
>>> Open the logfile on stubdom only after the 9pfs file system has been
>>> mounted.
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
>>> ---
>>>   tools/hotplug/Linux/launch-xenstore.in |  1 +
>>>   tools/xenstored/control.c              | 30 +++++++++++++-------------
>>>   tools/xenstored/minios.c               |  3 +++
>>>   3 files changed, 19 insertions(+), 15 deletions(-)
>>>
>>> diff --git a/tools/hotplug/Linux/launch-xenstore.in 
>>> b/tools/hotplug/Linux/launch-xenstore.in
>>> index e854ca1eb8..da4eeca7c5 100644
>>> --- a/tools/hotplug/Linux/launch-xenstore.in
>>> +++ b/tools/hotplug/Linux/launch-xenstore.in
>>> @@ -98,6 +98,7 @@ test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons 
>>> && . @CONFIG_DIR@/@CONFIG_LEAF
>>>       [ -z "$XENSTORE_DOMAIN_SIZE" ] && XENSTORE_DOMAIN_SIZE=8
>>>       XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --memory 
>>> $XENSTORE_DOMAIN_SIZE"
>>>       [ -z "$XENSTORE_MAX_DOMAIN_SIZE" ] || 
>>> XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --maxmem 
>>> $XENSTORE_MAX_DOMAIN_SIZE"
>>> +    [ -z "$XENSTORED_TRACE" ] || 
>>> XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS -T xenstored-trace.log"
>>
>> I am probably missing something, but any reason to not use 
>> @XEN_LOG_DIR@/xenstored-trace.log as we do for xenstored?
> 
> Yes. Stubdom has no access to XEN_LOG_DIR.

Ok. This restriction is not that obvious... The documentation in 
sysconfig.xencommons.in implies that it will be written in XEN_LOG_DIR:

## Type: string
## Default: ""
#
# Additional commandline arguments to start xenstored,
# like "--trace-file @XEN_LOG_DIR@/xenstored-trace.log"
# See "@sbindir@/xenstored --help" for possible options.
# Only evaluated if XENSTORETYPE is "daemon".
XENSTORED_ARGS=

Also, we are saying this is only supported when Xenstored is daemonized. 
So I think there are some documentation update necessary in this patch.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:10:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:10:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632252.986446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pQw-00010U-Ct; Tue, 14 Nov 2023 09:10:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632252.986446; Tue, 14 Nov 2023 09:10: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 1r2pQw-00010N-9k; Tue, 14 Nov 2023 09:10:10 +0000
Received: by outflank-mailman (input) for mailman id 632252;
 Tue, 14 Nov 2023 09:10: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 1r2pQv-00010H-1d
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:10: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 1r2pQu-0001av-3V; Tue, 14 Nov 2023 09:10:08 +0000
Received: from gw1.octic.net ([88.97.20.152] 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 1r2pQt-0005qt-UT; Tue, 14 Nov 2023 09:10: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=Y8GyUxDkrXWdvLKJ+tE4mwPdnqBv2Gvb0tyEuycC/U4=; b=KDhBWCejly1XsjgxwS7xcro7bB
	MaYvDmNxtF1bjMffK73bvf4geo0DQElFmFeaJEJrcF5ldEmD5WKIEjVpnkVcm9UkTV0OQzuNjUZmh
	O3UhN/rtYEQIhMCf/Hm89xtX+Trv2HYe2bygg8GRNgC3iWS2lZNRypfJlUqpRN/5rv9Y=;
Message-ID: <2f024e6b-8f4b-4784-a1ef-1acb04c5a4dc@xen.org>
Date: Tue, 14 Nov 2023 09:10:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename
 handling
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-28-jgross@suse.com>
 <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
 <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 14/11/2023 06:45, Juergen Gross wrote:
> On 13.11.23 23:25, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 10/11/2023 16:08, Juergen Gross wrote:
>>> Add some helpers for handling filenames which might need different
>>> implementations between stubdom and daemon environments:
>>>
>>> - expansion of relative filenames (those are not really defined today,
>>>    just expand them to be relative to /var/lib/xen/xenstore)
>>> - expansion of xenstore_daemon_rundir() (used e.g. for saving the state
>>>    file in case of live update - needs to be unchanged in the daemon
>>>    case, but should result in /var/lib/xen/xenstore for stubdom)
>>>
>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
>>> ---
>>>   tools/xenstored/core.c      | 9 ++++++++-
>>>   tools/xenstored/core.h      | 3 +++
>>>   tools/xenstored/lu_daemon.c | 4 ++--
>>>   tools/xenstored/minios.c    | 5 +++++
>>>   tools/xenstored/posix.c     | 5 +++++
>>>   5 files changed, 23 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
>>> index 4a9d874f17..77befd24c9 100644
>>> --- a/tools/xenstored/core.c
>>> +++ b/tools/xenstored/core.c
>>> @@ -158,6 +158,13 @@ void trace_destroy(const void *data, const char 
>>> *type)
>>>           trace("obj: DESTROY %s %p\n", type, data);
>>>   }
>>> +char *absolute_filename(const void *ctx, const char *filename)
>>
>> Can the return be const?
> 
> I'll have a look.
> 
>>
>>> +{
>>> +    if (filename[0] != '/')
>>> +        return talloc_asprintf(ctx, XENSTORE_LIB_DIR "/%s", filename);
>>
>> Looking at the rest of patch, you will be using xenstore_rundir(). I 
>> wonder whether it would not be better to switch to xenstore_rundir() 
>> so...
>>
>>> +    return talloc_strdup(ctx, filename);
>>> +}
>>> +
>>>   /**
>>>    * Signal handler for SIGHUP, which requests that the trace log is 
>>> reopened
>>>    * (in the main loop).  A single byte is written to 
>>> reopen_log_pipe, to awaken
>>> @@ -2983,7 +2990,7 @@ int main(int argc, char *argv[])
>>>       signal(SIGHUP, trigger_reopen_log);
>>>       if (tracefile)
>>> -        tracefile = talloc_strdup(NULL, tracefile);
>>> +        tracefile = absolute_filename(NULL, tracefile);
>>>   #ifndef NO_LIVE_UPDATE
>>>       /* Read state in case of live update. */
>>> diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
>>> index a0d3592961..51e1dddb22 100644
>>> --- a/tools/xenstored/core.h
>>> +++ b/tools/xenstored/core.h
>>> @@ -393,6 +393,9 @@ void early_init(void);
>>>   void mount_9pfs(void);
>>>   #endif
>>> +const char *xenstore_rundir(void);
>>> +char *absolute_filename(const void *ctx, const char *filename);
>>> +
>>>   /* Write out the pidfile */
>>>   void write_pidfile(const char *pidfile);
>>> diff --git a/tools/xenstored/lu_daemon.c b/tools/xenstored/lu_daemon.c
>>> index 71bcabadd3..6351111ab0 100644
>>> --- a/tools/xenstored/lu_daemon.c
>>> +++ b/tools/xenstored/lu_daemon.c
>>> @@ -24,7 +24,7 @@ void lu_get_dump_state(struct lu_dump_state *state)
>>>       state->size = 0;
>>>       state->filename = talloc_asprintf(NULL, "%s/state_dump",
>>> -                      xenstore_daemon_rundir());
>>> +                      xenstore_rundir());
>>
>> ... call and ...
>>
>>>       if (!state->filename)
>>>           barf("Allocation failure");
>>> @@ -65,7 +65,7 @@ FILE *lu_dump_open(const void *ctx)
>>>       int fd;
>>>       filename = talloc_asprintf(ctx, "%s/state_dump",
>>> -                   xenstore_daemon_rundir());
>>> +                   xenstore_rundir());
>>
>> ... this one could be replaced with absolute_filename().
> 
> No, I don't think this is a good idea.
> 
> I don't want the daemon to store trace files specified as relative files
> to be stored in /var/run/xen, while I want all files of the stubdom to be
> stored under /var/lib/xen.

Why? This is a bit odd to have a different behavior between stubdom and 
daemon. It would be much easier for the user if they knew all the files 
would be at the same place regardless the version used.

Also, regarding the background of my question. You are introducing a 
function call absolute_filename(). From the name, there is nothing 
indicating that this should only be used for trace files. If this is 
only indented for tracefile, then I think this should be renamed to 
something like absolute_tracefile(...).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:11:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:11:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632254.986457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pRx-0001WP-Nv; Tue, 14 Nov 2023 09:11:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632254.986457; Tue, 14 Nov 2023 09: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 1r2pRx-0001WI-J3; Tue, 14 Nov 2023 09:11:13 +0000
Received: by outflank-mailman (input) for mailman id 632254;
 Tue, 14 Nov 2023 09:11: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2pRv-0001WA-M9
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:11:11 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c093c1e4-82cd-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 10:11:10 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7347.eurprd04.prod.outlook.com (2603:10a6:20b:1d0::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Tue, 14 Nov
 2023 09:11:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 09:11: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: c093c1e4-82cd-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AoynVOKWSRt/5cvxWZqTYVswfXNhHU6Q2IVR9uAHIvinLJzkZco6HRNaleOs2vd5NdVVX65ux3sjv5GlYzS5X7cY4zYZwLZuKhEfC3GFNcbXLSHsJkyIyJQ+jSJLgCBUP8jnvesDWruerKkNSwQlLFMsN2w48TWtoLeUDmn7hwuBQKOnWCdzN0hCBj/TFRkIcPFxSQfSAO4XKxUD9moLnqFsSiGLt61lnPzJkxU0cHzoFFC1zxENmCF9vH7Su8d6EdofvmPh3yBNsaVHpaw+DCZ1bqHjtNwZv/WD+YnukGJfctGw+oleZr1kjH5WQ7DjO2z6qhJvGoLCgsMVbwR23Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sZe+pBlpqM/1HxUXGZOVGlnMmOyvfFXOv6FF9BVVD0E=;
 b=NVmgQy9dPQwfMlPiz/9XCdh1Zu0GME51jWksPOWJ+JwyobOpqrAeRzPbOkj0BS2DRMcQK3efagj5YShRSNMhTTw84KIitL68IQHC5Jx1VLZqy6Bp6O5bakFoxlQIMqr1bXAqcn7WtvqsB5jJ9CfXEhrF76DYRNgrRH+ACI0xt3rpAhd+hkMCF7YuoTSU7ysHPVjjqf0mlx8qV5AbXS0fNUbKbUaPHFzUx2b6Eim1wwex/xa/kgo21iRMqNSMi2fROs2ivjwxzfUo5MFXuATH76TifMBNYfjdvxwY9ZInI7iisxNfXWJgXFsfHtw+9spVerEkHpd8nqwz2g1uxIYFpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=sZe+pBlpqM/1HxUXGZOVGlnMmOyvfFXOv6FF9BVVD0E=;
 b=hj5BNe2+OdfKQn0br+39r0nkZRiB6CyBM6Tb+GdI4L1yzmRHEGCwYRx5eCGe0qXNJxtvO9djXxaTqMWMIXR1Ce/YWXN/8iT7XNLxnjpQQuJpZDbMc2EJIZ/7DCpMTPV+IFSmUwlGQ9+pMq6YMVAclQM1lupT/+Ozob23udJmISyeXqtSqW9s435wNK9SX0d3bh5yuv2mMSEvfSRfm43s62ZD57u39H3PZ0S6tgfgJiG0wsB1EUaBmts8fjxAzH7VrQxSNMqpF2WEn9QVhbF/mLRRHMHC0sASAYqlxl6MgNKXGJP6hK8DpHpNhrQLujBvmmSKgTsArETCofFZZoWUUQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <da9eb6fe-3eaf-de9a-2790-79165ecfd917@suse.com>
Date: Tue, 14 Nov 2023 10:11:05 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v6 2/5] xen/vpci: move xen_domctl_createdomain vPCI flag
 to common
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Christian Lindig <christian.lindig@citrix.com>, David Scott
 <dave@recoil.org>,
 =?UTF-8?Q?Marek_Marczykowski-G=c3=b3recki?=
 <marmarek@invisiblethingslab.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>,
 Rahul Singh <rahul.singh@arm.com>,
 Christian Lindig <christian.lindig@cloud.com>, xen-devel@lists.xenproject.org
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
 <20231113222118.825758-3-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231113222118.825758-3-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0207.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e5::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7347:EE_
X-MS-Office365-Filtering-Correlation-Id: 60f8ae6f-b4d7-41f4-7d68-08dbe4f1a300
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:
	myG7a722w63IsKcswPpK4pMet+tj8xDG6BTcqFxP5b0NfJSeV/TYfHu3r5VF5f8YPQ4ryQHa9KNKM/m+3Xe/7mCYT5G2ffnBqxajdlDq79YWxWFK5uVC1IFieQHM1Vvput/RyY6ug/tGsp0ML2vJ+A7p/dLQpJ2rN0l1w/N6XW85JzDqANMsmV3g7wS6wtBAfT4lXOk9RCJY3Aqko4SBay82CEw1zETak1ArjlTMCD7BtclVeBu/A4Y5i8hJ4G/gnS1VOIj5I1K7YZCSFLw5uWpbIHnso7mRkSsmzrNqthR7VG46mFnqsY0ssSbDV3rZPkeMbOHeUsML0l0zZR/rX6vzadwbJ3Bk1aGyVyuc291kvUidGvezrif447jag4hi5cVrfj/kunVsdt4zRzEZZlgQhWaIjzJ/djYwv4hrDuhxVP80VbPCmxAuh8GhX4OybVUlpOejTST0PFBCncZKWjNNFnPGLsmQWxmlz+tJOn8XP9j+Uk49Il1DXOUm6w3eT4o1+r6zahFXUszUPb2x62Jnk4fWhNyLdincx5FjTfK5fYruVBin8/OEYxeHAfewYZi4HsyEyA3kzaYRz7PTPTFGKNQ3/cFUdetEbdnKPQx8qpt5er39IQqGSvKqFKi0jcrEvNlCl0Bc04ynZu82HQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(346002)(39860400002)(396003)(136003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(31686004)(6486002)(6512007)(316002)(6916009)(66476007)(66946007)(66556008)(36756003)(8676002)(4326008)(8936002)(86362001)(2906002)(41300700001)(38100700002)(54906003)(31696002)(7416002)(5660300002)(83380400001)(26005)(2616005)(478600001)(6506007)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NU5ORjkwRzhTTng1NWtmOHg5WlR4dEhTVTZ5eS9qeVFDRDFIUFFnWEM5em5Q?=
 =?utf-8?B?OU95QlpCWnRwZDY5djR2VjRScjluN01SMkQvWFRPQ0JMVHAzanNqYUMyWHVG?=
 =?utf-8?B?Z1BaTHpYZmNkeitkWnFrTXAvcXFiYlNQUlQ5VzFqTkUzVHpsWDBEL2E3OHk3?=
 =?utf-8?B?alFPTXZPbTdnYTVzKzQvaEVsbEdodTZVNzhKb0grOHNxbU5HaE15OU10WGxm?=
 =?utf-8?B?TkMvNVUrQ09JeXB0RFdYbVJZVllpS2RkMEFlNHZvL3ovRFZ6YkZOVG1XM1hz?=
 =?utf-8?B?UldTeGtTbEErN0hXZFM3RDVPaUhaR1ljNlZXczd3dU1HQTltd0laNHFRNkdM?=
 =?utf-8?B?eE5GZGNFdUV4eU5VcFZvYU1kM0lVZUxYMjZYQkxScElHbDZXUzNEVkhBM1Uz?=
 =?utf-8?B?eVdVVzh6Slhpc0FvSmkxNURpd3VSTWt6SGVZdEJ5STQ5M25Yc0ZxRytHdkRC?=
 =?utf-8?B?WVAyY0RSR2FYcU8rSllCUG5Xb2VJYjNISjVVWjRDVEZ6UkhCQjdtZU1Odnc3?=
 =?utf-8?B?QU02a1o1MVk0c24xSjZYYTAyc2F0Q1lQemV0K1QvNWRzU2NHSFFqcEp0Uk8r?=
 =?utf-8?B?RVZjNUQ5M3FoazRmemdUU3pqUExJNlFsVmNOZGV4UU1YYWpCV1kySEFwdWl4?=
 =?utf-8?B?ZnZJcVRkbzVyS3hYUlFNWjhyd29RNjhkQjFPMzR5VFZ4OWNOdFhPNHpOVFBS?=
 =?utf-8?B?Y1JmdkJJUUZpQys4UDFJdmVicUZqb2JkUklvRDZJcUkxVXZpT3lvaGlUci9h?=
 =?utf-8?B?NTBKc3c5ZkJka3RjTEliNWFUYmJnaTh6VW81UVp2UG1VWUc3a1ZYU2JKR1pX?=
 =?utf-8?B?WitvUndKR3NrYjA2SEpJZlBHY04zSlNMOUtlYmpjb0lzVEduR2hJMlNzWEQv?=
 =?utf-8?B?ejRidzNWeUtpMDg0bUozYjV1ZkpCak9ZSmJhWTZPZUw2UFlFaUh3MFNncGNr?=
 =?utf-8?B?U1N0K1B4MTZFcXRyVnBoZmVReERSd3dLVXJDVmJ1RzNmS09ZY2FwbFNXeUhi?=
 =?utf-8?B?eWIrRXRnSDNOZEhDeFBzTWJyV3BrdnJKNDNWSEptd0kvS21oUWdVVjhuSDl0?=
 =?utf-8?B?bFNOWkpONkVaanl4enduRCtGbHNRdkNSRXBjZ0ZXa29FU0Juc3ZpTCs3TjE4?=
 =?utf-8?B?bnh5N3lSZWxIWXVINWlZanJ3YkFia3pBR3JlT2JSbGJFZWJPYUJkV2JPK0pL?=
 =?utf-8?B?a0U5U0NRL2plc003U2tQMkg0VWwrN1c0NXAzMkM5amFpTFVzQnhPS3kzc3pq?=
 =?utf-8?B?aGhoUUdST29oWWhVbHNiclZuMTRRWEdEemNwYXBtZVNFSUIvZXN0aElHMjk4?=
 =?utf-8?B?ckxqQUZsc2xYWGNNbTJqUkNYVUhINnJGclQ0cFp4UlJOcm8vaFgxN3d1VzBF?=
 =?utf-8?B?b2MyZTZ2aVdob2pqMmx2UThYVHArbmVsLzlaMlVvcUdhckJGcU1sYlQ0Z1NR?=
 =?utf-8?B?cGxsUDAxd2tBOGVyYndiMHovb0ZYWUJ1NGNWU3FvSzVjaHQ1Q0s3YU9lNFJV?=
 =?utf-8?B?ZzQ0NEkzSDFqV2ZQNzdjUW5zcm5WakN0SXdTN3oxbzA2RzF6Z09YSmZCQjJt?=
 =?utf-8?B?dG1qTmZUbFZSaE45NCtLeUdkcFBQOElEaElDSzNCanZ0bytlYWUybHQ3U3BP?=
 =?utf-8?B?SklKdGNuMUliWkgyQ1RCdnpncnZuVEtZWEVTMGM4UmZNWXlzTTVPN1ZYK1J6?=
 =?utf-8?B?UERIRmxteDlZcTNUSWdjUXNPb052TS80MU1BMUdOVDJtUFd4N2JsN0wxV2dx?=
 =?utf-8?B?KzcxS0FtTFlNaGZ0cGRmRTkvQWNxdUdQcjYzelJPalp4WVZac2FtV0lLR09M?=
 =?utf-8?B?TGhWbVNFZFMwaXYwemJ6NWRmaUdJQmU5TG9YNlg3bW5LQlhLV2Z3WWNUNWJD?=
 =?utf-8?B?QW9SMUpPWEhBQlk1eWpnSVZuUGlOQTBrQUxlb1lJQzBsU1Y5VFMrTnNIWURZ?=
 =?utf-8?B?QjJkNEI5RmI2dDhNWXlMVm1tWXd5RzN6anZEUjh6dGl3MWY3a1VBM3czcTEw?=
 =?utf-8?B?U3N1ZnRuLzNhTmJKU3NRQjA5TCs5QXFLL21KZ2t1OHRqK1RtQkRZRkc4VmFr?=
 =?utf-8?B?UWM3ZXdzOHVLQW1qMjY5Y1JpRUxoKzJHcG0ra085eGFwaGVYWldhejFkWmwr?=
 =?utf-8?Q?GINlArZ+dpa1TCI0MXR1Ey1Nm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 60f8ae6f-b4d7-41f4-7d68-08dbe4f1a300
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 09:11:07.7237
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rNOlZmRK4qYiXJ4uoyww5+qdWym7F6c6tSdac2woz0O4gOwTeASia72aZkn236UR9dGS64z4cAMVOu2S0vuHsg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7347

On 13.11.2023 23:21, Stewart Hildebrand wrote:
> @@ -709,10 +710,17 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>          return -EINVAL;
>      }
>  
> +    if ( vpci && !hvm )
> +    {
> +        dprintk(XENLOG_INFO, "vPCI requested for non-HVM guest\n");
> +        return -EINVAL;
> +    }
> +
>      return 0;
>  }

As said on the v5 thread, I think my comment was misguided (I'm sorry)
and this wants keeping in common code as you had it.

> --- a/xen/include/public/arch-x86/xen.h
> +++ b/xen/include/public/arch-x86/xen.h
> @@ -283,15 +283,16 @@ struct xen_arch_domainconfig {
>  #define XEN_X86_EMU_PIT             (1U<<_XEN_X86_EMU_PIT)
>  #define _XEN_X86_EMU_USE_PIRQ       9
>  #define XEN_X86_EMU_USE_PIRQ        (1U<<_XEN_X86_EMU_USE_PIRQ)
> -#define _XEN_X86_EMU_VPCI           10
> -#define XEN_X86_EMU_VPCI            (1U<<_XEN_X86_EMU_VPCI)
> +/*
> + * Note: bit 10 was previously used for a XEN_X86_EMU_VPCI flag. This bit should
> + * not be re-used without careful consideration.
> + */

I think a multi-line comment is drawing overly much attention to this.
How about "Note: Bit 10 was previously used for XEN_X86_EMU_VPCI. Re-use
with care." which I think fits in a single line comment.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:12:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:12:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632257.986465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pT3-00029T-2J; Tue, 14 Nov 2023 09:12:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632257.986465; Tue, 14 Nov 2023 09:12: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 1r2pT2-00029M-Vl; Tue, 14 Nov 2023 09:12:20 +0000
Received: by outflank-mailman (input) for mailman id 632257;
 Tue, 14 Nov 2023 09:12: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2pT1-00029G-2o
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:12: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 e8a4bcaa-82cd-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 10:12:17 +0100 (CET)
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 8FD8A21898;
 Tue, 14 Nov 2023 09:12: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 62FFB13460;
 Tue, 14 Nov 2023 09:12:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id EdF5Fu05U2XACAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 09: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>
X-Inumbo-ID: e8a4bcaa-82cd-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699953133; 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:autocrypt:autocrypt;
	bh=92AqrPF99V4z2YoTdE/m0ePSBktQuFEuxnHTIMeIkag=;
	b=ZMP9Y2/SqqEM0JGdnZdIcIVfTkK5TZ2V6KRP9ydIciaZXkM4+FWnKQPgxWw4Z0FjC7dYnO
	WrBg1LFSL1Z/KqWh68ngs9YxsdplohsNaYse+U02ZT7owPsAX3vMKFJMhLml4iR2UdIMk6
	pWxQfHtBIe8+hMMFjAHZFgo+hkCM+IU=
Message-ID: <e5d9e34c-da64-4386-b04c-d8bf2c171e07@suse.com>
Date: Tue, 14 Nov 2023 10:12:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 25/29] tools/xenstored: map stubdom interface
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-26-jgross@suse.com>
 <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
 <3aacfaf1-5331-4e9c-99b3-b9c84af0de28@suse.com>
 <6062375b-ed94-46ba-a405-e3e7148ddc6f@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <6062375b-ed94-46ba-a405-e3e7148ddc6f@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------hGDMVu8RKG4uTsmxiSZrEnoo"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -8.99
X-Spamd-Result: default: False [-8.99 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 BAYES_HAM(-3.00)[100.00%];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------hGDMVu8RKG4uTsmxiSZrEnoo
Content-Type: multipart/mixed; boundary="------------0FVxLQuq9TCn1frYEJAnnUcP";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <e5d9e34c-da64-4386-b04c-d8bf2c171e07@suse.com>
Subject: Re: [PATCH v2 25/29] tools/xenstored: map stubdom interface
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-26-jgross@suse.com>
 <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
 <3aacfaf1-5331-4e9c-99b3-b9c84af0de28@suse.com>
 <6062375b-ed94-46ba-a405-e3e7148ddc6f@xen.org>
In-Reply-To: <6062375b-ed94-46ba-a405-e3e7148ddc6f@xen.org>

--------------0FVxLQuq9TCn1frYEJAnnUcP
Content-Type: multipart/mixed; boundary="------------GK0Detf91UVVT04hsBgrdbQ3"

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

T24gMTQuMTEuMjMgMDk6NTYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAxNC8xMS8yMDIzIDA2OjMzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTMuMTEu
MjMgMjM6MDQsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiBIaSBKdWVyZ2VuLA0KPj4+DQo+
Pj4gT24gMTAvMTEvMjAyMyAxNjowOCwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gV2hl
biBydW5uaW5nIGFzIHN0dWJkb20sIG1hcCB0aGUgc3R1YmRvbSdzIFhlbnN0b3JlIHJpbmcg
cGFnZSBpbiBvcmRlcg0KPj4+PiB0byBzdXBwb3J0IHVzaW5nIHRoZSA5cGZzIGZyb250ZW5k
Lg0KPj4+Pg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3Vz
ZS5jb20+DQo+Pj4+IC0tLQ0KPj4+PiDCoCB0b29scy94ZW5zdG9yZWQvY29yZS5jwqDCoCB8
wqAgMiArKw0KPj4+PiDCoCB0b29scy94ZW5zdG9yZWQvZG9tYWluLmMgfCAyNyArKysrKysr
KysrKysrKysrKysrKysrKysrKy0NCj4+Pj4gwqAgdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5o
IHzCoCAxICsNCj4+Pj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCAyOSBpbnNlcnRpb25zKCspLCAx
IGRlbGV0aW9uKC0pDQo+Pj4+DQo+Pj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZWQv
Y29yZS5jIGIvdG9vbHMveGVuc3RvcmVkL2NvcmUuYw0KPj4+PiBpbmRleCBiOWVjNTBiMzRj
Li40YTlkODc0ZjE3IDEwMDY0NA0KPj4+PiAtLS0gYS90b29scy94ZW5zdG9yZWQvY29yZS5j
DQo+Pj4+ICsrKyBiL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMNCj4+Pj4gQEAgLTI5OTEsNiAr
Mjk5MSw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pDQo+Pj4+IMKgwqDC
oMKgwqDCoMKgwqDCoCBsdV9yZWFkX3N0YXRlKCk7DQo+Pj4+IMKgICNlbmRpZg0KPj4+PiAr
wqDCoMKgIHN0dWJkb21faW5pdCgpOw0KPj4+PiArDQo+Pj4+IMKgwqDCoMKgwqAgY2hlY2tf
c3RvcmUoKTsNCj4+Pj4gwqDCoMKgwqDCoCAvKiBHZXQgcmVhZHkgdG8gbGlzdGVuIHRvIHRo
ZSB0b29scy4gKi8NCj4+Pj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC9kb21haW4u
YyBiL3Rvb2xzL3hlbnN0b3JlZC9kb21haW4uYw0KPj4+PiBpbmRleCBmYTE3ZjY4NjE4Li4x
NjJiODdiNDYwIDEwMDY0NA0KPj4+PiAtLS0gYS90b29scy94ZW5zdG9yZWQvZG9tYWluLmMN
Cj4+Pj4gKysrIGIvdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5jDQo+Pj4+IEBAIC0zNyw2ICsz
NywxMCBAQA0KPj4+PiDCoCAjaW5jbHVkZSA8eGVuY3RybC5oPg0KPj4+PiDCoCAjaW5jbHVk
ZSA8eGVuL2dyYW50X3RhYmxlLmg+DQo+Pj4+ICsjaWZkZWYgX19NSU5JT1NfXw0KPj4+PiAr
I2luY2x1ZGUgPG1pbmktb3MveGVuYnVzLmg+DQo+Pj4+ICsjZW5kaWYNCj4+Pj4gKw0KPj4+
PiDCoCBzdGF0aWMgeGNfaW50ZXJmYWNlICoqeGNfaGFuZGxlOw0KPj4+PiDCoCB4ZW5nbnR0
YWJfaGFuZGxlICoqeGd0X2hhbmRsZTsNCj4+Pj4gwqAgc3RhdGljIGV2dGNobl9wb3J0X3Qg
dmlycV9wb3J0Ow0KPj4+PiBAQCAtNTAwLDYgKzUwNCwxMSBAQCBzdGF0aWMgdm9pZCAqbWFw
X2ludGVyZmFjZShkb21pZF90IGRvbWlkKQ0KPj4+PiDCoMKgwqDCoMKgIGlmIChkb21pZCA9
PSB4ZW5idXNfbWFzdGVyX2RvbWlkKCkpDQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1
cm4geGVuYnVzX21hcCgpOw0KPj4+PiArI2lmZGVmIF9fTUlOSU9TX18NCj4+Pj4gK8KgwqDC
oCBpZiAoZG9taWQgPT0gc3R1Yl9kb21pZCkNCj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVy
biB4ZW5zdG9yZV9idWY7DQo+Pj4+ICsjZW5kaWYNCj4+Pj4gKw0KPj4+PiDCoMKgwqDCoMKg
IHJldHVybiB4ZW5nbnR0YWJfbWFwX2dyYW50X3JlZigqeGd0X2hhbmRsZSwgZG9taWQsDQo+
Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBH
TlRUQUJfUkVTRVJWRURfWEVOU1RPUkUsDQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBQUk9UX1JFQUR8UFJPVF9XUklURSk7DQo+Pj4+
IEBAIC01MDksNyArNTE4LDcgQEAgc3RhdGljIHZvaWQgdW5tYXBfaW50ZXJmYWNlKGRvbWlk
X3QgZG9taWQsIHZvaWQgKmludGVyZmFjZSkNCj4+Pj4gwqAgew0KPj4+PiDCoMKgwqDCoMKg
IGlmIChkb21pZCA9PSB4ZW5idXNfbWFzdGVyX2RvbWlkKCkpDQo+Pj4+IMKgwqDCoMKgwqDC
oMKgwqDCoCB1bm1hcF94ZW5idXMoaW50ZXJmYWNlKTsNCj4+Pj4gLcKgwqDCoCBlbHNlDQo+
Pj4+ICvCoMKgwqAgZWxzZSBpZiAoZG9taWQgIT0gc3R1Yl9kb21pZCkNCj4+Pj4gwqDCoMKg
wqDCoMKgwqDCoMKgIHhlbmdudHRhYl91bm1hcCgqeGd0X2hhbmRsZSwgaW50ZXJmYWNlLCAx
KTsNCj4+Pj4gwqAgfQ0KPj4+PiBAQCAtMTIxNCw2ICsxMjIzLDIyIEBAIHZvaWQgZG9tMF9p
bml0KHZvaWQpDQo+Pj4+IMKgwqDCoMKgwqAgeGVuZXZ0Y2huX25vdGlmeSh4Y2VfaGFuZGxl
LCBkb20wLT5wb3J0KTsNCj4+Pj4gwqAgfQ0KPj4+PiArdm9pZCBzdHViZG9tX2luaXQodm9p
ZCkNCj4+Pj4gK3sNCj4+Pj4gKyNpZmRlZiBfX01JTklPU19fDQo+Pj4+ICvCoMKgwqAgc3Ry
dWN0IGRvbWFpbiAqc3R1YmRvbTsNCj4+Pj4gKw0KPj4+PiArwqDCoMKgIGlmIChzdHViX2Rv
bWlkIDwgMCkNCj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHJldHVybjsNCj4+Pj4gKw0KPj4+PiAr
wqDCoMKgIHN0dWJkb20gPSBpbnRyb2R1Y2VfZG9tYWluKE5VTEwsIHN0dWJfZG9taWQsIHhl
bmJ1c19ldnRjaG4sIGZhbHNlKTsNCj4+Pj4gK8KgwqDCoCBpZiAoIXN0dWJkb20pDQo+Pj4+
ICvCoMKgwqDCoMKgwqDCoCBiYXJmX3BlcnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgc3R1
YmRvbSIpOw0KPj4+PiArDQo+Pj4+ICvCoMKgwqAgeGVuZXZ0Y2huX25vdGlmeSh4Y2VfaGFu
ZGxlLCBzdHViZG9tLT5wb3J0KTsNCj4+Pg0KPj4+IElmIEkgY29tcGFyZSB0byBpbnRyb2R1
Y2VfZG9tYWluKCksIGl0IGlzIG5vdCBlbnRpcmVseSBjbGVhciB0byBtZSB3aHkgdGhlIA0K
Pj4+IG5vdGlmaWNhdGlvbiBpcyBkb25lIHVuY29uZGl0aW9uYWxseSBoZXJlLiBDYW4geW91
IGNsYXJpZnk/DQo+Pg0KPj4gVGhlcmUgaXMgbm8gcmVhc29uIHRvIGRvIGl0IGNvbmRpdGlv
bmFsbHksIGFzIHdlIGNhbiBiZSBzdXJlIHRoZSBldmVudCBjaGFubmVsDQo+PiBpcyBleGlz
dGluZyBhbmQgdGhlIHJpbmcgcGFnZSBpcyBhY2Nlc3NpYmxlLg0KPiANCj4gSG1tbS4uLiBC
dXQgdGhlcmUgaXMgYSBzZWNvbmQgcGFydCBpbiB0aGUgY29uZGl0aW9uOg0KPiANCj4gZG9t
YWluLT5pbnRlcmZhY2UtPmNvbm5lY3Rpb24gPT0gWEVOU1RPUkVfUkVDT05ORUNUDQo+IA0K
PiBXaHkgaXNuJ3QgaXQgbmVjZXNzYXJ5IGhlcmU/IFdoYXQgSSBhbSBsb29raW5nIGZvciBw
YXJ0aWN1bGFybHkgaXMgc29tZSBpbi1jb2RlIA0KPiBjb21tZW50IChvciBhdCBsZWFzdCBp
biB0aGUgY29tbWl0IG1lc3NhZ2UpIGJlY2F1c2UgdGhpcyBpcyBub3QgMTAwJSBjbGVhciB3
aHkgDQo+IHdlIGFyZSBkaXZlcmdpbmcuDQoNClRoZSB0ZXN0IG9mIFhFTlNUT1JFX1JFQ09O
TkVDVCBpcyBkb25lIGZvciBkb21VcyBzdGFydGVkIGJlZm9yZSBvciB0b2dldGhlciB3aXRo
DQpkb20wIGluIG9yZGVyIHRvIGdpdmUgdGhlbSBhIHNpZ25hbCB0aGF0IHRoZXkgY2FuIHN0
YXJ0IHRvIHVzZSBYZW5zdG9yZS4NCg0KSGVyZSB3ZSBhcmUgaW5pdGlhbGl6aW5nIG91ciBv
d24gY29ubmVjdGlvbiwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byB0ZXN0IHdoZXRoZXINCnRo
ZSBvdGhlciBlbmQgaXMgd2FpdGluZyBmb3IgdXMuIFdlIGtub3cgdGhlcmUgaXMgbm8gcG9z
c2libGUgcHJvYmxlbSBzZW5kaW5nDQp0aGUgZXZlbnQsIHNvIHdlIGNhbiBqdXN0IGRvIGl0
LiBUaGUgbWFpbiBpbnN0cnVjdGlvbiBndWFyZGVkIGJ5IHRoZSB0ZXN0IG9mDQpYRU5TVE9S
RV9SRUNPTk5FQ1QgaXMgdGhlIHNldHRpbmcgb2YgWEVOU1RPUkVfQ09OTkVDVEVELCB3aGlj
aCB0aGVuIG5lZWRzIHRoZQ0KZXZlbnQgdG8gYmUgc2VudCB0byBzaWduYWwgdGhhdCBjaGFu
Z2UgaW4gdGhlIGNvbm5lY3Rpb24gc3RhdGUuDQoNCkluIHRoZSBlbmQgd2UgYXJlIF9ub3Rf
IGRpdmVyZ2luZy4gWW91IHNob3VsZCBqdXN0IGNvbXBhcmUgdGhlIGNvZGUgdG8gdGhlIG1v
cmUNCmNvbXBhcmFibGUgZG9tMF9pbml0KCkgY29kZS4gVGhlcmUgdGhlIGV2ZW50IGlzIGJl
aW5nIHNlbnQgdW5jb25kaXRpb25hbGx5LCB0b28uDQoNCg0KSnVlcmdlbg0K
--------------GK0Detf91UVVT04hsBgrdbQ3
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-----

--------------GK0Detf91UVVT04hsBgrdbQ3--

--------------0FVxLQuq9TCn1frYEJAnnUcP--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTOewFAwAAAAAACgkQsN6d1ii/Ey93
hQf+PlaXJKyx9vUgVOigATGvb9MHxQTdz9zw3IxK7FVh3PVN/X0XGeVXS722Bk9cuKjGrM8QHZBN
4x3vXsdWTToKDuZg4xqYjKZnhi33F1fDJMbg2V9iyd4TT6XvnT7pS3iyLdDASP9M/f17fDh+52ru
1ujZTxYLugeyV/uCl9SM+dC1D75WfpCnXFxyH6Q13HVNUoHeF6kMQZByxPnUacn9mnL9zDxk/mYL
IXyrlcAd2C0CrpUIRCHBpbHWgTPfra/v/4nKhZiCyXOik8AThD6IP934o/vxkgz/2ZzmUj6t3aEw
9SIXFn1i/+ZOs6vML8viHYdNte4F4PX+PRIywXWBmA==
=Ua9Q
-----END PGP SIGNATURE-----

--------------hGDMVu8RKG4uTsmxiSZrEnoo--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:13:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:13:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632259.986476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pTz-0002h0-B7; Tue, 14 Nov 2023 09:13:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632259.986476; Tue, 14 Nov 2023 09:13: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 1r2pTz-0002gt-8R; Tue, 14 Nov 2023 09:13:19 +0000
Received: by outflank-mailman (input) for mailman id 632259;
 Tue, 14 Nov 2023 09:13: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2pTy-0002gh-4f
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:13:18 +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 0bec20c2-82ce-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 10:13:17 +0100 (CET)
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 DB6DC21898;
 Tue, 14 Nov 2023 09:13:16 +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 ABB6713460;
 Tue, 14 Nov 2023 09:13:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id WN09KCw6U2XACAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 09: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>
X-Inumbo-ID: 0bec20c2-82ce-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699953196; 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:autocrypt:autocrypt;
	bh=PnDofMebKnj3bOUtkIJcwaHY54NLwFY/k7Rjr3iMHrE=;
	b=pNzzv9qt+jA0oPHmMoBO6fAyMIlFaGHpwKn524YZl6yVAoxFo4xL2rkUMwBd22TazPc7/Y
	/l/8NtGfT/vyiHQEVwW8zpDFONHzLfdq3sJp8V1mPDCBzhGxs7r8j6zRLb0PzgZqr+g9bv
	OmzWqaZPjZGZql4HazN1hmQiIVNClgM=
Message-ID: <3b077cde-bc06-48af-82b4-23798ecfd64c@suse.com>
Date: Tue, 14 Nov 2023 10:13:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 26/29] tools/xenstored: mount 9pfs device in stubdom
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-27-jgross@suse.com>
 <e637cc9f-246e-4834-b255-b4cdeb40178f@xen.org>
 <fe1e5b10-a9cb-4347-b148-8e5e0d290428@suse.com>
 <6a63e87e-16ab-4e2c-a0fe-a213d52de2b2@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <6a63e87e-16ab-4e2c-a0fe-a213d52de2b2@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------0xTGJaafb1HP78ofBT5CFYNg"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -8.99
X-Spamd-Result: default: False [-8.99 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 CLAM_VIRUS_FAIL(0.00)[failed to scan and retransmits exceed];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 BAYES_HAM(-3.00)[100.00%];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 FREEMAIL_CC(0.00)[xen.org,citrix.com,gmail.com];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------0xTGJaafb1HP78ofBT5CFYNg
Content-Type: multipart/mixed; boundary="------------hDBkol7LRhSm3dEC0cRPYBwK";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Message-ID: <3b077cde-bc06-48af-82b4-23798ecfd64c@suse.com>
Subject: Re: [PATCH v2 26/29] tools/xenstored: mount 9pfs device in stubdom
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-27-jgross@suse.com>
 <e637cc9f-246e-4834-b255-b4cdeb40178f@xen.org>
 <fe1e5b10-a9cb-4347-b148-8e5e0d290428@suse.com>
 <6a63e87e-16ab-4e2c-a0fe-a213d52de2b2@xen.org>
In-Reply-To: <6a63e87e-16ab-4e2c-a0fe-a213d52de2b2@xen.org>

--------------hDBkol7LRhSm3dEC0cRPYBwK
Content-Type: multipart/mixed; boundary="------------4GGN7fPJphDsiSxBL09NkJGW"

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

T24gMTQuMTEuMjMgMTA6MDAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDE0LzExLzIwMjMgMDY6NDAsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAxMy4xMS4yMyAyMzowOSwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpIEp1ZXJnZW4s
DQo+Pj4NCj4+PiBPbiAxMC8xMS8yMDIzIDE2OjA4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4+PiBkaWZmIC0tZ2l0IGEvdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5jIGIvdG9vbHMveGVu
c3RvcmVkL2RvbWFpbi5jDQo+Pj4+IGluZGV4IDE2MmI4N2I0NjAuLjQyNjNjMTM2MGYgMTAw
NjQ0DQo+Pj4+IC0tLSBhL3Rvb2xzL3hlbnN0b3JlZC9kb21haW4uYw0KPj4+PiArKysgYi90
b29scy94ZW5zdG9yZWQvZG9tYWluLmMNCj4+Pj4gQEAgLTEyMzYsNiArMTIzNiw4IEBAIHZv
aWQgc3R1YmRvbV9pbml0KHZvaWQpDQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBiYXJmX3Bl
cnJvcigiRmFpbGVkIHRvIGluaXRpYWxpemUgc3R1YmRvbSIpOw0KPj4+PiDCoMKgwqDCoMKg
IHhlbmV2dGNobl9ub3RpZnkoeGNlX2hhbmRsZSwgc3R1YmRvbS0+cG9ydCk7DQo+Pj4+ICsN
Cj4+Pj4gK8KgwqDCoCBtb3VudF85cGZzKCk7DQo+Pj4+IMKgICNlbmRpZg0KPj4+PiDCoCB9
DQo+Pj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZWQvbWluaW9zLmMgYi90b29scy94
ZW5zdG9yZWQvbWluaW9zLmMNCj4+Pj4gaW5kZXggMjAyZDcwMzg3YS4uZmRkYmVkZTg2OSAx
MDA2NDQNCj4+Pj4gLS0tIGEvdG9vbHMveGVuc3RvcmVkL21pbmlvcy5jDQo+Pj4+ICsrKyBi
L3Rvb2xzL3hlbnN0b3JlZC9taW5pb3MuYw0KPj4+PiBAQCAtMTksOCArMTksMTYgQEANCj4+
Pj4gwqAgI2luY2x1ZGUgPHN5cy9tbWFuLmg+DQo+Pj4+IMKgICNpbmNsdWRlICJjb3JlLmgi
DQo+Pj4+IMKgICNpbmNsdWRlIDx4ZW4vZ3JhbnRfdGFibGUuaD4NCj4+Pj4gKyNpbmNsdWRl
IDxtaW5pLW9zLzlwZnJvbnQuaD4NCj4+Pj4gwqAgI2luY2x1ZGUgPG1pbmktb3MvZXZlbnRz
Lmg+DQo+Pj4+IMKgICNpbmNsdWRlIDxtaW5pLW9zL2dudHRhYi5oPg0KPj4+PiArI2luY2x1
ZGUgPG1pbmktb3Mvc2NoZWQuaD4NCj4+Pj4gKyNpbmNsdWRlIDxtaW5pLW9zL3hlbmJ1cy5o
Pg0KPj4+PiArI2luY2x1ZGUgPG1pbmktb3MveG1hbGxvYy5oPg0KPj4+PiArDQo+Pj4+ICsj
ZGVmaW5lIFA5X1NUQVRFX1BBVEjCoMKgwqAgImRldmljZS85cGZzLzAvc3RhdGUiDQo+Pj4+
ICsNCj4+Pj4gK3N0YXRpYyB2b2lkICpwOV9kZXZpY2U7DQo+Pj4+IMKgIHZvaWQgd3JpdGVf
cGlkZmlsZShjb25zdCBjaGFyICpwaWRmaWxlKQ0KPj4+PiDCoCB7DQo+Pj4+IEBAIC02Miwz
ICs3MCwzMSBAQCB2b2lkIGVhcmx5X2luaXQodm9pZCkNCj4+Pj4gwqDCoMKgwqDCoCBpZiAo
c3R1Yl9kb21pZCA9PSBET01JRF9JTlZBTElEKQ0KPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAg
YmFyZigiY291bGQgbm90IGdldCBvd24gZG9taWQiKTsNCj4+Pj4gwqAgfQ0KPj4+PiArDQo+
Pj4+ICtzdGF0aWMgdm9pZCBtb3VudF90aHJlYWQodm9pZCAqcCkNCj4+Pj4gK3sNCj4+Pj4g
K8KgwqDCoCB4ZW5idXNfZXZlbnRfcXVldWUgZXZlbnRzID0gTlVMTDsNCj4+Pj4gK8KgwqDC
oCBjaGFyICplcnI7DQo+Pj4+ICvCoMKgwqAgY2hhciAqZHVtbXk7DQo+Pj4+ICsNCj4+Pj4g
K8KgwqDCoCBmcmVlKHhlbmJ1c193YXRjaF9wYXRoX3Rva2VuKFhCVF9OSUwsIFA5X1NUQVRF
X1BBVEgsICI5cGZzIiwgJmV2ZW50cykpOw0KPj4+DQo+Pj4gQUZBSUNULCB4ZW5idXNfd2F0
Y2hfcGF0aF90b2tlbigpIGNhbiBmYWlsLiBJIGFncmVlIHRoaXMgaXMgdW5saWtlbHksIGJ1
dCBpZiANCj4+PiBpdCBmYWlscywgdGhlbiBpdCB3b3VsZCBiZSB1c2VmdWwgdG8gZ2V0IHNv
bWUgbG9ncy4gT3RoZXJ3aXNlLi4uDQo+Pj4NCj4+Pj4gKw0KPj4+PiArwqDCoMKgIGZvciAo
OzspIHsNCj4+Pg0KPj4+IC4uLiB0aGlzIGxvb3Agd291bGQgYmUgaW5maW5pdGUuDQo+Pg0K
Pj4gT2theSwgd2lsbCBhZGQgbG9nZ2luZy4NCj4+DQo+Pj4NCj4+Pj4gK8KgwqDCoMKgwqDC
oMKgIHhlbmJ1c193YWl0X2Zvcl93YXRjaCgmZXZlbnRzKTsNCj4+Pj4gK8KgwqDCoMKgwqDC
oMKgIGVyciA9IHhlbmJ1c19yZWFkKFhCVF9OSUwsIFA5X1NUQVRFX1BBVEgsICZkdW1teSk7
DQo+Pj4NCj4+PiBDYW4geW91IGV4cGxhaW4gd2h5IGRvbid0IGNhcmUgYWJvdXQgdGhlIHZh
bHVlIG9mIHRoZSBub2RlPw0KPj4NCj4+IEkgb25seSBjYXJlIGFib3V0IHRoZSBwcmVzZW5j
ZSBvZiB0aGUgInN0YXRlIiBub2RlLiBBbGwgcmVhbCBzdGF0ZSBjaGFuZ2VzDQo+PiB3aWxs
IGJlIGhhbmRsZWQgaW4gaW5pdF85cGZyb250KCkuDQo+IA0KPiBPay4gQ2FuIHRoaXMgYmUg
ZG9jdW1lbnRlZCBpbiB0aGUgY29kZT8NCg0KRmluZSB3aXRoIG1lLg0KDQo+IA0KPj4NCj4+
Pg0KPj4+PiArwqDCoMKgwqDCoMKgwqAgaWYgKCFlcnIpDQo+Pj4+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIGJyZWFrOw0KPj4+PiArwqDCoMKgwqDCoMKgwqAgZnJlZShlcnIpOw0KPj4+
PiArwqDCoMKgIH0NCj4+Pj4gKw0KPj4+PiArwqDCoMKgIGZyZWUoZHVtbXkpOw0KPj4+PiAr
DQo+Pj4+ICvCoMKgwqAgZnJlZSh4ZW5idXNfdW53YXRjaF9wYXRoX3Rva2VuKFhCVF9OSUws
IFA5X1NUQVRFX1BBVEgsICI5cGZzIikpOw0KPj4+DQo+Pj4geGVuYnVzX3Vud2F0Y2hfcGF0
aF90b2tlbigpIGNvdWxkIHRlY2huaWNhbGx5IGZhaWxzLiBJdCB3b3VsZCBiZSBoZWxwZnVs
IHRvIA0KPj4+IHByaW50IGEgbWVzc2FnZS4NCj4+DQo+PiBJIGNhbiBhZGQgdGhhdCwgYnV0
IGRvIHdlIHJlYWxseSBjYXJlPyANCj4gDQo+IFdlbGwuLi4gU3VjaCBhcHByb2FjaCBpcyBv
ayB1bnRpbCB0aGUgZGF5IGFsbCB0aGUgd2F0Y2hlcyBhcmUgZXhoYXVzdGVkLiBBdCB0aGlz
IA0KPiBwb2ludCwgdGhlIGRldmVsb3BwZXIgd2hvIGhpdCB0aGUgYnVnIHdpbGwgbGlrZWx5
IHdpc2ggdGhlcmUgd2VyZSBzb21lIGRlYnVnZ2luZy4NCj4gDQo+PiBUaGlzIGlzIGEgY29t
bW9uIHBhdHRlcm4gaW4gTWluaS1PUy4NCj4gDQo+IFlvdSBhcmUgbm90IHNlbGxpbmcgTWlu
aS1PUyA6KS4gUmVhbGx5IGFsbCB0aGUgY2FsbGVycyBzaG91bGQgY2hlY2sgZXJyb3IgcmV0
dXJuIA0KPiBhbmQgcHJpbnQgZXJyb3JzLiBMZXQncyBub3Qgc3ByZWFkIHRoYXQgbWlzdGFr
ZSBpbiBYZW5zdG9yZWQuDQoNCk9rYXkuIDotKQ0KDQoNCkp1ZXJnZW4NCg==
--------------4GGN7fPJphDsiSxBL09NkJGW
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-----

--------------4GGN7fPJphDsiSxBL09NkJGW--

--------------hDBkol7LRhSm3dEC0cRPYBwK--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTOiwFAwAAAAAACgkQsN6d1ii/Ey/Y
0Af+Lue7Sx8xplHKL/X7det4UTBKeC/toDbwQAiqGK+Ac9AYGV7naGGf9NmSuLxST6243l2ks+fP
2g/9w5ub8HumNJahVU7ih/gtMmdFWeW94CkHklgtuIa/PU0Hy189LeJjG6rgFswOVrmM+Aquf5Mk
mCr2DUmtRktn3wYw6yXbtlBqHLsyxwzfoiIaiHWFjYUgITiWtFInFZhYyz4Xmf7BAjXtykM2s5j4
7Wd60LxN0fn/RJ4Kf5hE7WdteclS3pdNJ80+sz7XJDTzeOew1DX6wX51m2kDi+Hpu8KMwY2tyFLQ
d1NtPceo6fZF7sxuVRh68K/4k6hdRVUTGV1mQuKZLQ==
=yIkW
-----END PGP SIGNATURE-----

--------------0xTGJaafb1HP78ofBT5CFYNg--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:13:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:13:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632260.986486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pUE-00036K-NN; Tue, 14 Nov 2023 09:13:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632260.986486; Tue, 14 Nov 2023 09:13: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 1r2pUE-00036B-Kb; Tue, 14 Nov 2023 09:13:34 +0000
Received: by outflank-mailman (input) for mailman id 632260;
 Tue, 14 Nov 2023 09:13: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2pUD-00033u-7A
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:13:33 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe16::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1445de1b-82ce-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 10:13:31 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7531.eurprd04.prod.outlook.com (2603:10a6:10:20c::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Tue, 14 Nov
 2023 09:13:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 09: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>
X-Inumbo-ID: 1445de1b-82ce-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N8I4VBX3HNNu2zkUadxiQe9CCwfX7oUUCACI4u7aBS1st5G4dajFyI4ASvnqXldyZuk8Rt0/YPifbVS6uxv9TYiJcFBrxb5QB4xywHFw7whJ4TDvKxD96UB6YYl7G63kce6EkZ+Sos5LisG0eohyUHqWXEXky7tbySjZZSrNnz/fx0WOQt2ySBVZh4fNSzklmGn/lfmN20htleb7Rnet0sTmhC7tsxkqGtVt2onCPuOyAExsVudjMmcJqaicuPGKTYAbxpTib6c+3BIYU7XBQalzP/Ikn5bTaQwH6+OksNLNUmm6A5J2DOTuJdBU9Zc/zfQHfavejLazo+L+i0HDIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pwS6wxtxzfir+c0ysyPet64hXP4uc+VHcEEin5Vt7BM=;
 b=SDiFygqzVLCQpHpJg0Ez16WuKj71MfM4nt2eM4DJxtBPGeFyc8fB89H8bt7SJAKhFg8Z1yVYjpBThL8lrrE1ZH6m7nIbujNIoxU7zMqeVKgGXdufNlHb7aYxKwUVECLSUBQQvhfdcPiF821XdvZ+jnQHVfJStBIc+MJrp3j/CXmkzWagVDalS70sbR42SLoKZQxrI6DBNQyeSMZ+NAx/zSx4QLH+x70WRPviCsXUCxKdL8Cm5EHr+NDIYL+Tclcosms1LKHtSv+CUMp1nmXsOSZxpkW7Ztu2Q4iwkOnaTsWg0KZjukQxLVGj6q4lh6+C1UXV3F5qB5peGObHXUTY6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pwS6wxtxzfir+c0ysyPet64hXP4uc+VHcEEin5Vt7BM=;
 b=euyEVDp3mXzbIYmj84b6teI5pBDdz9Op2XiBlp0ANWZ9URaaFjEEC7b816JplkPNyJ7oGnvirKC8iy40O2LhTF9CpKoccADD5v56UUczKoQzgCvvMgJz5RmGWhxPfNyHNUUKMAlEe/5/OZEqpluDE4Gb7IJKoSvP7OtapgYXIpeiRlhMZf7eaMI2+DAOJx4mGL5ccn05SroFqjoec9sOI8xgAXVF5ZaByL9VxlmZGjI7ZzU9YqoFMq78bly5m+lu4vVpW9jFFmp+PLqKmmXZvvRELKCPCt5YGWzdVp+A9sRY0nrbraEMtUGx/CAdPNdpLDgea7VAkpNvyza1NFgqNg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8be3763f-a4b6-8962-9183-a2a9c3509726@suse.com>
Date: Tue, 14 Nov 2023 10:13:27 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH v6 4/5] [FUTURE] xen/arm: enable vPCI for domUs
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
 <20231113222118.825758-5-stewart.hildebrand@amd.com>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <20231113222118.825758-5-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0022.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f1::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7531:EE_
X-MS-Office365-Filtering-Correlation-Id: a49a2f11-d65b-4707-ac91-08dbe4f1f724
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1jlALgRpo3QYFtYo6I73OaSe223l+zkRniYoCRFtg/ZDl5d0p0UMbIN4/eYzP+jTvj/X9lVSwVzxWzRNB5uRXk9BQ8SM26bE8Nlmzf+UeUqTaSIn05NkE8ssdV6Zm0nk27BzkhpvLOPFpMabVU2DnCuqEbaSuI2HDq4mNHGucU/JvlTB5pUwwK701cCRiIaLePsfSdtwfZOoEJGcRImH0KbO3C2HgLrcd/gdo5NE9fnSTUkcIbibJ30EsdknlWqNsSfLqNehd/WoANdZzILvtkXMKce/LHnOLiiDXUaDyVdbER5wNj3LFQoBwBcogjN/8+YzcDq/Lo8j6H0XKw9CZ2LoQCJXLlD2twi0WsLzV6oC6zjMiOZa5JgRhpu9rm24rQdtK2EG+OSjsKbyiwcdqN6psqMPHwRzCNpmcCgOGbRvOxbNv3VRTkEmw5ErUtzadQ4JC022xANNn7gvXE8vtlUgvVzAvqBdDCYmw53oxjsBqtQaKxNuehVEJDt0mW1DMF0IvCxZyPi16d1P/8nYWSnDp/wP6P9GYG2G4PRS32+bczWeccUwHFasjpRAd2QBvXjzfvmck+BbeqUYYfxisGr4qjbr+RXT+4H00sydPBdDJnnX0u18ztlpecifsBXpxn1EzXuJ1waTvOsENFZ5jA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(39860400002)(396003)(366004)(346002)(230922051799003)(1800799009)(64100799003)(451199024)(186009)(2616005)(6512007)(26005)(6486002)(478600001)(86362001)(31696002)(36756003)(8676002)(8936002)(4326008)(41300700001)(2906002)(7416002)(5660300002)(4744005)(66556008)(54906003)(66476007)(66946007)(6916009)(316002)(53546011)(6506007)(38100700002)(83380400001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bVcwaUdHTUp6M251cTkrN2Fsa0hHdXh6NWM0ck85QXNra0NMT3NVaDFCVWkv?=
 =?utf-8?B?ZWw5TENNb0JvSkFuYVJFYm4rQy9KTnhqK3FqTGZ3c1d4TWxXN2lUb09ya3dN?=
 =?utf-8?B?MUJQalpRclBmM2lZQ1ZHbjBoNmEySUZabmk5VzM3MnNKQklwZTRRMGlsQzUv?=
 =?utf-8?B?cU1xeXYwSEhBWm1lakx4Z3A1enoyaW10bXJ6UERiaTBBMU5XZFR3Um0wLzZP?=
 =?utf-8?B?YWlTRDlCTEM0TjN5bElKWFB5QnhNV3dFNG96amMxaXhmcnNmckRudjFPaEdm?=
 =?utf-8?B?aXNGRDV4ZW5aWnovZko5QytrSExteVV2QXF5MGFVVlljS0U4NUV0ZmdhNyt4?=
 =?utf-8?B?WDQ4N0c5ZldHR1NuN2xoWEFGK2M4c2MwNitkL0xmcmxCclRtU1JacVQ5OC9H?=
 =?utf-8?B?VzNyQjAwNGlxTGYxL3JySTFCYUZZZm4xbVl5WDJVQyt5U0FucEZuYkdic3VV?=
 =?utf-8?B?KzlpU0NwODJrV3FOOUlYbTZLUUh4c2gyMEdMeXprYXNuZ0gyY2dGaDRsMzU3?=
 =?utf-8?B?OFlocC9hZUJiOER5YnlCblJmQVlnRWxFZDJsNno2ZGpQRVJKUTdVL1VMRDdi?=
 =?utf-8?B?VjdjbTBmbkpQd09aZjhPY1JnZGU0cHRVL0orSjFyWnV1cDRxR0luNEk3TTg0?=
 =?utf-8?B?UzhtSlZMODNRejJ2RGdrcm81Y09qZDZnaW5KMmRhaGNyOTlBWkt1VU50N1B4?=
 =?utf-8?B?alVkcDdUVklKeW5pU210LzljWWNoNjU4L0tlUTRWY3JuOWM3b0dVdmtHZUNs?=
 =?utf-8?B?aDdzbHEzTldUWU43ZUFlZkpiQ1VYVXB0ZW9pU3c1VktaZVJRSWpiRThtVG1X?=
 =?utf-8?B?YnFGblZUbHgvUHpPbng1SXhFZm9sRS9nT1JRRUdwb1BZcjBtT3FyREF0ZFY1?=
 =?utf-8?B?RTQvMEYwMmxyYXhoOU1Fam5WMEdzdlRkN2hscVZzNkd5Uitzek5QQ0liWlAx?=
 =?utf-8?B?eGtFNjZucWxNTjRTS3BXZThSYVZCVWtwamFqS0QvUWZEblM4Q2xBbm5lTmZR?=
 =?utf-8?B?WEdvK1B2ZjBsOTVScWRXWmNyL2c1RktDa1puU1F4T1hKREd0WWpNa0pSNGZL?=
 =?utf-8?B?Yy90cVIwUjhuc09PaXVMMTF6V1B0d0dGbHluRGtKV00yQWFuRXhFMkZLaTZr?=
 =?utf-8?B?d1dWU0hES1A0K2VZMS9rOTRqZW9pVlMvQm5aMmx6QnlMMkhDMFQxN1U3akdH?=
 =?utf-8?B?eXV5ZWNMcm4rZlVLN3NuSlV3T2hrUmhROXkzNGtkemltQ09taG10N1FaOG80?=
 =?utf-8?B?TDdlcWt5djBOOGVSZFhCTTdFaFVrYUszRFNPLzNvZkszKzlTWVNuRXFHb1Y4?=
 =?utf-8?B?bEpUZWhNY3oyZ0R4b1R6YlM1Vi81bE1pNTFScnNVTUcrK0RCSkRuTjNadCtq?=
 =?utf-8?B?THY1MzNFWjFFS3BYc0N1SFF4KzV1cTV1bFZ3S3dIMGY0RGphT3BSYlBXMzFR?=
 =?utf-8?B?OFVKaEJaT1hPcmVLNlRXMUtpQlBqUDIzeVoydHM0clRjNDNWSWpiT2M1TkZX?=
 =?utf-8?B?ZHhqM2JEWng0WlFNK3dudWEwTEdMWE1iMHU4c1ZrNHhjRkU5YXdrdHB5bkR6?=
 =?utf-8?B?cnZDTit5MUxMZTNJSEliMVdWTXlnS0VMWVJjWWJuMFREbUpFWWRzMU1SOFJq?=
 =?utf-8?B?ckVYRXlKeG5KNElILzFLT0FYMHl4R0s2UlpUV0daMkJtWWVNTHJaU09PbjBo?=
 =?utf-8?B?RkpxWGlRK01Ta0lFK2JNTFRQNnFpaTVScThrK1hndkVOdGo2NmEzYlJwWFF0?=
 =?utf-8?B?ZnRIL0Y4MXRFTW9uYzZVRFljSExGcjVNWk02RTFBQzRMclpXYVZjaTJKbU4z?=
 =?utf-8?B?ekJBWU9BYkdJOUFaendUZWZmQUtSTmFBRHkxdzhpSXBIYTZnRnRIS3lGbXNm?=
 =?utf-8?B?OElNSWtFMTk5MUtXT3dJR2IxK1k0UDhhb3pLR2FXNm9TdUFrdmFaR0h4UHJk?=
 =?utf-8?B?Z2w1TmFJbjFtN3A3MldoVnVEakhpMWpHcVJvMzlIS0xjNUFDZkpicUh4Z0hQ?=
 =?utf-8?B?Zmx1SFpaWlJLT05LNEI2TmpBVXlJU2Z0K0xJc2hqdkZ6K3dJcDh1SFhDU1Rk?=
 =?utf-8?B?TlJPUDRVUnkybHBycGVZVjlhVCtFZ3JYdWd0S2t4dWFpVkg1UjVOWFBzdFhw?=
 =?utf-8?Q?lifwA2B9jn0aads0Qpx9/Qj1N?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a49a2f11-d65b-4707-ac91-08dbe4f1f724
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 09:13:28.9237
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +DrU+q9AmNh+A666agTWblqSPRw2Zhf/XysAAV1pLuk3FVWrwXCF0By7mrmOe/hoeSs1XHV4DYBfcDv5hj960A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7531

On 13.11.2023 23:21, Stewart Hildebrand wrote:
> --- a/xen/arch/x86/include/asm/domain.h
> +++ b/xen/arch/x86/include/asm/domain.h
> @@ -503,6 +503,8 @@ struct arch_domain
>  #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
>  #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
>  
> +#define arch_needs_vpci(d) ({ (void)(d); false; })

See my comments on the v5 thread on both this and ...

> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -1542,6 +1542,18 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
>      pcidevs_unlock();
>  }
>  
> +static bool needs_vpci(const struct domain *d)
> +{
> +    if ( is_hardware_domain(d) )
> +        return false;

... this. (It is generally a good idea to wait a little with sending new
versions, when you can't be sure yet whether the earlier discussion has
settled.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:17:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:17:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632271.986497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pYP-0004Us-Ag; Tue, 14 Nov 2023 09:17:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632271.986497; Tue, 14 Nov 2023 09:17: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 1r2pYP-0004Ul-6K; Tue, 14 Nov 2023 09:17:53 +0000
Received: by outflank-mailman (input) for mailman id 632271;
 Tue, 14 Nov 2023 09:17: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 1r2pYO-0004Uf-3d
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:17: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 1r2pYN-0001l7-76; Tue, 14 Nov 2023 09:17:51 +0000
Received: from gw1.octic.net ([88.97.20.152] 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 1r2pYN-0006AL-1L; Tue, 14 Nov 2023 09:17: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=/1D3qyzehXU4kM6ToGdwfjf+SyBIsoXqWedrqNQKB6c=; b=Sht3Y88QP7JYWNSKclE+6LhDGH
	3UWOMSQHcL0TUfZE1jWHlyhjWRvfyLshC1fzCnxVDNZcyWvtmbXZR+unvFMDLqm3qTgXhXFBuP/r6
	OhRaJehkVioD7S8eA/CcQsL8zTLdsx+rigKjpKDR99f7AMzQDBm5ih4+ccnxabBes48I=;
Message-ID: <b62a7806-6471-455c-972e-0963f2358562@xen.org>
Date: Tue, 14 Nov 2023 09:17:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] tools/xenstored: remove "-D" command line parameter
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-2-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231113124309.10862-2-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/11/2023 12:43, Juergen Gross wrote:
> Remove the "-D" command parameter, which is disabling initialization of
> the mandatory domain data handling.

I looked at the code when -D was introduced. It is not clear how it was 
working back then.

> 
> 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 Tue Nov 14 09:20:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:20:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632273.986506 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pax-0006as-Lc; Tue, 14 Nov 2023 09:20:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632273.986506; Tue, 14 Nov 2023 09:20: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 1r2pax-0006al-Ia; Tue, 14 Nov 2023 09:20:31 +0000
Received: by outflank-mailman (input) for mailman id 632273;
 Tue, 14 Nov 2023 09: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2paw-0006aZ-BK
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:20:30 +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 0da64af3-82cf-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 10:20:29 +0100 (CET)
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 B8838218E2;
 Tue, 14 Nov 2023 09:20: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 86DD213460;
 Tue, 14 Nov 2023 09:20:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id vAstH9o7U2X/DAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 09:20: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: 0da64af3-82cf-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699953626; 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:autocrypt:autocrypt;
	bh=iTaksS8tNnf6MJyxvxcFih0QWpZ+3szm0JHg0QsJ8mc=;
	b=Jf5wJHr/z4eKXcukn0E/f0R+haUiC/wvd9BqKqdV4Sm/0Tg6YjR/FXjB7Wp3M6bWzz3gLC
	lWKF/Lr2SMHIlboFMo/m42O0ZtEd8KcJy3Gb74J2Vi29WrF3TCBjDGV60pQrt1GqWUdjuk
	AUS/+UUyEvc14AEKImijFIy0Ob87twY=
Message-ID: <47cb32ab-d842-47aa-80fc-77cd61ee25bb@suse.com>
Date: Tue, 14 Nov 2023 10:20:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 28/29] tools/xenstored: support complete log
 capabilities in stubdom
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-29-jgross@suse.com>
 <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
 <f9e8900b-10a9-4c88-bc99-118c61b549d7@suse.com>
 <829d9031-058f-47ea-95bc-d41b4b439690@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <829d9031-058f-47ea-95bc-d41b4b439690@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------zvS5W8SdCprTkVpjbBmqj7CG"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -8.99
X-Spamd-Result: default: False [-8.99 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 BAYES_HAM(-3.00)[100.00%];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 FREEMAIL_CC(0.00)[xen.org,citrix.com,gmail.com];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------zvS5W8SdCprTkVpjbBmqj7CG
Content-Type: multipart/mixed; boundary="------------0sKf8N0GlesIQGJmxgvt8Bah";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Message-ID: <47cb32ab-d842-47aa-80fc-77cd61ee25bb@suse.com>
Subject: Re: [PATCH v2 28/29] tools/xenstored: support complete log
 capabilities in stubdom
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-29-jgross@suse.com>
 <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
 <f9e8900b-10a9-4c88-bc99-118c61b549d7@suse.com>
 <829d9031-058f-47ea-95bc-d41b4b439690@xen.org>
In-Reply-To: <829d9031-058f-47ea-95bc-d41b4b439690@xen.org>

--------------0sKf8N0GlesIQGJmxgvt8Bah
Content-Type: multipart/mixed; boundary="------------W30FFWlnh7Rge3jRCcvRY2Xf"

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

T24gMTQuMTEuMjMgMTA6MDUsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAxNC8xMS8yMDIzIDA2OjQ1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTMuMTEu
MjMgMjM6NDAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiBIaSBKdWVyZ2VuLA0KPj4+DQo+
Pj4gT24gMTAvMTEvMjAyMyAxNjowOCwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gV2l0
aCA5cGZzIGJlaW5nIGZ1bGx5IGF2YWlsYWJsZSBpbiBYZW5zdG9yZS1zdHViZG9tIG5vdywg
dGhlcmUgaXMgbm8NCj4+Pj4gcmVhc29uIHRvIG5vdCBmdWxseSBzdXBwb3J0IGFsbCBsb2dn
aW5nIGNhcGFiaWxpdGllcyBpbiBzdHViZG9tLg0KPj4+Pg0KPj4+PiBPcGVuIHRoZSBsb2dm
aWxlIG9uIHN0dWJkb20gb25seSBhZnRlciB0aGUgOXBmcyBmaWxlIHN5c3RlbSBoYXMgYmVl
bg0KPj4+PiBtb3VudGVkLg0KPj4+Pg0KPj4+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdy
b3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+Pj4+IFJldmlld2VkLWJ5OiBKYXNvbiBBbmRyeXVr
IDxqYW5kcnl1a0BnbWFpbC5jb20+DQo+Pj4+IC0tLQ0KPj4+PiDCoCB0b29scy9ob3RwbHVn
L0xpbnV4L2xhdW5jaC14ZW5zdG9yZS5pbiB8wqAgMSArDQo+Pj4+IMKgIHRvb2xzL3hlbnN0
b3JlZC9jb250cm9sLmPCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDMwICsrKysrKysr
KysrKystLS0tLS0tLS0tLS0tDQo+Pj4+IMKgIHRvb2xzL3hlbnN0b3JlZC9taW5pb3MuY8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDMgKysrDQo+Pj4+IMKgIDMgZmlsZXMg
Y2hhbmdlZCwgMTkgaW5zZXJ0aW9ucygrKSwgMTUgZGVsZXRpb25zKC0pDQo+Pj4+DQo+Pj4+
IGRpZmYgLS1naXQgYS90b29scy9ob3RwbHVnL0xpbnV4L2xhdW5jaC14ZW5zdG9yZS5pbiAN
Cj4+Pj4gYi90b29scy9ob3RwbHVnL0xpbnV4L2xhdW5jaC14ZW5zdG9yZS5pbg0KPj4+PiBp
bmRleCBlODU0Y2ExZWI4Li5kYTRlZWNhN2M1IDEwMDY0NA0KPj4+PiAtLS0gYS90b29scy9o
b3RwbHVnL0xpbnV4L2xhdW5jaC14ZW5zdG9yZS5pbg0KPj4+PiArKysgYi90b29scy9ob3Rw
bHVnL0xpbnV4L2xhdW5jaC14ZW5zdG9yZS5pbg0KPj4+PiBAQCAtOTgsNiArOTgsNyBAQCB0
ZXN0IC1mIEBDT05GSUdfRElSQC9AQ09ORklHX0xFQUZfRElSQC94ZW5jb21tb25zICYmIC4g
DQo+Pj4+IEBDT05GSUdfRElSQC9AQ09ORklHX0xFQUYNCj4+Pj4gwqDCoMKgwqDCoCBbIC16
ICIkWEVOU1RPUkVfRE9NQUlOX1NJWkUiIF0gJiYgWEVOU1RPUkVfRE9NQUlOX1NJWkU9OA0K
Pj4+PiDCoMKgwqDCoMKgIFhFTlNUT1JFX0RPTUFJTl9BUkdTPSIkWEVOU1RPUkVfRE9NQUlO
X0FSR1MgLS1tZW1vcnkgDQo+Pj4+ICRYRU5TVE9SRV9ET01BSU5fU0laRSINCj4+Pj4gwqDC
oMKgwqDCoCBbIC16ICIkWEVOU1RPUkVfTUFYX0RPTUFJTl9TSVpFIiBdIHx8IA0KPj4+PiBY
RU5TVE9SRV9ET01BSU5fQVJHUz0iJFhFTlNUT1JFX0RPTUFJTl9BUkdTIC0tbWF4bWVtICRY
RU5TVE9SRV9NQVhfRE9NQUlOX1NJWkUiDQo+Pj4+ICvCoMKgwqAgWyAteiAiJFhFTlNUT1JF
RF9UUkFDRSIgXSB8fCANCj4+Pj4gWEVOU1RPUkVfRE9NQUlOX0FSR1M9IiRYRU5TVE9SRV9E
T01BSU5fQVJHUyAtVCB4ZW5zdG9yZWQtdHJhY2UubG9nIg0KPj4+DQo+Pj4gSSBhbSBwcm9i
YWJseSBtaXNzaW5nIHNvbWV0aGluZywgYnV0IGFueSByZWFzb24gdG8gbm90IHVzZSANCj4+
PiBAWEVOX0xPR19ESVJAL3hlbnN0b3JlZC10cmFjZS5sb2cgYXMgd2UgZG8gZm9yIHhlbnN0
b3JlZD8NCj4+DQo+PiBZZXMuIFN0dWJkb20gaGFzIG5vIGFjY2VzcyB0byBYRU5fTE9HX0RJ
Ui4NCj4gDQo+IE9rLiBUaGlzIHJlc3RyaWN0aW9uIGlzIG5vdCB0aGF0IG9idmlvdXMuLi4g
VGhlIGRvY3VtZW50YXRpb24gaW4gDQo+IHN5c2NvbmZpZy54ZW5jb21tb25zLmluIGltcGxp
ZXMgdGhhdCBpdCB3aWxsIGJlIHdyaXR0ZW4gaW4gWEVOX0xPR19ESVI6DQo+IA0KPiAjIyBU
eXBlOiBzdHJpbmcNCj4gIyMgRGVmYXVsdDogIiINCj4gIw0KPiAjIEFkZGl0aW9uYWwgY29t
bWFuZGxpbmUgYXJndW1lbnRzIHRvIHN0YXJ0IHhlbnN0b3JlZCwNCj4gIyBsaWtlICItLXRy
YWNlLWZpbGUgQFhFTl9MT0dfRElSQC94ZW5zdG9yZWQtdHJhY2UubG9nIg0KPiAjIFNlZSAi
QHNiaW5kaXJAL3hlbnN0b3JlZCAtLWhlbHAiIGZvciBwb3NzaWJsZSBvcHRpb25zLg0KPiAj
IE9ubHkgZXZhbHVhdGVkIGlmIFhFTlNUT1JFVFlQRSBpcyAiZGFlbW9uIi4NCj4gWEVOU1RP
UkVEX0FSR1M9DQo+IA0KPiBBbHNvLCB3ZSBhcmUgc2F5aW5nIHRoaXMgaXMgb25seSBzdXBw
b3J0ZWQgd2hlbiBYZW5zdG9yZWQgaXMgZGFlbW9uaXplZC4gU28gSSANCj4gdGhpbmsgdGhl
cmUgYXJlIHNvbWUgZG9jdW1lbnRhdGlvbiB1cGRhdGUgbmVjZXNzYXJ5IGluIHRoaXMgcGF0
Y2guDQoNClRoaXMgaXMgZm9yIHRoZSBkYWVtb24uIEFuZCB0aGUgZG9jdW1lbnRhdGlvbiBl
eGFtcGxlIGhlcmUgaXMgdXNpbmcgYW4NCmFic29sdXRlIGZpbGVuYW1lLCBzbyB0aGlzIGlz
IHZlcnkgY2xlYXIgd2hlcmUgdGhlIHRyYWNlIGZpbGUgd2lsbCBiZSB3cml0dGVuLg0KDQpG
b3Igc3R1YmRvbSBhIHJlbGF0ZWQgcGFyYW1ldGVyICJYRU5TVE9SRV9ET01BSU5fQVJHUyIg
aXMgYXZhaWxhYmxlLiBJIGNhbiBhZGQNCmEgc2VudGVuY2UgdG8gdGhlIGV4cGxhbmF0aW9u
IG9mIHRoYXQgcGFyYW1ldGVyIGRlc2NyaWJpbmcgc2V0dGluZyBvZiBhDQpwb3NzaWJsZSB0
cmFjZSBmaWxlIHNwZWNpZmljYXRpb24uDQoNCg0KSnVlcmdlbg0KDQo=
--------------W30FFWlnh7Rge3jRCcvRY2Xf
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-----

--------------W30FFWlnh7Rge3jRCcvRY2Xf--

--------------0sKf8N0GlesIQGJmxgvt8Bah--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTO9oFAwAAAAAACgkQsN6d1ii/Ey9j
8Af/dMJ+z4MpHRRjLq0K19hsvNnKCGufqyAbMPwapPqj+s7tbr5xabiDs1WVItV81KWugvnB6gef
mrm2pNOhQZY9KzLJEgweuZwu9MNj/d9ndiHrVO8FH0kjdIEHf1IEv76qeNgnQSIzfjVAo8eOdIAm
rlAdhwY8zcOeVWAbnSnZ+Psxo/y07LCvdbiiZ/7vI/s451dR8mgkwwqCheH8wxErjSoNXQkORzsC
cNtyuOvwmYF9A5emmEEAyn94rR/QyIGV66xMv9pZogN80alSVRxwyNg7BjPqJ1UENt5xrkCHz5Wv
oWEAW1RXFdruENX7F1/jEDTII8LM2BqZeNQOv//Dew==
=ea/x
-----END PGP SIGNATURE-----

--------------zvS5W8SdCprTkVpjbBmqj7CG--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:27:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:27:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632277.986516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2phI-0000Zl-CD; Tue, 14 Nov 2023 09:27:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632277.986516; Tue, 14 Nov 2023 09: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 1r2phI-0000Ze-9O; Tue, 14 Nov 2023 09:27:04 +0000
Received: by outflank-mailman (input) for mailman id 632277;
 Tue, 14 Nov 2023 09:27: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2phH-0000YF-Sp
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:27: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 f76b828e-82cf-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 10:27:01 +0100 (CET)
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 5068D21898;
 Tue, 14 Nov 2023 09:26: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 1917D13416;
 Tue, 14 Nov 2023 09:26:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id o30VBGE9U2UVEAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 09:26: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: f76b828e-82cf-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699954017; 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:autocrypt:autocrypt;
	bh=fESEarvq/ZotGomgDSqLljUxtSwEMQa0p34ZO1VdIyo=;
	b=S7FN1RpfZbWh2kw5hqPTQK+2qlNKZdfZr5IEH8tFlHXzsdMEsvDoDPVzo+bLJzxgvz7WIS
	KYUHG8uOQkjjydETC+iqN23J62HpLYSNh10+XZqHwsbuICbwEKonQy1ZFSKYSt/ziYZ5DZ
	Z5YghSjRulJ9qe2H1LbddvpA+vqctAc=
Message-ID: <f15e5a60-e1b0-445b-9374-f8feda10f0b0@suse.com>
Date: Tue, 14 Nov 2023 10:26:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename
 handling
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-28-jgross@suse.com>
 <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
 <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
 <2f024e6b-8f4b-4784-a1ef-1acb04c5a4dc@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <2f024e6b-8f4b-4784-a1ef-1acb04c5a4dc@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------O2mVEr1GPjzi7wHuphwM0hxT"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -8.99
X-Spamd-Result: default: False [-8.99 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 BAYES_HAM(-3.00)[100.00%];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 FREEMAIL_CC(0.00)[xen.org,citrix.com,gmail.com];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------O2mVEr1GPjzi7wHuphwM0hxT
Content-Type: multipart/mixed; boundary="------------S2jAiSRMSCht9HdtL8vgjA8T";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Message-ID: <f15e5a60-e1b0-445b-9374-f8feda10f0b0@suse.com>
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename
 handling
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-28-jgross@suse.com>
 <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
 <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
 <2f024e6b-8f4b-4784-a1ef-1acb04c5a4dc@xen.org>
In-Reply-To: <2f024e6b-8f4b-4784-a1ef-1acb04c5a4dc@xen.org>

--------------S2jAiSRMSCht9HdtL8vgjA8T
Content-Type: multipart/mixed; boundary="------------o7Dlm7ZfGI5Fl2i5Ctl4boGx"

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

T24gMTQuMTEuMjMgMTA6MTAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDE0LzExLzIwMjMgMDY6NDUsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAxMy4xMS4yMyAyMzoyNSwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpIEp1ZXJnZW4s
DQo+Pj4NCj4+PiBPbiAxMC8xMS8yMDIzIDE2OjA4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4+PiBBZGQgc29tZSBoZWxwZXJzIGZvciBoYW5kbGluZyBmaWxlbmFtZXMgd2hpY2ggbWln
aHQgbmVlZCBkaWZmZXJlbnQNCj4+Pj4gaW1wbGVtZW50YXRpb25zIGJldHdlZW4gc3R1YmRv
bSBhbmQgZGFlbW9uIGVudmlyb25tZW50czoNCj4+Pj4NCj4+Pj4gLSBleHBhbnNpb24gb2Yg
cmVsYXRpdmUgZmlsZW5hbWVzICh0aG9zZSBhcmUgbm90IHJlYWxseSBkZWZpbmVkIHRvZGF5
LA0KPj4+PiDCoMKgIGp1c3QgZXhwYW5kIHRoZW0gdG8gYmUgcmVsYXRpdmUgdG8gL3Zhci9s
aWIveGVuL3hlbnN0b3JlKQ0KPj4+PiAtIGV4cGFuc2lvbiBvZiB4ZW5zdG9yZV9kYWVtb25f
cnVuZGlyKCkgKHVzZWQgZS5nLiBmb3Igc2F2aW5nIHRoZSBzdGF0ZQ0KPj4+PiDCoMKgIGZp
bGUgaW4gY2FzZSBvZiBsaXZlIHVwZGF0ZSAtIG5lZWRzIHRvIGJlIHVuY2hhbmdlZCBpbiB0
aGUgZGFlbW9uDQo+Pj4+IMKgwqAgY2FzZSwgYnV0IHNob3VsZCByZXN1bHQgaW4gL3Zhci9s
aWIveGVuL3hlbnN0b3JlIGZvciBzdHViZG9tKQ0KPj4+Pg0KPj4+PiBTaWduZWQtb2ZmLWJ5
OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+Pj4+IFJldmlld2VkLWJ5OiBK
YXNvbiBBbmRyeXVrIDxqYW5kcnl1a0BnbWFpbC5jb20+DQo+Pj4+IC0tLQ0KPj4+PiDCoCB0
b29scy94ZW5zdG9yZWQvY29yZS5jwqDCoMKgwqDCoCB8IDkgKysrKysrKystDQo+Pj4+IMKg
IHRvb2xzL3hlbnN0b3JlZC9jb3JlLmjCoMKgwqDCoMKgIHwgMyArKysNCj4+Pj4gwqAgdG9v
bHMveGVuc3RvcmVkL2x1X2RhZW1vbi5jIHwgNCArKy0tDQo+Pj4+IMKgIHRvb2xzL3hlbnN0
b3JlZC9taW5pb3MuY8KgwqDCoCB8IDUgKysrKysNCj4+Pj4gwqAgdG9vbHMveGVuc3RvcmVk
L3Bvc2l4LmPCoMKgwqDCoCB8IDUgKysrKysNCj4+Pj4gwqAgNSBmaWxlcyBjaGFuZ2VkLCAy
MyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPj4+Pg0KPj4+PiBkaWZmIC0tZ2l0
IGEvdG9vbHMveGVuc3RvcmVkL2NvcmUuYyBiL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMNCj4+
Pj4gaW5kZXggNGE5ZDg3NGYxNy4uNzdiZWZkMjRjOSAxMDA2NDQNCj4+Pj4gLS0tIGEvdG9v
bHMveGVuc3RvcmVkL2NvcmUuYw0KPj4+PiArKysgYi90b29scy94ZW5zdG9yZWQvY29yZS5j
DQo+Pj4+IEBAIC0xNTgsNiArMTU4LDEzIEBAIHZvaWQgdHJhY2VfZGVzdHJveShjb25zdCB2
b2lkICpkYXRhLCBjb25zdCBjaGFyICp0eXBlKQ0KPj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAg
dHJhY2UoIm9iajogREVTVFJPWSAlcyAlcFxuIiwgdHlwZSwgZGF0YSk7DQo+Pj4+IMKgIH0N
Cj4+Pj4gK2NoYXIgKmFic29sdXRlX2ZpbGVuYW1lKGNvbnN0IHZvaWQgKmN0eCwgY29uc3Qg
Y2hhciAqZmlsZW5hbWUpDQo+Pj4NCj4+PiBDYW4gdGhlIHJldHVybiBiZSBjb25zdD8NCj4+
DQo+PiBJJ2xsIGhhdmUgYSBsb29rLg0KPj4NCj4+Pg0KPj4+PiArew0KPj4+PiArwqDCoMKg
IGlmIChmaWxlbmFtZVswXSAhPSAnLycpDQo+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4g
dGFsbG9jX2FzcHJpbnRmKGN0eCwgWEVOU1RPUkVfTElCX0RJUiAiLyVzIiwgZmlsZW5hbWUp
Ow0KPj4+DQo+Pj4gTG9va2luZyBhdCB0aGUgcmVzdCBvZiBwYXRjaCwgeW91IHdpbGwgYmUg
dXNpbmcgeGVuc3RvcmVfcnVuZGlyKCkuIEkgd29uZGVyIA0KPj4+IHdoZXRoZXIgaXQgd291
bGQgbm90IGJlIGJldHRlciB0byBzd2l0Y2ggdG8geGVuc3RvcmVfcnVuZGlyKCkgc28uLi4N
Cj4+Pg0KPj4+PiArwqDCoMKgIHJldHVybiB0YWxsb2Nfc3RyZHVwKGN0eCwgZmlsZW5hbWUp
Ow0KPj4+PiArfQ0KPj4+PiArDQo+Pj4+IMKgIC8qKg0KPj4+PiDCoMKgICogU2lnbmFsIGhh
bmRsZXIgZm9yIFNJR0hVUCwgd2hpY2ggcmVxdWVzdHMgdGhhdCB0aGUgdHJhY2UgbG9nIGlz
IHJlb3BlbmVkDQo+Pj4+IMKgwqAgKiAoaW4gdGhlIG1haW4gbG9vcCkuwqAgQSBzaW5nbGUg
Ynl0ZSBpcyB3cml0dGVuIHRvIHJlb3Blbl9sb2dfcGlwZSwgdG8gDQo+Pj4+IGF3YWtlbg0K
Pj4+PiBAQCAtMjk4Myw3ICsyOTkwLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFy
Z3ZbXSkNCj4+Pj4gwqDCoMKgwqDCoCBzaWduYWwoU0lHSFVQLCB0cmlnZ2VyX3Jlb3Blbl9s
b2cpOw0KPj4+PiDCoMKgwqDCoMKgIGlmICh0cmFjZWZpbGUpDQo+Pj4+IC3CoMKgwqDCoMKg
wqDCoCB0cmFjZWZpbGUgPSB0YWxsb2Nfc3RyZHVwKE5VTEwsIHRyYWNlZmlsZSk7DQo+Pj4+
ICvCoMKgwqDCoMKgwqDCoCB0cmFjZWZpbGUgPSBhYnNvbHV0ZV9maWxlbmFtZShOVUxMLCB0
cmFjZWZpbGUpOw0KPj4+PiDCoCAjaWZuZGVmIE5PX0xJVkVfVVBEQVRFDQo+Pj4+IMKgwqDC
oMKgwqAgLyogUmVhZCBzdGF0ZSBpbiBjYXNlIG9mIGxpdmUgdXBkYXRlLiAqLw0KPj4+PiBk
aWZmIC0tZ2l0IGEvdG9vbHMveGVuc3RvcmVkL2NvcmUuaCBiL3Rvb2xzL3hlbnN0b3JlZC9j
b3JlLmgNCj4+Pj4gaW5kZXggYTBkMzU5Mjk2MS4uNTFlMWRkZGIyMiAxMDA2NDQNCj4+Pj4g
LS0tIGEvdG9vbHMveGVuc3RvcmVkL2NvcmUuaA0KPj4+PiArKysgYi90b29scy94ZW5zdG9y
ZWQvY29yZS5oDQo+Pj4+IEBAIC0zOTMsNiArMzkzLDkgQEAgdm9pZCBlYXJseV9pbml0KHZv
aWQpOw0KPj4+PiDCoCB2b2lkIG1vdW50XzlwZnModm9pZCk7DQo+Pj4+IMKgICNlbmRpZg0K
Pj4+PiArY29uc3QgY2hhciAqeGVuc3RvcmVfcnVuZGlyKHZvaWQpOw0KPj4+PiArY2hhciAq
YWJzb2x1dGVfZmlsZW5hbWUoY29uc3Qgdm9pZCAqY3R4LCBjb25zdCBjaGFyICpmaWxlbmFt
ZSk7DQo+Pj4+ICsNCj4+Pj4gwqAgLyogV3JpdGUgb3V0IHRoZSBwaWRmaWxlICovDQo+Pj4+
IMKgIHZvaWQgd3JpdGVfcGlkZmlsZShjb25zdCBjaGFyICpwaWRmaWxlKTsNCj4+Pj4gZGlm
ZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC9sdV9kYWVtb24uYyBiL3Rvb2xzL3hlbnN0b3Jl
ZC9sdV9kYWVtb24uYw0KPj4+PiBpbmRleCA3MWJjYWJhZGQzLi42MzUxMTExYWIwIDEwMDY0
NA0KPj4+PiAtLS0gYS90b29scy94ZW5zdG9yZWQvbHVfZGFlbW9uLmMNCj4+Pj4gKysrIGIv
dG9vbHMveGVuc3RvcmVkL2x1X2RhZW1vbi5jDQo+Pj4+IEBAIC0yNCw3ICsyNCw3IEBAIHZv
aWQgbHVfZ2V0X2R1bXBfc3RhdGUoc3RydWN0IGx1X2R1bXBfc3RhdGUgKnN0YXRlKQ0KPj4+
PiDCoMKgwqDCoMKgIHN0YXRlLT5zaXplID0gMDsNCj4+Pj4gwqDCoMKgwqDCoCBzdGF0ZS0+
ZmlsZW5hbWUgPSB0YWxsb2NfYXNwcmludGYoTlVMTCwgIiVzL3N0YXRlX2R1bXAiLA0KPj4+
PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHhlbnN0b3Jl
X2RhZW1vbl9ydW5kaXIoKSk7DQo+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgeGVuc3RvcmVfcnVuZGlyKCkpOw0KPj4+DQo+Pj4gLi4uIGNhbGwg
YW5kIC4uLg0KPj4+DQo+Pj4+IMKgwqDCoMKgwqAgaWYgKCFzdGF0ZS0+ZmlsZW5hbWUpDQo+
Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBiYXJmKCJBbGxvY2F0aW9uIGZhaWx1cmUiKTsNCj4+
Pj4gQEAgLTY1LDcgKzY1LDcgQEAgRklMRSAqbHVfZHVtcF9vcGVuKGNvbnN0IHZvaWQgKmN0
eCkNCj4+Pj4gwqDCoMKgwqDCoCBpbnQgZmQ7DQo+Pj4+IMKgwqDCoMKgwqAgZmlsZW5hbWUg
PSB0YWxsb2NfYXNwcmludGYoY3R4LCAiJXMvc3RhdGVfZHVtcCIsDQo+Pj4+IC3CoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeGVuc3RvcmVfZGFlbW9uX3J1bmRpcigp
KTsNCj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB4ZW5zdG9y
ZV9ydW5kaXIoKSk7DQo+Pj4NCj4+PiAuLi4gdGhpcyBvbmUgY291bGQgYmUgcmVwbGFjZWQg
d2l0aCBhYnNvbHV0ZV9maWxlbmFtZSgpLg0KPj4NCj4+IE5vLCBJIGRvbid0IHRoaW5rIHRo
aXMgaXMgYSBnb29kIGlkZWEuDQo+Pg0KPj4gSSBkb24ndCB3YW50IHRoZSBkYWVtb24gdG8g
c3RvcmUgdHJhY2UgZmlsZXMgc3BlY2lmaWVkIGFzIHJlbGF0aXZlIGZpbGVzDQo+PiB0byBi
ZSBzdG9yZWQgaW4gL3Zhci9ydW4veGVuLCB3aGlsZSBJIHdhbnQgYWxsIGZpbGVzIG9mIHRo
ZSBzdHViZG9tIHRvIGJlDQo+PiBzdG9yZWQgdW5kZXIgL3Zhci9saWIveGVuLg0KPiANCj4g
V2h5PyBUaGlzIGlzIGEgYml0IG9kZCB0byBoYXZlIGEgZGlmZmVyZW50IGJlaGF2aW9yIGJl
dHdlZW4gc3R1YmRvbSBhbmQgZGFlbW9uLiANCj4gSXQgd291bGQgYmUgbXVjaCBlYXNpZXIg
Zm9yIHRoZSB1c2VyIGlmIHRoZXkga25ldyBhbGwgdGhlIGZpbGVzIHdvdWxkIGJlIGF0IHRo
ZSANCj4gc2FtZSBwbGFjZSByZWdhcmRsZXNzIHRoZSB2ZXJzaW9uIHVzZWQuDQoNClRoZSBt
YWluIGRpZmZlcmVuY2UgaXMgdGhhdCBzdHViZG9tIGhhcyBhY2Nlc3MgdG8gb25seSBfb25l
XyBkaXJlY3RvcnkgaW4gZG9tMC4NCkkgL2NvdWxkLyBnaXZlIGl0IGFjY2VzcyB0byAiLyIs
IGJ1dCBkbyB3ZSByZWFsbHkgd2FudCB0aGF0Pw0KDQpXZSBjYW4ndCBnZXQgcmlkIG9mIHRo
ZSAvdmFyL3J1bi94ZW4gYWNjZXNzIGluIHhlbnN0b3JlZCwgYXMgaXQgaXMgdXNlZCBmb3IN
CmxpdmUgdXBkYXRlLCBzbyB0aGUgb2xkIGFuZCB0aGUgbmV3IHhlbnN0b3JlZCBuZWVkIHRv
IGFncmVlIG9uIHRoZSBsb2NhdGlvbiBvZg0KdGhlIHN0YXRlIGZpbGUuIEFuZCB3ZSBjYW4n
dCBkcm9wIHRoZSBwb3NzaWJpbGl0eSBvZiBzcGVjaWZ5aW5nIGFic29sdXRlIHBhdGhzDQpm
b3IgZS5nLiB0cmFjZSBmaWxlcywgYXMgdGhvc2UgbWlnaHQgYmUgaW4gdXNlIGJ5IHVzZXJz
IGFscmVhZHkuDQoNCj4gQWxzbywgcmVnYXJkaW5nIHRoZSBiYWNrZ3JvdW5kIG9mIG15IHF1
ZXN0aW9uLiBZb3UgYXJlIGludHJvZHVjaW5nIGEgZnVuY3Rpb24gDQo+IGNhbGwgYWJzb2x1
dGVfZmlsZW5hbWUoKS4gRnJvbSB0aGUgbmFtZSwgdGhlcmUgaXMgbm90aGluZyBpbmRpY2F0
aW5nIHRoYXQgdGhpcyANCj4gc2hvdWxkIG9ubHkgYmUgdXNlZCBmb3IgdHJhY2UgZmlsZXMu
IElmIHRoaXMgaXMgb25seSBpbmRlbnRlZCBmb3IgdHJhY2VmaWxlLCANCj4gdGhlbiBJIHRo
aW5rIHRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gc29tZXRoaW5nIGxpa2UgYWJzb2x1dGVf
dHJhY2VmaWxlKC4uLikuDQoNCkFmdGVyIHRoZSBsYXN0IHBhdGNoIG9mIHRoaXMgc2VyaWVz
ICJ4ZW5zdG9yZS1jb250cm9sIG1lbXJlcG9ydCA8ZmlsZT4iIHdpbGwgdXNlDQppdCwgdG9v
Lg0KDQoNCkp1ZXJnZW4NCg==
--------------o7Dlm7ZfGI5Fl2i5Ctl4boGx
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-----

--------------o7Dlm7ZfGI5Fl2i5Ctl4boGx--

--------------S2jAiSRMSCht9HdtL8vgjA8T--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVTPWAFAwAAAAAACgkQsN6d1ii/Ey/N
YAf+LE8HEdXH+w/Aa5o9mo3akgK473CB7dIAtRfjf8fPBWPhLn6+8BHo8vwG/67SeaK/ISa+I0pj
F7h5grFNbYito7aUqG2qvhS9GaJdOccnDelBz3iyWcvfnZQJ9FtybzT30QElCdrlTtfHRdZN8qED
yCf/P/JYkWXKX0MeczZJSAIPwRVYe1tBKZOmKUr76Zbn4zLlV3z16/vEuQSilz6XZE3c1ABN1pAP
fIH3UFgPD4Tlne0i3BnG1WjXzqfQ8YUWWuM/eKcLSPJiKHBQMdjsXeoHkI2bvaiZOiT16cpTq8xr
vtBrfg+W14QKywUQS5g/nYTvs1uiELRN3x5QXS8Zyg==
=SQ7W
-----END PGP SIGNATURE-----

--------------O2mVEr1GPjzi7wHuphwM0hxT--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:36:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:36:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632283.986525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2pqG-0003uL-Cq; Tue, 14 Nov 2023 09:36:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632283.986525; Tue, 14 Nov 2023 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 1r2pqG-0003uE-A4; Tue, 14 Nov 2023 09:36:20 +0000
Received: by outflank-mailman (input) for mailman id 632283;
 Tue, 14 Nov 2023 09:36: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2pqE-0003sw-Rk
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:36:18 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0630.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 417d7754-82d1-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 10:36:15 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9586.eurprd04.prod.outlook.com (2603:10a6:10:31e::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Tue, 14 Nov
 2023 09:36:10 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 09:36: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: 417d7754-82d1-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WbfMm/NZkR8FxVCfsklDEj+bxle+QXVHlUacjM7KbzsKi/5rcJlyH8dsufCXJR/NOIYdT0UjrYXHasXmUnkXs6+7eT+1RXc8ZmQlD75Ju0L+Pq99Xd5LV6xht0U4VnUr8ARcZeINpb/SD/TsmWiyB6Z7+H3e4ZL1tRPEXiaPgEQ0njH94y55TvS8h6dFE82yjGbOFSjeJWX1DsBOC4OZw1k/D04rXUhEs6t/4mPISBYLL6TDoIgwxSJmLOKb7nZXxn8I1HPW7rpONssbtyVsCdrBBFQGY3cvv0guzzDSwvFKk01fiYKwhhwFJAea8s/SCQ/EUQiFt5R/JwZ4B1bFRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=v8PVvPEP6qOan3iDkRjIIaq4ey1gM914yQVa5yGASS4=;
 b=Q0msDxMFZgtfETMHUTEKA2MtD2zGYDfnqXJEHc2NeRyzS/iJvPDxN28WfrdP1zTx66vGuuI5/7ZqyEvlNTE9qFiUdrl5YFomLgEKVejZS2Ye08FYoZHkvgKwC1x7qTaA5ONoRPlkEGPGRwbRn1KM87gfxgLbzIxvZ//HZjH79eALFLPm3bTFjEzWMqqwQ3oRiPg7+Gki2WuDxjElRUkxLJUQfPypsW/QiZolf9gV0qT3m19WT/DtCafPCk8vFAbnRn2Oj50GL4X4CJlTAZr7Et91tUJP/UgIir6AosBu5bKY9Ww7wfiykDKN1rLTQpTSQqWOy2Z7PILEtVDzZZFdTA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=v8PVvPEP6qOan3iDkRjIIaq4ey1gM914yQVa5yGASS4=;
 b=U0menqGKvoREzVOYp1b4Qc2efBFwSHrlZFH0cYxz9McrjVi3aN4znvJa0SrXcGYirwN6Yv4S/I3GxOBTUHb9BLm+8ryt61HsidPUUfp08y+xCLbqLBr8b/nO7P6mYLXAdVTjKv8REqE+4L7aR2YiQQsgLFQKHMxL6rCnwR1yLLWrG/zbr0t61sbqUJwCB0LD72eydEb+TnFva5ZLrnJZvIOYFo1i8Hjq5m3poPIqQZhAmA7dHMKE+C1+UrfahYXBr/kE0z0mpejBkSohc2lL6W/vkhQcPyscKmFzKKfDSTP2ftoYdZSj87+jmgJ5Cfjd9/zjKeAMsQJ10vGKVJolPA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6695fcfb-0762-e48b-69d2-3871a3acaad6@suse.com>
Date: Tue, 14 Nov 2023 10:36:08 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] docs/misra: add R11.1 R11.2 R11.3 R11.6
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2311131540490.160649@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <alpine.DEB.2.22.394.2311131540490.160649@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9586:EE_
X-MS-Office365-Filtering-Correlation-Id: 887fad66-01c8-466e-4aa6-08dbe4f522b7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5DBQOlyiqNjcKam1h1BUrd7PC7fJz89yVkRT2NHRNjEd1ERx6YYhiZTC2pTOkRUY8+mklX4BB8HqANh45YOqkhTOYz/hlfrz86noMv73mEWdvH2ZrOpfeIMixbx1e9e6VMvZ+Tk+fFQuVSnMKTRH6982bGwTgQ/fXNlUEpDFWhc2UmHC5TdKAeyTWyCx1nyw0R4Sv/UwpoJR0ibn4q2HT7DFDgr8HHBBRqjh/OouAFZMdfZZ3eJNlkiq9GORR0HAKgynlZqvYW+JZmH/VmZ1tV9KHdsEU9FvaQBO33wxGyHv9NswhqBmE/ZRaX2t2NEjTdaCukOqx3MCL0ztRwgZQ1gSwoyOJuBK0A0rmxfXwRAppkst1efGAKkhZGEO6LWWyFf5NZ2MwvYEaFnpFAKyIymu53IdKpraXLu59eqO5Ad+j+OfGflOQr0A3TSe9ncLO/wdTDnLjJ0JjbkgRgmpJsSkVHeZihWCZw5b4VjpoHm79KuR2qv4ydUe7DiYSilTo5PKZReapwpYsLKjgXphYELPjodW4kYcUa+A9Z4s9amGs7E6g9f2PBbuC9OL/nu71xX5wE8rn2N4J8YO87ASqQ+4JN1TXfD0TwHEAmEF6/C6hAaP92hAmeLFmhYTAmPKWB/SzlDMefR1C6W6CCB2TQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(396003)(346002)(376002)(136003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(316002)(5660300002)(4326008)(8936002)(66946007)(66556008)(66476007)(6916009)(26005)(41300700001)(31686004)(8676002)(6486002)(2906002)(54906003)(478600001)(53546011)(6506007)(6512007)(2616005)(36756003)(38100700002)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NHFBZlVEdUJ4Y0VyR1BIYkdNWHF2cHBMRzAvRDY4cFgzVFhTb3p1UEpiNm9B?=
 =?utf-8?B?WDJrTndMME44ZFRYaGFOQjJxdzNKYVA5MVJ5amxRRUpFalBGU1ExNExwcXVM?=
 =?utf-8?B?VXdNZk01UXpUd3NBcU9TczJoS3pLTjJxTys4TEtENVlyVllCWGRpWFJZdFgw?=
 =?utf-8?B?WTNPK1gwTFJLNGdLUVNTSUdUdExRWXpsN3l6MkdrNW5iSkU0Si9qY0Z3RWc4?=
 =?utf-8?B?UVhXVnQvQjUzTGNFWnVRYUlOREwvVW05YmM5QUdwdDRuVjIvV1lYUnpGQUFx?=
 =?utf-8?B?dVBPaVZwTnpaNFRaRExDMmhnamlqZUpoM2ZuNTFqcnhoQWhGTUE3V1F0ZXRN?=
 =?utf-8?B?L2lJQTl6Y1RXWTRVanlNcWxHVDNlc29sSzhoeExrSXhSbXNHTUhFNHRURmpD?=
 =?utf-8?B?V1NxWWtIQzdzZ2lDSE1rZ0RTZG9Kb2tyRGFLbXBiL0JKSUVDSzdhYUtIOHIy?=
 =?utf-8?B?VDFEKzNZbXdIenlwendqMUx3Z3NmSTBoWFNDMWJ1eS9CNE5iYWxFV2pXbmNV?=
 =?utf-8?B?Y3l4N0lOc1p6UWN3YjVCMWp2ODU4N01YTG95QzNuYkd5NE9LOGZjNWJqc0M3?=
 =?utf-8?B?OVJmSThnQVJZRytTMVJqZDVIVG51dlB0S1M2RGc1c1VmRzZDcE1CSlAzcHZx?=
 =?utf-8?B?d3NRckxuSFViRUpOMVJLRlZPZ1pNRndoMjIzbWZkbzk5NTBjL2p4ZEQyRHRZ?=
 =?utf-8?B?a2JBYnpaQzEwSzg0V1JYUUNrbGRpeW1OSWQ4dWtJdkF5d1dsSVE5Wi9hYnA2?=
 =?utf-8?B?c1B1UHZRSjM4azgxem5WMW1zZytsbTdWU3h1a3IrQzhMbWQyM1N3dTJEaHp6?=
 =?utf-8?B?alhwQUtsOFV0T3BoN0E4OGJrZFRtSWMybnd5UDNuME1CZm5LaUJzbjNDdFRj?=
 =?utf-8?B?eGdTemZCdm5peXU3TUI3RkFONTAyelJGbFg3M0FqQ3k4bkozQkw4bGI0amtE?=
 =?utf-8?B?THpiTDZrWFB0Y2l4NUpzVXRVWXVGT2pXcVVaMHpKOEZBZW9GRDB6NTgrZEdB?=
 =?utf-8?B?dTR6SmQySWlTTjM2d0xydkt4ZnY0RHZFaUpJRDJsNmxVSFdPT0Fkd2tqUWRI?=
 =?utf-8?B?U3FxNWJxUzVjbXVPc29oZDFTY3hKYnB3VHlnNCs1M3FwY3NCcHBFUlQwTzBq?=
 =?utf-8?B?ZW1YRGs0azFnMHAyOE1iTjdvS2dkcGlLU3VQcy8vZXFyY0FaRytkMTgwTlFF?=
 =?utf-8?B?RFROaGs4SG9HeUpJNXluenBWUGZkTXRCNTJ1aHQzc0tybFZXY2pTWHBnNTIz?=
 =?utf-8?B?L1hxKzdWVVh1RkttZUQ5UDhHVWh4TmtNVktDcVJjRzl3b3BTeW9LY2VLUkE2?=
 =?utf-8?B?MWpkcmdMa3B6U1gzSmViVXJXU0w1VGtSS1l4TWl1dkJVSExnZy9aZjFLNG5D?=
 =?utf-8?B?OFZ6aWJzbVkweU5TSWpnT2t2a1hQY2xlTE1hU1R2V0JvTkk5S281N1NLYk0w?=
 =?utf-8?B?RzN6Wkw2dWh4TEVYWmxpQ1BBelRDdzZwZjF1WjBjSXFxMVZJY3hOOER5WWtB?=
 =?utf-8?B?NjdCalVDR1NsclkwNTZNOFIrelI0eDlEMytkQXVBRFpBeTExb2ZsS0RYVHFw?=
 =?utf-8?B?c0pwU1FWOHFPeGEzWWRtbHNSY0xaYnhFUGZrOFFyMU5ONkM2c2pSbUJWSzZO?=
 =?utf-8?B?NGl0TlY0Nnh6UkdDUFJ3a2pUZThvMW1IVlp4bWFSTzZKWklKUTVPbTBZWjN3?=
 =?utf-8?B?RVk4RitpUXhZNUExdFlZRVdhV2dtbFNRdUFYT2xxZEk1VTRPZ0YyaENyN2k5?=
 =?utf-8?B?QzBwK28zZ01BRnhBeXZGWHpucTNUUjlUUFJWK0tiYWdocDN6Q2tmV1pMZTc4?=
 =?utf-8?B?QWo3RjQxR2dCb3JTOGh2ZDIxRkpNdnpyd2lCcWJpOHJJZVZtTmpnRWpIVXFS?=
 =?utf-8?B?S2NZRnRIUitpY0pqbWZzSk95R0tKNGdDSW4yMGRuSUljT2V1ZldGbzFlRnlC?=
 =?utf-8?B?OGZwY1hBeU1QUU1YZm40THB4RkF4c3lmYzgvT3h1NGFtSUNsaU93QnkwSTdv?=
 =?utf-8?B?emhsOHJFTUNSVE9KV3EvRDh1VS9QamF0Y1pzdjEwZTQ3UWdUYko3RjlGMGJm?=
 =?utf-8?B?eXBnRjN4RkgwQktRVFZYRE1HOWtLRE9Vc0t6UXRKV1BsKzNab2tTTXYycXNa?=
 =?utf-8?Q?YqZQLjT1fSih/aOWRyWsZyjqf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 887fad66-01c8-466e-4aa6-08dbe4f522b7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 09:36:10.4858
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: RmHFH4OiV6b0X/vmsvHhAkZjr/tFG4DQHsncRP055D5nYamUQm+ghkZ5/erdFADmNHTHIBHeMcQomNRdNEDQDw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9586

On 14.11.2023 00:44, Stefano Stabellini wrote:
> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -383,6 +383,38 @@ maintainers if you want to suggest a change.
>  
>         CFLAGS="-Warith-conversion -Wno-error=arith-conversion" make -C xen
>  
> +   * - `Rule 11.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_01.c>`_
> +     - Required
> +     - Conversions shall not be performed between a pointer to a
> +       function and any other type
> +     - All conversions to integer types are permitted if the destination
> +       type has enough bits to hold the entire value. Conversions to
> +       bool and void* are permitted.
> +
> +   * - `Rule 11.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_02.c>`_
> +     - Required
> +     - Conversions shall not be performed between a pointer to an
> +       incomplete type and any other type
> +     - All conversions to integer types are permitted if the destination
> +       type has enough bits to hold the entire value. Conversions to
> +       bool and void* are permitted.

Assuming the rule's exception 2 really means void, not void*, the mentioning
of void* here is still fine.

> +   * - `Rule 11.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_03.c>`_
> +     - Required
> +     - A cast shall not be performed between a pointer to object type
> +       and a pointer to a different object type
> +     - All conversions to integer types are permitted if the destination
> +       type has enough bits to hold the entire value. Conversions to
> +       bool and void* are permitted.

Here and ...

> +   * - `Rule 11.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_06.c>`_
> +     - Required
> +     - A cast shall not be performed between pointer to void and an
> +       arithmetic type
> +     - All conversions to integer types are permitted if the destination
> +       type has enough bits to hold the entire value. Conversions to
> +       bool and void* are permitted.

... here, however I consider its mentioning misleading: "void" is neither
an object type nor an arithmetic one.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 09:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 09:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632295.986535 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2q0E-0007xC-Au; Tue, 14 Nov 2023 09:46:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632295.986535; Tue, 14 Nov 2023 09:46: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 1r2q0E-0007x5-7c; Tue, 14 Nov 2023 09:46:38 +0000
Received: by outflank-mailman (input) for mailman id 632295;
 Tue, 14 Nov 2023 09:46: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=ZdVB=G3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r2q0C-0007vf-P5
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 09:46:36 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b27b7828-82d2-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 10:46:34 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 0EFE84EE0738;
 Tue, 14 Nov 2023 10:46:34 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b27b7828-82d2-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Tue, 14 Nov 2023 10:46:34 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>
Cc: michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v4] xen: address violations of Rule 11.9
In-Reply-To: <82637305-58ff-3204-09f4-13a1f2c969fb@suse.com>
References: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com>
 <b7df2987-ab46-bb09-4440-e743018561ad@suse.com>
 <alpine.DEB.2.22.394.2311131557210.160649@ubuntu-linux-20-04-desktop>
 <82637305-58ff-3204-09f4-13a1f2c969fb@suse.com>
Message-ID: <664811f5d165e8165501d2062e694062@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-14 08:19, Jan Beulich wrote:
> On 14.11.2023 00:58, Stefano Stabellini wrote:
>> On Mon, 13 Nov 2023, Jan Beulich wrote:
>>> On 19.10.2023 09:55, Nicola Vetrini wrote:
>>>> The constant 0 is used instead of NULL in '__ACCESS_ONCE' as a
>>>> compile-time check to detect non-scalar types; its usage for this
>>>> purpose is deviated.
>>>> 
>>>> Furthermore, the 'typeof_field' macro is introduced as a general way
>>>> to access the type of a struct member without declaring a variable
>>>> of struct type. Both this macro and 'sizeof_field' are moved to
>>>> 'xen/macros.h'.
>>>> 
>>>> No functional change intended.
>>>> 
>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>>>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>>>> ---
>>>> Changes in v2:
>>>> - added entry in deviations.rst
>>>> Changes in v3:
>>>> - dropped access_field
>>>> - moved macro to macros.h
>>>> ---
>>>> Changes in v4:
>>>> - Amend deviation record.
>>>> ---
>>>>  automation/eclair_analysis/ECLAIR/deviations.ecl |  9 +++++++++
>>>>  docs/misra/deviations.rst                        |  6 ++++++
>>>>  xen/include/xen/compiler.h                       |  8 --------
>>>>  xen/include/xen/kernel.h                         |  2 +-
>>>>  xen/include/xen/macros.h                         | 16 
>>>> ++++++++++++++++
>>>>  5 files changed, 32 insertions(+), 9 deletions(-)
>>> 
>>> I tried to commit this patch, but ...
>>> 
>>>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl 
>>>> b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>> index fa56e5c00a27..28d9c37bedb2 100644
>>>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>> @@ -246,6 +246,15 @@ constant expressions are required.\""
>>>>    "any()"}
>>>>  -doc_end
>>>> 
>>>> +#
>>>> +# Series 11
>>>> +#
>>>> +
>>>> +-doc_begin="This construct is used to check if the type is scalar, 
>>>> and for this purpose the use of 0 as a null pointer constant is 
>>>> deliberate."
>>>> +-config=MC3R1.R11.9,reports+={deliberate, 
>>>> "any_area(any_loc(any_exp(macro(^__ACCESS_ONCE$))))"
>>>> +}
>>>> +-doc_end
>>>> +
>>>>  #
>>>>  # Series 13
>>>>  #
>>> 
>>> ... this change doesn't apply, and I also can't see how it would. 
>>> There were
>>> no dependencies specified, so it's also not clear on top of which 
>>> other
>>> (ready to be committed) patch(es) this might have been meant to 
>>> apply. Please
>>> resubmit in a shape applicable to the staging branch.
>> 
>> The order doesn't matter in that file, you can place # Series 11 just
>> after # Series 10
> 
> That would have been one of the possible guesses. Yet then ...
> 
>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>> @@ -274,6 +274,15 @@ still non-negative."
>>  -config=MC3R1.R10.1,etypes+={safe, 
>> "stmt(operator(logical)||node(conditional_operator||binary_conditional_operator))", 
>> "dst_type(ebool||boolean)"}
>>  -doc_end
>> 
>> +#
>> +# Series 11
>> +#
>> +
>> +-doc_begin="This construct is used to check if the type is scalar, 
>> and for this purpose the use of 0 as a null pointer constant is 
>> deliberate."
>> +-config=MC3R1.R11.9,reports+={deliberate, 
>> "any_area(any_loc(any_exp(macro(^__ACCESS_ONCE$))))"
>> +}
>> +-doc_end
>> +
>>  ### Set 3 ###
> 
> ... there is this grouping by sets as well.
> 

+Stefano

I think the culprit here is that this commit 699899f44d09
was never merged with 4.19. Is that correct? My own tree is rebased
against that.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 10:13:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 10:13:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632303.986546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2qQG-0000tJ-E0; Tue, 14 Nov 2023 10:13:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632303.986546; Tue, 14 Nov 2023 10: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 1r2qQG-0000tC-AB; Tue, 14 Nov 2023 10:13:32 +0000
Received: by outflank-mailman (input) for mailman id 632303;
 Tue, 14 Nov 2023 10:13: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=gJWh=G3=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r2qQE-0000t5-NU
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 10:13:30 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 753d5773-82d6-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 11:13:29 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2c509f2c46cso76265261fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 02:13:29 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 t21-20020a056512069500b0050a71d4e9bcsm1265608lfe.286.2023.11.14.02.13.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 02:13:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 753d5773-82d6-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699956809; x=1700561609; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=8ITwQjDrSWz3qdi8wxxVPQCcMQz4L5ISFHd4jG39M5s=;
        b=EsDldAsNwaazWPRleHRR37dDFxZ/kD+rr4KuPAhBHsc4OmY6Xhe0BTZoeRbVi5Mdn5
         IXM3YD3RN1Xxa3oLSVO7CdQjuaT1QJWx0FrZuSleMx98RVF1OFXORkcGJLeXayODNmwF
         d+9xuIxQ9eB2lO5kuNolc5Md3Sc2UrK7QKYcwtracDehUPClHocDCVlLODSX4iMfnGat
         WffpRWGf/rCYOrFtUn9Mo+eC5Gcovs2O1vQw2CZwH5LhRYfDdJIfBMmXywwY3iwCbDoO
         OKpynVdpo6+Ys+CcqrFoNltvfKHoBdgvxDs8FCa5gWor+qc8VTjclu/d0I/LeahcQtWN
         Etsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699956809; x=1700561609;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=8ITwQjDrSWz3qdi8wxxVPQCcMQz4L5ISFHd4jG39M5s=;
        b=f1lX4qg+VT0Vb449WUFYrZfvGL+QlD4R3bffYxy41npzeVWUusF/GbYkH7sRE1o8rY
         VFcf7k2tYim52AfrAVU1dVeEbUdAUR2OT3uQEhUji6UFrRlo56qMak2yTRPghc2sar8y
         Cw/k8JSU3xZ+Ds/4bFyk90t4PetAx3OIGAwmr2rXjKELBwzPXWK3sWt/ejSzxwMOejRl
         1VayiESf1vEFvG26ESQgSrsvCCMKmJhetzitsrKqUMcVTXNzoNKbgJNdCiI3c9wl0h3q
         FJcShsB8AQCaeYWIIQwlgoY3wgQYw//mVyKIDxWxAoWGACb4hQ4lO+ROtnUcxxBOqzZO
         +IdA==
X-Gm-Message-State: AOJu0YzrBVf34ZZdy6ZrgKuZ0GbMpVhbUlkNUBAupgOzmsMyQuvjpHBn
	K4wrIXZcZJbOycl2j74IzRs=
X-Google-Smtp-Source: AGHT+IEL7/rMxLZK5z6ph7f8eLNu6Z2E3X0g+DtD5pl5SlGhCmyi26GM86JDSnujizvW35FXKEATPw==
X-Received: by 2002:a05:6512:4025:b0:50a:763f:ecf1 with SMTP id br37-20020a056512402500b0050a763fecf1mr7765357lfb.12.1699956808909;
        Tue, 14 Nov 2023 02:13:28 -0800 (PST)
Message-ID: <3ee243df009f4f98be938c54d9a1540fd1ddcd3b.camel@gmail.com>
Subject: Re: [PATCH v2 04/15] xen/asm-generic: introduce generic hypercall.h
From: Oleksii <oleksii.kurochko@gmail.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
Date: Tue, 14 Nov 2023 12:13:27 +0200
In-Reply-To: <08f5852a-5888-e82f-ca64-fe268f60c949@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <87a6f7a2135361ad231bfc0cfc2d73ca78c357a3.1699633310.git.oleksii.kurochko@gmail.com>
	 <e7cd2613-7af9-bfae-fb75-85d3bc2f3caf@suse.com>
	 <08f5852a-5888-e82f-ca64-fe268f60c949@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-11-13 at 17:50 +0100, Jan Beulich wrote:
> On 13.11.2023 17:45, Jan Beulich wrote:
> > On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > > Introduce an empty generic hypercall.h for archs which don't
> > > implement it.
> > >=20
> > > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> >=20
> > Since - judging from Arm's present header - it looks technically
> > possible
> > for an arch to get away with this:
> > Acked-by: Jan Beulich <jbeulich@suse.com>
>=20
> Actually - why does this patch not drop PPC's now redundant header
> right
> away, along the lines of what you do in patch 1? This is also why I
> refrained from offering A-b on patch 5.
Missed that. I'll send a new patch series with dropped PPC's redundant
header.

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 10:14:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 10:14:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632305.986556 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2qRb-0001QH-OB; Tue, 14 Nov 2023 10:14:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632305.986556; Tue, 14 Nov 2023 10: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 1r2qRb-0001QA-Kv; Tue, 14 Nov 2023 10:14:55 +0000
Received: by outflank-mailman (input) for mailman id 632305;
 Tue, 14 Nov 2023 10:14: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2qRa-0001Q4-UX
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 10:14:55 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2054.outbound.protection.outlook.com [40.107.13.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a74774c5-82d6-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 11:14:53 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7729.eurprd04.prod.outlook.com (2603:10a6:20b:24c::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Tue, 14 Nov
 2023 10:14:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 10: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: a74774c5-82d6-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eSEDar8s5kJgIKb4CqT95EKEKYg5i5FaDjRDkoAgDuw5drVqlXoe9qE/yBZ7UFho52U/DyHlPl8jzp/V6b7l2ENycZ/v9EYxW+Z+frdYq3cRW50xOMor7NNW/s77rWYr2rmhDejmirFT+1EWj34kmvFBoV5D/bAOu/fUjtObdpWRmw/85i4TxXgk7CPmqIHE2VASDdRawAOrh5Dp/efSy4RtPUgyul9zFR3ftb40wsViShWWVUzOSF7Z+Lqsr03Mbupfkjy1N5rulAYhjfKc4D8g6CpZvbYr8apCnhNngtnffNMqlXhcMVfJyrxUzt4iQxsv5OMexK5alRz6729ALw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9aiR8w39VYSpttCJ6qkgGJWuaLfuXf2yNj11oB8BG5M=;
 b=QvYg/TFqaq0ZvLFHF7QH/1R20acOpKA3IZukj5qjW/enfztkXjgppWz9oesGX9zFZ6bDYx15MBHF2KDlBpRhfb7WD6wiZR43Qf5W+136rdFbHWxNoTSM+JyaADEAARHWnydDi6uW7ovpPV5qAV2jBVRszPflo2DB9sIYuvHSpxjeDgthZW/rfvM97e8c5HF3Y9b/DEGWN8fQuEGOpPkA11uFos6M8kk+DTG5fI/oUsVcKiwCt4UzG+HwRXyj+pbOdzJT8XcnMcfpGtbhwvFgI+GTEtOV42ZlJjYG4nIAuMYranyy+y4uloPU6FtbsTRtZGJ4rzCKR8FLDvwzKFPwNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9aiR8w39VYSpttCJ6qkgGJWuaLfuXf2yNj11oB8BG5M=;
 b=ZurEBAAzZ/PZ1kalV4OIEETu0n6YWLzlQm2udjVvHASQEXj+dxwMtxrQnrjETPbi2b+c8xfB1ilZLXAhyIYP5KBiAKGl1E70Iub6+XicBHsID6yrA4YpCsacbNcctxXpuc8O33jod17TdEDOFQruH21F4zcTO2ittdAHGzIrttu5+2ZvLtA7ifWoGnSNUrMmoJjv+2O1eUoHuLMo5q6zbLXo7ZxIlPwhAZY42gYYd74jkSE5nf4UWITzW1qxkR8KBfrxfZCQDn00KHLWq+YgReRUMmyDwA4NpXTDL5tOZI5g3j+oq4QW4qtBsBTzSXX19ahh6z98LbpSSubsEmlkDw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
Date: Tue, 14 Nov 2023 11:14:22 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101
 Thunderbird/102.15.1
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=c3=a9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
In-Reply-To: <ZVJifMqOR_3zINYZ@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0220.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e4::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7729:EE_
X-MS-Office365-Filtering-Correlation-Id: da9f67cd-bb2b-4b9b-ea24-08dbe4fa7a36
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XC0SKiIC7l9udawIYf4omQuRDtudCz+PHJ8G9CP5D0/vvLIo5XtWIzeXiHj2icNht5bbRaq2e4pTx3o3dzv4RNL5Uc6OWOwAeQt1aEpeOIRrnMNrz7Yj6RxMY+LD53e9uYkohXKQkbM79iKjcZyNt0YkYNsKMbVqUkJ5CudNfHIfgy+tNPWOcXoieIDjyfdqZQthYnZd+R8J/BI/N446sJNL8U5PspmSNo1PpLRtqqfHxD7DeP686INiwk9PhicEVov7DG6+gLrxMzAP+Z87iT4674BG2d5VygsuQzfCstMbO46oABa/oaZveJVaqwbIWZWAetI89Ab0EijO+sdm6l7zEVufuWouJZCek5EhmRyY7Q7QfJQsrmy5QLnmr34GtXXqKFRLUIuWYgvXh6YFU1rL22e3GjU7/NId9QATjj2sUeE+EDpLaH12ZOSZ3xzUqmuG/Y1jVmzygVJ7fKMq+isTX6x7ObLGf7nXKV72pxySK4j6AgOdumU75QPi+KhPCMPk2nubS4Th9DY1IM9w1RNJFAp1iD9OppXOJx5xGweOBLj4O+/gshJDi8ZnpSrhcnPJJdE1Cj2BHZV7A2zSUgQda+4XhRHHQBVCulu7xEe4OMKwPEOMdCh6mMiE11RdqH2Nbpb18XFUQi283N5e208Y5ro0glMgakgoY3vHiFaIqrjPij3O5UK69FMCgCtN
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(376002)(39860400002)(396003)(230922051799003)(230173577357003)(230273577357003)(1800799009)(186009)(64100799003)(451199024)(2616005)(26005)(53546011)(5660300002)(86362001)(2906002)(6512007)(6506007)(38100700002)(31696002)(41300700001)(31686004)(54906003)(110136005)(36756003)(66946007)(478600001)(66476007)(66556008)(6486002)(8676002)(4326008)(8936002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MDdPQmgzb2YwOW1peTdMU0cwT2tNbkZHbHZRdG83bzZKbTdvMzJkWTNZaVhK?=
 =?utf-8?B?TCtRVFRLSnQyTWNEbjJCMkRpdzNFRGFCYnRoTVplS0NHbTlLVG5MUCsycVp4?=
 =?utf-8?B?bG0waU95RXFpV0ZUNEhXSE9tZ3RGZW9WYlhrWTBWazRQK1VodHN3S0c3U1ZZ?=
 =?utf-8?B?NVZ0ZW1BZ0p3ZmNuUG4yellHOFdGSDR0TXRkM014MzVEVWpOQUYwWGxCVXBj?=
 =?utf-8?B?Nkx5T2h5MUphRE5RckNFUkozK0RuR2lWdEs3SmxjR25uQXZMcDlDcWR6ZjJ5?=
 =?utf-8?B?S2Vjc3pHOFNia1BXalhrRUJ4Yi9CRjU3WitmaGFLeGVEZkprK1NvaS9ZL0Mx?=
 =?utf-8?B?cjJINHJodkN1eXRxbnFIZ1NBSjFnOTNiQ3grRGMySkFpaDBQM2dQUnFySERk?=
 =?utf-8?B?NHFkbm9SS1pzK0JiUy9PRUQzZFNSZUNXS1RjTTBtTC9BRHhYN1loNE9SOXlJ?=
 =?utf-8?B?cEdLMDYzTjFUaFlQQ2JlTVg4OUdiWVJZR3k4OU9POTNKSFNVMUxUS3lwRlJy?=
 =?utf-8?B?QmJoaGlwdmkvU0YwdmN6TkFrSm9jSm1yaFNoTGt6ektXNktpQ3N5OGVHSlZQ?=
 =?utf-8?B?TVpKemFmVFd1QW1tdkE2MVV1MUY1UHdZYVFYeCtaMEpuS2djYStVMENReXFu?=
 =?utf-8?B?a1Z2U3JnUzN1aUlNd1NpM2M0Y2VFV1paNnI2V1hpNWlxY0xzcVhkekdzbENm?=
 =?utf-8?B?QWNhRWdnMVAyWHFHd0tFTXBacm5RVVJJWENqME9KdW8rM2FlcGhPSkxabzg2?=
 =?utf-8?B?eFN2cFBpbWtwdlVBYlRsM1RhK1p6TDRxTzdER0EyYnVjWlJnRjR0UThRVWJs?=
 =?utf-8?B?Mzk0Q0F6NUJjTWZWcExaR25kdSt4aUZpazJRRWdqUnowTjBhSzVvUWZGa0Fo?=
 =?utf-8?B?MjAyL3VrUE80bm42aTcwZEc0RTkzbEhhMFk5UmtZeUlWamhYWmxHWmp0WG55?=
 =?utf-8?B?SjRIeDNhWURRUnhIZ1NRTGt4dnR5Z2d0MkNOMzlTYzhHVHlEWW9aVUxEakdM?=
 =?utf-8?B?NEdPVmVSZE1YSW1uUTFNTlUwWHcyL3pEOGFpNzZBRVZCNVp4U3FUdFZYQWJi?=
 =?utf-8?B?QWVVY2RsQU9FUVRGakcwZk51RnYyUzBCLzNzeENneHNBUnF5cm5sNndEMlZG?=
 =?utf-8?B?OFpORXB3ekFqRWEvTXhkN0gzWHNMOUJWSFFlWTF3MXhjbEIyQzRPa1MrK3ZS?=
 =?utf-8?B?T2VaRjRHQ3hRVUhsVkt2YjJmNDFlcHo5OSs3TUx6VkNXcVo2T3hOaTd5NUtr?=
 =?utf-8?B?MFc2ZGJ3WEh0d29keFEvN1BXNU4veEoxWVo4VEZwQUxlbWUzU1ZVZmR2MHF4?=
 =?utf-8?B?ZXJPU0E1MXZSOU9TcGh2V0VZdW1YZTdoSXZ4aXN4TEUvU2pMZVRoSy8reHRI?=
 =?utf-8?B?d2oxM0Z1ZUdJZjA0S0kveW51SXVmb1VkLzhHMVkvK2hrVlZ4UERodU1QNEpU?=
 =?utf-8?B?a2JIenN2czRqWXlvTDRKUlBlamtyc2VmdXVyLzZDd1dXZytLVUNJcFRaZWNn?=
 =?utf-8?B?dzVkaUN5ZEh6MTNoSWpucjk0dnVDNFZIaElqME1kcXBuWmdKYTByOUdjSFpS?=
 =?utf-8?B?QUxQMlR6OUdVVUdRUEVXMi8yc0RuZXFrUE1oRCt3Y1JjSUJsUHdyemFINlpi?=
 =?utf-8?B?bVZjZnNkRVpCdjVBR1JtSDNRU2JBMlBCTkdrUFNHVGVVUC9xUU1WNUxKWEty?=
 =?utf-8?B?S3pkWDJwekhkMkcza0h2MFFhekkzb2VrQ0MwT3hqeGhrUjRRY0dFeHN1aE9u?=
 =?utf-8?B?bEhIbEtJd043Y1NUZ1dWZ3hrQjhwaEgyc0hSU3c1cS9vd1ZXa1lWeU13aEhu?=
 =?utf-8?B?d2Z4Z2pDY3dHWCtVSUNVektVKytLNFZEaXdEN1p5aVRCRkxiY0NtQzZLbEZJ?=
 =?utf-8?B?TmpMUFIzVWd1Y1pZRHltZXR0RVlkNlBjN0NBN0o3TzZlc0VMSFZWT09MaUVV?=
 =?utf-8?B?d0tFdE5MVHJCQmxuZHA0SHhPSk1hUm80MEFYVWJ4T2FQVUcyRXNHYVEzeTdO?=
 =?utf-8?B?Y3E0NEpFeGU5ZnZqOWh6aVNQbUZHU21EQnMxTzNSa04xU1pVRmVxQUtBUUdY?=
 =?utf-8?B?MU9ONjh4R1phK3M1em1jdUNlWHlvcVlFWEhxSEJ6THhhRkhhUU8vK21CcVho?=
 =?utf-8?Q?ZB2rfkLva+7crj+G7aOlUmgao?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da9f67cd-bb2b-4b9b-ea24-08dbe4fa7a36
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 10:14:24.7583
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: i8IZBDo+fUmwetEOJHak+kqhYV7ay9hK3RpS+a3yncPfiuqZIz/caD5Z+hyyaC1zQsIvNcZ7cuGTBcXbOZadGQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7729

On 13.11.2023 18:53, Roger Pau Monné wrote:
> On Mon, Nov 13, 2023 at 04:50:23PM +0000, Alejandro Vallejo wrote:
>> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
>> registers are derivable from each other through a fixed formula.
>>
>> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
>> rather than x2APIC_IDs (which are not, at the moment). As I understand it,
>> this is an attempt to tightly pack vCPUs into clusters so each cluster has
>> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
>> x2APIC_ID and internally derive LDR (or the other way around)
> 
> I would replace the underscore from x2APIC ID with a space instead.
> 
> Seeing the commit that introduced the bogus LDR value, I'm not sure it
> was intentional,

Hard to reconstruct over 9 years later. It feels like Alejandro may be right
with his derivation.

> as previous Xen code had:
> 
> u32 id = vlapic_get_reg(vlapic, APIC_ID);
> u32 ldr = ((id & ~0xf) << 16) | (1 << (id & 0xf));
> vlapic_set_reg(vlapic, APIC_LDR, ldr);
> 
> Which was correct, as the LDR was derived from the APIC ID and not the
> vCPU ID.

Well, it gave the appearance of deriving from the APIC ID. Just that it was
missing GET_xAPIC_ID() around the vlapic_get_reg() (hence why LDR was
uniformly 1 on all CPUs).

>> This patch fixes the implementation so we follow the rules in the x2APIC
>> spec(s).
>>
>> While in the neighborhood, replace the u32 type with the standard uint32_t
> 
> Likely wants:
> 
> Fixes: f9e0cccf7b35 ('x86/HVM: fix ID handling of x2APIC emulation')

+1

>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> 
> I do wonder whether we need to take any precautions with guests being
> able to trigger an APIC reset, and thus seeing a changed LDR register
> if the guest happens to be migrated from an older hypervisor version
> that doesn't have this fix.  IOW: I wonder whether Xen should keep the
> previous bogus LDR value across APIC resets for guests that have
> already seen it.

That earlier change deliberately fixed up any bogus values. I wonder
whether what you suggest will do more good or more harm than going
even farther and once again fixing up bad values in lapic_load_fixup().
After all LDR being wrong affects vlapic_match_logical_addr()'s outcome.
I think one of the two wants adding to the change, though.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 10:15:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 10:15:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632306.986566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2qRk-0001j7-4L; Tue, 14 Nov 2023 10:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632306.986566; Tue, 14 Nov 2023 10: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 1r2qRj-0001it-WF; Tue, 14 Nov 2023 10:15:04 +0000
Received: by outflank-mailman (input) for mailman id 632306;
 Tue, 14 Nov 2023 10:15: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=gJWh=G3=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r2qRi-0001iB-Re
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 10:15:02 +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 ab83805d-82d6-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 11:15:00 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-507bd19eac8so7269978e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 02:15:00 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 t19-20020ac24c13000000b005079fd88326sm1283815lfq.45.2023.11.14.02.14.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 02:14:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab83805d-82d6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699956900; x=1700561700; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=wZESUR463gCf83xvsmQf28nbzNqjE0j1inQI3/0Uh4w=;
        b=fM06CCJfcVE91EItQwbvoGjBhZJX5EfQd/DLejzv5/bjnYwMZhFPOCJqGICrdD4pIk
         0TUe0gl0USsLfsp4LnXxGeAcOA2wC3lEbSTYqzuqjp3fgeVUV0cuHYW5t6uYRCWLnvOm
         OrN5xZkUW1JY3FYSYW22KO3bKn7cFB5ga51sSFyWjLoZmg7INOI/dkAIAtyEr/leIfdw
         bZDMqJ7hysfUlSds+Eez/zoDXedwORKP1LuRlWiF8/DRTjKqHDE4f5UmnHwLxOcwIwTZ
         IQzT2OVEyGZe0OWEQxxzTUFtxSx7Ky6HNJym2pTRYqg7NneOxLVd3Ox/z82WXRaLiicH
         O2nA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699956900; x=1700561700;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wZESUR463gCf83xvsmQf28nbzNqjE0j1inQI3/0Uh4w=;
        b=u0tcibZYcvDTYz43hU4qDlWvQu65VxNa1fRJCgF1iQwwnyvpbrIJ+ivBgPP1b7CYKK
         nxfSdRLpgdGUEtldCwzSBRXUlSCVQnF7xy+RUC12u1cBvk2fDBMz37n4Gt8q8jpz49Iq
         dNQwzviwI8p5IaXhyLpEq5VyLO+KrqLt2UYHT4nzgEfKYnoseSmmCtiX9hUb97bPGDQz
         MbFb+e+pJjo96jMWU1uaX5jRVQ6/yogNtOVA4d9+v6day1LnT25eA7qcKdvhRG238x8F
         JalH2RVyCOsyhp+XSYtEXH/SMVyZdhogm6gg8gM6em2QI6yp/ModhYOynzekqXGJ64zk
         E7rw==
X-Gm-Message-State: AOJu0YzW/Kmh7QkCF2Jyo8SgwKT7X2gi5PoRxu+TygwJ7gMgsoC4gNSz
	Ivq4ADkOe4YnEd5qi11jFag=
X-Google-Smtp-Source: AGHT+IF6IPX4wFvnY+cXlwW1F0VaLz6Bw6Z9KmD2VJDRm4dj6sHCW8c3tzuouBxh5md1Ozh3D0lbRw==
X-Received: by 2002:a05:6512:ea2:b0:509:4a02:49f7 with SMTP id bi34-20020a0565120ea200b005094a0249f7mr7662123lfb.44.1699956900063;
        Tue, 14 Nov 2023 02:15:00 -0800 (PST)
Message-ID: <b36dcbb4231fa8fe8b6a39e1dd801b7f9381fa38.camel@gmail.com>
Subject: Re: [PATCH v2 05/15] xen/asm-generic: introduce generic header
 iocap.h
From: Oleksii <oleksii.kurochko@gmail.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
Date: Tue, 14 Nov 2023 12:14:59 +0200
In-Reply-To: <583e3c47-e5e6-b6d9-79dc-81e115a9b43d@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <6ea2fc1c12fa08e7cc6a47735c4fcd49c48ac4d3.1699633310.git.oleksii.kurochko@gmail.com>
	 <583e3c47-e5e6-b6d9-79dc-81e115a9b43d@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-11-13 at 17:48 +0100, Jan Beulich wrote:
> On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > iocap.h is common for Arm, PPC and RISC-V architectures thereby
> > it was moved to asm-generic.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > The same question as with device.h. Should it be in asm-generic?
>=20
> I think it's okay(ish) here, considering that ...
>=20
> > --- /dev/null
> > +++ b/xen/include/asm-generic/iocap.h
> > @@ -0,0 +1,17 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +#ifndef __ASM_GENERIC_IOCAP_H__
> > +#define __ASM_GENERIC_IOCAP_H__
> > +
> > +#define cache_flush_permitted(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=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +=C2=A0=C2=A0=C2=A0 (!rangeset_is_empty((d)->iomem_caps))
>=20
> ... the only thing referenced (iomem_caps) is a common entity. And
> again Arm demonstrates that an arch can get away with just this.
Thanks.

Then I remove redundant headers from Arm and PPC and send new patch
serires.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 11:17:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 11:17:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632319.986576 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2rPi-0002Qy-G8; Tue, 14 Nov 2023 11:17:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632319.986576; Tue, 14 Nov 2023 11:17: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 1r2rPi-0002Qr-Ck; Tue, 14 Nov 2023 11:17:02 +0000
Received: by outflank-mailman (input) for mailman id 632319;
 Tue, 14 Nov 2023 11: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=D+wK=G3=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r2rPh-0002PL-2n
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 11:17:01 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52e512dd-82df-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 12:16:57 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-544455a4b56so8406723a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 03:16:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 52e512dd-82df-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699960617; x=1700565417; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=GZSb3kdFMeNwUWT1KJkdfB2r8lO9EzAZJ0kYxWZCH8U=;
        b=dGVf9iPkkB8sNt2K54zty8Wc0piX0byIwrSEiAjdy2mU26JalD30PipO30FKPdlxJx
         4MLPozmf4f+0MfKNU4FOV1LQKl1UjxLJ5Q/NTU/M+M1oC5CbNhRbqAEzKFDf3lOHvpt7
         NLHiU95ZhT+apebQy2/87UTpwCkU5LwkA27/g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699960617; x=1700565417;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=GZSb3kdFMeNwUWT1KJkdfB2r8lO9EzAZJ0kYxWZCH8U=;
        b=f3hF+RQ45X3AbvpEd0m+Hsw7CwFbhHl7OKJrvxzCa+sQDOrXhlmM05ryIx0vRbrHAa
         u4E7Mh79mYpv4OwDRMDj/Tf0KLwkns/QfEtcUpCAtK27eSnIL750OYphL6bS+Eidu8h2
         UYZn/IPkhZ+7p8bs/nxxysEP+lPMHOj8eTQu/1XhZtv/V8PqBA/BzRxjtsrZr/0JWQTb
         XyeMqv33ZllpxLNgVXsjFgMeoorVJPG8ofLcg/d6gGJcbv5qWAsOltrubUwzxdrc3+Cz
         VW7A6Xw4zjfI4sBsS7bboOig5PNztQwBx1Q8IFc/F8mj4ngGgDdgG609SOIIfCuc9U3q
         lYLg==
X-Gm-Message-State: AOJu0Yw577enqKIoctxSoirSj2PRp8dZ1vOYNrVHv6J0VEqTbUiarBMw
	4P3xh0K1GAjcmAjmTUPVDO4d4UpNDrE0YyYAh8dQwA==
X-Google-Smtp-Source: AGHT+IFtMuvq/JNnu6l8kejA8A43QQ9wJb0O34x4rBaqAUICDN3X5rjrS2kFfnh0/L4gwfj49NJNJV6nlGLuRtnFkqc=
X-Received: by 2002:aa7:d943:0:b0:540:3a46:cdcd with SMTP id
 l3-20020aa7d943000000b005403a46cdcdmr6631035eds.29.1699960617150; Tue, 14 Nov
 2023 03:16:57 -0800 (PST)
MIME-Version: 1.0
References: <CAO-mL=zCpobcXHnAGeLL1tOP5dyqyThVri3a=76t_xYDMa+mrA@mail.gmail.com>
 <96df2df9-b295-6334-d45c-183d116fff88@suse.com> <alpine.DEB.2.22.394.2311131349470.160649@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2311131349470.160649@ubuntu-linux-20-04-desktop>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Tue, 14 Nov 2023 11:16:21 +0000
Message-ID: <CAO-mL=ygwrvepWf_SqLbqXJv-nFBicpMPCJTuegJNitcr1BY2Q@mail.gmail.com>
Subject: Re: Informal voting proposal
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org, 
	committers@xenproject.org
Content-Type: multipart/alternative; boundary="000000000000b7bfb0060a1aec44"

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

Thanks for your feedback @Jan Beulich <jbeulich@suse.com> and @Stefano
Stabellini <sstabellini@kernel.org>.
Let's go ahead with your suggestion of using "component".

I am sure this is a step in the right direction, and the time saved here
will benefit from fixing other areas in the project.

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group


On Mon, Nov 13, 2023 at 10:23=E2=80=AFPM Stefano Stabellini <sstabellini@ke=
rnel.org>
wrote:

> On Mon, 13 Nov 2023, Jan Beulich wrote:
> > On 06.11.2023 17:40, Kelly Choi wrote:
> > > Hi all,
> > >
> > > As an open-source community, there will always be differences of
> opinion in
> > > approaches and the way we think. It is imperative, however, that we
> view
> > > this diversity as a source of strength rather than a hindrance.
> > >
> > > Recent deliberations within our project have led to certain matters
> being
> > > put on hold due to an inability to reach a consensus. While formal
> voting
> > > procedures serve their purpose, they can be time-consuming and may no=
t
> > > always lead to meaningful progress.
> > >
> > > Having received agreement from a few maintainers already, I would lik=
e
> to
> > > propose the following:
> > >
> > > *Informal voting method:*
> > >
> > >    1. Each project should ideally have more than 2 maintainers to
> > >    facilitate impartial discussions. Projects lacking this
> configuration will
> > >    be addressed at a later stage.
> >
> > Terminology question: What is "project" here? Considering how
> ./MAINTAINERS
> > is structured, is it perhaps more "component"?
>
> Yes, I think "component" is the right word
>
>
> > >    2. Anyone in the community is welcome to voice their opinions,
> ideas,
> > >    and concerns about any patch or contribution.
> > >    3. If members cannot agree, the majority informal vote of the
> > >    maintainers will be the decision that stands. For instance, if,
> after
> > >    careful consideration of all suggestions and concerns, 2 out of 3
> > >    maintainers endorse a solution within the x86 subsystem, it shall
> be the
> > >    decision we move forward with.
> >
> > In a later reply you make explicit what can only be guessed here: There
> > you suggest that out of a range of possible options, up front two are
> > picked to then choose between. However, when there is a range options
> > available, and when those can be viewed as points on a scale (rather
> > than, to take Stefano's earlier example of SAF-* naming, cases where
> > it's hard to view choices as being on a linear scale), picking two
> > "points" up front may already pose a problem. (See also another reply
> > mentioning how to ensure that the various possible options were even
> > taken into consideration.)
> >
> > Not only in such situations, but in general, to me a prereq to even
> > coming to the point of needing an informal vote is the willingness of
> > everyone involved to find a compromise. When there's a range of views,
> > and when "knowing" what's going to be best for the project would requir=
e
> > a crystal ball, experience suggests to me that chances for an optimal
> > choice are better when picking a "point" not at the far ends of the
> scale.
> > (Such a result then would also much better reflect your named goal of
> > seeing diversity as a strength.)
> >
> > With such willingness I think even informal votes could be avoided most
> > of the time, at which point it becomes questionable whether for the few
> > remaining cases informal and formal votes really need specifying
> > separately.
>
> The key difference in point of views is that you see as very common to
> have options on a linear scale, where finding a middle ground makes
> sense, and you see as an exception cases like SAF-* naming that are not
> on a scale. In my view cases like SAF-* naming are the common case,
> while it would be an exception to have options on a linear scale. If
> it turns out there are indeed many cases where multiple options are on a
> linear scale, we might be able to come up with another idea on how to
> get a quick informal consensus for those issues.
>
>
> > >    4. Naturally, there may be exceptional circumstances, as such, a
> formal
> > >    vote may be warranted but should happen only a few times a year fo=
r
> serious
> > >    cases only.
> > >    5. Informal votes can be as easy as 2 out of 3 maintainers providi=
ng
> > >    their Acked-by/Reviewed-by tag. Alternatively, Maintainers can cal=
l
> an
> > >    informal vote by simply emailing the thread with "informal vote
> proposed,
> > >    option 1 and option 2."
> >
> > I find this difficult. Both A-b and R-b assert that the person offering
> > the tag endorses the presented solution to the indicated degree. It doe=
s
> > not say anything on possible alternative solutions. As a result taking
> > such tags as votes is (once again, and once again in my personal view)
> > reasonable only when there's a black-and-white decision to be taken.
>
> From a practical perspective, A-b and R-b are a quick and easy way to
> gauge informal consensus on an issue. Also, exploring alternative
> solutions take time. Time for the reviewer, time for the contributor,
> time for everyone else involved in the email thread. A-b and R-b have a
> very important role: they say "this is good enough". When you have a
> majority of people saying "this is good enough", I think we would be
> better off spending our timing fixing other deficiencies, reviewing
> other patches, rather than trying to further optimize that particular
> patch.
>
>
> > >    6. *All maintainers should reply with their vote within 5 working
> days.*
> > >
> > >    7. Please note that with any new process, there will always be roo=
m
> for
> > >    improvement and we will reiterate where needed.
> > >
> > > Ultimately our goal here is to prevent the project coming to a
> standstill
> > > while deliberating decisions that we all cannot agree on. This may me=
an
> > > compromising in the short term but I am sure the long-term benefits
> will
> > > stand for themselves.
> > >
> > > *If you have any strong objections to the informal voting, please let
> me
> > > know by 30th November 2023. *
> >
> > Just FTAOD none of the above is meant to be a "strong objection". Despi=
te
> > being unconvinced of the proposal (including the need for one, not the
> > least also considering what has triggered this sudden effort, when ther=
e
> > are - imo - worse problems of "standstill"), I'll try to be a good
> citizen
> > and play by what's going to be put in place.
>
> Thank you. Let's give it a try and see how it goes. As for every change,
> we are trying to make improvements. If they don't work, or better ideas
> come along, we can change again.
>
>

--000000000000b7bfb0060a1aec44
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Thanks for your feedback=C2=A0<a class=3D"gmail_plusreply"=
 id=3D"plusReplyChip-2" href=3D"mailto:jbeulich@suse.com" tabindex=3D"-1">@=
Jan Beulich</a>=C2=A0and=C2=A0<a class=3D"gmail_plusreply" id=3D"plusReplyC=
hip-4" href=3D"mailto:sstabellini@kernel.org" tabindex=3D"-1">@Stefano Stab=
ellini</a>.<div>Let&#39;s go ahead with your suggestion of using &quot;comp=
onent&quot;.=C2=A0</div><div><br></div><div>I am sure this is a step in the=
=C2=A0right direction, and the time saved here will benefit from fixing oth=
er areas in the project.=C2=A0</div><div><br clear=3D"all"><div><div dir=3D=
"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=
=3D"ltr"><div>Many thanks,</div><div>Kelly Choi</div><div><br></div><div><d=
iv style=3D"color:rgb(136,136,136)">Open Source Community Manager</div><div=
 style=3D"color:rgb(136,136,136)">XenServer, Cloud Software Group</div></di=
v></div></div></div><br></div></div><br><div class=3D"gmail_quote"><div dir=
=3D"ltr" class=3D"gmail_attr">On Mon, Nov 13, 2023 at 10:23=E2=80=AFPM Stef=
ano Stabellini &lt;<a href=3D"mailto:sstabellini@kernel.org">sstabellini@ke=
rnel.org</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">On Mon, 13 Nov 2023, Jan Beulich wrote:<br>
&gt; On 06.11.2023 17:40, Kelly Choi wrote:<br>
&gt; &gt; Hi all,<br>
&gt; &gt; <br>
&gt; &gt; As an open-source community, there will always be differences of =
opinion in<br>
&gt; &gt; approaches and the way we think. It is imperative, however, that =
we view<br>
&gt; &gt; this diversity as a source of strength rather than a hindrance.<b=
r>
&gt; &gt; <br>
&gt; &gt; Recent deliberations within our project have led to certain matte=
rs being<br>
&gt; &gt; put on hold due to an inability to reach a consensus. While forma=
l voting<br>
&gt; &gt; procedures serve their purpose, they can be time-consuming and ma=
y not<br>
&gt; &gt; always lead to meaningful progress.<br>
&gt; &gt; <br>
&gt; &gt; Having received agreement from a few maintainers already, I would=
 like to<br>
&gt; &gt; propose the following:<br>
&gt; &gt; <br>
&gt; &gt; *Informal voting method:*<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 1. Each project should ideally have more than 2 main=
tainers to<br>
&gt; &gt;=C2=A0 =C2=A0 facilitate impartial discussions. Projects lacking t=
his configuration will<br>
&gt; &gt;=C2=A0 =C2=A0 be addressed at a later stage.<br>
&gt; <br>
&gt; Terminology question: What is &quot;project&quot; here? Considering ho=
w ./MAINTAINERS<br>
&gt; is structured, is it perhaps more &quot;component&quot;?<br>
<br>
Yes, I think &quot;component&quot; is the right word<br>
<br>
<br>
&gt; &gt;=C2=A0 =C2=A0 2. Anyone in the community is welcome to voice their=
 opinions, ideas,<br>
&gt; &gt;=C2=A0 =C2=A0 and concerns about any patch or contribution.<br>
&gt; &gt;=C2=A0 =C2=A0 3. If members cannot agree, the majority informal vo=
te of the<br>
&gt; &gt;=C2=A0 =C2=A0 maintainers will be the decision that stands. For in=
stance, if, after<br>
&gt; &gt;=C2=A0 =C2=A0 careful consideration of all suggestions and concern=
s, 2 out of 3<br>
&gt; &gt;=C2=A0 =C2=A0 maintainers endorse a solution within the x86 subsys=
tem, it shall be the<br>
&gt; &gt;=C2=A0 =C2=A0 decision we move forward with.<br>
&gt; <br>
&gt; In a later reply you make explicit what can only be guessed here: Ther=
e<br>
&gt; you suggest that out of a range of possible options, up front two are<=
br>
&gt; picked to then choose between. However, when there is a range options<=
br>
&gt; available, and when those can be viewed as points on a scale (rather<b=
r>
&gt; than, to take Stefano&#39;s earlier example of SAF-* naming, cases whe=
re<br>
&gt; it&#39;s hard to view choices as being on a linear scale), picking two=
<br>
&gt; &quot;points&quot; up front may already pose a problem. (See also anot=
her reply<br>
&gt; mentioning how to ensure that the various possible options were even<b=
r>
&gt; taken into consideration.)<br>
&gt; <br>
&gt; Not only in such situations, but in general, to me a prereq to even<br=
>
&gt; coming to the point of needing an informal vote is the willingness of<=
br>
&gt; everyone involved to find a compromise. When there&#39;s a range of vi=
ews,<br>
&gt; and when &quot;knowing&quot; what&#39;s going to be best for the proje=
ct would require<br>
&gt; a crystal ball, experience suggests to me that chances for an optimal<=
br>
&gt; choice are better when picking a &quot;point&quot; not at the far ends=
 of the scale.<br>
&gt; (Such a result then would also much better reflect your named goal of<=
br>
&gt; seeing diversity as a strength.)<br>
&gt; <br>
&gt; With such willingness I think even informal votes could be avoided mos=
t<br>
&gt; of the time, at which point it becomes questionable whether for the fe=
w<br>
&gt; remaining cases informal and formal votes really need specifying<br>
&gt; separately.<br>
<br>
The key difference in point of views is that you see as very common to<br>
have options on a linear scale, where finding a middle ground makes<br>
sense, and you see as an exception cases like SAF-* naming that are not<br>
on a scale. In my view cases like SAF-* naming are the common case,<br>
while it would be an exception to have options on a linear scale. If<br>
it turns out there are indeed many cases where multiple options are on a<br=
>
linear scale, we might be able to come up with another idea on how to<br>
get a quick informal consensus for those issues.<br>
<br>
<br>
&gt; &gt;=C2=A0 =C2=A0 4. Naturally, there may be exceptional circumstances=
, as such, a formal<br>
&gt; &gt;=C2=A0 =C2=A0 vote may be warranted but should happen only a few t=
imes a year for serious<br>
&gt; &gt;=C2=A0 =C2=A0 cases only.<br>
&gt; &gt;=C2=A0 =C2=A0 5. Informal votes can be as easy as 2 out of 3 maint=
ainers providing<br>
&gt; &gt;=C2=A0 =C2=A0 their Acked-by/Reviewed-by tag. Alternatively, Maint=
ainers can call an<br>
&gt; &gt;=C2=A0 =C2=A0 informal vote by simply emailing the thread with &qu=
ot;informal vote proposed,<br>
&gt; &gt;=C2=A0 =C2=A0 option 1 and option 2.&quot;<br>
&gt; <br>
&gt; I find this difficult. Both A-b and R-b assert that the person offerin=
g<br>
&gt; the tag endorses the presented solution to the indicated degree. It do=
es<br>
&gt; not say anything on possible alternative solutions. As a result taking=
<br>
&gt; such tags as votes is (once again, and once again in my personal view)=
<br>
&gt; reasonable only when there&#39;s a black-and-white decision to be take=
n.<br>
<br>
>From a practical perspective, A-b and R-b are a quick and easy way to<br>
gauge informal consensus on an issue. Also, exploring alternative<br>
solutions take time. Time for the reviewer, time for the contributor,<br>
time for everyone else involved in the email thread. A-b and R-b have a<br>
very important role: they say &quot;this is good enough&quot;. When you hav=
e a<br>
majority of people saying &quot;this is good enough&quot;, I think we would=
 be<br>
better off spending our timing fixing other deficiencies, reviewing<br>
other patches, rather than trying to further optimize that particular<br>
patch.<br>
<br>
<br>
&gt; &gt;=C2=A0 =C2=A0 6. *All maintainers should reply with their vote wit=
hin 5 working days.*<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 7. Please note that with any new process, there will=
 always be room for<br>
&gt; &gt;=C2=A0 =C2=A0 improvement and we will reiterate where needed.<br>
&gt; &gt; <br>
&gt; &gt; Ultimately our goal here is to prevent the project coming to a st=
andstill<br>
&gt; &gt; while deliberating decisions that we all cannot agree on. This ma=
y mean<br>
&gt; &gt; compromising in the short term but I am sure the long-term benefi=
ts will<br>
&gt; &gt; stand for themselves.<br>
&gt; &gt; <br>
&gt; &gt; *If you have any strong objections to the informal voting, please=
 let me<br>
&gt; &gt; know by 30th November 2023. *<br>
&gt; <br>
&gt; Just FTAOD none of the above is meant to be a &quot;strong objection&q=
uot;. Despite<br>
&gt; being unconvinced of the proposal (including the need for one, not the=
<br>
&gt; least also considering what has triggered this sudden effort, when the=
re<br>
&gt; are - imo - worse problems of &quot;standstill&quot;), I&#39;ll try to=
 be a good citizen<br>
&gt; and play by what&#39;s going to be put in place.<br>
<br>
Thank you. Let&#39;s give it a try and see how it goes. As for every change=
,<br>
we are trying to make improvements. If they don&#39;t work, or better ideas=
<br>
come along, we can change again.<br>
<br>
</blockquote></div>

--000000000000b7bfb0060a1aec44--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 11:31:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 11:31:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632325.986586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2rdB-0006yC-Kn; Tue, 14 Nov 2023 11:30:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632325.986586; Tue, 14 Nov 2023 11:30: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 1r2rdB-0006y5-He; Tue, 14 Nov 2023 11:30:57 +0000
Received: by outflank-mailman (input) for mailman id 632325;
 Tue, 14 Nov 2023 11:30: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 1r2rd9-0006xv-My; Tue, 14 Nov 2023 11:30: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 1r2rd9-0004LT-HJ; Tue, 14 Nov 2023 11:30: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 1r2rd9-0005Ah-2d; Tue, 14 Nov 2023 11:30:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2rd9-0001nr-2A; Tue, 14 Nov 2023 11:30: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=oqklIYkkFsRSfe5SL2H0GY6MHKfBws4hln0TvQuLYbs=; b=3iC6Lwp8uPW7rYRG8i8DZm+Ib8
	ViGPKQaOxo17Ens0POMj4/Ne1ZvisyhESE0U1f/92YC/iwmGruyHZ7et3b14MRssNoPkiVlFDtJyN
	s/qaFjklyKVCOcAyHcoKXhRJJYC/hHca4RY2RDre2KIhV0uXxebtlR+7gOH4+n5OU6r4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183748-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183748: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-xtf-amd64-amd64-1:<job status>:broken:regression
    xen-unstable:test-xtf-amd64-amd64-1:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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: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-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-amd64-amd64-libvirt:migrate-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-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-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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=fb41228ececea948c7953c8c16fe28fd65c6536b
X-Osstest-Versions-That:
    xen=fb41228ececea948c7953c8c16fe28fd65c6536b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Nov 2023 11:30:55 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-xtf-amd64-amd64-1          <job status>                 broken

Tests which are failing intermittently (not blocking):
 test-xtf-amd64-amd64-1        5 host-install(5)          broken pass in 183745
 test-armhf-armhf-libvirt-raw 13 guest-start      fail in 183745 pass in 183748

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail blocked in 183745
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183745
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183745
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183745
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183745
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183745
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183745
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183745
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183745
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183745
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183745
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183745
 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-amd64-i386-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-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-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-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-amd64-amd64-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-xsm 15 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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  fb41228ececea948c7953c8c16fe28fd65c6536b
baseline version:
 xen                  fb41228ececea948c7953c8c16fe28fd65c6536b

Last test of basis   183748  2023-11-14 03:48:33 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                                       broken  
 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-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-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

broken-job test-xtf-amd64-amd64-1 broken
broken-step test-xtf-amd64-amd64-1 host-install(5)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 11:45:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 11:45:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632335.986596 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2rrN-0001F3-0W; Tue, 14 Nov 2023 11:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632335.986596; Tue, 14 Nov 2023 11:45: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 1r2rrM-0001Ew-U4; Tue, 14 Nov 2023 11:45:36 +0000
Received: by outflank-mailman (input) for mailman id 632335;
 Tue, 14 Nov 2023 11:45: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=Iys2=G3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r2rrL-0001Eq-O1
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 11:45:35 +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 511b388a-82e3-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 12:45:32 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-53e2308198eso8409264a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 03:45:32 -0800 (PST)
Received: from [192.168.107.1] ([31.94.60.175])
 by smtp.gmail.com with ESMTPSA id
 r26-20020aa7d15a000000b0053dfd3519f4sm4889822edo.22.2023.11.14.03.45.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 03:45:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 511b388a-82e3-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699962332; x=1700567132; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rpQQsir1SLTTXqXdqk6uCNlz7TmVUitenDwxo2FyaZo=;
        b=j50ONaanYuXKk45RJBGqmCCiPmu1viQP63B7H/Qzdm4a3Y45BQQa44fM+IZI9bZwZo
         NIGGDpXFC4ysjUl9fxn9LM+rRZtalBvFbq1TkwF0A7wJLEdm7UftbVkxwrv3hlHLDrxn
         qCFkgiCuFc/RuXGQjdX3gaKTEqthc4o14Qeio=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699962332; x=1700567132;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=rpQQsir1SLTTXqXdqk6uCNlz7TmVUitenDwxo2FyaZo=;
        b=QAfgRMYpqpHU8XndhKDPitgPExwf7r4UWCCv0BDGaxxtC7bmyYa6gecEBt9hrF3YRF
         lfZH4nBSoXx+R3MzkLaGdfvMESuCV3e5lvcB+iOFWXKwKw0R+7v/jLymWdtQKhzvOVQ3
         fPZ0aejuRaQbQXag+A8uPupFHo72h2I1KlXXfnyCo+cqvJrbwKS9KKuSFc0fmgVkJv/b
         4eIQY/f/71iNS5xzXtEU3LKaQ332DL5dLLSFnKx5vK/AF2tRoyWrVS4coraTtSK8x1y9
         O/0YtEc4lt17zyRDholnr3MO9J3P+Cfdq9t+nILb6WMrjVTouLtpQ8Mjz1rWvKOlVmnW
         6sfg==
X-Gm-Message-State: AOJu0YwkL+VDez9S/aorP7RpfLtEd6ZG32vQd1hLaNQxeYwdaG5kTlcp
	BY792jH4OqvRGS2Ph0xB1nYPsQ==
X-Google-Smtp-Source: AGHT+IH6PRH16JDn2V+es8tw5bidcJfUuzb3Z8oeryGHOeDAazKRkrFdQFep57V3SgfDkxuvtreFTA==
X-Received: by 2002:aa7:dcc7:0:b0:53e:343a:76bf with SMTP id w7-20020aa7dcc7000000b0053e343a76bfmr7179992edu.1.1699962332172;
        Tue, 14 Nov 2023 03:45:32 -0800 (PST)
Message-ID: <f77f85f1-5205-418a-b28f-f6104894718a@citrix.com>
Date: Tue, 14 Nov 2023 11:45:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
 <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/11/2023 10:14 am, Jan Beulich wrote:
> On 13.11.2023 18:53, Roger Pau Monné wrote:
>> On Mon, Nov 13, 2023 at 04:50:23PM +0000, Alejandro Vallejo wrote:
>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>> I do wonder whether we need to take any precautions with guests being
>> able to trigger an APIC reset, and thus seeing a changed LDR register
>> if the guest happens to be migrated from an older hypervisor version
>> that doesn't have this fix.  IOW: I wonder whether Xen should keep the
>> previous bogus LDR value across APIC resets for guests that have
>> already seen it.
> That earlier change deliberately fixed up any bogus values. I wonder
> whether what you suggest will do more good or more harm than going
> even farther and once again fixing up bad values in lapic_load_fixup().
> After all LDR being wrong affects vlapic_match_logical_addr()'s outcome.
> I think one of the two wants adding to the change, though.

OS software doesn't reset the APIC at runtime.

Most OS software doesn't reset the APIC ever because it was impossible
to recover from on the first two generations of APIC.  (It required a
full platform reset and model-specific logic.)

On capable APIC versions you still lose interrupts by resetting, which
is why a reset will only ever occur prior to setting up IRQs on boot. 
Linux does now reset the APIC (where possible) on boot in order to clear
out any prior state.  This also translates to resetting on kexec/etc.

A guest which does reset the APIC Is never going to care what the old
value was.  Only a test case is liable to notice, and we're clearly not
running one of those or we'd have found this bug already.

So no, I really don't think we need to keep a breakage around in the
APIC emulation forevermore to work around a theoretical-only problem. 
We should however discuss this in the commit message, just in case
someone in another 9y is trying to figure out a bug...

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 11:48:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 11:48:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632341.986605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ru9-0002uY-Dz; Tue, 14 Nov 2023 11:48:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632341.986605; Tue, 14 Nov 2023 11: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 1r2ru9-0002uR-B4; Tue, 14 Nov 2023 11:48:29 +0000
Received: by outflank-mailman (input) for mailman id 632341;
 Tue, 14 Nov 2023 11: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=D+wK=G3=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r2ru7-0002uK-Ac
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 11:48:27 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b8133d71-82e3-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 12:48:25 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-543923af573so8485486a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 03:48:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8133d71-82e3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699962504; x=1700567304; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=t8/i43dB7lPu8ghuvyn17E+24IV8JGeHRB+ETSu1SZ0=;
        b=LzlrN66BEcvwlkM4VRdm6vN6rfqtUdthw9nj0CwE3VwirGfLz48nRCHF8ruqBtuMBV
         5edTpBEpEFg7Os6xoq55CVDC67k3pi4G1Z3enPXkBddwRckiFL401/VXPKBbZDMgclPI
         lbIkRhynTdMqy+s1sZmk5TZd54UitfJxqdPPg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699962504; x=1700567304;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=t8/i43dB7lPu8ghuvyn17E+24IV8JGeHRB+ETSu1SZ0=;
        b=t/2G2Iq8rIb5wl+QfVtm7Exw3mhgAIKLkW5NklLg8Pc/Fw405OTNr8veRookZgEKRT
         m7zqPbWAZWCRctSekcni//EWXY7wMO9EdEy5tuS/6SdiinK/PRuN2Syz4CI451TtyM3m
         o9+HvPLvTjTzmcpTJEV1QCYIufohX+9GYM9dPTTqq9DmAMewk5qMS5oMLUTwl7Mb9fUm
         pmf2Emoy1KJvQqK7IN6gqCiwv4Ov8ofRdHWOUM3cLwn2cntjtF/qzc48+YUcSaya9q3p
         pz5ioKfE7zlU2/XhOUgLFiC6BucIjnS5DmxddTzqXLWU+yXIoWHBb2Cx4NuXOanu84/U
         e8hw==
X-Gm-Message-State: AOJu0YyTmhR0dx9sCK1+1tPPnt67Eq6FIMILg6K7eCS+MPdMcKYRhWNG
	qpyCZcsVWtiMUvcHCKJQu/6H7nUZWSlT5qWcor22taSBRFOe+ZWwOo6dcA==
X-Google-Smtp-Source: AGHT+IHOXcPnGayVTPhZzz8OZ+c3Lz5+BT9vxvyY7+l0IxKKgpIVR1XcGrqcpo3lf+pJ8Rge/dKKni1mCcEzD5w64tY=
X-Received: by 2002:a05:6402:1381:b0:53e:1b:15f5 with SMTP id
 b1-20020a056402138100b0053e001b15f5mr5785529edv.39.1699962504546; Tue, 14 Nov
 2023 03:48:24 -0800 (PST)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Tue, 14 Nov 2023 11:47:48 +0000
Message-ID: <CAO-mL=z3kjPgK-VkH4pqd29WDJKeTobFHG-dctRO95drqEhPaw@mail.gmail.com>
Subject: FOSDEM 2024 - CfP
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000037245a060a1b5ddc"

--00000000000037245a060a1b5ddc
Content-Type: text/plain; charset="UTF-8"

Hi all,

I'd love to know your interest in attending/speaking at FOSDEM 2024
<https://fosdem.org/2024/>.
The event takes place on 3rd and 4th February 2024.

If you are interested and would like to speak about The Xen Project but
have travel funding restrictions, please reach out to see if we can help by
the end of this week.

*Call For Papers*


*Submission deadline: 8th December 2023Acceptance notifications: 10th
December 2023Final schedule announcement: 15th December 2023*
*Devroom: 3rd February 2024*

https://lists.fosdem.org/pipermail/fosdem/2023q4/003481.html

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group

--00000000000037245a060a1b5ddc
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<div><br></div><div>I&#39;d love to know your inter=
est in attending/speaking at <a href=3D"https://fosdem.org/2024/">FOSDEM 20=
24</a>.=C2=A0</div><div>The event takes place on 3rd and 4th February 2024.=
</div><div><br></div><div>If you are interested and would like to speak abo=
ut The Xen Project but have travel funding restrictions, please reach out t=
o see if we can help by the end of this week.</div><div><br></div><div><b><=
u><i>Call For Papers</i></u></b></div><div><b><i>Submission deadline: 8th D=
ecember 2023<br>Acceptance notifications: 10th December 2023<br>Final sched=
ule announcement: 15th December 2023</i></b></div><div><b><i>Devroom: 3rd F=
ebruary 2024</i></b><pre style=3D""><span style=3D"font-family:Arial,Helvet=
ica,sans-serif"><a href=3D"https://lists.fosdem.org/pipermail/fosdem/2023q4=
/003481.html">https://lists.fosdem.org/pipermail/fosdem/2023q4/003481.html<=
/a></span><br></pre></div><div><div><div dir=3D"ltr" class=3D"gmail_signatu=
re" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</=
div><div>Kelly Choi</div><div><br></div><div><div style=3D"color:rgb(136,13=
6,136)">Open Source Community Manager</div><div style=3D"color:rgb(136,136,=
136)">XenServer, Cloud Software Group</div></div></div></div></div></div></=
div>

--00000000000037245a060a1b5ddc--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 12:10:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 12:10:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632348.986616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2sEx-0007UI-9g; Tue, 14 Nov 2023 12:09:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632348.986616; Tue, 14 Nov 2023 12: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 1r2sEx-0007UB-6V; Tue, 14 Nov 2023 12:09:59 +0000
Received: by outflank-mailman (input) for mailman id 632348;
 Tue, 14 Nov 2023 12: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=vqel=G3=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r2sEv-0007Tm-KP
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 12:09:57 +0000
Received: from mail-wr1-f42.google.com (mail-wr1-f42.google.com
 [209.85.221.42]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b904e2d7-82e6-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 13:09:55 +0100 (CET)
Received: by mail-wr1-f42.google.com with SMTP id
 ffacd0b85a97d-32f737deedfso3398473f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 04:09:55 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 b11-20020a05600010cb00b0032f9688ea48sm7685833wrx.10.2023.11.14.04.09.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 04:09:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b904e2d7-82e6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699963791; x=1700568591; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=1kHAfFfjtZjoZTk/4MlvWzgWmmeyACOraV2u09MQDWM=;
        b=gdYsbN41P7e1U6PrCZRfkfN8GF4HTlkk6csN8fHPC3T3h5ZizAmi4PkNgNjyBdtDP7
         kq0188hiYxZsplVDv/vZg2YgU8j7lHESaUpwdFXfpqib4AfkXfgAcsHi1Zj3jY5EgMq4
         4YEQXRc54VHBjmh2zunMDXgHXdE0HiB3mXPfo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699963791; x=1700568591;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=1kHAfFfjtZjoZTk/4MlvWzgWmmeyACOraV2u09MQDWM=;
        b=WasEJN8SHKWUUpqFjetj6o+p8jfjPIQUw9ICbjpQxzmi60OhkgIcpBpFpBw43TG67O
         THRlROWLxZDkp+DIAGeg8NsX7WRJ+CmzKBl3i7LOKVsixK8G++/YDgSjpjSCeR69Ho/i
         SDhCFHtP4H+ADkbWOt3xxAU8ivxylXcgQPms9x7WzMp6mBKoEOiJNHSdPVK24r6Zt0Bm
         8+uJ9XJJzntJwvmSA/+p2PO4OOBP6Ve7sSPQSBkmAajGGqRPUJegfG6GZzhseQXL4MPP
         yJfoghWbqtTEKvlTK7Vd/1q9YWBZCbX7scfOIyKTs3M7zYbtjWNpNBYA8lCcWVmweR9l
         g+RA==
X-Gm-Message-State: AOJu0Yy/1P3phlVG+Hvl/iemvGmcg/ET5vez9siKVGIkItJYHGrWtuKv
	6QtDfm9UPSRtObDvvffn+a74IQ==
X-Google-Smtp-Source: AGHT+IF+z6KJBxar28FR4O08n0+Mitcaf0SSpflB/XP7NCxSTZ0tZgxkxk2D9C7QNY5JKMScsMV/Eg==
X-Received: by 2002:a5d:47ce:0:b0:32f:8248:e00 with SMTP id o14-20020a5d47ce000000b0032f82480e00mr8166806wrc.51.1699963790940;
        Tue, 14 Nov 2023 04:09:50 -0800 (PST)
Message-ID: <6553638e.050a0220.6d36e.9962@mx.google.com>
X-Google-Original-Message-ID: <ZVNjjBnRkBwFFFHP@EMEAENGAAD19049.>
Date: Tue, 14 Nov 2023 12:09:48 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZVJifMqOR_3zINYZ@macbook.local>

On Mon, Nov 13, 2023 at 06:53:00PM +0100, Roger Pau Monn wrote:
> On Mon, Nov 13, 2023 at 04:50:23PM +0000, Alejandro Vallejo wrote:
> > Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> > registers are derivable from each other through a fixed formula.
> > 
> > Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> > rather than x2APIC_IDs (which are not, at the moment). As I understand it,
> > this is an attempt to tightly pack vCPUs into clusters so each cluster has
> > 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> > x2APIC_ID and internally derive LDR (or the other way around)
> 
> I would replace the underscore from x2APIC ID with a space instead.
Sure
> 
> Seeing the commit that introduced the bogus LDR value, I'm not sure it
> was intentional, as previous Xen code had:
> 
> u32 id = vlapic_get_reg(vlapic, APIC_ID);
> u32 ldr = ((id & ~0xf) << 16) | (1 << (id & 0xf));
> vlapic_set_reg(vlapic, APIC_LDR, ldr);
> 
> Which was correct, as the LDR was derived from the APIC ID and not the
> vCPU ID.
I can rephrase the commit message to state the clustering difference in a
way that doesn't speculate about the previous code intent. It way many
years ago and it doesn't matter terribly.
> 
> > This patch fixes the implementation so we follow the rules in the x2APIC
> > spec(s).
> > 
> > While in the neighborhood, replace the u32 type with the standard uint32_t
> 
> Likely wants:
> 
> Fixes: f9e0cccf7b35 ('x86/HVM: fix ID handling of x2APIC emulation')
Sure

> 
> > Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> 
> I do wonder whether we need to take any precautions with guests being
> able to trigger an APIC reset, and thus seeing a changed LDR register
> if the guest happens to be migrated from an older hypervisor version
> that doesn't have this fix.  IOW: I wonder whether Xen should keep the
> previous bogus LDR value across APIC resets for guests that have
> already seen it.
> 
> Thanks, Roger.
I could do that, but the fix would not be trivial. It would have to wait
for another series I'm working on that extends the CPU policy, because we'd
have to stash the initial x2APIC LDR of each vCPU on the migrate stream.
The question becomes whether there's value in preserving those LDRs, and of
that I'm not very sure.

In particular, I'm not sure how the guests might behave here. Keeping the
broken LDR could both maake things better or worse. Or better for some and
worse for others.

>From a purely pragmatic point of view, in the absence of a clear advantage
I'd rather take the path of least resistence and let nature take its
course. Otherwise, I'll just stash this patch in my topology series as it
would need to be added after the migration logic is in place.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 12:18:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 12:18:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632351.986626 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2sNB-0001uV-3B; Tue, 14 Nov 2023 12:18:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632351.986626; Tue, 14 Nov 2023 12:18: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 1r2sNB-0001uO-0Z; Tue, 14 Nov 2023 12:18:29 +0000
Received: by outflank-mailman (input) for mailman id 632351;
 Tue, 14 Nov 2023 12:18: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=vqel=G3=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r2sN9-0001uI-Sg
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 12:18:27 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8e3ce07-82e7-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 13:18:26 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40842752c6eso45557365e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 04:18:25 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 h9-20020a05600c350900b004094d4292aesm11272478wmq.18.2023.11.14.04.18.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 04:18:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8e3ce07-82e7-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699964305; x=1700569105; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=A85wZepMEi4zg8+KKhXoracYhZUvVUnNKrthvKCiGDE=;
        b=Zjlsv2ozN40ggMRpHFCgZchfcfnC9OrOeOYVaIRiwGa3Iq3uj/Qp+61PdgHoyCTuBF
         3ayE7y6QXivBSdaxqQcg2j6608jQMWR37L/tjyGjrtYrGny/z/oiAVXBBuFRDR6bgaBr
         sa2TDIRecsbKjUQ7KsambY0nLbAUcS8o+WhyY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699964305; x=1700569105;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=A85wZepMEi4zg8+KKhXoracYhZUvVUnNKrthvKCiGDE=;
        b=MU4pc1BwVljlPcWjQJNWg7J7xL7hXWk4VsdoODLYVYZTaKg4e4zRZcQHFVz8tNyXS0
         qTGgiu69NumhE6PtLlFdHWOiR8iT2Gcm3L7CAQuwnXd1p1CU+xXZRZqhOPUZzmjpQIVv
         yKica5MxP8xV33UWRQlzy8bD6qD9/JYEugZ7Aeg5aXg0+zLJO4SXAKLyJv3llKeT72eN
         LRbljmL2gLkzRaXCjAWbgK2yGFqcDas52bqhYQ2WMPqOFijnfqW6uwzhpxhPU+nCOC2M
         4xBpA2vnK4qjahIboPAPzHPfyNWpX42E49iTi3EXIGgsjfKf2tzsmMwDKju85M5teG4D
         /1NA==
X-Gm-Message-State: AOJu0YwHKaX/b/sxjsNj50LsgyX5em3mUNLKZnl7ZcegqvJ0aiu6zJ/q
	O8XECVZxnh5aDzm4ROl9Vcmgzg==
X-Google-Smtp-Source: AGHT+IGkG922mh2zAONqg8uiz7tEwvUfDdtnn+/WM/2+2Gjg6eqhVzbk8K1IFsDOA9U7HhNsFk6Qtg==
X-Received: by 2002:a05:600c:5493:b0:40a:4a7d:606b with SMTP id iv19-20020a05600c549300b0040a4a7d606bmr8090921wmb.40.1699964304752;
        Tue, 14 Nov 2023 04:18:24 -0800 (PST)
Message-ID: <65536590.050a0220.eb28a.617d@mx.google.com>
X-Google-Original-Message-ID: <ZVNljowDpefvYKZp@EMEAENGAAD19049.>
Date: Tue, 14 Nov 2023 12:18:22 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
 <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>

On Tue, Nov 14, 2023 at 11:14:22AM +0100, Jan Beulich wrote:
> On 13.11.2023 18:53, Roger Pau Monn wrote:
> > On Mon, Nov 13, 2023 at 04:50:23PM +0000, Alejandro Vallejo wrote:
> >> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> >> registers are derivable from each other through a fixed formula.
> >>
> >> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> >> rather than x2APIC_IDs (which are not, at the moment). As I understand it,
> >> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> >> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> >> x2APIC_ID and internally derive LDR (or the other way around)
> > 
> > I would replace the underscore from x2APIC ID with a space instead.
> > 
> > Seeing the commit that introduced the bogus LDR value, I'm not sure it
> > was intentional,
> 
> Hard to reconstruct over 9 years later. It feels like Alejandro may be right
> with his derivation.
> 
> > as previous Xen code had:
> > 
> > u32 id = vlapic_get_reg(vlapic, APIC_ID);
> > u32 ldr = ((id & ~0xf) << 16) | (1 << (id & 0xf));
> > vlapic_set_reg(vlapic, APIC_LDR, ldr);
> > 
> > Which was correct, as the LDR was derived from the APIC ID and not the
> > vCPU ID.
> 
> Well, it gave the appearance of deriving from the APIC ID. Just that it was
> missing GET_xAPIC_ID() around the vlapic_get_reg() (hence why LDR was
> uniformly 1 on all CPUs).
> 
> >> This patch fixes the implementation so we follow the rules in the x2APIC
> >> spec(s).
> >>
> >> While in the neighborhood, replace the u32 type with the standard uint32_t
> > 
> > Likely wants:
> > 
> > Fixes: f9e0cccf7b35 ('x86/HVM: fix ID handling of x2APIC emulation')
> 
> +1
> 
> >> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> > 
> > I do wonder whether we need to take any precautions with guests being
> > able to trigger an APIC reset, and thus seeing a changed LDR register
> > if the guest happens to be migrated from an older hypervisor version
> > that doesn't have this fix.  IOW: I wonder whether Xen should keep the
> > previous bogus LDR value across APIC resets for guests that have
> > already seen it.
> 
> That earlier change deliberately fixed up any bogus values. I wonder
> whether what you suggest will do more good or more harm than going
> even farther and once again fixing up bad values in lapic_load_fixup().
> After all LDR being wrong affects vlapic_match_logical_addr()'s outcome.
> I think one of the two wants adding to the change, though.
> 
> Jan
You mean changing the LDR of a vCPU to the correct value on migrate? That
feels like playing with fire. A migrated VM is presumably a VM that is
running without issues (or it would have been rebooted). Letting it run
as it did seems safer.

I don't think vlapic_match_logical_addr() is affected. The LDR's are still
unique in the bogus case so the matching ought to work. Problem would arise
if the guest makes assumptions about APIC_ID and LDR relationships.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 12:25:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 12:25:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632354.986635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2sUE-0003NC-P8; Tue, 14 Nov 2023 12:25:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632354.986635; Tue, 14 Nov 2023 12:25: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 1r2sUE-0003N5-Mf; Tue, 14 Nov 2023 12:25:46 +0000
Received: by outflank-mailman (input) for mailman id 632354;
 Tue, 14 Nov 2023 12:25: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2sUD-0003Mz-Bx
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 12:25:45 +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 ee4f6a23-82e8-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 13:25:43 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-53e04b17132so8617674a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 04:25:43 -0800 (PST)
Received: from [192.168.69.100] (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 rs4-20020a170907036400b009a1a653770bsm5412508ejb.87.2023.11.14.04.25.41
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 04:25:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee4f6a23-82e8-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699964743; x=1700569543; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/OaNUIXzZbTozIX8X4xF9tfJTPhcFd4ZMAc/W8lKR1s=;
        b=zk8DWupF9N0cmWp66FR4v1J33Xs3YMYJPyNA/noejWJ/G3ZnqbJvkrvcT5iVpC9Ef3
         Nc4e383D0qYfnRvTZnKwHrVhbObKqHuIUBg7AtZndT+UrTIZrZQ2gAwzVZMTqOEKdoun
         15evxMjzMic/nYEnDrFyiVhgCc21KQlxkJgtSkY78JhhPEPOuG7+5+62oEExfATho4Uw
         s7wiu/YxL/xRUiflPV4n2tF3X5JH+xMkLznVIPxnYuFbuvflI/yVHVLKQm0YmJuDSVMI
         V1VNF6tH2MAyyrasl9CAtDQ08LxJ1Fa3c2yKMN8rmAkxPB8RUTx5xL6mnmoy6bAa6Fx5
         +1Dw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699964743; x=1700569543;
        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:subject:date:message-id:reply-to;
        bh=/OaNUIXzZbTozIX8X4xF9tfJTPhcFd4ZMAc/W8lKR1s=;
        b=h0jhAFzpYW4TztaaqAsnyiFPZUwSWClIDkJ7613JQjIkJyfPFw0TAaYzxHyP178+N+
         7fzUX5pPlBOaJiVo2U8jQnpzEaCziwm1INGoOFrgq3cfZ7q6PzzWRutwtX+owwMnsNtu
         axtlAZ2DvyrUT7vwb3Eqkwhq2r5+/4dktadQsA5Jndp8DwUQvP0u0f7pPjy/WOQAvuTa
         nPGGBrFCDbSVMskAjHdvgULuq6plkmlkm3oDw08QZAjKQlHr74NakqqEMsusuz6cu61P
         WmD10ZQw+U9UZ3RRSTBpUowrtAQ0wdc+vFcgeYecpHa0+jRyKiy+ZmLNDNmUUnUDlehu
         Mt6w==
X-Gm-Message-State: AOJu0YzvjHFTwDaF2bFtCfNRogrbJoCEDBnpkst+2G3d1olfRRQ1udKN
	XG1wk0R+pNqs9CzlkJkIKvlmkg==
X-Google-Smtp-Source: AGHT+IHM6IuBxGUDmhvjGjE56b7qH2UrMdIaZaFuXREseUVLlPhT1pToLbIdRgtL7O9mZ4K3ubCdVQ==
X-Received: by 2002:a17:906:5245:b0:9e5:2b1f:13f4 with SMTP id y5-20020a170906524500b009e52b1f13f4mr6552715ejm.42.1699964743415;
        Tue, 14 Nov 2023 04:25:43 -0800 (PST)
Message-ID: <86153cf2-129d-4e1e-8949-786764bdf607@linaro.org>
Date: Tue, 14 Nov 2023 13:25:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 07/10] sysemu/xen-mapcache: Check Xen availability
 with CONFIG_XEN_IS_POSSIBLE
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-8-philmd@linaro.org>
 <9ba10b4a92ac6782d0c581b1e1ee5d5efee44c33.camel@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <9ba10b4a92ac6782d0c581b1e1ee5d5efee44c33.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 13/11/23 20:52, David Woodhouse wrote:
> On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daudé wrote:
>> "sysemu/xen.h" defines CONFIG_XEN_IS_POSSIBLE as a target-agnostic
>> version of CONFIG_XEN. Use it in order to use "sysemu/xen-mapcache.h"
>> in target-agnostic files.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> 
> Noting that CONFIG_XEN_IS_POSSIBLE is for Xen accelerator support, and
> may not be set in all cases when we're hosting Xen-compatible guests,

As is CONFIG_XEN.

Maybe be worth renaming CONFIG_ACCEL_XEN if you think we need
guest hw specific CONFIG_foo_XEN variables.

> Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>

Thanks!


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 12:32:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 12:32:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632358.986646 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2sar-00062y-Fe; Tue, 14 Nov 2023 12:32:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632358.986646; Tue, 14 Nov 2023 12: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 1r2sar-00062r-CF; Tue, 14 Nov 2023 12:32:37 +0000
Received: by outflank-mailman (input) for mailman id 632358;
 Tue, 14 Nov 2023 12:32: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2sap-00062l-6v
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 12:32:35 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e02d4c5c-82e9-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 13:32:29 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7685.eurprd04.prod.outlook.com (2603:10a6:20b:29c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Tue, 14 Nov
 2023 12:32:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 12: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>
X-Inumbo-ID: e02d4c5c-82e9-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RXMtckswGgwYjjs4sZ4mBANhF+HoVwtjw8pbinfLzG0tVIrhGd1ZvB7OhdhyT9+N4eDnS6m78lSxrvQXUpYKbf0q5P0y/JgoohdhPU8nBijUyS+FtPJ2pU8Q4xofqjUNVMqwKZHTa46ElIXuYFqAgThzlXRfUyYE4Z+qvDdCrwRf5fSwsdNrR/8ibAgrIShfIXAhaQ2c7XYK2tcMcQLR5APetCzUW8rl8F6+7+R1tnCquIQhW1TFOJIt7OJWmt18XJOFpsA+hxhootQ37jNblbbbvJUbYoNcTngg+5TpsxXa8jQXjw94stzchqOqTnfVPxUSbKL1rdzc6dkkXZGCaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3NgwVHFAg5mf9Q3oV867REBeeqplWwJ9HT9EusJB+lc=;
 b=j5ApMFm1qSv99vYxIyzKsm2BnzESNLRErANSOIm3tUfrYKza6JYmWESTfsD8Ew+L5vULBIXDsc3lTXnXbEX33lWdf9EWqYwkoMAC+aDZ3U/A65igpNk/ghM9+mr77sJ+WXMymHImpPx0wRCU8NCX3I7T9DFSiG9GBXK0KHi91g0HJdHkF435R6kulLB9xFNE3Hlu54iyN0pDRxwjku1h/tGS1PKv3ENY0jQhH0G6OQgXyCj3bLjWzxhrUkWSFtKZLgnD3Bir0xBzVxBG6A22NzRcNuaN2/KMpqB0KqyLuo4c6CNrfF4I8gHa3IYQPgxGzypcDFUvt1+TdipektmVcw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3NgwVHFAg5mf9Q3oV867REBeeqplWwJ9HT9EusJB+lc=;
 b=lEiUViWEMGNULQmVk5dodkwWK8469F+w+pMg8jGfITXYRSFx/CEwIgnYKwwKzd7XTLobvG0dz3nQyQ4kURcmYPPdpCRehXGe6w4wnRLG0KE2tNeOi9yVylR2SMPFesX1XjDtmjWFMD4dHzin2v9+YFzvtEGkSdPo4B1LJw2hJVY5clFGBnlhqPxmXu3Yv4lk9I3I3FKwGl9b9juZRFYQgjtbLy0in/ArSpNcqjBZzvQBtFy9kgKaEcUGqVxRWtlsRRRX7P5dUT8CE1J5Lft/lwb6zB2ZtPev9GnhQmSLw2xPoagemlYNxILd+RGzYDVhb0L1sMkO65neVydwHRRj4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f278f367-81cb-4a72-9303-23622dea3abd@suse.com>
Date: Tue, 14 Nov 2023 13:32:25 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
 <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
 <65536590.050a0220.eb28a.617d@mx.google.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <65536590.050a0220.eb28a.617d@mx.google.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0076.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1f::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7685:EE_
X-MS-Office365-Filtering-Correlation-Id: 53b1638c-b7c9-42a6-40ae-08dbe50dc2dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IW1DseLEczGZVOZVDVigjK8Y0MdAoNNRmywSXe41tyjjejTFd2ThceVv74tgaAFLg3N7mg6T+TZiCAAd/kLOar/UyUAlVZZjw2J40HOTaRTl4aJYf10ebhdu+slGUaY2ZmtXm/L7k+8I4bdt18b6cmULUz/Ltbn/sZ32E9UCAz1McYa8YI5JcNEcvslt6vYbJcifB8YZV1EpYEH8YfFlMg62QiH4Yqr4uhVdbMEGQBaGbR3a6YCg1L/yeLRWue7lnx248tRhnQ9yfVgGrQRC+9o7WZyvar8WNE94pb8cX/1yxxtKj+hcRhFbfGe3bJ99kcO7PmQY38oAPqslIYWpHLdYNFi+ZtlgjspMNgpy/OPIXWu8DYijyVbCocvSGOMtf0AyxGomhKzdzkuGGUSxyskGsMc5I3fpQ7GYTQuzJ5C6+MyeoJgf1/a7SEM10BuPyn5+YZr6e4SxOG3glDtZ5RGCGrzVj7/CQzI+8Wq0HvSAPLCBQoRR7FqJgC72Yqd40NSvINzxHq4O2CDWvlPjWqCclUvl1esSSkBR27oskDrXP3Da0aht1gAfTlKqU1VzHxb4Vth+4gpQFS15rtpJzJr+v2jQc/FlNDnsS01eqwx4u1jNVCdRTtJlGu0L7EPBiO9F/CdUMqD+Hws8/0XUZQl7TQuadQ0cgtfRl4UZxFvUq1nxvPLNkuXdkSLsWEMz
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(366004)(376002)(39860400002)(346002)(230173577357003)(230273577357003)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(86362001)(5660300002)(6486002)(66946007)(31696002)(6512007)(36756003)(316002)(4326008)(66476007)(8936002)(8676002)(66556008)(54906003)(6916009)(41300700001)(31686004)(2906002)(38100700002)(26005)(2616005)(6506007)(53546011)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkpwbVM4OGtHc1lKMlROTnkvbFRDTjYzZlpESXFGTFlIUXp0SFlacStKUGhp?=
 =?utf-8?B?ckxSOGhtc0l4ejl2cmZKdXBHS2QxWURGaGdsTmdJNXBsTFRnbEFqRXh4ZmJG?=
 =?utf-8?B?enlFSitadmo5WDRtaXkySkx3T24wSWk3TmlMSWdkdndKZ1VjQXVGNVJzaHJo?=
 =?utf-8?B?ZGdFQThYTVBVZVQyY2ltLzFFOXRDT3VzZUNPUzRWWklWZmJvTlZUNW92eDNZ?=
 =?utf-8?B?ZloxOUptb1I0Z2xUOC9IY0owejFSZFNadkFZcDNmUnBhVkdIdExvSU9NNUVP?=
 =?utf-8?B?Y3RkaWQrMFVmYnJTN0RRbUpVVnFkc2QvdlViY0I1aW94Y1FFczRraGV1UU5K?=
 =?utf-8?B?bEkwZzM2NVgrcHh0ZDBKeU00L2doV1BudnNJa0p1L1BJNTkvdjdJWkc2OHpN?=
 =?utf-8?B?Rkg1aXFJMlp0VXRrYXBQZmNxQWVUVm9YWVRmTWVJVzRJWlo2SEpuaTFXeU5w?=
 =?utf-8?B?SW9lWmVhWXdKaU9oOEx1Qk9aS053aFFtOWM2aUcwNGZGNmZPdVlhaHZoZ3JU?=
 =?utf-8?B?Y09NQWZ0V0xpMko5MlFZOUVOSzVOQUx5WHdPanJmazVLdkxvNndkQVU2d01k?=
 =?utf-8?B?dGo2YTJ1MEErUjQxekJJeFlROUg3TUJXZjIvaFNSKytKc1BGQUQwa0xBc0dW?=
 =?utf-8?B?Y3QyTWo2R2RYUlE4Ym5EazBoNVRGVVlKZEQyTW9oNEJ4b3JkMS96L0xhL3RH?=
 =?utf-8?B?NUJucWR0S1RROGY1SUlHZVFLMTBUeWhHaUs5bUEwMDZXL0JiZmZoSGZFZEN2?=
 =?utf-8?B?V0tYRDhDRFBYSWlRR0dvMEZ5WXJRUzl6SXZ2My9qd0UzOFBkcUdUQ0FIWlpU?=
 =?utf-8?B?OC9Ya2o2UzJ3OC9RRXgvTnVKemlOTG0zbVVEQmgrSEd0VGZ4aFVmbjF0T0ZM?=
 =?utf-8?B?VVdJS0VwanVESEs5QTlPb1o3M2tzWHZnNDRjU21pZ3krYXVOYlVsRDNtdWNZ?=
 =?utf-8?B?dFRJYVU2WkIwRDdjSFR2NlpoQmpxVVhJc3JoZUphWVViMmcvTVZxeitWc3lI?=
 =?utf-8?B?S3VobjlzdityMVlKWHV3MDJmV28yeFJDNVZWYzY5QWZRZVBUcENRL24yWHBF?=
 =?utf-8?B?dmgvVEVnSXR4aWpkVnN0RmlzUjdFRE1ibnZCSVZzOEYzRHB2ZlV5WnBINFR3?=
 =?utf-8?B?a29lbC9GK2tkMmxtb0pFQStIOWR0Z1JTbElHK0ZKdC9HaWFFWUhJbFdPbmRU?=
 =?utf-8?B?bHA1NGdEeGdzSVNDNkk5S1JmbjRvbGxoQnRCM0lDY25iek9LcWJ0UjJIVGtZ?=
 =?utf-8?B?RER2Z3l3MTBla3M0VDZTMVZMTDBQaGVoeGgzdk9saDBwb2pUTVRmYnFsQm9x?=
 =?utf-8?B?NHFXdzlLMUpHN2VJSmlEN0dlQW1TaG5SellxbVZqNUFoczFpNk9NNnFlYmQ1?=
 =?utf-8?B?NjR5QVB3dmo3cm96bGNoL3NGUWYvaHlXL0F3ZWViMW5sMnh0SGgzVGpQRi9x?=
 =?utf-8?B?aWU2VzZJMEpPWDFwakVsL1pMdHg2eHJmNHBhRi9yc1pzbnBrZC9KMncvQjN6?=
 =?utf-8?B?SmRJN0NjeGt2SkgyMWl6aW9BQWpLSVFMaFJ5UTJ2eDUrUHU4eEQraGt3VDBu?=
 =?utf-8?B?Z1RkUnc1bHpWRmhMeDliQ0psK2hnZHFTMWtZbWtDbjBVR3AwNmZxRFkzamNp?=
 =?utf-8?B?WER4b0krb3kvdDJLdEkzUEtFR1pGa3k0bUhBZXlnRFoyR0NwUEJUNVJqVTVG?=
 =?utf-8?B?ekg1UHBUT0M2aEMwWjNMMHJqZTc0dGFpMHhtR045SHlvcnBCbEl2VDdDK2ov?=
 =?utf-8?B?bllnbzZFTXVHcGFaVFF3OUdKK3ZiN2VrT2hTeXZQWFNTbnpMVHovRkpZUHFZ?=
 =?utf-8?B?cUpDa0tFb2YrU0VvR0J6RlVJRDdzQXd5c2c5Tys4WVZpcXd6d3JnRGY4TFho?=
 =?utf-8?B?aWFWZWhXT2VFTVcvbWxtdDJuRUFYdFlnenpoR0c0cm00TlBPQVN4K28vRGdq?=
 =?utf-8?B?V2FCM1JVUnV2ZHJWcU1LTm9LMW9CeitRcXNENEVZdGxPWXN0WVhtVEFXUG9E?=
 =?utf-8?B?M0t1cEJqaTlQUXBoK3B6dFgyTGlIMjVuR1BSMHZ1Nm1aeGVwaEMwRXBRRzEy?=
 =?utf-8?B?UGVMMERPaGdRZDVxcVZWVzlMUWROMmRmd1Z5RzlVUzBMMFhvMm95c0d4WVhI?=
 =?utf-8?Q?vi0cA5PdknM1RlsCTqChX/NBw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53b1638c-b7c9-42a6-40ae-08dbe50dc2dc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 12:32:27.0871
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lZN/FEx5iaq8kMzPEDKYto6ogHrcTD7C523rM5Avj8PCjrmQOn0CqELpSd1dgjNmJC2eLKJMJ1VOHlOdJPxUBQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7685

On 14.11.2023 13:18, Alejandro Vallejo wrote:
> On Tue, Nov 14, 2023 at 11:14:22AM +0100, Jan Beulich wrote:
>> On 13.11.2023 18:53, Roger Pau Monné wrote:
>>> On Mon, Nov 13, 2023 at 04:50:23PM +0000, Alejandro Vallejo wrote:
>>>> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
>>>> registers are derivable from each other through a fixed formula.
>>>>
>>>> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
>>>> rather than x2APIC_IDs (which are not, at the moment). As I understand it,
>>>> this is an attempt to tightly pack vCPUs into clusters so each cluster has
>>>> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
>>>> x2APIC_ID and internally derive LDR (or the other way around)
>>>
>>> I would replace the underscore from x2APIC ID with a space instead.
>>>
>>> Seeing the commit that introduced the bogus LDR value, I'm not sure it
>>> was intentional,
>>
>> Hard to reconstruct over 9 years later. It feels like Alejandro may be right
>> with his derivation.
>>
>>> as previous Xen code had:
>>>
>>> u32 id = vlapic_get_reg(vlapic, APIC_ID);
>>> u32 ldr = ((id & ~0xf) << 16) | (1 << (id & 0xf));
>>> vlapic_set_reg(vlapic, APIC_LDR, ldr);
>>>
>>> Which was correct, as the LDR was derived from the APIC ID and not the
>>> vCPU ID.
>>
>> Well, it gave the appearance of deriving from the APIC ID. Just that it was
>> missing GET_xAPIC_ID() around the vlapic_get_reg() (hence why LDR was
>> uniformly 1 on all CPUs).
>>
>>>> This patch fixes the implementation so we follow the rules in the x2APIC
>>>> spec(s).
>>>>
>>>> While in the neighborhood, replace the u32 type with the standard uint32_t
>>>
>>> Likely wants:
>>>
>>> Fixes: f9e0cccf7b35 ('x86/HVM: fix ID handling of x2APIC emulation')
>>
>> +1
>>
>>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>>>
>>> I do wonder whether we need to take any precautions with guests being
>>> able to trigger an APIC reset, and thus seeing a changed LDR register
>>> if the guest happens to be migrated from an older hypervisor version
>>> that doesn't have this fix.  IOW: I wonder whether Xen should keep the
>>> previous bogus LDR value across APIC resets for guests that have
>>> already seen it.
>>
>> That earlier change deliberately fixed up any bogus values. I wonder
>> whether what you suggest will do more good or more harm than going
>> even farther and once again fixing up bad values in lapic_load_fixup().
>> After all LDR being wrong affects vlapic_match_logical_addr()'s outcome.
>> I think one of the two wants adding to the change, though.
>>
> You mean changing the LDR of a vCPU to the correct value on migrate? That
> feels like playing with fire. A migrated VM is presumably a VM that is
> running without issues (or it would have been rebooted). Letting it run
> as it did seems safer.

See Andrew's reply.

> I don't think vlapic_match_logical_addr() is affected. The LDR's are still
> unique in the bogus case so the matching ought to work. Problem would arise
> if the guest makes assumptions about APIC_ID and LDR relationships.

The LDRs still being unique (or not) isn't what I'm concerned about. It is
the function's return value which would be wrong, as the incoming "mda"
presumably was set in its respective field on the assumption that the LDRs
are set in a spec-compliant way. There not having been problem reports
makes me wonder whether any guests actually use logical delivery mode in a
wider fashion.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 12:56:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 12:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632365.986655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2sxP-0002px-Ci; Tue, 14 Nov 2023 12:55:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632365.986655; Tue, 14 Nov 2023 12: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 1r2sxP-0002pq-A6; Tue, 14 Nov 2023 12:55:55 +0000
Received: by outflank-mailman (input) for mailman id 632365;
 Tue, 14 Nov 2023 12:55: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=Iys2=G3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r2sxO-0002pk-Fv
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 12:55:54 +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 244f9b14-82ed-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 13:55:52 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-9c603e235d1so832488166b.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 04:55:52 -0800 (PST)
Received: from [192.168.107.1] ([31.94.60.175])
 by smtp.gmail.com with ESMTPSA id
 o16-20020a170906775000b00982a92a849asm5495455ejn.91.2023.11.14.04.55.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 04:55:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 244f9b14-82ed-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699966552; x=1700571352; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0ROOAYgvmEQ8Q9HcoTG3cFBtRf6MvfqLb0ti00MHtSI=;
        b=lzH+Np5+z9wn/kBRBV1mNNKaYbFjLDYixNRYN8DdGTKwHL/pl6RZ0NE3venDYLFnjB
         6lYl5dqNk3AOpXqTZ/UQOtORJVDVkTR0eD/fpop4i43rRUnKpoeMTTtJDrSu6391ZEvK
         cyfv+5q232chfyczbryRQU8Zf41gLGgpmYdTo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699966552; x=1700571352;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0ROOAYgvmEQ8Q9HcoTG3cFBtRf6MvfqLb0ti00MHtSI=;
        b=GHHPMyId7Vx61Pj6skHsrX+1CsmxTfulj01PMwu/dksdSP4sWqAbGVlt0SBehANbhp
         0e0ijPcE0qX6iroN57CWjn9/Ltz5LQKVdoOUdN5fV2WmI4y3p+SY29Dbrj6Qenfd7Rr2
         dwf1NMmfYmwu5Cvafz1GOiXYLF7iKgObRfDUSQASVoCaLe8z9b1CvLn8smv4lyRUDnrF
         vhllK7GvHy2zHCA9vnJ7DmuXlCCO5icSopNQdH+LvOOlI3oEUWtjhAArXW/M9h7uYPBR
         AZ/xY3YxPBtUe8MbWCn+PdTfoPH1a2qHfO5H8DmhqDEkJBcP6xQGf1b9uE2mMswDscC4
         +c0Q==
X-Gm-Message-State: AOJu0Yw+EiozHJ2THb/anRu4HnUEo5i+5YHC0fuz9Vlg5VIcAvlvOQKd
	x/5ufFsSPpTjvGi95eiOZeykWA==
X-Google-Smtp-Source: AGHT+IHXXWoQ1dAGkde1rZ/szSgea+/TOIRpP2DJnDGfkybwB9ve68KbtpeoRmFdLFuV1H8dmwn4qw==
X-Received: by 2002:a17:906:748c:b0:9e1:a5eb:8cb4 with SMTP id e12-20020a170906748c00b009e1a5eb8cb4mr7295668ejl.58.1699966551963;
        Tue, 14 Nov 2023 04:55:51 -0800 (PST)
Message-ID: <fd99ea62-f011-4bcb-ba83-4698b5d267fd@citrix.com>
Date: Tue, 14 Nov 2023 12:55:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
 <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
 <65536590.050a0220.eb28a.617d@mx.google.com>
 <f278f367-81cb-4a72-9303-23622dea3abd@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <f278f367-81cb-4a72-9303-23622dea3abd@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/11/2023 12:32 pm, Jan Beulich wrote:
> On 14.11.2023 13:18, Alejandro Vallejo wrote:
>> On Tue, Nov 14, 2023 at 11:14:22AM +0100, Jan Beulich wrote:
>>> On 13.11.2023 18:53, Roger Pau Monné wrote:
>>>> On Mon, Nov 13, 2023 at 04:50:23PM +0000, Alejandro Vallejo wrote:
>>>>> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
>>>>> registers are derivable from each other through a fixed formula.
>>>>>
>>>>> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
>>>>> rather than x2APIC_IDs (which are not, at the moment). As I understand it,
>>>>> this is an attempt to tightly pack vCPUs into clusters so each cluster has
>>>>> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
>>>>> x2APIC_ID and internally derive LDR (or the other way around)
>>>> I would replace the underscore from x2APIC ID with a space instead.
>>>>
>>>> Seeing the commit that introduced the bogus LDR value, I'm not sure it
>>>> was intentional,
>>> Hard to reconstruct over 9 years later. It feels like Alejandro may be right
>>> with his derivation.
>>>
>>>> as previous Xen code had:
>>>>
>>>> u32 id = vlapic_get_reg(vlapic, APIC_ID);
>>>> u32 ldr = ((id & ~0xf) << 16) | (1 << (id & 0xf));
>>>> vlapic_set_reg(vlapic, APIC_LDR, ldr);
>>>>
>>>> Which was correct, as the LDR was derived from the APIC ID and not the
>>>> vCPU ID.
>>> Well, it gave the appearance of deriving from the APIC ID. Just that it was
>>> missing GET_xAPIC_ID() around the vlapic_get_reg() (hence why LDR was
>>> uniformly 1 on all CPUs).
>>>
>>>>> This patch fixes the implementation so we follow the rules in the x2APIC
>>>>> spec(s).
>>>>>
>>>>> While in the neighborhood, replace the u32 type with the standard uint32_t
>>>> Likely wants:
>>>>
>>>> Fixes: f9e0cccf7b35 ('x86/HVM: fix ID handling of x2APIC emulation')
>>> +1
>>>
>>>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>>>> I do wonder whether we need to take any precautions with guests being
>>>> able to trigger an APIC reset, and thus seeing a changed LDR register
>>>> if the guest happens to be migrated from an older hypervisor version
>>>> that doesn't have this fix.  IOW: I wonder whether Xen should keep the
>>>> previous bogus LDR value across APIC resets for guests that have
>>>> already seen it.
>>> That earlier change deliberately fixed up any bogus values. I wonder
>>> whether what you suggest will do more good or more harm than going
>>> even farther and once again fixing up bad values in lapic_load_fixup().
>>> After all LDR being wrong affects vlapic_match_logical_addr()'s outcome.
>>> I think one of the two wants adding to the change, though.
>>>
>> You mean changing the LDR of a vCPU to the correct value on migrate? That
>> feels like playing with fire. A migrated VM is presumably a VM that is
>> running without issues (or it would have been rebooted). Letting it run
>> as it did seems safer.
> See Andrew's reply.
>
>> I don't think vlapic_match_logical_addr() is affected. The LDR's are still
>> unique in the bogus case so the matching ought to work. Problem would arise
>> if the guest makes assumptions about APIC_ID and LDR relationships.
> The LDRs still being unique (or not) isn't what I'm concerned about. It is
> the function's return value which would be wrong, as the incoming "mda"
> presumably was set in its respective field on the assumption that the LDRs
> are set in a spec-compliant way. There not having been problem reports
> makes me wonder whether any guests actually use logical delivery mode in a
> wider fashion.

They likely don't.

Logical delivery for xAPIC only works in a tiny fraction of cases
(assuming correct topology information, which we don't give), and
persuading a VM to turn on x2APIC without a vIOMMU is not something
we've managed to do in Xen.

Also (as I learn talking to people just last night) it turns out that
Logical Destination Mode for external interrupts is entirely broken
anyway.  It always hits the lowest ID in the cluster, unless the LAPIC
in question is already servicing a same-or-higher priority interrupt at
which point the next ID in the cluster is tried.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 13:18:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 13:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632395.986665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2tIu-0008LI-3o; Tue, 14 Nov 2023 13:18:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632395.986665; Tue, 14 Nov 2023 13:18: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 1r2tIu-0008LB-1J; Tue, 14 Nov 2023 13:18:08 +0000
Received: by outflank-mailman (input) for mailman id 632395;
 Tue, 14 Nov 2023 13:18: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=ZdVB=G3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r2tIt-0008JW-56
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 13:18:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d2622f9-82f0-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 14:18:02 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 0D5254EE0738;
 Tue, 14 Nov 2023 14:18:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d2622f9-82f0-11ee-98db-6d05b1d4d9a1
MIME-Version: 1.0
Date: Tue, 14 Nov 2023 14:18:02 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, andrew.cooper3@citrix.com,
 xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 jbeulich@suse.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>, Anthony
 PERARD <anthony.perard@citrix.com>, George Dunlap
 <george.dunlap@citrix.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [XEN PATCH v3 2/3] docs: make the docs for MISRA C:2012 Dir 4.1
 visible to ECLAIR
In-Reply-To: <0e6c48d5-d108-44d9-bd6b-479d18044be2@xen.org>
References: <cover.1696231870.git.nicola.vetrini@bugseng.com>
 <fd60f0f3c777652bd305a97b559cb7ee23293e8d.1696231870.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2310021531430.2348112@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311071240240.3478774@ubuntu-linux-20-04-desktop>
 <0c853769-8d59-4ce4-95d3-8acefddd8ed8@xen.org>
 <791354c61840c8e37cd2ee3c99689236@bugseng.com>
 <0e6c48d5-d108-44d9-bd6b-479d18044be2@xen.org>
Message-ID: <a508af252f3c7a96e6fdfa655a49502b@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-09 13:05, Julien Grall wrote:
> Hi,
> 
> On 08/11/2023 17:12, Nicola Vetrini wrote:
>> On 2023-11-08 17:25, Julien Grall wrote:
>>> Hi Stefano,
>>> 
>>> On 07/11/2023 20:41, Stefano Stabellini wrote:
>>>> +Julien, Andrew
>>>> 
>>>> Julien and Andrew raised concerns on this patch on the Xen Matrix
>>>> channel. Please provide further details.
>>> 
>>> Thanks! It looks like I was already CCed but this likely got lost 
>>> with all the MISRA patches...
>>> 
>>> On Matrix, there was concerned raised that the documentation now have 
>>> a dependency on C compiler and you are also build C files in docs.
>>> 
>>> In addition to that, I have a few more comments.
>>> 
>> 
>> The .rst file was chosen to have a human-readable format for the 
>> runtime failures
>> documentation. The other option that is otherwise viable is having a 
>> dummy .c or .h in
>> the sources (in this case it would likely be under xen/).
>> 
>> The transformation of this file into a .c file could be done from 
>> xen's Makefile of course,
>> but I reckoned that would have been more difficult, as the Makefile 
>> for the docs is
>> far shorter
> 
> I understand that the Makefile for docs is shorter. However this seems 
> to be the wrong place to "compile" a file.
> 
> I think it makes more sense to do it from xen/ as those deviations are 
> only for the hypervisor. IOW they don't apply for the tools.
> 
> [....]
> 

I have the intention to place this in the eclair analysis build script, 
to keep the
modifications to a minimum.

>>>>>> +
>>>>>> +all: $(TARGETS)
>>>>>> +
>>>>>> +# This Makefile will generate the object files indicated in 
>>>>>> TARGETS by taking
>>>>>> +# the corresponding .rst file, converting its content to a C 
>>>>>> block comment and
>>>>>> +# then compiling the resulting .c file. This is needed for the 
>>>>>> file's content to
>>>>>> +# be available when performing static analysis with ECLAIR on the 
>>>>>> project.
>>> 
>>> I am a bit lost with the explanation. The generated object will be 
>>> empty. So why do you require to generate it?
>>> 
>> 
>> See above. The only requirement is that some intercepted toolchain 
>> invocation happens
>> and that the processed file has a comment block containing the strings 
>> specified below.
>> The resulting artifact isn't needed in any way.
> 
> Just to confirm, there is no way for Eclair to specify some extra file 
> that don't require "compilation"?
> 

Correct.

>> 
>>> Furthermore, the content doesn't seem to follow a specific syntax (or 
>>> at least it is not clear that it should follow one). So why do you 
>>> need to expose the content to Eclair?
>>> 
>> 
>> Under the hood there's a regex matching the resulting comment block 
>> against a set of default
>> templates used to indicate that the project has some form of 
>> documentation around runtime
>> failures. The default templates are along these lines (the comment 
>> begin and end markers
>> need not be on the same line):
>> 
>> /* Documentation for MISRA C:2012 Dir 4.1: overflow <description> */
>> 
>> If the string is matched, then documentation for that particular 
>> category of runtime
>> failures is deemed present, otherwise a violation will be reported 
>> (one for each category).
>> Both the categories and format of the string to be matched can be 
>> customized, but I'd like
>> to avoid doing that.
> 
> Ok. The format should be documented at top of the rst file so a 
> developper knows how to modify the file correctly.
> 

Ok. Although the authoritative reference is the ECLAIR User Manual, so 
what I'll put here is to be taken as an example.

>> 
>>>>>> +
>>>>>> +# sed is used in place of cat to prevent occurrences of '*/'
>>>>>> +# in the .rst from breaking the compilation
>>>>>> +$(TARGETS:.o=.c): %.c: %.rst
>>>>>> +    printf "/*\n\n" > $@.tmp
>>>>>> +    sed -e 's|\*/|*//*|g' $< >> $@.tmp
>>>>>> +    printf "\n\n*/\n" >> $@.tmp
>>>>>> +    mv $@.tmp $@
>>>>>> +
>>>>>> +%.o: %.c
>>>>>> +    $(CC) -std=c99 -c $< -o $@
>>> 
>>> AFAICT, this will generate a file using the host compiler. This may 
>>> be different from the compiler used to build Xen.
>>> 
>>> So I will repeat myself, how all of this matters? Maybe it would be 
>>> useful if you provide some documentation from Eclair.
>>> 
>>> Cheers,
>> 
>> The only non-trivial bit is that the file 
>> automation/eclair_analysis/ECLAIR/toolchain.ecl
>> specifies some compilers (if this needs to be adjusted to something 
>> other that $(CC), then I
>> may need some additional guidance) and the c99 standard, hence if you 
>> use a different
>> compiler ECLAIR will complain that you didn't document the toolchain 
>> assumptions according
>> to D1.1 (which is incidentally why we created the file 
>> C-language-toolchain.rst).
> 
> We should use the same/compiler as used by the hypervisor. I feel 
> anything else is just a gross hack and may break in the long term. 
> Hence why it makes a lot more sense to generate/"compile" the file from 
> the hypervisor Makefile.
> 

See above. Placing the compilation in the analysis script will use the 
same compiler used for the hypervisor.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 13:19:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 13:19:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632398.986676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2tJr-0000dg-Co; Tue, 14 Nov 2023 13:19:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632398.986676; Tue, 14 Nov 2023 13: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 1r2tJr-0000dZ-9v; Tue, 14 Nov 2023 13:19:07 +0000
Received: by outflank-mailman (input) for mailman id 632398;
 Tue, 14 Nov 2023 13: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2tJo-0000Hv-KS
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 13:19:05 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e958b1f-82f0-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 14:19:01 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2tJD-0089f3-0n; Tue, 14 Nov 2023 13:18: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: 5e958b1f-82f0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=rIxfB7lqS8f6/uYru2oZbhVJ7EWsaS7Tb6LAwvtqCRY=; b=P0YnzimbL37kEQWcgkevi2TagE
	SUuAaRXzCA6P2jeXBnfhfZHTwZ3ttqyBdF17eNC5aqLuWrxqsHMSESM4hJkC0751oyY6E53+c1BMS
	Xc5+PO+TKvwXc+v/wDO5hBjH2Ee9G3sdZyk6KOaEC1QY2ngjM+QeBXe1vd+LtlhkILpvMSg81fkVl
	vzd4SbZoVIUqlnjaspNZlzG+bfO/c/T4RL9UnwY6WGrBBhRem6SkA3PE1VhgE/a0pHCa+4To1YI0B
	mE9ZMZAmdxHALzr0YI7P74puQCmm2OKvsuMe0NXc2NzvZLKsNc6nFJ12S0WyABVBhw6Er4Xu4aEqb
	/MHPSXDA==;
Message-ID: <112d2f8a79668c8a115df806d9587077c45ead96.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 07/10] sysemu/xen-mapcache: Check Xen
 availability with CONFIG_XEN_IS_POSSIBLE
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: "Michael S. Tsirkin" <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?=
 <alex.bennee@linaro.org>, Anthony Perard <anthony.perard@citrix.com>, 
 xen-devel@lists.xenproject.org, Stefano Stabellini
 <sstabellini@kernel.org>,  qemu-block@nongnu.org, Thomas Huth
 <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>
Date: Tue, 14 Nov 2023 08:18:24 -0500
In-Reply-To: <86153cf2-129d-4e1e-8949-786764bdf607@linaro.org>
References: <20231113152114.47916-1-philmd@linaro.org>
	 <20231113152114.47916-8-philmd@linaro.org>
	 <9ba10b4a92ac6782d0c581b1e1ee5d5efee44c33.camel@infradead.org>
	 <86153cf2-129d-4e1e-8949-786764bdf607@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-aUBqOTLgNepVR1v3+gmY"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Tue, 2023-11-14 at 13:25 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
>=20
> As is CONFIG_XEN.
>=20
> Maybe be worth renaming CONFIG_ACCEL_XEN if you think we need
> guest hw specific CONFIG_foo_XEN variables.

I don't think so. We have CONFIG_XEN_BUS and CONFIG_XEN_EMU (from
commit 820c1aba519b) which I think are all we need.

Thanks.

--=-aUBqOTLgNepVR1v3+gmY
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTE0MTMxODI0WjAvBgkqhkiG9w0BCQQxIgQgnJryHOXY
5Pt9DjCzf/ly9qVlDKJr7NwNfjpuEp4y/mgwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCTlgw+sdY9PfyEu4sv1rE08NPZUYXqIwj0
9CkAka/Jf0dYSZlzNFF53RXfwvXNYomN59AmcecUxZ6jVrTI5ESYRij0SiOJToHFwb15Q0RaKJyl
wsXCrdZenwp2J/XqjkMTU6RHimmGgqplzU5sbn4VBqBvxEyeQJxNnL5v0UeDFEHqkqNHm898cn0w
TFwOOC6cJB833HhiZCzVsNJtqhM6lmmKDOFgb2t5bJX/wqdrrZTwQCluYboAX817uP5SJFwzUqBq
0qXrirJZswx8W6TGQf+caUWOntmL12IaJF6hGtYJVCKGoJ8tgwV+EfO+W2DjONxlU7FFjmbxgmIu
tZaK5xySAdFCzgMyU42GH1tCjGjmXaNOxSJZFPULRV03zVmGYBtDAwAkYWV8MG+0RVS+h2i/UHsa
vCCCrpc68pUUigz/gxxtMwrZ48rK/GpnVhtMOCPDS+Rav1fe7NuMKerfd8BSVL7kHCkqFxpWyoFm
pVTAawp460dDhMKujLZPvalvYdpXECc2UAvNED+W/nSJ3hfL6G2Zq1NB4Ju1jTFns9N1cy11/6oH
tiCBddbW4LNiFdbEUJAehgZmu03KnPG3SniQeyMvrtEgy/py+9PjI0OpvCsW9AmIlFwpJUg0FZWg
r48iUtsBh8iHjOhaUDJCgNVUEFVzO1nzhDs7/5b52QAAAAAAAA==


--=-aUBqOTLgNepVR1v3+gmY--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 13:28:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 13:28:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632406.986685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2tSc-0003Fw-C2; Tue, 14 Nov 2023 13:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632406.986685; Tue, 14 Nov 2023 13: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 1r2tSc-0003Fp-92; Tue, 14 Nov 2023 13:28:10 +0000
Received: by outflank-mailman (input) for mailman id 632406;
 Tue, 14 Nov 2023 13:28: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=krWi=G3=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r2tSa-0003Fj-4y
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 13:28:08 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id a2a17eb0-82f1-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 14:28:05 +0100 (CET)
Received: from mg.gitlab.com (22.226.74.34.bc.googleusercontent.com
 [34.74.226.22]) by
 ce055c82f7bb with SMTP id 655375ce01d52c109298293b (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 14 Nov 2023 13:27:42 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: a2a17eb0-82f1-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699968475; x=1699975675; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=3C/Ng/SpY5vf1kIRpbIfx2h3mk1iM5k9nAqit4YdmdA=;
 b=IRaHgzIw38lrdIiNAKqLtRzu6OFkOnxVGxbFpvAsVlBgnI4XYGcUL8BqiUjKxdwbEdeoi1Kk7Iuj3aQIVAtka0CVP4uC5i+Ev58Y+YO3qsHxxxyppKA/7c5jWLjvc70SPGtlylDc9cu/HSDKhDUMFKebyzY74YtNA6s0sIpQCbA=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 14 Nov 2023 13:27:42 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655375ceca386_2c9b000163437@gitlab-sidekiq-catchall-v2-556c8886f-fstm7.mail>
Subject: xen | Successful pipeline for staging | a48bb129
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655375cec1959_2c9b00016335e";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1071943174
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655375cec1959_2c9b00016335e
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1071943174 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: a48bb129 ( https://gitlab.com/xen-project/xen/-/commit/a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e )
Commit Message: x86/spec-ctrl: Remove conditional IRQs-on-ness ...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1071943174 ( https://gitlab.com/xen-project/xen/-/pipelines/1071943174 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655375cec1959_2c9b00016335e
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | a48bb129</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1071943174 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/a48bb129f1b9ff55c2=
2cf6d2b589247c8ba3b10e" style=3D"color: #3777b0; text-decoration: none;">=
a48bb129</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86/spec-ctrl: Remove conditional IRQs-on-ness ...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107194=
3174" style=3D"color: #3777b0; text-decoration: none;">#1071943174</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655375cec1959_2c9b00016335e--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 13:30:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 13:30:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632434.986695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2tUa-0004fd-Mt; Tue, 14 Nov 2023 13:30:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632434.986695; Tue, 14 Nov 2023 13:30: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 1r2tUa-0004fW-KL; Tue, 14 Nov 2023 13:30:12 +0000
Received: by outflank-mailman (input) for mailman id 632434;
 Tue, 14 Nov 2023 13:30: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=OFhv=G3=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r2tUZ-0004fO-Pm
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 13:30:11 +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 ee75e91c-82f1-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 14:30:09 +0100 (CET)
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 EB7A2218E5;
 Tue, 14 Nov 2023 13:30: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 BC90713460;
 Tue, 14 Nov 2023 13:30:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 0G+iLFx2U2WjDgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 14 Nov 2023 13:30: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: ee75e91c-82f1-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1699968604; 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=mZ6HX/HDj2O5EeKW6oAAsww4Uy4KH3Ktgk94VSAz2Ng=;
	b=hvRm+01TvYk5dYJRZySktyEJHdlKiZr+dNb11nWXZo6G2zad9xqqoBosBYJjJVgYtgMEMF
	NzPSSKSxFfS9JJkcklANsbuRLzjl8EwYgVTIBhqF6Z4IgDZPX9NInkZoxk1hfVq6NQoNIr
	kVPfUqkn0lx1WCJZotnSmtNmAxA4y28=
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>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v2] xen/sched: fix sched_move_domain()
Date: Tue, 14 Nov 2023 14:30:03 +0100
Message-Id: <20231114133003.20887-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.69
X-Spamd-Result: default: False [-0.69 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-1.59)[92.34%]
X-Spam-Flag: NO

When moving a domain out of a cpupool running with the credit2
scheduler and having multiple run-queues, the following ASSERT() can
be observed:

(XEN) Xen call trace:
(XEN)    [<ffff82d04023a700>] R credit2.c#csched2_unit_remove+0xe3/0xe7
(XEN)    [<ffff82d040246adb>] S sched_move_domain+0x2f3/0x5b1
(XEN)    [<ffff82d040234cf7>] S cpupool.c#cpupool_move_domain_locked+0x1d/0x3b
(XEN)    [<ffff82d040236025>] S cpupool_move_domain+0x24/0x35
(XEN)    [<ffff82d040206513>] S domain_kill+0xa5/0x116
(XEN)    [<ffff82d040232b12>] S do_domctl+0xe5f/0x1951
(XEN)    [<ffff82d0402276ba>] S timer.c#timer_lock+0x69/0x143
(XEN)    [<ffff82d0402dc71b>] S pv_hypercall+0x44e/0x4a9
(XEN)    [<ffff82d0402012b7>] S lstar_enter+0x137/0x140
(XEN)
(XEN)
(XEN) ****************************************
(XEN) Panic on CPU 1:
(XEN) Assertion 'svc->rqd == c2rqd(sched_unit_master(unit))' failed at common/sched/credit2.c:1159
(XEN) ****************************************

This is happening as sched_move_domain() is setting a different cpu
for a scheduling unit without telling the scheduler. When this unit is
removed from the scheduler, the ASSERT() will trigger.

In non-debug builds the result is usually a clobbered pointer, leading
to another crash a short time later.

Fix that by swapping the two involved actions (setting another cpu and
removing the unit from the scheduler).

Cc: Henry Wang <Henry.Wang@arm.com>
Link: https://github.com/Dasharo/dasharo-issues/issues/488
Fixes: 70fadc41635b ("xen/cpupool: support moving domain between cpupools with different granularity")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- added Link: (reporter didn't want to be added by name)
---
 xen/common/sched/core.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index 12deefa745..e9f7486197 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -738,12 +738,13 @@ int sched_move_domain(struct domain *d, struct cpupool *c)
     new_p = cpumask_first(d->cpupool->cpu_valid);
     for_each_sched_unit ( d, unit )
     {
-        spinlock_t *lock = unit_schedule_lock_irq(unit);
+        spinlock_t *lock;
+
+        sched_remove_unit(old_ops, unit);
 
+        lock = unit_schedule_lock_irq(unit);
         sched_set_res(unit, get_sched_res(new_p));
         spin_unlock_irq(lock);
-
-        sched_remove_unit(old_ops, unit);
     }
 
     old_units = d->sched_unit_list;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 13:45:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 13:45:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632446.986706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2tjC-0007HD-VF; Tue, 14 Nov 2023 13:45:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632446.986706; Tue, 14 Nov 2023 13: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 1r2tjC-0007H6-Sa; Tue, 14 Nov 2023 13:45:18 +0000
Received: by outflank-mailman (input) for mailman id 632446;
 Tue, 14 Nov 2023 13:45: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=dDFb=G3=epam.com=prvs=5682ba6769=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r2tjB-0007H0-UG
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 13:45: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 0a60c5ad-82f4-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 14:45:16 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AED9naX019983; Tue, 14 Nov 2023 13:45:06 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uc9hmr3vq-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Nov 2023 13:45:05 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AS8PR03MB8858.eurprd03.prod.outlook.com (2603:10a6:20b:536::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.26; Tue, 14 Nov
 2023 13:45:02 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 13:45: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: 0a60c5ad-82f4-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Filxshp0E9icVNGm3qXt/JCK+Dju2kC1ndACBX3t4SOsLAUjeyAC7oKSmN3FloJkUxZegR3zJt2rfhZe8xgK8DvqRK01QHZBXNqF1rBx7wAjEV2J5LJ1XdeONBxlD0s+Fyh26Hit+3y8+FmQLrUoYd6Mx+JfSraLrMl1NF3g+xdPioHGyHY0S7BXCehcEr7hHnEps2JbnQpIUYKX6dTVoOB1L5hj9FRSkwPTIS7RyNMyn7PaEnuew19V/CnfztguOhWYV4KrRLmUWGfvHWUaq6kXYcRoQ0srIiUO8bfnhOHRSHBj5Tb86pJU5N4gMQMp26hXZX1uXCoUrGolz67zkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rvgIiY4anEDmHl5y9qpBSp8F3QqO/H3y5kFh1jYTFtA=;
 b=MndvonmgYfKA+bPZ2PC/5yrnR6asSjBHx/gVFZXQXdI0H7meysUwZps9RkhnCk4XggyopcVMEQ3CJSrNRI2uSsUXmVEMCJb8OZqOwlQV8mKyLQkKr4LQCb/HMV9T4yUXJAf+aDAeKS7wX9PEUsZ3pyEvsL5CucKT4fNMn6qibMRKsDg895UKRewk3J2DlUebHe5vjPttvIAvlF0kM4hzsi4UdYV1x9lH+Q/ngSGqFdVFKFZX2KT90Ro4fv2zkYeEhGe4oPCNk4MFZtLPsucvMaSV5PmwJbU72+YDhXRIE6vlYm9JF4NN70s1v8gLkVdVaStV+ceD2X41UXHxuruAww==
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=rvgIiY4anEDmHl5y9qpBSp8F3QqO/H3y5kFh1jYTFtA=;
 b=YLkpBe/yi/yWsoJg0AIxi6RosnuTOmRaTaItCfptJ6sN8P1xOpC8nTDV0th39v74UigZrELK38P6CgrBcxoYxHYa5laSib1t9+BqgkR9+xYt/zRFIi1VMbyJQZPWY+JBnfaCGwARAOO3aQmIlAd0tUO4GtUdvCaVO4o9Bvvud7oIfNF6mQOjJErBoK1JoQ6G2APgu33+mZ2XlGdN1yoVME/2/pzRdq5JrLbeK7r2dlJCd2hx3XW8cQ4igDilNhYaLmt8STC7hQP1yzRACsSiLl06fQ5kM1FWPHzXhTeR6995SawdOVaKKosrFvnnhUU9GIYakrfcuvmsII56WCSBvA==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 6/7] xen/events: modify internal [un]bind interfaces
Thread-Topic: [PATCH 6/7] xen/events: modify internal [un]bind interfaces
Thread-Index: AQHZ//oVz+DyHlClAkeSP+z9zQ/ubLB6AZEA
Date: Tue, 14 Nov 2023 13:45:02 +0000
Message-ID: <8e3a25c3-e355-47d4-a9ce-d38e8a9375d4@epam.com>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-7-jgross@suse.com>
In-Reply-To: <20231016062831.20630-7-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-traffictypediagnostic: DB8PR03MB6108:EE_|AS8PR03MB8858:EE_
x-ms-office365-filtering-correlation-id: d6ebb366-391c-4f03-abe1-08dbe517e6e3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 jQsFO13Tda/cGgwxC2/sXQvzxT1Bkyhrla42+JdxPIRt/2WuG0TKcqKoNie0L6y6KRNEMJq3uVsQAXX3sieUbX4tGQE5lXht3SX1gw/By7tJ4L1CSDhYNWyceRRireq27w7sKUg+FtSiY9FS7qmKY2LqNLGHnozEO5K1WOeWRYXeywIMI1g79CJKyB5FKjE/Hc3z3AFS37nhbL/pBdR6pr2Z4ETjQ8SPCCHN85n9rk1fNr2vAtdH68HBUOGmh9pWi3s2sgRXblHDx3K40JiBIs3iwZEsWpr6bf++6H7jD4i4oKcrVzIg1RwVYRzLZTYmf0ckPE0Q3IpoCyxxpIIv1p+Ha8IY+4h7PNFjTyInPZYleoW+MDDFA6AT2cYWLONeOcIhlqOh76Qn3tFK9v9RcekVOhuUPMjyUKXfV/jilQXLKL+sk02i98ZAcaLZk9Fpxr3GlveXZG159xAxuitY+gwpAcFzfBcbIgRDaZVvut9Ic4mbyAtVJ2nLJCze0b49b+bPh897W15O/V9V0APegde32URuMc+jLwmRtmasQXs9QV63n00rFLbVdbiOVGudvLEWYtNlR/mc7tgBA39YC0G4iF5Zxno3K7X+65GA2tVcFnRxG1KYh5ZyC5/R0c2GdB92FVmBXo6PqOC1HzJqag==
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:(13230031)(346002)(39860400002)(396003)(366004)(376002)(136003)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(26005)(122000001)(38100700002)(83380400001)(86362001)(5660300002)(2616005)(38070700009)(31686004)(6512007)(6506007)(53546011)(31696002)(478600001)(71200400001)(6486002)(36756003)(66946007)(316002)(76116006)(110136005)(54906003)(66446008)(66556008)(64756008)(91956017)(66476007)(8676002)(8936002)(4326008)(4744005)(2906002)(41300700001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?U3M1V1k3N2ZlSEp4WXA3ajlTbk5yMGxHU3dLRmFTTTVyODJoSjd3MDliQ0Mx?=
 =?utf-8?B?dGdpaVJUOVhpRk9aeXdmeWF1WUpIZUZDSUxUdTRBSjNKWHBya3FnQm9ZRUpj?=
 =?utf-8?B?WXNLRSs2bVlVUndXSjdvYnJjUGYvUEFLODM5aGRlWnFISWhvWlV4V2NOdjl2?=
 =?utf-8?B?emJHU2xPRlJ0clN3VEVEVjY4VGNFK21lV2FtSVZtZ3ZjT0hTajhRWTFNMFV4?=
 =?utf-8?B?VE9FQm43ajJ1RkdNandGc1hXNEFpV3U3YWdZRTFCVVJ0ZjB2bnJ4U3hYUmwz?=
 =?utf-8?B?N1Y4K3VwL3V3eXprVko4ZjZiQmU0UDdiemZsbkVYZzExT2xhTEhWOFhkOEdF?=
 =?utf-8?B?ZkRuQ1M3dThRTVFxN2JWTk1HSlZDK0lQVnhIV0lTemtEazFnUVZ2cFQrWmlL?=
 =?utf-8?B?eWQrcTY4YU5tVTFEbjRBUWpHNG9yelBnVThHNndvN1ZkaWVOaWljY3lGTjBW?=
 =?utf-8?B?dXM1aEJWQzltZFhlTkdEVTN0MGhZWEdCclg5Q2JRRUk2Tmp2MzNBd1kxVFBq?=
 =?utf-8?B?WGpCNUhMb09MYzJEMlMzeDdhTi85RDFwT1EyR09DSlBwVjlHUVdlVWtpZDAz?=
 =?utf-8?B?dExHdGxUTm4rU0N5dit1dEZmdzFjZWRGRlZtWDYyQk9HSWgxelJxUUlKSUts?=
 =?utf-8?B?Y3NoNkxxMmVqYUdOSDJaVzMrWkZsbC9rNjlkQjRnQll4VisvSCtSVW5hZGhL?=
 =?utf-8?B?RVhsTGk4WVBsRzUvS3lRU1o0dzN2S0k3Q1dDNk9VTUdPZFdCWE1YYVh5b1JH?=
 =?utf-8?B?bndsd1U2OGhpWDYybk5NbXg0aE9WeHBac0JYTU0yTFE1UU1SdXVDWTdyTTJr?=
 =?utf-8?B?S25uM2hEc3NpKzZjbkZCZ2E0U1J0OWR4NjBZTEdvVHpSa09yajM2SWcranFG?=
 =?utf-8?B?ZUdXN0NyYkRVMEZqa1UwYm12YVJ3RUVtcFZDSENXQzhEQ1pGcFY1S1l1U1Qz?=
 =?utf-8?B?VFo0d2hpTkZLVmNjWmRrSHE5QXpGQTZ1UTFRSU9iTUJiQ041UGxkbDZjRkdm?=
 =?utf-8?B?ZEorVm1CL2ZJVzJlcTVqVUZUN1FybEZ1K044aU1hZTJ4QzFVOC9aZlhGVWRz?=
 =?utf-8?B?eXVDdkRFRms2a1YwV0JucDVFN1NidExIOERhQk1qYm1DWTEwaWVpM2NRS2Zi?=
 =?utf-8?B?Q2RpMHBBZkpaaFBVNXE3dmhqNW1PalNFKzMwQlpBT0U4R3k1QnpsQUlIOFJZ?=
 =?utf-8?B?bHNsMUJodXdPSlBiY28xRmZ5b1dzV2pab3M4UGR4amNRYVVzaVNVRnFxTlQ5?=
 =?utf-8?B?SWhieUtySU52bWJGWkhuR1hnUG5KWjRPNFcrY3A0SkJZc0tNK3ZjY3V2Y2FE?=
 =?utf-8?B?YzlPb0lRcFZJd3RRN2xVTGpBcnVmL3BCQW42OTFtbDNuQ24xeTRaOXdzZEd6?=
 =?utf-8?B?NFg5aEFZRW5jc3RvcXRnd09wRExmTVpWN2N5Q2lHUENsRUdlOUx2eHVjYStL?=
 =?utf-8?B?Z2RXdnpTVHZYV3VSMENwaG5EMDRKWVpOUHBhcU9QTC9YVEhFU1l2VnFSNUxT?=
 =?utf-8?B?ZVZEbG90cUdQT3RpY1RING55VTRTaTV0NmpDbzlVanB4b1hyWWR2YStOam1W?=
 =?utf-8?B?bGw4ay8xQk15eXdYV25Uay9RYXlXcE8yek9oazVaS2JhRXI4TlhNdlNHdzBr?=
 =?utf-8?B?NUhUQ3hBSVJMeUdjaitJV0gvL25YZ3QrbFBmNktxaXkxTGt0RjcwbUpSbFFD?=
 =?utf-8?B?REc5V1VMeHhSSm1GNS9TaWdFZjB4QWJlTWN6RU52eGNod3BWaFRBRzF4VzZG?=
 =?utf-8?B?MkJoMXQ2Q05VR2NGZEdXVzV4czVmNC94UXo1alBsdk5IY2VlTVJ6NGVoazI0?=
 =?utf-8?B?SDJZRHFvSHVmcS83VlRvbUZYT1UyNnJGTTcyQnNvQSsyTDJWZjhBMEJSZXQ2?=
 =?utf-8?B?Z2Q3eWVacmM4NkZJaGdjcEhzS28vbHo0Qk9xbmpyU09oYXBZekFJeUhiejVm?=
 =?utf-8?B?UW51OGVSVHJkZWwzRzVCVkRFSGFKdzN2QnZZclJ2bGZvb1BoRkdvSEU0TXJT?=
 =?utf-8?B?VVNES2tzeks1V3lmZFQ1blEvNngyR0JJeFpKWXpEYTVsRmt3emk2Wm5CQnRm?=
 =?utf-8?B?ZTd1M2pURVVEblFILzEvaGpqQkJxcnpPOVpvSkRDb2RkZHZjckY3Nyt2VU4y?=
 =?utf-8?B?ckJ3WjgwK3V4L1p2czFFMXBsNUlQZHI4RmQwd2JvREFTWTVzRkJPcWxvc0RX?=
 =?utf-8?Q?09FJQR8yO3l2k86mHKDnrus=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <6A7D687F77FE104798F613C0417FD91D@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: d6ebb366-391c-4f03-abe1-08dbe517e6e3
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2023 13:45:02.3486
 (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: f9JDS8zJfgZgu7Xs1SzIFoYh7fAXYr4p87rfwjwNnunMdHmSK78UMqPDw3///pvQq5IPF/X9Wn0kAh1uP/mhvut/0A/2q/upu/I4/UlwDVI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8858
X-Proofpoint-ORIG-GUID: GR72j6sx8WMhs1kumAaNvH5XHJgf7B2v
X-Proofpoint-GUID: GR72j6sx8WMhs1kumAaNvH5XHJgf7B2v
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-14_13,2023-11-09_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999 spamscore=0
 priorityscore=1501 lowpriorityscore=0 malwarescore=0 mlxscore=0
 impostorscore=0 suspectscore=0 adultscore=0 clxscore=1015 bulkscore=0
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311140106

DQoNCk9uIDE2LjEwLjIzIDA5OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQoNCkhlbGxvIEp1
ZXJnZW4NCg0KPiBNb2RpZnkgdGhlIGludGVybmFsIGJpbmQtIGFuZCB1bmJpbmQtaW50ZXJmYWNl
cyB0byB0YWtlIGEgc3RydWN0DQo+IGlycV9pbmZvIHBhcmFtZXRlci4gV2hlbiBhbGxvY2F0aW5n
IGEgbmV3IElSUSBwYXNzIHRoZSBwb2ludGVyIGZyb20NCj4gdGhlIGFsbG9jYXRpbmcgZnVuY3Rp
b24gZnVydGhlciB1cC4NCj4gDQo+IFRoaXMgd2lsbCByZWR1Y2UgdGhlIG51bWJlciBvZiBpbmZv
X2Zvcl9pcnEoKSBjYWxscyBhbmQgbWFrZSB0aGUgY29kZQ0KPiBtb3JlIGVmZmljaWVudC4NCj4g
DQo+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCg0KDQpJ
IGRpZG4ndCBzcG90IG9idmlvdXMgaXNzdWVzIHdpdGggY3VycmVudCBwYXRjaCwgb3RoZXIgdGhh
biBqdXN0IHRoZSANCmZhY3QgdGhhdCBwYXRjaCBuZWVkcyByZWJhc2luZyAoc29tZSBodW5rcyBj
YW5ub3QgYmUgYXBwbGllZCBiZWNhdXNlIG9mDQoiZTY0ZTdjNzRiOTllIHhlbi9ldmVudHM6IGF2
b2lkIHVzaW5nIGluZm9fZm9yX2lycSgpIGluIA0KeGVuX3NlbmRfSVBJX29uZSgpIiB3ZW50IGlu
KS4NCg0KSSB3YXMgZ29pbmcgdG8gYXNrIHdoeSAicGlycV9xdWVyeV91bm1hc2soKS9waXJxX2Zy
b21faXJxKCkiIHdhc24ndA0KY29udmVydGVkIHRvIHRha2UgYSBzdHJ1Y3QgaXJxX2luZm8gcGFy
YW1ldGVyIGFzIHdlbGwsIGJ1dCBsb29raW5nIGF0IA0KdGhlIHJlc3QgSSBub3RpY2VkIHRoaXMg
d2FzIGFscmVhZHkgZG9uZSBpbiBzdWJzZXF1ZW50IGNvbW1pdC4NCg0KV2l0aCBwcm9wZXIgcmVi
YXNpbmc6DQpSZXZpZXdlZC1ieTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90eXNo
Y2hlbmtvQGVwYW0uY29tPg0KDQoNCltzbmlwXQ==


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 13:47:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 13:47:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632449.986715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2tlS-0000LR-F0; Tue, 14 Nov 2023 13:47:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632449.986715; Tue, 14 Nov 2023 13:47: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 1r2tlS-0000LK-Bs; Tue, 14 Nov 2023 13:47:38 +0000
Received: by outflank-mailman (input) for mailman id 632449;
 Tue, 14 Nov 2023 13: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=KDln=G3=arm.com=robin.murphy@srs-se1.protection.inumbo.net>)
 id 1r2tlQ-0000LD-Ny
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 13:47:36 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 5aa49761-82f4-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 14:47:30 +0100 (CET)
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 C2809C15;
 Tue, 14 Nov 2023 05:48:14 -0800 (PST)
Received: from [10.1.196.40] (e121345-lin.cambridge.arm.com [10.1.196.40])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2AD0C3F6C4;
 Tue, 14 Nov 2023 05:47:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5aa49761-82f4-11ee-9b0e-b553b5be7939
Message-ID: <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com>
Date: Tue, 14 Nov 2023 13:47:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
Content-Language: en-GB
To: Chuck Zmudzinski <brchuckz@aol.com>, linux-arm-kernel@lists.infradead.org
Cc: Russell King <linux@armlinux.org.uk>, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 Marek Szyprowski <m.szyprowski@samsung.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Linus Walleij <linus.walleij@linaro.org>, Jason Gunthorpe <jgg@ziepe.ca>,
 Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>,
 Mario Marietto <marietto2008@gmail.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20231111184538.2371-1-brchuckz.ref@aol.com>
 <20231111184538.2371-1-brchuckz@aol.com>
From: Robin Murphy <robin.murphy@arm.com>
In-Reply-To: <20231111184538.2371-1-brchuckz@aol.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
> Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error when
> attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook Snow
> (and probably on other devices that use the Exynos mixer):
> 
> [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
> exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
> exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR* Device
>                               14450000.mixer lacks support for IOMMU
> exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc0d97554): -22
> exynos-drm exynos-drm: adev bind failed: -22
> exynos-dp: probe of 145b0000.dp-controller failed with error -22
> 
> Linux normally uses xen_swiotlb_dma_ops for DMA for all devices when
> xen_swiotlb is detected even when Xen exposes an IOMMU to Linux. Enabling
> the new config option allows devices such as the Exynos mixer to use the
> IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the error.
> 
> The new config option is not set by default because it is likely some
> devices that use IOMMU for DMA on Xen will cause DMA errors and memory
> corruption when Xen PV block and network drivers are in use on the system.
> 
> Link: https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netscape.net/
> 
> Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> ---
> The reported error with the Exynos mixer is not fixed by default by adding
> a second patch to select the new option in the Kconfig definition for the
> Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it is
> not certain setting the config option is suitable for all cases. So it is
> necessary to explicitly select the new config option during the config
> stage of the Linux kernel build to fix the reported error or similar
> errors that have the same cause of lack of support for IOMMU on Xen. This
> is necessary to avoid any regressions that might be caused by enabling the
> new option by default for the Exynos mixer.
>   arch/arm/mm/dma-mapping.c |  6 ++++++
>   drivers/xen/Kconfig       | 16 ++++++++++++++++
>   2 files changed, 22 insertions(+)
> 
> diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> index 5409225b4abc..ca04fdf01be3 100644
> --- a/arch/arm/mm/dma-mapping.c
> +++ b/arch/arm/mm/dma-mapping.c
> @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size,
>   	if (iommu)
>   		arm_setup_iommu_dma_ops(dev, dma_base, size, iommu, coherent);
>   
> +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN

FWIW I don't think this really needs a config option - if Xen *has* made 
an IOMMU available, then there isn't really much reason not to use it, 
and if for some reason someone really didn't want to then they could 
simply disable the IOMMU driver anyway.

> +	if (dev->dma_ops == &iommu_ops) {
> +		dev->archdata.dma_ops_setup = true;

The existing assignment is effectively unconditional by this point 
anyway, so could probably just be moved earlier to save duplicating it 
(or perhaps just make the xen_setup_dma_ops() call conditional instead 
to save the early return as well).

However, are the IOMMU DMA ops really compatible with Xen? The comments 
about hypercalls and foreign memory in xen_arch_need_swiotlb() leave me 
concerned that assuming non-coherent DMA to any old Dom0 page is OK 
might not actually work in general :/

Thanks,
Robin.

> +		return;
> +	}
> +#endif
>   	xen_setup_dma_ops(dev);
>   	dev->archdata.dma_ops_setup = true;
>   }
> diff --git a/drivers/xen/Kconfig b/drivers/xen/Kconfig
> index d5989871dd5d..44e1334b6acd 100644
> --- a/drivers/xen/Kconfig
> +++ b/drivers/xen/Kconfig
> @@ -181,6 +181,22 @@ config SWIOTLB_XEN
>   	select DMA_OPS
>   	select SWIOTLB
>   
> +config ARM_DMA_USE_IOMMU_XEN
> +	bool "Prefer IOMMU DMA ops on Xen"
> +	depends on SWIOTLB_XEN
> +	depends on ARM_DMA_USE_IOMMU
> +	help
> +	  Normally on Xen, the IOMMU is used by Xen and not exposed to
> +	  Linux. Some Arm systems such as Exynos have an IOMMU that
> +	  Xen does not use so the IOMMU is exposed to Linux in those
> +	  cases. This option enables Linux to use the IOMMU instead of
> +	  using the Xen swiotlb_dma_ops for DMA on Xen.
> +
> +	  Say N here unless support for one or more devices that use
> +	  IOMMU ops instead of Xen swiotlb ops for DMA is needed and the
> +	  devices that use the IOMMU do not cause any problems on the
> +	  Xen system in use.
> +
>   config XEN_PCI_STUB
>   	bool
>   


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 13:49:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 13:49:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632452.986725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2tnX-000172-Q7; Tue, 14 Nov 2023 13:49:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632452.986725; Tue, 14 Nov 2023 13: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 1r2tnX-00016v-My; Tue, 14 Nov 2023 13:49:47 +0000
Received: by outflank-mailman (input) for mailman id 632452;
 Tue, 14 Nov 2023 13:49: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2tnW-00016n-0B
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 13:49:46 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9d06b93-82f4-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 14:49:43 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2tnH-008HaJ-4S; Tue, 14 Nov 2023 13:49: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: a9d06b93-82f4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=1Y+Y73vtNdgEqObRUF6UfDRE38w8n9i3DbDfYRNIhM0=; b=AShr94cu8bQl860A+J8vq/O57W
	jrRzzw8gLc0Tv+PVMMCGMR990ZEnEUzURm50uCQaG1FRtpXI36et3hH4BPkdR8MIuJmEfouPUsjTD
	/aKc6IxofiLnCJFZfENDue2F82hgAQriMoJPH+9DfaLSfZlaFzCuKrUO2u6/v+nyhqsRvItGnYTaa
	60t5nPdJFG4r3qBs4vbWey+xdTfUiygLCsCpkRD/qBiwVwXLr7jRbeGNM+yOjHKIWeHmiRyi2kKOf
	yslBT7wJrkyMgFLHZc4sTrxH4BzmqrngaZNo3/BAjOz5/aFuzuntRx1qhGzS219mRvYrQBOYcjF8o
	/IlYKT6A==;
Message-ID: <2b3491da6eacd5f20c950fb339eca20cc8bf845b.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 04/10] hw/xen: Factor
 xen_arch_align_ioreq_data() out of handle_ioreq()
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, "Michael S. Tsirkin"
 <mst@redhat.com>, Alex =?ISO-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, 
 Anthony Perard <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,  Stefano
 Stabellini <sstabellini@kernel.org>, "qemu-block@nongnu.org"
 <qemu-block@nongnu.org>, Thomas Huth <thuth@redhat.com>, Paolo Bonzini
 <pbonzini@redhat.com>, "qemu-arm@nongnu.org" <qemu-arm@nongnu.org>, Paul
 Durrant <paul@xen.org>, Peter Maydell <peter.maydell@linaro.org>, Richard
 Henderson <richard.henderson@linaro.org>,  Eduardo Habkost
 <eduardo@habkost.net>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Date: Tue, 14 Nov 2023 08:49:25 -0500
In-Reply-To: <b7646614-8f5c-4ea6-9ea8-ff81f4a492c9@linaro.org>
References: <f791a822-f6f5-44fa-904b-f67d3f193763@email.android.com>
	 <7a66c289-19e1-4690-8c6e-31a9f6344b6f@linaro.org>
	 <e892e4eee469b1d1406dcd0844af48d1aaff23ae.camel@infradead.org>
	 <b7646614-8f5c-4ea6-9ea8-ff81f4a492c9@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-5z/984dlxxzasnjKCOka"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-5z/984dlxxzasnjKCOka
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, 2023-11-14 at 08:58 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
> > > Reviewing quickly hw/block/dataplane/xen-block.c, this code doesn't
> > > seem target specific at all IMHO. Otherwise I'd really expect it to
> > > fail compiling. But I don't know much about Xen, so I'll let block &
> > > xen experts to have a look.
> >=20
> > Where it checks dataplane->protocol and does different things for
> > BLKIF_PROTOCOL_NATIVE/BLKIF_PROTOCOL_X86_32/BLKIF_PROTOCOL_X86_64, the
> > *structures* it uses are intended to be using the correct ABI. I think
> > the structs for BLKIF_PROTOCOL_NATIVE may actually be *different*
> > according to the target, in theory?
>=20
> OK I see what you mean, blkif_back_rings_t union in hw/block/xen_blkif.h
>=20
> These structures shouldn't differ between targets, this is the point of
> an ABI :)=20

Structures like that *shouldn't* differ between targets, but the Xen
struct blkif_request does:

typedef blkif_vdev_t uint16_t;
struct blkif_request {
    uint8_t        operation;    /* BLKIF_OP_???                         */
    uint8_t        nr_segments;  /* number of segments                   */
    blkif_vdev_t   handle;       /* only for read/write requests         */
    uint64_t       id;           /* private guest value, echoed in resp  */
    blkif_sector_t sector_number;/* start sector idx on disk (r/w only)  */
    struct blkif_request_segment seg[BLKIF_MAX_SEGMENTS_PER_REQUEST];
};

This is why we end up with explicit versions for x86-32 and x86-64,
with the 'id' field aligned explicitly to 4 or 8 bytes. The 'native'
version when we build it in qemu will just use the *host* ABI to decide
how to align it.

> And if they were, they wouldn't compile as target agnostic.

The words "wouldn't compile" gives me fantasies of a compiler that
literally errors out, saying "you can't use that struct in arch-
agnostic code because the padding is different on different
architectures".

It isn't so. You're just a tease.

With the exception of the x86-{32,64} special case, the
BLKIF_PROTOCOL_NATIVE support ends up using the *host* ABI, regardless
of which target it was aimed at.

Which might even be OK; are there any other targets which align
uint64_t to 4 bytes, like i386 does? And certainly isn't *your* problem
anyway.

What I was thinking was that if we *do* need to do something to make
BLKIF_PROTOCOL_NATIVE actually differ between targets, maybe that would
mean we really *do* want to build this code separately for each target
rather than just once?=20

I suppose *if* we fix it, we can fix it in a way that doesn't require
specific compilation. Like we already did for x86. I literally use
object_dynamic_cast(qdev_get_machine(), "x86-machine") there.

>=20
> > I think this series makes it look like target-agnostic support *should*
> > work... but it doesn't really?
>=20
> For testing we have:
>=20
> aarch64: tests/avocado/boot_xen.py
> x86_64: tests/avocado/kvm_xen_guest.py
>=20
> No combination with i386 is tested,
> Xen within aarch64 KVM is not tested (not sure it works).

No, there is support in the *kernel* for Xen guests, which hasn't been
added to AArch64 KVM.


--=-5z/984dlxxzasnjKCOka
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTE0MTM0OTI1WjAvBgkqhkiG9w0BCQQxIgQgCBOafE2y
mgIM2NhvD/6QBWHGclVnzbpscPlL1WcJPwAwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgADTxMAWF++RJS2Acbqi0+znNET3aw329C9
eUK2uZe+XITN0PpNhzbueof14fHsDA+vxYN/ZM+Mxn/4HvwGBI1jrkkFRyWl+11/ulOT1AU6mMCm
EkBv435DXh8/HtEhf8KEKD0d8iecvXKRwiKIh167DJ99FcrXcC1ipid23s99PgMd5ju52ObcCVsY
bIFayIPmQEvOB8b7vXAaySAiDM84jv4qf8HGjyjRIyOqB3+vm6LIrw6JyJqzmJKzD9+lG1DEZWz7
hPq1o6HXuhGUsgjkF+1psBQ+/fysJEkSGpwLlI8lA9ezLZWkXYCxZbgwJBM4DzaWh0avptphIcVl
VimNMFxHYJIxNrzwAxY2YLX58qRVUDvl1AqH9UJwE6bKlBKjTZzEmY7T7xCHl+kfj4ec68zz2k+r
I53YeIdU6v9VPQiuqsVVIRM5TisogOF7MQsCnGtDfO1adW1EBLYzPY/ndlYLZ5Fk0iOBS0JM4U51
XVTylYHEPnLuNDEzQ5EF3aRYEKuX6z52RvF33wqTqNgFs0HsKDvInmBq2HWEM97Mfel8r+Z2+umV
9qiP/tiTZA2vNHM9oG/HNh+HaXCRNwojSHi12ypSCBQh00yEvNxEzLyfdcQNs+kMUO9XujeJ3sv0
viT8I3CCjVhXiyC+FtTuja2D0jM1dejS93ftpwbXVgAAAAAAAA==


--=-5z/984dlxxzasnjKCOka--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 13:56:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 13:56:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632456.986736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ttc-0002ks-GT; Tue, 14 Nov 2023 13:56:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632456.986736; Tue, 14 Nov 2023 13:56: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 1r2ttc-0002kl-CO; Tue, 14 Nov 2023 13:56:04 +0000
Received: by outflank-mailman (input) for mailman id 632456;
 Tue, 14 Nov 2023 13:56: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2tta-0002jL-Iu
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 13:56:02 +0000
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com
 [2a00:1450:4864:20::234])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b590f21-82f5-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 14:56:01 +0100 (CET)
Received: by mail-lj1-x234.google.com with SMTP id
 38308e7fff4ca-2c509d5ab43so81259361fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 05:56:01 -0800 (PST)
Received: from [192.168.69.100] (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 v14-20020a05600c470e00b0040a47091602sm13749947wmo.31.2023.11.14.05.55.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 05:55:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8b590f21-82f5-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699970159; x=1700574959; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=lvQiIJnm8epdhnB5vkpeRbG5RDMsBlsUOmn/ErmAs3E=;
        b=J0l6sRt4viL2Vm4ivi/T5OWgceZ0/AmEdi7tBlq4lWiGTMK8IlH5Ri0hMcfL7CIAcu
         GPHhxEVQ62mTjdhRos1316CJXBYX5BggtpQuaqgWlXFoWumWWBhLeiPRATAduDcHk0FH
         6+JERbYRZ5HN2O7K9b4zJrOXRk4mg4qdVQm+Mg0WwtSqKoODWsKM3W/aRLsv/vmk/hov
         uISKOMEI5ToiXiDWoKLnkiH6xrQPyOBOMbfeLuxTJGktMuMtMSq+jcRDAVpvpcVaB0Fn
         mhxf9vgERfSdWGMryAbLFGTkK96aI46kKb+gABWER0q0x637jaGB7cAIsW0r89aJSrKO
         LlkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699970159; x=1700574959;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=lvQiIJnm8epdhnB5vkpeRbG5RDMsBlsUOmn/ErmAs3E=;
        b=UVvTmsJFqaHIgFlhShlNtPk4lRYbOmjIohniviJiZU/JdBbpYt03DYvvj/gKpd+llr
         ub0ui5vqZdljHnAs1jPO03uL0cLRV3MyBG869nfZ69w0t+VbCepsY2UheUQxkdUJHiFw
         G93UBSmggzfv9j1/p2yQwItcIS2HDlXieuG/b3rM3ml1L4vqZQmNDH7qEAPTmt2IkLF5
         aI2J2GqNX3nm0qpNn+AZe3rB3nQagHivBK4pO6YjMKEeA0qYux2POJ8hWtwzNa0Pn5yc
         vh/vMk/GgRwmQLPvp7+Jy9ao0QmHineZS4wAykv/cwDgtyJwbKLDD7TdXu16OKD8Spsa
         glnQ==
X-Gm-Message-State: AOJu0Yyz96ow8/dIBMC1DIYksxgwbuDkqw6rCP4H7pNKFtC+XP96oVlw
	i9iH6fZzjNcuzWwnaXiHu9DiNg==
X-Google-Smtp-Source: AGHT+IHzswkfE7e3I7hDUvm2VdqNG2hFrVp8V7AJ7+73k/8D9WsRzXIdAy+MgUwZ78p+bsfL1MXbEw==
X-Received: by 2002:a2e:8842:0:b0:2c5:47f:8ff7 with SMTP id z2-20020a2e8842000000b002c5047f8ff7mr2475960ljj.18.1699970159645;
        Tue, 14 Nov 2023 05:55:59 -0800 (PST)
Message-ID: <3b7badd2-931f-47f4-a24e-3f5b9541c06d@linaro.org>
Date: Tue, 14 Nov 2023 14:55:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 07/10] sysemu/xen-mapcache: Check Xen availability
 with CONFIG_XEN_IS_POSSIBLE
Content-Language: en-US
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>
Cc: "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>, qemu-block@nongnu.org,
 Thomas Huth <thuth@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 qemu-arm@nongnu.org, Paul Durrant <paul@xen.org>
References: <20231113152114.47916-1-philmd@linaro.org>
 <20231113152114.47916-8-philmd@linaro.org>
 <9ba10b4a92ac6782d0c581b1e1ee5d5efee44c33.camel@infradead.org>
 <86153cf2-129d-4e1e-8949-786764bdf607@linaro.org>
In-Reply-To: <86153cf2-129d-4e1e-8949-786764bdf607@linaro.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Cc'ing Paolo

On 14/11/23 13:25, Philippe Mathieu-Daudé wrote:
> On 13/11/23 20:52, David Woodhouse wrote:
>> On Mon, 2023-11-13 at 16:21 +0100, Philippe Mathieu-Daudé wrote:
>>> "sysemu/xen.h" defines CONFIG_XEN_IS_POSSIBLE as a target-agnostic
>>> version of CONFIG_XEN. Use it in order to use "sysemu/xen-mapcache.h"
>>> in target-agnostic files.
>>>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>
>> Noting that CONFIG_XEN_IS_POSSIBLE is for Xen accelerator support, and
>> may not be set in all cases when we're hosting Xen-compatible guests,
> 
> As is CONFIG_XEN.

Actually we have:

- host Xen support
   . CONFIG_XEN_BACKEND

- QEMU Xen accelerator
   . CONFIG_XEN

- HW models
   . CONFIG_XEN (old / generic models)
   . CONFIG_XEN_BUS
   . XEN_IGD_PASSTHROUGH (PCI stuff)
   . CONFIG_XEN_EMU (Xen on KVM)

Paolo, David, is that correct?

When can we have CONFIG_XEN without CONFIG_XEN_BACKEND
(and vice-et-versa)?

So for clarity CONFIG_XEN could be split as:
  - CONFIG_ACCEL_XEN
  - CONFIG_XEN_MACHINE_FV (Fully-virtualized)
  - CONFIG_XEN_MACHINE_PV (Para-virtualized)

> Maybe be worth renaming CONFIG_ACCEL_XEN if you think we need
> guest hw specific CONFIG_foo_XEN variables.
> 
>> Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
> 
> Thanks!



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:01:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:01:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632461.986762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2tya-0005Rw-C1; Tue, 14 Nov 2023 14:01:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632461.986762; Tue, 14 Nov 2023 14: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 1r2tya-0005Rp-7C; Tue, 14 Nov 2023 14:01:12 +0000
Received: by outflank-mailman (input) for mailman id 632461;
 Tue, 14 Nov 2023 14:01: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=6ep+=G3=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1r2tyZ-00059B-4Z
 for xen-devel@lists.xen.org; Tue, 14 Nov 2023 14:01:11 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3fbd8fc0-82f6-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:01:05 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1r2tyE-0007Cu-Gn; Tue, 14 Nov 2023 14:00:50 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1r2tyE-0002BZ-FS; Tue, 14 Nov 2023 14: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: 3fbd8fc0-82f6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=pVLNpM9K+uoa3E1NOUTTuLJiRX38dRvzDZ/f9J2wHB8=; b=PUYNHx+nJ6m0drFrkN34HhT0Tw
	mJnpf0H5sHKzOfB0LFL32X4gWhP2BZQZQkLq5NtTtaQdaw/OG5xW5OLJZItKdoVlnufkQ7xAmsV0A
	sUwQuo21R27iAQpiRhxBfp/UA1+jZZP7LKDQro//c43e4nfIhshJ2vW8yGhwoeaxJH1k=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 445 v3 (CVE-2023-46835) - x86/AMD: mismatch
 in IOMMU quarantine page table levels
Message-Id: <E1r2tyE-0002BZ-FS@xenbits.xenproject.org>
Date: Tue, 14 Nov 2023 14:00:50 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2023-46835 / XSA-445
                               version 3

        x86/AMD: mismatch in IOMMU quarantine page table levels

UPDATES IN VERSION 3
====================

Public release.

ISSUE DESCRIPTION
=================

The current setup of the quarantine page tables assumes that the
quarantine domain (dom_io) has been initialized with an address width
of DEFAULT_DOMAIN_ADDRESS_WIDTH (48) and hence 4 page table levels.

However dom_io being a PV domain gets the AMD-Vi IOMMU page tables
levels based on the maximum (hot pluggable) RAM address, and hence on
systems with no RAM above the 512GB mark only 3 page-table levels are
configured in the IOMMU.

On systems without RAM above the 512GB boundary
amd_iommu_quarantine_init() will setup page tables for the scratch
page with 4 levels, while the IOMMU will be configured to use 3 levels
only, resulting in the last page table directory (PDE) effectively
becoming a page table entry (PTE), and hence a device in quarantine
mode gaining write access to the page destined to be a PDE.

Due to this page table level mismatch, the sink page the device gets
read/write access to is no longer cleared between device assignment,
possibly leading to data leaks.

IMPACT
======

A device in quarantine mode can access data from previous quarantine
page table usages, possibly leaking data used by previous domains that
also had the device assigned.

VULNERABLE SYSTEMS
==================

All Xen versions supporting PCI passthrough are affected.

Only x86 AMD systems with IOMMU hardware are vulnerable.

Only x86 guests which have physical devices passed through to them can
leverage the vulnerability.

MITIGATION
==========

Not passing through physical devices to guests will avoid the
vulnerability.

Not using quarantine scratch-page mode will avoid the vulnerability,
but could result in other issues.

CREDITS
=======

This issue was discovered by Roger Pau Monné of XenServer.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa445.patch           xen-unstable
xsa445-4.17.patch      Xen 4.17.x
xsa445-4.16.patch      Xen 4.16.x
xsa445-4.15.patch      Xen 4.15.x

$ sha256sum xsa445*
751892f1a603dbee7ecb82d046aee6d87bf10398f365d3880a7f7d32eb3d73c1  xsa445.patch
9ae729410504961578e679ba19931646802b213d026b6587fb1abb43b2629186  xsa445-4.15.patch
55fe5925741b650fe2583a1e9855ea66c4fe0212de4fe93535fd592188fa64d4  xsa445-4.16.patch
7c4478d348dad0d9c71685a8c402df78d74c6b4d3c3e1627115b91967e54d94a  xsa445-4.17.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmVTfRsMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZJdUIAJOmkQjl9EbYfiuBclmQJgOik6dYwYfFRNr+Q7g0
mWWQRF9BRSZkkzKipBeFWgBkQcx/3qo5HFBfElp9Atq4JpwXlcn9iBDR9fj5Zojl
lUxKHbppKZ9lG6izHjZNVgOOmYkLBxi8STWlB4aXrxhqbgxEnv4MESC809qUuzsy
lXl8AZERW7f/L8aW5IlpQqVKskc3NXUtvrhwyegrzL5SQfeGxIl3EPChA0UGq3PC
McBQWtyMBZHmwOQco8o8QenflWpRmgO4nYHdy2CAJ5XfCqa5bgNs61AR12BAUSaS
5MLSRtCIn2VYxrfsHrE2aCYJHLvzRzWnR09N0p8DKW+4AXY=
=gjG7
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa445.patch"
Content-Disposition: attachment; filename="xsa445.patch"
Content-Transfer-Encoding: base64

RnJvbSA4YjI2ZmFkZmU5YWQ2MjY1NzFjYWIxODVkNTFkM2ZkMjdhMzM5ZWZh
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBXZWQsIDExIE9jdCAy
MDIzIDEzOjE0OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSF0gaW9tbXUvYW1k
LXZpOiB1c2UgY29ycmVjdCBsZXZlbCBmb3IgcXVhcmFudGluZSBkb21haW4g
cGFnZQogdGFibGVzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTog
dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVu
Y29kaW5nOiA4Yml0CgpUaGUgY3VycmVudCBzZXR1cCBvZiB0aGUgcXVhcmFu
dGluZSBwYWdlIHRhYmxlcyBhc3N1bWVzIHRoYXQgdGhlIHF1YXJhbnRpbmUK
ZG9tYWluIChkb21faW8pIGhhcyBiZWVuIGluaXRpYWxpemVkIHdpdGggYW4g
YWRkcmVzcyB3aWR0aCBvZgpERUZBVUxUX0RPTUFJTl9BRERSRVNTX1dJRFRI
ICg0OCkuCgpIb3dldmVyIGRvbV9pbyBiZWluZyBhIFBWIGRvbWFpbiBnZXRz
IHRoZSBBTUQtVmkgSU9NTVUgcGFnZSB0YWJsZXMgbGV2ZWxzIGJhc2VkCm9u
IHRoZSBtYXhpbXVtIChob3QgcGx1Z2dhYmxlKSBSQU0gYWRkcmVzcywgYW5k
IGhlbmNlIG9uIHN5c3RlbXMgd2l0aCBubyBSQU0KYWJvdmUgdGhlIDUxMkdC
IG1hcmsgb25seSAzIHBhZ2UtdGFibGUgbGV2ZWxzIGFyZSBjb25maWd1cmVk
IGluIHRoZSBJT01NVS4KCk9uIHN5c3RlbXMgd2l0aG91dCBSQU0gYWJvdmUg
dGhlIDUxMkdCIGJvdW5kYXJ5IGFtZF9pb21tdV9xdWFyYW50aW5lX2luaXQo
KQp3aWxsIHNldHVwIHBhZ2UgdGFibGVzIGZvciB0aGUgc2NyYXRjaCBwYWdl
IHdpdGggNCBsZXZlbHMsIHdoaWxlIHRoZSBJT01NVSB3aWxsCmJlIGNvbmZp
Z3VyZWQgdG8gdXNlIDMgbGV2ZWxzIG9ubHkuICBUaGUgcGFnZSBkZXN0aW5l
ZCB0byBiZSB1c2VkIGFzIGxldmVsIDEsCmFuZCB0byBjb250YWluIGEgZGly
ZWN0b3J5IG9mIFBURXMgZW5kcyB1cCBiZWluZyB0aGUgYWRkcmVzcyBpbiBh
IFBURSBpdHNlbGYsCmFuZCB0aHVzIGxldmVsIDEgcGFnZSBiZWNvbWVzIHRo
ZSBsZWFmIHBhZ2UuICBXaXRob3V0IHRoZSBsZXZlbCBtaXNtYXRjaCBpdCdz
CmxldmVsIDAgcGFnZSB0aGF0IHNob3VsZCBiZSB0aGUgbGVhZiBwYWdlIGlu
c3RlYWQuCgpUaGUgbGV2ZWwgMSBwYWdlIHdvbid0IGJlIHVzZWQgYXMgc3Vj
aCwgYW5kIGhlbmNlIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHVzZSBpdAp0byBn
YWluIGFjY2VzcyB0byBvdGhlciBtZW1vcnkgb24gdGhlIHN5c3RlbS4gIEhv
d2V2ZXIgdGhhdCBwYWdlIGlzIG5vdCBjbGVhcmVkCmluIGFtZF9pb21tdV9x
dWFyYW50aW5lX2luaXQoKSBhcyBwYXJ0IG9mIHJlLWluaXRpYWxpemF0aW9u
IG9mIHRoZSBkZXZpY2UKcXVhcmFudGluZSBwYWdlIHRhYmxlcywgYW5kIGhl
bmNlIGRhdGEgb24gdGhlIGxldmVsIDEgcGFnZSBjYW4gYmUgbGVha2VkCmJl
dHdlZW4gZGV2aWNlIHVzYWdlcy4KCkZpeCB0aGlzIGJ5IG1ha2luZyBzdXJl
IHRoZSBwYWdpbmcgbGV2ZWxzIHNldHVwIGJ5IGFtZF9pb21tdV9xdWFyYW50
aW5lX2luaXQoKQptYXRjaCB0aGUgbnVtYmVyIGNvbmZpZ3VyZWQgb24gdGhl
IElPTU1Vcy4KCk5vdGUgdGhhdCBJVk1EIHJlZ2lvbnMgYXJlIG5vdCBhZmZl
Y3RlZCBieSB0aGlzIGlzc3VlLCBhcyB0aG9zZSBhcmVhcyBhcmUKbWFwcGVk
IHRha2luZyB0aGUgY29uZmlndXJlZCBwYWdpbmcgbGV2ZWxzIGludG8gYWNj
b3VudC4KClRoaXMgaXMgWFNBLTQ0NSAvIENWRS0yMDIzLTQ2ODM1CgpGaXhl
czogZWEzODg2NzgzMWRhICgneDg2IC8gaW9tbXU6IHNldCB1cCBhIHNjcmF0
Y2ggcGFnZSBpbiB0aGUgcXVhcmFudGluZSBkb21haW4nKQpTaWduZWQtb2Zm
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
LS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMg
fCA0ICstLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMyBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfbWFwLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9hbWQvaW9tbXVfbWFwLmMKaW5kZXggZGFhMjRhNDg1ODkxLi5lMGY0ZmU3
MzZhOGQgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdV9tYXAuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h
bWQvaW9tbXVfbWFwLmMKQEAgLTgzNyw5ICs4MzcsNyBAQCBzdGF0aWMgaW50
IGZpbGxfcXB0KHVuaW9uIGFtZF9pb21tdV9wdGUgKnRoaXMsIHVuc2lnbmVk
IGludCBsZXZlbCwKIGludCBjZl9jaGVjayBhbWRfaW9tbXVfcXVhcmFudGlu
ZV9pbml0KHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBib29sIHNjcmF0Y2hfcGFn
ZSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21t
dShkb21faW8pOwotICAgIHVuc2lnbmVkIGxvbmcgZW5kX2dmbiA9Ci0gICAg
ICAgIDFVTCA8PCAoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCAtIFBB
R0VfU0hJRlQpOwotICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IGFtZF9pb21t
dV9nZXRfcGFnaW5nX21vZGUoZW5kX2dmbik7CisgICAgdW5zaWduZWQgaW50
IGxldmVsID0gaGQtPmFyY2guYW1kLnBhZ2luZ19tb2RlOwogICAgIHVuc2ln
bmVkIGludCByZXFfaWQgPSBnZXRfZG1hX3JlcXVlc3Rvcl9pZChwZGV2LT5z
ZWcsIHBkZXYtPnNiZGYuYmRmKTsKICAgICBjb25zdCBzdHJ1Y3QgaXZyc19t
YXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHBk
ZXYtPnNlZyk7CiAgICAgaW50IHJjOwotLSAKMi40Mi4wCgo=

--=separator
Content-Type: application/octet-stream; name="xsa445-4.15.patch"
Content-Disposition: attachment; filename="xsa445-4.15.patch"
Content-Transfer-Encoding: base64

RnJvbSA5ODc3YmIzYWY2MGVmMmI1NDM3NDI4MzVjNDlkZTdkMDEwOGNkY2E5
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBXZWQsIDExIE9jdCAy
MDIzIDEzOjE0OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSF0gaW9tbXUvYW1k
LXZpOiB1c2UgY29ycmVjdCBsZXZlbCBmb3IgcXVhcmFudGluZSBkb21haW4g
cGFnZQogdGFibGVzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTog
dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVu
Y29kaW5nOiA4Yml0CgpUaGUgY3VycmVudCBzZXR1cCBvZiB0aGUgcXVhcmFu
dGluZSBwYWdlIHRhYmxlcyBhc3N1bWVzIHRoYXQgdGhlIHF1YXJhbnRpbmUK
ZG9tYWluIChkb21faW8pIGhhcyBiZWVuIGluaXRpYWxpemVkIHdpdGggYW4g
YWRkcmVzcyB3aWR0aCBvZgpERUZBVUxUX0RPTUFJTl9BRERSRVNTX1dJRFRI
ICg0OCkuCgpIb3dldmVyIGRvbV9pbyBiZWluZyBhIFBWIGRvbWFpbiBnZXRz
IHRoZSBBTUQtVmkgSU9NTVUgcGFnZSB0YWJsZXMgbGV2ZWxzIGJhc2VkCm9u
IHRoZSBtYXhpbXVtIChob3QgcGx1Z2dhYmxlKSBSQU0gYWRkcmVzcywgYW5k
IGhlbmNlIG9uIHN5c3RlbXMgd2l0aCBubyBSQU0KYWJvdmUgdGhlIDUxMkdC
IG1hcmsgb25seSAzIHBhZ2UtdGFibGUgbGV2ZWxzIGFyZSBjb25maWd1cmVk
IGluIHRoZSBJT01NVS4KCk9uIHN5c3RlbXMgd2l0aG91dCBSQU0gYWJvdmUg
dGhlIDUxMkdCIGJvdW5kYXJ5IGFtZF9pb21tdV9xdWFyYW50aW5lX2luaXQo
KQp3aWxsIHNldHVwIHBhZ2UgdGFibGVzIGZvciB0aGUgc2NyYXRjaCBwYWdl
IHdpdGggNCBsZXZlbHMsIHdoaWxlIHRoZSBJT01NVSB3aWxsCmJlIGNvbmZp
Z3VyZWQgdG8gdXNlIDMgbGV2ZWxzIG9ubHkuICBUaGUgcGFnZSBkZXN0aW5l
ZCB0byBiZSB1c2VkIGFzIGxldmVsIDEsCmFuZCB0byBjb250YWluIGEgZGly
ZWN0b3J5IG9mIFBURXMgZW5kcyB1cCBiZWluZyB0aGUgYWRkcmVzcyBpbiBh
IFBURSBpdHNlbGYsCmFuZCB0aHVzIGxldmVsIDEgcGFnZSBiZWNvbWVzIHRo
ZSBsZWFmIHBhZ2UuICBXaXRob3V0IHRoZSBsZXZlbCBtaXNtYXRjaCBpdCdz
CmxldmVsIDAgcGFnZSB0aGF0IHNob3VsZCBiZSB0aGUgbGVhZiBwYWdlIGlu
c3RlYWQuCgpUaGUgbGV2ZWwgMSBwYWdlIHdvbid0IGJlIHVzZWQgYXMgc3Vj
aCwgYW5kIGhlbmNlIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHVzZSBpdAp0byBn
YWluIGFjY2VzcyB0byBvdGhlciBtZW1vcnkgb24gdGhlIHN5c3RlbS4gIEhv
d2V2ZXIgdGhhdCBwYWdlIGlzIG5vdCBjbGVhcmVkCmluIGFtZF9pb21tdV9x
dWFyYW50aW5lX2luaXQoKSBhcyBwYXJ0IG9mIHJlLWluaXRpYWxpemF0aW9u
IG9mIHRoZSBkZXZpY2UKcXVhcmFudGluZSBwYWdlIHRhYmxlcywgYW5kIGhl
bmNlIGRhdGEgb24gdGhlIGxldmVsIDEgcGFnZSBjYW4gYmUgbGVha2VkCmJl
dHdlZW4gZGV2aWNlIHVzYWdlcy4KCkZpeCB0aGlzIGJ5IG1ha2luZyBzdXJl
IHRoZSBwYWdpbmcgbGV2ZWxzIHNldHVwIGJ5IGFtZF9pb21tdV9xdWFyYW50
aW5lX2luaXQoKQptYXRjaCB0aGUgbnVtYmVyIGNvbmZpZ3VyZWQgb24gdGhl
IElPTU1Vcy4KCk5vdGUgdGhhdCBJVk1EIHJlZ2lvbnMgYXJlIG5vdCBhZmZl
Y3RlZCBieSB0aGlzIGlzc3VlLCBhcyB0aG9zZSBhcmVhcyBhcmUKbWFwcGVk
IHRha2luZyB0aGUgY29uZmlndXJlZCBwYWdpbmcgbGV2ZWxzIGludG8gYWNj
b3VudC4KClRoaXMgaXMgWFNBLTQ0NSAvIENWRS0yMDIzLTQ2ODM1CgpGaXhl
czogZWEzODg2NzgzMWRhICgneDg2IC8gaW9tbXU6IHNldCB1cCBhIHNjcmF0
Y2ggcGFnZSBpbiB0aGUgcXVhcmFudGluZSBkb21haW4nKQpTaWduZWQtb2Zm
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
LS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMg
fCA0ICstLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMyBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfbWFwLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9hbWQvaW9tbXVfbWFwLmMKaW5kZXggYjRjMTgyNDQ5MTMxLi4zNDczZGI0
YzFlZmMgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdV9tYXAuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h
bWQvaW9tbXVfbWFwLmMKQEAgLTU4NCw5ICs1ODQsNyBAQCBzdGF0aWMgaW50
IGZpbGxfcXB0KHVuaW9uIGFtZF9pb21tdV9wdGUgKnRoaXMsIHVuc2lnbmVk
IGludCBsZXZlbCwKIGludCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0
cnVjdCBwY2lfZGV2ICpwZGV2KQogewogICAgIHN0cnVjdCBkb21haW5faW9t
bXUgKmhkID0gZG9tX2lvbW11KGRvbV9pbyk7Ci0gICAgdW5zaWduZWQgbG9u
ZyBlbmRfZ2ZuID0KLSAgICAgICAgMXVsIDw8IChERUZBVUxUX0RPTUFJTl9B
RERSRVNTX1dJRFRIIC0gUEFHRV9TSElGVCk7Ci0gICAgdW5zaWduZWQgaW50
IGxldmVsID0gYW1kX2lvbW11X2dldF9wYWdpbmdfbW9kZShlbmRfZ2ZuKTsK
KyAgICB1bnNpZ25lZCBpbnQgbGV2ZWwgPSBoZC0+YXJjaC5hbWQucGFnaW5n
X21vZGU7CiAgICAgdW5zaWduZWQgaW50IHJlcV9pZCA9IGdldF9kbWFfcmVx
dWVzdG9yX2lkKHBkZXYtPnNlZywgcGRldi0+c2JkZi5iZGYpOwogICAgIGNv
bnN0IHN0cnVjdCBpdnJzX21hcHBpbmdzICppdnJzX21hcHBpbmdzID0gZ2V0
X2l2cnNfbWFwcGluZ3MocGRldi0+c2VnKTsKICAgICBpbnQgcmM7CgpiYXNl
LWNvbW1pdDogNGE0ZGFmNmJkZGJlOGE3NDEzMjlkZjVjYzg3NjhmN2RlYzY2
NGFlZAotLSAKMi4zMC4yCgo=

--=separator
Content-Type: application/octet-stream; name="xsa445-4.16.patch"
Content-Disposition: attachment; filename="xsa445-4.16.patch"
Content-Transfer-Encoding: base64

RnJvbSA4OGZhNWIwZGIwNjJhOGYyY2NhYzRiYTA1ZWY3NTc2OGIyYjAzZTVh
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBXZWQsIDExIE9jdCAy
MDIzIDEzOjE0OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSF0gaW9tbXUvYW1k
LXZpOiB1c2UgY29ycmVjdCBsZXZlbCBmb3IgcXVhcmFudGluZSBkb21haW4g
cGFnZQogdGFibGVzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTog
dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVu
Y29kaW5nOiA4Yml0CgpUaGUgY3VycmVudCBzZXR1cCBvZiB0aGUgcXVhcmFu
dGluZSBwYWdlIHRhYmxlcyBhc3N1bWVzIHRoYXQgdGhlIHF1YXJhbnRpbmUK
ZG9tYWluIChkb21faW8pIGhhcyBiZWVuIGluaXRpYWxpemVkIHdpdGggYW4g
YWRkcmVzcyB3aWR0aCBvZgpERUZBVUxUX0RPTUFJTl9BRERSRVNTX1dJRFRI
ICg0OCkuCgpIb3dldmVyIGRvbV9pbyBiZWluZyBhIFBWIGRvbWFpbiBnZXRz
IHRoZSBBTUQtVmkgSU9NTVUgcGFnZSB0YWJsZXMgbGV2ZWxzIGJhc2VkCm9u
IHRoZSBtYXhpbXVtIChob3QgcGx1Z2dhYmxlKSBSQU0gYWRkcmVzcywgYW5k
IGhlbmNlIG9uIHN5c3RlbXMgd2l0aCBubyBSQU0KYWJvdmUgdGhlIDUxMkdC
IG1hcmsgb25seSAzIHBhZ2UtdGFibGUgbGV2ZWxzIGFyZSBjb25maWd1cmVk
IGluIHRoZSBJT01NVS4KCk9uIHN5c3RlbXMgd2l0aG91dCBSQU0gYWJvdmUg
dGhlIDUxMkdCIGJvdW5kYXJ5IGFtZF9pb21tdV9xdWFyYW50aW5lX2luaXQo
KQp3aWxsIHNldHVwIHBhZ2UgdGFibGVzIGZvciB0aGUgc2NyYXRjaCBwYWdl
IHdpdGggNCBsZXZlbHMsIHdoaWxlIHRoZSBJT01NVSB3aWxsCmJlIGNvbmZp
Z3VyZWQgdG8gdXNlIDMgbGV2ZWxzIG9ubHkuICBUaGUgcGFnZSBkZXN0aW5l
ZCB0byBiZSB1c2VkIGFzIGxldmVsIDEsCmFuZCB0byBjb250YWluIGEgZGly
ZWN0b3J5IG9mIFBURXMgZW5kcyB1cCBiZWluZyB0aGUgYWRkcmVzcyBpbiBh
IFBURSBpdHNlbGYsCmFuZCB0aHVzIGxldmVsIDEgcGFnZSBiZWNvbWVzIHRo
ZSBsZWFmIHBhZ2UuICBXaXRob3V0IHRoZSBsZXZlbCBtaXNtYXRjaCBpdCdz
CmxldmVsIDAgcGFnZSB0aGF0IHNob3VsZCBiZSB0aGUgbGVhZiBwYWdlIGlu
c3RlYWQuCgpUaGUgbGV2ZWwgMSBwYWdlIHdvbid0IGJlIHVzZWQgYXMgc3Vj
aCwgYW5kIGhlbmNlIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHVzZSBpdAp0byBn
YWluIGFjY2VzcyB0byBvdGhlciBtZW1vcnkgb24gdGhlIHN5c3RlbS4gIEhv
d2V2ZXIgdGhhdCBwYWdlIGlzIG5vdCBjbGVhcmVkCmluIGFtZF9pb21tdV9x
dWFyYW50aW5lX2luaXQoKSBhcyBwYXJ0IG9mIHJlLWluaXRpYWxpemF0aW9u
IG9mIHRoZSBkZXZpY2UKcXVhcmFudGluZSBwYWdlIHRhYmxlcywgYW5kIGhl
bmNlIGRhdGEgb24gdGhlIGxldmVsIDEgcGFnZSBjYW4gYmUgbGVha2VkCmJl
dHdlZW4gZGV2aWNlIHVzYWdlcy4KCkZpeCB0aGlzIGJ5IG1ha2luZyBzdXJl
IHRoZSBwYWdpbmcgbGV2ZWxzIHNldHVwIGJ5IGFtZF9pb21tdV9xdWFyYW50
aW5lX2luaXQoKQptYXRjaCB0aGUgbnVtYmVyIGNvbmZpZ3VyZWQgb24gdGhl
IElPTU1Vcy4KCk5vdGUgdGhhdCBJVk1EIHJlZ2lvbnMgYXJlIG5vdCBhZmZl
Y3RlZCBieSB0aGlzIGlzc3VlLCBhcyB0aG9zZSBhcmVhcyBhcmUKbWFwcGVk
IHRha2luZyB0aGUgY29uZmlndXJlZCBwYWdpbmcgbGV2ZWxzIGludG8gYWNj
b3VudC4KClRoaXMgaXMgWFNBLTQ0NSAvIENWRS0yMDIzLTQ2ODM1CgpGaXhl
czogZWEzODg2NzgzMWRhICgneDg2IC8gaW9tbXU6IHNldCB1cCBhIHNjcmF0
Y2ggcGFnZSBpbiB0aGUgcXVhcmFudGluZSBkb21haW4nKQpTaWduZWQtb2Zm
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
LS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMg
fCA0ICstLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMyBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfbWFwLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9hbWQvaW9tbXVfbWFwLmMKaW5kZXggY2Y2ZjAxYjYzM2U0Li4xYjQxNGE0
MTNiODkgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdV9tYXAuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h
bWQvaW9tbXVfbWFwLmMKQEAgLTY1NCw5ICs2NTQsNyBAQCBzdGF0aWMgaW50
IGZpbGxfcXB0KHVuaW9uIGFtZF9pb21tdV9wdGUgKnRoaXMsIHVuc2lnbmVk
IGludCBsZXZlbCwKIGludCBhbWRfaW9tbXVfcXVhcmFudGluZV9pbml0KHN0
cnVjdCBwY2lfZGV2ICpwZGV2LCBib29sIHNjcmF0Y2hfcGFnZSkKIHsKICAg
ICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21tdShkb21faW8p
OwotICAgIHVuc2lnbmVkIGxvbmcgZW5kX2dmbiA9Ci0gICAgICAgIDF1bCA8
PCAoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCAtIFBBR0VfU0hJRlQp
OwotICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IGFtZF9pb21tdV9nZXRfcGFn
aW5nX21vZGUoZW5kX2dmbik7CisgICAgdW5zaWduZWQgaW50IGxldmVsID0g
aGQtPmFyY2guYW1kLnBhZ2luZ19tb2RlOwogICAgIHVuc2lnbmVkIGludCBy
ZXFfaWQgPSBnZXRfZG1hX3JlcXVlc3Rvcl9pZChwZGV2LT5zZWcsIHBkZXYt
PnNiZGYuYmRmKTsKICAgICBjb25zdCBzdHJ1Y3QgaXZyc19tYXBwaW5ncyAq
aXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHBkZXYtPnNlZyk7
CiAgICAgaW50IHJjOwoKYmFzZS1jb21taXQ6IDI5ZWZjZTBmOGYxMGUzODE0
MTdhNjFmMmY5OTg4YjQwZDRmNmJjZjAKLS0gCjIuMzAuMgoK

--=separator
Content-Type: application/octet-stream; name="xsa445-4.17.patch"
Content-Disposition: attachment; filename="xsa445-4.17.patch"
Content-Transfer-Encoding: base64

RnJvbSBhNDMxMjdkNGYxZjlhMzY0MzM0ZmUxNmI2MjM5YzIxMWIzNWZkMjM4
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSb2dlciBQYXUgTW9u
bmUgPHJvZ2VyLnBhdUBjaXRyaXguY29tPgpEYXRlOiBXZWQsIDExIE9jdCAy
MDIzIDEzOjE0OjIxICswMjAwClN1YmplY3Q6IFtQQVRDSF0gaW9tbXUvYW1k
LXZpOiB1c2UgY29ycmVjdCBsZXZlbCBmb3IgcXVhcmFudGluZSBkb21haW4g
cGFnZQogdGFibGVzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTog
dGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVu
Y29kaW5nOiA4Yml0CgpUaGUgY3VycmVudCBzZXR1cCBvZiB0aGUgcXVhcmFu
dGluZSBwYWdlIHRhYmxlcyBhc3N1bWVzIHRoYXQgdGhlIHF1YXJhbnRpbmUK
ZG9tYWluIChkb21faW8pIGhhcyBiZWVuIGluaXRpYWxpemVkIHdpdGggYW4g
YWRkcmVzcyB3aWR0aCBvZgpERUZBVUxUX0RPTUFJTl9BRERSRVNTX1dJRFRI
ICg0OCkuCgpIb3dldmVyIGRvbV9pbyBiZWluZyBhIFBWIGRvbWFpbiBnZXRz
IHRoZSBBTUQtVmkgSU9NTVUgcGFnZSB0YWJsZXMgbGV2ZWxzIGJhc2VkCm9u
IHRoZSBtYXhpbXVtIChob3QgcGx1Z2dhYmxlKSBSQU0gYWRkcmVzcywgYW5k
IGhlbmNlIG9uIHN5c3RlbXMgd2l0aCBubyBSQU0KYWJvdmUgdGhlIDUxMkdC
IG1hcmsgb25seSAzIHBhZ2UtdGFibGUgbGV2ZWxzIGFyZSBjb25maWd1cmVk
IGluIHRoZSBJT01NVS4KCk9uIHN5c3RlbXMgd2l0aG91dCBSQU0gYWJvdmUg
dGhlIDUxMkdCIGJvdW5kYXJ5IGFtZF9pb21tdV9xdWFyYW50aW5lX2luaXQo
KQp3aWxsIHNldHVwIHBhZ2UgdGFibGVzIGZvciB0aGUgc2NyYXRjaCBwYWdl
IHdpdGggNCBsZXZlbHMsIHdoaWxlIHRoZSBJT01NVSB3aWxsCmJlIGNvbmZp
Z3VyZWQgdG8gdXNlIDMgbGV2ZWxzIG9ubHkuICBUaGUgcGFnZSBkZXN0aW5l
ZCB0byBiZSB1c2VkIGFzIGxldmVsIDEsCmFuZCB0byBjb250YWluIGEgZGly
ZWN0b3J5IG9mIFBURXMgZW5kcyB1cCBiZWluZyB0aGUgYWRkcmVzcyBpbiBh
IFBURSBpdHNlbGYsCmFuZCB0aHVzIGxldmVsIDEgcGFnZSBiZWNvbWVzIHRo
ZSBsZWFmIHBhZ2UuICBXaXRob3V0IHRoZSBsZXZlbCBtaXNtYXRjaCBpdCdz
CmxldmVsIDAgcGFnZSB0aGF0IHNob3VsZCBiZSB0aGUgbGVhZiBwYWdlIGlu
c3RlYWQuCgpUaGUgbGV2ZWwgMSBwYWdlIHdvbid0IGJlIHVzZWQgYXMgc3Vj
aCwgYW5kIGhlbmNlIGl0J3Mgbm90IHBvc3NpYmxlIHRvIHVzZSBpdAp0byBn
YWluIGFjY2VzcyB0byBvdGhlciBtZW1vcnkgb24gdGhlIHN5c3RlbS4gIEhv
d2V2ZXIgdGhhdCBwYWdlIGlzIG5vdCBjbGVhcmVkCmluIGFtZF9pb21tdV9x
dWFyYW50aW5lX2luaXQoKSBhcyBwYXJ0IG9mIHJlLWluaXRpYWxpemF0aW9u
IG9mIHRoZSBkZXZpY2UKcXVhcmFudGluZSBwYWdlIHRhYmxlcywgYW5kIGhl
bmNlIGRhdGEgb24gdGhlIGxldmVsIDEgcGFnZSBjYW4gYmUgbGVha2VkCmJl
dHdlZW4gZGV2aWNlIHVzYWdlcy4KCkZpeCB0aGlzIGJ5IG1ha2luZyBzdXJl
IHRoZSBwYWdpbmcgbGV2ZWxzIHNldHVwIGJ5IGFtZF9pb21tdV9xdWFyYW50
aW5lX2luaXQoKQptYXRjaCB0aGUgbnVtYmVyIGNvbmZpZ3VyZWQgb24gdGhl
IElPTU1Vcy4KCk5vdGUgdGhhdCBJVk1EIHJlZ2lvbnMgYXJlIG5vdCBhZmZl
Y3RlZCBieSB0aGlzIGlzc3VlLCBhcyB0aG9zZSBhcmVhcyBhcmUKbWFwcGVk
IHRha2luZyB0aGUgY29uZmlndXJlZCBwYWdpbmcgbGV2ZWxzIGludG8gYWNj
b3VudC4KClRoaXMgaXMgWFNBLTQ0NSAvIENWRS0yMDIzLTQ2ODM1CgpGaXhl
czogZWEzODg2NzgzMWRhICgneDg2IC8gaW9tbXU6IHNldCB1cCBhIHNjcmF0
Y2ggcGFnZSBpbiB0aGUgcXVhcmFudGluZSBkb21haW4nKQpTaWduZWQtb2Zm
LWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dlci5wYXVAY2l0cml4LmNvbT4K
UmV2aWV3ZWQtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4K
LS0tCiB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9hbWQvaW9tbXVfbWFwLmMg
fCA0ICstLS0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMyBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhy
b3VnaC9hbWQvaW9tbXVfbWFwLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9hbWQvaW9tbXVfbWFwLmMKaW5kZXggOTkzYmFjNmY4ODc4Li5lMGY0ZmU3
MzZhOGQgMTAwNjQ0Ci0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL2Ft
ZC9pb21tdV9tYXAuYworKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9h
bWQvaW9tbXVfbWFwLmMKQEAgLTgzNyw5ICs4MzcsNyBAQCBzdGF0aWMgaW50
IGZpbGxfcXB0KHVuaW9uIGFtZF9pb21tdV9wdGUgKnRoaXMsIHVuc2lnbmVk
IGludCBsZXZlbCwKIGludCBjZl9jaGVjayBhbWRfaW9tbXVfcXVhcmFudGlu
ZV9pbml0KHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBib29sIHNjcmF0Y2hfcGFn
ZSkKIHsKICAgICBzdHJ1Y3QgZG9tYWluX2lvbW11ICpoZCA9IGRvbV9pb21t
dShkb21faW8pOwotICAgIHVuc2lnbmVkIGxvbmcgZW5kX2dmbiA9Ci0gICAg
ICAgIDF1bCA8PCAoREVGQVVMVF9ET01BSU5fQUREUkVTU19XSURUSCAtIFBB
R0VfU0hJRlQpOwotICAgIHVuc2lnbmVkIGludCBsZXZlbCA9IGFtZF9pb21t
dV9nZXRfcGFnaW5nX21vZGUoZW5kX2dmbik7CisgICAgdW5zaWduZWQgaW50
IGxldmVsID0gaGQtPmFyY2guYW1kLnBhZ2luZ19tb2RlOwogICAgIHVuc2ln
bmVkIGludCByZXFfaWQgPSBnZXRfZG1hX3JlcXVlc3Rvcl9pZChwZGV2LT5z
ZWcsIHBkZXYtPnNiZGYuYmRmKTsKICAgICBjb25zdCBzdHJ1Y3QgaXZyc19t
YXBwaW5ncyAqaXZyc19tYXBwaW5ncyA9IGdldF9pdnJzX21hcHBpbmdzKHBk
ZXYtPnNlZyk7CiAgICAgaW50IHJjOwotLSAKMi40Mi4wCgo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:01:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632466.986818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2tyl-0006r5-5F; Tue, 14 Nov 2023 14:01:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632466.986818; Tue, 14 Nov 2023 14: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 1r2tyk-0006pa-VW; Tue, 14 Nov 2023 14:01:22 +0000
Received: by outflank-mailman (input) for mailman id 632466;
 Tue, 14 Nov 2023 14:01: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=6ep+=G3=xenbits.xen.org=julieng@srs-se1.protection.inumbo.net>)
 id 1r2tyj-00059B-5v
 for xen-devel@lists.xen.org; Tue, 14 Nov 2023 14:01:21 +0000
Received: from mail.xenproject.org (mail.xenproject.org [104.130.215.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46674327-82f6-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:01:15 +0100 (CET)
Received: from xenbits.xenproject.org ([104.239.192.120])
 by mail.xenproject.org with esmtp (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1r2tyQ-0007EB-QY; Tue, 14 Nov 2023 14:01:02 +0000
Received: from julieng by xenbits.xenproject.org with local (Exim 4.92)
 (envelope-from <julieng@xenbits.xen.org>)
 id 1r2tyQ-0002ID-NV; Tue, 14 Nov 2023 14: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>
X-Inumbo-ID: 46674327-82f6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=xen.org;
	s=20200302mail; h=Date:Message-Id:Subject:CC:From:To:MIME-Version:
	Content-Transfer-Encoding:Content-Type;
	bh=LAYrzNJ1fYRbLdxpkbpHhbCzfoPYG95/y4+xPEqM1vI=; b=hWRCVd2GRTveuTBRiTi5kBoV/7
	fITfCpThEI0pyYXQz0XzZ8N7yrbJr+hmqA1QLZiV9izxGq69FzULvUohGJ2OugtjnWU+mrEviSwyj
	LI9oLKHw9fAA2nEpmhJ7xLt9sILaSzBVVGaTtaPF31OwRQuQYmSQ3/GU282l5ZdC1sak=;
Content-Type: multipart/mixed; boundary="=separator"; charset="utf-8"
Content-Transfer-Encoding: binary
MIME-Version: 1.0
X-Mailer: MIME-tools 5.509 (Entity 5.509)
To: xen-announce@lists.xen.org, xen-devel@lists.xen.org,
 xen-users@lists.xen.org, oss-security@lists.openwall.com
From: Xen.org security team <security@xen.org>
CC: Xen.org security team <security-team-members@xen.org>
Subject: Xen Security Advisory 446 v2 (CVE-2023-46836) - x86: BTC/SRSO
 fixes not fully effective
Message-Id: <E1r2tyQ-0002ID-NV@xenbits.xenproject.org>
Date: Tue, 14 Nov 2023 14:01:02 +0000

--=separator
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

            Xen Security Advisory CVE-2023-46836 / XSA-446
                               version 2

                x86: BTC/SRSO fixes not fully effective

UPDATES IN VERSION 2
====================

Grammar fixes.

Public release.

ISSUE DESCRIPTION
=================

The fixes for XSA-422 (Branch Type Confusion) and XSA-434 (Speculative
Return Stack Overflow) are not IRQ-safe.  It was believed that the
mitigations always operated in contexts with IRQs disabled.

However, the original XSA-254 fix for Meltdown (XPTI) deliberately left
interrupts enabled on two entry paths; one unconditionally, and one
conditionally on whether XPTI was active.

As BTC/SRSO and Meltdown affect different CPU vendors, the mitigations
are not active together by default.  Therefore, there is a race
condition whereby a malicious PV guest can bypass BTC/SRSO protections
and launch a BTC/SRSO attack against Xen.

IMPACT
======

An attacker in a PV guest might be able to infer the contents of memory
belonging to other guests.

VULNERABLE SYSTEMS
==================

All versions of Xen are vulnerable.

Xen is only vulnerable in default configurations on AMD and Hygon CPUs.

Xen is not believed to be vulnerable in default configurations on CPUs
from other hardware vendors.

Only PV guests can leverage the vulnerability.

MITIGATION
==========

Running only HVM or PVH VMs will avoid the vulnerability.

CREDITS
=======

This issue was discovered by Andrew Cooper of XenServer.

RESOLUTION
==========

Applying the appropriate attached patch resolves this issue.

Note that patches for released versions are generally prepared to
apply to the stable branches, and may not apply cleanly to the most
recent release tarball.  Downstreams are encouraged to update to the
tip of the stable branch before applying these patches.

xsa446.patch           xen-unstable - Xen 4.15.x

$ sha256sum xsa446*
ed27ad5f36af31233e25c80daefb8b0078eeb18cacbc1923fdd6f10f0b394201  xsa446.patch
$

DEPLOYMENT DURING EMBARGO
=========================

Deployment of the patches and/or mitigations described above (or
others which are substantially similar) is permitted during the
embargo, even on public-facing systems with untrusted guest users and
administrators.

But: Distribution of updated software is prohibited (except to other
members of the predisclosure list).

Predisclosure list members who wish to deploy significantly different
patches and/or mitigations, please contact the Xen Project Security
Team.

(Note: this during-embargo deployment notice is retained in
post-embargo publicly released Xen Project advisories, even though it
is then no longer applicable.  This is to enable the community to have
oversight of the Xen Project Security Team's decisionmaking.)

For more information about permissible uses of embargoed information,
consult the Xen Project community's agreed Security Policy:
  http://www.xenproject.org/security-policy.html
-----BEGIN PGP SIGNATURE-----

iQFABAEBCAAqFiEEI+MiLBRfRHX6gGCng/4UyVfoK9kFAmVTfRgMHHBncEB4ZW4u
b3JnAAoJEIP+FMlX6CvZfLoH/iZJzkNK4d6vUrx8F5Srm8mAIDMGL4fPvJz00IsO
7h7+/wz0+FdnaWgT/12kHjIJv7p38rNkyJ3UC3p55NFFGUXKQxaKjJ6YU70IdHmY
zbQDdYd2eB9dGbAq2NEkZibtg5mhhThBsQw9Sf+YZuSzOV5xRWiEhnBGz7l4+Dym
bM7vuusZo3/iUc0WgE+p+j85QmzgTFdt7VEUYY2mSTFud+hDYtvx62Ej3AkwCRdu
I0JbGYcRaDR9RPDae2d9yvz0+E473rFgOSX6DqZLjnQ+UQivZ7eo8soJD87qY4Jh
OrEDMQWysSNiT90NYWZ+HxsRRZVjPVPoxX6EWEkwC7+CffI=
=2Xtx
-----END PGP SIGNATURE-----

--=separator
Content-Type: application/octet-stream; name="xsa446.patch"
Content-Disposition: attachment; filename="xsa446.patch"
Content-Transfer-Encoding: base64

RnJvbSA4MGQ1YWFkYTU5OGMzYTgwMGEzNTAwMDNkNWQ1ODI5MzE1NDVlMTNj
IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgpEYXRlOiBUaHUsIDI2IE9j
dCAyMDIzIDE0OjM3OjM4ICswMTAwClN1YmplY3Q6IFtQQVRDSF0geDg2L3Nw
ZWMtY3RybDogUmVtb3ZlIGNvbmRpdGlvbmFsIElSUXMtb24tbmVzcyBmb3Ig
SU5UCiAkMHg4MC8weDgyIHBhdGhzCk1JTUUtVmVyc2lvbjogMS4wCkNvbnRl
bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRy
YW5zZmVyLUVuY29kaW5nOiA4Yml0CgpCZWZvcmUgc3BlY3VsYXRpb24gZGVm
ZW5jZXMsIHNvbWUgcGF0aHMgaW4gWGVuIGNvdWxkIGdlbnVpbmVseSBnZXQg
YXdheSB3aXRoCmJlaW5nIElSUXMtb24gYXQgZW50cnkuICBCdXQgWFBUSSBp
bnZhbGlkYXRlZCB0aGlzIHByb3BlcnR5IG9uIG1vc3QgcGF0aHMsIGFuZAph
dHRlbXB0aW5nIHRvIG1haW50YWluIGl0IG9uIHRoZSByZW1haW5pbmcgcGF0
aHMgd2FzIGEgbWlzdGFrZS4KCkZhc3QgZm9yd2FyZCwgYW5kIERPX1NQRUNf
Q1RSTF9DT05EX0lCUEIgKHByb3RlY3Rpb24gZm9yIEFNRCBCVEMvU1JTTykg
aXMgbm90CklSUS1zYWZlLCBydW5uaW5nIHdpdGggSVJRcyBlbmFibGVkIGlu
IHNvbWUgY2FzZXMuICBUaGUgb3RoZXIgYWN0aW9ucyB0YWtlbiBvbgp0aGVz
ZSBwYXRocyBoYXBwZW4gdG8gYmUgSVJRLXNhZmUuCgpNYWtlIGVudHJ5X2lu
dDgyKCkgYW5kIGludDgwX2RpcmVjdF90cmFwKCkgdW5jb25kaXRpb25hbGx5
IEludGVycnVwdCBHYXRlcwpyYXRoZXIgdGhhbiBUcmFwIEdhdGVzLiAgUmVt
b3ZlIHRoZSBjb25kaXRpb25hbCByZS1hZGp1c3RtZW50IG9mCmludDgwX2Rp
cmVjdF90cmFwKCkgaW4gc21wX3ByZXBhcmVfY3B1cygpLCBhbmQgaGF2ZSBl
bnRyeV9pbnQ4MigpIGV4cGxpY2l0bHkKZW5hYmxlIGludGVycnVwdHMgd2hl
biBzYWZlIHRvIGRvIHNvLgoKSW4gc21wX3ByZXBhcmVfY3B1cygpLCB3aXRo
IHRoZSBjb25kaXRpb25hbCByZS1hZGp1c3RtZW50IHJlbW92ZWQsIHRoZQpj
bGVhcmluZyBvZiBwdl9jcjMgaXMgdGhlIG9ubHkgcmVtYWluaW5nIGFjdGlv
biBnYXRlZCBvbiBYUFRJLCBhbmQgaXQgaXMgb3V0Cm9mIHBsYWNlIGFueXdh
eSwgcmVwZWF0aW5nIHdvcmsgYWxyZWFkeSBkb25lIGJ5IHNtcF9wcmVwYXJl
X2Jvb3RfY3B1KCkuICBEcm9wCnRoZSBlbnRpcmUgaWYoKSBjb25kaXRpb24g
dG8gYXZvaWQgbGVhdmluZyBhbiBpbmNvcnJlY3QgdmVzdGlnaWFsIHJlbW5h
bnQuCgpBbHNvIGRyb3AgY29tbWVudHMgd2hpY2ggbWFrZSBpbmNvcnJlY3Qg
c3RhdGVtZW50cyBhYm91dCB3aGVuIGl0cyBzYWZlIHRvCmVuYWJsZSBpbnRl
cnJ1cHRzLgoKVGhpcyBpcyBYU0EtNDQ2IC8gQ1ZFLTIwMjMtNDY4MzYKClNp
Z25lZC1vZmYtYnk6IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNp
dHJpeC5jb20+ClJldmlld2VkLWJ5OiBSb2dlciBQYXUgTW9ubsOpIDxyb2dl
ci5wYXVAY2l0cml4LmNvbT4KLS0tCiB4ZW4vYXJjaC94ODYvcHYvdHJhcHMu
YyAgICAgICAgICAgIHwgIDQgKystLQogeGVuL2FyY2gveDg2L3NtcGJvb3Qu
YyAgICAgICAgICAgICB8IDE0IC0tLS0tLS0tLS0tLS0tCiB4ZW4vYXJjaC94
ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TIHwgIDIgKysKIHhlbi9hcmNoL3g4
Ni94ODZfNjQvZW50cnkuUyAgICAgICAgfCAgMSAtCiA0IGZpbGVzIGNoYW5n
ZWQsIDQgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCgpkaWZmIC0t
Z2l0IGEveGVuL2FyY2gveDg2L3B2L3RyYXBzLmMgYi94ZW4vYXJjaC94ODYv
cHYvdHJhcHMuYwppbmRleCA3NGYzMzNkYTdlMWMuLjI0MGQxYTJkYjdhMyAx
MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3B2L3RyYXBzLmMKKysrIGIveGVu
L2FyY2gveDg2L3B2L3RyYXBzLmMKQEAgLTEzOSwxMSArMTM5LDExIEBAIHZv
aWQgX19pbml0IHB2X3RyYXBfaW5pdCh2b2lkKQogI2lmZGVmIENPTkZJR19Q
VjMyCiAgICAgLyogVGhlIDMyLW9uLTY0IGh5cGVyY2FsbCB2ZWN0b3IgaXMg
b25seSBhY2Nlc3NpYmxlIGZyb20gcmluZyAxLiAqLwogICAgIF9zZXRfZ2F0
ZShpZHRfdGFibGUgKyBIWVBFUkNBTExfVkVDVE9SLAotICAgICAgICAgICAg
ICBTWVNfREVTQ190cmFwX2dhdGUsIDEsIGVudHJ5X2ludDgyKTsKKyAgICAg
ICAgICAgICAgU1lTX0RFU0NfaXJxX2dhdGUsIDEsIGVudHJ5X2ludDgyKTsK
ICNlbmRpZgogCiAgICAgLyogRmFzdCB0cmFwIGZvciBpbnQ4MCAoZmFzdGVy
IHRoYW4gdGFraW5nIHRoZSAjR1AtZml4dXAgcGF0aCkuICovCi0gICAgX3Nl
dF9nYXRlKGlkdF90YWJsZSArIExFR0FDWV9TWVNDQUxMX1ZFQ1RPUiwgU1lT
X0RFU0NfdHJhcF9nYXRlLCAzLAorICAgIF9zZXRfZ2F0ZShpZHRfdGFibGUg
KyBMRUdBQ1lfU1lTQ0FMTF9WRUNUT1IsIFNZU19ERVNDX2lycV9nYXRlLCAz
LAogICAgICAgICAgICAgICAmaW50ODBfZGlyZWN0X3RyYXApOwogCiAgICAg
b3Blbl9zb2Z0aXJxKE5NSV9TT0ZUSVJRLCBubWlfc29mdGlycSk7CmRpZmYg
LS1naXQgYS94ZW4vYXJjaC94ODYvc21wYm9vdC5jIGIveGVuL2FyY2gveDg2
L3NtcGJvb3QuYwppbmRleCAzYTFhNjU5MDgyYzYuLjRjNTRlY2JjOTFkNyAx
MDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L3NtcGJvb3QuYworKysgYi94ZW4v
YXJjaC94ODYvc21wYm9vdC5jCkBAIC0xMTU4LDIwICsxMTU4LDYgQEAgdm9p
ZCBfX2luaXQgc21wX3ByZXBhcmVfY3B1cyh2b2lkKQogCiAgICAgc3RhY2tf
YmFzZVswXSA9ICh2b2lkICopKCh1bnNpZ25lZCBsb25nKXN0YWNrX3N0YXJ0
ICYgfihTVEFDS19TSVpFIC0gMSkpOwogCi0gICAgaWYgKCBvcHRfeHB0aV9o
d2RvbSB8fCBvcHRfeHB0aV9kb211ICkKLSAgICB7Ci0gICAgICAgIGdldF9j
cHVfaW5mbygpLT5wdl9jcjMgPSAwOwotCi0jaWZkZWYgQ09ORklHX1BWCi0g
ICAgICAgIC8qCi0gICAgICAgICAqIEFsbCBlbnRyeSBwb2ludHMgd2hpY2gg
bWF5IG5lZWQgdG8gc3dpdGNoIHBhZ2UgdGFibGVzIGhhdmUgdG8gc3RhcnQK
LSAgICAgICAgICogd2l0aCBpbnRlcnJ1cHRzIG9mZi4gUmUtd3JpdGUgd2hh
dCBwdl90cmFwX2luaXQoKSBoYXMgcHV0IHRoZXJlLgotICAgICAgICAgKi8K
LSAgICAgICAgX3NldF9nYXRlKGlkdF90YWJsZSArIExFR0FDWV9TWVNDQUxM
X1ZFQ1RPUiwgU1lTX0RFU0NfaXJxX2dhdGUsIDMsCi0gICAgICAgICAgICAg
ICAgICAmaW50ODBfZGlyZWN0X3RyYXApOwotI2VuZGlmCi0gICAgfQotCiAg
ICAgc2V0X25yX3NvY2tldHMoKTsKIAogICAgIHNvY2tldF9jcHVtYXNrID0g
eHphbGxvY19hcnJheShjcHVtYXNrX3QgKiwgbnJfc29ja2V0cyk7CmRpZmYg
LS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TIGIv
eGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUwppbmRleCBiZDVh
YmQ4MDQwYmQuLmZjYzNhNzIxZjE0NyAxMDA2NDQKLS0tIGEveGVuL2FyY2gv
eDg2L3g4Nl82NC9jb21wYXQvZW50cnkuUworKysgYi94ZW4vYXJjaC94ODYv
eDg2XzY0L2NvbXBhdC9lbnRyeS5TCkBAIC0yMSw2ICsyMSw4IEBAIEVOVFJZ
KGVudHJ5X2ludDgyKQogICAgICAgICBTUEVDX0NUUkxfRU5UUllfRlJPTV9Q
ViAvKiBSZXE6ICVyc3A9cmVncy9jcHVpbmZvLCAlcmR4PTAsIENsb2I6IGFj
ZCAqLwogICAgICAgICAvKiBXQVJOSU5HISBgcmV0YCwgYGNhbGwgKmAsIGBq
bXAgKmAgbm90IHNhZmUgYmVmb3JlIHRoaXMgcG9pbnQuICovCiAKKyAgICAg
ICAgc3RpCisKICAgICAgICAgQ1I0X1BWMzJfUkVTVE9SRQogCiAgICAgICAg
IEdFVF9DVVJSRU5UKGJ4KQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4
Nl82NC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TCmlu
ZGV4IDVjYTc0ZjVmNjJiMi4uOWE3YjEyOWFhN2U0IDEwMDY0NAotLS0gYS94
ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKKysrIGIveGVuL2FyY2gveDg2
L3g4Nl82NC9lbnRyeS5TCkBAIC0zMjcsNyArMzI3LDYgQEAgRU5UUlkoc3lz
ZW50ZXJfZW50cnkpCiAjaWZkZWYgQ09ORklHX1hFTl9TSFNUSwogICAgICAg
ICBBTFRFUk5BVElWRSAiIiwgInNldHNzYnN5IiwgWDg2X0ZFQVRVUkVfWEVO
X1NIU1RLCiAjZW5kaWYKLSAgICAgICAgLyogc3RpIGNvdWxkIGxpdmUgaGVy
ZSB3aGVuIHdlIGRvbid0IHN3aXRjaCBwYWdlIHRhYmxlcyBiZWxvdy4gKi8K
ICAgICAgICAgcHVzaHEgJEZMQVRfVVNFUl9TUwogICAgICAgICBwdXNocSAk
MAogICAgICAgICBwdXNoZnEKCmJhc2UtY29tbWl0OiA3YmVmZWY4N2NjOWIx
YmI4Y2ExNWQ4NjZjZTFlY2Q5MTY1Y2NiNThjCnByZXJlcXVpc2l0ZS1wYXRj
aC1pZDogMTQyYTg3YzcwNzQxMWQ0OWUxMzZjM2ZiNzZmMWIxNDk2M2VjNmRj
OAotLSAKMi4zMC4yCgo=

--=separator--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:07:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:07:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632525.986830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2u47-0001ot-Ph; Tue, 14 Nov 2023 14:06:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632525.986830; Tue, 14 Nov 2023 14:06: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 1r2u47-0001om-Li; Tue, 14 Nov 2023 14:06:55 +0000
Received: by outflank-mailman (input) for mailman id 632525;
 Tue, 14 Nov 2023 14:06: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=krWi=G3=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r2u47-0001o0-1L
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:06:55 +0000
Received: from m35-190.mailgun.net (m35-190.mailgun.net [69.72.35.190])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 0f6af8b2-82f7-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:06:53 +0100 (CET)
Received: from mg.gitlab.com (24.226.74.34.bc.googleusercontent.com
 [34.74.226.24]) by
 6aee8e489c02 with SMTP id 65537efbf6aba46b4c9a0397 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 14 Nov 2023 14:06:51 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 0f6af8b2-82f7-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699970811; x=1699978011; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=Cgc+xYSVWYgmktEk6zizEnO/KNOxMXgW6rh1VWUSgVs=;
 b=JBLwQ1tXwJdkpDmORAatUxh1S0pLQMv5cbxsmWRtAB2wSIBI2h/gfWlzVKOma2djIvbgI7FWZKdkRA79mQLEjIiLO4pTG6ha9zwGcST3RBM42SnqO1DdNoNiFlOTZH/fvMdj/SOe4cVIsrYVgd1s8gAu7SD9pTM3JSgUcANkFxo=
X-Mailgun-Sending-Ip: 69.72.35.190
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 14 Nov 2023 14:06:50 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65537efacf8bc_2c145b248171719@gitlab-sidekiq-catchall-v2-556c8886f-dkw78.mail>
Subject: xen | Failed pipeline for staging-4.15 | b918c4cd
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65537efab3ce5_2c145b24817163b";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1071943316
X-GitLab-Pipeline-Ref: staging-4.15
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65537efab3ce5_2c145b24817163b
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1071943316 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.15 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.15 )

Commit: b918c4cd ( https://gitlab.com/xen-project/xen/-/commit/b918c4cdc7ab2c1c9e9a9b54fa9d9c595913e028 )
Commit Message: x86/spec-ctrl: Remove conditional IRQs-on-ness ...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )


Pipeline #1071943316 ( https://gitlab.com/xen-project/xen/-/pipelines/1071943316 ) triggered by Ganis ( https://gitlab.com/ganis )
had 19 failed jobs.

Job #5532197271 ( https://gitlab.com/xen-project/xen/-/jobs/5532197271/raw )

Stage: build
Name: debian-unstable-gcc-debug-arm64
Job #5532197131 ( https://gitlab.com/xen-project/xen/-/jobs/5532197131/raw )

Stage: build
Name: debian-stretch-clang-debug
Job #5532197137 ( https://gitlab.com/xen-project/xen/-/jobs/5532197137/raw )

Stage: build
Name: debian-stretch-32-clang-debug
Job #5532197141 ( https://gitlab.com/xen-project/xen/-/jobs/5532197141/raw )

Stage: build
Name: debian-stretch-32-gcc-debug
Job #5532197144 ( https://gitlab.com/xen-project/xen/-/jobs/5532197144/raw )

Stage: build
Name: debian-unstable-clang
Job #5532197153 ( https://gitlab.com/xen-project/xen/-/jobs/5532197153/raw )

Stage: build
Name: debian-unstable-gcc-debug
Job #5532197161 ( https://gitlab.com/xen-project/xen/-/jobs/5532197161/raw )

Stage: build
Name: debian-unstable-32-clang-debug
Job #5532197163 ( https://gitlab.com/xen-project/xen/-/jobs/5532197163/raw )

Stage: build
Name: debian-unstable-32-gcc-debug
Job #5532197108 ( https://gitlab.com/xen-project/xen/-/jobs/5532197108/raw )

Stage: build
Name: archlinux-gcc
Job #5532197111 ( https://gitlab.com/xen-project/xen/-/jobs/5532197111/raw )

Stage: build
Name: archlinux-gcc-debug
Job #5532197130 ( https://gitlab.com/xen-project/xen/-/jobs/5532197130/raw )

Stage: build
Name: debian-stretch-clang
Job #5532197133 ( https://gitlab.com/xen-project/xen/-/jobs/5532197133/raw )

Stage: build
Name: debian-stretch-gcc
Job #5532197135 ( https://gitlab.com/xen-project/xen/-/jobs/5532197135/raw )

Stage: build
Name: debian-stretch-gcc-debug
Job #5532197146 ( https://gitlab.com/xen-project/xen/-/jobs/5532197146/raw )

Stage: build
Name: debian-unstable-clang-debug
Job #5532197149 ( https://gitlab.com/xen-project/xen/-/jobs/5532197149/raw )

Stage: build
Name: debian-unstable-gcc
Job #5532197246 ( https://gitlab.com/xen-project/xen/-/jobs/5532197246/raw )

Stage: build
Name: opensuse-leap-clang-debug
Job #5532197243 ( https://gitlab.com/xen-project/xen/-/jobs/5532197243/raw )

Stage: build
Name: opensuse-leap-clang
Job #5532197254 ( https://gitlab.com/xen-project/xen/-/jobs/5532197254/raw )

Stage: build
Name: alpine-3.12-gcc
Job #5532197269 ( https://gitlab.com/xen-project/xen/-/jobs/5532197269/raw )

Stage: build
Name: debian-unstable-gcc-arm64

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65537efab3ce5_2c145b24817163b
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging-4.15 | b918c4cd</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1071943316 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.15" style=3D"color: #333333; text-decoration: none;">
staging-4.15
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/b918c4cdc7ab2c1c9e=
9a9b54fa9d9c595913e028" style=3D"color: #3777b0; text-decoration: none;">=

b918c4cd
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86/spec-ctrl: Remove conditional IRQs-on-ness ...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1071943316">#1071943316</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 19 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197271" style=3D=
"color: #3777b0; text-decoration: none;">
debian-unstable-gcc-debug-arm64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197131" style=3D=
"color: #3777b0; text-decoration: none;">
debian-stretch-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197137" style=3D=
"color: #3777b0; text-decoration: none;">
debian-stretch-32-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197141" style=3D=
"color: #3777b0; text-decoration: none;">
debian-stretch-32-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197144" style=3D=
"color: #3777b0; text-decoration: none;">
debian-unstable-clang
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197153" style=3D=
"color: #3777b0; text-decoration: none;">
debian-unstable-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197161" style=3D=
"color: #3777b0; text-decoration: none;">
debian-unstable-32-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197163" style=3D=
"color: #3777b0; text-decoration: none;">
debian-unstable-32-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197108" style=3D=
"color: #3777b0; text-decoration: none;">
archlinux-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197111" style=3D=
"color: #3777b0; text-decoration: none;">
archlinux-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197130" style=3D=
"color: #3777b0; text-decoration: none;">
debian-stretch-clang
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197133" style=3D=
"color: #3777b0; text-decoration: none;">
debian-stretch-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197135" style=3D=
"color: #3777b0; text-decoration: none;">
debian-stretch-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197146" style=3D=
"color: #3777b0; text-decoration: none;">
debian-unstable-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197149" style=3D=
"color: #3777b0; text-decoration: none;">
debian-unstable-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197246" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197243" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-clang
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197254" style=3D=
"color: #3777b0; text-decoration: none;">
alpine-3.12-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532197269" style=3D=
"color: #3777b0; text-decoration: none;">
debian-unstable-gcc-arm64
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65537efab3ce5_2c145b24817163b--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:11:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:11:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632593.986840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2u8b-00051u-Ed; Tue, 14 Nov 2023 14:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632593.986840; Tue, 14 Nov 2023 14:11: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 1r2u8b-00051n-BS; Tue, 14 Nov 2023 14:11:33 +0000
Received: by outflank-mailman (input) for mailman id 632593;
 Tue, 14 Nov 2023 14:11: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=5GB7=G3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2u8Z-0004yc-Uo
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:11:31 +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 b5202162-82f7-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:11:30 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-32daeed7771so3245227f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:11:30 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 h4-20020adff4c4000000b0031ad5fb5a0fsm7916590wrp.58.2023.11.14.06.11.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 06:11:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5202162-82f7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699971090; x=1700575890; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9nsZgB1N+DRhhRDGQjhSJdNbT8dgbzej3eEIRFzoNjA=;
        b=vYfQcJjpqRrOkZmoxUlSwS3mlSlyI0Zwof1JhzzCjqCWyNZUn499BooXHIMu4qHwFW
         teNLTcRtCgQ0gl1QbFDTr0DYeNc0iO2xYoeQtmaZgmlycJJLYu9ZPquk54mdnR4hmJAj
         7Rfpxsbc1Swoeq9KfFMsj5sj4GQXZlgqR9qhg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699971090; x=1700575890;
        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:subject:date:message-id:reply-to;
        bh=9nsZgB1N+DRhhRDGQjhSJdNbT8dgbzej3eEIRFzoNjA=;
        b=HS7b+iJNhyxKzgdafPFWA6aaMM9LSmmO39f5hk6G4dhVS/NwAs8ug0veVvj8qL3U34
         U2HGoaXmmJBFhtXe3rGptfuvqoVE02o9j5mUUbekyXx6Lwra8/jh95YGytFvlfAjsstX
         pzY6w718z/F42uYU9bp4L4H7bjdkTWqijJYljEdp1GaOn70pn1ewSiwrWRLE/CsJ4/J9
         CC3eRHjogwpTiJh+28FRFrGz4zWerJ0WEIXTslA2Fb4M4D0Z2nDUfbV7ckzN2VdWEjVJ
         WwBQ30i0WUqbyHMYPMOX7c36aLEtyTsGgE+iF1Opj8CVNdcHcVUB+7XXMZkuziJh9gn/
         ML6w==
X-Gm-Message-State: AOJu0Yz+2x4U54fgV/ff5XIbBjNmVTdrKnLA8oW7BgtslAX8DUArALA2
	2bf15UqIbB4ZY/ixVbjfpa0uRA==
X-Google-Smtp-Source: AGHT+IHhbKPGk7oi9/Eq12+ugBUauY2EB+o3oW6oC4DzkgxvxeXeLpqL1x7DEtWf14r+CKXl+rcPkg==
X-Received: by 2002:adf:e9c6:0:b0:32f:762f:7f9f with SMTP id l6-20020adfe9c6000000b0032f762f7f9fmr5576296wrn.16.1699971089803;
        Tue, 14 Nov 2023 06:11:29 -0800 (PST)
Date: Tue, 14 Nov 2023 15:11:28 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Message-ID: <ZVOAEFoYFDp8lxCd@macbook.local>
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
 <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
 <65536590.050a0220.eb28a.617d@mx.google.com>
 <f278f367-81cb-4a72-9303-23622dea3abd@suse.com>
 <fd99ea62-f011-4bcb-ba83-4698b5d267fd@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <fd99ea62-f011-4bcb-ba83-4698b5d267fd@citrix.com>

On Tue, Nov 14, 2023 at 12:55:46PM +0000, Andrew Cooper wrote:
> On 14/11/2023 12:32 pm, Jan Beulich wrote:
> > On 14.11.2023 13:18, Alejandro Vallejo wrote:
> >> On Tue, Nov 14, 2023 at 11:14:22AM +0100, Jan Beulich wrote:
> >>> On 13.11.2023 18:53, Roger Pau Monné wrote:
> >>>> On Mon, Nov 13, 2023 at 04:50:23PM +0000, Alejandro Vallejo wrote:
> >>>>> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> >>>>> registers are derivable from each other through a fixed formula.
> >>>>>
> >>>>> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> >>>>> rather than x2APIC_IDs (which are not, at the moment). As I understand it,
> >>>>> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> >>>>> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> >>>>> x2APIC_ID and internally derive LDR (or the other way around)
> >>>> I would replace the underscore from x2APIC ID with a space instead.
> >>>>
> >>>> Seeing the commit that introduced the bogus LDR value, I'm not sure it
> >>>> was intentional,
> >>> Hard to reconstruct over 9 years later. It feels like Alejandro may be right
> >>> with his derivation.
> >>>
> >>>> as previous Xen code had:
> >>>>
> >>>> u32 id = vlapic_get_reg(vlapic, APIC_ID);
> >>>> u32 ldr = ((id & ~0xf) << 16) | (1 << (id & 0xf));
> >>>> vlapic_set_reg(vlapic, APIC_LDR, ldr);
> >>>>
> >>>> Which was correct, as the LDR was derived from the APIC ID and not the
> >>>> vCPU ID.
> >>> Well, it gave the appearance of deriving from the APIC ID. Just that it was
> >>> missing GET_xAPIC_ID() around the vlapic_get_reg() (hence why LDR was
> >>> uniformly 1 on all CPUs).
> >>>
> >>>>> This patch fixes the implementation so we follow the rules in the x2APIC
> >>>>> spec(s).
> >>>>>
> >>>>> While in the neighborhood, replace the u32 type with the standard uint32_t
> >>>> Likely wants:
> >>>>
> >>>> Fixes: f9e0cccf7b35 ('x86/HVM: fix ID handling of x2APIC emulation')
> >>> +1
> >>>
> >>>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> >>>> I do wonder whether we need to take any precautions with guests being
> >>>> able to trigger an APIC reset, and thus seeing a changed LDR register
> >>>> if the guest happens to be migrated from an older hypervisor version
> >>>> that doesn't have this fix.  IOW: I wonder whether Xen should keep the
> >>>> previous bogus LDR value across APIC resets for guests that have
> >>>> already seen it.
> >>> That earlier change deliberately fixed up any bogus values. I wonder
> >>> whether what you suggest will do more good or more harm than going
> >>> even farther and once again fixing up bad values in lapic_load_fixup().
> >>> After all LDR being wrong affects vlapic_match_logical_addr()'s outcome.
> >>> I think one of the two wants adding to the change, though.
> >>>
> >> You mean changing the LDR of a vCPU to the correct value on migrate? That
> >> feels like playing with fire. A migrated VM is presumably a VM that is
> >> running without issues (or it would have been rebooted). Letting it run
> >> as it did seems safer.
> > See Andrew's reply.
> >
> >> I don't think vlapic_match_logical_addr() is affected. The LDR's are still
> >> unique in the bogus case so the matching ought to work. Problem would arise
> >> if the guest makes assumptions about APIC_ID and LDR relationships.
> > The LDRs still being unique (or not) isn't what I'm concerned about. It is
> > the function's return value which would be wrong, as the incoming "mda"
> > presumably was set in its respective field on the assumption that the LDRs
> > are set in a spec-compliant way. There not having been problem reports
> > makes me wonder whether any guests actually use logical delivery mode in a
> > wider fashion.
> 
> They likely don't.
> 
> Logical delivery for xAPIC only works in a tiny fraction of cases
> (assuming correct topology information, which we don't give), and
> persuading a VM to turn on x2APIC without a vIOMMU is not something
> we've managed to do in Xen.

We do, in fact the pvshim (or nested Xen) will run in x2APIC mode if
available.

Linux >= 5.17 will also use x2APIC mode if available when running as a
Xen HVM guest:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c8980fcb210851138cb34c9a8cb0cf0c09f07bf9

If a guest has been booted with the bogus LDR we need to keep it on
migrate, otherwise at least Xen will break (because it does read the
LDR from the hardware instead of building it based on the APIC ID).

Switching to the correct LDR on APIC reset can be sensible, any APIC
device reset should be done together with updating whatever registers
have been previously cached, and OSes don't do APIC resets anyway.

> Also (as I learn talking to people just last night) it turns out that
> Logical Destination Mode for external interrupts is entirely broken
> anyway.  It always hits the lowest ID in the cluster, unless the LAPIC
> in question is already servicing a same-or-higher priority interrupt at
> which point the next ID in the cluster is tried.

Yeah, I've heard similar things for lowpri mode.  It's also valid to
implement as a round-robin.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:22:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:22:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632607.986850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uJ9-0007RS-AJ; Tue, 14 Nov 2023 14:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632607.986850; Tue, 14 Nov 2023 14: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 1r2uJ9-0007RL-6u; Tue, 14 Nov 2023 14:22:27 +0000
Received: by outflank-mailman (input) for mailman id 632607;
 Tue, 14 Nov 2023 14:22: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=vqel=G3=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r2uJ7-0007RF-Oh
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:22:25 +0000
Received: from mail-wr1-f41.google.com (mail-wr1-f41.google.com
 [209.85.221.41]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a703047-82f9-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:22:23 +0100 (CET)
Received: by mail-wr1-f41.google.com with SMTP id
 ffacd0b85a97d-32fb1c35fe0so3259921f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:22:23 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 w10-20020a5d680a000000b0032d893d8dc8sm8011697wru.2.2023.11.14.06.22.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 06:22:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a703047-82f9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699971739; x=1700576539; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=T/Kc4PBu7i26KJxuDwwo0TTUe+ZC7eMsAYq1TlHwn9I=;
        b=U4+7y/8bEBsmGLoQbh/Mcu7ayQSdTixiy7eo1MJArNPNnGIhXzE4D5D8xczNjQKGnX
         juX/XOc2u94ZGYRCtuIOPEY5Q5W3M0dxFKT2LWJn4sPUuWWfZZ/X8v0RiS7TDvVkk990
         oNNMn7jcW2SC0dFgrZsJpBepOeoSZBS81ejuc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699971739; x=1700576539;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=T/Kc4PBu7i26KJxuDwwo0TTUe+ZC7eMsAYq1TlHwn9I=;
        b=cJAykbySr+8xDniYz2DoxLuII0abQaTx1W5eXjcthf2loGy1e/537CpsaTU8RDuZ8z
         tL/DS+SMXBgX+UxiygZb9K16zwNBKnH83CVnNZJZbYLofFrKfeiyGyvMxK3hVDooFOhA
         YlACKWBdv4XyqS2DJ4INVNv2r5ABssY87S2ykyqJk3TimCsFuXZYOazJVq5eRM5kuq8N
         lvM32nfSCci5I0yfb7Hk8j4KQoX1FLb2VcKzt6VC5cK3mEmpJUM3wYK2ryI0wsCsviSN
         36zDMBJh+ZcAQUTi1gXojPxgluM6n1yijmiDpCR3CX4EHWn2k1V2meNoUAHpdrpehQV2
         PwAQ==
X-Gm-Message-State: AOJu0YwM9VOeWIfWHYC0X3Jge2DELHghrwYoVa03/GgERj1WnJi+yUmc
	bJhXq20KjbYKglpRFtlJOougwnm/hFla8jl7TDA=
X-Google-Smtp-Source: AGHT+IHnNbzMBpW8RHyqKVz9hify6vCs2KS9bGs+VIVVwMKpq1In/T7Pri2d8iAlnzV1Cq/bFU8+nw==
X-Received: by 2002:a05:6000:1818:b0:32d:81b5:82d0 with SMTP id m24-20020a056000181800b0032d81b582d0mr6333920wrh.33.1699971738862;
        Tue, 14 Nov 2023 06:22:18 -0800 (PST)
Message-ID: <6553829a.5d0a0220.bdcfa.b990@mx.google.com>
X-Google-Original-Message-ID: <ZVOCmPzN0PxWhB04@EMEAENGAAD19049.>
Date: Tue, 14 Nov 2023 14:22:16 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
 <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
 <65536590.050a0220.eb28a.617d@mx.google.com>
 <f278f367-81cb-4a72-9303-23622dea3abd@suse.com>
 <fd99ea62-f011-4bcb-ba83-4698b5d267fd@citrix.com>
 <ZVOAEFoYFDp8lxCd@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZVOAEFoYFDp8lxCd@macbook.local>

Hi,

On Tue, Nov 14, 2023 at 03:11:28PM +0100, Roger Pau Monn wrote:
> On Tue, Nov 14, 2023 at 12:55:46PM +0000, Andrew Cooper wrote:
> > On 14/11/2023 12:32 pm, Jan Beulich wrote:
> > > On 14.11.2023 13:18, Alejandro Vallejo wrote:
> > >> On Tue, Nov 14, 2023 at 11:14:22AM +0100, Jan Beulich wrote:
> > >>> On 13.11.2023 18:53, Roger Pau Monn wrote:
> > >>>> On Mon, Nov 13, 2023 at 04:50:23PM +0000, Alejandro Vallejo wrote:
> > >>>>> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> > >>>>> registers are derivable from each other through a fixed formula.
> > >>>>>
> > >>>>> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> > >>>>> rather than x2APIC_IDs (which are not, at the moment). As I understand it,
> > >>>>> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> > >>>>> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> > >>>>> x2APIC_ID and internally derive LDR (or the other way around)
> > >>>> I would replace the underscore from x2APIC ID with a space instead.
> > >>>>
> > >>>> Seeing the commit that introduced the bogus LDR value, I'm not sure it
> > >>>> was intentional,
> > >>> Hard to reconstruct over 9 years later. It feels like Alejandro may be right
> > >>> with his derivation.
> > >>>
> > >>>> as previous Xen code had:
> > >>>>
> > >>>> u32 id = vlapic_get_reg(vlapic, APIC_ID);
> > >>>> u32 ldr = ((id & ~0xf) << 16) | (1 << (id & 0xf));
> > >>>> vlapic_set_reg(vlapic, APIC_LDR, ldr);
> > >>>>
> > >>>> Which was correct, as the LDR was derived from the APIC ID and not the
> > >>>> vCPU ID.
> > >>> Well, it gave the appearance of deriving from the APIC ID. Just that it was
> > >>> missing GET_xAPIC_ID() around the vlapic_get_reg() (hence why LDR was
> > >>> uniformly 1 on all CPUs).
> > >>>
> > >>>>> This patch fixes the implementation so we follow the rules in the x2APIC
> > >>>>> spec(s).
> > >>>>>
> > >>>>> While in the neighborhood, replace the u32 type with the standard uint32_t
> > >>>> Likely wants:
> > >>>>
> > >>>> Fixes: f9e0cccf7b35 ('x86/HVM: fix ID handling of x2APIC emulation')
> > >>> +1
> > >>>
> > >>>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> > >>>> I do wonder whether we need to take any precautions with guests being
> > >>>> able to trigger an APIC reset, and thus seeing a changed LDR register
> > >>>> if the guest happens to be migrated from an older hypervisor version
> > >>>> that doesn't have this fix.  IOW: I wonder whether Xen should keep the
> > >>>> previous bogus LDR value across APIC resets for guests that have
> > >>>> already seen it.
> > >>> That earlier change deliberately fixed up any bogus values. I wonder
> > >>> whether what you suggest will do more good or more harm than going
> > >>> even farther and once again fixing up bad values in lapic_load_fixup().
> > >>> After all LDR being wrong affects vlapic_match_logical_addr()'s outcome.
> > >>> I think one of the two wants adding to the change, though.
> > >>>
> > >> You mean changing the LDR of a vCPU to the correct value on migrate? That
> > >> feels like playing with fire. A migrated VM is presumably a VM that is
> > >> running without issues (or it would have been rebooted). Letting it run
> > >> as it did seems safer.
> > > See Andrew's reply.
> > >
> > >> I don't think vlapic_match_logical_addr() is affected. The LDR's are still
> > >> unique in the bogus case so the matching ought to work. Problem would arise
> > >> if the guest makes assumptions about APIC_ID and LDR relationships.
> > > The LDRs still being unique (or not) isn't what I'm concerned about. It is
> > > the function's return value which would be wrong, as the incoming "mda"
> > > presumably was set in its respective field on the assumption that the LDRs
> > > are set in a spec-compliant way. There not having been problem reports
> > > makes me wonder whether any guests actually use logical delivery mode in a
> > > wider fashion.
> > 
> > They likely don't.
> > 
> > Logical delivery for xAPIC only works in a tiny fraction of cases
> > (assuming correct topology information, which we don't give), and
> > persuading a VM to turn on x2APIC without a vIOMMU is not something
> > we've managed to do in Xen.
> 
> We do, in fact the pvshim (or nested Xen) will run in x2APIC mode if
> available.
> 
> Linux >= 5.17 will also use x2APIC mode if available when running as a
> Xen HVM guest:
> 
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c8980fcb210851138cb34c9a8cb0cf0c09f07bf9
> 
> If a guest has been booted with the bogus LDR we need to keep it on
> migrate, otherwise at least Xen will break (because it does read the
> LDR from the hardware instead of building it based on the APIC ID).
Ack. I'll just integrate this into my ongoing series, with...
> 
> Switching to the correct LDR on APIC reset can be sensible, any APIC
> device reset should be done together with updating whatever registers
> have been previously cached, and OSes don't do APIC resets anyway.
... this in mind.

> 
> > Also (as I learn talking to people just last night) it turns out that
> > Logical Destination Mode for external interrupts is entirely broken
> > anyway. It always hits the lowest ID in the cluster, unless the LAPIC
> > in question is already servicing a same-or-higher priority interrupt at
> > which point the next ID in the cluster is tried.
> 
> Yeah, I've heard similar things for lowpri mode.  It's also valid to
> implement as a round-robin.
> 
> Thanks, Roger.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:38:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:38:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632617.986860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uYa-0003bD-IK; Tue, 14 Nov 2023 14:38:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632617.986860; Tue, 14 Nov 2023 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 1r2uYa-0003b6-Eb; Tue, 14 Nov 2023 14:38:24 +0000
Received: by outflank-mailman (input) for mailman id 632617;
 Tue, 14 Nov 2023 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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uYZ-0003b0-I0
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:38:23 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7549639d-82fb-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:38:21 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-53d8320f0easo8826642a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:38:21 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 r17-20020aa7da11000000b0054554a7bbedsm5137696eds.24.2023.11.14.06.38.18
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:38:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7549639d-82fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972701; x=1700577501; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=FMnSSW8jr/cJKCHmkfkuNGM9r6aQH+5mtjx4iGXWqMs=;
        b=ug+S+JF5YTME10h3AaavGVTS50+Fx1dl08oJgJny0WHWkkHYENOihLTiHpJb9zaUgD
         c79II6O0ljWYaR3kKmD634cdT99UqfGpTS0ZXdhsKK84zk5cqec1I9NMFWaQJnbbXPZO
         hJP99XaqmR0hiWcVs/Arj0bxjVGRC9RtJQO9UHQTmAbCydueaJgdAi3AF3EANuCm8pxt
         Hhghj+/RrECo2nK1bc6o5MhVQfIjDnL7H1LI6zRCGCmiJg0uwNXyGP30lvZG2VBv7RKD
         pTiU5P9ooBCkMV4m1vx0cMPSoo/hxSQPNTvJbpO1x+4HgDpt3rOrXEpSvo1acttYpuJK
         B9AA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972701; x=1700577501;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=FMnSSW8jr/cJKCHmkfkuNGM9r6aQH+5mtjx4iGXWqMs=;
        b=QO0OefdzPSDfvu/hn2MJXst0ezM+Pe3HgfGgIo7Xg9F/GxccnO+nCNEh630rvA4tkq
         f3NtVmw8A8TQNvESlntfOQn2XZDgl8cZdLEy839POavaPpI/CiN9o4xO8cwEr+t4lEEd
         NEdC43BqR0NtOT/R/jB+LjC+NkaRHLHb0BNlH9GQ4NaNi04So701fXP1wAUa20oUTOaE
         Wekzoc7tqYPnzyCT2t8fp+BekVN3oivOv5vagt3XZQyd4KP0wtZqIza8nsyXqrXwsTi+
         T6kxmVHu77L3OOKagB0FKXikWx00Mg6FVThMJG4I27CwkX4heGa5hxMEuX4u0D8jJfRG
         9crg==
X-Gm-Message-State: AOJu0Yx1JkZwNNxYIsgBL+BNQHAOM1hCFk45yCwBAtuP2/B8dv8jD954
	7u2eStvCLbfJqYQ/yS5w+zQllA==
X-Google-Smtp-Source: AGHT+IGalhPiUDY/2vhmD3Lr4wAa0t8q7dAjDO0/CMsaGIPZeXHvHP6kcXfcCCLtVPKEbEl31jhTGg==
X-Received: by 2002:aa7:cf12:0:b0:526:9cfb:c12 with SMTP id a18-20020aa7cf12000000b005269cfb0c12mr6182599edy.38.1699972700668;
        Tue, 14 Nov 2023 06:38:20 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 v2 00/19] hw/xen: Have most of Xen files become target-agnostic
Date: Tue, 14 Nov 2023 15:37:56 +0100
Message-ID: <20231114143816.71079-1-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Missing review: 4-10,13,16,18-19

Since v1:
- Rework handle_ioreq() patch (Richard)
- Call xen_enabled() and remove various stubs
- Use QEMU_ALIGNED() in xen_blkif header
- Rename ram_memory -> xen_memory
- Have files using Xen API also use its CPPFLAGS
- Add missing license
- Added Avocado tag
- Added R-b tags

Hi,

After discussing with Alex Bennée I realized most Xen code
should be target-agnostic. David Woodhouse confirmed that
last week, so I had a quick look and here is the result.

More work is required to be able to instanciate Xen HW in
an heterogeneous machine, but this doesn't make sense yet
until we can run multiple accelerators concurrently.

Tested running on x86_64/aarch64 Linux hosts:

  $ make check-avocado AVOCADO_TAGS='guest:xen'

Regards,

Phil.

Philippe Mathieu-Daudé (19):
  tests/avocado: Add 'guest:xen' tag to tests running Xen guest
  sysemu/xen: Forbid using Xen headers in user emulation
  sysemu/xen-mapcache: Check Xen availability with
    CONFIG_XEN_IS_POSSIBLE
  system/physmem: Do not include 'hw/xen/xen.h' but 'sysemu/xen.h'
  hw/display: Restrict xen_register_framebuffer() call to Xen
  hw/pci/msi: Restrict xen_is_pirq_msi() call to Xen
  hw/xen: Remove unnecessary xen_hvm_inject_msi() stub
  hw/xen: Remove unused Xen stubs
  hw/block/xen_blkif: Align structs with QEMU_ALIGNED() instead of
    #pragma
  hw/xen: Rename 'ram_memory' global variable as 'xen_memory'
  hw/xen/xen_arch_hvm: Rename prototypes using 'xen_arch_' prefix
  hw/xen: Merge 'hw/xen/arch_hvm.h' in 'hw/xen/xen-hvm-common.h'
  hw/xen: Remove use of 'target_ulong' in handle_ioreq()
  hw/xen: Use target-agnostic qemu_target_page_bits()
  hw/xen: Reduce inclusion of 'cpu.h' to target-specific sources
  hw/xen/xen_pt: Add missing license
  hw/xen: Extract 'xen_igd.h' from 'xen_pt.h'
  hw/i386/xen: Compile 'xen-hvm.c' with Xen CPPFLAGS
  hw/xen: Have most of Xen files become target-agnostic

 hw/block/xen_blkif.h            |  8 +++-----
 hw/xen/xen_pt.h                 | 24 ++++++++++--------------
 include/hw/arm/xen_arch_hvm.h   |  9 ---------
 include/hw/i386/xen_arch_hvm.h  | 11 -----------
 include/hw/xen/arch_hvm.h       |  5 -----
 include/hw/xen/xen-hvm-common.h |  9 +++++++--
 include/hw/xen/xen_igd.h        | 33 +++++++++++++++++++++++++++++++++
 include/sysemu/xen-mapcache.h   |  3 ++-
 include/sysemu/xen.h            |  8 ++++----
 accel/xen/xen-all.c             |  1 +
 hw/arm/xen_arm.c                | 12 ++++++------
 hw/display/vga.c                |  5 ++++-
 hw/i386/pc_piix.c               |  1 +
 hw/i386/xen/xen-hvm.c           | 18 +++++++++---------
 hw/pci/msi.c                    |  3 ++-
 hw/xen/xen-hvm-common.c         | 23 ++++++++++++-----------
 hw/xen/xen_pt.c                 |  3 ++-
 hw/xen/xen_pt_config_init.c     |  3 ++-
 hw/xen/xen_pt_graphics.c        |  3 ++-
 hw/xen/xen_pt_stub.c            |  2 +-
 stubs/xen-hw-stub.c             | 28 ----------------------------
 system/physmem.c                |  2 +-
 accel/xen/meson.build           |  2 +-
 hw/block/dataplane/meson.build  |  2 +-
 hw/i386/xen/meson.build         |  4 +++-
 hw/xen/meson.build              | 21 ++++++++++-----------
 tests/avocado/boot_xen.py       |  3 +++
 tests/avocado/kvm_xen_guest.py  |  1 +
 28 files changed, 121 insertions(+), 126 deletions(-)
 delete mode 100644 include/hw/arm/xen_arch_hvm.h
 delete mode 100644 include/hw/i386/xen_arch_hvm.h
 delete mode 100644 include/hw/xen/arch_hvm.h
 create mode 100644 include/hw/xen/xen_igd.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:38:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:38:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632618.986870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uYh-0003xP-PC; Tue, 14 Nov 2023 14:38:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632618.986870; Tue, 14 Nov 2023 14:38: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 1r2uYh-0003wm-M0; Tue, 14 Nov 2023 14:38:31 +0000
Received: by outflank-mailman (input) for mailman id 632618;
 Tue, 14 Nov 2023 14: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uYg-0003vI-HC
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:38:30 +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 7a023afb-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:38:29 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-9c773ac9b15so803904566b.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:38:29 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 v21-20020a1709064e9500b009df5d874ca7sm5636254eju.23.2023.11.14.06.38.25
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:38:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a023afb-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972707; x=1700577507; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7bjOOh298/gVm20zFogtcW7Ag9vjCtjGY9z1KnDRo3U=;
        b=DWY+OgqUa47v2r77qSjATEmqaZvwmpnPR63A0wPSgvWtgZem89riY6bcbhiBkaP6Ug
         vvGtQeHzkwM8AyyusI9CohijXN58HmuMHiLlJjSiTwmZIrsN7+XDn3mnForFEX44Kc+R
         mD6o5JaLPuKZHPKf2cIBKIEgLvWm1QXWSofZrFfnxXgm5FVJzoHrjrwqFKFY4xRlr10J
         ThGsVM3+f1g+Iu+6uTH0AhTLvoUqynNqxMiSBmZNDvKruhAgyY44+C3edkczx8xy/2pU
         M6HhJ9vYXRumjiAiduX8Pv50R4+RBe/3KwWJj/yLL0tS7rNgiiwV9I0c6JWOhsc0zv4f
         m+eg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972707; x=1700577507;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=7bjOOh298/gVm20zFogtcW7Ag9vjCtjGY9z1KnDRo3U=;
        b=dnh37ygBpdzGKp1cavwUW7aQ4pQ9PLivWLMkxZCpIblNegmLZlVgv1As6Fk2ayTund
         5gseu4B6oWsi9KcMB2n8xbEbDHhHZq/0TVIY/nQdN+gzm8wjlTyBtX3oLfJ8JHHwUpHT
         8NMlQvpNmUOYGw1knrZm1zzx+dOhM4JtAlEd9dFsc7UH1CHcxCsi6HrEsIcnjm162i98
         vhH1kRJ+eTt0jaz0E0oRrMWnW7Vc3Z4V0U3k2d/vNDWKrwdg9oAUg48WoWhTJfD8WB9v
         T3PR8sHqqvjl4AhxLEYq5/YRxPWHswovPThgZAKQkjtx/6PY5mvjiXEKtYlCilQ+HozG
         aj/g==
X-Gm-Message-State: AOJu0YzX46EYNS3Z27SrrOdd3Zx/6L4pnppEsMRanRU6ABZV7WtgDE93
	FUK0uFr0uI/jLL3kChC5UHHTSA==
X-Google-Smtp-Source: AGHT+IGmC/f0NBuJq3lX6zmQbmq53YN/p3zW7ekfEdUOO96zzY8Hw2NKquJgt5a7Y31IS7pqqhAiDQ==
X-Received: by 2002:a17:906:e084:b0:9c6:64be:a3c9 with SMTP id gh4-20020a170906e08400b009c664bea3c9mr7562718ejb.39.1699972707580;
        Tue, 14 Nov 2023 06:38:27 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Cleber Rosa <crosa@redhat.com>,
	Wainer dos Santos Moschetta <wainersm@redhat.com>,
	Beraldo Leal <bleal@redhat.com>
Subject: [PATCH-for-9.0 v2 01/19] tests/avocado: Add 'guest:xen' tag to tests running Xen guest
Date: Tue, 14 Nov 2023 15:37:57 +0100
Message-ID: <20231114143816.71079-2-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Add a tag to run all Xen-specific tests using:

  $ make check-avocado AVOCADO_TAGS='guest:xen'

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 tests/avocado/boot_xen.py      | 3 +++
 tests/avocado/kvm_xen_guest.py | 1 +
 2 files changed, 4 insertions(+)

diff --git a/tests/avocado/boot_xen.py b/tests/avocado/boot_xen.py
index fc2faeedb5..f7f35d4740 100644
--- a/tests/avocado/boot_xen.py
+++ b/tests/avocado/boot_xen.py
@@ -61,6 +61,9 @@ def launch_xen(self, xen_path):
 
 
 class BootXen(BootXenBase):
+    """
+    :avocado: tags=guest:xen
+    """
 
     def test_arm64_xen_411_and_dom0(self):
         """
diff --git a/tests/avocado/kvm_xen_guest.py b/tests/avocado/kvm_xen_guest.py
index 5391283113..63607707d6 100644
--- a/tests/avocado/kvm_xen_guest.py
+++ b/tests/avocado/kvm_xen_guest.py
@@ -22,6 +22,7 @@ class KVMXenGuest(QemuSystemTest, LinuxSSHMixIn):
     :avocado: tags=arch:x86_64
     :avocado: tags=machine:q35
     :avocado: tags=accel:kvm
+    :avocado: tags=guest:xen
     :avocado: tags=kvm_xen_guest
     """
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:38:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:38:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632619.986880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uYm-0004J6-7Y; Tue, 14 Nov 2023 14:38:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632619.986880; Tue, 14 Nov 2023 14: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 1r2uYm-0004Ix-3r; Tue, 14 Nov 2023 14:38:36 +0000
Received: by outflank-mailman (input) for mailman id 632619;
 Tue, 14 Nov 2023 14:38: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uYk-0003vI-V7
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:38:34 +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 7d282fe8-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:38:34 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-545ed16b137so8048513a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:38:34 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 ha17-20020a170906a89100b009dd8473559dsm5543525ejb.110.2023.11.14.06.38.32
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:38:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7d282fe8-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972714; x=1700577514; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=r7OOTLwbh53U5+FgsPEU5EGeXSv4SaNpAAr4X/+o3UA=;
        b=Zx4iGlb/hwXpGeAFtoNCjTotHy//WhwBt/kIXlOjCEwXomxHfYFqAkVx21n62olVfJ
         x/WyOlFu+GasSC/OyfaDXo9q+69t0FEBd8wdR89Clet5dnY4lHyH4xsDUm75V5Z2nAbR
         jTVERu5OAesS3UMkgDkQzkeGwj05q2jKNuT8qA0s7OWlqRfvZRRKcJO7Gd2rrpHjVBFA
         MHlFz/Cvuzw3JLUMdMxPyWlWkiJwaaCRVoBLN5uWnbMopnI/vTNmwCKBDjbig6BHreNt
         GgEsoXf56ayZlT18o7u0qDJabAVhYkWFWg3GxvyZX7zW+jK/naJvbjTb7XPANmFJ5MBE
         TpNg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972714; x=1700577514;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=r7OOTLwbh53U5+FgsPEU5EGeXSv4SaNpAAr4X/+o3UA=;
        b=Z3zNDq5r0oGHcU7EwBzvBbvA/vXoFCJixVeYmyUjKVyB2nNI/KI+iZF9b5amD7L+ZI
         PBEe59Zfw6uZCbq1xDLou65jnPCJhwPbLYW6ZjpaPw0/D1678K6EMa9xBcaJSLV2lJFH
         OX1AovNvxLnZe/I2h1PuNyt11UcUaZJzCZgHROkuAhF6uEJokS72TYZFao38Ol6CNQ7J
         IfeV4wo7BzRBQvpyKcjkV+wK4jeCNH6lTCmhIH6CE6jmychkYrW16z8sGF1mOLO8NrqU
         bu38qNajR7/rKICk9eRbMcYm3I9sFmoXlZvmWXDAwPYWVwizxpUVL4h0WoZmEdFPpnUD
         u5sw==
X-Gm-Message-State: AOJu0Ywy4GwWFrG/5cNonjqdAYLe3EqcZgxCegcfOh059aC5uBpC4Kze
	jESJD5iv0O6EnqSbCZhpmMUlLQ==
X-Google-Smtp-Source: AGHT+IELhzs9bxNKpuVpMav1CIPsLfztJ8ibvFnuauNtaNuW/pX7cLT4uf7lQThdsPSioUMrMZEBQA==
X-Received: by 2002:a17:906:ca5b:b0:9be:30c2:b8ff with SMTP id jx27-20020a170906ca5b00b009be30c2b8ffmr7193715ejb.61.1699972713904;
        Tue, 14 Nov 2023 06:38:33 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 v2 02/19] sysemu/xen: Forbid using Xen headers in user emulation
Date: Tue, 14 Nov 2023 15:37:58 +0100
Message-ID: <20231114143816.71079-3-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Xen is a system specific accelerator, it makes no sense
to include its headers in user emulation.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
---
 include/sysemu/xen.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/sysemu/xen.h b/include/sysemu/xen.h
index bc13ad5692..a9f591f26d 100644
--- a/include/sysemu/xen.h
+++ b/include/sysemu/xen.h
@@ -10,6 +10,10 @@
 #ifndef SYSEMU_XEN_H
 #define SYSEMU_XEN_H
 
+#ifdef CONFIG_USER_ONLY
+#error Cannot include sysemu/xen.h from user emulation
+#endif
+
 #include "exec/cpu-common.h"
 
 #ifdef NEED_CPU_H
@@ -26,16 +30,13 @@ extern bool xen_allowed;
 
 #define xen_enabled()           (xen_allowed)
 
-#ifndef CONFIG_USER_ONLY
 void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
                    struct MemoryRegion *mr, Error **errp);
-#endif
 
 #else /* !CONFIG_XEN_IS_POSSIBLE */
 
 #define xen_enabled() 0
-#ifndef CONFIG_USER_ONLY
 static inline void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
 {
     /* nothing */
@@ -45,7 +46,6 @@ static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
 {
     g_assert_not_reached();
 }
-#endif
 
 #endif /* CONFIG_XEN_IS_POSSIBLE */
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:38:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:38:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632620.986890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uYs-0004gO-FC; Tue, 14 Nov 2023 14:38:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632620.986890; Tue, 14 Nov 2023 14:38: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 1r2uYs-0004gF-Cc; Tue, 14 Nov 2023 14:38:42 +0000
Received: by outflank-mailman (input) for mailman id 632620;
 Tue, 14 Nov 2023 14: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uYr-0003vI-CM
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:38:41 +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 80fed492-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:38:40 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-9ae2cc4d17eso851790866b.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:38:40 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 j2-20020a170906094200b009ad7fc17b2asm5613097ejd.224.2023.11.14.06.38.38
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:38:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80fed492-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972720; x=1700577520; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kBdIXHGvx5/0R2xC8Q+GilhuZtCQOtnJ9hpGFyppJEE=;
        b=VfrsxR0BlBurVaHJ2Y5Iwqs2Y84fBd/VZRQCgMebzbhGTkhHdXqBTtqt17aXU1E8Cg
         ruN/+VH+iKd6Zqs/y+UWyz7zvR8PciuJ/MZeFoJ4Usa6NQ0cXaV7Cbl3XwTFuWj1nzV/
         FaRZ20NXSeMJ3xBZsg7zqa3Ze9D2B3QFpT/41BKwsnimQldIlmfpZih1MqqUB/L+bmE4
         mxrBS2D9OTH+XxLN9IaqcWZVOYVAQBAJ/CqD2Tw3jBku5AHs5iWAI42xb152MrZYMgyL
         EB1TaSuEGHjMebeAL/1RB7G/z5phTYqe8xku/KpVYFXORyIpZbjHonOxUwo7Z5Bq8fqP
         IxjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972720; x=1700577520;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=kBdIXHGvx5/0R2xC8Q+GilhuZtCQOtnJ9hpGFyppJEE=;
        b=COPJUGP2sxffgimmf8e2ETn2SE7L4ExawWGIDlUvl4GvM5JlOYZpVDZv6rLYLvTWiR
         +/iQ8uUK+SlxUGpYU6ujardlgHktLwxPL16RM4ROzNE2wO3mTmyoqMm17ye8nr2ft/DN
         oQG1zpEKrnTJ4/ks8OouyO+VTWNuCCyvuL/5XWCiSkNky5xNlIuYCSjh3nWHIlC25yXf
         10k0N9/t7QdaF8ZEIO/MWkAP+EvEBpLt1EDy8JjgDD5TV108mVIJoCb4cVXA7sDytoyy
         1EVe6BgmhvRdMmnW2My1MUCZM7STXGzHcKvh93JvtuuvnrTdEKB4XhgQayf/apJkdS6J
         4Pog==
X-Gm-Message-State: AOJu0YxM3pVYm6bDmf/wkZZtOficNnftunrlUsTp4f151fGjT4G2yhnn
	lYA799pfD4nUslhTrw44I+1+zJfmbTJIkPgIHis=
X-Google-Smtp-Source: AGHT+IFii/vTCRNAFXoxhgp7tKdZ5NzaA4D0hMTO7kCC4hnZ5p3PauJ+Zda1OHH5OQndb4HCu48Kbw==
X-Received: by 2002:a17:906:6b97:b0:9d2:e2f6:45b2 with SMTP id l23-20020a1709066b9700b009d2e2f645b2mr7411114ejr.71.1699972720502;
        Tue, 14 Nov 2023 06:38:40 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 v2 03/19] sysemu/xen-mapcache: Check Xen availability with CONFIG_XEN_IS_POSSIBLE
Date: Tue, 14 Nov 2023 15:37:59 +0100
Message-ID: <20231114143816.71079-4-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

"sysemu/xen.h" defines CONFIG_XEN_IS_POSSIBLE as a target-agnostic
version of CONFIG_XEN accelerator.
Use it in order to use "sysemu/xen-mapcache.h" in target-agnostic files.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
---
 include/sysemu/xen-mapcache.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h
index c8e7c2f6cf..10c2e3082a 100644
--- a/include/sysemu/xen-mapcache.h
+++ b/include/sysemu/xen-mapcache.h
@@ -10,10 +10,11 @@
 #define XEN_MAPCACHE_H
 
 #include "exec/cpu-common.h"
+#include "sysemu/xen.h"
 
 typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
                                          ram_addr_t size);
-#ifdef CONFIG_XEN
+#ifdef CONFIG_XEN_IS_POSSIBLE
 
 void xen_map_cache_init(phys_offset_to_gaddr_t f,
                         void *opaque);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:38:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:38:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632621.986900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uZ0-0005Bb-Nb; Tue, 14 Nov 2023 14:38:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632621.986900; Tue, 14 Nov 2023 14:38: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 1r2uZ0-0005BU-Kw; Tue, 14 Nov 2023 14:38:50 +0000
Received: by outflank-mailman (input) for mailman id 632621;
 Tue, 14 Nov 2023 14:38: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uYz-0003b0-Bc
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:38:49 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 851d30b8-82fb-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:38:47 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-54366784377so8748483a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:38:47 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 m13-20020a50930d000000b0053e3d8f1d9fsm5267242eda.67.2023.11.14.06.38.45
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:38:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 851d30b8-82fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972727; x=1700577527; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UVR+oDiuZU+TW6PLxAmD0Xj/DK6BF5fQU92EHH5K3Z4=;
        b=JE5EwRB/NhM31ug+MxKMHIzTxC5afV3rXEOALsjJ9aDYIFqFZ8mX6ibjk9oDRsCY8b
         gOxG+ji2bFpghHfXY2sS3X+lz9AEffdKP8AGtFlOexHkIMKIHdO+Nf5qAk8TqxHaGtq/
         KTCqXFYu4ujoIObgGqTKV/7R7kEhBYFDkNte6Dcl/MAOUODDdowBFntbQ6fzwBWaxCwn
         KCLSL/vL5Qp7pT9u9yEZV5S6BHdYmcDTF1J9V1xqoDRboA8Pf0UG2bW7CR4++C5jHBGN
         ulVpfLGY7Xgcqn2uHdk6Trpyat3KLY10wWbpg84fQC3XmM6IAbcBNOwOLRTjr3kApapG
         /4HA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972727; x=1700577527;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UVR+oDiuZU+TW6PLxAmD0Xj/DK6BF5fQU92EHH5K3Z4=;
        b=AhWJdys5O74ZASeRsLvkuH9Do4Xari7PalLFE9/gjs4l2wdkafkKm3QX8rW0nDXkj1
         VejP8j3a+ldMAo4A0JQ5mak+HU4xT0TVD62ahuG+re4KClIL+vFIzwjFkJCJ5spXJNia
         Ly9pxt0CyblU2babIPfvI235lBH1zrFgMdvSAO3JB3Vo12gkrkAadG0qBMg+yCovgGai
         UjWAN49hiDjy+xSsykFZ4EYm4W1+6nZVXOpKchxmrv3xvtdhZlVjpVgDBp77F0kgpMSr
         GNQOk+mEtI3uKeyktngp9AeZeSo3wfzcebpynE25SKRcInnbmTWIhB1v0QPV8VsKjk6q
         PkgQ==
X-Gm-Message-State: AOJu0Yy7upXiiGTgGxJV92WpIP26GfVZ1cauYDwu9hjog8z1icb1fwPT
	PenQxTlIeQeDNgZl1iyKe9lruA==
X-Google-Smtp-Source: AGHT+IFU6fMqnyRTdYcaSZcZeeOvXEQ5/pqyJPjwVu+SyaMG1cEZXv2HxBOf7hgBnVZ045SVB8RX8Q==
X-Received: by 2002:aa7:c759:0:b0:543:5a91:a8b2 with SMTP id c25-20020aa7c759000000b005435a91a8b2mr7512514eds.19.1699972727421;
        Tue, 14 Nov 2023 06:38:47 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Xu <peterx@redhat.com>,
	David Hildenbrand <david@redhat.com>
Subject: [PATCH-for-9.0 v2 04/19] system/physmem: Do not include 'hw/xen/xen.h' but 'sysemu/xen.h'
Date: Tue, 14 Nov 2023 15:38:00 +0100
Message-ID: <20231114143816.71079-5-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

physmem.c doesn't use any declaration from "hw/xen/xen.h",
it only requires "sysemu/xen.h" and "system/xen-mapcache.h".

Suggested-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 system/physmem.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/system/physmem.c b/system/physmem.c
index fc2b0fee01..04630711d2 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -35,7 +35,7 @@
 #include "hw/qdev-core.h"
 #include "hw/qdev-properties.h"
 #include "hw/boards.h"
-#include "hw/xen/xen.h"
+#include "sysemu/xen.h"
 #include "sysemu/kvm.h"
 #include "sysemu/tcg.h"
 #include "sysemu/qtest.h"
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:38:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:38:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632626.986910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uZ7-0005lM-0W; Tue, 14 Nov 2023 14:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632626.986910; Tue, 14 Nov 2023 14:38: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 1r2uZ6-0005lD-Sk; Tue, 14 Nov 2023 14:38:56 +0000
Received: by outflank-mailman (input) for mailman id 632626;
 Tue, 14 Nov 2023 14:38: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uZ5-0003b0-Nw
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:38:55 +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 88f8dab4-82fb-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:38:54 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-9e62f903e88so626118966b.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:38:54 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 un1-20020a170907cb8100b009a9fbeb15f5sm5549367ejc.46.2023.11.14.06.38.51
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:38:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88f8dab4-82fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972734; x=1700577534; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xuAolXSNCEGrTS5m5CRvskBDG9NQVZE3kWB97Se1m9g=;
        b=w4RLHd/ijPrKLNVSNxRHMbaAfxOJM/N1TSReAZ2xX0crDtikUdzVWFiK0rkyDT/slj
         bHqcj/NXQq5qIcT6ai0VgC+PKna+11TDdbw0SiQZT9pv4nbH4aBRu80tIyggUUEgPadN
         kDbNcWEgedZbcrpSpSTk/zXeu43J6Is9eU+lKr3gHHesF+9LTRaC80Ucv8ddG0Zy7ZR7
         JATatIW+/eSIW9bHyakIHWnMOxT6pfY/upD0FWa2gTqeNOcvwJ72Ufe+kqSUxlkkzVGN
         +t3wydsFMyV2t+2ktd6wEsGjTBoOJvF3BjuLBvdxkWYZiBwgpt/AQ7nUCcFBy5DHlsEv
         oA5w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972734; x=1700577534;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xuAolXSNCEGrTS5m5CRvskBDG9NQVZE3kWB97Se1m9g=;
        b=Hf1uEcuZ9avlEosxuaMc89WhqUuKgu26LbLZP943FHUkoEnjl5MCUrJ+JHu9xRLzeL
         tX4ayyyyQl+zX79g4IphIkQozZdg6fJxG6NyZRd0FFXe1EbRx0ngQMxVzmPVDbgo9eN0
         7FFGdjn1UlBUb0uoMvYA/ZMWkdOxnTRkaKs7TVR8zdtTwNlvd6LKOyJP91Drjik3rUU0
         DrUr11Ul7/Fe1BRaLSJRQ59rQ6cnd7flFZgO8ssTby7o0nStLkJWIEM2NGtQ5t5UjOlm
         NO+QGU2Nf8kQB/Khp/M4RcRZCFzpG7IXAZETHo4ifmABlmJ4TH9edyUZxiphZcZ2hY+I
         s4OQ==
X-Gm-Message-State: AOJu0YzV73iin+4VGYwluF/pVtFaqMIPbB49cwBqNPtH9VF1MR0pHdSP
	uZh8MSF7EjzjHNpQfGVjcqeOxw==
X-Google-Smtp-Source: AGHT+IEd2vTLeg2GpIsCyOKyOB5sACh8KieliOs//U/3JH0fTJ/5IoDfAGItJdrYHg+Wv8sdCg7VbA==
X-Received: by 2002:a17:906:b78c:b0:9bf:f20:8772 with SMTP id dt12-20020a170906b78c00b009bf0f208772mr7590866ejb.26.1699972733904;
        Tue, 14 Nov 2023 06:38:53 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Gerd Hoffmann <kraxel@redhat.com>
Subject: [PATCH-for-9.0 v2 05/19] hw/display: Restrict xen_register_framebuffer() call to Xen
Date: Tue, 14 Nov 2023 15:38:01 +0100
Message-ID: <20231114143816.71079-6-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Only call xen_register_framebuffer() when Xen is enabled.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/display/vga.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/hw/display/vga.c b/hw/display/vga.c
index 37557c3442..f9cf3d6f77 100644
--- a/hw/display/vga.c
+++ b/hw/display/vga.c
@@ -25,6 +25,7 @@
 #include "qemu/osdep.h"
 #include "qemu/units.h"
 #include "sysemu/reset.h"
+#include "sysemu/xen.h"
 #include "qapi/error.h"
 #include "hw/core/cpu.h"
 #include "hw/display/vga.h"
@@ -2223,7 +2224,9 @@ bool vga_common_init(VGACommonState *s, Object *obj, Error **errp)
         return false;
     }
     vmstate_register_ram(&s->vram, s->global_vmstate ? NULL : DEVICE(obj));
-    xen_register_framebuffer(&s->vram);
+    if (xen_enabled()) {
+        xen_register_framebuffer(&s->vram);
+    }
     s->vram_ptr = memory_region_get_ram_ptr(&s->vram);
     s->get_bpp = vga_get_bpp;
     s->get_offsets = vga_get_offsets;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:39:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:39:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632628.986920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uZD-0006IU-8k; Tue, 14 Nov 2023 14:39:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632628.986920; Tue, 14 Nov 2023 14:39: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 1r2uZD-0006IN-4o; Tue, 14 Nov 2023 14:39:03 +0000
Received: by outflank-mailman (input) for mailman id 632628;
 Tue, 14 Nov 2023 14:39: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uZB-0003vI-Lk
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:39:01 +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 8cf80e29-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:39:01 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-545ed16b137so8049513a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:39:01 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 b21-20020aa7d495000000b0054353639161sm5133902edr.89.2023.11.14.06.38.58
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:39:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8cf80e29-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972740; x=1700577540; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A2i2PCnBLcbag3MdE1ImS65uDPosS8yIjq0X323T5yY=;
        b=mblXSRE7gCbEaWFRO/HpuNY+P90f7PHjKSwivujayJT3HaDfjT8vZQLryHZg/mXZBE
         Sj8CFJMLN07oyma6l+JNFRL7agBSofS2rSCIMErvWBShpoFffJEgf1i+x/rabf+7PZgJ
         W9gD1IsziW6tw9rJZo+a1UPpiT+7RaOVlolMu36rls9cjmPJAKuEHM/JmfiptCpl0NU8
         TODLOuSf2q+AtT8ruqy7V/Ikymczt7v6XK79YTs4sa8879Bwa5Dx1pyIfoye+Rwh31vo
         f6h20pOe715O5OiijLK3hYmGIq3kb4ro7KWg64W2comZ/xaNwLl9AVfWBrmA+rtJHJal
         ZJHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972740; x=1700577540;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=A2i2PCnBLcbag3MdE1ImS65uDPosS8yIjq0X323T5yY=;
        b=Yjpuhsw44sJKJsPjskufMSv/Cs7EA5dNz/MHG6r1aZvUKVyK+8GFiok096kN1RC0XR
         7kTYHanzjF6GNMdky5EpRKx8XNfw7dSbADkbcWJvoav/eEPK2m/2tR5i7UpwnvbSFtJ+
         JBHO2LZpCfaLl8p+uJ1LBfUG6Lypbd7nRHLUUMu8D1YJ+caLeTbWQ3ROcNiCF4M2Knsp
         6h36U7Xn9RAQIhN76/fPrBXk4s5PQuNAYAVpoMP7aVKPQkUbH2HWX1MNHSPe/UZQ/JKA
         IodK+VkthTbZ11GueXCNGisu/arj/mUiFpLbw3uM/rGOydq8tUo17Mi/crhEzJ0lvqao
         eR2A==
X-Gm-Message-State: AOJu0Yw5sN7t3Fd0xVVJb9g2v1o3gAP0U22+T9IU/EXFbUuVRnobHzBH
	BirodqWG/piyDyPMMUYKqiDG4g==
X-Google-Smtp-Source: AGHT+IHSJfSbRj04/mwMI7ongNHq1l4+SKd+JSAzh7MEswy3END/JCbC/d/lhlupvrq+nM36Jvq7cA==
X-Received: by 2002:a50:fb14:0:b0:53d:eca8:8775 with SMTP id d20-20020a50fb14000000b0053deca88775mr7423669edq.26.1699972740609;
        Tue, 14 Nov 2023 06:39:00 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 v2 06/19] hw/pci/msi: Restrict xen_is_pirq_msi() call to Xen
Date: Tue, 14 Nov 2023 15:38:02 +0100
Message-ID: <20231114143816.71079-7-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Similarly to the restriction in hw/pci/msix.c (see commit
e1e4bf2252 "msix: fix msix_vector_masked"), restrict the
xen_is_pirq_msi() call in msi_is_masked() to Xen.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/pci/msi.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/pci/msi.c b/hw/pci/msi.c
index 041b0bdbec..8104ac1d91 100644
--- a/hw/pci/msi.c
+++ b/hw/pci/msi.c
@@ -23,6 +23,7 @@
 #include "hw/xen/xen.h"
 #include "qemu/range.h"
 #include "qapi/error.h"
+#include "sysemu/xen.h"
 
 #include "hw/i386/kvm/xen_evtchn.h"
 
@@ -308,7 +309,7 @@ bool msi_is_masked(const PCIDevice *dev, unsigned int vector)
     }
 
     data = pci_get_word(dev->config + msi_data_off(dev, msi64bit));
-    if (xen_is_pirq_msi(data)) {
+    if (xen_enabled() && xen_is_pirq_msi(data)) {
         return false;
     }
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:39:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:39:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632630.986931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uZI-0006sp-Hc; Tue, 14 Nov 2023 14:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632630.986931; Tue, 14 Nov 2023 14: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 1r2uZI-0006sg-Cf; Tue, 14 Nov 2023 14:39:08 +0000
Received: by outflank-mailman (input) for mailman id 632630;
 Tue, 14 Nov 2023 14: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uZH-0003vI-Tx
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:39:07 +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 90c855e0-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:39:07 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-9be02fcf268so853298966b.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:39:07 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 m13-20020a170906234d00b00997e00e78e6sm5591697eja.112.2023.11.14.06.39.05
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:39:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90c855e0-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972747; x=1700577547; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oo2mmHUNt8cswMDm2G2tk7NYG50Leech1RMDbe0XTgw=;
        b=Td4zfwmkadSPU7BSZTFwxsCCl7P0/YW8ohw9JWZuMq4t7an6bV8TMFuKu97GS3GAEj
         A0xpc0IkkUkdQCrAta9Ataq5aB+EKlN34S+M5gFzGuuUiFa8Q0fOLExZ26qVh7cQ5OVZ
         eiXGtu8iXnAaPZp64vH1gy9w9IEytb7MOLcrCYfre6IOaIlcOU0cJM5egtfHukHe7DJB
         1zXW4IrR8QpgkKlUQuA+vsF7d2i4QP89sOFvm0PpTNOYB671d03vX+xZotuFeSE0Oy/J
         sIQrqX8oMJ/163e52mrgQRPeEm/FUcZrLfS6ddkv6zfdEdftRnEHwoFJciezLKVlMYp/
         MVIg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972747; x=1700577547;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=oo2mmHUNt8cswMDm2G2tk7NYG50Leech1RMDbe0XTgw=;
        b=E4/xyKHl5lRfrsv0L1ZFbGG+7OPHgXlyktIl7/jIO2R/B/SgqT7ai3s2SXMSZlGu7+
         z+xHVI/1TdWzio075uq4h6rp0AtePmjlVMm5cA6GtMd8lOVz0hCpWRAC7DJh7damMhmC
         h9yYMAJdygoQyIN2kMjixw5/aBDsf/Eryq2UDKeVJ3+EK1nswUGH5u6ntC8rvwAZZPBu
         fYD0O8Zjo9GXoHR2KFfxnK3VY8u1DIxwsI9d6LpHWGQ9M7Uu6TZhoiwtSIKPMtGqgpEN
         nbqHHG7aToy1W6Bzncn2yQl2iiLaT2q7bAsAhs7x7T7OEX5VynTBW9s0xuoSKvIb3gWs
         DkTA==
X-Gm-Message-State: AOJu0YxNmOrTPSWGM1VAfCPxCs8df/+hDPEc3kyUOpz7JAgxfzEFd1qB
	UkX6suONe1+S7D82AFCURB3nfw56sl1EdFwg90o=
X-Google-Smtp-Source: AGHT+IFJHEre72B5jboKAaroDeSDmy2A+msHyepV3IUCtazYitevtMIyD1yfonucyI3qP3HjOGn0kg==
X-Received: by 2002:a17:906:45a:b0:9c7:56ee:b6e5 with SMTP id e26-20020a170906045a00b009c756eeb6e5mr6778901eja.40.1699972747032;
        Tue, 14 Nov 2023 06:39:07 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 v2 07/19] hw/xen: Remove unnecessary xen_hvm_inject_msi() stub
Date: Tue, 14 Nov 2023 15:38:03 +0100
Message-ID: <20231114143816.71079-8-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Since commit 04b0de0ee8 ("xen: factor out common functions")
xen_hvm_inject_msi() stub is not required.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 stubs/xen-hw-stub.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/stubs/xen-hw-stub.c b/stubs/xen-hw-stub.c
index 7d7ffe83a9..6cf0e9a4c1 100644
--- a/stubs/xen-hw-stub.c
+++ b/stubs/xen-hw-stub.c
@@ -24,10 +24,6 @@ int xen_set_pci_link_route(uint8_t link, uint8_t irq)
     return -1;
 }
 
-void xen_hvm_inject_msi(uint64_t addr, uint32_t data)
-{
-}
-
 int xen_is_pirq_msi(uint32_t msi_data)
 {
     return 0;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:39:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:39:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632631.986940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uZQ-0007V6-Uh; Tue, 14 Nov 2023 14:39:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632631.986940; Tue, 14 Nov 2023 14:39: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 1r2uZQ-0007Ux-Pw; Tue, 14 Nov 2023 14:39:16 +0000
Received: by outflank-mailman (input) for mailman id 632631;
 Tue, 14 Nov 2023 14: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uZP-0003b0-Ul
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:39:15 +0000
Received: from mail-ej1-x634.google.com (mail-ej1-x634.google.com
 [2a00:1450:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95048d94-82fb-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:39:14 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-9c603e2354fso1146147566b.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:39:14 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 g4-20020a1709064e4400b009e609088c09sm5584953ejw.1.2023.11.14.06.39.11
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:39:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95048d94-82fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972754; x=1700577554; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MhpN1sNxh5OOZ/KSUE3Y0jUPmEpPW/hS+3a5vlda+P4=;
        b=UdmQCgEDvbr7P35GPus8m2g3dRyrWQv8o42DbW7NIGomAr5QARmoZ8nsiLFD0GgtAL
         ac9i7YEDJVSQC66E/9erxEypAHYwOJdQoTH3bIXE7BNvufqNpg0PAmZNJe2O+7W2drBF
         hQng+brBxqbpH7amXu4Sa6118OKXQhIMmh3r8qRnB231R/JoXJOl6TXE2fHNqnHsWSSt
         8zb9GnhCsT+cbt0w0y7gnpDOZNzQPP8WQUSkrDKvIxA4yIPkx7jmSgjrl9PTSOOvOve1
         XgWKkfNzBB8YOZqzM9kMkdkjhqDOsgXc4YdYOf5JWCPvTk7+oqLb96TMkMhUWFTjpX4w
         BHIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972754; x=1700577554;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=MhpN1sNxh5OOZ/KSUE3Y0jUPmEpPW/hS+3a5vlda+P4=;
        b=u8GoUiP6SRR0HwWDDeV795xLCuA3fcFJWR0z5g6b2YHWXEIg6OiAf1LdTqcWzFtSyD
         3mzPqNOhzYg0mEjUZMMs4bYcy0KiRgjvcs5xbwjGlibxUCc1NJVohMYR4SqdVWEj6erK
         Wis2KGbAS78Xi3XcCdrpvYJUr1RKqN8mz1Ek5XT7v+VhG7XiXxBU8CjFeiOI10A0jOoj
         jlm6hxgfKAMPXo1jJTuBq9I5sXz7YJv29Vloksdl2sx0/gm2I2sasoZkuAtJbP9D4zKN
         xvZ068KPpUWiR7/lGsID1sHKkMpVS5XYmSfENVRduiK3mZY1A9vVs0pOBvZeV7KQq3+W
         W/Mw==
X-Gm-Message-State: AOJu0YwHKsnrdqnh95odb3y3Ij7j43PPqkgg5SQ/QgecekwM2C5bD1z2
	f9uM7kXiuZcqvanYFQeIZaSMxg==
X-Google-Smtp-Source: AGHT+IEBPsAFKv3TcvW/4lHrf4Ji7dOfSz7fvZ7L1HUiABJvwud/gdEB/1UIkKrwYaMtMuFVPwAlYw==
X-Received: by 2002:a17:906:bf45:b0:9e5:1db7:3199 with SMTP id ps5-20020a170906bf4500b009e51db73199mr3052455ejb.4.1699972753957;
        Tue, 14 Nov 2023 06:39:13 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 v2 08/19] hw/xen: Remove unused Xen stubs
Date: Tue, 14 Nov 2023 15:38:04 +0100
Message-ID: <20231114143816.71079-9-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

All these stubs are protected by a 'if (xen_enabled())' check.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 stubs/xen-hw-stub.c | 24 ------------------------
 1 file changed, 24 deletions(-)

diff --git a/stubs/xen-hw-stub.c b/stubs/xen-hw-stub.c
index 6cf0e9a4c1..53c6a6f2a0 100644
--- a/stubs/xen-hw-stub.c
+++ b/stubs/xen-hw-stub.c
@@ -8,36 +8,12 @@
 
 #include "qemu/osdep.h"
 #include "hw/xen/xen.h"
-#include "hw/xen/xen-x86.h"
-
-int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num)
-{
-    return -1;
-}
-
-void xen_intx_set_irq(void *opaque, int irq_num, int level)
-{
-}
-
-int xen_set_pci_link_route(uint8_t link, uint8_t irq)
-{
-    return -1;
-}
 
 int xen_is_pirq_msi(uint32_t msi_data)
 {
     return 0;
 }
 
-qemu_irq *xen_interrupt_controller_init(void)
-{
-    return NULL;
-}
-
 void xen_register_framebuffer(MemoryRegion *mr)
 {
 }
-
-void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
-{
-}
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:39:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:39:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632634.986949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uZY-00083W-5q; Tue, 14 Nov 2023 14:39:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632634.986949; Tue, 14 Nov 2023 14: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 1r2uZY-00083N-2j; Tue, 14 Nov 2023 14:39:24 +0000
Received: by outflank-mailman (input) for mailman id 632634;
 Tue, 14 Nov 2023 14: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uZW-0003b0-MB
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:39:22 +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 98fc5ac9-82fb-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:39:21 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-9c603e2354fso1146179066b.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:39:21 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 rp13-20020a170906d96d00b009ddb919e0aasm5622830ejb.138.2023.11.14.06.39.18
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:39:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98fc5ac9-82fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972760; x=1700577560; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UNMQSJ9n3HwpNaurQlo3tUtiIa6U/WmLwhKlbRCATs0=;
        b=Dx7VXhFxIiIngIEJ1XutLBKC7QnBtzYF6jW7YwITSKt2Hm5oMM51qflx7tS+jWs5Vl
         Yv7hZg6OxIhD7gUVsBF5gYYIjUIOcf9XVYEqfLRkiHIVqzQ8XomlnS3SnClcxyT2hSie
         8OdB1QJJp65YwdQiIzhh7y6vU2Iod2yiRSGohseEz1F+FmKdhh179peR6qFTLGThrfaP
         v2uoq9Cs7UQn4cHJELwA7ZKQnnjLWwQqGK4NIj6OW9+8X7j4I9G9637SO4g3tNlVIVH7
         zIiHbfH+Ah9GIl43JG21vkEaAo6keMsZW8yJ2LiXINyoJlARwHcu+KttrCgde8dbmnzn
         6PFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972760; x=1700577560;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UNMQSJ9n3HwpNaurQlo3tUtiIa6U/WmLwhKlbRCATs0=;
        b=KtBEoy9XQq+r+reRFS31Mt3Wo2iz22EqatiN8IJdTXQ5wqX4Yc544kvMLgtbt19fbU
         mTvVpN0ZV7k8E3edhdiOjJA6sqzu0WymrCvJ4DhAdzQZ8db32JoMXBcjfyc504huUEaS
         hERH5ivor4yrBwMmi6hogYhP/R865M4UCQ5FRFOZy/xPjUP+qiQrJ+A0ZHLl4LlWN7VV
         /gjyXGedOT7PzEgIp1MzRjacnA48ERShJ3L6P7NVAsfhhVEG+FyUjJeZpfSEVQoQldMi
         +HHmeZGVG7POo8OGcL6S6dG7KxWprgh73nY3dUDj0EIGWW4vL8+iFkzI1nsPXTJGnK2I
         webg==
X-Gm-Message-State: AOJu0YxQAuRgOUJ1AVKz2wbfdcEmiUQBe7YjLLulGiVyEOdPowjT6bgK
	L4Qq2qHVt3vNpQzsU57cWqH7rg==
X-Google-Smtp-Source: AGHT+IEprkHMikBtwTk6Pc2HglM2aACFqynKnIxKilr0MgI5mWMBku8mpMF5XwofVv89mcZ1ndbJxA==
X-Received: by 2002:a17:906:d7b2:b0:9ef:b466:abe0 with SMTP id pk18-20020a170906d7b200b009efb466abe0mr1430110ejb.8.1699972760684;
        Tue, 14 Nov 2023 06:39:20 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [RFC PATCH-for-9.0 v2 09/19] hw/block/xen_blkif: Align structs with QEMU_ALIGNED() instead of #pragma
Date: Tue, 14 Nov 2023 15:38:05 +0100
Message-ID: <20231114143816.71079-10-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Except imported source files, QEMU code base uses
the QEMU_ALIGNED() macro to align its structures.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/block/xen_blkif.h | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/hw/block/xen_blkif.h b/hw/block/xen_blkif.h
index 99733529c1..c1d154d502 100644
--- a/hw/block/xen_blkif.h
+++ b/hw/block/xen_blkif.h
@@ -18,7 +18,6 @@ struct blkif_common_response {
 };
 
 /* i386 protocol version */
-#pragma pack(push, 4)
 struct blkif_x86_32_request {
     uint8_t        operation;        /* BLKIF_OP_???                         */
     uint8_t        nr_segments;      /* number of segments                   */
@@ -26,7 +25,7 @@ struct blkif_x86_32_request {
     uint64_t       id;               /* private guest value, echoed in resp  */
     blkif_sector_t sector_number;    /* start sector idx on disk (r/w only)  */
     struct blkif_request_segment seg[BLKIF_MAX_SEGMENTS_PER_REQUEST];
-};
+} QEMU_ALIGNED(4);
 struct blkif_x86_32_request_discard {
     uint8_t        operation;        /* BLKIF_OP_DISCARD                     */
     uint8_t        flag;             /* nr_segments in request struct        */
@@ -34,15 +33,14 @@ struct blkif_x86_32_request_discard {
     uint64_t       id;               /* private guest value, echoed in resp  */
     blkif_sector_t sector_number;    /* start sector idx on disk (r/w only)  */
     uint64_t       nr_sectors;       /* # of contiguous sectors to discard   */
-};
+} QEMU_ALIGNED(4);
 struct blkif_x86_32_response {
     uint64_t        id;              /* copied from request */
     uint8_t         operation;       /* copied from request */
     int16_t         status;          /* BLKIF_RSP_???       */
-};
+} QEMU_ALIGNED(4);
 typedef struct blkif_x86_32_request blkif_x86_32_request_t;
 typedef struct blkif_x86_32_response blkif_x86_32_response_t;
-#pragma pack(pop)
 
 /* x86_64 protocol version */
 struct blkif_x86_64_request {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:39:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:39:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632635.986960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uZf-0000Gd-FG; Tue, 14 Nov 2023 14:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632635.986960; Tue, 14 Nov 2023 14: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 1r2uZf-0000GQ-Bp; Tue, 14 Nov 2023 14:39:31 +0000
Received: by outflank-mailman (input) for mailman id 632635;
 Tue, 14 Nov 2023 14:39: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uZd-0003b0-SU
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:39: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 9d514783-82fb-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:39:28 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-5079f6efd64so7528209e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:39:28 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 c19-20020a50f613000000b00542d3e470f9sm5256915edn.10.2023.11.14.06.39.25
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:39:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d514783-82fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972768; x=1700577568; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=BqgJC9hPHkcXARLwNhCfo2KLP+5VvJiIzbHQjbp4PnI=;
        b=kJo1Dnt6JNNKZhQRbJrpxtjvMkTqUharHh3D2wkz2xJD22djc1tbc0DI7HM7h7i7lq
         GlMV8uameAKCJe7+SBjLUqdCrt4r0lUnwgLurqsiWYThm0y5Bz8jWOzH7urKxLWi870N
         m5z0mKOq8fkjc5/Wo9vXyeVi4umGpTQYdU0xHimfV/enGZuKM4GSYwzr2IMlqDDa+ReY
         Sa7KkknJg7iIF8eC2NVdTDweHYf53foOY9/o17w+EJV8KxrohWPySyA8kTEz/YwHyadh
         lf8fqivyjsFWSYGqY6iuCwByNEWWYb0RXifCk7yLLqPIJOMjreWte/p+OkmL1QzTFAAj
         xGiw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972768; x=1700577568;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=BqgJC9hPHkcXARLwNhCfo2KLP+5VvJiIzbHQjbp4PnI=;
        b=GDzTCUZslX+XplcLFzJEwmjuhEVhi453DfPpuZz4IEP6VYu92dFGlbBNC3KAp52g4W
         Wi8yzbvZn/o+KqJ4jQ4JEdzI5a4Xm6oFFvHN22FOqLW38oIRJlAJPAyIZksXWtmd0PLu
         dQW3hAgB4eHm3SeZSDkRa/Qcvo2JEI6UIGyrD6m+baYCY7+Ls3fPX5DbGS6/IaMKey7A
         E66F0MeUmjbKDjDhiaPPI5u9pee8YNQAx0zMJzqtGmE0uGY+vT4lwnhLHLkDKWYLab6E
         7eWe19yVfW59QsElM+Twg2Awwoa17rnx07fdu9PLW9vnYCJJ9wF5TJwKOH/C1qcn9KbI
         +ZgQ==
X-Gm-Message-State: AOJu0YwWPj/oy1tWeCDvcnUDJg8dz5pb6MAgSncL8+7BXd3i0O7hZvWj
	tnJ5QETsKjUpnfDp2tSm1zsBvA==
X-Google-Smtp-Source: AGHT+IG5cdmuSMLF1QQ3nk9d4MKQ+Rf9u6gyzBn2OUTA0N6PdU8Lc7kj9gwB2wtfxvTcro7nwctRJA==
X-Received: by 2002:a05:6512:3d90:b0:507:9a49:2d3d with SMTP id k16-20020a0565123d9000b005079a492d3dmr7641727lfv.31.1699972767814;
        Tue, 14 Nov 2023 06:39:27 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 v2 10/19] hw/xen: Rename 'ram_memory' global variable as 'xen_memory'
Date: Tue, 14 Nov 2023 15:38:06 +0100
Message-ID: <20231114143816.71079-11-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

To avoid a potential global variable shadow in
hw/i386/pc_piix.c::pc_init1(), rename Xen's
"ram_memory" as "xen_memory".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/xen/xen-hvm-common.h |  2 +-
 hw/arm/xen_arm.c                |  6 +++---
 hw/i386/xen/xen-hvm.c           | 10 +++++-----
 hw/xen/xen-hvm-common.c         |  6 +++---
 4 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 4e9904f1a6..d3fa5ed29b 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -16,7 +16,7 @@
 #include "qemu/error-report.h"
 #include <xen/hvm/ioreq.h>
 
-extern MemoryRegion ram_memory;
+extern MemoryRegion xen_memory;
 extern MemoryListener xen_io_listener;
 extern DeviceListener xen_device_listener;
 
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index a5631529d0..8a185da193 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -111,17 +111,17 @@ static void xen_init_ram(MachineState *machine)
         block_len = GUEST_RAM1_BASE + ram_size[1];
     }
 
-    memory_region_init_ram(&ram_memory, NULL, "xen.ram", block_len,
+    memory_region_init_ram(&xen_memory, NULL, "xen.ram", block_len,
                            &error_fatal);
 
-    memory_region_init_alias(&ram_lo, NULL, "xen.ram.lo", &ram_memory,
+    memory_region_init_alias(&ram_lo, NULL, "xen.ram.lo", &xen_memory,
                              GUEST_RAM0_BASE, ram_size[0]);
     memory_region_add_subregion(sysmem, GUEST_RAM0_BASE, &ram_lo);
     DPRINTF("Initialized region xen.ram.lo: base 0x%llx size 0x%lx\n",
             GUEST_RAM0_BASE, ram_size[0]);
 
     if (ram_size[1] > 0) {
-        memory_region_init_alias(&ram_hi, NULL, "xen.ram.hi", &ram_memory,
+        memory_region_init_alias(&ram_hi, NULL, "xen.ram.hi", &xen_memory,
                                  GUEST_RAM1_BASE, ram_size[1]);
         memory_region_add_subregion(sysmem, GUEST_RAM1_BASE, &ram_hi);
         DPRINTF("Initialized region xen.ram.hi: base 0x%llx size 0x%lx\n",
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index f42621e674..1ae943370b 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -149,12 +149,12 @@ static void xen_ram_init(PCMachineState *pcms,
          */
         block_len = (4 * GiB) + x86ms->above_4g_mem_size;
     }
-    memory_region_init_ram(&ram_memory, NULL, "xen.ram", block_len,
+    memory_region_init_ram(&xen_memory, NULL, "xen.ram", block_len,
                            &error_fatal);
-    *ram_memory_p = &ram_memory;
+    *ram_memory_p = &xen_memory;
 
     memory_region_init_alias(&ram_640k, NULL, "xen.ram.640k",
-                             &ram_memory, 0, 0xa0000);
+                             &xen_memory, 0, 0xa0000);
     memory_region_add_subregion(sysmem, 0, &ram_640k);
     /* Skip of the VGA IO memory space, it will be registered later by the VGA
      * emulated device.
@@ -163,12 +163,12 @@ static void xen_ram_init(PCMachineState *pcms,
      * the Options ROM, so it is registered here as RAM.
      */
     memory_region_init_alias(&ram_lo, NULL, "xen.ram.lo",
-                             &ram_memory, 0xc0000,
+                             &xen_memory, 0xc0000,
                              x86ms->below_4g_mem_size - 0xc0000);
     memory_region_add_subregion(sysmem, 0xc0000, &ram_lo);
     if (x86ms->above_4g_mem_size > 0) {
         memory_region_init_alias(&ram_hi, NULL, "xen.ram.hi",
-                                 &ram_memory, 0x100000000ULL,
+                                 &xen_memory, 0x100000000ULL,
                                  x86ms->above_4g_mem_size);
         memory_region_add_subregion(sysmem, 0x100000000ULL, &ram_hi);
     }
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 565dc39c8f..cf4053c9f2 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -9,7 +9,7 @@
 #include "hw/boards.h"
 #include "hw/xen/arch_hvm.h"
 
-MemoryRegion ram_memory;
+MemoryRegion xen_memory;
 
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
                    Error **errp)
@@ -26,7 +26,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
         return;
     }
 
-    if (mr == &ram_memory) {
+    if (mr == &xen_memory) {
         return;
     }
 
@@ -53,7 +53,7 @@ static void xen_set_memory(struct MemoryListener *listener,
 {
     XenIOState *state = container_of(listener, XenIOState, memory_listener);
 
-    if (section->mr == &ram_memory) {
+    if (section->mr == &xen_memory) {
         return;
     } else {
         if (add) {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:39:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:39:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632636.986969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ua5-0001R0-NW; Tue, 14 Nov 2023 14:39:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632636.986969; Tue, 14 Nov 2023 14:39: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 1r2ua5-0001Qs-Kt; Tue, 14 Nov 2023 14:39:57 +0000
Received: by outflank-mailman (input) for mailman id 632636;
 Tue, 14 Nov 2023 14:39: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2ua5-0003b0-0x
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:39:57 +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 ad790427-82fb-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:39:55 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-9c603e2354fso1146304166b.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:39:55 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 e10-20020a170906080a00b009a193a5acffsm5624675ejd.121.2023.11.14.06.39.53
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:39:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad790427-82fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972795; x=1700577595; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=R1LXi3GoLl/gkTzQsgGS9qqbGm09JIagG9772ckn2qA=;
        b=hxCvAE7FVqwDYhNRfCjNL5US0jkCbIkJR6IfJDC5oSRDty0wvBiA81FZb62xERhseS
         0qen4Ig9tJTBPbDuPaMN4UoMTFPGWxDZWjHOi2Im1sBLAIx2DuT1sLApeADfz3AbiIj8
         3ymYjWaoIrMMq1iTCxgt6BIHGIBAP7En05xpy9/Odv3qROiUBCUHxXyVB7+Olu+w4MAh
         tVFQVbuCOrisyjxPPwUTPKI7HnrGIzDV7xU1WCeSsrbLtB1iYXYpjjgbFBWk36z2v+uo
         PWPANlX7AdmQd3fmoZ45GBTC5yxeEwWyK/SBpFcnFMmzBdg3MMo4sOK6MAl7iVcnG4XU
         qgsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972795; x=1700577595;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=R1LXi3GoLl/gkTzQsgGS9qqbGm09JIagG9772ckn2qA=;
        b=bMjX6IgV7vi0+p4E0Y1zCFBV8GZGxQhFfmZYp2JpwVyaGiPo6tkLF+KPSBEikEKNjX
         Ux4ZXAlE1X1anZdpygHIfAFp52Dm1YzYHs72rfp9OTFbXCT29inX8EgS5vkLEbN1hiGs
         bfPG1zBDallaiHlUUE+iN43Z+ZwNBgriIN23kZ6/rarl7GgAPszvfdI2R/XCzhmPPuyt
         rZPREkbqfPUV/DRD4m96MVIWbG7QVl/6mtISFdEsCCFAJXTNe7Aj2sAGyb1cDaau13PL
         t+ua9JN3CmmMsngsix9oF3XZyYrmlSwH14cw1J02D2Ppo3OmgbWRQSR8KBn4uLzN9+Ym
         0g5Q==
X-Gm-Message-State: AOJu0YyFn5j1PeL7YKUaT/gBxOnjsN8EClOiK9sneBhDSos60ABZxUHE
	HJfmA1TFaXsV6qiRcqJp2fm+kw==
X-Google-Smtp-Source: AGHT+IFO0v0Kbx5mK0/IVC1YCc6AdDt4TudkiuPrPaddeZvjZPoy7Sp5UUV1A0HKtR5wjcSegxv9ZQ==
X-Received: by 2002:a17:906:e51:b0:9ba:b5:cba6 with SMTP id q17-20020a1709060e5100b009ba00b5cba6mr2289558eji.14.1699972795126;
        Tue, 14 Nov 2023 06:39:55 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 v2 14/19] hw/xen: Use target-agnostic qemu_target_page_bits()
Date: Tue, 14 Nov 2023 15:38:10 +0100
Message-ID: <20231114143816.71079-15-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Instead of the target-specific TARGET_PAGE_BITS definition,
use qemu_target_page_bits() which is target agnostic.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/xen/xen-hvm-common.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index fb81bd8fbc..73fa2c414d 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -2,6 +2,7 @@
 #include "qemu/units.h"
 #include "qemu/bitops.h"
 #include "qapi/error.h"
+#include "exec/target_page.h"
 #include "trace.h"
 
 #include "hw/pci/pci_host.h"
@@ -14,6 +15,7 @@ MemoryRegion xen_memory;
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
                    Error **errp)
 {
+    unsigned target_page_bits = qemu_target_page_bits();
     unsigned long nr_pfn;
     xen_pfn_t *pfn_list;
     int i;
@@ -32,11 +34,11 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
 
     trace_xen_ram_alloc(ram_addr, size);
 
-    nr_pfn = size >> TARGET_PAGE_BITS;
+    nr_pfn = size >> target_page_bits;
     pfn_list = g_new(xen_pfn_t, nr_pfn);
 
     for (i = 0; i < nr_pfn; i++) {
-        pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i;
+        pfn_list[i] = (ram_addr >> target_page_bits) + i;
     }
 
     if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:44:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:44:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632649.986979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ueE-0004TT-8J; Tue, 14 Nov 2023 14:44:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632649.986979; Tue, 14 Nov 2023 14: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 1r2ueE-0004TM-5p; Tue, 14 Nov 2023 14:44:14 +0000
Received: by outflank-mailman (input) for mailman id 632649;
 Tue, 14 Nov 2023 14:44: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=Iys2=G3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r2ueC-0004TG-MV
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:44:12 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 46448b60-82fc-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:44:11 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2c503da4fd6so73359991fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:44:11 -0800 (PST)
Received: from [172.25.82.51] ([12.186.190.2])
 by smtp.gmail.com with ESMTPSA id
 d21-20020a05620a241500b0077bd79682c4sm2431108qkn.5.2023.11.14.06.44.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 06:44:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46448b60-82fc-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699973051; x=1700577851; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=LzMmkVdserEMmO9c1dzFsiFKocKzYApkm+sujdRvQ+k=;
        b=eenapmTRYh609vcCSp5NB+icROB9HhuWeVLIiu7HABZGdiKTwX9rnn5TsEyKBIBQ0S
         qJrSK3ELeAsVT4mkJBNBZkC5vNQ8k800jH5390I6KcYxTpZfYb/b6FiZOVQr14nLbsAp
         tNvFWPM8cgADWhO3D14jZUsEOXi85ihlpdgUU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699973051; x=1700577851;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=LzMmkVdserEMmO9c1dzFsiFKocKzYApkm+sujdRvQ+k=;
        b=ZuZIHqS93Bpq4harOM4jo2QJUQf44M0AU2W76LbkB1S39xzwJKsKHgUFO+kotQH+oI
         5bXUn1A42YqEB48DhoZ8E2gn0zYomsF2N8CbA7e0aBb8EyfECyJMF6SyEWMEmvMX7meJ
         DXiaW6IfQyThzuZlE43oOKmfnKMwHpCq4anUs6AeENszDnm3wkaFrZKLB1Wk4JkRslcW
         f+hUGihQ0C9zY9YUEu1XUhYa4uKhf/mDdYVM/WoSL9uq4qAbJkFegvCXB78J5LgqpU7h
         XqE4xfjtMW/pv23/yp+3YoyNSJS6raMimvcKee4zyHL/lt6ovFKHRwg6ipb96K2bjEjT
         T52Q==
X-Gm-Message-State: AOJu0Yy4jDj/MlRQnayXdh2Oc8fEh70Rrb3I80JkKU/afHKAzYWxdiEV
	RcA5YojBEYZUMkwx1GWKJjmB2A==
X-Google-Smtp-Source: AGHT+IEdPrI7oiqeN7y3Ub11nHYXukcBqfvO3LljkArbZokQBCNroV+6ZbLC5RTeULGp6OuWX5P57A==
X-Received: by 2002:a2e:8551:0:b0:2c5:16c0:6239 with SMTP id u17-20020a2e8551000000b002c516c06239mr1790071ljj.51.1699973051343;
        Tue, 14 Nov 2023 06:44:11 -0800 (PST)
Message-ID: <2a340b44-9d3e-431f-94d6-e77e6145fc6a@citrix.com>
Date: Tue, 14 Nov 2023 14:44:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
 <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
 <65536590.050a0220.eb28a.617d@mx.google.com>
 <f278f367-81cb-4a72-9303-23622dea3abd@suse.com>
 <fd99ea62-f011-4bcb-ba83-4698b5d267fd@citrix.com>
 <ZVOAEFoYFDp8lxCd@macbook.local>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZVOAEFoYFDp8lxCd@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 14/11/2023 2:11 pm, Roger Pau Monné wrote:
> On Tue, Nov 14, 2023 at 12:55:46PM +0000, Andrew Cooper wrote:
>> On 14/11/2023 12:32 pm, Jan Beulich wrote:
>>> On 14.11.2023 13:18, Alejandro Vallejo wrote:
>>>> On Tue, Nov 14, 2023 at 11:14:22AM +0100, Jan Beulich wrote:
>>>>> On 13.11.2023 18:53, Roger Pau Monné wrote:
>>>> I don't think vlapic_match_logical_addr() is affected. The LDR's are still
>>>> unique in the bogus case so the matching ought to work. Problem would arise
>>>> if the guest makes assumptions about APIC_ID and LDR relationships.
>>> The LDRs still being unique (or not) isn't what I'm concerned about. It is
>>> the function's return value which would be wrong, as the incoming "mda"
>>> presumably was set in its respective field on the assumption that the LDRs
>>> are set in a spec-compliant way. There not having been problem reports
>>> makes me wonder whether any guests actually use logical delivery mode in a
>>> wider fashion.
>> They likely don't.
>>
>> Logical delivery for xAPIC only works in a tiny fraction of cases
>> (assuming correct topology information, which we don't give), and
>> persuading a VM to turn on x2APIC without a vIOMMU is not something
>> we've managed to do in Xen.
> We do, in fact the pvshim (or nested Xen) will run in x2APIC mode if
> available.
> Linux >= 5.17 will also use x2APIC mode if available when running as a
> Xen HVM guest:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c8980fcb210851138cb34c9a8cb0cf0c09f07bf9

Yeah that's never actually been tested with 256 vCPUs.

A VM *must* have either a vIOMMU, or know (via whatever means) that
there are no IO-APICs, or (via whatever means) that all IO-APICs can use
reserved bits for 32k destination APIC ID support.

As it stands, this is just something which will explode on us in the
future.  Hopefully the worst that will happen is a panic on boot.

> If a guest has been booted with the bogus LDR we need to keep it on
> migrate, otherwise at least Xen will break (because it does read the
> LDR from the hardware instead of building it based on the APIC ID).

Of course.  That would be data corruption otherwise.

> Switching to the correct LDR on APIC reset can be sensible, any APIC
> device reset should be done together with updating whatever registers
> have been previously cached, and OSes don't do APIC resets anyway.

Yes.  We can just set it properly on reset and the problem ought to
disappear.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:47:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:47:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632655.986989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uh1-0005oB-Pm; Tue, 14 Nov 2023 14:47:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632655.986989; Tue, 14 Nov 2023 14: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 1r2uh1-0005o4-NI; Tue, 14 Nov 2023 14:47:07 +0000
Received: by outflank-mailman (input) for mailman id 632655;
 Tue, 14 Nov 2023 14:47: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uZx-0003vI-FR
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:39:49 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a98a2ede-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:39:48 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-507bd19eac8so7632269e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:39:48 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 l18-20020a50d6d2000000b00542db304680sm5268842edj.63.2023.11.14.06.39.46
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:39:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a98a2ede-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972788; x=1700577588; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=x5X2FluBMHtEHwLVURbcbmArZUeMN34wqMB+9uG3SGg=;
        b=qqIB2ixtDwnE8Ljp1CRMJKiVKwfUu7C8qkWkxML06u2pAP5DLTuNbZgtCLaPOVCJnX
         9DxmxhykGfwE2znel8+OABw7XM+4NnvBOIZ+2GM8L4/o74RM6/y+3D2uGUAJ78MZ6YMe
         hmbXc0dIdBG8AS2Uqktus5uIZJPTjiHxcyia0DaritmtY+nC9aWqaX282oDvX7vEX7bc
         HHqIid1cH0P4ufCLraSVJkMPdWjOj5MeVPl0yCO+Jqq2oqv/kX5Di0UbC/pgT6Joc+T1
         kTzpda+pWUuyhm2l8QmJFc23TKKkMiD+diXNrrqzgNqK8LdIF6dUPhiyYcStssol2IZ3
         /Tlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972788; x=1700577588;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=x5X2FluBMHtEHwLVURbcbmArZUeMN34wqMB+9uG3SGg=;
        b=Uvbb8g9LiZSi5bjI4mLa3zoHzJSmkUiMiGEbF7mzPpilo22GAf8Q9UxvvOgsDwRyqc
         NO2EQe1oTz7vMSCdAzODUou7n5f81/MGljhdmE0r5krCwjmtZz/SWbQhNPoWri6jI72G
         8ynbEifGH6PPdTIB11GuFb9Bs2PHDKAz+pxoXxOG6zA2CvKHyJ47by1mxNARQmiUFh/v
         XZsO8e0vIfyZdzX0LvIBA/Vo5EHAkNiWwpl6UxxGamMx7Rt6DIfIAFFzIX0Xff1wYTzt
         GXkoaCjcyJ9288P63Vm2iW1SVp+qfaD4s/LRvhJmV2ZBJ/1Zrt5g3KbgN/Z+L5BNJ/Mk
         XWhw==
X-Gm-Message-State: AOJu0YzG+VMPXM9euQjl+KDXeyn41iyRN5r01zDWM+IAoH5G+7tVaiEG
	csQjZoBpcWQdNkMbzIg24KwV1Q==
X-Google-Smtp-Source: AGHT+IEJ1DzMQPrVK6vmcQ1s/BHFe+ZR138ty+E3IEfmXhpEvhlt8hMy3AYRKnboRNNE1Pe2RYsE2w==
X-Received: by 2002:a05:6512:b14:b0:509:8e3d:7cb0 with SMTP id w20-20020a0565120b1400b005098e3d7cb0mr9400030lfu.41.1699972788532;
        Tue, 14 Nov 2023 06:39:48 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [RFC PATCH-for-9.0 v2 13/19] hw/xen: Remove use of 'target_ulong' in handle_ioreq()
Date: Tue, 14 Nov 2023 15:38:09 +0100
Message-ID: <20231114143816.71079-14-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Per commit f17068c1c7 ("xen-hvm: reorganize xen-hvm and move common
function to xen-hvm-common"), handle_ioreq() is expected to be
target-agnostic. However it uses 'target_ulong', which is a target
specific definition.

Per xen/include/public/hvm/ioreq.h header:

  struct ioreq {
    uint64_t addr;          /* physical address */
    uint64_t data;          /* data (or paddr of data) */
    uint32_t count;         /* for rep prefixes */
    uint32_t size;          /* size in bytes */
    uint32_t vp_eport;      /* evtchn for notifications to/from device model */
    uint16_t _pad0;
    uint8_t state:4;
    uint8_t data_is_ptr:1;  /* if 1, data above is the guest paddr
                             * of the real data to use. */
    uint8_t dir:1;          /* 1=read, 0=write */
    uint8_t df:1;
    uint8_t _pad1:1;
    uint8_t type;           /* I/O type */
  };
  typedef struct ioreq ioreq_t;

If 'data' is not a pointer, it is a u64.

- In PIO / VMWARE_PORT modes, only 32-bit are used.

- In MMIO COPY mode, memory is accessed by chunks of 64-bit

- In PCI_CONFIG mode, access is u8 or u16 or u32.

- None of TIMEOFFSET / INVALIDATE use 'req'.

- Fallback is only used in x86 for VMWARE_PORT.

Masking the upper bits of 'data' to keep 'req->size' low bits
is irrelevant of the target word size. Remove the word size
check and always extract the relevant bits.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/xen/xen-hvm-common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index bb3cfb200c..fb81bd8fbc 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -1,5 +1,6 @@
 #include "qemu/osdep.h"
 #include "qemu/units.h"
+#include "qemu/bitops.h"
 #include "qapi/error.h"
 #include "trace.h"
 
@@ -426,9 +427,8 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req)
     trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr,
                        req->addr, req->data, req->count, req->size);
 
-    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) &&
-            (req->size < sizeof (target_ulong))) {
-        req->data &= ((target_ulong) 1 << (8 * req->size)) - 1;
+    if (!req->data_is_ptr && (req->dir == IOREQ_WRITE)) {
+        req->data = extract64(req->data, 0, BITS_PER_BYTE * req->size);
     }
 
     if (req->dir == IOREQ_WRITE)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:48:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:48:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632658.987000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ui3-0006X2-4P; Tue, 14 Nov 2023 14:48:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632658.987000; Tue, 14 Nov 2023 14:48: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 1r2ui3-0006Wv-1M; Tue, 14 Nov 2023 14:48:11 +0000
Received: by outflank-mailman (input) for mailman id 632658;
 Tue, 14 Nov 2023 14:48: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uaU-0003vI-LZ
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:40:22 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd63bcd8-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:40:22 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-53e04b17132so8865323a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:40:22 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 e29-20020a50d4dd000000b0052e1783ab25sm5343752edj.70.2023.11.14.06.40.19
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:40:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bd63bcd8-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972822; x=1700577622; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xWc7O88tTfL+IROUfXsM+NSd2X7VWDO4aCdpc797HXc=;
        b=B2w1KnhFgmoFbUuLJV0Y9OjkgLXehu40+UFLinv4nNzXhki1Rzu4xRiQ0dA2WLrqo9
         H3cYkQE09bKlMYMwjt7xFHW3CkGHh7pJRbjCIUk5r0qJurzWvL8Dow75sFHGoZ63qO7d
         hL27YHYVlEe75dkuFOBQX6Qbyd0N9l12GFfQhT5sgcKYjpV8UWxmy1KAz0OR7w6xgu1K
         H25EWeLCpglMoj4RsNSRgLZ5QGZ4VsZT0nIrYTqu3iXFxhZ8CRnYp31YbhiQFnmFxCRR
         ocQfxfmY26Nkn95m/wgxCaVvpb0GNAZSZZomFIkYxELOi41d7LERU4Ssqs2oyNLr9ltR
         E+bA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972822; x=1700577622;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xWc7O88tTfL+IROUfXsM+NSd2X7VWDO4aCdpc797HXc=;
        b=N6fCDiaBfpRZItF30ril9NYb3yLooC8QH23ip5vp9/gMamTB3HsY59dURH8zMd3ON3
         /RDiOMdsnvK4cq8kqBW2SAopsuY7UKCdFgAA1vJN3NtxSp4v7nDAHhmPTcY5WSRN6f/W
         boneHAIDuNR5rdTsIJzio3UzSyW51XdBWfW3aoLOk6YreqmjUG/pkqaNqzhXnwlLiWmh
         FCkzmk/MPN5VfYgRo7pIMA6xYM7jYtW3UxTCJYJ/10VK0QJogxF53ojAVTfFO8MeGT6a
         E1MkSUbZTDxMQdbNbp1Qv8JFE1bGJBWQNqwCU15a5i5VmS7xMW3UZ5rs1DLvT1X5irmW
         wJBQ==
X-Gm-Message-State: AOJu0Yy0ZP65stN5fNrs8nVL41y+0Bk3QQN4KF5UsaPwECcKmXDYJqO4
	UadNR5iavyuBsnsZpiEy8L2Pvg==
X-Google-Smtp-Source: AGHT+IHNrn5T4boQ0NzVhZdNm2rxcLbpt1HdZaO6IACtyCbzFgVV5y7RIxXgNNvQBcNbwz/XH0TntA==
X-Received: by 2002:a05:6402:518e:b0:543:5c2f:e0e6 with SMTP id q14-20020a056402518e00b005435c2fe0e6mr7401790edd.17.1699972821905;
        Tue, 14 Nov 2023 06:40:21 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [PATCH-for-9.0 v2 18/19] hw/i386/xen: Compile 'xen-hvm.c' with Xen CPPFLAGS
Date: Tue, 14 Nov 2023 15:38:14 +0100
Message-ID: <20231114143816.71079-19-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

xen-hvm.c calls xc_set_hvm_param() from <xenctrl.h>,
so better compile it with Xen CPPFLAGS.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/i386/xen/meson.build | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build
index 3dc4c4f106..3f0df8bc07 100644
--- a/hw/i386/xen/meson.build
+++ b/hw/i386/xen/meson.build
@@ -1,8 +1,10 @@
 i386_ss.add(when: 'CONFIG_XEN', if_true: files(
-  'xen-hvm.c',
   'xen_apic.c',
   'xen_pvdevice.c',
 ))
+i386_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
+  'xen-hvm.c',
+))
 
 i386_ss.add(when: 'CONFIG_XEN_BUS', if_true: files(
   'xen_platform.c',
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:52:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:52:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632664.987009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2umD-0000cx-KS; Tue, 14 Nov 2023 14:52:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632664.987009; Tue, 14 Nov 2023 14: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 1r2umD-0000cq-Hl; Tue, 14 Nov 2023 14:52:29 +0000
Received: by outflank-mailman (input) for mailman id 632664;
 Tue, 14 Nov 2023 14:52: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2umB-0000ck-TJ
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:52:28 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6cd52059-82fd-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:52:26 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2um4-008XpM-3f; Tue, 14 Nov 2023 14:52: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: 6cd52059-82fd-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:Sender
	:Reply-To:Content-ID:Content-Description;
	bh=ICHewS3Ac/ijiK+ks360OQMk79lzoLRKl9is1vU3rIo=; b=U/CUMp0TGxLvfnFsfS6JM/cNfY
	5wmBRW+E/1KIVJf20V5+jE5hpQoIcX1ntDj6CtV56TFeY35OnTNbWKI5T7TT0iusmxdyY4RQCoN6O
	8Ip7i0xzvikC5ImMhtcy/PdvZnNB5arsCne2k1TIYXV4PWFX0AcSsCK4OejpSHOklM/U3JvNlk9AJ
	xbs4LlptfNvnJtxX2h0FDT7d05kYqCiqBpVerZMMBj2s115qnRA9XGkM+p4HCMOticwQ/2VpprjWX
	iM+ol5pmxESEpBoFUrpDzg9qUko74mhma5Oy7pNE6vKjBY94rSAmlpK6Q+HDrf3aHgarnsIvOzmlR
	YMNWRmZQ==;
Date: Tue, 14 Nov 2023 09:50:06 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Cleber Rosa <crosa@redhat.com>,
 Wainer dos Santos Moschetta <wainersm@redhat.com>,
 Beraldo Leal <bleal@redhat.com>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH-for-9=2E0_v2_01/19=5D_tests/avocado=3A_A?= =?US-ASCII?Q?dd_=27guest=3Axen=27_tag_to_tests_running_Xen_guest?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231114143816.71079-2-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-2-philmd@linaro.org>
Message-ID: <94D9484A-917D-4970-98DE-35B84BEDA1DC@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 09:37:57 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>Add a tag to run all Xen-specific tests using:
>
>  $ make check-avocado AVOCADO_TAGS=3D'guest:xen'
>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>
>---
> tests/avocado/boot_xen=2Epy      | 3 +++
> tests/avocado/kvm_xen_guest=2Epy | 1 +
> 2 files changed, 4 insertions(+)

Those two are very different=2E One runs on Xen, the other on KVM=2E Do we=
 want to use the same tag for both?



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:55:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:55:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632683.987035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uom-0002Ts-KB; Tue, 14 Nov 2023 14:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632683.987035; Tue, 14 Nov 2023 14: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 1r2uom-0002Tl-Hj; Tue, 14 Nov 2023 14:55:08 +0000
Received: by outflank-mailman (input) for mailman id 632683;
 Tue, 14 Nov 2023 14:55: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uZq-0003vI-V1
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:39:42 +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 a5a6b369-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:39:42 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5440f25dcc7so8731461a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:39:42 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 k25-20020aa7c059000000b0053dd8898f75sm5155063edo.81.2023.11.14.06.39.39
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:39:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5a6b369-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972782; x=1700577582; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jzmBSObK1PNYaVxHm2kQdQrWhNegSVRCuy1/LpCCkxs=;
        b=dMUVEZ74P91kfdtH+WZ7AuubPPGNE1Zes1A1b1D2dDu+79B7gpXxso5sL+ouFshZqr
         cz/29RhpNYitWHFAtQoPLkZIjmvYcP4vCRSkyi6Aj8Dtda0krhDZSCxK440j3SFqioQP
         hMu5R769lBO989KzQYwDAObXkgPOtwu0DCynhYCWmOfTS4k/KgnCndaAo4WKArDuoAIC
         miciZx1N+QcpCSf4LqarXPIp8VwcrKc+394yGw1teyerS2VGEZyw8p+dzygU1aS4q+qZ
         EnuJ53kI5Bb6ompVlD0zFL5swg3DxlJC2PqQFxZNXAzptUcownmSJX7MbvC1jSq207U0
         X9XQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972782; x=1700577582;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=jzmBSObK1PNYaVxHm2kQdQrWhNegSVRCuy1/LpCCkxs=;
        b=R4f+T434RcG/f7w2bak8bjdO728gPtwlDd1LcCwtYU5xnvbCKtlwjaHvFJjlFDq9yl
         a84Olbh3mH9eDhDZ3n7Tb2byn/oHMouLhzo3IcBDePpgL6Jz9BGqYAHrWKuBefpsEBny
         M372m6iHRZbRjDo1PfXwovAHw7J7EGQuVMk4APpnNo17bx12T9VCtULfK2xc1aU0W+bE
         9Z74M8eSunC00PnxOn3G7fMWwUr9jsoLMrDliHXo+6seS+QkzC3N04q1rdIEEyIcwcUX
         S6d3yAowBfEMLOqFYKd7gjiYGyuSB6Y7DaL5L4cSPrsJgLHOJR1R3c5k3JNZEKiMXAt7
         /3Xg==
X-Gm-Message-State: AOJu0YztXYF3VjOXJ0hVrhTqsAqpR/HsfkDifCftAWtLhfYdS5Yobalj
	LOJVsI0gqv/Y//5dk0MuAwphJA==
X-Google-Smtp-Source: AGHT+IExeFq34FYS8TGI99eGSAGJR2PT8yf3hsSWiq8DkOxV7jzDuNfy8kK0Izfgi0PzWhH+ZoIHKg==
X-Received: by 2002:aa7:d050:0:b0:540:3286:d2e8 with SMTP id n16-20020aa7d050000000b005403286d2e8mr7060069edo.18.1699972781909;
        Tue, 14 Nov 2023 06:39:41 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 v2 12/19] hw/xen: Merge 'hw/xen/arch_hvm.h' in 'hw/xen/xen-hvm-common.h'
Date: Tue, 14 Nov 2023 15:38:08 +0100
Message-ID: <20231114143816.71079-13-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We don't need a target-specific header for common target-specific
prototypes. Declare xen_arch_handle_ioreq() and xen_arch_set_memory()
in "hw/xen/xen-hvm-common.h".

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/hw/arm/xen_arch_hvm.h   |  9 ---------
 include/hw/i386/xen_arch_hvm.h  | 11 -----------
 include/hw/xen/arch_hvm.h       |  5 -----
 include/hw/xen/xen-hvm-common.h |  6 ++++++
 hw/arm/xen_arm.c                |  1 -
 hw/i386/xen/xen-hvm.c           |  1 -
 hw/xen/xen-hvm-common.c         |  1 -
 7 files changed, 6 insertions(+), 28 deletions(-)
 delete mode 100644 include/hw/arm/xen_arch_hvm.h
 delete mode 100644 include/hw/i386/xen_arch_hvm.h
 delete mode 100644 include/hw/xen/arch_hvm.h

diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.h
deleted file mode 100644
index 6a974f2020..0000000000
--- a/include/hw/arm/xen_arch_hvm.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef HW_XEN_ARCH_ARM_HVM_H
-#define HW_XEN_ARCH_ARM_HVM_H
-
-#include <xen/hvm/ioreq.h>
-void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
-void xen_arch_set_memory(XenIOState *state,
-                         MemoryRegionSection *section,
-                         bool add);
-#endif
diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h
deleted file mode 100644
index 2822304955..0000000000
--- a/include/hw/i386/xen_arch_hvm.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef HW_XEN_ARCH_I386_HVM_H
-#define HW_XEN_ARCH_I386_HVM_H
-
-#include <xen/hvm/ioreq.h>
-#include "hw/xen/xen-hvm-common.h"
-
-void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
-void xen_arch_set_memory(XenIOState *state,
-                         MemoryRegionSection *section,
-                         bool add);
-#endif
diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h
deleted file mode 100644
index c7c515220d..0000000000
--- a/include/hw/xen/arch_hvm.h
+++ /dev/null
@@ -1,5 +0,0 @@
-#if defined(TARGET_I386) || defined(TARGET_X86_64)
-#include "hw/i386/xen_arch_hvm.h"
-#elif defined(TARGET_ARM) || defined(TARGET_ARM_64)
-#include "hw/arm/xen_arch_hvm.h"
-#endif
diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index d3fa5ed29b..8934033eaa 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -96,4 +96,10 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
                         const MemoryListener *xen_memory_listener);
 
 void cpu_ioreq_pio(ioreq_t *req);
+
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
+void xen_arch_set_memory(XenIOState *state,
+                         MemoryRegionSection *section,
+                         bool add);
+
 #endif /* HW_XEN_HVM_COMMON_H */
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index bf19407879..6b0e396502 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -33,7 +33,6 @@
 #include "sysemu/sysemu.h"
 #include "hw/xen/xen-hvm-common.h"
 #include "sysemu/tpm.h"
-#include "hw/xen/arch_hvm.h"
 
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
 OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 5150984e46..0fbe720c8f 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -21,7 +21,6 @@
 #include "qemu/range.h"
 
 #include "hw/xen/xen-hvm-common.h"
-#include "hw/xen/arch_hvm.h"
 #include <xen/hvm/e820.h>
 
 static MemoryRegion ram_640k, ram_lo, ram_hi;
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index cf6ed11f70..bb3cfb200c 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -7,7 +7,6 @@
 #include "hw/xen/xen-hvm-common.h"
 #include "hw/xen/xen-bus.h"
 #include "hw/boards.h"
-#include "hw/xen/arch_hvm.h"
 
 MemoryRegion xen_memory;
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:56:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:56:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632693.987046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uph-0003Vm-VY; Tue, 14 Nov 2023 14:56:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632693.987046; Tue, 14 Nov 2023 14:56: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 1r2uph-0003Vf-RS; Tue, 14 Nov 2023 14:56:05 +0000
Received: by outflank-mailman (input) for mailman id 632693;
 Tue, 14 Nov 2023 14:56: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uaO-0003vI-Id
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:40:16 +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 b9a20dbc-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:40:15 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-9d0b4dfd60dso855708766b.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:40:15 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 le5-20020a170907170500b00988f168811bsm5631076ejc.135.2023.11.14.06.40.13
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:40:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9a20dbc-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972815; x=1700577615; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=cJTBhe5AIq+piFF54yNuiwKWHopSqD7by2+9eio+MdU=;
        b=s3YqYle69AuGuZZktfwL85Hlz8R2eFClsv4c7v6JzfgsiGDQ1qQ/R9ch41BszS3Wrw
         C57bZK6V8urpUWL0j6xqoJI/Tb+jcGjwnfvHWj0zOLHrOQxsKrQKUwG0AW17QVxzjlLR
         EoMmaVMJa4ll13qxbbUXtqk5/eWQSWP3fxkX/0Tt/hn2LrYcAErTeUFyWeR0jC8DkgbT
         ciSWskNgm9aOKjxO07iYq9mgXoxPNYeWjqW3R5/maqBw3yom6eoNmjac6vJ400DDm+uH
         wy9T9wTwAILwerha+Y+EJ+JnpZn8wQlCqr49yar+FmzwGtPAGexmL4ywL+T07HZ/f+A1
         lw1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972815; x=1700577615;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=cJTBhe5AIq+piFF54yNuiwKWHopSqD7by2+9eio+MdU=;
        b=Uh8bHahNUM63TTNjpe2p5TbfAUTyc0T5cIoPNFtzl+E+slC9S4IQE6ihTIVaMCGR8k
         c5Rn/ycxnhjW0ZrWsPLK9Glx7z1ksvJsirz+zVowAAkql92hf0apraNfBikZOmxMKH+0
         HZAUozV1Lu6utZhhGW89dPoPLSuvQZyWkwzmiAocL1V5g40zrKdA5kyu202IZL/o96r7
         N282yTBh4zr07+n87pXSd7CZwedqkK+QkMFgt0zXkkeEIxU41ebHqG/dckjotRKnB0hY
         Pz95EAFMrSm6ciR4JS2enoTrZxKlnn9/YG72OyVfSxXvU7Q/aM2707NtCBdTyu4811Ai
         xHXg==
X-Gm-Message-State: AOJu0YzzHq/CLBADElAkEbyQVH20i1x6OrLpR41xC8z2Aba3H1d7nmtZ
	PGD7Jt28ez+Qv8hVXNA6Tj3e6A==
X-Google-Smtp-Source: AGHT+IE8dPcoX4Dac2Uu05H6YcGwd8wvx56/VSesXpaOIpMKV8Ekj9QVQKSryNOPBDH4ia71GkoHQw==
X-Received: by 2002:a17:906:6a1f:b0:9b2:df16:851d with SMTP id qw31-20020a1709066a1f00b009b2df16851dmr9925246ejc.57.1699972815506;
        Tue, 14 Nov 2023 06:40:15 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 v2 17/19] hw/xen: Extract 'xen_igd.h' from 'xen_pt.h'
Date: Tue, 14 Nov 2023 15:38:13 +0100
Message-ID: <20231114143816.71079-18-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

"hw/xen/xen_pt.h" requires "hw/xen/xen_native.h" which is target
specific. It also declares IGD methods, which are not target
specific.

Target-agnostic code can use IGD methods. To allow that, extract
these methos into a new "hw/xen/xen_igd.h" header.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/xen/xen_pt.h             | 14 --------------
 include/hw/xen/xen_igd.h    | 33 +++++++++++++++++++++++++++++++++
 accel/xen/xen-all.c         |  1 +
 hw/i386/pc_piix.c           |  1 +
 hw/xen/xen_pt.c             |  3 ++-
 hw/xen/xen_pt_config_init.c |  3 ++-
 hw/xen/xen_pt_graphics.c    |  3 ++-
 hw/xen/xen_pt_stub.c        |  2 +-
 8 files changed, 42 insertions(+), 18 deletions(-)
 create mode 100644 include/hw/xen/xen_igd.h

diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index d3180bb134..095a0f0365 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -15,9 +15,6 @@
 #include "xen-host-pci-device.h"
 #include "qom/object.h"
 
-bool xen_igd_gfx_pt_enabled(void);
-void xen_igd_gfx_pt_set(bool value, Error **errp);
-
 void xen_pt_log(const PCIDevice *d, const char *f, ...) G_GNUC_PRINTF(2, 3);
 
 #define XEN_PT_ERR(d, _f, _a...) xen_pt_log(d, "%s: Error: "_f, __func__, ##_a)
@@ -62,12 +59,6 @@ typedef struct XenPTDeviceClass {
     XenPTQdevRealize pci_qdev_realize;
 } XenPTDeviceClass;
 
-uint32_t igd_read_opregion(XenPCIPassthroughState *s);
-void xen_igd_reserve_slot(PCIBus *pci_bus);
-void igd_write_opregion(XenPCIPassthroughState *s, uint32_t val);
-void xen_igd_passthrough_isa_bridge_create(XenPCIPassthroughState *s,
-                                           XenHostPCIDevice *dev);
-
 /* function type for config reg */
 typedef int (*xen_pt_conf_reg_init)
     (XenPCIPassthroughState *, XenPTRegInfo *, uint32_t real_offset,
@@ -353,11 +344,6 @@ static inline bool xen_pt_has_msix_mapping(XenPCIPassthroughState *s, int bar)
 void *pci_assign_dev_load_option_rom(PCIDevice *dev, int *size,
                                      unsigned int domain, unsigned int bus,
                                      unsigned int slot, unsigned int function);
-static inline bool is_igd_vga_passthrough(XenHostPCIDevice *dev)
-{
-    return (xen_igd_gfx_pt_enabled()
-            && ((dev->class_code >> 0x8) == PCI_CLASS_DISPLAY_VGA));
-}
 int xen_pt_register_vga_regions(XenHostPCIDevice *dev);
 int xen_pt_unregister_vga_regions(XenHostPCIDevice *dev);
 void xen_pt_setup_vga(XenPCIPassthroughState *s, XenHostPCIDevice *dev,
diff --git a/include/hw/xen/xen_igd.h b/include/hw/xen/xen_igd.h
new file mode 100644
index 0000000000..7ffca06c10
--- /dev/null
+++ b/include/hw/xen/xen_igd.h
@@ -0,0 +1,33 @@
+/*
+ * Copyright (c) 2007, Neocleus Corporation.
+ * Copyright (c) 2007, Intel Corporation.
+ *
+ * SPDX-License-Identifier: GPL-2.0-only
+ *
+ * Alex Novik <alex@neocleus.com>
+ * Allen Kay <allen.m.kay@intel.com>
+ * Guy Zana <guy@neocleus.com>
+ */
+#ifndef XEN_IGD_H
+#define XEN_IGD_H
+
+#include "hw/xen/xen-host-pci-device.h"
+
+typedef struct XenPCIPassthroughState XenPCIPassthroughState;
+
+bool xen_igd_gfx_pt_enabled(void);
+void xen_igd_gfx_pt_set(bool value, Error **errp);
+
+uint32_t igd_read_opregion(XenPCIPassthroughState *s);
+void xen_igd_reserve_slot(PCIBus *pci_bus);
+void igd_write_opregion(XenPCIPassthroughState *s, uint32_t val);
+void xen_igd_passthrough_isa_bridge_create(XenPCIPassthroughState *s,
+                                           XenHostPCIDevice *dev);
+
+static inline bool is_igd_vga_passthrough(XenHostPCIDevice *dev)
+{
+    return (xen_igd_gfx_pt_enabled()
+            && ((dev->class_code >> 0x8) == PCI_CLASS_DISPLAY_VGA));
+}
+
+#endif
diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 5ff0cb8bd9..0bdefce537 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -15,6 +15,7 @@
 #include "hw/xen/xen_native.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "chardev/char.h"
 #include "qemu/accel.h"
 #include "sysemu/cpus.h"
diff --git a/hw/i386/pc_piix.c b/hw/i386/pc_piix.c
index eace854335..a607dcb56c 100644
--- a/hw/i386/pc_piix.c
+++ b/hw/i386/pc_piix.c
@@ -56,6 +56,7 @@
 #ifdef CONFIG_XEN
 #include <xen/hvm/hvm_info_table.h>
 #include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #endif
 #include "hw/xen/xen-x86.h"
 #include "hw/xen/xen.h"
diff --git a/hw/xen/xen_pt.c b/hw/xen/xen_pt.c
index 36e6f93c37..a8edabdabc 100644
--- a/hw/xen/xen_pt.c
+++ b/hw/xen/xen_pt.c
@@ -59,7 +59,8 @@
 #include "hw/pci/pci.h"
 #include "hw/qdev-properties.h"
 #include "hw/qdev-properties-system.h"
-#include "xen_pt.h"
+#include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "hw/xen/xen.h"
 #include "hw/xen/xen-legacy-backend.h"
 #include "qemu/range.h"
diff --git a/hw/xen/xen_pt_config_init.c b/hw/xen/xen_pt_config_init.c
index 2b8680b112..ba4cd78238 100644
--- a/hw/xen/xen_pt_config_init.c
+++ b/hw/xen/xen_pt_config_init.c
@@ -15,7 +15,8 @@
 #include "qemu/osdep.h"
 #include "qapi/error.h"
 #include "qemu/timer.h"
-#include "xen_pt.h"
+#include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "hw/xen/xen-legacy-backend.h"
 
 #define XEN_PT_MERGE_VALUE(value, data, val_mask) \
diff --git a/hw/xen/xen_pt_graphics.c b/hw/xen/xen_pt_graphics.c
index 0aed3bb6fd..6c2e3f4840 100644
--- a/hw/xen/xen_pt_graphics.c
+++ b/hw/xen/xen_pt_graphics.c
@@ -3,7 +3,8 @@
  */
 #include "qemu/osdep.h"
 #include "qapi/error.h"
-#include "xen_pt.h"
+#include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "xen-host-pci-device.h"
 
 static unsigned long igd_guest_opregion;
diff --git a/hw/xen/xen_pt_stub.c b/hw/xen/xen_pt_stub.c
index 5c108446a8..72feebeb20 100644
--- a/hw/xen/xen_pt_stub.c
+++ b/hw/xen/xen_pt_stub.c
@@ -6,7 +6,7 @@
  */
 
 #include "qemu/osdep.h"
-#include "hw/xen/xen_pt.h"
+#include "hw/xen/xen_igd.h"
 #include "qapi/error.h"
 
 bool xen_igd_gfx_pt_enabled(void)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:56:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:56:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632697.987056 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uqE-0004Tu-Ag; Tue, 14 Nov 2023 14:56:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632697.987056; Tue, 14 Nov 2023 14:56: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 1r2uqE-0004Tn-7c; Tue, 14 Nov 2023 14:56:38 +0000
Received: by outflank-mailman (input) for mailman id 632697;
 Tue, 14 Nov 2023 14:56: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uaI-0003b0-Gl
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:40:10 +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 b58ac18b-82fb-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:40:09 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-9d2e7726d5bso856523766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:40:09 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 y10-20020a1709064b0a00b009dd7bc622fbsm5606206eju.113.2023.11.14.06.40.06
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:40:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b58ac18b-82fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972808; x=1700577608; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CAcrCtDRFE27SgAEHRwd23jK5KSLpjZ+znXdyGAiZas=;
        b=TFC8KGRi8SIsVI/CJymk087sb+4rTj/4Nrfn+7QKf4+LMREqrfj1cjE96SgWsq7+c2
         tk9BH5oEdnuVfWJWFoPe2TTQz0v4Gt9Y6b7coNgBzsE5DgZaMsS2PBEeKt13/a8Ije5M
         rX6D+ptjmJBteV2w8iicbQ2DO8DMVLf2Px5dOCOBSOwKbuXsgTy4qjPhBTIP3qu6V58y
         gsiDn+wlRY8/VlB4avWYO7FCixRp/Z9HvH48d/wPN/h+yanJuNybgQU76mLoLMb/yWcu
         Hl403+GS3cqEhoWCN9nwwSCJym42kcyC3QuIzJAvOq7G3o/46Tc8t2joXp9zWGDFwwZf
         eZWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972808; x=1700577608;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CAcrCtDRFE27SgAEHRwd23jK5KSLpjZ+znXdyGAiZas=;
        b=BOy3v7+7PTmyAl732iSU3KVmuDZkNAhveUl+NpIlhIFRchFRH2PzFAWcnkT9Jvxk9V
         qmsrhE9/tIwBIRJ3G2QNTO2nmdB6BGEgvahjLz0cTAwrEMEpowGhhRhiuxDUl/2r4nnK
         +8XSz52sMHdLnSVvnofyxqQo5BJtz5SW+iu9DT0LjfZyh3llDM+BGpwsT2d0X9D50n4K
         iXWKxoFRf7T2MhYM3Uf3KeIwLU8vqYzFZaqT5gMqLdS3BhG1Fh7+QuJStiWLi0aBFpUc
         agHKP6DAQMyI4vzXeMta+WLG3wCALSEjL0MRlv969KER+MXCeMSdsTwuWPv5SYxgkTM9
         pn5g==
X-Gm-Message-State: AOJu0Yx17B+dDe5VHSJwSnyRuCeAm6Xk2lJG2m4x/Srx9XJAOmdQh/Rw
	gwC/tDxdLzw8jMJvuzRKSfTL7A==
X-Google-Smtp-Source: AGHT+IFRbdN3aM58BgezwVky3EFK69MoaorjbUe4txfqvi/Mr07fntHT95KnMqBlE8Dz9TGy0ZX5tw==
X-Received: by 2002:a17:907:9848:b0:9dd:5adc:b1d2 with SMTP id jj8-20020a170907984800b009dd5adcb1d2mr6678484ejc.38.1699972808614;
        Tue, 14 Nov 2023 06:40:08 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 v2 16/19] hw/xen/xen_pt: Add missing license
Date: Tue, 14 Nov 2023 15:38:12 +0100
Message-ID: <20231114143816.71079-17-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Commit eaab4d60d3 ("Introduce Xen PCI Passthrough, qdevice")
introduced both xen_pt.[ch], but only added the license to
xen_pt.c. Use the same license for xen_pt.h.

Suggested-by: David Woodhouse <dwmw@amazon.co.uk>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/xen/xen_pt.h | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/hw/xen/xen_pt.h b/hw/xen/xen_pt.h
index 31bcfdf705..d3180bb134 100644
--- a/hw/xen/xen_pt.h
+++ b/hw/xen/xen_pt.h
@@ -1,3 +1,13 @@
+/*
+ * Copyright (c) 2007, Neocleus Corporation.
+ * Copyright (c) 2007, Intel Corporation.
+ *
+ * SPDX-License-Identifier: GPL-2.0-only
+ *
+ * Alex Novik <alex@neocleus.com>
+ * Allen Kay <allen.m.kay@intel.com>
+ * Guy Zana <guy@neocleus.com>
+ */
 #ifndef XEN_PT_H
 #define XEN_PT_H
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:57:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:57:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632700.987065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2ur2-0005ZK-J3; Tue, 14 Nov 2023 14:57:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632700.987065; Tue, 14 Nov 2023 14:57: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 1r2ur2-0005ZD-GS; Tue, 14 Nov 2023 14:57:28 +0000
Received: by outflank-mailman (input) for mailman id 632700;
 Tue, 14 Nov 2023 14:57: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uZj-0003vI-KH
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:39:35 +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 a14f0691-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:39:35 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-9e62f903e88so626245966b.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:39:35 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 qx25-20020a170906fcd900b0098e34446464sm5684531ejb.25.2023.11.14.06.39.32
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:39:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a14f0691-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972774; x=1700577574; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6XE67RaqwP19rEjPR9cmWaIkbDnma1jGWKj3qDcuG2M=;
        b=mTgzg8QvkuEOQmWGDbWfFM99zCtTos5bqLur+mU30kjpvW/qlPjBQR7Rgr09srNbUk
         PwbBQPEfPM60xCFKZVef3k0VIZbiuNr0ldKiimv1mypqUhn6G0OFTfRyWV4WjErQslZ9
         2LR4QR4m+kpifWwyKXAMrwwqVFfJOFQ8pobxXRf/q557ZXtc8FxcJxMYMwQ9ulJrua7X
         FEm2Z9KybKxGcEVkmbKhKdu5fQZZRPiAwU+nPTwhIX9ZFAGn/Lp+UkatMKcL5eQOsMqP
         BlRvMprG4VqItpGpEN8i66CxWUqRX23hs2D7z1y4NbhQwLuIR6fc3NZgaLJh/db27PEw
         +HDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972774; x=1700577574;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6XE67RaqwP19rEjPR9cmWaIkbDnma1jGWKj3qDcuG2M=;
        b=er+AU0P6NRXjm8WbD59f7tLKEjm8DGsxjB/N9KrKpRw5LlhHWF547cDjLiZc5p/t2+
         oPPCBokpoGxRNSut4+aY8yd4AgPo3LSDZ54BG1HpqGJH6ibgNtpjfpqaHC4+G7EiCEOR
         fZCcZGpBIBkZa/Sgt0G8pdr0fY5f0wmiTWWBRvFPUZTpxBXtDyGjZefI9wQOz4QsbQ+u
         1GBUQr74iIr8ZxfsFkP/3oMP7soJoy16nsmJ6oODgIojUHGsNHijpqmpdDcVa32iS8IS
         eXtORxHZ0QVzNKLQW6thStMKtnO+uFiXKsM6geP80nIympISF0Evpx5E1UwwJkjMFHt7
         5iZw==
X-Gm-Message-State: AOJu0YxlORaBh4gouBFoMKcDml5jlO8zh47vbeJ9xpqafQTu+lSYc0vk
	XSab1ljvT267OSamTaLU0XOMnw==
X-Google-Smtp-Source: AGHT+IH5uADtxqVb0gu9wkOPtm794L9VQ3NjNtPGCuhDFtQMH4f3XXf2p8ohPfBbgEKWHzCsn1iRrg==
X-Received: by 2002:a17:906:899:b0:9df:e457:cef6 with SMTP id n25-20020a170906089900b009dfe457cef6mr5737290eje.77.1699972774671;
        Tue, 14 Nov 2023 06:39:34 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [PATCH-for-9.0 v2 11/19] hw/xen/xen_arch_hvm: Rename prototypes using 'xen_arch_' prefix
Date: Tue, 14 Nov 2023 15:38:07 +0100
Message-ID: <20231114143816.71079-12-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Use a common 'xen_arch_' prefix for architecture-specific functions.
Rename xen_arch_set_memory() and xen_arch_handle_ioreq().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
 include/hw/arm/xen_arch_hvm.h  | 4 ++--
 include/hw/i386/xen_arch_hvm.h | 4 ++--
 hw/arm/xen_arm.c               | 4 ++--
 hw/i386/xen/xen-hvm.c          | 6 +++---
 hw/xen/xen-hvm-common.c        | 4 ++--
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.h
index 8fd645e723..6a974f2020 100644
--- a/include/hw/arm/xen_arch_hvm.h
+++ b/include/hw/arm/xen_arch_hvm.h
@@ -2,8 +2,8 @@
 #define HW_XEN_ARCH_ARM_HVM_H
 
 #include <xen/hvm/ioreq.h>
-void arch_handle_ioreq(XenIOState *state, ioreq_t *req);
-void arch_xen_set_memory(XenIOState *state,
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
+void xen_arch_set_memory(XenIOState *state,
                          MemoryRegionSection *section,
                          bool add);
 #endif
diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h
index 1000f8f543..2822304955 100644
--- a/include/hw/i386/xen_arch_hvm.h
+++ b/include/hw/i386/xen_arch_hvm.h
@@ -4,8 +4,8 @@
 #include <xen/hvm/ioreq.h>
 #include "hw/xen/xen-hvm-common.h"
 
-void arch_handle_ioreq(XenIOState *state, ioreq_t *req);
-void arch_xen_set_memory(XenIOState *state,
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
+void xen_arch_set_memory(XenIOState *state,
                          MemoryRegionSection *section,
                          bool add);
 #endif
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index 8a185da193..bf19407879 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -129,14 +129,14 @@ static void xen_init_ram(MachineState *machine)
     }
 }
 
-void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     hw_error("Invalid ioreq type 0x%x\n", req->type);
 
     return;
 }
 
-void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
+void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
                          bool add)
 {
 }
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 1ae943370b..5150984e46 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -659,8 +659,8 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
     }
 }
 
-void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
-                                bool add)
+void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
+                         bool add)
 {
     hwaddr start_addr = section->offset_within_address_space;
     ram_addr_t size = int128_get64(section->size);
@@ -700,7 +700,7 @@ void arch_xen_set_memory(XenIOState *state, MemoryRegionSection *section,
     }
 }
 
-void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
+void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     switch (req->type) {
     case IOREQ_TYPE_VMWARE_PORT:
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index cf4053c9f2..cf6ed11f70 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -65,7 +65,7 @@ static void xen_set_memory(struct MemoryListener *listener,
         }
     }
 
-    arch_xen_set_memory(state, section, add);
+    xen_arch_set_memory(state, section, add);
 }
 
 void xen_region_add(MemoryListener *listener,
@@ -452,7 +452,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req)
             cpu_ioreq_config(state, req);
             break;
         default:
-            arch_handle_ioreq(state, req);
+            xen_arch_handle_ioreq(state, req);
     }
     if (req->dir == IOREQ_READ) {
         trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 14:59:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 14:59:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632711.987075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2utE-00078R-Uy; Tue, 14 Nov 2023 14:59:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632711.987075; Tue, 14 Nov 2023 14:59: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 1r2utE-00078K-SM; Tue, 14 Nov 2023 14:59:44 +0000
Received: by outflank-mailman (input) for mailman id 632711;
 Tue, 14 Nov 2023 14:59: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2utC-00075e-LF
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:59:43 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f068324-82fe-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:59:39 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2ut1-008aJs-S4; Tue, 14 Nov 2023 14:59: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: 6f068324-82fe-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:Sender
	:Reply-To:Content-ID:Content-Description;
	bh=2V2aN1FlolnINR1l3YlTw25qRr0vJF7wJ6RIq/GchL0=; b=E/PEXjvt0+RnUlYrN++xmBLgjc
	HuCaeTYOVkOefp8uy3ZSz/P6HEQekbeWntiUJxH7m1YR/R9+NhRL2luaaOdAWWsfGwCj9vF7sfChu
	J4kSiafVKeRtFjBPxiuFAo6xu2mHULfx5cUzZjHFsJkKJXM2LkwTPWm94lP3pXzh+8dAXVF2IOAFF
	fSfV1upQceel86/fLJuSmWwADzoC+KPOtbAHed77Z6tkpuV9iEklSCO+Alm8btl+EphB5Pfn4Mzlg
	mK4N8HkJxJMjd+3+0P+LbO2K/yb2HegPlM96HCDpOt/n8/RjcauHGDBym2kUbXZSjBDzkYQJXKD0P
	jq+BiHiQ==;
Date: Tue, 14 Nov 2023 09:59:29 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Peter Xu <peterx@redhat.com>,
 David Hildenbrand <david@redhat.com>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH-for-9=2E0_v2_04/19=5D_system/physmem=3A_D?= =?US-ASCII?Q?o_not_include_=27hw/xen/xen=2Eh=27_but_=27sysemu/xen=2Eh=27?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231114143816.71079-5-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-5-philmd@linaro.org>
Message-ID: <2D88622C-9DFB-4DB6-8F9C-E45850FB1DCD@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 09:38:00 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>physmem=2Ec doesn't use any declaration from "hw/xen/xen=2Eh",
>it only requires "sysemu/xen=2Eh" and "system/xen-mapcache=2Eh"=2E
>
>Suggested-by: David Woodhouse <dwmw@amazon=2Eco=2Euk>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>

Reviewed-by: David Woodhouse <dwmw@amazon=2Eco=2Euk>



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:00:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:00:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632713.987086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uta-0000Cw-72; Tue, 14 Nov 2023 15:00:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632713.987086; Tue, 14 Nov 2023 15:00: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 1r2uta-0000Cj-4F; Tue, 14 Nov 2023 15:00:06 +0000
Received: by outflank-mailman (input) for mailman id 632713;
 Tue, 14 Nov 2023 15:00: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uaB-0003b0-V7
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:40:03 +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 b19ac7f7-82fb-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 15:40:02 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-53e751aeb3cso8834434a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:40:02 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 r30-20020a50aade000000b005434e3d8e7bsm5309632edc.1.2023.11.14.06.39.59
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:40:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b19ac7f7-82fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972802; x=1700577602; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vfmEPJkfg9xcA7W0yB07+uhlzLrR51RZZmvLOIuALj0=;
        b=sexywZSuZ5OpVpMwaZq+bkmen11MGw6bGNxc5lCGhet+f85tIukUUW8aO/2Kkc4x0h
         5dCeXThmpBG5hfCevx+QctQZLRB7LWXlO0x3pKdAlUN0kF4O/DA3TjZTpOEeVx4XjNwA
         vCXqw0Wu5SudpThf98wEjQSzb22/WHpIHoImh7OK5ClKI59UgVfvS6+IcR0hvUr/Zz51
         qz5ZdMeNtU7lFc+8Xhm1ZeyAz7PNhRYEDf+trN799nDHWqP4HoCD/rW+8Uyz+x00Afk7
         V83aEnRt8/+bLzk7XELS6waFJL1FO7ScCTaytOAjt3UdLFimdyXnhmS7SG21NGMaw5TS
         fgXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972802; x=1700577602;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vfmEPJkfg9xcA7W0yB07+uhlzLrR51RZZmvLOIuALj0=;
        b=xEn511E5/Hbk15iCfarn3jdqWpmITcxbnM5r855SULBRpP7QV2AAbzFoTN9jA8IbFU
         ulub9o6v4fEbpGJYT9yxUyYU85FT0GOILMl+Nfu0PUNZMvYUX+ba6s7IEk44fmirZfz6
         LHxNWGoRSZZW7lkh780wUEv8TGU22dnd+EktqG3xuBcg0YCcjmbRhnlIL5GWcBQXb+tN
         BgtcCZDR6boIlYArRQyVSFCCUDLQPwKPuiCVLhmvT3OFnDmn/Q8tSZgOSMAaH8JQvGm2
         GE98CPSwUcIbYsYeoARpSND7mHeDUBJHBo0sdzAjU7doYzidXNTP3BrQNOecHaQZoQ0l
         +amA==
X-Gm-Message-State: AOJu0YzjHoeDj+fouJfzqPTC63nxEiKOuNSLixK7FFXwA29h8U9CUqy0
	4yNksCDxuDVTjLbp4D7sPLlsLg==
X-Google-Smtp-Source: AGHT+IFr1fCG0rC/823Fjj2RnGPLFEJJu5Vypm0crh2s8xGJ38WYt9mRvWNiRlcZ2yw4Up2Qw1V1LQ==
X-Received: by 2002:aa7:d704:0:b0:53d:e0cf:cb95 with SMTP id t4-20020aa7d704000000b0053de0cfcb95mr7775616edq.21.1699972802002;
        Tue, 14 Nov 2023 06:40:02 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 v2 15/19] hw/xen: Reduce inclusion of 'cpu.h' to target-specific sources
Date: Tue, 14 Nov 2023 15:38:11 +0100
Message-ID: <20231114143816.71079-16-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We rarely need to include "cpu.h" in headers. Including it
'taint' headers to be target-specific. Here only the i386/arm
implementations requires "cpu.h", so include it there and
remove from the "hw/xen/xen-hvm-common.h" *common* header.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
---
 include/hw/xen/xen-hvm-common.h | 1 -
 hw/arm/xen_arm.c                | 1 +
 hw/i386/xen/xen-hvm.c           | 1 +
 3 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 8934033eaa..83ed16f425 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -4,7 +4,6 @@
 #include "qemu/osdep.h"
 #include "qemu/units.h"
 
-#include "cpu.h"
 #include "hw/pci/pci.h"
 #include "hw/hw.h"
 #include "hw/xen/xen_native.h"
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index 6b0e396502..b478d74ea0 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -33,6 +33,7 @@
 #include "sysemu/sysemu.h"
 #include "hw/xen/xen-hvm-common.h"
 #include "sysemu/tpm.h"
+#include "cpu.h"
 
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
 OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 0fbe720c8f..f1c30d1384 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -22,6 +22,7 @@
 
 #include "hw/xen/xen-hvm-common.h"
 #include <xen/hvm/e820.h>
+#include "cpu.h"
 
 static MemoryRegion ram_640k, ram_lo, ram_hi;
 static MemoryRegion *framebuffer;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:00:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:00:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632715.987096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2utl-0000fN-Ff; Tue, 14 Nov 2023 15:00:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632715.987096; Tue, 14 Nov 2023 15:00: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 1r2utl-0000fF-CB; Tue, 14 Nov 2023 15:00:17 +0000
Received: by outflank-mailman (input) for mailman id 632715;
 Tue, 14 Nov 2023 15:00: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=hHxF=G3=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r2utj-0000an-1h
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:00:15 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2080.outbound.protection.outlook.com [40.107.7.80])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 84017d4f-82fe-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:00:14 +0100 (CET)
Received: from AM6PR04CA0004.eurprd04.prod.outlook.com (2603:10a6:20b:92::17)
 by DU5PR08MB10680.eurprd08.prod.outlook.com (2603:10a6:10:525::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Tue, 14 Nov
 2023 14:59:45 +0000
Received: from AMS0EPF000001AC.eurprd05.prod.outlook.com
 (2603:10a6:20b:92:cafe::c8) by AM6PR04CA0004.outlook.office365.com
 (2603:10a6:20b:92::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Tue, 14 Nov 2023 14:59:44 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001AC.mail.protection.outlook.com (10.167.16.152) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.14 via Frontend Transport; Tue, 14 Nov 2023 14:59:44 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Tue, 14 Nov 2023 14:59:44 +0000
Received: from 697789ec300b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FF3B7BF2-E312-41B8-8E1F-3D63B6549F9C.1; 
 Tue, 14 Nov 2023 14:59:38 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 697789ec300b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 14 Nov 2023 14:59:38 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM9PR08MB6724.eurprd08.prod.outlook.com (2603:10a6:20b:30b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Tue, 14 Nov
 2023 14:59:36 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%6]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 14:59: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: 84017d4f-82fe-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Sn6st5hWoxK6uEkjYWBv3XI40/cM3UouBt4Kyq6Izz8QxAfE/6X1gO5z2UfJ/Arx1YQ9kRZhoRFdsosKCTfJGNHwVY/8qcom/0wsVsToWuBrAWESC3Nfuz22L35EAkQlOxbRHWPMaOuw9nkdtDSInYGCy9IYXgQTjMy2G6Qnfz6G7blqg3kFgl8YWG10thuoIt175UpfZyeP548DJZKNVZ4IEAUqJooqpl5pgZAuzEOcMkAY74Lu3Lxetg2Ar2SHN5dZDaMfUq5el7IbGZH+J1NxGQWR+0mwPNxEMJQBiW12h1ERDrNb/P+h3sLxmQ05ttfNbQQVQZ4FtRTv0/uPrg==
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=zoLO2VKz048EC/OL4qJdHfqByj6btyet2Umehb2LgA4=;
 b=LcAgrwtfKsd5fOfsVVji31gDiLVHwJ+NFYIuBxTVTpwwiR/ufeZptLnijMa6JoXoe6VH0bBKCqa7c1SjA8jazsQity2pZR7oHrTLmjHiTnEHg3AcpWo9qQLq898flXcp1fz61u/+lvbx/+NkmO34cNrNgGaeHhDNAqX38413NsE2EixsRzS1moSOzZfMq7bZPyxzd0oWRFSUnM36QdYG4ic7R+tnxKqp+05CYVH3NXtVYec+uwEEIPQ+pUfc84agW8xkIuLyKYpE24zqQOozqb70OirmiFa/tqCUgSH7f9szzyYka+fCH79YShF54pgQylEYagz6fRxTxUi+qc97Tg==
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=zoLO2VKz048EC/OL4qJdHfqByj6btyet2Umehb2LgA4=;
 b=Fr4DQ/3JpVf7aBdOJSf8tiBhVyLqviZEYRrPUO0XYEAsT0gwlrlueKSSoIRuIqKgv0UjLDFFEoFJNd7IgI4X6+AGnkbHpwUa0QmwmQwz3P5E1Jb1Tk4VCmvFLrczMpYmKYEI5WL5nHj75PpaI97h83TUgjU6IcnEyWRBFQuSPk0=
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: e3182766d15007e1
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JOYEbq5Wk5IQEJ+YgLqvUpvvmgZ2LL33y6PR1cr5EV4uKU6iA+wLxo6qSiYxUINe6AFUsgsEfhFwykzc8Lj2Y1kxTU6lP15Zb7Ztzy5vuZj8E11mCwpZp4xQjPUy++to/Igig3psd/RZh8552FMhBqJDB3z4+8BXw8uIPbu8SGOS54ivgGsAB8mKXKjVk5uoFR4f9AP+cuNPXjMT1Q1R0g9ItbEe0iOn1Dv/9lY4Dyu8ofmAMNrQqPVpQ44rFH6iztq4G5XYf3/W6UXtCT0K09JTNTIKrUDl+Jv1oha/i1m653y3pSpDQVL3sXxjejZhadPLuYQm8mImvYJEzS0p3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zoLO2VKz048EC/OL4qJdHfqByj6btyet2Umehb2LgA4=;
 b=CqjpYXvMFfz7o6zRzSEDgznNxQJLIh5BFcpclv7iSPn26iDpgP6lI2ja+VYMrAQeVpl8YluTkjOa21X3qH3X2K1JHT3gE7iiRKyBr0Z3mACiKTIoe6kx4rRAT+KYOoy17XhL1mJrxIPH7FWYcqZEyE7fNkb5XfAmJwfyaZqL/c3iQb3kWJnJ24s9YkErBketCtYq2nZYj+1CPCjDwm56gp+sotlHsOSowXlpEwtS1VKLa2+74E8A1Cy0HkSj1Ii9HxV0tRplJnzoMzIDrHTl74l0QMEc8g32GM9vFG++izP6OXchoW1Tnr9imS5eT0kqJCXCpJiJQ2aY/Kv7K8Wj4Q==
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=zoLO2VKz048EC/OL4qJdHfqByj6btyet2Umehb2LgA4=;
 b=Fr4DQ/3JpVf7aBdOJSf8tiBhVyLqviZEYRrPUO0XYEAsT0gwlrlueKSSoIRuIqKgv0UjLDFFEoFJNd7IgI4X6+AGnkbHpwUa0QmwmQwz3P5E1Jb1Tk4VCmvFLrczMpYmKYEI5WL5nHj75PpaI97h83TUgjU6IcnEyWRBFQuSPk0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Alejandro
 Vallejo <alejandro.vallejo@cloud.com>
Subject: Re: Clang-format configuration discussion - pt 1
Thread-Topic: Clang-format configuration discussion - pt 1
Thread-Index: AQHaEild8psuTSSrb0SmQq+9AXKRR7B4JX+AgABAHYCAABLFAIABeZyA
Date: Tue, 14 Nov 2023 14:59:35 +0000
Message-ID: <31A47242-54F9-42D4-B804-6D0A0392650C@arm.com>
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
 <930d7aa7-7573-97d2-e146-ebe68214c0aa@suse.com>
 <7235E3F4-8387-49D7-A3B6-0EA93CAE408B@arm.com>
 <30a94519-c622-6017-2cbf-35690114d49e@suse.com>
In-Reply-To: <30a94519-c622-6017-2cbf-35690114d49e@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM9PR08MB6724:EE_|AMS0EPF000001AC:EE_|DU5PR08MB10680:EE_
X-MS-Office365-Filtering-Correlation-Id: 3f9cf6b5-09c9-4178-8791-08dbe52256a8
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:
 EfrcNRqWtgZqTBEFgEmYw9uiUx/kzkXRYf7f3/xL/5fbqp4qjByh7aP9okGYn1JrhSj5WZxt9UDn8yWJ3lMwvR2nnH1hp9HR+7PQ4nzR6Fl2ITBxaj1PjacV100njFBM2ygyQG6NCtod6/Szm+Z2+2hwFViXpqUWsb9nw/xha9n2Ze2uNG7bfbIvUtk6ja0PU+/h7ZcUA1vpXP1ZKtKJJb5Hi7SxavuitUpgC8KbuLdMPWrY8+rGPSRSCXhJYECJAqxw06NBoS7LaBarhvcnFQZA7SRV9WwuzsBktN+X+g9Ui2gCDVbKjbCNa9v08F0uc1Vtvcqp74G1wfPG/Uk2QhqiQXfhQMm9fqn6UEGVb4/zlUwMoR1IUuiiR4fRcdX7e52DRFxvIFyZupyZRrHOFQcYURNefPQZnLil/VsnOpTGoQq4mSfDdCOvNozuhWv0Ick07O+t5JHop/+vEaZ2XGrfl8qZ3Va+myduaAh5sKr9vu+DcGlYYK/AaRWMF4MNqzaB3awnz+Y4pq8+IoQidRr7njZBLHm19bvaSNgpcqIXRMvCAteIEnZUFNxRYzC/L6pVKwv4rY/fMBokR7pqnmgefFZIgZTDeoCDaAKX5xh9227bJNAqX/TJxfS/8mMJPpNC1fIJiYOjmihdimNbGA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(366004)(346002)(136003)(39860400002)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(2906002)(478600001)(38100700002)(41300700001)(316002)(86362001)(33656002)(36756003)(76116006)(66446008)(66946007)(66476007)(66556008)(91956017)(6916009)(54906003)(64756008)(2616005)(122000001)(6486002)(5660300002)(7416002)(26005)(53546011)(6512007)(6506007)(71200400001)(8936002)(8676002)(4326008)(83380400001)(38070700009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <6CF7AC9F1B900A4D880D83AA78E5D687@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6724
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:
 AMS0EPF000001AC.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	216ad739-7620-4e3a-2e21-08dbe5225165
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7ehxEpaF7bdqxSCg5BchNOGAo2SsZOpgMwiKdIsVGHLNxk7xdHraS4+WVWH0H5zijWrPhBDVKzU2uo/IRGBIFuBLBBNM6UyHQpChyapWyh0YsoLubqaYLRTlngvlUPFCcjeDBBVk3X9UU8AxrDlsyqdfL3Xt/KaiWYacHpEfovsAePZdL1B8x96UG8k9GPu+nNfFv+303kYwhGMDMYIg82KQoEACrcJfUDSzZKlAdX2QmzKYgozzuiTOEerARsa/xaQijYN+do/s/KMRdgFEXAlpdpbMpl0tA9ov+Vh2osYYcBh03XU8m8Nn5ZRLbAtmFIOd464F63jjctSkk/btzYO9CEDwdDCkgs/JVgtoslRiwRBHucm5beaWk8FED4PhdUgfVyEYq4gr60zX2d1CWDFs0vbQdRqbap35d1QNBYlCQAb5BP9aSV4P8/76KK9E1Bf+7zuBYKIU45FKgrH4VLOhEE6a02leGzzsyQSrJ/BmrhQAKONEDx8eCgqe34uGGwZNp3TFkiGddq2xX72/SZ8cWvVXGlalf3T66cRmuBu6gy0P8j4vSnwioYYNCRhiqhLdubPxyn+RxItim3IQdaEle3hpz3+R1w5Uk1t3/RlKYMxkbWuc8wxox8COG12ZOPqdDRTkr1fWS3bnTB9BIKRZpy4IY0tGAoStl6IbBNHAU+YMTU5YXE+uDG0AOTE/hB+58lD5lP6ob6BLOqiTRnCDP3TNLQAkqQgON61wJVb1UqN3MBP4ICwaFPRCNDZL
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:(13230031)(4636009)(136003)(396003)(39860400002)(376002)(346002)(230922051799003)(451199024)(82310400011)(1800799009)(64100799003)(186009)(46966006)(36840700001)(40470700004)(40460700003)(107886003)(26005)(6506007)(53546011)(2616005)(6512007)(36860700001)(83380400001)(47076005)(5660300002)(4326008)(8676002)(6862004)(8936002)(2906002)(41300700001)(6486002)(478600001)(316002)(70206006)(54906003)(70586007)(336012)(36756003)(86362001)(33656002)(356005)(82740400003)(81166007)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 14:59:44.7809
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3f9cf6b5-09c9-4178-8791-08dbe52256a8
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:
	AMS0EPF000001AC.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10680

DQoNCj4gT24gMTMgTm92IDIwMjMsIGF0IDE2OjI3LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMTMuMTEuMjAyMyAxNjoyMCwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+PiBPbiAxMyBOb3YgMjAyMywgYXQgMTE6MzEsIEphbiBCZXVsaWNoIDxqYmV1bGlj
aEBzdXNlLmNvbT4gd3JvdGU6DQo+Pj4gT24gMDguMTEuMjAyMyAxMDo1MywgTHVjYSBGYW5jZWxs
dSB3cm90ZToNCj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0KPj4+PiANCj4+Pj4gU3RhbmRhcmQ6IEMrKzAzDQo+Pj4+IA0KPj4+PiAtLS0NCj4+Pj4gRnJv
bSB0aGUgZG9jdW1lbnRhdGlvbjogUGFyc2UgYW5kIGZvcm1hdCBDKysgY29uc3RydWN0cyBjb21w
YXRpYmxlIHdpdGggdGhpcyBzdGFuZGFyZC4NCj4+PiANCj4+PiBTaW5jZSBJIGNvbnRpbnVlIHRv
IGJlIHB1enpsZWQgLSBpaXJjIHlvdSBzYWlkIHRoaXMgaXMgYmVjYXVzZSBvZiBsYWNrDQo+Pj4g
b2YgYXZhaWxhYmlsaXR5IG9mICJDOTkiIGFzIGEgdmFsdWUgaGVyZS4gV2hhdCdzIGVudGlyZWx5
IHVuY2xlYXIgdG8NCj4+PiBtZSBpczogSG93IGRvZXMgdGhpcyBtYXR0ZXIgdG8gYSB0b29sIGNo
ZWNraW5nIGNvZGluZyBzdHlsZSAod2hpY2ggaXMNCj4+PiBsYXJnZWx5IGFib3V0IGZvcm1hdHRp
bmcsIG5vdCBhbnkgbGV4aWNhbCBvciBzeW50YWN0aWNhbCBhc3BlY3RzKT8NCj4+PiANCj4+Pj4g
VGhpcyB2YWx1ZSBpcyB1c2VkIGFsc28gaW4gTGludXguDQo+Pj4gDQo+Pj4gQ29uc2lkZXJpbmcg
aG93IGRpZmZlcmVudCB0aGUgdHdvIHN0eWxlcyBhcmUsIEkgZG9uJ3QgdGhpbmsgdGhpcyBpcw0K
Pj4+IG92ZXJseSByZWxldmFudC4NCj4+IA0KPj4gT2ssIG1heWJlIEkgdW5kZXJzdGFuZCB5b3Vy
IHBvaW50LCB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcmVhc29uIHRvIGRlY2xhcmUgdGhpcyBjb25m
aWd1cmFibGUgaW5zdGVhZA0KPj4gb2Ygbm90IHNwZWNpZnlpbmcgaXQgYXQgYWxsPw0KPiANCj4g
Tm90IHJlYWxseSwgbm8uIEhlcmUgSSB3YXMgbWVyZWx5IHNheWluZyB0aGF0IHdpdGggdGhlIHN0
eWxlcyBiZWluZw0KPiBzdWZmaWNpZW50bHkgZGlmZmVyZW50LCB3aGF0IExpbnV4IHVzZXMgaXMg
cHJvYmFibHkgbm90IHZlcnkgc2lnbmlmaWNhbnQNCj4gZm9yIG91ciBvd24gZGVjaXNpb24uDQo+
IA0KPj4gSWYgaXTigJlzIHRoYXQsIGZyb20gd2hhdCBJIHVuZGVyc3RhbmQgY2xhbmctZm9ybWF0
IHdpbGwgdXNlIHRoZSBkZWZhdWx0IHZhbHVlIGlmIHdlIGRvbuKAmXQgc3BlY2lmeSBhbnl0aGlu
Zw0KPj4gZm9yIHRoaXMgb25lLCBzbyBpdCB3aWxsIHRha2Ug4oCYTGF0ZXN04oCZLiBJIHRoaW5r
IHdlIHNob3VsZCBwdXQgYSB2YWx1ZSBmb3IgdGhpcyBvbmUgdG8gZml4IGl0IGFuZCBkb27igJl0
IGhhdmUNCj4+IHN1cnByaXNlcyBpZiB0aGF0IGJlaGF2aW91ciBjaGFuZ2VzIGFuZCBzZWVpbmcg
dGhhdCBhbHNvIGluIExpbnV4IHRoYXQgdmFsdWUgaXMgZml4ZWQgaW5jcmVhc2VkIG15DQo+PiBj
b25maWRlbmNlLg0KPj4gDQo+PiBIb3dldmVyLCBpZiB5b3UgZmVlbCB0aGF0IHdlIHNob3VsZCBu
b3Qgc3BlY2lmeSBpdCwgSeKAmXZlIGRvbmUgYSB0ZXN0IGFuZCBub3Qgc3BlY2lmeWluZyBpdCBp
cyBub3QgY2hhbmdpbmcNCj4+IHRoZSBjdXJyZW50IG91dHB1dC4gSSBjYW7igJl0IHNheSB0aGF0
IGZvciBhIGRpZmZlcmVudCBjbGFuZy1mb3JtYXQgdmVyc2lvbiB0aG91Z2ggb3IgaWYgY2hhbmdl
cyBoYXBwZW4gaW4gdGhlDQo+PiBmdXR1cmUuDQo+IA0KPiBJdCdzIGZpbmUgdG8gc2V0IHZhbHVl
cy4gQWxsIEknbSBzYXlpbmcgaXMgdGhhdCBhdCBsZWFzdCBJIHdvdWxkIHByZWZlcg0KPiBpZiBp
dCB3YXMgYWxzbyBjbGVhciB3aGF0IGV4YWN0IGVmZmVjdCB0aGUgc2V0dGluZyBvZiBhIHZhbHVl
IGhhcywNCj4gZXNwZWNpYWxseSB3aGVuIHRoYXQgZG9lcyBub3QgcmVhbGx5IG1hdGNoIHRoZSBs
YW5ndWFnZSB3ZSB1c2UgaW4gdGhlDQo+IHByb2plY3QuDQoNClllcyBJIGFncmVlLCBJIHRoaW5r
IEFsZWphbmRyb+KAmXMgcmVwbHkgdG8gdGhpcyBjb25maWd1cmFibGUgcmVmbGVjdHMgbXkgdGhv
dWdodHMgYWJvdXQgaXQuDQoNClNvIGlmIHdlIGFsbCBhZ3JlZSB0aGF0IHdlIHNob3VsZCBzZXQg
dGhpcyBwYXJhbWV0ZXIsIGRvIHdlIGFsbCBhZ3JlZSB0aGF0IGl0IHNob3VsZCBiZSB0aGUNCnZh
bHVlIGFib3ZlPw0KDQpEbyB5b3UgaGF2ZSBvdGhlciBjb25jZXJucyByZWdhcmRpbmcgdGhpcyBv
ciB0aGUgb3RoZXIgcGFyYW1ldGVycyBpbiB0aGlzIHRocmVhZD8NCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:00:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:00:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632717.987105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2utp-0000zm-RV; Tue, 14 Nov 2023 15:00:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632717.987105; Tue, 14 Nov 2023 15:00: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 1r2utp-0000zf-Oy; Tue, 14 Nov 2023 15:00:21 +0000
Received: by outflank-mailman (input) for mailman id 632717;
 Tue, 14 Nov 2023 15: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uto-00075e-7o
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:00:20 +0000
Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com
 [209.85.208.44]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 86866893-82fe-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:00:18 +0100 (CET)
Received: by mail-ed1-f44.google.com with SMTP id
 4fb4d7f45d1cf-54394328f65so8782150a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:00:18 -0800 (PST)
Received: from [192.168.69.100] (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 ay18-20020a170906d29200b009ce03057c48sm5685319ejb.214.2023.11.14.07.00.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 07:00:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 86866893-82fe-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699974013; x=1700578813; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=hvwMnVTQaJD67434mMenkNkErgsf9DqTmkoP4qGMiTA=;
        b=nEhnN3ZBjp7nGWdapH25Z2rVEWwYekwml0Iiecwn0FAriKBsXv3/YVbRQiY/sh4VNa
         l/hH4rLie0CSI6DWls9+XMf5WTKXgxA4rAEfhKML+ElFNZkw3LJg/grw510IH1RweiVP
         wrb2kpH88f1+UhSor46WpSjQnftwafe8RCqezA2W9eCkOwdni8TTS2DEl00nkV990PXk
         Q0eaT1QMWx717VEwo1HJ5Y8FnY07WMQ/+PGnlLnPdZ3zm46AX+UuAG9FflmiCv5YzRbl
         mtzdDTScCphdyG36yWkB35tfoM90vD13qA4HSbYeknjFOSsog7Tvq0Z9NNS6jj+RbCfo
         IVjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699974013; x=1700578813;
        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:subject:date:message-id:reply-to;
        bh=hvwMnVTQaJD67434mMenkNkErgsf9DqTmkoP4qGMiTA=;
        b=enqmWVHti+6h22QtXywo2w19VPiATUqJjh1EQx8reZsHqpO+IQ+QQ40rfeRZvOl2b/
         wqXbHsnv/0sl3UMqVMFAvlIeUocQ+oJxkWQ3QyBnRlsAnSmsHBZaV/a+W8pqaUPC54Zs
         bEvY8bfagIzO3FEP7QfNHpOcT61NZc2JbdYFzzob73AxAk9xR2I8Mc/Goouj6s5YsDFA
         wbaZ4GdAHMusTvUQ9AuqZCFCHS8n3YLTFOLyTJTnspjN5GqcUqKc0zMQgkDaqLIW0kfY
         HuxKW7XA6tywMVfQL6FoBpfW2FqJr/seZ27eCHelQ9ltAcBCsEBCueK+HfYrVPuNQB7G
         rIVw==
X-Gm-Message-State: AOJu0YwiC60IKdOiLgqeaprToRsTSYy4pL2O2pk/M61NdnqIxaPVydZP
	TNxizg9iybA+sduKwr7KrfMbBw==
X-Google-Smtp-Source: AGHT+IHf7MXlWtvkPtL4rKaxAjHGg7eiFZd1cU9GCPUEE1OMwcKoAJdSYUPudWARuJ4FPvDMOa6uyA==
X-Received: by 2002:a17:906:7e06:b0:9d3:5d4a:8b6a with SMTP id e6-20020a1709067e0600b009d35d4a8b6amr7254726ejr.42.1699974013091;
        Tue, 14 Nov 2023 07:00:13 -0800 (PST)
Message-ID: <407f32ee-e489-4c05-9c3d-fa6c29bb1d99@linaro.org>
Date: Tue, 14 Nov 2023 16:00:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 v2 01/19] tests/avocado: Add 'guest:xen' tag to
 tests running Xen guest
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, David Woodhouse
 <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Cleber Rosa <crosa@redhat.com>,
 Wainer dos Santos Moschetta <wainersm@redhat.com>,
 Beraldo Leal <bleal@redhat.com>
References: <20231114143816.71079-1-philmd@linaro.org>
 <20231114143816.71079-2-philmd@linaro.org>
 <94D9484A-917D-4970-98DE-35B84BEDA1DC@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <94D9484A-917D-4970-98DE-35B84BEDA1DC@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 14/11/23 15:50, David Woodhouse wrote:
> On 14 November 2023 09:37:57 GMT-05:00, "Philippe Mathieu-Daudé" <philmd@linaro.org> wrote:
>> Add a tag to run all Xen-specific tests using:
>>
>>   $ make check-avocado AVOCADO_TAGS='guest:xen'
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> tests/avocado/boot_xen.py      | 3 +++
>> tests/avocado/kvm_xen_guest.py | 1 +
>> 2 files changed, 4 insertions(+)
> 
> Those two are very different. One runs on Xen, the other on KVM. Do we want to use the same tag for both?

My understanding is,
- boot_xen.py runs Xen on TCG
- kvm_xen_guest.py runs Xen on KVM
so both runs Xen guests.

Alex, is that incorrect?


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:00:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:00:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632718.987115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2utt-0001Lc-48; Tue, 14 Nov 2023 15:00:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632718.987115; Tue, 14 Nov 2023 15: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 1r2utt-0001LV-1R; Tue, 14 Nov 2023 15:00:25 +0000
Received: by outflank-mailman (input) for mailman id 632718;
 Tue, 14 Nov 2023 15:00: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=cJ5/=G3=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r2utr-0000an-Ps
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:00:23 +0000
Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com
 [209.85.128.48]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 893b38e5-82fe-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:00:23 +0100 (CET)
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-4083ac51d8aso46873985e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:00:23 -0800 (PST)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m4-20020a056000024400b0032fb0e2087asm7974927wrz.82.2023.11.14.07.00.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 07:00:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 893b38e5-82fe-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699974018; x=1700578818; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ap+ICSN9RyqjfxdC8R0tfXT0I3xaiCZxlJKUxY8JHNI=;
        b=oegryhsahx3/EebclXiy6Nir0DekZO5KnVOVdW/K+oe20MM+OTXt53DJ4EZ82h6+6d
         X9Ms/IONczTC5AqmQpn1nqoskeCGjv1Iyuj0Ae7ULqpZCtFnoRBw5xzrMDCjuvTSBHLG
         K+uVIeShvBoq4ejTP/BBPe8SX9olfj8W/il4Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699974018; x=1700578818;
        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:subject:date:message-id:reply-to;
        bh=ap+ICSN9RyqjfxdC8R0tfXT0I3xaiCZxlJKUxY8JHNI=;
        b=BvMdGWsa9mm48FL2+f7yRbNdVvOPBlRyO0BAN1fVY8ibLXG6siTyrnh0zZOxOnBIYt
         nC31mz4WMGDkQsRPsP6wl0OjgUj1l2S/t+o21XsZ9NvpMwfzF7QAhyxPzJTrg4mNLx2J
         ZzSm3UXgmx0hySa5/FWJ+Xkxzq6S84vAkeZGFlT1KOpv8dOAx8g34PLY98vX3jLhD3dM
         gljwT2zz/faPOSLx8ehO2QVbpBpc3XOaSoOK5ItfGamsLDofzjmBvnYCyyEz0wi6fiK2
         EpjhDsVicppDZIdisE1vb1/gTQtYq6cypbsnRpCvlPZ0PDWGmVm6aDaEwh20YtwynIiz
         Rm9Q==
X-Gm-Message-State: AOJu0Yz6a1FX/3ceOXVNPo9OxshmqOZHkuZ/xQ3hE1p5TojLLbVv9hTh
	3iwQZ8sf54LgN8ridEXwUIogUQ==
X-Google-Smtp-Source: AGHT+IEXm507ZFWkedeR+sLODM9S9C/0tfgjAolvd0zgUyI+Hd+a5XuJSx4GQiL/geqhf1mMAi/1Fg==
X-Received: by 2002:a5d:4648:0:b0:32d:80e:6893 with SMTP id j8-20020a5d4648000000b0032d080e6893mr6290302wrs.36.1699974018645;
        Tue, 14 Nov 2023 07:00:18 -0800 (PST)
Date: Tue, 14 Nov 2023 15:00:17 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH] automation: set architecture in docker files
Message-ID: <886f6adb-5651-4c69-9d0b-ff68b5a1b094@perard>
References: <20231113155701.52052-1-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2311131608200.160649@ubuntu-linux-20-04-desktop>
 <ZVM3Ujf1nsws3Mxr@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZVM3Ujf1nsws3Mxr@macbook.local>

On Tue, Nov 14, 2023 at 10:01:06AM +0100, Roger Pau Monn wrote:
> On Mon, Nov 13, 2023 at 04:10:24PM -0800, Stefano Stabellini wrote:
> > On Mon, 13 Nov 2023, Roger Pau Monne wrote:
> > > Pass the desired architecture of the image in the FROM instruction if the
> > > image is possibly multi-platform.
> > > 
> > > This allows using the x86 Dockerfiles on OS X on arm64 hardware.
> > > 
> > > No functional change intended.
> > > 
> > > Signed-off-by: Roger Pau Monn <roger.pau@citrix.com>
> > 
> > Although I am not opposed to this change, so far we have been using:
> > arm64v8/alpine:3.18
> > 
> > for x86 it is not specified but it would be:
> > amd64/alpine:3.18
> > 
> > Two options:
> > 1) we add amd64/ everywhere and leave the arm containers alone
> > 2) we change all containers, including the arm containers, to use the
> > --platform option
> > 
> > I don't think is a good idea to have 2 different ways to specify the
> > architecture for x86 and arm containers
> 
> I'm not an expert on this, but attempting to use (2):
> 
> -FROM arm64v8/alpine:3.18
> +FROM --platform=linux/arm64v8 alpine:3.18
> 
> Does not work for me:
> 
> % make -C automation/build alpine/3.18-arm64v8
> docker build --pull -t registry.gitlab.com/xen-project/xen/alpine:3.18-arm64v8 -f alpine/3.18-arm64v8.dockerfile alpine
> [+] Building 1.4s (3/3) FINISHED                                                  docker:desktop-linux
>  => [internal] load .dockerignore                                                                 0.0s
>  => => transferring context: 2B                                                                   0.0s
>  => [internal] load build definition from 3.18-arm64v8.dockerfile                                 0.0s
>  => => transferring dockerfile: 818B                                                              0.0s
>  => ERROR [internal] load metadata for docker.io/library/alpine:3.18                              1.4s
> ------
>  > [internal] load metadata for docker.io/library/alpine:3.18:
> ------
> 3.18-arm64v8.dockerfile:1
> --------------------
>    1 | >>> FROM --platform=linux/arm64v8 alpine:3.18
>    2 |     LABEL maintainer.name="The Xen Project" \
>    3 |           maintainer.email="xen-devel@lists.xenproject.org"
> --------------------
> ERROR: failed to solve: alpine:3.18: no match for platform in manifest sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016293fc851978: not found
> make: *** [alpine/3.18-arm64v8] Error 1
> 
> That's why I've left the prefixed images alone.
> 
> I could prefix the x86 images with amd64/ if that's preferred, I
> didn't try that option, as the Docker manual suggested using
> --platform.

So a few things to know, "--platform=linux/amd64" just select a
different build of one container. For example, for the "alpine"
containers, you can see all the different builds available on the docker
hub, here a few links:
- Official Docker, Alpine images, home:
  https://hub.docker.com/_/alpine
- The different builds: 
  https://hub.docker.com/_/alpine/tags

So, for amd64v8, you probably want --platform=linux/arm64/v8

Then, they are per-architecture repository that make it easier to deal
with foreign architecture, and probably maintained by a different
community. e.g. for alpine arm64v8:
    https://hub.docker.com/r/arm64v8/alpine/

Those provide a build for a single architecture.


Sometime, you actually need to "--platform=*" to select a particular
architecture, like I did for "jessie-i386.dockerfile".


One thing I've notice when using --platform is that, if for example I
use the container "--platform=linux/amd64 alpine:3" then
"--platform=linux/arm/v6 alpine:3"; later when I only specify
"alpine:3", it's going to be the armv6, and I think docker is going to
complain if I try tu use "--platform=linux/amd64 alpine:3" without
"docker pull" first (or I guess docker build --pull).

Hope that help.

So I guess using containers "amd64/*" or "arm64v8/*" is fine, but
sometime will need to use "--platform=*".

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:00:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632720.987126 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uu1-0001rJ-C0; Tue, 14 Nov 2023 15:00:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632720.987126; Tue, 14 Nov 2023 15:00: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 1r2uu1-0001r9-96; Tue, 14 Nov 2023 15:00:33 +0000
Received: by outflank-mailman (input) for mailman id 632720;
 Tue, 14 Nov 2023 15:00: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2uab-0003vI-Ux
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 14:40:29 +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 c1ac0474-82fb-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 15:40:29 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-9d216597f64so867250266b.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 06:40:29 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 t25-20020a1709066bd900b0099c53c4407dsm5561943ejs.78.2023.11.14.06.40.26
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 06:40:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1ac0474-82fb-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699972829; x=1700577629; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=85224ACu16xcahxMJd73na2pr08geUP2BaqK8DQk41g=;
        b=CqFxKExZx2zVxBU4nAvTQG416qy1C7DnCz3i8i8kEqrLzu7cT4cSmCqjObTW7uWiz5
         e13jIqbr3o6yr4uCxkVL9/sEp1s2hM3Tsq+fhyTM+mw5KEEnr5+/OmcEV8VBY+X1R7Gq
         xG3C5+nTBvZ4k/R5EmPvb0cU8FvvSQwZBlLIRqyjuUy3s6DR9oJBHNXpjKKLzHpRQcbM
         1P2aUoksphLNkPw7OF4/teBTk5HcG/rL2z4cnzkRmSsR5E7DY9W8odtjEPyIx/aAfmha
         EEROBZf31Wm0V06rS8Hixal1NrU1XtI5+CHWMGIEqShLK+SzUFpcdIpVuskOGIDAfCee
         EiwA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699972829; x=1700577629;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=85224ACu16xcahxMJd73na2pr08geUP2BaqK8DQk41g=;
        b=dUWjDUFRpYAM9Ynrta3pdMuwJskTFDIoPJvjFaruVlslsfSpMh9t/F2D71RvlUG7y9
         ZoIy7qbGfCXcVX/GBw0mCehePCWqaoojByZ9MIIUTpIl8h9yKYPoZF6ojgmDVasaEbd2
         Flbu/Xac70Baa9KrhDn5zhzLAs9Hb2+iZuSnjdbuGNfa9sGZsUBMoGC2F4O+AOSnUeA2
         U3o5IwGtsVAhph9ByxvK9L9yp/teDR/2nt5Jvfiya7Dl3hj6RbNTqmmWwXzNKJ/Ze+tV
         EMW2CUkNXjVrXMGRqbFsXWuEELcf2R6Du9vKyNvVGXIEaZoYDGR0lYxeSGETUaC0FDlP
         1d3Q==
X-Gm-Message-State: AOJu0YxqfOxHWb2w1Z2nOPIH6HNZp5xKW2iNrDzjR5GKZsr8BKcrU6SD
	qzlO3oIw7wPHXI0N3zfigUn2+w==
X-Google-Smtp-Source: AGHT+IE4fe4f8bleIo+ydEdJnHpXElyEFzfSvfuN7IjKmK4sPC2Xb+6oIBNsyuQ4jtW9IDSYhgY52Q==
X-Received: by 2002:a17:907:969f:b0:9eb:af0e:39da with SMTP id hd31-20020a170907969f00b009ebaf0e39damr3096379ejc.46.1699972828864;
        Tue, 14 Nov 2023 06:40:28 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: David Woodhouse <dwmw@amazon.co.uk>,
	qemu-devel@nongnu.org
Cc: =?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Paul Durrant <paul@xen.org>,
	qemu-arm@nongnu.org,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org,
	Anthony Perard <anthony.perard@citrix.com>,
	kvm@vger.kernel.org,
	Thomas Huth <thuth@redhat.com>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>
Subject: [PATCH-for-9.0 v2 19/19] hw/xen: Have most of Xen files become target-agnostic
Date: Tue, 14 Nov 2023 15:38:15 +0100
Message-ID: <20231114143816.71079-20-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114143816.71079-1-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Previous commits re-organized the target-specific bits
from Xen files. We can now build the common files once
instead of per-target.

Only 4 files call libxen API (thus its CPPFLAGS):
- xen-hvm-common.c,
- xen_pt.c, xen_pt_graphics.c, xen_pt_msi.c

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
Reworked since v1 so dropping David's R-b tag.
---
 accel/xen/meson.build          |  2 +-
 hw/block/dataplane/meson.build |  2 +-
 hw/xen/meson.build             | 21 ++++++++++-----------
 3 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/accel/xen/meson.build b/accel/xen/meson.build
index 002bdb03c6..455ad5d6be 100644
--- a/accel/xen/meson.build
+++ b/accel/xen/meson.build
@@ -1 +1 @@
-specific_ss.add(when: 'CONFIG_XEN', if_true: files('xen-all.c'))
+system_ss.add(when: 'CONFIG_XEN', if_true: files('xen-all.c'))
diff --git a/hw/block/dataplane/meson.build b/hw/block/dataplane/meson.build
index 025b3b061b..4d8bcb0bb9 100644
--- a/hw/block/dataplane/meson.build
+++ b/hw/block/dataplane/meson.build
@@ -1,2 +1,2 @@
 system_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c'))
-specific_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
+system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c'))
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index d887fa9ba4..403cab49cf 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -7,26 +7,25 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
   'xen_pvdev.c',
 ))
 
-system_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
+system_ss.add(when: ['CONFIG_XEN'], if_true: files(
   'xen-operations.c',
-))
-
-xen_specific_ss = ss.source_set()
-xen_specific_ss.add(files(
   'xen-mapcache.c',
+))
+system_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-hvm-common.c',
 ))
+
 if have_xen_pci_passthrough
-  xen_specific_ss.add(files(
+  system_ss.add(when: ['CONFIG_XEN'], if_true: files(
     'xen-host-pci-device.c',
-    'xen_pt.c',
     'xen_pt_config_init.c',
-    'xen_pt_graphics.c',
     'xen_pt_load_rom.c',
+  ))
+  system_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
+    'xen_pt.c',
+    'xen_pt_graphics.c',
     'xen_pt_msi.c',
   ))
 else
-  xen_specific_ss.add(files('xen_pt_stub.c'))
+  system_ss.add(when: ['CONFIG_XEN'], if_true: files('xen_pt_stub.c'))
 endif
-
-specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:01:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:01:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632726.987136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uuW-0002uX-Lm; Tue, 14 Nov 2023 15:01:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632726.987136; Tue, 14 Nov 2023 15: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 1r2uuW-0002uQ-If; Tue, 14 Nov 2023 15:01:04 +0000
Received: by outflank-mailman (input) for mailman id 632726;
 Tue, 14 Nov 2023 15:01: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=krWi=G3=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r2uuV-00075e-3m
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:01:03 +0000
Received: from m35-190.mailgun.net (m35-190.mailgun.net [69.72.35.190])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 9fa617f9-82fe-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:01:01 +0100 (CET)
Received: from mg.gitlab.com (65.90.74.34.bc.googleusercontent.com
 [34.74.90.65]) by
 9691b5986cf9 with SMTP id 65538ba7b912f38e0f65d415 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 14 Nov 2023 15:00:55 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 9fa617f9-82fe-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699974059; x=1699981259; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=LxiJtdO+jHWl6dyupCItHCNQ3OpoBlZbpTaOBUdSy7U=;
 b=nXg+SrmJNuLbGPYvK1nglhgAmdXKCEsUIxagEFsuW10G9SiWZqwfMR2GZwJtXov6RkVolkWLJj8EBaBnk9+WQOI2pGr41kWw8oTcFSoDP/BGarLpQ00paQ2PkM+Pvw7dcPAoqxH+HeDQrLqWUCoLTcji7Ed32GnkrqC5IMdW9kw=
X-Mailgun-Sending-Ip: 69.72.35.190
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 14 Nov 2023 15:00:54 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65538ba6dc058_2c9af3856071@gitlab-sidekiq-catchall-v2-69dcfbdb95-p7s6h.mail>
Subject: xen | Successful pipeline for staging-4.16 | 4dfe9517
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65538ba6d2189_2c9af3855974";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1071943394
X-GitLab-Pipeline-Ref: staging-4.16
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65538ba6d2189_2c9af3855974
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1071943394 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.16 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.16 )

Commit: 4dfe9517 ( https://gitlab.com/xen-project/xen/-/commit/4dfe95177b948d1f3ed27a801f603ed7f1bc36e8 )
Commit Message: x86/spec-ctrl: Remove conditional IRQs-on-ness ...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1071943394 ( https://gitlab.com/xen-project/xen/-/pipelines/1071943394 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 77 jobs in 2 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65538ba6d2189_2c9af3855974
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging-4.16 | 4dfe9517</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1071943394 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.16" style=3D"color: #333333; text-decoration: none;">
staging-4.16
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/4dfe95177b948d1f3e=
d27a801f603ed7f1bc36e8" style=3D"color: #3777b0; text-decoration: none;">=
4dfe9517</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86/spec-ctrl: Remove conditional IRQs-on-ness ...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107194=
3394" style=3D"color: #3777b0; text-decoration: none;">#1071943394</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 77 jobs in 2 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65538ba6d2189_2c9af3855974--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:06:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:06:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632755.987145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2uzq-0004Tl-BZ; Tue, 14 Nov 2023 15:06:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632755.987145; Tue, 14 Nov 2023 15: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 1r2uzq-0004Te-8y; Tue, 14 Nov 2023 15:06:34 +0000
Received: by outflank-mailman (input) for mailman id 632755;
 Tue, 14 Nov 2023 15:06: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=5GB7=G3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2uzp-0004TV-CW
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:06:33 +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 646db630-82ff-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:06:30 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-5098e423ba2so8208474e87.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:06:30 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 h17-20020a5d5051000000b0032d9523de65sm8019661wrt.48.2023.11.14.07.06.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 07:06:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 646db630-82ff-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699974388; x=1700579188; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=loyouxkDicSGwr5WgKmXnBg04CIKruHdycVQw/SC16M=;
        b=hgDbOKKjoBMObTMPHIJet4oO5bjhVJdQq1EnCj0/IFcBFjyG9UbaYSk2QP7zyH1JN5
         ovMjr4r2PvOX4nZJdy3CxbDqGvzQJAsk0e0DSbaXlohwH5D1uluBR8wLdq+yOT5rBN5A
         v2wzFkQlCF8Hj+2W3XBYWzeRNUY9HrfTz1Xfo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699974388; x=1700579188;
        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:subject:date:message-id:reply-to;
        bh=loyouxkDicSGwr5WgKmXnBg04CIKruHdycVQw/SC16M=;
        b=H2kY905EA2m3WWvI1M11jB5IwvQdmCkOl8Gp5NJyZodmE8Tqjdij0bB9ILzewnPxTd
         81rManvi8FF6mAePvVn8u1eYmdijDFemLrMzUmn0NvSVyA8pIRio8ghRcUPO0gQNIkI6
         +9DCNhNJTW4a/4PLMCIPLrt+scWsdsEGFjhp4Lw4Qb/mRGk22Cbn4ScCLsOuCdIYPL8l
         Ly+by9At2yelL/pX+r18D48h2B6omUY7f8Yqg3NWsSC4ysaN7kQiOIfSosWZVUzdGlJg
         Th8LovPVFP+pi4EOFS6rGUlobrFgN31RursPZJWpHXMuOqzRIFt+t2TeyN0T/ghalXm7
         zM4A==
X-Gm-Message-State: AOJu0YybmapNL59jDlCLGV09fsZ8ytSlaZjUC+1DUcxQhxk0CLDjwSgF
	N8ULXaXzCwczQdouFtwY79y5zw==
X-Google-Smtp-Source: AGHT+IEQ5vn/s19I+3R1fAP+LvmTj2ru7gX1RLBVUAWfJnymuoMPrZ3rDGxZvGnAK/vgSxE2x+WvGg==
X-Received: by 2002:a05:6512:3e24:b0:505:73e7:b478 with SMTP id i36-20020a0565123e2400b0050573e7b478mr8992112lfv.16.1699974388381;
        Tue, 14 Nov 2023 07:06:28 -0800 (PST)
Date: Tue, 14 Nov 2023 16:06:27 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Message-ID: <ZVOM8-hcigtGG0-t@macbook.local>
References: <20231113165023.5824-1-alejandro.vallejo@cloud.com>
 <ZVJifMqOR_3zINYZ@macbook.local>
 <5c4a237e-975d-f452-1261-f9fc10ef65c6@suse.com>
 <65536590.050a0220.eb28a.617d@mx.google.com>
 <f278f367-81cb-4a72-9303-23622dea3abd@suse.com>
 <fd99ea62-f011-4bcb-ba83-4698b5d267fd@citrix.com>
 <ZVOAEFoYFDp8lxCd@macbook.local>
 <2a340b44-9d3e-431f-94d6-e77e6145fc6a@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2a340b44-9d3e-431f-94d6-e77e6145fc6a@citrix.com>

On Tue, Nov 14, 2023 at 02:44:09PM +0000, Andrew Cooper wrote:
> On 14/11/2023 2:11 pm, Roger Pau Monné wrote:
> > On Tue, Nov 14, 2023 at 12:55:46PM +0000, Andrew Cooper wrote:
> >> On 14/11/2023 12:32 pm, Jan Beulich wrote:
> >>> On 14.11.2023 13:18, Alejandro Vallejo wrote:
> >>>> On Tue, Nov 14, 2023 at 11:14:22AM +0100, Jan Beulich wrote:
> >>>>> On 13.11.2023 18:53, Roger Pau Monné wrote:
> >>>> I don't think vlapic_match_logical_addr() is affected. The LDR's are still
> >>>> unique in the bogus case so the matching ought to work. Problem would arise
> >>>> if the guest makes assumptions about APIC_ID and LDR relationships.
> >>> The LDRs still being unique (or not) isn't what I'm concerned about. It is
> >>> the function's return value which would be wrong, as the incoming "mda"
> >>> presumably was set in its respective field on the assumption that the LDRs
> >>> are set in a spec-compliant way. There not having been problem reports
> >>> makes me wonder whether any guests actually use logical delivery mode in a
> >>> wider fashion.
> >> They likely don't.
> >>
> >> Logical delivery for xAPIC only works in a tiny fraction of cases
> >> (assuming correct topology information, which we don't give), and
> >> persuading a VM to turn on x2APIC without a vIOMMU is not something
> >> we've managed to do in Xen.
> > We do, in fact the pvshim (or nested Xen) will run in x2APIC mode if
> > available.
> > Linux >= 5.17 will also use x2APIC mode if available when running as a
> > Xen HVM guest:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c8980fcb210851138cb34c9a8cb0cf0c09f07bf9
> 
> Yeah that's never actually been tested with 256 vCPUs.
> 
> A VM *must* have either a vIOMMU, or know (via whatever means) that
> there are no IO-APICs, or (via whatever means) that all IO-APICs can use
> reserved bits for 32k destination APIC ID support.
> 
> As it stands, this is just something which will explode on us in the
> future.  Hopefully the worst that will happen is a panic on boot.

Linux already accounts for this, vCPUs with APIC IDs > 255 won't be
used if there's no IOMMU or extended destination ID support:

https://elixir.bootlin.com/linux/latest/source/arch/x86/kernel/apic/apic.c#L1844

We should see how that goes once we allow APIC IDs > 255 for guests.

That makes me remember I should add an item to get extended
destination ID functional for Xen.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:08:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:08:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632760.987155 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2v1a-00058s-MT; Tue, 14 Nov 2023 15:08:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632760.987155; Tue, 14 Nov 2023 15:08: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 1r2v1a-00058l-Jj; Tue, 14 Nov 2023 15:08:22 +0000
Received: by outflank-mailman (input) for mailman id 632760;
 Tue, 14 Nov 2023 15:08: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2v1Z-00058f-GJ
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:08:21 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5776f36-82ff-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:08:20 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2v1Q-008cvI-6u; Tue, 14 Nov 2023 15:08: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: a5776f36-82ff-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:Sender
	:Reply-To:Content-ID:Content-Description;
	bh=gPlTnLrWpPWWoUPGEpERtBAlyTDR8Uk7y5kKdp/k5WQ=; b=u1gqmmwUiYpHqi0uHXy3+ToCOg
	KHEul+myRl+dxaYk/qNKWcNttIq8/dZePgwrAoIO8+fIFGcpyX/LBLL2RF3dFIzW6YXDETCZ5hfdq
	YZnC8QwR/QP/IvY2HE0U0K/ebiBiubW4IMEq4rDgmwiw4LF9zQ9Px1M/iVxncLveLC5156Q51zRLu
	GjIunmXq7yWhG/pb+jRvc4LqTUV4u3FdRaGslz3bGN3HeiCKr/xGZcicCi1VgEx37L59bWG6O/YPG
	/eR3o3YdWcexfFKmcOp0M3zHSiDW5cr8dZvQU9Ui86+l8t77xJryJcV0HGOzffZh0FI7e30+d1pvR
	v+oQjvuA==;
Date: Tue, 14 Nov 2023 10:08:09 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Cleber Rosa <crosa@redhat.com>,
 Wainer dos Santos Moschetta <wainersm@redhat.com>,
 Beraldo Leal <bleal@redhat.com>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH-for-9=2E0_v2_01/19=5D_tests/avocado=3A_A?= =?US-ASCII?Q?dd_=27guest=3Axen=27_tag_to_tests_running_Xen_guest?=
User-Agent: K-9 Mail for Android
In-Reply-To: <407f32ee-e489-4c05-9c3d-fa6c29bb1d99@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-2-philmd@linaro.org> <94D9484A-917D-4970-98DE-35B84BEDA1DC@infradead.org> <407f32ee-e489-4c05-9c3d-fa6c29bb1d99@linaro.org>
Message-ID: <074BCACF-C8D0-440A-A805-CDB0DB21C416@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 10:00:09 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>On 14/11/23 15:50, David Woodhouse wrote:
>> On 14 November 2023 09:37:57 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <=
philmd@linaro=2Eorg> wrote:
>>> Add a tag to run all Xen-specific tests using:
>>>=20
>>>   $ make check-avocado AVOCADO_TAGS=3D'guest:xen'
>>>=20
>>> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>
>>> ---
>>> tests/avocado/boot_xen=2Epy      | 3 +++
>>> tests/avocado/kvm_xen_guest=2Epy | 1 +
>>> 2 files changed, 4 insertions(+)
>>=20
>> Those two are very different=2E One runs on Xen, the other on KVM=2E Do=
 we want to use the same tag for both?
>
>My understanding is,
>- boot_xen=2Epy runs Xen on TCG
>- kvm_xen_guest=2Epy runs Xen on KVM
>so both runs Xen guests=2E

Does boot_xen=2Epy actually boot *Xen*? And presumably at least one Xen gu=
est *within* Xen?

kvm_xen_guest=2Epy boots a "Xen guest" under KVM directly without any real=
 Xen being present=2E It's *emulating* Xen=2E

They do both run Xen guests (or at least guests which use Xen hypercalls a=
nd *think* they're running under Xen)=2E But is that the important classifi=
cation for lumping them together?



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:13:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:13:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632768.987166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2v6S-0007c0-9g; Tue, 14 Nov 2023 15:13:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632768.987166; Tue, 14 Nov 2023 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 1r2v6S-0007bt-5s; Tue, 14 Nov 2023 15:13:24 +0000
Received: by outflank-mailman (input) for mailman id 632768;
 Tue, 14 Nov 2023 15:13: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2v6R-0007bn-8d
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:13:23 +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 58850bba-8300-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:13:20 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-9d216597f64so873701266b.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:13:20 -0800 (PST)
Received: from [192.168.69.100] (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 fi6-20020a170906da0600b009e6a990a55esm5644531ejb.158.2023.11.14.07.13.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 07:13:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58850bba-8300-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699974798; x=1700579598; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=HIHi0yKkQuExrrqaReTTaHyYp9veWL43i8XQ+amSwZ4=;
        b=RYPAC6Oryvie5mhlJj4FFrctnVnNT1+pUoG+hGnxuDKONqYHEO1jL4YMnZoklSc8VL
         wrH5x4NA3oAkM9oSFDDQr9WcZxR8/EbAeewNcSrTu0RxdiWy7Zl4bO7bFjUYQK1fXPCq
         9bSQwrC0dD5EsYG5/K/AOBT581e3Ql5xvgoIXQsdgoLuewLkpW9Ca+84COppQeR/yODu
         2w7BzCCWHlr3CVDWw2PugfSpIhT5ir9ammVimb6/VB2JnjoI7r8C77RFEWzuiGWocPtB
         CcWheeHUXm77jKqN1cixt3eKBljquoM0IogfdE7NzgjQr/XAyaR13jEde5CgRvVgxFxr
         bpqw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699974798; x=1700579598;
        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:subject:date:message-id:reply-to;
        bh=HIHi0yKkQuExrrqaReTTaHyYp9veWL43i8XQ+amSwZ4=;
        b=pUuNcKc3rthlbNw/VuksX+36C/kMtLUb88Drj4tJJEsqL8oIw4limSwC7C1rO1Z6l/
         RTTVnL3eR+YdcZsFXDQpLU1ie8fCD2vmMljQzQB6Q+4caY8MfgFx0K4CKGwaKnd4sQnp
         dAqoNkItywB/mGQxfoxsXCX0y+ovhsrF7FsmLgBhIchlldPBaYLil8gitthJy89jw8sM
         v38JjTWyFMgFX9KkH/8z9oCPbpFjIYPqx8r/EJ5AEJKCFBRR/GAuKs7/S1SNn71dXKdR
         oD/mlmOnRgfWXHc2zjlsCoNrM6rKkBkXLCMclVovGBF/dnPUVjJY8mO0pn7osz6/ixXU
         GdEQ==
X-Gm-Message-State: AOJu0Yx/TFG2Dc/J12Sks26L6c4dtOu/lmnkrKFEBC4REv2ouRDqvrgh
	I1uMjksDbvdqK9vvtZmYLup1uQ==
X-Google-Smtp-Source: AGHT+IHGFXgwRm95QaGDvzmEn8xmzfuJoAXM9MDWtXppVWdC9PPQJI2AOwqlfdbCPZx6yH7hHs/ywQ==
X-Received: by 2002:a17:906:c01:b0:9e5:d618:d6c1 with SMTP id s1-20020a1709060c0100b009e5d618d6c1mr8703674ejf.19.1699974797997;
        Tue, 14 Nov 2023 07:13:17 -0800 (PST)
Message-ID: <04917b57-d778-41a2-b320-c8c0afbe9ffb@linaro.org>
Date: Tue, 14 Nov 2023 16:13:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 v2 01/19] tests/avocado: Add 'guest:xen' tag to
 tests running Xen guest
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, David Woodhouse
 <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Cleber Rosa <crosa@redhat.com>,
 Wainer dos Santos Moschetta <wainersm@redhat.com>,
 Beraldo Leal <bleal@redhat.com>
References: <20231114143816.71079-1-philmd@linaro.org>
 <20231114143816.71079-2-philmd@linaro.org>
 <94D9484A-917D-4970-98DE-35B84BEDA1DC@infradead.org>
 <407f32ee-e489-4c05-9c3d-fa6c29bb1d99@linaro.org>
 <074BCACF-C8D0-440A-A805-CDB0DB21C416@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <074BCACF-C8D0-440A-A805-CDB0DB21C416@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 14/11/23 16:08, David Woodhouse wrote:
> On 14 November 2023 10:00:09 GMT-05:00, "Philippe Mathieu-Daudé" <philmd@linaro.org> wrote:
>> On 14/11/23 15:50, David Woodhouse wrote:
>>> On 14 November 2023 09:37:57 GMT-05:00, "Philippe Mathieu-Daudé" <philmd@linaro.org> wrote:
>>>> Add a tag to run all Xen-specific tests using:
>>>>
>>>>    $ make check-avocado AVOCADO_TAGS='guest:xen'
>>>>
>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>> ---
>>>> tests/avocado/boot_xen.py      | 3 +++
>>>> tests/avocado/kvm_xen_guest.py | 1 +
>>>> 2 files changed, 4 insertions(+)
>>>
>>> Those two are very different. One runs on Xen, the other on KVM. Do we want to use the same tag for both?
>>
>> My understanding is,
>> - boot_xen.py runs Xen on TCG
>> - kvm_xen_guest.py runs Xen on KVM
>> so both runs Xen guests.
> 
> Does boot_xen.py actually boot *Xen*? And presumably at least one Xen guest *within* Xen?

I'll let Alex confirm, but yes, I expect Xen guest within Xen guest 
within TCG. So the tags "accel:tcg" (already present) and "guest:xen".

> kvm_xen_guest.py boots a "Xen guest" under KVM directly without any real Xen being present. It's *emulating* Xen.

Yes, so the tag "guest:xen" is correct.

> They do both run Xen guests (or at least guests which use Xen hypercalls and *think* they're running under Xen). But is that the important classification for lumping them together?

The idea of AVOCADO_TAGS is to restrict testing to what you want to 
cover. So here this allow running 'anything that can run Xen guest'
in a single command, for example it is handy on my macOS aarch64 host.


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:13:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:13:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632770.987176 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2v6y-0008By-Hv; Tue, 14 Nov 2023 15:13:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632770.987176; Tue, 14 Nov 2023 15: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 1r2v6y-0008Br-EA; Tue, 14 Nov 2023 15:13:56 +0000
Received: by outflank-mailman (input) for mailman id 632770;
 Tue, 14 Nov 2023 15:13: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=gJWh=G3=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r2v6w-0008AQ-I7
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:13:54 +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 6c487ea4-8300-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:13:53 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-507cd62472dso7380661e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:13:53 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 f18-20020a05651232d200b00507987edd22sm1348822lfg.156.2023.11.14.07.13.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 07:13:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c487ea4-8300-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699974832; x=1700579632; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=eni2uQcHzPa3p0BXkZBXBU2/wAC0HDdu58dG92X4l7M=;
        b=Z+wy+1JBsk7MlZpZytGLbrHPQWSsV2MYyUW/RZ642njxYGQaliAoTTP2lsvNYAqWqt
         MYLA6mw2ERwc1wf6Na4n8JnJTSvQB+kvM8zehF7QYr+ji7AAyDNAtAdCDxwbC8H2el/B
         DSuP5QyfI5oY4yeyCQNZBY75O+mPgW3wMTNOd17UDG2s6TFRI9QmklBqxTwhy6EQA3JS
         xMLCusODhqWtmEAJi8OVTLLd9OYk2OMBb2VUuZQR1nXRhRr50hA9WKgg7bvdKZrJxYIu
         NXm8cKEjSW0eW5Kv4g1ZlVR7NOxWWfKc/6Kd5M7ESiLHFg8Ot2pMiqwJmlcd8zFuGgKO
         lWNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699974832; x=1700579632;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=eni2uQcHzPa3p0BXkZBXBU2/wAC0HDdu58dG92X4l7M=;
        b=DGKZFYGwHgV0rcpliKqTtz7xygaJrqin3jRK8B0JY4RQ9O2HMc+gsizJWrt6grIwwZ
         iWfr0RzVGNLDSbrIbIIUMaNFewS5ihTY+SRH2321PgaceIahRnK4g7HF339cP3n0t5v8
         P9ON+x+T1m9iaaiUjSuhpATceUsyOD/6skN/cVSijKYRdu99egTUraOCYc95mkhvKSmX
         RnWMPCAFNYWLZR9scozNcZbK4YgYX8sM65TBfRkTnvTDVvqD3nIOXsa0XvBbOgnfhfOC
         vJKdzok5OzmGsn/mzQ6eSFS6JPijs/HoYdYTPhaprIBJHCdDfq9yuucpH8BJ3l740IJs
         CvLw==
X-Gm-Message-State: AOJu0Yw00rRfwWzT1x16Ail0QTh+FaxeYrNeyT02iblnUTb49KUBkBgN
	MHolKldhIXNKaRP88qf+YDJU92zx8+k=
X-Google-Smtp-Source: AGHT+IEzcpy18UDDhhnN+a+RNf+F0kB/z2W2MF5MLcjpqSpUTxrMDiRTRF7evh7oap6bN8DHUtnA5g==
X-Received: by 2002:a05:6512:3d1b:b0:500:acae:30c5 with SMTP id d27-20020a0565123d1b00b00500acae30c5mr1275757lfv.15.1699974832143;
        Tue, 14 Nov 2023 07:13:52 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3] xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
Date: Tue, 14 Nov 2023 17:13:49 +0200
Message-ID: <371c5dd29fa974ca27db1f720f17fb0ffdd667a0.1699974488.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

ifdefing inclusion of <asm/mem_access.h> in <xen/mem_access.h>
allows to avoid generation of empty <asm/mem_access.h> header
for the case when !CONFIG_MEM_ACCESS.

For Arm it was explicitly added inclusion of <asm/mem_access.h> for p2m.c
and traps.c because they require some functions from <asm/mem_access.h> which
aren't available in case of !CONFIG_MEM_ACCESS.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

---
This patch was part of patch series:
https://lore.kernel.org/xen-devel/cover.1699633310.git.oleksii.kurochko@gmail.com/

The patch series hasn't been reviewed all yet so send this path
separately.
---
 xen/arch/arm/p2m.c           | 6 ++++++
 xen/arch/arm/traps.c         | 6 ++++++
 xen/include/xen/mem_access.h | 2 ++
 3 files changed, 14 insertions(+)

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index de32a2d638..9050c72acf 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -11,6 +11,12 @@
 #include <asm/event.h>
 #include <asm/flushtlb.h>
 #include <asm/guest_walk.h>
+/*
+ * Inclusion of <asm/mem_acces.h> in <xen/mem_access.h> is #ifdef-ed with
+ * CONFIG_MEM_ACCESS so in case of !CONFIG_MEM_ACCESS will cause a compilation
+ * issue "implicit declaration of functions 'p2m_mem_access*'.
+ */
+#include <asm/mem_access.h>
 #include <asm/page.h>
 #include <asm/traps.h>
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index ce89f16404..5e39b26272 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -35,6 +35,12 @@
 #include <asm/cpufeature.h>
 #include <asm/event.h>
 #include <asm/hsr.h>
+/*
+ * Inclusion of <asm/mem_acces.h> in <xen/mem_access.h> is #ifdef-ed with
+ * CONFIG_MEM_ACCESS so in case of !CONFIG_MEM_ACCESS will cause a compilation
+ * issue "implicit declaration of functions 'p2m_mem_access*.
+ */
+#include <asm/mem_access.h>
 #include <asm/mmio.h>
 #include <asm/regs.h>
 #include <asm/smccc.h>
diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
index 4e4811680d..87d93b31f6 100644
--- a/xen/include/xen/mem_access.h
+++ b/xen/include/xen/mem_access.h
@@ -33,7 +33,9 @@
  */
 struct vm_event_st;
 
+#ifdef CONFIG_MEM_ACCESS
 #include <asm/mem_access.h>
+#endif
 
 /*
  * Additional access types, which are used to further restrict
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:14:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:14:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632773.987186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2v7W-0000T0-PV; Tue, 14 Nov 2023 15:14:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632773.987186; Tue, 14 Nov 2023 15: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 1r2v7W-0000St-Mh; Tue, 14 Nov 2023 15:14:30 +0000
Received: by outflank-mailman (input) for mailman id 632773;
 Tue, 14 Nov 2023 15:14: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=KEZK=G3=redhat.com=david@srs-se1.protection.inumbo.net>)
 id 1r2v7V-0008AQ-AB
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:14:29 +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 806bf6c7-8300-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:14:28 +0100 (CET)
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.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-677-1w4RiBWaObGnJbIewu3tcQ-1; Tue, 14 Nov 2023 10:14:25 -0500
Received: by mail-wr1-f69.google.com with SMTP id
 ffacd0b85a97d-32d9b520d15so2482429f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:14:25 -0800 (PST)
Received: from ?IPV6:2003:cb:c73e:8900:2d8:c9f0:f3fb:d4fd?
 (p200300cbc73e890002d8c9f0f3fbd4fd.dip0.t-ipconnect.de.
 [2003:cb:c73e:8900:2d8:c9f0:f3fb:d4fd])
 by smtp.gmail.com with ESMTPSA id
 h15-20020a5d548f000000b0032fbe5b1e45sm8042334wrv.61.2023.11.14.07.14.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 07:14:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 806bf6c7-8300-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1699974867;
	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:autocrypt:autocrypt;
	bh=Zevbj+27sluhLeonkisRMHT3igYPuh7OylaeV79/St4=;
	b=ZjYbG3Jb4RK2mz73Lrhs0R9/lJtKq0rwUiYavSYt1R7fTMHd9RHnACYsopL4Zcr5iCLTFm
	1YxPrU1yYTArafWlrf1zH/2ptJ8xYq3uWBdh5jpYF2Uc2leEa556/Bdey36Zg32+4SK6Q9
	7sqgu7+A0v37B9MzBS7rtgTwaAxz4I4=
X-MC-Unique: 1w4RiBWaObGnJbIewu3tcQ-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699974864; x=1700579664;
        h=content-transfer-encoding:in-reply-to:organization:autocrypt:from
         :references:cc:to:content-language:subject:user-agent:mime-version
         :date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Zevbj+27sluhLeonkisRMHT3igYPuh7OylaeV79/St4=;
        b=gRr5FMWkkrdOqgTOeXa7FokeLYmLL5CRtfMnr8wQgDL2dgu6lM13y6PmYfecOZGhXG
         gf3Gp1B83uG/KMlCzSFFDyQOUC57jIW51Ye+fFrlrXMK1c8JAp4cyo3D6vH6Us99sEHQ
         ua9kut6pZqSpFXEtSLK+S2nlC8C44611JoEJezRHx73hTGHAe+wklEqlm9EaLCjawI/q
         X3ZQlcyCdKaP51zOaDJPzKNVDPC7ZsgVMnrNn0/dWCvINlKh4sr7MXTpELy+aUs4PeDZ
         9iHUXpMcPKrHqHlRf+xiyPWRCytaGoMyigkt/B/EScrafaZLQa+fZDk1kZZ1xsltoSrS
         D1lw==
X-Gm-Message-State: AOJu0Yyxmb7z6jSIUimzXLgJ+IzmvMA/HFNPohxnYOjpdriDI8fC7wcW
	8YnzlWNKGsV23PREbtHHwC33XSbWcknAbDH8C7lzbPK/h+NYTTRfh80On4KbTzwfFeDldOytZ7d
	FxWYU2vJ9XPbATqCCe8Tx7V/va9o=
X-Received: by 2002:a5d:598b:0:b0:32f:77a6:52ea with SMTP id n11-20020a5d598b000000b0032f77a652eamr8145360wri.61.1699974864154;
        Tue, 14 Nov 2023 07:14:24 -0800 (PST)
X-Google-Smtp-Source: AGHT+IHWvp2RmJ//8fsFBdsIYlfatPRTWrCx9ePltVcGnpvlfrdHxaQugSb5f0/fufSXb+7rD+l7ow==
X-Received: by 2002:a5d:598b:0:b0:32f:77a6:52ea with SMTP id n11-20020a5d598b000000b0032f77a652eamr8145338wri.61.1699974863739;
        Tue, 14 Nov 2023 07:14:23 -0800 (PST)
Message-ID: <32e27c37-d208-4575-8807-99b6a91f7321@redhat.com>
Date: Tue, 14 Nov 2023 16:14:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 v2 04/19] system/physmem: Do not include
 'hw/xen/xen.h' but 'sysemu/xen.h'
To: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>, David Woodhouse <dwmw2@infradead.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Peter Xu <peterx@redhat.com>
References: <20231114143816.71079-1-philmd@linaro.org>
 <20231114143816.71079-5-philmd@linaro.org>
From: David Hildenbrand <david@redhat.com>
Autocrypt: addr=david@redhat.com; keydata=
 xsFNBFXLn5EBEAC+zYvAFJxCBY9Tr1xZgcESmxVNI/0ffzE/ZQOiHJl6mGkmA1R7/uUpiCjJ
 dBrn+lhhOYjjNefFQou6478faXE6o2AhmebqT4KiQoUQFV4R7y1KMEKoSyy8hQaK1umALTdL
 QZLQMzNE74ap+GDK0wnacPQFpcG1AE9RMq3aeErY5tujekBS32jfC/7AnH7I0v1v1TbbK3Gp
 XNeiN4QroO+5qaSr0ID2sz5jtBLRb15RMre27E1ImpaIv2Jw8NJgW0k/D1RyKCwaTsgRdwuK
 Kx/Y91XuSBdz0uOyU/S8kM1+ag0wvsGlpBVxRR/xw/E8M7TEwuCZQArqqTCmkG6HGcXFT0V9
 PXFNNgV5jXMQRwU0O/ztJIQqsE5LsUomE//bLwzj9IVsaQpKDqW6TAPjcdBDPLHvriq7kGjt
 WhVhdl0qEYB8lkBEU7V2Yb+SYhmhpDrti9Fq1EsmhiHSkxJcGREoMK/63r9WLZYI3+4W2rAc
 UucZa4OT27U5ZISjNg3Ev0rxU5UH2/pT4wJCfxwocmqaRr6UYmrtZmND89X0KigoFD/XSeVv
 jwBRNjPAubK9/k5NoRrYqztM9W6sJqrH8+UWZ1Idd/DdmogJh0gNC0+N42Za9yBRURfIdKSb
 B3JfpUqcWwE7vUaYrHG1nw54pLUoPG6sAA7Mehl3nd4pZUALHwARAQABzSREYXZpZCBIaWxk
 ZW5icmFuZCA8ZGF2aWRAcmVkaGF0LmNvbT7CwZgEEwEIAEICGwMGCwkIBwMCBhUIAgkKCwQW
 AgMBAh4BAheAAhkBFiEEG9nKrXNcTDpGDfzKTd4Q9wD/g1oFAl8Ox4kFCRKpKXgACgkQTd4Q
 9wD/g1oHcA//a6Tj7SBNjFNM1iNhWUo1lxAja0lpSodSnB2g4FCZ4R61SBR4l/psBL73xktp
 rDHrx4aSpwkRP6Epu6mLvhlfjmkRG4OynJ5HG1gfv7RJJfnUdUM1z5kdS8JBrOhMJS2c/gPf
 wv1TGRq2XdMPnfY2o0CxRqpcLkx4vBODvJGl2mQyJF/gPepdDfcT8/PY9BJ7FL6Hrq1gnAo4
 3Iv9qV0JiT2wmZciNyYQhmA1V6dyTRiQ4YAc31zOo2IM+xisPzeSHgw3ONY/XhYvfZ9r7W1l
 pNQdc2G+o4Di9NPFHQQhDw3YTRR1opJaTlRDzxYxzU6ZnUUBghxt9cwUWTpfCktkMZiPSDGd
 KgQBjnweV2jw9UOTxjb4LXqDjmSNkjDdQUOU69jGMUXgihvo4zhYcMX8F5gWdRtMR7DzW/YE
 BgVcyxNkMIXoY1aYj6npHYiNQesQlqjU6azjbH70/SXKM5tNRplgW8TNprMDuntdvV9wNkFs
 9TyM02V5aWxFfI42+aivc4KEw69SE9KXwC7FSf5wXzuTot97N9Phj/Z3+jx443jo2NR34XgF
 89cct7wJMjOF7bBefo0fPPZQuIma0Zym71cP61OP/i11ahNye6HGKfxGCOcs5wW9kRQEk8P9
 M/k2wt3mt/fCQnuP/mWutNPt95w9wSsUyATLmtNrwccz63XOwU0EVcufkQEQAOfX3n0g0fZz
 Bgm/S2zF/kxQKCEKP8ID+Vz8sy2GpDvveBq4H2Y34XWsT1zLJdvqPI4af4ZSMxuerWjXbVWb
 T6d4odQIG0fKx4F8NccDqbgHeZRNajXeeJ3R7gAzvWvQNLz4piHrO/B4tf8svmRBL0ZB5P5A
 2uhdwLU3NZuK22zpNn4is87BPWF8HhY0L5fafgDMOqnf4guJVJPYNPhUFzXUbPqOKOkL8ojk
 CXxkOFHAbjstSK5Ca3fKquY3rdX3DNo+EL7FvAiw1mUtS+5GeYE+RMnDCsVFm/C7kY8c2d0G
 NWkB9pJM5+mnIoFNxy7YBcldYATVeOHoY4LyaUWNnAvFYWp08dHWfZo9WCiJMuTfgtH9tc75
 7QanMVdPt6fDK8UUXIBLQ2TWr/sQKE9xtFuEmoQGlE1l6bGaDnnMLcYu+Asp3kDT0w4zYGsx
 5r6XQVRH4+5N6eHZiaeYtFOujp5n+pjBaQK7wUUjDilPQ5QMzIuCL4YjVoylWiBNknvQWBXS
 lQCWmavOT9sttGQXdPCC5ynI+1ymZC1ORZKANLnRAb0NH/UCzcsstw2TAkFnMEbo9Zu9w7Kv
 AxBQXWeXhJI9XQssfrf4Gusdqx8nPEpfOqCtbbwJMATbHyqLt7/oz/5deGuwxgb65pWIzufa
 N7eop7uh+6bezi+rugUI+w6DABEBAAHCwXwEGAEIACYCGwwWIQQb2cqtc1xMOkYN/MpN3hD3
 AP+DWgUCXw7HsgUJEqkpoQAKCRBN3hD3AP+DWrrpD/4qS3dyVRxDcDHIlmguXjC1Q5tZTwNB
 boaBTPHSy/Nksu0eY7x6HfQJ3xajVH32Ms6t1trDQmPx2iP5+7iDsb7OKAb5eOS8h+BEBDeq
 3ecsQDv0fFJOA9ag5O3LLNk+3x3q7e0uo06XMaY7UHS341ozXUUI7wC7iKfoUTv03iO9El5f
 XpNMx/YrIMduZ2+nd9Di7o5+KIwlb2mAB9sTNHdMrXesX8eBL6T9b+MZJk+mZuPxKNVfEQMQ
 a5SxUEADIPQTPNvBewdeI80yeOCrN+Zzwy/Mrx9EPeu59Y5vSJOx/z6OUImD/GhX7Xvkt3kq
 Er5KTrJz3++B6SH9pum9PuoE/k+nntJkNMmQpR4MCBaV/J9gIOPGodDKnjdng+mXliF3Ptu6
 3oxc2RCyGzTlxyMwuc2U5Q7KtUNTdDe8T0uE+9b8BLMVQDDfJjqY0VVqSUwImzTDLX9S4g/8
 kC4HRcclk8hpyhY2jKGluZO0awwTIMgVEzmTyBphDg/Gx7dZU1Xf8HFuE+UZ5UDHDTnwgv7E
 th6RC9+WrhDNspZ9fJjKWRbveQgUFCpe1sa77LAw+XFrKmBHXp9ZVIe90RMe2tRL06BGiRZr
 jPrnvUsUUsjRoRNJjKKA/REq+sAnhkNPPZ/NNMjaZ5b8Tovi8C0tmxiCHaQYqj7G2rgnT0kt
 WNyWQQ==
Organization: Red Hat
In-Reply-To: <20231114143816.71079-5-philmd@linaro.org>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Language: en-US
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 14.11.23 15:38, Philippe Mathieu-Daudé wrote:
> physmem.c doesn't use any declaration from "hw/xen/xen.h",
> it only requires "sysemu/xen.h" and "system/xen-mapcache.h".
> 
> Suggested-by: David Woodhouse <dwmw@amazon.co.uk>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---

Reviewed-by: David Hildenbrand <david@redhat.com>

-- 
Cheers,

David / dhildenb



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:14:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:14:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632774.987196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2v7Z-0000jI-7f; Tue, 14 Nov 2023 15:14:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632774.987196; Tue, 14 Nov 2023 15:14: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 1r2v7Z-0000j7-4k; Tue, 14 Nov 2023 15:14:33 +0000
Received: by outflank-mailman (input) for mailman id 632774;
 Tue, 14 Nov 2023 15:14: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2v7W-0008AQ-AQ
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:14:30 +0000
Received: from casper.infradead.org (casper.infradead.org [90.155.50.34])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 815e72df-8300-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:14:29 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2v73-008dEf-2f; Tue, 14 Nov 2023 15:14: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: 815e72df-8300-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:Sender
	:Reply-To:Content-ID:Content-Description;
	bh=zLWRl6fuh+QlAq2JcSTCgSqOD3rW63ZP4Laj6regjn0=; b=CDbCkxBOGqoE0okEs41cvDk5fY
	avC36PbcnvrY2oGlWB+RQPF4liPIPZGR3EmI5Av83WCkoqFq/6JecFkFY7vUWsvo7/8BmYzi44D1g
	Ws5geOrtzOEM5Q+9dgkqYhjuO8CCj0m7FwKXRyGH/otFSxezkrYf7thCJcuan3UovTroWWy1VVTp0
	pnd+C2RYiX9iD91nqIjI4v94iVedb61DZAmiijnR8rGW40PapOik1v9uw6WmF0h27udRo7vUsUI+/
	CdQBeD4lSkTeDsX/DqpzXtj+VzppGTN+wtPUM4BmDuIgnKf9HDMxmYUNaj5vpn46oYHJTmkvPF/K5
	uuDkjPBA==;
Date: Tue, 14 Nov 2023 10:13:58 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH-for-9=2E0_v2_06/19=5D_hw/pci/msi?= =?US-ASCII?Q?=3A_Restrict_xen=5Fis=5Fpirq=5Fmsi=28=29_call_to_Xen?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231114143816.71079-7-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-7-philmd@linaro.org>
Message-ID: <EEC18CA6-88F2-4F18-BDE5-5E9AAE5778A7@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 09:38:02 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>Similarly to the restriction in hw/pci/msix=2Ec (see commit
>e1e4bf2252 "msix: fix msix_vector_masked"), restrict the
>xen_is_pirq_msi() call in msi_is_masked() to Xen=2E
>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>

Hm, we do also support the Xen abomination of snooping on MSI table writes=
 to see if they're targeted at a Xen PIRQ, then actually unmasking the MSI =
from QEMU when the guest binds the corresponding event channel to that PIRQ=
=2E

I think this is going to break in CI as kvm_xen_guest=2Epy does deliberate=
ly exercise that use case, doesn't it?

I deliberately *didn't* switch to testing the Xen PV net device, with a co=
mment that testing MSI and irqchip permutations was far more entertaining=
=2E So I hope it should catch this?



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:16:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632780.987206 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2v8z-0001su-HT; Tue, 14 Nov 2023 15:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632780.987206; Tue, 14 Nov 2023 15:16: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 1r2v8z-0001sn-Eh; Tue, 14 Nov 2023 15:16:01 +0000
Received: by outflank-mailman (input) for mailman id 632780;
 Tue, 14 Nov 2023 15:15: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=H6sB=G3=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r2v8x-0001sO-D2
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:15:59 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe59::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5e7e100-8300-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:15:57 +0100 (CET)
Received: from CH5P223CA0002.NAMP223.PROD.OUTLOOK.COM (2603:10b6:610:1f3::10)
 by DM4PR12MB5962.namprd12.prod.outlook.com (2603:10b6:8:69::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.6977.29; Tue, 14 Nov 2023 15:15:50 +0000
Received: from DS2PEPF00003443.namprd04.prod.outlook.com
 (2603:10b6:610:1f3:cafe::67) by CH5P223CA0002.outlook.office365.com
 (2603:10b6:610:1f3::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Tue, 14 Nov 2023 15:15:50 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS2PEPF00003443.mail.protection.outlook.com (10.167.17.70) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.14 via Frontend Transport; Tue, 14 Nov 2023 15:15:50 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Tue, 14 Nov
 2023 09:15:48 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32
 via Frontend Transport; Tue, 14 Nov 2023 09:15:47 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5e7e100-8300-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VoTHtH2woT/zmxOywLdCgslMKPzQ3lL2rwRj73oevyFWws+cTw+yG7TLiycZ6hf/39BDB5CCWFVs4su8q7oVuHkfv1qAPxfKvFX4CPeeYHYfva3H6ZH0qpS/cfuRNgpjkDDQD5FBKTwtmR6HA8IqL1JCXM33RhzSQywAfBiRVl2gZifoTwc6D882kGLaJnTaxiCeiiojdNephAK3LWdq8NczWrhC8+lhqbyb1yOpOvr/+YPwKdLgOGtfHodK3nM4XKmWJpeTwyEHERHWRkdYU1WwOSnDLrUw9Dv2j/GOn99Aa1zxkGpzUJwG1SUdcAj5GWqTZ9FREtlDy3Ujx7J1Eg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DasBI6LeyKgugWeCwBkYzotJQvEFYR+pBHAsv5kFKHA=;
 b=CkAXbI1VBF4IwKGuRL0mt4CKJj3Ooeboz3CrY20J5Ldre2d3HZ0zucpTeuVwfJE+oboKtiSREOjB7U7HJqxfni0xUGjWLm9u15HuA/RDu1o6Pg8+ldX5IetnmWrao1OuAyQZSDjXYcbxD5vvKnu5gyVnuMeIIuoGOuEjI9Hcu38I9Yi6vWbAdcSSW+LcVsNB/uD4IrWNLt8J1LhpafKN71msw6j03JgpMJ2pvKU8fyTwfIvFLl6Y9VfoDpzhMGEPhI/tpCVlYXQLVQg6fpKGlUhpz3SQgwbmFctRtNf9q9cdBqB6nXvXSlkhH4IUhIxerks3FGaKfjOFMDa6eR7VsQ==
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 (0)
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=DasBI6LeyKgugWeCwBkYzotJQvEFYR+pBHAsv5kFKHA=;
 b=qReXNCnYH2mTsRNNAMbMj2r5I4Kojbvsc3tsuiwFH/fWpBLwvmBNW8XE775eZP+BB3MB940ihLsmJe72aOQe16qxagrxE0JuplwQI0hSLTSwlKDq/YRFHXdyJ4gnxmbwQ/z3b5C5ARIbNoyrdPjsDzKCUB27etQ64DNTEIKHl9U=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, Michal Orzel <michal.orzel@amd.com>
Subject: [ImageBuilder] Add 'bootz' to a list of supported boot commands
Date: Tue, 14 Nov 2023 16:15:35 +0100
Message-ID: <20231114151535.53409-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003443:EE_|DM4PR12MB5962:EE_
X-MS-Office365-Filtering-Correlation-Id: f27ed917-e233-4a89-76de-08dbe5249639
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ULCtQ1dPAxJPgeTiL1FNAKPcT1oE2Ox4/A/firGBilW12FY075ZKjEzeDi3Be7JKv1n9jThf1TYP3QQ7rJFbRTDCKVmV9ajfDzJEOd5eMxq6lFhsvPHMwk/r3qRCvo3oftg63f9dSgHuBniz5YjqjXsKbYwHqvhR0JGbpg0rDIfy0KE0OIraxDxeJXQolH09WWJlyehNYqCnDJv8cKPaLweFfBwGr5T+/bymQCgA9lBiNacvhrbPgMu/1CJMjoJscHA63YkJ5BIAKlzg8jKP3vF3bzovIANuJqA8O3dIxRGf3wNimcHbrICVRMLxI4AD0ATptC3VRV5DR6qLav7DEs804N8jV3qC7SEFza1XoKv8Hwfai0sHQ7P/kGuxWbyvWOXNbXUP0eBtbdPpohBflTrb14lLFgt++XATPa+SDNUjxQ+2hGJnvOKbG8THbcdKdMxkzupzQ+B0lFvYOCc/ImMe2sI2rFnSxj2Y0zcD5IZixD5p1M4/VWJxhObym7f7frJrGJOBL0doTy+Bb4+RM/qJ0yY1VLQT4HG+dT4iNroepGvNJ0ZNPC9Kk0cUkKMcS/yyHukPDwSiJ4F/RdXPJGNGstzA37rIbwr7QDhcMghbhSZ4fh007pXgXCjWh4UImtJaG/d7IV/Txhhnt2VvYxw9t44qNsZmbNTdWAv/yHhaRIfXkmJAc7STri1whWKwW9Y6sFEXz9bPxqgEE40cGw==
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:(13230031)(4636009)(230922051799003)(451199024)(186009)(1800799009)(82310400011)(46966006)(36840700001)(54906003)(70206006)(70586007)(6916009)(86362001)(356005)(81166007)(36756003)(83380400001)(426003)(336012)(26005)(6666004)(1076003)(2616005)(36860700001)(2906002)(508600001)(316002)(8676002)(4326008)(47076005)(8936002)(5660300002)(44832011)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 15:15:50.2488
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f27ed917-e233-4a89-76de-08dbe5249639
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:
	DS2PEPF00003443.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5962

At the moment, in order to boot 32-bit images, we need to set BOOT_CMD
to 'bootm' which results in adding a u-boot header on top of an image.
Add 'bootz' to a list of supported boot commands, so that we can skip
this extra step. In most cases, specifying 'bootm' should only be needed
for images without Linux kernel Image/zImage header. Otherwise, we can
use 'booti'/'bootz'.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 README.md                | 4 ++--
 scripts/uboot-script-gen | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
index fe5d2052cc69..3b4b16f1f7e4 100644
--- a/README.md
+++ b/README.md
@@ -80,8 +80,8 @@ Where:
   though.
 
 - BOOT_CMD specifies the u-boot command used to boot the binaries.
-  By default, it is 'booti'. The acceptable values are 'booti', 'bootm'
-  and 'bootefi' and 'none'. If the value is 'none', the BOOT_CMD is not
+  By default, it is 'booti'. The acceptable values are 'booti', 'bootm',
+  'bootz' and 'bootefi' and 'none'. If the value is 'none', the BOOT_CMD is not
   added to the boot script, and the addresses for the Xen binary and the
   DTB are stored in 'host_kernel_addr' and 'host_fdt_addr' u-boot
   env variables respectively, to be used manually when booting.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index 6e52da5e2aca..9e3d86e4743a 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -1041,7 +1041,7 @@ function check_depends()
 
 function check_boot_cmd()
 {
-    if ! [[ " bootm booti bootefi none " =~ " ${BOOT_CMD}" ]]
+    if ! [[ " bootm booti bootz bootefi none " =~ " ${BOOT_CMD}" ]]
     then
         echo "\"BOOT_CMD=$BOOT_CMD\" is not valid"
         exit 1
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:16:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:16:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632781.987216 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2v94-0002Ar-PJ; Tue, 14 Nov 2023 15:16:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632781.987216; Tue, 14 Nov 2023 15: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 1r2v94-0002Ak-MW; Tue, 14 Nov 2023 15:16:06 +0000
Received: by outflank-mailman (input) for mailman id 632781;
 Tue, 14 Nov 2023 15:16: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=gJWh=G3=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r2v93-0001sO-Q2
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:16:05 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bacd9d73-8300-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:16:05 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-507973f3b65so8162169e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:16:05 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a7-20020a056512020700b005079d34f330sm1342970lfo.282.2023.11.14.07.16.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 07:16:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bacd9d73-8300-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699974964; x=1700579764; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Ktp5yOM9PEIg+T7oEz4OKeZ/CwStGNVTT5+LiWqecM4=;
        b=isWfa6QD6PSRcGEZqf9mQmYzSS74VbC7FaihFZVl0RPvi/CfUG+oyOjMd48cHv/1aT
         PLTc9Rw1tCG+v6JfIzCh0Nbfc/eyLQiJwgVgCtO7nqcHAwjvo9T5LbJwXXMNg6vTEQBL
         yQlc+37t/hnpLeqpqopMp3vIpjgoyHMjKsjRRPL9M77VAAy5skLEHLo/bCLvSqcDyk8B
         dTF7UIyAcIzYQ3xkvoE8Y1bvWBNwDD/Fo+cICaG3JYN3EcP3wiRwtSSwFQW/vchrUBv4
         tKXbHRgwIVNJ4TfHlDvWwwMSyUgHoX39lxETKCJQDZBWhwt9rP9HMZCKxRtOlMIvYKsl
         5wJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699974965; x=1700579765;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Ktp5yOM9PEIg+T7oEz4OKeZ/CwStGNVTT5+LiWqecM4=;
        b=s0GZGrALwP0cVTKQ5EhEuQF+wITsR9Z/FQTiJdkmNRJo8E+XQOHzJxDrSov39sVLLo
         8I+UR3skJsjaQVSyjUQdIEGJOgfi5WqDKKAXOB3cu5ySZmxzxPXZelL9FWloWcgp2Mt0
         3yxyUsqlcYyi3NNTvTLwvrOh1qRTh+r03vkE07oBDVzO8pgeczHURMJJIUJZTafHyboB
         IBtwNJMQsc20bcOQ8Lbs4SvMpihlSGlOXqoK8P7DTx9t50xvBX9XKfMOfUGaE7srS9qG
         3seOOPCW5SxfNFacHQ418tg9VzzkyQ5hBh1CpcwW2v9PFG98FCHdvtLEqasBGNP7PCFX
         Dk5Q==
X-Gm-Message-State: AOJu0YylEXSc3BRkOiEusWpD0sT0v7hCqQ6qieux53B36bA4GyJyTD6i
	Jhnz2GC9vzZjPc2APHP2LeyH+OiAiIY=
X-Google-Smtp-Source: AGHT+IEygYANju+gZ93rCVXrkgy30AYx2IbaCtR8hswwr4Yb+9WO4NXMlXCmd761sDkgTYBKNdp4hQ==
X-Received: by 2002:ac2:57cf:0:b0:4fe:347d:7c4b with SMTP id k15-20020ac257cf000000b004fe347d7c4bmr6442969lfo.7.1699974964434;
        Tue, 14 Nov 2023 07:16:04 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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 v3] xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
Date: Tue, 14 Nov 2023 17:16:01 +0200
Message-ID: <feee97db556b5b38adb11877c4a37f1d0a09fc92.1699974909.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Ifdef-ing inclusion of <asm/grant_table.h> allows to avoid
generation of empty <asm/grant_table.h> for cases when
CONFIG_GRANT_TABLE is not enabled.

The following changes were done for Arm:
<asm/grant_table.h> should be included directly because it contains
gnttab_dom0_frames() macros which is unique for Arm and is used in
arch/arm/domain_build.c.
<asm/grant_table.h> is #ifdef-ed with CONFIG_GRANT_TABLE in
<xen/grant_table.h> so in case of !CONFIG_GRANT_TABLE gnttab_dom0_frames
won't be available for use in arch/arm/domain_build.c.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
This patch was part of patch series:
https://lore.kernel.org/xen-devel/cover.1699633310.git.oleksii.kurochko@gmail.com/

The patch series hasn't been reviewed all yet so send this path
separately.
---
 xen/arch/arm/domain_build.c   | 10 ++++++++++
 xen/include/xen/grant_table.h |  3 +++
 2 files changed, 13 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 49792dd590..54620199d2 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -33,6 +33,16 @@
 
 #include <xen/irq.h>
 #include <xen/grant_table.h>
+/*
+ * <asm/grant_table.h> should be included directly because it contains
+ * gnttab_dom0_frames() macros which is unique for Arm and is used in
+ * this file.
+ *
+ * <asm/grant_table.h> is #ifdef-ed with CONFIG_GRANT_TABLE in
+ * <xen/grant_table.h> so in case of !CONFIG_GRANT_TABLE gnttab_dom0_frames
+ * won't be available for use in this file.
+ */
+#include <asm/grant_table.h>
 #include <xen/serial.h>
 
 #define STATIC_EVTCHN_NODE_SIZE_CELLS 2
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index 85fe6b7b5e..50edfecfb6 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -26,7 +26,10 @@
 #include <xen/mm-frame.h>
 #include <xen/rwlock.h>
 #include <public/grant_table.h>
+
+#ifdef CONFIG_GRANT_TABLE
 #include <asm/grant_table.h>
+#endif
 
 struct grant_table;
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:20:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:20:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632796.987226 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vCu-00052t-Av; Tue, 14 Nov 2023 15:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632796.987226; Tue, 14 Nov 2023 15: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 1r2vCu-00052N-65; Tue, 14 Nov 2023 15:20:04 +0000
Received: by outflank-mailman (input) for mailman id 632796;
 Tue, 14 Nov 2023 15: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2vCt-0004pW-Fa
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:20:03 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 483965f6-8301-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:20:02 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2vCn-008fhY-Fa; Tue, 14 Nov 2023 15:19: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: 483965f6-8301-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:Sender
	:Reply-To:Content-ID:Content-Description;
	bh=8oHKIB2Z25t55M8rg997hmml2qBzYjJja9p3MLoID9Q=; b=MGoU06Rd2CU4tijjS4zit7AS2o
	EK5W2DNxSaap5vdRgr4lcPo4zGcIOq4atxzna3eoqsGisnNIWyNGw93pjsrw6oaP0WFFFgVLYBQZz
	ClKfV7KrSJ1t1EoRo2xxMOh1jnYJshbl0jbHkjAa9cxj5rwxiL2k2+h7xbdzuUF4pLtlgUmOSkME0
	Uq+kwwckEVCRyY9c0wqtGkbt3pl09tWIQNEMt3G1DMKTQtlMxIhdejhXq5Fe0Y7D6jA34FrWF434P
	xU+RMJD/6Br8s11hd/K1O0XHW4bEY9r2voia+3nEj2IVrY/SvDOKzxr05FZJRtBMRX8gdRMisqfgH
	oej8JDZQ==;
Date: Tue, 14 Nov 2023 10:19:51 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Cleber Rosa <crosa@redhat.com>,
 Wainer dos Santos Moschetta <wainersm@redhat.com>,
 Beraldo Leal <bleal@redhat.com>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH-for-9=2E0_v2_01/19=5D_tests/avocado=3A_A?= =?US-ASCII?Q?dd_=27guest=3Axen=27_tag_to_tests_running_Xen_guest?=
User-Agent: K-9 Mail for Android
In-Reply-To: <04917b57-d778-41a2-b320-c8c0afbe9ffb@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-2-philmd@linaro.org> <94D9484A-917D-4970-98DE-35B84BEDA1DC@infradead.org> <407f32ee-e489-4c05-9c3d-fa6c29bb1d99@linaro.org> <074BCACF-C8D0-440A-A805-CDB0DB21C416@infradead.org> <04917b57-d778-41a2-b320-c8c0afbe9ffb@linaro.org>
Message-ID: <37D11113-662D-49FD-B1F1-757217EAFEEA@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 10:13:14 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>On 14/11/23 16:08, David Woodhouse wrote:
>> On 14 November 2023 10:00:09 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <=
philmd@linaro=2Eorg> wrote:
>>> On 14/11/23 15:50, David Woodhouse wrote:
>>>> On 14 November 2023 09:37:57 GMT-05:00, "Philippe Mathieu-Daud=C3=A9"=
 <philmd@linaro=2Eorg> wrote:
>>>>> Add a tag to run all Xen-specific tests using:
>>>>>=20
>>>>>    $ make check-avocado AVOCADO_TAGS=3D'guest:xen'
>>>>>=20
>>>>> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>
>>>>> ---
>>>>> tests/avocado/boot_xen=2Epy      | 3 +++
>>>>> tests/avocado/kvm_xen_guest=2Epy | 1 +
>>>>> 2 files changed, 4 insertions(+)
>>>>=20
>>>> Those two are very different=2E One runs on Xen, the other on KVM=2E =
Do we want to use the same tag for both?
>>>=20
>>> My understanding is,
>>> - boot_xen=2Epy runs Xen on TCG
>>> - kvm_xen_guest=2Epy runs Xen on KVM
>>> so both runs Xen guests=2E
>>=20
>> Does boot_xen=2Epy actually boot *Xen*? And presumably at least one Xen=
 guest *within* Xen?
>
>I'll let Alex confirm, but yes, I expect Xen guest within Xen guest withi=
n TCG=2E So the tags "accel:tcg" (already present) and "guest:xen"=2E
>
>> kvm_xen_guest=2Epy boots a "Xen guest" under KVM directly without any r=
eal Xen being present=2E It's *emulating* Xen=2E
>
>Yes, so the tag "guest:xen" is correct=2E
>
>> They do both run Xen guests (or at least guests which use Xen hypercall=
s and *think* they're running under Xen)=2E But is that the important class=
ification for lumping them together?
>
>The idea of AVOCADO_TAGS is to restrict testing to what you want to cover=
=2E So here this allow running 'anything that can run Xen guest'
>in a single command, for example it is handy on my macOS aarch64 host=2E

Ok, that makes sense then=2E Thanks for your patience=2E

Reviewed-by: David Woodhouse <dwmw@amazon=2Eco=2Euk>



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:22:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632801.987236 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vFG-0007Sq-LF; Tue, 14 Nov 2023 15:22:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632801.987236; Tue, 14 Nov 2023 15: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 1r2vFG-0007Sj-Ig; Tue, 14 Nov 2023 15:22:30 +0000
Received: by outflank-mailman (input) for mailman id 632801;
 Tue, 14 Nov 2023 15:22: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2vFF-0007RU-B5
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:22:29 +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 9e914fe9-8301-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:22:27 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-53dd752685fso8810444a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:22:27 -0800 (PST)
Received: from [192.168.69.100] (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 ov3-20020a170906fc0300b00977cad140a8sm5694156ejb.218.2023.11.14.07.22.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 07:22:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e914fe9-8301-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699975347; x=1700580147; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=MUHR/sFEjdzbvDET4onhF+bWIy1sGTTug2OAYdlSeSM=;
        b=ZxWobRl0AhMShrNCY3TA+bG7o93EHBoQ7UehS9is81GDS7Tc+/pteJq0i4X3FAyGWo
         ieJg92ZZ6fseVJOnOicpuxeMGqMBI8qVxCl1mTnBTfyKG1qJEwNxQ6QGyfji4tw/4mDR
         diyxmjQdBQ8VVamYYKtsleht4IBSuIEBpcirbeI2DbRPSsnwdb1I8TDLyLVz2tGwVBQ+
         DaE+fuGKtjVoj7cqV2zJnnYxiMEU+wpszBSn7qZhpQqftMkq4BsT+hVCuT4vfIaGLg76
         MhfbYAHj8oY/5YRXNWWAS1K52CDCVE5luYR+kSXwo7u6i1INxf3VWi1KUUDaNrZ4dSzU
         SFTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699975347; x=1700580147;
        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:subject:date:message-id:reply-to;
        bh=MUHR/sFEjdzbvDET4onhF+bWIy1sGTTug2OAYdlSeSM=;
        b=GurmBqnF0PjmpStfQd+e9hp4wZFMk3JANS3VjQDOcfUr6abhxIJOeBtW7ChPlzJeYC
         /OOmnNS21cEKPi7XV7LSEb5Q9cZs+M9WgaGTJbNmauWnzoC2cmVvp6Kux1WX6GKZuen1
         YyWKvG9kuOTWzmRD9ScLiZjtKgykYqdo6eu4N9PUtvE5PRBGdIs7aHqw676yZrIgPebk
         Nv4zOIPdbXLi1oC2WtvZaPkKZ/N4pfr5H2HVhvniJUsT8g7a2LpTFQmLTXWm/gMTCJDU
         vv8AyYTbfYsMGAltUo03oTkZn1Wu/RDM6m4yBm/wSvKGNoK/3+TXJ+Ao4scyy4NM/nuT
         SdcA==
X-Gm-Message-State: AOJu0Yzqcg+Kg0noI9FO4YqQsJx29Svl11ahbFVqumTEnjjCuhsz3hgu
	9c27w/NoQUrrQT+dFd2gps1E6Q==
X-Google-Smtp-Source: AGHT+IF5d1ESnNl3DW6y2+imScFbz4lvkI6XZHXfhsQrAJwxX/tlICwDYWPVmK4nZgJvWNEuauG4+g==
X-Received: by 2002:a17:906:3615:b0:9be:834a:f80b with SMTP id q21-20020a170906361500b009be834af80bmr7614130ejb.75.1699975346999;
        Tue, 14 Nov 2023 07:22:26 -0800 (PST)
Message-ID: <7fd25b34-6fd9-4f7c-90b4-e44338b2b09e@linaro.org>
Date: Tue, 14 Nov 2023 16:22:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 v2 06/19] hw/pci/msi: Restrict xen_is_pirq_msi()
 call to Xen
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, David Woodhouse
 <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
References: <20231114143816.71079-1-philmd@linaro.org>
 <20231114143816.71079-7-philmd@linaro.org>
 <EEC18CA6-88F2-4F18-BDE5-5E9AAE5778A7@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <EEC18CA6-88F2-4F18-BDE5-5E9AAE5778A7@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 14/11/23 16:13, David Woodhouse wrote:
> On 14 November 2023 09:38:02 GMT-05:00, "Philippe Mathieu-Daudé" <philmd@linaro.org> wrote:
>> Similarly to the restriction in hw/pci/msix.c (see commit
>> e1e4bf2252 "msix: fix msix_vector_masked"), restrict the
>> xen_is_pirq_msi() call in msi_is_masked() to Xen.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> 
> Hm, we do also support the Xen abomination of snooping on MSI table writes to see if they're targeted at a Xen PIRQ, then actually unmasking the MSI from QEMU when the guest binds the corresponding event channel to that PIRQ.
> 
> I think this is going to break in CI as kvm_xen_guest.py does deliberately exercise that use case, doesn't it?

Hmmm I see what you mean.

So you mentioned these checks:

- host Xen accel
- Xen accel emulated to guest via KVM host accel

Maybe we need here:

- guest expected to run Xen

   Being (
                 Xen accel emulated to guest via KVM host accel
	OR
                 host Xen accel
         )

If so, possibly few places incorrectly check 'xen_enabled()'
instead of this 'xen_guest()'.

"Xen on KVM" is a tricky case...

> I deliberately *didn't* switch to testing the Xen PV net device, with a comment that testing MSI and irqchip permutations was far more entertaining. So I hope it should catch this?

¯\_(ツ)_/¯


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:23:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:23:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632805.987246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vGC-0000Wx-3k; Tue, 14 Nov 2023 15:23:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632805.987246; Tue, 14 Nov 2023 15:23: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 1r2vGC-0000Wq-0p; Tue, 14 Nov 2023 15:23:28 +0000
Received: by outflank-mailman (input) for mailman id 632805;
 Tue, 14 Nov 2023 15:23: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=gJWh=G3=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r2vGA-0000UC-Fh
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:23:26 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1510174-8301-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:23:25 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-50a6ff9881fso6958882e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:23:25 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 s5-20020a2e2c05000000b002bba2da7955sm1352810ljs.132.2023.11.14.07.23.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 07:23:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1510174-8301-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1699975405; x=1700580205; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ivyYxDTDCVPuxxeXvNJZg50PeDSf7EnDd5tadZCRoM4=;
        b=jW/Zo4yw3UQ02ODs7fV6R5CfnDmMmIdY33kyLl0JjSVIxsYvmykNL//esyL4p87rtZ
         HeJUoijUmSn5AHEeaHy5PHBI41uU7fyDo+HKJlyUWj8YasYEDr12b9NSdx25PTnc4k37
         4RCMgCsjbKAl6cEjV+UFRnEtru5aL4bWRztYkryXYFiCFDpJ7dYhk+/KxoQGl31w0f50
         FgkGCOM+Eu2C2GTeBFTyu87IKRHOk1JDJcp7c96kGXUu3y/UOBVJ4sg7ClrAewcD5/v8
         iOo35PQPIoedxza4MSKmtXsF6ae/hKGb/HpQLlifU0oQbEWeXWwO4ld2wTBZVMkKBy+F
         tR/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699975405; x=1700580205;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ivyYxDTDCVPuxxeXvNJZg50PeDSf7EnDd5tadZCRoM4=;
        b=tY822h8POupvXVSmeeXX6iVwacw6dxztNpHoI3FeV/aKk71EhLwi6h1ubLxo3Uo44+
         ZUy2yYnJ5fCRV4p/cPwednRX3L0b24uSL6al88nvHu/724XAAoGhI8TvkUrtznrqw1QL
         3ya/mDb0CmTx+EBWNew76nE5p+tDLNNhIXx3JxrFXBX+NcmvnzGI4lSR0nLy0G5gxLlq
         VOKRBVhN6pEchuwIbudg5GPS//EDmdaHSCuovSYl8kdB4Yb5lK+G4y5izOaRuwg0ZgvH
         F87uBuO27KPsjiselWkqN9p9h0aKQySIuknzyoTDBrb/qVPbWpMODU2qwL8362vUxIBM
         9u/g==
X-Gm-Message-State: AOJu0YzcvYKCSm/VKnXgnjnhP5AWI8M/LI5c6qb4GPHF7y5CczwHmZEW
	Q4hKr64lhfLbEY7KyicVxuQ=
X-Google-Smtp-Source: AGHT+IHbE4EMlozQ+9VLzSg5qJEwmhtP1l4lcsKai+th1LRUAPQO5vGqM6iR4wWYZPiS2CrmtSp7nw==
X-Received: by 2002:a2e:9e11:0:b0:2c6:ece6:5b65 with SMTP id e17-20020a2e9e11000000b002c6ece65b65mr1827412ljk.10.1699975405124;
        Tue, 14 Nov 2023 07:23:25 -0800 (PST)
Message-ID: <18afc0cf230cd248c194d7f839e70fd06b70d7f2.camel@gmail.com>
Subject: Re: [PATCH v2 02/15] xen/asm-generic: introduce generic device.h
From: Oleksii <oleksii.kurochko@gmail.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
Date: Tue, 14 Nov 2023 17:23:24 +0200
In-Reply-To: <6a51f216-7dda-ed6d-b85e-f332cdba22a3@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <f006e36726ecfefe5dad3c13401365c4f7276ccd.1699633310.git.oleksii.kurochko@gmail.com>
	 <6a51f216-7dda-ed6d-b85e-f332cdba22a3@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Mon, 2023-11-13 at 17:43 +0100, Jan Beulich wrote:
> On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/include/asm-generic/device.h
> > @@ -0,0 +1,140 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +#ifndef __ASM_GENERIC_DEVICE_H__
> > +#define __ASM_GENERIC_DEVICE_H__
> > +
> > +enum device_type
> > +{
> > +=C2=A0=C2=A0=C2=A0 DEV_DT,
> > +#ifdef HAS_PCI
> > +=C2=A0=C2=A0=C2=A0 DEV_PCI,
> > +#endif
> > +};
> > +
> > +struct dev_archdata {
> > +=C2=A0=C2=A0=C2=A0 void *iommu;=C2=A0=C2=A0=C2=A0 /* IOMMU private dat=
a */
> > +};
> > +
> > +/* struct device - The basic device structure */
> > +struct device
> > +{
> > +=C2=A0=C2=A0=C2=A0 enum device_type type;
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +=C2=A0=C2=A0=C2=A0 struct dt_device_node *of_node; /* Used by drivers =
imported
> > from Linux */
> > +#endif
>=20
> There's just this instance where HAS_DEVICE_TREE is checked. Why not
> elsewhere?
> Imo, if you really want this header in asm-generic/, then it wants to
> be truly
> generic (i.e. not implying DT just like you're not implying PCI or
> ACPI).
Mostly copied this file from Arm and only that one part was #ifdef-ed
with HAS_DEVICE_TREE.
But it makes sense to #ifdef DEV_DT, inclusion of <xen/device_tree.h>
and definiotn of dev_is_dt() macros.

I'll made the changes in next version of patch series.

Thanks for comments.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:23:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:23:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632806.987256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vGI-0000p7-Be; Tue, 14 Nov 2023 15:23:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632806.987256; Tue, 14 Nov 2023 15:23: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 1r2vGI-0000p0-7c; Tue, 14 Nov 2023 15:23:34 +0000
Received: by outflank-mailman (input) for mailman id 632806;
 Tue, 14 Nov 2023 15:23: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=vqel=G3=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r2vGG-0000oB-OA
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:23:32 +0000
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com
 [2a00:1450:4864:20::233])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c458bedc-8301-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:23:30 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2c83ffcdbe3so34754711fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:23:30 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 8-20020a05600c22c800b0040303a9965asm17365332wmg.40.2023.11.14.07.23.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 07:23:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c458bedc-8301-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1699975410; x=1700580210; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=BgH2tbSj8sbMNRKA4UI9KZ0X7Pr5mYyMKji28bWbBlI=;
        b=SWMjfbiDu5GjjOhSctl7eWMbiqMsvLj1EeJ9ENh0dVZ3xJ0fl7OZUF9SUQxK2qKBeY
         ELrZWaJDUx8NUT2vqKWUYeLOjd5srBRsj1tG2Ng6yb1g7G1aCugfVk3fHgh2GvmNeS+v
         UQaTWoek44aIMlsRf8PBjcpNOmLhHUvdzIFio=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699975410; x=1700580210;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=BgH2tbSj8sbMNRKA4UI9KZ0X7Pr5mYyMKji28bWbBlI=;
        b=exSy/kQ9bGMEn2AlyfyyeIy9Ag0P5e8TLd9XitcSkzhQyt9qa4RxKu6a61CF5JpEl9
         62WXpszb5JTT9kYIRvWFBaJBmCbMne8ik95kTSrmxEcoc47GgxdQs/x91AUT5ZzOn2bw
         F58oXgYN1DWpK1XXp0ykKylcT21foaGjCNMCUaQlEV49EHbm+sH055EZmqxVo32g5djQ
         MmKUGhxydcAS7ryzGywKq4jKNZ0PViN/qxL43XxYxXgfWwvHEwPZE8GDz+zLWVxLF++I
         V70K0zISS9LqbD931Dtc2GuqkZpjnTh7Ki6/bsrK0LITvuFqP5RFlkMIHpca1GIgfC/1
         /jig==
X-Gm-Message-State: AOJu0YzMip2RA2r5mz/B9dEEqOoZ/QS8cAHtHjcFDLU+tF1+arm+JP+S
	sX5Zv+dwAersnUO5V7TDV965kQ==
X-Google-Smtp-Source: AGHT+IFIPuthyGIXGprgIblLGsjrV9Oj4CsViDKksbNIuPSo0B77C1Y8UN1Jl1Um1WZpxN3fDBkm6w==
X-Received: by 2002:a2e:b74b:0:b0:2c5:12ae:adb3 with SMTP id k11-20020a2eb74b000000b002c512aeadb3mr1845576ljo.44.1699975410372;
        Tue, 14 Nov 2023 07:23:30 -0800 (PST)
Message-ID: <655390f2.050a0220.ff9eb.207c@mx.google.com>
X-Google-Original-Message-ID: <ZVOQ8H1JJNFADK42@EMEAENGAAD19049.>
Date: Tue, 14 Nov 2023 15:23:28 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Clang-format configuration discussion - pt 1
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
 <930d7aa7-7573-97d2-e146-ebe68214c0aa@suse.com>
 <7235E3F4-8387-49D7-A3B6-0EA93CAE408B@arm.com>
 <30a94519-c622-6017-2cbf-35690114d49e@suse.com>
 <31A47242-54F9-42D4-B804-6D0A0392650C@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <31A47242-54F9-42D4-B804-6D0A0392650C@arm.com>

Hi,

On Tue, Nov 14, 2023 at 02:59:35PM +0000, Luca Fancellu wrote:
> 
> 
> > On 13 Nov 2023, at 16:27, Jan Beulich <jbeulich@suse.com> wrote:
> > 
> > On 13.11.2023 16:20, Luca Fancellu wrote:
> >>> On 13 Nov 2023, at 11:31, Jan Beulich <jbeulich@suse.com> wrote:
> >>> On 08.11.2023 10:53, Luca Fancellu wrote:
> >>> --------------------------------------------------------------------------------------------------------------------------------------------------------------
> >>>> 
> >>>> Standard: C++03
> >>>> 
> >>>> ---
> >>>> From the documentation: Parse and format C++ constructs compatible with this standard.
> >>> 
> >>> Since I continue to be puzzled - iirc you said this is because of lack
> >>> of availability of "C99" as a value here. What's entirely unclear to
> >>> me is: How does this matter to a tool checking coding style (which is
> >>> largely about formatting, not any lexical or syntactical aspects)?
> >>> 
> >>>> This value is used also in Linux.
> >>> 
> >>> Considering how different the two styles are, I don't think this is
> >>> overly relevant.
> >> 
> >> Ok, maybe I understand your point, you are looking for a reason to declare this configurable instead
> >> of not specifying it at all?
> > 
> > Not really, no. Here I was merely saying that with the styles being
> > sufficiently different, what Linux uses is probably not very significant
> > for our own decision.
> > 
> >> If it’s that, from what I understand clang-format will use the default value if we don’t specify anything
> >> for this one, so it will take ‘Latest’. I think we should put a value for this one to fix it and don’t have
> >> surprises if that behaviour changes and seeing that also in Linux that value is fixed increased my
> >> confidence.
> >> 
> >> However, if you feel that we should not specify it, I’ve done a test and not specifying it is not changing
> >> the current output. I can’t say that for a different clang-format version though or if changes happen in the
> >> future.
> > 
> > It's fine to set values. All I'm saying is that at least I would prefer
> > if it was also clear what exact effect the setting of a value has,
> > especially when that does not really match the language we use in the
> > project.
On C, allegedly, none. It ought to control defaults for things like
SpaceBeforeCpp11BracedList, SpacesInAngles and other C++-specific things,
because the C++ language sticks syntactical extensions every other Tuesday.
Alas, whatever it does (there's no full list). I'd feel a lot more
comfortable knowing it won't change under our feet.

For reference, clang-format's docs state as an example:

```
c++03:                                 latest:
vector<set<int> > x;           vs.     vector<set<int>> x;
```

> 
> Yes I agree, I think Alejandro’s reply to this configurable reflects my thoughts about it.
> 
> So if we all agree that we should set this parameter, do we all agree that it should be the
> value above?
> 
> Do you have other concerns regarding this or the other parameters in this thread?
> 
> 

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:28:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:28:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632817.987266 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vKn-0005c7-S1; Tue, 14 Nov 2023 15:28:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632817.987266; Tue, 14 Nov 2023 15: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 1r2vKn-0005c0-OZ; Tue, 14 Nov 2023 15:28:13 +0000
Received: by outflank-mailman (input) for mailman id 632817;
 Tue, 14 Nov 2023 15:28: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2vKm-0005ae-S9
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:28:12 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a8eef00-8302-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:28:09 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2vKf-008iHm-67; Tue, 14 Nov 2023 15: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>
X-Inumbo-ID: 6a8eef00-8302-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:Content-Type:
	MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:Sender
	:Reply-To:Content-ID:Content-Description;
	bh=N6lsIAvT/LEG0QMHScLeB5rAujKwbWfIcynqEX/JTgg=; b=Q8wLxLTE99gkmHRWLTsrO2SdeW
	XfdKzTjDRskRz4FgWweoVthPGWW6En3PnTPFiWPPGI0GLEqYKFCbaeUhWCc7eqRld+EkmItyFum/u
	f8mR/LaDGf97Vypg8dR70A9njyk0ujfA7GZDBcceSMpPvIfPG8ySvMi5k6XkPRB+nhXIzXfrUJtqt
	0clzgOwbYlqSSo1XvNoqUO0a+GmML4/eWxE/IEVjTty/Z4Wj8qtR55DQRxJj44VukxbGuuQxa91Un
	cEKKoaJzdph/iZGXdVUaBR1VS+02QOG0uU75aMm/LiOK4lkOlIuQpg//W3mDTgD24Mh/X3NI0TbGv
	wu90QKlA==;
Date: Tue, 14 Nov 2023 10:27:59 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH-for-9=2E0_v2_07/19=5D_hw/xen=3A_Rem?= =?US-ASCII?Q?ove_unnecessary_xen=5Fhvm=5Finject=5Fmsi=28=29_stub?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231114143816.71079-8-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-8-philmd@linaro.org>
Message-ID: <017E3F40-47A2-4F1D-98B6-18863ABB0FD6@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 09:38:03 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>Since commit 04b0de0ee8 ("xen: factor out common functions")
>xen_hvm_inject_msi() stub is not required=2E
>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>

Reviewed-by: David Woodhouse <dwmw@amazon=2Eco=2Euk>




From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:31:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:31:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632823.987275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vNh-000255-9E; Tue, 14 Nov 2023 15:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632823.987275; Tue, 14 Nov 2023 15: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 1r2vNh-00024y-5b; Tue, 14 Nov 2023 15:31:13 +0000
Received: by outflank-mailman (input) for mailman id 632823;
 Tue, 14 Nov 2023 15: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=1wlO=G3=desiato.srs.infradead.org=BATV+c0bb53cb81094deeb936+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2vNf-00023Y-Dr
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:31:11 +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 d4d40384-8302-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:31:08 +0100 (CET)
Received: from [31.94.7.206] (helo=[127.0.0.1])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r2vNT-002WtI-0X; Tue, 14 Nov 2023 15:30: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: d4d40384-8302-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=kI8asQVhOaGuY/UltcD2EIrkJh3iOIJyA9g6wBOXluk=; b=R37YxD+21q3rf7xOFOp0slG+f9
	+xj/jKvNgv2ak6vgeuM+oEd2TkBIrpwWMJy0gnQcercjtVz0+mTVGvTGDNWhjq4sdt8mS8vT2l7kc
	cCVXqCeU4NDM74DxDlIgJqP/GLCUxRQSTOl+PT+Z35apucO6sEy7bPEf49aVglTMc2pLE3I+kOydB
	J4App7NzjOK0V0Snxpc2LLxYHcNIJDg0zhJ6Coc8TLNESIe2d73wUUsvlMLbUNqirlTy35l/Zljmx
	PjXYgavZnBmkovcuK4k/jZK6a20DhrEPQC04p8avEnhGf2OC45ZjGUXflE0pqgHzZwBJEKOjwrhXB
	zZOQGefw==;
Date: Tue, 14 Nov 2023 10:30:48 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>
Subject: =?US-ASCII?Q?Re=3A_=5BRFC_PATCH-for-9=2E0_v2_?= =?US-ASCII?Q?09/19=5D_hw/block/xen=5Fblkif=3A?= =?US-ASCII?Q?_Align_structs_with_QEMU=5FA?= =?US-ASCII?Q?LIGNED=28=29_instead_of_=23pragma?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231114143816.71079-10-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-10-philmd@linaro.org>
Message-ID: <292FEC54-80CC-4C17-8027-F1CB3609FDF5@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 09:38:05 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>Except imported source files, QEMU code base uses
>the QEMU_ALIGNED() macro to align its structures=2E
>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>

Can we have a BUILD_BUG_ON(sizeof=3D=3D) for these please?




From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:37:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:37:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632828.987285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vTE-00043c-TP; Tue, 14 Nov 2023 15:36:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632828.987285; Tue, 14 Nov 2023 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 1r2vTE-00043V-Qu; Tue, 14 Nov 2023 15:36:56 +0000
Received: by outflank-mailman (input) for mailman id 632828;
 Tue, 14 Nov 2023 15:36: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=ZdVB=G3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r2vTD-00043K-JJ
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:36:55 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3362987-8303-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:36:54 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id F13134EE0738;
 Tue, 14 Nov 2023 16:36:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3362987-8303-11ee-98db-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 0/2] use the documentation for MISRA C:2012 Dir 4.1
Date: Tue, 14 Nov 2023 16:36:46 +0100
Message-Id: <cover.1699975581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series addresses some concerns raised on patches 2 and 3 from [1].
Note that patch 1 from that series has already been applied.

Patch 1 comprises a modified version of patches 2 and 3 of the previous series.
Patch 2 is brand new, as it merely clarifies how to write such documentation.

[1] https://lore.kernel.org/xen-devel/cover.1696231870.git.nicola.vetrini@bugseng.com/

Nicola Vetrini (2):
  automation/eclair: make the docs for MISRA C:2012 Dir 4.1 visible to
    ECLAIR
  docs/misra: add guidance on the format of  Dir 4.1 docs for ECLAIR

 automation/eclair_analysis/build.sh   | 21 +++++++++++++++++++--
 automation/eclair_analysis/prepare.sh |  7 ++++---
 docs/misra/C-runtime-failures.rst     |  8 ++++++++
 3 files changed, 31 insertions(+), 5 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:37:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:37:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632829.987296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vTG-0004K5-43; Tue, 14 Nov 2023 15:36:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632829.987296; Tue, 14 Nov 2023 15:36: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 1r2vTG-0004Jw-1R; Tue, 14 Nov 2023 15:36:58 +0000
Received: by outflank-mailman (input) for mailman id 632829;
 Tue, 14 Nov 2023 15:36: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=ZdVB=G3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r2vTE-00043K-JZ
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:36:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a44558c8-8303-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:36:56 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 398D44EE0744;
 Tue, 14 Nov 2023 16:36:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a44558c8-8303-11ee-98db-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA C:2012 Dir 4.1 visible to ECLAIR
Date: Tue, 14 Nov 2023 16:36:47 +0100
Message-Id: <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1699975581.git.nicola.vetrini@bugseng.com>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

To be able to check for the existence of the necessary subsections in
the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
file that is built.

This file is generated from 'C-runtime-failures.rst' in docs/misra
and the configuration is updated accordingly.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes from RFC:
- Dropped unused/useless code
- Revised the sed command
- Revised the clean target

Changes in v2:
- Added explanative comment to the makefile
- printf instead of echo

Changes in v3:
- Terminate the generated file with a newline
- Build it with -std=c99, so that the documentation
  for D1.1 applies.
Changes in v5:
- Transform and build the file directly in the eclair-specific directory
---
 automation/eclair_analysis/build.sh   | 21 +++++++++++++++++++--
 automation/eclair_analysis/prepare.sh |  7 ++++---
 2 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/automation/eclair_analysis/build.sh b/automation/eclair_analysis/build.sh
index ec087dd822fa..f24292ed0643 100755
--- a/automation/eclair_analysis/build.sh
+++ b/automation/eclair_analysis/build.sh
@@ -33,12 +33,29 @@ else
   PROCESSORS=6
 fi
 
+runtime_failures_docs() {
+  doc="C-runtime-failures.rst"
+  builddir="automation/eclair_analysis"
+  
+  cp "docs/misra/${doc}" "${builddir}"
+  cd "${builddir}"
+  printf "/*\n\n" >"${doc}.tmp"
+  sed -e 's|\*/|*//*|g' "${doc}" >>"${doc}.tmp"
+  printf "\n\n*/\n" >>"${doc}.tmp"
+  mv "${doc}.tmp" "${doc}.c"
+  
+  # Cannot redirect to /dev/null because it would be excluded from the analysis
+  "${CROSS_COMPILE}gcc-12" -std=c99 -c "${doc}.c" -o "${doc}.o"
+  cd -
+}
+
 (
-  cd xen
+  runtime_failures_docs
 
   make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
        "CROSS_COMPILE=${CROSS_COMPILE}"         \
        "CC=${CROSS_COMPILE}gcc-12"              \
        "CXX=${CROSS_COMPILE}g++-12"             \
-       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"
+       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"     \
+       -C xen
 )
diff --git a/automation/eclair_analysis/prepare.sh b/automation/eclair_analysis/prepare.sh
index 0cac5eba00ae..fe9d16e48ecc 100755
--- a/automation/eclair_analysis/prepare.sh
+++ b/automation/eclair_analysis/prepare.sh
@@ -35,11 +35,12 @@ else
 fi
 
 (
-    cd xen
-    cp "${CONFIG_FILE}" .config
+    ./configure
+    cp "${CONFIG_FILE}" xen/.config
     make clean
     find . -type f -name "*.safparse" -print -delete
-    make -f ${script_dir}/Makefile.prepare prepare
+    cd xen
+    make -f "${script_dir}/Makefile.prepare" prepare
     # Translate the /* SAF-n-safe */ comments into ECLAIR CBTs
     scripts/xen-analysis.py --run-eclair --no-build --no-clean
 )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:37:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:37:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632830.987306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vTJ-0004cb-CI; Tue, 14 Nov 2023 15:37:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632830.987306; Tue, 14 Nov 2023 15:37: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 1r2vTJ-0004cR-8K; Tue, 14 Nov 2023 15:37:01 +0000
Received: by outflank-mailman (input) for mailman id 632830;
 Tue, 14 Nov 2023 15:37: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=ZdVB=G3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r2vTH-0004Ze-VR
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:36:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a55fa335-8303-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:36:58 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 13EC64EE0747;
 Tue, 14 Nov 2023 16:36:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a55fa335-8303-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v4 2/2] docs/misra: add guidance on the format of Dir 4.1 docs for ECLAIR
Date: Tue, 14 Nov 2023 16:36:48 +0100
Message-Id: <c2ca76c67bfeaf1fab106af4bda6d6107e722208.1699975581.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1699975581.git.nicola.vetrini@bugseng.com>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Additional guidance on the formatting of the document for ECLAIR
is supplied.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 docs/misra/C-runtime-failures.rst | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/docs/misra/C-runtime-failures.rst b/docs/misra/C-runtime-failures.rst
index 1052b2afca13..cac51d6b2596 100644
--- a/docs/misra/C-runtime-failures.rst
+++ b/docs/misra/C-runtime-failures.rst
@@ -12,6 +12,14 @@ built-in checks that are present in the language.
 The presence of such documentation is requested by MISRA C:2012 Directive 4.1,
 whose headline states: "Run-time failures shall be minimized".
 
+The ECLAIR checker for MISRA C:2012 Directive 4.1 requires the documentation
+to be supplied using the following format:
+
+``Documentation for MISRA C:2012 Dir 4.1: <category> <description>``
+
+The matched categories are the ones listed below (e.g., ``overflow`` and
+``unexpected wrapping``). The content of the description is not checked and can
+span multiple lines.
 
 Documentation for MISRA C:2012 Dir 4.1: overflow
 ________________________________________________
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:43:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:43:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632841.987316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vZ5-0008Hx-5S; Tue, 14 Nov 2023 15:42:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632841.987316; Tue, 14 Nov 2023 15:42: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 1r2vZ5-0008Hq-2v; Tue, 14 Nov 2023 15:42:59 +0000
Received: by outflank-mailman (input) for mailman id 632841;
 Tue, 14 Nov 2023 15:42: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2vZ3-0008Hi-Sg
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:42:57 +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 7b47fef6-8304-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:42:56 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-9e623356e59so638287766b.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 07:42:56 -0800 (PST)
Received: from [192.168.69.100] (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 dx5-20020a170906a84500b0099bd1a78ef5sm5691278ejb.74.2023.11.14.07.42.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 07:42:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b47fef6-8304-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699976576; x=1700581376; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=gCFoXhGCZFhwzHOt1ECCBxHdb8kGrjYPklFidAhJw58=;
        b=msG0dhSbk/XigAvPPwjGDCxzZjHFUK0QPSn4jbuJs2cUCP8Fv2elRUbZf+yICjFK7Z
         XlRPEbT8RkYwW/1ynuqfLozzbVZf70kUA46EeVakOM7m7heK2k324emOdToUffQz29Hd
         zdjir8Rz8tc/g74CS3cxMOuJd6fqWLQ/OOLyR0DuM+JzL+AfQ5M2n7oQgfu/yFZTd+ga
         Y5k24deSTw8B84YZ5IO5JW/8NoBYTQ+5fldl3Dp8uiiN+adLvk24OcEo328YoYVOOLBd
         KbEuk3/Xg7s7pfKATX7i7cscms2AKUAHe5PSFGg5aCeHfH5Rj43cU5JRHK7cslz31pl6
         q4ZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699976576; x=1700581376;
        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:subject:date:message-id:reply-to;
        bh=gCFoXhGCZFhwzHOt1ECCBxHdb8kGrjYPklFidAhJw58=;
        b=UeDZubchj1In1X9DRY1WoA58GnWK+tfDt1/ebXFJArEr0U+6e/Jlyw6zZk/8VfeHCK
         Rhx6XZnnej9w/RUE0tH+WQdO83E9xb8eBZ82jknNhMaXA+t9BR679grdMg9oxpdYciSI
         lXmE/B0NfjuuQ32ZKnMzUX/7MVAAOMBscez+qeavHsnOO5WMaQae1MtEwBD5z7kse8R9
         5oaDxjYa/9NszZNNEAjm6IYzxDqcozQTK+Ot+GV2/lteLCagXfbDIYj5E596LwB/wS+v
         ObrkNrVUlIECCFD9hBeWKAKYYjPMcnoHl5JPRODn1UMRPupKtoYCDn+ZhAvTwarRZJvM
         kIGg==
X-Gm-Message-State: AOJu0YwYzokgMMhKLGsy5okEca2aainMB6xtW+PyKjpzvVuofUJOoLzo
	KF1CSDXgqxknblwLhZl6t9nGtA==
X-Google-Smtp-Source: AGHT+IHp79TSN3T1f0iR/8hTGuWsFNTOnvRmliGhAL1mNCFX7w4yOvOUPmAnOLIhILS3nzzmhv8aFA==
X-Received: by 2002:a17:906:1919:b0:9e4:121c:b9fd with SMTP id a25-20020a170906191900b009e4121cb9fdmr7690326eje.12.1699976576191;
        Tue, 14 Nov 2023 07:42:56 -0800 (PST)
Message-ID: <e298292d-fc40-44ca-9de2-1b159519836b@linaro.org>
Date: Tue, 14 Nov 2023 16:42:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH-for-9.0 v2 01/19] tests/avocado: Add 'guest:xen' tag to
 tests running Xen guest
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>, David Woodhouse
 <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
Cc: =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Cleber Rosa <crosa@redhat.com>,
 Wainer dos Santos Moschetta <wainersm@redhat.com>,
 Beraldo Leal <bleal@redhat.com>
References: <20231114143816.71079-1-philmd@linaro.org>
 <20231114143816.71079-2-philmd@linaro.org>
 <94D9484A-917D-4970-98DE-35B84BEDA1DC@infradead.org>
 <407f32ee-e489-4c05-9c3d-fa6c29bb1d99@linaro.org>
 <074BCACF-C8D0-440A-A805-CDB0DB21C416@infradead.org>
 <04917b57-d778-41a2-b320-c8c0afbe9ffb@linaro.org>
 <37D11113-662D-49FD-B1F1-757217EAFEEA@infradead.org>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <37D11113-662D-49FD-B1F1-757217EAFEEA@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 14/11/23 16:19, David Woodhouse wrote:
> On 14 November 2023 10:13:14 GMT-05:00, "Philippe Mathieu-Daudé" <philmd@linaro.org> wrote:
>> On 14/11/23 16:08, David Woodhouse wrote:
>>> On 14 November 2023 10:00:09 GMT-05:00, "Philippe Mathieu-Daudé" <philmd@linaro.org> wrote:
>>>> On 14/11/23 15:50, David Woodhouse wrote:
>>>>> On 14 November 2023 09:37:57 GMT-05:00, "Philippe Mathieu-Daudé" <philmd@linaro.org> wrote:
>>>>>> Add a tag to run all Xen-specific tests using:
>>>>>>
>>>>>>     $ make check-avocado AVOCADO_TAGS='guest:xen'
>>>>>>
>>>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>>>> ---
>>>>>> tests/avocado/boot_xen.py      | 3 +++
>>>>>> tests/avocado/kvm_xen_guest.py | 1 +
>>>>>> 2 files changed, 4 insertions(+)
>>>>>
>>>>> Those two are very different. One runs on Xen, the other on KVM. Do we want to use the same tag for both?
>>>>
>>>> My understanding is,
>>>> - boot_xen.py runs Xen on TCG
>>>> - kvm_xen_guest.py runs Xen on KVM
>>>> so both runs Xen guests.
>>>
>>> Does boot_xen.py actually boot *Xen*? And presumably at least one Xen guest *within* Xen?
>>
>> I'll let Alex confirm, but yes, I expect Xen guest within Xen guest within TCG. So the tags "accel:tcg" (already present) and "guest:xen".
>>
>>> kvm_xen_guest.py boots a "Xen guest" under KVM directly without any real Xen being present. It's *emulating* Xen.
>>
>> Yes, so the tag "guest:xen" is correct.
>>
>>> They do both run Xen guests (or at least guests which use Xen hypercalls and *think* they're running under Xen). But is that the important classification for lumping them together?
>>
>> The idea of AVOCADO_TAGS is to restrict testing to what you want to cover. So here this allow running 'anything that can run Xen guest'
>> in a single command, for example it is handy on my macOS aarch64 host.
> 
> Ok, that makes sense then. Thanks for your patience.

No problem, I'll add a better description in v3.

> Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>

Thanks!



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:44:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:44:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632843.987326 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vap-0000k2-HQ; Tue, 14 Nov 2023 15:44:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632843.987326; Tue, 14 Nov 2023 15:44: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 1r2vap-0000jv-Eg; Tue, 14 Nov 2023 15:44:47 +0000
Received: by outflank-mailman (input) for mailman id 632843;
 Tue, 14 Nov 2023 15:44: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=1wlO=G3=desiato.srs.infradead.org=BATV+c0bb53cb81094deeb936+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2vao-0000ib-Ca
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:44:46 +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 bc132e8d-8304-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 16:44:45 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r2vag-002XCO-0y; Tue, 14 Nov 2023 15: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>
X-Inumbo-ID: bc132e8d-8304-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=bYqSajk3DW7Yh+DFyVrS+kyF4H8z8qvad3x82sz2aaI=; b=YqW3uEi2vQw3DjRK/dfzLFXO0i
	ol0JQCjTOY9WyrZiohnqK3oywKuX7QRJMv9c/r0/H1GhU4soKQE4pX546b0pOJe41eqPvQyMdlS9D
	JjZnUsoEflQBaPcSmVeZUNC6gFb/F/AHvBgGbG45q8dq2bY/HuxOsYSn1gkamlBDPKj5PLzkQCqDV
	uuRw94+TJstDMEwSJOdHSAZ/eg0fNDrCCSNDKnSVzYqIP5ATArH/AmuIAmdAFZxiZ3DzSlvU2j59z
	28GUp13EJ0Phexm3TkBaux2CJfoeKPQLkCZ3AuIEn5VUs5Vc0vPfWlCWlKWTyF5ofP/H+o4pxyRJK
	eLup9QTQ==;
Date: Tue, 14 Nov 2023 10:44:30 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH-for-9=2E0_v2_06/19=5D_hw/pci/msi?= =?US-ASCII?Q?=3A_Restrict_xen=5Fis=5Fpirq=5Fmsi=28=29_call_to_Xen?=
User-Agent: K-9 Mail for Android
In-Reply-To: <7fd25b34-6fd9-4f7c-90b4-e44338b2b09e@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-7-philmd@linaro.org> <EEC18CA6-88F2-4F18-BDE5-5E9AAE5778A7@infradead.org> <7fd25b34-6fd9-4f7c-90b4-e44338b2b09e@linaro.org>
Message-ID: <87CD61D3-D862-45C6-9DBC-2765D747EA58@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 10:22:23 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>On 14/11/23 16:13, David Woodhouse wrote:
>> On 14 November 2023 09:38:02 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <=
philmd@linaro=2Eorg> wrote:
>>> Similarly to the restriction in hw/pci/msix=2Ec (see commit
>>> e1e4bf2252 "msix: fix msix_vector_masked"), restrict the
>>> xen_is_pirq_msi() call in msi_is_masked() to Xen=2E
>>>=20
>>> Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>
>>=20
>> Hm, we do also support the Xen abomination of snooping on MSI table wri=
tes to see if they're targeted at a Xen PIRQ, then actually unmasking the M=
SI from QEMU when the guest binds the corresponding event channel to that P=
IRQ=2E
>>=20
>> I think this is going to break in CI as kvm_xen_guest=2Epy does deliber=
ately exercise that use case, doesn't it?
>
>Hmmm I see what you mean=2E
>
>So you mentioned these checks:
>
>- host Xen accel
>- Xen accel emulated to guest via KVM host accel
>
>Maybe we need here:
>
>- guest expected to run Xen
>
>  Being (
>                Xen accel emulated to guest via KVM host accel
>	OR
>                host Xen accel
>        )
>
>If so, possibly few places incorrectly check 'xen_enabled()'
>instead of this 'xen_guest()'=2E

I think xen_is_pirq_msi() had that test built in, didn't it? Adding a 'xen=
_enabled() &&' prefix was technically redundant?=20

What's the actual problem we're trying to solve here? That we had two sepa=
rate implementations of xen_is_pirq_msi() (three if you count an empty stub=
?) which are resolved at link time and prevent you from running Xen-accel a=
nd KVM-accel VMs within the same QEMU process?

>"Xen on KVM" is a tricky case=2E=2E=2E
>
>> I deliberately *didn't* switch to testing the Xen PV net device, with a=
 comment that testing MSI and irqchip permutations was far more entertainin=
g=2E So I hope it should catch this?
>
>=C2=AF\_(=E3=83=84)_/=C2=AF

I believe that if you push your branch to a gitlab tree with the right CI =
variables defined, it'll run all the CI? And I *hope* it fails with this pa=
tch=2E It's precisely the kind of thing I was *intending* to catch with the=
 testing!



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:49:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:49:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632847.987337 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vfC-0004wy-5m; Tue, 14 Nov 2023 15:49:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632847.987337; Tue, 14 Nov 2023 15:49: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 1r2vfC-0004wr-0Y; Tue, 14 Nov 2023 15:49:18 +0000
Received: by outflank-mailman (input) for mailman id 632847;
 Tue, 14 Nov 2023 15:49: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=1wlO=G3=desiato.srs.infradead.org=BATV+c0bb53cb81094deeb936+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2vfA-0004pe-Ky
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:49:16 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5bdbaf4e-8305-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:49:14 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r2vf5-002XJc-28; Tue, 14 Nov 2023 15:49: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: 5bdbaf4e-8305-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=wtURPiisGS2Hb9OQNj9FuNG7UceqKqAuVLVYS7MTruU=; b=g+J9KwGdZRYI4g0BjPhX3Wej4V
	qgf4G1p2wAcN0ZPSKlJTDLbDa6XzWqI79m4La+5Xg542iql0TG4Aa2bBhd1bNXq47iauucD6/Ws01
	q39MFSqTiOOKtNXKYVedMaF39zDxCwXjwSxbPqoJ4wo8wyGRIa0FUIS6KScaI3gUS1ZE8683oG0xC
	0ZZCj6wcHEVFbZshtzBfxKDTM3DRbHiSS4qoRs2Ik4XoXV5MhW23iSr5JRBMh6eY5DSxYJppv7H+a
	5/rO5817qfDyFhoFlUiiNymrxo7+awx/ceo7QpxfhIdD7b6B72zUl9AqNCaLHNVbi24MNccaGsAPq
	Ah78wSow==;
Date: Tue, 14 Nov 2023 10:49:07 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, Peter Maydell <peter.maydell@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH-for-9=2E0_v2_10/19=5D_hw/xen=3A_Rename_?= =?US-ASCII?Q?=27ram=5Fmemory=27_global_variable_as_=27xen=5Fmemory=27?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231114143816.71079-11-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-11-philmd@linaro.org>
Message-ID: <84F1C2D8-4963-4815-8079-B44081234D41@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 09:38:06 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>To avoid a potential global variable shadow in
>hw/i386/pc_piix=2Ec::pc_init1(), rename Xen's
>"ram_memory" as "xen_memory"=2E
>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>

Well OK, but aren't you going to be coming back later to eliminate global =
variables which are actually per-VM?

Or is that the point, because *then* the conflicting name will actually ma=
tter?

Reviewed-by: David Woodhouse <dwmw@amazon=2Eco=2Euk>



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:55:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:55:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632850.987347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vky-0000aS-Po; Tue, 14 Nov 2023 15:55:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632850.987347; Tue, 14 Nov 2023 15:55: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 1r2vky-0000aL-LI; Tue, 14 Nov 2023 15:55:16 +0000
Received: by outflank-mailman (input) for mailman id 632850;
 Tue, 14 Nov 2023 15:55: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=1wlO=G3=desiato.srs.infradead.org=BATV+c0bb53cb81094deeb936+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2vkw-0000Vo-VE
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:55:14 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 316df0b9-8306-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:55:12 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r2vkj-002YFc-1l; Tue, 14 Nov 2023 15: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: 316df0b9-8306-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=/dnm/wFvk/yv7xaMVVCi4UNXjRYnVLcTr44nudqfiig=; b=CrvEHaLu3ghKko6qCLNKnbyNbO
	H0HaiBWEDEqhiYXOyWq6L5fPwjkEEuFM/hPjw0DdPgdVBxI+hfbT8DDMqqG32wfgapci6OUoR+GwG
	LWXFGfKFNSpfzi7W13vkvR1Qk9iNGPwbn/ZvEhT0U/TFVXS1dCcIHK9YwgL7NXv7izHrZkaWioseY
	o2/3wuKNJ5fI/LnE0O+1GLlCXwFBTOIob05/Tt0QVIQ3fhqoeH6os7jaqbRUQXvuthfMe+J+5R2My
	36DqwE1AyHONfjQ2p9p3mJ2mXSIPNVvkoPDkUya1YBWKOoVp6qb5x1u+SdwdorOgU1Od+9cvf/1Ly
	pfoeq3TQ==;
Date: Tue, 14 Nov 2023 10:54:57 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>
Subject: Re: [PATCH-for-9.0 v2 16/19] hw/xen/xen_pt: Add missing license
User-Agent: K-9 Mail for Android
In-Reply-To: <20231114143816.71079-17-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-17-philmd@linaro.org>
Message-ID: <533319AD-DC12-4E44-8C95-D7A85D8E4241@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 09:38:12 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>Commit eaab4d60d3 ("Introduce Xen PCI Passthrough, qdevice")
>introduced both xen_pt=2E[ch], but only added the license to
>xen_pt=2Ec=2E Use the same license for xen_pt=2Eh=2E
>
>Suggested-by: David Woodhouse <dwmw@amazon=2Eco=2Euk>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>


Reviewed-by: David Woodhouse <dwmw@amazon=2Eco=2Euk>



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 15:56:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 15:56:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632853.987355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vmW-0002Kx-1x; Tue, 14 Nov 2023 15:56:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632853.987355; Tue, 14 Nov 2023 15: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 1r2vmV-0002Kq-Vi; Tue, 14 Nov 2023 15:56:51 +0000
Received: by outflank-mailman (input) for mailman id 632853;
 Tue, 14 Nov 2023 15:56: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=1wlO=G3=desiato.srs.infradead.org=BATV+c0bb53cb81094deeb936+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2vmV-0002Kk-EO
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 15:56:51 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b176942-8306-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 16:56:48 +0100 (CET)
Received: from [12.186.190.2] (helo=[127.0.0.1])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r2vmM-002YdA-0t; Tue, 14 Nov 2023 15:56: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: 6b176942-8306-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=JfeV0qK8CgxsVSu2eoR2UV6eTjBlrnZLZoYR1NzgBIE=; b=bgwhwUbvJ39iHovOHLIjZRuYBI
	iqXx8yCvVgl16/UeT3qm+ITCuxnj7dx/R19vrz6jG4ClQBKJZB2HlsWRvTfgl7QINLlnCDSniROfZ
	TvXrdS6AObLK2YQuW5WAgCoSqIW6+6pjppciWZKYJ4LxHBad9Zo/xlQFXy+D1v5IoJxWevGiF4C3H
	jvUOBc8KZLf+Dg/5oCTe0K00sFe/Di6RytUaBWsDh3pwdCsLv/shZtt5AXYtqV5CAepgDLUx3ULWm
	/4/pOMD7KYrL3+skL+3V8pO4O1Q0c5Dz+kPmNHK5F/rzeI5WrIWKFi3LAtjNrsms6s3kuYjw8XEUj
	Oj643nXA==;
Date: Tue, 14 Nov 2023 10:56:38 -0500
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>,
 David Woodhouse <dwmw@amazon.co.uk>, qemu-devel@nongnu.org
CC: =?ISO-8859-1?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>,
 Paul Durrant <paul@xen.org>, qemu-arm@nongnu.org,
 Paolo Bonzini <pbonzini@redhat.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Richard Henderson <richard.henderson@linaro.org>,
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org,
 Anthony Perard <anthony.perard@citrix.com>, kvm@vger.kernel.org,
 Thomas Huth <thuth@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>,
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Eduardo Habkost <eduardo@habkost.net>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH-for-9=2E0_v2_18/19=5D_hw/i386/xe?= =?US-ASCII?Q?n=3A_Compile_=27xen-hvm=2Ec=27_with_Xen_CPPFLAGS?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231114143816.71079-19-philmd@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org> <20231114143816.71079-19-philmd@linaro.org>
Message-ID: <F6740A4D-7968-4F51-835E-E50AD646468B@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 14 November 2023 09:38:14 GMT-05:00, "Philippe Mathieu-Daud=C3=A9" <phil=
md@linaro=2Eorg> wrote:
>xen-hvm=2Ec calls xc_set_hvm_param() from <xenctrl=2Eh>,
>so better compile it with Xen CPPFLAGS=2E
>
>Signed-off-by: Philippe Mathieu-Daud=C3=A9 <philmd@linaro=2Eorg>

Reviewed-by: David Woodhouse <dwmw@amazon=2Eco=2Euk>



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:00:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:00:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632858.987365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vph-0006Za-Gm; Tue, 14 Nov 2023 16:00:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632858.987365; Tue, 14 Nov 2023 16:00: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 1r2vph-0006ZT-Dj; Tue, 14 Nov 2023 16:00:09 +0000
Received: by outflank-mailman (input) for mailman id 632858;
 Tue, 14 Nov 2023 16:00: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2vpg-0006ZN-HW
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:00:08 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2050.outbound.protection.outlook.com [40.107.7.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e18b1fc0-8306-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:00:07 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8555.eurprd04.prod.outlook.com (2603:10a6:20b:436::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Tue, 14 Nov
 2023 15:59:38 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 15:59: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: e18b1fc0-8306-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NnDVFJKLa/4br0SvfF4zQGK2IK9e4zWVWe458/PZGrfg+KGNYRfqc3XtaA38qXvMfrjKR1bUDkTxRLyHsaP++3ocL/8hxOrxYorVzA6B8Ane6FJAV/ZaupmdLBZ+WDSK5Yf5VRTefeN3wTzwWYxiUIJc/EmC0cD4l3ykMyP/9JdrbIjjjaxnPT2kXqBOboJjaEKApsYFPOSqfRSUnk2+48p8TjLhmj9XqWequP9luEGIs9PS6I3Jcw1KjSlytjN0jfkXy/JW+Kp70LZbclQ4l7M8bhtIGZYwpoh02TZH/m8+OJr2zEt+hwsajnwKmmWxO+cZer5blNF3jozQbTKp7w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JSh2LkanoFnxJw6w+S1nP5flpj8T/jalNiLJWY/HvDc=;
 b=XpUc96NjzL4FxBtxaCUDQTS2RyReDPGLTBp9khfNSukv28B/s5JAGnkDvJJAzGUED2cYwmezX9EHIcWt6BwNGplqsU4rq/0cmrWVYRoenfsvhnOMxid7WjzgErWey1PbWdD8lwXYwxw6CLidAvURcMIVO/e+GVzhm5cJUz4T1wHIsz3mdmy1+e+VGJIXjb4uArWyEuImGmtT32CJvzc4d5AJ4I3hKEgw2F1f2kOMkt7kk9fw5aGNcvQRRta1P/6tr9oR2h8EU/rdDnNCH5K5h8fjRN1IRtU3FoMd7KlDS+Zmuxe7qB6rKVUXDKPnwSgt8jXdMWNwqqCl5L3EMH/smw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JSh2LkanoFnxJw6w+S1nP5flpj8T/jalNiLJWY/HvDc=;
 b=l8a+AuRHMJR4YLzLPxbMxWusYxzE4SWrUPZ+RiNgMVPpppiBzrGtpgyqD/HElZVF8R3Rn7QIhamgXZzNwgMhaxjpN+a/HdMKj0FXrf7cif4ddJqu6t8krDa1lXyjxBcxE6RhCSjHm+D8IlLJNOvgWrO6SiaNZulrZda9gGPXvk4IrkDt/noG9QcGh0sC1yr3baqRBMmP5WeIWDux7uO3ZIiZWd0mMTCDMiQUmmRpmW4BVeCAvy2pv8nXF0oj5ZnNU+tKcLb2KRUANujulEKJWY33fs/98LIHZhgi5M2FaZDlvUYvLkxQnFc2lCWMsHn5xcJ5hSfDbfAVwG7Qq6LHwA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <530df892-42f4-4c2f-a8c9-23dbb6e6e2b2@suse.com>
Date: Tue, 14 Nov 2023 16:59:35 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Clang-format configuration discussion - pt 1
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <Michal.Orzel@amd.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
 <930d7aa7-7573-97d2-e146-ebe68214c0aa@suse.com>
 <7235E3F4-8387-49D7-A3B6-0EA93CAE408B@arm.com>
 <30a94519-c622-6017-2cbf-35690114d49e@suse.com>
 <31A47242-54F9-42D4-B804-6D0A0392650C@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <31A47242-54F9-42D4-B804-6D0A0392650C@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0201.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ad::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8555:EE_
X-MS-Office365-Filtering-Correlation-Id: 18871903-ff1f-4d5e-d5f9-08dbe52ab42a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9ZpVPI39SR7myeoGi3Aii0f4j+UDN1SXDJl7D0HkgrFpvFXIkuvRIyI/mc5LGwKKQtFkis6D023SWg+ZRMcyZ0ypLn/2pnsrpyOXbJlbkbkCCDjMtdtOkr+F6cwoRyANTzdeWWL27m6Hn8EZIG3U0JiO1Od+Xfm6YNhCjCKVJG3yu0yib3k5wAeGjqs/eN4unBR6IQM17tR5wzwjZSUH26LHjgMCW67vXZvtV0rms+lQ0seME7XZYq0HGtlfTFqopMmCET7jeYH4IggmGb3Bu8Cb264jN54CIx3Q4bdrAa34H723loFGtE5m/hIrKkbUWXz4TPbOjutE6qL1Cu0ewGfg6jvJ/PosKwTyBZgREK4m6R0oxPmfAxuyOcyx9Vurb0gOEK+u5tWX/2UnedBjYHP8m0aT5tFt8vk/I1EXw6uaeSpcfE7JB0JwKfPG7UJ8aE0Zyx/R83q+iGwcHMndlICLZojrMwsEjGeo2jh7pzwBVz9qbtmhp9hZ4muAmuO/sYi5Z7C3jeO91qp8pASFq+Ebk0n2FhgrwnUbyou47SdQR5dYA5MjVqrpoibOFHBa4MUeCA1SVPNaaYsy5bvDifpfsTJe8alG5t5wws1pBM0JmArcBa6JTErCl77jfQExechHTge/7MJw4CBV0w97/Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(346002)(376002)(39860400002)(396003)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(2616005)(26005)(53546011)(7416002)(5660300002)(86362001)(2906002)(6512007)(6506007)(38100700002)(31696002)(83380400001)(41300700001)(31686004)(54906003)(36756003)(66946007)(478600001)(66476007)(6916009)(66556008)(6486002)(8676002)(4326008)(8936002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bXQ5NXZUOHFzdEZsTEtSUzN2b0N5WjlWUHZxa1Fwc0c4cWlaOU5VT21PSW1k?=
 =?utf-8?B?ZTF0b2ptMUtKYVJ4U3FkRzFPT3BYSDdNdFJtM3dWbitSTk1Ma1RIQ253WWJ4?=
 =?utf-8?B?Z0U0dE5XMzBWUVUzVEI0dEFJc21wQnFwenFKUHM3TW8rcEpZbXdMdVQ5R2o1?=
 =?utf-8?B?UkIvRGtzQmVTcjhIeXdvVmk4VmtLYUNJRW5HazBoYlVEcDJkbldiamVzMWVG?=
 =?utf-8?B?VmNrTGo0ZTl4UUVjWGVmQWJ4R3hPRXhjZ3YwSmRDcU9XN3JiQVFTTDVsVVYy?=
 =?utf-8?B?VHRCWjJzcjhGbktEMGtPSWhoS0U2UVJEWktKdkFXbEtFNWJwa2VNRUZUZ1kr?=
 =?utf-8?B?YVB0eEpoMS9SL1d4eEZST1U2T3J6VGhDRzJ1VS9LT2NxWGhMMkczeEFwdDNO?=
 =?utf-8?B?em1xNkFibmZ6M3A2aWlCOUsrcGNBTjBzUEN4REVabzhYZm1XNklSZUNtY1pY?=
 =?utf-8?B?dzQ3Nzl0WFVQdkRhb3FvcUZaS05MQ3FaTW5mc0paQkhpRHhXdGd6dGdhc1lK?=
 =?utf-8?B?ZmR2WFZ0NnFVYTFoTTBjUFJ3MCtkOWdCMHM0NXlMd1NyeFZBbkN2SUFvRDVH?=
 =?utf-8?B?QVVGc3NjS0pQcU9vR3NkR0VkRnMwL3BGRlpWZ1BZS1FIdkdzY0UzRm4wcHB5?=
 =?utf-8?B?WnhyR1Q0YzcwbXR3WWlmSjY3a3dWRU1BalRrR3ZqM3k2YVQ4OEN0eUJRUFpE?=
 =?utf-8?B?VzNnUk90MEZXbTE1QlVPYmZmVHVpM0hpT0tiRVlWTzEzSitFb2RTRFF5V1N2?=
 =?utf-8?B?UE4wM2pCVnp5SXR0b1NqNkorQVRhVjc5c1AvQ0FGYnE2YTFVcDlBdzJUVnMr?=
 =?utf-8?B?NGhoSWxUdFF2TkFNWWMyb3hUdEVHbVpNY1FWNDB2YTI0UTM4YlZ1ZCtHYkdm?=
 =?utf-8?B?dll3bTlmQS9pc3lxNzdGY3JuOU1QY3c2Zkgwd3pnOTZZaUx4ZFpCWjdqRmt4?=
 =?utf-8?B?RkpRTmFra1dlQVJYVVZlSTZaNlZWbEJBYnFIWjRkbkJIeTRTdUtGYytiS3ZH?=
 =?utf-8?B?cWRIWDliMlhWeW56MmI2RFpXVjJUL1AvU1JKb1N4ZnlEMGYyZ2dncmk5QjNQ?=
 =?utf-8?B?eSttZjhKWEs0bGhkblRQbTVYcWlxMnYwb21DTm10T0Q5RnZWSU85bWhZN3RM?=
 =?utf-8?B?M0VtTWp6MTBtdytqbytDdlZKV3lNMk81M0o2ZEpQb1cwVURWYlN3ZmJJMmZC?=
 =?utf-8?B?VStiTklhTGpuaGFaaEdObWxOVnlxbVlYNjMxcmYwTHJzREtRYkpzZitoRzdk?=
 =?utf-8?B?bE9FOGt4L25WUUxRaURuVzI2QlVhTnMxcGpHdS9kT3diZEpIY0RzQjg5STBl?=
 =?utf-8?B?WXVGR1NWVkxUOVhLb0pBZlBWTTZjWU8rVVovRHZZc2t1T2x2ZktGaEVQVUEx?=
 =?utf-8?B?RnNWZDh4K29wWGVZL2tFNXE2aW40Q0RTczFPWklTQVRJcnE5VVRPWVFiSlkz?=
 =?utf-8?B?alVSdEUyU3VVb3NLam1mYWl1aEwvbk1KZjZwMnpDeWtWWFc3WW45c1NkM0ZI?=
 =?utf-8?B?OXVpVGpVbDB3cmljQlhabkZ1WnlYT29uVGxNMEIzUlVQZURqVUs5QkJRc2lP?=
 =?utf-8?B?ZVd2SGx3eXcxUjl2RDZHaGd5QTJCa2VzU0xiVlJTcmVYVnljZG1yb1BCK3ht?=
 =?utf-8?B?MnZ2SVhNNHdFWnVnNS9YUUY3RXlYenM3R0hzbXpmR3dydVdFbGN3a20vK2JP?=
 =?utf-8?B?c3lwOEpFUXA1azdBb3hkUkVVSFNNUW96U3JjRWhSelIrZHNEMzZIR281dGRy?=
 =?utf-8?B?K2xaUktlQU9KaWt1dnRBNnJTYW9pMU5zVENoajFHelRHdlpxVDczQmVzK3Zx?=
 =?utf-8?B?YWVMV2o1QUhaTzdrdDZERlEwNzJ4MG50YTkxYnNhSCtpSzJxdE9TQ2I1OGxB?=
 =?utf-8?B?Y3NQT2lwdTVZZzF2UWptYWJhdGhvNGtKaFlPZTYybTJCYlBMQnNIMnhyN1NX?=
 =?utf-8?B?eVBGSnkxRDJOb1BWUGtCWWNuc3pGU2dSQlluNEVDTngyM1NHMDRVZmd5Nklp?=
 =?utf-8?B?VUlTK3RkNlE5akNBc2ZiSlRhMEhOSjhQY2VJVE0rZzZvMVBjMVRsYjVDS2pC?=
 =?utf-8?B?T2s0SEpPanFUV01VVEx5TnpjMDhva01GYTk5emthTEc2bmxwcUN6cXhleDg1?=
 =?utf-8?Q?zN3KByAv2LWEt7ncMFxYq1eis?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 18871903-ff1f-4d5e-d5f9-08dbe52ab42a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 15:59:37.8451
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: b8921yzQRW1owYGbpbyN1mKQd7bMLei+B2gYaKUuGy2SrABOpMy/+s/V08YCIX7ZHF9L9FnSR55HIGIYyQAbBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8555

On 14.11.2023 15:59, Luca Fancellu wrote:
> 
> 
>> On 13 Nov 2023, at 16:27, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 13.11.2023 16:20, Luca Fancellu wrote:
>>>> On 13 Nov 2023, at 11:31, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 08.11.2023 10:53, Luca Fancellu wrote:
>>>> --------------------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>
>>>>> Standard: C++03
>>>>>
>>>>> ---
>>>>> From the documentation: Parse and format C++ constructs compatible with this standard.
>>>>
>>>> Since I continue to be puzzled - iirc you said this is because of lack
>>>> of availability of "C99" as a value here. What's entirely unclear to
>>>> me is: How does this matter to a tool checking coding style (which is
>>>> largely about formatting, not any lexical or syntactical aspects)?
>>>>
>>>>> This value is used also in Linux.
>>>>
>>>> Considering how different the two styles are, I don't think this is
>>>> overly relevant.
>>>
>>> Ok, maybe I understand your point, you are looking for a reason to declare this configurable instead
>>> of not specifying it at all?
>>
>> Not really, no. Here I was merely saying that with the styles being
>> sufficiently different, what Linux uses is probably not very significant
>> for our own decision.
>>
>>> If it’s that, from what I understand clang-format will use the default value if we don’t specify anything
>>> for this one, so it will take ‘Latest’. I think we should put a value for this one to fix it and don’t have
>>> surprises if that behaviour changes and seeing that also in Linux that value is fixed increased my
>>> confidence.
>>>
>>> However, if you feel that we should not specify it, I’ve done a test and not specifying it is not changing
>>> the current output. I can’t say that for a different clang-format version though or if changes happen in the
>>> future.
>>
>> It's fine to set values. All I'm saying is that at least I would prefer
>> if it was also clear what exact effect the setting of a value has,
>> especially when that does not really match the language we use in the
>> project.
> 
> Yes I agree, I think Alejandro’s reply to this configurable reflects my thoughts about it.
> 
> So if we all agree that we should set this parameter, do we all agree that it should be the
> value above?
> 
> Do you have other concerns regarding this or the other parameters in this thread?

I did raise what was occurring to me. This doesn't mean that down the
road yet something else might not pop up.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:04:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:04:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632862.987376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vtS-0008An-6A; Tue, 14 Nov 2023 16:04:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632862.987376; Tue, 14 Nov 2023 16: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 1r2vtS-0008Ag-2o; Tue, 14 Nov 2023 16:04:02 +0000
Received: by outflank-mailman (input) for mailman id 632862;
 Tue, 14 Nov 2023 16:04: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=hHxF=G3=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r2vtQ-00088o-FR
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:04:00 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe02::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6abe86be-8307-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 17:03:57 +0100 (CET)
Received: from AM6PR04CA0005.eurprd04.prod.outlook.com (2603:10a6:20b:92::18)
 by AS8PR08MB6246.eurprd08.prod.outlook.com (2603:10a6:20b:296::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Tue, 14 Nov
 2023 16:03:55 +0000
Received: from AM1PEPF000252DA.eurprd07.prod.outlook.com
 (2603:10a6:20b:92:cafe::35) by AM6PR04CA0005.outlook.office365.com
 (2603:10a6:20b:92::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31 via Frontend
 Transport; Tue, 14 Nov 2023 16:03:55 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM1PEPF000252DA.mail.protection.outlook.com (10.167.16.52) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.13 via Frontend Transport; Tue, 14 Nov 2023 16:03:55 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Tue, 14 Nov 2023 16:03:54 +0000
Received: from b82e24b52005.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B31F5954-2EEA-49A3-BF9A-F3D610168EDA.1; 
 Tue, 14 Nov 2023 16:03:43 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b82e24b52005.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 14 Nov 2023 16:03:43 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by VI0PR08MB10539.eurprd08.prod.outlook.com (2603:10a6:800:208::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Tue, 14 Nov
 2023 16:03:40 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%6]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 16:03: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: 6abe86be-8307-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=fBiWvvrdrIdaSWW6NKlRNeoe/crkBLqkCR0JEe8pDv2d2EtknVVnUl6Ou7PKlGWvOjMjqgLQSw12AxVCcVtKdvYIhBog7feW7zrHNYCmVGgiyE8zGJIYnuSR1gDfldiUez80sPdhh2vrXjCEIfHLBv7Hya349t7H0wIhV9nLv5+Ulz8fUCX1KfXUDgiUj0o67Jz555IcqrkJ0vq0J3LTOS6X/54HJL8Qjwr4JY+Zl7M3Cl5KvqWFR+gyWsJ6Gx8i7M9YJGOyxT89ta+iC4ijaJJYWbOJTUEpA4qFsbh9m73FmHmkzAWVKJvuIJStKYDX8uyZ9Ca6Ss6W2WaDM+5yeA==
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=Q2x7SbHi+JvtDG46pn1lpw73/oSkfZQhpe1S0pa1yEA=;
 b=Jl8u5W0hgXH1L0gHsJswVPtOE4pp39sRK+vqsJu3/h38jGCZGFVJP0YY/VZouMCEq3mxx70ZZ9yVRhm9v7Xf3iAVDglv3b7YJl/6WsCBgdiPpiAaUtKGGCbH2G1hdl/5wc+BOQcRzA8VAgXS7Sifi6RvzL6fJBujzGEk9cLcZTMvpHSdbA2O/aGN5h50EJMmJJboPpskwHM/TSCMKGAwxkgge//v/RfA3hF4pATpSQq5VtWNCVsI8mscrk4Htf5ojKRtL1I5b0z61B3s04nKRrmZdhA1CCOHrMY0dxAuiibbQQ/i5ARxwoiBDBAXucqckA64IU/Lx3PsV0i/zH6i4Q==
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=Q2x7SbHi+JvtDG46pn1lpw73/oSkfZQhpe1S0pa1yEA=;
 b=8H0dyRI40bh3pA2dEolRAIMLvuPfzhCerucLqfxzeXTgFawMr3W9/EdXpLYdj5wxRLS7niJnXEbs5TJVG8mTJMeXM4dDznsDYAijZNElizW2z3nxAeshaFD7ewqmsEPad4slouZDLMpjDMyr5VMiqvYgYpgvx+wHRJLVZcAiT6E=
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: 6fcca6e0abc59b90
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UKC2GLQI0IkDLskLL/53s58vT8SmPaPAo4lq7UG9DOCSSup+rvqDEg1PNUPiQRPsIVSSsd4AST1XOordpCs10v3rdOxIURi5thQPEkACzXuWWfWNUQtxlT2eOPZ4vSaxCQXVvzNvkFlGV48+11dJSu6I7gkHWuVtD87Lev4FfpKYfQgHGWHFV+PAkMNt6CbCjTE8RdqQn3qazHXP8Mcz4dmpCXxM56aLY67M5Sv2UQ26YELLowfY2cARr58XA1eZ/jMkeZnTPTwzUxNNwkQIUgnRGxgIOT0OpolOgm25G01MPHG/Ikuh/dZJtltEIr3o6nhJkTsHUlxWQiy8t2KzSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q2x7SbHi+JvtDG46pn1lpw73/oSkfZQhpe1S0pa1yEA=;
 b=iNdWmIOGmF2nfswLg5RJpFxIM/XFY7iMBcONe9DUj/6Dl4ma/GoI9bN/40y/UoYEb1uNanelKU92fW8ube8djYxja8/tQMet8A/ZfS/6bGU4C6vXr7b0SwpIFBgi0G3VwfONeEgcQjfajgRh8EnP3gWpRxsAs+9CmOIKYprUgrJqzWp9TgQmSZ9VjEq9e+UwSBpcUKXT6Q14gaBTfHoYqd7Db69zGo5BUt6OO4uYisySd+xMiSMnRVwI9+2YKFNGPmVdapZOsOYGafLk8zwFoaxBsE9QBLv8khSMnQjxlsweGTVkE0expTw3cYzHZVYIb3K4OBVnUhZX8qewi6ElsA==
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=Q2x7SbHi+JvtDG46pn1lpw73/oSkfZQhpe1S0pa1yEA=;
 b=8H0dyRI40bh3pA2dEolRAIMLvuPfzhCerucLqfxzeXTgFawMr3W9/EdXpLYdj5wxRLS7niJnXEbs5TJVG8mTJMeXM4dDznsDYAijZNElizW2z3nxAeshaFD7ewqmsEPad4slouZDLMpjDMyr5VMiqvYgYpgvx+wHRJLVZcAiT6E=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Alejandro
 Vallejo <alejandro.vallejo@cloud.com>
Subject: Re: Clang-format configuration discussion - pt 1
Thread-Topic: Clang-format configuration discussion - pt 1
Thread-Index:
 AQHaEild8psuTSSrb0SmQq+9AXKRR7B4JX+AgABAHYCAABLFAIABeZyAgAAQ0ICAAAEYAA==
Date: Tue, 14 Nov 2023 16:03:40 +0000
Message-ID: <89CF09D5-58CB-49BD-9585-43978CCCC65D@arm.com>
References: <174FCBBC-3C2F-47E9-936A-F1399DD9AFFB@arm.com>
 <930d7aa7-7573-97d2-e146-ebe68214c0aa@suse.com>
 <7235E3F4-8387-49D7-A3B6-0EA93CAE408B@arm.com>
 <30a94519-c622-6017-2cbf-35690114d49e@suse.com>
 <31A47242-54F9-42D4-B804-6D0A0392650C@arm.com>
 <530df892-42f4-4c2f-a8c9-23dbb6e6e2b2@suse.com>
In-Reply-To: <530df892-42f4-4c2f-a8c9-23dbb6e6e2b2@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|VI0PR08MB10539:EE_|AM1PEPF000252DA:EE_|AS8PR08MB6246:EE_
X-MS-Office365-Filtering-Correlation-Id: 1077d0ed-2a84-4d96-fcd9-08dbe52b4d91
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:
 LWahpJ4+7kR6EBFgLzvhMc8USJBY5ykiif2OQ5jostLt5ilnkov34YBpKutGxN43RHhfD9pW1HlTyRzSgC2HO8qVW76TdmJsJr8e/Gh0bs1LJADQJbb6eDmDci2YWXD59e49kp7UGTYA2J4ZmNb0m+8S82vwaHc/pp3v7oq2OzGJUljha0x7QFDMHJdM8FeaOlcZlG4M6XbWRVZ6olG9FEwMl1UnhdB4GHYiXgzzrdZwPhejEeVV4Am6U4FQN++MMkMXWacfm/t7+OOfcj2EH5js49ehkZ5NvsBxx4/sgxnRL8KW6w8maNwIRXIXXmoXUNQoBdlgc/EqluaMd0cYzni+OBH69Dt0imSMqk6Zt6pW6dPxMVpZm1fYhc/ohju1y2fG674J3ad5F4E03qA60oFQIafdgLYNxarOI/Qftv1ovJ91lSvwnXDleQRWp7sxwCJtTI/sKHo+y4PNwVoPZ62RqOr0yGW6kLA0OJHOsZ0nkg6X1p0ttosAqpLAy19ZKQrROjbEyUt1r6SQ/4iQm18lAsMYJyyjL6OHrPYhr2boTN81qfQUeK+HbAo3Rp6IX9eVY6d+vJzvaAsdkDw/WgM1zjksrp/eZnbbDE29/NPxktiHBlvV8ExeoNZMyOiEgl1XQQ2W+MVk7id4Esa2qw==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(366004)(39860400002)(136003)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(54906003)(66556008)(66476007)(6512007)(66946007)(316002)(6916009)(76116006)(83380400001)(38100700002)(64756008)(66446008)(91956017)(8676002)(8936002)(4326008)(6486002)(478600001)(122000001)(36756003)(6506007)(53546011)(7416002)(86362001)(5660300002)(71200400001)(2616005)(38070700009)(2906002)(26005)(33656002)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <EAA528DB7FF25B4A8007E50FE99F5847@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR08MB10539
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:
 AM1PEPF000252DA.eurprd07.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	940972d1-e665-4cf0-e708-08dbe52b44e6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rGOBLoWR6nlvLfUB4h4FY8nm4crCriBgTik0hIEBOglEWCGOVyPzE8JIZZMany6EajV6EqFbiHpSVVLDFcKvOJ4vi6DELzkigB2Yq9M57j5FLh6io8HSxf8uuJd+XgHN+deOjaNjaRck/bRHATzypH84N+xeDa2SIwwkLkrJf5K0o6qjRAwllF3gET761KTTbqzrp8VRtvKHSoAqTaLUkI9GxoAGo9qNBJpAQrHBaBzqWSckxuW5FPlhJDqhK1LiKLamiUTKaWzQUBQ+LbZH8A69Kqzb4HH+5qof2Xq3VzGJ4lBi42evshVVNXZH6NMpbuwVJLZB5yiXQ2FkU3OzT0Wpw4WRj/QGzk9Ks5c/3VTI+ehUQiveLkoKSzh0pBJAWwJgifxv2UtybV/eO3sQtrG31jLqAi9YWo46r5AEQPQ0wLE2amkyaY+45+hULfyIxEibYvJVaN2cYFje+l8Ll1g1DPQWR/IXmbNd4oFxsWtYCGJBJjsld+rP557lrwPODnwpBQITfpWrC46ZLf8aHZV36gkjrY03Ik8QIHnFJ13mcL2Zsj54Rj70CjR1swezlMRseW+5ui5xxFAa9eVTMbyNk0IpBnG7jNnRuWJMUQ6U15G6DE4x4tXrtKAN6Y6K6YFNL9rChqJWsKF4DiqhAcZ6Om95OcMoCpMLU07IceP2qdIw4daKogUjd6aryYpOA55y28IBUB8OtOUipsQG5TvM/XcO2csRxVlHlzC8c7aD/hWFVMYQn4Q8IzRKrnpK
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:(13230031)(4636009)(396003)(376002)(136003)(39860400002)(346002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(82310400011)(46966006)(36840700001)(40470700004)(6512007)(26005)(82740400003)(107886003)(40460700003)(2616005)(336012)(6486002)(478600001)(36756003)(8936002)(86362001)(4326008)(8676002)(6862004)(5660300002)(41300700001)(33656002)(2906002)(54906003)(70206006)(70586007)(316002)(53546011)(6506007)(40480700001)(47076005)(356005)(36860700001)(81166007)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 16:03:55.0199
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1077d0ed-2a84-4d96-fcd9-08dbe52b4d91
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:
	AM1PEPF000252DA.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6246

DQoNCj4gT24gMTQgTm92IDIwMjMsIGF0IDE1OjU5LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMTQuMTEuMjAyMyAxNTo1OSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IA0KPj4gDQo+Pj4gT24gMTMgTm92IDIwMjMsIGF0IDE2OjI3LCBKYW4gQmV1bGlj
aCA8amJldWxpY2hAc3VzZS5jb20+IHdyb3RlOg0KPj4+IA0KPj4+IE9uIDEzLjExLjIwMjMgMTY6
MjAsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+PiBPbiAxMyBOb3YgMjAyMywgYXQgMTE6MzEs
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+Pj4+PiBPbiAwOC4xMS4y
MDIzIDEwOjUzLCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4+Pj4gLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4+PiANCj4+Pj4+PiBTdGFuZGFyZDogQysr
MDMNCj4+Pj4+PiANCj4+Pj4+PiAtLS0NCj4+Pj4+PiBGcm9tIHRoZSBkb2N1bWVudGF0aW9uOiBQ
YXJzZSBhbmQgZm9ybWF0IEMrKyBjb25zdHJ1Y3RzIGNvbXBhdGlibGUgd2l0aCB0aGlzIHN0YW5k
YXJkLg0KPj4+Pj4gDQo+Pj4+PiBTaW5jZSBJIGNvbnRpbnVlIHRvIGJlIHB1enpsZWQgLSBpaXJj
IHlvdSBzYWlkIHRoaXMgaXMgYmVjYXVzZSBvZiBsYWNrDQo+Pj4+PiBvZiBhdmFpbGFiaWxpdHkg
b2YgIkM5OSIgYXMgYSB2YWx1ZSBoZXJlLiBXaGF0J3MgZW50aXJlbHkgdW5jbGVhciB0bw0KPj4+
Pj4gbWUgaXM6IEhvdyBkb2VzIHRoaXMgbWF0dGVyIHRvIGEgdG9vbCBjaGVja2luZyBjb2Rpbmcg
c3R5bGUgKHdoaWNoIGlzDQo+Pj4+PiBsYXJnZWx5IGFib3V0IGZvcm1hdHRpbmcsIG5vdCBhbnkg
bGV4aWNhbCBvciBzeW50YWN0aWNhbCBhc3BlY3RzKT8NCj4+Pj4+IA0KPj4+Pj4+IFRoaXMgdmFs
dWUgaXMgdXNlZCBhbHNvIGluIExpbnV4Lg0KPj4+Pj4gDQo+Pj4+PiBDb25zaWRlcmluZyBob3cg
ZGlmZmVyZW50IHRoZSB0d28gc3R5bGVzIGFyZSwgSSBkb24ndCB0aGluayB0aGlzIGlzDQo+Pj4+
PiBvdmVybHkgcmVsZXZhbnQuDQo+Pj4+IA0KPj4+PiBPaywgbWF5YmUgSSB1bmRlcnN0YW5kIHlv
dXIgcG9pbnQsIHlvdSBhcmUgbG9va2luZyBmb3IgYSByZWFzb24gdG8gZGVjbGFyZSB0aGlzIGNv
bmZpZ3VyYWJsZSBpbnN0ZWFkDQo+Pj4+IG9mIG5vdCBzcGVjaWZ5aW5nIGl0IGF0IGFsbD8NCj4+
PiANCj4+PiBOb3QgcmVhbGx5LCBuby4gSGVyZSBJIHdhcyBtZXJlbHkgc2F5aW5nIHRoYXQgd2l0
aCB0aGUgc3R5bGVzIGJlaW5nDQo+Pj4gc3VmZmljaWVudGx5IGRpZmZlcmVudCwgd2hhdCBMaW51
eCB1c2VzIGlzIHByb2JhYmx5IG5vdCB2ZXJ5IHNpZ25pZmljYW50DQo+Pj4gZm9yIG91ciBvd24g
ZGVjaXNpb24uDQo+Pj4gDQo+Pj4+IElmIGl04oCZcyB0aGF0LCBmcm9tIHdoYXQgSSB1bmRlcnN0
YW5kIGNsYW5nLWZvcm1hdCB3aWxsIHVzZSB0aGUgZGVmYXVsdCB2YWx1ZSBpZiB3ZSBkb27igJl0
IHNwZWNpZnkgYW55dGhpbmcNCj4+Pj4gZm9yIHRoaXMgb25lLCBzbyBpdCB3aWxsIHRha2Ug4oCY
TGF0ZXN04oCZLiBJIHRoaW5rIHdlIHNob3VsZCBwdXQgYSB2YWx1ZSBmb3IgdGhpcyBvbmUgdG8g
Zml4IGl0IGFuZCBkb27igJl0IGhhdmUNCj4+Pj4gc3VycHJpc2VzIGlmIHRoYXQgYmVoYXZpb3Vy
IGNoYW5nZXMgYW5kIHNlZWluZyB0aGF0IGFsc28gaW4gTGludXggdGhhdCB2YWx1ZSBpcyBmaXhl
ZCBpbmNyZWFzZWQgbXkNCj4+Pj4gY29uZmlkZW5jZS4NCj4+Pj4gDQo+Pj4+IEhvd2V2ZXIsIGlm
IHlvdSBmZWVsIHRoYXQgd2Ugc2hvdWxkIG5vdCBzcGVjaWZ5IGl0LCBJ4oCZdmUgZG9uZSBhIHRl
c3QgYW5kIG5vdCBzcGVjaWZ5aW5nIGl0IGlzIG5vdCBjaGFuZ2luZw0KPj4+PiB0aGUgY3VycmVu
dCBvdXRwdXQuIEkgY2Fu4oCZdCBzYXkgdGhhdCBmb3IgYSBkaWZmZXJlbnQgY2xhbmctZm9ybWF0
IHZlcnNpb24gdGhvdWdoIG9yIGlmIGNoYW5nZXMgaGFwcGVuIGluIHRoZQ0KPj4+PiBmdXR1cmUu
DQo+Pj4gDQo+Pj4gSXQncyBmaW5lIHRvIHNldCB2YWx1ZXMuIEFsbCBJJ20gc2F5aW5nIGlzIHRo
YXQgYXQgbGVhc3QgSSB3b3VsZCBwcmVmZXINCj4+PiBpZiBpdCB3YXMgYWxzbyBjbGVhciB3aGF0
IGV4YWN0IGVmZmVjdCB0aGUgc2V0dGluZyBvZiBhIHZhbHVlIGhhcywNCj4+PiBlc3BlY2lhbGx5
IHdoZW4gdGhhdCBkb2VzIG5vdCByZWFsbHkgbWF0Y2ggdGhlIGxhbmd1YWdlIHdlIHVzZSBpbiB0
aGUNCj4+PiBwcm9qZWN0Lg0KPj4gDQo+PiBZZXMgSSBhZ3JlZSwgSSB0aGluayBBbGVqYW5kcm/i
gJlzIHJlcGx5IHRvIHRoaXMgY29uZmlndXJhYmxlIHJlZmxlY3RzIG15IHRob3VnaHRzIGFib3V0
IGl0Lg0KPj4gDQo+PiBTbyBpZiB3ZSBhbGwgYWdyZWUgdGhhdCB3ZSBzaG91bGQgc2V0IHRoaXMg
cGFyYW1ldGVyLCBkbyB3ZSBhbGwgYWdyZWUgdGhhdCBpdCBzaG91bGQgYmUgdGhlDQo+PiB2YWx1
ZSBhYm92ZT8NCj4+IA0KPj4gRG8geW91IGhhdmUgb3RoZXIgY29uY2VybnMgcmVnYXJkaW5nIHRo
aXMgb3IgdGhlIG90aGVyIHBhcmFtZXRlcnMgaW4gdGhpcyB0aHJlYWQ/DQo+IA0KPiBJIGRpZCBy
YWlzZSB3aGF0IHdhcyBvY2N1cnJpbmcgdG8gbWUuIFRoaXMgZG9lc24ndCBtZWFuIHRoYXQgZG93
biB0aGUNCj4gcm9hZCB5ZXQgc29tZXRoaW5nIGVsc2UgbWlnaHQgbm90IHBvcCB1cC4NCg0KU3Vy
ZSwgdGhhbmtzIGZvciByYWlzaW5nIHlvdXIgY29uY2VybiwgSeKAmXZlIGFza2VkIHNvIHRoYXQg
YXQgdGhlIGRlYWRsaW5lIGlmIG5vIG90aGVyIGNvbmNlcm4NCmFyZSByYWlzZWQsIHdlIGNhbiBt
b3ZlIG9uIHdpdGggYW5vdGhlciBzZXQgb2YgY29uZmlndXJhYmxlIHRvIGRpc2N1c3MuDQoNCg0K
DQo=


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:05:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:05:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632864.987386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2vuh-0000Ui-HY; Tue, 14 Nov 2023 16:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632864.987386; Tue, 14 Nov 2023 16: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 1r2vuh-0000Ub-DV; Tue, 14 Nov 2023 16:05:19 +0000
Received: by outflank-mailman (input) for mailman id 632864;
 Tue, 14 Nov 2023 16: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=ZdVB=G3=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r2vug-0000UT-2B
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:05:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9a0bc7e0-8307-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:05:16 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 89DE94EE0738;
 Tue, 14 Nov 2023 17:05:16 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a0bc7e0-8307-11ee-98db-6d05b1d4d9a1
MIME-Version: 1.0
Date: Tue, 14 Nov 2023 17:05:16 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Julien Grall <julien@xen.org>, Jbeulich <jbeulich@suse.com>, Andrew
 Cooper3 <andrew.cooper3@citrix.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 roger.pau@citrix.com, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19] domain: add ASSERT to help static analysis
 tools
In-Reply-To: <alpine.DEB.2.22.394.2311101709410.3478774@ubuntu-linux-20-04-desktop>
References: <3f163bb58993410183229e72eb1f227057f9b1c7.1699034273.git.nicola.vetrini@bugseng.com>
 <d67ec7e2-a606-ed62-150f-08e3c1c9aabe@suse.com>
 <44df74cb532bfb9642b1c8752ee8c0d6@bugseng.com>
 <2c8c246d-caea-5c8b-4a2a-83248422c48d@suse.com>
 <b407f981-c58c-4272-bc7c-1470a87e2487@xen.org>
 <4b4583f5-4cdb-6be9-20eb-22466b6aef28@suse.com>
 <483f3b34-ebd4-4613-b083-596bebf5ac15@xen.org>
 <alpine.DEB.2.22.394.2311091614010.3478774@ubuntu-linux-20-04-desktop>
 <cffef994-1cba-4ce2-acb5-96e0ddd61064@xen.org>
 <0ad97e9ff3d703f56b24393e327cac84@bugseng.com>
 <alpine.DEB.2.22.394.2311101709410.3478774@ubuntu-linux-20-04-desktop>
Message-ID: <66fe74a01e9d06e6308a2af5a77fb358@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-11 02:13, Stefano Stabellini wrote:
> On Fri, 10 Nov 2023, Nicola Vetrini wrote:
>> Hi everyone,
>> 
>> I trimmed the thread a bit, to make this more readable.
>> 
>> > > > > > IMHO, the only viable option would be to have a configuration to
>> > > > > > keep
>> > > > > > ASSERT in production build for scanning tools.
>> > > > >
>> > > > > But wouldn't that then likely mean scanning to be done on builds not
>> > > > > also
>> > > > > used in production? Would doing so even be permitted when
>> > > > > certification
>> > > > > is a requirement? Or do you expect such production builds to be used
>> > > > > with
>> > > > > the assertions left in place (increasing the risk of a crash; recall
>> > > > > that
>> > > > > assertions themselves may also be wrong, and hence one triggering in
>> > > > > rare
>> > > > > cases may not really be a reason to bring down the system)?
>> > > >
>> > > > I will leave Stefano/Nicola to answer from the certification
>> > > > perspective. But
>> > > > I don't really see how we could get away unless we replace most of the
>> > > > ASSERT() with proper runtime check (which may not be desirable for
>> > > > ASSERT()s
>> > > > like this one).
>> > >
>> > > For sure we don't want to replace ASSERTs with runtime checks.
>> > >
>> > > Nicola, do we really need the ASSERT to be implemented as a check, or
>> > > would the presence of the ASSERT alone suffice as a tag, the same way we
>> > > would be using /* SAF-xx-safe */ or asmlinkage?
>> > >
>> > > If we only need ASSERT as a deviation tag, then production builds vs.
>> > > debug build doesn't matter.
>> > >
>> > > If ECLAIR actually needs ASSERT to be implemented as a check, could we
>> > > have a special #define to define ASSERT in a special way for static
>> > > analysis tools in production builds? For instance:
>> > >
>> > > #ifdef STATIC_ANALYSIS
>> > > #define ASSERT(p) \
>> > >      do { if ( unlikely(!(p)) ) printk("ASSERT triggered %s:%d",
>> > > __file__,__LINE__); } while (0)
>> > > #endif
>> >
>> > Just to make 100% clear, you are saying that assessor will be happy if we
>> > analyze it with ASSERT enabled but in production we use it wout them
>> > enabled? The assumption here is that they should have *never* been triggered
>> > so they surely should not happen in production.
>> >
>> > Cheers,
>> 
>> First of all, Andrew is experimenting with an alternate solution, so 
>> we should
>> wait making
>> any decision here until he can share the outcome of his findings.
>> However, from a certification perspective, the fact that the codebase 
>> is
>> tested with
>> asserts enabled is a strong enough claim for a justification to be 
>> based on an
>> assertion;
>> the code path just needs to be exercised by the tests.
>> Getting into the business of how to define asserts for static analysis 
>> is
>> likely to
>> just cause more trouble.
> 
> That's great. Also given Andrew's reply, then can we just go ahead with
> adding the ASSERT as done in this patch (with the added in-code comment
> as requested by Jan)?

Yes, and sorry for the late reply.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:17:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:17:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632901.987412 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2w6h-0007wf-TW; Tue, 14 Nov 2023 16:17:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632901.987412; Tue, 14 Nov 2023 16: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 1r2w6h-0007wY-Qh; Tue, 14 Nov 2023 16:17:43 +0000
Received: by outflank-mailman (input) for mailman id 632901;
 Tue, 14 Nov 2023 16:17: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r2w6e-0007tQ-9f
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:17:42 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52dd3cbe-8309-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 17:17:36 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r2w6W-008vpR-Ey; Tue, 14 Nov 2023 16:17: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: 52dd3cbe-8309-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=9tSslN31ur0433Ud++hUyrg0d38sCkvbY/3Wn0Rzyj0=; b=Kgl7AwTxWEvTVfZ0qSHjs+fzVX
	tZlpJSh2Xp3cQr7BrTU0nUoqxfO72wA0oq3TElL9xyJMad5HMUXsPVcGlbL7guaYtB0Zgvu3uEPZO
	j653IcaIsykEtTci7mbTOIBjkgavAIi2weiGXK5X7yRo5TPYZ/xvoB0ZqI3nNXHuWthmv5KZe3/yB
	LeefFE7GThlfvu6hrZxgU2sg+TjoFCq4fYmqaT6txjaHh3O8xL6RsutbuueFs2nLoWijfGuyf3r0D
	mrudVggYB9epAfbEDW0m1ibaMvDcr7qtGPhB8XgWtAlTQAxpy9w7KmCXCDlWSejUQ3q8QW/OTza8h
	BKUznYTQ==;
Message-ID: <f07a4a66eef3865235bd6a0635be36f2ed86026e.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 v2 06/19] hw/pci/msi: Restrict xen_is_pirq_msi()
 call to Xen
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: Alex =?ISO-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, Paul Durrant
 <paul@xen.org>, qemu-arm@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>, 
 Stefano Stabellini <sstabellini@kernel.org>, Richard Henderson
 <richard.henderson@linaro.org>,  xen-devel@lists.xenproject.org,
 qemu-block@nongnu.org, Anthony Perard <anthony.perard@citrix.com>,
 kvm@vger.kernel.org, Thomas Huth <thuth@redhat.com>,  "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Date: Tue, 14 Nov 2023 11:17:28 -0500
In-Reply-To: <7fd25b34-6fd9-4f7c-90b4-e44338b2b09e@linaro.org>
References: <20231114143816.71079-1-philmd@linaro.org>
	 <20231114143816.71079-7-philmd@linaro.org>
	 <EEC18CA6-88F2-4F18-BDE5-5E9AAE5778A7@infradead.org>
	 <7fd25b34-6fd9-4f7c-90b4-e44338b2b09e@linaro.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-M4kzrZ3BzfXD7GJZ3AQf"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Tue, 2023-11-14 at 16:22 +0100, Philippe Mathieu-Daud=C3=A9 wrote:
>=20
> If so, possibly few places incorrectly check 'xen_enabled()'
> instead of this 'xen_guest()'.

Sorry, I meant to respond to that one directly. I don't *think* there
are any cases of that. As I added the CONFIG_XEN_EMU support, I moved a
bunch of stuff to live under CONFIG_XEN_BUS instead of CONFIG_XEN,
fixing them up (and implementing the emulated versions of grant table
operations, event channel operations etc. which no longer come from the
actual Xen libraries).

The existing cases of xen_enabled() really *are* being used to mean
'xen_accel_enabled()', AFAIK. Apart from that one you just tried to add
:)

--=-M4kzrZ3BzfXD7GJZ3AQf
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTE0MTYxNzI4WjAvBgkqhkiG9w0BCQQxIgQga/A3W3mt
O9eECkySzUzGZ3pnPLdWNMH0stEcA9qSyX4wgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgB6GhLV+LNQ19ep0cQffVLlsSDyRMuf5JwU
joj+WDnur7BVptaEraJYJNhtw8fE2AjxL/oOvGsxy9RwYBDHckmQEpmaaAB/gV0dEpKQeVxyo+5C
IYJX/ALBpK58IonTKhOr/j4945mJU0L0O81/uuwmsPed6qw1w5NXkrROI7VItrHu3AL/Jd2k1zaV
tdi6fCeVhSV7tb/HEi00qXlaPaepFz8Q6ZjuKb54rAg27AD5Rcb+BMqLRdjjEb09i7ZCbXLIh3tl
WqBgPp7zIR+WIefjWu8lF+LV8ZzvVLSLP2sGC5HKMvYrjNWDhjtvruDVsxBUkaygm1BJACSk1Z+S
oXA2xmSyORZECPEnv6JXn6+BVa8GiAvDAWj3LW34Zs6uBI4GWEd5PyBqFqA3rFK3VbYIbS1Vujlp
3QAy+QLjoCqt6Si56gfB8zUnfnh2OswoNwTINg4o6POfQGOcU2ANyN9abA6lfFFq2BXFwGXYzR/G
51g0E2ZRmk7yioMEzklnBiOrBzziR2tXo8gW6bVAqnG+AZf5UYMQWSWV+BAEVewEzU9RhM3YWEqd
WjQYBegqj3w8ic+6AswOIz+1PIlLpAmbCPpnS2zwTTLWYX8p8qoHOXRJ1V4gksVfcdCKRiiU5Pgo
3BU6VuOq3u7Ul+HuqxHkz4w/4Y9k8CpbSIWxjIB4OAAAAAAAAA==


--=-M4kzrZ3BzfXD7GJZ3AQf--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:30:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:30:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632927.987422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wIf-0000pM-4g; Tue, 14 Nov 2023 16:30:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632927.987422; Tue, 14 Nov 2023 16: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 1r2wIf-0000oo-1p; Tue, 14 Nov 2023 16:30:05 +0000
Received: by outflank-mailman (input) for mailman id 632927;
 Tue, 14 Nov 2023 16: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 1r2wId-0000UA-Kb; Tue, 14 Nov 2023 16: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 1r2wId-0002H4-HU; Tue, 14 Nov 2023 16: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 1r2wId-0006Fe-6n; Tue, 14 Nov 2023 16:30:03 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r2wId-0005we-2N; Tue, 14 Nov 2023 16: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=00+sXFOwTSq7ttJ5OQLKq4f/m3P+tONa8ggu/PERr80=; b=NMS7JPUjvOiDEcs2o/z+GrBqWt
	T7IKoN8ov5h7BpSGKT8/pOeyQJIb9wqCmLYs6Rh4vRmaYDRpfyyd1Dj4vCyXrb4WFhgumj8QqRyPe
	JNNsSzsCVdX3PkTMAgcmpzNzJ09AI9/0mLrJBljlq0U42d9UHP433mIpQyMD0xePigyU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183750-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183750: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e
X-Osstest-Versions-That:
    xen=fb41228ececea948c7953c8c16fe28fd65c6536b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Nov 2023 16:30:03 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e
baseline version:
 xen                  fb41228ececea948c7953c8c16fe28fd65c6536b

Last test of basis   183743  2023-11-13 15:02:04 Z    1 days
Testing same since   183750  2023-11-14 13:03:54 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   fb41228ece..a48bb129f1  a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:31:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:31:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632933.987432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wK1-0002PE-GN; Tue, 14 Nov 2023 16:31:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632933.987432; Tue, 14 Nov 2023 16:31: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 1r2wK1-0002P7-Ce; Tue, 14 Nov 2023 16:31:29 +0000
Received: by outflank-mailman (input) for mailman id 632933;
 Tue, 14 Nov 2023 16:31: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wK0-0002Oz-Hg
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:31:28 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 424f928a-830b-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:31:27 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-9db6cf8309cso858550666b.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:31:27 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 m16-20020a1709060d9000b009be14e5cd54sm5785453eji.57.2023.11.14.08.31.25
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:31:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 424f928a-830b-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979487; x=1700584287; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=WLUIW1wEN60RfjCUyh0wJRK9Kz/EqjAkfQjEh/PTjs0=;
        b=o/X8E6ejyyAcqCQ6tz1jrXstwWCO6Tp2jhqOzycLwphszHIWYh677IHGvvKKO36YBg
         8LyUw54hGJ+4a/lvIGrYuhmTVXbPbmQpD11NX/rknrPj+HxCUWQUk3b29XxL5yv5Csud
         wumGEfjxirpTF48pclBJvEvC5lZPGVDeHNDhW/4St7CUgubYh70VAhjf1AmwlCNKM8bV
         AQYEDlzhs5LhvLfLD5kKN034tVqScCe3I61P4bBBfTEQKOT4e/wD7JOStxjtAB/By60+
         T2kfwwzpOyBnCqoCvX16dmxLuoBORuX/x8Vjd+J8vM8oxKVkITBC3w3DVcvC530BY9O4
         GUyQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979487; x=1700584287;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=WLUIW1wEN60RfjCUyh0wJRK9Kz/EqjAkfQjEh/PTjs0=;
        b=taXlelYcf7jxUt0sTqtzarynLIo1EJVKAcNjJSd+BFjqMnK2knOT8fFI1nZpCTS5zP
         XI65Cox37p+tqlx8W1aXVLD9qH4a42nzBVec5349Iiau0hPUCfAZ+5iKJz8MKiVWOcVa
         WdumSCtxtVgdQXMz5DK1E2XHI7trHI1Xj2EaUQnGQxJZTC9jii9HLt2P8zf6ENmYaQzF
         ddmdOe1BthCGAyW68h0V+cPRoIbndfc1C37sKGC3jlEHkquP4vU0Z4l5BBNkOIFy/nja
         cctYoYAd3dy9kx7y0GhPOgfBCsUhQ7ua8hkZOFt31zLE/6rfSyKoCmrFxV5UmqDKmdEm
         vkLg==
X-Gm-Message-State: AOJu0YzCdTviRMS+Tq/HeaEsMj/VKsVWcFpjzyUupzw+F4mwJ4586hko
	wXsLgKE+MOakaSY3xTGht/RqpQ==
X-Google-Smtp-Source: AGHT+IEWSkzHY5obRM6zNhXhqu10PReegPajovJZrPBLVpt+fJDzRpOh65h9KSuNBeV+qPZ25y+u/g==
X-Received: by 2002:a17:906:b889:b0:9e0:dcf:17f6 with SMTP id hb9-20020a170906b88900b009e00dcf17f6mr7932359ejb.58.1699979487100;
        Tue, 14 Nov 2023 08:31:27 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [RFC PATCH-for-9.0 0/9] hw/xen: Have ARM targets use common xen_memory_listener
Date: Tue, 14 Nov 2023 17:31:14 +0100
Message-ID: <20231114163123.74888-1-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit

Hi,

While looking at Xen target-specific code, I noticed some
generic code used by x86 which is not implemented for ARM.

Maybe ARM machines don't need it, I don't know. But I
wanted to see if I can get this common code target agnostic
and build it once, possibly bringing smth useful to ARM.

The changes don't break CI testing and Avocado local tests.
If this xen_memory_listener feature isn't required for ARM,
I'll send follow up patch that keep this series with common
xen_memory_listener but with a runtime flag to disable.

Patches do the usual "change target-specific API to a
target-agnostic one", in particular using "exec/target_page.h"
at runtime. Then non-x86 code is extracted, then merged to
the generic xen/xen-hvm-common.c.

Thoughts?

Regards,

Phil.

Based-on: <20231114143816.71079-1-philmd@linaro.org>

Philippe Mathieu-Daudé (9):
  hw/xen/hvm: Inline TARGET_PAGE_ALIGN() macro
  hw/xen/hvm: Propagate page_mask to a pair of functions
  hw/xen/hvm: Get target page size at runtime
  hw/xen/hvm: Expose xen_memory_listener declaration
  hw/xen/hvm: Expose xen_read_physmap() prototype
  hw/xen/hvm: Initialize xen_physmap QLIST in xen_read_physmap()
  hw/xen/hvm: Extract common code to xen-hvm-common.c
  hw/xen/hvm: Merge xen-hvm-common.c files
  hw/xen/hvm: Inline xen_arch_set_memory()

 include/hw/xen/xen-hvm-common.h |   5 +-
 hw/arm/xen_arm.c                |  24 --
 hw/i386/xen/xen-hvm.c           | 441 +----------------------------
 hw/xen/xen-hvm-common.c         | 474 +++++++++++++++++++++++++++++++-
 stubs/xen-hw-stub.c             |   4 -
 5 files changed, 468 insertions(+), 480 deletions(-)

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:31:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:31:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632934.987442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wK9-0002is-O7; Tue, 14 Nov 2023 16:31:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632934.987442; Tue, 14 Nov 2023 16:31: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 1r2wK9-0002il-JS; Tue, 14 Nov 2023 16:31:37 +0000
Received: by outflank-mailman (input) for mailman id 632934;
 Tue, 14 Nov 2023 16:31: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wK7-0002h9-Q8
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:31:35 +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 46155b1f-830b-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 17:31:34 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-9c53e8b7cf4so855639266b.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:31:34 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 dt10-20020a170906b78a00b009a5f1d15644sm5694182ejb.119.2023.11.14.08.31.31
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:31:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 46155b1f-830b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979493; x=1700584293; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X6R5SODDqvfe3Gp9I1X7nXyO5kwGwphXiKxDLZtl7/E=;
        b=wva71bQqkzgC4iTeUR4DPuogn0twh9Lq8kki33rYFo5rOfZerJnotHI3O8Wu9nMh7R
         VeeEnl+s+zGmJrrsVZLZsLaxfhUBX6WJ3sLGiesQ5u1CF4KWMavfLWek1cWcvlyK2xzm
         7bJRpkWh7116PwykZqPjsu2Gq1e8UCjyC8QsOTxYTTKiYeOMqQtiOVSFEYMtfeJ1//rL
         Wlt1a8FsOuc7KgKQ7W5iuqGRBy42SW/WImV9f9ZHk3VmabS/Dn55bFqsvh6LWFEAsydO
         4Ndeh0cy6sVraRxN9zZ4dXXl73dKhDu7KoP7tjKws3F+0rNnWvi5mkBKSk4CYIJmxych
         nR0Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979493; x=1700584293;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=X6R5SODDqvfe3Gp9I1X7nXyO5kwGwphXiKxDLZtl7/E=;
        b=lgDUgMxIKFE1rta4B5mMXG1Y0Aa3Gs7WwgidnuX3oxKEGICwFixmK4KKVD69tGAzDU
         3aLHovLvtb3QyNTzQ1TYpG5Y5TlxHsLWw7mRAGgljpQP2Optkmg4wurNuzON05Li4x4m
         bt3i8OZZfgAnlFzkmceGCSDBsPw0YY0QgU75rXnpy/vgdM8GNzqXtwlBgiBpk5updPnT
         ofh6JH+Ac8AF0ksIxE8hHiBpyVaA/SJxd4b92yi8+VTasFBFmDr623z8Ky20a0+Z2pZX
         /2Wussyf3UTkTTFePueBEUdAtb1IadP8kRVAMAy3szdkx5xoMRkUHY+KxaYadOJwEMgr
         wHCg==
X-Gm-Message-State: AOJu0YwIKmwuYBk/O/l5tgi4RbEJax8GuDzHWm3iKYDukBySoA4ZaJbD
	I4H/RkDB8NeFsNozrrS4VNPpOQ==
X-Google-Smtp-Source: AGHT+IGutQxHrTQ0PDT/rm4Hi1BwUJSaiBc/cWKJ03y/patFhv44C9aSztIA1kKfAa9MrKB6HwgJAQ==
X-Received: by 2002:a17:907:1c9b:b0:9e7:c9e3:d63d with SMTP id nb27-20020a1709071c9b00b009e7c9e3d63dmr8902204ejc.7.1699979493603;
        Tue, 14 Nov 2023 08:31:33 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 1/9] hw/xen/hvm: Inline TARGET_PAGE_ALIGN() macro
Date: Tue, 14 Nov 2023 17:31:15 +0100
Message-ID: <20231114163123.74888-2-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114163123.74888-1-philmd@linaro.org>
References: <20231114163123.74888-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Use TARGET_PAGE_SIZE to calculate TARGET_PAGE_ALIGN.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/i386/xen/xen-hvm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index f1c30d1384..8aa6a1ec3b 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -678,7 +678,7 @@ void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
     trace_xen_client_set_memory(start_addr, size, log_dirty);
 
     start_addr &= TARGET_PAGE_MASK;
-    size = TARGET_PAGE_ALIGN(size);
+    size = ROUND_UP(size, TARGET_PAGE_SIZE);
 
     if (add) {
         if (!memory_region_is_rom(section->mr)) {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:31:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:31:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632935.987452 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wKE-00032c-UT; Tue, 14 Nov 2023 16:31:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632935.987452; Tue, 14 Nov 2023 16:31: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 1r2wKE-00032T-Qx; Tue, 14 Nov 2023 16:31:42 +0000
Received: by outflank-mailman (input) for mailman id 632935;
 Tue, 14 Nov 2023 16:31: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wKC-0002Oz-Qn
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:31:40 +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 49bc6004-830b-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:31:40 +0100 (CET)
Received: by mail-ed1-x52d.google.com with SMTP id
 4fb4d7f45d1cf-54553e4888bso8736942a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:31:40 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 d17-20020aa7c1d1000000b0052febc781bfsm5326899edp.36.2023.11.14.08.31.37
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:31:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49bc6004-830b-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979499; x=1700584299; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SmG1RvmEVqSdouF1EAJ1JhQ2v4iViVsF9xcNQ9FZB1E=;
        b=sLUq4ApkxaFV5M0N6k5rmOi/jNIwkaLCvcLA92qa1l+0O2wypPLVDp7wc1LRhtimvf
         NoVqbT1+6iqq7ymnZKVgwwZ3O5g3SpMkOsgaQ53qRCPGwzbE23cqQ+Ww4bSBWhJWcgif
         ghtAxjlE9CTKyMNXrJ4FOsoxehhJVrVfhxz9KgeihtCNMBrx6xdeKesBK63lD9usZ3lh
         m7piNZActxx5euhiY+H4Mi5hj6it2SjKWcdBrDhHqulHOF0VYSz690E/EpsUYmK+BAEJ
         pAyMs7XelfTMTgGwGnERkCNDsY1dHKUuq/+a0RR+guNVeUdFPkpZpSCi9LDOpz2ZoPSE
         tSvA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979499; x=1700584299;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SmG1RvmEVqSdouF1EAJ1JhQ2v4iViVsF9xcNQ9FZB1E=;
        b=Sh+V5h6ZCJ6otzxKAuPOzHd+bMuRm9ij+YXZjXi7SUQh3CCpdve1ljO6MSBWUGvuTv
         qkoxDeNrw1Q8Zx5aTqc7hBjtNuwnsUrK2f4ufyl36iam2TaZIM8YOANkZqqkqMmn85Ns
         39+0lvAL9YFjCwye9CadHjX2mbnQDS7gjRJHpqb4s74A6134uI+Z5+/fcClkoS4wHer2
         X0FC+LLDIQdUMYdXucBdeYlLZaaS8rHKyAYWOO6GSCOFNsog5wN49hmF8oSitKZ+lWqs
         E89M26QASEseNWLKmzubcL3cGixKcoVJOGoMNa8ZPa2agn1Cx2ASmDdUVdwNJXQWzJS/
         S/Mg==
X-Gm-Message-State: AOJu0YzKq8BfHq6+XQCmiVkZmGIfBX2fOieuweav+lRaEiFWtSC4nk4V
	ZNMBqRxaF1bNUTr4A0Liks244A==
X-Google-Smtp-Source: AGHT+IHL3uPIWo3k1FIfttqQPpxRZY2ZBH7YhX3W4Qy+3Zh4pc0MQhOvVP2dpnkHA2n+Lr+G86EpBQ==
X-Received: by 2002:aa7:c487:0:b0:547:cbc:e07d with SMTP id m7-20020aa7c487000000b005470cbce07dmr7903450edq.1.1699979499591;
        Tue, 14 Nov 2023 08:31:39 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [PATCH-for-9.0 2/9] hw/xen/hvm: Propagate page_mask to a pair of functions
Date: Tue, 14 Nov 2023 17:31:16 +0100
Message-ID: <20231114163123.74888-3-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114163123.74888-1-philmd@linaro.org>
References: <20231114163123.74888-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

We are going to replace TARGET_PAGE_MASK by a
runtime variable. In order to reduce code duplication,
propagate TARGET_PAGE_MASK to get_physmapping() and
xen_phys_offset_to_gaddr().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/i386/xen/xen-hvm.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 8aa6a1ec3b..3b10425986 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -174,11 +174,12 @@ static void xen_ram_init(PCMachineState *pcms,
     }
 }
 
-static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size)
+static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size,
+                                   int page_mask)
 {
     XenPhysmap *physmap = NULL;
 
-    start_addr &= TARGET_PAGE_MASK;
+    start_addr &= page_mask;
 
     QLIST_FOREACH(physmap, &xen_physmap, list) {
         if (range_covers_byte(physmap->start_addr, physmap->size, start_addr)) {
@@ -188,9 +189,10 @@ static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size)
     return NULL;
 }
 
-static hwaddr xen_phys_offset_to_gaddr(hwaddr phys_offset, ram_addr_t size)
+static hwaddr xen_phys_offset_to_gaddr(hwaddr phys_offset, ram_addr_t size,
+                                       int page_mask)
 {
-    hwaddr addr = phys_offset & TARGET_PAGE_MASK;
+    hwaddr addr = phys_offset & page_mask;
     XenPhysmap *physmap = NULL;
 
     QLIST_FOREACH(physmap, &xen_physmap, list) {
@@ -252,7 +254,7 @@ static int xen_add_to_physmap(XenIOState *state,
     hwaddr phys_offset = memory_region_get_ram_addr(mr);
     const char *mr_name;
 
-    if (get_physmapping(start_addr, size)) {
+    if (get_physmapping(start_addr, size, TARGET_PAGE_MASK)) {
         return 0;
     }
     if (size <= 0) {
@@ -325,7 +327,7 @@ static int xen_remove_from_physmap(XenIOState *state,
     XenPhysmap *physmap = NULL;
     hwaddr phys_offset = 0;
 
-    physmap = get_physmapping(start_addr, size);
+    physmap = get_physmapping(start_addr, size, TARGET_PAGE_MASK);
     if (physmap == NULL) {
         return -1;
     }
@@ -373,7 +375,7 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
     int rc, i, j;
     const XenPhysmap *physmap = NULL;
 
-    physmap = get_physmapping(start_addr, size);
+    physmap = get_physmapping(start_addr, size, TARGET_PAGE_MASK);
     if (physmap == NULL) {
         /* not handled */
         return;
@@ -633,7 +635,7 @@ void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
         int rc;
         ram_addr_t start_pfn, nb_pages;
 
-        start = xen_phys_offset_to_gaddr(start, length);
+        start = xen_phys_offset_to_gaddr(start, length, TARGET_PAGE_MASK);
 
         if (length == 0) {
             length = TARGET_PAGE_SIZE;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:31:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:31:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632936.987462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wKJ-0003Lo-78; Tue, 14 Nov 2023 16:31:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632936.987462; Tue, 14 Nov 2023 16:31: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 1r2wKJ-0003Lh-3c; Tue, 14 Nov 2023 16:31:47 +0000
Received: by outflank-mailman (input) for mailman id 632936;
 Tue, 14 Nov 2023 16:31: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wKI-0002Oz-NN
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:31:46 +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 4d4a08e9-830b-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:31:46 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-9e8b36e36e0so361036766b.2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:31:46 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 ay1-20020a170906d28100b009dd606ce80fsm5783743ejb.31.2023.11.14.08.31.43
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:31:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d4a08e9-830b-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979505; x=1700584305; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NT+opHNXDD+8bNoiCh7g5pdE2RHJ23alItnJp/zxUjY=;
        b=VoVDfZxH6iB3TtiiAQr/rNyvp7xw04uAtkVHf+sH7+TNt8i4JZkd5kydRavLuimoTm
         5t+SzuLN1iYZ8KS/Ln9BcxvwLo2c8G+0aegwxi4tLPajdN3UZXB6/cNeSTg9DslEodMY
         Rb6pxU+NwxRBtAIuvVWqaE0pD+lOl3nBzzSP+PfEoqCvEzwNYOcweBBFw6AF4egZptlf
         PBDnFjOW2MkTRjJwnNXsc88Z4SBstQvT1VGe+O0eOSHaS6L37ytGPJV+wIO0l6dDpD7Y
         gcx5SuubnUpklzeHlPuv3qBNNZLVY2pRSwRTlR+jJOHVCVudrTLqAMYPrUP2cFNRd91p
         XOlA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979505; x=1700584305;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=NT+opHNXDD+8bNoiCh7g5pdE2RHJ23alItnJp/zxUjY=;
        b=qAIAtSXUdha2bj+tTDNTwZIjTtO828FjuSflfw5PgXJRRYx1FI/TyY6ApCDodleLH9
         eaSKxIH35Qq8YFC+/HOtJKwVt8+1JlPT+nWlbSS21nsd2xeLyeIxIXC0lkN146Oot5vY
         pupnvH1woUkWFo/cMgE/msWHuDvsiwFGvjte7seUSrV8hFsk7n2i5PBoHIX1+6AntfLW
         kTRTQSlA/01PQVlyQINK0JyCCYjlfGeoY44SIxPvQXt5YeE6SV+Lqn1ocJB0yRF9ESrM
         hmV6nZTX3Xf6EryQkQ4hDOJ2A7dcDRflUQ1Q2N9ixAZsPJ4SuhE98FV7Z3dx8FhEt+0n
         TqGw==
X-Gm-Message-State: AOJu0YzzXuQNcwBkajQd5h1eRB7RwFIts6CAbi0mZR0wte9Oc+qnwQFx
	HG594h+uqPPd0ev0SzUrWYC3kQ==
X-Google-Smtp-Source: AGHT+IFzZ/WlakywfS2j4RNnJu+KHOxUEpzbwil6pYOK3zfVQW64jjDAFiv/57u6cKngaCaBboQSjg==
X-Received: by 2002:a17:907:7b8f:b0:9da:f85a:233f with SMTP id ne15-20020a1709077b8f00b009daf85a233fmr9830571ejc.28.1699979505694;
        Tue, 14 Nov 2023 08:31:45 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 3/9] hw/xen/hvm: Get target page size at runtime
Date: Tue, 14 Nov 2023 17:31:17 +0100
Message-ID: <20231114163123.74888-4-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114163123.74888-1-philmd@linaro.org>
References: <20231114163123.74888-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In order to build this file once for all targets, replace:

  TARGET_PAGE_BITS -> qemu_target_page_bits()
  TARGET_PAGE_SIZE -> qemu_target_page_size()
  TARGET_PAGE_MASK -> -qemu_target_page_size()

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/i386/xen/xen-hvm.c | 62 +++++++++++++++++++++++++++----------------
 1 file changed, 39 insertions(+), 23 deletions(-)

diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 3b10425986..b64204ea94 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -22,6 +22,7 @@
 
 #include "hw/xen/xen-hvm-common.h"
 #include <xen/hvm/e820.h>
+#include "exec/target_page.h"
 #include "cpu.h"
 
 static MemoryRegion ram_640k, ram_lo, ram_hi;
@@ -247,6 +248,9 @@ static int xen_add_to_physmap(XenIOState *state,
                               MemoryRegion *mr,
                               hwaddr offset_within_region)
 {
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
     unsigned long nr_pages;
     int rc = 0;
     XenPhysmap *physmap = NULL;
@@ -254,7 +258,7 @@ static int xen_add_to_physmap(XenIOState *state,
     hwaddr phys_offset = memory_region_get_ram_addr(mr);
     const char *mr_name;
 
-    if (get_physmapping(start_addr, size, TARGET_PAGE_MASK)) {
+    if (get_physmapping(start_addr, size, page_mask)) {
         return 0;
     }
     if (size <= 0) {
@@ -294,9 +298,9 @@ go_physmap:
         return 0;
     }
 
-    pfn = phys_offset >> TARGET_PAGE_BITS;
-    start_gpfn = start_addr >> TARGET_PAGE_BITS;
-    nr_pages = size >> TARGET_PAGE_BITS;
+    pfn = phys_offset >> target_page_bits;
+    start_gpfn = start_addr >> target_page_bits;
+    nr_pages = size >> target_page_bits;
     rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, nr_pages, pfn,
                                         start_gpfn);
     if (rc) {
@@ -310,8 +314,8 @@ go_physmap:
     }
 
     rc = xendevicemodel_pin_memory_cacheattr(xen_dmod, xen_domid,
-                                   start_addr >> TARGET_PAGE_BITS,
-                                   (start_addr + size - 1) >> TARGET_PAGE_BITS,
+                                   start_addr >> target_page_bits,
+                                   (start_addr + size - 1) >> target_page_bits,
                                    XEN_DOMCTL_MEM_CACHEATTR_WB);
     if (rc) {
         error_report("pin_memory_cacheattr failed: %s", strerror(errno));
@@ -323,11 +327,14 @@ static int xen_remove_from_physmap(XenIOState *state,
                                    hwaddr start_addr,
                                    ram_addr_t size)
 {
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
     int rc = 0;
     XenPhysmap *physmap = NULL;
     hwaddr phys_offset = 0;
 
-    physmap = get_physmapping(start_addr, size, TARGET_PAGE_MASK);
+    physmap = get_physmapping(start_addr, size, page_mask);
     if (physmap == NULL) {
         return -1;
     }
@@ -338,9 +345,9 @@ static int xen_remove_from_physmap(XenIOState *state,
     DPRINTF("unmapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx", at "
             "%"HWADDR_PRIx"\n", start_addr, start_addr + size, phys_offset);
 
-    size >>= TARGET_PAGE_BITS;
-    start_addr >>= TARGET_PAGE_BITS;
-    phys_offset >>= TARGET_PAGE_BITS;
+    size >>= target_page_bits;
+    start_addr >>= target_page_bits;
+    phys_offset >>= target_page_bits;
     rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, size, start_addr,
                                         phys_offset);
     if (rc) {
@@ -369,13 +376,16 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
                                   hwaddr start_addr,
                                   ram_addr_t size)
 {
-    hwaddr npages = size >> TARGET_PAGE_BITS;
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    hwaddr npages = size >> target_page_bits;
     const int width = sizeof(unsigned long) * 8;
     size_t bitmap_size = DIV_ROUND_UP(npages, width);
     int rc, i, j;
     const XenPhysmap *physmap = NULL;
 
-    physmap = get_physmapping(start_addr, size, TARGET_PAGE_MASK);
+    physmap = get_physmapping(start_addr, size, page_mask);
     if (physmap == NULL) {
         /* not handled */
         return;
@@ -389,7 +399,7 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
         return;
     }
 
-    rc = xen_track_dirty_vram(xen_domid, start_addr >> TARGET_PAGE_BITS,
+    rc = xen_track_dirty_vram(xen_domid, start_addr >> target_page_bits,
                               npages, dirty_bitmap);
     if (rc < 0) {
 #ifndef ENODATA
@@ -410,8 +420,7 @@ static void xen_sync_dirty_bitmap(XenIOState *state,
             j = ctzl(map);
             map &= ~(1ul << j);
             memory_region_set_dirty(framebuffer,
-                                    (i * width + j) * TARGET_PAGE_SIZE,
-                                    TARGET_PAGE_SIZE);
+                                    (i * width + j) * page_size, page_size);
         };
     }
 }
@@ -631,17 +640,21 @@ void xen_register_framebuffer(MemoryRegion *mr)
 
 void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
 {
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+
     if (unlikely(xen_in_migration)) {
         int rc;
         ram_addr_t start_pfn, nb_pages;
 
-        start = xen_phys_offset_to_gaddr(start, length, TARGET_PAGE_MASK);
+        start = xen_phys_offset_to_gaddr(start, length, page_mask);
 
         if (length == 0) {
-            length = TARGET_PAGE_SIZE;
+            length = page_size;
         }
-        start_pfn = start >> TARGET_PAGE_BITS;
-        nb_pages = ((start + length + TARGET_PAGE_SIZE - 1) >> TARGET_PAGE_BITS)
+        start_pfn = start >> target_page_bits;
+        nb_pages = ((start + length + page_size - 1) >> target_page_bits)
             - start_pfn;
         rc = xen_modified_memory(xen_domid, start_pfn, nb_pages);
         if (rc) {
@@ -664,6 +677,9 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
 void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
                          bool add)
 {
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
     hwaddr start_addr = section->offset_within_address_space;
     ram_addr_t size = int128_get64(section->size);
     bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA);
@@ -679,8 +695,8 @@ void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
 
     trace_xen_client_set_memory(start_addr, size, log_dirty);
 
-    start_addr &= TARGET_PAGE_MASK;
-    size = ROUND_UP(size, TARGET_PAGE_SIZE);
+    start_addr &= page_mask;
+    size = ROUND_UP(size, page_size);
 
     if (add) {
         if (!memory_region_is_rom(section->mr)) {
@@ -689,8 +705,8 @@ void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
         } else {
             mem_type = HVMMEM_ram_ro;
             if (xen_set_mem_type(xen_domid, mem_type,
-                                 start_addr >> TARGET_PAGE_BITS,
-                                 size >> TARGET_PAGE_BITS)) {
+                                 start_addr >> target_page_bits,
+                                 size >> target_page_bits)) {
                 DPRINTF("xen_set_mem_type error, addr: "HWADDR_FMT_plx"\n",
                         start_addr);
             }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:31:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:31:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632938.987472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wKQ-0003pQ-Kv; Tue, 14 Nov 2023 16:31:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632938.987472; Tue, 14 Nov 2023 16: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 1r2wKQ-0003pE-G8; Tue, 14 Nov 2023 16:31:54 +0000
Received: by outflank-mailman (input) for mailman id 632938;
 Tue, 14 Nov 2023 16: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wKO-0002Oz-Tt
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:31:52 +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 51145ac1-830b-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:31:52 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-53de0d1dc46so9475907a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:31:52 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 d17-20020aa7c1d1000000b0052febc781bfsm5327156edp.36.2023.11.14.08.31.50
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:31:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51145ac1-830b-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979512; x=1700584312; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=hRnzgqjbzRTGqJ5jrYQJxW1BmP5r27YtuyDu1IVzHFA=;
        b=bsneDyKfYbpDwR3rGe0BtvHR/DdJGyarFuW8xGzMLja2PnMQX2lT56n287T6Oy+CDe
         0d4TMkq857BpgEg5HI48JauWFhCyhMLJNuM9xWdBJPWCRYDQ0r+gh3VPiF0zJjvbh9sK
         cTaCQJhwjtVNfbQh9Th8NAHXWnil6ercsK8xqDtxiks6gxCPZKHhzMKAiOzR0pN5ea+A
         dMPhEXbZ1vXp2hX4i/css0iM8asTlRN6Wote5KINbNl7SNTp5779ZHNmHoKys8TXLvZ1
         z1Y3+IzP58/Bxi/+B5RLl6Ixbn8dfYuUIQeOgjyMfXml+6HwRmcbm3fjBTcLzc6r4R8c
         nBTA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979512; x=1700584312;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=hRnzgqjbzRTGqJ5jrYQJxW1BmP5r27YtuyDu1IVzHFA=;
        b=X12z9V+M7NcU6ID1cb3X/3BAABv/BAbLrnIvXeXdjvTKdeRyikvQww7eSIGFawdOLL
         jmonxu9ngxOtp+ASCE8WXYGmhq8AVMvaHv3dFx/UMvvobHyuMiu8JPp1K1FCfmjCjbMQ
         2JRym7k6Jw5J2/s8OOYPTtK6VWORSt/oX0gkh9NfcPNW/qlb90pkMLMD0ss1l+v28ahI
         NwHOViML4TXo9FVWeFTGD54Mi+D4GgIM9dSJR8zhKW8WtsBv/+gigkHI+na7qljOn8CM
         b50m+qKn088si85PozhKD8xAmORL+C+QmPA9tF1NA/5uApnoCvTL3U3snx1+Lft9O66T
         aBPA==
X-Gm-Message-State: AOJu0Yy/qFhMsR7RmEoxK8JOtjXaxAf/EYj8miIIT5NN/kO2UmIlTpzM
	1yMxktosvu8bGrBDIDEtQzr9ig==
X-Google-Smtp-Source: AGHT+IE8/KnAMA1FjOTiA03DDYyTyNl6glp0CwMJ10smYv5ORjVAvozuUmjkzAh9auk1H2jVfOhg2Q==
X-Received: by 2002:a05:6402:3cf:b0:543:70c2:aa8d with SMTP id t15-20020a05640203cf00b0054370c2aa8dmr7379909edw.15.1699979511911;
        Tue, 14 Nov 2023 08:31:51 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [PATCH-for-9.0 4/9] hw/xen/hvm: Expose xen_memory_listener declaration
Date: Tue, 14 Nov 2023 17:31:18 +0100
Message-ID: <20231114163123.74888-5-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114163123.74888-1-philmd@linaro.org>
References: <20231114163123.74888-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

There can only be a single xen_memory_listener definition
in a qemu-system binary.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/xen/xen-hvm-common.h | 1 +
 hw/arm/xen_arm.c                | 2 +-
 hw/i386/xen/xen-hvm.c           | 2 +-
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 83ed16f425..0fed15ed04 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -18,6 +18,7 @@
 extern MemoryRegion xen_memory;
 extern MemoryListener xen_io_listener;
 extern DeviceListener xen_device_listener;
+extern const MemoryListener xen_memory_listener;
 
 //#define DEBUG_XEN_HVM
 
diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index b478d74ea0..39dcd74d07 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -38,7 +38,7 @@
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
 OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
 
-static const MemoryListener xen_memory_listener = {
+const MemoryListener xen_memory_listener = {
     .region_add = xen_region_add,
     .region_del = xen_region_del,
     .log_start = NULL,
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index b64204ea94..a65a96f0de 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -469,7 +469,7 @@ static void xen_log_global_stop(MemoryListener *listener)
     xen_in_migration = false;
 }
 
-static const MemoryListener xen_memory_listener = {
+const MemoryListener xen_memory_listener = {
     .name = "xen-memory",
     .region_add = xen_region_add,
     .region_del = xen_region_del,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:31:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632940.987482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wKV-0004E7-SG; Tue, 14 Nov 2023 16:31:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632940.987482; Tue, 14 Nov 2023 16:31: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 1r2wKV-0004Dy-PH; Tue, 14 Nov 2023 16:31:59 +0000
Received: by outflank-mailman (input) for mailman id 632940;
 Tue, 14 Nov 2023 16:31: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wKU-0002Oz-NA
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:31:58 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54908170-830b-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:31:58 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-507a98517f3so7716957e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:31:58 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 c19-20020a50f613000000b00542d3e470f9sm5386152edn.10.2023.11.14.08.31.56
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:31:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54908170-830b-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979518; x=1700584318; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=3H+/pStoCerFaavD4+6+pbKHikmNIDPKszX2p8LZLs8=;
        b=o/OPdGQn4KcF5VVKQ0LWuogs5ExlPRxZPFqJXgi8kjyDO6uFoV6gH0FM2D+L0rzeVA
         gEBJHtbgMJFIyULkBjuydwU7v1Iuk1YWLqoKx4pmIJHYuR2nJSpiae1DBdeDSJ1R7niK
         9q4v352CJRZ2aLYTqZZnoB5SXq/MaRX5rKSNDzD3P7k8KdDfCftETxf0u6vCsaQ+ORCn
         piTOLlujWDch8XkYqWpOCRx1TYlx/2w/RRLgGQ5NPdVF8xarUIekU0zNESDOtOMpCWQP
         UAC1QNzXXTYwVUQjJWZ2RbLtvHYLcbxyxJUL2SuqLFNGcfX62o5vj3k+pXcjz2DxnWH/
         3z9A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979518; x=1700584318;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=3H+/pStoCerFaavD4+6+pbKHikmNIDPKszX2p8LZLs8=;
        b=P0xFNq5bo7XJS10wA4BV/FmEzedACuku6sxTSxlop6iigzlPYK7NDz6vFdsxSK1lN4
         EKe+jKeu3wjLoF+a1U38Y7Qd50eR8jgT0r7rWlLiWiu4TBYm3XwgBVmt3GemLnkOblCX
         c6ZAaH4uF2My4Gg3BZN+/A292ZVLq6avmKx35QwoJ0FKh9JFSURYOq2A33e9yN08qFqp
         A+CaMbJYDc3Ea1JFZ+JvvtkDW4+VO7ttOc6Ngp5fXtUTvQ6mLP+m8vBI+swnYtfyQhOs
         KmK7Py4L+SXsNoBrju3JsYFeI2rXO2oz6LKk59j7xZ2RZgBk4z9aqpHHlPC2Abs4raZR
         K60w==
X-Gm-Message-State: AOJu0YwV1NupNyMpOA4xw9fKyElm+ROzvElDf5n5qNxgai3o+gtBE5jW
	i5Ye4Ih299NBhExIWF8vzpsyqg==
X-Google-Smtp-Source: AGHT+IFU6wDkoylQ5/58cZgzmE5wfkRGyUxVY57V7J9SRhQ2EOS6zAeN62VBuenc3iIc8vTnT/LH0w==
X-Received: by 2002:a19:9103:0:b0:507:9f4c:b72 with SMTP id t3-20020a199103000000b005079f4c0b72mr5872272lfd.15.1699979517897;
        Tue, 14 Nov 2023 08:31:57 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Subject: [PATCH-for-9.0 5/9] hw/xen/hvm: Expose xen_read_physmap() prototype
Date: Tue, 14 Nov 2023 17:31:19 +0100
Message-ID: <20231114163123.74888-6-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114163123.74888-1-philmd@linaro.org>
References: <20231114163123.74888-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In a pair of commit we are going to call xen_read_physmap()
out of hw/i386/xen/xen-hvm.c.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/xen/xen-hvm-common.h | 1 +
 hw/i386/xen/xen-hvm.c           | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 0fed15ed04..536712dc83 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -97,6 +97,7 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus,
 
 void cpu_ioreq_pio(ioreq_t *req);
 
+void xen_read_physmap(XenIOState *state);
 void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
 void xen_arch_set_memory(XenIOState *state,
                          MemoryRegionSection *section,
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index a65a96f0de..789779d02c 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -525,7 +525,7 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req)
 }
 
 #ifdef XEN_COMPAT_PHYSMAP
-static void xen_read_physmap(XenIOState *state)
+void xen_read_physmap(XenIOState *state)
 {
     XenPhysmap *physmap = NULL;
     unsigned int len, num, i;
@@ -573,7 +573,7 @@ static void xen_read_physmap(XenIOState *state)
     free(entries);
 }
 #else
-static void xen_read_physmap(XenIOState *state)
+void xen_read_physmap(XenIOState *state)
 {
 }
 #endif
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:32:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:32:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632944.987492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wKd-0004rJ-5c; Tue, 14 Nov 2023 16:32:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632944.987492; Tue, 14 Nov 2023 16: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 1r2wKd-0004qS-1I; Tue, 14 Nov 2023 16:32:07 +0000
Received: by outflank-mailman (input) for mailman id 632944;
 Tue, 14 Nov 2023 16:32: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wKb-0002h9-Pt
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:32:05 +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 5824a3dd-830b-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 17:32:04 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-9bf86b77a2aso858902566b.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:32:04 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 b11-20020a1709062b4b00b009b2b47cd757sm5740724ejg.9.2023.11.14.08.32.02
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:32:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5824a3dd-830b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979524; x=1700584324; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WTlDtVgsnwcqvtsJBU/yKayNDVYOQAUQMToAEPEK6Gk=;
        b=Hso6voe26dqIr54LrcVEjXR3IxXoQDsKVtCYODMH80a6pcCVtpUS1oaNdpB4xuCcD3
         x0X0vcKbzXyjuC0ubiRBr4XS6ZvbHKNKJxX58LwndTgehim2H6ljA9U6Gtd8zk5q1kcK
         UpZqiv0pyvobXaQvxh6rhaNFpRscttC7FHJKMqIJ71E6fIDNmMDqiwm1ghcztcG4Wafb
         PQvLnKClXR8b63BZfS5WG2f13tWAFF3W9eX5WfzjX0/z3t6cHuWh30slLGq2C0d6yIO8
         x4HypwDyhQtCuyNK2S6o1G7xF57iLzFsd+RA3t7L35KUYrEzDCohmMojUM098/rP7U5P
         CTtA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979524; x=1700584324;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=WTlDtVgsnwcqvtsJBU/yKayNDVYOQAUQMToAEPEK6Gk=;
        b=riyKYJFAwITcpmpPmqzs9wSIcDC/04RKgLKD16k8JQT+LhD0Fldxf90wbvZWbeXONX
         FNlPze3ebV/aWMQ/yCw1bhdU7+WrL//SlI2rp4NlqiBs4wISSawWSIuEGWZJJf2Ucu0k
         QWeB2Me6QMIiEymMw4X8jX242czk08xVooMN8uIR2m29HNVfubBj9nxJ0DUpH8zpjRTu
         zeAAf0DVzkvcLHrcjb5llUSAYnknRSjhWflRg0aj3U3M6FIM79Lm9m8c3S7PYNKcJonh
         ea/TOxBi9qjRmZiWzaIknMTEQiOvFUDvlCzMFK5MAU7NBbQsgLswa/QlHKj759VeVWQY
         b55w==
X-Gm-Message-State: AOJu0YyYMVZYyKb6kqhgGozr+QgIM+P5rOP5HKTlK/XVlardAqW0GEeO
	3W/GZxL798ohWY26yY0OXd74qujw1JNgRWxBrXc=
X-Google-Smtp-Source: AGHT+IHt381u+VrZTF53LFbjgSQ6v/t56GRcLe7EuiK5Y6nqGj9R0LI6bw4MbxrPYnsq1mWw3maHWw==
X-Received: by 2002:a17:906:3458:b0:9dd:dc2a:eb8b with SMTP id d24-20020a170906345800b009dddc2aeb8bmr6116891ejb.41.1699979523898;
        Tue, 14 Nov 2023 08:32:03 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [RFC PATCH-for-9.0 6/9] hw/xen/hvm: Initialize xen_physmap QLIST in xen_read_physmap()
Date: Tue, 14 Nov 2023 17:31:20 +0100
Message-ID: <20231114163123.74888-7-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114163123.74888-1-philmd@linaro.org>
References: <20231114163123.74888-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

xen_read_physmap() is the first function requiring
xen_physmap QLIST being initialized. Move the init
call there.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/i386/xen/xen-hvm.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 789779d02c..3b9c31c1c8 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -532,6 +532,8 @@ void xen_read_physmap(XenIOState *state)
     char path[80], *value = NULL;
     char **entries = NULL;
 
+    QLIST_INIT(&xen_physmap);
+
     snprintf(path, sizeof(path),
             "/local/domain/0/device-model/%d/physmap", xen_domid);
     entries = xs_directory(state->xenstore, 0, path, &num);
@@ -575,6 +577,7 @@ void xen_read_physmap(XenIOState *state)
 #else
 void xen_read_physmap(XenIOState *state)
 {
+    QLIST_INIT(&xen_physmap);
 }
 #endif
 
@@ -595,7 +598,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory)
 
     xen_register_ioreq(state, max_cpus, &xen_memory_listener);
 
-    QLIST_INIT(&xen_physmap);
     xen_read_physmap(state);
 
     suspend.notify = xen_suspend_notifier;
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:32:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:32:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632946.987502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wKk-0005VO-Dm; Tue, 14 Nov 2023 16:32:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632946.987502; Tue, 14 Nov 2023 16: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 1r2wKk-0005UW-9e; Tue, 14 Nov 2023 16:32:14 +0000
Received: by outflank-mailman (input) for mailman id 632946;
 Tue, 14 Nov 2023 16:32: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wKi-0002Oz-4v
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:32:12 +0000
Received: from mail-ej1-x62e.google.com (mail-ej1-x62e.google.com
 [2a00:1450:4864:20::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5bf9eee4-830b-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:32:10 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-9c3aec5f326so1398320966b.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:32:10 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 k15-20020a17090646cf00b009932337747esm5670007ejs.86.2023.11.14.08.32.08
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:32:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5bf9eee4-830b-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979530; x=1700584330; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H4vt0ZlqdP4cApbIjAIfqTCMR9wYqBXojziD0Op/yXU=;
        b=P61Y/Nxs3dbHEhVx2tPNAjHA/dA6sZPIiWVkw0hpDXm9EFaXRHyfvl+utnXmDW+ke5
         WjD1tkcaUULyK/YGNpup/LBk3O6jEs0mOhZebmDbsl4PoCRpeba+ZEu8EFL63BrzWS3R
         KOAkxQAW96X0yesf1cK8SLn/N6ViwC0i9zJu65MvH8SW/gQ2nXf3IPjS9EQ+wtgwYJxm
         Lyba8P+nagdAPMfmlugRUDHLflJ0BzRLoYOz5YF21TB4qsAy9mqrf6npkg7QgFDN9TvN
         STTFNGhgI6sfNPlBT+3iyn+zQnbOqhB75JxiQrfgUzIlIjuANU+LRwHjfEJ6mQvRUU/V
         8Ctw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979530; x=1700584330;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=H4vt0ZlqdP4cApbIjAIfqTCMR9wYqBXojziD0Op/yXU=;
        b=UG+LzPg8NNvJHNFMFe+n5Mb+5AWPz9tTzABVOO/HxfNpfOPQMqZiAFPVfHuz99FyBa
         5h1DVYH/90UnF98SUr4Gnc6PWOQvm2lXc/Z6JE3OliyqcE1i40uNVI90a9QD9Y3rrvsX
         W0QJPksiWfjJKYkFKwLFXfgJvD205ztj1SBh1SKA+CU2eg/dlROkcr0PtOYODMg0IMNR
         mhCoGIM4KNoS4Rjhs3mK0nfUE06ezbrk7NUcm0FLwxxgXHbtkAfjfliHEhFft/F3rFLu
         ocrov1gvDD4BP+F40+Xpzm7WXLbgzudwAmLSHux+qAdUnt4ANjXMCtnX5WEFhlwpzm5D
         cR8w==
X-Gm-Message-State: AOJu0YxPhfvBjj9eOTUyppJks6ETBBbOHu373QPaowhsBCOxFq02mKBy
	DhMDuWxTYtkEsKo6yno5JKHWVQ==
X-Google-Smtp-Source: AGHT+IELT61PbPjwVXxuH+TJlXpsuDAjuE2mWwi9Afbapfuv6KVhTt3679yscvvJRLV4fCglxsflqg==
X-Received: by 2002:a17:906:4fc8:b0:9a2:295a:9bbc with SMTP id i8-20020a1709064fc800b009a2295a9bbcmr3242168ejw.37.1699979530242;
        Tue, 14 Nov 2023 08:32:10 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [PATCH-for-9.0 7/9] hw/xen/hvm: Extract common code to xen-hvm-common.c
Date: Tue, 14 Nov 2023 17:31:21 +0100
Message-ID: <20231114163123.74888-8-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114163123.74888-1-philmd@linaro.org>
References: <20231114163123.74888-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Extract non-x86 specific code out of xen-hvm.c,
to xen-hvm-common.c. For now this new file is
only build for x86 targets.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/i386/xen/xen-hvm-common.c | 473 +++++++++++++++++++++++++++++++++++
 hw/i386/xen/xen-hvm.c        | 459 ---------------------------------
 hw/i386/xen/meson.build      |   1 +
 3 files changed, 474 insertions(+), 459 deletions(-)
 create mode 100644 hw/i386/xen/xen-hvm-common.c

diff --git a/hw/i386/xen/xen-hvm-common.c b/hw/i386/xen/xen-hvm-common.c
new file mode 100644
index 0000000000..e8ef0e0c94
--- /dev/null
+++ b/hw/i386/xen/xen-hvm-common.c
@@ -0,0 +1,473 @@
+/*
+ * Copyright (C) 2010       Citrix Ltd.
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2.  See
+ * the COPYING file in the top-level directory.
+ *
+ * Contributions after 2012-01-13 are licensed under the terms of the
+ * GNU GPL, version 2 or (at your option) any later version.
+ */
+
+#include "qemu/osdep.h"
+#include "qemu/range.h"
+#include "qapi/qapi-commands-migration.h"
+#include "exec/target_page.h"
+#include "hw/xen/xen-hvm-common.h"
+#include "trace.h"
+
+static MemoryRegion *framebuffer;
+static bool xen_in_migration;
+
+static QLIST_HEAD(, XenPhysmap) xen_physmap;
+static const XenPhysmap *log_for_dirtybit;
+/* Buffer used by xen_sync_dirty_bitmap */
+static unsigned long *dirty_bitmap;
+
+static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size,
+                                   int page_mask)
+{
+    XenPhysmap *physmap = NULL;
+
+    start_addr &= -page_mask;
+
+    QLIST_FOREACH(physmap, &xen_physmap, list) {
+        if (range_covers_byte(physmap->start_addr, physmap->size, start_addr)) {
+            return physmap;
+        }
+    }
+    return NULL;
+}
+
+static hwaddr xen_phys_offset_to_gaddr(hwaddr phys_offset, ram_addr_t size,
+                                       int page_mask)
+{
+    hwaddr addr = phys_offset & -page_mask;
+    XenPhysmap *physmap = NULL;
+
+    QLIST_FOREACH(physmap, &xen_physmap, list) {
+        if (range_covers_byte(physmap->phys_offset, physmap->size, addr)) {
+            return physmap->start_addr + (phys_offset - physmap->phys_offset);
+        }
+    }
+
+    return phys_offset;
+}
+
+#ifdef XEN_COMPAT_PHYSMAP
+static int xen_save_physmap(XenIOState *state, XenPhysmap *physmap)
+{
+    char path[80], value[17];
+
+    snprintf(path, sizeof(path),
+            "/local/domain/0/device-model/%d/physmap/%"PRIx64"/start_addr",
+            xen_domid, (uint64_t)physmap->phys_offset);
+    snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->start_addr);
+    if (!xs_write(state->xenstore, 0, path, value, strlen(value))) {
+        return -1;
+    }
+    snprintf(path, sizeof(path),
+            "/local/domain/0/device-model/%d/physmap/%"PRIx64"/size",
+            xen_domid, (uint64_t)physmap->phys_offset);
+    snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->size);
+    if (!xs_write(state->xenstore, 0, path, value, strlen(value))) {
+        return -1;
+    }
+    if (physmap->name) {
+        snprintf(path, sizeof(path),
+                "/local/domain/0/device-model/%d/physmap/%"PRIx64"/name",
+                xen_domid, (uint64_t)physmap->phys_offset);
+        if (!xs_write(state->xenstore, 0, path,
+                      physmap->name, strlen(physmap->name))) {
+            return -1;
+        }
+    }
+    return 0;
+}
+#else
+static int xen_save_physmap(XenIOState *state, XenPhysmap *physmap)
+{
+    return 0;
+}
+#endif
+
+static int xen_add_to_physmap(XenIOState *state,
+                              hwaddr start_addr,
+                              ram_addr_t size,
+                              MemoryRegion *mr,
+                              hwaddr offset_within_region)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    unsigned long nr_pages;
+    int rc = 0;
+    XenPhysmap *physmap = NULL;
+    hwaddr pfn, start_gpfn;
+    hwaddr phys_offset = memory_region_get_ram_addr(mr);
+    const char *mr_name;
+
+    if (get_physmapping(start_addr, size, page_mask)) {
+        return 0;
+    }
+    if (size <= 0) {
+        return -1;
+    }
+
+    /* Xen can only handle a single dirty log region for now and we want
+     * the linear framebuffer to be that region.
+     * Avoid tracking any regions that is not videoram and avoid tracking
+     * the legacy vga region. */
+    if (mr == framebuffer && start_addr > 0xbffff) {
+        goto go_physmap;
+    }
+    return -1;
+
+go_physmap:
+    DPRINTF("mapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx"\n",
+            start_addr, start_addr + size);
+
+    mr_name = memory_region_name(mr);
+
+    physmap = g_new(XenPhysmap, 1);
+
+    physmap->start_addr = start_addr;
+    physmap->size = size;
+    physmap->name = mr_name;
+    physmap->phys_offset = phys_offset;
+
+    QLIST_INSERT_HEAD(&xen_physmap, physmap, list);
+
+    if (runstate_check(RUN_STATE_INMIGRATE)) {
+        /* Now when we have a physmap entry we can replace a dummy mapping with
+         * a real one of guest foreign memory. */
+        uint8_t *p = xen_replace_cache_entry(phys_offset, start_addr, size);
+        assert(p && p == memory_region_get_ram_ptr(mr));
+
+        return 0;
+    }
+
+    pfn = phys_offset >> target_page_bits;
+    start_gpfn = start_addr >> target_page_bits;
+    nr_pages = size >> target_page_bits;
+    rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, nr_pages, pfn,
+                                        start_gpfn);
+    if (rc) {
+        int saved_errno = errno;
+
+        error_report("relocate_memory %lu pages from GFN %"HWADDR_PRIx
+                     " to GFN %"HWADDR_PRIx" failed: %s",
+                     nr_pages, pfn, start_gpfn, strerror(saved_errno));
+        errno = saved_errno;
+        return -1;
+    }
+
+    rc = xendevicemodel_pin_memory_cacheattr(xen_dmod, xen_domid,
+                                   start_addr >> target_page_bits,
+                                   (start_addr + size - 1) >> target_page_bits,
+                                   XEN_DOMCTL_MEM_CACHEATTR_WB);
+    if (rc) {
+        error_report("pin_memory_cacheattr failed: %s", strerror(errno));
+    }
+    return xen_save_physmap(state, physmap);
+}
+
+static int xen_remove_from_physmap(XenIOState *state,
+                                   hwaddr start_addr,
+                                   ram_addr_t size)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    int rc = 0;
+    XenPhysmap *physmap = NULL;
+    hwaddr phys_offset = 0;
+
+    physmap = get_physmapping(start_addr, size, page_mask);
+    if (physmap == NULL) {
+        return -1;
+    }
+
+    phys_offset = physmap->phys_offset;
+    size = physmap->size;
+
+    DPRINTF("unmapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx", at "
+            "%"HWADDR_PRIx"\n", start_addr, start_addr + size, phys_offset);
+
+    size >>= target_page_bits;
+    start_addr >>= target_page_bits;
+    phys_offset >>= target_page_bits;
+    rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, size, start_addr,
+                                        phys_offset);
+    if (rc) {
+        int saved_errno = errno;
+
+        error_report("relocate_memory "RAM_ADDR_FMT" pages"
+                     " from GFN %"HWADDR_PRIx
+                     " to GFN %"HWADDR_PRIx" failed: %s",
+                     size, start_addr, phys_offset, strerror(saved_errno));
+        errno = saved_errno;
+        return -1;
+    }
+
+    QLIST_REMOVE(physmap, list);
+    if (log_for_dirtybit == physmap) {
+        log_for_dirtybit = NULL;
+        g_free(dirty_bitmap);
+        dirty_bitmap = NULL;
+    }
+    g_free(physmap);
+
+    return 0;
+}
+
+static void xen_sync_dirty_bitmap(XenIOState *state,
+                                  hwaddr start_addr,
+                                  ram_addr_t size)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    hwaddr npages = size >> target_page_bits;
+    const int width = sizeof(unsigned long) * 8;
+    size_t bitmap_size = DIV_ROUND_UP(npages, width);
+    int rc, i, j;
+    const XenPhysmap *physmap = NULL;
+
+    physmap = get_physmapping(start_addr, size, page_mask);
+    if (physmap == NULL) {
+        /* not handled */
+        return;
+    }
+
+    if (log_for_dirtybit == NULL) {
+        log_for_dirtybit = physmap;
+        dirty_bitmap = g_new(unsigned long, bitmap_size);
+    } else if (log_for_dirtybit != physmap) {
+        /* Only one range for dirty bitmap can be tracked. */
+        return;
+    }
+
+    rc = xen_track_dirty_vram(xen_domid, start_addr >> target_page_bits,
+                              npages, dirty_bitmap);
+    if (rc < 0) {
+#ifndef ENODATA
+#define ENODATA  ENOENT
+#endif
+        if (errno == ENODATA) {
+            memory_region_set_dirty(framebuffer, 0, size);
+            DPRINTF("xen: track_dirty_vram failed (0x" HWADDR_FMT_plx
+                    ", 0x" HWADDR_FMT_plx "): %s\n",
+                    start_addr, start_addr + size, strerror(errno));
+        }
+        return;
+    }
+
+    for (i = 0; i < bitmap_size; i++) {
+        unsigned long map = dirty_bitmap[i];
+        while (map != 0) {
+            j = ctzl(map);
+            map &= ~(1ul << j);
+            memory_region_set_dirty(framebuffer,
+                                    (i * width + j) * page_size,
+                                    page_size);
+        };
+    }
+}
+
+static void xen_log_start(MemoryListener *listener,
+                          MemoryRegionSection *section,
+                          int old, int new)
+{
+    XenIOState *state = container_of(listener, XenIOState, memory_listener);
+
+    if (new & ~old & (1 << DIRTY_MEMORY_VGA)) {
+        xen_sync_dirty_bitmap(state, section->offset_within_address_space,
+                              int128_get64(section->size));
+    }
+}
+
+static void xen_log_stop(MemoryListener *listener, MemoryRegionSection *section,
+                         int old, int new)
+{
+    if (old & ~new & (1 << DIRTY_MEMORY_VGA)) {
+        log_for_dirtybit = NULL;
+        g_free(dirty_bitmap);
+        dirty_bitmap = NULL;
+        /* Disable dirty bit tracking */
+        xen_track_dirty_vram(xen_domid, 0, 0, NULL);
+    }
+}
+
+static void xen_log_sync(MemoryListener *listener, MemoryRegionSection *section)
+{
+    XenIOState *state = container_of(listener, XenIOState, memory_listener);
+
+    xen_sync_dirty_bitmap(state, section->offset_within_address_space,
+                          int128_get64(section->size));
+}
+
+static void xen_log_global_start(MemoryListener *listener)
+{
+    if (xen_enabled()) {
+        xen_in_migration = true;
+    }
+}
+
+static void xen_log_global_stop(MemoryListener *listener)
+{
+    xen_in_migration = false;
+}
+
+const MemoryListener xen_memory_listener = {
+    .name = "xen-memory",
+    .region_add = xen_region_add,
+    .region_del = xen_region_del,
+    .log_start = xen_log_start,
+    .log_stop = xen_log_stop,
+    .log_sync = xen_log_sync,
+    .log_global_start = xen_log_global_start,
+    .log_global_stop = xen_log_global_stop,
+    .priority = MEMORY_LISTENER_PRIORITY_ACCEL,
+};
+
+#ifdef XEN_COMPAT_PHYSMAP
+void xen_read_physmap(XenIOState *state)
+{
+    XenPhysmap *physmap = NULL;
+    unsigned int len, num, i;
+    char path[80], *value = NULL;
+    char **entries = NULL;
+
+    QLIST_INIT(&xen_physmap);
+
+    snprintf(path, sizeof(path),
+            "/local/domain/0/device-model/%d/physmap", xen_domid);
+    entries = xs_directory(state->xenstore, 0, path, &num);
+    if (entries == NULL)
+        return;
+
+    for (i = 0; i < num; i++) {
+        physmap = g_new(XenPhysmap, 1);
+        physmap->phys_offset = strtoull(entries[i], NULL, 16);
+        snprintf(path, sizeof(path),
+                "/local/domain/0/device-model/%d/physmap/%s/start_addr",
+                xen_domid, entries[i]);
+        value = xs_read(state->xenstore, 0, path, &len);
+        if (value == NULL) {
+            g_free(physmap);
+            continue;
+        }
+        physmap->start_addr = strtoull(value, NULL, 16);
+        free(value);
+
+        snprintf(path, sizeof(path),
+                "/local/domain/0/device-model/%d/physmap/%s/size",
+                xen_domid, entries[i]);
+        value = xs_read(state->xenstore, 0, path, &len);
+        if (value == NULL) {
+            g_free(physmap);
+            continue;
+        }
+        physmap->size = strtoull(value, NULL, 16);
+        free(value);
+
+        snprintf(path, sizeof(path),
+                "/local/domain/0/device-model/%d/physmap/%s/name",
+                xen_domid, entries[i]);
+        physmap->name = xs_read(state->xenstore, 0, path, &len);
+
+        QLIST_INSERT_HEAD(&xen_physmap, physmap, list);
+    }
+    free(entries);
+}
+#else
+void xen_read_physmap(XenIOState *state)
+{
+    QLIST_INIT(&xen_physmap);
+}
+#endif
+
+void xen_register_framebuffer(MemoryRegion *mr)
+{
+    framebuffer = mr;
+}
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+
+    if (unlikely(xen_in_migration)) {
+        int rc;
+        ram_addr_t start_pfn, nb_pages;
+
+        start = xen_phys_offset_to_gaddr(start, length, page_mask);
+
+        if (length == 0) {
+            length = page_size;
+        }
+        start_pfn = start >> target_page_bits;
+        nb_pages = ((start + length + page_size - 1) >> target_page_bits)
+            - start_pfn;
+        rc = xen_modified_memory(xen_domid, start_pfn, nb_pages);
+        if (rc) {
+            fprintf(stderr,
+                    "%s failed for "RAM_ADDR_FMT" ("RAM_ADDR_FMT"): %i, %s\n",
+                    __func__, start, nb_pages, errno, strerror(errno));
+        }
+    }
+}
+
+void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
+{
+    if (enable) {
+        memory_global_dirty_log_start(GLOBAL_DIRTY_MIGRATION);
+    } else {
+        memory_global_dirty_log_stop(GLOBAL_DIRTY_MIGRATION);
+    }
+}
+
+void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
+                         bool add)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    hwaddr start_addr = section->offset_within_address_space;
+    ram_addr_t size = int128_get64(section->size);
+    bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA);
+    hvmmem_type_t mem_type;
+
+    if (!memory_region_is_ram(section->mr)) {
+        return;
+    }
+
+    if (log_dirty != add) {
+        return;
+    }
+
+    trace_xen_client_set_memory(start_addr, size, log_dirty);
+
+    start_addr &= page_mask;
+    size = ROUND_UP(size, page_size);
+
+    if (add) {
+        if (!memory_region_is_rom(section->mr)) {
+            xen_add_to_physmap(state, start_addr, size,
+                               section->mr, section->offset_within_region);
+        } else {
+            mem_type = HVMMEM_ram_ro;
+            if (xen_set_mem_type(xen_domid, mem_type,
+                                 start_addr >> target_page_bits,
+                                 size >> target_page_bits)) {
+                DPRINTF("xen_set_mem_type error, addr: "HWADDR_FMT_plx"\n",
+                        start_addr);
+            }
+        }
+    } else {
+        if (xen_remove_from_physmap(state, start_addr, size) < 0) {
+            DPRINTF("physmapping does not exist at "HWADDR_FMT_plx"\n", start_addr);
+        }
+    }
+}
diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c
index 3b9c31c1c8..5657693e1b 100644
--- a/hw/i386/xen/xen-hvm.c
+++ b/hw/i386/xen/xen-hvm.c
@@ -9,16 +9,11 @@
  */
 
 #include "qemu/osdep.h"
-#include "qemu/units.h"
-#include "qapi/error.h"
-#include "qapi/qapi-commands-migration.h"
-#include "trace.h"
 
 #include "hw/i386/pc.h"
 #include "hw/irq.h"
 #include "hw/i386/apic-msidef.h"
 #include "hw/xen/xen-x86.h"
-#include "qemu/range.h"
 
 #include "hw/xen/xen-hvm-common.h"
 #include <xen/hvm/e820.h>
@@ -26,8 +21,6 @@
 #include "cpu.h"
 
 static MemoryRegion ram_640k, ram_lo, ram_hi;
-static MemoryRegion *framebuffer;
-static bool xen_in_migration;
 
 /* Compatibility with older version */
 
@@ -56,10 +49,6 @@ typedef struct shared_vmport_iopage shared_vmport_iopage_t;
 
 static shared_vmport_iopage_t *shared_vmport_page;
 
-static QLIST_HEAD(, XenPhysmap) xen_physmap;
-static const XenPhysmap *log_for_dirtybit;
-/* Buffer used by xen_sync_dirty_bitmap */
-static unsigned long *dirty_bitmap;
 static Notifier suspend;
 static Notifier wakeup;
 
@@ -175,312 +164,6 @@ static void xen_ram_init(PCMachineState *pcms,
     }
 }
 
-static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size,
-                                   int page_mask)
-{
-    XenPhysmap *physmap = NULL;
-
-    start_addr &= page_mask;
-
-    QLIST_FOREACH(physmap, &xen_physmap, list) {
-        if (range_covers_byte(physmap->start_addr, physmap->size, start_addr)) {
-            return physmap;
-        }
-    }
-    return NULL;
-}
-
-static hwaddr xen_phys_offset_to_gaddr(hwaddr phys_offset, ram_addr_t size,
-                                       int page_mask)
-{
-    hwaddr addr = phys_offset & page_mask;
-    XenPhysmap *physmap = NULL;
-
-    QLIST_FOREACH(physmap, &xen_physmap, list) {
-        if (range_covers_byte(physmap->phys_offset, physmap->size, addr)) {
-            return physmap->start_addr + (phys_offset - physmap->phys_offset);
-        }
-    }
-
-    return phys_offset;
-}
-
-#ifdef XEN_COMPAT_PHYSMAP
-static int xen_save_physmap(XenIOState *state, XenPhysmap *physmap)
-{
-    char path[80], value[17];
-
-    snprintf(path, sizeof(path),
-            "/local/domain/0/device-model/%d/physmap/%"PRIx64"/start_addr",
-            xen_domid, (uint64_t)physmap->phys_offset);
-    snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->start_addr);
-    if (!xs_write(state->xenstore, 0, path, value, strlen(value))) {
-        return -1;
-    }
-    snprintf(path, sizeof(path),
-            "/local/domain/0/device-model/%d/physmap/%"PRIx64"/size",
-            xen_domid, (uint64_t)physmap->phys_offset);
-    snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->size);
-    if (!xs_write(state->xenstore, 0, path, value, strlen(value))) {
-        return -1;
-    }
-    if (physmap->name) {
-        snprintf(path, sizeof(path),
-                "/local/domain/0/device-model/%d/physmap/%"PRIx64"/name",
-                xen_domid, (uint64_t)physmap->phys_offset);
-        if (!xs_write(state->xenstore, 0, path,
-                      physmap->name, strlen(physmap->name))) {
-            return -1;
-        }
-    }
-    return 0;
-}
-#else
-static int xen_save_physmap(XenIOState *state, XenPhysmap *physmap)
-{
-    return 0;
-}
-#endif
-
-static int xen_add_to_physmap(XenIOState *state,
-                              hwaddr start_addr,
-                              ram_addr_t size,
-                              MemoryRegion *mr,
-                              hwaddr offset_within_region)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-    unsigned long nr_pages;
-    int rc = 0;
-    XenPhysmap *physmap = NULL;
-    hwaddr pfn, start_gpfn;
-    hwaddr phys_offset = memory_region_get_ram_addr(mr);
-    const char *mr_name;
-
-    if (get_physmapping(start_addr, size, page_mask)) {
-        return 0;
-    }
-    if (size <= 0) {
-        return -1;
-    }
-
-    /* Xen can only handle a single dirty log region for now and we want
-     * the linear framebuffer to be that region.
-     * Avoid tracking any regions that is not videoram and avoid tracking
-     * the legacy vga region. */
-    if (mr == framebuffer && start_addr > 0xbffff) {
-        goto go_physmap;
-    }
-    return -1;
-
-go_physmap:
-    DPRINTF("mapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx"\n",
-            start_addr, start_addr + size);
-
-    mr_name = memory_region_name(mr);
-
-    physmap = g_new(XenPhysmap, 1);
-
-    physmap->start_addr = start_addr;
-    physmap->size = size;
-    physmap->name = mr_name;
-    physmap->phys_offset = phys_offset;
-
-    QLIST_INSERT_HEAD(&xen_physmap, physmap, list);
-
-    if (runstate_check(RUN_STATE_INMIGRATE)) {
-        /* Now when we have a physmap entry we can replace a dummy mapping with
-         * a real one of guest foreign memory. */
-        uint8_t *p = xen_replace_cache_entry(phys_offset, start_addr, size);
-        assert(p && p == memory_region_get_ram_ptr(mr));
-
-        return 0;
-    }
-
-    pfn = phys_offset >> target_page_bits;
-    start_gpfn = start_addr >> target_page_bits;
-    nr_pages = size >> target_page_bits;
-    rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, nr_pages, pfn,
-                                        start_gpfn);
-    if (rc) {
-        int saved_errno = errno;
-
-        error_report("relocate_memory %lu pages from GFN %"HWADDR_PRIx
-                     " to GFN %"HWADDR_PRIx" failed: %s",
-                     nr_pages, pfn, start_gpfn, strerror(saved_errno));
-        errno = saved_errno;
-        return -1;
-    }
-
-    rc = xendevicemodel_pin_memory_cacheattr(xen_dmod, xen_domid,
-                                   start_addr >> target_page_bits,
-                                   (start_addr + size - 1) >> target_page_bits,
-                                   XEN_DOMCTL_MEM_CACHEATTR_WB);
-    if (rc) {
-        error_report("pin_memory_cacheattr failed: %s", strerror(errno));
-    }
-    return xen_save_physmap(state, physmap);
-}
-
-static int xen_remove_from_physmap(XenIOState *state,
-                                   hwaddr start_addr,
-                                   ram_addr_t size)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-    int rc = 0;
-    XenPhysmap *physmap = NULL;
-    hwaddr phys_offset = 0;
-
-    physmap = get_physmapping(start_addr, size, page_mask);
-    if (physmap == NULL) {
-        return -1;
-    }
-
-    phys_offset = physmap->phys_offset;
-    size = physmap->size;
-
-    DPRINTF("unmapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx", at "
-            "%"HWADDR_PRIx"\n", start_addr, start_addr + size, phys_offset);
-
-    size >>= target_page_bits;
-    start_addr >>= target_page_bits;
-    phys_offset >>= target_page_bits;
-    rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, size, start_addr,
-                                        phys_offset);
-    if (rc) {
-        int saved_errno = errno;
-
-        error_report("relocate_memory "RAM_ADDR_FMT" pages"
-                     " from GFN %"HWADDR_PRIx
-                     " to GFN %"HWADDR_PRIx" failed: %s",
-                     size, start_addr, phys_offset, strerror(saved_errno));
-        errno = saved_errno;
-        return -1;
-    }
-
-    QLIST_REMOVE(physmap, list);
-    if (log_for_dirtybit == physmap) {
-        log_for_dirtybit = NULL;
-        g_free(dirty_bitmap);
-        dirty_bitmap = NULL;
-    }
-    g_free(physmap);
-
-    return 0;
-}
-
-static void xen_sync_dirty_bitmap(XenIOState *state,
-                                  hwaddr start_addr,
-                                  ram_addr_t size)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-    hwaddr npages = size >> target_page_bits;
-    const int width = sizeof(unsigned long) * 8;
-    size_t bitmap_size = DIV_ROUND_UP(npages, width);
-    int rc, i, j;
-    const XenPhysmap *physmap = NULL;
-
-    physmap = get_physmapping(start_addr, size, page_mask);
-    if (physmap == NULL) {
-        /* not handled */
-        return;
-    }
-
-    if (log_for_dirtybit == NULL) {
-        log_for_dirtybit = physmap;
-        dirty_bitmap = g_new(unsigned long, bitmap_size);
-    } else if (log_for_dirtybit != physmap) {
-        /* Only one range for dirty bitmap can be tracked. */
-        return;
-    }
-
-    rc = xen_track_dirty_vram(xen_domid, start_addr >> target_page_bits,
-                              npages, dirty_bitmap);
-    if (rc < 0) {
-#ifndef ENODATA
-#define ENODATA  ENOENT
-#endif
-        if (errno == ENODATA) {
-            memory_region_set_dirty(framebuffer, 0, size);
-            DPRINTF("xen: track_dirty_vram failed (0x" HWADDR_FMT_plx
-                    ", 0x" HWADDR_FMT_plx "): %s\n",
-                    start_addr, start_addr + size, strerror(errno));
-        }
-        return;
-    }
-
-    for (i = 0; i < bitmap_size; i++) {
-        unsigned long map = dirty_bitmap[i];
-        while (map != 0) {
-            j = ctzl(map);
-            map &= ~(1ul << j);
-            memory_region_set_dirty(framebuffer,
-                                    (i * width + j) * page_size, page_size);
-        };
-    }
-}
-
-static void xen_log_start(MemoryListener *listener,
-                          MemoryRegionSection *section,
-                          int old, int new)
-{
-    XenIOState *state = container_of(listener, XenIOState, memory_listener);
-
-    if (new & ~old & (1 << DIRTY_MEMORY_VGA)) {
-        xen_sync_dirty_bitmap(state, section->offset_within_address_space,
-                              int128_get64(section->size));
-    }
-}
-
-static void xen_log_stop(MemoryListener *listener, MemoryRegionSection *section,
-                         int old, int new)
-{
-    if (old & ~new & (1 << DIRTY_MEMORY_VGA)) {
-        log_for_dirtybit = NULL;
-        g_free(dirty_bitmap);
-        dirty_bitmap = NULL;
-        /* Disable dirty bit tracking */
-        xen_track_dirty_vram(xen_domid, 0, 0, NULL);
-    }
-}
-
-static void xen_log_sync(MemoryListener *listener, MemoryRegionSection *section)
-{
-    XenIOState *state = container_of(listener, XenIOState, memory_listener);
-
-    xen_sync_dirty_bitmap(state, section->offset_within_address_space,
-                          int128_get64(section->size));
-}
-
-static void xen_log_global_start(MemoryListener *listener)
-{
-    if (xen_enabled()) {
-        xen_in_migration = true;
-    }
-}
-
-static void xen_log_global_stop(MemoryListener *listener)
-{
-    xen_in_migration = false;
-}
-
-const MemoryListener xen_memory_listener = {
-    .name = "xen-memory",
-    .region_add = xen_region_add,
-    .region_del = xen_region_del,
-    .log_start = xen_log_start,
-    .log_stop = xen_log_stop,
-    .log_sync = xen_log_sync,
-    .log_global_start = xen_log_global_start,
-    .log_global_stop = xen_log_global_stop,
-    .priority = MEMORY_LISTENER_PRIORITY_ACCEL,
-};
-
 static void regs_to_cpu(vmware_regs_t *vmport_regs, ioreq_t *req)
 {
     X86CPU *cpu;
@@ -524,63 +207,6 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req)
     current_cpu = NULL;
 }
 
-#ifdef XEN_COMPAT_PHYSMAP
-void xen_read_physmap(XenIOState *state)
-{
-    XenPhysmap *physmap = NULL;
-    unsigned int len, num, i;
-    char path[80], *value = NULL;
-    char **entries = NULL;
-
-    QLIST_INIT(&xen_physmap);
-
-    snprintf(path, sizeof(path),
-            "/local/domain/0/device-model/%d/physmap", xen_domid);
-    entries = xs_directory(state->xenstore, 0, path, &num);
-    if (entries == NULL)
-        return;
-
-    for (i = 0; i < num; i++) {
-        physmap = g_new(XenPhysmap, 1);
-        physmap->phys_offset = strtoull(entries[i], NULL, 16);
-        snprintf(path, sizeof(path),
-                "/local/domain/0/device-model/%d/physmap/%s/start_addr",
-                xen_domid, entries[i]);
-        value = xs_read(state->xenstore, 0, path, &len);
-        if (value == NULL) {
-            g_free(physmap);
-            continue;
-        }
-        physmap->start_addr = strtoull(value, NULL, 16);
-        free(value);
-
-        snprintf(path, sizeof(path),
-                "/local/domain/0/device-model/%d/physmap/%s/size",
-                xen_domid, entries[i]);
-        value = xs_read(state->xenstore, 0, path, &len);
-        if (value == NULL) {
-            g_free(physmap);
-            continue;
-        }
-        physmap->size = strtoull(value, NULL, 16);
-        free(value);
-
-        snprintf(path, sizeof(path),
-                "/local/domain/0/device-model/%d/physmap/%s/name",
-                xen_domid, entries[i]);
-        physmap->name = xs_read(state->xenstore, 0, path, &len);
-
-        QLIST_INSERT_HEAD(&xen_physmap, physmap, list);
-    }
-    free(entries);
-}
-#else
-void xen_read_physmap(XenIOState *state)
-{
-    QLIST_INIT(&xen_physmap);
-}
-#endif
-
 static void xen_wakeup_notifier(Notifier *notifier, void *data)
 {
     xc_set_hvm_param(xen_xc, xen_domid, HVM_PARAM_ACPI_S_STATE, 0);
@@ -635,91 +261,6 @@ err:
     exit(1);
 }
 
-void xen_register_framebuffer(MemoryRegion *mr)
-{
-    framebuffer = mr;
-}
-
-void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-
-    if (unlikely(xen_in_migration)) {
-        int rc;
-        ram_addr_t start_pfn, nb_pages;
-
-        start = xen_phys_offset_to_gaddr(start, length, page_mask);
-
-        if (length == 0) {
-            length = page_size;
-        }
-        start_pfn = start >> target_page_bits;
-        nb_pages = ((start + length + page_size - 1) >> target_page_bits)
-            - start_pfn;
-        rc = xen_modified_memory(xen_domid, start_pfn, nb_pages);
-        if (rc) {
-            fprintf(stderr,
-                    "%s failed for "RAM_ADDR_FMT" ("RAM_ADDR_FMT"): %i, %s\n",
-                    __func__, start, nb_pages, errno, strerror(errno));
-        }
-    }
-}
-
-void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
-{
-    if (enable) {
-        memory_global_dirty_log_start(GLOBAL_DIRTY_MIGRATION);
-    } else {
-        memory_global_dirty_log_stop(GLOBAL_DIRTY_MIGRATION);
-    }
-}
-
-void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
-                         bool add)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-    hwaddr start_addr = section->offset_within_address_space;
-    ram_addr_t size = int128_get64(section->size);
-    bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA);
-    hvmmem_type_t mem_type;
-
-    if (!memory_region_is_ram(section->mr)) {
-        return;
-    }
-
-    if (log_dirty != add) {
-        return;
-    }
-
-    trace_xen_client_set_memory(start_addr, size, log_dirty);
-
-    start_addr &= page_mask;
-    size = ROUND_UP(size, page_size);
-
-    if (add) {
-        if (!memory_region_is_rom(section->mr)) {
-            xen_add_to_physmap(state, start_addr, size,
-                               section->mr, section->offset_within_region);
-        } else {
-            mem_type = HVMMEM_ram_ro;
-            if (xen_set_mem_type(xen_domid, mem_type,
-                                 start_addr >> target_page_bits,
-                                 size >> target_page_bits)) {
-                DPRINTF("xen_set_mem_type error, addr: "HWADDR_FMT_plx"\n",
-                        start_addr);
-            }
-        }
-    } else {
-        if (xen_remove_from_physmap(state, start_addr, size) < 0) {
-            DPRINTF("physmapping does not exist at "HWADDR_FMT_plx"\n", start_addr);
-        }
-    }
-}
-
 void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     switch (req->type) {
diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build
index 3f0df8bc07..d38759cfe4 100644
--- a/hw/i386/xen/meson.build
+++ b/hw/i386/xen/meson.build
@@ -1,6 +1,7 @@
 i386_ss.add(when: 'CONFIG_XEN', if_true: files(
   'xen_apic.c',
   'xen_pvdevice.c',
+  'xen-hvm-common.c',
 ))
 i386_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-hvm.c',
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:32:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:32:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632947.987512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wKq-000623-VW; Tue, 14 Nov 2023 16:32:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632947.987512; Tue, 14 Nov 2023 16: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 1r2wKq-00061u-RT; Tue, 14 Nov 2023 16:32:20 +0000
Received: by outflank-mailman (input) for mailman id 632947;
 Tue, 14 Nov 2023 16:32: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wKp-0002h9-Ly
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:32:19 +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 5fdbd3cf-830b-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 17:32:17 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-9d0b4dfd60dso875144566b.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:32:17 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 s12-20020a1709066c8c00b0099cd008c1a4sm5788138ejr.136.2023.11.14.08.32.14
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:32:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5fdbd3cf-830b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979537; x=1700584337; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fBoLjADQF92oUz8YGjrCFJ5vAIgrltjc0XkKGW8dGlc=;
        b=YGlkzW7+UUuHZbgWRszP1Okvh2X3JotR5IEHlRam07sMXB3o9NVe/IWN4o9BwGvcso
         9QzdCoiWw26rNv3cXt6B5bPr9jv5Sci1l2FGHl6gMq8reQWoGjNNHvFYMyCzYg5JXsfp
         EIzRWEPZeKH7dQxzkEMZ7kUR0RWvVK9ztRAVmCG9kPmfpTY6CC4ZZwMq4vR2GFr/hshT
         9ZUrhkDhG8u5vnLVm+LHuo/vcJLO4STYLgAO9dOM6OQmglEKLiOW8BOkJc1kpw+hJaVz
         nLWlZIK4FZt8TEuARf7HjUwq3ln3sDdRa56mOg1JZYR61Nh8A3SgISuNxrS8QXtXdIHc
         vYww==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979537; x=1700584337;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fBoLjADQF92oUz8YGjrCFJ5vAIgrltjc0XkKGW8dGlc=;
        b=rjZYHQz1ZvgHLRBLFAzR49/qj8bftz9KjSy43mYutf03W8qwL4uN1kG92zoBDcxCsv
         gVtSLJd47ha9/wFeyqwRaDBzHHxYBOHTNICUWzZUwcUBuDX3ubImVn5XE8BJXbO+uaEl
         j3KLdkRI4unPted5D+b30ge/l+yes5Fnp+F+YEUYliOshSa/lnVZzYj1FHP0NM6/1QFc
         ecDKhyG0j2+egxrSS7rAJv34YV4nMuPunMYGuPOMNmcavBE+IWT5mE4l1DMp2ddHnm5G
         anqWXSQYe9ws9LkYVcyFa0XQcwdNwsZ9u5OuTNxK6zcha0AF//MIjoKY2BEBxiJty4AY
         Bq+w==
X-Gm-Message-State: AOJu0YxTFRE9ycyMDzNn/hHqu4spqYR6nduTbW++DPkt6k+w12r48OVP
	HsIePbmjptca9k2S0SF6sY0W2A==
X-Google-Smtp-Source: AGHT+IHCzaPi5Ki96YFTxblFzU9hUvvVJMXhVG8xP2TJoi7bkBVxcUKkybZuFBTY+HQf7VLJRu7P5A==
X-Received: by 2002:a17:906:dc9:b0:9d4:84b6:8709 with SMTP id p9-20020a1709060dc900b009d484b68709mr6908245eji.58.1699979536701;
        Tue, 14 Nov 2023 08:32:16 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Peter Maydell <peter.maydell@linaro.org>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>
Subject: [RFC PATCH-for-9.0 8/9] hw/xen/hvm: Merge xen-hvm-common.c files
Date: Tue, 14 Nov 2023 17:31:22 +0100
Message-ID: <20231114163123.74888-9-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114163123.74888-1-philmd@linaro.org>
References: <20231114163123.74888-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

hw/i386/xen/xen-hvm-common.c content is target agnostic,
and should be common to all targets. Merge both files.
Remove the now unnecessary xen_register_framebuffer() stub.

ARM targets now inherit the common xen_memory_listener.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/arm/xen_arm.c             |  24 --
 hw/i386/xen/xen-hvm-common.c | 473 -----------------------------------
 hw/xen/xen-hvm-common.c      | 458 +++++++++++++++++++++++++++++++++
 stubs/xen-hw-stub.c          |   4 -
 hw/i386/xen/meson.build      |   1 -
 5 files changed, 458 insertions(+), 502 deletions(-)
 delete mode 100644 hw/i386/xen/xen-hvm-common.c

diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index 39dcd74d07..0ead84c9e1 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -38,17 +38,6 @@
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
 OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
 
-const MemoryListener xen_memory_listener = {
-    .region_add = xen_region_add,
-    .region_del = xen_region_del,
-    .log_start = NULL,
-    .log_stop = NULL,
-    .log_sync = NULL,
-    .log_global_start = NULL,
-    .log_global_stop = NULL,
-    .priority = MEMORY_LISTENER_PRIORITY_ACCEL,
-};
-
 struct XenArmState {
     /*< private >*/
     MachineState parent;
@@ -136,19 +125,6 @@ void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req)
     return;
 }
 
-void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
-                         bool add)
-{
-}
-
-void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
-{
-}
-
-void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
-{
-}
-
 #ifdef CONFIG_TPM
 static void xen_enable_tpm(XenArmState *xam)
 {
diff --git a/hw/i386/xen/xen-hvm-common.c b/hw/i386/xen/xen-hvm-common.c
deleted file mode 100644
index e8ef0e0c94..0000000000
--- a/hw/i386/xen/xen-hvm-common.c
+++ /dev/null
@@ -1,473 +0,0 @@
-/*
- * Copyright (C) 2010       Citrix Ltd.
- *
- * This work is licensed under the terms of the GNU GPL, version 2.  See
- * the COPYING file in the top-level directory.
- *
- * Contributions after 2012-01-13 are licensed under the terms of the
- * GNU GPL, version 2 or (at your option) any later version.
- */
-
-#include "qemu/osdep.h"
-#include "qemu/range.h"
-#include "qapi/qapi-commands-migration.h"
-#include "exec/target_page.h"
-#include "hw/xen/xen-hvm-common.h"
-#include "trace.h"
-
-static MemoryRegion *framebuffer;
-static bool xen_in_migration;
-
-static QLIST_HEAD(, XenPhysmap) xen_physmap;
-static const XenPhysmap *log_for_dirtybit;
-/* Buffer used by xen_sync_dirty_bitmap */
-static unsigned long *dirty_bitmap;
-
-static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size,
-                                   int page_mask)
-{
-    XenPhysmap *physmap = NULL;
-
-    start_addr &= -page_mask;
-
-    QLIST_FOREACH(physmap, &xen_physmap, list) {
-        if (range_covers_byte(physmap->start_addr, physmap->size, start_addr)) {
-            return physmap;
-        }
-    }
-    return NULL;
-}
-
-static hwaddr xen_phys_offset_to_gaddr(hwaddr phys_offset, ram_addr_t size,
-                                       int page_mask)
-{
-    hwaddr addr = phys_offset & -page_mask;
-    XenPhysmap *physmap = NULL;
-
-    QLIST_FOREACH(physmap, &xen_physmap, list) {
-        if (range_covers_byte(physmap->phys_offset, physmap->size, addr)) {
-            return physmap->start_addr + (phys_offset - physmap->phys_offset);
-        }
-    }
-
-    return phys_offset;
-}
-
-#ifdef XEN_COMPAT_PHYSMAP
-static int xen_save_physmap(XenIOState *state, XenPhysmap *physmap)
-{
-    char path[80], value[17];
-
-    snprintf(path, sizeof(path),
-            "/local/domain/0/device-model/%d/physmap/%"PRIx64"/start_addr",
-            xen_domid, (uint64_t)physmap->phys_offset);
-    snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->start_addr);
-    if (!xs_write(state->xenstore, 0, path, value, strlen(value))) {
-        return -1;
-    }
-    snprintf(path, sizeof(path),
-            "/local/domain/0/device-model/%d/physmap/%"PRIx64"/size",
-            xen_domid, (uint64_t)physmap->phys_offset);
-    snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->size);
-    if (!xs_write(state->xenstore, 0, path, value, strlen(value))) {
-        return -1;
-    }
-    if (physmap->name) {
-        snprintf(path, sizeof(path),
-                "/local/domain/0/device-model/%d/physmap/%"PRIx64"/name",
-                xen_domid, (uint64_t)physmap->phys_offset);
-        if (!xs_write(state->xenstore, 0, path,
-                      physmap->name, strlen(physmap->name))) {
-            return -1;
-        }
-    }
-    return 0;
-}
-#else
-static int xen_save_physmap(XenIOState *state, XenPhysmap *physmap)
-{
-    return 0;
-}
-#endif
-
-static int xen_add_to_physmap(XenIOState *state,
-                              hwaddr start_addr,
-                              ram_addr_t size,
-                              MemoryRegion *mr,
-                              hwaddr offset_within_region)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-    unsigned long nr_pages;
-    int rc = 0;
-    XenPhysmap *physmap = NULL;
-    hwaddr pfn, start_gpfn;
-    hwaddr phys_offset = memory_region_get_ram_addr(mr);
-    const char *mr_name;
-
-    if (get_physmapping(start_addr, size, page_mask)) {
-        return 0;
-    }
-    if (size <= 0) {
-        return -1;
-    }
-
-    /* Xen can only handle a single dirty log region for now and we want
-     * the linear framebuffer to be that region.
-     * Avoid tracking any regions that is not videoram and avoid tracking
-     * the legacy vga region. */
-    if (mr == framebuffer && start_addr > 0xbffff) {
-        goto go_physmap;
-    }
-    return -1;
-
-go_physmap:
-    DPRINTF("mapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx"\n",
-            start_addr, start_addr + size);
-
-    mr_name = memory_region_name(mr);
-
-    physmap = g_new(XenPhysmap, 1);
-
-    physmap->start_addr = start_addr;
-    physmap->size = size;
-    physmap->name = mr_name;
-    physmap->phys_offset = phys_offset;
-
-    QLIST_INSERT_HEAD(&xen_physmap, physmap, list);
-
-    if (runstate_check(RUN_STATE_INMIGRATE)) {
-        /* Now when we have a physmap entry we can replace a dummy mapping with
-         * a real one of guest foreign memory. */
-        uint8_t *p = xen_replace_cache_entry(phys_offset, start_addr, size);
-        assert(p && p == memory_region_get_ram_ptr(mr));
-
-        return 0;
-    }
-
-    pfn = phys_offset >> target_page_bits;
-    start_gpfn = start_addr >> target_page_bits;
-    nr_pages = size >> target_page_bits;
-    rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, nr_pages, pfn,
-                                        start_gpfn);
-    if (rc) {
-        int saved_errno = errno;
-
-        error_report("relocate_memory %lu pages from GFN %"HWADDR_PRIx
-                     " to GFN %"HWADDR_PRIx" failed: %s",
-                     nr_pages, pfn, start_gpfn, strerror(saved_errno));
-        errno = saved_errno;
-        return -1;
-    }
-
-    rc = xendevicemodel_pin_memory_cacheattr(xen_dmod, xen_domid,
-                                   start_addr >> target_page_bits,
-                                   (start_addr + size - 1) >> target_page_bits,
-                                   XEN_DOMCTL_MEM_CACHEATTR_WB);
-    if (rc) {
-        error_report("pin_memory_cacheattr failed: %s", strerror(errno));
-    }
-    return xen_save_physmap(state, physmap);
-}
-
-static int xen_remove_from_physmap(XenIOState *state,
-                                   hwaddr start_addr,
-                                   ram_addr_t size)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-    int rc = 0;
-    XenPhysmap *physmap = NULL;
-    hwaddr phys_offset = 0;
-
-    physmap = get_physmapping(start_addr, size, page_mask);
-    if (physmap == NULL) {
-        return -1;
-    }
-
-    phys_offset = physmap->phys_offset;
-    size = physmap->size;
-
-    DPRINTF("unmapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx", at "
-            "%"HWADDR_PRIx"\n", start_addr, start_addr + size, phys_offset);
-
-    size >>= target_page_bits;
-    start_addr >>= target_page_bits;
-    phys_offset >>= target_page_bits;
-    rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, size, start_addr,
-                                        phys_offset);
-    if (rc) {
-        int saved_errno = errno;
-
-        error_report("relocate_memory "RAM_ADDR_FMT" pages"
-                     " from GFN %"HWADDR_PRIx
-                     " to GFN %"HWADDR_PRIx" failed: %s",
-                     size, start_addr, phys_offset, strerror(saved_errno));
-        errno = saved_errno;
-        return -1;
-    }
-
-    QLIST_REMOVE(physmap, list);
-    if (log_for_dirtybit == physmap) {
-        log_for_dirtybit = NULL;
-        g_free(dirty_bitmap);
-        dirty_bitmap = NULL;
-    }
-    g_free(physmap);
-
-    return 0;
-}
-
-static void xen_sync_dirty_bitmap(XenIOState *state,
-                                  hwaddr start_addr,
-                                  ram_addr_t size)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-    hwaddr npages = size >> target_page_bits;
-    const int width = sizeof(unsigned long) * 8;
-    size_t bitmap_size = DIV_ROUND_UP(npages, width);
-    int rc, i, j;
-    const XenPhysmap *physmap = NULL;
-
-    physmap = get_physmapping(start_addr, size, page_mask);
-    if (physmap == NULL) {
-        /* not handled */
-        return;
-    }
-
-    if (log_for_dirtybit == NULL) {
-        log_for_dirtybit = physmap;
-        dirty_bitmap = g_new(unsigned long, bitmap_size);
-    } else if (log_for_dirtybit != physmap) {
-        /* Only one range for dirty bitmap can be tracked. */
-        return;
-    }
-
-    rc = xen_track_dirty_vram(xen_domid, start_addr >> target_page_bits,
-                              npages, dirty_bitmap);
-    if (rc < 0) {
-#ifndef ENODATA
-#define ENODATA  ENOENT
-#endif
-        if (errno == ENODATA) {
-            memory_region_set_dirty(framebuffer, 0, size);
-            DPRINTF("xen: track_dirty_vram failed (0x" HWADDR_FMT_plx
-                    ", 0x" HWADDR_FMT_plx "): %s\n",
-                    start_addr, start_addr + size, strerror(errno));
-        }
-        return;
-    }
-
-    for (i = 0; i < bitmap_size; i++) {
-        unsigned long map = dirty_bitmap[i];
-        while (map != 0) {
-            j = ctzl(map);
-            map &= ~(1ul << j);
-            memory_region_set_dirty(framebuffer,
-                                    (i * width + j) * page_size,
-                                    page_size);
-        };
-    }
-}
-
-static void xen_log_start(MemoryListener *listener,
-                          MemoryRegionSection *section,
-                          int old, int new)
-{
-    XenIOState *state = container_of(listener, XenIOState, memory_listener);
-
-    if (new & ~old & (1 << DIRTY_MEMORY_VGA)) {
-        xen_sync_dirty_bitmap(state, section->offset_within_address_space,
-                              int128_get64(section->size));
-    }
-}
-
-static void xen_log_stop(MemoryListener *listener, MemoryRegionSection *section,
-                         int old, int new)
-{
-    if (old & ~new & (1 << DIRTY_MEMORY_VGA)) {
-        log_for_dirtybit = NULL;
-        g_free(dirty_bitmap);
-        dirty_bitmap = NULL;
-        /* Disable dirty bit tracking */
-        xen_track_dirty_vram(xen_domid, 0, 0, NULL);
-    }
-}
-
-static void xen_log_sync(MemoryListener *listener, MemoryRegionSection *section)
-{
-    XenIOState *state = container_of(listener, XenIOState, memory_listener);
-
-    xen_sync_dirty_bitmap(state, section->offset_within_address_space,
-                          int128_get64(section->size));
-}
-
-static void xen_log_global_start(MemoryListener *listener)
-{
-    if (xen_enabled()) {
-        xen_in_migration = true;
-    }
-}
-
-static void xen_log_global_stop(MemoryListener *listener)
-{
-    xen_in_migration = false;
-}
-
-const MemoryListener xen_memory_listener = {
-    .name = "xen-memory",
-    .region_add = xen_region_add,
-    .region_del = xen_region_del,
-    .log_start = xen_log_start,
-    .log_stop = xen_log_stop,
-    .log_sync = xen_log_sync,
-    .log_global_start = xen_log_global_start,
-    .log_global_stop = xen_log_global_stop,
-    .priority = MEMORY_LISTENER_PRIORITY_ACCEL,
-};
-
-#ifdef XEN_COMPAT_PHYSMAP
-void xen_read_physmap(XenIOState *state)
-{
-    XenPhysmap *physmap = NULL;
-    unsigned int len, num, i;
-    char path[80], *value = NULL;
-    char **entries = NULL;
-
-    QLIST_INIT(&xen_physmap);
-
-    snprintf(path, sizeof(path),
-            "/local/domain/0/device-model/%d/physmap", xen_domid);
-    entries = xs_directory(state->xenstore, 0, path, &num);
-    if (entries == NULL)
-        return;
-
-    for (i = 0; i < num; i++) {
-        physmap = g_new(XenPhysmap, 1);
-        physmap->phys_offset = strtoull(entries[i], NULL, 16);
-        snprintf(path, sizeof(path),
-                "/local/domain/0/device-model/%d/physmap/%s/start_addr",
-                xen_domid, entries[i]);
-        value = xs_read(state->xenstore, 0, path, &len);
-        if (value == NULL) {
-            g_free(physmap);
-            continue;
-        }
-        physmap->start_addr = strtoull(value, NULL, 16);
-        free(value);
-
-        snprintf(path, sizeof(path),
-                "/local/domain/0/device-model/%d/physmap/%s/size",
-                xen_domid, entries[i]);
-        value = xs_read(state->xenstore, 0, path, &len);
-        if (value == NULL) {
-            g_free(physmap);
-            continue;
-        }
-        physmap->size = strtoull(value, NULL, 16);
-        free(value);
-
-        snprintf(path, sizeof(path),
-                "/local/domain/0/device-model/%d/physmap/%s/name",
-                xen_domid, entries[i]);
-        physmap->name = xs_read(state->xenstore, 0, path, &len);
-
-        QLIST_INSERT_HEAD(&xen_physmap, physmap, list);
-    }
-    free(entries);
-}
-#else
-void xen_read_physmap(XenIOState *state)
-{
-    QLIST_INIT(&xen_physmap);
-}
-#endif
-
-void xen_register_framebuffer(MemoryRegion *mr)
-{
-    framebuffer = mr;
-}
-
-void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-
-    if (unlikely(xen_in_migration)) {
-        int rc;
-        ram_addr_t start_pfn, nb_pages;
-
-        start = xen_phys_offset_to_gaddr(start, length, page_mask);
-
-        if (length == 0) {
-            length = page_size;
-        }
-        start_pfn = start >> target_page_bits;
-        nb_pages = ((start + length + page_size - 1) >> target_page_bits)
-            - start_pfn;
-        rc = xen_modified_memory(xen_domid, start_pfn, nb_pages);
-        if (rc) {
-            fprintf(stderr,
-                    "%s failed for "RAM_ADDR_FMT" ("RAM_ADDR_FMT"): %i, %s\n",
-                    __func__, start, nb_pages, errno, strerror(errno));
-        }
-    }
-}
-
-void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
-{
-    if (enable) {
-        memory_global_dirty_log_start(GLOBAL_DIRTY_MIGRATION);
-    } else {
-        memory_global_dirty_log_stop(GLOBAL_DIRTY_MIGRATION);
-    }
-}
-
-void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
-                         bool add)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-    hwaddr start_addr = section->offset_within_address_space;
-    ram_addr_t size = int128_get64(section->size);
-    bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA);
-    hvmmem_type_t mem_type;
-
-    if (!memory_region_is_ram(section->mr)) {
-        return;
-    }
-
-    if (log_dirty != add) {
-        return;
-    }
-
-    trace_xen_client_set_memory(start_addr, size, log_dirty);
-
-    start_addr &= page_mask;
-    size = ROUND_UP(size, page_size);
-
-    if (add) {
-        if (!memory_region_is_rom(section->mr)) {
-            xen_add_to_physmap(state, start_addr, size,
-                               section->mr, section->offset_within_region);
-        } else {
-            mem_type = HVMMEM_ram_ro;
-            if (xen_set_mem_type(xen_domid, mem_type,
-                                 start_addr >> target_page_bits,
-                                 size >> target_page_bits)) {
-                DPRINTF("xen_set_mem_type error, addr: "HWADDR_FMT_plx"\n",
-                        start_addr);
-            }
-        }
-    } else {
-        if (xen_remove_from_physmap(state, start_addr, size) < 0) {
-            DPRINTF("physmapping does not exist at "HWADDR_FMT_plx"\n", start_addr);
-        }
-    }
-}
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 73fa2c414d..50ce45effc 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -1,7 +1,9 @@
 #include "qemu/osdep.h"
 #include "qemu/units.h"
 #include "qemu/bitops.h"
+#include "qemu/range.h"
 #include "qapi/error.h"
+#include "qapi/qapi-commands-migration.h"
 #include "exec/target_page.h"
 #include "trace.h"
 
@@ -11,6 +13,462 @@
 #include "hw/boards.h"
 
 MemoryRegion xen_memory;
+static MemoryRegion *framebuffer;
+static bool xen_in_migration;
+
+static QLIST_HEAD(, XenPhysmap) xen_physmap;
+static const XenPhysmap *log_for_dirtybit;
+/* Buffer used by xen_sync_dirty_bitmap */
+static unsigned long *dirty_bitmap;
+
+static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size,
+                                   int page_mask)
+{
+    XenPhysmap *physmap = NULL;
+
+    start_addr &= -page_mask;
+
+    QLIST_FOREACH(physmap, &xen_physmap, list) {
+        if (range_covers_byte(physmap->start_addr, physmap->size, start_addr)) {
+            return physmap;
+        }
+    }
+    return NULL;
+}
+
+static hwaddr xen_phys_offset_to_gaddr(hwaddr phys_offset, ram_addr_t size,
+                                       int page_mask)
+{
+    hwaddr addr = phys_offset & -page_mask;
+    XenPhysmap *physmap = NULL;
+
+    QLIST_FOREACH(physmap, &xen_physmap, list) {
+        if (range_covers_byte(physmap->phys_offset, physmap->size, addr)) {
+            return physmap->start_addr + (phys_offset - physmap->phys_offset);
+        }
+    }
+
+    return phys_offset;
+}
+
+#ifdef XEN_COMPAT_PHYSMAP
+static int xen_save_physmap(XenIOState *state, XenPhysmap *physmap)
+{
+    char path[80], value[17];
+
+    snprintf(path, sizeof(path),
+            "/local/domain/0/device-model/%d/physmap/%"PRIx64"/start_addr",
+            xen_domid, (uint64_t)physmap->phys_offset);
+    snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->start_addr);
+    if (!xs_write(state->xenstore, 0, path, value, strlen(value))) {
+        return -1;
+    }
+    snprintf(path, sizeof(path),
+            "/local/domain/0/device-model/%d/physmap/%"PRIx64"/size",
+            xen_domid, (uint64_t)physmap->phys_offset);
+    snprintf(value, sizeof(value), "%"PRIx64, (uint64_t)physmap->size);
+    if (!xs_write(state->xenstore, 0, path, value, strlen(value))) {
+        return -1;
+    }
+    if (physmap->name) {
+        snprintf(path, sizeof(path),
+                "/local/domain/0/device-model/%d/physmap/%"PRIx64"/name",
+                xen_domid, (uint64_t)physmap->phys_offset);
+        if (!xs_write(state->xenstore, 0, path,
+                      physmap->name, strlen(physmap->name))) {
+            return -1;
+        }
+    }
+    return 0;
+}
+#else
+static int xen_save_physmap(XenIOState *state, XenPhysmap *physmap)
+{
+    return 0;
+}
+#endif
+
+static int xen_add_to_physmap(XenIOState *state,
+                              hwaddr start_addr,
+                              ram_addr_t size,
+                              MemoryRegion *mr,
+                              hwaddr offset_within_region)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    unsigned long nr_pages;
+    int rc = 0;
+    XenPhysmap *physmap = NULL;
+    hwaddr pfn, start_gpfn;
+    hwaddr phys_offset = memory_region_get_ram_addr(mr);
+    const char *mr_name;
+
+    if (get_physmapping(start_addr, size, page_mask)) {
+        return 0;
+    }
+    if (size <= 0) {
+        return -1;
+    }
+
+    /* Xen can only handle a single dirty log region for now and we want
+     * the linear framebuffer to be that region.
+     * Avoid tracking any regions that is not videoram and avoid tracking
+     * the legacy vga region. */
+    if (mr == framebuffer && start_addr > 0xbffff) {
+        goto go_physmap;
+    }
+    return -1;
+
+go_physmap:
+    DPRINTF("mapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx"\n",
+            start_addr, start_addr + size);
+
+    mr_name = memory_region_name(mr);
+
+    physmap = g_new(XenPhysmap, 1);
+
+    physmap->start_addr = start_addr;
+    physmap->size = size;
+    physmap->name = mr_name;
+    physmap->phys_offset = phys_offset;
+
+    QLIST_INSERT_HEAD(&xen_physmap, physmap, list);
+
+    if (runstate_check(RUN_STATE_INMIGRATE)) {
+        /* Now when we have a physmap entry we can replace a dummy mapping with
+         * a real one of guest foreign memory. */
+        uint8_t *p = xen_replace_cache_entry(phys_offset, start_addr, size);
+        assert(p && p == memory_region_get_ram_ptr(mr));
+
+        return 0;
+    }
+
+    pfn = phys_offset >> target_page_bits;
+    start_gpfn = start_addr >> target_page_bits;
+    nr_pages = size >> target_page_bits;
+    rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, nr_pages, pfn,
+                                        start_gpfn);
+    if (rc) {
+        int saved_errno = errno;
+
+        error_report("relocate_memory %lu pages from GFN %"HWADDR_PRIx
+                     " to GFN %"HWADDR_PRIx" failed: %s",
+                     nr_pages, pfn, start_gpfn, strerror(saved_errno));
+        errno = saved_errno;
+        return -1;
+    }
+
+    rc = xendevicemodel_pin_memory_cacheattr(xen_dmod, xen_domid,
+                                   start_addr >> target_page_bits,
+                                   (start_addr + size - 1) >> target_page_bits,
+                                   XEN_DOMCTL_MEM_CACHEATTR_WB);
+    if (rc) {
+        error_report("pin_memory_cacheattr failed: %s", strerror(errno));
+    }
+    return xen_save_physmap(state, physmap);
+}
+
+static int xen_remove_from_physmap(XenIOState *state,
+                                   hwaddr start_addr,
+                                   ram_addr_t size)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    int rc = 0;
+    XenPhysmap *physmap = NULL;
+    hwaddr phys_offset = 0;
+
+    physmap = get_physmapping(start_addr, size, page_mask);
+    if (physmap == NULL) {
+        return -1;
+    }
+
+    phys_offset = physmap->phys_offset;
+    size = physmap->size;
+
+    DPRINTF("unmapping vram to %"HWADDR_PRIx" - %"HWADDR_PRIx", at "
+            "%"HWADDR_PRIx"\n", start_addr, start_addr + size, phys_offset);
+
+    size >>= target_page_bits;
+    start_addr >>= target_page_bits;
+    phys_offset >>= target_page_bits;
+    rc = xendevicemodel_relocate_memory(xen_dmod, xen_domid, size, start_addr,
+                                        phys_offset);
+    if (rc) {
+        int saved_errno = errno;
+
+        error_report("relocate_memory "RAM_ADDR_FMT" pages"
+                     " from GFN %"HWADDR_PRIx
+                     " to GFN %"HWADDR_PRIx" failed: %s",
+                     size, start_addr, phys_offset, strerror(saved_errno));
+        errno = saved_errno;
+        return -1;
+    }
+
+    QLIST_REMOVE(physmap, list);
+    if (log_for_dirtybit == physmap) {
+        log_for_dirtybit = NULL;
+        g_free(dirty_bitmap);
+        dirty_bitmap = NULL;
+    }
+    g_free(physmap);
+
+    return 0;
+}
+
+static void xen_sync_dirty_bitmap(XenIOState *state,
+                                  hwaddr start_addr,
+                                  ram_addr_t size)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    hwaddr npages = size >> target_page_bits;
+    const int width = sizeof(unsigned long) * 8;
+    size_t bitmap_size = DIV_ROUND_UP(npages, width);
+    int rc, i, j;
+    const XenPhysmap *physmap = NULL;
+
+    physmap = get_physmapping(start_addr, size, page_mask);
+    if (physmap == NULL) {
+        /* not handled */
+        return;
+    }
+
+    if (log_for_dirtybit == NULL) {
+        log_for_dirtybit = physmap;
+        dirty_bitmap = g_new(unsigned long, bitmap_size);
+    } else if (log_for_dirtybit != physmap) {
+        /* Only one range for dirty bitmap can be tracked. */
+        return;
+    }
+
+    rc = xen_track_dirty_vram(xen_domid, start_addr >> target_page_bits,
+                              npages, dirty_bitmap);
+    if (rc < 0) {
+#ifndef ENODATA
+#define ENODATA  ENOENT
+#endif
+        if (errno == ENODATA) {
+            memory_region_set_dirty(framebuffer, 0, size);
+            DPRINTF("xen: track_dirty_vram failed (0x" HWADDR_FMT_plx
+                    ", 0x" HWADDR_FMT_plx "): %s\n",
+                    start_addr, start_addr + size, strerror(errno));
+        }
+        return;
+    }
+
+    for (i = 0; i < bitmap_size; i++) {
+        unsigned long map = dirty_bitmap[i];
+        while (map != 0) {
+            j = ctzl(map);
+            map &= ~(1ul << j);
+            memory_region_set_dirty(framebuffer,
+                                    (i * width + j) * page_size,
+                                    page_size);
+        };
+    }
+}
+
+static void xen_log_start(MemoryListener *listener,
+                          MemoryRegionSection *section,
+                          int old, int new)
+{
+    XenIOState *state = container_of(listener, XenIOState, memory_listener);
+
+    if (new & ~old & (1 << DIRTY_MEMORY_VGA)) {
+        xen_sync_dirty_bitmap(state, section->offset_within_address_space,
+                              int128_get64(section->size));
+    }
+}
+
+static void xen_log_stop(MemoryListener *listener, MemoryRegionSection *section,
+                         int old, int new)
+{
+    if (old & ~new & (1 << DIRTY_MEMORY_VGA)) {
+        log_for_dirtybit = NULL;
+        g_free(dirty_bitmap);
+        dirty_bitmap = NULL;
+        /* Disable dirty bit tracking */
+        xen_track_dirty_vram(xen_domid, 0, 0, NULL);
+    }
+}
+
+static void xen_log_sync(MemoryListener *listener, MemoryRegionSection *section)
+{
+    XenIOState *state = container_of(listener, XenIOState, memory_listener);
+
+    xen_sync_dirty_bitmap(state, section->offset_within_address_space,
+                          int128_get64(section->size));
+}
+
+static void xen_log_global_start(MemoryListener *listener)
+{
+    if (xen_enabled()) {
+        xen_in_migration = true;
+    }
+}
+
+static void xen_log_global_stop(MemoryListener *listener)
+{
+    xen_in_migration = false;
+}
+
+const MemoryListener xen_memory_listener = {
+    .name = "xen-memory",
+    .region_add = xen_region_add,
+    .region_del = xen_region_del,
+    .log_start = xen_log_start,
+    .log_stop = xen_log_stop,
+    .log_sync = xen_log_sync,
+    .log_global_start = xen_log_global_start,
+    .log_global_stop = xen_log_global_stop,
+    .priority = MEMORY_LISTENER_PRIORITY_ACCEL,
+};
+
+#ifdef XEN_COMPAT_PHYSMAP
+void xen_read_physmap(XenIOState *state)
+{
+    XenPhysmap *physmap = NULL;
+    unsigned int len, num, i;
+    char path[80], *value = NULL;
+    char **entries = NULL;
+
+    QLIST_INIT(&xen_physmap);
+
+    snprintf(path, sizeof(path),
+            "/local/domain/0/device-model/%d/physmap", xen_domid);
+    entries = xs_directory(state->xenstore, 0, path, &num);
+    if (entries == NULL)
+        return;
+
+    for (i = 0; i < num; i++) {
+        physmap = g_new(XenPhysmap, 1);
+        physmap->phys_offset = strtoull(entries[i], NULL, 16);
+        snprintf(path, sizeof(path),
+                "/local/domain/0/device-model/%d/physmap/%s/start_addr",
+                xen_domid, entries[i]);
+        value = xs_read(state->xenstore, 0, path, &len);
+        if (value == NULL) {
+            g_free(physmap);
+            continue;
+        }
+        physmap->start_addr = strtoull(value, NULL, 16);
+        free(value);
+
+        snprintf(path, sizeof(path),
+                "/local/domain/0/device-model/%d/physmap/%s/size",
+                xen_domid, entries[i]);
+        value = xs_read(state->xenstore, 0, path, &len);
+        if (value == NULL) {
+            g_free(physmap);
+            continue;
+        }
+        physmap->size = strtoull(value, NULL, 16);
+        free(value);
+
+        snprintf(path, sizeof(path),
+                "/local/domain/0/device-model/%d/physmap/%s/name",
+                xen_domid, entries[i]);
+        physmap->name = xs_read(state->xenstore, 0, path, &len);
+
+        QLIST_INSERT_HEAD(&xen_physmap, physmap, list);
+    }
+    free(entries);
+}
+#else
+void xen_read_physmap(XenIOState *state)
+{
+    QLIST_INIT(&xen_physmap);
+}
+#endif
+
+void xen_register_framebuffer(MemoryRegion *mr)
+{
+    framebuffer = mr;
+}
+
+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+
+    if (unlikely(xen_in_migration)) {
+        int rc;
+        ram_addr_t start_pfn, nb_pages;
+
+        start = xen_phys_offset_to_gaddr(start, length, page_mask);
+
+        if (length == 0) {
+            length = page_size;
+        }
+        start_pfn = start >> target_page_bits;
+        nb_pages = ((start + length + page_size - 1) >> target_page_bits)
+            - start_pfn;
+        rc = xen_modified_memory(xen_domid, start_pfn, nb_pages);
+        if (rc) {
+            fprintf(stderr,
+                    "%s failed for "RAM_ADDR_FMT" ("RAM_ADDR_FMT"): %i, %s\n",
+                    __func__, start, nb_pages, errno, strerror(errno));
+        }
+    }
+}
+
+void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
+{
+    if (enable) {
+        memory_global_dirty_log_start(GLOBAL_DIRTY_MIGRATION);
+    } else {
+        memory_global_dirty_log_stop(GLOBAL_DIRTY_MIGRATION);
+    }
+}
+
+void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
+                         bool add)
+{
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    hwaddr start_addr = section->offset_within_address_space;
+    ram_addr_t size = int128_get64(section->size);
+    bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA);
+    hvmmem_type_t mem_type;
+
+    if (!memory_region_is_ram(section->mr)) {
+        return;
+    }
+
+    if (log_dirty != add) {
+        return;
+    }
+
+    trace_xen_client_set_memory(start_addr, size, log_dirty);
+
+    start_addr &= page_mask;
+    size = ROUND_UP(size, page_size);
+
+    if (add) {
+        if (!memory_region_is_rom(section->mr)) {
+            xen_add_to_physmap(state, start_addr, size,
+                               section->mr, section->offset_within_region);
+        } else {
+            mem_type = HVMMEM_ram_ro;
+            if (xen_set_mem_type(xen_domid, mem_type,
+                                 start_addr >> target_page_bits,
+                                 size >> target_page_bits)) {
+                DPRINTF("xen_set_mem_type error, addr: "HWADDR_FMT_plx"\n",
+                        start_addr);
+            }
+        }
+    } else {
+        if (xen_remove_from_physmap(state, start_addr, size) < 0) {
+            DPRINTF("physmapping does not exist at "HWADDR_FMT_plx"\n", start_addr);
+        }
+    }
+}
 
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
                    Error **errp)
diff --git a/stubs/xen-hw-stub.c b/stubs/xen-hw-stub.c
index 53c6a6f2a0..da8912f037 100644
--- a/stubs/xen-hw-stub.c
+++ b/stubs/xen-hw-stub.c
@@ -13,7 +13,3 @@ int xen_is_pirq_msi(uint32_t msi_data)
 {
     return 0;
 }
-
-void xen_register_framebuffer(MemoryRegion *mr)
-{
-}
diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build
index d38759cfe4..3f0df8bc07 100644
--- a/hw/i386/xen/meson.build
+++ b/hw/i386/xen/meson.build
@@ -1,7 +1,6 @@
 i386_ss.add(when: 'CONFIG_XEN', if_true: files(
   'xen_apic.c',
   'xen_pvdevice.c',
-  'xen-hvm-common.c',
 ))
 i386_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-hvm.c',
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:40:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:40:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.632973.987521 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wSe-0004OB-Ub; Tue, 14 Nov 2023 16:40:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 632973.987521; Tue, 14 Nov 2023 16: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 1r2wSe-0004O4-Rs; Tue, 14 Nov 2023 16:40:24 +0000
Received: by outflank-mailman (input) for mailman id 632973;
 Tue, 14 Nov 2023 16:40: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=krWi=G3=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r2wSd-0004Ms-FR
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:40:23 +0000
Received: from m202-219.mailgun.net (m202-219.mailgun.net [161.38.202.219])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 8014940e-830c-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:40:22 +0100 (CET)
Received: from mg.gitlab.com (16.226.74.34.bc.googleusercontent.com
 [34.74.226.16]) by
 1e90be7af010 with SMTP id 6553a2f3fdb0b5accaf24aee (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 14 Nov 2023 16:40:19 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 8014940e-830c-11ee-98db-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699980019; x=1699987219; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=zw4mjoYYxSd4TcKUyOOmPsZ0O3B7GIdD7J925d1NkEc=;
 b=OInCr+dOFQKKImJ7Wid2mGaRI7Qls7QX8ufR0XWA96g6ScY+E4wwnXyKuG18VPCMnCRpKdFFIKrvtr+CHyo7ahomM3KE+USCV4QnmbT9nnFEmUZRbcyNbtYsnKhswlHU242EgtnsAjEEDzCYH3WNVOsHdEdjboDoZAT8W6pjT6k=
X-Mailgun-Sending-Ip: 161.38.202.219
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 14 Nov 2023 16:40:19 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6553a2f317d17_2c9ada8153767@gitlab-sidekiq-catchall-v2-69dcfbdb95-kzgzd.mail>
Subject: xen | Failed pipeline for staging-4.17 | 0527bab0
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6553a2f3a69f_2c9ada815364d";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1071977342
X-GitLab-Pipeline-Ref: staging-4.17
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6553a2f3a69f_2c9ada815364d
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1071977342 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.17 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.17 )

Commit: 0527bab0 ( https://gitlab.com/xen-project/xen/-/commit/0527bab0901b800e3f1be2e7836c5346b6e08809 )
Commit Message: x86/spec-ctrl: Add SRSO whitepaper URL

... now...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )


Pipeline #1071977342 ( https://gitlab.com/xen-project/xen/-/pipelines/1071977342 ) triggered by Ganis ( https://gitlab.com/ganis )
had 1 failed job.

Job #5532419311 ( https://gitlab.com/xen-project/xen/-/jobs/5532419311/raw )

Stage: build
Name: debian-buster-gcc-ibt

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6553a2f3a69f_2c9ada815364d
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging-4.17 | 0527bab0</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1071977342 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.17" style=3D"color: #333333; text-decoration: none;">
staging-4.17
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/0527bab0901b800e3f=
1be2e7836c5346b6e08809" style=3D"color: #3777b0; text-decoration: none;">=

0527bab0
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86/spec-ctrl: Add SRSO whitepaper URL

... now...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">Committed by</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1071977342">#1071977342</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 1 failed job
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed job
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5532419311" style=3D=
"color: #3777b0; text-decoration: none;">
debian-buster-gcc-ibt
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6553a2f3a69f_2c9ada815364d--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:42:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:42:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633006.987531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wUt-00066x-A8; Tue, 14 Nov 2023 16:42:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633006.987531; Tue, 14 Nov 2023 16:42: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 1r2wUt-00066q-7W; Tue, 14 Nov 2023 16:42:43 +0000
Received: by outflank-mailman (input) for mailman id 633006;
 Tue, 14 Nov 2023 16: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=WRED=G3=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r2wUs-00062s-Nr
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:42:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d38a24e8-830c-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 17:42:40 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.92.152])
 by support.bugseng.com (Postfix) with ESMTPSA id 0ADA84EE0738;
 Tue, 14 Nov 2023 17:42:38 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d38a24e8-830c-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2] automation/eclair: add a deviation for MISRA C:2012 Rule 8.6
Date: Tue, 14 Nov 2023 17:42:31 +0100
Message-Id: <b9eee04bb7c6436f4951a8737eee60c68cda9df7.1699893554.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to take into account the search
procedure adopted by Unix linkers.
Update deviations.rst accordingly and tag Rule 8.6 as "clean".

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes is v2:
  - deviation is based on xen/lib/*;
  - justification improved;
  - reflected changes to deviations.ecl;
  - tagged rule as "clean".
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 11 +++++++++++
 automation/eclair_analysis/ECLAIR/tagging.ecl    |  2 +-
 docs/misra/deviations.rst                        | 12 ++++++++++++
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index d8170106b4..d12ac2e28e 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -214,6 +214,17 @@ definition is compiled-out or optimized-out by the compiler)"
 -config=MC3R1.R8.6,reports+={deliberate, "first_area(^.*has no definition$)"}
 -doc_end
 
+-doc_begin="The search procedure for Unix linkers is well defined, see ld(1)
+manual: \"The linker will search an archive only once, at the location where it
+is specified on the command line. If the archive defines a symbol which was
+undefined in some object which appeared before the archive on the command line,
+the linker will include the appropriate file(s) from the archive\".
+In Xen, thanks to the order in which file names appear in the build commands,
+if arch-specific definitions are present, they get always linked in before
+searching in the lib.a archive resulting from xen/lib."
+-config=MC3R1.R8.6,declarations+={deliberate, "loc(file(^xen/lib/.*$))"}
+-doc_end
+
 -doc_begin="The gnu_inline attribute without static is deliberately allowed."
 -config=MC3R1.R8.10,declarations+={deliberate,"property(gnu_inline)"}
 -doc_end
diff --git a/automation/eclair_analysis/ECLAIR/tagging.ecl b/automation/eclair_analysis/ECLAIR/tagging.ecl
index 78a0bc948b..d0824830d7 100644
--- a/automation/eclair_analysis/ECLAIR/tagging.ecl
+++ b/automation/eclair_analysis/ECLAIR/tagging.ecl
@@ -30,7 +30,7 @@
 
 -doc_begin="Clean guidelines: new violations for these guidelines are not accepted."
 
--service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R2.2||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R8.1||MC3R1.R8.5||MC3R1.R8.8||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R9.2||MC3R1.R9.4||MC3R1.R9.5||MC3R1.R12.5||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.6||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6"
+-service_selector={clean_guidelines_common,"MC3R1.D1.1||MC3R1.D2.1||MC3R1.D4.11||MC3R1.D4.14||MC3R1.R1.1||MC3R1.R1.3||MC3R1.R1.4||MC3R1.R2.2||MC3R1.R3.1||MC3R1.R3.2||MC3R1.R4.1||MC3R1.R5.1||MC3R1.R5.2||MC3R1.R5.4||MC3R1.R6.1||MC3R1.R6.2||MC3R1.R7.1||MC3R1.R8.1||MC3R1.R8.5||MC3R1.R8.6||MC3R1.R8.8||MC3R1.R8.10||MC3R1.R8.12||MC3R1.R8.14||MC3R1.R9.2||MC3R1.R9.4||MC3R1.R9.5||MC3R1.R12.5||MC3R1.R17.3||MC3R1.R17.4||MC3R1.R17.6||MC3R1.R21.13||MC3R1.R21.19||MC3R1.R21.21||MC3R1.R22.2||MC3R1.R22.4||MC3R1.R22.5||MC3R1.R22.6"
 }
 
 -setq=target,getenv("XEN_TARGET_ARCH")
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 8511a18925..0d18e33780 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -147,6 +147,18 @@ Deviations related to MISRA C:2012 Rules:
        definition is compiled-out or optimized-out by the compiler).
      - Tagged as `deliberate` in ECLAIR.
 
+   * - R8.6
+     - The search procedure for Unix linkers is well defined, see ld(1) manual:
+       "The linker will search an archive only once, at the location where it
+       is specified on the command line. If the archive defines a symbol which
+       was undefined in some object which appeared before the archive on the
+       command line, the linker will include the appropriate file(s) from the
+       archive".
+       In Xen, thanks to the order in which file names appear in the build
+       commands, if arch-specific definitions are present, they get always
+       linked in before searching in the lib.a archive resulting from xen/lib.
+     - Tagged as `deliberate` for ECLAIR.
+
    * - R8.10
      - The gnu_inline attribute without static is deliberately allowed.
      - Tagged as `deliberate` for ECLAIR.
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633022.987542 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2waa-0002WN-VO; Tue, 14 Nov 2023 16:48:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633022.987542; Tue, 14 Nov 2023 16: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 1r2waa-0002WG-Rm; Tue, 14 Nov 2023 16:48:36 +0000
Received: by outflank-mailman (input) for mailman id 633022;
 Tue, 14 Nov 2023 16:48: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=6V1E=G3=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r2wKt-0002Oz-HN
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:32:23 +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 6321eb24-830b-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:32:22 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-9d2e7726d5bso876100066b.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:32:22 -0800 (PST)
Received: from m1x-phil.lan (cac94-h02-176-184-25-155.dsl.sta.abo.bbox.fr.
 [176.184.25.155]) by smtp.gmail.com with ESMTPSA id
 c26-20020a17090603da00b009adce1c97ccsm5731084eja.53.2023.11.14.08.32.20
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 14 Nov 2023 08:32:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6321eb24-830b-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1699979542; x=1700584342; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=htjkOQmTZcMenhXqLaaInIEhXImv4mUPxpJWcjUwWD8=;
        b=Rn1wpB07WwB0c/xIyUddRTb8GwnGrna0FZXO43Pz2xSaUeGbgNmgpxGGdfESRvNmir
         Z1ZQ8WuocCIEObak5Zs6WotWQLAgvdjDsGiWin7oUALRB/Ryh23pZoHu33zxWf0FMGq2
         V9ncW4v2P0yw8sZx8kmrm+P3+mPnNxWO93yE9WMrfp3A+iLoq+oPVkvKjHhsUoG1giIn
         aT1zs4L5rsPfjrvvI/vvsajiK8z57v/gyNlxB6ZjbpmleCPiAJg9k4MARhHkTVhvC67W
         1w2NPXg9b6WXi77qEQBFzO+fuFDGjmcuBzPO/UZl8jXlvNT/H1nDx0TjaubSVAD1dCbL
         S7yg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699979542; x=1700584342;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=htjkOQmTZcMenhXqLaaInIEhXImv4mUPxpJWcjUwWD8=;
        b=d/4nJihctZgjexkN21xBD0+5qNIjDb9DGJIe65RvF/XIWI34i5prqvCLDo506nQ9OC
         pfzvqG0Hbm0N+eakQVx8QiY4wmNiFYYnxDrKU0tF05T1XOE2Ki1bEUleXtibWmCcUUlq
         9rwcQHyYGhfF++EyWj+Xzel1ONSvde6kI35+4g1loPI56B6jRFcsQYipReHeHDatZYBM
         hbTJgS2BAwYbW5p3f5+rzkCO5ipMkgzEXuVVoZ0jz5t2y2gT8mnTnk6jvHJ/pFYPRNn6
         YlzajYAWdlPU7l3CUNmZ5G9b8f3NLa5heua1n3ci32a78azYjbUSKF78n6xCbgumjfSs
         8a9Q==
X-Gm-Message-State: AOJu0YxYvMJTnFlBxPIX4Y3Y2aQfwpz+eogkYr17vgJ5RkhlWhA944Ts
	k3YV1+pBr/RQHR+pNZbSGD6wHA==
X-Google-Smtp-Source: AGHT+IEJmFgqouqetrQ1cGRifpy+1FzLH8THhoRj/4LtsoCnWeS7Y04NxjXy02qkfonieH2Xog4T5Q==
X-Received: by 2002:a17:906:7943:b0:9d3:e48f:30d3 with SMTP id l3-20020a170906794300b009d3e48f30d3mr9901673ejo.31.1699979542369;
        Tue, 14 Nov 2023 08:32:22 -0800 (PST)
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
To: qemu-devel@nongnu.org
Cc: Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Thomas Huth <thuth@redhat.com>,
	qemu-arm@nongnu.org,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	xen-devel@lists.xenproject.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>
Subject: [PATCH-for-9.0 9/9] hw/xen/hvm: Inline xen_arch_set_memory()
Date: Tue, 14 Nov 2023 17:31:23 +0100
Message-ID: <20231114163123.74888-10-philmd@linaro.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231114163123.74888-1-philmd@linaro.org>
References: <20231114163123.74888-1-philmd@linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

xen_arch_set_memory() is not arch-specific anymore. Being
called once, inline it in xen_set_memory().

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 include/hw/xen/xen-hvm-common.h |   3 -
 hw/xen/xen-hvm-common.c         | 104 ++++++++++++++++----------------
 2 files changed, 51 insertions(+), 56 deletions(-)

diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h
index 536712dc83..a1b8a2783b 100644
--- a/include/hw/xen/xen-hvm-common.h
+++ b/include/hw/xen/xen-hvm-common.h
@@ -99,8 +99,5 @@ void cpu_ioreq_pio(ioreq_t *req);
 
 void xen_read_physmap(XenIOState *state);
 void xen_arch_handle_ioreq(XenIOState *state, ioreq_t *req);
-void xen_arch_set_memory(XenIOState *state,
-                         MemoryRegionSection *section,
-                         bool add);
 
 #endif /* HW_XEN_HVM_COMMON_H */
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 50ce45effc..789c6b4b7a 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -426,50 +426,6 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp)
     }
 }
 
-void xen_arch_set_memory(XenIOState *state, MemoryRegionSection *section,
-                         bool add)
-{
-    unsigned target_page_bits = qemu_target_page_bits();
-    int page_size = qemu_target_page_size();
-    int page_mask = -page_size;
-    hwaddr start_addr = section->offset_within_address_space;
-    ram_addr_t size = int128_get64(section->size);
-    bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA);
-    hvmmem_type_t mem_type;
-
-    if (!memory_region_is_ram(section->mr)) {
-        return;
-    }
-
-    if (log_dirty != add) {
-        return;
-    }
-
-    trace_xen_client_set_memory(start_addr, size, log_dirty);
-
-    start_addr &= page_mask;
-    size = ROUND_UP(size, page_size);
-
-    if (add) {
-        if (!memory_region_is_rom(section->mr)) {
-            xen_add_to_physmap(state, start_addr, size,
-                               section->mr, section->offset_within_region);
-        } else {
-            mem_type = HVMMEM_ram_ro;
-            if (xen_set_mem_type(xen_domid, mem_type,
-                                 start_addr >> target_page_bits,
-                                 size >> target_page_bits)) {
-                DPRINTF("xen_set_mem_type error, addr: "HWADDR_FMT_plx"\n",
-                        start_addr);
-            }
-        }
-    } else {
-        if (xen_remove_from_physmap(state, start_addr, size) < 0) {
-            DPRINTF("physmapping does not exist at "HWADDR_FMT_plx"\n", start_addr);
-        }
-    }
-}
-
 void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
                    Error **errp)
 {
@@ -512,20 +468,62 @@ static void xen_set_memory(struct MemoryListener *listener,
                            bool add)
 {
     XenIOState *state = container_of(listener, XenIOState, memory_listener);
+    unsigned target_page_bits = qemu_target_page_bits();
+    int page_size = qemu_target_page_size();
+    int page_mask = -page_size;
+    hwaddr start_addr;
+    ram_addr_t size;
+    bool log_dirty;
+    hvmmem_type_t mem_type;
+
 
     if (section->mr == &xen_memory) {
         return;
-    } else {
-        if (add) {
-            xen_map_memory_section(xen_domid, state->ioservid,
-                                   section);
-        } else {
-            xen_unmap_memory_section(xen_domid, state->ioservid,
-                                     section);
-        }
     }
 
-    xen_arch_set_memory(state, section, add);
+    if (add) {
+        xen_map_memory_section(xen_domid, state->ioservid,
+                               section);
+    } else {
+        xen_unmap_memory_section(xen_domid, state->ioservid,
+                                 section);
+    }
+
+    if (!memory_region_is_ram(section->mr)) {
+        return;
+    }
+
+    log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA);
+
+    if (log_dirty != add) {
+        return;
+    }
+
+    start_addr = section->offset_within_address_space;
+    size = int128_get64(section->size);
+    trace_xen_client_set_memory(start_addr, size, log_dirty);
+
+    start_addr &= page_mask;
+    size = ROUND_UP(size, page_size);
+
+    if (add) {
+        if (!memory_region_is_rom(section->mr)) {
+            xen_add_to_physmap(state, start_addr, size,
+                               section->mr, section->offset_within_region);
+        } else {
+            mem_type = HVMMEM_ram_ro;
+            if (xen_set_mem_type(xen_domid, mem_type,
+                                 start_addr >> target_page_bits,
+                                 size >> target_page_bits)) {
+                DPRINTF("xen_set_mem_type error, addr: "HWADDR_FMT_plx"\n",
+                        start_addr);
+            }
+        }
+    } else {
+        if (xen_remove_from_physmap(state, start_addr, size) < 0) {
+            DPRINTF("physmapping does not exist at "HWADDR_FMT_plx"\n", start_addr);
+        }
+    }
 }
 
 void xen_region_add(MemoryListener *listener,
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 16:56:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 16:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633027.987552 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2wiA-0000ge-Qu; Tue, 14 Nov 2023 16:56:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633027.987552; Tue, 14 Nov 2023 16: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 1r2wiA-0000gX-OL; Tue, 14 Nov 2023 16:56:26 +0000
Received: by outflank-mailman (input) for mailman id 633027;
 Tue, 14 Nov 2023 16:56: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=5GB7=G3=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r2wi9-0000gR-UT
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 16:56:25 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id beb47a91-830e-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 17:56:24 +0100 (CET)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2c5071165d5so32913791fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 08:56:24 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 11-20020a50874b000000b0053e2a64b5f8sm5443287edv.14.2023.11.14.08.56.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 14 Nov 2023 08:56:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: beb47a91-830e-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699980984; x=1700585784; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=RlfVu03uo+vrVvTuVoiOW3dTHrxtS+J2Ob+Drz7Eoj0=;
        b=jGa8AxhkCxojZyDIyI+znf/UyRU6FMhlK3zJ5OUEkJ3yoZCfVu7CwJOQF0+q7OZ2dj
         9cWctxz6dC3EpDKDMNOwvQgRU9TED0Z5jFqvgYQzI6r9iM7VWvN3/kw4VLniTnpecxrg
         nTMLnxi1Rc5XERAlS4lmegeHfStwnFhHbqPOI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699980984; x=1700585784;
        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:subject:date:message-id:reply-to;
        bh=RlfVu03uo+vrVvTuVoiOW3dTHrxtS+J2Ob+Drz7Eoj0=;
        b=n6BB5qV1qSKz7thFAY9mZf0evk15DzU+UwKn84R+gjeW3X1Q6P8RgSR8hS86G+M94w
         bgy5VsgAnMpPF/1nlDmYPaHyEhLvkDuZ3OpbJ4gDJIWuoVDL7+ou7hweoEyqFtkTHneE
         EKX8MM5F6i3A5h2+Z5keywM6oVuC5Q1FZLuzsII3VQWJvfIB7zUzsuH5sj8EczzE0b6V
         eleqtuyHEGC1YhsXVDN8yGR6UOwE3N7EYS7MQTvRa7dVcd4yMqMuwPJF0rQ2RCfCpupZ
         ANESQUh8Ms9gsHUuEg99J+ZO1RFKyPMf7u7mMaP4IZTT746xpazMHtB6p5fmbQJX9PD5
         gjmQ==
X-Gm-Message-State: AOJu0YxXr3+FDldlDBgcAfg0wvpsHCYqV849loUFGU+kM4xaqDqnnLMu
	FOM+2QzLjB29TeUYDuc27Mq2DQ==
X-Google-Smtp-Source: AGHT+IHwxmFSZVLlnZoI41lkf7yIXhFvDJLacmvauSIzC25CS3eZkky52lP4YGsU/xPFri1NVB8jFg==
X-Received: by 2002:ac2:5145:0:b0:507:cfbc:bf8d with SMTP id q5-20020ac25145000000b00507cfbcbf8dmr6539967lfd.16.1699980984245;
        Tue, 14 Nov 2023 08:56:24 -0800 (PST)
Date: Tue, 14 Nov 2023 17:56:23 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Anthony PERARD <anthony.perard@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH] automation: set architecture in docker files
Message-ID: <ZVOmt3FI1qzyn6UM@macbook.local>
References: <20231113155701.52052-1-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2311131608200.160649@ubuntu-linux-20-04-desktop>
 <ZVM3Ujf1nsws3Mxr@macbook.local>
 <886f6adb-5651-4c69-9d0b-ff68b5a1b094@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <886f6adb-5651-4c69-9d0b-ff68b5a1b094@perard>

On Tue, Nov 14, 2023 at 03:00:17PM +0000, Anthony PERARD wrote:
> On Tue, Nov 14, 2023 at 10:01:06AM +0100, Roger Pau Monné wrote:
> > On Mon, Nov 13, 2023 at 04:10:24PM -0800, Stefano Stabellini wrote:
> > > On Mon, 13 Nov 2023, Roger Pau Monne wrote:
> > > > Pass the desired architecture of the image in the FROM instruction if the
> > > > image is possibly multi-platform.
> > > > 
> > > > This allows using the x86 Dockerfiles on OS X on arm64 hardware.
> > > > 
> > > > No functional change intended.
> > > > 
> > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > > 
> > > Although I am not opposed to this change, so far we have been using:
> > > arm64v8/alpine:3.18
> > > 
> > > for x86 it is not specified but it would be:
> > > amd64/alpine:3.18
> > > 
> > > Two options:
> > > 1) we add amd64/ everywhere and leave the arm containers alone
> > > 2) we change all containers, including the arm containers, to use the
> > > --platform option
> > > 
> > > I don't think is a good idea to have 2 different ways to specify the
> > > architecture for x86 and arm containers
> > 
> > I'm not an expert on this, but attempting to use (2):
> > 
> > -FROM arm64v8/alpine:3.18
> > +FROM --platform=linux/arm64v8 alpine:3.18
> > 
> > Does not work for me:
> > 
> > % make -C automation/build alpine/3.18-arm64v8
> > docker build --pull -t registry.gitlab.com/xen-project/xen/alpine:3.18-arm64v8 -f alpine/3.18-arm64v8.dockerfile alpine
> > [+] Building 1.4s (3/3) FINISHED                                                  docker:desktop-linux
> >  => [internal] load .dockerignore                                                                 0.0s
> >  => => transferring context: 2B                                                                   0.0s
> >  => [internal] load build definition from 3.18-arm64v8.dockerfile                                 0.0s
> >  => => transferring dockerfile: 818B                                                              0.0s
> >  => ERROR [internal] load metadata for docker.io/library/alpine:3.18                              1.4s
> > ------
> >  > [internal] load metadata for docker.io/library/alpine:3.18:
> > ------
> > 3.18-arm64v8.dockerfile:1
> > --------------------
> >    1 | >>> FROM --platform=linux/arm64v8 alpine:3.18
> >    2 |     LABEL maintainer.name="The Xen Project" \
> >    3 |           maintainer.email="xen-devel@lists.xenproject.org"
> > --------------------
> > ERROR: failed to solve: alpine:3.18: no match for platform in manifest sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016293fc851978: not found
> > make: *** [alpine/3.18-arm64v8] Error 1
> > 
> > That's why I've left the prefixed images alone.
> > 
> > I could prefix the x86 images with amd64/ if that's preferred, I
> > didn't try that option, as the Docker manual suggested using
> > --platform.
> 
> So a few things to know, "--platform=linux/amd64" just select a
> different build of one container. For example, for the "alpine"
> containers, you can see all the different builds available on the docker
> hub, here a few links:
> - Official Docker, Alpine images, home:
>   https://hub.docker.com/_/alpine
> - The different builds: 
>   https://hub.docker.com/_/alpine/tags
> 
> So, for amd64v8, you probably want --platform=linux/arm64/v8

Interesting, I guess I was looking at an outdated documentation that
stated the tag as arm64v8 instead of arm64/v8.

> 
> Then, they are per-architecture repository that make it easier to deal
> with foreign architecture, and probably maintained by a different
> community. e.g. for alpine arm64v8:
>     https://hub.docker.com/r/arm64v8/alpine/
> 
> Those provide a build for a single architecture.

Right, so those two are not actually the same image.  I wonder whether
we would want to uniformly switch to using --platform when possible,
in order to make sure we are using the same (multi arch) image to
avoid surprises.

> 
> 
> Sometime, you actually need to "--platform=*" to select a particular
> architecture, like I did for "jessie-i386.dockerfile".
> 
> 
> One thing I've notice when using --platform is that, if for example I
> use the container "--platform=linux/amd64 alpine:3" then
> "--platform=linux/arm/v6 alpine:3"; later when I only specify
> "alpine:3", it's going to be the armv6, and I think docker is going to
> complain if I try tu use "--platform=linux/amd64 alpine:3" without
> "docker pull" first (or I guess docker build --pull).
> 
> Hope that help.
> 
> So I guess using containers "amd64/*" or "arm64v8/*" is fine, but
> sometime will need to use "--platform=*".

My take is that it's better to use --platform when possible, as then
all platforms share the same image, and the contents of the image
should be more consistent.

I guess we could see about switching some of the image that currently
use a prefix (like the Alpine one) in order to instead use --platform
and share the same image.  I wouldn't want to do it in this patch
however, as the change presented here should be non-functional, while
switching to the multi arch image might introduce changes.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:19:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:19:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633036.987562 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2x4S-0001VV-KZ; Tue, 14 Nov 2023 17:19:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633036.987562; Tue, 14 Nov 2023 17:19: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 1r2x4S-0001VO-Hv; Tue, 14 Nov 2023 17:19:28 +0000
Received: by outflank-mailman (input) for mailman id 633036;
 Tue, 14 Nov 2023 17:19: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2x4R-0001VI-CU
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:19:27 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0613.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f57cb484-8311-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:19:25 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 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.7002.17; Tue, 14 Nov
 2023 17:19:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 17:19: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: f57cb484-8311-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mE+s3Baioc/1+NRPpWi7MmaRaIZYgMqekNGkMO5uA1UhWMSdEDp17ixpPdA77S9h9FYxm2S7BjFSCO7qHS+uzVaVJBIAjzZJLnGlE4vLV3+Li0SdDFJHqic4BgvGG5ZVhNFA40Xwt72ovLoRR2Wjj/il/o4QBG1Li3dkRmjQeyjEL0LeGUZwz9UDhKPGKmkHXmv5H9X9qajD2d+OAO+UaF61pYwOGbm4nsO2DoqNRdSDC9HLmX+9q1Dbd2PY+ybeol+de9JXbmDt89xC8CIhjq50gikAqtRaJ72jI7YxzTSR61HeIqMAFP8LJ3gOuVh4ehnxW9kTy7mnVY7m5fT+hQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aStHLeOB33YVoWpH/EcwkmmoJODc3XuzzgXoGUInQ0M=;
 b=ADXQH2NIFlAerKMuJH7RFhTCOeTeFjYg+DkSlwevUKRiXb+rGinBIl3FRx0FAajDyUyTwn8Z8cKXTeP938vws4gP6t2H45ybeizoykOz3cJvQxn0yef/LF3q7kEeH0FXwumhvVwrD6IO/jBP1SLg9YO9xwT5dbM7Lq8PLsXE2SkexxItA2PHVoLs1tG5UvrUz28MMm0LjgaUqzV+txD3M/Zhd9LBvrvIP8CPJcwySNMKIAU7TFFWlVS3AkWF5tf6u8cxSfmcCSwcdDP2Xh1NZ0hPp3GAHJR8W7S7m8M/PPUVki/4AKqW1lqeZIsC3k/MwVXb2H611QdtGjFP72P0Gw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aStHLeOB33YVoWpH/EcwkmmoJODc3XuzzgXoGUInQ0M=;
 b=wzZT936xdUOyx0B+49tG+TsYP+PBuguHywsYxlr8mE24DeG8pS9qoGihua2wBxjFf3hdMFLX7Fa+Nl35FiAYFGOxVcR8uvvdNkymOjHB084zIcRThfIihYP8+zNN+8j/t60RM+oTlQnd7/aFcYRDzzOZjywA8Xz2yWxFzrchQGA+2/oDk8GcrbfmUC/BiihlZTJXz+AgF84iXtxV4CaykSMO/WfhSugQIutVUL6NCqhx4ZLuWdr6eOCslBEIQkwMi/OrmybLQf7HZIWUl1ko70LkAOrK3Uu5x2GHPzlg2hrP2kS8FQXvOeF0413YffYptsh3LbzcB7K7PDUVe0qW0Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <39592ff8-4694-4427-b1f8-614150ca9ad0@suse.com>
Date: Tue, 14 Nov 2023 18:19:21 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <371c5dd29fa974ca27db1f720f17fb0ffdd667a0.1699974488.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <371c5dd29fa974ca27db1f720f17fb0ffdd667a0.1699974488.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0186.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ca::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8646:EE_
X-MS-Office365-Filtering-Correlation-Id: c1896f70-8e25-4126-e123-08dbe535d8b0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hXZHJJZgv+siEJ18zQlg8IEuABkfkYviZYDwVv/xYvGFgyZPqvFyDlDXjiYjI1M5sB/FJEjKL8t8UCOVCfTd0Ne2o0aMiTmc0dQ2i/YlcijsQ5PKxqZlKhCuT9BXHzve/uL5XEuIv0cYoDndiSJy4JS3U53wyfyGWiRCdxiQm70IxFCITjMEo6YjUmqKJlcMTD4rtEPJrxkdx2vZCXde0JyCBu7ycPtingFWBjAOIbcpJpGIoZHDpq3ZPfZT2PuiBv1LLZIJFM0L/9v9So4H0mqWHgGJN/dKLb5oLZZD7iuzxXnJuPeqDe0174gp+LSy4Hg/HOMKsXEkVF3HEvA74m+FU21OZGUH2mY34t69fkN1wXNHFE9xF5y2O/9xf9ArGH7jQRmTbcmdLv3cBSTcgpTXUhqLzwN2AwnkoNZ7Y5VrPBFI72PoTIwj1LWEtkTaL6XbyIQfppaiCEq52m+RCYRGr4cwZpIP9eUjbnLL3swoKbCKZeU4aVdrLroPr9obvPO1cIfCYxvVUcQEYS8fpMo9fG340HfmH2OKIEiNTOew74/bDM7S53VbpyUeRIOTNwfn+Y/WD06jAbcUybl78DVCBnGM1CdX1udMgeeFMt0oOqkzb6KgvAgAfIqIc/sU9siXWzwx+3cFAwmfDQtJtnrfw3IRX5iPVZAU3EBLsEk=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(366004)(136003)(396003)(39860400002)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(2616005)(6512007)(26005)(966005)(6486002)(478600001)(31696002)(36756003)(86362001)(4326008)(8676002)(8936002)(41300700001)(7416002)(2906002)(5660300002)(66556008)(54906003)(66476007)(66946007)(6916009)(316002)(53546011)(6506007)(38100700002)(83380400001)(31686004)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NUZ5aDI5c0RvRk0rVWRWWUFIdGg3YU5PTDd1UHc4bjJiRzlWT0FsUXFSMy9u?=
 =?utf-8?B?ZDZzM0ljV0ozZ3Bad1BUYU1ZNWFYL0E4ekpMN2JBTHh1OU45bC9QU1JodTNT?=
 =?utf-8?B?Q0lKeTV5c0pxMDdvdzNEZC9aMFhZU084ZTJ5ck84eFZQc3gvc1pnVGNlT3Rm?=
 =?utf-8?B?TFdtZmlqOVJVbWN3VzVjUzRXd296U3hveUo0d1dva2VEbW80My9WdTl5cWpV?=
 =?utf-8?B?NkpRV1Mwa3VrdGpmdGtvZngrY1JHYXRlNHJ3ME9GQVZRTVg5YnNVTENUYVRG?=
 =?utf-8?B?RitwWm1jblVST24ydnd3SURjNzBhSVlqMkRyeHROOGpnRjNqcmRUNXM2aXpi?=
 =?utf-8?B?bmFlVlE0MjZMTHBraWlvZTA4YWNJcmNtMDY2cy85bm9pZHNKVStPdFBzNENr?=
 =?utf-8?B?cG15YisyUTROaXR5OVovRDgyL3R1NkE1U2ErZ0NCT3JacjFuT29aVTh5dk9H?=
 =?utf-8?B?SXFVeVI1a0g4czNKRFBFMGQ1L1VobzBEMDQzOGxlcUVONjNzK1R3N0pHWWJ1?=
 =?utf-8?B?YXJ4OHRncHM1TG1vM3dHN01TQmNJSHV4Z2xpTzllcGFEZy9tZTdVN3dRWkJ2?=
 =?utf-8?B?ajRPMllFR0pHZmJpV1NhemY0c1IzWFo4UWM4dDY2SVVVTmM1SEVxbVliMitI?=
 =?utf-8?B?eHY4akhyZldCVWxPZ1VLaXdmdGlaSXgyYmEzUU1TQytNT3l4djkzUnduNDNW?=
 =?utf-8?B?QUNJTWlVZzZZMTBoUWxTTDdSc3Z1cGQrY3N3RFBlbDJaMjI1VG9jdTZ4NjRH?=
 =?utf-8?B?Sk9Ld011cURTd1dtcXpZWXNFRDh6TFF2Y0dIcTY5ZnNENHU1b2lScWNuQ25C?=
 =?utf-8?B?RW52T2NyM2dlZ083ZXM2SVJIQ0JVMmFGV0lxZVFmR1RjVVNacmFzTkdRUld5?=
 =?utf-8?B?dGcvTjluSS90QWlCaDJ5alRudEJHRkxjZEp5VzY4TFVBRDMwNWU5VmtPWFJq?=
 =?utf-8?B?bW9paEl4R3dxeTc3SDIyVm9zRjZqeVFyR2ZZN3N6cUZza1Fib2p6U2x6ZDJr?=
 =?utf-8?B?MnhnZWNtN0oveHhBLzVwekxPZmp2dTczU1VGUHc0Rk9oM05IMDlLZ0crSm14?=
 =?utf-8?B?dk8yWlJGUmNUbHQ4aGp1Nmt3ckpYLzI5aFo1RTQxMmMvU2xhbHEybDVrU0hh?=
 =?utf-8?B?ZWxnTUxUN0tmWUFsaGRLZm92eFBoQlY5QXZRS3Y0MWFVbm9ZOHJhQ2JMMGlj?=
 =?utf-8?B?aUMwMG9zTEIySXlVYUl0cDRIUnVOZGZPYTc5cG1sZnlpMjlkdW9FVXB2TTBZ?=
 =?utf-8?B?NU5pUzVXRnpXclVUOFdMYWlVWWIrRmwvUS96RnZyekRkTGw0NExseHN5Yi9E?=
 =?utf-8?B?eGR2N0dFeHlkbjQrQW1iaFhXajZCeE1FUFlPOVRXMEpLLzVNRmljUE41YnM0?=
 =?utf-8?B?a2FqdStUcDFCb2F1MUlTNDNoSHhJd2NOMGV6UEdpOTIxTi9uYm5GSWtYL2ts?=
 =?utf-8?B?cTc3c3kybThJdU8rdERZaHM3TVF3K1dFOENFSGxNVEw5SkFxVVl2V09TUVVr?=
 =?utf-8?B?ZnozWWFOMUdtUGQ2aEwrajJIUkltR3NOaUxsYmd4MERJTXU4ZmpwM1hwdHdn?=
 =?utf-8?B?ekQrQmM3ZXFmZ0ZlSDF3VVFUVzdUR1JZSUVrMVNNZUlpQTFXQzhxRzlWbXpi?=
 =?utf-8?B?MXlGUm12TVdrY3dRMU5KSkIwQVBLV1YvZk0yR3J6b1hWZWVyN3Bra2dmcGdH?=
 =?utf-8?B?RFR3R1dGTTdoOHVESjM5Z0dIeDJ1ZGhiKys1cUI2S2lRYnhRRVBRSHV4ZlBi?=
 =?utf-8?B?eWtEdWdGeC8xVVVHT1ljeU1FUlBUajZld3ZXK1phVW5JbWZHVlVsdXk5TG5F?=
 =?utf-8?B?dExqU2p4TEpnWG95L2FzZVhjZ0FWeXhpL2FTRWVUUDJSSmZ6K1diN3dwVUFv?=
 =?utf-8?B?ZjZ0djIvR0ZXdjVhNVphZVVneUdwcnd6U0QxODRiSGxLenR6ZnJqK0MwQkFh?=
 =?utf-8?B?a2NDb01wWVllRFFxemIwNG1oSjg5WExkUUdJOHQ1Y1gvRUVzUzI3c3RabU9v?=
 =?utf-8?B?a0VRK3kzM2tRVkp3WC9leVdVUTJBQUZEbDhHMEZqTzUva1FSOHdTTmN2bENC?=
 =?utf-8?B?M3RqQkFBQzBMYjlOL05YbCs0aG9MOWFLcEJQVGdBMGVBenBWU3RDQ2tISGhy?=
 =?utf-8?Q?PuGGCSaw2vAIJsMUC/YxtKelJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1896f70-8e25-4126-e123-08dbe535d8b0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 17:19:23.5994
 (UTC)
X-MS-Exchange-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/Tbm6PL/kSwVcYdSChPPROhpBk8T1YWhSyQbWmYYY7SVVZ5i/xWOxu6txWt8BesKI2vTpN86QR6ULiAGDXOag==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8646

On 14.11.2023 16:13, Oleksii Kurochko wrote:
> ifdefing inclusion of <asm/mem_access.h> in <xen/mem_access.h>
> allows to avoid generation of empty <asm/mem_access.h> header
> for the case when !CONFIG_MEM_ACCESS.
> 
> For Arm it was explicitly added inclusion of <asm/mem_access.h> for p2m.c
> and traps.c because they require some functions from <asm/mem_access.h> which
> aren't available in case of !CONFIG_MEM_ACCESS.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> 
> ---
> This patch was part of patch series:
> https://lore.kernel.org/xen-devel/cover.1699633310.git.oleksii.kurochko@gmail.com/
> 
> The patch series hasn't been reviewed all yet so send this path
> separately.
> ---
>  xen/arch/arm/p2m.c           | 6 ++++++
>  xen/arch/arm/traps.c         | 6 ++++++
>  xen/include/xen/mem_access.h | 2 ++
>  3 files changed, 14 insertions(+)

Also drop PPC's then dead header, please.

> --- a/xen/arch/arm/p2m.c
> +++ b/xen/arch/arm/p2m.c
> @@ -11,6 +11,12 @@
>  #include <asm/event.h>
>  #include <asm/flushtlb.h>
>  #include <asm/guest_walk.h>
> +/*
> + * Inclusion of <asm/mem_acces.h> in <xen/mem_access.h> is #ifdef-ed with
> + * CONFIG_MEM_ACCESS so in case of !CONFIG_MEM_ACCESS will cause a compilation
> + * issue "implicit declaration of functions 'p2m_mem_access*'.
> + */
> +#include <asm/mem_access.h>

Personally I'm against such comments (they simply don't scale), but this
is Arm code, so Arm folks will need to judge.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:23:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:23:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633038.987572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2x8C-0004v7-2s; Tue, 14 Nov 2023 17:23:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633038.987572; Tue, 14 Nov 2023 17:23: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 1r2x8B-0004v0-Vq; Tue, 14 Nov 2023 17:23:19 +0000
Received: by outflank-mailman (input) for mailman id 633038;
 Tue, 14 Nov 2023 17:23: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=5ZB8=G3=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r2x8A-0004qz-1y
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:23:18 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060d.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e24f533-8312-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:23:14 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7680.eurprd04.prod.outlook.com (2603:10a6:102:f3::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.16; Tue, 14 Nov
 2023 17:23:12 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.015; Tue, 14 Nov 2023
 17: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: 7e24f533-8312-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H9PSr8EAt91c+XVbYkR5SB46/NE9lP99oG0S2WBIRIkgJDRB2qhR63Rh8woARjm9dzmZAAC7bWSAmpRGo/ri/ISK6o1whme45mcYIYUZRQagtjYTBPUKv6BRicr+WxDsh1DLEgSJEmiswOLVZdSJCS6dXWAk9r83uABchw8GkthCIwCTy/oAqz907qj7LbrcPOnJwutLYRg7y5V7nAGjYaRYdfpNFyMNAu1xjbrm/jRBcoNxds+1nJSdLKr2KPue1KNhWtx96xoQjnLG2rgs8CrsruFcc04z9Sbes8P/BVPA1hCTr4bnVm/5ZpCUcpqIFi64C4OQohQJzDXJsGIhiw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JIQhSt8tZK1ojQ9oEq/mHPJEijvqb5jyyk7KsMIiFPU=;
 b=lEALhBJHBDESvxojDSz4GWIWWZuDoX1Z/X3mpzxXRc/isjnVCfjqPFohjbkKbvLGXx4LflhPF4KGa9ZV0bYju6gNkP4LoQtPNNuIIFa85BAec8LFtroYx6KuEMZwQJ7CsE/zJeuq+2cNaLSjFm4tfmYbWNQdo0Gta8mFDof59wRGIi7zq8Miv34cnmRcW1tZ6PFUCIvCPwX0XLptxhTz+CrHE29G4FO3yjnIkwxh6GbMCZuizKBA7kuUfim/V266ZFlGm007v0Us6W5/qptwDJgTLQUeHmRsDhqqqrID/DDtEHQnWUuCMGlSoDuj09HRuTEdv1JI31fJYdANr4X/tg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JIQhSt8tZK1ojQ9oEq/mHPJEijvqb5jyyk7KsMIiFPU=;
 b=oi412hZOoeUL67xiO43ys1Kdn0blXFMy7pbvQArNqlHhlgOYSoj9ZTA5u59g0/7P/8cDvJ8WPyeT1hzuCBhcl0Fjjoa+z0kTJZm1i6wsn2tCEdYJKs7KgGlmgN3i2ueHvfOgADNqbnvcbpw5QISh1uffgMnkdEQo1nEwXy/kbKq3jO6BikojBMxMdWs3hlOqY4ac2yb3hgVLgaehubqZ07iliyGOwa8ze5vMdoiYnP3MYSlUS0cLURgtB3mrkB5ALTa6T/H3xxCj/vEZjewbYn2RP2mGiB6zbiyu4qxFhohKdC3RRSGbJ4yMunBDKa6e0FQQoSOF5rXbraDKFGLZpQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5958bd25-195a-4098-b03a-6c6f62b978a0@suse.com>
Date: Tue, 14 Nov 2023 18:23:09 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <feee97db556b5b38adb11877c4a37f1d0a09fc92.1699974909.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <feee97db556b5b38adb11877c4a37f1d0a09fc92.1699974909.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0011.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::21)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7680:EE_
X-MS-Office365-Filtering-Correlation-Id: 4bd123a8-73f6-4e1c-1434-08dbe53660d0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/pQtxC84AX1L8lamzXHZYA6v/fAUvfMk8rZ5ATaNMyvwwRsaZEmzxIiwOP09aGFvH+Fpp8MV+g5Ybws9tMYLMIGlNF2Xa/5lifTxDf6efgy/jDDjegwlmscbaT53BCqMYfguIHAakkfwZXnpLeN7nVH6YOM7M1rb4lAzVBh7f1WB8BUOpzZdtDLPmBFSwIsXhWC4nlkCkwdrAX82YGKrj3NAfvgTN9tUFDQlT/GauJXPPbUizC0T1jdiJXRLaf1COM5rYB32/VVKBAo89FQ+9OdsMN8sVqywuLih8/nXwK0fetLK4s7G5lTbGYQyh0Gg99l3rK1aM2n8AAEMzHNPbPtSmwZ3qHos9Ync7wWZt2aMWJL7UDFzE/gcA4TwIGDrAMW4By9uixH4Uvmue1ObHYmNpvms3UFUCox8JigrtbdXiHTesxHGbzvNzLUA4ZbCfPzhNDUT9sLJoadzW8lNJw0veW/tD0lMUAvExqZRK4PJw/9yCJBjkBdsahXozFpQXldbA0Gd35b3Zef27M+2ppLX2L7cVBdtEFvJcbM6lOqmicqgIMFCIX/Rh7YYahZpyvaX6jt1+2LNc7H1RzYIYsy1TQgO+vRKx4oNvqOkOoiJ93NdeUkxH+UyuOAEOwxworFtG9yQqE9QYjsyuG+Cng==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(136003)(396003)(366004)(376002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(26005)(38100700002)(83380400001)(86362001)(7416002)(5660300002)(2616005)(31686004)(6512007)(6506007)(53546011)(31696002)(478600001)(6486002)(36756003)(6666004)(66946007)(316002)(54906003)(66556008)(6916009)(66476007)(2906002)(8676002)(8936002)(4326008)(4744005)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UUhZR2pka0tQVmp1azFUVlBUZHRkczJHeUNKTDZxOHVsd0hnOStMS3FvL3Ax?=
 =?utf-8?B?c3dyWWdvZ0N3SVFLZUZCd0RMU0NYZ0NRbXN6dUJ0Q3ZaOVF2cEExWFFhaUR0?=
 =?utf-8?B?ckpqZnFtT3FBUmE5TzhkaXVZbUxNNm12Qm13dlA2eG5rZ0t0WjZJdVFpVXQv?=
 =?utf-8?B?U0NDV2ExZ2MyTW5WOGM0UG02V0VYRCtGejdyNjZObG9xaGg2ZTVEclZHalNU?=
 =?utf-8?B?MmZEWlJRS0tuVkFnKzNncElFSEZvejRtOEtyQm4va25NaWtQY3BkVDBhZG9O?=
 =?utf-8?B?WHhrbzRWVmZzaW11VmxrS0U5TU5mQzRuS3EwenpwQzhuY1NqTVYyMHE3SUtC?=
 =?utf-8?B?Rmtyd1NXcm5CQms4UE5BQjFKWDlGMGZBZmora1RsenpGUE0vVldTZk90c0VB?=
 =?utf-8?B?UVVEMmhGenc5K3RvczU0T0pmT2ViS29nYnFzZzBCd1NhNVBIU2UzTlRORWRa?=
 =?utf-8?B?TUlyRWtxZWNnSGpXMGRiQjBFK1F3YXI4aVk2am1SMlZQbXlsWlduR0xtNGRm?=
 =?utf-8?B?c3Jra2svb1JEZWhRTUNwWWdMb0dhaUVRMWJTSnR2OG9wZVpBQVJoNndPdzhq?=
 =?utf-8?B?bXdwQXRocElqbkFZckNBTGM1V0lMQ05UazFBTVhvZERhSUFuMlpZN3VsLzNU?=
 =?utf-8?B?cDdCRGJKZGJ1bHdEaGRpWFo1T1Y5VWNZczFpZnVwbkVnQVppZzNoYjk1eUhv?=
 =?utf-8?B?dVNhbzJLZ1hXdnJlUzdNV3BNa3cxamJBSGVha1l1TnFlbmpURnNGSTgyODRM?=
 =?utf-8?B?MTJ4STlSOHZXVGhHNTVVVUtuRmZQVzM0Tzl4TTZMdHFxWFhPYndaeVFtVmow?=
 =?utf-8?B?SzRqNmpFVGl2TGJ3ZGpsUjNaV0VzdSsrcFdraXJCYUtGLzVHV2ZYWk4va1Ew?=
 =?utf-8?B?MkpRRkwwVy95R2xkK0gwY3AwOGpTRHhhVkowMS96Tm4zcCtkY0VjdktsS2sw?=
 =?utf-8?B?bnpCdnVrcDByTlBPRXJTWjBDMW80amF2R25xTThHVGM0bVVQWDYvanZ4Umwx?=
 =?utf-8?B?L2xMbUtyN3ovS0FJd1dwd0grQlFWbWJQU2l5eCtLdVRXU2FBZHJ5WDN1VTRj?=
 =?utf-8?B?ekdrRkFUUk96a2NoanRNNHV4UVJVcGQvZ2l6MzVLNmlPRTl6MWo0Ym5ZbCt2?=
 =?utf-8?B?TmVYenpzWkxTSFpDalMwN3F6Qzk2S2U2ZjdlYUVhOGRqNTVBaEduRmg1Sk1z?=
 =?utf-8?B?cEUrMUVvZTVUcG43MkhBMXluUVZLL1ByRkc0c3NzdUNSSW9rWFljbFdGaE4x?=
 =?utf-8?B?bVZLT2k4d2ZLdVVEbE0rTVkzVkYzeFE2cWlVSldJc1ljejhRZFRxWHZwYVY1?=
 =?utf-8?B?eTAzRVEvZXFFN052YlJSNysyWnE4WWtCbEdHQWh6U25yQjZ3WkRHTW81MS9z?=
 =?utf-8?B?aW1meFYvRWJ3NmpTa1BlVU9wNVE1RkEwTnNBd1Iybk9Bd0JORHJzWEZnZGVK?=
 =?utf-8?B?N0pBelQ4SkgvSEFIMWkxdmFpalcyaWk3OGtkWFJZbmNQVzJDdVNKQW5WZ0Vl?=
 =?utf-8?B?VFZTSHhkZ3hDTWlnSXI0ZUV1eTJ4S2FJdjZYTGVzVHFtd0t3ZGpRMU5QNDVY?=
 =?utf-8?B?Q0JZWHZock4za0ROUHVxUWRVRFA3QWljN05yMGlGbzJMNkxUNEE1TEloK3Vo?=
 =?utf-8?B?QVdaaWppcTY0WEVBMUpiL0lteWx6S0lkZThMRm1qc2tyZFFnNmIwa0JvczQ2?=
 =?utf-8?B?aDhpWERQVnFXK0VESHdEV2RsblQwbzlFd2YraEwyUEM4RFNmbGJxTlpzVS9S?=
 =?utf-8?B?OUNheis3RmVFNzI3TjJzVWUvMHRvOTBIU2Q4akVESHl0a2JtSHhhTmxXM3F6?=
 =?utf-8?B?T3I2L2RlVlcyVFBUU0JpYW1GaW1qa04vVGV5V015WU05aWxGOFppaWR6dDll?=
 =?utf-8?B?Z1FHc04zckFQY1AzSUdyTVFRNDN1OFdIdE5UVWEyZWowdDE1MTR3a2F5WFBa?=
 =?utf-8?B?OTdWQWk5QTZnRHI1cXZpb084SFhrZ3F1T1lZSmF4Zll0eDNFTm5zUXg0d2VK?=
 =?utf-8?B?dHFrbjVRZEtma3crOVN2aG1DTTRsZmRFTzMzYmZ3NG5BaGpweTZRWEp6aFN0?=
 =?utf-8?B?WFY1Yk4vVzR0TE5MVUhmUEgzdGh5MlJ5UXdFTHgzQmJmUEVhUUlMTTA3SENw?=
 =?utf-8?Q?wFqOToZisBE+I6IwppvLoNjKk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4bd123a8-73f6-4e1c-1434-08dbe53660d0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Nov 2023 17:23:11.9663
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: A6a+1PNmskMn9M8ZzR+YNGsy5CsqUKiPrc/HGUdN2UUxyNRXRwRLGjR/JxsTQPvU2QeFjDdKBWOG7Sgb4qxChw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7680

On 14.11.2023 16:16, Oleksii Kurochko wrote:
> Ifdef-ing inclusion of <asm/grant_table.h> allows to avoid
> generation of empty <asm/grant_table.h> for cases when
> CONFIG_GRANT_TABLE is not enabled.
> 
> The following changes were done for Arm:
> <asm/grant_table.h> should be included directly because it contains
> gnttab_dom0_frames() macros which is unique for Arm and is used in
> arch/arm/domain_build.c.
> <asm/grant_table.h> is #ifdef-ed with CONFIG_GRANT_TABLE in
> <xen/grant_table.h> so in case of !CONFIG_GRANT_TABLE gnttab_dom0_frames
> won't be available for use in arch/arm/domain_build.c.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Same two comments here as for the mem_access.h patch.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633088.987642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfO-00018F-U0; Tue, 14 Nov 2023 17:57:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633088.987642; Tue, 14 Nov 2023 17:57: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 1r2xfO-00014g-Fm; Tue, 14 Nov 2023 17:57:38 +0000
Received: by outflank-mailman (input) for mailman id 633088;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYf-0004mK-Hb
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:41 +0000
Received: from 7.mo576.mail-out.ovh.net (7.mo576.mail-out.ovh.net
 [46.105.50.32]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 52d7454f-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:39 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.146.213])
 by mo576.mail-out.ovh.net (Postfix) with ESMTP id 99E5E2BFEA
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:39 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 253951FDE8;
 Tue, 14 Nov 2023 17:50:39 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id AKMpBm+zU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 52d7454f-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G00562a061e7-849b-469d-8155-380106dc87b3,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 2/2] x86/smp: start APs in parallel during boot
Date: Tue, 14 Nov 2023 18:50:00 +0100
Message-ID: <77c9199eabf3a30ebcf89356b2dd35abd611a3a9.1699981241.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981241.git.krystian.hebel@3mdeb.com>
References: <cover.1699981241.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12929553056808806768
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepudenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheejiedpmhhouggvpehsmhhtphhouhht

Multiple delays are required when sending IPIs and waiting for
responses. During boot, 4 such IPIs were sent per each AP. With this
change, only one set of broadcast IPIs is sent. This reduces boot time,
especially for platforms with large number of cores.

Single CPU initialization is still possible, it is used for hotplug.

During wakeup from S3 APs are started one by one. It should be possible
to enable parallel execution there as well, but I don't have a way of
properly testing it as of now.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/include/asm/smp.h |  1 +
 xen/arch/x86/setup.c           |  2 +
 xen/arch/x86/smpboot.c         | 68 ++++++++++++++++++++++++----------
 3 files changed, 51 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index 98739028a6ed..6ca0158a368d 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -31,6 +31,7 @@ DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
 extern bool park_offline_cpus;
 
 void smp_send_nmi_allbutself(void);
+void smp_send_init_sipi_sipi_allbutself(void);
 
 void send_IPI_mask(const cpumask_t *, int vector);
 void send_IPI_self(int vector);
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index b2c0679725ea..42a9067b81eb 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1963,6 +1963,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
                 cpu_data[i].stack_base = cpu_alloc_stack(i);
         }
 
+        smp_send_init_sipi_sipi_allbutself();
+
         for_each_present_cpu ( i )
         {
             if ( (park_offline_cpus || num_online_cpus() < max_cpus) &&
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index cbea2d45f70d..e9a7f78a5a6f 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -425,7 +425,7 @@ void start_secondary(unsigned int cpu)
 
 static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
 {
-    unsigned long send_status = 0, accept_status = 0;
+    unsigned long send_status = 0, accept_status = 0, sh = 0;
     int maxlvt, timeout, i;
 
     /*
@@ -445,6 +445,12 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
     if ( tboot_in_measured_env() && !tboot_wake_ap(phys_apicid, start_eip) )
         return 0;
 
+    /*
+     * Use destination shorthand for broadcasting IPIs during boot.
+     */
+    if ( phys_apicid == BAD_APICID )
+        sh = APIC_DEST_ALLBUT;
+
     /*
      * Be paranoid about clearing APIC errors.
      */
@@ -458,7 +464,7 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
         /*
          * Turn INIT on target chip via IPI
          */
-        apic_icr_write(APIC_INT_LEVELTRIG | APIC_INT_ASSERT | APIC_DM_INIT,
+        apic_icr_write(APIC_INT_LEVELTRIG | APIC_INT_ASSERT | APIC_DM_INIT | sh,
                        phys_apicid);
 
         if ( !x2apic_enabled )
@@ -475,7 +481,7 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
 
             Dprintk("Deasserting INIT.\n");
 
-            apic_icr_write(APIC_INT_LEVELTRIG | APIC_DM_INIT, phys_apicid);
+            apic_icr_write(APIC_INT_LEVELTRIG | APIC_DM_INIT | sh, phys_apicid);
 
             Dprintk("Waiting for send to finish...\n");
             timeout = 0;
@@ -512,7 +518,7 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
          * STARTUP IPI
          * Boot on the stack
          */
-        apic_icr_write(APIC_DM_STARTUP | (start_eip >> 12), phys_apicid);
+        apic_icr_write(APIC_DM_STARTUP | (start_eip >> 12) | sh, phys_apicid);
 
         if ( !x2apic_enabled )
         {
@@ -565,7 +571,6 @@ int alloc_cpu_id(void)
 static int do_boot_cpu(int apicid, int cpu)
 {
     int timeout, boot_error = 0, rc = 0;
-    unsigned long start_eip;
 
     /*
      * Save current MTRR state in case it was changed since early boot
@@ -573,21 +578,31 @@ static int do_boot_cpu(int apicid, int cpu)
      */
     mtrr_save_state();
 
-    start_eip = bootsym_phys(trampoline_realmode_entry);
+    /* Check if AP is already up. */
+    if ( cpu_data[cpu].cpu_state != CPU_STATE_INIT )
+    {
+        /* This grunge runs the startup process for the targeted processor. */
+        unsigned long start_eip;
+        start_eip = bootsym_phys(trampoline_realmode_entry);
 
-    /* start_eip needs be page aligned, and below the 1M boundary. */
-    if ( start_eip & ~0xff000 )
-        panic("AP trampoline %#lx not suitably positioned\n", start_eip);
+        /* start_eip needs be page aligned, and below the 1M boundary. */
+        if ( start_eip & ~0xff000 )
+            panic("AP trampoline %#lx not suitably positioned\n", start_eip);
 
-    /* So we see what's up   */
-    if ( opt_cpu_info )
-        printk("Booting processor %d/%d eip %lx\n",
-               cpu, apicid, start_eip);
+        /* So we see what's up   */
+        if ( opt_cpu_info )
+            printk("AP trampoline at %lx\n", start_eip);
 
-    /* This grunge runs the startup process for the targeted processor. */
+        /* mark "stuck" area as not stuck */
+        bootsym(trampoline_cpu_started) = 0;
+        smp_mb();
 
-    /* Starting actual IPI sequence... */
-    boot_error = wakeup_secondary_cpu(apicid, start_eip);
+        /* Starting actual IPI sequence... */
+        boot_error = wakeup_secondary_cpu(apicid, start_eip);
+    }
+
+    if ( opt_cpu_info )
+        printk("Booting processor %d/%d\n", cpu, apicid);
 
     if ( !boot_error )
     {
@@ -646,10 +661,6 @@ static int do_boot_cpu(int apicid, int cpu)
         rc = -EIO;
     }
 
-    /* mark "stuck" area as not stuck */
-    bootsym(trampoline_cpu_started) = 0;
-    smp_mb();
-
     return rc;
 }
 
@@ -1155,6 +1166,23 @@ static struct notifier_block cpu_smpboot_nfb = {
     .notifier_call = cpu_smpboot_callback
 };
 
+void smp_send_init_sipi_sipi_allbutself(void)
+{
+    unsigned long start_eip;
+    start_eip = bootsym_phys(trampoline_realmode_entry);
+
+    /* start_eip needs be page aligned, and below the 1M boundary. */
+    if ( start_eip & ~0xff000 )
+        panic("AP trampoline %#lx not suitably positioned\n", start_eip);
+
+    /* So we see what's up   */
+    if ( opt_cpu_info )
+        printk("Booting APs in parallel, eip %lx\n", start_eip);
+
+    /* Starting actual broadcast IPI sequence... */
+    wakeup_secondary_cpu(BAD_APICID, start_eip);
+}
+
 void __init smp_prepare_cpus(void)
 {
     register_cpu_notifier(&cpu_smpboot_nfb);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633091.987649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfP-0001MF-Ez; Tue, 14 Nov 2023 17:57:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633091.987649; Tue, 14 Nov 2023 17:57: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 1r2xfP-0001I5-3m; Tue, 14 Nov 2023 17:57:39 +0000
Received: by outflank-mailman (input) for mailman id 633091;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYg-0004mK-Hs
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:42 +0000
Received: from 1.mo575.mail-out.ovh.net (1.mo575.mail-out.ovh.net
 [46.105.41.146]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 533029ce-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:40 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.1.219])
 by mo575.mail-out.ovh.net (Postfix) with ESMTP id 382D729417
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:40 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id AE2A41FDE8;
 Tue, 14 Nov 2023 17:50:39 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id kAWdJ2+zU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 533029ce-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G005504fe416-d68e-45d1-9e76-8851a34994cd,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 03/10] x86: don't access x86_cpu_to_apicid[] directly, use cpu_physical_id(cpu)
Date: Tue, 14 Nov 2023 18:50:01 +0100
Message-ID: <705574ddb7f18bae9ed3f60ddf2e4bda02c70388.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12929834530462607728
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheejhedpmhhouggvpehsmhhtphhouhht

This is done in preparation to move data from x86_cpu_to_apicid[]
elsewhere.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/acpi/cpu_idle.c      |  4 ++--
 xen/arch/x86/acpi/lib.c           |  2 +-
 xen/arch/x86/apic.c               |  2 +-
 xen/arch/x86/cpu/mwait-idle.c     |  4 ++--
 xen/arch/x86/domain.c             |  2 +-
 xen/arch/x86/mpparse.c            |  6 +++---
 xen/arch/x86/numa.c               |  2 +-
 xen/arch/x86/platform_hypercall.c |  2 +-
 xen/arch/x86/setup.c              | 14 +++++++-------
 xen/arch/x86/smpboot.c            |  4 ++--
 xen/arch/x86/spec_ctrl.c          |  2 +-
 xen/arch/x86/sysctl.c             |  2 +-
 12 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index cfce4cc0408f..d03e54bcef38 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -1256,7 +1256,7 @@ int get_cpu_id(u32 acpi_id)
 
     for ( i = 0; i < nr_cpu_ids; i++ )
     {
-        if ( apic_id == x86_cpu_to_apicid[i] )
+        if ( apic_id == cpu_physical_id(i) )
             return i;
     }
 
@@ -1362,7 +1362,7 @@ long set_cx_pminfo(uint32_t acpi_id, struct xen_processor_power *power)
 
     if ( !cpu_online(cpu_id) )
     {
-        uint32_t apic_id = x86_cpu_to_apicid[cpu_id];
+        uint32_t apic_id = cpu_physical_id(cpu_id);
 
         /*
          * If we've just learned of more available C states, wake the CPU if
diff --git a/xen/arch/x86/acpi/lib.c b/xen/arch/x86/acpi/lib.c
index 51cb082ca02a..87a1f38f3f5a 100644
--- a/xen/arch/x86/acpi/lib.c
+++ b/xen/arch/x86/acpi/lib.c
@@ -91,7 +91,7 @@ unsigned int acpi_get_processor_id(unsigned int cpu)
 {
 	unsigned int acpiid, apicid;
 
-	if ((apicid = x86_cpu_to_apicid[cpu]) == BAD_APICID)
+	if ((apicid = cpu_physical_id(cpu)) == BAD_APICID)
 		return INVALID_ACPIID;
 
 	for (acpiid = 0; acpiid < ARRAY_SIZE(x86_acpiid_to_apicid); acpiid++)
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 6acdd0ec1468..63e18968e54c 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -950,7 +950,7 @@ __next:
      */
     if (boot_cpu_physical_apicid == -1U)
         boot_cpu_physical_apicid = get_apic_id();
-    x86_cpu_to_apicid[0] = get_apic_id();
+    cpu_physical_id(0) = get_apic_id();
 
     ioapic_init();
 }
diff --git a/xen/arch/x86/cpu/mwait-idle.c b/xen/arch/x86/cpu/mwait-idle.c
index ff5c808bc952..88168da8a0ca 100644
--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -1202,8 +1202,8 @@ static void __init ivt_idle_state_table_update(void)
 	unsigned int cpu, max_apicid = boot_cpu_physical_apicid;
 
 	for_each_present_cpu(cpu)
-		if (max_apicid < x86_cpu_to_apicid[cpu])
-			max_apicid = x86_cpu_to_apicid[cpu];
+		if (max_apicid < cpu_physical_id(cpu))
+			max_apicid = cpu_physical_id(cpu);
 	switch (apicid_to_socket(max_apicid)) {
 	case 0: case 1:
 		/* 1 and 2 socket systems use default ivt_cstates */
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 3712e36df930..f45437511a46 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1615,7 +1615,7 @@ long do_vcpu_op(int cmd, unsigned int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
             break;
 
         cpu_id.phys_id =
-            (uint64_t)x86_cpu_to_apicid[v->vcpu_id] |
+            (uint64_t)cpu_physical_id(v->vcpu_id) |
             ((uint64_t)acpi_get_processor_id(v->vcpu_id) << 32);
 
         rc = -EFAULT;
diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c
index d8ccab2449c6..b8cabebe7bf9 100644
--- a/xen/arch/x86/mpparse.c
+++ b/xen/arch/x86/mpparse.c
@@ -187,7 +187,7 @@ static int MP_processor_info_x(struct mpc_config_processor *m,
 			       " Processor with apicid %i ignored\n", apicid);
 			return cpu;
 		}
-		x86_cpu_to_apicid[cpu] = apicid;
+		cpu_physical_id(cpu) = apicid;
 		cpumask_set_cpu(cpu, &cpu_present_map);
 	}
 
@@ -822,12 +822,12 @@ void mp_unregister_lapic(uint32_t apic_id, uint32_t cpu)
 	if (!cpu || (apic_id == boot_cpu_physical_apicid))
 		return;
 
-	if (x86_cpu_to_apicid[cpu] != apic_id)
+	if (cpu_physical_id(cpu) != apic_id)
 		return;
 
 	physid_clear(apic_id, phys_cpu_present_map);
 
-	x86_cpu_to_apicid[cpu] = BAD_APICID;
+	cpu_physical_id(cpu) = BAD_APICID;
 	cpumask_clear_cpu(cpu, &cpu_present_map);
 }
 
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 4b0b297c7e09..39e131cb4f35 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -70,7 +70,7 @@ void __init init_cpu_to_node(void)
 
     for ( i = 0; i < nr_cpu_ids; i++ )
     {
-        u32 apicid = x86_cpu_to_apicid[i];
+        u32 apicid = cpu_physical_id(i);
         if ( apicid == BAD_APICID )
             continue;
         node = apicid < MAX_LOCAL_APIC ? apicid_to_node[apicid] : NUMA_NO_NODE;
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 9469de9045c7..9a52e048f67c 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -588,7 +588,7 @@ ret_t do_platform_op(
         }
         else
         {
-            g_info->apic_id = x86_cpu_to_apicid[g_info->xen_cpuid];
+            g_info->apic_id = cpu_physical_id(g_info->xen_cpuid);
             g_info->acpi_id = acpi_get_processor_id(g_info->xen_cpuid);
             ASSERT(g_info->apic_id != BAD_APICID);
             g_info->flags = 0;
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 1285969901e0..a19fe219bbf6 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -319,7 +319,7 @@ static void __init init_idle_domain(void)
 void srat_detect_node(int cpu)
 {
     nodeid_t node;
-    u32 apicid = x86_cpu_to_apicid[cpu];
+    u32 apicid = cpu_physical_id(cpu);
 
     node = apicid < MAX_LOCAL_APIC ? apicid_to_node[apicid] : NUMA_NO_NODE;
     if ( node == NUMA_NO_NODE )
@@ -346,7 +346,7 @@ static void __init normalise_cpu_order(void)
 
     for_each_present_cpu ( i )
     {
-        apicid = x86_cpu_to_apicid[i];
+        apicid = cpu_physical_id(i);
         min_diff = min_cpu = ~0u;
 
         /*
@@ -357,12 +357,12 @@ static void __init normalise_cpu_order(void)
               j < nr_cpu_ids;
               j = cpumask_next(j, &cpu_present_map) )
         {
-            diff = x86_cpu_to_apicid[j] ^ apicid;
+            diff = cpu_physical_id(j) ^ apicid;
             while ( diff & (diff-1) )
                 diff &= diff-1;
             if ( (diff < min_diff) ||
                  ((diff == min_diff) &&
-                  (x86_cpu_to_apicid[j] < x86_cpu_to_apicid[min_cpu])) )
+                  (cpu_physical_id(j) < cpu_physical_id(min_cpu))) )
             {
                 min_diff = diff;
                 min_cpu = j;
@@ -378,9 +378,9 @@ static void __init normalise_cpu_order(void)
 
         /* Switch the best-matching CPU with the next CPU in logical order. */
         j = cpumask_next(i, &cpu_present_map);
-        apicid = x86_cpu_to_apicid[min_cpu];
-        x86_cpu_to_apicid[min_cpu] = x86_cpu_to_apicid[j];
-        x86_cpu_to_apicid[j] = apicid;
+        apicid = cpu_physical_id(min_cpu);
+        cpu_physical_id(min_cpu) = cpu_physical_id(j);
+        cpu_physical_id(j) = apicid;
     }
 }
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 4c54ecbc91d7..de87c5a41926 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1154,7 +1154,7 @@ void __init smp_prepare_cpus(void)
     print_cpu_info(0);
 
     boot_cpu_physical_apicid = get_apic_id();
-    x86_cpu_to_apicid[0] = boot_cpu_physical_apicid;
+    cpu_physical_id(0) = boot_cpu_physical_apicid;
 
     stack_base[0] = (void *)((unsigned long)stack_start & ~(STACK_SIZE - 1));
 
@@ -1374,7 +1374,7 @@ int __cpu_up(unsigned int cpu)
 {
     int apicid, ret;
 
-    if ( (apicid = x86_cpu_to_apicid[cpu]) == BAD_APICID )
+    if ( (apicid = cpu_physical_id(cpu)) == BAD_APICID )
         return -ENODEV;
 
     if ( (!x2apic_enabled && apicid >= APIC_ALL_CPUS) ||
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index a8d8af22f6d8..d54c8d93cff0 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -589,7 +589,7 @@ static bool __init check_smt_enabled(void)
      * has a non-zero thread id component indicates that SMT is active.
      */
     for_each_present_cpu ( cpu )
-        if ( x86_cpu_to_apicid[cpu] & (boot_cpu_data.x86_num_siblings - 1) )
+        if ( cpu_physical_id(cpu) & (boot_cpu_data.x86_num_siblings - 1) )
             return true;
 
     return false;
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index c107f40c6283..67d8ab3f824a 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -58,7 +58,7 @@ static long cf_check smt_up_down_helper(void *data)
     for_each_present_cpu ( cpu )
     {
         /* Skip primary siblings (those whose thread id is 0). */
-        if ( !(x86_cpu_to_apicid[cpu] & sibling_mask) )
+        if ( !(cpu_physical_id(cpu) & sibling_mask) )
             continue;
 
         if ( !up && core_parking_remove(cpu) )
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633093.987661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfQ-0001ZB-3B; Tue, 14 Nov 2023 17:57:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633093.987661; Tue, 14 Nov 2023 17:57: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 1r2xfP-0001VV-Lh; Tue, 14 Nov 2023 17:57:39 +0000
Received: by outflank-mailman (input) for mailman id 633093;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYh-0004mK-I0
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:43 +0000
Received: from 15.mo583.mail-out.ovh.net (15.mo583.mail-out.ovh.net
 [178.33.107.29]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 537c944b-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:41 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.4.72])
 by mo583.mail-out.ovh.net (Postfix) with ESMTP id B4C18293F1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:40 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 487A31FE62;
 Tue, 14 Nov 2023 17:50:40 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id 4KCTDnCzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 537c944b-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G005915ed08e-a95f-4d03-acd7-52e44f105973,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 3/9] x86/smp: drop x86_cpu_to_apicid, use cpu_data[cpu].apicid instead
Date: Tue, 14 Nov 2023 18:50:02 +0100
Message-ID: <8121d9b472b305be751158aa3af3fed98ff0572e.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12929834533636450672
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehleekveevvdfhgeetlefhjedtjefgjedtkeekffeitdffkeffueetkedtgfeiueenucffohhmrghinhepgiekiegpieegrdhssgenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekfedpmhhouggvpehsmhhtphhouhht

Both fields held the same data.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/boot/x86_64.S           |  8 +++++---
 xen/arch/x86/include/asm/asm_defns.h |  2 +-
 xen/arch/x86/include/asm/processor.h |  2 ++
 xen/arch/x86/include/asm/smp.h       |  4 ----
 xen/arch/x86/numa.c                  | 15 +++++++--------
 xen/arch/x86/smpboot.c               |  8 ++++----
 xen/arch/x86/x86_64/asm-offsets.c    |  4 +++-
 7 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index b85b47b5c1a0..195550b5c0ea 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -20,15 +20,17 @@ ENTRY(__high_start)
         jz      .L_stack_set
 
         /* APs only: get stack base from APIC ID saved in %esp. */
-        mov     $-1, %rax
-        lea     x86_cpu_to_apicid(%rip), %rcx
+        mov     $0, %rax
+        lea     cpu_data(%rip), %rcx
+        /* cpu_data[0] is BSP, skip it. */
 1:
         add     $1, %rax
+        add     $CPUINFO_X86_sizeof, %rcx
         cmp     $NR_CPUS, %eax
         jb      2f
         hlt
 2:
-        cmp     %esp, (%rcx, %rax, 4)
+        cmp     %esp, CPUINFO_X86_apicid(%rcx)
         jne     1b
 
         /* %eax is now Xen CPU index. */
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index baaaccb26e17..6b05d9d140b8 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -158,7 +158,7 @@ register unsigned long current_stack_pointer asm("rsp");
 #endif
 
 #define CPUINFO_FEATURE_OFFSET(feature)           \
-    (CPUINFO_features + (cpufeat_word(feature) * 4))
+    (CPUINFO_X86_features + (cpufeat_word(feature) * 4))
 
 #else
 
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index b0d2a62c075f..8345d58094da 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -92,6 +92,8 @@ struct x86_cpu_id {
 extern struct cpuinfo_x86 cpu_data[];
 #define current_cpu_data cpu_data[smp_processor_id()]
 
+#define cpu_physical_id(cpu)	cpu_data[cpu].apicid
+
 extern bool probe_cpuid_faulting(void);
 extern void ctxt_switch_levelling(const struct vcpu *next);
 extern void (*ctxt_switch_masking)(const struct vcpu *next);
diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index c0b5d7cdd8dd..94c557491860 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -39,10 +39,6 @@ extern void (*mtrr_hook) (void);
 
 extern void zap_low_mappings(void);
 
-extern u32 x86_cpu_to_apicid[];
-
-#define cpu_physical_id(cpu)	x86_cpu_to_apicid[cpu]
-
 #define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
 extern void cpu_exit_clear(unsigned int cpu);
 extern void cpu_uninit(unsigned int cpu);
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 39e131cb4f35..91527be5b406 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -54,14 +54,13 @@ bool __init arch_numa_unavailable(void)
 /*
  * Setup early cpu_to_node.
  *
- * Populate cpu_to_node[] only if x86_cpu_to_apicid[],
- * and apicid_to_node[] tables have valid entries for a CPU.
- * This means we skip cpu_to_node[] initialisation for NUMA
- * emulation and faking node case (when running a kernel compiled
- * for NUMA on a non NUMA box), which is OK as cpu_to_node[]
- * is already initialized in a round robin manner at numa_init_array,
- * prior to this call, and this initialization is good enough
- * for the fake NUMA cases.
+ * Populate cpu_to_node[] only if cpu_data[], and apicid_to_node[]
+ * tables have valid entries for a CPU. This means we skip
+ * cpu_to_node[] initialisation for NUMA emulation and faking node
+ * case (when running a kernel compiled for NUMA on a non NUMA box),
+ * which is OK as cpu_to_node[] is already initialized in a round
+ * robin manner at numa_init_array, prior to this call, and this
+ * initialization is good enough for the fake NUMA cases.
  */
 void __init init_cpu_to_node(void)
 {
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index de87c5a41926..f061486e56eb 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -61,10 +61,8 @@ unsigned int __read_mostly nr_sockets;
 cpumask_t **__read_mostly socket_cpumask;
 static cpumask_t *secondary_socket_cpumask;
 
-struct cpuinfo_x86 cpu_data[NR_CPUS];
-
-u32 x86_cpu_to_apicid[NR_CPUS] __read_mostly =
-	{ [0 ... NR_CPUS-1] = BAD_APICID };
+struct cpuinfo_x86 cpu_data[NR_CPUS] =
+        { [0 ... NR_CPUS-1] .apicid = BAD_APICID };
 
 static int cpu_error;
 static enum cpu_state {
@@ -81,7 +79,9 @@ void *stack_base[NR_CPUS];
 
 void initialize_cpu_data(unsigned int cpu)
 {
+    uint32_t apicid = cpu_physical_id(cpu);
     cpu_data[cpu] = boot_cpu_data;
+    cpu_physical_id(cpu) = apicid;
 }
 
 static bool smp_store_cpu_info(unsigned int id)
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index 57b73a4e6214..e881cd5de0a0 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -159,7 +159,9 @@ void __dummy__(void)
     OFFSET(IRQSTAT_softirq_pending, irq_cpustat_t, __softirq_pending);
     BLANK();
 
-    OFFSET(CPUINFO_features, struct cpuinfo_x86, x86_capability);
+    OFFSET(CPUINFO_X86_features, struct cpuinfo_x86, x86_capability);
+    OFFSET(CPUINFO_X86_apicid, struct cpuinfo_x86, apicid);
+    DEFINE(CPUINFO_X86_sizeof, sizeof(struct cpuinfo_x86));
     BLANK();
 
     OFFSET(MB_flags, multiboot_info_t, flags);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633078.987600 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfM-0000Jm-JY; Tue, 14 Nov 2023 17:57:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633078.987600; Tue, 14 Nov 2023 17: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 1r2xfM-0000II-G3; Tue, 14 Nov 2023 17:57:36 +0000
Received: by outflank-mailman (input) for mailman id 633078;
 Tue, 14 Nov 2023 17: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYU-0004mK-BL
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:30 +0000
Received: from 4.mo583.mail-out.ovh.net (4.mo583.mail-out.ovh.net
 [178.33.111.247]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c4a8a8f-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:29 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.156.215])
 by mo583.mail-out.ovh.net (Postfix) with ESMTP id 8770029423
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:28 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 8F5A81FD24;
 Tue, 14 Nov 2023 17:50:27 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id rx40GWOzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17: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: 4c4a8a8f-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G0054052121a-002a-44d4-9d02-8e709530af71,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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: [XEN PATCH 0/9] x86: parallelize AP bring-up during boot
Date: Tue, 14 Nov 2023 18:49:54 +0100
Message-ID: <cover.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12926456833206757834
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpefhheeigeffkeejudegieeifeeiuedtfefffeefudefjeethfffueelieegfeegueenucffohhmrghinhepghhithhhuhgsrdgtohhmnecukfhppeduvdejrddtrddtrddupddvudefrdduledvrdejjedrvdegledpfeejrdehledrudegvddruddtfeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehkrhihshhtihgrnhdrhhgvsggvlhesfehmuggvsgdrtghomheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdfovfetjfhoshhtpehmohehkeefpdhmohguvgepshhmthhpohhuth

Patch series available on this branch:
https://github.com/TrenchBoot/xen/tree/smp_cleanup_upstreaming

This series makes AP bring-up parallel on x86. This reduces number of
IPIs (and more importantly, delays between them) required to start all
logical processors significantly.

In order to make it possible, some state variables that were global
had to be made per-CPU. In most cases, accesses to those variables can
be performed through helper macros, some of them existed before in a
different form.

In addition to work required for parallel initialization, I've fixed
issues in error path around `machine_restart()` that were discovered
during implementation and testing.

CPU hotplug should not be affected, but I had no way of testing it.
During wakeup from S3 APs are started one by one. It should be possible
to enable parallel execution there as well, but I don't have a way of
testing it as of now.

To measure the improvement, I added output lines (identical for before
and after changes so there is no impact of printing over serial) just
above and below `if ( !pv_shim )` block. `console_timestamps=raw` was
used to get as accurate timestamp as possible, and average over 3 boots
was taken into account for each measurement. The final improvement was
calculated as (1 - after/before) * 100%, rounded to 0.01%. These are
the results:

* Dell OptiPlex 9010 with Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
  (4 cores, 4 threads): 48.83%
* MSI PRO Z790-P with 13th Gen Intel(R) Core(TM) i5-13600K (14 cores,
  20 threads, 6P+8E) `smt=on`: 36.16%
* MSI PRO Z790-P with 13th Gen Intel(R) Core(TM) i5-13600K (14 cores,
  20 threads, 6P+8E) `smt=off`: 0.25% (parking takes a lot of additional
  time)
* HP t630 Thin Client with AMD Embedded G-Series GX-420GI Radeon R7E
  (4 cores, 4 threads): 68.00%

Krystian Hebel (9):
  x86/boot: choose AP stack based on APIC ID
  x86: don't access x86_cpu_to_apicid[] directly, use
    cpu_physical_id(cpu)
  x86/smp: drop x86_cpu_to_apicid, use cpu_data[cpu].apicid instead
  x86/smp: move stack_base to cpu_data
  x86/smp: call x2apic_ap_setup() earlier
  x86/shutdown: protect against recurrent machine_restart()
  x86/smp: drop booting_cpu variable
  x86/smp: make cpu_state per-CPU
  x86/smp: start APs in parallel during boot

 xen/arch/x86/acpi/cpu_idle.c          |   4 +-
 xen/arch/x86/acpi/lib.c               |   2 +-
 xen/arch/x86/apic.c                   |   2 +-
 xen/arch/x86/boot/trampoline.S        |  20 +++
 xen/arch/x86/boot/x86_64.S            |  34 ++++-
 xen/arch/x86/cpu/mwait-idle.c         |   4 +-
 xen/arch/x86/domain.c                 |   2 +-
 xen/arch/x86/include/asm/asm_defns.h  |   2 +-
 xen/arch/x86/include/asm/cpufeature.h |   2 +
 xen/arch/x86/include/asm/processor.h  |   2 +
 xen/arch/x86/include/asm/smp.h        |   7 +-
 xen/arch/x86/mpparse.c                |   6 +-
 xen/arch/x86/numa.c                   |  17 +--
 xen/arch/x86/platform_hypercall.c     |   2 +-
 xen/arch/x86/setup.c                  |  25 +++-
 xen/arch/x86/shutdown.c               |  20 ++-
 xen/arch/x86/smpboot.c                | 207 ++++++++++++++++----------
 xen/arch/x86/spec_ctrl.c              |   2 +-
 xen/arch/x86/sysctl.c                 |   2 +-
 xen/arch/x86/traps.c                  |   4 +-
 xen/arch/x86/x86_64/asm-offsets.c     |   5 +-
 xen/include/xen/smp.h                 |   2 -
 22 files changed, 248 insertions(+), 125 deletions(-)


base-commit: fb41228ececea948c7953c8c16fe28fd65c6536b
prerequisite-patch-id: 142a87c707411d49e136c3fb76f1b14963ec6dc8
prerequisite-patch-id: f155cb7e2761deec26b76f1b8b587bc56a404c80
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633087.987635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfO-00011L-DZ; Tue, 14 Nov 2023 17:57:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633087.987635; Tue, 14 Nov 2023 17:57: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 1r2xfO-0000zw-56; Tue, 14 Nov 2023 17:57:38 +0000
Received: by outflank-mailman (input) for mailman id 633087;
 Tue, 14 Nov 2023 17: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYe-0004wk-SX
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:40 +0000
Received: from 12.mo583.mail-out.ovh.net (12.mo583.mail-out.ovh.net
 [46.105.39.65]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51dedb92-8316-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:50:38 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.4.72])
 by mo583.mail-out.ovh.net (Postfix) with ESMTP id E7C18293F1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:37 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 72C7E1FD24;
 Tue, 14 Nov 2023 17:50:37 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id aBEEGW2zU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 51dedb92-8316-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-103G0055adfc20a-9646-4e70-96a1-0204e862fa82,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: 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 01/10] x86/spec-ctrl: Remove conditional IRQs-on-ness for INT $0x80/0x82 paths
Date: Tue, 14 Nov 2023 18:49:57 +0100
Message-ID: <a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12928990108487231856
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpefmrhihshhtihgrnhcujfgvsggvlhcuoehkrhihshhtihgrnhdrhhgvsggvlhesfehmuggvsgdrtghomheqnecuggftrfgrthhtvghrnhepuddtieefheevleefuefgheffkeeivdeggffgleehjeelkeevuefgieevfeejvdeknecuffhomhgrihhnpegvnhhtrhihrdhssgenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekfedpmhhouggvpehsmhhtphhouhht

From: Andrew Cooper <andrew.cooper3@citrix.com>

Before speculation defences, some paths in Xen could genuinely get away with
being IRQs-on at entry.  But XPTI invalidated this property on most paths, and
attempting to maintain it on the remaining paths was a mistake.

Fast forward, and DO_SPEC_CTRL_COND_IBPB (protection for AMD BTC/SRSO) is not
IRQ-safe, running with IRQs enabled in some cases.  The other actions taken on
these paths happen to be IRQ-safe.

Make entry_int82() and int80_direct_trap() unconditionally Interrupt Gates
rather than Trap Gates.  Remove the conditional re-adjustment of
int80_direct_trap() in smp_prepare_cpus(), and have entry_int82() explicitly
enable interrupts when safe to do so.

In smp_prepare_cpus(), with the conditional re-adjustment removed, the
clearing of pv_cr3 is the only remaining action gated on XPTI, and it is out
of place anyway, repeating work already done by smp_prepare_boot_cpu().  Drop
the entire if() condition to avoid leaving an incorrect vestigial remnant.

Also drop comments which make incorrect statements about when its safe to
enable interrupts.

This is XSA-446 / CVE-2023-46836

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/pv/traps.c            |  4 ++--
 xen/arch/x86/smpboot.c             | 14 --------------
 xen/arch/x86/x86_64/compat/entry.S |  2 ++
 xen/arch/x86/x86_64/entry.S        |  1 -
 4 files changed, 4 insertions(+), 17 deletions(-)

diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 74f333da7e1c..240d1a2db7a3 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -139,11 +139,11 @@ void __init pv_trap_init(void)
 #ifdef CONFIG_PV32
     /* The 32-on-64 hypercall vector is only accessible from ring 1. */
     _set_gate(idt_table + HYPERCALL_VECTOR,
-              SYS_DESC_trap_gate, 1, entry_int82);
+              SYS_DESC_irq_gate, 1, entry_int82);
 #endif
 
     /* Fast trap for int80 (faster than taking the #GP-fixup path). */
-    _set_gate(idt_table + LEGACY_SYSCALL_VECTOR, SYS_DESC_trap_gate, 3,
+    _set_gate(idt_table + LEGACY_SYSCALL_VECTOR, SYS_DESC_irq_gate, 3,
               &int80_direct_trap);
 
     open_softirq(NMI_SOFTIRQ, nmi_softirq);
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 3a1a659082c6..4c54ecbc91d7 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1158,20 +1158,6 @@ void __init smp_prepare_cpus(void)
 
     stack_base[0] = (void *)((unsigned long)stack_start & ~(STACK_SIZE - 1));
 
-    if ( opt_xpti_hwdom || opt_xpti_domu )
-    {
-        get_cpu_info()->pv_cr3 = 0;
-
-#ifdef CONFIG_PV
-        /*
-         * All entry points which may need to switch page tables have to start
-         * with interrupts off. Re-write what pv_trap_init() has put there.
-         */
-        _set_gate(idt_table + LEGACY_SYSCALL_VECTOR, SYS_DESC_irq_gate, 3,
-                  &int80_direct_trap);
-#endif
-    }
-
     set_nr_sockets();
 
     socket_cpumask = xzalloc_array(cpumask_t *, nr_sockets);
diff --git a/xen/arch/x86/x86_64/compat/entry.S b/xen/arch/x86/x86_64/compat/entry.S
index bd5abd8040bd..fcc3a721f147 100644
--- a/xen/arch/x86/x86_64/compat/entry.S
+++ b/xen/arch/x86/x86_64/compat/entry.S
@@ -21,6 +21,8 @@ ENTRY(entry_int82)
         SPEC_CTRL_ENTRY_FROM_PV /* Req: %rsp=regs/cpuinfo, %rdx=0, Clob: acd */
         /* WARNING! `ret`, `call *`, `jmp *` not safe before this point. */
 
+        sti
+
         CR4_PV32_RESTORE
 
         GET_CURRENT(bx)
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 5ca74f5f62b2..9a7b129aa7e4 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -327,7 +327,6 @@ ENTRY(sysenter_entry)
 #ifdef CONFIG_XEN_SHSTK
         ALTERNATIVE "", "setssbsy", X86_FEATURE_XEN_SHSTK
 #endif
-        /* sti could live here when we don't switch page tables below. */
         pushq $FLAT_USER_SS
         pushq $0
         pushfq
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633080.987605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfM-0000Oc-SN; Tue, 14 Nov 2023 17:57:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633080.987605; Tue, 14 Nov 2023 17: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 1r2xfM-0000NF-O0; Tue, 14 Nov 2023 17:57:36 +0000
Received: by outflank-mailman (input) for mailman id 633080;
 Tue, 14 Nov 2023 17: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYd-0004wk-6S
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:39 +0000
Received: from 19.mo582.mail-out.ovh.net (19.mo582.mail-out.ovh.net
 [188.165.56.177]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5138666a-8316-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:50:37 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.4.8])
 by mo582.mail-out.ovh.net (Postfix) with ESMTP id CF0E02883E
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:36 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 455CB1FD41;
 Tue, 14 Nov 2023 17:50:36 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id 2O8QDmyzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 5138666a-8316-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-103G005323517ea-c31e-4638-996d-bf2eb03e4229,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 1/9] x86/boot: choose AP stack based on APIC ID
Date: Tue, 14 Nov 2023 18:49:55 +0100
Message-ID: <0e7dd957b6f26fa7b752bdce1ef6ebe97c825903.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12928708633779218800
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpefhgfdtvdeigedtvedvudehgefgkeefffetfeekkedthfdvveeiteduteehtedvgfenucffohhmrghinhepthhrrghmphholhhinhgvrdhssgdpgiekiegpieegrdhssgenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekvddpmhhouggvpehsmhhtphhouhht

This is made as first step of making parallel AP bring-up possible. It
should be enough for pre-C code.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/boot/trampoline.S | 20 ++++++++++++++++++++
 xen/arch/x86/boot/x86_64.S     | 28 +++++++++++++++++++++++++++-
 xen/arch/x86/setup.c           |  7 +++++++
 3 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S
index b8ab0ffdcbb0..ec254125016d 100644
--- a/xen/arch/x86/boot/trampoline.S
+++ b/xen/arch/x86/boot/trampoline.S
@@ -72,6 +72,26 @@ trampoline_protmode_entry:
         mov     $X86_CR4_PAE,%ecx
         mov     %ecx,%cr4
 
+        /*
+         * Get APIC ID while we're in non-paged mode. Start by checking if
+         * x2APIC is enabled.
+         */
+        mov     $MSR_APIC_BASE, %ecx
+        rdmsr
+        and     $APIC_BASE_EXTD, %eax
+        jnz     .Lx2apic
+
+        /* Not x2APIC, read from MMIO */
+        mov     0xfee00020, %esp
+        shr     $24, %esp
+        jmp     1f
+
+.Lx2apic:
+        mov     $(MSR_X2APIC_FIRST + (0x20 >> 4)), %ecx
+        rdmsr
+        mov     %eax, %esp
+1:
+
         /* Load pagetable base register. */
         mov     $sym_offs(idle_pg_table),%eax
         add     bootsym_rel(trampoline_xen_phys_start,4,%eax)
diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 04bb62ae8680..b85b47b5c1a0 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -15,7 +15,33 @@ ENTRY(__high_start)
         mov     $XEN_MINIMAL_CR4,%rcx
         mov     %rcx,%cr4
 
-        mov     stack_start(%rip),%rsp
+        test    %ebx,%ebx
+        cmovz   stack_start(%rip), %rsp
+        jz      .L_stack_set
+
+        /* APs only: get stack base from APIC ID saved in %esp. */
+        mov     $-1, %rax
+        lea     x86_cpu_to_apicid(%rip), %rcx
+1:
+        add     $1, %rax
+        cmp     $NR_CPUS, %eax
+        jb      2f
+        hlt
+2:
+        cmp     %esp, (%rcx, %rax, 4)
+        jne     1b
+
+        /* %eax is now Xen CPU index. */
+        lea     stack_base(%rip), %rcx
+        mov     (%rcx, %rax, 8), %rsp
+
+        test    %rsp,%rsp
+        jnz     1f
+        hlt
+1:
+        add     $(STACK_SIZE - CPUINFO_sizeof), %rsp
+
+.L_stack_set:
 
         /* Reset EFLAGS (subsumes CLI and CLD). */
         pushq   $0
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a3d3f797bb1e..1285969901e0 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1951,6 +1951,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
      */
     if ( !pv_shim )
     {
+        /* Separate loop to make parallel AP bringup possible. */
         for_each_present_cpu ( i )
         {
             /* Set up cpu_to_node[]. */
@@ -1958,6 +1959,12 @@ void __init noreturn __start_xen(unsigned long mbi_p)
             /* Set up node_to_cpumask based on cpu_to_node[]. */
             numa_add_cpu(i);
 
+            if ( stack_base[i] == NULL )
+                stack_base[i] = cpu_alloc_stack(i);
+        }
+
+        for_each_present_cpu ( i )
+        {
             if ( (park_offline_cpus || num_online_cpus() < max_cpus) &&
                  !cpu_online(i) )
             {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633082.987619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfN-0000ls-Ia; Tue, 14 Nov 2023 17:57:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633082.987619; Tue, 14 Nov 2023 17:57: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 1r2xfN-0000kh-EO; Tue, 14 Nov 2023 17:57:37 +0000
Received: by outflank-mailman (input) for mailman id 633082;
 Tue, 14 Nov 2023 17: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYd-0004wk-SW
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:39 +0000
Received: from 16.mo582.mail-out.ovh.net (16.mo582.mail-out.ovh.net
 [87.98.139.208]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 517bd937-8316-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:50:37 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.4.8])
 by mo582.mail-out.ovh.net (Postfix) with ESMTP id 5C26D26EB0
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:37 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id CF8D91FD62;
 Tue, 14 Nov 2023 17:50:36 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id UOZsL2yzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 517bd937-8316-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-103G005b6c621e7-3c4f-4807-9890-c48c536404fa,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 1/2] x86/smp: make cpu_state per-CPU
Date: Tue, 14 Nov 2023 18:49:56 +0100
Message-ID: <52083114d4cbbc75f021e8c61763ad0e166cf05b.1699981241.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981241.git.krystian.hebel@3mdeb.com>
References: <cover.1699981241.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12928990108247959920
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekvddpmhhouggvpehsmhhtphhouhht

This will be used for parallel AP bring-up.

CPU_STATE_INIT changed direction. It was previously set by BSP and never
consumed by AP. Now it signals that AP got through assembly part of
initialization and waits for BSP to call notifiers that set up data
structures required for further initialization.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/include/asm/cpufeature.h |  1 +
 xen/arch/x86/smpboot.c                | 80 ++++++++++++++++-----------
 2 files changed, 49 insertions(+), 32 deletions(-)

diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index ff0e18864cc7..1831b5fb368f 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -38,6 +38,7 @@ struct cpuinfo_x86 {
     unsigned int cpu_core_id;          /* core ID of each logical CPU */
     unsigned int compute_unit_id;      /* AMD compute unit ID of each logical CPU */
     void *stack_base;
+    unsigned int cpu_state;
     unsigned short x86_clflush_size;
 } __cacheline_aligned;
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 39ffd356dbbc..cbea2d45f70d 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -65,15 +65,18 @@ struct cpuinfo_x86 cpu_data[NR_CPUS] =
         { [0 ... NR_CPUS-1] .apicid = BAD_APICID };
 
 static int cpu_error;
-static enum cpu_state {
+enum cpu_state {
     CPU_STATE_DYING,    /* slave -> master: I am dying */
     CPU_STATE_DEAD,     /* slave -> master: I am completely dead */
-    CPU_STATE_INIT,     /* master -> slave: Early bringup phase 1 */
-    CPU_STATE_CALLOUT,  /* master -> slave: Early bringup phase 2 */
+    CPU_STATE_INIT,     /* slave -> master: Early bringup phase 1 completed */
+    CPU_STATE_CALLOUT,  /* master -> slave: Start early bringup phase 2 */
     CPU_STATE_CALLIN,   /* slave -> master: Completed phase 2 */
     CPU_STATE_ONLINE    /* master -> slave: Go fully online now. */
-} cpu_state;
-#define set_cpu_state(state) do { smp_mb(); cpu_state = (state); } while (0)
+};
+#define set_cpu_state(cpu, state) do { \
+    smp_mb(); \
+    cpu_data[cpu].cpu_state = (state); \
+} while (0)
 
 void initialize_cpu_data(unsigned int cpu)
 {
@@ -168,16 +171,7 @@ static void synchronize_tsc_slave(unsigned int slave)
 static void smp_callin(void)
 {
     unsigned int cpu = smp_processor_id();
-    int i, rc;
-
-    /* Wait 2s total for startup. */
-    Dprintk("Waiting for CALLOUT.\n");
-    for ( i = 0; cpu_state != CPU_STATE_CALLOUT; i++ )
-    {
-        BUG_ON(i >= 200);
-        cpu_relax();
-        mdelay(10);
-    }
+    int rc;
 
     /*
      * The boot CPU has finished the init stage and is spinning on cpu_state
@@ -213,12 +207,12 @@ static void smp_callin(void)
     }
 
     /* Allow the master to continue. */
-    set_cpu_state(CPU_STATE_CALLIN);
+    set_cpu_state(cpu, CPU_STATE_CALLIN);
 
     synchronize_tsc_slave(cpu);
 
     /* And wait for our final Ack. */
-    while ( cpu_state != CPU_STATE_ONLINE )
+    while ( cpu_data[cpu].cpu_state != CPU_STATE_ONLINE )
         cpu_relax();
 }
 
@@ -313,6 +307,9 @@ void start_secondary(unsigned int cpu)
 {
     struct cpu_info *info = get_cpu_info();
 
+    /* Tell BSP that we are awake. */
+    set_cpu_state(cpu, CPU_STATE_INIT);
+
     /*
      * Don't put anything before smp_callin(), SMP booting is so fragile that we
      * want to limit the things done here to the most necessary things.
@@ -320,6 +317,10 @@ void start_secondary(unsigned int cpu)
 
     /* Critical region without IDT or TSS.  Any fault is deadly! */
 
+    /* Wait until data set up by CPU_UP_PREPARE notifiers is ready. */
+    while ( cpu_data[cpu].cpu_state != CPU_STATE_CALLOUT )
+        cpu_relax();
+
     set_current(idle_vcpu[cpu]);
     this_cpu(curr_vcpu) = idle_vcpu[cpu];
     rdmsrl(MSR_EFER, this_cpu(efer));
@@ -585,26 +586,35 @@ static int do_boot_cpu(int apicid, int cpu)
 
     /* This grunge runs the startup process for the targeted processor. */
 
-    set_cpu_state(CPU_STATE_INIT);
-
     /* Starting actual IPI sequence... */
     boot_error = wakeup_secondary_cpu(apicid, start_eip);
 
     if ( !boot_error )
     {
-        /* Allow AP to start initializing. */
-        set_cpu_state(CPU_STATE_CALLOUT);
-        Dprintk("After Callout %d.\n", cpu);
-
-        /* Wait 5s total for a response. */
-        for ( timeout = 0; timeout < 50000; timeout++ )
+        /* Wait 2s total for a response. */
+        for ( timeout = 0; timeout < 20000; timeout++ )
         {
-            if ( cpu_state != CPU_STATE_CALLOUT )
+            if ( cpu_data[cpu].cpu_state == CPU_STATE_INIT )
                 break;
             udelay(100);
         }
 
-        if ( cpu_state == CPU_STATE_CALLIN )
+        if ( cpu_data[cpu].cpu_state == CPU_STATE_INIT )
+        {
+            /* Allow AP to start initializing. */
+            set_cpu_state(cpu, CPU_STATE_CALLOUT);
+            Dprintk("After Callout %d.\n", cpu);
+
+            /* Wait 5s total for a response. */
+            for ( timeout = 0; timeout < 500000; timeout++ )
+            {
+                if ( cpu_data[cpu].cpu_state != CPU_STATE_CALLOUT )
+                    break;
+                udelay(10);
+            }
+        }
+
+        if ( cpu_data[cpu].cpu_state == CPU_STATE_CALLIN )
         {
             /* number CPUs logically, starting from 1 (BSP is 0) */
             Dprintk("OK.\n");
@@ -612,7 +622,7 @@ static int do_boot_cpu(int apicid, int cpu)
             synchronize_tsc_master(cpu);
             Dprintk("CPU has booted.\n");
         }
-        else if ( cpu_state == CPU_STATE_DEAD )
+        else if ( cpu_data[cpu].cpu_state == CPU_STATE_DEAD )
         {
             smp_rmb();
             rc = cpu_error;
@@ -683,7 +693,7 @@ unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
 void cpu_exit_clear(unsigned int cpu)
 {
     cpu_uninit(cpu);
-    set_cpu_state(CPU_STATE_DEAD);
+    set_cpu_state(cpu, CPU_STATE_DEAD);
 }
 
 static int clone_mapping(const void *ptr, root_pgentry_t *rpt)
@@ -1161,6 +1171,12 @@ void __init smp_prepare_cpus(void)
     cpu_data[0].stack_base = (void *)
              ((unsigned long)stack_start & ~(STACK_SIZE - 1));
 
+    /* Set state as CALLOUT so APs won't change it in initialize_cpu_data() */
+    boot_cpu_data.cpu_state = CPU_STATE_CALLOUT;
+
+    /* Not really used anywhere, but set it just in case. */
+    set_cpu_state(0, CPU_STATE_ONLINE);
+
     set_nr_sockets();
 
     socket_cpumask = xzalloc_array(cpumask_t *, nr_sockets);
@@ -1267,7 +1283,7 @@ void __cpu_disable(void)
 {
     int cpu = smp_processor_id();
 
-    set_cpu_state(CPU_STATE_DYING);
+    set_cpu_state(cpu, CPU_STATE_DYING);
 
     local_irq_disable();
     clear_local_APIC();
@@ -1292,7 +1308,7 @@ void __cpu_die(unsigned int cpu)
     unsigned int i = 0;
     enum cpu_state seen_state;
 
-    while ( (seen_state = cpu_state) != CPU_STATE_DEAD )
+    while ( (seen_state = cpu_data[cpu].cpu_state) != CPU_STATE_DEAD )
     {
         BUG_ON(seen_state != CPU_STATE_DYING);
         mdelay(100);
@@ -1393,7 +1409,7 @@ int __cpu_up(unsigned int cpu)
 
     time_latch_stamps();
 
-    set_cpu_state(CPU_STATE_ONLINE);
+    set_cpu_state(cpu, CPU_STATE_ONLINE);
     while ( !cpu_online(cpu) )
     {
         cpu_relax();
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633083.987631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfO-0000xT-77; Tue, 14 Nov 2023 17:57:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633083.987631; Tue, 14 Nov 2023 17:57: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 1r2xfN-0000vq-Rn; Tue, 14 Nov 2023 17:57:37 +0000
Received: by outflank-mailman (input) for mailman id 633083;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYe-0004mK-HN
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:40 +0000
Received: from 15.mo582.mail-out.ovh.net (15.mo582.mail-out.ovh.net
 [188.165.39.161]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 527d9d79-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:39 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.4.8])
 by mo582.mail-out.ovh.net (Postfix) with ESMTP id 0D89C28CB6
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:39 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 941FD1FD24;
 Tue, 14 Nov 2023 17:50:38 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id YKg/IW6zU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 527d9d79-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G005c5ae1aa5-3e0a-4190-bdc1-8585046cde6c,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 2/9] x86: don't access x86_cpu_to_apicid[] directly, use cpu_physical_id(cpu)
Date: Tue, 14 Nov 2023 18:49:59 +0100
Message-ID: <705574ddb7f18bae9ed3f60ddf2e4bda02c70388.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12929553056991455600
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekvddpmhhouggvpehsmhhtphhouhht

This is done in preparation to move data from x86_cpu_to_apicid[]
elsewhere.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/acpi/cpu_idle.c      |  4 ++--
 xen/arch/x86/acpi/lib.c           |  2 +-
 xen/arch/x86/apic.c               |  2 +-
 xen/arch/x86/cpu/mwait-idle.c     |  4 ++--
 xen/arch/x86/domain.c             |  2 +-
 xen/arch/x86/mpparse.c            |  6 +++---
 xen/arch/x86/numa.c               |  2 +-
 xen/arch/x86/platform_hypercall.c |  2 +-
 xen/arch/x86/setup.c              | 14 +++++++-------
 xen/arch/x86/smpboot.c            |  4 ++--
 xen/arch/x86/spec_ctrl.c          |  2 +-
 xen/arch/x86/sysctl.c             |  2 +-
 12 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c
index cfce4cc0408f..d03e54bcef38 100644
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -1256,7 +1256,7 @@ int get_cpu_id(u32 acpi_id)
 
     for ( i = 0; i < nr_cpu_ids; i++ )
     {
-        if ( apic_id == x86_cpu_to_apicid[i] )
+        if ( apic_id == cpu_physical_id(i) )
             return i;
     }
 
@@ -1362,7 +1362,7 @@ long set_cx_pminfo(uint32_t acpi_id, struct xen_processor_power *power)
 
     if ( !cpu_online(cpu_id) )
     {
-        uint32_t apic_id = x86_cpu_to_apicid[cpu_id];
+        uint32_t apic_id = cpu_physical_id(cpu_id);
 
         /*
          * If we've just learned of more available C states, wake the CPU if
diff --git a/xen/arch/x86/acpi/lib.c b/xen/arch/x86/acpi/lib.c
index 51cb082ca02a..87a1f38f3f5a 100644
--- a/xen/arch/x86/acpi/lib.c
+++ b/xen/arch/x86/acpi/lib.c
@@ -91,7 +91,7 @@ unsigned int acpi_get_processor_id(unsigned int cpu)
 {
 	unsigned int acpiid, apicid;
 
-	if ((apicid = x86_cpu_to_apicid[cpu]) == BAD_APICID)
+	if ((apicid = cpu_physical_id(cpu)) == BAD_APICID)
 		return INVALID_ACPIID;
 
 	for (acpiid = 0; acpiid < ARRAY_SIZE(x86_acpiid_to_apicid); acpiid++)
diff --git a/xen/arch/x86/apic.c b/xen/arch/x86/apic.c
index 6acdd0ec1468..63e18968e54c 100644
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -950,7 +950,7 @@ __next:
      */
     if (boot_cpu_physical_apicid == -1U)
         boot_cpu_physical_apicid = get_apic_id();
-    x86_cpu_to_apicid[0] = get_apic_id();
+    cpu_physical_id(0) = get_apic_id();
 
     ioapic_init();
 }
diff --git a/xen/arch/x86/cpu/mwait-idle.c b/xen/arch/x86/cpu/mwait-idle.c
index ff5c808bc952..88168da8a0ca 100644
--- a/xen/arch/x86/cpu/mwait-idle.c
+++ b/xen/arch/x86/cpu/mwait-idle.c
@@ -1202,8 +1202,8 @@ static void __init ivt_idle_state_table_update(void)
 	unsigned int cpu, max_apicid = boot_cpu_physical_apicid;
 
 	for_each_present_cpu(cpu)
-		if (max_apicid < x86_cpu_to_apicid[cpu])
-			max_apicid = x86_cpu_to_apicid[cpu];
+		if (max_apicid < cpu_physical_id(cpu))
+			max_apicid = cpu_physical_id(cpu);
 	switch (apicid_to_socket(max_apicid)) {
 	case 0: case 1:
 		/* 1 and 2 socket systems use default ivt_cstates */
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 3712e36df930..f45437511a46 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1615,7 +1615,7 @@ long do_vcpu_op(int cmd, unsigned int vcpuid, XEN_GUEST_HANDLE_PARAM(void) arg)
             break;
 
         cpu_id.phys_id =
-            (uint64_t)x86_cpu_to_apicid[v->vcpu_id] |
+            (uint64_t)cpu_physical_id(v->vcpu_id) |
             ((uint64_t)acpi_get_processor_id(v->vcpu_id) << 32);
 
         rc = -EFAULT;
diff --git a/xen/arch/x86/mpparse.c b/xen/arch/x86/mpparse.c
index d8ccab2449c6..b8cabebe7bf9 100644
--- a/xen/arch/x86/mpparse.c
+++ b/xen/arch/x86/mpparse.c
@@ -187,7 +187,7 @@ static int MP_processor_info_x(struct mpc_config_processor *m,
 			       " Processor with apicid %i ignored\n", apicid);
 			return cpu;
 		}
-		x86_cpu_to_apicid[cpu] = apicid;
+		cpu_physical_id(cpu) = apicid;
 		cpumask_set_cpu(cpu, &cpu_present_map);
 	}
 
@@ -822,12 +822,12 @@ void mp_unregister_lapic(uint32_t apic_id, uint32_t cpu)
 	if (!cpu || (apic_id == boot_cpu_physical_apicid))
 		return;
 
-	if (x86_cpu_to_apicid[cpu] != apic_id)
+	if (cpu_physical_id(cpu) != apic_id)
 		return;
 
 	physid_clear(apic_id, phys_cpu_present_map);
 
-	x86_cpu_to_apicid[cpu] = BAD_APICID;
+	cpu_physical_id(cpu) = BAD_APICID;
 	cpumask_clear_cpu(cpu, &cpu_present_map);
 }
 
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 4b0b297c7e09..39e131cb4f35 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -70,7 +70,7 @@ void __init init_cpu_to_node(void)
 
     for ( i = 0; i < nr_cpu_ids; i++ )
     {
-        u32 apicid = x86_cpu_to_apicid[i];
+        u32 apicid = cpu_physical_id(i);
         if ( apicid == BAD_APICID )
             continue;
         node = apicid < MAX_LOCAL_APIC ? apicid_to_node[apicid] : NUMA_NO_NODE;
diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index 9469de9045c7..9a52e048f67c 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -588,7 +588,7 @@ ret_t do_platform_op(
         }
         else
         {
-            g_info->apic_id = x86_cpu_to_apicid[g_info->xen_cpuid];
+            g_info->apic_id = cpu_physical_id(g_info->xen_cpuid);
             g_info->acpi_id = acpi_get_processor_id(g_info->xen_cpuid);
             ASSERT(g_info->apic_id != BAD_APICID);
             g_info->flags = 0;
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 1285969901e0..a19fe219bbf6 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -319,7 +319,7 @@ static void __init init_idle_domain(void)
 void srat_detect_node(int cpu)
 {
     nodeid_t node;
-    u32 apicid = x86_cpu_to_apicid[cpu];
+    u32 apicid = cpu_physical_id(cpu);
 
     node = apicid < MAX_LOCAL_APIC ? apicid_to_node[apicid] : NUMA_NO_NODE;
     if ( node == NUMA_NO_NODE )
@@ -346,7 +346,7 @@ static void __init normalise_cpu_order(void)
 
     for_each_present_cpu ( i )
     {
-        apicid = x86_cpu_to_apicid[i];
+        apicid = cpu_physical_id(i);
         min_diff = min_cpu = ~0u;
 
         /*
@@ -357,12 +357,12 @@ static void __init normalise_cpu_order(void)
               j < nr_cpu_ids;
               j = cpumask_next(j, &cpu_present_map) )
         {
-            diff = x86_cpu_to_apicid[j] ^ apicid;
+            diff = cpu_physical_id(j) ^ apicid;
             while ( diff & (diff-1) )
                 diff &= diff-1;
             if ( (diff < min_diff) ||
                  ((diff == min_diff) &&
-                  (x86_cpu_to_apicid[j] < x86_cpu_to_apicid[min_cpu])) )
+                  (cpu_physical_id(j) < cpu_physical_id(min_cpu))) )
             {
                 min_diff = diff;
                 min_cpu = j;
@@ -378,9 +378,9 @@ static void __init normalise_cpu_order(void)
 
         /* Switch the best-matching CPU with the next CPU in logical order. */
         j = cpumask_next(i, &cpu_present_map);
-        apicid = x86_cpu_to_apicid[min_cpu];
-        x86_cpu_to_apicid[min_cpu] = x86_cpu_to_apicid[j];
-        x86_cpu_to_apicid[j] = apicid;
+        apicid = cpu_physical_id(min_cpu);
+        cpu_physical_id(min_cpu) = cpu_physical_id(j);
+        cpu_physical_id(j) = apicid;
     }
 }
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 4c54ecbc91d7..de87c5a41926 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -1154,7 +1154,7 @@ void __init smp_prepare_cpus(void)
     print_cpu_info(0);
 
     boot_cpu_physical_apicid = get_apic_id();
-    x86_cpu_to_apicid[0] = boot_cpu_physical_apicid;
+    cpu_physical_id(0) = boot_cpu_physical_apicid;
 
     stack_base[0] = (void *)((unsigned long)stack_start & ~(STACK_SIZE - 1));
 
@@ -1374,7 +1374,7 @@ int __cpu_up(unsigned int cpu)
 {
     int apicid, ret;
 
-    if ( (apicid = x86_cpu_to_apicid[cpu]) == BAD_APICID )
+    if ( (apicid = cpu_physical_id(cpu)) == BAD_APICID )
         return -ENODEV;
 
     if ( (!x2apic_enabled && apicid >= APIC_ALL_CPUS) ||
diff --git a/xen/arch/x86/spec_ctrl.c b/xen/arch/x86/spec_ctrl.c
index a8d8af22f6d8..d54c8d93cff0 100644
--- a/xen/arch/x86/spec_ctrl.c
+++ b/xen/arch/x86/spec_ctrl.c
@@ -589,7 +589,7 @@ static bool __init check_smt_enabled(void)
      * has a non-zero thread id component indicates that SMT is active.
      */
     for_each_present_cpu ( cpu )
-        if ( x86_cpu_to_apicid[cpu] & (boot_cpu_data.x86_num_siblings - 1) )
+        if ( cpu_physical_id(cpu) & (boot_cpu_data.x86_num_siblings - 1) )
             return true;
 
     return false;
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index c107f40c6283..67d8ab3f824a 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -58,7 +58,7 @@ static long cf_check smt_up_down_helper(void *data)
     for_each_present_cpu ( cpu )
     {
         /* Skip primary siblings (those whose thread id is 0). */
-        if ( !(x86_cpu_to_apicid[cpu] & sibling_mask) )
+        if ( !(cpu_physical_id(cpu) & sibling_mask) )
             continue;
 
         if ( !up && core_parking_remove(cpu) )
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633094.987669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfQ-0001na-Rk; Tue, 14 Nov 2023 17:57:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633094.987669; Tue, 14 Nov 2023 17:57: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 1r2xfQ-0001h0-AC; Tue, 14 Nov 2023 17:57:40 +0000
Received: by outflank-mailman (input) for mailman id 633094;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYi-0004wk-1V
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:44 +0000
Received: from 16.mo583.mail-out.ovh.net (16.mo583.mail-out.ovh.net
 [87.98.174.144]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 543a844c-8316-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:50:42 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.4.72])
 by mo583.mail-out.ovh.net (Postfix) with ESMTP id EF364293F1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:41 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 5A2C81FDE8;
 Tue, 14 Nov 2023 17:50:41 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id ECwfE3GzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17: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: 543a844c-8316-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-103G005e72757b5-b2ca-46ec-9247-acf9452f6a5b,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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: [XEN PATCH 4/9] x86/smp: move stack_base to cpu_data
Date: Tue, 14 Nov 2023 18:50:04 +0100
Message-ID: <70e3b7c84a69a7ec52b3ed6314395165c281734c.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12930116006320056778
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehleekveevvdfhgeetlefhjedtjefgjedtkeekffeitdffkeffueetkedtgfeiueenucffohhmrghinhepgiekiegpieegrdhssgenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekfedpmhhouggvpehsmhhtphhouhht

This location is easier to access from assembly. Having it close to
other data required during initialization has also positive (although
rather small) impact on prefetching data from RAM.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/boot/x86_64.S            |  5 ++---
 xen/arch/x86/include/asm/cpufeature.h |  1 +
 xen/arch/x86/include/asm/smp.h        |  2 +-
 xen/arch/x86/setup.c                  |  6 +++---
 xen/arch/x86/smpboot.c                | 25 +++++++++++++------------
 xen/arch/x86/traps.c                  |  4 ++--
 xen/arch/x86/x86_64/asm-offsets.c     |  1 +
 xen/include/xen/smp.h                 |  2 --
 8 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 195550b5c0ea..8d61f270761f 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -33,9 +33,8 @@ ENTRY(__high_start)
         cmp     %esp, CPUINFO_X86_apicid(%rcx)
         jne     1b
 
-        /* %eax is now Xen CPU index. */
-        lea     stack_base(%rip), %rcx
-        mov     (%rcx, %rax, 8), %rsp
+        /* %rcx is now cpu_data[cpu], read stack base from it. */
+        mov     CPUINFO_X86_stack_base(%rcx), %rsp
 
         test    %rsp,%rsp
         jnz     1f
diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 06e1dd7f3332..ff0e18864cc7 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -37,6 +37,7 @@ struct cpuinfo_x86 {
     unsigned int phys_proc_id;         /* package ID of each logical CPU */
     unsigned int cpu_core_id;          /* core ID of each logical CPU */
     unsigned int compute_unit_id;      /* AMD compute unit ID of each logical CPU */
+    void *stack_base;
     unsigned short x86_clflush_size;
 } __cacheline_aligned;
 
diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index 94c557491860..98739028a6ed 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -69,7 +69,7 @@ extern cpumask_t **socket_cpumask;
  * by certain scheduling code only.
  */
 #define get_cpu_current(cpu) \
-    (get_cpu_info_from_stack((unsigned long)stack_base[cpu])->current_vcpu)
+    (get_cpu_info_from_stack((unsigned long)cpu_data[cpu].stack_base)->current_vcpu)
 
 extern unsigned int disabled_cpus;
 extern bool unaccounted_cpus;
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a19fe219bbf6..b2c0679725ea 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -798,7 +798,7 @@ static void __init noreturn reinit_bsp_stack(void)
     /* Update SYSCALL trampolines */
     percpu_traps_init();
 
-    stack_base[0] = stack;
+    cpu_data[0].stack_base = stack;
 
     rc = setup_cpu_root_pgt(0);
     if ( rc )
@@ -1959,8 +1959,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
             /* Set up node_to_cpumask based on cpu_to_node[]. */
             numa_add_cpu(i);
 
-            if ( stack_base[i] == NULL )
-                stack_base[i] = cpu_alloc_stack(i);
+            if ( cpu_data[i].stack_base == NULL )
+                cpu_data[i].stack_base = cpu_alloc_stack(i);
         }
 
         for_each_present_cpu ( i )
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index f061486e56eb..8ae65ab1769f 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -75,13 +75,15 @@ static enum cpu_state {
 } cpu_state;
 #define set_cpu_state(state) do { smp_mb(); cpu_state = (state); } while (0)
 
-void *stack_base[NR_CPUS];
-
 void initialize_cpu_data(unsigned int cpu)
 {
     uint32_t apicid = cpu_physical_id(cpu);
+    void *stack = cpu_data[cpu].stack_base;
+
     cpu_data[cpu] = boot_cpu_data;
+
     cpu_physical_id(cpu) = apicid;
+    cpu_data[cpu].stack_base = stack;
 }
 
 static bool smp_store_cpu_info(unsigned int id)
@@ -579,8 +581,6 @@ static int do_boot_cpu(int apicid, int cpu)
         printk("Booting processor %d/%d eip %lx\n",
                cpu, apicid, start_eip);
 
-    stack_start = stack_base[cpu] + STACK_SIZE - sizeof(struct cpu_info);
-
     /* This grunge runs the startup process for the targeted processor. */
 
     set_cpu_state(CPU_STATE_INIT);
@@ -856,7 +856,7 @@ int setup_cpu_root_pgt(unsigned int cpu)
 
     /* Install direct map page table entries for stack, IDT, and TSS. */
     for ( off = rc = 0; !rc && off < STACK_SIZE; off += PAGE_SIZE )
-        rc = clone_mapping(__va(__pa(stack_base[cpu])) + off, rpt);
+        rc = clone_mapping(__va(__pa(cpu_data[cpu].stack_base)) + off, rpt);
 
     if ( !rc )
         rc = clone_mapping(idt_tables[cpu], rpt);
@@ -1007,10 +1007,10 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
         FREE_XENHEAP_PAGE(per_cpu(gdt, cpu));
         FREE_XENHEAP_PAGE(idt_tables[cpu]);
 
-        if ( stack_base[cpu] )
+        if ( cpu_data[cpu].stack_base )
         {
-            memguard_unguard_stack(stack_base[cpu]);
-            FREE_XENHEAP_PAGES(stack_base[cpu], STACK_ORDER);
+            memguard_unguard_stack(cpu_data[cpu].stack_base);
+            FREE_XENHEAP_PAGES(cpu_data[cpu].stack_base, STACK_ORDER);
         }
     }
 }
@@ -1044,11 +1044,11 @@ static int cpu_smpboot_alloc(unsigned int cpu)
     if ( node != NUMA_NO_NODE )
         memflags = MEMF_node(node);
 
-    if ( stack_base[cpu] == NULL &&
-         (stack_base[cpu] = cpu_alloc_stack(cpu)) == NULL )
+    if ( cpu_data[cpu].stack_base == NULL &&
+         (cpu_data[cpu].stack_base = cpu_alloc_stack(cpu)) == NULL )
             goto out;
 
-    info = get_cpu_info_from_stack((unsigned long)stack_base[cpu]);
+    info = get_cpu_info_from_stack((unsigned long)cpu_data[cpu].stack_base);
     info->processor_id = cpu;
     info->per_cpu_offset = __per_cpu_offset[cpu];
 
@@ -1156,7 +1156,8 @@ void __init smp_prepare_cpus(void)
     boot_cpu_physical_apicid = get_apic_id();
     cpu_physical_id(0) = boot_cpu_physical_apicid;
 
-    stack_base[0] = (void *)((unsigned long)stack_start & ~(STACK_SIZE - 1));
+    cpu_data[0].stack_base = (void *)
+             ((unsigned long)stack_start & ~(STACK_SIZE - 1));
 
     set_nr_sockets();
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e1356f696aba..90d9201d1c52 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -611,9 +611,9 @@ void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
     unsigned long curr_stack_base = esp & ~(STACK_SIZE - 1);
     unsigned long esp_top, esp_bottom;
 
-    if ( _p(curr_stack_base) != stack_base[cpu] )
+    if ( _p(curr_stack_base) != cpu_data[cpu].stack_base )
         printk("Current stack base %p differs from expected %p\n",
-               _p(curr_stack_base), stack_base[cpu]);
+               _p(curr_stack_base), cpu_data[cpu].stack_base);
 
     esp_bottom = (esp | (STACK_SIZE - 1)) + 1;
     esp_top    = esp_bottom - PRIMARY_STACK_SIZE;
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index e881cd5de0a0..d81a30344677 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -161,6 +161,7 @@ void __dummy__(void)
 
     OFFSET(CPUINFO_X86_features, struct cpuinfo_x86, x86_capability);
     OFFSET(CPUINFO_X86_apicid, struct cpuinfo_x86, apicid);
+    OFFSET(CPUINFO_X86_stack_base, struct cpuinfo_x86, stack_base);
     DEFINE(CPUINFO_X86_sizeof, sizeof(struct cpuinfo_x86));
     BLANK();
 
diff --git a/xen/include/xen/smp.h b/xen/include/xen/smp.h
index 0a9219173f0f..994fdc474200 100644
--- a/xen/include/xen/smp.h
+++ b/xen/include/xen/smp.h
@@ -67,8 +67,6 @@ void smp_send_call_function_mask(const cpumask_t *mask);
 
 int alloc_cpu_id(void);
 
-extern void *stack_base[NR_CPUS];
-
 void initialize_cpu_data(unsigned int cpu);
 int setup_cpu_root_pgt(unsigned int cpu);
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633081.987613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfN-0000aJ-8J; Tue, 14 Nov 2023 17:57:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633081.987613; Tue, 14 Nov 2023 17:57: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 1r2xfN-0000Yj-2i; Tue, 14 Nov 2023 17:57:37 +0000
Received: by outflank-mailman (input) for mailman id 633081;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYd-0004mK-H8
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:39 +0000
Received: from 8.mo550.mail-out.ovh.net (8.mo550.mail-out.ovh.net
 [178.33.110.239]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5233b874-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:38 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.16.30])
 by mo550.mail-out.ovh.net (Postfix) with ESMTP id 83145294F8
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:38 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id EFD131FDF1;
 Tue, 14 Nov 2023 17:50:37 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id CGqmN22zU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 5233b874-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G00598bb5702-cfe7-4f88-8cef-640e0a4e1820,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 02/10] x86/boot: choose AP stack based on APIC ID
Date: Tue, 14 Nov 2023 18:49:58 +0100
Message-ID: <0e7dd957b6f26fa7b752bdce1ef6ebe97c825903.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12929271583775369584
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpefhgfdtvdeigedtvedvudehgefgkeefffetfeekkedthfdvveeiteduteehtedvgfenucffohhmrghinhepthhrrghmphholhhinhgvrdhssgdpgiekiegpieegrdhssgenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheehtddpmhhouggvpehsmhhtphhouhht

This is made as first step of making parallel AP bring-up possible. It
should be enough for pre-C code.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/boot/trampoline.S | 20 ++++++++++++++++++++
 xen/arch/x86/boot/x86_64.S     | 28 +++++++++++++++++++++++++++-
 xen/arch/x86/setup.c           |  7 +++++++
 3 files changed, 54 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/trampoline.S b/xen/arch/x86/boot/trampoline.S
index b8ab0ffdcbb0..ec254125016d 100644
--- a/xen/arch/x86/boot/trampoline.S
+++ b/xen/arch/x86/boot/trampoline.S
@@ -72,6 +72,26 @@ trampoline_protmode_entry:
         mov     $X86_CR4_PAE,%ecx
         mov     %ecx,%cr4
 
+        /*
+         * Get APIC ID while we're in non-paged mode. Start by checking if
+         * x2APIC is enabled.
+         */
+        mov     $MSR_APIC_BASE, %ecx
+        rdmsr
+        and     $APIC_BASE_EXTD, %eax
+        jnz     .Lx2apic
+
+        /* Not x2APIC, read from MMIO */
+        mov     0xfee00020, %esp
+        shr     $24, %esp
+        jmp     1f
+
+.Lx2apic:
+        mov     $(MSR_X2APIC_FIRST + (0x20 >> 4)), %ecx
+        rdmsr
+        mov     %eax, %esp
+1:
+
         /* Load pagetable base register. */
         mov     $sym_offs(idle_pg_table),%eax
         add     bootsym_rel(trampoline_xen_phys_start,4,%eax)
diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 04bb62ae8680..b85b47b5c1a0 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -15,7 +15,33 @@ ENTRY(__high_start)
         mov     $XEN_MINIMAL_CR4,%rcx
         mov     %rcx,%cr4
 
-        mov     stack_start(%rip),%rsp
+        test    %ebx,%ebx
+        cmovz   stack_start(%rip), %rsp
+        jz      .L_stack_set
+
+        /* APs only: get stack base from APIC ID saved in %esp. */
+        mov     $-1, %rax
+        lea     x86_cpu_to_apicid(%rip), %rcx
+1:
+        add     $1, %rax
+        cmp     $NR_CPUS, %eax
+        jb      2f
+        hlt
+2:
+        cmp     %esp, (%rcx, %rax, 4)
+        jne     1b
+
+        /* %eax is now Xen CPU index. */
+        lea     stack_base(%rip), %rcx
+        mov     (%rcx, %rax, 8), %rsp
+
+        test    %rsp,%rsp
+        jnz     1f
+        hlt
+1:
+        add     $(STACK_SIZE - CPUINFO_sizeof), %rsp
+
+.L_stack_set:
 
         /* Reset EFLAGS (subsumes CLI and CLD). */
         pushq   $0
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a3d3f797bb1e..1285969901e0 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1951,6 +1951,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
      */
     if ( !pv_shim )
     {
+        /* Separate loop to make parallel AP bringup possible. */
         for_each_present_cpu ( i )
         {
             /* Set up cpu_to_node[]. */
@@ -1958,6 +1959,12 @@ void __init noreturn __start_xen(unsigned long mbi_p)
             /* Set up node_to_cpumask based on cpu_to_node[]. */
             numa_add_cpu(i);
 
+            if ( stack_base[i] == NULL )
+                stack_base[i] = cpu_alloc_stack(i);
+        }
+
+        for_each_present_cpu ( i )
+        {
             if ( (park_offline_cpus || num_online_cpus() < max_cpus) &&
                  !cpu_online(i) )
             {
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633095.987676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfR-00020g-LO; Tue, 14 Nov 2023 17:57:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633095.987676; Tue, 14 Nov 2023 17: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 1r2xfQ-0001wp-TT; Tue, 14 Nov 2023 17:57:40 +0000
Received: by outflank-mailman (input) for mailman id 633095;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYi-0004mK-ID
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:44 +0000
Received: from 8.mo575.mail-out.ovh.net (8.mo575.mail-out.ovh.net
 [46.105.74.219]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 53cf22dc-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:41 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.138.246])
 by mo575.mail-out.ovh.net (Postfix) with ESMTP id 4424B293D2
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:41 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id CBEAA1FDE8;
 Tue, 14 Nov 2023 17:50:40 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id SFnkLnCzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 53cf22dc-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G005a4eb1ba5-6e31-46c5-bb87-74b65d95b45a,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 04/10] x86/smp: drop x86_cpu_to_apicid, use cpu_data[cpu].apicid instead
Date: Tue, 14 Nov 2023 18:50:03 +0100
Message-ID: <8121d9b472b305be751158aa3af3fed98ff0572e.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12930116006647343472
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehleekveevvdfhgeetlefhjedtjefgjedtkeekffeitdffkeffueetkedtgfeiueenucffohhmrghinhepgiekiegpieegrdhssgenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheejhedpmhhouggvpehsmhhtphhouhht

Both fields held the same data.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/boot/x86_64.S           |  8 +++++---
 xen/arch/x86/include/asm/asm_defns.h |  2 +-
 xen/arch/x86/include/asm/processor.h |  2 ++
 xen/arch/x86/include/asm/smp.h       |  4 ----
 xen/arch/x86/numa.c                  | 15 +++++++--------
 xen/arch/x86/smpboot.c               |  8 ++++----
 xen/arch/x86/x86_64/asm-offsets.c    |  4 +++-
 7 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index b85b47b5c1a0..195550b5c0ea 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -20,15 +20,17 @@ ENTRY(__high_start)
         jz      .L_stack_set
 
         /* APs only: get stack base from APIC ID saved in %esp. */
-        mov     $-1, %rax
-        lea     x86_cpu_to_apicid(%rip), %rcx
+        mov     $0, %rax
+        lea     cpu_data(%rip), %rcx
+        /* cpu_data[0] is BSP, skip it. */
 1:
         add     $1, %rax
+        add     $CPUINFO_X86_sizeof, %rcx
         cmp     $NR_CPUS, %eax
         jb      2f
         hlt
 2:
-        cmp     %esp, (%rcx, %rax, 4)
+        cmp     %esp, CPUINFO_X86_apicid(%rcx)
         jne     1b
 
         /* %eax is now Xen CPU index. */
diff --git a/xen/arch/x86/include/asm/asm_defns.h b/xen/arch/x86/include/asm/asm_defns.h
index baaaccb26e17..6b05d9d140b8 100644
--- a/xen/arch/x86/include/asm/asm_defns.h
+++ b/xen/arch/x86/include/asm/asm_defns.h
@@ -158,7 +158,7 @@ register unsigned long current_stack_pointer asm("rsp");
 #endif
 
 #define CPUINFO_FEATURE_OFFSET(feature)           \
-    (CPUINFO_features + (cpufeat_word(feature) * 4))
+    (CPUINFO_X86_features + (cpufeat_word(feature) * 4))
 
 #else
 
diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index b0d2a62c075f..8345d58094da 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -92,6 +92,8 @@ struct x86_cpu_id {
 extern struct cpuinfo_x86 cpu_data[];
 #define current_cpu_data cpu_data[smp_processor_id()]
 
+#define cpu_physical_id(cpu)	cpu_data[cpu].apicid
+
 extern bool probe_cpuid_faulting(void);
 extern void ctxt_switch_levelling(const struct vcpu *next);
 extern void (*ctxt_switch_masking)(const struct vcpu *next);
diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index c0b5d7cdd8dd..94c557491860 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -39,10 +39,6 @@ extern void (*mtrr_hook) (void);
 
 extern void zap_low_mappings(void);
 
-extern u32 x86_cpu_to_apicid[];
-
-#define cpu_physical_id(cpu)	x86_cpu_to_apicid[cpu]
-
 #define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
 extern void cpu_exit_clear(unsigned int cpu);
 extern void cpu_uninit(unsigned int cpu);
diff --git a/xen/arch/x86/numa.c b/xen/arch/x86/numa.c
index 39e131cb4f35..91527be5b406 100644
--- a/xen/arch/x86/numa.c
+++ b/xen/arch/x86/numa.c
@@ -54,14 +54,13 @@ bool __init arch_numa_unavailable(void)
 /*
  * Setup early cpu_to_node.
  *
- * Populate cpu_to_node[] only if x86_cpu_to_apicid[],
- * and apicid_to_node[] tables have valid entries for a CPU.
- * This means we skip cpu_to_node[] initialisation for NUMA
- * emulation and faking node case (when running a kernel compiled
- * for NUMA on a non NUMA box), which is OK as cpu_to_node[]
- * is already initialized in a round robin manner at numa_init_array,
- * prior to this call, and this initialization is good enough
- * for the fake NUMA cases.
+ * Populate cpu_to_node[] only if cpu_data[], and apicid_to_node[]
+ * tables have valid entries for a CPU. This means we skip
+ * cpu_to_node[] initialisation for NUMA emulation and faking node
+ * case (when running a kernel compiled for NUMA on a non NUMA box),
+ * which is OK as cpu_to_node[] is already initialized in a round
+ * robin manner at numa_init_array, prior to this call, and this
+ * initialization is good enough for the fake NUMA cases.
  */
 void __init init_cpu_to_node(void)
 {
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index de87c5a41926..f061486e56eb 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -61,10 +61,8 @@ unsigned int __read_mostly nr_sockets;
 cpumask_t **__read_mostly socket_cpumask;
 static cpumask_t *secondary_socket_cpumask;
 
-struct cpuinfo_x86 cpu_data[NR_CPUS];
-
-u32 x86_cpu_to_apicid[NR_CPUS] __read_mostly =
-	{ [0 ... NR_CPUS-1] = BAD_APICID };
+struct cpuinfo_x86 cpu_data[NR_CPUS] =
+        { [0 ... NR_CPUS-1] .apicid = BAD_APICID };
 
 static int cpu_error;
 static enum cpu_state {
@@ -81,7 +79,9 @@ void *stack_base[NR_CPUS];
 
 void initialize_cpu_data(unsigned int cpu)
 {
+    uint32_t apicid = cpu_physical_id(cpu);
     cpu_data[cpu] = boot_cpu_data;
+    cpu_physical_id(cpu) = apicid;
 }
 
 static bool smp_store_cpu_info(unsigned int id)
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index 57b73a4e6214..e881cd5de0a0 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -159,7 +159,9 @@ void __dummy__(void)
     OFFSET(IRQSTAT_softirq_pending, irq_cpustat_t, __softirq_pending);
     BLANK();
 
-    OFFSET(CPUINFO_features, struct cpuinfo_x86, x86_capability);
+    OFFSET(CPUINFO_X86_features, struct cpuinfo_x86, x86_capability);
+    OFFSET(CPUINFO_X86_apicid, struct cpuinfo_x86, apicid);
+    DEFINE(CPUINFO_X86_sizeof, sizeof(struct cpuinfo_x86));
     BLANK();
 
     OFFSET(MB_flags, multiboot_info_t, flags);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633096.987683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfS-0002G8-8t; Tue, 14 Nov 2023 17:57:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633096.987683; Tue, 14 Nov 2023 17: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 1r2xfR-0002CH-Tg; Tue, 14 Nov 2023 17:57:41 +0000
Received: by outflank-mailman (input) for mailman id 633096;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYj-0004wk-7W
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:45 +0000
Received: from 9.mo575.mail-out.ovh.net (9.mo575.mail-out.ovh.net
 [46.105.78.111]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 550bf8cc-8316-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:50:43 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.138.246])
 by mo575.mail-out.ovh.net (Postfix) with ESMTP id 515E429385
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:43 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 98AB31FDF1;
 Tue, 14 Nov 2023 17:50:42 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id kPhUInKzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17: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: 550bf8cc-8316-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-103G005f5dee295-d4f4-4524-b5c3-7761c38da2df,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 05/10] x86/smp: move stack_base to cpu_data
Date: Tue, 14 Nov 2023 18:50:06 +0100
Message-ID: <70e3b7c84a69a7ec52b3ed6314395165c281734c.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12930678958905928138
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehleekveevvdfhgeetlefhjedtjefgjedtkeekffeitdffkeffueetkedtgfeiueenucffohhmrghinhepgiekiegpieegrdhssgenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepheenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheejhedpmhhouggvpehsmhhtphhouhht

This location is easier to access from assembly. Having it close to
other data required during initialization has also positive (although
rather small) impact on prefetching data from RAM.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/boot/x86_64.S            |  5 ++---
 xen/arch/x86/include/asm/cpufeature.h |  1 +
 xen/arch/x86/include/asm/smp.h        |  2 +-
 xen/arch/x86/setup.c                  |  6 +++---
 xen/arch/x86/smpboot.c                | 25 +++++++++++++------------
 xen/arch/x86/traps.c                  |  4 ++--
 xen/arch/x86/x86_64/asm-offsets.c     |  1 +
 xen/include/xen/smp.h                 |  2 --
 8 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 195550b5c0ea..8d61f270761f 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -33,9 +33,8 @@ ENTRY(__high_start)
         cmp     %esp, CPUINFO_X86_apicid(%rcx)
         jne     1b
 
-        /* %eax is now Xen CPU index. */
-        lea     stack_base(%rip), %rcx
-        mov     (%rcx, %rax, 8), %rsp
+        /* %rcx is now cpu_data[cpu], read stack base from it. */
+        mov     CPUINFO_X86_stack_base(%rcx), %rsp
 
         test    %rsp,%rsp
         jnz     1f
diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index 06e1dd7f3332..ff0e18864cc7 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -37,6 +37,7 @@ struct cpuinfo_x86 {
     unsigned int phys_proc_id;         /* package ID of each logical CPU */
     unsigned int cpu_core_id;          /* core ID of each logical CPU */
     unsigned int compute_unit_id;      /* AMD compute unit ID of each logical CPU */
+    void *stack_base;
     unsigned short x86_clflush_size;
 } __cacheline_aligned;
 
diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index 94c557491860..98739028a6ed 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -69,7 +69,7 @@ extern cpumask_t **socket_cpumask;
  * by certain scheduling code only.
  */
 #define get_cpu_current(cpu) \
-    (get_cpu_info_from_stack((unsigned long)stack_base[cpu])->current_vcpu)
+    (get_cpu_info_from_stack((unsigned long)cpu_data[cpu].stack_base)->current_vcpu)
 
 extern unsigned int disabled_cpus;
 extern bool unaccounted_cpus;
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a19fe219bbf6..b2c0679725ea 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -798,7 +798,7 @@ static void __init noreturn reinit_bsp_stack(void)
     /* Update SYSCALL trampolines */
     percpu_traps_init();
 
-    stack_base[0] = stack;
+    cpu_data[0].stack_base = stack;
 
     rc = setup_cpu_root_pgt(0);
     if ( rc )
@@ -1959,8 +1959,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
             /* Set up node_to_cpumask based on cpu_to_node[]. */
             numa_add_cpu(i);
 
-            if ( stack_base[i] == NULL )
-                stack_base[i] = cpu_alloc_stack(i);
+            if ( cpu_data[i].stack_base == NULL )
+                cpu_data[i].stack_base = cpu_alloc_stack(i);
         }
 
         for_each_present_cpu ( i )
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index f061486e56eb..8ae65ab1769f 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -75,13 +75,15 @@ static enum cpu_state {
 } cpu_state;
 #define set_cpu_state(state) do { smp_mb(); cpu_state = (state); } while (0)
 
-void *stack_base[NR_CPUS];
-
 void initialize_cpu_data(unsigned int cpu)
 {
     uint32_t apicid = cpu_physical_id(cpu);
+    void *stack = cpu_data[cpu].stack_base;
+
     cpu_data[cpu] = boot_cpu_data;
+
     cpu_physical_id(cpu) = apicid;
+    cpu_data[cpu].stack_base = stack;
 }
 
 static bool smp_store_cpu_info(unsigned int id)
@@ -579,8 +581,6 @@ static int do_boot_cpu(int apicid, int cpu)
         printk("Booting processor %d/%d eip %lx\n",
                cpu, apicid, start_eip);
 
-    stack_start = stack_base[cpu] + STACK_SIZE - sizeof(struct cpu_info);
-
     /* This grunge runs the startup process for the targeted processor. */
 
     set_cpu_state(CPU_STATE_INIT);
@@ -856,7 +856,7 @@ int setup_cpu_root_pgt(unsigned int cpu)
 
     /* Install direct map page table entries for stack, IDT, and TSS. */
     for ( off = rc = 0; !rc && off < STACK_SIZE; off += PAGE_SIZE )
-        rc = clone_mapping(__va(__pa(stack_base[cpu])) + off, rpt);
+        rc = clone_mapping(__va(__pa(cpu_data[cpu].stack_base)) + off, rpt);
 
     if ( !rc )
         rc = clone_mapping(idt_tables[cpu], rpt);
@@ -1007,10 +1007,10 @@ static void cpu_smpboot_free(unsigned int cpu, bool remove)
         FREE_XENHEAP_PAGE(per_cpu(gdt, cpu));
         FREE_XENHEAP_PAGE(idt_tables[cpu]);
 
-        if ( stack_base[cpu] )
+        if ( cpu_data[cpu].stack_base )
         {
-            memguard_unguard_stack(stack_base[cpu]);
-            FREE_XENHEAP_PAGES(stack_base[cpu], STACK_ORDER);
+            memguard_unguard_stack(cpu_data[cpu].stack_base);
+            FREE_XENHEAP_PAGES(cpu_data[cpu].stack_base, STACK_ORDER);
         }
     }
 }
@@ -1044,11 +1044,11 @@ static int cpu_smpboot_alloc(unsigned int cpu)
     if ( node != NUMA_NO_NODE )
         memflags = MEMF_node(node);
 
-    if ( stack_base[cpu] == NULL &&
-         (stack_base[cpu] = cpu_alloc_stack(cpu)) == NULL )
+    if ( cpu_data[cpu].stack_base == NULL &&
+         (cpu_data[cpu].stack_base = cpu_alloc_stack(cpu)) == NULL )
             goto out;
 
-    info = get_cpu_info_from_stack((unsigned long)stack_base[cpu]);
+    info = get_cpu_info_from_stack((unsigned long)cpu_data[cpu].stack_base);
     info->processor_id = cpu;
     info->per_cpu_offset = __per_cpu_offset[cpu];
 
@@ -1156,7 +1156,8 @@ void __init smp_prepare_cpus(void)
     boot_cpu_physical_apicid = get_apic_id();
     cpu_physical_id(0) = boot_cpu_physical_apicid;
 
-    stack_base[0] = (void *)((unsigned long)stack_start & ~(STACK_SIZE - 1));
+    cpu_data[0].stack_base = (void *)
+             ((unsigned long)stack_start & ~(STACK_SIZE - 1));
 
     set_nr_sockets();
 
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e1356f696aba..90d9201d1c52 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -611,9 +611,9 @@ void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
     unsigned long curr_stack_base = esp & ~(STACK_SIZE - 1);
     unsigned long esp_top, esp_bottom;
 
-    if ( _p(curr_stack_base) != stack_base[cpu] )
+    if ( _p(curr_stack_base) != cpu_data[cpu].stack_base )
         printk("Current stack base %p differs from expected %p\n",
-               _p(curr_stack_base), stack_base[cpu]);
+               _p(curr_stack_base), cpu_data[cpu].stack_base);
 
     esp_bottom = (esp | (STACK_SIZE - 1)) + 1;
     esp_top    = esp_bottom - PRIMARY_STACK_SIZE;
diff --git a/xen/arch/x86/x86_64/asm-offsets.c b/xen/arch/x86/x86_64/asm-offsets.c
index e881cd5de0a0..d81a30344677 100644
--- a/xen/arch/x86/x86_64/asm-offsets.c
+++ b/xen/arch/x86/x86_64/asm-offsets.c
@@ -161,6 +161,7 @@ void __dummy__(void)
 
     OFFSET(CPUINFO_X86_features, struct cpuinfo_x86, x86_capability);
     OFFSET(CPUINFO_X86_apicid, struct cpuinfo_x86, apicid);
+    OFFSET(CPUINFO_X86_stack_base, struct cpuinfo_x86, stack_base);
     DEFINE(CPUINFO_X86_sizeof, sizeof(struct cpuinfo_x86));
     BLANK();
 
diff --git a/xen/include/xen/smp.h b/xen/include/xen/smp.h
index 0a9219173f0f..994fdc474200 100644
--- a/xen/include/xen/smp.h
+++ b/xen/include/xen/smp.h
@@ -67,8 +67,6 @@ void smp_send_call_function_mask(const cpumask_t *mask);
 
 int alloc_cpu_id(void);
 
-extern void *stack_base[NR_CPUS];
-
 void initialize_cpu_data(unsigned int cpu);
 int setup_cpu_root_pgt(unsigned int cpu);
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633097.987698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfU-0002ig-0T; Tue, 14 Nov 2023 17:57:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633097.987698; Tue, 14 Nov 2023 17:57: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 1r2xfT-0002eo-8h; Tue, 14 Nov 2023 17:57:43 +0000
Received: by outflank-mailman (input) for mailman id 633097;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYj-0004mK-IS
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:45 +0000
Received: from 1.mo576.mail-out.ovh.net (1.mo576.mail-out.ovh.net
 [178.33.251.173]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 548dcfb9-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:42 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.146.213])
 by mo576.mail-out.ovh.net (Postfix) with ESMTP id 7DBC72BB9F
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:42 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 11F161FD62;
 Tue, 14 Nov 2023 17:50:42 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id KH1oAXKzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17: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: 548dcfb9-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G005280f6773-d231-4d88-b48f-1424666bd49a,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 5/9] x86/smp: call x2apic_ap_setup() earlier
Date: Tue, 14 Nov 2023 18:50:05 +0100
Message-ID: <7c13554e60cc76516922992b7faf911b91f99a2a.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12930397484398389616
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepudenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheejiedpmhhouggvpehsmhhtphhouhht

It used to be called from smp_callin(), however BUG_ON() was invoked on
multiple occasions before that. It may end up calling machine_restart()
which tries to get APIC ID for CPU running this code. If BSP detected
that x2APIC is enabled, get_apic_id() will try to use it for all CPUs.
Enabling x2APIC on secondary CPUs earlier protects against an endless
loop of #GP exceptions caused by attempts to read IA32_X2APIC_APICID
MSR while x2APIC is disabled in IA32_APIC_BASE.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/smpboot.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 8ae65ab1769f..a3895dafa267 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -184,7 +184,6 @@ static void smp_callin(void)
      * update until we finish. We are free to set up this CPU: first the APIC.
      */
     Dprintk("CALLIN, before setup_local_APIC().\n");
-    x2apic_ap_setup();
     setup_local_APIC(false);
 
     /* Save our processor parameters. */
@@ -351,6 +350,14 @@ void start_secondary(void *unused)
     get_cpu_info()->xen_cr3 = 0;
     get_cpu_info()->pv_cr3 = 0;
 
+    /*
+     * BUG_ON() used in load_system_tables() and later code may end up calling
+     * machine_restart() which tries to get APIC ID for CPU running this code.
+     * If BSP detected that x2APIC is enabled, get_apic_id() will try to use it
+     * for _all_ CPUs. Enable x2APIC on secondary CPUs now so we won't end up
+     * with endless #GP loop.
+     */
+    x2apic_ap_setup();
     load_system_tables();
 
     /* Full exception support from here on in. */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633101.987710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfU-0002vL-Tt; Tue, 14 Nov 2023 17:57:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633101.987710; Tue, 14 Nov 2023 17: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 1r2xfT-0002tB-VL; Tue, 14 Nov 2023 17:57:43 +0000
Received: by outflank-mailman (input) for mailman id 633101;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYk-0004mK-Ic
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:46 +0000
Received: from 18.mo582.mail-out.ovh.net (18.mo582.mail-out.ovh.net
 [46.105.73.110]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5569ac42-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:44 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.4.8])
 by mo582.mail-out.ovh.net (Postfix) with ESMTP id E087B28D3B
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:43 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 66F941FD62;
 Tue, 14 Nov 2023 17:50:43 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id wBjGFXOzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 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: 5569ac42-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G0059f3c2416-a2f6-49ac-bfc0-4df6296c09f1,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 6/9] x86/shutdown: protect against recurrent machine_restart()
Date: Tue, 14 Nov 2023 18:50:07 +0100
Message-ID: <87b0e650f28038c2fb64c5eb607c8fdaa7b4db07.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12930678956841675120
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepgeenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekvddpmhhouggvpehsmhhtphhouhht

If multiple CPUs called machine_restart() before actual restart took
place, but after boot CPU declared itself not online, ASSERT in
on_selected_cpus() will fail. Few calls later execution would end up
in machine_restart() again, with another frame on call stack for new
exception.

To protect against running out of stack, code checks if boot CPU is
still online before calling on_selected_cpus().

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/shutdown.c | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/shutdown.c b/xen/arch/x86/shutdown.c
index 7619544d14da..32c70505ed77 100644
--- a/xen/arch/x86/shutdown.c
+++ b/xen/arch/x86/shutdown.c
@@ -577,9 +577,23 @@ void machine_restart(unsigned int delay_millisecs)
         /* Ensure we are the boot CPU. */
         if ( get_apic_id() != boot_cpu_physical_apicid )
         {
-            /* Send IPI to the boot CPU (logical cpu 0). */
-            on_selected_cpus(cpumask_of(0), __machine_restart,
-                             &delay_millisecs, 0);
+            /*
+             * Send IPI to the boot CPU (logical cpu 0).
+             *
+             * If multiple CPUs called machine_restart() before actual restart
+             * took place, but after boot CPU declared itself not online, ASSERT
+             * in on_selected_cpus() will fail. Few calls later we would end up
+             * here again, with another frame on call stack for new exception.
+             * To protect against running out of stack, check if boot CPU is
+             * online.
+             *
+             * Note this is not an atomic operation, so it is possible for
+             * on_selected_cpus() to be called once after boot CPU is offline
+             * before we hit halt() below.
+             */
+            if ( cpu_online(0) )
+                on_selected_cpus(cpumask_of(0), __machine_restart,
+                                 &delay_millisecs, 0);
             for ( ; ; )
                 halt();
         }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633102.987717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfV-0003D0-Im; Tue, 14 Nov 2023 17:57:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633102.987717; Tue, 14 Nov 2023 17:57: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 1r2xfU-00036u-QE; Tue, 14 Nov 2023 17:57:44 +0000
Received: by outflank-mailman (input) for mailman id 633102;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYk-0004wk-Me
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:46 +0000
Received: from 5.mo583.mail-out.ovh.net (5.mo583.mail-out.ovh.net
 [87.98.173.103]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55eb02bf-8316-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:50:45 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.4.72])
 by mo583.mail-out.ovh.net (Postfix) with ESMTP id 831882530C
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:44 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 053BA1FD62;
 Tue, 14 Nov 2023 17:50:43 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id +FLBOXOzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 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: 55eb02bf-8316-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-103G0053f19ddfa-4a8e-402b-a711-632ec1da18cf,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 06/10] x86/smp: call x2apic_ap_setup() earlier
Date: Tue, 14 Nov 2023 18:50:08 +0100
Message-ID: <7c13554e60cc76516922992b7faf911b91f99a2a.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12930960431237409136
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepgeenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekfedpmhhouggvpehsmhhtphhouhht

It used to be called from smp_callin(), however BUG_ON() was invoked on
multiple occasions before that. It may end up calling machine_restart()
which tries to get APIC ID for CPU running this code. If BSP detected
that x2APIC is enabled, get_apic_id() will try to use it for all CPUs.
Enabling x2APIC on secondary CPUs earlier protects against an endless
loop of #GP exceptions caused by attempts to read IA32_X2APIC_APICID
MSR while x2APIC is disabled in IA32_APIC_BASE.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/smpboot.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 8ae65ab1769f..a3895dafa267 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -184,7 +184,6 @@ static void smp_callin(void)
      * update until we finish. We are free to set up this CPU: first the APIC.
      */
     Dprintk("CALLIN, before setup_local_APIC().\n");
-    x2apic_ap_setup();
     setup_local_APIC(false);
 
     /* Save our processor parameters. */
@@ -351,6 +350,14 @@ void start_secondary(void *unused)
     get_cpu_info()->xen_cr3 = 0;
     get_cpu_info()->pv_cr3 = 0;
 
+    /*
+     * BUG_ON() used in load_system_tables() and later code may end up calling
+     * machine_restart() which tries to get APIC ID for CPU running this code.
+     * If BSP detected that x2APIC is enabled, get_apic_id() will try to use it
+     * for _all_ CPUs. Enable x2APIC on secondary CPUs now so we won't end up
+     * with endless #GP loop.
+     */
+    x2apic_ap_setup();
     load_system_tables();
 
     /* Full exception support from here on in. */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633106.987726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfX-0003bv-6d; Tue, 14 Nov 2023 17:57:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633106.987726; Tue, 14 Nov 2023 17:57: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 1r2xfW-0003VY-97; Tue, 14 Nov 2023 17:57:46 +0000
Received: by outflank-mailman (input) for mailman id 633106;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYl-0004wk-Gi
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:47 +0000
Received: from 19.mo582.mail-out.ovh.net (19.mo582.mail-out.ovh.net
 [188.165.56.177]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 567bcec5-8316-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:50:46 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.16.176])
 by mo582.mail-out.ovh.net (Postfix) with ESMTP id BA50D28A3F
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:45 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 4F0A71FDF1;
 Tue, 14 Nov 2023 17:50:45 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id qLM5EHWzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17: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: 567bcec5-8316-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-103G0056fce45e0-23cf-4afa-a93e-0729be2d3147,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 7/9] x86/smp: drop booting_cpu variable
Date: Tue, 14 Nov 2023 18:50:10 +0100
Message-ID: <22109ebd7edef1140cb438a6ec5fa1726cdf2c12.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12931241905954597232
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehleekveevvdfhgeetlefhjedtjefgjedtkeekffeitdffkeffueetkedtgfeiueenucffohhmrghinhepgiekiegpieegrdhssgenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepfeenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekvddpmhhouggvpehsmhhtphhouhhtpdgukhhimhepnhhonhgv

CPU id is obtained as a side effect of searching for appropriate
stack for AP. It can be used as a parameter to start_secondary().
Coincidentally this also makes further work on making AP bring-up
code parallel easier.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/boot/x86_64.S | 13 +++++++++----
 xen/arch/x86/smpboot.c     | 15 +++++----------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 8d61f270761f..ad01f20d548d 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -20,20 +20,24 @@ ENTRY(__high_start)
         jz      .L_stack_set
 
         /* APs only: get stack base from APIC ID saved in %esp. */
-        mov     $0, %rax
+        mov     $0, %rbx
         lea     cpu_data(%rip), %rcx
         /* cpu_data[0] is BSP, skip it. */
 1:
-        add     $1, %rax
+        add     $1, %rbx
         add     $CPUINFO_X86_sizeof, %rcx
-        cmp     $NR_CPUS, %eax
+        cmp     $NR_CPUS, %rbx
         jb      2f
         hlt
 2:
         cmp     %esp, CPUINFO_X86_apicid(%rcx)
         jne     1b
 
-        /* %rcx is now cpu_data[cpu], read stack base from it. */
+        /*
+         * At this point:
+         * - %rcx is cpu_data[cpu], read stack base from it,
+         * - %rbx (callee-save) is Xen cpu number, pass it to start_secondary().
+         */
         mov     CPUINFO_X86_stack_base(%rcx), %rsp
 
         test    %rsp,%rsp
@@ -101,6 +105,7 @@ ENTRY(__high_start)
 .L_ap_cet_done:
 #endif /* CONFIG_XEN_SHSTK || CONFIG_XEN_IBT */
 
+        mov     %rbx, %rdi
         tailcall start_secondary
 
 .L_bsp:
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index a3895dafa267..39ffd356dbbc 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -222,8 +222,6 @@ static void smp_callin(void)
         cpu_relax();
 }
 
-static int booting_cpu;
-
 /* CPUs for which sibling maps can be computed. */
 static cpumask_t cpu_sibling_setup_map;
 
@@ -311,15 +309,14 @@ static void set_cpu_sibling_map(unsigned int cpu)
     }
 }
 
-void start_secondary(void *unused)
+void start_secondary(unsigned int cpu)
 {
     struct cpu_info *info = get_cpu_info();
 
     /*
-     * Dont put anything before smp_callin(), SMP booting is so fragile that we
+     * Don't put anything before smp_callin(), SMP booting is so fragile that we
      * want to limit the things done here to the most necessary things.
      */
-    unsigned int cpu = booting_cpu;
 
     /* Critical region without IDT or TSS.  Any fault is deadly! */
 
@@ -346,9 +343,9 @@ void start_secondary(void *unused)
      */
     spin_debug_disable();
 
-    get_cpu_info()->use_pv_cr3 = false;
-    get_cpu_info()->xen_cr3 = 0;
-    get_cpu_info()->pv_cr3 = 0;
+    info->use_pv_cr3 = false;
+    info->xen_cr3 = 0;
+    info->pv_cr3 = 0;
 
     /*
      * BUG_ON() used in load_system_tables() and later code may end up calling
@@ -575,8 +572,6 @@ static int do_boot_cpu(int apicid, int cpu)
      */
     mtrr_save_state();
 
-    booting_cpu = cpu;
-
     start_eip = bootsym_phys(trampoline_realmode_entry);
 
     /* start_eip needs be page aligned, and below the 1M boundary. */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633107.987740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfY-0003nq-8N; Tue, 14 Nov 2023 17:57:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633107.987740; Tue, 14 Nov 2023 17:57: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 1r2xfX-0003ki-7o; Tue, 14 Nov 2023 17:57:47 +0000
Received: by outflank-mailman (input) for mailman id 633107;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYl-0004mK-Iv
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:47 +0000
Received: from 4.mo576.mail-out.ovh.net (4.mo576.mail-out.ovh.net
 [46.105.42.102]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 562ff767-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:45 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.146.213])
 by mo576.mail-out.ovh.net (Postfix) with ESMTP id 33ED12BB9F
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:45 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id AD9971FE62;
 Tue, 14 Nov 2023 17:50:44 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id aOi5InSzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 562ff767-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G0052b324679-71f1-4ee1-bb31-3382685591f2,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 07/10] x86/shutdown: protect against recurrent machine_restart()
Date: Tue, 14 Nov 2023 18:50:09 +0100
Message-ID: <87b0e650f28038c2fb64c5eb607c8fdaa7b4db07.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12931241908158114160
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepheenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheejiedpmhhouggvpehsmhhtphhouhht

If multiple CPUs called machine_restart() before actual restart took
place, but after boot CPU declared itself not online, ASSERT in
on_selected_cpus() will fail. Few calls later execution would end up
in machine_restart() again, with another frame on call stack for new
exception.

To protect against running out of stack, code checks if boot CPU is
still online before calling on_selected_cpus().

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/shutdown.c | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/xen/arch/x86/shutdown.c b/xen/arch/x86/shutdown.c
index 7619544d14da..32c70505ed77 100644
--- a/xen/arch/x86/shutdown.c
+++ b/xen/arch/x86/shutdown.c
@@ -577,9 +577,23 @@ void machine_restart(unsigned int delay_millisecs)
         /* Ensure we are the boot CPU. */
         if ( get_apic_id() != boot_cpu_physical_apicid )
         {
-            /* Send IPI to the boot CPU (logical cpu 0). */
-            on_selected_cpus(cpumask_of(0), __machine_restart,
-                             &delay_millisecs, 0);
+            /*
+             * Send IPI to the boot CPU (logical cpu 0).
+             *
+             * If multiple CPUs called machine_restart() before actual restart
+             * took place, but after boot CPU declared itself not online, ASSERT
+             * in on_selected_cpus() will fail. Few calls later we would end up
+             * here again, with another frame on call stack for new exception.
+             * To protect against running out of stack, check if boot CPU is
+             * online.
+             *
+             * Note this is not an atomic operation, so it is possible for
+             * on_selected_cpus() to be called once after boot CPU is offline
+             * before we hit halt() below.
+             */
+            if ( cpu_online(0) )
+                on_selected_cpus(cpumask_of(0), __machine_restart,
+                                 &delay_millisecs, 0);
             for ( ; ; )
                 halt();
         }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633110.987746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xfZ-000428-SJ; Tue, 14 Nov 2023 17:57:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633110.987746; Tue, 14 Nov 2023 17:57: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 1r2xfY-0003ug-2Z; Tue, 14 Nov 2023 17:57:48 +0000
Received: by outflank-mailman (input) for mailman id 633110;
 Tue, 14 Nov 2023 17: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYn-0004wk-IS
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:49 +0000
Received: from 20.mo550.mail-out.ovh.net (20.mo550.mail-out.ovh.net
 [188.165.45.168]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57962a2f-8316-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:50:47 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.16.30])
 by mo550.mail-out.ovh.net (Postfix) with ESMTP id 9591C29502
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:47 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 1B4B41FE62;
 Tue, 14 Nov 2023 17:50:47 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id KN3PAnezU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 57962a2f-8316-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-103G0055119ad6f-2ad2-4238-88e6-1a3ab37426bc,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 09/10] x86/smp: make cpu_state per-CPU
Date: Tue, 14 Nov 2023 18:50:13 +0100
Message-ID: <52083114d4cbbc75f021e8c61763ad0e166cf05b.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12931804858740550000
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepkeenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheehtddpmhhouggvpehsmhhtphhouhht

This will be used for parallel AP bring-up.

CPU_STATE_INIT changed direction. It was previously set by BSP and never
consumed by AP. Now it signals that AP got through assembly part of
initialization and waits for BSP to call notifiers that set up data
structures required for further initialization.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/include/asm/cpufeature.h |  1 +
 xen/arch/x86/smpboot.c                | 80 ++++++++++++++++-----------
 2 files changed, 49 insertions(+), 32 deletions(-)

diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index ff0e18864cc7..1831b5fb368f 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -38,6 +38,7 @@ struct cpuinfo_x86 {
     unsigned int cpu_core_id;          /* core ID of each logical CPU */
     unsigned int compute_unit_id;      /* AMD compute unit ID of each logical CPU */
     void *stack_base;
+    unsigned int cpu_state;
     unsigned short x86_clflush_size;
 } __cacheline_aligned;
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 39ffd356dbbc..cbea2d45f70d 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -65,15 +65,18 @@ struct cpuinfo_x86 cpu_data[NR_CPUS] =
         { [0 ... NR_CPUS-1] .apicid = BAD_APICID };
 
 static int cpu_error;
-static enum cpu_state {
+enum cpu_state {
     CPU_STATE_DYING,    /* slave -> master: I am dying */
     CPU_STATE_DEAD,     /* slave -> master: I am completely dead */
-    CPU_STATE_INIT,     /* master -> slave: Early bringup phase 1 */
-    CPU_STATE_CALLOUT,  /* master -> slave: Early bringup phase 2 */
+    CPU_STATE_INIT,     /* slave -> master: Early bringup phase 1 completed */
+    CPU_STATE_CALLOUT,  /* master -> slave: Start early bringup phase 2 */
     CPU_STATE_CALLIN,   /* slave -> master: Completed phase 2 */
     CPU_STATE_ONLINE    /* master -> slave: Go fully online now. */
-} cpu_state;
-#define set_cpu_state(state) do { smp_mb(); cpu_state = (state); } while (0)
+};
+#define set_cpu_state(cpu, state) do { \
+    smp_mb(); \
+    cpu_data[cpu].cpu_state = (state); \
+} while (0)
 
 void initialize_cpu_data(unsigned int cpu)
 {
@@ -168,16 +171,7 @@ static void synchronize_tsc_slave(unsigned int slave)
 static void smp_callin(void)
 {
     unsigned int cpu = smp_processor_id();
-    int i, rc;
-
-    /* Wait 2s total for startup. */
-    Dprintk("Waiting for CALLOUT.\n");
-    for ( i = 0; cpu_state != CPU_STATE_CALLOUT; i++ )
-    {
-        BUG_ON(i >= 200);
-        cpu_relax();
-        mdelay(10);
-    }
+    int rc;
 
     /*
      * The boot CPU has finished the init stage and is spinning on cpu_state
@@ -213,12 +207,12 @@ static void smp_callin(void)
     }
 
     /* Allow the master to continue. */
-    set_cpu_state(CPU_STATE_CALLIN);
+    set_cpu_state(cpu, CPU_STATE_CALLIN);
 
     synchronize_tsc_slave(cpu);
 
     /* And wait for our final Ack. */
-    while ( cpu_state != CPU_STATE_ONLINE )
+    while ( cpu_data[cpu].cpu_state != CPU_STATE_ONLINE )
         cpu_relax();
 }
 
@@ -313,6 +307,9 @@ void start_secondary(unsigned int cpu)
 {
     struct cpu_info *info = get_cpu_info();
 
+    /* Tell BSP that we are awake. */
+    set_cpu_state(cpu, CPU_STATE_INIT);
+
     /*
      * Don't put anything before smp_callin(), SMP booting is so fragile that we
      * want to limit the things done here to the most necessary things.
@@ -320,6 +317,10 @@ void start_secondary(unsigned int cpu)
 
     /* Critical region without IDT or TSS.  Any fault is deadly! */
 
+    /* Wait until data set up by CPU_UP_PREPARE notifiers is ready. */
+    while ( cpu_data[cpu].cpu_state != CPU_STATE_CALLOUT )
+        cpu_relax();
+
     set_current(idle_vcpu[cpu]);
     this_cpu(curr_vcpu) = idle_vcpu[cpu];
     rdmsrl(MSR_EFER, this_cpu(efer));
@@ -585,26 +586,35 @@ static int do_boot_cpu(int apicid, int cpu)
 
     /* This grunge runs the startup process for the targeted processor. */
 
-    set_cpu_state(CPU_STATE_INIT);
-
     /* Starting actual IPI sequence... */
     boot_error = wakeup_secondary_cpu(apicid, start_eip);
 
     if ( !boot_error )
     {
-        /* Allow AP to start initializing. */
-        set_cpu_state(CPU_STATE_CALLOUT);
-        Dprintk("After Callout %d.\n", cpu);
-
-        /* Wait 5s total for a response. */
-        for ( timeout = 0; timeout < 50000; timeout++ )
+        /* Wait 2s total for a response. */
+        for ( timeout = 0; timeout < 20000; timeout++ )
         {
-            if ( cpu_state != CPU_STATE_CALLOUT )
+            if ( cpu_data[cpu].cpu_state == CPU_STATE_INIT )
                 break;
             udelay(100);
         }
 
-        if ( cpu_state == CPU_STATE_CALLIN )
+        if ( cpu_data[cpu].cpu_state == CPU_STATE_INIT )
+        {
+            /* Allow AP to start initializing. */
+            set_cpu_state(cpu, CPU_STATE_CALLOUT);
+            Dprintk("After Callout %d.\n", cpu);
+
+            /* Wait 5s total for a response. */
+            for ( timeout = 0; timeout < 500000; timeout++ )
+            {
+                if ( cpu_data[cpu].cpu_state != CPU_STATE_CALLOUT )
+                    break;
+                udelay(10);
+            }
+        }
+
+        if ( cpu_data[cpu].cpu_state == CPU_STATE_CALLIN )
         {
             /* number CPUs logically, starting from 1 (BSP is 0) */
             Dprintk("OK.\n");
@@ -612,7 +622,7 @@ static int do_boot_cpu(int apicid, int cpu)
             synchronize_tsc_master(cpu);
             Dprintk("CPU has booted.\n");
         }
-        else if ( cpu_state == CPU_STATE_DEAD )
+        else if ( cpu_data[cpu].cpu_state == CPU_STATE_DEAD )
         {
             smp_rmb();
             rc = cpu_error;
@@ -683,7 +693,7 @@ unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
 void cpu_exit_clear(unsigned int cpu)
 {
     cpu_uninit(cpu);
-    set_cpu_state(CPU_STATE_DEAD);
+    set_cpu_state(cpu, CPU_STATE_DEAD);
 }
 
 static int clone_mapping(const void *ptr, root_pgentry_t *rpt)
@@ -1161,6 +1171,12 @@ void __init smp_prepare_cpus(void)
     cpu_data[0].stack_base = (void *)
              ((unsigned long)stack_start & ~(STACK_SIZE - 1));
 
+    /* Set state as CALLOUT so APs won't change it in initialize_cpu_data() */
+    boot_cpu_data.cpu_state = CPU_STATE_CALLOUT;
+
+    /* Not really used anywhere, but set it just in case. */
+    set_cpu_state(0, CPU_STATE_ONLINE);
+
     set_nr_sockets();
 
     socket_cpumask = xzalloc_array(cpumask_t *, nr_sockets);
@@ -1267,7 +1283,7 @@ void __cpu_disable(void)
 {
     int cpu = smp_processor_id();
 
-    set_cpu_state(CPU_STATE_DYING);
+    set_cpu_state(cpu, CPU_STATE_DYING);
 
     local_irq_disable();
     clear_local_APIC();
@@ -1292,7 +1308,7 @@ void __cpu_die(unsigned int cpu)
     unsigned int i = 0;
     enum cpu_state seen_state;
 
-    while ( (seen_state = cpu_state) != CPU_STATE_DEAD )
+    while ( (seen_state = cpu_data[cpu].cpu_state) != CPU_STATE_DEAD )
     {
         BUG_ON(seen_state != CPU_STATE_DYING);
         mdelay(100);
@@ -1393,7 +1409,7 @@ int __cpu_up(unsigned int cpu)
 
     time_latch_stamps();
 
-    set_cpu_state(CPU_STATE_ONLINE);
+    set_cpu_state(cpu, CPU_STATE_ONLINE);
     while ( !cpu_online(cpu) )
     {
         cpu_relax();
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:57:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:57:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633113.987761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xff-00051q-5G; Tue, 14 Nov 2023 17:57:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633113.987761; Tue, 14 Nov 2023 17: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 1r2xfd-0004ve-5H; Tue, 14 Nov 2023 17:57:53 +0000
Received: by outflank-mailman (input) for mailman id 633113;
 Tue, 14 Nov 2023 17:50: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYo-0004wk-7B
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:50 +0000
Received: from 13.mo583.mail-out.ovh.net (13.mo583.mail-out.ovh.net
 [87.98.182.191]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57f77c3e-8316-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 18:50:48 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.4.72])
 by mo583.mail-out.ovh.net (Postfix) with ESMTP id 2550C22568
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:48 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id AD48F1FE6E;
 Tue, 14 Nov 2023 17:50:47 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id 2KhrJ3ezU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 57f77c3e-8316-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-103G0050fe57c42-e597-4370-9d51-01f9505c8609,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 9/9] x86/smp: start APs in parallel during boot
Date: Tue, 14 Nov 2023 18:50:14 +0100
Message-ID: <77c9199eabf3a30ebcf89356b2dd35abd611a3a9.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12932086332910971248
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepleenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekfedpmhhouggvpehsmhhtphhouhht

Multiple delays are required when sending IPIs and waiting for
responses. During boot, 4 such IPIs were sent per each AP. With this
change, only one set of broadcast IPIs is sent. This reduces boot time,
especially for platforms with large number of cores.

Single CPU initialization is still possible, it is used for hotplug.

During wakeup from S3 APs are started one by one. It should be possible
to enable parallel execution there as well, but I don't have a way of
properly testing it as of now.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/include/asm/smp.h |  1 +
 xen/arch/x86/setup.c           |  2 +
 xen/arch/x86/smpboot.c         | 68 ++++++++++++++++++++++++----------
 3 files changed, 51 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index 98739028a6ed..6ca0158a368d 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -31,6 +31,7 @@ DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
 extern bool park_offline_cpus;
 
 void smp_send_nmi_allbutself(void);
+void smp_send_init_sipi_sipi_allbutself(void);
 
 void send_IPI_mask(const cpumask_t *, int vector);
 void send_IPI_self(int vector);
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index b2c0679725ea..42a9067b81eb 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1963,6 +1963,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
                 cpu_data[i].stack_base = cpu_alloc_stack(i);
         }
 
+        smp_send_init_sipi_sipi_allbutself();
+
         for_each_present_cpu ( i )
         {
             if ( (park_offline_cpus || num_online_cpus() < max_cpus) &&
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index cbea2d45f70d..e9a7f78a5a6f 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -425,7 +425,7 @@ void start_secondary(unsigned int cpu)
 
 static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
 {
-    unsigned long send_status = 0, accept_status = 0;
+    unsigned long send_status = 0, accept_status = 0, sh = 0;
     int maxlvt, timeout, i;
 
     /*
@@ -445,6 +445,12 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
     if ( tboot_in_measured_env() && !tboot_wake_ap(phys_apicid, start_eip) )
         return 0;
 
+    /*
+     * Use destination shorthand for broadcasting IPIs during boot.
+     */
+    if ( phys_apicid == BAD_APICID )
+        sh = APIC_DEST_ALLBUT;
+
     /*
      * Be paranoid about clearing APIC errors.
      */
@@ -458,7 +464,7 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
         /*
          * Turn INIT on target chip via IPI
          */
-        apic_icr_write(APIC_INT_LEVELTRIG | APIC_INT_ASSERT | APIC_DM_INIT,
+        apic_icr_write(APIC_INT_LEVELTRIG | APIC_INT_ASSERT | APIC_DM_INIT | sh,
                        phys_apicid);
 
         if ( !x2apic_enabled )
@@ -475,7 +481,7 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
 
             Dprintk("Deasserting INIT.\n");
 
-            apic_icr_write(APIC_INT_LEVELTRIG | APIC_DM_INIT, phys_apicid);
+            apic_icr_write(APIC_INT_LEVELTRIG | APIC_DM_INIT | sh, phys_apicid);
 
             Dprintk("Waiting for send to finish...\n");
             timeout = 0;
@@ -512,7 +518,7 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
          * STARTUP IPI
          * Boot on the stack
          */
-        apic_icr_write(APIC_DM_STARTUP | (start_eip >> 12), phys_apicid);
+        apic_icr_write(APIC_DM_STARTUP | (start_eip >> 12) | sh, phys_apicid);
 
         if ( !x2apic_enabled )
         {
@@ -565,7 +571,6 @@ int alloc_cpu_id(void)
 static int do_boot_cpu(int apicid, int cpu)
 {
     int timeout, boot_error = 0, rc = 0;
-    unsigned long start_eip;
 
     /*
      * Save current MTRR state in case it was changed since early boot
@@ -573,21 +578,31 @@ static int do_boot_cpu(int apicid, int cpu)
      */
     mtrr_save_state();
 
-    start_eip = bootsym_phys(trampoline_realmode_entry);
+    /* Check if AP is already up. */
+    if ( cpu_data[cpu].cpu_state != CPU_STATE_INIT )
+    {
+        /* This grunge runs the startup process for the targeted processor. */
+        unsigned long start_eip;
+        start_eip = bootsym_phys(trampoline_realmode_entry);
 
-    /* start_eip needs be page aligned, and below the 1M boundary. */
-    if ( start_eip & ~0xff000 )
-        panic("AP trampoline %#lx not suitably positioned\n", start_eip);
+        /* start_eip needs be page aligned, and below the 1M boundary. */
+        if ( start_eip & ~0xff000 )
+            panic("AP trampoline %#lx not suitably positioned\n", start_eip);
 
-    /* So we see what's up   */
-    if ( opt_cpu_info )
-        printk("Booting processor %d/%d eip %lx\n",
-               cpu, apicid, start_eip);
+        /* So we see what's up   */
+        if ( opt_cpu_info )
+            printk("AP trampoline at %lx\n", start_eip);
 
-    /* This grunge runs the startup process for the targeted processor. */
+        /* mark "stuck" area as not stuck */
+        bootsym(trampoline_cpu_started) = 0;
+        smp_mb();
 
-    /* Starting actual IPI sequence... */
-    boot_error = wakeup_secondary_cpu(apicid, start_eip);
+        /* Starting actual IPI sequence... */
+        boot_error = wakeup_secondary_cpu(apicid, start_eip);
+    }
+
+    if ( opt_cpu_info )
+        printk("Booting processor %d/%d\n", cpu, apicid);
 
     if ( !boot_error )
     {
@@ -646,10 +661,6 @@ static int do_boot_cpu(int apicid, int cpu)
         rc = -EIO;
     }
 
-    /* mark "stuck" area as not stuck */
-    bootsym(trampoline_cpu_started) = 0;
-    smp_mb();
-
     return rc;
 }
 
@@ -1155,6 +1166,23 @@ static struct notifier_block cpu_smpboot_nfb = {
     .notifier_call = cpu_smpboot_callback
 };
 
+void smp_send_init_sipi_sipi_allbutself(void)
+{
+    unsigned long start_eip;
+    start_eip = bootsym_phys(trampoline_realmode_entry);
+
+    /* start_eip needs be page aligned, and below the 1M boundary. */
+    if ( start_eip & ~0xff000 )
+        panic("AP trampoline %#lx not suitably positioned\n", start_eip);
+
+    /* So we see what's up   */
+    if ( opt_cpu_info )
+        printk("Booting APs in parallel, eip %lx\n", start_eip);
+
+    /* Starting actual broadcast IPI sequence... */
+    wakeup_secondary_cpu(BAD_APICID, start_eip);
+}
+
 void __init smp_prepare_cpus(void)
 {
     register_cpu_notifier(&cpu_smpboot_nfb);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 17:59:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 17:59:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633141.987791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xh0-0003DN-5I; Tue, 14 Nov 2023 17:59:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633141.987791; Tue, 14 Nov 2023 17:59: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 1r2xh0-0003DG-1r; Tue, 14 Nov 2023 17:59:18 +0000
Received: by outflank-mailman (input) for mailman id 633141;
 Tue, 14 Nov 2023 17:59: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYm-0004mK-J6
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:48 +0000
Received: from 2.mo575.mail-out.ovh.net (2.mo575.mail-out.ovh.net
 [46.105.52.162]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56e500ac-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:46 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.108.1.219])
 by mo575.mail-out.ovh.net (Postfix) with ESMTP id 6591E291FE
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:46 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id D435F1FE62;
 Tue, 14 Nov 2023 17:50:45 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id wKTdMHWzU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17: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: 56e500ac-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G0050aa832c6-640f-4b02-9663-a128ddce512f,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 08/10] x86/smp: drop booting_cpu variable
Date: Tue, 14 Nov 2023 18:50:11 +0100
Message-ID: <22109ebd7edef1140cb438a6ec5fa1726cdf2c12.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12931523382006163824
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeehleekveevvdfhgeetlefhjedtjefgjedtkeekffeitdffkeffueetkedtgfeiueenucffohhmrghinhepgiekiegpieegrdhssgenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepheenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheejhedpmhhouggvpehsmhhtphhouhht

CPU id is obtained as a side effect of searching for appropriate
stack for AP. It can be used as a parameter to start_secondary().
Coincidentally this also makes further work on making AP bring-up
code parallel easier.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/boot/x86_64.S | 13 +++++++++----
 xen/arch/x86/smpboot.c     | 15 +++++----------
 2 files changed, 14 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/boot/x86_64.S b/xen/arch/x86/boot/x86_64.S
index 8d61f270761f..ad01f20d548d 100644
--- a/xen/arch/x86/boot/x86_64.S
+++ b/xen/arch/x86/boot/x86_64.S
@@ -20,20 +20,24 @@ ENTRY(__high_start)
         jz      .L_stack_set
 
         /* APs only: get stack base from APIC ID saved in %esp. */
-        mov     $0, %rax
+        mov     $0, %rbx
         lea     cpu_data(%rip), %rcx
         /* cpu_data[0] is BSP, skip it. */
 1:
-        add     $1, %rax
+        add     $1, %rbx
         add     $CPUINFO_X86_sizeof, %rcx
-        cmp     $NR_CPUS, %eax
+        cmp     $NR_CPUS, %rbx
         jb      2f
         hlt
 2:
         cmp     %esp, CPUINFO_X86_apicid(%rcx)
         jne     1b
 
-        /* %rcx is now cpu_data[cpu], read stack base from it. */
+        /*
+         * At this point:
+         * - %rcx is cpu_data[cpu], read stack base from it,
+         * - %rbx (callee-save) is Xen cpu number, pass it to start_secondary().
+         */
         mov     CPUINFO_X86_stack_base(%rcx), %rsp
 
         test    %rsp,%rsp
@@ -101,6 +105,7 @@ ENTRY(__high_start)
 .L_ap_cet_done:
 #endif /* CONFIG_XEN_SHSTK || CONFIG_XEN_IBT */
 
+        mov     %rbx, %rdi
         tailcall start_secondary
 
 .L_bsp:
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index a3895dafa267..39ffd356dbbc 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -222,8 +222,6 @@ static void smp_callin(void)
         cpu_relax();
 }
 
-static int booting_cpu;
-
 /* CPUs for which sibling maps can be computed. */
 static cpumask_t cpu_sibling_setup_map;
 
@@ -311,15 +309,14 @@ static void set_cpu_sibling_map(unsigned int cpu)
     }
 }
 
-void start_secondary(void *unused)
+void start_secondary(unsigned int cpu)
 {
     struct cpu_info *info = get_cpu_info();
 
     /*
-     * Dont put anything before smp_callin(), SMP booting is so fragile that we
+     * Don't put anything before smp_callin(), SMP booting is so fragile that we
      * want to limit the things done here to the most necessary things.
      */
-    unsigned int cpu = booting_cpu;
 
     /* Critical region without IDT or TSS.  Any fault is deadly! */
 
@@ -346,9 +343,9 @@ void start_secondary(void *unused)
      */
     spin_debug_disable();
 
-    get_cpu_info()->use_pv_cr3 = false;
-    get_cpu_info()->xen_cr3 = 0;
-    get_cpu_info()->pv_cr3 = 0;
+    info->use_pv_cr3 = false;
+    info->xen_cr3 = 0;
+    info->pv_cr3 = 0;
 
     /*
      * BUG_ON() used in load_system_tables() and later code may end up calling
@@ -575,8 +572,6 @@ static int do_boot_cpu(int apicid, int cpu)
      */
     mtrr_save_state();
 
-    booting_cpu = cpu;
-
     start_eip = bootsym_phys(trampoline_realmode_entry);
 
     /* start_eip needs be page aligned, and below the 1M boundary. */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 18:06:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 18:06:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633163.987801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xnP-0006a3-RC; Tue, 14 Nov 2023 18:05:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633163.987801; Tue, 14 Nov 2023 18: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 1r2xnP-0006Zw-Ny; Tue, 14 Nov 2023 18:05:55 +0000
Received: by outflank-mailman (input) for mailman id 633163;
 Tue, 14 Nov 2023 18: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYn-0004mK-JK
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:49 +0000
Received: from 6.mo582.mail-out.ovh.net (6.mo582.mail-out.ovh.net
 [87.98.177.69]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 573bac9d-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:47 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.146.50])
 by mo582.mail-out.ovh.net (Postfix) with ESMTP id EF2D528E19
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:46 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 7DE941FE62;
 Tue, 14 Nov 2023 17:50:46 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id GH/UG3azU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 573bac9d-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G005f46dfe05-a74b-45be-a533-e024b49e26a8,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 8/9] x86/smp: make cpu_state per-CPU
Date: Tue, 14 Nov 2023 18:50:12 +0100
Message-ID: <52083114d4cbbc75f021e8c61763ad0e166cf05b.1699982111.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12931523381681564016
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepgeenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheekvddpmhhouggvpehsmhhtphhouhht

This will be used for parallel AP bring-up.

CPU_STATE_INIT changed direction. It was previously set by BSP and never
consumed by AP. Now it signals that AP got through assembly part of
initialization and waits for BSP to call notifiers that set up data
structures required for further initialization.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/include/asm/cpufeature.h |  1 +
 xen/arch/x86/smpboot.c                | 80 ++++++++++++++++-----------
 2 files changed, 49 insertions(+), 32 deletions(-)

diff --git a/xen/arch/x86/include/asm/cpufeature.h b/xen/arch/x86/include/asm/cpufeature.h
index ff0e18864cc7..1831b5fb368f 100644
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -38,6 +38,7 @@ struct cpuinfo_x86 {
     unsigned int cpu_core_id;          /* core ID of each logical CPU */
     unsigned int compute_unit_id;      /* AMD compute unit ID of each logical CPU */
     void *stack_base;
+    unsigned int cpu_state;
     unsigned short x86_clflush_size;
 } __cacheline_aligned;
 
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 39ffd356dbbc..cbea2d45f70d 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -65,15 +65,18 @@ struct cpuinfo_x86 cpu_data[NR_CPUS] =
         { [0 ... NR_CPUS-1] .apicid = BAD_APICID };
 
 static int cpu_error;
-static enum cpu_state {
+enum cpu_state {
     CPU_STATE_DYING,    /* slave -> master: I am dying */
     CPU_STATE_DEAD,     /* slave -> master: I am completely dead */
-    CPU_STATE_INIT,     /* master -> slave: Early bringup phase 1 */
-    CPU_STATE_CALLOUT,  /* master -> slave: Early bringup phase 2 */
+    CPU_STATE_INIT,     /* slave -> master: Early bringup phase 1 completed */
+    CPU_STATE_CALLOUT,  /* master -> slave: Start early bringup phase 2 */
     CPU_STATE_CALLIN,   /* slave -> master: Completed phase 2 */
     CPU_STATE_ONLINE    /* master -> slave: Go fully online now. */
-} cpu_state;
-#define set_cpu_state(state) do { smp_mb(); cpu_state = (state); } while (0)
+};
+#define set_cpu_state(cpu, state) do { \
+    smp_mb(); \
+    cpu_data[cpu].cpu_state = (state); \
+} while (0)
 
 void initialize_cpu_data(unsigned int cpu)
 {
@@ -168,16 +171,7 @@ static void synchronize_tsc_slave(unsigned int slave)
 static void smp_callin(void)
 {
     unsigned int cpu = smp_processor_id();
-    int i, rc;
-
-    /* Wait 2s total for startup. */
-    Dprintk("Waiting for CALLOUT.\n");
-    for ( i = 0; cpu_state != CPU_STATE_CALLOUT; i++ )
-    {
-        BUG_ON(i >= 200);
-        cpu_relax();
-        mdelay(10);
-    }
+    int rc;
 
     /*
      * The boot CPU has finished the init stage and is spinning on cpu_state
@@ -213,12 +207,12 @@ static void smp_callin(void)
     }
 
     /* Allow the master to continue. */
-    set_cpu_state(CPU_STATE_CALLIN);
+    set_cpu_state(cpu, CPU_STATE_CALLIN);
 
     synchronize_tsc_slave(cpu);
 
     /* And wait for our final Ack. */
-    while ( cpu_state != CPU_STATE_ONLINE )
+    while ( cpu_data[cpu].cpu_state != CPU_STATE_ONLINE )
         cpu_relax();
 }
 
@@ -313,6 +307,9 @@ void start_secondary(unsigned int cpu)
 {
     struct cpu_info *info = get_cpu_info();
 
+    /* Tell BSP that we are awake. */
+    set_cpu_state(cpu, CPU_STATE_INIT);
+
     /*
      * Don't put anything before smp_callin(), SMP booting is so fragile that we
      * want to limit the things done here to the most necessary things.
@@ -320,6 +317,10 @@ void start_secondary(unsigned int cpu)
 
     /* Critical region without IDT or TSS.  Any fault is deadly! */
 
+    /* Wait until data set up by CPU_UP_PREPARE notifiers is ready. */
+    while ( cpu_data[cpu].cpu_state != CPU_STATE_CALLOUT )
+        cpu_relax();
+
     set_current(idle_vcpu[cpu]);
     this_cpu(curr_vcpu) = idle_vcpu[cpu];
     rdmsrl(MSR_EFER, this_cpu(efer));
@@ -585,26 +586,35 @@ static int do_boot_cpu(int apicid, int cpu)
 
     /* This grunge runs the startup process for the targeted processor. */
 
-    set_cpu_state(CPU_STATE_INIT);
-
     /* Starting actual IPI sequence... */
     boot_error = wakeup_secondary_cpu(apicid, start_eip);
 
     if ( !boot_error )
     {
-        /* Allow AP to start initializing. */
-        set_cpu_state(CPU_STATE_CALLOUT);
-        Dprintk("After Callout %d.\n", cpu);
-
-        /* Wait 5s total for a response. */
-        for ( timeout = 0; timeout < 50000; timeout++ )
+        /* Wait 2s total for a response. */
+        for ( timeout = 0; timeout < 20000; timeout++ )
         {
-            if ( cpu_state != CPU_STATE_CALLOUT )
+            if ( cpu_data[cpu].cpu_state == CPU_STATE_INIT )
                 break;
             udelay(100);
         }
 
-        if ( cpu_state == CPU_STATE_CALLIN )
+        if ( cpu_data[cpu].cpu_state == CPU_STATE_INIT )
+        {
+            /* Allow AP to start initializing. */
+            set_cpu_state(cpu, CPU_STATE_CALLOUT);
+            Dprintk("After Callout %d.\n", cpu);
+
+            /* Wait 5s total for a response. */
+            for ( timeout = 0; timeout < 500000; timeout++ )
+            {
+                if ( cpu_data[cpu].cpu_state != CPU_STATE_CALLOUT )
+                    break;
+                udelay(10);
+            }
+        }
+
+        if ( cpu_data[cpu].cpu_state == CPU_STATE_CALLIN )
         {
             /* number CPUs logically, starting from 1 (BSP is 0) */
             Dprintk("OK.\n");
@@ -612,7 +622,7 @@ static int do_boot_cpu(int apicid, int cpu)
             synchronize_tsc_master(cpu);
             Dprintk("CPU has booted.\n");
         }
-        else if ( cpu_state == CPU_STATE_DEAD )
+        else if ( cpu_data[cpu].cpu_state == CPU_STATE_DEAD )
         {
             smp_rmb();
             rc = cpu_error;
@@ -683,7 +693,7 @@ unsigned long alloc_stub_page(unsigned int cpu, unsigned long *mfn)
 void cpu_exit_clear(unsigned int cpu)
 {
     cpu_uninit(cpu);
-    set_cpu_state(CPU_STATE_DEAD);
+    set_cpu_state(cpu, CPU_STATE_DEAD);
 }
 
 static int clone_mapping(const void *ptr, root_pgentry_t *rpt)
@@ -1161,6 +1171,12 @@ void __init smp_prepare_cpus(void)
     cpu_data[0].stack_base = (void *)
              ((unsigned long)stack_start & ~(STACK_SIZE - 1));
 
+    /* Set state as CALLOUT so APs won't change it in initialize_cpu_data() */
+    boot_cpu_data.cpu_state = CPU_STATE_CALLOUT;
+
+    /* Not really used anywhere, but set it just in case. */
+    set_cpu_state(0, CPU_STATE_ONLINE);
+
     set_nr_sockets();
 
     socket_cpumask = xzalloc_array(cpumask_t *, nr_sockets);
@@ -1267,7 +1283,7 @@ void __cpu_disable(void)
 {
     int cpu = smp_processor_id();
 
-    set_cpu_state(CPU_STATE_DYING);
+    set_cpu_state(cpu, CPU_STATE_DYING);
 
     local_irq_disable();
     clear_local_APIC();
@@ -1292,7 +1308,7 @@ void __cpu_die(unsigned int cpu)
     unsigned int i = 0;
     enum cpu_state seen_state;
 
-    while ( (seen_state = cpu_state) != CPU_STATE_DEAD )
+    while ( (seen_state = cpu_data[cpu].cpu_state) != CPU_STATE_DEAD )
     {
         BUG_ON(seen_state != CPU_STATE_DYING);
         mdelay(100);
@@ -1393,7 +1409,7 @@ int __cpu_up(unsigned int cpu)
 
     time_latch_stamps();
 
-    set_cpu_state(CPU_STATE_ONLINE);
+    set_cpu_state(cpu, CPU_STATE_ONLINE);
     while ( !cpu_online(cpu) )
     {
         cpu_relax();
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 18:08:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 18:08:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633170.987810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xpa-0007sZ-6n; Tue, 14 Nov 2023 18:08:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633170.987810; Tue, 14 Nov 2023 18:08: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 1r2xpa-0007sS-41; Tue, 14 Nov 2023 18:08:10 +0000
Received: by outflank-mailman (input) for mailman id 633170;
 Tue, 14 Nov 2023 18:08: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2xYo-0004mK-JY
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 17:50:50 +0000
Received: from 9.mo575.mail-out.ovh.net (9.mo575.mail-out.ovh.net
 [46.105.78.111]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 583befc2-8316-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 18:50:49 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.138.246])
 by mo575.mail-out.ovh.net (Postfix) with ESMTP id ABD9329246
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 17:50:48 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-x5j2z (unknown [10.110.115.90])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 3D13F1FD16;
 Tue, 14 Nov 2023 17:50:48 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.103])
 by ghost-submission-6684bf9d7b-x5j2z with ESMTPSA
 id aHObC3izU2V/lwcATVRwWg
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 17:50: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: 583befc2-8316-11ee-98db-6d05b1d4d9a1
Authentication-Results:garm.ovh; auth=pass (GARM-103G005909cbe0d-2db8-4cee-a3fc-f8a2f45a27b0,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Krystian Hebel <krystian.hebel@3mdeb.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 10/10] x86/smp: start APs in parallel during boot
Date: Tue, 14 Nov 2023 18:50:15 +0100
Message-ID: <77c9199eabf3a30ebcf89356b2dd35abd611a3a9.1699981248.git.krystian.hebel@3mdeb.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1699981248.git.krystian.hebel@3mdeb.com>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Ovh-Tracer-Id: 12932086331639900528
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgudegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofgjfhgggfestdekredtredttdenucfhrhhomhepmfhrhihsthhirghnucfjvggsvghluceokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqeenucggtffrrghtthgvrhhnpeevtdevieehieeiveekvefhlefftdfhteefueelhfdvhedtjeegkedugfefvdekffenucfkphepuddvjedrtddrtddruddpvddufedrudelvddrjeejrddvgeelpdefjedrheelrddugedvrddutdefnecuvehluhhsthgvrhfuihiivgepleenucfrrghrrghmpehinhgvthepuddvjedrtddrtddruddpmhgrihhlfhhrohhmpeeokhhrhihsthhirghnrdhhvggsvghlseefmhguvggsrdgtohhmqedpnhgspghrtghpthhtohepuddprhgtphhtthhopeigvghnqdguvghvvghlsehlihhsthhsrdigvghnphhrohhjvggtthdrohhrghdpoffvtefjohhsthepmhhoheejhedpmhhouggvpehsmhhtphhouhht

Multiple delays are required when sending IPIs and waiting for
responses. During boot, 4 such IPIs were sent per each AP. With this
change, only one set of broadcast IPIs is sent. This reduces boot time,
especially for platforms with large number of cores.

Single CPU initialization is still possible, it is used for hotplug.

During wakeup from S3 APs are started one by one. It should be possible
to enable parallel execution there as well, but I don't have a way of
properly testing it as of now.

Signed-off-by: Krystian Hebel <krystian.hebel@3mdeb.com>
---
 xen/arch/x86/include/asm/smp.h |  1 +
 xen/arch/x86/setup.c           |  2 +
 xen/arch/x86/smpboot.c         | 68 ++++++++++++++++++++++++----------
 3 files changed, 51 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/include/asm/smp.h b/xen/arch/x86/include/asm/smp.h
index 98739028a6ed..6ca0158a368d 100644
--- a/xen/arch/x86/include/asm/smp.h
+++ b/xen/arch/x86/include/asm/smp.h
@@ -31,6 +31,7 @@ DECLARE_PER_CPU(cpumask_var_t, send_ipi_cpumask);
 extern bool park_offline_cpus;
 
 void smp_send_nmi_allbutself(void);
+void smp_send_init_sipi_sipi_allbutself(void);
 
 void send_IPI_mask(const cpumask_t *, int vector);
 void send_IPI_self(int vector);
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index b2c0679725ea..42a9067b81eb 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1963,6 +1963,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
                 cpu_data[i].stack_base = cpu_alloc_stack(i);
         }
 
+        smp_send_init_sipi_sipi_allbutself();
+
         for_each_present_cpu ( i )
         {
             if ( (park_offline_cpus || num_online_cpus() < max_cpus) &&
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index cbea2d45f70d..e9a7f78a5a6f 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -425,7 +425,7 @@ void start_secondary(unsigned int cpu)
 
 static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
 {
-    unsigned long send_status = 0, accept_status = 0;
+    unsigned long send_status = 0, accept_status = 0, sh = 0;
     int maxlvt, timeout, i;
 
     /*
@@ -445,6 +445,12 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
     if ( tboot_in_measured_env() && !tboot_wake_ap(phys_apicid, start_eip) )
         return 0;
 
+    /*
+     * Use destination shorthand for broadcasting IPIs during boot.
+     */
+    if ( phys_apicid == BAD_APICID )
+        sh = APIC_DEST_ALLBUT;
+
     /*
      * Be paranoid about clearing APIC errors.
      */
@@ -458,7 +464,7 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
         /*
          * Turn INIT on target chip via IPI
          */
-        apic_icr_write(APIC_INT_LEVELTRIG | APIC_INT_ASSERT | APIC_DM_INIT,
+        apic_icr_write(APIC_INT_LEVELTRIG | APIC_INT_ASSERT | APIC_DM_INIT | sh,
                        phys_apicid);
 
         if ( !x2apic_enabled )
@@ -475,7 +481,7 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
 
             Dprintk("Deasserting INIT.\n");
 
-            apic_icr_write(APIC_INT_LEVELTRIG | APIC_DM_INIT, phys_apicid);
+            apic_icr_write(APIC_INT_LEVELTRIG | APIC_DM_INIT | sh, phys_apicid);
 
             Dprintk("Waiting for send to finish...\n");
             timeout = 0;
@@ -512,7 +518,7 @@ static int wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip)
          * STARTUP IPI
          * Boot on the stack
          */
-        apic_icr_write(APIC_DM_STARTUP | (start_eip >> 12), phys_apicid);
+        apic_icr_write(APIC_DM_STARTUP | (start_eip >> 12) | sh, phys_apicid);
 
         if ( !x2apic_enabled )
         {
@@ -565,7 +571,6 @@ int alloc_cpu_id(void)
 static int do_boot_cpu(int apicid, int cpu)
 {
     int timeout, boot_error = 0, rc = 0;
-    unsigned long start_eip;
 
     /*
      * Save current MTRR state in case it was changed since early boot
@@ -573,21 +578,31 @@ static int do_boot_cpu(int apicid, int cpu)
      */
     mtrr_save_state();
 
-    start_eip = bootsym_phys(trampoline_realmode_entry);
+    /* Check if AP is already up. */
+    if ( cpu_data[cpu].cpu_state != CPU_STATE_INIT )
+    {
+        /* This grunge runs the startup process for the targeted processor. */
+        unsigned long start_eip;
+        start_eip = bootsym_phys(trampoline_realmode_entry);
 
-    /* start_eip needs be page aligned, and below the 1M boundary. */
-    if ( start_eip & ~0xff000 )
-        panic("AP trampoline %#lx not suitably positioned\n", start_eip);
+        /* start_eip needs be page aligned, and below the 1M boundary. */
+        if ( start_eip & ~0xff000 )
+            panic("AP trampoline %#lx not suitably positioned\n", start_eip);
 
-    /* So we see what's up   */
-    if ( opt_cpu_info )
-        printk("Booting processor %d/%d eip %lx\n",
-               cpu, apicid, start_eip);
+        /* So we see what's up   */
+        if ( opt_cpu_info )
+            printk("AP trampoline at %lx\n", start_eip);
 
-    /* This grunge runs the startup process for the targeted processor. */
+        /* mark "stuck" area as not stuck */
+        bootsym(trampoline_cpu_started) = 0;
+        smp_mb();
 
-    /* Starting actual IPI sequence... */
-    boot_error = wakeup_secondary_cpu(apicid, start_eip);
+        /* Starting actual IPI sequence... */
+        boot_error = wakeup_secondary_cpu(apicid, start_eip);
+    }
+
+    if ( opt_cpu_info )
+        printk("Booting processor %d/%d\n", cpu, apicid);
 
     if ( !boot_error )
     {
@@ -646,10 +661,6 @@ static int do_boot_cpu(int apicid, int cpu)
         rc = -EIO;
     }
 
-    /* mark "stuck" area as not stuck */
-    bootsym(trampoline_cpu_started) = 0;
-    smp_mb();
-
     return rc;
 }
 
@@ -1155,6 +1166,23 @@ static struct notifier_block cpu_smpboot_nfb = {
     .notifier_call = cpu_smpboot_callback
 };
 
+void smp_send_init_sipi_sipi_allbutself(void)
+{
+    unsigned long start_eip;
+    start_eip = bootsym_phys(trampoline_realmode_entry);
+
+    /* start_eip needs be page aligned, and below the 1M boundary. */
+    if ( start_eip & ~0xff000 )
+        panic("AP trampoline %#lx not suitably positioned\n", start_eip);
+
+    /* So we see what's up   */
+    if ( opt_cpu_info )
+        printk("Booting APs in parallel, eip %lx\n", start_eip);
+
+    /* Starting actual broadcast IPI sequence... */
+    wakeup_secondary_cpu(BAD_APICID, start_eip);
+}
+
 void __init smp_prepare_cpus(void)
 {
     register_cpu_notifier(&cpu_smpboot_nfb);
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 18:17:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 18:17:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633186.987820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2xy2-0003ul-0F; Tue, 14 Nov 2023 18:16:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633186.987820; Tue, 14 Nov 2023 18:16: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 1r2xy1-0003ue-Th; Tue, 14 Nov 2023 18:16:53 +0000
Received: by outflank-mailman (input) for mailman id 633186;
 Tue, 14 Nov 2023 18:16: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=dDFb=G3=epam.com=prvs=5682ba6769=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r2xy1-0003tL-43
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 18:16: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 fa727cff-8319-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 19:16:50 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AEIEJxW003590; Tue, 14 Nov 2023 18:16:46 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2050.outbound.protection.outlook.com [104.47.12.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ubpk9ccaw-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Nov 2023 18:16:46 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by DBBPR03MB7017.eurprd03.prod.outlook.com (2603:10a6:10:201::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Tue, 14 Nov
 2023 18:16:42 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 18:16: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: fa727cff-8319-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cvtQdpJeembNOVEtjDMbfSuftZFXoTfhdxwLZH/C9ZW4+jTRBlRkVaNmnNmcLkce33Nuc1eQXilBVJ8/dMXL0lTuRmF4PWk4MeUg+knWtrRvyrwU3D/D7358pti1X19YsA6yKdwM5EAktHo0l8FO7lOEuJW/UoaDNgbfQDrWol48DM2GCC3CibPDn4fIaot9zcsIn24RjWzjKCxSUQ6CMs7PIkWRgUNNyQmG0Tzo/S4fW2yu0c1Z9u2WaEujX7HPIKPG5vHewNhzeeiiy14v9+La4wfYlPj6jU82sHBs0sIGfYfNGawBnLAyoFj+2MlgfPRykE39eYFX1f7FujfWDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=snhrVvvN4n1+9E1UVn5rS3vpAdArREM6gOElex3dLIg=;
 b=gSqgqnlB4bMRw53CI8tvwHigAbLSMjICxQsn4KIzQrGbrase1Qu6uWZX2k+Mb2sG34wyC9zhZ5RUuCcZOw8ZjzLtZy0leK7Nx6Mhf+Z0zjtWkNlmQkmNumh4m2qGAZx4/CvAMqZwdusSDCWicVD5k7w2ClE1zhwe7OkcKuowtbWU6deuXlE9cJhW6Fjgeggrz8WvIyL9qiMnfsReXpTUs6EXDRK/s8Pcd5rh1YKeO6xPzdieSe5mvPO7YUgfMuLcW6p0FEScjR6iZPJMXxRBVXQ7XjBqrSSzWgpWONlZ1aDWSKRQNXLQPTFMo3W097+1aVPHsRunSQzLpkg0oFPDlw==
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=snhrVvvN4n1+9E1UVn5rS3vpAdArREM6gOElex3dLIg=;
 b=gW4QeQ32kf8GRi1RrzFQ6X6qQA4QYVVdRkfBqnVpdm+m6LmR8GQ2psC1FuzRNBjy3okQGcJ/KR4bMSDpmmum6ikVXpOGJG4gv4o859AgYsTUQikgskHg7amIxRTcY9fJaiitLQQIvDTI3xjiAyd8HeTkFFMCIU1hAAxqfI3iHNULy4Mrv/ZL/jjQDH7u5eomMy2XuO4E6HSAqvKDRS61LYwbzuvGg1aQxxjznky7Pyk49BP5j/JOacBVJOOOQyYCa1kbBJ1MGxWExcwZPA5SrsFFm/BlG2efBmSwAmhieAgkpyn3jCRC/yo/05a/IKrg6k65P91bG7+Ps1MQOJrHvg==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 7/7] xen/events: remove some info_for_irq() calls in pirq
 handling
Thread-Topic: [PATCH 7/7] xen/events: remove some info_for_irq() calls in pirq
 handling
Thread-Index: AQHZ//oeBwkqjiPvKEql1DMh00sxAbB6TXqA
Date: Tue, 14 Nov 2023 18:16:41 +0000
Message-ID: <1a62fc9a-7bd2-4fed-a690-0a12f2724044@epam.com>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-8-jgross@suse.com>
In-Reply-To: <20231016062831.20630-8-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-traffictypediagnostic: DB8PR03MB6108:EE_|DBBPR03MB7017:EE_
x-ms-office365-filtering-correlation-id: a2062262-b042-49bd-bebd-08dbe53dda33
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 aZ4vxKZsTfc1i4esPGAbu+/6RS9Umd0Cvxg6ZTJCootQzy0CpllMLN3WEPvqXlq8z90XiKZOu44ITP5+/Y/U8RFJvmLMH/eyNZtzfaIS9Acyupu4kzMb2mISJrwHPxdWnNgkXEnpZtH0CzxNTUGrT9SrIurf54DG/qRcNZ2kyGZIGaxePR0EsJ5PhejrvryS3XBWsoh6+SO2B2GLnJayJrQRSIQd3NmvQxX/AOhyh2xCuafYzO1fGhe7VwgHA+aWzc7a4FyvrTmlhV6TJwv8/00aksuVpla4EVqudKEadvUuLf+0d6EsuLpFU0nt1LOIu4jU2XNe1DZ9FrAiQPmXPl6ZOQqsFrCakzgFhwfLmk5n0RPCCNgabmpme6JAcoJKO3akj/sDhUNL37+sZSJ3CV/I2oQMQng+AJpHzNwkKcXFqNyAcJ97Khk7DX5Eu8MKxjeUpX/B975cwvfY8j/TQx/cic4NsolO8YPCjXOX7nPqhlEEU7CmU59LJOPGIv0BBYUVPMjwtQ2P4muLxrijV4E4+TOivyHz9S/XNB7dCHqzDp7UtU/jsUQPwKx5WS0MmYeg26PSvbuXgEY+6Yedpus7fAQxxCqiTFVoPsynZ1HKcht1kV/epiQMCRXgyLjnOQyOTtdCGf8ckFD66EWe7g==
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:(13230031)(346002)(39860400002)(136003)(396003)(366004)(376002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(26005)(122000001)(38100700002)(86362001)(5660300002)(38070700009)(2616005)(31686004)(6512007)(6506007)(53546011)(31696002)(478600001)(71200400001)(6486002)(36756003)(66946007)(316002)(76116006)(110136005)(54906003)(66446008)(66556008)(64756008)(91956017)(66476007)(2906002)(8676002)(8936002)(4326008)(41300700001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?azJmekl0bCtqOTltQ2czczdNZzJyWXNDL3JGV2VmTVNwem5nZ0wrMGVFelZn?=
 =?utf-8?B?L205RGdUNnRIaVdWbzl2Q1h3T2FjTFJnL3p3bzNHTXVpWXFpd3V0dS90QkJx?=
 =?utf-8?B?NmdtRFZua2VtOHpjbXpoZWZjNlVFcGxjaTZoeEcyVGRoVHIzZEgyVndqS1I1?=
 =?utf-8?B?ZzFWOHdtVFZqSThKeWh6ekpYZ004NGp6T2lhb0Myak93bHc5bkpQaHc4Smdl?=
 =?utf-8?B?UDdJRUtzaDl4dWNDV2dpWHZzVHdrYnEyMXJWdCtCZDFSejhWd1pBOFZKaXBX?=
 =?utf-8?B?NzNTTER3WVdyOEw4WUdlcnBuTjBkOS9JV2IxbHZHTnF0Qk1kMk4xUlI0cWMx?=
 =?utf-8?B?M2Y4L1ZxVFJnZ0p1dGY2UXAwTFZLWFpjaTVkVFlmc2UxK1JzR2NlYWhiVVY1?=
 =?utf-8?B?bUxpVXZWa0dabEZ5SUtaRUNMNmlOQ3VHdVdUSjdYdFgvY2JhblQxaVZPTkRp?=
 =?utf-8?B?VlV1TitpU2s4cGFzTFlFMlQvdGJubE41WG5maWVZZzlqeEZzTU1pYW82Z3J4?=
 =?utf-8?B?SmxnZ2FtWHlOeGVFL1RTR09hTUMvbDhzWktWWlp5czgzcmU1TmQvaGszZTEx?=
 =?utf-8?B?R3dSOVFtb1o0dVBhN2R0cXg2Y1poc0p3dEZVRmJxWXZWc01uZzN0RHQzWERW?=
 =?utf-8?B?SG52Wm8zQXVIZnFXSVBtOTRUeGNWYjdlTmlVODBPVEYxRmppb2QxQWswVGlo?=
 =?utf-8?B?WER4UUM0d2JwZHBhK3djYzBoSEJxcVZFMFJoQnR3dktNUWVtdm9uVnRBSzVs?=
 =?utf-8?B?bVlISUROZ2dGWTdaenBBbzdiTG9mOWdUUEhKQytKb1lSSHlYQWw0OEpwTDY2?=
 =?utf-8?B?L1U2ZEFENHFFWlF5UEoyOEFDWG80MS83cGtUWjRVOHBYQnRWZklLb1dXUlZw?=
 =?utf-8?B?UWQ1WW1Kay9LQWlWTU83ckdMUEhWMjJZWngveS9xMGVGKyt1allhS2M1Mytr?=
 =?utf-8?B?L3FIdXAvejFZc2N3bVZrYTQ2NmpOSW9DY09xV2JNalU3L1p0YjFiZGM2NzM4?=
 =?utf-8?B?THV1RklhV2loaXlZeHJoR1lRNmwxVUw4RVdCTDNZWWxWWFBkUWdaRWpCbk5N?=
 =?utf-8?B?enlOc0RMYVBXYjJhSU1XbG1YaG9rTXQ1ZWc2U1AvNGlQSXYvdExwczFGMWVU?=
 =?utf-8?B?ZkE0b2dtNlFBL0JPQzU1d2l5bCtyOUpVc1Z3VzJoSjZ3dWpub2NrQ2N2SHlQ?=
 =?utf-8?B?Snc3VmN5UE5hU2VKbGNvNmVGMWFmbjRrTy94VkpjRTFnS1o3UkcrY3VPRUFv?=
 =?utf-8?B?RUdyckRVdVkwSTI1eWlUaWtCK1paUWhuUnZKQUpkalF2cVdtWVAzRmpOY1hZ?=
 =?utf-8?B?L0M2Z1F6eURIcklSRjVUZjdpTDVQdXQxZC96RWd6NmxjY0YzeE90bGRzcWtI?=
 =?utf-8?B?ZFU1SDdVeXNObk8rUDdYQU03b0RLbUx2YWVrNzBhNGQvcnEzMU40MmZXVUxW?=
 =?utf-8?B?aHhRdVFJOTE3WndpZHhWWkMwWnNnSlB4QXVPMGsvdzV0bUdCK3JZRWF4enYr?=
 =?utf-8?B?ZGhyM0ptbEwyV1FsY0doeGR0RmFwdVVPQktHV0h2Y0JtSW9HbGtsMEdKdGsw?=
 =?utf-8?B?eGd3SnBENEJ6Q01SbWl1QUVnS2kxT3pjeTFaTlVDcWxGNkhDUVlkSW0ydWtj?=
 =?utf-8?B?WFhSNVhwaUd3Y3hGbFUzUWRQOXJLYkhGd283WEh3VUFISUNPRFh2ZmlUbEox?=
 =?utf-8?B?RmUzaVYzVUJ3UUtSS0dKL0RkTFVTODIxWTh2MFlRWEp0SVFUWVh4UWIzRzRD?=
 =?utf-8?B?S2ZJNS93bGs4SFVaWnY3clV4OCtrWVUyc01sQ3ltUGpwMEdIR0R1THlzZkc5?=
 =?utf-8?B?U1QvQnIxYTZaUkVJSTRZYlNtQTJtZmFubVR2V1RzUlBsN1VIbjNTRm5PcW5Q?=
 =?utf-8?B?ZGNqQjgyN2tGcjMxQU5IaDM0TTV5LzUzeGpFbVBhQ1phTnpYcW5xWFh3VmRH?=
 =?utf-8?B?aytQdG4rUTBmTkhQMCtudldvcnY3R2pkSi9pTW5NWlA4N1RUWUszbTJPWXlh?=
 =?utf-8?B?U1RwY040WG1xblFqZXloVkFJdlMzTjVhZWhlNmJvMFFhOU80WEZYbWFSMGxR?=
 =?utf-8?B?YXBOeHREdEpjSmlRYXVJV3M5bitJd1ZhVVFpMTgyMWRFdS9GS3dYT2tUNTJh?=
 =?utf-8?B?aVB5S09FMWxyN3lCRk0yeEl1djhyM2tWeG1ZaWRjVjFoSFo2Y3E1T2I5Q1k5?=
 =?utf-8?Q?ys5RY1x9JuxKyMhNhawR5s0=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <4AB0BD723298D946AF073692B4F0C8E0@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: a2062262-b042-49bd-bebd-08dbe53dda33
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2023 18:16:41.9334
 (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: 7vyoW0Svgq6q+96+BDFX76mB41PweLgdN+JwiqsnBGeJUDx1i/AwMBkznEkFDWCOOJBpnMbW+0crks8G5rteQ/d3m3wupbVXLbOqTFBim4A=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB7017
X-Proofpoint-GUID: LXECq6xt6FDF2AAMmHf6EEvuU3s9njCl
X-Proofpoint-ORIG-GUID: LXECq6xt6FDF2AAMmHf6EEvuU3s9njCl
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-14_18,2023-11-14_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 malwarescore=0 spamscore=0 priorityscore=1501 mlxscore=0 adultscore=0
 clxscore=1015 impostorscore=0 mlxlogscore=999 bulkscore=0 phishscore=0
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311140139

DQoNCk9uIDE2LjEwLjIzIDA5OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQpIZWxsbyBKdWVy
Z2VuDQoNCg0KPiBJbnN0ZWFkIG9mIHRoZSBJUlEgbnVtYmVyIHVzZXIgdGhlIHN0cnVjdCBpcnFf
aW5mbyBwb2ludGVyIGFzIHBhcmFtZXRlcg0KPiBpbiB0aGUgaW50ZXJuYWwgcGlycSByZWxhdGVk
IGZ1bmN0aW9ucy4gVGhpcyBhbGxvd3MgdG8gZHJvcCBzb21lIGNhbGxzDQo+IG9mIGluZm9fZm9y
X2lycSgpLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2Uu
Y29tPg0KDQoNCkxvb2tzIGdvb2QsIHNvDQoNClJldmlld2VkLWJ5OiBPbGVrc2FuZHIgVHlzaGNo
ZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQoNCg0KSnVzdCBvbmUgTklUIGJl
bG93IC4uLg0KDQoNCltzbmlwXQ0KDQo+ICAgDQo+IC1zdGF0aWMgdm9pZCBwaXJxX3F1ZXJ5X3Vu
bWFzayhpbnQgaXJxKQ0KPiArc3RhdGljIHZvaWQgcGlycV9xdWVyeV91bm1hc2soc3RydWN0IGly
cV9pbmZvICppbmZvKQ0KPiAgIHsNCj4gICAJc3RydWN0IHBoeXNkZXZfaXJxX3N0YXR1c19xdWVy
eSBpcnFfc3RhdHVzOw0KPiAtCXN0cnVjdCBpcnFfaW5mbyAqaW5mbyA9IGluZm9fZm9yX2lycShp
cnEpOw0KPiAgIA0KPiAgIAlCVUdfT04oaW5mby0+dHlwZSAhPSBJUlFUX1BJUlEpOw0KPiAgIA0K
PiAtCWlycV9zdGF0dXMuaXJxID0gcGlycV9mcm9tX2lycShpcnEpOw0KPiArCWlycV9zdGF0dXMu
aXJxID0gaW5mby0+dS5waXJxLnBpcnE7DQoNCg0KICAuLi4gd2hhdCBpcyB0aGUgcmVhc29uIHRv
IG9wZW4tY29kZSBwaXJxX2Zyb21faXJxKCkgaGVyZT8NCkZvciBleGFtcGxlLCBfX3N0YXJ0dXBf
cGlycSgpIGNvbnRpbnVlcyB0byB1c2UgaGVscGVyIGluIGFsbW9zdCB0aGUgc2FtZSANCnNpdHVh
dGlvbiAuLi4NCg0KDQpbc25pcF0NCg0KPiAgIA0KPiAtc3RhdGljIHVuc2lnbmVkIGludCBfX3N0
YXJ0dXBfcGlycSh1bnNpZ25lZCBpbnQgaXJxKQ0KPiArc3RhdGljIHVuc2lnbmVkIGludCBfX3N0
YXJ0dXBfcGlycShzdHJ1Y3QgaXJxX2luZm8gKmluZm8pDQo+ICAgew0KPiAgIAlzdHJ1Y3QgZXZ0
Y2huX2JpbmRfcGlycSBiaW5kX3BpcnE7DQo+IC0Jc3RydWN0IGlycV9pbmZvICppbmZvID0gaW5m
b19mb3JfaXJxKGlycSk7DQo+IC0JZXZ0Y2huX3BvcnRfdCBldnRjaG4gPSBldnRjaG5fZnJvbV9p
cnEoaXJxKTsNCj4gKwlldnRjaG5fcG9ydF90IGV2dGNobiA9IGluZm8tPmV2dGNobjsNCj4gICAJ
aW50IHJjOw0KPiAgIA0KPiAgIAlCVUdfT04oaW5mby0+dHlwZSAhPSBJUlFUX1BJUlEpOw0KPiBA
QCAtODUxLDIwICs4NjgsMjAgQEAgc3RhdGljIHVuc2lnbmVkIGludCBfX3N0YXJ0dXBfcGlycSh1
bnNpZ25lZCBpbnQgaXJxKQ0KPiAgIAlpZiAoVkFMSURfRVZUQ0hOKGV2dGNobikpDQo+ICAgCQln
b3RvIG91dDsNCj4gICANCj4gLQliaW5kX3BpcnEucGlycSA9IHBpcnFfZnJvbV9pcnEoaXJxKTsN
Cj4gKwliaW5kX3BpcnEucGlycSA9IHBpcnFfZnJvbV9pcnEoaW5mbyk7DQoNCiAgICAuLi4gaGVy
ZQ0KDQoNCg0KW3NuaXBd


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 18:29:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 18:29:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633198.987831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2yAY-0004JL-7f; Tue, 14 Nov 2023 18:29:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633198.987831; Tue, 14 Nov 2023 18:29: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 1r2yAY-0004JE-4i; Tue, 14 Nov 2023 18:29:50 +0000
Received: by outflank-mailman (input) for mailman id 633198;
 Tue, 14 Nov 2023 18:29: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=dDFb=G3=epam.com=prvs=5682ba6769=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r2yAW-0004Hq-MH
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 18:29:48 +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 c7ba7ca2-831b-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 19:29:44 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AEIDO07022248; Tue, 14 Nov 2023 18:29:40 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uc9hms5vy-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Nov 2023 18:29:40 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AS8PR03MB8369.eurprd03.prod.outlook.com (2603:10a6:20b:525::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Tue, 14 Nov
 2023 18:29:35 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 18:29: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: c7ba7ca2-831b-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nFej8r1JAB1nuZusKnUJD3j3NXuRL8Pb7lQHcsPMxsWV3DRJV2HPvYkB8i6mjwzKz+QoCn5Q/UmWQY4ktlUFcUqH+6bjPJm69NRBEZpsBIMPDtqdN5tbQngWEeSocs7GEcwbeWQuIxzmF0C14Z3I20yQuQvdy6N8Rskqb2MW0tnaMdROOxqNlmu4lHbfsY2Ib0jTo9OfSYIG+6JUt6+HZ3fQoz4L+lVYdiwScuMCnGHr4Iq1oPNuztIZv+8nGv+YQFMVPiTXK8Ygk4NvB4AGjsJvv0hBxkb2NL6eKECoapJNN9BJap2SsudExNKQDVnfX+XfSvCwQeJrIV0ywlANTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tYrY7iKxg4pfR/RJHl5azVRlccViE2bTWR8N7od3LjM=;
 b=fSsYGkWgD0rl+69r1C54XgpZio7aq6g3uPhC5f09Q+gsarj1fnJgxslS+Vw6rpHGKkAwXCifRKmMhOnpum3X57mgi01+Pw/gkRJn7+rSXephw4AfO6ExIW9LXzaXBV6OpnBqeiu0ESomNLczfLv82m/QexFafOhDMD0mCuENoAgEukySVB6DJDXcvlAlOqBi4XoxK5llWaGvN632KRxbKLFwmJ4Q3Xs6SmjREFuUXZRRovRIi9floRif2tOqfWHTw2MjIKXv5NB0faftbh+/Kqk45a5SrjBZnxAPi8TgFrTZZ8zY/GM4O0nVOT2+BsdPTdSgOnKx0IwzJf/jBXbEbg==
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=tYrY7iKxg4pfR/RJHl5azVRlccViE2bTWR8N7od3LjM=;
 b=k7mAITDH3rzaUbzkm2lLY1eieK58jJ6QOu558zFL5LDxEj2JqRsoRdrGB+S1l6g/ZbLnacR0bN7VpnirZwMT/d8laDmWphWXQQlWzcAuLjjU7I/oTP3aVI8YG+tZBRuP7jFkq3lJjo0ehY2x6vBgUsQhCiJWQVNoqE5bptm2RSvf+ttyGP39qLHwP1i9k6WfIvBByuSX3d+epqcivVvFYWbBxoCdk0BoLWsJ+Y59tkt/myy0is3WrBqWd9C2A3Am8LkoD8xjYs2RoKCfeY56K8oU+yy2V6FVCzvjN1+n+NxI+w/DmTa2QA+5s1+556cHG+LJ6AwaU3mkGPNZC3HYwg==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Juergen Gross <jgross@suse.com>,
        "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH 5/7] xen/events: drop xen_allocate_irqs_dynamic()
Thread-Topic: [PATCH 5/7] xen/events: drop xen_allocate_irqs_dynamic()
Thread-Index: AQHZ//oUYzlaLKzNvESKtKHtrAIYJrB5psyAgAAEXwCAAKXigA==
Date: Tue, 14 Nov 2023 18:29:35 +0000
Message-ID: <8ea75027-7e0f-4ea7-8bad-219d67ebae2f@epam.com>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-6-jgross@suse.com>
 <955c998f-4550-4945-8dab-c5901d833074@epam.com>
 <c29136e0-054f-449d-b9f6-8116e3eea0c6@suse.com>
In-Reply-To: <c29136e0-054f-449d-b9f6-8116e3eea0c6@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-traffictypediagnostic: DB8PR03MB6108:EE_|AS8PR03MB8369:EE_
x-ms-office365-filtering-correlation-id: d1712c73-10aa-4b9a-6d55-08dbe53fa773
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 bXJVBHuJ+KmRHsvd6wlq0UUY0l3lnbE6fNkv/3Wnve06d8WW+2Tc5qq6nE8tV+lr1sHPETBZHlrzH43mqxQmVq1p0nKmNlxh+2jsOlisO6tZeicPQHil/Gte2gFr6OV9cZswjz8h8gzMbaltdhaa4+fxw5PABDvjK3Wt2/PnXEm/Sk6SXnhIBkSUIAbJiHbJ1aVw/Jqaj3oOBnqJVjptRLCap3da1miMDWdrmlpSxaRM9xgy/oDodxp4NM9FVcBgdg+RQl+ZnKQRVPOAPh9IKHm/7GtSz7NKPeSd+i3Y3PrLp5IqPFPm6foXbJCfrZlslyxveT+fL8oCgW8KP6xeLfXF99r+DTltzZUxmPO2/QdZ+9t1uHYfmQIbemLF84KZhQbyW+3/UmSJgO42ugZYIXK/+8Zp8cZ/dYHBM237ZVH4ezmhejDd9ssO819mhiL3mrVLwBBrCvd8jAIzApRwlcwmAvJ0YOVBHcC+cDrOY1asfMflUxX6xcrA2dRrAGMdPmW114eKLpRKg+2bsuNt7mNpByWU0gfukdSeUIRE/fwIm0ySVkbvbKcFIKeHAJaI8DT76geq2emp46dthJDHSIWLVOSrUEXJ9eVjCxsXlGxbuC3mIFCPVL1vTCJsqc+cbenUht0WZrTWR0ikREen2w==
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:(13230031)(346002)(39860400002)(396003)(366004)(376002)(136003)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(26005)(122000001)(38100700002)(83380400001)(86362001)(5660300002)(2616005)(38070700009)(31686004)(6512007)(6506007)(53546011)(31696002)(478600001)(71200400001)(6486002)(36756003)(66946007)(316002)(76116006)(110136005)(54906003)(66446008)(66556008)(64756008)(91956017)(66476007)(8676002)(8936002)(4326008)(2906002)(41300700001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?TzVQZ0N3YThndnhBY3cvTU5nSnZJMG9jWndoRlJXTnd2dnI0bUVKc2U2Y1BQ?=
 =?utf-8?B?UVQ2ZmEzM3dYZjhvdDlxRmlUbkJvaUpEWWs4RU5HNTZsUG01c0Y3a2VJdHRm?=
 =?utf-8?B?M1hVdEpma0NYMjNYZ0xUNk9WZm9XSFZaM3YyNUI2MFhBN2JIMzRYVk85bU43?=
 =?utf-8?B?UmtiMGt2ZkUxaVVIaXlXUTJ6WkQ3TXN3ekpXVGlQWDJmY0dmZFZhS1Q4eWk2?=
 =?utf-8?B?b2s5c1A5SFUzWTV5ajZQNmc5WjRReTRYdklON1UrVmFwaHkvL2NFY2thMXIv?=
 =?utf-8?B?MFlwdmJCc3NybmlZdGgwS0lkeDA5MEs0VFRWQlZGYWhUUFdqOVpvc2sxQnJj?=
 =?utf-8?B?cGp6ZEVrMXNxeDdwUDhhOUVyRFovVlB6aTkvZmppQ0JxbEV1WTIrSXZrUitO?=
 =?utf-8?B?MkdNdzRWanBHK3VQTnBpUWhGR3F6cUFtYTFMT0hISy9kS2x6KzY3K2Q2SUJn?=
 =?utf-8?B?MHB1bnBNcUkzRno1bU93VmpHNmNGdStUSWRDMWYrUnU0UnZmUlppa2psRng4?=
 =?utf-8?B?YnpNSkFod08wWE9hb0pDVzI5bVFUODE3QlZBbHZWYVNKS2RWL3dPYzljYWtr?=
 =?utf-8?B?Vng0TkJWdmszOUI4RmNwMFFGbVlNeVdIWjMwWHhQZ1JlR1JyVFpLY1FLR2sv?=
 =?utf-8?B?RGtkZ1VCSVdvRkRzd01RdGF4aUxIbWZ0WG9TYjZaUldwSHQzM3cxWGVEeDk3?=
 =?utf-8?B?YnZ2SjVJSXJhNWV6VVFoYjY5NklGZC9sTUg0UFlDUnRxaDFVeGZGMHVoa1lp?=
 =?utf-8?B?UCswRmlWczMzRUo3ZUxKNFRIR0UwSVFKL0Z3WEREajZlODJtWDNFbTZoK1Zq?=
 =?utf-8?B?bk9SeGxKV0R6ZkNHakNrdVdSL1FZVGJtUzUxZ2RqcTIxWkp1YVRQRTFoSHRr?=
 =?utf-8?B?dFArcTUzeVZya0tkaGphUnNteS9tSFVOTFJSdGZ3MHpZZ1JzM3hoRFFqNHVy?=
 =?utf-8?B?SkxTb1kwa0w2NWdCYk4vZHQxb2ZpeUJIUmVBZFNlS2VNbVZnd0hkL0VkVmVp?=
 =?utf-8?B?TVJGcE5MZjExWkR6bDlPbVU0WEN1dTlQZXlnYVJ2aDZaaHhXS2lSZWhnU1NP?=
 =?utf-8?B?Rjc4SHZoa1RsZFNaSTJQWCtGZlRHTkhyM2V6aXBFWmpTdFU2d2VlZDlFc3U0?=
 =?utf-8?B?cFJaNmlVNjd4TENIUURURGNRcUxNcXplTTh4LzQzUllDTHIyTStjbFhkTnFQ?=
 =?utf-8?B?Z2svYTBLZTExZVN4ZlNtSWY1cWMxN01tWHdpWGtkMzEyemZ5U051YXdYTzFv?=
 =?utf-8?B?blJnOWR1OWpjUkp2RzJhZUVxaERLNXpwVjFlMkJMcHRSeG9ET3Vpc0trbDRj?=
 =?utf-8?B?RFdBbW9EZmFpS0kzYUtwOFJ1VVZrTlJHZG1NNkd0cUluQnAzdnNnU011TExT?=
 =?utf-8?B?M3FYTVJ3UkE0M3JJN3J3Z3B2eHhIeXhZSGtYMVEzNW1uRnNWdThhZ0lzaUZw?=
 =?utf-8?B?eDRqUFk4SjN4UDRuWG0rVWVuY05rQ0xYTUdzSVF1NnVMaXEzRnNHemtiUEox?=
 =?utf-8?B?OW1xeXVvNDRGVld6aExIblRLZEFLc0F6VWliY2NNYjB2a3pTb0JXN3hRRGlD?=
 =?utf-8?B?T2RrWU05aTd6elNRNldiUWVEazMrcHJsTDVSSmNvVGdzQXUxclMwS25RRnNy?=
 =?utf-8?B?Yi9pYkZkZzR5UVUwWGFqTEh5OERqNHBGZWVZQy9xN0FzKzdBYkNxdUNhalVS?=
 =?utf-8?B?T0RZcVdDd3RDT0M5cTFQaldoT2N0a004T2xSRUY5SFhYd29DajJIb05HTE1F?=
 =?utf-8?B?SVF4OXVKT0oxSGZMZFF0VW1xbk50RmxVaHV3cHd0dFVCYk8wMEY4Y1BEM3Zn?=
 =?utf-8?B?MzBDaVdpTmN2cEVQdkwwaFNnZ0pCRlBVRmFmS3RPMWtaZnRjMUNUYUFVTm4v?=
 =?utf-8?B?c2xOYkw3RVdaTytyREFZRWpObEhzTk9MbDJuRGtjOG5JVE1GZHNxTDdEdW81?=
 =?utf-8?B?dkl6TjhlNUdvelJkOVAzZENKa0RiUUVsaXpOckhNVHE2M2hucVI4UGpjeG5F?=
 =?utf-8?B?Tng2bGpQSFZxOUxwUzhKb1VEaUcxdG4zazBNZVNMcTJRMU1UdVVRelRtUzBp?=
 =?utf-8?B?NytQbzhFWnB6aXBpRDlySW9ETDd6RURyc2hwbWwyTnFYSmU3WGFpRWRpeFJy?=
 =?utf-8?B?N0x4RHVZdXc4N0dTNjFVY3psTC9yUUx4TzJyZzVOQUdxSm11RWRTc0YxZ3dQ?=
 =?utf-8?Q?PFPr+rk+XQ0JVrhfGOFNeGQ=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <30BC16396265ED4681A634B2574211F9@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: d1712c73-10aa-4b9a-6d55-08dbe53fa773
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2023 18:29:35.7960
 (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: osUeEyowPSRzr9gvjx6cnCjgMZjRSCfXZYfHBTNNqladZ8XYxu4VxjTV1dvpH5gqrJLaZcduMax4oJWmdJxJAHocY+mpiAixOiTxtIT5GFA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB8369
X-Proofpoint-ORIG-GUID: NjmB7ZQMQ5jZ6gjiC9R_pp4gQTKsL7bJ
X-Proofpoint-GUID: NjmB7ZQMQ5jZ6gjiC9R_pp4gQTKsL7bJ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-14_16,2023-11-14_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=981 spamscore=0
 priorityscore=1501 lowpriorityscore=0 malwarescore=0 mlxscore=0
 impostorscore=0 suspectscore=0 adultscore=0 clxscore=1015 bulkscore=0
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311140140

DQoNCk9uIDE0LjExLjIzIDEwOjM1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KDQoNCkhlbGxvIEp1
ZXJnZW4NCg0KDQo+IE9uIDE0LjExLjIzIDA5OjIwLCBPbGVrc2FuZHIgVHlzaGNoZW5rbyB3cm90
ZToNCj4+DQo+Pg0KPj4gT24gMTYuMTAuMjMgMDk6MjgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+
Pg0KPj4NCj4+IEhlbGxvIEp1ZXJnZW4NCj4+DQo+Pj4gSW5zdGVhZCBvZiBoYXZpbmcgYSBjb21t
b24gZnVuY3Rpb24gZm9yIGFsbG9jYXRpbmcgYSBzaW5nbGUgSVJRIG9yIGENCj4+PiBjb25zZWN1
dGl2ZSBudW1iZXIgb2YgSVJRcywgc3BsaXQgdXAgdGhlIGZ1bmN0aW9uYWxpdHkgaW50byB0aGUg
Y2FsbGVycw0KPj4+IG9mIHhlbl9hbGxvY2F0ZV9pcnFzX2R5bmFtaWMoKS4NCj4+Pg0KPj4+IFRo
aXMgYWxsb3dzIHRvIGhhbmRsZSBhbnkgYWxsb2NhdGlvbiBlcnJvciBpbiB4ZW5faXJxX2luaXQo
KSBncmFjZWZ1bGx5DQo+Pj4gaW5zdGVhZCBvZiBwYW5pY2luZyB0aGUgc3lzdGVtLiBMZXQgeGVu
X2lycV9pbml0KCkgcmV0dXJuIHRoZSBpcnFfaW5mbw0KPj4+IHBvaW50ZXIgb3IgTlVMTCBpbiBj
YXNlIG9mIGFuIGFsbG9jYXRpb24gZXJyb3IuDQo+Pj4NCj4+PiBBZGRpdGlvbmFsbHkgc2V0IHRo
ZSBJUlEgaW50byBpcnFfaW5mbyBhbHJlYWR5IGF0IGFsbG9jYXRpb24gdGltZSwgYXMNCj4+PiBv
dGhlcndpc2UgdGhlIElSUSB3b3VsZCBiZSAnMCcgKHdoaWNoIGlzIGEgdmFsaWQgSVJRIG51bWJl
cikgdW50aWwNCj4+PiBiZWluZyBzZXQuDQo+Pj4NCj4+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2Vu
IEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+Pj4gLS0tDQo+Pj4gwqDCoCBkcml2ZXJzL3hlbi9l
dmVudHMvZXZlbnRzX2Jhc2UuYyB8IDc0IA0KPj4+ICsrKysrKysrKysrKysrKysrKystLS0tLS0t
LS0tLS0tDQo+Pj4gwqDCoCAxIGZpbGUgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMzAgZGVs
ZXRpb25zKC0pDQo+Pj4NCj4+DQo+PiBbc25pcF0NCj4+DQo+Pj4gQEAgLTE3MjUsNiArMTczOCw3
IEBAIHZvaWQgcmViaW5kX2V2dGNobl9pcnEoZXZ0Y2huX3BvcnRfdCBldnRjaG4sIA0KPj4+IGlu
dCBpcnEpDQo+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHNvIHRoZXJlIHNob3VsZCBiZSBhIHByb3Bl
ciB0eXBlICovDQo+Pj4gwqDCoMKgwqDCoMKgIEJVR19PTihpbmZvLT50eXBlID09IElSUVRfVU5C
T1VORCk7DQo+Pj4gK8KgwqDCoCBpbmZvLT5pcnEgPSBpcnE7DQo+Pg0KPj4NCj4+IEkgZmFpbGVk
IHRvIHVuZGVyc3RhbmQgd2h5IHRoaXMgaXMgYWRkZWQgaGVyZS4gRG9lc24ndCBpcnEgcmVtYWlu
IHRoZQ0KPj4gc2FtZSwgYW5kIGluZm8tPmlycSByZW1haW5zIHZhbGlkPyBDb3VsZCB5b3UgcGxl
YXNlIGNsYXJpZnkuDQo+IA0KPiBUaGUgSVJRIHJlbWFpbnMgdGhlIHNhbWUsIGJ1dCB0aGUgZXZl
bnQgY2hhbm5lbCBjb3VsZCBjaGFuZ2UuDQo+IA0KPiBUaGlzIHNldHRpbmcgb2YgaW5mby0+aXJx
IGNvbXBlbnNhdGVzIGZvciB0aGUgcmVsYXRlZCByZW1vdmFsIGluDQo+IHhlbl9pcnFfaW5mb19j
b21tb25fc2V0dXAoKS4NCg0KDQpUaGFua3MgZm9yIHRoZSBjbGFyaWZpY2F0aW9uLCB5b3UgY2Fu
IGFkZCBteQ0KDQpSZXZpZXdlZC1ieTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90
eXNoY2hlbmtvQGVwYW0uY29tPg0KDQo+IA0KPj4NCj4+IE90aGVyIGNoYW5nZXMgbGd0bS4NCj4g
DQo+IA0KPiBKdWVyZ2VuDQo+IA==


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 18:33:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 18:33:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633200.987841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2yDv-0000H6-My; Tue, 14 Nov 2023 18:33:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633200.987841; Tue, 14 Nov 2023 18:33: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 1r2yDv-0000GT-JM; Tue, 14 Nov 2023 18:33:19 +0000
Received: by outflank-mailman (input) for mailman id 633200;
 Tue, 14 Nov 2023 18:33: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=5HBD=G3=3mdeb.com=krystian.hebel@srs-se1.protection.inumbo.net>)
 id 1r2yDu-0000F6-Hc
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 18:33:18 +0000
Received: from 7.mo575.mail-out.ovh.net (7.mo575.mail-out.ovh.net
 [46.105.63.230]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46bc3c18-831c-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 19:33:16 +0100 (CET)
Received: from director8.ghost.mail-out.ovh.net (unknown [10.109.146.20])
 by mo575.mail-out.ovh.net (Postfix) with ESMTP id 0EC4E28B30
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 18:33:16 +0000 (UTC)
Received: from ghost-submission-6684bf9d7b-v88qt (unknown [10.110.171.120])
 by director8.ghost.mail-out.ovh.net (Postfix) with ESMTPS id 930651FE05;
 Tue, 14 Nov 2023 18:33:15 +0000 (UTC)
Received: from 3mdeb.com ([37.59.142.110])
 by ghost-submission-6684bf9d7b-v88qt with ESMTPSA
 id GRazGmu9U2XKUgEAwO9vKQ
 (envelope-from <krystian.hebel@3mdeb.com>); Tue, 14 Nov 2023 18:33: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: 46bc3c18-831c-11ee-9b0e-b553b5be7939
Authentication-Results:garm.ovh; auth=pass (GARM-110S00498ef7124-85d0-44d9-b2fd-6468bedf7841,
                    1C6EC45AC3E1968723EBE40916FD99D0F8B07574) smtp.auth=krystian.hebel@3mdeb.com
X-OVh-ClientIp:213.192.77.249
Message-ID: <e7a7f25e-3b38-f683-334d-519db7b32f3f@3mdeb.com>
Date: Tue, 14 Nov 2023 19:33:14 +0100
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101
 Thunderbird/102.13.0
Subject: Re: [PATCH 01/10] x86/spec-ctrl: Remove conditional IRQs-on-ness for
 INT $0x80/0x82 paths
Content-Language: en-US
From: Krystian Hebel <krystian.hebel@3mdeb.com>
To: xen-devel@lists.xenproject.org
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=c3=a9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.1699981248.git.krystian.hebel@3mdeb.com>
 <a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e.1699981248.git.krystian.hebel@3mdeb.com>
In-Reply-To: <a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e.1699981248.git.krystian.hebel@3mdeb.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Ovh-Tracer-Id: 13649284571042654576
X-VR-SPAMSTATE: OK
X-VR-SPAMSCORE: -100
X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvkedrudeffedgvddvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhepkfffgggfuffhvfevfhgjtgfgsehtjeertddtfeejnecuhfhrohhmpefmrhihshhtihgrnhcujfgvsggvlhcuoehkrhihshhtihgrnhdrhhgvsggvlhesfehmuggvsgdrtghomheqnecuggftrfgrthhtvghrnhepgeeigeevleeuudffjeevvdevieevhfdvfeevheffjeduhfeljeejffeijeeuffffnecuffhomhgrihhnpeefmhguvggsrdgtohhmnecukfhppeduvdejrddtrddtrddupddvudefrdduledvrdejjedrvdegledpfeejrdehledrudegvddruddutdenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeduvdejrddtrddtrddupdhmrghilhhfrhhomhepoehkrhihshhtihgrnhdrhhgvsggvlhesfehmuggvsgdrtghomheqpdhnsggprhgtphhtthhopedupdhrtghpthhtohepgigvnhdquggvvhgvlheslhhishhtshdrgigvnhhprhhojhgvtghtrdhorhhgpdfovfetjfhoshhtpehmohehjeehpdhmohguvgepshhmthhpohhuth

Please ignore this series and review/reply to the other one
([XEN PATCH 0/9] x86: parallelize AP bring-up during boot) instead.
`git send-email` did what I asked it to do instead of what I wanted,
so I accidentally sent WIP version of patches.

Sorry for the noise.

-- 
Krystian Hebel
Firmware Engineer
https://3mdeb.com | @3mdeb_com



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 20:13:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 20:13:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633205.987850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2zmW-0002ak-Ll; Tue, 14 Nov 2023 20:13:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633205.987850; Tue, 14 Nov 2023 20: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 1r2zmW-0002ad-J8; Tue, 14 Nov 2023 20:13:08 +0000
Received: by outflank-mailman (input) for mailman id 633205;
 Tue, 14 Nov 2023 20:13:06 +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 1r2zmU-0002aV-Cu
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 20:13:06 +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 1r2zmS-0006fj-I5; Tue, 14 Nov 2023 20:13:04 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r2zmS-0002zc-Bx; Tue, 14 Nov 2023 20: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=Sqk5V+4oJqpprrMEolY+9CL2alOW27zmmnLGuOp8q6U=; b=RN0KlW60tJ0bVDvLtRLFICmdOY
	bs/Rfzm2eEjdHaaXhqxPGpCgIl7Ljc7+r1C8XJs+P777GmHSWlEDm0VCLwaRCnjxB2BjTjcv/wHbK
	KHH4QxZkh+cmsLPF9W/A+6bNwbhx/1nlRH+slli2Z8BVwvuONCyS+Tc+gVdt3jW3F9vo=;
Message-ID: <aeaf4e1a-6a6e-4af1-bd2e-f68ec3f12cd6@xen.org>
Date: Tue, 14 Nov 2023 20:13:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 0/9] x86: parallelize AP bring-up during boot
Content-Language: en-GB
To: Krystian Hebel <krystian.hebel@3mdeb.com>, xen-devel@lists.xenproject.org
Cc: 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>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1699982111.git.krystian.hebel@3mdeb.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <cover.1699982111.git.krystian.hebel@3mdeb.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Krystian,

Thanks you for sending the series! Just posting some extra data point.

On 14/11/2023 17:49, Krystian Hebel wrote:
> Patch series available on this branch:
> https://github.com/TrenchBoot/xen/tree/smp_cleanup_upstreaming
> 
> This series makes AP bring-up parallel on x86. This reduces number of
> IPIs (and more importantly, delays between them) required to start all
> logical processors significantly.
> 
> In order to make it possible, some state variables that were global
> had to be made per-CPU. In most cases, accesses to those variables can
> be performed through helper macros, some of them existed before in a
> different form.
> 
> In addition to work required for parallel initialization, I've fixed
> issues in error path around `machine_restart()` that were discovered
> during implementation and testing.
> 
> CPU hotplug should not be affected, but I had no way of testing it.
> During wakeup from S3 APs are started one by one. It should be possible
> to enable parallel execution there as well, but I don't have a way of
> testing it as of now.
> 
> To measure the improvement, I added output lines (identical for before
> and after changes so there is no impact of printing over serial) just
> above and below `if ( !pv_shim )` block. `console_timestamps=raw` was
> used to get as accurate timestamp as possible, and average over 3 boots
> was taken into account for each measurement. The final improvement was
> calculated as (1 - after/before) * 100%, rounded to 0.01%. These are
> the results:
> 
> * Dell OptiPlex 9010 with Intel(R) Core(TM) i5-3470 CPU @ 3.20GHz
>    (4 cores, 4 threads): 48.83%
> * MSI PRO Z790-P with 13th Gen Intel(R) Core(TM) i5-13600K (14 cores,
>    20 threads, 6P+8E) `smt=on`: 36.16%
> * MSI PRO Z790-P with 13th Gen Intel(R) Core(TM) i5-13600K (14 cores,
>    20 threads, 6P+8E) `smt=off`: 0.25% (parking takes a lot of additional
>    time)
> * HP t630 Thin Client with AMD Embedded G-Series GX-420GI Radeon R7E
>    (4 cores, 4 threads): 68.00%

Your series reminded me some optimization we did at AWS in the SMP boot 
code. This hasn't yet been sent upstrema so I thought I would compare to 
your series to see if there are any differences.

Instead of adding support for parallel SMP boot, we decided to optimize 
some of the wait call (see diff below).

This was tested on a nested environment (KVM/QEMU) on c5 metal with 
x2apic disabled. The numbers are for bringing-up 95 CPUs:

   * Currently: 2s
   * With AWS change only: 300ms
   * With your change only: 100ms

So your approach is superior :). I see you are dropping the loop in 
smp_callin(). So the first hunk in the below diff is not necessary 
anymore. The second hunk probably still makes sense for CPU hotplug (and 
maybe S3 bring-up) even though it would only save 10ms. I will look to 
send the patch.

Diff:

diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 3a1a659082c6..86fd5500e1ea 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -172,9 +172,9 @@ static void smp_callin(void)
      Dprintk("Waiting for CALLOUT.\n");
      for ( i = 0; cpu_state != CPU_STATE_CALLOUT; i++ )
      {
-        BUG_ON(i >= 200);
+        BUG_ON(i >= 200000);
          cpu_relax();
-        mdelay(10);
+        udelay(10);
      }

      /*
@@ -430,6 +430,10 @@ static int wakeup_secondary_cpu(int phys_apicid, 
unsigned long start_eip)
       * Refer to AMD APM Vol2 15.27 "Secure Startup with SKINIT".
       */
      bool send_INIT = ap_boot_method != AP_BOOT_SKINIT;
+    bool modern_cpu = ((boot_cpu_data.x86_vendor == X86_VENDOR_INTEL) &&
+                       (boot_cpu_data.x86 == 6)) ||
+                      ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) &&
+                       (boot_cpu_data.x86 >= 0xF));

      /*
       * Some versions of tboot might be able to handle the entire wake 
sequence
@@ -464,7 +468,15 @@ static int wakeup_secondary_cpu(int phys_apicid, 
unsigned long start_eip)
                  send_status = apic_read(APIC_ICR) & APIC_ICR_BUSY;
              } while ( send_status && (timeout++ < 1000) );

-            mdelay(10);
+            /*
+             * The Multiprocessor Specification 1.4 (1997) example code 
suggests
+             * that there should be a 10ms delay between the BSP 
asserting INIT
+             * and de-asserting INIT, when starting a remote processor.
+             * But that slows boot and resume on modern processors, 
which include
+             * many cores and don't require that delay.
+             */
+            if ( !modern_cpu )
+                mdelay(10);

              Dprintk("Deasserting INIT.\n");

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 20:26:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 20:26:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633208.987860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r2zzl-0008MK-R6; Tue, 14 Nov 2023 20:26:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633208.987860; Tue, 14 Nov 2023 20: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 1r2zzl-0008MD-OB; Tue, 14 Nov 2023 20:26:49 +0000
Received: by outflank-mailman (input) for mailman id 633208;
 Tue, 14 Nov 2023 20:26: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=krWi=G3=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r2zzk-0008Ks-LO
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 20:26:48 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 21b605b3-832c-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 21:26:47 +0100 (CET)
Received: from mg.gitlab.com (72.90.74.34.bc.googleusercontent.com
 [34.74.90.72]) by
 a99d7823030d with SMTP id 6553d805cf68fe8e97c1260c (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 14 Nov 2023 20:26:45 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 21b605b3-832c-11ee-98db-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1699993605; x=1700000805; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=kPeQsOhe4urRnRGDIsOO79GbhVd99Dm5f5ngjGaFzks=;
 b=Ku1fgxMCayImIONdOyiUHNXY7JS+F0n6rOFQYS9MSELRb4TlqspNN0SfrHziHomJ4mAVwfivwghlMzvv2pFSAFxsS8vXHlPHF7MgQLQaCn9PSsSulvPXrd1GQAe5UhW0z6yKt9c2HNOwM8KwtksV+iTIHCfmjRuUKke5rOhSJBA=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 14 Nov 2023 20:26:45 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6553d80525384_2ca04b0436ee@gitlab-sidekiq-catchall-v2-548c659f69-wtllv.mail>
Subject: xen | Failed pipeline for staging-4.17 | 28f44b60
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6553d8051a959_2ca04b043534";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1072370735
X-GitLab-Pipeline-Ref: staging-4.17
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6553d8051a959_2ca04b043534
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1072370735 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.17 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.17 )

Commit: 28f44b60 ( https://gitlab.com/xen-project/xen/-/commit/28f44b603fd86c233726bdc2a11b6325f102471a )
Commit Message: xen/grant: Fix build in PV_SHIM

There was a va...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )


Pipeline #1072370735 ( https://gitlab.com/xen-project/xen/-/pipelines/1072370735 ) triggered by Ganis ( https://gitlab.com/ganis )
had 4 failed jobs.

Job #5534997591 ( https://gitlab.com/xen-project/xen/-/jobs/5534997591/raw )

Stage: build
Name: ubuntu-focal-gcc-debug
Job #5534997608 ( https://gitlab.com/xen-project/xen/-/jobs/5534997608/raw )

Stage: build
Name: alpine-3.12-gcc-debug
Job #5534997597 ( https://gitlab.com/xen-project/xen/-/jobs/5534997597/raw )

Stage: build
Name: opensuse-leap-clang-debug
Job #5534997599 ( https://gitlab.com/xen-project/xen/-/jobs/5534997599/raw )

Stage: build
Name: opensuse-leap-gcc-debug

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6553d8051a959_2ca04b043534
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging-4.17 | 28f44b60</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1072370735 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.17" style=3D"color: #333333; text-decoration: none;">
staging-4.17
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/28f44b603fd86c2337=
26bdc2a11b6325f102471a" style=3D"color: #3777b0; text-decoration: none;">=

28f44b60
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/grant: Fix build in PV_SHIM

There was a va...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1072370735">#1072370735</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 4 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5534997591" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-focal-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5534997608" style=3D=
"color: #3777b0; text-decoration: none;">
alpine-3.12-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5534997597" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5534997599" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-gcc-debug
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6553d8051a959_2ca04b043534--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 20:48:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 20:48:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633247.987871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r30KY-0000k7-MK; Tue, 14 Nov 2023 20:48:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633247.987871; Tue, 14 Nov 2023 20:48: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 1r30KY-0000k0-Iz; Tue, 14 Nov 2023 20:48:18 +0000
Received: by outflank-mailman (input) for mailman id 633247;
 Tue, 14 Nov 2023 20:48: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 1r30KX-0000ju-LE
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 20:48: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 1r30KX-0007L2-2E; Tue, 14 Nov 2023 20:48:17 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r30KW-0004FB-Tb; Tue, 14 Nov 2023 20: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>
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=iVczwqYNLMGROfMjJPSCSJ5D7nJhk1Eeh8SgkKKAz/o=; b=cL0ix7CZbuK37BzyihkSbZ9Aii
	qDSTLapCgmUoEaZg5qrGHSclkgWvDAWzrapi/CMvc7KzsQYhP8bnY/quHf0oZE0Wnl+qIEyxAKOiJ
	Fs+NuFvnydhqIbZAG2TmHq5snlZCWmK0ZkeYDwuVzDpt62iNtB/3q7lsUNL0yQKWNops=;
Message-ID: <27ec5caf-78ce-4685-97ae-f2e150323f32@xen.org>
Date: Tue, 14 Nov 2023 20:48:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 25/29] tools/xenstored: map stubdom interface
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-26-jgross@suse.com>
 <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
 <3aacfaf1-5331-4e9c-99b3-b9c84af0de28@suse.com>
 <6062375b-ed94-46ba-a405-e3e7148ddc6f@xen.org>
 <e5d9e34c-da64-4386-b04c-d8bf2c171e07@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <e5d9e34c-da64-4386-b04c-d8bf2c171e07@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 14/11/2023 09:12, Juergen Gross wrote:
> On 14.11.23 09:56, Julien Grall wrote:
>> Hi,
>>
>> On 14/11/2023 06:33, Juergen Gross wrote:
>>> On 13.11.23 23:04, Julien Grall wrote:
>>>> Hi Juergen,
>>>>
>>>> On 10/11/2023 16:08, Juergen Gross wrote:
>>>>> When running as stubdom, map the stubdom's Xenstore ring page in order
>>>>> to support using the 9pfs frontend.
>>>>>
>>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>>> ---
>>>>>   tools/xenstored/core.c   |  2 ++
>>>>>   tools/xenstored/domain.c | 27 ++++++++++++++++++++++++++-
>>>>>   tools/xenstored/domain.h |  1 +
>>>>>   3 files changed, 29 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
>>>>> index b9ec50b34c..4a9d874f17 100644
>>>>> --- a/tools/xenstored/core.c
>>>>> +++ b/tools/xenstored/core.c
>>>>> @@ -2991,6 +2991,8 @@ int main(int argc, char *argv[])
>>>>>           lu_read_state();
>>>>>   #endif
>>>>> +    stubdom_init();
>>>>> +
>>>>>       check_store();
>>>>>       /* Get ready to listen to the tools. */
>>>>> diff --git a/tools/xenstored/domain.c b/tools/xenstored/domain.c
>>>>> index fa17f68618..162b87b460 100644
>>>>> --- a/tools/xenstored/domain.c
>>>>> +++ b/tools/xenstored/domain.c
>>>>> @@ -37,6 +37,10 @@
>>>>>   #include <xenctrl.h>
>>>>>   #include <xen/grant_table.h>
>>>>> +#ifdef __MINIOS__
>>>>> +#include <mini-os/xenbus.h>
>>>>> +#endif
>>>>> +
>>>>>   static xc_interface **xc_handle;
>>>>>   xengnttab_handle **xgt_handle;
>>>>>   static evtchn_port_t virq_port;
>>>>> @@ -500,6 +504,11 @@ static void *map_interface(domid_t domid)
>>>>>       if (domid == xenbus_master_domid())
>>>>>           return xenbus_map();
>>>>> +#ifdef __MINIOS__
>>>>> +    if (domid == stub_domid)
>>>>> +        return xenstore_buf;
>>>>> +#endif
>>>>> +
>>>>>       return xengnttab_map_grant_ref(*xgt_handle, domid,
>>>>>                          GNTTAB_RESERVED_XENSTORE,
>>>>>                          PROT_READ|PROT_WRITE);
>>>>> @@ -509,7 +518,7 @@ static void unmap_interface(domid_t domid, void 
>>>>> *interface)
>>>>>   {
>>>>>       if (domid == xenbus_master_domid())
>>>>>           unmap_xenbus(interface);
>>>>> -    else
>>>>> +    else if (domid != stub_domid)
>>>>>           xengnttab_unmap(*xgt_handle, interface, 1);
>>>>>   }
>>>>> @@ -1214,6 +1223,22 @@ void dom0_init(void)
>>>>>       xenevtchn_notify(xce_handle, dom0->port);
>>>>>   }
>>>>> +void stubdom_init(void)
>>>>> +{
>>>>> +#ifdef __MINIOS__
>>>>> +    struct domain *stubdom;
>>>>> +
>>>>> +    if (stub_domid < 0)
>>>>> +        return;
>>>>> +
>>>>> +    stubdom = introduce_domain(NULL, stub_domid, xenbus_evtchn, 
>>>>> false);
>>>>> +    if (!stubdom)
>>>>> +        barf_perror("Failed to initialize stubdom");
>>>>> +
>>>>> +    xenevtchn_notify(xce_handle, stubdom->port);
>>>>
>>>> If I compare to introduce_domain(), it is not entirely clear to me 
>>>> why the notification is done unconditionally here. Can you clarify?
>>>
>>> There is no reason to do it conditionally, as we can be sure the 
>>> event channel
>>> is existing and the ring page is accessible.
>>
>> Hmmm... But there is a second part in the condition:
>>
>> domain->interface->connection == XENSTORE_RECONNECT
>>
>> Why isn't it necessary here? What I am looking for particularly is 
>> some in-code comment (or at least in the commit message) because this 
>> is not 100% clear why we are diverging.
> 
> The test of XENSTORE_RECONNECT is done for domUs started before or 
> together with
> dom0 in order to give them a signal that they can start to use Xenstore.
> 
> Here we are initializing our own connection, so there is no need to test 
> whether
> the other end is waiting for us. We know there is no possible problem 
> sending
> the event, so we can just do it. The main instruction guarded by the 
> test of
> XENSTORE_RECONNECT is the setting of XENSTORE_CONNECTED, which then 
> needs the
> event to be sent to signal that change in the connection state.
> 
> In the end we are _not_ diverging. You should just compare the code to 
> the more
> comparable dom0_init() code. There the event is being sent 
> unconditionally, too.

Ok. Can this be documented somewhere?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 20:53:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 20:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633255.987881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r30Pi-0003St-9L; Tue, 14 Nov 2023 20:53:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633255.987881; Tue, 14 Nov 2023 20: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 1r30Pi-0003Sm-5X; Tue, 14 Nov 2023 20:53:38 +0000
Received: by outflank-mailman (input) for mailman id 633255;
 Tue, 14 Nov 2023 20:53: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 1r30Pg-0003Sg-Gm
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 20:53: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 1r30Pf-0007Qi-Pp; Tue, 14 Nov 2023 20:53:35 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r30Pf-0004LP-Kr; Tue, 14 Nov 2023 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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=2iFd1UHRqfu6r4Oi82J3W7ftMJxqCziu8eup/stdvh4=; b=KwSmPGqmSaJQe19udEhfMR6pHp
	a1S6tFLlTg9cdUqMatYbZGQvgQcetcqVV+omPg2FHIru75aPge0lFvf+WUgnKenzhd2rwH3bBFIm6
	tRk43e51EdGzC0Pj90UEVENNJ4VwD2kP6yS+KkoRGTzOe7oQyW6K1AFF9QI78S2palt0=;
Message-ID: <b18acbe0-b8f9-47d6-a85d-c4a7bd158809@xen.org>
Date: Tue, 14 Nov 2023 20:53:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename
 handling
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-28-jgross@suse.com>
 <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
 <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
 <2f024e6b-8f4b-4784-a1ef-1acb04c5a4dc@xen.org>
 <f15e5a60-e1b0-445b-9374-f8feda10f0b0@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f15e5a60-e1b0-445b-9374-f8feda10f0b0@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 14/11/2023 09:26, Juergen Gross wrote:
> On 14.11.23 10:10, Julien Grall wrote:
>> Hi Juergen,
>>
>> On 14/11/2023 06:45, Juergen Gross wrote:
>>> On 13.11.23 23:25, Julien Grall wrote:
>>>> Hi Juergen,
>>>>
>>>> On 10/11/2023 16:08, Juergen Gross wrote:
>>>>> Add some helpers for handling filenames which might need different
>>>>> implementations between stubdom and daemon environments:
>>>>>
>>>>> - expansion of relative filenames (those are not really defined today,
>>>>>    just expand them to be relative to /var/lib/xen/xenstore)
>>>>> - expansion of xenstore_daemon_rundir() (used e.g. for saving the 
>>>>> state
>>>>>    file in case of live update - needs to be unchanged in the daemon
>>>>>    case, but should result in /var/lib/xen/xenstore for stubdom)
>>>>>
>>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>>> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
>>>>> ---
>>>>>   tools/xenstored/core.c      | 9 ++++++++-
>>>>>   tools/xenstored/core.h      | 3 +++
>>>>>   tools/xenstored/lu_daemon.c | 4 ++--
>>>>>   tools/xenstored/minios.c    | 5 +++++
>>>>>   tools/xenstored/posix.c     | 5 +++++
>>>>>   5 files changed, 23 insertions(+), 3 deletions(-)
>>>>>
>>>>> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
>>>>> index 4a9d874f17..77befd24c9 100644
>>>>> --- a/tools/xenstored/core.c
>>>>> +++ b/tools/xenstored/core.c
>>>>> @@ -158,6 +158,13 @@ void trace_destroy(const void *data, const 
>>>>> char *type)
>>>>>           trace("obj: DESTROY %s %p\n", type, data);
>>>>>   }
>>>>> +char *absolute_filename(const void *ctx, const char *filename)
>>>>
>>>> Can the return be const?
>>>
>>> I'll have a look.
>>>
>>>>
>>>>> +{
>>>>> +    if (filename[0] != '/')
>>>>> +        return talloc_asprintf(ctx, XENSTORE_LIB_DIR "/%s", 
>>>>> filename);
>>>>
>>>> Looking at the rest of patch, you will be using xenstore_rundir(). I 
>>>> wonder whether it would not be better to switch to xenstore_rundir() 
>>>> so...
>>>>
>>>>> +    return talloc_strdup(ctx, filename);
>>>>> +}
>>>>> +
>>>>>   /**
>>>>>    * Signal handler for SIGHUP, which requests that the trace log 
>>>>> is reopened
>>>>>    * (in the main loop).  A single byte is written to 
>>>>> reopen_log_pipe, to awaken
>>>>> @@ -2983,7 +2990,7 @@ int main(int argc, char *argv[])
>>>>>       signal(SIGHUP, trigger_reopen_log);
>>>>>       if (tracefile)
>>>>> -        tracefile = talloc_strdup(NULL, tracefile);
>>>>> +        tracefile = absolute_filename(NULL, tracefile);
>>>>>   #ifndef NO_LIVE_UPDATE
>>>>>       /* Read state in case of live update. */
>>>>> diff --git a/tools/xenstored/core.h b/tools/xenstored/core.h
>>>>> index a0d3592961..51e1dddb22 100644
>>>>> --- a/tools/xenstored/core.h
>>>>> +++ b/tools/xenstored/core.h
>>>>> @@ -393,6 +393,9 @@ void early_init(void);
>>>>>   void mount_9pfs(void);
>>>>>   #endif
>>>>> +const char *xenstore_rundir(void);
>>>>> +char *absolute_filename(const void *ctx, const char *filename);
>>>>> +
>>>>>   /* Write out the pidfile */
>>>>>   void write_pidfile(const char *pidfile);
>>>>> diff --git a/tools/xenstored/lu_daemon.c b/tools/xenstored/lu_daemon.c
>>>>> index 71bcabadd3..6351111ab0 100644
>>>>> --- a/tools/xenstored/lu_daemon.c
>>>>> +++ b/tools/xenstored/lu_daemon.c
>>>>> @@ -24,7 +24,7 @@ void lu_get_dump_state(struct lu_dump_state *state)
>>>>>       state->size = 0;
>>>>>       state->filename = talloc_asprintf(NULL, "%s/state_dump",
>>>>> -                      xenstore_daemon_rundir());
>>>>> +                      xenstore_rundir());
>>>>
>>>> ... call and ...
>>>>
>>>>>       if (!state->filename)
>>>>>           barf("Allocation failure");
>>>>> @@ -65,7 +65,7 @@ FILE *lu_dump_open(const void *ctx)
>>>>>       int fd;
>>>>>       filename = talloc_asprintf(ctx, "%s/state_dump",
>>>>> -                   xenstore_daemon_rundir());
>>>>> +                   xenstore_rundir());
>>>>
>>>> ... this one could be replaced with absolute_filename().
>>>
>>> No, I don't think this is a good idea.
>>>
>>> I don't want the daemon to store trace files specified as relative files
>>> to be stored in /var/run/xen, while I want all files of the stubdom 
>>> to be
>>> stored under /var/lib/xen.
>>
>> Why? This is a bit odd to have a different behavior between stubdom 
>> and daemon. It would be much easier for the user if they knew all the 
>> files would be at the same place regardless the version used.
> 
> The main difference is that stubdom has access to only _one_ directory 
> in dom0.

Would you be able to explain why we can only give access to a single 
directory? Is this because of the 9pfs protocol?

> I /could/ give it access to "/", but do we really want that?

I don't think we want to give access to "/".

> 
> We can't get rid of the /var/run/xen access in xenstored, as it is used for
> live update, so the old and the new xenstored need to agree on the 
> location of
> the state file.

Well, Xenstored Live-Update is technically a tech preview feature. So we 
*could* break it and allow the state file to be specified on the command 
line.

Anyway, I am ok if you want them to have the live-update state in a 
separate however...


> And we can't drop the possibility of specifying absolute 
> paths
> for e.g. trace files, as those might be in use by users already.
> 
>> Also, regarding the background of my question. You are introducing a 
>> function call absolute_filename(). From the name, there is nothing 
>> indicating that this should only be used for trace files. If this is 
>> only indented for tracefile, then I think this should be renamed to 
>> something like absolute_tracefile(...).
> 
> After the last patch of this series "xenstore-control memreport <file>" 
> will use
> it, too.

... this doesn't change my point here. The function name doesn't *tell* 
me why it can't be used for live-update files.

If this can't be clarified in the name, then it should be clarified in a 
comment. Maybe one top of the Live-Update code.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 20:57:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 20:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633258.987890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r30TO-0005Iv-Mp; Tue, 14 Nov 2023 20:57:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633258.987890; Tue, 14 Nov 2023 20:57: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 1r30TO-0005Io-KH; Tue, 14 Nov 2023 20:57:26 +0000
Received: by outflank-mailman (input) for mailman id 633258;
 Tue, 14 Nov 2023 20:57: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 1r30TM-0005Ii-Sj
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 20:57: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 1r30TM-0007VH-6d; Tue, 14 Nov 2023 20:57:24 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r30TM-0004XY-1s; Tue, 14 Nov 2023 20:57: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=9OCmomxCpefw+gIcjq8RN5WYOB52tvYPIsHxqdDymjw=; b=1dd93Pg2HebsALV4yURHHOaWvH
	Kcqalxo3Pj3pg4frUH9x4t+VNCb7I9n2H7waw+ZNI8p/zeRS/qQrUWzq8dC7AZxDcLHadnujuRLG5
	kpSyNKon8+pMTM4gEROi641cjYuS2ZAFreLOpTxdC2QCZxWcMwhXofnoX78DhgSFuzho=;
Message-ID: <1cedf7ab-aa82-484c-9ddb-2b2537cc1d4a@xen.org>
Date: Tue, 14 Nov 2023 20:57:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 28/29] tools/xenstored: support complete log
 capabilities in stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-29-jgross@suse.com>
 <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
 <f9e8900b-10a9-4c88-bc99-118c61b549d7@suse.com>
 <829d9031-058f-47ea-95bc-d41b4b439690@xen.org>
 <47cb32ab-d842-47aa-80fc-77cd61ee25bb@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <47cb32ab-d842-47aa-80fc-77cd61ee25bb@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 14/11/2023 09:20, Juergen Gross wrote:
> On 14.11.23 10:05, Julien Grall wrote:
>> Hi,
>>
>> On 14/11/2023 06:45, Juergen Gross wrote:
>>> On 13.11.23 23:40, Julien Grall wrote:
>>>> Hi Juergen,
>>>>
>>>> On 10/11/2023 16:08, Juergen Gross wrote:
>>>>> With 9pfs being fully available in Xenstore-stubdom now, there is no
>>>>> reason to not fully support all logging capabilities in stubdom.
>>>>>
>>>>> Open the logfile on stubdom only after the 9pfs file system has been
>>>>> mounted.
>>>>>
>>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>>> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
>>>>> ---
>>>>>   tools/hotplug/Linux/launch-xenstore.in |  1 +
>>>>>   tools/xenstored/control.c              | 30 
>>>>> +++++++++++++-------------
>>>>>   tools/xenstored/minios.c               |  3 +++
>>>>>   3 files changed, 19 insertions(+), 15 deletions(-)
>>>>>
>>>>> diff --git a/tools/hotplug/Linux/launch-xenstore.in 
>>>>> b/tools/hotplug/Linux/launch-xenstore.in
>>>>> index e854ca1eb8..da4eeca7c5 100644
>>>>> --- a/tools/hotplug/Linux/launch-xenstore.in
>>>>> +++ b/tools/hotplug/Linux/launch-xenstore.in
>>>>> @@ -98,6 +98,7 @@ test -f @CONFIG_DIR@/@CONFIG_LEAF_DIR@/xencommons 
>>>>> && . @CONFIG_DIR@/@CONFIG_LEAF
>>>>>       [ -z "$XENSTORE_DOMAIN_SIZE" ] && XENSTORE_DOMAIN_SIZE=8
>>>>>       XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --memory 
>>>>> $XENSTORE_DOMAIN_SIZE"
>>>>>       [ -z "$XENSTORE_MAX_DOMAIN_SIZE" ] || 
>>>>> XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS --maxmem 
>>>>> $XENSTORE_MAX_DOMAIN_SIZE"
>>>>> +    [ -z "$XENSTORED_TRACE" ] || 
>>>>> XENSTORE_DOMAIN_ARGS="$XENSTORE_DOMAIN_ARGS -T xenstored-trace.log"
>>>>
>>>> I am probably missing something, but any reason to not use 
>>>> @XEN_LOG_DIR@/xenstored-trace.log as we do for xenstored?
>>>
>>> Yes. Stubdom has no access to XEN_LOG_DIR.
>>
>> Ok. This restriction is not that obvious... The documentation in 
>> sysconfig.xencommons.in implies that it will be written in XEN_LOG_DIR:
>>
>> ## Type: string
>> ## Default: ""
>> #
>> # Additional commandline arguments to start xenstored,
>> # like "--trace-file @XEN_LOG_DIR@/xenstored-trace.log"
>> # See "@sbindir@/xenstored --help" for possible options.
>> # Only evaluated if XENSTORETYPE is "daemon".
>> XENSTORED_ARGS=
>>
>> Also, we are saying this is only supported when Xenstored is 
>> daemonized. So I think there are some documentation update necessary 
>> in this patch.
> 
> This is for the daemon. And the documentation example here is using an
> absolute filename, so this is very clear where the trace file will be 
> written.

Ah yes. Sorry I got confused.

> 
> For stubdom a related parameter "XENSTORE_DOMAIN_ARGS" is available. I 
> can add
> a sentence to the explanation of that parameter describing setting of a
> possible trace file specification.

Do you mean in the following comment:

## Type: string
## Default: Not defined, tracing off
#
# Log xenstored messages
# Only evaluated if XENSTORETYPE is "daemon".
#XENSTORED_TRACE=[yes|on|1]

I think here we need to remove the "Only...".

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 21:01:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:01:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633261.987900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r30XH-0008AE-5G; Tue, 14 Nov 2023 21:01:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633261.987900; Tue, 14 Nov 2023 21: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 1r30XH-0008A7-2n; Tue, 14 Nov 2023 21:01:27 +0000
Received: by outflank-mailman (input) for mailman id 633261;
 Tue, 14 Nov 2023 21:01: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 1r30XG-0008A1-1Q
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:01: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 1r30XF-0007ae-9b; Tue, 14 Nov 2023 21:01:25 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r30XF-0004mB-3H; Tue, 14 Nov 2023 21: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=KVBcoGojyrDC/INoAngNArSjCuUc6kcnu33DKKRl+/A=; b=ORCQdOpP9nIpEwpyuLjiHI6rgT
	1+jg4YYcDdwq/BzANYCgh+wLG86CfnSeIRn8LX+5RHUES2R781f710zdBEEQ9kMhmA8lIwuoT+a7e
	+8JyqJtgV1rv9gyy6sCB0/jkQ3NKXzvrbVXA7sbhxN3EVw58AzcRjaksqtE0JMmRxKrg=;
Message-ID: <b0b4f6d8-75b4-4256-a9e2-0a9fdee81f33@xen.org>
Date: Tue, 14 Nov 2023 21:01:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] tools/xenstored: remove "-V" command line option
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-3-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231113124309.10862-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/11/2023 12:43, Juergen Gross wrote:
> The "-V" (verbose) command line option is nearly completely redundant
> with "io" tracing. Just the time of the printed data is a little bit
> different, while the tracing is more informative.

The current position of trace_io() is a bit annoying in write_messages() 
because it will only be called once the message has been fully written 
to the ring. Can we consider adding a trace_*() when we are about to 
write? (Or maybe queue the message?)


In any case, I think it is odd to enable verbose and tracing separately. 
So with or without:

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 21:05:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:05:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633264.987910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r30ax-0000Ku-Kq; Tue, 14 Nov 2023 21:05:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633264.987910; Tue, 14 Nov 2023 21:05: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 1r30ax-0000Kn-IN; Tue, 14 Nov 2023 21:05:15 +0000
Received: by outflank-mailman (input) for mailman id 633264;
 Tue, 14 Nov 2023 21:05: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 1r30aw-0000Kh-Hh
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:05: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 1r30av-0007fB-TJ; Tue, 14 Nov 2023 21:05:13 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r30av-0004s6-Nm; Tue, 14 Nov 2023 21:05: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=uSvPvpqcoYsuuaB/SvdvD6llkCzl2hDrjdO6Gl2Wgkc=; b=gS+/c3Lc3WjwmImd1RnexMGFmn
	0XtixYqg0eeGxyjljDKJTlO10bcwzWI/jWKhLBs24ItKdcNLuriScwlNE9qx7MLc13KjiyIQeuJ4l
	wjOinSjHJ1CSuvw4ekS/jlfM85pR6ApY+d5ATsUzmFjor6RN16U20StUhWVu3XcCSLXs=;
Message-ID: <46732b8c-49bf-456e-9a4d-e7b0b0012936@xen.org>
Date: Tue, 14 Nov 2023 21:05:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] tools/xenstored: remove the "-P" command line option
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-4-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231113124309.10862-4-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/11/2023 12:43, Juergen Gross wrote:
> The "-P" command line option just results in printing the PID of the
> xenstored daemon to stdout before stdout is being closed. The same
> information can be retrieved from the PID file via the "-F" option.

I looked at the git history to figure out whether -P was added before 
-F. But it looks like they were added together. It is not entirely clear 
to me the author thought the both options were necessary.

Anyway, I agree this is a bit redundant.

> 
> Remove the redundant "-P" option.
> 
> 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 Tue Nov 14 21:15:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:15:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633267.987920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r30l1-0004Uf-JY; Tue, 14 Nov 2023 21:15:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633267.987920; Tue, 14 Nov 2023 21: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 1r30l1-0004UY-Gd; Tue, 14 Nov 2023 21:15:39 +0000
Received: by outflank-mailman (input) for mailman id 633267;
 Tue, 14 Nov 2023 21:15: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 1r30l0-0004US-EA
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:15: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 1r30kz-0007pw-Mz; Tue, 14 Nov 2023 21:15:37 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r30kz-0005Jd-Hi; Tue, 14 Nov 2023 21:15: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=GqmJyw3dpAnI+5W3ysWe3GwbGKaU7wQTcFZjwI5Ao+g=; b=GWQyRHsbdunxivx3GlGWeA5d/s
	7z8ka7I+Z7cGsBriAYjML4MjU73w+pbRCBX4mf7odRywJUeFH9gRtagufvQjQv4foSjLpxGUieHGe
	rtN58lyfHlyoSubh6ww3Ujzv5vav4gXReUZmksX3hO2XVmTznw/A8RrIwQESZF4yqrBs=;
Message-ID: <6d7e4dd7-726f-4489-8a17-a1ea55587892@xen.org>
Date: Tue, 14 Nov 2023 21:15:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] tools/xenstored: remove "-N" command line option
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-5-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231113124309.10862-5-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 13/11/2023 12:43, Juergen Gross wrote:
> The "-N" (do not daemonize) command line option is of questionable use:
> its sole purpose seems to be to aid debugging of xenstored by making it
> easier to start xenstored under gdb, or to see any debug messages
> easily.
> 
> Debug messages can as well be sent to syslog(), while gdb can be
> attached to the daemon easily. The only not covered case is an error
> while initializing xenstored, but this could be handled e.g. by saving
> a core dump, which can be analyzed later.

The slight trouble is a debug message in the syslog (such as from 
barf()) is often not enough. What you want is a coredump or attach gdb 
to analyze.

For the former, I found quite useful when debugging the Live-Update code 
to replace exit() with abort() in bar*(). So a coredump will be 
generated anytime barf*() is called.

> 
> The call of talloc_enable_leak_report_full() done only with "-N"
> specified is no longer needed, as the same can be achieved via
> "xenstore-control memreport".
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> Slightly RFC, as this is making debugging a little bit harder in
> specific cases. OTOH I didn't use this option since years, in spite of
> having done a _lot_ of xenstore hacking.

I have used a few times but when trying to run Xenstored with ASAN but 
this wasn't trivial to use.

> 
> 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 Tue Nov 14 21:18:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:18:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633270.987931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r30ny-0007qs-5N; Tue, 14 Nov 2023 21:18:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633270.987931; Tue, 14 Nov 2023 21: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 1r30ny-0007ql-1v; Tue, 14 Nov 2023 21:18:42 +0000
Received: by outflank-mailman (input) for mailman id 633270;
 Tue, 14 Nov 2023 21:18: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r30nv-0007qd-PX
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:18:40 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ef668f2-8333-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 22:18:35 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r30nm-00AF61-UV; Tue, 14 Nov 2023 21:18: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: 5ef668f2-8333-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=gECNK7hNnz9BN8xpS+w416YYyNbDY/ic3nanEYq03Es=; b=bbgCNZC37w47nIC8h1N2kXZZ9P
	aHS2PVR0h7t2NfF4ktZqR3bLrS42ROtdDo1otwnxM7TF5o9p8KuGVU6Rpz4KuBbobL+xF9EpMTJ1L
	kRBsqhXp42d0bqHAwCRd+9PPkQ8NwskOd1nMvQVypSVmL9ibRdwKcdQd5WlvxOSrEzJ1gh4UgXr7+
	DH/+y8tk/k9kcJilL5Ophur/CUEvRM+STUY/oDVBpVvAExyk64FcqvgL8O8jhS2M31B2LFwVeRqo+
	Qn9VEDk/A65jE/X0iLOy/QveO+5AqPr+wfTxszoAHy+mcT0Qr5pFNY4hvIRsEOdsppElCvrioSSL5
	y9/fD1BA==;
Message-ID: <6444dfbb334151579607a8d76da8ebf6434f6278.camel@infradead.org>
Subject: Re: [PATCH-for-9.0 v2 06/19] hw/pci/msi: Restrict xen_is_pirq_msi()
 call to Xen
From: David Woodhouse <dwmw2@infradead.org>
To: Philippe =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, 
	qemu-devel@nongnu.org
Cc: Alex =?ISO-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, Paul Durrant
 <paul@xen.org>, qemu-arm@nongnu.org, Paolo Bonzini <pbonzini@redhat.com>, 
 Stefano Stabellini <sstabellini@kernel.org>, Richard Henderson
 <richard.henderson@linaro.org>,  xen-devel@lists.xenproject.org,
 qemu-block@nongnu.org, Anthony Perard <anthony.perard@citrix.com>,
 kvm@vger.kernel.org, Thomas Huth <thuth@redhat.com>,  "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
Date: Tue, 14 Nov 2023 16:18:27 -0500
In-Reply-To: <87CD61D3-D862-45C6-9DBC-2765D747EA58@infradead.org>
References: <20231114143816.71079-1-philmd@linaro.org>
	 <20231114143816.71079-7-philmd@linaro.org>
	 <EEC18CA6-88F2-4F18-BDE5-5E9AAE5778A7@infradead.org>
	 <7fd25b34-6fd9-4f7c-90b4-e44338b2b09e@linaro.org>
	 <87CD61D3-D862-45C6-9DBC-2765D747EA58@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-olabTuHfq9fA1SvIFDdf"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Tue, 2023-11-14 at 10:44 -0500, David Woodhouse wrote:
>=20
> I believe that if you push your branch to a gitlab tree with the
> right CI variables defined, it'll run all the CI? And I *hope* it
> fails with this patch. It's precisely the kind of thing I was
> *intending* to catch with the testing!

So it doesn't fail. Because virtio-net-pci doesn't use MSI, we need to
test with E1000E or something like that. And actually I'm not 100%
convinced the avocado tests are even running in the gitlab CI.

And also, if I test it manually... it doesn't fail because you didn't
break it :)

You didn't break the xen_evtchn_snoop_msi() call; that still works.

What you were changing is the part which makes msi_is_masked() lie and
unconditionally return false when it's mapped to a Xen PIRQ. And
actually, even in the Xen-emulation case, xen_is_pirq_msi() is always
returning zero. So your patch isn't changing anything.

It *does*, however, make hw/pci/msi.c do this exactly the same way as
hw/pci/msix.c does. That one does check xen_enabled() first.

I need to double-check whether the msi{x,}_is_masked() checks ought to
be doing the same for Xen-emu as they do on real Xen. That whole thing
is a complete abomination. But that isn't your problem. For your patch,

Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>






--=-olabTuHfq9fA1SvIFDdf
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTE0MjExODI3WjAvBgkqhkiG9w0BCQQxIgQg7onyX3Ra
XCH87bFKyHRLcKmRncLOQeAokR+h9GwaXPEwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCnlN+Jz/n/p265r5wbJtFtx8w+hZcc2klo
0xL1EUWavSpz9FgdKDp246yCW4YbInsq5QJTE4oUZPK6wEmeZ9IFEYZAIzJWhPugqoccJZcXeM+4
+5dcMvrsbHEdR0P8yR5abuEciOdfnGx0F0CaW6Sgb7uXYSQPUKOiYxu50wEdri9nhWrbClgHbyI/
IKP+8oh2X3BwUejZAroESZvoZFNk+rVSYUeAUTao1oSWor1Af2MYgCZNcoTK4lqyWvDJ53cuktFq
FFXiv5XFuZVWbCWEcja8KiUOZM79JmzZKKfoLFviuhVsG0CsorTYrSXCPzXIXYSt7NY9wxfKckoM
Cqv+6iisD/zWgTYhSdkyjaeB/4ulYpKtOjMkAS7Z5fgytXgB+ihxiU/1UghgtknAa24FHH+HJ0Hs
Usi20yjXmoHytS6oAa4IEDhHmcITF+JMC6UZ3Mh3bnQCgvlCTQZUm1+kQvuwisfbFsrv2ph7yWPr
uAsDgZVgtUscWtlFRdQ1qyj0+f5Tntic20tRTnto23Mn2K/G1rI1znBNx7HZLlltrCfupzh5wtTS
omCAZZJxzh7UlErt+GtRVFqdhu/f8d30npBfPpeUw53JmWL9vseO7t/eseaDBJEvMtQ4DKzHb06O
wGOUu7wI4MG7bQuqnQe23vWBydOwqs+1R++AvhjqgwAAAAAAAA==


--=-olabTuHfq9fA1SvIFDdf--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 21:32:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:32:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633275.987941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r311P-0004SN-AQ; Tue, 14 Nov 2023 21:32:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633275.987941; Tue, 14 Nov 2023 21:32: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 1r311P-0004SG-6g; Tue, 14 Nov 2023 21:32:35 +0000
Received: by outflank-mailman (input) for mailman id 633275;
 Tue, 14 Nov 2023 21:32: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=UjGx=G3=epam.com=prvs=5682536aec=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r311O-0004SA-0k
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:32:34 +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 508c6330-8335-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 22:32:31 +0100 (CET)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AEIYm9T029508; Tue, 14 Nov 2023 21:32:11 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uce9y0agm-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 14 Nov 2023 21:32:10 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DBBPR03MB7132.eurprd03.prod.outlook.com (2603:10a6:10:20f::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Tue, 14 Nov
 2023 21:32:06 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.029; Tue, 14 Nov 2023
 21:32: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: 508c6330-8335-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DjtoCwFGh1bhBklzxDhGdf3z+2X7rhNz4dq83SqPzPZ8iVE07t585o1vZeCnsTVV22xTcceCX9NFfQFIjoG82kcRBPAntJqxx5NglScE8+7RgKw8rDlb3rAo515z750CHeeOtOhKklK/nVp63s8d0NzTDSAGzk+JgnmHhNOq+zlqZWLg5KFFFX0FnAXIf4zJnrVUEjmvfF7MPkuqd+MIJdHXocGtGpN6BPJDz7vgc0sZTMF3SXwHwD6NXXIPTBj+3wyOO7d1NRNA2cQg/9bGNIufLmpDUyS6bCSfHupIsTGH0UuudmZq9TAreBpur+vqYBj0j5nh9CapR/mCHBOKDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GD6941rI2V2b4dRSU+gFi73+GBMXJo2zUuzFUfNaLaI=;
 b=KX3Clz5Ml8vNNfZ6280/du6EIlfttByBHVoKj9kuwbzlui2anQCE6eVu0JWlRG07Vpx0fjcs6gCEJCITW05L/nfAB3yX6MnqMJD+24GYH+uDushkX07HjR/BaPlnbXphYlGBOFlVySX/f2TWHdtLCAny+XzFVh3ngkpn9atOsdsoGVpcRgAyZI2buRto5N/8Kqnkc0yxybr/l3S+g6zfcUH0bB8ymOqFpFZOIXrnlLwhpaZpVcdtLZXu+WgvUJCA0NAKVe5AIVDcR5pz4GTySHmOaCbifIKhrwLo1gFqBchzV00FsTia4267smbPX+RA4PUkucq4FFlHeFc9Yd+xUA==
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=GD6941rI2V2b4dRSU+gFi73+GBMXJo2zUuzFUfNaLaI=;
 b=laUnvRVAiEW/V0mUD7r1SbG6XOplAQ6ggamVhr04HXpvt4X63KVTZ2O4JDNLPf1LrM8ezahsVRyT1Jn7wXSNqo38fLBhhI7MvbhloPrit3SLFiK0Rcfr8MMhU/nQ3t8pRHTGgu7PCSUcnAD+SDGjImwTv5SL3/dFnABUkdGrfmV1Nzg8ONKfuj9b82Zu0Sz5cGS0d9s3MAqCDZIWztdc9VbgvKI8ekDSCGpIsSjRDlGVsWGd8WhyTCtAM3Ku0s57evEid886YUw7WqVsu1PkoxnGt9xGJGY+m6RtxGN3BYBzBleN7dTl0kfTSNDodhz4xQim73vRzepd0E3JsZ1Fqg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
        "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>, Kevin Wolf <kwolf@redhat.com>,
        Hanna Reitz <hreitz@redhat.com>,
        "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
        "open list:Block layer
 core" <qemu-block@nongnu.org>
Subject: Re: [PATCH v1 1/7] xen-block: Do not write frontend nodes
Thread-Topic: [PATCH v1 1/7] xen-block: Do not write frontend nodes
Thread-Index: 
 AQHaFBZngjGHt2Wnc0CJ36bDt34c6LB08xWAgAAu5gCAAG5XgIAAGewAgAAIwICABKNGAA==
Date: Tue, 14 Nov 2023 21:32:05 +0000
Message-ID: <87sf5858dn.fsf@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-2-volodymyr_babchuk@epam.com>
 <f2f7751a9ea5597e9f7a1417b761fe0802892aa8.camel@infradead.org>
 <db50c864-a429-49af-9762-8bc17d5b0336@citrix.com>
 <0F786C80-FB37-4AEB-8314-3DB4AC4600E5@infradead.org>
 <d4eb2378-d276-47eb-a8a2-b3551020f814@citrix.com>
 <81BF040F-EE19-4367-9C4F-94FF2623C75B@infradead.org>
In-Reply-To: <81BF040F-EE19-4367-9C4F-94FF2623C75B@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DBBPR03MB7132:EE_
x-ms-office365-filtering-correlation-id: b6951589-d730-4fca-41fc-08dbe559261e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 5SlfDFR/2VnrpC5Id6T8jTIs5S+Ng81OHTUIZzvbBWodKJ62M1mcCcb+tdFiwDk71WGQfINMT7uumpdRQRfxx+vKjzJuTUVQIOcf19Orhqh2gHenox8ljVqD/HBL3t7d6fMxMzTrzgTr51vCxfatu07n0DE4v/fFsdkeOb95sghwYYZesFLFZ3akehpMLA/K67hTk1THRHL8/G2Wa41ic4LNyyM/ZGqRcj4vBe+RAYkY8e5nSDxq7BFr4RU80qEnKBevzsVv3RIxGspPqptBk2YaIovZ79wBJudsh15Vq2rMKzRmXX6S4prpgv8iMB8PAfPlvAOMl5J8cvTr+J21iUctpH8+gtrRdOeDYiFQEkH6oINaPdoMsMaOx0JkmzC/yNfaif8i6Jta4z6+d7qB259BKZjN3PDolw4OA2adSKASF3Ga8YLnhPdBkNqgYp1CDprpNdiIEC8LVPcSHWk0qEbcF4WFNZrjHVzZr7o4NYfT5kIHuunoW/EDGSDURNY8xuHDUEzlLWNl3V8s9pJQFz5/aRSuRz7wF8OMitbOWYd2h/UI0n5v+O8LTc569eqIoge/caIEN7wva2CKxFyfXr9mvEZ6JkTWSYXx4rdHtgaYNE6TFe9sZaZGca6G/aLv
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:(13230031)(396003)(136003)(366004)(39860400002)(346002)(376002)(230922051799003)(1800799009)(64100799003)(186009)(451199024)(71200400001)(26005)(6506007)(55236004)(2616005)(6512007)(8676002)(5660300002)(4326008)(41300700001)(7416002)(8936002)(478600001)(2906002)(6486002)(91956017)(6916009)(316002)(66556008)(76116006)(66446008)(54906003)(66946007)(122000001)(64756008)(66476007)(86362001)(36756003)(38100700002)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?an5vXvY+DoXAkdLuD6J7t0Yoe0vuOyvbU4pmNqze7G6WlrnBm4Tqs8Dc9H?=
 =?iso-8859-1?Q?CdnQq2GuBqpvrZFiAW1a/LOFZi+q5a9KvLjNywBh1e/ntOI4VbzOs+Sa7t?=
 =?iso-8859-1?Q?pzJtykcCvqddjicYkMSJnh1wkopMYSakJEkDrYvHhnVQB9vPy4Q3UE9rrm?=
 =?iso-8859-1?Q?OyGFHl4rE/ytcklwaVKBezMgSofrTnTKqdjr1Trkrc8OGe3ixSAMoiyH6h?=
 =?iso-8859-1?Q?djp4BjiaB1eeBwG07hiIQ+4NNxKv14OOZ9eS2inpiPSPxCN6dmVHmvPdAr?=
 =?iso-8859-1?Q?ASR4CGTDhn/ImekKoFmXfdomaKpwgOMucgkczhM4UegKE85643IFEwBpqk?=
 =?iso-8859-1?Q?d+lBERK3togk8fKBPodJFEFf3SkyzG4KEikyhfJTC6TV7eTCWbfLYylJuR?=
 =?iso-8859-1?Q?x79wQ5JluE5oA6FkBJ/XRJPLEMkDD1lD/HNj/0tMAqSIpm/en4jPvtu0+g?=
 =?iso-8859-1?Q?1pKOHtpb9IO7A7OhCTR9ZP8uu0ZyED8daKBR3zlM6UP5zbjUja7yqfNFU1?=
 =?iso-8859-1?Q?LV7XLujL0cdihBRrSd+iLc5N7h88w5rWEnq4eaPeW87G22aZCWUhqPK/SP?=
 =?iso-8859-1?Q?m+FwMKtjrFxVm8Symb+I2m9JfMU66U3VLVeD6dyKin1DsdtkRNwt9kwJHl?=
 =?iso-8859-1?Q?LfmePaRYjzijG7UMzy5c5xgngMdpR6Abht6h0cqHOTnYJAn4BXvOlN1llg?=
 =?iso-8859-1?Q?ZQHW0OkSPDLLqrBI/GBG/SNg4F7EzI4z/d6q1tJzMIacSwm5a8AvjWE8Dx?=
 =?iso-8859-1?Q?w11R5G5/n0cYSOgRBR+TeX2PRPxAl4vZaRwUWAXVogQHE22Q7saic8kjOq?=
 =?iso-8859-1?Q?TLZczCMUQNG591dIBvC/F4xwOM2geW/8VZ+dqVLe6MU9KkZLD8FsXQ7Jgo?=
 =?iso-8859-1?Q?AAM5qbMFxkMvn9VDppQyOAMcWAogMxtQeksAh07oZomaKnrKzipB+YLPJW?=
 =?iso-8859-1?Q?HZm3LlOy+CCNqvoABbXxukWplPtLa/Czd6DmMRP+o2Pck9dFKltJfzCmi6?=
 =?iso-8859-1?Q?78sM6KJE+l1UT4IV5GD5I/uKglm8FMiL6oQ3Ejt9nOIJeOFtFLwexxDdDQ?=
 =?iso-8859-1?Q?O8CjJq2fcjB/bP5IoLphXCvP14LF44TVY8Bxk0fG72PxxlnebIwbYFKPEO?=
 =?iso-8859-1?Q?TqzbRGRRDgXcDhBzAybTysScnXpZAzKCjyIqPHtO2+2k0PVX7gE7OUZewv?=
 =?iso-8859-1?Q?gEQyWWrbl1rlWsDFyx+E44beS+x5C03Af+MDr8WbgxiXUTSzmtScKbmGfC?=
 =?iso-8859-1?Q?Ye0Z+lOn0SM2n7kR+obL+BKnOYkdsrEAAiRt3CrPcdw2WLwsVJ6vRUcXgN?=
 =?iso-8859-1?Q?KqmdZ89WZnc1avZPK8elwpGppRnySUPylHRlzEV+/XMfzGOD/4hMDRxiRw?=
 =?iso-8859-1?Q?Kg5UJ3MpHy74+q1vWctpeBFByacYfIuSlXaoXrK9BbnedIjNtTDb5ag8YC?=
 =?iso-8859-1?Q?21nwn39uO2dg3RIv413pxQ+qSToaZFotmPPwfVpzvhous5cAhF/Tgm/Xz1?=
 =?iso-8859-1?Q?sUhQ12ABYOsEHZuNBMVA/1WT8xejnqZvqTUsJ/RnfFStklzAJs5F6RrRvm?=
 =?iso-8859-1?Q?hm4PqtL22VoEaZh5pO3P1z3JPCyvZRgJFtYFoQGeS8tk8NZZAOMtqyiUe0?=
 =?iso-8859-1?Q?7hUIl1XxUvy4usyPx0A2iSjOIcYoUjBM2qivXluFb/Wy6a3w8NzC1gvg?=
 =?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: b6951589-d730-4fca-41fc-08dbe559261e
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Nov 2023 21:32:05.6802
 (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: zVnjFs1Cx29zcI2sOhPvk8r9rtF5Khwo30YOPhc5HMRPWU6MH9MOOB1EhFn5iANG7JCkbEzr2hob5arKRKzsTJxXotcxsAqMeFWcnrA2QL4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB7132
X-Proofpoint-GUID: 7TXFmSFJZ8g1Y4MIqHsTDLXTIuUb1Smj
X-Proofpoint-ORIG-GUID: 7TXFmSFJZ8g1Y4MIqHsTDLXTIuUb1Smj
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-14_22,2023-11-14_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 mlxlogscore=877 malwarescore=0 priorityscore=1501 impostorscore=0
 phishscore=0 clxscore=1015 mlxscore=0 spamscore=0 adultscore=0
 suspectscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311140157


Hi David,

David Woodhouse <dwmw2@infradead.org> writes:

> On 11 November 2023 16:51:22 GMT-05:00, Andrew Cooper <andrew.cooper3@cit=
rix.com> wrote:
>>On 11/11/2023 8:18 pm, David Woodhouse wrote:
>>> On 11 November 2023 08:43:40 GMT-05:00, Andrew Cooper <andrew.cooper3@c=
itrix.com> wrote:
>>>> Furthermore, the control domain doesn't always have the domid of 0.
>>>>
>>>> If qemu wants/needs to make changes like this, the control domain has =
to
>>>> arrange for qemu's domain to have appropriate permissions on the nodes=
.
>>> Right. And that's simple enough: if you are running QEMU in a
>>> domain which doesn't have permission to create the backend
>>> directory and/or the frontend nodes, don't ask it to *create*
>>> devices. In that case it is only able to connect as the backend for
>>> devices which were created *for* it by the toolstack.
>>>
>>> The criterion used in this patch series should be "did QEMU create this=
 device, or discover it".
>>>
>>
>>Yeah, that sounds like the right approach.
>
> I think we want to kill the xen_backend_set_device() function and
> instead set the backend as a property of the XenDevice *before*
> realizing it.

Not sure that I got this. Right now device is property of
XenBackendInstance. Are you proposing to make this other way around?

Right now I am looking for a place where to store the information of
XenDevice creator. My plan was to add "found_in_xenbus" property to
XenDevice and set it in xen_backend_device_create.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 21:34:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:34:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633277.987951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r312s-0004zn-K1; Tue, 14 Nov 2023 21:34:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633277.987951; Tue, 14 Nov 2023 21: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 1r312s-0004zg-H0; Tue, 14 Nov 2023 21:34:06 +0000
Received: by outflank-mailman (input) for mailman id 633277;
 Tue, 14 Nov 2023 21:34: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 1r312r-0004zY-9U
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:34: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 1r312q-00089b-Jh; Tue, 14 Nov 2023 21:34:04 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r312q-0005vP-E4; Tue, 14 Nov 2023 21:34: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=LnVbhYD540u7kXOhAkSWfLH7HruSCzPsmjyU1AVMYTY=; b=vjXGHVnSq8BClpvpAO62l5frGW
	6qGbQTmEFfNdORcAjAB8iekOoxR+WgA8/4q4n9PauSv7ZDcE/6GOAm3Qc7SzkBKwJuPSpt6U3m7ab
	EEl3/Ome85UKwbTUejekEWdbqL9/v23WZdACR3h7qx4w0MOeI5Jhg6mZDd7Zzys4Cvxg=;
Message-ID: <6d8dd0d8-8a8e-4bf8-b0a6-6af5169763b3@xen.org>
Date: Tue, 14 Nov 2023 21:34:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] tools/xenstored: remove the "-R" command line option
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-6-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231113124309.10862-6-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 13/11/2023 12:43, Juergen Gross wrote:
> The "-R" (no recovery) command line option enables to omit fixing the
> node store in case of detected inconsistencies.
> 
> This might have been of interest in the past, when the node data base
> was kept in a file, but now the usability of this option is zero.
> 
> Remove the "-R" option.
> 
> 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 Tue Nov 14 21:47:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:47:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633281.987961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31Fk-0002TI-On; Tue, 14 Nov 2023 21:47:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633281.987961; Tue, 14 Nov 2023 21:47: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 1r31Fk-0002TB-M6; Tue, 14 Nov 2023 21:47:24 +0000
Received: by outflank-mailman (input) for mailman id 633281;
 Tue, 14 Nov 2023 21:47: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r31Fj-0002Qb-ES
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:47:23 +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 63d91f55-8337-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 22:47:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id D4037B8167D;
 Tue, 14 Nov 2023 21:47:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8984C433C7;
 Tue, 14 Nov 2023 21:47:18 +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: 63d91f55-8337-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699998439;
	bh=kvo00L80mlsk16oFNuTlxjuMYpV58scoAI3P8psuiFw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YuZq2ezywuOyBC7s0BQY5xzOeIDVXbU9pfE8POAZuG1KwtD0ZUgZu5ROItSyw+Fde
	 CslALWqMsnUSSXUIg5C/A0JkNVCel264dGMhuu7ZWg0nAEJBi5KsKzbDhXpBCXXx9m
	 XakMpEQ4x8+KjBbDtxAyDSr/pzF7iRwvzWcpvaxP1Hv9IoKPLCfuJRKC6TRgD0em3W
	 tVNd3O7NszbyPCSYvpCe6u/w3XKaU4J7d+QLzL7pjcWvBbpo5x+52I5p5ZM6PR4Kiz
	 P6VZiT5HtgTOfePKETH8H5ZNxqkWCIIAhcSvLvCivbCVIPVYM+2uj52HqtNd/86xte
	 RKCdGw65jqmPQ==
Date: Tue, 14 Nov 2023 13:47:17 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
cc: Anthony PERARD <anthony.perard@citrix.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH] automation: set architecture in docker files
In-Reply-To: <ZVOmt3FI1qzyn6UM@macbook.local>
Message-ID: <alpine.DEB.2.22.394.2311141342040.160649@ubuntu-linux-20-04-desktop>
References: <20231113155701.52052-1-roger.pau@citrix.com> <alpine.DEB.2.22.394.2311131608200.160649@ubuntu-linux-20-04-desktop> <ZVM3Ujf1nsws3Mxr@macbook.local> <886f6adb-5651-4c69-9d0b-ff68b5a1b094@perard> <ZVOmt3FI1qzyn6UM@macbook.local>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1938329662-1699998439=:160649"

  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-1938329662-1699998439=:160649
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 14 Nov 2023, Roger Pau Monné wrote:
> On Tue, Nov 14, 2023 at 03:00:17PM +0000, Anthony PERARD wrote:
> > On Tue, Nov 14, 2023 at 10:01:06AM +0100, Roger Pau Monné wrote:
> > > On Mon, Nov 13, 2023 at 04:10:24PM -0800, Stefano Stabellini wrote:
> > > > On Mon, 13 Nov 2023, Roger Pau Monne wrote:
> > > > > Pass the desired architecture of the image in the FROM instruction if the
> > > > > image is possibly multi-platform.
> > > > > 
> > > > > This allows using the x86 Dockerfiles on OS X on arm64 hardware.
> > > > > 
> > > > > No functional change intended.
> > > > > 
> > > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > > > 
> > > > Although I am not opposed to this change, so far we have been using:
> > > > arm64v8/alpine:3.18
> > > > 
> > > > for x86 it is not specified but it would be:
> > > > amd64/alpine:3.18
> > > > 
> > > > Two options:
> > > > 1) we add amd64/ everywhere and leave the arm containers alone
> > > > 2) we change all containers, including the arm containers, to use the
> > > > --platform option
> > > > 
> > > > I don't think is a good idea to have 2 different ways to specify the
> > > > architecture for x86 and arm containers
> > > 
> > > I'm not an expert on this, but attempting to use (2):
> > > 
> > > -FROM arm64v8/alpine:3.18
> > > +FROM --platform=linux/arm64v8 alpine:3.18
> > > 
> > > Does not work for me:
> > > 
> > > % make -C automation/build alpine/3.18-arm64v8
> > > docker build --pull -t registry.gitlab.com/xen-project/xen/alpine:3.18-arm64v8 -f alpine/3.18-arm64v8.dockerfile alpine
> > > [+] Building 1.4s (3/3) FINISHED                                                  docker:desktop-linux
> > >  => [internal] load .dockerignore                                                                 0.0s
> > >  => => transferring context: 2B                                                                   0.0s
> > >  => [internal] load build definition from 3.18-arm64v8.dockerfile                                 0.0s
> > >  => => transferring dockerfile: 818B                                                              0.0s
> > >  => ERROR [internal] load metadata for docker.io/library/alpine:3.18                              1.4s
> > > ------
> > >  > [internal] load metadata for docker.io/library/alpine:3.18:
> > > ------
> > > 3.18-arm64v8.dockerfile:1
> > > --------------------
> > >    1 | >>> FROM --platform=linux/arm64v8 alpine:3.18
> > >    2 |     LABEL maintainer.name="The Xen Project" \
> > >    3 |           maintainer.email="xen-devel@lists.xenproject.org"
> > > --------------------
> > > ERROR: failed to solve: alpine:3.18: no match for platform in manifest sha256:eece025e432126ce23f223450a0326fbebde39cdf496a85d8c016293fc851978: not found
> > > make: *** [alpine/3.18-arm64v8] Error 1
> > > 
> > > That's why I've left the prefixed images alone.
> > > 
> > > I could prefix the x86 images with amd64/ if that's preferred, I
> > > didn't try that option, as the Docker manual suggested using
> > > --platform.
> > 
> > So a few things to know, "--platform=linux/amd64" just select a
> > different build of one container. For example, for the "alpine"
> > containers, you can see all the different builds available on the docker
> > hub, here a few links:
> > - Official Docker, Alpine images, home:
> >   https://hub.docker.com/_/alpine
> > - The different builds: 
> >   https://hub.docker.com/_/alpine/tags
> > 
> > So, for amd64v8, you probably want --platform=linux/arm64/v8
> 
> Interesting, I guess I was looking at an outdated documentation that
> stated the tag as arm64v8 instead of arm64/v8.
> 
> > 
> > Then, they are per-architecture repository that make it easier to deal
> > with foreign architecture, and probably maintained by a different
> > community. e.g. for alpine arm64v8:
> >     https://hub.docker.com/r/arm64v8/alpine/
> > 
> > Those provide a build for a single architecture.
> 
> Right, so those two are not actually the same image.  I wonder whether
> we would want to uniformly switch to using --platform when possible,
> in order to make sure we are using the same (multi arch) image to
> avoid surprises.
> 
> > 
> > 
> > Sometime, you actually need to "--platform=*" to select a particular
> > architecture, like I did for "jessie-i386.dockerfile".
> > 
> > 
> > One thing I've notice when using --platform is that, if for example I
> > use the container "--platform=linux/amd64 alpine:3" then
> > "--platform=linux/arm/v6 alpine:3"; later when I only specify
> > "alpine:3", it's going to be the armv6, and I think docker is going to
> > complain if I try tu use "--platform=linux/amd64 alpine:3" without
> > "docker pull" first (or I guess docker build --pull).
> > 
> > Hope that help.
> > 
> > So I guess using containers "amd64/*" or "arm64v8/*" is fine, but
> > sometime will need to use "--platform=*".
> 
> My take is that it's better to use --platform when possible, as then
> all platforms share the same image, and the contents of the image
> should be more consistent.
> 
> I guess we could see about switching some of the image that currently
> use a prefix (like the Alpine one) in order to instead use --platform
> and share the same image.  I wouldn't want to do it in this patch
> however, as the change presented here should be non-functional, while
> switching to the multi arch image might introduce changes.

I am OK with any way forward as long as we are consistent across
architectures.

If you don't want to change the existing arm64v8 prefixes, I am fine
with that, but then I would ask you to use the amd64 prefix not to break
consistency (do not use --platform).

After that, if you prefer to use --platform, I am totally fine with that
too and it can be a follow-up patch changing the containers of both
architectures.
--8323329-1938329662-1699998439=:160649--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 21:53:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:53:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633285.987971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31LV-00059s-Eg; Tue, 14 Nov 2023 21:53:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633285.987971; Tue, 14 Nov 2023 21: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 1r31LV-00059l-By; Tue, 14 Nov 2023 21:53:21 +0000
Received: by outflank-mailman (input) for mailman id 633285;
 Tue, 14 Nov 2023 21:53: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r31LU-00059f-8p
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:53: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 3902c1bf-8338-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 22:53:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id D9D01B817C8;
 Tue, 14 Nov 2023 21:53:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 667DCC433C8;
 Tue, 14 Nov 2023 21:53: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: 3902c1bf-8338-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699998797;
	bh=3wq/nWRTF4BiSiy/83N69DAV5hHWSTBRaa4l9AyHwnc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BiGwOOOTD1AnB+7GPBHRnf2jqv3b/9ZwM4NnqOasUK5R9RUh1dA7lpwrSrVjKjOIc
	 QdHTn7WNXmOaodVlnIwdEOhUAe1vykJAEtkExyHhH5nUdV4cENnojx9uxAOdf4S26W
	 vqATzoc9eJxXs2XYe6kW8vQAI0X3t7hmTgF73Uz23HW6KV2LVx/Fm51yMtHAHozyBI
	 UbOhIxRdeOwbw+oY4dwQv0lIjf5Pjuy72bbYjno1bzQ+qq85VHFfbmqWqECCKd1vB/
	 Ml5uq+YLikdZllon8BbBhQJKbPiMN6kKMCZOaPb5gIqL6ue5nN+kNJN4HOsNsUC5JL
	 un2RzJ7dfXl6Q==
Date: Tue, 14 Nov 2023 13:53:14 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, bertrand.marquis@arm.com, julien@xen.org, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
In-Reply-To: <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311141352320.160649@ubuntu-linux-20-04-desktop>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com> <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 14 Nov 2023, Nicola Vetrini wrote:
> To be able to check for the existence of the necessary subsections in
> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
> file that is built.
> 
> This file is generated from 'C-runtime-failures.rst' in docs/misra
> and the configuration is updated accordingly.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

This is actually match better than before, thanks!

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 21:53:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:53:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633287.987981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31M3-0005ex-NU; Tue, 14 Nov 2023 21:53:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633287.987981; Tue, 14 Nov 2023 21: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 1r31M3-0005eq-KC; Tue, 14 Nov 2023 21:53:55 +0000
Received: by outflank-mailman (input) for mailman id 633287;
 Tue, 14 Nov 2023 21:53: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r31M1-00059f-Nm
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:53:53 +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 4bcf016c-8338-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 22:53:52 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 5A128CE19CC;
 Tue, 14 Nov 2023 21:53:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9055BC433C8;
 Tue, 14 Nov 2023 21:53: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: 4bcf016c-8338-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1699998826;
	bh=M6rQ3y7VlRyLAzvUKXIkVpfQ+FoQfIreJKI8tzVdrgU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GIKOV12wM6uGhvtr5yZ4itTlUGXYFVPG4I03MeX1J1RVm0gt/H8cjwok6/n+qCrlg
	 MPyRrV6KL6n790Bz0Dpgz78jIDTlCUNNboNDAVsVE3gLC8WndD+AMikn3MD8eYcucH
	 JjZvCUgXugeQYjfv14VhRCJJwUnY+56taSdT/s9X3TRZCxuCrqzLFYW179TT5xwSko
	 ZmrxBLiQhW60E16VIPHVMoMSOFnFGrQ9D0/pK4JZGvK/VSkJ49KPJlUB25xHVlxERb
	 dvcmb2fJ3qxlb1lI97OWQYTO9VsNVUbwyBv4Tbsh9WjqIyuf3ywtBeKH1bzKTLDMLi
	 JB1Mctyk/60zw==
Date: Tue, 14 Nov 2023 13:53:43 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, bertrand.marquis@arm.com, julien@xen.org, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v4 2/2] docs/misra: add guidance on the format of
 Dir 4.1 docs for ECLAIR
In-Reply-To: <c2ca76c67bfeaf1fab106af4bda6d6107e722208.1699975581.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311141353210.160649@ubuntu-linux-20-04-desktop>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com> <c2ca76c67bfeaf1fab106af4bda6d6107e722208.1699975581.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 14 Nov 2023, Nicola Vetrini wrote:
> Additional guidance on the formatting of the document for ECLAIR
> is supplied.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 21:54:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 21:54:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633289.987991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31MS-0006Ad-0R; Tue, 14 Nov 2023 21:54:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633289.987991; Tue, 14 Nov 2023 21:54: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 1r31MR-0006AW-Sg; Tue, 14 Nov 2023 21:54:19 +0000
Received: by outflank-mailman (input) for mailman id 633289;
 Tue, 14 Nov 2023 21:54: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=eqXQ=G3=casper.srs.infradead.org=BATV+a8e905033730cff805ca+7387+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r31MQ-00063j-By
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 21:54:18 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a87279e-8338-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 22:54:15 +0100 (CET)
Received: from [12.186.190.1] (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r31MD-00ANIx-Fx; Tue, 14 Nov 2023 21:54: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: 5a87279e-8338-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=lIpK2xZJXJK3e1Rw7hzsTPTJJHLZdJIeowi4R+xdxM4=; b=vKd9FbK0NWQ4w3GDGE4c9/u/gb
	b+fVtk3jHBIH3kueRYxX9R68sOe6VE6k6LskwOpLD5wa4ZeT6fRHjq3zwSGvFgYl7LNA61Fq64Qs9
	avOj8HFikZUAA7s/BJnxWxUrctBP2+wRZe/79oA7oE/sOPaVywzkJw83jdHMGkKkU7Soejht0Y0vY
	FHS1Oq2d2rvGZaOZzjvmR3QGuVrdKg0EpOT4UYxGFC885StFx5AdKUK9qTKsiJcAl4eitVg2rt1wb
	Hn92Z5+qz4iTeG06pCHm3gKas0ZYMwFdoGmyGUS7lUCuZNUy3b6wbtf4CWcFun02BXVB+UBXeZk/w
	Jg3VrDGw==;
Message-ID: <049d66a6a9ac6010d8f2a21d984cd551bc508bb6.camel@infradead.org>
Subject: Re: [PATCH v1 1/7] xen-block: Do not write frontend nodes
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, "qemu-devel@nongnu.org"
 <qemu-devel@nongnu.org>, Oleksandr Tyshchenko
 <Oleksandr_Tyshchenko@epam.com>,  Stefano Stabellini
 <sstabellini@kernel.org>, Anthony Perard <anthony.perard@citrix.com>, Paul
 Durrant <paul@xen.org>,  Kevin Wolf <kwolf@redhat.com>, Hanna Reitz
 <hreitz@redhat.com>, "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>, "open list:Block layer core"
 <qemu-block@nongnu.org>
Date: Tue, 14 Nov 2023 16:54:02 -0500
In-Reply-To: <87sf5858dn.fsf@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
	 <20231110204207.2927514-2-volodymyr_babchuk@epam.com>
	 <f2f7751a9ea5597e9f7a1417b761fe0802892aa8.camel@infradead.org>
	 <db50c864-a429-49af-9762-8bc17d5b0336@citrix.com>
	 <0F786C80-FB37-4AEB-8314-3DB4AC4600E5@infradead.org>
	 <d4eb2378-d276-47eb-a8a2-b3551020f814@citrix.com>
	 <81BF040F-EE19-4367-9C4F-94FF2623C75B@infradead.org>
	 <87sf5858dn.fsf@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-+rAfGcIUlWaQvhyppOHW"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Tue, 2023-11-14 at 21:32 +0000, Volodymyr Babchuk wrote:
>=20
> > I think we want to kill the xen_backend_set_device() function and
> > instead set the backend as a property of the XenDevice *before*
> > realizing it.
>=20
> Not sure that I got this. Right now device is property of
> XenBackendInstance. Are you proposing to make this other way around?
>=20
> Right now I am looking for a place where to store the information of
> XenDevice creator. My plan was to add "found_in_xenbus" property to
> XenDevice and set it in xen_backend_device_create.

A bit like this?

https://lore.kernel.org/qemu-devel/916e6f41e2da700375f84a2fda7b85d4b58dfb31=
.camel@infradead.org


--=-+rAfGcIUlWaQvhyppOHW
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTE0MjE1NDAyWjAvBgkqhkiG9w0BCQQxIgQg+1V0pBk5
v/7lnJol3OiaDwB7rtTQuEZYJEsuddlVjeMwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAAxxa96vjvjXeRkF7y+hMXIArkE71mSIVl
xICoHW7pZFmjUKxZ6p09UXx8/elW3sgCJWAhC6Ns74mYKhOOG8zqDBHAL5auVfnOt5n3kn2Ro3xN
fmgJuamjIKY0xYcyLIfvQGL7JkPl+r7TvqMlUps5PzjQ/xuwE3BiRFsLZXp5zPqUBtQXNNohsOhK
QgTMNeaCb0FCj1DdcIJG7xh9+qMKoqRKIll5NAWWaQ9gJG2cfVADy2IwHbiDFSds8gtSGo3ogVtZ
orz3z3l3S6XKUPFG5Y3jx9S1C1f3MjR/XoqCj71KtNn76n7ulVG8TiFnfTeu4OHM1jOWa7NXuL+r
LVOFtmVlZQ6yW8yMmTQLt7CkdjlmgrQTkMX4At8RFBLAyIFLiA1cbZ434XB+SRs06zX5dNme+tCG
sWbVf6Ohrr+Qyz6giv8mHpZ7e5myioH1WeJWud1G3k9iH7GnkFSKTW8txVAnF9qUucjVAgqLbK4p
TXrWZGxFTx8P0+qUfMXirmbckmQj4JwLn3irwMqzLfmZQu/i/8CaR7H0ammqqLRpXU+AVGLzDyt3
csPSPa8YqXfB6HccnyrOqFKDL0UbgNARn4wW/etQJWe+LK/PeksxSzYG79IRLXNStqyu/H0um+Nc
tJPboQAOVG5nOVGsnljIgFI8QBrlREp21/dE88gekAAAAAAAAA==


--=-+rAfGcIUlWaQvhyppOHW--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:11:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:11:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633296.988000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31cl-0005WJ-AP; Tue, 14 Nov 2023 22:11:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633296.988000; Tue, 14 Nov 2023 22:11: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 1r31cl-0005WC-7m; Tue, 14 Nov 2023 22:11:11 +0000
Received: by outflank-mailman (input) for mailman id 633296;
 Tue, 14 Nov 2023 22:11: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=Iys2=G3=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r31ck-0005W6-33
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:11:10 +0000
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
 [2a00:1450:4864:20::22b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5bc7080-833a-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 23:11:07 +0100 (CET)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2c501bd6ff1so83382691fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 14:11:07 -0800 (PST)
Received: from [172.25.82.51] ([12.186.190.1])
 by smtp.gmail.com with ESMTPSA id
 az36-20020a05620a172400b0077580becd52sm2954023qkb.103.2023.11.14.14.11.06
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 14 Nov 2023 14:11:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5bc7080-833a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1699999867; x=1700604667; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9IaSGSB5361qzZFyIeID5TwBWOEYpl0wwdvTqgXVhls=;
        b=bVaIfFqPblc46GfGU/FkYYMu2yGT1pyyqaLg7Lc8ZBQOEBLw80JRnp2xbi2PAOQMc8
         BbN5OSa7Y3egCSWifHWX7IhnymcWcr0EG4M10M9VHNzDflI8s0hef1qfmCWsleLNrpDw
         dfstHMfa4jolgm/bgiFDT7XXgagboipTTCDTc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1699999867; x=1700604667;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9IaSGSB5361qzZFyIeID5TwBWOEYpl0wwdvTqgXVhls=;
        b=REfZWxWqGtVO8f7ME18rjoGcZQb5gcS/iewc2HTY2G1jbCX6RuuY0GCTvwHsUKTF10
         RfPXQgrwakK1nfOB6xag/7Z7KJsEB28NXfNH1MBOQdCsQbQNxdKJUvUpB7EpZ4z+BD0r
         IsGlnCiKRZZdZsyKGWLjnVZSTXfG16K1AX23+2PNDzdNcpXOiz2MLiYdJ6bMu+Eapltg
         h6NVEJKGyyjdWiIIMCLl4yCzs9v5LVmuoSGfb2r5X/hn7+tiKhxUH5oMK3NgcE2JG4H+
         Pyn9f47bGYgnPpHnqCdWohcVS7TzQVOYqeico6/IpqUgQAzd0Ig/r1slsYWkmDK60QQB
         0EWA==
X-Gm-Message-State: AOJu0YxqXDAgxoJRg87U1jg2qn3G2hbnITwCVz5GrMfM6FZyIZ8oTGCo
	eGJ9cm4FL/PPm0ScrHsclIch3A==
X-Google-Smtp-Source: AGHT+IGAUwkMYzdJHs1myBs9B7FwrNxwoCluQTgEeq49UCbbOtHag9+sMePwfJMBBBFpaJrqS2XMlw==
X-Received: by 2002:a2e:a68f:0:b0:2c6:f51f:c96d with SMTP id q15-20020a2ea68f000000b002c6f51fc96dmr2215200lje.13.1699999867107;
        Tue, 14 Nov 2023 14:11:07 -0800 (PST)
Message-ID: <dca79398-a793-483a-83da-8dea2b28c49f@citrix.com>
Date: Tue, 14 Nov 2023 22:11:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] tools/xenstored: remove "-N" command line option
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 Edwin Torok <edvin.torok@citrix.com>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-5-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231113124309.10862-5-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 13/11/2023 12:43 pm, Juergen Gross wrote:
> The "-N" (do not daemonize) command line option is of questionable use:
> its sole purpose seems to be to aid debugging of xenstored by making it
> easier to start xenstored under gdb, or to see any debug messages
> easily.
>
> Debug messages can as well be sent to syslog(), while gdb can be
> attached to the daemon easily. The only not covered case is an error
> while initializing xenstored, but this could be handled e.g. by saving
> a core dump, which can be analyzed later.
>
> The call of talloc_enable_leak_report_full() done only with "-N"
> specified is no longer needed, as the same can be achieved via
> "xenstore-control memreport".
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

CC Edvin.

There's a patch out to specifically use this option (under systemd) to
fix a bug we found.

I can't recall the details, but I seem to recall it wasn't specific to
oxenstored.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:12:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:12:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633301.988011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31eI-0006R7-Lj; Tue, 14 Nov 2023 22:12:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633301.988011; Tue, 14 Nov 2023 22:12: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 1r31eI-0006R0-IJ; Tue, 14 Nov 2023 22:12:46 +0000
Received: by outflank-mailman (input) for mailman id 633301;
 Tue, 14 Nov 2023 22:12: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 1r31eH-0006Qu-HU
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:12: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 1r31eG-0000PN-Ub; Tue, 14 Nov 2023 22:12:44 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r31eG-0007dp-Nv; Tue, 14 Nov 2023 22:12: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=r62ZJ3GOUBlg8aH+/dMYP0mBVAWLLeanObaGFVwIVSg=; b=zqRgKoUTighEm3QOx/d2//UUQZ
	lO9tew03NjwWZKZK4OCtsAZ3UcXDOiRi8abnQ3i3WfrbsrBw9MUyxQIjA+JK8XgtIXS2mHqEEwFVX
	l729rmxTx25lgi1MU6Ua5FSWRvjuroMjOi0fGbmVe2rF+lD2CjWEcQJiWr4Hof22SgSY=;
Message-ID: <f63fa9b5-a821-49d4-88f6-7d991ab6c644@xen.org>
Date: Tue, 14 Nov 2023 22:12:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com>
 <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 14/11/2023 15:36, Nicola Vetrini wrote:
> To be able to check for the existence of the necessary subsections in
> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
> file that is built.
> 
> This file is generated from 'C-runtime-failures.rst' in docs/misra
> and the configuration is updated accordingly.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> Changes from RFC:
> - Dropped unused/useless code
> - Revised the sed command
> - Revised the clean target
> 
> Changes in v2:
> - Added explanative comment to the makefile
> - printf instead of echo
> 
> Changes in v3:
> - Terminate the generated file with a newline
> - Build it with -std=c99, so that the documentation
>    for D1.1 applies.
> Changes in v5:
> - Transform and build the file directly in the eclair-specific directory
> ---
>   automation/eclair_analysis/build.sh   | 21 +++++++++++++++++++--
>   automation/eclair_analysis/prepare.sh |  7 ++++---
>   2 files changed, 23 insertions(+), 5 deletions(-)
> 
> diff --git a/automation/eclair_analysis/build.sh b/automation/eclair_analysis/build.sh
> index ec087dd822fa..f24292ed0643 100755
> --- a/automation/eclair_analysis/build.sh
> +++ b/automation/eclair_analysis/build.sh
> @@ -33,12 +33,29 @@ else
>     PROCESSORS=6
>   fi
>   
> +runtime_failures_docs() {
> +  doc="C-runtime-failures.rst"
> +  builddir="automation/eclair_analysis"
> +
> +  cp "docs/misra/${doc}" "${builddir}"

Is it necessary to copy the .rst? IOW, would it be sufficient to use...

> +  cd "${builddir}"
> +  printf "/*\n\n" >"${doc}.tmp"
> +  sed -e 's|\*/|*//*|g' "${doc}" >>"${doc}.tmp"

... docs/misc/${doc} here?

> +  printf "\n\n*/\n" >>"${doc}.tmp"
> +  mv "${doc}.tmp" "${doc}.c"

NIT: I am not sure why you need to first create .tmp and then create.c.

> +
> +  # Cannot redirect to /dev/null because it would be excluded from the analysis
> +  "${CROSS_COMPILE}gcc-12" -std=c99 -c "${doc}.c" -o "${doc}.o"

NIT: It would be helpful to specify why -std=c99 is used. Above, you 
suggest this is to enable D1.1.

NIT: Can we define CC and use here and ...

> +  cd -
> +}
> +
>   (
> -  cd xen
> +  runtime_failures_docs
>   
>     make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
>          "CROSS_COMPILE=${CROSS_COMPILE}"         \
>          "CC=${CROSS_COMPILE}gcc-12"              \

...? This would make easier to re-use the code.

>          "CXX=${CROSS_COMPILE}g++-12"             \
> -       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"
> +       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"     \
> +       -C xen
>   )
> diff --git a/automation/eclair_analysis/prepare.sh b/automation/eclair_analysis/prepare.sh
> index 0cac5eba00ae..fe9d16e48ecc 100755
> --- a/automation/eclair_analysis/prepare.sh
> +++ b/automation/eclair_analysis/prepare.sh
> @@ -35,11 +35,12 @@ else
>   fi
>   
>   (
> -    cd xen
> -    cp "${CONFIG_FILE}" .config
> +    ./configure
> +    cp "${CONFIG_FILE}" xen/.config
>       make clean
>       find . -type f -name "*.safparse" -print -delete
> -    make -f ${script_dir}/Makefile.prepare prepare
> +    cd xen
> +    make -f "${script_dir}/Makefile.prepare" prepare
>       # Translate the /* SAF-n-safe */ comments into ECLAIR CBTs
>       scripts/xen-analysis.py --run-eclair --no-build --no-clean
>   )

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:13:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:13:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633304.988020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31fO-000725-3J; Tue, 14 Nov 2023 22:13:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633304.988020; Tue, 14 Nov 2023 22:13: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 1r31fO-00071y-0l; Tue, 14 Nov 2023 22:13:54 +0000
Received: by outflank-mailman (input) for mailman id 633304;
 Tue, 14 Nov 2023 22:13: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 1r31fM-00071s-Ip
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:13: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 1r31fM-0000Qi-59; Tue, 14 Nov 2023 22:13:52 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r31fL-0007dp-Rx; Tue, 14 Nov 2023 22:13: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=M/4nKc+M+LXtLRIpeurrSTssxox1I3awedw0XjUfciU=; b=OI3vvx00ppoBqV/PJj8rsh+moE
	Arpj0fH+afffnpnMksj3pZEM0/0DOjGqDGBFLLqBGPy16pRYwdwVW9OUj5vl5LZSFRuZ196kJd6vn
	NZsUK9d4OK5Xy9eMyh3d5qQQhoh1eNYAHJWgcX+TiXsENKWFSwO8Pa5xLhLUedTfPVYc=;
Message-ID: <b0951c7a-dfff-479d-b33a-32b0f58cb00f@xen.org>
Date: Tue, 14 Nov 2023 22:13:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4 2/2] docs/misra: add guidance on the format of Dir
 4.1 docs for ECLAIR
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com>
 <c2ca76c67bfeaf1fab106af4bda6d6107e722208.1699975581.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c2ca76c67bfeaf1fab106af4bda6d6107e722208.1699975581.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 14/11/2023 15:36, Nicola Vetrini wrote:
> Additional guidance on the formatting of the document for ECLAIR
> is supplied.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:16:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:16:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633308.988032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31ht-0007iy-HP; Tue, 14 Nov 2023 22:16:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633308.988032; Tue, 14 Nov 2023 22:16: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 1r31ht-0007ir-D2; Tue, 14 Nov 2023 22:16:29 +0000
Received: by outflank-mailman (input) for mailman id 633308;
 Tue, 14 Nov 2023 22:16: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=krWi=G3=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r31hr-0007ih-M7
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:16:27 +0000
Received: from m35-190.mailgun.net (m35-190.mailgun.net [69.72.35.190])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 73555cbc-833b-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 23:16:26 +0100 (CET)
Received: from mg.gitlab.com (22.226.74.34.bc.googleusercontent.com
 [34.74.226.22]) by
 9d1c61f0274c with SMTP id 6553f1b8f6aba46b4c37d887 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 14 Nov 2023 22:16:24 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 73555cbc-833b-11ee-98db-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700000184; x=1700007384; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=YCqc3MoEIhCTRQ90IIrIQrhNLNsqQ349Prib+GPO99c=;
 b=QAholz1rWGRPQigyVNiL/5erHJ9dgsljfAokKvg4Sz57kVZSvaV2gR+jp7yml7vZj2GUYIS8GDMyIM9R9l9u2gLKkuMtj1kQnKksiImKlkbh9Wsu4cgJ2Y6bXLDs39IaUH2BdGoDBwf46tcNt/0Fe7uNl65jviZDR6RG60S5I/c=
X-Mailgun-Sending-Ip: 69.72.35.190
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 14 Nov 2023 22:16:24 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6553f1b86683e_2c9b3e87698c@gitlab-sidekiq-catchall-v2-596fb8b6d7-jmcbt.mail>
Subject: xen | Successful pipeline for stable-4.15 | b918c4cd
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6553f1b85cf08_2c9b3e876869";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1072669753
X-GitLab-Pipeline-Ref: stable-4.15
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6553f1b85cf08_2c9b3e876869
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1072669753 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: stable-4.15 ( https://gitlab.com/xen-project/xen/-/commits/stable-4.15 )

Commit: b918c4cd ( https://gitlab.com/xen-project/xen/-/commit/b918c4cdc7ab2c1c9e9a9b54fa9d9c595913e028 )
Commit Message: x86/spec-ctrl: Remove conditional IRQs-on-ness ...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1072669753 ( https://gitlab.com/xen-project/xen/-/pipelines/1072669753 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 3 jobs in 1 stage.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6553f1b85cf08_2c9b3e876869
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for stable-4.15 | b918c4cd</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1072669753 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
table-4.15" style=3D"color: #333333; text-decoration: none;">
stable-4.15
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/b918c4cdc7ab2c1c9e=
9a9b54fa9d9c595913e028" style=3D"color: #3777b0; text-decoration: none;">=
b918c4cd</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86/spec-ctrl: Remove conditional IRQs-on-ness ...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107266=
9753" style=3D"color: #3777b0; text-decoration: none;">#1072669753</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 3 jobs in 1 stage.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6553f1b85cf08_2c9b3e876869--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:19:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633338.988040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31kQ-0000Zh-V5; Tue, 14 Nov 2023 22:19:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633338.988040; Tue, 14 Nov 2023 22:19: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 1r31kQ-0000Za-ST; Tue, 14 Nov 2023 22:19:06 +0000
Received: by outflank-mailman (input) for mailman id 633338;
 Tue, 14 Nov 2023 22: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 1r31kO-0000Z8-Rs; Tue, 14 Nov 2023 22: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 1r31kO-0000WR-On; Tue, 14 Nov 2023 22: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 1r31kO-0003Ry-BQ; Tue, 14 Nov 2023 22:19:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r31kO-0007DY-8j; Tue, 14 Nov 2023 22: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:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=dyBuTmFOpnaJmDaxtWiOt/NfMTlJSosi2GdJljpHa3c=; b=FQWvBfTNXczXo6EpKWVxuq+tUY
	IOpUVoiIRTNtoVfG3B3R28GIyKNQTrpLM0jN6CiHj+jLGNUOJOP3KXtkBv94V289cf0moyN437C58
	YoCQQWkkul6jso4W5zPkSXfYFpW4CLwPlLdzgJIWK7JMoYz9kl3EU5TsPRIraGbLIdTc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183751-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.15-testing test] 183751: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.15-testing:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    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-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.15-testing:test-amd64-i386-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-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-amd64-i386-xl-qemuu-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-xsm:migrate-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-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-amd64-amd64-libvirt:migrate-support-check: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-vhd: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-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-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-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-amd64-i386-libvirt-raw:migrate-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-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-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-xl:migrate-support-check:fail:nonblocking
    xen-4.15-testing:test-armhf-armhf-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-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-libvirt: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-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-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-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-raw:migrate-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-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=b918c4cdc7ab2c1c9e9a9b54fa9d9c595913e028
X-Osstest-Versions-That:
    xen=4a4daf6bddbe8a741329df5cc8768f7dec664aed
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Nov 2023 22:19:04 +0000

flight 183751 xen-4.15-testing real [real]
flight 183756 xen-4.15-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/183751/
http://logs.test-lab.xenproject.org/osstest/logs/183756/

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 183756-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183342
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183342
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183342
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183342
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183342
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183342
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183342
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183342
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183342
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183342
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183342
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183342
 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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    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      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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-amd64-i386-libvirt-raw  14 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-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          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-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-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-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-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-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:
 xen                  b918c4cdc7ab2c1c9e9a9b54fa9d9c595913e028
baseline version:
 xen                  4a4daf6bddbe8a741329df5cc8768f7dec664aed

Last test of basis   183342  2023-10-11 06:07:06 Z   34 days
Testing same since   183751  2023-11-14 13:06:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Roger Pau Monne <roger.pau@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                 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                       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-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-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
   4a4daf6bdd..b918c4cdc7  b918c4cdc7ab2c1c9e9a9b54fa9d9c595913e028 -> stable-4.15


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:20:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:20:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633346.988051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31le-0002cN-DP; Tue, 14 Nov 2023 22:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633346.988051; Tue, 14 Nov 2023 22:20: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 1r31le-0002cG-Ap; Tue, 14 Nov 2023 22:20:22 +0000
Received: by outflank-mailman (input) for mailman id 633346;
 Tue, 14 Nov 2023 22:20: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r31lc-0002ay-Ln
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:20: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 feb18743-833b-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 23:20:19 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id D0DA8B8164E;
 Tue, 14 Nov 2023 22:20:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 283E7C433C7;
 Tue, 14 Nov 2023 22:20: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: feb18743-833b-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700000418;
	bh=NGBA853ibDxtMnFW3f0ECDX3vjWUoc4l/aGPK2xj0xE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WxPo15IekiIHvcukxAOI6bojhiJlsmyN8g+Jk7W39lYoYQsbtuaCMI5bxAQ3WYo3E
	 2XHr5lk7sgQB/FKh+dUjFhncFSnBYa3jEJspKebjHmKlRRqYV1yfE+npuMLwvAZHX8
	 zfKdg50NlAqQy0vsnDrKlLghFLyexEBYXFOHJ89Is1tuvGXrRKA9gSq2xgQF5wRxmj
	 vj09MT3Ul2U+u4eX/LrCKgDD9IMkHyqazStM5XKv++RBxWosWfEwFLHHlC3S/Vsag/
	 X5HeTxgEXZfiKToV92v33KOYkNSeLLPagUssP85DUAxFRANCyVVyz/iLsE3f6GsgbT
	 kR3k+9rNAUN6g==
Date: Tue, 14 Nov 2023 14:20:13 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Robin Murphy <robin.murphy@arm.com>
cc: Chuck Zmudzinski <brchuckz@aol.com>, linux-arm-kernel@lists.infradead.org, 
    Russell King <linux@armlinux.org.uk>, Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
    Marek Szyprowski <m.szyprowski@samsung.com>, 
    Andrew Morton <akpm@linux-foundation.org>, 
    Mathieu Poirier <mathieu.poirier@linaro.org>, 
    Greg Kroah-Hartman <gregkh@linuxfoundation.org>, 
    "Matthew Wilcox (Oracle)" <willy@infradead.org>, 
    Linus Walleij <linus.walleij@linaro.org>, Jason Gunthorpe <jgg@ziepe.ca>, 
    Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>, 
    Mario Marietto <marietto2008@gmail.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
In-Reply-To: <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com>
Message-ID: <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
References: <20231111184538.2371-1-brchuckz.ref@aol.com> <20231111184538.2371-1-brchuckz@aol.com> <e5ebfde9-7a74-4908-b0b9-db47c4e76315@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, 14 Nov 2023, Robin Murphy wrote:
> On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
> > Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error when
> > attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook Snow
> > (and probably on other devices that use the Exynos mixer):
> > 
> > [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
> > exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
> > exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR* Device
> >                               14450000.mixer lacks support for IOMMU
> > exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc0d97554): -22
> > exynos-drm exynos-drm: adev bind failed: -22
> > exynos-dp: probe of 145b0000.dp-controller failed with error -22
> > 
> > Linux normally uses xen_swiotlb_dma_ops for DMA for all devices when
> > xen_swiotlb is detected even when Xen exposes an IOMMU to Linux. Enabling
> > the new config option allows devices such as the Exynos mixer to use the
> > IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the error.
> > 
> > The new config option is not set by default because it is likely some
> > devices that use IOMMU for DMA on Xen will cause DMA errors and memory
> > corruption when Xen PV block and network drivers are in use on the system.
> > 
> > Link:
> > https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netscape.net/
> > 
> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> > ---
> > The reported error with the Exynos mixer is not fixed by default by adding
> > a second patch to select the new option in the Kconfig definition for the
> > Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it is
> > not certain setting the config option is suitable for all cases. So it is
> > necessary to explicitly select the new config option during the config
> > stage of the Linux kernel build to fix the reported error or similar
> > errors that have the same cause of lack of support for IOMMU on Xen. This
> > is necessary to avoid any regressions that might be caused by enabling the
> > new option by default for the Exynos mixer.
> >   arch/arm/mm/dma-mapping.c |  6 ++++++
> >   drivers/xen/Kconfig       | 16 ++++++++++++++++
> >   2 files changed, 22 insertions(+)
> > 
> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> > index 5409225b4abc..ca04fdf01be3 100644
> > --- a/arch/arm/mm/dma-mapping.c
> > +++ b/arch/arm/mm/dma-mapping.c
> > @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev, u64
> > dma_base, u64 size,
> >   	if (iommu)
> >   		arm_setup_iommu_dma_ops(dev, dma_base, size, iommu, coherent);
> >   +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
> 
> FWIW I don't think this really needs a config option - if Xen *has* made an
> IOMMU available, then there isn't really much reason not to use it, and if for
> some reason someone really didn't want to then they could simply disable the
> IOMMU driver anyway.

The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen
doesn't recognize the Exynos IOMMU (it is not one of the IOMMUs Xen has
a driver for) so it assigns the IOMMU to Dom0. It doesn't happen on
purpose, it happens by accident. Certain things are going to break,
specifically I am fairly certain PV drivers are going to break.

If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide it
from Dom0. (Today Xen doesn't have a list of IOMMUs Xen recognizes but
doesn't have a driver for.)

I think it is OK for Chuck and others to play around with this
configuration but I wouldn't add a new kconfig option to Linux to
support it.

If we do want a kconfig option, I would add a kconfig option or Linux
command line option to enable/disable swiotlb-xen. Basically a way to
force-enable or force-disable xen_swiotlb_detect(). That could be
generally useful for debugging and would also solve the problem here as
it could be used to force-disable swiotlb-xen. I would imagine that the
end result is the same: the default ops (iommu_ops) are used.



> > +	if (dev->dma_ops == &iommu_ops) {
> > +		dev->archdata.dma_ops_setup = true;
> 
> The existing assignment is effectively unconditional by this point anyway, so
> could probably just be moved earlier to save duplicating it (or perhaps just
> make the xen_setup_dma_ops() call conditional instead to save the early return
> as well).
> 
> However, are the IOMMU DMA ops really compatible with Xen? The comments about
> hypercalls and foreign memory in xen_arch_need_swiotlb() leave me concerned
> that assuming non-coherent DMA to any old Dom0 page is OK might not actually
> work in general :/

Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the
IOMMU while also it exposes a virtual IOMMU to guests.) In those cases
the iommu_ops should be compatible with Xen.

swiotlb-xen is useful in cases where there is no IOMMU on the platform
(or the IOMMU doesn't cover all DMA-capable devices) and Dom0 is 1:1
mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0 is
not 1:1 mapped swiotlb-xen doesn't work. If an IOMMU is present and
covers all DMA-capable devices, then swiotlb-xen is superfluous. This
last case is the interesting case for virtual IOMMU and Linux usage of
iommu_ops.


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:24:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:24:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633353.988068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31p7-0004oe-UT; Tue, 14 Nov 2023 22:23:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633353.988068; Tue, 14 Nov 2023 22:23: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 1r31p7-0004oX-S1; Tue, 14 Nov 2023 22:23:57 +0000
Received: by outflank-mailman (input) for mailman id 633353;
 Tue, 14 Nov 2023 22:23: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r31p6-0004oR-IK
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:23:56 +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 7ec4a44d-833c-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 23:23:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 0054D61435;
 Tue, 14 Nov 2023 22:23:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2865DC433C7;
 Tue, 14 Nov 2023 22:23:53 +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: 7ec4a44d-833c-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700000633;
	bh=nXRLSfWFZT8IFeImbnS0Gj+Wpndo9fMxe4tRFlFpURs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=uaG8SDWBNIdnKi6Hyiyn9M/+FRCnF+B4gkTPwCZJF7YfrwoYefKxqnT5FNqTAjuJ7
	 gvLSHTAKRJutx8KcU2Q5dEH3OnJLtGpZ3RTp6QYmgQzdAyw9/7Q+bNvEEViSIrzgQJ
	 TbbW9bSRCNH8FEGSdfjGuuW5onqIIpA9Fe22pSbxxSdE7KLeF9AbOvNS3bEw3tQHCQ
	 G0eXkpeMWV/dIUn2Or5It7VXhTMVigKPA8PFzXOu2fAmcsb4U6mTGj3fZ85ybBeTMW
	 5HEYqCh3HYD+klJ1gZ6pAJAEQ/aOilHld+SLA/MhKqXLzLJFTIDq4h4G+4RnLEdXb4
	 HyIrzVEKnH7vQ==
Date: Tue, 14 Nov 2023 14:23:51 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org
Subject: Re: [ImageBuilder] Add 'bootz' to a list of supported boot
 commands
In-Reply-To: <20231114151535.53409-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2311141423450.160649@ubuntu-linux-20-04-desktop>
References: <20231114151535.53409-1-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 14 Nov 2023, Michal Orzel wrote:
> At the moment, in order to boot 32-bit images, we need to set BOOT_CMD
> to 'bootm' which results in adding a u-boot header on top of an image.
> Add 'bootz' to a list of supported boot commands, so that we can skip
> this extra step. In most cases, specifying 'bootm' should only be needed
> for images without Linux kernel Image/zImage header. Otherwise, we can
> use 'booti'/'bootz'.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  README.md                | 4 ++--
>  scripts/uboot-script-gen | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/README.md b/README.md
> index fe5d2052cc69..3b4b16f1f7e4 100644
> --- a/README.md
> +++ b/README.md
> @@ -80,8 +80,8 @@ Where:
>    though.
>  
>  - BOOT_CMD specifies the u-boot command used to boot the binaries.
> -  By default, it is 'booti'. The acceptable values are 'booti', 'bootm'
> -  and 'bootefi' and 'none'. If the value is 'none', the BOOT_CMD is not
> +  By default, it is 'booti'. The acceptable values are 'booti', 'bootm',
> +  'bootz' and 'bootefi' and 'none'. If the value is 'none', the BOOT_CMD is not
>    added to the boot script, and the addresses for the Xen binary and the
>    DTB are stored in 'host_kernel_addr' and 'host_fdt_addr' u-boot
>    env variables respectively, to be used manually when booting.
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index 6e52da5e2aca..9e3d86e4743a 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -1041,7 +1041,7 @@ function check_depends()
>  
>  function check_boot_cmd()
>  {
> -    if ! [[ " bootm booti bootefi none " =~ " ${BOOT_CMD}" ]]
> +    if ! [[ " bootm booti bootz bootefi none " =~ " ${BOOT_CMD}" ]]
>      then
>          echo "\"BOOT_CMD=$BOOT_CMD\" is not valid"
>          exit 1
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:26:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:26:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633358.988078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31rr-0005pY-BZ; Tue, 14 Nov 2023 22:26:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633358.988078; Tue, 14 Nov 2023 22:26: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 1r31rr-0005pR-8z; Tue, 14 Nov 2023 22:26:47 +0000
Received: by outflank-mailman (input) for mailman id 633358;
 Tue, 14 Nov 2023 22:26: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r31rp-0005i1-PF
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:26: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 e4a6d31c-833c-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 23:26:45 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id DDC50B8164E;
 Tue, 14 Nov 2023 22:26:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BCF79C433C7;
 Tue, 14 Nov 2023 22:26: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: e4a6d31c-833c-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700000804;
	bh=J5kJvILIRL9L1Qz83M/WsLN/jdo9Cck5RHjqYTJVihA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=P9mUV9EM6ahmDcwDnbgGT0cPhCAvWS3gXwpR36eomlgI1UAw7Y9dfnGoIsOrcJNow
	 tbCcFD1ZbGYQ25yFZ4+nGM/udEpRDA2Kszlc6B55xUxMV2zV6vKdjVYzW3SX5QT52h
	 2MvOrTrFiutTgrq6yzrS4ut/i8/kQ/eHbX1lXEEo0o+G2k6Y2OT+vtym2ieJs0gsM8
	 +hwhxIVGwZTXshY9ZF07uP2edjvLjSJZ4J/E3JNn5BjoGJSDiJTqn3jr8mhfiwTU69
	 SoGmqlU8pCP7Vv+VT2Izcy8Izfz1Qx48TFVWKIQNRQOJJLXxmWbw2vrlAKYBa+S2AI
	 pAD/XZttS5f+w==
Date: Tue, 14 Nov 2023 14:26:40 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH v2] automation/eclair: add a deviation for MISRA
 C:2012 Rule 8.6
In-Reply-To: <b9eee04bb7c6436f4951a8737eee60c68cda9df7.1699893554.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311141426300.160649@ubuntu-linux-20-04-desktop>
References: <b9eee04bb7c6436f4951a8737eee60c68cda9df7.1699893554.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 14 Nov 2023, Federico Serafini wrote:
> Update ECLAIR configuration to take into account the search
> procedure adopted by Unix linkers.
> Update deviations.rst accordingly and tag Rule 8.6 as "clean".
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:28:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:28:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633363.988089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r31tQ-00070v-Mc; Tue, 14 Nov 2023 22:28:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633363.988089; Tue, 14 Nov 2023 22:28: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 1r31tQ-00070o-JM; Tue, 14 Nov 2023 22:28:24 +0000
Received: by outflank-mailman (input) for mailman id 633363;
 Tue, 14 Nov 2023 22:28: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r31tP-00070i-EE
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:28:23 +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 1e6754a6-833d-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 23:28:22 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id DF326B8179D;
 Tue, 14 Nov 2023 22:28:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FEC5C433C8;
 Tue, 14 Nov 2023 22:28:18 +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: 1e6754a6-833d-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700000901;
	bh=AB2crUMf6wX6IRWgiYGffA4wpqcoSbf9thMYfTdb6tc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cF22DnlALlYWIzL2lIWcVxvvf6haqczjLxbX8FXqV7/4UxqQQg2qzuimRmEh4r4oo
	 v0V51/1yS/X7x4woQnXwGBGt0UnR8u0wkteg9LnVIPzVTBdH8z1vcgUWFJqshhrGMQ
	 /5ZLSxmDAKRPEmZl9sokP/+G0W7NQgvWlQ+xbSpcjEuRN6kqJlovF/6PuCXxTzMIcl
	 gB1JUu+C+hiilxqS957bmLpO5i0GSCTSKNZup3qgnpCixqsaO90DBghwpPvW4gPifd
	 44aIz64yXagZq0zKt9eJA+qA7hMwtDITpbnyhwHU1DWaaofU96ot14l+PmJZyEEpzi
	 7ep58bW0DCZ3A==
Date: Tue, 14 Nov 2023 14:28:17 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v4] xen: address violations of Rule 11.9
In-Reply-To: <664811f5d165e8165501d2062e694062@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311141427270.160649@ubuntu-linux-20-04-desktop>
References: <b8a82daf5862287bda9545d7e672ce98e49004a2.1697701358.git.nicola.vetrini@bugseng.com> <b7df2987-ab46-bb09-4440-e743018561ad@suse.com> <alpine.DEB.2.22.394.2311131557210.160649@ubuntu-linux-20-04-desktop> <82637305-58ff-3204-09f4-13a1f2c969fb@suse.com>
 <664811f5d165e8165501d2062e694062@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 14 Nov 2023, Nicola Vetrini wrote:
> On 2023-11-14 08:19, Jan Beulich wrote:
> > On 14.11.2023 00:58, Stefano Stabellini wrote:
> > > On Mon, 13 Nov 2023, Jan Beulich wrote:
> > > > On 19.10.2023 09:55, Nicola Vetrini wrote:
> > > > > The constant 0 is used instead of NULL in '__ACCESS_ONCE' as a
> > > > > compile-time check to detect non-scalar types; its usage for this
> > > > > purpose is deviated.
> > > > > 
> > > > > Furthermore, the 'typeof_field' macro is introduced as a general way
> > > > > to access the type of a struct member without declaring a variable
> > > > > of struct type. Both this macro and 'sizeof_field' are moved to
> > > > > 'xen/macros.h'.
> > > > > 
> > > > > No functional change intended.
> > > > > 
> > > > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > > > > Reviewed-by: Jan Beulich <jbeulich@suse.com>
> > > > > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > > > > ---
> > > > > Changes in v2:
> > > > > - added entry in deviations.rst
> > > > > Changes in v3:
> > > > > - dropped access_field
> > > > > - moved macro to macros.h
> > > > > ---
> > > > > Changes in v4:
> > > > > - Amend deviation record.
> > > > > ---
> > > > >  automation/eclair_analysis/ECLAIR/deviations.ecl |  9 +++++++++
> > > > >  docs/misra/deviations.rst                        |  6 ++++++
> > > > >  xen/include/xen/compiler.h                       |  8 --------
> > > > >  xen/include/xen/kernel.h                         |  2 +-
> > > > >  xen/include/xen/macros.h                         | 16
> > > > > ++++++++++++++++
> > > > >  5 files changed, 32 insertions(+), 9 deletions(-)
> > > > 
> > > > I tried to commit this patch, but ...
> > > > 
> > > > > diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > > > b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > > > index fa56e5c00a27..28d9c37bedb2 100644
> > > > > --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > > > +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > > > @@ -246,6 +246,15 @@ constant expressions are required.\""
> > > > >    "any()"}
> > > > >  -doc_end
> > > > > 
> > > > > +#
> > > > > +# Series 11
> > > > > +#
> > > > > +
> > > > > +-doc_begin="This construct is used to check if the type is scalar,
> > > > > and for this purpose the use of 0 as a null pointer constant is
> > > > > deliberate."
> > > > > +-config=MC3R1.R11.9,reports+={deliberate,
> > > > > "any_area(any_loc(any_exp(macro(^__ACCESS_ONCE$))))"
> > > > > +}
> > > > > +-doc_end
> > > > > +
> > > > >  #
> > > > >  # Series 13
> > > > >  #
> > > > 
> > > > ... this change doesn't apply, and I also can't see how it would. There
> > > > were
> > > > no dependencies specified, so it's also not clear on top of which other
> > > > (ready to be committed) patch(es) this might have been meant to apply.
> > > > Please
> > > > resubmit in a shape applicable to the staging branch.
> > > 
> > > The order doesn't matter in that file, you can place # Series 11 just
> > > after # Series 10
> > 
> > That would have been one of the possible guesses. Yet then ...
> > 
> > > --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > @@ -274,6 +274,15 @@ still non-negative."
> > >  -config=MC3R1.R10.1,etypes+={safe,
> > > "stmt(operator(logical)||node(conditional_operator||binary_conditional_operator))",
> > > "dst_type(ebool||boolean)"}
> > >  -doc_end
> > > 
> > > +#
> > > +# Series 11
> > > +#
> > > +
> > > +-doc_begin="This construct is used to check if the type is scalar, and
> > > for this purpose the use of 0 as a null pointer constant is deliberate."
> > > +-config=MC3R1.R11.9,reports+={deliberate,
> > > "any_area(any_loc(any_exp(macro(^__ACCESS_ONCE$))))"
> > > +}
> > > +-doc_end
> > > +
> > >  ### Set 3 ###
> > 
> > ... there is this grouping by sets as well.
> > 
> 
> +Stefano
> 
> I think the culprit here is that this commit 699899f44d09
> was never merged with 4.19. Is that correct? My own tree is rebased
> against that.

699899f44d09 is "automation/eclair: update deviations and accepted
guidelines" and should go in.

I'll wait until the release which should be imminent and then commit
both commits (if Jan doesn't beat me to it)


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:38:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:38:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633369.988099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r322c-0001nu-I2; Tue, 14 Nov 2023 22:37:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633369.988099; Tue, 14 Nov 2023 22: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 1r322c-0001nn-FC; Tue, 14 Nov 2023 22:37:54 +0000
Received: by outflank-mailman (input) for mailman id 633369;
 Tue, 14 Nov 2023 22:37: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r322b-0001nh-BA
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:37: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 712443b3-833e-11ee-98db-6d05b1d4d9a1;
 Tue, 14 Nov 2023 23:37:51 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id E53E2614BE;
 Tue, 14 Nov 2023 22:37:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4F600C433C9;
 Tue, 14 Nov 2023 22:37: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: 712443b3-833e-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700001469;
	bh=yOE4bTOxcIO+/lKvnL6+2Wwcmz1beT1Zmcaf1EQj4TE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=gIM1RGIaBipC2M41XT3S1Zx/1MDGNaZSU3hnhqHnI962A7Lj7dJlI2UsmkB9nhZ++
	 ZyRSmyrsHzIVFg6lzEWIx1YR1HWRRgpcW076zx5/c+i5XTnM1vBJJoLYdjf8ND3KmJ
	 KbIWaz1WyEExlSCJ5NvPxGWJr+HJd5TleFSoGtJ45/Cgr0p+Lvss2tH3Rn0uxcQxm7
	 1Nk7zE0cx6hjS96ikr53Md0r7QgBsnHmOzSafSVxgZbtxaUWZEOk25AhNME0nvs/tp
	 cNBWzhKxqHDnUqtSKiwqCVMgfF38+ylwsxmNOTyi3cuX+27fxe3u5qV0m8zuRzunag
	 EFigo1tbK/VeQ==
Date: Tue, 14 Nov 2023 14:37:46 -0800 (PST)
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>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH] docs/misra: add R11.1 R11.2 R11.3 R11.6
In-Reply-To: <6695fcfb-0762-e48b-69d2-3871a3acaad6@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311141431090.160649@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2311131540490.160649@ubuntu-linux-20-04-desktop> <6695fcfb-0762-e48b-69d2-3871a3acaad6@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, 14 Nov 2023, Jan Beulich wrote:
> On 14.11.2023 00:44, Stefano Stabellini wrote:
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -383,6 +383,38 @@ maintainers if you want to suggest a change.
> >  
> >         CFLAGS="-Warith-conversion -Wno-error=arith-conversion" make -C xen
> >  
> > +   * - `Rule 11.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_01.c>`_
> > +     - Required
> > +     - Conversions shall not be performed between a pointer to a
> > +       function and any other type
> > +     - All conversions to integer types are permitted if the destination
> > +       type has enough bits to hold the entire value. Conversions to
> > +       bool and void* are permitted.
> > +
> > +   * - `Rule 11.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_02.c>`_
> > +     - Required
> > +     - Conversions shall not be performed between a pointer to an
> > +       incomplete type and any other type
> > +     - All conversions to integer types are permitted if the destination
> > +       type has enough bits to hold the entire value. Conversions to
> > +       bool and void* are permitted.
> 
> Assuming the rule's exception 2 really means void, not void*, the mentioning
> of void* here is still fine.
> 
> > +   * - `Rule 11.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_03.c>`_
> > +     - Required
> > +     - A cast shall not be performed between a pointer to object type
> > +       and a pointer to a different object type
> > +     - All conversions to integer types are permitted if the destination
> > +       type has enough bits to hold the entire value. Conversions to
> > +       bool and void* are permitted.
> 
> Here and ...
> 
> > +   * - `Rule 11.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_06.c>`_
> > +     - Required
> > +     - A cast shall not be performed between pointer to void and an
> > +       arithmetic type
> > +     - All conversions to integer types are permitted if the destination
> > +       type has enough bits to hold the entire value. Conversions to
> > +       bool and void* are permitted.
> 
> ... here, however I consider its mentioning misleading: "void" is neither
> an object type nor an arithmetic one.

Yes I think here it is misleading. I'll remove the mention of void* for
Rule 11.6. I'll keep it for Rule 11.1 and 11.2.

For Rule 11.3, I think I should remove the entire note as it is not
helpful.


---
[PATCH v2] docs/misra: add R11.1 R11.2 R11.3 R11.6

Add MISRA C Rules 11.1, 11.2, 11.3, 11.6 as discussed.

Explicitly add in the notes that conversions to integer types are
permitted if the destination type has enough bits to hold the entire
value. GCC gives enough guarantees in terms of preserving the bit
content in such situations.

Also allow for bool conversions (e.g. to check if a function point is
valid).

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index aa65eb4dd0..da343ab3ac 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -383,6 +383,36 @@ maintainers if you want to suggest a change.
 
        CFLAGS="-Warith-conversion -Wno-error=arith-conversion" make -C xen
 
+   * - `Rule 11.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_01.c>`_
+     - Required
+     - Conversions shall not be performed between a pointer to a
+       function and any other type
+     - All conversions to integer types are permitted if the destination
+       type has enough bits to hold the entire value. Conversions to
+       bool and void* are permitted.
+
+   * - `Rule 11.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_02.c>`_
+     - Required
+     - Conversions shall not be performed between a pointer to an
+       incomplete type and any other type
+     - All conversions to integer types are permitted if the destination
+       type has enough bits to hold the entire value. Conversions to
+       bool and void* are permitted.
+
+   * - `Rule 11.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_03.c>`_
+     - Required
+     - A cast shall not be performed between a pointer to object type
+       and a pointer to a different object type
+     -
+
+   * - `Rule 11.6 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_06.c>`_
+     - Required
+     - A cast shall not be performed between pointer to void and an
+       arithmetic type
+     - All conversions to integer types are permitted if the destination
+       type has enough bits to hold the entire value. Conversions to
+       bool are permitted.
+
    * - `Rule 11.7 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_11_07.c>`_
      - Required
      - A cast shall not be performed between pointer to object and a noninteger arithmetic type


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:51:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:51:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633375.988109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r32FV-0007YB-Qm; Tue, 14 Nov 2023 22:51:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633375.988109; Tue, 14 Nov 2023 22:51: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 1r32FV-0007Y4-Nh; Tue, 14 Nov 2023 22:51:13 +0000
Received: by outflank-mailman (input) for mailman id 633375;
 Tue, 14 Nov 2023 22:51: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r32FT-0007WQ-Vq
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:51:11 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4c4ec507-8340-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 23:51:09 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id CD3AACE19CC;
 Tue, 14 Nov 2023 22:51:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E7F24C433C7;
 Tue, 14 Nov 2023 22:51: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: 4c4ec507-8340-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700002264;
	bh=rXuPcuKblQ2qAoyXc/SDPOPFr8+f293u7eK/92quR5Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Eb8U/L38nFzq6mMT36GVhM97JJgbS1W8aonl8XfYPfHGtt00sgriditvwjDxRPwph
	 b40Ij7gnvP2GE0dQN68gP97/IZhMISWDRM11pouwzEyZ64CRkDSwOAOfIPcRZoOhJW
	 FoeaRz/xdmyheE7T/hb+4fkHbbVErZ0X9XigM9MpHDWi43BQcZq+thaQTK8MPzV3/d
	 ECmEKqodx720LxFibC4445sxUQGnUQvVuDoF+XyhEvTEmuLepudmNlemmNv55ac3cs
	 GDLbGbb1kf8hkjm8q0I3zO0SWjHbClQ3c00jBtK8eFZGQqCAxYVAVlDjF/sBMX7QQk
	 dXmZmsl84q2lA==
Date: Tue, 14 Nov 2023 14:51:01 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Mario Marietto <marietto2008@gmail.com>
cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    Chuck Zmudzinski <brchuckz@netscape.net>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
In-Reply-To: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop>
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-2014568259-1700002169=:160649"
Content-ID: <alpine.DEB.2.22.394.2311141449350.160649@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-2014568259-1700002169=:160649
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311141449351.160649@ubuntu-linux-20-04-desktop>

Hi Mario,

It is difficult to know how to change uboot-script-gen if we don't know
why it is currently going wrong.

uboot-script-gen assumes that the memory range specified by
MEMORY_START-MEMORY_END is valid and correct.

So if you specified a valid and correct memory range in your config file
(0x41e00000-0x60000000) why is it failing?

The only thing uboot-script-gen does is choosing aligned addresses
within the MEMORY_START-MEMORY_END range. The addresses are supposed not
to overlap (meaning the initrd will not overwrite part of the kernel
when loaded). If the issue is a bug in uboot-script-gen, such as the
generated addresses overlap or they are not aligned, then we can fix the
alignment or overlap bug. To debug this kind of issues please post:
- the imagebuilder config file
- the generate boot.source script
- the size of all the binaries specified in the imagebuilder config file

On the other hand if 0x41e00000-0x60000000 is not a safe memory range to
use, then you need to specify a different memory range.

Cheers,

Stefano



On Mon, 13 Nov 2023, Mario Marietto wrote:
> Hello.
> 
> I'm trying to find an easier way to the problem that you can read here :
> 
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest
> 
> where Chuck says :
> 
>  6. Create the u-boot shell commands that will be used to boot Xen and dom0.
> 
> Create a file in /home/user (or any other directory) named bootxen.source with these contents :
> 
> 
> mmc dev 1 && mmc rescan 1
> ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
> ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
> fdt addr 0x5ffec000
> fdt resize 1024
> fdt set /chosen \#address-cells <0x2>
> fdt set /chosen \#size-cells <0x2>
> fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native"
> fdt mknod /chosen dom0
> fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
> fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> bootm 0x51000000 - 0x5ffec000
> 
> The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from the uboot-script-gen script
> available from here :
> 
> 
> https://gitlab.com/ViryaOS/imagebuilder
> 
> 
> This is the interesting point :
> 
> 
> Please note that most of the other values in the script generated by the ViryaOS uboot-script-gen do not work correctly with the Chromebook
> Snow, but the script does correctly calculate the size of the dom0 Linux kernel image.
> 
> 
> Some time ago Stefano suggested to put the values below for MEMORY_START and MEMORY_END inside the xen-config file :
> 
> 
> nano xen-config file :
> 
> 
> MEMORY_START="0x41e00000"
> MEMORY_END="0x60000000"
> LOAD_CMD="ext2load mmc 1:3"
> BOOT_CMD="bootm"
> DEVICE_TREE="exynos5250-snow.dtb"
> XEN="xen-4.17-armhf"
> XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=768M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> DOM0_KERNEL="zImage-6.6.0-xen-dma-mapping"
> DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> UBOOT_SOURCE="xen.source"
> 
> 
> bash ./uboot-script-gen -c xen-config -d .
> 
> 
> Image Name:    
> Created:      Thu Nov  2 20:59:24 2023
> Image Type:   ARM Linux Kernel Image (uncompressed)
> Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
> Load Address: 42c00000
> Entry Point:  42c00000
> 
> 
> Generated uboot script xen.scr, to be loaded at address 0x42000000:
> ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> 
> 
> and I tried to boot Xen and Linux 6.6 as dom0 :
> 
> SMDK5250 # mmc dev 1
> SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> but it did not work : it reboots on the verification screen.
> 
> --
> Mario.
> 
> 
--8323329-2014568259-1700002169=:160649--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 22:59:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 22:59:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633378.988118 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r32NF-0004uL-IN; Tue, 14 Nov 2023 22:59:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633378.988118; Tue, 14 Nov 2023 22: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 1r32NF-0004uE-Fm; Tue, 14 Nov 2023 22:59:13 +0000
Received: by outflank-mailman (input) for mailman id 633378;
 Tue, 14 Nov 2023 22:59: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r32NE-0004u8-MD
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 22:59:12 +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 6c18ac9f-8341-11ee-9b0e-b553b5be7939;
 Tue, 14 Nov 2023 23:59:10 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id C9DA5B8183A;
 Tue, 14 Nov 2023 22:59:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 24133C433C8;
 Tue, 14 Nov 2023 22:59: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: 6c18ac9f-8341-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700002749;
	bh=3WOzegH/jpj+Km8ZCQS1hwV5ev7D6Vib8rjJMh8euFo=;
	h=Date:From:To:cc:Subject:From;
	b=uTk8gfftzACR8lLlt/3YfMA/nvsp07yBzobful+dHgaT8pp30JFTPAKu9NeUGjT8+
	 zHhrq2OCRI0oVETkInUKEpUv3GcqRmu8NoWs/PNSBEPfOYQIcci686EqIN3vUG0fLy
	 Nj7LhkwwgG6YJoCLVa2UUWUcouY0Slyt5K8+PjI7HZmRcAKeB/LZRvpYLfTrRBnJga
	 XGRt2LW1pE7/vtQXNxZpDqCcPk0TQd4kExm12rMuDExsghb8CHJrkRnW8uNVCagFsi
	 D2DTbNq00wvYpUQmWrboTpMLXW+a97WpmkfRgFQGRXt+6nuWXSFfcOldQN+w1KtluD
	 I8egvRYaRChyA==
Date: Tue, 14 Nov 2023 14:59:06 -0800 (PST)
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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>
Subject: [PATCH v2] misra: add R21.1 R21.2
Message-ID: <alpine.DEB.2.22.394.2311141458020.160649@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 21.1 and 21.2, with a longer comment to explain how strategy with
leading underscores and why we think we are safe today.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Changes in v2:
- remove R14.4
- update note section of 21.1
---
 docs/misra/rules.rst | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index da343ab3ac..375a886607 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -519,6 +519,28 @@ maintainers if you want to suggest a change.
        they are related
      -
 
+   * - `Rule 21.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_01.c>`_
+     - Required
+     - #define and #undef shall not be used on a reserved identifier or
+       reserved macro name
+     - Identifiers starting with an underscore followed by another underscore
+       or an upper-case letter are reserved. Today Xen uses many, such as
+       header guards and bitwise manipulation functions. Upon analysis it turns
+       out Xen identifiers do not clash with the identifiers used by modern
+       GCC, but that is not a guarantee that there won't be a naming clash in
+       the future or with another compiler.  For these reasons we discourage
+       the introduction of new reserved identifiers in Xen, and we see it as
+       positive the reduction of reserved identifiers. At the same time,
+       certain identifiers starting with an underscore are also commonly used
+       in Linux (e.g. __set_bit) and we don't think it would be an improvement
+       to rename them.
+
+   * - `Rule 21.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_02.c>`_
+     - Required
+     - A reserved identifier or reserved macro name shall not be
+       declared
+     - See comment for Rule 21.1
+
    * - `Rule 21.13 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_13.c>`_
      - Mandatory
      - Any value passed to a function in <ctype.h> shall be representable as an
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 23:12:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 23:12:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633381.988129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r32Zo-0001eX-Mo; Tue, 14 Nov 2023 23:12:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633381.988129; Tue, 14 Nov 2023 23: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 1r32Zo-0001eQ-K5; Tue, 14 Nov 2023 23:12:12 +0000
Received: by outflank-mailman (input) for mailman id 633381;
 Tue, 14 Nov 2023 23:12: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=MjOU=G3=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r32Zn-0001eK-Iu
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 23:12:11 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3ccac628-8343-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 00:12:10 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-507f1c29f25so8431134e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 15:12:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ccac628-8343-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700003530; x=1700608330; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=Zb5px6Yc2dJp0UHMwF+/aR8HVP38rStjyqhUXgOqtVU=;
        b=RvESYQWoxMHnmS72Tvyjngd5no0a17wKNYQQGCf6Mcf0rIa2jPmYanu1I2MqXHo2w6
         Zdt5pQG/Jb1ng8S4Ed492OFwh7pxTn+KtYb/+yBwnNQxmZklX17WufRy9+LQN69VaqEJ
         vvMedOq+JhJnNTjrBXCKse8lLuzSszSeB9wD/R4eRsu0Skia3/cWkH4arn7RJ5+kla6g
         PDeZ34DJeyoquHrDizVF8ut22unr9XLkVuhFEXdZnw+tV4e2rjzVFWaS9zH/iedwT6lq
         e5RlQYluBpxBnUAzbXX99l5/5aX9JldEKRlBKw5c9JXKNHkL2rsS2sHQhBXySKZ5W5in
         atmw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700003530; x=1700608330;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Zb5px6Yc2dJp0UHMwF+/aR8HVP38rStjyqhUXgOqtVU=;
        b=VnsA0dSY1jGAt2VowDR43LiYHnDPYnMFKzqTWNx0aYbIuuJFGUTPmx/w+65J8ZOc74
         XjhY0KwMmANbZLEfx84hd3rd9yfhz0xh8wlHnhs8X0VTD4zw+g9Seb8X00gZyQ1MTPZ9
         XGnZBjj9IpUCesX8myt2FWXGFF2MwRbONuXiPjOArrzcgh2EY5iBqj5Qx5N2OE2oxDQR
         pDG6PH0ZfYEFQ9zc654TtEZ4sv4gPgVY011i/DnMyJxvb/14aMyEpS0uhTNYXV4QmxGA
         XWQCav2XiKIPn5WysClhEhxwWIhaJwSJQABvXb9EOGO8LWBDXl8a1eqIgQZHZlfBHkH2
         DACA==
X-Gm-Message-State: AOJu0Yw7Zbr5/X8XlgRrIRUOSGukj/iQxDx1au40pG74SFgqj3slzPgh
	4GJP3MkqafmO1yfhOtVv0YTGHsKanRCVjOU8R3Y=
X-Google-Smtp-Source: AGHT+IHMXxPM4pyne0InpjCZ6q9Sv2WOBgjHzvPYclQoWlap4Bsr1UjU3YDnZWFodBWlrol97yeBnKCStp6cE+vDllQ=
X-Received: by 2002:a19:5f0d:0:b0:506:8b22:bac2 with SMTP id
 t13-20020a195f0d000000b005068b22bac2mr6842971lfb.4.1700003529265; Tue, 14 Nov
 2023 15:12:09 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop>
From: Mario Marietto <marietto2008@gmail.com>
Date: Wed, 15 Nov 2023 00:11:33 +0100
Message-ID: <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com>
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Chuck Zmudzinski <brchuckz@netscape.net>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000007a995e060a24ea2c"

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

---> uboot-script-gen assumes that the memory range specified by
MEMORY_START-MEMORY_END is valid and correct.

Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and these
are stable values,they don't change. If you ask me to calculate those
values,it means that we need to compute these values. I imagine that to
calculate these values is not easy.

---> To debug this kind of issues please post the size of all the binaries
specified in the imagebuilder config file

I imagine that I should also calculate those values. And again,I see a
complication.

I'm realizing that the method used by Chuck is easier because he uses
stable values. In the end,there aren't any calculations to do and since I'm
looking for an easier method,not a more complicated one,I think that
Chuck's method is good as is.

On Tue, Nov 14, 2023 at 11:51=E2=80=AFPM Stefano Stabellini <sstabellini@ke=
rnel.org>
wrote:

> Hi Mario,
>
> It is difficult to know how to change uboot-script-gen if we don't know
> why it is currently going wrong.
>
> uboot-script-gen assumes that the memory range specified by
> MEMORY_START-MEMORY_END is valid and correct.
>
> So if you specified a valid and correct memory range in your config file
> (0x41e00000-0x60000000) why is it failing?
>
> The only thing uboot-script-gen does is choosing aligned addresses
> within the MEMORY_START-MEMORY_END range. The addresses are supposed not
> to overlap (meaning the initrd will not overwrite part of the kernel
> when loaded). If the issue is a bug in uboot-script-gen, such as the
> generated addresses overlap or they are not aligned, then we can fix the
> alignment or overlap bug. To debug this kind of issues please post:
> - the imagebuilder config file
> - the generate boot.source script
> - the size of all the binaries specified in the imagebuilder config file
>
> On the other hand if 0x41e00000-0x60000000 is not a safe memory range to
> use, then you need to specify a different memory range.
>
> Cheers,
>
> Stefano
>
>
>
> On Mon, 13 Nov 2023, Mario Marietto wrote:
> > Hello.
> >
> > I'm trying to find an easier way to the problem that you can read here =
:
> >
> >
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook=
/xen#starting-a-domu-guest
> >
> > where Chuck says :
> >
> >  6. Create the u-boot shell commands that will be used to boot Xen and
> dom0.
> >
> > Create a file in /home/user (or any other directory) named
> bootxen.source with these contents :
> >
> >
> > mmc dev 1 && mmc rescan 1
> > ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
> > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> > ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
> > fdt addr 0x5ffec000
> > fdt resize 1024
> > fdt set /chosen \#address-cells <0x2>
> > fdt set /chosen \#size-cells <0x2>
> > fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dserial0
> dom0_mem=3D1G dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative"
> > fdt mknod /chosen dom0
> > fdt set /chosen/dom0 compatible  "xen,linux-zimage"
> "xen,multiboot-module" "multiboot,module"
> > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
> > fdt set /chosen xen,dom0-bootargs "console=3Dtty1 root=3D/dev/mmcblk1p4=
 rw
> rootwait clk_ignore_unused"
> > bootm 0x51000000 - 0x5ffec000
> >
> > The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+
> file, and that value is computed from the uboot-script-gen script
> > available from here :
> >
> >
> > https://gitlab.com/ViryaOS/imagebuilder
> >
> >
> > This is the interesting point :
> >
> >
> > Please note that most of the other values in the script generated by th=
e
> ViryaOS uboot-script-gen do not work correctly with the Chromebook
> > Snow, but the script does correctly calculate the size of the dom0 Linu=
x
> kernel image.
> >
> >
> > Some time ago Stefano suggested to put the values below for MEMORY_STAR=
T
> and MEMORY_END inside the xen-config file :
> >
> >
> > nano xen-config file :
> >
> >
> > MEMORY_START=3D"0x41e00000"
> > MEMORY_END=3D"0x60000000"
> > LOAD_CMD=3D"ext2load mmc 1:3"
> > BOOT_CMD=3D"bootm"
> > DEVICE_TREE=3D"exynos5250-snow.dtb"
> > XEN=3D"xen-4.17-armhf"
> > XEN_CMD=3D"console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D768M dom0_max_v=
cpus=3D2
> bootscrub=3D0 vwfi=3Dnative sched=3Dnull"
> > DOM0_KERNEL=3D"zImage-6.6.0-xen-dma-mapping"
> > DOM0_CMD=3D"console=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=3D/dev/=
mmcblk1p4
> rw rootwait clk_ignore_unused"
> > UBOOT_SOURCE=3D"xen.source"
> >
> >
> > bash ./uboot-script-gen -c xen-config -d .
> >
> >
> > Image Name:
> > Created:      Thu Nov  2 20:59:24 2023
> > Image Type:   ARM Linux Kernel Image (uncompressed)
> > Data Size:    884744 Bytes =3D 864.01 KiB =3D 0.84 MiB
> > Load Address: 42c00000
> > Entry Point:  42c00000
> >
> >
> > Generated uboot script xen.scr, to be loaded at address 0x42000000:
> > ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> >
> >
> > and I tried to boot Xen and Linux 6.6 as dom0 :
> >
> > SMDK5250 # mmc dev 1
> > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> > but it did not work : it reboots on the verification screen.
> >
> > --
> > Mario.
> >
> >



--=20
Mario.

--0000000000007a995e060a24ea2c
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>---&gt; uboot-script-gen assumes that the memory rang=
e specified by MEMORY_START-MEMORY_END is valid and correct.</div><div><br>=
</div><div>Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_EN=
D and these are stable values,they don&#39;t change. If you ask me to calcu=
late those values,it means that we need to compute these values. I imagine =
that to calculate these values is not easy. <br></div><div><br></div><div>-=
--&gt; To debug this kind of issues please post the size of all the binarie=
s specified in the imagebuilder config file</div><div><br></div><div>I imag=
ine that I should also calculate those values. And again,I see a complicati=
on. <br></div><div><br></div><div>I&#39;m realizing that the method used by=
 Chuck is easier because he uses stable values. In the end,there aren&#39;t=
 any calculations to do and since I&#39;m looking for an easier method,not =
a more complicated one,I think that Chuck&#39;s method is good as is.=C2=A0=
 </div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Tue, Nov 14, 2023 at 11:51=E2=80=AFPM Stefano Stabellini &lt;<a h=
ref=3D"mailto:sstabellini@kernel.org">sstabellini@kernel.org</a>&gt; wrote:=
<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8=
ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Mario,<br>
<br>
It is difficult to know how to change uboot-script-gen if we don&#39;t know=
<br>
why it is currently going wrong.<br>
<br>
uboot-script-gen assumes that the memory range specified by<br>
MEMORY_START-MEMORY_END is valid and correct.<br>
<br>
So if you specified a valid and correct memory range in your config file<br=
>
(0x41e00000-0x60000000) why is it failing?<br>
<br>
The only thing uboot-script-gen does is choosing aligned addresses<br>
within the MEMORY_START-MEMORY_END range. The addresses are supposed not<br=
>
to overlap (meaning the initrd will not overwrite part of the kernel<br>
when loaded). If the issue is a bug in uboot-script-gen, such as the<br>
generated addresses overlap or they are not aligned, then we can fix the<br=
>
alignment or overlap bug. To debug this kind of issues please post:<br>
- the imagebuilder config file<br>
- the generate boot.source script<br>
- the size of all the binaries specified in the imagebuilder config file<br=
>
<br>
On the other hand if 0x41e00000-0x60000000 is not a safe memory range to<br=
>
use, then you need to specify a different memory range.<br>
<br>
Cheers,<br>
<br>
Stefano<br>
<br>
<br>
<br>
On Mon, 13 Nov 2023, Mario Marietto wrote:<br>
&gt; Hello.<br>
&gt; <br>
&gt; I&#39;m trying to find an easier way to the problem that you can read =
here :<br>
&gt; <br>
&gt; <a href=3D"https://github.com/mobile-virt/u-boot-chromebook-xe303c12/t=
ree/chromebook/xen#starting-a-domu-guest" rel=3D"noreferrer" target=3D"_bla=
nk">https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebo=
ok/xen#starting-a-domu-guest</a><br>
&gt; <br>
&gt; where Chuck says :<br>
&gt; <br>
&gt;=C2=A0 6. Create the u-boot shell commands that will be used to boot Xe=
n and dom0.<br>
&gt; <br>
&gt; Create a file in /home/user (or any other directory) named bootxen.sou=
rce with these contents :<br>
&gt; <br>
&gt; <br>
&gt; mmc dev 1 &amp;&amp; mmc rescan 1<br>
&gt; ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+<br>
&gt; ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub<br>
&gt; ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb<br=
>
&gt; fdt addr 0x5ffec000<br>
&gt; fdt resize 1024<br>
&gt; fdt set /chosen \#address-cells &lt;0x2&gt;<br>
&gt; fdt set /chosen \#size-cells &lt;0x2&gt;<br>
&gt; fdt set /chosen xen,xen-bootargs &quot;console=3Ddtuart dtuart=3Dseria=
l0 dom0_mem=3D1G dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative&quot;<br>
&gt; fdt mknod /chosen dom0<br>
&gt; fdt set /chosen/dom0 compatible=C2=A0 &quot;xen,linux-zimage&quot; &qu=
ot;xen,multiboot-module&quot; &quot;multiboot,module&quot;<br>
&gt; fdt set /chosen/dom0 reg &lt;0x0 0x42000000 0x0 0x7D7200 &gt;<br>
&gt; fdt set /chosen xen,dom0-bootargs &quot;console=3Dtty1 root=3D/dev/mmc=
blk1p4 rw rootwait clk_ignore_unused&quot;<br>
&gt; bootm 0x51000000 - 0x5ffec000<br>
&gt; <br>
&gt; The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+ f=
ile, and that value is computed from the uboot-script-gen script<br>
&gt; available from here :<br>
&gt; <br>
&gt; <br>
&gt; <a href=3D"https://gitlab.com/ViryaOS/imagebuilder" rel=3D"noreferrer"=
 target=3D"_blank">https://gitlab.com/ViryaOS/imagebuilder</a><br>
&gt; <br>
&gt; <br>
&gt; This is the interesting point :<br>
&gt; <br>
&gt; <br>
&gt; Please note that most of the other values in the script generated by t=
he ViryaOS uboot-script-gen do not work correctly with the Chromebook<br>
&gt; Snow, but the script does correctly calculate the size of the dom0 Lin=
ux kernel image.<br>
&gt; <br>
&gt; <br>
&gt; Some time ago Stefano suggested to put the values below for MEMORY_STA=
RT and MEMORY_END inside the xen-config file :<br>
&gt; <br>
&gt; <br>
&gt; nano xen-config file :<br>
&gt; <br>
&gt; <br>
&gt; MEMORY_START=3D&quot;0x41e00000&quot;<br>
&gt; MEMORY_END=3D&quot;0x60000000&quot;<br>
&gt; LOAD_CMD=3D&quot;ext2load mmc 1:3&quot;<br>
&gt; BOOT_CMD=3D&quot;bootm&quot;<br>
&gt; DEVICE_TREE=3D&quot;exynos5250-snow.dtb&quot;<br>
&gt; XEN=3D&quot;xen-4.17-armhf&quot;<br>
&gt; XEN_CMD=3D&quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D768M dom0=
_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull&quot;<br>
&gt; DOM0_KERNEL=3D&quot;zImage-6.6.0-xen-dma-mapping&quot;<br>
&gt; DOM0_CMD=3D&quot;console=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=
=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused&quot;<br>
&gt; UBOOT_SOURCE=3D&quot;xen.source&quot;<br>
&gt; <br>
&gt; <br>
&gt; bash ./uboot-script-gen -c xen-config -d .<br>
&gt; <br>
&gt; <br>
&gt; Image Name: =C2=A0=C2=A0=C2=A0<br>
&gt; Created: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Thu Nov =C2=A02 20:59:24 2023<b=
r>
&gt; Image Type: =C2=A0=C2=A0ARM Linux Kernel Image (uncompressed)<br>
&gt; Data Size: =C2=A0=C2=A0=C2=A0884744 Bytes =3D 864.01 KiB =3D 0.84 MiB<=
br>
&gt; Load Address: 42c00000<br>
&gt; Entry Point: =C2=A042c00000<br>
&gt; <br>
&gt; <br>
&gt; Generated uboot script xen.scr, to be loaded at address 0x42000000:<br=
>
&gt; ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000<br>
&gt; <br>
&gt; <br>
&gt; and I tried to boot Xen and Linux 6.6 as dom0 :<br>
&gt; <br>
&gt; SMDK5250 # mmc dev 1<br>
&gt; SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000<br>
&gt; but it did not work : it reboots on the verification screen.<br>
&gt; <br>
&gt; --<br>
&gt; Mario.<br>
&gt; <br>
&gt; </blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signatur=
e_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<b=
r></div>

--0000000000007a995e060a24ea2c--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 23:12:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 23:12:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633383.988138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r32aY-000287-V8; Tue, 14 Nov 2023 23:12:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633383.988138; Tue, 14 Nov 2023 23:12: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 1r32aY-000280-Sc; Tue, 14 Nov 2023 23:12:58 +0000
Received: by outflank-mailman (input) for mailman id 633383;
 Tue, 14 Nov 2023 23:12: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r32aX-00027m-Mg
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 23:12: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 575ea215-8343-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 00:12:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id E8977614C6;
 Tue, 14 Nov 2023 23:12:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6B2A5C433C7;
 Tue, 14 Nov 2023 23:12: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: 575ea215-8343-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700003573;
	bh=MJwqOLCXiv/cq1mpQ9LZbnoB6FsQ1T2+CZlcPq8MhOA=;
	h=Date:From:To:cc:Subject:From;
	b=tIA1ui5lo8Hh0xixkI2OXSiiRtxhRzzs8gEUvra3XP3maw1yzWJsSS8IvbpG19Uyw
	 xVThMxuKJOVs6z8LUjk4oem4H4kaxKZ+qfkbfMnQnZSl9f0QCIuXU6CqBWAToesfiG
	 fMKKWAbK0ym8FEWprL+SSVLSCF4qqRBOqOGF0uvZ8NYQr1ByYMs9I7Fvxs36ADGnAt
	 x5Q4Al3Nec1/RD6OIwyKesq+bzaoBmWGGG8dS9c2bLbDEVb/bvoFkhliueMlWrZa1A
	 J6sWG/YYNnT/qbqu465nj16DCRT+78dhfQtC3ufaOwNqVy6Q5PHf/k3Cl4vJTykzkS
	 ndp4VUeUxwy0Q==
Date: Tue, 14 Nov 2023 15:12:51 -0800 (PST)
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, Jan Beulich <jbeulich@suse.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>
Subject: [PATCH] docs/misra: add R16.2 and R16.3
Message-ID: <alpine.DEB.2.22.394.2311141511510.160649@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

For Rule 16.2 deviate xen/arch/x86/x86_emulate.
For Rule 16.2 allow control flow statements and terminals. For the rest,
request the "fallthrough" psedo-keyword to be used.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
 docs/misra/rules.rst | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 375a886607..926ecc9d82 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -462,6 +462,20 @@ maintainers if you want to suggest a change.
 
        while(0) and while(1) and alike are allowed.
 
+   * - `Rule 16.2 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_02.c>`_
+     - Required
+     - A switch label shall only be used when the most closely-enclosing
+       compound statement is the body of a switch statement
+     - xen/arch/x86/x86_emulate/ doesn't follow this guideline
+
+   * - `Rule 16.3 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_03.c>`_
+     - Required
+     - An unconditional break statement shall terminate every
+       switch-clause
+     - Control flow statements (goto, return, continue) and terminals
+       (BUG()) are permitted. Other cases shall have the pseudo-keyword
+       "fallthrough".
+
    * - `Rule 16.7 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_16_07.c>`_
      - Required
      - A switch-expression shall not have essentially Boolean type
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 14 23:17:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 23:17:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633389.988149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r32f2-0003h1-Mh; Tue, 14 Nov 2023 23:17:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633389.988149; Tue, 14 Nov 2023 23:17: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 1r32f2-0003gu-JH; Tue, 14 Nov 2023 23:17:36 +0000
Received: by outflank-mailman (input) for mailman id 633389;
 Tue, 14 Nov 2023 23:17: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=wE9C=G3=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r32f1-0003gn-Eu
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 23:17:35 +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 fd6a0b69-8343-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 00:17:33 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id DA441B8166A;
 Tue, 14 Nov 2023 23:17:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ED333C433C7;
 Tue, 14 Nov 2023 23:17: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: fd6a0b69-8343-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700003852;
	bh=OcOq8UAITUwo5QdZOz9sIJ34JR6EKQcVdHOtcYTMcOI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rADXvipcbcZ/N/zoAuix9pNB4t8vNic/7dQNjjfNTaV3XOHgXLHsedhOPxLn5maPa
	 371Wpb3aTYESy4bQ3LJSyt6U/J9Ci24U6ss/irZNeY6SflqqXXbz+p0xTlyOpTYAPT
	 9ti8iiv0IqXhsTcIf9of1h2waT7QYLF7itECDz5okKOH/JTNEi6ZpZS3DB9JZtdzOW
	 8+ccvxvUG4/ZikwadsjXIeoPPC9Ec7OsLf4QPln0fqTVThmt1zOaBPWvFofwqrXgOW
	 9oTHdFnelxhEFlPhbopM79MX1nDm/+p7o7SR2LGkmkkqaSrCWdqhPIJbQdBVbhF4jV
	 yKa3bujXQFSOA==
Date: Tue, 14 Nov 2023 15:17:29 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Mario Marietto <marietto2008@gmail.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    Chuck Zmudzinski <brchuckz@netscape.net>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
In-Reply-To: <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com> <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop> <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-266073672-1700003790=:160649"
Content-ID: <alpine.DEB.2.22.394.2311141516331.160649@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-266073672-1700003790=:160649
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311141516332.160649@ubuntu-linux-20-04-desktop>

Hi Mario,

I think we misunderstood each other :-)

MEMORY_START-MEMORY_END is not supposed to be computed: it is supposed
to come from the memory node in device tree tree (/memory) of the
platform. The idea is that you should not have to do any computations,
but only reuse the same address range specified there.

Similarly in regards to "please post the size of all the binaries",
this is just for debugging, so that I can see if there are any bugs with
uboot-script-gen. I cannot debug the script unless I figure out what the
problem is and the only way I can do that is with the binary sizes and
redoing all the steps by hand.

The expected outcome is that once we resolve the problem you should be
able to use uboot-script-gen without any additional computation needed.

Of course using static values is also OK.


On Wed, 15 Nov 2023, Mario Marietto wrote:
> ---> uboot-script-gen assumes that the memory range specified by MEMORY_START-MEMORY_END is valid and correct.
> 
> Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and these are stable values,they don't change. If you ask me to calculate
> those values,it means that we need to compute these values. I imagine that to calculate these values is not easy.
> 
> ---> To debug this kind of issues please post the size of all the binaries specified in the imagebuilder config file
> 
> I imagine that I should also calculate those values. And again,I see a complication.
> 
> I'm realizing that the method used by Chuck is easier because he uses stable values. In the end,there aren't any calculations to do and
> since I'm looking for an easier method,not a more complicated one,I think that Chuck's method is good as is. 
> 
> On Tue, Nov 14, 2023 at 11:51 PM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       Hi Mario,
> 
>       It is difficult to know how to change uboot-script-gen if we don't know
>       why it is currently going wrong.
> 
>       uboot-script-gen assumes that the memory range specified by
>       MEMORY_START-MEMORY_END is valid and correct.
> 
>       So if you specified a valid and correct memory range in your config file
>       (0x41e00000-0x60000000) why is it failing?
> 
>       The only thing uboot-script-gen does is choosing aligned addresses
>       within the MEMORY_START-MEMORY_END range. The addresses are supposed not
>       to overlap (meaning the initrd will not overwrite part of the kernel
>       when loaded). If the issue is a bug in uboot-script-gen, such as the
>       generated addresses overlap or they are not aligned, then we can fix the
>       alignment or overlap bug. To debug this kind of issues please post:
>       - the imagebuilder config file
>       - the generate boot.source script
>       - the size of all the binaries specified in the imagebuilder config file
> 
>       On the other hand if 0x41e00000-0x60000000 is not a safe memory range to
>       use, then you need to specify a different memory range.
> 
>       Cheers,
> 
>       Stefano
> 
> 
> 
>       On Mon, 13 Nov 2023, Mario Marietto wrote:
>       > Hello.
>       >
>       > I'm trying to find an easier way to the problem that you can read here :
>       >
>       > https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest
>       >
>       > where Chuck says :
>       >
>       >  6. Create the u-boot shell commands that will be used to boot Xen and dom0.
>       >
>       > Create a file in /home/user (or any other directory) named bootxen.source with these contents :
>       >
>       >
>       > mmc dev 1 && mmc rescan 1
>       > ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
>       > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
>       > ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
>       > fdt addr 0x5ffec000
>       > fdt resize 1024
>       > fdt set /chosen \#address-cells <0x2>
>       > fdt set /chosen \#size-cells <0x2>
>       > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native"
>       > fdt mknod /chosen dom0
>       > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
>       > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
>       > fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>       > bootm 0x51000000 - 0x5ffec000
>       >
>       > The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from the
>       uboot-script-gen script
>       > available from here :
>       >
>       >
>       > https://gitlab.com/ViryaOS/imagebuilder
>       >
>       >
>       > This is the interesting point :
>       >
>       >
>       > Please note that most of the other values in the script generated by the ViryaOS uboot-script-gen do not work correctly with
>       the Chromebook
>       > Snow, but the script does correctly calculate the size of the dom0 Linux kernel image.
>       >
>       >
>       > Some time ago Stefano suggested to put the values below for MEMORY_START and MEMORY_END inside the xen-config file :
>       >
>       >
>       > nano xen-config file :
>       >
>       >
>       > MEMORY_START="0x41e00000"
>       > MEMORY_END="0x60000000"
>       > LOAD_CMD="ext2load mmc 1:3"
>       > BOOT_CMD="bootm"
>       > DEVICE_TREE="exynos5250-snow.dtb"
>       > XEN="xen-4.17-armhf"
>       > XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=768M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
>       > DOM0_KERNEL="zImage-6.6.0-xen-dma-mapping"
>       > DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>       > UBOOT_SOURCE="xen.source"
>       >
>       >
>       > bash ./uboot-script-gen -c xen-config -d .
>       >
>       >
>       > Image Name:    
>       > Created:      Thu Nov  2 20:59:24 2023
>       > Image Type:   ARM Linux Kernel Image (uncompressed)
>       > Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
>       > Load Address: 42c00000
>       > Entry Point:  42c00000
>       >
>       >
>       > Generated uboot script xen.scr, to be loaded at address 0x42000000:
>       > ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
>       >
>       >
>       > and I tried to boot Xen and Linux 6.6 as dom0 :
>       >
>       > SMDK5250 # mmc dev 1
>       > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
>       > but it did not work : it reboots on the verification screen.
>       >
>       > --
>       > Mario.
>       >
>       >
> 
> 
> 
> --
> Mario.
> 
> 
--8323329-266073672-1700003790=:160649--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 23:44:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 23:44:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633392.988159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3358-0005kM-Ql; Tue, 14 Nov 2023 23:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633392.988159; Tue, 14 Nov 2023 23:44: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 1r3358-0005kF-Ml; Tue, 14 Nov 2023 23:44:34 +0000
Received: by outflank-mailman (input) for mailman id 633392;
 Tue, 14 Nov 2023 23: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=MjOU=G3=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r3357-0005k9-8B
 for xen-devel@lists.xenproject.org; Tue, 14 Nov 2023 23:44:33 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c1a6d28c-8347-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 00:44:31 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-9e5dd91b0acso748946266b.1
 for <xen-devel@lists.xenproject.org>; Tue, 14 Nov 2023 15:44:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c1a6d28c-8347-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700005470; x=1700610270; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=gJI8acAw7Z5wcKQuD/ZT6MKSeIPTKFbSqI1dIoL6SrM=;
        b=Vt6N+xVxddwoC9Jwz/G8GboO4QAy/4x2rEaGF1qNG1DwjFkZBxNm41+VgqyJdTpqms
         leUpZVe61NNV35AlRewCViLv2v7kwZbP+kCT+GPi9gn50uua1Qq+69USpcX8Mh1dNDvP
         a0l6VxPzPsnjEityUG9TfccyzqN7M5V/JUM9GwJr4oPtZc/ddgoaf3hdxGAvT+RhTAQ+
         2Q23uCqhAPGsY6qhywU/tbMZiFqTbSvvoMCGgjLUv0FUYFrrJ/HzKyez4yxdvwxcTJqv
         Ut3IO+T1ZBiP+hJa8AEe5eVsDgt9ok7XJLfKIXoFMAGgQy0ymfkoblOclVFLFL0C+pdi
         UHMw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700005470; x=1700610270;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=gJI8acAw7Z5wcKQuD/ZT6MKSeIPTKFbSqI1dIoL6SrM=;
        b=H/iOIky6hVLHKiRwj69bQNpJkdRrHSjuR5GrtBB0p/d8efdlGxgcLalEL97WmRVBky
         v1VbrHxpMT4DEiCkq732Stt691lm5pP+qNl6+1sREWufw1K3qmRhYk7+kwgCGhsdK0/U
         8RPg/UJe7bLfg88nlR0+ZjHUBX7FHJb3MWs2zCL1W9gDHLg84kiIByJ4yg9ewzOV0VxF
         LRZWVApl0E401r61hFnnn6LElRG6ukOn1YDlUHt5X82LNQKKgbOZSNLlJNlwz7LncawF
         JwhIPLZApy5GB9lLcl2ec1PPryXwK7wE48NIyrkzlJkQSDsgN+YjHupKAng8Jp2MmKHX
         1/7Q==
X-Gm-Message-State: AOJu0YwBh81IiVL5XwxohpngoDb9BnI2E6/gihuBhi2np9LW8uscMAMV
	DDs5dLob9+wfFQEqSQ4xtI4YYmmK0BmEhCDs27aZgu9aXMQ=
X-Google-Smtp-Source: AGHT+IEa5KXES9mVFF04uaGz54K1tQpWNBh8MfIY78R0bm++64RrQDNyCpxityoKdITFos8oRAxzm47JxvCadONdOZs=
X-Received: by 2002:a17:906:b350:b0:9b2:bb02:a543 with SMTP id
 cd16-20020a170906b35000b009b2bb02a543mr8332173ejb.74.1700005470333; Tue, 14
 Nov 2023 15:44:30 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com> <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
From: Mario Marietto <marietto2008@gmail.com>
Date: Wed, 15 Nov 2023 00:43:53 +0100
Message-ID: <CA+1FSijOYJneLxEfss2BoY0Q4vafa+gVdQeyOfy7A_bTAA6QLw@mail.gmail.com>
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Chuck Zmudzinski <brchuckz@netscape.net>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000002cf044060a255e36"

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

I hope that the informations below are correct :

- the imagebuilder config file :

MEMORY_START=3D"0x0"
MEMORY_END=3D"0x80000000"
LOAD_CMD=3D"ext2load mmc 1:3"
BOOT_CMD=3D"bootm"
DEVICE_TREE=3D"exynos5250-snow.dtb"
XEN=3D"xen-4.17-armhf"
XEN_CMD=3D"console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1152M dom0_max_vcpu=
s=3D2
bootscrub=3D0 vwfi=3Dnative sched=3Dnull"
DOM0_KERNEL=3D"zImage-6.6.0-xen-iommu-dma-on-xen"
DOM0_CMD=3D"console=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=3D/dev/mmcb=
lk1p4 rw
rootwait clk_ignore_unused"
UBOOT_SOURCE=3D"xen.source"
UBOOT_SCRIPT=3D"xen.scr"

xen.source : (that does not work)

mmc dev 1
ext2load mmc 1:3 0xE00000 zImage-6.6.0-xen-iommu-dma-on-xen
ext2load mmc 1:3 0x1800000 xen-4.17-armhf.ub
ext2load mmc 1:3 0x1A00000 exynos5250-snow.dtb
fdt addr 0x1A00000
fdt resize 1024
fdt set /chosen \#address-cells <0x2>
fdt set /chosen \#size-cells <0x2>
fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dserial0
dom0_mem=3D1152M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnul=
l"
fdt mknod /chosen dom0
fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module"
"multiboot,module"
fdt set /chosen/dom0 reg <0x0 0xE00000 0x0 0x87C200 >
fdt set /chosen xen,dom0-bootargs "console=3Dtty earlycon=3Dxen earlyprintk=
=3Dxen
root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
setenv fdt_high 0xffffffffffffffff
bootm 0x1800000 - 0x1A00000

xen.source : (created by chuck and that works)

mmc dev 1
ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
fdt addr 0x5ffec000
fdt resize 1024
fdt set /chosen \#address-cells <0x2>
fdt set /chosen \#size-cells <0x2>
fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dserial0
dom0_mem=3D1152M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnul=
l"
fdt mknod /chosen dom0
fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module"
"multiboot,module"
fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
fdt set /chosen xen,dom0-bootargs "console=3Dtty1 root=3D/dev/mmcblk1p4 rw
rootwait clk_ignore_unused --no-log"
bootm 0x51000000 - 0x5ffec000

all the values that you see in this conf. files have been calculated by
chuck by hand,because the values generated by the imagebuilder are wrong.
The only value that's well calculated by the imagebuilder is 0x87C200

- the size of all the binaries specified in the imagebuilder config file :

exynos5250-snow.dtb =3D 46.6 KiB (47,769 byte)
zImage-6.6.0-xen-iommu-dma-on-xen =3D 8.5 MiB (8,897,024 byte)



On Wed, Nov 15, 2023 at 12:17=E2=80=AFAM Stefano Stabellini <sstabellini@ke=
rnel.org>
wrote:

> Hi Mario,
>
> I think we misunderstood each other :-)
>
> MEMORY_START-MEMORY_END is not supposed to be computed: it is supposed
> to come from the memory node in device tree tree (/memory) of the
> platform. The idea is that you should not have to do any computations,
> but only reuse the same address range specified there.
>
> Similarly in regards to "please post the size of all the binaries",
> this is just for debugging, so that I can see if there are any bugs with
> uboot-script-gen. I cannot debug the script unless I figure out what the
> problem is and the only way I can do that is with the binary sizes and
> redoing all the steps by hand.
>
> The expected outcome is that once we resolve the problem you should be
> able to use uboot-script-gen without any additional computation needed.
>
> Of course using static values is also OK.
>
>
> On Wed, 15 Nov 2023, Mario Marietto wrote:
> > ---> uboot-script-gen assumes that the memory range specified by
> MEMORY_START-MEMORY_END is valid and correct.
> >
> > Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and
> these are stable values,they don't change. If you ask me to calculate
> > those values,it means that we need to compute these values. I imagine
> that to calculate these values is not easy.
> >
> > ---> To debug this kind of issues please post the size of all the
> binaries specified in the imagebuilder config file
> >
> > I imagine that I should also calculate those values. And again,I see a
> complication.
> >
> > I'm realizing that the method used by Chuck is easier because he uses
> stable values. In the end,there aren't any calculations to do and
> > since I'm looking for an easier method,not a more complicated one,I
> think that Chuck's method is good as is.
> >
> > On Tue, Nov 14, 2023 at 11:51=E2=80=AFPM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       Hi Mario,
> >
> >       It is difficult to know how to change uboot-script-gen if we don'=
t
> know
> >       why it is currently going wrong.
> >
> >       uboot-script-gen assumes that the memory range specified by
> >       MEMORY_START-MEMORY_END is valid and correct.
> >
> >       So if you specified a valid and correct memory range in your
> config file
> >       (0x41e00000-0x60000000) why is it failing?
> >
> >       The only thing uboot-script-gen does is choosing aligned addresse=
s
> >       within the MEMORY_START-MEMORY_END range. The addresses are
> supposed not
> >       to overlap (meaning the initrd will not overwrite part of the
> kernel
> >       when loaded). If the issue is a bug in uboot-script-gen, such as
> the
> >       generated addresses overlap or they are not aligned, then we can
> fix the
> >       alignment or overlap bug. To debug this kind of issues please pos=
t:
> >       - the imagebuilder config file
> >       - the generate boot.source script
> >       - the size of all the binaries specified in the imagebuilder
> config file
> >
> >       On the other hand if 0x41e00000-0x60000000 is not a safe memory
> range to
> >       use, then you need to specify a different memory range.
> >
> >       Cheers,
> >
> >       Stefano
> >
> >
> >
> >       On Mon, 13 Nov 2023, Mario Marietto wrote:
> >       > Hello.
> >       >
> >       > I'm trying to find an easier way to the problem that you can
> read here :
> >       >
> >       >
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook=
/xen#starting-a-domu-guest
> >       >
> >       > where Chuck says :
> >       >
> >       >  6. Create the u-boot shell commands that will be used to boot
> Xen and dom0.
> >       >
> >       > Create a file in /home/user (or any other directory) named
> bootxen.source with these contents :
> >       >
> >       >
> >       > mmc dev 1 && mmc rescan 1
> >       > ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
> >       > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> >       > ext2load mmc 1:3 0x5ffec000
> exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
> >       > fdt addr 0x5ffec000
> >       > fdt resize 1024
> >       > fdt set /chosen \#address-cells <0x2>
> >       > fdt set /chosen \#size-cells <0x2>
> >       > fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dser=
ial0
> dom0_mem=3D1G dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative"
> >       > fdt mknod /chosen dom0
> >       > fdt set /chosen/dom0 compatible  "xen,linux-zimage"
> "xen,multiboot-module" "multiboot,module"
> >       > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
> >       > fdt set /chosen xen,dom0-bootargs "console=3Dtty1
> root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> >       > bootm 0x51000000 - 0x5ffec000
> >       >
> >       > The hex value 0x7D7200 is the size of the
> zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from the
> >       uboot-script-gen script
> >       > available from here :
> >       >
> >       >
> >       > https://gitlab.com/ViryaOS/imagebuilder
> >       >
> >       >
> >       > This is the interesting point :
> >       >
> >       >
> >       > Please note that most of the other values in the script
> generated by the ViryaOS uboot-script-gen do not work correctly with
> >       the Chromebook
> >       > Snow, but the script does correctly calculate the size of the
> dom0 Linux kernel image.
> >       >
> >       >
> >       > Some time ago Stefano suggested to put the values below for
> MEMORY_START and MEMORY_END inside the xen-config file :
> >       >
> >       >
> >       > nano xen-config file :
> >       >
> >       >
> >       > MEMORY_START=3D"0x41e00000"
> >       > MEMORY_END=3D"0x60000000"
> >       > LOAD_CMD=3D"ext2load mmc 1:3"
> >       > BOOT_CMD=3D"bootm"
> >       > DEVICE_TREE=3D"exynos5250-snow.dtb"
> >       > XEN=3D"xen-4.17-armhf"
> >       > XEN_CMD=3D"console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D768M
> dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull"
> >       > DOM0_KERNEL=3D"zImage-6.6.0-xen-dma-mapping"
> >       > DOM0_CMD=3D"console=3Dtty earlycon=3Dxen earlyprintk=3Dxen
> root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> >       > UBOOT_SOURCE=3D"xen.source"
> >       >
> >       >
> >       > bash ./uboot-script-gen -c xen-config -d .
> >       >
> >       >
> >       > Image Name:
> >       > Created:      Thu Nov  2 20:59:24 2023
> >       > Image Type:   ARM Linux Kernel Image (uncompressed)
> >       > Data Size:    884744 Bytes =3D 864.01 KiB =3D 0.84 MiB
> >       > Load Address: 42c00000
> >       > Entry Point:  42c00000
> >       >
> >       >
> >       > Generated uboot script xen.scr, to be loaded at address
> 0x42000000:
> >       > ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> >       >
> >       >
> >       > and I tried to boot Xen and Linux 6.6 as dom0 :
> >       >
> >       > SMDK5250 # mmc dev 1
> >       > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x420000=
00
> >       > but it did not work : it reboots on the verification screen.
> >       >
> >       > --
> >       > Mario.
> >       >
> >       >
> >
> >
> >
> > --
> > Mario.
> >
> >



--=20
Mario.

--0000000000002cf044060a255e36
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>I hope that the informations below are correct :</div=
><div><br></div><div>
- the imagebuilder config file :</div><div><br></div><div>MEMORY_START=3D&q=
uot;0x0&quot;</div>MEMORY_END=3D&quot;0x80000000&quot;<br>LOAD_CMD=3D&quot;=
ext2load mmc 1:3&quot;<br>BOOT_CMD=3D&quot;bootm&quot;<br><div></div>DEVICE=
_TREE=3D&quot;exynos5250-snow.dtb&quot;<br>XEN=3D&quot;xen-4.17-armhf&quot;=
<br>XEN_CMD=3D&quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1152M dom0=
_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull&quot;<br>DOM0_KERNE=
L=3D&quot;zImage-6.6.0-xen-iommu-dma-on-xen&quot;<br>DOM0_CMD=3D&quot;conso=
le=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait=
 clk_ignore_unused&quot;<br>UBOOT_SOURCE=3D&quot;xen.source&quot;<br><div>U=
BOOT_SCRIPT=3D&quot;xen.scr&quot;</div><div><br></div><div>xen.source : (th=
at does not work)</div><div><br></div><div>mmc dev 1</div>ext2load mmc 1:3 =
0xE00000 zImage-6.6.0-xen-iommu-dma-on-xen<br>ext2load mmc 1:3 0x1800000 xe=
n-4.17-armhf.ub<br>ext2load mmc 1:3 0x1A00000 exynos5250-snow.dtb<br>fdt ad=
dr 0x1A00000<br>fdt resize 1024<br>fdt set /chosen \#address-cells &lt;0x2&=
gt;<br>fdt set /chosen \#size-cells &lt;0x2&gt;<br>fdt set /chosen xen,xen-=
bootargs &quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1152M dom0_max_=
vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull&quot;<br>fdt mknod /chos=
en dom0<br>fdt set /chosen/dom0 compatible =C2=A0&quot;xen,linux-zimage&quo=
t; &quot;xen,multiboot-module&quot; &quot;multiboot,module&quot;<br>fdt set=
 /chosen/dom0 reg &lt;0x0 0xE00000 0x0 0x87C200 &gt;<br>fdt set /chosen xen=
,dom0-bootargs &quot;console=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=3D=
/dev/mmcblk1p4 rw rootwait clk_ignore_unused&quot;<br>setenv fdt_high 0xfff=
fffffffffffff<br><div>bootm 0x1800000 - 0x1A00000</div><div><div><br></div>=
<div>xen.source : (created by chuck and that works)</div></div><div><br></d=
iv><div>mmc dev 1<br>ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma=
-on-xen<br>ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub<b=
r>ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb<br>fdt addr 0x5ffec000<br=
>fdt resize 1024<br>fdt set /chosen \#address-cells &lt;0x2&gt;<br>fdt set =
/chosen \#size-cells &lt;0x2&gt;<br>fdt set /chosen xen,xen-bootargs &quot;=
console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1152M dom0_max_vcpus=3D2 boots=
crub=3D0 vwfi=3Dnative sched=3Dnull&quot;<br>fdt mknod /chosen dom0<br>fdt =
set /chosen/dom0 compatible =C2=A0&quot;xen,linux-zimage&quot; &quot;xen,mu=
ltiboot-module&quot; &quot;multiboot,module&quot;<br>fdt set /chosen/dom0 r=
eg &lt;0x0 0x42000000 0x0 0x87C200 &gt;<br>fdt set /chosen xen,dom0-bootarg=
s &quot;console=3Dtty1 root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused =
--no-log&quot;<br>bootm 0x51000000 - 0x5ffec000</div><div><br></div><div>al=
l the values that you see in this conf. files have been calculated by chuck=
 by hand,because the values generated by the imagebuilder are wrong. The on=
ly value that&#39;s well calculated by the imagebuilder is 0x87C200</div><d=
iv><br></div><div>
- the size of all the binaries specified in the imagebuilder config file :<=
br></div><div><br></div><div>exynos5250-snow.dtb =3D 46.6=C2=A0KiB (47,769 =
byte)</div><div>zImage-6.6.0-xen-iommu-dma-on-xen =3D 8.5=C2=A0MiB (8,897,0=
24 byte)</div><div><br></div><div><br></div></div><br><div class=3D"gmail_q=
uote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 15, 2023 at 12:17=
=E2=80=AFAM Stefano Stabellini &lt;<a href=3D"mailto:sstabellini@kernel.org=
" target=3D"_blank">sstabellini@kernel.org</a>&gt; wrote:<br></div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">Hi Mario,<br>
<br>
I think we misunderstood each other :-)<br>
<br>
MEMORY_START-MEMORY_END is not supposed to be computed: it is supposed<br>
to come from the memory node in device tree tree (/memory) of the<br>
platform. The idea is that you should not have to do any computations,<br>
but only reuse the same address range specified there.<br>
<br>
Similarly in regards to &quot;please post the size of all the binaries&quot=
;,<br>
this is just for debugging, so that I can see if there are any bugs with<br=
>
uboot-script-gen. I cannot debug the script unless I figure out what the<br=
>
problem is and the only way I can do that is with the binary sizes and<br>
redoing all the steps by hand.<br>
<br>
The expected outcome is that once we resolve the problem you should be<br>
able to use uboot-script-gen without any additional computation needed.<br>
<br>
Of course using static values is also OK.<br>
<br>
<br>
On Wed, 15 Nov 2023, Mario Marietto wrote:<br>
&gt; ---&gt; uboot-script-gen assumes that the memory range specified by ME=
MORY_START-MEMORY_END is valid and correct.<br>
&gt; <br>
&gt; Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and =
these are stable values,they don&#39;t change. If you ask me to calculate<b=
r>
&gt; those values,it means that we need to compute these values. I imagine =
that to calculate these values is not easy.<br>
&gt; <br>
&gt; ---&gt; To debug this kind of issues please post the size of all the b=
inaries specified in the imagebuilder config file<br>
&gt; <br>
&gt; I imagine that I should also calculate those values. And again,I see a=
 complication.<br>
&gt; <br>
&gt; I&#39;m realizing that the method used by Chuck is easier because he u=
ses stable values. In the end,there aren&#39;t any calculations to do and<b=
r>
&gt; since I&#39;m looking for an easier method,not a more complicated one,=
I think that Chuck&#39;s method is good as is.=C2=A0<br>
&gt; <br>
&gt; On Tue, Nov 14, 2023 at 11:51=E2=80=AFPM Stefano Stabellini &lt;<a hre=
f=3D"mailto:sstabellini@kernel.org" target=3D"_blank">sstabellini@kernel.or=
g</a>&gt; wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Hi Mario,<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0It is difficult to know how to change uboot-=
script-gen if we don&#39;t know<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0why it is currently going wrong.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0uboot-script-gen assumes that the memory ran=
ge specified by<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0MEMORY_START-MEMORY_END is valid and correct=
.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0So if you specified a valid and correct memo=
ry range in your config file<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0(0x41e00000-0x60000000) why is it failing?<b=
r>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0The only thing uboot-script-gen does is choo=
sing aligned addresses<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0within the MEMORY_START-MEMORY_END range. Th=
e addresses are supposed not<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0to overlap (meaning the initrd will not over=
write part of the kernel<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0when loaded). If the issue is a bug in uboot=
-script-gen, such as the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0generated addresses overlap or they are not =
aligned, then we can fix the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0alignment or overlap bug. To debug this kind=
 of issues please post:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0- the imagebuilder config file<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0- the generate boot.source script<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0- the size of all the binaries specified in =
the imagebuilder config file<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0On the other hand if 0x41e00000-0x60000000 i=
s not a safe memory range to<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0use, then you need to specify a different me=
mory range.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Cheers,<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Stefano<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0On Mon, 13 Nov 2023, Mario Marietto wrote:<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Hello.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; I&#39;m trying to find an easier way to=
 the problem that you can read here :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; <a href=3D"https://github.com/mobile-vi=
rt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest" re=
l=3D"noreferrer" target=3D"_blank">https://github.com/mobile-virt/u-boot-ch=
romebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest</a><br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; where Chuck says :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 6. Create the u-boot shell comman=
ds that will be used to boot Xen and dom0.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Create a file in /home/user (or any oth=
er directory) named bootxen.source with these contents :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; mmc dev 1 &amp;&amp; mmc rescan 1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; ext2load mmc 1:3 0x42000000 zImage-6.1.=
61-stb-xen-cbe+<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; ext2load mmc 1:3 0x51000000 xen-4.17-ar=
mhf-armmp-0x51004000.ub<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; ext2load mmc 1:3 0x5ffec000 exynos5250-=
snow-6.1.61-stb-xen-cbe+.dtb<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt addr 0x5ffec000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt resize 1024<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /chosen \#address-cells &lt;0x2=
&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /chosen \#size-cells &lt;0x2&gt=
;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /chosen xen,xen-bootargs &quot;=
console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1G dom0_max_vcpus=3D2 bootscru=
b=3D0 vwfi=3Dnative&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt mknod /chosen dom0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /chosen/dom0 compatible=C2=A0 &=
quot;xen,linux-zimage&quot; &quot;xen,multiboot-module&quot; &quot;multiboo=
t,module&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /chosen/dom0 reg &lt;0x0 0x4200=
0000 0x0 0x7D7200 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /chosen xen,dom0-bootargs &quot=
;console=3Dtty1 root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused&quot;<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; bootm 0x51000000 - 0x5ffec000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; The hex value 0x7D7200 is the size of t=
he zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0uboot-script-gen script<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; available from here :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; <a href=3D"https://gitlab.com/ViryaOS/i=
magebuilder" rel=3D"noreferrer" target=3D"_blank">https://gitlab.com/ViryaO=
S/imagebuilder</a><br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; This is the interesting point :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Please note that most of the other valu=
es in the script generated by the ViryaOS uboot-script-gen do not work corr=
ectly with<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0the Chromebook<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Snow, but the script does correctly cal=
culate the size of the dom0 Linux kernel image.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Some time ago Stefano suggested to put =
the values below for MEMORY_START and MEMORY_END inside the xen-config file=
 :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; nano xen-config file :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; MEMORY_START=3D&quot;0x41e00000&quot;<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; MEMORY_END=3D&quot;0x60000000&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; LOAD_CMD=3D&quot;ext2load mmc 1:3&quot;=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; BOOT_CMD=3D&quot;bootm&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; DEVICE_TREE=3D&quot;exynos5250-snow.dtb=
&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; XEN=3D&quot;xen-4.17-armhf&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; XEN_CMD=3D&quot;console=3Ddtuart dtuart=
=3Dserial0 dom0_mem=3D768M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative s=
ched=3Dnull&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; DOM0_KERNEL=3D&quot;zImage-6.6.0-xen-dm=
a-mapping&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; DOM0_CMD=3D&quot;console=3Dtty earlycon=
=3Dxen earlyprintk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unuse=
d&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; UBOOT_SOURCE=3D&quot;xen.source&quot;<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; bash ./uboot-script-gen -c xen-config -=
d .<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Image Name: =C2=A0=C2=A0=C2=A0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Created: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
Thu Nov =C2=A02 20:59:24 2023<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Image Type: =C2=A0=C2=A0ARM Linux Kerne=
l Image (uncompressed)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Data Size: =C2=A0=C2=A0=C2=A0884744 Byt=
es =3D 864.01 KiB =3D 0.84 MiB<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Load Address: 42c00000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Entry Point: =C2=A042c00000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Generated uboot script xen.scr, to be l=
oaded at address 0x42000000:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; ext2load mmc 1:3 0x42000000 xen.scr; so=
urce 0x42000000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; and I tried to boot Xen and Linux 6.6 a=
s dom0 :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; SMDK5250 # mmc dev 1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; SMDK5250 # ext2load mmc 1:3 0x42000000 =
xen.scr; source 0x42000000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; but it did not work : it reboots on the=
 verification screen.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; --<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Mario.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; --<br>
&gt; Mario.<br>
&gt; <br>
&gt; </blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signatur=
e_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<b=
r></div>

--0000000000002cf044060a255e36--


From xen-devel-bounces@lists.xenproject.org Tue Nov 14 23:58:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 14 Nov 2023 23:58:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633401.988177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r33J0-0002wU-7M; Tue, 14 Nov 2023 23:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633401.988177; Tue, 14 Nov 2023 23:58: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 1r33J0-0002wN-3z; Tue, 14 Nov 2023 23:58:54 +0000
Received: by outflank-mailman (input) for mailman id 633401;
 Tue, 14 Nov 2023 23:58: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 1r33Iz-0002wD-4c; Tue, 14 Nov 2023 23:58: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 1r33Iz-0002I7-2x; Tue, 14 Nov 2023 23:58: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 1r33Iy-0000ih-J9; Tue, 14 Nov 2023 23:58:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r33Iy-0003SC-IP; Tue, 14 Nov 2023 23: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=BfOccAvpzgH2LtfEdIL6rvU36KWbQG0kmjwW7NA13MY=; b=NRJbMDFoqbpROgrfZgitZ3TqdF
	DzEbfseZc35622Xa6NmfoCb/NpS7ifhlqmoeZpPxAq7vUupaDVd/1uTCibEZPElqGrYroFOpR5I85
	1UvNhK1SFrKt3spW6cfJomOPZunA8kVNZeq1C9S/XXIzBcoiQfB3QmEQ+PVb/kBmXrL0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183752-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.16-testing test] 183752: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.16-testing:test-amd64-i386-xl-qemuu-ws16-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-xl-qemut-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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.16-testing:test-armhf-armhf-libvirt-raw: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-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-qemut-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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-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-libvirt-qemuu-debianhvm-amd64-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-raw: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-xsm: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-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-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-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-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-amd64-libvirt-vhd: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-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-armhf-armhf-libvirt: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
    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-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-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=4dfe95177b948d1f3ed27a801f603ed7f1bc36e8
X-Osstest-Versions-That:
    xen=29efce0f8f10e381417a61f2f9988b40d4f6bcf0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 14 Nov 2023 23:58:52 +0000

flight 183752 xen-4.16-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/183752/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183350
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183357
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183357
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183357
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183357
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183357
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183357
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183357
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183357
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183357
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183357
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183357
 test-amd64-i386-libvirt-xsm  15 migrate-support-check        fail   never pass
 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-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-qemuu-debianhvm-amd64-xsm 13 migrate-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-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-raw  14 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-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-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-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-amd64-amd64-libvirt-vhd 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-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-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-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-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-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  4dfe95177b948d1f3ed27a801f603ed7f1bc36e8
baseline version:
 xen                  29efce0f8f10e381417a61f2f9988b40d4f6bcf0

Last test of basis   183357  2023-10-12 10:08:24 Z   33 days
Testing same since   183752  2023-11-14 13:06:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Roger Pau Monne <roger.pau@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-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-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
   29efce0f8f..4dfe95177b  4dfe95177b948d1f3ed27a801f603ed7f1bc36e8 -> stable-4.16


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 00:22:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 00:22:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633408.988187 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r33fy-0003Hg-Q0; Wed, 15 Nov 2023 00:22:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633408.988187; Wed, 15 Nov 2023 00:22: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 1r33fy-0003HZ-NA; Wed, 15 Nov 2023 00:22:38 +0000
Received: by outflank-mailman (input) for mailman id 633408;
 Wed, 15 Nov 2023 00:22: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=LT9n=G4=epam.com=prvs=5683a4b404=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r33fw-0003HT-Pp
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 00:22:37 +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 10c5ef42-834d-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 01:22:32 +0100 (CET)
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 3AENbngc001821;
 Wed, 15 Nov 2023 00:22:18 GMT
Received: from eur02-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur02lp2040.outbound.protection.outlook.com [104.47.11.40])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ucdbf0s4s-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 15 Nov 2023 00:22:18 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DBBPR03MB6746.eurprd03.prod.outlook.com (2603:10a6:10:206::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Wed, 15 Nov
 2023 00:22:13 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%5]) with mapi id 15.20.6977.029; Wed, 15 Nov 2023
 00:22: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: 10c5ef42-834d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fL/X2REKNUg57ffbDY/8SV9Gd62xCoDfUL7FmpQP36J5L4s3NmAW6ZY75wpeoOtfILhZsm+4qfYBOFeLnlrrBIixANh3z21rUMI4jzWZlUuWYfl1EldwuzhoHWpbiW8waebPCOUXkOLl32ObNfdcgG1Z/5PqoyfsFN42slLsjVB3kl9YX+IBSCGdrFfx7BApRtepj6FLd66NXuu/+Lp8iBtnlNYeUA+n0ke4kmFDD3gcm4lM5HTAEHvDikSH9o+X+3cgx6LrBmF2P1Z1wSLlhxILkZFgUu3O9eBoUF3aY5fC8beXaejFBpDgDSKWuS/aMnrNKfE/M++pSQzzMKXuJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qYQEYpft3N11diaNQeWQVhlQZjov32WoRwJ28KcWO4w=;
 b=bJM57rBDwSaY61ZLSVrT/GUqQHO6OjU66YIruCsVG9n/zc84arEJS0uWnNafZW0HPSjOY5poOQVXUFiGFwEDFfyWfS9beqV2qhsSAW21ZPsRrzuK3Mt3YJ/uypZtAHz3AZa9/JB+OZuX7049uB/vVT0b1qHDLMPDEUFqQc6u7VAp/1hrmaOqICJQdyKrpOW1QC2RgEDLSjbHDHELh1FBLPXEZaYCNU6RhdMgECtyU46ufpzugyf/XBU4EvQPeYKy+Wnh9mzxcGDQ3bropRSd7GzNS0UX2/h5ebFz/OfoR7c0BSlzKOJrpcqQrBz3bt9wnzRWIhnqQVrxNsoGhjGa6w==
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=qYQEYpft3N11diaNQeWQVhlQZjov32WoRwJ28KcWO4w=;
 b=CFVzkFrKE6ppsKuCxjPZkePY2TEtru2rak5KCTqy8ZZcPFEJ3bA0kcz6Bp3Vnl1kvtMqzZq1WI85E2FvAKY6l8vLrkPgxRlSn+uFd1myeSeo4vehzanTsu8UMeENNu7vg7w4PsvtuvJIdkTxRfkTv6ySHuST+LmAzAKJTm3D8zmFu0TBkY7FkkwuHTP2+tZVPvqJcMwWddFcTW+0pmKemJ5LeSYFuhpEY0vaj8vw+sfmlBga6yvdsDDnJqi4IX7FQvn1g8GLaSf/pHO8StUSsPTEUiJP/Q4tgDnqvbQWlmyVEMNVFEDZAfpFN62MUC/5qWoUimr5qj0uM5dST/pDkw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v1 4/7] xen_pvdev: Do not assume Dom0 when creating a
 directrory
Thread-Topic: [PATCH v1 4/7] xen_pvdev: Do not assume Dom0 when creating a
 directrory
Thread-Index: AQHaFBZoMLHgqbm5ZUeTIEOOIKOHALB3McuAgANTGAA=
Date: Wed, 15 Nov 2023 00:22:12 +0000
Message-ID: <87fs176f2k.fsf@epam.com>
References: <20231110204207.2927514-1-volodymyr_babchuk@epam.com>
 <20231110204207.2927514-5-volodymyr_babchuk@epam.com>
 <851f9138ccc9c4a9ec1c8f7f6c2cc57c652f2b96.camel@infradead.org>
In-Reply-To: <851f9138ccc9c4a9ec1c8f7f6c2cc57c652f2b96.camel@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DBBPR03MB6746:EE_
x-ms-office365-filtering-correlation-id: b70f2355-d0b1-46c5-fb13-08dbe570ea13
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 7AwLotBfzKGmClrDCQETCgUFrPwtsVbyPFVvSJ2rG6hnpFwj6CVFqnDIzbdCiyb/sGXNXRebMuZYKxeAOaVbELVbnhQEVpPDIYP49VtU5teegJ1JD6h5Qgc9rFOB3rI/L4dTaF58tEA+OM0RehIhqT+gOQA9kKyI8bykVB/LIhQReuKKaDp/9t84ETlIf3AkxfZlIErrDF3RBz2FOcGw3sWc54ThFWnSNDgAnCXYXejzht1daGd9J1sdPwbyekcJ0U4Z9lAp1yk8tIlOC0x4GCJ5b6iU7pTK0hKqrBfRWq6AcshwzGZxIw85wgArzDlXnOOjA019sJvvukTMkLeBRsmf9+GYo2gJwto/EErQaaYh3pwK9T542PFhkEXWqM6dmTbVg/sYTWaX6oUf1/8AXcgv+gsY6yQkyv5EPAWGM8MrCFiVwKV1hVbnfpp+zvlV1VBv7bU9a09MGoj747J27GDoLO1I4NgwAbJT0vAku2rJcSTQM97SQItZ7A0HUXz17cRltgmlDpm/+RzFAG8RiI51YXqWbFrzWd65GT3VeB7dZx2VmsTTZyygz5grF1uJpsGeJYv7xkwrhMfE5SvjxzgPjGXdAyfQ7IrGlVAi3UOvnGBsDc4yktLJZbTmFnNg
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:(13230031)(396003)(136003)(366004)(346002)(39860400002)(376002)(230922051799003)(64100799003)(451199024)(186009)(1800799009)(4326008)(8936002)(8676002)(71200400001)(38070700009)(26005)(2906002)(4001150100001)(5660300002)(2616005)(86362001)(6506007)(55236004)(6486002)(122000001)(36756003)(478600001)(41300700001)(38100700002)(83380400001)(316002)(6916009)(76116006)(66946007)(66476007)(66446008)(64756008)(66556008)(91956017)(54906003)(6512007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?ZGQ0S1B2OWFhUlU3YlRPd1dNeHBjR01HSEJ6elVFMWh5am40SHUrSWR6MnBW?=
 =?utf-8?B?Y1BMN2dMZG1nVnNrc25TdnV6OHV0OThidFdWMU5DNnFaT25TaXBHVGJiVVdp?=
 =?utf-8?B?QUpiSFpGVUw4STYwS1NRQk03ZmtyRjExWVZvZnJLSm96anFHcHFyS3IvZWRG?=
 =?utf-8?B?SmxBd0pKUEZNSDhFOCt6UjdXR1ZGQUZ3L2UzS3BWMlQ5K0tSZG9ManJZSjBy?=
 =?utf-8?B?bjc1SlBsZEtWOGY1Y0RvK1R6TmpZUXFDaFNIMmp5TFlCMGlXdlI3N2YzU2Zp?=
 =?utf-8?B?OG5rOG9hR2NBZ29iTURvY3Z4NlNVd29DMmhuQjhOWnY5TXA0VTNoWHlabUhO?=
 =?utf-8?B?dmhYYllabzhJRzNHbHBqVE5rbDNTcnlybUIreGlMekZSZzFidFB2cnJDbEpC?=
 =?utf-8?B?cFhXbnBJMllUV1oyVDdGZXM4TWdBb3dDNVJRYlJ5dVZJckVhcUY2b0dSRVd3?=
 =?utf-8?B?TlFrZnFRWTdkVlNJMVZJOENTeUlQdU81ZGhiM0JKV2tBbTVoK2FBOXJWYStL?=
 =?utf-8?B?WUppS3NQQWR5UEhQR3BwVmhDVDI0SWRYMmsvZ29jYTdLdUdpN0VPM09RcGx6?=
 =?utf-8?B?WXBnR2xjNFRIOFE4NHNHMTRrdU00ajlkNjkraXkwbE1tenFCUDh0NWxqbFRT?=
 =?utf-8?B?UEFuRmxSbmYxMk8rbWM2KzMvakZSL2xaZ0ZFK0dVclMvVm9LMkZUT2sxbm9m?=
 =?utf-8?B?dTN1TE9RTmFjNkJlbmxlKzNPd2xzN3hXTGZ4MFcydGdEaWdOZ3BRdmRla3JC?=
 =?utf-8?B?bGJId05xcld5TWpHQ3ZHZmdaT1hXZSs5cmpJRUo3SjNRVEdBdThIOEJQMHBl?=
 =?utf-8?B?cUpMVHNXK3FaWUFhTWVDSXMzdmY2ZnY5OTRQSTgzYWM2dVd1OGFRZnNDZzVx?=
 =?utf-8?B?czJwZ2pYUm5mcC8xdHB2NDd4eW8vWVJiU0NTSlpBaUxqSSs3Y0huVTZ2NWxZ?=
 =?utf-8?B?Sk1KbnlQejVpaUhDRy9JOEdMNG1UOG5xRjZvd2Z0UWdOZTI3ZVJ4enpMWTdB?=
 =?utf-8?B?NmtoQXFpMThuV2J0RnE5YjhxekQ1N0ZyT0NLMURYVkJVUitBUEZkS3BlUFlh?=
 =?utf-8?B?OUZNYjhFYS82dWFjaVpmNmpac0ZMNWlSYUtBN0VSUG1PamJTUW04QTVTb2xu?=
 =?utf-8?B?b3huVTRmOGIyTzNDM21IcHBzRHNnYUd6anZ5SkdvQjZSUFQ0WlZHWWVSMEsr?=
 =?utf-8?B?d3VCY0dxTlhQeWdlZUxWU2FEQ1p2UlJueUJZazgzODJFajF4eGRhZXdVUjdV?=
 =?utf-8?B?M2U0ZGlVd2x0bWdZVi95TGNQeVdpVXVsSmR6cnltK1VvOXBLaUpuYVZGVUo2?=
 =?utf-8?B?MDdsSUxHMlU3M2U5VEMxWW9aWEV4cytBRUtsblNucjdMbWhqOWJDQVVMWStv?=
 =?utf-8?B?OHdDWDhxMnhLL3YxZkFzcHpXMzhUMktnaEIzOFdTeUc3RFEzN3ZFK3kyODU0?=
 =?utf-8?B?MUpPNGpQdzZVMjdleGVVeDZqL2JJUlBuWGExSlFTRStMMi9OUHpJUFJPblhO?=
 =?utf-8?B?Nk1kNUtua3d3dlZwRUlXUFlwa3QrcDRzc0diR2V2QzkxL0lKTmdHemowbThJ?=
 =?utf-8?B?dG5hN0Q3YWNYM3NUQzBFaS95NGJCZzNaRklvbmdyVHNKcEVTVG52ZmpKTjJC?=
 =?utf-8?B?U2tTS2pQekppSnNKQlBiMk9xRTRad0VPeit2OGJrZEtRcUR3cGNOQUg5OS83?=
 =?utf-8?B?Z2hZUU5oc3lVeVUyc3F6OER5QU0yWmJ0OHpocGZMK3didjJtV21NOVlESDZH?=
 =?utf-8?B?NmtzZEZUOXJQSlQwdDdnR0MzMUEyV0t0eXJPdnd2N1hMbk5QT3VnNXFQQmsr?=
 =?utf-8?B?enFXbFl5clR0Wk51Z01NekFVOFJuODRSd1lSWkRjMGYxSWVpK25CaHhUaG1i?=
 =?utf-8?B?bENwQjdFZ2pCRUp2RFpTMXJEcTVMeTJYZ1RybDZsY2Vnd1B5ZjRWS2h4VFJJ?=
 =?utf-8?B?eEdMdWxWUVE5blFmcEtQTGNPaXhtZU43U0pjUjY3U2Q4Ujl4Y2tBOXRacjR5?=
 =?utf-8?B?eEoyckVlbzNQai9UdzJOZ0lRY1k4Z3llRlZ5WFZFdnVoU0d1V21NYU9YbnY1?=
 =?utf-8?B?WjVQaCtOM0Q1Z2dtNXZqT2tPMWFJWjZtdXhnVWl1bjlZVG5iNTNaRGhVVUFa?=
 =?utf-8?B?Nk91dm5uMmdDSWhaZmdGY3F3Y2hneGxOV3dqZ3V4cnkzNm9CVnkvQlFmcFVU?=
 =?utf-8?B?ZkE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <D594071A22DC764483AE0000E7F26A4B@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b70f2355-d0b1-46c5-fb13-08dbe570ea13
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2023 00:22:12.8714
 (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: NrMMA6f/dTW2AWXvHsPOcDq5lFvul4GG+X3xrZ/WU0wRSuniWMDJjmsAFV1/ZPMLUHVI90YwEG3ggFte0GHI1V50NtxBZdiEF8lzxMZZC5w=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB6746
X-Proofpoint-ORIG-GUID: 92IgnHQ3-3qBkP0MefFyTWzQhB8q6KN5
X-Proofpoint-GUID: 92IgnHQ3-3qBkP0MefFyTWzQhB8q6KN5
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-14_23,2023-11-14_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 priorityscore=1501 mlxscore=0 lowpriorityscore=0 suspectscore=0
 malwarescore=0 bulkscore=0 spamscore=0 clxscore=1015 phishscore=0
 mlxlogscore=986 adultscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311150001

DQpIaSBEYXZpZCwNCg0KRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPiB3cml0
ZXM6DQoNCj4gW1tTL01JTUUgU2lnbmVkIFBhcnQ6VW5kZWNpZGVkXV0NCj4gT24gRnJpLCAyMDIz
LTExLTEwIGF0IDIwOjQyICswMDAwLCBWb2xvZHlteXIgQmFiY2h1ayB3cm90ZToNCj4+IEZyb206
IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4+
IA0KPj4gSW5zdGVhZCBvZiBmb3JjaW5nIHRoZSBvd25lciB0byBkb21pZCAwLCB1c2UgWFNfUFJF
U0VSVkVfT1dORVIgdG8gc2F2ZQ0KPj4gdGhlIHByZXZpb3VzIG93bmVyIG9mIHRoZSBkaXJlY3Rv
cnkuDQo+PiANCj4NCj4gWW91J3JlIG1pc3NpbmcgdGhlIHdvcmRzICIuLi4gaWYgaXQgYWxyZWFk
eSBleGlzdHMiIGZyb20gdGhhdCBzZW50ZW5jZS4NCj4NCj4gSWYgdGhlIGRpcmVjdG9yeSAqZGlk
bid0KiBhbHJlYWR5IGV4aXN0LCBpdCBnZXRzIGNyZWF0ZWQgd2l0aCBkb20wIGFzDQo+IHRoZSBv
d25lciBzdGlsbCwgcmlnaHQ/IEFzc3VtaW5nIFhlblN0b3JlIGFsbG93cyBRRU1VIHRvIGRvIHRo
YXQuDQoNCklmIGl0IGRpZG4ndCBhbHJlYWR5IGV4aXN0LCBpdCBpcyBjcmVhdGVkIGFuZCBpdCBp
bmhlcml0cyBhY2Nlc3MgcmlnaHRzDQpmcm9tIHRoZSBwYXJlbnQgbm9kZS4NCg0KPiBTdHJpY3Rs
eSwgdGhlIG5vZGUgZ2V0cyBjcmVhdGVkIChpZiBwZXJtaXR0ZWQpIGFuZCAqdGhlbioNCj4geHNf
c2V0X3Blcm1pc3Npb25zKCkgYXR0ZW1wdHMgdG8gc2V0IGRvbTAgYXMgdGhlIG93bmVyIChpZiBw
ZXJtaXR0ZWQpLg0KDQpZZXMuIEknbGwgcmVwaHJhc2UgdGhpcyBhcyAiSW5zdGVhZCBvZiBmb3Jj
aW5nIHRoZSBvd25lciB0byBkb21pZCAwLCB1c2UNCiBYU19QUkVTRVJWRV9PV05FUiB0byBzYXZl
IHRoZSBpbmhlcml0ZWQgb3duZXIgb2YgdGhlIGRpcmVjdG9yeS4iDQoNCndpbGwgaXQgYmUgb2th
eT8NCg0KPg0KPj4gTm90ZSB0aGF0IGZvciBvdGhlciB0aGFuIERvbTAgZG9tYWluIChub24gdG9v
bHN0YWNrIGRvbWFpbikgdGhlDQo+PiAiZHJpdmVyX2RvbWFpbiIgcHJvcGVydHkgc2hvdWxkIGJl
IHNldCBpbiBkb21haW4gY29uZmlnIGZpbGUgZm9yIHRoZQ0KPj4gdG9vbHN0YWNrIHRvIGNyZWF0
ZSByZXF1aXJlZCBkaXJlY3RvcmllcyBpbiBhZHZhbmNlLg0KPj4gDQo+PiBTaWduZWQtb2ZmLWJ5
OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+DQo+
PiBTaWduZWQtb2ZmLWJ5OiBWb2xvZHlteXIgQmFiY2h1ayA8dm9sb2R5bXlyX2JhYmNodWtAZXBh
bS5jb20+DQo+PiAtLS0NCj4+IMKgaHcveGVuL3hlbl9wdmRldi5jIHwgMyArKy0NCj4+IMKgMSBm
aWxlIGNoYW5nZWQsIDIgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPj4gDQo+PiBkaWZm
IC0tZ2l0IGEvaHcveGVuL3hlbl9wdmRldi5jIGIvaHcveGVuL3hlbl9wdmRldi5jDQo+PiBpbmRl
eCBjNWFkNzFlOGRjLi40MmJkZDRmNmM4IDEwMDY0NA0KPj4gLS0tIGEvaHcveGVuL3hlbl9wdmRl
di5jDQo+PiArKysgYi9ody94ZW4veGVuX3B2ZGV2LmMNCj4+IEBAIC02MCw3ICs2MCw4IEBAIHZv
aWQgeGVuX2NvbmZpZ19jbGVhbnVwKHZvaWQpDQo+PiDCoA0KPj4gwqBpbnQgeGVuc3RvcmVfbWtk
aXIoY2hhciAqcGF0aCwgaW50IHApDQo+PiDCoHsNCj4+IC3CoMKgwqAgaWYgKCFxZW11X3hlbl94
c19jcmVhdGUoeGVuc3RvcmUsIDAsIDAsIHhlbl9kb21pZCwgcCwgcGF0aCkpIHsNCj4+ICvCoMKg
wqAgaWYgKCFxZW11X3hlbl94c19jcmVhdGUoeGVuc3RvcmUsIDAsIFhTX1BSRVNFUlZFX09XTkVS
LA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCB4ZW5fZG9taWQsIHAsIHBhdGgpKSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgIHhlbl9wdl9w
cmludGYoTlVMTCwgMCwgInhzX21rZGlyICVzOiBmYWlsZWRcbiIsIHBhdGgpOw0KPj4gwqDCoMKg
wqDCoMKgwqDCoCByZXR1cm4gLTE7DQo+PiDCoMKgwqDCoCB9DQo+DQo+IFdoeSBib3RoZXIgd2l0
aCB4ZW5zdG9yZV9ta2RpcigpPyBBRkFJQ1QgaXQncyAqb25seSogdXNlZCBmcm9tIHRoZQ0KPiBs
ZWdhY3kgWGVuTGVnYWN5RGV2aWNlIHN0dWZmLCBhbmQgY2FuJ3Qgd2UganVzdCBmaW5pc2ggdGhl
IGpvYiBvZg0KPiBtb3ZpbmcgZnJvbSB0aGF0IHRvIHRoZSBYZW5EZXZpY2UgbW9kZWw/IEkndmUg
ZG9uZSBjb25zb2xlIGFuZCBuZXQNCj4gcmVjZW50bHk7IHdhbnQgdG8ga2VlcCBnb2luZz8NCg0K
V2VsbCwgSSBhbSBub3Qgc28gZmFtaWxpYXIgd2l0aCBRRU1VIHRvIGFjY29tcGxpc2ggdGhpcyBp
biBhIHNob3J0DQp0aW1lLiBJZiB5b3UgcmVhbGx5IG5lZWQgaGVscCwgSSBjYW4gdGFrZSBhbG9v
ayBhdCA5cCBkcml2ZXIsIGl0IGxvb2tzDQpzaW1wbGVzdCBvZiB0aGVtIGFsbC4uLg0KDQo+DQo+
IEFuZCBldmVuIHRoZW4uLi4gdGhlIHhlbnN0b3JlX21rZGlyKCkgZnVuY3Rpb24gaXMgY2FsbGVk
IHR3aWNlIGZyb20NCj4geGVuX2NvbmZpZ19kZXZfZGlycygpIGluIGh3L3hlbi94ZW5fZGV2Y29u
ZmlnLmMgdG8gY3JlYXRlIHRoZSBmcm9udGVuZA0KPiBhbmQgYmFja2VuZCBkaXJlY3RvcmllcyDi
gJQgd2hpY2ggaXMgd2hhdCB0aGUgcmVzdCBvZiB5b3VyIHBhdGNoIHNlcmllcw0KPiBpcyB0cnlp
bmcgdG8gZWxpbWluYXRlIGJlY2F1c2UgYSBkcml2ZXIgZG9tYWluIGRvZXNuJ3QgaGF2ZSBwZXJt
aXNzaW9ucw0KPiB0byBkbyB0aGF0IGFueXdheS4NCj4NCj4gSXQncyBhbHNvIGNhbGxlZCBmcm9t
IHhlbl9iZV9yZWdpc3RlcigpIGluIGh3L3hlbi94ZW5fZGV2Y29uZmlnLmMgdG8NCj4gY3JlYXRl
IGRldmljZS1tb2RlbC8ke0dVRVNUX0RPTUlEfS9iYWNrZW5kcy8ke0RFVklDRV9UWVBFfSAodXNp
bmcgYQ0KPiByZWxhdGl2ZSBwYXRoLCBzbyBpbiB0aGUgZHJpdmVyIGRvbWFpbidzIFhlblN0b3Jl
KS4gVGhhdCBvbmUgcHJlc3VtYWJseQ0KPiAqd29uJ3QqIGV4aXN0IGFscmVhZHksIGFuZCBzbyBY
U19QUkVTRVJWRV9PV05FUiB3b24ndCBldmVuIGhhdmUgYW55DQo+IGVmZmVjdD8NCg0KQXMgSSBz
YWlkLCBpdCB3aWxsIGluaGVyaXQgZHJpdmVyJ3MgZG9tYWluIGFjY2VzcyByaWdodHMuIFNvIHll
YWgsDQpPbGVrc2FuZHIncyBwYXRjaCBjb3ZlcnMgdGhpcyBjYXNlLCBtb3N0bHkuDQoNCkkgYWdy
ZWUsIGl0IHdvdWxkIGJlIGJldHRlciB0byBkcm9wIHhlbnN0b3JlX21rZGlyKCkgYXQgYWxsLCBi
dXQgdGhpcyBpcw0KdGFuZ2VudCB0byBteSB0YXNrIG9mIGFkZGluZyB2aXJ0aW8tcGNpIHN1cHBv
cnQgZm9yIEFSTSBndWVzdHMuIFRob3NlDQpPbGVrc2FuZHIncyBwYXRjaGVzIGZvciBkcml2ZSBk
b21haW4sIHRoYXQgeW91IGFyZSBzZWVpbmcsIGNvbWUgdG8gbGlmZQ0Kb25seSBiZWNhdXNlIG91
ciBzeXN0ZW0gaGFwcGVucyB0byB1c2UgYSBzZXBhcmF0ZSBkcml2ZXIgZG9tYWluLg0KDQotLSAN
CldCUiwgVm9sb2R5bXly


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 00:29:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 00:29:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633413.988196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r33mS-0005fc-KZ; Wed, 15 Nov 2023 00:29:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633413.988196; Wed, 15 Nov 2023 00:29: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 1r33mS-0005fV-I3; Wed, 15 Nov 2023 00:29:20 +0000
Received: by outflank-mailman (input) for mailman id 633413;
 Wed, 15 Nov 2023 00:29: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=CxDQ=G4=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r33mR-0005Vu-Bm
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 00:29:19 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 02af1a77-834e-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 01:29:17 +0100 (CET)
Received: from mg.gitlab.com (68.90.74.34.bc.googleusercontent.com
 [34.74.90.68]) by
 72f7601e5405 with SMTP id 655410dc2209eba5d5fefc0f (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 15 Nov 2023 00:29:16 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 02af1a77-834e-11ee-98db-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700008156; x=1700015356; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=eG1ZmHQfJGQGS8iTcFJPGbCYCj/IGw+2z5ryxenIZhU=;
 b=WuqNDyCy6OVSWiX31FNkBt+wZRO/aHNaPh8XhmWkMu1h2Y+qkK3wmM9Q6EsvEfWro5pz24raV66zdzFsDGiQa+plkdS2VNWT1OTuWP9E8DtyK8e739lQzneFrlNYsia4aRsRbO/7/z25Lc0mg4IiIHNcgiQxEvQy+7K7hoHUECU=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 15 Nov 2023 00:29:15 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655410dbbd108_2c9b2bc1393ab@gitlab-sidekiq-catchall-v2-5ff69b5c5c-kqr7n.mail>
Subject: xen | Successful pipeline for stable-4.16 | 4dfe9517
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655410dbb3800_2c9b2bc1392f1";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1072738507
X-GitLab-Pipeline-Ref: stable-4.16
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655410dbb3800_2c9b2bc1392f1
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1072738507 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: stable-4.16 ( https://gitlab.com/xen-project/xen/-/commits/stable-4.16 )

Commit: 4dfe9517 ( https://gitlab.com/xen-project/xen/-/commit/4dfe95177b948d1f3ed27a801f603ed7f1bc36e8 )
Commit Message: x86/spec-ctrl: Remove conditional IRQs-on-ness ...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1072738507 ( https://gitlab.com/xen-project/xen/-/pipelines/1072738507 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 5 jobs in 1 stage.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655410dbb3800_2c9b2bc1392f1
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for stable-4.16 | 4dfe9517</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1072738507 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
table-4.16" style=3D"color: #333333; text-decoration: none;">
stable-4.16
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/4dfe95177b948d1f3e=
d27a801f603ed7f1bc36e8" style=3D"color: #3777b0; text-decoration: none;">=
4dfe9517</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86/spec-ctrl: Remove conditional IRQs-on-ness ...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107273=
8507" style=3D"color: #3777b0; text-decoration: none;">#1072738507</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 5 jobs in 1 stage.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655410dbb3800_2c9b2bc1392f1--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 04:49:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 04:49:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633481.988282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r37q5-0007r7-LM; Wed, 15 Nov 2023 04:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633481.988282; Wed, 15 Nov 2023 04: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 1r37q5-0007r0-Ik; Wed, 15 Nov 2023 04:49:21 +0000
Received: by outflank-mailman (input) for mailman id 633481;
 Wed, 15 Nov 2023 04: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 1r37q3-0007qq-Pv; Wed, 15 Nov 2023 04: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 1r37q3-00073X-M7; Wed, 15 Nov 2023 04: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 1r37q3-0002Mc-8b; Wed, 15 Nov 2023 04:49:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r37q3-0005Rv-2C; Wed, 15 Nov 2023 04: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=0dnKdejCdOe1uf6qOnufTYjEeY0Y6EO/pFLdbEmlvZ8=; b=t/zMT9HfjF5bxLK7miIIwxOOHP
	JpLG+ER0dntYiHnmCb1y1jrKQmkpJUYGVNU6GtfsT1Nc4DBIju2a6tCjRtdmlOL5bFBAbAN72W851
	dR/MmjwyWMKvnMdA0hNZ9qUkSVEstd5NW3e72gr677rZrN2C01NfqIQnr01U0hFtrEIg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183753-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 183753: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-amd64-amd64-qemuu-freebsd12-amd64:guest-saverestore.2:fail:heisenbug
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=0527bab0901b800e3f1be2e7836c5346b6e08809
X-Osstest-Versions-That:
    xen=0b56bed864ca9b572473957f0254aefa797216f2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Nov 2023 04:49:19 +0000

flight 183753 xen-4.17-testing real [real]
flight 183757 xen-4.17-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/183753/
http://logs.test-lab.xenproject.org/osstest/logs/183757/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-qemuu-freebsd12-amd64 18 guest-saverestore.2 fail pass in 183757-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183343
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183343
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183343
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183343
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183343
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183343
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183343
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183343
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183343
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183343
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183343
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183343
 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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 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-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-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-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-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-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-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-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     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-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-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

version targeted for testing:
 xen                  0527bab0901b800e3f1be2e7836c5346b6e08809
baseline version:
 xen                  0b56bed864ca9b572473957f0254aefa797216f2

Last test of basis   183343  2023-10-11 06:07:14 Z   34 days
Testing same since   183753  2023-11-14 13:07:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  David Woodhouse <dwmw@amazon.co.uk>
  George Dunlap <george.dunlap@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Michal Orzel <michal.orzel@amd.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Tamas K Lengyel <tamas@tklengyel.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                       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-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-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
   0b56bed864..0527bab090  0527bab0901b800e3f1be2e7836c5346b6e08809 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 06:08:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 06:08:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633488.988293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3941-0003Ak-VK; Wed, 15 Nov 2023 06:07:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633488.988293; Wed, 15 Nov 2023 06:07: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 1r3941-0003Ad-Sh; Wed, 15 Nov 2023 06:07:49 +0000
Received: by outflank-mailman (input) for mailman id 633488;
 Wed, 15 Nov 2023 06: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=gzjc=G4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r3940-0003AW-I9
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 06:07:48 +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 49853e31-837d-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 07:07:42 +0100 (CET)
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 AC1EB228CC;
 Wed, 15 Nov 2023 06:07: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 7D2A113587;
 Wed, 15 Nov 2023 06:07:41 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fb7IHC1gVGU/TgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 15 Nov 2023 06:07: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: 49853e31-837d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700028461; 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:autocrypt:autocrypt;
	bh=Rcjbqfau94OW5xXAgSbqgOq9roqaL9/DTlbXIFbneZ4=;
	b=ShfsqFqWC5fK5AVJsbZxz775yxohPg4QcJU+0P9uUpGeq2K0zaZkt6Mz3Ydm8zHVmdwUzR
	aoa8GA6U79hbMX4oUjJK3qQnHnFXNA3oyHonKAl+Nan8q7OlR4pgs+sSLjvhbK/xSO6I/0
	WBDCh25fNuHcNTKosXNtyeJYAe2El5Q=
Message-ID: <a79ee5b8-96bb-4d00-847f-48ca6c2ca03e@suse.com>
Date: Wed, 15 Nov 2023 07:07:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 25/29] tools/xenstored: map stubdom interface
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-26-jgross@suse.com>
 <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
 <3aacfaf1-5331-4e9c-99b3-b9c84af0de28@suse.com>
 <6062375b-ed94-46ba-a405-e3e7148ddc6f@xen.org>
 <e5d9e34c-da64-4386-b04c-d8bf2c171e07@suse.com>
 <27ec5caf-78ce-4685-97ae-f2e150323f32@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <27ec5caf-78ce-4685-97ae-f2e150323f32@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------hVuRoAxyL39926EDCqqYtnoT"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -8.98
X-Spamd-Result: default: False [-8.98 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-2.99)[-0.995];
	 BAYES_HAM(-3.00)[100.00%];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------hVuRoAxyL39926EDCqqYtnoT
Content-Type: multipart/mixed; boundary="------------PPaT7vZ3ZMslDAOZN7Falj9D";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <a79ee5b8-96bb-4d00-847f-48ca6c2ca03e@suse.com>
Subject: Re: [PATCH v2 25/29] tools/xenstored: map stubdom interface
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-26-jgross@suse.com>
 <3df5d15e-c42d-4e95-bbea-41969a0b2b5e@xen.org>
 <3aacfaf1-5331-4e9c-99b3-b9c84af0de28@suse.com>
 <6062375b-ed94-46ba-a405-e3e7148ddc6f@xen.org>
 <e5d9e34c-da64-4386-b04c-d8bf2c171e07@suse.com>
 <27ec5caf-78ce-4685-97ae-f2e150323f32@xen.org>
In-Reply-To: <27ec5caf-78ce-4685-97ae-f2e150323f32@xen.org>

--------------PPaT7vZ3ZMslDAOZN7Falj9D
Content-Type: multipart/mixed; boundary="------------CimUMNH0mFltKdcJQsO06iws"

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

T24gMTQuMTEuMjMgMjE6NDgsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiBP
biAxNC8xMS8yMDIzIDA5OjEyLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMTQuMTEu
MjMgMDk6NTYsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+PiBIaSwNCj4+Pg0KPj4+IE9uIDE0
LzExLzIwMjMgMDY6MzMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+IE9uIDEzLjExLjIz
IDIzOjA0LCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+Pj4+PiBIaSBKdWVyZ2VuLA0KPj4+Pj4N
Cj4+Pj4+IE9uIDEwLzExLzIwMjMgMTY6MDgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+
Pj4gV2hlbiBydW5uaW5nIGFzIHN0dWJkb20sIG1hcCB0aGUgc3R1YmRvbSdzIFhlbnN0b3Jl
IHJpbmcgcGFnZSBpbiBvcmRlcg0KPj4+Pj4+IHRvIHN1cHBvcnQgdXNpbmcgdGhlIDlwZnMg
ZnJvbnRlbmQuDQo+Pj4+Pj4NCj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3Nz
IDxqZ3Jvc3NAc3VzZS5jb20+DQo+Pj4+Pj4gLS0tDQo+Pj4+Pj4gwqAgdG9vbHMveGVuc3Rv
cmVkL2NvcmUuY8KgwqAgfMKgIDIgKysNCj4+Pj4+PiDCoCB0b29scy94ZW5zdG9yZWQvZG9t
YWluLmMgfCAyNyArKysrKysrKysrKysrKysrKysrKysrKysrKy0NCj4+Pj4+PiDCoCB0b29s
cy94ZW5zdG9yZWQvZG9tYWluLmggfMKgIDEgKw0KPj4+Pj4+IMKgIDMgZmlsZXMgY2hhbmdl
ZCwgMjkgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQ0KPj4+Pj4+DQo+Pj4+Pj4gZGlm
ZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMgYi90b29scy94ZW5zdG9yZWQvY29y
ZS5jDQo+Pj4+Pj4gaW5kZXggYjllYzUwYjM0Yy4uNGE5ZDg3NGYxNyAxMDA2NDQNCj4+Pj4+
PiAtLS0gYS90b29scy94ZW5zdG9yZWQvY29yZS5jDQo+Pj4+Pj4gKysrIGIvdG9vbHMveGVu
c3RvcmVkL2NvcmUuYw0KPj4+Pj4+IEBAIC0yOTkxLDYgKzI5OTEsOCBAQCBpbnQgbWFpbihp
bnQgYXJnYywgY2hhciAqYXJndltdKQ0KPj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBsdV9y
ZWFkX3N0YXRlKCk7DQo+Pj4+Pj4gwqAgI2VuZGlmDQo+Pj4+Pj4gK8KgwqDCoCBzdHViZG9t
X2luaXQoKTsNCj4+Pj4+PiArDQo+Pj4+Pj4gwqDCoMKgwqDCoCBjaGVja19zdG9yZSgpOw0K
Pj4+Pj4+IMKgwqDCoMKgwqAgLyogR2V0IHJlYWR5IHRvIGxpc3RlbiB0byB0aGUgdG9vbHMu
ICovDQo+Pj4+Pj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbnN0b3JlZC9kb21haW4uYyBiL3Rv
b2xzL3hlbnN0b3JlZC9kb21haW4uYw0KPj4+Pj4+IGluZGV4IGZhMTdmNjg2MTguLjE2MmI4
N2I0NjAgMTAwNjQ0DQo+Pj4+Pj4gLS0tIGEvdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5jDQo+
Pj4+Pj4gKysrIGIvdG9vbHMveGVuc3RvcmVkL2RvbWFpbi5jDQo+Pj4+Pj4gQEAgLTM3LDYg
KzM3LDEwIEBADQo+Pj4+Pj4gwqAgI2luY2x1ZGUgPHhlbmN0cmwuaD4NCj4+Pj4+PiDCoCAj
aW5jbHVkZSA8eGVuL2dyYW50X3RhYmxlLmg+DQo+Pj4+Pj4gKyNpZmRlZiBfX01JTklPU19f
DQo+Pj4+Pj4gKyNpbmNsdWRlIDxtaW5pLW9zL3hlbmJ1cy5oPg0KPj4+Pj4+ICsjZW5kaWYN
Cj4+Pj4+PiArDQo+Pj4+Pj4gwqAgc3RhdGljIHhjX2ludGVyZmFjZSAqKnhjX2hhbmRsZTsN
Cj4+Pj4+PiDCoCB4ZW5nbnR0YWJfaGFuZGxlICoqeGd0X2hhbmRsZTsNCj4+Pj4+PiDCoCBz
dGF0aWMgZXZ0Y2huX3BvcnRfdCB2aXJxX3BvcnQ7DQo+Pj4+Pj4gQEAgLTUwMCw2ICs1MDQs
MTEgQEAgc3RhdGljIHZvaWQgKm1hcF9pbnRlcmZhY2UoZG9taWRfdCBkb21pZCkNCj4+Pj4+
PiDCoMKgwqDCoMKgIGlmIChkb21pZCA9PSB4ZW5idXNfbWFzdGVyX2RvbWlkKCkpDQo+Pj4+
Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiB4ZW5idXNfbWFwKCk7DQo+Pj4+Pj4gKyNp
ZmRlZiBfX01JTklPU19fDQo+Pj4+Pj4gK8KgwqDCoCBpZiAoZG9taWQgPT0gc3R1Yl9kb21p
ZCkNCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuIHhlbnN0b3JlX2J1ZjsNCj4+Pj4+
PiArI2VuZGlmDQo+Pj4+Pj4gKw0KPj4+Pj4+IMKgwqDCoMKgwqAgcmV0dXJuIHhlbmdudHRh
Yl9tYXBfZ3JhbnRfcmVmKCp4Z3RfaGFuZGxlLCBkb21pZCwNCj4+Pj4+PiDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgR05UVEFCX1JFU0VSVkVE
X1hFTlNUT1JFLA0KPj4+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBQUk9UX1JFQUR8UFJPVF9XUklURSk7DQo+Pj4+Pj4gQEAgLTUwOSw3
ICs1MTgsNyBAQCBzdGF0aWMgdm9pZCB1bm1hcF9pbnRlcmZhY2UoZG9taWRfdCBkb21pZCwg
dm9pZCANCj4+Pj4+PiAqaW50ZXJmYWNlKQ0KPj4+Pj4+IMKgIHsNCj4+Pj4+PiDCoMKgwqDC
oMKgIGlmIChkb21pZCA9PSB4ZW5idXNfbWFzdGVyX2RvbWlkKCkpDQo+Pj4+Pj4gwqDCoMKg
wqDCoMKgwqDCoMKgIHVubWFwX3hlbmJ1cyhpbnRlcmZhY2UpOw0KPj4+Pj4+IC3CoMKgwqAg
ZWxzZQ0KPj4+Pj4+ICvCoMKgwqAgZWxzZSBpZiAoZG9taWQgIT0gc3R1Yl9kb21pZCkNCj4+
Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgeGVuZ250dGFiX3VubWFwKCp4Z3RfaGFuZGxlLCBp
bnRlcmZhY2UsIDEpOw0KPj4+Pj4+IMKgIH0NCj4+Pj4+PiBAQCAtMTIxNCw2ICsxMjIzLDIy
IEBAIHZvaWQgZG9tMF9pbml0KHZvaWQpDQo+Pj4+Pj4gwqDCoMKgwqDCoCB4ZW5ldnRjaG5f
bm90aWZ5KHhjZV9oYW5kbGUsIGRvbTAtPnBvcnQpOw0KPj4+Pj4+IMKgIH0NCj4+Pj4+PiAr
dm9pZCBzdHViZG9tX2luaXQodm9pZCkNCj4+Pj4+PiArew0KPj4+Pj4+ICsjaWZkZWYgX19N
SU5JT1NfXw0KPj4+Pj4+ICvCoMKgwqAgc3RydWN0IGRvbWFpbiAqc3R1YmRvbTsNCj4+Pj4+
PiArDQo+Pj4+Pj4gK8KgwqDCoCBpZiAoc3R1Yl9kb21pZCA8IDApDQo+Pj4+Pj4gK8KgwqDC
oMKgwqDCoMKgIHJldHVybjsNCj4+Pj4+PiArDQo+Pj4+Pj4gK8KgwqDCoCBzdHViZG9tID0g
aW50cm9kdWNlX2RvbWFpbihOVUxMLCBzdHViX2RvbWlkLCB4ZW5idXNfZXZ0Y2huLCBmYWxz
ZSk7DQo+Pj4+Pj4gK8KgwqDCoCBpZiAoIXN0dWJkb20pDQo+Pj4+Pj4gK8KgwqDCoMKgwqDC
oMKgIGJhcmZfcGVycm9yKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBzdHViZG9tIik7DQo+Pj4+
Pj4gKw0KPj4+Pj4+ICvCoMKgwqAgeGVuZXZ0Y2huX25vdGlmeSh4Y2VfaGFuZGxlLCBzdHVi
ZG9tLT5wb3J0KTsNCj4+Pj4+DQo+Pj4+PiBJZiBJIGNvbXBhcmUgdG8gaW50cm9kdWNlX2Rv
bWFpbigpLCBpdCBpcyBub3QgZW50aXJlbHkgY2xlYXIgdG8gbWUgd2h5IHRoZSANCj4+Pj4+
IG5vdGlmaWNhdGlvbiBpcyBkb25lIHVuY29uZGl0aW9uYWxseSBoZXJlLiBDYW4geW91IGNs
YXJpZnk/DQo+Pj4+DQo+Pj4+IFRoZXJlIGlzIG5vIHJlYXNvbiB0byBkbyBpdCBjb25kaXRp
b25hbGx5LCBhcyB3ZSBjYW4gYmUgc3VyZSB0aGUgZXZlbnQgY2hhbm5lbA0KPj4+PiBpcyBl
eGlzdGluZyBhbmQgdGhlIHJpbmcgcGFnZSBpcyBhY2Nlc3NpYmxlLg0KPj4+DQo+Pj4gSG1t
bS4uLiBCdXQgdGhlcmUgaXMgYSBzZWNvbmQgcGFydCBpbiB0aGUgY29uZGl0aW9uOg0KPj4+
DQo+Pj4gZG9tYWluLT5pbnRlcmZhY2UtPmNvbm5lY3Rpb24gPT0gWEVOU1RPUkVfUkVDT05O
RUNUDQo+Pj4NCj4+PiBXaHkgaXNuJ3QgaXQgbmVjZXNzYXJ5IGhlcmU/IFdoYXQgSSBhbSBs
b29raW5nIGZvciBwYXJ0aWN1bGFybHkgaXMgc29tZSANCj4+PiBpbi1jb2RlIGNvbW1lbnQg
KG9yIGF0IGxlYXN0IGluIHRoZSBjb21taXQgbWVzc2FnZSkgYmVjYXVzZSB0aGlzIGlzIG5v
dCAxMDAlIA0KPj4+IGNsZWFyIHdoeSB3ZSBhcmUgZGl2ZXJnaW5nLg0KPj4NCj4+IFRoZSB0
ZXN0IG9mIFhFTlNUT1JFX1JFQ09OTkVDVCBpcyBkb25lIGZvciBkb21VcyBzdGFydGVkIGJl
Zm9yZSBvciB0b2dldGhlciB3aXRoDQo+PiBkb20wIGluIG9yZGVyIHRvIGdpdmUgdGhlbSBh
IHNpZ25hbCB0aGF0IHRoZXkgY2FuIHN0YXJ0IHRvIHVzZSBYZW5zdG9yZS4NCj4+DQo+PiBI
ZXJlIHdlIGFyZSBpbml0aWFsaXppbmcgb3VyIG93biBjb25uZWN0aW9uLCBzbyB0aGVyZSBp
cyBubyBuZWVkIHRvIHRlc3Qgd2hldGhlcg0KPj4gdGhlIG90aGVyIGVuZCBpcyB3YWl0aW5n
IGZvciB1cy4gV2Uga25vdyB0aGVyZSBpcyBubyBwb3NzaWJsZSBwcm9ibGVtIHNlbmRpbmcN
Cj4+IHRoZSBldmVudCwgc28gd2UgY2FuIGp1c3QgZG8gaXQuIFRoZSBtYWluIGluc3RydWN0
aW9uIGd1YXJkZWQgYnkgdGhlIHRlc3Qgb2YNCj4+IFhFTlNUT1JFX1JFQ09OTkVDVCBpcyB0
aGUgc2V0dGluZyBvZiBYRU5TVE9SRV9DT05ORUNURUQsIHdoaWNoIHRoZW4gbmVlZHMgdGhl
DQo+PiBldmVudCB0byBiZSBzZW50IHRvIHNpZ25hbCB0aGF0IGNoYW5nZSBpbiB0aGUgY29u
bmVjdGlvbiBzdGF0ZS4NCj4+DQo+PiBJbiB0aGUgZW5kIHdlIGFyZSBfbm90XyBkaXZlcmdp
bmcuIFlvdSBzaG91bGQganVzdCBjb21wYXJlIHRoZSBjb2RlIHRvIHRoZSBtb3JlDQo+PiBj
b21wYXJhYmxlIGRvbTBfaW5pdCgpIGNvZGUuIFRoZXJlIHRoZSBldmVudCBpcyBiZWluZyBz
ZW50IHVuY29uZGl0aW9uYWxseSwgdG9vLg0KPiANCj4gT2suIENhbiB0aGlzIGJlIGRvY3Vt
ZW50ZWQgc29tZXdoZXJlPw0KDQpJJ2xsIGFkZCBzb21ldGhpbmcgdG8gdGhlIGNvbW1pdCBt
ZXNzYWdlLg0KDQoNCkp1ZXJnZW4NCg0K
--------------CimUMNH0mFltKdcJQsO06iws
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-----

--------------CimUMNH0mFltKdcJQsO06iws--

--------------PPaT7vZ3ZMslDAOZN7Falj9D--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVUYC0FAwAAAAAACgkQsN6d1ii/Ey8F
YAf/dQiipK+N6ksefG17ijudRD2eiKhLjMcQOC3OMVq0L2K9q0CZFPjLK/EgeKR9lDt2TIXLUaXj
cP/YVdeNWPF/zcsTDCgE9Fx5vOguC/HOU6p7RCZXfw7ztDqRpcRh4UXkSrDs/fk3IWhKNJUbL3Fx
XcXpobqVExpzLz72irpb8e4DKP02A/K4GgizV5dmMbzzPsPu9+kQXVp7AKm5v8bMvNgZ1CMCkBDW
idb1S3hOlEtqXdwFs0f8pIUz5smWDUsqx2okUitDTA8AHZPFJGVc4EVKaXvJR/j9SRyKSWZ/aLT4
ia5SVA1L0iLQ6eE/s1GPRxJo+bveY8z6CNbLKjbtGA==
=Y5Z8
-----END PGP SIGNATURE-----

--------------hVuRoAxyL39926EDCqqYtnoT--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 06:14:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 06:14:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633491.988302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r39AT-0004cz-Lm; Wed, 15 Nov 2023 06:14:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633491.988302; Wed, 15 Nov 2023 06:14: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 1r39AT-0004cs-J5; Wed, 15 Nov 2023 06:14:29 +0000
Received: by outflank-mailman (input) for mailman id 633491;
 Wed, 15 Nov 2023 06:14: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=gzjc=G4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r39AS-0004cm-24
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 06:14:28 +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 3aa73476-837e-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 07:14:27 +0100 (CET)
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 0577C1F8B2;
 Wed, 15 Nov 2023 06:14: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 CAF6313587;
 Wed, 15 Nov 2023 06:14:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mpILMMFhVGVgUQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 15 Nov 2023 06: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: 3aa73476-837e-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700028866; 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:autocrypt:autocrypt;
	bh=V+3VVeR3eiXuQskMznGZs5Ws+JgwlInYkxkD03u/83U=;
	b=tuuQ4Hz3yG8mFzrotJA9lb8Yp7ZHvW0ScOpBzhR88wZiMjt/QkXUBhy3JKz1gIsum/srfk
	D0o9vld4FICYKcMAFj8nr/vq6Veh+pmzDTT3eTa0vA7p3M0LxgvLtJfUtehLRK3nPkYgvY
	mdrqE6mwcWXGQX99NhZb09TLF+y3S5g=
Message-ID: <34c2307e-f99d-41ab-b76c-948389c64bd0@suse.com>
Date: Wed, 15 Nov 2023 07:14:25 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename
 handling
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-28-jgross@suse.com>
 <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
 <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
 <2f024e6b-8f4b-4784-a1ef-1acb04c5a4dc@xen.org>
 <f15e5a60-e1b0-445b-9374-f8feda10f0b0@suse.com>
 <b18acbe0-b8f9-47d6-a85d-c4a7bd158809@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <b18acbe0-b8f9-47d6-a85d-c4a7bd158809@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Erl0GRqFPYieUOy2dZv9qPQ9"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -8.99
X-Spamd-Result: default: False [-8.99 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 BAYES_HAM(-3.00)[100.00%];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 FREEMAIL_CC(0.00)[xen.org,citrix.com,gmail.com];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Erl0GRqFPYieUOy2dZv9qPQ9
Content-Type: multipart/mixed; boundary="------------ukmo90m6dgRB3fMahOoe00bF";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Message-ID: <34c2307e-f99d-41ab-b76c-948389c64bd0@suse.com>
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename
 handling
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-28-jgross@suse.com>
 <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org>
 <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
 <2f024e6b-8f4b-4784-a1ef-1acb04c5a4dc@xen.org>
 <f15e5a60-e1b0-445b-9374-f8feda10f0b0@suse.com>
 <b18acbe0-b8f9-47d6-a85d-c4a7bd158809@xen.org>
In-Reply-To: <b18acbe0-b8f9-47d6-a85d-c4a7bd158809@xen.org>

--------------ukmo90m6dgRB3fMahOoe00bF
Content-Type: multipart/mixed; boundary="------------0t8MhRR4yn3PAGB0o6h46WU6"

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

T24gMTQuMTEuMjMgMjE6NTMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDE0LzExLzIwMjMgMDk6MjYsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAxNC4xMS4yMyAxMDoxMCwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpIEp1ZXJnZW4s
DQo+Pj4NCj4+PiBPbiAxNC8xMS8yMDIzIDA2OjQ1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4+PiBPbiAxMy4xMS4yMyAyMzoyNSwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+Pj4gSGkg
SnVlcmdlbiwNCj4+Pj4+DQo+Pj4+PiBPbiAxMC8xMS8yMDIzIDE2OjA4LCBKdWVyZ2VuIEdy
b3NzIHdyb3RlOg0KPj4+Pj4+IEFkZCBzb21lIGhlbHBlcnMgZm9yIGhhbmRsaW5nIGZpbGVu
YW1lcyB3aGljaCBtaWdodCBuZWVkIGRpZmZlcmVudA0KPj4+Pj4+IGltcGxlbWVudGF0aW9u
cyBiZXR3ZWVuIHN0dWJkb20gYW5kIGRhZW1vbiBlbnZpcm9ubWVudHM6DQo+Pj4+Pj4NCj4+
Pj4+PiAtIGV4cGFuc2lvbiBvZiByZWxhdGl2ZSBmaWxlbmFtZXMgKHRob3NlIGFyZSBub3Qg
cmVhbGx5IGRlZmluZWQgdG9kYXksDQo+Pj4+Pj4gwqDCoCBqdXN0IGV4cGFuZCB0aGVtIHRv
IGJlIHJlbGF0aXZlIHRvIC92YXIvbGliL3hlbi94ZW5zdG9yZSkNCj4+Pj4+PiAtIGV4cGFu
c2lvbiBvZiB4ZW5zdG9yZV9kYWVtb25fcnVuZGlyKCkgKHVzZWQgZS5nLiBmb3Igc2F2aW5n
IHRoZSBzdGF0ZQ0KPj4+Pj4+IMKgwqAgZmlsZSBpbiBjYXNlIG9mIGxpdmUgdXBkYXRlIC0g
bmVlZHMgdG8gYmUgdW5jaGFuZ2VkIGluIHRoZSBkYWVtb24NCj4+Pj4+PiDCoMKgIGNhc2Us
IGJ1dCBzaG91bGQgcmVzdWx0IGluIC92YXIvbGliL3hlbi94ZW5zdG9yZSBmb3Igc3R1YmRv
bSkNCj4+Pj4+Pg0KPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9z
c0BzdXNlLmNvbT4NCj4+Pj4+PiBSZXZpZXdlZC1ieTogSmFzb24gQW5kcnl1ayA8amFuZHJ5
dWtAZ21haWwuY29tPg0KPj4+Pj4+IC0tLQ0KPj4+Pj4+IMKgIHRvb2xzL3hlbnN0b3JlZC9j
b3JlLmPCoMKgwqDCoMKgIHwgOSArKysrKysrKy0NCj4+Pj4+PiDCoCB0b29scy94ZW5zdG9y
ZWQvY29yZS5owqDCoMKgwqDCoCB8IDMgKysrDQo+Pj4+Pj4gwqAgdG9vbHMveGVuc3RvcmVk
L2x1X2RhZW1vbi5jIHwgNCArKy0tDQo+Pj4+Pj4gwqAgdG9vbHMveGVuc3RvcmVkL21pbmlv
cy5jwqDCoMKgIHwgNSArKysrKw0KPj4+Pj4+IMKgIHRvb2xzL3hlbnN0b3JlZC9wb3NpeC5j
wqDCoMKgwqAgfCA1ICsrKysrDQo+Pj4+Pj4gwqAgNSBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNl
cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQ0KPj4+Pj4+DQo+Pj4+Pj4gZGlmZiAtLWdpdCBh
L3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmMgYi90b29scy94ZW5zdG9yZWQvY29yZS5jDQo+Pj4+
Pj4gaW5kZXggNGE5ZDg3NGYxNy4uNzdiZWZkMjRjOSAxMDA2NDQNCj4+Pj4+PiAtLS0gYS90
b29scy94ZW5zdG9yZWQvY29yZS5jDQo+Pj4+Pj4gKysrIGIvdG9vbHMveGVuc3RvcmVkL2Nv
cmUuYw0KPj4+Pj4+IEBAIC0xNTgsNiArMTU4LDEzIEBAIHZvaWQgdHJhY2VfZGVzdHJveShj
b25zdCB2b2lkICpkYXRhLCBjb25zdCBjaGFyICp0eXBlKQ0KPj4+Pj4+IMKgwqDCoMKgwqDC
oMKgwqDCoCB0cmFjZSgib2JqOiBERVNUUk9ZICVzICVwXG4iLCB0eXBlLCBkYXRhKTsNCj4+
Pj4+PiDCoCB9DQo+Pj4+Pj4gK2NoYXIgKmFic29sdXRlX2ZpbGVuYW1lKGNvbnN0IHZvaWQg
KmN0eCwgY29uc3QgY2hhciAqZmlsZW5hbWUpDQo+Pj4+Pg0KPj4+Pj4gQ2FuIHRoZSByZXR1
cm4gYmUgY29uc3Q/DQo+Pj4+DQo+Pj4+IEknbGwgaGF2ZSBhIGxvb2suDQo+Pj4+DQo+Pj4+
Pg0KPj4+Pj4+ICt7DQo+Pj4+Pj4gK8KgwqDCoCBpZiAoZmlsZW5hbWVbMF0gIT0gJy8nKQ0K
Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCByZXR1cm4gdGFsbG9jX2FzcHJpbnRmKGN0eCwgWEVO
U1RPUkVfTElCX0RJUiAiLyVzIiwgZmlsZW5hbWUpOw0KPj4+Pj4NCj4+Pj4+IExvb2tpbmcg
YXQgdGhlIHJlc3Qgb2YgcGF0Y2gsIHlvdSB3aWxsIGJlIHVzaW5nIHhlbnN0b3JlX3J1bmRp
cigpLiBJIHdvbmRlciANCj4+Pj4+IHdoZXRoZXIgaXQgd291bGQgbm90IGJlIGJldHRlciB0
byBzd2l0Y2ggdG8geGVuc3RvcmVfcnVuZGlyKCkgc28uLi4NCj4+Pj4+DQo+Pj4+Pj4gK8Kg
wqDCoCByZXR1cm4gdGFsbG9jX3N0cmR1cChjdHgsIGZpbGVuYW1lKTsNCj4+Pj4+PiArfQ0K
Pj4+Pj4+ICsNCj4+Pj4+PiDCoCAvKioNCj4+Pj4+PiDCoMKgICogU2lnbmFsIGhhbmRsZXIg
Zm9yIFNJR0hVUCwgd2hpY2ggcmVxdWVzdHMgdGhhdCB0aGUgdHJhY2UgbG9nIGlzIHJlb3Bl
bmVkDQo+Pj4+Pj4gwqDCoCAqIChpbiB0aGUgbWFpbiBsb29wKS7CoCBBIHNpbmdsZSBieXRl
IGlzIHdyaXR0ZW4gdG8gcmVvcGVuX2xvZ19waXBlLCB0byANCj4+Pj4+PiBhd2FrZW4NCj4+
Pj4+PiBAQCAtMjk4Myw3ICsyOTkwLDcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFy
Z3ZbXSkNCj4+Pj4+PiDCoMKgwqDCoMKgIHNpZ25hbChTSUdIVVAsIHRyaWdnZXJfcmVvcGVu
X2xvZyk7DQo+Pj4+Pj4gwqDCoMKgwqDCoCBpZiAodHJhY2VmaWxlKQ0KPj4+Pj4+IC3CoMKg
wqDCoMKgwqDCoCB0cmFjZWZpbGUgPSB0YWxsb2Nfc3RyZHVwKE5VTEwsIHRyYWNlZmlsZSk7
DQo+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgIHRyYWNlZmlsZSA9IGFic29sdXRlX2ZpbGVuYW1l
KE5VTEwsIHRyYWNlZmlsZSk7DQo+Pj4+Pj4gwqAgI2lmbmRlZiBOT19MSVZFX1VQREFURQ0K
Pj4+Pj4+IMKgwqDCoMKgwqAgLyogUmVhZCBzdGF0ZSBpbiBjYXNlIG9mIGxpdmUgdXBkYXRl
LiAqLw0KPj4+Pj4+IGRpZmYgLS1naXQgYS90b29scy94ZW5zdG9yZWQvY29yZS5oIGIvdG9v
bHMveGVuc3RvcmVkL2NvcmUuaA0KPj4+Pj4+IGluZGV4IGEwZDM1OTI5NjEuLjUxZTFkZGRi
MjIgMTAwNjQ0DQo+Pj4+Pj4gLS0tIGEvdG9vbHMveGVuc3RvcmVkL2NvcmUuaA0KPj4+Pj4+
ICsrKyBiL3Rvb2xzL3hlbnN0b3JlZC9jb3JlLmgNCj4+Pj4+PiBAQCAtMzkzLDYgKzM5Myw5
IEBAIHZvaWQgZWFybHlfaW5pdCh2b2lkKTsNCj4+Pj4+PiDCoCB2b2lkIG1vdW50XzlwZnMo
dm9pZCk7DQo+Pj4+Pj4gwqAgI2VuZGlmDQo+Pj4+Pj4gK2NvbnN0IGNoYXIgKnhlbnN0b3Jl
X3J1bmRpcih2b2lkKTsNCj4+Pj4+PiArY2hhciAqYWJzb2x1dGVfZmlsZW5hbWUoY29uc3Qg
dm9pZCAqY3R4LCBjb25zdCBjaGFyICpmaWxlbmFtZSk7DQo+Pj4+Pj4gKw0KPj4+Pj4+IMKg
IC8qIFdyaXRlIG91dCB0aGUgcGlkZmlsZSAqLw0KPj4+Pj4+IMKgIHZvaWQgd3JpdGVfcGlk
ZmlsZShjb25zdCBjaGFyICpwaWRmaWxlKTsNCj4+Pj4+PiBkaWZmIC0tZ2l0IGEvdG9vbHMv
eGVuc3RvcmVkL2x1X2RhZW1vbi5jIGIvdG9vbHMveGVuc3RvcmVkL2x1X2RhZW1vbi5jDQo+
Pj4+Pj4gaW5kZXggNzFiY2FiYWRkMy4uNjM1MTExMWFiMCAxMDA2NDQNCj4+Pj4+PiAtLS0g
YS90b29scy94ZW5zdG9yZWQvbHVfZGFlbW9uLmMNCj4+Pj4+PiArKysgYi90b29scy94ZW5z
dG9yZWQvbHVfZGFlbW9uLmMNCj4+Pj4+PiBAQCAtMjQsNyArMjQsNyBAQCB2b2lkIGx1X2dl
dF9kdW1wX3N0YXRlKHN0cnVjdCBsdV9kdW1wX3N0YXRlICpzdGF0ZSkNCj4+Pj4+PiDCoMKg
wqDCoMKgIHN0YXRlLT5zaXplID0gMDsNCj4+Pj4+PiDCoMKgwqDCoMKgIHN0YXRlLT5maWxl
bmFtZSA9IHRhbGxvY19hc3ByaW50ZihOVUxMLCAiJXMvc3RhdGVfZHVtcCIsDQo+Pj4+Pj4g
LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB4ZW5zdG9yZV9k
YWVtb25fcnVuZGlyKCkpOw0KPj4+Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqAgeGVuc3RvcmVfcnVuZGlyKCkpOw0KPj4+Pj4NCj4+Pj4+IC4uLiBj
YWxsIGFuZCAuLi4NCj4+Pj4+DQo+Pj4+Pj4gwqDCoMKgwqDCoCBpZiAoIXN0YXRlLT5maWxl
bmFtZSkNCj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqAgYmFyZigiQWxsb2NhdGlvbiBmYWls
dXJlIik7DQo+Pj4+Pj4gQEAgLTY1LDcgKzY1LDcgQEAgRklMRSAqbHVfZHVtcF9vcGVuKGNv
bnN0IHZvaWQgKmN0eCkNCj4+Pj4+PiDCoMKgwqDCoMKgIGludCBmZDsNCj4+Pj4+PiDCoMKg
wqDCoMKgIGZpbGVuYW1lID0gdGFsbG9jX2FzcHJpbnRmKGN0eCwgIiVzL3N0YXRlX2R1bXAi
LA0KPj4+Pj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeGVuc3Rv
cmVfZGFlbW9uX3J1bmRpcigpKTsNCj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgIHhlbnN0b3JlX3J1bmRpcigpKTsNCj4+Pj4+DQo+Pj4+PiAuLi4gdGhp
cyBvbmUgY291bGQgYmUgcmVwbGFjZWQgd2l0aCBhYnNvbHV0ZV9maWxlbmFtZSgpLg0KPj4+
Pg0KPj4+PiBObywgSSBkb24ndCB0aGluayB0aGlzIGlzIGEgZ29vZCBpZGVhLg0KPj4+Pg0K
Pj4+PiBJIGRvbid0IHdhbnQgdGhlIGRhZW1vbiB0byBzdG9yZSB0cmFjZSBmaWxlcyBzcGVj
aWZpZWQgYXMgcmVsYXRpdmUgZmlsZXMNCj4+Pj4gdG8gYmUgc3RvcmVkIGluIC92YXIvcnVu
L3hlbiwgd2hpbGUgSSB3YW50IGFsbCBmaWxlcyBvZiB0aGUgc3R1YmRvbSB0byBiZQ0KPj4+
PiBzdG9yZWQgdW5kZXIgL3Zhci9saWIveGVuLg0KPj4+DQo+Pj4gV2h5PyBUaGlzIGlzIGEg
Yml0IG9kZCB0byBoYXZlIGEgZGlmZmVyZW50IGJlaGF2aW9yIGJldHdlZW4gc3R1YmRvbSBh
bmQgDQo+Pj4gZGFlbW9uLiBJdCB3b3VsZCBiZSBtdWNoIGVhc2llciBmb3IgdGhlIHVzZXIg
aWYgdGhleSBrbmV3IGFsbCB0aGUgZmlsZXMgd291bGQgDQo+Pj4gYmUgYXQgdGhlIHNhbWUg
cGxhY2UgcmVnYXJkbGVzcyB0aGUgdmVyc2lvbiB1c2VkLg0KPj4NCj4+IFRoZSBtYWluIGRp
ZmZlcmVuY2UgaXMgdGhhdCBzdHViZG9tIGhhcyBhY2Nlc3MgdG8gb25seSBfb25lXyBkaXJl
Y3RvcnkgaW4gZG9tMC4NCj4gDQo+IFdvdWxkIHlvdSBiZSBhYmxlIHRvIGV4cGxhaW4gd2h5
IHdlIGNhbiBvbmx5IGdpdmUgYWNjZXNzIHRvIGEgc2luZ2xlIGRpcmVjdG9yeT8gDQo+IElz
IHRoaXMgYmVjYXVzZSBvZiB0aGUgOXBmcyBwcm90b2NvbD8NCg0KWWVzLiBJIGNhbiBtb3Vu
dCBhIHNwZWNpZmljIGRvbTAgZGlyZWN0b3J5IGluIHRoZSBndWVzdC4NCg0KPiANCj4+IEkg
L2NvdWxkLyBnaXZlIGl0IGFjY2VzcyB0byAiLyIsIGJ1dCBkbyB3ZSByZWFsbHkgd2FudCB0
aGF0Pw0KPiANCj4gSSBkb24ndCB0aGluayB3ZSB3YW50IHRvIGdpdmUgYWNjZXNzIHRvICIv
Ii4NCj4gDQo+Pg0KPj4gV2UgY2FuJ3QgZ2V0IHJpZCBvZiB0aGUgL3Zhci9ydW4veGVuIGFj
Y2VzcyBpbiB4ZW5zdG9yZWQsIGFzIGl0IGlzIHVzZWQgZm9yDQo+PiBsaXZlIHVwZGF0ZSwg
c28gdGhlIG9sZCBhbmQgdGhlIG5ldyB4ZW5zdG9yZWQgbmVlZCB0byBhZ3JlZSBvbiB0aGUg
bG9jYXRpb24gb2YNCj4+IHRoZSBzdGF0ZSBmaWxlLg0KPiANCj4gV2VsbCwgWGVuc3RvcmVk
IExpdmUtVXBkYXRlIGlzIHRlY2huaWNhbGx5IGEgdGVjaCBwcmV2aWV3IGZlYXR1cmUuIFNv
IHdlICpjb3VsZCogDQo+IGJyZWFrIGl0IGFuZCBhbGxvdyB0aGUgc3RhdGUgZmlsZSB0byBi
ZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4NCj4gDQo+IEFueXdheSwgSSBhbSBv
ayBpZiB5b3Ugd2FudCB0aGVtIHRvIGhhdmUgdGhlIGxpdmUtdXBkYXRlIHN0YXRlIGluIGEg
c2VwYXJhdGUgDQo+IGhvd2V2ZXIuLi4NCj4gDQo+IA0KPj4gQW5kIHdlIGNhbid0IGRyb3Ag
dGhlIHBvc3NpYmlsaXR5IG9mIHNwZWNpZnlpbmcgYWJzb2x1dGUgcGF0aHMNCj4+IGZvciBl
LmcuIHRyYWNlIGZpbGVzLCBhcyB0aG9zZSBtaWdodCBiZSBpbiB1c2UgYnkgdXNlcnMgYWxy
ZWFkeS4NCj4+DQo+Pj4gQWxzbywgcmVnYXJkaW5nIHRoZSBiYWNrZ3JvdW5kIG9mIG15IHF1
ZXN0aW9uLiBZb3UgYXJlIGludHJvZHVjaW5nIGEgZnVuY3Rpb24gDQo+Pj4gY2FsbCBhYnNv
bHV0ZV9maWxlbmFtZSgpLiBGcm9tIHRoZSBuYW1lLCB0aGVyZSBpcyBub3RoaW5nIGluZGlj
YXRpbmcgdGhhdCANCj4+PiB0aGlzIHNob3VsZCBvbmx5IGJlIHVzZWQgZm9yIHRyYWNlIGZp
bGVzLiBJZiB0aGlzIGlzIG9ubHkgaW5kZW50ZWQgZm9yIA0KPj4+IHRyYWNlZmlsZSwgdGhl
biBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlIHJlbmFtZWQgdG8gc29tZXRoaW5nIGxpa2UgDQo+
Pj4gYWJzb2x1dGVfdHJhY2VmaWxlKC4uLikuDQo+Pg0KPj4gQWZ0ZXIgdGhlIGxhc3QgcGF0
Y2ggb2YgdGhpcyBzZXJpZXMgInhlbnN0b3JlLWNvbnRyb2wgbWVtcmVwb3J0IDxmaWxlPiIg
d2lsbCB1c2UNCj4+IGl0LCB0b28uDQo+IA0KPiAuLi4gdGhpcyBkb2Vzbid0IGNoYW5nZSBt
eSBwb2ludCBoZXJlLiBUaGUgZnVuY3Rpb24gbmFtZSBkb2Vzbid0ICp0ZWxsKiBtZSB3aHkg
DQo+IGl0IGNhbid0IGJlIHVzZWQgZm9yIGxpdmUtdXBkYXRlIGZpbGVzLg0KPiANCj4gSWYg
dGhpcyBjYW4ndCBiZSBjbGFyaWZpZWQgaW4gdGhlIG5hbWUsIHRoZW4gaXQgc2hvdWxkIGJl
IGNsYXJpZmllZCBpbiBhIA0KPiBjb21tZW50LiBNYXliZSBvbmUgdG9wIG9mIHRoZSBMaXZl
LVVwZGF0ZSBjb2RlLg0KDQpJIHRoaW5rIGEgY29tbWVudCBiZWZvcmUgdGhlIGFic29sdXRl
X2ZpbGVuYW1lKCkgZnVuY3Rpb24gd291bGQgYmUgdGhlIGJlc3QNCmZpdC4NCg0KDQpKdWVy
Z2VuDQo=
--------------0t8MhRR4yn3PAGB0o6h46WU6
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-----

--------------0t8MhRR4yn3PAGB0o6h46WU6--

--------------ukmo90m6dgRB3fMahOoe00bF--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVUYcEFAwAAAAAACgkQsN6d1ii/Ey9E
NQgAiVBWfEX0NqOx/ogioJqT6CFUMrA9kh3nEmhMUi9aRbplFs1kRR9Vv9IER6oqarsEQ2McnwB0
La/9cc9jV3bIgApIcDhV8ShGvryOyp+ocJs7bmrhspJpTT7CjBv3YkW0CccAsUFDFB3kbiSA2oom
BtsWppuM3B6Uq9WwuxfEuCSPeM7vHTTaaMIXE7Lm5X4O+Di3DxT/e/rnuCXUVcDzcwSTn8j9udPE
VRjLBD8SOfmcLsVcrPbPwGzXwYNBAzw4bSO4TWWmn6GPvMnAX+HKDStNP16mhOnmDoURLvZi3YuL
az1xo94oEpc2WX9LagDzWvJManRBrzRHIMfq8BkojQ==
=wRZ1
-----END PGP SIGNATURE-----

--------------Erl0GRqFPYieUOy2dZv9qPQ9--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 06:17:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 06:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633494.988312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r39DE-0005rd-8z; Wed, 15 Nov 2023 06:17:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633494.988312; Wed, 15 Nov 2023 06:17: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 1r39DE-0005rW-6C; Wed, 15 Nov 2023 06:17:20 +0000
Received: by outflank-mailman (input) for mailman id 633494;
 Wed, 15 Nov 2023 06:17: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=gzjc=G4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r39DD-0005rO-3w
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 06:17: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 a0b76bdc-837e-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 07:17:18 +0100 (CET)
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 9B98B228EA;
 Wed, 15 Nov 2023 06:17: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 60CE613587;
 Wed, 15 Nov 2023 06:17:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id pcRHFm1iVGV0UgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 15 Nov 2023 06:17: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: a0b76bdc-837e-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700029037; 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:autocrypt:autocrypt;
	bh=xZ8sPgq6nSRIc2X9KLi8RcfQJrLk4EVTp3O+91HMedA=;
	b=ecVqMnkwujCJVI5aBQHt2O8UPNbgfpcLlPeOaJddlD2+g0e04piNlsGcOCVFOpm93N/jrJ
	ZtJEcTS18Q/IC+Kg/qEErdFO5iXFUmhfxCe1SFYpSU3AfSXKF219KVlfPcJV4kc7MxDZwB
	lHWmftYCXDNsJextKYQcRGwl7NOwPEE=
Message-ID: <df9a3390-3e71-4008-adba-a2e2d3f0d65f@suse.com>
Date: Wed, 15 Nov 2023 07:17:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 28/29] tools/xenstored: support complete log
 capabilities in stubdom
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-29-jgross@suse.com>
 <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
 <f9e8900b-10a9-4c88-bc99-118c61b549d7@suse.com>
 <829d9031-058f-47ea-95bc-d41b4b439690@xen.org>
 <47cb32ab-d842-47aa-80fc-77cd61ee25bb@suse.com>
 <1cedf7ab-aa82-484c-9ddb-2b2537cc1d4a@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <1cedf7ab-aa82-484c-9ddb-2b2537cc1d4a@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------LdRqkpHDN61vKevJgFQYUqzM"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -8.99
X-Spamd-Result: default: False [-8.99 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 BAYES_HAM(-3.00)[100.00%];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 FREEMAIL_CC(0.00)[xen.org,citrix.com,gmail.com];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------LdRqkpHDN61vKevJgFQYUqzM
Content-Type: multipart/mixed; boundary="------------7xzxUv0lftK9I0ccPovSTKxx";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Jason Andryuk <jandryuk@gmail.com>
Message-ID: <df9a3390-3e71-4008-adba-a2e2d3f0d65f@suse.com>
Subject: Re: [PATCH v2 28/29] tools/xenstored: support complete log
 capabilities in stubdom
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-29-jgross@suse.com>
 <7e09a127-4977-486e-b028-48f4559cadb5@xen.org>
 <f9e8900b-10a9-4c88-bc99-118c61b549d7@suse.com>
 <829d9031-058f-47ea-95bc-d41b4b439690@xen.org>
 <47cb32ab-d842-47aa-80fc-77cd61ee25bb@suse.com>
 <1cedf7ab-aa82-484c-9ddb-2b2537cc1d4a@xen.org>
In-Reply-To: <1cedf7ab-aa82-484c-9ddb-2b2537cc1d4a@xen.org>

--------------7xzxUv0lftK9I0ccPovSTKxx
Content-Type: multipart/mixed; boundary="------------vsy80kgYmPdBAE8bJYzwOfFy"

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

T24gMTQuMTEuMjMgMjE6NTcsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDE0LzExLzIwMjMgMDk6MjAsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBP
biAxNC4xMS4yMyAxMDowNSwgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+IEhpLA0KPj4+DQo+
Pj4gT24gMTQvMTEvMjAyMyAwNjo0NSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+Pj4gT24g
MTMuMTEuMjMgMjM6NDAsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4+Pj4+IEhpIEp1ZXJnZW4s
DQo+Pj4+Pg0KPj4+Pj4gT24gMTAvMTEvMjAyMyAxNjowOCwgSnVlcmdlbiBHcm9zcyB3cm90
ZToNCj4+Pj4+PiBXaXRoIDlwZnMgYmVpbmcgZnVsbHkgYXZhaWxhYmxlIGluIFhlbnN0b3Jl
LXN0dWJkb20gbm93LCB0aGVyZSBpcyBubw0KPj4+Pj4+IHJlYXNvbiB0byBub3QgZnVsbHkg
c3VwcG9ydCBhbGwgbG9nZ2luZyBjYXBhYmlsaXRpZXMgaW4gc3R1YmRvbS4NCj4+Pj4+Pg0K
Pj4+Pj4+IE9wZW4gdGhlIGxvZ2ZpbGUgb24gc3R1YmRvbSBvbmx5IGFmdGVyIHRoZSA5cGZz
IGZpbGUgc3lzdGVtIGhhcyBiZWVuDQo+Pj4+Pj4gbW91bnRlZC4NCj4+Pj4+Pg0KPj4+Pj4+
IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+Pj4+
PiBSZXZpZXdlZC1ieTogSmFzb24gQW5kcnl1ayA8amFuZHJ5dWtAZ21haWwuY29tPg0KPj4+
Pj4+IC0tLQ0KPj4+Pj4+IMKgIHRvb2xzL2hvdHBsdWcvTGludXgvbGF1bmNoLXhlbnN0b3Jl
LmluIHzCoCAxICsNCj4+Pj4+PiDCoCB0b29scy94ZW5zdG9yZWQvY29udHJvbC5jwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgfCAzMCArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQ0K
Pj4+Pj4+IMKgIHRvb2xzL3hlbnN0b3JlZC9taW5pb3MuY8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgfMKgIDMgKysrDQo+Pj4+Pj4gwqAgMyBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNl
cnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkNCj4+Pj4+Pg0KPj4+Pj4+IGRpZmYgLS1naXQg
YS90b29scy9ob3RwbHVnL0xpbnV4L2xhdW5jaC14ZW5zdG9yZS5pbiANCj4+Pj4+PiBiL3Rv
b2xzL2hvdHBsdWcvTGludXgvbGF1bmNoLXhlbnN0b3JlLmluDQo+Pj4+Pj4gaW5kZXggZTg1
NGNhMWViOC4uZGE0ZWVjYTdjNSAxMDA2NDQNCj4+Pj4+PiAtLS0gYS90b29scy9ob3RwbHVn
L0xpbnV4L2xhdW5jaC14ZW5zdG9yZS5pbg0KPj4+Pj4+ICsrKyBiL3Rvb2xzL2hvdHBsdWcv
TGludXgvbGF1bmNoLXhlbnN0b3JlLmluDQo+Pj4+Pj4gQEAgLTk4LDYgKzk4LDcgQEAgdGVz
dCAtZiBAQ09ORklHX0RJUkAvQENPTkZJR19MRUFGX0RJUkAveGVuY29tbW9ucyAmJiAuIA0K
Pj4+Pj4+IEBDT05GSUdfRElSQC9AQ09ORklHX0xFQUYNCj4+Pj4+PiDCoMKgwqDCoMKgIFsg
LXogIiRYRU5TVE9SRV9ET01BSU5fU0laRSIgXSAmJiBYRU5TVE9SRV9ET01BSU5fU0laRT04
DQo+Pj4+Pj4gwqDCoMKgwqDCoCBYRU5TVE9SRV9ET01BSU5fQVJHUz0iJFhFTlNUT1JFX0RP
TUFJTl9BUkdTIC0tbWVtb3J5IA0KPj4+Pj4+ICRYRU5TVE9SRV9ET01BSU5fU0laRSINCj4+
Pj4+PiDCoMKgwqDCoMKgIFsgLXogIiRYRU5TVE9SRV9NQVhfRE9NQUlOX1NJWkUiIF0gfHwg
DQo+Pj4+Pj4gWEVOU1RPUkVfRE9NQUlOX0FSR1M9IiRYRU5TVE9SRV9ET01BSU5fQVJHUyAt
LW1heG1lbSANCj4+Pj4+PiAkWEVOU1RPUkVfTUFYX0RPTUFJTl9TSVpFIg0KPj4+Pj4+ICvC
oMKgwqAgWyAteiAiJFhFTlNUT1JFRF9UUkFDRSIgXSB8fCANCj4+Pj4+PiBYRU5TVE9SRV9E
T01BSU5fQVJHUz0iJFhFTlNUT1JFX0RPTUFJTl9BUkdTIC1UIHhlbnN0b3JlZC10cmFjZS5s
b2ciDQo+Pj4+Pg0KPj4+Pj4gSSBhbSBwcm9iYWJseSBtaXNzaW5nIHNvbWV0aGluZywgYnV0
IGFueSByZWFzb24gdG8gbm90IHVzZSANCj4+Pj4+IEBYRU5fTE9HX0RJUkAveGVuc3RvcmVk
LXRyYWNlLmxvZyBhcyB3ZSBkbyBmb3IgeGVuc3RvcmVkPw0KPj4+Pg0KPj4+PiBZZXMuIFN0
dWJkb20gaGFzIG5vIGFjY2VzcyB0byBYRU5fTE9HX0RJUi4NCj4+Pg0KPj4+IE9rLiBUaGlz
IHJlc3RyaWN0aW9uIGlzIG5vdCB0aGF0IG9idmlvdXMuLi4gVGhlIGRvY3VtZW50YXRpb24g
aW4gDQo+Pj4gc3lzY29uZmlnLnhlbmNvbW1vbnMuaW4gaW1wbGllcyB0aGF0IGl0IHdpbGwg
YmUgd3JpdHRlbiBpbiBYRU5fTE9HX0RJUjoNCj4+Pg0KPj4+ICMjIFR5cGU6IHN0cmluZw0K
Pj4+ICMjIERlZmF1bHQ6ICIiDQo+Pj4gIw0KPj4+ICMgQWRkaXRpb25hbCBjb21tYW5kbGlu
ZSBhcmd1bWVudHMgdG8gc3RhcnQgeGVuc3RvcmVkLA0KPj4+ICMgbGlrZSAiLS10cmFjZS1m
aWxlIEBYRU5fTE9HX0RJUkAveGVuc3RvcmVkLXRyYWNlLmxvZyINCj4+PiAjIFNlZSAiQHNi
aW5kaXJAL3hlbnN0b3JlZCAtLWhlbHAiIGZvciBwb3NzaWJsZSBvcHRpb25zLg0KPj4+ICMg
T25seSBldmFsdWF0ZWQgaWYgWEVOU1RPUkVUWVBFIGlzICJkYWVtb24iLg0KPj4+IFhFTlNU
T1JFRF9BUkdTPQ0KPj4+DQo+Pj4gQWxzbywgd2UgYXJlIHNheWluZyB0aGlzIGlzIG9ubHkg
c3VwcG9ydGVkIHdoZW4gWGVuc3RvcmVkIGlzIGRhZW1vbml6ZWQuIFNvIEkgDQo+Pj4gdGhp
bmsgdGhlcmUgYXJlIHNvbWUgZG9jdW1lbnRhdGlvbiB1cGRhdGUgbmVjZXNzYXJ5IGluIHRo
aXMgcGF0Y2guDQo+Pg0KPj4gVGhpcyBpcyBmb3IgdGhlIGRhZW1vbi4gQW5kIHRoZSBkb2N1
bWVudGF0aW9uIGV4YW1wbGUgaGVyZSBpcyB1c2luZyBhbg0KPj4gYWJzb2x1dGUgZmlsZW5h
bWUsIHNvIHRoaXMgaXMgdmVyeSBjbGVhciB3aGVyZSB0aGUgdHJhY2UgZmlsZSB3aWxsIGJl
IHdyaXR0ZW4uDQo+IA0KPiBBaCB5ZXMuIFNvcnJ5IEkgZ290IGNvbmZ1c2VkLg0KPiANCj4+
DQo+PiBGb3Igc3R1YmRvbSBhIHJlbGF0ZWQgcGFyYW1ldGVyICJYRU5TVE9SRV9ET01BSU5f
QVJHUyIgaXMgYXZhaWxhYmxlLiBJIGNhbiBhZGQNCj4+IGEgc2VudGVuY2UgdG8gdGhlIGV4
cGxhbmF0aW9uIG9mIHRoYXQgcGFyYW1ldGVyIGRlc2NyaWJpbmcgc2V0dGluZyBvZiBhDQo+
PiBwb3NzaWJsZSB0cmFjZSBmaWxlIHNwZWNpZmljYXRpb24uDQo+IA0KPiBEbyB5b3UgbWVh
biBpbiB0aGUgZm9sbG93aW5nIGNvbW1lbnQ6DQo+IA0KPiAjIyBUeXBlOiBzdHJpbmcNCj4g
IyMgRGVmYXVsdDogTm90IGRlZmluZWQsIHRyYWNpbmcgb2ZmDQo+ICMNCj4gIyBMb2cgeGVu
c3RvcmVkIG1lc3NhZ2VzDQo+ICMgT25seSBldmFsdWF0ZWQgaWYgWEVOU1RPUkVUWVBFIGlz
ICJkYWVtb24iLg0KPiAjWEVOU1RPUkVEX1RSQUNFPVt5ZXN8b258MV0NCj4gDQo+IEkgdGhp
bmsgaGVyZSB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgIk9ubHkuLi4iLg0KDQpPaCwgSSBtaXNz
ZWQgdGhhdCBvbmUuIEl0IG5lZWRzIHRvIGJlIGNvbnNpZGVyZWQgaW4gdGhlIHN0dWJkb20g
Y2FzZSwgdG9vLg0KDQoNCkp1ZXJnZW4NCg==
--------------vsy80kgYmPdBAE8bJYzwOfFy
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-----

--------------vsy80kgYmPdBAE8bJYzwOfFy--

--------------7xzxUv0lftK9I0ccPovSTKxx--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVUYmwFAwAAAAAACgkQsN6d1ii/Ey+K
0Qf+Nb9I84fgfh/OiYYGk+3sUKTI8bjk0pL8pA6AsnX/loNsRkMnBjH/Y9qKUNGXYDdaBFVilfMy
6j1w6vUsReip5JdWhCa0wk5De0STUQ0G+6wE93U6hgf5Skge2TEdUdyWnoYiahxezFywofjnSea9
hUYd+vDHnGGzlGvqqQLZA/nGOvFMgkQvOfiqr6/9ZEVqmA7c7wEErTuTOXUZ/7Di6fxImABGWBOn
xuPpKqaZBAL5SUBLcU/mHjgvP38Y85gxqBc66Cg75RGDJ3HaagWAwW7QnO5FY4eLPZiqkhZmnWU/
J6JrL5XaLVVbP97mklkw0kMaAstqYQWCAQxr686PGg==
=5pj1
-----END PGP SIGNATURE-----

--------------LdRqkpHDN61vKevJgFQYUqzM--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 06:40:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 06:40:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633498.988324 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r39ZC-00025C-7P; Wed, 15 Nov 2023 06:40:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633498.988324; Wed, 15 Nov 2023 06: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 1r39ZC-00024Q-1p; Wed, 15 Nov 2023 06:40:02 +0000
Received: by outflank-mailman (input) for mailman id 633498;
 Wed, 15 Nov 2023 06:40: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 1r39ZA-0001v4-Ka; Wed, 15 Nov 2023 06:40: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 1r39ZA-0001cX-HU; Wed, 15 Nov 2023 06:40: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 1r39ZA-0007tk-5s; Wed, 15 Nov 2023 06:40:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r39ZA-0007Pb-5J; Wed, 15 Nov 2023 06: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=x+C1Qiy8se0nBAgFrS3s4sKbUju7/03IxD+RC27rxJU=; b=fKMWjekl3jGNeLZHKr5qW3gDaC
	WGpmBRjH1DYZIsdkgyiHwJY6s+oouMWsP/DazskEQ6WfvdKqbMka6ufSuuOAUxB/FV/Xq2fVUFeiI
	BGm5scH99MGAYcXdQQREU78D3gtdgRQ6BJVFg0gHK5ZN16TZCluKjsM27UhWLKHLf1Oc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183758-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183758: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=3db76e6476e493d3cda45b81bba99a645180cf35
X-Osstest-Versions-That:
    ovmf=c9cce5a00591dc437c258f0365b5d434c628b1e0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Nov 2023 06:40:00 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 3db76e6476e493d3cda45b81bba99a645180cf35
baseline version:
 ovmf                 c9cce5a00591dc437c258f0365b5d434c628b1e0

Last test of basis   183741  2023-11-13 05:42:55 Z    2 days
Testing same since   183758  2023-11-15 04:11:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Igor Kulchytskyy <igork@ami.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
   c9cce5a005..3db76e6476  3db76e6476e493d3cda45b81bba99a645180cf35 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 07:41:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 07:41:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633503.988333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3AWQ-0005ub-Ly; Wed, 15 Nov 2023 07:41:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633503.988333; Wed, 15 Nov 2023 07:41: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 1r3AWQ-0005uU-I2; Wed, 15 Nov 2023 07:41:14 +0000
Received: by outflank-mailman (input) for mailman id 633503;
 Wed, 15 Nov 2023 07:41: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=gzjc=G4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r3AWP-0005uN-Qb
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 07:41:13 +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 582467d6-838a-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 08:41:10 +0100 (CET)
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 4920E204C5;
 Wed, 15 Nov 2023 07:41: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 23CCD13592;
 Wed, 15 Nov 2023 07:41:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id +FE6BxV2VGWvdQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 15 Nov 2023 07: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>
X-Inumbo-ID: 582467d6-838a-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700034069; 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:autocrypt:autocrypt;
	bh=lj76I4LglM36u8FrCyyMKkgBIxzk6y8UQtrQmIFIuDY=;
	b=gfNlek14eyvtRl3C887GKLOzUsdorROXgEH+FX208Db6d/5g0PEaPZSoBXBe1c4kMBaL4K
	GXP98wNOIrJmb9qvmPgBDYAdPusoILVmHKmGHibIeJ2d14KY54lq/Bpw4qAEvEOpkUIu4f
	3elWKf1ObbQ/I5J5GRpruVn0K69vcdY=
Message-ID: <dfcd84b8-4fb2-42fa-9346-fa447992f8cd@suse.com>
Date: Wed, 15 Nov 2023 08:41:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 7/7] xen/events: remove some info_for_irq() calls in pirq
 handling
Content-Language: en-US
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-8-jgross@suse.com>
 <1a62fc9a-7bd2-4fed-a690-0a12f2724044@epam.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <1a62fc9a-7bd2-4fed-a690-0a12f2724044@epam.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------L9xqdmzhDtNUNx8JjVurpTUb"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -11.51
X-Spamd-Result: default: False [-11.51 / 50.00];
	 ARC_NA(0.00)[];
	 TO_DN_EQ_ADDR_SOME(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 REPLY(-4.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 BAYES_HAM(-2.53)[97.87%];
	 NEURAL_HAM_LONG(-3.00)[-0.999];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------L9xqdmzhDtNUNx8JjVurpTUb
Content-Type: multipart/mixed; boundary="------------EWOtSPW0q9KCzlgXWebVx00q";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <dfcd84b8-4fb2-42fa-9346-fa447992f8cd@suse.com>
Subject: Re: [PATCH 7/7] xen/events: remove some info_for_irq() calls in pirq
 handling
References: <20231016062831.20630-1-jgross@suse.com>
 <20231016062831.20630-8-jgross@suse.com>
 <1a62fc9a-7bd2-4fed-a690-0a12f2724044@epam.com>
In-Reply-To: <1a62fc9a-7bd2-4fed-a690-0a12f2724044@epam.com>

--------------EWOtSPW0q9KCzlgXWebVx00q
Content-Type: multipart/mixed; boundary="------------VGWBPXiFjyjYWpV9nVkrBFdW"

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

T24gMTQuMTEuMjMgMTk6MTYsIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdyb3RlOg0KPiANCj4g
DQo+IE9uIDE2LjEwLjIzIDA5OjI4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPiANCj4gSGVs
bG8gSnVlcmdlbg0KPiANCj4gDQo+PiBJbnN0ZWFkIG9mIHRoZSBJUlEgbnVtYmVyIHVzZXIg
dGhlIHN0cnVjdCBpcnFfaW5mbyBwb2ludGVyIGFzIHBhcmFtZXRlcg0KPj4gaW4gdGhlIGlu
dGVybmFsIHBpcnEgcmVsYXRlZCBmdW5jdGlvbnMuIFRoaXMgYWxsb3dzIHRvIGRyb3Agc29t
ZSBjYWxscw0KPj4gb2YgaW5mb19mb3JfaXJxKCkuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTog
SnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPiANCj4gDQo+IExvb2tzIGdvb2Qs
IHNvDQo+IA0KPiBSZXZpZXdlZC1ieTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5k
cl90eXNoY2hlbmtvQGVwYW0uY29tPg0KPiANCj4gDQo+IEp1c3Qgb25lIE5JVCBiZWxvdyAu
Li4NCj4gDQo+IA0KPiBbc25pcF0NCj4gDQo+PiAgICANCj4+IC1zdGF0aWMgdm9pZCBwaXJx
X3F1ZXJ5X3VubWFzayhpbnQgaXJxKQ0KPj4gK3N0YXRpYyB2b2lkIHBpcnFfcXVlcnlfdW5t
YXNrKHN0cnVjdCBpcnFfaW5mbyAqaW5mbykNCj4+ICAgIHsNCj4+ICAgIAlzdHJ1Y3QgcGh5
c2Rldl9pcnFfc3RhdHVzX3F1ZXJ5IGlycV9zdGF0dXM7DQo+PiAtCXN0cnVjdCBpcnFfaW5m
byAqaW5mbyA9IGluZm9fZm9yX2lycShpcnEpOw0KPj4gICAgDQo+PiAgICAJQlVHX09OKGlu
Zm8tPnR5cGUgIT0gSVJRVF9QSVJRKTsNCj4+ICAgIA0KPj4gLQlpcnFfc3RhdHVzLmlycSA9
IHBpcnFfZnJvbV9pcnEoaXJxKTsNCj4+ICsJaXJxX3N0YXR1cy5pcnEgPSBpbmZvLT51LnBp
cnEucGlycTsNCj4gDQo+IA0KPiAgICAuLi4gd2hhdCBpcyB0aGUgcmVhc29uIHRvIG9wZW4t
Y29kZSBwaXJxX2Zyb21faXJxKCkgaGVyZT8NCj4gRm9yIGV4YW1wbGUsIF9fc3RhcnR1cF9w
aXJxKCkgY29udGludWVzIHRvIHVzZSBoZWxwZXIgaW4gYWxtb3N0IHRoZSBzYW1lDQo+IHNp
dHVhdGlvbiAuLi4NCg0KR29vZCBjYXRjaC4gSSdsbCBjaGFuZ2UgdGhhdCwgZXNwZWNpYWxs
eSBhcyBpdCBhbGxvd3MgdG8gcmVtb3ZlIHRoZSBCVUdfT04oKQ0Kd2hpY2ggaXMgaW4gdGhl
IGhlbHBlciBhbHJlYWR5Lg0KDQoNCkp1ZXJnZW4NCg==
--------------VGWBPXiFjyjYWpV9nVkrBFdW
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-----

--------------VGWBPXiFjyjYWpV9nVkrBFdW--

--------------EWOtSPW0q9KCzlgXWebVx00q--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVUdhQFAwAAAAAACgkQsN6d1ii/Ey+f
Jgf/cOyx1sanDxmpt4m/qmnea1epC1AydeRJTX8a5lbl0KADOxq7Hekp/4xCG4qMjxwQSM+cQh4i
Ys5LWnhU9PePUvYBJxyGCMY8VR+KKyKxF+D6dbW3RGJU15iR0qu3CT7NxOOVHXHdBhzurWG4YV8f
63Io34OQTl5lSA1DAXFhyExf+YC+p7fZxt9S443znMz5aZ9XrbFy5lHaBwpET2wK0bc7pejgOLB5
EfmD7U5hgLF6sqmEWY1nhiWHE6LfmXNFpwv8mJ4/h1fWjtwqwsPJ7/cq1GLV10CRjH9kONfMTUDh
Z7KKckR6VfLuOQLMO5xfHmPFPCo1SnnCGTw/+yMSDw==
=CyJR
-----END PGP SIGNATURE-----

--------------L9xqdmzhDtNUNx8JjVurpTUb--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 07:50:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 07:50:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633507.988343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Afd-00086w-Md; Wed, 15 Nov 2023 07:50:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633507.988343; Wed, 15 Nov 2023 07:50: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 1r3Afd-00086p-Jr; Wed, 15 Nov 2023 07:50:45 +0000
Received: by outflank-mailman (input) for mailman id 633507;
 Wed, 15 Nov 2023 07:50: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=dw2F=G4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3Afc-00086j-Fx
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 07:50:44 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061e.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id acaa1dd7-838b-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 08:50:42 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB6821.eurprd04.prod.outlook.com (2603:10a6:20b:105::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Wed, 15 Nov
 2023 07:50:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Wed, 15 Nov 2023
 07:50: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: acaa1dd7-838b-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=J6bJXVdTUsKf8u7zXxhb1ZgNBJc5WTE7Zz36AGdpxyAeeddWF/Dr3S1AsKCSPLN/8S70FAXQyCsts62KxxkiNrJbwBCXOccKw1CfwxouUOc944elp6g12zRm219i/mPhrIUVULw+ZoanBgW3qM4GaUgfSoEDgXzudddS5Ub113ifjFl3k4cODGg5fawoF6fKXV5Ud2UQCWcss6bJmE5ztNqG2sMs1J4RJMPUWaqufdxV9/QEABErv6evJVPsONMNl1ul5x3c7wUkfjZ3g82syyZkh0K7W+XIci5OZ4m2sdp0MwHOA2+2/2f9Pa8BXG3QKXkA1CfC3lHoMwnvIqcH0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=13L7dCpCKEZmm8KsbipB7zimEUzi1p1o8kjIDfwK2d4=;
 b=NYaC6IVV6yMNdJWidryYZ7pLqHfaj+73Mh9teKQlcOfg0ltK5zhdm+YqcJZcyAm7uPnkogxn0VoUMPwk3D7oK62kuarTiNiTMLz8NvHkAVCo3rmSVa5255SWBMtNOCacS5SKU4gpe2zKAmzyPo4pqsLirtGPu15r1KjtwR/01kU5aJrEdEYrO2YljQjy/i5RdWE3mT8tVdvfUSkJGEcB6u5iZioH4FHppl8OXeH0Bb2rKAH+KJxFHKDXY/uB4484/BcvtEDfU1iyZZAKsNCDnEJyRUz+7ReKgZCBVV66hfi1nvw1F/0Nve8A0ct94Q/asZfHNOPJaEYyuy6mEuGWXA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=13L7dCpCKEZmm8KsbipB7zimEUzi1p1o8kjIDfwK2d4=;
 b=TMb4jPjdpbwn6SeZxAnri7GFDfN+g51bWWwzMTNHgUbrgNnPhzS0tDBfm2tdEEedHIJhO6H2AqtN43Bs1zd4Li/gr7iDU2UOHnLSlQGDmC2aDEypS5Xy1Rg9qjV7HOZMDz98MKC3cX0BZPD/3upbp31MwZan7DBCh7xHXNvAFKAL58p0tMqmpUu/+iUu8vfk1C1nT3X+EyrIHhZttlgJkgAHv4XTo3T6WfOVOVHy8tYY5uu5Q3BkFay+hQ+ga+sYKygI6Vu21aNmLQN46M0O0+W3NORGjZDelxjw3SGdE8x9rE6SyQxxGP422cVaq4u13aplQdLtpqp66HZt7h/CvA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <baa3d68e-8493-4dfe-babb-66a47cef4f06@suse.com>
Date: Wed, 15 Nov 2023 08:50:37 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] docs/misra: add R11.1 R11.2 R11.3 R11.6
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2311131540490.160649@ubuntu-linux-20-04-desktop>
 <6695fcfb-0762-e48b-69d2-3871a3acaad6@suse.com>
 <alpine.DEB.2.22.394.2311141431090.160649@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311141431090.160649@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0030.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f1::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB6821:EE_
X-MS-Office365-Filtering-Correlation-Id: f72fe2e4-0b44-431a-8125-08dbe5af8f98
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ijVxzsl9GKwVCHLYvdoGky53u1Kgvxht179uqbL0Jk0QBrKLjmERpZi+a+OsPha6kSwraB/WeuwhG3JR2v8AUrSFrC1PhvdBpEUuzA8/pifggJJMnIMR1G8+kkXKBrByske/jVaq+z2WDwSyiugk0RhIB6JIYtsfsdLfxMjVuMw8MNXzGgT4qxQwiXRz3yIxK9XxU/PUBnLxArxM4GyksM0JK3SB/QmQy58AlWbeVtLwanZFi6DPjlfmiuZYoDaoPevWVlr1Q8Yu4/peo342e91hpeAQVNuOIE8VStp6mJA9uiI0ECy1D2vDrNEwOAjwabIry98fRYUAj9yxVe3IVpN9f03sNaOHglsuCAvld32biU8upz0afxI2sBMwZVYUBuSqPK/4YshDw/2pcegvhIlfE2mNCJtbDSvAQtQXzYKu6bXd9G3O/xr1hKHXdpNclTbGJIAKEDnJHwW8KoWr2xGFJHiFGH/N2fsdf/BramsF2DuvS+G4/qeZQrMxT9K9Qt9S0QU3GAfbTjHyCq6eIv1waj1GrRMLlAudfzPGrBskzUtUHufU54CcNfFT90mRfwzYxNyJPoK8EFupg6oGMSuIrEp3f/jojIiaZqpluj2QDaBbXRbwrGT3OSfPxObjsyrX9YSJ6rwsRnoZrvnLxA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(230922051799003)(1800799009)(64100799003)(186009)(451199024)(6506007)(6512007)(2616005)(26005)(478600001)(6486002)(41300700001)(86362001)(31696002)(31686004)(53546011)(66476007)(54906003)(66946007)(6916009)(66556008)(316002)(38100700002)(4326008)(4744005)(2906002)(8936002)(8676002)(5660300002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cVJzRVVRS1RxU0VZL1RrRWI3K1pHZCt4TEZJMEp0OUg2UW9LNzRtSjZoTGJ0?=
 =?utf-8?B?M2RvRXFzU2F1dzlqRXYyQ0xZcjJwQmFjQjUzblNUOHZLcGU0WnB2QUpENG5G?=
 =?utf-8?B?NERDN3V3QUNPKzJyY2hYUlBPUFFrOStZZlVudlZCS3dIRHdlOXdaT0FTNlN2?=
 =?utf-8?B?NU02OU1KeUFtZEtqU0d5Wno4Q3pZNjdjVnNWSnNNN1B6czRjdHRYdnI2U2Iy?=
 =?utf-8?B?c2tUVzZNMnA2RXFWZEZMSHFLSHYrNTVHZk4wYTBJQW9iUkJrWW91d09CM3I0?=
 =?utf-8?B?NzNFVy8vbjVEVHdaYTJlb201enpVV2JFOHpVRzdGcFdRbWpkNDZhazF6dHVj?=
 =?utf-8?B?cmdFVks2UUFxajAwdm9PZ1ZtTU1RNVNUdHpzZ0t0M1pKQ0c2aFRsMXg0OU12?=
 =?utf-8?B?VWs5cDIrTnAyN1VSZGFnRUxQQnZyVEQ5ZDJpV1ltWWErMEpxdFVFUUJ0UWtu?=
 =?utf-8?B?cndvUThoelJScS9zQzlvY1FTK21nZkluRi8rTGFKblcwaTV0MTVvQ00xeTFU?=
 =?utf-8?B?dVBXS1NORG5oZXNQR0x3ZldsT0RZWmd1TG5WOWUzTnB3ZXpvcEJTTWhpbUhq?=
 =?utf-8?B?OXZxc1RGMnlwQ0VvcDQ2VHArbjVla1oremYrSmUvc2tycnBVdUQ4THoyLzRp?=
 =?utf-8?B?NDZHR1RWendGcVBmbi9WTXlPaUpKSWw1dUN5UWFDY0pOVjhJRjZZQmF4VUxa?=
 =?utf-8?B?eElRR0d4S3RqNEUxOTUyNnRuOFlJdHRLSDRoaXdBVldkeVl0UCtQSmVMOW50?=
 =?utf-8?B?VTIwRmRUa0FIVmlFYmMrcUJCUmtHbkpRVnpSakdpSENsZjVKbk8zWkcySFF5?=
 =?utf-8?B?cTcxai9VWkprY2lSSkJWSi9xWnlOZlgxcElzSkU3S1hhZVBTMXhoTUdxQlpK?=
 =?utf-8?B?VlRaRzY3Z0FHdW1XLzgwZXhLT2pHaDQ3QVRSamJOeXR4eW50cWJ4eVAwUWtt?=
 =?utf-8?B?N1RDQjN1OWpKTXNUcEFMMzBFWXZaQWZreVI2N29xa2lDVCtGMkpCNGpEOXNt?=
 =?utf-8?B?SVRuejlWMlhyMGFROGtBSWk4SEI1WjdxcWo3Y0ZUWTR3N0YrS1Q4UStlRWhk?=
 =?utf-8?B?QjlGa0hySUZLakw4Y3hHanJ1TGZnQURUbzlIUVFDRmd4bndCUVFqeTd3d2p3?=
 =?utf-8?B?NVZuK3hzUHBHR2hlS3NqbUozd0RaL2ZCdDNKa0QyLzBiMnhWTlhZbDMyYXJt?=
 =?utf-8?B?T1pGMjhoMXo0UEtTT2NaRHdnM2szYWhXSkMyR0VOSnltNjVQZGRZc0I3OFla?=
 =?utf-8?B?cXpVcGU1YXJWc0dmaDF1M1VSelVZa2pRMWdxQ0U1U2RMeTNRY05TMkNtcTZT?=
 =?utf-8?B?TDg1R2N1RVlSbWM0UlpEdkI2eFFZOFozOTVvSDJjbmNaNG5sRytFeTVxWHFv?=
 =?utf-8?B?UENMenVYcFBUM1VEWHh5VmEwYmdzajlMM3VPQ0ZPMTlzUGlaTmJuRDZBQldN?=
 =?utf-8?B?RmRxU2NIbk5xU1VTN1picXk5MDVsU0w1RG5OaTVZaHA1U1ZMZW1pcFpmQm85?=
 =?utf-8?B?d25aRWErQVVDaWhDVzJ6K2N0eUdhM1Q3QUY0WVBSUVF3REdrWnpBcWYxL01s?=
 =?utf-8?B?M0VqSm9JbWtOVXJhRkh2RmVsdHlNTGFQbEI5eWlTdDlLV1UwUGtUZExkSUNv?=
 =?utf-8?B?UlRCTDFlUXcxdldjZ010bnFvbHlEWWdJR3ZCWUVZQkRjajcybXVrN1RsM2dz?=
 =?utf-8?B?L1czWUxrV2hqT05rQWhKNmFQUmFiNlZPVkFFaWx5a1plSVFCWEtINXA5UGdD?=
 =?utf-8?B?UXR5ZEdjQ1FRZW0zY3lQbVNSSmV4N2ZIbGY5T3hCOXFCVzY2MFZudmpreUMy?=
 =?utf-8?B?dHNGVDZHcVRscWdkY0lWWHhQL0pGSHEzT3BBNWhaZElGUCtxTGpZZ2NsU2JT?=
 =?utf-8?B?bDlDQzlEbGNLTUVwbm5Fai8xZFV1amhFRWJPcDdtZWVTWkg2OHE2a2I3UWpR?=
 =?utf-8?B?TzN4N1U2Z2JMOWZaVUc5MTZCZk5OL0FsemtmcEpoZ01DNU5oNEdxcWFlNGJx?=
 =?utf-8?B?aG4zQzlQTklQT3YwelVaNzYyZXFZZjVSMUZMdkJqQzkxRzllTnVlMFZ5eWNk?=
 =?utf-8?B?SkNnVUhSZGxJaTBTMDlubHdtV0VHeld3YzRJN1g5SU9oL3VNWkMxSkd0cWVV?=
 =?utf-8?Q?DJBwZssULZ1wn5nb0i9aoMBe/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f72fe2e4-0b44-431a-8125-08dbe5af8f98
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 07:50:39.6658
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vNLt8SJSDdgKnyRWhliFT+Qi4nLkZYRErh4o0sCmPAUOxZ9k6jbdTqrD8ww4XiqQt8eid4Ar3l/Oa06zgYnZ5Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6821

On 14.11.2023 23:37, Stefano Stabellini wrote:
> [PATCH v2] docs/misra: add R11.1 R11.2 R11.3 R11.6
> 
> Add MISRA C Rules 11.1, 11.2, 11.3, 11.6 as discussed.
> 
> Explicitly add in the notes that conversions to integer types are
> permitted if the destination type has enough bits to hold the entire
> value. GCC gives enough guarantees in terms of preserving the bit
> content in such situations.
> 
> Also allow for bool conversions (e.g. to check if a function point is
> valid).
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Nov 15 08:00:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 08:00:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633513.988353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ApO-0002SH-17; Wed, 15 Nov 2023 08:00:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633513.988353; Wed, 15 Nov 2023 08:00: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 1r3ApN-0002SA-U3; Wed, 15 Nov 2023 08:00:49 +0000
Received: by outflank-mailman (input) for mailman id 633513;
 Wed, 15 Nov 2023 08:00: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=dw2F=G4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3ApN-0002S3-EC
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 08:00:49 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0609.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14eb9f0d-838d-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 09:00:46 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9576.eurprd04.prod.outlook.com (2603:10a6:20b:4fe::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Wed, 15 Nov
 2023 08:00:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Wed, 15 Nov 2023
 08:00: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: 14eb9f0d-838d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UD1jByHpBqgsdpV0cmMlAyoODlUPruVFSPt54FwgLei7VeyBJzoWntb3zxDNFW6ql/88gHh0dMakTYfi6CLV39ugThRGEAHhcojEdJARscSo+eAPO/U1Ujy1YA+ToE5fV0J+wcI37DaVI5IVBP27vpifPB+NRah71SZoWnDWbKqiv1GiQPRFeBR8fdOThC/WjVIJ36ZtdJylXbXpPlLTxoRiXbAUo2Nv4vzuo7/raDjmTvPdjGBbBGTpNh2d1y33k6rzNZrj3+DwQHkjPGldSqptAAhBGMU4uhEnnrflfZbq8A4Aw3d3DVxKx7Z6v254LprBgyc09BouJiGjZwfnBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rAUYGU4iLjkXQno90F86DkqwULbVdUfXxlOCMNJfV7g=;
 b=Y42wqVQ6F7W+PxBMcKFT+3DfheFr9ALWziYlfarmL0ICWv86qtlJT1yLLxUJ2Zg844Bpu9m6fQYXDfkGUm4tCDJqJ10+FBaJqJOYqj8+myXsYBjYK+BFsz+ps7nnKF2kr3+PZXMm+TPLOfiGsLtYkg1fFNN6Zno+shtJR6RftCmryjgGtb2clRrJnbQbwEJRRZwyEvZAwUPrLRTlG/cAOQYDm0mJxLoygM9yVstXGw9gpb3kwxpZWm49D57Z3SUIWs+nqFDt/d41QVESVe4NGkU3l4YwreYekxkciqxcqLsRVTUMUpro7U4GVLZiDN98+u+/ySL+EdTSUYXT1npUwQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rAUYGU4iLjkXQno90F86DkqwULbVdUfXxlOCMNJfV7g=;
 b=0q1BrP8XiAn0GtYSsUmG1vs/6IMstNABYo5omgYhlICIgYqyhvAK+G2fUfY1XuM8MdQ3h7pYaIuFDCRJA3I5JIv7wVDO9+kQoMZifytkgwEX9vdphRf5FM6IgWGzUFH+nenGCyEpNnpq8LqzREHdwtLD0mMji/Ces7IqR9R9TswivOXZLX+rdc1IMYrhGYGPZe5ivRTi5JtlEzV5B4nJecaXZZ460GHZmnEPFy281A4V+bu7U5sqwTMNgWh0OnfIvtaFzR/jOEbi7PIpHeSPXzftfSVu+TMER1nmEXdeYg4OdVjku+t6FinVzu96DuC7W4RN/LV3f6VfRCpyFgEbCg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <61bb1ea0-e794-4feb-bccf-a44549543b69@suse.com>
Date: Wed, 15 Nov 2023 09:00:39 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] misra: add R21.1 R21.2
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2311141458020.160649@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311141458020.160649@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0240.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9576:EE_
X-MS-Office365-Filtering-Correlation-Id: 3cb29890-16ef-424a-3c3a-08dbe5b0f6cb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	82O2qsoppH4PGOXDHWxi1MbjK93dPfCEdFBy4Zy9Es1gjfg+/DahwSPbWRGyoiC8kD1XTv9uKZ2DijkG2ua1QltdAv1MQfgc+YP/VJQkjY8/ids/fFNjHYi4J2o3fOUrtoS9o+N1Hu8nKBB0c1ftDm4QGRttm3WAgp1/Bf20zfT3uRNZoyUhWQPOvlp5kICPTfManJ6C+kcHbVjcvEwmQUDEXF8HXATUAyZBpd4bKG0ahkl0YuT5mGXj0E0CAgORh7QTkr99dHTrUrQ8d2RMZHLgLNwh+JbJfv/cTblmfkhYqxn+/sQ3mxaFlOMiG/jI83UMMysv5fMZA1WVRFEqeSRvNShqg1iW3Pj9qF50DSJtvKRc1fpLyuiDlaeeMvkF1pl7Aji2WPWU0K4iqTsXRVpevMNoA+Yd/WPAqJ8fAGw9dQKwcc6tK8ZvnvVdtF+13OVbStkQmmyk7YKBrtVjd0tB+HJ0SYP925PFezQmks/fiI4EURak4tIpEqxFBYx70r3aHMAY7NYZMBeBuPvNnkBEPelBTLsw/ZcY+4C/zV5u/z0gb4yESLMRhSj8un61Pgx5StwgY1k9BBiDHqv1Z/NzUFY4U6efXpKhgqLPlN1FU7wJ6X3jskKbJuTmJknz
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(39860400002)(396003)(366004)(346002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(31686004)(6506007)(8676002)(6666004)(6512007)(26005)(8936002)(2906002)(53546011)(4326008)(41300700001)(38100700002)(478600001)(5660300002)(2616005)(316002)(6916009)(86362001)(66946007)(66476007)(54906003)(31696002)(66556008)(6486002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NXl1TUhRQjBpVWNLZ3ZRdkRhaEdTNHZxeW1yVmFIcTczMDJvclBocU5mSjdD?=
 =?utf-8?B?em1tMDVMajkwOU10RjNoTVNLWEdDUlV2QXpvK294bDg5ZWd2cWxqOU5pT3JG?=
 =?utf-8?B?blBONXlMQ0VtL1B6RU54R25XKzB1YnB4dXlnc0VQbGRPK0VEajJiSmtVNHoy?=
 =?utf-8?B?dG5YYWsyKzk2a0NCbUFTeGNkcEhySjM0MnFacWtYTXNmOVJ1MTdCcVF5Vk5U?=
 =?utf-8?B?MVg0QWkzK045TThpa3ZwTGZjWjlxNzdYb0pETWR3bDhsTFNJb2h5am5OZFJa?=
 =?utf-8?B?OHl0SzlKTHV2R2lIYzVqd2IxUGxHZXZBcGVkZ1pINzltS1crZG5qdTM4RXBo?=
 =?utf-8?B?UE1RV0RKM1NhcFpaVXVtVGJpMlJ6c1VTakdsSU9QZ0JoZmdEMXQ1ektESG9t?=
 =?utf-8?B?dWdXZ08wVUt6VktNV1Z5OG52VmNQVlluY25aT3d1ems5d3RxYlhZS3ZPTDFu?=
 =?utf-8?B?WmcxWkFOVUtZVzlJYWErOUVUbTBTVW5VUGVNQnFnYk5uZllGZU0vMFdIMWNM?=
 =?utf-8?B?cXk5amZFSGV5OUNzQTFhQ3RaMkVBVkNPM2t2cmZhMXVza1JtU255emVGKzZC?=
 =?utf-8?B?bFBmeTNUcFNicFB2SThZWndDeTB0TFhLMG1ZU0pHeE5MUjVhTWoySWhXVjlC?=
 =?utf-8?B?eGQ1Qld2blk5bzd1TTgrVGVKTXcrdG84VXhkR0J6NE8xUS9pYTZsb2tNUUta?=
 =?utf-8?B?UUgyQmoxRkJYMndoODN5akQwQVNCMmFIbjByR2syNHNJV0k3eGwyQWZvUHp2?=
 =?utf-8?B?T3Znc2NMczYxM1Q0VFhVa0Q3dVdPREROMkV2UnBVRlBSVGM1WW52akdzQ3dp?=
 =?utf-8?B?eTNabUZZMGdjaTB3RGhGNFYzejh2S3RUVXRDK0Z3WkVubUJrc1lJZE5qSGJt?=
 =?utf-8?B?VlB4K2Jyd0hSK25WSEthbzd1T250cmF4UDJQdUozSnk1RmE0M0xHOUdIMlBK?=
 =?utf-8?B?MWdIY2FYTWRFMklmYWgwKzJrcTAyNTJsaHdaR2Jxdmh6OFkwTzQ5YzlFb2tJ?=
 =?utf-8?B?d3ErbmVob1ZLcllzN2ZlWk1HalJRRElkb1hwVzFRRnNoSlhFSmFYRFYrOXZB?=
 =?utf-8?B?b0QwUzlpM1RIaFRSTVIySlROdk1BOUtLeVNaOThTOEt3dFpmTlk1QXJHR2xx?=
 =?utf-8?B?dEtwZEdwSWNZRmR3REhzUFlvMWU4V2ZlQnluZ044amUyMjI0bEhQZ3gxVHpB?=
 =?utf-8?B?SGlmajgrNmRLMUtwNnVaREF2THdBRlVQeUlpWk1WK0xQUzg3dnRtR3VpNDI4?=
 =?utf-8?B?RFZNTTZZdjRxVW5tSzZIWnIyb050UWNOaEtKTm04MndGR0tGNit0QVM2bXpV?=
 =?utf-8?B?UmlHTlJ0ZXVUSlJ5MzM3bUtFWjR3RU8ycmFPWWlsMHR6Tnh3KzBQcDBWeXQ5?=
 =?utf-8?B?OHZKY2Q0RjkycTdwOFBNU3FYTDB4dVFDYjliYnZTNHJFTnByaW00YlE0ZnlO?=
 =?utf-8?B?bVQveTMrMnMzQ2d3M0RoSisxdVJJb3VjVzdXRFZQa3RRb0c0T3Rod3N5Qm5F?=
 =?utf-8?B?K25ENExMeitkUG9hNXFqNjRhWlU4VngycWluRk5jaVp0TE45R3VkMTg5dXdQ?=
 =?utf-8?B?SUtuT0VXbGNldUhrR2FiUzBpMks0SEkzRUJhOXRTS042MW5OM3FtT1o0UTlJ?=
 =?utf-8?B?L3FxbkFhTGZFdUJzRDNNMXBIam5DV0Jsb29mbXZ5VUpYM3pHSkd6VlhWRGVP?=
 =?utf-8?B?WWNNemR1V3FpNFZ6c2ZKbzNxOU5RTlBIeFZzMjNLVkh0ZnpyckNoNmJXOHBL?=
 =?utf-8?B?NnRKWW9YZ09rd2d6eklyZEFNV2FOUDltRjZkaHJwbk5IMUwzaEhyVjhXS01S?=
 =?utf-8?B?MnN4Z2IxTlVHMmtiMDY4ZUZXSnkwQ3RDUTlVSWdON2c1MXFOWEdVTGphSEdS?=
 =?utf-8?B?VHpzYlVKWVlWZXRBWWpNZ3hrMFFYZFNOK25JUmRlRWtHblpHZit5SmZkWGY5?=
 =?utf-8?B?RUZoMDhTc0FTcnR3WVhHNWp1UklPcGdwcjFZa01nT1NrZUpYd3hRSVVOQVBu?=
 =?utf-8?B?QWxUbzRadzQxTEY1ZUhWWGNuNk43cG41R0FKR2sxZkhQQW95cksraDlWbk1W?=
 =?utf-8?B?RzdpM2laUzFoWk44U0lNR0FFbHFwM1YyU0xqNUE1cWVqWkwvOTQ3TjlrOGpj?=
 =?utf-8?Q?mkVudeD32XP9p6AUG5J1O2Plt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3cb29890-16ef-424a-3c3a-08dbe5b0f6cb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 08:00:42.1830
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5hLykql5YyeAyO2JaomiOn2x9MAOZVgqT9FhyeMSbzH51q8VkIpTD+MSV+6PTMUcSS3JMXvDVEj1QfFgNe++6w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9576

On 14.11.2023 23:59, Stefano Stabellini wrote:
> Add 21.1 and 21.2, with a longer comment to explain how strategy with
> leading underscores and why we think we are safe today.
> 
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

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

> --- a/docs/misra/rules.rst
> +++ b/docs/misra/rules.rst
> @@ -519,6 +519,28 @@ maintainers if you want to suggest a change.
>         they are related
>       -
>  
> +   * - `Rule 21.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_01.c>`_
> +     - Required
> +     - #define and #undef shall not be used on a reserved identifier or
> +       reserved macro name
> +     - Identifiers starting with an underscore followed by another underscore
> +       or an upper-case letter are reserved. Today Xen uses many, such as
> +       header guards and bitwise manipulation functions. Upon analysis it turns
> +       out Xen identifiers do not clash with the identifiers used by modern
> +       GCC, but that is not a guarantee that there won't be a naming clash in
> +       the future or with another compiler.  For these reasons we discourage
> +       the introduction of new reserved identifiers in Xen, and we see it as
> +       positive the reduction of reserved identifiers. At the same time,
> +       certain identifiers starting with an underscore are also commonly used
> +       in Linux (e.g. __set_bit) and we don't think it would be an improvement
> +       to rename them.

I think this last sentence would also better say "two underscores".

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 08:31:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 08:31:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633518.988363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3BIy-00088I-Ei; Wed, 15 Nov 2023 08:31:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633518.988363; Wed, 15 Nov 2023 08:31: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 1r3BIy-00088B-Aw; Wed, 15 Nov 2023 08:31:24 +0000
Received: by outflank-mailman (input) for mailman id 633518;
 Wed, 15 Nov 2023 08:31: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=embj=G4=cloud.com=edwin.torok@srs-se1.protection.inumbo.net>)
 id 1r3BIx-000885-53
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 08:31:23 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b520489-8391-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 09:31:22 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2c50fbc218bso86368131fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 00:31:22 -0800 (PST)
Received: from smtpclient.apple ([90.243.16.33])
 by smtp.gmail.com with ESMTPSA id
 t3-20020a1c7703000000b004083729fc14sm19708699wmi.20.2023.11.15.00.31.21
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 15 Nov 2023 00:31:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b520489-8391-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700037081; x=1700641881; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ELfyUT2hxTOkRPUscBwI2XonMSGo7vTTGeILa8mYQoI=;
        b=AbCRTBKWYPjQS5XUfPtUwmSlgOk5VTwe3wibVNhzLimi2xDm9chwdwcORkYPs2OLSw
         XqpIfe2swaY+mVRH/RDwzU9a+3Z2ICEl3fn1KaJuv8zyEkapC5LaLpU1eiK5aJQM3eKg
         VXxWMAK+EbQap6749MlDHih93x0MN19eW8pDg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700037081; x=1700641881;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ELfyUT2hxTOkRPUscBwI2XonMSGo7vTTGeILa8mYQoI=;
        b=Hwgsm0wnEGTM5gFxHDahYh1MW6KDHqUcb9padEDFkK/tA5oxCEK1krgeOGns5ejtrD
         MEyTmmKBK9SIRVTEbZO/Mma8lTgHljaJZBZMcFZVwLgzHQ200SDY7hTO79hMOnNQTxr5
         PvoivHr2sLVus+Uvf7kUCJS/O7MhtqAnTcS6cgLZ4sOzrkLEwurhpZZAs1w+zK0i++aT
         G4B/jf+UEvA8j97zRF7+6ZdQxxHrn73vbAaHPdV9aFwDfCB4Z+gML2rbx8D/m2kJ0tru
         3QjdPdI30bUd/tNo9MGSwij8Rd7YwHQ3i67aioWB87mgOhJWxphR3tkPl/d4Tu3Mk89H
         WujA==
X-Gm-Message-State: AOJu0Yxky9jcck/lVZtEwdG0kA/c8PX3rvmbv5fvmyQPEDFMvhpD1dCG
	tsR2EFjV2ypYiXBKlImf+c2ZQQ==
X-Google-Smtp-Source: AGHT+IEEqlzD6AsLVjMUoYqN2M4eUNNnk80niFnCJcx75EFF4VOFkItX4G8g5RdVcKuyog1S/rOzlQ==
X-Received: by 2002:a2e:3318:0:b0:2bc:d5f1:b9cf with SMTP id d24-20020a2e3318000000b002bcd5f1b9cfmr3382781ljc.27.1700037081540;
        Wed, 15 Nov 2023 00:31:21 -0800 (PST)
Content-Type: text/plain;
	charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\))
Subject: Re: [PATCH 4/5] tools/xenstored: remove "-N" command line option
From: Edwin Torok <edwin.torok@cloud.com>
In-Reply-To: <dca79398-a793-483a-83da-8dea2b28c49f@citrix.com>
Date: Wed, 15 Nov 2023 08:31:10 +0000
Cc: Juergen Gross <jgross@suse.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Edwin Torok <edvin.torok@citrix.com>,
 Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Content-Transfer-Encoding: quoted-printable
Message-Id: <3AB123DE-1F6C-4252-BF4C-0AE89FB8508B@cloud.com>
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-5-jgross@suse.com>
 <dca79398-a793-483a-83da-8dea2b28c49f@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
X-Mailer: Apple Mail (2.3774.100.2.1.4)



> On 14 Nov 2023, at 22:11, Andrew Cooper <Andrew.Cooper3@citrix.com> =
wrote:
>=20
> On 13/11/2023 12:43 pm, Juergen Gross wrote:
>> The "-N" (do not daemonize) command line option is of questionable =
use:
>> its sole purpose seems to be to aid debugging of xenstored by making =
it
>> easier to start xenstored under gdb, or to see any debug messages
>> easily.
>>=20
>> Debug messages can as well be sent to syslog(), while gdb can be
>> attached to the daemon easily. The only not covered case is an error
>> while initializing xenstored, but this could be handled e.g. by =
saving
>> a core dump, which can be analyzed later.
>>=20
>> The call of talloc_enable_leak_report_full() done only with "-N"
>> specified is no longer needed, as the same can be achieved via
>> "xenstore-control memreport".
>>=20
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>=20
> CC Edvin.
>=20
> There's a patch out to specifically use this option (under systemd) to
> fix a bug we found.
>=20
> I can't recall the details, but I seem to recall it wasn't specific to
> oxenstored.
>=20


The patch is here =
https://lore.kernel.org/xen-devel/ECFA15A7-9DC8-4476-8D0B-44A6D12192D6@clo=
ud.com/

It is about not losing stderr when run under systemd (well you can use =
syslog but what if your connection to syslog fails or you fail before =
getting to the point of parsing which syslog to use).=20
Alternatively we could have a "don't redirect stderr to /dev/null" flag,
but such redirections are usually expected when daemonizing.

It'd be good if the --no-fork flag could be retained for C xenstored, =
currently there is a CI failure on a non-systemd system that I'm trying =
to fix (a bit blindly because I don't have such a system myself), but =
from my testing the flag does work on a systemd system with C xenstored.

The patch is motivated by having some undebuggable issues in oxenstored =
where it just exits without writing any messages and without dumping =
core, so by retaining the stderr path we should have an output of last =
resort in case something goes so wrong that the syslog error handler =
cannot function.

Best regards,
--Edwin=


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 09:11:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 09:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633523.988373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Bvc-00077r-Dw; Wed, 15 Nov 2023 09:11:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633523.988373; Wed, 15 Nov 2023 09: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 1r3Bvc-00077k-Av; Wed, 15 Nov 2023 09:11:20 +0000
Received: by outflank-mailman (input) for mailman id 633523;
 Wed, 15 Nov 2023 09: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=CM7O=G4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3Bva-00077e-AO
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 09:11:18 +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 edcae9c9-8396-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 10:11:15 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-99bdeae1d0aso958149166b.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 01:11:15 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 gy18-20020a170906f25200b009b95787eb6dsm6756487ejb.48.2023.11.15.01.11.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Nov 2023 01:11:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: edcae9c9-8396-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700039475; x=1700644275; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=ZyoyzJ3TG71RLMcSn7Yt3Uv3VvHi975XYyaZgL9PFq8=;
        b=ICW/2dFLyR0BWzEISH6VygRtoJj2RUtdXzkKkPVepCu/GA6OZCrYjg1j8MF3ciZ9Wu
         7F8oFDxkP89xsNoLdyBGqojaeBlSVxdEtXoxMF+R1tzt+1xMXCTz5j0gq01fBk8/5k1j
         mBy1xIaJxTg8vQrVyalHgqwKt9ZD2ScP5YLpxUptkNSOs4W4Ui0E+/7timjn90s347Xr
         Xlv84GcwNIl7JSZi42yWtofKt/gZZ2yLKgM08dkTMeiiksnWtNUEUBxZoYk1HmyJm0Ng
         vc9XHiBABeO9NVx7IePzzUNtriV4flGKRk4uOJWAFNLNDUB59vokmnO7yKi1uYm4sYNe
         lPog==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700039475; x=1700644275;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ZyoyzJ3TG71RLMcSn7Yt3Uv3VvHi975XYyaZgL9PFq8=;
        b=aKzHOVIQI/pN+jGaglg0dx8A7Fl7gfQn0XwzkJd1pq3UT4odM1NX6EoN62RNMyIhSC
         Q8PhzEYjqOq1M0pzPVyIvKZ1n+43dghNaJ9FysRccSmAHht6uz5G/JUfxWz1FvhVvjRC
         y/FO7KbzsO4ftlCeFQQujIMmvVuWxirD/UFt2N68iP97rqEiJcCpPEg7S+6qU3IgIOAl
         UFhml/1zXXsfLEGA6OCOvAxv+VBNC5zToIUhQA6Zh9J2Cf5oVL2RiOkbILo2WMVdC2qq
         0geykLqPNvzVQSjK3oadloM9jqWkoF/HeK/fq2+F+QSj0U8QGewYfUodaO4W77HJMuAg
         PcTQ==
X-Gm-Message-State: AOJu0YwWqMrUpyEuV3UKk2mbC6AyPz/0mCZDst60u8izBmLqgxX7KJmJ
	eNVROr7z7WH8DzZmSOnTmII=
X-Google-Smtp-Source: AGHT+IGr2AnuKFCQyn5T30oiTbmjiaO30R0sYa01TxhSnnbwHDsJOUPWZ2ia346V01tukWFTwUcAzA==
X-Received: by 2002:a17:906:cd27:b0:9f2:6f6f:7a17 with SMTP id oz39-20020a170906cd2700b009f26f6f7a17mr1252162ejb.65.1700039474680;
        Wed, 15 Nov 2023 01:11:14 -0800 (PST)
Message-ID: <37b66c5b997587b9f524e353f4b09a638b7e6451.camel@gmail.com>
Subject: Re: [PATCH v3] xen/asm-generic: ifdef inclusion of
 <asm/mem_access.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Tamas K Lengyel <tamas@tklengyel.com>, 
 Alexandru Isaila <aisaila@bitdefender.com>, Petre Pircalabu
 <ppircalabu@bitdefender.com>,  xen-devel@lists.xenproject.org
Date: Wed, 15 Nov 2023 11:11:13 +0200
In-Reply-To: <39592ff8-4694-4427-b1f8-614150ca9ad0@suse.com>
References: 
	<371c5dd29fa974ca27db1f720f17fb0ffdd667a0.1699974488.git.oleksii.kurochko@gmail.com>
	 <39592ff8-4694-4427-b1f8-614150ca9ad0@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Tue, 2023-11-14 at 18:19 +0100, Jan Beulich wrote:
> On 14.11.2023 16:13, Oleksii Kurochko wrote:
> > ifdefing inclusion of <asm/mem_access.h> in <xen/mem_access.h>
> > allows to avoid generation of empty <asm/mem_access.h> header
> > for the case when !CONFIG_MEM_ACCESS.
> >=20
> > For Arm it was explicitly added inclusion of <asm/mem_access.h> for
> > p2m.c
> > and traps.c because they require some functions from
> > <asm/mem_access.h> which
> > aren't available in case of !CONFIG_MEM_ACCESS.
> >=20
> > Suggested-by: Jan Beulich <jbeulich@suse.com>
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> >=20
> > ---
> > This patch was part of patch series:
> > https://lore.kernel.org/xen-devel/cover.1699633310.git.oleksii.kurochko=
@gmail.com/
> >=20
> > The patch series hasn't been reviewed all yet so send this path
> > separately.
> > ---
> > =C2=A0xen/arch/arm/p2m.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 | 6 ++++++
> > =C2=A0xen/arch/arm/traps.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 | 6 ++++++
> > =C2=A0xen/include/xen/mem_access.h | 2 ++
> > =C2=A03 files changed, 14 insertions(+)
>=20
> Also drop PPC's then dead header, please.
Sure. Missed that. I'll do that.
>=20
> > --- a/xen/arch/arm/p2m.c
> > +++ b/xen/arch/arm/p2m.c
> > @@ -11,6 +11,12 @@
> > =C2=A0#include <asm/event.h>
> > =C2=A0#include <asm/flushtlb.h>
> > =C2=A0#include <asm/guest_walk.h>
> > +/*
> > + * Inclusion of <asm/mem_acces.h> in <xen/mem_access.h> is #ifdef-
> > ed with
> > + * CONFIG_MEM_ACCESS so in case of !CONFIG_MEM_ACCESS will cause a
> > compilation
> > + * issue "implicit declaration of functions 'p2m_mem_access*'.
> > + */
> > +#include <asm/mem_access.h>
>=20
> Personally I'm against such comments (they simply don't scale), but
> this
> is Arm code, so Arm folks will need to judge.
The comment can be removed. Probably it is enough to have an
explanation in the commit message.


Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 09:18:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 09:18:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633526.988384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3C2b-00005U-6h; Wed, 15 Nov 2023 09:18:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633526.988384; Wed, 15 Nov 2023 09:18: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 1r3C2b-00005N-15; Wed, 15 Nov 2023 09:18:33 +0000
Received: by outflank-mailman (input) for mailman id 633526;
 Wed, 15 Nov 2023 09:18: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 1r3C2Z-00005C-QK; Wed, 15 Nov 2023 09:18: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 1r3C2Z-0004zi-N6; Wed, 15 Nov 2023 09:18: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 1r3C2Z-0000MA-9Q; Wed, 15 Nov 2023 09:18:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3C2Z-0001ok-6i; Wed, 15 Nov 2023 09:18: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=nK3Y0l4BSkOtivP/KxeXhBzDBs43pl67Q8+M3brPPsI=; b=kJcYckA0oAh1LSTAvZpYNOO9Lj
	drf3XUjxyzN6mnfXGhLbPhK6JnOXTxwzqSkvnSXacntdq/vzh0qgGNwF0sicD4ly0cP9fk1f6Xfoz
	vk7QUw1f5GCXW/2U4oHC1Yba3xQ7J5cuDfJru7NvseqRr9M4hbQbY0YGrAFB/exL7rNc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183754-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 183754: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=2185851bbf72123ea76c9ce26e0c3a4d1a0ab8b0
X-Osstest-Versions-That:
    xen=509f737d3e80c75f948eb896a08c324287b00adc
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Nov 2023 09:18:31 +0000

flight 183754 xen-4.18-testing real [real]
flight 183761 xen-4.18-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/183754/
http://logs.test-lab.xenproject.org/osstest/logs/183761/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-win7-amd64 12 windows-install fail pass in 183761-retest

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop   fail in 183761 like 183744
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183744
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183744
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183744
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183744
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183744
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183744
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183744
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183744
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183744
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183744
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183744
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-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-amd64-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-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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 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-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-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-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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  2185851bbf72123ea76c9ce26e0c3a4d1a0ab8b0
baseline version:
 xen                  509f737d3e80c75f948eb896a08c324287b00adc

Last test of basis   183744  2023-11-13 15:07:08 Z    1 days
Testing same since   183754  2023-11-14 13:07:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Roger Pau Monne <roger.pau@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-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-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
   509f737d3e..2185851bbf  2185851bbf72123ea76c9ce26e0c3a4d1a0ab8b0 -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 09:50:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 09:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633533.988401 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3CXM-0006Zo-Le; Wed, 15 Nov 2023 09:50:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633533.988401; Wed, 15 Nov 2023 09: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 1r3CXM-0006Zh-IW; Wed, 15 Nov 2023 09:50:20 +0000
Received: by outflank-mailman (input) for mailman id 633533;
 Wed, 15 Nov 2023 09: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=gzjc=G4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r3CXL-0006Zb-RG
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 09:50: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 61b8fcda-839c-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 10:50:17 +0100 (CET)
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 4448B204E3;
 Wed, 15 Nov 2023 09:50:16 +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 0B16E139B7;
 Wed, 15 Nov 2023 09:50:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id shAoAViUVGW1OgAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 15 Nov 2023 09: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: 61b8fcda-839c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700041816; 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:autocrypt:autocrypt;
	bh=s42qWuhl8D+gywZ3U57xvvGE/jE062pz5yhOqyKIe2A=;
	b=N9b5HQiomXiY2+2Y1v9X7Xtzx2XBFVAxxl/3+iyAdjCtMk1IPOANLNh92REzfw0bRZC/kP
	0IrfN1DmPAa9GGRe1FnA/GqrFgMcr7XdsiJg4pk4SaU7Fe/+WZ2ZelDQnUkolw//fQXsgb
	wTJoLFgcuXrptfrbVnUVM3zPlFnD1yE=
Message-ID: <255acc99-4d9b-4734-9d9a-ed73d584bb1b@suse.com>
Date: Wed, 15 Nov 2023 10:50:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] tools/xenstored: remove "-N" command line option
Content-Language: en-US
To: Edwin Torok <edwin.torok@cloud.com>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Edwin Torok <edvin.torok@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-5-jgross@suse.com>
 <dca79398-a793-483a-83da-8dea2b28c49f@citrix.com>
 <3AB123DE-1F6C-4252-BF4C-0AE89FB8508B@cloud.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <3AB123DE-1F6C-4252-BF4C-0AE89FB8508B@cloud.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------3h0E9sp6K7VFSpcUUTVUimeS"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -7.99
X-Spamd-Result: default: False [-7.99 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 TO_DN_ALL(0.00)[];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[7];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------3h0E9sp6K7VFSpcUUTVUimeS
Content-Type: multipart/mixed; boundary="------------flTnMR9IZn5Dzs94Xp7FzCbA";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Edwin Torok <edwin.torok@cloud.com>,
 Andrew Cooper <Andrew.Cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Edwin Torok <edvin.torok@citrix.com>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <255acc99-4d9b-4734-9d9a-ed73d584bb1b@suse.com>
Subject: Re: [PATCH 4/5] tools/xenstored: remove "-N" command line option
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-5-jgross@suse.com>
 <dca79398-a793-483a-83da-8dea2b28c49f@citrix.com>
 <3AB123DE-1F6C-4252-BF4C-0AE89FB8508B@cloud.com>
In-Reply-To: <3AB123DE-1F6C-4252-BF4C-0AE89FB8508B@cloud.com>

--------------flTnMR9IZn5Dzs94Xp7FzCbA
Content-Type: multipart/mixed; boundary="------------2SY54LYoTaW5fMz90MzO5DD7"

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

T24gMTUuMTEuMjMgMDk6MzEsIEVkd2luIFRvcm9rIHdyb3RlOg0KPiANCj4gDQo+PiBPbiAx
NCBOb3YgMjAyMywgYXQgMjI6MTEsIEFuZHJldyBDb29wZXIgPEFuZHJldy5Db29wZXIzQGNp
dHJpeC5jb20+IHdyb3RlOg0KPj4NCj4+IE9uIDEzLzExLzIwMjMgMTI6NDMgcG0sIEp1ZXJn
ZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gVGhlICItTiIgKGRvIG5vdCBkYWVtb25pemUpIGNvbW1h
bmQgbGluZSBvcHRpb24gaXMgb2YgcXVlc3Rpb25hYmxlIHVzZToNCj4+PiBpdHMgc29sZSBw
dXJwb3NlIHNlZW1zIHRvIGJlIHRvIGFpZCBkZWJ1Z2dpbmcgb2YgeGVuc3RvcmVkIGJ5IG1h
a2luZyBpdA0KPj4+IGVhc2llciB0byBzdGFydCB4ZW5zdG9yZWQgdW5kZXIgZ2RiLCBvciB0
byBzZWUgYW55IGRlYnVnIG1lc3NhZ2VzDQo+Pj4gZWFzaWx5Lg0KPj4+DQo+Pj4gRGVidWcg
bWVzc2FnZXMgY2FuIGFzIHdlbGwgYmUgc2VudCB0byBzeXNsb2coKSwgd2hpbGUgZ2RiIGNh
biBiZQ0KPj4+IGF0dGFjaGVkIHRvIHRoZSBkYWVtb24gZWFzaWx5LiBUaGUgb25seSBub3Qg
Y292ZXJlZCBjYXNlIGlzIGFuIGVycm9yDQo+Pj4gd2hpbGUgaW5pdGlhbGl6aW5nIHhlbnN0
b3JlZCwgYnV0IHRoaXMgY291bGQgYmUgaGFuZGxlZCBlLmcuIGJ5IHNhdmluZw0KPj4+IGEg
Y29yZSBkdW1wLCB3aGljaCBjYW4gYmUgYW5hbHl6ZWQgbGF0ZXIuDQo+Pj4NCj4+PiBUaGUg
Y2FsbCBvZiB0YWxsb2NfZW5hYmxlX2xlYWtfcmVwb3J0X2Z1bGwoKSBkb25lIG9ubHkgd2l0
aCAiLU4iDQo+Pj4gc3BlY2lmaWVkIGlzIG5vIGxvbmdlciBuZWVkZWQsIGFzIHRoZSBzYW1l
IGNhbiBiZSBhY2hpZXZlZCB2aWENCj4+PiAieGVuc3RvcmUtY29udHJvbCBtZW1yZXBvcnQi
Lg0KPj4+DQo+Pj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2Uu
Y29tPg0KPj4NCj4+IENDIEVkdmluLg0KPj4NCj4+IFRoZXJlJ3MgYSBwYXRjaCBvdXQgdG8g
c3BlY2lmaWNhbGx5IHVzZSB0aGlzIG9wdGlvbiAodW5kZXIgc3lzdGVtZCkgdG8NCj4+IGZp
eCBhIGJ1ZyB3ZSBmb3VuZC4NCj4+DQo+PiBJIGNhbid0IHJlY2FsbCB0aGUgZGV0YWlscywg
YnV0IEkgc2VlbSB0byByZWNhbGwgaXQgd2Fzbid0IHNwZWNpZmljIHRvDQo+PiBveGVuc3Rv
cmVkLg0KPj4NCj4gDQo+IA0KPiBUaGUgcGF0Y2ggaXMgaGVyZSBodHRwczovL2xvcmUua2Vy
bmVsLm9yZy94ZW4tZGV2ZWwvRUNGQTE1QTctOURDOC00NDc2LThEMEItNDRBNkQxMjE5MkQ2
QGNsb3VkLmNvbS8NCj4gDQo+IEl0IGlzIGFib3V0IG5vdCBsb3Npbmcgc3RkZXJyIHdoZW4g
cnVuIHVuZGVyIHN5c3RlbWQgKHdlbGwgeW91IGNhbiB1c2Ugc3lzbG9nIGJ1dCB3aGF0IGlm
IHlvdXIgY29ubmVjdGlvbiB0byBzeXNsb2cgZmFpbHMgb3IgeW91IGZhaWwgYmVmb3JlIGdl
dHRpbmcgdG8gdGhlIHBvaW50IG9mIHBhcnNpbmcgd2hpY2ggc3lzbG9nIHRvIHVzZSkuDQo+
IEFsdGVybmF0aXZlbHkgd2UgY291bGQgaGF2ZSBhICJkb24ndCByZWRpcmVjdCBzdGRlcnIg
dG8gL2Rldi9udWxsIiBmbGFnLA0KPiBidXQgc3VjaCByZWRpcmVjdGlvbnMgYXJlIHVzdWFs
bHkgZXhwZWN0ZWQgd2hlbiBkYWVtb25pemluZy4NCj4gDQo+IEl0J2QgYmUgZ29vZCBpZiB0
aGUgLS1uby1mb3JrIGZsYWcgY291bGQgYmUgcmV0YWluZWQgZm9yIEMgeGVuc3RvcmVkLCBj
dXJyZW50bHkgdGhlcmUgaXMgYSBDSSBmYWlsdXJlIG9uIGEgbm9uLXN5c3RlbWQgc3lzdGVt
IHRoYXQgSSdtIHRyeWluZyB0byBmaXggKGEgYml0IGJsaW5kbHkgYmVjYXVzZSBJIGRvbid0
IGhhdmUgc3VjaCBhIHN5c3RlbSBteXNlbGYpLCBidXQgZnJvbSBteSB0ZXN0aW5nIHRoZSBm
bGFnIGRvZXMgd29yayBvbiBhIHN5c3RlbWQgc3lzdGVtIHdpdGggQyB4ZW5zdG9yZWQuDQo+
IA0KPiBUaGUgcGF0Y2ggaXMgbW90aXZhdGVkIGJ5IGhhdmluZyBzb21lIHVuZGVidWdnYWJs
ZSBpc3N1ZXMgaW4gb3hlbnN0b3JlZCB3aGVyZSBpdCBqdXN0IGV4aXRzIHdpdGhvdXQgd3Jp
dGluZyBhbnkgbWVzc2FnZXMgYW5kIHdpdGhvdXQgZHVtcGluZyBjb3JlLCBzbyBieSByZXRh
aW5pbmcgdGhlIHN0ZGVyciBwYXRoIHdlIHNob3VsZCBoYXZlIGFuIG91dHB1dCBvZiBsYXN0
IHJlc29ydCBpbiBjYXNlIHNvbWV0aGluZyBnb2VzIHNvIHdyb25nIHRoYXQgdGhlIHN5c2xv
ZyBlcnJvciBoYW5kbGVyIGNhbm5vdCBmdW5jdGlvbi4NCg0KVXNpbmcgdGhlIC0tbm8tZm9y
ayBhcyBpbiB5b3VyIHBhdGNoIHdvdWxkIG1lYW4gdGhhdCBzZXR0aW5nIHRoZSBvb21fc2Nv
cmUgaW4NCnRoZSBsYXVjaF94ZW5zdG9yZSBzY3JpcHQgd291bGRuJ3QgYmUgZXhlY3V0ZWQg
YW55IGxvbmdlciwgcmlnaHQ/DQoNCg0KSnVlcmdlbg0K
--------------2SY54LYoTaW5fMz90MzO5DD7
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-----

--------------2SY54LYoTaW5fMz90MzO5DD7--

--------------flTnMR9IZn5Dzs94Xp7FzCbA--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVUlFcFAwAAAAAACgkQsN6d1ii/Ey8V
ZQf/eb5upRn+iR3svFTp/WLQdE2QSU4ebrbt9KifsP3E2fdLVro99W/bdTPqmM7VyeWWTUKx6XhO
pspPTCwBLrhUSa5MNxgXnCTVaHHSeKWtFa5m8KdmMzJ7Yjo4aLc+F5kIju7C81ZvTXAZB2aALeVZ
E2/A9V2Kri8AluiY1h7JhGDdz6/mGI1D2M39eACWVBdi5nZOVO/T2+XkvqwCyOE6gCtlK4sABsZ9
EeJzaqAqDtw5bIVIOED7ZNk6uabzYp0NUR37EF199/YJpOGues5i9N/eJxdXLW5a0I1c9wXt3gNK
u55SCDNl2Q1LIzE9o0C3mqJUPBOmgH+siMFFAqRO0A==
=S0B2
-----END PGP SIGNATURE-----

--------------3h0E9sp6K7VFSpcUUTVUimeS--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 09:56:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 09:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633537.988411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3CdK-0007iT-DA; Wed, 15 Nov 2023 09:56:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633537.988411; Wed, 15 Nov 2023 09:56: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 1r3CdK-0007iM-AR; Wed, 15 Nov 2023 09:56:30 +0000
Received: by outflank-mailman (input) for mailman id 633537;
 Wed, 15 Nov 2023 09:56: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=dw2F=G4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3CdI-0007fq-Pe
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 09:56:29 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20631.outbound.protection.outlook.com
 [2a01:111:f400:fe13::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3dce2a21-839d-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 10:56:26 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7303.eurprd04.prod.outlook.com (2603:10a6:10:1af::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20; Wed, 15 Nov
 2023 09:56:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Wed, 15 Nov 2023
 09: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: 3dce2a21-839d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YaHrOU5ppuOuk1AwhWAX+KE4K3uVDssnCGp5HnOvb1sjYUPHO6vfs/BQB90o74PbfxuBDvtNQNwPeBbPbb/gL1LAHjtEU/mKVblYigUKDR4nfl+rhT/fJJXNCEGxhuwsk1Wp/+OrwSUBnPdktn+/ILRZStfSRSkdCEXBjoL41wa7bjpzf9fDUH6IRcJHuaGiZtIBtivjUhxN0A/BjQ6H2APmjRzSSvzYWzHje0F5lJY/VH+RNUIqg6nJc8zJQzp1nttaVdijBa8jgXeLAQIdNVv7vZJNYT/4wuhS6COOO2RXw0uROt3LiyKEpEu84YnfssTzqtw5j1otu5n0WWXSPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/wanSzIg2RiD1iPPUc9HI4Bs4D4WYtB1gb6lvqy1XwM=;
 b=jnE1gVdFK85fWjxMMltyvzGlWLrMI3JcKI2aKj1P6XNFTovB3B8iMJJaFxru2DgPh+6HLptPZZComHQMH8mTLlLTDlBl5J6Zk1RUYUuDs6syvcPI39EO+vHayz9P02MqX9EaE3DaBWeVTMS++i5SfDwB5/2Lp4gUB0/+q4XhP0Q6E4/Z7FOnWrciCTxJKs018dTvFqOyQDFcwdHsXalCi4FtnEYPzBtX1sBgDfa+TshizxMIIb7ZRyhCMOosOi/MdfrLl6USA2BgrhZ/Q7V/0QuVkoWOW5YRTBifNa0TRrdt6OK03UEWZtHqYHUaG9FEznAFbbcOZHlFWzrM+vzI2A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/wanSzIg2RiD1iPPUc9HI4Bs4D4WYtB1gb6lvqy1XwM=;
 b=Ad6e2PCaOEXElEikoMdbUNUZ2lYPLd0vfp1ZIHf/zLi2VlbisDt88NrqbStHMP7d/14SjD+UNtTUxs+KImDJgfu8LNYbbNX/sNL+PCp45JKZF/YKmJ1ztPYsH6eUTAOQcJ7DKzuRstMw4qNxSaP0jCxCN9sDVV3qOFI+7vH5y6dQWzsEKkefor6C/0MNmbxreFqaqPPCnIdIMGVI/qy7FNe0B1VaFEWsEM5OhMIgQRV3eccGuxuPy0n8stH89BsyEIO6nJm3ITo7SL9dAmDtFTVAQDsaor5IhrZqLfHPqrmxW/M7YvuD7iQIEER2LSU5G4ZDoh980gWJBbGc4+wiIw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8f5f9a74-cf90-4a65-8195-ededf00da9f4@suse.com>
Date: Wed, 15 Nov 2023 10:56:21 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 07/15] xen/asm-generic: introduce stub header
 <asm/random.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <2464c6b984d187207fe76453bd05502d288af4f9.1699633310.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2464c6b984d187207fe76453bd05502d288af4f9.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:98::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7303:EE_
X-MS-Office365-Filtering-Correlation-Id: a36b0eec-6cf9-40c1-a11d-08dbe5c12043
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LmLGgrWO2HNLM+M7csqvMpWRBwdfH30J7AtAxYB1qfINjAtDJPV+6gWtMR/nMXyk70yYdnsj8VG3dorogCot7Lf07dG2s7JlRxFAVIYmSXoQLwAFt82ShrhpGO5MDVedmppCJsbPNZujwJXExXMp5YzG2ZaDJaDnC16NF9inGKMMX22yi12GNiW0hH0tXqG27ZV6qS/QouI2AOCgt1y6mE0Z20b5isQDXXPJH0dN3IbDEydUAnxSC5AVY0I/tXmyoMQGYSMl0F+dyAR06qxQ3dNtlQnjx7oqU9ZlHmUJ4l+3QGQrJQF1E3m512SJnEdgiJtC9H5q03xnXAgOclmdJU0NMm57h2z2haZuy3qxwDoVQpCh9zorARRKooMZsa1HE76BnVPwl7CFL+cnlND5sp1HPbEM4zVs2aePgkN/QSRf3DemHGFZNGqSbi8euH1OVLpBkzgJMdoihXgRVF1B5l+aUTLdgwVMTK22QyUKnI4gXM9qGeQReTec6A+ICr3d9gui7ZNuSN4//NS+zz9ZlaG/oQi44wU5J1ozeF8oa6svOHtTsllGQExpcCeGBJzL7ynxvTUC96Ybt1g4jdopuvgyCJv/pMXI9UfZ2pg1yQ5vPVm2DhYW1u6hDCMy5vnyFkX1eAhZnH+XmVszHlZFOjFNcf0igxzyk5avnfyV9LQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(136003)(396003)(366004)(346002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(83380400001)(6486002)(478600001)(86362001)(6506007)(53546011)(31696002)(6512007)(26005)(36756003)(8936002)(4326008)(8676002)(2616005)(2906002)(41300700001)(4744005)(66946007)(31686004)(66556008)(38100700002)(6916009)(316002)(54906003)(66476007)(5660300002)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SFBQTUlFdXd4R01TMUMxejFVT2dKSFdOL0NtWTNpaHErSGM4WmFpRmVpcUtN?=
 =?utf-8?B?Sm9oQ1Boc2xqZXlVY3ROSHM4UkFCc2ZGakR6YVNjY3hxeEJBZnRRR2JBQk1P?=
 =?utf-8?B?dUZZN2ZmbFI4QXRSZkpOa3JRaXoyYmpoWGlKdDZzRnVVREdhVnhzNUpRNUhI?=
 =?utf-8?B?WFpDWVA5ZVN3L0xWbTZ3Y0Z5MDZPRkpnYzJTUWJQL3lWVkpqNXNyQlRPYzUx?=
 =?utf-8?B?QlVqL09OOENxM0xyaGtCcHc1akpHVUNlRkJjeTRXVDFHYWZtbUU3cVpNNmw4?=
 =?utf-8?B?cWNFQUVuWlpwaGpYZmRaTTBVMjlBczVNUnFIRjFtbEcxWE44anhBMm5YS1Zr?=
 =?utf-8?B?dTYyZEp0S21oa3BXWnc0UllhQS9zZzhwNGJZZ2JkYlNOeDRBTkwzRTQxODNG?=
 =?utf-8?B?SDRwWnJiQnN3TU9xOFN1Z2txYUpUdWhPbEMyblZrWXY2QmhQVGVlWGZLbTV5?=
 =?utf-8?B?L1hsdTlGVTJ5RVRkQW51S2NTNlp6NEphUWZrRTcvdmpyQXJuRGVsM0k4THM0?=
 =?utf-8?B?cVpyU0dHd0FSL3l4dmJtU3VQdDRwR0tOcWd0RnVMSUFWNW55Ukp3UGpablIx?=
 =?utf-8?B?dkhtMUZxUGVQT2lZc3ZtSC81VkYxMWJuLy9pRE9ycy9KQU5qNnZ5ZGRnUEE1?=
 =?utf-8?B?Y2d2ZHJ5Nis0TGJxUlhwU29UTmYyZklxYmVUbHQ1MWx6am9iblRjb2lMcVht?=
 =?utf-8?B?b2YySU1RNkdEeE8xSU5RWEtzR2ZKbWZSZTdyNHVkTVRpYndNYkJiM1VtSnE0?=
 =?utf-8?B?elBXeTFpdkQ3RTZmQVRYN3ZLbExiR1Y2TkR6ZGNnYTZrOExmNk9idFRrR0Zz?=
 =?utf-8?B?UGlmL2RMeDJLcXc4Qm83MExZT1pNUVZQQjNOUEdNMUZjZFY3cTNneFh0aXlZ?=
 =?utf-8?B?ZkJpcFA1MXRFUVlNcGtjSStjdmxmemdGdnFJSnJORWxIRmtsd2hkdGVYWnVu?=
 =?utf-8?B?SjJpUVFKMkF6KzgzMFRuRU85KzM3YlJNUWFuU0VaMDQraWw0SEt6cDZmQ0p3?=
 =?utf-8?B?YnpEUnFqSEhyZXNVYktiVFJDM25BKzFyK1VtcWY4VGh5elhSbEhCY1BVRVJl?=
 =?utf-8?B?VTRtMS9tRXZvcnptL3lvd3I3WXZXK01IZE00UXJsanRucUMwQ2xUbW9UMHY2?=
 =?utf-8?B?bkxCTzQwbE5NaEJ2ZUg3ak1id1FLM29pTCtnT29Bak1ubkdJMk5HV0VlMy81?=
 =?utf-8?B?U3llNk5TQnJ0alpGSFIvb01UczNEWFhvdXM0TVJhNjltWFJ1MjdCbmtKNUNB?=
 =?utf-8?B?cjhhVCt2OGZHQXJYVFA5NnRyL1d1aysvNTI5Nk5naWNCeGhXSysvWTBUSFZr?=
 =?utf-8?B?UjJnbDdGSmV6MHE0RWFtdVJyRjdVN0dLN2RXeUVROXV6dzdld3BxR0V4M0Ft?=
 =?utf-8?B?RENXeklNUnp5Sk4yTzZpUHdNS0JISHgzNG1NYVE1b1J2ZzQzY2M1eVZrVkpl?=
 =?utf-8?B?VDNjN3BpTy9ja05qQThQdWlCdHBxeWFDUzF2MXZqUFZxQjh0SUgwWnNUU2V5?=
 =?utf-8?B?a0ErU1FkMzkwdGJtWVNIb25zeTR3ckdiRzFVLzVOR2RQY2x2ZkNZV0Z5ZWpB?=
 =?utf-8?B?ZHRsdzFZTnJwWS9lQUVNcEVqcnA2S0lOR1pGZTBaRXl1MmlKK3VGQ2xoZ24z?=
 =?utf-8?B?REx1QXpmbVZRSmlsOEZGbU5YNHRyWTNqSG9UdExsZ3hIckNBd0x3bzF0a2lJ?=
 =?utf-8?B?dWNHNHFDM3pLdy9wdFBSVEVJclhiQnNNYnZYWjEzTnYyaFU0NXRONk1yaVB2?=
 =?utf-8?B?djFhc1lKRzVXbHdia0dPUDZqM1EzQmpob2Q5ZzEyY01TNEhNSVhxcjhlSHc5?=
 =?utf-8?B?N1dzSzUydW9jVzBlNS9lR3VKTi8vTHpUcUNLckJFWFF2MDcyZHRMZnNYQXE2?=
 =?utf-8?B?UEptSEFOZWxsc1QzK0JVVkxkWWdxaHd1SlFUeXVvRElHcDFZMkFNclg1Umc2?=
 =?utf-8?B?R3E4bXBWM0lyZ05EWkxRSGZNY2F3Zmg2K3h4dmhsT2FjOEk2azZ1YVl0ZllE?=
 =?utf-8?B?bHZjWE9jMGFJdHhRTit6RDNiWFFzNE5yb2FYWEE4V3ArUEtFQ0w2MjZacytm?=
 =?utf-8?B?eUJaU1hlWi9LWURwTzRDTi9vWmZORjJSU1BuNFE0UVk1ZWF3NTI0QjVPcXRK?=
 =?utf-8?Q?CUnoELjmY8CVXteru/Pz7EiEK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a36b0eec-6cf9-40c1-a11d-08dbe5c12043
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 09:56:23.7722
 (UTC)
X-MS-Exchange-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+Tho+ORlZVP66QZvzNFlCRNQ3imrdF4icLlt5NiKfZM2KYtFhjlDwQO9/4QyfNpwsTkBJDAxERqQOSDWSnRqw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7303

On 10.11.2023 17:30, Oleksii Kurochko wrote:
> <asm/random.h> is common for Arm, PPC and RISC-V thereby it
> is moved to asm-generic.

When you say "moved", ...

> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V2:
>  - update the commit messages
> ---
>  xen/include/asm-generic/random.h | 20 ++++++++++++++++++++
>  1 file changed, 20 insertions(+)
>  create mode 100644 xen/include/asm-generic/random.h

... you also want to actually move things.

Since the above comment matches ones on earlier patches, yet otoh in your
submissions of two individual patches you mentioned you sent them
separately because this series wasn't fully reviewed yet, would you mind
clarifying whether further going through this version of the series is
actually going to be a good use of time?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 10:00:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 10:00:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633540.988421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Cha-000147-UG; Wed, 15 Nov 2023 10:00:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633540.988421; Wed, 15 Nov 2023 10: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 1r3Cha-000140-RM; Wed, 15 Nov 2023 10:00:54 +0000
Received: by outflank-mailman (input) for mailman id 633540;
 Wed, 15 Nov 2023 10:00: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=dw2F=G4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3ChZ-00013n-Nw
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 10:00:53 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2060f.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dba74769-839d-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 11:00:51 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9047.eurprd04.prod.outlook.com (2603:10a6:20b:442::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Wed, 15 Nov
 2023 10:00:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Wed, 15 Nov 2023
 10:00: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: dba74769-839d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UWAnlJPR3aJ9haj7itTOYAoO177YpScZar39zQvm8Dees+TAhTktoSbCxwyR1las6LMe6X/L8SmAcrevKSeDm79cUiwOTvzCyGiU17PF5VPE8GAY19H7EwdJ5lKTANufJ97vS017CmW3Cg0f39IbPu96eh7KTk1Cil86cBcSgGWVdOKKYa7DPe+kewT+qXyCNKb16Ggxh7mqq9xh7fnzoO1epFZJqz+BSnLzi3GQic2oQkwYxodGIOz7/SNyJQllxdjg1aMuAvKaU3zw+7AE9tPcP2esEuc7bG+9Wih+nrdqJnETD/jXlO83NKhZrDXSECtw1EQV28xNE9D2FxZWhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vGT+GEecgj0AIV2qRbHLdv9QkSKlQt3IVRSBHpSHc5k=;
 b=RB1YCZWSMNljsu7UmxrtRbT4YDQ1pPn7EdKS3cwpX+yXf0iMlPmWeD6UGF0xf5TLH/805MyKVYbDyvC4VbMrUHgOMbgLtlBgHIG4hpf8FLPtT09A/hDOevk9V2Ue80BrvkzPft9z1Kdo2u/+0GHCMX8KDoUTbGKiXg/DO4A/SSKPfpVz+XQuNHhvfQbuZxKUWrWxrCJB+Hrbmj/sHYlP1sFJnYPk1YJhAWDTQDQDIIhYhvhW2Iju8fBz2TQciiaf+/ufowRIKwYgFaOJzId5gZbvwHLt8EseTT13YQ6jPwYziwyq09PaVCJpvgg2BQbNysRN9Y+oea0fXQmkMdBL7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vGT+GEecgj0AIV2qRbHLdv9QkSKlQt3IVRSBHpSHc5k=;
 b=y8lq0AvM+8WuNUFI+XD0rBummhqEJzMZN4S2JFrONT80T9E1aZ6nbGXEBHMh4u2oE5OtkSTvWSnZW8GkNQq3OGN7+WwTxPLM0VPN6pcJst/UVN3crJ1yETXRR1+A4Bl2qJEES91SqCbzpXnLtJbfZYIV0Q21LVmVg7FSR55ypVWdpprbLfinwa1QeETnmQlOrapS2TpJm4fUtbLXox/uKLZa9nXv5KSPdzRiut+uYoIPVrymPmHsH6YFzd5yjXacANMn8ILb6YZ+0dNfRaqzd6kMZwqNiNURx7GAqmCRkBlP15hAhV7TOm+4qw6EYBSBRwVfSJ2DU3jBF0AMLu1qCQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0ec74ba0-895f-4642-ae83-fc2617435303@suse.com>
Date: Wed, 15 Nov 2023 11:00:46 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 13/15] xen/asm-generic: introduce stub header monitor.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <9b40493df82b99904b2e4f6cf9dc8888db4a2a49.1699633310.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9b40493df82b99904b2e4f6cf9dc8888db4a2a49.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0033.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f3::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9047:EE_
X-MS-Office365-Filtering-Correlation-Id: 48038a86-0ca3-445c-ca69-08dbe5c1bdf9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ged4H9I5ieCBfZk5kwhWNMtWnSvbh0EGrKCP/6Sd4lvoy5L6AP6WEmTcv17dNuR8KIbKfRG0WnZhjp3dn34IHsZppZ4sXRAW7OQb26yS616dBWtR6cPEJKEhXQmkCuCOOPoU8weYJ40CQqmFf6arUxTFqhzT180yJxEQOYdmVD9UFpTdq3xFprdRdYXIOQlO2Tj56OFqiRcp/yjCOgkm+AKnsVd3dWCWiJpt52rI+EFiXBAyRoYbk9EsRGVrbsfGz5zSQZjlP/GiCOhD/eeCDkl8mhW6OvQzLKMkXjGgIXQOnP3guBec/yCqT+gYVLtKCzQNVFxcz3ecYSpVa6KJt2k8IWuFbgFm2ctFkVQO7GSrRVGWWqqu3lU/fuAgXGT5hq/MZeknEJYAbsPTDOAfus4MNGnGRR1mHJiO5/gntqgYjVy/d47xgm4F+7EcfG8Z7PSoJ/uq7qnJxAqL//HzFmXSGVLJ7KZ98rwV2biSo5Ea4Fpm8ud+WSkq//kQWf3rQbsMuXw7rzDLjmRGT89IgQOtne8oeNl0tnTFSl6ryfP+seHGhiGocJbMVM3u8EsI3jSA6xQ5daLjVs+AHb27oNlZzUvzV7JUR4/e1YGLxO5nRTt0T/uv52wCnu1Wtru5EqvlV6BMy/TJZXqHFdG/6RJSrxjL4mZHwApVJs1OyLo=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(136003)(396003)(366004)(39860400002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(31686004)(26005)(6916009)(66476007)(66556008)(54906003)(66946007)(38100700002)(86362001)(31696002)(6512007)(2616005)(36756003)(6506007)(53546011)(2906002)(478600001)(316002)(6486002)(5660300002)(41300700001)(4326008)(8936002)(8676002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bkd6NlBady9YK3JwUmV2eXJTeHd3MTM5QUpyY0ZpeWRiS3YzK3dhOHEvMmFR?=
 =?utf-8?B?OUpJOUJ1d1I5VEdaandjazVLSWpMRXd3QisvcUtnWHZUcjA2aG4zR1REVnNP?=
 =?utf-8?B?M1BCeEs5SjM4VitWZ3pNLzlsV2dZdGxBU0JsZmdFR25qNjZqOTFvOGRJci9w?=
 =?utf-8?B?bTIyaGJRRlYxWkNRNlBCajhZc25GN0k2WVFDVFZwRUplS1J1ek5lSGtWS1Fl?=
 =?utf-8?B?QmZQWFluOUxPc21aTEdZVW4zdE1RMFhtcUU2K1lZeVZSbC9odXh0eHFhcGM4?=
 =?utf-8?B?YkNheENHcGp6aG1oOVZaaVpyRzBLZGFXVXNYUjMzdWUvR0ovMXgzM0JlVFdm?=
 =?utf-8?B?dVZjNmhlU2hPZ1FUcDBueHQ4UHkyYzZoRWZJY3FLTFp3ZFRMNXNwVEwvejk3?=
 =?utf-8?B?RGNyanZtaXE0WDlvK2lVdDQyRUM1VDFKYXhyMXpOeEN2OGM0NnBVQVlsRkd4?=
 =?utf-8?B?NjFKSmIvc2dHR1hHR1hrckFtMldoeXI1bTRHWTh3SnVmN0RoMzR4eWEybHFz?=
 =?utf-8?B?SjNXQjR6ZmhlM2dtaWVZOVlNTkgvbGdWc0tUSWhGemFpWW5DaXFpNXdTYjNL?=
 =?utf-8?B?VDlydjFXa0p2NzZKZE9IVXlmTnp2ckJkTHJyM3ZGK3V2UEsrd200OHc1YXZE?=
 =?utf-8?B?bzZtUmp6TEpEeENUVjZTb2hMWFFrTWpDbnJoeHQvSGNFeFpISThjVUpYQ3Jx?=
 =?utf-8?B?TkZHWXZRZlhhOStLVUlZczJMZ1U5N24yeURycjR1anpkd3dlc1NBR056WUlO?=
 =?utf-8?B?K3NIdDM1blJ3Tk5wMkNJR2diTEVVTEN5cmcyOUFMRDBzbnZnQzRQT0doYkFF?=
 =?utf-8?B?Qml2WUhXNDd2VFJBR3VOeHFXei85SWJwaE0wZXhWcUF5a0lEWk10R2l3Q25l?=
 =?utf-8?B?TFMzMFVmMFhuYk13UXVaa0lZazgzMXFqZDk4UkFDd0t1c0ZWWDVGdjVVbUxx?=
 =?utf-8?B?RVAxbGlKZ0pUYXBmbUNlRWpFTG94S2hoa0ZCWFlUeDl5b2JCSVFaRmRCVVVi?=
 =?utf-8?B?M0QyeG1vSGZaWTArek9veHJDdkZzUHdLaE9kK0NKbGJEQjM2L09LMjM3bUVs?=
 =?utf-8?B?Ylh3RkVEcWVCRzJCbzFoQ3kwNjMxMExuN3h3NXJtejlPL1VBRjVBeHB5SjVE?=
 =?utf-8?B?TWk2REJraGpBUm1ubDZqbTZwdXplNkQ4UkpKc2tuN0tsdXRUS3FGakRUaml3?=
 =?utf-8?B?cFNkWHJyMGFqcTdLUzFLR2VWcGl3bHczTVBzcjAzNDREaUQwckVqMFV3dlVS?=
 =?utf-8?B?emJwVmJWUEYyWGxXMHpJRXhnS2ZHa3BpdUZPR2JoUVIwT0hIWktrVStMeVlu?=
 =?utf-8?B?amJLL29CYUZ1dnVYRnhBMFZZajUyUmhtd09XN3FjRXkrelEweFhwWUhacEd4?=
 =?utf-8?B?YkNLSjFwOERqTW52bFowL05FdUwzaTV0Ym11cUJrMVF5ZE5VdDFZVUU2VUY3?=
 =?utf-8?B?bStqaTk1aW9oUmNMYSt3TDhnK3pXTjY4NVloMUhVWGlrYiswUmdYYlc1K0tE?=
 =?utf-8?B?dXRpZ0pHZHdvMDc4ZmZONkxYVXJEcjFiM0d5V2JlK20xRVRwcEdORnZaNEdL?=
 =?utf-8?B?OGYzUnFkQnlVdksrT3FIN3RiODZqODdPRzlEZnMvamh3ZytOc29vTUF5RGdj?=
 =?utf-8?B?MTVqTlNuclovTk9DSkg5NWgvVVdSaHRJdm1xb0ZTMmN2RlVjMFNRbG9LSVFz?=
 =?utf-8?B?QjNtbFd0a0NpcjNOTzRpRVBCME9NNnVDNEIvQU8rS0VGMlp2U3FMaGd0T2dQ?=
 =?utf-8?B?Y1RIVkx5S2tJb1VCVjFyRXFNdHFKczhaOGovalI5RHlGS2JsYzZwNHgwaFBu?=
 =?utf-8?B?djBnT2hzSENNa21UNVdweG5tODlKZitBeGFDazRpeGgxb1cyNW5DaTNxMHpK?=
 =?utf-8?B?NkF5VGExeHpxRXJpRkFuTjBSS2I0OXpBbzZ0WjUrWVBzcUFabnhYM0picjZy?=
 =?utf-8?B?TXhJbDN3Z3FKZXRxak00QkJrUlVhQzQ2MHhNYWRqNTJXY0lyZkd4NDlIZ0Fr?=
 =?utf-8?B?bUFMdXZVRXpFNXpBWWxMaVVzV0lKTFV1ZHFBb0FZcmFjemczamRBeEJyQnlW?=
 =?utf-8?B?NjlOVjBKU2RhQkM3TGhtM3I2SktyelpUaUE2ejNWNEtKY2ZQSXVRZ2RKZzVG?=
 =?utf-8?Q?RmWDyVgDU5WxFA0sutoxS9Eot?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48038a86-0ca3-445c-ca69-08dbe5c1bdf9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 10:00:48.3085
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: HuhjVLbm1tI1X5tj2KUlXFDqnmZfhqC5ffH8/tOLv+eA049QZ1yizXVyfMSyNPpjfiYgUc6C15zy9JR8mO1HgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9047

On 10.11.2023 17:30, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/include/asm-generic/monitor.h
> @@ -0,0 +1,62 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * include/asm-GENERIC/monitor.h
> + *
> + * Arch-specific monitor_op domctl handler.
> + *
> + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> + * Copyright (c) 2016, Bitdefender S.R.L.
> + *
> + */
> +
> +#ifndef __ASM_GENERIC_MONITOR_H__
> +#define __ASM_GENERIC_MONITOR_H__
> +
> +#include <xen/sched.h>

What is this needed for? I expect ...

> +struct xen_domctl_monitor_op;
> +
> +static inline
> +void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)

... struct domain, but since you never de-reference any such pointer, forward-
declaring that (just like struct xen_domctl_monitor_op) would do here. Which
would leave you with needing at most xen/types.h, but maybe as little as
xen/stdbool.h and xen/stdint.h.

Jan

> +{
> +}
> +
> +static inline
> +int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
> +{
> +    /* No arch-specific monitor ops on GENERIC. */
> +    return -EOPNOTSUPP;
> +}
> +
> +int arch_monitor_domctl_event(struct domain *d,
> +                              struct xen_domctl_monitor_op *mop);
> +
> +static inline
> +int arch_monitor_init_domain(struct domain *d)
> +{
> +    /* No arch-specific domain initialization on GENERIC. */
> +    return 0;
> +}
> +
> +static inline
> +void arch_monitor_cleanup_domain(struct domain *d)
> +{
> +    /* No arch-specific domain cleanup on GENERIC. */
> +}
> +
> +static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
> +{
> +    return 0;
> +}
> +
> +#endif /* __ASM_GENERIC_MONITOR_H__ */
> +
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: BSD
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 10:08:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 10:08:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633543.988430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3CoP-0002as-Me; Wed, 15 Nov 2023 10:07:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633543.988430; Wed, 15 Nov 2023 10:07: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 1r3CoP-0002al-Ix; Wed, 15 Nov 2023 10:07:57 +0000
Received: by outflank-mailman (input) for mailman id 633543;
 Wed, 15 Nov 2023 10:07: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=dw2F=G4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3CoO-0002af-9P
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 10:07:56 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2051.outbound.protection.outlook.com [40.107.13.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7ad829f-839e-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 11:07:54 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GV1PR04MB9152.eurprd04.prod.outlook.com (2603:10a6:150:27::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Wed, 15 Nov
 2023 10:07:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Wed, 15 Nov 2023
 10:07: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: d7ad829f-839e-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MJK5LtppKf0JDQ0eTsBkSQjAXpczLZHYHcLhpBYAAb+2xrzSICrXMtymQQ4sF2x4Q63NASctSue9ApKW2/wGEpQwEr6G6v0gUIdG1gaiAtRZlhuPoYUyXB80WeFAnwsQ9KtHskaB5hYZI+Q9tC0MDcvlqx7fAz/2IWSkZkVZoCTE++BW+pAgotl09/jgSiJFnDsh8xZ0Ud5J3awXHALFbTSnTAkxswoNsjqTXbSt6MukkuF6ntBTUCAOzB2ytqL1wGgX/egKy+Nor+q8OKhpO7fZJj57/FcHPaFcG7Wxw31nW+m2weSrFr1L990vYyrNramB/KXzBZN/dPXHKWUkxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jepqKL0Rp7TtDJf/A2GiYq1pqvVyCl9ezQKa+oxCACc=;
 b=BOz8IvJsFq4SJHGRNg51Zcdo9Y62PcmP3xBQ8Yf4o3J6ebOjTMhXjRSObV+zT4xU4fO/+Cuq01UGyq1f0lwShzg9zuyZjoVSO3bq2Oj0jUVGbjYWQGXwKXfDUC26+bIICV0QSSXqbAT7Yb2u6wpn38YmMqcA341IAcVQtwaWrFnZW1Ib8A5lqhebeTKmvx6wc4BDiArNkEZjDEvyBuOP0ZN8FmsDAeCsraS38rq3ZWM3Drn+VDK0oRYP+xa5yGLAwtkdxU6aM+EAutZN3xgSHI3RiEu2tzzZfX+CVo4SkUkhmGagMgMHOlHyWNAoasNPSyGOzL/aDjOMqhEhIrmcMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=jepqKL0Rp7TtDJf/A2GiYq1pqvVyCl9ezQKa+oxCACc=;
 b=q6QZkPc8elf9qUD0rgNDDOdaF/3oqQOqExYgJghmzeahTseaAiWKIZPIVBpWUt4URvFExzYazrL7sSh45BXQR/wZDDVKB93UhTCwyMWqPEWskr269JAD4RtoEIXXkks2rENpIyJBgnaepGXdoWGmoGNF4do9kvdq2QdAgpSAa++w0BnDGf93WJcRfTXgbQy6fjMI4Qwvu/ET+t00ZII2iNs+AFJFyeVjNpnB7nCRp/IIzIKY2vqRZ1QSCz9VEa8LjWcxv1gBQgjlpFDlmaYtyLv63P82QrOqcHH1LOjG3yTK2tgZsHgQKGZRo8BZwJMGIQ6mbN212kXL3I/EeZ7MCg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <242781b1-9693-47b9-a3f4-bdf5700803db@suse.com>
Date: Wed, 15 Nov 2023 11:07:21 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/15] xen/asm-generic: introduce stub header numa.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <1b50e70d168a1b084ac40711096c38abe44a7b9d.1699633310.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1b50e70d168a1b084ac40711096c38abe44a7b9d.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0100.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9152:EE_
X-MS-Office365-Filtering-Correlation-Id: c3e7c8e5-413e-4ca5-ca99-08dbe5c2a9c8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	utrnlLGTYy3m0uHl+1HxEGqWpBn2vRHLaTaDUetm66sDFjJuXd4MBOfrOFvo6jssRRNYUThrpvZzj+PNMhO+ExCsB0vFutvJavNyxdsVJfnQK9U0c/tBm8yPZRCU5zp28IMYqZUKm1yzkYFkDNWsb7azcwTAAoda7NNDbxwdMsKQIA4s38H2MyzF6EWwA5eqcaHQcEvRxS8WkKZshWCvpzShjGZUbGVFNTZapH8cGvNuSLbtWmDNp1k3dOS1di70F/VHfelWQubblClmT/GIFbXRqFw+ErymF2l4p/6bwgHmD2eperKZMLlTR7idDbmnUBPC4sXcmG/zMV0W99pAehTe8rOiL1rJA6DFRU+rUcFQutBnAWHhwyq+163hnqnxg7eowDprWFfbHg0cc1uyxgyfg5af36V3gayjn0wUbr4U8YSV3cWOP9ADVwagWpaRl4X0Rlgqs44gF0KlQTgMjGhloZ9dSeqBQo6wKpIYLsQANhzsLNwhHUeETCSgbDxiKePQPeAZhs/9aiRseWFJhtHYNQFR07PS+YXiNPDBceU4b9hIUWpc48U4B4xCJOw4pMph7TnkHAmVajur0RVMeyOGC0mBnKBPxf3P2IO6sPbBnW9AQ3tf8DrteiAqBGYXO1pjMfE/S96ZUMxNtnyng7YpXulwlECSrp/0naspzrvHQ9ElLZOo8FO2St8ftcYlY5Avgwid5Vd3bxA6N8G/Gg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(346002)(39860400002)(376002)(366004)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(36756003)(2906002)(5660300002)(41300700001)(38100700002)(53546011)(6506007)(8676002)(31696002)(6666004)(86362001)(6916009)(316002)(4326008)(8936002)(83380400001)(6486002)(478600001)(2616005)(6512007)(66556008)(31686004)(26005)(66476007)(54906003)(66946007)(41533002)(21314003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WVNXaDF4V2QzWWRKREJsS1dPRnBxdUV4SE5KNy9QTlhMTjFRK3hRNEhYOE1F?=
 =?utf-8?B?TWNkSGdudEIxcm5YNHZ6N2JwRTgxM1dlRVlsRHZSS084ZktEUHBHZ0lIMWZM?=
 =?utf-8?B?L2xjbEpnc2hwNkdxTXF0Z1lMd2llMzN6ZHVwZUV0NnZ1bXJWNkIxUHZ0b1VY?=
 =?utf-8?B?RGVVdEQzNnFuTU5HNTlEbmduTHVqUm5NWFRHWWVGVkZmQmdKWU1USTljOUpv?=
 =?utf-8?B?cHJlakxuQkJMdHc3bGd6YWNDdkhwcVlaMlJ5NzFsaklxaHJ1QTVyVVZrVHJB?=
 =?utf-8?B?MndyQlhwQ2lXSGROeExMVjJTSUpzeVkwQXhZb2xuM0J2WE9QSEMxQVhXYnRT?=
 =?utf-8?B?TVVrTHhYcXlvT3BwSGp2ekJSU042bTllK3gvSm1aL1kwRElBWU5WZ1BLUk9i?=
 =?utf-8?B?bXNLVThXaFQ3am14UEp2QS8yc1ZNNnVndjU4elJjaGFDWnNnb1p5eUxnWjRU?=
 =?utf-8?B?cVNpMmN1T2xOa0VwS09NYXVSbmVYeU9iWThneUJGSEljTWh4aWp3SHRIenJO?=
 =?utf-8?B?RWFTNGhkTHE3N3htMGlIbHZjamFNYWpxRnIwdkduVDNKRnlqYlFvM3NxVW4r?=
 =?utf-8?B?VlhqWmNqa3Q3c1FvUWtmdE5IWlc5VmllWmFPUFgreU5CcVNhL3Z6MWgzR0xj?=
 =?utf-8?B?QXV4TjFlNW41NmVmQTJoTFlhREtEQjRONzd0RXZSVVozRmxkdWFVN0k0SGcz?=
 =?utf-8?B?SUd0UndHU3ROYlRQL2xkam5GWjJrYkZkTk5aYThiUHcvVnltZ29pSEZsNHY1?=
 =?utf-8?B?cXNjWXdPTkJsY0FpcTZDUURJWWtiTXp5MmRGWDdrZHlmLzBZc0w5bWg5N3pW?=
 =?utf-8?B?K1Z4cDhxcHdBS1JoRnlEZ3dmVzJLY2MzOHo1MGFkeTNEc2VKelZHTnExdFBB?=
 =?utf-8?B?ZlNPYnd6OU9UdTE3c0hhZVJjU0pIUkdwU3Q1a1NCbXRwQ2hKclBGZ3Qzc2Fp?=
 =?utf-8?B?NUx5SytyMUtkWXVzcFJhZHd5ZlFHMzMrOWxXSk5kb0xlY1VRZGpWaW8veS9W?=
 =?utf-8?B?SXExWXRLYWIzZ1BWck5xTnpoRkwzMTR3R3pJTDZDTlJtSEQ5V1M1ZEhFejlV?=
 =?utf-8?B?TmVWSGkwazFia0Z2Um5lalRKME1MQ3UxTWpod2NCc0luVUx1QnBvTWxodW92?=
 =?utf-8?B?THl2TDlOcW12ZURDbG9KRUtROWN0VlVlWENKZG9TNjBrNkRSYzFxN21NSkFs?=
 =?utf-8?B?TzdKSzEwYmRRWmcyNWowRWVlcWx0K2ZvQUJZdkVQTUJEQTd2U3IvRW9KZms5?=
 =?utf-8?B?WkpsUmdQV001RUJ2Q0JHVU9YVFRjbERKY25OcE1zWWhFdGZtWVZSN21TSUZR?=
 =?utf-8?B?NHF3U0RRdzB2aktvRURNSmpzOExKTldOK0lMbVQ2YktDS3RnZ2NibHVrRk9N?=
 =?utf-8?B?MGswK2ppdWFxTVhMcUxsNnRaSVJqYWtvZFpiOVZ6MW91WXJXOEZRT0krU0Mr?=
 =?utf-8?B?Wk1EaGVlWDlNb0dPaUp3V0dBZDZhSTBVa21scUUxc2pudGdtYThXclNhMGJ6?=
 =?utf-8?B?bVZrSHRiSWdJSklXdE1QcEVUZXd6NWpvcWR4aG93MWxlbWZaQnFoNzZKcFU3?=
 =?utf-8?B?L2NETDh3TEF3S05tY0Z2SGZJbk9mdVdqK3VIZ0VaME8xZHd0WWJEK0h1MXM4?=
 =?utf-8?B?OGcydk5sVUd3RHNKVjAyL0FSdHdSNHRDR2d3bkMwNjFEYTRVOVNtR0hyMHV5?=
 =?utf-8?B?L1Bmcm5pMHA3MWJmdlZTUkExQ0JKb0RLeEpXUHhUenpsUGtWQW8yR1VlaDEr?=
 =?utf-8?B?dFYrbnprRS90WlNicjhRcUpFVU9kekI4YXJ6aFkva3laYkJwL0VWd0pjSFdT?=
 =?utf-8?B?TDdZOHZqNUJiYjUxdlIzZGkwbmZJOS92b25tSVlNWFRKSXZVZEg4YzhzTFlB?=
 =?utf-8?B?WlJXTFFuR1RRU1I2QVZFbDNtOTVQdXoxL0tsZEdJZlZzY0lETy9iOFl2VVEx?=
 =?utf-8?B?VFVvL1FXUDZwWC9yNE9URFpBNXFoaVJnOER6d0pGQXVJRUVMRUhqN1pEWGYv?=
 =?utf-8?B?dnljYURFZDZYSmFkZlk5V1FHS2ltbFBRSzdHdEtKQlh6OVdHMGUwS096aksz?=
 =?utf-8?B?NVNUdkFuQUZ2SkJZbXFaTy9Wd3NodjJyTjhaeks5aWgwNGRQSDhQeUhDYzFN?=
 =?utf-8?Q?F3c6X7WyTYhj571oXIqeLkTnb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c3e7c8e5-413e-4ca5-ca99-08dbe5c2a9c8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 10:07:23.9274
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VomVrQBaBjQSMHztwOxb1FGPyGuMlnqhdHHELIaVTmhaFYKle8joak6Ns740YKPdoUoDVc7xa13EkBy4oQiObg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9152

On 10.11.2023 17:30, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/include/asm-generic/numa.h
> @@ -0,0 +1,40 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ARCH_GENERIC_NUMA_H
> +#define __ARCH_GENERIC_NUMA_H
> +
> +#include <xen/types.h>
> +#include <xen/mm.h>

I'm afraid I can't spot what you need these for here. You clearly need
xen/stdint.h, and you need xen/mm-frame.h for mfn_t. Yes, max_page is
declared in xen/mm.h, but its questionable whether the header needs
including here for that reason, as all uses are in macros. (We aren't
anywhere near consistent in this regard). Plus you don't also include
xen/cpumask.h to pull in cpu_online_map (which another macro
references).

> +typedef uint8_t nodeid_t;
> +
> +#ifndef CONFIG_NUMA

Isn't it an error to include this header when NUMA=y?

> +/* Fake one node for now. See also node_online_map. */
> +#define cpu_to_node(cpu) 0
> +#define node_to_cpumask(node)   (cpu_online_map)
> +
> +/*
> + * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
> + * is required because the dummy helpers are using it.
> + */
> +extern mfn_t first_valid_mfn;
> +
> +/* XXX: implement NUMA support */
> +#define node_spanned_pages(nid) (max_page - mfn_x(first_valid_mfn))
> +#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
> +#define __node_distance(a, b) (20)
> +
> +#endif
> +
> +#define arch_want_default_dmazone() (false)
> +
> +#endif /* __ARCH_GENERIC_NUMA_H */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 10:11:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 10:11:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633547.988441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Cry-00045U-Aa; Wed, 15 Nov 2023 10:11:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633547.988441; Wed, 15 Nov 2023 10:11: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 1r3Cry-00045N-6P; Wed, 15 Nov 2023 10:11:38 +0000
Received: by outflank-mailman (input) for mailman id 633547;
 Wed, 15 Nov 2023 10:11: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=dw2F=G4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3Crx-00043y-5W
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 10:11:37 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060c.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5a97d26e-839f-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 11:11:34 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7502.eurprd04.prod.outlook.com (2603:10a6:102:ef::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Wed, 15 Nov
 2023 10:11:32 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Wed, 15 Nov 2023
 10:11: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: 5a97d26e-839f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C7VP8QzbSSbK4W643z7vApokMWUql7C/vxF32KzfBWBNUZa19wfNSTn3ZK0cK67w4aom2PcoDgP91LchhNPRMTaTwGcHjPkHhYwv2bD99wfQt0AFVHsP4c6At8CY/OtR7vxkjJWvnsLC3pYMQecilfpiDdwlUFvFxrbM3Q9erCmHVpKX1k7WhtVauJDC9uRE2WZth1tucoFVLMO9vx0JozhnCaIs3HaTnWp1UjvsXdFkKOJiTMLaIpZyB/Cbp1XfS79TbH3t7Lrhshc6ayRIHc6yVAbaNe1bpEBUz8tP64ev6Ap6NtUwA8xzpae5ikE9ZoCyRILq+g+ZvK+OXLh55w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BYJXFBKaYOgpxgC5MMaqcL1wX5blawR3Pif0Xyte27M=;
 b=E0H53D24/WANQrpm+XdeKMdQDY2Q3aoq55LIaABb1LaMuQI/aVfda2SQ5n7Q1o6CE1ciHJS5qp7kOyaMjKy9Yj4iEpC0+cRtWsUvA0bpa54s4gEC/THNRtK8UigKBo9/eC3vP6FY0/ZRj0cY5F4RTXBFYQyaTTEeEWoB70d3F0QUEA2ShqPhh3gH4OaPIlZMwzOiUG1SRGy3P/NyoOyrY+Cm2lgi9ks2eyQ3+g9uBso3qx1U5ueepnCsanex9Js1wVJvGD7n4os4A9D+EARi/LqwPb3k5Sba3sfKL3b5Tmrbd3LMEWAIGolpY/IP2N3ILm8XlH7+TSrGi/NEyGKoEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BYJXFBKaYOgpxgC5MMaqcL1wX5blawR3Pif0Xyte27M=;
 b=wR95hstM7u7BvQJ2PoG0l5fSZmMei3+EsT3RZf4EDcML+UCk9/kUJT81G91FQ0jndH9sj6N9dljztCCW7ZdoWRzkaxkdXBw94OE1TVYgmlbLF1H4DKXLsGL7cv8O+sRxZUFUMRK1MZBvTdL1s3mhUP3k5iws9sHSR+iy+DB7I6pJaxtWftakSmqrARwGE6tamGryp8l8NBX3j7jegfnL2pCiAFAG2sUISBkUILAXOmgdC06lWVhIdT6kP3b0x+B7t8kbuS4uBwaw38UqoUZqbx+5sbJwR34F0zAOYG2A6OEy239LZ5oEN+erxKEjwVUuB+hzanydwVskl+qjmueuTQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6efe7a0d-eb87-42e8-aeec-1276e40574ed@suse.com>
Date: Wed, 15 Nov 2023 11:11:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging-4.17 | 28f44b60
Content-Language: en-US
To: xen-devel@lists.xenproject.org
References: <6553d80525384_2ca04b0436ee@gitlab-sidekiq-catchall-v2-548c659f69-wtllv.mail>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6553d80525384_2ca04b0436ee@gitlab-sidekiq-catchall-v2-548c659f69-wtllv.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0311.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f6::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7502:EE_
X-MS-Office365-Filtering-Correlation-Id: 5209b809-9c80-4b82-149f-08dbe5c33dc8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zuZonmBCGhq8Z6iWwo8lfQAcXHZmW2hRRIVNH6Z3jFcQC267LseNstz5kX0qe7Ey4ML8nnsse+Fwv5JWAngPY4rXIYwPaVyS4xTUA/dx7FblEPIUYYC41xd6icotkxNf+vrNWgptwmje6NXhBOs5W1GjV6JPoaidUcrsV8YEIdJwMDKMDMzCtEm0hWdnok1Ia5t2/I3Zs1MEU42w8027LQCoGfG34cFukoz64rcVEVYYCdMlcRr1KrGZ3K/J0gN6008F1m/hj0r6Cf4eJQ9mvfQg3Dl8+Sx9I3rE78VOYVlchZM6bHtVmri+CEe0SWoEklWpWRy/g2kB03A95IFVEnvaqh0XTr9pRAEj0vHkcaVPLuJsYKDrefTzXhlCVCtj3uS4BpVeNKXqz84MMtf3PSFV7E3mXo37Py1Or4xxGGed+hK3rYANDofg79xPstZEHdWILNVLIkSbfxwstIJIyqTSA618JAr5ibwNi18gDhleNCwgX/VMzGN35JMz2elbNOd6BuHoiz+cfkEgmZsUSotOhvnas37D3r9cELYBW57Z4qLA6z/vygSjCHT2UgbBeNiK4zTxdAcxI5a7QeWqwCRvnkxe9rfM+lfBXbd9cn2CSD4Xb2AsUQmdSGn50R117tE1udCG8R2AXIcG3bNAMA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(366004)(346002)(136003)(39860400002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(6506007)(53546011)(26005)(2616005)(6512007)(83380400001)(8936002)(5660300002)(8676002)(2906002)(41300700001)(966005)(6486002)(478600001)(316002)(6916009)(66476007)(66556008)(66946007)(31696002)(86362001)(36756003)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WkpnTUxmanovOUd3NXlGYXlzNHMyQ2dMbXk3dEFDMkJLMlhWVGdmZmUwRi82?=
 =?utf-8?B?ODBxeld2K0VUM2JVV0lDZ3NDaXpYN3VjZ01TOGVhWXFMYm4yeTM3Vk5jbkcv?=
 =?utf-8?B?MXlaTm1uMHpKREJPSEZWTlljNXJpcmQ4V1AzcllrZ3JIQ2NzMWtLTnMwSUN1?=
 =?utf-8?B?MldiLzdXMTZ2TXZvUkZmVWRpQzI5SmcrR2lhbWJOMWZmTnpxcGxwTW15bVdM?=
 =?utf-8?B?MEZZNGtvOStpSUtXVVkzbFFwem5nbHRtcEp0Tmx3MER3cXhEdzFmbzU1L2w4?=
 =?utf-8?B?NUxHOTRKNVJxbFFGR0xKa3BVbUlHbEJ4STcwZ2lzWEVoUkk1RW5wWTlZTlhu?=
 =?utf-8?B?Q0ZFdGxFZEp3QnQvZ0VtL01CWm8zNUdQV2NENlNEdDNwd1NhUk5NQW9hTWcw?=
 =?utf-8?B?NlJLdWNLd2hkRWJZN3o3MWd1TFlvaGNZb0VwZ1pxbURYMHppVE11c2EwaDg3?=
 =?utf-8?B?cTJucU9YRUlTR25LVzc3VkVZbHNRQWJUaXFaK0tEdlEwZ2REOGdYWTNjS3Nr?=
 =?utf-8?B?dlJOUFNGa1hEZHlnblV6NjZOZ0EzazQyNmlxZ3IvWFVXU1ZacDh1UjU2K0Ur?=
 =?utf-8?B?Qlp5MEdSTEFNcENUOFk1a2hQUG9wbUppWVpKd1hZdWpQdkVBRTBkR2kzWTN0?=
 =?utf-8?B?RisvdTRoUkZIMGl0d283VFRKSGRTMlYreVErNjlWM3laM29LUzNNNVFVUVkz?=
 =?utf-8?B?YXdVN01lTXozK0paL3RtSXpPd2tkMDRoSm0rQ0E1dTY5L2E1RXpwUFlnNS9F?=
 =?utf-8?B?dm5ZbllpdjdTYlVzNWFkUmEzZE1Jby9rZjB0U2JuNjhqeVZEM000bXhlSlI1?=
 =?utf-8?B?amVHQkl4Y3F5SytRMlFJcWFGNUhLNU9YSExsajhXK1RhQzlHYzc5cjk1bHBl?=
 =?utf-8?B?dWNKNlBQU0VZNVRXTGI0a2pPc3pPaTJjWWNGdDg3WHVxMkduTTk4Vnpmc2J0?=
 =?utf-8?B?c0plTVMxR3FERlEzOERESkFia2NUMTZkaGtzQTlxdmVyR2Z2YUdmQThYbkRp?=
 =?utf-8?B?VndiVTU3MFZOVUxRV2NIRm9aaC9uUzBYclk2dlJwU0ZtRXNtTFY4YWRoNWVw?=
 =?utf-8?B?V3NRODcyVjFQMXI5TzQrTkVUbUw0NkkzeDBGVzJ5WTRwQlptNVFFTmN1L0hv?=
 =?utf-8?B?STJHWVRNSkVRZkNGaER0Q2ZHVCtHdWJsU2dnSUZVZVJEM21WRUdySjZCRi9R?=
 =?utf-8?B?RC9aMEd2NVFDRFBDWlhRTU8wNG1UbmlaT1Q4QnBweFZnTzN1K2pBZFlwZUkz?=
 =?utf-8?B?akVONm00QVJORkdPYS9mb3JmT3hTQ3grZTNOZzJrMEhvOHcvekcvdWtkdUlL?=
 =?utf-8?B?elJwUkh0eTRPL3pNWEluQUl1S3RzNmUweGhnaGorMFNWL3RXbnVHemxmcEZQ?=
 =?utf-8?B?dVVxK1k5bVJmOEFKdzhIYy9vZTNhVjZmcGQ0L0VJckErR3pKdm04Z29DNi9L?=
 =?utf-8?B?Y25VOXVuUy9RT2VFWXB3YU92alNuV1Bld2YwMm4rdUM4U2tQMUZoS2hQWFFz?=
 =?utf-8?B?eDUraCtCeUtiend6T0wrQUJxSEp1ZklqYjlNZ0dmRllGSVJ5eDdBT0xsL0w2?=
 =?utf-8?B?ZThHK3VzZ01TZHBMZTNmZlpGWDZQOHFqOVU0N2QwZ3cvaWJTS2JZNTRlWmJx?=
 =?utf-8?B?eERWSFA2aUlQZy8vRmJiVDg4bmJBelo1eUV1WVJaZ1QyWlg1ZjZFYytSemln?=
 =?utf-8?B?TU44QWhmakVEeG9PaG85cjZndlpZUlU5c0lneTM2Y0xRdXcwWm05R0c4dHJp?=
 =?utf-8?B?NTNvblNrNWNUSWxyWmFaUGNmeXo3YTJJTmpaaWhEUlROV1RwTWlKeW4vbUdl?=
 =?utf-8?B?cEJ5Q0hOdm95M0MzREpnL3EraU9jM2l4TXpHaTJWdVJ6SFhBQnh0NkVCTkVC?=
 =?utf-8?B?ZlVzb0NnV1h2bzVuTWVGWkZVbE9kRjBlZEZPWEI2SGNFRmxoTmFvRG1OeW9R?=
 =?utf-8?B?THdXWHlMYitKWnhCbFErdW1hUUNhTUU2aENIbERIQXYzM0xVU3pxa2RnUHdV?=
 =?utf-8?B?RTQ0NmVsai9sZ2IxdnNJcGtoSlFldlBOalQ5RlpBNVlkNEM2QTJKZy9QRHVW?=
 =?utf-8?B?VUYwQ1NZT09UMEZYbTR2aWJDRGNhaUZKeERjdDlnTzQyN3hPaVJlVEovZW83?=
 =?utf-8?Q?wNsVtONVwKue1RHYW0DILqgpo?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5209b809-9c80-4b82-149f-08dbe5c33dc8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 10:11:32.2112
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mCLqgbDlK6EHQO+aE5MI97fHnNPK4Z1I8dgGNL/Stb/YhtCJQPf/y4UjkMQW3hHX34FSQewavUySCPkLJVCgiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7502

On 14.11.2023 21:26, GitLab wrote:
> 
> 
> Pipeline #1072370735 has failed!
> 
> Project: xen ( https://gitlab.com/xen-project/xen )
> Branch: staging-4.17 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.17 )
> 
> Commit: 28f44b60 ( https://gitlab.com/xen-project/xen/-/commit/28f44b603fd86c233726bdc2a11b6325f102471a )
> Commit Message: xen/grant: Fix build in PV_SHIM
> 
> There was a va...
> Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )
> 
> 
> Pipeline #1072370735 ( https://gitlab.com/xen-project/xen/-/pipelines/1072370735 ) triggered by Ganis ( https://gitlab.com/ganis )
> had 4 failed jobs.
> 
> Job #5534997591 ( https://gitlab.com/xen-project/xen/-/jobs/5534997591/raw )
> 
> Stage: build
> Name: ubuntu-focal-gcc-debug
> Job #5534997608 ( https://gitlab.com/xen-project/xen/-/jobs/5534997608/raw )
> 
> Stage: build
> Name: alpine-3.12-gcc-debug
> Job #5534997597 ( https://gitlab.com/xen-project/xen/-/jobs/5534997597/raw )
> 
> Stage: build

These three failed due to (once again) too little disk space.

> Name: opensuse-leap-clang-debug
> Job #5534997599 ( https://gitlab.com/xen-project/xen/-/jobs/5534997599/raw )
> 
> Stage: build
> Name: opensuse-leap-gcc-debug

Here it's unclear, as the log referenced ends too early.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 10:24:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 10:24:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633550.988451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3D4T-0006gL-C7; Wed, 15 Nov 2023 10:24:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633550.988451; Wed, 15 Nov 2023 10:24: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 1r3D4T-0006gE-9Q; Wed, 15 Nov 2023 10:24:33 +0000
Received: by outflank-mailman (input) for mailman id 633550;
 Wed, 15 Nov 2023 10:24: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=dw2F=G4=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3D4R-0006g8-KF
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 10:24:31 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29219bdf-83a1-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 11:24:30 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9468.eurprd04.prod.outlook.com (2603:10a6:10:35c::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.13; Wed, 15 Nov
 2023 10:24:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Wed, 15 Nov 2023
 10:24: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: 29219bdf-83a1-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ib1sxWhHu7sjO4NnycM631GH/lDQREK2t5qcQGpWUQvokzK2nSlPrTBoNGv0R0xbGR9Y8WF945lsOzr4MPpXYuAVY7xB9aH79EnBJ/TXuDcnF64xWM7ZFh7/4Ly80z7oqIPT9JaSK0bmRvtS+71pmm57SdCLsk3HwqRPaIhPY65VXRJWPO47YnJcni3AVemUgM61ZbZMEcnmNMZU3RnBY1Wdo5Hdak83QKcVBqzQMEJfKIgYfCYdipzjVwKNAJpftTbbrNPJ3jIJAjvTg2aHx44h/tmlg365NkcJwOoor8s1xe+55UlCgom560Ogach63RAJpBrzQE3HncPI2Uu6qw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c2FVv9fr9XR75GmCVpbnT3Pr0kF7q9c4qjPidqUYGyU=;
 b=JEmnCVqblgjgCCx5ipr216vakPqYwaCt7iN5hGyL09RSdjTXsGP9SIZH0FEU3d1xQydW71KM5uCHAo/lJ+24SJKq9FOZWSl6JGcE8c1WuP4PFPjINJSKZ74ESHYdTa20WRGMSTcujZhsDs+jGeYjyOxBe1+/MXiKPffMcoM2HHKAu+Pu6abAa5gfUwnzKu8IVqms3ER7qkzSmDuPXBEvy/3C5NeFycHpLfN5viXucLLcF2/vob6RSxdGZELWPZZJV/qvUp/Eqpf0Ow8atYM2DwpclPOnDgf9k/DRcquulMPslgE45eiiWAdgOhMXViCz0UnEhOpRgNmmlF6L12BzyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c2FVv9fr9XR75GmCVpbnT3Pr0kF7q9c4qjPidqUYGyU=;
 b=QR8aWk3UoXa5gQzwURDlf779btRLnWqt644ED7M/yhVg+65Wmmvpz5F9pVuMGOvPVaruYoqS0Uyc52Wg3J48RLjtmNREVhW7xnOqCDZWnyhn3Qvdfx3DSqt59Kd3ppguY01ChXObiDyUZ9vAWamtxduHW7TNBD2gLPzYz1sYlwOtaLh6XsL0s6qapNAVaqYAkwHUt2znCVRFsSiwSaMcu2H3O+OoWWdI7l24rqKEU1944A33oWvkonq3r5BuaGlK8bJA5iAGmeivtQbK7kKLR7B1wtrd6UNNK/26RVmMWLCwAO4Pat02wIilWvvCzB0Z7LxlUr93aec0/A561n9ndQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <709c18fe-dd04-4501-bb81-09b48f9aa331@suse.com>
Date: Wed, 15 Nov 2023 11:24:25 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen: remove <asm/delay.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 Shawn Anastasio <sanastasio@raptorengineering.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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0146.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9468:EE_
X-MS-Office365-Filtering-Correlation-Id: 44c88a8e-06ef-4d08-9d00-08dbe5c50bb8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nbTV+ANdhNYbLAk5bmi1d5LFFSTmwEE0K2z9t5eB3/COE4391DNNCDNeFWvw36YMvBTYS95UNudrsuxgmRa9cxB4gHZyDk9iQdrldfD6g3IRHROhLLz9Gko3pJ3Dch34pkzyc7ge3qEw7u9QLXnLuxlOaQ41Wzvnr2eW8Dr9Cr2MCCcaUO8wOoEDqGfX1KFcmRVo2Pc+k3fbkc4l4qy38Ux7g7LFtULqzuZhiCCmXLlM+aHE7nB6EcgaJa4lMpsbruwdAUo6+OGv/FzpdC310/w+qkN6DFR30rRW4cf9+QHmtNmhHBhU+kHYsVfSQe1STz0VkrLICTGuHAnfMQCK+p0ykgAuE3oHUhOUASBL/ctAyI1CyhxW7cUdXL495sm8QZGdZegAWf+eOcf91U644nAqEjpsOMIKf+GcGat7ZE3EWwPmX3gU94YHxQbApaTzjeknnNX2obm16C/rwla3GX3Tr6G2NKMujyfRR6eQNKJriN+tAGKi2/AkZ736CNHPdykGdwEQORSHjNJhzlzX2XG9zVG0zBJp1iRVTzj8eupKzrch6uo6Yz0PHY0oR5nrXXJD9ZpqmS8Mi0esTdBOP/ctjWL1Cc/GmBvRmwkf7XUrKUQYxNPMLjFBoFnKBvcOV1D9FeUyihnNwDGy1XG8Rg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(346002)(136003)(396003)(376002)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(6486002)(478600001)(36756003)(6506007)(53546011)(316002)(54906003)(6512007)(66476007)(66946007)(66556008)(110136005)(31686004)(38100700002)(41300700001)(83380400001)(8676002)(31696002)(4326008)(8936002)(5660300002)(2616005)(86362001)(2906002)(26005)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dUlEVk9ZU1lDYXhHRlBNb3R5OEdyVmloanhvbnE3TmRUdVhvRmc0NEtERmpD?=
 =?utf-8?B?aXhaeG1zMUl2Z2xqQURKd2ZpaVJzOEE4SlhVY2pVYjhYdFRveXkvWXRRU3Ux?=
 =?utf-8?B?c0lHZFZpS1lzajJCNHBKeS83MW1xRkJIdFpPZTlxMks0bXkzbGVmbkNMQ2FL?=
 =?utf-8?B?V2hYdVpYazFpekdwVG9IMU13VnhLajNwVGxUaFkvc3hMQnFKc3dXUHVUNHZu?=
 =?utf-8?B?WDRyeHpxOVJWa2M3OXlwbTlBSCtsZDJ4QXZhYTM5MWwwRFNvWTgrendEeGg1?=
 =?utf-8?B?Z2tFYkRtRHJ0blVybVRBRlhJU09aeEVhZzJRMzFIck11YXNyaEkvbnRvdk5M?=
 =?utf-8?B?b0NocmpLaUtIU1N2SWFKOS9FeUwyUW1JUUo1eENCOVhxYTVId1kzcjc4V20w?=
 =?utf-8?B?TGZrRVV3REdYTHkwaUNidVRiL0RjelQzUGw3L1F3cmxZMjhWYUdyb1ZhQWF4?=
 =?utf-8?B?M0NVZUhOSzFQZTZ2aDY5eEJPOWdvdFlvYmFYSUZtN0JTcVRIQzEvekEwUjE3?=
 =?utf-8?B?RWE1SnR1Tk9JTnlGTE9MUWQwOTBFcG5HbzBGUWNzcyt6VjJMWGJ2clNKSXd2?=
 =?utf-8?B?dGNUa1ptMDlWNUgxb01jS0JMQXhlK2U5NElLV2lZMnJnc1FSVExSSEF0UzJ3?=
 =?utf-8?B?YWg2ajB3RDFXUG5uREN4VStrSGMyOGVQMHdHMW5sdUYzREZqaXdKVC95dDlG?=
 =?utf-8?B?NVo5clFIOUNDNUNiaUhYcTVaY3RNUWM4b1dFVkVHL0M1eUcveXljODU5bjhB?=
 =?utf-8?B?ZkZrN2dVOHdvdEp1dWdVcEE2bzJPMHhIRnRDSDE4eVl0YVo5UGd5WWFyMGpV?=
 =?utf-8?B?cnM2QXNKY1c0ME83TkYxcjQrSDlZeDRxeUtDSVVzdS9EbGduVjJyNlVaSzVp?=
 =?utf-8?B?M251L0RXQzE4STZhQ2o4MXdiYUsxUzdOQzB4TjlGSWlFUE5iZUJJcTVaYytF?=
 =?utf-8?B?anB2Mjd0UXV3MWVobXdRQjdCWFZjanpjWGw3YkUranJuNHhiU2xHOElxSVUv?=
 =?utf-8?B?VDZ1dnkvMCs2S2tnWmIrbCtCK1hvU1RKL1cwNWNzVTNJR0JuSkN0Ri9ER1h4?=
 =?utf-8?B?UXhkRyt2V0d1bU5BWHZ2Vkw4cWdKQ2ZzTWwwUlJiUU43dEdjblVPUjk3OHJk?=
 =?utf-8?B?cWZrMzlZakNUZ1ZKNTZicWlGaG5jUDBWL2JpV203OUprU3NLbjRLMU5nTmFz?=
 =?utf-8?B?YXZPUWp4U3lNaEl1NGhKSGtHZTFLa1VZZEpMcGRVcWEyVGEwcktjeUs1dG84?=
 =?utf-8?B?TGRQdWpkajdsazBZVVdFRGJ2TjJtWUE0dEtJMnE0SjRPc1dpVzFSbzJpbk4z?=
 =?utf-8?B?a1VtRHF2TmpFQWswN1BsUnE1aHVza0RxeXlCZHlJNjJrbVp4dnU5cXprQTVE?=
 =?utf-8?B?dUFHUGpEa2pyK3RVSXV4c2MrbXcrOWNRb2dXd0c0VXcyWEVtVEJxWThkR2hI?=
 =?utf-8?B?WkVJVGdFYk56YmZsUU9NUGIrTVpZQWhtQVFrZU5lTWNhT2pxcHcxTzJQdHBL?=
 =?utf-8?B?V1BHUHpnd3Z4aHZZclBaT3E3T2h4MmxKcmtta3VvVTZ5RVRQeGxFTlRsS1dR?=
 =?utf-8?B?ajI4RUlwVHlpZjhWdUdPbXo2dFhLc0xpaWtsUE93RVVOa0VKSmdWZkwraWZk?=
 =?utf-8?B?QzFWUHVTNFV6b1lWWmpFZnc1WWFIY0ZVcDIraUNjRm1IN3dEaURjQXpnQWJa?=
 =?utf-8?B?bU9uZVJPS1FNNndkQyt2QTlUc2VtYjdNQnZkSXpvVU11MXNHN25tZ2N0VVJO?=
 =?utf-8?B?V01YUjA0L01JQU5DbGNwMlhac1JEVUVqZVpUVnNQTGZrREk3VVBmc09KdTd6?=
 =?utf-8?B?azZkQkxiUnBZWkRrcVlMbVljYXB2WFdrcXZwVGlPdmNyenRNY042Yms0R3hy?=
 =?utf-8?B?L2ptcmovcFNwNFdJak4xQldLbzlObC9RZklmS25lcWFyTkR0WW5tN1BBVVlR?=
 =?utf-8?B?ZmhTV0ZYL2pvaHlkblFTcklySDBhdDR0ZTczbXZrcE0rWG82OGhEVTBoS1Bv?=
 =?utf-8?B?Vi9FTldaM3loQUViRFhVKzNWUUJlTnUrTWs2QUZHQnRUNEFZKzdsMVArd29j?=
 =?utf-8?B?SWh0NG1pb0JEY3FFS1ZoM1NuMk51Yi83NHRMbVZCZU9KeEVlMGxtTWcyTnpn?=
 =?utf-8?Q?nayEffykTxIo3uTl2SIHxNL6t?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 44c88a8e-06ef-4d08-9d00-08dbe5c50bb8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 10:24:27.3139
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YUx6+ABB04yxH++A+gwoZAIj+/v8xZB+2w337FJs17k9S7pzGyp7+a3uui40jgy/bCXetYSx+kbMX60D6rn+Gw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9468

On 31.10.2023 15:28, Oleksii Kurochko wrote:
> <asm/delay.h> only declares udelay() function so udelay()
> declaration was moved to xen/delay.h.
> 
> For x86, __udelay() was renamed to udelay() and removed
> inclusion of <asm/delay.h> in x86 code.
> 
> For ppc, udelay() stub definition was moved to ppc/stubs.c.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> Changes in v2:
>  - rebase on top of the latest staging.
>  - add Suggested-by:/Reviewed-by: Jan Beulich <jbeulich@suse.com>.
>  - remove <asm/delay.h> for PPC.
>  - remove changes related to RISC-V's <asm/delay.h> as they've not
>    introduced in staging branch yet.
> ---
>  xen/arch/arm/include/asm/delay.h  | 14 --------------
>  xen/arch/ppc/include/asm/delay.h  | 12 ------------
>  xen/arch/ppc/stubs.c              |  7 +++++++
>  xen/arch/x86/cpu/microcode/core.c |  2 +-
>  xen/arch/x86/delay.c              |  2 +-
>  xen/arch/x86/include/asm/delay.h  | 13 -------------
>  xen/include/xen/delay.h           |  2 +-
>  7 files changed, 10 insertions(+), 42 deletions(-)
>  delete mode 100644 xen/arch/arm/include/asm/delay.h
>  delete mode 100644 xen/arch/ppc/include/asm/delay.h
>  delete mode 100644 xen/arch/x86/include/asm/delay.h

Shawn: As per the diffstat below your ack is needed here. Recently I did
(silently) time out on two sufficiently trivial (PPC-wise) patches, but
this shouldn't become a common pattern.

Oleksii: It is normally on the submitter to chase missing acks.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:03:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:03:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633559.988469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3DfZ-00078g-9d; Wed, 15 Nov 2023 11:02:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633559.988469; Wed, 15 Nov 2023 11:02: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 1r3DfZ-00078Z-6r; Wed, 15 Nov 2023 11:02:53 +0000
Received: by outflank-mailman (input) for mailman id 633559;
 Wed, 15 Nov 2023 11:02: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=SWFF=G4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3DfY-00078T-Ta
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:02:52 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8433555d-83a6-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 12:02:50 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 9CF2D4EE073D;
 Wed, 15 Nov 2023 12:02:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8433555d-83a6-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Wed, 15 Nov 2023 12:02:49 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, bertrand.marquis@arm.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
In-Reply-To: <f63fa9b5-a821-49d4-88f6-7d991ab6c644@xen.org>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com>
 <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
 <f63fa9b5-a821-49d4-88f6-7d991ab6c644@xen.org>
Message-ID: <1689d4b47d708098c43601a58e867f1c@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-14 23:12, Julien Grall wrote:
> Hi,
> 
> On 14/11/2023 15:36, Nicola Vetrini wrote:
>> To be able to check for the existence of the necessary subsections in
>> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a 
>> source
>> file that is built.
>> 
>> This file is generated from 'C-runtime-failures.rst' in docs/misra
>> and the configuration is updated accordingly.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> Changes from RFC:
>> - Dropped unused/useless code
>> - Revised the sed command
>> - Revised the clean target
>> 
>> Changes in v2:
>> - Added explanative comment to the makefile
>> - printf instead of echo
>> 
>> Changes in v3:
>> - Terminate the generated file with a newline
>> - Build it with -std=c99, so that the documentation
>>    for D1.1 applies.
>> Changes in v5:
>> - Transform and build the file directly in the eclair-specific 
>> directory
>> ---
>>   automation/eclair_analysis/build.sh   | 21 +++++++++++++++++++--
>>   automation/eclair_analysis/prepare.sh |  7 ++++---
>>   2 files changed, 23 insertions(+), 5 deletions(-)
>> 
>> diff --git a/automation/eclair_analysis/build.sh 
>> b/automation/eclair_analysis/build.sh
>> index ec087dd822fa..f24292ed0643 100755
>> --- a/automation/eclair_analysis/build.sh
>> +++ b/automation/eclair_analysis/build.sh
>> @@ -33,12 +33,29 @@ else
>>     PROCESSORS=6
>>   fi
>>   +runtime_failures_docs() {
>> +  doc="C-runtime-failures.rst"
>> +  builddir="automation/eclair_analysis"
>> +
>> +  cp "docs/misra/${doc}" "${builddir}"
> 
> Is it necessary to copy the .rst? IOW, would it be sufficient to use...
> 
>> +  cd "${builddir}"
>> +  printf "/*\n\n" >"${doc}.tmp"
>> +  sed -e 's|\*/|*//*|g' "${doc}" >>"${doc}.tmp"
> 
> ... docs/misc/${doc} here?
> 

I didn't want to leave a stray file under docs/misra, but it's not 
essential.

>> +  printf "\n\n*/\n" >>"${doc}.tmp"
>> +  mv "${doc}.tmp" "${doc}.c"
> 
> NIT: I am not sure why you need to first create .tmp and then create.c.
> 

Wasn't this a pattern to defend against interruptions of the build, just 
as I did in v3?

+$(TARGETS:.o=.c): %.c: %.rst
+    printf "/*\n\n" > $@.tmp
+    sed -e 's|\*/|*//*|g' $< >> $@.tmp
+    printf "\n\n*/\n" >> $@.tmp
+    mv $@.tmp $@

>> +
>> +  # Cannot redirect to /dev/null because it would be excluded from 
>> the analysis
>> +  "${CROSS_COMPILE}gcc-12" -std=c99 -c "${doc}.c" -o "${doc}.o"
> 
> NIT: It would be helpful to specify why -std=c99 is used. Above, you 
> suggest this is to enable D1.1.
> 

Yeah, the comment in the changelog should be pasted here

> NIT: Can we define CC and use here and ...
> 
>> +  cd -
>> +}
>> +
>>   (
>> -  cd xen
>> +  runtime_failures_docs
>>       make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
>>          "CROSS_COMPILE=${CROSS_COMPILE}"         \
>>          "CC=${CROSS_COMPILE}gcc-12"              \
> 
> ...? This would make easier to re-use the code.
> 

I don't expect this build script to be changed much to be honest, but if 
you think
this is beneficial then it's ok.

>>          "CXX=${CROSS_COMPILE}g++-12"             \
>> -       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"
>> +       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"     \
>> +       -C xen
>>   )
>> diff --git a/automation/eclair_analysis/prepare.sh 
>> b/automation/eclair_analysis/prepare.sh
>> index 0cac5eba00ae..fe9d16e48ecc 100755
>> --- a/automation/eclair_analysis/prepare.sh
>> +++ b/automation/eclair_analysis/prepare.sh
>> @@ -35,11 +35,12 @@ else
>>   fi
>>     (
>> -    cd xen
>> -    cp "${CONFIG_FILE}" .config
>> +    ./configure
>> +    cp "${CONFIG_FILE}" xen/.config
>>       make clean
>>       find . -type f -name "*.safparse" -print -delete
>> -    make -f ${script_dir}/Makefile.prepare prepare
>> +    cd xen
>> +    make -f "${script_dir}/Makefile.prepare" prepare
>>       # Translate the /* SAF-n-safe */ comments into ECLAIR CBTs
>>       scripts/xen-analysis.py --run-eclair --no-build --no-clean
>>   )
> 
> Cheers,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:22:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:22:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633566.988479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3DyF-0003EV-8r; Wed, 15 Nov 2023 11:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633566.988479; Wed, 15 Nov 2023 11: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 1r3DyF-0003EO-6K; Wed, 15 Nov 2023 11:22:11 +0000
Received: by outflank-mailman (input) for mailman id 633566;
 Wed, 15 Nov 2023 11:22: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 1r3DyE-0003EI-5X
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:22: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 1r3DyD-0007UC-Jf; Wed, 15 Nov 2023 11:22:09 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3DyD-0008UD-DX; Wed, 15 Nov 2023 11:22: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=qo3KaNunEgv53SCHfI/K4uLo/sJkZL6X4BgMutUSWoY=; b=hYgAFk/J5S7/tUebh4rKjpYw+y
	Gk5KEf5cwKrYJ6JjMDLVFcXSbkN7T7veNC4eGoFtVZ3jeddZIYDh9hqXD0sAaaMiy+pTf0T0OCND2
	y22hjHeHoN2ERIQ8/ZsTgZkFapYEMtq578rMNso5OSR7lJ++ngmgZWZw3vHY28PMmFxM=;
Message-ID: <ecbfa46d-2e0a-4685-9695-f7de37e7b6ce@xen.org>
Date: Wed, 15 Nov 2023 11:22:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, bertrand.marquis@arm.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com>
 <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
 <f63fa9b5-a821-49d4-88f6-7d991ab6c644@xen.org>
 <1689d4b47d708098c43601a58e867f1c@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1689d4b47d708098c43601a58e867f1c@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 15/11/2023 11:02, Nicola Vetrini wrote:
> On 2023-11-14 23:12, Julien Grall wrote:
>> Hi,
>>
>> On 14/11/2023 15:36, Nicola Vetrini wrote:
>>> To be able to check for the existence of the necessary subsections in
>>> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a 
>>> source
>>> file that is built.
>>>
>>> This file is generated from 'C-runtime-failures.rst' in docs/misra
>>> and the configuration is updated accordingly.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> Changes from RFC:
>>> - Dropped unused/useless code
>>> - Revised the sed command
>>> - Revised the clean target
>>>
>>> Changes in v2:
>>> - Added explanative comment to the makefile
>>> - printf instead of echo
>>>
>>> Changes in v3:
>>> - Terminate the generated file with a newline
>>> - Build it with -std=c99, so that the documentation
>>>    for D1.1 applies.
>>> Changes in v5:
>>> - Transform and build the file directly in the eclair-specific directory
>>> ---
>>>   automation/eclair_analysis/build.sh   | 21 +++++++++++++++++++--
>>>   automation/eclair_analysis/prepare.sh |  7 ++++---
>>>   2 files changed, 23 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/automation/eclair_analysis/build.sh 
>>> b/automation/eclair_analysis/build.sh
>>> index ec087dd822fa..f24292ed0643 100755
>>> --- a/automation/eclair_analysis/build.sh
>>> +++ b/automation/eclair_analysis/build.sh
>>> @@ -33,12 +33,29 @@ else
>>>     PROCESSORS=6
>>>   fi
>>>   +runtime_failures_docs() {
>>> +  doc="C-runtime-failures.rst"
>>> +  builddir="automation/eclair_analysis"
>>> +
>>> +  cp "docs/misra/${doc}" "${builddir}"
>>
>> Is it necessary to copy the .rst? IOW, would it be sufficient to use...
>>
>>> +  cd "${builddir}"
>>> +  printf "/*\n\n" >"${doc}.tmp"
>>> +  sed -e 's|\*/|*//*|g' "${doc}" >>"${doc}.tmp"
>>
>> ... docs/misc/${doc} here?
>>
> 
> I didn't want to leave a stray file under docs/misra, but it's not 
> essential.

I am confused. I am suggesting to use:

sed -e 's|\*/|*//*|g' "../../docs/misc/${doc}" >> "${doc}.tmp"

So *.tmp is still created at the same place.

> 
>>> +  printf "\n\n*/\n" >>"${doc}.tmp"
>>> +  mv "${doc}.tmp" "${doc}.c"
>>
>> NIT: I am not sure why you need to first create .tmp and then create.c.
>>
> 
> Wasn't this a pattern to defend against interruptions of the build, just 
> as I did in v3?
> 
> +$(TARGETS:.o=.c): %.c: %.rst
> +    printf "/*\n\n" > $@.tmp
> +    sed -e 's|\*/|*//*|g' $< >> $@.tmp
> +    printf "\n\n*/\n" >> $@.tmp
> +    mv $@.tmp $@

Yes but it makes sense for the Makefile because the target would not be 
re-executed if *.c exists.

But I don't think this is the case for you because you are using a bash 
script. So your function should always be re-executed regardless on 
whether it was interrupted or not.

> 
>>> +
>>> +  # Cannot redirect to /dev/null because it would be excluded from 
>>> the analysis
>>> +  "${CROSS_COMPILE}gcc-12" -std=c99 -c "${doc}.c" -o "${doc}.o"
>>
>> NIT: It would be helpful to specify why -std=c99 is used. Above, you 
>> suggest this is to enable D1.1.
>>
> 
> Yeah, the comment in the changelog should be pasted here
> 
>> NIT: Can we define CC and use here and ...
>>
>>> +  cd -
>>> +}
>>> +
>>>   (
>>> -  cd xen
>>> +  runtime_failures_docs
>>>       make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
>>>          "CROSS_COMPILE=${CROSS_COMPILE}"         \
>>>          "CC=${CROSS_COMPILE}gcc-12"              \
>>
>> ...? This would make easier to re-use the code.
>>
> 
> I don't expect this build script to be changed much to be honest, but if 
> you think
> this is beneficial then it's ok.

This is not only about code evolving. It makes easier to spot your are 
using the same compiler. I would not have made the remark if you were 
using 'gcc'.

But I noticed you were using gcc-12 and originally thought it was a 
mistake until I saw the second use.

The advantage of a variable CC (and CXX) is you can add a comment on top 
why you are specifically requestion gcc-12? IOW, why is gcc not fine?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:26:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:26:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633569.988490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3E2J-00040q-O5; Wed, 15 Nov 2023 11:26:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633569.988490; Wed, 15 Nov 2023 11: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 1r3E2J-00040j-Kr; Wed, 15 Nov 2023 11:26:23 +0000
Received: by outflank-mailman (input) for mailman id 633569;
 Wed, 15 Nov 2023 11:26: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=zXr+=G4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r3E2H-00040Y-Tf
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:26:21 +0000
Received: from pb-smtp1.pobox.com (pb-smtp1.pobox.com [64.147.108.70])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cbb761b4-83a9-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 12:26:19 +0100 (CET)
Received: from pb-smtp1.pobox.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id ECD491CC41E;
 Wed, 15 Nov 2023 06:26:17 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp1.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp1.pobox.com (Postfix) with ESMTP id E471B1CC41D;
 Wed, 15 Nov 2023 06:26:17 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.109])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp1.pobox.com (Postfix) with ESMTPSA id D12831CC419;
 Wed, 15 Nov 2023 06:26:16 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbb761b4-83a9-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:mime-version:content-transfer-encoding;
	 s=sasl; bh=IYnOcdGdFg+jMm+KFkyEmtwhFYJmyjS/Q+tOUVXRUvo=; b=lKzZ
	Ua2yHiUFz9LpkkQwJHsHv6pGvc4JlgBtB9jLxaeYR51zybAjmjmpZgap+bA6xanR
	8QG0P8zVDxNhKpf9KI68CuYF8fsOFBvId8aoSKwjx5xRAVT6XGLZPSYh0d4zI/CW
	WWrMMl0j9sJSkGWsFoiNeq6x/l+QHisR/y100jU=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.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>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [RFC PATCH 0/6] ARM virtio-pci initial support
Date: Wed, 15 Nov 2023 13:26:05 +0200
Message-Id: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 CAB65B88-83A9-11EE-B3ED-78DCEB2EC81B-90055647!pb-smtp1.pobox.com
Content-Transfer-Encoding: quoted-printable

Hi,
In this patch series we introduce support of PCI devices emulated by Virt=
io=20
on ARM platform. A guest system is presented with Virtio Host bridge devi=
ce, through
which a number of emulated PCI devices (e.g. disk, network, graphic, audi=
o etc)
can work with corresponding guests' subsystems.

For that purpose we add a new "pci" virtio transport mechanism in xl
configuration, in addition to present "mmio" mechanism.

Suitable MMIO and IRQ ranges are reverved, for guests' PCI accesses are t=
rapped
and forwarded to IOREQ server to be handled outside of Xen. Also guest's =
DT
extended with PCI (#INTA..#INTD) interrupt mappings.

For now only supported combination of backends is when both PCI Host brid=
ge
and all PCI devices behind it are emulated by the same single instance (i=
.e. Qemu).

The code was tested with QEMU backends, yet it aims to be extendable to s=
upport
stand-alone backends.

 -Sergiy

Oleksandr Tyshchenko (6):
  libxl: Pass max_vcpus to Qemu in case of PVH domain (Arm) as well
  xen/public: arch-arm: reserve resources for virtio-pci
  libxl/arm: Add basic virtio-pci support
  libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices
  xen/arm: Intercept vPCI config accesses and forward them to emulator
  libxl: Add "backend_type" property for the Virtio devices

 docs/man/xl.cfg.5.pod.in              |  18 +-
 tools/libs/light/libxl_arm.c          | 351 ++++++++++++++++++++++++--
 tools/libs/light/libxl_create.c       |  18 +-
 tools/libs/light/libxl_dm.c           |  98 ++++++-
 tools/libs/light/libxl_internal.h     |   5 +
 tools/libs/light/libxl_types.idl      |  41 ++-
 tools/libs/light/libxl_virtio.c       | 119 +++++++--
 tools/xl/xl_parse.c                   |  39 +++
 xen/arch/arm/Kconfig                  |  10 +
 xen/arch/arm/domain.c                 |   2 +-
 xen/arch/arm/{ =3D> include/asm}/vpci.h |  11 +
 xen/arch/arm/io.c                     |   8 +-
 xen/arch/arm/ioreq.c                  |  19 +-
 xen/arch/arm/vpci.c                   | 106 +++++++-
 xen/include/public/arch-arm.h         |  21 ++
 15 files changed, 797 insertions(+), 69 deletions(-)
 rename xen/arch/arm/{ =3D> include/asm}/vpci.h (75%)

--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:26:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633570.988499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3E2K-0004Fi-Ub; Wed, 15 Nov 2023 11:26:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633570.988499; Wed, 15 Nov 2023 11:26: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 1r3E2K-0004Fb-S2; Wed, 15 Nov 2023 11:26:24 +0000
Received: by outflank-mailman (input) for mailman id 633570;
 Wed, 15 Nov 2023 11:26: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=zXr+=G4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r3E2I-00040Y-Sb
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:26:22 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd496433-83a9-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 12:26:22 +0100 (CET)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id D19B71C1C52;
 Wed, 15 Nov 2023 06:26:20 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id C81E61C1C51;
 Wed, 15 Nov 2023 06:26:20 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.109])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 048051C1C50;
 Wed, 15 Nov 2023 06:26:19 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd496433-83a9-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=JxaNh5W5NVw14x6LTlh4LsUYY
	sXdhWV9cMoMNLEDhSM=; b=pjR8CoD4gwzYJAPi0xYy/o769TT/+yKq/bCNtT9By
	aLAcktWXb25mxP4oFBpKdnLOt5g1TnxSjbXc78oMezBK7otKOgOdXhPEtWCh3uCL
	rOksX+7714pQMl0D8G7Fa3/sQHm0dfku1gmUz+GD4voHxJaPC3LJrFiqEksV2R8X
	VM=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH 1/6] libxl: Pass max_vcpus to Qemu in case of PVH domain (Arm) as well
Date: Wed, 15 Nov 2023 13:26:06 +0200
Message-Id: <20231115112611.3865905-2-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 CC99A9D2-83A9-11EE-8DEE-25B3960A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

The number of vCPUs used for the IOREQ configuration (machine->smp.cpus)
should really match the system value as for each vCPU we setup a dedicate=
d
evtchn for the communication with Xen at the runtime. This is needed
for the IOREQ to be properly configured and work if the involved domain
has more than one vCPU assigned.

Note that Qemu should set mc->max_cpus to GUEST_MAX_VCPUS in
xen_arm_machine_class_init().

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 tools/libs/light/libxl_dm.c | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 14b593110f..0b2548d35b 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -1553,18 +1553,6 @@ static int libxl__build_device_model_args_new(libx=
l__gc *gc,
         if (!libxl__acpi_defbool_val(b_info)) {
             flexarray_append(dm_args, "-no-acpi");
         }
-        if (b_info->max_vcpus > 1) {
-            flexarray_append(dm_args, "-smp");
-            if (b_info->avail_vcpus.size) {
-                int nr_set_cpus =3D 0;
-                nr_set_cpus =3D libxl_bitmap_count_set(&b_info->avail_vc=
pus);
-
-                flexarray_append(dm_args, GCSPRINTF("%d,maxcpus=3D%d",
-                                                    nr_set_cpus,
-                                                    b_info->max_vcpus));
-            } else
-                flexarray_append(dm_args, GCSPRINTF("%d", b_info->max_vc=
pus));
-        }
         for (i =3D 0; i < num_nics; i++) {
             if (nics[i].nictype =3D=3D LIBXL_NIC_TYPE_VIF_IOEMU) {
                 char *smac =3D GCSPRINTF(LIBXL_MAC_FMT,
@@ -1800,6 +1788,22 @@ static int libxl__build_device_model_args_new(libx=
l__gc *gc,
     for (i =3D 0; b_info->extra && b_info->extra[i] !=3D NULL; i++)
         flexarray_append(dm_args, b_info->extra[i]);
=20
+    if (b_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM ||
+        b_info->type =3D=3D LIBXL_DOMAIN_TYPE_PVH) {
+        if (b_info->max_vcpus > 1) {
+            flexarray_append(dm_args, "-smp");
+            if (b_info->avail_vcpus.size) {
+                int nr_set_cpus =3D 0;
+                nr_set_cpus =3D libxl_bitmap_count_set(&b_info->avail_vc=
pus);
+
+                flexarray_append(dm_args, GCSPRINTF("%d,maxcpus=3D%d",
+                                                    nr_set_cpus,
+                                                    b_info->max_vcpus));
+            } else
+                flexarray_append(dm_args, GCSPRINTF("%d", b_info->max_vc=
pus));
+        }
+    }
+
     flexarray_append(dm_args, "-machine");
     switch (b_info->type) {
     case LIBXL_DOMAIN_TYPE_PVH:
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:26:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:26:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633571.988510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3E2M-0004Vk-7w; Wed, 15 Nov 2023 11:26:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633571.988510; Wed, 15 Nov 2023 11: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 1r3E2M-0004Vb-43; Wed, 15 Nov 2023 11:26:26 +0000
Received: by outflank-mailman (input) for mailman id 633571;
 Wed, 15 Nov 2023 11:26: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=zXr+=G4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r3E2L-00040Y-C9
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:26:25 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf16a516-83a9-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 12:26:24 +0100 (CET)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id D393F1C1C59;
 Wed, 15 Nov 2023 06:26:23 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id C90C21C1C58;
 Wed, 15 Nov 2023 06:26:23 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.109])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 166421C1C56;
 Wed, 15 Nov 2023 06:26:22 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf16a516-83a9-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=sk3rL+DVQWnHfmbcVD4VUySak
	WU6iSq3V+yGTLD5SnE=; b=d65LZKjGp9RuGE/Irs55jSZ1205eAfYsgucZKQ6Fk
	svlBIePhvi7Q+jm1yIk0jQUQ278uRo5MqWBdP7OEud1ysi/WamDU1Tc+abwrQI2w
	uwQKK8tnRQXNzr06GI9av+WQNDJJruqI7fDWV6Jy8XUQta2VaN+eKv/ElQg1iZxr
	ZU=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for virtio-pci
Date: Wed, 15 Nov 2023 13:26:07 +0200
Message-Id: <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 CE6E5C9E-83A9-11EE-8331-25B3960A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

In order to enable more use-cases such as having multiple
device-models (Qemu) running in different backend domains which provide
virtio-pci devices for the same guest, we allocate and expose one
PCI host bridge for every virtio backend domain for that guest.

For that purpose, reserve separate virtio-pci resources (memory and SPI r=
ange
for Legacy PCI interrupts) up to 8 possible PCI hosts (to be aligned with
MAX_NR_IOREQ_SERVERS) and allocate a host per backend domain. The PCI hos=
t
details including its host_id to be written to dedicated Xenstore node fo=
r
the device-model to retrieve.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/include/public/arch-arm.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.=
h
index a25e87dbda..e6c9cd5335 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -466,6 +466,19 @@ typedef uint64_t xen_callback_t;
 #define GUEST_VPCI_MEM_ADDR                 xen_mk_ullong(0x23000000)
 #define GUEST_VPCI_MEM_SIZE                 xen_mk_ullong(0x10000000)
=20
+/*
+ * 16 MB is reserved for virtio-pci configuration space based on calcula=
tion
+ * 8 bridges * 2 buses x 32 devices x 8 functions x 4 KB =3D 16 MB
+ */
+#define GUEST_VIRTIO_PCI_ECAM_BASE          xen_mk_ullong(0x33000000)
+#define GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE    xen_mk_ullong(0x01000000)
+#define GUEST_VIRTIO_PCI_HOST_ECAM_SIZE     xen_mk_ullong(0x00200000)
+
+/* 64 MB is reserved for virtio-pci memory */
+#define GUEST_VIRTIO_PCI_ADDR_TYPE_MEM    xen_mk_ullong(0x02000000)
+#define GUEST_VIRTIO_PCI_MEM_ADDR         xen_mk_ullong(0x34000000)
+#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x04000000)
+
 /*
  * 16MB =3D=3D 4096 pages reserved for guest to use as a region to map i=
ts
  * grant table in.
@@ -476,6 +489,11 @@ typedef uint64_t xen_callback_t;
 #define GUEST_MAGIC_BASE  xen_mk_ullong(0x39000000)
 #define GUEST_MAGIC_SIZE  xen_mk_ullong(0x01000000)
=20
+/* 64 MB is reserved for virtio-pci Prefetch memory */
+#define GUEST_VIRTIO_PCI_ADDR_TYPE_PREFETCH_MEM    xen_mk_ullong(0x42000=
000)
+#define GUEST_VIRTIO_PCI_PREFETCH_MEM_ADDR         xen_mk_ullong(0x3a000=
000)
+#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE         xen_mk_ullong(0x04000=
000)
+
 #define GUEST_RAM_BANKS   2
=20
 /*
@@ -515,6 +533,9 @@ typedef uint64_t xen_callback_t;
 #define GUEST_VIRTIO_MMIO_SPI_FIRST   33
 #define GUEST_VIRTIO_MMIO_SPI_LAST    43
=20
+#define GUEST_VIRTIO_PCI_SPI_FIRST   44
+#define GUEST_VIRTIO_PCI_SPI_LAST    76
+
 /* PSCI functions */
 #define PSCI_cpu_suspend 0
 #define PSCI_cpu_off     1
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:26:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:26:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633572.988520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3E2Q-0004r7-Fs; Wed, 15 Nov 2023 11:26:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633572.988520; Wed, 15 Nov 2023 11:26: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 1r3E2Q-0004qx-CI; Wed, 15 Nov 2023 11:26:30 +0000
Received: by outflank-mailman (input) for mailman id 633572;
 Wed, 15 Nov 2023 11:26: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=zXr+=G4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r3E2P-00040Y-94
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:26:29 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0f83154-83a9-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 12:26:27 +0100 (CET)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 0AB901C1C8A;
 Wed, 15 Nov 2023 06:26:27 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 0001C1C1C89;
 Wed, 15 Nov 2023 06:26:26 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.109])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp2.pobox.com (Postfix) with ESMTPSA id D26C31C1C86;
 Wed, 15 Nov 2023 06:26:25 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0f83154-83a9-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=tL0jiLFXUiMZop4+WOmVXVKpp
	NGbLDx07OaB8g/dtGQ=; b=FO/egVcSu+BToawqNJIP+zEMWoqMw/xop5/NuV/Du
	FcmloCR7OsTr1VPvhi0leuutZpZ2k4/ndY09FXwwggmTQQjV3yA79Dpw5T2giAlx
	5e/XkAvIAPbgqDFTgjwOw+U8xip2KgacCfjGcfyW8z4EMqEDmGMuy6t4iy4FdkwG
	6Q=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH 3/6] libxl/arm: Add basic virtio-pci support
Date: Wed, 15 Nov 2023 13:26:08 +0200
Message-Id: <20231115112611.3865905-4-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 D0153C34-83A9-11EE-AE21-25B3960A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Introduce new transport mechanism "pci" for the Virtio device
and update parsing and configuration logic accordingly.

In order to enable more use-cases such as having multiple
device-models (Qemu) running in different backend domains which provide
virtio-pci devices for the same guest, we allocate and expose one
PCI host bridge for every virtio backend domain for that guest.

Also extend PCI Host bridge DT node exposed to the guest by adding
bindings for Legacy PCI interrupts (#INTA - #INTD).

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 docs/man/xl.cfg.5.pod.in          |   9 +-
 tools/libs/light/libxl_arm.c      | 287 ++++++++++++++++++++++++++++--
 tools/libs/light/libxl_create.c   |  18 +-
 tools/libs/light/libxl_dm.c       |  70 ++++++++
 tools/libs/light/libxl_internal.h |   5 +
 tools/libs/light/libxl_types.idl  |  34 +++-
 tools/libs/light/libxl_virtio.c   |  98 +++++++---
 tools/xl/xl_parse.c               |  36 ++++
 8 files changed, 507 insertions(+), 50 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 2e234b450e..0fba750815 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1616,8 +1616,13 @@ hexadecimal format, without the "0x" prefix and al=
l in lower case, like
=20
 =3Ditem B<transport=3DSTRING>
=20
-Specifies the transport mechanism for the Virtio device, only "mmio" is
-supported for now.
+Specifies the transport mechanism for the Virtio device, both "mmio" and=
 "pci"
+are supported. This option is mandatory.
+
+=3Ditem B<bdf=3DSTRING>
+
+The Virtio device with transport "pci" must be identified by its B<BDF>.
+See L<xl-pci-configuration(5)> for more details about the format for B<B=
DF>.
=20
 =3Ditem B<grant_usage=3DBOOLEAN>
=20
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 1539191774..df6cbbe756 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -20,6 +20,11 @@
  */
 #define VIRTIO_MMIO_DEV_SIZE   xen_mk_ullong(0x200)
=20
+#define VIRTIO_PCI_HOST_MEM_SIZE            xen_mk_ullong(0x800000)
+#define VIRTIO_PCI_HOST_PREFETCH_MEM_SIZE   xen_mk_ullong(0x800000)
+#define VIRTIO_PCI_HOST_NUM_SPIS            4
+#define VIRTIO_PCI_MAX_HOSTS                8
+
 static uint64_t alloc_virtio_mmio_base(libxl__gc *gc, uint64_t *virtio_m=
mio_base)
 {
     uint64_t base =3D *virtio_mmio_base;
@@ -80,14 +85,101 @@ static const char *gicv_to_string(libxl_gic_version =
gic_version)
     }
 }
=20
+static int alloc_virtio_pci_host(libxl__gc *gc,
+                                 uint32_t backend_domid,
+                                 uint32_t *host_id,
+                                 unsigned int *num_hosts,
+                                 libxl_virtio_pci_host *hosts)
+{
+    unsigned int i;
+
+    BUILD_BUG_ON(VIRTIO_PCI_MAX_HOSTS !=3D
+                 GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE / GUEST_VIRTIO_PCI_HOS=
T_ECAM_SIZE);
+    BUILD_BUG_ON(VIRTIO_PCI_MAX_HOSTS !=3D
+                 GUEST_VIRTIO_PCI_MEM_SIZE / VIRTIO_PCI_HOST_MEM_SIZE);
+    BUILD_BUG_ON(VIRTIO_PCI_MAX_HOSTS !=3D
+                 GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE / VIRTIO_PCI_HOST_PR=
EFETCH_MEM_SIZE);
+    BUILD_BUG_ON(VIRTIO_PCI_MAX_HOSTS !=3D
+                 (GUEST_VIRTIO_PCI_SPI_LAST - GUEST_VIRTIO_PCI_SPI_FIRST=
) / VIRTIO_PCI_HOST_NUM_SPIS);
+
+    if (*num_hosts > VIRTIO_PCI_MAX_HOSTS)
+        return ERROR_INVAL;
+
+    for (i =3D 0; i < *num_hosts; i++) {
+        if (hosts[i].backend_domid =3D=3D backend_domid) {
+            *host_id =3D hosts[i].id;
+
+            LOG(DEBUG, "Reuse host #%u: "
+                        "ECAM: 0x%"PRIx64"-0x%"PRIx64" "
+                        "MEM: 0x%"PRIx64"-0x%"PRIx64" "
+                        "PREFETCH_MEM: 0x%"PRIx64"-0x%"PRIx64" "
+                        "IRQ: %u-%u",
+                        hosts[i].id,
+                        hosts[i].ecam_base,
+                        hosts[i].ecam_base + hosts[i].ecam_size - 1,
+                        hosts[i].mem_base,
+                        hosts[i].mem_base + hosts[i].mem_size - 1,
+                        hosts[i].prefetch_mem_base,
+                        hosts[i].prefetch_mem_base + hosts[i].prefetch_m=
em_size - 1,
+                        hosts[i].irq_first,
+                        hosts[i].irq_first + hosts[i].num_irqs - 1);
+
+            return 0;
+        }
+    }
+
+    if (i =3D=3D VIRTIO_PCI_MAX_HOSTS) {
+        LOG(ERROR, "Ran out of reserved resources for virtio-pci host\n"=
);
+        return ERROR_FAIL;
+    }
+
+    hosts[i].backend_domid =3D backend_domid;
+    hosts[i].id =3D i;
+    hosts[i].ecam_base =3D GUEST_VIRTIO_PCI_ECAM_BASE +
+        i * GUEST_VIRTIO_PCI_HOST_ECAM_SIZE;
+    hosts[i].ecam_size =3D GUEST_VIRTIO_PCI_HOST_ECAM_SIZE;
+    hosts[i].mem_base =3D GUEST_VIRTIO_PCI_MEM_ADDR +
+        i * VIRTIO_PCI_HOST_MEM_SIZE;
+    hosts[i].mem_size =3D VIRTIO_PCI_HOST_MEM_SIZE;
+    hosts[i].prefetch_mem_base =3D GUEST_VIRTIO_PCI_PREFETCH_MEM_ADDR +
+        i * VIRTIO_PCI_HOST_PREFETCH_MEM_SIZE;
+    hosts[i].prefetch_mem_size =3D VIRTIO_PCI_HOST_PREFETCH_MEM_SIZE;
+    hosts[i].irq_first =3D GUEST_VIRTIO_PCI_SPI_FIRST +
+        i * VIRTIO_PCI_HOST_NUM_SPIS;
+    hosts[i].num_irqs =3D VIRTIO_PCI_HOST_NUM_SPIS;
+
+    *host_id =3D hosts[i].id;
+
+    (*num_hosts)++;
+
+    LOG(DEBUG, "Allocate host #%u: "
+                "ECAM: 0x%"PRIx64"-0x%"PRIx64" "
+                "MEM: 0x%"PRIx64"-0x%"PRIx64" "
+                "PREFETCH_MEM: 0x%"PRIx64"-0x%"PRIx64" "
+                "IRQ: %u-%u",
+                hosts[i].id,
+                hosts[i].ecam_base,
+                hosts[i].ecam_base + hosts[i].ecam_size - 1,
+                hosts[i].mem_base,
+                hosts[i].mem_base + hosts[i].mem_size - 1,
+                hosts[i].prefetch_mem_base,
+                hosts[i].prefetch_mem_base + hosts[i].prefetch_mem_size =
- 1,
+                hosts[i].irq_first,
+                hosts[i].irq_first + hosts[i].num_irqs - 1);
+
+    return 0;
+}
+
 int libxl__arch_domain_prepare_config(libxl__gc *gc,
                                       libxl_domain_config *d_config,
                                       struct xen_domctl_createdomain *co=
nfig)
 {
     uint32_t nr_spis =3D 0;
     unsigned int i;
-    uint32_t vuart_irq, virtio_irq =3D 0;
-    bool vuart_enabled =3D false, virtio_enabled =3D false;
+    uint32_t vuart_irq, virtio_mmio_irq_last, virtio_pci_irq_last =3D 0;
+    bool vuart_enabled =3D false, virtio_mmio_enabled =3D false;
+    unsigned int num_virtio_pci_hosts =3D 0;
+    libxl_virtio_pci_host virtio_pci_hosts[VIRTIO_PCI_MAX_HOSTS] =3D {0}=
;
     uint64_t virtio_mmio_base =3D GUEST_VIRTIO_MMIO_BASE;
     uint32_t virtio_mmio_irq =3D GUEST_VIRTIO_MMIO_SPI_FIRST;
     int rc;
@@ -118,11 +210,17 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc=
,
     for (i =3D 0; i < d_config->num_virtios; i++) {
         libxl_device_virtio *virtio =3D &d_config->virtios[i];
=20
-        if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO)
-            continue;
-
-        rc =3D alloc_virtio_mmio_params(gc, &virtio->base, &virtio->irq,
-                                      &virtio_mmio_base, &virtio_mmio_ir=
q);
+        if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO) {
+            rc =3D alloc_virtio_pci_host(gc,
+                                       virtio->backend_domid,
+                                       &virtio->u.pci.host_id,
+                                       &num_virtio_pci_hosts,
+                                       virtio_pci_hosts);
+        } else {
+            rc =3D alloc_virtio_mmio_params(gc, &virtio->u.mmio.base,
+                                          &virtio->u.mmio.irq,
+                                          &virtio_mmio_base, &virtio_mmi=
o_irq);
+        }
=20
         if (rc)
             return rc;
@@ -134,14 +232,25 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc=
,
      * The resulting "nr_spis" needs to cover the highest possible SPI.
      */
     if (virtio_mmio_irq !=3D GUEST_VIRTIO_MMIO_SPI_FIRST) {
-        virtio_enabled =3D true;
+        virtio_mmio_enabled =3D true;
=20
         /*
          * Assumes that "virtio_mmio_irq" is the highest allocated irq, =
which is
          * updated from alloc_virtio_mmio_irq() currently.
          */
-        virtio_irq =3D virtio_mmio_irq - 1;
-        nr_spis =3D max(nr_spis, virtio_irq - 32 + 1);
+        virtio_mmio_irq_last =3D virtio_mmio_irq - 1;
+        nr_spis =3D max(nr_spis, virtio_mmio_irq_last - 32 + 1);
+    }
+
+    if (num_virtio_pci_hosts) {
+        libxl_virtio_pci_host *host =3D &virtio_pci_hosts[num_virtio_pci=
_hosts - 1];
+
+        /*
+         * Assumes that latest allocated host contains the highest alloc=
ated
+         * irq range.
+         */
+        virtio_pci_irq_last =3D host->irq_first + host->num_irqs - 1;
+        nr_spis =3D max(nr_spis, virtio_pci_irq_last - 32 + 1);
     }
=20
     for (i =3D 0; i < d_config->b_info.num_irqs; i++) {
@@ -164,10 +273,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc=
,
         }
=20
         /* The same check as for vpl011 */
-        if (virtio_enabled &&
-            (irq >=3D GUEST_VIRTIO_MMIO_SPI_FIRST && irq <=3D virtio_irq=
)) {
+        if (virtio_mmio_enabled &&
+            (irq >=3D GUEST_VIRTIO_MMIO_SPI_FIRST && irq <=3D virtio_mmi=
o_irq_last)) {
             LOG(ERROR, "Physical IRQ %u conflicting with Virtio MMIO IRQ=
 range\n", irq);
             return ERROR_FAIL;
+        } else if (num_virtio_pci_hosts &&
+            (irq >=3D GUEST_VIRTIO_PCI_SPI_FIRST && irq <=3D virtio_pci_=
irq_last)) {
+            LOG(ERROR, "Physical IRQ %u conflicting with Virtio PCI IRQ =
range\n", irq);
+            return ERROR_FAIL;
         }
=20
         if (irq < 32)
@@ -179,6 +292,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
             nr_spis =3D spi + 1;
     }
=20
+    if (num_virtio_pci_hosts) {
+        d_config->b_info.num_virtio_pci_hosts =3D num_virtio_pci_hosts;
+        d_config->b_info.virtio_pci_hosts =3D libxl__calloc(NOGC,
+            num_virtio_pci_hosts, sizeof(*d_config->b_info.virtio_pci_ho=
sts));
+        memcpy(d_config->b_info.virtio_pci_hosts, virtio_pci_hosts,
+            sizeof(*d_config->b_info.virtio_pci_hosts) * num_virtio_pci_=
hosts);
+    }
+
     LOG(DEBUG, "Configure the domain");
=20
     config->arch.nr_spis =3D nr_spis;
@@ -908,6 +1029,130 @@ static int make_vpci_node(libxl__gc *gc, void *fdt=
,
     return 0;
 }
=20
+#define PCI_IRQ_MAP_MIN_STRIDE   8
+
+static int create_virtio_pci_irq_map(libxl__gc *gc, void *fdt,
+                                     libxl_virtio_pci_host *host)
+{
+    uint32_t *full_irq_map, *irq_map;
+    size_t len;
+    unsigned int slot, pin;
+    int res, cells;
+
+    res =3D fdt_property_cell(fdt, "#interrupt-cells", 1);
+    if (res) return res;
+
+    /* assume GIC node to be present, due to
+     * make_gicv2_node()/make_gicv3_node() get called earlier
+     */
+    res =3D fdt_node_offset_by_phandle(fdt, GUEST_PHANDLE_GIC);
+    if (res < 0)
+        return res;
+
+    res =3D fdt_address_cells(fdt, res);
+    /* handle case of make_gicv2_node() setting #address-cells to 0 */
+    if (res =3D=3D -FDT_ERR_BADNCELLS)
+        res =3D 0;
+    else if (res < 0)
+        return res;
+
+    cells =3D res;
+    len =3D sizeof(uint32_t) * host->num_irqs * host->num_irqs *
+          (PCI_IRQ_MAP_MIN_STRIDE + cells);
+    irq_map =3D full_irq_map =3D libxl__malloc(gc, len);
+
+    for (slot =3D 0; slot < host->num_irqs; slot++) {
+        for (pin =3D 0; pin < host->num_irqs; pin++) {
+            uint32_t irq =3D host->irq_first + ((pin + slot) % host->num=
_irqs);
+            unsigned int i =3D 0;
+
+            /* PCI address (3 cells) */
+            irq_map[i++] =3D cpu_to_fdt32(PCI_DEVFN(slot, 0) << 8);
+            irq_map[i++] =3D cpu_to_fdt32(0);
+            irq_map[i++] =3D cpu_to_fdt32(0);
+
+            /* PCI interrupt (1 cell) */
+            irq_map[i++] =3D cpu_to_fdt32(pin + 1);
+
+            /* GIC phandle (1 cell) */
+            irq_map[i++] =3D cpu_to_fdt32(GUEST_PHANDLE_GIC);
+
+            /* GIC unit address, set 0 because vgic itself handles vpci =
IRQs */
+            for (int c =3D cells; c--; irq_map[i++] =3D cpu_to_fdt32(0))=
;
+
+            /* GIC interrupt (3 cells) */
+            irq_map[i++] =3D cpu_to_fdt32(0); /* SPI */
+            irq_map[i++] =3D cpu_to_fdt32(irq - 32);
+            irq_map[i++] =3D cpu_to_fdt32(DT_IRQ_TYPE_LEVEL_HIGH);
+
+            irq_map +=3D PCI_IRQ_MAP_MIN_STRIDE + cells;
+        }
+    }
+
+    res =3D fdt_property(fdt, "interrupt-map", full_irq_map, len);
+    if (res) return res;
+
+    res =3D fdt_property_values(gc, fdt, "interrupt-map-mask", 4,
+                              PCI_DEVFN(3, 0) << 8, 0, 0, 0x7);
+    if (res) return res;
+
+    return 0;
+}
+
+/* TODO Consider reusing make_vpci_node() */
+static int make_virtio_pci_node(libxl__gc *gc, void *fdt,
+                                libxl_virtio_pci_host *host,
+                                libxl_domain_config *d_config)
+{
+    int res;
+    const char *name =3D GCSPRINTF("pcie@%"PRIx64, host->ecam_base);
+
+    res =3D fdt_begin_node(fdt, name);
+    if (res) return res;
+
+    res =3D fdt_property_compat(gc, fdt, 1, "pci-host-ecam-generic");
+    if (res) return res;
+
+    res =3D fdt_property_string(fdt, "device_type", "pci");
+    if (res) return res;
+
+    res =3D fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
+        GUEST_ROOT_SIZE_CELLS, 1, host->ecam_base, host->ecam_size);
+    if (res) return res;
+
+    res =3D fdt_property_values(gc, fdt, "bus-range", 2, 0, 1);
+    if (res) return res;
+
+    res =3D fdt_property_cell(fdt, "#address-cells", 3);
+    if (res) return res;
+
+    res =3D fdt_property_cell(fdt, "#size-cells", 2);
+    if (res) return res;
+
+    res =3D fdt_property_string(fdt, "status", "okay");
+    if (res) return res;
+
+    res =3D fdt_property_vpci_ranges(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
+        GUEST_ROOT_SIZE_CELLS, 2,
+        GUEST_VIRTIO_PCI_ADDR_TYPE_MEM, host->mem_base, host->mem_size,
+        GUEST_VIRTIO_PCI_ADDR_TYPE_PREFETCH_MEM, host->prefetch_mem_base=
,
+        host->prefetch_mem_size);
+    if (res) return res;
+
+    /* The same property as for virtio-mmio device */
+    res =3D fdt_property(fdt, "dma-coherent", NULL, 0);
+    if (res) return res;
+
+    /* Legacy PCI interrupts (#INTA - #INTD) */
+    res =3D create_virtio_pci_irq_map(gc, fdt, host);
+    if (res) return res;
+
+    res =3D fdt_end_node(fdt);
+    if (res) return res;
+
+    return 0;
+}
+
 static int make_xen_iommu_node(libxl__gc *gc, void *fdt)
 {
     int res;
@@ -1384,20 +1629,26 @@ next_resize:
         for (i =3D 0; i < d_config->num_virtios; i++) {
             libxl_device_virtio *virtio =3D &d_config->virtios[i];
=20
-            if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO)
-                continue;
-
             if (libxl_defbool_val(virtio->grant_usage))
                 iommu_needed =3D true;
=20
-            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
-                                              virtio->irq, virtio->type,
+            if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO)
+                continue;
+
+            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->u.mmio.ba=
se,
+                                              virtio->u.mmio.irq, virtio=
->type,
                                               virtio->backend_domid,
                                               libxl_defbool_val(virtio->=
grant_usage)) );
         }
=20
+        for (i =3D 0; i < d_config->b_info.num_virtio_pci_hosts; i++) {
+            libxl_virtio_pci_host *host =3D &d_config->b_info.virtio_pci=
_hosts[i];
+
+            FDT( make_virtio_pci_node(gc, fdt, host, d_config) );
+        }
+
         /*
-         * The iommu node should be created only once for all virtio-mmi=
o
+         * The iommu node should be created only once for all virtio
          * devices.
          */
         if (iommu_needed)
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_cre=
ate.c
index ce1d431103..22b4fa40cc 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1273,8 +1273,9 @@ int libxl__domain_config_setdefault(libxl__gc *gc,
     }
=20
     for (i =3D 0; i < d_config->num_virtios; i++) {
-        ret =3D libxl__virtio_devtype.set_default(gc, domid,
-                                                &d_config->virtios[i], f=
alse);
+        libxl_device_virtio *virtio =3D &d_config->virtios[i];
+
+        ret =3D libxl__virtio_devtype.set_default(gc, domid, virtio, fal=
se);
         if (ret) {
             LOGD(ERROR, domid, "Unable to set virtio defaults for device=
 %d", i);
             goto error_out;
@@ -1770,6 +1771,19 @@ static void domcreate_launch_dm(libxl__egc *egc, l=
ibxl__multidev *multidev,
     for (i =3D 0; i < d_config->num_virtios; i++)
         libxl__device_add(gc, domid, &libxl__virtio_devtype,
                           &d_config->virtios[i]);
+    /*
+     * This should be done before spawning device model, but after
+     * the creation of "device-model" directory in Xenstore.
+     */
+    for (i =3D 0; i < d_config->b_info.num_virtio_pci_hosts; i++) {
+        libxl_virtio_pci_host *host =3D &d_config->b_info.virtio_pci_hos=
ts[i];
+
+        ret =3D libxl__save_dm_virtio_pci_host(gc, domid, host);
+        if (ret) {
+            LOGD(ERROR, domid, "Unable to save virtio_pci_host for devic=
e model");
+            goto error_out;
+        }
+    }
=20
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 0b2548d35b..4e9391fc08 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -3375,6 +3375,76 @@ static void device_model_postconfig_done(libxl__eg=
c *egc,
     dmss->callback(egc, dmss, rc);
 }
=20
+int libxl__save_dm_virtio_pci_host(libxl__gc *gc,
+                                   uint32_t domid,
+                                   libxl_virtio_pci_host *host)
+{
+    const char *dm_path;
+    char **dir;
+    xs_transaction_t t =3D XBT_NULL;
+    unsigned int n;
+    int rc;
+
+    dm_path =3D GCSPRINTF("/local/domain/%d/device-model", host->backend=
_domid);
+
+    dir =3D libxl__xs_directory(gc, XBT_NULL, dm_path, &n);
+    if (!dir)
+        return ERROR_INVAL;
+
+    dm_path =3D DEVICE_MODEL_XS_PATH(gc, host->backend_domid, domid, "/v=
irtio_pci_host");
+
+    for (;;) {
+        rc =3D libxl__xs_transaction_start(gc, &t);
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/id", dm_path=
),
+                                     GCSPRINTF("%u", host->id));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/ecam_base", =
dm_path),
+                                     GCSPRINTF("%#"PRIx64, host->ecam_ba=
se));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/ecam_size", =
dm_path),
+                                     GCSPRINTF("%#"PRIx64, host->ecam_si=
ze));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/mem_base", d=
m_path),
+                                     GCSPRINTF("%#"PRIx64, host->mem_bas=
e));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/mem_size", d=
m_path),
+                                     GCSPRINTF("%#"PRIx64, host->mem_siz=
e));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/prefetch_mem=
_base", dm_path),
+                                     GCSPRINTF("%#"PRIx64, host->prefetc=
h_mem_base));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/prefetch_mem=
_size", dm_path),
+                                     GCSPRINTF("%#"PRIx64, host->prefetc=
h_mem_size));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/irq_first", =
dm_path),
+                                     GCSPRINTF("%u", host->irq_first));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/num_irqs", d=
m_path),
+                                     GCSPRINTF("%u", host->num_irqs));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_transaction_commit(gc, &t);
+        if (!rc) break;
+        if (rc < 0) goto out;
+    }
+
+    return 0;
+
+out:
+    libxl__xs_transaction_abort(gc, &t);
+    return rc;
+}
+
 void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *=
dmss)
 {
     STATE_AO_GC(dmss->spawn.ao);
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_i=
nternal.h
index d5732d1c37..75d370d739 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4199,6 +4199,11 @@ _hidden void libxl__spawn_qdisk_backend(libxl__egc=
 *egc,
                                         libxl__dm_spawn_state *dmss);
 _hidden int libxl__destroy_qdisk_backend(libxl__gc *gc, uint32_t domid);
=20
+
+_hidden int libxl__save_dm_virtio_pci_host(libxl__gc *gc,
+                                           uint32_t domid,
+                                           libxl_virtio_pci_host *host);
+
 /*----- Domain creation -----*/
=20
=20
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_ty=
pes.idl
index 7d8bd5d216..a86c601994 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -281,6 +281,7 @@ libxl_vkb_backend =3D Enumeration("vkb_backend", [
 libxl_virtio_transport =3D Enumeration("virtio_transport", [
     (0, "UNKNOWN"),
     (1, "MMIO"),
+    (2, "PCI"),
     ])
=20
 libxl_passthrough =3D Enumeration("passthrough", [
@@ -558,6 +559,19 @@ libxl_altp2m_mode =3D Enumeration("altp2m_mode", [
     (3, "limited"),
     ], init_val =3D "LIBXL_ALTP2M_MODE_DISABLED")
=20
+libxl_virtio_pci_host =3D Struct("virtio_pci_host", [
+    ("backend_domid",     libxl_domid),
+    ("id",                uint32),
+    ("ecam_base",         uint64),
+    ("ecam_size",         uint64),
+    ("mem_base",          uint64),
+    ("mem_size",          uint64),
+    ("prefetch_mem_base", uint64),
+    ("prefetch_mem_size", uint64),
+    ("irq_first",         uint32),
+    ("num_irqs",          uint32),
+    ])
+
 libxl_domain_build_info =3D Struct("domain_build_info",[
     ("max_vcpus",       integer),
     ("avail_vcpus",     libxl_bitmap),
@@ -631,6 +645,7 @@ libxl_domain_build_info =3D Struct("domain_build_info=
",[
     ("apic",             libxl_defbool),
     ("dm_restrict",      libxl_defbool),
     ("tee",              libxl_tee_type),
+    ("virtio_pci_hosts", Array(libxl_virtio_pci_host, "num_virtio_pci_ho=
sts")),
     ("u", KeyedUnion(None, libxl_domain_type, "type",
                 [("hvm", Struct(None, [("firmware",         string),
                                        ("bios",             libxl_bios_t=
ype),
@@ -764,13 +779,22 @@ libxl_device_virtio =3D Struct("device_virtio", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
     ("type", string),
-    ("transport", libxl_virtio_transport),
+    ("u", KeyedUnion(None, libxl_virtio_transport, "transport",
+              [("unknown", None),
+               # Note that virtio-mmio parameters (irq and base) are for=
 internal
+               # use by libxl and can't be modified.
+               ("mmio", Struct(None, [("irq", uint32),
+                                      ("base", uint64),
+                                     ])),
+               ("pci", Struct(None,  [("func", uint8),
+                                      ("dev", uint8),
+                                      ("bus", uint8),
+                                      ("domain", uint16),
+                                      ("host_id", uint32),
+                                     ])),
+              ])),
     ("grant_usage", libxl_defbool),
     ("devid", libxl_devid),
-    # Note that virtio-mmio parameters (irq and base) are for internal
-    # use by libxl and can't be modified.
-    ("irq", uint32),
-    ("base", uint64)
     ])
=20
 libxl_device_disk =3D Struct("device_disk", [
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_vir=
tio.c
index e5e321adc5..8062423c75 100644
--- a/tools/libs/light/libxl_virtio.c
+++ b/tools/libs/light/libxl_virtio.c
@@ -57,8 +57,21 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, u=
int32_t domid,
 {
     const char *transport =3D libxl_virtio_transport_to_string(virtio->t=
ransport);
=20
-    flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
-    flexarray_append_pair(back, "base", GCSPRINTF("%#"PRIx64, virtio->ba=
se));
+    if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_MMIO) {
+        flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->u.mmi=
o.irq));
+        flexarray_append_pair(back, "base", GCSPRINTF("%#"PRIx64, virtio=
->u.mmio.base));
+    } else {
+        /*
+         * TODO:
+         * Probably we will also need to store PCI Host bridge details (=
irq and
+         * mem ranges) this particular PCI device belongs to if emulator=
 cannot
+         * or should not rely on what is described at include/public/arc=
h-arm.h
+         */
+        flexarray_append_pair(back, "bdf", GCSPRINTF("%04x:%02x:%02x.%01=
x",
+                              virtio->u.pci.domain, virtio->u.pci.bus,
+                              virtio->u.pci.dev, virtio->u.pci.func));
+        flexarray_append_pair(back, "host_id", GCSPRINTF("%u", virtio->u=
.pci.host_id));
+    }
     flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
     flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport))=
;
     flexarray_append_pair(back, "grant_usage",
@@ -84,33 +97,72 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc,=
 const char *libxl_path,
     rc =3D libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_=
domid);
     if (rc) goto out;
=20
-    rc =3D libxl__xs_read_checked(gc, XBT_NULL,
-				GCSPRINTF("%s/irq", be_path), &tmp);
-    if (rc) goto out;
-
-    if (tmp) {
-        virtio->irq =3D strtoul(tmp, NULL, 0);
+    tmp =3D libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/transport", be_pa=
th));
+    if (!tmp) {
+        LOG(ERROR, "Missing xenstore node %s/transport", be_path);
+        rc =3D ERROR_INVAL;
+        goto out;
     }
=20
-    tmp =3D NULL;
-    rc =3D libxl__xs_read_checked(gc, XBT_NULL,
-				GCSPRINTF("%s/base", be_path), &tmp);
-    if (rc) goto out;
+    rc =3D libxl_virtio_transport_from_string(tmp, &virtio->transport);
+    if (rc) {
+        LOG(ERROR, "Unable to parse xenstore node %s/transport", be_path=
);
+        goto out;
+    }
=20
-    if (tmp) {
-        virtio->base =3D strtoul(tmp, NULL, 0);
+    if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO &&
+        virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_PCI) {
+        LOG(ERROR, "Unexpected transport for virtio");
+        rc =3D ERROR_INVAL;
+        goto out;
     }
=20
-    tmp =3D NULL;
-    rc =3D libxl__xs_read_checked(gc, XBT_NULL,
-				GCSPRINTF("%s/transport", be_path), &tmp);
-    if (rc) goto out;
+    if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_MMIO) {
+        tmp =3D NULL;
+        rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                    GCSPRINTF("%s/irq", be_path), &tmp);
+        if (rc) goto out;
=20
-    if (tmp) {
-        if (!strcmp(tmp, "mmio")) {
-            virtio->transport =3D LIBXL_VIRTIO_TRANSPORT_MMIO;
-        } else {
-            return ERROR_INVAL;
+        if (tmp) {
+            virtio->u.mmio.irq =3D strtoul(tmp, NULL, 0);
+        }
+
+        tmp =3D NULL;
+        rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                    GCSPRINTF("%s/base", be_path), &tmp)=
;
+        if (rc) goto out;
+
+        if (tmp) {
+            virtio->u.mmio.base =3D strtoul(tmp, NULL, 0);
+        }
+    } else {
+        unsigned int domain, bus, dev, func;
+
+        tmp =3D NULL;
+        rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                    GCSPRINTF("%s/bdf", be_path), &tmp);
+        if (rc) goto out;
+
+        if (tmp) {
+            if (sscanf(tmp, "%04x:%02x:%02x.%01x",
+                &domain, &bus, &dev, &func) !=3D 4) {
+                rc =3D ERROR_INVAL;
+                goto out;
+            }
+
+            virtio->u.pci.domain =3D domain;
+            virtio->u.pci.bus =3D bus;
+            virtio->u.pci.dev =3D dev;
+            virtio->u.pci.func =3D func;
+        }
+
+        tmp =3D NULL;
+        rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                    GCSPRINTF("%s/host_id", be_path), &t=
mp);
+        if (rc) goto out;
+
+        if (tmp) {
+            virtio->u.pci.host_id =3D strtoul(tmp, NULL, 0);
         }
     }
=20
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index ed983200c3..4544ce2307 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1217,6 +1217,24 @@ static int parse_virtio_config(libxl_device_virtio=
 *virtio, char *token)
         if (rc) return rc;
     } else if (MATCH_OPTION("grant_usage", token, oparg)) {
         libxl_defbool_set(&virtio->grant_usage, strtoul(oparg, NULL, 0))=
;
+    } else if (MATCH_OPTION("bdf", token, oparg)) {
+        /*
+         * TODO:
+         * We pretend that we are ordinary PCI device to reuse BDF parsi=
ng
+         * logic. This needs to be properly reused by adjusting parse_bd=
f().
+         */
+        libxl_device_pci pci;
+
+        rc =3D xlu_pci_parse_bdf(NULL, &pci, oparg);
+        if (rc) {
+            fprintf(stderr, "Unable to parse BDF `%s' for virtio-pci\n",=
 oparg);
+            return -1;
+        }
+
+        virtio->u.pci.domain =3D pci.domain;
+        virtio->u.pci.bus =3D pci.bus;
+        virtio->u.pci.dev =3D pci.dev;
+        virtio->u.pci.func =3D pci.func;
     } else {
         fprintf(stderr, "Unknown string \"%s\" in virtio spec\n", token)=
;
         return -1;
@@ -1238,6 +1256,7 @@ static void parse_virtio_list(const XLU_Config *con=
fig,
         while ((item =3D xlu_cfg_get_listitem(virtios, entry)) !=3D NULL=
) {
             libxl_device_virtio *virtio;
             char *p;
+            bool bdf_present =3D false;
=20
             virtio =3D ARRAY_EXTEND_INIT(d_config->virtios, d_config->nu=
m_virtios,
                                        libxl_device_virtio_init);
@@ -1260,6 +1279,8 @@ static void parse_virtio_list(const XLU_Config *con=
fig,
                         strcat(str, p2);
                         p =3D str;
                     }
+                } else if (MATCH_OPTION("bdf", p, oparg)) {
+                    bdf_present =3D true;
                 }
=20
                 rc =3D parse_virtio_config(virtio, p);
@@ -1270,6 +1291,21 @@ static void parse_virtio_list(const XLU_Config *co=
nfig,
                 p =3D strtok(NULL, ",");
             }
=20
+            if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_UNKNOWN)=
 {
+                fprintf(stderr, "Unspecified transport for virtio\n");
+                rc =3D ERROR_FAIL; goto out;
+            }
+
+            if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_PCI &&
+                !bdf_present) {
+                fprintf(stderr, "BDF must be specified for virtio-pci\n"=
);
+                rc =3D ERROR_FAIL; goto out;
+            } else if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_M=
MIO &&
+                bdf_present) {
+                fprintf(stderr, "BDF must not be specified for virtio-mm=
io\n");
+                rc =3D ERROR_FAIL; goto out;
+            }
+
             entry++;
             free(buf);
         }
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:26:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:26:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633573.988530 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3E2T-0005AH-0P; Wed, 15 Nov 2023 11:26:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633573.988530; Wed, 15 Nov 2023 11:26: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 1r3E2S-0005A4-T4; Wed, 15 Nov 2023 11:26:32 +0000
Received: by outflank-mailman (input) for mailman id 633573;
 Wed, 15 Nov 2023 11:26: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=zXr+=G4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r3E2R-00040Y-1C
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:26:31 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d285dfd3-83a9-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 12:26:30 +0100 (CET)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id AC6461C1C8F;
 Wed, 15 Nov 2023 06:26:29 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id A4E641C1C8E;
 Wed, 15 Nov 2023 06:26:29 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.109])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp2.pobox.com (Postfix) with ESMTPSA id CA04C1C1C8B;
 Wed, 15 Nov 2023 06:26:28 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d285dfd3-83a9-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=TAYZsg3dk4AhNSgCgF5CsTSHP
	MVtmpNUV/b5lNoFXUI=; b=BOUlGVnU12xONByr5wFXUFxEe3/9jeMolBA7kh+oz
	wQvdNc0vifwVg0qMLw4BsF1ftgoBxDMnR73dNhMmQjC4mlPPK6Ec1HocxlFEFTWb
	PBB94zQYSfJavWHndkION4uXWW/BC1hmfszdHS7A/PcLw5l+YR9CBzsgv7f2QiNr
	Xk=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH 4/6] libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices
Date: Wed, 15 Nov 2023 13:26:09 +0200
Message-Id: <20231115112611.3865905-5-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 D1D9D840-83A9-11EE-B925-25B3960A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Use the same "xen-grant-dma" device concept for the PCI devices
behind device-tree based PCI Host controller, but with one modification.
Unlike for platform devices, we cannot use generic IOMMU bindings
(iommus property), as we need to support more flexible configuration.
The problem is that PCI devices under the single PCI Host controller
may have the backends running in different Xen domains and thus have
different endpoints ID (backend domains ID).

Reuse generic PCI-IOMMU bindings (iommu-map/iommu-map-mask properties)
which allows us to describe relationship between PCI devices and
backend domains ID properly. Linux guest is already able to deal
with generic PCI-IOMMU bindings (see Linux drivers/xen/grant-dma-ops.c
for details).

According to Linux:
   - Documentation/devicetree/bindings/pci/pci-iommu.txt
   - Documentation/devicetree/bindings/iommu/xen,grant-dma.yaml

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 tools/libs/light/libxl_arm.c | 64 ++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index df6cbbe756..03cf3e424b 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1030,6 +1030,7 @@ static int make_vpci_node(libxl__gc *gc, void *fdt,
 }
=20
 #define PCI_IRQ_MAP_MIN_STRIDE   8
+#define PCI_IOMMU_MAP_STRIDE 4
=20
 static int create_virtio_pci_irq_map(libxl__gc *gc, void *fdt,
                                      libxl_virtio_pci_host *host)
@@ -1099,6 +1100,65 @@ static int create_virtio_pci_irq_map(libxl__gc *gc=
, void *fdt,
     return 0;
 }
=20
+/* XXX Consider reusing libxl__realloc() to avoid an extra loop */
+static int create_virtio_pci_iommu_map(libxl__gc *gc, void *fdt,
+                                       libxl_virtio_pci_host *host,
+                                       libxl_domain_config *d_config)
+{
+    uint32_t *full_iommu_map, *iommu_map;
+    unsigned int i, len, ntranslated =3D 0;
+    int res;
+
+    for (i =3D 0; i < d_config->num_virtios; i++) {
+        libxl_device_virtio *virtio =3D &d_config->virtios[i];
+
+        if (libxl_defbool_val(virtio->grant_usage) &&
+            virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_PCI &&
+            virtio->u.pci.host_id =3D=3D host->id) {
+            ntranslated++;
+        }
+    }
+
+    if (!ntranslated)
+        return 0;
+
+    len =3D ntranslated * sizeof(uint32_t) * PCI_IOMMU_MAP_STRIDE;
+    full_iommu_map =3D libxl__malloc(gc, len);
+    iommu_map =3D full_iommu_map;
+
+    /* See Linux Documentation/devicetree/bindings/pci/pci-iommu.txt */
+    for (i =3D 0; i < d_config->num_virtios; i++) {
+        libxl_device_virtio *virtio =3D &d_config->virtios[i];
+
+        if (libxl_defbool_val(virtio->grant_usage) &&
+            virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_PCI &&
+            virtio->u.pci.host_id =3D=3D host->id) {
+            uint16_t bdf =3D (virtio->u.pci.bus << 8) |
+                (virtio->u.pci.dev << 3) | virtio->u.pci.func;
+            unsigned int j =3D 0;
+
+            /* rid_base (1 cell) */
+            iommu_map[j++] =3D cpu_to_fdt32(bdf);
+
+            /* iommu_phandle (1 cell) */
+            iommu_map[j++] =3D cpu_to_fdt32(GUEST_PHANDLE_IOMMU);
+
+            /* iommu_base (1 cell) */
+            iommu_map[j++] =3D cpu_to_fdt32(virtio->backend_domid);
+
+            /* length (1 cell) */
+            iommu_map[j++] =3D cpu_to_fdt32(1 << 3);
+
+            iommu_map +=3D PCI_IOMMU_MAP_STRIDE;
+        }
+    }
+
+    res =3D fdt_property(fdt, "iommu-map", full_iommu_map, len);
+    if (res) return res;
+
+    return 0;
+}
+
 /* TODO Consider reusing make_vpci_node() */
 static int make_virtio_pci_node(libxl__gc *gc, void *fdt,
                                 libxl_virtio_pci_host *host,
@@ -1147,6 +1207,10 @@ static int make_virtio_pci_node(libxl__gc *gc, voi=
d *fdt,
     res =3D create_virtio_pci_irq_map(gc, fdt, host);
     if (res) return res;
=20
+    /* xen,grant-dma bindings */
+    res =3D create_virtio_pci_iommu_map(gc, fdt, host, d_config);
+    if (res) return res;
+
     res =3D fdt_end_node(fdt);
     if (res) return res;
=20
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:26:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:26:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633574.988540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3E2X-0005av-AP; Wed, 15 Nov 2023 11:26:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633574.988540; Wed, 15 Nov 2023 11: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 1r3E2X-0005aJ-6W; Wed, 15 Nov 2023 11:26:37 +0000
Received: by outflank-mailman (input) for mailman id 633574;
 Wed, 15 Nov 2023 11:26: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=zXr+=G4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r3E2W-0005V6-17
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:26:36 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d3fb67b3-83a9-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 12:26:32 +0100 (CET)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 36B251C1C99;
 Wed, 15 Nov 2023 06:26:32 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 2EF4C1C1C96;
 Wed, 15 Nov 2023 06:26:32 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.109])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 7779B1C1C94;
 Wed, 15 Nov 2023 06:26:31 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3fb67b3-83a9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=bJ1K9417KGsGUq+XU588aVVIf
	/tv3/XL1FVqkz2VF7A=; b=vn9D5N5Q99fKdsV0zwrWAywVo5Q/2YxKPG6uSMGrp
	ERvWdm76Gsx8DGi0ko/UnV1gFsT1iv+V+VjOS356Z5KrE2NuS8DbMwFSCym41rW/
	I/JUmehNOqs3lXwxHdH9jgrIIyqqEtxf54XQVGeXtl+NjHaTQp5UMMK5gw+xOeM7
	7M=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH 5/6] xen/arm: Intercept vPCI config accesses and forward them to emulator
Date: Wed, 15 Nov 2023 13:26:10 +0200
Message-Id: <20231115112611.3865905-6-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 D36F423A-83A9-11EE-A32A-25B3960A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

This is needed for supporting virtio-pci.

In case when the PCI Host bridge is emulated outside of Xen
(IOREQ server), we need some mechanism to intercept config space
accesses on Xen on Arm, and forward them to the emulator
(for example, virtio backend) via IOREQ request.

Unlike x86, on Arm these accesses are MMIO, there is no CFC/CF8 method
to detect which PCI device is targeted.

In order to not mix PCI passthrough with virtio-pci features we add
one more region to cover the total configuration space for all possible
host bridges which can serve virtio-pci devices for that guest.
We expose one PCI host bridge per virtio backend domain.

To distinguish between virtio-pci devices belonging to PCI host
bridges emulated by device-models running in different backend domains
we also need to calculate a segment in virtio_pci_ioreq_server_get_addr()=
.
For this to work the toolstack is responsible to allocate and assign uniq=
ue
configuration space range and segment (host_id) within total reserved ran=
ge
for these device-models. The device-models are responsible for applying
a segment when forming DM op for registering PCI devices with IOREQ Serve=
r.

Introduce new CONFIG_VIRTIO_PCI to guard the whole handling.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/arch/arm/Kconfig                  |  10 +++
 xen/arch/arm/domain.c                 |   2 +-
 xen/arch/arm/{ =3D> include/asm}/vpci.h |  11 +++
 xen/arch/arm/io.c                     |   8 +-
 xen/arch/arm/ioreq.c                  |  19 ++++-
 xen/arch/arm/vpci.c                   | 106 +++++++++++++++++++++++++-
 6 files changed, 146 insertions(+), 10 deletions(-)
 rename xen/arch/arm/{ =3D> include/asm}/vpci.h (75%)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b..9e8d6c4ce2 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -190,6 +190,16 @@ config STATIC_SHM
 	help
 	  This option enables statically shared memory on a dom0less system.
=20
+config VIRTIO_PCI
+	bool "Support of virtio-pci transport" if EXPERT
+	depends on ARM_64
+	select HAS_PCI
+	select HAS_VPCI
+	select IOREQ_SERVER
+	default n
+	help
+	  This option enables support of virtio-pci transport
+
 endmenu
=20
 menu "ARM errata workaround via the alternative framework"
diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 28e3aaa5e4..140f9bbd58 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -28,9 +28,9 @@
 #include <asm/tee/tee.h>
 #include <asm/vfp.h>
 #include <asm/vgic.h>
+#include <asm/vpci.h>
 #include <asm/vtimer.h>
=20
-#include "vpci.h"
 #include "vuart.h"
=20
 DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
diff --git a/xen/arch/arm/vpci.h b/xen/arch/arm/include/asm/vpci.h
similarity index 75%
rename from xen/arch/arm/vpci.h
rename to xen/arch/arm/include/asm/vpci.h
index 3c713f3fcd..54d083c67b 100644
--- a/xen/arch/arm/vpci.h
+++ b/xen/arch/arm/include/asm/vpci.h
@@ -30,6 +30,17 @@ static inline unsigned int domain_vpci_get_num_mmio_ha=
ndlers(struct domain *d)
 }
 #endif
=20
+#ifdef CONFIG_VIRTIO_PCI
+bool virtio_pci_ioreq_server_get_addr(const struct domain *d,
+                                      paddr_t gpa, uint64_t *addr);
+#else
+static inline bool virtio_pci_ioreq_server_get_addr(const struct domain =
*d,
+                                                    paddr_t gpa, uint64_=
t *addr)
+{
+    return false;
+}
+#endif
+
 #endif /* __ARCH_ARM_VPCI_H__ */
=20
 /*
diff --git a/xen/arch/arm/io.c b/xen/arch/arm/io.c
index 96c740d563..5c3e03e30d 100644
--- a/xen/arch/arm/io.c
+++ b/xen/arch/arm/io.c
@@ -26,6 +26,7 @@ static enum io_state handle_read(const struct mmio_hand=
ler *handler,
 {
     const struct hsr_dabt dabt =3D info->dabt;
     struct cpu_user_regs *regs =3D guest_cpu_user_regs();
+    int ret;
     /*
      * Initialize to zero to avoid leaking data if there is an
      * implementation error in the emulation (such as not correctly
@@ -33,8 +34,9 @@ static enum io_state handle_read(const struct mmio_hand=
ler *handler,
      */
     register_t r =3D 0;
=20
-    if ( !handler->ops->read(v, info, &r, handler->priv) )
-        return IO_ABORT;
+    ret =3D handler->ops->read(v, info, &r, handler->priv);
+    if ( ret !=3D IO_HANDLED )
+        return ret !=3D IO_RETRY ? IO_ABORT : ret;
=20
     r =3D sign_extend(dabt, r);
=20
@@ -53,7 +55,7 @@ static enum io_state handle_write(const struct mmio_han=
dler *handler,
=20
     ret =3D handler->ops->write(v, info, get_user_reg(regs, dabt.reg),
                               handler->priv);
-    return ret ? IO_HANDLED : IO_ABORT;
+    return ret !=3D IO_HANDLED && ret !=3D IO_RETRY ? IO_ABORT : ret;
 }
=20
 /* This function assumes that mmio regions are not overlapped */
diff --git a/xen/arch/arm/ioreq.c b/xen/arch/arm/ioreq.c
index 5df755b48b..fd4cc755b6 100644
--- a/xen/arch/arm/ioreq.c
+++ b/xen/arch/arm/ioreq.c
@@ -10,6 +10,7 @@
=20
 #include <asm/traps.h>
 #include <asm/ioreq.h>
+#include <asm/vpci.h>
=20
 #include <public/hvm/ioreq.h>
=20
@@ -193,12 +194,24 @@ bool arch_ioreq_server_get_type_addr(const struct d=
omain *d,
                                      uint8_t *type,
                                      uint64_t *addr)
 {
+    uint64_t pci_addr;
+
     if ( p->type !=3D IOREQ_TYPE_COPY && p->type !=3D IOREQ_TYPE_PIO )
         return false;
=20
-    *type =3D (p->type =3D=3D IOREQ_TYPE_PIO) ?
-             XEN_DMOP_IO_RANGE_PORT : XEN_DMOP_IO_RANGE_MEMORY;
-    *addr =3D p->addr;
+    if ( p->type =3D=3D IOREQ_TYPE_COPY &&
+         virtio_pci_ioreq_server_get_addr(d, p->addr, &pci_addr) )
+    {
+        /* PCI config data cycle */
+        *type =3D XEN_DMOP_IO_RANGE_PCI;
+        *addr =3D pci_addr;
+    }
+    else
+    {
+        *type =3D (p->type =3D=3D IOREQ_TYPE_PIO) ?
+                 XEN_DMOP_IO_RANGE_PORT : XEN_DMOP_IO_RANGE_MEMORY;
+        *addr =3D p->addr;
+    }
=20
     return true;
 }
diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
index 3bc4bb5508..1de4c3e71b 100644
--- a/xen/arch/arm/vpci.c
+++ b/xen/arch/arm/vpci.c
@@ -2,9 +2,12 @@
 /*
  * xen/arch/arm/vpci.c
  */
+#include <xen/ioreq.h>
 #include <xen/sched.h>
+#include <xen/sizes.h>
 #include <xen/vpci.h>
=20
+#include <asm/ioreq.h>
 #include <asm/mmio.h>
=20
 static pci_sbdf_t vpci_sbdf_from_gpa(const struct pci_host_bridge *bridg=
e,
@@ -24,6 +27,27 @@ static pci_sbdf_t vpci_sbdf_from_gpa(const struct pci_=
host_bridge *bridge,
     return sbdf;
 }
=20
+bool virtio_pci_ioreq_server_get_addr(const struct domain *d,
+                                      paddr_t gpa, uint64_t *addr)
+{
+    pci_sbdf_t sbdf;
+
+    if ( !has_vpci(d) )
+        return false;
+
+    if ( gpa < GUEST_VIRTIO_PCI_ECAM_BASE ||
+         gpa >=3D GUEST_VIRTIO_PCI_ECAM_BASE + GUEST_VIRTIO_PCI_TOTAL_EC=
AM_SIZE )
+        return false;
+
+    sbdf.sbdf =3D VPCI_ECAM_BDF((gpa - GUEST_VIRTIO_PCI_ECAM_BASE) %
+        GUEST_VIRTIO_PCI_HOST_ECAM_SIZE);
+    sbdf.seg =3D (gpa - GUEST_VIRTIO_PCI_ECAM_BASE) /
+        GUEST_VIRTIO_PCI_HOST_ECAM_SIZE;
+    *addr =3D ((uint64_t)sbdf.sbdf << 32) | ECAM_REG_OFFSET(gpa);
+
+    return true;
+}
+
 static int vpci_mmio_read(struct vcpu *v, mmio_info_t *info,
                           register_t *r, void *p)
 {
@@ -36,12 +60,12 @@ static int vpci_mmio_read(struct vcpu *v, mmio_info_t=
 *info,
                         1U << info->dabt.size, &data) )
     {
         *r =3D data;
-        return 1;
+        return IO_HANDLED;
     }
=20
     *r =3D ~0ul;
=20
-    return 0;
+    return IO_ABORT;
 }
=20
 static int vpci_mmio_write(struct vcpu *v, mmio_info_t *info,
@@ -59,6 +83,61 @@ static const struct mmio_handler_ops vpci_mmio_handler=
 =3D {
     .write =3D vpci_mmio_write,
 };
=20
+#ifdef CONFIG_VIRTIO_PCI
+static int virtio_pci_mmio_read(struct vcpu *v, mmio_info_t *info,
+                                register_t *r, void *p)
+{
+    const uint8_t access_size =3D (1 << info->dabt.size) * 8;
+    const uint64_t access_mask =3D GENMASK_ULL(access_size - 1, 0);
+    int rc =3D IO_HANDLED;
+
+    ASSERT(!is_hardware_domain(v->domain));
+
+    if ( domain_has_ioreq_server(v->domain) )
+    {
+        rc =3D try_fwd_ioserv(guest_cpu_user_regs(), v, info);
+        if ( rc =3D=3D IO_HANDLED )
+        {
+            *r =3D v->io.req.data;
+            v->io.req.state =3D STATE_IOREQ_NONE;
+            return IO_HANDLED;
+        }
+        else if ( rc =3D=3D IO_UNHANDLED )
+            rc =3D IO_HANDLED;
+    }
+
+    *r =3D access_mask;
+    return rc;
+}
+
+static int virtio_pci_mmio_write(struct vcpu *v, mmio_info_t *info,
+                                 register_t r, void *p)
+{
+    int rc =3D IO_HANDLED;
+
+    ASSERT(!is_hardware_domain(v->domain));
+
+    if ( domain_has_ioreq_server(v->domain) )
+    {
+        rc =3D try_fwd_ioserv(guest_cpu_user_regs(), v, info);
+        if ( rc =3D=3D IO_HANDLED )
+        {
+            v->io.req.state =3D STATE_IOREQ_NONE;
+            return IO_HANDLED;
+        }
+        else if ( rc =3D=3D IO_UNHANDLED )
+            rc =3D IO_HANDLED;
+    }
+
+    return rc;
+}
+
+static const struct mmio_handler_ops virtio_pci_mmio_handler =3D {
+    .read  =3D virtio_pci_mmio_read,
+    .write =3D virtio_pci_mmio_write,
+};
+#endif
+
 static int vpci_setup_mmio_handler_cb(struct domain *d,
                                       struct pci_host_bridge *bridge)
 {
@@ -90,9 +169,17 @@ int domain_vpci_init(struct domain *d)
             return ret;
     }
     else
+    {
         register_mmio_handler(d, &vpci_mmio_handler,
                               GUEST_VPCI_ECAM_BASE, GUEST_VPCI_ECAM_SIZE=
, NULL);
=20
+#ifdef CONFIG_VIRTIO_PCI
+        register_mmio_handler(d, &virtio_pci_mmio_handler,
+                              GUEST_VIRTIO_PCI_ECAM_BASE,
+                              GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE, NULL);
+#endif
+    }
+
     return 0;
 }
=20
@@ -105,6 +192,8 @@ static int vpci_get_num_handlers_cb(struct domain *d,
=20
 unsigned int domain_vpci_get_num_mmio_handlers(struct domain *d)
 {
+    unsigned int count;
+
     if ( !has_vpci(d) )
         return 0;
=20
@@ -125,7 +214,18 @@ unsigned int domain_vpci_get_num_mmio_handlers(struc=
t domain *d)
      * For guests each host bridge requires one region to cover the
      * configuration space. At the moment, we only expose a single host =
bridge.
      */
-    return 1;
+    count =3D 1;
+
+    /*
+     * In order to not mix PCI passthrough with virtio-pci features we a=
dd
+     * one more region to cover the total configuration space for all po=
ssible
+     * host bridges which can serve virtio devices for that guest.
+     * We expose one host bridge per virtio backend domain.
+     */
+    if ( IS_ENABLED(CONFIG_VIRTIO_PCI) )
+        count++;
+
+    return count;
 }
=20
 /*
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:28:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:28:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633582.988550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3E3y-0007ww-Lm; Wed, 15 Nov 2023 11:28:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633582.988550; Wed, 15 Nov 2023 11: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 1r3E3y-0007wp-J5; Wed, 15 Nov 2023 11:28:06 +0000
Received: by outflank-mailman (input) for mailman id 633582;
 Wed, 15 Nov 2023 11:28: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=SWFF=G4=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3E3x-0007wd-Ks
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:28:05 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0ab2a9cc-83aa-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 12:28:04 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id C713A4EE073D;
 Wed, 15 Nov 2023 12:28:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ab2a9cc-83aa-11ee-98db-6d05b1d4d9a1
MIME-Version: 1.0
Date: Wed, 15 Nov 2023 12:28:03 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v2] xen: replace occurrences of SAF-1-safe
 with asmlinkage attribute
In-Reply-To: <18c366e0-0870-3a17-69a9-2bfb1fb3b25d@suse.com>
References: <aa7fa9b8cd40adb4eb5242deeff138cbe8b658f9.1699352946.git.nicola.vetrini@bugseng.com>
 <18c366e0-0870-3a17-69a9-2bfb1fb3b25d@suse.com>
Message-ID: <483c5d6b68c6dcfb6a2fe9bed10ecb60@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-13 15:44, Jan Beulich wrote:
> On 07.11.2023 11:30, Nicola Vetrini wrote:
>> --- a/xen/arch/x86/boot/cmdline.c
>> +++ b/xen/arch/x86/boot/cmdline.c
>> @@ -31,6 +31,7 @@ asm (
>>      );
>> 
>>  #include <xen/kconfig.h>
>> +#include <xen/compiler.h>
>>  #include "defs.h"
>>  #include "video.h"
> 
> Please respect the goal of alphabetically sorted groups of #include-s.
> 

Will do

>> --- a/xen/arch/x86/boot/reloc.c
>> +++ b/xen/arch/x86/boot/reloc.c
>> @@ -33,6 +33,8 @@ asm (
>>  #include "../../../include/xen/kconfig.h"
>>  #include <public/arch-x86/hvm/start_info.h>
>> 
>> +#include <xen/compiler.h>
> 
> Same here, put on top of the tidying patch I just sent.
> 

This one, right?
https://lore.kernel.org/xen-devel/c027b9cd-37f3-8223-141f-a1dceda82ab4@suse.com/

>> --- a/xen/common/efi/boot.c
>> +++ b/xen/common/efi/boot.c
>> @@ -1254,9 +1254,8 @@ static void __init efi_exit_boot(EFI_HANDLE 
>> ImageHandle, EFI_SYSTEM_TABLE *Syste
>>      efi_fw_vendor = (void *)efi_fw_vendor + DIRECTMAP_VIRT_START;
>>  }
>> 
>> -/* SAF-1-safe */
>> -void EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
>> -                                      EFI_SYSTEM_TABLE *SystemTable)
>> +void asmlinkage EFIAPI __init noreturn efi_start(EFI_HANDLE 
>> ImageHandle,
>> +                                                 EFI_SYSTEM_TABLE 
>> *SystemTable)
>>  {
>>      static EFI_GUID __initdata loaded_image_guid = 
>> LOADED_IMAGE_PROTOCOL;
>>      static EFI_GUID __initdata shim_lock_guid = 
>> SHIM_LOCK_PROTOCOL_GUID;
> 
> Besides this patch not working on its own (as already said by Julien,
> you want to explicitly state dependencies), the change above makes me
> wonder about efi_multiboot2(): Neither the earlier series nor the
> change here are touching either of the two instances of the function.
> Was that merely an oversight, or is there another reason?
> 

Looks like an oversight, but I'll have to investigate; if it needs to be 
modified I'll do a separate patch.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:44:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:44:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633592.988559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3EJm-0003f8-0a; Wed, 15 Nov 2023 11:44:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633592.988559; Wed, 15 Nov 2023 11: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 1r3EJl-0003f1-U0; Wed, 15 Nov 2023 11:44:25 +0000
Received: by outflank-mailman (input) for mailman id 633592;
 Wed, 15 Nov 2023 11:44: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=R+xL=G4=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r3EJk-0003ev-QZ
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:44:24 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 525cbb98-83ac-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 12:44:23 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-9dd6dc9c00cso997427066b.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 03:44:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 525cbb98-83ac-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700048662; x=1700653462; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=kcBDmeGJ9ij1z8aEcYoHvE7FEF5bbkiplfcT8qeAfLU=;
        b=BfbWHp0CwHdAL+sRIwMrUtmwz390poh2mkpcAootpe56JFgsuV+dx3O8k/k31ocduV
         zlGl7Gsw35wQ6OR0qughGMvtY4fRmwdWxDiGjjglDFp9TMneIns7QDAREPGH+WbYXLum
         BHSG437De6xhqsFoFcWfH/iXB2FpBjJ2J+WJQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700048662; x=1700653462;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=kcBDmeGJ9ij1z8aEcYoHvE7FEF5bbkiplfcT8qeAfLU=;
        b=GhHAk30YqqGrNhUUfHCc2QaEnfVJsOcijg5YDo+zkj6hKGEpwDIcN6A3ilKPaTx4cg
         oe+yi/ZYZrE5Tn3EnCDfHuvY/wd7iDvP57bbjK5x6Qn7SLcDdsdDtukZWdb1REkanj5D
         XXUtXMztAe7Ef+7T+gTym7oXo8kvU5Ac/0aX2pOA+2tjleLD2rIh3Ohzdbshnjif3dtO
         qd6dUiaCF9RNScAT3x06yrPYNYLDVHJYwyprUaTm9xfrn/wsq6vX+52C5pDWwGBDTt9D
         0mAPftdhFqoeq7ewBHfB3MosBtDwZNxhQj8EZOrlL1USLwwQ9HzV8LQs4nTJhDhc3NF5
         3Txg==
X-Gm-Message-State: AOJu0YzcySq7c/Yp5i+sJo71ZKEHvrSB9B38VEI5rX/2IDyeCI+ogSG4
	WdUikRsNlgiA2mFdJ4cIGrxRk5qTtNiTNvrVO24PyvYkeqNrH4WtpyVkGQ==
X-Google-Smtp-Source: AGHT+IFUKSilkHtLS7Jn0IKN25aexVmIjiJfBYSa2VvTFFomb0B97gIEJwVECdFBDjhYORjwNfX6ierDBROTig88iA8=
X-Received: by 2002:a17:906:1147:b0:9da:f372:4f6c with SMTP id
 i7-20020a170906114700b009daf3724f6cmr7848911eja.32.1700048662619; Wed, 15 Nov
 2023 03:44:22 -0800 (PST)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Wed, 15 Nov 2023 11:43:46 +0000
Message-ID: <CAO-mL=wq2_gtE224RfavM3o6mhEASwygN6-fnKEP1YNUiuWEig@mail.gmail.com>
Subject: Important - Documentation Discussion
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000a3068a060a2f6c93"

--000000000000a3068a060a2f6c93
Content-Type: text/plain; charset="UTF-8"

Hi all,

As you may be aware, we are in the process of reviewing our existing
documentation platform and content. In order to meet the requirements of
the community and project, I need your input and feedback.

The aim of the new documentation is to encourage community members to
collaborate in updating content (where possible) and educate users on how
the project works. The updated documentation will be hosted on our new
upcoming website.

*Suggestion for user-orientated documentation:*

   - git - for hosting (gitlab recommended)
   - RST - for the format of the documentation
   - Sphynx - to generate web pages and PDF and other formats from RST

*Suggestion for developer reference documentation:*

   - Doxygen
   - Kerneldoc
   - Open to other suggestions here

Example of how documentation will be split:

   1. Getting started/beginner user guides
   2. Learning orientated tutorials
   3. Goal-orientated how-to guides
   4. Developer related documentation

Side note: Whilst I appreciate everyone has a different vision of what
ideal documentation looks like, please be mindful that not everyone's
thought processes or depth of knowledge are the same. All ideas are
welcome, and decisions made will always reflect community needs.

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group

--000000000000a3068a060a2f6c93
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,<div><br></div><div>As you may be aware, we are in =
the process of reviewing our existing documentation platform and content. I=
n order to meet the requirements of the community and project, I need your =
input and feedback.</div><div><br></div><div>The aim of the new documentati=
on is to encourage community members to collaborate in updating content (wh=
ere possible) and educate users on how the project works. The updated docum=
entation will be hosted on our new upcoming website.=C2=A0<br></div><div><b=
r></div><div><b>Suggestion for user-orientated documentation:</b></div><div=
><ul><li>git - for hosting (gitlab recommended)</li><li>RST - for the forma=
t of the documentation</li><li>Sphynx=C2=A0- to generate web pages and PDF =
and other formats from RST</li></ul></div><div><b>Suggestion for developer =
reference documentation:</b></div><div><ul><li>Doxygen=C2=A0</li><li>Kernel=
doc</li><li>Open to other suggestions here</li></ul></div><div>Example of h=
ow documentation will be split:</div><div><ol><li>Getting started/beginner =
user guides</li><li>Learning orientated tutorials</li><li>Goal-orientated h=
ow-to guides</li><li>Developer related documentation</li></ol><div>Side not=
e: Whilst I appreciate everyone has a different vision of what ideal docume=
ntation=C2=A0looks like, please be mindful that not everyone&#39;s thought =
processes or depth of knowledge are the same. All ideas are welcome, and de=
cisions made will always reflect community needs.=C2=A0=C2=A0</div></div><d=
iv><br></div><div><div><div dir=3D"ltr" class=3D"gmail_signature" data-smar=
tmail=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</div><div>Kell=
y Choi</div><div><br></div><div><div style=3D"color:rgb(136,136,136)">Open =
Source Community Manager</div><div style=3D"color:rgb(136,136,136)">XenServ=
er, Cloud Software Group</div></div></div></div></div></div></div>

--000000000000a3068a060a2f6c93--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 11:44:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 11:44:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633593.988570 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3EJy-0003yZ-Ch; Wed, 15 Nov 2023 11:44:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633593.988570; Wed, 15 Nov 2023 11:44: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 1r3EJy-0003yM-9R; Wed, 15 Nov 2023 11:44:38 +0000
Received: by outflank-mailman (input) for mailman id 633593;
 Wed, 15 Nov 2023 11:44: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=zXr+=G4=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r3EJw-0003xI-Mb
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 11:44:36 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 57faf81d-83ac-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 12:44:34 +0100 (CET)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 11D053168E;
 Wed, 15 Nov 2023 06:44:32 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id F0D533168D;
 Wed, 15 Nov 2023 06:44:31 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [185.130.54.109])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id 81D3531686;
 Wed, 15 Nov 2023 06:44:28 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 57faf81d-83ac-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:mime-version:content-transfer-encoding;
	 s=sasl; bh=1byc8tTDalGgfp9r8WtxNSc0wnf6PEpeIh9WLNVUOYE=; b=pIJb
	dSgT9UVyiPRk05M4ckO/xEThRgyiIOQUWhSrmAqKAUtZ6a9kS/btfY3YJHSvo5Rm
	1W5zWfwdCntZOuGCcus98TBP80ybOuASlzm6YpkkfEn0QS2yd5xKEusPenMVY+mU
	I0xp/Ap9G/y1XAHR5apJ9p8NBHLwMnB1WzInEVg=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH 6/6] libxl: Add "backend_type" property for the Virtio devices
Date: Wed, 15 Nov 2023 13:44:24 +0200
Message-Id: <20231115114424.3867133-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 5566DE5E-83AC-11EE-BD2C-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Introduce new configuration option "backend_type" for the Virtio
devices in order to specify backend implementation to use.
There are two possible values "qemu" (default) and "standalone".

If backend is in Qemu (backend_type=3Dqemu) and Qemu runs in toolstack
domain (backend=3DDomain-0) then Qemu will be launched automatically
at the guest creation time. For this to work implement "dm_needed"
callback.

Please note, there is no support for Qemu in other domains for
the time being, so the combination of "backend=3DDomD" and
"backend_type=3Dqemu" just won't work.

Qemu configuration for Virtio devices should be described via
"device_model_args" property.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 docs/man/xl.cfg.5.pod.in         |  9 +++++++++
 tools/libs/light/libxl_types.idl |  7 +++++++
 tools/libs/light/libxl_virtio.c  | 29 ++++++++++++++++++++++++++++-
 tools/xl/xl_parse.c              |  3 +++
 4 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 0fba750815..592aad1d1e 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1624,6 +1624,15 @@ are supported. This option is mandatory.
 The Virtio device with transport "pci" must be identified by its B<BDF>.
 See L<xl-pci-configuration(5)> for more details about the format for B<B=
DF>.
=20
+=3Ditem B<backend_type=3DSTRING>
+
+Specifies the software implementation of the backend implementation to u=
se.
+This option doesn't affect the guest's view of the Virtio device.
+
+Both "qemu" and "standalone" are supported. The only difference is
+that for the former the toolstack assists with configuring and launching
+the device-model. If this option is missing, then "qemu" value will be u=
sed.
+
 =3Ditem B<grant_usage=3DBOOLEAN>
=20
 If this option is B<true>, the Xen grants are always enabled.
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_ty=
pes.idl
index a86c601994..13b8ade41c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -284,6 +284,12 @@ libxl_virtio_transport =3D Enumeration("virtio_trans=
port", [
     (2, "PCI"),
     ])
=20
+libxl_virtio_backend =3D Enumeration("virtio_backend", [
+    (0, "UNKNOWN"),
+    (1, "QEMU"),
+    (2, "STANDALONE"),
+    ])
+
 libxl_passthrough =3D Enumeration("passthrough", [
     (0, "default"),
     (1, "disabled"),
@@ -778,6 +784,7 @@ libxl_device_vkb =3D Struct("device_vkb", [
 libxl_device_virtio =3D Struct("device_virtio", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
+    ("backend_type", libxl_virtio_backend),
     ("type", string),
     ("u", KeyedUnion(None, libxl_virtio_transport, "transport",
               [("unknown", None),
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_vir=
tio.c
index 8062423c75..339a2006f0 100644
--- a/tools/libs/light/libxl_virtio.c
+++ b/tools/libs/light/libxl_virtio.c
@@ -32,9 +32,20 @@ static int libxl__device_virtio_setdefault(libxl__gc *=
gc, uint32_t domid,
     libxl_defbool_setdefault(&virtio->grant_usage,
                              virtio->backend_domid !=3D LIBXL_TOOLSTACK_=
DOMID);
=20
+    if (virtio->backend_type =3D=3D LIBXL_VIRTIO_BACKEND_UNKNOWN)
+        virtio->backend_type =3D LIBXL_VIRTIO_BACKEND_QEMU;
+
     return 0;
 }
=20
+static int libxl__device_virtio_dm_needed(void *e, unsigned domid)
+{
+    libxl_device_virtio *elem =3D e;
+
+    return elem->backend_type =3D=3D LIBXL_VIRTIO_BACKEND_QEMU &&
+           elem->backend_domid =3D=3D domid;
+}
+
 static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,
                                      libxl_device_virtio *virtio,
                                      libxl__device *device)
@@ -55,7 +66,8 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, ui=
nt32_t domid,
                                       flexarray_t *back, flexarray_t *fr=
ont,
                                       flexarray_t *ro_front)
 {
-    const char *transport =3D libxl_virtio_transport_to_string(virtio->t=
ransport);
+    const char *transport =3D libxl_virtio_transport_to_string(virtio->t=
ransport),
+               *backend =3D libxl_virtio_backend_to_string(virtio->backe=
nd_type);
=20
     if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_MMIO) {
         flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->u.mmi=
o.irq));
@@ -74,6 +86,7 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, ui=
nt32_t domid,
     }
     flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
     flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport))=
;
+    flexarray_append_pair(back, "backend_type", GCSPRINTF("%s", backend)=
);
     flexarray_append_pair(back, "grant_usage",
                           libxl_defbool_val(virtio->grant_usage) ? "1" :=
 "0");
=20
@@ -166,6 +179,19 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc=
, const char *libxl_path,
         }
     }
=20
+    tmp =3D NULL;
+    rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                GCSPRINTF("%s/backend_type", be_path), &=
tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        rc =3D libxl_virtio_backend_from_string(tmp, &virtio->backend_ty=
pe);
+        if (rc) {
+            LOG(ERROR, "Unable to parse xenstore node %s/backend_type", =
be_path);
+            goto out;
+        }
+    }
+
     tmp =3D NULL;
     rc =3D libxl__xs_read_checked(gc, XBT_NULL,
                                 GCSPRINTF("%s/grant_usage", be_path), &t=
mp);
@@ -200,6 +226,7 @@ static LIBXL_DEFINE_UPDATE_DEVID(virtio)
 #define libxl_device_virtio_compare NULL
=20
 DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,
+    .dm_needed =3D libxl__device_virtio_dm_needed,
     .set_xenstore_config =3D (device_set_xenstore_config_fn_t)
                            libxl__set_xenstore_virtio,
     .from_xenstore =3D (device_from_xenstore_fn_t)libxl__virtio_from_xen=
store,
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 4544ce2307..234cef5f7e 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1215,6 +1215,9 @@ static int parse_virtio_config(libxl_device_virtio =
*virtio, char *token)
     } else if (MATCH_OPTION("transport", token, oparg)) {
         rc =3D libxl_virtio_transport_from_string(oparg, &virtio->transp=
ort);
         if (rc) return rc;
+    } else if (MATCH_OPTION("backend_type", token, oparg)) {
+        rc =3D libxl_virtio_backend_from_string(oparg, &virtio->backend_=
type);
+        if (rc) return rc;
     } else if (MATCH_OPTION("grant_usage", token, oparg)) {
         libxl_defbool_set(&virtio->grant_usage, strtoul(oparg, NULL, 0))=
;
     } else if (MATCH_OPTION("bdf", token, oparg)) {
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:16:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:16:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633604.988579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Eox-0004mC-4p; Wed, 15 Nov 2023 12:16:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633604.988579; Wed, 15 Nov 2023 12:16: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 1r3Eox-0004m5-29; Wed, 15 Nov 2023 12:16:39 +0000
Received: by outflank-mailman (input) for mailman id 633604;
 Wed, 15 Nov 2023 12:16: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 1r3Eow-0004kO-CI
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:16: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 1r3Eow-0008SN-0f; Wed, 15 Nov 2023 12:16: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 1r3Eov-0002HO-Nu; Wed, 15 Nov 2023 12:16: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:MIME-Version:Message-Id:Date:
	Subject:Cc:To:From; bh=/l7dvDU6hHLbwVLZIeJ3nlU+1NJa9cU0TGrmEu80dNs=; b=MZSLsx
	k+r2m8NFno6DcRbfUESKzNxfJTHm770Nan8V8pZ3AGjZuMDejIWuWXkEhG0LDLOd5ngVv2QIFg0AF
	lAweDO+RDIKzjf9FOro8mRdZ+oFWNuwKvvZzx46JM1AEyPgIlteMqB6x8dCxt1xgXpll0dLB2M5Ql
	2SoNIpoZhmI=;
From: Julien Grall <julien@xen.org>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@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 for-4.18] SUPPORT.md: Define support lifetime
Date: Wed, 15 Nov 2023 12:16:32 +0000
Message-Id: <20231115121632.63868-1-julien@xen.org>
X-Mailer: git-send-email 2.40.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Julien Grall <jgrall@amazon.com>

Signed-off-by: Julien Grall <jgrall@amazon.com>
---
 SUPPORT.md | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index fff4b4c5bad6..c452635eb552 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -9,10 +9,10 @@ for the definitions of the support status levels etc.
 
 # Release Support
 
-    Xen-Version: 4.18-rc
-    Initial-Release: n/a
-    Supported-Until: TBD
-    Security-Support-Until: Unreleased - not yet security-supported
+    Xen-Version: 4.18
+    Initial-Release: 2023-11-16
+    Supported-Until: 2025-05-16
+    Security-Support-Until: 2025-11-16
 
 Release Notes
 : <a href="https://wiki.xenproject.org/wiki/Xen_Project_X.YY_Release_Notes">RN</a>
-- 
2.40.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:17:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:17:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633605.988590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3EpI-0005DL-CX; Wed, 15 Nov 2023 12:17:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633605.988590; Wed, 15 Nov 2023 12:17: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 1r3EpI-0005DE-9o; Wed, 15 Nov 2023 12:17:00 +0000
Received: by outflank-mailman (input) for mailman id 633605;
 Wed, 15 Nov 2023 12:16: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=Q1lS=G4=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r3EpH-00058s-1I
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:16:59 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de9049ac-83b0-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 13:16:56 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4084b0223ccso52415125e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 04:16:56 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 o11-20020adfcf0b000000b0032d9f32b96csm10381648wrj.62.2023.11.15.04.16.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Nov 2023 04:16:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de9049ac-83b0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700050616; x=1700655416; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=EtkCYdz+w+FkZn6yC5vYWDEyAR0+dL+QSw4hEJLIrm8=;
        b=f93BKY1Zark7sMLoS4/JB5eLv9CjNHZQk5AgAvyCOPj2CgY/Y7hIrllS8PtdQ2+e1S
         OmxlMf1sr7eprWhtSivslhy7cvuEmp1mPJc0OaqLDcNPc7UN3E+EbRdigyyfdn0GFw13
         PZlZ3hrFNAWn8Gz0r40Fol8Mgps7kqnj//bbs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700050616; x=1700655416;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=EtkCYdz+w+FkZn6yC5vYWDEyAR0+dL+QSw4hEJLIrm8=;
        b=eJgizRW3xbcGtA9mo2L6x8PznPt/ZpX0imijLJJALFYzrHUY1Uhm0B57Ok+GNbs3cH
         YJxIveasU54xq8EXYaYWGjZm4+EPJQuxreNG2tJ5yqOPFvpI99vU+gyjc4vUM4BkVIHz
         +O1/Qoz+2JnrjDggDDrscAyjPGsqqCJjUSH/gPOLSHAEV7IFn1mJN/eC03a9STxgpxrF
         sMVq8InKNEmoPw9eOAjrK9Hnar8/Brdes73y9+BAniJWhmstJUSsGMx4xZluhsYIOC+z
         cXSiNS+Bk3RoFidNuQZR0PuM77m55sIuHK+CuSXZidFft+U45sk4PCEcc9U0znQN4cpf
         QYNg==
X-Gm-Message-State: AOJu0YxHFb16iR+qfTfYiYnmW8uOEKXrfPWHeNU9eSkm1uLzNCk7lh0c
	Yp0UFX+7asDqUpDovjcQQwBz0Q==
X-Google-Smtp-Source: AGHT+IG5aMgsMuWhxdJqFAex2lUmSqivWxR5j+v/iKyJCBpPK+7MQ0gTiMl/pfsxr6O8okjCNTpSdg==
X-Received: by 2002:a05:600c:1ca3:b0:408:3d91:8251 with SMTP id k35-20020a05600c1ca300b004083d918251mr9516368wms.5.1700050616232;
        Wed, 15 Nov 2023 04:16:56 -0800 (PST)
Message-ID: <6554b6b7.df0a0220.412e6.4a71@mx.google.com>
X-Google-Original-Message-ID: <ZVS2thPtvBDoStZI@EMEAENGAAD19049.>
Date: Wed, 15 Nov 2023 12:16:54 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Kelly Choi <kelly.choi@cloud.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: Important - Documentation Discussion
References: <CAO-mL=wq2_gtE224RfavM3o6mhEASwygN6-fnKEP1YNUiuWEig@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <CAO-mL=wq2_gtE224RfavM3o6mhEASwygN6-fnKEP1YNUiuWEig@mail.gmail.com>

Hi,

On Wed, Nov 15, 2023 at 11:43:46AM +0000, Kelly Choi wrote:
> Hi all,
> 
> As you may be aware, we are in the process of reviewing our existing
> documentation platform and content. In order to meet the requirements of
> the community and project, I need your input and feedback.
> 
> The aim of the new documentation is to encourage community members to
> collaborate in updating content (where possible) and educate users on how
> the project works. The updated documentation will be hosted on our new
> upcoming website.
> 
> *Suggestion for user-orientated documentation:*
> 
>    - git - for hosting (gitlab recommended)
>    - RST - for the format of the documentation
>    - Sphynx - to generate web pages and PDF and other formats from RST
In my experience Sphinx's strength is in its ability to cross-reference the
code. That isn't something terribly helpful for user documentation, and it
makes the whole thing harder to set up for no clear benefit.

For user-facing docs I'd propose `mkdocs` instead, which is a lot more
focused and simpler to set up (can be done literally in a couple of
minutes). The main difference would be that it takes Markdown rather than
RST[1]. It trivially supports plugins for interesting things, like mermaid
(for sequence/block diagrams or FSMs) 

Main website: https://www.mkdocs.org/
Plugin catalog: https://github.com/mkdocs/catalog
    * mermaid plugin: https://github.com/fralau/mkdocs-mermaid2-plugin
    * kroki plugin: https://kroki.io/

[1] I happen to prefer Markdown, as I find it easier to read and write, but
    that's just personal preference

> 
> *Suggestion for developer reference documentation:*
> 
>    - Doxygen
>    - Kerneldoc
>    - Open to other suggestions here
There's 2 areas here. The format for the annotations, and the visualization
frontend. They need not be the same. Using Doxygen seems the less
"not-invented-here" approach, while kerneldoc would 

As for the frontend I would suggest to _not_ use Doxygen itself as the
generated websites are hideous to look at. Sphinx (through Breathe) or any
other Doxygen-database parse wouldr do the job as well providing a much
(much) better output.

> 
> Example of how documentation will be split:
> 
>    1. Getting started/beginner user guides
>    2. Learning orientated tutorials
>    3. Goal-orientated how-to guides
>    4. Developer related documentation
(1-3) seem like pretty much the same thing. Guides of increasing complexity
meant to train a new user/admin. Dividing such a section in those 3 blocks
seems sensible.

(4) could be split in a "Developer Manual", which would contain plain
explanation for dev-heavy concepts, and a "Reference Manual" with links to
the Doxygen-esque websites and a higher focus on implementation details.

> 
> Side note: Whilst I appreciate everyone has a different vision of what
> ideal documentation looks like, please be mindful that not everyone's
> thought processes or depth of knowledge are the same. All ideas are
> welcome, and decisions made will always reflect community needs.
> 
> Many thanks,
> Kelly Choi
> 
> Open Source Community Manager
> XenServer, Cloud Software Group

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:20:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:20:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633608.988599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3EsX-0007Ns-R9; Wed, 15 Nov 2023 12:20:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633608.988599; Wed, 15 Nov 2023 12:20: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 1r3EsX-0007Nl-OU; Wed, 15 Nov 2023 12:20:21 +0000
Received: by outflank-mailman (input) for mailman id 633608;
 Wed, 15 Nov 2023 12:20: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=8lFI=G4=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3EsW-0007MP-Ae
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:20:20 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2078.outbound.protection.outlook.com [40.107.13.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 563fa80e-83b1-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 13:20:17 +0100 (CET)
Received: from AS4PR10CA0014.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:5dc::18)
 by VI1PR08MB5469.eurprd08.prod.outlook.com (2603:10a6:803:132::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19; Wed, 15 Nov
 2023 12:19:40 +0000
Received: from AM3PEPF0000A78F.eurprd04.prod.outlook.com
 (2603:10a6:20b:5dc:cafe::8f) by AS4PR10CA0014.outlook.office365.com
 (2603:10a6:20b:5dc::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29 via Frontend
 Transport; Wed, 15 Nov 2023 12:19:39 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A78F.mail.protection.outlook.com (10.167.16.118) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.19 via Frontend Transport; Wed, 15 Nov 2023 12:19:39 +0000
Received: ("Tessian outbound e243565b0037:v228");
 Wed, 15 Nov 2023 12:19:39 +0000
Received: from 2d737cb443ea.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C6FD596F-8887-4230-8DF3-A79F6EA41BDD.1; 
 Wed, 15 Nov 2023 12:19:33 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2d737cb443ea.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Nov 2023 12:19:33 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AM0PR08MB5297.eurprd08.prod.outlook.com (2603:10a6:208:18a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Wed, 15 Nov
 2023 12:19:30 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.6977.029; Wed, 15 Nov 2023
 12: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: 563fa80e-83b1-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=iY8kQpeEQCxO98q5zu7xqp+DGfeF8lsfgyOeZ+CtpbH8893Zz5lOlp2dcmI+lYehKNMldBjeRvgUfygCb68g4heQPPZvn4Qi8SEAvlFluwkRXefCIs22TBrUvXppN43KCmDHkH7fGCYldaAM1epCWdP2ZyL5aTc9f7kExeeeom75owDEHHOoj3CrLLor5gMQvchPItt9XdIY0V1A+EDPMY6LokCzu/uENm5c8g5Qxlnkl5l9PjNICNQVONnjfFyY+k7lJEAKULa5fktX150S+2G98KtMYfXMbOICjmynljoh+wrqaPuY95FdDDGArknSdn8rJi1p3YE3UsZbkjrT2w==
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=TMUSBK4IYSmq+QQjGjD6+8lgvnoxXeaGvpwIQ28Ac4c=;
 b=CysDmM6vVcddgAZcR5ozmCOtgplRkenhQzrxhWzwHHb6mYs0ZBhD0U0QExe42e0chJ9JmCrsD7iKN3lr9sztHLG/xVgDJsTit8j5iIIYcAaHfnLpxqFlhVfXxqu/Aslf7Gbff1eJXvXH93umhwaT7kbZKkaYsCxSD3zTqiJjV+rzQBWA7IqTSI7kZ3PQL4Ihch+NFKlKUp7EiYbYKLgbAPHpvnuCxRFZ+nMUQurtzVambunrZUEr5N1Qz+H8yZYQ2GgpqyQfQSmdQINy0DQySQ++vL1u76YUP6n7rKCfaE0jSEfLFbQ6c2VOdmIUurgnZ78MDE9qUask/pp+SC20BQ==
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=TMUSBK4IYSmq+QQjGjD6+8lgvnoxXeaGvpwIQ28Ac4c=;
 b=hHuO7bsMI3YfjdJxVqXHd6WOmkRfNd4oCJW5qjAtWWCAkLf4t1Lhz5k++3lnz4OjMa3YDz5sP2kU1Nqvxbqpf3srHO17HRCl1WDvzQqRpUwiLRnY6A/7py/eYGh/wT3KWAtJ/2C4YB9FFDUeHA6J9hOs7drjRN0Q1nhcGx3IJ7E=
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: 4a260af88de8efeb
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dq7mXNs3aRXbXUkfeFf1mCB5CLw7m+z69lTRh/PWsmLusSxInQ3XiNRRCBptUUceTvxx/CdmsePUWWe1rqO1KExGhP4Oxxs3KPqg6qe2bVpe5rQ1c/LAip+N1cXuNhVKmjFtQMnBNLjLlqsXX76olZYwz4K06Eialr6xNunUPfD/re9kmLCIePtOlhlaPYoTtXwUJQ3HbNNhPN91kxMCZb9Xwq48S0eg2rzD+5C4Tg/vtx6bwZhxtvnTovmb7DfSr9/YqgHRKiMnTomvwvgJvh6VDpyYPF9pZks2/14sOxlmcbjWv8xKetVXTsviANCVdZ/rr+vjfDJVKpZpePoQbA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TMUSBK4IYSmq+QQjGjD6+8lgvnoxXeaGvpwIQ28Ac4c=;
 b=gkE3rbk6mNJv5OlVbTBXrI+ynf8qE0p0/YfrGo8BQsajKg128jOkVEHoHf4dsOQrKxXuP4GGF+lurK9EIg2d/TRgxynDDj5xehphQm3WKe2f9LTYFayDdTvk3gRwUq4SwNTv5F6hEY8o1o5PwU6PA/Jmb9jJoCL9nrq/VMCCY9AGm0koZ7RsLsV0LAw8BSIi/foyQBhqtN3DQjXe5BRBsHI0Euz+x0LjuB982U1yeDgMWnoE+O8Q1p5NjBnP8lpe8aCpx/AXVGERhCQG6/4Ea3XNnkxLvta0Jn9mzJSVDoXCcolO0Hp427IXwOJqRQxxvbAFouoifvR57k8Uhx9w6A==
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=TMUSBK4IYSmq+QQjGjD6+8lgvnoxXeaGvpwIQ28Ac4c=;
 b=hHuO7bsMI3YfjdJxVqXHd6WOmkRfNd4oCJW5qjAtWWCAkLf4t1Lhz5k++3lnz4OjMa3YDz5sP2kU1Nqvxbqpf3srHO17HRCl1WDvzQqRpUwiLRnY6A/7py/eYGh/wT3KWAtJ/2C4YB9FFDUeHA6J9hOs7drjRN0Q1nhcGx3IJ7E=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, 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 for-4.18] SUPPORT.md: Define support lifetime
Thread-Topic: [PATCH for-4.18] SUPPORT.md: Define support lifetime
Thread-Index: AQHaF72b8CvvI5/pmESXrW//HT9C3LB7TG0A
Date: Wed, 15 Nov 2023 12:19:29 +0000
Message-ID: <7DFD3C42-3B57-4F36-82A8-8076E8A46601@arm.com>
References: <20231115121632.63868-1-julien@xen.org>
In-Reply-To: <20231115121632.63868-1-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AM0PR08MB5297:EE_|AM3PEPF0000A78F:EE_|VI1PR08MB5469:EE_
X-MS-Office365-Filtering-Correlation-Id: e207e6e8-8084-4326-110b-08dbe5d523e9
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:
 0HqkPwWjszONakK/huKmcu6uKRwryFLSMkbVCUQU+EpDpZ44IoUdeCgfmbntyTqfG7skV3CqsAerzqQepKZvH9GnCO8OOiKoHhSjjcDbUe7w8TYyALCzd46rBfphpWYgPDw+mFuBeIMW7AX+R0aF94tAkPP4IHyCesbAasDrMY0T7IA7r/7md6ITEUW+OTSDTiIGlxeNnUKgJ+5YBGMG+hMdRh6egq5wsZ1wWZ7SLqcSk+vtZTrObINPXMMOxLm5LgOR6Cb5ZkrLnwRK0P/f3utqbatKJJBhd9g3L8Odbly3+z/Ipq/NjOOXqhDtiukWzcDUGxIp4FAZhVJbokTCg5rHlkrf8W3GuPgS4fsMIWBbIdOURr2Uh9HNEN97p725X9uunuaGYV4w91u7NPljE/ZsCk08RFKweQ8Bbno4kfbuktmad/dGBlmC1esXkziYk5Z5X5a3exv8lDZn4Q4zTQsxmldh66QEL+nf7aGaNNpLn+cZC6xrOuc50f7XmEAD9PCr6NZCOERS/SN5ELo5M37Qk9aPJK5O/vc4RF2LZiTiqq6DT2hQlwkOWetrAYNHlMHpSgmUMfetSM2RwaR0THKYtgXSZ6Lm9+ZVesqDhbtDMxD1xV05eWvLnU78QwmB
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:(13230031)(376002)(346002)(39860400002)(396003)(136003)(366004)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(33656002)(4326008)(8936002)(8676002)(91956017)(36756003)(86362001)(316002)(6486002)(478600001)(6506007)(38070700009)(71200400001)(66446008)(66556008)(66476007)(66946007)(54906003)(64756008)(76116006)(53546011)(6916009)(6512007)(5660300002)(2616005)(4744005)(26005)(4001150100001)(83380400001)(2906002)(41300700001)(38100700002)(122000001)(166002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <81AFB55BE8E0024BB37F9866B374980F@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5297
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:
 AM3PEPF0000A78F.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6d84080a-2bb6-47fd-df60-08dbe5d51e2f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IW9kJXLZk2SQzBa0WPWMV82pf+Jij0ISaNZMlA/elUA0WIqP7RafL2bfbH54cXuEnBEyogIg9/vMSHebFb+xOGoWgSwGv4lZx8W9r200OD5S3XsOH/xfYOfiptRryLYYQL3JYN1z1YFAaOh4/Clz8kQMdMALTK4SrUQKxzkiRPD+hLwr+XiMW95PkIH8YdeNDWP5aKJ6CTLDn4Bip6Krif1LzVJpwDEgvSlmBPP8O5ahtA2X0jF8djbILwOmzpWnbti18ewmoiFYRno5sbqguf7XO2D01Mz4LrSd0FCNT+YIQXzOX4y3O2LwCbYPAziYoOM6gdvp1mBhc6xKUJZJn87s4u/UrJXiofs4FO6NRDUvYIG8DSUlSj8kQJKDBdqj2L0QUcQlAQTkPtKjXKir2g1CdpG7i+8E9FxaohYJLpIZUYbgJkkpgHTK3zAD5JbyYBhsljzO70yK99241ABTInvxMLUrA2vlRO0v39FOl9ClNsExcujYVNHMg29TX8/ab4I17vt7XeTauoWamF1AZ2SEvL+4iNjSIX2onzav3IEMWVREd9fN7hNoVp8hOoIENDiBw+lR4sQPGvjEjZzK7KmZUuDV0fBZi0iyMKh+Pn7tpbcflCsRb+aEp7KlMU5ncJUZ3msQ2hIQMr8nwCl/NSjwF1pRZw8oO+JNSlwEGc588fmg91tOzj5sfPrvZ9Su
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:(13230031)(4636009)(39850400004)(396003)(136003)(346002)(376002)(230922051799003)(82310400011)(451199024)(64100799003)(1800799009)(186009)(36840700001)(46966006)(41300700001)(81166007)(356005)(166002)(2906002)(5660300002)(4001150100001)(36860700001)(33656002)(86362001)(4744005)(36756003)(82740400003)(2616005)(53546011)(6862004)(4326008)(8676002)(8936002)(478600001)(6512007)(83380400001)(316002)(26005)(336012)(6486002)(70586007)(47076005)(54906003)(70206006)(6506007)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 12:19:39.5859
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e207e6e8-8084-4326-110b-08dbe5d523e9
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:
	AM3PEPF0000A78F.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5469

Hi Julien,

> On Nov 15, 2023, at 20:16, Julien Grall <julien@xen.org> wrote:
>=20
> From: Julien Grall <jgrall@amazon.com>
>=20
> Signed-off-by: Julien Grall <jgrall@amazon.com>

Thanks for the patch and all your effort during the release period!

Release-acked-by: Henry Wang <Henry.Wang@arm.com>

Kind regards,
Henry

> ---
> SUPPORT.md | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>=20
> diff --git a/SUPPORT.md b/SUPPORT.md
> index fff4b4c5bad6..c452635eb552 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -9,10 +9,10 @@ for the definitions of the support status levels etc.
>=20
> # Release Support
>=20
> -    Xen-Version: 4.18-rc
> -    Initial-Release: n/a
> -    Supported-Until: TBD
> -    Security-Support-Until: Unreleased - not yet security-supported
> +    Xen-Version: 4.18
> +    Initial-Release: 2023-11-16
> +    Supported-Until: 2025-05-16
> +    Security-Support-Until: 2025-11-16
>=20
> Release Notes
> : <a href=3D"https://wiki.xenproject.org/wiki/Xen_Project_X.YY_Release_No=
tes">RN</a>
> --=20
> 2.40.1
>=20



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:28:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:28:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633613.988610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Ezj-0000s5-ID; Wed, 15 Nov 2023 12:27:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633613.988610; Wed, 15 Nov 2023 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 1r3Ezj-0000ry-FW; Wed, 15 Nov 2023 12:27:47 +0000
Received: by outflank-mailman (input) for mailman id 633613;
 Wed, 15 Nov 2023 12:27: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=8lFI=G4=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3Ezi-0000np-2A
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:27:46 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0614.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e19fcd2-83b2-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 13:27:41 +0100 (CET)
Received: from AS4P190CA0066.EURP190.PROD.OUTLOOK.COM (2603:10a6:20b:656::9)
 by DB9PR08MB6619.eurprd08.prod.outlook.com (2603:10a6:10:257::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20; Wed, 15 Nov
 2023 12:27:28 +0000
Received: from AM3PEPF0000A79B.eurprd04.prod.outlook.com
 (2603:10a6:20b:656:cafe::2d) by AS4P190CA0066.outlook.office365.com
 (2603:10a6:20b:656::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18 via Frontend
 Transport; Wed, 15 Nov 2023 12:27:28 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A79B.mail.protection.outlook.com (10.167.16.106) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.20 via Frontend Transport; Wed, 15 Nov 2023 12:27:27 +0000
Received: ("Tessian outbound 385ad2f98d71:v228");
 Wed, 15 Nov 2023 12:27:27 +0000
Received: from 485313b3ff44.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 E6E0668F-7721-4160-ACE2-08ACD31806A6.1; 
 Wed, 15 Nov 2023 12:27:21 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 485313b3ff44.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Nov 2023 12:27:21 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS8PR08MB6328.eurprd08.prod.outlook.com (2603:10a6:20b:33e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Wed, 15 Nov
 2023 12:27:18 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.6977.029; Wed, 15 Nov 2023
 12:27: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: 5e19fcd2-83b2-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=UFKHwN+DblJsPFvYB1jrZjM2O2xPhM/cvJIjXmxL5N2Mjaq212v18kXuGihsLc/GdwxtB3SfaLj8BQaH038IJQ72h9LiPa3Gb5PFyAECfFHplnfwoa2IjutRAJk46NOTVsb0bbP2XloZ5vwRjXmM4CidB64iuxs/oO0IQ/e69ZYvKJX3u2plJLakAF8lx47vsmnZvTTsm07ERUA7TxrnrNigvlWlcFy5UXvEFwkeORkGLqgxv+5sOmc6HPHkHTMdzzVW91wqD/fWFPbluNPXxAowbkBmX4Vq6hlk5bPhw3AQSzS5Cq/gtjq0g0hNDCsHQqWBbWWGtA+aaN59M+7Qfw==
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=7I/nlqbGTccXTU5caPS75NMDyMPpLIm3NfBK2cAggZA=;
 b=bNC/aNx9MMGLnqTaO/U9UXLElDouoKVNqWhg6hZChndXdtVXsgFXcgcvyO/GEAwafsXNu3j5CQ/kIarI/ey7wC/TmGFQYa+ZOpNKlP1FwRTnu1kLZN+FcYzrxmjFeZp+hHueHDW7XliLr5zpcdYZv5tPmpjId8dK3/7BIVJ7o+LlzGCvteeU1nY6bkCzntsLKteZmycAKxer3p9jAZx66RdNBS+HQccxbCzOBnFT2AL97w/2kQr3NKGxLQgLZZ4qFd5rWiiHlH5AkOkb4UfRZsu2SphTF0vbkE+8gDYEeEB+IFR0mnPpq+uHSkQt5MUJzEejKe0yGwypgOcZShmqhA==
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=7I/nlqbGTccXTU5caPS75NMDyMPpLIm3NfBK2cAggZA=;
 b=gA82GymkEQ2Gr1PZiovOdZBPGAc1KEQiwyq4kwevVRM8y2E6rthmj0aLdKon7TV//1Hc1alZcKEIjDMHGMUhyC9ll5I0Gzfo4WUIldcLge88ybqP5OjoZ+C/H+WZBn2OoYCSN5TtH0q90xBP6JEdpmYzGWu+QbAiWZZozYJ7gKM=
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: 6fc0943692a93314
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ijm6DBv1fIN5ZgICXbDUaIKgpG6OFoHbmHnFeVhKqOwpTIHSOcrPvwqA3aieV3Nil6u8BpBBvNEqTEF26oeRYx27p1+30iFw1R6RiZQ06EfaHHZGGeh2Us1vmehYdBWfG0lzbPYEYtQfMsJ56MFHmK8EFlllivM0m44jxj+fpXF4rfjTyPu5weTWje9ijKwLv9A14pMcOyN9xq79B5d5w3tbeh03jgYyopvlmTa1qeFtG7G7xE8Zzn1POnwwQRqrJDAvLaNeH3OkCL5XCXhrD8DZfKev2GlPFMQhYvZZB/k3JPewEWLc5ovgoW6gFzA/Pf3wJ/0CxXsr9IE6CUgFNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7I/nlqbGTccXTU5caPS75NMDyMPpLIm3NfBK2cAggZA=;
 b=LZB+ytkrnJBD6thgE6CjA/ujASkmvV7vRvi7pWUzatue+cEoBoWuVqemKvgeAB/xxOEF9Y6olgA0hnuXmaqS328nz/V0c4FMa4bDf2tQPp7BTcb5i79+Z68ck3wkjiA2I+ykFwdnLKNDNhfWXwk8b6dFhiA0nFG1hbgsZsX/Fcqq8xbnS/uy9Gm33J9/xgKiIFdTMy4JC0/9TtKs1bPz70CKiNz2+Rp6sumL3A8IoCGLJOX9WmQQhU2CMrJ1kPyXVwvhUtp+93ct+QUvG9fdK4SG4olHBMB6qaoxi9DLclTGzhRVFDTcuzCMksGehA+3deW9ZczRPqvNDDslK8waIA==
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=7I/nlqbGTccXTU5caPS75NMDyMPpLIm3NfBK2cAggZA=;
 b=gA82GymkEQ2Gr1PZiovOdZBPGAc1KEQiwyq4kwevVRM8y2E6rthmj0aLdKon7TV//1Hc1alZcKEIjDMHGMUhyC9ll5I0Gzfo4WUIldcLge88ybqP5OjoZ+C/H+WZBn2OoYCSN5TtH0q90xBP6JEdpmYzGWu+QbAiWZZozYJ7gKM=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, 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>
Subject: Re: [PATCH for-4.18] SUPPORT.md: Define support lifetime
Thread-Topic: [PATCH for-4.18] SUPPORT.md: Define support lifetime
Thread-Index: AQHaF72b8CvvI5/pmESXrW//HT9C3LB7Tp4A
Date: Wed, 15 Nov 2023 12:27:18 +0000
Message-ID: <AA42890F-2B1D-4DCA-939B-4F7BCB073891@arm.com>
References: <20231115121632.63868-1-julien@xen.org>
In-Reply-To: <20231115121632.63868-1-julien@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS8PR08MB6328:EE_|AM3PEPF0000A79B:EE_|DB9PR08MB6619:EE_
X-MS-Office365-Filtering-Correlation-Id: 83a5a330-217f-484a-f9a4-08dbe5d63b18
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:
 nctedayqTvR7w/YFgfvzL1aOL8N7775NA9XZmw2+Ji1AynH29NSMxaN96O1HT/0eYr5vYH9+9sgdAXe7n1aFuA+7zsqgAN71btxzKwGfG4qsRCmlfVnjljTv3PXO1lsY5l7bf6TYyEnrBhVSJzbSwvJScDCstZarFbfX1in5SLe7zcflAWPO/uANEy7uU2qT0ipcSvGAe7D1eqjlMfuiwqj6znYh/jx0GIIMbCsvrzbtBBm0BtwiQfFcXA5AJqUI7vFP40Scq8Wpshts0R/Z5UMnWmvEerjrFdTv7DC7o2Hktf+NWXKnbq1D4nHcrz1iyG7Vt1sGQo/AOq8p/iYr61TbRS/4JS3SU6PpueJgnos4ezZuaTYyB60yJv9V3aTjEOQJXSy6nFl6/I1MbqTmX4yWktOpZ12wrChrHZrihk//49oa9m5UKFCFRFsu6PyT/Xb8zgkz1gcY+E7YJHBRTJyqb0dMoJkHC/n84E9IgYXYcCVevkh8xBwc75591zDJ1+vNZ2+6WHDx7B/3tkUXUQlhts8W7EKOwW0gb0uM1dXMgFHDH6bCRFc9s2Ns5DAQd09Eu32DuUbf6bGtkWDq7LtpRT43/o/FFUKPbVUt25SmFOSC6sr+Jz0NdxiHGO9ysx4lmgY6mbEYO4anjLq5bQ==
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:(13230031)(39860400002)(136003)(366004)(376002)(396003)(346002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(33656002)(41300700001)(2906002)(4744005)(86362001)(5660300002)(8676002)(4001150100001)(66946007)(316002)(36756003)(76116006)(66446008)(64756008)(110136005)(91956017)(66476007)(38100700002)(66556008)(54906003)(8936002)(4326008)(38070700009)(478600001)(6486002)(83380400001)(122000001)(71200400001)(53546011)(26005)(6506007)(6512007)(2616005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E8205EC886188945BC6B65B33143CB8A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6328
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:
 AM3PEPF0000A79B.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	ad0d71a6-4edd-4b8e-a0ca-08dbe5d63598
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	l2v8LQdUoHSWkrGDAmpup69E8a227oi8XIUkQJ00pjPu8giCSQO1tyRe6i5qyCOEQEEuJ5rXqpRq32OUwx3/1irAxzbr0s4jHBW02jr2FO2ZapIw8R661W5P+OVfA/yQAr0b1wZfCNQd4PWoHvePv+5Z9xnbRACQANSRyVUFiXfzYVnRPF5lg/JHagOuI4iYlMsHh9jIY7p5vsGf9Ml+55o1VGnsDczpHQOJOh+4e7Akvh2YWxPQ6NDE6sy9QDsZLaTMMKCNWwkAjvsm1dXubrHCUNko4PBbGTwZeXAbxlh1jl0fCgjxQy7p4yb+Fk+ai6y+3a7vIBQsnpv2y17difCnkTCnS+qV0U1sRRHdP13fNfVPo/SLm18kPk7tLNdyfH1qzgVc7eQGoZzh3xcuFsQ6LsqXIoyK+gTuAlb1LhN5H510LN8r01/IegeMDUzIrjqk7UeBO5wgQZeOwbkeDwpu7FLqaber1AeF4/eoZtT0MAUHXrBYFwNXXz/f9NZosVwonk8hcoR+1i684JejJmYWFuSVvd4DwXQgKyFEEZ6N6SUyy78ZUY9OS/eEeOEm8pC71yIi73ReGUpvOgVLdTNwvmyNsYQFaQGtbN8LlyR+TOIPi9iq5TUGrRpsgETKvVvagDN0PVmie++trSMEaud6C+VBiZAL/KB7Wh1pgYYbs0KOpqga57USpDoqzUmrTnS92l+iJTncbPNrvGUNamFhoywO5EmYdyy+64kQS4Z3zPnUYUGE3o1PNIHSwrvT
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:(13230031)(4636009)(376002)(39860400002)(136003)(346002)(396003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(82310400011)(46966006)(36840700001)(40470700004)(5660300002)(86362001)(47076005)(33656002)(6486002)(36860700001)(6512007)(356005)(81166007)(36756003)(316002)(4326008)(70586007)(8936002)(8676002)(70206006)(40480700001)(54906003)(41300700001)(4001150100001)(4744005)(2906002)(110136005)(40460700003)(336012)(83380400001)(26005)(2616005)(82740400003)(478600001)(6506007)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 12:27:27.9686
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 83a5a330-217f-484a-f9a4-08dbe5d63b18
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:
	AM3PEPF0000A79B.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6619

SGkgSnVsaWVuLA0KDQo+IE9uIE5vdiAxNSwgMjAyMywgYXQgMjA6MTYsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gRnJvbTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxA
YW1hem9uLmNvbT4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEp1bGllbiBHcmFsbCA8amdyYWxsQGFt
YXpvbi5jb20+DQo+IC0tLQ0KPiBTVVBQT1JULm1kIHwgOCArKysrLS0tLQ0KPiAxIGZpbGUgY2hh
bmdlZCwgNCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBh
L1NVUFBPUlQubWQgYi9TVVBQT1JULm1kDQo+IGluZGV4IGZmZjRiNGM1YmFkNi4uYzQ1MjYzNWVi
NTUyIDEwMDY0NA0KPiAtLS0gYS9TVVBQT1JULm1kDQo+ICsrKyBiL1NVUFBPUlQubWQNCj4gQEAg
LTksMTAgKzksMTAgQEAgZm9yIHRoZSBkZWZpbml0aW9ucyBvZiB0aGUgc3VwcG9ydCBzdGF0dXMg
bGV2ZWxzIGV0Yy4NCj4gDQo+ICMgUmVsZWFzZSBTdXBwb3J0DQo+IA0KPiAtICAgIFhlbi1WZXJz
aW9uOiA0LjE4LXJjDQo+IC0gICAgSW5pdGlhbC1SZWxlYXNlOiBuL2ENCj4gLSAgICBTdXBwb3J0
ZWQtVW50aWw6IFRCRA0KPiAtICAgIFNlY3VyaXR5LVN1cHBvcnQtVW50aWw6IFVucmVsZWFzZWQg
LSBub3QgeWV0IHNlY3VyaXR5LXN1cHBvcnRlZA0KPiArICAgIFhlbi1WZXJzaW9uOiA0LjE4DQo+
ICsgICAgSW5pdGlhbC1SZWxlYXNlOiAyMDIzLTExLTE2DQo+ICsgICAgU3VwcG9ydGVkLVVudGls
OiAyMDI1LTA1LTE2DQo+ICsgICAgU2VjdXJpdHktU3VwcG9ydC1VbnRpbDogMjAyNS0xMS0xNg0K
DQpJIHRob3VnaHQgd2UgaGF2ZSBhIDMgeWVhcnPigJkgc3VwcG9ydCBsaWZldGltZSwgc28gbWF5
YmUgaXQgc2hvdWxkIGJlIDIwMjYtMTEtMTYsIGJ1dCBub3Qgc3VyZQ0KaWYgaXQgaXMgc3RpbGwg
dGhlIGNhc2UuDQoNCkkgd2lsbCBsZXQgSmFuIHRvIGRvdWJsZSBjaGVjay4gTXkgcmVsZWFzZSBh
Y2sgc3RpbGwgaG9sZHMgb25jZSB3ZSBoYXZlIHRoZSBjb25jbHVzaW9uLg0KDQpLaW5kIHJlZ2Fy
ZHMsDQpIZW5yeQ0KDQo+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:33:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:33:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633617.988620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3F5H-0003iY-Be; Wed, 15 Nov 2023 12:33:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633617.988620; Wed, 15 Nov 2023 12: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 1r3F5H-0003iR-7i; Wed, 15 Nov 2023 12:33:31 +0000
Received: by outflank-mailman (input) for mailman id 633617;
 Wed, 15 Nov 2023 12:33:29 +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 1r3F5F-0003iL-RZ
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:33:29 +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 1r3F5F-0000Jw-Dd; Wed, 15 Nov 2023 12:33:29 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3F5F-0002xX-7w; Wed, 15 Nov 2023 12:33: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=UVxCVe+BTrigTGFnDJWgbNr9Jjgi0VZxs0W3CVERRoY=; b=mFo53UTUezrs9pQorWzVDQ+i8S
	+P/rxSGG1McS3Y93aHkAHPH4yxvMlkpZhAf2R2Ji3HEKIqQuVQ2GDbIzsZ5i2rA2o8Cfdsukq7IYr
	Z7Nc6lKnGg6cRwggwRK0xFS+JV+LAn7nxoqStbKfgb2+AFHdQod4CYM/e/MQ0kPjJh3k=;
Message-ID: <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
Date: Wed, 15 Nov 2023 12:33:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-GB
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

Thanks for adding support for virtio-pci in Xen. I have some questions.

On 15/11/2023 11:26, Sergiy Kibrik wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> In order to enable more use-cases such as having multiple
> device-models (Qemu) running in different backend domains which provide
> virtio-pci devices for the same guest, we allocate and expose one
> PCI host bridge for every virtio backend domain for that guest.

OOI, why do you need to expose one PCI host bridge for every stubdomain?

In fact looking at the next patch, it seems you are handling some of the 
hostbridge request in Xen. This is adds a bit more confusion.

I was expecting the virtual PCI device would be in the vPCI and each 
Device emulator would advertise which BDF they are covering.

> 
> For that purpose, reserve separate virtio-pci resources (memory and SPI range
> for Legacy PCI interrupts) up to 8 possible PCI hosts (to be aligned with

Do you mean host bridge rather than host?

> MAX_NR_IOREQ_SERVERS) and allocate a host per backend domain. The PCI host
> details including its host_id to be written to dedicated Xenstore node for
> the device-model to retrieve.

So which with approach, who is decide which BDF will be used for a given 
virtio PCI device?

> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
> ---
>   xen/include/public/arch-arm.h | 21 +++++++++++++++++++++
>   1 file changed, 21 insertions(+)
> 
> diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> index a25e87dbda..e6c9cd5335 100644
> --- a/xen/include/public/arch-arm.h
> +++ b/xen/include/public/arch-arm.h
> @@ -466,6 +466,19 @@ typedef uint64_t xen_callback_t;
>   #define GUEST_VPCI_MEM_ADDR                 xen_mk_ullong(0x23000000)
>   #define GUEST_VPCI_MEM_SIZE                 xen_mk_ullong(0x10000000)
>   
> +/*
> + * 16 MB is reserved for virtio-pci configuration space based on calculation
> + * 8 bridges * 2 buses x 32 devices x 8 functions x 4 KB = 16 MB

Can you explain how youd ecided the "2"?

> + */
> +#define GUEST_VIRTIO_PCI_ECAM_BASE          xen_mk_ullong(0x33000000)
> +#define GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE    xen_mk_ullong(0x01000000)
> +#define GUEST_VIRTIO_PCI_HOST_ECAM_SIZE     xen_mk_ullong(0x00200000)
> +
> +/* 64 MB is reserved for virtio-pci memory */
> +#define GUEST_VIRTIO_PCI_ADDR_TYPE_MEM    xen_mk_ullong(0x02000000)
> +#define GUEST_VIRTIO_PCI_MEM_ADDR         xen_mk_ullong(0x34000000)
> +#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x04000000)
> +
>   /*
>    * 16MB == 4096 pages reserved for guest to use as a region to map its
>    * grant table in.
> @@ -476,6 +489,11 @@ typedef uint64_t xen_callback_t;
>   #define GUEST_MAGIC_BASE  xen_mk_ullong(0x39000000)
>   #define GUEST_MAGIC_SIZE  xen_mk_ullong(0x01000000)
>   
> +/* 64 MB is reserved for virtio-pci Prefetch memory */

This doesn't seem a lot depending on your use case. Can you details how 
you can up with "64 MB"?

> +#define GUEST_VIRTIO_PCI_ADDR_TYPE_PREFETCH_MEM    xen_mk_ullong(0x42000000)
> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_ADDR         xen_mk_ullong(0x3a000000)
> +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE         xen_mk_ullong(0x04000000)
> +
>   #define GUEST_RAM_BANKS   2
>   
>   /*
> @@ -515,6 +533,9 @@ typedef uint64_t xen_callback_t;
>   #define GUEST_VIRTIO_MMIO_SPI_FIRST   33
>   #define GUEST_VIRTIO_MMIO_SPI_LAST    43
>   
> +#define GUEST_VIRTIO_PCI_SPI_FIRST   44
> +#define GUEST_VIRTIO_PCI_SPI_LAST    76

Just to confirm this is 4 interrupts per PCI host bridge? If so, can 
this be clarified in a comment?

Also, above you said that the host ID will be written to Xenstore. But 
who will decide which SPI belongs to which host bridge?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:35:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:35:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633619.988630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3F7E-0004G4-Mu; Wed, 15 Nov 2023 12:35:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633619.988630; Wed, 15 Nov 2023 12:35: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 1r3F7E-0004Fx-JD; Wed, 15 Nov 2023 12:35:32 +0000
Received: by outflank-mailman (input) for mailman id 633619;
 Wed, 15 Nov 2023 12:35: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 1r3F7D-0004Fr-20
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:35: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 1r3F7A-0000Lf-I4; Wed, 15 Nov 2023 12:35:28 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3F7A-00033G-CJ; Wed, 15 Nov 2023 12:35: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=dHDI6KAwPtbIQC4w5o8y9P4X+HvgiRz9kODEMSsrYpg=; b=apWO0vcpmuvV8hxHpJxVfQjd8f
	LE8Aj6D5vs3pTAYcrWZd0AgVkaei38/qMmxOPM/brsEM8wdQmjolGwT9mbPKQDVzHYOtIVVlp27QR
	gzM2s0NiLC9ivcZNgDxQIYGVkgkkt49KB+U2uhC/uDsBJQJTqFBs8D5GczRU8FVrUjmA=;
Message-ID: <c010e6c5-f352-46da-bb23-cd668de6a0a8@xen.org>
Date: Wed, 15 Nov 2023 12:35:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.18] SUPPORT.md: Define support lifetime
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 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>
References: <20231115121632.63868-1-julien@xen.org>
 <AA42890F-2B1D-4DCA-939B-4F7BCB073891@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <AA42890F-2B1D-4DCA-939B-4F7BCB073891@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Henry,

On 15/11/2023 12:27, Henry Wang wrote:
>> On Nov 15, 2023, at 20:16, Julien Grall <julien@xen.org> wrote:
>>
>> From: Julien Grall <jgrall@amazon.com>
>>
>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>> ---
>> SUPPORT.md | 8 ++++----
>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/SUPPORT.md b/SUPPORT.md
>> index fff4b4c5bad6..c452635eb552 100644
>> --- a/SUPPORT.md
>> +++ b/SUPPORT.md
>> @@ -9,10 +9,10 @@ for the definitions of the support status levels etc.
>>
>> # Release Support
>>
>> -    Xen-Version: 4.18-rc
>> -    Initial-Release: n/a
>> -    Supported-Until: TBD
>> -    Security-Support-Until: Unreleased - not yet security-supported
>> +    Xen-Version: 4.18
>> +    Initial-Release: 2023-11-16
>> +    Supported-Until: 2025-05-16
>> +    Security-Support-Until: 2025-11-16
> 
> I thought we have a 3 years’ support lifetime, so maybe it should be 2026-11-16, but not sure
> if it is still the case.

Hmmm... You are right for the security support. I didn't do the math 
properly.

So it should be 2026-11-16. I can adjust on commit. I think the other 
date should be correct. For reference this is what we have for 4.17:

+    Initial-Release: 2022-12-12
+    Supported-Until: 2024-06-12
+    Security-Support-Until: 2025-12-12

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:38:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:38:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633622.988640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3F9g-0005wF-2r; Wed, 15 Nov 2023 12:38:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633622.988640; Wed, 15 Nov 2023 12:38: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 1r3F9f-0005w8-VT; Wed, 15 Nov 2023 12:38:03 +0000
Received: by outflank-mailman (input) for mailman id 633622;
 Wed, 15 Nov 2023 12: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=8lFI=G4=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3F9e-0005vy-Vq
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:38:02 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2074.outbound.protection.outlook.com [40.107.13.74])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d0bb0416-83b3-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 13:38:02 +0100 (CET)
Received: from AS9PR04CA0159.eurprd04.prod.outlook.com (2603:10a6:20b:530::20)
 by DB9PR08MB9634.eurprd08.prod.outlook.com (2603:10a6:10:461::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Wed, 15 Nov
 2023 12:37:30 +0000
Received: from AMS0EPF000001B6.eurprd05.prod.outlook.com
 (2603:10a6:20b:530:cafe::8) by AS9PR04CA0159.outlook.office365.com
 (2603:10a6:20b:530::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18 via Frontend
 Transport; Wed, 15 Nov 2023 12:37:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B6.mail.protection.outlook.com (10.167.16.170) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.20 via Frontend Transport; Wed, 15 Nov 2023 12:37:30 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Wed, 15 Nov 2023 12:37:29 +0000
Received: from eec2d66673c7.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A4E7A13C-418F-43DD-864E-9AF2C81899FD.1; 
 Wed, 15 Nov 2023 12:37:23 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id eec2d66673c7.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Nov 2023 12:37:23 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAWPR08MB9639.eurprd08.prod.outlook.com (2603:10a6:102:2e3::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Wed, 15 Nov
 2023 12:37:18 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.6977.029; Wed, 15 Nov 2023
 12: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>
X-Inumbo-ID: d0bb0416-83b3-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=PBlH0GeYL4OaP1gG5xQwKQEcmFvt5dXs5zVGRGqwn3F3IDVknTTAjX6R6VKcuAZ5LrEE/etIPvQpjwH3vuvj7gfQnp1HZhV4xApOFxdqw29YO4bOMZ2TT48hxbx+tPF8359a8eRlgbQxa6p2ktjk9vdc7CFGE8fQQ8oE2+RB/01tGM/WZKGOOXRNPuF4GnI/JXwzTTklAe5ytROAu2ztSuO/345SQypnJOD61CzYUZ1OX71SN3IGtdxjaHhqtII2aea6501vV0dsC2y/L0RFrIcJki4anJxJK2UhpgmIrQxN8VC91LPFkj5EYyF4mY1XMP1g9cpkjN47spqbVTeq6w==
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=tLJ2Cd9UGowk6lq28GE8OtWxdm5gAavHp2Yhyu7sM9s=;
 b=XZ/veO4HykUtbQBAIecU/djElvqTf2XkMmb31Jq4NxL/1/w1bOU44FLOwHoKbWsmQgA3xleH//N0CC5PlLpre5wvAXWtQmhrFB22ASE65NQ4m3yTRuE+yVWWr3DCYoOstxPm5NtwWKXcn6+nhAvH0Ajvj5TcwbvHzqYeEwdLkYJxZefOwdXbYMf3JB0e1Gh4I2cD0scq1AritgcsCfn1b3T2DFpI7tOYJVZwQ50WSn9LbFp98RG/yhRRXo3CAAfNkzpCefkuuxQxhgczv8M6j12McMrXMZnNsPjCQnaq9tKGc8TFJHRlyAjnSd/TzANP0SydgYKkntd+tPox+JrSiA==
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=tLJ2Cd9UGowk6lq28GE8OtWxdm5gAavHp2Yhyu7sM9s=;
 b=hL0huDQkx4YwPiz1NTqEy7cnx8RXZIeq7IKfho7KAdUC8BYdhWoQRKQbwE26c/6icWuduPcs6KjLtla9rG/L6uQ79Is10IZAJ0CtwIcFu5BKP//YAnU59V4E9DwoWSJ6ervPakHhRg4aSHL1mohH1V0D+hNPZWdUzvpc8nFeC8c=
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: 7a1fe04f4f7722c9
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j3atXe9+5i81Pt1KN4oj9yfLHYnCOjla4tTZnIydyajWrSkWnZKusFCYoMMJkdZpjpfQadnyYXZ6pBKIP9Ph96CBK0g4txNJOifNYRpSJW9YAllf09JOcnSoUVkhta4MssKCfjmdlu6QDk3Awwwt+LHsMOZHGo8XJbDplPBxdgfKCe/IpFcW/A0Ve9jwiLrLt4ajsDXu+h7+Ss4/bG8aVNspaXzYQDJBMjS2D+zjDqHfRtdbpeeUPMrxCw6zP7sVX5slPvfULPT1onJNW4TS7vPROGT2tgu8L1GVJl9UoPX26cbarSAq4RUwx45dFVpW64dtYaE4Ezm8cPjq7AQm1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tLJ2Cd9UGowk6lq28GE8OtWxdm5gAavHp2Yhyu7sM9s=;
 b=I0kLD06OrzTfQIizjxg6cpSGoQleh3ztsE96yeEJ+S8x+hAxe62pHTZGmppXvta+GokMx/cTPk3a+fHy+0v0ClEcz72MEDSmCFZbeeyV+baOzqgh4zmEUsJnW1FJ0bw9+pcAB4dtwCHFueDjmjP5QPHVmElvngPZQ4wy+Qa6r/djM6r1Kpy35W35M6hlE/WAY8dCTFsDMccG6s5MfSievsThdgOzr3wucfvq1nNwweCN5/d8aGlhesKazMzrhRZO8/b341VE8W2iWk2ey8GDq0SWCxrU/8kXcuWlpfcmdJJkllrR9bcP4IdmvIh200kJ1lWOsn4vgGfhPfnY/3LheQ==
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=tLJ2Cd9UGowk6lq28GE8OtWxdm5gAavHp2Yhyu7sM9s=;
 b=hL0huDQkx4YwPiz1NTqEy7cnx8RXZIeq7IKfho7KAdUC8BYdhWoQRKQbwE26c/6icWuduPcs6KjLtla9rG/L6uQ79Is10IZAJ0CtwIcFu5BKP//YAnU59V4E9DwoWSJ6ervPakHhRg4aSHL1mohH1V0D+hNPZWdUzvpc8nFeC8c=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Jan Beulich <jbeulich@suse.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, 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>
Subject: Re: [PATCH for-4.18] SUPPORT.md: Define support lifetime
Thread-Topic: [PATCH for-4.18] SUPPORT.md: Define support lifetime
Thread-Index: AQHaF72b8CvvI5/pmESXrW//HT9C3LB7Tp4AgAACUQCAAAB4AA==
Date: Wed, 15 Nov 2023 12:37:18 +0000
Message-ID: <0EE453CE-DC2C-4F69-874B-7D6F8130388F@arm.com>
References: <20231115121632.63868-1-julien@xen.org>
 <AA42890F-2B1D-4DCA-939B-4F7BCB073891@arm.com>
 <c010e6c5-f352-46da-bb23-cd668de6a0a8@xen.org>
In-Reply-To: <c010e6c5-f352-46da-bb23-cd668de6a0a8@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PAWPR08MB9639:EE_|AMS0EPF000001B6:EE_|DB9PR08MB9634:EE_
X-MS-Office365-Filtering-Correlation-Id: 7ddbcda0-8ad1-4355-3eeb-08dbe5d7a1fc
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:
 CX6JqetA9QFMx2clJiK4ccS5df49QClWJ3xut2gVMUelBegqHgRr8ys1rZ4u81swvX+sqk4ZJAVToMwtDSLLfauTE1M3ceCwqUp3W/y6iytNHfODg/m/vypkhnIhWo9wj6O3mSGDaIKPRS7s7Vsl5lhcKoFbNWWDoZol032M7lBOb8Y7bti7co4vBCFwtTzBS4cZk6cusFiBvmYoel7nyveyodDqYOn0f26c1XG6ZItPNq8E4udgPHdLiTPj5Fvl5FqRpzk99GawuG6wfPhzAmoNE9IhNTySpff9w8h0nQ3TDxDYKqvcrDeJp0cGIGPD1xVm50ncBZzgs+MiYUuZnJp7tfZnPOVm3QrxtAILyof/7eb70aGSuU7mE6Go1Wlg/ASd6sv+rWL6FBkYjuoxQxDnFzUn3A1SPFOzCalbkD5KRxJiuXAGSGWFY3M9sKgf65cOMpyl4uIjvdvGKPsYNTzpRwaJyWPV6DfLHEGdQZKfJ1m53OmKCG2gV3+wNRl3fKrcGNyrXBvxiNNgrYkqWadCHSJWDP5W7OujxQntyQKtyKqdzwf1lTeXY1hQ2gFuDmJMGTg8nx6Y6QmGQS4Y09QQlr8kfDdYyG5GjOKbN6opp/bItBeRyTB4iYsNTdnc2EE3q5kysoGW96iLUQzdVg==
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:(13230031)(366004)(136003)(396003)(346002)(376002)(39860400002)(230922051799003)(64100799003)(186009)(451199024)(1800799009)(33656002)(5660300002)(122000001)(38100700002)(41300700001)(86362001)(83380400001)(26005)(2616005)(71200400001)(6512007)(6506007)(4001150100001)(53546011)(6486002)(36756003)(478600001)(38070700009)(2906002)(64756008)(54906003)(66556008)(316002)(6916009)(8676002)(91956017)(8936002)(4326008)(66476007)(76116006)(66446008)(66946007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <40839EFE24478247934D383C90210021@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9639
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:
 AMS0EPF000001B6.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f5fd8a40-78c0-4b22-bf87-08dbe5d79b3c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iwHUSyIUEDdS1cE7tocgSomlCEIz+lK3/dPtrIRam6o/s4/fjHL0IBNEj5wIaAD4QxRXs+6giskoyJNrmvaZtVjGuz7maZDoQptgJxpWY3mGGd/gwNl4H8O8iVKL8Vi+1Lty37T5v2ieZpBBDiXQ0X8Bm9eeAy7wanWlVg+Dc2eHpwaETb2bJKnxHT4t+5DHcBl1cper6DRopsFyOctBoPqsqeV89F/Hauf+DmpwXRBhbDx1bHtFkSkKRkV2L15viupzbG3h9Am1nWN6Hz+VMpWmp+RGEOFwULkx43ek6idL1SRe3L9xIhEflQMOcTiqGtXo+ZWdyekz3TXcptVyVREeTLT/jG3rZltLFuQGRIMTmPkfEixJ311De5xLwctoCi12Hzc+mzR6SP0PHHHBVwksu8TDcf5lH4CnQVIqECqBm3QCoBYlCCexI4vpERafPZjMuH6cf8TL6e/CzYM+hi3JyHoFmFxDXMD4sBquexo/pNOVTYk5a3FIkj/iKBQa/R5hw5QLUhQtKBwxLQNgXZVnMNMvC8drwW7FYD+nDA7oUiVr74zo68TpgMKOG/1o9gIOP3oFrgHyrtVyX01iHrZIuBWdCaG/5rhe83f4b0YKshPr7cd3oHOhSLcdRcIEZRvOld3tfEsF9U5avMkcgJnUMimqdQ4SrTxE9iH15+S3M/6S881/qtpnGF0hoOs1nRpade/ON3dKUZCy9vQBp3x71M33dJG8Nbk/9DQI/jxKSnT6LImJJIByWMEwa/Eq
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:(13230031)(4636009)(346002)(376002)(136003)(39860400002)(396003)(230922051799003)(1800799009)(64100799003)(82310400011)(186009)(451199024)(36840700001)(46966006)(40470700004)(33656002)(8676002)(4326008)(6862004)(40480700001)(41300700001)(4001150100001)(54906003)(8936002)(2906002)(40460700003)(6486002)(336012)(83380400001)(36756003)(316002)(82740400003)(70206006)(86362001)(36860700001)(5660300002)(53546011)(478600001)(6506007)(47076005)(356005)(70586007)(6512007)(2616005)(26005)(81166007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 12:37:30.0980
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7ddbcda0-8ad1-4355-3eeb-08dbe5d7a1fc
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:
	AMS0EPF000001B6.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB9634

SGkgSnVsaWVuLA0KDQo+IE9uIE5vdiAxNSwgMjAyMywgYXQgMjA6MzUsIEp1bGllbiBHcmFsbCA8
anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPiANCj4gSGkgSGVucnksDQo+IA0KPiBPbiAxNS8xMS8y
MDIzIDEyOjI3LCBIZW5yeSBXYW5nIHdyb3RlOg0KPj4+IE9uIE5vdiAxNSwgMjAyMywgYXQgMjA6
MTYsIEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+IHdyb3RlOg0KPj4+IA0KPj4+IEZyb206
IEp1bGllbiBHcmFsbCA8amdyYWxsQGFtYXpvbi5jb20+DQo+Pj4gDQo+Pj4gU2lnbmVkLW9mZi1i
eTogSnVsaWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4NCj4+PiAtLS0NCj4+PiBTVVBQT1JU
Lm1kIHwgOCArKysrLS0tLQ0KPj4+IDEgZmlsZSBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDQg
ZGVsZXRpb25zKC0pDQo+Pj4gDQo+Pj4gZGlmZiAtLWdpdCBhL1NVUFBPUlQubWQgYi9TVVBQT1JU
Lm1kDQo+Pj4gaW5kZXggZmZmNGI0YzViYWQ2Li5jNDUyNjM1ZWI1NTIgMTAwNjQ0DQo+Pj4gLS0t
IGEvU1VQUE9SVC5tZA0KPj4+ICsrKyBiL1NVUFBPUlQubWQNCj4+PiBAQCAtOSwxMCArOSwxMCBA
QCBmb3IgdGhlIGRlZmluaXRpb25zIG9mIHRoZSBzdXBwb3J0IHN0YXR1cyBsZXZlbHMgZXRjLg0K
Pj4+IA0KPj4+ICMgUmVsZWFzZSBTdXBwb3J0DQo+Pj4gDQo+Pj4gLSAgICBYZW4tVmVyc2lvbjog
NC4xOC1yYw0KPj4+IC0gICAgSW5pdGlhbC1SZWxlYXNlOiBuL2ENCj4+PiAtICAgIFN1cHBvcnRl
ZC1VbnRpbDogVEJEDQo+Pj4gLSAgICBTZWN1cml0eS1TdXBwb3J0LVVudGlsOiBVbnJlbGVhc2Vk
IC0gbm90IHlldCBzZWN1cml0eS1zdXBwb3J0ZWQNCj4+PiArICAgIFhlbi1WZXJzaW9uOiA0LjE4
DQo+Pj4gKyAgICBJbml0aWFsLVJlbGVhc2U6IDIwMjMtMTEtMTYNCj4+PiArICAgIFN1cHBvcnRl
ZC1VbnRpbDogMjAyNS0wNS0xNg0KPj4+ICsgICAgU2VjdXJpdHktU3VwcG9ydC1VbnRpbDogMjAy
NS0xMS0xNg0KPj4gSSB0aG91Z2h0IHdlIGhhdmUgYSAzIHllYXJz4oCZIHN1cHBvcnQgbGlmZXRp
bWUsIHNvIG1heWJlIGl0IHNob3VsZCBiZSAyMDI2LTExLTE2LCBidXQgbm90IHN1cmUNCj4+IGlm
IGl0IGlzIHN0aWxsIHRoZSBjYXNlLg0KPiANCj4gSG1tbS4uLiBZb3UgYXJlIHJpZ2h0IGZvciB0
aGUgc2VjdXJpdHkgc3VwcG9ydC4gSSBkaWRuJ3QgZG8gdGhlIG1hdGggcHJvcGVybHkuDQo+IA0K
PiBTbyBpdCBzaG91bGQgYmUgMjAyNi0xMS0xNi4gSSBjYW4gYWRqdXN0IG9uIGNvbW1pdC4NCg0K
VGhhbmtzLCBhZGp1c3Rpbmcgb24gY29tbWl0IHNvdW5kcyBnb29kLg0KDQo+IEkgdGhpbmsgdGhl
IG90aGVyIGRhdGUgc2hvdWxkIGJlIGNvcnJlY3QuDQoNClllcyBpdCBpcyBjb3JyZWN0Lg0KDQo+
IEZvciByZWZlcmVuY2UgdGhpcyBpcyB3aGF0IHdlIGhhdmUgZm9yIDQuMTc6DQo+IA0KPiArICAg
IEluaXRpYWwtUmVsZWFzZTogMjAyMi0xMi0xMg0KPiArICAgIFN1cHBvcnRlZC1VbnRpbDogMjAy
NC0wNi0xMg0KPiArICAgIFNlY3VyaXR5LVN1cHBvcnQtVW50aWw6IDIwMjUtMTItMTINCg0KS2lu
ZCByZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:39:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:39:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633625.988650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3FAq-00077w-BT; Wed, 15 Nov 2023 12:39:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633625.988650; Wed, 15 Nov 2023 12:39: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 1r3FAq-00077p-8J; Wed, 15 Nov 2023 12:39:16 +0000
Received: by outflank-mailman (input) for mailman id 633625;
 Wed, 15 Nov 2023 12:39: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=CM7O=G4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3FAo-00076F-Kb
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:39:14 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb4c77b4-83b3-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 13:39:13 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5094727fa67so9782433e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 04:39:13 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 r13-20020a19ac4d000000b00507a3b0eb34sm1621241lfc.264.2023.11.15.04.39.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Nov 2023 04:39:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fb4c77b4-83b3-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700051953; x=1700656753; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=3+kmdK5+vTbYRyctZ13aQlZSzFG0gBuTt98+lVX8nrM=;
        b=O/7PiNtZQxQtpgCUsud2D6X6EjBOK8i8NLBLbuG7K4o7FzsRHTCQatEGaRsblZ6O6K
         9BgiIsgi4OaXD4u6chsstjJrhGVQtGKcliIQvMigIuHOjYafGQDMCjhSDnJN6t9TXvxt
         Bm7A+eTK/HD4i4JGdfPfEd1ZRS/pXC3E/R1NDRPFMvdsf2bH4Ro3o0HVvDMpWLdp2Qla
         5VYHPG86dxL48ZOsyBiU+bpw4ZswLElHAAGgJSrRW+mlh2pVojhP5HsaLaviQ6kx2VQw
         KNVLbBpqiubQiFCo4Rnz/v8ewUgDf88oicuW95nm8OHUy8kUfXcOGiVgKUN8xv0gFoJP
         zItw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700051953; x=1700656753;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3+kmdK5+vTbYRyctZ13aQlZSzFG0gBuTt98+lVX8nrM=;
        b=jq67L1OKyEog3vhND2bxs61M/0jxdgx1pOUlnOR75UxrLhsHHdNWaSlbrWFtxRno1B
         kGuyyFecOLmfz3INn6w+UbDJQOH9g3fGwjzjRj/2H/d4R0xYUrtOdrVCTQ/Tz2zyEB/n
         SXMSXgnpFNxzA4I0pIUfiQOuIOICjTZ8ddJbeKOOpyUGjg4SWDSCD3j1CFJliyLHNQ7T
         hhAWOObJZ8q0zrWZ83A+DCvppK6zXmrpJs2TNj3Cw+PwOommsowIDX3J6g5IOtlqV9Gr
         MbZK7/nW/qMPaQW8a4bPYXlrVpZ1vLKepiVL1Ij9JpC7lPsDZIrXwNzTKZhWHqkfyUdA
         fGTg==
X-Gm-Message-State: AOJu0YxU5HrwQxDFizVgcN/f9Qx4X+VSriPbzCB8Tp8pU6X3EIqsP3Ww
	0zfbPLK04JXK+tMOdlDK5vU=
X-Google-Smtp-Source: AGHT+IEg/4fJp0eGgFBOViqR5zRBv4kHQ6etdU7aeMh35xBl2EL7gX8WY+JEs3SgMh10Wy0Wa9yp9g==
X-Received: by 2002:a19:521a:0:b0:507:a8cd:6c90 with SMTP id m26-20020a19521a000000b00507a8cd6c90mr8218590lfb.51.1700051952557;
        Wed, 15 Nov 2023 04:39:12 -0800 (PST)
Message-ID: <e3a2f0699c8476e98c2c1dba0ba92e25e3f14915.camel@gmail.com>
Subject: Re: [PATCH v2 07/15] xen/asm-generic: introduce stub header
 <asm/random.h>
From: Oleksii <oleksii.kurochko@gmail.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
Date: Wed, 15 Nov 2023 14:39:11 +0200
In-Reply-To: <8f5f9a74-cf90-4a65-8195-ededf00da9f4@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <2464c6b984d187207fe76453bd05502d288af4f9.1699633310.git.oleksii.kurochko@gmail.com>
	 <8f5f9a74-cf90-4a65-8195-ededf00da9f4@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Wed, 2023-11-15 at 10:56 +0100, Jan Beulich wrote:
> On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > <asm/random.h> is common for Arm, PPC and RISC-V thereby it
> > is moved to asm-generic.
>=20
> When you say "moved", ...
>=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V2:
> > =C2=A0- update the commit messages
> > ---
> > =C2=A0xen/include/asm-generic/random.h | 20 ++++++++++++++++++++
> > =C2=A01 file changed, 20 insertions(+)
> > =C2=A0create mode 100644 xen/include/asm-generic/random.h
>=20
> ... you also want to actually move things.
Sure, I'll delete Arm and PPC's random.h in the next patch series
version.

>=20
> Since the above comment matches ones on earlier patches, yet otoh in
> your
> submissions of two individual patches you mentioned you sent them
> separately because this series wasn't fully reviewed yet, would you
> mind
> clarifying whether further going through this version of the series
> is
> actually going to be a good use of time?
I think it still makes sense to review this series.

I probably have to stop sending patches from this series separately. I
thought merging almost-ready patches would be a little faster if they
moved outside the patch series.

If it is possible to merge approved patches separately without getting
approved for the whole patch series, then what I did before doesn't
make sense, and I am sorry for this inconvenience.

I can return the patches I sent separately to this patch series.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:45:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:45:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633630.988659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3FH7-0000Yr-44; Wed, 15 Nov 2023 12:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633630.988659; Wed, 15 Nov 2023 12: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 1r3FH7-0000Yk-0y; Wed, 15 Nov 2023 12:45:45 +0000
Received: by outflank-mailman (input) for mailman id 633630;
 Wed, 15 Nov 2023 12:45: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 1r3FH5-0000Ya-QG
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:45: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 1r3FH5-0000XE-FQ; Wed, 15 Nov 2023 12:45:43 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3FH5-0003bg-9k; Wed, 15 Nov 2023 12:45: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=kUwTVv6zEwKQN3nfKbGHzcwRFgO9CS0FtdL4iqd2M8s=; b=O9KG5S83x20MAstwJtN8QVEALe
	sADYuGvixTzbOv9OVyQQEexpnNcZ4mDDkHD0OvmZjEVzyuE7wGx1HnMTvFRRPoWsivjq0DIQX+mtx
	kmzj01RCSJbTttsMu8UHXKywUmlXtJv/1A01oyck5cZUqvbjCxEI4O9LxRrJlbEF4blQ=;
Message-ID: <d290546d-ff44-40d8-aca1-e421bf045481@xen.org>
Date: Wed, 15 Nov 2023 12:45:41 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 5/6] xen/arm: Intercept vPCI config accesses and
 forward them to emulator
Content-Language: en-GB
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-6-Sergiy_Kibrik@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231115112611.3865905-6-Sergiy_Kibrik@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 15/11/2023 11:26, Sergiy Kibrik wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> This is needed for supporting virtio-pci.
> 
> In case when the PCI Host bridge is emulated outside of Xen
> (IOREQ server), we need some mechanism to intercept config space
> accesses on Xen on Arm, and forward them to the emulator
> (for example, virtio backend) via IOREQ request.
> 
> Unlike x86, on Arm these accesses are MMIO, there is no CFC/CF8 method
> to detect which PCI device is targeted.
> 
> In order to not mix PCI passthrough with virtio-pci features we add
> one more region to cover the total configuration space for all possible
> host bridges which can serve virtio-pci devices for that guest.
> We expose one PCI host bridge per virtio backend domain.
I am a little confused. If you expose one PCI host bridge per virtio 
backend, then why can't the backend simply register the MMIO region and 
do the translation itself when it receives the read/write?

To me, it only makes sense for Xen to emulate the host bridge access if 
you plan to have one host bridge shared between multiple IOREQ domains 
or mix with PCI pasthrough.

 From my perspective, I don't expect we would have that many virtio PCI 
devices. So imposing a host bridge per device emulator will mean extra 
resource in the guest as well (they need to keep track of all the 
hostbridge).

So in the longer run, I think we want to allow mixing PCI passthrough 
and virtio-PCI (or really any emulated PCI because nothing here is 
virtio specific).

For now, your approach would be OK to enable virtio PCI on Xen. But I 
don't think there are any changes necessary in Xen other than reserving 
some MMIO regions/IRQ.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 12:54:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 12:54:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633633.988669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3FPj-0003yj-U8; Wed, 15 Nov 2023 12:54:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633633.988669; Wed, 15 Nov 2023 12: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 1r3FPj-0003yc-Rg; Wed, 15 Nov 2023 12:54:39 +0000
Received: by outflank-mailman (input) for mailman id 633633;
 Wed, 15 Nov 2023 12:54: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=CM7O=G4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3FPi-0003yW-Kr
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 12:54:38 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2197e3b9-83b6-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 13:54:36 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2c6efcef4eeso89603671fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 04:54:36 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 z20-20020a05651c023400b002bb99bd0865sm1652201ljn.38.2023.11.15.04.54.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Nov 2023 04:54:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2197e3b9-83b6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700052876; x=1700657676; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=FpMZ16w6mhgG7e3NcyocROQ/x0YvdkFv//zYTJ3OUY4=;
        b=lyAaB4uFJcKkh5/A0QB6Cw6LN/LvmHf2nXoQMxibzhSo9HNqBbi9Wf23p/jLsg6xV2
         B2Ngo46lsiCfCWayR/hcD6XxActRcu2L0Va2RzRLwBiIPQGTyLOhAyCcvpdWM4gQ1REN
         GxkPnVd3dS7IuDuUNPF+zhtQIitXkjtBrzvz18TBHTpIMYpehl7mQoaNvRefIeDgghlp
         cUr5hI3j8U6fcy0a3LA/kL8fEYeHwjO/qbm2pKi9RnptdbCIR9Vur7CFQD2RWCTFdHQR
         E9qdVwwEbfUxIyyJZRHjjpTUKz13qLIDnwg7alGko2sK2Z7Eb1r+dvu2KA/JJlFY3gDu
         sQgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700052876; x=1700657676;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=FpMZ16w6mhgG7e3NcyocROQ/x0YvdkFv//zYTJ3OUY4=;
        b=HkRvcvT/OHArWJNT6agSIKtJpUyd3Fnipj/72YJhqk6XKRCKB5ezgrdTMExudIDtil
         CJ6u2S3J7Ccg4wAjjTAvslx6eHjcAYLUQ5zjTFXciS/f7TOplCDwhYU4ROPTe+7IUm2S
         o1wilN86EuIB91/JTmIkMogK7KSF9hbC8FolTIHBt/j4E+eVFYsMfvGic7bahkKxnVaO
         GGNGIkkWb8B6ZfELfqq1aJIY65HaQYhQS8WU0mS38CILwNJZ3j8FEZwv/U6NukEJJYLV
         ceXC/fNRoti0PCV5RPWWV3HTRxktyhf+0Gc8nfc0kpB6ps195gRTuaaAue13ys93kI9m
         IVww==
X-Gm-Message-State: AOJu0YwJ3M5yzsHEpdxzi0HS6jTORppxrcNR+6u6WJoJnZ3c2OQePZC1
	54f9V/pJZqNiJ22Pv1aaV3HCY1b/nK8=
X-Google-Smtp-Source: AGHT+IELjBC1fDKp17JiXzyZdSRmvqdRRYu3vYJxefp/rwAnIDhSGEnf5qPUuSzymxpGZEQBBDXOEQ==
X-Received: by 2002:a2e:9b54:0:b0:2bc:b75e:b88 with SMTP id o20-20020a2e9b54000000b002bcb75e0b88mr5238933ljj.18.1700052875820;
        Wed, 15 Nov 2023 04:54:35 -0800 (PST)
Message-ID: <e1041215c28cd3582ed1b2ecc64a0e2ef3c11c54.camel@gmail.com>
Subject: Re: [PATCH v2 13/15] xen/asm-generic: introduce stub header
 monitor.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>, Alexandru Isaila
	 <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	xen-devel@lists.xenproject.org
Date: Wed, 15 Nov 2023 14:54:34 +0200
In-Reply-To: <0ec74ba0-895f-4642-ae83-fc2617435303@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <9b40493df82b99904b2e4f6cf9dc8888db4a2a49.1699633310.git.oleksii.kurochko@gmail.com>
	 <0ec74ba0-895f-4642-ae83-fc2617435303@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Wed, 2023-11-15 at 11:00 +0100, Jan Beulich wrote:
> On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/include/asm-generic/monitor.h
> > @@ -0,0 +1,62 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +/*
> > + * include/asm-GENERIC/monitor.h
> > + *
> > + * Arch-specific monitor_op domctl handler.
> > + *
> > + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> > + * Copyright (c) 2016, Bitdefender S.R.L.
> > + *
> > + */
> > +
> > +#ifndef __ASM_GENERIC_MONITOR_H__
> > +#define __ASM_GENERIC_MONITOR_H__
> > +
> > +#include <xen/sched.h>
>=20
> What is this needed for? I expect ...
>=20
> > +struct xen_domctl_monitor_op;
> > +
> > +static inline
> > +void arch_monitor_allow_userspace(struct domain *d, bool
> > allow_userspace)
>=20
> ... struct domain, but since you never de-reference any such pointer,
> forward-
> declaring that (just like struct xen_domctl_monitor_op) would do
> here. Which
> would leave you with needing at most xen/types.h, but maybe as little
> as
> xen/stdbool.h and xen/stdint.h.
Yes, the reason for " #include <xen/sched.h> " was ' struct domain '.
Let's switch to forward-declaring.

Shouldn't it be included <xen/compiler.h> too for inline?

~ Oleksii

> > +{
> > +}
> > +
> > +static inline
> > +int arch_monitor_domctl_op(struct domain *d, struct
> > xen_domctl_monitor_op *mop)
> > +{
> > +=C2=A0=C2=A0=C2=A0 /* No arch-specific monitor ops on GENERIC. */
> > +=C2=A0=C2=A0=C2=A0 return -EOPNOTSUPP;
> > +}
> > +
> > +int arch_monitor_domctl_event(struct 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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct xen_domctl_monitor_op *mop);
> > +
> > +static inline
> > +int arch_monitor_init_domain(struct domain *d)
> > +{
> > +=C2=A0=C2=A0=C2=A0 /* No arch-specific domain initialization on GENERI=
C. */
> > +=C2=A0=C2=A0=C2=A0 return 0;
> > +}
> > +
> > +static inline
> > +void arch_monitor_cleanup_domain(struct domain *d)
> > +{
> > +=C2=A0=C2=A0=C2=A0 /* No arch-specific domain cleanup on GENERIC. */
> > +}
> > +
> > +static inline uint32_t arch_monitor_get_capabilities(struct domain
> > *d)
> > +{
> > +=C2=A0=C2=A0=C2=A0 return 0;
> > +}
> > +
> > +#endif /* __ASM_GENERIC_MONITOR_H__ */
> > +
> > +
> > +/*
> > + * Local variables:
> > + * mode: C
> > + * c-file-style: BSD
> > + * c-basic-offset: 4
> > + * indent-tabs-mode: nil
> > + * End:
> > + */
>=20



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 13:37:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 13:37:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633644.988679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3G4j-0008PD-55; Wed, 15 Nov 2023 13:37:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633644.988679; Wed, 15 Nov 2023 13:37: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 1r3G4j-0008P6-2X; Wed, 15 Nov 2023 13:37:01 +0000
Received: by outflank-mailman (input) for mailman id 633644;
 Wed, 15 Nov 2023 13:36: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=rlqS=G4=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1r3G4h-0008Ox-E7
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 13:36:59 +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 0b542760-83bc-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 14:36:56 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4083dbc43cfso49190875e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 05:36:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b542760-83bc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700055416; x=1700660216; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=v7gBCwt2r+ccXs+dhC5v9mdYsXqTjkSdt5veSuXJKiY=;
        b=Emr7TqqgSpxi4YURe9DFFdLAeJbuf78vBenhUyD/MTLz3g1YGs8ZctBxmutsdSo4NM
         Nc0XsFUnPlwJWazbJEeG2qGpWETGQ91nJugxu4GCbHMkc1gFHfdNXgat5qU8Iz0xnH6G
         ps3y2u1I8qu6NO+yHb47vX1ozB/Fw/7pKeAsk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700055416; x=1700660216;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=v7gBCwt2r+ccXs+dhC5v9mdYsXqTjkSdt5veSuXJKiY=;
        b=vlAomflmDoMroJF0RDI0QIX/TfxrWrDG2Fn/BfYe3fhTDmLWwHjMVPX/9leG4tlra5
         jliE/w6CsSAkyEoUfdVCh9sqd5VAFpkNAtFn+UYJ+YdKDyvKNfbZJe1FRx6G/dMORk4F
         J2T0Wo4fHvMAp9hVMjXmMxbnIO4bwkcAeQ4Iv6RuuqmZFSXRAKBl9Dm51O6TyX4JRkjT
         iLEzJZJd2T+RQIEaSgD+m7YB9G4NZ/zQmI0ZrtI7UNNvbREbBroZUDazvEHem8vgbSo8
         vZerYyFmdZXl0/jkyBrX2DD3dzbY5YHULQ4vCFDdH+58jthkzph4XhwYSNDoO4AUvUzh
         q5Sw==
X-Gm-Message-State: AOJu0Yw3Q4IOWr4fYI0JHWI1fGrXwcnpt9oHdyOFZzTwTUA/9WFWa352
	ecBTVU7H3LtH5MuCk3nN+ZGhuAi0YJAj5U0QzNO3
X-Google-Smtp-Source: AGHT+IFn+wlTg5jUZSotAAhnqFPSpmjS3x5Kg1n7u7H00VT4qyvmf1svomqlAM0oNNms1qxpECz3Q+oD/4FZ4BuXxS8=
X-Received: by 2002:a05:600c:35cb:b0:409:79cb:1df6 with SMTP id
 r11-20020a05600c35cb00b0040979cb1df6mr11147445wmq.14.1700055415903; Wed, 15
 Nov 2023 05:36:55 -0800 (PST)
MIME-Version: 1.0
References: <20231113160940.52430-1-roger.pau@citrix.com>
In-Reply-To: <20231113160940.52430-1-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@citrix.com>
Date: Wed, 15 Nov 2023 13:36:44 +0000
Message-ID: <CAG7k0EqGgyD=PDyRy-GvtZsst_+iUBDHp2LFgk3uEtsrJMe4Ww@mail.gmail.com>
Subject: Re: [PATCH 0/2] livepatch-tools: fixes for building on non-glibc
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 13, 2023 at 4:10=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> Hello,
>
> A couple of fixes to allow building the tools on non-glibc systems (BSD
> and musl tested).
>
> No functional changes intended for either of the two fixes.
>

Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Applied, thanks.

Ross


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 13:38:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 13:38:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633649.988690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3G6O-0000Vq-Gg; Wed, 15 Nov 2023 13:38:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633649.988690; Wed, 15 Nov 2023 13: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 1r3G6O-0000Vj-Cy; Wed, 15 Nov 2023 13:38:44 +0000
Received: by outflank-mailman (input) for mailman id 633649;
 Wed, 15 Nov 2023 13:38: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 1r3G6N-0000VX-8g; Wed, 15 Nov 2023 13:38: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 1r3G6N-0001SG-52; Wed, 15 Nov 2023 13:38: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 1r3G6M-0005Za-Sm; Wed, 15 Nov 2023 13:38:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3G6M-00079o-SN; Wed, 15 Nov 2023 13:38: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=/kOB01uTyNu/kjEU1M0twfaFUHS4WKNZlO6NLBfA4Ec=; b=tJbuDrftEFWuZ4tCK8XXQY8n23
	s7ckgKCjPvd4tcI3DFhHOjIntBkWMnMWS4SGMk51ezzM3lD/NgnSBiaGCiHTDA/c4L26QFsukw1hz
	bv5BNlOcp38fqAo40BXnOHqWCs5G1KMfrgfiVhEWoQp4gAWmnckTJVvxinVNglutUOBU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183762-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183762: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=7ad0c774e474f6d95dfda868d876af507d399657
X-Osstest-Versions-That:
    xen=a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Nov 2023 13:38:42 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  7ad0c774e474f6d95dfda868d876af507d399657
baseline version:
 xen                  a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e

Last test of basis   183750  2023-11-14 13:03:54 Z    1 days
Testing same since   183762  2023-11-15 11:03:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   a48bb129f1..7ad0c774e4  7ad0c774e474f6d95dfda868d876af507d399657 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 13:45:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 13:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633682.988724 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3GDM-0004JG-M6; Wed, 15 Nov 2023 13:45:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633682.988724; Wed, 15 Nov 2023 13: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 1r3GDM-0004J9-It; Wed, 15 Nov 2023 13:45:56 +0000
Received: by outflank-mailman (input) for mailman id 633682;
 Wed, 15 Nov 2023 13: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 1r3GDK-0004Is-G8; Wed, 15 Nov 2023 13: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 1r3GDK-0001ZR-Do; Wed, 15 Nov 2023 13: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 1r3GDK-00060J-35; Wed, 15 Nov 2023 13:45:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3GDK-0007aW-2d; Wed, 15 Nov 2023 13: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:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=8KLILO0b3+uq+ucQtb590hE8z7gTuF3m7fmWu63XlgE=; b=jOGffxfPtRhsE145MwMZsY35o0
	IHNRTNMZOXzK06oZIVdetgkk5ZPvmH4hyVC+Zn6JFCK80G3zaRBOlUObyFfJ6csvhBVgBpr3rzjGF
	FS47/cnER7RDiMt8g4xO2PumbCCPWhXzzkBGe8eSynm/N7w2nZ34exqLKMeYxQbp3NJE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183755-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183755: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl:xen-boot:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-intel:guest-start/redhat.repeat:fail:heisenbug
    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-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-armhf-armhf-libvirt:migrate-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-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e
X-Osstest-Versions-That:
    xen=fb41228ececea948c7953c8c16fe28fd65c6536b
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Nov 2023 13:45:54 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl           8 xen-boot            fail pass in 183763-retest
 test-amd64-i386-qemuu-rhel6hvm-intel 14 guest-start/redhat.repeat fail pass in 183763-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl         15 migrate-support-check fail in 183763 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 183763 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183748
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183748
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183748
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183748
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183748
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183748
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183748
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183748
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183748
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183748
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183748
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183748
 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-amd64-i386-libvirt      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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt     15 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-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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e
baseline version:
 xen                  fb41228ececea948c7953c8c16fe28fd65c6536b

Last test of basis   183748  2023-11-14 03:48:33 Z    1 days
Testing same since   183755  2023-11-14 16:39:17 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Roger Pau Monne <roger.pau@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                                          fail    
 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-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                         fail    
 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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   fb41228ece..a48bb129f1  a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e -> master


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 14:11:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 14:11:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633691.988734 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3GcB-0003en-P5; Wed, 15 Nov 2023 14:11:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633691.988734; Wed, 15 Nov 2023 14:11: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 1r3GcB-0003eg-L6; Wed, 15 Nov 2023 14:11:35 +0000
Received: by outflank-mailman (input) for mailman id 633691;
 Wed, 15 Nov 2023 14:11: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=CM7O=G4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3Gc9-0003eX-Qn
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 14:11:33 +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 e0fef34a-83c0-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 15:11:32 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-507a55302e0so9643468e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 06:11:32 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 kf2-20020a17090776c200b009dda52b1147sm7102150ejc.126.2023.11.15.06.11.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Nov 2023 06:11:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0fef34a-83c0-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700057492; x=1700662292; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=i72p69nvd923fj+/TIRO2Lsps3oYhD101A07PG2Kaf8=;
        b=Tf4LaxtFPULjl9XgXA3eAr2eiTKZcdXxceLFfqZkpp773gIsdKRgPsSbpRZRiPchXa
         lIDMLdPk6if9G47slPv7qm0velsrrHG/j5ax+rbdtqt5hRotyqwwiw45+gM/LQqkze6/
         WCGa+2Ty2Ht8GwmcXhCen4tqN/LVarJUl9aXrzXgBZSWD59z02tGNOFxmPzZV3IL1D8J
         GtozzW4W3EpjtTbUfZp1HR+hEBYr0SC7l1cW4ul3/UcNEhztriLdM1pIrPXEAlT4BbJx
         jAb5miY8IEaLvVDW0Vz9KKcGbLn3VmEiwV0HuBCXQtHMxYT1RHL264Wml3xhD/dhQgxS
         Cbdw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700057492; x=1700662292;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=i72p69nvd923fj+/TIRO2Lsps3oYhD101A07PG2Kaf8=;
        b=GZfjR00P3PtyvnlJ1PYTzsZbgEnt8dTehaZ0ilrSzK8zoRUTu1ZaKbEz2sJkG+Wfao
         vclpGXFNRfat6zSdVYP++ii9a4c0EVvNECUSXIw9+NpEaHu89HPam2qxjFC0+bdTs7RR
         /J6KYoMi7/AKHlPWVXKEbxsp/M8GRrSQDhfZcOtiFYGPQTMt4GqJE32cl2k0qolUPo7i
         4Kwu26clutAG9JRTbJ4W1fFjdDKE8o/bs2Rp2KmDYpduR4ZaQ3UsATlszn2Dp/f/t7bI
         902WNkTEdSqRCTt6lDsjZhgGGVHBp3ArIN9Cb2BvYdmQq/fDmB5TOIh2A32K053HSjB8
         8U4Q==
X-Gm-Message-State: AOJu0YypPiWprQG16fjcm2NFlfCGLpux0a9ep7OMwHr6f3nNOYgttVnM
	Mh7Jc9N0701aUq28spQoZTg=
X-Google-Smtp-Source: AGHT+IHuACqiy87YKPzsrAdI5i4UFBV1PG6F0nA1lRANKr9VuXYaJ+OiBjkCcd/ezSEmTO0OMh4tsQ==
X-Received: by 2002:a19:9107:0:b0:507:a58f:79ad with SMTP id t7-20020a199107000000b00507a58f79admr8196308lfd.61.1700057491980;
        Wed, 15 Nov 2023 06:11:31 -0800 (PST)
Message-ID: <5634e1b953b0b8b1b3ca02b01f84d8093e360237.camel@gmail.com>
Subject: Re: [PATCH v2 14/15] xen/asm-generic: introduce stub header numa.h
From: Oleksii <oleksii.kurochko@gmail.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
Date: Wed, 15 Nov 2023 16:11:30 +0200
In-Reply-To: <242781b1-9693-47b9-a3f4-bdf5700803db@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <1b50e70d168a1b084ac40711096c38abe44a7b9d.1699633310.git.oleksii.kurochko@gmail.com>
	 <242781b1-9693-47b9-a3f4-bdf5700803db@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Wed, 2023-11-15 at 11:07 +0100, Jan Beulich wrote:
> On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/include/asm-generic/numa.h
> > @@ -0,0 +1,40 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +#ifndef __ARCH_GENERIC_NUMA_H
> > +#define __ARCH_GENERIC_NUMA_H
> > +
> > +#include <xen/types.h>
> > +#include <xen/mm.h>
>=20
> I'm afraid I can't spot what you need these for here. You clearly
> need
> xen/stdint.h, and you need xen/mm-frame.h for mfn_t. Yes, max_page is
> declared in xen/mm.h, but its questionable whether the header needs
> including here for that reason, as all uses are in macros. (We aren't
> anywhere near consistent in this regard). Plus you don't also include
> xen/cpumask.h to pull in cpu_online_map (which another macro
> references).
I agree with almost you wrote but should <xen/cpumas.h> be included
then? It looks like it is the same situation as with max_page and
<xen/mm.h>.

>=20
> > +typedef uint8_t nodeid_t;
> > +
> > +#ifndef CONFIG_NUMA
>=20
> Isn't it an error to include this header when NUMA=3Dy?
It's still need to define arch_want_default_dmazone() macros which is
used by common code.
All other code is under #ifndef CONFIG_NUMA so it won't conflict with
defintions in <xen/numa.h>.

>=20
> > +/* Fake one node for now. See also node_online_map. */
> > +#define cpu_to_node(cpu) 0
> > +#define node_to_cpumask(node)=C2=A0=C2=A0 (cpu_online_map)
> > +
> > +/*
> > + * TODO: make first_valid_mfn static when NUMA is supported on
> > Arm, this
> > + * is required because the dummy helpers are using it.
> > + */
> > +extern mfn_t first_valid_mfn;
> > +
> > +/* XXX: implement NUMA support */
> > +#define node_spanned_pages(nid) (max_page -
> > mfn_x(first_valid_mfn))
> > +#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
> > +#define __node_distance(a, b) (20)
> > +
> > +#endif
> > +
> > +#define arch_want_default_dmazone() (false)
> > +
> > +#endif /* __ARCH_GENERIC_NUMA_H */
> > +
> > +/*
> > + * Local variables:
> > + * mode: C
> > + * c-file-style: "BSD"
> > + * c-basic-offset: 4
> > + * indent-tabs-mode: nil
> > + * End:
> > + */
>=20

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 14:28:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 14:28:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633694.988743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3GsH-0007QL-3b; Wed, 15 Nov 2023 14:28:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633694.988743; Wed, 15 Nov 2023 14: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 1r3GsH-0007QE-0v; Wed, 15 Nov 2023 14:28:13 +0000
Received: by outflank-mailman (input) for mailman id 633694;
 Wed, 15 Nov 2023 14:28: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=CM7O=G4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3GsG-0007Q8-28
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 14:28:12 +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 340cceb1-83c3-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 15:28:11 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-9c53e8b7cf4so995425766b.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 06:28:11 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 fx18-20020a170906b75200b009e6b5406b3fsm7070954ejb.122.2023.11.15.06.28.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Nov 2023 06:28:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 340cceb1-83c3-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700058490; x=1700663290; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=b8GrptftHD+lZyeSeU+p6hTjp37Sq3AFtwi+T6Gw57I=;
        b=f4oXkGjOTKe6p8Ds0c30zqCiOUsEumEAJHBBE5vDVdDy2LlAyDZhB3h8WglV4t0i8B
         GaZsU6b1rI8yQvllSQQHLjCrTU7Sdw5eleCjk56P3/oA7IBIzqXHFd72dZbQfU+zQBPA
         /TJUk/QK33o9kTWpht4UGyrSHQBGDFJpICPq5XtffFlI3pQmDTSAI7BdOMYANm4k9gIl
         I787OO6I9wiRKurE0qlnSTieLKxF4mJui94GhnGaooXsyjC9/0gh4+wAsfijZsdTRTj2
         pKtVLaVGYMkMGifH/ZrY7+E3684x1CadVtTRaMc+/UZbyOW7B/m8x/jywcW3g9Es5Ybw
         K3SA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700058490; x=1700663290;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=b8GrptftHD+lZyeSeU+p6hTjp37Sq3AFtwi+T6Gw57I=;
        b=DSGO5VXDScoa/aeNefXGiuUl/1zbP6QV+8aBeDBHHC8FkIK1kEwgthfrxWC1rDLAw2
         FE9fcW2R+k2/oYmJJhXFz/gC0IMR9Ncfv1+ii8JtqtlvCGcPCovYn+sTV+hHnxIE1Zjr
         AeBs00I/C1X+N+GcP9zH5K3I7dI22xPq+XucvPewmxGB3+GTiC5Uu6p4pDl/85GFdPha
         tUUztlpsb8vmf66nCXqXj4acxHqyuxl3Ll/qXaQx/A29BB4tH7ppId714SU986+9PggE
         LAuTbTqrpe/8LJACSVXMGp9KmQhyyc6bPzhTXS3oEDQF99Gi0p96XISgAFQDJWsEAT5J
         Dr7Q==
X-Gm-Message-State: AOJu0YymQmvs1T3hCJ0VK/6pA1LPM+mv21qGUxCJe6iehhAUePvMvEkv
	WvukmMG8GbCVf0vNHGsorMygEfhFrZU=
X-Google-Smtp-Source: AGHT+IG3rNbgvnPiqOQkjdcE9sBJ8nTpRrTYMZCPLi1qet+cPfFhcGYC6O9i7bM42jHrSGf2/PwzEA==
X-Received: by 2002:a17:906:498:b0:9be:e90:5016 with SMTP id f24-20020a170906049800b009be0e905016mr9135895eja.24.1700058490332;
        Wed, 15 Nov 2023 06:28:10 -0800 (PST)
Message-ID: <a3320501f2ba0f66621ec80f832d120c99e63244.camel@gmail.com>
Subject: Re: [PATCH v2 13/15] xen/asm-generic: introduce stub header
 monitor.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>, Alexandru Isaila
	 <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	xen-devel@lists.xenproject.org
Date: Wed, 15 Nov 2023 16:28:09 +0200
In-Reply-To: <e1041215c28cd3582ed1b2ecc64a0e2ef3c11c54.camel@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <9b40493df82b99904b2e4f6cf9dc8888db4a2a49.1699633310.git.oleksii.kurochko@gmail.com>
	 <0ec74ba0-895f-4642-ae83-fc2617435303@suse.com>
	 <e1041215c28cd3582ed1b2ecc64a0e2ef3c11c54.camel@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Wed, 2023-11-15 at 14:54 +0200, Oleksii wrote:
> On Wed, 2023-11-15 at 11:00 +0100, Jan Beulich wrote:
> > On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > > --- /dev/null
> > > +++ b/xen/include/asm-generic/monitor.h
> > > @@ -0,0 +1,62 @@
> > > +/* SPDX-License-Identifier: GPL-2.0 */
> > > +/*
> > > + * include/asm-GENERIC/monitor.h
> > > + *
> > > + * Arch-specific monitor_op domctl handler.
> > > + *
> > > + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> > > + * Copyright (c) 2016, Bitdefender S.R.L.
> > > + *
> > > + */
> > > +
> > > +#ifndef __ASM_GENERIC_MONITOR_H__
> > > +#define __ASM_GENERIC_MONITOR_H__
> > > +
> > > +#include <xen/sched.h>
> >=20
> > What is this needed for? I expect ...
> >=20
> > > +struct xen_domctl_monitor_op;
> > > +
> > > +static inline
> > > +void arch_monitor_allow_userspace(struct domain *d, bool
> > > allow_userspace)
> >=20
> > ... struct domain, but since you never de-reference any such
> > pointer,
> > forward-
> > declaring that (just like struct xen_domctl_monitor_op) would do
> > here. Which
> > would leave you with needing at most xen/types.h, but maybe as
> > little
> > as
> > xen/stdbool.h and xen/stdint.h.
> Yes, the reason for " #include <xen/sched.h> " was ' struct domain '.
> Let's switch to forward-declaring.
>=20
> Shouldn't it be included <xen/compiler.h> too for inline?
It should be added "#include <xen/errno.h>" because EOPNOTSUPP is used
in arch_monitor_domctl_op.
>=20
> ~ Oleksii
>=20
> > > +{
> > > +}
> > > +
> > > +static inline
> > > +int arch_monitor_domctl_op(struct domain *d, struct
> > > xen_domctl_monitor_op *mop)
> > > +{
> > > +=C2=A0=C2=A0=C2=A0 /* No arch-specific monitor ops on GENERIC. */
> > > +=C2=A0=C2=A0=C2=A0 return -EOPNOTSUPP;
> > > +}
> > > +
> > > +int arch_monitor_domctl_event(struct 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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct xen_domctl_monitor_op
> > > *mop);
> > > +
> > > +static inline
> > > +int arch_monitor_init_domain(struct domain *d)
> > > +{
> > > +=C2=A0=C2=A0=C2=A0 /* No arch-specific domain initialization on GENE=
RIC. */
> > > +=C2=A0=C2=A0=C2=A0 return 0;
> > > +}
> > > +
> > > +static inline
> > > +void arch_monitor_cleanup_domain(struct domain *d)
> > > +{
> > > +=C2=A0=C2=A0=C2=A0 /* No arch-specific domain cleanup on GENERIC. */
> > > +}
> > > +
> > > +static inline uint32_t arch_monitor_get_capabilities(struct
> > > domain
> > > *d)
> > > +{
> > > +=C2=A0=C2=A0=C2=A0 return 0;
> > > +}
> > > +
> > > +#endif /* __ASM_GENERIC_MONITOR_H__ */
> > > +
> > > +
> > > +/*
> > > + * Local variables:
> > > + * mode: C
> > > + * c-file-style: BSD
> > > + * c-basic-offset: 4
> > > + * indent-tabs-mode: nil
> > > + * End:
> > > + */
> >=20
>=20



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 14:40:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 14:40:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633697.988753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3H3U-0002tF-4X; Wed, 15 Nov 2023 14:39:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633697.988753; Wed, 15 Nov 2023 14:39: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 1r3H3U-0002t8-1z; Wed, 15 Nov 2023 14:39:48 +0000
Received: by outflank-mailman (input) for mailman id 633697;
 Wed, 15 Nov 2023 14:39: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=CxDQ=G4=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r3H3T-0002t2-0i
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 14:39:47 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id d0068ca1-83c4-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 15:39:43 +0100 (CET)
Received: from mg.gitlab.com (12.226.74.34.bc.googleusercontent.com
 [34.74.226.12]) by
 2aa945c5e0d3 with SMTP id 6554d82d7c8122126aca14c9 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 15 Nov 2023 14:39:40 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: d0068ca1-83c4-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700059181; x=1700066381; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=z5FaS0O4gmMRGz0ZeW5JDIS/v4EC6mkd+vhxsbUd0gk=;
 b=Nrh+wKCvlIlfOdcBDAFg2BBvwedrq2c49d4Hdq3jjKnSePz70HnKVjlWdPFBQXRI1pzHr1xZSYqq6uyl1UInrlcn+Yz6wTmN5QsTb+Uw5KrfaoW6BXYDGKH9jtvTn1EjF32S+hnTX3U2hAyfOmxX69x9lwXJ/Op/YxsUIHyPgqk=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 15 Nov 2023 14:39:40 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6554d82ca5e90_2c9b21c488b9@gitlab-sidekiq-catchall-v2-57f78d99d6-fmmmm.mail>
Subject: xen | Successful pipeline for staging-4.18 | 1924da16
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6554d82c9fa70_2c9b21c4876c";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1073406875
X-GitLab-Pipeline-Ref: staging-4.18
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6554d82c9fa70_2c9b21c4876c
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1073406875 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.18 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.18 )

Commit: 1924da16 ( https://gitlab.com/xen-project/xen/-/commit/1924da16239703edc7be6de0f5a549a30aa84b82 )
Commit Message: Config.mk: Fix tag for mini-os

Signed-off-by: ...
Commit Author: Julien Grall



Pipeline #1073406875 ( https://gitlab.com/xen-project/xen/-/pipelines/1073406875 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6554d82c9fa70_2c9b21c4876c
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging-4.18 | 1924da16</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1073406875 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.18" style=3D"color: #333333; text-decoration: none;">
staging-4.18
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/1924da16239703edc7=
be6de0f5a549a30aa84b82" style=3D"color: #3777b0; text-decoration: none;">=
1924da16</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
Config.mk: Fix tag for mini-os

Signed-off-by: ...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/51553d20dbeb50c199767049bd40c57b?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107340=
6875" style=3D"color: #3777b0; text-decoration: none;">#1073406875</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6554d82c9fa70_2c9b21c4876c--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 15:05:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 15:05:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633737.988763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3HRv-0000fd-2S; Wed, 15 Nov 2023 15:05:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633737.988763; Wed, 15 Nov 2023 15:05: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 1r3HRu-0000fW-WF; Wed, 15 Nov 2023 15:05:03 +0000
Received: by outflank-mailman (input) for mailman id 633737;
 Wed, 15 Nov 2023 15:05: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=CvKG=G4=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r3HRu-0000fQ-96
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 15:05:02 +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 594838ef-83c8-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 16:05:01 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-32fa7d15f4eso4750702f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 07:05:01 -0800 (PST)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 c16-20020adfed90000000b00327cd5e5ac1sm10821833wro.1.2023.11.15.07.05.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Nov 2023 07:05:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 594838ef-83c8-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700060700; x=1700665500; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=aSalCrnrwBmXA1Qhq88zL44bwNDSOCxoaFr0u7ks5ns=;
        b=Vdt237n/2hmyfJGvEaty2U9GPxJF2mGjB7G42DMr790ymZjqLdZvoc94SsXx2abMvX
         yZE1SMo+m0YBt6DPuri/m9RERzDNu+NHCkjBrOD8IUqTvo8f3tpQD56CbVOL98EgZQxT
         vJzjNipoAQ+h8iCFGKma9QSno3gEWYED2jMXM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700060700; x=1700665500;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=aSalCrnrwBmXA1Qhq88zL44bwNDSOCxoaFr0u7ks5ns=;
        b=bUMR3JKoEgg3X+yUdsuHPYhaNnNu1lgNjHN8cHZ+qBTkcO96hoDq9yNZaTPprVtUGp
         iypyRbabMeZslUcLzhlyn9kkBS/LjdYXOGyWZfUqT12IwpPcIx2wSD1z3unj/re202pK
         /W153uncWcDGmmKTO2Orl5gGSv/fCk5l/W4eaNg5bHFkxyGDIhuIs1blbP8pTEtxn/5B
         DDXOHqpVV3Rr7bvjHtqnUZwDAkywo75Ctkz3m8rpybHz8oA8A4qZXacQUt/Kc+QPBtJH
         X6nprz+Mb+4EiEWyPpLtgwoHuP9t2vTdxDQzgYnWs+2YmcfOK8ejkTLdeJJPaDSIU3mr
         Li3g==
X-Gm-Message-State: AOJu0YwoVL+KODMlraxj/Ux9XlKlFVxbJehgR6LigfAtRSUvF38QlG8K
	16Ezj24MjR95moR2F2AjKGaZZwB6YFmnpIPbmpM=
X-Google-Smtp-Source: AGHT+IF2nFYSv5iJtT9ZKRMQS5lpEHNl+N7jpQtyxD8AFfXtvV4/vx5OAqry1Gz9qClZbkdr1AdyJg==
X-Received: by 2002:a05:6000:1881:b0:32d:9579:94e3 with SMTP id a1-20020a056000188100b0032d957994e3mr9701655wri.6.1700060700490;
        Wed, 15 Nov 2023 07:05:00 -0800 (PST)
Date: Wed, 15 Nov 2023 15:04:59 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: xen | Failed pipeline for staging-4.17 | 28f44b60
Message-ID: <3cbfffc2-4c3e-4132-be05-1787e4f71e3c@perard>
References: <6553d80525384_2ca04b0436ee@gitlab-sidekiq-catchall-v2-548c659f69-wtllv.mail>
 <6efe7a0d-eb87-42e8-aeec-1276e40574ed@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <6efe7a0d-eb87-42e8-aeec-1276e40574ed@suse.com>

On Wed, Nov 15, 2023 at 11:11:30AM +0100, Jan Beulich wrote:
> On 14.11.2023 21:26, GitLab wrote:
> > Pipeline #1072370735 ( https://gitlab.com/xen-project/xen/-/pipelines/1072370735 ) triggered by Ganis ( https://gitlab.com/ganis )
> > had 4 failed jobs.
> > 
> > Job #5534997591 ( https://gitlab.com/xen-project/xen/-/jobs/5534997591/raw )
> > 
> > Stage: build
> > Name: ubuntu-focal-gcc-debug
> > Job #5534997608 ( https://gitlab.com/xen-project/xen/-/jobs/5534997608/raw )
> > 
> > Stage: build
> > Name: alpine-3.12-gcc-debug
> > Job #5534997597 ( https://gitlab.com/xen-project/xen/-/jobs/5534997597/raw )
> > 
> > Stage: build
> 
> These three failed due to (once again) too little disk space.

Runner is "gitlab-docker-seagull".
Looks like the cleanup task that I've setup sometime ago and run
weekly only isn't enough anymore. Sorry.
I'll look at running it hourly instead.

> > Name: opensuse-leap-clang-debug
> > Job #5534997599 ( https://gitlab.com/xen-project/xen/-/jobs/5534997599/raw )
> > 
> > Stage: build
> > Name: opensuse-leap-gcc-debug
> 
> Here it's unclear, as the log referenced ends too early.

I had to log into the runner to find out, because no artifact as been
uploaded to gitlab (which would have a more complete log).
Turns out that this runner also got into a "no space left" situation.
This time, runner is "gitlab-docker-swift".

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 15:20:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 15:20:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633741.988773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3HgL-0004G1-EV; Wed, 15 Nov 2023 15:19:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633741.988773; Wed, 15 Nov 2023 15:19: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 1r3HgL-0004Fu-BR; Wed, 15 Nov 2023 15:19:57 +0000
Received: by outflank-mailman (input) for mailman id 633741;
 Wed, 15 Nov 2023 15:19: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=CM7O=G4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3HgJ-0004Fo-Go
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 15:19:55 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ce65994-83ca-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 16:19:53 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5079f6efd64so9181170e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 07:19:53 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 m3-20020a056512358300b004fe47879d93sm1693344lfr.106.2023.11.15.07.19.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Nov 2023 07:19:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ce65994-83ca-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700061592; x=1700666392; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=waNAkdW/R3Wn3zHCWmMIAGuL9PhXuLih3r3m8YqKUPc=;
        b=aBF9lm6Z2YlSpgx1fqAu1swNQ9BUin2wWGds2RHjTtiIWldv/W5zAegAXEzb0TpTu5
         E/bzFp1RGgWtvb9cmuCCYl+lFZ/80p9bSMbz+5ZW4dLgkmkpm6TZfARHwvT5TGFa4AMU
         DKRnrowtsDtzEDM68kTVZgtYmoIHvvI0ANrgjhJCFLIuEdWnJGuANXi4sRztMYxTUY1W
         rAQt+eLCBy6Rq3SmiH6D+ZicHrks5G9PzBIHOLjsWobUSNGpurbIHh/9MdFuv7f4YAJD
         D5IDMQT0DQASpbj9AoDAb1GN49AMn9PpylarOtjBDHJwF1GYULlBkwvEYLx9iuPZ7Dru
         ha1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700061592; x=1700666392;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=waNAkdW/R3Wn3zHCWmMIAGuL9PhXuLih3r3m8YqKUPc=;
        b=vnelPQboviBfQCQEWeTRZadsnTosQL5VP4h9JWfzs//yoh+XrT2F2XgKP3ASjjAV5r
         7rOKYF/XmYd93Un+aGVHiI3JTmxxYPVLNmzzQlAuRTvro6XjUb7YzU+lSOkEXdTbg4Do
         qZX4sWkKHyAMyvN8aSCp0yyvNHSnosa8cFl3RAjPrdoCqzwGFPVaisNyI/fQLdd5t1QC
         AfUXyDKJOxntfj8aB+sNMVwBT5xw6nWpgHeHbDXCcjAHaJqDyh7M6chctR71LY7lrMvl
         /ZOiex7iHaErme/JnA88jnIIkPE6RcGB+cJ25Oxx+FlD7QntfafLQIrkQw6R7/4+Nmr9
         bSXw==
X-Gm-Message-State: AOJu0YxhwJOg2k/VCXvJ6IGEPvbvI0tQ2HbNmrzCl+iIP5OwcfTD2CMC
	eSyw3FXY6OUOtgvr431IJSY=
X-Google-Smtp-Source: AGHT+IGbs8a+eSsDQWTnlCdKimw4tvlDatwWx0dx5sKzwSEptAdZYMOTYWNVGnhNrpVycOohdUHt1Q==
X-Received: by 2002:a19:5210:0:b0:509:4bd1:6b63 with SMTP id m16-20020a195210000000b005094bd16b63mr8733773lfb.16.1700061592252;
        Wed, 15 Nov 2023 07:19:52 -0800 (PST)
Message-ID: <35a8b83ef159a9c8f3e3c8ccc2821beede49cde5.camel@gmail.com>
Subject: Re: [PATCH v2] xen: remove <asm/delay.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>, Shawn Anastasio
	 <sanastasio@raptorengineering.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>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>,  xen-devel@lists.xenproject.org
Date: Wed, 15 Nov 2023 17:19:50 +0200
In-Reply-To: <709c18fe-dd04-4501-bb81-09b48f9aa331@suse.com>
References: 
	<3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
	 <709c18fe-dd04-4501-bb81-09b48f9aa331@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Wed, 2023-11-15 at 11:24 +0100, Jan Beulich wrote:
> On 31.10.2023 15:28, Oleksii Kurochko wrote:
> > <asm/delay.h> only declares udelay() function so udelay()
> > declaration was moved to xen/delay.h.
> >=20
> > For x86, __udelay() was renamed to udelay() and removed
> > inclusion of <asm/delay.h> in x86 code.
> >=20
> > For ppc, udelay() stub definition was moved to ppc/stubs.c.
> >=20
> > Suggested-by: Jan Beulich <jbeulich@suse.com>
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > Reviewed-by: Jan Beulich <jbeulich@suse.com>
> > ---
> > Changes in v2:
> > =C2=A0- rebase on top of the latest staging.
> > =C2=A0- add Suggested-by:/Reviewed-by: Jan Beulich <jbeulich@suse.com>.
> > =C2=A0- remove <asm/delay.h> for PPC.
> > =C2=A0- remove changes related to RISC-V's <asm/delay.h> as they've not
> > =C2=A0=C2=A0 introduced in staging branch yet.
> > ---
> > =C2=A0xen/arch/arm/include/asm/delay.h=C2=A0 | 14 --------------
> > =C2=A0xen/arch/ppc/include/asm/delay.h=C2=A0 | 12 ------------
> > =C2=A0xen/arch/ppc/stubs.c=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 7 +++++++
> > =C2=A0xen/arch/x86/cpu/microcode/core.c |=C2=A0 2 +-
> > =C2=A0xen/arch/x86/delay.c=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 2 +-
> > =C2=A0xen/arch/x86/include/asm/delay.h=C2=A0 | 13 -------------
> > =C2=A0xen/include/xen/delay.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 2 +-
> > =C2=A07 files changed, 10 insertions(+), 42 deletions(-)
> > =C2=A0delete mode 100644 xen/arch/arm/include/asm/delay.h
> > =C2=A0delete mode 100644 xen/arch/ppc/include/asm/delay.h
> > =C2=A0delete mode 100644 xen/arch/x86/include/asm/delay.h
>=20
> Shawn: As per the diffstat below your ack is needed here. Recently I
> did
> (silently) time out on two sufficiently trivial (PPC-wise) patches,
> but
> this shouldn't become a common pattern.
>=20
> Oleksii: It is normally on the submitter to chase missing acks.
Probably it wasn't right but I sent a private e-mail to Shawn last week
with the request. I'll do it publicly next time.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 15:27:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 15:27:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633744.988784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Hnz-0007IR-6g; Wed, 15 Nov 2023 15:27:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633744.988784; Wed, 15 Nov 2023 15:27: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 1r3Hnz-0007IK-3Z; Wed, 15 Nov 2023 15:27:51 +0000
Received: by outflank-mailman (input) for mailman id 633744;
 Wed, 15 Nov 2023 15:27: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=CM7O=G4=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3Hnx-0007IE-Bc
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 15:27:49 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 87c364a3-83cb-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 16:27:47 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2c79d8b67f3so78705001fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 07:27:47 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 z39-20020a2ebe27000000b002c0414c3b6csm1684132ljq.121.2023.11.15.07.27.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 15 Nov 2023 07:27:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87c364a3-83cb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700062067; x=1700666867; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=A3jY49AiU77kANltAjrb4gWhNAe0I3mMqoAQYPGa4U0=;
        b=h53UzGoxvO+SjoXwabHyb7wCCXmCxvjwDMhnai4vjVUajGie5qmznZvTNM1c7ecAwx
         lYmFMPWJBDCj9UJCQtsSOGnMrpAHjrIYr8nWDBwux+4sV8kYk4ZPLLAVrv7AAqEC/BDH
         7cMFmrRql/sB/39w+bBev1yH8VCq99Hw/jQCcU1U3js+zzbtadYEE9oAt2o3BzlUIg5R
         kotjOT25VyE0AilEoZxv2fS7exM/xTGbZrivjFLKwle+/PHqizpQFL0FD8Mjgc4y0rqU
         vOJDHne+ut/Q76aXBoEy+hKbwLVvTVmu+VOaAFGVofHgFnwu/aAA21JNyohxuZk31XEs
         h+Nw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700062067; x=1700666867;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=A3jY49AiU77kANltAjrb4gWhNAe0I3mMqoAQYPGa4U0=;
        b=TUpo9oYCytDy/T8Jml91ra2y3m99qvisj1mk/SqeLpyt1UO9SB9uRSt3Jok/xZ3828
         HBEVXO2TGwmxVMdo5b82FRz4WhZMrfhHmJ2mgVoyi+MjxSt4m86tozU42MGSVRpZlzHe
         JwA2+lxDkKgjlFDIdi1IYI7iAKWSGE6fb+zxQ2iHoAc7d8mNHTVorPJwArQsvCoGhPJF
         WdqgMq1NyBX3asP+p8tYtXn4qwvIdZ7VvuFiXqIylQZwvs8DcD3PN840DqvMY10aTKQi
         d1VWrX07JhTa+JR4KTOCQqYTeqCDL6hIRvqvvxMuSFMm9FSKqq6qO1o9POhthSSp7SBk
         hGPw==
X-Gm-Message-State: AOJu0YwTS0i4X+oe6iOAmZVdSG6sQevDnybXsmaTvFHjvbrvyjjSqV+f
	IWFIjv+WyBYqY3g1ZlCa6fUZFWgU/bg=
X-Google-Smtp-Source: AGHT+IGFwKnWIO7z19b72dgwGFbLZXRqpGemRCoxI3IgnG2BgD3xxvYGxmsiyDPZuy2W16I/LeVY6w==
X-Received: by 2002:a2e:be89:0:b0:2c6:ed6a:780f with SMTP id a9-20020a2ebe89000000b002c6ed6a780fmr4696191ljr.11.1700062066703;
        Wed, 15 Nov 2023 07:27:46 -0800 (PST)
Message-ID: <accc07bd3ab9d7e819d7f2d670362a9570e2bc19.camel@gmail.com>
Subject: Re: [PATCH v2 08/15] xen/asm-generic: introduce generic header
 percpu.h
From: Oleksii <oleksii.kurochko@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>
Date: Wed, 15 Nov 2023 17:27:45 +0200
In-Reply-To: <d0ecdf04ceea49f57a54e15cc129c165a142a5cb.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <d0ecdf04ceea49f57a54e15cc129c165a142a5cb.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

I have to drop arch specific headers and switch to asm-generic version.
I'll do the same for patches 09-12 in the next patch version.

~ Oleksii
On Fri, 2023-11-10 at 18:30 +0200, Oleksii Kurochko wrote:
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V2:
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- use smp_processor_id() =
instead of get_processor_id().
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update commit message .
> ---
> =C2=A0xen/include/asm-generic/percpu.h | 35
> ++++++++++++++++++++++++++++++++
> =C2=A01 file changed, 35 insertions(+)
> =C2=A0create mode 100644 xen/include/asm-generic/percpu.h
>=20
> diff --git a/xen/include/asm-generic/percpu.h b/xen/include/asm-
> generic/percpu.h
> new file mode 100644
> index 0000000000..85a3f3ef17
> --- /dev/null
> +++ b/xen/include/asm-generic/percpu.h
> @@ -0,0 +1,35 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_PERCPU_H__
> +#define __ASM_GENERIC_PERCPU_H__
> +
> +#ifndef __ASSEMBLY__
> +
> +#include <xen/types.h>
> +
> +extern char __per_cpu_start[], __per_cpu_data_end[];
> +extern unsigned long __per_cpu_offset[NR_CPUS];
> +void percpu_init_areas(void);
> +
> +#define per_cpu(var, cpu)=C2=A0 \
> +=C2=A0=C2=A0=C2=A0 (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
> +
> +#define this_cpu(var) \
> +=C2=A0=C2=A0=C2=A0 (*RELOC_HIDE(&per_cpu__##var,
> __per_cpu_offset[smp_processor_id()]))
> +
> +#define per_cpu_ptr(var, cpu)=C2=A0 \
> +=C2=A0=C2=A0=C2=A0 (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
> +#define this_cpu_ptr(var) \
> +=C2=A0=C2=A0=C2=A0 (*RELOC_HIDE(var, smp_processor_id()))
> +
> +#endif
> +
> +#endif /* __ASM_GENERIC_PERCPU_H__ */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 15:29:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 15:29:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633746.988793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Hpy-0007qf-HB; Wed, 15 Nov 2023 15:29:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633746.988793; Wed, 15 Nov 2023 15: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 1r3Hpy-0007qY-EY; Wed, 15 Nov 2023 15:29:54 +0000
Received: by outflank-mailman (input) for mailman id 633746;
 Wed, 15 Nov 2023 15:29: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=Ea73=G4=arm.com=Divin.Raj@srs-se1.protection.inumbo.net>)
 id 1r3Hpx-0007qS-JV
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 15:29:53 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2048.outbound.protection.outlook.com [40.107.13.48])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d1dc51a3-83cb-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 16:29:51 +0100 (CET)
Received: from AM5PR04CA0002.eurprd04.prod.outlook.com (2603:10a6:206:1::15)
 by AS8PR08MB10247.eurprd08.prod.outlook.com (2603:10a6:20b:629::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Wed, 15 Nov
 2023 15:29:22 +0000
Received: from AM2PEPF0001C70F.eurprd05.prod.outlook.com
 (2603:10a6:206:1:cafe::94) by AM5PR04CA0002.outlook.office365.com
 (2603:10a6:206:1::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18 via Frontend
 Transport; Wed, 15 Nov 2023 15:29:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C70F.mail.protection.outlook.com (10.167.16.203) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.19 via Frontend Transport; Wed, 15 Nov 2023 15:29:22 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Wed, 15 Nov 2023 15:29:21 +0000
Received: from 821dd9be5ea1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 485902C7-94E2-4CBD-B43A-E7DF33756486.1; 
 Wed, 15 Nov 2023 15:29:15 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 821dd9be5ea1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 15 Nov 2023 15:29:15 +0000
Received: from PAXPR08MB6750.eurprd08.prod.outlook.com (2603:10a6:102:13f::16)
 by DB9PR08MB6684.eurprd08.prod.outlook.com (2603:10a6:10:26d::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Wed, 15 Nov
 2023 15:29:10 +0000
Received: from PAXPR08MB6750.eurprd08.prod.outlook.com
 ([fe80::542e:1889:d107:2e96]) by PAXPR08MB6750.eurprd08.prod.outlook.com
 ([fe80::542e:1889:d107:2e96%4]) with mapi id 15.20.6977.029; Wed, 15 Nov 2023
 15:29: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: d1dc51a3-83cb-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=VW66i/a/bvPh9nXT7iDvIqJzxyLueP/2Dwsc0lXoQxAYLlKLNy+gCMfc1j9J/9Of9IvoeM0VlG8JtuoXa1boKQjm758DB52i3u1OKlnUBxHyR+R+RYTcYjfKKxU9pZ2kGuEzxgkEPIV3n133RCYjF4JpUrD7391PV2V/D69rUei7z7RH6uFjHo9fP31+OCXP6tYQq8+KXdigyn9HZCWSBCUAZCjWWQ6i1JogIx6ZE90FiuAJhY5s+nPtpObeoHm1UZU9EnrFxBVVdrqGVTSPP+KOT6xt7X0mgEkhExya/vIfrW8msNjUx1QWu/R4M/VZf5za3NpvGFfGh4j8KNKmsQ==
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=1ZQ2mIHLRREuZyGjdoydo+TCa2MgPvLwS3KDqPvn0us=;
 b=ijvS9BcIVk30PEfHNc+bnq/k8bqi2BIWW6WaYCqN/iwgWHbL1oZprY1w5XD2edMLlB7eLQ8vcVeeg+gxEZNDiNb2bWDTGtuL5cfHDAiMkcpEoTwuQUaSKHLP/YhEYGJoGE3hoIacuQsYCJQ4vR4n8igN847Dk/L1kvoj/WofLV203gPN3ap2I+kx4HBZdTbX/y2CSc0HsNG7SEcWjz/Cw67vbqRL/wgfEX65qLuZqWzlkLfIlb9wdwfkaJsm2I3MvWb/dxg0pUOSk96dvkNhVrssjUU73zQaQ435MZ+PDir/Cu2iXP/mi/mi+IabEHFSvBG5se4Ot4NY4Xi8BG9WAQ==
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=1ZQ2mIHLRREuZyGjdoydo+TCa2MgPvLwS3KDqPvn0us=;
 b=0vhe5DtID7zpzwpCEQKKe+RCik69mRcPys5dw2mUJcUNarOiHuNivPHzjdpw5OCh6UVgBM61oAJp23Rj2ioiejjJQZLVnXE7RQVY3aiGAvP8UCfXdur4jF0Ts8uYBdirht2cz1T4CGu0bicTD4mTwXyieT41Fihl5kX39GSiOk4=
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: cbd8597cfb86421e
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zva3jQzgR/ZwggQ9Q6b45UqmAjoVxkaOGDm67H/CRcbm2Md7w81V0OpI0YBGunutCxUSBMQlLvF2fFVa0JZtC46arqhWooWoO2lExMNq6hpg8HgWLs2KwbQ9kgn/50UNYpkRGN6/oeTFHTb8xmM4EW6JkCpTIVbjTezdY10p5S2JK7lD3CnfbmDbwO+brSSQZibvZpQMxJ1lnwXetgClHmBo1+ciDI+bE/e7rLrADW1fRr1sKOQBxDyNQ3YdHQPVWWCmdz38MNG6Au1aeY6xr81XKuqlQ/s4Bu9GuqmC2Txgm67YyrDJsm4Ggfcjjx6S7mNv6XA9WgXpezOrIszqnA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1ZQ2mIHLRREuZyGjdoydo+TCa2MgPvLwS3KDqPvn0us=;
 b=aujX99K2QpofA7Ndt1n4OSwVBWp4vfz7WLJPd18kNBkEg5etthJPS1/I8TZKp+QR+UHUreknHJEWCYTK/6EFIqf+ZezVXNIVNP/4jwH7ZH1Ary5V47NtR8Ws3VfWDau7sxkYRedHotswaKu85Df/pSIheVz2mRxn5wEAcv1Dkaf3kBj30XK9glpsJxEZuH7o0BLc3U+W53CdCLfrLVsQYsoxkX7tChlvG7tH/sbMBCgWX77qoEl30YN6ka40S3oLtEdm7PExfcIRTscl12R8PFMuDf6a0WvR+pavj27ImEYnSZObSUY4QnhjCXN6Wz15bObtdHsmjoWbdScOsPdE7A==
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=1ZQ2mIHLRREuZyGjdoydo+TCa2MgPvLwS3KDqPvn0us=;
 b=0vhe5DtID7zpzwpCEQKKe+RCik69mRcPys5dw2mUJcUNarOiHuNivPHzjdpw5OCh6UVgBM61oAJp23Rj2ioiejjJQZLVnXE7RQVY3aiGAvP8UCfXdur4jF0Ts8uYBdirht2cz1T4CGu0bicTD4mTwXyieT41Fihl5kX39GSiOk4=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Content-Type: multipart/alternative;
 boundary="------------angZAYbZFlhxt5znIwG630W8"
Message-ID: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
Date: Wed, 15 Nov 2023 15:29:09 +0000
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: anthony.perard@citrix.com, jgross@suse.com,
 Luca Fancellu <Luca.Fancellu@arm.com>,
 "Rahul.Singh@arm.com" <Rahul.Singh@arm.com>
From: Divin Raj <divin.raj@arm.com>
Subject: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable through
 'xl.conf'
X-ClientProxiedBy: LO4P123CA0585.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:276::19) To PAXPR08MB6750.eurprd08.prod.outlook.com
 (2603:10a6:102:13f::16)
MIME-Version: 1.0
X-MS-TrafficTypeDiagnostic:
	PAXPR08MB6750:EE_|DB9PR08MB6684:EE_|AM2PEPF0001C70F:EE_|AS8PR08MB10247:EE_
X-MS-Office365-Filtering-Correlation-Id: 44e54d11-fa66-42ef-b070-08dbe5efa471
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:
 3cQB4AZW0ZSjptn8lFuYrwGb+UQNYeJKkm2YRqF28xC1m5b2gEy4aZ7+chAfGfG5/dnHHM+QQZihib+RkSACX1d1Rag5fI4uByADE9WudY/VbD3bS8ZF6SqgY2QM2YLnt0W9lg4qyybT6gWBcrTX8RVfhgonDnE2eaXGlT8WfJ02kvGODi/oJHuHl5Vl+ODxRgITpAUrnoIa5qYeF0kOfsfrsBO39smMv/pPAln9vY/Ur3gnCQbhfq+PWGYlacdiFqy+Lrao0dGWjhMHsKxKvdLfVKrvdh8qy9+FKgByB3Fwh2x8kc0IxKcYCRzIpkh52ufP6vmz96G+iGtRmLVV7eVtFHxUZs9yeh4EkqSTI1rlvt1cDXiWLUD2Rexu5sPwHoVog99okkFmcIjCj8dkeiqemfqQwMb8x4YYCoP0wNjuEr14hPOhR9YBShHZVO88suCJa32+TuRKB0dQpXH21p61CI1uKuMFbQAwFiY0jxcZq5UfiYqCpsOq1WtnzT/NvSkiSeAYC04loiFhoWE+CX595bYldlVLLu3eFfE9abWToVdLmqSjKYCWKJc6LXFtk962xeu27R32IBbpWXC8Z23/bAsOogc7TYjl2N9w/qLkFCpiWLVPPgRmxDVBwhsrpwh+hcD3KXObdshGKRTWiA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6750.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(366004)(39860400002)(346002)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(66476007)(44832011)(66556008)(54906003)(316002)(6916009)(41300700001)(8676002)(4326008)(8936002)(66946007)(6486002)(36756003)(86362001)(5660300002)(2906002)(478600001)(38100700002)(31696002)(33964004)(6506007)(83380400001)(26005)(2616005)(6512007)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB6684
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:
 AM2PEPF0001C70F.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	17652063-7b1b-46de-9481-08dbe5ef9d4f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7HhzXmdh3Zh1FxD6HWeKcYA5aMHZzYrDAKk8t9cXUZlKtTiSb6pdTYEHGJ3myQE8q1J5AweY/QlqIL3Gbot15Stcn4cCc/RkpNCts9aCXhMzTEkwrGBxUuyBsje6xk2UE+G9PAlQLTGIucP6MbpNpr0NrI6Ujh58ErHqcc/VN5/FMFwJpj7QpHgp9OMhKO9VZJ1oEIWn+inL6DlBdDyCJDECPVrHbsUL5KECBEynFAKHdUgkmzBLg6azckgFTGfh2xlWfSxUBEH3J2IUyMPrvoC6MWoUhEGf+12K/KCeQoa5w8j8aL37YQwcUJ6ASiRQzosHGPnjpBb3dVVi8a5y2RiB5U2zFfFmx9qKRu4pU0JhL85Ubqjf2DXuVClu9aV6NHzXuzF8Wz3+OWImOv90+4rEfPZxC1nQbRZr/o7iB3CfKGdy3dkUvELm/c6ghVy+ALXiiq3Xk/55a6VYwJnZgBQxKS7IjPchYKRI0KTrZs0BaH2MZnulZbyL4WolpqAIwSIAFmP80ThOeu//SHcrmnxK/6//zQGm2BunnhHwFPmYH03chw7cbskn3cpcbwp7rju6tZQmo0PktEDUAYnDlgcky1jSy+NyuOcGiX+WzfQz8BaAUXL/4jWT9L7Y3GdeuO5nP4kNbJ5fRH3QEooxwm8Ejhb5I+wa2EOq1dZtPVzDDxKyeestnT9aJs9MFeJRimqQUiaRL+jMeg0iiG/4ZECsGbKA+9xlmL/C+Su0bhZOtH35uriip2+1QS9R2gOFmkgWCtWJ2qX83IvCdC8/3Q==
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:(13230031)(4636009)(136003)(396003)(39860400002)(346002)(376002)(230922051799003)(451199024)(64100799003)(82310400011)(186009)(1800799009)(36840700001)(40470700004)(46966006)(47076005)(336012)(2906002)(40460700003)(83380400001)(82740400003)(81166007)(36756003)(356005)(86362001)(31696002)(41300700001)(36860700001)(6506007)(33964004)(44832011)(6512007)(478600001)(6486002)(70206006)(6916009)(70586007)(316002)(8676002)(31686004)(8936002)(54906003)(4326008)(40480700001)(2616005)(26005)(5660300002)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Nov 2023 15:29:22.1290
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 44e54d11-fa66-42ef-b070-08dbe5efa471
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:
	AM2PEPF0001C70F.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB10247

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

> Hi Xen community,
>
> On one of our internal projects we came across an issue in the 
> toolstack: when multiple network interfaces are initialized 
> concurrently with other system workloads, the execution time of the 
> hotplug script often exceeds 40 seconds, leading to an error.
> To mitigate this issue, we are considering making 
> “LIBXL_HOTPLUG_TIMEOUT” configurable through ‘xl.conf’, instead of 
> increasing the hard-coded “hotplug timeout”, do you think it could 
> make sense?We would greatly appreciate any feedback, suggestions, or 
> improvements you could provide.
> Thank you for your time and consideration.
>
> Regards
> Divin

--------------angZAYbZFlhxt5znIwG630W8
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit

<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  </head>
  <body>
    <blockquote type="cite" class="c-mrkdwn__quote" data-stringify-type="quote" style="box-sizing: inherit; margin: 4px 0px; padding: 0px 0px 0px 16px; position: relative; counter-reset: list-0 0 list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; color: rgb(29, 28, 29); font-family: Slack-Lato, Slack-Fractions, appleLogo, sans-serif; font-size: 15px; font-style: normal; font-variant-ligatures: common-ligatures; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;">Hi
      Xen community,<br>
      <br style="box-sizing: inherit;">
      On one of our internal projects we came across an issue in the
      toolstack: when multiple network interfaces are initialized
      concurrently with other system workloads, the execution time of
      the hotplug script often exceeds 40 seconds, leading to an error.<br style="box-sizing: inherit;">
      To mitigate this issue, we are considering making
      “LIBXL_HOTPLUG_TIMEOUT” configurable through ‘xl.conf’, instead of
      increasing the hard-coded “hotplug timeout”, do you think it could
      make sense?<span aria-label="" class="c-mrkdwn__br" data-stringify-type="paragraph-break" style="box-sizing: inherit; height: 8px; display: block;"></span>We
      would greatly appreciate any feedback, suggestions, or
      improvements you could provide.<br style="box-sizing: inherit;">
      Thank you for your time and consideration.<br>
      <br>
      Regards<br>
      Divin<br>
    </blockquote>
    <p></p>
  </body>
</html>

--------------angZAYbZFlhxt5znIwG630W8--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 15:47:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 15:47:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633750.988804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3I6Q-0004AX-UE; Wed, 15 Nov 2023 15:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633750.988804; Wed, 15 Nov 2023 15:46: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 1r3I6Q-0004AQ-R2; Wed, 15 Nov 2023 15:46:54 +0000
Received: by outflank-mailman (input) for mailman id 633750;
 Wed, 15 Nov 2023 15: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=gzjc=G4=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r3I6Q-0004AK-5o
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 15:46:54 +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 314b7588-83ce-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 16:46:51 +0100 (CET)
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 05099204E3;
 Wed, 15 Nov 2023 15:46: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 CF0A313587;
 Wed, 15 Nov 2023 15:46:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id IyQSMennVGUKEQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 15 Nov 2023 15:46: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: 314b7588-83ce-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700063210; 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:autocrypt:autocrypt;
	bh=VOcHXn4aJjHxjiByZXZPWrneZ454hf2ckBjtPA7DLMA=;
	b=j3pjil+tLgwsGy2O3Alg69YmzuoyQtaYLZMZCMZLxFxaUeUUbNtXwnn0EGjgd0p1M9vkZx
	2DHP2/Tk/I6PL/bWo+MjRTYf7MzF94F3rkUCvMR4D+KHFVoKG5AcGRsUmCTqZJtJgOySrz
	l7rqQws51fc7hrqrbj1HnKPcc+kIVao=
Message-ID: <4a9bd24c-657d-4165-b648-6c84c4db5901@suse.com>
Date: Wed, 15 Nov 2023 16:46:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 6/6] libxl: Add "backend_type" property for the Virtio
 devices
Content-Language: en-US
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231115114424.3867133-1-Sergiy_Kibrik@epam.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20231115114424.3867133-1-Sergiy_Kibrik@epam.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Ego5d8mP177y3coS8V20EE44"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -7.96
X-Spamd-Result: default: False [-7.96 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-2.97)[99.86%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-3.00)[-1.000];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-1.00)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Ego5d8mP177y3coS8V20EE44
Content-Type: multipart/mixed; boundary="------------4QQrruboyW218tlp68Rlol3J";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <4a9bd24c-657d-4165-b648-6c84c4db5901@suse.com>
Subject: Re: [RFC PATCH 6/6] libxl: Add "backend_type" property for the Virtio
 devices
References: <20231115114424.3867133-1-Sergiy_Kibrik@epam.com>
In-Reply-To: <20231115114424.3867133-1-Sergiy_Kibrik@epam.com>

--------------4QQrruboyW218tlp68Rlol3J
Content-Type: multipart/mixed; boundary="------------m5Otd3NqSDIDxLvTqEq0aSDj"

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

T24gMTUuMTEuMjMgMTI6NDQsIFNlcmdpeSBLaWJyaWsgd3JvdGU6DQo+IEZyb206IE9sZWtz
YW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4gDQo+
IEludHJvZHVjZSBuZXcgY29uZmlndXJhdGlvbiBvcHRpb24gImJhY2tlbmRfdHlwZSIgZm9y
IHRoZSBWaXJ0aW8NCj4gZGV2aWNlcyBpbiBvcmRlciB0byBzcGVjaWZ5IGJhY2tlbmQgaW1w
bGVtZW50YXRpb24gdG8gdXNlLg0KPiBUaGVyZSBhcmUgdHdvIHBvc3NpYmxlIHZhbHVlcyAi
cWVtdSIgKGRlZmF1bHQpIGFuZCAic3RhbmRhbG9uZSIuDQo+IA0KPiBJZiBiYWNrZW5kIGlz
IGluIFFlbXUgKGJhY2tlbmRfdHlwZT1xZW11KSBhbmQgUWVtdSBydW5zIGluIHRvb2xzdGFj
aw0KPiBkb21haW4gKGJhY2tlbmQ9RG9tYWluLTApIHRoZW4gUWVtdSB3aWxsIGJlIGxhdW5j
aGVkIGF1dG9tYXRpY2FsbHkNCj4gYXQgdGhlIGd1ZXN0IGNyZWF0aW9uIHRpbWUuIEZvciB0
aGlzIHRvIHdvcmsgaW1wbGVtZW50ICJkbV9uZWVkZWQiDQo+IGNhbGxiYWNrLg0KPiANCj4g
UGxlYXNlIG5vdGUsIHRoZXJlIGlzIG5vIHN1cHBvcnQgZm9yIFFlbXUgaW4gb3RoZXIgZG9t
YWlucyBmb3INCj4gdGhlIHRpbWUgYmVpbmcsIHNvIHRoZSBjb21iaW5hdGlvbiBvZiAiYmFj
a2VuZD1Eb21EIiBhbmQNCj4gImJhY2tlbmRfdHlwZT1xZW11IiBqdXN0IHdvbid0IHdvcmsu
DQo+IA0KPiBRZW11IGNvbmZpZ3VyYXRpb24gZm9yIFZpcnRpbyBkZXZpY2VzIHNob3VsZCBi
ZSBkZXNjcmliZWQgdmlhDQo+ICJkZXZpY2VfbW9kZWxfYXJncyIgcHJvcGVydHkuDQo+IA0K
PiBTaWduZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hj
aGVua29AZXBhbS5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFNlcmdpeSBLaWJyaWsgPFNlcmdp
eV9LaWJyaWtAZXBhbS5jb20+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jv
c3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0KDQo=
--------------m5Otd3NqSDIDxLvTqEq0aSDj
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-----

--------------m5Otd3NqSDIDxLvTqEq0aSDj--

--------------4QQrruboyW218tlp68Rlol3J--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVU5+kFAwAAAAAACgkQsN6d1ii/Ey8u
FQf/b4et8j5FSeNoJu+2el6lNbbiuZTEVcbxABXgSB1gUkUxebpyPKfqf8Y9EMh6d5VcFb3wqpK2
S60bDonuNWtwIno7ZpEbf2bkGyrMdAsKPWXbvzg/VmBPbuevOQJj0dOZrjIDM5Fdu6W+njkgc9+B
gUrEgbrPcWVHhEmntTkwckuP+Z9uEHSBtr9h/jzk8RyAZew/6hhfdJWjEz/hCp55hUfRP4axvb/A
XHmjGBkmb/J7x1h/a0AsvPDmpW+elolozpvkO7Qi6kliB77Tuvlpd9SuSmZJBjLPFJI25yy7hxQu
Jw74snDNOcyHlIGkB3pSnubNg+ETlD2aZ2KW/AQ5Zg==
=TT11
-----END PGP SIGNATURE-----

--------------Ego5d8mP177y3coS8V20EE44--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 16:39:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 16:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633755.988814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3IvM-0007gM-U4; Wed, 15 Nov 2023 16:39:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633755.988814; Wed, 15 Nov 2023 16: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 1r3IvM-0007gF-Qw; Wed, 15 Nov 2023 16:39:32 +0000
Received: by outflank-mailman (input) for mailman id 633755;
 Wed, 15 Nov 2023 16:39: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 1r3IvL-0007g5-HZ; Wed, 15 Nov 2023 16:39: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 1r3IvL-0005Mt-EA; Wed, 15 Nov 2023 16:39: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 1r3IvL-00080j-2p; Wed, 15 Nov 2023 16:39:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3IvL-000563-27; Wed, 15 Nov 2023 16: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=nV8EnnyBIZEuugx0Ajh6POJ1oL7QERf/UnWVXDtPL/U=; b=lDFhfVcLEcRniRHS2Kvu5iPnAZ
	t7aowrVJSluNhYDEgp2MbwIdRmucwj3BgWvR4O/0PBUEeKrX5uxzwrWprFn0Jct4K1uczXU+Yyo9Z
	DdfQKlMhYZmtXrXvoTAzjk11KhQ9vNvVCTb3FUw3EztxIhgXFqNmM+82c/5kyuUrM3Dk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183759-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183759: trouble: broken/fail/pass
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:<job status>:broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:host-install(5):broken:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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: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-credit1:migrate-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-libvirt-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-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-raw:migrate-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-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-raw: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-libvirt-raw:migrate-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-libvirt-qcow2: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
X-Osstest-Versions-This:
    linux=86d11b0e20c09e0a91cd2aa57b115000274e2ac5
X-Osstest-Versions-That:
    linux=9bacdd8996c77c42ca004440be610692275ff9d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Nov 2023 16:39:31 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-amd64    <job status>               broken
 test-amd64-amd64-xl-qemut-debianhvm-amd64 5 host-install(5) broken REGR. vs. 183746

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183746
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183746
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183746
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183746
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183746
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183746
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183746
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183746
 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-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-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-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-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-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-amd64-libvirt-qcow2 14 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-amd64-libvirt-raw 14 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-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-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-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:
 linux                86d11b0e20c09e0a91cd2aa57b115000274e2ac5
baseline version:
 linux                9bacdd8996c77c42ca004440be610692275ff9d0

Last test of basis   183746  2023-11-13 17:42:24 Z    1 days
Testing same since   183759  2023-11-15 04:41:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bob Peterson <rpeterso@redhat.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Nick Terrell <terrelln@fb.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                    broken  
 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-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-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-amd64-amd64-xl-qemut-debianhvm-amd64 broken
broken-step test-amd64-amd64-xl-qemut-debianhvm-amd64 host-install(5)

Not pushing.

------------------------------------------------------------
commit 86d11b0e20c09e0a91cd2aa57b115000274e2ac5
Merge: 2e6ef8aaba6b 77618db34645
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Tue Nov 14 23:35:31 2023 -0500

    Merge tag 'zstd-linus-v6.7-rc2' of https://github.com/terrelln/linux
    
    Pull Zstd fix from Nick Terrell:
     "Only a single line change to fix a benign UBSAN warning"
    
    * tag 'zstd-linus-v6.7-rc2' of https://github.com/terrelln/linux:
      zstd: Fix array-index-out-of-bounds UBSAN warning

commit 77618db346455129424fadbbaec596a09feaf3bb
Author: Nick Terrell <terrelln@fb.com>
Date:   Thu Oct 12 12:55:34 2023 -0700

    zstd: Fix array-index-out-of-bounds UBSAN warning
    
    Zstd used an array of length 1 to mean a flexible array for C89
    compatibility. Switch to a C99 flexible array to fix the UBSAN warning.
    
    Tested locally by booting the kernel and writing to and reading from a
    BtrFS filesystem with zstd compression enabled. I was unable to reproduce
    the issue before the fix, however it is a trivial change.
    
    Link: https://lkml.kernel.org/r/20231012213428.1390905-1-nickrterrell@gmail.com
    Reported-by: syzbot+1f2eb3e8cd123ffce499@syzkaller.appspotmail.com
    Reported-by: Eric Biggers <ebiggers@kernel.org>
    Reported-by: Kees Cook <keescook@chromium.org>
    Signed-off-by: Nick Terrell <terrelln@fb.com>
    Reviewed-by: Kees Cook <keescook@chromium.org>

commit 2e6ef8aaba6b709ce91164401fa1c12668510360
Author: Bob Peterson <rpeterso@redhat.com>
Date:   Tue Nov 14 07:57:53 2023 -0600

    Remove myself as maintainer of GFS2
    
    I am retiring from Red Hat and will no longer be a maintainer of the
    gfs2 file system.
    
    Signed-off-by: Bob Peterson <rpeterso@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 16:42:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 16:42:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633759.988824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3IyO-0000g1-CQ; Wed, 15 Nov 2023 16:42:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633759.988824; Wed, 15 Nov 2023 16:42: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 1r3IyO-0000fu-89; Wed, 15 Nov 2023 16:42:40 +0000
Received: by outflank-mailman (input) for mailman id 633759;
 Wed, 15 Nov 2023 16:42: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=WuA2=G4=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1r3IyM-0000fk-Gd
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 16:42:39 +0000
Received: from sonic301-22.consmr.mail.gq1.yahoo.com
 (sonic301-22.consmr.mail.gq1.yahoo.com [98.137.64.148])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9deed73-83d5-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 17:42:35 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic301.consmr.mail.gq1.yahoo.com with HTTP; Wed, 15 Nov 2023 16:42:33 +0000
Received: by hermes--production-bf1-5b945b6d47-ksq7q (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID eecdd960dd027959e27ffe8bc14eb181; 
 Wed, 15 Nov 2023 16:42: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: f9deed73-83d5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1700066553; bh=srxkkwxvcfRXHirYDy7Km59c+mkn9/Rin6DQFhiCsA0=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=iek3tzAuouhJoN7jbq+MFDMJsX35xBq2gBEzKk0TBWVPVvvezexszqE5lbjvNFZ/zFSyd1ISqf6Qcnx9EUKpXJFQ04+nUiyuweqfCQBcd/watTqRwBazri1XP2LwUwo1gchivBgah3qbW/FUUjqTsC/SB8rbiULvLBh4ZABc0AliIMrV3V6JFAGNHq2Sbk5lW/fUvV8N61wdAMZ6B8nxv0t++/nCIgPxf6UKBaUfwshzRAQ9zV5vKH6c/KUlKiM1u/veW9V4z/JOLE5GB3oyzFMHOwNfMVkX82/dAmfIVy2hKZdqFlrYO2Q7S16Ow/NBqTQtdej05IZHCg3l/dsE5A==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1700066553; bh=ZMIbsuAamn5sYS2oC8biMiXGuR1kMPPESY5j4gdKAoD=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=PwoVKisL8AJxVEFrGSPIpgHJaB3SU1tqOeBHmZawLEI3Dqxg85QSfi2MYvraLKJko8Ec6un75zxoi5ouAwGao6CWA1TVaN3VU7/+uRKIM5zmT6oJkOekHVaer2qeL8D7bKuYgMplB5F961QdRyABhsZ4zSEWFFVIdr32QGxQxUKpwaZFm9/KtVAsK6CjGiXYyiSuMBVVbMR6eiXNXb1PNt1I/RqCkR3ViIfGRIFNSPBjd/a4aKGRStN4kLQAeBRPGxxpA6ndP/UHtZ/ypiFVdKqUhJR6wchgGlnuOabjnUB77k1vOexzIkE3V90C5sZyEreyU+kqjGmfJYXMCuaalw==
X-YMail-OSG: 3HrNc5sVM1kq47enKgK1kEy4exFL6UFQuTKeWy.V9vPjV1VoyvOgqEtJCKONVTK
 YbGkrF5WcvM4ZqmAE4sZG7mik3X7oYunfN9t92_1C4lCxxKnznyk0Pv3L77U05HmhuADzqe10LDa
 Gy2Qda1z0xDlWGWvWhhs11RltaOvujlWwInsSnOTkKJXJTK8I_NaGtUNgThsM47a.kVV2WvjYf.7
 GNIiDzc0i5rcNtYfa0Zn3ouoyq_534sJMrYKMVY.hNz5XLRa2x0tChVEnUXAytANoyEplGfc4wLM
 bMa.fJG2wb2FkPyAjLS5PMjtsYZihwAMrDd1UXToHaw2F7a74QipI6zP80cr8elCVW9MvFVo1m90
 B6gjB_oYX0GCycUzvZFFvqMvzHc4qqTOAtRiObnIIfzDX_k8fIiLS9lTxJ1jFRTMCyJ_hOoXPTnl
 kVuRHQcOYQpR19rajAprSfZRsNYFJ1JgLyXRZNo6_aMDUZEiFxCF78Z51MoWdhB3DzomlXjsPvx7
 Tr1jGCaU0eJIQGOcucd6eUjwEGFiDRfCtNBQzs_fRUaAw2NjJawYxiAOGT3snhZMuM_EwQoi5XLV
 h3j8JpFyVjERZDmA57i.zja8OzXVGMCuR42hYFJx85tlkmdP7K8QsqQMx0NAdjsoezn3tkLoxBfp
 PMXIHYWgNFRbVwen.GIDYbFq5.3C5lcqOHhziajDDLb_ECudw9n_XWJSFrnfUx9LTq6Qm9MQ5XmY
 ETCRaBS8_Np8igPapLiRuk6qsFzLBY9MmUyjfvn8tw8XFy7FyiqpuetuPqJ1SuIspDDvG_e6Y1_I
 FCVmVgoUxRWll.FWWXgO6KKBwU5lU0rnho6cPB9WsUfbyE3eMFjDHSb.mdiFjd0dXpki3HH6nXjS
 bTv4XPKfoeTp_MzTr_b7snU6VsrmMjjN_QZXt34v8mIaPl8d6aI6e_T7Fo8qC7qfD4Esl5dN_cVD
 FSCtkQ2WdTV.zeIJJPRhNwnuFkcJHEG9qE0EmX6CWx.bGYWPt8G2MBFHBuBEdMah5m7fHjjhhFMv
 MHc3SweFAo.MTB0944xtzlm_Gvf2H3ff1xzrSmYrkgxnuG09kdxTL0nvKvaMZR5gkpfvhtTN7Dij
 2VLYqynEBiirSfgIgcKNCMMh9MuMDsPXfy.twocmtdW.jm3hNBeGjlawj0Fx2Lo7rBRuWXfWd.cu
 2aJj242bwyfYO0Xrlhp0y8ZrZ4jSKUFjBzC1CDSHwk.PXjuOEwFStvM1JZOhPVPU6Hgr8a7uO5q6
 RzHwx5as2TFKiGw0YkVZkC3esfdphieWAP16PjJFdG_YsRUHhMVljjXkdDwjSZVg72BW2ISp.ruy
 .ZkMRFBdaTDFlqgAszukz2IWHesjcCeWlP1kfW_sHXDDxTVxCq4TexWe1CZZVKKudqG_vNGtyYqB
 mqjcj.d90WGtugu4DF17In_Vy9QKXbin6xNFbPvvTR7oXH2SSpUJPFln9A6trbDngBk2TkdQPUvA
 FWp7vYm3pRzU4ozOMm751Jt7fn4rNbVgaNeh7FVbc_uP3RFeRt4ZZPhy0rwZX4J8R6Z5rnsiaojB
 Z4SQSwIxmAJ4KPd7tNmwroNBNILUi5.vK5esXgmNWmybck31kw.bc.0_jE3vXkRnTdflP6.Os8Qn
 0wvo87fJW_9XQFgUAic289jEH6.awje_YsUAN13zjIkgh4WBG1UHXSBb68.lTf.KFlNDfI5OC8ic
 oy18pdVVy8JEAZACx8TcaK86jljg2luQLfe0ER61Pf20AWeTJl3m2CW15qAI1buM6P9bC8KePRPM
 aorRQATSNbKxbzOrMAtZ9TK7XVjd7ZmJNS_vQzJXtrPb3AA.68faNrE2cNS9m6FEn76sIcPmoYWu
 WZK0hh9o32aRPfBwtIs8PnXO49m714tm4S1xLb1gF3m6uCuGwrq.KCYhY_UfnTi6tVd72zbjhwMN
 NIQo2HxAVDjadcXGIaoqvVXpiAyewCJTMYkVy_FP2dISFPfFWjyu2u2oRjaB2WjXB6ZRK7ueGjo9
 m4UZeCTK.cmyFQ9SqSXllzZ56uvtl45NhrGHkFNobN7AZ9vAPPgp9GI8aP7mjIUCd4FZa.hLbMcV
 qXecKtZZWv81TU_dHedfJ25wiUz2Nfy74asplrGkWNeKBALmHAkf7A6tiNKv3DpRCgSCE25eI3kG
 t36r_6uzAqtcQWxBNmoFDUIs2PQPpBSxgyC6W8QS6k5rtye9HGU5CUSDNSNX0uYi.wz5NIrelJyZ
 FnRJ2SIW05SUeGHYzOWzMH22x3Fwrhc0-
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 29654490-aa9f-4a19-b0a0-58f38a1284f5
Message-ID: <0aeaf3a8-096b-4ae2-be40-6d39914b28ea@netscape.net>
Date: Wed, 15 Nov 2023 11:42:28 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
To: Mario Marietto <marietto2008@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijOYJneLxEfss2BoY0Q4vafa+gVdQeyOfy7A_bTAA6QLw@mail.gmail.com>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <CA+1FSijOYJneLxEfss2BoY0Q4vafa+gVdQeyOfy7A_bTAA6QLw@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mailer: WebService/1.1.21896 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 11805

On 11/14/2023 6:43 PM, Mario Marietto wrote:
> I hope that the informations below are correct :

I don't know that they are correct. I have not spent the necessary time to
determine what the correct values for MEMORY_START and MEMORY_END are for
the Chromebook we are using. I just presumed, probably incorrectly, that
the entire 2 GB memory is safe, but obviously that is not the case with
this Chromebook. Most likely, it requires a good understanding of the
particular way booting is done on a Chromebook, which seems to be different
from other devices.

I plan to eventually look into finding values for MEMORY_START and MEMORY_END
sothe uboot-script-gen script computes usable values for loading Xen and dom0
on this Chromebook in the script, but I might not get to that task immediately.
I plan to look at it within the next week or so.

> 
> - the imagebuilder config file :
> 
> MEMORY_START="0x0"
> MEMORY_END="0x80000000"
> LOAD_CMD="ext2load mmc 1:3"
> BOOT_CMD="bootm"
> DEVICE_TREE="exynos5250-snow.dtb"
> XEN="xen-4.17-armhf"
> XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> DOM0_KERNEL="zImage-6.6.0-xen-iommu-dma-on-xen"
> DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> UBOOT_SOURCE="xen.source"
> UBOOT_SCRIPT="xen.scr"
> 
> xen.source : (that does not work)
> 
> mmc dev 1
> ext2load mmc 1:3 0xE00000 zImage-6.6.0-xen-iommu-dma-on-xen
> ext2load mmc 1:3 0x1800000 xen-4.17-armhf.ub
> ext2load mmc 1:3 0x1A00000 exynos5250-snow.dtb
> fdt addr 0x1A00000
> fdt resize 1024
> fdt set /chosen \#address-cells <0x2>
> fdt set /chosen \#size-cells <0x2>
> fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> fdt mknod /chosen dom0
> fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> fdt set /chosen/dom0 reg <0x0 0xE00000 0x0 0x87C200 >
> fdt set /chosen xen,dom0-bootargs "console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> setenv fdt_high 0xffffffffffffffff
> bootm 0x1800000 - 0x1A00000
> 
> xen.source : (created by chuck and that works)
> 
> mmc dev 1
> ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
> ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
> fdt addr 0x5ffec000
> fdt resize 1024
> fdt set /chosen \#address-cells <0x2>
> fdt set /chosen \#size-cells <0x2>
> fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> fdt mknod /chosen dom0
> fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
> fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused --no-log"
> bootm 0x51000000 - 0x5ffec000
> 
> all the values that you see in this conf. files have been calculated by chuck by hand,because the values generated by the imagebuilder are wrong. The only value that's well calculated by the imagebuilder is 0x87C200
> 
> - the size of all the binaries specified in the imagebuilder config file :
> 
> exynos5250-snow.dtb = 46.6 KiB (47,769 byte)
> zImage-6.6.0-xen-iommu-dma-on-xen = 8.5 MiB (8,897,024 byte)
> 
> 
> 
> On Wed, Nov 15, 2023 at 12:17 AM Stefano Stabellini <sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
> 
>     Hi Mario,
> 
>     I think we misunderstood each other :-)
> 
>     MEMORY_START-MEMORY_END is not supposed to be computed: it is supposed
>     to come from the memory node in device tree tree (/memory) of the
>     platform. The idea is that you should not have to do any computations,
>     but only reuse the same address range specified there.
> 
>     Similarly in regards to "please post the size of all the binaries",
>     this is just for debugging, so that I can see if there are any bugs with
>     uboot-script-gen. I cannot debug the script unless I figure out what the
>     problem is and the only way I can do that is with the binary sizes and
>     redoing all the steps by hand.
> 
>     The expected outcome is that once we resolve the problem you should be
>     able to use uboot-script-gen without any additional computation needed.
> 
>     Of course using static values is also OK.
> 
> 
>     On Wed, 15 Nov 2023, Mario Marietto wrote:
>     > ---> uboot-script-gen assumes that the memory range specified by MEMORY_START-MEMORY_END is valid and correct.
>     >
>     > Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and these are stable values,they don't change. If you ask me to calculate
>     > those values,it means that we need to compute these values. I imagine that to calculate these values is not easy.
>     >
>     > ---> To debug this kind of issues please post the size of all the binaries specified in the imagebuilder config file
>     >
>     > I imagine that I should also calculate those values. And again,I see a complication.
>     >
>     > I'm realizing that the method used by Chuck is easier because he uses stable values. In the end,there aren't any calculations to do and
>     > since I'm looking for an easier method,not a more complicated one,I think that Chuck's method is good as is. 
>     >
>     > On Tue, Nov 14, 2023 at 11:51 PM Stefano Stabellini <sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
>     >       Hi Mario,
>     >
>     >       It is difficult to know how to change uboot-script-gen if we don't know
>     >       why it is currently going wrong.
>     >
>     >       uboot-script-gen assumes that the memory range specified by
>     >       MEMORY_START-MEMORY_END is valid and correct.
>     >
>     >       So if you specified a valid and correct memory range in your config file
>     >       (0x41e00000-0x60000000) why is it failing?
>     >
>     >       The only thing uboot-script-gen does is choosing aligned addresses
>     >       within the MEMORY_START-MEMORY_END range. The addresses are supposed not
>     >       to overlap (meaning the initrd will not overwrite part of the kernel
>     >       when loaded). If the issue is a bug in uboot-script-gen, such as the
>     >       generated addresses overlap or they are not aligned, then we can fix the
>     >       alignment or overlap bug. To debug this kind of issues please post:
>     >       - the imagebuilder config file
>     >       - the generate boot.source script
>     >       - the size of all the binaries specified in the imagebuilder config file
>     >
>     >       On the other hand if 0x41e00000-0x60000000 is not a safe memory range to
>     >       use, then you need to specify a different memory range.
>     >
>     >       Cheers,
>     >
>     >       Stefano
>     >
>     >
>     >
>     >       On Mon, 13 Nov 2023, Mario Marietto wrote:
>     >       > Hello.
>     >       >
>     >       > I'm trying to find an easier way to the problem that you can read here :
>     >       >
>     >       > https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest <https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest>
>     >       >
>     >       > where Chuck says :
>     >       >
>     >       >  6. Create the u-boot shell commands that will be used to boot Xen and dom0.
>     >       >
>     >       > Create a file in /home/user (or any other directory) named bootxen.source with these contents :
>     >       >
>     >       >
>     >       > mmc dev 1 && mmc rescan 1
>     >       > ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
>     >       > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
>     >       > ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
>     >       > fdt addr 0x5ffec000
>     >       > fdt resize 1024
>     >       > fdt set /chosen \#address-cells <0x2>
>     >       > fdt set /chosen \#size-cells <0x2>
>     >       > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native"
>     >       > fdt mknod /chosen dom0
>     >       > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
>     >       > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
>     >       > fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>     >       > bootm 0x51000000 - 0x5ffec000
>     >       >
>     >       > The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from the
>     >       uboot-script-gen script
>     >       > available from here :
>     >       >
>     >       >
>     >       > https://gitlab.com/ViryaOS/imagebuilder <https://gitlab.com/ViryaOS/imagebuilder>
>     >       >
>     >       >
>     >       > This is the interesting point :
>     >       >
>     >       >
>     >       > Please note that most of the other values in the script generated by the ViryaOS uboot-script-gen do not work correctly with
>     >       the Chromebook
>     >       > Snow, but the script does correctly calculate the size of the dom0 Linux kernel image.
>     >       >
>     >       >
>     >       > Some time ago Stefano suggested to put the values below for MEMORY_START and MEMORY_END inside the xen-config file :
>     >       >
>     >       >
>     >       > nano xen-config file :
>     >       >
>     >       >
>     >       > MEMORY_START="0x41e00000"
>     >       > MEMORY_END="0x60000000"
>     >       > LOAD_CMD="ext2load mmc 1:3"
>     >       > BOOT_CMD="bootm"
>     >       > DEVICE_TREE="exynos5250-snow.dtb"
>     >       > XEN="xen-4.17-armhf"
>     >       > XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=768M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
>     >       > DOM0_KERNEL="zImage-6.6.0-xen-dma-mapping"
>     >       > DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>     >       > UBOOT_SOURCE="xen.source"
>     >       >
>     >       >
>     >       > bash ./uboot-script-gen -c xen-config -d .
>     >       >
>     >       >
>     >       > Image Name:    
>     >       > Created:      Thu Nov  2 20:59:24 2023
>     >       > Image Type:   ARM Linux Kernel Image (uncompressed)
>     >       > Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
>     >       > Load Address: 42c00000
>     >       > Entry Point:  42c00000
>     >       >
>     >       >
>     >       > Generated uboot script xen.scr, to be loaded at address 0x42000000:
>     >       > ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
>     >       >
>     >       >
>     >       > and I tried to boot Xen and Linux 6.6 as dom0 :
>     >       >
>     >       > SMDK5250 # mmc dev 1
>     >       > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
>     >       > but it did not work : it reboots on the verification screen.
>     >       >
>     >       > --
>     >       > Mario.
>     >       >
>     >       >
>     >
>     >
>     >
>     > --
>     > Mario.
>     >
>     > 
> 
> 
> 
> -- 
> Mario.



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 16:52:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 16:52:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633764.988833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3J7f-0003BP-AT; Wed, 15 Nov 2023 16:52:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633764.988833; Wed, 15 Nov 2023 16:52: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 1r3J7f-0003BI-7q; Wed, 15 Nov 2023 16:52:15 +0000
Received: by outflank-mailman (input) for mailman id 633764;
 Wed, 15 Nov 2023 16:52: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=6a9m=G4=epam.com=prvs=56830be07e=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r3J7d-0003BC-CQ
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 16:52: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 4f8ad4a0-83d7-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 17:52:08 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AFGnAsI028095; Wed, 15 Nov 2023 16:51:55 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ucw0vhg1x-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 15 Nov 2023 16:51:54 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by GVXPR03MB10498.eurprd03.prod.outlook.com (2603:10a6:150:14c::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Wed, 15 Nov
 2023 16:51:48 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Wed, 15 Nov 2023
 16:51: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: 4f8ad4a0-83d7-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QFOag7KHuEpIMh9D8/GGfId8NNwBqgu0e3r3wT7t19E1l1PK/UrRci1QiV4qe/iAjMCCsVPdpvdUPboLVcQMScAynsf+5NybABEbYogeK3bAt8BKT4TQxcWMh2/WaurIS+Z+dGiEhb7+1ysSYHrSTDXYHdAVVtTe4g87Xbq4tpH+bV4d0GCwxcvjidv6XcABsx/YNS18qwGu7/FlhshrtRMcY/dGiLYzdfL4+Yqjl5nBjKsydnqzVDFYRNY9lCwodVsboxe3CdB43rCeN46RLI0TIkCXOysSovoMIoBGzIfxrjN8iV7o/bpfucBrAR9/FclJecPWxsBlEmwqi33ckg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sJ4iETFiZ7hKhu5y0Odu16VNPxJx+SDND1cCLFex0RA=;
 b=hD2RayFolmHvsDBDHA9HgLjZ8HN6po2bZFe1CACxU/cIJvoHccqNy7wzLxKHXCz13TzRiAhfuW52rDjB75By/otO/lT0HAfTsUERMvmVsANe3IJkjPyw60u5ZGJ2pOl2oC3vBIoIbXDgzlvJ3GO2Ly45vTGoG7CvcKK2N/VYwuovVSNMRNBg5ZA0v8rT2MtDI/PNfGdlvmisX0bR5I4XOkKQEr2NQWOcJIOlDPEvJRjqzMSzy8EvcL9W7ALDbI3RNSB96grwd6FX60vL+qrCGjF4zWv0re1iBJNEO31df9nvcj4DVagsfQBMW4ygvDhQ9Y63AvBbyZXqL2kgrgUiNg==
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=sJ4iETFiZ7hKhu5y0Odu16VNPxJx+SDND1cCLFex0RA=;
 b=osuysw5QIqxwmCaiag8jYJXCD878sBmf1NJU8NOfpeH337jHLucXtK0W1cze/y3mKIbsuH2H33Q0FAZyFF6KFz7zSVFAAGfCx0SecBZfh4AqodQ2sBo9/I+A6gYoui6cusDvvv/0QWeJJHl9CnWBICg/w9vXlNPwrudOzzAbOEAyQk1RWTPK0luwrZKVMs3Np0U+/N5Vpw+XaReF7sQJ3FequJUfkQmiDEpGPawa84f9EsXqVUq69h2U5D5Who7dbx0pFAxTWlt1gM+bomW36K5g+5d34/aGYuC1W/Hhg9uRhSyEPsY548HOeDKk/De/56OPIMe+xbcsWOSAczAyTw==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Julien Grall <julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Topic: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Index: AQHaF7/0l4ZQp7ixjkGnkGM6dDamtLB7mIqA
Date: Wed, 15 Nov 2023 16:51:47 +0000
Message-ID: <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
In-Reply-To: <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.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-traffictypediagnostic: DB8PR03MB6108:EE_|GVXPR03MB10498:EE_
x-ms-office365-filtering-correlation-id: 9ebd34ae-7b00-434a-1c50-08dbe5fb2852
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 LJTIgKKU/7oAaDhAl3oOXwjOS1HaGHl0TCj4HZrbIdDwOcgt2AHZHHAQfrYD7IOGUPedHw/N/mCDeYNAL0qLDkYRN3kgguuG2Fm8wZTlmYva3lC2Lk07KHjWcJWVJtyXWM92tklunfp5oapcuLfpVZZTa0nMl/2RJ+DMw2eTWQPefPjEs5odE+aSTrn0QP5NEdNNUIYmgzB3qDlmdJnpveYX/1jJlK5BIW4DEKe21Zb+VBniV7Xo2y0aSMup35JvTSoPwEjbO9BOMYKN7HtNVvsRv0zGE56tghBuIqa3Org+oxzi1O7s6YiQjmv/gE3mx0MdIn+wYgffG7ZCiNTOGM6ZYahl3ETCm8+2SZVFgERwhHH/o1lTiZjJLZQnEn3ZDiQQr7N23Oa+/rVSBh6l9iTv4TjuDYo4PDZRU3woL9Pw2C/EJzHgZkAcKlt0FbB2F430x+4/bzMxxp9LUBxi9miNNJaJO1cJNnNODLxDamIiDkSTm4VYEpriyLLDFCGgJIloynu0hMA3C56D9DgUWD0x+yDdHSICEJoyiL3q6YXy47wm4qycVRg+c9uYPtl0kbOAb1GijDyDAgwAPH0qylxIbkeImGioYROv+geAXdNVXvej31Rp3QqPPDRnQLqM9r0v2YEGwEL12BXomFzLXQ==
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:(13230031)(136003)(376002)(39860400002)(396003)(346002)(366004)(230922051799003)(186009)(64100799003)(1800799009)(451199024)(5660300002)(86362001)(31696002)(6486002)(966005)(6512007)(316002)(36756003)(66476007)(66556008)(76116006)(8936002)(8676002)(66446008)(66946007)(4326008)(64756008)(54906003)(31686004)(41300700001)(2906002)(30864003)(38100700002)(91956017)(110136005)(83380400001)(26005)(122000001)(38070700009)(107886003)(2616005)(71200400001)(478600001)(6506007)(53546011)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?Ti92Tm5idG5namxNZmJGd1pFdTMrU2tvUDhod0lLa2Q0SWFNL0ZzT1IrMFBZ?=
 =?utf-8?B?Qzc2dEFXcVo3REFiT2VaTjlyajVLNUI1R3lyYmF2U09NdVNENmZqeXZ0RFZS?=
 =?utf-8?B?YWNKS3ZBcFZtS01TTSt3anJVWHhMUlRLdW5Rcy9DUE5tOTlqT0ZUbkxYODdr?=
 =?utf-8?B?VTRkOG4rYmcxeDlEZHpxT2gvYjRLbU1yUVl0dUxpQy9uZERpMnIrbHplbzZQ?=
 =?utf-8?B?Zm5xbk02ZkJOWG00QjJ6OWVzbngwaUVlREZ3RXBoZGFXOTNQMU1sdFEzYmky?=
 =?utf-8?B?UWU3enFnYUs0M1NUY2VsZXExOUhWV0UyL010dXpWUFNMb2NEMFFhYTk0OUNj?=
 =?utf-8?B?MFF4VERySjdFMVQ3UlNmaU9GMFlOZ3lkTklyVWFidG96dnJJYlkrL2tidmsy?=
 =?utf-8?B?OXM4TnEwTFJCVFBSU2xQTTZkVkFwUnN4OGRzZ0toTDRpTk5IamlTdFV2RTVT?=
 =?utf-8?B?TUxmcDcyQ3lxRGxKaEFLcWlnd3U2VGJBQ21ZZUJpSVJJVC9JMDJIemNVZmNN?=
 =?utf-8?B?cFM5ZWpIalZJcVpvZWdvcVlmdmtyeWsrdHdpeUI4cXl6WS9EMGtjcDRCVGV5?=
 =?utf-8?B?SHNad25hUVhvdldJaWptVzVYaUpjK3ZOK0VEQUIzcWhWQnVHL3N2STNIK3JR?=
 =?utf-8?B?WEdEd1VRUHkrVDlDUjR1ZGpiaU44Nnd2eGg0cmtHQWd1TWM5Y0E5dnFKQXJm?=
 =?utf-8?B?SGIwdGxjYVgyM3E0NC9Xd2x1Wmt3UVVXdVFTWnBJbmFKM0plNzIzU0ZqTGVi?=
 =?utf-8?B?K0RxaVhpSHc0b1B2MTJCcDJoTWQ3MjIxOHNQUFVSNFlERVdqVlBhRk51Zlpj?=
 =?utf-8?B?NVdPL3ZuY2RmNnpyL21DKzdMVnhVcXVvQis0a2pTWXNMSUZ0aHd5K3J4S09K?=
 =?utf-8?B?S2plTFBBVDkyNjB0b2VUdGdzWmxPUWMxaGorNkQxNmNaa2RVbUliYVl6TUNj?=
 =?utf-8?B?NzdRVE1hUUx5U1liaStkWjNWVFNlT2ExYW00azZ5ai9QcWU3aEY1TzlCbUpS?=
 =?utf-8?B?YTBCVVFIa2NaVFEwOXdDL2VPTVVhWXp3WXVOc2xFdXJKc3cxM2pDak9iLytW?=
 =?utf-8?B?YzRqTzh1Rkd1dWR6dnRyZG9LRzBLbWh6OG9oTEdUVmR2ZjdSWlJ2dC9XZENG?=
 =?utf-8?B?bXk0MHNyQThNM3hpaC9aZlFGeTVXaU5BTkdkbzZwcmx0b1JrV3cweTdwdjV5?=
 =?utf-8?B?cCtoUHhpUDQ3YXNOcGN0a3JDdUlNQWtpWjFENWhGcm90RlNtRGxzbGlSdzZJ?=
 =?utf-8?B?RTkzd2dvUlhOaTdJZGFpek5xY0I4VDh3d1czajFUQk9ySlFHZVptM3orcjR4?=
 =?utf-8?B?MXdEUnpZRlNySFIyMGtLUTVuZXJaWFF6YzRhQ3dHNnpGQ2tCMUxQUUxLOWNt?=
 =?utf-8?B?aXZCeGh2alN6V1lrYU5sbytnV2xPNjlDdFE0SjBEenJpcW45angzRDdIdzZF?=
 =?utf-8?B?aVp4SmJiU0NxSzFTT3gxUU9WdW5RclRMUWw3V1FhNDFyZmY4K3BmNWhCekpy?=
 =?utf-8?B?RWFneWtZNm45SUNyNHZ4VWRybFIzNTN2QStQd0NIamZTaTJpbUFqV3JoV3Zq?=
 =?utf-8?B?NmxSWmNMNHhvNDc1aWxDK25LY2NvREZLMVZMRFVXOE13cEhEYWJndDhocUg3?=
 =?utf-8?B?NGZldkRiRmNENDdLd3F3YmdCdmNBRFhDYzQ5VlhBS3BBajJ2T1hCY3NmTzNv?=
 =?utf-8?B?cGZIbTFWVnFxVGVjWHJjMnNLMFdndU5OMjhQNzRwTmUrak1VU2lESTYzMG9O?=
 =?utf-8?B?OEtNd0dzM2tYaUtBYXpxZThHVmNTRUVud05mcktpeUdadkZlRndtemZkWnVG?=
 =?utf-8?B?TXI1VkNnenk3WW1qdkRnM0NZazk3Nmp4UncrdmcwS1gxbUJLb2d5WkswdlVy?=
 =?utf-8?B?M3dpcUJYeStKMjZ4T21NUXVRL3VtRUE1S29nOHltU2dIMlVTZXhtQ0EzbE92?=
 =?utf-8?B?NVlMM2pLQXFHVmEwYlhoNmNxM3N6ajk5LzU1am9UY1pTTzVHcmZUOU5aUkVa?=
 =?utf-8?B?d0xGQTVCTkJ6OSs5ZVc4cGtMRElKS2pqZTduemlxVi9ZOGl5OC9ycnNPb3Nn?=
 =?utf-8?B?emw3Y05YM2hUSmtDYnVsVEI5SUJoRWtPWlBvcjZaUmRzRDZ4OW9TVlB0bWVy?=
 =?utf-8?B?MXpHemhKT0R6aTNvOXNrVnU0L1JrMjd3Q2ZiTm4xS3hWRkVocFFPdnJVa08y?=
 =?utf-8?Q?68HAl4vlVz6Ff2z/lQmWd+Q=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <3BDE296447DD254C9AB81D754FAB9C13@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: 9ebd34ae-7b00-434a-1c50-08dbe5fb2852
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2023 16:51:47.9059
 (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: RG750/D5HPLfz3ibAEMjb10L232JWsc1fPUHaT6mREIinvoMhrVqbmEGNATVGLwtmZLUPRY3eh0wTbLZO1eMG/KOogf634aUSo6+O42/Vgg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB10498
X-Proofpoint-ORIG-GUID: Hdlu4Hp8QhJ7GQMDrrIRF2ufLugVYejY
X-Proofpoint-GUID: Hdlu4Hp8QhJ7GQMDrrIRF2ufLugVYejY
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-15_16,2023-11-15_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0
 adultscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0
 mlxlogscore=999 clxscore=1011 bulkscore=0 mlxscore=0 impostorscore=0
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311150129

DQoNCk9uIDE1LjExLjIzIDE0OjMzLCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+IEhpLA0KDQoNCkhl
bGxvIEp1bGllbg0KDQpMZXQgbWUgcGxlYXNlIHRyeSB0byBleHBsYWluIHNvbWUgYml0cy4NCg0K
DQo+IA0KPiBUaGFua3MgZm9yIGFkZGluZyBzdXBwb3J0IGZvciB2aXJ0aW8tcGNpIGluIFhlbi4g
SSBoYXZlIHNvbWUgcXVlc3Rpb25zLg0KPiANCj4gT24gMTUvMTEvMjAyMyAxMToyNiwgU2VyZ2l5
IEtpYnJpayB3cm90ZToNCj4+IEZyb206IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJf
dHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4+DQo+PiBJbiBvcmRlciB0byBlbmFibGUgbW9yZSB1c2Ut
Y2FzZXMgc3VjaCBhcyBoYXZpbmcgbXVsdGlwbGUNCj4+IGRldmljZS1tb2RlbHMgKFFlbXUpIHJ1
bm5pbmcgaW4gZGlmZmVyZW50IGJhY2tlbmQgZG9tYWlucyB3aGljaCBwcm92aWRlDQo+PiB2aXJ0
aW8tcGNpIGRldmljZXMgZm9yIHRoZSBzYW1lIGd1ZXN0LCB3ZSBhbGxvY2F0ZSBhbmQgZXhwb3Nl
IG9uZQ0KPj4gUENJIGhvc3QgYnJpZGdlIGZvciBldmVyeSB2aXJ0aW8gYmFja2VuZCBkb21haW4g
Zm9yIHRoYXQgZ3Vlc3QuDQo+IA0KPiBPT0ksIHdoeSBkbyB5b3UgbmVlZCB0byBleHBvc2Ugb25l
IFBDSSBob3N0IGJyaWRnZSBmb3IgZXZlcnkgc3R1YmRvbWFpbj8NCj4gDQo+IEluIGZhY3QgbG9v
a2luZyBhdCB0aGUgbmV4dCBwYXRjaCwgaXQgc2VlbXMgeW91IGFyZSBoYW5kbGluZyBzb21lIG9m
IHRoZSANCj4gaG9zdGJyaWRnZSByZXF1ZXN0IGluIFhlbi4gVGhpcyBpcyBhZGRzIGEgYml0IG1v
cmUgY29uZnVzaW9uLg0KPiANCj4gSSB3YXMgZXhwZWN0aW5nIHRoZSB2aXJ0dWFsIFBDSSBkZXZp
Y2Ugd291bGQgYmUgaW4gdGhlIHZQQ0kgYW5kIGVhY2ggDQo+IERldmljZSBlbXVsYXRvciB3b3Vs
ZCBhZHZlcnRpc2Ugd2hpY2ggQkRGIHRoZXkgYXJlIGNvdmVyaW5nLg0KDQoNClRoaXMgcGF0Y2gg
c2VyaWVzIG9ubHkgY292ZXJzIHVzZS1jYXNlcyB3aGVyZSB0aGUgZGV2aWNlIGVtdWxhdG9yIA0K
aGFuZGxlcyB0aGUgKmVudGlyZSogUENJIEhvc3QgYnJpZGdlIGFuZCBQQ0kgKHZpcnRpby1wY2kp
IGRldmljZXMgYmVoaW5kIA0KaXQgKGkuZS4gUWVtdSkuIEFsc28gdGhpcyBwYXRjaCBzZXJpZXMg
ZG9lc24ndCB0b3VjaCB2UENJL1BDSSANCnBhc3MtdGhyb3VnaCByZXNvdXJjZXMsIGhhbmRsaW5n
LCBhY2NvdW50aW5nLCBub3RoaW5nLiBGcm9tIHRoZSANCmh5cGVydmlzb3Igd2Ugb25seSBuZWVk
IGEgaGVscCB0byBpbnRlcmNlcHQgdGhlIGNvbmZpZyBzcGFjZSBhY2Nlc3NlcyANCmhhcHBlbiBp
biBhIHJhbmdlIFtHVUVTVF9WSVJUSU9fUENJX0VDQU1fQkFTRSAuLi4gDQpHVUVTVF9WSVJUSU9f
UENJX0VDQU1fQkFTRSArIEdVRVNUX1ZJUlRJT19QQ0lfVE9UQUxfRUNBTV9TSVpFXSBhbmQgDQpm
b3J3YXJkIHRoZW0gdG8gdGhlIGxpbmtlZCBkZXZpY2UgZW11bGF0b3IgKGlmIGFueSksIHRoYXQn
cyBhbGwuDQoNCkl0IGlzIG5vdCBwb3NzaWJsZSAod2l0aCBjdXJyZW50IHNlcmllcykgdG8gcnVu
IGRldmljZSBlbXVsYXRvcnMgd2hhdA0KZW11bGF0ZSBvbmx5IHNlcGFyYXRlIFBDSSAodmlydGlv
LXBjaSkgZGV2aWNlcy4gRm9yIGl0IHRvIGJlIHBvc3NpYmxlLCBJIA0KdGhpbmssIG11Y2ggbW9y
ZSBjaGFuZ2VzIGFyZSByZXF1aXJlZCB0aGFuIGN1cnJlbnQgcGF0Y2ggc2VyaWVzIGRvZXMuIA0K
VGhlcmUgYXQgbGVhc3Qgc2hvdWxkIGJlIHNwZWNpYWwgUENJIEhvc3QgYnJpZGdlIGVtdWxhdGlv
biBpbiBYZW4gKG9yIA0KcmV1c2UgdlBDSSkgZm9yIHRoZSBpbnRlZ3JhdGlvbi4gQWxzbyBYZW4g
c2hvdWxkIGJlIGluIGNoYXJnZSBvZiBmb3JtaW5nIA0KcmVzdWx0aW5nIFBDSSBpbnRlcnJ1cHQg
YmFzZWQgb24gZWFjaCBQQ0kgZGV2aWNlIGxldmVsIHNpZ25hbGluZyAoaWYgd2UgDQp1c2UgbGVn
YWN5IGludGVycnVwdHMpLCBzb21lIGtpbmQgb2YgeDg2J3MgWEVOX0RNT1Bfc2V0X3BjaV9pbnR4
X2xldmVsLCANCmV0Yy4gUGxlYXNlIG5vdGUsIEkgYW0gbm90IHNheWluZyB0aGlzIGlzIG5vdCBw
b3NzaWJsZSBpbiBnZW5lcmFsLCANCmxpa2VseSBpdCBpcyBwb3NzaWJsZSwgYnV0IGluaXRpYWwg
cGF0Y2ggc2VyaWVzIGRvZXNuJ3QgY292ZXIgdGhlc2UgDQp1c2UtY2FzZXMpDQoNCldlIGV4cG9z
ZSBvbmUgUENJIGhvc3QgYnJpZGdlIHBlciB2aXJ0aW8gYmFja2VuZCBkb21haW4uIFRoaXMgaXMg
YSANCnNlcGFyYXRlIFBDSSBob3N0IGJyaWRnZSB0byBjb21iaW5lIGFsbCB2aXJ0aW8tcGNpIGRl
dmljZXMgcnVubmluZyBpbiANCnRoZSBzYW1lIGJhY2tlbmQgZG9tYWluIChpbiB0aGUgc2FtZSBk
ZXZpY2UgZW11bGF0b3IgY3VycmVudGx5KS4NClRoZSBleGFtcGxlczoNCi0gaWYgb25seSBvbmUg
ZG9tYWluIHJ1bnMgUWVtdSB3aGljaCBzZXJ2ZXJzIHZpcnRpby1ibGssIHZpcnRpby1uZXQsIA0K
dmlydGlvLWNvbnNvbGUgZGV2aWNlcyBmb3IgRG9tVSAtIG9ubHkgc2luZ2xlIFBDSSBIb3N0IGJy
aWRnZSB3aWxsIGJlIA0KZXhwb3NlZCBmb3IgRG9tVQ0KLSBpZiB3ZSBhZGQgYW5vdGhlciBkb21h
aW4gdG8gcnVuIFFlbXUgdG8gc2VydmUgYWRkaXRpb25hbGx5IHZpcnRpby1ncHUsIA0KdmlydGlv
LWlucHV0IGFuZCB2aXJ0aW8tc25kIGZvciB0aGUgKnNhbWUqIERvbVUgLSB3ZSBleHBvc2Ugc2Vj
b25kIFBDSSANCkhvc3QgYnJpZGdlIGZvciBEb21VDQoNCkkgYW0gYWZyYWlkLCB3ZSBjYW5ub3Qg
ZW5kIHVwIGV4cG9zaW5nIG9ubHkgc2luZ2xlIFBDSSBIb3N0IGJyaWRnZSB3aXRoIA0KY3VycmVu
dCBtb2RlbCAoaWYgd2UgdXNlIGRldmljZSBlbXVsYXRvcnMgcnVubmluZyBpbiBkaWZmZXJlbnQg
ZG9tYWlucyANCnRoYXQgaGFuZGxlcyB0aGUgKmVudGlyZSogUENJIEhvc3QgYnJpZGdlcyksIHRo
aXMgd29uJ3Qgd29yay4NCg0KUGxlYXNlIG5vdGUsIEkgbWlnaHQgbWlzcyBzb21lIGJpdHMgc2lu
Y2UgdGhpcyBlbmFibGluZyB3b3JrLg0KDQoNCj4gDQo+Pg0KPj4gRm9yIHRoYXQgcHVycG9zZSwg
cmVzZXJ2ZSBzZXBhcmF0ZSB2aXJ0aW8tcGNpIHJlc291cmNlcyAobWVtb3J5IGFuZCANCj4+IFNQ
SSByYW5nZQ0KPj4gZm9yIExlZ2FjeSBQQ0kgaW50ZXJydXB0cykgdXAgdG8gOCBwb3NzaWJsZSBQ
Q0kgaG9zdHMgKHRvIGJlIGFsaWduZWQgd2l0aA0KPiANCj4gRG8geW91IG1lYW4gaG9zdCBicmlk
Z2UgcmF0aGVyIHRoYW4gaG9zdD8NCg0KeWVzDQoNCg0KPiANCj4+IE1BWF9OUl9JT1JFUV9TRVJW
RVJTKSBhbmQgYWxsb2NhdGUgYSBob3N0IHBlciBiYWNrZW5kIGRvbWFpbi4gVGhlIFBDSSANCj4+
IGhvc3QNCj4+IGRldGFpbHMgaW5jbHVkaW5nIGl0cyBob3N0X2lkIHRvIGJlIHdyaXR0ZW4gdG8g
ZGVkaWNhdGVkIFhlbnN0b3JlIG5vZGUgDQo+PiBmb3INCj4+IHRoZSBkZXZpY2UtbW9kZWwgdG8g
cmV0cmlldmUuDQo+IA0KPiBTbyB3aGljaCB3aXRoIGFwcHJvYWNoLCB3aG8gaXMgZGVjaWRlIHdo
aWNoIEJERiB3aWxsIGJlIHVzZWQgZm9yIGEgZ2l2ZW4gDQo+IHZpcnRpbyBQQ0kgZGV2aWNlPw0K
DQoNCnRvb2xzdGFjayAodmlhIGNvbmZpZ3VyYXRpb24gZmlsZSkNCg0KPiANCj4+DQo+PiBTaWdu
ZWQtb2ZmLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8b2xla3NhbmRyX3R5c2hjaGVua29AZXBh
bS5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBTZXJnaXkgS2licmlrIDxTZXJnaXlfS2licmlrQGVw
YW0uY29tPg0KPj4gLS0tDQo+PiDCoCB4ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaCB8IDIx
ICsrKysrKysrKysrKysrKysrKysrKw0KPj4gwqAgMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlv
bnMoKykNCj4+DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2FyY2gtYXJtLmgg
DQo+PiBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oDQo+PiBpbmRleCBhMjVlODdkYmRh
Li5lNmM5Y2Q1MzM1IDEwMDY0NA0KPj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2FyY2gtYXJt
LmgNCj4+ICsrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9hcmNoLWFybS5oDQo+PiBAQCAtNDY2LDYg
KzQ2NiwxOSBAQCB0eXBlZGVmIHVpbnQ2NF90IHhlbl9jYWxsYmFja190Ow0KPj4gwqAgI2RlZmlu
ZSBHVUVTVF9WUENJX01FTV9BRERSwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeGVu
X21rX3VsbG9uZygweDIzMDAwMDAwKQ0KPj4gwqAgI2RlZmluZSBHVUVTVF9WUENJX01FTV9TSVpF
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgeGVuX21rX3VsbG9uZygweDEwMDAwMDAw
KQ0KPj4gKy8qDQo+PiArICogMTYgTUIgaXMgcmVzZXJ2ZWQgZm9yIHZpcnRpby1wY2kgY29uZmln
dXJhdGlvbiBzcGFjZSBiYXNlZCBvbiANCj4+IGNhbGN1bGF0aW9uDQo+PiArICogOCBicmlkZ2Vz
ICogMiBidXNlcyB4IDMyIGRldmljZXMgeCA4IGZ1bmN0aW9ucyB4IDQgS0IgPSAxNiBNQg0KPiAN
Cj4gQ2FuIHlvdSBleHBsYWluIGhvdyB5b3VkIGVjaWRlZCB0aGUgIjIiPw0KDQpnb29kIHF1ZXN0
aW9uLCB3ZSBoYXZlIGEgbGltaXRlZCBmcmVlIHNwYWNlIGF2YWlsYWJsZSBpbiBtZW1vcnkgbGF5
b3V0IA0KKHdlIGhhZCBkaWZmaWN1bHRpZXMgdG8gZmluZCBhIHN1aXRhYmxlIGhvbGVzKSBhbHNv
IHdlIGRvbid0IGV4cGVjdCBhIA0KbG90IG9mIHZpcnRpby1wY2kgZGV2aWNlcywgc28gIjI1NiIg
dXNlZCB2UENJIHdvdWxkIGJlIHRvbyBtdWNoLiBJdCB3YXMgDQpkZWNpZGVkIHRvIHJlZHVjZSBz
aWduaWZpY2FudGx5LCBidXQgc2VsZWN0IG1heGltdW0gdG8gZml0IGludG8gZnJlZSANCnNwYWNl
LCB3aXRoIGhhdmluZyAiMiIgYnVzZXMgd2Ugc3RpbGwgZml0IGludG8gdGhlIGNob3NlbiBob2xl
cy4NCg0KDQo+IA0KPj4gKyAqLw0KPj4gKyNkZWZpbmUgR1VFU1RfVklSVElPX1BDSV9FQ0FNX0JB
U0XCoMKgwqDCoMKgwqDCoMKgwqAgeGVuX21rX3VsbG9uZygweDMzMDAwMDAwKQ0KPj4gKyNkZWZp
bmUgR1VFU1RfVklSVElPX1BDSV9UT1RBTF9FQ0FNX1NJWkXCoMKgwqAgeGVuX21rX3VsbG9uZygw
eDAxMDAwMDAwKQ0KPj4gKyNkZWZpbmUgR1VFU1RfVklSVElPX1BDSV9IT1NUX0VDQU1fU0laRcKg
wqDCoMKgIHhlbl9ta191bGxvbmcoMHgwMDIwMDAwMCkNCj4+ICsNCj4+ICsvKiA2NCBNQiBpcyBy
ZXNlcnZlZCBmb3IgdmlydGlvLXBjaSBtZW1vcnkgKi8NCj4+ICsjZGVmaW5lIEdVRVNUX1ZJUlRJ
T19QQ0lfQUREUl9UWVBFX01FTcKgwqDCoCB4ZW5fbWtfdWxsb25nKDB4MDIwMDAwMDApDQo+PiAr
I2RlZmluZSBHVUVTVF9WSVJUSU9fUENJX01FTV9BRERSwqDCoMKgwqDCoMKgwqDCoCB4ZW5fbWtf
dWxsb25nKDB4MzQwMDAwMDApDQo+PiArI2RlZmluZSBHVUVTVF9WSVJUSU9fUENJX01FTV9TSVpF
wqDCoMKgwqDCoMKgwqDCoCB4ZW5fbWtfdWxsb25nKDB4MDQwMDAwMDApDQo+PiArDQo+PiDCoCAv
Kg0KPj4gwqDCoCAqIDE2TUIgPT0gNDA5NiBwYWdlcyByZXNlcnZlZCBmb3IgZ3Vlc3QgdG8gdXNl
IGFzIGEgcmVnaW9uIHRvIG1hcCBpdHMNCj4+IMKgwqAgKiBncmFudCB0YWJsZSBpbi4NCj4+IEBA
IC00NzYsNiArNDg5LDExIEBAIHR5cGVkZWYgdWludDY0X3QgeGVuX2NhbGxiYWNrX3Q7DQo+PiDC
oCAjZGVmaW5lIEdVRVNUX01BR0lDX0JBU0XCoCB4ZW5fbWtfdWxsb25nKDB4MzkwMDAwMDApDQo+
PiDCoCAjZGVmaW5lIEdVRVNUX01BR0lDX1NJWkXCoCB4ZW5fbWtfdWxsb25nKDB4MDEwMDAwMDAp
DQo+PiArLyogNjQgTUIgaXMgcmVzZXJ2ZWQgZm9yIHZpcnRpby1wY2kgUHJlZmV0Y2ggbWVtb3J5
ICovDQo+IA0KPiBUaGlzIGRvZXNuJ3Qgc2VlbSBhIGxvdCBkZXBlbmRpbmcgb24geW91ciB1c2Ug
Y2FzZS4gQ2FuIHlvdSBkZXRhaWxzIGhvdyANCj4geW91IGNhbiB1cCB3aXRoICI2NCBNQiI/DQoN
CnRoZSBzYW1lIGNhbGN1bGF0aW9uIGFzIGl0IHdhcyBkb25lIGNvbmZpZ3VyYXRpb24gc3BhY2Uu
IEl0IHdhcyBvYnNlcnZlZCANCnRoYXQgb25seSAxNksgaXMgdXNlZCBwZXIgdmlydGlvLXBjaSBk
ZXZpY2UgKG1heWJlIGl0IGNhbiBiZSBiaWdnZXIgZm9yIA0KdXN1YWwgUENJIGRldmljZSwgSSBk
b24ndCBrbm93KS4gUGxlYXNlIGxvb2sgYXQgdGhlIGV4YW1wbGUgb2YgRG9tVSBsb2cgDQpiZWxv
dyAodG8gc3RyaW5ncyB0aGF0IGNvbnRhaW4gIipCQVIgNDogYXNzaWduZWQqIik6DQoNCg0KPiBy
b290QGgzdWxjYjp+IyBkbWVzZyB8IGdyZXAgcGNpDQo+IFsgICAgMC40NDQxNjNdIHBjaS1ob3N0
LWdlbmVyaWMgMzMwMDAwMDAucGNpZTogaG9zdCBicmlkZ2UgL3BjaWVAMzMwMDAwMDAgcmFuZ2Vz
Og0KPiBbICAgIDAuNDQ0MjU3XSBwY2ktaG9zdC1nZW5lcmljIDMzMDAwMDAwLnBjaWU6ICAgICAg
TUVNIDB4MDAzNDAwMDAwMC4uMHgwMDM0N2ZmZmZmIC0+IDB4MDAzNDAwMDAwMA0KPiBbICAgIDAu
NDQ0MzA0XSBwY2ktaG9zdC1nZW5lcmljIDMzMDAwMDAwLnBjaWU6ICAgICAgTUVNIDB4MDAzYTAw
MDAwMC4uMHgwMDNhN2ZmZmZmIC0+IDB4MDAzYTAwMDAwMA0KPiBbICAgIDAuNDQ0Mzk2XSBwY2kt
aG9zdC1nZW5lcmljIDMzMDAwMDAwLnBjaWU6IEVDQU0gYXQgW21lbSAweDMzMDAwMDAwLTB4MzMx
ZmZmZmZdIGZvciBbYnVzIDAwLTAxXQ0KPiBbICAgIDAuNDQ0NTk1XSBwY2ktaG9zdC1nZW5lcmlj
IDMzMDAwMDAwLnBjaWU6IFBDSSBob3N0IGJyaWRnZSB0byBidXMgMDAwMDowMA0KPiBbICAgIDAu
NDQ0NjM1XSBwY2lfYnVzIDAwMDA6MDA6IHJvb3QgYnVzIHJlc291cmNlIFtidXMgMDAtMDFdDQo+
IFsgICAgMC40NDQ2NjJdIHBjaV9idXMgMDAwMDowMDogcm9vdCBidXMgcmVzb3VyY2UgW21lbSAw
eDM0MDAwMDAwLTB4MzQ3ZmZmZmZdDQo+IFsgICAgMC40NDQ2OTJdIHBjaV9idXMgMDAwMDowMDog
cm9vdCBidXMgcmVzb3VyY2UgW21lbSAweDNhMDAwMDAwLTB4M2E3ZmZmZmYgcHJlZl0NCj4gWyAg
ICAwLjQ0NTE5M10gcGNpIDAwMDA6MDA6MDAuMDogWzFiMzY6MDAwOF0gdHlwZSAwMCBjbGFzcyAw
eDA2MDAwMA0KPiBbICAgIDAuNDQ5NDkzXSBwY2kgMDAwMDowMDowOC4wOiBbMWFmNDoxMDQyXSB0
eXBlIDAwIGNsYXNzIDB4MDEwMDAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KPiBbICAgIDAuNDUx
NzYwXSBwY2kgMDAwMDowMDowOC4wOiByZWcgMHgyMDogW21lbSAweDAwMDAwMDAwLTB4MDAwMDNm
ZmYgNjRiaXQgcHJlZl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIA0KPiBbICAgIDAuNDU1OTg1XSBwY2kgMDAwMDowMDowOC4w
OiBCQVIgNDogYXNzaWduZWQgW21lbSAweDNhMDAwMDAwLTB4M2EwMDNmZmYgNjRiaXQgcHJlZl0g
ICANCj4gWyAgICAwLjQ1NjY3OF0gcGNpLWhvc3QtZ2VuZXJpYyAzMzIwMDAwMC5wY2llOiBob3N0
IGJyaWRnZSAvcGNpZUAzMzIwMDAwMCByYW5nZXM6DQo+IFsgICAgMC40NTY3NDhdIHBjaS1ob3N0
LWdlbmVyaWMgMzMyMDAwMDAucGNpZTogICAgICBNRU0gMHgwMDM0ODAwMDAwLi4weDAwMzRmZmZm
ZmYgLT4gMHgwMDM0ODAwMDAwDQo+IFsgICAgMC40NTY3OTNdIHBjaS1ob3N0LWdlbmVyaWMgMzMy
MDAwMDAucGNpZTogICAgICBNRU0gMHgwMDNhODAwMDAwLi4weDAwM2FmZmZmZmYgLT4gMHgwMDNh
ODAwMDAwDQo+IFsgICAgMC40NTY4NzldIHBjaS1ob3N0LWdlbmVyaWMgMzMyMDAwMDAucGNpZTog
RUNBTSBhdCBbbWVtIDB4MzMyMDAwMDAtMHgzMzNmZmZmZl0gZm9yIFtidXMgMDAtMDFdDQo+IFsg
ICAgMC40NTcwMzhdIHBjaS1ob3N0LWdlbmVyaWMgMzMyMDAwMDAucGNpZTogUENJIGhvc3QgYnJp
ZGdlIHRvIGJ1cyAwMDAxOjAwDQo+IFsgICAgMC40NTcwNzldIHBjaV9idXMgMDAwMTowMDogcm9v
dCBidXMgcmVzb3VyY2UgW2J1cyAwMC0wMV0NCj4gWyAgICAwLjQ1NzEwNl0gcGNpX2J1cyAwMDAx
OjAwOiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4MzQ4MDAwMDAtMHgzNGZmZmZmZl0NCj4gWyAg
ICAwLjQ1NzEzNl0gcGNpX2J1cyAwMDAxOjAwOiByb290IGJ1cyByZXNvdXJjZSBbbWVtIDB4M2E4
MDAwMDAtMHgzYWZmZmZmZiBwcmVmXQ0KPiBbICAgIDAuNDU3ODA4XSBwY2kgMDAwMTowMDowMC4w
OiBbMWIzNjowMDA4XSB0eXBlIDAwIGNsYXNzIDB4MDYwMDAwDQo+IFsgICAgMC40NjE0MDFdIHBj
aSAwMDAxOjAwOjAxLjA6IFsxYWY0OjEwNDFdIHR5cGUgMDAgY2xhc3MgMHgwMjAwMDANCj4gWyAg
ICAwLjQ2MzUzN10gcGNpIDAwMDE6MDA6MDEuMDogcmVnIDB4MjA6IFttZW0gMHgwMDAwMDAwMC0w
eDAwMDAzZmZmIDY0Yml0IHByZWZdDQo+IFsgICAgMC40NjgxMzVdIHBjaSAwMDAxOjAwOjAyLjA6
IFsxYWY0OjEwNDJdIHR5cGUgMDAgY2xhc3MgMHgwMTAwMDANCj4gWyAgICAwLjQ3MDE4NV0gcGNp
IDAwMDE6MDA6MDIuMDogcmVnIDB4MjA6IFttZW0gMHgwMDAwMDAwMC0weDAwMDAzZmZmIDY0Yml0
IHByZWZdDQo+IFsgICAgMC40NzQ1NzVdIHBjaSAwMDAxOjAwOjAzLjA6IFsxYWY0OjEwNTBdIHR5
cGUgMDAgY2xhc3MgMHgwMzgwMDANCj4gWyAgICAwLjQ3NjUzNF0gcGNpIDAwMDE6MDA6MDMuMDog
cmVnIDB4MjA6IFttZW0gMHgwMDAwMDAwMC0weDAwMDAzZmZmIDY0Yml0IHByZWZdDQo+IFsgICAg
MC40ODA5NDJdIHBjaSAwMDAxOjAwOjA0LjA6IFsxYWY0OjEwNTJdIHR5cGUgMDAgY2xhc3MgMHgw
OTAwMDANCj4gWyAgICAwLjQ4MzA5Nl0gcGNpIDAwMDE6MDA6MDQuMDogcmVnIDB4MjA6IFttZW0g
MHgwMDAwMDAwMC0weDAwMDAzZmZmIDY0Yml0IHByZWZdDQo+IFsgICAgMC40ODc2MzFdIHBjaSAw
MDAxOjAwOjA2LjA6IFsxYWY0OjEwNTNdIHR5cGUgMDAgY2xhc3MgMHgwNzgwMDANCj4gWyAgICAw
LjQ4OTY5M10gcGNpIDAwMDE6MDA6MDYuMDogcmVnIDB4MjA6IFttZW0gMHgwMDAwMDAwMC0weDAw
MDAzZmZmIDY0Yml0IHByZWZdDQo+IFsgICAgMC40OTM2NjldIHBjaSAwMDAxOjAwOjAxLjA6IEJB
UiA0OiBhc3NpZ25lZCBbbWVtIDB4M2E4MDAwMDAtMHgzYTgwM2ZmZiA2NGJpdCBwcmVmXSAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+
IFsgICAgMC40OTU4NDBdIHBjaSAwMDAxOjAwOjAyLjA6IEJBUiA0OiBhc3NpZ25lZCBbbWVtIDB4
M2E4MDQwMDAtMHgzYTgwN2ZmZiA2NGJpdCBwcmVmXSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+IFsgICAgMC40OTY2NTZdIHBjaSAw
MDAxOjAwOjAzLjA6IEJBUiA0OiBhc3NpZ25lZCBbbWVtIDB4M2E4MDgwMDAtMHgzYTgwYmZmZiA2
NGJpdCBwcmVmXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgDQo+IFsgICAgMC40OTc2NzFdIHBjaSAwMDAxOjAwOjA0LjA6IEJBUiA0OiBh
c3NpZ25lZCBbbWVtIDB4M2E4MGMwMDAtMHgzYTgwZmZmZiA2NGJpdCBwcmVmXSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQo+IFsgICAg
MC40OTgzMjBdIHBjaSAwMDAxOjAwOjA2LjA6IEJBUiA0OiBhc3NpZ25lZCBbbWVtIDB4M2E4MTAw
MDAtMHgzYTgxM2ZmZiA2NGJpdCBwcmVmXSAgICAgIA0KPiBbICAgIDAuNTAwNzMyXSB2aXJ0aW8t
cGNpIDAwMDA6MDA6MDguMDogZW5hYmxpbmcgZGV2aWNlICgwMDAwIC0+IDAwMDIpDQo+IFsgICAg
MC41MDk3MjhdIHZpcnRpby1wY2kgMDAwMTowMDowMS4wOiBlbmFibGluZyBkZXZpY2UgKDAwMDAg
LT4gMDAwMikNCj4gWyAgICAwLjUyOTc1N10gdmlydGlvLXBjaSAwMDAxOjAwOjAyLjA6IGVuYWJs
aW5nIGRldmljZSAoMDAwMCAtPiAwMDAyKQ0KPiBbICAgIDAuNTUwMjA4XSB2aXJ0aW8tcGNpIDAw
MDE6MDA6MDMuMDogZW5hYmxpbmcgZGV2aWNlICgwMDAwIC0+IDAwMDIpDQo+IFsgICAgMC41NzEw
MTJdIHZpcnRpby1wY2kgMDAwMTowMDowNC4wOiBlbmFibGluZyBkZXZpY2UgKDAwMDAgLT4gMDAw
MikNCj4gWyAgICAwLjU5MTA0Ml0gdmlydGlvLXBjaSAwMDAxOjAwOjA2LjA6IGVuYWJsaW5nIGRl
dmljZSAoMDAwMCAtPiAwMDAyKQ0KDQoNCg0KPiANCj4+ICsjZGVmaW5lIEdVRVNUX1ZJUlRJT19Q
Q0lfQUREUl9UWVBFX1BSRUZFVENIX01FTSAgICANCj4+IHhlbl9ta191bGxvbmcoMHg0MjAwMDAw
MCkNCj4+ICsjZGVmaW5lIEdVRVNUX1ZJUlRJT19QQ0lfUFJFRkVUQ0hfTUVNX0FERFIgICAgICAg
ICANCj4+IHhlbl9ta191bGxvbmcoMHgzYTAwMDAwMCkNCj4+ICsjZGVmaW5lIEdVRVNUX1ZJUlRJ
T19QQ0lfUFJFRkVUQ0hfTUVNX1NJWkUgICAgICAgICANCj4+IHhlbl9ta191bGxvbmcoMHgwNDAw
MDAwMCkNCj4+ICsNCj4+IMKgICNkZWZpbmUgR1VFU1RfUkFNX0JBTktTwqDCoCAyDQo+PiDCoCAv
Kg0KPj4gQEAgLTUxNSw2ICs1MzMsOSBAQCB0eXBlZGVmIHVpbnQ2NF90IHhlbl9jYWxsYmFja190
Ow0KPj4gwqAgI2RlZmluZSBHVUVTVF9WSVJUSU9fTU1JT19TUElfRklSU1TCoMKgIDMzDQo+PiDC
oCAjZGVmaW5lIEdVRVNUX1ZJUlRJT19NTUlPX1NQSV9MQVNUwqDCoMKgIDQzDQo+PiArI2RlZmlu
ZSBHVUVTVF9WSVJUSU9fUENJX1NQSV9GSVJTVMKgwqAgNDQNCj4+ICsjZGVmaW5lIEdVRVNUX1ZJ
UlRJT19QQ0lfU1BJX0xBU1TCoMKgwqAgNzYNCj4gDQo+IEp1c3QgdG8gY29uZmlybSB0aGlzIGlz
IDQgaW50ZXJydXB0cyBwZXIgUENJIGhvc3QgYnJpZGdlPyBJZiBzbywgY2FuIA0KPiB0aGlzIGJl
IGNsYXJpZmllZCBpbiBhIGNvbW1lbnQ/DQoNCnllcyAoSU5UQSAtIElOVEQpDQoNCg0KPiANCj4g
QWxzbywgYWJvdmUgeW91IHNhaWQgdGhhdCB0aGUgaG9zdCBJRCB3aWxsIGJlIHdyaXR0ZW4gdG8g
WGVuc3RvcmUuIEJ1dCANCj4gd2hvIHdpbGwgZGVjaWRlIHdoaWNoIFNQSSBiZWxvbmdzIHRvIHdo
aWNoIGhvc3QgYnJpZGdlPw0KDQoNCnRvb2xzdGFjaywgaXQgaW4gY2hhcmdlIG9mIFBDSSBob3N0
IGJyaWRnZSByZXNvdXJjZXMgYWxsb2NhdGlvbiAoYXMgd2UgDQpuZWVkIHRvIGJvdGggcHJvcGVy
bHkgY3JlYXRlIFBDSSBIb3N0IGJyaWRnZSBkZXZpY2UgdHJlZSBub2RlIGFuZCBpbmZvcm0gDQpk
ZXZpY2UgZW11bGF0b3IgYWJvdXQgUENJIGhvc3QgYnJpZGdlIGRldGFpbHMpLiBQbGVhc2UgdGFr
ZSBhIGxvb2sgYXQ6DQoNCmh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC94ZW4t
ZGV2ZWwvcGF0Y2gvMjAyMzExMTUxMTI2MTEuMzg2NTkwNS00LVNlcmdpeV9LaWJyaWtAZXBhbS5j
b20vDQoNCj4gDQo+IENoZWVycywNCj4g


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 17:20:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 17:20:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633767.988844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3JZB-00007F-Hi; Wed, 15 Nov 2023 17:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633767.988844; Wed, 15 Nov 2023 17:20: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 1r3JZB-000076-Dj; Wed, 15 Nov 2023 17:20:41 +0000
Received: by outflank-mailman (input) for mailman id 633767;
 Wed, 15 Nov 2023 17: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=CxDQ=G4=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r3JZA-000070-2Z
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 17:20:40 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 4ae0c739-83db-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 18:20:38 +0100 (CET)
Received: from mg.gitlab.com (31.226.74.34.bc.googleusercontent.com
 [34.74.226.31]) by
 bd1dc5b56579 with SMTP id 6554fde40778bfbbb3d40136 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 15 Nov 2023 17:20:36 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 4ae0c739-83db-11ee-98db-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700068836; x=1700076036; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=yaYoBLXrQDy5DTWsn85IN6VOw6tnzitXoiZom2hB5sw=;
 b=B6o6LW/8Y9GvIj+6Up3p70CRgyGyJ14KQXkD5AviVUhisQLXdBL0gFYZOfzUqxn1RLN5Sy7xzyk8qR8NbvzHxy8gmzhC9mhWGikuDGTPee0d44pgJ+VYjZC8wkCpzlqTBC4rmZhwy8Ray5C/2oMsJ0ev6NCYfMPhSGFV/E0eSjo=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 15 Nov 2023 17:20:36 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6554fde42afb8_2c9b2d0413b7@gitlab-sidekiq-catchall-v2-d779f5cd4-5t9zf.mail>
Subject: xen | Failed pipeline for staging | 7ad0c774
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6554fde41d023_2c9b2d041257";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1073278423
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6554fde41d023_2c9b2d041257
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1073278423 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 7ad0c774 ( https://gitlab.com/xen-project/xen/-/commit/7ad0c774e474f6d95dfda868d876af507d399657 )
Commit Message: x86/boot: tidy #include-s

As of d58a509e01c4 (...
Commit Author: Jan Beulich ( https://gitlab.com/jbeulich )


Pipeline #1073278423 ( https://gitlab.com/xen-project/xen/-/pipelines/1073278423 ) triggered by Ganis ( https://gitlab.com/ganis )
had 8 failed jobs.

Job #5541061819 ( https://gitlab.com/xen-project/xen/-/jobs/5541061819/raw )

Stage: analyze
Name: eclair-ARM64
Job #5541061940 ( https://gitlab.com/xen-project/xen/-/jobs/5541061940/raw )

Stage: build
Name: alpine-3.18-clang-debug
Job #5541062280 ( https://gitlab.com/xen-project/xen/-/jobs/5541062280/raw )

Stage: build
Name: opensuse-leap-gcc
Job #5541062296 ( https://gitlab.com/xen-project/xen/-/jobs/5541062296/raw )

Stage: build
Name: opensuse-tumbleweed-clang
Job #5541062200 ( https://gitlab.com/xen-project/xen/-/jobs/5541062200/raw )

Stage: build
Name: fedora-gcc-debug
Job #5541062233 ( https://gitlab.com/xen-project/xen/-/jobs/5541062233/raw )

Stage: build
Name: ubuntu-bionic-gcc
Job #5541062243 ( https://gitlab.com/xen-project/xen/-/jobs/5541062243/raw )

Stage: build
Name: ubuntu-focal-gcc
Job #5541062248 ( https://gitlab.com/xen-project/xen/-/jobs/5541062248/raw )

Stage: build
Name: ubuntu-focal-gcc-debug

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6554fde41d023_2c9b2d041257
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging | 7ad0c774</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1073278423 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/7ad0c774e474f6d95d=
fda868d876af507d399657" style=3D"color: #3777b0; text-decoration: none;">=

7ad0c774
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86/boot: tidy #include-s

As of d58a509e01c4 (...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1073278423">#1073278423</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 8 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
analyze
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5541061819" style=3D=
"color: #3777b0; text-decoration: none;">
eclair-ARM64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5541061940" style=3D=
"color: #3777b0; text-decoration: none;">
alpine-3.18-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5541062280" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5541062296" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-tumbleweed-clang
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5541062200" style=3D=
"color: #3777b0; text-decoration: none;">
fedora-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5541062233" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-bionic-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5541062243" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-focal-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5541062248" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-focal-gcc-debug
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6554fde41d023_2c9b2d041257--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 17:23:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 17:23:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633797.988854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3JcK-0001aw-5A; Wed, 15 Nov 2023 17:23:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633797.988854; Wed, 15 Nov 2023 17:23: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 1r3JcK-0001ap-1Q; Wed, 15 Nov 2023 17:23:56 +0000
Received: by outflank-mailman (input) for mailman id 633797;
 Wed, 15 Nov 2023 17:23: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=cCCY=G4=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1r3JcI-0001ah-OS
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 17:23:54 +0000
Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de
 [85.215.255.21]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf1a1a65-83db-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 18:23:52 +0100 (CET)
Received: from sender by smtp.strato.de (RZmta 49.9.1 AUTH)
 with ESMTPSA id g1b15czAFHNnRKe
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Wed, 15 Nov 2023 18:23:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf1a1a65-83db-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1700069029; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=RnWs22nGOyuNQ2Zurpo+KOY/Xi2em/wBS2I/C0MKsfHBMnduXiYQLNs+dKoAGmEeMC
    tMHUQfthdw44qcYgqgCtJORhNdtgSO6sbXEzHEidGES6Ux5cXy46pr/0k/Jd0is2JR9L
    IqU6g5qelHYJHO7fz6u5w5sYgZTcJa1xVTyekp/JHokReOEmB7WSHnn4JD6OLyWJaV2V
    hGdQI8eO4bpBefm+IvSjWvJJf3YAGO0rHda1T5jqOQhuazIlF8KtDDCtd26DVJ8D1Lgr
    pzPg34hUdqglo/nhrkpS640Gzle+kmAjwh1bIE2GA6ytPHzaowB6V7Kmqha8z49CuBfa
    isYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1700069029;
    s=strato-dkim-0002; d=strato.com;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=NfEx9n/KW7+QBa/Q/fkKXuUgfm6Ut+mGcw2MiCMUObA=;
    b=YqpQTzg45FRy82+TVl07Hqyv3OwH9FTRFPlrtoqHZaxmRWqoCXI8ZCdauCwRQr8W5Z
    6yZgfzFHV2yGnaxl5ZokLSs6SZOOPbLYneQECtxfMEGvQJrT2Cs02hawTxVXiEWDLBs0
    Eo2c0RA5R78hebEyoCX+U6SUJkRWnoTKafDj+Ex6KrQFa5M/2dN3QgfNrR321ZDRmzV3
    SLGtuqZb/A9OH1n4xDftrbP4HEwWZfZqmg61A2tEqg00/UhhOXp1fP5C+GJdm3IWnzM/
    Y7EcroirRPO8m7UqLkN8HSEt9vuRYH0qtKJIdNDwu3s24JNq4luqRPJuA1fiGr1nItG6
    UReg==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1700069029;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=NfEx9n/KW7+QBa/Q/fkKXuUgfm6Ut+mGcw2MiCMUObA=;
    b=Xv7H7eu4qWE1tFESyOOxUYTKFQjd0DgKTbGqpXNfri21q0SbKuASSG3a9liRMvyq9C
    LnnF+4ijNjiJIU0aGX7Cq2e78o171+tOD2qbxrMBfR3uU8zMw1YgdX1IUm0YyuxWoxvA
    GITZNhbn0VhqinOCga9+kJtkseD77erMp5QQG9Q1+24pa5X0CiCZLj/DbRxet0cjelPt
    Tb72UuQwf1EKWjkHN4NnHarhjpxgw7HfbbNntBw8fxuQ/7vbOlCtTOxyalcWowS8ED/5
    o8ttvtCPZW4q5oVXiM4/8E75OzR0cFSFNc3q2ClsiQSH4V1JdahR3XTAW6mskfa0y9O5
    iOZA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1700069029;
    s=strato-dkim-0003; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=NfEx9n/KW7+QBa/Q/fkKXuUgfm6Ut+mGcw2MiCMUObA=;
    b=5orEONqhkXKErbdQmfUCW59jTYToxsK2kV3tz+z7JAsb5J3FUQCKL+zDKNGxs3/xlx
    WiVra5svqzoG1P7IY3BA==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR5BhaIaRnsNaqJN2h0dTFZeqQ89seVgD7Tlo9gNQ=="
Date: Wed, 15 Nov 2023 18:23:40 +0100
From: Olaf Hering <olaf@aepfle.de>
To: Divin Raj <divin.raj@arm.com>
Cc: xen-devel@lists.xenproject.org, anthony.perard@citrix.com,
 jgross@suse.com, Luca Fancellu <Luca.Fancellu@arm.com>,
 "Rahul.Singh@arm.com" <Rahul.Singh@arm.com>
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable
 through 'xl.conf'
Message-ID: <20231115182340.505df6c3.olaf@aepfle.de>
In-Reply-To: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
X-Mailer: Claws Mail 20230817T113819.a897c59c hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/9mgcUwY5.O.ErvQM1uwJeN3";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/9mgcUwY5.O.ErvQM1uwJeN3
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Wed, 15 Nov 2023 15:29:09 +0000 Divin Raj <divin.raj@arm.com>:

> LIBXL_HOTPLUG_TIMEOUT

This is already solved by "libxl.LIBXL_HOTPLUG_TIMEOUT.patch" from https://=
build.opensuse.org/package/show/openSUSE:Factory/xen
Up to now it was not considered important enough for xen.git#staging.


Olaf

--Sig_/9mgcUwY5.O.ErvQM1uwJeN3
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

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

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmVU/pwACgkQ86SN7mm1
DoDMpxAAiyUHz3WTpeLyjU3sGJOFoKYlpVgE5I4fkkpwEa0UjWsqxgihbVGyAPP1
kgEXYvcgzYYBafjp8jyoRrx2PT8MfEtLl4QQHznXbEGBeCtAL9YKRkTIQ3e+Jnx7
zHLCMTc8Cjar+esVsxTahH0g4BG98N65b/UOm4O9WlYY1NDiSGY+dEANP7ACdxws
7sHRjeYUxwI/3gkNCCMaWbiR4S+8cKFu8jTuOrTtUf33yaqMuDXnCV8Qq4XPZvep
aYgGuyoyeptoGsCmzs/sKIlIup+89BROizDaFiP5A7pWzhlpkotMsWpJ8YxYvNCu
mv6InlLjThhfQDA1VadCIDqVFfWmLE6NnVPz1rSiKOMPCvsuxoFfxWO4UNGQADH3
PXu6uMKBDZ9wp5qohM96dawvNj6+lL7GXPzDUJO1lmz5n2IXpLlsa/HuRTGwfH1+
2AB1g5RHDCZXNK2+Uwt6bu4LZSPlw6OLz20js4KI4qpHN7O7+Xx0kOggdV2L9t65
pdCB+lOSKDga8zE+gnjX/7wU7gShsohZXfdjmLu+4ucNHxYzxufzbQT7ppUEtPUa
c1tdF4zzUr01zjd7DzDFWpEGYztjOVjjVfhWWMAXfBztnxfdjNYff1ky0fEZ0Bbe
iu57R/ZKRNO9Q2L0JAOrgi9qO0hm4JWKN3An7jQcMI/h1R4W5c4=
=y6Mj
-----END PGP SIGNATURE-----

--Sig_/9mgcUwY5.O.ErvQM1uwJeN3--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 17:27:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 17:27:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633809.988863 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Jfy-00032K-Jk; Wed, 15 Nov 2023 17:27:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633809.988863; Wed, 15 Nov 2023 17: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 1r3Jfy-00032D-Gt; Wed, 15 Nov 2023 17:27:42 +0000
Received: by outflank-mailman (input) for mailman id 633809;
 Wed, 15 Nov 2023 17:27: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=J3DQ=G4=casper.srs.infradead.org=BATV+a96bd05b928ee04f18d5+7388+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r3Jfw-00031s-LU
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 17:27:41 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43e58e07-83dc-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 18:27:37 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r3Jfh-00FTE8-Nd; Wed, 15 Nov 2023 17:27:25 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r3Jfh-004sFH-0w; Wed, 15 Nov 2023 17: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
X-Inumbo-ID: 43e58e07-83dc-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=U2nfIn0v8qQcweyjpuwetdqXtDTacmG9Ew4TFyBXTIk=; b=Z0hyEVwBzW2EjTAYTKEL9c5Jxb
	FIFLgifQJSEBNQMSx1dJbhnwRd5EyKn413VSvoQitCGS1XgTHSiuwuY1iKWaOjex+I+QwAtNtIkrZ
	ncu525Eu5aYcICJbRPH0prOFfUd7psULCeDYK1sd+1u8YT/uOWkTt+l2/HBIOf6Ok5JiT6BGVN4K/
	dPLPIQMMl72swFVHG5VOl9pTmf/iEojG7bdPQwBgUBDl2Bt90S8SMmypzJxsdYFt+nSJB12Kd96IL
	9BOfxKI4YY8f13ViEYj0RRLpzy6cDH/Si+CJs/FBAzOU6eL1n+y8cCdjZXlA7grXwNcE2848vcEG8
	KYSN3t1A==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org
Subject: [PATCH 2/3] vl: disable default serial when xen-console is enabled
Date: Wed, 15 Nov 2023 17:24:36 +0000
Message-ID: <20231115172723.1161679-3-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231115172723.1161679-1-dwmw2@infradead.org>
References: <20231115172723.1161679-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

If a Xen console is configured on the command line, do not add a default
serial port.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 system/vl.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/system/vl.c b/system/vl.c
index 5af7ced2a1..8109231834 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -198,6 +198,7 @@ static const struct {
     const char *driver;
     int *flag;
 } default_list[] = {
+    { .driver = "xen-console",          .flag = &default_serial    },
     { .driver = "isa-serial",           .flag = &default_serial    },
     { .driver = "isa-parallel",         .flag = &default_parallel  },
     { .driver = "isa-fdc",              .flag = &default_floppy    },
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 17:27:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 17:27:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633812.988885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Jg0-0003No-DQ; Wed, 15 Nov 2023 17:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633812.988885; Wed, 15 Nov 2023 17: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 1r3Jg0-0003Lv-5g; Wed, 15 Nov 2023 17:27:44 +0000
Received: by outflank-mailman (input) for mailman id 633812;
 Wed, 15 Nov 2023 17: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=ynSk=G4=desiato.srs.infradead.org=BATV+a72437c23eaab18a7e37+7388+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r3Jfy-00031s-FG
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 17:27:42 +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 44af9411-83dc-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 18:27:38 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r3Jfi-004Bc1-25; Wed, 15 Nov 2023 17:27:26 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r3Jfh-004sFD-0h; Wed, 15 Nov 2023 17: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
X-Inumbo-ID: 44af9411-83dc-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=nb4/k2mDzWcTB0WCWH1Sc4XyVKQa4fT5IUZadSOtr3A=; b=lHv8bWujGEmJl9ObnRZwBoZQPl
	gX7tpE1PWf5bAAP/UlMIQIio4a2+QZqHthuG5aA3qkM2vZGDvL5XqQUXCoSnzqjPG6NHqUcj4pj5b
	Mj1nNHARxT6exhbrY5ga6H1FrO8o05cTq5+WWJBFm91uuwEnQ8EzHGWimoZinGk1cdhlBAqqsZ5QL
	GPDIhHeAok8hk8s6DJUXW2FudVHzasFQHMao+kuK0m5SZB2wF4CID3aUheWtD2zRHP/ntD05fSCB4
	2a9vXKFFmi34fk5gkSWR/cPvRHT6ChZ5j7eOKvGC2SWcvDE6xX9s9ZZtt2nGZUNY0T+3jH3tZZzZM
	gAVhOqKA==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org
Subject: [PATCH 1/3] net: do not delete nics in net_cleanup()
Date: Wed, 15 Nov 2023 17:24:35 +0000
Message-ID: <20231115172723.1161679-2-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231115172723.1161679-1-dwmw2@infradead.org>
References: <20231115172723.1161679-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

In net_cleanup() we only need to delete the netdevs, as those may have
state which outlives Qemu when it exits, and thus may actually need to
be cleaned up on exit.

The nics, on the other hand, are owned by the device which created them.
Most devices don't bother to clean up on exit because they don't have
any state which will outlive Qemu... but XenBus devices do need to clean
up their nodes in XenStore, and do have an exit handler to delete them.

When the XenBus exit handler destroys the xen-net-device, it attempts
to delete its nic after net_cleanup() had already done so. And crashes.

Fix this by only deleting netdevs as we walk the list. As the comment
notes, we can't use QTAILQ_FOREACH_SAFE() as each deletion may remove
*multiple* entries, including the "safely" saved 'next' pointer. But
we can store the *previous* entry, since nics are safe.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 net/net.c | 28 ++++++++++++++++++++++------
 1 file changed, 22 insertions(+), 6 deletions(-)

diff --git a/net/net.c b/net/net.c
index c0c0cbe99e..bbe33da176 100644
--- a/net/net.c
+++ b/net/net.c
@@ -1499,18 +1499,34 @@ static void net_vm_change_state_handler(void *opaque, bool running,
 
 void net_cleanup(void)
 {
-    NetClientState *nc;
+    NetClientState *nc, **p = &QTAILQ_FIRST(&net_clients);
 
     /*cleanup colo compare module for COLO*/
     colo_compare_cleanup();
 
-    /* We may del multiple entries during qemu_del_net_client(),
-     * so QTAILQ_FOREACH_SAFE() is also not safe here.
+    /*
+     * Walk the net_clients list and remove the netdevs but *not* any
+     * NET_CLIENT_DRIVER_NIC entries. The latter are owned by the device
+     * model which created them, and in some cases (e.g. xen-net-device)
+     * the device itself may do cleanup at exit and will be upset if we
+     * just delete its NIC from underneath it.
+     *
+     * Since qemu_del_net_client() may delete multiple entries, using
+     * QTAILQ_FOREACH_SAFE() is not safe here. The only safe pointer
+     * to keep as a bookmark is a NET_CLIENT_DRIVER_NIC entry, so keep
+     * 'p' pointing to either the head of the list, or the 'next' field
+     * of the latest NET_CLIENT_DRIVER_NIC, and operate on *p as we walk
+     * the list.
+     *
+     * The 'nc' variable isn't part of the list traversal; it's purely
+     * for convenience as too much '(*p)->' has a tendency to make the
+     * readers' eyes bleed.
      */
-    while (!QTAILQ_EMPTY(&net_clients)) {
-        nc = QTAILQ_FIRST(&net_clients);
+    while (*p) {
+        nc = *p;
         if (nc->info->type == NET_CLIENT_DRIVER_NIC) {
-            qemu_del_nic(qemu_get_nic(nc));
+            /* Skip NET_CLIENT_DRIVER_NIC entries */
+            p = &QTAILQ_NEXT(nc, next);
         } else {
             qemu_del_net_client(nc);
         }
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 17:27:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 17:27:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633810.988874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Jfz-0003H2-Qq; Wed, 15 Nov 2023 17:27:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633810.988874; Wed, 15 Nov 2023 17: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 1r3Jfz-0003Gt-Nz; Wed, 15 Nov 2023 17:27:43 +0000
Received: by outflank-mailman (input) for mailman id 633810;
 Wed, 15 Nov 2023 17: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=ynSk=G4=desiato.srs.infradead.org=BATV+a72437c23eaab18a7e37+7388+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r3Jfx-00031s-FT
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 17:27:42 +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 44ac0529-83dc-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 18:27:38 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r3Jfi-004Bc0-25; Wed, 15 Nov 2023 17:27:26 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r3Jfh-004sFA-0O; Wed, 15 Nov 2023 17: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
X-Inumbo-ID: 44ac0529-83dc-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type:
	Content-ID:Content-Description:In-Reply-To:References;
	bh=xZ0wYBocgdl60a2Ke1KkDB2txC+xjHjAaO8lJ+NcfrU=; b=XVzGDFHvHAQS7pHVQQYtQa/lLp
	2UoxL3xy8yAGaXIpD3HnYS1Nexe0T24xp6GGBlvQ7XnNUTTstfnTk6JlEbkW5tWd+k2do+YX/362E
	DR5UB6NSCYhGk+b+vs5WIXsgrFrJDP7bLVsNGhATvHJ5BhcEdIqcKo6n8SZfmYmTNktVgO9yvE0To
	lL4uY0PRJ2LnFAT8Taclm5kj3ZIOvAhgMiso1mBHsxWMEw3yskvBkxdFtKIfnJX9zYIOmdsjOjaet
	wboDj3DcmL97sWedEbN1B8S2cnCwgMANT5vxhwvHjC9jx+OdXSY0/Ve02cQI9oX+Z9PYILTBqBQBr
	baiYoa1A==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org
Subject: [PATCH 0/3] Misc fixes for 8.2
Date: Wed, 15 Nov 2023 17:24:34 +0000
Message-ID: <20231115172723.1161679-1-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

Fix a use-after-free (or double-free) due to net_cleanup() freeing NICs
that don't belong to it, fix a newly-introduced launch failure with a
documented command line, and clean up code to avoid a Coverity warning.

David Woodhouse (3):
      net: do not delete nics in net_cleanup()
      vl: disable default serial when xen-console is enabled
      hw/xen: clean up xen_block_find_free_vdev() to avoid Coverity false positive

 hw/block/xen-block.c | 24 +++++++++++++++++++++---
 net/net.c            | 28 ++++++++++++++++++++++------
 system/vl.c          |  1 +
 3 files changed, 44 insertions(+), 9 deletions(-)




From xen-devel-bounces@lists.xenproject.org Wed Nov 15 17:27:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 17:27:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633811.988880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Jg0-0003Jy-4R; Wed, 15 Nov 2023 17:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633811.988880; Wed, 15 Nov 2023 17: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 1r3Jfz-0003If-UV; Wed, 15 Nov 2023 17:27:43 +0000
Received: by outflank-mailman (input) for mailman id 633811;
 Wed, 15 Nov 2023 17:27: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=ynSk=G4=desiato.srs.infradead.org=BATV+a72437c23eaab18a7e37+7388+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r3Jfy-00031y-AT
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 17:27:42 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 44a6bfc0-83dc-11ee-9b0e-b553b5be7939;
 Wed, 15 Nov 2023 18:27:38 +0100 (CET)
Received: from [2001:8b0:10b:1::ebe] (helo=i7.infradead.org)
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r3Jfi-004Bc2-26; Wed, 15 Nov 2023 17:27:26 +0000
Received: from dwoodhou by i7.infradead.org with local (Exim 4.96.2 #2 (Red
 Hat Linux)) id 1r3Jfh-004sFL-16; Wed, 15 Nov 2023 17: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
X-Inumbo-ID: 44a6bfc0-83dc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Sender:Content-Transfer-Encoding:
	MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:Cc:To:From:
	Reply-To:Content-Type:Content-ID:Content-Description;
	bh=iJEkdS0pn0NaWuyuJa10RygKkR2b5taCeZjDdDEb+V8=; b=kAKl+Xku2nRKfIhSLPH3+fjd8S
	PIIIAjYbVjC4xBDHZaXNvD0z9x58yFQGqYFlfOnrlK+4kceqKQqBzVf/04nDaW7UNNcPAq7CN3GON
	53EQfv1KL4qKFIxx1w0US+jxdYqvXc7rz+VeWnWsY6SMjejou4sfApYbzAtwVZtc+xAb7CnxLZO8h
	fGQ4l0vEe7cWQ+BAJAboVAzNGMLlBX3Azmy5PcL6SK0RsmpuFWKpXr02LRE5FrafLzTVJHR/q/xlr
	/DjObAZMr4mskpzSgSE0g6R8w8U3d6Pj9cs6eGpjrhG0hEQEBZfInO3RbFgBLxC6gPbX0LxKhDsjk
	P2AENoUQ==;
From: David Woodhouse <dwmw2@infradead.org>
To: qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	xen-devel@lists.xenproject.org,
	qemu-block@nongnu.org
Subject: [PATCH 3/3] hw/xen: clean up xen_block_find_free_vdev() to avoid Coverity false positive
Date: Wed, 15 Nov 2023 17:24:37 +0000
Message-ID: <20231115172723.1161679-4-dwmw2@infradead.org>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <20231115172723.1161679-1-dwmw2@infradead.org>
References: <20231115172723.1161679-1-dwmw2@infradead.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Sender: David Woodhouse <dwmw2@infradead.org>
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

From: David Woodhouse <dwmw@amazon.co.uk>

Coverity couldn't see that nr_existing was always going to be zero when
qemu_xen_xs_directory() returned NULL in the ENOENT case (CID 1523906).

Perhaps more to the point, neither could Peter at first glance. Improve
the code to hopefully make it clearer to Coverity and human reviewers
alike.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/block/xen-block.c | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 6d64ede94f..aed1d5c330 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -91,9 +91,27 @@ static bool xen_block_find_free_vdev(XenBlockDevice *blockdev, Error **errp)
 
     existing_frontends = qemu_xen_xs_directory(xenbus->xsh, XBT_NULL, fe_path,
                                                &nr_existing);
-    if (!existing_frontends && errno != ENOENT) {
-        error_setg_errno(errp, errno, "cannot read %s", fe_path);
-        return false;
+    if (!existing_frontends) {
+        if (errno == ENOENT) {
+            /*
+             * If the frontend directory doesn't exist because there are
+             * no existing vbd devices, that's fine. Just ensure that we
+             * don't dereference the NULL existing_frontends pointer, by
+             * checking that nr_existing is zero so the loop below is not
+             * entered.
+             *
+             * In fact this is redundant since nr_existing is initialized
+             * to zero, but setting it again here makes it abundantly clear
+             * to Coverity, and to the human reader who doesn't know the
+             * semantics of qemu_xen_xs_directory() off the top of their
+             * head.
+             */
+            nr_existing = 0;
+        } else {
+            /* All other errors accessing the frontend directory are fatal. */
+            error_setg_errno(errp, errno, "cannot read %s", fe_path);
+            return false;
+        }
     }
 
     memset(used_devs, 0, sizeof(used_devs));
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 17:31:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 17:31:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633823.988904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3JjP-00064G-S3; Wed, 15 Nov 2023 17:31:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633823.988904; Wed, 15 Nov 2023 17: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 1r3JjP-000649-PH; Wed, 15 Nov 2023 17:31:15 +0000
Received: by outflank-mailman (input) for mailman id 633823;
 Wed, 15 Nov 2023 17:31: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 1r3JjO-00063x-3d
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 17:31: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 1r3JjN-0006G3-MP; Wed, 15 Nov 2023 17:31:13 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3JjN-0005EP-Ga; Wed, 15 Nov 2023 17:31: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=fl6xOmXJi6+18dkqwdXBTON/RwPUjxd+q6/WwEvMjig=; b=KiJNN+PUuA63sTQP9RTPk4Y5pf
	VMqB/L7amRdn8wRZ9stZPWdfCRm1Flmw7jHwCbAeZXsOCJDYLX4zrQwyclUwdb8cuja/kJsglWW30
	JCSO1aWEySeXc2Hx57uRBnBzXemwqlmMbFVca5Bo/74nTVr8EkQY1GUEaE+kysUHeSko=;
Message-ID: <9e0760f2-6ffd-4010-aabf-ff4f643f288c@xen.org>
Date: Wed, 15 Nov 2023 17:31:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-GB
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Oleksandr,

On 15/11/2023 16:51, Oleksandr Tyshchenko wrote:
> 
> 
> On 15.11.23 14:33, Julien Grall wrote:
>> Hi,
> 
> 
> Hello Julien
> 
> Let me please try to explain some bits.
> 
> 
>>
>> Thanks for adding support for virtio-pci in Xen. I have some questions.
>>
>> On 15/11/2023 11:26, Sergiy Kibrik wrote:
>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>
>>> In order to enable more use-cases such as having multiple
>>> device-models (Qemu) running in different backend domains which provide
>>> virtio-pci devices for the same guest, we allocate and expose one
>>> PCI host bridge for every virtio backend domain for that guest.
>>
>> OOI, why do you need to expose one PCI host bridge for every stubdomain?
>>
>> In fact looking at the next patch, it seems you are handling some of the
>> hostbridge request in Xen. This is adds a bit more confusion.
>>
>> I was expecting the virtual PCI device would be in the vPCI and each
>> Device emulator would advertise which BDF they are covering.
> 
> 
> This patch series only covers use-cases where the device emulator
> handles the *entire* PCI Host bridge and PCI (virtio-pci) devices behind
> it (i.e. Qemu). Also this patch series doesn't touch vPCI/PCI
> pass-through resources, handling, accounting, nothing. 

I understood you want to one Device Emulator to handle the entire PCI 
host bridge. But...

 From the
> hypervisor we only need a help to intercept the config space accesses
> happen in a range [GUEST_VIRTIO_PCI_ECAM_BASE ...
> GUEST_VIRTIO_PCI_ECAM_BASE + GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE] and
> forward them to the linked device emulator (if any), that's all.

... I really don't see why you need to add code in Xen to trap the 
region. If QEMU is dealing with the hostbridge, then it should be able 
to register the MMIO region and then do the translation.

> 
> It is not possible (with current series) to run device emulators what
> emulate only separate PCI (virtio-pci) devices. For it to be possible, I
> think, much more changes are required than current patch series does.
> There at least should be special PCI Host bridge emulation in Xen (or
> reuse vPCI) for the integration. Also Xen should be in charge of forming
> resulting PCI interrupt based on each PCI device level signaling (if we
> use legacy interrupts), some kind of x86's XEN_DMOP_set_pci_intx_level,
> etc. Please note, I am not saying this is not possible in general,
> likely it is possible, but initial patch series doesn't cover these
> use-cases)
> 
> We expose one PCI host bridge per virtio backend domain. This is a
> separate PCI host bridge to combine all virtio-pci devices running in
> the same backend domain (in the same device emulator currently).
> The examples:
> - if only one domain runs Qemu which servers virtio-blk, virtio-net,
> virtio-console devices for DomU - only single PCI Host bridge will be
> exposed for DomU
> - if we add another domain to run Qemu to serve additionally virtio-gpu,
> virtio-input and virtio-snd for the *same* DomU - we expose second PCI
> Host bridge for DomU
> 
> I am afraid, we cannot end up exposing only single PCI Host bridge with
> current model (if we use device emulators running in different domains
> that handles the *entire* PCI Host bridges), this won't work.

That makes sense and it is fine. But see above, I think only the #2 is 
necessary for the hypervisor. Patch #5 should not be necessary at all.

[...]

>>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>> Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
>>> ---
>>>    xen/include/public/arch-arm.h | 21 +++++++++++++++++++++
>>>    1 file changed, 21 insertions(+)
>>>
>>> diff --git a/xen/include/public/arch-arm.h
>>> b/xen/include/public/arch-arm.h
>>> index a25e87dbda..e6c9cd5335 100644
>>> --- a/xen/include/public/arch-arm.h
>>> +++ b/xen/include/public/arch-arm.h
>>> @@ -466,6 +466,19 @@ typedef uint64_t xen_callback_t;
>>>    #define GUEST_VPCI_MEM_ADDR                 xen_mk_ullong(0x23000000)
>>>    #define GUEST_VPCI_MEM_SIZE                 xen_mk_ullong(0x10000000)
>>> +/*
>>> + * 16 MB is reserved for virtio-pci configuration space based on
>>> calculation
>>> + * 8 bridges * 2 buses x 32 devices x 8 functions x 4 KB = 16 MB
>>
>> Can you explain how youd ecided the "2"?
> 
> good question, we have a limited free space available in memory layout
> (we had difficulties to find a suitable holes) also we don't expect a
> lot of virtio-pci devices, so "256" used vPCI would be too much. It was
> decided to reduce significantly, but select maximum to fit into free
> space, with having "2" buses we still fit into the chosen holes.

If you don't expect a lot of virtio devices, then why do you need two 
buses? Wouldn't one be sufficient?

> 
> 
>>
>>> + */
>>> +#define GUEST_VIRTIO_PCI_ECAM_BASE          xen_mk_ullong(0x33000000)
>>> +#define GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE    xen_mk_ullong(0x01000000)
>>> +#define GUEST_VIRTIO_PCI_HOST_ECAM_SIZE     xen_mk_ullong(0x00200000)
>>> +
>>> +/* 64 MB is reserved for virtio-pci memory */
>>> +#define GUEST_VIRTIO_PCI_ADDR_TYPE_MEM    xen_mk_ullong(0x02000000)
>>> +#define GUEST_VIRTIO_PCI_MEM_ADDR         xen_mk_ullong(0x34000000)
>>> +#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x04000000)
>>> +
>>>    /*
>>>     * 16MB == 4096 pages reserved for guest to use as a region to map its
>>>     * grant table in.
>>> @@ -476,6 +489,11 @@ typedef uint64_t xen_callback_t;
>>>    #define GUEST_MAGIC_BASE  xen_mk_ullong(0x39000000)
>>>    #define GUEST_MAGIC_SIZE  xen_mk_ullong(0x01000000)
>>> +/* 64 MB is reserved for virtio-pci Prefetch memory */
>>
>> This doesn't seem a lot depending on your use case. Can you details how
>> you can up with "64 MB"?
> 
> the same calculation as it was done configuration space. It was observed
> that only 16K is used per virtio-pci device (maybe it can be bigger for
> usual PCI device, I don't know). Please look at the example of DomU log
> below (to strings that contain "*BAR 4: assigned*"):

What about virtio-gpu? I would expect a bit more memory is necessary for 
that use case.

Any case, what I am looking for is for some explanation in the commit 
message of the limits. I don't particularly care about the exact limit 
because this is not part of a stable ABI.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 17:57:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 17:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633828.988913 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3K8U-0002pP-T6; Wed, 15 Nov 2023 17:57:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633828.988913; Wed, 15 Nov 2023 17:57: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 1r3K8U-0002pI-QK; Wed, 15 Nov 2023 17:57:10 +0000
Received: by outflank-mailman (input) for mailman id 633828;
 Wed, 15 Nov 2023 17:57: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=WuA2=G4=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1r3K8S-0002p8-H2
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 17:57:08 +0000
Received: from sonic314-19.consmr.mail.gq1.yahoo.com
 (sonic314-19.consmr.mail.gq1.yahoo.com [98.137.69.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 630f5773-83e0-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 18:57:06 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic314.consmr.mail.gq1.yahoo.com with HTTP; Wed, 15 Nov 2023 17:57:04 +0000
Received: by hermes--production-bf1-5b945b6d47-pb628 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID b4b4a9370e80522ac9d62dc97b11e39c; 
 Wed, 15 Nov 2023 17:56:59 +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: 630f5773-83e0-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1700071024; bh=YF2s4xF5SCw6gmmLUOPakvJN8SjfXIcfPpzN9F2wCDs=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=BCmOSOwKpGksJ+qgav6T+PZAlWXbLvjDFvoge7YjJ95nbkp2AMX2uYObZxRptQTOArnpivIUBLKScJF2W0jEIKXUMP8RQqtVJQRulUffPFWcARHlWFKY2L7jtlAGT2cnVB6hYEz9aGmpCiwJgHm4v0uvc5vUuz9Ja6Ytp2TfxpxLJh3lFs5qzw8NfydOpCwTd8kI9KJCtH6rbkClfnIkEpfk/4tXfveYtHilLJcSCi8hzCxjOVgZ5yki7XgrzKcIWRf7z3FPD6DJGinjxH1n+2aSwvDwqAE/7rChP9lQeBROgB8OyrF2gGdQXH4IZO8ZJ0DIeK76rsMAQX5AFeHQuw==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1700071024; bh=tZUQH+T6uUeYppUSz3pyuwfs9IOBZqeHgT7YvdwF5AJ=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=kx+C9tc2E+n82NhQQD9iMkwEFzmAUWJBkoo1kKrR0M9dwP91+WaCX0jHT9lcObANY06rtRwyoePM/CpJRpsZT3UscCF7cbaKYVZ0poXvn5Ubpa6zf8Y6iX4Z+b+N8rQZ5I0kIrNy9Mgxl4rLhobMUWE8+RPye8PY2u6w42YuyKexNNA9KXrLO3J5FAGFB4Sv7wCY4bSTCupBKSxCa/flDM4FLNP2Z7XYIw9tFlOOpj+HmMGDYCcSzywkaes4pADtFN7+HLUT3K2PRLkq6pV9woxKcUV6H6DbCoTSJXtWQ4K+6bkUwfB8cIw8ckWDCLy0NszZSCRepVOfPST1BcXclA==
X-YMail-OSG: o4vf5O8VM1m2T3_r0jRIH_we3jJ0AtRvuul.BbvI3Mk5ANcbNuV1L0E_iI0t4zS
 AQJHlsb_f5nY5iR__rSiJC4.VI4lvGkjs608.WrhqmIMTaM5BJdjo8SFO_Od97soEoGqSiIifCvN
 fn6u_OBpUHFStSZBhm_h5CdzJPC7vyyP54NjiyIXwcDMEiwi2mpkQFeBy3KnwcfItF0KxJVhOr_0
 XUE0xXG_y4psjm.cO9GHmn7kvAC3h.M3LJnisqN_kKRQlD_GPav0aA7Eak_dzfjTCuUYrE3x49fW
 hMBM6_gFQutBSLTuRbFLGai4KzPpXE9DTr0f2DBbdN24dXDbT6O27Sg3mGgMw3ZF4n7V9M8PlEXG
 iXZYbozvHP.J4l9q0WyEVrTpj..LYGqQ0BJpc2viekOfAob9BUEqHJ7k.To2ylN0lqmnR2htZ7ST
 kZGV.yq8c.zkLP2rtUbSBh8shCirTzsGgkHth3qyeCl3TznoYq06KDII1_pwmqsqd.IB2hMSC805
 sahonqetVbc2frL8qC26JCys8X2nApej1DAK1tUYr5sr8q3j6SCY9ukk7KLAUHHlRU2Ji1mPaoC7
 7.wHKHxUNVXazMIc21Gl2G4XKo9GEBXfqWrq0f_v4et4XYJxqv4B4OUXI.5ueGyR_FI4pWuSjqZ_
 HtEbIeBHWdCJUCtIiE72QE2hSGaPy4LGnTAT8eTW1UzqpVF9lvdvdph0LOCIrQnsR_SkirVgEBVM
 IRmdWyS3z0wQ9_fyL79DBJDKCLCNrs9PPvlC4CUcR1C.Bx6Q19KrxZmwZOW0aVS6vlAmpver6N1g
 oreyoPu2uczTwIz7RfwsxQxrsF5inMpF2zSz1pmapBIddeVIyX3wfP4vEVh7O18lSjysaQNlsIiM
 dhAr7BQiy7X2cnmjbhYN1zfV2twuQeKOH4r6C5E81nLsGUyAB4NoKNTEleRmLFreINLVJu3HMKpW
 iC6Npahu0cNAsRgpmtRTuKY5wqvFyXQyDFo6GfTqu5tnWWyAyzqXXVXDN7JWdfOC5i4uk7c_sXG7
 wulo3zZYgCPK4ckgI8cL17Tr0CvSbJcikFP.Upn8okAn2K_ZM9cjdMOnpnMpIe4TuZiggyVF_.7o
 edagv6OGXoACMFEcNwf_C76gxMcwo927cEJU7laPG0Vgr8Lrf6pKeWSK3CYV989HIBXPvpvzYnWD
 Omjd4v4Ivarf_.byp3mQba1BLI34EWUtxr8OAQtUr7bdhslNTMRIANZiZh6FgWCzgRgIXcR6pLSK
 QjG67YYBa_3BH95T.DZN07uW7tBuaS5ELrV9Kf_XN_Lfm.0VkWu7hcRckc9VrSQVxHaGt0LCxR2Z
 VaCpk4MYlHPajSWXXLa_i4QDwH0RSLbW.nAjUVM8A99pROm468f5oVo90R0KYCFfeh97IH8vJaex
 Y4cCivmEeF3uPBAjZMJrPQlyig3w8g75V9F66T10s7ZvIe_ej2M32gQkrV84mn7D_0vgLWkCBYJB
 7teKcUwsjC7dMUPKZXBtcPCrKoBvvyEbbHo643pnJmYlQLS8N2jDIHl22Z6dk5sBplHOuywRdY_a
 BPNAPhtgKVNNxbofyw4cycSa_NQ4hbsFhdyEmu_g9pN17Si7TUAl.Dg0IiLRMaR.k7tN1paJ8cDX
 N0bFCY7snGgke6MG5slQmi6TzKhQcSA.LqCdUicf35ZdUs3YzMN34LmH1b8mJT9rkR0tLG1JfTdc
 QlDGFRKjzQR0ypakoDzX_Xis86n4XvAzx143LH6GAldF745jFBP5q9kJVGpiC3nw89iVj2KZj856
 US7Ov8vs8gGbohd4IOXnU4aDircchdr6Gl3vG9TlJ1SnQ1a1bdPfExjXBO_fttDqXWnxsGtGZkFy
 RwlaqKzj7y2TZW8X0z3tPR6_pDns297LwcJUX9iT506xoZrK115U_.J6C7j__f7wkTf507WLmLz7
 3Le4BwBJKnLRLphnFRLJzS7GmmXT0JhRXs7l9uSX7Ss4YecL1gs0JU8o291Df4sFe6cMcWGlH9Xr
 9sidateJiuzaGiqOR9gYWhkMf2LB6z0FMcrzICksbB82Ridy.FbTQ3IZ0.ZS8dk3aRuXLZnOGTD.
 JVJR8x0SfZERFFc7wHC1yUR2qQ7TT1KFvNzQCXCKi9wy5dVFq5xrzM5XlI9fOj60WcPfEqncSq50
 .WH5i5Y88wf_urFpulMmQMfSr9rebA4jz3qQsFZFiGTHCmix0Voiwh4vAFQriYdws6dcAhTDnb.5
 qpEfBR8X0QZgY
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: b9a247e1-0ea5-473a-acc0-9f2bc933c42c
Message-ID: <edefba96-0a17-4b3d-992c-6bfe9e62bf97@netscape.net>
Date: Wed, 15 Nov 2023 12:56:57 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>,
 Robin Murphy <robin.murphy@arm.com>
Cc: Chuck Zmudzinski <brchuckz@aol.com>,
 linux-arm-kernel@lists.infradead.org, Russell King <linux@armlinux.org.uk>,
 Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 Marek Szyprowski <m.szyprowski@samsung.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Linus Walleij <linus.walleij@linaro.org>, Jason Gunthorpe <jgg@ziepe.ca>,
 Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>,
 Mario Marietto <marietto2008@gmail.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20231111184538.2371-1-brchuckz.ref@aol.com>
 <20231111184538.2371-1-brchuckz@aol.com>
 <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com>
 <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21896 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 6665

On 11/14/2023 5:20 PM, Stefano Stabellini wrote:
> On Tue, 14 Nov 2023, Robin Murphy wrote:
>> On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
>> > Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error when
>> > attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook Snow
>> > (and probably on other devices that use the Exynos mixer):
>> > 
>> > [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
>> > exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
>> > exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR* Device
>> >                               14450000.mixer lacks support for IOMMU
>> > exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc0d97554): -22
>> > exynos-drm exynos-drm: adev bind failed: -22
>> > exynos-dp: probe of 145b0000.dp-controller failed with error -22
>> > 
>> > Linux normally uses xen_swiotlb_dma_ops for DMA for all devices when
>> > xen_swiotlb is detected even when Xen exposes an IOMMU to Linux. Enabling
>> > the new config option allows devices such as the Exynos mixer to use the
>> > IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the error.
>> > 
>> > The new config option is not set by default because it is likely some
>> > devices that use IOMMU for DMA on Xen will cause DMA errors and memory
>> > corruption when Xen PV block and network drivers are in use on the system.
>> > 
>> > Link:
>> > https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netscape.net/
>> > 
>> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
>> > ---
>> > The reported error with the Exynos mixer is not fixed by default by adding
>> > a second patch to select the new option in the Kconfig definition for the
>> > Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it is
>> > not certain setting the config option is suitable for all cases. So it is
>> > necessary to explicitly select the new config option during the config
>> > stage of the Linux kernel build to fix the reported error or similar
>> > errors that have the same cause of lack of support for IOMMU on Xen. This
>> > is necessary to avoid any regressions that might be caused by enabling the
>> > new option by default for the Exynos mixer.
>> >   arch/arm/mm/dma-mapping.c |  6 ++++++
>> >   drivers/xen/Kconfig       | 16 ++++++++++++++++
>> >   2 files changed, 22 insertions(+)
>> > 
>> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
>> > index 5409225b4abc..ca04fdf01be3 100644
>> > --- a/arch/arm/mm/dma-mapping.c
>> > +++ b/arch/arm/mm/dma-mapping.c
>> > @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev, u64
>> > dma_base, u64 size,
>> >   	if (iommu)
>> >   		arm_setup_iommu_dma_ops(dev, dma_base, size, iommu, coherent);
>> >   +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
>> 
>> FWIW I don't think this really needs a config option - if Xen *has* made an
>> IOMMU available, then there isn't really much reason not to use it, and if for
>> some reason someone really didn't want to then they could simply disable the
>> IOMMU driver anyway.
> 
> The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen
> doesn't recognize the Exynos IOMMU (it is not one of the IOMMUs Xen has
> a driver for) so it assigns the IOMMU to Dom0. It doesn't happen on
> purpose, it happens by accident. Certain things are going to break,
> specifically I am fairly certain PV drivers are going to break.
> 
> If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide it
> from Dom0. (Today Xen doesn't have a list of IOMMUs Xen recognizes but
> doesn't have a driver for.)
> 
> I think it is OK for Chuck and others to play around with this
> configuration but I wouldn't add a new kconfig option to Linux to
> support it.
> 
> If we do want a kconfig option, I would add a kconfig option or Linux
> command line option to enable/disable swiotlb-xen. Basically a way to
> force-enable or force-disable xen_swiotlb_detect(). That could be
> generally useful for debugging and would also solve the problem here as
> it could be used to force-disable swiotlb-xen. I would imagine that the
> end result is the same: the default ops (iommu_ops) are used.

I will try this. It isn't exactly what I have tested until now because
in all my tests so far all the DMA capable devices on the Chromebook use
swioltlb-xen except for the two devices that need to use the Exynos IOMMU
to fix the error with the Exynos mixer.

> 
> 
> 
>> > +	if (dev->dma_ops == &iommu_ops) {
>> > +		dev->archdata.dma_ops_setup = true;
>> 
>> The existing assignment is effectively unconditional by this point anyway, so
>> could probably just be moved earlier to save duplicating it (or perhaps just
>> make the xen_setup_dma_ops() call conditional instead to save the early return
>> as well).
>> 
>> However, are the IOMMU DMA ops really compatible with Xen? The comments about
>> hypercalls and foreign memory in xen_arch_need_swiotlb() leave me concerned
>> that assuming non-coherent DMA to any old Dom0 page is OK might not actually
>> work in general :/
> 
> Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the
> IOMMU while also it exposes a virtual IOMMU to guests.) In those cases
> the iommu_ops should be compatible with Xen.
> 
> swiotlb-xen is useful in cases where there is no IOMMU on the platform
> (or the IOMMU doesn't cover all DMA-capable devices) and Dom0 is 1:1
> mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0 is
> not 1:1 mapped swiotlb-xen doesn't work. If an IOMMU is present and
> covers all DMA-capable devices, then swiotlb-xen is superfluous.

It seems that swiotlb-xen works on this Chromebook since all but two
of the DMA capable devices use it when configured with the Kconfig option
added here and it seems to work fine so I presume Dom0 is 1:1 mapped as
expected. It is possible that on this device, the IOMMU is only covering
the two devices that need to use the Exynos IOMMU in the tests I have done.
There are many other DMA capable devices that use swiotlb-xen DMA ops
on Xen, but I have not checked what DMA ops the other devices use when
Linux runs on the Chromebook on bare metal without Xen.

So I plan to do some tests and see what DMA ops the other devices use if
swiotlb-xen is disabled and also what DMA ops the other devices use when
Linux runs on the Chromebook on bare metal without Xen. If these tests
show the problem can be fixed by disabling swiotlb-xen with a Kconfig  or
command line option, I will propose v2 to implement that as a solution.

> This last case is the interesting case for virtual IOMMU and Linux usage of
> iommu_ops.


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 18:15:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 18:15:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633832.988923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3KPl-0007kP-A3; Wed, 15 Nov 2023 18:15:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633832.988923; Wed, 15 Nov 2023 18: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 1r3KPl-0007kI-7Q; Wed, 15 Nov 2023 18:15:01 +0000
Received: by outflank-mailman (input) for mailman id 633832;
 Wed, 15 Nov 2023 18:14: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=6a9m=G4=epam.com=prvs=56830be07e=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r3KPi-0007kA-TN
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 18:14:59 +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 e150a1cd-83e2-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 19:14:57 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AFGsEtR002496; Wed, 15 Nov 2023 18:14:49 GMT
Received: from eur02-db5-obe.outbound.protection.outlook.com
 (mail-db5eur02lp2104.outbound.protection.outlook.com [104.47.11.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ucw0vhv0x-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 15 Nov 2023 18:14:48 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AS8PR03MB9724.eurprd03.prod.outlook.com (2603:10a6:20b:61c::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Wed, 15 Nov
 2023 18:14:44 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Wed, 15 Nov 2023
 18:14: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: e150a1cd-83e2-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RyhcTNf6C7wMelNEh3izlLj7VOtjZXMTj+qfYlR4LbDEG71kBwXo8lOHKWsX/+vVEtVL4gO5ySA29YhtQsZlDEtRyan4PCLrLcK3G/S8Y/6ORZFwpenvl42/I3768oheVtamchC8kK6Ul6yjnIsUs9mLXoUhqWfW9MJgvQJMzAfPvAlzwtFnygCmr3B8wBD1AtdMlfpCAoaxl2ACm7Mdw77qTtWG8DYb6+GNkJfeT4wiTogwmnRrBJqXJ5gQX7K/wPvlAjU+niCFt2k5fNr0jgakjK/ejC3ojgq3oit6KyWZhASq4YXdrlJQywN9xwcfAJOVDB8KkaRo4mFvc73XWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=iPa9wODj3WruvnmGCczg8u9VL1ZINrkSUaUo/Ovo6WY=;
 b=N2ZY78jj4tpmWd4T1YZE7epsUW8hUuZC6R4KssdGIcNeH82XPtr38zGsPNo9c7Gl4nkNS/s85EduxnCpOMwngypWlmcmSjtF+kJXzw477MNgh/G3o9ZtOda9sww8nHF5RdmG98vXKs3KbnzoxIWw6Scw3de5DJteq0EYjLce2kUgb1Gm6EoaZEy03DXySQiJ7Q0I6etNmg4lItl/6441xXTa75PAL+rSqyRGgYedE7xoHRSiQPxoIj2N04Akm3/B4saQg52Nmp/2DHZjZg1cgLLqbaO931dR8BizjAQQRIwO+JQxAcDS6ROq/twRRtNLBIAI4wUFrTanKp12bSjIlQ==
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=iPa9wODj3WruvnmGCczg8u9VL1ZINrkSUaUo/Ovo6WY=;
 b=kqs9lupv0Toj6jt1FdYD4sqL3DsK7IQgVsikiFavlSM+gyAn8ylanlY3DIZhXqDJcB9F05cApN/EzB8AQTccKvu+tQAFDCe77atskVgPVQ5r11bAEhatbf3N2mhRD9Fob84OTwDsjvbVF8MzZF4dVVME/jMepcVd23n6EACmBitHAgNtF8JEIHQtdGgROD6dr9AFJHrpS6YXWoXCQzLWlemF5oS3eSHsr9Fsu96L3+tOels2OOTbZ2eSAdcTpcayLuWmjUzynDJgLa0ecmMWCobhvgt1dBl17CiDqB1Xl0rPc6STrCS7h5I3Z08ffsWCpfREhu42Pdbj9cKNKv1pHw==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Julien Grall <julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Topic: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Index: AQHaF7/0l4ZQp7ixjkGnkGM6dDamtLB7mIqAgAALAoCAAAwrAA==
Date: Wed, 15 Nov 2023 18:14:44 +0000
Message-ID: <1e5b414b-c730-4fbf-bc51-c292e396f6c5@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <9e0760f2-6ffd-4010-aabf-ff4f643f288c@xen.org>
In-Reply-To: <9e0760f2-6ffd-4010-aabf-ff4f643f288c@xen.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-traffictypediagnostic: DB8PR03MB6108:EE_|AS8PR03MB9724:EE_
x-ms-office365-filtering-correlation-id: b1d95ceb-d223-4482-ef92-08dbe606be9a
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 r2ShGAN1Yno3ukC/gvyPsAgY86xvLtdlGdWiioYxeA+aqbhixwmNTIIPzSCGPYzEQzs+1eQA1XXiukdy/3jfB4QNC5AQ3riAddKr/bJmTBaHz46RBA+dGeCyo6Zd+qXfp62LPqZRqMvTpL6caKprkQFpuitCA42r26/YmeSMnChqsmjItwYMUav55xjg3e3eYAV82CTRAVUFR0JgqbP1FUOEGimkiIKqU7ht7vSq2mBUtl1WHWoNguW72ZSqoxvHurIMt7XZ3Wauu4rac874n1Zy0ERRxompMh3S7pp4Whn/gZ7iSqKVMsNWVmZ/SGM82K5BBHwlIowhEC1Xnl9e2vMDIlA7oXg/hk665eU9w/fzyHh8hEae0VIOhbTtlusu+PwWMEL42o7z186A1+p2ogzm3vvGsrvsrVnmLSvWJlsd0GEXrmXZWHqXhM4gBKftmbn6b1Av8u5UpaeWfIDwft+Iu8iphCw+S4GgnFef1vbddNUYx8M8e7y93GGpOglCWQIcqhsG/JIsKpl3FpqlN1xl8bbg717JcqZm9rEZZJSk9WTgKk1FZ0/nmRledGkj8dtWijoY1u76wslQle/Vt6fJgAYncpGNPD/PG3t25BDwSAMTV2WNY+a5WEsP5txrMoWpLoKHSz1UU82IsDkPSQ==
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:(13230031)(39860400002)(136003)(396003)(376002)(366004)(346002)(230922051799003)(64100799003)(451199024)(1800799009)(186009)(38070700009)(86362001)(316002)(91956017)(66946007)(110136005)(31696002)(54906003)(66556008)(64756008)(66899024)(66476007)(66446008)(36756003)(76116006)(8676002)(71200400001)(83380400001)(4326008)(8936002)(2906002)(26005)(41300700001)(53546011)(107886003)(6512007)(2616005)(6506007)(31686004)(5660300002)(6486002)(478600001)(38100700002)(122000001)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?ZWxkS1J4UEFWYkJYdnFoRWQwam43T3czSmpveHoybTl3NFU4Rmc1MndsMklH?=
 =?utf-8?B?NjY1SzBFYktjU0RZN3EvZGVRTTFWMFdub20rZU5TU0lXN2QyY2hFTTVObkxo?=
 =?utf-8?B?d1R0dlc5MzdXU3VUSWRWUWRncitISS9vaEE4U01wNWN0UGV0Sys3dVl2MytG?=
 =?utf-8?B?ZlNmVTVycUNWa3JCQmEvakNMaWxVcGxaUExscXZtdFRmZFUzSG1sWWVPN3R1?=
 =?utf-8?B?YmErSW1QWkZNeFQxOCs1ZDlKdDAzcTVHKzRuYk0yV1JVOTJuZ2w5Ujd1c0Zm?=
 =?utf-8?B?OGdrc2IwS0h2K2RrdGdQTjNweFYrMWt0cWdCOUFtNzNzWEIxTEFlcTFwenpv?=
 =?utf-8?B?b21Fb3ZVaXlJdWFUSmZhRFQvZjArL2QzVXRXV2FkN3dNUVNxUllmSTRlL2cr?=
 =?utf-8?B?MVkrUjZSbkVqSFdCZzZZMUZ4VENZdjNzcmJCbUVEYTdVMmpoY3VCVEp0VjBV?=
 =?utf-8?B?V2ozb1JFRTYvT09ObDIwb29RUW9lMGFidnpBRmJVQUlvaDByNUUwcG8xdE1h?=
 =?utf-8?B?Zlc3QjgxTThmNVEzNnExMjcyZWFlVTRPUHZvTUswZlI5UGUrYmxhRm9KbWdr?=
 =?utf-8?B?K0ZqVmNpWlE2amx0eXdXTHNGZmFDUTRpQm1kdENYN1c3N0lGa3dmaWdNU0N5?=
 =?utf-8?B?MEwxODhWQ3Z0K3hGS2JLWi9mRDFUVDk2dU52VzBLbVpoTlEzNDZaNGVhU2Zj?=
 =?utf-8?B?S0t1K0psWnI0S0ZpWTB4RVBKU3o4WTF0NTFpZ0g2ektjNmp0QUlrcmNtcklT?=
 =?utf-8?B?S0JubHI5YnRZQlQ1aS92WXBhLzIvQ3FOZWxCYWM2SE5OWWl0SkNNakdMV09O?=
 =?utf-8?B?Z0pZRW11TThRN3p0aDVzSGFNL2t5M3BIenJJVEVZT2Y1SmlVL3ZYRTRPa0RI?=
 =?utf-8?B?WTVPYnNZL3NwemVtVkYrcVlISjlRWWpYOWNKR2YxU1hjTXJSdE13YVh0WDRX?=
 =?utf-8?B?a1RWbDgxMDBxNnN1K3hNeHFhZUxSeXNLVVhGTUE3SkVJUGN5ZGpZYjg1T3R6?=
 =?utf-8?B?QjdHaTQ2cjZWb0VzcHhQb1lGUENocmVxWDBCem5qME1UYWlVSzJDY1RxSEF2?=
 =?utf-8?B?UjFPVWNiYVI2c3VoOGpqY2VoSUcraVlLZ1poQnZvc2ZESUgrUmNJRTFja0lo?=
 =?utf-8?B?V3JNYy9Id2tOVmYzd1hQK3g0ZFBTUmNMTkYxZVJrVnk4T2lXVUE2MlArQ25X?=
 =?utf-8?B?Vm5mZUtkK2h1MmU4U0JwamRUeE05dDFML2s1bGZTM2FFaEtBK3MyNGJjUjlz?=
 =?utf-8?B?SkM3TFFmM0xhN2pQc1VxdmFSdm9vZUhCeFdoOFljMURJVDNoazYza1N1Sm5N?=
 =?utf-8?B?UDI5VGNJR21zenlFcUlhOWZkRFFzV2NhK1dxYUtqR2VEZW1mWFEzSUFKUlFs?=
 =?utf-8?B?WXZPUU1Sc0pUQTNJNVN2VG1Rdkk4UkJSbCtyRmM5cVBIem5XaUJ1MURIMGZo?=
 =?utf-8?B?UTFoYVBFYlNKcXAveEc2dk9YbHBMdGZhUUxFR253TUJiY2ZCUjM3eGUwdWRY?=
 =?utf-8?B?dWYxaWxTYit0YXIxVGtSZWZsVjVUdW8wWVlmWkh3ZDFPZ201UGR5WXlNNG4z?=
 =?utf-8?B?OXI5L1U0RmxXTGdMdVB5L0U1bXpuMFQvdjlITkNlZWNpWmpjTnNFV1dKcFh0?=
 =?utf-8?B?Vy9vQ0JpejJaanZ5SzFmZTlhYkdZRm91d091cmQrZmpzNWZVclhGVFlVRUtS?=
 =?utf-8?B?TjFJNTZ2Y202eG52WWc3cFlnTUg3UXNTZHJUSHJma3pldTU2bTB5aTBybkNE?=
 =?utf-8?B?ellFYTBLSFJyVmtyalBqbm9LVEg2aDJPT3RFY2VhaEdPaGVHVzNzV1ZrbS9D?=
 =?utf-8?B?TmR4SmdGMktpY0w3VjQzMWhwMDgvemVSU3FiUFlqZDBrZ1pQTmhzWHpmSFdl?=
 =?utf-8?B?NCtlcmh5QVY1allHQ0dEMFk3SG8xZk5FUFEzTytjMWpIcHlYdWxTcGdwRnBO?=
 =?utf-8?B?THVYREprci9GT0ZIM2dibm9Cd0JVSGh3MnkwSitTeld2VW5BQjZnR24zM2pM?=
 =?utf-8?B?cFdXSTUzOStUNFcvUDJEZmR0M04wZnJWSVJ6cnpDQ2JIaG9kQkR6TnZaVEx4?=
 =?utf-8?B?SC92dXJrdWg4KzliVGdjY1FmSGJaUDNxSFlRaUZROWlGQ08rZm4zVHVOSy9q?=
 =?utf-8?B?aU5tMFZyVmg4ejVXdWM4YklSNkdYNGhlNkRSVHVaT1RoWWExSzVKWUZmNFRt?=
 =?utf-8?Q?T6swsb40eKaMMyDhm3z2lb4=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <14A14A75F9EA2A4FB035D57D80FB2EF7@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: b1d95ceb-d223-4482-ef92-08dbe606be9a
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2023 18:14:44.4811
 (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: apWcnUw2vgcnj9swhejyJf9sBpPU1zdEn1cf1WZ85cSdBB0B0RSXGAAXKIqH7/GilkY+XkM0PTaVKns4DMVU2O/IGrPuIHGKDELYNET1p5o=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB9724
X-Proofpoint-ORIG-GUID: cXwWazMioi-uNlF9IMQ6h7vA2LXT5Ars
X-Proofpoint-GUID: cXwWazMioi-uNlF9IMQ6h7vA2LXT5Ars
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-15_17,2023-11-15_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 suspectscore=0
 adultscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0
 mlxlogscore=999 clxscore=1015 bulkscore=0 mlxscore=0 impostorscore=0
 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311150142

DQoNCk9uIDE1LjExLjIzIDE5OjMxLCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+IEhpIE9sZWtzYW5k
ciwNCg0KDQpIZWxsbyBKdWxpZW4NCg0KPiANCj4gT24gMTUvMTEvMjAyMyAxNjo1MSwgT2xla3Nh
bmRyIFR5c2hjaGVua28gd3JvdGU6DQo+Pg0KPj4NCj4+IE9uIDE1LjExLjIzIDE0OjMzLCBKdWxp
ZW4gR3JhbGwgd3JvdGU6DQo+Pj4gSGksDQo+Pg0KPj4NCj4+IEhlbGxvIEp1bGllbg0KPj4NCj4+
IExldCBtZSBwbGVhc2UgdHJ5IHRvIGV4cGxhaW4gc29tZSBiaXRzLg0KPj4NCj4+DQo+Pj4NCj4+
PiBUaGFua3MgZm9yIGFkZGluZyBzdXBwb3J0IGZvciB2aXJ0aW8tcGNpIGluIFhlbi4gSSBoYXZl
IHNvbWUgcXVlc3Rpb25zLg0KPj4+DQo+Pj4gT24gMTUvMTEvMjAyMyAxMToyNiwgU2VyZ2l5IEtp
YnJpayB3cm90ZToNCj4+Pj4gRnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28gPG9sZWtzYW5kcl90
eXNoY2hlbmtvQGVwYW0uY29tPg0KPj4+Pg0KPj4+PiBJbiBvcmRlciB0byBlbmFibGUgbW9yZSB1
c2UtY2FzZXMgc3VjaCBhcyBoYXZpbmcgbXVsdGlwbGUNCj4+Pj4gZGV2aWNlLW1vZGVscyAoUWVt
dSkgcnVubmluZyBpbiBkaWZmZXJlbnQgYmFja2VuZCBkb21haW5zIHdoaWNoIHByb3ZpZGUNCj4+
Pj4gdmlydGlvLXBjaSBkZXZpY2VzIGZvciB0aGUgc2FtZSBndWVzdCwgd2UgYWxsb2NhdGUgYW5k
IGV4cG9zZSBvbmUNCj4+Pj4gUENJIGhvc3QgYnJpZGdlIGZvciBldmVyeSB2aXJ0aW8gYmFja2Vu
ZCBkb21haW4gZm9yIHRoYXQgZ3Vlc3QuDQo+Pj4NCj4+PiBPT0ksIHdoeSBkbyB5b3UgbmVlZCB0
byBleHBvc2Ugb25lIFBDSSBob3N0IGJyaWRnZSBmb3IgZXZlcnkgc3R1YmRvbWFpbj8NCj4+Pg0K
Pj4+IEluIGZhY3QgbG9va2luZyBhdCB0aGUgbmV4dCBwYXRjaCwgaXQgc2VlbXMgeW91IGFyZSBo
YW5kbGluZyBzb21lIG9mIHRoZQ0KPj4+IGhvc3RicmlkZ2UgcmVxdWVzdCBpbiBYZW4uIFRoaXMg
aXMgYWRkcyBhIGJpdCBtb3JlIGNvbmZ1c2lvbi4NCj4+Pg0KPj4+IEkgd2FzIGV4cGVjdGluZyB0
aGUgdmlydHVhbCBQQ0kgZGV2aWNlIHdvdWxkIGJlIGluIHRoZSB2UENJIGFuZCBlYWNoDQo+Pj4g
RGV2aWNlIGVtdWxhdG9yIHdvdWxkIGFkdmVydGlzZSB3aGljaCBCREYgdGhleSBhcmUgY292ZXJp
bmcuDQo+Pg0KPj4NCj4+IFRoaXMgcGF0Y2ggc2VyaWVzIG9ubHkgY292ZXJzIHVzZS1jYXNlcyB3
aGVyZSB0aGUgZGV2aWNlIGVtdWxhdG9yDQo+PiBoYW5kbGVzIHRoZSAqZW50aXJlKiBQQ0kgSG9z
dCBicmlkZ2UgYW5kIFBDSSAodmlydGlvLXBjaSkgZGV2aWNlcyBiZWhpbmQNCj4+IGl0IChpLmUu
IFFlbXUpLiBBbHNvIHRoaXMgcGF0Y2ggc2VyaWVzIGRvZXNuJ3QgdG91Y2ggdlBDSS9QQ0kNCj4+
IHBhc3MtdGhyb3VnaCByZXNvdXJjZXMsIGhhbmRsaW5nLCBhY2NvdW50aW5nLCBub3RoaW5nLiAN
Cj4gDQo+IEkgdW5kZXJzdG9vZCB5b3Ugd2FudCB0byBvbmUgRGV2aWNlIEVtdWxhdG9yIHRvIGhh
bmRsZSB0aGUgZW50aXJlIFBDSSANCj4gaG9zdCBicmlkZ2UuIEJ1dC4uLg0KPiANCj4gIEZyb20g
dGhlDQo+PiBoeXBlcnZpc29yIHdlIG9ubHkgbmVlZCBhIGhlbHAgdG8gaW50ZXJjZXB0IHRoZSBj
b25maWcgc3BhY2UgYWNjZXNzZXMNCj4+IGhhcHBlbiBpbiBhIHJhbmdlIFtHVUVTVF9WSVJUSU9f
UENJX0VDQU1fQkFTRSAuLi4NCj4+IEdVRVNUX1ZJUlRJT19QQ0lfRUNBTV9CQVNFICsgR1VFU1Rf
VklSVElPX1BDSV9UT1RBTF9FQ0FNX1NJWkVdIGFuZA0KPj4gZm9yd2FyZCB0aGVtIHRvIHRoZSBs
aW5rZWQgZGV2aWNlIGVtdWxhdG9yIChpZiBhbnkpLCB0aGF0J3MgYWxsLg0KPiANCj4gLi4uIEkg
cmVhbGx5IGRvbid0IHNlZSB3aHkgeW91IG5lZWQgdG8gYWRkIGNvZGUgaW4gWGVuIHRvIHRyYXAg
dGhlIA0KPiByZWdpb24uIElmIFFFTVUgaXMgZGVhbGluZyB3aXRoIHRoZSBob3N0YnJpZGdlLCB0
aGVuIGl0IHNob3VsZCBiZSBhYmxlIA0KPiB0byByZWdpc3RlciB0aGUgTU1JTyByZWdpb24gYW5k
IHRoZW4gZG8gdGhlIHRyYW5zbGF0aW9uLg0KDQoNCkhtbSwgc291bmRzIHN1cnByaXNpbmcgSSB3
b3VsZCBzYXkuIEFyZSB5b3Ugc2F5aW5nIHRoYXQgdW5tb2RpZmllZCBRZW11IA0Kd2lsbCB3b3Jr
IGlmIHdlIGRyb3AgIzU/IEkgdGhpbmsgdGhpcyB3YW50cyB0byBiZSByZS1jaGVja2VkIChAU2Vy
Z2l5IA0KY2FuIHlvdSBwbGVhc2UgaW52ZXN0aWdhdGU/KS4gSWYgaW5kZWVkIHNvLCB0aGFuICM1
IHdpbGwgYmUgZHJvcHBlZCBvZiANCmNvdXJzZSBmcm9tIHRoZSB0aGF0IHNlcmllcyAoSSB3b3Vs
ZCBzYXksIHBvc3Rwb25lZCB1bnRpbCBtb3JlIHVzZS1jYXNlcykuDQoNCg0KDQo+IA0KPj4NCj4+
IEl0IGlzIG5vdCBwb3NzaWJsZSAod2l0aCBjdXJyZW50IHNlcmllcykgdG8gcnVuIGRldmljZSBl
bXVsYXRvcnMgd2hhdA0KPj4gZW11bGF0ZSBvbmx5IHNlcGFyYXRlIFBDSSAodmlydGlvLXBjaSkg
ZGV2aWNlcy4gRm9yIGl0IHRvIGJlIHBvc3NpYmxlLCBJDQo+PiB0aGluaywgbXVjaCBtb3JlIGNo
YW5nZXMgYXJlIHJlcXVpcmVkIHRoYW4gY3VycmVudCBwYXRjaCBzZXJpZXMgZG9lcy4NCj4+IFRo
ZXJlIGF0IGxlYXN0IHNob3VsZCBiZSBzcGVjaWFsIFBDSSBIb3N0IGJyaWRnZSBlbXVsYXRpb24g
aW4gWGVuIChvcg0KPj4gcmV1c2UgdlBDSSkgZm9yIHRoZSBpbnRlZ3JhdGlvbi4gQWxzbyBYZW4g
c2hvdWxkIGJlIGluIGNoYXJnZSBvZiBmb3JtaW5nDQo+PiByZXN1bHRpbmcgUENJIGludGVycnVw
dCBiYXNlZCBvbiBlYWNoIFBDSSBkZXZpY2UgbGV2ZWwgc2lnbmFsaW5nIChpZiB3ZQ0KPj4gdXNl
IGxlZ2FjeSBpbnRlcnJ1cHRzKSwgc29tZSBraW5kIG9mIHg4NidzIFhFTl9ETU9QX3NldF9wY2lf
aW50eF9sZXZlbCwNCj4+IGV0Yy4gUGxlYXNlIG5vdGUsIEkgYW0gbm90IHNheWluZyB0aGlzIGlz
IG5vdCBwb3NzaWJsZSBpbiBnZW5lcmFsLA0KPj4gbGlrZWx5IGl0IGlzIHBvc3NpYmxlLCBidXQg
aW5pdGlhbCBwYXRjaCBzZXJpZXMgZG9lc24ndCBjb3ZlciB0aGVzZQ0KPj4gdXNlLWNhc2VzKQ0K
Pj4NCj4+IFdlIGV4cG9zZSBvbmUgUENJIGhvc3QgYnJpZGdlIHBlciB2aXJ0aW8gYmFja2VuZCBk
b21haW4uIFRoaXMgaXMgYQ0KPj4gc2VwYXJhdGUgUENJIGhvc3QgYnJpZGdlIHRvIGNvbWJpbmUg
YWxsIHZpcnRpby1wY2kgZGV2aWNlcyBydW5uaW5nIGluDQo+PiB0aGUgc2FtZSBiYWNrZW5kIGRv
bWFpbiAoaW4gdGhlIHNhbWUgZGV2aWNlIGVtdWxhdG9yIGN1cnJlbnRseSkuDQo+PiBUaGUgZXhh
bXBsZXM6DQo+PiAtIGlmIG9ubHkgb25lIGRvbWFpbiBydW5zIFFlbXUgd2hpY2ggc2VydmVycyB2
aXJ0aW8tYmxrLCB2aXJ0aW8tbmV0LA0KPj4gdmlydGlvLWNvbnNvbGUgZGV2aWNlcyBmb3IgRG9t
VSAtIG9ubHkgc2luZ2xlIFBDSSBIb3N0IGJyaWRnZSB3aWxsIGJlDQo+PiBleHBvc2VkIGZvciBE
b21VDQo+PiAtIGlmIHdlIGFkZCBhbm90aGVyIGRvbWFpbiB0byBydW4gUWVtdSB0byBzZXJ2ZSBh
ZGRpdGlvbmFsbHkgdmlydGlvLWdwdSwNCj4+IHZpcnRpby1pbnB1dCBhbmQgdmlydGlvLXNuZCBm
b3IgdGhlICpzYW1lKiBEb21VIC0gd2UgZXhwb3NlIHNlY29uZCBQQ0kNCj4+IEhvc3QgYnJpZGdl
IGZvciBEb21VDQo+Pg0KPj4gSSBhbSBhZnJhaWQsIHdlIGNhbm5vdCBlbmQgdXAgZXhwb3Npbmcg
b25seSBzaW5nbGUgUENJIEhvc3QgYnJpZGdlIHdpdGgNCj4+IGN1cnJlbnQgbW9kZWwgKGlmIHdl
IHVzZSBkZXZpY2UgZW11bGF0b3JzIHJ1bm5pbmcgaW4gZGlmZmVyZW50IGRvbWFpbnMNCj4+IHRo
YXQgaGFuZGxlcyB0aGUgKmVudGlyZSogUENJIEhvc3QgYnJpZGdlcyksIHRoaXMgd29uJ3Qgd29y
ay4NCj4gDQo+IFRoYXQgbWFrZXMgc2Vuc2UgYW5kIGl0IGlzIGZpbmUuIEJ1dCBzZWUgYWJvdmUs
IEkgdGhpbmsgb25seSB0aGUgIzIgaXMgDQo+IG5lY2Vzc2FyeSBmb3IgdGhlIGh5cGVydmlzb3Iu
IFBhdGNoICM1IHNob3VsZCBub3QgYmUgbmVjZXNzYXJ5IGF0IGFsbC4NCg0KDQpHb29kLCBpdCBz
aG91bGQgYmUgcmUtY2hlY2tlZCB3aXRob3V0ICM1IHN1cmUuDQoNCg0KPiANCj4gWy4uLl0NCj4g
DQo+Pj4+IFNpZ25lZC1vZmYtYnk6IE9sZWtzYW5kciBUeXNoY2hlbmtvIDxvbGVrc2FuZHJfdHlz
aGNoZW5rb0BlcGFtLmNvbT4NCj4+Pj4gU2lnbmVkLW9mZi1ieTogU2VyZ2l5IEtpYnJpayA8U2Vy
Z2l5X0tpYnJpa0BlcGFtLmNvbT4NCj4+Pj4gLS0tDQo+Pj4+IMKgwqAgeGVuL2luY2x1ZGUvcHVi
bGljL2FyY2gtYXJtLmggfCAyMSArKysrKysrKysrKysrKysrKysrKysNCj4+Pj4gwqDCoCAxIGZp
bGUgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKQ0KPj4+Pg0KPj4+PiBkaWZmIC0tZ2l0IGEveGVu
L2luY2x1ZGUvcHVibGljL2FyY2gtYXJtLmgNCj4+Pj4gYi94ZW4vaW5jbHVkZS9wdWJsaWMvYXJj
aC1hcm0uaA0KPj4+PiBpbmRleCBhMjVlODdkYmRhLi5lNmM5Y2Q1MzM1IDEwMDY0NA0KPj4+PiAt
LS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvYXJjaC1hcm0uaA0KPj4+PiArKysgYi94ZW4vaW5jbHVk
ZS9wdWJsaWMvYXJjaC1hcm0uaA0KPj4+PiBAQCAtNDY2LDYgKzQ2NiwxOSBAQCB0eXBlZGVmIHVp
bnQ2NF90IHhlbl9jYWxsYmFja190Ow0KPj4+PiDCoMKgICNkZWZpbmUgR1VFU1RfVlBDSV9NRU1f
QUREUiAgICAgICAgICAgICAgICAgDQo+Pj4+IHhlbl9ta191bGxvbmcoMHgyMzAwMDAwMCkNCj4+
Pj4gwqDCoCAjZGVmaW5lIEdVRVNUX1ZQQ0lfTUVNX1NJWkUgICAgICAgICAgICAgICAgIA0KPj4+
PiB4ZW5fbWtfdWxsb25nKDB4MTAwMDAwMDApDQo+Pj4+ICsvKg0KPj4+PiArICogMTYgTUIgaXMg
cmVzZXJ2ZWQgZm9yIHZpcnRpby1wY2kgY29uZmlndXJhdGlvbiBzcGFjZSBiYXNlZCBvbg0KPj4+
PiBjYWxjdWxhdGlvbg0KPj4+PiArICogOCBicmlkZ2VzICogMiBidXNlcyB4IDMyIGRldmljZXMg
eCA4IGZ1bmN0aW9ucyB4IDQgS0IgPSAxNiBNQg0KPj4+DQo+Pj4gQ2FuIHlvdSBleHBsYWluIGhv
dyB5b3VkIGVjaWRlZCB0aGUgIjIiPw0KPj4NCj4+IGdvb2QgcXVlc3Rpb24sIHdlIGhhdmUgYSBs
aW1pdGVkIGZyZWUgc3BhY2UgYXZhaWxhYmxlIGluIG1lbW9yeSBsYXlvdXQNCj4+ICh3ZSBoYWQg
ZGlmZmljdWx0aWVzIHRvIGZpbmQgYSBzdWl0YWJsZSBob2xlcykgYWxzbyB3ZSBkb24ndCBleHBl
Y3QgYQ0KPj4gbG90IG9mIHZpcnRpby1wY2kgZGV2aWNlcywgc28gIjI1NiIgdXNlZCB2UENJIHdv
dWxkIGJlIHRvbyBtdWNoLiBJdCB3YXMNCj4+IGRlY2lkZWQgdG8gcmVkdWNlIHNpZ25pZmljYW50
bHksIGJ1dCBzZWxlY3QgbWF4aW11bSB0byBmaXQgaW50byBmcmVlDQo+PiBzcGFjZSwgd2l0aCBo
YXZpbmcgIjIiIGJ1c2VzIHdlIHN0aWxsIGZpdCBpbnRvIHRoZSBjaG9zZW4gaG9sZXMuDQo+IA0K
PiBJZiB5b3UgZG9uJ3QgZXhwZWN0IGEgbG90IG9mIHZpcnRpbyBkZXZpY2VzLCB0aGVuIHdoeSBk
byB5b3UgbmVlZCB0d28gDQo+IGJ1c2VzPyBXb3VsZG4ndCBvbmUgYmUgc3VmZmljaWVudD8NCg0K
DQpGb3Igbm93IG9uZSB3b3VsZCBzdWZmaWNpZW50IEkgdGhpbmsuIEBTZXJnaXkgaWYgeW91IHJl
ZHVjZSB0byBhIHNpbmdsZSANCmJ1cyBoZXJlLCBkb24ndCBmb3JnZXQgdG8gdXBkYXRlICJidXMt
cmFuZ2UiIHByb3BlcnR5IGluIGRldmljZS10cmVlIG5vZGUuDQoNCg0KDQoNCj4gDQo+Pg0KPj4N
Cj4+Pg0KPj4+PiArICovDQo+Pj4+ICsjZGVmaW5lIEdVRVNUX1ZJUlRJT19QQ0lfRUNBTV9CQVNF
wqDCoMKgwqDCoMKgwqDCoMKgIHhlbl9ta191bGxvbmcoMHgzMzAwMDAwMCkNCj4+Pj4gKyNkZWZp
bmUgR1VFU1RfVklSVElPX1BDSV9UT1RBTF9FQ0FNX1NJWkXCoMKgwqAgeGVuX21rX3VsbG9uZygw
eDAxMDAwMDAwKQ0KPj4+PiArI2RlZmluZSBHVUVTVF9WSVJUSU9fUENJX0hPU1RfRUNBTV9TSVpF
wqDCoMKgwqAgeGVuX21rX3VsbG9uZygweDAwMjAwMDAwKQ0KPj4+PiArDQo+Pj4+ICsvKiA2NCBN
QiBpcyByZXNlcnZlZCBmb3IgdmlydGlvLXBjaSBtZW1vcnkgKi8NCj4+Pj4gKyNkZWZpbmUgR1VF
U1RfVklSVElPX1BDSV9BRERSX1RZUEVfTUVNwqDCoMKgIHhlbl9ta191bGxvbmcoMHgwMjAwMDAw
MCkNCj4+Pj4gKyNkZWZpbmUgR1VFU1RfVklSVElPX1BDSV9NRU1fQUREUsKgwqDCoMKgwqDCoMKg
wqAgeGVuX21rX3VsbG9uZygweDM0MDAwMDAwKQ0KPj4+PiArI2RlZmluZSBHVUVTVF9WSVJUSU9f
UENJX01FTV9TSVpFwqDCoMKgwqDCoMKgwqDCoCB4ZW5fbWtfdWxsb25nKDB4MDQwMDAwMDApDQo+
Pj4+ICsNCj4+Pj4gwqDCoCAvKg0KPj4+PiDCoMKgwqAgKiAxNk1CID09IDQwOTYgcGFnZXMgcmVz
ZXJ2ZWQgZm9yIGd1ZXN0IHRvIHVzZSBhcyBhIHJlZ2lvbiB0byANCj4+Pj4gbWFwIGl0cw0KPj4+
PiDCoMKgwqAgKiBncmFudCB0YWJsZSBpbi4NCj4+Pj4gQEAgLTQ3Niw2ICs0ODksMTEgQEAgdHlw
ZWRlZiB1aW50NjRfdCB4ZW5fY2FsbGJhY2tfdDsNCj4+Pj4gwqDCoCAjZGVmaW5lIEdVRVNUX01B
R0lDX0JBU0XCoCB4ZW5fbWtfdWxsb25nKDB4MzkwMDAwMDApDQo+Pj4+IMKgwqAgI2RlZmluZSBH
VUVTVF9NQUdJQ19TSVpFwqAgeGVuX21rX3VsbG9uZygweDAxMDAwMDAwKQ0KPj4+PiArLyogNjQg
TUIgaXMgcmVzZXJ2ZWQgZm9yIHZpcnRpby1wY2kgUHJlZmV0Y2ggbWVtb3J5ICovDQo+Pj4NCj4+
PiBUaGlzIGRvZXNuJ3Qgc2VlbSBhIGxvdCBkZXBlbmRpbmcgb24geW91ciB1c2UgY2FzZS4gQ2Fu
IHlvdSBkZXRhaWxzIGhvdw0KPj4+IHlvdSBjYW4gdXAgd2l0aCAiNjQgTUIiPw0KPj4NCj4+IHRo
ZSBzYW1lIGNhbGN1bGF0aW9uIGFzIGl0IHdhcyBkb25lIGNvbmZpZ3VyYXRpb24gc3BhY2UuIEl0
IHdhcyBvYnNlcnZlZA0KPj4gdGhhdCBvbmx5IDE2SyBpcyB1c2VkIHBlciB2aXJ0aW8tcGNpIGRl
dmljZSAobWF5YmUgaXQgY2FuIGJlIGJpZ2dlciBmb3INCj4+IHVzdWFsIFBDSSBkZXZpY2UsIEkg
ZG9uJ3Qga25vdykuIFBsZWFzZSBsb29rIGF0IHRoZSBleGFtcGxlIG9mIERvbVUgbG9nDQo+PiBi
ZWxvdyAodG8gc3RyaW5ncyB0aGF0IGNvbnRhaW4gIipCQVIgNDogYXNzaWduZWQqIik6DQo+IA0K
PiBXaGF0IGFib3V0IHZpcnRpby1ncHU/IEkgd291bGQgZXhwZWN0IGEgYml0IG1vcmUgbWVtb3J5
IGlzIG5lY2Vzc2FyeSBmb3IgDQo+IHRoYXQgdXNlIGNhc2UuDQoNCg0KSW4gdGhlIERvbVUgbG9n
IEkgcHJvdmlkZWQgZHVyaW5nIGxhc3QgcmVzcG9uc2UsIHZpcnRpby1ncHUgd2FzIGFsc28gDQpw
cmVzZW50IGFtb25nIDUgdmlydGlvLXBjaSBkZXZpY2VzIGFuZCBpdCB3b3JrZWQgYXQgdGhlIHJ1
bnRpbWUNCg0KWyAgICAwLjQ3NDU3NV0gcGNpIDAwMDE6MDA6MDMuMDogWzFhZjQ6MTA1MF0gdHlw
ZSAwMCBjbGFzcyAweDAzODAwMA0KWyAgICAwLjQ3NjUzNF0gcGNpIDAwMDE6MDA6MDMuMDogcmVn
IDB4MjA6IFttZW0gMHgwMDAwMDAwMC0weDAwMDAzZmZmIA0KNjRiaXQgcHJlZl0NCi4uLi4NClsg
ICAgMC40OTY2NTZdIHBjaSAwMDAxOjAwOjAzLjA6IEJBUiA0OiBhc3NpZ25lZCBbbWVtIA0KMHgz
YTgwODAwMC0weDNhODBiZmZmIDY0Yml0IHByZWZdDQouLi4uDQpbICAgIDAuNTUwMjA4XSB2aXJ0
aW8tcGNpIDAwMDE6MDA6MDMuMDogZW5hYmxpbmcgZGV2aWNlICgwMDAwIC0+IDAwMDIpDQouLi4u
DQowMDAxOjAwOjAzLjAgRGlzcGxheSBjb250cm9sbGVyOiBSZWQgSGF0LCBJbmMuIFZpcnRpbyBH
UFUgKHJldiAwMSkNCg0KSSBndWVzcywgaW5kZWVkIGl0IG5lZWRzIG1vcmUgbWVtb3J5LCBidXQg
dGhpcyBpcyByZWxhdGVkIHRvIEkvTyANCmRlc2NyaXB0b3JzIGF0IHRoZSBydW50aW1lIHRoYXQg
cGFzc2VkIHZpYSB2aXJ0cXVldWUuDQoNCg0KDQo+IA0KPiBBbnkgY2FzZSwgd2hhdCBJIGFtIGxv
b2tpbmcgZm9yIGlzIGZvciBzb21lIGV4cGxhbmF0aW9uIGluIHRoZSBjb21taXQgDQo+IG1lc3Nh
Z2Ugb2YgdGhlIGxpbWl0cy4gSSBkb24ndCBwYXJ0aWN1bGFybHkgY2FyZSBhYm91dCB0aGUgZXhh
Y3QgbGltaXQgDQo+IGJlY2F1c2UgdGhpcyBpcyBub3QgcGFydCBvZiBhIHN0YWJsZSBBQkkuDQoN
Cm9rLCBzdXJlDQoNCg0KPiANCj4gQ2hlZXJzLA0KPiA=


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 18:33:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 18:33:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633836.988934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3KhD-0004MK-VL; Wed, 15 Nov 2023 18:33:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633836.988934; Wed, 15 Nov 2023 18:33: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 1r3KhD-0004MD-RZ; Wed, 15 Nov 2023 18:33:03 +0000
Received: by outflank-mailman (input) for mailman id 633836;
 Wed, 15 Nov 2023 18:33: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 1r3KhD-0004M7-9c
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 18:33: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 1r3KhC-0007rl-VX; Wed, 15 Nov 2023 18:33:02 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3KhC-0007tx-Kz; Wed, 15 Nov 2023 18: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=4J4FIB6xVcquEu163Z98su52FN+IjhTsdPXxW7R7Q5I=; b=yJKnHDuo/WoZdErup07Hdji0od
	wqh1DKmEmpkPVLbT3UzXzMiAdvQlEQkhVhz8eI+lT953Q2ljPy9OrVphZviJ6Rin3oWni4yMY86EB
	M4mZfJzRL6hn/I8LsunBgU4MWLxdqw7qYaSrqpB4uIxa9WP6ku/hNuxGosxvd7hUdWWs=;
Message-ID: <38ac9e15-3618-4178-b4f6-00a16eb53578@xen.org>
Date: Wed, 15 Nov 2023 18:33:00 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-GB
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <9e0760f2-6ffd-4010-aabf-ff4f643f288c@xen.org>
 <1e5b414b-c730-4fbf-bc51-c292e396f6c5@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1e5b414b-c730-4fbf-bc51-c292e396f6c5@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksandr,

On 15/11/2023 18:14, Oleksandr Tyshchenko wrote:
> On 15.11.23 19:31, Julien Grall wrote:
>> On 15/11/2023 16:51, Oleksandr Tyshchenko wrote:
>>> On 15.11.23 14:33, Julien Grall wrote:
>>>> Thanks for adding support for virtio-pci in Xen. I have some questions.
>>>>
>>>> On 15/11/2023 11:26, Sergiy Kibrik wrote:
>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>
>>>>> In order to enable more use-cases such as having multiple
>>>>> device-models (Qemu) running in different backend domains which provide
>>>>> virtio-pci devices for the same guest, we allocate and expose one
>>>>> PCI host bridge for every virtio backend domain for that guest.
>>>>
>>>> OOI, why do you need to expose one PCI host bridge for every stubdomain?
>>>>
>>>> In fact looking at the next patch, it seems you are handling some of the
>>>> hostbridge request in Xen. This is adds a bit more confusion.
>>>>
>>>> I was expecting the virtual PCI device would be in the vPCI and each
>>>> Device emulator would advertise which BDF they are covering.
>>>
>>>
>>> This patch series only covers use-cases where the device emulator
>>> handles the *entire* PCI Host bridge and PCI (virtio-pci) devices behind
>>> it (i.e. Qemu). Also this patch series doesn't touch vPCI/PCI
>>> pass-through resources, handling, accounting, nothing.
>>
>> I understood you want to one Device Emulator to handle the entire PCI
>> host bridge. But...
>>
>>   From the
>>> hypervisor we only need a help to intercept the config space accesses
>>> happen in a range [GUEST_VIRTIO_PCI_ECAM_BASE ...
>>> GUEST_VIRTIO_PCI_ECAM_BASE + GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE] and
>>> forward them to the linked device emulator (if any), that's all.
>>
>> ... I really don't see why you need to add code in Xen to trap the
>> region. If QEMU is dealing with the hostbridge, then it should be able
>> to register the MMIO region and then do the translation.
> 
> 
> Hmm, sounds surprising I would say. Are you saying that unmodified Qemu
> will work if we drop #5?

I don't know if an unmodified QEMU will work. My point is I don't view 
the patch in Xen necessary. You should be able to tell QEMU "here is the 
ECAM region, please emulate an hostbridge". QEMU will then register the 
region to Xen and all the accesses will be forwarded.

In the future we may need a patch similar to #5 if we want to have 
multiple DM using the same hostbridge. But this is a different 
discussion and the patch would need some rework.

The ioreq.c code was always meant to be generic and is always for every 
emulated MMIO. So you want to limit any change in it. Checking the MMIO 
region belongs to the hostbridge and doing the translation is IMHO not a 
good idea to do in ioreq.c. Instead you want to do the conversion from 
MMIO to (sbdf, offset) in virtio_pci_mmio{read, write}(). So the job of 
ioreq.c is to simply find the correct Device Model and forward it.

I also don't see why the feature is gated by has_vcpi(). They are two 
distinct features (at least in your current model).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 19:39:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 19:39:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633840.988944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3LjG-000189-IS; Wed, 15 Nov 2023 19:39:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633840.988944; Wed, 15 Nov 2023 19:39: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 1r3LjG-000182-FI; Wed, 15 Nov 2023 19:39:14 +0000
Received: by outflank-mailman (input) for mailman id 633840;
 Wed, 15 Nov 2023 19:39: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=6a9m=G4=epam.com=prvs=56830be07e=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r3LjF-00017w-Oi
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 19:39: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 a5cdc1a8-83ee-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 20:39:11 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AFGraOf027671; Wed, 15 Nov 2023 19:39:03 GMT
Received: from eur03-am7-obe.outbound.protection.outlook.com
 (mail-am7eur03lp2232.outbound.protection.outlook.com [104.47.51.232])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uctca2rtg-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 15 Nov 2023 19:39:03 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by AS8PR03MB10128.eurprd03.prod.outlook.com (2603:10a6:20b:5bb::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.29; Wed, 15 Nov
 2023 19:38:58 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Wed, 15 Nov 2023
 19: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>
X-Inumbo-ID: a5cdc1a8-83ee-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Me1fSBOWzjdiLnFszU3DJRTWlp0KWtgBud0ptuLeP5H1TjbGE8CyEUHa5PI5Pvia240sTUYBDG7sb1V4PD4FPW1Rj2XSaOYc3vEPWbHddot+t4jm5/mP9vVq3MU9QK03tJdEcMfTFm6OMYSKWO2Z8/K4J9jC1ID6ShlTz6skC+35ErScVBFhCBYpFDY6o68OUpqCeJTWiDPguIuK4yruefkY1+xAuY63J+U47wcUD67kmzv/4bY/ehFsTlpDO2dpcXFBfCS7kc84ODb3DALN3GZTFI4et5dWNjaPePaipY54IFK30ERxO861v/WM8DovvALzpDHjdxTkwGEs26QRyA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f74twMPlyyNfZBYsvlbbeQYuwB/qF1IsQ1Qbn18Fhck=;
 b=S5ALl1480FdMNG64EX6Er7A6pGrLv5MHTix2XYlLs6bRCOP6Tv/wAeOsavf5p081sTiCIC8y+ZsfdsXynPPyF5bHAsgG9B31CPW8m3Ig2w0guLJI0rtHTYImsZFLO/mRX+FkR9Eu4XFVzSLS63XCLBKEaCLn9qVXk4j3F+aNc9gp3WPPYJ6s0iqgFPY7s/CoplxArVC0LvNr1OUe9NCHtSyco8bvArXgvI2pOwTWz6Lvc6h5vXqiNOJZ309u+XYvRoTEUL+bxS65ZfV83SvXrNlVPQ0HekLYoDLCaTC6esW0iG1tiyz4DlwHYFA/VUj9eHe3qY41TJ3Hbv3qm+cGpA==
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=f74twMPlyyNfZBYsvlbbeQYuwB/qF1IsQ1Qbn18Fhck=;
 b=O9BoUcu7I5VVAVycf2MlcsNhz8mcoFXZgAaA7E8Q/o9eWeCGKLHozB7fGb6FYvku81q0Qkpa29ypNxd4aciG/xw06OndxFe0g3ORFKPwWreexiRN6aWkt3rZuVnVyenIwvojYf0lrCq1zd8gjR6/fyV+SAzWdDBWJ6zwRwSc85ruLR7QX8jgy5Gn+H4x5l2YpdigVDOWI5EO9INAcWthNBmVT/HduXI2iX8sMVDrKPqY9eXZtl5cfD9O/Hu8vlllDfhbULj1H0ETryhmc8SE6VpirrtdPN2yxp6NukIwNgcHNo9xByJnF98ST4JBbKUkUG+ar0EraXGIyPWBFRmsRA==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Julien Grall <julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        Bertrand Marquis
	<bertrand.marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>,
        Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Topic: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Index: AQHaF7/0l4ZQp7ixjkGnkGM6dDamtLB7mIqAgAALAoCAAAwrAIAABRsAgAASbYA=
Date: Wed, 15 Nov 2023 19:38:58 +0000
Message-ID: <6b82639b-a2cb-43f5-9968-590aec3f086b@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <9e0760f2-6ffd-4010-aabf-ff4f643f288c@xen.org>
 <1e5b414b-c730-4fbf-bc51-c292e396f6c5@epam.com>
 <38ac9e15-3618-4178-b4f6-00a16eb53578@xen.org>
In-Reply-To: <38ac9e15-3618-4178-b4f6-00a16eb53578@xen.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-traffictypediagnostic: DB8PR03MB6108:EE_|AS8PR03MB10128:EE_
x-ms-office365-filtering-correlation-id: 26ad613a-585a-4778-16ae-08dbe61282c0
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 DOSLb3ergsaEMDQETRx16WmH5CRt8nFvymHRtPylUqzfZF41myqotTOgMT9yfyxCihBpA7trK1ePgye+6hCZ952iiS2zVhdvejsPhuBfSzbUPj2t47mfRRtZSyHuAi6aZ7B6igH/YSuvjZ77IJFtzvKtto0flSB9RlirjfYl4ymxpeVakCYiyplDpua2eg0rdOGZz1cFeY7FB1FJhP6liAT5HlOG4evE6Lt9JW6EF/a0jJG8+3w853d0lBIZNwTRfe1pDcHPGphyjNU7nfZd6vOz9IkaTcYgI7molk2uz3AgwJIyhwGCYaoxu71o8EmD/VlYEmjP7+8ZR/iaM5g64trWw7cuIN7VpTTE+o1DnDoe3pg3VUVH1r8rpkvbtV9h61cUcdU9GcGxhhb4vb7BoLq/aruueQI5A48Slz7k0eYqAyZLM0L7L7fXneWY7D8op4u+Jzj4CCMwUIEEBjsZwqvXTj47nE6YrgniszMYCNZlSWkvVOazg//B0WwZ7y69mM46NfqMZ0imYNpfVceSwMgH/mZmoFumn2drjR2m17yyzYR/UvvmkK8oXx6Zap3iyV27IxcpY3OlmTJ74+dI8eD/GtxYc4GOCWnyUQwDg7qge/p9O7+YLj6T881uULdREw+ObTNi3x1um5ju/TGzMA==
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:(13230031)(39860400002)(396003)(376002)(136003)(346002)(366004)(230922051799003)(451199024)(186009)(64100799003)(1800799009)(107886003)(66899024)(54906003)(71200400001)(8676002)(53546011)(2906002)(2616005)(6512007)(83380400001)(4326008)(8936002)(5660300002)(26005)(41300700001)(316002)(6486002)(478600001)(66556008)(110136005)(76116006)(66446008)(66946007)(91956017)(66476007)(122000001)(38070700009)(38100700002)(64756008)(86362001)(31696002)(36756003)(6506007)(31686004)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?Z0psUUVmMTB4cnh0UmhtWUFhOTVvdXFTWDBSLyt5anBOTVZtalN6TlhVZmM3?=
 =?utf-8?B?Q00xNVQ3UnBxSmlHaVhINzUrZlUybW5ldUdaMWpmQzc2YzE0U0srVHVqSDVr?=
 =?utf-8?B?RlB5OWhhTkZxa3ZDOC9hQTJJWnh3YkFZMEF0MFR6ZFFOOVpXb0MydUI2ck45?=
 =?utf-8?B?L3BmVEN3RmJVc2xxV29XMlZlOGIwcis0Ny9RaDJRcnZtUmFTRU1sSHgxY0wy?=
 =?utf-8?B?cUtzUFM0aXVIVkFjcG8yOU53d3JrdlZadmFvR0xXam82Rng4dGNybEN0VnRi?=
 =?utf-8?B?bnZnY1hWOEVvdlJzbHlTMXpNKzRoV0szbHF6NXVtRWtsKzE1cklsS3E2QTUy?=
 =?utf-8?B?endKZ1VBb0RqUmtNUVgwL1RyalI1Y3VIUnFtMzVhZkRiN0R0U0N2QzhKaFMx?=
 =?utf-8?B?QWJyWUFESHIyeElGN095V1V5dS82Q3RsRzVuK2hiSHl0cG03TVlCemloTTdY?=
 =?utf-8?B?RW8raHQ4cVVsbmVzUkkxS2tRUkZzZmhyOXU1QmtnK0h1YmZIaHVORFM5WFdK?=
 =?utf-8?B?NnZFSmFoWG9mVUs4ZXJlemFsKzhDVDQ1SFFyRFViSnpVZUQyTVpQQVQwemdE?=
 =?utf-8?B?RzhZSkY4WHFsM3ZFaHRvWDg1VThaUzk4MWsvOFZPei9xcWRhV0pJMlduTWpo?=
 =?utf-8?B?b0NFVlJXbkNDeVV2OEZITitsdW9yMERlVkkwRTJUeExDdkE4ZHMvVWxLTmMv?=
 =?utf-8?B?ZDd3Vk5wWnNIY1dOZ2x3bkpRazRwMG9Nc01ibU42VnNvQlNiK0ZnbVluMEI0?=
 =?utf-8?B?ZDFtVEpOYnhhWGpuNVVuRGxyNEVtTGViVlIyK2hsQld2Yng4alBNTGhlYkI0?=
 =?utf-8?B?UldSeWF3MzQ4N0hPck9ORzFHQnBGT0xZUXJGVGg2ZjMzNTBjakxFVmdEUnlE?=
 =?utf-8?B?RGRIVW1RbldsTU5GQjE3YWZ6UHQ2QzR0d05PZ3c5SlpFdXNnMzF0Q3pQaXVq?=
 =?utf-8?B?VWthZHprcERCN01TdFBhUDVHbDRuM1g5TGRBSzFlenArb2VuR0pvbEpzSHJI?=
 =?utf-8?B?Ny82bGk5aHU4aFBLRVhvWVlRaExZQnlYbDdwV0hHSVNCL09MS0hZWWhRL2lp?=
 =?utf-8?B?c25KUVF4NGpWYzl1dHdVNUcyMjVXYlVISGxXYlRmU1pLaUsrZnBWUkhpNndL?=
 =?utf-8?B?Y2VDbklSVDhBODJwRWs5aTYycjFVbGcrQS9NYTRISk1QcG5CM2pMZ2NKVW5W?=
 =?utf-8?B?dmlhZFZWR1g5TEVGVU1KOW9LRnlZTkc0UnN5cTQxQ1REU3BRS2V5dThJdnF2?=
 =?utf-8?B?TDBBMmpXcytheDZLTmZMS1d6NTBFb2JENWsyMXhFUnJrRFhsUXNFa29sRFdu?=
 =?utf-8?B?LzY5V3BONHJhZTZhZ1JvcEdtUXoyckYvbG5IU2xrYkp1RHhUYmI0bjIxbkNV?=
 =?utf-8?B?cUZuamVtRUZqQXlQU3hTK2FFUjZlYW1KMTZ6N1k1ajBwekQ0dkN2TS9jMFgx?=
 =?utf-8?B?a3doTkU2OVQyUnlPdW5Kb2FFSjcyS1IybFIrZkNzTS9qTUZlc1cxd2xSeGZO?=
 =?utf-8?B?eGdNdzVMZzBXZDM1MkFtVkJ0c0FNUWEyUFlUYUtvQ2hmYlhIOEVYS0poK3Jx?=
 =?utf-8?B?T1RVM2JwZkphU3JkR1VlcnZvZ01oVDd4TTRyV3BwY2hUYWlaUlZ1OUNHRjdl?=
 =?utf-8?B?NDFBQ2J5KzVZUVZsN01sVWRmWTRlQWR4TDFtSERwQ1FTeVdBcndacWcvTjJv?=
 =?utf-8?B?S21EMXI2OEZOOXRnL2lRSkZkejNNMmh5OGpBVXdyUEp1OGxxT3l6d00rd0dQ?=
 =?utf-8?B?RGlDMjZJS2I4S3IxdlBkd1lSdklwTW4xZTFhaGQyRmRrOGtSamxkdzNXZDdV?=
 =?utf-8?B?bjZ6TU9rZ3pkSjNXMEdhb1psZVJiZGtIeVhmTEZubzl6ZGR3Ry8xUkwxc0cw?=
 =?utf-8?B?Y25QVHBFUTZUSTVTczVMRm54U29vZUtCalVOU0tWb0k5QldNZEppVVA4ZWhI?=
 =?utf-8?B?SGV5cXB3N2Z0OFlYeUtvdHNqdXVFc01vVUY3Sy8wMDlCSVdtRlpRNlRVZU1M?=
 =?utf-8?B?QjlpNzJ1a1dsOEVBNTRTTnJudS9odVNuZkJtRVAybUQvWlcwNkE5S0dUT2lN?=
 =?utf-8?B?Um5zK3pqbE81Y1VDS3VoNitFMVdZRlIrQzdhMlE0NGFOM24wY0hUZnoyNDJ6?=
 =?utf-8?B?azdYNkl5QmxpRzV0ZWlDazRNTWFkdnZQWmhhM2gxazlHK0VvNlY0aWN0U0lR?=
 =?utf-8?Q?s3F9PT0jyzmZK80vEzrPWAU=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <64D6312971C62E4498874244B975B463@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: 26ad613a-585a-4778-16ae-08dbe61282c0
X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2023 19:38:58.0253
 (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: UwdYzcxH59VlSv6eIBNjwcxUXmCRnD3S1BMPImb+l1GaVmpr/O7uvbV7yHu3nEirrtNP66h9IImc4/KqRvVxsEiB4+rz8uoLtx2jNd79SUI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB10128
X-Proofpoint-ORIG-GUID: uG2tzZp4TQlhNfGYuyoJoK1N5jPb487E
X-Proofpoint-GUID: uG2tzZp4TQlhNfGYuyoJoK1N5jPb487E
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-15_19,2023-11-15_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxlogscore=999
 priorityscore=1501 adultscore=0 clxscore=1015 malwarescore=0
 impostorscore=0 phishscore=0 suspectscore=0 spamscore=0 lowpriorityscore=0
 mlxscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311150156

DQoNCk9uIDE1LjExLjIzIDIwOjMzLCBKdWxpZW4gR3JhbGwgd3JvdGU6DQo+IEhpIE9sZWtzYW5k
ciwNCg0KSGVsbG8gSnVsaWVuDQoNCg0KPiANCj4gT24gMTUvMTEvMjAyMyAxODoxNCwgT2xla3Nh
bmRyIFR5c2hjaGVua28gd3JvdGU6DQo+PiBPbiAxNS4xMS4yMyAxOTozMSwgSnVsaWVuIEdyYWxs
IHdyb3RlOg0KPj4+IE9uIDE1LzExLzIwMjMgMTY6NTEsIE9sZWtzYW5kciBUeXNoY2hlbmtvIHdy
b3RlOg0KPj4+PiBPbiAxNS4xMS4yMyAxNDozMywgSnVsaWVuIEdyYWxsIHdyb3RlOg0KPj4+Pj4g
VGhhbmtzIGZvciBhZGRpbmcgc3VwcG9ydCBmb3IgdmlydGlvLXBjaSBpbiBYZW4uIEkgaGF2ZSBz
b21lIA0KPj4+Pj4gcXVlc3Rpb25zLg0KPj4+Pj4NCj4+Pj4+IE9uIDE1LzExLzIwMjMgMTE6MjYs
IFNlcmdpeSBLaWJyaWsgd3JvdGU6DQo+Pj4+Pj4gRnJvbTogT2xla3NhbmRyIFR5c2hjaGVua28g
PG9sZWtzYW5kcl90eXNoY2hlbmtvQGVwYW0uY29tPg0KPj4+Pj4+DQo+Pj4+Pj4gSW4gb3JkZXIg
dG8gZW5hYmxlIG1vcmUgdXNlLWNhc2VzIHN1Y2ggYXMgaGF2aW5nIG11bHRpcGxlDQo+Pj4+Pj4g
ZGV2aWNlLW1vZGVscyAoUWVtdSkgcnVubmluZyBpbiBkaWZmZXJlbnQgYmFja2VuZCBkb21haW5z
IHdoaWNoIA0KPj4+Pj4+IHByb3ZpZGUNCj4+Pj4+PiB2aXJ0aW8tcGNpIGRldmljZXMgZm9yIHRo
ZSBzYW1lIGd1ZXN0LCB3ZSBhbGxvY2F0ZSBhbmQgZXhwb3NlIG9uZQ0KPj4+Pj4+IFBDSSBob3N0
IGJyaWRnZSBmb3IgZXZlcnkgdmlydGlvIGJhY2tlbmQgZG9tYWluIGZvciB0aGF0IGd1ZXN0Lg0K
Pj4+Pj4NCj4+Pj4+IE9PSSwgd2h5IGRvIHlvdSBuZWVkIHRvIGV4cG9zZSBvbmUgUENJIGhvc3Qg
YnJpZGdlIGZvciBldmVyeSANCj4+Pj4+IHN0dWJkb21haW4/DQo+Pj4+Pg0KPj4+Pj4gSW4gZmFj
dCBsb29raW5nIGF0IHRoZSBuZXh0IHBhdGNoLCBpdCBzZWVtcyB5b3UgYXJlIGhhbmRsaW5nIHNv
bWUgDQo+Pj4+PiBvZiB0aGUNCj4+Pj4+IGhvc3RicmlkZ2UgcmVxdWVzdCBpbiBYZW4uIFRoaXMg
aXMgYWRkcyBhIGJpdCBtb3JlIGNvbmZ1c2lvbi4NCj4+Pj4+DQo+Pj4+PiBJIHdhcyBleHBlY3Rp
bmcgdGhlIHZpcnR1YWwgUENJIGRldmljZSB3b3VsZCBiZSBpbiB0aGUgdlBDSSBhbmQgZWFjaA0K
Pj4+Pj4gRGV2aWNlIGVtdWxhdG9yIHdvdWxkIGFkdmVydGlzZSB3aGljaCBCREYgdGhleSBhcmUg
Y292ZXJpbmcuDQo+Pj4+DQo+Pj4+DQo+Pj4+IFRoaXMgcGF0Y2ggc2VyaWVzIG9ubHkgY292ZXJz
IHVzZS1jYXNlcyB3aGVyZSB0aGUgZGV2aWNlIGVtdWxhdG9yDQo+Pj4+IGhhbmRsZXMgdGhlICpl
bnRpcmUqIFBDSSBIb3N0IGJyaWRnZSBhbmQgUENJICh2aXJ0aW8tcGNpKSBkZXZpY2VzIA0KPj4+
PiBiZWhpbmQNCj4+Pj4gaXQgKGkuZS4gUWVtdSkuIEFsc28gdGhpcyBwYXRjaCBzZXJpZXMgZG9l
c24ndCB0b3VjaCB2UENJL1BDSQ0KPj4+PiBwYXNzLXRocm91Z2ggcmVzb3VyY2VzLCBoYW5kbGlu
ZywgYWNjb3VudGluZywgbm90aGluZy4NCj4+Pg0KPj4+IEkgdW5kZXJzdG9vZCB5b3Ugd2FudCB0
byBvbmUgRGV2aWNlIEVtdWxhdG9yIHRvIGhhbmRsZSB0aGUgZW50aXJlIFBDSQ0KPj4+IGhvc3Qg
YnJpZGdlLiBCdXQuLi4NCj4+Pg0KPj4+IMKgIEZyb20gdGhlDQo+Pj4+IGh5cGVydmlzb3Igd2Ug
b25seSBuZWVkIGEgaGVscCB0byBpbnRlcmNlcHQgdGhlIGNvbmZpZyBzcGFjZSBhY2Nlc3Nlcw0K
Pj4+PiBoYXBwZW4gaW4gYSByYW5nZSBbR1VFU1RfVklSVElPX1BDSV9FQ0FNX0JBU0UgLi4uDQo+
Pj4+IEdVRVNUX1ZJUlRJT19QQ0lfRUNBTV9CQVNFICsgR1VFU1RfVklSVElPX1BDSV9UT1RBTF9F
Q0FNX1NJWkVdIGFuZA0KPj4+PiBmb3J3YXJkIHRoZW0gdG8gdGhlIGxpbmtlZCBkZXZpY2UgZW11
bGF0b3IgKGlmIGFueSksIHRoYXQncyBhbGwuDQo+Pj4NCj4+PiAuLi4gSSByZWFsbHkgZG9uJ3Qg
c2VlIHdoeSB5b3UgbmVlZCB0byBhZGQgY29kZSBpbiBYZW4gdG8gdHJhcCB0aGUNCj4+PiByZWdp
b24uIElmIFFFTVUgaXMgZGVhbGluZyB3aXRoIHRoZSBob3N0YnJpZGdlLCB0aGVuIGl0IHNob3Vs
ZCBiZSBhYmxlDQo+Pj4gdG8gcmVnaXN0ZXIgdGhlIE1NSU8gcmVnaW9uIGFuZCB0aGVuIGRvIHRo
ZSB0cmFuc2xhdGlvbi4NCj4+DQo+Pg0KPj4gSG1tLCBzb3VuZHMgc3VycHJpc2luZyBJIHdvdWxk
IHNheS4gQXJlIHlvdSBzYXlpbmcgdGhhdCB1bm1vZGlmaWVkIFFlbXUNCj4+IHdpbGwgd29yayBp
ZiB3ZSBkcm9wICM1Pw0KPiANCj4gSSBkb24ndCBrbm93IGlmIGFuIHVubW9kaWZpZWQgUUVNVSB3
aWxsIHdvcmsuIE15IHBvaW50IGlzIEkgZG9uJ3QgdmlldyANCj4gdGhlIHBhdGNoIGluIFhlbiBu
ZWNlc3NhcnkuIFlvdSBzaG91bGQgYmUgYWJsZSB0byB0ZWxsIFFFTVUgImhlcmUgaXMgdGhlIA0K
PiBFQ0FNIHJlZ2lvbiwgcGxlYXNlIGVtdWxhdGUgYW4gaG9zdGJyaWRnZSIuIFFFTVUgd2lsbCB0
aGVuIHJlZ2lzdGVyIHRoZSANCj4gcmVnaW9uIHRvIFhlbiBhbmQgYWxsIHRoZSBhY2Nlc3NlcyB3
aWxsIGJlIGZvcndhcmRlZC4gPg0KPiBJbiB0aGUgZnV0dXJlIHdlIG1heSBuZWVkIGEgcGF0Y2gg
c2ltaWxhciB0byAjNSBpZiB3ZSB3YW50IHRvIGhhdmUgDQo+IG11bHRpcGxlIERNIHVzaW5nIHRo
ZSBzYW1lIGhvc3RicmlkZ2UuIEJ1dCB0aGlzIGlzIGEgZGlmZmVyZW50IA0KPiBkaXNjdXNzaW9u
IGFuZCB0aGUgcGF0Y2ggd291bGQgbmVlZCBzb21lIHJld29yay4NCg0KDQpvaw0KDQo+IA0KPiBU
aGUgaW9yZXEuYyBjb2RlIHdhcyBhbHdheXMgbWVhbnQgdG8gYmUgZ2VuZXJpYyBhbmQgaXMgYWx3
YXlzIGZvciBldmVyeSANCj4gZW11bGF0ZWQgTU1JTy4gU28geW91IHdhbnQgdG8gbGltaXQgYW55
IGNoYW5nZSBpbiBpdC4gQ2hlY2tpbmcgdGhlIE1NSU8gDQo+IHJlZ2lvbiBiZWxvbmdzIHRvIHRo
ZSBob3N0YnJpZGdlIGFuZCBkb2luZyB0aGUgdHJhbnNsYXRpb24gaXMgSU1ITyBub3QgYSANCj4g
Z29vZCBpZGVhIHRvIGRvIGluIGlvcmVxLmMuIEluc3RlYWQgeW91IHdhbnQgdG8gZG8gdGhlIGNv
bnZlcnNpb24gZnJvbSANCj4gTU1JTyB0byAoc2JkZiwgb2Zmc2V0KSBpbiB2aXJ0aW9fcGNpX21t
aW97cmVhZCwgd3JpdGV9KCkuIFNvIHRoZSBqb2Igb2YgDQo+IGlvcmVxLmMgaXMgdG8gc2ltcGx5
IGZpbmQgdGhlIGNvcnJlY3QgRGV2aWNlIE1vZGVsIGFuZCBmb3J3YXJkIGl0Lg0KDQoNCg0KQXJl
IHlvdSBhYm91dCB2aXJ0aW9fcGNpX2lvcmVxX3NlcnZlcl9nZXRfYWRkcigpIGNhbGxlZCBmcm9t
IA0KYXJjaF9pb3JlcV9zZXJ2ZXJfZ2V0X3R5cGVfYWRkcigpPyBJZiBzbyBhbmQgaWYgSSBhbSBu
b3QgbWlzdGFrZW4gdGhlIA0KeDg2IGFsc28gY2hlY2sgd2hhdCBQQ0kgZGV2aWNlIGlzIHRhcmdl
dGVkIHRoZXJlLg0KDQpCdXQsIEkgYW0gbm90IGFnYWluc3QgdGhlIHN1Z2dlc3Rpb24sIEkgYWdy
ZWUgd2l0aCBpdC4NCg0KDQo+IA0KPiBJIGFsc28gZG9uJ3Qgc2VlIHdoeSB0aGUgZmVhdHVyZSBp
cyBnYXRlZCBieSBoYXNfdmNwaSgpLiBUaGV5IGFyZSB0d28gDQo+IGRpc3RpbmN0IGZlYXR1cmVz
IChhdCBsZWFzdCBpbiB5b3VyIGN1cnJlbnQgbW9kZWwpLg0KDQp5ZXMsIHlvdSBhcmUgY29ycmVj
dC4gSW4gIzUgdmlydGlvLXBjaSBtbWlvIGhhbmRsZXJzIGFyZSBzdGlsbCANCnJlZ2lzdGVyZWQg
aW4gZG9tYWluX3ZwY2lfaW5pdCgpICh3aGljaCBpcyBnYXRlZCBieSBoYXNfdmNwaSgpKSwgZXRj
DQoNCg0KPiANCj4gQ2hlZXJzLA0KPiA=


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 19:41:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 19:41:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633842.988953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Lle-0002av-V6; Wed, 15 Nov 2023 19:41:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633842.988953; Wed, 15 Nov 2023 19: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 1r3Lle-0002ao-SK; Wed, 15 Nov 2023 19:41:42 +0000
Received: by outflank-mailman (input) for mailman id 633842;
 Wed, 15 Nov 2023 19:41: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=kjnw=G4=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r3Lld-0002ae-B4
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 19:41:41 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fef2e1db-83ee-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 20:41:39 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-9e28724ac88so8360966b.2
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 11:41:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fef2e1db-83ee-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700077299; x=1700682099; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=LpKijucSIkE9LcP/6JnbTqybFKkCvnXhoKqY0oz+o5M=;
        b=Qt1f2UyP2bYqVC/sXdf+2vQh5atqPM5J6uKbenMw03XjtBJcY3LwvNQaDcNSYqHLPL
         BcelrXYIr5PYt1WWznAOBQGw+QtSLQ32QSm0Iu1WiAChbltCLZZ+5iVbfdoJaj16h3mM
         EiUvwhvUqqnSvRtiVuN0BvS9VgX0eWQ7WoerqEKLYC39eDyaMzhIk41ayZ2NxJp1Dq/7
         +W7fOuYTKvWB3uZl7UWRK333Xx/MeuhNec0cxeKsCgSi8qmLDrq4Va/A3zv0CGGcMaXT
         +xHH1zVtEQiWBdOPWtC3Pn8hYdhrM+Yl1+C/qhzJDrHBKl4KrTaQSN3leQ+9f5OZ3oq1
         K3lg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700077299; x=1700682099;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=LpKijucSIkE9LcP/6JnbTqybFKkCvnXhoKqY0oz+o5M=;
        b=WIASnyMzq07WnSjilLxG0uuYR96IbJ1lDXPAbGLlL1IRuP4Wke3E5vJCeo71o/RSJD
         je7NVkT2WMVfYKpM57STTi0Exk1VsvErhKCXH+ilTZik7Kz/6Nx/KYA3ebPUlDtJrFdi
         RMHfjuG9O3BxxAyln7iIGY6VtQtaw8LefgNIlvgZmPMUcg7sVZF0DraPFuh6HScoJZy0
         5C35SzVJHv1Q/LIBJhf+77Hb7maTQcvD46IzbcEbK541kl5OsaSovz71rSbgOnvjAW14
         3shUj5TKuMdN4+DuVb3xL0Lt5Alo1OaXziby9XAqjAJhP3NUWR6VeF/KgZGbmMxlWVTq
         fhYA==
X-Gm-Message-State: AOJu0YwM1ZBb4DVDtv8t/dPgxZhxNJhTUXzN077CuNvkg1x1Mq2jVMLa
	IRpZWyei15T1mSwBlWUzq9uPKYoUJ7AyAUVZgrU=
X-Google-Smtp-Source: AGHT+IEZLUoODlS18LR3E5TZABfcLYN9e2dYTOT7PkRYs6DJ9c7tjALyrdklalUGjG95kLiDQ55D3nVe2MOnydP4v3w=
X-Received: by 2002:a17:906:3558:b0:9e4:651f:3b9a with SMTP id
 s24-20020a170906355800b009e4651f3b9amr9981180eja.12.1700077298948; Wed, 15
 Nov 2023 11:41:38 -0800 (PST)
MIME-Version: 1.0
References: <20231111184538.2371-1-brchuckz.ref@aol.com> <20231111184538.2371-1-brchuckz@aol.com>
 <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com> <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
 <edefba96-0a17-4b3d-992c-6bfe9e62bf97@netscape.net>
In-Reply-To: <edefba96-0a17-4b3d-992c-6bfe9e62bf97@netscape.net>
From: Mario Marietto <marietto2008@gmail.com>
Date: Wed, 15 Nov 2023 20:41:02 +0100
Message-ID: <CA+1FSih45=vtpa+bfYGDFEXd6u=+V8wLsBoo8=2rmj7V0Lj_Ow@mail.gmail.com>
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Robin Murphy <robin.murphy@arm.com>, 
	Chuck Zmudzinski <brchuckz@aol.com>, linux-arm-kernel@lists.infradead.org, 
	Russell King <linux@armlinux.org.uk>, Juergen Gross <jgross@suse.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, linux-kernel@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Marek Szyprowski <m.szyprowski@samsung.com>, 
	Andrew Morton <akpm@linux-foundation.org>, Mathieu Poirier <mathieu.poirier@linaro.org>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, 
	"Matthew Wilcox (Oracle)" <willy@infradead.org>, Linus Walleij <linus.walleij@linaro.org>, 
	Jason Gunthorpe <jgg@ziepe.ca>, Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>
Content-Type: multipart/alternative; boundary="0000000000007e9f7e060a361726"

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

---> So I plan to do some tests and see what DMA ops the other devices use
if swiotlb-xen is disabled and also what DMA ops the other devices use when
Linux runs on the Chromebook on bare metal without Xen. If these tests show
the problem can be fixed by disabling swiotlb-xen with a Kconfig  or
command line option, I will propose v2 to implement that as a solution.

and this could bring you to the next level of our project. Try to install
xen on different devices. At least it is my next project. I've already
bought two arm64 phones where xen can be installed because there is a hack
to overcome the bootloader / hypervisor protection mechanism. For sure I
hope that you also want to buy them to work on this together. And don't
worry about how much money they will cost you. I've bought them used and
refurbished. Or you could buy only one,that I suggest could be the SM-A600G
(Samsung Galaxy A6) with Exynos7870. Please start looking for it at a good
price.

On Wed, Nov 15, 2023 at 6:57=E2=80=AFPM Chuck Zmudzinski <brchuckz@netscape=
.net>
wrote:

> On 11/14/2023 5:20 PM, Stefano Stabellini wrote:
> > On Tue, 14 Nov 2023, Robin Murphy wrote:
> >> On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
> >> > Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error whe=
n
> >> > attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook Sn=
ow
> >> > (and probably on other devices that use the Exynos mixer):
> >> >
> >> > [drm] Exynos DRM: using 14400000.fimd device for DMA mapping
> operations
> >> > exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
> >> > exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR*
> Device
> >> >                               14450000.mixer lacks support for IOMMU
> >> > exynos-drm exynos-drm: failed to bind 14450000.mixer (ops
> 0xc0d97554): -22
> >> > exynos-drm exynos-drm: adev bind failed: -22
> >> > exynos-dp: probe of 145b0000.dp-controller failed with error -22
> >> >
> >> > Linux normally uses xen_swiotlb_dma_ops for DMA for all devices when
> >> > xen_swiotlb is detected even when Xen exposes an IOMMU to Linux.
> Enabling
> >> > the new config option allows devices such as the Exynos mixer to use
> the
> >> > IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the erro=
r.
> >> >
> >> > The new config option is not set by default because it is likely som=
e
> >> > devices that use IOMMU for DMA on Xen will cause DMA errors and memo=
ry
> >> > corruption when Xen PV block and network drivers are in use on the
> system.
> >> >
> >> > Link:
> >> >
> https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@ne=
tscape.net/
> >> >
> >> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> >> > ---
> >> > The reported error with the Exynos mixer is not fixed by default by
> adding
> >> > a second patch to select the new option in the Kconfig definition fo=
r
> the
> >> > Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it =
is
> >> > not certain setting the config option is suitable for all cases. So
> it is
> >> > necessary to explicitly select the new config option during the conf=
ig
> >> > stage of the Linux kernel build to fix the reported error or similar
> >> > errors that have the same cause of lack of support for IOMMU on Xen.
> This
> >> > is necessary to avoid any regressions that might be caused by
> enabling the
> >> > new option by default for the Exynos mixer.
> >> >   arch/arm/mm/dma-mapping.c |  6 ++++++
> >> >   drivers/xen/Kconfig       | 16 ++++++++++++++++
> >> >   2 files changed, 22 insertions(+)
> >> >
> >> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> >> > index 5409225b4abc..ca04fdf01be3 100644
> >> > --- a/arch/arm/mm/dma-mapping.c
> >> > +++ b/arch/arm/mm/dma-mapping.c
> >> > @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev, u=
64
> >> > dma_base, u64 size,
> >> >    if (iommu)
> >> >            arm_setup_iommu_dma_ops(dev, dma_base, size, iommu,
> coherent);
> >> >   +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
> >>
> >> FWIW I don't think this really needs a config option - if Xen *has*
> made an
> >> IOMMU available, then there isn't really much reason not to use it, an=
d
> if for
> >> some reason someone really didn't want to then they could simply
> disable the
> >> IOMMU driver anyway.
> >
> > The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen
> > doesn't recognize the Exynos IOMMU (it is not one of the IOMMUs Xen has
> > a driver for) so it assigns the IOMMU to Dom0. It doesn't happen on
> > purpose, it happens by accident. Certain things are going to break,
> > specifically I am fairly certain PV drivers are going to break.
> >
> > If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide i=
t
> > from Dom0. (Today Xen doesn't have a list of IOMMUs Xen recognizes but
> > doesn't have a driver for.)
> >
> > I think it is OK for Chuck and others to play around with this
> > configuration but I wouldn't add a new kconfig option to Linux to
> > support it.
> >
> > If we do want a kconfig option, I would add a kconfig option or Linux
> > command line option to enable/disable swiotlb-xen. Basically a way to
> > force-enable or force-disable xen_swiotlb_detect(). That could be
> > generally useful for debugging and would also solve the problem here as
> > it could be used to force-disable swiotlb-xen. I would imagine that the
> > end result is the same: the default ops (iommu_ops) are used.
>
> I will try this. It isn't exactly what I have tested until now because
> in all my tests so far all the DMA capable devices on the Chromebook use
> swioltlb-xen except for the two devices that need to use the Exynos IOMMU
> to fix the error with the Exynos mixer.
>
> >
> >
> >
> >> > +  if (dev->dma_ops =3D=3D &iommu_ops) {
> >> > +          dev->archdata.dma_ops_setup =3D true;
> >>
> >> The existing assignment is effectively unconditional by this point
> anyway, so
> >> could probably just be moved earlier to save duplicating it (or perhap=
s
> just
> >> make the xen_setup_dma_ops() call conditional instead to save the earl=
y
> return
> >> as well).
> >>
> >> However, are the IOMMU DMA ops really compatible with Xen? The comment=
s
> about
> >> hypercalls and foreign memory in xen_arch_need_swiotlb() leave me
> concerned
> >> that assuming non-coherent DMA to any old Dom0 page is OK might not
> actually
> >> work in general :/
> >
> > Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the
> > IOMMU while also it exposes a virtual IOMMU to guests.) In those cases
> > the iommu_ops should be compatible with Xen.
> >
> > swiotlb-xen is useful in cases where there is no IOMMU on the platform
> > (or the IOMMU doesn't cover all DMA-capable devices) and Dom0 is 1:1
> > mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0 i=
s
> > not 1:1 mapped swiotlb-xen doesn't work. If an IOMMU is present and
> > covers all DMA-capable devices, then swiotlb-xen is superfluous.
>
> It seems that swiotlb-xen works on this Chromebook since all but two
> of the DMA capable devices use it when configured with the Kconfig option
> added here and it seems to work fine so I presume Dom0 is 1:1 mapped as
> expected. It is possible that on this device, the IOMMU is only covering
> the two devices that need to use the Exynos IOMMU in the tests I have don=
e.
> There are many other DMA capable devices that use swiotlb-xen DMA ops
> on Xen, but I have not checked what DMA ops the other devices use when
> Linux runs on the Chromebook on bare metal without Xen.
>
> So I plan to do some tests and see what DMA ops the other devices use if
> swiotlb-xen is disabled and also what DMA ops the other devices use when
> Linux runs on the Chromebook on bare metal without Xen. If these tests
> show the problem can be fixed by disabling swiotlb-xen with a Kconfig  or
> command line option, I will propose v2 to implement that as a solution.
>
> > This last case is the interesting case for virtual IOMMU and Linux usag=
e
> of
> > iommu_ops.
>


--=20
Mario.

--0000000000007e9f7e060a361726
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>---&gt; So I plan to do some tests and see what DMA o=
ps the other devices use if swiotlb-xen is disabled and also what DMA ops t=
he other devices use when
Linux runs on the Chromebook on bare metal without Xen. If these tests show=
 the problem can be fixed by disabling swiotlb-xen with a Kconfig=C2=A0 or
command line option, I will propose v2 to implement that as a solution.</di=
v><div><br></div><div>and this could bring you to the next level of our pro=
ject. Try to install xen on different devices. At least it is my next proje=
ct. I&#39;ve already bought two arm64 phones where xen can be installed bec=
ause there is a hack to overcome the bootloader / hypervisor protection mec=
hanism. For sure I hope that you also want to buy them to work on this toge=
ther. And don&#39;t worry about how much money they will cost you. I&#39;ve=
 bought them used and refurbished. Or you could buy only one,that I suggest=
 could be the SM-A600G (Samsung Galaxy A6) with Exynos7870. Please start lo=
oking for it at a good price.=C2=A0 </div></div><br><div class=3D"gmail_quo=
te"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 15, 2023 at 6:57=E2=
=80=AFPM Chuck Zmudzinski &lt;<a href=3D"mailto:brchuckz@netscape.net">brch=
uckz@netscape.net</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);p=
adding-left:1ex">On 11/14/2023 5:20 PM, Stefano Stabellini wrote:<br>
&gt; On Tue, 14 Nov 2023, Robin Murphy wrote:<br>
&gt;&gt; On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:<br>
&gt;&gt; &gt; Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this er=
ror when<br>
&gt;&gt; &gt; attaching the Exynos mixer in Linux dom0 on Xen on the Chrome=
book Snow<br>
&gt;&gt; &gt; (and probably on other devices that use the Exynos mixer):<br=
>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; [drm] Exynos DRM: using 14400000.fimd device for DMA mapping =
operations<br>
&gt;&gt; &gt; exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)<b=
r>
&gt;&gt; &gt; exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *E=
RROR* Device<br>
&gt;&gt; &gt;=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=A014450000.mixer lacks suppo=
rt for IOMMU<br>
&gt;&gt; &gt; exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc=
0d97554): -22<br>
&gt;&gt; &gt; exynos-drm exynos-drm: adev bind failed: -22<br>
&gt;&gt; &gt; exynos-dp: probe of 145b0000.dp-controller failed with error =
-22<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; Linux normally uses xen_swiotlb_dma_ops for DMA for all devic=
es when<br>
&gt;&gt; &gt; xen_swiotlb is detected even when Xen exposes an IOMMU to Lin=
ux. Enabling<br>
&gt;&gt; &gt; the new config option allows devices such as the Exynos mixer=
 to use the<br>
&gt;&gt; &gt; IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes t=
he error.<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; The new config option is not set by default because it is lik=
ely some<br>
&gt;&gt; &gt; devices that use IOMMU for DMA on Xen will cause DMA errors a=
nd memory<br>
&gt;&gt; &gt; corruption when Xen PV block and network drivers are in use o=
n the system.<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; Link:<br>
&gt;&gt; &gt; <a href=3D"https://lore.kernel.org/xen-devel/acfab1c5-eed1-49=
30-8c70-8681e256c820@netscape.net/" rel=3D"noreferrer" target=3D"_blank">ht=
tps://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netsca=
pe.net/</a><br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; Signed-off-by: Chuck Zmudzinski &lt;<a href=3D"mailto:brchuck=
z@aol.com" target=3D"_blank">brchuckz@aol.com</a>&gt;<br>
&gt;&gt; &gt; ---<br>
&gt;&gt; &gt; The reported error with the Exynos mixer is not fixed by defa=
ult by adding<br>
&gt;&gt; &gt; a second patch to select the new option in the Kconfig defini=
tion for the<br>
&gt;&gt; &gt; Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled beca=
use it is<br>
&gt;&gt; &gt; not certain setting the config option is suitable for all cas=
es. So it is<br>
&gt;&gt; &gt; necessary to explicitly select the new config option during t=
he config<br>
&gt;&gt; &gt; stage of the Linux kernel build to fix the reported error or =
similar<br>
&gt;&gt; &gt; errors that have the same cause of lack of support for IOMMU =
on Xen. This<br>
&gt;&gt; &gt; is necessary to avoid any regressions that might be caused by=
 enabling the<br>
&gt;&gt; &gt; new option by default for the Exynos mixer.<br>
&gt;&gt; &gt;=C2=A0 =C2=A0arch/arm/mm/dma-mapping.c |=C2=A0 6 ++++++<br>
&gt;&gt; &gt;=C2=A0 =C2=A0drivers/xen/Kconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0| 1=
6 ++++++++++++++++<br>
&gt;&gt; &gt;=C2=A0 =C2=A02 files changed, 22 insertions(+)<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapp=
ing.c<br>
&gt;&gt; &gt; index 5409225b4abc..ca04fdf01be3 100644<br>
&gt;&gt; &gt; --- a/arch/arm/mm/dma-mapping.c<br>
&gt;&gt; &gt; +++ b/arch/arm/mm/dma-mapping.c<br>
&gt;&gt; &gt; @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device =
*dev, u64<br>
&gt;&gt; &gt; dma_base, u64 size,<br>
&gt;&gt; &gt;=C2=A0 =C2=A0 if (iommu)<br>
&gt;&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 arm_setup_iommu_dma_=
ops(dev, dma_base, size, iommu, coherent);<br>
&gt;&gt; &gt;=C2=A0 =C2=A0+#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN<br>
&gt;&gt; <br>
&gt;&gt; FWIW I don&#39;t think this really needs a config option - if Xen =
*has* made an<br>
&gt;&gt; IOMMU available, then there isn&#39;t really much reason not to us=
e it, and if for<br>
&gt;&gt; some reason someone really didn&#39;t want to then they could simp=
ly disable the<br>
&gt;&gt; IOMMU driver anyway.<br>
&gt; <br>
&gt; The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen<b=
r>
&gt; doesn&#39;t recognize the Exynos IOMMU (it is not one of the IOMMUs Xe=
n has<br>
&gt; a driver for) so it assigns the IOMMU to Dom0. It doesn&#39;t happen o=
n<br>
&gt; purpose, it happens by accident. Certain things are going to break,<br=
>
&gt; specifically I am fairly certain PV drivers are going to break.<br>
&gt; <br>
&gt; If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide =
it<br>
&gt; from Dom0. (Today Xen doesn&#39;t have a list of IOMMUs Xen recognizes=
 but<br>
&gt; doesn&#39;t have a driver for.)<br>
&gt; <br>
&gt; I think it is OK for Chuck and others to play around with this<br>
&gt; configuration but I wouldn&#39;t add a new kconfig option to Linux to<=
br>
&gt; support it.<br>
&gt; <br>
&gt; If we do want a kconfig option, I would add a kconfig option or Linux<=
br>
&gt; command line option to enable/disable swiotlb-xen. Basically a way to<=
br>
&gt; force-enable or force-disable xen_swiotlb_detect(). That could be<br>
&gt; generally useful for debugging and would also solve the problem here a=
s<br>
&gt; it could be used to force-disable swiotlb-xen. I would imagine that th=
e<br>
&gt; end result is the same: the default ops (iommu_ops) are used.<br>
<br>
I will try this. It isn&#39;t exactly what I have tested until now because<=
br>
in all my tests so far all the DMA capable devices on the Chromebook use<br=
>
swioltlb-xen except for the two devices that need to use the Exynos IOMMU<b=
r>
to fix the error with the Exynos mixer.<br>
<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt;&gt; &gt; +=C2=A0 if (dev-&gt;dma_ops =3D=3D &amp;iommu_ops) {<br>
&gt;&gt; &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 dev-&gt;archdata.dma_ops_=
setup =3D true;<br>
&gt;&gt; <br>
&gt;&gt; The existing assignment is effectively unconditional by this point=
 anyway, so<br>
&gt;&gt; could probably just be moved earlier to save duplicating it (or pe=
rhaps just<br>
&gt;&gt; make the xen_setup_dma_ops() call conditional instead to save the =
early return<br>
&gt;&gt; as well).<br>
&gt;&gt; <br>
&gt;&gt; However, are the IOMMU DMA ops really compatible with Xen? The com=
ments about<br>
&gt;&gt; hypercalls and foreign memory in xen_arch_need_swiotlb() leave me =
concerned<br>
&gt;&gt; that assuming non-coherent DMA to any old Dom0 page is OK might no=
t actually<br>
&gt;&gt; work in general :/<br>
&gt; <br>
&gt; Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the<b=
r>
&gt; IOMMU while also it exposes a virtual IOMMU to guests.) In those cases=
<br>
&gt; the iommu_ops should be compatible with Xen.<br>
&gt; <br>
&gt; swiotlb-xen is useful in cases where there is no IOMMU on the platform=
<br>
&gt; (or the IOMMU doesn&#39;t cover all DMA-capable devices) and Dom0 is 1=
:1<br>
&gt; mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0 =
is<br>
&gt; not 1:1 mapped swiotlb-xen doesn&#39;t work. If an IOMMU is present an=
d<br>
&gt; covers all DMA-capable devices, then swiotlb-xen is superfluous.<br>
<br>
It seems that swiotlb-xen works on this Chromebook since all but two<br>
of the DMA capable devices use it when configured with the Kconfig option<b=
r>
added here and it seems to work fine so I presume Dom0 is 1:1 mapped as<br>
expected. It is possible that on this device, the IOMMU is only covering<br=
>
the two devices that need to use the Exynos IOMMU in the tests I have done.=
<br>
There are many other DMA capable devices that use swiotlb-xen DMA ops<br>
on Xen, but I have not checked what DMA ops the other devices use when<br>
Linux runs on the Chromebook on bare metal without Xen.<br>
<br>
So I plan to do some tests and see what DMA ops the other devices use if<br=
>
swiotlb-xen is disabled and also what DMA ops the other devices use when<br=
>
Linux runs on the Chromebook on bare metal without Xen. If these tests<br>
show the problem can be fixed by disabling swiotlb-xen with a Kconfig=C2=A0=
 or<br>
command line option, I will propose v2 to implement that as a solution.<br>
<br>
&gt; This last case is the interesting case for virtual IOMMU and Linux usa=
ge of<br>
&gt; iommu_ops.<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--0000000000007e9f7e060a361726--


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 19:56:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 19:56:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633847.988964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Lzk-0005r2-8r; Wed, 15 Nov 2023 19:56:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633847.988964; Wed, 15 Nov 2023 19:56: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 1r3Lzk-0005qv-5Q; Wed, 15 Nov 2023 19:56:16 +0000
Received: by outflank-mailman (input) for mailman id 633847;
 Wed, 15 Nov 2023 19: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 1r3Lzi-0005lY-Qv
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 19: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 1r3Lzi-0000sx-IH; Wed, 15 Nov 2023 19:56:14 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3Lzi-0002yu-DJ; Wed, 15 Nov 2023 19:56: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=yfz8vIkE7Z1Oktepvg3JcHHadvLDRr1sOHqQp8KgY/0=; b=KJM+VMADvFKhyEgsSbjED3wh2L
	NR1QiOjtIR6t2V+WyUYhCAilYCA6ptmIXowdOQrq+Ck+O9+jU9OXZtUMpGx8t87CNTYy5FMQKc5gH
	6LelrvENZFkFmOAMMsuOobzEYPbNgvPY6sKcCxYmCkX3NrfPpMiKG1Ln789viesDppqo=;
Message-ID: <d8c9717e-d408-475f-8c58-a3578383675f@xen.org>
Date: Wed, 15 Nov 2023 19:56:12 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-GB
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <9e0760f2-6ffd-4010-aabf-ff4f643f288c@xen.org>
 <1e5b414b-c730-4fbf-bc51-c292e396f6c5@epam.com>
 <38ac9e15-3618-4178-b4f6-00a16eb53578@xen.org>
 <6b82639b-a2cb-43f5-9968-590aec3f086b@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <6b82639b-a2cb-43f5-9968-590aec3f086b@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksandr,

On 15/11/2023 19:38, Oleksandr Tyshchenko wrote:
>> The ioreq.c code was always meant to be generic and is always for every
>> emulated MMIO. So you want to limit any change in it. Checking the MMIO
>> region belongs to the hostbridge and doing the translation is IMHO not a
>> good idea to do in ioreq.c. Instead you want to do the conversion from
>> MMIO to (sbdf, offset) in virtio_pci_mmio{read, write}(). So the job of
>> ioreq.c is to simply find the correct Device Model and forward it.
> 
> 
> 
> Are you about virtio_pci_ioreq_server_get_addr() called from
> arch_ioreq_server_get_type_addr()? If so and if I am not mistaken the
> x86 also check what PCI device is targeted there.
Well yes. We can do better to avoid extra complexity for each MMIO.

Note that the x86 version is somewhat more light-weight.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 20:30:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 20:30:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633852.988974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3MWj-0004si-PZ; Wed, 15 Nov 2023 20:30:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633852.988974; Wed, 15 Nov 2023 20: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 1r3MWj-0004sb-Mh; Wed, 15 Nov 2023 20:30:21 +0000
Received: by outflank-mailman (input) for mailman id 633852;
 Wed, 15 Nov 2023 20:30: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 1r3MWi-0004sR-3D; Wed, 15 Nov 2023 20:30: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 1r3MWi-0001ne-0V; Wed, 15 Nov 2023 20:30: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 1r3MWh-00056t-LB; Wed, 15 Nov 2023 20:30:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3MWh-0007NC-KS; Wed, 15 Nov 2023 20:30: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=czbVh8OdVFvB8FVlrqevJXJu7Wskq8eQQt3OzBVsmgU=; b=IH71lgc+vlGyufDAmgglh3ZaCf
	k2KU4tg2UEWZ12XjMduAU6ywc5kK2PeXBtcdYUTOYHk4MU3yo3D0JvaDyoOs0iHX8lvIVo9DOkom/
	MkOK1HsRnZUihHobo0aSO874WWumczNYgPdsX582Ktuzf8XpyINmDWRa1y96GaY6XMYc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183760-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 183760: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=28f44b603fd86c233726bdc2a11b6325f102471a
X-Osstest-Versions-That:
    xen=0527bab0901b800e3f1be2e7836c5346b6e08809
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 15 Nov 2023 20:30:19 +0000

flight 183760 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/183760/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183753
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183753
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183753
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183753
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183753
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183753
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183753
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183753
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183753
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183753
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183753
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183753
 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-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-amd64-i386-libvirt      15 migrate-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-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-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-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-arndale  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 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-libvirt     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-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-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:
 xen                  28f44b603fd86c233726bdc2a11b6325f102471a
baseline version:
 xen                  0527bab0901b800e3f1be2e7836c5346b6e08809

Last test of basis   183753  2023-11-14 13:07:02 Z    1 days
Testing same since   183760  2023-11-15 04:51:48 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                                          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-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-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
   0527bab090..28f44b603f  28f44b603fd86c233726bdc2a11b6325f102471a -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 20:45:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 20:45:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633858.988988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3MlI-0007Jh-49; Wed, 15 Nov 2023 20:45:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633858.988988; Wed, 15 Nov 2023 20:45: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 1r3MlH-0007Ja-Vx; Wed, 15 Nov 2023 20:45:23 +0000
Received: by outflank-mailman (input) for mailman id 633858;
 Wed, 15 Nov 2023 20:45: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=vbX4=G4=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r3MlG-0007J3-0X
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 20:45:22 +0000
Received: from mail-qv1-xf2f.google.com (mail-qv1-xf2f.google.com
 [2607:f8b0:4864:20::f2f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e3f0242d-83f7-11ee-98db-6d05b1d4d9a1;
 Wed, 15 Nov 2023 21:45:20 +0100 (CET)
Received: by mail-qv1-xf2f.google.com with SMTP id
 6a1803df08f44-66d76904928so433986d6.2
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 12:45:20 -0800 (PST)
Received: from [172.20.0.103] ([12.191.197.195])
 by smtp.gmail.com with ESMTPSA id
 ki10-20020a05622a770a00b00418189b689csm3459337qtb.10.2023.11.15.12.45.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 15 Nov 2023 12:45:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3f0242d-83f7-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700081119; x=1700685919; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=bY+5CSehvVBGtwgNuboXUV3/1/gJ/dZP7ytCrDrqtfQ=;
        b=jBN3pB8mwAS0tI6uYITuQpwx3FqehopnWSjqkysecuW0wNgFXlRjEOQnPM14NC/Ygc
         lQ4NR5FuJem/2Gsusxnr/laQulzns91jjSOPSKi1eEnwcMnB1OUZQc1czQpeFldNdcEW
         u1T9lEK0D2IlGUK3rlXnGCM6QkSOfCECl3pfw3RS6ZMBi5J0NFxSG0fH28imwOwYnxU4
         qxKXdFtQ9e55BSGPYeSoVS5+5oyYMixZxr0Jf1hvrWOmasbJV+hS7PB1GvRkMGLuFi+J
         m59LsEgYq0a9H9s7SZ9oYFx6nA7LdQPI4GaHiDTEO29H1zJbCWtoxRIz/X/uJ41ZpLCY
         4S5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700081119; x=1700685919;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bY+5CSehvVBGtwgNuboXUV3/1/gJ/dZP7ytCrDrqtfQ=;
        b=KBAmp0S+bYaSNAJPBr1ZlUsfUCBCgtlAXwSkI5NyEI2j/owwanY4esBhKdo95DipvA
         FXo2zHYIcA2N3spnSj+YTXR65T2COSDMnhA5YTUgA1n1PFmBWz9Qpc0yMXVBtkKPU/1Z
         dLMwos5/AYbhpVoO/YFOkteZJdSvIHiVPwPuVgITOokro14wpccYolEfjomBSbBZmXRw
         heTRA8ymGkn4ipzlkw8QLgMxtK//o+CAuwA6gHLF7evmHa4/QAr/iGuRFaJtipxEgUny
         lEPo7DIcWPcLxVwKWAvwJmmw3WaxxL/614gXQgMimMwDAwCXffrwFbDhOHlN3wD/S0fg
         mUHg==
X-Gm-Message-State: AOJu0YwB3oefMZhNu79/01yku8u3VBjq/aG+18iocxFOcRuc1aZVPwwn
	qlYjGB1KLmOXSpD9FVMziF8=
X-Google-Smtp-Source: AGHT+IFgPcfE9Xh25SpD1WU5BPRKZgmYrNpCNYZXXrb4uiJ+zbf5znm3WLPnO37uQtF4D2nqSDLRFw==
X-Received: by 2002:a05:6214:1306:b0:66f:ba6e:73e8 with SMTP id pn6-20020a056214130600b0066fba6e73e8mr9414369qvb.41.1700081119356;
        Wed, 15 Nov 2023 12:45:19 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <1388a0c0-cfc2-4957-9bce-08499e9ac84d@xen.org>
Date: Wed, 15 Nov 2023 15:45:17 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 3/3] hw/xen: clean up xen_block_find_free_vdev() to avoid
 Coverity false positive
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>, Jason Wang <jasowang@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>, xen-devel@lists.xenproject.org,
 qemu-block@nongnu.org
References: <20231115172723.1161679-1-dwmw2@infradead.org>
 <20231115172723.1161679-4-dwmw2@infradead.org>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <20231115172723.1161679-4-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15/11/2023 12:24, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> Coverity couldn't see that nr_existing was always going to be zero when
> qemu_xen_xs_directory() returned NULL in the ENOENT case (CID 1523906).
> 
> Perhaps more to the point, neither could Peter at first glance. Improve
> the code to hopefully make it clearer to Coverity and human reviewers
> alike.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/block/xen-block.c | 24 +++++++++++++++++++++---
>   1 file changed, 21 insertions(+), 3 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Wed Nov 15 23:29:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 23:29:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633863.988998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3PJb-0000Yc-FO; Wed, 15 Nov 2023 23:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633863.988998; Wed, 15 Nov 2023 23:28: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 1r3PJb-0000YU-CD; Wed, 15 Nov 2023 23:28:59 +0000
Received: by outflank-mailman (input) for mailman id 633863;
 Wed, 15 Nov 2023 23:28: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=9fV7=G4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3PJa-0000YO-9j
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 23:28:58 +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 a3c87d8f-840e-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 00:28:11 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 4FE1EB81C77;
 Wed, 15 Nov 2023 23:28:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4EFB3C433C9;
 Wed, 15 Nov 2023 23:28: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: a3c87d8f-840e-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700090889;
	bh=M/jeR9yb+bQoz4KRTBdahbwgkTUt+qbYI2QO6XsFDOc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kpOfgfuTWQ0V0rDnqOjmxinwdY9Cp2ZHFsUZ+Z96rnfZG8JkTyuycKCiMevhRmJHb
	 D4Q0ZnfCnS873jEix2iYAMzio925SRJqF6GsdqtZqlfgNwZLFaEuphstcQG5enGMzY
	 FAIx19+Kb+bPAkjiw7oP6gn88NhPjmpUIOlKab3Po1LR9mDG04dcP4+CNg26WuEBtY
	 HiFhV3e4VWVfWpLJmY+gSmRQ4CLrP6V4Sv6TfSduZ6zBpTDx8Bps5tbt6IwMKM6YnS
	 v5FzpY3ncqiccjeFU8hpzL5esMycGzAZoN5J3dakQA3XP4bT+tKdRaJBpuubQakAyq
	 J0tZYUkV4r7Mw==
Date: Wed, 15 Nov 2023 15:28:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
cc: Julien Grall <julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, vikram.garhwal@amd.com, 
    stewart.hildebrand@amd.com
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
In-Reply-To: <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
Message-ID: <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com> <20231115112611.3865905-3-Sergiy_Kibrik@epam.com> <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org> <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

+ Stewart, Vikram

On Wed, 15 Nov 2023, Oleksandr Tyshchenko wrote:
> On 15.11.23 14:33, Julien Grall wrote:
> > Thanks for adding support for virtio-pci in Xen. I have some questions.
> > 
> > On 15/11/2023 11:26, Sergiy Kibrik wrote:
> >> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> >>
> >> In order to enable more use-cases such as having multiple
> >> device-models (Qemu) running in different backend domains which provide
> >> virtio-pci devices for the same guest, we allocate and expose one
> >> PCI host bridge for every virtio backend domain for that guest.
> > 
> > OOI, why do you need to expose one PCI host bridge for every stubdomain?
> > 
> > In fact looking at the next patch, it seems you are handling some of the 
> > hostbridge request in Xen. This is adds a bit more confusion.
> > 
> > I was expecting the virtual PCI device would be in the vPCI and each 
> > Device emulator would advertise which BDF they are covering.
> 
> 
> This patch series only covers use-cases where the device emulator 
> handles the *entire* PCI Host bridge and PCI (virtio-pci) devices behind 
> it (i.e. Qemu). Also this patch series doesn't touch vPCI/PCI 
> pass-through resources, handling, accounting, nothing. From the 
> hypervisor we only need a help to intercept the config space accesses 
> happen in a range [GUEST_VIRTIO_PCI_ECAM_BASE ... 
> GUEST_VIRTIO_PCI_ECAM_BASE + GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE] and 
> forward them to the linked device emulator (if any), that's all.
> 
> It is not possible (with current series) to run device emulators what
> emulate only separate PCI (virtio-pci) devices. For it to be possible, I 
> think, much more changes are required than current patch series does. 
> There at least should be special PCI Host bridge emulation in Xen (or 
> reuse vPCI) for the integration. Also Xen should be in charge of forming 
> resulting PCI interrupt based on each PCI device level signaling (if we 
> use legacy interrupts), some kind of x86's XEN_DMOP_set_pci_intx_level, 
> etc. Please note, I am not saying this is not possible in general, 
> likely it is possible, but initial patch series doesn't cover these 
> use-cases)
>
> We expose one PCI host bridge per virtio backend domain. This is a 
> separate PCI host bridge to combine all virtio-pci devices running in 
> the same backend domain (in the same device emulator currently).
> The examples:
> - if only one domain runs Qemu which servers virtio-blk, virtio-net, 
> virtio-console devices for DomU - only single PCI Host bridge will be 
> exposed for DomU
> - if we add another domain to run Qemu to serve additionally virtio-gpu, 
> virtio-input and virtio-snd for the *same* DomU - we expose second PCI 
> Host bridge for DomU
> 
> I am afraid, we cannot end up exposing only single PCI Host bridge with 
> current model (if we use device emulators running in different domains 
> that handles the *entire* PCI Host bridges), this won't work.
 

We were discussing the topic of vPCI and Virtio PCI just this morning
with Stewart and Vikram. We also intend to make them work well together
in the next couple of months (great timing!!)

However, our thinking is to go with the other approach Julien
suggested: a single PCI Root Complex emulated in Xen by vPCI. QEMU would
register individual PCI devices against it.

Vikram, Stewart, please comment. Our understanding is that it should be
possible to make QEMU virtio-pci work with vPCI with relatively minor
efforts and AMD volunteers to do the work in the next couple of months
on the vPCI side.


Although it should be possible to make both approaches work at the same
time, given that it would seem that EPAM and AMD have very similar
requirements, I suggest we work together and collaborate on a single
approach going forward that works best for everyone.


Let me start by saying that if we can get away with it, I think that a
single PCI Root Complex in Xen would be best because it requires less
complexity. Why emulate 2/3 PCI Root Complexes if we can emulate only
one?

Stewart, you are deep into vPCI, what's your thinking?


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 23:30:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 23:30:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633866.989008 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3PLR-0001yz-TW; Wed, 15 Nov 2023 23:30:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633866.989008; Wed, 15 Nov 2023 23:30: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 1r3PLR-0001ys-Qe; Wed, 15 Nov 2023 23:30:53 +0000
Received: by outflank-mailman (input) for mailman id 633866;
 Wed, 15 Nov 2023 23:30: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=9fV7=G4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3PLR-0001ym-1K
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 23:30:53 +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 02b2e8a9-840f-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 00:30:50 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id A91006187E;
 Wed, 15 Nov 2023 23:30:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 18CD4C433CA;
 Wed, 15 Nov 2023 23:30: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: 02b2e8a9-840f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700091049;
	bh=YYlHbc3CxA8d1oFkdy/g6rt3DSzIM+c1uTeMAX68Ux8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Ooer/TlxsG/u/Uu6lWjFymmzLY9Fv+t5IAEObgRJSbaTIlT2a4T69RBCpvwA3x5bv
	 6Zqrzwn2p15ZnRe7L1eNLiW8262HORjFl1VbGCbpN9hnYuNOwUEQ7H4AGFJZN5IJYY
	 ul65BOahuWtBb98VAby5na+x7ka2I1qTMbkTXvbSK8k0YZjwvtJVoU9YXFQ2/tOQYV
	 wcXYSKEV5bQrE9Db2nIYUVt5l6Q3c0kIjf05XayOQxOX8zWfmLLUl2qxmM6GrK8IsW
	 Xa7a28MSheSyk9UGYK66peS8HwdLFX3401tmW1JaSiZRqltNvrM2vlj5Zh4tdw7NTg
	 0HGaDC69vxpmA==
Date: Wed, 15 Nov 2023 15:30:46 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Sergiy Kibrik <Sergiy_Kibrik@epam.com>, xen-devel@lists.xenproject.org, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, vikram.garhwal@amd.com, 
    stewart.hildebrand@amd.com
Subject: Re: [RFC PATCH 5/6] xen/arm: Intercept vPCI config accesses and
 forward them to emulator
In-Reply-To: <d290546d-ff44-40d8-aca1-e421bf045481@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311151528580.160649@ubuntu-linux-20-04-desktop>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com> <20231115112611.3865905-6-Sergiy_Kibrik@epam.com> <d290546d-ff44-40d8-aca1-e421bf045481@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 15 Nov 2023, Julien Grall wrote:
> Hi,
> 
> On 15/11/2023 11:26, Sergiy Kibrik wrote:
> > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > 
> > This is needed for supporting virtio-pci.
> > 
> > In case when the PCI Host bridge is emulated outside of Xen
> > (IOREQ server), we need some mechanism to intercept config space
> > accesses on Xen on Arm, and forward them to the emulator
> > (for example, virtio backend) via IOREQ request.
> > 
> > Unlike x86, on Arm these accesses are MMIO, there is no CFC/CF8 method
> > to detect which PCI device is targeted.
> > 
> > In order to not mix PCI passthrough with virtio-pci features we add
> > one more region to cover the total configuration space for all possible
> > host bridges which can serve virtio-pci devices for that guest.
> > We expose one PCI host bridge per virtio backend domain.
> I am a little confused. If you expose one PCI host bridge per virtio backend,
> then why can't the backend simply register the MMIO region and do the
> translation itself when it receives the read/write?
> 
> To me, it only makes sense for Xen to emulate the host bridge access if you
> plan to have one host bridge shared between multiple IOREQ domains or mix with
> PCI pasthrough.

+1

This is exactly what Stewart, Vikram and I were thinking


> From my perspective, I don't expect we would have that many virtio PCI
> devices. So imposing a host bridge per device emulator will mean extra
> resource in the guest as well (they need to keep track of all the hostbridge).

+1


> So in the longer run, I think we want to allow mixing PCI passthrough and
> virtio-PCI (or really any emulated PCI because nothing here is virtio
> specific).

+1


> For now, your approach would be OK to enable virtio PCI on Xen. But I don't
> think there are any changes necessary in Xen other than reserving some MMIO
> regions/IRQ.

I don't mean to slow down EPAM, but I think we can jump in and do the
necessary changes to vPCI for everyone's benefits and with a timeframe
that works for AMD, EPAM and the Xen community.


From xen-devel-bounces@lists.xenproject.org Wed Nov 15 23:49:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 15 Nov 2023 23:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633870.989018 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3PdJ-0004yi-Dh; Wed, 15 Nov 2023 23:49:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633870.989018; Wed, 15 Nov 2023 23: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 1r3PdJ-0004yb-AC; Wed, 15 Nov 2023 23:49:21 +0000
Received: by outflank-mailman (input) for mailman id 633870;
 Wed, 15 Nov 2023 23: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=9fV7=G4=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3PdH-0004yV-Jk
 for xen-devel@lists.xenproject.org; Wed, 15 Nov 2023 23:49:19 +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 954b6d80-8411-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 00:49:16 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id A2BD6CE131E;
 Wed, 15 Nov 2023 23:49:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E8EE3C433C7;
 Wed, 15 Nov 2023 23:49: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: 954b6d80-8411-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700092152;
	bh=EwY+XLOpkE2iiJva+JxxU03YHbr9v+MUXiHVqNy6Hr0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WxkpApe8/M7W+f/SHRuMDHZCHZjNxpTvcpKJYV1joODSmnGkSeBAA30g/n5+gUl1A
	 BLkotz2H3imNGyDll+3xfORKgbzAZWeEB1oDot9JaStpqKgyzpeC4tTbuu0iaA8fWJ
	 mf/d5MeEPNokAWCT/5d9FL8qIwcPfm/wvFi6y+HZ3Sqe03SCuaLwBUd7LZk2L6qKv6
	 h6012+p5E4g24al1YyVw1150YyK2jzb3RAZxLChxIDX9WgUprcYg1fUJLbY3bG/6NH
	 3mNmiR3j6nin0JTJh0pwbzdO7iC8r58QX+BffszDiQog52LrKRD3cU46CmyBIyoeRP
	 WC7Kar3Um9iFg==
Date: Wed, 15 Nov 2023 15:49:10 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Chuck Zmudzinski <brchuckz@netscape.net>
cc: Mario Marietto <marietto2008@gmail.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
In-Reply-To: <0aeaf3a8-096b-4ae2-be40-6d39914b28ea@netscape.net>
Message-ID: <alpine.DEB.2.22.394.2311151542030.160649@ubuntu-linux-20-04-desktop>
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com> <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop> <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com> <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijOYJneLxEfss2BoY0Q4vafa+gVdQeyOfy7A_bTAA6QLw@mail.gmail.com> <0aeaf3a8-096b-4ae2-be40-6d39914b28ea@netscape.net>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1445648000-1700092152=:160649"

  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-1445648000-1700092152=:160649
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 15 Nov 2023, Chuck Zmudzinski wrote:
> On 11/14/2023 6:43 PM, Mario Marietto wrote:
> > I hope that the informations below are correct :
> 
> I don't know that they are correct. I have not spent the necessary time to
> determine what the correct values for MEMORY_START and MEMORY_END are for
> the Chromebook we are using. I just presumed, probably incorrectly, that
> the entire 2 GB memory is safe, but obviously that is not the case with
> this Chromebook. Most likely, it requires a good understanding of the
> particular way booting is done on a Chromebook, which seems to be different
> from other devices.
> 
> I plan to eventually look into finding values for MEMORY_START and MEMORY_END
> sothe uboot-script-gen script computes usable values for loading Xen and dom0
> on this Chromebook in the script, but I might not get to that task immediately.
> I plan to look at it within the next week or so.

A couple of suggestions. I noticed that the addresses you chose have a
higher alignment compared to the one chosen by Imagebuilder.
Imagebuilder uses 2MB:

offset=$((2*1024*1024))

I would think that a 2MB alignment should be sufficient, but you can
increase the alignment chosen by Imagebuilder simply by changing
"offset" at the top of uboot-script-gen. You seem to be used a 240MB
offset:

offset=$((240*1024*1024))

The other suggestion is about MEMORY_START and MEMORY_END. Looking at
the addresses you picked by hand, the following you should give you very
similar results:

MEMORY_START=0x33000000
MEMORY_END=0x80000000


> > - the imagebuilder config file :
> > 
> > MEMORY_START="0x0"
> > MEMORY_END="0x80000000"
> > LOAD_CMD="ext2load mmc 1:3"
> > BOOT_CMD="bootm"
> > DEVICE_TREE="exynos5250-snow.dtb"
> > XEN="xen-4.17-armhf"
> > XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> > DOM0_KERNEL="zImage-6.6.0-xen-iommu-dma-on-xen"
> > DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> > UBOOT_SOURCE="xen.source"
> > UBOOT_SCRIPT="xen.scr"
> > 
> > xen.source : (that does not work)
> > 
> > mmc dev 1
> > ext2load mmc 1:3 0xE00000 zImage-6.6.0-xen-iommu-dma-on-xen
> > ext2load mmc 1:3 0x1800000 xen-4.17-armhf.ub
> > ext2load mmc 1:3 0x1A00000 exynos5250-snow.dtb
> > fdt addr 0x1A00000
> > fdt resize 1024
> > fdt set /chosen \#address-cells <0x2>
> > fdt set /chosen \#size-cells <0x2>
> > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> > fdt mknod /chosen dom0
> > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> > fdt set /chosen/dom0 reg <0x0 0xE00000 0x0 0x87C200 >
> > fdt set /chosen xen,dom0-bootargs "console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> > setenv fdt_high 0xffffffffffffffff
> > bootm 0x1800000 - 0x1A00000
> > 
> > xen.source : (created by chuck and that works)
> > 
> > mmc dev 1
> > ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
> > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> > ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
> > fdt addr 0x5ffec000
> > fdt resize 1024
> > fdt set /chosen \#address-cells <0x2>
> > fdt set /chosen \#size-cells <0x2>
> > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> > fdt mknod /chosen dom0
> > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
> > fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused --no-log"
> > bootm 0x51000000 - 0x5ffec000
> > 
> > all the values that you see in this conf. files have been calculated by chuck by hand,because the values generated by the imagebuilder are wrong. The only value that's well calculated by the imagebuilder is 0x87C200
> > 
> > - the size of all the binaries specified in the imagebuilder config file :
> > 
> > exynos5250-snow.dtb = 46.6 KiB (47,769 byte)
> > zImage-6.6.0-xen-iommu-dma-on-xen = 8.5 MiB (8,897,024 byte)
> > 
> > 
> > 
> > On Wed, Nov 15, 2023 at 12:17 AM Stefano Stabellini <sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
> > 
> >     Hi Mario,
> > 
> >     I think we misunderstood each other :-)
> > 
> >     MEMORY_START-MEMORY_END is not supposed to be computed: it is supposed
> >     to come from the memory node in device tree tree (/memory) of the
> >     platform. The idea is that you should not have to do any computations,
> >     but only reuse the same address range specified there.
> > 
> >     Similarly in regards to "please post the size of all the binaries",
> >     this is just for debugging, so that I can see if there are any bugs with
> >     uboot-script-gen. I cannot debug the script unless I figure out what the
> >     problem is and the only way I can do that is with the binary sizes and
> >     redoing all the steps by hand.
> > 
> >     The expected outcome is that once we resolve the problem you should be
> >     able to use uboot-script-gen without any additional computation needed.
> > 
> >     Of course using static values is also OK.
> > 
> > 
> >     On Wed, 15 Nov 2023, Mario Marietto wrote:
> >     > ---> uboot-script-gen assumes that the memory range specified by MEMORY_START-MEMORY_END is valid and correct.
> >     >
> >     > Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and these are stable values,they don't change. If you ask me to calculate
> >     > those values,it means that we need to compute these values. I imagine that to calculate these values is not easy.
> >     >
> >     > ---> To debug this kind of issues please post the size of all the binaries specified in the imagebuilder config file
> >     >
> >     > I imagine that I should also calculate those values. And again,I see a complication.
> >     >
> >     > I'm realizing that the method used by Chuck is easier because he uses stable values. In the end,there aren't any calculations to do and
> >     > since I'm looking for an easier method,not a more complicated one,I think that Chuck's method is good as is. 
> >     >
> >     > On Tue, Nov 14, 2023 at 11:51 PM Stefano Stabellini <sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
> >     >       Hi Mario,
> >     >
> >     >       It is difficult to know how to change uboot-script-gen if we don't know
> >     >       why it is currently going wrong.
> >     >
> >     >       uboot-script-gen assumes that the memory range specified by
> >     >       MEMORY_START-MEMORY_END is valid and correct.
> >     >
> >     >       So if you specified a valid and correct memory range in your config file
> >     >       (0x41e00000-0x60000000) why is it failing?
> >     >
> >     >       The only thing uboot-script-gen does is choosing aligned addresses
> >     >       within the MEMORY_START-MEMORY_END range. The addresses are supposed not
> >     >       to overlap (meaning the initrd will not overwrite part of the kernel
> >     >       when loaded). If the issue is a bug in uboot-script-gen, such as the
> >     >       generated addresses overlap or they are not aligned, then we can fix the
> >     >       alignment or overlap bug. To debug this kind of issues please post:
> >     >       - the imagebuilder config file
> >     >       - the generate boot.source script
> >     >       - the size of all the binaries specified in the imagebuilder config file
> >     >
> >     >       On the other hand if 0x41e00000-0x60000000 is not a safe memory range to
> >     >       use, then you need to specify a different memory range.
> >     >
> >     >       Cheers,
> >     >
> >     >       Stefano
> >     >
> >     >
> >     >
> >     >       On Mon, 13 Nov 2023, Mario Marietto wrote:
> >     >       > Hello.
> >     >       >
> >     >       > I'm trying to find an easier way to the problem that you can read here :
> >     >       >
> >     >       > https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest <https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest>
> >     >       >
> >     >       > where Chuck says :
> >     >       >
> >     >       >  6. Create the u-boot shell commands that will be used to boot Xen and dom0.
> >     >       >
> >     >       > Create a file in /home/user (or any other directory) named bootxen.source with these contents :
> >     >       >
> >     >       >
> >     >       > mmc dev 1 && mmc rescan 1
> >     >       > ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
> >     >       > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> >     >       > ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
> >     >       > fdt addr 0x5ffec000
> >     >       > fdt resize 1024
> >     >       > fdt set /chosen \#address-cells <0x2>
> >     >       > fdt set /chosen \#size-cells <0x2>
> >     >       > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native"
> >     >       > fdt mknod /chosen dom0
> >     >       > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> >     >       > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
> >     >       > fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> >     >       > bootm 0x51000000 - 0x5ffec000
> >     >       >
> >     >       > The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from the
> >     >       uboot-script-gen script
> >     >       > available from here :
> >     >       >
> >     >       >
> >     >       > https://gitlab.com/ViryaOS/imagebuilder <https://gitlab.com/ViryaOS/imagebuilder>
> >     >       >
> >     >       >
> >     >       > This is the interesting point :
> >     >       >
> >     >       >
> >     >       > Please note that most of the other values in the script generated by the ViryaOS uboot-script-gen do not work correctly with
> >     >       the Chromebook
> >     >       > Snow, but the script does correctly calculate the size of the dom0 Linux kernel image.
> >     >       >
> >     >       >
> >     >       > Some time ago Stefano suggested to put the values below for MEMORY_START and MEMORY_END inside the xen-config file :
> >     >       >
> >     >       >
> >     >       > nano xen-config file :
> >     >       >
> >     >       >
> >     >       > MEMORY_START="0x41e00000"
> >     >       > MEMORY_END="0x60000000"
> >     >       > LOAD_CMD="ext2load mmc 1:3"
> >     >       > BOOT_CMD="bootm"
> >     >       > DEVICE_TREE="exynos5250-snow.dtb"
> >     >       > XEN="xen-4.17-armhf"
> >     >       > XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=768M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> >     >       > DOM0_KERNEL="zImage-6.6.0-xen-dma-mapping"
> >     >       > DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> >     >       > UBOOT_SOURCE="xen.source"
> >     >       >
> >     >       >
> >     >       > bash ./uboot-script-gen -c xen-config -d .
> >     >       >
> >     >       >
> >     >       > Image Name:    
> >     >       > Created:      Thu Nov  2 20:59:24 2023
> >     >       > Image Type:   ARM Linux Kernel Image (uncompressed)
> >     >       > Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
> >     >       > Load Address: 42c00000
> >     >       > Entry Point:  42c00000
> >     >       >
> >     >       >
> >     >       > Generated uboot script xen.scr, to be loaded at address 0x42000000:
> >     >       > ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> >     >       >
> >     >       >
> >     >       > and I tried to boot Xen and Linux 6.6 as dom0 :
> >     >       >
> >     >       > SMDK5250 # mmc dev 1
> >     >       > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> >     >       > but it did not work : it reboots on the verification screen.
> >     >       >
> >     >       > --
> >     >       > Mario.
> >     >       >
> >     >       >
> >     >
> >     >
> >     >
> >     > --
> >     > Mario.
> >     >
> >     > 
> > 
> > 
> > 
> > -- 
> > Mario.
> 
--8323329-1445648000-1700092152=:160649--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 00:03:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 00:03:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633873.989028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Pqv-0000J7-H9; Thu, 16 Nov 2023 00:03:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633873.989028; Thu, 16 Nov 2023 00:03: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 1r3Pqv-0000J0-E0; Thu, 16 Nov 2023 00:03:25 +0000
Received: by outflank-mailman (input) for mailman id 633873;
 Thu, 16 Nov 2023 00: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=ePBE=G5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3Pqt-0000Iu-R5
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 00:03:23 +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 8cfa3b85-8413-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 01:03:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 3BB4E61852;
 Thu, 16 Nov 2023 00:03:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F18D1C433C8;
 Thu, 16 Nov 2023 00:03: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: 8cfa3b85-8413-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700092998;
	bh=FtLE1rDSH8gw6XrIIyDr1lDqgoXkYs+XyvVlhUtq9sQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=TVzKJppBQ/Sk8kATYjNlE6tFLeMNgHDbDlvTmeq4qvgKgENy2a71G2ZbPPZYPQhKT
	 1wXGQfRiFW1RKDOBFkrpPuw43wV14NTRCBIIyf7lIsGPiP+aYLuLjTTcQwNFGgswqk
	 S0Iia8B12mPW0CpVSuQ5F/NAe4siPajkSqiZep9+l/OQAzrxDJ/aJFHI9XB3CzcifA
	 1CH6Zuw0y1LYZ6zmJgdXfyzdEBOWe65c3Xrq3TdZsghAlqUCfaYlXt+2HZbl3hDN1d
	 R5DYbJdtPszgXGQSnIiMVgXpolIrU8Qs/TLCPM7c7u8AQi5ZDYIjk4CzeAGbKmrVYT
	 BUUGoaBdBIPjw==
Date: Wed, 15 Nov 2023 16:03:16 -0800 (PST)
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>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, Julien Grall <julien@xen.org>, 
    xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2] misra: add R21.1 R21.2
In-Reply-To: <61bb1ea0-e794-4feb-bccf-a44549543b69@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311151603090.160649@ubuntu-linux-20-04-desktop>
References: <alpine.DEB.2.22.394.2311141458020.160649@ubuntu-linux-20-04-desktop> <61bb1ea0-e794-4feb-bccf-a44549543b69@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, 15 Nov 2023, Jan Beulich wrote:
> On 14.11.2023 23:59, Stefano Stabellini wrote:
> > Add 21.1 and 21.2, with a longer comment to explain how strategy with
> > leading underscores and why we think we are safe today.
> > 
> > Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> 
> Acked-by: Jan Beulich <jbeulich@suse.com>
> with one nit:
> 
> > --- a/docs/misra/rules.rst
> > +++ b/docs/misra/rules.rst
> > @@ -519,6 +519,28 @@ maintainers if you want to suggest a change.
> >         they are related
> >       -
> >  
> > +   * - `Rule 21.1 <https://gitlab.com/MISRA/MISRA-C/MISRA-C-2012/Example-Suite/-/blob/master/R_21_01.c>`_
> > +     - Required
> > +     - #define and #undef shall not be used on a reserved identifier or
> > +       reserved macro name
> > +     - Identifiers starting with an underscore followed by another underscore
> > +       or an upper-case letter are reserved. Today Xen uses many, such as
> > +       header guards and bitwise manipulation functions. Upon analysis it turns
> > +       out Xen identifiers do not clash with the identifiers used by modern
> > +       GCC, but that is not a guarantee that there won't be a naming clash in
> > +       the future or with another compiler.  For these reasons we discourage
> > +       the introduction of new reserved identifiers in Xen, and we see it as
> > +       positive the reduction of reserved identifiers. At the same time,
> > +       certain identifiers starting with an underscore are also commonly used
> > +       in Linux (e.g. __set_bit) and we don't think it would be an improvement
> > +       to rename them.
> 
> I think this last sentence would also better say "two underscores".

Done on commit



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 00:07:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 00:07:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633875.989037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3PvA-0000tf-2g; Thu, 16 Nov 2023 00:07:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633875.989037; Thu, 16 Nov 2023 00: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 1r3PvA-0000tY-06; Thu, 16 Nov 2023 00:07:48 +0000
Received: by outflank-mailman (input) for mailman id 633875;
 Thu, 16 Nov 2023 00:07: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=6/O6=G5=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r3Pv9-0000tS-91
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 00:07:47 +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 2b096a29-8414-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 01:07:45 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-9bf86b77a2aso36438666b.0
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 16:07:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b096a29-8414-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700093265; x=1700698065; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=saenhwRGINSUSrd9/DruMXsUo4E1QRCH3Eu95qyMTn4=;
        b=HSdPJ884IWhntCeWhg1R3ehCENPzjpq3bMqgwqm4w9Gaj04gGnkUB/Arw93SxQNCgo
         YjpaAF65lEwIkc1+kvhXxs5Z0HokagSuUrY4i4qdSM2KtowlLvkBh4ChQvXZWTCWZ5aQ
         EfGc8mYde8qEy+tchQmf2WmKaHB3YCFlsZ+LgUpuk8O++HEthVAt6xrK0KoDjBjNED6a
         KKdTXADNDuoiZe1TeKBF2giVh4OA6uLg1D1+KeAK1nMaGW7+4cEi2LKNFkj5WW22e2Td
         sNxcepWWtMSQadCpZHYgbcskzv5zj6GDRZdOoEd5AzM4IfXPu0p7QcHhmALmWYeqJDWc
         6ilQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700093265; x=1700698065;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=saenhwRGINSUSrd9/DruMXsUo4E1QRCH3Eu95qyMTn4=;
        b=BruFSfn32W7VkcIW+y+VNTurwCS2XhyVUYjKsBsByLGV+dpSEjCjW0lxhrxQCHPwt5
         0RjazxOkUbBeV3HUGeGoLhJUddOOzgJoNmAhYrnnf33gci/Se5iyMiJpCO7j36K3cTOG
         cvO0xXgb8XC4wXfDtdaywlaO3hVLqBreSouLof4DlxDjx76NI4BxOOl/D+yaAsCqg3UO
         nWUwL6T6iJa5yTZaVPRHamDLwF6fIoGRDm61zhCIfyxVGoh4LP0/LIyEAJdUlHmarh5d
         ErrewqglHinOWLcu5x63QufOC0U7nrvjPMe/r/KgoTIKdZwJ4fTeEyLlF8G70cmMVMV5
         O8GA==
X-Gm-Message-State: AOJu0Yw3jbE9VRUo7joTiRkn8WdmHqXWOJF1j7Vu4J4+vW3aqFj5JOdI
	+bmhkuY07dJXAgf5GhmCakJE5ngdyE6N0+jRAqLp3fIF2VJC3kKX
X-Google-Smtp-Source: AGHT+IFKtDNqfphvtCDpQkw/bzNd/L83VBv89yxiS++Xf8uzbOi/uxFhvygqx/fhGS8sZOC3YE5LjD/3z8sp/unzvh4=
X-Received: by 2002:a17:906:b20f:b0:9e5:2b2e:5b64 with SMTP id
 p15-20020a170906b20f00b009e52b2e5b64mr2780664ejz.12.1700093264545; Wed, 15
 Nov 2023 16:07:44 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijOYJneLxEfss2BoY0Q4vafa+gVdQeyOfy7A_bTAA6QLw@mail.gmail.com>
 <0aeaf3a8-096b-4ae2-be40-6d39914b28ea@netscape.net> <alpine.DEB.2.22.394.2311151542030.160649@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2311151542030.160649@ubuntu-linux-20-04-desktop>
From: Mario Marietto <marietto2008@gmail.com>
Date: Thu, 16 Nov 2023 01:07:08 +0100
Message-ID: <CA+1FSigcyYVosn1X_aoCoZVAtYunkmmrNq_h4Wggud4bmr9Mrg@mail.gmail.com>
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Chuck Zmudzinski <brchuckz@netscape.net>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/alternative; boundary="0000000000001e4b72060a39cf20"

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

It didn't work. This is the scr file generated.

ext2load mmc 1:3 0x51000000 zImage-6.6.0-xen-iommu-dma-on-xen
ext2load mmc 1:3 0x60000000 xen-4.17-armhf.ub
ext2load mmc 1:3 0x61000000 exynos5250-snow.dtb
fdt addr 0x61000000
fdt resize 1024
fdt set /chosen \#address-cells <0x2>
fdt set /chosen \#size-cells <0x2>
fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dserial0
dom0_mem=3D768 dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull"
fdt mknod /chosen dom0
fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module"
"multiboot,module"
fdt set /chosen/dom0 reg <0x0 0x51000000 0x0 0x87C200 >
fdt set /chosen xen,dom0-bootargs "console=3Dtty earlycon=3Dxen earlyprintk=
=3Dxen
root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
setenv fdt_high 0xffffffffffffffff
bootm 0x60000000 - 0x61000000

So,I ran :

bash /boot/./uboot-script-gen -c /boot/xen-config -d .

it says :

Image Name:
Created:      Wed Nov 15 23:55:40 2023
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    884744 Bytes =3D 864.01 KiB =3D 0.84 MiB
Load Address: 60000000
Entry Point:  60000000
Generated uboot script xen-stef.scr, to be loaded at address 0x42000000:
ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000

ok,I've booted xen with the suggested address :

ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000

but it rebooted to the verification screen.

NB : I have applied both your suggestions (offset + your new start and end
memory address. Maybe they auto exclude each other ?)

On Thu, Nov 16, 2023 at 12:49=E2=80=AFAM Stefano Stabellini <sstabellini@ke=
rnel.org>
wrote:

> On Wed, 15 Nov 2023, Chuck Zmudzinski wrote:
> > On 11/14/2023 6:43 PM, Mario Marietto wrote:
> > > I hope that the informations below are correct :
> >
> > I don't know that they are correct. I have not spent the necessary time
> to
> > determine what the correct values for MEMORY_START and MEMORY_END are f=
or
> > the Chromebook we are using. I just presumed, probably incorrectly, tha=
t
> > the entire 2 GB memory is safe, but obviously that is not the case with
> > this Chromebook. Most likely, it requires a good understanding of the
> > particular way booting is done on a Chromebook, which seems to be
> different
> > from other devices.
> >
> > I plan to eventually look into finding values for MEMORY_START and
> MEMORY_END
> > sothe uboot-script-gen script computes usable values for loading Xen an=
d
> dom0
> > on this Chromebook in the script, but I might not get to that task
> immediately.
> > I plan to look at it within the next week or so.
>
> A couple of suggestions. I noticed that the addresses you chose have a
> higher alignment compared to the one chosen by Imagebuilder.
> Imagebuilder uses 2MB:
>
> offset=3D$((2*1024*1024))
>
> I would think that a 2MB alignment should be sufficient, but you can
> increase the alignment chosen by Imagebuilder simply by changing
> "offset" at the top of uboot-script-gen. You seem to be used a 240MB
> offset:
>
> offset=3D$((240*1024*1024))
>
> The other suggestion is about MEMORY_START and MEMORY_END. Looking at
> the addresses you picked by hand, the following you should give you very
> similar results:
>
> MEMORY_START=3D0x33000000
> MEMORY_END=3D0x80000000
>
>
> > > - the imagebuilder config file :
> > >
> > > MEMORY_START=3D"0x0"
> > > MEMORY_END=3D"0x80000000"
> > > LOAD_CMD=3D"ext2load mmc 1:3"
> > > BOOT_CMD=3D"bootm"
> > > DEVICE_TREE=3D"exynos5250-snow.dtb"
> > > XEN=3D"xen-4.17-armhf"
> > > XEN_CMD=3D"console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1152M dom0_ma=
x_vcpus=3D2
> bootscrub=3D0 vwfi=3Dnative sched=3Dnull"
> > > DOM0_KERNEL=3D"zImage-6.6.0-xen-iommu-dma-on-xen"
> > > DOM0_CMD=3D"console=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=3D/de=
v/mmcblk1p4
> rw rootwait clk_ignore_unused"
> > > UBOOT_SOURCE=3D"xen.source"
> > > UBOOT_SCRIPT=3D"xen.scr"
> > >
> > > xen.source : (that does not work)
> > >
> > > mmc dev 1
> > > ext2load mmc 1:3 0xE00000 zImage-6.6.0-xen-iommu-dma-on-xen
> > > ext2load mmc 1:3 0x1800000 xen-4.17-armhf.ub
> > > ext2load mmc 1:3 0x1A00000 exynos5250-snow.dtb
> > > fdt addr 0x1A00000
> > > fdt resize 1024
> > > fdt set /chosen \#address-cells <0x2>
> > > fdt set /chosen \#size-cells <0x2>
> > > fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dserial0
> dom0_mem=3D1152M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dn=
ull"
> > > fdt mknod /chosen dom0
> > > fdt set /chosen/dom0 compatible  "xen,linux-zimage"
> "xen,multiboot-module" "multiboot,module"
> > > fdt set /chosen/dom0 reg <0x0 0xE00000 0x0 0x87C200 >
> > > fdt set /chosen xen,dom0-bootargs "console=3Dtty earlycon=3Dxen
> earlyprintk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> > > setenv fdt_high 0xffffffffffffffff
> > > bootm 0x1800000 - 0x1A00000
> > >
> > > xen.source : (created by chuck and that works)
> > >
> > > mmc dev 1
> > > ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
> > > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> > > ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
> > > fdt addr 0x5ffec000
> > > fdt resize 1024
> > > fdt set /chosen \#address-cells <0x2>
> > > fdt set /chosen \#size-cells <0x2>
> > > fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dserial0
> dom0_mem=3D1152M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dn=
ull"
> > > fdt mknod /chosen dom0
> > > fdt set /chosen/dom0 compatible  "xen,linux-zimage"
> "xen,multiboot-module" "multiboot,module"
> > > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
> > > fdt set /chosen xen,dom0-bootargs "console=3Dtty1 root=3D/dev/mmcblk1=
p4 rw
> rootwait clk_ignore_unused --no-log"
> > > bootm 0x51000000 - 0x5ffec000
> > >
> > > all the values that you see in this conf. files have been calculated
> by chuck by hand,because the values generated by the imagebuilder are
> wrong. The only value that's well calculated by the imagebuilder is 0x87C=
200
> > >
> > > - the size of all the binaries specified in the imagebuilder config
> file :
> > >
> > > exynos5250-snow.dtb =3D 46.6 KiB (47,769 byte)
> > > zImage-6.6.0-xen-iommu-dma-on-xen =3D 8.5 MiB (8,897,024 byte)
> > >
> > >
> > >
> > > On Wed, Nov 15, 2023 at 12:17=E2=80=AFAM Stefano Stabellini <
> sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
> > >
> > >     Hi Mario,
> > >
> > >     I think we misunderstood each other :-)
> > >
> > >     MEMORY_START-MEMORY_END is not supposed to be computed: it is
> supposed
> > >     to come from the memory node in device tree tree (/memory) of the
> > >     platform. The idea is that you should not have to do any
> computations,
> > >     but only reuse the same address range specified there.
> > >
> > >     Similarly in regards to "please post the size of all the binaries=
",
> > >     this is just for debugging, so that I can see if there are any
> bugs with
> > >     uboot-script-gen. I cannot debug the script unless I figure out
> what the
> > >     problem is and the only way I can do that is with the binary size=
s
> and
> > >     redoing all the steps by hand.
> > >
> > >     The expected outcome is that once we resolve the problem you
> should be
> > >     able to use uboot-script-gen without any additional computation
> needed.
> > >
> > >     Of course using static values is also OK.
> > >
> > >
> > >     On Wed, 15 Nov 2023, Mario Marietto wrote:
> > >     > ---> uboot-script-gen assumes that the memory range specified b=
y
> MEMORY_START-MEMORY_END is valid and correct.
> > >     >
> > >     > Actually Chuck chose 0 as MEMORY_START and 0x800000 as
> MEMORY_END and these are stable values,they don't change. If you ask me t=
o
> calculate
> > >     > those values,it means that we need to compute these values. I
> imagine that to calculate these values is not easy.
> > >     >
> > >     > ---> To debug this kind of issues please post the size of all
> the binaries specified in the imagebuilder config file
> > >     >
> > >     > I imagine that I should also calculate those values. And again,=
I
> see a complication.
> > >     >
> > >     > I'm realizing that the method used by Chuck is easier because h=
e
> uses stable values. In the end,there aren't any calculations to do and
> > >     > since I'm looking for an easier method,not a more complicated
> one,I think that Chuck's method is good as is.
> > >     >
> > >     > On Tue, Nov 14, 2023 at 11:51=E2=80=AFPM Stefano Stabellini <
> sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
> > >     >       Hi Mario,
> > >     >
> > >     >       It is difficult to know how to change uboot-script-gen if
> we don't know
> > >     >       why it is currently going wrong.
> > >     >
> > >     >       uboot-script-gen assumes that the memory range specified =
by
> > >     >       MEMORY_START-MEMORY_END is valid and correct.
> > >     >
> > >     >       So if you specified a valid and correct memory range in
> your config file
> > >     >       (0x41e00000-0x60000000) why is it failing?
> > >     >
> > >     >       The only thing uboot-script-gen does is choosing aligned
> addresses
> > >     >       within the MEMORY_START-MEMORY_END range. The addresses
> are supposed not
> > >     >       to overlap (meaning the initrd will not overwrite part of
> the kernel
> > >     >       when loaded). If the issue is a bug in uboot-script-gen,
> such as the
> > >     >       generated addresses overlap or they are not aligned, then
> we can fix the
> > >     >       alignment or overlap bug. To debug this kind of issues
> please post:
> > >     >       - the imagebuilder config file
> > >     >       - the generate boot.source script
> > >     >       - the size of all the binaries specified in the
> imagebuilder config file
> > >     >
> > >     >       On the other hand if 0x41e00000-0x60000000 is not a safe
> memory range to
> > >     >       use, then you need to specify a different memory range.
> > >     >
> > >     >       Cheers,
> > >     >
> > >     >       Stefano
> > >     >
> > >     >
> > >     >
> > >     >       On Mon, 13 Nov 2023, Mario Marietto wrote:
> > >     >       > Hello.
> > >     >       >
> > >     >       > I'm trying to find an easier way to the problem that yo=
u
> can read here :
> > >     >       >
> > >     >       >
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook=
/xen#starting-a-domu-guest
> <
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook=
/xen#starting-a-domu-guest
> >
> > >     >       >
> > >     >       > where Chuck says :
> > >     >       >
> > >     >       >  6. Create the u-boot shell commands that will be used
> to boot Xen and dom0.
> > >     >       >
> > >     >       > Create a file in /home/user (or any other directory)
> named bootxen.source with these contents :
> > >     >       >
> > >     >       >
> > >     >       > mmc dev 1 && mmc rescan 1
> > >     >       > ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
> > >     >       > ext2load mmc 1:3 0x51000000
> xen-4.17-armhf-armmp-0x51004000.ub
> > >     >       > ext2load mmc 1:3 0x5ffec000
> exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
> > >     >       > fdt addr 0x5ffec000
> > >     >       > fdt resize 1024
> > >     >       > fdt set /chosen \#address-cells <0x2>
> > >     >       > fdt set /chosen \#size-cells <0x2>
> > >     >       > fdt set /chosen xen,xen-bootargs "console=3Ddtuart
> dtuart=3Dserial0 dom0_mem=3D1G dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dna=
tive"
> > >     >       > fdt mknod /chosen dom0
> > >     >       > fdt set /chosen/dom0 compatible  "xen,linux-zimage"
> "xen,multiboot-module" "multiboot,module"
> > >     >       > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
> > >     >       > fdt set /chosen xen,dom0-bootargs "console=3Dtty1
> root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> > >     >       > bootm 0x51000000 - 0x5ffec000
> > >     >       >
> > >     >       > The hex value 0x7D7200 is the size of the
> zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from the
> > >     >       uboot-script-gen script
> > >     >       > available from here :
> > >     >       >
> > >     >       >
> > >     >       > https://gitlab.com/ViryaOS/imagebuilder <
> https://gitlab.com/ViryaOS/imagebuilder>
> > >     >       >
> > >     >       >
> > >     >       > This is the interesting point :
> > >     >       >
> > >     >       >
> > >     >       > Please note that most of the other values in the script
> generated by the ViryaOS uboot-script-gen do not work correctly with
> > >     >       the Chromebook
> > >     >       > Snow, but the script does correctly calculate the size
> of the dom0 Linux kernel image.
> > >     >       >
> > >     >       >
> > >     >       > Some time ago Stefano suggested to put the values below
> for MEMORY_START and MEMORY_END inside the xen-config file :
> > >     >       >
> > >     >       >
> > >     >       > nano xen-config file :
> > >     >       >
> > >     >       >
> > >     >       > MEMORY_START=3D"0x41e00000"
> > >     >       > MEMORY_END=3D"0x60000000"
> > >     >       > LOAD_CMD=3D"ext2load mmc 1:3"
> > >     >       > BOOT_CMD=3D"bootm"
> > >     >       > DEVICE_TREE=3D"exynos5250-snow.dtb"
> > >     >       > XEN=3D"xen-4.17-armhf"
> > >     >       > XEN_CMD=3D"console=3Ddtuart dtuart=3Dserial0 dom0_mem=
=3D768M
> dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull"
> > >     >       > DOM0_KERNEL=3D"zImage-6.6.0-xen-dma-mapping"
> > >     >       > DOM0_CMD=3D"console=3Dtty earlycon=3Dxen earlyprintk=3D=
xen
> root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> > >     >       > UBOOT_SOURCE=3D"xen.source"
> > >     >       >
> > >     >       >
> > >     >       > bash ./uboot-script-gen -c xen-config -d .
> > >     >       >
> > >     >       >
> > >     >       > Image Name:
> > >     >       > Created:      Thu Nov  2 20:59:24 2023
> > >     >       > Image Type:   ARM Linux Kernel Image (uncompressed)
> > >     >       > Data Size:    884744 Bytes =3D 864.01 KiB =3D 0.84 MiB
> > >     >       > Load Address: 42c00000
> > >     >       > Entry Point:  42c00000
> > >     >       >
> > >     >       >
> > >     >       > Generated uboot script xen.scr, to be loaded at address
> 0x42000000:
> > >     >       > ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
> > >     >       >
> > >     >       >
> > >     >       > and I tried to boot Xen and Linux 6.6 as dom0 :
> > >     >       >
> > >     >       > SMDK5250 # mmc dev 1
> > >     >       > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source
> 0x42000000
> > >     >       > but it did not work : it reboots on the verification
> screen.
> > >     >       >
> > >     >       > --
> > >     >       > Mario.
> > >     >       >
> > >     >       >
> > >     >
> > >     >
> > >     >
> > >     > --
> > >     > Mario.
> > >     >
> > >     >
> > >
> > >
> > >
> > > --
> > > Mario.
> >



--=20
Mario.

--0000000000001e4b72060a39cf20
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><span style=3D"font-family:monospace"><span style=3D"=
color:rgb(0,0,0);background-color:rgb(255,255,255)"></span></span></div><di=
v><span style=3D"font-family:monospace"><span style=3D"color:rgb(0,0,0);bac=
kground-color:rgb(255,255,255)">It didn&#39;t work. This is the scr file ge=
nerated. <br></span></span></div><div><br></div><div>ext2load mmc 1:3 0x510=
00000 zImage-6.6.0-xen-iommu-dma-on-xen<br>ext2load mmc 1:3 0x60000000 xen-=
4.17-armhf.ub<br>ext2load mmc 1:3 0x61000000 exynos5250-snow.dtb<br>fdt add=
r 0x61000000<br>fdt resize 1024<br>fdt set /chosen \#address-cells &lt;0x2&=
gt;<br>fdt set /chosen \#size-cells &lt;0x2&gt;<br>fdt set /chosen xen,xen-=
bootargs &quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D768 dom0_max_vc=
pus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull&quot;<br>fdt mknod /chosen=
 dom0<br>fdt set /chosen/dom0 compatible =C2=A0&quot;xen,linux-zimage&quot;=
 &quot;xen,multiboot-module&quot; &quot;multiboot,module&quot;<br>fdt set /=
chosen/dom0 reg &lt;0x0 0x51000000 0x0 0x87C200 &gt;<br>fdt set /chosen xen=
,dom0-bootargs &quot;console=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=3D=
/dev/mmcblk1p4 rw rootwait clk_ignore_unused&quot;<br>setenv fdt_high 0xfff=
fffffffffffff<br>bootm 0x60000000 - 0x61000000</div><div><span style=3D"fon=
t-family:monospace"><span style=3D"color:rgb(0,0,0);background-color:rgb(25=
5,255,255)"><br></span></span></div><div><span style=3D"font-family:monospa=
ce"><span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">So,I=
 ran :</span></span></div><div><span style=3D"font-family:monospace"><span =
style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)"><br></span></s=
pan></div><div><span style=3D"font-family:monospace"><span style=3D"color:r=
gb(0,0,0);background-color:rgb(255,255,255)">bash /boot/./uboot-script-gen =
-c /boot/xen-config -d .</span><br></span></div><div><span style=3D"font-fa=
mily:monospace"><span style=3D"color:rgb(0,0,0);background-color:rgb(255,25=
5,255)"><br></span></span></div><div><span style=3D"font-family:monospace">=
<span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">it says =
: <br></span></span></div><div><span style=3D"font-family:monospace"></span=
></div><div><span style=3D"font-family:monospace"><br></span></div><div><sp=
an style=3D"font-family:monospace">Image Name: =C2=A0=C2=A0=C2=A0</span></d=
iv><div><span style=3D"font-family:monospace"></span></div><span style=3D"f=
ont-family:monospace">Created: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Wed Nov 15 23:=
55:40 2023
<br>Image Type: =C2=A0=C2=A0ARM Linux Kernel Image (uncompressed)
<br>Data Size: =C2=A0=C2=A0=C2=A0884744 Bytes =3D 864.01 KiB =3D 0.84 MiB
<br>Load Address: 60000000
<br>Entry Point: =C2=A060000000
<br>Generated uboot script xen-stef.scr, to be loaded at address 0x42000000=
:
<br></span><div><span style=3D"font-family:monospace">ext2load mmc 1:3 0x42=
000000 xen-stef.scr; source 0x42000000</span></div><div><span style=3D"font=
-family:monospace"><br></span></div><div><span style=3D"font-family:monospa=
ce">ok,I&#39;ve booted xen with the suggested address :</span></div><div><s=
pan style=3D"font-family:monospace"><br></span></div><div><div><span style=
=3D"font-family:monospace">ext2load mmc 1:3 0x42000000 xen-stef.scr; source=
 0x42000000</span></div><div><span style=3D"font-family:monospace"><br></sp=
an></div><div><span style=3D"font-family:monospace">but it rebooted to the =
verification screen. <br></span></div><div><span style=3D"font-family:monos=
pace"><br></span></div><div><span style=3D"font-family:monospace">NB : I ha=
ve applied both your suggestions (offset + your new start and end memory ad=
dress. Maybe they auto exclude each other ?)<br></span></div></div><div><sp=
an style=3D"font-family:monospace"></span></div></div><br><div class=3D"gma=
il_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Nov 16, 2023 at 12:=
49=E2=80=AFAM Stefano Stabellini &lt;<a href=3D"mailto:sstabellini@kernel.o=
rg">sstabellini@kernel.org</a>&gt; wrote:<br></div><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex">On Wed, 15 Nov 2023, Chuck Zmudzinski wrote:<br>
&gt; On 11/14/2023 6:43 PM, Mario Marietto wrote:<br>
&gt; &gt; I hope that the informations below are correct :<br>
&gt; <br>
&gt; I don&#39;t know that they are correct. I have not spent the necessary=
 time to<br>
&gt; determine what the correct values for MEMORY_START and MEMORY_END are =
for<br>
&gt; the Chromebook we are using. I just presumed, probably incorrectly, th=
at<br>
&gt; the entire 2 GB memory is safe, but obviously that is not the case wit=
h<br>
&gt; this Chromebook. Most likely, it requires a good understanding of the<=
br>
&gt; particular way booting is done on a Chromebook, which seems to be diff=
erent<br>
&gt; from other devices.<br>
&gt; <br>
&gt; I plan to eventually look into finding values for MEMORY_START and MEM=
ORY_END<br>
&gt; sothe uboot-script-gen script computes usable values for loading Xen a=
nd dom0<br>
&gt; on this Chromebook in the script, but I might not get to that task imm=
ediately.<br>
&gt; I plan to look at it within the next week or so.<br>
<br>
A couple of suggestions. I noticed that the addresses you chose have a<br>
higher alignment compared to the one chosen by Imagebuilder.<br>
Imagebuilder uses 2MB:<br>
<br>
offset=3D$((2*1024*1024))<br>
<br>
I would think that a 2MB alignment should be sufficient, but you can<br>
increase the alignment chosen by Imagebuilder simply by changing<br>
&quot;offset&quot; at the top of uboot-script-gen. You seem to be used a 24=
0MB<br>
offset:<br>
<br>
offset=3D$((240*1024*1024))<br>
<br>
The other suggestion is about MEMORY_START and MEMORY_END. Looking at<br>
the addresses you picked by hand, the following you should give you very<br=
>
similar results:<br>
<br>
MEMORY_START=3D0x33000000<br>
MEMORY_END=3D0x80000000<br>
<br>
<br>
&gt; &gt; - the imagebuilder config file :<br>
&gt; &gt; <br>
&gt; &gt; MEMORY_START=3D&quot;0x0&quot;<br>
&gt; &gt; MEMORY_END=3D&quot;0x80000000&quot;<br>
&gt; &gt; LOAD_CMD=3D&quot;ext2load mmc 1:3&quot;<br>
&gt; &gt; BOOT_CMD=3D&quot;bootm&quot;<br>
&gt; &gt; DEVICE_TREE=3D&quot;exynos5250-snow.dtb&quot;<br>
&gt; &gt; XEN=3D&quot;xen-4.17-armhf&quot;<br>
&gt; &gt; XEN_CMD=3D&quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1152=
M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull&quot;<br>
&gt; &gt; DOM0_KERNEL=3D&quot;zImage-6.6.0-xen-iommu-dma-on-xen&quot;<br>
&gt; &gt; DOM0_CMD=3D&quot;console=3Dtty earlycon=3Dxen earlyprintk=3Dxen r=
oot=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused&quot;<br>
&gt; &gt; UBOOT_SOURCE=3D&quot;xen.source&quot;<br>
&gt; &gt; UBOOT_SCRIPT=3D&quot;xen.scr&quot;<br>
&gt; &gt; <br>
&gt; &gt; xen.source : (that does not work)<br>
&gt; &gt; <br>
&gt; &gt; mmc dev 1<br>
&gt; &gt; ext2load mmc 1:3 0xE00000 zImage-6.6.0-xen-iommu-dma-on-xen<br>
&gt; &gt; ext2load mmc 1:3 0x1800000 xen-4.17-armhf.ub<br>
&gt; &gt; ext2load mmc 1:3 0x1A00000 exynos5250-snow.dtb<br>
&gt; &gt; fdt addr 0x1A00000<br>
&gt; &gt; fdt resize 1024<br>
&gt; &gt; fdt set /chosen \#address-cells &lt;0x2&gt;<br>
&gt; &gt; fdt set /chosen \#size-cells &lt;0x2&gt;<br>
&gt; &gt; fdt set /chosen xen,xen-bootargs &quot;console=3Ddtuart dtuart=3D=
serial0 dom0_mem=3D1152M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sch=
ed=3Dnull&quot;<br>
&gt; &gt; fdt mknod /chosen dom0<br>
&gt; &gt; fdt set /chosen/dom0 compatible =C2=A0&quot;xen,linux-zimage&quot=
; &quot;xen,multiboot-module&quot; &quot;multiboot,module&quot;<br>
&gt; &gt; fdt set /chosen/dom0 reg &lt;0x0 0xE00000 0x0 0x87C200 &gt;<br>
&gt; &gt; fdt set /chosen xen,dom0-bootargs &quot;console=3Dtty earlycon=3D=
xen earlyprintk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused&q=
uot;<br>
&gt; &gt; setenv fdt_high 0xffffffffffffffff<br>
&gt; &gt; bootm 0x1800000 - 0x1A00000<br>
&gt; &gt; <br>
&gt; &gt; xen.source : (created by chuck and that works)<br>
&gt; &gt; <br>
&gt; &gt; mmc dev 1<br>
&gt; &gt; ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen<br>
&gt; &gt; ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub<br=
>
&gt; &gt; ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb<br>
&gt; &gt; fdt addr 0x5ffec000<br>
&gt; &gt; fdt resize 1024<br>
&gt; &gt; fdt set /chosen \#address-cells &lt;0x2&gt;<br>
&gt; &gt; fdt set /chosen \#size-cells &lt;0x2&gt;<br>
&gt; &gt; fdt set /chosen xen,xen-bootargs &quot;console=3Ddtuart dtuart=3D=
serial0 dom0_mem=3D1152M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sch=
ed=3Dnull&quot;<br>
&gt; &gt; fdt mknod /chosen dom0<br>
&gt; &gt; fdt set /chosen/dom0 compatible =C2=A0&quot;xen,linux-zimage&quot=
; &quot;xen,multiboot-module&quot; &quot;multiboot,module&quot;<br>
&gt; &gt; fdt set /chosen/dom0 reg &lt;0x0 0x42000000 0x0 0x87C200 &gt;<br>
&gt; &gt; fdt set /chosen xen,dom0-bootargs &quot;console=3Dtty1 root=3D/de=
v/mmcblk1p4 rw rootwait clk_ignore_unused --no-log&quot;<br>
&gt; &gt; bootm 0x51000000 - 0x5ffec000<br>
&gt; &gt; <br>
&gt; &gt; all the values that you see in this conf. files have been calcula=
ted by chuck by hand,because the values generated by the imagebuilder are w=
rong. The only value that&#39;s well calculated by the imagebuilder is 0x87=
C200<br>
&gt; &gt; <br>
&gt; &gt; - the size of all the binaries specified in the imagebuilder conf=
ig file :<br>
&gt; &gt; <br>
&gt; &gt; exynos5250-snow.dtb =3D 46.6=C2=A0KiB (47,769 byte)<br>
&gt; &gt; zImage-6.6.0-xen-iommu-dma-on-xen =3D 8.5=C2=A0MiB (8,897,024 byt=
e)<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; On Wed, Nov 15, 2023 at 12:17=E2=80=AFAM Stefano Stabellini &lt;<=
a href=3D"mailto:sstabellini@kernel.org" target=3D"_blank">sstabellini@kern=
el.org</a> &lt;mailto:<a href=3D"mailto:sstabellini@kernel.org" target=3D"_=
blank">sstabellini@kernel.org</a>&gt;&gt; wrote:<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0Hi Mario,<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0I think we misunderstood each other :-)<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0MEMORY_START-MEMORY_END is not supposed to be =
computed: it is supposed<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0to come from the memory node in device tree tr=
ee (/memory) of the<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0platform. The idea is that you should not have=
 to do any computations,<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0but only reuse the same address range specifie=
d there.<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0Similarly in regards to &quot;please post the =
size of all the binaries&quot;,<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0this is just for debugging, so that I can see =
if there are any bugs with<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0uboot-script-gen. I cannot debug the script un=
less I figure out what the<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0problem is and the only way I can do that is w=
ith the binary sizes and<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0redoing all the steps by hand.<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0The expected outcome is that once we resolve t=
he problem you should be<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0able to use uboot-script-gen without any addit=
ional computation needed.<br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0Of course using static values is also OK.<br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0On Wed, 15 Nov 2023, Mario Marietto wrote:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; ---&gt; uboot-script-gen assumes that the=
 memory range specified by MEMORY_START-MEMORY_END is valid and correct.<br=
>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; Actually Chuck chose 0 as MEMORY_START an=
d 0x800000 as MEMORY_END and these are stable values,they don&#39;t change.=
 If you ask me to calculate<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; those values,it means that we need to com=
pute these values. I imagine that to calculate these values is not easy.<br=
>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; ---&gt; To debug this kind of issues plea=
se post the size of all the binaries specified in the imagebuilder config f=
ile<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; I imagine that I should also calculate th=
ose values. And again,I see a complication.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; I&#39;m realizing that the method used by=
 Chuck is easier because he uses stable values. In the end,there aren&#39;t=
 any calculations to do and<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; since I&#39;m looking for an easier metho=
d,not a more complicated one,I think that Chuck&#39;s method is good as is.=
=C2=A0<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; On Tue, Nov 14, 2023 at 11:51=E2=80=AFPM =
Stefano Stabellini &lt;<a href=3D"mailto:sstabellini@kernel.org" target=3D"=
_blank">sstabellini@kernel.org</a> &lt;mailto:<a href=3D"mailto:sstabellini=
@kernel.org" target=3D"_blank">sstabellini@kernel.org</a>&gt;&gt; wrote:<br=
>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Hi Mario,<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0It is difficult=
 to know how to change uboot-script-gen if we don&#39;t know<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0why it is curre=
ntly going wrong.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0uboot-script-ge=
n assumes that the memory range specified by<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0MEMORY_START-ME=
MORY_END is valid and correct.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0So if you speci=
fied a valid and correct memory range in your config file<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0(0x41e00000-0x6=
0000000) why is it failing?<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0The only thing =
uboot-script-gen does is choosing aligned addresses<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0within the MEMO=
RY_START-MEMORY_END range. The addresses are supposed not<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0to overlap (mea=
ning the initrd will not overwrite part of the kernel<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0when loaded). I=
f the issue is a bug in uboot-script-gen, such as the<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0generated addre=
sses overlap or they are not aligned, then we can fix the<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0alignment or ov=
erlap bug. To debug this kind of issues please post:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0- the imagebuil=
der config file<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0- the generate =
boot.source script<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0- the size of a=
ll the binaries specified in the imagebuilder config file<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0On the other ha=
nd if 0x41e00000-0x60000000 is not a safe memory range to<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0use, then you n=
eed to specify a different memory range.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Cheers,<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Stefano<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0On Mon, 13 Nov =
2023, Mario Marietto wrote:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Hello.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; I&#39;m tr=
ying to find an easier way to the problem that you can read here :<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; <a href=3D=
"https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/=
xen#starting-a-domu-guest" rel=3D"noreferrer" target=3D"_blank">https://git=
hub.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting=
-a-domu-guest</a> &lt;<a href=3D"https://github.com/mobile-virt/u-boot-chro=
mebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest" rel=3D"noreferre=
r" target=3D"_blank">https://github.com/mobile-virt/u-boot-chromebook-xe303=
c12/tree/chromebook/xen#starting-a-domu-guest</a>&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; where Chuc=
k says :<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 6. C=
reate the u-boot shell commands that will be used to boot Xen and dom0.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Create a f=
ile in /home/user (or any other directory) named bootxen.source with these =
contents :<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; mmc dev 1 =
&amp;&amp; mmc rescan 1<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; ext2load m=
mc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; ext2load m=
mc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; ext2load m=
mc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt addr 0=
x5ffec000<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt resize=
 1024<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /c=
hosen \#address-cells &lt;0x2&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /c=
hosen \#size-cells &lt;0x2&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /c=
hosen xen,xen-bootargs &quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1=
G dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt mknod =
/chosen dom0<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /c=
hosen/dom0 compatible=C2=A0 &quot;xen,linux-zimage&quot; &quot;xen,multiboo=
t-module&quot; &quot;multiboot,module&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /c=
hosen/dom0 reg &lt;0x0 0x42000000 0x0 0x7D7200 &gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; fdt set /c=
hosen xen,dom0-bootargs &quot;console=3Dtty1 root=3D/dev/mmcblk1p4 rw rootw=
ait clk_ignore_unused&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; bootm 0x51=
000000 - 0x5ffec000<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; The hex va=
lue 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+ file, and that v=
alue is computed from the<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0uboot-script-ge=
n script<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; available =
from here :<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; <a href=3D=
"https://gitlab.com/ViryaOS/imagebuilder" rel=3D"noreferrer" target=3D"_bla=
nk">https://gitlab.com/ViryaOS/imagebuilder</a> &lt;<a href=3D"https://gitl=
ab.com/ViryaOS/imagebuilder" rel=3D"noreferrer" target=3D"_blank">https://g=
itlab.com/ViryaOS/imagebuilder</a>&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; This is th=
e interesting point :<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Please not=
e that most of the other values in the script generated by the ViryaOS uboo=
t-script-gen do not work correctly with<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0the Chromebook<=
br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Snow, but =
the script does correctly calculate the size of the dom0 Linux kernel image=
.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Some time =
ago Stefano suggested to put the values below for MEMORY_START and MEMORY_E=
ND inside the xen-config file :<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; nano xen-c=
onfig file :<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; MEMORY_STA=
RT=3D&quot;0x41e00000&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; MEMORY_END=
=3D&quot;0x60000000&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; LOAD_CMD=
=3D&quot;ext2load mmc 1:3&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; BOOT_CMD=
=3D&quot;bootm&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; DEVICE_TRE=
E=3D&quot;exynos5250-snow.dtb&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; XEN=3D&quo=
t;xen-4.17-armhf&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; XEN_CMD=3D=
&quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D768M dom0_max_vcpus=3D2 =
bootscrub=3D0 vwfi=3Dnative sched=3Dnull&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; DOM0_KERNE=
L=3D&quot;zImage-6.6.0-xen-dma-mapping&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; DOM0_CMD=
=3D&quot;console=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=3D/dev/mmcblk1=
p4 rw rootwait clk_ignore_unused&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; UBOOT_SOUR=
CE=3D&quot;xen.source&quot;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; bash ./ubo=
ot-script-gen -c xen-config -d .<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Image Name=
: =C2=A0=C2=A0=C2=A0<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Created: =
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Thu Nov =C2=A02 20:59:24 2023<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Image Type=
: =C2=A0=C2=A0ARM Linux Kernel Image (uncompressed)<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Data Size:=
 =C2=A0=C2=A0=C2=A0884744 Bytes =3D 864.01 KiB =3D 0.84 MiB<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Load Addre=
ss: 42c00000<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Entry Poin=
t: =C2=A042c00000<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Generated =
uboot script xen.scr, to be loaded at address 0x42000000:<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; ext2load m=
mc 1:3 0x42000000 xen.scr; source 0x42000000<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; and I trie=
d to boot Xen and Linux 6.6 as dom0 :<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; SMDK5250 #=
 mmc dev 1<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; SMDK5250 #=
 ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; but it did=
 not work : it reboots on the verification screen.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; --<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; Mario.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; --<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; Mario.<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; <br>
&gt; &gt; -- <br>
&gt; &gt; Mario.<br>
&gt; </blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signatur=
e_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<b=
r></div>

--0000000000001e4b72060a39cf20--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 00:10:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 00:10:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633879.989048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Pxu-0003Ch-KF; Thu, 16 Nov 2023 00:10:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633879.989048; Thu, 16 Nov 2023 00:10: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 1r3Pxu-0003Ca-Gb; Thu, 16 Nov 2023 00:10:38 +0000
Received: by outflank-mailman (input) for mailman id 633879;
 Thu, 16 Nov 2023 00:10: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=ePBE=G5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3Pxt-0003CQ-00
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 00:10: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 9016afd8-8414-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 01:10:34 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 70614B81A6B;
 Thu, 16 Nov 2023 00:10:34 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F0F6C433C7;
 Thu, 16 Nov 2023 00:10: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: 9016afd8-8414-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700093433;
	bh=SN0Z1XmrsbSJhwhmPD0MkAyXZBg2mhQtpT/3n7u8fZY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=fQrZP5Lcik+tS8giag3nz+p9JbbPTf2OpQbCgL/W7xrHsRAG3T6aN/qV/3d+SR5Q8
	 SeTj1Sy7LwFdRTHpGy3r+sd4Hyled18Sqls0tLxwdEB00BGk3TJvRJzKmXGpCBL3/h
	 PFpkW3cy/+5tNM7+9E/iQNuFyR1Al51QuQo1tfZ3EuLw/lPoBAq3hDj577PINB7euQ
	 8aERCZR6g54jHMgE/2HHSo87C+pLebTJlbV26M6G25io3BvZlRtZrIqS169wktli4h
	 LGTY70H/RmnT8sXVDCJD3PNZUDemnUKUrfNiqhoyXbUItYdKzqdz6KjjgXPvzEzeKb
	 H8siduf4X9pSA==
Date: Wed, 15 Nov 2023 16:10:29 -0800 (PST)
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>, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [RFC 1/4] x86/ioemul: address MISRA C:2012 Rule 9.3
In-Reply-To: <b0260269-a515-8fc1-12ec-f38e45451a45@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311151607080.160649@ubuntu-linux-20-04-desktop>
References: <cover.1698155925.git.nicola.vetrini@bugseng.com> <76c9f78179a8bb5b4f99b34f163933394f79066c.1698155925.git.nicola.vetrini@bugseng.com> <60e26ad6-7366-2604-e9b2-ed401cee6e73@suse.com> <alpine.DEB.2.22.394.2310241317030.271731@ubuntu-linux-20-04-desktop>
 <41562c7a-6260-3104-b2d4-d6fd4df0cffc@suse.com> <4e88d7ab94b9fc73554eee5b78612b63@bugseng.com> <8cb336ca-41ed-8adc-957a-28b5585c84f1@suse.com> <alpine.DEB.2.22.394.2310271419260.271731@ubuntu-linux-20-04-desktop> <9888aa5c298584c22cf55b13befeaaa6@bugseng.com>
 <alpine.DEB.2.22.394.2311101719120.3478774@ubuntu-linux-20-04-desktop> <b0260269-a515-8fc1-12ec-f38e45451a45@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 13 Nov 2023, Jan Beulich wrote:
> On 11.11.2023 02:23, Stefano Stabellini wrote:
> > On Mon, 6 Nov 2023, Nicola Vetrini wrote:
> >>>>> There's also this functionally equivalent alternative, with or without
> >>>>> the zeros, which
> >>>>> doesn't incur in the risk of mistakenly attempting to initialize the
> >>>>> same element twice,
> >>>>> while also giving an explicit cue to the reader that all elements are
> >>>>> truly zero-initialized.
> >>>>>
> >>>>>           .matches = {
> >>>>>               DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
> >>>>>               DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL5"),
> >>>>> +            {0}, {0}
> >>>>>           },
> >>>>
> >>>> Adding a dependency on the array actually having 4 elements (while iirc
> >>>> we have seen already that we could in principle go down to 3). A change
> >>>> of this number would then require touching all these sites, which is
> >>>> what we'd like to avoid.
> >>>
> >>> How often the array needs to change though? Looking at the git history
> >>> it doesn't seem the number of elements ever changed. So I think it is a
> >>> good tradeoff, and I would go with this type of fix (maybe also at the
> >>> other locations mechanically too although I haven't looked at them in
> >>> details).
> >>
> >> Hi, any updates on this? Considering the opinions expressed above, what would
> >> be the path preferred by the community?
> > 
> > Hi Jan, to bring this discussion to a conclusion, I think we have these
> > options:
> > 
> > 1) fix these violations by adding {}, {}
> > 2) fix these violations by adding [0]=xxx,[1]=xxx
> > 3) deviate these violations by adding /* SAF-safe-xxx */
> > 4) remove the MISRA rule 9.3 from docs/misra/rules.rst
> > 
> > Let's make a decision. My preference is 1) as we only have ~50
> > violations.
> 
> Of these, to be honest, my preference would be 4. Just that that's
> undesirable for other reasons. But have we thought of alternatives, say
> a variadic macro that would supply the "missing" initializers? Imo such
> decisions shouldn't be rushed; there are enough other issues to take
> care of in the meantime. A sound solution is, I think, generally
> preferable to a quick one. (Whether my new suggestion is "sound" I of
> course can't tell, until it was tried out and the overall result /
> effects can be inspected.)

I don't like the idea of the variadic macro as we should attempt to make
things more obviously correct, rather than more obscure.

Thinking out of the box, what if we added a single {} E.g.:

        .ident = "HP ProLiant DL3xx",
        .matches = {
            DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL3"),
            {}
        },

It would accomplish the goal of highlighting that there are more members
of the array that gets initialized to zero. At the same time it wouldn't
require the introductino of [0] and [1] that as we have seen are error
prone and it wouldn't depend on the exact number of elements like adding
one {} per missing initialization. To be clear, I am suggesting adding a
single {} only.

Nicola, what do you think? Would it be OK for MISRA / ECLAIR?


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 00:20:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 00:20:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633901.989074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Q7P-0006ab-QN; Thu, 16 Nov 2023 00:20:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633901.989074; Thu, 16 Nov 2023 00: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 1r3Q7P-0006aU-Mo; Thu, 16 Nov 2023 00:20:27 +0000
Received: by outflank-mailman (input) for mailman id 633901;
 Thu, 16 Nov 2023 00:20: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=ePBE=G5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3Q7N-0006aM-MI
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 00:20:25 +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 ee34ed38-8415-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 01:20:23 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 76CDFCE1DD1;
 Thu, 16 Nov 2023 00:20:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6CE10C433C8;
 Thu, 16 Nov 2023 00:20: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: ee34ed38-8415-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700094017;
	bh=GpZMsvmzXyE0t2G6a5CViGAT0RZ5ZtUou4B89/4hdJE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DFuJbJFe5lh2I+E4yMlB8QS8xPgMzSUSSlmNFxiJtwg/o61fTEhFzYlFNGpGR5g7G
	 f9sApZBxU6NGbMN3yic95AQL1OEKxH4gf2nwa/6W+I66+MkEWQ1XbHcl6GlqAcFbRr
	 gbkOsxifJIsvS1wlWQmY3PayKAKelR0uRWWZOvjizWHIeJS4fTs0cA0jhPBOEtMLho
	 m0IV/xctJyzEdRPI7EljXMbobbyL/+X2cpXzr7+faLkG4Yv7PH617THL7dc/xgiD7a
	 4WnJ/EDxdeW8xD9Pr86MTrVzWITduWQ7h6QL/2jszXlyJPZf8h9Pkr7DPh4M525ZJA
	 SV6r0JcmIBRKw==
Date: Wed, 15 Nov 2023 16:20:14 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Mario Marietto <marietto2008@gmail.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Chuck Zmudzinski <brchuckz@netscape.net>, 
    =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
In-Reply-To: <CA+1FSigcyYVosn1X_aoCoZVAtYunkmmrNq_h4Wggud4bmr9Mrg@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2311151611120.160649@ubuntu-linux-20-04-desktop>
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com> <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop> <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com> <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijOYJneLxEfss2BoY0Q4vafa+gVdQeyOfy7A_bTAA6QLw@mail.gmail.com> <0aeaf3a8-096b-4ae2-be40-6d39914b28ea@netscape.net> <alpine.DEB.2.22.394.2311151542030.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSigcyYVosn1X_aoCoZVAtYunkmmrNq_h4Wggud4bmr9Mrg@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-941938851-1700093954=:160649"
Content-ID: <alpine.DEB.2.22.394.2311151619200.160649@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-941938851-1700093954=:160649
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311151619201.160649@ubuntu-linux-20-04-desktop>

I miscalculated MEMORY_START. If you try with:

offset=$((240*1024*1024)) # this change in scripts/uboot-script-gen
MEMORY_START="0x24000000"
MEMORY_END="0x80000000"

then it should use:
tftpb 0x42000000 Linux
tftpb 0x50000000 Xen
tftpb 0x60000000 DTB

which is very similar to what Chuck used. It might work.

However, I noticed now that Chuck's last addess is lower than
0x60000000. I wonder if that is the issue? If we cannot exceed
0x60000000, then maybe I would try with:

offset=$((120*1024*1024)) # this change in scripts/uboot-script-gen
MEMORY_START="0x33000000"
MEMORY_END="0x80000000"



On Thu, 16 Nov 2023, Mario Marietto wrote:
> It didn't work. This is the scr file generated.
> 
> ext2load mmc 1:3 0x51000000 zImage-6.6.0-xen-iommu-dma-on-xen
> ext2load mmc 1:3 0x60000000 xen-4.17-armhf.ub
> ext2load mmc 1:3 0x61000000 exynos5250-snow.dtb
> fdt addr 0x61000000
> fdt resize 1024
> fdt set /chosen \#address-cells <0x2>
> fdt set /chosen \#size-cells <0x2>
> fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=768 dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> fdt mknod /chosen dom0
> fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> fdt set /chosen/dom0 reg <0x0 0x51000000 0x0 0x87C200 >
> fdt set /chosen xen,dom0-bootargs "console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> setenv fdt_high 0xffffffffffffffff
> bootm 0x60000000 - 0x61000000
> 
> So,I ran :
> 
> bash /boot/./uboot-script-gen -c /boot/xen-config -d .
> 
> it says :
> 
> Image Name:    
> Created:      Wed Nov 15 23:55:40 2023
> Image Type:   ARM Linux Kernel Image (uncompressed)
> Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
> Load Address: 60000000
> Entry Point:  60000000
> Generated uboot script xen-stef.scr, to be loaded at address 0x42000000:
> ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000
> 
> ok,I've booted xen with the suggested address :
> 
> ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000
> 
> but it rebooted to the verification screen.
> 
> NB : I have applied both your suggestions (offset + your new start and end memory address. Maybe they auto exclude each other ?)
> 
> On Thu, Nov 16, 2023 at 12:49 AM Stefano Stabellini <sstabellini@kernel.org> wrote:
>       On Wed, 15 Nov 2023, Chuck Zmudzinski wrote:
>       > On 11/14/2023 6:43 PM, Mario Marietto wrote:
>       > > I hope that the informations below are correct :
>       >
>       > I don't know that they are correct. I have not spent the necessary time to
>       > determine what the correct values for MEMORY_START and MEMORY_END are for
>       > the Chromebook we are using. I just presumed, probably incorrectly, that
>       > the entire 2 GB memory is safe, but obviously that is not the case with
>       > this Chromebook. Most likely, it requires a good understanding of the
>       > particular way booting is done on a Chromebook, which seems to be different
>       > from other devices.
>       >
>       > I plan to eventually look into finding values for MEMORY_START and MEMORY_END
>       > sothe uboot-script-gen script computes usable values for loading Xen and dom0
>       > on this Chromebook in the script, but I might not get to that task immediately.
>       > I plan to look at it within the next week or so.
> 
>       A couple of suggestions. I noticed that the addresses you chose have a
>       higher alignment compared to the one chosen by Imagebuilder.
>       Imagebuilder uses 2MB:
> 
>       offset=$((2*1024*1024))
> 
>       I would think that a 2MB alignment should be sufficient, but you can
>       increase the alignment chosen by Imagebuilder simply by changing
>       "offset" at the top of uboot-script-gen. You seem to be used a 240MB
>       offset:
> 
>       offset=$((240*1024*1024))
> 
>       The other suggestion is about MEMORY_START and MEMORY_END. Looking at
>       the addresses you picked by hand, the following you should give you very
>       similar results:
> 
>       MEMORY_START=0x33000000
>       MEMORY_END=0x80000000
> 
> 
>       > > - the imagebuilder config file :
>       > >
>       > > MEMORY_START="0x0"
>       > > MEMORY_END="0x80000000"
>       > > LOAD_CMD="ext2load mmc 1:3"
>       > > BOOT_CMD="bootm"
>       > > DEVICE_TREE="exynos5250-snow.dtb"
>       > > XEN="xen-4.17-armhf"
>       > > XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
>       > > DOM0_KERNEL="zImage-6.6.0-xen-iommu-dma-on-xen"
>       > > DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>       > > UBOOT_SOURCE="xen.source"
>       > > UBOOT_SCRIPT="xen.scr"
>       > >
>       > > xen.source : (that does not work)
>       > >
>       > > mmc dev 1
>       > > ext2load mmc 1:3 0xE00000 zImage-6.6.0-xen-iommu-dma-on-xen
>       > > ext2load mmc 1:3 0x1800000 xen-4.17-armhf.ub
>       > > ext2load mmc 1:3 0x1A00000 exynos5250-snow.dtb
>       > > fdt addr 0x1A00000
>       > > fdt resize 1024
>       > > fdt set /chosen \#address-cells <0x2>
>       > > fdt set /chosen \#size-cells <0x2>
>       > > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native
>       sched=null"
>       > > fdt mknod /chosen dom0
>       > > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
>       > > fdt set /chosen/dom0 reg <0x0 0xE00000 0x0 0x87C200 >
>       > > fdt set /chosen xen,dom0-bootargs "console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait
>       clk_ignore_unused"
>       > > setenv fdt_high 0xffffffffffffffff
>       > > bootm 0x1800000 - 0x1A00000
>       > >
>       > > xen.source : (created by chuck and that works)
>       > >
>       > > mmc dev 1
>       > > ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
>       > > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
>       > > ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
>       > > fdt addr 0x5ffec000
>       > > fdt resize 1024
>       > > fdt set /chosen \#address-cells <0x2>
>       > > fdt set /chosen \#size-cells <0x2>
>       > > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native
>       sched=null"
>       > > fdt mknod /chosen dom0
>       > > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
>       > > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
>       > > fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused --no-log"
>       > > bootm 0x51000000 - 0x5ffec000
>       > >
>       > > all the values that you see in this conf. files have been calculated by chuck by hand,because the values generated by the
>       imagebuilder are wrong. The only value that's well calculated by the imagebuilder is 0x87C200
>       > >
>       > > - the size of all the binaries specified in the imagebuilder config file :
>       > >
>       > > exynos5250-snow.dtb = 46.6 KiB (47,769 byte)
>       > > zImage-6.6.0-xen-iommu-dma-on-xen = 8.5 MiB (8,897,024 byte)
>       > >
>       > >
>       > >
>       > > On Wed, Nov 15, 2023 at 12:17 AM Stefano Stabellini <sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
>       > >
>       > >     Hi Mario,
>       > >
>       > >     I think we misunderstood each other :-)
>       > >
>       > >     MEMORY_START-MEMORY_END is not supposed to be computed: it is supposed
>       > >     to come from the memory node in device tree tree (/memory) of the
>       > >     platform. The idea is that you should not have to do any computations,
>       > >     but only reuse the same address range specified there.
>       > >
>       > >     Similarly in regards to "please post the size of all the binaries",
>       > >     this is just for debugging, so that I can see if there are any bugs with
>       > >     uboot-script-gen. I cannot debug the script unless I figure out what the
>       > >     problem is and the only way I can do that is with the binary sizes and
>       > >     redoing all the steps by hand.
>       > >
>       > >     The expected outcome is that once we resolve the problem you should be
>       > >     able to use uboot-script-gen without any additional computation needed.
>       > >
>       > >     Of course using static values is also OK.
>       > >
>       > >
>       > >     On Wed, 15 Nov 2023, Mario Marietto wrote:
>       > >     > ---> uboot-script-gen assumes that the memory range specified by MEMORY_START-MEMORY_END is valid and correct.
>       > >     >
>       > >     > Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and these are stable values,they don't change. If
>       you ask me to calculate
>       > >     > those values,it means that we need to compute these values. I imagine that to calculate these values is not easy.
>       > >     >
>       > >     > ---> To debug this kind of issues please post the size of all the binaries specified in the imagebuilder config file
>       > >     >
>       > >     > I imagine that I should also calculate those values. And again,I see a complication.
>       > >     >
>       > >     > I'm realizing that the method used by Chuck is easier because he uses stable values. In the end,there aren't any
>       calculations to do and
>       > >     > since I'm looking for an easier method,not a more complicated one,I think that Chuck's method is good as is. 
>       > >     >
>       > >     > On Tue, Nov 14, 2023 at 11:51 PM Stefano Stabellini <sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
>       > >     >       Hi Mario,
>       > >     >
>       > >     >       It is difficult to know how to change uboot-script-gen if we don't know
>       > >     >       why it is currently going wrong.
>       > >     >
>       > >     >       uboot-script-gen assumes that the memory range specified by
>       > >     >       MEMORY_START-MEMORY_END is valid and correct.
>       > >     >
>       > >     >       So if you specified a valid and correct memory range in your config file
>       > >     >       (0x41e00000-0x60000000) why is it failing?
>       > >     >
>       > >     >       The only thing uboot-script-gen does is choosing aligned addresses
>       > >     >       within the MEMORY_START-MEMORY_END range. The addresses are supposed not
>       > >     >       to overlap (meaning the initrd will not overwrite part of the kernel
>       > >     >       when loaded). If the issue is a bug in uboot-script-gen, such as the
>       > >     >       generated addresses overlap or they are not aligned, then we can fix the
>       > >     >       alignment or overlap bug. To debug this kind of issues please post:
>       > >     >       - the imagebuilder config file
>       > >     >       - the generate boot.source script
>       > >     >       - the size of all the binaries specified in the imagebuilder config file
>       > >     >
>       > >     >       On the other hand if 0x41e00000-0x60000000 is not a safe memory range to
>       > >     >       use, then you need to specify a different memory range.
>       > >     >
>       > >     >       Cheers,
>       > >     >
>       > >     >       Stefano
>       > >     >
>       > >     >
>       > >     >
>       > >     >       On Mon, 13 Nov 2023, Mario Marietto wrote:
>       > >     >       > Hello.
>       > >     >       >
>       > >     >       > I'm trying to find an easier way to the problem that you can read here :
>       > >     >       >
>       > >     >       > https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest
>       <https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest>
>       > >     >       >
>       > >     >       > where Chuck says :
>       > >     >       >
>       > >     >       >  6. Create the u-boot shell commands that will be used to boot Xen and dom0.
>       > >     >       >
>       > >     >       > Create a file in /home/user (or any other directory) named bootxen.source with these contents :
>       > >     >       >
>       > >     >       >
>       > >     >       > mmc dev 1 && mmc rescan 1
>       > >     >       > ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
>       > >     >       > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
>       > >     >       > ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
>       > >     >       > fdt addr 0x5ffec000
>       > >     >       > fdt resize 1024
>       > >     >       > fdt set /chosen \#address-cells <0x2>
>       > >     >       > fdt set /chosen \#size-cells <0x2>
>       > >     >       > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=2 bootscrub=0
>       vwfi=native"
>       > >     >       > fdt mknod /chosen dom0
>       > >     >       > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
>       > >     >       > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
>       > >     >       > fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>       > >     >       > bootm 0x51000000 - 0x5ffec000
>       > >     >       >
>       > >     >       > The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from
>       the
>       > >     >       uboot-script-gen script
>       > >     >       > available from here :
>       > >     >       >
>       > >     >       >
>       > >     >       > https://gitlab.com/ViryaOS/imagebuilder <https://gitlab.com/ViryaOS/imagebuilder>
>       > >     >       >
>       > >     >       >
>       > >     >       > This is the interesting point :
>       > >     >       >
>       > >     >       >
>       > >     >       > Please note that most of the other values in the script generated by the ViryaOS uboot-script-gen do not work
>       correctly with
>       > >     >       the Chromebook
>       > >     >       > Snow, but the script does correctly calculate the size of the dom0 Linux kernel image.
>       > >     >       >
>       > >     >       >
>       > >     >       > Some time ago Stefano suggested to put the values below for MEMORY_START and MEMORY_END inside the xen-config
>       file :
>       > >     >       >
>       > >     >       >
>       > >     >       > nano xen-config file :
>       > >     >       >
>       > >     >       >
>       > >     >       > MEMORY_START="0x41e00000"
>       > >     >       > MEMORY_END="0x60000000"
>       > >     >       > LOAD_CMD="ext2load mmc 1:3"
>       > >     >       > BOOT_CMD="bootm"
>       > >     >       > DEVICE_TREE="exynos5250-snow.dtb"
>       > >     >       > XEN="xen-4.17-armhf"
>       > >     >       > XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=768M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
>       > >     >       > DOM0_KERNEL="zImage-6.6.0-xen-dma-mapping"
>       > >     >       > DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>       > >     >       > UBOOT_SOURCE="xen.source"
>       > >     >       >
>       > >     >       >
>       > >     >       > bash ./uboot-script-gen -c xen-config -d .
>       > >     >       >
>       > >     >       >
>       > >     >       > Image Name:    
>       > >     >       > Created:      Thu Nov  2 20:59:24 2023
>       > >     >       > Image Type:   ARM Linux Kernel Image (uncompressed)
>       > >     >       > Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
>       > >     >       > Load Address: 42c00000
>       > >     >       > Entry Point:  42c00000
>       > >     >       >
>       > >     >       >
>       > >     >       > Generated uboot script xen.scr, to be loaded at address 0x42000000:
>       > >     >       > ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
>       > >     >       >
>       > >     >       >
>       > >     >       > and I tried to boot Xen and Linux 6.6 as dom0 :
>       > >     >       >
>       > >     >       > SMDK5250 # mmc dev 1
>       > >     >       > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
>       > >     >       > but it did not work : it reboots on the verification screen.
>       > >     >       >
>       > >     >       > --
>       > >     >       > Mario.
>       > >     >       >
>       > >     >       >
>       > >     >
>       > >     >
>       > >     >
>       > >     > --
>       > >     > Mario.
>       > >     >
>       > >     >
>       > >
>       > >
>       > >
>       > > --
>       > > Mario.
>       >
> 
> 
> 
> --
> Mario.
> 
> 
--8323329-941938851-1700093954=:160649--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 00:40:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 00:40:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633913.989084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3QR0-00030W-F9; Thu, 16 Nov 2023 00:40:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633913.989084; Thu, 16 Nov 2023 00:40: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 1r3QR0-00030P-Bk; Thu, 16 Nov 2023 00:40:42 +0000
Received: by outflank-mailman (input) for mailman id 633913;
 Thu, 16 Nov 2023 00:40: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=6/O6=G5=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r3QQx-00030H-Uw
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 00:40:41 +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 c212e464-8418-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 01:40:36 +0100 (CET)
Received: by mail-ej1-x62e.google.com with SMTP id
 a640c23a62f3a-9c53e8b7cf4so34269966b.1
 for <xen-devel@lists.xenproject.org>; Wed, 15 Nov 2023 16:40:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c212e464-8418-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700095236; x=1700700036; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=5Ta3vji/sxnlx+mrCwTa9YJ23rim4PZ41amaP6fZODc=;
        b=LRRWWl8Pph6PTY6VZpVNlHViKZldB0dqwMK6QnWfp02UvZENKm8CnsLi3uS61EYTMH
         JnvO1osgNAJISMRizYzE0xCxjfxkDLk/HS7wi6GHm7GCa/wBojvO5XCpcurTaYZ00o02
         UT7odusjx54jfBiDxRLh5exykQQGZFXIMtUpwAQORV5SZ6bsac85kC4a81ySRERqFtl8
         52GZM6ev4SHQfjYI6tHaY/IQ705WdY5sOBMSY2U+LUAxV/5BGMlk2BI2tyXr9prsbiZd
         tkHT3TUXYcF9Mxic98fOENQTI9Aq3wC81Vc/vCE4XCr1p24RFwHWUK6YUAyHbx4dAJWP
         bF1w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700095236; x=1700700036;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=5Ta3vji/sxnlx+mrCwTa9YJ23rim4PZ41amaP6fZODc=;
        b=IdkeuVRAl9BaxTJadriB8VDFzFjybMYaNVozfKn67my9DK9wB4/diXVK0zT4eaxv9K
         lF/ANxq2Nk92fy0oxOVAwzp9bUgWUEyrLZiZ1plJ2TVeG2y63qQ3aunyxJEyLMsF8uWe
         BkfXJwkdJCtKWVVwQlU31Zt5zDTZHSA4ILb9ONMYDuZhIZUXqyWh+Wh3zb5SpGjDmO3S
         RGPJPwsT3hbRh039mwo/AZ02zaugmvg0w9np3WQmTR9A/7fjH4+zBpCB4Y1SeBl+6Z8F
         t/fH4YUOm59WkYnO7xiEVU6cCxq45fS8BUbzxmvO4Zr+CijwqOcsqMShYd+1qdZ0Tg8L
         0ysg==
X-Gm-Message-State: AOJu0Yy8yevkOBS1OHjyRwyYAhtRYgY6h8wHxBMTY4rk7x9nn+T98eNA
	RyY90cbBHgve735pB5jVtX+y69c0jAIVlgLHLFgTZuj8jGKmCph5
X-Google-Smtp-Source: AGHT+IHe6HUleFrftsvT7WFfzPQJBH9y/ZVKlixVvNgiOAIsiqnZ+ST0NeAxNax6t+xlJfAW9wCcA/c9l58tRi0C5uU=
X-Received: by 2002:a17:906:4b47:b0:9be:e278:4d45 with SMTP id
 j7-20020a1709064b4700b009bee2784d45mr10378323ejv.15.1700095235748; Wed, 15
 Nov 2023 16:40:35 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijOYJneLxEfss2BoY0Q4vafa+gVdQeyOfy7A_bTAA6QLw@mail.gmail.com>
 <0aeaf3a8-096b-4ae2-be40-6d39914b28ea@netscape.net> <alpine.DEB.2.22.394.2311151542030.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSigcyYVosn1X_aoCoZVAtYunkmmrNq_h4Wggud4bmr9Mrg@mail.gmail.com> <alpine.DEB.2.22.394.2311151611120.160649@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2311151611120.160649@ubuntu-linux-20-04-desktop>
From: Mario Marietto <marietto2008@gmail.com>
Date: Thu, 16 Nov 2023 01:39:59 +0100
Message-ID: <CA+1FSiiJz99RcEfmPVXWo4Jhz5eaxV3OGvV6PCVcyhW1+a9AyA@mail.gmail.com>
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Chuck Zmudzinski <brchuckz@netscape.net>, 
	=?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
	Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	xen-devel <xen-devel@lists.xenproject.org>
Content-Type: multipart/related; boundary="0000000000009ca859060a3a4463"

--0000000000009ca859060a3a4463
Content-Type: multipart/alternative; boundary="0000000000009ca858060a3a4462"

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

Generated uboot script x.scr, to be loaded at address 0x3A800000:
ext2load mmc 1:3 0x3A800000 x.scr; source 0x3A800000


[image: WhatsApp Image 2023-11-16 at 01.35.57.jpeg]

On Thu, Nov 16, 2023 at 1:20=E2=80=AFAM Stefano Stabellini <sstabellini@ker=
nel.org>
wrote:

> I miscalculated MEMORY_START. If you try with:
>
> offset=3D$((240*1024*1024)) # this change in scripts/uboot-script-gen
> MEMORY_START=3D"0x24000000"
> MEMORY_END=3D"0x80000000"
>
> then it should use:
> tftpb 0x42000000 Linux
> tftpb 0x50000000 Xen
> tftpb 0x60000000 DTB
>
> which is very similar to what Chuck used. It might work.
>
> However, I noticed now that Chuck's last addess is lower than
> 0x60000000. I wonder if that is the issue? If we cannot exceed
> 0x60000000, then maybe I would try with:
>
> offset=3D$((120*1024*1024)) # this change in scripts/uboot-script-gen
> MEMORY_START=3D"0x33000000"
> MEMORY_END=3D"0x80000000"
>
>
>
> On Thu, 16 Nov 2023, Mario Marietto wrote:
> > It didn't work. This is the scr file generated.
> >
> > ext2load mmc 1:3 0x51000000 zImage-6.6.0-xen-iommu-dma-on-xen
> > ext2load mmc 1:3 0x60000000 xen-4.17-armhf.ub
> > ext2load mmc 1:3 0x61000000 exynos5250-snow.dtb
> > fdt addr 0x61000000
> > fdt resize 1024
> > fdt set /chosen \#address-cells <0x2>
> > fdt set /chosen \#size-cells <0x2>
> > fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dserial0
> dom0_mem=3D768 dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnul=
l"
> > fdt mknod /chosen dom0
> > fdt set /chosen/dom0 compatible  "xen,linux-zimage"
> "xen,multiboot-module" "multiboot,module"
> > fdt set /chosen/dom0 reg <0x0 0x51000000 0x0 0x87C200 >
> > fdt set /chosen xen,dom0-bootargs "console=3Dtty earlycon=3Dxen
> earlyprintk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> > setenv fdt_high 0xffffffffffffffff
> > bootm 0x60000000 - 0x61000000
> >
> > So,I ran :
> >
> > bash /boot/./uboot-script-gen -c /boot/xen-config -d .
> >
> > it says :
> >
> > Image Name:
> > Created:      Wed Nov 15 23:55:40 2023
> > Image Type:   ARM Linux Kernel Image (uncompressed)
> > Data Size:    884744 Bytes =3D 864.01 KiB =3D 0.84 MiB
> > Load Address: 60000000
> > Entry Point:  60000000
> > Generated uboot script xen-stef.scr, to be loaded at address 0x42000000=
:
> > ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000
> >
> > ok,I've booted xen with the suggested address :
> >
> > ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000
> >
> > but it rebooted to the verification screen.
> >
> > NB : I have applied both your suggestions (offset + your new start and
> end memory address. Maybe they auto exclude each other ?)
> >
> > On Thu, Nov 16, 2023 at 12:49=E2=80=AFAM Stefano Stabellini <
> sstabellini@kernel.org> wrote:
> >       On Wed, 15 Nov 2023, Chuck Zmudzinski wrote:
> >       > On 11/14/2023 6:43 PM, Mario Marietto wrote:
> >       > > I hope that the informations below are correct :
> >       >
> >       > I don't know that they are correct. I have not spent the
> necessary time to
> >       > determine what the correct values for MEMORY_START and
> MEMORY_END are for
> >       > the Chromebook we are using. I just presumed, probably
> incorrectly, that
> >       > the entire 2 GB memory is safe, but obviously that is not the
> case with
> >       > this Chromebook. Most likely, it requires a good understanding
> of the
> >       > particular way booting is done on a Chromebook, which seems to
> be different
> >       > from other devices.
> >       >
> >       > I plan to eventually look into finding values for MEMORY_START
> and MEMORY_END
> >       > sothe uboot-script-gen script computes usable values for loadin=
g
> Xen and dom0
> >       > on this Chromebook in the script, but I might not get to that
> task immediately.
> >       > I plan to look at it within the next week or so.
> >
> >       A couple of suggestions. I noticed that the addresses you chose
> have a
> >       higher alignment compared to the one chosen by Imagebuilder.
> >       Imagebuilder uses 2MB:
> >
> >       offset=3D$((2*1024*1024))
> >
> >       I would think that a 2MB alignment should be sufficient, but you
> can
> >       increase the alignment chosen by Imagebuilder simply by changing
> >       "offset" at the top of uboot-script-gen. You seem to be used a
> 240MB
> >       offset:
> >
> >       offset=3D$((240*1024*1024))
> >
> >       The other suggestion is about MEMORY_START and MEMORY_END. Lookin=
g
> at
> >       the addresses you picked by hand, the following you should give
> you very
> >       similar results:
> >
> >       MEMORY_START=3D0x33000000
> >       MEMORY_END=3D0x80000000
> >
> >
> >       > > - the imagebuilder config file :
> >       > >
> >       > > MEMORY_START=3D"0x0"
> >       > > MEMORY_END=3D"0x80000000"
> >       > > LOAD_CMD=3D"ext2load mmc 1:3"
> >       > > BOOT_CMD=3D"bootm"
> >       > > DEVICE_TREE=3D"exynos5250-snow.dtb"
> >       > > XEN=3D"xen-4.17-armhf"
> >       > > XEN_CMD=3D"console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1152M
> dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull"
> >       > > DOM0_KERNEL=3D"zImage-6.6.0-xen-iommu-dma-on-xen"
> >       > > DOM0_CMD=3D"console=3Dtty earlycon=3Dxen earlyprintk=3Dxen
> root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> >       > > UBOOT_SOURCE=3D"xen.source"
> >       > > UBOOT_SCRIPT=3D"xen.scr"
> >       > >
> >       > > xen.source : (that does not work)
> >       > >
> >       > > mmc dev 1
> >       > > ext2load mmc 1:3 0xE00000 zImage-6.6.0-xen-iommu-dma-on-xen
> >       > > ext2load mmc 1:3 0x1800000 xen-4.17-armhf.ub
> >       > > ext2load mmc 1:3 0x1A00000 exynos5250-snow.dtb
> >       > > fdt addr 0x1A00000
> >       > > fdt resize 1024
> >       > > fdt set /chosen \#address-cells <0x2>
> >       > > fdt set /chosen \#size-cells <0x2>
> >       > > fdt set /chosen xen,xen-bootargs "console=3Ddtuart
> dtuart=3Dserial0 dom0_mem=3D1152M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=
=3Dnative
> >       sched=3Dnull"
> >       > > fdt mknod /chosen dom0
> >       > > fdt set /chosen/dom0 compatible  "xen,linux-zimage"
> "xen,multiboot-module" "multiboot,module"
> >       > > fdt set /chosen/dom0 reg <0x0 0xE00000 0x0 0x87C200 >
> >       > > fdt set /chosen xen,dom0-bootargs "console=3Dtty earlycon=3Dx=
en
> earlyprintk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait
> >       clk_ignore_unused"
> >       > > setenv fdt_high 0xffffffffffffffff
> >       > > bootm 0x1800000 - 0x1A00000
> >       > >
> >       > > xen.source : (created by chuck and that works)
> >       > >
> >       > > mmc dev 1
> >       > > ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
> >       > > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.u=
b
> >       > > ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
> >       > > fdt addr 0x5ffec000
> >       > > fdt resize 1024
> >       > > fdt set /chosen \#address-cells <0x2>
> >       > > fdt set /chosen \#size-cells <0x2>
> >       > > fdt set /chosen xen,xen-bootargs "console=3Ddtuart
> dtuart=3Dserial0 dom0_mem=3D1152M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=
=3Dnative
> >       sched=3Dnull"
> >       > > fdt mknod /chosen dom0
> >       > > fdt set /chosen/dom0 compatible  "xen,linux-zimage"
> "xen,multiboot-module" "multiboot,module"
> >       > > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
> >       > > fdt set /chosen xen,dom0-bootargs "console=3Dtty1
> root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused --no-log"
> >       > > bootm 0x51000000 - 0x5ffec000
> >       > >
> >       > > all the values that you see in this conf. files have been
> calculated by chuck by hand,because the values generated by the
> >       imagebuilder are wrong. The only value that's well calculated by
> the imagebuilder is 0x87C200
> >       > >
> >       > > - the size of all the binaries specified in the imagebuilder
> config file :
> >       > >
> >       > > exynos5250-snow.dtb =3D 46.6 KiB (47,769 byte)
> >       > > zImage-6.6.0-xen-iommu-dma-on-xen =3D 8.5 MiB (8,897,024 byte=
)
> >       > >
> >       > >
> >       > >
> >       > > On Wed, Nov 15, 2023 at 12:17=E2=80=AFAM Stefano Stabellini <
> sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
> >       > >
> >       > >     Hi Mario,
> >       > >
> >       > >     I think we misunderstood each other :-)
> >       > >
> >       > >     MEMORY_START-MEMORY_END is not supposed to be computed: i=
t
> is supposed
> >       > >     to come from the memory node in device tree tree (/memory=
)
> of the
> >       > >     platform. The idea is that you should not have to do any
> computations,
> >       > >     but only reuse the same address range specified there.
> >       > >
> >       > >     Similarly in regards to "please post the size of all the
> binaries",
> >       > >     this is just for debugging, so that I can see if there ar=
e
> any bugs with
> >       > >     uboot-script-gen. I cannot debug the script unless I
> figure out what the
> >       > >     problem is and the only way I can do that is with the
> binary sizes and
> >       > >     redoing all the steps by hand.
> >       > >
> >       > >     The expected outcome is that once we resolve the problem
> you should be
> >       > >     able to use uboot-script-gen without any additional
> computation needed.
> >       > >
> >       > >     Of course using static values is also OK.
> >       > >
> >       > >
> >       > >     On Wed, 15 Nov 2023, Mario Marietto wrote:
> >       > >     > ---> uboot-script-gen assumes that the memory range
> specified by MEMORY_START-MEMORY_END is valid and correct.
> >       > >     >
> >       > >     > Actually Chuck chose 0 as MEMORY_START and 0x800000 as
> MEMORY_END and these are stable values,they don't change. If
> >       you ask me to calculate
> >       > >     > those values,it means that we need to compute these
> values. I imagine that to calculate these values is not easy.
> >       > >     >
> >       > >     > ---> To debug this kind of issues please post the size
> of all the binaries specified in the imagebuilder config file
> >       > >     >
> >       > >     > I imagine that I should also calculate those values. An=
d
> again,I see a complication.
> >       > >     >
> >       > >     > I'm realizing that the method used by Chuck is easier
> because he uses stable values. In the end,there aren't any
> >       calculations to do and
> >       > >     > since I'm looking for an easier method,not a more
> complicated one,I think that Chuck's method is good as is.
> >       > >     >
> >       > >     > On Tue, Nov 14, 2023 at 11:51=E2=80=AFPM Stefano Stabel=
lini <
> sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
> >       > >     >       Hi Mario,
> >       > >     >
> >       > >     >       It is difficult to know how to change
> uboot-script-gen if we don't know
> >       > >     >       why it is currently going wrong.
> >       > >     >
> >       > >     >       uboot-script-gen assumes that the memory range
> specified by
> >       > >     >       MEMORY_START-MEMORY_END is valid and correct.
> >       > >     >
> >       > >     >       So if you specified a valid and correct memory
> range in your config file
> >       > >     >       (0x41e00000-0x60000000) why is it failing?
> >       > >     >
> >       > >     >       The only thing uboot-script-gen does is choosing
> aligned addresses
> >       > >     >       within the MEMORY_START-MEMORY_END range. The
> addresses are supposed not
> >       > >     >       to overlap (meaning the initrd will not overwrite
> part of the kernel
> >       > >     >       when loaded). If the issue is a bug in
> uboot-script-gen, such as the
> >       > >     >       generated addresses overlap or they are not
> aligned, then we can fix the
> >       > >     >       alignment or overlap bug. To debug this kind of
> issues please post:
> >       > >     >       - the imagebuilder config file
> >       > >     >       - the generate boot.source script
> >       > >     >       - the size of all the binaries specified in the
> imagebuilder config file
> >       > >     >
> >       > >     >       On the other hand if 0x41e00000-0x60000000 is not
> a safe memory range to
> >       > >     >       use, then you need to specify a different memory
> range.
> >       > >     >
> >       > >     >       Cheers,
> >       > >     >
> >       > >     >       Stefano
> >       > >     >
> >       > >     >
> >       > >     >
> >       > >     >       On Mon, 13 Nov 2023, Mario Marietto wrote:
> >       > >     >       > Hello.
> >       > >     >       >
> >       > >     >       > I'm trying to find an easier way to the problem
> that you can read here :
> >       > >     >       >
> >       > >     >       >
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook=
/xen#starting-a-domu-guest
> >       <
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook=
/xen#starting-a-domu-guest
> >
> >       > >     >       >
> >       > >     >       > where Chuck says :
> >       > >     >       >
> >       > >     >       >  6. Create the u-boot shell commands that will
> be used to boot Xen and dom0.
> >       > >     >       >
> >       > >     >       > Create a file in /home/user (or any other
> directory) named bootxen.source with these contents :
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > mmc dev 1 && mmc rescan 1
> >       > >     >       > ext2load mmc 1:3 0x42000000
> zImage-6.1.61-stb-xen-cbe+
> >       > >     >       > ext2load mmc 1:3 0x51000000
> xen-4.17-armhf-armmp-0x51004000.ub
> >       > >     >       > ext2load mmc 1:3 0x5ffec000
> exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
> >       > >     >       > fdt addr 0x5ffec000
> >       > >     >       > fdt resize 1024
> >       > >     >       > fdt set /chosen \#address-cells <0x2>
> >       > >     >       > fdt set /chosen \#size-cells <0x2>
> >       > >     >       > fdt set /chosen xen,xen-bootargs "console=3Ddtu=
art
> dtuart=3Dserial0 dom0_mem=3D1G dom0_max_vcpus=3D2 bootscrub=3D0
> >       vwfi=3Dnative"
> >       > >     >       > fdt mknod /chosen dom0
> >       > >     >       > fdt set /chosen/dom0 compatible
> "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> >       > >     >       > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0
> 0x7D7200 >
> >       > >     >       > fdt set /chosen xen,dom0-bootargs "console=3Dtt=
y1
> root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> >       > >     >       > bootm 0x51000000 - 0x5ffec000
> >       > >     >       >
> >       > >     >       > The hex value 0x7D7200 is the size of the
> zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from
> >       the
> >       > >     >       uboot-script-gen script
> >       > >     >       > available from here :
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > https://gitlab.com/ViryaOS/imagebuilder <
> https://gitlab.com/ViryaOS/imagebuilder>
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > This is the interesting point :
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > Please note that most of the other values in th=
e
> script generated by the ViryaOS uboot-script-gen do not work
> >       correctly with
> >       > >     >       the Chromebook
> >       > >     >       > Snow, but the script does correctly calculate
> the size of the dom0 Linux kernel image.
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > Some time ago Stefano suggested to put the
> values below for MEMORY_START and MEMORY_END inside the xen-config
> >       file :
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > nano xen-config file :
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > MEMORY_START=3D"0x41e00000"
> >       > >     >       > MEMORY_END=3D"0x60000000"
> >       > >     >       > LOAD_CMD=3D"ext2load mmc 1:3"
> >       > >     >       > BOOT_CMD=3D"bootm"
> >       > >     >       > DEVICE_TREE=3D"exynos5250-snow.dtb"
> >       > >     >       > XEN=3D"xen-4.17-armhf"
> >       > >     >       > XEN_CMD=3D"console=3Ddtuart dtuart=3Dserial0
> dom0_mem=3D768M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnu=
ll"
> >       > >     >       > DOM0_KERNEL=3D"zImage-6.6.0-xen-dma-mapping"
> >       > >     >       > DOM0_CMD=3D"console=3Dtty earlycon=3Dxen
> earlyprintk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> >       > >     >       > UBOOT_SOURCE=3D"xen.source"
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > bash ./uboot-script-gen -c xen-config -d .
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > Image Name:
> >       > >     >       > Created:      Thu Nov  2 20:59:24 2023
> >       > >     >       > Image Type:   ARM Linux Kernel Image
> (uncompressed)
> >       > >     >       > Data Size:    884744 Bytes =3D 864.01 KiB =3D 0=
.84
> MiB
> >       > >     >       > Load Address: 42c00000
> >       > >     >       > Entry Point:  42c00000
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > Generated uboot script xen.scr, to be loaded at
> address 0x42000000:
> >       > >     >       > ext2load mmc 1:3 0x42000000 xen.scr; source
> 0x42000000
> >       > >     >       >
> >       > >     >       >
> >       > >     >       > and I tried to boot Xen and Linux 6.6 as dom0 :
> >       > >     >       >
> >       > >     >       > SMDK5250 # mmc dev 1
> >       > >     >       > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr;
> source 0x42000000
> >       > >     >       > but it did not work : it reboots on the
> verification screen.
> >       > >     >       >
> >       > >     >       > --
> >       > >     >       > Mario.
> >       > >     >       >
> >       > >     >       >
> >       > >     >
> >       > >     >
> >       > >     >
> >       > >     > --
> >       > >     > Mario.
> >       > >     >
> >       > >     >
> >       > >
> >       > >
> >       > >
> >       > > --
> >       > > Mario.
> >       >
> >
> >
> >
> > --
> > Mario.
> >
> >



--=20
Mario.

--0000000000009ca858060a3a4462
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><span style=3D"font-family:monospace"><span style=3D"color=
:rgb(0,0,0);background-color:rgb(255,255,255)">Generated uboot script x.scr=
, to be loaded at address 0x3A800000:
</span><br></span><div><span style=3D"font-family:monospace">ext2load mmc 1=
:3 0x3A800000 x.scr; source 0x3A800000</span></div><div><span style=3D"font=
-family:monospace"><br></span></div><div><br></div><div><img src=3D"cid:ii_=
lp0gs44i0" alt=3D"WhatsApp Image 2023-11-16 at 01.35.57.jpeg" width=3D"275"=
 height=3D"488"><br></div><div><span style=3D"font-family:monospace"></span=
></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail=
_attr">On Thu, Nov 16, 2023 at 1:20=E2=80=AFAM Stefano Stabellini &lt;<a hr=
ef=3D"mailto:sstabellini@kernel.org">sstabellini@kernel.org</a>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex">I miscalculated =
MEMORY_START. If you try with:<br>
<br>
offset=3D$((240*1024*1024)) # this change in scripts/uboot-script-gen<br>
MEMORY_START=3D&quot;0x24000000&quot;<br>
MEMORY_END=3D&quot;0x80000000&quot;<br>
<br>
then it should use:<br>
tftpb 0x42000000 Linux<br>
tftpb 0x50000000 Xen<br>
tftpb 0x60000000 DTB<br>
<br>
which is very similar to what Chuck used. It might work.<br>
<br>
However, I noticed now that Chuck&#39;s last addess is lower than<br>
0x60000000. I wonder if that is the issue? If we cannot exceed<br>
0x60000000, then maybe I would try with:<br>
<br>
offset=3D$((120*1024*1024)) # this change in scripts/uboot-script-gen<br>
MEMORY_START=3D&quot;0x33000000&quot;<br>
MEMORY_END=3D&quot;0x80000000&quot;<br>
<br>
<br>
<br>
On Thu, 16 Nov 2023, Mario Marietto wrote:<br>
&gt; It didn&#39;t work. This is the scr file generated.<br>
&gt; <br>
&gt; ext2load mmc 1:3 0x51000000 zImage-6.6.0-xen-iommu-dma-on-xen<br>
&gt; ext2load mmc 1:3 0x60000000 xen-4.17-armhf.ub<br>
&gt; ext2load mmc 1:3 0x61000000 exynos5250-snow.dtb<br>
&gt; fdt addr 0x61000000<br>
&gt; fdt resize 1024<br>
&gt; fdt set /chosen \#address-cells &lt;0x2&gt;<br>
&gt; fdt set /chosen \#size-cells &lt;0x2&gt;<br>
&gt; fdt set /chosen xen,xen-bootargs &quot;console=3Ddtuart dtuart=3Dseria=
l0 dom0_mem=3D768 dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnu=
ll&quot;<br>
&gt; fdt mknod /chosen dom0<br>
&gt; fdt set /chosen/dom0 compatible =C2=A0&quot;xen,linux-zimage&quot; &qu=
ot;xen,multiboot-module&quot; &quot;multiboot,module&quot;<br>
&gt; fdt set /chosen/dom0 reg &lt;0x0 0x51000000 0x0 0x87C200 &gt;<br>
&gt; fdt set /chosen xen,dom0-bootargs &quot;console=3Dtty earlycon=3Dxen e=
arlyprintk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused&quot;<=
br>
&gt; setenv fdt_high 0xffffffffffffffff<br>
&gt; bootm 0x60000000 - 0x61000000<br>
&gt; <br>
&gt; So,I ran :<br>
&gt; <br>
&gt; bash /boot/./uboot-script-gen -c /boot/xen-config -d .<br>
&gt; <br>
&gt; it says :<br>
&gt; <br>
&gt; Image Name: =C2=A0=C2=A0=C2=A0<br>
&gt; Created: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Wed Nov 15 23:55:40 2023<br>
&gt; Image Type: =C2=A0=C2=A0ARM Linux Kernel Image (uncompressed)<br>
&gt; Data Size: =C2=A0=C2=A0=C2=A0884744 Bytes =3D 864.01 KiB =3D 0.84 MiB<=
br>
&gt; Load Address: 60000000<br>
&gt; Entry Point: =C2=A060000000<br>
&gt; Generated uboot script xen-stef.scr, to be loaded at address 0x4200000=
0:<br>
&gt; ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000<br>
&gt; <br>
&gt; ok,I&#39;ve booted xen with the suggested address :<br>
&gt; <br>
&gt; ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000<br>
&gt; <br>
&gt; but it rebooted to the verification screen.<br>
&gt; <br>
&gt; NB : I have applied both your suggestions (offset + your new start and=
 end memory address. Maybe they auto exclude each other ?)<br>
&gt; <br>
&gt; On Thu, Nov 16, 2023 at 12:49=E2=80=AFAM Stefano Stabellini &lt;<a hre=
f=3D"mailto:sstabellini@kernel.org" target=3D"_blank">sstabellini@kernel.or=
g</a>&gt; wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0On Wed, 15 Nov 2023, Chuck Zmudzinski wrote:=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; On 11/14/2023 6:43 PM, Mario Marietto w=
rote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; I hope that the informations below=
 are correct :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; I don&#39;t know that they are correct.=
 I have not spent the necessary time to<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; determine what the correct values for M=
EMORY_START and MEMORY_END are for<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; the Chromebook we are using. I just pre=
sumed, probably incorrectly, that<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; the entire 2 GB memory is safe, but obv=
iously that is not the case with<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; this Chromebook. Most likely, it requir=
es a good understanding of the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; particular way booting is done on a Chr=
omebook, which seems to be different<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; from other devices.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; I plan to eventually look into finding =
values for MEMORY_START and MEMORY_END<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; sothe uboot-script-gen script computes =
usable values for loading Xen and dom0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; on this Chromebook in the script, but I=
 might not get to that task immediately.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; I plan to look at it within the next we=
ek or so.<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0A couple of suggestions. I noticed that the =
addresses you chose have a<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0higher alignment compared to the one chosen =
by Imagebuilder.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0Imagebuilder uses 2MB:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0offset=3D$((2*1024*1024))<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0I would think that a 2MB alignment should be=
 sufficient, but you can<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0increase the alignment chosen by Imagebuilde=
r simply by changing<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&quot;offset&quot; at the top of uboot-scrip=
t-gen. You seem to be used a 240MB<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0offset:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0offset=3D$((240*1024*1024))<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0The other suggestion is about MEMORY_START a=
nd MEMORY_END. Looking at<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0the addresses you picked by hand, the follow=
ing you should give you very<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0similar results:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0MEMORY_START=3D0x33000000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0MEMORY_END=3D0x80000000<br>
&gt; <br>
&gt; <br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; - the imagebuilder config file :<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; MEMORY_START=3D&quot;0x0&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; MEMORY_END=3D&quot;0x80000000&quot=
;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; LOAD_CMD=3D&quot;ext2load mmc 1:3&=
quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; BOOT_CMD=3D&quot;bootm&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; DEVICE_TREE=3D&quot;exynos5250-sno=
w.dtb&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; XEN=3D&quot;xen-4.17-armhf&quot;<b=
r>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; XEN_CMD=3D&quot;console=3Ddtuart d=
tuart=3Dserial0 dom0_mem=3D1152M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dna=
tive sched=3Dnull&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; DOM0_KERNEL=3D&quot;zImage-6.6.0-x=
en-iommu-dma-on-xen&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; DOM0_CMD=3D&quot;console=3Dtty ear=
lycon=3Dxen earlyprintk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_=
unused&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; UBOOT_SOURCE=3D&quot;xen.source&qu=
ot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; UBOOT_SCRIPT=3D&quot;xen.scr&quot;=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; xen.source : (that does not work)<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; mmc dev 1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; ext2load mmc 1:3 0xE00000 zImage-6=
.6.0-xen-iommu-dma-on-xen<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; ext2load mmc 1:3 0x1800000 xen-4.1=
7-armhf.ub<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; ext2load mmc 1:3 0x1A00000 exynos5=
250-snow.dtb<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt addr 0x1A00000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt resize 1024<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen \#address-cells &l=
t;0x2&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen \#size-cells &lt;0=
x2&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen xen,xen-bootargs &=
quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1152M dom0_max_vcpus=3D2 =
bootscrub=3D0 vwfi=3Dnative<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0sched=3Dnull&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt mknod /chosen dom0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen/dom0 compatible =
=C2=A0&quot;xen,linux-zimage&quot; &quot;xen,multiboot-module&quot; &quot;m=
ultiboot,module&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen/dom0 reg &lt;0x0 0=
xE00000 0x0 0x87C200 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen xen,dom0-bootargs =
&quot;console=3Dtty earlycon=3Dxen earlyprintk=3Dxen root=3D/dev/mmcblk1p4 =
rw rootwait<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0clk_ignore_unused&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; setenv fdt_high 0xffffffffffffffff=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; bootm 0x1800000 - 0x1A00000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; xen.source : (created by chuck and=
 that works)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; mmc dev 1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; ext2load mmc 1:3 0x42000000 zImage=
-6.6.0-xen-iommu-dma-on-xen<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; ext2load mmc 1:3 0x51000000 xen-4.=
17-armhf-armmp-0x51004000.ub<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; ext2load mmc 1:3 0x5ffec000 exynos=
5250-snow.dtb<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt addr 0x5ffec000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt resize 1024<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen \#address-cells &l=
t;0x2&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen \#size-cells &lt;0=
x2&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen xen,xen-bootargs &=
quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D1152M dom0_max_vcpus=3D2 =
bootscrub=3D0 vwfi=3Dnative<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0sched=3Dnull&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt mknod /chosen dom0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen/dom0 compatible =
=C2=A0&quot;xen,linux-zimage&quot; &quot;xen,multiboot-module&quot; &quot;m=
ultiboot,module&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen/dom0 reg &lt;0x0 0=
x42000000 0x0 0x87C200 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; fdt set /chosen xen,dom0-bootargs =
&quot;console=3Dtty1 root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused --=
no-log&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; bootm 0x51000000 - 0x5ffec000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; all the values that you see in thi=
s conf. files have been calculated by chuck by hand,because the values gene=
rated by the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0imagebuilder are wrong. The only value that&=
#39;s well calculated by the imagebuilder is 0x87C200<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; - the size of all the binaries spe=
cified in the imagebuilder config file :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; exynos5250-snow.dtb =3D 46.6=C2=A0=
KiB (47,769 byte)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; zImage-6.6.0-xen-iommu-dma-on-xen =
=3D 8.5=C2=A0MiB (8,897,024 byte)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; On Wed, Nov 15, 2023 at 12:17=E2=
=80=AFAM Stefano Stabellini &lt;<a href=3D"mailto:sstabellini@kernel.org" t=
arget=3D"_blank">sstabellini@kernel.org</a> &lt;mailto:<a href=3D"mailto:ss=
tabellini@kernel.org" target=3D"_blank">sstabellini@kernel.org</a>&gt;&gt; =
wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0Hi Mario,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0I think we misu=
nderstood each other :-)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0MEMORY_START-ME=
MORY_END is not supposed to be computed: it is supposed<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0to come from th=
e memory node in device tree tree (/memory) of the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0platform. The i=
dea is that you should not have to do any computations,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0but only reuse =
the same address range specified there.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0Similarly in re=
gards to &quot;please post the size of all the binaries&quot;,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0this is just fo=
r debugging, so that I can see if there are any bugs with<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0uboot-script-ge=
n. I cannot debug the script unless I figure out what the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0problem is and =
the only way I can do that is with the binary sizes and<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0redoing all the=
 steps by hand.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0The expected ou=
tcome is that once we resolve the problem you should be<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0able to use ubo=
ot-script-gen without any additional computation needed.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0Of course using=
 static values is also OK.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0On Wed, 15 Nov =
2023, Mario Marietto wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; ---&gt; ub=
oot-script-gen assumes that the memory range specified by MEMORY_START-MEMO=
RY_END is valid and correct.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; Actually C=
huck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and these are stabl=
e values,they don&#39;t change. If<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0you ask me to calculate<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; those valu=
es,it means that we need to compute these values. I imagine that to calcula=
te these values is not easy.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; ---&gt; To=
 debug this kind of issues please post the size of all the binaries specifi=
ed in the imagebuilder config file<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; I imagine =
that I should also calculate those values. And again,I see a complication.<=
br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; I&#39;m re=
alizing that the method used by Chuck is easier because he uses stable valu=
es. In the end,there aren&#39;t any<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0calculations to do and<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; since I&#3=
9;m looking for an easier method,not a more complicated one,I think that Ch=
uck&#39;s method is good as is.=C2=A0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; On Tue, No=
v 14, 2023 at 11:51=E2=80=AFPM Stefano Stabellini &lt;<a href=3D"mailto:sst=
abellini@kernel.org" target=3D"_blank">sstabellini@kernel.org</a> &lt;mailt=
o:<a href=3D"mailto:sstabellini@kernel.org" target=3D"_blank">sstabellini@k=
ernel.org</a>&gt;&gt; wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0Hi Mario,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0It is difficult to know how to change uboot-script-gen if =
we don&#39;t know<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0why it is currently going wrong.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0uboot-script-gen assumes that the memory range specified b=
y<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0MEMORY_START-MEMORY_END is valid and correct.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0So if you specified a valid and correct memory range in yo=
ur config file<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0(0x41e00000-0x60000000) why is it failing?<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0The only thing uboot-script-gen does is choosing aligned a=
ddresses<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0within the MEMORY_START-MEMORY_END range. The addresses ar=
e supposed not<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0to overlap (meaning the initrd will not overwrite part of =
the kernel<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0when loaded). If the issue is a bug in uboot-script-gen, s=
uch as the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0generated addresses overlap or they are not aligned, then =
we can fix the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0alignment or overlap bug. To debug this kind of issues ple=
ase post:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0- the imagebuilder config file<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0- the generate boot.source script<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0- the size of all the binaries specified in the imagebuild=
er config file<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0On the other hand if 0x41e00000-0x60000000 is not a safe m=
emory range to<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0use, then you need to specify a different memory range.<br=
>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0Cheers,<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0Stefano<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0On Mon, 13 Nov 2023, Mario Marietto wrote:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Hello.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; I&#39;m trying to find an easier way to the problem t=
hat you can read here :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; <a href=3D"https://github.com/mobile-virt/u-boot-chro=
mebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest" rel=3D"noreferre=
r" target=3D"_blank">https://github.com/mobile-virt/u-boot-chromebook-xe303=
c12/tree/chromebook/xen#starting-a-domu-guest</a><br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a href=3D"https://github.com/mobile-vir=
t/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest" rel=
=3D"noreferrer" target=3D"_blank">https://github.com/mobile-virt/u-boot-chr=
omebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; where Chuck says :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;=C2=A0 6. Create the u-boot shell commands that will b=
e used to boot Xen and dom0.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Create a file in /home/user (or any other directory) =
named bootxen.source with these contents :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; mmc dev 1 &amp;&amp; mmc rescan 1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe=
+<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51=
004000.ub<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-st=
b-xen-cbe+.dtb<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; fdt addr 0x5ffec000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; fdt resize 1024<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; fdt set /chosen \#address-cells &lt;0x2&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; fdt set /chosen \#size-cells &lt;0x2&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; fdt set /chosen xen,xen-bootargs &quot;console=3Ddtua=
rt dtuart=3Dserial0 dom0_mem=3D1G dom0_max_vcpus=3D2 bootscrub=3D0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0vwfi=3Dnative&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; fdt mknod /chosen dom0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; fdt set /chosen/dom0 compatible=C2=A0 &quot;xen,linux=
-zimage&quot; &quot;xen,multiboot-module&quot; &quot;multiboot,module&quot;=
<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; fdt set /chosen/dom0 reg &lt;0x0 0x42000000 0x0 0x7D7=
200 &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; fdt set /chosen xen,dom0-bootargs &quot;console=3Dtty=
1 root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; bootm 0x51000000 - 0x5ffec000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; The hex value 0x7D7200 is the size of the zImage-6.1.=
61-stb-xen-cbe+ file, and that value is computed from<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0the<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0uboot-script-gen script<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; available from here :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; <a href=3D"https://gitlab.com/ViryaOS/imagebuilder" r=
el=3D"noreferrer" target=3D"_blank">https://gitlab.com/ViryaOS/imagebuilder=
</a> &lt;<a href=3D"https://gitlab.com/ViryaOS/imagebuilder" rel=3D"norefer=
rer" target=3D"_blank">https://gitlab.com/ViryaOS/imagebuilder</a>&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; This is the interesting point :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Please note that most of the other values in the scri=
pt generated by the ViryaOS uboot-script-gen do not work<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0correctly with<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0the Chromebook<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Snow, but the script does correctly calculate the siz=
e of the dom0 Linux kernel image.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Some time ago Stefano suggested to put the values bel=
ow for MEMORY_START and MEMORY_END inside the xen-config<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0file :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; nano xen-config file :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; MEMORY_START=3D&quot;0x41e00000&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; MEMORY_END=3D&quot;0x60000000&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; LOAD_CMD=3D&quot;ext2load mmc 1:3&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; BOOT_CMD=3D&quot;bootm&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; DEVICE_TREE=3D&quot;exynos5250-snow.dtb&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; XEN=3D&quot;xen-4.17-armhf&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; XEN_CMD=3D&quot;console=3Ddtuart dtuart=3Dserial0 dom=
0_mem=3D768M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull&qu=
ot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; DOM0_KERNEL=3D&quot;zImage-6.6.0-xen-dma-mapping&quot=
;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; DOM0_CMD=3D&quot;console=3Dtty earlycon=3Dxen earlypr=
intk=3Dxen root=3D/dev/mmcblk1p4 rw rootwait clk_ignore_unused&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; UBOOT_SOURCE=3D&quot;xen.source&quot;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; bash ./uboot-script-gen -c xen-config -d .<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Image Name: =C2=A0=C2=A0=C2=A0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Created: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Thu Nov =C2=A0=
2 20:59:24 2023<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Image Type: =C2=A0=C2=A0ARM Linux Kernel Image (uncom=
pressed)<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Data Size: =C2=A0=C2=A0=C2=A0884744 Bytes =3D 864.01 =
KiB =3D 0.84 MiB<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Load Address: 42c00000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Entry Point: =C2=A042c00000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Generated uboot script xen.scr, to be loaded at addre=
ss 0x42000000:<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; ext2load mmc 1:3 0x42000000 xen.scr; source 0x4200000=
0<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; and I tried to boot Xen and Linux 6.6 as dom0 :<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; SMDK5250 # mmc dev 1<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; sourc=
e 0x42000000<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; but it did not work : it reboots on the verification =
screen.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; --<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt; Mario.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;=C2=A0 =C2=
=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; --<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt; Mario.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; --<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt; &gt; Mario.<br>
&gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt; --<br>
&gt; Mario.<br>
&gt; <br>
&gt; </blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signatur=
e_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<b=
r></div>

--0000000000009ca858060a3a4462--
--0000000000009ca859060a3a4463
Content-Type: image/jpeg; name="WhatsApp Image 2023-11-16 at 01.35.57.jpeg"
Content-Disposition: inline; 
	filename="WhatsApp Image 2023-11-16 at 01.35.57.jpeg"
Content-Transfer-Encoding: base64
Content-ID: <ii_lp0gs44i0>
X-Attachment-Id: ii_lp0gs44i0

/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAYGBgYHBgcICAcKCwoLCg8ODAwODxYQERAREBYiFRkV
FRkVIh4kHhweJB42KiYmKjY+NDI0PkxERExfWl98fKcBBgYGBgcGBwgIBwoLCgsKDw4MDA4PFhAR
EBEQFiIVGRUVGRUiHiQeHB4kHjYqJiYqNj40MjQ+TERETF9aX3x8p//CABEICAAEgAMBIgACEQED
EQH/xAAxAAEBAAMBAQEAAAAAAAAAAAAAAQIDBAUGBwEBAQEBAQAAAAAAAAAAAAAAAAECAwT/2gAM
AwEAAhADEAAAAvCsvn7xYAFgsqSyriLIsKCSylUkolgylkLMjHPDMxsq45SpiKsuKWyrjlBLKZxB
hngk26tplccs6Y5YllgJSypCqlhkshZTCy1lLIllLjYmOeGwoWa9muygKJLClGWOUtgY2UuOUCqw
qlwzxS4Z4gVjswzNevPXZjnhnc57tW3G8MchlYMsbJbYSWVUsrISMscoY5YrLFbJAliSwuCVEpZZ
UWUxylMcsclxuOVSWIoMbKVSSiAyETLDKpljYWUxqmILLKqUiUllM8csS4ZYE26tqZXHLOmGeIlC
WWCksLZYZCJljTGy1lLIlgssJnrzrJLE17NdligCWFsq2yxZYY5YZkmWJkDEVljlilxyxAMdmvZW
rXs13OOeGdm3ZrzzvCzKLLDKWLQhjSwMkRbKWIsyxyFCEEE12W0IJRZSZY0gSXG0xzxKCTLGrZYS
wSyrSMbMqxzxyjHLGkyxyMSiWUBALKmcJWvZrsm7RvGUudMM8QuJZcbLYUDLHLGM4GOeGVY2ZFXG
MbMhKMM8M6ohrzwsFoIY5QtxyLcbLlEMcpRLKtljGpWWNhccsQEmevZWrVs16zM8czPLDPOpljlG
WOWBlMsTOIa85kS4ZGzHKLMpYY5QWUsoxWJBWuyksKsopEsqY5Y2saCZYlBIVbLBYSZY1SkspMsc
oxylMcpTEtJcSlMQLjkmRFuGeCYb9G8ZY551JcSwEuNZEBDLGjIRLMjCzIygYZY5AlY5Y5GSWJhn
hYlUspAMscoWValjGygFBJZWWOWBljlglllTZr2GnXnr1m54ZmWeGUqxLnjUZY5RcpYksphkGUsl
tlEsGWOQBJYkJWFxpLKTLHIqZS42EhaxqrjLEySkS0ssWUYzLGrYJlKSkALKYimOWJcscjFKTLHJ
M4K17NaY7tW0uWOWdJYQCWVQMcsEySmViWZYZmKVMgYZY22ywxyxyLYGOWKSFUACzKFlKJcbLVxy
xTIgQXHLEuOeBZZU2a9ho17NesXLHNcspZZZZclkZY5YrksJVjCrZlLjLbKJliMsaUEIkxyla5kS
WZLLKMsbETKscpTEKliUGNirZSoi42UAsoEATLHIxsUxygqCwkyxyM4LdeeCY7dO0yzwyzpEApMs
QEuOWJMkNkWXDPDOzDLHIol15Y5VZYTLDMCEsrAWVKArLHKFlKIxstXHKAqYkMscsS45YlllTPDN
NOvPDWbljmuVJqrIzxyxjPHKLQLLGOWOVXGyLZkSWCzIEEEY1WspLKEqrKmNmRjlKuJUgKggooll
EsCUXGlEATLHIxsUlhZYEyTHLHMylite3UmO3XsMs9eebiFSwsuNVYlxyxMscsTNKY541cbCZwMM
pSyjDPDNQEsTGWUoAMsbLklKDDKUsRLZTFBljlC4Z4UCTPDYc+GeG83LHKM8tec1RLljlDOXGMgr
LGkSxccsayssSUMschAgqSk13HIllWWUWVJcaLjTHKBLKqUiZCUSkJZUsyMapYSgkyioABLExylq
ZY5y0F156zHbr2pNurZmwiiVccsUylhcc8Sy4mZVwyxzMUplKMLjklSmGeOQlhZRhLKoLAmeGYsR
kgmeGZgywLljSAsuJccsasuKXLDM0YZ4bzcscjLLHLOqJcpliZ45SMpcVtxzNeeNS45Yy5lJjliX
LHILiRVYyk1gWUllVZSFMbMkxKYiqDHLGlASwmUMcsc6xUXHLGKKAgAGOWNlBM8MotFa9usx26tq
Nmvbm4EWCy43EyBlhngZY54GcUwzxyMbBnLFwyxyKlTDPDILBQwmWNLBZYW45FssFizLDJLjliUG
NlLjlC69mFWWIyxyOfDLHeMssaueUTVEueOWMbJcYzxyxW2UxsomWKZpCwjK40sCEqy4mAFlJZRZ
SWUxyxyMbIVJWUUlxpUyJSEsMc8M6iUuNhSFAlggkVVC4545yArDPEw3athdmvPNxSmIsY540ZYx
ljngZY5QtlMcscjFYZAwsyVQxywyFhKgmNlAUgyxyLZZbLDHLHJGOWJlcaQGWNhcM8KsuKWzKubH
LHWLljkudxymqqXLHLGNmOWJnjlhFzwyMcsciYZ41TKMWUMixFlQhYJrCssaTLGizJcMoSZY5GOO
SosQpcbKluNWpYQMcsbZQqZYGUsMohccoJYlxzwMpZayxyhZRjlgY7dW1MssMs2UXAWXHLEylxM8
MoZY5YloYZ45LMcomRDHLHIUXDLGpbKIhJljQBRMscxYlylGGWOSMM8S0MRVlhlhngXHKWLKc+OW
O8XPDOLljlNW42XKBnEjZhljLVphZkRZVqwliqIkolgQYWUxylJljkSykKY5SklEURlEwq1CgKBh
lMkSxcsMsUoLMsSyxUsS42VkCZY5SijDPBJs15mWeGcuNljAUlGWNi5YZYpnjliWzJcM8aSUmWOU
MMscilNdC2US4jHLGpSqImWORSylhLKjHLEtDEtJYXHLFCypQ55ZvncsclzSy2yyqS5yyMscsVyL
GOWOQxzwMqpJcTKykoTHPAErBKVLGOeNGWORjZSZY5GIBDKISy0liLBlEWZYZiWFwzwTIGWOUVMs
UIpMsTKUTLDMWZS4454pjnhsLnhnLEGILAyxyxMscsDbjYLKYmRMcsTIGNlGUGNxtWywlhMcsaCq
ImWORbLFlLjZUkywrKwS45klhcc8Cy42UHPLN87ZktEZ3GzVywyMkS543GXOyxjljkMcsTOhMcsS
5Y5BKIhcarUlFIJRZkY2UmWNIBAqjCrUURYJRjZSyxLLDLGwyxyxXLDPBLKqSwylGOeNLljlLMcs
bMNuvZFymUuNmS6qqSWGcuJlhniZSiZY5GIEuNZoiJkUGFlq0hLBjcapKoJlLFsRlAllJhswrIGO
WOYxyxLjliWWWWWGjHKb52i0DPCy5XDOLccprLGyMyrjljkJYZWISwZY5AEmUJLDVZbFJccpkSyk
spMscjEBFZQjGzKoogASAuOWJljliVYZY5YlmUJKrFRZYLKXLGwlhhnhnWdxyzZZTCyjGyspYZY5
YxkCZY5GIGOWNZAxyxpbKYgpYgGOeurFoUllKIoMcpS43AysGOWOZMc8S42WWZQS4mhZvncsclVB
UGeOUrPXnLljZLsJDLHJUuJlZYSwZY5CCJZalhrCUSyyiykspKpiqosSrFwylEpIpUpMQXHLEzxs
qxRLIyxsApYEyhLMhlAlhhnhsjLLHKXGzI12UksrKWGWNhkkLljlGIpjliZEEDJMjEFyxRnjYXXl
jQUAspRChjljkSXEyUY5Y5ElhccsbLLC45YWaobxlljlLcckY0qrjKzxyKllzsSsscpWOUMpQlkW
zIkyGKqxWJqlhQCqssEyIBLALMplsNDqzs453E4Z3l4b2jhnoE4MfRV5z0R519AcGPojgx9CnnT0
h5r0h589Evm5d9OB3ZHBj6A8zZ3U472M3iy6qcDuWcM7hxztLx498OK9hOHLrq8ePbDkw74crrhy
Y9mJz3oHK6Iam6xonRF0Y9Es0N0rVdkNdzphcrGDOGvJSY54hRhnjkRKrHLBM8bjZlj29VnhPcms
+Nl7Fl8d68PJx9iHkvVHl305L5l9GnDO+S8WXXTjnZJea9MOfHqxNN2o1NkMGUMGUrQJbMsRYKBZ
QUi9Fmjo25XAWFqSwtc2ZuaUb7zjoc46HNa6XNY6LzDqco6nKOpyjrcg68uJXY5EdeXFTscdOu8g
7HJDscdOu8g63JTrvIOtyDscY7Lxq7HIjscg67x2utyDrvIOty06XMOq8lOu8o6suQdblHW5KdTm
HVeUdLmp0znpvvOOhoptuobLqG1hS2LMgWgmdMWQxtzNd2U1to1to1ZZjG5UwZ0wZ0wmwa2ymq7K
v52OfWy4lsDLHIlmRK67lsNYWUBKULF5tXeOB3jgnojznpDzXpU8x6Y8x6dPLnqjynrDyXrU8h69
PGe0PFe0PFezTxntDxb7I8a+vTxnsDyL6w8l6tPKeoPLeqPLeoPLvpjzHpDzb6OR5j0YcDupwztH
G7Bx3rHI6xyumHO3w03bTS3U0Nw0t40Xfiabvhpuymm7Ya2yGtshhcglChJlTFkJYATKSrWFM7rG
26RuvPE67xxe1wj0HnD0r5SvXvjWOCZY462UiirKTKbLNu5dcwFmRKCyiyosFBUoBLKUCy0EoIsp
UoUSqBSywoTICyqlFIAUplKJQoVKVKLKLKAKCoVKCFAspFACgsGSUmQUoBUooLBUoULBlYFDJjTJ
KW42rZS3EZJSpSpQD86Wcu1liWCrKXr5+zWFLmyklBRVEWUAqWrKAhQigKoloASgssq2UWVVlRYK
lAKBZYpaAFAKgpRZRZRYKmQCpRbACAVKKEsoqCqJQygULYFlFlAKC2QtUWUJS2UWKtlGWOQBWNLY
MkGSQ/PsbOXaywsEWU6OjVt3hRFlQUALCirQFgBQAAUAFiqC2USgCgoKCpSoKCkLZRYMgAKCygFB
QVKVKCGQCC0AFCFFgyAKRRSFKLBbBQWwVBklKoFFKAtlKlLAqUViasPm+lPccPOfOyzl2ssC4lsV
3Z4bNYBAShbYFlRZaWWFiqIsUCgCiwLFLKBSUhZQWllFQpC2WAqpRZQoLCgUBQBZSgsC2UhSgAUF
gtgVCgAWwqUFJlBlJSgpDKykqkylCigy8z0uWs9+raWylspxa+jSd5RhmPifd8H1bOvly5K8iWcO
9lhccoktWd+WOWsALLRLJbjRQWWqBZQBQWAoAKFgoAKUlgpkSwUhkgtlCUWUoKgoKlFlAFBYMriL
ZQCgWUlCgFBSLCpSZQUFihMiVQC2UFAKBlKKCwWy1KFKW40oFlFlPiL9XyJ4nN9Er5Qce9lCZYoL
Z6FjWKBZaWEoFlFBYMmNKBYMoFSgFELApRRKBKVKUCygosFiGVgtmRCgCwUFSi40oKUXGlSlSioW
40qUWClJYKlAKlLYJlBQUhklFlGUFKAUhkCgoKlq2UAZY0WDKQZWE/PZZy7WWLZYizKzvWa5qFQV
MqEMrjS54dp42nVrrqco6nKTqvIOtyF63LDsnJTrnIOxxk7ZyF63IOycY7XEO1xDty4Kd14Ieg4B
6Dzx6LzaejfNHpXzB6jyx6d8unqvKHq3yR6zyaes8ketl449fLxh7N8Ue28Ue1l4Y9t4g914Y9vL
wh7rwh708Ie9l8/T3svnx9Bfnh9Dfnh9C+eH0L54fQ350fR35un0WXzVPpL80Ppr8zD6d8zD6i/L
U+ovyyPqr8pa+rfJ2PrXyVr62/IU+wnyA+xvxw+zfGU+zvxkPtb8UPtr8RTlmU5dQLLKtmSdw1zo
FAUClB6fmemfK9PN36mluWaZ0DROgc7eNDoi87fTnnRTmnSTmdJeadNOV0jldQ5HXDlnWOR1DldV
ON1jkdY5J2DjdkON2w43aOJ2Djdg43ZTkdg43XTid0PPd8OF3Dhd44HcOF3Dhdw4XcOGegPPd9PP
vePPvePPveOB304HeXz76A896A4L6GSefe/I856FPOx9OHmvSxPPegOC+hkea9EedfQhwPQq+e76
efe+p570MzzXp082ejDz3oU8mWcO1BZYXPDOu5GudAsWUFAoX0ODvPmu7Z9LXy979Opyva5Dgndk
ee6uak9DdHkzt1HPd9OeelzHLdutI9Mvlt0NU24GKykogAJQSyCrIAIBQoIWULAUSwgJSpULKAEo
FIqIqhSSoALKLSKALlKKSAopiyxIolKqUKFgqUyiRncBsuGVljEqDycc55+4VYF2a9idiXWKAVAq
lANnZx9Rye78j6Ve32/Kq97f83U755yunho9fs+e6I9zb4GC/Q4+L6JzdXj5HrfO9nIep1eTsPf5
vLp9Fx+Qs86ZY2RcRQRSLACUEsLAWCwAWlLAARAVIVYEAAWUABQACgBYKgWUAuWGRkBYKQgACDIA
JkxoUSiiJbBkxpWNPMxyx8/eirLC7Ne1OqmsLKgooC0KbN2rYeN9X8n9LTi7Ndc/H28VyhSyx6O3
Prmrhv5Th2dnSfOd+jrNM9DceHs9KHL4313ylmqxYgJYARRAAAJYFEAUsABbBUiAAKEoQCykWAFA
AUsKRQAABQUJUq1CZIVLCoMoAC40oQCpVrEZISpQQ87GvP3WCi1t17rnpFwsqLKLKLApXQg5PSx7
a8XZ7vPXk6vSxs86ZSyUN2zX7Ob4ufrYLxzs8WyoTJgO68BdmuEgpKJKIogEsAAICgSxagKIsAAQ
ACglCKIUiwoAAAAAKlAUCgAqUsCoKlAKgWUILYRYKlWwLKCEyinm42cO9BUo36N9z0FuFBZRZRYK
K6cM9Zo9Lj9WtXNqxrr5tWdmiFgG70fP3S92Pl7ZenzOzjuYKAgEEFWECwlCAASiAAAQAFgAKIAU
gFAFSiWEoIoAAALCgIWgAVChFgqVZULljQoRSKIUikAWCxVXGgAJ50s4d6AUnTzdNz0C4qClolKC
pTq079Bt9HwO2vZeNK6MOSWYSywU3+v5G/OvSvFgbfI7eS5xmUqTKEWEUSglEBFEWEWAgWAACWAA
ACwALBQAQolEspLKAAAAtgChKAiwtgUIBUqgUCypZC5RSSwKSAUALAllKg86y8O4Cyk6efpud4uQ
SpaZQUFsp06OjmPS7vK9CufPs4a4pv02cSrJljke7cPQzrxPP+k8BLv6uyuXHoyl8fL3afOz3eU8
u/RU+eevzWeN28XuHJx+t1x84+n0Hz3f63QfH479WmASLAABKIBYALAAApFBAFgqUJSUACULCxSV
CpVsRKAURSVCgAVC2UrHJSAUgARQiwAqCoOCHDvSkA6+TrudtluBRYFlKlLcbXXzdXIa+nu315U9
LbXhzfpsxe1qPKnt6TzdtyMdP0HPHj7PU415stHqpwZ9WxeDVj0JM9/aviZ78k8zp7PLro6OPpXK
XONO4OTV7PmWcV9CHnz04edOzjsFWPf8uOQlhYLKQBYVC2ACAACkAsoAAC1KQCwllhQCrAlgVBbK
sqJQLKIoCkosEoWCAAtSp5xeHZcclllJ18nZc7KXIqALLVELLXZx9vEb+nl7ay07rXLxejU7NerF
enq83rPO07+ZPcw8Pavr5eVkcPZyxPb3fPwz6OK19Fz+Vql97X5eZ9H8v1edZ6XsfK5H1PmeTifQ
7vmqv0XV8mPpMPnye5zeRTr83LGmWJPsfE4tEuCywACwFgAALACwKgWCkLKJZQFWAAEoAAAAKQpF
yQVCUCwUAAAKliAVC1KeeOHZZRYHZx9tzsS3IFCVKUVUp28Pd553ev4Hdp7HJ5+49DLyqdGOvMyu
rM6+XVpOL6f5f1k18W7nr6TXzZS7ObZrTxd+nbXr8PXxw9Dz+g8jHLHUgCCoKgILASwAIAAAAAAA
AAAFlJYKlBCpQFBBVikQKCy4lsogWBQoAqAJQsFgMsaEFligAAcBeHaWUllsdvF3M5WWwChKWpZS
lOzg9Dzq3bvW9CvmsPqOA8HDu4LLfQ4k3ep5vtS8uHobV8nx/T8uzO+j6UfOd3r8a+JPY8ayPpdh
8vj7ndHzk9rGvBn1eR8g9rxbEBLEC0AQCAIsAFgAsAAAAlAAABSAqBZQAABULAoAFhQFhFAQUAKl
CUBQAQQqVQATz6cO8okylqd/B6DNstgFKgtShUp3eX6nlVl1cG3WerLkpt1JZUG3fyF7ZyD0fPxH
R0efT08POp28UHpdXhWX6bh8iHb0+QPa1eSTv86yoESxQsQFhQBIpAAABKJQJQCWUAAALAsLLkYg
AAsUAASwoAUEqUQCiWUELYKRaESwqACkWgWDgHDrMscqxqjv4O+5pUCy2C2ClBTu8n1vJrDbtzs0
MlmLKVKIlAhUoRQBKQFQEsSWUIWBFgSiWAKAQWWAAQFACCywIUAAACwAVBZYVKLAUASygAAAAAFl
LLACUFSggAlCwAtILKcA4dVgCr38Pdc0M0VSgFBbjkd/k+t457nd52/S5szmz6sB4/q+ZZr5unns
kqyKiKIKAiiFMaElElgWEsCUqWIASwChUssQEpSWFSksFEARRFAABYLBZRKAoAAKShFgAAsqwolC
ACLBQAAoAIKAJS8A4dVlJZavdxdtystzUpRClUosp3+R7Hjmez6rOvk31XJXibMcExn0sPmX0Gde
Hh73nHms/o0+c3d/Uvkcn1fnHiz0vPTdp+k8heaev3Hyj6XnPBZevZ4r2rL4uP0/zVmAsgVLEAlA
SWyyixAJRQJZRKICiAAAALFICoKABZSAoAAFlIsABVAllSApCgBQQAAsCwqDhlx49rZSZQZ93D23
NsWURQlsVbBbKeh4vt+Iet1cCuvZ59sxwwyruy4qejn5HdLv5NnDZj7XiD2MvGsvuauflNE6eSz3
efzO06+nwOyX0Obn5LMPb83lPZ2eFD3PH17DmuzXcyxSKQABAAASgKAIUAAEoEoEACiBQASgsFQW
4igsCkKCLBYACwWUAlFABBSBQAQDhxycewEylM+zj7LmixZYqVKlqlAPR8X3PAPu8vkunT6Pg8fa
ad3HLPrNPjoy7PF6z1sPJ2Hd4PocFe3v8jfHsc3Jgvc4+JOX2PG7a9GcuUvVt87Ye38d7Pi2evr1
7T0sOTTGrzfV8rUgsQABAAAAAFARSKiKAoAIAFICyiUAAAWoSoKCywAsAAAsUURSVCpUBQAAALAA
4Rw7LLZLKbOvj7LlSxZShKCgtlPR8T3PDPdns7NPAy9nkT5/Y6qzw9rVHjPS6jxsPczX57m97wbP
W832JLqb+g8nb6Wyz5PZh7x4z0vWl8Dj+i8ezgkms1AQWBAQAAEWAAAAKCEqxQJAtkUBKAABUoIU
AEoqUgoQVKALBZRFgAsKCALKAqUgKCCFCgcMOHWiplBt6+TqucktlQmSUoKC2D0/nvovDroz97Gv
DezgnjM9tmD1pL5OfoReDH0tRxavQ32eZcNdnVOUdc5YZbucdWfDDrx5ghYIAJYAJRFgCpUkBKAW
gEoAlEEUBKAAWAWAoAACgAgAAFIUAhQAWC0CURUABYCgAAgLwLOPUUJU3dPN1XKxZbKAWyjLHIFP
T8H3vm6+y2fM5V9Bp8aF38qz1urwLHt7fnx718TWe30fNK6eOrnFvxXVMoRnikllARSwyjBnjZFL
FkRZYERYpYEpFEUQBYAACkURRGUEoihKBSKIAqJZbYsQAAsBRLCgAAAFJRZQCAoAJAAoI4VnHsFS
qbujn6Li2LKCpTJKLKWyno+R7Hg19th5+ddfGqeN18nbXp47OeXXuw85PZ+e9Tz6w7fOySYrXuYX
VLjnj0L0ed0Q4vP9nxk9a9sPO39XTHgdeOdu/g9DJOTfn1R52jf0HneV9D8/Xou/sPIe5yx5+fL6
VYcvf58a+7T3L5N9LpTw/L+w+Rrs3d+w87y/svlzX2buk86fSaJfEz6e08W+5qPJ7vS40+dm/Kuj
D6ex8pn9P5p8xuw96rw+5lL81j9Jxmnh9iHj5e9LPkRSwUCWSUEqVQEoAABQASgAEABQKUcCOPXK
WAJv6eboubYspSUKC2UuWGZ6Hge95lbX1+NfIvrfPTwM56NXzvo9svy2P1fnp4fTz+nZzZ7vXX5N
9LmfL9vo8Rx6u7gPR4PdwPDn0WZ83feh4230dR5WHXzGD1PNsl6fWl8jm+p0y/OT6BZxcG7I5J78
PAno8BH0MPAy9vpl+ZYehZxYe5meHfX2L4uv6LBPBz9mx48+l+YqZbPal8J7eB4+PseHZnl1e6fN
Pb55fMy6/RPnM/VzPKvqeGbno7DzJ6+k816G48N9R4lnE+g6V+XnqdJ4U9yJ4z0fTPmQkstCFSwK
SihYAAAEAFlFKgebdd572XXlFsHV0c+9LYSiqmQKLKNmvYdvie149etnhK2bOXJOTfzZV6a4y4Tl
yTn6ezybPR6PGL62Pl5Hq6M8Tl58qer1+byy+tfDws9vyMIe3z+WN3Pt3HLj6nmHZ63kYr6vT5XC
e70fLxOvZzdB6uPz8Fx7D28Pm6vq93zcTL1PIV7/AG/KI+n8rzB7+75qn0PR8qPf8vkh3fRfID7B
8gPoPn5D3+35TI+p1/ND2+r5mn0eXzQ+h+dQ9bf4fQv1mnwuBPqPP8aH0PD5lPd6Pmh6/f8AMj6n
T86X3s/nsUQqkKlQBZYBQAQWkUggoABUsry0uKsLlcKd27R0QCUosFsoso26tp1cfV49feX5LM+q
8vycq5rFnvPJS+jv8enu/N7+azPv8pZUp7886Zvd0+QX29Xl1Onxevjr62eNhHpd/wA/trHPlh6X
T5kPQ6fG2G3ZwU7Pn/T8uvou3xd0ehz6NZv3eR0nflx4y9XT5myzwMcsLCLKgqColqCoKgqCpRYK
gqCoKlCCpRYFgWUAAAAWCgWUCBSAAWUigCUAVKTyRnVQUHfu1boWCgpSVRZRu07jdw9nJX1WfPqO
3DPGtfTp0Gjo2Uy4L2j5z6j5mzL1vM+jPj+jn9w4MvorHy+H1Hh15Pq+T6xyujA6+Ts1nhkubEKk
rJiKgqQySGTGrWIykFYksABLCpQlBIqFpCgJQCoKgqCpQAACywoAFlAAAKBYKAIAAqUAIKFAEs8o
Y0Asp6G7VtgFpQVFlFgu7TvL5fqY1ov0Fr56+5zp5TDos1Z7eZd997tl+U1fX8yfM3r8+mfq08u9
XsR85hbWjd6nMcmn2IcOn6LzDy57Ns8Wb9FkWCABYhUFQVAAlEqFQAALjSwlEKCwFgqCgEKACoKg
oAFlAAWpQEAoAKgoAgACgAAAA8kudSgKejnr2RQtsJQUFKOjn6THF5tfX35i6n1HB48RlhK34a6e
32/MJff2fOxPS82Svp8vl0fQdvyQ79HNK+w5fm/Sl9zH53jPouj5YfVdXxQ7/NuOskFgEFQAAIAp
AAIFSrCpLC2AEVBYFASgFlhUoQZ4ygKElCgVBRSwVKAgoAAoAABACyiKEoFeTZcaAWU9HOWFlKlF
ClFlHRz9Jq830vO1OhZqAgAlVBYFgEIshSLUFkFgCAJAsWAABKQABBUoIWBZKAoAkVBUtBACwWKA
AALBUsoIsLQAVKALBQiwVKALBUoAAlAAFgLFeVYxqpSg9OyxUospQVKUF6ebqNGeHo1r8/3uqvlZ
9Qs+Xn2Ws+Rz9vkPLlmskCwARYgKSkWAgCSwAsAlgAQVBYAhUFQWAAAsLYQQlACrjSpQABZQAlFi
WpbAUIqUAqCgqChAKiqIWBYKgoAAAEsPLGdUDKU9KkKCygospUpenm6jn15416F5s63Z8WJ9T4fl
9Fm/nZHLOjXZqe54phdlNT1ec4Xseec69ZxvQ2HlPX4zjez5iaZlka5syNM9Lz6xWCAQWAShBUAB
BUFILAC1EUISqAABUoIUACxFSqSiwUCwVKAVKAAlAsVURSFAAsCwAAAeXYzqguWOR6NJalKlQUFF
gy6uTrrm9jxsD7Z8ja+q8PjwTn+j+b669vo+W6o+gx+fp73ynf51e73/ADfQfR8/jI9i+RoOfp4d
tn1nmcumX0O/wy/TfL7/ADbOv1vnfTPTvhw9n5T2fHswWWQJAoEAAgVAAAAASgQACgLBSCwUCwWE
VKoAFQZIKlAFgoKgoAKlQACoKAAFsAEA8sZ1QXPDM9FLCyqoLKgoBevk7Dj36Pcrlz9xXz2n6Tw7
PK7OT608O+9wy8eHRoN3J6+9PldXo89b8PqNEeZ09tX5vn+h8e54Pofnvrl+b9DZslw0e/ynjeT9
N81Z0Ze6PB9D2uU+V1dvFcwlCFBAEFgBBLQpCFSkEVFWEqwVKEoAAsoEoCoVBQAVBbAsFAspLCUC
yqBQAgC40AWCwFgqDzBnVSjbq3HdSUUFQCpSgvZx9hw6tvpV519vKzw8fX5q87Zr9k8zH17Hjz1c
Dz76edeJOmIfQ+XNcWXq7jxOT6fzrPI6uf1087PtS8T3fmK26JLnsx5C9uvmht1RYlglgqACAABA
WEAEoACgAALAsFBYKELKEoAsFIWwVBUoBQAiwLKVC0AIsFQWBSFQVBUp5gzqgbtW47bLCwWwKoKA
Xs4+w4Pe8DCz7F8mr6fxuHGr9N8wPpuTxkfXc3zJfqcvlIdvPqlz9p5Pgl+j7vjh9h4/jxN30nyi
vqM/lEv1fzOrGxC5EWxAsEsAJKJQgAJZSAJSwhKJYKlUAQoAAKlUIAAAqCgAAqUWUJQBZQAVCChV
hKQoAABCpQDzbGdUDo0bzsEUoSluNKUAvZx9teb9B897h33XjWHnej5qcH0Pzvv1uvn7pejVtHD3
cvoHBr6tFniSy5CoBKIBLACWVIsWKICAiyEogAIoiwSiKIFFIsKCLCgAlAJaAAABYKlJZQACoKgy
gLBbjRYSpQFqEqC3GqCAAVBUHnDOllHRz9J12ItgoKlFC2UdvF3V5R9WfMX6218hj9L5NnBZ9QfM
vp9MfP7PpNS+Do9byLE9HBODr5fXrzN2/wBSX5rL6bSeHo+h6k+TnUrmfWcEeE+ni/Pz3PMNXN9J
uPA5fqOQ8vj+q1J8zPd8So+mS/MPo958u+o848zD6fE+X29vqnyz6TI+Zn0fzyYvd6F+an1fzhz3
0vRPnH0sPm302w+VfTj5nL6boPjnfzGp9TD5d9ND5nLoq69P3PkR88+l5U8fD6jlXwZ9DuPmJ081
gAFSgACwUAFSgAFQlShKAtQlIAUh56XOllHVy9Z0lgBZRQZQZQL3cPdXk+14m2voMPFJ7HFyYU+t
+R9Q7MPN0R6vDzSvX8d7B4zp6DzvT4Idnb5HpnTyeV0Hq7vN4DbnzD6TR4XWern8/wCiZ8nDifQd
XylPo9XhdB7WHncZ3+bYfX6vE4I+l1eBDv6fEV9LxeQX1e357pj3Xy1T6X5myvodnzaPrfmueV6v
d85Zfrp83ynr+h8vkfS4/Oj63l+bh6nn6vQPpdnxI+y5vluo19Xm0+10fJQ+tvyfcep0fKw+j7vj
h1cHRgmq9eBzNm85LaYsuxeGbMEllolAKgoKgqCpUAWFqEqUJQg4BnQF6+TrOmyyglBbBUpbBe/g
9CvG+3+G9qvop42B3+L1cNmn6z5H2Y9LDz9a9/l9Pk2a/o/m/aOzo8nbHfzaIue7yumzyPS83qO/
1vI9iXTp0E7540rV6/m7zxurkxs9Tyw+g28XTnXrcWiHdq0VPnfY8b1K9Dfw648/Vz76+lxw0S7s
vL7z5r3PD9mzo6OTtl1ZTyT3cfO3nRePqOn5P2vMTX9P8x9Itw24nN879J80nd9P897C4prOX0Oe
nPtyHR8x9P8ALG73/nfoRh34nB05aTb5ursOzBwGj2PO7zTd+Ryzs4DzPP7uBKiqgqUWCoKQtxGS
UEMoJUFQLBQefTOlgvZx9pupLbjUoKBQqUvfwd54nbx/f18a+ylfG6fqfDs4fZ8b6U8LpnoS+N0f
Sch89o9Py7mvT5zk9TyveXyezD1D5/f9RyL4mv2PTj4yb+qzz32XIfMPtOc8HT7njmXn/S+mfO+Z
9Npjj8n6TpPkcfa8euzX9Sj42fX6T5rd7Wyvl30/RL8hh9Xur4tcLm3GGcxGVwGTBGcgtxi7GAzm
MM7rpmwGbAZ3XTKQXPVT2fK1w2zAZzGxkxhncC5sIZsCZSKqUIMkFiFBUoBUFBYJUFSgKBwDNoL2
8XcbbLCylBQUChe/g7jxfW8n6yvP1e1jXl8H0uk+b9D1+c8rd09x53L6OR5nF6/k2Yvc408/0OHs
MejQXt5JyHqbPG948TblD0NXBpPU2+d6Bq5+KWext8KR7Wryoe5j4sPR4cJX0D5+x7WzwcT0u3wK
fQ6/BHvZfPFYlkAgAAEoBLBUoCgVELKEFIVBbiMpBkgqCoFgpBQAAAWCpQlFgtgAFQgqVag4bLmg
O/g9A2CLYLZRZSpRZTLs4+uvI+t+O9SvquX56H1U+b1n0U+d3HvcnlD3+j5rUe185s1WfZ+PwaS/
Z/D9Z9a+V1x7vg7+Cu/6T43tPf2fOao+h+X6OKtv0HgdaeZjVkZFwmyGDOGEziYikASAELRIEQFI
KgsUiwJQJQLAoBCpQAABYLAqBYKgqCpVBLAWBYFlBCgtlAFgJUBQOIZtSj0fO9EzSxQUFuNLYS3H
Iz6ebot8r3PM+0r53D6aHz3l/R+CnN9F899SePr9fFcbu1ni8vfx2ei9/XHiXr7T5q3bXvfPfV/P
nkO3is9/zvW4Jerk9f0I+Un1nnV8p6vl/QnTnq7JeLR6/Aadfby2aPA7eGyCyShAAglQAIBAAIKC
UUiFgoAAAAKlCUSwsCoKgqUBViQCwoCoFgoFlFgqCoKCoKhOMZ1Uo9LzfSLZZVgyQlspUpbjTZu1
bK8vpx908fH2cK83r6ac/B3eVZuemjzcPY8Wrj29p5l9BHmZ+lnXhvZHm5en0Hz2r0fPTbl6+1fH
x9LQc+HZ2Hz3T6OBxXf5SdM5pXoaOYIWQEBARQlRJRAqWCURYAQASgAAAWKAAAAAFEEoACwlQABQ
FQVKAWwVBUFSgFglQcgzpYMvS830hZZQLYS2UAtlNueFqfWfB959fj8jlXvcnlw9Hxump6HR4tX6
f5Hows9jLwcT7PX8ij2fR+VlfWaPm7L9jxfPZHd5exZ9dl8aj6q/KZns9nzEr6fb8rD3Pm9uuzBa
mM24LizzTQyyNbbguDdTQ25Lz3bU0N+MumdA0TdjZqUslEZIwZDFRCiZDFkJMi4shJc4xmcMWwa7
nTXNo1tg1tg1zbgYkKQWCoLCyoFlgBZaqCkKgpC2ACwOVLmgZej5/oFSwspUFsospRW5cTX9b8n9
Idc4OiujVjqOvjuJr9HRxm7t4tx5vkdvHZ9l8x9L8uafc8j6E850c8vocXZkcXR53onLj6O48fv3
5p85zdONepPSyjyHr8NfMbdeZ9H4/veCbva8T1j5P6T5v6M7PM9DfL5/f5vrmq68zOXEuOWA26tp
p5OziPlPX8n6uvF836DmTfPbzl8LLo7D5nLPKvG9rxfsI87Z7us8B9HqPEeh0HiY/R6D4r6z5P68
y8j3955fRx+2cG3LI1OrE0auwce7bmcHF7PIfE43FFgZY1UsSoKloJVgoSoqoKgqUWACg5LLmgbO
/g7ypYWUAoKC2Wt+vZqOfpy9E8R7+dfPbvdzPAz9HqPm30lPmZ9B8/Zn09faeJj9B5S8mr6Henyu
64Hpef6m6XwJ6fnWH0cj557fVXibermPN26voDyeb6iR8s+i3V8vPqPmkwvs9y/LvqtJ829nxTZt
9ftl+VfTcZ4m70+0+Zn0cPnH0PzSbr6ea+F0+h1ng6fqflTofQeMaNX1Xx9lmMLu0Dpz47HRlyjd
s5B1TmF26S9TlHZeIdmXEOrLjh26+anXnwjocwuNgAAIlAsVRCwtACAAWFAVBUpypc0Dd3cPbFuN
KlKBZRYMktb9W3nTf7/xu2vqd3yZfq3yg9np+dyPovQ+O7T2/lvUEnPsr1PO8/E+i2/M+hJx6NuN
T6L52np5eWPqXy1j293l8FXXksnv+DlL7WXh957HR8ePrflJD3/R+Pp9fPkIev4zE+s6PjB9hr+U
9CXs7vmOo97P5KH0nzG3fZ1dnzmJ7PR87T6b5hD6Tz/LH1fycgIWAWACwAAAEoASgAAi1CWBYSgg
CyhKLKAVFVBUFgUAhSnJTIF3dvH2RUouOQsFsoBbFdHN08qcmzXnp9dn4Ocvu/LdvnJ7Xoebkvdh
OI6enWE1cp7HzP0XmnL9R5PUXbx60z6dA6Xlb17uXfiZ/LfQfP2e/wBXHxHv8+vONfpclPl/U8r1
q9WceyN7z9J6oOT5zp5q9XVxQfY/G/TnF6PF0y53LI4fV8rvT5fh9LzqxFkmUIQBYskBQEsKgqCw
KBAAAAWVSAAAIEKlRYLAWUAAFoAAAWIDnEoHR1cvVFCrBbKlSlBRXTx9nEnPs9f3rfjcfs/ITx+/
R7y+Hy/ach8v6P0PIfN+h27D5yfT8yeB3cP1FfPafoelfk8s/STy31eyPkH1MPF5vrPma5Pd+e9E
w5PoNR4dfTnzeP1fOfN9vv8AnGzwO/zjf6GXoR81PsNR8nPsNtfD3s7TyH2aX4t9jwJ83t0enbr4
vo+U5G72E+NuX1B8tPtMz4WdnHZARYAoQQAAAAAoAiVLAUSrKQSlQJSQAFSgKsoACVAAFVAqGhGb
QdHVzdMVCqJUpkgqUtg6uLs4az6+fqMdHb59X3vA9wuPmcp9Jp8Knr7fDh7PPq5zX6U8+veeCR3e
ePQ9HwEvv3wB9F4vV5lmFy7joeOPU6/C7o9TDwsK+h+d9zjPOuz2zj3XGXdZoPRedvPK6tnNZ7M+
XH1nH89ij0fNi/TcHkw97P56GXoebD19niwy13GwCAAIUWEsLAAMsQACUBIqUCoJQFgsEpFsCygB
YKhKQqCpQAFA5yxKHV0aN8BCwWxbQW41LZTq4e7z6+k9P5zqPovkfU8Csfsvj/cNu7zx7Gng1nfv
8vYdPj2HrbvM1H0OnXmnyXreR6FfQauDKXt18vkn0WHH3mezyczwu/j6LPqubj4o08Pf59e37fk5
S+hs8rM9nHwsD38vG0nv4+DvPX83m4U83DKamKxIpZKIoxZYmOUCWEAlgAlirEAAAEoABFCUBKlg
AAAAAAsFQLKhBQAALBUKspziFg7N2rbKoLBUosFsqMsR2eb6XnHrZ+x1V8Tj9tz18k+x3HxE+180
+a7OT3DztH0/pnws+z1nyN+wp8c9PyLPY0e5ql+cfUdJ8c+0xT430PpvNXwOb1vJs9Hd3ZS/O4/Y
U+Lx9nxdZ+l5fM9qa8W/X4R8k+x5z5fH7LUfJX6brPGx4OezTnPrz5G/X5Hx8+7xPhH2+yPg31+2
vD8P774Q0SyyAiwSiATIslRFEAUQApAFEWLFRFgAAAigISgAKCCiAsFQUFjaakpoEoHds17JalAK
lARZSg7PK9XyT3ejT11w5deZx55bD0vI6eevB9D0ac2eO81dvzHWfR+Xj4x1cmWyvU0cXVHZhr7z
h3a9Z2cXNidfm7fas5cfNzl9meaOXDqx1nn9Ty/Rl7dvNyS9+erYaMvJ9kuWvzDVh76zwvfx3y6b
mNeezQNmO05l0nV87hlZom7WYt9OZ1SuabtpyLsjVd9OZ0Q0OiHO3l0MvRTzX0nhLoez2R81feHg
vosz5ue4PDn0nOeE9refOzZgSWJULZRBZURQSiggAAAFgVAqnOJQO/PHKUBZYWCoLYq2VOvyPX8a
vqvY+b6D29Xg9Next+a2HZt8/I6nLgfQ4/N0833vnO2vrvifR8pPqdvg9Mv0Hn+dznrbfPyNfq+J
me/t8LWnt9HzuZ4/u+B2V9jfl0fTeJzYV5Hbw9h7XLr4Dp9zxKcH2HxfpH0mfzm2V9L81ke7j870
J9Fr+bL9Js+c5z6ifNbj6Hg8XTZwfVfJ+udXh9xfo9nho7e3xYanl9FnnfV/KewfTPF2S+to8zI9
nV8/vPV6fFp899L8t3H2fN5QvseSPdvzXWern4W09p84Pob4/OfRa/A6D5zi26ySwFqCAFgpCpQE
AAAJQlACU0iUD0MscpQFlAKgoKE7PD9rw63XFqbGFMmIzuCsrhTJjUpC2QyQZMRnMRkxGbGlkGTE
VBlJCoMpBUFsCyGbClSGbAZMRlJREEsLAJIySW2ABWKKxpUhnigsFQZMRkxGTEVJLkkMmNJKsgVK
iAABAFQqFqEUJYCiFBADUJVlPQssoCwLKLAsJbMjo8T2fFs2ZS6LBbFUqAUCygBLQFEAAABVQAAL
KSUkpKQlFWCiAAACWARJRAAEKAEJYWWUEJRFgsFKSAASiWAEVABAAKRYVBZYAAWCggAGpEtyxyPQ
RFSyhQoAsFyw2Jn4/r+RqbRVFLKLCWwUDLHIJQQWKtgqWAAFirAASggygAQFQAgAqwAhUAsSWCUQ
ALFgAAlCUQQBFCAWBYAJYAAAQAARYAAAAAAAVLEahDPDYvcIAqFoAKgueGZl5PqeXrO1VSlAUCyo
sFsoSliiUSpVSipFBKVLBQAFgECklVFgLEWUALElUEIoxqooxZSIsAAIFAiiUEsJQAASyAEoiwLB
KEoiiAACAAFgAACoWNIhs17V7YRQALC1BUqXZq2mPmel5tm4aC1FAFSpLKVKClhSxBQFBCy1KAQF
WKQBUQAUEAIUWAQAlEURRBUVEAlEUQAECgARRAAJQlRAWASrFECAShFCEBSUSkJVSoAAahmt2ncd
YgCoKJQsWUbdW01+d6Hn2b0uiVSUCkoAigsFsFAMqxWAQsoKQAUsolCVCVUoSkRYBSURRLKRUQAE
WAUEAJRJYFECgQomUIsIsALCIoiwAAlUkAAQsAAAIASqgANQyb9G9eoZsoAVFUAI3atpp4O7i1Nw
0AAsUAKQBQAoKCKAAAoolAAAAAAlgAKioiwAlSiiAAlACKiLACKICUVLABKIsEyhAAJRBAACUEAE
URYABCVUKSwAahmujn6ToS5CLRQFQUDdp3pzcfXyam6mkUAgFAUSgUsoAigUQtSgABZUSgLWKgUi
okoiqlCKiSiFqLAsAAJQiiKIshKIoxUJSxYRRFCWEURYJRABEURRJQlEAAlgsAAAEAVGkSunm6jd
YzbAsKoAipab9G5OXm6OfU3jQBKJZUsoAUAVSwBZQAUAACCqlCUJQlAIAllpLAISiLKAAAASiLAU
iokoiiTIYqMaKBFEBAJkMVElAgLEBFEoQEURRAJYCkAEAukQ6+TrN0M0KAAoALu0dCcWnbq1N6zS
KIoAKARZQKAoCoigUigKssBSKAJVIWMaAlColLBICxVSZQigsIqItMVVFEAWQCxSSURYJSyUJRAA
QEoQpAJURRARYFgBAFglEAKSUaRmuvk7DYJQAFgAsodHP0JwYZTU3F0hEoJQFEpSkCiiUCyCyqBQ
WUgLKJQFJKBYhaxUSiAsUkWSxVQCURlCUgBLSSiKqACIogIsIpYsQmRJSyWBYJRFgAlEpEBFEBFE
AlEUSUAQGkZrs4+0zlktSksoAAA6NHQnnXHLU345NMVJFlLKCxKAtSkC1KBYFABYLCUQFoCyiUAA
AAAEpFRiogoBMoRRCgRFEVUWEpEBFElAKliSglLJRFgmUJMoRRAAQQAgARYCkBFEWCwaBmu3i7TN
LLALAsFShKOnn3p52erbqblmkCBQKElTIlACoLcaUAAFgLBSGSBYAqpQAQpCgJYAQAIqosLAAlQo
gAACAELASxREABRACAAASwEAgCFICKIACAuNAGNDQM13cPcUSgAAALA6ebuTxt+GuuxyNTqclOpy
DqvIOtyDrcg7HGOy8Q7LxDscY7bwjucI7nCO5wjucI73AO9wDvcFO5wDvcA9B549B549CcA9B59O
959O6+ePQnDDvnCO68A73CO1xQ7nDTtcQ7XEO28I7XFTrvGOtx063IOq8g6nKOlzDpcw6LzDoc46
JoG9oG9oG+aRuaRtahtahtahsaxsaqbJgM2CM2umbWXNiMpiTJjDWJb28XbFCgIFSkUEpfU8qnv+
JlExZCVSUIyGOQLBbIZXCmTEZsBsuqmxqG5pG9oG+6BvvMOm80XrcpOu8cO1xjsvEO6cQ7rwjtvA
O++fTvnFiehl5o9J5w9F59PRx88ejPPp3zhHfl5w9HHgp3uAd7gHe4adjjHa4x2OMdk5R1uUdM58
jc002zWNmEpUpLKRaYsxrbac+W6GlvpzOkvM6ics6xxu+HFO4cLvi8D0B5z0iea9PE+PFXt4u2KF
lgAAAoAALAoAKgoFgsCgqEWCkWhAFlCUJQCoKlAFgoUEFECpS40LC0AqSwtACVC2CLKAqwEqVBRE
oEqrCAAopAgEoqwgCwVC1KY0KARKlWwLAsDwxqZdnH2QItAAABUCwLBQFhQAVBUoAsoQUABRKhlj
YUIsqggCwUAKsCyosKsJYCygLYCyosLSFSpLBQqxCy1AgoRFSlIqwVCUCUsoQtgSiFAABYAxMkoC
LBYLUoAinhjUy6+XqgslpKqUAAAWBUFgpCgqUAAWCgoAFgAqVICgBVRKACwWgJQEAqUBQSkWgBKg
qVRCgBAKhaIqQthKgqW0AlkWBYWwFlEEpC3GrYlWElCgRSAJRYKIZILBPEGmfVzdMtRAUqFQWKIo
KQChKAAFSgFQVKWAsoAlAIsFShKALBQSigCgIlAFQtShKAlgVKLACglSqioSqAAsJRKoEUUiUEFS
ygJSAABQQCgi8mFd00byxzHS5ugyOc6HNvMmnA80Vs6ebplAXGgBZAUKAAALBUoABUFSigBQAEFA
CCkoAAVKssoglASgAoCgLBQgFgLBUoAsFhKqCxZQLEtQVKAKgFgKEWWFliVALUqFSygNG7Czzerk
6q5fWxzjV53by1j38m46/L9Tyyd/JuNWnPI5gbOnn6IBUCiApKAKAAAmQQUAAAFSiwVBQAVAsoAs
FIlCggACyhKEoBUoCkosJUFASiwVC0hRBKAVFlCgioUBBUqyygAQCFi2ZSosFQsBLqRxY+jXn+n5
PomnWyLhv4z1fM9LzTfr3cZnmyOMG3o0b4ixbLCwFAAAogKgqUAAUAFgqUFIUAFIEBVlARRSUISg
BQFgUQgsoqCkKlUEmUCyghQoFQiwtEWFAVCVBQALC2BZYLEUBKgWgAAIqedr9Ueb6GQ4du/JcOD0
iOD0Bo5+6nI6h4wrdu0b5QBSWCpQAAUgKAAAsAAKAAsKAUAFIBZQBYABUhVAXGgCwWWFCSgBZSiC
iAtQVKAAAFiVKpKAAKhUJZRKKAssSwKELUssCCyoJRYKBBRAKAhXjls2b9O6BFoAFCFAAAKgUBCg
AAWCpSoLFFgWUAJQAsFlAAACiUAAARQABQAKlBCgAsUEKEAWFWWAsJVsBYLBKFAAAAlBYAgAsosB
UlhaSFQsKlE8cVu3ad0SigCkoEFSgAACwUBBQASgKSgspLBbAsBRKApKhQSgABUFSkogApCgKAsF
lgCULYCykWIsqrKksLURZSSpbQBAUAEllhUFQVKBaAEWFAACFsQllW42CxPHGm7dq2ygAALKCCwU
EqFABYADKAx3mpuhqu2mqbpGpuGptVpu1GpuGm7RqbVarnTW2I1tsrXNo1XajU22tLcNN2o1N0NT
bTS3Q1XaNN2RMGcXFmMGYwZjFmNbZDG5DC5QxuQxZDFlBM4RkMLlTBkMWQxZjBkMbkMZmTC5DFlF
i5GDOGNyGDKmE2QxZwkzGDMYMyYsosmYwuRPEGm/bqzlpDJBUFQVBTQmU1bqxu6xz3pHM6hyuocr
rHI7MTn7/P6TfNRdt003XSjc00244KzuobGupndY2sC7JiMkFhFShZYuNBkuMyGLLIwuwa5nYwuy
mluHNOpZpm+nPd6XQ6IaLuyrmdWJzulHM6cjkdSuV1jlnXY5HWON2E4711eOdo4r2U4p2jhy7KcT
vHA7x570Cefe+r570aebPUHlvVHlPUqeVfVp5M9YvlT1x419i2eQ9mnivaL4r2oeM9qx8SNTbt1b
pZcqYXMYM6a2ZMGY18nVzVl083QdWWtLtukbmkbmgdGOkbsNcNHXw9FbrpRvukb5qhuaibrz1ehz
k33np0Tnq9DnV03mHQ50dGXMOm8pOqc46byjqvIXrvLDrclTsvGOu8dXscg67x5HVeQna4x23iq9
l46dbkHbOUdk5R1uSnTlyQ7LxDrckO1xDtvDDuy8+ne4Id2Xn1O5w1e5wU7r5+R33zx33gh6Dgh6
GXnE9F55fQnAO/Lz8T0cvMp6U84ejPPp6Dzqne88ejfOHoPPh6TzafLFt27uXfG645gpLCWUAaeT
s5KuzXmZsKZsIbJjDO66ZMRlIMNunYZ3WNjWNjWNjWNl1Da1DbdNNrUNs1jZdQ23SXc1DZdQ23QT
c1F2tNNt0k3XQN7SNzSN95x0OdL0XnHTOeJ03mL0XmHReZXS5h0uYdTlR1OUdV5KdLmHU5R1Xkp0
uYdTkHW5Cdbkq9c5R1Xjp13jHW5B2OSHY5JZ13jL2XiR2OMdrjh2zjHY46nZOMds5FvZOMna4i9j
jscNlsWZrtuSGWEjZdUrfeYnU4x0cmWFXZr2ludNbYMGYxZQijGZ4mnKbTBspqbRpu0am4aW4abt
GluppbhpbhpbqaW4aW4aW4aG+nPd40N40N40XeOd0Dnu+nM6ac16Bz3fTmdMOd0U5nSOZ005XUOV
1DldQ5b0jmdMOe7sjndFOWdOJodA570jldQ5nVTknZrOe9VOO9g471jknbDkdY43XTjnbDjvZTid
o4nZTido4ndDjdpeJ2E5HZTido8MDo0b42MIbGvNTCpkxFSDXmNOTGtl05JtQtIZSQsmJZiS9HNV
6byjqctOlzDpcw6byjqnMOpyjqco6nKOq8g6ryU6nJTqco63IOtyE67xl7HGOxxjsvEO1xU7LxRO
5w1e1xDtvCO28MO9wjucI7nCO5wjucI7nCO5wjty4KdzgHdOIdriHe4B3uAd98+ndjxjvvnD0Xnk
9C+cPRecX0XnD0XnD0Xm1PRecX0XnD0b5sPTeYPSedD055o9J5o9J5o9K+YNZTLZLBQWkUFxEoxm
UMapGyVizhizGvHaNTaNU2w1XOmDZTU2jU2jU2U1No1No1No1NtNLdDW2U03aNU3Q1N1NDoxNLcN
N3DS200tw03bTQ3DS3DS3U52+nO6Bzugc7ohobxodA53RDQ3jQ3052+nO30528aG8aG7I53RDnu6
ponQXRN9Od0U5rvpzOkczpHM6RzOknM6Kc16C87oxNM6BzuinM6Cc7pLzOkczopzXoHJlNkuSkUB
RLCwEuKpkSVQAqoIKIlJKIqlCAUgsqiIsCgBKAEyElpFgoAJRKULEUShFlKQCpSSzIjPBUyiSqRR
FEUYsoFGLIQpjVIoxoWBGUMopiyhLaYqWUQDHIIoiiKEokypioi0xWkxzHHsxzFUlCWiFJMi4qIs
BUiwspUoAkyiFgC2URQKRYWWFBFpAkostEUQolJFLFAIURRFLFEmQlAUkyEURRFiS0AstEWCZRCj
FkMWQillCJkRkMWRIyiwpLKCkmQxtGKiWZxitrFRjchhbTFkMMgjISZDlUirKu30Dzer6DbXg4+r
wHHjsRrbBrm6mib6c7pic16Ml5J2U4naOKdxOKduRwXttvC7qcF7acDvxOHLsscL0Mjznojz56NT
zXp2vMenkvkvVseTPYHj32YeO9nE8h7NrxL6+R4z2aeK9yHiPdHhX3bHgX3oeC+hV88+gzPnH0OU
fOPox84+jp82+kHzb6VXzN+i2HzU+myPl79LT5l9LT5l9OPmH1A+YfT2Pl31Fr5Z9RY+Vv1Q+WfU
2vlb9TifL36snyj6mnyr6svyj6unyd+qJ8rfqYfL36vFflp9XD5Z9TD5h9SPlr9PT5d9PT5h9PT5
i/SZHzD6anzT6bE+bfSD4SzOHQ2G/dw6ju5PP1WdmnQre0De0jdecdDnHReYdLmp0XmHVeMei5Ns
broG7Dl1na41dl4h2uGna4h23hHc4R3XgHe4B33zx6V87pjpaEu+8/PXdfLWenfLHqPLHqvKHq3y
R6zyR67yB7GPkj17449m+Ltj1bxl65y4Hc8jBPaeNK9qeOPaeKPbeIj254o9q+IPbeIr3L4Q9u+H
T3HmbZe5xDtedzHszxVntXxKe08Qe28Ue08WHtXxB7V8Qe28Qe1fEHuTx+qO68VXrcfKerPGWey8
Yey8eHsvGHs3xcj1Xkj1nkw6N+vbGRrlnFs0WWFALKbc9+Bz55bE5dm3nJrsAAFlHRz9SzHPnjGW
WLC0ADdu6jh5+0cTZrQAABljV67LLp0ZY2AgAKNyaejaOfV6/CcwAoIWF3b+Xric3VxVAgoASjpk
XPDR2HPr3aUCgAlvTy7DrlkvCxtlCCkKTq5uw1nMdGXN0rzMsCpQEZYl7cufojn5uzirNjkgAht2
83VWDRDo2cnUtxqNtZQ5t3GaoWAAAZMS5MRcsCAAALKuXRr2Dl6OYVCywBFgy7vPG3XKEFQVKBTP
DZL0rI4hYAAAFOrlR2ckAAUAEZdvD3LOPt4zCwlFACGXXxjqy4yhIFBACyHoMc5eDHbqqrEsKWB1
ctjfNI6d3AOvkAAADLt4OxcuD0eSNFlsoAHTzK3tBejLlHVeRHoW4ZYcPZy1hKslFAAAJQEAEKCm
5c8rI06d+igAAAAAQAAFWBv09ZlLI4llLBUJUFQtQVCVBUFQVC3v5OyHF285zWKqDJiKhMmIyYly
YjJiTJiMmIygvZt17I5+X0OGpcRmwGbAmbCmTGLmxGTGJnddMmMM7rpd/P0r069iXzZ089ly1jNg
TO6xsay7GsbLqHraN3PEmrWb8dStt0jc0jc0ja1DdNY2zVU2sdq4NiNdzgunGui8w6cdI2TCGxrp
mwGcxGbCmTZTU3DQ34GtQsG3PQNzSjPVVSZCTIY27TS6BzugaJvwNbMYshg2DDZjTc0jdNSGGVrB
vsc7opzOmnK341pboarsppboam4aW0YbA23VlGeGdOXHqpyOrGtE2DBmMGYwZjBlTC5Ewtq4s9sa
9yrATVnostxhmwpkwGbAbGsbJhDq59nGYgABFnYcuPZxiyksoCtmsdiWJz5aqQALAL1HLAAAWDZ0
cnQbSS48pYIVKAG/oOAAAIzwHZlydkrHLlMcCgAQA69ZoWApKLenlh6LXnF58+MooEAGw1u7lXWC
oFhOjp8/evVKl08jGzIAAB1Q5nTzIsFgXPXV7c+Dvhz9HCa7jlQFQgFdea8LLBFg2aMsVAAAWCwA
ABRnr6DbGMc+JQAIA6OfNcAAACk6+XsLr2aZeexYFlQWWFShKBAAVl2cnZLOTs4jCyoAFLB6E07I
44AFQWB1btG9dfF38BQlSgDdp2Hdy7tK84sAAtxS+ill4MN/PZmlCWgjfv4dp26uTfZolxAFiHZx
7V7ObpwPOygyFgAHRu4dh28TAgMBKAAAAFgQCrKOrn6Rq28xgEACggFAAAWUvXzdJebo5TAAWABA
UABUsAbOvk6lnH2cZjRBKqUACAAAoDf08vVLPP8AQ4ALFgqCgEKAAFCO3ZzdMaOP0PPrJKiwUlVL
AAUAAsS+g07jh1dnGZXHJCWgABSAwEoADO7DXr7OMBAAUDfsmUY827RQIAAyxV28fbwwAAAC7t+r
aOPq5AALAGeGUdE0dtcAhs19Bhq7OOlljZ08/Qri7eIQAsUJZTourql4pu0izNMtXfwUssbOvi7W
pw93GmCVAAApvnWcGO/QAAVLGzs4O9Zwehxmq41KAKCOq4bF06uvkogqJKlrb1+f3SvP9HjNOWNS
iqiArp2aek0c/VgvKJAFhduuDZjiAAAGWO03ojRrsoAABYOvkAAEABevKU182/QAAgDfoq+hy6ok
A2axt1FLLG7fo3rOPs4gAKBFg6ctGUu3ksGeCzo0QUS5d3B2reTq5jTZWQAArv18g9Hz7iBKFBDu
4eo3aN+s4rCZIqpQg2dPGXt5tcKlAkCnVy7ZevTuxjz7cayQlSglXo5qdWGguKWQhagqCoKlALAd
OrfDHPWc5KqCkKlAAAAFgZY7jdSOfVt1UACAAAAAAFi9G7XsJxdvGRKAAgKFAAgRZlit7uHuW8/R
qjkFgIWFAlVFEpLFApj0c+86ZlI4Ju00sJbCrFVEluJahMpBlcCrjT0Escuju46xsJmwGd1jY1jZ
MQb0uhvhpbxob6c7eNDfTndA0bc8iUWSw1a+mJzuiVobxonQNDeOd0DndI5m+nPluyNe6WUDHn6s
TldMs53RDQ6Bzt9Od0Q0N9TndEXQ300bs8xUhq2w5J0yudvGhvGidBNDfV528aHQOd0DnvRmYbiV
KObT2665nQTndA53RTmdMOd0U5nSOZ0jmvRTT1rFguPN1YnHOpZy3opzOgc7ppyukczpHO6Kczfk
c/RlnFCzXsicuPTDnb1aG+nO6Bzugf/EAAL/2gAMAwEAAgADAAAAIao0tglrYu6IGRVg6/J2BaJd
Jb6CkBpKWiIktP2i2xBTq106m9ksPEU1MZi62gSr/jI0xmDBbG9v744iKImIPHAgNw8vwGSElClS
OOgeYOLptFpvrMLWv49hvqtlvIRSqM6wPqQGXTT9SLPBm/OivjtycXoBmyIiK/5mwdPg6gydPJkZ
PAjrEBumqNhcJ03zrtvOpGIN3DeuojfTY+0InFMIwYZAJuwd4ynC85OQYo40QGPj/Ma8JW7BJuH0
ujvpGGn+AKa6Djqv9DB/ILKIUO2ATRftLDCAzittXh0MvmiO+/LIFkw/Punp2P8AccmugAeUJ59e
RjwS11U3tlrRVU33dSKPrGrPjBLU5yCAidpOpWtmVQ/uygclUkL+sTZ4cMgt8QSCD0qZq2lLzRja
A8tjKg9XhG27Z78vuSJNTj+lppboZ/lmFRVnQOoYBD2hy08Oezy5usDfMf76Te99mS0GVkChVXWl
IiDQ0k5JSuv3suZG/iBZR6oIZzGgBgEV2dQxhjagDF7+zwjvTqQ6M6aB91MWDghB03XVFTkmmU2G
WQibhNag37KDMAikZJaufBpwnzxj1LRiyh7LjFLzwgq1UexZduaN67IZ3O9Th23WPy1Ey/Q3kO9t
Acq9aSjRcBxSEnd8u0ZkVWlHlaRwRmN+gwiTko8kisToQ44JBKL/AJBx9IwOnOI3m4GS77/TLBH5
q2cwC0jrL1qdTxsPWFF4lhEd49ILqB4swM+f3024GjfiyGqbzlgXFD0vrOiSy6GQHTj88QZwQLbu
RNWC6A/A1csqq9tVZ0Sizx5885IL/wBSl/YXkk1wQwsmm1/JC0z8d6x7tIsutAw4lII8Zo0EXdg7
EgooDQRHrGA6yHEPhjpHbVqgtx0IyFEDep0sVRi2xzdeV/l7bax/nOil0lyLGKNifi/nzgZTOotj
NIXQ0XJ30BJKnokMBHus491l1Qkrahc8eM3rs20NqHmw/IwzhJMgu88EKKOre019am3q2OCEqrjq
yqdonvKNiHuMKP1/xtx+9Zolpy/HWdlGC08ngBLABeyxmEOBMYTLGNqcTg/tZc7w55hKgun/ADQF
rra5LCWzRMJO64xiv9AaJqUXuGkLxwhwJgpB5hi9t8BwBayi7IL7Wq0wrumPHmFbBx4JKC32lAJt
dak5ota4OnGFk1ONixhzEK511yAHBDJAYCg9JsQzgi21/wB3IqNtZiFL5HzXdCt5X/Hgs0kU8QBi
cbsIzKC9DyCDCWs/u+mDeG/jTSsWWc5tx1ZBhUIUM5QK3b6G1NBRNohRB9B9TTzug0sg4Vmuf/WC
W4gz/wAnNTigjvjjisquA9wovqngnzy9zi+wnpBYaYj7ukgsqvn3igks9usqApkYAJedmpgo7/yw
6w4Xvx2987b449ad/wD2l2F0mkn2UE0XeuMX+9vcMEmON/6IYYpowQzxBCSglz7WYPfSMv8A8QXj
z9eCOnVBQplN1Z/RB5cc4MplZUQMh9JfvnbTCmC+i26uyqeikw488wEII4bSw2r7f3Vl/Ljf/j/t
dhRdBBFJdRl1tVkxoUV95J3Tt1NnfriQ+W+GmOCWeyeAUAccY81XF9nEoS3emvA/t/bE0xcYVRDr
ZRldjVJow19x4xVxNJhBd1vDnP3lpzmeWWSimyCcs4AYQeB0U0XjR2gXLnIFp11t0NwFV95tR1NN
ZcsQMsdMdp9NEYXv9R6z2Lv3bL7/ALmtkporuIEAAKMD8eOs/wAbKAVHHHEAWRxTAqqGHHyjm3l1
QSnnH1AgVHCrv+dzC5O9pJcucMZqKLKK5ZLZyDCzwgFMYPve89lWk1x6PO4Yp59LL777qTHErywT
ACRhHyAAEFRChT2nwUEHGCnnATTiKB7ihwxhSTxOs19cOOuSC339NM9bppuJo4qd/sv60GTUArF3
GQTFWG02k1X2W21kzhBEE1HVXHkXRjnnl0jqOdY4K1XSDzoUwZz32xieHI7RCxij5G0Mow6q4rYK
SRAxwjpAB58zBAzT+r7bLBzCCRY6EVnMF0Z7LvxBAsFycSKMF1B57J0GWFmU2FV203xBDjzmgV32
kEQzTBGUyjxgARDgAwDFHGR3Vk28EXLSveLBGq9pFy5YDNppSik0EHH321fH3DzyCWn2GE2nX2kX
DjABRiAHR1zQyzRgkVhx3lVq+TBCv+u6E9NSlCENi2PtIqgAjEBXnr41QyDDz130GWlnUkXW3G3F
zSzBjRDCQyBgW0hjD1lTVmXuPvuMBtuhkhH3o9oKh/gzWHwhAAhFmEUHH3n2FTC1HUVV3UExDyRG
2iQDBwxjFGFBjCNhRDkM9E3U3GfzlDRbpNTSTgAA3mXUSCAFW2xWnO0GFlEGmEUHxzwg2wAlEhDC
VRRTHmEFPl2hSjUZuwUkHs8AyCkr8UJL67F1c/NQWI41G229/v0TlSUkmHV3VkUgXVlnXHXWkgjD
yUHH98dxDSvNsOss2ceIylFV+5+puaPiQYomL53y4Xeuvcxy0xjH+mFHYjy1XHD312iWEnnzzCYs
Fg1EgqqKPe2f1M+RtChOLqNcUrYQF0SBHHTVLcN8sXP0BRQ2cVGlKTz113nX0Uxz1Ws8tcINMwTT
wKI75dsU0/HTLxn5+l4+hssTw70v9PII654Mscei9dnm8sV1DPjF3EUF10ABEtOcu+0YI5zBKFep
ZfChGEFZSUMaWs5yVNEH1pfAAT4Kb4bIsYcAvfprH0yslfedcGEzK+H2kVGvKzm1r7fTcCupZNG1
xj1oVVRCznkDrYZ/4taFmzzYb5IJq4oq565nHdMsc9s8FcOZ8tnGk0EQHU1URbZenBHpWUVlGTZP
Q1McungjkEs2UnWkXzyxTyIAASqYJKJKW89Zu/KugevP10lCz1GEGlGX6bpMdUXdFF30kbRoLhhV
PuwjkmFF3W3jV0s4CoqBQiwIbLIJJe5OOsNcOGd/2jhBz20FlAQ3kN4OsHX00eVDm44S8+V7e1gJ
SEoXoknRWGGZQVGAShDwIIYp9vp/9KP833+/f/wCnwWEAFXWVE9DSwIR5OUUqZ4OjGoniKKaV4EN
Xy+lmEG3nUkAAQAACAi77p4ILe88310UPe33WkGQgHHzQlFV2lxS49mF2agLA98PDtBd56KJHd6l
2mW0kUlThjLIAQL7r5KN8f48/VXV31XThiQkQBDBQQiqCB2SzVVXWLBu1/8AuwiKlSyyN95B7p1B
1FxBAhIwG5xCCu2KHDBgz7ZdBlRl9Md9pkRABFkYbxmGINZxUm9sDhHOyohJVC8e8k4XrQ1ADPvM
AIAQ+Ca2Oc26GJgcFX/9FBlJ9cAQ2GBsMstY19DbFp9poPFMuMPXzgf6+nFJMq1MGlPuCO6yuGOG
DD5xdtddBN7o1JN19VBBhd5w0+08DDJfnc6PF99R91l0XZO3sTZ1YQqZrItXvqN7Nf6zeFVJWCK/
LLrBG6+p0MAfjlBIF5VBhhNL3dkwQ0jvNx1V9dkUrJkP3N81mp1N9m5p6NlNXNGPVIFvBymdd6WO
inL+JAIJFrpl/rmBVpJP/Rwco/LPvVZ5rnAQrAGDXySpYiBZd/e8o1Rh/wBDfEvmnPlrHmYaURmE
XeQTSBfBCRY8ls+Wf8wwnAQEGHcRQYCheoCIJFvRf7o7p8fcRQSKddWsaqSRXijqvmJTbVSXedZe
UYdfbRaV+/8A+pMOMZNIbZG3VnACZGqSiUAlgouUqBH/AHFBzll4MQpZhVJJHuGC67NNMZ5x1VR9
hB19FJAD/wDywzwlhbvqqdGGSJnoGL75MEzvB8pFRVUc3/TXfSfMJMeQSUpsnhjMVNNTTYfSXfCA
dUdTQU//AMMMMNdCJp1QWXZJLqwNSq6dyecQC5Kq2wT03yBznmF0jmxDY54IkFEBwnT+b46QwhHF
HWEHH/8ArbLBCG915d8YAWxEzDFMYQrnmKeQWjoywgp5xNpBdZQAGOIiylZRVdJezmC2KSuDPPXv
LT3n/wD36b3xQSWEHFHqvlcNmTJJt+itpj78rnhDCDRfbHHfYEr9+ruUdaUWZiVPivjjjg/3c57/
AHHFNJb9OfWWnjhxI7hKnMU6Ymo5XH99PHJixgg21ky0W3w4MrJDU0UEGfpqYKIpIp5/Ok8dOm2/
/wD/ALhhZDCeUhjBnnzb50oa1w9+qHlUYIfAIAWTcUZWWS9/vJJLMaXyktjhilLFBoti40zwQcns
8/hxSeIIUlktrJVVmt9i5mZGgkreDxJAbTWM6QRSfzXriSFLCUppDIHDJLEKP89vAA97+727y1ju
YOOTvluivTbE48c+uiOw5oytjfFJQSQYfX7600usskrQXPqqHLBYDGNMEZeRMNYz3xz7ydhsa7RY
W1nh5cBGyllxok7TmOxjNjAGMfCafeQ07yilgltSEsvvjIMNGICFKAOXdKRQw89mFxkpN0XSUnvO
iAwXkuiKgIEMFCKZPDLd+yx8x08/utANQQZfhgiDrCKAMAHEJKJSeBX6o8+yQ1qvBZVf9inLikTX
win5fpm2jzriklxIsulEfCwksuXMTSHQZOh8lnFPCEMbQUCMNDW+/hRfdX+sOcf9pntIDcXe6Aij
qTbajbUquTQq23bGs/RwZqvqknnDstCZfVx+6wk6ecFMBDOcbCUeb43rIDQwnhqMEHQ4gPu7naos
zXUfdhp8T0fkoeivno5up1ouLItPTSWRcHH3fXKFBLENETVfcYrsdDVQ9iojtDURgpwvrTLmsaRf
ay3k1+TlBdXYf01ghrh3aYSdTWx5hrzSXQBMCADMCTWcNPllbfR9whui0MNpxgu44VQVPHkV535C
9+w0irGNgOYbSWIBujJLDXYRQYRYUcPYSGJIPOXeAIhufRa62vkDDDLnmlqGb3FK6g1zEJs+Ub72
Jj/jjWYectnghnENKZXTbTfeNXZYcdMKEIGbPPnrSVVTt/3ACF48ino3yLFGe1JqqoVqGHEXjgvn
2bQYDrgtvvPGfVXTTWUL+0dTdMKJDDEBBfiiaHDaijtEnIXT8tL7RFb+STaN7UoALLcUyyknZSdf
qmtdWUMfXdcfvvhz94fTSdRTbGMAQQrgaFAYV9sK0cY8vZYwWgvZy0WWc3r5zvSKRkgbHErkvkcU
MFntrkmgwjhqjkQe/wDkUUwQDxgr73212ntSiviGWlplXX4t7bvgsG61lX657aqSaBEYZC5Z4rq5
1F2T1Fg2erc8nKb8kyxijRCIJkmHVdaBS/DcsI1UC25bT82yBPy3zXHYoLYd4JoIEQ0vP8+pK5a6
pA5KJIeMEMbKNb5jQwgrY601H+9y1eYa7JIxStJwWcn3iFmTl0KVKq6W3lgF6Z6TCG0lVnHlX3Q1
1rvOtuMMEQ10FXmNLNmm2P8AErFKj6QPeuqrTOu0NnjTrDX+eNOWzCBRt43eyWOM8BZxxxgM40+m
Ljf73/5Bxx7zCCf0855SUDAXWy0OPV0g/wA4aCUQbQIz6Bnp+KOdgAaYQAjrgNNaCBSwSInqk/8A
/v6pLM//AJdlOAxAxJBfGILGuUgC6Ed2uOFOB3JdMOuO14fmWWWmNh55M6WcER15hHLB++ufGeSy
2PHPLX2m6gh3vs0F6t3el9EQeu3dKGGusHC6qm42zAtgYglpgtRxU++sAYxhxRCWy2OSe+mOrf3z
zvOq2sUgEIkhuSD15WyQe2tua/uxeSREiGWaJKhNjReBBFZNQe48gMJNp022iSCaDLT+T7ftNDbb
+8cIQI1pxT9bLRxhq24yNuSdKKRiqmy+9qQw4O52qwoGH1d4ZAzgEDlpSXOS9PDiN/z+3fHjC8Uc
+uOsx9fNJZNisFWGfirjZn5GV1JaarSmW1NQSO1tCaq2+xJMgN1d6W46+2GaDDDCLbzrCEowAwM4
V21b3E4ZnGgwMd4Y2qW+eSiiO+OLSGWhvEYQq611t5F51+2qZAS++/8A5zj4/wDPsf4ICACyiS1E
/a4SNf8AiiIUam6+8Mk0oVyvdQk80AEKfrBMACWUaa2uANJJVN7LP/73f3/3ebfrOANKE4QsZ92w
oBHzqaG8EKyCkcw4sYA8M9988EMqWTPK2MIwAKCyei2Pd95h99/fnLHvzrBv/wCEdTIMDFCeoHBK
dYa005WJgoLHHBCkkJGtNOlKm2ad9ySbGMJFJIAFv/ddUUUfSQ9+75+wW/8Ax1HWgzkmM5jCAnvv
Nm/NS6iAJhjzL8A4JyT77rLOHs9HM0nwyzDyhBPsOqB0mnF/FGNG32j6x0E0b2kFctBJqJ+MecMz
S6oopyhzpCCbYhDCiJIff0cNd/GwjjRSwxvOcsHG0EV200MNF33/AM6i+MAF3ZMm+aGzXj/HDzOe
840McAsseeMq2Ckw9JlBjHL5JkMEU0U9dV/vtRNF51JHZ4s9+4POQsMATFs+T/LzjSiHvyYsc8Ti
IwICe4ki+41l95txBHb/AP3hfcxMBEHb+8+/bDVbfYQfc/uDnnANiJ5Qgkr015/oTCXOADPtIPKp
PmqHLkgABDQUdSM3/wBvu43GzxDDwX8POs/HElXnkML6h4DTxTAmUTrY5Ye93wTPfvJxTyoyg+8z
1wt4RTCTvOGgwc6NudL5o6wyigxvO/8AlZ8lZ85RqgIQ0s8QBdKHDj7eXdQo20kkA8QsI47J6hMp
Gs8YxvHbbgMD/jPynLKUkQ0AAnDjvyrd5ZBoO4UYoA40xJazltbnZ34sAUAUNDM8oQEduMAIzycI
Qx5P/hkr/wC3yhY0iNEMMDJHg34t+3ZTQfvSPLPKPNX5zwXPy49zqw0slphgptCANttKin8tNFAJ
E5268w3/AIetIKDyAFWX8Pu/HSn1kGX63AQQzij3a8o+c88++744444o56o74554gizVy4bbuP8A
uNhpA9t7DrhBhDbl5BBxJRjbOyX1+XAAcMwoYhZlNRjjnd5/rf6vy3+DdDnXDnLnv3DdRZBJINRx
5PfPbLXfDvvHDjD2zPTFE8xxufAkw88Aw8cQ0MAseQFpEpFpJJVNJxtgx5dtRsgxsw9UZpYI5tD3
KL2CCfr6v/vGK6GH6e6a8DtUIQ8Msss0MEMIAIsQ0w0U1ohVtRYgxspd50chEAJtQmo95P8Axpjw
0osehpiglottxWilCvL/AKAg1hCSSzTwhTSzwBizwn1lyUFFQCh30kDETTk1zRD3kxYa88jAsMZ6
pccoRtKLdPNLY5P6Y5SQRhllyCATBhQwhSgBTm9ulG8EDDgFH0whiF3mXzVjkjTy1bIzFEmpLMPP
Gf7uhxBVGVH7qAiDb3mFTSzhgwxyBQQBwBPmUlcihnXn1kDywHV20nGl6a0G44qab0T5JM/nUr5l
jNhjQwL6MBxrzDgRADk0BBDwiJTSwTjzwXRH22kl3UmBi01Gm0zTJrY1CGEF2igBbPJTCRzkiDxw
hxLwPTVzCwTDwxwTSADQwphgBHSi2Bg2HTSxHnE0Vj2GkXjw3xJBQ0EHWRxy5a8RDzCnPng1PlX0
6zmwgARjwEFDQzxTzTpJLgSgATzHhCzyxQGH1ASVQwgBTzUhxDyQ3HDyq7Lj64sX2E1fLoTmMRDS
DiBAQWGTCgCQgRuKDAhTSgBQTCADQWHHzzwiTDhgQU2yqFhyx0BACCSizrbTQmAKbzn2uAAhQxiA
A6SIwAqbjnmySzCbqSCAAwQiFXnnRyxSEASjUAGw4ORDrBDNc88uDi4ACCw7ybP2KkUygSwCDARr
6TwzCYYD5K5igYRwohCKZ7aKcJ474NYKbLo5YKq5aDaKOU5jSbpaZDDMZS32T02zywOCeMf+cdty
CapSwm1xRjb6XXjzCD6LoWn5ajT7LBxobObKJY4Ib+5rLY+t5K2HSg72KCThedwwY575rqwZYZfo
/t4gTqatN+wJcPYbrM+4jxgwCijj2gSwmpqwQTCHDxwhzg3mOdvhYgi0I7QhkVW23lkGGXW020F0
GwCy3CiUnFEEaJeLKTDR74rZ7rLQ9pLqr4YXi54b7d8B0zqkBAbyu5zSDBgZ7TwACSHk30ERgFED
iA101yjjGmQhXklHWwS2n3SGklWHCRTyjTjV33QhlmDyNXyl+eoSlTYIZPa7qJ6ZIKJa6prILGAJ
yzrfpCKaKKJqLKKr4b447rKyGPJbpvraY7Z76ILk4VN4ZuO7QSTjAD6KpI7qgChQilbrTyg5yA54
jnDLa5CTzLpiz4gT9pzijDzB12gRapfDDqJ5UQlE97P/AGpfzrXRh9/lDvjHT3zbPHLPVTjL1nOb
bO3rbDL2WyarDvv3r/rejLtR5fXT/wC229cbfXcKFCZ+vAt/zlGOFFBGA7sMOFesrc/bLFrqGONN
9TJBFQYZWIGFIRHDCEAOEgOILtLHEFZijFChpmh7mou2+MLLLshjzSIupngLHFNOtsKCiljpPEKG
DFAqCugBIecGMTYHEHCOCoEBGKsKl3fcbHLGIDOZR4YScIcbMdN9/DSUYZXTffW0TN1MAQ07zbfX
GCjGUINXbXTTyNnfdXbIZfTt3vqnm63/AP8ArAjXuCCGiLDDDoqYz/8Au7+//f5kwP8AsMs4JsEF
Ljj7/vvMeY4pNIsQsOf1WTpE3/8A/wDzjr//AP8Aq0EmW/vfbPPLBuzjX/LFPvvd9/JpvBBFRAnB
DP8A7+N3ac6xwwww0d9xyzfFFt124gggigwx0zJ5Msosss888tqJ2ogw0lk84x/o08sjvzzjrz34
D2Hjj29st696wXmDv7/jvBb8KPLPEGRC/hLQRSNPTDAZADIY/GENMfcUDMCCP/d6y/MoBCHPI2W+
SDBPusaHuulZCHNDNSOvv+166wtG+HvntnvvrtXuBiglgggx390sv/8APfvKU8uKNMfr47dDIQLb
bru98rsfLY/9K/8A+uO+ue++64ae+/8A/vvvusKrvTVSSQw1cJawyRe3/wA9+H38sNMrHX1rr8pj
oJmXm+R24HHAFXzKJ7773/6q2XONX/777KpUn733/wB99LTt5jFJBDDSw1xdxtNBFBRQiX9XvFLD
BBRq96rJBBRpiCW6W/8A/vk6Aww1R881/nSfvff2f+/f9fXvYaVokzQwMS004Yffff8AAB/P3dIQ
w8kzTf0/V0gMMI67rZ7RvrIJKIJIMP4Ej7v/AOf/AP0a1ZPvPfRlvTVhPKww0VacsNvLVzSTQNOM
wcdzhyxecCzjjjiggj5xjhigggghhg6Uowwwwwx9kUSgg/vNPf2mM0v9w0cYsiqIwh4oM6k04iA4
B/3z07B2k358sxPGwLWRPcONLtsqTBjwiwjjZ6wDinyDBBEPsdDCBBPffbN3uuaTcecCGP3CyjAF
PP/EAAL/2gAMAwEAAgADAAAAEA0p9A/rddq0nPk8mXopB3YpzNx/K2DAwFHo3XBH/ikQcGPYnFls
OqFPNCMMEb+I0qDS1u9ayhy7+eyrG6hQXSoyVZa6gCE4PSu5v8v2zrchvOtknS7G/UBB0W9phGf2
+ZooSaugXfynxOgID8d3shl78pJKxuBwdrm82f1WWnLr0xtQhhgpDBFohGejnggOwYqLoHHmkOZM
L7swUPAHKoiK9gRFIn6NQNiJmFXFC2lvLxpGbNyKw6hEMOLs3oK6PgoLuQKbWnilvZPQbb6ifpQg
ec0qm4w/lQQTsts+O7gZqFXdU3gkeIuk9FdNF0iDDC71nw+dMpIwuNcaZ4WBS9pvyXVBVAwpLldY
l7wh3UWSh2AdonlqTyPBM0r5XJh+2gHLmwCM4aUuZTiAFunvXchKMpHWXgf4QP8Aga2Yr0ay9jB2
S8fxky2CgHM8TGAnsmvao0ZDptfRTWDcrkZSGT93PHpS7KtOYpGDVZzGlfsE+g0DSyFeiuK0ihtd
5zG3Dwll2mIT7Eo7VaoOGLsQKewC2OG/DwYB/nF0J8UvnsF3++c2U+snze+viRi1qB1wDDlffABC
L+lG8E6JLA9FX4AE7ZILis4CrM0GqzUSqdeODOe5lGJuIzG52svnwDXuCbLbdDMfXKTLqfWGbe1k
9g+fOkgcZT9JyHYAayp2SafXIe/GbYC03M4v/gCWS5c/6/Dd6qJRE2zRCPcbAdmW49BNKwPIJwMe
8EII9nddwpcywdJ3Idp+vpU727nTeGa5EaLmPKVUeRuaajPQ9/IrmJpw/J4W9f1+MgKvZ8Bw/JX2
9BvxmYrYwmMGOK7T5bERBHJhSaTotaZkavtlWb2GsiLWIGd8O84AX01x2QfsuFjYIc9Tjxs5Kenf
PLZrM1SU6qZJxpocy8xzGWW+4NhYx9sbQG1ZnNc8hrfkWt8roUihJ5ModW+/VHPBqc4pxdLFAaqm
pHCqaM7Qt23d7T3PY1FSYdw+Od/eJMz0Q2Z99ev23edTFab2fM2oOs2PWGZWN/8ADZjZ4QFLnt+r
rclqOIwK7D5wyiFIY8XswnnjRRTCmtJh4AYPEu2Xtfsc5mnXxkQBk+90dvXFNeKto1xswSru3dgt
JfkkXZdBuVAdw4Q7btyCCL9K5AHvy7DtjWQHfaMmd5oHb+38LWzaOvd/9Fec9GrYRuF59DiKztWw
VJLPbSQcEELlnB/B6XH9kxbsvecsbe2QAhN2njHdRvMseYOBupXZf/L+bKkyrPl0rR6Q0/V7vp08
kUWOqTCzBCL5QXPqV5xxhBIdCy7eY8NKrPXKixRKm6lZpGyAwJTGhPz7DBppwNPcAPPO5p788yyN
8Iz5lmOGBOumYRWosaGYwyLC6OY6A+CiktX84u7/ABugp47TL/h9zxZypkdY3pKE/gBn7x48+zyS
IC5Yw4MFkoF+t7w6zx2Mv07bSUsxslo09skUrmeco91QjtzvKcOQGKTJiHUNT6cfq1xrhs2w4TZZ
BB0RY+51QXWrinOIurjINEKlb7eh0m0yYYnoo4glrPGeAOHWddbHMKAEZj/1hzyxbXwkkdxhe5RX
11/7Wz0h3YOEljEH2eQ5J0rnypoiSpZ3/XdAUUeb+kKSRe8ENdQA7k1v1ysnku+pDxjnMnnL2z/w
cS7g2UZGqlpBNCihmTfzDzomUDOeIPSNRGf2ROAXLJMQVX06m5l7gi1/OOnoYh+vLVfcIgxxUW8h
pDALEMLi+qhBmaZ3LZZbSg9q4z1R48c6pywPAJBb8vprr+4hk3TKRJ0/SnJT/ArnMWR4dfaXxplA
PKJHl4elulY1+VTZyQjz4vn1n2W33eKR3v8A2PNsod+liEW0I7EEVU4yGwQxTmhH1HEWcmvRoJce
DiLTPVJleMMm26t9PceDlA0B8G3xAyB095+7MU8Mom2CpKIJYpLK7XeM6KKqro7cmsa+oYPaJrIu
YK6Va2h33t+wJVR7Z9OULHQx5yQRaEmqcALN7JeNDTABDlfVHO4X32ExN5Iq4lDxwRI4GST51i9w
ZrHG0gPsHkBcqLtijw2PeHnGm3UsUWzlU0gnDmHE0H3FhEQw23HTSyGDxwA21GAXUxhul185vq8l
jWWQNnMg/BNUozSpb/Ds95DHWCh/HXh3GDEFD1HXBpNVnZx0Tk1lhCCzFNshUksudiEbsv4fwoi5
x3CeISscQc9tPMdrbG0NgwILClyMLRHnQGn1k9cubprCRzcnwmk2XcpUZbb0wQXBKM871gmdxWgH
3WgFrWo/aIe+P6OP/wCr/Rnh510E9Txwtp5PKuMm1xK+CCZLYBJ94yilVBvH1PockEDZjiGIG6gf
bv8A435JIZpxi+jmu7rjCww9+6w2aV/kuzs5HCbUPGs3BFE9deUby6VX0+EmbRXZery+yKPrUfEv
hhm46zLpQak+zuDBCwhu7i35wyhm1zjWZWYQ90x3lmuu95wbZcW30D0rvzyNa/MxkqM3r0Io53hF
3yvVVRMx8Qd7Qgkk/wDoj3uZwvR7YVh3gY6f9O9Y6bhHuYcNtGdIstEOjm8PnO9oKbIMI+ntqWwj
GLybODbtWs0Nf9MoidNawrb8IcMMD1cA3uVnUWx/0Zh9c5Lrp67hlcAaxN5C8wQFuNttulpSgBUA
buMr1D99DiYO1n8t53pP8s8t9+ayHDIM8G9TjTIsQSJjrfmXLhyw4MkWqpRP3/1ooY+zyioDLbs8
QND/AMIFxbnP8zhJFd7XHslTH3661cajnY2N+31egi74yP3FTT+4lPhNLhBqLgL2ZdkhXDCuS62v
hLBBmX1QYx7fBCEBMX5XzbnrWz7rve8htpRgCxBpgWt+yz7Z26cVBkMrRUVlJ5kEdscKwwkKXyna
mK4EXGnTYv4H13v/AErn52/1/S7FhhD1JG1LTcT4/eRHS+ahnfQCYeZJbXDcf0xKtrPDDQpu8rlZ
DfqEoriCkbX8u43gli04uI15Uvs9NjRBogwo9qtuzpA2C20rIidk4XLX/VvMPQICEfOtkttGPzMb
7j1wiCXSUgq/RE5j6T159UaZ7LItx0qR8oZtWAXysBCFDVDd66eWuTdTXTPbQAPcfG0fTRbYrXb8
nloNe94irbOPSRKN6aZgnxAm/wAtbcRCfmcvJtYegLp3kPFtvY13nXmhR37JCBYbu1GC1BAHA4bq
KM/bJSTnDCwRggSKXt7hhEzYbuyn6F34IbhHMpm1QyaR4IGXk2lhFjCbnHap9tsblO5FEfscN9PG
CFW1h0ovUB/8wFxwE0Zc/THN8gg4PgQ5geqNa7QSvAhPvPQAwAD5I4zlvUUVcwAOmHtXF/cFADD7
IlCBxHSzysKkF3YfS03jMfn8qG55twzAqWg83dY82HtL3V8vB6YLZJj/ANnIt/yBZdI8d1Zh1CIg
X3xn/tuQtVZb6v01ZMgL6Sgx8ku5TYtrr3IHB7KLFNyeGmu74fvVdhch8oB3LtQdx1tNNk93H18x
fJDltR7/AM3mfaQLlrbARJCYXbZ2b/vtlcmWiVbGW3RlpnXhW19fN/YAEeg6VClyjSUVY45cDf2Y
/wC/EwBBwfeEZz+cy1gM5UeN45Dn4tnajlBGmXsIW8AxmnnlIG9ucfRdwQjlsap+FgLt/YQq5kr1
CjAvUQdKX9M2C37IN25VOnmfDFEnZktUhkb7px2v/wDCk4t5tphjRR9tdl7DOSDy/wA+u5X086QB
Ma9UF7N0kwCnHxDNxolrT7f1SJHEdCMPSR3tpz1F/v8AoVm1WVMd121GTFYcst8tapVEb8PzjEs0
FoZQWZ58Is8Zu4aWXBjZa4obNOUSGH26Y5MNcq/s7n1HG2lABFgxkgG+vJCuvIqtkNshFh1UKxDU
aj40ZVsYdEUQiss64tN/L7jIpmBzoY+NK5Ys/rjdo75iRwxiHWFU0ZyFoKAEGoN0TXOLipOHfmlY
J2xCDx6x2e3/ADKWu/hkQN0kC2MSnKT3ggn7XKiKa+3HCLjjLnZ9d/SsEoT/ADJQbjw7TrGTgCim
A7qtLPfaKlO371tiFeYlZHn09KK4w7cTakQNuknswl03Tz7Szz6o8xFoB8VUw31wczUVBai+MIho
I8s2rKjz6gAIDXNfeBk2nCigbUYSyj7sjurOY8z5b95VooNsvlcxsFDQOXVM6Bxv91Dtcps+I0QE
ASzq/qHLDIGYfdw48729bBWypuVDTbvgjhyvRLDRksEjgQ0llxACWVLlOnMEgkyvRD11lsqAdiPk
MaRfySRQcyXs2uYVbbuZ3083y54krX6MtjQyFI191a2/omFfSbjvF7Ktm4E92Wt0zIvHPghoPHMB
dW8+z6tjlbbkQPoH8zxj3eyx9/7/ALPuUL50BwotPLUe/pCiKWd0edZatnFaQBJGR/FOvHwEDk2l
NPvdGWuFZja76C8t/uklPuMLO8I8cnWwmOaseNWNm6GFw4ZeiA2T3NFwAhQY/wDjHoOT37jnbzeK
3H+KC42vd20BZ7xdYsV9Ov8A8u7aPRNDqK/uw4S3I4+XrTGj2hrnOVa8M+rnBfWwICf6ji8Jj4q0
kvyKaBm6OPasQbTBMtutmgzWcD1//wCqLps0iPdeZh8XWGshqNCrUCw1VBhEC4+OCKskc0uP6J4Y
NVnN5ZIftO2jNE3eoIrJMOLeM9B7ZfjVQOmQAXJQfS8l54lZP+W5UEojbRaaXedZmvHPIROA0O/X
8YpKJRecUVyuWvK5y5dqq/fYZ6AmJaM4qsvGh+b8ehnSq2RmeTusX8/0dk7Xm/8AjG/O78miwoNV
bxA23BR8NfXry1/SCDePS2wV7dDNyOgVTcULeqVlCcTLhKi6mD6iiTq9CXdzKSrV1d7l/WfCPNIs
9Flh1wM1oCPyz3ePrzkCvhi4uGl96ptEO7MGbf6oTRC21LcoW7EeNcNiT/dPbDT17rreFdIhBFUZ
YBFcd2jDiHQoCrA8qSoP72MGLTo22bGOlrg+qIli5kZ/JhKKePMie24vrxTBTXK78VRtNsn2849l
VjrLOWKFifg2uW5TaCbf+VTRaSsG2GQdK7dU9p4bZ9/VsFbDA5+/lOKaHeDjr1KiCrDbY9xc8oQf
sZTNW2Iy232oTUuIoztl0jV+VyvfJRIr4fvIi8N+qR8YmYtpuzUw+GPveBkR82OKJ1nT1ZFtXlwc
7XgbjnzgxiCvea2la0JnYUwzjDwmIlWiNVpBHAShYAQKZFllx6Cql487nvuXPJWuXEVMYtzhrzIT
br1TlXOf4lp0NsptmKqJnjHrPlMNGc15rzTOKg3gTjP72cx5UUjBE++3TlDiOeLjAAXw64F5yHz+
Rrp9qSd+kkzqXi3aAbdcjkEOCaKA16q+e9mR7bC315FJRpBMJdOFNx6rTMZtQQgBrMmJPzBuFgUU
LkrwVSKhJKazNDbBb7/e6RYElc4wtA3kJVJTPUpBNpIAsYDMJBR37791BF3qN91A0pO3pNermV/l
r5sHHfCf/wAMVVp8w77oxMOYX+XUZEr/AHfuoIw381j6YrO/d2JLK+Pe02V3OvyVkPhY6IR0+sUq
h33ZZSQbdkji5yb95VauoLmdOVUiNNPOYsXkfuX6qYcB5I76cH3uspjKd9OeAK/9CfF4q+81HVgA
RWY++WfgBaHfIO5uO6JcocEUWFdOsY/lHrI6ruqDC46k8kVz3yFqvrwxSxvXMnz6nwehrWy6fyqJ
bWAYohwn3Flv30+6JelBks8MfP1UDqR6r9oEntK+NF57nH1CNZzQgmIZKfsNZ4JXICUaE4Sa4WmY
RTS0JtsuGDd/lW/ksc7fVrOMxqanf/L04PzMFX0iN+PT8gyqY6QsXtA6sso74pkRwkZbdzrFnUI7
mCgBkcxCrufUm2UJYFUUqLIF6w77raxG0FUK8tlbtpgwASAao5VqS68jF/d+4G6v+S432WxHWnIH
tNk8WKEAn/JYDFWnbYrmhL5au8f53G/PP3VqMpQSDi3y+m+VDLLMNDCfsbLzXRnjmL/UAzJhTCPr
wMb4pdnfnUEPrb4OFeM8Pve9vdsT/NI6InrTSgALDIYMeEu8cOWX8vNjATxyQiBS0PLEQBs+7HSi
AQBTf+tnWfGdE0GyHte/vNP1cG5/7BnxjRjYzAZJJctrxr+Q35byQwyBaOAQsRg+ENrQDEUMP6Tr
BiwkGcBqYf8Acx91/rKTDPoq/wCkASXMCW16+8w06dOhZ9qGiNDpA1c3nNvHEHx11xnK6axYwTMg
u7QURHADOtoBUXwUM8adPRv6XRegQZgyk2cZJTvv9sSPqu9PN0V3QIvjGMIcr65oKw07c0kylhVf
T/8AKV+tr5XWnH+NDyR/+L4JDjVTFF19q7U7Y94ZqM/2WDSHx4TvOEPKL80Emw1vecfe+MtsFGyj
gsVcM7r4XXfGkXxKNvKBQwCmO/A00VMWA7raOjI917YDaDPOXFN5gbJUVE3j/eFlDb5gEXUkg/cN
1pPJ54l0zzML+rpBx4Bks03Tlu+falGCV0jQfEC4QxYuIR5/Z5LxzmKAKdPM+jLBEvPFGx676VDI
vY7uz/IIErwjgBRMGvd5ap8sW11/4pO1cvSODJ6QsJ+bj4slZPlF3Mb1cexRm0v+h1kY5sRK6tNf
exBZlSSgTACqugsP4dbOW3XdU9sPpcNlx7ny9LERj6/ZJtNZG37E387mtX5aZkNGLLPC1zPff1/J
XUn2EQ0q9CsGjtPWt2mXI6K9/AQxh2ICIYgC+66dLxKYIGa89vTdEldcddvEmv4ovYnHkUQIDl22
1kmd0L92DtsElnyCd9t9UmvjzoU0lbVw0AJ7OXasUWHUkSLODTqJ/wCwUfz9Q+LmrTB8DAN54xds
zmQpoKKUUIBUoANx9dtNeK9LzKKvWylBmeyABiL+nijl+se+KM9bzpDp5BLNPARGCCBZcMwII1KG
O60swieCGuB0Rw0R/wAHMIWGTbyNX7h7hj+85xzHAAefeSHPAMAMVIXFGzpp8kHjaTRUYQ/VQcVI
6rIh7/m962y83wzg1g8XWXxEkdBMRHeZBNRJo/p83sr55q0s6qvtEGqhHC2fCYcUQb/MNM+gVtmn
tvvtFn+m6yw5ji4pUZWCE5BNYZLiOcFtxqsw8vucqnvvilwkbzEOkA8IwcSA5SfaDOlqCHAEpiuo
e8/o/wD9ZIpsPvp3xAc2iTT1HDIYNNTgqOp4oMc8ReLPc795RQdXCu0GpBiCWGAi4XJbD4oJIcgB
a5Wv6KJMeuII7382kB2wnRwj1KMjRA37JOqK38Kd/se4oOoHB1TifwhCHm4nX3So5NvE+4VtOJQq
q9N8PvIYrFFGHU0Vbb3WYbpKoni4Yc/iHIoLnAUyi8gHeH2fGDf1HprCUI7b6jsvI6AhS848GMst
/qVgiF2VnDSwLro2CCQi2yRAo/JiSRRaMF8c1ZQMHwB2FGBDgxF12kIY6z5bo9zhOKT+Mh66MxAE
3zHXnWQAWwJzgUwEmhwDJJPCRxD0z97PF674xACFXElHVbKVX/IYbZTqBLCDLs1m5K5IIaBz3iRm
wgx7xjUh3DyA1HQioobi4a/VWHEsYbTtkAxj11+nsZZdvPOps9z3rfvbdsyrqZoiDv8AtAw2+4MU
cURxgy9kQpBkE8gcU8mKAw5ECCcdCFs9GpFbB397FfPF5fiquKxTx9noCSaW4pzX5YwAiXQQA14p
gOTkcLA8fXf7bEdfcQMEu8unGxVs859FCGGiEwjnkJNbMiijRdPg0mccaS6EEF2iWHSyCkptUEsh
t9Xscxn0K3pxAFD6hsGrfH1yVbSjrmy3jbz50cvaEc5NMY8W+1b4AEQa72cZOeJ1DhchT2bxNsJy
Tn/SIY2fHeiRZwQinw3zCYWeRsqKeey42oYRcJv6UgG8JRx20L98Q8MdEiXebZXuWoFoUvwMqr0+
vOCGiaeDCxVn6myWHVtMrg1U7V9qTVL1rPTpT2+NQHM8DfAxBqiP2roV9fOuIDnRiROamWgmVkSf
Ve7+8506pExjk5NVTy2TNBzTfPrWziaS37muverCni/ryuTRlMJ0uqDB54OPcUFVoh59B7L/AKDj
B1p0Nd4obhoKs27ygF2k6DCDMa7rnmJOfeUB1xY/kJSN5LBGRJXfOQYeeINOUT43WMDH8DBXvCQd
YXofupy8mj6Dmn+wjGBLOCGt26m7lcKtswZ3/IG2IhOUa0zyCe+3KhqWEsohs7s64d+EMdl9bayr
xrnRMwi0Lqw23CMIlD3e83zZWri90sOyZtByNbQu6zaee6MS+vonvi56faQdqW4Q2hW55zbYDKVA
Bu/FEmMRHGsgvhg22HP4/n+ICwc8uvHGiCkgaxBsACNNznrz11+/OJsjIrDIsE7IPNVvqIM9wvuy
gosw7CONYuNy4dZxzx9OLJLLwpNW7iosGDaAdNCnOhidHbZNK75lEdMPsQ7hnAqgS/r0LQHq03U0
xpo+nbDEfGcfqsNLXinuiJH5NVtQZTzzzIPR5QOaLUdPNZbJS4PYJjq8lYRHvOpjOT3/ANuum724
JY7qPMNdsno88KfMffn/AMyVX7CLgILJF+p+Nf7LjvCG6PgNzbPfp1oQQSRDzTiCT/b/AKia9tv7
zyzzy3YI4a59+c436ZX7ABwQRRfO/f8AcFs/d2SrNuMOcOTZ8OOHAmlPhmAAZKoPNeMJZsRjIL7/
AP72qpcgmL/uqvvf70uLO+CzD2yTftyRV2e/rkynr356MLk5nC0b3Ee2DDuCLE6r9kp2nDeHJNzy
HoKBfS2R1onPzPNSvnxyDYq/yzxWjf8AF527SY/l6GMYwipjxpRMMbVaaQL9JfPntkvvrtJBxGsv
kvtzd0zPo18decLuXkH81xjni5WJ9kChw40rY0xyh/1h78EMilstrunn9Ckw3gvvvoalPTVWed06
WZP/APW1tJY8tyLc/OM50F0haQqwa7UUyM40JU12iT256KIIFOJLCg9+kMIKJ5aRxKFX/wB19LHF
Ej151/8A6zXJVXZRQFIYbHkwu5xSh8ZKVhKY2dc6xTnripgwwrAz7/8Avns8+taDYIEHukOP2sTh
72Hn4JtSvzF+65yz1X0tnEc8EsKQgdk+09UPn2Xvc4DIYqL82w7645q7/f8AE3CHDGnrTtzO3Wwx
liy9NyQs32+NxtKc6lM/EZNQ0IDxaKS/6xpELOOOeaycnhlumaCCCCCxniiD7zD3PT4MGa+/CAIB
DWUCG33HZx2+eHnd3m8P23fcrVHD3LvBTOjijeTpxk2BAWLw9Jp6IWX3xYkJEJwl/DNMdubDDv0K
0bG66KmCCHKt07y7s9LNVyhtc6ld/8QAJhEAAwACAgEFAQADAQEAAAAAAAEREBICIDATITFAUANB
UWBhMv/aAAgBAgEBPwB4fRCy8vx8Pk5j8Lyh449H2uLn+S9zmcsPqxixBYfdd4TK7cPk/r8jFj/H
Z9HjiTo/F/M5HL56QmGPokTvBeB+Hh8n9Ri8aHjh1fi/kcmNDXd4eF0fdefj8n9Bi6vss8ejH4Wf
y+DmMfW4YhiELL8DwuyFl44/J/QYui+B+BnHq/DD+fwchj8SELL+ghdePycxi8D7cRPL8Kxw+DkM
faD6ruvpcfk5jXnQsvwLPD4OQ0PpPAvrvHD5ORyFheRdH4Fnh8HIY8PxLuvMsPHH5OYxYhPIsvou
izw/+RjHh9IQmIJeBeRdHhHMYhC8qy0Pus8fhHIY8Ps/GujwvJx+TmNeN9ELLHldEISOPwjkMaIP
6V+ijmMXmQssfdCF8o4r2GNDw/ChYn1ITCOQxeZCxBj6TohfIvgYxoaHh4RCYghd15ELqvk5j86F
ljF2SwvkXwswaGiEITu+yxPGuqOXx5J1XR+FfIl7IeWcl9FeCE6LoxHLKzCE7sQuj7rHH5QvgfRo
aIMnmguLZ6R6ZoaGguBqamouBoQhqPgLgPjR/wAmelyPS5Hps9Nnps0ZozRmjNGaM0Z6bH/PkL+f
IX82aM1Y+LHw5GnI05GrNGaM0YuDFxZx4u4ZMNEHwPTY/wCTPT5Hp8j0+R6fL/R6fL/Rpy/0Lhy7
8eDYuCQllrvSlzSlzSlKXK6UomUpSlKjZGyNkbIpcU2RsjZGxsUpUVFRUVFRUVFXbjxolF4YiERE
RERERERERERERGqIjVGqNUao0RqjVGiNEaI0RoaGhp/6aGn/AKemen/6ememaM1NTU0FwNDQ0Zqz
VmjNWas0ZqzVkZOROXXiqceP1H+PMTxfzUy/+F4fH/BQXFvokL6TF+G/JBdEL/gUJm3RC7wmYTzT
xz697UvTj3QkaGh6Z6ZoaHpnpmhoaGhoememememaGpoaGhoaGhqas1NWampqzU1NWas1NSGrIam
pqQ1NWampqzVkZCEZqyMjIyMWePz3RwIQmIQhCEIQhCEIQhCEIiEIQhDU1NTQ1IQ1NUaohqjU1NU
aoiIQhCGqNUampCGqNSdOHz4ODhsbGxSlNilNil88/CWeHz4FiCWH3jF+gs8PkXZCEcVhj7LpMwn
4s8HDssIQnnlhIhqjUnV+BD/AA1lHDCys8cLLIcPC/pT73HujjhCGMhxKilLilL41+Nx7oWFh4RW
VlZWVlY2VlKxfhzycOtwjjhGxsMpetPZjymbC5Klwn5WL6s78e6Fi9IQfXih8TU1ZqzVi4iQxcZ9
afQeULuhdIIfdYhCEJ5H555n0XdCwkQeEPCKUouRxd/OeFhd+JxQuKIQ1NCQ1Roaj4GhoaCUXeEJ
+MsrujiylRcztPy34ePdCKyipxxS/Qf5COPWYQsQTNhcnR8obMXNlN2bsXP3HyhuceV+hPGy+S4X
RZ490IXRDJhDRBQapDj7C/Q44YuiELMwspDRGQ4pjTpGcPj8K+VC7oQulFlMbKcPkhCdL9S9r9CY
Qu6ELpUJoXGmhqiGiFxS/TQu6ELEIQ1EVFRcUqKVGyNi4pSlKUuKNlKXFKXN+muqF3QhDwjjin+D
3FRNwbZWV0rKysTY+TpWV0r9ylYmV048mPkzZlZWVl9isrGylZRN/VhBIXdCEPCYys2KL4KbFP8A
AkKMZS4opBtFPZFKUuHhDZcXDxSlKbF+g+JoQndYQ8IUZqjVHsXExEU2QyGuIUgkNU0NDQ0FxHwN
BKD4mpqaiUGjUXE1NTU1Fx8tLmGo+6wi54YeIQXsiM1ZqzVmrNeQkxp01ZGRiTJ0nWEIT7Ky+6F1
4jbo37FEMvsjj84hCEIQhCE/DfZ90IXRMQ2s1FQmhc0L8tZeFh9+KFwFwIanpnpi4+x6bPTZr7Qf
Bi4MfBnps4qL894Y+/CC8UJ1n2Z9d9kIXJo3ZuxcmL9lYY+0FmChshc6Pkj1Bc0x8oP+ih6iFzTG
0boTTL9e979Fj7rCQyEOJyTpBIfwQhw9jkqyHD2X6DH3RRHLKZfYuE2csJnGtFKxfH57H3WEMpRN
D+M8X7nLHFJi4miNUT6z+yx91hHLEJjRnpsXCM5caemzjxn2H9hZfgWEcj3yrRdqUpS5pSlKUubi
lLi/XvVj7IWENlKJexUPk0jd+xuxcy+xubmzpubsXM2qNzcXJm5szcXI3FyHzNjY2NimxsNlKVlE
P6rHhdELCQ8JFSKh+5ESEWIiIhqhpExCExCZWITE8NKUpS914uWV0WUPCOSIyMS+BjIyex/rLx7j
6Ia9sx4SHhD+9y7oTxxHisWOSiKbMuKUvybe3SlLhPEIQhCEIQhCEITEIQhPEvByyuiFhMuEJqCY
2sRDSRRJEVNUaI0RoiGiNEamiNF2n4XLuswmEhIjTGiM4nLiyHFE91iopfpv6S8L7rKHn/BXj/Bx
P8H+WVibpyeExHGzyX8Hl3Qspe2FBtYqKirDfuVFRUJJmiFxX1r9h910T9scRkITMIQhxGUpTY2K
bGxsW5pcUuLilKUpS/UfdeBDfb/BWLkxsXxjkyvshspSiGUv3eXdC6opSkzSnuMpsJ0pfCsIgyEI
QmIQhCEJ9Ll34kIQmFiYTHMQSw8a4aIJD4kyiEZCCU+nfM+/HK6oZ7nvleyPfHuP46I9zl0X4r78
RMReiYyjKU4jKMpaJYouQ37FFmujcNhfhPuhC6rCHlRFJiChc+x/4ampDU1GjVC/BY+6wvA+kYyE
9sQhHhL38U+w/A+6EUoh5TxSlzRMXxilLhUfKG5sbM2OPLy3tPLCZfjQ3iCXgQmcutG+iEUpsUbK
UpSlKUv1WPukJEIQjEhoXFwadIyMjIxJj4kYkxojI6PizVkZGRkZGLixrEIxJnIjI8v6Eyu77I4E
EiERCExCEIQSIQhCEIQhCERCENSEwyEIQhCEIQhPpMffgL7E+pPpsfZHAWJ954fWExO0J5n3RwF+
++6OAvrP8l90cBeR9X+HPHy8HBCXjuITyr8Rj7I4C+isQZey8UzPBfLcMfZH8xYnSYnW5hMUfdfi
Puj+fmhPx34uXdH8xYnghCeVl8Cw/srHL47o/mLz0v0l4n9N90fy8FxSlxfBSlL0TKXrS5oheKZX
V9H3Rw5RnqI9RHqo9RHqI9RHqI9RHqI3R6nE9TieojdHqI9Tieoj1UerxPVR6qPVR6qN0eoj1Dc3
N0eqj1Eeoj1Eeoj1Eeoj1Ebo3Rubi5nqI3N0bm6N0bo3RsjZFRUbI2RTY2NiouOXgpWVlZsysrxW
Jspc0rxetKysuKyspWVlZWVlZWVlZWbFZszZmzNmbFNjZmxsVlZSsrNilZWVleOX7D7Uvh5f8Ry6
z8l/a5frvwzEISmpqM5dL9Z/gTqsMSGIeX9V/i3qhD6p++OX/AbDZSlKXD++8T68+g/+EnR/8NcP
zMpSlKUpSlLilKXNKUuaXNL2pSlL0pSlLilKUpS4fWCRF3aIQhP/AEhCGpCEIQhCIhCGq/2ar/Zq
QhqQhCEINEIQhCENSEIQ1IQhCEIQhCYZMrCH4oQhCZg0QhBkIQmYQnSeOE7TyPssQhO06TwzrCdY
TEIQmIQhCZhCEIQhCEIQhOjLhfXn0p9OeFkITyzxzpPBCEITMIQhCEITEIQhMwhMwhMPxUpS9Lml
KXpSl7XFKUpSlKUpSlKUpSlKUpSlKUpSlKUpcXx3FKUpS5uaUvS4petxc0pS4pSlzSlKUo3mlzSl
7UpSlKUpcUpSlKUpS5pSlKUuKUvWl70uaUpfpzxXpPF79/fD6e4ieWExCE6zExOiEiEIRGqNUQ1R
qPiQXE1NSENUaI1RqjUawkao1NTUhDU1NRogkLiampCGpCGpqNYSIampqampCEGsJEIQhCDQyHFe
Ni8bwl42hdp1aILxNYXhSF42Lxvys4vxvC8bExeDj5V42xeTkcfkpcUvdieL2uXhPvBLwMuIQnei
zCC6UuPfHvhomG2VlZ79PfEY1isXg98ojJ0glmdnhLwvCzCEzBoROk6NEEu0Jhogl2hBoaEiYmZ4
3heFi8TF4WMXheF4WhfRYvExeFjF4mLwsYvFBdX42LxMXiYvCxi8TF0fZiYvM8LxUXiYusJljF4m
LxPC8zYvE8LxMXi5CfieE/C8J9WLmbs3NjY3Ni0YmLkbGxsU2NjY2LhM2KUpSlKNlEUpSmxsbGxR
vCZSmxsbGxS5sNilNjYpSjbzsUpSn//EACcRAAMAAQQBBQEBAQEBAQAAAAABERACEiAwQAMTITFR
UDJBIkJh/9oACAEDAQE/ABl4PFGQQ3yYuOrSaVILppcMSEh9UITCPVNP2aT/AL0Si+BshZhkxOql
HxZcan8GkWH1rD7qeoafsX11XL6H4CNX0aRE7ni4TEPm8eoaF88EPC5NiZS5eX2N8EP6NIrzQ+b6
nh4R6j+TSLC5rLWKUTw8vreWXDNIuSKXqnCDEMuaep/o0C4wnJ4SIJZS4UWH0vLNLEXLwsTtWHyZ
r+zRxvSiTk+CwxPEHxosM0i4PE6aXjRvD4PGv7NJpfGjfCEJharxpehYfB4WNX0IWbzebhiFi8pl
spqZpNOVl5WHhiU4vqeXh4WH9CQlhvmh80PC5QYyGp/JpZpyuLYmUuGOJi40vCHwXi7wmUUY+ExM
Xg+K6GPGv/TNAmJ4Qy8Eh4eG6xcWTFEyjxcUvNsWXzeFi5pcLpeNf+maDSUonxWHwWKXi8IvazSI
YxdC4vKyy5fB/wCmJiYsLEJm5mF3vLHwQ0L7EPlSl5vD4Pm18Mf+mLCYn1s09M4vjMoQxCw/FfJ/
TH9sWEzQ/kXU2LnSlLwfQsMTEUeb1vgunX/ln/RZ0qGll5MuVwfQ+VLxZpXK9Kw+tlNX0z/rFhfe
EJi72No36UP19J76PfR76PeR7yPdR7yPe0nvaT3Ue7pPe0HvaD3tJ72k0+toPe0fp7+j9Pe0fp72
j9Pd0fp7uj9Pd0C9XR+nu6f09zSe5p/T3NP6e5p/T3NP6LXp/Tfp/R69P6e5p/T3dJ7mn9Fq0/pu
X6b9P6btP6btP6btP6XT+ja/catek+KLUiobX6LUjdpPcQvV0/pv0/p7mn9N+n9N+n9N2n9N+n9N
2n9G1+k5a/UWlGr1Gx6nhcUhrMIiEJ0QnR8nz+leJj5K/wBPn9K/0+S6v0ur9Lq/Svo+cfOPkrKy
srK+Xqa9qNTbdeGLFKUotRuzS4pS4pc03G4pSiZSlLi4pfBXXc69W1U1anqdY+FKUpRcHilwilKX
F43vuLxpeVzSlzOHr6q5h9r/AKreKM9R3UPruKXtvVfNoss1fbHwfmTN6oTtfJvEy38Mb+Xh9q/p
tELhmv8Ayxso8wnSsvlOldT6ZynTBNYZ6j/8vCwylxSlKUpRspSlLm4qzSlLwpSlL3VeAsM9Rf8A
l8HwbKylwilKLUUrKUpSlKUpc0pSlKUpSlKUpcUpSlKUpuKUpS53FKbhvhq/yx83pNptNpDabTaz
aQ2kI+Vyn1Xwrxpen1P8ZfBZbQ9RRPlSoffeteKsw9X/AD0s1YX2LFKs6sXuZem5peycHwufW/z0
PDWELGplNzN5crmuT4Lx3wfL1v8APNDw7iixq7kXqfk3L4er9cFweGxi+xFNX2RkxCE/nvh631wW
UPDwlhiSxERERqRpIbURDzPLva+Hrf55rhtNovsmE8fOGj6Fl6TazaQQ14Cw14EwsrDPW+iE6IIg
6mIYsactoWo3FKbkU1MTHq8BFxOh9zPV6GylLhlyxfeG8XFLij8V+C8XLZ6uXzb+SieGxLD+yEIP
SNYfmofc8s9Tmx62jcxtlFqaN7NwtRvNzpp1oes3m8b8Ndl8JnqYvCDHoNrIThS8rzvamXlfDWWe
p1MYx8JynhronQ+1nq4nC8K6Q2I1aRaabUPSjabEbEPQhaDYalOK4LhexdN53o9T76XT/osMTmYJ
4eWqNToXN/wfUXz0XgmUYsMTLhtCaKjX9/wZ0PLQ8+p98IUuJmImGL6wxIhqKVlzei8Vxvj0RcM1
v5w+b4tD1QWtj1M3NG9j1t8FleEsLvfJPLPU+8Pk8oo9Q9WNuo26ja8Rm02mxi0M2saEsRkITEZH
iEIQhGQhtZMvncrFLwvL1PvqX3hjeF9i+z4w0qRHxxhERZiIPShJDFCEJiEIJYhEQfhzNNX30tCW
GI2kx/3Eyxti+UNE6ZxfBYQ8QhB6R6cvt91m+lGPoYn84aGoLUy42u4uYPSxfWGxDEsM3G83m83G
4Wo3I3G43I3G4eoWo3G43G43FQ31XlSm4bvSxL5zrEIRS5qNyKjciob+RNFRSocGXhe+86Xgu9D4
6iCVwxCNX1wrKy4rKzcPW8zM65ynYi8F1tsTdwyiWPlm0g0PRxfjXxV1Nw3m/wD/AAbEzejejd8m
9HuIWv8A9C16TejfpHrQ30QnbOE6H47GuDzS9F8li8K9cIbEbEPQhrMITsXUsLvfgQnW9NHpgtDP
bY9DFppsPbHoaFobPb1D0tZWV1vwZ1zuWGavsWpYYnGLGo0/BTWPC7V1Py3xYstInyJY1JI0v4y/
sg0hr5yuxcIJeBOtdTNNIz5GmL7FjWaVjU2jczeze+TF2peYuhYZpxSn06b0b0ataZp1pHuI166U
v8J9i7WLhqkHynGE4QhCZmJ3rD6p3tCWdT+RmnTTYj29I/TRsPbRsRs0mxGxD0G2NGxGxGxGxGxG
w2mw2m02mw2m0gtJCEIQg+ExCd66mIY2SkEmj5Ex4TxTcLD+xMpea7YbSEJ3vDFl8mP6NOGIqw38
GnDZR/XFzK+8MTXFvN7nyfC811al8GnEGM0EIMRCEROEIQg/rFKU3MpS4uaUpS4pSl63wXNvkxLD
H9jRpw2y4o38G9nuM9xm9m9nuM3s9xnuM3seL4N7ZlclypSlKNl+cIqNQmUY38CTZtZtZtY1/HeE
Pk+bQs//AFlfYz/uINGhcNcpexeeuD6KfI7+m14jNrENVi+sMjHqaN7N7HzXVPDnF9+10gylLiDX
zwpqIzazaxaWbWLQzYzYxembCEIQhBIhCEIQhCCRPAhOT6niYWHOLgsP6FzaEiZYuu9rF4CyyEIJ
/JT5JhtCIbRi7GUTKUuKUuKUvTRweJ3NlxTdhrFxBXFGyMRS4WKUWWU3FExvyHwmFlcXh8Fm839i
5sQuD4XC89dExODEMXyQg2IhCYbEQaEuLEhr+O+tDFlojLijVFpfBm8esWo3G4pu7KXnOxdSwxcm
LFWV0avrEI/4iwsTkvvgxYnCEx/0gz/onxbEjahIhEPrWITm+i8L1LPwQSwsrhBMZDQ+M5M2m0hB
ISIQ2kEiZhMPg+hcV0Jj4VDaExsTRUVDZUVCZUVGllKjcioqKiopUNiZUVYbFwbF0PsXFYvFlKXG
5leKUrKVlZSlLmlwxMpSlKXFLilxSlKUpSlL4S6HwfVOhi/lXk0PN6Xi/wAW+K/Ja/jrm/417n2r
m2PwH3LxmuxdDzS+TPHfUsrkx9EzR+Feq96xeEJhc2PyL4K6KXiulc31rtfiXw3hc2MpcXnS9b8O
YXhPCIQhMQeGumE8F8L1Xxlz1YfU8whMTqfTOEzPEXNjIQhCEIQ2m02m0WkhDabDYbDYbTabTYbB
aDYbDYbDYbDabTabTaNENpCG0htNpCEITEJmCRCEGUXOENpCEIQhCEINEITMJiEIQhMQhCE5JEWY
QmYTnCEEstEwu2fwrxeFznWu2/wXidc7ELx13vuonzeFh4vJLheL8G+FOKzOLxeD43Fwudw++E/h
QSy+bwupeNSl773vE5Lw0PrfhQndCZhCcbmEIL+MvBnYu6f114NHmeNOM8V4SJzvkzwZmeC8IvFs
p89VzeFyy5pcvjeb4XF7aUuFmlKUosTwITM7JmcX4U6G+NNxSlKUpS8qUWaXlc/AsUpSl4UpeFKX
qmbxaJwvc+dFxpSlKXnS4vC4pSlKNiLwTHwpS4vUuFLm9N6r10uL00uKXM5TnCdENpOU4QhMTMIT
qmYTE4whMwmGPrnKEIQmZiEJmCzBLEJh5hB8YQmIQSIQhCEIQhCEIW4nOdr4vqnF8oQmEQfG9E4p
cF0tcn4kxeuda7KUpSlKUpuLilKbilKUpuLhsbKUpSm4puE8Nm43G4puNxuKUTy3ClKUpRMpS4o9
RuKU3G43Cw2XF6EPr0jfwN9aY+tPD43Nws3mhvsQ8voQ32aTV2IfWhrpeIQnQh8pxmH1oZMwnQ8w
nNYfO8LxSJlc4QmaXjCDRONPgiITK43rSy+K7Xm8lh8rhCYyl5UTzeVKJ4ZeDxRMuGy8Gy+Kh9b6
kPpWH0o/4TwEPqQ+lCGPoQkPqo+F4rD5TqQ+pD6kPpQvofgTlO9eQ83mhrE6YPheK53pQ+qEGut9
WkY+lYeXyWHyhCGnTuZIQgkJUaaykbSG0mEiYZCENo1BEIJZhCZhMQSw0ThtNpD/ALBaWlja2QhD
aNEJhZeIQSbP/8QATBAAAQMCAgYHBAcHAgUDBAMBAQACAwQREhMFEBQhMVEVIjAyQVJhIFNxkSMz
QEJigaE0UFRgcrHBJHBDY2SCkjVzotHh8PElRLLC/9oACAEBAAE/AtZQ/cbUewCehqCOo6ygjqch
qGooaihqKGsofZT7A9g6wgncU7UF4+w1OQTkNQ1jWNZ1Dsj2J9o9ieyOpqPsDj7L0NQR1HWUEdRQ
1DUUNRQ1FDWUPYP2QoewfZdxTkEPYsmp2o6xrHYFDsT2J+0nUEfY8fYCem6gjqPsNR1FDUNRQ1FD
WNZQ9k/Yyh7B9lydqHFD2AjqOsaxrGs6x9iP2k6gj2HgnIagjqOspqKCKGrx1FDUdZQ1n7MdZQ9g
+y7ijqHFDUNZQR1FX9odudY+2eOrxR1nUfaCehqajqdrPBN4I6ih7I1FDWNZQ+ynWfZPsuRQQ1jW
UEdR1DUNR+wFDUPaP2I9kfa8NQ4J6HHUEdR1lBeCCKHYD2ih7J+yD2Ch7Dk5BDWEdTkEdRVlZFNP
2Ue0f3APYHBP1hFBO9gIoIoe2UO0P2Moe2NTkUENfjrOo+yQh9iPYn7R4+146h7ATkNQR4II+wEd
RQ9sodofsg9g6xqcih2J1jUUPbH286x7I7M6h7DfFOQ1BFBO9gIoJ3BDV4+ye1P2A+wPYOsanagv
H2jqOooaih9lH2cah2fjqHH2BwTkNQRQTkNY1BHh2BQ1+P2k+wPYOsanah7A1BHV46xqKHYDsx9l
PtBHUe08NQTtQQ463ewEUEUPbch7R9o/YD7A9g6xqOoewF46vHV46xqKH7oPZntAnaghqCKGsIoI
oe2fbt9mKGsewdY1HUPYC8dXj7I1HWftJ7U+0PZPZDU3gnahrCchrCKGoavH2T9tKGooe2NR1D2/
H2R7Q+0H7CPbPaBO1BDjqCchrCKGoe2UO1P2Aaih7Y1H2hr8fYPsDtz2h+wjUNZ1HUOwGoJ+rwQ4
6gihrCKCKHtlDtT2nijrGooe2NR1j2vvavHUft57YcdY1DUEdR7Dx1N1BO1BeOoIoI6gigih7ZQ1
+P2k6yh7YXgj7A9nx9g+2O0PaHtvHWNQ1BHUfYPseOoagnamrx1BOQR1BFNRQ9tyHantRqOsoe0U
F4I6x7Hjq8dXj9lP20IoagjqPtHh7A1BO1NXjqCKGsah2Lk3tT251lD2iginewPZ8ewHsX/dARQ1
BH2BrCKCOoamp2pvBeOsoaxqb7fjqKHantyhrGoeyEUfYbrGocdQ1FD2D7FuyPaFX+wD2BqGsLx1
BFBHUNQTtTdYRQR9gewfZKH20aih7YR4I+wNY1DjqGoofYih2Z+whHWEUNY9g8ENY1BPQTdYRQR1
eOoavHUfZchr8fthQ9sI8EfYHsjUNR1D7CfY8ewP2EavHUNQ9vwQ1jUE9BN9goI6vHUNXjqKGooJ
ybr8eyP2IoewdYR4I+2NTdQ/cJ+wjV46hqGsI+2EUE5BN9goI6vH2PHUUNRQTk3X4+wfsp7IoIo9
i3UPswR9o+wfZP2Aah7B9gawignIIaxrKC8fY8dY1FBFD2z7Z+wnWPZCdwR7EahrH2IoI9kdY+yD
2D7AR1BFBOQTfaOrx9jx1FDUUEUNfj7B+0HWPYKCd2JQ1D7MPbPsHtj2I9g+21FBO1N1+OoIoLx1
eOrx1FDUdRQ1+PsH7IfYKGoeyE5HsCgihrHsjtSgj9pHsH2Bx1+KPtt1BPTU1HV4ooIoa/HV4+2U
PbKH2gahqKCcgnI9kUPbPbjszrHZnsR7B1eOoaxqCegmo6vHV46gvHV46jrGo6ihr8fYKH2oewUE
5H2x7A+yHUEeyP2M+x4+wfZOoagnoJqKC8dXjqCOrx1HWNR1FDX4+wUPaPahO7Dx1FBOR7MeyOwH
Yjsz249g+x4+yPZ8ENQT0ENQ9kI6vHUePsn2j7BQ9o9seyKCej7I7Aaj2I7EdsNR7E+yfY8fZGsa
xqCeggih7RQ1n2T7R9kagj9hPtD2CgnI6xqt2A1FD7CNQR7A+yeyHsFN7Ae0NQT0NRQXj7JQ1n2T
7RQ1n2L/AGsoJyPajWNY+wBHsD9hOseydY9oagnoawjx1HW5NR1H2T7RQ1n7eUE5HtRqKGoofYB2
J1hAEoQuKyBzWSxZTPKslnJZMfJZEfJZMfJZMfJZEfJZEfJZEfqtni5FbNF6rZo1ssfqtmj9Vssf
qtlZzK2ZnqtkZ6rZI+ZWyR+Zy2OLzOWxx83LZI/M5bGzzuWxM87lsTPOUKNvnK2NvnK2No++UaMO
/wCIfkthHvT8lsX41sf41sn41sh862R3nC2J3vAthd7wLYne8C2J/nC2J/natik87VsUnmajQyW7
zVsUvNq2KXm1bDNzatil/CjRT+i2KfkFsU34fmthqeQ+a2Op8n6rY6jyfqtjqbdxbFVe7Wx1Pu1s
lV7oo0lT7orZan3Lls1T7ly2ao905bNUe5ctnn9y5bPP7ly2ef3Tls9T7l6yJ/dO+SyJ/dP+SyZv
dO+Sypfdu+Sy5Pdu+Sy5Pdu+Sy5PI5YH+R3yWF/kd8kWu8hQDvKV+RW/lr3arhCy/NXCuOaNlBR1
EwGFthzK6Hf79qOhX+/b8l0LJ79i6Fl9+xdDTe+Yuhqj3jF0NU+8Yuh6nzsXQ1V5o10NV+Zi6Iq/
wfNdEVn4Pmuia3yt+a6JrfKPmuiq73Y+a6Nrvc/qjo2u9z+q6Nrvcro+t9wUaCt9w5bDW+4ctiq/
4d62Sq9w9bLU+4f8ls1R7l/yWTN7p/yWVL7t/wAlly+7d8lhd5HfJWPlKseR9jx1BHsmsLk2EBcO
2v7N/s9vsNuy3q5VysR5rEViPNYjzVyrrEVdXVyrq/pq+S+S3cgrDkFYcgg0eLG/JYWeQfJYIvdt
+Sy4vdt+SMcZ+4FlR8llM5LLj8qyo+X6rKj9fmstvr81lt9fmspvr81lt5n5rLHN3zWWObvmssc3
fNZf43LL/G5CO3/Ecss+8cst3vCsDveuWB/vSsD/AHx+Swv94rS+9/RWk95+i+l8/wCi+l84+S+m
8zV9N5mr6Xm1fS/hX0nJq+k8rV9J5GrCfdt9gIoe3xTYvN2L3HaHDkB7F1f2Lq5V1dXVyrlXV1dY
jzVyrrEViKurlYisRWN3NY3c1jdzWY7msx3NZh5rMdzWY7ms13NZrlmv5rOes9yznrPcs96znLPc
todyCz3ei2h3JbQ7ktpPlC2g8ltJ5BbSfKtp/Ctp/Ctp/AtpPJbT+FbSPItpb5VtI8q2lvlW0jkt
qb5StqZyK2qPkVtMfqtqj9VtMXqtqj9VtUfqtqg/Etpi5n5LaoOZ+S2qHmtqg5lbTDzW1Qc1tdPz
K2qDzFGph5raoPMtph8y2iHzraIfMtog862iH3gWfB7wLNg94FnRe8ahLF7wLOi87Vmxe8b81mR+
dvzWNnnb81jb5h81dnnCxN8w+axM8wWIcwrjmFu5hbufY71btT7YFymsw/HsQpopMzGzffirVHlW
Gp8qtU+RWqfIV/qPIV/qPIV/qPdlf6j3ZX+o925f6j3TvksU/uyrz+7KvP7p3yWKf3Tvksc3u3fJ
Y5vdu+Sxze7d8lmS+R3yWZL7t3yWbJ5HfJZz/Kfks53lPyWe7yrPPJZ/oto9FtC2lbStpC2kLaQt
patpYtpYtpYtpYtoYtoYtoYtoYtoYtoYs9iz2c1ns5rPj5rOZzWcxZzFnNWa3ms5nNZrOazWc1mM
5rMZzWYzmsxvNZjeazG81mN5rG3msbeaxjmsY5rGOaxjmsQ5rEOaxDmsQ5q6xDmsSxDmrrEOaurh
YgsQV1dXV1dX1btV/Yut2rct2u6xHmsR5rEeZWN3md81jd5z81mP85+azpPOVnS+9d81mye8d81n
S+9d81tMw/4hW0z+8ctqn96VtVR70ra6j3iFVPe+Pettn8y26o5j2T7VkxuEev2S/s3W/Xcq55q5
5q55q55q5VyrlXPs7uQVhyCwt8o+SwM8jfksuPyN+Sy4/ds+SyovdM+SyIPcs+SyIPcs+S2en9yz
5LZ4PdM+S2en9yz5LZ6f3DPktlpvcsWy03uWrZaX3DVslL7lq2Sl9w1bFSe5C2Kk9yPmtio/c/qt
go/dfqV0fR+7P/kuj6TyO/8AJdHUnJ3zXRlL/wAz5royl5yfNdGU3mk+a6LpvNJ810XTeeRdF0/v
JV0XT+8kXRUHvZF0VF4TSLopnv3rolv8Q75LoofxB+S6KH8QfkuiR/EH5LokfxB+S6JH8Qfkuih/
EO+S6J/6k/JdFf8AUn5Lor/qD8l0SP4k/JdFf9Sfkuif+q/RdEf9T+i6If8AxI+S6Hf/ABI+S6Ik
/iR8l0TL/ED5Loif+Iauiar37F0TV++Yuiq33ka6KrfeRrouu87Pmui67zR/NdGV3NnzXRdf5mfN
dGV/mZ810XX+ZnzXRekPPH810ZpDzR/NdG6Q5s+a6O0j+D5ro7SP4fmujtJcm/NdH6T8o+a2DSfk
HzWw6S92Pmti0p7r9VsWk/c/qtj0n7n9VsmkvcLZdJfw5WzaS/hysjSP8MVk6Q/hnLK0h/DPWCu/
hn/JWrP4aT/xVqv+Gk/8V/qfcP8A/ErFP7l/yWbJ7t3yWe7yH5LaD5D8ltP4T2cTLb/5fH2m6url
XPNXK381v5rfzV/Zt6dkxuI/7Fn2Y24W/uK/798f3YfYY27h/LB/d9+xh4u/lg9tf7c+qp2HC6Tf
y4rbaT3n6FbbSe9/QrbKT3vYxDqfn+5x9uH2M/ut7sMbyPBpKhk+ju7eTvuomulkGAXuhE6IOxM8
eKBla/Gw+Orx1n2I+4P5NH7pCz6yaolZBga1htv8SoJXSMOIWc12F3x9qurNlayzLudwVLWvlflS
sDX2uLexILxSf0FRY8LAPFU8mTYW4cVNUPd4WAWLD1uxZ3G/vW/b27C6H7qkpbvL45TGTxUcbYWY
Wknfck+J9qqpWVLGgmxadxVNQCCUyulL3WsPYO8Eeih+7bcQ471jaQLb3HipH4g0W4KR+I4fZPsN
7o+H+wYTwY5JWO8HlNe9liw8VtbnOIsOCZM+Mm3jx9k+w3uj+Rh+/qiipanfIzfzC6GpBwfL810J
S+8kXQlL7yT9PZPseA/eY7e/7xv2o9m/2q4V1cexdXV/tw7UfaN37rHj69kO2Isy6eXEq5Vyt63r
erldZXKu71V3c1idzKxP5lXdzKxO5lY3cysb+ZWN3NZj/MVmP8xWY/zFZsnmKzZOazZPMs6TzFZ0
nmWdJzWfJ5lny+YraZvMtol8y2iXzLaZvMtqm8y2qbmtqm5ra5ua2uVbXN6La5fRbZN6LbZvRbbL
6LbZfRbbL6LbZeTVt0nILb5PK1bc/wArVt7/AChbe/yBdIP8gW3u921be/yBbe7yhdIO92Ft58i6
QPkXSJ92F0h+BdI/8tdI/wDLXSI8i6SHu10iPdrpEeRdIs92V0iz3a6QZ7srpFnuyukm+RdJM8hX
SUfkK6Rj8hXSMPlcukofI9dJQe7cukoPI5dJQeVy6Sg8rl0jT8nLpGn5OXSVP5XLpGn5OXSVPycu
kqbk5dJU/JyGkaf8S6RpvxLpGm/EhpGl/EukaX8XyXSNL+L5LpKl/F8kNJUv4l0hS8yukaTm5dI0
nmd8l0jS+Z3yXSNJzK6QpL94rpCk85+S6Qo/OukKTzFbfSe8W3UnvFt1H7xbdSe8W3UfvVttJ71b
ZS+8W2U3vVtdN70Laqb3oW0U/vmraaf3zVtEHvWrPh94Fmw+8asyL3gWOPztWNnnb7Q1Dw7aRnAf
hUjyXO+Pt71vV1cq55q55q55q55rE7msTuaxO5rE7msTuaxu5rG7msbuaxu5rG7msbuaxv5rMdzW
Y/msx/NZj+azHrMesxyzXrNf6LMcs1/os1/os13os13os13os0+izXeizTyCzTyCzjyCzTyWaeSz
j5Qs08lnfhWaeSzDyWafKs08lneizvwrO/Cs78Kzh5VnDyrOHlWcPKs4eVZw5LOHIrObyKzm8is5
vIrObyKzm8is5vIrOb6rOb6rOZ6rOZ6rOZ6rOZ6rNZ6rNZ6rNZ6rNZ6rNZ6rNZ6rMj9VmM9VmsWa
xZrFmsWaxZkfNZrVmM5rMZzWazmsxnNZjOazGeZZjOazGc1mM5rMZzWNnNY2c1jZ5gsbPMsbPMFi
Z5gsTOYWJvNXb5grt8wV28wr/iV/xL81f1V/VX9ViPm9oam8R2o4qbvu/p/whvf+aymclks5LJZy
WSzkslnJZLFkMWSz1WSz1WQz1WQz1WSz1WQ31WQ3mVkN9VkN5lZA5rIHNZA5rI/Etn/Esj8SyPxL
I/Esj8SyPxLI9VkHzLIPmWQeayD5lkHmsh3MLIdzCyHcwsl3MLJfzCyH+iyX+iyXeiyX+iyH+iyX
rJesp6yn8llP5LKfyWU/ksp/JZT+Syn8llv5LKfyWU/ksp/lWU/kst/JZb+Sy38llv5LLf5VgdyW
W/ksD/KsD/KsD/KVgf5SsD/KsD/KsD/KsD/KsDvKVgdyWF3lKwu5FYHclhdyWF3JYXcisLuRWF3J
YXcisLuRWF3JYXcisLuSseSwnksB5LB6LB6LLPJZawLLWArD6LB6LD6LD6LAsCweiy1gCwLLCwDk
sAWWOSyxyWW3kstvJZTeSyhyWUFktWU1ZLVkt9ewbxHajiPip+8/4KPvN+PZW7S3s27ayt+8B2Nv
b3KwX5KytqsrBYRyVhyVhyWELCFhHJYW8lZvLV46h7DO83tR3h8VUd6b4KJvWardjb2rK2u37zt9
jH7lGqPvt7Vneb8VUd6b81omNslU1rm3Fim6Opg9zsNwfu8k3R8774Wbrm10aaZsmUWdc8FV0kTK
ZjsrC/EPG66OqiBaP9QqWNu0COVvoR6qugjhqMLBYYQjSSbNtFxh5ePG2qjps9/GwbxT4aCSObKc
Q5gvvPGyFHUOAIidvTYZHlwaxxI47uCdBIwgPjcL8Fs097ZL/kqKninc5kmIHwsnwWmkjZd1nEDn
uT4pGb3McBztqpqRksL5XucGjlx3KajZkMnge5zT4FZbuOE28dyDCRcNJWA8irfysFfVdX1X7Iao
u+O1j+sZ8VUcJvzWhP2sD8BVLI91XUguNhwVSySeOAxb7HfvV2GW1xiDfzT2S7NBj4tkaXqZ1TmN
yo2EW7xTcx+kt+EuB34eG5aUB2gOtuLQnRf6JsmeeP1f56tEvaHStJ3ngo4WGJ+ZTMaW/wCPFTZ2
20+HFl261uCmvk1GX3vTjdQXyYMzvevFNMo2suvxOH4WWi77QT+D+6oh/qqy434/7p1RJLBN/pX2
se9/99VHtDIHzxkWH3eak7tNUR3j67QW+G/csbttMf3cm9vW6q3vpqdmQMPX8AsIzQ7xwLZ2wU1S
G3sWE7+dly+H8pD7CPYi747WL61nxVX9XU/AqnPXG9YJ4wTgkAtxshI8CwcVmuBvc35oyuIIxH1W
0S+EjvmmyOabtJBT5Xv7zifjra4g3HgtomcLGV3zQqpxuzXITSR3wvIvx9UyoJljdKS4D1UlbCI5
A1znF3PwTJ5Ir4H2utolD8eYcVuKkqppG4XSkjVDUzQtIjdZSVU0mEuk7puEK6fMMmLrWw/kmaQq
GC2P5rbp83Mx+FreCkr55GFhduPJH+Yx7EPfHawfWs+KrPqqj4FU/wBYFUyP6OjN97rXWxU+UyQz
Ps63zKqaY082G92neFVilxM2fy9b2qSj2jH17WspaCSBhlDwcG+yq6d1QIAN3iTyVEOpPDia4MNg
74o0L2SsjLxZ3df/AIXRsu8ZrMQHdWTMf+E//wAVo4WnLHx95v3hyU1FLinls1rcZsOa6Mn3deMe
l06inZE+RwHV4hQ0748iZzWOY9wFvitIUTsWbFG3CG7wFf8AmqHv/l2sH18fxVZ9TOqfvqompnUj
YmyG7bW3cbLPi2SnjxdYOaT+Sr5WSztcx1xhVZJDLI10bMIw29kLR00bI5sbwE+ognp5G48N93W3
J1TDijixNLXA4jfgqXJj2uMSjDfqm/onvZhooRIHOD2cPROy4qiSV8jR9GBbxW21LRYSn03BUUr5
ajMkkHVFt+7ipnQztxl1smXnxspc90jcqZgjtv8AEq4npp4xM1zr8TuUrCymo2m26Vis5tQ+QnqZ
Y/RPtifbhc2/mc64e9+SHaU/18arP2eZUNO+ebC3lxTtHyBj3CRjsPEBeqjY57w1vEqWJ0cjmOtc
I7vZiY6RwY3ieClhmhcBI21+CuUxr3uDGjeeCGdSTNL4xe266qKozkFzWi3JE6sSxKnqImAh9Ox+
/iVU1jpiPBo4NRcif3mP3oUNUHePw7Wn+vYqz9mkWgvrZf6FQdys+KfBBtcLcplsDriypixtdJHl
N75seS0g5jpy3LaCD3vE7kJZG0D2ZRwH76PsRd5vxCr2ZlTTsPipWUEcwjfD93vXUFNTtbnOeXMx
WZ81pb6yL+k/zXfsIOJ7Wk+vCrf2Z3xC0fUPglc5vi3eFt/UeI4mR34kLpLe0mNpcB3ltP8Aqc9r
QPRVNcZo8GANF9/ihUPFOYN2A+zCWtlY5wuBxCqKyOR8UjWHEw+PJOq6J0mY6FxdZMrITFgkh+9c
BvzVdUMqMvC0gjjf+c4PHtaT6/8AIqt/Zj/UFoqKKaV7Xg93cnUlLaUBsgc0G1/Gy2ap9y/5IQyn
hG7jbh4p8b4z12EfFbPLk51up7MDWvka1xsD4qqphTyhoeSMN96LXeU/JQtEkjGl1gfFVdPs8gbj
xXbf+c4PvdrSfXfkq79n/wC8LQg/1DzyYquOeoDyW4RFiw/iU88sMVO6x8Mao5TK+ofYgG1gp6sz
Qtje2zw65Rjm2Avzfo79z8/Zg+tiFvvhVIB0lTgjcWqSpqW1b2MZjaPuqHDDAJBFZz5LEcrlaV+v
b/7f+f5zg8e1pPrT/SVX/Ut/qVJJJEX4Xlt0ayfxmd806omeLOkJCZUTRCzZCGpz8RLvErG61rm3
L2YXvikD28QpauWTDidvabiy6TqPw/JRV00bcIN9/jvVRVSTtaHW3Kyt/LI+ynUVDwPa0n1j/wCh
V/1TP61oUNMU9x4p9KGUk0bN+Lh+a6Lk961UVIM05hbdv3P8qriy5n9ZhuXGw8N6dTs2Rswk61+7
7AVFTxTUxxt8Tv8AFTUQbR4cIdJcWdb1R0bV7zZvz1RQvldhYN6fQ1MbS4tFhxsUzRx2aXEz6U93
eqKnheZI5orvapKWaO2JhsXWajQVfuf1CbSVD2hzYjY8FstRjwZRxWvb0TqadrMZicAm0s7gHNic
QVBSSSyYCxw61nHkq2mMEzrNODdY6qKmFRLhLrNA3qqo42CN8Li4Odht6o08zRd0TwPgsqXqjLd1
uG7isqS7vo3G3HdwTo3ttiY4fEKjoY6lhLnPaiLE/wAvw8D2tJ3n/wBK0h9VF/WtFyMFJVXcAf8A
7KknbsYxv4FSF7pAW1TWMtw3XVJMzbZSX3xbg7mq6JjDiEt3OcTh9E9tNsrCD9Nff7AVO4jRspHH
eopcUET3eNlHBK2umlPcLd29S/WSH8blokjMk/pCc+sy5S5kTRbxVJikoHNa/rbxx4KhgfFNPi38
N/qqaQvp2vefvf5T5KnOLWQC1u+SoTOIKl2Hr434Rx+Shq3T1NMLWte/ruTC4z1YJ3DDYfkp5Xxi
LLhL78vBZs/SETXDAC3eL3utJsqTjefqmkW1aIcfpW23c1RuL9ITYm23HcqV88j6pso6oNm7vBSD
6ej3cMX9lTlw0hVM8D1kz/U07xLv+kI+RUbvpnxBlmtaLIRufIWtF3YinsfG4seLEfywPah7n59r
ScZf6VpDuRf1KmgmcyR4Z1RxKypcvNw9TmsqUxmUNu0cSg173AAXKv7QJ/JNL3WAueQTny72uxj0
N9TSWm4NijK9wsXuP5psj291xHwQlkbez3C/Hesx2HDiNr8FtM3vn/NNqZWNs2R1k17muxNNitpm
65zDd3FNrJ2NDRKQAi95fjLjive6mqZpm2e+41QVc0AIY6wJQqZc0y4usnaQqXNIx8fRMrqhrAwP
3BbdUZuZcXw24IVcwiLMW4m9/FdJ1XNvyQqHtqM7dixXU0r5ZHPda5/l6Hufn2tJ/wAX+laQ7kP9
S0W1uwVAcbAl1z+SeyNmjHCN+Jtxv/7l1ejJMNxv3/G60bk3dYOx263JTiHH9Diw77356oNHxSRN
c8SAqKjidPLA57rt4Ecl0fC8Xje7qyWdf9U+ijbWxwYnYXNuqmEQzSMBJAtxVISKiK3nA+aq6Vsk
pkkkwsEai0Yx0Yc6Q7+FuS6K65GZ1bbj4qCkzqeWTHYsv+mrR0UT3Nc5wxD7n+VU0oNTaOUFz3m4
8q6MbcsFSMdu7ZOaWlwPEbiqandUPwjdbin6NeA4sla8t4tUNGwUsoxscXjvqKhkldJZ7bMNsSfo
6VuE5jCCbX5Loqf3jEQ5pLXCxHFQxmSRrBuxKegngZjJa4eNk7R87ZY4yWXfe35KnoHvmcH4cLHW
dv4quo3RzYmNGF5s1o52XRVXbjH81SU0U1I8OgbmC7d/NGknEwhw9b9Lc1Jo2qYxzy1psPApujqt
7GuDBv5lQaPmfPhe2waestI0ZglL2t+jduCZSSSU0k4c2zL7vh7DKGkhZGKjrPefVVlKaaXBe4Iu
39+W+0RdztaX/i/ALSHdh+JVFUtbRTwkHE6/6raWbDkWOK/+bpk9LsphIfv4/FUVQ2CQl17EKqdT
OwZMdrcTq2ymdkvcXBzfuptRTitdLi6ro+XioquJkcvMykgc7lNbHLUtm64c1vAiyr7bTN+X9lSl
mezG6wDrp9VTSPdG8tMeDj6rNhkgYwVBiw/4UdVSsnLc1x6vEm4UULIqOfDJjBDjf8kVQytjqGl3
C1k7Y4qgS5t3F54bxvTchtXLPtDOs21lM4OkkcOBcf7qhw52+UsP3fVVIjdTvMkjQebFQhklHJDi
sTx/NQRxCOppo5rk34+ospY8jR7YXOGLEOH9V09hz45PBrXX/NVJa6eVwNwXlaLwbR1rd3qqZkr6
WZrrYiDb4IjMlp5mkYAHfqj9FpW7zYHf+impsNWKh0wAxiwPwWRL0hm/cwW4qC7o63Ad5kfh+SY6
2SJHDMwqmjlikq3Sbml1wb+Cqo5pDSGLeA67t/gpnW0pB1vub1pSnm+kmzBgFrNUcGKhnkz3Ntfq
eB1hF735Log1zTx3+C0u5rqhtj3W7/5OHtRdztaXuy/BaR/4P5qho82F8rpAxnNdHXwFkwcx33kN
Gy5hbi6tu8m6OxA/TjcbHdyQoX5+U59t12nmm0Di+ZgkHUt+qOji0C87Bfmm0MrnkCRhAHeWwztw
OY9h63EeCczSO8GoiTaOZ7nsGHq/e8FNBJA/C/8AI+BQQhmLQ5sbiL7lFPNTPeLC/iCFNVzTtwus
B6Iq3sBSQzRYS+PCDwV1FFJLcRsxW4rBJTyRvlh8fHgqut2gNGXYg8b6r2WM8ysZta6xb0XuPEkr
Of53fNCR7eDiPzWa+4OI3HijPIRYvcR8UKiUCwkcPzRecWInfzT5pJBZz3O+J9mOpmYLNkICJ/ky
6KHtRdwdrTdyX8lpDjD+a0c6eGnkkwh0PiFCxpMEkTrRn7ngm1GKpfDh7o4o/stbb3j1J+0Uf/d/
ZVOPKlyLY/vJ9RSVDomSwPv4X3cUaBwmLI3FsVrnf+ifVxxFkcLPo2u6xH+F/oayexY/Hb4cE2Jk
NJlufZt97uHitIW2Wnsb9bj+Wql/Z4/o8PotJ22gdW3V481AMUsbT4uC2KkxXygm0FNZ1233p+ja
ZxjwjDv3+qezRma+NzC0j71yue+45qCTKkD8IdbwWkzihgPM/wCFRyU8YlzWXuOV1RzPYMrNbG13
3j4KqH/8b9bmbx1/zR/lC/2ePuDtab6uX8lpDvRfAqgrJoYnNFiL8CukZrsPVFvAJta9s75bC7k3
SLwPq4+aFa8TGQgO8B6Jtc4OmdhHXW37mY4WPLfFDSR6+JgN/D0RrvosMULWclt0eZj2cYvNdR1z
wX5gxB3gqmqdOR4MHAaoNI4IWNc0kjxVXUZ8l/ujgonYJWP5G6OkxmCzOr4807SceF2Fjr+F10k3
A3qda+9Gq0fmPkyXF55o777rb+Chysz6W+D0VTUUM0WG7rtHVVJVbO2QFl8QVI6kynsnb8HKonph
RiCEl3/5dH+YD7cfcHa031cv5LSH1kf9KpqOofDjay4utjqA5rTHvI3I0VUL/RHcmU08jcTIyQns
fG7C9padd1TsEkrGHgV0W3MPXOC353TtGDAcEjsV/HgpdGWwZbiST1r8EdH0znPYyY5g8ECg1zuA
J+CLHjixw/JWcD3T8lBSNngc8SHEL7le+o2VxzV1iHNQROmkEbVLG6J72Ejct3P+Z2dxvw7Wn+rf
8QtIfWx/0rRpto+E+v8AlA3w/FNdf9VWZxgiycXe+6q7abx5+HhusgbEfFbVS/wLPmpnMdIXMjwD
kqH9qh+KbUPNa+HdYC6qJjDA545/5TX3EZPFwWzVDqqfCMPWJxfFeAWjHlpkOXdvi7kpC/6LcJGm
Qb/Kh+3O/wDZH91o82bWHk8qvaySniqMPXNtVJIMhrQ3LP4hxUVnTzYocJsN/mVAGGhqLtvvd/ZR
lro2ZbGjd3HcVSTDapYxDhHHfxUlpq9jHRdVpO/nuT30eJ0bsF/EWUcNPkxgMBb4LSsEbct7W2J3
H+ZW90fDtaf6h/8AUtIH6dv9ChlflYMRw34eCbUygAB7t3DemzvaS4OIJ4lNqZWizZHAJ8hecTiS
dd1HI5j2uad4Qqpc0y4usn1cr2YHuuL3T6qR4jBd3OCfpCoc0tuNUFRJASWHipK6okbYuA3+G5dJ
1H4PkmV0rHyOAZ1zvU9ZLMGh1gBy1RaRlYwNLWut4lQVFRPK5wexth3Sp52w05uW43A2w80NJkWv
CC63G6FW8VJn8TxHopNKSOLMLQ2x3+N10oLlwgGK3G6dpOXLYAAHeJVXWbQI+rbD/Lx9tvAfDtYP
qHf1Kv8A2gf0BRd37PfXf937rfvgcB2sP1H/AHKv/af+0KLu/wCwI4DtYf2f/uVaP9Sf6Qm00zIG
SOb1T4qSnmiwl7bB3A67fzRf9xRfUN+Kq/2k/AKf/wBKp/8AtU0cT9lbIfy57lPSUbQ/qujPg7wU
Oj4XQsMrCH2371DQxYp8xxLWf/tPoqTLY5pf1yMP5roum/F80Y2QVeGTrMad6qjAZjkd3d8/54Hb
R/UN+Kq/2h/wChq6eWkjjna7dy9E+tp3ysDorsA4lPrKbJc3rP8ARy22ndlyPvjA4D1UTo5HVBbc
sd3j68lV2igprcGyN/RPkoZZA90juHd32WcxtVmtacAdwVTI2WZ72tsDb+eG9tH9SxVe+pk/JM7o
V1f1WL1UU8kZJY+yknkktjfeyuOfsQ07pnYWkXtfepoXwyFj7X1tYXOa0cSVNSzQYcwDfyUdFPKz
Gxot8VbXLS1EYxPZYfFNjc94a0XJTqadr2sdGbu4KSCaK2Ywtv7eE4S6xsOJ/mJvEdsz6mNVX7TK
oQ3IhuPuBZbMwuw7yN6fDDJGWlgsqmVlMYGNhBB/wqrLdM4xsLR4g81CcMjDYHepNkic1rmMGO/g
ooaSOInq4L3uVJBTyyQmIx3DusB5VU09OYJSGNBaCbjmFTU8EAivve/gVpP9p/7QmtLiGt4ngm0V
Nga10TcWHeqejh+mfKbtY4j5KujztmYDa7v8KCOGLEyPwtiVJTUclMJHs4d435KupoIxE+Lg7w1N
bFJRwCXgcPzUkBpqmNuL7wLStLbnQH+r/CqqZkxYXu6rb3VCKbLlysRbi33Wlgy0Xmv+mrYaSKFj
p5Xdbkho+ldMWZxN23bbwT9HQZbyyV3UPWv6cVl0uwYcZyj97x4pwAJsbi+4/wAuD2W94fHtm/Ux
qq/aZfihpCcxRAWFhx5oaUffuN4JmkJQxzXb924rpHczHCHOHiqiV00rnlRPwSNdhxWPBVNYKhrR
lWseN1DWhkWVJHjHgjpE4o8EQDRxXSEVnDINncUyvZgZiiJLeCq52TPDmsINrFMdheHDiDddIwXa
8xuxWshW0/0rDG7A757+Kkr4TgLWOxMduQr6Vr3Gz7u47lFVUTIHRWeAbo6oqqkyIWvJuy3zCnqI
ZayNxvgb4qsnpZzD1nbnb93gnaRgxss7q78W5QVtNHmNvZuLqblpGqjlaxrN/jfU+aiqYYxK8st4
KKWiirbx9VuAgn1W1QZNX9J3i63yVLNSvoxDK61uN/mqjJzXZI6n8ws7w7YfVRqo31EvxQoapob9
FfchS1BLgIzccU+CZjcT2EDmtlqSLiFxCNxuTWOcbNFzyWVLiw4HYuVlkze6f/4lFrmmxaQeRU1K
2Omjlu7EbXBUNE+WOR5Lm24Cys47sJvysi1zeLSPiNW/kUCoaNs8JeJesPBQMbM9rHPw38VVQbPL
gxX6t1u56qWkNQHEShtjwsiCC5vi0kfJbE80+cJG929kyjkfT5wkbwJt8E1pe5rW7yU6jqmtc4xG
w467q6ihkmkDGcU+NzHOa7iOP8tj2Wd9vbD6uL4Kf9om/qQO5v8ATqO9pVUavaIsm9rb+X5qrzNo
fmAB264C0d+1M/P+yyWZuZh63C6Y+QR1LuOFz8Kq6qOojjs2zwq04qGIu8cF1SSyPpnE73C4CoWy
3mfMyzzZT1Mc1LLaJ5FuXjq0c0RQPmc7cfD4KpgikqKfE3je/wCSxgidoFsG79FTNjgp4Tbe/D+q
c+2k2t80KmnpPpYHjgOS8Fonvy/AKsjilgdOBZzTb9bKm/8ATZ/+9aMAdTSN5uIXUZVQRMpxuHf9
E/uP3X3cOerRlPFJmPe0Osbb06p0e+LfAGOBuAAnQUgfENnZ1/TkqZsEVVLCyOxAvi9D4LSL4XTk
MZZwJxHn/MEfeHbfci+Cn+um/qK2iV7WYnk4RuW21PvCmzyNjcxrzYhCuqWgDMTyXOLibkpri0gj
mukKnzj5JtfUNbhDwfir8k+vqHsLHYLEclDVSQE4fHwKFfOJDJcbxw8FNXzyxlhwgHjbVBWTQAtG
Et9U7SE7sO5oIN7rpOW/1TEzSEjW4Sxp37vRdJuxB2Sy9uKqagzvxYQ3dqpKrZ3OOG9wp6/NiMYj
DQeKi0g1kIiyAd2/1UNbl05iEdjY9ZdJG0PU3t4+qfpW7H2jsfDfqo6zZ8QLbtKlrYch0UMGHEna
RYX07sB6nH5LbwKx02Dqnd62VdWxzsDWR28ST/MEX1g7bwi/pTxeeT+sromTd9K35IaMmJcMQFv1
T9HTsFxZ3oF0XP7xic1zHuY4WIUUTpXBrRvR0XUgXuwpuj6h7QRh38/BOo5mytiOG7uB8FNRzwtx
OAI9ENH1RAOEfmU2jqXPe3Bvb8lLSVETcT2btVFBTzwPvF1h4p8UkZwPBBspaen2LPYzC6w8Vs1O
+hzWxnHbn4qKgnfIGvYWttxU2jCyJz2yFxHhbVHFLJfAwusjBUAtBicCeC2eo9w/5Kjo89134gz+
6kY6N7mkEW4X5e1dX/mCLvjtvd/BE/Tu/rT5omOYC4dbgi4DEb8As6IxmQPGHmqikkmqGStkwgN4
+Kn3TyDMx7+8tHOa2pbiNtydtWY6xjDPDdcqNswpZbEYyXOBHDeqSoNRJaUMu0XapxI+lmGHfYqN
shYxrzj5PG5RY25jXSYz4c7Kd1WaWQvjY3dvF9+rRl8mW3P/AAq6+xwl469wnseNF4S3eGi/zVF1
KNmPd/8AtBsu2Eul6uHqtVTfZ5etbq8dVDi2B+HvdayzdICBhe3diHW+9xRcdoY3wwOP9lTPeamq
ZfqtIsPiq1tXixTDdchp3fzPF3u2P3P6Qn953xKCurrFrzH+Z3zQke0WDnAfFBxHBZ0vvX/+RTZp
WgBsjgOV0JZA4uxm58U+aR4s57j8TqjmkivgeRdSTSSWxuJsjVTlmHNNrWRqZjHlmQ4eS2ufE12a
bt4J9XO9pa6S4OqGolhvgfa6kq55QA+TgVt1RjD8e8C3BNqZWyulDuseKqKmWcjG7h/MZ9iLvds7
i34BRtDpsPgX/wCV0ZS/i+aboyLrYnHju+Ck0W2wy3njvunUVC2QRmZwdZSMy5Hsvex4qmjZLKGP
JAPiOa6KjsbSuumaLBYMchB9F0X9LbM6lvzT9GizsuW7h4FdGsGDHUYXHwTKAmeSJz+AuDZTUGU+
MGTqONsXJdFb/r9/huUjHRvcx3EfzlD3u2dxHwUUmCZrjwElyjpKnxgDeOfJGupgHde66Qgy8W+/
l8VL0fNLjfN4d1SYMb8HdvuVHgz2F78IG9V8gzWvim3ltuqVnRzwR2qss+O/ev8AS7Qz6d5cBuOL
cpn05ivJI1xab9XiqiOCqyXZwAH+VA6mZmxRy7+blXlr6dpzGnA4Ep8jNrg6w7rlWkGpmtz/AJyh
7x+HbO735IarnVf28qQxmTB1R46t3sPp54xd8RA5pkMshsxmJW1YH4S7CcIO8q3YFpabFpHxWF1r
4Tbnrt+6rfvWDi7tfEJ/e/JUQBqIRb74Wz09/qWfJNpKdoIy2nf4hPoaZ+HqWsfDcpn6PjmdFJA0
bu9ZPw4nYDdt9yoQx04a9gcCEaSke58eXYho3/FQUMWSzOibjUVNBtU0DmXsLtUlJR4JMLd8fG39
k11NsOLAcq3BOw4nYO7fd8FFG6WRrBa55roqq5x/qntcxzmu4g21Vlzo+K58i0UGfSccX+FT00c8
9Rjdwcd35qahpGNvmObbjfxHosFNsNsZyrd7x4qloIZmvcZXWxbrKrooYow+OQ8bEO46qXR0U8WN
znhM0WM+RjpDYAEfmoKBsrJiXm7HEbvRQ6LjliY/MeCQoYcFY2N7rWdxWlx9LF/SVE4u0XJfwY4f
JUlA2pjc7MLbOtwUMD6SvjbiuHhV9E+UmWM3dburRDj9K3w3FNonVFRP1sLWvcqjRT4onPbJitxF
rbtVNo7aIRIJgPSym0a6LKOaC17gMVuF1NomSOMvbLit4Wso9EukYx4nFiOSZostnAe9uHj/AFLS
tM0WlDmizbYVoyEbNIeq7F/+b1oyjDy2V+Egfd9VpKmypi+7bPPBGAM0S4WaTa9wotF1EkbX3Y2/
NdFVOPDiZw4p+iqlrHOuw28BqpqCeoBLbAcynaKqW4eszebfBdD1XmjT2OY5zXCxB3qCnknfhYPz
8An6Jq2tJ6jreAR0ZUh7GXZ1r/omaMqXmRt2dQ2O9P0VVNw903Nvghoiq/B81Hoyqffqhtj4rous
xhvU+N9yOiqrCTZl/Qqm0Y0QvzWNLyN3opYHwPMb7XHJRxukcGt4nguiaq/3Pmm6Mq3C+Fo+JT9G
1TSwYL4uSdoqsAJsw/nqjifK4NYLlVtJC2juIWtfu4LourI4N+adQVLWSPLO5xRpJmwZ1hgT6OJu
ji58Yx24qPR1VI3E1oA9V0fVCUR4OI4+Ck0bVxtLsANuX7vh4u7UcQpOJ+CppDHJG+18Lr2XSpzB
ZnU8eadpQWdhjN/C66U6nc69/wAlt1JjL8l2I+O5Odic42tc3stHNcalpA7t7qepjgeeocTm8fDc
hpCEhhka7E3khWUQndLZ+Itsqp8Uk7nsvv43VNXQtgy5W8PS91UPjfK4xtwt1YjzOrd4qonpH0mW
yQ3aOru5LR89PEH432cVC+jbUykuPG7XqqqKR9ORixu8Piqaopn0ohl3W3WPiqd9A10mWTGeZPFa
SkppGNwkOk5jVDVQOgi+mw4bX/JPrII6lrg8EPbY28LIz0tKx5Y7GXvva90KmB2B+c0C3BSCI6Sa
c5uE2df/AAtKujdlObI0+FlBkihMee3rNP6qjmjNIwZgaW8VO6I1VJIJW2uQscUbpZDKLED9FovA
M15eN54KlfGyaqZmC5eXD81U4mUkuOsxEjdYDVokfQS/1ISQxNgjc8X3AJwLmysLx1gbJkL26Oy8
wXwnrA7kysfLUQOlduaVpCmikaZ3SEWZuWimEU5Jt1itH2irXNeRfe1aSpmMxTZnWc7uoQv6My91
8H/3TojVUELY3D7v6KQjaqZt99nJvfrPy/8A86tH9ehmjB63W/VFhgoGRvIxYh//AKT/ANqi/of/
AIVd+2Tf1LQ7gJXi/Fq2Opa+oeajLaXE/kiMckMjeAv+qihkbWVMhHVeG2U09XmyUvV6zt3wKrpZ
4RHJHaw7w+KjmmkpMceAyfopDUZlJmOj3v7o+CZ+0zf0M/yqDrRVDcW/G5VlMaeRrTIH3Cof2qL+
pYhe196JsN6uLA3Tqer2md7ZcDTw8U6+J1zfed/NaIw2k57k9kjqcA97ECfyKldUY2ZTWlviSiTK
yeAvbjt4eqq7Q6PbC53X3WWVI7ReC3WwpzJJtHQiLjZviqds7HWmmDrt3BF1b9L1YmgXsT4hDgP3
dB49q3iPipfv/BRtJwgb1lS3+qf8isL+IY63wRBHEFFrx90/LUxz2m7XEfBPpXPps7aHOs29j+q/
Irw101OaiQtDrbrqppcjD9IHXUNA6aLMbK34exT0b52lzXtG/gVNE6KRzHWuNUejqiRjXtcyxTtx
seI9j/KlhlhcGvba4uoqKomZjY1tvinsdG4scLEK+q+uSkqY243xbvYpdI5EQZlA+t09+J7jhAue
A1H4e0WvDGuLCGngVdXVzz1BxHirk8Ssbr3xG68SUCRvCxvPF7j8SsUtjbHYcbXsFnS8cbvmsRxY
rm/NOke/i5x+JTZHt7riPgjJISHFxuPFZ0m/ru3+qEjm91xHwKJJNyd6wyMsSx7fWyzZL4sRvz8U
ZpHCxe63xWY/cMR3cN6dJUYd75MJ+NtTHuabgkIzyn/iO+a2iYf8R/zTHSYrsxYvTinl5PXxX9Vn
y8Mx9uV0yaRjbNeR8Cs6TFixnFzT5pniznuI+KsrIgg2IKsbXsgDyv7Fr8AixzeLSPiP3B4+zB49
q3vN+Kl/4nwK0Z+10/x1NAaLAJzGOLSWgkcE+rnFTLEIcxoCd3j1bbzu5LRsLJHuLhfDaymfmUkx
+IT5IacMaThHBosmZLsyzePe3W/uqdv/APGSYm+D+OrRX7Q//wBv/KyWzaRla7hfeuoGyta22Ef4
ULKaKljLg0DCLk+qYyikkLmYCcKooYXGqDo27pCBuWjv2sf0laR/a5fy/tql/wDSh/S3+6oIaeSn
OOFpLTxT6OKVsEkcTRvBI9FPR0uTLhjaCAd4UENE6kZK+Fvd3/kiyjhqYsMYOPhbwK0q+Hcwt69t
x5LRJOdILm2Hgq79qm/qUUZlkawOAv4ldETe/YpGGOR7CRdp8FQxQyTgSu3eA5lT0VA1r8TMv8aj
aySihEvAtaui6YSPcblvlTKCinia+Nrmi6Oios8G30Vt4v4qrhZDUPYzgqKmFRNhJ3AXK2ChkdLG
zEHt/RR6Po3RB7i713rSFGymczAdzvBMGJzRe1zxXRdGAN7/AIqHRdMQ45mIX3EFTaNpYrPL3hn3
vFVzKbZmiRxAHdtztqoaIVTnYj1RyWwULw7LnN2nxKOiYM9jcb7Fjj8lBo6ne+dhe+7H/on6Lpm2
cJXYb2d/ZdD03DMf81HoZmH6SQ3/AAo6IhbI0ZrsLt3rdHREBxhkr8Y5qmjphRvDJLsN7uUzY2yu
bG7EzwKpoc6ZjCbAldDQe9f+iZodmHrSuv6J2h+uzDKcP3r8UdF0zsxrKg42814lUdI+ofyaOJVa
wvpcANyXNF/zXQ0XvXqXRWCCR+b1m3PopaEMo2T4zfq3HxVQ0DRZDXXGEb/zQ0bEImPmnw3XRH0v
1nUtx8VNogNjcWSnEOautE/tB/pKq3OqKzZ3vwsBFvkuiGXtnm/huVPovMD8byC12Hcho21SYXS8
W3aU7Q/UOGa7vgqeCBtJIGyAhwN3qKJm1hglBaHbnrSjQ6amDnANN96lp4Nhy8wNZu660Yxu09/u
3t6qqpTPpAt4dQFdFRnG1lTd7fBN0VGYw8z/ANXxU9M+imjIdcHulVTjJop7ncS0f3+339qDge1j
77fiptwk+BUD3RyRvbxBW31ObjuP6fBP0jUPaW9UeoW31GFouNx4rpOff1WIkkknx4qnqHwOuz8w
jpKUgjKZZN0lKGtBY1xHiVt02fm+lsPgqiulmbh7o8beOqlqTTyF2G9xZPrrzMlbE1rhx9V0r/yB
6703SLcGB8IcPBSaSeXscxoaB4c1LpMuZaNmEnxVLVxQDrQ3d5gqmbOmc+1r6mV9Ps7YpInHdZaM
aRA4kbnO3fBP0k2NzWMiIDTZwP8AhdJ0vW+jf1uKFbRinyct+G1rKOTLe14+6bqfSNO+J30V3EW3
qhqqWBvWY/M8SqiUSTyPHAn2KOWKKW8jMQP6J2kKTLe2znehT66lyY2MxdUt+QXSdNitvtbjZCup
IIg2K7t/BdJUnnPyVXMJp3vHiqCcQTFzgbEWQq6GN80rXuLn8RY+CdU0LqV0ZkO8cisRPEk/FMLQ
9uIXF94UdXQsDbS4RbuJlbRFksdzG3fv+PJVTqPIa2Jxe7zXKNVQTQtzfD7qdbEcIs2+4LRdVHCX
tebYvFHoxmN+LMcXXW20ZLJM4A4SLfFRT0TJp37SOuQhJHtWHaDk47+nNaRqYXCN8U/XHl9VHVQS
0gY6pwO8TfejPSNqae0znWvdxdccEysps6c5ot1Vo+opxSuhkfh48d3FVgphN/p+7bfyuqF7WVMZ
cbC62+lzMGZ+fgnV1K1pOaD6BbfS2Ycwdb9PipY9Hl800k4df7oK/wDqtF1ETA9jnWvvRmpWwNbn
t6lv0Ur4ZHsdtuEW3tBtdR1VM9ssBkOHeMTjxVdVQZDaeM4tw3/BPdTmgytoZ3E91NVUkTTO1lrX
UElDTyFjJeI433KZ0TY5S6vc6/ANI1aMkYye7nADCeKqRHtccrJmuxPb1QpHRskY98gbuI3oVdPI
y7Zg3reO5OdA6qimFRH1WkWuq+dzJ8UM/ebvt6KhlgNM+Jz8N7/qsumZWRsil6vi481pV8T2xOZK
wlpO6/NMfSz0YjfLh4X324Kj2dla7DJ1G8C5GeBtc1+a0h0eHd4b1GaeKeeXaGdfw5WQnh2KXrje
XbviVpF8UzqYNlb3jc8lVPhbo58Qma44ef7iB1wd09rF9Yz4qo7kvwKp4XyyMYziV0dV+QfNMoal
7Q5rE6kqGvazBvdwTqGqaCTH+uptrtvwuLqtpYIoo3xttdyoaRkrZHSMNvulRxSyXwNLrI087SAY
nXPBP0damx2cZeXstw3GK9vFVlFFBGx7C7efFUVG2oD8ZcLcLINc7ugu+AWB4tdjt/Dcn0EjKYSb
8Xl9Ex84b9G6S34bp177wb+uoBxFw1x/JfAHVv5H5KKPMlYy9sRtdVdLs8mDMxdW6do8ClzxNfdf
hqpKbaHlubh3fNVEORMY8V1TUO0sLhMG7+Fk/qkg+BV9UMebK1mMNv4lVdK6lwAyAh35K45q6G/g
VVUMlNgJeDdYhzV/VXCxeuq5V1dYldXV1dXV1dXWJYliV9QKxK6urq6usSvquoJ8p4fYGyqq99Qw
NLGjesSxK6urq6urq6xK6v8AuaHu9rF9Y34qp+rm+BWiv22H8/7K4uRdcFyWXpDPmLHANvuxcEd5
PxTQSQAN5Wkgdnj3cHLReLKk42vuWjzMwP6nUxb/ADAqsz2wF0Z6vjfvD4Imd1Gwxn6QhqlY9r3B
/evvUD4mSXljxt5LaNG/wn6BG1zYbr7kFpP9ni/qH9loouy5B4A7lo57mNkvH1b99VkkrIcbWh/i
HeVPkqdljfG27zZUReyEtkjMZv3ua0pmYIw5l9/1mqnZkQxRl11ExrampsB91UELtikY8WJLhvUY
DWtiJvZiitFpGzQO+W/ktLWzm7uLUP8A0f8AL/KoGZVM3ER1zcfmnMY3ScVh3mG6mijqcyNw7vit
D/8AG/7Vo2OPBNI4C+M71WTUUtM/Da/gQPHVRwQw04mIxF1lLEySphxC+FriP0UjtH9eN2Xfx3Ku
hhwU2Fg+taOHgtIMijnpXCJvE33cVpGNr5KRp8X2VRJS00kbDTtsRxsqeGhwPlbGMJJ73hZT9F9R
xLNzvup8NPhJMDCzDxATsNzhvhvuvy/lCDudrD9a34qp+pm+CiLmyMINjdCV+ZmY3Y+adPI5pa+Q
keqz5LNGYerwW1TuBBmctyxWIINiE+rmkGB8txyUdXLEMLZbDkm1UrHueJd7uKfWTStwukuFFWTR
Nwsfu5JxLiSTcn2GuLXBw4g3Clr55Yyx2Gx9FDXTwswtw29QmV07HvcCOsbkeCmr55mYHWA9FFpG
eJgYLEeqZpKpZfeHb/FVNZNOAHWsOWpmk6hrA2zTbxKdpCYysls0EC3xU2kp5QBubv8ABdLTeRl0
K520mfLbe1rKrrDU4bsAshpQ5OXkt7tlBpN8cTWFgdbgU7SZdLFJktu2/jzT9LuLXYYg0nxuqTSG
zR4coHfxvZRaSMb5TljC83wqfSWZBlsiDAeKvvUGk8uLLfFiA4I6XuWEQ2I47/BdKsGMsgAcfFQa
VcyO0jcZ5p9Y6SobJILgHc1VOk2yhmGKzmuuCV0rAXNe6n6w8U3S18YlixA+A5J2lcOWIobNHEf/
AEXS0LcRbAblPeXvc48Sb/yhB3B2sH1zFVfUTLR74mVUZlG7+xT3va5xcGmHD4cUI4JYWDACywsE
84XwgAbzb9FKyOfNicO7bf8AFNZn0rL2vu/QoGMucBa44qaapax2bRsweO9QTiYjLh+jHEn/AAms
iayQxMad53eqdmzlsMtJlh33vhvRhhP0WTuw8bKePKley/dKpIM6ZrTw4lP0XTYXYQcXhvRFjY+C
gpJZ8WC27mjo6qaL4Rx5royr5N+abQ1TnOGXa3NT0lRCAXt3cxv1aPpIprvkIP4FXRMiqHtYLDkp
aKSOnbMXCxtu+Kjj0dhjAjMpO4mx3fFaRpo4JG4NwcOHYX9m6ur6767q/wDKMPcHawfXM+Kq/qJF
QGDaWiYdU/3UEIgkkImGWeDOSrpWmjBif94Wsj1nQEOG7f8AopHRwZkrjxt+iacmnjvbwHzKmpWu
m6k7o3uF7N8VDG6OnLKiS9zxvzUsUuBkcJDG+J8fyTaKWMObFVm432QkyKdhndv4FXNy7GMuyqXt
kmlcOBO5aOwbU3Ff0UlsD7mwsbo28FojuS/1IEOG43Vxe11LcxyBvewlTxVzKM5kow+LfH56tFxS
GbMw9TeLrSjHiYvLeqeB/JTwFlHA/Pc4G3V8OCp4a+nwAYHMc7fZaY78PwP8zw/Vjtaf61qrPqHp
nfCsNX5exdYjzKAl79pLebesM7rHBIR4biVabuWf/Tv/ALLA9x6rHG3HcrOYd4c0/JGWQ3GN3z1M
e9ndeR8E2SRu5rnC/JOfLiBc59/Am6z5sROa+/O6fLI/vvc74nUyaaPuSuA5KSeaWwfI4gKwTaqe
MYRM4DkpHve4uc4k8/5ni+rb2tP9aFWfs7/itF08c8zmv4Bl10VTWdhxA+G9dF09hcuv8V0VFmXx
nBbh4p1JQubJlTWe3mdUVLUTNxRsuL80+iq2MLnRbh6hBUNtijvwsULAC3BYWYibDEpyKeGWSNox
H+6q6ts8UfUtIDvOoaKYGNL57H9F0T3/AKb4J1MYaeKpbJv3G1lVU+0wtGKx4qRj43FrhYqGF00j
WNXRG+20i/LCp9HvhgEheL7rtR0RJ1LSjfx3cE7RLwHYJg5w8LKmoo208rcbXYweumaOkkkkaJBZ
v3k/REww2e12/euhpffN+SmifE9zHcR/MkfcHa031o+CrPqD8VoqoigncXncW2TNJUxc4G4Hgeaf
pKmaBYl3oF0hS4m9fj48k4aMDJXYsZN/jqbI9nde5vwNkZ5iLGZ5H9R1Mnh6NMeYMeE7lTVNOKeI
GVos0eKjnh2+Z+Y3CWixun1FPUxzROkDN+4qtFIyOJkNi7xI5aqaSnZG3BUDDyed6ilpGSSsbIN+
/wBFVZJoctszCWjnyWOF2Uc1vV9fRaQlY+pcWm/gqbAZ2YnlgvxCIa9jmyPaRbj4p4iqaQRRzDdb
efRTAYofpC033eqnY10L8x2H8TTZaOy5KR8N9++/5qkZDBmQslu7imCoZhz6lty7hbcVmx5mDGMX
JaTN6uT8v3lf95R9xva031n5FVv1H/cFH3tV1dX9m6usSur67q6ujri0gxjWjZWXHiqmrfUOu7h4
N1XV1dXRP8yM7o7Wm75+CrvqB/Uo+9/OW/l244Dtabvn4Kt+pb/Uo+9/sCOHa03F3wVb9W3+paNo
mVOZicRhtwVLQMnEhxuGF1llv8GuP5LCeRWG3EWRCtqyZcGPAcHP+eR2tP8Ae+Crvq4/6loLhUfE
LRfcn/8AcKilLo2i2W7ykKFjs+SZzMG7CRz9VUNjlFO4tv1x8isRzsHhguo3NDZZSAN7rn+lVtRT
zU+4OvuwnCUx1YNHuAY3Ksd/jb+eBx7an+/8FXd2P4qjqZYHksPhvHgnaUqXNI6o9Qm6TqQACGG3
ihpKoxl243+74IaSkeQ14a1vMeCzGjeXttbim17o3SgAPYXuIv6qor3zR5eANC2mcQmHH1OX88N4
jtqf7yruEfxKpqWeXEY2YrI0dU3jCVsFZ7n9Qm007nOa2Mkt4qWCeIXkjIC3JtPUvbibC4g+KdTz
NLQ6Mgu4LY6rjkOTKad4xMicRzRY4Ow2OLkjo+DZHSYXh4aTv5hEJkUjzZjST6J0UjLY2Ft+aoaG
KdrseP0PgjA0VRi6xbjtu42VZo+OJjMvGSTa3FbPN7p/ru1UcEU02CRxG7dZVtIKeQBuItI4lUNF
DUtfikdiHgFTUMMs00bpHdQ7lPBlSyNbdwaeKGiJz/xGKaJ0UjmO4jVgcPun5LD6FNjJcGjjdVlD
swjOO+Lj8f5hb3h21Pweq7/hfmtCfUS/165L5b8PHCbKXb9jdmhuDxv3tWi8WzHj3jZUtbnvwOis
4DejNJmOa2B5t48Ao2iJu5p6z725XWUw1eMt4RixUpc6kqLjweEeK0TF35fHuqpa2WGO7dxe1A2k
wBvVwqNojFTI1t3Y3Krc5rqUj3oHzVTWNp3sDmmzgeCne18z3NFmk7lo/wDa4fz/ALJwbKZIntuL
BaK+sqPyVD+31X/d/dVOc2P6BoxF2/VpLHtTsVvT4LRjGuqm3HgVNWTMqnRNhxjD4cVBMdke/LDc
GKzeVlUyGPIe1rbueGn4FaSdPlYI48QcDi3Xsj/MDO8Pj20Hdcq3jGqaomixBkhAPgo6qeNtmSEB
Oqp3Pa8yG7eBW2VOMuzN5FlLVVErbPkuNUdbUxsDWybh6ISvEmYHda97rpGs95+iZW1UbcLZN3rv
W31RIOZw9EdI1fvB8tUNTLCTgda6OkqpzSMY+S6Tq/M35IaSqgSbt3+i6Tq/wfJVFbPOzC7Da99w
1QzOieHttcI6Vqi0jqD1sqeumgYWtDDv8U3SM7HvfgZ1uP5LpCfDI3q9e/6oaWqN3UYpHmR73niT
dRSvheHsO8Lpeb3bENITZUkZAOO+/wCKnr5pmsbYDCb3HNHS8+XbCL27yP8AMDO+3toO49Vvej+C
oqCSoY54eAL2R0VOLdZp3roif3jE3RlS7Fezbc/FVFDPAzEbObzGp1HK2DPNsNvzQ0ZUENIMe/1R
0XVAX6nwutGQY3vc9jS0bt/NbJnVUwa0BjX71pCjDWtfEwADvIaLqiAbN+alhkidheLHUdG1dr4B
81SQOllH0eINPWutJQRMEWXGASbblTUUez/TQNxc/FCgqngOEe48N6mp5YSMxttUtFDJSh0MIDyA
QomtE7BKy4xWIVdT00L4CIt194VbQswsyIesXKn0WXh2diZyVbo4QMD2OceeqOjqpW4mRblsVViL
Mk3tdOoqtrcToTZQaKvA8ytOO3VCljcxxa4WI8P5fj+sb20H1bviqzvx/BaGP+jd/WUx7HtxNcCF
mMxhmIYuSlGZHKxpGLCR81UU00FL1qnd7vVRuaaaLCb9VSNu6H0df9FW1VRTyjCAWFvjzWi8bpZp
T4/3TwWaS6276S/5KspnSujfmNDWbzdTOqPo8lrTfiT4LSRlzmiTBfD91UrGPqI2v7pO9b8RFurZ
Ma5sDw3vYnf3Ujbzwm24Yl1/pf8A4/JUjZ46E7jjAdYFVda6pa1pZa2qPFs0GHkxV7b1kAa3rFaU
a52RYX61lfgqVkjM3Mlxux/JaW/Zx17dbhz1VGfsUeTfF1eCjNbtMImw2se7/lNccc2/hb+yonSy
UVy4l/WsVWRTxy/TG5dvv/L8XfHbQfVH4qs+sZ/SovFb1crEeZRJPEk6mve3g4j81myXvjdfndOk
e62JxNuZTZJG917m/A2TnFxu4kn1Rmlc3CZHEcroTzgWEzwPinEk3JudW01Pv5PmtonbciV+/jvR
qJja8z9x5raan38nzW1VVvr3/PW2sqmtAEzlny5mZjOPmnVdS615nbjdGsqbj6d1xwQrKkEnNdv4
qWomltjeTZXUdbUxtwtlNltlRmCTNOIDituqut9MetxUVVPDfLfZSSvlcXPdc/y/D3x20P1R+KrP
rW/0qg0dHPBmF7hco6IbdtpD6roiP3rkNFhrHOmlw2VXQiGNsrJMTTqh0Vjja58lieSOigHgZ248
N3inaI6ptNc/BQaME0LH5pF/Cyj0a90sjHOADfFO0V1SY5cZ5IaH3C82/wCCqad0EmB35FUziyeM
jzBV1IahrcJ3tWjy+OrDCONw78k9+HSrbAbwAVV0Tp5cWINAZxVPQU2S3E1jz5lpOnjic0sAAI4I
NJNhxQ0Q+zcU4aT4WQ0TN1hmNuOHqnaJlFrStPP0RoWbHlDDfzJ24kcj/M0P1g7aL6r81V/XD+la
OqqeOiGKQXF93imVlK5oOc0fE2W202ZgzB8fBTS088UsYnYPW6q4KSKNmXLif8b6hK2alZl1AjO7
9EMraI/9Xiwi9iR4qumkinxRzbnDfbfwQmjcGObK3CsMW1ukz7OLdwvu/NTmDAx8sgu1wN2qQue6
Mx1Ia3x4XPzVe4GoNpS+wtf/APSh+ti/rH90bY2uxiwBUFpdIySBwwj/AOlk+InSTHYm2w3+Sky5
syEu+7vseapcoQMDOA3LSzmGVoHew71A4NlYTwDgqqmdUmBzJAAPH/6KkaGVU7c4ydVu8/2UpGw1
G/3n902NlRQMjD/ujf8ABVDGMlcxr8VvH+Zoe/20X1X5qr+u/wC1M4Iezb01/krDl7O7VuV1dXV9
d1iP8zwd/to/qgqr68/BUNBSvpInOZdzvVHRtJiBw7uV+KOjaP3f6lOoaSnhL5QX+qrI6QNY+ndx
4t1RUVC+BktiBbxK6KgzL78Fu6pNF05YcN2nne6Gj6QRs7zr/eBUejqVxkdmYmengpKehfDigk63
g3xP5LoqmLfvg25qm0fTyh4Ln42OLXWVVQwspxLE91vVH+cYO920f1TVU/Xu+CpNJQRUcbd5eBwT
dKUpaMRIPKyGlYMwg3w+DlJXUU8bmSOc0XVbJRnAIGcOLuGraaDY8jNdw5b+a0fVshL8y+/xTpdG
hshxOkcd9t4UNXQxtbhkLB5N6ZX0eOVvdB+9zQfoyAMcy8jwVt1HjxZ/hZU9VSxPqfpdzn4h+amq
oHaPYwP63V3I/Y7fy9T949sz6tqqPr3pnDso43yvDGi5KmhfC8sda/or+xTUUtRiwYd3NSxOie5r
uIUlFPHEJHAYSrJsbnOAaLk8FNTSwuwvG9WVtVlZWVlBTTTkiNt7IQSGXLw9a9rKajngAMjbX9VZ
RUNTKzGxm74otIvcLYKrLzMrq2vxWFW1WVlZWTY3OIa0XJT4nscWubYjwQpZzGZcs4OaZDJI4NY3
EVhIJCdSztjEhjIafFWVlbVZWVtdlZWVlZWVlZNjc42a0k+isrKysrK2sU8xbiEbiOdlZWVk2N7+
60n4a7fu6n4ntm/VsVR9e9UlPAaWG8TN7B4LZKbEDlM+FtyNJTEH6FnyU0VLSQNOQH9a2/iq19K/
CYG4T97dbVl0uRHJszOth8Oa2CEVGMRtw2Nwq2npmwZwjb1SDu8d6fFQxhrnxRjEeSg2VlVlxMBu
MWMeHotKyRGQswdcWu7nu1QUDZYmvNSxt/BVVEIGB20NdvtbVoj9of8A+3/lVdtskuLjFvC0iG7H
H4DE1R0lFlNcyISeviothZWBsbDiPj5VpI05ljY8WO67/wAK2KiwtIgBHNVLYWzOynXYqeIyzMaG
337/AIJ2jaQtIEeE8wqijgZQCQN69m7/AIp+jaa8OGHx62/wVTo6lEEjmtwloutDhlpeOLd8lJ1a
x1j/AMX/ACtLtLmQtHEuTdGUmAXjN7c1o5mW6ojxXDXKvoYwwzxfmFET0U4k/ccqXRtOYGOeMRdv
WkqGGGNr492+1tTdH0GSySz7G3jzXRUOeNzsst+RVXo6mijEgxWBGL4Loqi3d7fw3qlp6eCrewFx
fhv6WWlhBnHDizPv8uCa1vRTsBNsB4rRAgyzgvi3Y7qsbTCq6hdxOP4+irmt6NjwuOHq2uujKOJk
ea993G27muiaXNwFz94u1S6KpjDKYnuuy/H0VlR6PhfTmaZxA9PRHRlGWMkbI7ASjoikvhxyXI5q
eHJmfGTfCeKoKMVUhBNgOK6NoHZjWTnEzmU/RMAkhGN/W4/JM0ZTbTLGXv3AEKTRFOGEiV27vfBd
DUvnfvTNCsu7G82+7ZP0NAMJzHBt966Ipr4c19/BUFNDDjAfikHe9FpBkLKg5T8V74vQqNmJwC6F
p/ePQ0LFd15HW8FJoZuH6OQ4vVHRNGHNa6d2Iqqp9nndHiv6qmgdM/C1U8OTBl4r2VLolkkLXveb
kX3LoSPH9a7Db81TaLZK6cGQ9R+FaIjDGy9e5vYj4KLR20T1DnOs0Su4I6Jjcy8E2LeuhIbfWuVV
Tup5nRk39f3bT/e7Zv1bFP8AXP8AiotK4aaNjYusBbfwQ0wzdeJybpfrOxRdX7tuKOkqeSO00JO/
gq6rbUFuFmEN+a3ncF9XSMxsJwNFx8F0s3G68ZwW3c0/SNG6LLdDJh5Kqr6eaDAI338LqlqNnmD7
X8FWaQimiLWR8fE6vyW7lq0fVQU+MvDsR5clUTU8tSHgOwfeVVX0ssGANffdZR6SowG9RzT4ho3K
SuYa1szY9w+ZU+kaR4uIQ934gm6Som8MQ9LblUytmmc9rMIKo6gU8weRu4IaTowSbu3+ii0hTFjo
5QcIPV3cQhpaPOtb6PmnaQoSx7CXWdfw5rR9VTQNkxudcnl4J8lM6tx3dl4rkqrr6R+U5ri5zHgg
LpKixB2M8ORUNbRsmqDmGzyDwVZXUxpjFESb/oo6ugbSZOae7v3HxUVZSSUYhle5u63yVdJRYWtg
bv8AF29BR4BQxZm4Bjb/AJLpSlzC3F1bd5S1dBJAYjP+diq6qpJKbCybrC1lQVTYajE+9iLErSE1
A9jjH1pHHjyUVTQijyTP93lzWi6uKAvEhsHeKr30LnMyeJddzgqqoonUeU2e5aBb1sjVUVRHC502
DC4Ot8F0hSmsBzOqGEYvC6FbTCGr+kG9z7et9VDVUzqN8Mj8HEfNS1VJFTxQslxdZv6G6NfSbQz6
ZtsDt/yVbI19VM5puMS0VUxQyuxm2IcU5mi8U0j5Q/Eb2utso35T84Nt4FCak2p020s3stZVUrTV
uYyp+jf3rcFX1FOabqVIxMN22Ko62J9MWST4X795KkkpWNi/1T5HY2/ev4+KNXTbU05zLZZ8fVU1
ZTCrqvpBZztx8FpMUV2ZLrvLiXWN1G4Ne0+qdX0jcP0oN+S2ul9+z5ptfSuYXZo/PiqhtHUvje6p
bYDhdVYpxUPyDdn+VoydkVQC82FrLOpw55z2b/VNkiNNlsqmtLeri+C2qCB7GmoL78d/BGakphNI
JAcRva/itFuYBM8vaMR4XVNLCyaojzG73l4/NNp6Om+kfUXId4J5ErmOZV4W24C29V7mmrfhkLwN
1z+7af73bDuM+Cm+tf8AFMY7DfCfksD/AClYH8isDuRRBGqkZJU4mOqpBu4X4qogypnxg3ssLuSs
UdXRbBE176nDceIVPCJZWsL8N/FVlHsxYMeK6wHkrJjMT2txWuePJS6NEcDpRPit6aqaEzzNjxWv
4qroRTNBzg48lYrCVhKseSpaOSoJsbAcSsBzMFxfFZS6McyF0gmabDkjruhdQQPmkDAQL+JVVRyU
5bicDdWKsVYp2k6wtw4xw5at6sddit6wlT0k0AYXgdYK63rerK2qxVirHVFSzzBxY3uhX9olDejo
2qEOaALYb8dW9b1FR1MzC5jbgeurfqumtLjYBS6Nq42l5YLAXO/Vv1sifIQ1jblSRPjkcx4sRxWx
TmEzBnUCippZThY25RYQSCN4Nk+kqGRCUs6nNWVlZRUFTKzEyPcnscxzmuFiOP7jpvvdt91vwUn1
j/ioWjJiFvuhZbMePD1rWunRRuaWloseKqZG0cUQZGLYrWVdLFLIC2JzDbffddRMxyMbzcAomRQF
kTG+BN1HHHm1MhAvit+QAWZQzFgGF2/duT42dIxdQWy+S0k1rap1hbcNWkN1DF8Wqjp4ooY5CLuf
h3/FSxRyVUeIXswlPNB1mOyvVV8UIigwxt+sb4LSscbMnCwDinf+k/8AYitF/tTPgVWuaK9pLcVr
bkYaYPa3IZ1r+HJR0cMbpSWNwk7rqeCnjqac5Tev1beHxT2ULDheyNtx6BULoSJBFGAGutfzKrlZ
JOS1gb/n1UX/AKQf/bcnKlpGztJdUNZv4FS0EccbnbXHu1aMhpHxb2h0niCp2UzJKe0eCTGLWHqp
YoZSGvYDuT6WjpYC4xY9/itgpMWLKHDh4KPRkDTJiYHAnq+gUgs93xWjKSGVj5JG4rG1k2CilpjM
ILAf4Ro9HtwkxNGJV8UUVQ5sfDiqVkT52CV1m3T6KhZvMHVt3lDo6iygSMV99zuUsFBBJG/Be5tY
Hx5rS5gEIxsJdvwemrRdFFMHPk3+Fk2PRUwbhGA4uC6OpNqw5fVy78TzVNRUchnaYzdkhHFPotHY
WSAdXFbjx8F0bQA4cG88N5UWiqVrev1/Xgn6OoWyx9U9bdhv4ro2icXsDCHAcb81R7PszxGDhBId
dVGTmuyQcHqqSJss0bXcC5dFUXkPzTdE0gvcE7+afoinOHBcb96fSaKbKYndV1udlK1rJXta/EAd
zlQ0hqJLeA4qRrRSSsbwDHD9FHommDG4gS7xN10PS3d3reG/gqaggko3yOxYhi8eS0Zg2Q4b8et8
VSUFO6mz5r23/ouj6GbBky+O8XXRFHyd81URZM0kd74SqT6+P+oLS8sjGRhrrB1w5N0bQmNr+vaw
8V0VEKkDrZZafyKqtGU8TBI0kAEYvguiqLj1t/qqWlp6eoc0OOO1x/StLNp87E130t+sPSyaG9Fu
wndlFaKbBlYmG7z3lXMpxU/RvJJccfoVWtb0YQ07rN/uujKNkbM55ud3FdEUwlsXOsR1QpdEQZT8
t7sYWh5Xm7L9UC9lpL9un/L+37jg7p7bwb8E/vv/AKl0tNlMDWBpHjxXTJ9x/wDJM0xKC7EwHl4W
XStw3Mp2uI8bqrq31LwS2wHAJry1wcOINwhpfgTT77ccSGlbOccjcfC6fpI5WXDEI03TDsFjFd9u
KkkdI4ucbk6n6UifHgfT3/NQaTDYWMfFiw8PyR0u3E12T8d/guk4W4zHT2c7xUOlC1lpW4jzUtWZ
p2vkbdgPcU2kY305iZCW6qSoEEweW3FlLPHVvYI4Ovi4lVMwgaJCwuty8ENKtIcJY/HwTtKUr3ML
oX3adyra2GpwYYzceJVFXimxBzbtPJVdcyd8f0fUad/MqTSVNsz4Y4nDdYa7aqOugiiy5Ij/AFNT
9KUryy8TyAbrpaDNxYH2w2TtKUkrC2WN9r8F0xFjFmHBbefFO0zT4ThY+/gnG5J9Vo6vjp2vY9ps
d9wukKJkOVGx+E8fzVdX0s1NgAffw1U0jI5Q58Ye3xCbpOibitj+Ft35LpCkmgy5mOb6NVTU0l4t
nhthNybWU2k6GSO748TgNzSEStG18VOHMk4HfdbVo2Fgyo8br7rhdJ0OISYnYsNrWUFdo+N8zhI7
ruvvCZLTCtxXdlYrhaUq6WdkeW8lwKiraKSjEMzizgPkjVaPjnp8pu5vF9kzSdJnzOx7rNtuVDpG
nY2VkvVBcTf4rSEtK+Vuzss0DeeapJWxzxudwDkdLUmY0B1x4u5J2lKMA2kv6WK6WpMsOLt/lUku
iXymV8ocbcFK6N0rzG3Cy+4LRlXHBIcfAjituoML25/ev+qdV0U8TccxZY8OCbpGkinwM7ni5T11
JDA6OnscV/yutH1NJFT2dMASd91TVVHkSU7pbN6wDuYKbNoylwFnWdz8U+ehfJjNUeHdxWCqHsfP
K5l8JduuoHBr2OPNVstFURftAu3eFDh2KPGbDCCV0jS5mDH4d7wU09HJA6M1Lfiq2opnUlm1AxNs
W243CoawNqcczibi1ytIu0eWOeHB0ruFioJqTYRGahu9lj+a0XUxQue17uPA/BaQ2HqmEgvc+7iD
dTyUrqJ0QqG9zdv5IzUlVDFimDLEH5J9bTbVEM1u4G58N6bV02Kp+mbx5+i0UaeNpe6YBx3YStIu
a6tmc1wI3fuOn7nbeX4J3ed8U2mqLfUyf+JQgmuRlP3cdyMErQSY3gcyEIJzvELyP6U4EGxFjqo9
HwTwY8x+LxUUeZJGzfvO+yraWOne1rXE3Hitnn9zJ/4lUdE6ofvu1nNTwmKR7N+47ifYuqGjiqWu
LpHBwPAclNHgley/B1lW0UdM1lpCb81gd5SqamdPKGDdz+CqIjTTlocd3B3BOfO8dZ8hHrc67FW1
WVDQiqzLyYcKiga+fKMlhe2JV1EKbBZ973VlS6NbPCH52/lbgiCCQpNGtbTGYT33X4ajqoqPaXOB
kw2CqqbZ5jHivrghzpmR3tiKq6TZpAzFi3X1W1W13WJXV1dXV1dX13KxK6vqusSurrErrErq+q6D
l0xVYMOGPhbgrrErq6urq6urrEsSusSv+44O523L4L7/AP3ayARYhVk00JgETb3PBV7pHz3kiwHD
wQWif2Z39RVA8tqoreO4qtJFdARHjs3urG529h3gdwqimlfLO1zAwN+7yWkDUueTI0hjXEN3amdE
4G4myXtv4qqNFZuzh9/G+rQ3Gb8k95ZWlw45pWlP/wCv1cXX4c0yTG1uHqnykb1Tzyuq5IjEGC1/
zVXJNtIBgc+JhvubxWMkXZv3d07iqk3mecvBv7q0bDmVLTfub1MGSQygi+4qraXUsADb9ZqdHeSN
3luq0MfSSEi9huWiXXheN25yjttbf/d/ytJRGaWmjHjddU3b6LRwDRUAcBKVpKOJ1OJ7Wdu/VO/9
I/7B/dRGCnpI3OsBhBP5rSklPI2MsBxc7EblGMT2jmVDFFT4I2jj4pkce0TvI33A/RZ9DMWtuHdb
du8VJG3pKHqD6s+COFulmgMG9imibLpKLELgR3U1ZDFUPidBut4BRNpYacPwhrTv3+qfLo0zxO3F
3AcvzVQI2xyY4A5lvu8f5Qh+r7Y/4V95+KdpGrkw9cC3Lculav8A5fyTNIVbGuGK9/EpulKsADqK
aWSaQved6sotI1MUYYAyw9FHUyxSmVuHEb/qpK+olMZ6oLTcWXS1V5Y/kVHVzxymTFcnjfxVTWzz
gB9gOQ9mmrpadmBjWcfFbU41GeWtvfh4KbSM0rQMLRY3uul5vdsW2zbRnX38vC3JSaVqHYcNm2K6
Xl9y1SPdI4vcbkqmqX078TfzC6Yf7hvzUOlJImkFgdv3b7WTNKTCVz3C9/up2lnFrm5Dd/qqbSWz
x4MkH1vZNq7VRnym/wBKm0o6TAREGlpvfiumv+n/APkotK4HSnIHXdfiqrSJnYGBmFqOlgYTHsw7
tuKj0raFsckAfZVtc+qw9XC0eCa7CQeSbprc3FBd3O66Z65OTuI4X8VJpX6LBDFl+qbpohljFd9u
Kp60sqDNI3GU7SodIx7YbFvH1C6YiuXim61uKbpcGPDNDj/sumTmNtFZgHDxR0wwRuy4LFE/yfD9
WO1HEJ3+EwAusTa7uKNJRQti+gx3IGL/ACU3R9Hd3UB/who+mjjdibjtc71sdFhZ9EBi4KGhpw+S
N7MRG8H0Kj0dS4OvHvxHx9VUM0fTvDTSuO6+5M6LwueWHfwjPFDR9I7A7Kw/hU/R0EhYaV5ty/8A
2o6OkEZmlHUdvaOQVfRRxASR913hqh0Vjia573NcfBVtJs7wLktPirbwthq/cuQo6klwynbuKdSz
sF3RkBbDVe5cnNLSQRv1Uej4XwAyMfiQpZZLmNhIutkqL2yXXQp53Oc1sbiRx9EQRxVLTuqJcA+J
Kr6KGCFpZfj2V1dXV1fVdX/lOL6sdqOKf4/BRtxua2/EqOOppnQxtOZGeO7uqOJkWPCLYjdQSyT0
TnO3uIciwkQfhNz8kzfUSkcmj81K18zY5YXb2ncDwKhkrc/BKxuG3Fq2WKOWSfBc+ACw6RfK2bC0
cmE8FTyVbpXsmjAAHEIutH9E0OtutdaVcMmNvji4flqpxaCPr4t3FaX+sj6/h3VD9bH/AFj2Kl1Y
KmPJbcYd/JVmcah2aAHcgtGMa+pAcL7rppOJ45cE12VSsOAmzRuCZI5x60ZZyvZU8b2TVTnCwc7c
pyDK8jzFQ48Yw4r+i0sHGBtgT1t6P8xx/Vt7Ud4KX73w1Nr6xrWgTcByQrarr/SnrcVHV1ETcLJC
Aukazhm/oFHWVMTcLJLBCrqMvLzDhXSNZ779AmV9WwWEv6J1dVvteXgbrpGs97+iiqp4b4H2ufip
JZJHFzzcnVHX1UbQ1r9wUsr5X43uuU1xa4OHEJ1dVOc1xk7vDkjpKrIP0n6IVtSI8sSbv1XSdX52
/JPc5zi5xuT4qOV0bg5psV0pWeZvyTdI1TR3vG+9SVlRI9r3P7vCymr6mZmBzhbxsioKiSB+Nlr2
tvTtK1RaR1d/pqssKwlYVZWVlZH+Wo+43tWd4KXhJ8CoY3SPYwcXGyGhqjzsTdE1Bv3RvUmjKljb
7nfBdD1HnYpI3xPLHixCCZTNZo12KNpdgJuo9G1MkbXjBv8AVVFFNBhxWN/EKanZFo3fG3ELb/zV
Bo8AY5Wg3G7xVVTvgkwm35amaLqXMDrNF/AroyqxEWG71TtGVQF8IP5rour5N+amhfC/C7iqaHOm
bHe11s1IPosj7vG3+VVwiGZzAb210GjxbHMwG46oU9K+OfBbvHqqupooqRmGIB1wuiqryj5ro6px
lmDfb8lLo6pjYXFvDlqojQNivK3FJ5bXRoqWVjLxZZ5cPyWzUubg2Yd2+K25N0fTQ5j3jEPBVlBG
TG+MhocQFV0VPHRuLWbxbrIO0UBGBGHuNvitK08EUcZYwA3R/lpndHax99ql7knwWj/2un/qRewO
DS4XPAIkAEk7ljbhxYhbmqmmqZKtr43YAGd5VYc2d4fLjPiULc1DFING4COtgdu+Kouro6Q/1laQ
/Y6b+pv/APlSxv6MwYesGN3fBaIP0cu/7yrKV0GHHKHFyZ32f1BTOnszJa11zvv4KPaNpvJgsGfd
5qoq6pkskIaOser8Cqp80NOxzN+EjF8FVVL6iTE4AWFty0e9jKljnGy6+P7uC35qQMq9IFoccJ8R
6BVtOynmwNJO7x1aJc50cl3HiLKrpp43sc+TE55sOarmuNM3dezmk65JaswSnKYzceLtWjKZgizy
MTt9lHDVSVDJpbBo4M5LFNtBFvo8HH1WO4dgsSPVaSOKFsXF7j3VNHIdH4A3rYG7loqBmF0jm9cO
t8FV1Mk8pLvDgOX8tt4DtY++1TfVyfBNNrFZshdixuvzvvRmnNwZX2PHeVmSYcON2HldbTUe+k/8
ioK/Ljaw0zHHmpdIB7Ht2VgJHFbRUWtnPt/UUJJA3CHusfugoyyO3GRxtwBPBGoqCCDK8jliKZI5
huxxafROe55u5xJ9dTaioaAGzPA5XQqJwSRK/fx3oyPLsReS7mnVE7xZ0ryOV9e01BbgzXYeSgqZ
KcuczDvG+6kkfI4ue67j46opZIzdjy0+idLI9we55J5p1XUuFnTOITqid5BdITbgtsqcWLOddSVM
8owvlJHLVHV1MbcLZSAnVtU7jM5dIVnvio6qaK+CQi62mbNzcw4+a6RrPfn9EyrqI2lrJSL8Uf5b
HAdrF32qf6qT4Klgz5mRXtfxXQv/AD//AIoaHd4yj5J+iJBhwvB37/Cy6I34dpF+Vlo+OGOdzJPr
r7uS0of9U74DVodl5nvxDcOCmpX1GkJmiw4XP5J2iDZ2GYOcPCyIsbKjon1Ljvs0eKOiHW6kzXI6
KcJmR5o3tJ4ckzRZc+Ruc3qnkn6IeB9aPXcuhne+HyTNEykuxODbcDxunaJeC36Vtudl0O73zfkq
GhETnOfhLv7LSMIjmPWHWJNh4Ky0XSyA5pAwkW38VWUj56uzbAYN5TtESgbpGn0spdHPjdCzGLvN
kdHviqIWF7Ti/wALSkZLoGsaN910PL71qZomZxdcgW/VVOjZIGY8QcPRH+YBw7WH6wKoP0T1oo2r
YvzWfFmZeMY+SdJGxpc5wACzosLXYxZ1rfmpqIyVLpc7A3D4cVQU5NS6ZsgcwOcPUrS0Lg/NuLOI
Hrw1aGZ9JJJutayy/wD+Tf8ATYSQCPVTMaYnmQ4PxNOrQz22lbffdCiyA6SSpwjHezeCw4pY5ARb
Af1UMTm1VRJus7DZTSVWe+lDx13foVpB8kcbZGEdVypZpJ6W4cMzf+RU2e0Q5s7d8jeqBx3okbU0
f8s/3VI5u21gvvJWkaZkRL8y7nvJwoJvXZEWO3LhMd43tFvyRNU0PfJMxrAeXgnMZUmnma/c03VR
IKiuhZHvwHeVVj6akebBrX7/AM1VUs008bmSYQBxUNxA5rZcx7b7zzVftIpfpZWb7dUBH+XxxHbR
d9VH1Lk3eQFslR/Dv+SyJMOPLdh52Qpp7AiF+/0TqaZrS50TwPULZ5cOPLdhtxstkn9w/wD8VstR
7iT/AMSm08zhdsLyPgtmmvbKff4LZJ/cv/8AFMhmk3tjcR6BWsty3exdBYXWxEOsfFMZM7exjz6g
J8b2nrNIPqjDK0XdG4D1Cu61rmyxOve5ui9zuJKYJXbmYz6C660Z8QR+SMj3cXE/FZstvrH/ADTX
vb3XuHwKe6R56zifijqsst9r4TbnqDS7gEYntbvYQrIMJ4J0bm8QQrJsbzwF0YnN4iyy3ckInEcC
jGR4IxOHghE48AsCynDwWU7kssngnMI46rezb2rKytrt7AarHVhWBYSsCwLCVgKwrCsKwoj9yt7w
7aHvqp+pK0fMyGpY946v9leTFmtdjjwd0f4THMkhBw2aRwKlcWiLD52hF2KV0RG7BdRNxQSR+F3M
HwTZmZxhHFrblTR6SvIWTtt4NsqaarqLAARtaes7mo545JZGt4t4qSPSVyROMN+AG+ywOjEbYmtw
jj8FpaNjXxkDvXuo2tc9ocbC/FCOMAdUfJaQYxtS/D/+FQQumlbGPFdDQ+8euimlr7S/SDw8E/R9
PEGZtThJVbFDswa5+Bo4KjnqZGMihjawNtietKTs6rG73tN78lXEmgHrhXRkYYzNmwkrosZ7WY+q
Wqo0YI48bHE+ioKV8DOs7vb8K0l+1yfl/ZU0OdMxl7XXQ7Pen5IaIbbfL+ifoju4ZPHeuiYS4tz+
tbgpYzG9zDxBsqbJzm5vc8VpHDsO7husqCGlkc/PNrDdvsqOeOGeRkMWMudZhv4IiQ00me1t7HcO
CK0XAxsOba71UU7aiH6SzXc+S6HdmWx9W3eVO8x46emY1zm8Xngp6cVETWyWvuun08MkeTgsBwWB
0ULWwtb+afBE+Rj3N3tT4xOx7JGbr7v/AKpkYgaxkbN3im0cDZjKG71LA2pjGazCUGhmGNsfUsoq
SGAvexlytJwsfSGVzbPavFM0VI+mErXgk/dVXo400cbi8G5tZYd6i0KSwOfJhPKy6FkzcOLq27yk
0K9rbtkBXQR98PkpKMw1TIpDuJ73otKUcVK+MRuPWG8HVSaKfPFmYgAeCdoaZrmYSHX8eSOg32+t
b8k/REjRH1m9ZwHwuuh352Vmt7uJO0JKGkhzSeSZoSVzAS9o9E3Q02YWm1h95VGh5o4nPDg63gEF
oylibAJrXJVZQMqo2uAwPXQ9Rmlu61u94KmMUMZhZBjlaet/+1VUMdQI+qGkHf8ABT0NNLHltADm
8ChCyGJgbAHcE+hp3ytkwDd4c1NSw1DHNwYSDuNlHTwQsYzLxetlHo2COZ0lt3g3kp6KGpYDhwEe
iFPTtAiygRbkoNHQQF7j1uW5aUo4TTbQxuBzRwt+5Wd4dtD3vyVV9V+a0e+BtS3OAw2tv4XUQpoZ
pZGzsDXDuDgq6qgfQuwyDrWsPFZkDo4Pp2bsJ4qWpposUuYCcNrAoVMcdK5+azEbu4+JVRsEzo8x
7b+BBVOKajbKdoaQVKYXxYI6hjB6clsujcYbm8R5lCaeigf9MH77+qZUQTNjkzcFuIvb5rSFW2ok
GHut4Hmo3Na9hcLi+8IVEG76VnzVdKySokLOHBUMrIqqNzjuUlnS4tswtt3QQoXUsGZUbQXY+fFa
SyHtZO2QeG5SmkqoAXSdXjxTTDswZDM1lxuPiqumpoxGGTXc52+5/VVmWaPDmt6tv0UuVUthcJQL
ODkKmAyFmMXAT5I8rrSt6tiT8N6xxlzH5gth/utJ22p3WBvZaPIFXFcraYMzLxjEnzwsYXGQWWfD
ha7GLO4KakjfM+V09hbw3KTBidg7t9ypos6ZrLgX5qpgzabLxgbhv+CoNjxSbQR6clR09NUTS2e5
tnXYByW6ko3iWS/Hf8dWip4zDlXs7eqp3UbTY7ySf/l1ii/Z8zrYFHo0YXZdQcY3G3BNIbgjLruw
/wBlBO6SpqWXFmWspQZ4hlSfe4/BPqYWSsjLus5SzNp2OfI/x3JkgnYx8b93imVsEkzomu3j9VLU
NpWDNfckoOx4ZGydSyiq4qjMbG7eFpSZsdIYnOvI7Vo1uRS5j5Oq7etNQm7J8fV4KagbHRNqMziB
u+KpQchn0glHNMwtme3MuXC+G/BbBMxkxdU4Lk8OH5qqzYqK7D1owD/4oPk0jWQ47fAclpeCCCSM
R8SN41aKDtluJMQ8vJHCyRhzLX3YeaZC9tVPIT1XAW/JOtKGFhBs8H5J8TzWxS/dDCCq2rnpahvD
A8ePhZVkMlRHFlP+9e6gDmFzHz43ceSmNVs05kMbeqU3wWipmPpcsO67bqpJycu4zH7gvuYMfXw/
/hUFDVRB745/pL7wm3wtxd629RT45548Pcsp87L+htfEnSMa5rSd7uCL8tr3SEABB+NrHRkFpQmj
MpjDusBwTpRFHilICuSWltsKEzHl7WOBc1aRly6GXHbERa37lj747aHifgqv6n/uVPBLM/DGzEVN
STQAGSO1/YiglmdaNlypYXwutIyxT6aaJge6OwK3K3ouHhqaHOIAFyVJR1EQxPjICjpppGOcyIkB
RQyyuwsbcqWCWI2kZYq2qCMyytY213LouXNLMTO7dSMwPcw2u02Pt0tHJU4sNhbmnaPmbC+Ulthf
d8NUcbpHBrW3Kkp54bF8ZF9W/UfYst+q6Y1ziGtBJ5BSQzRd9jmresR5r1T4pw0Pe11jwJWIjggS
OCJJ4m6xuta5TA8nqXv6KZkjHfSBwPqvFMhnkZ1Wvc2/hchTMmZYSB45ByxOsG4jbko3T92Nz/gE
7aGzb8Yk/VTGpHVlMnwddOnmcMJkeRyug8tNwSCnPc5xc43PPVHNLH3JHN+BRqJXEF0jjbhcrbKn
37/mmVErBZsrgPQra6jd9M/d6p80kli95dbmm1dQwBrZngfFCpmDsQkdi8196kqp5BhfK8jkTqZK
+M4muIPMJ1VM97XuldiHAraZsePNdi53TayoYXFszru4o1tSXB2a648UKqZry9srsR4lNralgs2V
wT6mV78bpCTzUtZPKLSSFwUdZURCzJSAmzva7GHHFe91LVTzWzJC63BMr6pjcLZSGqOeSJ2JjyDz
U9RNOQZH4v3LF3x20PE/BVX1Y/qWiidti381pg/SsF92HgtgooYGvnJN/wDKfouETQ2Diw8QqjRk
Ahe5lwQL/JUVEIMD3vOM+C0ph2uPFfDgF/mtJ4dli42xj+y2CiwMf1rG3jzXRMGY4knBbgp6KjZT
PmGPu7tWiGA1BdiG4cFpKqwB8O442/JUIZsDsBPA3+Nlo+4q4bFVkOfXxR3t1LldF0nJ3zVREIpX
svwKilMUjXt4hdK/SveIuLABvTaKCqjErZDiJu4lV8FNC4Njvi+8mjemaLpWsbfE71CGjKcyE5l2
DwHNGl0cYy9sxAB3rouk3b3b/VZo0dUPYBia4X9VLpIupsoMte+L89WhmdWR/wCSmljmm2V/xuP7
Loum8zl0dTRR3mkPHiuiqe/E2TtEwWNi6/gnNs6y0fQxTxue8njYI6Jp/Bzl0TTc3LomFpe57zh8
FV0VK2nzopf/AL6tG0bhadxw8lW0+0SwMvu6xP6I6Ip+blVaOihha4OOLEAqyhhgyeues6xK0o3/
AE0TQfvj+y6MpWBglk6x/uhoiPMd1+p4c1U6JibC5zHG7Rffq0Q+FstnDrnurTf18X9CjFB0e5xt
m2PxutH1M8sGTCxjSwbyVpn9kZfjjC8VoeJmS6W3WvZS1cklVn8CDu/JVrWVGjs1zesGYgj9jv8A
u6L6wdtD974Kr7jfitFvgZU45ZMNhu9UZ9HGbNMzCbWClqaGqhDXT4Ot/ZdJ0maGY91u94I1dFgk
j2kb7/qtuopBE8zBuHfZV8lLNUw2n3Hc63gtIVFLJS2bMCQRYLbKbZ6ZuaLgsv8AkmVEcpdg3tt3
vD4KuDW0BA4dW3zRWjJII5XPkkw7t11pF8L58Ub8VxvVHNRx0gYZx1hv9LqhfA2qxOks1vdv4qWq
pRWxSiXFuwm3gnyULpHSOqvDu4t36KZzXPcWCzb7tQKhqqKkhY1r8ZPGy0k6lc8PifiLu9ZVY0e2
GLK3uuL2O+yhqKJrGYJg1tu6SmVtFmSNDgPHF4FGLRbGYczE4m2K/BV1RT7MMFR1mkYcJ3p7nOJJ
cSeZ1BaKkhjjfjlaCTwKjdT9JOfnNw7zf1K0jUMxMdDP1rWOE+CdLSVNOxrpg3h479y22lxEZzdw
5pmkKVwccwC3NEgm60ZUQx078cjR1lHXUr2YswD4o11KJQzMG/x8E6ppZBJHnN4W481Vx0ENNZr8
cnhY6qaop30kbc0NtbieSdVUokjdnN39XjzTnwYnvNZ1eQcmT0tXCMTrWd4nkq+qjqJoomHcHb3e
Cr3wOgH0zeo4HjxVRstUIr1DQBv4hU8tHGZIo5PXiqp0cdJLiqy8uFhv/wDpq0TGx0heZQ3AeHNa
YbE5mcJhdu7Co5aAaOc1wGbY+G+6pKSklpmubLhk8TdaYnjEEcQcC64Py1aHq4mtMLza5uFUU8bK
3JbIMJI38rrSFRDT0ezg4nFtv5Ch7/bRfeVZ3WfFAoHsKOepifhh34vuqtkrHyCKS1x91viuiav8
HzWxzZ2Vg6ymoKiFt3AW9PYj0dUyRiQYbH1RCsra7KyAJIA8VNQTwx43YbarLCrarJmjql0eOwta
6OuysrKysjruro6PqRFmFm6101rnEADeVPQzwNDngW1sjL3ta0bzwVRQzwAF7eKKJV1iKvrv/IcP
f7aLg5Vn/DQQUWi6bIYHt63i4FO0dTZrPo24bG4XRtJ1/o+P6KRmCRzL3wm11oujhla98gvY2spq
OhEbjgAtv3Hkm0FHMI5WNszlzVI+h2oiGI38HeC0jLGJ24GnOaR1lEHxN2irlN7d3wCoZhUVU0p3
HDYN9FVVAM+zOf8ARuIxHl6J1HRN4wC1uKmbGJHZZu2+4qiptolwX3WuVGyKON7Y+DVT0FNksL2B
xIuSVsFHivgHwVJSU75qrFHfC+wTaWgyhIYgAujqXNxW3W7qmoKUxvAYAfCyioKbLZihGK29RaNi
z5C7uNO4LSVtj3cxq0dTUs0HWju4HejQUcoYWbhfw8VsFJ7kKDR1OMeNmLrbiptGxmdgZuaR1kGM
ZC5jODQU5aMpI5i5z94b4J+j6PA76O27im0dDga/L3ED9UKGjzHNw7yL/BP0fSvZZnV38VstA2Rk
Rj6xCbo6ku8YSVX0dK2ldJHut+uqDRM8sbZMTRdVVBJSsDnOaQTZBUtn0TMZuC3eq2k2aVr2HcTu
9FpUXgiHOULYaGLLY8dZ24eqGiqbMcT3eSfFQZObBIGubvG9VNMyoDA7gDdVohE7hD3P5Kg73bRc
HKs4sQ1M0nUsiZG3CA23hvXStQZmyWZuFuHNdK1dni7Ti9OGrRtdFA1zJd1ze6L9EMjwtZjueNt4
9UNKUsZjjjH0duPJNqqaGuzImnLt/fkn19BmNcG4jfe63BSVWjJJGve+9hwINlBV0EdTM/e0cBu3
KWopTXZmDHH43Q0jQsBwyHh3bFGgqKg5zGsa128C6pqeahe6aQNw2sbHghpChGMYz1t5NijWUE0A
jkLmgeHwW30sMrciIYPvG1lLpGlja7I3vcd+5PrKHZDFjcery3rRtZDBja/dfxWfoyFpdG3Mfe+9
dJUfVdiN7cLc0NI0eOQYjY78VlVVlHLSuja83Hd/LVo+ro4YLOfhceIVPUQw1ZeAcFyB8FJPot8h
lc/EbcN6i0jSOjAccu3gnaRpMbCHE+B9Ft9D1xm8fREi5twvuWjKuKHGH7sXinyaLaHuvjLj/dVF
VQmkdEJL2buHwWjJ6aISOkks4qSohFdmM3sxXK2mgdM2XO6wFlHpCkON+ba58fRVDmGR4jJy8XV1
CR44OPzTnuf3nEoKkqqXY2MfKAq+rgnlhja7cD1nKuqqR8ItMCWuBACdUUMxheZgC3eAm6SpXPez
Ha33vApw0WyMNDw4k97xCfpGmD4wJWnFxN+C0i6F1S8xWw+nP+SqfvHtou6VWd9nwTVZBh1RsMj2
sHEmyfo6aOWKPEy7+CqaV9O8NeQd192oKl0c+ojxiRtkW2JQ0bLkZuNlsOLVv1UsNXOcMcjgB6my
kMt3MdI42PP2N+veqWifU4iHtFlPGYZHMPgUwYnNHMp2i4hLE3Md1gb/AJKrgbBM6Npv7F3WsrKy
oqbPlwF1ha6Gi4vpfpHdX/6J3FQxvlcGtFypdGTRRl9wbeAVjqwrAUQgFgWEqxW9XUUb5XhrRclV
VHLS4cWHrctVNo6aoaXNsB6qp0ZPA3EbEeisrLCsKt/IlPxd20fcVX9Y34LQtNHI9734Dbgw/wB0
aKlDZPo2b+Y4JlFTZcYy2GwG+3FaXgiYWOZhb+Ef3VF+1wf1hVP/AKlS/BOZFJK5r4mmzRvKfTQ1
FOcETWm5t+S2amthyo+HJaNYGbU0cBLb5Kup4XwbRHu4fndU3/pT/wCh6o6anbTNe5rTcXJctJNo
sm7CzGDuw6tFysfEQ2LDhsCeahEFVWP+iAwf/I38VG2mnfURbO0YN17KRoa9wHgVokRulc18Yddv
Ep8dCccRaxpH5cVkUkTGgtZ8XWTaaB1TjY2Msw7/AIqtpYnxNwtDTiABHqoIYYLRtG/DvKr/ANqm
/qW9dJVOKJ3VOAEfG6osirie17PpPvO8VpEU8ETYWRdbzIKhhpDTDCxrz435rZqR84+js5ova1gn
zaODpY3xNbbdfCo2UeztlMLA23JVz46aeJ8Fg4jeBwTtJVJZKN3XOrRGHPO/fbcqyqy5WxWxB3fC
MNIwi8bBf0WzUsTZZcAcOPNNp6WVscmUOfBbLT+6b8lWxtjqJGt8FomGOR8mNoNgjSUxv9C35IUl
MABlN+S2CmzceD/t8FM7RjmzMLQxzbjhv/LVo2fJmHVBx7lpvuQ/EqiqWxUkzcpzjv3gKgnJGRJP
gjt4KtsNGPwuuMI3/nq0fQwGlDnsDi7fdO0dTfR4WDqu3+q6Po8V8oKtiyamWPdx/cY/cMHj20fc
VX9b+SpqmancXRGxO5dIVmF4zO9x3LpGsswZm5vDcp6iWd+KR2+1lDKYpWSAXwlHSVA6Rkjo34wo
9LMzZXvY6xsG25BRaWijgw5bi65/uulqTFiwSXKg0lTRvn6j7PfiCqtIxPgEMLCB6+ij0jRtpsnL
k7tiodI0+yiGeJx8Nyq6uCSNscEOFviSNVBXNpi4Pb1Xcl0tCJRgi6nju3rpOjjzHRxPxu/VOeXO
JPiqCqgpnOdI1xPhZVdVFLUNkjYfDjzCdpKilDM2FxITNLQh7/orM8LDenaVpcvCI37u7+S6Wprh
2W+9rKsmjmnc+NpA9eeunr4KensyM5viqyup6iFvUOZ/ZbZTbDkiPr2tw/VU2kaZsLA5mFw8qOmI
c0WacFt58UdIUAzHsiJeeYTtIUWzGOzu7wR16Onggkc6S97blU1NLLVRPAdb75VfW0s8OFty6+5U
tdTNpsmW/C3xQ0nSMwMbfD/ZDS0BkIscPmVXKJqiR4G4laNqoqd78w7iEzS9OS7EC0eHqpNMUww4
AXc/BdLUmMC5t4lSVmjWMlLG4nO9NWj5KZkhz+A3j4qurKCaE9YucB1OPFUukcinfFl3Jvv+Koam
h2cxTtAPO3FV1dS7JkQG993wV1BpKeniLGYeKfpapdlXDeqb/FdNVWImzOHBPcXuc48Sb/yJB97t
mdxVX135KlpJqjFljgpaCoijxPFguiavd1f1UsTo3FrhYhQszJWMxhtzxK6G/wCo/RVUGRM6PFe2
u2uko31RIBsBxKkjwPe2/dNk+gwUgnzOIG746rexb2Kagz4XSZtreissKk0e+OmEzncur8UdVrqk
oX1N9+EDxT2lpI1M0ScDS+YNJ8LKsojTuG+4KZGXOAHEpuh9wxTb/ghouTOwfd8yqNGyRAEHEPgm
6IfgvmAO5WUGjpZHODupbmqjR0kRaG9a6OiH4L4+tbgqfRr5rl3VCq6J9MebfMrq6v7F/av9kPH9
5QcD2zO4FUfXfktCfUv6nj3uaqi4RdWLM3jq6tJk7XJ1bKL6xn9QVTIyNnEY7HBzv6KldnmWGphG
Z4mycynEsNKIha2L5J8tJG7C90YPJEU9PSvliYCOKpqimqZW/Q2eG8tyZHHiquo3vf4Wi5syItwA
YbDd4qumzZ75YGE/NVtnaNabAXwqFzNjZLlNvZGngMgkwDEnuZs8kuU24xfoitEuphIQ4dc8Cpwz
BhkiuHOt1VUzx0mS3KGE/wCFSyQTSTYIrDde/NVU9G6CVptibcAeNwqAh1CeqBxHxWisLqdwLG7n
KZ7BS5+U0lu8D9FUT5dMJAzFe274py0dAZZ28LN3m6liikje0tC0dNmwdwNw7tyrpjNLiwYQNyBV
FNA4x5+Y6TH1L8AnxYqhj91g0hVEbHMY4AXD2kH81KYc6EOHWN8KPAqPBgGA3C6mYN/WtwTsOE3N
gm2wi3BDBmHf1rcFJhwdY2HyWlv2Vv8AUEf5Sg7vbM7gVR9e78lo3SIpmOY8OLfu2VTpbGxuUHNO
Leum4PdPU87ppXvd4n5BU72Mma97MTR4I6YpiQTA644cE7S7LSGOEh7vFHS4OU7J644n+66WpsZe
KY4+e5M0s10ZZPDi+HBHTFnR4IbMHELpiK5+gO/jvVLpDZ3yfR9Rx4clWaQ2ksGXZrTe3NT6ThfA
6IQHhZu9M0gG0ggy948fzVLXbTIQAGgDgeJVY4Nopb2bu4LxVFXbLjaWYmlP0v1LRQ2+K6WiOEvp
usPFM0uMT3Oh3nhbkp5xLM94ZhB8FT6TihhbHkHhv3rRg+he7DYOfcD0VfXHC6nEeG3FR6Ya2IB0
ZLgpZHSyOkdxcVRVRppcVrg8V0zECfoCqTSOzl94+q43sPBV9dtRaA2zW6ulYHBmOC5aumBmuuzq
W3c07S8WGwhPoulaY4XOhdiCZpd2c4ub9H4DxVRpV7sIhGELpiPD9UcdvyVPpVzcWf1rqbSr3SNy
hhaP1T9MR4DgjOP1VNpWzC2cF3qq6tdUutazBwHZ2/kiDuds3uNU31zlBo0OozUGT7pNvgujhsef
m+F7IhYVhKsrHXRU20z4MWHddVEGVO+MG9lhKwlWWErA7kgXsdcEgp0sj+/I53xKotHZ8eY99h4W
VZSbPJhBxbrhYHLA7kVgdyRYR4LLdyVDFPK7A2VzWjjYqqjypZG3J63HVQ0W0ONzZoVdo9sDWuY6
4JtvWU/kVlu5JzSCgtiptmgOHe4sufitI00MT42xNtcb1gI8Flv5LA5YHcllv5LA7ksLuSwO5Kmp
IHUL5XN61nfotJUsEFPGWN3l1tQjcfBZZvayyisl3JZTuSMZCyzyWArLsqTRbJ4ceYnNsT/I8Pc7
Yd1qk3zvWj2h2j4mngW7060UQDRuBAt+amqIoXND92K+/wCCL4YKSSaBotx+Kc+8dPKWjES3/wCS
zPp8u33MSwsp2fRtAu8fqVpl5EcbPAm/y1aFf9LIz8N1T/8AqVX8AiAQQVAwQRtjvxcbf3TIY9tl
dh34AfmjM7ZnyeIxfonSU9KxgccI8FpWWGR7CzjbebW1U7o+jg7B1cBuFo914JJ3b3bx+Q8FFOZ6
Myva24uR+SmqGQhhfwcbKJ8b24o+BKqIc6PD6ghdU3Z6b/zWj5nY5YbDCy9vmtKPmfJvZ1GEgG2r
Q5blP6u++8qmObWzX7sZ6o5FQzGWSoY4CzDZCbDTmQjc2/D0Wlammly8s3d4nU2omaxrBIcINwFo
ubHJIXgmQ/f/AMKXe0NezG1zk+Yx1EEIaLOB/RStaIZrDiDdVRwR0xAH1jVNURwlmM2xeKL4oqaS
aFo39b4qGdlW5mKB27eD4J1TA1+Av63JS1D2PnZG7Cxzju9FNPLMWmR17Dcm8VUSiigjws3YrWVO
+OaR0mS5rgLXcqeXaWPxN4PI+WoNaCbDjxU8LZonMP5fFbrYN3BUNvp4w3cyUgJ0UdVE3GPVMwi7
AO7ZS993x/kBwGEH24e4O2HBqf8AWv8AiqPSxhgEbo8VuCfpjEW/QdXxF1W6Q2ljW5OGx43UGk8E
GVLBjCl0oXmINhsxrgbX5Lpb6cy5P3MNrqCR8sLXnC65v8Fpl4MkbQd4BvqoawUuP6HET43shpW0
75dn4tA7yZpmUYsceK/Dwsm6ZfgGKAFw8bqjrdqnO4Ms3hxLlWPDKOTFZtxYfFdL7m46YPI8bqrr
JKmTE4WA7o1M0uGwiPZhwtx3Kk0g+nDm4MTTvsnaVJaGtp2tbfeL+CqtJ58RjyAL+N1DpOSGnyms
F/ByGl5ssDAMV+K6a3/s/wCqZpB7Kl8wYLO4sVZpF9U0MwYG+O+99VJpLZosGTffxumaQeypfMGC
zuLE7TBs7BAA4+N0dL/R4Nn8Oe5HXRV7qa7cGJpUmmHllo4sHre66Zabf6ff8UzTD7vxx4geA5J2
lw7cabgearNJbTFgyrb+N1T6Ty4RG+LGE/S78UeCPC0cQjphm8im63O6kc57i53EnerIbiENLNLG
44MRCGmH5pOX1LcEdLNA+jgtvTtMOxNwx9XxR0yN9oT6b0NMOyt8fX/RdMx8chyj0qxjpnZJ6xvZ
M0vgiYzLOIcSumoL/UuVRIJZpHhuEE7h9gt7FlbVZWVlZWVlhVlZWVlb9yxdwdt4NT/rH/FUui4z
TCWaXDff+SGh4jhLZjhshocZh6/U8OaZoqnN/pXbijotrahodIcDuB9UNFR57mY3Ww3TtHQQsu6p
e0X52QoKWaUCOpLvFyboyklzBFO4uan6No4WNMszgthglla2nlLh988lNomPLcYZCXDwRVJTPqJc
LHYbC91PoydkRe6XFh8N6Ka1zjuBKMMjRvY4fksp4IGE3PgqakkmlDCC3nuU9FgqhE09U26zkKCh
zMrNcX2vZNoohWmB7zbwVdSsp5GtZfePFZE/unfIpsMj74WE/AJ0ZabO3Kn0bBJTB5L8VkUxj391
pPwWRKATlu3ei2abjlu+SMEmLDgN+Xin08rRd0bh+WqlpzUva1u6w6xWkaOOmEZYXb+agpZ5ml7G
3AVHRQPidNLJZvoqmggFNnRSG3rqo9G5jMyU2b4Kt0dlWdFct/VZMl7YHX5WUej6ZkLXzy2uqrRm
Ex5Vzc23qfReXEHMOIjvIaMpmMZmyG5TtEjObhd1PHmp9FtwXhJJ5KPRUWAZjnYlHop2aQ/uc+aq
dFiwMO/0TdERYOs92Oyh0U4vdm7mjl4qu0dkszIzdvjqy34cWE25p0bgLkGysmwPdwaSsh97YTfk
jTyDi1bO/wApRjINrKekngDTIy2LhqbGXcFkuHgsh/JZRtwWU7ksh/JCJx8FlO5IxOHgrKion1D7
Dh4lVOhSyMujfiPJYFQ6N2m5JsAptDWjc6OTEQodEPkhx33+A5qk0U6YOLzhsbKo0MWR4o34l0Gc
v6zrW4Km0VJKXY+rbiqjRT4Xst1gU7Qb8FxIMXJUuinzAknCptFzRzNZxxcCptCStjxNcCeSO7d+
5GdwdtyTu+74qjmqaekbnx4ot1jyBTGdcPa84MG5ijqQ+eWLD3PFD9mqf6pFJ/8A1B+P/wD5Kmxm
OQROAktuT6+0bRNSOP8AVwuqrRscr48DQ3zfBVE+VGaejYSR3i3wTq8FrBLRutcd5RwRRucWNtit
f8lDlfSFjMO/futvRK0LmfS+T/KqczIkwd62rQ7WCme+2/FxUtfC6B7mB7rcDgNrqG0rIpXR2fb5
KkrJ5at7H2A37uSr21c82S1v0dxvsvo6GPLiZjmcFSZnSLc2+O++6kDXaUiuP+EmTPNbJFuwhl1H
G2HHyc+/zU0EclVFiHBpWO7ZfTcjxWhf+N+S46sLcWK2+3FbdUPjmGzY+O8cNVE97Z48LyLuF1pr
uQ/Eqi23ZZMoswb+PFUbS05ppzIy3JVDmv0Y5wbhBbw1U+HYori4wDdxVRMYYmOa37wFlL9GySVs
d3W+ap35ZdLNSl2M962qN8bnSYXXsbFTyMZl4m3u8Aao8FjhbbfysnYMTLjf4btUeHD1RYfJHBmN
3dbwKdbCb8FXlvR8tuGEatGPzqXKczc3d8VpqU9SDD1eN1kyhmPA7DzsqN7DTswMwbuBCGEzkmLr
NbucnV5JqI3U7ngEjq/5W0BtKyZ48Bf81pSanlmiMJDneNv0WlnVbmRZ0Ya2/hzQWhXR5Thhs6/F
TBrstr48XW48kZ7VTYbcWXup42bNKMI4FVRwTUjrDv4fmpZ4YnNa8gYgd59E58NNSukiZdvH5qGW
nqZWOynYmtvchPlpruY5zb+IUuHOkw93EcPwWg/q5fyUeDrYT471E2CqjY/L4H+yqKoGswhrmxt3
PtuuqXZzD9B3Lo2DmDFb05p2HC6/C29U5iyW5Xd8F1M0HFvtwT7FrrmyZbCLG4XVzCcW+3BSAFhB
NvVDgE3DmO6+8+HJV37XUf8AuH9yN4Dt79Y/FU+l8NO2KWAPsunXY/qerbhiUOlTHPNKYgcfrwTd
N2H7N/8AJdLvzzK+IO3dVt+CGmXCV8mSN4Atfkm6ZOACSBr/AM103JjJMIw24XXTdr4aYC/qmaZd
ga2SAPI8bp+lagztkG4D7iqdLTTMwNZgHjvV1R1rqVziG4rjhdVGlpZ4THgAvxN1dUekJKYOAbia
fBP0xM4NAjaN+/1HJO0xU5rXBosPurpCbatoDQPRHTU5Leo0f5XTcnuG/NN0jIKp85jaS4cOSk0p
M+WN4a1pb+q6al3/AETFFpeoYyzmh+/iUdMzks+jZu4rpqW/1TE55c5zuZVHXPpceFoddM0xUtxY
gHX/AET9L1LsOHC3n6rpqfFfA21uCm0xPJGWta1t/FXVHWGlc4hjXXCn0vJLE+PKaL+KZV1Ecb42
SWa7iqTSctMzBhxjw9FVaTlqI8vCGjxsrqk0lLTgt7zeR8F0rIZxI6MEAbm8vVM0zNicXMBB4N5J
mmpAOtEHfoumpMZOWLW7t1BpN0JlOWDjdiTdNODQHRYjzujpaczh/wB3yKp0tLM3CxuDnvUemXtY
A6PEed1DpOdkrnuOK/gqnSss1g3qD4oabfgtldbndU+lZonOL+vdVukZKqwthZyQKZpd7KdsbGWd
5lW6TNTCxmVYg3JUmki+iFPl+AGK/JQ6ZwRta+G5HqunH5t8vqeXxT9NjA7LgwuPjdSaZjdA6MU/
3bbzuVNKIpmPc3Fh8FpHSDqvCMOFjfDVQaU2aMsczEFLpzcMqK2/xXTVPixbOcXPcmab7+bFflZO
01TuwYqc7jdV+kY6pjGsiIIPeKg0vG2ARTRYrbtyOnBmMwRdTxR03SjE5kDsZT3lz3OPEm/zVFXP
pn3Hd8QqjTbHRlsLHBx8SjpqNgjbDFuHG66Zps8kRGxG8+K6ZpmMtBCeKn0pFJVU7w12FnH8103T
l5BY7BbipNLwtiwUzCPj4Iaap8ALmHHbgqbTPWfn8Dy8FUaZ6zBT90fqnaapcGINOZbgqXTDes2p
8fH/AAp9NfStyR9G3j6qTTNIGF8bbyEclI9z3ue473G5/cjeHbFHiUOGu6urq6vqurq/tgq6urq6
ur+wNV1dXV+xur6rq6vqurq6v7V9d+wurq6urrEr67q6urq6xFXV1dXV1dXV/wByjh2o4hO8fhqH
22/8xDj2w4hP4O+Gofz+OI7ZveCk4P8AhqH8qkW/dTe8O2Z3gpe4/wCH+wLO8O2Z3gp/q3/Dt7k2
/nJnfb20feCqPqn/AOwMffHbR94Ko+pfqH8/x98dtF3wqn6l38wC37hi73bR95VP1R+KH+wEPe7a
Piqr6r80OP8AM5+0w97touJVV9X+aHH7NeyP80wd7to1V9wfFDj/ALAQcT20fiqvuD4pve/2Ag8e
2i+8qzg1N7w/2Ag8e2i4OVX91M73+wEHA9tH3SqzixM73+wEHdPbR91Vfeb8FH3v5kH2yHu9szuK
q7zfgo+9/sBD3e2Z3FVd8fBRcf8AYCLu9s3uKq+s/JReP+wEXcHbN7oVV9d+Sh8f5oP2iPuDth3Q
qj60qH73+wDO4O2HdCn+tcoeB/2AZ3R2w7oU31rlD3T8f9gG8B219wUv1j/ioe7+f+wA4dt4BSfW
P+Kh7n5/ab/zOOA7ZseINVRG6OZ4IQe4CwWa/ms1/NZj+azHLG9Y381jdzWN/NY3c1jdzWNyxu5r
G/msb+axu5rG/msb+axv8yxv8yxv8yxv8yxu8yxu8yxu5rG7zLG7zLG/zFY3eZY3eYrE7zLG/wAx
WN/mKxO8xWN3mKxO8xWJ/MrG7zLE7zLG7zLG7zFY3eYrE7zFY3eYrG7zFYneYrEfMsTvMVid5isb
vMVjd5isbvMVjd5isbvMVjd5isbvMsR8yxu8yxu8xWN3mKxP8xWN3mWN3mWN3mWN3mWN3mWN3mWN
/mWN/mWY7zLMf5ljd5ljf5lmP8yxu5rG7msx3NY381mP5rMdzWY/msb+axu5rMesxyzHLMcsbljc
sxyzHLGVjKzCsZWNyzCswrMKxlYysZWMrGVjKxlY1jWNY1jWJYljWNYliWJYliWJYliWJYvY8O2o
J474JDb1WkIYJAMQ6w8Qtki5lbJFzK2SP1WyRcytkh9VskPqtkh9VskPqtkh/Etkh/Etjh9VskHq
tlg5FbJByK2SDkVskHlK2ODylbJB5VskHlWyQeVbJT+RbLT+RbLT+7WyU/kWyw+6Wywe6Wywe6Wy
0/ulssHu1ssPugtlp/chbLB7kLZYPdLZoPchbNB7kLZoPchCmi9yFs0HuQtlh9y1bND7hq2aH3DV
s8N/qWrZovct+S2eH3Dfktmi9wPktni9y35LZofcN+SNNF7hvyWzx+5ahTRe5Z8ls0fuGfJbPH7h
vyWzx+4b8ls7Pct+S2eP3Dfktnj9w35LZo/cN+S2eP3LPktmj9y35LZme4b8kaZnuG/JbLFb6hvy
WzRfw7Pktmi/h2/JbLF7lvyWyRe4b8lskXuG/JbHF/Dt+S2SL+Hb8lscP8O35LY4f4dvyWxw/wAO
35LYoP4dvyWxw/w7fktig/hgjRQfwwWx03uGrYYP4YLYaf8Ahgthp/4cLo+m/h10fTe4XR9N7hbB
Te4XR9L7j+66Opfcf3XR9J7ldH0nuV0dR+6PzXR9H7n9V0dSe7PzXRtJ7s/NdG0vu3fNdG0nld81
0bSeV3zXRlHyf810ZR8nLo2k5O+a6LpOb10XR/j+a6LpPxroqkH33roql8zl0TTeeRdE01++9dE0
vneuiKb3j10PT+9euiafhmuXQ8HvXLoeD3r0dDw++d8l0PD753yXREWK2cfkuh4vfH5LoaP3xXRE
fvj8l0PH74/JdDx++PyXQ7PfFdER++PyXQ7fffouiGW+uPyXQ7fffouiG++/T7GJ5AMOLcs1yznL
Ncs1yznLOcs5yznLOes96znrOf6LOk9FnPWdJzWdJzWfJzWdJzWdJzWfJzWdL5lnSc1ny+ZZ0vmW
fL5lny+ZZsnmWbJ5lnSeZZsnmKzZPMsyTzLNk8yzZPMs2TzLNk8yzJPMVmyeYrMf5isyTzlZknnK
EjvMVmyecrG/zFZj/MVmP8xWN/mKxv8AMVjf5isb/MVjf5ysx/mKxu5rG/zFY3+crG/zlYn+YrG/
zFY3+crMk85WN/mKxP8AMVjf5yscnmKxv8xWOTzlZj/OVmSedyzJPOVmSecrNk85WbJ7wrMk85Wd
N7wrOm85WdL7xyzpfOVnze8Kz5/eFZ83vCs+f3hW01HvCtpn94VtM/vCtpn94VtM/nW1VHvCtrqf
eLa6jzrbKjzrbKjzrbanzrbqnzLbqnzBbbUeZbdU8wtvqeYW3VPMfJbdUei2+p9F0hU/h+S6Qn5N
XSE/Jq6Rn8rVt8t74WLpCTyNXSMvkYukJfI1dIP92xdIP921DSLx/wAJi6Sf4xM+S6Tf7li6Sd7p
i6SPuWLpJ3uWLpH/AJLV0l/yGrpH/kNXSX/Iaukf+Q1dJf8AJaukh7lq6SHuAukW+4Gsf7IDiP8A
ZBvEf7IN7w/n8j7C3vD/AGQZ3h/OQHH7czvD/ZBne/2AdUjwC2o+UKOdr93A6ibAlbSzkVtLPVA3
F9RqGgkLamcigbgHmnzBhsVtLPXXH3v5/nNoigpIGhlxxXJeAU31bkN5CcLOIVObxDVJ9Y/4q24F
QH6IKoP0pRFtcfe/n+RuOMjVHP4PTQwjdbVUnqAeqi+saqgWmcqX7w1SfWO+KI+gafVUp7wUm+U/
FTiz/wAtcfe/2Akha/4p7HM4hMeWG4QdcAqq+4FTi8oVUOs0qnP0mqTvu+KYL07lTuwv+IUe+QfF
VP1n5a4+9/P818pyxu5o2cw8raoPqmqo7/5Kl75+CqR1AVGbPafXVL9a/wCKp/qnLeHKnH0qqe+P
hrj4/wA/kAixT4XN+C63DemRueeCAsAApWPdI42VMwtxXUgxMcFlSeVDgFJG/G44VTghm/mpYn4z
ZvFQRua43CnY5xFhri4/7IRcf9kI/wDZCP8A2Qi/2Qi8f9kI/wDYm3tx8P8AY22uPh9sJO71WUfM
FlfiWV+JZX4llfiWX+JZR8yyfxLKPnWUfOsn8ayvxLK/Gsr8ayvxLK/Esr8ayvxrL/Esr8ayvxrK
/Gsr8SyvxLL/ABrK/GsoeZZY8yyx5lljzLLbzWBvNYG8ysDUGhYWqzUGNWBvMrA3mVgbzKyxzKy2
8ystvmKyx5iiz8RQZcd5Zf4ysv8AGVlDzlZX41lDzlZX/MKy/wAay/xrL/Esv8ay/wAay/8AmLK/
Gsv8ay/xrL/5iy/xrL/5iy/xrLPnWWfOsv8AGsJ8ywfjWD8SwfjWD8SwfiWD8SwfiWD8SwfiWH8S
wfiWD8SwfiWH1WD8SwfiWD8SwfiWD8Sw+qweqw/iWD8Sw/iWH1WH8Sw+qw/iWH1WH8Sw+qw/iWH1
VvVYPxLD6rD6rD6q3qsPqsI5rCOat664+HbGQeCzTyWYeSzDyWYVmLM9FmLN9Fmnks30Wb6LN9Fm
nkmOLpGexf27q+q/7gf3Uzh9qv8Abr6gezj4K/aSOubamtQjWWstZSy1lLLHJZQ5LLHJZQ5LKHJG
MKQFr2fBBsvvFly+9WXL71ZcvvFlye9/RZUvvf0WVL779FlS++WVN779Fkze+WRN74LJl98Pksmb
3oWVN739FlTe9HyWTN779Fky++/RZD/f/otnf7/9Fs7/AH5+S2c+/d8lszvfuWzH37ls/wDz3LZv
+c5bN/z3rZR7562Qe+etj/5z1sg97Itjb72RbGz3si2KL3siFHH72RbHH55Pmtij949Chj95J81s
MXvpPmthj97J81sLPeSfNbDH72X5rYI/fS/NbBF7+VdHx+/kWwM99Itgj99Itgj9/ItgZ76RbAz3
8i2Bvv5F0eP4h66PH8Q9dHj+Ieujx/EPQ0e3+Ieujh/EPXR3Kpd8l0f/ANS75Lo7/qXfJdH/APUu
+S6N/wCpf8l0d/1Tvkujv+qd8l0b/wBU75Lo3/qnfJdG/wDVO+S6M/6p3yXRv/VO+S6L/wCqd8l0
Z/1TvkujP+pf8l0Z/wBS75Loz/qXfJdFj+Jf8l0WP4ly6MH8U5HRjb/tEi6NZ/EPR0Y3+IeujG/x
D10Yz38i6Lj9/IujI/fy/oujI/fyrouL38q6Ki9/Iui4/fyLouP+IkXRcfv5V0VF7+VdFRfxEi6J
h9/KhoqD38q6Jg9/L+i6Ih8KiRdERfxL10RF/EvQ0RB/ESLoeH+IkXREP8RIuiKf38q6Hg9/KuiK
f38q6JpffSroil97L810PSe9m+a6Io/ezfNdD0nvpfmuh6T3svzXQ9J7yX5roek97L810RR+8l+a
6JovPL89bPYtqt7TtzTqamqytq3ezu1u4FS/Wt/pGq6uroHd7F1iWJXCxK6usSurq6xK6xLEsQWP
esSxBYliWJYljWJYljWJY1iCxrGsSxLGsSxrErlY1jWNY1iWJYkHLErq6usSxrFuWJY1iResazFj
WYhIs1ZizFj3LEAFmbljWNZizFmrNWYs1ZizVmBZvqs1ZizQsxZiMqzVmhZgWas1ZqzVmLM9VmrN
WYs1ZqzfVZyzFmeutnt2VlbVZS8NQTCsSxLGsSxrGsaxrGsXqsaL0frAsSurq6xLEsSurq6xLEsS
xLErrEsSxLEsSxLEsSusaxLEsSxLEsSxrGsSxrEsSxrGsSxrGsazFjWNZiD1mLMWJZizFjWYsxZi
zFmBZizNyzFmDmsazAsxZgsUHhZizLLGsaxrMWYsaxrGsxZizFjWYsxZgWYsaxBYxzWYsxZizFmL
NQlResxZizFmFZizFmLGsxZiEixrGsxZuuLj2kv3dYV1iV1dXWJYldXV1dXX31dXV1iV1dXWJXV1
iWJXV1iWJXV1iWJXWJXV1dXV1iV1iWJYldXWJXWJYliWJYljWJY1iWJY1iWNY1jWNY1jWNY1jWNY
1jWYVjWYsaxrEsaxrGsaxrGsaxrGsaxrMWJYlmLGsaxrGsaxrMWYsxZixrGsxY1jQesazFmLGsxZ
ixrGs1ZizVmLMWasxZmsbkHXQPZS8NQ7b73b37C+u6ur676rq+q+q6ur67q6urq6urq6uVdXV1dX
V1dXV1dXV1dXV1dXV1dXWJXVyrlXWJXV1iWJYliWJYldXKxLEsSusSxLEsSxLEsSxLEsSxLErrEs
Surq6xLErrEfYHFXWIrMWYFjCxhYgsQVwrhP7usBYVhWFYVhWFYVhWFYVZWR76srKysrarKysrKy
srKysrKysrKysrKysrKysrKysrKysrKyssKsrKysrKyssKwrCsKwrCsKwrCVhKwlYSsJWFYSsJWE
rCsKwrCsKssKwrCrKysrLCsJWFYSrFWWFYVhWErCsKwrCsKwrCsKsrLCsKwqysVhKwrCsJWFYVhW
FYVhWBYVgKwewwXKwrCsCwLAsCwlYSsLlYrfqCb7V1dXV1dYkSnd9vt2129m3s21212VlbVZWVlb
VZWVlZWVlZWVlZWVtVlZWVlbVZWVtVlYarKysFZWTRxVlZWVlbVZBqwqyarKysrKywrCsKwrCFhC
wrCsKwBYFgWBYVgCwhYVhWELAFgCwrCsCwLCrBYQsKsrexHqvqurq6ur+wRqxLGsaxFXKuV1lvW9
b0bgLEsSugVdXWJXWJYliV1dYliWJYliWJYliWJYliWJYliWJYliWJYliWJYliWJYliWJY1jWNY1
iWJY1iWNY1jWJYliWNY1jWNY1jWYsaxrGsaxrGsSD1jWNY1jWJY1iWNY1jQesaxrGg5Y1jWNY1jW
NY1mLGsxY1jWYsxZizFjWYsaxrMWYsxY1mLMWYFmLMWYsxZvsDgrq+okW7EjWFiWNYysZWJYliRN
/Yurq5VysRVyrlYisRVyrlXKuVcq5VysRWIrEViKxFYisRWIrEViKxFYisRWIrEViKxFYisRWMrE
VjKxFYysRWMrGVjKxlYysZWMrGVjKxlYysZWMrGVjKxlYysZWMrGVjKxlYysZWMrMKxlYysZWMrG
VjKxlYysZWMrMKzCsZWMrMKxlZhWYVjKzCswrMKzCswrMKzCswrMKzCsZWYVmFYyswrMKxlZhWYV
jKxlYysZWMrGVjcsZ1t+wWWFWWFWWEKywBYVhCwLCrLCsKwrAsKwrCsKwrAsKwLCsCwrCsKwrCsC
wLCsCwLAsCwLCsKwLCsCwLAsCwLAsCwLAsCwLAsCwLCsKwLCsCwLAsCwrAsCwLAsKwLAsCwrCsKw
rAsCwrCsKwLCsKwrCsKwrCsKwrCsKwLCsJWFYFgKwrCVhWFYVhWFYVhVlhWFYVhWFYVhKwrCsKwr
CsKwax249uyt7NvsVtVuwNuxt2Nuxt7Nvat2FlZWVlhVlZWVlZWVlbVZWWFWWFYVZWVlZWVlZWVl
hVlZWVlZYVZWVlbU3992+2W+0G3h9hOu3at+0H98BON/a4/YLfZrfyZb95W127K3Z212VvZtrb21
v3Fb7Lb98FAfZ7Jsbj4KOhnf9woaNl8UaK3EowAeKyVkLJWR6rIWQVkFZBWzFbOVs7lkOWQ5bO/k
sh3JZDuSyHLIcsh6yHclkuWQ/ksh/JCB3JZD+SyH8llO5LJKEJ5FZL/ALIfyWQ/ksh/JZD+SyJPK
VkSeVbPJyWzyeVbPJ5Stnk8qyJPKtnf5Vkv8pWS7ksl/lKyn+UrJfyKyXcisl/lWS/ksl/JZL+Sy
X+VZL+Syn+VZL/Ksl/JZL+SyX8llP5LJk8pWU/ksl/lKyncisp/lKyn8llP5LKf5SsmTyrKfyWS/
ylZT+SyncllP8pWU/ksp/lWU/ksp/lWW/wAqyncist3lKyn8llO5FZT+RWU/kVlP5FZbvKVlP5LK
fyWU/ksp3JZT+Syncllv8qyn+UrJf5Ssl/lKyX+UrJk8qyH+VZEnlKyJPKVkSeVZEnlWRJ5SsmTy
FZEnlKyJPIVkSeUrJk8qyJfIVkSeVbPL5Ctmm8h+S2WXylCml8q2eXylbNN5Ctmm8hWzS+VbJN5F
sk3kK2SfyH5LZJvIVss3kK2OfyFbHUeQrYp/IVsU/kK2KfyFbDUe7K2KfylbDP5D7LYyVBSC/WUU
VPF90XT6hjW7lJVhPqAVmLMWNYwsazFjCxrEFiQeswLMWMLGFiCzFiWNYljCxhYwsY5rGFjCxhF/
BXCxIOCxrGFjCzBdZgWMc1mBZgui9ZizGrGOazBzWNqzAsY5rMCErVjFuKxhB7eaxtWY1ZjVjasx
qxt5LMasQWYLnesbVmN9FmBYgsbVibzQc1Y2LMbfwWNixs4LG30WYzgsTOQWYz0WNt77uKxMWNl/
BYmfhWKPkFjZYcETG7iGrE21rBY4uSzI/RYmcgsbFij5BY2eixs9Fdnog6PksbFmM9FmM9FjjWaz
0RexCWPF4LMj5hZrPRZrPRZkfHcs1nos6P0WdGs5izmrNZzCzmeizm7lnx24rPZzWc3ms5nMLPbz
Wcw8Vns5rPas9gKFQxbTGPFbQzmtoatoYtoYtoi5raGLaY+a2lnNbTHzW0x81tMesNumMTbNWdZG
qKkqvVOqlnuWc5ZzlnOWe5Z7lnuWe5bQ5Z7ltBW0HktoPJbQeS2g8ltPoto9FjWJYljWNZ4We31W
0BbQFtAW0BbQFtIW0NW0N5raG81tLea2hvNbS3mtpbzW0t5raW81tA5raRzQmv4rMWasazDzWaVn
/iW0N8y2gc1njzLPHmWcPMFtH4ln/iWf+JZ/4ln+q2j8Szx5ln/iW0eqzvxLP/Eto/EtoPmCzis9
yznc1nlZx5rPK2hbQea2h3NZ7vMs/wDEto9VtO/itoPNbR6raPVbR+JbR6rajzW0HzIVPqtp9VtX
qtqdzW0HmtoPNbS7mtoetpePFbQ7mtoK2h3NbS5Z5W0Hmtod5ltLltLua2l3NbS/mtpK2l3NbQea
2ly2g81tPqto9VtJ5raTzW0lbQ7ms8rPdzWe5bQ7mtp9VtPqtp9VtP4ltR5ravVbT+JbV+JbX+JG
q/Etp/EtqHmW1/iW1DzagEFdYk+SydKT9kY5X1uO/wCyA2KvdDVdPeTu8PsjHlqur6i6yLifsdyP
FRyYtVyrp8mELG4+KueauVc81c81c81c81+auezDyE1+LVdEp8pKv7N/Y4+yE0btRKc5Odf22xEi
/ghCx25rt6bE4myyme8WWcWEb1kjxeE9mE8exGp7rDso4Xv+CljjYNx63Zg79cjrbuzhibJfrKSJ
8Z3j8+yY7w1yOueybTOIuSGhbOzwmajTyD1+CkjdGRfsY34tR3Aom/Y5LGgEv4rLi85+SwU/vT8l
gg94Vksc0ljr27AOITTcapzuHYRBrngFOETHWLSrw+UrFEPulY4vKnNY0B4G4oiPDjDfyTmNdFja
Ewa3KR/h2DicIwWKLpGtvZoTBJvcLG6whwONtlCOq+3FZUh8ERbsBx1vO/sadkbt548k8i282WVT
e8/VZNP7z9VK1jXWabjsR3hrf3j2MLGPJxPstng98siH3yG9u92JTxsbwP5dizvjW7vHsaYAy/kq
hxMrh4DUyoa1tgw/NTSiQjda3Yxd/UeB7LvUv9JUlRiaABbnrpzhkF/vBPGF7h2EJ4jVK27ewG5T
dZjZPn7EJDmOj+SgO9zD4qO7JMBTeCGp7uxuVcq5CLifFXIRe8/e7FnHUeyBINwmTMeLPUgaH9U7
uzj7w1u7x7OBkRuXnh4KSp8I+yb3hrf3j2IJBuFmQzD6Tqnmshnvmr/TRjjjPZNNnDW8Wcexpjvc
0+IWzSLZ5UyFwO9t/wA08SuLeqBYqrAzAR4jsGGzhrcLOPYRPbhcx3ArKj94Flx+8CwR+8TRG03x
pxjMl8SkdG54OLW5SH7PHw1SHq/Z4u9qP2cd4a5O+fs7eA1Td77PGbt1TDx+wuR4/Z2jdql8Ps8X
jqPA/ZxxCGqXvn7PF3dU43dl+a/PV+a/NfmvzVhzX5rdzW7murz1QO321SC7TrC3LcurzW5dVdVd
VdVdVdVXZy1EopzVb7JYpjNb23+zAEprbaiERb7NGwk65WE7/s8TcLdThcWTmlvH7NAw3vqKkj8R
2xR12VgsKsFhCwhYQsKwrCsKwrCFhCwhYAsIWALAFhHtFoWALAFgCwBYAssLLCywsAWWFlhZYWWF
lhZYWWFlrLCyghEEAB7BAKygspZSyllLKWUFlLKWUspZI5rKWUsoLKWSslZKyVlMQ9gxgrJWSslZ
KyVkrJWSslZSylkrKWSspZSyVkrJWSmxtHsOaCjCFkrJWSslZKyVkrJWSFkhZKyVkhZIWSFkhZIW
SFkhCFo9ksBWUFlNWUFlDkspqygsoLLHJZYWWFlhYAiinPWIrEVcrEViKxFYisRWIrEViKxFYisR
WIoO9kmyMixuWMrGVmFZhWY5ZhWYVmFZhWYVmFZhWYUJPaLgFmrMHJZoWaOSzfRZoWcFmhZvos30
WaOSzVm+izfRZvogQfZ4LMasxqzAs1qzWrNas1qzWrOas5qzmrOas5qzWrNag4H2i4DxWY3msxiz
GrMbzWY3msxnNZjVmMWaxZrVmsWaxZrFnMQe0+PtOc0LNCzhyWc3ks5qzhyWa3ks1vJZw5LNCzRy
WcOSzhyWaFnDks0IG/sveGrOKzSs0rNKzSs0rNKzSs1yznLNcs0rNKcU82HYWKwnl2LH29h7r/YW
usgb63PA+wtdZNcHaybDenvxH7ACmSX4+xJL4N+wBMl5q+uSTDw4q9/sDXEJrsWuWS24K/bOKdx7
CPDg3HenPGCx49i3jrkd2MIGW5xHZRd3UdwKPYU9s0JpF5uxj72uU7+xy42xhxuU7Jw9W9+xYbt1
SHqnsY4i9GnZg3O3p7HMO/sIX+Gtx6x7BscYixuTomlmNv5oRtysTvy7BrsLr65hZ/Y0+HePFMD7
kSNFk8WcbexI77HGN+s8exxWhw27KPu6pT1fscffGuTvnsetlty96sTG7NaOxh7uqTuHsYpcB4XC
blvicBwUkRDQ7FiHYR7n65RZ57CObCMLhdqY5pGBrV1XPw8k3DI4sLAE4WJHtxOu3VO3dfsafDj3
ovmDj1dyjYzjb8lIwtcbjW47/scY3an7h2Re4i3ZDhqmO4fY4+/rf3z2IbGQLSWWNrY3NL8XYwcD
qcOqfh2Mb8Buopot+7CnzXbgaLDsPFNNxqnHA9jHJgvZBxBuOK2k+Vt0Tc39uE2dbU7gjx7ESPHi
jI4+KuT4/ZRxQ1Sn7G3vDXLx+xxd/W7vH7HB46jw+xlRG7NUw6v2MbiDrmFnfuBnHW/j9jj46397
7HF3tbu8fscHeOs8T9jgPhqfvaR9kidcaphduofY2sJT2FvZRjUeHYtw33oRxlt+yi1nj2DGFx3L
KiHGRPg6uJjrj2GxudwToXt8PYi463d49i2ncRcmy2byvBRBBsdYaXcAnQyNHd9iHva3949lHC6R
ObhJHYQmztbhZx7GCNj73X+nv4qTK+52ERs7UURY9jTsDnb0Zd5AYLJ7mkdyx7BjLpzwNwX1kfZN
G7U87uy7sHZR8NTju7EOcOBQu4oWiiOLifYiZI8WB3J5wRlo3+xFx1niexxPfYEqKAtdiJU7sUhO
tmO/VuoiC0gXvb2I++NcnfPYxRF5QlaHhjeCqB9J2De8Nc3e7GnkDHXKLqe5NiVlxSdw70QQSD7Y
4hDVMN/YwPwu3qZ2XwHFCe+5wFlPGGbxw9syXFtTJMKdvPYNG/W89lK4YAAeyZ3dT+72MUJf8FgL
R1Gp8cvF3sNle0WBRmeRYn2ItZ4nsAn07gLt3qJsocOKqrYhz1skcw7ltD/QewzvDXKOt2LZYRHh
um7PcWJupxFuLr9iw9Uaph1exYQDvRijfva78lHGIzdzgpXBzyR2ER6uqUXb2TZ91nC4QdT8d6ml
x7hw+xR6z9kbw1ScOxueaxu5lXPPsYfHUeybI9vArPl83Yjihqm8Ozc9zuJ7GE9XVJ3T9kiNnaiE
4WP21o3ancPsjeOuX7JDqP2UcNU32SA8VdFHj7FjrsVZWVisJVlhKwlYSsLlgPpqB3ocNUw8fYwj
zLD6qw5rCPMrDzKw8ysOa3c/sLW638PskbfHXJx+yRiw1nj9hxG3HUOKGqQbvsF1dFxPjqhG/XK3
x+yN4DU4XTm27OysVZWVirKxWEqyssKsVhKwlYUGeyWLCrFWKsrFWKsVYqysVZWVlZWVig0prPYI
ui0q32CyYz2HturH7DYpjLew9n2GybGSmiw1lOYrFWKsVYqxVirFWKsVYrCVYrCVhKwlYHLAUxlv
YcEWLAVgKwFYCsBWArAVgKwH2bexZWVu1srKysrK2qysrKyt2VlZWVlZYVZWVlZWVlZWWFYVb2rK
ywrCrBYVhCwqywrCrLCrLCFhCsEB7VlZWVlZWWFWWFYVZWVlZWVkAgPZsrKytqsrKysrKysrKysr
agPasrara7KysrL/xAArEAACAQMDAwMEAwEBAAAAAAAAAREQITFBUWEgMHGBkaFAsfDxwdHhUGD/
2gAIAQEAAT8hgeBVGIYuh0Zr0rsKZpqaVi7pqOmqhGo2LIxYN6MhaPSjI0FkxMTITZcjCmQs9DlQ
kYdSVYHntKryIdCHcYgyL1LFMnQ40iM6HgbgmVWwowNKmrVPFTqYmjuRSSRix0mJ/QDFUs01prRZ
prRoaqtajFMURkqViujIWDUxMaEYmFMnRLGBJn2By6TzTXrXQ81ZHSa1KiyLoDIWTQiSBZQsULA6
nipipAxUXrqQxUKrwLsF0qjGIVNaOmpIsjNaNDOhDzRBiwTkwM0ZGldGVNR4dVGJhTJiMOpPHUEK
jMjTofQqaUeeya1KiyIe9CpZGhJoYDixSh1OjUfSItHWVEMVEPAqa1adL6oEaU1E6aUg1prTpUTH
miyMWDcVhfSsVkZiwamJgYmHQLpGYqm6CyKrHnpfSq69ka0YQxZ6ChBoG7FzGJ2pwoWBBUNio+gx
dhZGKhDqRBFHSOh1Q6MVXkuM0H1HQVCRlRZrFmYGS6JRYMkLBrUMRYMK9aOrLqFRkKrG7mgquiqq
OiqVSprWhiyIzpShMmhsWOiLFE3HG10CqxCH2E6joYqa1LpdF0OipqRQsDNDWmozQWaEa0QxB4Zk
MqSwZmIsGYsGolDGBhVqIYqOpiz2TI0Jo6qq6nV0XHnomLNMqmVIsZULBkYU6UKTFCjQoxVdZq66
0QxMdSprUh9DYqKroqOjFgZoa01GaCyxiNaZDFgWGZjQIWKcKiNR9cdaMS6Riy6sWaKuZpRDNOpU
1qxdJrR1ypmZ0ZCoshsmhGYh1uixRiq6JVfRqPAqFRDFR1IfQxUx0MVHRiwOmqo8B4os0Q3UYsUv
TrLBnSwpVNKyqyaiGKmZgSaCV3ViIq6NOyqMeaurq1qQ6s6uohGo8qjEZoQ+osVXQqMfRr1Ig1H0
yKr6zoYxDMKLA8qrwaGppTKmTosEWZidJkLBmYGAghmnTDAVCpqKhUdkLL6FRUfWjoVX0F0Ga1Id
CMhmQqELI8iVCGuuoJRi6F0SPomjFmrQ1pqQMQxVfQh0YsUZgOhiHpRjwLBqaCGHUWDczGNKMjAw
qajobtRmNBGohmojPoLKkD6WPuvoLFHQxZqQ68hmZqKp5oyEPCjXWFV9hFUMyGKmtNaPNGhCo89C
6CoxY6BYqY8CwPJoLBqMWaKjBmkTMaDFQh5HThRgYGpqIYs00UI0JhsVGNSOhKz2tRVKjq1q0HRo
Zjp1L0WhDulHjR9QYulVfQ6KizRDqs0dUqsVJJ6CqhiGIdMjQWDUeBGtFmiwbmBpEYmQ8GNZ5NKM
aMKYNRDFmmSFFGaio6F0vtKjyKpqMy6jo0Mh5pWaLo9BBrR0RQlUuhdDo6PoQxDwKirVF2yoxDoY
h1aCNR4FVZpgbmQ00wFkeK2AzToD65UoQzUToxZ6WPrXS89gWLNHR0vBkOhZJNBGpoaaa0dTFimv
SQh9Do6a0WeuDKqq6RVUYqOhipoM0qRqMRrTUYsG5izEQw4fRHk0MjAwH1NeqWasQqyPsL1mmpij
oddio6Ol4MmMQhUwNRmimqpgKjqeRdCfU6ka01ouhZJMjSiGaUVIIqxUdLoYjEWKdDA1GSa01HIk
qmswEKmeDGs80yMDHoXkQ0a9M8GtWLNWIdCXUuolNOksVHmjpeDI1FQsmghZEaKnQh4oqai6ELpd
GLBrRUVNejKj6NeyOmA6XURcaCwPI+k6dzUOIwENOnNDIxpS1eoqa9PPS1NOli7M01JlDoXQMVHm
jodDUQqk7CzR0a0YVGKmvQYhVmjogjWioqRcYma1NiNaai60HkdDMn0axUma1NWFWg+jwoixrMKm
hmzCjCp5FgbZqIwreBZ6Hk0qql0qqq89Bp0LEqOrEYc1MUIkQgq1QxKjyJWpqLoQuwVVRU1HgVGa
Dq3RDpAqMWR9Fmx1FipGozegh5NKWa6UYmk0NRfNDNDJjxS8CdHkVNRdJqNio89whdLyK1aduhYh
jphTgZCougs9BO9GJ0dWpMKiSRdD6GI1os9GvQzQfSqaEdGppXhVlQh1PJNGFGRoYjyaqsRoHgWT
BmI6ZMdSJHlVZXT6kCozTtG5oqTV56GFHWgx5ozEwfRVWlGlDQyo9CGrioTc0iiOwxhMeSBU1o81
RmMSLtM1NB0sWRqhmA6mGlRhRoHgxHXRhTQ1GFTQWRqwtFliVCo8iMR660Qx5F0vuPIhjqaliprR
9DqiMxixRpWyqwEzWjZF+ldbqPNNejXppTRGo+wx5EaVFkZk+oPI8CoYDMmQ6zUamhmY1tBWY0qV
VUeRGHSa1eRdL6WLsMYugYqPNHXZ0QjIZoKmTplVpVPRFGKjdNKSOhDz0NaPJPQSGIQzXsMQ8UMQ
ZkMxohZHlUWWMYDNDIeekNTQRhUWKWrVLLp1uIYF3WeSRPvppNGLFGqVMqPpRCFSaH0jF0MWRdCR
FEPoYsDEa01oyOgqKj7Doh0Oh0MwojJkJRIss0FimhkZU31HRZ6Cq1E0VOJjTIxMOqVMhdLx0Oq7
DCxRixRUeaYUYmdEITtVD6V5ENiyIaNRDquh1YzAQ0FmmvQYqVRUwFVdMXIosumtMqYuiFlmk0Ea
GA6ZsyroOPQ0MmMSokOjUgxS6sur69NdsxUjoVGLFGFgdTo+iFVM1oh06VPNDQhU1rAxdDq+oJmt
HmmtEVGNR9l5FRZo80WSTUMWos0yLJoYDCx0RRrGseghZY8CoWKtX02FaMx7IWOp9DosC6UMYq1g
dTzViYjqqKiGoeKtRDohiz0PIutjofRr0NegxUfaKizR5VNVTVRamtGhr0aVM3SqWLBcPoLwpqo7
FMeTCpGDqfULpY+h0VZqiA+hgO5royBzTjUhdCdTCrWh1ZkKjouhjJpgYCCxSB5EPNNaOqoxVjpY
xJrRMDVjWmSiy+gWaKmlDHNFGToWKMDKo8roOtUYmYUIY89PDqZp0qi6Wy8io1RFqsuo6ouhOi6D
UQxIihCJQxirI6vJIwxDEPJI8iH1jFWeosU1oyTWmVNWRetVHRxmdKGRiLBId6GqHgTVkqOhUowp
mjqXVOjNOjUXRIxDVh5FiqJzSx14mDoVI6TEMwosiQxUeBCqxdD7A16HRiEoxUdE+tiUqmtLBXVJ
FQlc1pWDWioWKXilTEyLukOjNUYgzQh9CqMqvpcepupdDwMVCwy4x5EMRIwquNCpFFjoQ3gsGxO4
mOp9LqdG6umA6a016HRqogasISIH0uhmtawMWBUamoxLUYhioszr5jo3pqMalDwpiqi9KGLoJ9Y1
R0LpVZMjFUnTUWKJDNRU41VVoaCaIRNxDoVCEMQiek+wYh5Jq6oZp0MBVfURBrUsDFVqMdDRoYDN
EKMyMVTkYUa01oqcB5pmqaCrWB4F0UyaOrIQhUfWuhiHQlakXoxqa1Y110GIq3YRceK8KFRZo5qh
EUdYqa6h0YhBEWEqkutjqeRUYDEPNGOmA6JDFg1jVGFKyYGNEDyaUxMBip0FIq0MQ5L03CqXQeSR
i6VVUYqMWBmtGKmtTWpyEKkDoqoQ3W3ahD6iUkVdYdFkbqKroxDCdFcvAxdMkjoskCCsOliwPNMq
RQ80QxGQ6cKVkeDEw0SGxIWTAwMq07UVSGIQ0Lbpl0sfTHSxiVhro1EMQ+glqFuKiU1i1Yq6FVVR
UgYuplyRZH2DFQlVhkZZpCXqYk6PpybxU+fLe5zvcm09x+4oPP7kP+if/Ry+8f8AuEetDf8Asmmw
Sv8AGjMr8REv+BkGV/CW39gTH8RpwNsH4wfhAn0+I3uYex+qP0bF/jkLv7I3r+NkKCcGYyNLRfsy
B/yHL7jRT9T96WwRbi+w2fgG7B7o/A0Lce6P2SP9IhfpD85GAnuNE/Sk/wDWfqKe/dCD+0ftwv8A
Zi/3B+iP3w/cBH+lmyfRjn/Aa3D0dMiUPcG3FthfyjjDQmR6SKKe7k8DZv1zP0jI9QlP8llr+8ej
7zLv8pllkwOUDHqL+CKLL2G6+wSNfuj8VEX+oSsn+gP0ZuJDCJWfekf90f8Ashr/ALB+tIM+2ejR
KWtTqIdGIdGIwxkriSRRSOjGa2Lb0lImxDdErctuW3JRAsSItvR0saxSVvRvAmqwxdN1xEDwIgvS
3UqJ0IgaIL7mESTyepO8W4cjOQc9FKqOSwQaknqTPEXaL2PB7E8L2G7Y9gkpx7Dl7B+jQ49fwhtf
YDbh8De9kL+BgZL0UKNWkonf9meP6iDHyH5GJ/8AY/Cx+7CgJhYNsif/AEFFOffGpb4z8tH46PyE
Tf1oS/6Ry/aiPZ/jyQ2FEf7n9kafaYsrnoySSX5P0fnf+Ecfz/hvv9qLIzKnAdHVENoRHD9gklii
6IsIYl2jetyeSWSyZLcl7kvcTJHJR5HkclKW5PcnvQcxPc5mcjE+5zHOcxyTknJ6iFMjc6oORHh9
jmNFnAh8YuOgPaHFEjRROLRuMTEgn2e5xxb/AJn5Gbz+5zyTLD0Xol5UDW0eP2j2/aJ7wVK9Hgwa
vFcAW69j9ELd+xed/sL/AAj9Ibv7CsX+whpugvniKiTGv98f+uN/2n7In1fQfogpv4h+pH7tH6sL
/ZJX/OJn94m6T+Q8NFrCEm9CHex6CNRTsLgS6JJexeJgQpprRZpQ+hjoErir/W+0msSobRY/O0Pd
+6OZ7of6IhS5nbT6f+YnWDY9k/T9CBI/bz93P3U/cT9tEz+4X/5hBq9mflQnoPEhsQ0NxI20caLe
nSAclLlOQl1OUXRZFH52c5y9WUtm6Mz4JwTi0nCOEcA4xxDiHAOAQ3RwCO6FsCO9BHdC3kclKO9E
RyHQTTJEkD0FGxK2qKKI2Ek2yWav3OQcn3Ev+5n7IL/dDkvh3EGPdE7+wL/fH70L+0mt81XnnfAl
s0cHA9hf44qrPURc0khfyOqBF0QlXUgU0hkGBCbcl7ksuLyS5J3HqXRyHKOdTc45mc9C6OXkl0fh
C/QP1x+vDd/QP1Qnz7U/WR/4M/Tz9XNf4gtZlGn/AIw/8+moe8H7hi/3h+Rhs1lJo+oxfcDdp1qH
9eP14/Zo/ERP/mflo/UB/wCcj9A6d/6NpHP/AECB46BiZg04PMW9fLdkf78bftsvf2nI+5+xZ+0Y
o/5R+ykZ/wBmqtv7gfshztIvZ6crR74PtPwKP9Acr3R+7R+5Q1/4mv8AGfoCA7/3BB/aG9aw8d5k
f98/ej9iPwJ01IEMQ6MRAnkjpjsvs5rFGT0wTSKKqopNBE0ntQLssVUhEvotTmkGvRCRpWxHQxRM
bmqJpJzBPNIcsuS9x3MMlinfUnkkluyW7OQ5AtwTC7USEtyWSexbZENntR5ELIxURoPuYQsVnr1r
PYjqdGIQuiKrIqqiJJJpFdF2ppIyKPyMXQxY6o5reawQNClVwK4mOiIYuxBN4Qi5NHcQtOlUXSsd
WtFkwFTQ0ITd9xdECIrHbj6AujXsqOldV5q5opUUZkjoS6MVVLmENaLpXRAqSRSCxaiELqx0p9GS
DDpqYCwMTIJ71XRFL0lVXVFEMRFNaqsUg26LiJVb9CVV0IzSCOueldnXoWSKWGhpRVgsJ0egqJdK
GRqzYuSWJkb0o6IikmlFW4qSybCdJJ0eaajqhbnEdiemRdCF1x0z079ECNa61npm4u7BNVRd3Ug0
C6nii1FbNI6EKqWtZqqyYdbiqqKmtJPQd4S5ROHsc0tIjgx9nTU0EMVERz3o17e1YIpr0Ls60mni
igSJGKmvZTHJfqjqWvZToaCNK3FhdKMBoU1uLJKJHiidYrmipeiJEPSqIrgmi6VMlh2bJPREzSMy
5CjZB6ElSXuDxDjAVSoQxFnZ0SKs9KJpp06jJrcVESKiLiVYI6JJoiehdSrNqZYiR9CGYKiIEeOl
YI6XSw4mkYFms9huxGwk7EUbhVuaLtXzWWgjXbqWIUSQhCLSp8HhCky9uapFIjun4LlJ4pDHXxNx
/EMBEWt0vTWmoxGghfY6V0LogXcVG6x026ZrKJFii6JIfSMFrDJCR0bdieiehck106fFFSRUwaFj
Y0kTEvcZVKU3uZQRlGauiJEJD+c4c9A9hSIVEW7OhHYt2eDE9M8wLQQ1EDNLVxoqa01MK6HxXShv
brXZz2Ex016lSOtdG5Eirr1wRyKSCSTWsCF1ZJNHXJFLVlCrNEJk2610bF7HBInW80zSRCpoLohI
uKH9wMfACcFttclHO5TUgWtCgtBaD4PZXUqLpgmipAkOs1RKohOmvVqck9CpoJmvZ06NUkc02rFN
RUvcXIqQRzWWKiVL9UCFXQXVLprRUTpAxQYEKkdLReRoYnLL0F2fnRmotaLIhFNBfAR02F0IZmrM
dCNSCeyqx0T0osjWkD6WlF0omqEmWKzH2USqTdi6ESIikuBNUQqqiYiS4nSb9SpAVEiRDU2Euiet
CYkRpXQQ6owkTVUVdKLAqYucyIbnIjOpuepCSEjQnUvBNXKEOwpeBTLMkParTHgVb1hkk0uTBpJh
1KkkioxqeonXMnHRDrBdU2qqetE6LXohCrNINCGxtp4pYV6o5oqzRGCemVVdCYiTZLK5FXmiGLHW
XUlRF3rOB4uxbxyMncy/clNWcrJhllnLOYc0gBAM79sR0K53QmdETtXnMoXKIzyqdyeh+/gVDGeO
cq9iOL+0/Ehb/sPxoS/8l/8AqcdNc/0szr+O65aW5bjUHXgji+9Aj+5Bf6Ihbn3OXTLXenT6iN/y
H7w2HLZMfWFF/nIVyn7GX+OZvtiLQO8X6UsfwH6kXTt7Bfqlv+p+lEdzFygzr7C/f2T9ZSEIdz2x
43sk4lY/iYI9o5wsjot4XQtgcceyFYSoQnf2UT98Jp/uhN/vNr3iX+40NaIdU58kPPRPZVe0X7Ce
mwl7ksl7kvcl7kvdk7mTuJbs5jlHOOcPfHJOacw5pzDlnLOXV7n9FS/AjiexzL2OZexyr2PB7H4E
eP2PwI/AjgHGOMcI4uhnNxTi0DikthwzjHAoZH8JPwkh+xzfc5nuc73OZ7nK9zl9jqIgxOEcIWwe
A8PQCn5lSfmR+ZFr+hzew8hzP2Od+xyv2OV+xzPY5X7H5kfmQk/4Pzqj/EhVJXDFtjh0ThVCGVw/
c/cjI/YCXZ7kdnuTfH3J/ufnJL9zme9NaIeKvlF6a9hDJw8mNxCq8s11/hZzPc53ucT9x8nuP94f
7lByDmHKHUAHPOeckju9iAhA/KCH6H4QT/QbHgHG9jjnAOH1A2ZHIPwM5RzD8DPB7ng9zjXucb3O
N7i2HvX5EVD5aW94MfNOTQ8k5BzzmnMOZXA5xyDkHIonLrlcs5JzT9FTuTWi5p+qOSc45Qt0T3E4
yOQS2McHgcRPcNqKQk7weBEQ2OAS7HDScXXtstxnkJ9GPRn3qNaKiGfPNSIpNc9Se0Pz+C/mGpBB
BBAyIImh0ikUaIIIIohkEEUQRRK1Ik0IIIIEqZUQQQehFIIlkCVUNMwQQRSCERSCKRSCKRikCVYI
I6okSEIoj0Io1R0pCSIXBC2I4I2I4CFsIENiFsQ2OI4QtuLbHAjgRxjgHEF0ipf5h1iOys+EfJ/Y
Z6psIIki5oRT+qoIpBFSCKIYh0gggisdiOrXpVIIGiL0dGQRSKR9qQR0IgZtVdMUiqXSjpZBA6z0
pkmFRRVEk0dLU1JEOhnzRvqVVVJ8UWWDR1Y/A22kNjwETKWeRaRHagwumXqNbgE1ZEEqbl6WBKlK
RM3ckWvqwLk+sU+aew0XcR2OKR1UkTTHwxhVkHQHUWfA05vzHeQJxYzJghEibnAlv9EmSErmn/Ff
ISoJEF3eLQWWkaZStG5BBbpNolcKZO6i6MJhtRdpU1q/ptDC6Hjok/r6F1fRFUhdSo460KkDVGVE
iYdwmIW6daIfQe5JpVVXR8aWv2QeHSY+NtmyUlk3hQJxG4miR3Vxt4Sd2QdrubgjrZPbJyLvWAn4
bkbF8jbRRABLV+pP38Skr5QZdEvP7BrjbxFsJnt+9D3EDtvpWkR7pw0vlkafpZK0ZiyxZy4CtCJc
kyby7PAkzU9gm0EzbxWtUSMXC1La4rJU4N73M5CZTuDULwdD7GpFdewqIfQ/oV2I7Cquh9E0WOpE
9cjYnSSbU1phRU+9FSbCouhV+LHIco4WdyR8mkS9xKQJPCbSFkMmZXLMFrU7+SNJIRs5bVDunDId
xOJSTwSI1hsmmN85TTTTa6ZCQbWUj953MGGhvw8OSe1kLCXJFnWpjg1nYeA3tHS1/YghQnxP3HbJ
woslK8Fh8tJRqE1JZbgndi3x6B4F09RpDjYf7d2ep9i9ZXS+7r0adU1noTparrPQqzRMksSi1H0T
VU1NKHgVPhOiouuaJPjjQ7Vhf4S4+CbeUJ6IiYWwYnyTWNRWZaWqOMj6EQW9GnI9vNiiyFsK5+GL
usIcwuRzhgs3/IcK7kW5CgP10z+wzMg9XwkgC4G49HkvyYepp+wuwTtSX8odTcvfzFngPjvzApKe
Buj7j7y6H1R9J/dVTesC5rNL0fRFqSySRUzVUlGeiSelDwKn3AuldaexLn+fuWK+B2tq3YJ8IzGE
wmQtE/eSEEOyhKXPA+lM52iXGgoSYaZNoWo7oxJFkVkTE1C8gilJdFTM6G2REUvQew7X/WxvAylx
rQbP+HEnBfHdYo9OSrjA1HqJd6s3JfoydDZsfdVI77679lV1ER1adK6JothNXRKJFjpkl9K6n1wN
9CZgIZkDdtHzj8XkjorSbYSL2TNm5ouAnCWQkMb1cYvcWH8mtUXCCSRCS0zg02ybXiDTXGaXL0jU
dpEfJkjEyfA5ZSGdG5aHwybNoP5ZLNkSdDpHan6KB0nu3kh1Ok9ULqsWJJJ6F2NehGo6ITGRTWix
UYnQlSepCs/dx9xPafcVPHn/ACJLIZsCHEQKzs/dY0FmuX80TJJOKl9L8RuKbnCtW5ZBkV16FPqe
DWl6ExepZY2T9BoR2NO5pVfxSKrv36NBVuXJrHUiSSayT2orYNizRDExux8PoXZ+CxvUUKYTVy1G
00H/AAwSs0UnfnQb3z136P3GpH075M3WDF8yNz0PVtSjUS6ZvwWMLLXiPaR4tlgqVwuf2bGPsKj7
EdU/USNdGldOyuyuu/Tg5II6H2dOpDwIYiT7PTPTNcVKHH+TjW4/faM4bZuaEjywhbYSk2bBVUm7
QiYLlUjlzfMY6WX34aZU4HJEsvKBGdHkY49gp8D07ZBqOKPo/uk00VH0PBr3Z+jt161X0GOiepdC
cEakLftKmpNYoh4EMin8HWquk6GpzLV5BzUVrj8l0Lba7IRO6Xq4/sV1y2kpQx0uRfewmhlYF36J
tZn/AAskTYDVnkj2BQijK3ILl3hGPQb2n3Dy+uD++vSi+jv2mPo16dOqOm30EVWSEqKkR0T1T1MW
o8UYhmBjsTVRT1yeJD+Kph7EFoh5ezwy6Wm4tqOeNtktvUg1zqt7DZNENcSkzyN3gsFFxslWciHm
85vXGTvvSht1IINOmKakOkEdEOjNerUnvzV46NeifoZ670kTJ5LkuksToigeaRRE9rWiQxUKhRno
TsMTGKsHzg359iMp2pztAvS42r02F/DxDJI495XT/gWcosb6TQvcuOO8dKG1tq2vDFZVSkXOf6iy
keFf9i+qactNeBKkN7LyP3t4OCUKaLNHgnWm7bGME8zL4kXm/AOEMqxn+MvUNSdV2zDxJxkQ0FWL
zEhPwdiYNRqYk4Zehv13b8B2RGW3hEDZOkrP2CehSsRdy5J8tbs2L7j3snaFZrdNoYhMw+jbpXUu
5NJ6dOhdjUdZ7K56dSaLonSq6Mi7GlFgYhiGN73SqWrmvyp+DwKd+xLgJPXO9eEyKjXI9RXJ5pRo
IcHUm5zJp3sL/YimpkMbhLSSqTeXl2NwHPQQazlNifqKJbu4OYZFCmymV6Cu5O89QRDKxY65P1Lm
hvf2olULZBX8mtYMT/EjFSRtP4YHkGpGYU3iYwu6F5GxEyKEwPLiJSsu38mpG5Py2HHYN2pykNNS
UOKufuPzI9gv83EoeykW2Va1ohQjVNP2ZkZlYhIbZehpjVu0umPpdax3nWOmKwKirmkDpmrc9M0Q
6GKiGZAuhD6F0b8v9ictritFzGO0d1a3gU17jYgnHDskSjHBLdIZBqJqJfCbEQtpv7IQcmavAs+G
MSGkaqxEFbN2ifv+ZNCxs8gylkccfVcT4G3+2Ki9MJPAhMIcpiW0QkPuK3AklYeGmoXkTHUOYsvs
alwuDUJ3EM3ct4GLtscImWeZCbUsufbdEyLuqbZFk3IgEGORsLXsMb4ShWtSCHSIfRBH/OXZTvfq
WKNk1v2UMQyBiH1BUTrFfweT5n7DsJ1tI4gtekJf34wSWLWZ8tC9Ije5aCSH+3OqRGa82mjPuTnq
Z4eAgFwHaVn+iwXE8rqRutHwLCFIylZlNs1lvysZIT292ciZ5aIVnCS9hsU1wy2En3nui5qjv+y4
quGNHKsPrUlzMwOYLP7i7uRbEKuXW0NoQwLw4lqOdrx5uTuU0mzQ1xM0JvBDNXq25IJIklwuY9qx
qabNOCzPuR8B6AxL+hNy2ZLn8aZq2EYSRqRkUZelA4Nu/L0eI8iASiheGkL0GXMuE1X8kq8WmnBT
40NduWsbPv3FVdOvRPensXq6qmtSJcDILidb9SJGIdHkVPv9K7Gqif3AltCD0sgVm+DJdyxbx9gh
Rk03qoIhnHhb4I+wojy7FOVAl72zctn9GTWt6c4gjTiE1PlcjM5Ob/BBS2xLlaDVpR+pgbuZkpTh
tWfIlCrTX68iiiYwGgd/EsvJDbyZMkY3FlWsipUR/Rk/deHInjrYtWzkVIcw6/C9R30meCCfHpj5
BdalLcDUpRPsf0W3QGX+bU34NCaLGwl7Sz8bC2a3FzvBH2jvpk2WfqPBa25Ynq0gRelFp5bhTAxO
56SyJU0zFHQLwqsSfOR+XI1vwecAMS181S4gtyO4RZdewsFtw8XJ/faf8fWxSCOuehYpjuT0T0uh
iHXH5M9K6VT4IayCJgPljMiuwDmGPG5KtqSjniBT+S2L9RYPNoMqP8kijmjMJHR6OEoKscTsS7a/
5A0kqV4f2Nr9cnJkWc4gd4HaDBliRHFPCKlprUsT8mZITkbvgboSOJOgapXGLltCFHuTwwrFc3sI
bLNK5ZrAxO0rJn1OWWUsbDlJtt7tyyNUY5u2z2XeLGp/RMhsdZgk5QxsRXTZisnLCTpDcg5TdciK
NExx7jbajmqbTOFrJjHLbb3dX29OpdC7S6p6ZHVV16oNKLpTt0PoVE1Ri6dHd505NglMm5nxoMXT
p3oeBW5B+z+ye6BfKcbk+ZEF8BJf7A2wU8oWy2hTPAexZv8A2Es6HSLoYkkUjDaqQs3Y/jf39Tf7
L8tBOCJNcNjgXa9hNN88PVTpYcTEWN4+ovZ+4Ev1GkmqiNxuU5J23gTEouwMB8h4OB8VxmC9hA6f
ywsN0ms9TZp6Uz9fr0LtSLA6QRfsPrTUyPIqPgyxvsN2EOjzV/bJ7aPl0Smfk4cGOKnahORQXqhp
4gf1kbbOWxpYiF4Xgl5uOrtCgUrcUO7zvgxfvaURDGLkecU4OyvOIQts8an2I13p2rwWqVxy8m4v
InS0JC9WFZZKY4bw5HZjG77DWCrBHqa6yrpHByBRJU+7gZMyVGzSaS8Ftpr6xBed4tXiwm2E12LU
z0U2/SMC8s3lp2h7o7ef+A/+DqX6XVNoWBkEE2ilyLU1qTGIeaI+D0KiM9KJLzDD/Ny+etF1eCRR
PNJV4FruLKGhZeeHa/uWrzMPak80Pdct4yeicibZfEW6vA1FhhIoKMogr2ZNQvgkS8DCH+yS/ggb
xZJsp8CcK6lLUpNMfVa6Fr0JGTWggovkewGMqXd8IaWN4lE4C0xKPHRNZ78fUruz12NasXQqvtST
R5JHR5prVe0lXLJg3a/aJBfcJeJWfg4EzVlxhiRWZz/nkkUTGBN/Q/oRRala5vufOfZkJcq1whfa
bWL5EzUpMcxJFHMpyVZ5UNCabODQoIM/5G5J+dLusz8fo5Hqvb+CzZd+GtR+RvQ+lY5rEmkR3mkv
gYqM5b2lk1uRCJaD1/TtQrtKOL7LvuuL4F3dy1Br2pcLBB9Jgsmv+nPdfQuiautyeh9qBioiL9ml
joivwB7S+5E6tvYQtLAmsYCdDu53EtQNuE9x3gjLHkmiDI2zFYqahuC96TW9SDxqLMq0kJqVEpXL
WF+LLp4FnNUq2MP8n9kushpDiyMzURrY3fg0JhyC7otaTkQsAE3tRdG11r+COCk/oEEZLcDh3eGt
9iAYvfT9CNa6bzLH9C+h/Rz1v6xUgirpI6vpVCHmmvWy6F0/Cn57kx+aadKrPVJJNbPImlhQNiSR
MNkm/e17KcJ1t0aUXcTyDyT0R27sagXRNbdG9VPRPUiaTViHmmtEfC7sadJbSC/Qh9c9xiY+h9x1
f/KmDPckYiKR3Uh4prTWvwKOqqulIRcyQCEpjluKdLU5IIoh1z0T1r+Ot/Rv6BfUT2JrHauT1I6n
060VEJ2QuhdSFk+VGGW1+MjuPV43FgY3C822Y/zrUyFvGLW0uEl1FeZ42GOlu2FlNSMlEo4KEIH2
F2X2o+mXaXeii709mDHbiq6VlryR0LrQsny9MT30fPcaW3m6fCNSvCH92JBxWrTa3C4VuxhEF4Hd
K3Cp5hCa+Uf5EI1cCmzERqb9pNXGeuOpliOqO3P0z+hf1MUePoHgVUMyXmq6HVCoi23qyX4mC1es
CtmRXwHDIk7XnVMTyvSS+DiDFfUs8Mb1plnAh2dodIFAKyXqTyG8KUkli/lYlE1T5a0pg8k05QkK
8sWU5I7dEYcx4Go8FnSCCGaohKCynqfc07j+nVZ6EPHWhiJ46F1pd3SvyOldSFT5zHeaMFlLu42Q
lppDTbwTChTZQJa47axDAziaI0P0GNwtngfX0jSLbiMzZrNrO7HciTYUNOELTGEpNI4GMieuq+Js
XP8AnkyMceTGrS6hnyJWTtP5M1Se+yUjX57yDC1u4vuLCu+lYmbkZXA/+Uwu/Au1cphuLjNM2mpJ
ryGqFLTEytyNXim1+OCf3vR9xFxrIvVYr+4q+cRYZkX88luhYU/dH+QRblOmKG1v/wBtVnqd+hdE
990TVnxxqxZ6F1oWPUMz8WHrPVKcI1ICd5d5IuHcMTQsQ3XF91YSGlMJJaJCHaJI31L+WRXPQhql
9nIhEPZrGy2J27lmryJJznT9C/8AEXrsaFEnlCfEeaIiH6k+ac+QaVsXZQ7P4EztE+CFIuKmpcMh
CgQ0vJMQ/hMGWXKLjpmTrWV+fsRuR7krbCKItnBrp3+4w1KnKGODUb5nmO6ts7CY/VhDZotsJbWM
zA2BgaJuM+KVp/jjs6Va/wCOuxHXPQ+xPdeBPp+T1qqJrb4S0I3zI0xBpFe2kuI+JEM1FKa2EY2T
TThp5TEZlmEyJjK5MzSP1sLE1mBp/JGqavPVyIkHrG0p10E20auZpREXrcQmL0GsSSDz6kmFpRbs
doa7F/RtEcRwTYExvIiyeo5jTYI5QJ9Hpng7RoNzVJy/0CsJCSQpWu3LBcbPM8hAEtnZLdkTU7UO
Ce1P/FVdOmaT9TNYIqxBiNafMreioqsRJktAyLAj8QYbcXghIhqBNScJnOokZD9A8kBEl1uqXAe5
N2keqWESj3Te1sJjslb1Ghu0mwzCsITZybSxGkEeSa7tSFxxyXRicGsY8ySYZiXf5BL5tm3v/UxL
EDnhtlrajtqlTaBTDxS81C5LWLDIen9o+2GHqh5al2YRRZnrP/QREWjgnrEIrkTNZF68aSty42no
tCT41KQFZVXej/4q+rX09+pD7bz0Jfl3LioKu8lCmvijCLORms6QKNalF0mS/wBS2xlkNI0/Ap+D
YIyAtsv3JKHknM8mJwnqHS6jK4vJJacGfxMIAQNONssaFFMPGgW4ZkXxczLGubiVcp/YXoXBBhuF
HTFtfNGwVVLMYGsOJunWeBvkLb7egSo8Aer1G+4lTedkMhznKH0c0nyVlxlMYWFlMxCnW2pq42nW
FhL5oU6BkVJglPpA/wDhwY7k/wDKVUOh16F0qipLXiCVd/uCWkUXkOdKWcOE3F9l+HkUj0vG5J8T
hoktN8cjkkJYTcv4IpqTDNPg7CLUnvXwKcsw28wLaubxA/Ush5Jy8M1gOU5gwJBTe1PnBGifd4G5
uRV28Eov2WmDgmNY3ay+oHeQyBPMo0Gt5aXeDJo5vHREKZiPSx+aZ2ImVmSNkkslkht9BNZsT/wF
2kqR3XWe9cdNcjsTRCuPHhEJzxm/USXP34FTLJGJ+Jc7BJuIh9gshKoPd+iGmTpPl6Ettam29S6H
w3vqkqBYuGdZeR5bqUkREuW/RJKRJcrZI2JgT65qQ4cUveWAR7Gy7y1cmYUQ2SkX3dd9nYI3lt9d
/YxUsg4RE1eFmdCEZXbWTwL1XMLlP+w8OlrAvMnsBnQeav8A4OlXXX6ma6/SvrdNRmHwJ9K6EYoq
Jc/8pLUvAmU8mOIJWu/ctSSZvchVXGEmQ5TZprDThoygICzCOkIOnNJy/UifZmJL054KODhWpGZ5
ci4JCFi9BK8xDlbXI6JlKw2XbamGvkdYakUJK/oN+fCWRDL7N8H6DBkhZKyHV/8AQX0U9bII+iRr
VrT7Yu4maEpkWD6MOZYhW47bj1Fi58mw8FZJNr+i0myhqIkrbJwHFW+0xBujVRj7Fkt6SPsvuOCT
g2XfEkDSNeUpscq7vDLwPFGUw1iYFPD2pPQyaSSP/wACsdhdKZP0SNRiHT7VZ6kIVNV5RZ4Yht+I
SKtG7KoPBSJSlDvwbelkMrsbml/Yix2tfsWsuwb1a0Mr5fRi+nkwg2sSsyhuI5yfJZ55Ir4I9ZY3
GlzTi0tfYTmQbc2rW+sCrOQ1zOg7h9/Ww0mla14X/gYrH177K6HkXRC61VKWvKMHj9hW48kuZksZ
JtS2KS55LN0Sjd5w2boUk8EkC683Eo/gYWmSlpE9momUyBOVZAQrIkOkECRBDJorMI0/kd4sJscE
EOcM9nBDmyb9DncgisEECvhjaWo1GWLgbScN0arHXHRBbpgiupF6IIIpHb9O3btvPadENEHxOhdC
qnRfIh/x4GNRpzJ8sgnc8SOkbOw4nQxHfW3cMVxNDf4EXeBeWhpwyh6NXkW7FnTgRzMzfJa4odOE
9CfRXJnpeXkkkRJOvJO5HfvzsGBrheB+zEbU5ourCYzJjbk3vYnunbU7BfbL2b3DZdEo90ZHCt+B
DPtWSRThb+RmXZuz2IFFzbdlZR6jclsqJiWfYWJJ8M8hp1W4hWZG+y7FKbV17lx/CTbyXjAcHRCR
BM8U8EZgRPfA9svcZDqLUxN5xBaW86A2IkbcNh34HCMcp9wVIjl6b3IEVvVA0/mklepZGEF2m3fQ
mFTca2WA3KWjUk1IImDS5Vh0PfqcyWGBiUwet5XX4NfFOaRKyZAFfV8D+5VxL9w/9tlmuyci/fRL
b5BDXEyOWP8AS2nLsEUnyDaTYk2N+pl1L964vfCL2p8EUC5N/aC8wRYufYsCjndWfc5AG0q4k6Xp
Brtktw2pcNRA7DOo2ppS8iWRNFcX1UNWaejJzqxoXvnluMiVOGVh3C6CTO55S1QvPMjW93AmjvJc
3dhL5MRI2kkzKWjkiKsk8sTlLx2Z+vQ6IdFBdM9SLvIWcL/YR+wckMbYmyx/YMxiN+BKO0ngPDyv
D+w+PyYMKS08RuEqByt9pqbJJ/Km204FJjTOLFkMq8mC9erNBBRVmEteeKfsmMXJEqY2LaowlLe6
w5nMpQ1aF4Lsxn1E5Rbfs4hrcOpWYzdNjZ5VonqXZtbY5o7IYxuG4YJxvO7WT+SRUDotz/gjjWVp
Z3EBkG6JX+CVAUwOfUVhlvZVinccUrYfO49B1DjI8a8JwLXcSk4Y2spGkXfA7BzBIrPAskifxYd3
8hdalu1HFNQRIm23Ccip1+rREmmJbdMd1lqPa5blkp6Nyif3xNw1A53ebXYm7UpS9l0WeQe16DJ3
FE/YFheCyecPZYszzUPOQ1mf3De/lDIInY5uLBabfJu+xLRNV/CC2l4TqlA9fZp650XmE0zD0Ckp
rR6pwQDOWlp5atsZwXt9wO9MbOLDd5O9GnyfHDSrrLCm4hjZJLLYnQEPDnMjcT6k+O2hBCupvNn1
Nvv9helS+aSkFbM7HgaizrOEksKrdiw1hySl17V6yOh48MciKzbK1H3Ls26Vb5HAnsfRX+mRNEMn
uM0+OG+X7D9Vs4hLJDcEnqQ3JmhlCT2aaEF4d5CGt5iLoJs8CewbeV7BOWg2t6WYu9EjXR35NJQ0
RIszGYjccQnJK3J3ZHxoZGcmYWHJIp7upOZLuKRp31Q24EhWYpbSSbbQksti0TQocl3peuwmEOGl
RPBOSS+xZYtvKcSRpA0tlRGvybE+RCNFj0FJbZCWEjvFsUUSf0MSHD1Zi8iac67mbdmk1DLwONI/
JZWpRMsctjLcj1MaejQ1oUbMYr9a/wDIIEpvLy5jnZCbriJJYtGP7id8vJr7DSPAzuhIbXEu5SzN
HiWIY3HqbuzVoKGZX8li0fe/kOj5spsy3a3slC8D03bTbcg0SZm6cCJptTzeJBJKS0mJTMl5SnwT
2+Vr/wCS3pEXIggm+RGXamGblDCzMps0NobhwtlguIADiYagakZomJ0kacJm2Ski7TTTWU7NEcUT
skxt6CKV27ET9HPbkkTYkdWOhdCqj4ClfmcUhiSl2XIwMMs9CI21lm61IyqFwebHoZ/iTSWRAo/j
cCaTLBn6KBWPn2t5W2DUq5NCDsfgcBuk8kOErCavWTheQ79GXN0FuWRqLRvA/aSQ8FwKvEfxC44L
PzbBmNncs6m1aVpvmR5zXlYaaUiw9K61OySb1dYoU8/Ispl0e2k3Nu60yfjcD7u/AfrWMzIDeDIH
kNjiJGNCm2vuMibmbu70FbCbSdjk1C7pZWR5bkKQtRxiJc5SZPmrS1vgWoeXLueBJ2kmpxUqzGU2
/deGhLVbSWFyTdvlYO3kmwm7dyI16ceTBtdVXaWaCm0k8aWrZNsayvEeCfUVRlxdal/ZZZ0tLsCy
MsxPOj1Hut4sJCbPwgfZKGnu7CiFfhfA/UhvsXGa0Z9RTVuDVBcrOiD4aT2WOJfQs+bEQiU4cW4L
YckbVZTayhuT8RBLTwotckLw5pQWCyvrMOtPHERfGSTgvvkaWomIw/Yuh7iflbEFEuJXlh3ifLsC
JO+xZ83ENJJi6u40Y1SKVZNEmLhZxcfwKr4bGdSG0l7cG5I4Xvn1HJw1UeIjjSN58KxLZaglZ8jk
KUaFZMk92SxXTW5HFLOA19FHZjozcmjbJPndEC6F0JPgHpZPsSWiTSa0ZT9BhnI1Zaa+RvuZT3uN
xx2bazcYBLZtt2yxZzkwxpJSdriqAcw8h9iIyS0jByxQEvSmBk1LnMXvYhLwP1fgQZHu3ZaK+xm+
DL2Me9bpT7F6C24imGYrmULwoERPqRlZq3qQ2WmvsNkwAErYMwrUsV43HhFz+pyMy1MPAkE+FVHu
I7sDS7pqfIrXLUjHG1I40omJ8i2jadmz4liD98NrVJHe/rs7CW94lZ8mOfcic2k1k+FA/Im2tL5I
uKPKcLEJS5xcTbnbccNuOUjhhV5Fsc4bJwhCHVmE7gvJermY3J3q2ZzMpcDu18iS8LYgpEUbYF0z
FTeeBM5BI5wz7CntchPCgkd75d/+i4bWlLTxHBFpKyt19TNuTuJw11F390nNtBYLUlchFZQvTLcB
L7Ib8GnMT/uWgvVls4VLTeQTS78heIyKE3DthOwh3iN4JHcnzLc5E8h2CFjVIxjzDEE9FKrlJfyG
S/1TtcuJxk1MpRFzFY23lbzuXZw39pCyLSSYpKmwsy/dxqPBa42TJTMf0eeDFKH/ACR2TCG8kbMW
rpwF1muS4suhcQVqYmvULaoRRtr9RNxYSSNdOpOI55WdDWbnTK65LKsbmvuDUy2ymd8isadUDThu
Ix1ErJd9jX6ZdmROg70+T2VHR8CMMiBPFLjBn+zElIe7SfyMt7wvctVUpcI3S7LNs3Wo/BaZbs1O
o7FsuR5IFqiBcs2LMss+3OGiekD2uqSSyabdwzBPHww05UjLsyViGDUNzfYbyJuxG6l8DHt5qVWG
/kiEG+D4IWitd3pudbksTER6pmXeRvCx5Lw3DhajgvnlApnY+A3YQWg0w2GHgcLLLfsytIa5t3Ti
Mj2gKGZko7LE/Qi8MlszOIPkSvTQPYkHhiThGSDLnhRDVBZ5G00Q2EiVgnueRJUzE1MhuSJpkidD
MjUSdMyYmJkhuyRQHLnNDEp5SlZHQkTJ0ydE+gvX/gqiZJm891fbDHfGJPUWVlbDaSW4JWrOOTl6
HLLhDth5lI142JJI4yZ4s0ZK5+SFXcrJNBwPPnKH1RNiZTb1MD3lu7mKQj+9xx5/hyTvikhsiWN7
FnF94PNt/fsmsD2aNaMhyJ3PKBpTXdrS6uTpRuVmY0CwsT7RoL+Rc4MJxvcVS0yflpmkKI4gk+Ea
ZSsTaxWmzbCLZTdfhjqT5mU2Ba9o91ps+VxFd4RrUrQ+0GWlHbXsrjLdkV5+Rqb85FiXoWsyVzIm
I2IVXL2Es7ssmWppIMwwyYvWvGzgad4hJXpqOKhg4/cwiTa5bfzGgrfKNNv2SNPpN6609d+maz0S
TWeie9NV9euiT5H1SJ9V3hD3eY4OhIayKtCazvkYh2jShvs9p4xsNiBNQ1wOH9CuBCaezG+R7EWq
17H9yI1excni1EkvsQKqWSkbGYlt6vodrEo5RG5gmLvuXZJN+T1Hr14Kx8IcGO5hEkNOxrSFa3cs
7EL90xrZJLp7iRXJyRoejLRFS5wKJaS7vcSvV+DkSZvvl3Lwj3bexqZ+OMDIe4iCISW9/AhkzdrP
uTO82iGxzd/ibcWRqDkIbzHuOSjGeTaIfOFyzyW9x2lApPxykWEQfYaLxC7W28CUWt2+A5EQzPNv
AtK3sq75II5TRi/XJPdfenoX0Mz9DPX8qs9K6EJPkH/LkVxelv3C7PeUb9S1RKUGO20LExrW0TMb
wsGWx6kMg55zBTYYVbgdGiwR29BTxohePTcNMMv8JA07i02v7C97+ij33IVkoJ+RUYjqxZDkfZOc
7Me3I0PyhHDvyjIqM+xQrrjxeuVrkteCfhiWs3ks80sQDaX8mQYWH7Buj5VCa+EiyT+I8bw4qBkj
dJJJokkkmiVEk0SSNqJ6J7E/QL6lP6SO5l0qswMb6W0Qpx5EFBXH/MsbHothU9id5ZmB4/7+BdTK
bTF/I2ubZkWaisDuUmdrYuNYJ9MgmdVhhX3GKuMMzLbIXcqv7nYaXP2YyKV7d41MtXJsoLzlKm3g
+G+xPFpunI4EEvQR7aJTDlqxoIU14TQgYy8kb8srcgT8TF3a3Kw+jkeaE85gh+XoPP1L/wDGp2WO
ho8g3vo1iEjRGMKBw8oJpYUEwStiCUQKf+ZkJpaYKHuNWbsoHoSyjYV1wCaJtgTtryPdQ3TYQMen
m+/mktc8yaF93MO1L9CGyukNeJIEUOkmjS4FaUM5VyKLWmZ4OwgYJKTZwC6kMSwNZNZDXYn/ALEf
8azwd1R+A+4jlyrHGsDvyBddAtGJS1kP+6y8iwbKXMvJOPA5IIhgiwtZbTrULGjKScZEQRSK0YgU
FsIb1gmOhN8s4L2OCojQV3AyuzaMic6CziZ8k6CcyxNjY8uEcTpghLuUP4SbeXoh3Fs5/Bl/IJBi
eSXILKHipi/kl4FGi0j+DHU8VKbzEGa4qsiFuOT+aJZu+/K6Z7c/TT9NH/I+HRVnpmmpd5g8eGQG
m0cTrI1hLRsHVOPBde41JwRzB+4v69leydsCdlJNX7M/2Dk1MpsTJNOl33ljdMk08GkLvKTYDwQx
yLWrw7NSOsWeqnk0LnAiW44sP6E6me9vhjuqzeNwnF66I3mBErJKXg948SemTFAJXHkMN5KJtDV4
9UYY8FxTzEGDrW9UtZlMpp5UqBE8AqKeDyNaOh1K1ieBD4pP/PRCP+jB8AXWuiDCVrk1pNM6HWaE
MDmXEkrZdDaSRNErlKW+3oYpJgwiVsZEFoR6I6T/AN6f+F8Lu/Onwp9ntTSaTSSemSey/wDvrtrs
Szz895ZPjd27y6Sj9n1k9U1nuvon/qa9a+gweOtdheYtgzdI3zDVjWNxMSaTdNAmtpMayouhtYzy
UELumqEpJ4Xwm21iL/XT257s/wDSXfWTBeO6tyb3VEschX2+24GJ0UTe25XwVxyCwFqeqYIbRFLR
oJg9JmoWdxyvD5zuxr/gT2J+tn/lT2MXkWET2ET0Rveivl7jIgfOsLTXyRudknL+Rd6JIss8Dg9a
tufEUqL61zH5MFmFK51KV5gSoupqxYdYrBFH0wXIpBH0M9yf+HNVVVXRPRPXPd+V1LpVUs9CJYJY
3KX3FycRtLKyzcYMAiuIEllOJs1PoJI5gWsCkgd3iF3GhNoTgZYemUji28ksPsTBA4LCKmElwRrT
0Bzqt7FmRZBGaExa2HJzeNxxt21u2IEqbtzMalJdh7SQRW+gIUm1Q1ScSxthRs+4mThlYvYgolhx
R5XuidtTFhGF6JJ2yPfWTwskGo7yH/5H5ve+yoPzeK+2ozMGXDK7GpNTP2ZO3BFMP22iatYXTXfT
PEiDqZuX+xJot+QSyfGYi8SkawuHt6C0jJtbC8w2OUokmmvMQS1Fj5jCLRrbnhLjlS8ZSiYWLTB8
oF4U5OREkrCgvk+YL4nUtuRTCk8LK32kHbhyndEIDRxuDMowfAsuqNmggoZGBff/AJE96fp19Ej4
YaJ7n2picMVZtEiPk4tZZ/c4cSCNF4jOFhCk+lzEJfYkiz4lBktC98Y3Soe0WbBsTfI3ssyiwblL
2dH5bLp3Q6NxRZBIgHjNMEO1cUKOmgDNrwSpFKUyiDSvkTnHLKS+Zjg9EbmHRZnZyuApCVJc3M9L
YjsfIth34n9RfMNfIeKPJkgOsq7X6F4/qZ78/wDLv3Pmd7O5R8gYy2mti3pcHm3I/wBgOckifsQK
T5l9GiSydHZ6iP6VNS2voNFzg0v4EpkLb2vATpdqSYtwLyzCKzexB3lTDuHuOez8CE7j4MJ46sQ/
GwsxIjFJE5aGwu21TZwxfXeLyizzgutQGPcemRod8F/VeJ5SE9MELaJuP2QnaoEWGYnFvakxj0uU
p9zSj1FED2hTwxEvrQuI2GcLJt3lR/8AiZ6vmUXWupMTmITG8fbEpp6oaWJilTu0XnCJtC0i7tuD
vhUgdRIrbocsoz/El/IwbMuAVbKJz5ORUedJTqwYuEMbORdx97+ybjL1k3t9ZEbTYhYykWHzsIhz
Pef2JTkm7ZuIHNLAIJrcZnAklPLhzLE8jLqbnjUuNITcZcMjr5PZuxooTDeBQkpJ+WD0IpxaP9GB
JlP65LcMrdlgNjIgzfQa+ZMyM0o+2+iO4n2Y+gntKq+kXUpuq7C6CiSSJu7uJpr6EzTlytZuRtvz
uWQ1kxLmiBpdsmRw+i7MHAmSP7mo9mYMjKy2lnMdTtC8lMJON7TMtuWxO6E7Q9YmFBvMcvIulLil
rNajf/kI4CdtRMiTFZKx/qaMZ2wxZ7jT34AIUp8VyyfwToQU6YVmNrj4issvAlTu7CFqNV6Wf3HV
H6v6KaTb/mT0p9p1X1rG1l+ZZRFhGTqc4xwfjogk2ysRu5NSnvXaKPhWzCTZjTxRyPYQtclWTRJj
guqPn4qmcWGRtLjBDMDC6LOxO0o1RGPMF+XBFSpmk1mSKq7wrqEjlPmSuLaR5ZMuTe4muph967rU
W0yzhItAreHbGzRhvwTtBMNjyL+pFOa13Fv6bYrYsN9L6YF9A/ql9JPXJPXNJpIvpIq1vEIG7Xc/
ghKZWiW9mTtdxN33j+u4UkjexnuVMQNa+C1xdrqRtxK1KGKjGzOaMsiVEC7Z2DrIL0Mmm0psPYkp
JJWEMGQGXOyyafD1LwXFnVJItGmCHWbdDPbBNTvA961vvOAU/kPgRoSUdh+LDtiJkl7MxybmkaDL
4YN8Jkzw21d4YnUFcJayHmwz90WwShaXhhChXiPYt9Ah0en0k9yf+tTXAIv0hXSbLsxSGwjgxghD
gCtsQtkNbKi4DafoeBDYhsbViiSVpYtUGw370n6efoZpPYT70/8AF+x0rs/IPgSIOG25bkJOkzMI
DuRQSt4SnfhMT50SzHJ4Hwe3tqNT8jnyKnb5PuHxprq/NtCWteE2WstDg2tY/Rkag56DMRMQSs9L
DSqyVrTFgkms9lUjtv8A6U0nszWfplv8dKIquhFnqjz4SICxK1q/kfMHvI4IbIq1b+gw8Nruk7PA
jjthhsSapLmu9Au3RR1uI0FGaXI82ixYRcQvBskFvPscO1ciwnDvP8IuoLrC5P63JDCorjy2GuOr
IpHVBHRBh9dHVHajvIn/AIPwKKO593ScwsTJcwO+gieSS56n2jS5J2S7txsSxuiNrWbaBCd2HFy0
uuHdTQzIxCItPwnMyTGIuTJ0TLNkl3gg3P8AIiOSwsZMuY74IcpA07rwNM3gkx4GyY2pgTru8sQk
hv7OYXxyTPiObtUwhuBNNOGuSL/UedViK0ukmSJkqJHBikl1PAmTJ0Sk4DaZroEtPrKSSCGYED/5
nwume1/sB9tSHK3Noyas5cCIjlaKjxI5y5aG73QWP2JfGgpjskNcEJI5tWT0aQh4aopK0UMTZUK6
RLuO+xNkJ3BJYt4LQPJBJPp+RHZaw5v60W/y+wjfEq9xbDME4TZQMrd73LGYW62CZLFxzts9iTIG
BrG9txQO0uHt6Dok0hMWO4nNBZzsa3NTd9RkEt5oJsYyTbx5MBuyekjIErLUI1ltLy0MLQdZc5kd
NkaRgM3sy9B5gdq/qh/JDW1E6EmEppyRdDFjYGtUrGuDkibRyZbZxYsPK7xnR0k6pJpp+gFVcPJ5
E3vOuA+C9OnN8g4m8bxrkdgacjehE+CScRkzBMlac1QnbZ8FuIv+y95stNyHvA14DpMQch5FOY59
BwS2niT9hO7hq9aSsNWI3wxc5rOHZkUKx4XRe/nyeo7VbE75xFhxcE2lsEW0RP8AwFU1JPIwXui5
bUyegr4hxPqb+HjApMXZSlPgdA1V0mz35E9cs2Jn8ibWEWhM/oFcIDW5IRblD2G4sUx8pL3vc1Hw
LIn1wJbQSaTVMf0y7Ei6UT15+HUux8QcT7ZeTaSD5dpoz9+BItZ7hdcamV9RO4S3B2Xktea0xM/1
F46DVzca3EUsNPUfsYxQvkxBZLh7Db85rVvFGlqI2KM26wmgWXs1F5fgbo42VqFYgxUIsDOL25DF
GlZwRcbeP2iccLL+fUmJwbcJ6ibb68bfZmWzJl1R858ESnSu9g6Et8dngyR7Zec+wqjpI190a47I
K21I55i4wiurw1CZ1JCuOsqciMAo8JzyshmXpew9LmZmhkscoJz0E3bvwO6xbVWc7EskrKk5cE62
bzYvkXills+oScl05aRbOB+k5FBsPyQE2FywmBvMNDLEOeTNMn6Z5eC0GhKlQxvbYJqxuLRXTNLy
TQm2JOTYxbRoVoUbijLsjuve0CVbfXNe6gVwqvow+1zWt2ciVFUzTaURYeYts6+qkXt4pmlrmmxo
dGd0CdIE+MhV0+GBDHA0Qvudi6Y8n6GR1UtGj2C/XTamRZNRF3f0PYkgLS5Ynhh6dEWcEur2STNO
aDXKw1+z1VvwHx7LuWv8j1TPE2jT6C9RKal/CkUIzvvjIlEVllaWqjX6qey/pYJM7aJD5F+Lu0OS
KZ9gkUpnoZAXke80Jw1HPBY38qRwK6nIvcwqF2IuJaJL8+SELF6RglDclJFSm+7UUCRJ2P1GLxZN
2TgkgDi2H5JjhOCiR6s1v6DXZLt6Zgu6WjVHqWMlkkhGHtUCVRq4a4NJD2mJD2hyMLXIYiRAbNBl
2cJHITXEXEXic0tVG5kKRAmT2IdSSC5K8UjbcIeHgTckNiT2HLo0SRIi81Apas6ENR9ZgRIoFycC
3KbtAyyegSYJEHfJPBPQNESgXCErDRM+OCTnYGREwy5Q1mmj3EyZMvbM4mUh3duE7M9tUmmO2lm7
C6Z1LC+bFYiFp8GgPgBisnQPn3uNs+5Nfi2CJeLx5M+TeLb+425oGbCT4M09RG1eG9GosV3dkIgp
+EFztUljTBZXLk8TKFZqPCWTQ9EJVbQImk3OFBZ6f3o/F7CGyJN9S8Z2IabqOKY39CQkmbR+Ansm
u6seSzsd7NRUpw41SPwG7MiNZwUEv5J8kMb/ACajd5pY8Caw2tNchlJTNSsIQPgmhu7gkXb/APAd
dqYkqLCdL0Zj4A2MSSY63GG9okngkpbiYkY1NuUxOhNM7iQTV1o24FILsOdjE2mWv88Fm5KROJUT
9BWYi+a1Umbl/Lye21qWF95BPE2N9NpPk/5DSvBLabQ0wlOp/YSBBNUblPwRnSzMQIPWRKVzHHQs
5JioicH7KIdhLrLYv1DqzKHRu5lul+Rf6PRqjEyvMP13JMBVRqwyMtciAb3gAt8k2u4aD4yw1nEI
JdovINeBvR36bMn4TcY0hxaonPJsMjvhaZwbsvBbrm5xYtKUcC74mS9wpMNl2wSU56n5FHghX6GO
0PkLxlq3tATvJ1JQUvQlL2pLqMkFUTluVvcm/EuUi++E9qSe/fsfM7k0j2Q8+USrlKZ3QtoOP+PB
Fut6v4LiVe8/JurC3C7WbPJi1jOUMtLWH4IbDPn98FsLunjxAgsEhfCbHymruiPg9UiSVMgmTjgQ
NFq0vYRzFTNXfItPrdlMTAuAr9NJLEK86DHPFMoXI90nS8lZE0kRMMh/FzZx5kcHSntZiiDm8exM
ezO6SJYquWLbwRJbeSIUjckLYgsKlzhoi78i3umNKU1iC3yXBZnyTHTBssalv93DwXANJpIa21Z+
5K2W4kmJNhHosixstXqKItDLcXYcW2mmwUbSeKFgsoh3I40Llu7m9JEExCdDMcs0q2db1YplIlks
siVBy5PgkaLMi5KM7RpQ/JClExJPlaCxQxuZiIi4i401NO8STMJ9lM7LCMVgmJ+o5Kwb8SLMjcCc
B/yUrZHwKUC1wcob3EJpx9iY6PxoTVsLiYX1rML26Nza28C5nrXd/Ul4cCxyCa6ZpoEIQNgWc96I
4J5bLN6yDfAXUieR/I9iyX4NMo0rV7FygnG0XNOxd/AX3pctZNaKhcCVcydMEegJTO38ERyaRw16
hchLxR4tKQ8yYyFKEt3kpJGtpOfIiKC7bNkkS0TW61WJhsMxKw1A7Gr6fQJ9c9zJ5ou45hOB8uQ7
sA2ix4JypFwxqUkJ01MNNDG9pGU1DQiRE3KEQn7GllaZLpbl7/uDfwatgMOzMc+JI2RYkIlUuS6N
MyC9RBLOWYwWc9Ana/hMZRDLcDCL3kXXBGcyhkfI2yR7TjcwkgmShkiUJTMi2lN9DbyS9q6yjBcW
07k1l6jbA4LSCtlj9TWEI1RC9iNKJbNAFK/kiGRaR2hRI6MyvRBBIgYaqTUyonTMbkyJnMSpkYFW
zJN9FbkiYfJ72Ev7LdRsYk6dJPoEt6XQnvr6P73SuwqCy5/lSFMwOSDTV0y+GStyloLmD7pnkS41
/wDKCacS9Ink5bM3ZzUWmHLxOxH2OFWTHoYC1X5GOuCXkIihLWiPWnwTAPd/MDRP8tYkOBLjBIJO
6y3LMja2GDHKN+DDWXWNFwahPpDUMfl0FnEUi5SHwtKlNoLkxwZkWIkPyQ16ofe3Eh2JhiTe98Qx
qZSepcMTfCNLwbaojVbi0C8Qwam6F+4aJ7xMjEC93Atv8ubgaXcw9FASEahlGhR/cGKDLGNZQuvs
lYgO1S6m3PBDJ6nexdVJYkDq1CVP1Di+2lHWSaTWemeiSemeiSSa2pJJNZ65JJ+stR891ZRp/GBN
MsyFE5Oc5eT8TEBc7d1tTsXC4WWnL+SfMyi2EuKX7+CWn7ijHbKVbVYdV22H/Z+CfyK/o/D9Bzyr
1VL5Ml6LJOyTZtykaXJ1onV0ol2mtpFYzRm4lO18Cyl8cXk2Jd5ZLactkZE7QzVGbAwuqSe4aakX
SuuEvBbRJF5fwWxct5j8k+Nl8UufI3irmc/Gg2mYzr+EcEhUYtAvpqKZmBcIHYxLcBSza3kaJDDl
NxiXLJr0GWhSvZFCPzMnInZSbwePECbAte0jWz09ceC6mFzuzQihTwvXyQ/vPqGt64RksZKYl2l8
EjbeXnrnpdJ657k1noknokfenqn6ULqDXYS4SB7FIo7bnPISe4eJ+IztUMvFi6O06tVJnZit8S+B
SEuS2xgPBrvX/wAizwlsHi+pd4mW7fySvCK+AcdUTLd7wMUvQuUSeoteheCsQ0g2Za7CZoSltwj8
pC2XMfcXzZEtFlNCwkkcNMQpOebtx7CtL2UpDXpqYgxgRQGDSQ0KTkrSNEPWm43Y6ySSSxtkupKi
RJNEiSWT9Eh9qfo46Z6J76dJ71QujF5MCU3hGp2ljEL0SuTyPmiSFpJaKFZehZnD7lDq9EpvBuUR
O334s5G833E492yGWzpYfHLI3sngEe/Jbp9Q4b8tk3dduCtaPQvos/hJUci8PzOQv8ORPzdaQO4t
HYRrPljsbV2BMBE8Huht5QofAWpxh3FiGaue57WbIEyt50Q9yU7/AKky8zfMehbHJQUwoMi30M0n
6rX/AIi+hX2Ohdn5p90IaGhCwePIhZ6f4LpzmLP7jcmz3CcGWYhPPkQjVt13yLGJBtVujLo7CQkr
obZUb8Bfr051eo47qhM2D8mkx+lKjbAzG5K8jms4Eo9SQqNfAeWZzf8AsaPxR7hq7DO6GSFfoVyz
QnO3BecNOJIiAPoxNDldMCbE37USr6KgwltTMkMpDH22Stu2+xPeXenrVJ6F9Dhcd355lFGrAScX
NTj5L0cULt3F6EzSibzuftWTiVDQ0D+t3EnynI1SCyEroh4klJ8i1Z00Sb9QzP6I4Qxh5aloy5ak
GSGJ3qtl4FrJJQt1JvX5uDUo58XJii/H6iNY+x3oicjBclXJJVOwTtDZYpLKzIoFN32CapalLf3C
c7WUpGrjHO218SBooY04XeQpf+QEeSSXSO8IbQyJ4vqIzesZIn4oSn1SOTp1bbuX9fP/AAp656/h
9C6pEqfIHucyLTx+BAHmHd+BABIpbexKiM2nYtvx1Xl2gXaS17IyaBwvSlL0D+D+AV3rv+QLyZB5
E2Igvs10gdtolr5Hi5H9gvq4Gsm4rsxnVlZmsyP2HE7zgUFxVeNUV5EK0ghEyXU+UNxOdQ939EmI
ERgkX6hOGLJiEI3MKNBMC2jf3Efs3EEhujjprXnG9kZclwxsbRsMWnb99HuKT65eUeT/ABG7ZkXW
VpLuwsvuJvsZ3ZfsHp2ZrSQY/wDx89r4fRPWqfOGjyBzKbTTlNWaGkZ64doeolYEWOJ+TkxrR7Fi
BoER6n8CatFcJ9BK0VEWBqX5mIfoKklvcGg4vVDaBos4SJZq3oc1yaX8kCegwjQhSk72T3FdaRDt
t2H186mh1uKyi60GnyoJ+xrFJRZogXR+GeIHN4ZUxI2zPM9B7BImdDlp6kGzeLCKHlKe2PA2Jr7Z
JXOWs+42SM0FtX8AVI3nk31H/wAme6+2qKunYk0J6l9jpVF1J71Mcu9yiES/D+x5Wz4n/I+u3Qsb
5IWoanV+5MxF1qRJaE1nC/5psoe9zqQqqbbFhYnH5XHMbKcMg1M2M32JltZiIj+TUBR4ueSDc1KL
sqZE5p98oQt8i/H/AMifSNgGEpjhtCPkSn+X5Hp6NK5eyfxInUUmQeIBJdyhCjauDljC2vgJmMJm
xIYkzjkTLTqozNhak8bMRc7hNr4GagvCIMuiep9UUjqf/NXQu0qT2lkweOtdZR6QmQ0rfYcOJOcS
TNblJvoGBaAr4t52JhoBvSyN7wwXChrwjzzknLbrV44h+wpm6V4jhfmBljdpxwMZ1/knfUuUKifQ
xsuWXshhppj+TIj+czT1lQSm4y20JI025MX1DdOX4CLiwYW8GlyAvDIz6jQY1htp5UCSbdiJN3dP
3JFWFE36jCi+2eBmPoKzlwRMmBM3tsSDLTXNyOOJm+YzUeW5+sjX7cVgisEUj6iLdqCCPol9J84n
qkkVFWcPA4paJl2Rb0fMgm5FoGmEsGnuJQLVhLvReiBNx5ZUwncWqeLCmrFUtJ5Hldu+Qke/zGhu
2qZ4U2FwReSV+RnMjXAGxOb+pOr2JT+wrp+WFafyc2mYl8iV6Ekj9aS5FUNLZtsmlI1lL4Ha/KEO
E4vEmxW1rzJO45kUiQ4/Em/uJcgUhoV1y0WIHyTG3orsenzTTQw/SSW9BhDzlRRlXwUmYvJQQJN2
PDH5r2CxNk+VBkGXoZMfhCZ2i42obITlKeNxYRswJqkiC4kNMlsQQyGXEqJEiGQ6IZAhjxcatCGy
Y2WUcRKC7A1aExMmTVyXJB/xfm0VdeiSSa4fB80khpadz1Gp5LbFM77hi9Bej3JgRNpsxCScberg
XJ28Zghhg2oGqsuJMbYNH4xdlpcZPMKclo6IyeCE67OfZyL7pp7ZJH0TjMIXKtq1havFm0lgOVSb
58Fn+oik/wDiHsiK4ypuy3KTsfigILdmligbjzf9RPkziFES9FI1zMhpxeVoPTaow32HbPchg/O4
GpZz6SbPtjOUy8Df26tOBqBoaCsMMTlIwR3PATM/FbERqIi42SEDbh7hHO3crhHIl5G1Z0pemiFG
KXlIcVF4l52g1ZH0P7CREuMtN4GmRO+MPdCm2KFoXLFoHiI6WRMsTkJXSvdl379k9xPQDtDujmTH
oiR83S24RHti+8QQby5Y/wBj85MjdOJoJ8u5I+S7jzW/EDzF9IgTXowI+y0Lu1GUUj0ECyJu7gWC
Zr/yEk1NsG+5Im4bk2nveBXVLDUZMWs07DMNRK0Mz5q8wstDgRzi2IIk7EN2tszLcxA9RYqum95D
ZiSXyRot6LD5Gdmx2Xq7j7IeSK3kP5tDX38CUrJw7vqxVpNoWCNT1nbblEtoyv8AdiCI6XKEP0EJ
sSpi6H9PPd+SPPWup73yGv8AAm6PBCZNxOGtxJGtcki15TdOBLsM8O8ImGGKo29RNoKFSuzBBJWY
H5ZIM0pSpSWnIlsvLZTwWw155r2WJBxpKPQbjJDu2ER7DXIIyur3UMqGDaRdXXLWNSAVffyoIb3e
m8sXP0KX2EnJuG+MkZtdKJ2QrGlljLV8lmk7Ja8oJW7V5nP+yFuSzlxoJ/ej29xXW0huGuuQp4Fz
UU1tNCKBKX9jgpMf6QhvVOfsXkuC7WR/+PZ1COS3O3JN5aGobzfCxoPhZMQr3IuypZndm5G0H1PQ
hse7bL32EuAsJdoWrCdtYveMT5E7qpG9jgiB908GxtZKz8kcatte66sILLAv7JDSwwp8IiHzlIme
DmqWjcD7dEqFd+hYRmajPqOoe2nvyizHsQtnMmotiyjRaIyMaIzjwS+tstkYbIr2l3KRHlBbFpE9
DavQQkVm51IWkdodiy7M1xvTGwskQgz3xWaGSu7NwKqRd2ICr6yCchMEpI5Mo1EtzL7kSyhY3pGk
CIVuDSZLwhLany7RvI0XCQksDy8jPGDvmfQc4awvXawTUmyfdP1ZbGVj1aj4ok6J7yMyTspxjUTb
U0d4L69OeDWkh8CJt4/IeY+9C6Cyu/6LX8GtmTqCHR6vYdklx9XPZ+TRdqaKTB4EkCFL0t6kEC0J
2f2Ii5C2QklhDhDlLiEYZCd7D5eE7DWwgEskg/A0QxCS1OWkSn9huRnLtoSJxTGLeojOOUohsa4R
CMdEsnx1J31cD71GDFjGgs4RyRwJIcbF+1R93gzUOk5ugmLLAyE/CSOYJZHfQaEcCSMSY0SIUv67
ifRjO4dgjWweGxNJiVuQqEyRduUt76inPWArJmlsmZc14sX9nJuR6dbSKqSfF0/BDYyubot9mCID
CPFmfEjdMFcqVkWt5w9/ZCbTN/8AZYXm6d/Iad2TtCouMNWYxC3LOXSUuGbEjlXkY4GxQ2rzGR7Z
TEJFm2vsPmdg2mBZJ6INKhs/yBj5KCJFlNgyB1TBP99wgJZLp5Y20c0pYkVcapkcE5ttw9WQZXDP
EbCOrHKTHzZbQg7ajeTzuA4H5mn8zWrJQp0H0z2l3l1/LouqeiKs9rgIxMpg+VA2a0Z+TZg411P2
EycNTYtmSb2dzmYEOC3B23jk9ErzEhU03yxI8Yv4RSVYNafks0N3V4GmhgkO3rc6ljsLv5mtXc6b
Q0kKZTjVQSRF7SaQU2VqSPptlSTyxKepS7+4825qaqB1+SEzBKqmzaU+RlO5xctfwLVuBdcmXOYj
fxDMrhBuZWx0EGzXnDTYQi/UtqGqgm07u52GZXfKGpWOyFlc8X45HY9C53gU6ScM0wGIeWROtz9q
hQlt9yXJKa0nq5GpPXsrWRtgImeBBcT+R6IzE4uWUtSLRbnGiXNxOwrNnCfAvt+D7xU+x4EMfH3Z
fRCXPxclau48QgIcl5nhCqRE8z0NQrfZZcQafFHZaCERSDZ9eazSeqSaJJpNJJ/49/UrrRmTwJBR
13DOxFubx2RFgKUYYas09XsS8+N8/ETFprrviBoWKXRTyTjfIedP5Nmg9tUiykq9df8AIa3KQ9gv
Yry6imDkWV7+GFFhJG2ObuyXRFXNlZsM2xykm4+o1ourNkHXXNBuXHNIMkvEc3linMqFy8lhupSx
eT524Pkvvt2DuBRjglxy1toh5Cpq4lgaW2WS6nellyMCKUThPQkzOmV/CMpEXRS8hPx0cwi/JDo+
OfBGGHgXDVM4bjQ1H+HSZKOaTBqHqP8ALmZw0aEUj2pS+6WlG6aVWkJmaHBpCPdf2FsGYkITC41l
J8hV332IjlTpI3C0CvmpZA3Iruocm5qXs2Sx4Sky9ID0I6xXhLiRKjTmWSwf7KuM461q2gseXOEy
TcSceVbzOhqs172GY1z8LdjY/oJ6J/5mPvWoPYqiWXHJckRcgRfyup3Ep2DWGQmQEqSXP238E/vf
fHkaOBFvlSpugbJO5ISEiRugXxLZJLlkOYswx5wSJEyJsWCCs6C94MqNN0eB4HhQnFJJFygjcjam
8eCU8yEvJMbHEpzca4IJMroCNyTRKckkxjdGgN4gkTgwsT1JT2mT3H3Z+o+138+HkzNC3ZFq4qSu
xtqQl5d2Rqw9Et+wYyRmsmHBjbXp8lho8zKPUmkCl/zDKKi9wvViV+2tgYsXKUegtRxXy1yM6K3A
1XciucieaQp/j0MxqehFfxJKlu8TqIKxeQE2LFrsK1CZXCLPN1b8CnIr9LO5BzdzXk0Nm5t3JKT8
cm/gZtqyMbXmE2LLV5Olsfms8hTeV6F92Gm0bGL2ImYtyZGisucmINo8D8LYJb8BB+cCpwxYaESW
G+NLl4R9rOhNrkzduyeiElqdXmcogaEMXWycmOtEXkGmJS2wJgrzjIbP3R+GOVTbJe4QknC231Lw
g0TbWkMYW78t7QYrEe/FH0v/AL09P2+iehdSpF8F0Lkc1YDWBbjYcz1X+hfqEvU2FhImeSAt/SBK
nIm7wPc1oO4wg4tewlAtB2iHqQg+1bTX1HM3iTr2wIC2ko7y8IhSdFrV6pMtY8EiUbWGPwXYbBX2
4k5GSo3eonYc3hKxzswRzYOR+BxqrkmvVyR/i4nd7QYE79eNLDwElBzL5aJ5+erC1briG3aBwChQ
hqX5DyS4s3k39h7rzBNqcEroWLlgte8YwJvg04E7XvJ6qt3ajl5cuzAxbhB7bGyJjlvwksk4lJzO
BIhyUPZFxSldu40G88GzqMmYSPkHmSSl96J4TXDDJWLEtseGTOcNNPOTJB+ipGXcPyWhscbyL8kF
CJl8AjANXTy+EI+TPYEhvLQUv3B9L+un/jfB60+vO5LvIFzS7oNNEdsJJ5H1ZLJTCgdlnExBdqQ2
GlRrYchs4GeOSnGR6UXIiHu4k9i/1Cd7UrzRikjYXIaIC7FO+RsybzIu7gU+RKdgkHoYw1PI00Ih
vQSGTUbEthM6m2HKWFZbGaGxK3S3bpYMoeBu9BouMQ1kiC8UoEkbYcE9dlL2EZsXuDnF+DzHujyM
JxtFLZdx9C+lf0y7ORx25rm8l4rEqi4YsFXuZMNCXGbCmP8AZPpNQ1Q3RnD5/wAj8C3BOW7D/wAJ
KSu8X8idNNnCSjUwlCqjiSiDQWAO/Cohx7jCqUErLXeC4jA6blG21ldvcCCCacF52MVzEvQwXYRM
QQ8Qk7J9kMSp6SiCT9WOloqKGl4lmKobo0I880F35Zf5JKYcCvxl0XuHKU1U6pi6k0nZePPIg9No
6bDQYyRJE/ceXWcCX8QZCFujtyNzcNkW8EwVvtrKtEInArvbReBGsCkzRPbyLmWwrDHkPBQS0Qoy
01BQWdxyz8YlahvupHVAsJ3yJkyrYS04Wtw2JEraPfA23EtslwJHwppX6XEOfK8rtY1ZLTMeCfiR
VL7a7mVA1LfqWpIetcDloWheZ6xoLxBTUbO6HWav6F9tu1P12umafcGsCzKEpU2J35qd27YxOobN
m5d0SCFCgmAJIepGttnGPkVj4iE3cz7iFctpF5EWKEm4WF6jZ26LVX1LXSS9t1hOsG6LXbzqQnCS
2Wl6oXtREAnbRRRyx3JylCs5g5wTvg3nFysubmZJm36jztUPpQt8hM3rB43riE0n7i9b7e9w5ofB
xE4anPGWWPcf4aXluokX/TVhvyJy2i+m4al1ucInkO72DhmNS49oeRrYrqv1IzerVH+TwhuiTHB4
kVJBkeCYxYw192xBCBEmsWDMDdQ3GgfJa43eg2crCeLD9ck4cSR6DPIuom/AhxNzJ2XYv9+4bZfk
bGw0QNvg+C/8kEkuFvGfZI4VgheA1rjRZLwJ8kJLV5s02roY4XxyW5FZTshZGetN5Y+7aO3is/SJ
VWtZ7K7cxdKpKHk+xIzLbN4yZd2Mp5JLF8wJrBho05FtFrSafnyI0jXxlTSJ1oaiLkCqea39IJNR
trPw4J/W5t+4hUXjI00LyWQQyCC2KRqLsF1y8VxTbwfcZCFpDpkuXl6G0Rtewm8D3IiPTIjYq2eB
C8shLliVAp9P2JdnYpMy+s4uTGkaA3CyYtbSb8Fiy8JpaiEStNHXyLnGqylZZet7AbUtxtxkZI2J
JG3W8yXY+0h9KvYXD6Nvtz2prPX8/vfIL2WyE8ZLDXx9C3VmqSlZyLQYk2fK3Fn8y4+NyIMSxW5B
S5E2jMlN/jUfIuyhMcp1nMuM7GSaufcPtm8TEnzfcG5WkvF6j2XbwtJ2HnYWKWzgaSIoTFrZESaz
KLmbsbgu8RsYo4uydXsPFPkndKGBfpuILtuB2is8SlAjmsk+Fsyz0MFm03EV4gxyw9MtY0hMTnUi
9O3xhhioeNGLsTi5LFilgjWOSBiGSAuNyYi41mnjjV5e1OaREpU6XbchcdoPSxcyPKfRlp4Nri7m
DK5hZ5MDiTLC8F9zjkRcb/UxlI6PqfQh0fZdul95i/4ufz3FV/BGQbrFtyHx83tjYg/zFybXwIbq
cuox5yslIjr8rT4uIv4G7PJBLJRrF0Seyz1HKetCODGx7S+hMs04u+whKLyO/sIWbIsUYZKZzLah
1+xMmTbwQZkaJasdxvCNsyJV+6TlIv8AGm1lnwJsMkSLHRimzH7ephoaC7H5fpUhm6qJucXsJWhF
oSZEheOMIhSIhd0WxC83WRSbG6mQapeU5bFlcORTHjOVEJ8CuDtdXIy9r1tRKJu9GzidjK6w4cjl
uty28vi2g/4qXEZRo0pqLcDRZo39/BmGLZBwQyRfzgWU93nuxkVSIIGiCKIHR9+w+8/+Nk89mehH
xh2/THs04Sowzs3prDW4G+xEToNOiJMU5Zdia2fPpJqCcTmDgJMMQjvVOGRagMTOBM8f+TGpiHyY
GjKa8lyCT5h34EUtkuSzM4Eq7+b8DWsBrsvmj9/uM3GdbAykgV/aJcP6ECaafNCuc1ku+5P5NaTI
85kJmsyWxngaUm2h45EzUJmGInFhBduN9NWpzgQoFGbd3YiWIJQ5QNehCszmGUVtxwzItYJ5TAhv
Fy1CQpDZjH2Y+jmr78k92S3YS3z1rolV+Ie9L7C5ZbSbyyGNIXkiGqxTh8h4a3OGmCwRlcYuDZoz
esD1HKvSFDSkMNSBaLzvWzgVT7fbQhCU1DQ9C/c5gIopmuZS/gs+sRaXNCyr7LD/AIEXu/M0tsiF
8L5mM+4yeLgbeFyhYuMaTiW3pJ7Wkd4m5dKJYjCTkGphpktdD0OAxB32ci/tSTXnmjq1BPMEqo5D
fiSGyC7q8zuKt0WbGgtbXMC02ZIuv4MaF7FbtH2EVCgVtE9WZ6bNuA1VKfycDWohd1uoE5ElwsOG
Ej2SI5jWasuGOC1l4tu/gYqSHHw1G8bbgRYhqcHtSQbMgQ2mJbTEDvQ9UJvPJigFdXbaGJXkta4H
RIF4kkderCNBnQyWzyR8jfceeiOuOzBHRBFxroQ/pZ6J6UbvP6JKkkvQHuHeRNOLcidCOXXNrBDO
RnIi1VWV1Ecpkvi3W0okv9mZNJzywu3LQvY4ZtJDJRHniNiLVvq3LV2HbJktTD0DM/AxhZY/yOC9
xchbi9etdM7qxEipCbxPJIjUStZvgeZWXdiGzdLhE9mB3KBlHgRYrN3d7F3LNO0TsSuSclef+NIm
l5OQMMVaXudmSYccmnk9VKt93YTOO8fJwO9aJ3Fzs1Ew5IxmnL7AmGaxWf42LHWbLiAuSbganb6C
EIttykPiUsrxbkshazzKEnfi0Pmxl+z8nReBcbytE73JA0ynedxnUtyeP4Hnxpi8vwR7/q/kI2T3
IuVJJq5QrsS0R6xeRS60SYginly7E4N3s9qBVZFUEEqIokSJEidEx0pDZEfWJwS3SH1pPoXUqK3g
LitDqqSIhNvIxcHlNr7QXXi9UTvPInhXRHEzUV+JhjrK0y2bmXQSRkm4W4EVgB4aT9iUv2m0T7Ed
UzKyedzUC1mn6W1odkWkbV6GosshkRp5slP2FBrG9WQ2ivAycv0FoBZtlBLYoS+Qb5cix7Fmv45e
o6p0l7swTLD5KJRerGhtU21TUQL1Wu0v7FrHkM+Df2G9ELJtlBMlYvFwh7Dv4DMhLVslRPbRD2xt
lNphOlu7bggJTcSVo3Gx6inY0IU1tysTh+RqTNaMyJHXyCR0ltrSzoJS0k0ck4yVn9EQF0WaSl6Y
LwLbngKsuXdnM+DOU0TUE3rNIQn77syCXCIifBKDffhYvmXryhySax0WE9U2G9RMI5TbpSQ+yFxB
LY8CbHpWJLZOcDSS0Meb8DyHXlQTKZjvsBriWvgsSnsLrSGhw2TM8y8kk4YlfwBDCSsuosN9jzJ2
pZ1ExEFqyZS8QFbMLyjzQlGnAmTgtYtRHbOzURF/iUtSTtLT8SI1IreoptuEMKbRVsw7fXS/oqj+
A3uhpTqulO6WxHOmOgsQ0KYytmWZFdnL+6xIlzH4DUkk9CIeUKcibShgqZwsvRuaErifjqSLhC0z
xKELYoFj0D33u7wQ48HEFkfGFsjixAlcT4JEL8TYCYbcEG2DKvIXkjp3haBLZgxYpjVjhvSEJS3y
+B3bcM9TAsVOJKd5Y3dmTeWIXnQErLAZi3L8w1k0TN/CaWfj/MaSNNSmrqmlcW6CY2WVSLPI5tOR
bweRPKk2Aq8Ml5EXgizTLZ5I1StJpcWUc10iE8KVuL0IcFNXgMik2mglPmi1c2u2Yt9rw3rTQbOd
w1rlddA4hyNH4yA109jsYXkxuYXWbCrki0WNTUTea1NqwRSo2+loiIjPvQKZkNA9VuLDhDlT2LDM
+lQhi0b0Wg1D5+QvqbEpmBkZUOllIbwd2phluPg8MJRFCkiNckfOuFB5dVhYf2I6WUS1lBAiiICv
pyYBqG5uKv8ApRY+SVWLne7puxl1U8LZ+Ghk9Dve3QtqZFrn1GgHOLfYQboDDfxeRpGGnFT08CIm
I1dpxBBjizmZEkmJwv0XAxSryjhr1IOBytGIkLOCZ6OBY+t2ev43QuxIhuI8D9yGotWJbSTSxaGZ
UflvMFgQbW2CYo5btrfoKCAofYTEZ7R9nIy6O9i+wlTASNP1gSXWyf8AOxuJZh/AnpWd1mtZY9oO
zU21tRH0RNoLybR/dFCcmouIe4sH3rkDCJVD0skZjiNrXI40snLUv0H7URrYcHkmXjzB6M204s5Z
LNXYPsOlIbXbrYvsXljkJJsbSwp2GFiVZ2wcSdNhbCLRcWNn1Xnc1JrWW0qG1yK+V6ljkxdMF/AI
Qtdhhj0TcC/B60t8UQtWkyA49JT6vuENeQCJ3JxfDYW0aW5vJPAvyiGxOvwhAGEtdZoQYnUpNiui
VtDWS5zt6ERY3Li5sSmVx4p8E0C3tN68EYwt8y+SFpyKSpV555gsIRJ+wk9ye/iFl6xKhgcGG28r
vUhG4CZ3MoGBICdCNL3DdWYWTkTLh65UZLHuXH0MxZQgXCQW7Nuzkur75OI1ROwTsLgfQiwJppby
X4pVa8+g5iVlpXfLIN5bRvcKdxvXRmJLEoQzevauBK8t/NDhhbxaSRLHLvyNhhwu34F9n0aQhw64
rT5HJS35X2PAqOh6bbUeHgQneGH8kJSzNpFOQj1wWLvmEcfd8Eih1nLpFZ+vS3x3IEjT4PkMdwJJ
56gTRIk6SSySSaLKDqbySRsSU3K6wkZJI30k0SobdiFEqJJrNEsvRLkb6JJ6BOo6JZLoExKJUSqT
Jkie7P0yMXiq7V3kNfZhMwonftxSaa1ml6yTSe4noRNJJY6Xoh0fRNqSO/TP0M9UjUd2Pop6MHkS
suqev5xb5YuhPYRNWTTXoz310T2n2GR/xldx9b8oXd+aP7wVE9KFRDMEk2F0r6JDpHTHaT639Ffp
sPH0r+l+T3vkHzYtBdc9UWuuwum3bX/hV9L8sb7knzxoeER2dehrI3hQqT1J0faX0UuCf/F/M7qq
mhdE9aovpoI+oSV+4/8AkLmi6X9NXpFEKR257SHjtaU17UdM1fZ1+u0+jzRVX0G07I+chaEWF1pD
rMz0LHUqT/xH3I7sD6lSBptSjW3/AAMfXp1vaT9MZI07CZP07ouiPomuzH1UUnuwR2XSOz9nvK/Y
OGD6JdF+pda7r7On1cdckkEdiJEiqrFI+hzeO98QxriYvoF1KAuF/wAd9ldpCq/oE7fVZPHRNZ6E
666BiEqNRFUuxHaX0s1t9Gl1wR1P/kvtJdzrBTSi7EdyPpfTvR3IGuxA+qKKCPo32IrHYW/Rnt3y
+zF9QurT6B9N46bdUd2O86R0RSO5NZ+mbA+6Yu5FV2YrAunTvPr07+tH0x1T3X9FHf8Al910DeyL
PYR06EdhdK7S+qjrjvwTR/RMX0vyKz2FXL5Hnzj7Bcjo0pFIIgikdK6o6II6F1x0x1RRD70Vz0wW
I7z60bcIav2o+h+93ly5p2bx1rpXUqR0R2GuxFI6XRrrjqjtxSKR1v6BdmP+C/fMMZfHSqx1x3II
+mjou89EdmPo3R9trojrjuNdWPvPZ5GJb92lJHRFFSOxNumKpEdqKwMgaZrVUgjswRWKWGqOsVdI
I7kdhUfXHQ/pYcngavjtWpb61Vga6YEqR347WnQ6RSKKkVisfVmR19UdZ6nh58Yx6youpdUU0I61
2I7MdqC30EdD6EOj61R1dI+jdL1i3R8X6C5bvNH/ANyO4+3PQ+u1YH0v6Oej41IF3L88XoUdqelE
Vf8Awr/XSTR/VQPt2ePsz1JpJnqcdldaJ/4ciyZdLJmvYnvMj/m4/FH1ro1ErPFAzjTqmk0kkmkk
kk1VZokkkkkkkl0bJpNJpJNJJrckkl9DJ6Z6ppNb1kn6h/V/Ao+2hrM5QwMnM+jJ8W6AhynN1TTb
l6/b/eYcw5hzDlHOOWco5lK5VG5x+yP2B++P2x+8oXI9zme5yPc/YH7Q/dH7Y/YH74n1e5+wP3h+
2P2x+yP2R+yP3xz/AHJ9Rzfc/dH7onYcr3OT7i3ByjnnMOacgh1nJOcLSHIp32O6WbuQ5TlRyo8Z
znOjlR4zx0fGeI4UcCOBVriOI4jgOAnsT2PEnsT2PE8TwPCh9PGPDqFh4NOyzSqkJscxWkLapHIi
1XQvMfyssYPAeH3G2ETi94orzeT9sfsj9oYfuHI9yLX7nJ9zke4v3T8rdItn7sm/2yNC1/Zk6xFP
/YbnyDT5OSPRSf1Y4jRWFi/wSBfxG/7Rv+wW0ewXwI1O4QvF0Wsgfry5kCoz3EhPcm36JzhQmtwS
0S2gJpWA7yig15GhyY7GuUzprWAizLX64HP1Il/UxOX8R+sZ+iZFn5hM0fJw/kf52Nv7HN9x+Fh/
ust3b3Yv9Acz3D/1Qop+cftVCM9zA/dk7wi//OLlh6UfUf8AkiwP4yHaDJ/kfgIf6EtQ9tGT7JC/
4kQf4R+qF5gqZgP/ABx+nNKuoT9YPehyqYE5SinVdZXRHRr2PboPGQ6I8AuMh2ONHGjiRa0PCbUH
P7D8iOZexxPY4xwuiR3hfrE5IkTdTbTHLM5c4vZHNOacg54+ii6P2ImH7E/fCSEtBv3/AE9WE2ay
D+w2fdP2B+4o37w0PnP2B+6I/wCw/dn74Sv7Bt/tP3R+5En+w/bmH7p+9EgYM++fvBE/ta3uToyX
+WOeILlnPI9wxWILDL/QLbP0P1ZNs0NuP2nN7TeBSTc8Cm/iP1p482JWe/JwhZJfKP0xZNfElAl/
glr+IlkmzITgZHe7eyKCGMBZSpCw4q5Lz0z0TWep/W47U0XXFJ6VVdhdSVx1nsxSezPamuRiFVMY
qo16fnVk1JH14JJ7D6Z7ayPrfWvpZ7WlL1VWLrVJpPaZarpNJFV1TLdE3rHV8svP0C7U9OvTbsT9
DPentJ9ue5eaXJ6p6lW3anr+R9G/ql0z2565+mmr6pJ7K6dOldSGOaEqrHTPZiqu1P0a7uv1KdI6
J+rb7VuldK7yo+raUmueh9ldxfQTWemV9W+3NEST1PtOTot2n026opJnpzJ69eqO1Iupk9c9uOq1
JJ6X0Mnrn6t9C6p62Kk9E9WaKr6cX/NnuR2Z7lqL6VsQ+nXsTWSaz0oSpGIZhQJYaI3i4QhCYeKR
5drGUlr8IKyHdHF0Oaz/ANS9Z+mkT7c9M9Mdqe06sfE1hCS0tx6lhcTabLKE5ZwPHiEgbkkaHgtq
fMjbkE6dm0SI2SGNft66Vz9Muie2+3oSJ9m3RckXfdZo6Xouy6roms0zVm+eg004dmQrMsSSJYb0
i3gXPueQQxrTazXvH3n1Jl6h6ubTwr9v6KxNEW7Sd+ie6u3f6aeyuyumOqeuOw3S8O25DyPUJ6em
4pbqhr8EnjCZDu1BGq3VENBpw59jxrD1c4avtVZNZJ6l2Mf8B/UT2X0rtYXaVYqlOB9h0YnAl6yR
NptR90Natgl3YTbBnD9UJKN20XW6ZMj2TM2rOT1rPdmiqq261Vdd+3JpVfRTWewvoJ709M0esDGb
s3oZMNAthktWLxBCLO03YkqxJGuYsQahpbwhtRokbkkCVsauHBBYcMkKuTx312l1LotSaTRKfoZp
Bjuz2tOuaT9PL7DfTbZEmgl0LAyypPRkJJ6Y7F6R2Z657F+1PWuiepDpmsdy/RntR1usi7KpJNF1
rPYfRm/rpJ60uhdK7OtZorkE9yf+TtS3RaqJt1PonokUa1zf0kdE1QyCOwqrtyT2b/XR1aDJ7U9U
1WOiawLNZpes9Wlcn0Lsui+gms0ms0X0K7yrPQqT0zWeiPotBUmiz2n1PqfdL9U9nis9UVVF9BHP
/afQi1J7irpXQfY19cwIVF1R0z3Ioifo26SP69dhVXTHSiCax2I7N+h8i4unJ9Cqvv60jqz3Y7EV
j6NdEUdV0QyCCBiI7EdEOiIrFIuQ+iCBIuXikEEdTN56n1a9Ukmo6z0IQWWhCiUzE9vsNtnseP2F
+CPyg4PsS2+xxPY4nsS2exPb7E9nseL2JLT7F3+T8oPyg/KD8II7/Y/KD84IJ5+xHd7EN3scv2Ob
7HPOUckj10yDVm4aL2WNW4w5c0p1imdSr0pNghDkR/wI/wCR+iIb/Y/RD/QR5/Ye34F3+T8oPP7H
m9j84JrX7Ev0J/ofnA33ex5vY/Ij8CJb/Yi/wflB+ME/0p/nB+MC7Dhh3DgPwgj+vQ7Gh/KB1RgE
lNExpUEN1ONLER31ljurm7soW3V0iE2hPal41JMS2EqAgMQ6TRGSSenEmhMnmkk9LFVzS5DyZIex
fYc7Eval6X2peMVwO5QTjSXS/VIy5PRPTPUm4qudBdE1npkmCazSUTSaHMlgkksOkk9DUJJJ7CLI
whE4imOxDYS7IhscY4hxThnCEE7Iais2jGl/U4XsfhQo8fY2VFmY0Fs/ClXcPYy/YoiD+o4lFE7Q
NxQ9wOQGsGuBM/qIP6ycfxktfjrHcxw4SRv7x+1H/sosa/lEjQ80otT3RnPtBEnLCw7KK/XBNmPY
EEfcQ9AVM8PlH5aM0fCfhoX60a/8DP8AwkP9aP06P06P0s/TIaN/JQ0/bHE00jfkQj/iE8Nlup3x
o1l/iFKftqVDX2hZ/WNP25JpegUv8KFkl9EWpfAJ0/ZQuv6RfpRanxElvtiMWf6BfoCaP4xfqy9/
Qfno1vtF/wDpIv8AIc/ypST+mfoUWv40O7/oP9Cb3wmBfbH+mP3yGxKfdReh+mhue1E7Bd72YqLf
N/UETcWSvF0giiKIIIIIL/7US6EU2EkEBJbUJKSEWLUOC0EPQL1zgU5qYlgSNklorsjpol7JkBFH
yPISxTPcUxgLT0i7WTaIqeWeQlOI0ap2zakkFvPM8yG4uYmFdexyWEYESU14tOipjVMiWq7J2pYN
UoEhHQ2WXtXHFHmQ3FObmg8zDI9wSpLBGV7zkSN5HbEkCW5ZlilNxR1GxPdEBaxfIeKbIpWZyHmT
Q33IC5CDUhozyMB7GeY9o13E8KRruS0Z5FlDzEtWbEJEEEWIHrqRQlq9aWugrCJ5UqY6OFDpJEO3
6QoKDMVOzU8ibdMNxVlxtHQsoV55V5kYplihQrxIrFNpmXl7ph0qnofMRUhG5CjzMCDsWiVGV2Je
CG5JM0RskepMlEdzmPI1g3Gh5EtRYsmfRIRk8yO4j5E9y3UYY5Bc6W42hLcXKjzHfkhuSGqS3Jbk
jkL6IkxhOsElmx86XDUhvWDi9RKGLojqRN+DohoJolXtPLqazNSum6h2U1dWSoxoto8zl1GzIb0Z
WIzWjGasRCO9V0oGR50z3pdc8zyo8qfPoyoLnS1LzyojueZlmnzPKnzpvMqnmeYudeFZHzoluT3J
bnmeZbrRlmhHyLBy6DSkTB6iHSOqKJa9mNda9IfS1XNJJGyaSS6STVNJJJJEyRJIgxIlkuhOpNEk
iVEk9AQkToT0JkiW43JEyZOiVSXQ5Eie9aZzEROiZMkSokTJk6EhMSZNDckSJb0yJEidKaSYryRK
mZMkSJ9JgFAQKAqmc5ynOjmHTa9ETdhBCiFLCxHihUZkiGSJi4CDEyZInReSkmIzJ150zpmTpmTJ
15k5JkyZMnShImSJEiZPpqOEn0ESJktiVXCpOmZMlSlQ4iZImToSJUTJkyZITkyRKSRM4qEyVKex
MkTJkyROhLp2BA8iG5DcfI5uhNpR0MJwJkkolECBAgRGghjT7AiCCCCKIIRAhEEEIgQiCEQQIpAg
ghQhCIECBAhESJAiQEtMCBEgQIVDR0QICSGhAgQQpQiBA4iIkPkEdqXaOwhKGlAlhCCBERNYIyRG
sEJIiESJAdKiQIjCJAhJHapRGvRBASkBoQOIkIESPQsKSSBND6Anp03RD2mcJ4UvjQ0gmTMkyUjS
0EtDbskceiIR7F+FSBDptIQqR3IkSJAgRrpdyFECB5HkQwPkQRAieZEiZqEGYEZHYRlENyG40FJH
kRHLUuEL3p8iwjueZGrDcgYZpSUQPMs1IvUjuWkSJHcfMwycxAhuQ3ohvVDxUJllS6nW5YimZZ0C
eoa7kCNHQnRM5uzFBXNS5voKAAiAOfthERPP9SqgK+oQH6kUG76AqL9bblOWkh5TlrnKOqfL1aby
9MPz1/lObplKXrBHXBBEniQI7ECOwwwihHqijTD6D6vwojR5doa+Z5dEw6oeVM6JkiZOiZIkSJCc
kSJEyZMmSJ0zJkiZMmSJk6JkyZMkTpTJUJ0pEyZMmSq3EyY3olQmTpkTplRISFVi6F1t1RUgaVGQ
FFIIXRBCMiVYpBCIEUQW6IIRhhVgiqRBgR0QQQQiBBBYggggiiEQJIiiCCCEQhhKkEKBKSLkKl0I
RUgQqxIkSF1CgRIkSJGlINSJAiREvTkaYUSWJVS7cCUUggduplqQQQST0elEtxkUgikDFV0ijIpY
VUCVVSCDHRFqwR0RfpkskEEViipFUQh9CdYsaC23Y7kdKLYgiqCOw0xoSEKkCX0DqulBBFH1RSOw
qJUisdUUgii7Kq60tikdDfQhEViwkOkUiqCCCOmB+KJQRIkQQzAhp9JqrpBFUiBogSIGZZAuuCKx
SKx2INSBOOiBkUggmsUgg27HrWLd46RRKkECVyKx1QNdMdUVVYogjpW6UXEVRqRRUihoipBHQggS
sEdF+iCJJUikEdqJpHRLrjoimSB9CJdLdCVHWOqDBhJHa06L1joQ0XIIIZBBFYRBcuOREdMRSOmK
QRYSEsMrHTAkQQOkdCUdCQgxsxgIzhibQRAgzzpTrHiPDReyPaHtmCyverBPocQkjjOYcw0I2qZj
uuMXimlNp+Ycs59I5tCtwNAPcE2o3WP0ByRoQL/OrTXcjki3Iy8ggcTL8SIdRyTmli7mlOaQ58yV
/wAAv84a8hFrOefrDke1HZ/iOacosXRyc4W49jmnMI9VG/SHLJwgz7QqV36wWs5eyOT7HLOaa8yf
V7Cd/WQ/0VJnvDl+x+iE7+g2mOWfoib+g3PbJaEXol7H6A55I4Xt0s/8c3H2P1RxXoz9QJrhP7HI
9i1/AL/bEWfYP1gv8Ef+UfrxM/rNP4D9Afqj9IIiiUj+IGk0CFRYXZBBHhsnIHrIaUrWIkKUdx2h
7HUYVKIgJRL0b5KTkLWTmNLoXpgvEbiU1iOBXxAIqu3EzLIjcjN6W+MoXAQu0EUh3IYhacjtsBf6
jzulkYoSHg2EqBKehHKscYU2mR8RGyQ2ZOUX4seMSMwvQbxs044LriPYUqbPBLmMkUI01Jfsg0vD
GwlJfYIP8ECpknsZ3HqyVtHgWx7CFtaOxhBkt6GeZfJxCSVHsFP/AAD2UOxExoR7RcBeDiYhOEW1
hRaexkc4bEihiJYT9CD/AAS5ccWP8sar9gjtLehG5gLRDaacQfmR4Rx2j2MN0X5QOJX5DS7kvQ1K
exBNkC2Q9IGrCsWIU703MN1GpuB2zvYmazmIdS9dnMNWXWJ7gi1DZv0SDI0BzFypZuFjVkeEm0PG
IuBUeNHEjgRxHD0oiSCWci+6Z50y3Lcsa3qMnlPKLlOdnMyDVk2rErULeHIrAtV6kR2p68RMnvJP
ei5SE3T3FgiXbKcT3JcqMhWYe5HZ7kNvueMj+54PczWe5xT3MMfcavKe5GMELh9z9oX7uTkHENGa
aJZJ7iwoKaGoyJ5EimwoqjoJ5j7jCdIef7hm0TbSzCj2on76DZEmpkI7we+xtyzHvl6WzXonIhvq
ce7RWxyfNMglolTOUujlpOainqfDSnRXVlcJDoIsvYkDpBE7FSEHYQpbtS22/o4lDLiWSPbKfpHq
aYo06JvQ0gxb6NpmwjIkjNj+7pfftKs9CYlMMseSWIGEcmg2ruc73ORnIOQcg5BL3nIyXuyXuS9y
XuS9yeSSXuepI7TTE3E0QqWywJwiW5LJJJJEkksUi9ZYgpBMgI0x79ch2HzJDHsyJziEkrwNwQOE
2OUoNPVdapiiCwLXtXyI3MirX2z0hgZgfXt3VF6I01aaO0+ZmlGw6K3ZV3B5LwSaodWSTcJCMtT2
E2rogXzR5GyGvL7LeWlhYY9gP05KWyYfYcyhCXRkCwT14wWOkwhv/tFje4PfklktF6yLGTTuiR0Q
1y9D161lFqkEkwNDyWESpAmm8SRd55GND07CSgsUk7NY2SotcPckoJgLM9n5lXnsyYxbEGn3RE1E
OZQliA9dxlK57NqCPn9lYnSwfjJZEIWrQHKrSOy0DQWUbowLsXU1n7Q6BkXb1YgrSgRxi+1jrKxR
dTSkWKzEdByNRBi5L1JPGxIKDHqRuX2ErDGzLFiNoyTCYlMSQ2fZWSixMblvsqTIZG5Tzhj8pBbt
IWRl3aIFKUE4oW43Ll57PzqpHnF2FtkNEYrE37RFxkDy7R2ZEJ2IZExdhctCJ8fucC9xDaOEB65U
rotG1OxLhXHqRwXX60Q0EX6Aj0+whrjwKyw3ZJorQ2YtRi/H065Ug8vp0kLNDy/pvmdAX0zz4KLC
PftS96Tz2mRDo9NUrvTYbI8t9K2LJAIQ2H063alvi+lXkfk+VQs1U9n1r6ltz1PU9T1LbjjeaPNN
k6J9EcojlEcojlEcC2wjlELaQtpC2ELYcEhGBgYGS4MEMHtRlqzzZ5s8h5s8mLkxvmTyJ5E7WLce
4lYgLx6ZL6RM0ILvNXXIhr6VrCI4pJk0Pe/0yW4siBlg56Z+iZdy6KlDCEpJJPRPbmtwjVE/yDUd
ieo96NDUZQRNQWxQgQ2IECBwD2jiOA4h6Atg4xJKk0sM6HEcZwHH0acBxdZdExGsSTGLo0wYR3IE
CBAsESJEjQQIHMRIbkNzyEm4kCJKyq1SnzI7nmR3I7nmeZHcjuyO55s8iPQ/I8jyNCNF6MrR+ZHd
nmzzJkSJHc5jmZHdkd+gJ1IROJggijSNMOOlwU3AcJw03GLbOM4xx7s2Bv1OQRNupyHIcpynOc5z
nOchznOb9IHRAY8HN2P+Xx1LiHtHEXboTTUirAvyQ2ETgYt4RHEcDOJkRGiNdqkk1Cm1YIG1c2NO
p5RbbONnEzjZ5jiZwM42cDOBnGziZ5BXZ1VINCUXIclAqIcpzUHynkFzHkPIYIKkVyrPOco5g9hn
KOYc45Rxs5xyKDgORRUlnVsTMpkekkcaOJHGeM8R4aPEjwdMslm/YTMIaVduwiRDJIHCu2SbY+hb
aRJVUvI232Ie3Yc9hJaqJMBnBt35HJiWjItXUvL+gaCGz2EjqmwGzNt9yehzkWhJI3eEm5b7N+nI
M2z7GhkFHdPZJKiVqTQuyikPPZdKBpQ0uexNJGCYytY7L2rer2q0XZii97EjNkTR9h5UDkOjF2Zn
a0ajavyngWlC+GuvQdM/SjwO9UXXcM74RMWywegs+Z9aRyBmIp6wLsPcRPDY1y1Eo4J2qzS7U9hm
RRjy3ZbX27z2WJCUgbtX7Umjz2RxgrcKKJpWas+wx59dFnsrnZGUXdr7BHeT2GgdfKri60NkGhLl
DcudhN21pcDbSlobtjjqZBUY+Ki62Tw2Fo5iFevqEZBe1ZPo2RRpe0tM7dnLMS4+lDF26i6li8jk
jtW7DH9wZN2c23T4ZyZnkUxOXsYQuFLvZG2mVkn9G4SXPmDXNq+uc3UVNkxIZC7GEcRw3HaNn9Kk
hYVMC+jWQSJGx+jxUbPn/RPA1GQ1f0aIpI72ovoWETsoGXTeix9axZMkj3/TOb6Y+b9H8Ctvm+ie
DNQngKL6KNW1JR7Ubs37WBMr79qxNGhhuX2Fa7YfFHl9hiZox5bsQIY0TIcBdGPWFcuyunQ/I7KY
gr3G15fYfkQ1V1DGyQOzoaKWWeftTkWS1Y5ro+ysjPWPZzBKGlZaHBhu57E4t6YMmULsM2lEUWHs
XjsGuw254EHymXdDt2YhBF2kz8rssWm47OkgmJLYqdrDt0MjC1iJlLL6Fvr87s3ivQSkfCELlGlb
h+SB8srTI7W6YxYBdjierILoWbHp3vfsNDuRORiZb9mRlmh28DuJS4tjFtQ11tDORpSYyFXRdaNk
7FlHyMjm1GiyupO46BajpjJj7EwVJnHZWS+5jtJCDLOyu4dmm92Xn3uixEh2sHXQzdHg+R2ITcSX
RH2kqm8jPFG6sgccdvIl0WeYkeDM7N5KlXsRtuxwahQOJcdepJQtHs+yitZWwwjqdR6DpGNrr0J4
bUkKLrkco0NC8CzRCfRJrRuw8v6NZLKH7JLUJlRp8t2zBjy+zkEbhLfYwjSqLftE4IC9GOw8Ei0S
UfSW3eimifVJ+riSj3fRRaiyorUyX0TTWVFEsxmA8/RrKMVMV9FfalxBi7IsMuejgIexD2OAlsSO
I4SRwnBQtSW5+4diJGNKMfQkLYENtBwziU3FI+hb8sWPpjWVTL6FDbbluj7tHgWG+hS2SZJ5osoh
IUUm6ck0kmk0kkmiW4ihs1R03xVsw6JJJJrJLJJJJJJok21AjSOBiEcjX7c6UydKdYmTJdECdihK
KtSbRKtT6KOImcBIkSJEtjgGxCyYrEFiRDIIfdTMuyzFU+Q1fQp2hnvNWpJLoaa07MMuQy5DIZDJ
DK9kJiVVTRdsNRwHAcRxHAcRxnGcZwnGcJxnCcAni73kQxoSxXbHAqghEURSKGEEkNISLEE9DLEL
rAjoMKIIEupqhqQGlMCNMdiJEiR2I7ECGwkErdDGYkNiA9ogIIHiQ2IbESAl2OA4BbQiSCKtDMdi
OxHYiRIbEdiBClcOixEVJo0M50MRQpEewEyI6qBm0iiCOmf/xAApEAEAAgICAgICAgIDAQEAAAAB
ABEhMRBBUWFxgSCRobHB0TDh8fBA/9oACAEBAAE/EDhXYHhThVI26jggNyoZnhqLjSRUjDUrMbmW
N3DZKlVNjjQjiDgialDFBIrNvlx0J4QDEZeG4BMRqBRMoIlYjcBcNGWvA3RNJiHiYlzSEaiLRhhE
IwIQTMIRoSy+K9QmblAlLhzNMS8EaMxcDECAxbY0TMzcFWE1ccMdCK+FkqKiAGpQoqBVzSOHjMzK
UisP7uFGERXLl1mmMWX2zPEY4mGEVkFGLWEyubxM2GkjLMGnikVsNwRikjuUhRDfAszSEpFncHEY
ZIccSwcwgL3OozFywCfc04MsxHPCixC+DcL4UpHUXCJhzHlcxMXhqouctcHEHEaAxLmwnaYkVRuD
EAQ2gzeOAY4NxmiFRtjx5zcapWGG/khVMCEvBqmZUGo2osTuDDjjqmVeeFVR3aOhgxZEOokJWeBb
DcdCR1E0JfCtICoQ9ylMYrBxRRHTyC2YcEDx3RLYRa4UTsmGeI4ZekNE7/jkBHmuKXDUFsXiJG4n
DKEjjgpbzAzWMDUWUOYw3CyJuBi4keBEuNXUqC3ixKUTKaRN5hQjitkIsuxMFLTUugjCbQXBNcbv
1HlFhhoRFD3Bd2OFdoUxXiSprhdQnvRUcNYsyYcHXGUacCklq43XAVBqBNZtcyM8wUxELjDpgjEz
FiO4XZxhDMKwiUSs1jhxCqjqKFlRqahgxcvdxZYgxAKzAI+DRGyRWxYNRdR7jwmkdBHiGITXgeU3
ilkuaxsRKGol8NQeLmJSnLpGFYIcWyFkGZtDHDbAoncacVCpVTEcLjrEGuCzgi5lw4eGnxqdIZgU
sXE2bxN80Zr+JRUrJ1HhCQMG5SsytcOVuG2DDkMyJiR0p3qHEc+ZrjsmIMXKBlwmjGxpB4UJadQ1
CMWIQwkshl4JG9scyManSES4G46uLKWdSqOyHM2wWpvuPHFKV4lrRxKJfmCiwiVhyRFMTeEpKJ0s
IQSsDisQrvjOF8wpEnWYpUvhi44PDjpHjgHcdML/ADG5iMBK3DUcIbhExBjgbOArM3iuG0JuWkjc
lWZtBxmXcajbf1MiFwMpAUzBcAmOpeGBiNIWWV3DVErYQ1iHLcwTEXwMZGzLqi4BwgyzwYVeGSNg
YazE2hoiOImG5syuAUlbRMNTWYhGVIm4GIXGacCUQxHGKO4L42I55mRxZdSxYhwR0TOBibI4uIGy
aI4TJmOocJuTXjcEvWIpUesx1kDZAqCo0myZlriIG4cFRvjRGU4hlzLqWTPk14WuWxYLlrlozAxC
XFwjhcY40mmK5cdIUg7iKy93KuAxjqMvDDEPKaMWAjiXU3l8w3bgG4FrBhMoeUc3YJSC4qoRJgR3
GQmUHxGHEbGNvEGxm8znd1FdzNXKhHQytswQbI6lMM1UUq2CcGVbEjLH8C4jDROqhgYhmBSNzc2u
LwgpyMpmMjZMYpZNZlC1VTKxPdBglATMfME0xBwqJSHknSipSKpwrMZTBmcBg1MiPCgkuOJdR0sz
JQxcG4rXh8oJLXNJiQmWNxLqLP4ELl7iRxLlMfPG3FvDSODCqYuE0uEOV6ZpGpWzgLlmGNSj5Lgq
Naxm5ETksFxSjEGRjxGs4rKIRu5QixKU8hkuYEzTUeZqTqd2UIWS5Wpg5cVHDhmrhmYMVxgJ4hLu
X0TSJZGM0QMzeYVEcy1QYi4gveMNzQVFiFQxFbrgrFUZJDUxomUuAhVPmLBMRKUcQhCdoZxyrUuV
BTBuAjKqVBU2cWS4Ubs0ht5qibsbIMw1Ok0gsh+NSwSNl1FYtww4uMeYaOJw4mohm46kMdTBxYIB
DqHO5pBU1Qst6MepS5nG/wCZa0TCbJrEyRh1fzDZc0JemVC4wN8VEjpm5TKo4Ok2oCXCZl6ZvNod
Ql7mcxGCDGViLqXkmuKeIOeFacqGpcbHHTGpSKZQ4xN2BZFTit4EKODTiktmIHFwFEH7JpCjfDvP
4e0PCzO+FJXDIpiVMSrlVDqGNS8Zg5hxRWYOsxIPmLHKQwRVRZ4rHEMQalQgA4c04BlUhzwtxx5k
dRwl8RmF0jAFSlZ1NKJMoy4EcQsIr+kNuXwgwgAM1mxEbQtsOLnnU2M1nAMvEUYQCpvNYBEJN7zM
BLKi4YswSrizL4EnU1CosLgJgRg3Dlc3ISovHUsxcRbJWaQhzMJrPOPLwduVuG4pBolczbKU4MEj
Kl3zQ0RYguPCqoFw8buMcLFCljZrhyi6iJcWpnibmkcLUeWMEORuHASBrM8ZtEYamTC8SpcfmG2B
iVueKJmPE0TaacVRKXwrcyjSxW8UlWRRhLXYsbFqCFDiUQZGaw02bJekPuWqOTNPqNtb7mYSgVNK
BjGGHgOI0osTETIuEqyqixy8Q0zLFwMwKJQQqCYEWbYDwSowIGIDDJGLJCzcHDMLqPCXx1mnIo8R
4iyy8XcycwWWYMGdJeGC37miZEwJBKyWglkFRzBmFqXRFXgJxa+AseKqNRFJlGzc3BmXqEOBg6nU
1DqevFSLZZmYMcw3KxeJ1KuYcYm004EdQmIscM4GT54ZZwLCC3G7x/wiEiyFlgjzHOlUiYjsTBTM
Y8BFgholKVBjg6tU8pW5Oiai8MRYhshtwolGhL0xR2g8CZAvFENZSpUeMDHcMTIlnA4jWIaJfqFQ
cRpjiFcCdsQqErrg8RmnL4BBxFS8ds3l7jkQoEL7mFnQgojgHE7B1HITAmUxFmawcVL3DeIFS2MJ
jFLgR1AxFjuHJEgbYEwhlLmm4UsQlM4hK3bBKjqIwAlZm/DFcCku4NnKxwQ4lpriLE1nWYqaItqU
RCToR0RjRMHKvMuVl4h2oK4LUZe8d/WKwzUiYikYxs9wLHSG1mZXEZ4awKbl5MwkKIBMiJdJgStS
4uC3USEtqLGowUtQ9zzAlXGeIahcNQUR1NXASImCXxEJiVlhOkvBxGZpx2uDCZQaOKqNUeKIYRCs
sisj6OAbxKiBiIuMri4pN5UaIscNTBZhlLhqGGLMnhtNk2lrNriwUkMYi5eYxBZdR5CBNma8axlT
XhpNY/MDFwZiWCGPWKNY7jrh1FIFx3ZtHiXoRyP4y9QYgpSikulFma3xzgpYjcbBNVHULHXHcjqa
WMTUHKIzOI6OACjhhwVPJGYjBg40wjkeAxi4XK1C1G4qJb8TtixCO4Irab8HUGUGoeKjrFwI2RJ7
wlZSY4uLiwJeOFzxvFTxSwXUVbncpZwuMTiS4bmKlZSdQC64IpDUU4LTLEilXrgstluO81lx2R4h
xLokRCEKyAItjSW1FRAvOHEFGItAmoMjEZxXliGdJUX6jsJBlqmhHslIYvb5hzWaJibm7Fq5lTML
qXLg1MmCyVjEz5mCJjqDcrTcWYscLmImRFmDBGVMxjUGCZuC4S5cpcrHiopepappKWs6m/FK4beM
s1HRx3jq4btDMhWY41uSeIoeJmbzTk1mrhuIXMlQSuKi5iQW8PJNCO8xUIXE2RmJWfwWEELNos8H
PBguBg571GaQYl6mjLVMyCuHap3h4FKRyGW+IMKmZQk8k1nRA4mQJQpeYlnCMyaR4R1N83xXSaQ4
ZUwMRVQpXlDBU68SmGoF4jxpjUoCXGcPCWZgzACd8NsBcQFTEsnXBrBYiR2Y8DE3TNYsR4lr3LxG
MFVGUx7lxwZR2luB4NZk4FYlWQqJY4qHEwhG48BK3HMHBw6m7gJSVKjdw7m8vgh4OoIkyZohcOmG
4TRcGaQKbmVhqVlCiKTbG4anUoLhyhicQxO/DWaR4lYINRo4gAxNM2QxGrEBmXmGkaipsQ4zG8Np
o35mrHgubnzwOfDmTJYsJXCyGYlxRUKFupSoURFMFeHc1HDSDhLjVwizeWvgjVRg0wZcDMMNRMxc
ICBxLRYIamkJRKJNmNJNMqXFjYrTK2xsfHAjjrgb4RKeAnubJep1MWKpdnDIiXxszXjW4tRtLxy0
M14VNuMFnmAXFUuYFKWslFQIpifMbFMuCMG41HNzEy/DrUGI6iynKGMQcRpdmWhbdsqnSdI5H4jA
QBc7Qti+ZhCG7wDGYRS/lNk1m5LrKIvjuNJk46uoyqIsIC+KqNjMlNwWjuCpYZ+I6iqQliynBqLF
S8MMRqLeOAI7laYJVxJoiNRmMCwkbCopoEvEVjNyBgZZgwZW6zZDKgtKlJvGxU1m6KZwnU2SmG2B
UNcdkIhLqFgly8RlapmjFYkwHCXGjhep3Oos8DMqMUYFNzEdsqrQW3AZRZEtjLkpU6hbcFcdsTTH
ExNJpwBbDlL7g3fASoYJV6mKxDBzwApUKCD5SlQZYYd0StcCV7Ik728x0hgZmbcWWEnaIyoy8zfc
xUNDigxjMlKmjLi4eNXFCpeC6JiVczUeJKWDM3GxyQZ3BbxomJ2zKcAXNSnmUQ+ZaGXpjbZpBbc8
TZNSUvLWm7LJ6yiRhcKuFhC0xupdNrHCqW1HmJqOXPME5xDMoEZmCCzNMplyPEcRs5Bpl3NVjpmm
OoaSGkJCfcReMiLwLJwzEJXCORZoxXCRYstaosM144rc1lyMbI7v5hby1QXAV9IYv2gbswt37hdQ
F0S0uKowV8YWOKWQboWZDEww2sLFcQ9QZVHDWZnCrcZWtwhUdTaDC4hL4RDFw1GW4ljkQ0GXFmAh
q5bmbREJiHDHZG24kBU0EY8TIcLe4NMKZrMLjDMbsLsyzxb4bZkmQTSWScVHjEsJszxsQgoIXxiM
WXU0uWRGpomk2eCKzcFmXidwRMIBMi74XNWxbbhgnZOvwpFocUQ4ZrDxHSwqcRsgYl8/MNm9S9cA
fvhWCbcFwMsxuYX0QlXGs5sg5XM23mGsuO0LIdsg2lC/M6mMskpccuHCEqHeUYnx5llMq4PfKmk0
i4hrhhxCFkqLKgjULGDAzGgmKmQmMUbmaS2YIsBNGo8sXEbpGaccFMVqC7gTWJw4mA7l5S92LRM3
Lw8MBLCKEDLmAgMxxAjh49SouY1VxhKMOIdcOahvwVcdcHUpuHBFuOCq4HABBlTqWSmLx0S9TEYL
BZxqhmcFiPERpg41BYzEwVpL5+eHTBki0JcpwSNe5WoUW/ErG55QF/mZZcKV9wqBFcPP3wm+Jqay
tFR1FGsSRfEF4GlNxkmEhCdJVs9RMTqay6gz7jwow0S6YOcQL3E8TbAdzEjuYhHMLVwJmNqbPGuU
sKDEVmZza0CKazDCbEGFnEWpm0dRxeJtLkIXFbjhUPcavEDGZpDisQ0zpvhLioQprMSVRBuzh1Ux
FFTCFhmXTd8DMCHgIoVCRWCy5eIsbm8SVwPLDhloOI6c1uZcaU/MeUc2qmEFlUJXzUyZWEzhsbsW
Nd8TFWLwI5muBDMzjF5RFra8ysTFIy9QFSrgEXEuKLTwS6iNTPaGGXdR1PNChq+BsjaTueESXC5o
nU7hKhUHEcJt+5hUcwhNGo1MVEVEWbzqLCEFjbAIRYE3eKRFcWXqppuKiLc2Taa7jurmhOtTtgQQ
SSXjhy8TYwxGBrkkbqETEFxvBRcuU7l8A3GxKBhTMWJjdMPGAwrZOowIR4tTiLbTKUTSNtJpMBis
gBYcXc6pu53Iv2SiSQ4BCIYEbzgYKzNwwMzF3Aslhk1Ze2dGasrLPUckYUUSbPBMuZa8eMRuWeAL
ygauJVxWAx3LR1MYNzJLxGokAqLnJAg5nRjdS5gcBOuFLhTxYNQYsSFzM4aCK1ltTMQmCjolmNkI
osTAncSyOiayhGquoirnzxO6JTZMuDDAqRBKxBI75xUGJVcVoCYkpWZDgo6g1x2ITczDUyqCow5l
TBQyiJKVCYgRiIBVkprPErEdeFcOmDolUTdnWlLhjZjOUeEvEKtcLlL5uKm4iXKhuXh8JaqasYVm
MVoKv5JmoGUpULQ9SmFpmpPXEqKisZXEadSsR7wbzLeBlmpMZmImLi25gbmDCVHISrICDBUuGXCy
i2oEzF3CXMDF4DGueHTNyDHRAJfOweBIABBi4JpAPcYM6mqGDBmUjqGZNSsZjApxBOpUKZWo5XES
jg7gmxOojfA2wGJakbqbEolip1LTJMR2MJkiKRGG648RjQStRlpZasbl6JFVG2PLNJvFBSlHm+G6
PECWnNa88d4l3NSZMYo9wUTCVVZipmkpoQ1uIVUGyuYlXIYmI4lUSrhqpmLqC1BkhvM6jnCGCr46
zN+I3KaIJK8Rm0DE7lVXBMS5wGsQ1mJFpuXY8spcOPw1Q3NpVwEMwIBjpuHLDcKgvLxePUtUTErV
kQRgEtqPC8QgmkGcLi0RYrtG9w1CaNS93O88B6l6tmsuUwcTuFQQMNxllS8ZmhLliGSaRVmXZNGe
iViVHkxFbmxNCN+JhLplpZnUeI5JWxHU0+UFklwqLJuhhqO3MCoW/mUuUYVIcYhpcxg37isJMH1i
asWZpNDMKNNkL4MCFUCKlL56x903ju+DQ68QR3KKGOTZMXcdkruViGuRnXA3UsrNEyCGIPC47jhp
ctZDUuK2UYMeSdMeSZkIgqIrCFwhgvm8Es4IquLEJeJcqMCDBsxwReVqL64YuXhMszUCMtLVF9zZ
A0qNvidkNICs0hUQuopFEeIaiY4AS4TeGoL44IypVTK8aSVqGTKlCvcwWGrG3gXvgGF8Qw1Fnwmt
XHKtVCBSy8AtY8YcKQ8vc1TKof0Jg4qxMJ22A1EyJVktRYBUSjPEsONRN0WCXvJwsSZherlR5gC0
LQnU6lxTiVlCXSRjmpWr4+Uo4dw6pjVVxejM1jTcyVAkdkbb8xaihcNCaSsE3MSGZUEIcW0lJ0jx
PMFeMFQGAgxMWMvEUxyOBww4kOBw9zFHZXBUkt3NE2IbjAlrMQ1NYDREqDMGaMwZZF4OYcVnlYrg
MVwdVM0i+I87neYTLDzBipoJlSV6ixGVnzDWGbrmZKRqExTFTXjbDYhkjAwKwlxZDcVehi6xFQeZ
btikdcbRKkPiakfALi9KhsZZWJtL3qanLBExL1mGFMwtqYOXpg1Cw4O2UCWKpYUDSNhFzwaELLLI
4mSQDEyKhKR3CsrcCAlVwkVRHXHc4GPOYLjwxst4NphDcYheNSoVAJHE2ymiViazrDUIYbncI0QK
JW4MRJ1HcfCxCrgajw4jwaYRlREol4ysTulA8zIkpFfrUdQBsbqkbqZQCGOo6iKxDVoDPmCNmBMo
2sxE0lNo1AFQNcBSHmERlMopKyaTSBQTNYyoVGuQxNTC6hCach5mbneYzogY3wXMMZWpiBdSsShT
hrFmmANO2FguZQ4Q2TEmK0Ewl61wDEzFS3EIRuAYCBUKuPEuYSCYOLijuKVcONwUZ3wxeIFhiWvf
PcIJmboLzDUcElQODslzJl41EeoFkdzJ4FAYJllLu4KIRC4buMWIqihmarM0mqOAtMI6hmFoENjE
JyVFiC5iPBe2XxNnzEgPDb8Q2XHRXdS8xf8AUGEURLb8x6fcog3M4FJLQDGI1WoYKxKVK0MwLJeb
Jipg3ESd8BWXCpcBSIMdkBt8cL5lXDhTibhdRrqDG0MYrS/MHUdXLWAw52zM+bgYjWDF8KUoitlO
I1BWKCktIsTc3DwMrHHhqXWVqDBHqacb23M8xozLElh4XGIheI2THiXZhlrSOjEzCU34DSQblLgY
jsifHEiuFZgtc6mRK5ZkECxVTIY6IY7gy9JNAYxsEIo3FgmIEDcdsTumsOqULGVHeMoYu4W5jnwa
xZpqUWvggp7mIfPAMWDiYTFqYY7/ADC5ZOT3heJibkqhA4l7PE7ShnRziFV+oSBY1KfwOVSqLizN
Za5rAyjdVAZQwSnA6Y5g1MzgfRNghYB3Mo4MwBuU3DfFMZQaRVFbgZommUYIuGGAqBfuIxGYGZmx
ylZlh4Q4JWoMsxcKWQ1NMJvDqUuHDNVQYYpjNxSniqUypXFNwUQKCTZixYsSytTNQ4msuGXibEpU
dTOMKgYgZPcrbwVuNSS9rL1izMzLzojGZBlC9oYWGw+5nNxIJuMq6wFcsTmF4iUjaqaQ5IKYhWhl
qIwTNgblSo0lwUZkZiWH2mbKnHUqyWzQgwJhOoSahGXeAYlkViNCoKMRYx1NJQCKO4MEGAagtSVh
lBllRthq4liBN7ltTsReJaias2MS70cNRYkAI3ADMowIm+DXU2VGCmOdI44SFFSkNTKYxsExRawS
0WQTXMoSxZSxK3FqAhaUzbGoW+I+RFEYUMswNJ4jmMVop3wMGo6lk4WpfmBiChhsWaE2R1ibM1QN
zTKXmiYYJs4QiTzTtqaMmpdJNFQ5jUIuCWVhdQFRYJpLXNC5YcEMMc6XAgZmscCZXAMkA3wRylNQ
GBxYYJiSiI4maix1gs46zAbJdspTc7BLAwyiDDVyhCyL1HYQ3qFVHwgLDi4McKXwBUrREXGpTubQ
wuoEqVExiWjhKVMcZrLgxu4HiN3OosGyDPADTwLFoj1OxDqc3mV1s7ghSQc/2SbLx6Fg7ufaxrf8
4U+jzK+z9zOyLjehteUsF0dVChSx5k6gVq2WSLEVejFDiBLsPcDP85LXL+xK6A36QOvo0mi/dCrn
95ctgUecSuj+ONQODFLjVhNlX5pLEf14pTIYxmGa3gNygWx1YgDTXzKkT92S4B+ZFsaPKCNAe1xZ
ttfEkJQ+lRqAvylSKbrECsPsEmwhXyxGvquHsXysplv2xpsT1aCyr4Ccdy1G1xiKKIbdB8wBx9Zn
UL4kqUKm6wRY/USry1xLpt8TzYr9f7ePP/av95VRf8Q717soxCuPYAm+x+uBGh+3AHDe53D+9LdT
nHfgk1FWPiVTNviORXtsIWUI+BwmzW9W4Z9pxIBn5BQ6v7ksWfrgJhs+I0Gb/UGnLDoY1qcKoV3k
iDuWOj90Jhwq1oYyNMbxGkzj+7C2iVuqMa/1Enoa7zHod+Ypw/fF64oH9EvAkDfF54PygK/0p3L/
AKTNYfSQV7HxOmJ8EQMwADP75EqXHmDL0vTAy39eImZUSwPblnH1uYcvqdDJfMRVctKk/mTgM3i8
f88Y+/nDHbhLgJSDH4kanSJqbQYWLEyAo8ww3+YMDBqPm8wQrTDeYL1MEwDRZjzFxYkHyJsMWSo0
wPaAyF1FjNLlg0hvmfKTymGolTIfLLyxig7JhT0kKvOCp8uCkHGmDEWYVhrbUo0blWQGKYg61CqJ
edzC7jeLikIwQAURw1cChMQNUZjYBKgDgtuPpv1AcQxmOUPvgZuazUTdwUFGq8wTAq9yqX1ZLGkf
cFsFzuFTs+4pptLbW1wLF4C8rlTRRAaomo9jandaNQq/MCrKwwlUtUvM3mmNQdveKpyT2foRfytU
jYrG40hXbnhEB/wkzL8VZVHKPWCalZwxquRbI7tIgAP0hdtSE3eVEsIqKAAmHHH0o3hYIFa+CX0j
9j/bAiCzWf8AtgAH/wAPuCsIfWv9wPJ92bZlQqFhQ584sold2blg03yplK6nwAjhXZVU/wBRCWD3
/pCuhvT3/UCuv1Y/xNVi/BP6mRhf/nqNqLEy3bXjC6mNCyUVu32v9zzP9EF9fab/ADAW2d/9ZjYf
0MekZ5zK8tdNwCLszqDY2nwR/wDIP6muQsuR1+eKQ1G8SsTAVvRDoBzaH+5gTRwsMMS2AxoMsu1O
mC3s2lvKe6ZtygwwT2j5ExQrlZ4VmeF+YV8YvcJGf5w80s2pT2ifaWtCrxcx5cDNyOr+aKf7ovbm
LeFRnBxzIdMDvidcCmrR+vEDE4zCDEia0rxFdN9TEFIH/rhtf1hYMKPUUMECxhnhX+IHFfOpS4+y
LRZGtV9QYNc8JY3bCvd7gf8Auj4n7Y2uOvMKbD+4vcGoxGi5W74MVvDqXqbmqtM7VPWSXMXxSSmG
7m/EBxRMJ8uJWp/BFf6pSlwrpAq8QUwnmhmSG7MWWsCa2/lLTZj32nZfN7kFGyfA2Whv8w+0/OWE
R8ZwU7Oy86VPm8CW/ZmA0x3ScMZ4F901BDNb5YHg/QwSNVbuyKv64FdkfeOJb7wn/hYZPmIQ0hlM
Saq9Msq7/gqFVxkDb7hXQ9RWDLj0UYNTV6EAFXwnnSOs7hQ/5lCiWtrE6HiJOWXV2gO6llMJbPC8
wSChpbgJsgrim5kc3MOmN2FDsKifDF4PxMcdxloLqDE33C64BqLXzMmyahZt/wDCoNrKycZqFXK1
LpruNYFlIIkBrAUYrcUhYkFv74UsfuUt49dAyyJ+kR1Kj6IAKP1EAofEWiDi+IxfypvpJ1y2vzaI
KfsUpcl94XMjAWXuCP8AmhkVgYLsPMLJF+JPkUE1J/MnzPpS1n+DELVv0xof6pCjw+HjBXITU6v9
kFTX7QfAfyTGFH7hmCv3PAz/AO7PG/yT4rBM5QR/sR6LxMs7QoLU9CJW68dk3hhbZm334ImJQ6S8
sMzGhDqM9Ug1tIUEBOJHA0SClksUqMtUFSpCa/fCvH7p/wC9BP8AZG4X90/9iNsFIfyTxljZVBj/
AN9LWP2EfCllFk9SV3iL+IO1SnJUaFoTeUlaZUVglDot7gjSGYgHhUyUHMQfKoYNXUyck85eZdHE
E0JglGZoBGesf1LpQ7PKGLQe2XXeXwpXThlf3QFgGCLYdICbP7vBqY1a5WOQRvb7cLjK9zXaDfua
6/gigWn1C+xWw0+IDqu84zSP1YGsxwrDW5ughEhaR42vRdBB+bRlKuFFxTxDXHuxEyNm4oIIXcvE
CxiKVrEAxctHPiJIlzSZ0igBpQPN/wBwTtuOBVyxm0dIqVVnC5G6mUCCgZgPuFVH7mFO09B9xVzd
Oq8uS012Q0KH4ImMVG9DHS1VeCFvR+iAc3/IQMz+vCuv4kXO87gBSuNshslvUHazd5gq6PiCD+SA
uMvcDJIpw+KS8/TYbv4cQl3epTMBVaOy4DH8SxdXt9ky5+uaN/QMbdPud/h+JOd9COmH5SCg0jw8
z2DxU+T7xL3H0SW0cKHP1yvcF9uOh++UP981o/pT1wz3Jyh90kcPz0gq/wAAmGz9KftPCNWfHTgF
bafAxZ5fmaWl/dZ7Z7E/0aW5bH0f3ktx97iOv2o6fdygrr+ZBbPzJ0PtlDB9qXNUt6YZLonuQVIw
/wDxqL6uzu8At/XJso/Ynk+lTtQ9MwbZ72esKUaPpKMFvqE1M/qWwL/YIZf5zCvP6czYipOb+yPm
78RMt2HieXMN7Jvhv1eGZfSJXufv/wAqduJSthir74o1il5TyLH5j5Azqda3BOzKHDFUSgFMDeIW
iaxw0TSCJSFtPqGzD3AuOJoIIgPmNS6B9Qyq8Yc3DtCXWOBmF4wzUtwTs1BJUE6gdoNUXcBVrELQ
KzP8uA3cCyFuLmK7YJcSptgF2ZIjPCKyy3zUNUw3g8zINQx/lBT6nSKXAVVyqYFpiuA1U6KZeTzL
1EzKpPE2hzCjUvqYxUCt4mJ0S6h7uiANP6iW/iBljf6g7PEVrmPQzffBBS4mFKl4Y+WNjFQEAwEJ
TZmFaZ61waHuBeQ/UtauWNy73lcEHn+ZdmiOEuU0PUO25Xs6nkRDC1ZqW3uNrKzbES6ipgIbNqA3
YrCwXMGy26gCUv3AgW5oy09SzNtR5tgIEOUyx2y+qDHDWZtBG9Ew84q7UWgo9jDORbUD9waaJm/T
1M/9EV/0pVcWHE0I41UziKiETDIwAA0SowAEMsKqq5YGC5dWILcsn+Uw+Z9S8YlszcRuBA4ZbbNX
iC4IOMcLMyk8pmzwlq9QLtg4n3HSExAloDsrMQ3MVAi+J3GixpDCDIUmpQYOZeXPAQNHcMMMw7lF
cEMO9QsXLpmU2KIW+oHV7gDUeWWClon1CqsIaSbWTOkpzioWNTTdwq8QyTSmHCShrEQZT7heo4EC
VuUDUbVeJbBbcQRabjbNQCrIlJmppxYtkxH1BZeSiGYJetTaXrxHQ8RQA+5drGGWsTaGjuFRMIlf
CG4Qruds73KzUXUfmW6g0T3UGzmGmpjzH46uCvcyyrEqbYiHRFuBhUagEucqyiFs6IZhQ+YJmF8U
N5qdT5JpMsxZKyVC1hsgacGeBNQVqdxaa4MzEJniprZCpZ1AozPCBD0fMLu54gIsEqJArEKqerlw
u6jbdzACUMtO4KwL2iMKwS9YuOCyC8GrZs1FRvxMTErMx9wRLxepRmCCEXNwbvq5WR8SlcSp5JVw
LpnctvcxrzKtLGpXhqLUaUfcsbY64BqzcpBbF8VcyXaTIF4sC3Bf2IN0jd6mDCyrl4MamZ0AYqDy
1MNs8BKDzEXXrgOWoK7TNS7WO5gq/MtbKBcpJ5ggsGchFXiItCFXM3PdwsbYouDHASszC7i1LYyV
xWfUtxM9YiXDMAtNkJSUmCiXfqxgCgrWoxTcprco+4YQxBTvEDJMiM3UrO5ksaGFwsuoNzdlzYjV
m7ls5hIGi5o+YYLYekUNwYO446nuZ23PSxpbHJGskype53LpUwOK8QyVqbYZgvMLqNpmPd3Ghj1M
Y3ctzUw4dxU1cYq4J4ZlNXBqGoNlw1MJn9zrqUjNnqBWKWWyszFzeNwoauLAxbHC3BtVFzUowLtl
NCzL0gHBL0VkmQphjFuXa8zTcAt1Cks+oL3M7y7l2aNVAN7Ju0ng8RBvcwMBs1PB4gLWcXAbbImW
Bu4FSb9AamWxHoMMyXAaUagVQgW3MsVlnc+MAOO52swuBviHmOo6ZT3LtuJeANRZK2DL4gdyms6h
tHiCJVR3DPXQCepl6jUvuOoPBlUxFevM7nhgpkTFwSo6lKZtM5xAmIFk6b40hqDnJK1iW3AMzqC4
D7lN5zDTcz+kzVZgqmZYrWamDSxlsCzBLSriEC+Ge4EnWJjijxGFh9JMRWpdQ8kKzMU3Bg1MN4le
XgcniaXwK6jVkoF9MwXWfEeMmZ0cUfxKA1o3OyDgiF2+IpBuqndxNqepuzxqAgS7nZ7YrfCssTpi
OZ8OYFUEbuDaFTfTmVpqZGG+4CgrxxT9StLBWNQWqZZV5plqkwOXeYvoQze2OswVVxogKKImZXZE
lY7g2Q83vMNQcv4mRkniXWOPxw3UMwYZeZSwLBa07sv5q1BHDV4/0RZoL8Mk2Xz1AcR1OO0dnB44
g5Rng7ZrIiwslyswLxKN8DiMKlXGeoAME6jgQCoZikahuWeL4OoXVy8QuPXFEKqHaLmAuDFS4DcF
ie9LslquP+5fkgdK4NJBphbKhbRxlxMlJD4XxFjcLe5ZUrG+GCFYgFsHEOoaRiGyO1gLcxqy2Yxe
mV3Nhwf5sy8LlVYW8L7jkMBwA2wLzKL3iApa1Aq8QKOolvjCfcq0dOXMwxWdToJhM6ZZ1jzBHU2J
0hOniFjdx2e9y7FZCNJO2ZpKI3ty1NNxrdZldVPbGYcioavogeX4gEhRZr2xQrMtELFVkdysQYgs
yR2VM3cu2iCUTfeqJKvt7mVNtxzst0YBu2Dqc6WeowCTwvKnipSMVc2YCogIsRZIXK8srN1LvUqZ
ol1N1C7FiiEGMwXZNrmYJ1BcC9MGJdZgzubNXAsgJtx1M1AUhkXKFTJhqdytoEFZQhnMFTaZ5lYI
wNxUhKpt7gZgEhlKV9RvgRqW0wT6iF0yzgJkhwJWWZsjiN1hl4q+phKah85hXSdy8LqsQ0lS2bqa
X7i3BVadMLp9kBBTXUCpUxiJzcAv3qWDJPJHVeIYRmWggJuUtHWmqbl/q4VuX6l+pWrgW7gDFXmb
FQyrLKlwdQZTV5qGEZ2rcMrAUGVWmDgzqVg9kysDG418Z1c6L6jcO4K7iuq13E0SjEyVBuboiulx
O3ZpClEbJ1KBUGeTM5w2iO2PiMuR4UNQ8HhbDP7BxBkUE23AyGZqUx8yFC3d9ykLVoLrfcDErgVa
VgxGKURS3cl1PEsT3XAGVcJWSWjhqLMzDv44OiGHMC7+Y69xpzAcNYlGb4KlssmjKGWQKKgRgbe4
kNxgeHA3RGtQQTEA6gtytbOC0yi/fC29Ssy8xo6hReCXYMzDKzWptnaRu4ZJYJ8TTcE1wYFud1GM
1OwloI5mS8xrT5ZQRc8LrEUDN8ApLqJhdysYOppEqy4NFjxZZCwybcRKxqN0twrdzC/Uq1hkhkd3
KBQgmazMixJmBN/NRFqfUW/gTIGJtjnBLspljdJnJcS1bAN3qWywUX5gwaXsMwRCDCj5rqN1C5U4
K1fcs7Hhhy5Pd7+AsvABuKyUXRGxONmmaAEGhn28QVKizWv3RLDaxXEMwMASr9wR6JbyyiKALke+
EXGYCGVMYExHTLptVieXIhVzpxKgLzEq4L7gsHN4qVHcL5E3CZsjmFmJvRCk1EonUXySswS59RUJ
VudBlFwbjcx9wwQLbuLWZRVgjlgrxNJGv44dQwQsUhzzXcxlA2vUrHRCWlOqit1MuSDjcO7gw1Eb
IeECnce1wwe4iAIrcXzlgZqWqDuVbGFVKwVLeoLmyCgfMql3mKH+GZcksmRml8N2R7BPFSw2zypA
YYvntqF3csqHCwmwlJAFvLUKKzmF0sDXklCe7gKQu9wU3NX8QFbmCFB4SjbZFQpuAx3cBlNObh1b
FoDUzFg3mBqUZQxFw5l3GHcqXLoxUSy2iSnFl6wp/TBQqPeB8lUNMSBZqjfCRambxSGEKi24gr4c
HFMbqGDiqMsxqGi+BsgVuUFSqlOoBKNMqU6Jphllsvxwy4NjMUy1WRm1xPCUmbgqR0gFw4WVMQLl
YA6gllyy6BUbXBK8sBqFriCahdmGo0K4vGGUVcVEuskLpepkcRbwmag8lUSsTFbcQuVVJTe7jXiY
wWxU3eAghYbO5eI7ahtnyxMEVpWOAbuBCubSlIXUy9SkpbVYDdXCnNQs0RKowBG4FKhO3HcGhiGK
qBbUqpZjEKqUc0eYFXE0e8zs83HX3iGI20xIpW4OkMR+JnBAE3LG/wCZiko+7itS9Rx33BCbh2lM
wU3NJYgz6mOBvzUJYD4CFVHZpKtTsyhpjmkbczzr+SBxTMEdXL2x3GSAj3AVQgZ4ync1RGGal3NG
Lp4LnbwtZRqXku5nGYHuIKzubXOrl6mhbijjSWuMHdxqFxwgTbCld1AoYXay15lDNMFUNcERwGcE
26i4CAuWmXuYcLlv1CncoBc8PbOyAQr9ymM1wWibzKxudkyYi/MxSRUIy6mbdJ5gEAh3KOffBDJu
WE7GYqJNxeYSGdh2SliQt3qNC3MLKeOFLW9yiYZ00QseJQ1mFsDcDdlTDHbWiWl5JS6ltuM3HxlZ
NxExXbBYZrLqBlsm9Q8MxZZC6pzMmvEc0Slr7ivqsSlvM0YzLJBgZi9O4FNEBrcNbh8w9JdEqXXm
DLat3DBAwvbLqxYWkC5WCtiMtuDDhKYXOpkHyQMLVEFfqW3NkVuJWIBlWy6sKh2lrctbyw1Ll0Vi
oo/5plKLHBIoCD9zFizEErSAbEsp3AuwmKDUaW6SUljpmMG4LMMb2SgGypmUgqPUp0IDnKawlT2R
CZSKtIL1nELzRCwtxENI0QxtuOaw+kjZkiacdwsUEWsTsy9BsZlGhFbbqoZbJd1cUvczMqyi4lOp
hc0dagpnbma6llNmJ5rNstHThKcWEooz1LETGYCX6S0Y9eLmfLAKz7mblbxCzMFnzVRyZfM6pxZ4
vMtcBzG1DQmIxQ6cxpGoUBC6I91knkwFCYuNh/U6qIKuOaxC30zNIaeCKimoJVBTeYtvaymi++Fo
3Fq+oFV6QP7myMamm/UA78Tf7mBVdyyluYOhvMKGZG2DbcumNEJ3h4Oivue2HziKMGwNjNrqA8wa
JqZcFV/M1m6OpofJPHwQpuVDXrzMblwqMrywgRgBstgHm/8A2xg0nWiBKVPSfcOv9kULtwdg35Yd
T+rZdloiNHbu4L6PbAz/ACsFYye2CvV7Yp0fDAisHyhbN3tnkz+4Cjr9wyn8krEJXlP7ZlQUKvzl
gTO7B8NwMxK/h7xAHsgiNVQlGkUrw9PBA8W/UPh/CL7P6Imr+hDKX35I33++A1JQ+5AAa/BSeit/
KdAvmBbIMViKlBvdRoBH2Dcoc/WY0J/FBLv+WA4f5412/Xc8X22lGv5CHR+9iRNC8UVEtI42vGso
QsBTgr2ovDKX81+4X1+6Fa3l/wDjsa8/thuD9xuWroIK8SOGieGmDAb4Lf0ozLpVCUt/jEEuqfiB
07d4hbk/1KeDZ2R8YRAG42CZV/qJSoL2kK8FvwTDQS+kxM1z699yaNq2LOAVNFCzuuG3ublpteYr
18kg7gwqPusLzhnUqVUtyPoq8N/4rQ6We5NYB82OqGO1KCuqZIsR9+asFnio8LKuMRvCsHo1Ipas
fp4NqLcVzLERVxXFj9O3DOGnvRGK/mibsvwIZn9Ka7R5TBn+PLIvebm0ONzW2OtQ/wDytzJYhcHD
CFOpds08LngWMFwHqJMJbXQtpZCFAE9r9z3M9yG237nvQp1fc/8ASgV5/uWv+aYd/wBxT/ZP/Tge
v2T/ALPKiv5eJycWd8mAptJTqqXN2i+9fUKMQaKvKf8ApDuv9E9T9J/4CKY/iTFR+pD/AKxPZ+id
ar5M9kgNQW3Cvs+p/wCXP/KmPMvHPLcjd/ZLN/zwP/tju/nZgr7rYEf52DdDXlgxj90LVP3Tz/si
RaPi56P7hYzKh5Q+fC5TBXcXkmGM/r/6ij/hTDj95P8A1iH/AG5Mf+Ul9f3keiRRm/1UT1/HD/ry
dssrF9EP+sIf9TFev1g3/Qmm0fUrk9X8Zab+EKmCAQyvUMpT2/qGC4vJMX4jNiXzFRdzCrch3suQ
9KFt/wBoq7V8pvD+DMOv7RRkfqA5/pN1H9Qp7vhlrP6otPx3QondRZC7+xmHX1MvUxwdcAjP0MV3
+tLIHrkCgCvAlMizzSA109QpSv2ij/WAMB94gKAgYRpJuxQMR7Iat8YlIVW4YAwu3EO5qEatgEzf
IqPr/cJ49R6qDOjN9sL0e3lj0/yYnv8Akip/kRxf2Jh153A20fxG0EKJWXuBfp5jV/kjdjZPB+8n
b/hjbuGQFdR80cZ/WRUat+EoLv7xN4S14j7IzFuFuSvqHBAWr/U8n6JddTeX9bMP+Fh8e+GNmKvh
iGX+WH/rxLS/bxLS1++Z8v7o4q0eZsr9st0y9cvCcUqC+iBNfqQe/wBCWaH7J5T+yXfO/JAj/mSn
Of2Sg1/IiW0/CTJqQi7/ALIbZDmJUYtLeIeuBZx/nxPwfqjulsiVZ/TLnhnb/RP/AB5+k8T/AM6U
F/xysz+tlun+pVv9ydh+qH/QzyfoZUf4o04/TMtQP/XsM/8AXHd/FEl4/iYbFfFQqWX1Dq/REu0W
UsS/TuIbf6hjf4oBypaht+oalfqBKOAz3CaLZfqIM6qefUX6ko8oz3VOHJqU7wg0UFSHTvPQqB94
jV5/ML9p9zQEujD7gztFRDi6lIMQKXrAVQg1C1yyowMrgBcJ5h1qXTLFtg6fwj9TZ3cDK+Y3PqNZ
nNPqMCyoUYOomnkZX+4EKqVngjcLP3KJksjkfMpXyQtfyTxn+EsuVZWUJknzApElxvMT9IkbCVaH
xLEDRKBNnEpfuNdGKlleMQEs1jrjj+5/hNblf3BGYL6JW4LHF0QsUfM6spYYL2jnH+sB47IGbrzC
59R8WZgleZQ4zqW8zaUBKXAbv3wve3Ub8Mau0popdRTtZ7JTM5hjVuWYG3UrdgQsovuARDNEBrfc
fVxYz4mCATItn+4GsNTWxEOKIAbpiXZKxSwLJWri+ZdIUXVviYMm4g6fqWEqNQOAfojddH6iuj+p
eVT9Tfh+orWBAGDTPpainOzxKbq74nhlTexlfk+I4lappmXlPM2iFPDNVDQ9Ysx2QLloJq5ed3L5
uoI/E3L/ANZgBj+2VmaCjMeljuFAmL6I1oplxAqkvS4rEAZ1XcBv6lnR2y3jRHtTKY4X6hd+5nWI
0jl9s0Jav1EnXcH9QN38TD+4pNQEKP3LD9Tcr+52x0wzCx3Kgb+oFMdfTEmBvufJ1Gf7gV+pslfy
iH8MNSm9d8dsSsvzOqeGUf1NGO5SnpgtXiEpfcevmC/1GKhCqH1EWzxDIgiHUxJRmUGPcR0vc9XR
AbiHlcrDjqVP9uEYCRMQdqx6x3NPqUXgjjBKipUoGG+vMQqFh+YAEWXn7mOpSo73MMs86lYhLVBa
irCagEpVRv6IbIdmGXMQ3VS1QAkLOCWShMQRw7TTjrNp2lYbFIQurJTTmG5hgBh3UuojJAIOCpR7
/wDWZcwlM11CpW76oBhTc1jbFPoyt0VYYQkKu47HwdwSi0YrcMeqZMk582xZWyxXQy4cLaogXPxA
dJlMAA5PERoK8mxiGrR4QF4LIyuV5ikSOBW2XRTA8LRrvevJgwdgwahpoiri6NxijmzgijUX1wi3
nq0j1fCy/wD+Z1haqmFtT2DNKRFbzQpncKsVF/YFteLCXCewfsNkVcmpQQrympv9Ef7RzfmpRmf5
QOLb33Kot8RAz8S/7lJ+p5jv1cf8Mw3D47mMfEsY713PESif7m6gv8TC/cBcI2r6m2UzOH1FS+eC
q+owVkqhuDuBPHxKnv3M1ubg+uGs/ExnPcrDKx9Sv1c6ld+oMPzB0RWoLN9wP7YCn1ABL8yqiz/B
OngwJdjCswqquIMzwpllzMt7YmZi4Iy577gJYzJwcVuKgDJ3HtLDcQS+L6gZKqXV8xQzLGXRXmep
mOpvfClRZdpe1hd5d8DEDnOmfGuFw1dxBuYYN3LcahEa/wDeJsCmrD2gUY1v4tmdSNcW1fUr+Isr
eriL/YNE30Pnn1GZzjYZ2+G4bOp9k1dw2k61qwQA5eXl3UXs3HD6qUHcSzWWnONUQCoYmU2kk5t0
1hDlIfSEeVxVdhHpZnlcK6GNsAlMq+uz25rL5Yg9grobuyHQ7SZW1hk1BcFQwLuiET4Xudw7QzWr
ukq9RlMq2sZRdd6I3WCEAY9SpMSZSAIPxcoUR3YMh8friNutyvU6WtkG/mX16jEpzW5lB9TP8R8V
3C7lZPojl9wD+GHcz+0DpY1NM2xhV/cplZ2/MoUQGvUADi8fU1lBR8ysa6h3ZEyN9zpPJy6+p1+o
soQrxA3Dc1KiC/cGZV8AVOvqA3MWHeYhWupa9k6gNb6jLZT/ABwHuLNX1DJCye3jgcag/wBTEl6f
cHdxVJS5ZUuWq43iyZnrrh2RzN1iVMkLl4uWmL3KSYcFLcwTeZWgE8I6mUOpfgruMQs1crO4LCVs
jVNFcPELzM6mG4dsqUbfHAwdf3xvdmIpWJg0YV0XF0mHxAA+hI0BogVr8t3EswgYj4yzEcagAQDo
pgEyC3k9kZTjkrL8XEWYKLEJoiPIp7EiS/AjYE8Mr8AS+FGMRCBrxW7WM6+iLv0gidBko1hGiEFS
8p0NwxUsGloxSaldz1qSnSgm3e4+XPShv4sQTDXgswoAYIL0TqGhUQFdtrbbMvvUGSB6WFx+w6hO
b1CNuO4Rx+o/5mJ5mPPcvBMV9THmd4emJMP3LWuO5Vz/AFP8pf8AJOrjj9y9S6/U863NQ6Csa/bF
rEf4IttzE0fU2zpP9SymE6+uDLMV9QwMxf3L99S8TMP4EL3XRiO2Awp9kmDXmGQZafrgdCzSFv0y
oUKjn9y6llDEW/cs1L/hLILcwH4jbRHBCF1KzEYm42pmVkb6iOpmMFS3cHDMUg/apjzUpVjBfMrM
TtgMZm9Mb3MgLxCqlWuAw44MI4JWtkCbIPcvMQ64rErRKqpmMNDMYAnMOlLD9ymTWUSph+4qoymq
RTtmBiHAwWGDaDFplpRdrPtiu8dw1+4uPqH+ZuEJyl5b8vZEqtWGPYi3bFhWA4DI2qAMcq3xBZWC
6fFLxF+1pbuyht1cIFR6E/CIeW0bAmmHTcYagX0DQEKy1Bq57uPhiFAcd3pDTSNwVDG1hiISrIQK
APKLZJKgZG5LH1ZLMV5ZV29R+ezhP6hv7J3qP+JY/uZjL18wqYfqNd+eHTMFy+DO63ErxKK43Mwa
67i0fMO31KE++PTxM1K18x39TuUtfcLH1ErjZ9cVKyD4jj9kK/ll6rxEuZv7hwZ/cOAx9w0S4LiB
K/fGz8y2FovRP9zNl+Gaueo0agY+mdCW2lTKNJggxKKZUCMPFEQJZmEVkWupbw2RkrMAl0Ui1KIA
7lTFXN+KAiZZWJcmE0jplaN6grwzEruDmjEILlupiGITF3Kukn1LRGpv+8FawFL3Q9w+vo0qGDZU
bhp5e9VjjhekyNFM8pui4upC3Kwa2zr6mTvubjG1BcGnPUWdVzhAuvEvA5wrs01cCUnO1db3TG4v
MigpVJecOWEvKgURqsldTMPVA5o2sAShdgwIPx3ZF+o3bGWQkUNKAspKwdYqyWbnrvFdLFb5rSDR
D6ZbUDzQaleqnhLa+2YrJ1GVkjKf5JlzXmbPqYhqGbWJP9p39RhGPZ6nX3GP+J39kTJO/qblpBKv
1DawxL/qWP3Bb1FDxqFL+ohdTH8cXYLnX1C+HnG/UXD8ym4WhO3gBJaaTPfGYb+4mLPEAf0mb+5T
KQZpmlxLEuPUrTKr7qXuJsgFkbMRdTDJzLI5CDhuGngVVL2Qaq5YE25lrjSQlCwxRHDEnctZbDJm
NxYBfCjuWJmd7iYmLgJKTBG+mI6OJuHcblLUqBk4Kj74yR8MA+gxooZaf3JikXCRArDZoqYSrVFf
BKFfeV7iZDgnaoCvpiAumjDGfcRGOxlZ+o1iWKzAkMMLWTO2Wu0EbmDqJ5GkjcGbAui9suKiUxYt
PAhnvhDk8rGuYF5ByywLFRjEFtrJsiOAqUR4LhR8OZ4v6LgrtbxEXglJG9+5uCiH+ZkX6mazKj/i
OGEdSwgg/uG79RGYuqm/1A99wO465YTsleupi5cK/iP+SGz7lePEATYb7Z/qOU9wcHxx3PHxP9kN
xMfU1P8AcdfU7hglGF6i4ag5loV6jknf3FquiWkMvuW/xLTfDVfUw6gk6+pXAeOiBtYW6dxUTWEA
mCfU6qoO2Zy8OpfgmhmobhW3iMXshmdmCliLBUzUVA3KHe4wCnqF8JdymAWi4SGTYQtXDGcOAQQg
3LrqZX5l+s1LPUUKZXBuUPcw1GMOS0/UaWOa37tCs8/VNeCE3G8Qdo43NFiW4y40K8ThNRjInCl8
7t39dUBajtiYh/gh1CJ+Su8mMDyauwDaRs1Z9k4oteJjkQc3ZSqbuAv4/uJ8+5jB6JeY1v1L3cUd
1mLRnNS9Pyfhpl411AM/MDD8S9s7I6jMfzP9Sv7J3LcuqjtKa3Dz6jMzf6juH+WOROllVOvqG2Fz
d/HGls7lnjqLG/5YG3qUZlLLBFZYCIBrrgdsrD8Tvgut9QK77JZOswd4mCNP6l7gXP8AUq5Vr9z/
AFP9xgsKrxPcvFRggV/UXFe4ODHcq2+pTNdzCV3AfMGJbmiY3CNsESXiaRzz1LJcNym52y6ipUMV
kl4ZkS6IMppAQrc2YjqPERVzFLISfAiTIyzMUM0QqNsNcUUwqioEF7rH/iUB/wCpF9oMAo4jRx95
fOKFwtVYpENYBhcI8NtiiRta3BQhMY/J0VKnOxXfMVG5kROr8w/xKF3FpPSppkr4ZYaxaUrwUDll
K3+ysMEY90qtpVMXrTalVXRTnMbk+ZmDT9y7K9M6yTTV9yvD1Op0+WdFeOGcRMfU0ymOI0/uJiZd
+JjPzxRtmP5jr65WQ2x4Rtz4hL/qeY6n+owcxx+ouf1Bf5iTMdQ0fE6glQqvqHQlFMpr6gn8zEL/
AE40/cQBfiY6iZmv1xcDD8SqjMLwOImWaIVDLL4xcFfibsTP3Cs+Y0F1AsuDW4qEtVLllwp/cp0S
xeYgvQWNqjSCynyTFe4KlPmF3U8wcTNXcTct4QFmN4vi0GfNw1NmMjTggKuMAt1mkFxL6lAVKmEv
vEMkGW5SCLxcuy64A/8A3Ygayrm+K0b5xsjOjkATfUXKExWi+Bl7yWJoQv4bYkXbP86vMUZ1Q8dZ
Yv8AkIov3K99Ru/sjMyEWmFPljxJJBTbpEbUrLoPOotZjlIuP2YTSCoRlpiLbBj6xLb++NXEywR2
IX/M/oibJ6HbKxMXGzqZJ9TEXGO/uZOMXKf4juEQmn9Tv7ivHUW9y2/w6+uK/tlY84jHqDi/XBoh
7ep3xYA+pdozR9Rq2VVfc6+pm3MrRjVfU0ztK/qf7hy7IJUWViZhf88F1A3fmYmE56neu4AZl2yx
qLdN9SrJVS6m+yFIdpEvMu6M0QlMtu5YLQmIcABCrilwukCZqCxYiMtQ/UekMXLxMBXxHRU7whwu
6xANMTMGH4DwBG7qGMVHqXFQ1OyZq4PE1iWtpCgyx/XGecRi8VgZgWRFC8guZRaKNxIMpSKPFeli
48523iD5azCsDZgwjCHoqziW6bhy+CUXXuYT6iHR4hsgYwtoWE4rW1QuKRX2BpVkKZ4X4/4IAOJj
V5nn4heceJWR+Z39RKfuf6Z5+iZv1A0/TF3FcfLOj4le/E1iJf0jdzEyZzLn33Klzszpj/iP+pXv
uGeuoxoT5lf1HfAV+pXDr6gWgpjMv+p2/U7Plma+uPHyzJoxUouUxXlgQ+pm9eOOn4hnTxOxrzG6
+oYv5mLGXf0iZx5h/mf6hVzFH3PatQwni4Bf7lR39z5TX6n+5qoOZ2/MsrrUe4OLruXPMKP3PgiV
C/EMtB1KXqZhdPxDYtrMVYFj4qZkq9HmLSMoLgtTfmJvBiPqHFU/Uz1HCFRcwcTxDSy0bcMRUJsS
wSkzx7SOVwIUcHWJ8sD4hdXFTHD2IrD/AOKhOkf6mDF0eq1NQNV0PSF+srFWZ6j0CaML22MCGha1
eWIpYXG0vk0uZr7SIuG4b/iUiGABEFMHa8hMrVwa28oDsiUs19BV7sgqjMsgUrMl+Y6FdRrZ3iNK
YhnfUQuI2fcsr6lN/cO1ZpiUP1Ev7MsLDQxMy73LFnqLT9yzRGyiuiNle5VVBDEVGY/meYztnuWm
2MOMdeZeNdS7F4bP1L3Dc6+owdfLEPRqDbx/RCLkmH9TWEWUp9TP8xFfuX/Urhq/qFfzAKx0Mc/q
C5hqE0/cDO+mbMviV87mf4YU59E/yl+PEDM9FyuKz7jgfEG2/cvn3Pb1Mn2ZcUdy+4sxrVzqa09x
l+6YrUu7gKyxxiCbMbuX1Ljd4g7uLcpmjfcepaRondDNJayaQMcb2TJ4ssZeIKMSqEK6JpqCZu2D
TUE5qZNVU8O7Cp/hynPaSJea5ei1qgFlmSHJEIT+i4EpHaIGWNCQYdZzG2U21Gb67usxiDqZKIMJ
nUrp+U0BTCg2cCuy+PKGyuXctXRcCLCLApFUjH2kXwJ2upn65gflVGCX0LqFV0qU+h1AarDFy0xX
K4AyLAXYHR/0XEv/AEDlXkXGpVueLZhpDdQ5ZEZg8pB+5Zih5yxJ/kZ4bQEF8nWVLgNfme2cDLgM
L3GxqN9PjJDqapwPKxNy1FoMtKzERAg14KGIOo4A37BNZevOrkEVepvWsRuLj6l7jaU6uN79S6/c
2/Nxun4IM/c6+o4jmbPqVmf5Rc36ltz/AHHN/EbgZjfb1LnqdJ6jVsP8oIfqYP3Nv7n+otTuf4Qf
7mL/AHNODqbX7IkvBjqG4DVj54z+2VPg3RFk+YeYwyC+5a78Sw2eI9J5lgfUrEH57n+pfvuMG8sM
Ur4JctSCdz08wwjW4s1MZ+JRRUrTUMaYncTEv9R7l0TIwVQh3KRjOyNkM6/fFy7seY1xaw4jzyVG
9kJ1NTGnqN3MDEMjABg4M1DYTN8F014gp6zMnyP+HLc4hNN1IrdVpCT0Vtj1bcBryuUbgmwzRoAw
Sh+qBBbsTYFp3Atu9KqKVfbKiVau46s6qPXW0ObIpfw9GakLsKC3prr1plcZaNiLpgFysrkJcwfK
r4T2qI/JWMtaQmqPazMTedofNz7BhAQInjZeLTAo20ZNVQweShIde+/Oyiswi7sLzFCFh3ZcuKUD
ibxhXVzTgzE5tGuqvW9w2faNxIQ1+LaFBZAEFdp7SJ22RtDhrCpZRMlDGiEQhmbaISqlHAVJqDiX
pQTbDqioWcZ4bMt3qMDv7YscbGUP4jRaeeE/qB/co/uY/iYv7lYiDdztjuZ8zU/3P9R2YV/Mwj8c
H+WBj6lZc+J/visSpRRwbj/iYuDKa31KA+4aqZrHiF2x3HU6+oAa98PrwcFUSsys/csqVj5mJk/U
phUC6+IK/cJjxBLjzM3HJK7g471woM3KuEDSVAUYsJcsijmoXAY3iMioES26gHzmDTkgQEwRtllJ
MjMy8cLmVwy1RMtQRWwCrV2OGoFsMSk2xMkFwQ7m021OpteJXWRoPqJhhVtzRKMVXCLGm9y6wFot
bKMf/XRJdaCiqqnJGp9R39ss0dRRs7gIMREbyKVZ8pEGsVs5mbCKqBUr7E1K9GPEOrjTqL9kcuaK
7V6WO5j7pXxLbLzM/bTlZTA3aEA3nyuXQgIiTCQ9K1aOpONyKQuUdnNSiUMlGwPsj1cU8A1VaqBv
+WFZpaFxPLuAeZZmCryMv4QBAOKpDFQSwDgE+Eg6BIH97ArexmfhJSvTFk9JrMwqrA3vXnMctML2
GxUZOWnVEAEfHonw7IWDXmZvPiZHzNfzP9ED+5agjT9E+PMNfUdTx8w/xMxwleZ19TQ/UDP2yvHi
P+Sar5i4+owj/if7m2Nv6h2e4VLx9QxfzLzCf7i6OKb485iNsH+oq9eIyioZZ3rue4Iw1LjlcwJk
y8p7mIcYjMSy8eJTSLua1BmI9zV7uU9RaqWlIWxrMu1m5ntiWzVxt6l0S54jggWI1NorYQqamW51
mzGbQckw1ClxuKB8yktvF1LmkzU642xKzZUFYLp6/uFgvf6YTl5BMCxrmQyrWSnF1Qthij0yg3Oe
tjjSNJAoVuXPpHNXWljIBaavTUpPPVlQtxySKWQKqCoUIoq9qmrEa1KbDxjg5pXmXPyx8tYjtGlA
N9yOKYDC6QpyXpd1LSGlANuTGqJbOQF6G7uGCd7lbeG1aYi/xNpeArqL3lQIlmGqQg9RwbB7Q/Ne
CPIG4HgrEfuVUpn6pZVjt1CCt5ThhnbVEXEXkvEvu21NXJHDNq3BZNq6Bq+ouoHaufKyLgvnhFuk
xJ2aTMMcqdSV7H+QkQso9d/8ywA/UqLFasq4gbu2y7aaIvxWOoboohl5FJ15EjRRwhuhV5kIhwlu
dRHzUtDME0gswyX8zr6IbSq6WzHZyB+hjUJTlx1vXzkqdfTx2+Lhu/U8ysp7lL+ozX7Zd/qW3rxx
0fESP9uK/uDim/sgcJVPcBuP+Ji/uZViXn6I7lv8PA5z5i0D5JnMyQvNGKmSXmWpL/uWhTP9xutw
8k7l3MzpAxLzV8Kd3Et+5hO5iKh7RBgb3NSklMVmbFJH2nkjHRLpxqrmupdRbdRNUwyjxx2JeuKl
Fxcwup3gVNS47lTFxhudkAndQLhvLLh1P5GFV3Njo36xOKANDNFQN7l6SUHZdq/JiGbN2UgkwhIb
3YglxhgFFm0FsXRklX6F4yiqq9Sg2/pBZWPLKw4b2lmSZWOzORJG/RnscpCbBjsFK4L0FqtT4xtA
xyLAyUOiwFdHptSoMepClv6dlO/CvgpBolLTUcTzu5fFVdKVQYaIlNMOxwlQ2xWwXSAqmiR8R1lW
ELIJJrIq4dMAjM/PqsUU87ac26v1A9lh6SWnYanrfL7VHedTVZLvHSMbd0FJX2JnGnu+4FFZFsBj
bDKMKyBkVgdRYNRK5R4tgV0/cS4s4sLPziiUdOiLbPKXA0va+eIIxf8AXiw6NXLKA2itFQe4HB9s
XENFOkud1fuJT5k6SnKGO69cB/pi/wBHPcun7gtfTLtYbz5mDXmMa+JuaH4mb4zO49QP6l3j3D/c
f0UQ38Mzi5bmp/udTMrOfPFw2fMx+iWcNS+oERU7+5fFkwu/UwssqF6fJxbAc35mRXzMtQS8eZdU
vhipRRaml3LYNbi4JedsBep2l8PAGcMK8RV0kbAlxcwwsmElcWlw4xw240GXiGWYVu1BisTGYIRq
oN8bqWXEbgqXL3//AHcoV3IqYi1a7WlRkXsQ1MNFLJUeZDeTxpH28TYrNwFI8XyqQLKHZB6jzOn+
nF1IEo2+LYcxiW73qQTVBEad4V3ZLQxlBjcWVDvJqtmg0NKucwWcaqVD04yTDLhICDJdq1S7aqyl
ZEpPMIlOVLvdqWekSBnhDqKKxasT+IgFfIVtbhNjtVW1dIXT6YEWBRV1KzGIQ21lBEqDVwmsC2pi
SEltwHQ3KGPbCaIDCbIWPJgq1x1oiAUA9EZnIMjB7YLZCCsUrtiR8D/5YdsRYl/TFF0jMXpW5UfG
fOb0sowdTT6GJk9JJT5uDAwsJXkI1Box/wBxcfUuA9yz/XbgiqI5TKr5j/mZxiBgTo+J3Az9z/TP
JHfysr+uC5hV+J44uZ/kjbLV9RIL/cVTM2++MJPnzHX1Kg/3DJ9S5f8AcqfqPH+oZceYVWYbFTP8
zqN1L/vgrcO2VRLnb5jf8MGzh/qXMDm4qwVlnUNoNzTcstjQ4lywzAbSrY7q4weJvEL4t5hCrVTA
mlwZmEdyzU7gO7bOj6jK4zwHFZHg1Kn/AM3uBawLH5pwRKosiPp9ZVI6R3AKhO7hsdEne3pqG3mB
/RGreLpi/tWpdXDTQal4KkZ552KLCac62ymwHVKufM3tjPakFoDLRDdVs7HlNbph3a/WlWrKNaLv
MNcWlRWbpz+0KUQnwFcQGN3e2MY9XjARX5Jlf+qg6h8JXBkGaDSxsYd1SHGcq5RqoJBT2QhUz1i+
bppI+WA/BWy3g6fgG/SLWY7qNcNgXUUremjTPyxC/giLjzLaZtFqXCLiy8vzFl5+yaflimFReWo3
FcmmP+ZXvgx++LDb0TDwuX6js+Z/pnmEv+uf9TEdkP8ABHf3x19TF488FfwQLt7nf1GuoE0+nhgH
8Ry8U5mn7jqFwhOD4gW+Mvio9HmJcomv3BsV8QCN3qdW+OF64BEOrioxcQvqaATtuDZF6gpFwW25
hqAHK5eWUNEpY4nXFpLgVmXWqauZYSYxNXBlhJYzbheIVTmVbQy8aIzMGDyPExfz/bG09f5oKLcI
SxmqSNSuVasVnMF96+AACv1OqJ0F2li3LckZuRSrsUXrysBeHAdMqZdW9lOBdtGghnmovCSraNxB
rDQokML4teIWKUFlw2ohf2h7lBxTeOd1LYxlx5gsUNjGFSImNaqYK3VqIzQ3gazRlS0A7Ja3aXKT
yNQUVYRpIIgUQeiYcNouQLpxH8Ua1jWzL7GvQKQlN9Q4FaQXZVILSYisTqirRGT+olMo4W3jOYt/
zLn33NDHUWxpn+5VCeuMjNz/AHLyTFfUy3M1+50zv74Rp+pX9yz+OBzV9s/1PvxHeJs+uCa/Uq+W
dDAT/fFy3GO5jGIvFHGWA5rxy1DKfMY2cCl/Ebr7nf7h/gjn9zMO5t1DV11C7jfUPT0RO3zLgUGf
KMvOPMbGKXPlOitxzBKNSjlqUueQws7gxJolhKRLFpduo9o0w1eJURZJpwdE2goyCWXGr1wKDJNo
0pScGWJA9EIS5S/mbLQn9xYm5qSMFBZeqoqxvm6EiVuWzxV4zmWw5BSU+REwCBVldiYSCrEmHKtQ
tebzBTWjdUpYXVaNSU+SJUr0YWNBo1aFkEpB5AAx8fPyj5oRF6sNTGIbu1eainptVz8BMstmHCgH
tIGPWTpUsQIJY0s+YN77lEVGmIXQxV+o1ycsTFWqpep466dseWNPYlWPrDF6p0VmK0iR0oMES0J5
M8XWorX1mFL4wfqP9pd83jfUd8f6gdzFn3Ovqffcf9zqGH7nlx39xq8eGXK/uG99R3+oSvBO9QmN
eod/PB/idw1x5+eKuHi5h6lcHgcnDUPN8G/viroqBUd36mn3Klf0cNYuYVly6fUT+U611PvxOvi+
GWFyyjEpc61ECdMQcZIZuV64vLBYzuXm0jpAMBu4soCOGpkMQqopG4bYB7spiapl3CpioYqpkZZM
3MpV6YAEseeUx75/3BOANLfDwK4NiJ4ppjG0goJia8jIuqcbrq4Q9Vf0IpQACrSGyG6j5jB8riK7
haHJ/HJ20cU20SpL80uCAcYFtoII3Rs8VAbFkJIglhaVZpuLVbYF6EZFaAM1L4iha/LDkpQPe+Jg
yop2pqFVpSkpgSBpSM5zuWAIxtXSmBGjTma4CoboGPmqpf8AbD6tTCjDVeFjq/R4FWqrqoXlFStQ
eiVQw1aZEqXGhcMQAsaiAsc/uDhiErMWoIsxL4SMxG748T/U8/MJ19Qlwhv7nQxhWfmNfxGp3Ovq
LBmP4j/kmg++HjXF3KNXPXvk+eGERqpuFBLsia9se/ieOsnH+pX9zoJeo7IrmMwtiVE3Z5gqZ8RY
Cv7iA+oag1iCE1+pdnMICrb3NfuD58TpnuVRMTO7jDeZdsomaxG5rmOBq47lKj08HcKLeKQwTPF8
nUGVCAg5Imzx/WxKMY/lUJYLgsy71Bc+gIi34FiWrbS5HEJnNjemRW2iJ/adM9SyOe5e+xqvKVA5
R6CkoKqLwPCkbvC/Ax4gzxKlLEpxdTkfDEwGgqXXpg7dd0JmD4gJQrq7lbjiGW5rzDJKUINGKZdz
eEhRVtrAuJeGIJ7wvoDUM32tfM6YcKQFCFbeI913pX+C9Sr+Y6HE/iR6VV2NqtExV6M28XV0j7LJ
emmIYsAO9iFRjfxPPzw5jGqYRp4rPLuDf6jRO5mibQf8ysMP8ymJs+iafuW/wylGO8eeO5rcsrfU
alTH8S8yzg/yQqYzMn74xO6iJ+pbDcolQ3wzo4cTE6fZE/slY/cGuCv4jgl3NxKfuFVMcDiMEMfL
Fup3L4VE6u5kQg3LzEz/AHHKvUp1wDRcpOoNSnzLg9wXm48R4yisELvLlXdS4VdCa8xZerJa5Vrm
DCBFue53C5QZgxdv9U1vH98Ki9pcHT1AzPvqKvGnFtcLxFl5z74t45fuNgly6bl0huiWKWmiOmXc
tUsYeoq5Y2O46+BAP5lV+ouP1wa11GeYbbevx+PEbY7jWC+oyvc6Wdt+eLc+wlIobYGPqeZ/lBKi
9/EZW3qMGo1WupiFXmVdymG46ZWT5hxiKptWOZioEqaVChIVKqMdfUzcXB9w1PTGAlTCg3Hf3LAm
G4wS8xIo9yo0wy+jC61wNpbmFZ+YRi8zWYos7JVu5hByoG47l1qNqWix+IDUzaNx4bmJnjydQUmo
JxeuK53dWmLD1NC/3At+4bSuDKzBiWvluW1z2mcwWMHEdnzFR+oMWMzcVluBQ34zFJU6PVw1XqLm
YhX8THLj9y4TuHP1EWV78zA+os8T/RP9y6/UzG3XmFzX8QuYqvUNPyTGJjrxAGMIv9y4NsvfzHX1
CHCrN5gkrMGLxVykdy4v9S3iqzHOvMeoWWeZa7eLY6+pecPca4uH+IwcxN5hR1ti0h1xKVnE8sVM
TuXUudw4L+oX3xUSmp5EiyhojSIQyo6hpuWAPGdwWy8V3KSmZtxoccBgaZ5gMLbnZlp/EolZKYaF
Oq7NWbIYwNghxdNaYZvxLy5mWF1KuaPVSxYyXOo3UHzw3HX1GXLgMGH4Ttjwvg7eO/uCIsuXeWF3
K4cJ8zM+4U/ua/Uvi453wcC6+JmH+4z/AHBzXzPfqO/vi5m354/6i5+2Z/jkr/EKuLo5GXuCZ+Zc
dy4EXPNzHIUXcq++53xTrzMx4Dud67gs8T4ZtmQ+pWvmIqJb8VN38sNfU2yscJ/c6mmWq4I8zNso
zMrPPiMWhC4wTzbGzDLGYGZmOoASrjJFSxYyz2ku9RXBu2HuDNmZuXUGaKl9cE0lvdgmJdzo97+k
YaurqDAbBZBtvz0ZZrUkhGArE9lpWxI9JVcLlZRdWXrKQGQvO9MLO6vMT/bx8ZuiAZhK/uN1BY8V
KlruE7fmfXOIwb5JK/uMU/g4/wBPFe+5Y/U74Zt++SUJKgR39Qnf7n+iVl8XPExEf5mn6eO79s/w
lZZTwTsjK98PfKyoS4733HUy/RC/5h/idyv7ZafqCyzLoYC2nuZ4oj/iOGb/AFBghHP6mIuKgMuW
/jiwmeM4i1OrvqEFUp9MExm/MG/1+FuccayOI0xczaNx1Fip3KxAzHU+gJUqXRU3GbTNw4GFJKmE
diC1vcb1XVV/qaVnVxpJsULd1dU/RKr2Xd+ijRN4HXwVlWYZpDkQr1g1Cv8AHDT8Mpfw6HzoQ3xh
q2Lq/kRWhaFLCjQhEc/EqUx39wIiBmU9wG9dxy1Er9wSqfqIv7jjUccVKt+40eO4+PU7lD+mJUv+
5fC0Rw11wHAZg0Sy2Ex/EJiUwTN+ZXH+4yp/uXj6jLiK+uaxxmpULuUV9SpVMqe5V/qUhNJ8w1FB
iQS2FSoURupfl74YR1qYuNeIbz4ly7nZ8wiAMC3J28Jn7mI4HFP0nj54VjLCCM6jU+pRhg+pndRh
UaCWY0mLitYi3iaMyv8ACdEYAuM1CDphk3CLFQFwIMrAh8v+oGAxUHdNKwdwMRoPMuACuiV8BVXE
ThqlA+GN5xaEAvdALjdW5xTN6X4YKKWrDULaJrdQ9jwNBBDFD5hQUAbloZuXuosAC9otVlgoi775
mmwiS9iDVvWpeaUe+olMocm6xKH35y9LCMtSthaF7Z0pXBXdI1FLk2qHZlMcKlC7aaIiIWJWERzK
qLIvddwqyVuNCUmNfUXq42PGBWZycbfczRMwzVyr/Ur+4V5lYxHcvEzxj9OO2dfXFviNzv7jGG/u
GZt98Nfxya4GXvEJ/qMUxFnj5lkJRY++DUOEt+5bPFxc0vzxjMsy1PiBmY4M3mV3XUf8zKej4nSA
N2ZhzKicLxO+K4TcyXfDWYOJTUpZ4tnfHu46gx2cCotkD9Wb1iVnEMnGROiUUjwU7lTA4XBkvEEB
/wDQgMLZwURYeXVDRtX+5nO/AVubE7gYvzrQVe7W4dcVTTVWi0MfcjnatqXjzQvGXZgn2sxjQDoi
Hqbd5eNl3OMeCljYKSgV18AJT0/7oEQSGtClEIFSPcFIZg/X1Yea4iq1WtqMAGQMiqqwvVpEtiVj
NjQZY0duyooLFE6lRTZCxK/IharSGNagdbJqRIBrcZ0GXoFRq6MomP7Q1ekJprdojKrq2VSmzquV
UEPL6l6HRcsT2FQUAAbVqPAZXRS9/K8RkpKA2hHVkx9VGmar74TP3P8AUzF18zASm4lZg4YynhGB
M3E8TPjqDn7mP4jfU0/cqVuf7hr649x/C98YjLmJUYbgWTP9R6mv1GEwVGlhohWybI2BjqE6j5jl
y88ExwbYmZeMTJ8TwxhE6vqVn7lImYua4VfxO3hgRYNTqFnDgYs63xpFFWS2FrHjE/dg2p7gi4GI
8SoVXBu5sYLEOYGTsjLeE/xSD0WyaGFIa6AQAljOt29Ws0ZjdJZleYXqPQRpymrcW5nR7OENSjtF
CqRiOQmgarO6DCZCGNWgpiEJBslzNMv4PSUUJc91C1RomjdKjU7IOS2y/UYhumCgoKLjrQ9atdwv
B4grgDQoszbFsIrQ1EfpRQRUuyAkELvO8+fcQYzmyM34zj0NxSqsgNppa2Fyg6I1A2snkQTI5frl
5QlcY7tivaX765ijALh/NYJ0HZAarkgLPc3wVcKeD4VkxRCwnBzOxTF0/wApbe22SP8AUp4e5eX5
mP4edRcGxiFRqFVHUzn5hdPOf4mLmuo3HZL/AKYzN/c/1O+E3MW/P4VGebhUIzSwPXcMEeNn1Ev9
wLeKNXKxDkEfubPqVawhuM6+pmvvjBuek6ncYjVS5U2/cSOWGuLTqd/c0ToldwGmV7jFhxcdKNbi
dy4JExE1+sRgAe4QlWy6guVk4EICHxGfPf3ABACaKrBeEiqdN02TBXiDAwBwBBlZGO6oJQNiMcpm
DaxcEXNjRPiWwMqBwKfUT4WmscDUEM4lQNwqhEji0t8ywgyoQqMSN3YFwig6Ni+MkZioowshAvzU
TtkLpKmuPfoyAxTlqoN9aPmKFztuLWj+pa0G4pTcEYNNNKs2ItIL0VEkWDYVgNqSV5rVYyuxKWfG
hlzAAapZQLUpzFNnqVuWUugR8sJaZ9r7SdEN8DSstbI7Y7mf7ltS8/fCVaQ/zHJ9R3cWNgvx/wAJ
v7jOmDn7hqOH6J/uf64v1GZx8zMeLQl4uuDOPUrG51+GokrAeoylS+AbTs4tJb/Mt46g0rDbi8fc
qf7gxJRM0ZiqxMQIQqoO4N7epgzBP4ljHjvloeTTHkZmVGu2UsivEDKOiC/VOXgVUVslr4tep2wb
mHATqBpDtXl/cFn3GrzYPgSgcWNteJjlNs5NXcbdd7C4WKMS/Y3m61gRPJkP7oGwyy5qYq66l0e4
sGwick2zAchZbYFitNNZNw+zsKKJhbrG0JrWXGI2jmY+YZQRcRQJ1i1UtDwlKjGPyCPwXQ3XUdEc
rXQP6hKpiEWlfU1+7mqib61NiU1hrywudtgY2oV0++Rtst9DDWpeDf8A3Omh/qb+0KghU+FZ1mAm
keGVa0wRmHE8hEFaIxsO56rskISG63/ahZeSWoPwHG2NZ+OLlys/cqu8VGY8Tr65OAs31O+OoYX5
41czb8w1x39/hXrrnEszNkE5f7nU7nf3yXKlZYeuRx9Tu5ZHUHMqBu+GNVG2f7h/idxXcxOz5eMz
rUJbLJi5X9TEK3MWy/USVm45i83jjaXV8BHjJYJlX5jVyweLuFVOoQRmbxBYoSiUQaZdT47jbtXK
sgO1JQXZSuIpKhdP+mHwMW6NlXdYjRk4tqPKlsVU1tm4hc4NjFitTWtUJzlXh/dpdRVCOg3YRLnZ
xlPJmriQo7FvoJmNI9vKA8WmWTVcIzlCyvipe5UX5u6qMKSMro3ROEahbFnztFfjsbA3YBeIbfrO
yV8DWCMNheO1+VRL/qHtghtGLviwzVpK2YUAPFESlaN3Fck8Ozwyrsm4SneoyPm7l591hulCjY3e
XbdwWAYKgpVUAzW2Ba43HTNxdzY+zQGSPyFdrnVjPKYZTO+Nlw/zBqLdzxwtMu5Twd/HF8BljjXC
Z5/3w5uDL/AhctmVbMFTEzOtSpUdfUqVkzGG9xQGoRe+Fv8Ac7+uO/3McXLzDLEq4P8Ac6+p3KLj
xePqXnisR5uWXNfqZuXU6i5l8rc64u8xzmJjg7lNQotzAjsIhFDLxDJHTCvETGNwKy8ryRHmdWsL
FVKVF45Bb7jD+qbuIZHMRFF0l9xBaaFl7IxASg1Xl9Nbd+xHwktLf4B2vRLhKNX6C5Oe/Wa7HRJZ
oLdw7S6u42WBC06uwhaEgoo9CsMCuLUqs1fhmD2sT5vNTZzipb+Izam0MRiY0o08o3D1mFflLEVJ
VNN1q9atKYhZB3VoiIYcWIaK0kWHoTUA63UdOYAbi6Eg592wRcC1hm2KeGFjTskD5uorzF0y9x8m
I1YdE9kRQuI6eLxO2HHbXnjVx0Sv6juUTr6nf3yzBQtu93MTDx/qNC/UvhxCdTP8zrhgoQu9y4JU
xv3C4837gxn3EqBm7jMzZHzMH6l/3CPBwVG0/UouVWI3hZiMaqX4KlZMxqy47fmGonFYhz2Skq24
EZdwqWRzcDFkGVN3NS7ubS/mUi2eFUQglS/EySmuCCmCkmjMQ4tTV8E/gxuDPZycJHf3AZlkvQW3
M8jRWqVuHjmXUtrdMU3Mf7dmoFPvSUQTd3iIFB1lq1mgIXG8qraWS94YpmEAjxItYWG+bYLTAjqd
CBllv2TrZ3MsCDscx/EpMeaLLn+oNsdfmQe+idFF1hBEfaGoEjT66lTMk+oUTM8xRT4ldTJrWaiV
martVhrD8HOJetXqBC/fAYfqLUWIwZlCp3/1qF0FSsoocK0Pw2Sq77nXDzj+OWOHzMR19R4efMX8
O+HI8ViGYpHXcqehykVjh3Os+OLzC39TJ+dsP8y6/UvfHqXM1xfAwR1cuH144YAcdZh/l4eKIJ/c
W5VcVyyrihCvEeLfMHMGJeJbTPDP0KYCplheITxKDHcvXBuWLUG5vXmCq/JAJGH+ZRuCuIZ6imTS
zbuNWCCUg4ZnWgO0Syhtbg0m8InpICLAI+N+4F+sHHwDEP8A28j0kcxtSl2HhzC9fQUPQMHF1GXz
QGByUAEbCE4xKrCxW0rZtXHj9ANspFSDKdDHWpdXEpoKsDHpmPpq3Mu55G9wah0pWF3QZvyYhGlA
XUdzD00lbPdRPA9wuzphkWCKn3Xlgry5OVOpcZ5m+KiZlXjm40S2b4f8RuyVXN4rjuMdwi5ZcvHG
5fLO5WGbWXM1mVbca/iLmUMAEPUXMEqeSpUr++OoJN99cYuFS+LN+5h6lEFl5tmuOvHOsFGhMShh
dzHU6itQ48xIcYvUalzPnizuVgRYg2E1aLhnf4UFQb/fJbC+DBBWFwI7iCfJL6X/AEQ4u2+koNRC
mLol6t2thUweTHUnBfV71QZlFb3X84y2E+MGrGLegVPRkMNQFJ+lZVxWo+cj6Fi45obA02VVJD6X
WQPtI+KAU4uy4WLBdIyuz4ZQpFNVRS7Sm8gSiwfcAWw/PlZLbhYzLl0RWLOpaklsX/ELpwKo4YzF
cZrjFzcuVNZmWFRIyiVO5Xfqd/cCEVuF1zU8/PDV8EqdSmmVUYY491O5Uqd8M1GqPMCL4gsZv9Rw
kq5iFQ39Qlkxccd8F7PcqPzwwjkluFnZGUYY5VAqFV9cZhHUCpeJ1NysTspjnijh1ZLtxIwJ0iCW
yl/nC7ls8SX5hUG88XFmJgS4kz8v90vRqz+mNurCFqLtQvt5qlfYwqadHuGApB1YBKvKYjY2kq04
C0KnLRsUjPUIN2C6uZJSvUdFX3CWK6llNLaS3S93PS2Lg2pRiyWAGEeFa4rGsuRUPseLFVMOoUUv
zXbQfNykkdaFtSCRBSWYL8FozLc45Xi6ik9co3M80ystyqicdfUrGOGPG4RMSv7iUcKaJZwTf6jy
7lf1PmVbKalQlQI9RGZhkmbh/iVKrMuyZhKmHD/mH9JRbMy+AxKqM73AbjNvFWzTVz3Bx9y/UN/c
2S/cDEFvhniNvG/1NRgb423C7jLyT++AxmCiLmYhqappC2+IsxNTaXcFWuBmMy9EsQWDnUX0Uj24
qA5ZV/ylfwDEoQvJqXREjsXURWyCthioLYXYjJBBZbBpwYleubQrxZew7qXF+7jRKQ0gDEK4mczQ
NAYCXUAVUAMrcHBgIi3psw/UqXBddxGxQgCkRpGZ7qXLq0VdXChQgzmGRxL+YxZcsSzV26JgiZh0
6apiBrOAsR7uqjvLqDOWgVx8RTZlBlFJLltgwmAUDIGkiyo5x9EqXq4I3BotYuUvQhd1F6SLAu0B
BdOQm5XYNhVx8RKuB/cC2I4pI7+5UTcC/wBxX8Sv7iZnUyYFGJSw4rMLRBAr9wiNJlSyKI+0Ex+E
DLMOOrjlvim4kNTEuV3G6GHVylYGN9RZibu+CYv742rhfPmXK4YPcPPqNTojqKuWTUpiNj1mXNcF
oShDhYwn+ChlmpR4gOoWMvMHqUmKuOpi0womLEmVjQP1AXnzWJHERqlkU2U9jtopojyMtBU+nZBP
oWShF6NwXU2Y3RWF8XHYSBRWAqOSn2Kl1Kgd1ya0+Jmn+UJC7ieY0Oyu01HY6EvN75ccU3GCCUqx
baWt0EpiXWI/6L/VBGNssngyjNOzOqhnnR2m6zEqGe61FBjXXLUh9Jjr/AoW+EjTdxN7GQ/aUsAe
b4SjmCSoxB4aKUbEF18VMNJRlURG2qN/EV68NqndotI7WEPCRa6ctOB+IRXVVBWbrLbC/ExIdWJQ
ggDdsAopMy1uk6RIQSjDI7D5h1dYmsmNlX98F56EAevtvotcnMLMeY0WX0m5tuPS57JYauxEczMu
TlptLLPNPKaM5gn2bQkcJkJNM8KDxusMtEp5DRJjsl7a2lB08X68lIyos5LTFk2RMFuFyNOCJp5y
9BVyDdkNLzZ4fVksK4S5bKpV1PxSX2PIkN02JmmYMG+NxYu3Qhh1rAh5RHnFmpvFkXtJFVRbeIJq
cnIoNY8MXr39y3p1C9XrV/CM1LVuB3QcRJ6sqadsXcbyAiVV4GFVPBvMX1aXQwLsALIdaxTRb5le
+eSVmC/kXVmNMQnlDm+9FSvglv39GIBUViNSDSJ5IpUPGgO1fBFmCRyAaFBYYzgiwfJUpMW6Ulvn
JUrfx6ikKyDmzv3EmBQL/sR69h7V2uFtl7tfkIDhsQjGLzUKuobjiFJuZJ19RSyKTqDonfPeeHcH
hXJNdzxz9TuYj/mVK8xqqHmppDZAa4qXNR2ECMqbZdHKnEtxLWGWVMquA+HlE/8AigWWRmjIjKSg
y225Q1B7fgG/umOng2Lds1m7qUc1dMwGpY9OO1XRLTDT4OIT2OIM6lbpYeQwFlw4WwTvOPQ9XK1r
SFNS1HiggJmFq2t5JUdIFQjGJi0vXpuI1VFydr7VXtWMp6pZyzUsYPqJtBaLtPItbFIYlPdi7zi7
ybF4roUeYPOooClKiKhppb440iGCGG0d3g0N+GXOdZ+KNHYwpD0NtRXTJd2Bjt1qLBgy+LWqLYky
2ZUR591mWm+c7pzrLyWlFcaq+od6nszsaKYg7saBdpLRcl9rWlugc3GNE0bDm2476dXMil+bZgw4
JF9VBcx4NVmEBi6MvU5RqwUekJgfPTbPmljo1SgFrGXRwoEYbWYnJ4UZT5u46UKWxQViv8dGx0Ay
uCK4KGBCXOhCZ/Imdz+wXWlXDYphdCSJTUBzgqyG9ORUJiuotVjUJlq1ok1Lge0KuOagTD9GFrOF
aUTXCzWlV29YEN1+q4RgkLgoK6jWJqIt9UQu6KJeMt5aAXBIKgtyHas2UQZaiPqZyyCLbggvWdME
V6S7IQDEwgrH7Y7lPfMIErUWPITJtZFAeVYEHroFdFPuJWW1i0RLxQzIBsYhL2bSvv094wzCyQ0X
n4IUX6/VUCXEdx4BS0jeY5ais7GpUau7ct1xH7cu+VzcH8xgHbfD3K2PNgLqxiJnbUxwwIbZTXF8
XMyompeJmZuffc1PlixcQcwwQbjwypiVOuMgwZcuHFWyjh1GKxA5uEDhsviXiFpiGhm5TL7CFUAc
FkJatQzqUqe4ML8TP1gDtMugKFt3V5qozsJLoreQhxnqljbWBMyxHFqjA9tRXkY2Kq6tvrELXcq3
jm1YgUPhJMk7ptrXzBLDCWNW9IhVRasrC5nJbiI6qmyl1QwFoLNMvrCnuNEpF8y3hjuw94icJS1s
BYxSbwECg1zi+hjupDwNLTSRWD4mglAjO7ckjQQ3LKEUtU+yHGll1uVLUA0gsIM11EXdNxS1Eut0
Xd4gVxk9AWw6awof0WETiihuqlATREbz5mCvUO38GEe26tXRKOO6BhSk8QdVEC4sUT/YsFFbu5Ym
au36mNjHrnQxaoQZMNSovQqls+5nYs23m/PmdyvNoFpFPqa0dpZaX5iNwos6vA3HeitL2sOg9ik+
EjthrAHvIsdm+BIN3oIRLgUDYfcWhmU0383NMtAN+aUJLKmivyKO4/NPwMOZmDMDy3GbYAlKfJER
K7anysslmDc2KRM8LIL/AHE02NWfm2NsrjmHyBxLdgWO7FK4nQGK1Ax2UKdfJB/zRXE8OYd8gAYH
gzAt3cxbTnJlP0YRuh0M0kEaQQpVVcBbloW/NDFgKAVF6ZhqsvK8iwONhaieymoKlFq4J3usbS6v
MJjZNdnVwUqXSk/RFlJgE2M5GW77TTGGBQC1Y08LBv5SUeFlWyqIDf3MVBmY3DJAxMjG+Kw55tuZ
DfCQoiSt8dS5eNQu8QwgWl5qUgUSmZ1Ag3Skru4GHi6McjDrjKXDUVRjKWHeqq+ILDed/vO2L7bq
KLdrFdjGtfkhQLaaENtNiS926XZtT/hMFYQ7jlIazjQ93uLIHNuugsoxIWU8MgXZKiV7QyWjCg/u
ZfMgHjf2UQQVZogBUDW8MPr7BYm1iCQBlVsWG/cMc1JL3Fp78glsXX9KdPkoTpV/PM2DbYayrGa4
Z6K7qH2C0gxEinyglGkQU0aonuM+9nqEo6u+znNSv879ZW80LhRde1i2ojwkNXR2R8x2upoLxHwo
q+fFqZaSgFqpZnLDKRd6H23dxtryu99ZVCrD+b+vUIvdjExkvv2G5AELwBTODtZwxgH1mO6MwlVb
Ve/DcHqEisXFvREDsrv63ajBLfsOp8UWKTPzlNnVFEcucW1gpRCqBmMd+uCaOruOFtUCUOUOaylN
Tp8JphWnGWbfumK8KGEkbjmpz4lWvWlB+0gR6mz75pRGPguQlysVLBz9g3V6NETHAbAou8HcrcSq
XQLRczY/fCxXuFGO8bIRcW+I91hBOFLV6gkCUQ7chVWJaHuN1Pg9yvmuQXFbUFBB3w2l+8OBsy/a
QR8qjGuCAxdFMBLiVlNgzfMWJW38zQpDhlEwRlLEKC1RIVn/ANXCBlmFTaYgtWCEq9i+qmrAgDoJ
qqGPl8GigZKsMDnfqKN3LhiUr5xAepVZN3jsyWVQgv2gFk0HhvYhX43sZt7ZW4maxDBWBOzM4ZQH
0wC6tAo7CTTigUWiZql8DGZshPMzXBNPJMTfGWZSXzc6+p5j3CMOF4DUAhi6wwVIDqGMGfb3gvOk
VXmWQu5XArVTogz5SU6nH9KP3CQsgytqoGF5tuKAWFR28WpS7wI+vVpGV0cAJcj93U7drE7Aaw41
fKNt2AfgKonzg3G4AB2W3p93m4DZbvV9FoxFDMtYJUN4YwICi2phghdhL78alCxW0o22BlizUdtm
+0KxEnMzhB207lydPK9o3UrbLq20QudvYxgh9DerkTOd3bcCkYIatvR2JiK3Vs6hB6G1l180GAQj
yPgzDu2pb8xedc8TYC4ZKIHaqrMA7IqYV3e2aJWnWwtjYBiCV/Y2/QITgaJuitrGte4r9DBF5iVY
7WzC0AszeFgQXGxR3lcIqW3DBc6wGhguahzCe9inFMQRQHaI/cVK0uqtzAm51ELc+GkijAB3VvVd
Ny75rHTZvjMtOOyjUx2jfU7FO4T6lnVKay4YM6pW63uq0BLu+AwukBeRlEQGOo6e4kh2itk6uK8o
WBHnvFbfxm433+xQ+I0DWSpzuhaFB0o6FXftLcU6IesRWVIWfNNWH5LtUGRbMcveKlPUnyywH4xM
kFQGLBeBqoMFE0U+W1GEiF5vC/dRrWhelWGOkt+Gj1AdtQ3T23ubW7IOsjLZ6SeLxCYsC0WizcGs
KAr2itRijQVS1REu/Jd3Wx4wpStIIamxhIWWlEXWAEC7I1yKwDUu0ymFZnu2r8QKqwu4FzhdCE4M
+zplpcQuPEWVk9s7ULTF0KLbGcCiJIa1kM48QI2hWcsYFC0yy9XBhlXECxAa9NxFnpl9FdZSm3/Z
m3xQC2DrAWlf3ftauAscUeNc9yuLwxh+BlYATcrljcHcZTL4JtYjESCuLKH1GLEpuY+yeoZJ3BnU
CHFg4zCmEAqZBABViz/WgChbEcHrOM0y2E0LppEittdiiVuxgl/6sVY8A5l2XEGZMajbgMbHEyop
0T4gcAi6cWUpi6cLp0Orui5msJwnisUhDYD4nY89TBVYbEpHwxcZYFwMQmIiu5slzXuNDCxtFjDw
eoi3eUbqMURao6urTS47fLBeKxljlW9ydHGaRySjDYXOpdzO1kllbMdx5liEqEtYaQlXtD2Gnw1M
7AGQKHyw3lCh6h7uqqUGWAXl3AMYNm4ymZr8vrveEMtwDGI478gLIf2k2AFx4hlhg0uSDLSIcKqh
jZaviPbNjcGMFYyykgyjQ1sbXzBoWZ8zNgpXKS1wW1bDNk5lA2JW/FypLALFsAsXR0xGzfXcUTO+
E8lpcwbDCzTuXxUwVcttNZi+/Eu1F0XHAeoAJAnhvqZbrqK8w2hixi/eWYj1FpSQjqFmQy3LpvZF
WHuLQGM3ezXBjtzkp4WJe7inV3FGwDEKKfOJeeC4pyZaqNYXEGNjWJduGCJsRiFsu7l1+4iqdzbn
zO+M/wAcXDc7gYi6g4nX3OvwJ3uMJcykIsIkK/C+EwZmJklMp7t+C5WZXqBCXwVUK6hOyWHfdMg9
SyHx/fjpLlbmxeSV5m9rRmJtiXrLarolLAui9ZVdQUqSjWbzN2ZJlWNpaPfwlwFSN9pxmHabrqHL
ruTClr02WNjUGPYlyul5xAdRTdLbVnm7lTF9YNLqmDEZH8H/AFKRTsjargYkhFbgC1XBMijVr1YR
SwtUwZtGY480S9o90QOCldW9YcytT+8C5UpDKWk9vtjyVc30297QIK4sEcpmwubVhbEnCrsFlmrQ
ecXgzTTdSs2tR1G5ZdnMV+V+vKJDdKc0XiVaqVFL5H0gFynSlarrhUH/AM/cEKgvCuLKOj9B1hLK
V5JV/bsnXCRom51jWkowFB855Nkbq9iFqYihdQrAWagdWsFTvSwstbEaxS4YusjQSNEye4gC3Po7
y0WtA/jwOyCmAVtNlKd1CN3O+LlssTctzmKy7z6jFtS6hFxl6zGkIuLBkXi4wMGKwcQal8DNMXuW
y5klosXlcdTPJ4hyf5jV/UqZnfHcWVngUniUbl0yyYrjRO5cWKmIwUhlcS2gEuMLYOMzCWXwa3DU
AgMMZmXf9kUf81LeqiYEWaMqqWNR4V7PW5hI4bcxQ/AZbPeHCimBqEw0CYPxdyDYxTtO0N02ZAYm
exVSL8UYuR4lF44So1WuW5100LI9ZEgar4uMpwvakpziC6v6itykTlC6yE7NxIoN9qCa6SxS17BG
2VxvcJj3rxdHw2uJqhllfAsSZmqvc26KTELlRWQpq21gsC4jzOUEn4umJYcBadbbLKgHnbVgrD3u
ALVgWFdgarzcF72uqUqusQV/OC5Wq6SnqadqaCU6h+NZbWSk1iVRpGv7qkvLyYst5xBbQQXTAt07
mJYND5UBRcU2A6jPELVqGQsMoaQVjtYidq8vMDDUtgJl4RVQTr03/wBssjt97vgisdbY227sR0Qq
ULD24Gtl0H49ESWvqxKcNGGia91Z3giy+LiwyS148wyZfF44blzuW1LzxmpdMostlxly7fqM1XDL
ls2caYl1Bu+X3+Ft/h44Hg3A4G+Al5jzUdzNQfPmeIk0fUchC5fB5b4vmjgU3lQWYqUlh3BvfAdz
aFQl6xNp8CLA+kjKqoezpnX1B295kp8RTgqKAly4QxwwQr9SxKGaszXsKlQJnJqwbPkIHqlAWksG
OiNvyv1B91w1EwVXBQmQ1SDN3WYcOLv04FGGlRbPqeIxXeDwTFFKUC/eYXCtFScVFQLvSXKcbgTU
3vLKYw1UCfLwoZfTcnC1W41BIFv4iHuSI73xNxceg0jdaFXKoj4WydyptggqFlxcuCJQIMW6dvOy
sAhYq53VhiJt+YLzLNS40dz5y53LPbFeepddxbCREZ2YTfzFBBhvqYu55UUm5lMVwaHg+IY3MTqL
B4pLuamGXM3B8y5ZvkiwZZL/ABdwUJjzBm5kYpXNkuyHFy51KLhmXwwAL/Gp1+F8YjBzOmMuMuA7
eAri8QlSo/k4Mw3nge4ZlQpajwuDkhxSriv2Vj7iAsde9MOLjbmx2KcQDASlYjywaQoEligEIy2E
CEuOnW0Gw+iH3AUh43qLLz3zAvNEYpLpmh5fMG4gVWauTV1HoHJb0lk1vXBkduWsI9a1SVYAgZiq
jomDL4jO9hIDeWbJS2w15YPnf1wovSqQvxZBJArL5Q2hLH6Aqij4QGzhpmtTK4hL5TLh1h/BBUiC
yE8eWaqDSkehVrXB+4/3QsostjiXbGdQ3HUNXcuOILGDxfUWLXFy1sh4Y8nUvMGXLm/+CpcNsdTr
hZhfwuDngmJuFcXFm+LmK++CUcVbxuMPyvPKE8Rh+LDxz1LF1GVDg4Jp/EJcohAmNTLAudJ3O+E9
O0bGf+8NnZu57a6ohSs8OoHtmPBLNPDrE7zvzF3TN3BACrGqlBSeLapZ+WRlTyYLRl2YPazBLHiz
R7hFyV0w0AxCgCoAP2XTBpqhVB4s5m7fUw3q7JXmpQeBnjY1szI2dnyQoSHEaDUWA1KlivJczL6g
GnaMTRZi0q4ABJ3hoAggdhCltGiJKwSo6ly6XnwhnhXuDGYJZLlkCXxbCLxcWPF0y8TomJcUNwWo
s2QY3c08XmEv8GPBuLDBMDLOBxBlvNYthMCE2cXiXOmdQ3L5uWRSdcXyTqeJ1K9wnfFzfFEHHNQI
TFReIQ6zxTMQorgvFsthslNssN6FjQDb/DCf9lbMMZo9XIuPGq0Wo5i1R29pKZZYrO4QlnslkerG
I55TVd/bK92IgG2hlljxGSa2F3cO4AEUAYCoS/xOFxkF3UJFe3qrsPm5KDYEV3SwVWpUJRX20q+l
LK7UZyKFanD0IbYFSwCl6lvfoMY1ip/Z5GZb0tYZWVolodL/AFKx7senji+YU7ZvrreC8x3HDP8A
vvUBw80gqBtu0B/Ud0wAtA+2C3vnHqqa3CmKEa0EsTw8VGdMBCOIMY8PFzuUmJnigYtE3tl9cWxZ
cuN6vEZ1FtzDXFwl8LfMGofhcLm2DqXlgKX+G59y5ngzwqUypbL4ueJmE3xvhgR1uDmZqXw74uCz
/cIcEYSlwQZ3DPFSpf6cNS1WQ8y8kNiuPG5dTcpcEYNWgE+FgCrYxmZYqqDOpasG1o+gLIt9pUhe
arCOV4KKVRN6IqFZ1rTETuIAx8kO8i/YgbtoYPCLCrdwxyF3S80BBvE+GgRGIjg4HDVmIBoQb+21
LcNnDqb7ysraWtut13Uf+b3PpMjGKvrSIgI37qAfNUrMBPYdorv3A7Kx0u9QCZyHCj2CBcWXqA1V
lJgfZFVYqZV9m7Y6tN60Wd14SNc1WAGrf7IyWHUUBQLjtH1cFDpDWAI9jgqDaFusxpDev1KLRr+q
ds/w5rf4Vw6hHBOo747lzuPFlxWY4ebOBm3hYeeFYVU8zEI9ZhwTTzi3UoYBb3BlE6lkO+ahL4Zv
kmr4ILLdSpRMTupUJjjHONTF8E6Jc0cYv1XDrEMsSEuBMJYD1uaZYSu5UDVwmZTEK88WMownxf0R
trsIpowQo4CfEjBbFAi5qWgw31KXVwoiiJRhgVZ/40AFEsXABVH6ItvEKbnbD9EqkOBBOFyBpw2X
5X2scuMb5ZuVqAHdENtE6V1HVXud8FZlLzmXM8MqMufcWEqHHcVYsJXF8O+NcXDjPUNcUP4Edkxx
2RclS5ZLnUMcWwmPEsnXAkfwYX3KMcO5sl8l+eTi25t4PMbh74t4Jc7Y64plRzNOPxveIat8OLlg
QbxUCZGBwYhm74GZemH7pTPLzmbycDFuMI5epfFCEpLvPJwhlmYj8y7xBZa9xcG4uZbfDFbzLizy
mY5Zc3wueG2Muzm+LxCE1MXxfHnnGeN8XyXiXLonmVDGI1mdEFMRIkIVMwl2x/G4w4OPEqOoLOby
yrmJoi5m4Yibm02y88NzExDTBgQL7Fc5lMxHcvEHvgxDfOEY/Bl1KlEGCsuXNhXA5hDDcI3RBtK4
/wBYJp5fqWyvUp5xU+I7ik3z6hL4uLxqC3MXFlsuXjhi+GqjFolOLqbcXlly53jhQjL4uXrhmmGp
cpGpeWHDwy8TP5Xz1Bl44E474ILL5NzuXL4Oe5hmpZNcWQl4eTjJF4hF5vgwzoiK3PGeuHl4OCBD
Z8zD4cHm83xkig5mIAQJ5mF/al3xMVnNZXt3YzDrc9LsGIwBhxfFEtbhSmjDZWIk4FebHzmLVfas
S/iAq80bwwtLLag4fJG5FTmNNuLMy74Eq5jkiy4TZzjEq5e/iMuEaqXmMqdc3w6jxf8AUd/fFxSb
zNVcpw0GI64uNw4qLc75CseBxwEZ3LnZLZTASM6xFsgcYeNcBwLfFzUvEu+SFS4SyGODlZYRAnUv
nSdy4sq65Kl0sOTk2K8yzf0CBWZbAyNTB1Bl3CBAm4LRAJmE75lBef6o79AyhqbMcBcQBWxuHF+x
LlnMBwG1Ev6CxvIieGCZNBa1bSLqDZ5cF80EJkWZro0youT5i7AouFj4jqNcbi4DikImZVSiJwkr
lallXGokHzFuPFxhcqoxlxwlsJWGHFy0CNqlkzcZ1x1X4C8XnjHF+ZfOZcF/C6YN8OEvHF5jDjMr
8AlLXBuYXkancCFckd2cXzrhZkl1xRCDFiwoR3KWdy/wdfGh/QT4QjAlzqXBiqUYMr3LfCkQHq3+
J0lk78NhES2v6tWopQAv6u2hF+KhPD3RuCQiau83XJLeZHBiZVgy5tNXvhwwWAovArDRUMUr06bQ
ZRiUXHwlTMIG6IQI5IEcsblXUvUpWVLeIkRcadROGo6xHXDGNkumLfF5jO5dMYvES5SR1+CyypfD
hBvi51AznjvjTKNyuLxvg5rg88M6g4I1LJc3waZ3xcv8S8/f4FixBVzwSk3xcVNwm5t3xohlx2Rn
cudrxvgq+CZe8xa14IZqdcdS3GNQllSm4cZkugJRLEkKqDHHdZkD6Go7ZRYMLa+mn+YuMKwpvtYe
igbYdNmVMR9EuNJUo5q9y7Rwhb8FLDcCWtD/AEw+jKAlWfKS3EmtrRUBTkntPjJTLvwaiMuscGls
XZrad1EDoXx+aaRRlO7WbuqCY99m2FOAEAPMix03eI5YyQrE4Yp5q6axBcIIYRTFReJlATjAenIw
x1jUXmiMIKrX5lgjFx7kNwbGwZy1PsuVdS4r1sQr5sltsAbCRiC62HJ0LfUVH4rpNPiXkZiXGKx4
uLxqXZLhmK4qmc8EuuOiD64edS5cWXmEUZmdTMpOLeW+GXz1Bs4IRccENy+CFnBjgmOGELOL4t8w
ljMTBy11LqUp9QI4JmXF4UhBqFVyQfqxS5msENENzDCENy7ODDBxLgr0mUWB7UFN5/oZinhFQ5nY
1VFWCbcvSBYzKqNVHWNh5GrBIDmGFAzvJebLlAha9d2xjAI2NGxpGvzUVRV2NoEQLTpmDGUO1C8s
HV06A7gL3kUCYEs8pEzbQeoojTwvIBHo8IWFJj8wogfIS/8A8+0TUThvPT5KmXNfi3IiaqgZ6KuF
ncwdLouvMvU6A12s+4V1NhYUUywJ+b865KiyTUdBGIX0bi6Z0ETxDJTKSBWogA0xIsXl4ajRnlqX
UeNcuIS/yYal5lN4hw83DJbwsHqWsuBz3yS5olvArg/jmE1Mzf4bg1F/DbuVyWG53GUVvgzKOaI1
MSoMJXA2cAthgEWOKhuuSUhLlXDGoNz9Ni2lV8bxlkSdXgx+xt45vVWIJYqhX0AMCv7heUxUBNGu
+nmkytuVzxS1pkFJii2txqmAJS2YGb38m8ZcxbIOAjJWZa4EpmqUeJZmUCv90ygWZIkvwwQj0bTb
L72NrW8ZlqzU3cJKHykp8rC3b3N3/wBJkqNlX+2xbmSE+VZ3aJcMSu8KsDUNXu8cTpMoGlRLRYyo
ekLbo9EKq7ss7F6ZTQmUNza3ivBd5lI7hQ0OZW86m1vzCTtvava7eFMd8XFljE4r3CdxODPCcMsj
DjI8CWKcO2ZrcuEuXLgsEjxZcBwS+c8Ey8Y4MscY5eBjO5c+YblTExBzwcYmJdS88YhQPGONkDhi
dTudTJwb4ITP4s2s+JiblzuDiXC51CBrhhAMfHM+FRct5XiWmkqKVZEV9tSYo3Lqe0HW6jHfBYwo
FqYuWa0HQpULiWwYFxa+kVQo8WJT7WIsr2mf5k81cbjH77moKoTknbg9JUSj71j5XZArVbQlTEC6
BWLa2Tjx0rK3K694FG2WQl0Vc3ZkhmpsjYWRsqNsD/ZACiq2GLJQOfrM1YpbBxcldoY0tqMbEo+L
5aG21pQJcS7xldzxVhK2koQuGENpPnCxDPE6DKYM3TNrSm2/QrMVvK2hdE7Yv9e0GJceHqKOpRHj
vkuNTaOGnxFialdyuLzLjw3ZNkfXFMy1c65sgw1O+HgZ2QpZcW7x+FwnfBuOZ1ysvRwPF8DwRYcE
64Ybma4ai8CTuXmMc8eYuICFwhxcIqz3jkTHH3LxFLLlw4OU8SGxRDUCH4BNT8HsaxDbb+B5gfUZ
fWk7OYIPWBPXvOuahVJViZJZAPtoMkyAqWwQ2K8WIHQR4Gb0kNHYMcN2BGfAbgFqi49hRFTaES8x
OFQBFmMybUCsC7cMRkRocKDGMWDu0o09EDCNhi7YL8qKQo7GBCCuSIh8iP8AMyB0mtlMvv8AouDU
baqpieLqD3oiu6o4o7/gIQ/BfCQgLkdF8hccIplaAsA6szUA3UyRzRjEB5Ix70zl+v5nkGIMMv8A
juzUtWoHIMQ+CcArJiI6IsXfDcOM3wvKQu5Zy8HiBNFuOrjWjhxxvg0wuaxUWYOBh3KqHDXngGbZ
ojBtl8kvPF4nUJcJ3wzjM6qFRwXO5bx1wvM+5fIZfNkKOGXxeajmFEvuZhwpMODfG+LD93BncCVL
XDMCeYOdSyCTqWcMEBiAvWN7v/UVEVoFLfcUwg8FCLKpYsp9ysSUoLmvLcfVebPW/Fw+I5ANoh+h
gYABAU/AbwRux2tQ3urMsPGFp81Kf2i9RotiSlQ0JrC1A+/R8DwRVk2sjyrEQLu7K3ZK3SMCMOnR
ktmLijDA1bRDo5UwDwZ1Gqs2f3CrZzt7ZRvTBCzBaH2Qv1F53rVRwpbKKdYEdydfBZXiJfoWbAo2
QkOq1aF7wEM3qWzGwUfsiagaxNhSokGC82ivGJv63QV80Gbxe9Z4AwEYhUojwTDcY1CvESHDLw8q
lrLY+JdQycjLZZHiyal5nUvNRQhfUZmHDd8lXL4Elx1FmIcEIcWRZZWoOZ1LmXNTXAalQQl++HDM
VLnXC7xKgZjgdkZbH0RaNcH4AZVnEIaYHuA8DRNTdXDNcBuBNGCNein6YNhsOoi82sYuUcy9f6ZM
KjVL1iGWuUCau9XuGFr8RTIpKTIbjF370rZaR7364UWNBQMIyv4FnPcyC2DZg32XbSRyMgQsDFnt
MReoNdagxIkBZV2LngyiMX1AckNuLGNL5YdCyQqxEihT5NEEOZAWXek2EXoG8NLFGQvIXAR5WQtt
8DZcVaiQpt1i3AWk9pHcXbou4JRZVli1Wl009kbi41LuKXw0BfCptVypcxiaZdRuCxupbcrivERh
L5DmZRhxgSX5ilOeM1+DuGCXe5vMzMynjqFHNJUuYmpfI9TE3LNy7YahB64rk4E6qF8XUIeV8YuL
XC8XDKPIsvP4HBv0jLlyy2F4uC98FwuVqVDhm8TDPtSoHQ19sJVgBN7pYHi66/KQpWIwP9MeoCu9
L2SyVgODMQyouBSIoYs8ZSQU6ysrCgAwzgOxB4m/MquZUAcCnSMGUGYJYgu8wF0dPAMZEMoi9SGO
rAEpOUhKrWUJUEiAFS0ACGUaEcro/VR3Z0JqTIbAo50LkSYSywCQ1AXsKFqov25gVKvOZ2xAvu90
FY7J3AxUaTKnM5NvKAKpC78jETAcukUqVOzwAcZMeJhlRjnhb4TBmWOGdRCZqN8GpmZuI3Lmbl5j
A9RGuABlsuPeZWOKg3LPEcvNy41mEzLI64wfiuBLnUJacrBXri7lRqDO6ly6mYNS+L4M5hDTCpcF
WVDllQ/AcTXI1LzwckuFrR0woZ4hO+C3ghD0wglWQhiptEEOgqEXzMPAygpi4mNjGB8QvMHbsfLG
4WAOpRor2Yl6qFu7rMw6PqJWAfARsd3wQCgw8BEayRByImLfhLMeEwHCKjQRqCKqLbVBnUAwKd1K
UDB1AjB+ERdmoxmDxcdxm+HMqNVOp3NS8UP5XUxeZhHLB8s3x1O8zGpcFhnbMBOublS0K4GY8eJb
cF4Q7l55M8MPZxcH8CNk7meR4JiCTZxcJcZZMeYXxiXji2uOoy+RhCUwOBdPeHF6Jnn3LLIypRUL
uZufuqPVuN3+XFu5FXvsyW1at4iRLBhMHszNzu1rKgBRku5bsJe6oky4WXAyyMAnswrmfz3Le+d1
AxoWxj5FGuVjclvF0QTMVvUCxAC2rn38clvUMXsxKpA/1xrWBsoKQKotysUEsUTDmuIwsVlsaqWk
3O9xdync6mUqpmMcwKjxVY5Wec6m5qEY54YRhHcqd8DMRjD/AILJiN8Y5vg4I3RxWIcdwzFhDLcj
mDiX775LMkcoZY1wuVwUMvMqZm5dELu4tzqYCNPCh3x3DglznUhaMd4g5moH+YU46xF5J4lSoILX
lgLRVfpTbefI29UilRbP/iwjby2hX8NbJjwVq+6BFVwe7dk7Uq9mWAsTzFKcTG/J4U3By8hUrWhc
IOmfq9lAEPGbocfoxipVSFAQViOjqbn3koCB5biNSlb1Gpls562hCbUmjVVsJhDAjcFvJEa1zUQq
O1QWoXwly1S0VmVElQ7vjvExNzMJVErESJ3AxGoRJUSYeKI/EqbmsRLIWiUQjuG5t4dnNNSsQ3El
SuFcHUWngi8XyXe+FMn8HeJcu2DRO4NdS+LlpBuXLhfFxphxdTcvqZjbuGoE7nfPjRwYG64zC7h4
rjEGahqZEY2nrL+Zm3lJmwG4BSw8yqGSKDNMblpL3iGZZgqsgtxULNytJFHgdr0RvyRuwoSxErYj
VuQlWxBAgN5PoGDPGWaMH0CuVDYJA1hncPYSwEBiUADZYkaLsqIbl0BLaTXFftjA0iO0kFruEXLy
R7LdQES0Rk+MRJ1ZDY2UFZrwMTcsdw4MxzV3tDLttNUlW4F4qF0zEcXNg8/jWqypEZWsXPUCFaFK
rZ3eI6SQ8J3H7FYZA0kEUdqqdjGy4vslmUly9yzBzNiJTKWsQRBUYlsH1yVq4jiIYYnwEUKI2NJq
kguiC6j0xTRPJiBUVFRwfmRittkycd5lxqbSsDlpsHzUvWu6niIotUHvkfga5XgmahzruY5GDHjx
L47ZbBxxZGquXLxLYOWVL5ITqG18cxlN8MXcK4JTCoVKsWO/gf7gt/cNR0q1JdsVAWFCrDbSrxEi
BhVj4QiBPSxe1tkf5RBNZqgxBZavb2rNQ4y0uvVCxI45xYWrnyXhXszBFgUYByZTe/lspNQVerVp
YjBRAtaoF9WxEiYQgvIpT4h+RAbmsiqoLh3Bqb5WGwOhw9llZjUGlCt3WrDicC4qkjbDptpS75jh
pS0cmzeyDTqDyAyZilhcHKGhQbEgi2hTxC08tvmIbM79W6RQlVTJ5hggRDSBaylgJHNsGpu1+uXD
VwZ399aYvAXt0mFbZQyLyvAgQct7VTqKj9GKGWxbLgEvKXUZdxgu1YCw2p2jfG/BjIVv1PZfTC3m
qGjKXBzlMlHMX5Je5BBogVHtU4mjxx0sX/q+mSiaA1yGtpapVu0dMXBF9Y+vHXAUKH9UNjG7UsDM
5TK0wQCGwQagCXVYu44Mp00fKXisVF/jidqvqGxwNrC4Yd6YMcVOeyjEP5sWStQXbLLYR99wQee2
sy2H7QJkxDdRCFcVrg6l42FfrKG+jVJiK+UtyzdMRR4ljg01W3UO9213uwwEqki/LUHWjq+rLvqr
MD50l7eJTG/0Iz37r3dEi2pu86zwhDKymS74CtkgTPUVAxsi+ILxlTWilmtLcYCgIUi1QScg4WmT
5xpmvyWdxAMXoVuMfMTOvyqzH4G6j1LbSVKmosHgiQfUGbgzp4Ym5rEuXLvh4LxMR5bRXkSXXB/W
mKh44uXLSs8J7hg4zcEPmYfa/bFXdxUSz80xvFMKVqjFb9Ww7M100Pm1G0YzSNXfIzBehaFne6xU
uaNb2rAERJS3oAKloOEq1mL0v2ypFCHCHDs1JiV0wFMXiC1Re0V2xem1FkndFzG1uonRAygPdZhc
QXWfBi1GQK4j3lF4xGbcumfbbioiFV0NneChlCq9wuiLg0BcGAtuW4AhcbQPgYhyPDq1397MVI9T
tJY8pUeXuKw4KlQQKZg3WGEiGyalV93pFE/KvuQdd+EfRqxCCMh2zVG8oAEqnQ3bIRIu9Yhb8QQ2
TFEUBRcFsgo4FrUhStHYWamKjSy39lKC1XL3Au4AKx3WMqJlSpgZ87sByAsaQGjKeApcJ7YULjdo
FtD7pjmwjV6SVXDa+sS+jZXwq1cT0CsZckqopYAPQ9WD5zSmGw82C6usWTQTKIe7MWQlYisV4GEH
j5mWKHA0DujMAqjvV9sIK8rGuVMeoo92phfqBlfT00VKB3JwyuDQk6YU0LLjvpUkNrEhedwaqm7u
NgvYulqYcEcC7LnlXtcoGh6++nWaivAfjJNigCVs96DQlC4LHvTT3ZYLy7VfNGDoQvguNhIRXm7r
oiKjaEw3ZbI1eHli0JlFbt3ZKFGFKU35oJh6IxBQ6nHg8xUa6u2mQgRial0w/wA5vodMkaBAprwA
bcrh/wDGZvStvMYvoPBbwXWm4AETfIllRstnyewIBCMBZgZi3Fc1czxb5/K6ZZUHgu5ZBlyw7jCX
1FqFpcr3MQy6xH8VwmJ1CP8AgQJRvkqFN5SEbzieJ0T7mNwFuGyPCJP2iSL0lExLlLo1PZESGG1Q
EQg11YkijRKwjsZdRKI2I0yu3mmd8bMabNGUoWdfMIjU96I3OMkH3uoYUzjUDtF2C5ussxatUu3o
B7gUu1zjkZhQbSVOjH+Qsq6lCB+gDdYCxpASBJYA3QSo8OPW35uIqwR3WqWBlBsWlOHqGC6pLCKD
dXf8QRyrDAbUijccUMsEQgr7YP0FNFEy0DuU7lMWsFSaX8UAqKAfI2TKczQGkqMmOioGaaiHwgRz
iBgJZ2qF1BBEtSFGVWF/ybbUwfOYowm6EK+6nfAcS0a/cY3GrmgJRbSmXw80wLoXbHbmBDPINkaz
m6m+/BgTC3KqrMRCHiLQtZ2yqD24mO5lEpiUB1F7Qb6kAJQui52BQ9eIUxcb5b+WOA9RtKwDbcsf
OCALcQdFaSUWF14lwCupZWwxG2nJOl6a8XZBDDopdbJtRPPW9K+V1Hdt/YtJGPmMzF6FId8OiGfE
F3MC1Iot7diRzMhLuWy+uGaEuMXiDNbZ8TPmdxbYQwxeoiWZhLuZW45JfLK/AiPuVDEdM6mMSobg
1Mrzxt4DpJgNIUD0lHxw625Uq6wFkVfTLe6jSYAoWM7/ADrYiq8uKkdkfSgRs/TO9WSm63zKuWry
sLXOcwS0w+sLZqvV1U06PALiBYB/WFQqRU2Qpej/AE4HN1SV0r41crWzRlSySuTiUlF6BEi2OGor
etTuAQUf/NzvUBMkRK1Cx1oCvWCV/wDencwyYtqDVLoU0g1sh4slNQ00qmVkyD4WkC+ROlgrVeYK
/wDhuQzZgifaPzkQRPVHQ+hSjWsTR90z0pemLud6TGNjDMqPtrEGoemYpXVS2G+PR+V+0alBUX0F
wA0zpeEJmmHxUWl/ru9XZU6YXPoeSQNw79VINu5XvSPV+BehhR5R2+QNw/8AdX3WYSLxsgKtZRgS
/tUw2sd21Hlvz0Z7UjF3+85ijBFvjpNWa241kPVOYBmOUtNGvHbeo3WViqt1nq4eO7R4nRShuJqR
4Jbd6hR4O1JtUAjyNphxNMfGXgzAuVrqaWN2B81E4t0tK7UNpMcnOcrBnh7cXGGFcsndoEO8RXqF
tOiKtj0hYhVgitmDYwMdOgqCcQSepIQN5Gu1u2tRz17pc+wWRlVC8IoitIrVlCTKp/8AFHlzWNZF
Pty1nHJFXTysqePE3iH4gDNPf3INrbXC7nUFdAtH2Q2KlddLLfq78qURwPnkofWXfR9cEsLMiZYx
TbBE1iaVvFU72JyHWfAVEAWU4WEJT8l+xKbi3iME4tZbjlSYEEwWEzHfGIswR3xYNRnUy6h7RjFh
wZgww4YEICy/LKL3A1NN3ueGXLyXPWWRwwkC9af3K5lSqNFWgsL0595WLd1LPixMLdQLAB0C6YYz
YNtLXC9RkQUBYLZNvrDTe6zmOXlnJ1WvYm6L12m2oKYGC7P3Sql+cSv8HgOiDhjYQGipJQwWNWs1
XO4xtecVtumefnMnnrLQu6pCnXVxWeT2suzvaDBgQxcR2UNS8OrjVvVE7xphl7Lrac2mGGVUTQM8
Fu4+xlz+9LectQZ7oLKdM3zNKgotYYdwVqEB58D91Y0rVZYZwnshvMYUNUFNbysbIARLM3/OOgfs
dg6hgnCG7S0oKYhXpWBXpVoBKE1QvtubWnTxa4ie8jdtFJKiSRKduWsXPrmmJi1jvBUXYFBMHCg4
UlhtNbYKA1CrQMFD3RmH+2Do5B2BXAbw50yrbo0HiGtThdGtJHwALF+ZJKjheximlprW91JR/sG1
jI14uPlIwFnm6y1QIVRAUGIZmmNJlgthM+Mq80sigxRjclCrAEUpKPCOAHXwI1JlQvikti1VKyX4
LhyFIWlz5qoVy91x8BFqQ0lNUerJVvMXxdPbK5rEoyQxuZSGmaJVkI6p4kYqt5nuNpf3I4ulTWu1
1pyYwlygM21XAxaIP91aq3DqJC2nBlSyty6+QVwdQM+OPCifrySZFvzbGftD6K7vbFMbV9l+BIwh
Rsyxn1F8kBaDRQjhSnFpbxDt+BGqpyxXdqmJcuXd06AAle0lwFY7LSQlIfAqUpDF4i2VqiKG47yQ
ivVC2Ecx9Q3YGjxdwbhuXDfNx+YNvF8NxEhKzMXNTuXEYl+ItwZfFj3M8EIQIp24NRMcQQKhwSoY
Z54GoUxBS0VfqB9H+edLQq8kFhQj4xZU3di+RikIxFqQ8jUQZNPI8I5JXawZZJkethh7/K7M3owg
E7GBuiqG4JoeSR/URCBUkK1TCRWZeCLuWwymRbgrMT0wThayJRn4rnDV1GfyE8BsqoVYKrtWIw2i
+aSmvcs/0Ve3wxWLmlu+asS4zJBatqDB9BCE9sL2mIuwz6KiJaNOsQKmuCqLvMewcdtVAPKhuV0E
jGB1tlwN5EEaIFSWiTBhq5SH0gZsYhz5EsRKltMXJfIT0WQijf40tLyRoDuNnlXawQBUHoI/CCTZ
lTJLLvvbwOK3rcuzEHOZdEaZuC3mX8Qu2BLw8lTCi57p5VxeSxRxDHWJF9swzcWmOwyhKizpuWTf
cyaDEbBlyoK8XF3hZ1Fha4CswARyaZuUHNvqqvElB2tdxDluLaXAmWW5lpqUG6gwAl6gwrqXYV8R
UVrupgJgvnbB40zuXMzNQcS2N5ly5pMws5unghs4YN3MymYqFQnfGD+Uwwm4BFiFuOO4FcfcNkso
Rxlmj/UzsyL+4UvGoAgLQFrLUW84FYj0jDtJQ41aHiHFrICu2mnEN8b+IQIvuNXdbSOyAAtFSoDL
ZBYW40BgxZVzi7lvmdqVh8rqaJeawyw9Wdu650xdj30vrzmcVKLeD/uIOACy83g8dS2NtaZYw5pi
DFU0nzMsOq1gTiIwRg61G+12dRz4FhWItF3+SM4bF3u/fjbmF0JuVe2EJM0hqwRQYX20iAOwZUNV
LipJ6epjGmIUtbYKwAGgwFTSJz1EiOG94Zwa91CC+DYoQeKi7HwJAVV/1mNetSXMurcsekdbNUvZ
Li13D4SjDJ2rLEtWPtHZAXogKytKaOM1UqWWXCrIVNPUL0/KxBr2IfK1cpR/MYDlViaPACW4K3EI
u4HeER8sohGG3Sg8k942ytrqXMuDgpmfPAWX3LLwL5jL43iXLhThcuXXIcQZs3MIpYchhZZ4NiX7
l1cJUqGZWItJxeY+MyliFqcGIWy8xqYhLgzMzuXuVcGiXGGsy4Mtg4jwcdQ4Dal6lMJXBuVNSl2x
JmFTH5CG2xVHB6grNBh9jcU3wNbf3bJk1p1/vgFbQVGqncbwpl/R5YCiYCwPoQVjDszSxXuhGOMF
99sESNX0xlUpFVhmWqnzLlvPNfFZ4i3kZMPNZY1aUMVwsYpC1WR+EjkQwKXqoyBvqpsVA27mi2Sz
OJF/Q8RhHDmOvTfUciFmHJraP+MeAlO66AbquFtR2F4y/l3BV1xgQtNJRjNS/LeBQX5KXCPOoP4Q
wABVBtGA0x4SuGlIxS4OscBOSSY1XazRXjKwE/RO9aF0UQkphQritVN9yiRGuAxAt7O1rVrRP5TC
lZAvSYafaYZVleAzjFmo7+Zg4u0gpgP1DS4Bydmq3u8NJVM3bXiKF8V3oQXUaZW4oDZhI84tsVM6
f2Ke5EbcBfC2MTHK1Hhp5A4PiWi4qDL4uPAl5lysfgtMuXBzGkuE0hxgIwKmDLv8AccGuGZmyXL1
KMxi4xLmU0YgruXwS0shXepo4Jdwu+SDmEB8isILCoPvgqW1MoNkL7lBwb+QuVvmhf1KLoYBZRcx
21UKrqNeooJQq9MNUYl9G2SgWCLcMjO1tAGK9tOBKrIwSDhLVs6viFXUDRVpSpg1wNxXMUTKDMGI
ldms9kKCob3MvaIUyHunxbnbKgoW20lcXpCUFroS+Ie+Je0snHvhHzggbVxUbqFhgZEKMKEOTQeQ
WiWIV+g/tjxFBUiQr8efEX21l4ukwpPDEagyyqD1jcho3a9xOqkR2J0zLS/QKDXllOTXnxVxUvmX
bG/MVcUamU9nCqjFztnvZ8puYuUMOaqLWXF+WKo2xtEYy7EjR3HMT8KjBl3HNajxcR3KS5crwy24
8XZUuXLS+KKly+4PGGC8Xz3wS5Vu4oaYvKyhOmYgsYG5rj1BzU7uMITPI4YNEBgxUv8AAanmeeBV
qYgwb46nTJwupfC+8ygvQ6/UFRnvJhXHazes2mjqDLqdgUpolcxUVXVggVQ+KV/ZZe8udbW3yWXD
5WiNqRhQ7tb9FiCEIz1Iynto1iJPPh+It13t3TAi5QWiBCva2agqjYz5ApjgRL9QIbMXRnfJKL5f
+8NuLcHzXgAtdwApBj7O2kd2dblW1ysI2weZvVeUy1yyvN2ZkBJvtauidrIxbqDNZgwkNFJOYP5A
DSLbJkeQs7nPlUSxGsMjllfcYx1F6qG6i5lsfiNIGJWzlaiy5iruMVe5aPBy7/G8wZmoPmNTc0RZ
eDmiMN8XCLRcuXTFsTHAxbeKzwFsObllS88DW+CfcUQ8wfxUYMWWS8k1Ms1LLlissvOJjzFruLfN
MvxEvg1DgjFvcBNJGUIOZZAhRhhiG4FsL0wj8eLB8V/qPAdQmgyOF5Ilnyl4WWtMYx4hEMVJkfgy
pzFNE/sJkHLJ72bCxRZlgoDfXncs3MV7WLm8tuUlJo+Ral0ZIeo0dGwDqYGW8oqAta8HQGAmWUfR
rE0okZagBoASvSBd0MjLL+sS79iMUgaaNB8JB2Utvm3vmaRIS4p3FhSDIjX0+SXrq9Agzb4vD18I
SCVgXvNEvqmxh/C3qB7Y2pasBSMRJjtAL8ZjbLKXEF2J8wTqK6UX4lTqOqopMBXB4uYjXK1M5hVN
zRgG7TteDFxIcViVNEow3MvwvPAy98A7jLi2xYWyrcv4LYHji5tLpl5mI8Xxctl4hL4sQYvF44dc
GMZ8zTBMzaMvEJcWXlxDjHFyg4Ofopdk074J2xqKUJLuDiASy98W+vFVzOD9TdTh1byhMV/ZwPOr
r52UQRutNTysR2/T/wBcSQt/lHkYCurmeT3PI2EINObVg+aIXe5QrosErCH3wTbObtZUndom5v1Y
7AZqUqotvBG1RW+MI5lc0l89InLWY0tVuJdj7YMtB6wj2uyPgtLrdAYLjbXf6zN0aBF3SC41XBBY
WoqzVITwtspQQbXPMrS203Gs7DARgG4JkKPiACVZvxRjuUbPE1hoHWZjqide2iVGdXo9sDDlgFM+
vRtmMCxp6iPrmyyuzbLO6LiXtqOLc62CUzLajZEnzPvhWLZEohRFhJbxa746mKjvhZZLjNcA3Fxz
inm5akqV+BL3DCbOGpcvPGebi5xxcxDi41LxU3G75aqXBl5ly4kOPvMtBrjNS2oyyoRk4uHIA/Bl
87TuZuAUeLgYhiC7gXiWxSVWMRwRm/8ARZoAIJ8bbHbKSoBlVgscaAu1bJScPOUzIj8et3hj6l85
PmPdH2Fu1IgVlfqSAAiSeVOHXuchSYSS8qG1E1HXe2FxNK46qAtfVbjMoZTN9XMHCR7hUc7oxGn7
U1aqQorzftRKIuBvkC12yi2hLV1ECDJqL/ohbYwmOM9LCmduC7tjHGGK3DHUh0PBeW7K8J5p4F2G
AbQioQAyFqIOlMpCD6tB4vqr9tTdWyW0ReKYYRAcO1ZH6jKah4gO0LplIS8+xuy/5OO1LIPEHJzR
KJpvZFasDFmKiX3GodsJceLic08PFY4W+LZvi0i28XGWQY/nWJuDUHMXxLj+Ao/gsOLYxQimJYy7
YsOLxGC1xZBvheFf4m5qLhhrgOdxqXMy/wASHxYHvi2C3Bl5hMkpqFSw4gzPN1hOiEoiSg7ElE9r
3R4bZKyWFXwliZq5AGUbvKovR/8AT7g3Wo7ut25TU/0rr3VYbwuPgVVVcuLPuGZsTNfgoVWB0yxP
DDwEuAN2HfS6R9icv1Gi4EwAN0eCPo4tthQsdzSHLpS+Jv2otR5jtqHw1HBmwa+j4h82K7GPAiNu
zE/gDo4sQCLWyU0jc5dZUThWkB4aCGPYi38lVLZnnU0ba1LyM20Apq6q53BSqIRBfyQ6AAMBVZoS
vFZTiXeijX2Ucw4K7EsxVeKi0BakpklNLsNpYsWAtYjLY4r8DqpjjFMqPDr8EJTA8xlckZ3wsuuM
QlzMu+cTEu5f4eHGYbjxeOdcX4g8HMXUTk3Liwj+Rvg4rMG3PGJi4uLhtN24EvMzwGT5JR8CX4lY
4FiYXF1MkGWQYRnxRlh7QoLsqECyUpRjd7+4QftEq26r/uKuXvJUNfmpI1C9NiW5VgmYO8Q7YLF9
FlluYm1eewNWMWsEdorUz0LrcHylB4RqpSPGbb1SyIOUU1Xebb5IWH3dgYSoH5HbUglFlGYS+rZT
3QKt/szQHvgh5ASpfuvpPjhyuUVsqwvkgYfxGqlxip6glQRHn7EO/RLNdXYFqKII4mLLxuPqABEp
CKUIp2Ebi+ZIKUFVVekjLoLE96MeomlxSaUsrctixi46ZqM6iFwRmxlSuPLhtKM3iOWeZmAVDUrE
6qVdRK4K4eFgYjxrglwnUJUWX+NcUc+vyvOeMfhTMNS/xYua1C7llxbdQ3mDvgNTL8MBwQl8Gx8k
FD6Q28OEhkhdzMpAlrLhVkpgxTcd1mS8PPm88/t7NTO2h3BEWmRfhKhG5C7nvLQi+s8zZQlWs+rR
hSP3La0db3JKOqq+Bc2HmgVA0qlLFbxktpqrL3A1lj1UFXBwO0AcgGLWNFyYdrJP1F/QCttNsgfK
1ulas22ULgtWu9xRWtYpC1BCejw8AWrXRFWyte80jBIc7ZF7qNoDNYFVbHREAt1AJFWAAyse4T81
iyVQ9UjoJWdVxaTMO3aotnVrwlQ9TNtpUj5UErlDYUgRePmLV8AhQ8LcvJDNlwIa6LG6HGRLlNSi
J4icMzWoGGUeIZXKSItTeMIxGWjg8ONkqGCdxInCOZ3KYceJ7l4jcrhKIFkDPHTC5obzE475wcBK
xwFGsyOeL4WMNQxuXLlw4N82xeYIzEvMZdcZgxsg8Wal5ikdFP4ZmQ+TCRlzEGalppg4M2ZQMKqZ
A6VTAPqKY2ABargAIhWrsyAgq47rW0mdAyMD2NSpGdkkGEY09+V+JQKryCKOD5mABVNOpVSqICk4
6XEyqsKunEtJKs1eLCNism9j4SGghz3mCnrxEKm79rcQFYZtqNri3Z6YHthCltKeYtJR89lSz0AI
jMoKGWAVlXZZhBpogl1qHOjd1exLZD2gzMFcFDxPA3CG3gpfwsKHOlkeSSmj2sq/hJmtnRb7Ldy2
uIrOM8bghNp/IVOYg3KKtHosxxPBsIzY0ExPpl0upecaiUr0Qp9ZQz+SJGe6ALWCqgss/tFuIb89
dT5qDDf3Qyfpiyh8AxY4GrGl+MRVHDSL+Z+x5RnxmALT+RiAFZoK7lwZ0In9xO2FEClkYpTwCsYp
R6RJSWTsqXIkZ7YhWAZhcatTBdSsoqS3OGLHFbiXUDdTHi1RWnKrqLNQeg3KcoiQKi5VZKlk7RUF
H1DSLxbDWFw0RIQWJUJYbx1KajiXC7Y6mWCxeSHBx2Q5tlx1iHGNy3i41dy4yw574H6s7YjxLo4F
IxiYhC0IMpZDLTMaM5S43SZkuRUvRJzFCOncRsZHSwo9mgK6BMRJzo7iIBwSXd7E8YitZ2CmpfRF
yFHQNASqdcpvFZ3jAuA77wgoV3ACVZ8t4PNQDmYml6C7hAtkgYTyruGfOU7aUxoQ5fJVKDcx9EO2
EVQMZIoFmegFrDDz+aktLqNQC5t3kgSBs2UQZq4KyIgpoqQHuBSwO6xJPHi6Kceo49n8rRiYBPhM
20dG/fbgro3HYaFgW1GERw1rb8z+bMStajW6pQjih7ZjUExKqrqa1JojK8wRZ60tm2lInKaO7Hhl
z7+C9ZB9MRzTWRVdIkOXkg5gSaytR7Q4xcZx0GgWPK51W+oDazfBAegQhS11eLGGTHZWL5cPVm8z
e0s31Ck1B35FvmN8KoqVYWPpOxZD1dy/Uq6/vzUMjeCFBoeGa7ucE8+ZYEMO6o7CDyxxluwc/SeS
OGhYKekRy3FEWcOx75jA7yLk2+TMBtq6YarCpSHjLZC7+HSwwbzFKzR7h9Ztf86LVCSf12vuPrq2
3j2y2Xvo4Yfq8UpyhrNdC27mcvi74lslQUw2HtB3SuLgYFUwrkjMRAUGwrSXspZri4k7KTR8nJb+
iUYFWOBtIOHhhzq/ySkohS8cdjmuBjTPb+kpm5OWGfEgtfYAIzo3FZYN54GbGCwiMszhWDdC1BXq
nqCHfKaB0qrUrMhTZ1l3RAhntLI7lpocRtsgVhhPYxYFH8jB25Gy+Pu2WL2kL4p5iMPsirM4jm5b
CKp+OIMWpakGngly7i5hcutxgt4uGsxS5ZDcTgZeIQWR4zBZhUxwRups4GIb5GoRQxQwafMG9ZUx
am8wduDqWahoDMCaaMDHAhtGuM4ww1UAEaFFGoo121dQq2dCNBdFoiXOCPc1gtooxRLpZchZl2IS
A4rax9OUzdYAQYv83ZlM3bJs32baLZYxotE6Y9U0odMXN1DWzTLpiS1sFRGRAASbGdiEM1QJrdV2
WMk/nCnYQ2JDkt1GsUjAwzmsAyCk0KaqyTMNWUtpz6AO4N9PgUdgpTHL7xZW+ulxg2BYutYO0JTA
oEJd0OZh3PmeuL+o5knta2yYZfLGQDzpcDV2gz1VWVmXIloFakfthUgObd4irH0OrWFlUTeEBcGn
mRGKMyxxXQgUaqNtoRCeFrQ1Ewlq4jatx1+CiWrLH2LcUZLrU2wHowS8DT0NGm6DMbakO6MoeWCt
uGkLi5IpeSCZsRRSVWQCcl8Fa9L6jY3wQd6LFst+uIIdvwy17gMamx91MFdTl3gdE7B2sQ+baqOZ
QpBwxXeSV3zVQtKZ0SnHy7l/XOaNx+2U+6o7jS7kiH/legkE8npAVTXd1Bn0GS4NXQyxZ5aMeLLF
RGc+AB9w1AptLCS+u7zLQRN78y+YytQ9py9c2rlUaUS3JTzG7R29oBxKHN2BFTSRSa9hYmzEeAFn
Kznj1CIWg03FqKVKDQP8Eqo1IN5tDMZjCgmZ9J+GSC6qw3VnIeAFx3B15RtXyC55MnO3fZWYgvaT
sBY9XHxdM213EV5CzSrRzEeqE2hbDUDA3jrd9xaJFS9/FdkXZN3wgFxQt0baKvNsHxb7W/TTCM3C
bVkBc97VjqBRt0CIy5c3Fq6l8Oofh1xRVw6lwalxSF+Yt8rLCUZZCpcvmsRlmDzFcElQO5RMQUJm
FwagHHCUrkVQVl3BHWLWA8lgzbVrMZqALKnzMD3bxuICIzeMbUmrVqPMP51ZYuyPy8LcFLLplrJv
4I01T4qCqCUdizUJuPPKYzvGkhPmzDmmCbZNC2y0cOpKeThDeBsRs1hJjpH2EaLn6IdFBYAouATY
1eiMMVvEH5MGScMSxKC66Iqt8GIXdNwLWNHogs0DAs1uIPL5SW+gYCntg73WKneX4RsBbaHWHadC
z2Q5WH6im2VxYYopI7l29S+vJpi7dw0VPZhl4KNPtB3YLtHM3obBV84mQgS6KR1OzopcDyRUBSr+
JntVy1cPbFVoVaNl4WDXcZQD7QjuVERShPCRYVeUv2w22iVdZ8kZZpMpPg2i9lSggdOeBYdQJDei
y5knhUgaswnbSaW9Dgis0Wrq+IBhowt3lEV1UhEPsIZmCl0+RZspD0H0k3QtJK9sv3AM63exeajw
FtEfqL3QRGpGJxyxBWIO2KrgQGHI2w9FwOUtOAuYFt2LYqLKDuxYRnXaRKZUWW93VvEpK1azYzYY
xHzMQf2yjaa+jeXzh/WrbmWBhcGQ6PSADu0VZi8EdFG0pD3SY2IICGopi94JufFY0vxcIWaqEVvd
3dzrVTQPQRS8yo8YEeNQmWHBwMTri5mVDXHfBFhGbVFLj+bWvHNy8wXqWrMv1C6YZZhLqNVWmLm7
sguQarWa0xKsM2xdLgj07vSxYBDcZ7dvIfhKnvdpCNZiNm5r6toQF1SdavXcG7fzcwysx2fLQtAp
oc6eQxfCV73rDix0HcdqvFemiK0nEGvK+Y9QDW3ul7hIBSwrz6YbadwLUNQn/t4F1uaViFYXEWPS
TV+zxT2etwaPwgi8uaqPvuyAFyQEiLFoFVwYoWbZ7B0j2g1UrbCl+QORo2CG2GDooa7xcDwWwEzU
bpdu2CazSyXk4XrQ1u8TY2Fd0zEdoxcsm+ClugFMMnwty/a4PKVYAoawUWaamD8SYBRMadeWCuyq
ldVKyCfW0MtXFYyZMhaowZgXBZPutZ8rvDLHO/iqKIkj0xZSNOn6N5ceKqpishLXVfPMEsCsIHjs
I+6VKIo+Idc3EUjbojvI2Oo7CCnflhZDf+LgnZrt4HEJdAdRCthbgh8MJq1dRbhT9TvEBogGpSfW
cQiPU25JtzfuXLvE6gkuZS5cQy4VbJ3cuX5lwvuYTOFCecJVhTuDPlKy5aRblTMOPMuXcWDBqXBH
j7gyzgZcuEuEGLywWblifgQ0ffA1CngrqAIPqF3LOKpl1LIQ5oRF4awvS68SVCwGD5GiW2HluBcG
vTeDd4ZWS3Hq6WiLgddqL4h6JK6quqEJMnzRaEFr/Pnd/wARUBe2UsVOeOR78gdtMxCoGeQgskwD
5wDvn1UFsGubmgMOK9GVSiBDo/jO4KsJmbabFB80NJ2gtifZnhXk3mZlgyqy63GPjryK7O8VCoAk
1VqCm0csurBZlzOT2GpK4p2kq6beYzK65fqxAQx4OwhHr1TNrNjavbLizByTUXR3mbGZSG6OmLmS
aqNg3azUhVQ75SDCaiweWC2WF+43YZM2VzHVrmsU1Kv21qkQ0CqP47iDpUxuw33iBNFr5TGbhlMc
hj3lRQCWNktxbeVGO1wQgwurwT2rwPpOqtWD5UF1vGW7Jg6yrtg1HO/nMvgH3F/YrJdcuIljI0gU
3s1CHNTOWJDn0I++UVDY3lj+roQzc2CzexzJXvACLO6xxKjehbzC0XZd3Fu2oggDANBIQQUY5ijI
7F765eokR1zeYtEtgsuEGLLeLls0cAOLhF83TiGFgxxLYJGDni57mubzMdS6uHKS4J4ljGXjijk4
Z1KnXLwLXwPBlSZCFwDHmDL6hDi3gjteAufLkkyFMUzeYOmW5U5KTMvLEFVpB4NwKUYlY7qpfrUq
Bu1OVNHarDW0suly4BdBWKecGrzpRXvhFAQxFaaGIkoDEAW9KpQ2mWNnpM0rMFxeoeCOlHzOsKLW
lBEN9Bl1cwwBLroZ6HgHdnUoUorxCbs/Iq3DQvKQVaCUFmemWurgrzbxFZb3LtFIsorUZzhBRuFs
0XU2P7gtILj0W5oTtbFcej7XAIeWEipCNWLPJA6olVaQ7VjsjgOQXTUDqx/mWJC4sgWChLZOLtxE
JLVxYioLeIv59yxjFzHfFurD5xEpq5dcLBCYlYjMPBSBG9wSuB4Gr4vy8LUJtw5IdktuYic3CG5g
HhmEItS5Zxc3LizHI1wLCHX41/ZC8Wz3Uy8Ffhl7hqViGiE/dq5ceBnGbqGwC2jOMxgjI6obwwa4
iXtVNRYjLprY1Uqngm0dWMyKYrAwLDePc2DIbYxaht165YSFvYmqEyhghQiVC8Nit5ibFQvgDGuY
sm8Wps+Za/hyn6/ChmIzyw2Ei3RyBFpMLGk7q1iI3YUoVrNo+nUEybg9eq0fbaXFD2JVWMwCnlu3
bMQFlfGpWnmqAOpjvTlQrmKWV1yK1zHVoiVbf4Qlh7l4GR3N5KplLOkyhucoDqzzcVNaOz+kiv0n
ejDbzcDBAqVhartCH6zRSPCztY28IldZM2XKXNrzMMs7jkSUqr4DNpFVjgq0c0kNdmysGAJv4Vgp
DoFGxeTAHEs8BemvLUrBgXbur0kNiy7l/CveVrS4y/vPbQEUAfKczVsLf6cEFNZzpftYS7DxXyk5
hp1HYc1Ll36ItVHvl1K5sXMIkZauo4OE/B3GXzdMFZ0/gpqX4jLzHgaly465xKnnjrm+ocCcYqXL
pxL5MdR4OBl8WQeKqXNo/gG7HbCx3PuGEKolzMDcupdkMw4yFtKjo/YzNxGVQu5XTNXJbrKsx4e7
OqQrmF8wnasmqzlAi43DsWnN9FhMMpfN+C5hrtw/UUy2PMgW7zKM0R73jFAVdi2LD1lk7vJf11Su
Wg2Nkw/Hp0qfEEe0kGJmquAjy9u0p/BN4F9tDihceHwgKCpiAqIJ0YpSwB/WmQus8tS3uQKL3XLj
QJhzWwWi1wQ6sIEiKsRc2qgzkulQSqOFEu4rvFYhmkxqmBgq56pZFRkVUyzIVdVycYxRmXJJ8ThD
M4l2+AQLj8EePE7omLD8hGVZBEg8b82ikMR9J+8uL91F/wBY3CapgEtd0S2WgoJsVvprZCqkm1Ia
+qKNkhhBB4615FQ8SIk6xMPMVTiy57afOorDZN0APgGN/hLT4t4Awst1DNl3yqdcOji22PTL200U
LoxHYmYPJeH/AGpN13cBM8tZBGW2eNhyLzC9RltxLIVcFMRhHMuJLj1Uzctrhly48DDi/Ma3Bjr8
a5UweLzySo3GZl8E6hcOBlrLYMNcVGuL6vkYsvh5Jk3iTLCahxZUC5Zsg5ge4GYzqGn7ZaC9QyZQ
Xog1mErGsRpxfKi1i43pwodm7Ib0VhVKncL6PhgL+HXctEwM0PlUdKK6TSka3AgyaGEJWRkvO44B
W50Qz4ie71LnoCCgk2vrWlEQCJJcDBDClel+JuJ+5dVEJhIRdz9ErB0dTLlqYddXqK0Fwo4moJSL
CXjdYmTwMVsMItUI1StwOyq67l5hXKeAxFrUW2QX9lf3Eiko5Nf7V8EqpciWHbmXLr1iVlO+pd0i
BWGviOVm5WHmF9gxcBD6jZ/mPjcRclxFCsCCuoB6MLR5VlrNe2VU6pcfSjM7tKr65Sm4vIRfaooI
xGXKOo2ZiqTfGcSsyoyl4hGEQNoMGLfC4l8sOe5fFy25k4MtTARfncGMuVBZcqViZGCJLeWbS5eY
7/LDwhx6lwdS5ZCp3xouFRg2Q36ip5FInNg9R76yoKpiBtLtoI27iGWGVTZA+NydTOkAhTu/mNVO
BAgfWQrou2tQdlN3rQINRQuqBnmLGritvOu6xhv6ljgnIO7ZT/7+4BuYytoHQmceAbbNJXpu4f8A
lFLTtltro0iISqmIA7ALnzQK1HFW3t0qIqGsG9emMp44bS1I+dDYPsMse+nnvFILDET1gJCjV9iU
FtVVjVwR6khgshETCJL0JBd0C1TOJmrdsB6PXrVS0hOzUu3dYuepuWJnfBvRG4X0daXRUZ/Zkvdm
xjqyuWCxcYI9NvVSJFb0Pxo/WI2BWe2HDYfw3VwRqwll1S8iKPnvqULmOOWIM1iaHpwIdEwxKy0r
AR/kerygFILVYUFqUUViwkvxKgQCwVXlg2MVQBPSirkinR2rSy3qADFmqb7Eu9EXF1qFbUJXqK9k
1ttGocJBcdwsaYN9faUQQApxaZFTInoMcYAFZTusY+w4MMMduKYKri5bAdyrjQc3Lv8ADErEwTII
bjNsrOZ5KjKgRquKHEapzDc+ZjjbHjMtVQ4tOLl0kFWffDLOKslw4uXcv8MF+iFMs7jVQhQZlxNx
eC3vgY11PEFH2oPvDCSXpy2uVyqbFqtJ4kCIpYAutBXZBpiKUg3ggWhTiKREmuV8+usKdOSirdMr
JKJoUM/e4rnordjNaRVCOMuPlGLGpQpgFFl6uodA95wTPQOnVsuIg1eFt0y1ji+GVmSc9ce2CgwN
d3XHSq1EAIKqKLVsKHKiTsKUjdMumZjAs0GA/s83KuiHMEwphJJtMdq6SX62aqS1uYsiydu6gtcN
c89TEfMQ6lc17VDwLvJLibFBNswHVhQ10plHtoSg6URvJP8A2K1Et3ixefEbDUGa4U6gGFqMKd2E
x3vgVZgKCCAisPStwC8yolldQolndlTjDlhn31qv2SyBS/XagWhLESWQxla9az5o1K9QoIxWJFYJ
mioDNV337zgi0N29sYqQw7DMFhgaZIfcrAwZgq+2SZ7CFiQxQbPNHOWPFxcNJXh7/ERKh1IQV2ls
pQV3ka0WEwK20RUkYtxqoZjFxB43cLt4YlVDebmKJjhZfFE73KzNsMGq4uo0lsuLLi3xUuUlPmLM
zrnuVwPqXEdzEsIscNQDywuJykpcu/wxF8S2U9y4YCyGdwSxBzGDgltYJpDBPp1A0qNEdaaBJ4lV
U8dLqWdmXaY1lTIgnxDRGXQgGa2A714mtZB4dKlTPTf2RryH7IAG8fOIIwX4uJN026sgHuxsXoWI
gePcCtavctPYl18YS7x8xRHwK9JwmLmj1FDLL4hcLVPeIkouDvxUo4Jz2G22yOlk0pqHklcwbcCw
sBBc0GNSly2+Apv1SP8ARvXzapfBtQPuUzltii6tS2P9ka+uyrYtEm/tKCVXfkXz4LFxtdOa4TxX
mWgrlhGsWx1auukfF3DzVua/DIuP6jV2n0lsd3WVxfAtG3dZe91EIlh4ihfDDNVMW6JXarMQlhYg
S4s3F+ZfgdS0VhVmXCpXC+LzM8rwMHcTfFpwlQKBtlKxxj9Sk/C7eWfUzM1DcTxMw4vXCMeFxwTc
vnEFB3yd54PidE2zuUOozudIr+RlovjHjgcwR3xd3FhmeYFwxXzAnuUYluOkMbaKRu09y7UjYQ5I
9TTCoykiqeIx94ngo/sQiU9xRUA7bSGxNHqwutJZUWpzkLB4z2ozKuTLjjEzcXtjM0roSiUvsg0A
e5dnJS66Xi0H76abhqz49e/bxcVBBzxjag3HDDXgxTfHGP1q4WVCCgUno1CUUM5DQ+pa3AA2V18L
CO29OQ8LhylGZ9AKRh25hw+PMvR7UUSm3wqNyAgPA2gpRik+FLrdxaDVMMoH/EYeOy+bCIVDvkVn
4iUdRNiWqqBtZIAQLKrSSoC1OtTmNmaa7V7a0LYVyCDFGpWMo3QuL1aDiMDSlIrKDrZF/wBJhpgZ
TYRZbqiADQlXL/bPLqLNPd6Sq2tdIeblyYbmyOm4q7uxXwPhNr3lL7eSFiwxeyVhRyGZuUmZcU5N
kzTM3KVFQ1MQZlVxUeKuVUIHC+opxib4EWpWZ1CNkp4r3y7qVWJYoil8Dj8ffK54vhxAxzcuDTLv
L5/DM6g8dRlHNQhpfMpHcIuTg6g8VjcGWT5SsM++3L3eA/iPKSEVdt3SIKdY5nZS4oLoqVSW6Vv/
AEJL3MkU30lpqXnQvv26zH16NKwAYfl1C4oeBLfvZIQQ2F9oh3sKUM/hul/CuCA9zm2qiCz4KL0R
YVko2m0l6FTChdALh5MQbOgKIwnYjeSvVpopmHzh0GWujysayFWypbu5Un1OthF8EX3irndvON/F
QSaEZd3eXtusqqzAmv0au5hSkvqCgUQm4tgsIBWF/wD3dEYhyXJY9AEUe4NtvEO1fedhposivRbH
RrwUulN1GXlWGWrIAUUlV93hEWyClfK8YfwR2gLUu5A0S7tmy7NOqmHUD51X3mq2CAltLP8AZu6j
jvBbW8WsTNANrteKXUWOjQaS/TbUFA7s7fQLCdV2lXRWODLESovREYscy3DcJZwRwMRpAyqZoTao
YiyyqjqZg8PNvOJo8mWzNQmIzqVO5klkW4pn87GXzi5fAsp4zxqXzdcXM3M8Wy+Bo5t4dexzLMWT
vjCTLrgaIRRuXiF1VxXhio8YjA7n/GF94xqrRLpXhlFqoWAN+4FCzfjMKNmzEEFGFFVAjX9+Jbi2
HH2YgmGCUXZ0ylEQ0KHWfUyQL6My6i1ugJ50YtuFBRixBSAh+g4rMmIMVqyKvQzLXoKLhpbSqiyV
3UiEEEjrIg9Vnw4j2NOaLT4agzyoKGFhj5Uy2vVYC3Q8zDWLflzbhvwW+TdAlg3GiiLKoI2nl2og
cUjpC38RIcF1hN3GahQgLO2iEAjQrU4aY3tnCiEyIp6FuWUsf/C52AgrHwlgAUaljfr1cSEk5pxM
cP6ZYhUsxNUEacqYitmjBCEmImLruFq4m3VTKOfWHPxLGm4w4VJk1go4lS246GrmOgdmXes12qln
W6PitkQMtxfhjw4l4iEpijhI7x+DubJ3HZHHFc1wG2NuDgc1+WpcIwuPB1LuDw3HUFl8BDjCsTIi
A4blupeODmq7bGL/AAHFS3FRXjgxuGdmIdEHOp8SwRDoHi/UDbcnQeF8U7Qf5mW62CMWmPZvEwPR
XVB75CGq1huscS++td11zW0Vi2i2XyK3Yw7X5jCkXswQIRNAsH7gTdZGRHCM0A6B0gv3RAKx8rmj
ykUAYYF4LMKzI1u2gMa/V+5sDRLjLg9orbe4ksjN9IgYhUphZzvMvUA6N1Zj1p9zKpcxI0u4irqN
90N5hsM+moTcMVKLwxXW/iHTaw6g2lkoZ7lurqWxnBaUf25mLypuyW84VUwtVPAfREGWXgrrZHOA
g2BPGSL3LKsK4SSU676sxC0tp0qMAI6nVGLa2ylXYWAPjLrOItEXTUxoONhsXPBK/wB4fNKrgEKr
0DDxmylhaVpMfOtwDto7YQ3q44Vt2rCk/OITPjKNIZDnuwMp4s3xw0FWy52VbqgkaQV4dNeJT+1u
1YuVOrCbUcg+GATJAKAGAhten+0LaM3K4VEua6iTUMzK4Ed6jggeYG2bZjhyIqUkrEqWuNYCBUqJ
BUDcTi4M74eL9cPJHcsgkzDhxqibeLhQl3DEdRmSEMWwqfDCX6l8s7RwVLIcATIwncuUuGoUgHjR
B8qxFnjE744pe1Cuwq1oYN7sNuqqiiLTl1A/EjBFlVkVYUABFQxoK7xnuow1eVqzZbMaRyDy4amd
si9ZAMb2zHEIb1HRVWyQyVo9Phw3CjdiGm/JSMv6neumFEgLaQu1xUBW5tAV6l1CKrtYcm+yzQYy
XrIwZsk6fD25WHEqFYsOyIGrgraih4+xRmMhCUqGS2sGsez1WSgkQBS4bm/xMRgAdnk84dwSWQNd
FBB3RqGWUO3nDDsMSwaem7lHPnVToAbhzWM7OQytIsvbuJcYtC+NXjoK0SoFA6KR3TCZ+9sF9EUd
V03B9Yq0HVIQulf1Dxgg9z31HqEbgU06i8RgCHXK47nwUhNrQjVltS2pfSIxy1RbivQI630BfnTK
+vWmXKgyss4bNv1wssCiCr6YrzdaehLOqKo4ViZq6UUN2AEm62LQrwvkSgaN0Y5zEb1HwSrjioAs
aqZb4FAxElN8BS1RuqvkGlnqKhZmK5VCnUGvEySyOISwYJetS7FM2BL+GMs/BlzqbzCViXwVOucT
fAniOJXNY4DpEwK0dcYB6Y8sNeklpLOLqM24uX6hOuGXE+gMe1twzlVRpFQkT7om2VFRcOcyl5sq
U178DFyNkBoOIuM3j01/obIq6g1MpsCZwSsafFjW7iR13+LtQsaq7lVuiRDesZ6dULUagdy9W8JU
FxT4YwB+VdlUQQ/ymDyXEsPvM+f6tCh4BOXwWSq0lSuxilsyuLWBusm2XP1g5aXkAMPjKAWvJTGW
Cy7IOgBUZndtQ2VGYpVd/wClGrCZ/YBAAfZL6MYHlKBK9DkS+C5QaNiteUtCHVZtTzZKfQy264gu
+Jv8k2lGLPtIjVkcicNRTIWodF2UEecQM0Lx5gPwQFTtcYE5t0K2sUEyWXdPFIeSjRBLplrL4lxQ
7FH6lZz6rTpmKsq02aCqrsgYmeaVZk7ZpR5m/WBUptsmpadEX3Kqq7KBmDoB5Gt4yS3IziF+ATQ7
Qj9jiAtpsqfSkA3TQhb8l6jGGilG7vGyNMClYoWZeLmlCuQ+KxEE3hVsfsjcgWRIX1KnPZUV+4lT
IWLZmmsrGbdRVvIlHIXTUqXAoFoFgFhV3f2hpdV5GDRwNX0Ski1wbfgljoRnDF62VT0thG/1P3iC
iagmJg0sYaZMkg29YU6P8xNZd0uzCG3AwWt5JZ9ZlUOJ7U9oiM1U118oJbkLIeCxa0tutjLgxjqN
0kCyG5ruV/a7I3XqoApjY1psYcza1y+aZfRo2PSQEJxmot/j3xnivyvjMT3LqdzfcrgsYKw1OYv4
EA9Eb4GuQzxdQJUI4j3bNHjWWoSZues8TV2YUIEqVmQMVgiPYWRS8CXE3RhtaJ0YMPuY1lHYy1fz
mmG+mpCPVqpjk0hkEZxCimKdzew5y86bFJ4uJvyDB3Umg5jmhWNK2VzuY4iUP0Q2qX1bi4yty9Vd
/wATCxNaIjSdLzWalndlLn0KFMWQc5HcpdXCuMu+YLR36zkKzY3EKC1h16PRBRJqaCyIFcxYGpiS
4PnU2wDkpyi0qVMJ1usOieYTA4hXujb+YrtfRK/D/fBN0BCxHpl0AQ7V6fZdXAdulQjq9xVtHswo
BR1d2iSlYkUH8t4Vu6wti95iNTDluxWsrQRBXFbk48S43q2l6R0xmE71omBTKEac5X3vFWdyiJdV
Bmi5424h62c7jykBCrdnO4gCswlbWW+pq1lNm410vab/AIMKLlmKdngQI3thDamSiIbYKsbNS6wN
9RbeMwL/AGQrdWHt1molIp7ODMrcSCivs0ZSygtI9s+FQSw21HSSsDRzaH6Lh9oPTUFGJh9KrXtB
cjWlLvo2Mx9wz5iDAN3cZEUqoys1QqzlCEBUJ0AKlJPCO2Fe2ALwX0V7W35lqbFw4CHUMb9LtBdJ
CHWAfFG0oUO4NIiSqm4zqMv+tWK3S4u65vTjWe4jRRNJPmveZ8KjUaGvhAkQae5WVqP83std4cwQ
szWtrX2ilSloCZRlIUCLYDF33MMJ2YnYQMuqoJ66RMYo7L93FcOSlAKx0uen/wCeLHzDkl8VxQpm
dzHGJcvhvi5m4LHcuXwdzaXBl8XMQn1o64SVuPFsYQj5mUU2JoYmhcv90NLk4rYXDBJmnY33NrO2
FV+9NytTtjUORcyRrDG59pHLGG2dom+3a2CHtVY9WFxLkDGWbWV2XrDd80kuSnXsmml5gu+qLv08
jMPVVvHGiiKusb1CPhtCRswGLM6Lp3ugiCq1Msbik7RCyUWU9ysiJ/3Vv7WWd8sqlxUNDeNqVRGa
8vmVSglLgAKg7g4i4W0Y00YRDQK6DKLzVRY0SSuLOeojR6+e4IOaauXQ8EZzjrqG8ed0s4fUqY6m
eYeudRarIHYWrR7EKSk3VxC0Gu2E1Qm5R4EeB3uc+1MgONKnJD5a22pc3cNgJkgN7llKyzZ6Yk0l
7S2tNK5qqFfdZibNJDonGjqWYrPQ38MWbZFxKUH7NcpnPUJZu2tw2itui8DRUofaLbRwxq1T4PGo
E2FfptW0YhY2q4n5Mk7d1WvNt0Qpaspu87iGoTSbGAxkPYXeHbEWcvPIUhhShBdGOIGrMBjWBhJX
5BmSnkhC+7SALsBKEF9QMVoIO8uBpLHuvIutrBID06bArhu5euQFsSvQQuGxnbReTu4xNbS4i73S
LSJ3S/BTzK9dB0Hpmp1Tqj9T1KjmgwFE6wfUWWqOE4krGI4PtilzK7jhqV4yWSUqOvxeiO7tkrvb
hhyzqILAaILbR2eyMXkjQJ3Ky1iUU34fFl+N7i/r7h/8H349RZ66+X4ZW6ajOssIAaXMN7mg6CCy
2DM/Hjg0VZ1WlzEVcqGEY2Ga/Bgx53KncrEqVxVwxwVxnuZ886hO+avhT1fF2cVg4I8GJbVREyB5
SPORj+pFeTf90ybRLeWC1FyqY2dxgXTFvcM4LzPdiNSW3Lz2Sjy0IpctwRMxLQYM23BXcsAl2NWK
9wFCo0uWONMVBeYowxFS8y1xe42ZcyRWoalxUFcO8VPdLO2ByhZSy0ri/Mv5i4u5d5ZtL6Z7GLS7
ZZXMCwYt5jbGyX4IIg4rSxUtWWU6ZehZiVFZmBRkKs7g93MKqZYo1i4NWZbdxaXqoMGNcUiBG183
L5XUvEGMvUvgMHEIoMt4vMqDLJXN/hVw5GSL9bheFZOTCwmZcu1ltYhqPhEh/wDQIiW9rHjLlWUG
Xk4GoszLWCsN6mW2MBNoNywUvMGppKlCDD1ARtwMuoplvCt2sxUv3HvMHGWauZhKEJisMuKpg8rO
F4jFzJ3FGaRuNsol2kxmDKiVLlzPFqri+VWHuML4Zjg7lkzLmVcKwSpdQdrCxU734U87lfh1PKVK
g0TdwumZhUxzmVGYrhzGAG4c5D5EK7wS4sLhcuEDlYLzecS2atdIrYFQ0iwSmoeZaDmXcIbl+4Ra
JtLSrLYYilOoMIYaltxVWyqlz3fF8Zg1Lj6hLhGC7+I3wbcwUuLx4jq5U1GHiB8wjZ3GAsfDHltG
4lfjcdxleea5tlRZWeGHCWwrJGiK8VF4t/B4CUVjiuOuDjNyzxKOL757meLeMVMvLpjyV+BEuvEC
O5cdQ7hDi2LLufUH6syxijP1MAlKMShx1CYixUB3MSkSNXLo5mZBtOFeZVMJfIZeIXXHUDuDlhuJ
meqmHhXxH4lnDC5TxEIgyS2HmXN7lqmob3wwI8VFJglrcplRivCeajjhzKxNP4NSszJGYmWVSZlS
u4REHaH9x5WBKLuHJhiDzcIsvPJQyly+B8yyMObgy/XFTUuYudS+cvhzWCdR1LxweWEubJiuAgsq
+eEj2ROIRRKthc8zqGB4skGEtubzKhQKUyysRLIYMzrEwMWguMyxHFHCw1GCXCmalhMQYs2xeF3U
USVHEKzGEVqVNS3qXvimvUqETLytEeuHoiVNZiEdwm5VtSscJHgq5huOCI1KO5cuWeYx46YreWbm
XhCXjjUXjuNmzl4qXipiXMwSkiPnm+axwBwsv87mQ+sS5nxNkJjjqFfheGEAuIv/ALR+49HqGBAZ
ceRgwahm1xgQWo7tKjwQJjLeAjbBOBVbipi4IOJ3LuYF4z5j+DFRmoMd3KxKcymBuZMS8cVDvgsh
gXi4rPN8XNOJlnpIzEa/HrHDypwmsS41KJUrnqO8QIahtzwO5XFxzysZcfweMkvMu4sJVzTwcE0v
FERCHD+Iv4MXMK8xqHXFxxByRhqEUKmRApnmOmvrM6Q4jYxzxaXng1yM7PCqN98054RWBl4PbL7g
1CG46mahcvMv8CzXBq4wlysD+D3wRL1Dg4SLip3qFVrjHFCznqLnhgXceHxMwn1LivjuWpTKIcAN
xjWWLw+Nyp8yi4kKzwfEMRHf49x4ZTK4YgMIsJZ3GdqR0QTBHgSZE8Edv5W++PF+YS2HUxTB4zCp
YvFDVi4wa90TYmCKtTS4ceOCF8DMwsalqlsN3LsuXRqDbx54uZMtCuIBw3KxwSyfUrJKgy8LiW4Z
UJ2cXcJUThRy7hAxJkwqaLj7jBlsctwI00lVEuNEZngjwR6r8K1cwR83GJA7uI3jh4Y4lcEXAhV6
l5mWpmMriokXlcy5TLjUZfZmahvBFQlsW1mGq3LYPqLvjH4Z/ZBwYl6xLhdTcW6Q6LhUKlQhcqU9
eY6Htnv8oAcyheuKlErhHM6EuoMMhi8jfEuHNYIIHC7Z4hc7l4zxTCXTLE4zMTuVKpjrg5IEdY4d
xjBjKl0BKlZmoJRNS4y4lykhcd55RNkCPN3Lic3wQOXUqolRViMVGxyauNKRRbRDceUn1G2VxVkC
JxiFEslcX4mYk6/B/I/qlzDxTMXAiVhx3uZuXDcxMV4LiSvYQfujkEQ6gwaZuXiWpUpiG4w8GiWS
oEMcZMzXBO5cCYt4Jc1xqUm0incIBLfzHhlBCBEJiaeOpWOb9cPAvjjE7l5qLmYnUaMqPFZiRq4t
sJTGAsdyoE1QxJncqNdRjzSymZ5YbioHHcamCb5vjEYK6ijbL4eoGeMROXcGF1iMa4zH8L69KVjc
6lwafmeOG8XPmXs4MXLlMuWMgvYmj7jDiuQ4wyonBqdwuyCmSWwyyVEgdJbCpVameKdypnVSr4Z4
zEZ4eXim38AjiAxyuEqdTNMNs6ZZH05eG4rAlRV51xi9RyzHiO5nmmUxY3DUMlRQyoYwke65LHEU
yzuecMmDK4uXfFNy6ogvYsuLwVuDe55cMEqVGbYtvFvmJCZlyrb4OLXElxmJWuAODbwQOLqBs9ow
od0w+aLKhqZ5N82w4CGJme0ohVVyTEkQrIHjNxMcHAcEZeeL5GVmG+auA254agEqrlzzUp8QlJxc
TF8OmBK2QTU64KiYjyquJA4qeIEdxlIWwSg51FgFzaYolObnjgYypYZjXJxZHUppNtsa6hTErJMs
TlYTEaqXCIhcuXxZww/CgsLHXHpM1wRbzQNwlXGN+wjPmH4cLZdlzMLgG5fU7gkqB7ne5WWuGpbL
4JnEAjnEqKscUtymEJmHWIlQcQySqePHC81nioUxFy8JHUpjuVibnt4ZdxE3FxqUUcXzWJ3wYuJm
4lkDMSOtQEwhwkuYqEqrmpeeMxzHx+dRAJUSYgSluGBmY1AWUSsTt4SMxDMYw4cm+ckIlV/IL8Jw
uZioMcYiQ3wSpVQyy9YRnvn+bKnSZijXBuaIHAQBMGpWZjOIR8soLYTUVgGJXCl3GeYSsTLxozDr
EvHGeGYdSpV0yuAjwxO14Ji+ExKcTFx3CgjiEJEgXco4vEeGExmW4OtwzKPMR4zmUXwRXuV+FTOe
qgpncReJWZsiYwTPFR2krh6lRlZ5t4GAeE4zKnc3GCdxwYcusfhk/RMViVOuFEo1HdQhNkcMW+LU
HwRNPnjEuYpIdkJRChsIl1BZxphdXB53KmzmlhC5mrj1mBqbxPFQjDHAlMIkqVGvlCeYRlVKzEC5
VZlYvkI1cBomaqWWPqEqJK6OzPFXCNSvKUTEoxHuUvLe5ojCMMsrMqZuIPCp1wTQh5jliRFbgMR3
wkdwvhVwh5aJwBud1EuEuHGupYpfJYxTwk04ahK/AtMewhMRSoS5cPPLfF8VVWcR4L5SjDMrcq7l
ByGeDTUPwMFSjUJnqZ7mblYlXggWVfCmBl4i4hfHUxC4qo4Z1cHEQleYweHcqJmpVNQYKlXKniJn
E0TMW6ppwypUrXAtVbUbXUrOoYjeIGY1RGpUCCwuagOiMIlTZG0rMZnxLiS3mXdRIgQKJvqJGKy2
LqVTwJrhMcZ8cY8RVjuESIymMRq5s4YyynEa4JXuEphE/EZIpYNEqNCS4SpcLsjM3AHc0l922Agd
K59QLKgkwGZdSoTFylzRxfjg9Ie0CpjmrJTB9ROX1NcE8wcHNQajAzEKxAdyhlSqnsmE1MQIlMKg
9cVjh3nhzMpXPfAVVSomeHC4ExEOPMIWudWzWEjsjupTGJXNVMSomRicLUgQI7cFcY4zyxgYl81w
31KWBwVRMc1CMqJz8zuLKiUSoGI84xs1UpGYrgeLzRFgvuG2Nyxk1AINMP78bReJiJDczZgWtQQm
ZUyYWQsTJDBYanUJU7ceIRhwqD54YHd1EyzcrEyWNzCUQKlTGZrg0Qu5WGUp7lpmVmVcRCYjCQyk
7lM6gwlc+MTqBuBUz/EsQxDEVVxDErCy2BZHCVRJhKiVM1zSESZrinPFRDhUqfM+5UzVQ1kYg5mM
zDTFvETkirlV+DiVLKzw3wk7l9R5wftRuIeOM8FEM8VxgMS+MjoxkR04LA84FRyTF6jDDqN1qYDi
JqAxxMQQLlVCUSjhW/uUZXFX33BYfjgLfvg4NQL5MjrzHrMrMZ3KoZZhqZSsnzHRAq5eZ0gN8FrK
lmJQsurKiZZdzEK1KxKYYYhNCVKZ0YgRhEzEYbblcDTwCowlMuMR8SpibTc0xuYlFyuESUkI3EjM
0QsqKshHMrEz+FRlKYQGJ5jxUalT6/BsYyo87s9stm3imvwzBzG/wGB7zHwJtFiiViVaRM6giMCZ
BLlZlOPkiQhshZcyqhhzGo5gYhKhVwwRKgUbnkQcLxcBqpVXKGom5nrzK3cIy8frm/UxuV/ZEKiT
oZUG37mK4VmYqaZaKriAXw5jRnf3xYEvvhgMoADxOzKuIcYYhfBiXK4SUypmPGCVAVKwMFNzudQF
iWc0ypXBYblSgm2MAMTMDfFZnqYcvHU1wmJtjAFgVKgfgNXays74uiD0sXETG5WQlGamoqz1wUhU
qbyoD9UyHoJmtdTqBp/EbjCViEsQiiDKLuuFTXkwjKhLipG2nXGOphvg8oUS76nl8ERUN/coY8Vc
bs+WAMqAWw4B/cR9VBbghwW9JgiWQBcqncy/mHSyVXGIanmBqbiSzFkDhjuV5chhvUSW3HqUdxZq
EtNGOLg0RblXKIsYcVcrEIpvh1cWGd8JBbEvh1MxgYmViMpKrPBRfB1F/DBfmYYtS752TFjLwzfO
pQENFilv6iKR1CyNCTCxu/1w/EKlYmYBcoQAJUGIcGYk2zcMSsRsfuUZlZ/c7hglYmpW/gicVn6l
VcK/mOCJMQdS8xJYN9cFcKKfc8MOAjGSJLDDM8kQia4dxFLjidyixnbPiVVwLYCOnFTvhal8XZKa
lR2hfHc7SrioluGMUicFQojbfmIRMQU6ncpZEjUYVxUDUABgOcVGZGbJ0EeSbYxjmMAIZg4PJS7x
c++AU5zxbzKo3mDfUwallTrfO8LPA2ifx0zLykqdsplYYnm4XB5jw0XK9yplJX9cBZ5YFsC4kIS2
aw8QE+HxC6YGJRxdNRU1E47jqeeOow3Op398dTxcAlB+mKvUxRLZi7gYjuJKsbncdxPmUmocZt9Q
uNXGpYzXCTvUSVKMeYkBmVGiMFMqam+mYriC2An4KKyxm8RGbSoIFsdwcuuO42mZiVE/F3CsSrmm
UnG7giLGC5nUDZvl1G19cMQSW6jS8Fw7smJjzN8BBZpZL/qjeFU4FzUVyR47Y5hwbIxqmJjfmBuv
MBnW53UCEYLiyf64C39TzKlX34l0SrZp1LI/H44jEcA+IuOK4YQz+mMU1K/HpxA9RHiswgRVvzHm
ity85gXmEolHBBcqOtx4abjrhMzxFihxwmY5cEylURIgzBBbqLK2lEe4QIDUaKJbcxB3My3Eb6me
W4i1GHuVMeZZmJbNRi1LZbl1Lh+nDszKVwy0qXiY4sqEQO4Tvmv4pKkvGE0RxlYl98Og4McXLl5m
UgHC91XUtlkw5mR9EZSAQb+GE7w+J5xHZ88POPMRqYqXL4wS7/cx/Uf9zuVrgldkt/uYU+YpR7OK
nUqrmYjUW4qf1EYXceG7jKi5gWYlZlTRHMOO47y4llMdvGIyp1Lylywlx9ktGMMFsXUeELncL1wk
MxqiMIhEiWSjirXhlcOuaIqtwUk3KxGdESBE58yonxlkapOAmVm4yyoRdym8cCKQw9US5O4N5e8r
jZXFPTDm8xniWqMNjw4JhzGIthkssi4+oucQ4M3LhSQav5ZY8jL4H+5f+It39w2ECK3XzO/uViJ/
njUuayckpqLBDcUlRBFiY4v7Eu4VuLiDZHgWGJWLYfHGJcvcXEeLjvcuO4wTSJFpmcTYyncMS41H
E3xcvGpbEl2RYLL88Lvi6OBMy1i44wRlkHDL9yrYstri+c4PwFfCgYggFEyTuOJXcdwRCaqiCUsv
BgOpDFDV4KQ8oPbdTMd5huKRQIDEUMyjLhbuHT5h7QY2j0h7TSo3/c+PMT2yysdwu2/MqcP84fyS
IzxMoKtTHrzPQy2UD9zfvcMgs20y7cS4epcaM106l5fuKNTEl3q5aOZY2OojNQWY0Sw3G7m4mKqq
YKE7lp1LjDipfiGZpq4spL4ty6lxbXu5YEQ8VuCG5ZiLH5j6YLFGD3FzF9xmI1LynF8VMUkuXEgg
y+oy88URahO4qMc9zuMsKhL4qOZXDMfhQzdZbMmG8xan3LOEIoTNMH5j3E1CigBuWzRFlXoYIEba
iux+psw/ULrf4zLr+p/9SPifqXsBalXfB3yUtqHmT3JabT2Z1X4i2dPJyPb++f8Atw/7mYe35n/u
T/15/wCpC+z98Nf8qPZJWH9qf+ol13+5Co/uhli8v70aZumQ/wCzT/3EUq/2J/6yP/cONs/+dKn/
ADJ/6CDH+ZOn+bE/9yFd0E/+0n/tpnZfuA6H7Qdz+5M+IMBl8XNlnGP/ACoHX7If91ELH9sAyfvj
/wBzOz+eXq/lmKWfvicpEGnFM93uJbXMPjLtSU1/UluKRhu/6TsRfxPR/U9P9R/6if8AhSrv9I76
fqOU/ggHBvXGHFT1w+LkmYZHjJvwRpwJk0noxbrwPHN5kwRsyySjJ4sYcCoVBnpngGexAeI50Ead
Rb1A1Dd1EPTybIQ+BCHE283sl+5njCdITHcol1OsTuaJZYVMZ3DArMLykPbpwct4FbPGEQavc1/b
mfXGai5ofZibs/eBXVviMevyk9/0z598o13S11N9y98ST/ImCpnFX78QJf8AeHdl5k1NfzYOz4GH
Sp7shkBZttm1X+CBSB5Mxbugik6fhiqMzTcWv98wWLnwxuKqvyg7CvwxM+Fczdz/ACmlfF7MMLR8
zVQA+cNReiL2tfhheD74ohfiCpLh5gYMF+IVcCnqMKVV5lSkHwxKOEPMX4/fN/aGKCWjVYZH4YY1
7WtM65/BgTPrxubYvpMzBZXhEgvO63CZ23XWNWPukawtbYVkr7xh3A8ED5s94Rpc6YktU7anqoee
J3e+CEKSmrZHyP8AaXGf3yBKV1u6OM7dYU8tfqWaj7ItjD+IMV+qf/ekOz+5rR8azN5Z9UDs7SCr
bEwlNqtT9Rbc/OTwKI7qKG6b3FBwwu4Pab4kjVXuRWrFWxVTt8y1q71F2AHgERi/ZGBZVq6yovR5
gp2+N4iq08ho/gjgb4NP8Mf9EgV/ZOwUP2VuaBWSLg5xcUKuQIMw08lyhdJ5hSWfpwvXp8Ijv7RM
bXqk2H68FX3Idp8cDWq+Zuto3KXX3OWfzES3Dgj5JuICeI3xeJGtuo1ipiMC4FTTiWQmlDyUTBR/
CPYYvdUs8SuFP6gTJWo9EzvkvX9EW0P1Pd+pL8KkbbNGoxEhzNhqo/8AITVk+pcA0V4mMa/qL4r+
oXY/hEx/UCDpXFTcmDfO7IpX9EqhUxTaYjH2afDMC3EvK0Qe1r7YFW30zC9sxYeW7iur/ZFi83m+
op/smOinxcL02e0SQovzLdAeLQbeTwplgvuPSvNMMaY/cwSf9+wOws83Bv8AbLSn9kM/zw0D+FCy
wY8oLj9qlWjQ8oYM785mPNsAlaIzZd83me5gF5WAnDHhU1vz0peoPq0Sz+wTDX8mabTPnLyj85RS
wE8XiJk15gNfF5R6ir5lMPLy5b/VAcPuzuVlB/EUmKb7ZcU/QwNoRWrgcM/+aFef2xvybwwMrBKd
F3hmJt76ohbvhSzy1HtlYVlYu5arM+COB/FlO35QgZQA7qW2IeFTXS/IiZlvxI14r+MyFGfCDV3Q
xm2trssdShNJCJWprVF3gIJrDF9EHQic1ts1Miy2OJfbUrFQMKqWe8/qFQaOMGFTJMSjsqDU3TAW
1WxvBMIGdm0uHG4ibEdhzZL0jWOsTKymXaSkdk7xMrcs74KjhqF3epbeY1eWGszvcU6hcuDFhHOJ
rEuqhjcqVvPBq4VMXGrZcG2UwW4nHcthG5TMirisrgYE1wVMEyjEVwxqCwm5SYJlLLuNcAVwEe5m
98VzLzO+KJTfAFZ6qKsMMuMsh3giUXMbInRCalsNRIOYDbLvFxwmSdF5HNsxxkI7alYmGIsz0xHV
8M7mL4veJQncbgWGFCLHUzl3CquoEp5msxFzieUzDuPJ/Whbh4RLrCZEt1MXAm55hri6RTUFbLgk
eVgxQcFzD3xdpc01FWiFzJLJXuFjuPZOtwYpjMpZiIt54qiZ3UzW4LNJfBvBLhFai8ysxYHdxjLU
meRxMy0lG7h8ywywYUuGFUxYbjF54ZasFIMu7zFonxLvaZlrZxcQbmm7mOCp3LgwloOY6mLwzVzE
zqCqV5l6l2zzTyZalFBU7Z3D4gal7VLczIaipA8xjFuIp1KXvjPiKkmEiRu9QcscKVvMUahSFtiQ
is7jVS61zkXrKsvnzmMMcXxUycblS6fwJlxwWys4IxhuC3AeJhmiXLnlXGJZa3BJ8JeqlGqnURgI
yyXFMNS5eAj1NxINMQoqGIRl4jdyucIMKrhZjh8QZgCMrEMVGUMVDBFYGNQljBpzFKJaMGbL5sYm
Y5JdR2XKGU4gk9IzufMvEuXoZe+LzO4cGYPDbKpuWXE8S6lqjmmMzKZmUYkVl0tagjBGNbnWOOiF
TzG8Zq+BuY8xtKmTk3FeuLzKtqOqlHTL9Siok8cffNTMIIRZmKmyrg8b4tGVAny8fELGDEh49Tqp
eYQHgm6iR1KM3C6ONVMpmNQjB1Ms1xfDBvBxhllS+ChLuE8YlzHDSVKlwYNx1RKYKvDG4XMwbhie
Es7lFYm2ZVMNx2Qcy24WIgJm1J8w4GYhczEKyo3UL8Y4ttbDiqeMidS5s4pxFbUDcJV5JmBuFdRc
S+xKYV5gbl7NQsZmpbepRbHf4fz4lKgrwGo7l31LK4ZfiEYamE3MmThYUbhUKmiLx1L5GeIfMbgb
jMwIa1BYsbhthwwhQiMzDdsTxB4uCwi++Fup3CMMTDLlxZ3jgm83LD3MzIglc0uHcIrcHcsJcKb4
uYJh3DUp4rmzVw3DuVnhhfmVcxA4FDcLjCU1uJ7l8Fhp1LpmbIwrcUSw4zXCWZXEu7mSLiEwdQah
dXLLuuKLt4EqK4TYhS55B9+I+WURbLVMXBCCDEIvVSpgbhLzGiXTL4KeEd7lZ4sumCv4XCHGEPUN
amoPRHDEZfcsTXB7g2yjzOyYgsFU3cqiEXKncfwry1NwjL8cUE3T+Fd8CS8zeiXxu4a4Fl5ItxU+
YMNxusTDOoKXOruW3BxM0xeo5ySplnaCILceOoLMJdzTLX1iDfct7qYTMW3EuG2J671M2Z7jGaMy
oaq43MwWZZVVwoeobmJklwsJdbZebs1G4iDRiUi2leHn+ZAwtifE9SiBMBBxLuLuHudYlz1CM3y5
K5thvUuMKfcKvizFwiMQi4y64tUxB8ywalO7l2ym4b4uFIzEthNIFNjLmbiwKgrCxQgGUzK7lrNE
tGJxAqd8JxUyKnUZeIIS29zrgZd8eZrMUhwGZbGo4m5YBLzBeMkDGYYmyXkuVKxiFVO4uYITEwvq
UtItEqsx1hqWS4qoFwwVcuncNXcuVqJCJneIW3Li0ZltY4GoZuFXKZgZ/GVnEUT1C4sVLitnNWAW
GZrkIMd8FXw8sLqUVuECWGIzOZ1NRWzEphjcsYZqaWJHUqXBvgq+CUTzOiOCDUWmWYtpElwbi4xL
Z4qGbnTAKjmUYjDcy3fBuXc13KzEcEWG8xg/huuKhYp93xczuXxiW98O4y+cxgxmtzDU6IsxZxDJ
c9MThUxIWrBRg3mo+YYleWELypXVxzJYZdkLG5tLWNMYJSrQG43VzvRDuUPll8imhyPoZpJehSLO
yGrr84jm2F/BmErzHJe1PmpiprhdNFJv4wohXa7ycL8PBbmcSgkrFxcanUKlQ+YwlSzHF+oPIhLh
VZl+JcvjwQQ1wMdwFlSmdkqNEIjubZ6uPiYixshG0IHFYn3LYXuXUsiwXcWhlCHFN4eKi0zxcGEE
5NzUV4DJiZmWLC4YRHglsLud8XDbPMJaXjglxFRyQJ4h3NoXFyRVl+IrApuOYYg5jkwMQczWYvAl
3Cl3AhtnSYl5iGaIWT4nR1ggU0bN2JEiRBGM7tLH8ZpD8iCKG2SfKLOMRW0Cda5+puxZCsXhQQeA
8EtSuzjFsYXBqdM8yuoypqEVXSer5z46nfJOp1C53LnVy1eC4MOLZlua4uoJC4YSW2zZDq2NwueI
zMMv5Lj4lYmmMLrgOWb4Z9QO5o4zBlwNkvi4tEu2dy2ZmVxK4G4EWHH6lqwmE2bnUMKm7qYVBsmE
ujPCwlsGJUcTHChiCCcWTLLRmCvxWMEFg2L4xHKCq9PyI0JDCRzJqod14ZaCroSmgNEQh1X9QEMj
NnqACWs1AIMoqduWCrG+EOu6QRoxugH+IBHQP6Ocbe3GCVPiZZ1Kwscowq2XL6hiolkIbcTcMmZQ
Th7YrZXhLLYRlwupnkuURdNepiXmNql2cFFkGWwbhxeublKmc44GYuO5YEUl0GJcpYMXqPCpMQS5
cuyN4KmALZbUeoPDxmoUzXF1Aaqeo3CYqYvM24lx4XubCeMRmKg8rLHUDCxSmmXip6vcUDcUomJT
xZNQg0xcQcQz1xSPUvojAozuYl28XJjgGppx2TSx0MjA6avN8CH5RcEP2FOq3Y/RGQvKPplsd5E3
KvmTD6nr7yiKdN+swVV7LmaJWPJyWKlRJVTPqpc1qWL9w9CFSolRTEuBikVniLcBe5thqbYl9Qlm
fUwy25vMFlL3xbAtl0yzdQRg0S51YQ1Dsl5JdkHxKgLzebIs7hYzuCHFE1Dhal3KfMLvjJxbGFRP
xJ1uUg4/HPmCnU3FbKYTuUlMQZliyuD4jyJipeUloPuXZdVcvuXC51Op44uo29Yj3OqgmLRRC7H3
mLii4QauOscGsszO5qUdRYSAbPmNDrR3C5h0vmpszHYfT9y67aUvuVHy1W/DA8QzBeItHlGrCINA
0ontqQ2zbz/jRpLXuDmMv1Di0LTVTqKvU6mdTNT5jcugl54onxi3FmLNkfrjUpG51uJLpnbDQxPB
MY+YFzaNjxct6lviDZNoPOamiDax3GecTUYIIv7iUtlRzKbmmD+OODg42Q3Lanc8RgryypcHJFuE
HbBeZmoHmXnk4Srgkuq4zLxDJyvZKxxfcU0MuXiXmF1M1LZtE3CPWJMw1UPMMmYgf4EZ6moLxEh9
DNSvWPKUBMOY0Eyp6PQRVVUAY5XP9hFFF8ZQy3emo+A8ElvgtBljRUTyxN60uPuuDwSs1HGmZC5v
ljdzDyVcvFwZyzJuEMrGWnUSBuBRN7eGoOW51NXGZFzxKJYQwcy84nSXULLUZdoOBj1x3CXm+WdT
qMvLC0jf1DozNy1zb1Kz9TRcGLbKZnzDE+WHi4tbgl7jCLuK1UvEEvleL9S7sxxwwyNwlgwhaeFM
FpJqdy/eJZWI1LccPcNbl1O5eczffFWSidk7gcCX4lMNsxHPGd1O9xGqYN7j5hLj5tA1XUoynRXc
0lmJi9EqAKEV46lBQVmWRzqDTh5v9MEb8xi3cvPGIwM+4blxlXM1DSGVGCNxGU7YOKjnumDLlFwI
pYTNcGWBRLCK/iGbm4ODi8wDqXmFDDMQCrqNXC87loS1lXwKMId8MrELI8KgsYUlYr3CzjMRuCCN
lMGkMQgMSqhVOIrwYYwlXxeOCO4y2d4FSrhsueJeY+I8ASnH3yXMHA49IMs91E++BlAzRMXNOGCV
c0pjFsG5U1HcwzFuJupRsy+LhiDiPGdeSVbz5/iJqKDMZgxC7SXmXO8xMw7lkxfBiVDCy44myXXc
7JrFTTKuDKuYlwSUKqUY+oaNTzAg0cJCuCglJeWU3LalzSMzK1FqZ8SsR6uFPCyBiPSC1fRFRGYG
GYdTdzMqXBrirmNcWVFC6jaU7g5lckNMLFhQQO5eWXwPmLxYRzmHHZ8cN3cFl3NExUpGEuYCJcRx
LhVRqXO+GGSMQIaghwle+KIquUix4vMzbL4WrqEe2Hl+DNVP4DaG8xbhBl2wTUU51dwCBMXGWsuO
4KkWuAV3xnuFNxrcxWIgc3AXCCl3xhhMQbWVwJUuLYywjwzuHGbly1PuCiHqF+INXUL3xlIisBbh
PaYnXFPlgxzUMRYPuFzudTE7hq5eLhliTUHxOpghuiYl45uDeIol+Zp1CrZeZcwwQ0zCNXy1xctm
yU3FRcXBxBeLgzFZgMpliKZbVTUtLuWzyiqHLL3DKXbEtDBLdkyzcu+oZ3wqYiK4nQXkNsZVzLUw
vE94uEvimlJmUVC8QJbKauKzjZCzgc8WjMsYA7glbl7CKu+FYYQcai0SiGJdVU3I3Lnoy6ZYJf4W
QvPLUuGblUQaIN1M3wqGWSw7l9R1xeYpZmpbbOpcO4zHctU2szZMHUEmbqI9stFCUhqaJV1LqEOK
jguZTEAJmHRiVTGfUNS+oIsTgVslLE4q9wCZCDHbPYgsLlnBbeAKjC4N8J4mcYmLlXE6IXfUqDKJ
QGJsXC7lHmXUxBIszxKJ3+AymC3CPBaWkESXs4uoQmKIWSxls0MPiYikboUqoSmufqJ4lNkt5hqN
1BmUQZIpFlPohE9dcLxmAwczOYO+LIY2gqObqDBExx1KeCYgNVFuJi4Zq4YeLzLSGuDTw5YFcXqX
fFSqol1BWalZzO4xGVFgzqZxMM6l1LMSzJKyl8DKprjMYNxs7gt1M1jhaEFwRlKeGo8Bnk4t4v1B
biWkbuXmUzMUsHE9jMuiapJV2qLEKuWNVxi5Re+bV8+Xut8WEoh0NTK7m0RFvgsE4vEuFo8NkGfK
DKu52cuMyzkJWMy1TuIiZ9TuBcydy7OCuot3CjfHcxid1O4vVTESB2Qiu2fcEy8tqCxa1CV3xbBx
UssqZqGcy6gwYmYcdzeJYE23wS4vmLWYZ5XHC4FN1KW8x1DNERzcKMs8qlyyd5bNMuVbOmYsCV5c
xGCyYMehCwm+4qAY4dS9jDcphctimai+JefqU8XWIgRSIoYOAqWZKMwZpnhcvPidy8R4vjM3KZTe
Opa2pKIVcxUbTHFxRp+YGYsy5nXqWzOI1x1MSiPoi+mU3CrDXmOY1gcehAbqU5mYEtHUBiurqVcT
zDFSuQrlu04zbYcV54CPogNFT4TNzvUyJiDAxwQO5ljcJXCZlOglN5IDlqOma6zM1PUiJ1CUwg9k
LjEOrsjd6xwprTxXgYIuGW8MtsGKeoUguWl4lTOCVfBQvDR4BmYIYIlQYjTNTcpg6cQI2VxLzU7v
Mp9whYLIuOZSFlxDJiF+JZ6lvEXSowzURSCcckV8RfDAuEsEMQeCy7bit3ByajlmiZjqDklONkaS
/cvDC0EvfDYRw9ns1MenehmKYDMPFyYCysLpKnioGuvujtZm6hfdotn+dDC5IVQkof6IEt/JcC23
IEsmp1wZfIzuj8Ug8n8hhZf8GZF3gBWaRQIXgAwe3+NMrf6Eyv8AWmN/pTzfpJWFfpOJqbXzRCU5
Y8UK5E2pnXbfGIuQ4nh/hm2fFRMWr6IbX+OI/wBBMX+MltUX0S6FXQBBZ94XP/KRcqn4EAEt9olx
/jToq+BAUf2JMdfqxNrfikvRafFpY0v1hiP8eXfZ6wyy/oyg5PrCrL/WNF2/WDoZ/fNUggx+pDbf
9J5lD3/owKjf3hB1lTe0HBVSosdv1HO7xWinCd/xnov0THd/qJspfqOGx9TQFv1D/wCSfP8AqNwv
0qNT2eIBMr9JRduMdP8AUNz+sAYv81FCunqBxl+pet4OmRdQEc3ixtF2LPqa0OoXQdyl/wDzASkx
suiYTYrYle3EgLwSpeRw6VK2nmAQWY8yxaJqDW4twLxcumo4jdcoDbRHKDGjGNekOpqORjDJc/JF
pTKqk8Cen+54JetMdQpgyA9ssO7j3tjeyWSqkD5lYqZl3UvsYgZc1GVTLHCoFg4WwDw8DtjxKDcp
qF+JcVqUlQtimNGEQgpq08LRW2mHGkM7h6MFepbFtMmxgrZAusMRqkmnqDW99MvNu4xRwRuiUI3e
CXLnTBSFMUxQ8iKMty5cWoKU23xnsSXWFjbUt3LlnfibXM7i6C7JZjcxqbSLkL7lXpqAhSzTUVWK
mVlu2WrMvUzLcwE3TMxK8xqZTuHZEMv3xR5j2KFS+Qw3yQfIZROoNR9ptF7uJUIAre5RQqMFI2lB
DUuW2vFsvMsssHrA+2C2YERAXolGyxbNCX6P1RNRB9S8kWXgPUOn9E6X9MKMV/EagqIgKevi1IIU
mO5Es6ZKVQepXYPumTO0Jpp+yHFZyWwPpSssgZpABDLeZRQ2eC8bwo9sLq3dy3B1bg1VXAWRgJDW
6tLf+HKRf40Upv8AQlhb6h/uCFn9Y6FneMctBvxgzX6cF3NPwQD/AKIFBRe8RHKHRsgAweak1D+r
UDhSpDeYk939LKltPpBDSfAYu4NYTZ+osptOgRbT8mTUUXnGdB7ICarNMHGUd1LZp+0ZmvxDmC7P
ucFZ9yU1PSLD7i2qv3I5TH6jHbB8Q7yAhd09SQYC/Tmu5ygDXkSo09xK7f8ABRbu3xWCavMSUx9s
lYyesoCvipFmtnhGtn9aXxf6UToHvuXSNeYblfUYILa8yXQzsi4kMZiLQoeYa0TyzeFF6mNfopaM
21DteJxzJXRNG1TbAOL2ZQyFe4F7Mp3dKKn75qDZIzoafEnf+6SooSaCyoF+K5WRXPmTItPzFZdv
TNNAd+VizxpMEt/kYVr+OTPb+JSUL2s1WnfTLmfbWWCtuYAT8I4k/wA+WBB7rM1pgkx+vDbf5xgh
pT1KiWT8YL91LwrGBRLQkW6g4Kb5lr4MVsiod0H2lOblt0aQIStWAS8pAU1EZYi7ayleIYyxG3Er
AM6LOkbm1Qfq4IhVqeSzrmClqikJO5mzswLC4Mt+MMyZM9S+AnRcC3mpZaVEOyDG6sQxag48RxC0
mZtamGS82yhorxNObFjZakVGNkLilhC5YaCmNlKMQHmFaBqbRmVd4YLFNyUCj9xYpuUCYYqAUKYg
S2Kr/hMo0cRDfcVZeE3BgKqm4X5WKNaJR0q5XpKgKUTJE0t2UwwAKrEFVcEGs5Z4Xq7i0Qy4jVdK
ltLdS7DC9wQJvuKi9KLGMZyeIXCTEdFSwqGAlvMTHtLPoEyEObg9ggQWG4LpqqnXEoOpjLAFQqUU
k9AuKpTnzAXBhumKAKYCzWZNIsHSwqMBK5VBYQDomG8LnpiGg32uYndbIVlzXmBvL8IC2XEWKr7l
iwb3LnJXi4lLiuGI4GFmouRi+4oiEbgRqLB37uU7/tBUV1LUGL2xOQmAc2kxBrXiUduCOoG4l6hK
wrgIsj4RNS40EHuo55V/pGriogjuEZVcqpuVzW0TV3bCFLmUjD3i8O/M+RKTAg3bCQzHZdA+gm0Z
hYKy1gmoIZgdCRbNy9qxpuM6rfiKu7h3XEplepa6RUozCWBY3UDCn5lMJBLTTHBkILZczNFY5E4g
KO6zFClT2YPzLMzJRuFOpialTLBD2QOSJsBsjY007gbMwD3glRwsLQJeKgbplkGPafMS64rTMpyp
iGK3DHcSUgyXcq1mHbQBLsLgu9ss3Coe7tG+8IE6I3y17lfubjjUhlMYsQWWmVzikwzazD4gsZ1l
AAlSZgbeIMEcK0uNBzLO3EfdlyBts0pjBbKZBnjiwuqi+5u8szTTt3MhTnthTW0AaMZWhv5I5ogx
dlQqgVDeB85hrbi5FJh7EquUBolN5QpxAgLNTVyjcKQ3GqQoqy4iub8EyhUSyxFXkbm0kSbgbzVX
EillmSkDMdQIQQwzUoqXnM9oH/mdsMZQZdsODfVy+Q5jlbGUXq5aL8wcao2DHAhgRK3Lal9LcCNM
tfgi4LjiK3OIx4TtCruKKqDNTarH2ltFRpUda73wyZYG25cQjFDTMTnZYeSYOGGcuuIPcW1fGNgy
mLu5bZiVZMrcKOWOoLgK3AsDcMHMrxaIKpg1GWNS1VbDzRAm4LUHtFFuL+YpRW+4eeZcOYK84y3e
EHa3F7YyXMsibQYZeoaZjhlg6sihwxTcXe4A3BDc2udtzNbNYwVRRl6ogzzLam5SswvYzJoCIKXc
qnj4hjVyhmHufWB2hgUW7gxl8OMFCu0fFYs3G+5blgS9JZoguZxbyxKHK52Li22xGMWAULKI7eXE
9TOHtOyg3CMEZTwmJgSmolH/ANYFtEVMy6maqd1C5m5UIwsI4gLwkrI2fSXEViWwUtfAKtwaauD6
ZRMwhVkvMFFMVg5eZxVbiEb8M1l4d5maNm4SqIquG8FN4wOdUCKuW7h5sZKQwlsU8VS0zBF1AMqb
GK9z3ZmW40DgYMLAuD9wJu2XjYyz2QR3BXuWvDFIYpnsgWxinExwD0vjXZtlpk4ulYwvBiMC2Jal
12zHUBxMaoqZcS2V3A/PGRpqMFd3B4ansiiyx88GC4pjJaAbmCXu46rlc3cjE0gDcrZLjNsWSmD4
h2iHxuCesQoMp1mZJMCX6IIzESviD+oWrEp4ihmenEVbZ5iUo0iXpiQU9E9Uqi+ieqIQqzphwSeK
4L1BKdSIbu4sKp6ONnqeqD7jYy8wynqad8WzEK9QbF+Jh1BKVPWzFPVPRKepetMtiTBOokxzTZhh
GnjQqeqeqdUIuoVaj4JusnpgvUb/AAhZplofWKPKL7IovEql4YcM9aRULLxPTMtVPVKMMM9kbtMQ
qrlG4Hmo6aqC1mAzPnUoRqIsSzFbJijtHEwruo5MQm9VpkyQWJ9McFDHvUp6YPdEO2JQRnZU6ah4
Jm03LjxirnjZjysQhUNO3CQcSngES7uJOWUaWGZjxHbUoxwrYjifNMu4yfHPdPbAzSMNXoUokBCH
tUBE3qEI9QdzUYuuoGyo51iVZrPAm8ancp3whJRCnO4njR1LbIJH1RWuM9EYXUVCx1AMw1Q88Z+B
KQOY4CGOLLqFVVErBJWFOiB8JHiGHE+OUuW75NyUS/qKXVIwsJ2Qkt5cCqagFkhIQJd8EdrFYIAV
zMmalpMt7MqWJfakvqCCVqZnqDYETepRuXdECOIIZ6jXipf1GamewlBoluRiF5CuyoH0XATcsGpi
zwURPES1PXKcfGcANG/qBuaYr1+FpWVYSrGBlrhwN0ivmKq+JVaag1LgPC60XDxMXqQ+BrLfeB3G
4TuLTuEG4WozIrWdMMErdwI5ccEBuNHDLG8SjWYmjMGRBNMbgV3LTbgYpEpYwKu4QDkYGGUtAVH3
Ie0Q7Iebxu7jJGhj7y0qG5QzwUlHgHQwBqWaZVDzE2XK1EdMtZggkWsyzjTnCVHOEucOBUj5oeSW
dCWbZXaMEKeZVKuCdwYv3PMzUBgwHRAjNooxQaQlJvNQG47LlZCKR4uWKoQJpqZ6i+zKES0W3hUC
rMQkD5lmIWKuBLQbZJ2sxF2TzMyyCogRuYzzxTtiMzyFQsxFPjiN6QAZzgDdnGb2pKu8SnWXItlM
Rh9ot5cXFoF+YsFlpLblnBZiszOYUTMoFZs8T1gWiMNeREecJVpdN/gFQx8sWg802Znunt4PZHzT
3Qk93GUdyruPlnsnvnvh5J7or3Aph49mYHpi+VmCox7gfcPLL++EHbDqmGY4BkeI+We6e6dV8dUy
3PdAhzAu57YbLi3c909815hFfMXKeMgURSZssWww8cpqnnWASjo489wn7pkzxA67h5Z3MZeyXwK4
xwV7g+4u7T3ptzDyz5kXtnthB61DzyhG5fxV9x8qBrmLz2yx3wsdXF+57MB1C3cu75vbhAUpYXdR
gsaiMDFsozcoiRzuKOB4oiBOoV6T0zBUUHDEtxieCJwYcNykZRCbCBnsjNJlNdwPnhX3N+NvMx2y
kVEeZXGWHkYnzD3R92V8o17nygqjWXguIbpWNO+AL2h5M+c33NxXC9dwubZfzHLcZLNcSuJsq57Y
eSXvcZ+2HlhBinlBIeJ43zcQ0Rjzr2RlkmSZqg1ZmSXmO4cv+2Y3MLOPHEcvJE3yRohyPeMjhSey
BgoSGjduZfUtLtcauSxh0wIYg7mOeC41UBVsXMNRKiYlYmYg1UwiuIRqdyliGUnyhfDDYGFQW3Bc
rWOKssLmIMZlVKJRG3cqrMSPJECYeoVJRZM8VKoxa1LVCsBTAwlCygwRbZcHIG5R4lXC0D34iEb0
QKiKWXs9TNiZ3iVTEIeJL6mBoi0yQHiV2EoEpC0rcoYhhKVYQ8UTEYqVGg1AJE5qGcpwEiFouAmp
iV3UUi9RKxdUSltQTUBdswGONxriuDB1KxoE7GODPBVRUruaUkozB1AMZ5dQ8ZPRLW52QDmp4U6E
umLcY4mUmVBJXhXxDxSqQKVH0RDgICR46lktSJ6mpdxiSlQIwzKXILcLwahhzB2NzK8VKGiVXcoR
EwKI3xGfJCL4EqVC2PEo5Co5UwLl2bQxPlwybnzAZo0QL6iDBASoLgYD4jjrMChe4heuMs8FWRMB
cTdXEmELm8yiBlMcEFRvLqMRqoQqMBxUqUUSwsuJ45HWKKmUtUIasIm4qzlXibZgZjxUcNwYhnbL
j5ikvC3MzJMtim8lLvzwmckr1BzUqmPkJcGpVFzxNktcMExAgZnRp4hxIgdStssMoObiWwIXmKcH
PalTIlBABmKjqdzvi+AGIQzUqdwbYMzgYgMBcsS2GZRdTRSIhlHxNgmoLep1nirIKMaZuVZKfOI1
AVahdzUFlvEUxPJEyTBSyVnUQUIA6jufBAPEWoMwqJLcCCoHcYFGYg4gG1i4lXB1BdxGVg4ZrB3E
2PUBACvEovEIEpgWyi6qNt1g52zcS0w9RIHtKIBlERG0g3UrLxXLEf7TZiPUwGINMFLIBbqU3CLA
9mPgixm6I0guAxBqUtykBGYck20EqdHhUFKCIRam988DqUuCqqBhIUCUgZmpbkqU3rhviiUzcaQD
MokqiUxoGs8GCUzrgxkiW2xFNQhh24ETslWyqgDMmZYqCIVwFLYKJnM7qabIlkteZY01ES0zcIDG
oBKK1GIUPbqBeYxaGCJWY6lxtCVKo4AqdwYpCCBY3LymoE1qZRTEYwWVjEC2d0m/3KxqG2Gfnnkg
RF7xM1KuMhuURLGoDCGRDCkAL3ctZbiVd1EzmF8xyhxlJVkzeohe8SoxcDEzNmIGMMGViMoOYIw5
ymoKZR4ieoWcwTEFqWgI9CWuA1EtYWiY0nbUMkAJlNIVcAcQNyk6Y3RiJiV4mEGtSl1KzLOiVF0s
LcBu5coiEO56lFysTA4gKRdYmQgcepgXUp8Qy4BRZecwoylpiQTbUpvcFDDAQoFzLgJk1MkRlQSm
4GLgrslJUSOSU+IB3PhK8JkMi5h8ShyDKRpiTGKgRotg1iKmWp3cayOKqGmJ4MwQqsxBScDbNQDi
ozcCBMVMWYwSTWXFSgXiSu5Q4WrUzhFVHCFynkpuIZSsGaGViClN6jfqOhmavEaNu4ESE1MkMyh4
JMpicM4hGmZWVcqSmVAxLJbogAfnojV+4SDyftEoC63AtGXl3OgxFGEUmkuNkqaEhY/wxtpYwDf7
TJioYwHhx1R/cXE0L5nhc3l7iJaQ13hc0ptF8zxKODJ9TZJTSzbBHKwjXpaNQjo3FlwG2WU1MzVa
Nvd7IWZl1jLqG9S3VQd8OMkFUHcQIYS2IU/NUCa4YAkR8l1TEzNPpRPFd+oMbOsEQY/ailP8W5Ul
/quNkMJ4j4D6itL9MBtX4IX5/TP8IpqFfhjuW/ERxT9Tot+oAqNOLlqB1rG4nVlO2/VTS/uQIn8y
UQLF6iIdvkmprPZL3L4xlNnX5UQws8FMLK6b2ghf8bA7rHvERt4RDTGhuuuxqaFr8oPp/qHlceGd
z9cem7xU8C/EYLduqqKgCXNVAjS92ibcQbpgFKh8MWy6MNoMsH1DSr+Jm7/amSv45alfrYiH8OdR
fhSmqj5T/uCIuE+CJ/6ZTxlPEyFq+lKaWvzCzTBlqLd/1USzaeQY1Dt9pciCFF8wGxR01MtXPVEo
2PhU/wBzaoG21/DCsB8LjbjdV2qVTweUoUj8qGsbwCWarteSmcP1qL002WlmT9qUWxfKLdR5aIqr
9tDocYVn+TKOT8Wp2sjiP7MCaOwDvb5wRoserxwH8mFhF9S9DwTFRM31NgDClTfvUZUMBv6xBhSm
M3FTQhvslbV0VFtOZpuFnwzD2GoQopEMRUuegiNXiXhGOWogtSiWcQGWyVbZc4amhxlw4SjqeYCA
jBXjkhIThI+7gqYsiOwYgFEMdMQZT1EDySBBinbDoPWCDltLJj2qepaQAIgxCpvdMA72ZqJmm9u8
MCbEPASpv7YXgxXTkh/dE1AkyDhi+8mATmUD1Px9x2vBPD8JRCirBsh3ddQOoi6jbO7HEZpkkqgg
3qXmcvkuBFHZgI8q/RohYNloAwRWvOyBDVV40xdWq7QCXNXvRimoeZFJVIm4OXq5QoyiqGVEhhuw
BF0k6NIbS+ihRG2AC3VRGmA5UIi3lg9pjma7Fx2EPwi4A2Gihbg6BVcgQsxhxeEeoYKDDITNC6WG
riS0N6oiuAw6bOyKqjWKFnxLDR243EA1JWRM+WfCHPhGjqXemuoYHnLyCJBpnVLgVtZwtELZxdKb
e5SlVNCGAOwpYIupX4JhUyUIKIk62NUYJEUC1aTcpMFrdIIiKuWKAKl5RUGGo4oCoK7Hij/EKcA5
oNzMCJDdSFxf2KxBjJ8xjBdbYg4Y1v0FRlAd2DP7g0CrNCnxBqYzmhuXUt5AXHhda+ACBKAnYEqb
PT5imLhVC4AUD1RbLGh32RsFIzjcbdYxYopg8y8r7IY8okxR+JcL8mQblQLBrRIR/wBZQ3FpupcQ
tVA4zSCTcRag1dY4ioAtIvxNyg6uOWKV4lfV8KzxkJMiBXhTwyY2ADonmhnuQOpMhWiZ60N6P3Gy
7fuHmfuFuU/cToWwXUMHe0Ve5702tZKpaPJOmqF+X9YOTZyklF0XyQ1fwRrbIXLCAJgfUsZ9rU8P
65S718Q8iWF/QiukkFwOF4SMBaUZdM+0gvekvCq0zNdoFnpHIP8AMGWn9xX+zlmsu8Idx9ZiaRcU
5lYP403478QPXQwk1+4ilFf0lRxSNZEz/wBBO4I+MRYSxsjdAi/D0hll2vyCXIFl4YGSq8sAbhdL
g7Jjo6ME9+LE2mT+5mhr5l4AB5h8537gwv2uJtpT2wCRbfNzM2A+Ygqo6yEroZOiOwH0zWAlKldY
zKlhf2i8t8s7D5g3RMZtjHBGrslwH7rYD2JVjA76gANYoUEvbVnhTEysM0wOK/A1K7m0xmD2Kygw
oOVKiMK1DxBgGyledT5/2wZbx+ZnFXuhlbSFhqpr9xHYuqu411+1D9vVxUMRgvdrWY+lhe0z7geb
z3YkbhFChPdxJqr0yl6teyY9YZRL9kfs/sjjgH3CprvzAvN0cZz+GJ9ftggFId+MUaGA6mIhvV8N
SFgPgj9x1pom0f8AmPxG6+JZT3RQbczXgPF8W8MPw1DgPw3LlRSoFqairNRvGF5jnEP7leEXnHiU
TDxiVCIPFcUSi9cErl77GYxu8RaVqE70RUt8Ss7ZY0o5MrCzvhutstOLl1wnzM+WWHC77nu2Cucw
wI+bmiQd+Yt3BVmKxlm3pL8yP/dp81PP+ydGH5Zm/wAk/wDQiNUkP+yn/vR86e9Hz/3Oy0s7Ut5Y
D3lvlLDuY6A5FgdSvJB25jBPUJm9/ZLdrgtLeZaezgrgGglDqWstlEsaCWJMwMTYIinom74NH5Vc
smed2xU0WKUTEcXSmGfxSYwh2sVK7tgvUpQyxL/PaLkhlhEtMxbcfyI4iNPWoFKnJ+Axl1GHBKuc
LC8IBjC/ZnH8OpiVwwgwq2h2yiIvRt/w9xZyFY4UpGZwWHlg/jfIQBas9+E3hho8WGh1pLJo3PTF
/ElkdtRNTHDAzAogo9iRK6rBxLmRl8k8Q2cii9yjd32nQ+hQnbEXKFcExX4XHX2ENLsjUHbZZgrg
lR5IxQ0u01mNS+wbgVfxJ/LKKGX+5ULtJ4ZQ3cdz+4gwbn8JF0EBU6DiXJ8dvzZm1ZctOpU9RAr0
oCwZbFYuYKehYmGBX2iDtIUorZcCMWFVYbj+aEPMICvEZYl4PxJZxiHZ7nr3A5txXFS7d7d2IN/g
Ca05drzD8GVAgQ2Hpw238TevzIwFhLJQv9xtFr6gIiY+lLggqtSe0PHNpDde+MSyX+BKPlmaiLJh
8mBj8K/DDm0beY2aUNRXmZMmJhsWVhViVW3dvFfkYmO8jDNoxvYRLJ2NPNblcnC52v8A1BZUHki2
XGSlsMMV0S/9OSPOIs74Kl6yRIjcju4MX4u4oZ2NkDPROzPCJt5R1JUvoRAtPWdemHILuMC4TRjo
/wDAdSk2m/c/jsZskeFl4g+moEFHl/4c50QRWvUsXl4qV+JFYh2SpXXMBZ/3V6ufD8yGGdQGARhc
Vj2w/B/FHiUxed8fbKmDlNav4Ijoq2sqU/g8pmAAzEbsOBNISuN8Vw+9djEDUqpqW2f1XDKOptBo
iFihVDwSpf4VwYnzTCcJQLBE83+5hwQcy+bixlJmA0V6aRJdZ3WVXvJUGB2mUN9QyS6qOSP4nHgl
aYgCQ2B0kqEwOOHcYWsR4Ja5BwOojo/huAY/mRzIMulXhRbpQQOyN4BVnjUcAQKINbmv4uX+F/i/
8VwRLvhJDm/yI/8AHeIXwixp4E1WO29suHAyz8CMqz8r5xCOn9OFoxHt3cX5v5A1+Fw4Y7IC/IjP
WiDCk5uWy3gh1o+4e1YLyivlgfhcOcjcAzdUxqmVmw4YRFcXUeSzTAFYwqYOpV9R8Sxbrg3vBHRL
/C/wJcZf43xcGnMscEFg8sAiMK3wnBxcvm5f4Xw/hfFFbIz65AahPSU8y5cuXLmPMufcxN9z7n3P
uX7lkveYJ5jXnii5oSo4seY6T0lkIDBahS3gFSzzwfMa8nH3PsmPMaxGM5mPME1FWyJjqMXGIxBE
1K/VVRzHP01MxsfTCKYn3K9ko8nAJKVIirALQRUv/pZq/wAsMEnraWC/VTDvB9MQNf0w7CfTNn+M
wZnXeYxj3NWSw8E4Qn/2I/8Amn/xIvVpdc3ylzMWmS6W/wD3jir98EZmUy3LjFnE6FjEOpUp4plM
qU+JTK4qH/BjSbZkgCMr9x1HYPwv8bl/8QwidseuKPdxEgO+bjxfNy5fFsuXzfFxY20NaygwTEig
p+Obl8Lly4suXFl8WcXLl8aICtBlhk2LTxw6DZUX/AfxFy5cIuXLly5cHi4vC4Wy0OjRKEmkyj+E
d0jLJbLZcuXL4XfFy2asaxLuyGstZqelBWaqLtE9JF4YfETHqEBZVSu8EZ3BQn7CCbhgJrTQqaCI
FowzUDJRGkElLZLVcoqMeAyuxjxwMZCO0IRy8NfbqYY9UyZJT5ifUNIZVpitFs97CZFzWhHEQuNw
ykM6tkF25R2xXtII7Z7WG1cs1cPfPkgrVtTvtPmqPnZZVKbcsacK4VZlBtRrlRwUtg4oJeXg0iug
gXhJDLbgHvMjnUehwHnHSlNVOMDovKhcKUNmOKllvLPmxrpZ7KdM5RavEJkwRAaLCiCRph9AlhpZ
WsLgKwMdp1KxHCtx6Fnlc9iYuDKe097D3wv2zo3wZ6pj3IwhlrzmAACWZXkjuoraIgtipi1Axxnl
ELtYn1OHW6RXRgMsuXGerKhlySlqUN4r2gs3M6x7U9qMp5sIMHJYm8EHbDqEhYQgVAIQqzCDiu+5
V44X0wDsj6J8cfBB4SUuiZsCp0BMZhGQVkJjTDUoTES4+0RWF8RfA4FtXHB7JhwoE7xsk9Uveh2w
dE2Zr5/uU6cW2hLE7ICQsllhtCmgTWJi1YgfAJfFNoWW7IBbm9EKGo37jjriPvYnj/SWImPGSlSs
hw2RMe4xHzi11jCbt/wmPMdd2e/+pcYX9cMEf6TuP6Tuv9IJix9TGjKdRGN7mgI4grXfR3PRDdAs
zMjji0esMqdkYg2+LrdS9qBO/DCphPmWQEYUS2NVEy0xKsuhLsS5AFsk34Ex6j0wuFkHAD4Yaeie
8/UacVKrzM9Z6Iqqv57HfiXYh7PxPwdjDqASISAWgG5b9EeL/Lr/AIFLagDDZDHcZlWzB4iCrl/E
4BWgWFa2xD8O+VyvqXHbsmIxc2H7YgarpwJdcH/CQgWjUslAUhUQXcItHiN+VebZuYIs1+OOFiZD
GqxtQ+ISJxhgCF9r0SysrLlwZbLYpPHDLgwi7l8Caw8S+jnsjQzGxDTZ2+IvqXy8Dwc3C1wLGhkS
WVLYcHSeiKxu+O4fgTIwHNwvLficuCKX3KAQaioXBuDF/BecXABZ6l5Yfm5b9oU7gs9CxWW14d8X
zcFjAJzAYveStBM/maYoDUUYjuXRoLr2/jfG44JjuXGIDB749XKv8KlQiRthiPY3Gcc1UH86iIYN
lohlAVbSZfYix/C48drjk14jZBpGXbv+MjAO5vzgMVXguWj/ACKMuQNLmu4HCcHAdecxQrsDNXM4
aNxZm6l1Lvl4rkI4kVqo6/1F6tguDctL6LLt/E5FNKRTt4Pwthuakt9MG46GXL3/AMIGg3v/AASb
TMu+AB5hOuT8BRsZeltf8BpguZaOCJah+Vwp3qM0+tqf4YoPhEBL4fysp4UFxcxDxDgZZwcMFcTX
dKmX27yvctBJq3U3w/gZi30zRFaZ6qv5cDX4VFncPvc9kbG2FQ/QBT0s2qwNSJFW2tbhslcYhsi5
GsMzCQMphG8hF5FrAtl5hgn0BeJYu4t00XEolT4VO47l8/8AIc1wcVNG+HR5Km/+AmO/64PyICJB
XSBMEBE8sP8Ahvi4fj0zH7YUEdR/sh+ajzX4WlPqpiUdW8XDFflc1mLjNqAH2hDnqXwMKjoIYSbm
7OzZG6QXll5l8ByRtR5uIfkRlQO8Qg8ZuDM3yfVur0g5INw8uUzXMqluxlk3L4vi9dQNw3MJPXLH
njr8LgsFAQe5fDPmFFI1bdcrb/z3yZExMd2TCP4P/D1+JqUL3MH1CkvHgQ/C/wDjrjqC19MudRHf
IfzPys4UUVOEo+RiUHth+DM8XLl8kwR3xdQ6ZvWmokek2uHJ/C+bl/iSopnSQ1NEshsZoNE3MvxY
hwR/C5fB+L/wLErHxCkqCy78Q/5eobk6jUV/PCX/APg6Z/VLolZufysJj8T/AI+uAIl4hBnShxcx
+GIn4vDxlG6fZHUy1tzSniOXLnXOOKuVX5XOo5Iiu8IxfrPI/nUrwYnL+T4CvcfDIdRn8yMEXlCX
eMjzfN8awQZLQOWfzmXwfkzOEdCxFe/+CjXy+CAPbaJaAOzWw/Albx3ojG8No2HJBt24qDccRftQ
/B4IQcfWMrKE6MZOqkeSPjAIkfQyma5NQPlJuKoaUHOObxLqXcurPuHolHN1MtmfwGbuEYl3G0sM
qXtDioRhzR7qkCOtsi+pcPPdW1+Bxvj1KxLUhs3SUkdvp4DxfFx4SRYmI6cp3SP69OB+47/Iiek7
Zauq3AZnrgUjs/4AtqUZXUFLj/hJZdZD+Yufys5CW8vFD+CLav8AwO21vEpgmStBWfOPNo4WrxLu
LBboOXUBs8Swi4iv/gAo3F5JgC4mOwM5LI9kFfpyzkVZeMY6KN+yCz4cGoq/GgP5AwcaLcsygQeY
ijBORyQZ64gwVqpSghlXSEHHJL5wEJGXwDtMAsqnzIiYl0kZni4S4hvUCJpJkSszZwpf4dwVhcwz
mVmlVtMQy4ctJoMxPS/kQGEBp6j5jeFj0wym88X+PUq5oREL5g/mRAsoixt9R/IIRlSmkYje8Sv+
AhvQcsflBq4shDKrd2jztRLlgAMlcsG41Nxxh+YRFR5liVC62QIJGyknUEzI8NjFlN5GNQWSkAy1
bdvBEoiiyjFA8oR/IhdpS5lbLfYNWYiGmWzPoF4vxMy5fBLjYGXjyRl/b4DUuZl8Xxn8+YP0lldQ
BihBIfnge64w8PGY5iqvc3BwcmuFxeZvjcGFZhGdZ2QCK4zcxDFih9/mfhf4HDBgne1GV9y/+G/z
OBZIKTigHl/4Xwa9CkAEP3McRB7ZfF8PN4mnBV8U/ncX+ZtEL1shaLp8URRaq/kMEipfZKBCUyh/
TxcfxvhFBygNRcvi/wAHDE8LHGCfHnA83zZLjbVst5sqXL4uXKRawjKF54nIfguXCXLf+K+LhyVG
BcI1cUSW1/G5f/HjaMocDSNxYOL/ABuXL/C/wBdRekXhK4QX3KdwWs9M2fP4HAw/5H+6IxeIsFv7
4v8AG+V/DqZ4puINqoxC51ExRKlITxyly2UpiexDzp70x3euMn1BdNiBa565guLS4R2fzGpQp9kp
yU+MCqnoph+eI4thPT+BhaL4zGm51dYYbH1TBVhm0/TEyz9UL8g91/zDL4RGiCo6lrnN/wDBcv8A
K8cKMNcPRaif/gSOGOkL5ZlcQF2Y5IacYaVn/gv8r4uat4DuMpraxTtoly+ozGxquBl8FLLxxvLe
F8CL+ZaB6pAJ5oXBxinGExUaSCIOd8jL+WX8y/livMFrctlp7pbzLcGbeZeLCIWrgisckDuCQuNc
WfhdS+Bly5ZDxx8E9M9M9XH6p6OP1z0z1Q8E9c30DVkAcO4YRncI+GeqUdQXqPgnqnq4XpjJ656W
etnpZ7U9ydLUVHKADByVCRTGSPhZ6Jbwx8DEZT4lMp8SmpT4lPiZ4zKZma8ZSBlUlxyQVTTubk/4
8y+L4BjeGwKZqQZcKDthZhnhnmnwzMzMvU9DAXTEjUpdM9DPQz0MF6Yap7GGA++KlYSBZwimp7MP
Intz257nC92e7Lu89+e5Le8OXGzVVK/NF1uUlhAckFkxLNcXwcXvnunshGiUaqZkJJjhrigQCSsE
NQKlKkhpdKGKhSU4qyJDVXKToj4pRlZVeAbjNfEpH0ICYtRDeIG9Exl2YQHMvhOIL1BOp64rqBej
h9ZKJomDSNmp6prwSjpFOkKdQiNolFo3UslEBAVuN+iXdId4S3UPhiuiV9Eq9IkZE9KD9R8ZA3Yn
oQbQhkKQWBCxLVDMSWGYK6nnE8YnqTG4IV6IU5EacDlA00EFapE9BKeCAeiIbCXsESWGI8LpvjWD
OBYTEjhiP0maV8cWnXAFS3jiO2JeDuFBCwikdR2hN3yUE3qF4ZE34uOWf//Z
--0000000000009ca859060a3a4463--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 01:09:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 01:09:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633917.989095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Qsn-0007Pd-Sq; Thu, 16 Nov 2023 01:09:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633917.989095; Thu, 16 Nov 2023 01:09: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 1r3Qsn-0007PW-OG; Thu, 16 Nov 2023 01:09:25 +0000
Received: by outflank-mailman (input) for mailman id 633917;
 Thu, 16 Nov 2023 01:09: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=trnS=G5=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r3Qsm-0007PQ-6u
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 01:09:24 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id c65d68b8-841c-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 02:09:22 +0100 (CET)
Received: from mg.gitlab.com (29.226.74.34.bc.googleusercontent.com
 [34.74.226.29]) by
 fd04f8955ffa with SMTP id 65556bc06a0d540aba7eea52 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 16 Nov 2023 01:09:20 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: c65d68b8-841c-11ee-98db-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700096960; x=1700104160; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=25AJTFCdQvn8PbRo1VdIK+xkjywzwmEO135k0XB6adc=;
 b=IXRplLrtVseVm4wWvSaPk8ilihHqPcqlM3pFusj1tcEXRKtQo0m+Xn8OhrzrxllR0sN19H8cF0ZHR7XZx9h9memYICTuYZrGgXElvWe/O6VuSO7s3o2MkHm2d/c3FCna2jyPb3Nq+XeJ6zafzuxqIUhbppE+fuek5ehXf02AwMo=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 16 Nov 2023 01:09:20 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65556bc095d54_2c9b190560c9@gitlab-sidekiq-catchall-v2-d74464c44-fff57.mail>
Subject: xen | Successful pipeline for staging | fb62aa71
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65556bc08df3d_2c9b190559c4";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1074149645
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65556bc08df3d_2c9b190559c4
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1074149645 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: fb62aa71 ( https://gitlab.com/xen-project/xen/-/commit/fb62aa714d72349722d63b32a5a6d20a677f39e0 )
Commit Message: misra: add R21.1 R21.2

Add 21.1 and 21.2, with...
Commit Author: Stefano Stabellini ( https://gitlab.com/sstabellini )
Committed by: Stefano Stabellini



Pipeline #1074149645 ( https://gitlab.com/xen-project/xen/-/pipelines/1074149645 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65556bc08df3d_2c9b190559c4
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | fb62aa71</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1074149645 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/fb62aa714d72349722=
d63b32a5a6d20a677f39e0" style=3D"color: #3777b0; text-decoration: none;">=
fb62aa71</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
misra: add R21.1 R21.2

Add 21.1 and 21.2, with...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/17d72b6a7a08ea01d0d9682273e85dd8?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/sstabellini" style=3D"color=
: #333333; text-decoration: none;">
Stefano Stabellini
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/50b82a64e2a9f930cabefa3948871101?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Stefano Stabellini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107414=
9645" style=3D"color: #3777b0; text-decoration: none;">#1074149645</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65556bc08df3d_2c9b190559c4--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 01:57:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 01:57:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633967.989120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Rd6-0000UR-Et; Thu, 16 Nov 2023 01:57:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633967.989120; Thu, 16 Nov 2023 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 1r3Rd6-0000UK-Bq; Thu, 16 Nov 2023 01:57:16 +0000
Received: by outflank-mailman (input) for mailman id 633967;
 Thu, 16 Nov 2023 01:57: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 1r3Rd5-0000U8-Uk; Thu, 16 Nov 2023 01:57: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 1r3Rd5-0006r6-T7; Thu, 16 Nov 2023 01:57: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 1r3Rd5-0007mE-E0; Thu, 16 Nov 2023 01:57:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3Rd5-0004uC-DY; Thu, 16 Nov 2023 01:57: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=00fWFvqTu9zb7/Rjzo1mlpFMsMKAWpyNueD1qnIDWU0=; b=pnJzYuQBfS7hP1vDDPmXdW0fOC
	ZbZjI8Khsf3zfMZN2jOE2ZIeu2TQCsb3ZHmqaVTKsBnwctAAjIOqyQ3MoyDF2KykchKqptiNd6adB
	rpE3CLLPd00stS1m5kXILu7srYEYesfBaGwuatyESsdVu/6e1FQPIajP6OCdYyr90vXs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183764-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 183764: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=1924da16239703edc7be6de0f5a549a30aa84b82
X-Osstest-Versions-That:
    xen=2185851bbf72123ea76c9ce26e0c3a4d1a0ab8b0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Nov 2023 01:57:15 +0000

flight 183764 xen-4.18-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/183764/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop       fail blocked in 183754
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183754
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183754
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183754
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183754
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183754
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183754
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183754
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183754
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183754
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183754
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183754
 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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 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-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-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-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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  1924da16239703edc7be6de0f5a549a30aa84b82
baseline version:
 xen                  2185851bbf72123ea76c9ce26e0c3a4d1a0ab8b0

Last test of basis   183754  2023-11-14 13:07:20 Z    1 days
Testing same since   183764  2023-11-15 12:36:55 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.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-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-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
   2185851bbf..1924da1623  1924da16239703edc7be6de0f5a549a30aa84b82 -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 03:52:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 03:52:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633987.989129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3TQP-0003Ip-ON; Thu, 16 Nov 2023 03:52:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633987.989129; Thu, 16 Nov 2023 03:52: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 1r3TQP-0003Ii-LX; Thu, 16 Nov 2023 03:52:17 +0000
Received: by outflank-mailman (input) for mailman id 633987;
 Thu, 16 Nov 2023 03:52: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 1r3TQO-0003IX-60; Thu, 16 Nov 2023 03:52: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 1r3TQO-00019Y-3K; Thu, 16 Nov 2023 03:52: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 1r3TQN-0002Jb-Qo; Thu, 16 Nov 2023 03:52:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3TQN-0005dM-QO; Thu, 16 Nov 2023 03:52: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=ZBrNdHajTIsuvfNPV9T5V4cP48lc4msUUnNGhcHJ2LU=; b=0PvSAZgBUoJ7hag0MdKgtcEIXP
	zv0BIIqUk/LdDnol2AAiNznKU1HPKDBJte7nOr0xa3euB7NrUE3LuHBSOuQ0O3qV9rxMXRfbwXzwZ
	icHtX6DGZH+6ZP5HsgRDWcDjEZuWJJz08VKPikf7g2t2Vbcxyde2Fh8APo80ILKuZkCA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183767-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183767: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=fb62aa714d72349722d63b32a5a6d20a677f39e0
X-Osstest-Versions-That:
    xen=7ad0c774e474f6d95dfda868d876af507d399657
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Nov 2023 03:52:15 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  fb62aa714d72349722d63b32a5a6d20a677f39e0
baseline version:
 xen                  7ad0c774e474f6d95dfda868d876af507d399657

Last test of basis   183762  2023-11-15 11:03:53 Z    0 days
Testing same since   183767  2023-11-16 01:03:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   7ad0c774e4..fb62aa714d  fb62aa714d72349722d63b32a5a6d20a677f39e0 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 07:23:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 07:23:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633992.989140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Wis-0000IS-VI; Thu, 16 Nov 2023 07:23:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633992.989140; Thu, 16 Nov 2023 07:23: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 1r3Wis-0000IJ-SI; Thu, 16 Nov 2023 07:23:34 +0000
Received: by outflank-mailman (input) for mailman id 633992;
 Thu, 16 Nov 2023 07:23: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3Wir-0000ID-9R
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 07:23:33 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b6ece14-8451-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 08:23:31 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB7521.eurprd04.prod.outlook.com (2603:10a6:20b:2df::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Thu, 16 Nov
 2023 07:23:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 07:23: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: 0b6ece14-8451-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d0uyVjz24LQ4+Xqpk9iN+7hDlRdd4Ee9vY7CEvAqOLfZsBPbnFpW4W+4Brls8lxyDTRQ88azI36lDV9Vl1KPk4FppAHJ45dctWYHMoHk9G9jbmIHA+ZMPxkx0YVKAyEY4feWQ6krsFyopHvtkbqanyUX7klvWCJ4NfgvRx9ZqfONfw9QpwU+PaHoNYnx6bGkfGm3qa0TaVEU/WNuDQd+CCkmlnE7QJJK+hDJXC92h+N1KU+KzPhULO3oimieLbsYqVf6KkUOV3zCHpeJZo8UUrx4RKqtjDk87hhfoFAxnQx8S5ocNuJ4gNfYcKmms0CqQCLaA5ntc65dCtH0UqZDdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O+9M4wZR+P5dpSW9oQe3cecX/YrhY2qVP1mWPEWaXfI=;
 b=THLu4ZmxfQNKU9G5ul+3QY7O08Z5ySBH1VDHH0oNWTn2/XWOvQcX0yCpRqEmHpmG6ClFXd1KHEjowQZnDX82CtE+BinlxZAzQpgCyNAhmUNx4mQvOj4e2jKyYOATVfVBUwcG2KiUm1DUa5VUSSD7p2pkehovimihGEr7a4JayyTKcm7eU889v5nQP1+8Yzd51ICBMX/rbWi7uF/Mwo7Dl6Td2Qu4eVI6GfuXDHPXT+MBbdqyR2PHhdMn3nu+brmwN9riabbqdTUn5En+8TwGtukXa1XHWKMjCW4uAL0OD3MpFeLS0EBpyZ7YAU7GgJgS97Er43Bg3Hvl82Ejv7j4lA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O+9M4wZR+P5dpSW9oQe3cecX/YrhY2qVP1mWPEWaXfI=;
 b=wb8o0sBDKZO5qcWHt49A/XbPSubLA6FcLtcHSDvIhJ2uKLM7lHHwnfi3/1D95ZB0P2yhuBW3J4bHsU2tRdFFF634rgVBdW9LL9kJeSEM7YfMHsJDnjJB4cUns7SiNQ4S/nK2UBCZvdabk3F0bb3k262QR7JRqQYSyDFrYofFpldvJoQqjc5IzHsHvTDUS+3pu5fJOrWqz6bWjur95xzINcyl2xiXVWgFEKgMAt+57NVkPoSnviadApMSodaSYU9wfMM96RiEKS0tk8W2GjAbu0IQgT5I6vDtM94mSBvl5zrxO2DzrOJb1ENFhZHmZSGXe3frTyqF0ldp8reuNeVH3Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d3bd3696-d9dc-49da-af6b-dcbac405cf07@suse.com>
Date: Thu, 16 Nov 2023 08:23:26 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 07/15] xen/asm-generic: introduce stub header
 <asm/random.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <2464c6b984d187207fe76453bd05502d288af4f9.1699633310.git.oleksii.kurochko@gmail.com>
 <8f5f9a74-cf90-4a65-8195-ededf00da9f4@suse.com>
 <e3a2f0699c8476e98c2c1dba0ba92e25e3f14915.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e3a2f0699c8476e98c2c1dba0ba92e25e3f14915.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0114.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB7521:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c6bdd1f-cdce-4576-140c-08dbe674eddc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O8AVI19bdYt0jyIVQCa+Oekd3x3Kjk5pHkOJtLcNTyyyDEzbZOHOxzSeVV6yQbmRUHFmLwLMNnU2T9qEohfJfyxAxrCufEs4iYCCWDDX057iwsSNL7qIkf23i7dCehhl9zlq2BuNm4gw9Jh8XAvCDWAt8iw7VsPUHPtiGdk5he35dneE/j4CHck6pSKaTw5vCoK8++UsyIt9vJBoRaLSBwTjrce2gwTjlxNYljKREtEZ+EcejKG2epGjtua8QVfZ/mFnXEqPFK+8fgU9x3bDmAq7LZHLABDrgOJpjiXCkdJPrrz5Ob6kOXbiRIq290neXI8HXMH8o6+qhE5fVUpWbAE7RAc39nbAO++jaZHVoFc6d5S5foAvAN2w3xYVPqCSPCtnHBO7GzKxa/7bcFDKuENsTttRTdeeNSASGeiB5m2Mzmmz0tuZ1O8rOJV1bVvndS836L2LDePtNR7Nw872vcPp+9+AFBEYlShNkxag9e4tn+k1KAgGEbODteE3YgmrINWJYqxrmHSUjOI8CHBaVg1j+UwxT3JorXwLUeVWBKZwKZup6qjrAv918a6YS79Dm1rBHUUmqssAHlxAqWxy2pRGGXWJ1sKp3vbdOY5bpY8W/32KcPLNeAMv9BfoLMj7OVlMI2UM4u68kRIhmkJCHi5gWActEwJnjuIqUKeN4+I=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(376002)(366004)(39860400002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(2906002)(478600001)(6486002)(6506007)(6512007)(53546011)(4001150100001)(86362001)(5660300002)(31696002)(66476007)(66946007)(54906003)(66556008)(4326008)(8676002)(6916009)(316002)(8936002)(41300700001)(2616005)(31686004)(38100700002)(36756003)(83380400001)(26005)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z0FNbjQwWDgwTWtQVTNKb0dTaHZWU1ZDQURpejlnZjFLRGdBenJoOEY3LzRP?=
 =?utf-8?B?R0h1V01LZnplM2hUbjhtVWVLVjY1TEZJZXlQYm9IY0NIeEJMSGFPWkZIeUVz?=
 =?utf-8?B?MHNOZVdTdHhzVUE1bjdqeWdnbS9Jd2UwSGtzdHVxckZwWGd4dk5weUhmYUpw?=
 =?utf-8?B?UjZQbllyTWNLYXEzeWErZkprLzNNMW5MajRreklKU0JkMlM4bVFlaTJQS3No?=
 =?utf-8?B?OHVwNDNLWkJ6UXYvY09oZWg2UmJQLzlBcjlqWGhvVTd3VzkvK2MvSzdMTnE0?=
 =?utf-8?B?ZFJSazhwZXIxREZIaWttMy84REZ0SGpIUEs3REQ5dEx1RkhIalVrRldpRWwr?=
 =?utf-8?B?UUV2WlNPQi82cnY2Q1lpMkJRREVNOUhDUnpKbFFVakVQMFdIclJZSGVuZWNU?=
 =?utf-8?B?dk83aktGdERKc3RGOVIweGI4VFNKOU5TS2xqaHJ4cXFlWjdQeDd5N2M2TG4r?=
 =?utf-8?B?dWhRcnU1enN3UDhXU2hGNkdkSU10ZnZZM3ByOTREWEFPajJBYnp1WnFGWHJO?=
 =?utf-8?B?ZjJwbWovNmZKaFFkY0hrSXV0NFIzbXAxZmlXNjJzVGJ5SDl4clpUanNmTlpK?=
 =?utf-8?B?Nm4xQXIyUEo1eEw3dVhMZ0ZDN2VpWVR1eVpiY3FBOGVEM09YdHZ1VkJtRm11?=
 =?utf-8?B?dEhwaWFhdVArNXNXMjJVVVpydStuSHM0UHcwMllzSGJKdC9KSUs3UERHRE1r?=
 =?utf-8?B?cGwwT0xXTWtzNVNsQkxObXNuSWpLdU0yR0I3Q2dQU2wvZVBTN3dSQmRhK1l0?=
 =?utf-8?B?SXRwWGZDT3Bwa2l0MVJIRVowdyt0L3djdzdWZ2pnZGl3ZU1YVy9sbVAraWhU?=
 =?utf-8?B?QXdmNjNhVzgwMVZ3dEw1cVNTVzBvVEp4WTBodGRCa0xLT0txWm5YRXV3NTNh?=
 =?utf-8?B?ZlF5NFJEbCtPZFZmanY4WXAzd1phOTZDM3RwN1ZSTjNxUmQzZzNyUU5JblBI?=
 =?utf-8?B?ckJINUdZVzVUYzNMM1QwcStDRy91N1hIaUpiSWd2Rmk3bVFQUEhmTHpUL2I4?=
 =?utf-8?B?M1JPSVllTGMwVDRDYW9UK3pGV2FUdWRrRExKSzlZbE1wMjZ6MWU0eHR1R1ZO?=
 =?utf-8?B?RzVWR1lRbDNSTzZQVnhHYVRSWU5HTjBGWVlCZGU5UE9ta3MzcndvVUZjTEFm?=
 =?utf-8?B?WEVER1ZNYlpXc3NLOWNzejNZZnRHelAzRHEydzVjZVVFNjBSbEJvWXpUZUNK?=
 =?utf-8?B?cWk1d1k4eUNxTDhveGFaamo1VDVSUkx3T2ZCRnpVTE1DRmw3UDdKaG14V2dN?=
 =?utf-8?B?QUVQc0gvM3VTWmdocm5RVTVKbXJyNFUxdVdMQUU2TmZEUG9nc2J3RzEzMHpy?=
 =?utf-8?B?R2t3TTFmVS8vRFJTWnRoWjNSLzhtalgwRmFERDBNYXVGQitScXloMTAzWW1K?=
 =?utf-8?B?MkFTdVFzMlYvYzArN0tYWndTWm1adGp2allPSUoyYXp1aVluRmYzckd3cm4r?=
 =?utf-8?B?QU9qM2EyaXpuN3lXYlMrSXZkR1hxTFZ6Uk1CTE1KUTVnVUtlNkJVaDVmQ2dC?=
 =?utf-8?B?VmROSFBFMzFMNmNHcVA0dTRROThqNkJqOTZSZWxHM3FUYStIL21WbFN5Yk4x?=
 =?utf-8?B?WkxKY0FuUGNyZ05lUURIMWhrZ0hHckkwaWovckt2OGRMSUljU2FFQjVkWnR5?=
 =?utf-8?B?VUtOdDdmZHcxclFyQ0o2VkJkMFc5TGRMdTYrRmRYYzgyVGpseDdRUGRWc1Q5?=
 =?utf-8?B?dnVObDA4YUpyd1F6dWYzeGV2cHRUb1Y4cXZKU1JpQzRNL01kbW1FYTBnTW43?=
 =?utf-8?B?enA3Q29pZUkwVlNFY2dkak55UmdhVjdKQ3dSdG4xNkF6NmRoQ2tyV0ZENWtx?=
 =?utf-8?B?TWpWL2dRUi9DUjRCRlM0VExUcnhzbHN1WkIzSGFDeTJaRFhXTk5ZSHlVZFJN?=
 =?utf-8?B?Mk5nb0ZkSUJaUnJJMFRyR1RGc1MzUi9rK1V0NFNpUGtrRGdIMk5RUFJkMUdr?=
 =?utf-8?B?WFMzR2N3alNaUi8xU255QitHd3lXMkpURDY5OEtCY3hZVUZUWk4vcVc2Q1hS?=
 =?utf-8?B?Y2JmaUdkQXpQamF2QW9pWjFSUUpkSDhwMW9Xc1JTK2FMUG1EWGlieGd3Vi80?=
 =?utf-8?B?bHg0Tzd2amZwbVVOWmZ2SW0rOUlRTldNTkVYaTVVMUgyWXFxY1F0UEh1ZTIr?=
 =?utf-8?Q?La5iHzfE5Rg8s90mozqCdkz5f?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c6bdd1f-cdce-4576-140c-08dbe674eddc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 07:23:28.6558
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DDVO3McVvnwUpgRJA67uIuVi3LR4Emwlc7y7iP4Jge4jC6q30O4D/cw63tcsD6AB3nv2YaJ/FrnV5tRAK4Xy8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7521

On 15.11.2023 13:39, Oleksii wrote:
> On Wed, 2023-11-15 at 10:56 +0100, Jan Beulich wrote:
>> On 10.11.2023 17:30, Oleksii Kurochko wrote:
>>> <asm/random.h> is common for Arm, PPC and RISC-V thereby it
>>> is moved to asm-generic.
>>
>> When you say "moved", ...
>>
>>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>>> ---
>>> Changes in V2:
>>>  - update the commit messages
>>> ---
>>>  xen/include/asm-generic/random.h | 20 ++++++++++++++++++++
>>>  1 file changed, 20 insertions(+)
>>>  create mode 100644 xen/include/asm-generic/random.h
>>
>> ... you also want to actually move things.
> Sure, I'll delete Arm and PPC's random.h in the next patch series
> version.
> 
>>
>> Since the above comment matches ones on earlier patches, yet otoh in
>> your
>> submissions of two individual patches you mentioned you sent them
>> separately because this series wasn't fully reviewed yet, would you
>> mind
>> clarifying whether further going through this version of the series
>> is
>> actually going to be a good use of time?
> I think it still makes sense to review this series.
> 
> I probably have to stop sending patches from this series separately. I
> thought merging almost-ready patches would be a little faster if they
> moved outside the patch series.
> 
> If it is possible to merge approved patches separately without getting
> approved for the whole patch series,

We do this quite frequently, as long as it's clear that later patches
in a series (which are approved and hence can go in) don't depend on
earlier ones. Ones at the beginning of a series can go individually
anyway; the only time that I can think of right away where this would
not be desirable is if they introduced then-dead code.

Jan

> then what I did before doesn't
> make sense, and I am sorry for this inconvenience.
> 
> I can return the patches I sent separately to this patch series.
> 
> ~ Oleksii
> 



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 07:26:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 07:26:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633994.989150 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3WlJ-0001JC-C4; Thu, 16 Nov 2023 07:26:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633994.989150; Thu, 16 Nov 2023 07:26: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 1r3WlJ-0001J5-8V; Thu, 16 Nov 2023 07:26:05 +0000
Received: by outflank-mailman (input) for mailman id 633994;
 Thu, 16 Nov 2023 07:26: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3WlH-0001Ix-AU
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 07:26:03 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6460d267-8451-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 08:26:01 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB7521.eurprd04.prod.outlook.com (2603:10a6:20b:2df::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Thu, 16 Nov
 2023 07:25:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 07:25: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: 6460d267-8451-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O0d04pJp4M9oGUev5l69/qmwxolLbEIhzQ3BhC5MIAGsRQX3IdCXGOoGEOv5nFlayeliJyJtvafwyO04lLtICZgUM7dGhbetRbWGSGTHagQfIRt+VXzk6qae4ufTMwQl6yHggeoY6Hk0B9CmvKhPc13fLuPYWAymcbV8cUeEIY/SGElm7dMaXsojhwutQ8cNENn1U+pUx2mdOzLOwqUrELDaJzG6FZrbzHSQQU8XkpvEh8CU5uak+3HD/kinDua9IlfzfPJr2hvjamzkSzxFDzTYfCKuDXFXQTadLypzea7d+8bymh0EjSFPSqw/aQGblBWMAdBLo3fcSCvgDYCVvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EQ0RW/G0szyCJFtQqxpP2+NNYAo9bUCDRxSa4S7Yw1k=;
 b=h1wdbukKAW6F6b5aDuDiUuf/S/l+oWLvHj18LeOVrb6xbk+OXNOPzZgrrerX+Jzb8FMNk34y1FDDe9nA8Of/KAiC+AgqwtN3BbS3XA/00cAwSb5cB7nH2twAlWS6NM3bAbutSonN2d9UfiLCUn37ySoscOHFabz7az3K5RzuoP13dOv1U6d7uq7dNfUU8BrfVrwSGLevMPLJQGew89s93UK8kTUJDqlwzAav7iEtcsGq6CBIZMWy15JQGb++Vk7IxZfIVkb0hHypYjnuFznuANYonzOtZWzo+q47owxwI/OsfFta+cXSEw146S8Aql4q32tHCDh4R36oxVv9R+t2bg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EQ0RW/G0szyCJFtQqxpP2+NNYAo9bUCDRxSa4S7Yw1k=;
 b=HsnSZThAFepage3yjqwUXhfxJYVZ8hw92G2Wqymi8ttMsFBvznVsoptHSFxD+r3hzhiAPpoP1O+6hRQRoYLV6yHHQ+x34WH4AjQcevFgdYi625YG8wUpDvI5vBpce0ItOTvZffvze/SrAAazj7X2Y4xsMPUNcbxS2lUJf8nC3wmah9ETcwUrLEHu4mnbtC+Zrd0E3Pvh1f7pOTR0mJ59UIbAvnCpY0YkI6o0uf2zrJJkGmsgauapJPz7KgSrgBfjOlblR1YdwTtcomOuAwf73ssuKY5cO0f2LC+YE19VmNdONfbor7zxncSoZB4s+lJ3JSRvmRKKDS5GyU+4H51rSA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <46996b0a-f875-4310-8cc1-68fef0a1f66f@suse.com>
Date: Thu, 16 Nov 2023 08:25:56 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 13/15] xen/asm-generic: introduce stub header monitor.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <9b40493df82b99904b2e4f6cf9dc8888db4a2a49.1699633310.git.oleksii.kurochko@gmail.com>
 <0ec74ba0-895f-4642-ae83-fc2617435303@suse.com>
 <e1041215c28cd3582ed1b2ecc64a0e2ef3c11c54.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e1041215c28cd3582ed1b2ecc64a0e2ef3c11c54.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0095.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB7521:EE_
X-MS-Office365-Filtering-Correlation-Id: fce8184e-b936-40be-6c56-08dbe6754762
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KX9Le6mnTMNrKv5RqXgSmQh8ypHkU4aihUWO8pwxqj1d9/h9Ee5efmlb9r07cIb8SFWbN4rgJQGE97FW1cA+ZCQWfJKDjjlf+qhLqE5nz9mdb836XeYCdlBMONDq2k8X+jlDvYYsKL7Js4qieaH7WwrPNnzZVO5B47k/wHPeqlMSfV38KV6BBiN+A2kHLoioO6FFx95rDQNESefwKJT/snBYkqpTWBc9OeCWf7wGwb3LIoSesjsad66QBaTVqn+Tr3sG/YartJdQ7UaozdDQz7A2sSSK9WVdCkG5Fr5sTn7czl35XTAgz3mjwUQ8yiNbA4gNM7iMzccPWTtpM9ooeCqpz7R/XahtICTlaGz9N9GNYNjyr+6VSdF123zdD7kCdad0UdbnyvFfkZ2ETwXkh8VVx6+ywYvidSloNip7AhXTc9UYaQR9e6rblIuSGCT4Xsl6QVHZgYBUZnXjATuzUvP2invJ+DMYwhMBbT7eZZDl90xLmPiAspXdaYaYZHHsQ0eYmKnoZZx823B4RweRffDDOtknfv1dPkU/7CGDVbmJ462/gnnbIugIZ2WDzUU2ueoNvBf5JPjUPqZv79unkYSxTLlO3K2D6dAbLvYTKn7jZZv4xcsxgRDPHuOd79Dpsokp3/CXTbcvLBDIActnhlpbiDRQ7sWOfm5Rjny7dCY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(376002)(366004)(39860400002)(230922051799003)(186009)(451199024)(1800799009)(64100799003)(2906002)(478600001)(6486002)(6506007)(6512007)(53546011)(4001150100001)(86362001)(5660300002)(31696002)(66476007)(66946007)(54906003)(66556008)(4326008)(8676002)(6916009)(316002)(8936002)(41300700001)(2616005)(31686004)(38100700002)(36756003)(26005)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wm1tT1k1VnRYcHhEamhNa0d1VlR5T2x6ek45Ym1Hb3h6RWdUNWRobWlCdU1H?=
 =?utf-8?B?S1FsSllJYnBQblVxaG12ajNqTWZhVEhjQndyaVd1UzFBOURjN2RXRlJSbWxV?=
 =?utf-8?B?dWFPUFdCakwxaE1FdTNTcGJoaEd5Y1VDNnpyM0dTQzZVdjVLTWZuQXRUMHhz?=
 =?utf-8?B?YzZLbEtxaE16WThXak9RT3VDam1pTERaMGdzUjNPSDlJZnVXZDczazZtc3NN?=
 =?utf-8?B?d1dUNGpXNWJYYTVxZCtYNkt2Ym8vSDA5OFdLbzJkM3ZXSXJudEgvZGVQb3cz?=
 =?utf-8?B?RHpFaHhkYitPZUJNZXZYVURDSHlvQ1FnTDJDeDluMDRVZWdTcE9lTGlWVm1F?=
 =?utf-8?B?Y3dwSXdKZnB4c3A0M3JWN1lycDNBM3p0M0U0MStjdDlpY0M3cmF2U3krcDg4?=
 =?utf-8?B?KzRwMVVrUm9laTAzdmhKVGIxTEdwRWlKZlBxOHNHaWozcjBIeHRMeDh2aGhx?=
 =?utf-8?B?bWlzUWo4ZWFneFdvNjd2V1FITlRWczdneU5GNCtZREpPeHBzS0lYTEJMUWRF?=
 =?utf-8?B?bmt3RnlFUmxuQy9zR3oxOGwrVUpId1BwengrdGo1S25jc3dsaHRIbnhEeDJs?=
 =?utf-8?B?RHNTdnVXT29IS3gxSEMzM1VxS2ZCRVc3Zm9iSFFjMHh2RzNORkxxVjBtb2tK?=
 =?utf-8?B?MllSZGcwSWUzOVF3Q2VqbjQwNmFCa0V6YThRaklBbVF4OHpIV0UrZnUwSzhn?=
 =?utf-8?B?Zmx4ZWV5RDBqUDNwS242TzN6WmxqeERiZVNXSUZnY3J0cXZ6dVZYR1FsUTk0?=
 =?utf-8?B?S2ZqUHNaZjBWV3R5QW1zRnNSQzFWZmpvOXRWRDE0anFWQmxMUnkyZ0NXODlt?=
 =?utf-8?B?TkNrT2M5cEh1VWJCTFYyM2QvSHJxUjQzWTVhM3ZFUDIzRU8zMjQveStKZTlW?=
 =?utf-8?B?VG1uTDlMaW5aM1A2WE5OVVNnbTd5bDBwNTU3Vno2WUF3MzRtd3RjTTg2ZHcz?=
 =?utf-8?B?MnRCd1hPVmFZQjN4YUEvd0ZEWm5jOEx2czAwZng3NHRqMThwZzluUHdwTzVI?=
 =?utf-8?B?OS9ScHBraUhiVjN0M1A1MWVSY3d4T05BZlhjMnZobVM1bEhPZGd2by8rcXdO?=
 =?utf-8?B?eVM3ckZhRW8vdkJQVkRabG43SWFNSlFzVHpCcndYWWlNRkJiaTB6K3c4bWVk?=
 =?utf-8?B?VDZJRG9qNlpneUQ5WVNtc05UaTB6RjZ4NUhwYkpWRE1vTmh2WFJjVllBK2Iw?=
 =?utf-8?B?N1lTMTJnVkZiUk1SM0FtQ1lQVlVia1kwMVltSDZrUiszWlVuL1VKUHFPeDhU?=
 =?utf-8?B?bFpoTG5OYldGMFU3bk5ZNVJNbGtOT2QwVi9jRG0xMFRobUg4MllTcHY3MlFK?=
 =?utf-8?B?Y0dVcDBHcUtrZ2tmOGltTzVuei80b1hvelRqenRoQzFVbHJYRlRBZHRnMVFm?=
 =?utf-8?B?SGJraWhiYnVZdGhBU2M4RE1zZG9BQTArMmZDSjFKaitsTXhTdGhPRDJyUjdr?=
 =?utf-8?B?M3lVem1tSFhFdHhRWDEyU2wxYVZpV2lxK2xuVUIzcUljemlQQnVONG9zejY0?=
 =?utf-8?B?NXhveXJZM3NrTzljTytGYlRpNVZrSnRSUWVoUmczb2VYL3NjYlpsa2RId1Ft?=
 =?utf-8?B?N2JpcUJvR3lSckVyenEvQk5lRDUxRVdnTERxMVFBRzRHTEhzaGhHZFFLTUY2?=
 =?utf-8?B?ckIzS0VsenJnVWtEVVltYmRFMkhnSnYvNEdUNkg0MGNoU1JQOHNrVEd5RHIv?=
 =?utf-8?B?OHlSZkRyaEQ4cWo4YWtRelA1aVRDNUNuWjZJM05UZERzU2p1eC9ycDNTL0pU?=
 =?utf-8?B?NytjekZ0VGNlNnNOZ3RjdjhiYTY3QnpWTzFsb3RXRWJmUnFBbTMwUXBOc0Fq?=
 =?utf-8?B?U1ZDbnFkQ2tDcmIyY1BEbndLeCtwTW4rckRKdU5OSGZTVm82bVA4QUxCSkw4?=
 =?utf-8?B?ZkJhR05GSVVmanZmRjdBMHdoOWhyWEROK0pLS3kwcHBWNG5nS1BucVBvNzgr?=
 =?utf-8?B?OENGcFMrZU5QMGlVMmpTN1paVTRYTzRtWjRGbjg2WkRIZS9ZVzUyMjBsclI2?=
 =?utf-8?B?U0wvRlF0SS9oUFVIanFDdElnVFQ2VGpJRjc5bEpReFBCRDVIVC9FaCtPRU1r?=
 =?utf-8?B?QTJxZTMyYkY0YlEyckEvTlc0MlNCMnVIakc3cm9qYjJFelFLNnhuVSs1bkZp?=
 =?utf-8?Q?zoYL5TFp4DIAJL9z3NGwjof5c?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fce8184e-b936-40be-6c56-08dbe6754762
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 07:25:58.7485
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lNwoDkzgYO6qalsQEnBHYFMEI/cJGcXylZR5ik2j4cHXLlPEqp7dZj4oP+w/ahQ0TBskcWPE8Hchlr1hTGZvfw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7521

On 15.11.2023 13:54, Oleksii wrote:
> On Wed, 2023-11-15 at 11:00 +0100, Jan Beulich wrote:
>> On 10.11.2023 17:30, Oleksii Kurochko wrote:
>>> --- /dev/null
>>> +++ b/xen/include/asm-generic/monitor.h
>>> @@ -0,0 +1,62 @@
>>> +/* SPDX-License-Identifier: GPL-2.0 */
>>> +/*
>>> + * include/asm-GENERIC/monitor.h
>>> + *
>>> + * Arch-specific monitor_op domctl handler.
>>> + *
>>> + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
>>> + * Copyright (c) 2016, Bitdefender S.R.L.
>>> + *
>>> + */
>>> +
>>> +#ifndef __ASM_GENERIC_MONITOR_H__
>>> +#define __ASM_GENERIC_MONITOR_H__
>>> +
>>> +#include <xen/sched.h>
>>
>> What is this needed for? I expect ...
>>
>>> +struct xen_domctl_monitor_op;
>>> +
>>> +static inline
>>> +void arch_monitor_allow_userspace(struct domain *d, bool
>>> allow_userspace)
>>
>> ... struct domain, but since you never de-reference any such pointer,
>> forward-
>> declaring that (just like struct xen_domctl_monitor_op) would do
>> here. Which
>> would leave you with needing at most xen/types.h, but maybe as little
>> as
>> xen/stdbool.h and xen/stdint.h.
> Yes, the reason for " #include <xen/sched.h> " was ' struct domain '.
> Let's switch to forward-declaring.
> 
> Shouldn't it be included <xen/compiler.h> too for inline?

I'm actually not sure why we (still?) override "inline" there. It's a
normal keyword in C99. IOW I don't think xen/compiler.h would be
needed here (just for that).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 07:31:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 07:31:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.633999.989160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3WqX-0002rF-3t; Thu, 16 Nov 2023 07:31:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 633999.989160; Thu, 16 Nov 2023 07:31: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 1r3WqW-0002r8-WE; Thu, 16 Nov 2023 07:31:29 +0000
Received: by outflank-mailman (input) for mailman id 633999;
 Thu, 16 Nov 2023 07:31: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3WqW-0002r2-F3
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 07:31:28 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 263ae99d-8452-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 08:31:26 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9174.eurprd04.prod.outlook.com (2603:10a6:20b:449::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Thu, 16 Nov
 2023 07:31:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 07:31: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: 263ae99d-8452-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PrHhPeVdr41+dH9uNrZDMNlpLVfnLnh6v2Aw1wBfl8LuJ2NwoJyP8umhfNWGQEybj+Dr+/+RhBEdUL4SGvErwLafjd9cK+TMXhkOPhjhGlPW37PbDZ92j2Esxqgx+sqXSPlVpsZWzZE73M9dna3zVCWIa7riX2MPF8orHKSfKGr0Rk2d5i4U8imxkLCli+jYM4lbPxfrEJ1mgERjQPLZE2iOU3ojelO0pDijhbkLv+Iw37N7DU0vnQHujA0VQe1wg6iyeyGEIC0JsIw3+iT20zsvQISzqajwU1vqJWT1JZbGN+gKV5kXdfa7nG+a5mz22x+QGEEtTq68sPZEM12aKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=e4fV8aDHUmiKW/vEkEewaa9sCPQ6ef9YVEE1OAeHAeQ=;
 b=V9K3o9fHUFtXuTMGVVm9rl/ynhmGbbeXCr2Manipq5S9FwJOC0t8GDjtm4VNWn9dyUhQvCdtxYeqZiWMXRG05dPSfLIvqdYYyxEqkDYpFb1bKIoXDI0odVk26DIH773RrqJVyby2Uz2R+La90z3EYPzNFgPKAROH/Fj5ZFIpoXTlqP/25hIF3oT6k9rrkCtgH/B6ZugE07pqeJY+iv4eLzCfjGTwy0pLaAj7LC0Ov1hgnojvhlMf7r9XL4buqCHQP2IpOgiY7lPtjYXfZcFokE0QuLGlCpkGscoT5kyZWmunOES5rUpdKaNPprasgTQ6Nrot9SbPUfleIznuYISEVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=e4fV8aDHUmiKW/vEkEewaa9sCPQ6ef9YVEE1OAeHAeQ=;
 b=UDyo+6RHZJDxVKb2yIcFiFG3Y0VmtFuRaJXGKzuSq45yRh1kWVvDgFWDIiHDI8IO9FqTBwYw+daoE0bx/f9++mJeBhPEKd3DiB0Q8xSdbl152GcX02fwEg6lye+j8qtJ1cDMeyzR7vvq/v1wY0oIUSB562gf6hYLghPRkRaO2M/9gYYQt18ew9gbjQuttZLtO7uHPH/uTHlt7TSz5VsO8fOp5YdCATIgTJcCJuiYvHNmoY3DX4tuOveviTwurxMu2FfLLA5b9LmITQM4gCuYbSzN7L0uxiDRJO/L5VEluQhuDEItQC25hhsr4JJ3qlycLekxLPIj2srRZFko63ck2A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9f599582-af8f-4672-a4c8-81ed3493afc1@suse.com>
Date: Thu, 16 Nov 2023 08:31:21 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 14/15] xen/asm-generic: introduce stub header numa.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <1b50e70d168a1b084ac40711096c38abe44a7b9d.1699633310.git.oleksii.kurochko@gmail.com>
 <242781b1-9693-47b9-a3f4-bdf5700803db@suse.com>
 <5634e1b953b0b8b1b3ca02b01f84d8093e360237.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5634e1b953b0b8b1b3ca02b01f84d8093e360237.camel@gmail.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9174:EE_
X-MS-Office365-Filtering-Correlation-Id: 7cba649c-26fb-4760-4b61-08dbe6760932
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	+FKfw9xs7hBqPNEVIrhQC2ZdZ6yFHHoNcqM6Wkf+FIgpvSYr4L1RibivQogZ/GYwaUiwiVU8AmZTCZIICjIHRRJL49dYeMjqV42cp1KTLMrJRhoOnzWtukEF1i4cPSq6Df51hjvMpMkxScT2DOGgDz0Mdd0f7sbJcKd1GSHp4v0eZjB5vHDC12xqRloQJXEU7hfQsgx3qogeiCTqkmU0y3aA19nN2/ZwHNxd+AaCkcW99tj3Fgv8UkAzDJPdJc7IuUJG/WK2O+pYjBV6Y6Ev18bzh9QhMvVIuTXXJyr0ApYDUeujMS5tCyGdVQ6ETNjaA24Jq77sg7/aYdDaGXCncPCGd+A7dOgEzhxtcoijPa4Yz2+PaVn1pqnHubRDeFOxnbuIYHbg9dxpJFc7GiCPIrAsfi7NFLGib+N7t5AblSB8VzLLSRu24oxFTet7fXn/hfZYSTYmXLFpp4ut7TR3sk7x1yAXLAeLhf3aLvLNgckIZSwJZ5Gfi1FML+jRzw78C50sL7ChYw3+IRb/5YgDibRSun+bTtSmaKdfQh+X1MeAnaZnwJf7OnHwTy7geOiWwpQuwmIz4Lj79Mk/e9PA7fLoUTD812wbBgffy1NPesADLrrvXXe7zWTlB5kaNxse1Nitl7QVIEkAr2U7xgimYWxgKQN8eTjQ9dWk6/GKZY0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(366004)(376002)(396003)(136003)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(6486002)(2906002)(31686004)(66946007)(66556008)(54906003)(66476007)(316002)(6916009)(478600001)(38100700002)(8676002)(6506007)(4326008)(8936002)(86362001)(31696002)(53546011)(66899024)(5660300002)(6512007)(83380400001)(36756003)(41300700001)(26005)(2616005)(4001150100001)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDJZbTQ4endneEhjajBqSjQ1d3JOMTI4MXdZWUpTSEVQYkVXcGlKRnlxQzQ3?=
 =?utf-8?B?cyt6UWg0L3JuUTJuL1EwaWpSbjlJanNIMGNiaHMvc1l2N2NHeXUzZ1RNdDd1?=
 =?utf-8?B?WFg3L2ZjM1BSS1NTM1pSMlNOS0RMZ2V2V3M2VVJxOUlLUU5sc01VcmcxVjlq?=
 =?utf-8?B?bHZlRm0yZ0cwNUE0QUcxREJYcWRWT0hNNzkwejMzT2NIU0FiR21oY2VDVnhi?=
 =?utf-8?B?cThKck1IanFieWp4RTFBVGJSNnYwN3NOUUN0WlVVeXZmR2lEaGdqZC9tZ09n?=
 =?utf-8?B?NVlBamI3a1JnTVRWbzdQdG1ZMEE4cFE0bE01Sk55dzB3cVQxbGM5REp5bkxW?=
 =?utf-8?B?TXJVa0d6azFnMmV1TFY5Q2wvR2l4S2lsVlhxRy9IR2l6Y0prVS9zYlNDQllr?=
 =?utf-8?B?SHcxdzVKT1ZWdHFKWExJYXFOZUVoVUZnbSsxTE1PZXhlM2NBanAzczdhTXpV?=
 =?utf-8?B?TTNhZURLMS9MeEZLUkJ5dGNINVVjb3RwcjVicThmWHkzVW03RVlqaTMxNEN3?=
 =?utf-8?B?amVZVXhlc2dBNVJGbzNVUnlxM050YzdrdzhyNVVheDBBWVd6U1FoRzBNTFFE?=
 =?utf-8?B?UzAxdjZWVFZMcW9DVXFDNDhFUnBaNFI5NGFqbjlNb3laRUNySG1RcHh3QWFt?=
 =?utf-8?B?Y3ZpQ3hrQkZGUnRTRjJ3ZnYwcWI0U202TTlYS1NJdGdscTE1TWNpMmR5Mzlu?=
 =?utf-8?B?Vkg2NG4weXpGYTR0QzNyYjhScUhLd0dhb1hIL3hNWW9ReUdmYm8zVlFldVJx?=
 =?utf-8?B?cGppd1RocUZkVFExL3ZZNzBDVmcrOS9nMlFHYkp5MkFGdzZ4amNUOGw4bDNn?=
 =?utf-8?B?MjNubndxbEhneWRyTDhnOHFqRmtPZ0N6V2RsMnIyWWhaYUcvMGx4KzJ5S2Rz?=
 =?utf-8?B?RjFxdnNOZ1A4UHF0VC9DeE8zenE2SEkwKzlzdC82aFVZN3A2cGQzQTIzY3lF?=
 =?utf-8?B?Ly82UU5rOFR2NlBNNDhTV0R3Z3IwMHhpcHBxQ3doTHMxb3FIUzNJdUZaWmhR?=
 =?utf-8?B?c3hPNi84Ym9HcWN6YW04NktkbWJ1b1cwRHVMcjdUVStxZXBzcTlHL3Roc1Rx?=
 =?utf-8?B?NTNYdlpGeFQrMGdsd25tTDlOSGhFUEcvb0Y2QkhrZFpqM0dtU0t0MVdteFdV?=
 =?utf-8?B?NTdtMHd5K0MxUkg3MFM2OGlOa25XMnYveE9VSDQ1RWpoTmZ5UDhOU0FqZnlv?=
 =?utf-8?B?V0ErbEtsUWdIY0lueXpENEg1WE5vMnRMYTl4UWVIN09ub0VMbXRxWjBVNWs4?=
 =?utf-8?B?YVFLc1hISDQrRldieW1lYXZRd0w4UDRHWDBLWDNaRjZ2czRuUzAyR0dkNVI2?=
 =?utf-8?B?aFRWSUJYaEVtaWdTYlRKUVF3dVF6cEtaMFJQRGRIQm5vb3VpczU4Rkh4aHRI?=
 =?utf-8?B?eVlONDhUdWt0cksyZWtOaERlZmord2dzRkhWS0Y5MU9rS1JyVFcrS2pUS2pB?=
 =?utf-8?B?TTRWdUtFRDlEUnU3R2ZyZS9hVlJ4RUJkSnhwZ2k1cEhMMWRzMDdpOGdhTERU?=
 =?utf-8?B?TU5JN3dyOFUwMDZMaENRQUZ3cGdlUWdBQ3pVKzBlVVRXandtYUdlNFpMNkxT?=
 =?utf-8?B?Mk1PWEVJRHlvdWRYOXVQNDN2QmUwQUpqSFV0UjM4YlFkVDZaWlZrd1E3Q1BK?=
 =?utf-8?B?T0lxV0Y2bGpPalhkaTc4QzVTWWtaa0VtT3prVnRNeHZ5d1N4NU4ranJKZWE4?=
 =?utf-8?B?V21wUzlyczArcEVEV2U0aDgxaTVvSndUVHV3K2tuODhUcWNOZnl6NHZvSHBq?=
 =?utf-8?B?dWxFQzlJTmxDaXBIVHY4cmVZZVdFbzZtYWh1TzVha29FenV1MkhvbzY1YWNo?=
 =?utf-8?B?VWFyWXlBeUI4c2NBVGtXNlJEMjZQbC9lS0NnU2J0Y3FnbEx1QXFSV2lMM0No?=
 =?utf-8?B?ZU5VUlZleHlqTlpwcnQ0TWUzSUpFUXAyUEEvZit1MlBOQTF4L2NCaVpWNTFv?=
 =?utf-8?B?Z1F3NXNCTy8zVTZ0cHZmVDNIWWVvR1dLT0FyS0swMGJtT1hCL3BvN3hkUzg5?=
 =?utf-8?B?ME4wZER6dzNHNTJOWVh1ZFRCL2wzUVlGS0VIa3RYSDlkamdGdHBUTEJya0NI?=
 =?utf-8?B?MXdBbitWSUNkRGpldlN1YVFoR3ZSSmF1ck1DVjdDYzVyOEpPMy80eWJCS3NB?=
 =?utf-8?Q?LdkpbXwHF7v5g7Z72ft3H1JQn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7cba649c-26fb-4760-4b61-08dbe6760932
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 07:31:23.9112
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: TCBvk4CFPTlLpIwjP00UuBYfipXKgOL2kTEV9uXNQ6GQatSLsxX65QLuSX80yCLp4ffTi2oDbKEZg20u7Klqjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9174

On 15.11.2023 15:11, Oleksii wrote:
> On Wed, 2023-11-15 at 11:07 +0100, Jan Beulich wrote:
>> On 10.11.2023 17:30, Oleksii Kurochko wrote:
>>> --- /dev/null
>>> +++ b/xen/include/asm-generic/numa.h
>>> @@ -0,0 +1,40 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +#ifndef __ARCH_GENERIC_NUMA_H
>>> +#define __ARCH_GENERIC_NUMA_H
>>> +
>>> +#include <xen/types.h>
>>> +#include <xen/mm.h>
>>
>> I'm afraid I can't spot what you need these for here. You clearly
>> need
>> xen/stdint.h, and you need xen/mm-frame.h for mfn_t. Yes, max_page is
>> declared in xen/mm.h, but its questionable whether the header needs
>> including here for that reason, as all uses are in macros. (We aren't
>> anywhere near consistent in this regard). Plus you don't also include
>> xen/cpumask.h to pull in cpu_online_map (which another macro
>> references).
> I agree with almost you wrote but should <xen/cpumas.h> be included
> then? It looks like it is the same situation as with max_page and
> <xen/mm.h>.

Well, yes and no: Indeed the minimal requirement is to be consistent
(either include both or include neither). Personally I'd prefer if
headers would be included only if they are needed to successfully
compiler the header on its own. That limits needless dependencies on
the (otherwise) included headers. But I can easily see that others
might take the other sensible perspective.

>>> +typedef uint8_t nodeid_t;
>>> +
>>> +#ifndef CONFIG_NUMA
>>
>> Isn't it an error to include this header when NUMA=y?
> It's still need to define arch_want_default_dmazone() macros which is
> used by common code.

Oh, yes. I somehow managed to overlook that. Some of the #include-s then
want to move inside the #ifndef, though. (Ultimately I question the
placement of this #define in this header, but we can deal with that
separately.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 07:35:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 07:35:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634007.989189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Wtt-0003gb-RM; Thu, 16 Nov 2023 07:34:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634007.989189; Thu, 16 Nov 2023 07: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 1r3Wtt-0003gU-OR; Thu, 16 Nov 2023 07:34:57 +0000
Received: by outflank-mailman (input) for mailman id 634007;
 Thu, 16 Nov 2023 07: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 1r3Wts-0003gJ-QS; Thu, 16 Nov 2023 07: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 1r3Wts-0006uV-O4; Thu, 16 Nov 2023 07: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 1r3Wts-0007cf-CH; Thu, 16 Nov 2023 07:34:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3Wts-0003o6-Bp; Thu, 16 Nov 2023 07: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=IVEqiayGfHfMQDb2WXaHBw9yUcyzTLcVQnnT6ed5hRA=; b=K1QeEetM2jpje+a5MAWQkiy1fs
	QEOCuykUKf9CB7m65K66PXhUotXnML0LbJN/bsSFhehXaPntr6Cq3VmAwVB1QgJAWhwMQDk3xK4vV
	0chuUxQAuHo9qEK9Ha1/FF/b22AGE5/ODQCtdGKGGxrueX8U5a0fmFW2VUsp+nInem00=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183765-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183765: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-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-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: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-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-arndale:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-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-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=7ad0c774e474f6d95dfda868d876af507d399657
X-Osstest-Versions-That:
    xen=a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Nov 2023 07:34:56 +0000

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

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 183768-retest
 test-armhf-armhf-libvirt-raw 13 guest-start         fail pass in 183768-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 183768 like 183755
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 183768 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183755
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183755
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183755
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183755
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183755
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183755
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183755
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183755
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183755
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183755
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183755
 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-amd64-i386-libvirt      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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-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-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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 migrate-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-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

version targeted for testing:
 xen                  7ad0c774e474f6d95dfda868d876af507d399657
baseline version:
 xen                  a48bb129f1b9ff55c22cf6d2b589247c8ba3b10e

Last test of basis   183755  2023-11-14 16:39:17 Z    1 days
Testing same since   183765  2023-11-15 13:50:28 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.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                                          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                 fail    
 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-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                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   a48bb129f1..7ad0c774e4  7ad0c774e474f6d95dfda868d876af507d399657 -> master


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 07:36:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 07:36:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634012.989200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Wv7-0004lS-Aa; Thu, 16 Nov 2023 07:36:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634012.989200; Thu, 16 Nov 2023 07:36: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 1r3Wv7-0004lL-7E; Thu, 16 Nov 2023 07:36:13 +0000
Received: by outflank-mailman (input) for mailman id 634012;
 Thu, 16 Nov 2023 07:36: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3Wv5-0004lF-DC
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 07:36:11 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe16::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cefe4562-8452-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 08:36:09 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB6773.eurprd04.prod.outlook.com (2603:10a6:20b:dc::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Thu, 16 Nov
 2023 07:36:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 07:36: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: cefe4562-8452-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kb0RRgEPrVDjzc/4BtPP5y0wCPKfAULcxd1RcrX2Y1GvjW/Qgo2jaZ2SBMZd7xfPDTCFapupG7noqNcUQi5FTc1bZ1SmbSCcShO2Oq4CR9rOVT9QO/rU/hJlA86S7rb+unA2hD9f2G9hSJFLgWukCpSb4x9rPUc6SwbmzVIAhT+KUyiPAd3zSNm/ltrebxsG/b8xaG/Z9bh1NoJPvboMn9CSe2IqOEu3y33F2dsu405+IBYygSa54pR24sFj7m89hDUye/mJbBEKntKpSPvi/KdeqT5AD3bZ/xXCadmzmsViCbvfxfY0yimMPNSrC+UxNBMw8eVgCANMuO1aCqj0KA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+ichsb920r0fIcTV1d+HJ6WmUJs0Bku0f6aQWgk18E=;
 b=XEGZLNDTqutOGVQWrnor0Vq7nrJy0CaA0BOcstT5PD3Bj9QTT4N+GG/ks6lofc21n/FVoCkfznB8mXSWiLuAA3Jzg1BItkKBsU1+Ew+nHBCcubw7NXemXYHj77PUzicmkjXwiff+jcIroYzgPxMd3IqAYEDBfTmLFVsUW9Vwf59eh4Qy15an+5HIcdJePhjbM3ZOoAhO+LkYzUTrysmSSypYqve/i/682vkmydda+NbwD54NFBhZdvllrBMU0jfLEddyJ6XNZBzdzhBNmuUQlhTQtHdwMTSK7irztmiR7+fTLx1uuuTh5+WNuqAn/5ZNZ2iowIWECoX9ThE3q1CdlQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-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+ichsb920r0fIcTV1d+HJ6WmUJs0Bku0f6aQWgk18E=;
 b=hmLR+H0T17NpwsoYauJSHFt2NZ1DegyuufE1gdeuNLzg6H2tDGBVmkIUYKattEpe+GZHSGxqfyMwC7rzkZU7eLKo8k2H/mhA4JUxKxDY/vtBBryrwUZrlxtd93H6jSz+p1CPAYWszqS5rW5uWfkhLU1o7uI7X6hQzlvxw2dflApw8CeCNDADyy6Fe+KZZE3oY/97tXZfluFoNJzbNYkLCPpPsXT9ACBOQumTI7+Ajcm2cVJ6OL8dG24fmFATmdOalCpvobvLWgXV4QE7dZoch0gLhoGN2MmwNkVIP/R0KYEvZzcx6Dmc6HOsrTMZe4w1cPbtzKYTCQoDDPLnu19D+w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f7fca726-f4d5-4cdf-981e-2a6fcf5085b0@suse.com>
Date: Thu, 16 Nov 2023 08:36:05 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 08/15] xen/asm-generic: introduce generic header
 percpu.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <d0ecdf04ceea49f57a54e15cc129c165a142a5cb.1699633310.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d0ecdf04ceea49f57a54e15cc129c165a142a5cb.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0048.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:92::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB6773:EE_
X-MS-Office365-Filtering-Correlation-Id: 79c2271a-706e-470c-2fe4-08dbe676b23e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	USQ3GvGTJJaaIlEXPosfn3Uwgm6fFaGe3Khs5kL5WHHbV1FH9CBbK5OxsvbzslunO/gMYXsuTVK94h0QbLRsB3uz58n3sg1s5RwqBfDXRQMHSxpgg9ibHd4J5ZfqxqYDYG+7VZCyRfPFUf1zZqnlqG1RbYj57GcWJGi96YmYKmjHY4+P591bduwpJQFYgAioHsyve+DTLn5EFRNhzKTa/ubj2XR8GAFk3am88gbd8s6q55xwY/JevVhYKeZwrPltKlJqR07Co/KJIWIzfsEcgj8Ow/HbVBuInrSTTKRUgXBSJ1ZVodCH/gskMO9TTwlitcOND70rHE1xXyLV2sD0RVoO+P9c4QWLrVqWtEpqE48WDtLCfaFw062i/QovwOhIdN7MYCbk2Kt6cPhp4UVhvgq/AMISiWvJFzruWHrtOoFjQdGY4Y2XUz1/rJ16slEwoxabu9wds1QLaCOi4Oh2KZHFaxyRT6+ot62AG8OG0rLFxqZDNlqnNFHMykiCm9EezdlWpmp+n2k1tQs7dZf1/BFyHriqwWK2nHWqUxEe0ysWv262TVJF4FK3bMSTJPd2WkET+rkYZD0+/3Io00Sa27KL7hY7GWRsvYGkHYKe5lXaJ8x0Kr8X75vVb/MZycBrmKgMo29jAv7vDXCS8ZuMnvMU1D1aPtoMIssV6s6XlRI=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(366004)(346002)(396003)(136003)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(316002)(6916009)(6486002)(36756003)(38100700002)(478600001)(66556008)(66946007)(66476007)(54906003)(2616005)(8936002)(41300700001)(2906002)(4744005)(26005)(4326008)(8676002)(86362001)(31686004)(53546011)(6506007)(5660300002)(6512007)(31696002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1pka2UzeGtWVjVJWmlnZjVUWStLTnFqQWxQbVRncnZtOTBJUnFLOTlzQ0xW?=
 =?utf-8?B?b2t5TkFMZEc4UWVER2Vub1o5cjBiQzdoQ0dMUHBMKys0RURpN3Y3WW1LZ0Vm?=
 =?utf-8?B?SzNoQ1Q4UWFXWHYweldONjlWTXpWM3kwaVM3OTAxR3ZRLyttblNzK3RwbWZX?=
 =?utf-8?B?SitGT2JWczduVUJVUml5WEJqZzlNR2xXbERtMGRkLzJkN2xraEtDRlpSYXVL?=
 =?utf-8?B?cFdMQWFXZ3JwRWVSUzF2OXVSUUJybzBweXJQbTUxVDdwWHlOMHppeTRQcnJG?=
 =?utf-8?B?ZVBNbXpHL2R6NkdENXo5d3lDSEkxc3YwMHk4T2tUc2xnNWJzUFd0RTdsSHZj?=
 =?utf-8?B?ZmM1bldIbVlsWlc1dzhWcHlOekxidDAzajYyMEwxdnZSbER3bWVjMnRIUmhW?=
 =?utf-8?B?SGt0S0FPVHcrWG9LMi9QMFFGSEM0Q1FoNTVqdFVtV0Ird3NScE1IdlY5OFNC?=
 =?utf-8?B?S1d2cUpxL3BLNmtoQWhVWHdtZEpKYXQrSFlaS3JYdDJKQWRsR3pxQkJjTHA4?=
 =?utf-8?B?UDdQaG1FTDhQZlg0LzV5L095MzFOVFRlc0hkRTFJK0JKRkZQdEtEb2Nyck41?=
 =?utf-8?B?N25Deno1ZEQ0RVpWUmgxd1hqZ2lJUW1UcENhdGwxcktoNVJlWHhmT09Kd045?=
 =?utf-8?B?ZkdHb0tVVm41amtLQ25aM3hHNXF4V0dmNUN0T24wUXd5bjNOQzh5VWg4NENC?=
 =?utf-8?B?T1VlMWVhUG9jM2RaYjZISFRueUh6bVBaeVFtREtaOFkra2l5ZDBiRDhGT0g4?=
 =?utf-8?B?ajlqbXdLZzFhY2p3ZXpMRktFNjJhcFVQQWNoZk5ENks3ci85N29xTkJOaXRX?=
 =?utf-8?B?c3Z3cjdXZ3JBbFlweHQ2K3kvRm83K0RnVVduY2hqRVVGeHB6RC9sdkNuZmtt?=
 =?utf-8?B?RzhXc09sazZxT1k5Q0VJSXh3elZyc0N1b0lJcDFGYTBOejFzbmpFUjFIaDhx?=
 =?utf-8?B?STZGQVM2bE5Vd0ljY2dRTzlWN0NpRmNWZ0xhWE1oY0w3Y3pNZ2IzbmJhamhW?=
 =?utf-8?B?WEszMnhHaTRaWk9lYklGTXcydEFtQnNkYXUrMW84QWFDMElMblArbXNIbS9S?=
 =?utf-8?B?L0haOTlhMnpLZ3ZCL3U4N2VIU2lMZ0Vkc3ViQ3pBKytnc1kvS2lQTGtiWmJP?=
 =?utf-8?B?Qnd6THp6YXNJdHNia1BpN0dYYVBKelNCLzArZm0wd0dodFcxalFucWJmbVJV?=
 =?utf-8?B?K3BDTDJmVC81blIvaytRem5KNE11WFZ5NUV4ZFNsalZ0VDBRcjJVaEVJQk1m?=
 =?utf-8?B?K3g3b2JJYlNkbmN2MHdTeGJJNUp4WGUrc29tNXJsQmlEME80UERUMEh2eDVC?=
 =?utf-8?B?RnVYWk5XQlAxOGZENU5RNHljQnd0VUMzM2dYbFV3YjQ4SVNjbkJoTEU1ZUVE?=
 =?utf-8?B?Y0pQcWxDQzJ3UnBIcHpXWCtwSE5mUllua2w1SHhxeFVaSG01UExZemhnTFpY?=
 =?utf-8?B?djlWdmVqQlN4RThGOWdhRG80Ryt6UjZmR3NKbnByeS85S2pnVVNKSDFYKzJH?=
 =?utf-8?B?SWpCYWhrcTNDQjFUc0hINFJkM1ZRL3k2YkNNNHYzT2piK2gxb1BUeXBHWUJt?=
 =?utf-8?B?UUJxRmFLaHNibTB6UXJhRHFseXFkUzVLaFlrUEgwdHNGRzlxdHJaUE15S211?=
 =?utf-8?B?QW10bTdlRE9uYTBqZ1ZUOFRTdmlYNDZETUxRZytUaGMyZ281Z1R4S1VHUC8x?=
 =?utf-8?B?WE5SZEZadUFSZ1Q4dVVNd3ErYnZiMEw5YlpwY2FIYlZ3NGtpU3VnWHJnS04x?=
 =?utf-8?B?OGpHSzAvci9MNTliZzYyU0oxdXZ6VjR2V0dhZXhQU2dENU9MWUN4R3JZSUlu?=
 =?utf-8?B?TUhva2tTUEtTQ1c2bk1EZnlPTmxCSUFodTF6OG1IdElXNXVhd1p0eFJESldE?=
 =?utf-8?B?NGlTMlJydngyS21qbHhNekxSQUJYR2NXL3NLMkRzTFh1d3FoV1RuVnd6bkxL?=
 =?utf-8?B?QkZRYXNKbkRqVTBid0RhUndpMVloMGxqalFUajRWUDVNREs4L1Jlb2M4VThS?=
 =?utf-8?B?OGZ2WXcrMUYrT25FMllBaEltUHhtM0tOa1ZzcmcyU29QL2lIUDNKdEZicGtY?=
 =?utf-8?B?UjZBeklNL09VeU5KaXk5WjFqd2VpT1BwNGtiUmNrMjZWUzdJS291VkVHeDl0?=
 =?utf-8?Q?wIzlfjM7zNvapcaXpugaTmvRk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79c2271a-706e-470c-2fe4-08dbe676b23e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 07:36:07.5670
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OOTJ6TZChqCr81Hhm0UAgu9wu0hcKwLRHiPKWjUUcBl1P/4p+0+iqTNplQtrlfE9XwmmsN7dVsn+iOFGRPCdaw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6773

On 10.11.2023 17:30, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/include/asm-generic/percpu.h
> @@ -0,0 +1,35 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_PERCPU_H__
> +#define __ASM_GENERIC_PERCPU_H__
> +
> +#ifndef __ASSEMBLY__
> +
> +#include <xen/types.h>
> +
> +extern char __per_cpu_start[], __per_cpu_data_end[];

Can we go one tiny step beyond what Arm presently has and make the
latter of the two const?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 07:46:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 07:46:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634016.989209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3X4T-0006ZI-5s; Thu, 16 Nov 2023 07:45:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634016.989209; Thu, 16 Nov 2023 07: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 1r3X4T-0006ZB-3G; Thu, 16 Nov 2023 07:45:53 +0000
Received: by outflank-mailman (input) for mailman id 634016;
 Thu, 16 Nov 2023 07:45: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3X4R-0006Z5-3j
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 07:45:51 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2899eeb1-8454-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 08:45:49 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8123.eurprd04.prod.outlook.com (2603:10a6:10:243::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20; Thu, 16 Nov
 2023 07:45:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 07:45: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: 2899eeb1-8454-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pko69fV0+hTmkOlQfbWCdGvHhy/jIo+jD+wpoL+bazVFOu4lgysd918rJngtgB15f1FBUDUTKhONcYsza9qFI7OEAzgZb1dQy3LsJMEWY74HbRkYqVy1urIzI5PnGU9Fl3FohaYORuYy3Arc/ySad+ao3qquzGQHQAz98MuLZCj899myEWRvyI8B43nDfHm036C+se15p8Fxnejxxg2C09tR7l8YC31WNjOz9Lfqu1J5e52nabntHzpyt4QntMNmDyozV4Uav1YI9tonwzik3VapDKRY5cGxHSJFSys5YQzp2WqaiqNTKcRHk4MpKjGIkvgK4lRbwrmdrmihvSRRqg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q4O43uNN6k9/L8FZbs5a7YfXCzA1c/W9klq6O23VFfI=;
 b=dKK8Rdym/5glwLCm2FlGcs757DJPrrj22CBo7n8ObPOZ9TuNRs7xygj28XqIbSe9NKfZAcv0jSR9jhwKvyBPEKYuIil+QAnGxx1MPJJacQAvith180TuY/4Xibnin4Ja6004BR9A4c1lv8wuIc0E2tPpIDHE1E9HCre19t2DZfC/8+Ek3oPZVFluk6qs7b4RysLMGGatI/U1F6JGuMFokbSznuhN5c7ErrC8zfwUhbULCJRRce1dpbegZwboUVv2Kj9ieMSxAKdy+cEVqk/zwO0fBd45swGgYW17wTnHnkE+MZqdXLB5UhUeRFCIwlGlTQVfWKlLHwcmin/mCFZ7Cg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=q4O43uNN6k9/L8FZbs5a7YfXCzA1c/W9klq6O23VFfI=;
 b=ZtWFGcBpugiT7pbeypZoHE7qE83Lb56AuELqjcomOqBbCJ5Kjn27d05vGNozjJn/qT/Ws2cSdMSP9bXyZo1GayKwcdxuCMXj4h4RXOp8MpprCSfT6yKJnRUmQbdjjLk9/W4881Bj7+aOlmBjlvl+TqVt24B2NcJ4o00qp/EeXkSnGjwYUmw2JfZIlQF7tdmjQWSZaxWCaMtyADD3uhZ4JlY1UHYfmtfY31FDlHuXiGlkerPY3YsFpxW3SASC3fEd4s+YaptDTPsZOogVQGB4GMFjQmYiOI99I37oJcV59K0j+pQ0tiqvi9HiK4CEG9+UoAMh9MPW9Kbk0OHO8bCgnw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
Date: Thu, 16 Nov 2023 08:45:43 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable through
 'xl.conf'
Content-Language: en-US
To: Olaf Hering <olaf@aepfle.de>
Cc: xen-devel@lists.xenproject.org, anthony.perard@citrix.com,
 jgross@suse.com, Luca Fancellu <Luca.Fancellu@arm.com>,
 "Rahul.Singh@arm.com" <Rahul.Singh@arm.com>, Divin Raj <divin.raj@arm.com>
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
 <20231115182340.505df6c3.olaf@aepfle.de>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231115182340.505df6c3.olaf@aepfle.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0033.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8123:EE_
X-MS-Office365-Filtering-Correlation-Id: fdfad512-699c-4963-a317-08dbe6780b16
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:
	gugm+yyoz1H2w5VpUxwRzj/PluzJA9mg/zJ4OViZvSxFjf3EHUxKcQ7EikblLpR4EVrfCM5U7AGlcN3RMUa7Ubc0suEPZOV+e2/Uq5O30lPY+DH2X2ivx88Us2MSvzN8XWIJWbmwxVp0wesVEQoTxyPm0jN+oUcXX8XCcGbxuSzIJCo4sKQDdRBLBiwEyTZbp8vq1YoQExjvHrlz/L+ulU2iLKv/2utMhwG0MJ60D2EMJC+GkZKZc7nxF5MIJTZjw7yWmM9bOSmN50cpVGuO1Q2ywhvVvbC2rBcDf4qfVW3/dJYTA4xye513aKTaPH5dViumD1bEhtpciweRo/xd9YEFmeLQjHm9cLii+VDS+Rsm9AeCqJMD7DBUWy0DFv2BmXDSXnntY+KdY6QknU5q0UJEVmzydrEYoakqCO2Sq7RWS+AkcuaBvniLllDqXQCzyEySInAvS+vc5eoVTxwzg2BZJnuzzKDlVziha0rGU/p1M0mRLpIm/yphPNjIo1lgHBWN18SAaoV8PBbUEoOy8OJiwY3xq4Pl6QI79SKBKHZPiiJb68CIO/udWC0vF4O8AYNueybAWqkRH/byZ7mXdA+uvudJ1Ph6NS4/Yi/5s5dnvGdzHn+LUZ+LNv01EIXw
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(346002)(396003)(376002)(366004)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(36756003)(966005)(6486002)(478600001)(83380400001)(6666004)(6506007)(86362001)(53546011)(31696002)(26005)(6512007)(4326008)(8676002)(2906002)(2616005)(41300700001)(4744005)(31686004)(66946007)(66556008)(8936002)(38100700002)(66476007)(6916009)(54906003)(5660300002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VDlFaTZHRHdDUlZobGFhbXU4TDR5bWZjMUprdmlsalBwRlJEcjA4UUxvczRw?=
 =?utf-8?B?NVh2d2duNmZ4MzNTa2crWUNybm42MEZWS01uZkhZOEVhelg1eHJZbjdQRjJY?=
 =?utf-8?B?a3VOcGtpVkZKb3c1RlQzMWh5dXVab2V6eXo4cEQxSVppc0VPZUwwV3pBSEpZ?=
 =?utf-8?B?MXNZZTVDOWhvc21LbkdLTmFrRWRjZURtTXFCalk5L2gycjcxcFdyc1cwS2Vm?=
 =?utf-8?B?UURkUzlCbVdCOHRhbEoyeXpzTnRodVBjUGRWc3dwdm94ZkdQVCtwWVRGZ3ZG?=
 =?utf-8?B?VHpyWktQUitNWWFtZEhMT0JqanUwWEZKd3d4VHpSNjE5emdQcmVnZlpEdUgv?=
 =?utf-8?B?TDlBUVQ1OGpPdnBFRkVYSUZuT1cxVTdVMlk4bUdiQ3BPTFJWTmxjbTRXRkRK?=
 =?utf-8?B?eGk5TldScWRHRFk3aVlPVVZPWTRFSVM4YjRHdHJraktSNURyd0ZLZlQ4M2Rj?=
 =?utf-8?B?WmRLVnZZdnVBZW9mRmdLdjJwZkRGT2VkdE5lSkF5UnVESlROKzdiUlFVMm9t?=
 =?utf-8?B?cHVxeGRpWkREaGR3UG1xSllvVXViRUpwU1pscjlrZ0FPZzBtN2gwM2ZkWjI0?=
 =?utf-8?B?c1c4V3MxZHRSRU9vR0ZwMmxjUkRaT2RKWGRUazVxRWtQRllNbllRbE9TWE81?=
 =?utf-8?B?SmJ5TjB6NEhRTHpXc2FpYjZBTkUxN2VhUXRXME9wQnZKR2puK1V2Z0ZONHE5?=
 =?utf-8?B?ZXoyR2cvbTNjNC9BUzJGaWpxVzNTU3c3OTR6UzBXTHZyVWdkQk5uYjRzaHpF?=
 =?utf-8?B?TFVlYlJWR3VCdG1zNTN6ejR0dE94WTRQYkNqMTA0bUZBYWVmT21VTnlwU0Rk?=
 =?utf-8?B?L2lZR3VlRWlhdVBJeC95Y290dFQyUnNnNUg0cHNpZjRUSDNjRzEydytLT2JV?=
 =?utf-8?B?ajVDalo3T1NRZmFkeWpDNnRhWXVHWGZOVnJRQTRKNTZyMDJXZ1dXL0ZIRjVw?=
 =?utf-8?B?ZU00c09IODdrYU92VGVKUitjSjRtNXBjWSt2amQ2ZFZCTjFxTG5NeGYwVnBV?=
 =?utf-8?B?aGlaK2Y4ekdtZzhHRVJXak5zZzN5WVZxdFUvd2FnN2xhMnlZUWFyT0l3czcv?=
 =?utf-8?B?OVRqWjk3WkJnS29qRHkrOVExeXBRTUdIYXhQMG43S1VzNU1HTmpveExCU1g2?=
 =?utf-8?B?eDBYaDhqUm5Edkc1cm1RUExsQ1dUNXBzZ3FoYW9mV0tqZnJmTHNYUDIzQUhR?=
 =?utf-8?B?dEdQUXNrOTZPWExTUnJKTmFQNnlqTXRpQmRKbE1vVzd5RnVsREFTRXdmWlp3?=
 =?utf-8?B?YzlROERnSlVBQWs0MmIyd1hkTG1Od0IwbUNRK0wvc29vN0c5ck96WXJxTUd5?=
 =?utf-8?B?blVmVG53R3l1eVNLRUNHamt1cUZnZTlkU1lnUW1rZVhBbzNXcGJhWGJlSm5x?=
 =?utf-8?B?Z0Q2ek16RHgyVUNLWVptSG9VUUhJQlpJZ0JVdEl0cUJURjM0Ykw5cmM4cW9i?=
 =?utf-8?B?bW0rRzFFZnV5WXNjQ0tpQ3JPelZWSFFGZ1BjOU9zbDA1ZGxsUmJoS040QWI2?=
 =?utf-8?B?MmpGaUJDRWtCS2FIUzVRaVprN2gyeVdyLzlQUzJZYXQvTVF3Tld1OW1wNCs0?=
 =?utf-8?B?Z0VlRHp0aWRMQm85VnNEWEordlczbGczVC9xZTFNT2ZENno2RUl4UkJuU1dv?=
 =?utf-8?B?SlY1a3k5a1h0T0s4U2g1c1dyT2I5TWRGbFFBRldleGYzc1IxSTlPWjJ3U0VG?=
 =?utf-8?B?dGZUVFlsbmJaN0VSVlNIMVQvVkp0cThjMW96dCtsSmJXbEtrVUx6SUkzbGJ2?=
 =?utf-8?B?T2hyMTIrT3dIWE5Md2hDdDVNT0ZzRkZRQzV5bTFkaEw4N0w2dlVGdGJveHg1?=
 =?utf-8?B?Q2pFS1c5ZVQ4SFpxNkp5M1VmWE4wVEJPV3JweVpzaGJwbVhQTnhKelBqSmF4?=
 =?utf-8?B?bWE4KzVzL1BzdThvNjFyQU04NE9pek0rS0FFMnRWOURFdk56YmpmYXRla1NQ?=
 =?utf-8?B?RFZtS1BxNThnaXQrV0MzOXQwNXY0V0x2NHRhNmd5NUZkNW1zK2Zldmc3MzVa?=
 =?utf-8?B?Qk4vMVFORHRVeG1Xd2F5bmRTNUxhMXFmOHhlVVFyay9nSTdvTTBYUTBKNXJ2?=
 =?utf-8?B?TjZzSDlKb05FenQxODJrRmIzSW40NTA2dVRXWlJFN0hPZUMzL0lEdVJMMk1u?=
 =?utf-8?Q?+KNOhXkQVNCdlVuVlUNVTYjxJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fdfad512-699c-4963-a317-08dbe6780b16
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 07:45:46.1951
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1nuGFPjkwzvTJAuj2/Is8pssz6HzzMVRCM4zABDRG89j/41eCvIDjxyDnGGAw5alQVZkHVdws4RHjhzXOlWfZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8123

On 15.11.2023 18:23, Olaf Hering wrote:
> Wed, 15 Nov 2023 15:29:09 +0000 Divin Raj <divin.raj@arm.com>:
> 
>> LIBXL_HOTPLUG_TIMEOUT
> 
> This is already solved by "libxl.LIBXL_HOTPLUG_TIMEOUT.patch" from https://build.opensuse.org/package/show/openSUSE:Factory/xen
> Up to now it was not considered important enough for xen.git#staging.

Did you ever submit it? A quick request to Google suggests you may not have
done so.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 07:52:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 07:52:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634019.989220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3XBA-0000N7-SM; Thu, 16 Nov 2023 07:52:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634019.989220; Thu, 16 Nov 2023 07:52: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 1r3XBA-0000N0-Pr; Thu, 16 Nov 2023 07:52:48 +0000
Received: by outflank-mailman (input) for mailman id 634019;
 Thu, 16 Nov 2023 07: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3XB9-0000Mt-52
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 07:52:47 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20601.outbound.protection.outlook.com
 [2a01:111:f400:fe13::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21464171-8455-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 08:52:46 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DUZPR04MB9781.eurprd04.prod.outlook.com (2603:10a6:10:4e1::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Thu, 16 Nov
 2023 07:52:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 07:52: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: 21464171-8455-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iW1gMoX2eMzaZQhvFh6qrpW9QygxoOAbdaXBq8bT0kco+yiJHDkEo0Keb8iJZSdkZfnbi1USnLUFW8WyKFJ1gsuvcxEDOtuB512+p0+DF457SOWkjvsHAvh9FRfkEKxLQJMBUHBVmWyX74NnncR4kUP0fFEGbkFDBnF3oceAZQpsf8mqGt7eOj/kLtjgoBLie/Dj+F4LShfH4DU+Hs+hrVSUNIVTWCztrlxsazw3cLoI/31ioJt0+ux1TCppMSEztR3rCXDLPWlFZF7ZIFGo0HnV0x83oYBg1apvuP74ht6rc/x1P4VdtRvyijo/FhsGHo8uW4QVHZCWtzvYleNGhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kvAgaVrj+2lveqS8b5XcXGIxZwEB3p0RNzRd9/vouQw=;
 b=derHbbbAE60mV2cPqJcImRDyR24Jt1TUCfET6QZ9zVaDlJg/5o6v9OEEexO7nYpQjHCCiJmoXz4/w28Bwq2KRuMtg0WckyUJ2t+UlHS1X9y9h1yps9ra+s9sXnIeGpblin0QdZ4xEfB2lpnA11LAD0j6NgWOumnK9d8dGG9obACfp6JXNab43+irHrUEjOLAINROPAU9CtbLxxvI3lhw3LuaQe/LPtMT5swh9rN9HM7rAb6YYWb5dLYGOB42dXP3+ELX7jTFs59AelwPKBEyuZ64KJBLyvvsqK3+jkUu15wT/V/gJhitqxq1DbesqHFjV/7jmX35SUurKd0VG/FHyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kvAgaVrj+2lveqS8b5XcXGIxZwEB3p0RNzRd9/vouQw=;
 b=KmqDYdRhuoWZ3HgK4Yd/Rl56UfLhvgXSb+Y37rlyPu9vnDQpAf1bC8Br5lqqTc2GRZA0SAXLhLxv++QPkFEArRehr0KqnpzVct3MIoVgnvPhgVkPr5eoh3p1kSNNNJrVZX6biLDVlEm+rDlU13Olft6R8QOqnyn9T3rywncqQnCPvI05DcVJkfYYs9K+7EcPGK++ObN+32VtxlBbt0TqxQVl3AX5XKv5kUAvggREeWkG0fLFwiIELj3TubzD7QbB077YxYq7BQ52hQMZ7HVPF0YlZPQIElJRuYWDI1AJ1jX557p0nJvdHXvMmENVyY+YL9Cvpq32/NEwEoXTXLWSuQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9202e48c-d2fe-4474-abd5-3110b805cf89@suse.com>
Date: Thu, 16 Nov 2023 08:52:41 +0100
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Henry Wang <Henry.Wang@arm.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
From: Jan Beulich <jbeulich@suse.com>
Subject: 4.18 vs mini-os
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DUZPR04MB9781:EE_
X-MS-Office365-Filtering-Correlation-Id: 39dd758e-c04a-4745-6388-08dbe67903d5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wFYSOgPtbCSFt88YczKR+UbE/bvrSU6+ruyniB/iV59zEvF1jnQd+eXkmcuOfqp+YVkUwvoHwEBCbLhwJPX5sgGkVHu39HM3+PyUn+ayW/VIBfUVhpCW4sQS5KNa0P5YXDx0BVIQ19tkTbN3ZgEGjA5LWG9CN3fto0TJCp5hvYbz09b9XzDjead6UGSKZqeQuAYp8FongYDM5LmU+QNB0lExwH9jnEg4cVaBP8R4T9swbEhyunY42lLDjdH51i9TD5j/fKH+TzvTKA72v1GNtEMBFkLwsFdoUvu+p/1Gqd2d28/zbbApxgsogNUJ7rwLw6RHqpD4NYohXFynB9OQ673/a7l07SyUz06UmP1uMBIOW9MBRoe2OdAUybco20l995GKJu3wLBzRyQYFChobjyt6MaYI9hWbZU/HiP2YsF6mbnUgtO2vtIh5f9nnCVmmUbeG9ps6mZLjscdUKB0btoqcGVJJ/XItSbXoOhs+u0QUkNJpnLC/+aVWOfUtJ5qk42FezX12i2o0OT0OiwfMowN6cVnJBmoWp6OMlJLHBwoDCBxRvOlfEPW2y77iZAbi91F0/qww0chSdamH2nVtjWHxhuQcQNDnGJbzZXlQBPSsOUTFMttpt87suWjDDN0/Ct1vxlahsWdQgQWKL8eyjw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(366004)(376002)(396003)(346002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(2616005)(6512007)(4326008)(26005)(6486002)(478600001)(31696002)(66476007)(36756003)(86362001)(2906002)(41300700001)(5660300002)(316002)(66946007)(8936002)(66556008)(8676002)(110136005)(6506007)(558084003)(31686004)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QlVtbkNEdWd3MGZ0Sm5EV1RvVyttSTl5YmN0VDNhUmFmUHR5ZWNseXRWdVJ0?=
 =?utf-8?B?V0VGZHVrRkJvK1lBSW9aZk9IVnpmdGoyVTM1bFJsbkFRWFowVkhyK1ZIRmZC?=
 =?utf-8?B?TlU2OHBDc1h0M2dKNTJiRTBLVzhVdGVrb2NrYk1aMG1FMTlyUHFSd1FRNFZB?=
 =?utf-8?B?TW1WaE9rMDZBQ2crdURxUXBYR1JpeXZiS1JaWUpCbjF4M240eW01b2UvaXV1?=
 =?utf-8?B?aTAwMERSdjlYMk1aT3p1V0VWRjRnYW91MjBhNm0rTXFkL05JWXVCcFBndXNr?=
 =?utf-8?B?ODVXekdYWHlybzN1SHJ0WC9hMnEyMWNXWmtMT25yTkF6eUpDbHAzTGc2VXhF?=
 =?utf-8?B?UTJETjNFNkdyS1BHME9sRFBoRWUxRDlUd2g5SGNnNStUVHB3OVg1SUdrcEpN?=
 =?utf-8?B?ZmtSakpqOWxXRlRNWGlIQjFpMGRRMCtXVk5EOWluYnQ1UktHYUJSWWZPTUk1?=
 =?utf-8?B?dVNvNzZMOWo5d0pWbVpyRnBvSkZScGVvbzdNYjFSVDJXUmhzV2xaTEh6QjJK?=
 =?utf-8?B?Zysxam1ILzZoQmdIdXJkMlVzL0hpVU9Dc21wSHVHS0FUWFo4dXlRaXphSWtN?=
 =?utf-8?B?Y0tISzNVUERDMWFSMkRuUlUrcENOWm1BMFVZTmtRNHRRb203MXhsQXBqcUs4?=
 =?utf-8?B?cTZQTkF6eXI4SHEzNmdWd29DN1VYWmR2elFEL3FwM1VRZzJacDFpZ0VmMHRZ?=
 =?utf-8?B?RjhuTU9vVXJDeEdraEFpZkRucnNMZGxOR3FkckwxWjhWdFJ5Rytxd21Qa1cx?=
 =?utf-8?B?dU9IYVNMVlY2dDl3NW5lQ2MwRnRDZ1hUQ29oV2pnZytZdzBCcyt5NDg5MkFL?=
 =?utf-8?B?R2lZZE9ncUFWakFYTnlXUjgxY1lDVXhoQjdXKzV6Q29wZ2ZyV0RrTHU0RFl5?=
 =?utf-8?B?NFNXbFY0UTdqZ2oydkh5STVickFWeGNoeEk2WXI3QjNqNXRqREE5b3dhRGx1?=
 =?utf-8?B?R1poUHJsZ3BCQXRTRWxTdlhxMnNxRnYyRjFndWo1NUJ6cG1GMVNFRnhBNzZ5?=
 =?utf-8?B?VE1jMnpMOHU3MGdwU0pVdXhDZXdmcTZMemdHSWJuYkticTZRKzlKMnVEMTJL?=
 =?utf-8?B?dktRSzZHOEZoSWZVZjRsRXV2d0ZxM1EvTHhBTHM1MTRLem9IcUFOL25zaFlF?=
 =?utf-8?B?b2FaQ3ZWY216MmR0OHBOWCtUT09uWDBxRHFGS2RxNzJyQm1jY0N0NjIzai92?=
 =?utf-8?B?eitXanlHR0RWZUUwazJWMUpOUnhONVZ5MzBSQnRRcDhyQ2xMeGVIYWovWG1Y?=
 =?utf-8?B?RnhjUkdENEdTTnBTRGUxQWdkUHFpa25uem1taDJaZ3JxTEE2cjRhQWRBaisw?=
 =?utf-8?B?YmIvVmhoL0NaWWpsRW10Q3U2aTkrTGFFTjlKbDhjK3hGM3QrVDZ3cmZ3aWs3?=
 =?utf-8?B?UnlyUU1ueG1RN0krSXB3NGNMb1RPdEJKcW9IekoxNzUwc2ZqYnZ2SUp2NzhM?=
 =?utf-8?B?Zlh3SElONWQ1bG5pZ1lrWHozWmhGb0tOYndZRmNlTjVFSXNaVWszRkN1QXVY?=
 =?utf-8?B?U09xbTNlMCtFNTA1T3VqUkF6RU00SndkK0ZsSzFnR1l3MGo0V0RqRTBML09R?=
 =?utf-8?B?Z1ZUL2RSbHdyTHIyYWtlWDg4U1BnVnd1ZnpXZ3FKYW0zR2tSeFZPdjFaWHg1?=
 =?utf-8?B?SU03UWN2Nnc1Y280ak94ZVFKbVMrMmtJdklsZHk0RXU1ZzRxWVpmQjFPMUlR?=
 =?utf-8?B?WlBGTXU2WnF2TFdzV0pKUHdMaGFMS1hERGFzWjdjek5WOTlaU1ZwQStva3or?=
 =?utf-8?B?YUdvSktJQWs1QjFxcEl6Y250UHN2Y0xlUWhNc2l0SHhrQXJqQXk1TVNrNkIv?=
 =?utf-8?B?M2RSM1NGR1VleTQyOVZHdGxEM1BTdTJISmg0Q05mbDhBR1l0a0hpeG1PUmEv?=
 =?utf-8?B?clhNUmZXcnFzQ1Z6NklXZVJJWTVVcm9tNWc1YzE5MGFJTWtTUHNya0VscHhP?=
 =?utf-8?B?aFpPakhZL3ZkNlZucXJJRUtadE9kRElpVXMzdkppSmEzcWkrZTYyUVo2cHV1?=
 =?utf-8?B?bWpDN2F0K0tjL1orcm9xVGMzcUFud05ncm5STTMxUzdqcGtieWNiZzFLSnpI?=
 =?utf-8?B?blZjZXp3L09kQUhISlNYZTV4QjltbjZXNEZPYlJpVlFRdHAwOWoxc090RkFX?=
 =?utf-8?Q?vhlbx56uAq7GYkNYpaz5LpayB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39dd758e-c04a-4745-6388-08dbe67903d5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 07:52:43.3880
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 2nNMTsovwp70rBbYJ7+y+8iWXjSJzOcEB8Vgy5sNkuZ5EuLR+xzXXkK5+w3EC2J/GJxdWvLsWzSeuruO7lGgMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DUZPR04MB9781

All,

may I ask on what basis the xen-RELEASE-4.18.0 tag placement was chosen?
It matches the 4.17 ones, despite there having been new commits from
Jürgen dating back to January / February. (My own build fix would have
been nice to have, too, but I can see how that came late.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 07:56:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 07:56:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634022.989230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3XEz-0001YV-GU; Thu, 16 Nov 2023 07:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634022.989230; Thu, 16 Nov 2023 07:56: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 1r3XEz-0001YO-DM; Thu, 16 Nov 2023 07:56:45 +0000
Received: by outflank-mailman (input) for mailman id 634022;
 Thu, 16 Nov 2023 07:56: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=X1T5=G5=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1r3XEy-0001Wf-4F
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 07:56:44 +0000
Received: from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de
 [85.215.255.53]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ad01af7c-8455-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 08:56:41 +0100 (CET)
Received: from sender by smtp.strato.de (RZmta 49.9.1 AUTH)
 with ESMTPSA id g1b15czAG7uaSmQ
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Thu, 16 Nov 2023 08:56:36 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad01af7c-8455-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1700121397; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=DqO+msE6gqNJzgX7skWJRGDGGG8gXxYGKcqxbJwMsYf6ETtZR/T9Om/wPuwqLii+GK
    Nu2BD+qe9hHBrdoJ91erUbE+wCPxbyA/aMl3jw8L1WYiTy0W/DlkOyNxXAUl/VnyLywm
    wPCeGh6FV9Rld60gdHoZWcH3GoMYtYldEQszDuqZj8gNoY2gBmJCwu5WU5uz2/tIGhtF
    rWoc3ysrbx5/A6mZbR0JZoaJteHF6DSY2e4Es0opvtH0dVlCPpe7kkNF8BHs6T785oY4
    D8khZAOA8vJcsQ/GytNeDQVvAxljoKJGGMBkBHONEPxtOlpg1SFbdunY8UNrRuAaFwll
    yEdA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1700121397;
    s=strato-dkim-0002; d=strato.com;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=AnljQ8K6uF4BXAaaiwfgVnxNAfc/Xknbp/9acCyB5B8=;
    b=PP9T1ygBPU/CAK5+pwN4osIMKfHgPYAwIOmJUr+ZCqMx9uI8VUMxKfKu+OSItN9Nms
    FNOP469HD6Jc82uZW4vSao3pk5Xs4AtO9VdR5TBq8yNY96xrKpE2judcxlqVTF1ovYUE
    QEkejGaOH4yYdd6cUiTEglnTz9OW+YSg21Jw4FGPAy1mtcoo2jOqO1+0des5/zA8v2v9
    7+WWx3ZNJh45iFQUvTqSnFEcz6Ihh5TR1Rh99p0T4qT90LcaGyX0s15TxDMaA2GTpkpE
    y9+sa+sLDUNHclAkxqbcIHeju5XfQ6atSVnmi5Q+YZaiO6Hdrd5u0SlNJfLZgZeh6Ylg
    9G+g==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo01
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1700121397;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=AnljQ8K6uF4BXAaaiwfgVnxNAfc/Xknbp/9acCyB5B8=;
    b=LoPcFF0+xgjS+fXkGhNtwL+650xwhPVx0ojkM62YIvjj2vLQXB1V7oNeNTNUIlpmIh
    He7x17edYbgcu2me0pyOH71OzlO36tSk5cssW7Bc/nKfT4nVboig4FAmidEF2o5zH4da
    RfGIJbLk9VAzz8oP9bti3x7rpBAHmzygDf3O6Gc1ZmdzQeqNXXFPVMoehADjI8n+aWdN
    X/fDvUzBpygUxsQESopRvD3ND2h/JixZI2Ma9wmEMjmXeIPHIQzSmQG3kI+SnT6qy8s1
    NPcGIbyxoWDcy75OANp57qbxFmshjdfuoT40vW7Rn3wCuadAs7YCtw9ZRp0o3CbroKc4
    MH3Q==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1700121397;
    s=strato-dkim-0003; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=AnljQ8K6uF4BXAaaiwfgVnxNAfc/Xknbp/9acCyB5B8=;
    b=DxttJMogw7jSBWssTh6AxbCA5carDejNC7PRq6j9Sj3xw1yPiTVk7dJ1opXtPPG4tz
    GFduFKlQF9TAS0kxqwAA==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR5BhaIaRnsNaqJN2h0dTFZeqQ89seVgD7Tlo9gNQ=="
Date: Thu, 16 Nov 2023 08:56:29 +0100
From: Olaf Hering <olaf@aepfle.de>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, anthony.perard@citrix.com,
 jgross@suse.com, Luca Fancellu <Luca.Fancellu@arm.com>,
 "Rahul.Singh@arm.com" <Rahul.Singh@arm.com>, Divin Raj <divin.raj@arm.com>
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable
 through 'xl.conf'
Message-ID: <20231116085629.40a0445b.olaf@aepfle.de>
In-Reply-To: <4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
	<20231115182340.505df6c3.olaf@aepfle.de>
	<4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
X-Mailer: Claws Mail 20230817T113819.a897c59c hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/V74wZ8tGdTQRVwrOwF.EGa/";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/V74wZ8tGdTQRVwrOwF.EGa/
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Thu, 16 Nov 2023 08:45:43 +0100 Jan Beulich <jbeulich@suse.com>:

> Did you ever submit it?

Likely not.

I think the approach to use a xenstore entry was used to avoid
ABI incompatibilities due to changed .idl files.

In case anyone really wants up upstream such change, a global
per-device timeout should not go into xl.conf, to make sure
domUs managed by libvirt can also be tuned.


Olaf

--Sig_/V74wZ8tGdTQRVwrOwF.EGa/
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

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

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmVVyy0ACgkQ86SN7mm1
DoC9FA/+MnD/mCrH4a/yXmIvtc6RfZCO21t71JN7WKTBUyrWuUUtKrDY0SODlsmr
U7BrBrjcTV38soNbXsvxwfofIQyAZpQas2ad0tj4v1PG/9p49BXqfouarqVeUGvA
qHa58qTV11iEOuTUiu5UUl2STCNQmFONxi+s5RPRHxp1SMwYBTD1xUypDfUtJUSl
PbSPRfz8gQ+4jH4r39cOPprsmS6tt4KbN+UrnDfAre7e/b2l/PjUqb0mdaLaTT6u
u3T0o02NV4OPCsWLN1Pjl7KKixlfb0IF9XfOvasgCO/kXz/oYUNWfpnMQy1HCBHD
27y0caJvTs2KAuAS8d9gpuUQ13L3zVKJKel1IBxCxhXKU5tG9jqR/xN9B+wmKfY1
1zb339UCau3RMTqhFYhy3EV4u+JHvWhyU0B5lD6YP35FWnkPvkJxLxwbXV/yYa/k
inxnK+Wa1atA4xsW6wRsheDm3t8nAn4QV3FFQFstrYb9mb1kwZjHU8nhdho8RxZz
+9/OADzc172+YwFNJOzebSzGuJK/ped3f9d8BnDT7TXyF9mf6P6C/LC7dsKuKvMN
sd4lZ5c5Uv9GAJFeR5PIg8fgFzAKE8v4nR1eG7pBbb4Y8TkQY1eesOHWbpfzZhfK
VII/W2ihVaENPWTBadsU+uHbqdepCd+nBcKM7etTCaTXqUU8cvc=
=VR7f
-----END PGP SIGNATURE-----

--Sig_/V74wZ8tGdTQRVwrOwF.EGa/--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 08:27:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 08:27:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634031.989239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3XiM-0008P6-6G; Thu, 16 Nov 2023 08:27:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634031.989239; Thu, 16 Nov 2023 08:27: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 1r3XiM-0008Oz-3Y; Thu, 16 Nov 2023 08:27:06 +0000
Received: by outflank-mailman (input) for mailman id 634031;
 Thu, 16 Nov 2023 08:27: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3XiK-0008Os-8P
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 08:27:04 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060a.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb03801a-8459-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 09:27:02 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7366.eurprd04.prod.outlook.com (2603:10a6:10:1a0::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.9; Thu, 16 Nov
 2023 08:27:00 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 08:27: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: eb03801a-8459-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VqVx8Xm4Xa9HpMJfiIWz7FJCIc974OIjTJ0qn+rlOgo2EDNNpvvHCR7NP+O1hI45h0DYuWqxRq9PTFm73q3FnhU87J87cYOEV8RytWKLwLhSdmwmgKeVaXTahVShNkzgf0T87CHVOjeHo8PyIwTfsfJgfWY/Pq923zrimV289NP8R6ZgSUjKd+5gXH7gVqx0PFmTnBDfyyEpdWUt3wV2ZREOQWbILcGYE6CI1fAS9DfX6goYKEIBvR6XIs5R4kRb1jgLWaWhbYMDuOmc/2h1dBK4UbAmb7CoGeBJA+YJIpzzQ0AXzYbDcUBD9ZsusAozxHGQ2F7uLONzB5JzBFkHDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=V7+aDNpy+3kjenDQp2JLhWdQV8sQFexEbj6NRznQ3Pg=;
 b=FlFfESWwA3o70LTybwgU3TbUNDa9lofYbs8K09/aQxHsKQ5npiPWqMc8fsaP7N7waFqbon68mx7tbl5QHJbAQuXhw385d4G4V2LSHxLZZltUCP3gTgldeD0oOeJz2ejzslKbK92PbuGhCoGG+8SipJM9sZpEeiMTqq82bF5g8w0N0DUDi/LBOtIX8PKQMC18g6vAiPMvZ/XCF9pv4YsuolIrHbREjmh179yXavBJpL31i/UlXE4WNaSdI8jQ17WT6LSU8ET+1mniJPw/Urgdq1xlvSoY6VBdSHuMnOoDCaczjoA6TSd5kHXPZytaFOCVkKo65v++GbjnsJfsW1Vc2w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=V7+aDNpy+3kjenDQp2JLhWdQV8sQFexEbj6NRznQ3Pg=;
 b=uotqWPc1+F5C2naQOEBKA9IxEmqIDQR9HLsuUMDd982zrxaheMdziNlIrXgI+Ky+uqFscwpkrl6tcrGoaQ2xR8ouX7eN9++O8jJI54WbkxNXJDlpalUDw7h0CWT4ZZUVZIzLJgHx+hMv7zv+fg+wiv/VPqWnkWUVzl1JqvaQmUEbDBLpJH0O1zhuwagzvR9D5JmQlQr3BcrWGhBJ5rGsXPzZlNuhbfJlLqxk1zXssSTnm+03acAZHhdc40dhMuU/nIt4RbWR5cNSx2It6RKmksOsX+ksKvorKVpdGBxuoy2/QH5koKPWtNThkBH6eJJbUMkDSTh55QdvskkAiL0lZg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <392566d1-109b-413c-b904-0e4cb4007263@suse.com>
Date: Thu, 16 Nov 2023 09:26:57 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19 v4 1/8] xen/include: add macro
 ISOLATE_LOW_BIT
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1698410970.git.nicola.vetrini@bugseng.com>
 <dca236bf9199f596bafb35eb48d81adc280d8cca.1698410970.git.nicola.vetrini@bugseng.com>
 <f88edc35-6b1b-0136-aa1f-6429652c4016@suse.com>
 <alpine.DEB.2.22.394.2310301536390.1625118@ubuntu-linux-20-04-desktop>
 <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@suse.com>
 <817fab34432c854ce585aba80db77f7c@bugseng.com>
 <8b4e0da82930375b2a95387a9031c73f@bugseng.com>
 <1178b79c-d6a3-a46c-5556-3fb5964dc051@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1178b79c-d6a3-a46c-5556-3fb5964dc051@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0435.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d1::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7366:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d883d98-ab28-4117-f42e-08dbe67dcdb6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oibnyZEpi6mZWA7culuo7EIv19dSdykLQ25uDtPvN4nvmbwZotuyID3TkdrSOQIBDcBFpI3FuhBzmnHF9YL/mI5MzWE4Oovgny+2tt4Ht4Jm2qm+MrK4s8kOASQycwQByqBV02/sHLzxaidsMkdL28T3R8nLo+6giHRn72rO2IHjjdYwHZjijqMzLrq0ovqj77MFabDBcgd8h17ysV3Wd6R/jWPcXOs3NypSfSzzx4S2ZHFjGp7Km8ebNfpUPWTd3KIV0SgYJbBta75n6E8gZp3Lt0ZVsXIn6Acst84gQOZ4wVafGnimE3YwJzA2ID60YL1QFBZOJQdbCbL37reXTIvY36TQTIlVG5Av+MJk2AE0D1mtugw49eZ2UMtTVP/Oq+4/XwmGewH4mU8h4lqdzqnGXVvJ6DCWUznF6XGZDPj1VpFeBWlooH2wSGhjR89KZFJKWZeS8lmq6zB6J7WksDXhhGGb4yjBf3jLBKH/iRcdlKfsOJ3s0Z/QTfcj4lpl8NcE3ZusTzEw1SXurklZ473qRWz+oF0imRemL3pUfR8CNPhZqhXE8W8WPiVDcX9YnajOToZJKNuHrNnXhvy0RhL9ZnAaElspbrwB33jUKBT5NoWDZVfqBdatO/ZI+vL8xHzT+lFOmc0EMpgivi7XmQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(366004)(396003)(346002)(39860400002)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(26005)(6506007)(53546011)(6666004)(2616005)(6512007)(83380400001)(5660300002)(4326008)(8676002)(8936002)(7416002)(41300700001)(2906002)(4001150100001)(6486002)(478600001)(316002)(110136005)(54906003)(66476007)(66556008)(66946007)(31696002)(36756003)(86362001)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d0NLeHBZbjJWZHg5RHVPd1djQ2VZVnZuT2YyZE9vTWZvdnhsUzNld2FYYVVC?=
 =?utf-8?B?WFFpSkRnd1huMjFtd1podkI2L2w4dDhlRy9EdTlwY2lrM0pQbVpXRDVTWVRM?=
 =?utf-8?B?cVlxYUlHQkVpMmlpRmQrendRRzB5RUp2UXRTK3dvRmVFK0FTamZpaVd5SnQv?=
 =?utf-8?B?YVU5S09UNWNIdHhDc01odmUwWHlYQThoYjFKWFNLL21HQ1cvTGVaeVNoSy9m?=
 =?utf-8?B?UGxQUm5rS1VONXA5N1FSaExTYUFKUGh4TjBudUNQQUxiN3ltdHlUYjFWdjgw?=
 =?utf-8?B?Q1FWcU41TS9HRDA2eWJxMCtCcDhmTG9jSjBPczZscGJnL2cyZ3NKMk91YWZB?=
 =?utf-8?B?YW9JNGM1d1hMRVIzTUxxV0M4Y0xjc1BkUkVMSVBvc0dpaHlRV0RyUEpmbG9z?=
 =?utf-8?B?UGlCbEpvZzJEVjMwS053Zk5oUUFsZWwxYXdwNlF3c1JhZHNXZUJOQ2M5bnNC?=
 =?utf-8?B?QWN4aW9Qa2J1akhWTTF2OURGOTdqcXVaSHR3WlA4ZmVWK2p2ZkExa0QrdGlX?=
 =?utf-8?B?Z0VmanpWNmNQNWJ2bzg3Y3lHcThwMXo3ekhtUVVVaFl3WHhRNmZxdzd0M0wz?=
 =?utf-8?B?T0pNaXp1bThxNTdGaGtndjNUZ2FFWVIxYkJyc2IrSzh0YkJBRGhZdEJhRytz?=
 =?utf-8?B?MEt2SkM2cEJ0M1RXSWt5WmswRzd5WU5TeUgrOTFXeHlvbHFpTkZreWRpMkhU?=
 =?utf-8?B?UlE4dTU3U0ZQcFZNQWVTWmRWMGd1dHBRaWUxT2hLMVRNQzlodHUydG9qZHFy?=
 =?utf-8?B?bkw3NTQ1M3RsSUpmRjVoYkphUFZ4a1lnbldCb3dtNFlIOVBHQVR2eTVabEk1?=
 =?utf-8?B?SjRJc2xjK2Z5UWdxSlRhaGdjSW5iQ25obEN4SWpobXRmOEZ4Zll5VERSL2Y1?=
 =?utf-8?B?bnVxNkNySVpHTmlhRU4yWmUveWdNYzVDOVlQRWNEUDZCcFJhQzArVVdvRytM?=
 =?utf-8?B?cExEb3MrcklzREVueUJXS3p6U08zZWNVY1RobDVqV1hYRGp0KzZmY1pyT3VJ?=
 =?utf-8?B?RHI2NWRBZlhSM1lmK1htVUtPejNWdzF6dzdnWnJkMGk1NFhqT0hqQjNmenJv?=
 =?utf-8?B?V1NyZ2ozYU96RjVvUjNrNHFVZGgzZ3l3WXNhTkJkUzBWK2tQek1MV3R5eFNj?=
 =?utf-8?B?dHJhZ3NjQ1NhNW9kUlN4TXNTOW4zQnd4UlA5TURVU1pKeExQc3FnQ1NEbjBj?=
 =?utf-8?B?alBHZ3lJYkdOcjRYRmE0V1Rycm5mVDFJdkFpb0h0SW5HaWoyeDJyZzhyRHJo?=
 =?utf-8?B?cDIzdEc1Qm1kcitCMlY3QjJ2NFJNcjNhRWdWZlVCUVQ0TUEzMUxKbGNoQkt4?=
 =?utf-8?B?UVFtajFIOHBtdlZERFJaVEhxbDI4REdzdmlHaE5vV3NFZmRtczVaZVgvMVhU?=
 =?utf-8?B?c3ltUDcwOXhESjhSeDFQMmxSOWNPd1YweE5BQjg3WkNlOEI2QjhXdWZER1VU?=
 =?utf-8?B?bzlKTXhESDdkemJOUER6VnBFVDBmQ0Q2U051bmtnTUZhdDRyVytTUVJmdjU5?=
 =?utf-8?B?UmI2WCtIZFJBWFNEUDVvRis0b2VKTFN5ZElLSllHQ3BNa0VBK3VrWnFXY1Nx?=
 =?utf-8?B?Wll0MHNhMld5dDdaMURrb1prdU5vWHI0dTNyRXF4Z09lQ0dLVTdPdEl1ZElY?=
 =?utf-8?B?Y1U4czdMamhYU0c1SDk2VlVYQ1pOQjdJSjRXWmVhaXF5L2h3ZVBmV0JJYzh3?=
 =?utf-8?B?eU9OVHNjNDcraTd4a2l4aXhiZndJU0p4bTZoTlBEcDE3MmhoUGJNZWVSUUJy?=
 =?utf-8?B?cWFXOWN6VHlwcGdZTWtWWm95ZDVVazZDdkNtWS9RUGN1T1RzcFRsaUpTYmxR?=
 =?utf-8?B?emdaS3Flc1EvRUlGbkREUUFYdE5JQ2l6WE5xNU10N3loVURRS3dBS0QvQW5C?=
 =?utf-8?B?clJ2UENvUElGeE1yeGtVTXhzOFB2Tk1oVzRpeVdwMUgwb2tydmVtMnRkaXRa?=
 =?utf-8?B?OFh6ajJyeWtWTk9DVnBnWS9yeEE4VnROY1Vpa0F5ZnJLUkUrVS9NL3p2L3hU?=
 =?utf-8?B?V2g4N1BydVJJWGc5a2dmVGhBa3ZocE1QQVdqUk5tTXZnNUJ4MDNWTDlEdUZl?=
 =?utf-8?B?NzFpUWV1cU9CeWluYURVcFJtYmxsdE84cTRROUF0V09FbGROMUdnVllveVND?=
 =?utf-8?Q?WZTZb7U6pB2zUz5TbM3jJVCn0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d883d98-ab28-4117-f42e-08dbe67dcdb6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 08:27:00.1135
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: okJ9Ofich8EGmcaT8mxAkcFXHlbrk1wUMCkk1Z0i3tZ+RlSdDVJVqY9UPCth7gJd4BU2rcapwDwm6kGPXOi94A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7366

On 31.10.2023 11:20, Jan Beulich wrote:
> On 31.10.2023 11:03, Nicola Vetrini wrote:
>> On 2023-10-31 09:28, Nicola Vetrini wrote:
>>> On 2023-10-31 08:43, Jan Beulich wrote:
>>>> On 30.10.2023 23:44, Stefano Stabellini wrote:
>>>>> On Mon, 30 Oct 2023, Jan Beulich wrote:
>>>>>> On 27.10.2023 15:34, Nicola Vetrini wrote:
>>>>>>> --- a/xen/include/xen/macros.h
>>>>>>> +++ b/xen/include/xen/macros.h
>>>>>>> @@ -8,8 +8,14 @@
>>>>>>>  #define DIV_ROUND(n, d) (((n) + (d) / 2) / (d))
>>>>>>>  #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
>>>>>>>
>>>>>>> -#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
>>>>>>> -#define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
>>>>>>> +/*
>>>>>>> + * Given an unsigned integer argument, expands to a mask where 
>>>>>>> just the least
>>>>>>> + * significant nonzero bit of the argument is set, or 0 if no bits 
>>>>>>> are set.
>>>>>>> + */
>>>>>>> +#define ISOLATE_LOW_BIT(x) ((x) & -(x))
>>>>>>
>>>>>> Not even considering future Misra changes (which aiui may require 
>>>>>> that
>>>>>> anyway), this generalization of the macro imo demands that its 
>>>>>> argument
>>>>>> now be evaluated only once.
>>>>>
>>>>> Fur sure that would be an improvement, but I don't see a trivial way 
>>>>> to
>>>>> do it and this issue is also present today before the patch.
>>>>
>>>> This was an issue here for MASK_EXTR() and MASK_INSR(), yes, but the 
>>>> new
>>>> macro has wider use, and there was no issue elsewhere so far.
>>>>
>>>>> I think it
>>>>> would be better to avoid scope-creeping this patch as we are already 
>>>>> at
>>>>> v4 for something that was expected to be a trivial mechanical change. 
>>>>> I
>>>>> would rather review the fix as a separate patch, maybe sent by you as
>>>>> you probably have a specific implementation in mind?
>>>>
>>>> #define ISOLATE_LOW_BIT(x) ({ \
>>>>     typeof(x) x_ = (x); \
>>>>     x_ & -x_; \
>>>> })
>>>>
>>>> Hard to see the scope creep here. What I would consider scope creep I
>>>> specifically didn't even ask for: I'd like this macro to be 
>>>> overridable
>>>> by an arch. Specifically (see my earlier naming hint) I'd like to use
>>>> x86's BMI insn BLSI in the context of "x86: allow Kconfig control over
>>>> psABI level", when ABI v2 or higher is in use.
>>>
>>> I appreciate you suggesting an implementation; I'll send a v5 
>>> incorporating it.
>>
>> There's an issue with this approach, though: since the macro is used 
>> indirectly
>> in expressions that are e.g. case labels or array sizes, the build fails 
>> (see [1] for instance).
>> Perhaps it's best to leave it as is?
> 
> Hmm. I'm afraid it's not an option to "leave as is", not the least because
> - as said - I'm under the impression that another Misra rule requires
> macro arguments to be evaluated exactly once. Best I can think of right
> away is to have a macro for limited use (to address such build issues)
> plus an inline function (for general use). But yes, maybe that then indeed
> needs to be a 2nd step.

While I've committed this patch (hoping that I got the necessary context
adjustment right for the automation/eclair_analysis/ECLAIR/deviations.ecl
change), I'd like to come back to this before going further with users of
the new macro: I still think we ought to try to get to the single
evaluation wherever possible. The macro would then be used only in cases
where the alternative construct (perhaps an isolate_lsb() macro, living
perhaps in xen/bitops.h) cannot be used. ISOLATE_LSB() would then want to
gain a comment directing people to the "better" sibling. Thoughts?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 08:32:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 08:32:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634034.989250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3XnL-0001pe-Ol; Thu, 16 Nov 2023 08:32:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634034.989250; Thu, 16 Nov 2023 08:32: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 1r3XnL-0001pX-M3; Thu, 16 Nov 2023 08:32:15 +0000
Received: by outflank-mailman (input) for mailman id 634034;
 Thu, 16 Nov 2023 08:32: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3XnK-0001pR-CU
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 08:32:14 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20614.outbound.protection.outlook.com
 [2a01:111:f400:7d00::614])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a37c420a-845a-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 09:32:12 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7366.eurprd04.prod.outlook.com (2603:10a6:10:1a0::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.9; Thu, 16 Nov
 2023 08:32:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 08:32: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: a37c420a-845a-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=j/6dG6hfZ+FvRP6BkEAGU6UguXaahEFruull6CV0R86MtBJsdnu+wRL7/EdGEt37Kj2bZQoJCVClVvep/V/iY3CSS0kJ3dS+G/hsxust/w48qLlzMn2uctvYMjCkqcd+ULXo3xzCyqpjF9m2PqTGOkqX3JMkt0f84dP26539EfaDs5+lrpKVN2bMMMvEI8pgRVc0rnPQDwf8xM5p9OnBj2Nysty0ourDzrBQUHYU+2I+LtH386oAkBGUHlvwn0IY6rBf9mreu+vTokecfQHIhU4pq9jf6w6/+xYVpYIhug8aWO4kQUrcL1SS3gi25D5U9lCJxk0RKxN88IrPiP9eUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XQt8Fms0kzXesOnd+BROkx9NgOwd0c8YNvuIHoNMbAI=;
 b=RM8SKjKXxV6Ddu9Tov3KSgRfYlv65SrEGGMGgLGZq5OlgVhApBTVNgrgYW1/Sc+vYm2Ofj1J7CS9poDts6j17Q3Rbm4bsTlRdtBsglpTmj2ag17Lz/cWlYBNO0mlKioOe3Ig9yHTEkiUP3RnOGSAmKwQNv2VXmin5wKHvljj74qS849XuG3z51HgDdxuEKwZyrf+wMXQnGNrC4dVElWbFfPnIaR9KUR/Jwoz8AffgHDVx6AXjb5YRbC52wsYjdAnEN951o1WoODf9FTEbxBm+KwcmwI4L89ZtHuqZVPyoT8Qx5Tk71dhGns44Xs4zaAlso5DKz3AYyTAZGBdEUPCuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XQt8Fms0kzXesOnd+BROkx9NgOwd0c8YNvuIHoNMbAI=;
 b=o8r51PEfUmbgpUQ7MO+qByRTdBNKJ4PUJq5S7X6q7BfVPISWW/iFErUBLAVa3iqJI8Ub+5dc32ijUEWmb7Pr07xdgnG2gIZMTmlrXLzPhLmyT+2JbaMsLhMo0K1+Ft233pCnJbrphIAMREeY6MNnChnuf4g2oTZhPwT7RuvcaJ1T2i/Jgw/+kbFkoRwKFxNGldHMuflHLk7PAKfeuz1SjTgqomF1rKXv0OsCs0gSvSa3LIoZQqWMf6aKA5Bb5Jw44bozf1wIRZ55LX9Q4Ir6B6Bdkxx0jWiS5+5IVrtp1dIkDjezNgMSSyGPsahgoA1WmabeUNwYeobC6PsheHUK+A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a64fec3e-0d60-4495-aecc-f1fe44627234@suse.com>
Date: Thu, 16 Nov 2023 09:32:07 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.18] SUPPORT.md: Define support lifetime
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 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>,
 Henry Wang <Henry.Wang@arm.com>
References: <20231115121632.63868-1-julien@xen.org>
 <AA42890F-2B1D-4DCA-939B-4F7BCB073891@arm.com>
 <c010e6c5-f352-46da-bb23-cd668de6a0a8@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c010e6c5-f352-46da-bb23-cd668de6a0a8@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0135.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7366:EE_
X-MS-Office365-Filtering-Correlation-Id: 428e0069-2265-4396-772f-08dbe67e8642
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/wnY9yL+tfBDsV7umTfNDquacM02A4ZuNrpvdQfjmK6o2W+Wa89T8FGQGdjOXRWVG0AIGCa6mvXpsZtRbbyfvjaOrW1f9d5jwh1hi5CgTr3JIhf/OzBgU4Jdg+HS458LxuirwHPb100k0MD4+ew7S38//1t6JOTpP1I7s1bG8WLLem5Ttvww5D2vMkYGwU4bDG14ZFjHcvdPBLA+JV6j/LNlqZMj5jYEfJVucMfAj45r5XSu3Vp82BGwGG6hkMnNVYWVNQN/E6Zp70vzi822vF57tKvLctqPvajFt7wNwhAkM3U1k+oJh6SWfjfLqlgedUgUYyiEPV7rV1TmFazwoRzZO3jKDwXCWRQWNHkQNtyISvnr7m+izxCIZ0fvwYW/k79HQJCxnyTAnpNqsPf97PRG84+Q3p2oo/ef04wmaOzu42BTyYMD5g6JC8jq7zPkkvd1DbuphqOblev8ioEDY1WS/5prKJr9bSHsktfo1meGVfGlWkfx26SccSCS1UFZJ4etWk7pYhqfSfIZY2H3/GUv2CfWitwMZq+YNF/1fPTKXZtIHYD/OVIWgSVqb4GjcEjLMPzqdrDqoDpQeidRkhCfuJNFqWNXT2ToKHm1c7NSI9wWayoKnaJUnJE1J70VIzY/xy63/ZKHGx51Px1NiQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(366004)(396003)(346002)(39860400002)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(26005)(6506007)(53546011)(2616005)(6512007)(83380400001)(5660300002)(4326008)(8676002)(8936002)(41300700001)(2906002)(4001150100001)(6486002)(478600001)(316002)(6916009)(54906003)(66476007)(66556008)(66946007)(31696002)(36756003)(86362001)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SWJCT0JtVlhrZi9BalJsYzdKN2NzNmQ1RjhVQy9pYXJQNXJ6Qll5YWpVd1JE?=
 =?utf-8?B?UWwraDhrdFlvMzVISk02MHV5bUtWVGJqNndtMGdTSDR1cVVEbGt5a1ZudmZC?=
 =?utf-8?B?RHZ0dHRSdnRvajlqTkYwZEd0M2tjUmZCZE9EVUNKN2ljU0tVRExHTnRxVm1o?=
 =?utf-8?B?SmRMbldwUXdkVlQ5clRVb2x5Q252aVc2T3R3emh4RlJEZjhpd2RwTG9nQVgy?=
 =?utf-8?B?REcva1pmbHlOMkdBU01FYzIrSHoyZ0d5dHlzN0dsc3JhUWZZcUZTMkRzK081?=
 =?utf-8?B?NkZ3TXFwRHlLS3Qwd3hsV2M3UnF5dUp5bTFkZ2xxYUUzQUJrb2pwK3dhZnk3?=
 =?utf-8?B?S3VYMS9Wdk90VFpOUDlvVzN3emk3bTVXMDhDSjNWQjl5QjZVcVM1anpxd3FJ?=
 =?utf-8?B?SC96T3k4NVRQblY4TFowdjdvNVFNUEU5OGpvYjZyNFlGbVF2bGxvTGFGbFZv?=
 =?utf-8?B?b01YVS9mS1NMTE1PaXc3cUFobWRYeW9UYlJ3aTI0UXZWZVVJWU1pTmRJOGNt?=
 =?utf-8?B?aExEZDQ1VlozL2ZDbEgvNjZ4WWZEMW1FM2tIc0dOclREaXF1WnNwN1hLS2RL?=
 =?utf-8?B?RmJFS2dvRnZ2OVBlUE5aZThwSFdYemJzN1ByK0VaaTFJVGRIdFBQZmZUSFJz?=
 =?utf-8?B?YkVTckdhTFZqRUM5eDd2eGI4NlIxREtONlA4QTdmUnZmenNkeUdRVXZTT2tW?=
 =?utf-8?B?cTlNSDh4b2U0NzVKQmw3cHE4NGpKVTZ3WjBBWlQyMUJ1Z3RyOU9KbVdjeXpT?=
 =?utf-8?B?Y3VEaEJIVkpvSWUxbFVKS0ZsNDhaMllNV2x4Mis1MmROcXJlZEZXVjF5dmtD?=
 =?utf-8?B?YS9rdnoyMEROaUJLbFZpTHdOSXdpOFVhRGR6azBOVGpaeUV5MzJzVWIvZXZt?=
 =?utf-8?B?eTduNU9oSXo5VHJNTm8zTzVrQmFKN2U1T1JwYktCRmxoQVo1SGdXSzZYbzhw?=
 =?utf-8?B?YVRLY2VOSkdQdjkrRWp4aEdDMzNJMG1aQWJadWRVOGpnc2g1MUJKa2loMlVa?=
 =?utf-8?B?VlpRZ2JmL3VDeVpTOXZSM1lZdXJyK3hTR3BnNzdyRmtKK2NzUzVYWXExc3c1?=
 =?utf-8?B?NFA0VEN4UWw2SkhiWEtRMUhZRDFMTFdLQnFPMTVnTEIyZW0wTXljNE9saXFO?=
 =?utf-8?B?NFFiYnZwalhRNGZsSFZCWllMNlBJUlZYeGluWXZGQmxicnlMMENHQ2xONmFK?=
 =?utf-8?B?QzV3L1dycHVCeUkyUXRpVWxMNE5PTDRXY1hIUWFUY2pYRU5FbFhRMldkdDZM?=
 =?utf-8?B?UU1MeVRnNTJBWUR6SzdSd1lZQXdYTFVubHNQaUZHanh1eFMwMUg4ZHdDVWlU?=
 =?utf-8?B?WE9KY203Ti9iY0pBVmVsbHc3L3VnaUtSSzJHNDNZaENoRms0NE5kdUczaFF2?=
 =?utf-8?B?anoxQWZaMys2U2k5T0VPSlZWd1ROQ3kxYTdRWXQwWEs2UUVBUEF0OXRib2Jn?=
 =?utf-8?B?bUt4b21SNTIxNTBBOC9xNUdTM3dUSC9wSlUyLzhzVlhlRExxNG90UGVucGtT?=
 =?utf-8?B?VWtac0ZIOUxQTWtzWm9WdjRoUnNFaFkyRGNmajNQZkdWc2d6Mm93QTYwMlZU?=
 =?utf-8?B?VGRubkdXekZkUEl3WjNOdTlwT2VpaUlDTytnZFpkT1lEMDJINGl5dnhVRG12?=
 =?utf-8?B?b09YSDBZck9aa29vSUFJY25CNGtkTExMUzZEdU5jSXBHYk9PVEZBcHFFL1o1?=
 =?utf-8?B?R0dXaXZtbDZ2WmlPS1NGblg3a2c5bmJaRU94V2k3Sktld0liVFVHcUQxcDZ3?=
 =?utf-8?B?VkZJajBjZmFOSVR2MEtiaFdnZXJCUnFscXlWK1lnbUY3TzA1bHVhdDEzRGVm?=
 =?utf-8?B?bFc0czBZZFQ1S2g3WmlsOEcxY2pGU2dKUU5UbFA2SlhCckF6NSttaGc4TEJ1?=
 =?utf-8?B?NGVmM0JxSlhVT0h5TGhkTXNna29ZVHQwUFUybTNCUWNqdkpxTDdCZHRGbUlk?=
 =?utf-8?B?YU10MjVZd0ZhbWREbzY4bUZTTDltUC9Sclp2RkU2emtMUGpEbHVBMTdJbkhO?=
 =?utf-8?B?SjlQbFhmU1FIYjVYK1FzVENsZHVDQnpuV2JIeWNFU3ptR21tbGVsWEE0ZmxN?=
 =?utf-8?B?K05ySUE3TEZNT2JEV25zUDdabklaN29rYTZUM2k3N0FUeitYc2thdzBOU0Vk?=
 =?utf-8?Q?cWtlN6frMwrMfbuamJNRZ0fna?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 428e0069-2265-4396-772f-08dbe67e8642
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 08:32:09.7244
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: slOTe5Lhx+nN79ZChOXB3T0MveuO1qbdwvcRLgqTJ7OeOlWS/T7j7QICksqIc+yoAKa5/JcwbH25w56Xa4lxzQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7366

On 15.11.2023 13:35, Julien Grall wrote:
> Hi Henry,
> 
> On 15/11/2023 12:27, Henry Wang wrote:
>>> On Nov 15, 2023, at 20:16, Julien Grall <julien@xen.org> wrote:
>>>
>>> From: Julien Grall <jgrall@amazon.com>
>>>
>>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>> ---
>>> SUPPORT.md | 8 ++++----
>>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/SUPPORT.md b/SUPPORT.md
>>> index fff4b4c5bad6..c452635eb552 100644
>>> --- a/SUPPORT.md
>>> +++ b/SUPPORT.md
>>> @@ -9,10 +9,10 @@ for the definitions of the support status levels etc.
>>>
>>> # Release Support
>>>
>>> -    Xen-Version: 4.18-rc
>>> -    Initial-Release: n/a
>>> -    Supported-Until: TBD
>>> -    Security-Support-Until: Unreleased - not yet security-supported
>>> +    Xen-Version: 4.18
>>> +    Initial-Release: 2023-11-16
>>> +    Supported-Until: 2025-05-16
>>> +    Security-Support-Until: 2025-11-16
>>
>> I thought we have a 3 years’ support lifetime, so maybe it should be 2026-11-16, but not sure
>> if it is still the case.
> 
> Hmmm... You are right for the security support. I didn't do the math 
> properly.
> 
> So it should be 2026-11-16.

Assuming this is the patch you said on Matrix you want my ack for, with
this adjustment
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan

> I can adjust on commit. I think the other 
> date should be correct. For reference this is what we have for 4.17:
> 
> +    Initial-Release: 2022-12-12
> +    Supported-Until: 2024-06-12
> +    Security-Support-Until: 2025-12-12
> 



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 08:45:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 08:45:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634038.989260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Y03-0004W2-2N; Thu, 16 Nov 2023 08:45:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634038.989260; Thu, 16 Nov 2023 08:45: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 1r3Y02-0004Vv-VX; Thu, 16 Nov 2023 08:45:22 +0000
Received: by outflank-mailman (input) for mailman id 634038;
 Thu, 16 Nov 2023 08:45: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=RqoQ=G5=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3Y01-0004Vp-Uo
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 08:45:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 786f5d9b-845c-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 09:45:19 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id ECE9F4EE073F;
 Thu, 16 Nov 2023 09:45:18 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 786f5d9b-845c-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Thu, 16 Nov 2023 09:45:18 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, bertrand.marquis@arm.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
In-Reply-To: <ecbfa46d-2e0a-4685-9695-f7de37e7b6ce@xen.org>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com>
 <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
 <f63fa9b5-a821-49d4-88f6-7d991ab6c644@xen.org>
 <1689d4b47d708098c43601a58e867f1c@bugseng.com>
 <ecbfa46d-2e0a-4685-9695-f7de37e7b6ce@xen.org>
Message-ID: <fd6f51afebb9fd90531e30289eb99d8c@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-15 12:22, Julien Grall wrote:
> Hi,
> 
> On 15/11/2023 11:02, Nicola Vetrini wrote:
>> On 2023-11-14 23:12, Julien Grall wrote:
>>> Hi,
>>> 
>>> On 14/11/2023 15:36, Nicola Vetrini wrote:
>>>> To be able to check for the existence of the necessary subsections 
>>>> in
>>>> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a 
>>>> source
>>>> file that is built.
>>>> 
>>>> This file is generated from 'C-runtime-failures.rst' in docs/misra
>>>> and the configuration is updated accordingly.
>>>> 
>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>> ---
>>>> Changes from RFC:
>>>> - Dropped unused/useless code
>>>> - Revised the sed command
>>>> - Revised the clean target
>>>> 
>>>> Changes in v2:
>>>> - Added explanative comment to the makefile
>>>> - printf instead of echo
>>>> 
>>>> Changes in v3:
>>>> - Terminate the generated file with a newline
>>>> - Build it with -std=c99, so that the documentation
>>>>    for D1.1 applies.
>>>> Changes in v5:
>>>> - Transform and build the file directly in the eclair-specific 
>>>> directory
>>>> ---
>>>>   automation/eclair_analysis/build.sh   | 21 +++++++++++++++++++--
>>>>   automation/eclair_analysis/prepare.sh |  7 ++++---
>>>>   2 files changed, 23 insertions(+), 5 deletions(-)
>>>> 
>>>> diff --git a/automation/eclair_analysis/build.sh 
>>>> b/automation/eclair_analysis/build.sh
>>>> index ec087dd822fa..f24292ed0643 100755
>>>> --- a/automation/eclair_analysis/build.sh
>>>> +++ b/automation/eclair_analysis/build.sh
>>>> @@ -33,12 +33,29 @@ else
>>>>     PROCESSORS=6
>>>>   fi
>>>>   +runtime_failures_docs() {
>>>> +  doc="C-runtime-failures.rst"
>>>> +  builddir="automation/eclair_analysis"
>>>> +
>>>> +  cp "docs/misra/${doc}" "${builddir}"
>>> 
>>> Is it necessary to copy the .rst? IOW, would it be sufficient to 
>>> use...
>>> 
>>>> +  cd "${builddir}"
>>>> +  printf "/*\n\n" >"${doc}.tmp"
>>>> +  sed -e 's|\*/|*//*|g' "${doc}" >>"${doc}.tmp"
>>> 
>>> ... docs/misc/${doc} here?
>>> 
>> 
>> I didn't want to leave a stray file under docs/misra, but it's not 
>> essential.
> 
> I am confused. I am suggesting to use:
> 
> sed -e 's|\*/|*//*|g' "../../docs/misc/${doc}" >> "${doc}.tmp"
> 
> So *.tmp is still created at the same place.
> 

Ok, makes sense.

>> 
>>>> +  printf "\n\n*/\n" >>"${doc}.tmp"
>>>> +  mv "${doc}.tmp" "${doc}.c"
>>> 
>>> NIT: I am not sure why you need to first create .tmp and then 
>>> create.c.
>>> 
>> 
>> Wasn't this a pattern to defend against interruptions of the build, 
>> just as I did in v3?
>> 
>> +$(TARGETS:.o=.c): %.c: %.rst
>> +    printf "/*\n\n" > $@.tmp
>> +    sed -e 's|\*/|*//*|g' $< >> $@.tmp
>> +    printf "\n\n*/\n" >> $@.tmp
>> +    mv $@.tmp $@
> 
> Yes but it makes sense for the Makefile because the target would not be 
> re-executed if *.c exists.
> 
> But I don't think this is the case for you because you are using a bash 
> script. So your function should always be re-executed regardless on 
> whether it was interrupted or not.
> 

Ok.

>> 
>>>> +
>>>> +  # Cannot redirect to /dev/null because it would be excluded from 
>>>> the analysis
>>>> +  "${CROSS_COMPILE}gcc-12" -std=c99 -c "${doc}.c" -o "${doc}.o"
>>> 
>>> NIT: It would be helpful to specify why -std=c99 is used. Above, you 
>>> suggest this is to enable D1.1.
>>> 
>> 
>> Yeah, the comment in the changelog should be pasted here
>> 
>>> NIT: Can we define CC and use here and ...
>>> 
>>>> +  cd -
>>>> +}
>>>> +
>>>>   (
>>>> -  cd xen
>>>> +  runtime_failures_docs
>>>>       make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
>>>>          "CROSS_COMPILE=${CROSS_COMPILE}"         \
>>>>          "CC=${CROSS_COMPILE}gcc-12"              \
>>> 
>>> ...? This would make easier to re-use the code.
>>> 
>> 
>> I don't expect this build script to be changed much to be honest, but 
>> if you think
>> this is beneficial then it's ok.
> 
> This is not only about code evolving. It makes easier to spot your are 
> using the same compiler. I would not have made the remark if you were 
> using 'gcc'.
> 
> But I noticed you were using gcc-12 and originally thought it was a 
> mistake until I saw the second use.
> 
> The advantage of a variable CC (and CXX) is you can add a comment on 
> top why you are specifically requestion gcc-12? IOW, why is gcc not 
> fine?
> 

The assumptions in C-language-toolchain.rst (which are reflected in the 
analysis config) are using gcc-12 explicitly; that's just easier from a 
certification perspective to have a fixed version.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 09:02:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 09:02:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634044.989269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3YGo-0000Zd-FJ; Thu, 16 Nov 2023 09:02:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634044.989269; Thu, 16 Nov 2023 09: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 1r3YGo-0000ZW-Co; Thu, 16 Nov 2023 09:02:42 +0000
Received: by outflank-mailman (input) for mailman id 634044;
 Thu, 16 Nov 2023 09:02: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3YGm-0000ZQ-Nn
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 09:02:40 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e38e7632-845e-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 10:02:37 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8603.eurprd04.prod.outlook.com (2603:10a6:20b:43a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Thu, 16 Nov
 2023 09:02:35 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 09:02: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: e38e7632-845e-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IpRF7xTn2y031mRkvKH41Um75HOPJL8EgV1uVnZCKRPtdSZOHdevykEzfc1e6O04p3QU02rfCrd/YAyVxFxOYRqoip3LzYQRT6UNLujxGFkMc547iRPxmtvnpY+bZwUf3+r2tPYe12NLea9UwZag3ZPkIh+zCS/uO+ndVOA6QOGrWCT/27ZMYFawaIwYYTtH8/djRdn75UEtoswfG5QaVf807b/6nIYi9N/GYROuEjjz6D8L5uIVCPrPx72tpYMcnKj9Az8oUaz/BDx0TvEfmJL0Sm9ySE5kzQiecKqSakrFdpI7CJZ0Hns1wNva/dnoJR9rURNCJjFvNQlXv6IwNw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=N1TlKT31mJg1IgSmqjAkHVidRj94x4a7+YgkZYt3M2g=;
 b=PD6qR6ZUt79HdvITv4po8Hy0f9HfSxPN72wiw2JKLzA7WBOw33vhaIJK8rqm2gt/PySJ4Ec4Gms8x1Ysk7PdoL5boFp/KA1vDd/5pbn8Y7Z7M/espcXDx2pJmyLyvd7EXqLEwEYHUGMDxeArqZtHoyhGCF5Ho9rnZC3HTDvMe8PMS3dKlx4VrPXI1Jg1u1lP6Icj0Egpk/2Fkg0uNqg1LECCrnBsUnelRITSLRVWL7tORxZrjOvDSh1ZExoKVOeSLDx2soExMmyMzXs/P0HXZTUOwdwTk8SaZPbYdR8c4whowgVgbVBFEXck2BkqLehO5TdtEiDuBbd2UFSRVNvc4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=N1TlKT31mJg1IgSmqjAkHVidRj94x4a7+YgkZYt3M2g=;
 b=YXx1X3Wzy/nkLWb3cFNn25+D21c/eo8vZHqK6ZxLVQCPy4UocFhMmU2AQW7TJ10e540CI3ylBzLehNJjA1RS+pgJiVCzdcXtzzdxitt7OygSOL59p1RvhMLvlbsuG9mMpAsl7UlrrmDFpIb7Sal4+G4OqNR7G5nWfZT+i3L7YtIZZlVjvxD6GTLhAWtQ7wkx4PH6m0uFEGicNW14YsvRtlZyf/GXuAWXr0J6X/N2TbUBWRTjgys7knreN38lZ7Gx92dtjgMGnX21Y01KOhW/VQ+04qiCBjobUlPPiAoboPQ6UUqEWmuIrr8ZpMO0hM2tl+felgrhKuc81L7YGzj8EQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9f9772e8-0c30-4d9e-92af-2ad66f28857f@suse.com>
Date: Thu, 16 Nov 2023 10:02:32 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>, sstabellini@kernel.org
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Julien Grall <julien@xen.org>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com>
 <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
 <f63fa9b5-a821-49d4-88f6-7d991ab6c644@xen.org>
 <1689d4b47d708098c43601a58e867f1c@bugseng.com>
 <ecbfa46d-2e0a-4685-9695-f7de37e7b6ce@xen.org>
 <fd6f51afebb9fd90531e30289eb99d8c@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <fd6f51afebb9fd90531e30289eb99d8c@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0023.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f1::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8603:EE_
X-MS-Office365-Filtering-Correlation-Id: 6e8880a1-090f-4b7a-1f38-08dbe682c687
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Gux1tJT/NYP9EbenW6s28asNrvdT+HYAENtES9O46S85xUE0gxGLXPSb5B4AaEP5la4/ZUTYCA36riF3pJKDrJSZBi2KpdbYDVv9XaHpq6csO0cIx/HsViLahrjY4G6vMhcq1pr5NL4dgi1P0XexSEfjiJx7i7kU+sINWZjb1YG9QovtR1XlYA/idZNKau8Fqm/Ez59Rea6VmMUcFFtYIZ/9v5wEVhc337Kvv3RBDyemZ+DdhEBZhV4Lftmeg+OSPjyDUCB5tZMByjJ/8LydzPOZTx9+IQEofjyC/jIq1k6wNPL3aUz2/NtP1wy/zXo3CTi/VJRGLBcKlOHmba5b11FGKpYVxuLe7qaiuBrj8fZo9QF9xiWVwWBe9qb6NqDpqubKFWVTBmT2aXPMr+JhuFmfwB4PXhWr80BqT7EoSBCc5j7jjs4Z4HF0/FQPzunUqGVOC3Fr03Ok8Rm9y2JtDMoKv8frP8zitjknjKt8O1O5xn1V+EtSiYQgZ4RKColPkfmI/M7z4v4qTFc1f06ltHS9F4inH/Kh1jGxbgnqOkqRXlMGpPB+/t64skbYZQ8hZlPHHmbZ0UjPZZR9tY61GLi5xGAG3Mgs//H5LGGXJnvHcNaY94kv/0vRB3wnBNFfNiVUnBJuPcovTjM4EZCVyA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(366004)(39860400002)(346002)(396003)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(86362001)(6666004)(2616005)(26005)(6512007)(4001150100001)(31696002)(6506007)(53546011)(4744005)(66556008)(66899024)(66946007)(66476007)(316002)(54906003)(478600001)(6486002)(4326008)(2906002)(8676002)(8936002)(36756003)(5660300002)(31686004)(41300700001)(38100700002)(83380400001)(7416002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ditBOWdsRzFMZWpLb0dwRm16eFlBc1FmeGUrd0d3Nlo4OE9zcmN4WUMyeVVt?=
 =?utf-8?B?K0dpTjBScWxHd0czZWc2Y0tPNFNpakN1V2J5L2VyZU5nUSsydWZPOWhLMStz?=
 =?utf-8?B?OXNiRXArdUpHVnYxZkxGRWdRMzFTUUx3bnNPdDFlWlorNDlYWmxpVzQwaXVj?=
 =?utf-8?B?d2g0aVAxZGdjZHdMNzMwTnN3cTdMZlB0d0JSYjdydWJnV3FrZ1hURkZZSjdn?=
 =?utf-8?B?emtOSHdKcHNENTE1NDRuejZrNFIrWUoxOHd1K3Ywb3MrMEhHaWliRDI1UmVV?=
 =?utf-8?B?ZUlod2ZVbElNYXFaU1g0eDIvYit3R3FaT1ovbUEvRTFyYlgxNnhwUGtSdERk?=
 =?utf-8?B?TlVVL2FqYU51QnBjS3pDQnpwMFpXZ1VoeEFCZk5vTE1UVldKejBkTk14U25X?=
 =?utf-8?B?cUt0K2hJckxBdGhTTmYwMSttazR5bTIzQk1DcStkWDNXa1B2MVRTSFVTYnUx?=
 =?utf-8?B?QkpCYkNtRnpFNTBEbVFvSnVXRDhFYU4rQWh0RFNudUVRaHBlMUNJbmJaTEZB?=
 =?utf-8?B?UnNESzNDNmphdmZJQjVHUXhBbHk0eVgzTmE2VTM5dXNSSURCTU5OdG40ajBx?=
 =?utf-8?B?K1FiZ2M5YklNNWh1anl0VzA5dXdqck9ucVB3WVFGUFpRcEYrWkcwbEVPcDEv?=
 =?utf-8?B?MFRJNXFOUmZjSE1LcmRWWDdFZ2d4bkZjcUttamtRV3ExSmdtTzJoemJVNUtM?=
 =?utf-8?B?UXhrZDdIem53Z2l2eEY5TWtvb1VsNlhFVFNET01JV0J0blFlMjg3MWdrR3or?=
 =?utf-8?B?MlJFbm00L0VxRjhHMFUwV1hQM2l2UFVTTEJnb1dZUjhxTHdWL1dsdmtHLzdv?=
 =?utf-8?B?SHhabStPdVo2bk9OazlENVh0SUJPQXFyVStjRXd0L0krVGNCREFwZUdzNVhx?=
 =?utf-8?B?WjV3QWVQSW5CKzNidnRhdU5odWlUT2hNYkp6bFBzZi9CdFpNbUJhOWJKS1Fl?=
 =?utf-8?B?RTlTS2tibWQzWUt4aFpodjlHK01NeGhyamFqWmxVeXR3TVVhWU5KV014MU9h?=
 =?utf-8?B?UzRZb1QwRTdzY1pxd3NxVGQ0dnFIaWE5cXdtRk5CMnJ4M3dDMGgyeGVHTTdx?=
 =?utf-8?B?aXFVQm5JNW1nRzk2MWxlVmRKTUp5RGRtc3h2bC9pSmZzRGxreWpIUnFjenlC?=
 =?utf-8?B?ajlVMmdPdU5oWENVakRWNzFmMk0xbzNLRndyb2JhdE9JckwzSnhrVmJDb2Ji?=
 =?utf-8?B?b3IwZlRxQlkvUTdPY3gyUEUzUGwwcnArNFpqVytqUUZhRTllYjlaSkFRZ21n?=
 =?utf-8?B?UTczelJlOFpyTVhYdlhGMTl6ejNzOU1vQ2tmVW1PWjUwRkhmOUdHaTNzaGF5?=
 =?utf-8?B?bkplMllGWkdyUVNQN0FQUk42cnU0amtzcWU4Zm05Ui9YN2Zic1FYS1Y0TVo5?=
 =?utf-8?B?cnpZWEtRZHoyN1QyTGdEWUpITjlNbks4VlZLMmE5a0poc1AyNFVZQ2dZdGZn?=
 =?utf-8?B?bmNtRDJSZGNUSjAxYy94MEZqS1ljWmZNcFdyZ1h6cTVNUzBhWVlCMlk2YjBs?=
 =?utf-8?B?MmFWaEFnVno1ZGkvZEhiYWZYeVlGd2Vxa0RFeGFRZnh0VjhPZCtDQTR3T0JI?=
 =?utf-8?B?enVKR20rVWZtWnFzVkVnTkpjVHZhc09ickhSd0FHeVNkQXVkMkZXamdaMlNy?=
 =?utf-8?B?aHdWUFZJUU9UcjVSYzZnTTdiei9xd0xLd2RzT3pjN2JkVy9nY2NBdG1UVjky?=
 =?utf-8?B?UEFhaEdCSW52MFczYzdkTjllWTE3MTlaRnVha0xmUGpVQ0ZmOWdMMXlkTHJB?=
 =?utf-8?B?bzF2dUs4ZjdqbnArb1p2ZmZMeUhHVW8rZXhRMzJ1RFVkcCtpOEtYcy9iS0Q0?=
 =?utf-8?B?b21UeUNCVUpyS2JsUzIraU96dE9yQ3QvRkNMRlRJUUhnVnp5blBlMkhFbjBr?=
 =?utf-8?B?WlYrTC9JSGRyWFRWQnlRZ3p2aG5Oc0R5UmtyaXpETXE1UXdWNlF4eExGNS9i?=
 =?utf-8?B?a2Z3TkRJTDdZQlE2VWhGOGJKemVIaFMzaUQ5ZU5yc3hBSHhhTGxyMVV6cDNC?=
 =?utf-8?B?Z2FvSGdtRjczV3RtTXRBRlRVTnZXZ01oQi8rV1pzaXJYRFJnODhTQ0pUTTNy?=
 =?utf-8?B?K2VpbmhZWk4vKzNIQ29ycGJTSlg4ajc3Mk1VcjQ3T0ZpZHFjNkVlVlF2bjA4?=
 =?utf-8?Q?DP1c+XTiHjX7H/D4l4ffbeuVT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6e8880a1-090f-4b7a-1f38-08dbe682c687
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 09:02:35.7408
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ILln0jZnKDfH0QdcI/hU5lK7T/yphJqRR+h375/Cs4306vZ8JMHL/ROaD7S1T5nzmGfh+cIUNAQY2CS2/lk+Ug==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8603

On 16.11.2023 09:45, Nicola Vetrini wrote:
> On 2023-11-15 12:22, Julien Grall wrote:
>> But I noticed you were using gcc-12 and originally thought it was a 
>> mistake until I saw the second use.
>>
>> The advantage of a variable CC (and CXX) is you can add a comment on 
>> top why you are specifically requestion gcc-12? IOW, why is gcc not 
>> fine?
>>
> 
> The assumptions in C-language-toolchain.rst (which are reflected in the 
> analysis config) are using gcc-12 explicitly; that's just easier from a 
> certification perspective to have a fixed version.

I'm wondering: Upstream Xen isn't going to undergo any certification
effort, aiui. Downstreams who want to do so may have good reasons to
choose a specific compiler version, which may well not be gcc12. How
are we meaning to deal with that?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 09:08:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 09:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634047.989279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3YMG-00029M-3g; Thu, 16 Nov 2023 09:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634047.989279; Thu, 16 Nov 2023 09:08: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 1r3YMG-00029F-17; Thu, 16 Nov 2023 09:08:20 +0000
Received: by outflank-mailman (input) for mailman id 634047;
 Thu, 16 Nov 2023 09:08: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=RqoQ=G5=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3YME-000299-1c
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 09:08:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ada03bc2-845f-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 10:08:16 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 6C0504EE073F;
 Thu, 16 Nov 2023 10:08:14 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ada03bc2-845f-11ee-98db-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with asmlinkage attribute
Date: Thu, 16 Nov 2023 10:08:10 +0100
Message-Id: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
by the asmlinkage pseudo-attribute, for the sake of uniformity.

Add missing 'xen/compiler.h' #include-s where needed.

The text in docs/misra/deviations.rst and docs/misra/safe.json
is modified to reflect this change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
This patch should be applied after patch 2 of this series.
The request made by Julien to update the wording is
contained in the present patch.
https://lore.kernel.org/all/9ad7f6210c15f520297aac00e8af0e64@bugseng.com/

Concerns about efi_multiboot2 will be dealt with separately.

Changes in v2:
- Edit safe.json.
- Remove mention of SAF-1-safe in deviations.rst.
Changes in v3:
- Sorted #include-s and rebased against
7ad0c774e474 ("x86/boot: tidy #include-s")
---
 docs/misra/deviations.rst   |  5 ++---
 docs/misra/safe.json        |  2 +-
 xen/arch/arm/cpuerrata.c    |  7 +++----
 xen/arch/arm/setup.c        |  5 ++---
 xen/arch/arm/smpboot.c      |  3 +--
 xen/arch/arm/traps.c        | 21 +++++++--------------
 xen/arch/x86/boot/cmdline.c |  5 +++--
 xen/arch/x86/boot/reloc.c   |  6 +++---
 xen/arch/x86/extable.c      |  3 +--
 xen/arch/x86/setup.c        |  3 +--
 xen/arch/x86/traps.c        | 27 +++++++++------------------
 xen/common/efi/boot.c       |  5 ++---
 12 files changed, 35 insertions(+), 57 deletions(-)

diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index d468da2f5ce9..0fa0475db0eb 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -134,9 +134,8 @@ Deviations related to MISRA C:2012 Rules:
      - Tagged as `safe` for ECLAIR.
 
    * - R8.4
-     - Functions and variables used only by asm modules are either marked with
-       the `asmlinkage` macro or with a SAF-1-safe textual deviation
-       (see safe.json).
+     - Functions and variables used only to interface with asm modules should
+       be marked with the `asmlinkage` macro.
      - Tagged as `safe` for ECLAIR.
 
    * - R8.6
diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index 39c5c056c7d4..eaff0312e20c 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -16,7 +16,7 @@
                 "eclair": "MC3R1.R8.4"
             },
             "name": "Rule 8.4: asm-only definition",
-            "text": "Functions and variables used only by asm modules do not need to have a visible declaration prior to their definition."
+            "text": "Not used anymore."
         },
         {
             "id": "SAF-2-safe",
diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index 9137958fb682..a28fa6ac78cc 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -370,10 +370,9 @@ custom_param("spec-ctrl", parse_spec_ctrl);
 
 /* Arm64 only for now as for Arm32 the workaround is currently handled in C. */
 #ifdef CONFIG_ARM_64
-/* SAF-1-safe */
-void __init arm_enable_wa2_handling(const struct alt_instr *alt,
-                                    const uint32_t *origptr,
-                                    uint32_t *updptr, int nr_inst)
+void asmlinkage __init arm_enable_wa2_handling(const struct alt_instr *alt,
+                                               const uint32_t *origptr,
+                                               uint32_t *updptr, int nr_inst)
 {
     BUG_ON(nr_inst != 1);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3f3a45719ccb..bedbce3c0d37 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1077,9 +1077,8 @@ static bool __init is_dom0less_mode(void)
 size_t __read_mostly dcache_line_bytes;
 
 /* C entry point for boot CPU */
-/* SAF-1-safe */
-void __init start_xen(unsigned long boot_phys_offset,
-                      unsigned long fdt_paddr)
+void asmlinkage __init start_xen(unsigned long boot_phys_offset,
+                                 unsigned long fdt_paddr)
 {
     size_t fdt_size;
     const char *cmdline;
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 5533aed455e7..a5c958fecb0d 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -303,8 +303,7 @@ smp_prepare_cpus(void)
 }
 
 /* Boot the current CPU */
-/* SAF-1-safe */
-void start_secondary(void)
+void asmlinkage start_secondary(void)
 {
     unsigned int cpuid = init_data.cpuid;
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 5aa14d470791..63d3bc7bd67b 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -161,8 +161,7 @@ void init_traps(void)
     isb();
 }
 
-/* SAF-1-safe */
-void __div0(void)
+void asmlinkage __div0(void)
 {
     printk("Division by zero in hypervisor.\n");
     BUG();
@@ -1955,8 +1954,7 @@ static inline bool needs_ssbd_flip(struct vcpu *v)
  * Actions that needs to be done after entering the hypervisor from the
  * guest and before the interrupts are unmasked.
  */
-/* SAF-1-safe */
-void enter_hypervisor_from_guest_preirq(void)
+void asmlinkage enter_hypervisor_from_guest_preirq(void)
 {
     struct vcpu *v = current;
 
@@ -1970,8 +1968,7 @@ void enter_hypervisor_from_guest_preirq(void)
  * guest and before we handle any request. Depending on the exception trap,
  * this may be called with interrupts unmasked.
  */
-/* SAF-1-safe */
-void enter_hypervisor_from_guest(void)
+void asmlinkage enter_hypervisor_from_guest(void)
 {
     struct vcpu *v = current;
 
@@ -1999,8 +1996,7 @@ void enter_hypervisor_from_guest(void)
     vgic_sync_from_lrs(v);
 }
 
-/* SAF-1-safe */
-void do_trap_guest_sync(struct cpu_user_regs *regs)
+void asmlinkage do_trap_guest_sync(struct cpu_user_regs *regs)
 {
     const union hsr hsr = { .bits = regs->hsr };
 
@@ -2195,14 +2191,12 @@ void do_trap_guest_serror(struct cpu_user_regs *regs)
     __do_trap_serror(regs, true);
 }
 
-/* SAF-1-safe */
-void do_trap_irq(struct cpu_user_regs *regs)
+void asmlinkage do_trap_irq(struct cpu_user_regs *regs)
 {
     gic_interrupt(regs, 0);
 }
 
-/* SAF-1-safe */
-void do_trap_fiq(struct cpu_user_regs *regs)
+void asmlinkage do_trap_fiq(struct cpu_user_regs *regs)
 {
     gic_interrupt(regs, 1);
 }
@@ -2275,8 +2269,7 @@ static bool check_for_vcpu_work(void)
  *
  * The function will return with IRQ masked.
  */
-/* SAF-1-safe */
-void leave_hypervisor_to_guest(void)
+void asmlinkage leave_hypervisor_to_guest(void)
 {
     local_irq_disable();
 
diff --git a/xen/arch/x86/boot/cmdline.c b/xen/arch/x86/boot/cmdline.c
index f9eee756aaed..416fd324fd3b 100644
--- a/xen/arch/x86/boot/cmdline.c
+++ b/xen/arch/x86/boot/cmdline.c
@@ -30,6 +30,7 @@ asm (
     "    jmp  cmdline_parse_early      \n"
     );
 
+#include <xen/compiler.h>
 #include <xen/kconfig.h>
 #include "defs.h"
 #include "video.h"
@@ -340,8 +341,8 @@ static void vga_parse(const char *cmdline, early_boot_opts_t *ebo)
 }
 #endif
 
-/* SAF-1-safe */
-void __stdcall cmdline_parse_early(const char *cmdline, early_boot_opts_t *ebo)
+void asmlinkage __stdcall cmdline_parse_early(const char *cmdline,
+                                              early_boot_opts_t *ebo)
 {
     if ( !cmdline )
         return;
diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index e093b7389c9e..b76825baaa5d 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -28,6 +28,7 @@ asm (
 
 #include "defs.h"
 
+#include <xen/compiler.h>
 #include <xen/kconfig.h>
 #include <xen/multiboot.h>
 #include <xen/multiboot2.h>
@@ -348,9 +349,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
     return mbi_out;
 }
 
-/* SAF-1-safe */
-void *__stdcall reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
-                      uint32_t video_info)
+void *asmlinkage __stdcall reloc(uint32_t magic, uint32_t in,
+                                 uint32_t trampoline, uint32_t video_info)
 {
     alloc = trampoline;
 
diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c
index 74b14246e9d8..51245221ec03 100644
--- a/xen/arch/x86/extable.c
+++ b/xen/arch/x86/extable.c
@@ -194,8 +194,7 @@ static int __init cf_check stub_selftest(void)
 __initcall(stub_selftest);
 #endif
 
-/* SAF-1-safe */
-unsigned long search_pre_exception_table(struct cpu_user_regs *regs)
+unsigned asmlinkage long search_pre_exception_table(struct cpu_user_regs *regs)
 {
     unsigned long addr = regs->rip;
     unsigned long fixup = search_one_extable(
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index d70ad1e44a60..958ebeeef0c3 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -970,8 +970,7 @@ static struct domain *__init create_dom0(const module_t *image,
 /* How much of the directmap is prebuilt at compile time. */
 #define PREBUILT_MAP_LIMIT (1 << L2_PAGETABLE_SHIFT)
 
-/* SAF-1-safe */
-void __init noreturn __start_xen(unsigned long mbi_p)
+void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
 {
     const char *memmap_type = NULL;
     char *cmdline, *kextra, *loader;
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index 6393467b06fd..2c2e19fe8964 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -833,8 +833,7 @@ void fatal_trap(const struct cpu_user_regs *regs, bool show_remote)
           (regs->eflags & X86_EFLAGS_IF) ? "" : " IN INTERRUPT CONTEXT");
 }
 
-/* SAF-1-safe */
-void do_unhandled_trap(struct cpu_user_regs *regs)
+void asmlinkage do_unhandled_trap(struct cpu_user_regs *regs)
 {
     unsigned int trapnr = regs->entry_vector;
 
@@ -921,8 +920,7 @@ static bool extable_fixup(struct cpu_user_regs *regs, bool print)
     return true;
 }
 
-/* SAF-1-safe */
-void do_trap(struct cpu_user_regs *regs)
+void asmlinkage do_trap(struct cpu_user_regs *regs)
 {
     unsigned int trapnr = regs->entry_vector;
 
@@ -1154,8 +1152,7 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
     }
 }
 
-/* SAF-1-safe */
-void do_invalid_op(struct cpu_user_regs *regs)
+void asmlinkage do_invalid_op(struct cpu_user_regs *regs)
 {
     u8 bug_insn[2];
     const void *eip = (const void *)regs->rip;
@@ -1200,8 +1197,7 @@ void do_invalid_op(struct cpu_user_regs *regs)
     panic("FATAL TRAP: vector = %d (invalid opcode)\n", X86_EXC_UD);
 }
 
-/* SAF-1-safe */
-void do_int3(struct cpu_user_regs *regs)
+void asmlinkage do_int3(struct cpu_user_regs *regs)
 {
     struct vcpu *curr = current;
 
@@ -1568,8 +1564,7 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs)
     return 0;
 }
 
-/* SAF-1-safe */
-void do_page_fault(struct cpu_user_regs *regs)
+void asmlinkage do_page_fault(struct cpu_user_regs *regs)
 {
     unsigned long addr;
     unsigned int error_code;
@@ -1646,8 +1641,7 @@ void do_page_fault(struct cpu_user_regs *regs)
  * during early boot (an issue was seen once, but was most likely a hardware
  * problem).
  */
-/* SAF-1-safe */
-void __init do_early_page_fault(struct cpu_user_regs *regs)
+void asmlinkage __init do_early_page_fault(struct cpu_user_regs *regs)
 {
     static unsigned int __initdata stuck;
     static unsigned long __initdata prev_eip, prev_cr2;
@@ -1847,8 +1841,7 @@ void trigger_nmi_continuation(void)
     apic_wait_icr_idle();
 }
 
-/* SAF-1-safe */
-void do_device_not_available(struct cpu_user_regs *regs)
+void asmlinkage do_device_not_available(struct cpu_user_regs *regs)
 {
 #ifdef CONFIG_PV
     struct vcpu *curr = current;
@@ -1884,8 +1877,7 @@ void do_device_not_available(struct cpu_user_regs *regs)
 #endif
 }
 
-/* SAF-1-safe */
-void do_debug(struct cpu_user_regs *regs)
+void asmlinkage do_debug(struct cpu_user_regs *regs)
 {
     unsigned long dr6;
     struct vcpu *v = current;
@@ -2010,8 +2002,7 @@ void do_debug(struct cpu_user_regs *regs)
     pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
 }
 
-/* SAF-1-safe */
-void do_entry_CP(struct cpu_user_regs *regs)
+void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
 {
     static const char errors[][10] = {
         [1] = "near ret",
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index e5e86f22b2b2..bc58dfce2f6c 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1254,9 +1254,8 @@ static void __init efi_exit_boot(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *Syste
     efi_fw_vendor = (void *)efi_fw_vendor + DIRECTMAP_VIRT_START;
 }
 
-/* SAF-1-safe */
-void EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
-                                      EFI_SYSTEM_TABLE *SystemTable)
+void asmlinkage EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
+                                                 EFI_SYSTEM_TABLE *SystemTable)
 {
     static EFI_GUID __initdata loaded_image_guid = LOADED_IMAGE_PROTOCOL;
     static EFI_GUID __initdata shim_lock_guid = SHIM_LOCK_PROTOCOL_GUID;
-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 09:15:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 09:15:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634052.989290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3YSm-0003i2-VL; Thu, 16 Nov 2023 09:15:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634052.989290; Thu, 16 Nov 2023 09: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 1r3YSm-0003hv-Rw; Thu, 16 Nov 2023 09:15:04 +0000
Received: by outflank-mailman (input) for mailman id 634052;
 Thu, 16 Nov 2023 09: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=RqoQ=G5=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3YSl-0003hj-Rl
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 09:15:03 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9fc231fb-8460-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 10:15:02 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 4D2D94EE073C;
 Thu, 16 Nov 2023 10:15:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9fc231fb-8460-11ee-98db-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 16 Nov 2023 10:15:02 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
Message-ID: <991883873b73e644ccaf8114a80331c0@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-16 10:08, Nicola Vetrini wrote:
> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
> by the asmlinkage pseudo-attribute, for the sake of uniformity.
> 
> Add missing 'xen/compiler.h' #include-s where needed.
> 
> The text in docs/misra/deviations.rst and docs/misra/safe.json
> is modified to reflect this change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> This patch should be applied after patch 2 of this series.
> The request made by Julien to update the wording is
> contained in the present patch.
> https://lore.kernel.org/all/9ad7f6210c15f520297aac00e8af0e64@bugseng.com/
> 
> Concerns about efi_multiboot2 will be dealt with separately.
> 
> Changes in v2:
> - Edit safe.json.
> - Remove mention of SAF-1-safe in deviations.rst.
> Changes in v3:
> - Sorted #include-s and rebased against
> 7ad0c774e474 ("x86/boot: tidy #include-s")
> ---
>  docs/misra/deviations.rst   |  5 ++---
>  docs/misra/safe.json        |  2 +-
>  xen/arch/arm/cpuerrata.c    |  7 +++----
>  xen/arch/arm/setup.c        |  5 ++---
>  xen/arch/arm/smpboot.c      |  3 +--
>  xen/arch/arm/traps.c        | 21 +++++++--------------
>  xen/arch/x86/boot/cmdline.c |  5 +++--
>  xen/arch/x86/boot/reloc.c   |  6 +++---
>  xen/arch/x86/extable.c      |  3 +--
>  xen/arch/x86/setup.c        |  3 +--
>  xen/arch/x86/traps.c        | 27 +++++++++------------------
>  xen/common/efi/boot.c       |  5 ++---
>  12 files changed, 35 insertions(+), 57 deletions(-)
> 

In hindsight I should have added an

Acked-by: Julien Grall <jgrall@amazon.com>

given that the comment has been addressed in my opinion.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 09:21:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 09:21:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634056.989300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3YZ2-00068r-Lm; Thu, 16 Nov 2023 09:21:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634056.989300; Thu, 16 Nov 2023 09:21: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 1r3YZ2-00068k-I8; Thu, 16 Nov 2023 09:21:32 +0000
Received: by outflank-mailman (input) for mailman id 634056;
 Thu, 16 Nov 2023 09:21: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=AWOo=G5=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r3YZ0-00068e-TL
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 09:21:30 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 84dda18c-8461-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 10:21:27 +0100 (CET)
Received: from AS9PR05CA0191.eurprd05.prod.outlook.com (2603:10a6:20b:495::16)
 by GV2PR08MB9301.eurprd08.prod.outlook.com (2603:10a6:150:d4::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.31; Thu, 16 Nov
 2023 09:21:17 +0000
Received: from AM2PEPF0001C70B.eurprd05.prod.outlook.com
 (2603:10a6:20b:495:cafe::fe) by AS9PR05CA0191.outlook.office365.com
 (2603:10a6:20b:495::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19 via Frontend
 Transport; Thu, 16 Nov 2023 09:21:17 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C70B.mail.protection.outlook.com (10.167.16.199) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.20 via Frontend Transport; Thu, 16 Nov 2023 09:21:17 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Thu, 16 Nov 2023 09:21:16 +0000
Received: from 02819f935b83.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3EDB2469-2B6B-44FA-AAEF-B0B9EDB351CE.1; 
 Thu, 16 Nov 2023 09:21:11 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 02819f935b83.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 16 Nov 2023 09:21:11 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS4PR08MB7784.eurprd08.prod.outlook.com (2603:10a6:20b:518::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Thu, 16 Nov
 2023 09:21:08 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%6]) with mapi id 15.20.7002.021; Thu, 16 Nov 2023
 09:21: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: 84dda18c-8461-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=MiCBvJzah2hHS30wM5IvHQkk8gOLzkukp5BteFwetkuFa0gkW7Lh+vx+4FB+N/RlYDXvK+hBryVlVEKrvHTnZIdwIVU/O3dImrc1Q0Q+aNNUr6e/OJCViFlxAlowHIz93HE/UXry4OiSAgvcAoX8uhVzXr2JqF4613J5nDuVCyVctV5uL0piI/04mxXisA3SxxhnLs540lwjUaO7LUl5IKSGHrysvVIvu0MdJVePV8cX0+cjCvPOTa2lTx51qqRGnmZL7IPYUgmVLHgu8VS+8ufr9S3qhP18eqv4AvqwNjQ5kJiXuSIi2wK3dJqQydeaE8QLH5soRldUlGpl7k9Oaw==
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=nCVVNhYbj3P0eqMRkUkF6laZVw7szRLdWrulqDUK3XU=;
 b=aYIgQbCLpQXc4ie8cmH9gWkuChlNcROo4dZ9KUYFz5bycdvj5yJ8Vzu94Juhos8Q8rpabBEStpNRpok9dfUvWYWiOaOiW3vyQWxG3MD1nsjQdJqb2m8nPz08AgvTW+KhdBKK2QnnpduKZRqHNe8jo1FH80U9d0ytZiBHQSNpm3GiYak3uateASN2KvqhOT2oQsbb8TZna+TcXOjlD93fPOR5CGJ5A57DqrDE4Sq2uabZb+d1PugarUPyJ8R8GjDRo6+5uycYVxLVlPB+Pgoi60D3tfIeDH3jKxsCThlDDyYcOi/8EXb2XDf2f2HO/UESvuoR6Y6IZ42Wzgj7Knf5sQ==
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=nCVVNhYbj3P0eqMRkUkF6laZVw7szRLdWrulqDUK3XU=;
 b=nK+TOqBcmzfSfEx8bhOcqxrmXbu08u8MYnRDUE/zlppaihPvZ5tHIBNg11G/huCjTBu/+dR/KqQxDxZWhJB3VN4Cf7BJfCrTyBH81aF+mu9MbZcPRqOGUlk+lK93buy9Hhf3VLebJ6OLQDgSupMDXw/g1Pk4xk51J0rGeFCaeWE=
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: 5d47dc03d13e49e6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dDPPLew0kRyNNAxcdQ/tkczSIT8tOKGKoJzNsdSxrFjYJSxRFv9vaF2XUnMijUdPIk10nuNlduwYxY4VM0V1qVLFZu8BmkOLmQI8red9eVfUSln6co2Bd/biWhWIJFNIuntC5E6qlqMC4njmVcnhhMHGOVInQF/z0wtxwRNZRckoUkAhjjbJhlMYK5PBLflHYjrG7ZuOtFsPZi99NzTVv8jqZsnJzY+iXYifCHe++v3Z+BYrffMIHTPpfUex6Y6P4bjMzEc0wUj3r4qMKhJmW0qoVxiu1xGHQlKQxM1ngCHKYWPheA6NxpwwCj/SERlQyGnysdHb+89NPzAm36y38g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nCVVNhYbj3P0eqMRkUkF6laZVw7szRLdWrulqDUK3XU=;
 b=CNX7I+vBZOfNC/7sJw42smUf+B6+yfLy15bZ5UQTSRf0aJJukKRhNEIrUP42m5IcA1DqccX5aokiboDYSL4+cXv/ndJY/+pVTLxr1iW+E2LbZOVV+ekj0gnJEh5hBuB7vMXykAfY7RJ989EC+Qy5dHN/1Nv/yFu0E9njhx53yVllya+nj4KaVQRsG3Gexxz1oa6nBXH4FBChp2b21XbO+yQOJ4Z9O15Dz2BF7NK4V4FI8X7lEdScxFdhfbKEDsvLWFWBV09TiOxNS/U9ja2N4KdgqBWLlzTDLRNW+3lyEailLvg+ShFiX5cnqH4vmQj4hUJhzwNF8fDXGTwKI0eohw==
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=nCVVNhYbj3P0eqMRkUkF6laZVw7szRLdWrulqDUK3XU=;
 b=nK+TOqBcmzfSfEx8bhOcqxrmXbu08u8MYnRDUE/zlppaihPvZ5tHIBNg11G/huCjTBu/+dR/KqQxDxZWhJB3VN4Cf7BJfCrTyBH81aF+mu9MbZcPRqOGUlk+lK93buy9Hhf3VLebJ6OLQDgSupMDXw/g1Pk4xk51J0rGeFCaeWE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Olaf Hering <olaf@aepfle.de>
CC: Jan Beulich <jbeulich@suse.com>, Xen-devel
	<xen-devel@lists.xenproject.org>, "anthony.perard@citrix.com"
	<anthony.perard@citrix.com>, "jgross@suse.com" <jgross@suse.com>, Rahul Singh
	<Rahul.Singh@arm.com>, Divin Raj <Divin.Raj@arm.com>
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable through
 'xl.conf'
Thread-Topic: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable
 through 'xl.conf'
Thread-Index: AQHaF9iCIgQpf/CCX0GxQ3sKvdu3o7B7oUIAgADw2oCAAAMCgIAAF5eA
Date: Thu, 16 Nov 2023 09:21:06 +0000
Message-ID: <A6D4B8C2-E781-4964-A757-C72F38169246@arm.com>
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
 <20231115182340.505df6c3.olaf@aepfle.de>
 <4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
 <20231116085629.40a0445b.olaf@aepfle.de>
In-Reply-To: <20231116085629.40a0445b.olaf@aepfle.de>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS4PR08MB7784:EE_|AM2PEPF0001C70B:EE_|GV2PR08MB9301:EE_
X-MS-Office365-Filtering-Correlation-Id: e1bfd8ff-7273-473e-414e-08dbe6856331
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:
 bFIuDuNLsEjmsrZ6GLO961YXI7mSTVLmMBY6D6es7fCk+13yRIubo2PhkSkYdGWcIHS6Yhum9witpJ2zUMtbjUDNZYnHdKObfIBJa5HhCmt0uQGSTH5CMPEmNgup5lCrd2G7sdQw3zJItIceUVYC8nonhG6A3Y81ynUVvHW1QedFZf0WC6SJnJa8kB/FVlJYmvr2IXU1UXFPjzTqivxHNGQxE83MqS55+daBuIaTNQ/OdyuhkUFapiIWAlu59NVfd8zdm3Gd1fCRM/GxL2eRNPyWK8Lu5pKo36rhOLyecDcJs9Xd7a9Sbev03xof5zyIO/eu+jM79fldftWVQ9RkOLNi7hyZQ3iWur2TCcJSrL6iHxEqCMp7carZq0ApvhimZM/BJ4E6X+kDBKmrL7JRcUQMorBAfSjbPWrcB/yCpGEPreJMr374iqeMnQ1C51I6ItKr6SSN2N7ngAjAj4RR7NTib+x/tXK/ZNPLVF/EKpmzGG7rVCyCdhsdgbyWlwSfq0Tgr4vObHj5DyI551KmIOcnRX9Hn0IoJUUQ4y0pADPRIdK1C2Dtgmu30hQsnSAv0S3718jCerETiesxZfvFEtuTHwJjj45HqRsl+llcScf60tgjuDIsYYs1ft8fWmEnxquCwxMn1XYioXvcL2xm+Q==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(376002)(396003)(346002)(39860400002)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(38070700009)(64756008)(66446008)(76116006)(66556008)(66476007)(66946007)(5660300002)(2616005)(71200400001)(54906003)(86362001)(91956017)(122000001)(478600001)(4744005)(8936002)(8676002)(38100700002)(4326008)(316002)(6916009)(36756003)(2906002)(6486002)(41300700001)(26005)(33656002)(6512007)(53546011)(6506007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <8986830F394BD343A093E75F6ADED0DA@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7784
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:
 AM2PEPF0001C70B.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d9a7e47f-ab48-4122-0869-08dbe6855c9c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9CnWb2K1KWLmJkVuE51Gdn8s6QxFDPII9d3IFhSKbagI8woLpGpMh0GZqM9A3rQdgeadl5d6bOWb1O1+E/Bulby0L+rlzMWIAgetNJrNyKeKGApeI/YUTjXHA3S5jRHDjGRog5W/QYqg5UwIb5D06QgX9KODbVzs45hbCkanHMb6Mg1/ydSjiCuX9sZfW+ksT6nWvDqb4OgExzUlfsbWztrcuUqZvtavpRPvBd6/tXfnlgoMGE2zA7HIj0vleXgDqURqdcCwuP23YGUnKE6L3Clk5tOjiVMLAVXsMK4SG456kALI4+BBaic3zJadYFp9M5SkotHCfbp/DQpSY9vkK8bSEHOY+djTixLPazMfGiO7mmYwWCvDqlU1lGvnm3KTwMfmfnsvBstgf/VJ+Hb5KWn8URyd25F6MaZRMQAyJSoJQkw/Rk7XIg9hS5Wm5V4pAK4t1x0ZXUtbg2Nk67w4fRgAPrPC65tElCoQbehijHZ3keWu6ChLxJtioMTLj9jHf2nDL4R1HwWNN1ywK2ahPRW9KiS7YuZ1JUW73pM1YtF+yCaHHiQgtDrtwISTxOHJNceSVuZz5ow3ZP1qFMemPQu4trekpAJxKqbGnQ73rpco3coTiHoBcxmkwe39iXfHaT+nWkZ87MwPPrs513Wx6PaHhcEWS+9yqqGMrkk7eMV5DCo5DFwVBd2aMCDv4Gfr7/Y8eq0ORLQduFWOq2x76ueWkQlLWv7RrPuvlFyMaLo64Sbz391v+OGYlCqmq90f
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:(13230031)(4636009)(39860400002)(346002)(136003)(396003)(376002)(230922051799003)(1800799009)(82310400011)(64100799003)(451199024)(186009)(36840700001)(46966006)(40470700004)(6862004)(8676002)(8936002)(40480700001)(41300700001)(40460700003)(4744005)(5660300002)(2906002)(316002)(6486002)(4326008)(36860700001)(33656002)(54906003)(36756003)(86362001)(70206006)(53546011)(47076005)(6506007)(336012)(70586007)(81166007)(82740400003)(6512007)(26005)(2616005)(356005)(478600001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 09:21:17.1643
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e1bfd8ff-7273-473e-414e-08dbe6856331
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:
	AM2PEPF0001C70B.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9301

DQoNCj4gT24gMTYgTm92IDIwMjMsIGF0IDA3OjU2LCBPbGFmIEhlcmluZyA8b2xhZkBhZXBmbGUu
ZGU+IHdyb3RlOg0KPiANCj4gVGh1LCAxNiBOb3YgMjAyMyAwODo0NTo0MyArMDEwMCBKYW4gQmV1
bGljaCA8amJldWxpY2hAc3VzZS5jb20+Og0KPiANCj4+IERpZCB5b3UgZXZlciBzdWJtaXQgaXQ/
DQo+IA0KPiBMaWtlbHkgbm90Lg0KPiANCj4gSSB0aGluayB0aGUgYXBwcm9hY2ggdG8gdXNlIGEg
eGVuc3RvcmUgZW50cnkgd2FzIHVzZWQgdG8gYXZvaWQNCj4gQUJJIGluY29tcGF0aWJpbGl0aWVz
IGR1ZSB0byBjaGFuZ2VkIC5pZGwgZmlsZXMuDQo+IA0KPiBJbiBjYXNlIGFueW9uZSByZWFsbHkg
d2FudHMgdXAgdXBzdHJlYW0gc3VjaCBjaGFuZ2UsIGEgZ2xvYmFsDQo+IHBlci1kZXZpY2UgdGlt
ZW91dCBzaG91bGQgbm90IGdvIGludG8geGwuY29uZiwgdG8gbWFrZSBzdXJlDQo+IGRvbVVzIG1h
bmFnZWQgYnkgbGlidmlydCBjYW4gYWxzbyBiZSB0dW5lZC4NCg0KSGkgT2xhZiwNCg0KSSBzZWUg
eW91ciBwYXRjaCBpcyBoYW5kbGluZyB0aGlzIGlzc3VlIGJ1dCBtYXliZSB3YXMgbm90IG1lYW50
IHRvIGJlIHVwc3RyZWFtZWQsDQpzbyBJIHdvdWxkIGxpa2UgdG8gYXNrIGlmIHlvdSBhcmUgd2ls
bGluZyB0byBtYWtlIGl0IHVwc3RyZWFtLWFibGUgb3IgaWYgaXTigJlzIG5vdCBwbGFubmVkDQp0
byBkbyBzby4NCg0KQ2hlZXJzLA0KTHVjYQ0KDQoNCg0K


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 09:42:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 09:42:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634059.989310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Yt9-0002Df-75; Thu, 16 Nov 2023 09:42:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634059.989310; Thu, 16 Nov 2023 09: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 1r3Yt9-0002DY-48; Thu, 16 Nov 2023 09:42:19 +0000
Received: by outflank-mailman (input) for mailman id 634059;
 Thu, 16 Nov 2023 09: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=trnS=G5=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r3Yt7-0002DS-Nr
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 09:42:17 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 6c973dc2-8464-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 10:42:15 +0100 (CET)
Received: from mg.gitlab.com (10.226.74.34.bc.googleusercontent.com
 [34.74.226.10]) by
 ce055c82f7bb with SMTP id 6555e3f11fe10227181a0b09 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 16 Nov 2023 09:42:09 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 6c973dc2-8464-11ee-98db-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700127733; x=1700134933; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=MwlrQCsEBtdPrnf4KTwxt3N+KTAJN3fPGGNj6PVJvNM=;
 b=jXvDmvPE59/9x5OGYF6nrNFCOZEs2WuRVCPtprlbuNJy0qAskRoCs18swf6qrPDpgyOJwB8EZXOjav0U53MJATVcEWol0jWlcElNyL87WxhkiP7zysxVA92eLEpB3mK2B8E0xDIRTFYRD2QkE1DPyRotMSh/MEYBtHTfGCM5OGc=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 16 Nov 2023 09:42:09 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6555e3f14d8cb_2c9b280887f0@gitlab-sidekiq-catchall-v2-f868fb75-bqtc6.mail>
Subject: xen | Successful pipeline for staging | b739e206
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6555e3f13f330_2c9b280886d9";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1074462798
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6555e3f13f330_2c9b280886d9
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1074462798 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: b739e206 ( https://gitlab.com/xen-project/xen/-/commit/b739e2067b1a06328e7f0042630b543413689eac )
Commit Message: xen/include: add macro ISOLATE_LSB

The purpose...
Commit Author: Nicola Vetrini
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1074462798 ( https://gitlab.com/xen-project/xen/-/pipelines/1074462798 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6555e3f13f330_2c9b280886d9
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | b739e206</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1074462798 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/b739e2067b1a06328e=
7f0042630b543413689eac" style=3D"color: #3777b0; text-decoration: none;">=
b739e206</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/include: add macro ISOLATE_LSB

The purpose...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/23d68b797e165570c641942285dfe06e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Nicola Vetrini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107446=
2798" style=3D"color: #3777b0; text-decoration: none;">#1074462798</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6555e3f13f330_2c9b280886d9--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 09:51:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 09:51:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634099.989320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Z2S-0004kt-8E; Thu, 16 Nov 2023 09:51:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634099.989320; Thu, 16 Nov 2023 09:51: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 1r3Z2S-0004km-5R; Thu, 16 Nov 2023 09:51:56 +0000
Received: by outflank-mailman (input) for mailman id 634099;
 Thu, 16 Nov 2023 09:51: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=6/O6=G5=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r3Z2Q-0004kg-Km
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 09:51:54 +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 c5203cd1-8465-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 10:51:53 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-9bf86b77a2aso87720066b.0
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 01:51:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5203cd1-8465-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700128312; x=1700733112; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=HjZOU3ro6NXnMbgOS41PF3sr0xFljVGjGEeubeR7w3g=;
        b=aTwm9TTw7JOBTqeLwgJY3DjPpDfv2reqaZDJZbIzAc82wxO+3SdOYveC41NFiA2lfc
         wNwM61Gxr9kqPMMW1e7aBowh4rMnp+OQDwccV/a2fv3N3qR6WxTRnCT76XW5Y6Z8uyTB
         JVTt8qtNFBfkSKXNKVkshKQ7vtyg2pW58aknExhjuJM1DgEV1YbJlNaVFPzpKrOM3mkz
         JsS5r87PLU4qz6n/1syBzYSUCgZX2eup0GNZg9CaF5fT7TIsnxi8R1lBXuYSiPjW8PAD
         t8jvoOrD8w50ksqCPgRsH4C76ymKiXHj9ys1X5eTO0K2Pf4nsfouibUXReckVZKa0jhs
         r6jQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700128312; x=1700733112;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=HjZOU3ro6NXnMbgOS41PF3sr0xFljVGjGEeubeR7w3g=;
        b=mk/2PyI3Tv6p5JMIc5FiL9lf65k0yCd6SnwR8JWZmU3Ehzl8WUpm3H8R2wgsoa41uz
         bTrds2gJods8g03HkOQPTdlKAvRwJvidS0Nfzdqs2IiIkPbekXaCB5Z4tlX+/qV6nCca
         QBp1dXy8iROJA+tzuw2D0EYggSw1P8sRTvlPl45+ijFQmyPT7iExYxqWUnd/YY6RA6yF
         0RQh3/+j1pq/Dbmu0qcVgMbZ2vv1tIuZI/G7qHW68al5lQGWePhF5ebFewH9CvbOwUSL
         eZX3oVCNmfJLuW4Fl5cSg+dEMUvYdIk4AVI31h7/hTUCRq2Qt9ZCP9xFpEzqIUyiC/EE
         dtKg==
X-Gm-Message-State: AOJu0YwX7bBZ8uyrbXHDYq0OYxpgbSjssQj2JydZPBNVtOHSSrojHXYE
	I7h8tGVsovZdkmXfF/GmTA3iDceUcPmgSGAqhWc=
X-Google-Smtp-Source: AGHT+IG9hl+/TzR6a8qzzi5Cqb2HgpG1/f7D1teEMt+kV6PF8hBkz+bDdAhd0jdskPT0b9X0q83HAK8nEou3HGhmS64=
X-Received: by 2002:a17:906:b20f:b0:9e5:2b2e:5b64 with SMTP id
 p15-20020a170906b20f00b009e52b2e5b64mr3600861ejz.12.1700128312188; Thu, 16
 Nov 2023 01:51:52 -0800 (PST)
MIME-Version: 1.0
References: <20231111184538.2371-1-brchuckz.ref@aol.com> <20231111184538.2371-1-brchuckz@aol.com>
 <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com> <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
 <edefba96-0a17-4b3d-992c-6bfe9e62bf97@netscape.net> <CA+1FSih45=vtpa+bfYGDFEXd6u=+V8wLsBoo8=2rmj7V0Lj_Ow@mail.gmail.com>
In-Reply-To: <CA+1FSih45=vtpa+bfYGDFEXd6u=+V8wLsBoo8=2rmj7V0Lj_Ow@mail.gmail.com>
From: Mario Marietto <marietto2008@gmail.com>
Date: Thu, 16 Nov 2023 10:51:15 +0100
Message-ID: <CA+1FSiiuFMvZAHHXFQHRF=gQSoZTxLEZSDYfCgw8j6HiGkkDXw@mail.gmail.com>
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Robin Murphy <robin.murphy@arm.com>, 
	Chuck Zmudzinski <brchuckz@aol.com>, linux-arm-kernel@lists.infradead.org, 
	Russell King <linux@armlinux.org.uk>, Juergen Gross <jgross@suse.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, linux-kernel@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Marek Szyprowski <m.szyprowski@samsung.com>, 
	Andrew Morton <akpm@linux-foundation.org>, Mathieu Poirier <mathieu.poirier@linaro.org>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, 
	"Matthew Wilcox (Oracle)" <willy@infradead.org>, Linus Walleij <linus.walleij@linaro.org>, 
	Jason Gunthorpe <jgg@ziepe.ca>, Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>
Content-Type: multipart/alternative; boundary="0000000000001ee4a3060a41f85f"

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

Hello to everyone.

I'm trying to boot Linux 6.1.y as Xen dom0 on the Chromebook xe303c12, aka
Snow and configure and start a very basic domU guest,following the Chuck's
tutorial,located here :
https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/x=
en#starting-a-domu-guest

What I did has been to carefully follow his instructions,but I haven't
found a solution to fix this problem,yet :

# sudo xl create devuan.cfg -c

Parsing config from devuan.cfg
libxl: error: libxl_create.c:720:libxl__domain_make: domain creation fail:
Permission denied
libxl: error: libxl_create.c:1309:initiate_domain_create: cannot make
domain: -3

This is my devuan.cfg file :

kernel =3D '/Dati/xen/kernels/zImage-6.1.59-stb-xen-cbe+'
memory =3D '512'
name =3D 'Devuan'
vcpus =3D '1'
disk =3D [ '/Dati/xen/devuan.img,,xvda,w' ]
extra =3D 'console=3Dhvc0 root=3D/dev/xvda rw init=3D/sbin/init
xen-fbfront.video=3D24,1024,768'

(I have tried also with root=3D/dev/xvda1 and root=3D/dev/xvda2,but leaving
disk =3D [ '/Dati/xen/devuan.img,,xvda,w' ] and not xvda1 or 2)

I have no  idea about the reason(s) I always get that error,but I don't
think it is caused by a wrong creation of the devuan.img file. Can someone
point me in the right direction to understand what could be wrong ? I
haven't found any useful information on the internet.

This is bootxen.scr file where I have configured dom0_mem=3D768 :

mmc dev 1
ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
fdt addr 0x5ffec000
fdt resize 1024
fdt set /chosen \#address-cells <0x2>
fdt set /chosen \#size-cells <0x2>
fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dserial0
dom0_mem=3D768M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull=
"
fdt mknod /chosen dom0
fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module"
"multiboot,module"
fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
fdt set /chosen xen,dom0-bootargs "console=3Dtty1 root=3D/dev/mmcblk1p4 rw
rootwait clk_ignore_unused --no-log"
bootm 0x51000000 - 0x5ffec000

and I've rebooted the Chromebook using this command :

SMDK5250 # mmc dev 1
SMDK5250 # ext2load mmc 1:3 0x50000000 bootxen.scr; source 0x50000000


This is the memory available on the machine after having booted the
machine ready for xen :

# free -m
              total        used        free      shared  buff/cache
  available
Mem:             741         329         108           7         332
        412
Swap:              0           0           0

Thanks in advance for any support.

On Wed, Nov 15, 2023 at 8:41=E2=80=AFPM Mario Marietto <marietto2008@gmail.=
com>
wrote:

> ---> So I plan to do some tests and see what DMA ops the other devices us=
e
> if swiotlb-xen is disabled and also what DMA ops the other devices use wh=
en
> Linux runs on the Chromebook on bare metal without Xen. If these tests sh=
ow
> the problem can be fixed by disabling swiotlb-xen with a Kconfig  or
> command line option, I will propose v2 to implement that as a solution.
>
> and this could bring you to the next level of our project. Try to install
> xen on different devices. At least it is my next project. I've already
> bought two arm64 phones where xen can be installed because there is a hac=
k
> to overcome the bootloader / hypervisor protection mechanism. For sure I
> hope that you also want to buy them to work on this together. And don't
> worry about how much money they will cost you. I've bought them used and
> refurbished. Or you could buy only one,that I suggest could be the SM-A60=
0G
> (Samsung Galaxy A6) with Exynos7870. Please start looking for it at a goo=
d
> price.
>
> On Wed, Nov 15, 2023 at 6:57=E2=80=AFPM Chuck Zmudzinski <brchuckz@netsca=
pe.net>
> wrote:
>
>> On 11/14/2023 5:20 PM, Stefano Stabellini wrote:
>> > On Tue, 14 Nov 2023, Robin Murphy wrote:
>> >> On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
>> >> > Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error wh=
en
>> >> > attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook
>> Snow
>> >> > (and probably on other devices that use the Exynos mixer):
>> >> >
>> >> > [drm] Exynos DRM: using 14400000.fimd device for DMA mapping
>> operations
>> >> > exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
>> >> > exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR*
>> Device
>> >> >                               14450000.mixer lacks support for IOMM=
U
>> >> > exynos-drm exynos-drm: failed to bind 14450000.mixer (ops
>> 0xc0d97554): -22
>> >> > exynos-drm exynos-drm: adev bind failed: -22
>> >> > exynos-dp: probe of 145b0000.dp-controller failed with error -22
>> >> >
>> >> > Linux normally uses xen_swiotlb_dma_ops for DMA for all devices whe=
n
>> >> > xen_swiotlb is detected even when Xen exposes an IOMMU to Linux.
>> Enabling
>> >> > the new config option allows devices such as the Exynos mixer to us=
e
>> the
>> >> > IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the
>> error.
>> >> >
>> >> > The new config option is not set by default because it is likely so=
me
>> >> > devices that use IOMMU for DMA on Xen will cause DMA errors and
>> memory
>> >> > corruption when Xen PV block and network drivers are in use on the
>> system.
>> >> >
>> >> > Link:
>> >> >
>> https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@n=
etscape.net/
>> >> >
>> >> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
>> >> > ---
>> >> > The reported error with the Exynos mixer is not fixed by default by
>> adding
>> >> > a second patch to select the new option in the Kconfig definition
>> for the
>> >> > Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it
>> is
>> >> > not certain setting the config option is suitable for all cases. So
>> it is
>> >> > necessary to explicitly select the new config option during the
>> config
>> >> > stage of the Linux kernel build to fix the reported error or simila=
r
>> >> > errors that have the same cause of lack of support for IOMMU on Xen=
.
>> This
>> >> > is necessary to avoid any regressions that might be caused by
>> enabling the
>> >> > new option by default for the Exynos mixer.
>> >> >   arch/arm/mm/dma-mapping.c |  6 ++++++
>> >> >   drivers/xen/Kconfig       | 16 ++++++++++++++++
>> >> >   2 files changed, 22 insertions(+)
>> >> >
>> >> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
>> >> > index 5409225b4abc..ca04fdf01be3 100644
>> >> > --- a/arch/arm/mm/dma-mapping.c
>> >> > +++ b/arch/arm/mm/dma-mapping.c
>> >> > @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev,
>> u64
>> >> > dma_base, u64 size,
>> >> >    if (iommu)
>> >> >            arm_setup_iommu_dma_ops(dev, dma_base, size, iommu,
>> coherent);
>> >> >   +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
>> >>
>> >> FWIW I don't think this really needs a config option - if Xen *has*
>> made an
>> >> IOMMU available, then there isn't really much reason not to use it,
>> and if for
>> >> some reason someone really didn't want to then they could simply
>> disable the
>> >> IOMMU driver anyway.
>> >
>> > The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen
>> > doesn't recognize the Exynos IOMMU (it is not one of the IOMMUs Xen ha=
s
>> > a driver for) so it assigns the IOMMU to Dom0. It doesn't happen on
>> > purpose, it happens by accident. Certain things are going to break,
>> > specifically I am fairly certain PV drivers are going to break.
>> >
>> > If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide =
it
>> > from Dom0. (Today Xen doesn't have a list of IOMMUs Xen recognizes but
>> > doesn't have a driver for.)
>> >
>> > I think it is OK for Chuck and others to play around with this
>> > configuration but I wouldn't add a new kconfig option to Linux to
>> > support it.
>> >
>> > If we do want a kconfig option, I would add a kconfig option or Linux
>> > command line option to enable/disable swiotlb-xen. Basically a way to
>> > force-enable or force-disable xen_swiotlb_detect(). That could be
>> > generally useful for debugging and would also solve the problem here a=
s
>> > it could be used to force-disable swiotlb-xen. I would imagine that th=
e
>> > end result is the same: the default ops (iommu_ops) are used.
>>
>> I will try this. It isn't exactly what I have tested until now because
>> in all my tests so far all the DMA capable devices on the Chromebook use
>> swioltlb-xen except for the two devices that need to use the Exynos IOMM=
U
>> to fix the error with the Exynos mixer.
>>
>> >
>> >
>> >
>> >> > +  if (dev->dma_ops =3D=3D &iommu_ops) {
>> >> > +          dev->archdata.dma_ops_setup =3D true;
>> >>
>> >> The existing assignment is effectively unconditional by this point
>> anyway, so
>> >> could probably just be moved earlier to save duplicating it (or
>> perhaps just
>> >> make the xen_setup_dma_ops() call conditional instead to save the
>> early return
>> >> as well).
>> >>
>> >> However, are the IOMMU DMA ops really compatible with Xen? The
>> comments about
>> >> hypercalls and foreign memory in xen_arch_need_swiotlb() leave me
>> concerned
>> >> that assuming non-coherent DMA to any old Dom0 page is OK might not
>> actually
>> >> work in general :/
>> >
>> > Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the
>> > IOMMU while also it exposes a virtual IOMMU to guests.) In those cases
>> > the iommu_ops should be compatible with Xen.
>> >
>> > swiotlb-xen is useful in cases where there is no IOMMU on the platform
>> > (or the IOMMU doesn't cover all DMA-capable devices) and Dom0 is 1:1
>> > mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0 =
is
>> > not 1:1 mapped swiotlb-xen doesn't work. If an IOMMU is present and
>> > covers all DMA-capable devices, then swiotlb-xen is superfluous.
>>
>> It seems that swiotlb-xen works on this Chromebook since all but two
>> of the DMA capable devices use it when configured with the Kconfig optio=
n
>> added here and it seems to work fine so I presume Dom0 is 1:1 mapped as
>> expected. It is possible that on this device, the IOMMU is only covering
>> the two devices that need to use the Exynos IOMMU in the tests I have
>> done.
>> There are many other DMA capable devices that use swiotlb-xen DMA ops
>> on Xen, but I have not checked what DMA ops the other devices use when
>> Linux runs on the Chromebook on bare metal without Xen.
>>
>> So I plan to do some tests and see what DMA ops the other devices use if
>> swiotlb-xen is disabled and also what DMA ops the other devices use when
>> Linux runs on the Chromebook on bare metal without Xen. If these tests
>> show the problem can be fixed by disabling swiotlb-xen with a Kconfig  o=
r
>> command line option, I will propose v2 to implement that as a solution.
>>
>> > This last case is the interesting case for virtual IOMMU and Linux
>> usage of
>> > iommu_ops.
>>
>
>
> --
> Mario.
>


--=20
Mario.

--0000000000001ee4a3060a41f85f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello to everyone.</div><div><p dir=3D"auto">I&#39;m =
trying to boot Linux 6.1.y as Xen dom0 on
 the Chromebook xe303c12, aka Snow and configure and start a very basic=20
domU guest,following the Chuck&#39;s tutorial,located here : <br></p></div>=
<div><a href=3D"https://github.com/mobile-virt/u-boot-chromebook-xe303c12/t=
ree/chromebook/xen#starting-a-domu-guest" target=3D"_blank">https://github.=
com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-d=
omu-guest</a></div><div><br></div><div>What I did has been to carefully fol=
low his instructions,but I haven&#39;t found a solution to fix this problem=
,yet :</div><div><br></div><div><div dir=3D"ltr"><div><span style=3D"font-f=
amily:monospace"><span style=3D"color:rgb(0,0,0);background-color:rgb(255,2=
55,255)"># sudo xl create devuan.cfg -c
</span><br></span></div><div><span style=3D"font-family:monospace"><br></sp=
an></div><div><span style=3D"font-family:monospace">Parsing config from dev=
uan.cfg
<br>libxl: error: libxl_create.c:720:libxl__domain_make: domain creation fa=
il: Permission denied
<br>libxl: error: libxl_create.c:1309:initiate_domain_create: cannot make d=
omain: -3<br></span></div><div><span style=3D"font-family:monospace"><br></=
span></div><div><div>This is my devuan.cfg file :</div><div><br></div><div>=
<span style=3D"font-family:monospace"><span style=3D"color:rgb(0,0,0);backg=
round-color:rgb(255,255,255)">kernel =3D &#39;/Dati/xen/kernels/zImage-6.1.=
59-stb-xen-cbe+&#39;
</span><br>memory =3D &#39;512&#39;
<br>name =3D &#39;Devuan&#39;
<br>vcpus =3D &#39;1&#39;
<br>disk =3D [ &#39;/Dati/xen/devuan.img,,xvda,w&#39; ]
<br>extra =3D &#39;console=3Dhvc0 root=3D/dev/xvda rw init=3D/sbin/init xen=
-fbfront.video=3D24,1024,768&#39;<br></span></div><div><br></div><div>(I ha=
ve tried also with root=3D/dev/xvda1 and root=3D/dev/xvda2,but leaving disk=
 =3D [ &#39;/Dati/xen/devuan.img,,xvda,w&#39; ]
and not xvda1 or 2)<br></div><div><br></div><span style=3D"font-family:mono=
space"></span></div></div><div><div class=3D"gmail-adm"><div id=3D"gmail-q_=
129" class=3D"gmail-ajR gmail-h4"><div class=3D"gmail-ajT">I have no=C2=A0 =
idea about the reason(s) I always get that error,but I don&#39;t think it i=
s caused by a wrong creation of the devuan.img file. Can someone point me i=
n the right direction to understand what could be wrong ? I haven&#39;t fou=
nd any useful information on the internet.</div><div class=3D"gmail-ajT"><b=
r></div><div class=3D"gmail-ajT">This is bootxen.scr file where I have conf=
igured dom0_mem=3D768 :<br></div><div class=3D"gmail-ajT"><br></div><div cl=
ass=3D"gmail-ajT">mmc dev 1<br>ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen=
-iommu-dma-on-xen<br>ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x510=
04000.ub<br>ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb<br>fdt addr 0x5=
ffec000<br>fdt resize 1024<br>fdt set /chosen \#address-cells &lt;0x2&gt;<b=
r>fdt set /chosen \#size-cells &lt;0x2&gt;<br>fdt set /chosen xen,xen-boota=
rgs &quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=3D768M dom0_max_vcpus=
=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull&quot;<br>fdt mknod /chosen do=
m0<br>fdt set /chosen/dom0 compatible =C2=A0&quot;xen,linux-zimage&quot; &q=
uot;xen,multiboot-module&quot; &quot;multiboot,module&quot;<br>fdt set /cho=
sen/dom0 reg &lt;0x0 0x42000000 0x0 0x87C200 &gt;<br>fdt set /chosen xen,do=
m0-bootargs &quot;console=3Dtty1 root=3D/dev/mmcblk1p4 rw rootwait clk_igno=
re_unused --no-log&quot;<br>bootm 0x51000000 - 0x5ffec000</div><div class=
=3D"gmail-ajT"><br></div><div class=3D"gmail-ajT">and I&#39;ve rebooted the=
 Chromebook using this command :</div><div class=3D"gmail-ajT"><br></div><d=
iv class=3D"gmail-ajT"><pre class=3D"gmail-notranslate"><code>SMDK5250 # mm=
c dev 1
SMDK5250 # ext2load mmc 1:3 0x50000000 bootxen.scr; source 0x50000000<br><b=
r></code></pre><pre class=3D"gmail-notranslate"><code><br>This is the memor=
y available on the machine after having booted the machine ready for xen :<=
br><br></code></pre></div><div class=3D"gmail-ajT"><span style=3D"font-fami=
ly:monospace"><span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,=
255)"># free -m
</span><br> =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=A0total =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0used =
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0free =C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0shared =C2=A0buff/cache =C2=A0=C2=A0available
<br>Mem: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0741 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0329 =C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0108 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A07 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0332 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0412
<br>Swap: =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=A00 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A00 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A00</span></=
div><div class=3D"gmail-ajT"><span style=3D"font-family:monospace"><br></sp=
an></div><div class=3D"gmail-ajT"><span style=3D"font-family:monospace">Tha=
nks in advance for any support. <br></span></div></div></div></div></div></=
div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On=
 Wed, Nov 15, 2023 at 8:41=E2=80=AFPM Mario Marietto &lt;<a href=3D"mailto:=
marietto2008@gmail.com" target=3D"_blank">marietto2008@gmail.com</a>&gt; wr=
ote:<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"><div dir=3D=
"ltr"><div>---&gt; So I plan to do some tests and see what DMA ops the othe=
r devices use if swiotlb-xen is disabled and also what DMA ops the other de=
vices use when
Linux runs on the Chromebook on bare metal without Xen. If these tests show=
 the problem can be fixed by disabling swiotlb-xen with a Kconfig=C2=A0 or
command line option, I will propose v2 to implement that as a solution.</di=
v><div><br></div><div>and this could bring you to the next level of our pro=
ject. Try to install xen on different devices. At least it is my next proje=
ct. I&#39;ve already bought two arm64 phones where xen can be installed bec=
ause there is a hack to overcome the bootloader / hypervisor protection mec=
hanism. For sure I hope that you also want to buy them to work on this toge=
ther. And don&#39;t worry about how much money they will cost you. I&#39;ve=
 bought them used and refurbished. Or you could buy only one,that I suggest=
 could be the SM-A600G (Samsung Galaxy A6) with Exynos7870. Please start lo=
oking for it at a good price.=C2=A0 </div></div><br><div class=3D"gmail_quo=
te"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 15, 2023 at 6:57=E2=
=80=AFPM Chuck Zmudzinski &lt;<a href=3D"mailto:brchuckz@netscape.net" targ=
et=3D"_blank">brchuckz@netscape.net</a>&gt; wrote:<br></div><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex">On 11/14/2023 5:20 PM, Stefano Stabellin=
i wrote:<br>
&gt; On Tue, 14 Nov 2023, Robin Murphy wrote:<br>
&gt;&gt; On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:<br>
&gt;&gt; &gt; Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this er=
ror when<br>
&gt;&gt; &gt; attaching the Exynos mixer in Linux dom0 on Xen on the Chrome=
book Snow<br>
&gt;&gt; &gt; (and probably on other devices that use the Exynos mixer):<br=
>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; [drm] Exynos DRM: using 14400000.fimd device for DMA mapping =
operations<br>
&gt;&gt; &gt; exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)<b=
r>
&gt;&gt; &gt; exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *E=
RROR* Device<br>
&gt;&gt; &gt;=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=A014450000.mixer lacks suppo=
rt for IOMMU<br>
&gt;&gt; &gt; exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc=
0d97554): -22<br>
&gt;&gt; &gt; exynos-drm exynos-drm: adev bind failed: -22<br>
&gt;&gt; &gt; exynos-dp: probe of 145b0000.dp-controller failed with error =
-22<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; Linux normally uses xen_swiotlb_dma_ops for DMA for all devic=
es when<br>
&gt;&gt; &gt; xen_swiotlb is detected even when Xen exposes an IOMMU to Lin=
ux. Enabling<br>
&gt;&gt; &gt; the new config option allows devices such as the Exynos mixer=
 to use the<br>
&gt;&gt; &gt; IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes t=
he error.<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; The new config option is not set by default because it is lik=
ely some<br>
&gt;&gt; &gt; devices that use IOMMU for DMA on Xen will cause DMA errors a=
nd memory<br>
&gt;&gt; &gt; corruption when Xen PV block and network drivers are in use o=
n the system.<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; Link:<br>
&gt;&gt; &gt; <a href=3D"https://lore.kernel.org/xen-devel/acfab1c5-eed1-49=
30-8c70-8681e256c820@netscape.net/" rel=3D"noreferrer" target=3D"_blank">ht=
tps://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netsca=
pe.net/</a><br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; Signed-off-by: Chuck Zmudzinski &lt;<a href=3D"mailto:brchuck=
z@aol.com" target=3D"_blank">brchuckz@aol.com</a>&gt;<br>
&gt;&gt; &gt; ---<br>
&gt;&gt; &gt; The reported error with the Exynos mixer is not fixed by defa=
ult by adding<br>
&gt;&gt; &gt; a second patch to select the new option in the Kconfig defini=
tion for the<br>
&gt;&gt; &gt; Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled beca=
use it is<br>
&gt;&gt; &gt; not certain setting the config option is suitable for all cas=
es. So it is<br>
&gt;&gt; &gt; necessary to explicitly select the new config option during t=
he config<br>
&gt;&gt; &gt; stage of the Linux kernel build to fix the reported error or =
similar<br>
&gt;&gt; &gt; errors that have the same cause of lack of support for IOMMU =
on Xen. This<br>
&gt;&gt; &gt; is necessary to avoid any regressions that might be caused by=
 enabling the<br>
&gt;&gt; &gt; new option by default for the Exynos mixer.<br>
&gt;&gt; &gt;=C2=A0 =C2=A0arch/arm/mm/dma-mapping.c |=C2=A0 6 ++++++<br>
&gt;&gt; &gt;=C2=A0 =C2=A0drivers/xen/Kconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0| 1=
6 ++++++++++++++++<br>
&gt;&gt; &gt;=C2=A0 =C2=A02 files changed, 22 insertions(+)<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapp=
ing.c<br>
&gt;&gt; &gt; index 5409225b4abc..ca04fdf01be3 100644<br>
&gt;&gt; &gt; --- a/arch/arm/mm/dma-mapping.c<br>
&gt;&gt; &gt; +++ b/arch/arm/mm/dma-mapping.c<br>
&gt;&gt; &gt; @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device =
*dev, u64<br>
&gt;&gt; &gt; dma_base, u64 size,<br>
&gt;&gt; &gt;=C2=A0 =C2=A0 if (iommu)<br>
&gt;&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 arm_setup_iommu_dma_=
ops(dev, dma_base, size, iommu, coherent);<br>
&gt;&gt; &gt;=C2=A0 =C2=A0+#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN<br>
&gt;&gt; <br>
&gt;&gt; FWIW I don&#39;t think this really needs a config option - if Xen =
*has* made an<br>
&gt;&gt; IOMMU available, then there isn&#39;t really much reason not to us=
e it, and if for<br>
&gt;&gt; some reason someone really didn&#39;t want to then they could simp=
ly disable the<br>
&gt;&gt; IOMMU driver anyway.<br>
&gt; <br>
&gt; The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen<b=
r>
&gt; doesn&#39;t recognize the Exynos IOMMU (it is not one of the IOMMUs Xe=
n has<br>
&gt; a driver for) so it assigns the IOMMU to Dom0. It doesn&#39;t happen o=
n<br>
&gt; purpose, it happens by accident. Certain things are going to break,<br=
>
&gt; specifically I am fairly certain PV drivers are going to break.<br>
&gt; <br>
&gt; If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide =
it<br>
&gt; from Dom0. (Today Xen doesn&#39;t have a list of IOMMUs Xen recognizes=
 but<br>
&gt; doesn&#39;t have a driver for.)<br>
&gt; <br>
&gt; I think it is OK for Chuck and others to play around with this<br>
&gt; configuration but I wouldn&#39;t add a new kconfig option to Linux to<=
br>
&gt; support it.<br>
&gt; <br>
&gt; If we do want a kconfig option, I would add a kconfig option or Linux<=
br>
&gt; command line option to enable/disable swiotlb-xen. Basically a way to<=
br>
&gt; force-enable or force-disable xen_swiotlb_detect(). That could be<br>
&gt; generally useful for debugging and would also solve the problem here a=
s<br>
&gt; it could be used to force-disable swiotlb-xen. I would imagine that th=
e<br>
&gt; end result is the same: the default ops (iommu_ops) are used.<br>
<br>
I will try this. It isn&#39;t exactly what I have tested until now because<=
br>
in all my tests so far all the DMA capable devices on the Chromebook use<br=
>
swioltlb-xen except for the two devices that need to use the Exynos IOMMU<b=
r>
to fix the error with the Exynos mixer.<br>
<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt;&gt; &gt; +=C2=A0 if (dev-&gt;dma_ops =3D=3D &amp;iommu_ops) {<br>
&gt;&gt; &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 dev-&gt;archdata.dma_ops_=
setup =3D true;<br>
&gt;&gt; <br>
&gt;&gt; The existing assignment is effectively unconditional by this point=
 anyway, so<br>
&gt;&gt; could probably just be moved earlier to save duplicating it (or pe=
rhaps just<br>
&gt;&gt; make the xen_setup_dma_ops() call conditional instead to save the =
early return<br>
&gt;&gt; as well).<br>
&gt;&gt; <br>
&gt;&gt; However, are the IOMMU DMA ops really compatible with Xen? The com=
ments about<br>
&gt;&gt; hypercalls and foreign memory in xen_arch_need_swiotlb() leave me =
concerned<br>
&gt;&gt; that assuming non-coherent DMA to any old Dom0 page is OK might no=
t actually<br>
&gt;&gt; work in general :/<br>
&gt; <br>
&gt; Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the<b=
r>
&gt; IOMMU while also it exposes a virtual IOMMU to guests.) In those cases=
<br>
&gt; the iommu_ops should be compatible with Xen.<br>
&gt; <br>
&gt; swiotlb-xen is useful in cases where there is no IOMMU on the platform=
<br>
&gt; (or the IOMMU doesn&#39;t cover all DMA-capable devices) and Dom0 is 1=
:1<br>
&gt; mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0 =
is<br>
&gt; not 1:1 mapped swiotlb-xen doesn&#39;t work. If an IOMMU is present an=
d<br>
&gt; covers all DMA-capable devices, then swiotlb-xen is superfluous.<br>
<br>
It seems that swiotlb-xen works on this Chromebook since all but two<br>
of the DMA capable devices use it when configured with the Kconfig option<b=
r>
added here and it seems to work fine so I presume Dom0 is 1:1 mapped as<br>
expected. It is possible that on this device, the IOMMU is only covering<br=
>
the two devices that need to use the Exynos IOMMU in the tests I have done.=
<br>
There are many other DMA capable devices that use swiotlb-xen DMA ops<br>
on Xen, but I have not checked what DMA ops the other devices use when<br>
Linux runs on the Chromebook on bare metal without Xen.<br>
<br>
So I plan to do some tests and see what DMA ops the other devices use if<br=
>
swiotlb-xen is disabled and also what DMA ops the other devices use when<br=
>
Linux runs on the Chromebook on bare metal without Xen. If these tests<br>
show the problem can be fixed by disabling swiotlb-xen with a Kconfig=C2=A0=
 or<br>
command line option, I will propose v2 to implement that as a solution.<br>
<br>
&gt; This last case is the interesting case for virtual IOMMU and Linux usa=
ge of<br>
&gt; iommu_ops.<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--0000000000001ee4a3060a41f85f--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 09:53:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 09:53:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634102.989330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Z44-0005Lz-Mu; Thu, 16 Nov 2023 09:53:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634102.989330; Thu, 16 Nov 2023 09:53: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 1r3Z44-0005Ls-KK; Thu, 16 Nov 2023 09:53:36 +0000
Received: by outflank-mailman (input) for mailman id 634102;
 Thu, 16 Nov 2023 09:53: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=X1T5=G5=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1r3Z43-0005Lg-DV
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 09:53:35 +0000
Received: from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de
 [81.169.146.166]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 01393b4f-8466-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 10:53:34 +0100 (CET)
Received: from sender by smtp.strato.de (RZmta 49.9.1 AUTH)
 with ESMTPSA id g1b15czAG9rUTbm
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Thu, 16 Nov 2023 10:53:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01393b4f-8466-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; t=1700128410; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=G6wY6AtshmXhqmrxXRbSL/QyvtfsluE1x6DA6srdeQalkyz5E8F/dZ/G2dXF89O5Vq
    PYS/jxIPN2Ty6CGrIf158Sof+7L3uv93SQ32glJmXc3xnS6E//eXA/t3J1TaDlNFIlHC
    Ze7VMsaaIPB4AJT9SvmaJZdqKPXG7c2F2/YP7Fs+fa+fJpwjqP8+zyTUDzskJoh1cDY5
    oElNDL66M8KGj+lFlpOyo3N/sqdRkdrwyMkfwVLuNZUcltDqyeZcAwHxvjqZ2ePCijlo
    +iRrEQ9VDjvRMRjt8vhLTAh68/3yZpKuqu5DYWQ36K6xuP+qjexDSLk8/6M+l6vfTG9q
    S5eQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1700128410;
    s=strato-dkim-0002; d=strato.com;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=a5ntrmbSeDKC3MIUkTN+rwYj0A/SouzIhz0NCta5JaM=;
    b=BP5oWqGJi1NkhQNOSbXu7P+FpSg/hNRmx0B4rO8Gqx85EGok4m3KikT4ANXknBt65A
    fXNSLE0L4huiGQGfuprnbwEuCeQ+qj7UZxLKwKCAxB1JAahabhI2aXavHougCZm/1lvn
    xUbxDjgiiT4Smr2q7swINgDruBWCkqm7/64dRSovBc/DGspmxqigv6NR2y+bSLjoPc57
    is7ZYT3B39VQEf9QRwgVutWdvdA0vkOIREyTw47Apvd/IQQaFFc4yd7vXX6gOPv4fEos
    dVkWjRoTWRc72jIxUWBCKNObIDOaNj9ax85UnBEHLPSg7QxfYCR5pTkgAC5mnpQdZKDb
    PG0w==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo01
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1700128410;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=a5ntrmbSeDKC3MIUkTN+rwYj0A/SouzIhz0NCta5JaM=;
    b=UXQfpDpeBOA/+uQIoH9PCmXFEnvsddqcUNpFfPvniDr88ck7Xx2c1N0P4Pj+BMWFLo
    HQp6iMSjT8kNXq7u/RvM2VHotHPDlNvVGzarsTQn03DoQ+tDG83SUOIHpO6mmSccCQDB
    7M1y1AHog2zekWbWkPXy0RSuZw13OkkSdWkg9A0cQS+YdmsmEiMReCVH3+FAGRrlQytj
    jkpVrVL9GAhsDXAzRCj+KV3cOjGtUBH6RKSmzy+XsmyWdDGv8a6OYv+5JWFM6itLaHbb
    rpi6WE9WZ+Hyq1TumzGWHHnoqyFrNT4oq/Ja22ECrbCyS4yH8inf1gdIhdgTjvPDuRQv
    1J0g==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1700128410;
    s=strato-dkim-0003; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=a5ntrmbSeDKC3MIUkTN+rwYj0A/SouzIhz0NCta5JaM=;
    b=yjV8xLA93WZtNSIH3tTzY/2X0yG6Zzoe4u3b9IYAOmCl1AGsjv8F4MX54NemKKrNLI
    s1ovWuEf61101zTE0cBw==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR5BhaIaRnsNaqJN2h0dTFZeqQ89seVgD7Tlo9gNQ=="
Date: Thu, 16 Nov 2023 10:53:21 +0100
From: Olaf Hering <olaf@aepfle.de>
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Jan Beulich <jbeulich@suse.com>, Xen-devel
 <xen-devel@lists.xenproject.org>, "anthony.perard@citrix.com"
 <anthony.perard@citrix.com>, "jgross@suse.com" <jgross@suse.com>, Rahul
 Singh <Rahul.Singh@arm.com>, Divin Raj <Divin.Raj@arm.com>
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable
 through 'xl.conf'
Message-ID: <20231116105321.4a59eed4.olaf@aepfle.de>
In-Reply-To: <A6D4B8C2-E781-4964-A757-C72F38169246@arm.com>
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
	<20231115182340.505df6c3.olaf@aepfle.de>
	<4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
	<20231116085629.40a0445b.olaf@aepfle.de>
	<A6D4B8C2-E781-4964-A757-C72F38169246@arm.com>
X-Mailer: Claws Mail 20230817T113819.a897c59c hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/yz=gulrvVJb+Omug_624L6P";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/yz=gulrvVJb+Omug_624L6P
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Thu, 16 Nov 2023 09:21:06 +0000 Luca Fancellu <Luca.Fancellu@arm.com>:

> I see your patch is handling this issue but maybe was not meant to be ups=
treamed,
> so I would like to ask if you are willing to make it upstream-able or if =
it=E2=80=99s not planned
> to do so.

Right now I do not have the time to work on this.

First there need to be an agreement about how the timeout needs to be confi=
gured.


Olaf

--Sig_/yz=gulrvVJb+Omug_624L6P
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

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

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmVV5pEACgkQ86SN7mm1
DoBb8w//XinCmXvCLujEkTR7VJ3BftycYI6brd1nz7xnqb80cVyNyQUc64mBwQHI
N/ydw/R35BQns5AUw2hIk3jpFt9G0ihOi/Gmap3cYMQ57FmmHjL1LMg9vQ7R8M+f
Snr+xiBmCWET7QkyJqyX0hbefQZyWGXLiHurlak8Y6hMtV2N+wWqJS+aBAzdaJJN
YevKmanRIxNpfKEHevtrzVIeJSJaPn47ImA3x/LYkwhtZA+sBjdgxlnxZf4oGwYv
+0BY6n1oVZTXRhdUuao4yeqNrOOjwVsCQuUXogX9RZ48Pyq11pNk6yQeBtqMrQmx
KPy0KfPSZAZ2j6+XzkL4WgJLORruZcnA0DfJI2o5tb48C9wnCOjJ635MytUY+xq+
8wZ0g1uVoMW7wI/iNBg6gMaJG1RV7fXGaw6vPG2BEpPUtCW7vUQFYa42XOASeZYy
bmTr7ogOqJb8wrvJjrN0yOirwjRsbw+2m6jeZjZgQj1cKPUk5YKgZhQ8hqi5euSi
hMqUtfTQ63L7SwL3W1YKEuAnIYqUwAIw4UIogqkXNtyTjmvKG7WPCwBcr7lk4zpr
QQG/Qrv8gj4CYrbyDonXvSrZbdhQpOXv7tJRIyBLo8WLBBzzT6ZdBGnpv2zhF8O1
7rUA9KTzOhkQtdzcB5mnan4aLa855pXw9925sAT6jf0Fj+hFCEI=
=SnGN
-----END PGP SIGNATURE-----

--Sig_/yz=gulrvVJb+Omug_624L6P--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 10:02:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 10:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634107.989340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ZCk-0007wU-II; Thu, 16 Nov 2023 10:02:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634107.989340; Thu, 16 Nov 2023 10: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 1r3ZCk-0007wN-FA; Thu, 16 Nov 2023 10:02:34 +0000
Received: by outflank-mailman (input) for mailman id 634107;
 Thu, 16 Nov 2023 10:02: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=RqoQ=G5=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3ZCj-0007wH-BM
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 10:02:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 41398586-8467-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 11:02:30 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 306694EE0741;
 Thu, 16 Nov 2023 11:02:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41398586-8467-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Thu, 16 Nov 2023 11:02:30 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v4 1/8] xen/include: add macro
 ISOLATE_LOW_BIT
In-Reply-To: <392566d1-109b-413c-b904-0e4cb4007263@suse.com>
References: <cover.1698410970.git.nicola.vetrini@bugseng.com>
 <dca236bf9199f596bafb35eb48d81adc280d8cca.1698410970.git.nicola.vetrini@bugseng.com>
 <f88edc35-6b1b-0136-aa1f-6429652c4016@suse.com>
 <alpine.DEB.2.22.394.2310301536390.1625118@ubuntu-linux-20-04-desktop>
 <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@suse.com>
 <817fab34432c854ce585aba80db77f7c@bugseng.com>
 <8b4e0da82930375b2a95387a9031c73f@bugseng.com>
 <1178b79c-d6a3-a46c-5556-3fb5964dc051@suse.com>
 <392566d1-109b-413c-b904-0e4cb4007263@suse.com>
Message-ID: <6b6f051130b724ee6a813235e049354c@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-16 09:26, Jan Beulich wrote:
> On 31.10.2023 11:20, Jan Beulich wrote:
>> On 31.10.2023 11:03, Nicola Vetrini wrote:
>>> On 2023-10-31 09:28, Nicola Vetrini wrote:
>>>> On 2023-10-31 08:43, Jan Beulich wrote:
>>>>> On 30.10.2023 23:44, Stefano Stabellini wrote:
>>>>>> On Mon, 30 Oct 2023, Jan Beulich wrote:
>>>>>>> On 27.10.2023 15:34, Nicola Vetrini wrote:
>>>>>>>> --- a/xen/include/xen/macros.h
>>>>>>>> +++ b/xen/include/xen/macros.h
>>>>>>>> @@ -8,8 +8,14 @@
>>>>>>>>  #define DIV_ROUND(n, d) (((n) + (d) / 2) / (d))
>>>>>>>>  #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
>>>>>>>> 
>>>>>>>> -#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
>>>>>>>> -#define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
>>>>>>>> +/*
>>>>>>>> + * Given an unsigned integer argument, expands to a mask where
>>>>>>>> just the least
>>>>>>>> + * significant nonzero bit of the argument is set, or 0 if no 
>>>>>>>> bits
>>>>>>>> are set.
>>>>>>>> + */
>>>>>>>> +#define ISOLATE_LOW_BIT(x) ((x) & -(x))
>>>>>>> 
>>>>>>> Not even considering future Misra changes (which aiui may require
>>>>>>> that
>>>>>>> anyway), this generalization of the macro imo demands that its
>>>>>>> argument
>>>>>>> now be evaluated only once.
>>>>>> 
>>>>>> Fur sure that would be an improvement, but I don't see a trivial 
>>>>>> way
>>>>>> to
>>>>>> do it and this issue is also present today before the patch.
>>>>> 
>>>>> This was an issue here for MASK_EXTR() and MASK_INSR(), yes, but 
>>>>> the
>>>>> new
>>>>> macro has wider use, and there was no issue elsewhere so far.
>>>>> 
>>>>>> I think it
>>>>>> would be better to avoid scope-creeping this patch as we are 
>>>>>> already
>>>>>> at
>>>>>> v4 for something that was expected to be a trivial mechanical 
>>>>>> change.
>>>>>> I
>>>>>> would rather review the fix as a separate patch, maybe sent by you 
>>>>>> as
>>>>>> you probably have a specific implementation in mind?
>>>>> 
>>>>> #define ISOLATE_LOW_BIT(x) ({ \
>>>>>     typeof(x) x_ = (x); \
>>>>>     x_ & -x_; \
>>>>> })
>>>>> 
>>>>> Hard to see the scope creep here. What I would consider scope creep 
>>>>> I
>>>>> specifically didn't even ask for: I'd like this macro to be
>>>>> overridable
>>>>> by an arch. Specifically (see my earlier naming hint) I'd like to 
>>>>> use
>>>>> x86's BMI insn BLSI in the context of "x86: allow Kconfig control 
>>>>> over
>>>>> psABI level", when ABI v2 or higher is in use.
>>>> 
>>>> I appreciate you suggesting an implementation; I'll send a v5
>>>> incorporating it.
>>> 
>>> There's an issue with this approach, though: since the macro is used
>>> indirectly
>>> in expressions that are e.g. case labels or array sizes, the build 
>>> fails
>>> (see [1] for instance).
>>> Perhaps it's best to leave it as is?
>> 
>> Hmm. I'm afraid it's not an option to "leave as is", not the least 
>> because
>> - as said - I'm under the impression that another Misra rule requires
>> macro arguments to be evaluated exactly once. Best I can think of 
>> right
>> away is to have a macro for limited use (to address such build issues)
>> plus an inline function (for general use). But yes, maybe that then 
>> indeed
>> needs to be a 2nd step.
> 
> While I've committed this patch (hoping that I got the necessary 
> context
> adjustment right for the 
> automation/eclair_analysis/ECLAIR/deviations.ecl
> change), I'd like to come back to this before going further with users 
> of
> the new macro: I still think we ought to try to get to the single
> evaluation wherever possible. The macro would then be used only in 
> cases
> where the alternative construct (perhaps an isolate_lsb() macro, living
> perhaps in xen/bitops.h) cannot be used. ISOLATE_LSB() would then want 
> to
> gain a comment directing people to the "better" sibling. Thoughts?
> 

Having the users in place would help me estimate the remaining work that 
needs to be done on this rule and see if my local counts match up with 
the counts in staging.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 10:26:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 10:26:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634111.989350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ZZO-0003oM-Bz; Thu, 16 Nov 2023 10:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634111.989350; Thu, 16 Nov 2023 10:25: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 1r3ZZO-0003oF-9C; Thu, 16 Nov 2023 10:25:58 +0000
Received: by outflank-mailman (input) for mailman id 634111;
 Thu, 16 Nov 2023 10:25: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3ZZM-0003mx-A0
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 10:25:56 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2058.outbound.protection.outlook.com [40.107.13.58])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 859c2d7b-846a-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 11:25:54 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9633.eurprd04.prod.outlook.com (2603:10a6:10:311::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.9; Thu, 16 Nov
 2023 10:25:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 10: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: 859c2d7b-846a-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AIgN3eDVapxb9eVBLjdflWeLCqHfqNoeeFCpdFcAR7eG4rAro+hJxDqcwHmSmF3/pNV6PqyB4IaGnM6A5KOLTDqvWygHkocaf90CCSZdQrRoRDGRTqL25znpAmf7lUtr4KGk5NAXKzbW2yPNNCApLbZ3j/HmcovV/aLKxB6/Smr9f0BNAXBPrhQv20BscAJ8QyysrKGJClPDiu57vOjtUZ4iAffec1ZtLc7HgxXMtW3DnBtxkdrCyBIcB+RQmEJVffW/bOk8h85rc89AgSmAW5E22rsuJVIUcwsPYDXcapzQS8OYe4p0/y+Azrdu07LKMRm4k50koUuJhbT3kfV8Tw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=11NTYYc8ynzNr+TD5Q+eSd5YiRCqhuwxGSHS/BM615w=;
 b=WIGtwsAiws0C4JKXIMATzfk5gPaho/l6ovFyTnb/BTqi+S9KS1/uSjZFIoHUiV7xd6/vUAMRj+8dtSuMZsFK7L9k1UEEchXD9uqX3FLypx/ibI/3C5r/Z9eW5B+ArZwsoMrXF6zMixOl/aynb6SDPWK16ZNAm6ynUG6J0bZOjUdFk4Vk3OgsPyOTvUD4bHmdFR+3cu8nTOV9OaaJOZgCrh8b4dZeeLE+6ZAmpzl52ZZXHP7IBAbaXpHPXzxI21mkIZJVgaMd3uw++sG2nWhiOwjBcRNXXxoF5LG62RmRbo3WNkKVKA/so0mJTv7S1huMI1WwSeXO5CEDfKamNs6+Ag==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=11NTYYc8ynzNr+TD5Q+eSd5YiRCqhuwxGSHS/BM615w=;
 b=RQJKJkpOGGNHtxuAdVU5m+UHGf+el1kvHjZQrZ0I0lvehYF8AdrCoZoY/qoXUAt/dWLsxYAYvT82AehsbSm/Rqtrz3fzXrCk6hm6HhGPkxQubXAZNu8iBoaVEhBrcBIdbq514b5DmIE5dnljo+l/w16VdiUkF2yJEvJ7pY7QpBS6gtu3lXhTAhbL5sLHmRQf2DMI1ojPt0UyEOx8sMnnpjHEi0TYWf3hRcviMVzK0/oMmG7qSdMI9k+HOMDFxmzlmYIpFvEHcGav+GpGcrr/HLBICJln/wVS3VOuCq4cSyZ7ZtV0UAjoCu16CB4tfIvDYXyOuN2WvgS9SX/AbbxwSw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7cbf6f0f-d5b1-44e2-9a0e-a9d7d353eb6b@suse.com>
Date: Thu, 16 Nov 2023 11:25:20 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19 v4 1/8] xen/include: add macro
 ISOLATE_LOW_BIT
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1698410970.git.nicola.vetrini@bugseng.com>
 <dca236bf9199f596bafb35eb48d81adc280d8cca.1698410970.git.nicola.vetrini@bugseng.com>
 <f88edc35-6b1b-0136-aa1f-6429652c4016@suse.com>
 <alpine.DEB.2.22.394.2310301536390.1625118@ubuntu-linux-20-04-desktop>
 <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@suse.com>
 <817fab34432c854ce585aba80db77f7c@bugseng.com>
 <8b4e0da82930375b2a95387a9031c73f@bugseng.com>
 <1178b79c-d6a3-a46c-5556-3fb5964dc051@suse.com>
 <392566d1-109b-413c-b904-0e4cb4007263@suse.com>
 <6b6f051130b724ee6a813235e049354c@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6b6f051130b724ee6a813235e049354c@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0370.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f8::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9633:EE_
X-MS-Office365-Filtering-Correlation-Id: 6bc6b36a-ce9e-4e49-7f48-08dbe68e57b8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4BMxeyfsMPdM7lUvfSwJMfFqmy0p/gEoIw7JCdHJamOHNNPgii6w6jz+iTFY+FKvQQnIpKCOLoyMOGtx0CRgyxkZu26XETnW4Kw9oV5sKK8Ar8gYhgxRsmaj2XCjRV6gCiLaOGF5pTCaO09+6CgJO+zBIcR8obiKeyu/GC5EvE1+35ucUEG3PxNWy7kDDXhkAZGhO2y2twTTxoWVRtcHLd3fAN+3Pdx4lJKbFrQBpo1Id0w/nRtDhI/xsbNwo5pQNTmlyVg6ytkRqlLbq9WGQRiwD0nk1zS604CTDI8Kl5bGM0es0qRPpWHjkOx7s1s6rifcPw1YbY7NI8WLRMY8yMhgM1d76kcN7ApkuhkVWIRFE9rOifc3hxdXZU8iFP4TGHMQClqiuYPuhVscqAErfTf5Gmq7SCyBUrHaYP6ixXHCguRJ9oKu6mRzsUxwtCohURkVpvf8hGKMQAwFTqXqAZ3h4iht3iBCiXwA+598pOIN1eIIX0PoD1OPxKdZu9sLUj3xyhB7xEoQn86yd8CUvYuKRSo6GfeUaBM2MAiOW0azgyNtT/UdGatkyLESins4UF5wx2YiKjkvF163rbYvkvg4B2nHkS1yAWdTDatTGrTHHs/nsnpLsVFiQAfZoeZp5W/oWejNpxWx4Xkl+vDuyQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(136003)(39860400002)(396003)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(31686004)(66946007)(66476007)(6916009)(54906003)(66556008)(38100700002)(86362001)(31696002)(83380400001)(26005)(36756003)(6506007)(6512007)(2616005)(53546011)(6666004)(2906002)(4001150100001)(316002)(6486002)(5660300002)(8676002)(4326008)(8936002)(478600001)(41300700001)(7416002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RTcvcVA1V2p3cnVqcjE5SWsrYkNHZE9oNDY3akVPdHV4ZHNrU2U1TzZrS3k4?=
 =?utf-8?B?UmNoSExKSU44Z2hzRmRkTENPZDJzTkoyd1dCZEhiRlA0M1dzMHVEYVZocUpK?=
 =?utf-8?B?cUVmTmxYSDFQa3ZhKzJQM0FocHdMQWhoTDQxd2JuKzhLK1dZYmVUL2hSUDVz?=
 =?utf-8?B?bzVudXBLT3htd0x5VHNIM3Rja1ZlRXdBcllDMmljeFNSMUtuM2lHWDFrU256?=
 =?utf-8?B?SThEU3lEQVVINWhIUGxhMDZIK213cm03U3BzdlM3YVlFcnpxWXE5OTBnaFRy?=
 =?utf-8?B?THhMY1Nkc3E3ekFwOWswTlEwbnE5cDk0S1BENFdOSXlTbjIxUnZoRlhEQVYy?=
 =?utf-8?B?eVBrNHBtR2g1R1FNSExXVGsrRk9MdFVjcHRnUERaZFB6QTFVV3BmQzJ1TjA5?=
 =?utf-8?B?NnQzWXZKTFgxZkFDSGtjRk1zNTF6QTJNdjlCazhzT3RPZlpkQU42K2tlZ1pp?=
 =?utf-8?B?MXVXMGw0bDlSRWVjQ0NXRVVNcFRFRDVpaW92TmM2N0ZaT3JGYmRSek0zQmpn?=
 =?utf-8?B?aUxiT1VUVnJLQXAxU1VlNzdjc2JvRmlxL2FvT2k0OThySU1DWHJXUlJWNjRj?=
 =?utf-8?B?dHUyRW9mTFI0cTdJNEFDRFJEUjVINm55a2wwdFZZejVzc2pHbURnbTdTMC9Y?=
 =?utf-8?B?N1N2UDd6ODZxSThPalJSSU83S3hVbGY1SVdvKy9HQUZObzUrdS8vU05PTE1H?=
 =?utf-8?B?WTJKTFFtdm85dFZ2SDJpY05iUUM4Z3p0Ky9SWnFUVk9XcGVwaWxKMXZlaEUy?=
 =?utf-8?B?dmhLTDljSVVvL2ZxWWpuSDVUOTl6aXdTMGZraGU4cUE2YnJaOEpLS2JZU0pH?=
 =?utf-8?B?ZTZiZlRhOWlKenhXUUpVZjN1RWt1Wkc0ZGE4aFdESExZVkhqdmNFdXYwS3Fq?=
 =?utf-8?B?VDB2LzFEc014enNheWhqRDJBZzhzZnBhUWljTW9oYmdtTG1VcTlGeXIxbUpq?=
 =?utf-8?B?cURzMW1WTmZoU245V2w4WnhLM0JmLzBPa0lXb2QrLzZoLzFCM0ZsUFlyWGIx?=
 =?utf-8?B?Y3ZiaXlLcUJXUTg0U2t6d1RveVp3SFRnZStRdC9VSVJtMWIyaEFycW1jOExY?=
 =?utf-8?B?V3hQTzU2T2JKWjNVMTZ5NU41eWY2cTBmYjFlUWVWK0FRdHp6S1VyeVVnaDlu?=
 =?utf-8?B?RmZhRFc4djhPa0pzTU1zTGN2ZUZlbFdNcjROYlNIWG9BV3FBQnlRL3NzcXdD?=
 =?utf-8?B?cXgxWll1ZUsxR1d2QVZGMFQ1Qi9ldGc3Q2FpV0hNOStqRHo1L3doNExpSWhH?=
 =?utf-8?B?djVWUmlCbTZYc05COERvREJkUllDRm4wNGIvdWd5YlU4R1BCY01nYWhqbW1R?=
 =?utf-8?B?WnVxQUsxUEdBNmtJQWNEeFNtclFad3E1Z1A0RUVPZEdVeXl4dERmWGRHekpi?=
 =?utf-8?B?M3FBZ2ZhLytBQ05Rd1RnL3pvQUFDYXMzaFM2aUIyYXdWbW1SRXhIZExhU29I?=
 =?utf-8?B?S0diZ1FhdmFqb0ZsaHVUUGFsay80UWtwRjFpRGFnTzI0ZHBJUUNPb0JEdEQ1?=
 =?utf-8?B?MmhYODBLZDZtNUxoQkZtRU9qY0FFRW11a3cwZHN3RWhKOTVRb2FpS0o4c3E5?=
 =?utf-8?B?V0ZFb0RsNVR2QnRHekFEajNqK0JDVm9PczBaMDFlVjJEUVkxZEpJd3VJR3Z2?=
 =?utf-8?B?NElqM08raHljUFdmYzJLL0JIY0hVV3pldWg5TWVMeDBFOG5SNXhKUlZVQmpQ?=
 =?utf-8?B?LzNnYnVScTRVLzV1K1Z6b0ZkaUVjdWRKWS9FV1B2Z1VKZlBLNEJ2NWlNdTN4?=
 =?utf-8?B?cGZkZHJxWkxxTjM3Mmsxa3FhSndjZVZsMTFVT21vdUg3NnlKMmR4Z29OdmRv?=
 =?utf-8?B?MHZlakhWb3RXY2JtdEdsaFdleFMzWllvNWRyZGhvSERaZDM0QlIxcldsL2Rv?=
 =?utf-8?B?YjlrSFlqdE1PYVdTSFBtZllNZzZxeU1sTzBoLzhVUmFvckpiTzBWcHl1TmpY?=
 =?utf-8?B?bFVkUWR6OUJWdjNRakdmd1dZemhCUXdwdnFvQTc0QUN5TWloNmpWb3FTSEV2?=
 =?utf-8?B?WG5NeUpaSGltK3A3dFhmUDlNOVdsQUdlNjZZem50N2pFYXJOMzU1Ui8yamln?=
 =?utf-8?B?dk9JazVmbjBwdFNJeUF6NUU3NjJOYkFKMEpBQkMxdk12TjFQSUhrcjFlNVd3?=
 =?utf-8?Q?an7W7IVJ/0SVKD005bE/TKl+n?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6bc6b36a-ce9e-4e49-7f48-08dbe68e57b8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 10:25:24.0851
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iHJUHummkQ7OyhXspmQx+4JUhazVxCR7XsgoIiKGSI8yDWQBN4tKn4E67YriH4Q52pGR+LmIzXBh2pJodK1aUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9633

On 16.11.2023 11:02, Nicola Vetrini wrote:
> On 2023-11-16 09:26, Jan Beulich wrote:
>> On 31.10.2023 11:20, Jan Beulich wrote:
>>> On 31.10.2023 11:03, Nicola Vetrini wrote:
>>>> On 2023-10-31 09:28, Nicola Vetrini wrote:
>>>>> On 2023-10-31 08:43, Jan Beulich wrote:
>>>>>> On 30.10.2023 23:44, Stefano Stabellini wrote:
>>>>>>> On Mon, 30 Oct 2023, Jan Beulich wrote:
>>>>>>>> On 27.10.2023 15:34, Nicola Vetrini wrote:
>>>>>>>>> --- a/xen/include/xen/macros.h
>>>>>>>>> +++ b/xen/include/xen/macros.h
>>>>>>>>> @@ -8,8 +8,14 @@
>>>>>>>>>  #define DIV_ROUND(n, d) (((n) + (d) / 2) / (d))
>>>>>>>>>  #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
>>>>>>>>>
>>>>>>>>> -#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
>>>>>>>>> -#define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
>>>>>>>>> +/*
>>>>>>>>> + * Given an unsigned integer argument, expands to a mask where
>>>>>>>>> just the least
>>>>>>>>> + * significant nonzero bit of the argument is set, or 0 if no 
>>>>>>>>> bits
>>>>>>>>> are set.
>>>>>>>>> + */
>>>>>>>>> +#define ISOLATE_LOW_BIT(x) ((x) & -(x))
>>>>>>>>
>>>>>>>> Not even considering future Misra changes (which aiui may require
>>>>>>>> that
>>>>>>>> anyway), this generalization of the macro imo demands that its
>>>>>>>> argument
>>>>>>>> now be evaluated only once.
>>>>>>>
>>>>>>> Fur sure that would be an improvement, but I don't see a trivial 
>>>>>>> way
>>>>>>> to
>>>>>>> do it and this issue is also present today before the patch.
>>>>>>
>>>>>> This was an issue here for MASK_EXTR() and MASK_INSR(), yes, but 
>>>>>> the
>>>>>> new
>>>>>> macro has wider use, and there was no issue elsewhere so far.
>>>>>>
>>>>>>> I think it
>>>>>>> would be better to avoid scope-creeping this patch as we are 
>>>>>>> already
>>>>>>> at
>>>>>>> v4 for something that was expected to be a trivial mechanical 
>>>>>>> change.
>>>>>>> I
>>>>>>> would rather review the fix as a separate patch, maybe sent by you 
>>>>>>> as
>>>>>>> you probably have a specific implementation in mind?
>>>>>>
>>>>>> #define ISOLATE_LOW_BIT(x) ({ \
>>>>>>     typeof(x) x_ = (x); \
>>>>>>     x_ & -x_; \
>>>>>> })
>>>>>>
>>>>>> Hard to see the scope creep here. What I would consider scope creep 
>>>>>> I
>>>>>> specifically didn't even ask for: I'd like this macro to be
>>>>>> overridable
>>>>>> by an arch. Specifically (see my earlier naming hint) I'd like to 
>>>>>> use
>>>>>> x86's BMI insn BLSI in the context of "x86: allow Kconfig control 
>>>>>> over
>>>>>> psABI level", when ABI v2 or higher is in use.
>>>>>
>>>>> I appreciate you suggesting an implementation; I'll send a v5
>>>>> incorporating it.
>>>>
>>>> There's an issue with this approach, though: since the macro is used
>>>> indirectly
>>>> in expressions that are e.g. case labels or array sizes, the build 
>>>> fails
>>>> (see [1] for instance).
>>>> Perhaps it's best to leave it as is?
>>>
>>> Hmm. I'm afraid it's not an option to "leave as is", not the least 
>>> because
>>> - as said - I'm under the impression that another Misra rule requires
>>> macro arguments to be evaluated exactly once. Best I can think of 
>>> right
>>> away is to have a macro for limited use (to address such build issues)
>>> plus an inline function (for general use). But yes, maybe that then 
>>> indeed
>>> needs to be a 2nd step.
>>
>> While I've committed this patch (hoping that I got the necessary 
>> context
>> adjustment right for the 
>> automation/eclair_analysis/ECLAIR/deviations.ecl
>> change), I'd like to come back to this before going further with users 
>> of
>> the new macro: I still think we ought to try to get to the single
>> evaluation wherever possible. The macro would then be used only in 
>> cases
>> where the alternative construct (perhaps an isolate_lsb() macro, living
>> perhaps in xen/bitops.h) cannot be used. ISOLATE_LSB() would then want 
>> to
>> gain a comment directing people to the "better" sibling. Thoughts?
> 
> Having the users in place would help me estimate the remaining work that 
> needs to be done on this rule and see if my local counts match up with 
> the counts in staging.

By "having the users in place", you mean you want other patches in this
and the dependent series to be committed as-is (except for the name
change)? That's what I'd like to avoid, as it would mean touching all
those use sites again where the proposed isolate_lsb() could be used
instead. I'd rather see all use sites be put into their final shape
right away.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 10:35:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 10:35:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634114.989360 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3Zit-0005xW-9d; Thu, 16 Nov 2023 10:35:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634114.989360; Thu, 16 Nov 2023 10:35: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 1r3Zit-0005xP-6A; Thu, 16 Nov 2023 10:35:47 +0000
Received: by outflank-mailman (input) for mailman id 634114;
 Thu, 16 Nov 2023 10:35: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 1r3Zir-0005xJ-Pe
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 10:35: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 1r3Ziq-0002mC-St; Thu, 16 Nov 2023 10:35:44 +0000
Received: from [15.248.3.7] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3Ziq-0000Hx-Lu; Thu, 16 Nov 2023 10:35: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=lDunPYJEu0qlRXFSN9pmtjJoSe6aYhhOxDGP0YUPEFw=; b=oAaD1H+lDPqO4UBiIrYCusMhi+
	4TCe2xHopKcvvVlOLLpJR/shNrFmAwQ4P03dXz9LuIPjpWyKE3guX8OL7NV6MvsY8cI7uyLkJO3IC
	gSUvUIaQbnDi6tkOKsIIhetcfNhg1A+u1at1BRkA/LwtktcLmdI+BHmm8aAs1HwCoF8g=;
Message-ID: <bb7fb994-02e0-43a3-ade4-f3472d832696@xen.org>
Date: Thu, 16 Nov 2023 10:35:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH for-4.18] SUPPORT.md: Define support lifetime
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 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>,
 Henry Wang <Henry.Wang@arm.com>
References: <20231115121632.63868-1-julien@xen.org>
 <AA42890F-2B1D-4DCA-939B-4F7BCB073891@arm.com>
 <c010e6c5-f352-46da-bb23-cd668de6a0a8@xen.org>
 <a64fec3e-0d60-4495-aecc-f1fe44627234@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <a64fec3e-0d60-4495-aecc-f1fe44627234@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Jan,

On 16/11/2023 08:32, Jan Beulich wrote:
> On 15.11.2023 13:35, Julien Grall wrote:
>> Hi Henry,
>>
>> On 15/11/2023 12:27, Henry Wang wrote:
>>>> On Nov 15, 2023, at 20:16, Julien Grall <julien@xen.org> wrote:
>>>>
>>>> From: Julien Grall <jgrall@amazon.com>
>>>>
>>>> Signed-off-by: Julien Grall <jgrall@amazon.com>
>>>> ---
>>>> SUPPORT.md | 8 ++++----
>>>> 1 file changed, 4 insertions(+), 4 deletions(-)
>>>>
>>>> diff --git a/SUPPORT.md b/SUPPORT.md
>>>> index fff4b4c5bad6..c452635eb552 100644
>>>> --- a/SUPPORT.md
>>>> +++ b/SUPPORT.md
>>>> @@ -9,10 +9,10 @@ for the definitions of the support status levels etc.
>>>>
>>>> # Release Support
>>>>
>>>> -    Xen-Version: 4.18-rc
>>>> -    Initial-Release: n/a
>>>> -    Supported-Until: TBD
>>>> -    Security-Support-Until: Unreleased - not yet security-supported
>>>> +    Xen-Version: 4.18
>>>> +    Initial-Release: 2023-11-16
>>>> +    Supported-Until: 2025-05-16
>>>> +    Security-Support-Until: 2025-11-16
>>>
>>> I thought we have a 3 years’ support lifetime, so maybe it should be 2026-11-16, but not sure
>>> if it is still the case.
>>
>> Hmmm... You are right for the security support. I didn't do the math
>> properly.
>>
>> So it should be 2026-11-16.
> 
> Assuming this is the patch you said on Matrix you want my ack for, with
> this adjustment
> Acked-by: Jan Beulich <jbeulich@suse.com>

Yes this was the patch. Thanks! I will commit and and tag 4.18.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 11:03:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 11:03:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634118.989370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3a9j-0003da-H7; Thu, 16 Nov 2023 11:03:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634118.989370; Thu, 16 Nov 2023 11:03: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 1r3a9j-0003dT-Do; Thu, 16 Nov 2023 11:03:31 +0000
Received: by outflank-mailman (input) for mailman id 634118;
 Thu, 16 Nov 2023 11:03: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 1r3a9i-0003dN-So
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 11:03: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 1r3a9h-0003HB-7P; Thu, 16 Nov 2023 11:03:29 +0000
Received: from [15.248.3.7] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3a9h-0001bE-1N; Thu, 16 Nov 2023 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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=7qCErnfExrAX/B1MOnPKMeoyiIIKF9jWJ+6CqwtwEFc=; b=z6Iabcy4gbXq2bqyzpB2Xkf2SK
	pJ6DhFJ3SdlepKwg+t8O1GNIseT3gJ1BVJ7KBUfc8W54hDn21qVLZlR19X/T+E10zsDByIeHpEicO
	H3w0yWSamLL2PgRMXO71bw2qjXfL0mvJc3SIsgOGWzyBH+6u6QSaFQQP31tJ01IxYVrE=;
Message-ID: <d4778dd4-8b7b-470b-adaa-ab5e7c36f097@xen.org>
Date: Thu, 16 Nov 2023 11:03:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: 4.18 vs mini-os
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, Henry Wang <Henry.Wang@arm.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Juergen Gross <jgross@suse.com>
References: <9202e48c-d2fe-4474-abd5-3110b805cf89@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9202e48c-d2fe-4474-abd5-3110b805cf89@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

+ Juergen

On 16/11/2023 07:52, Jan Beulich wrote:
> All,

Hi Jan,

> may I ask on what basis the xen-RELEASE-4.18.0 tag placement was chosen?
> It matches the 4.17 ones, despite there having been new commits from
> Jürgen dating back to January / February. (My own build fix would have
> been nice to have, too, but I can see how that came late.)

Before the tagging, the last time we updated to MINIOS_UPSTREAM_COMMIT 
was in July 2022 (see below).

When I prepare the release, I don't have steps to check this is the 
latest Mini-OS. Instead, I use the commit in the tag.

I believe this is the responsibility of whoever decide to add a commit 
in Mini-OS to also make sure Config.mk is updated accordingly.

Anyway, we never tested Xen 4.18 (even before RC) with the new Mini-OS. 
So I don't think it is sensible to update it at this stage of the 
release. But I would suggest to send a patch to update Config.mk so the 
problem doesn't re-occur for 4.19.

Cheers,

commit 980bfb1ac9247e95790e283dbc03e231e02cced9
Author: Juergen Gross <jgross@suse.com>
Date:   Fri Jul 8 09:42:27 2022 +0200

     Config.mk: use newest Mini-OS commit

     Switch to use the newest Mini-OS commit in order to get the recent
     fixes.

     Signed-off-by: Juergen Gross <jgross@suse.com>
     Acked-by: Jan Beulich <jbeulich@suse.com>

diff --git a/Config.mk b/Config.mk
index a806ef0afb..e56844d964 100644
--- a/Config.mk
+++ b/Config.mk
@@ -230,7 +230,7 @@ MINIOS_UPSTREAM_URL ?= git://xenbits.xen.org/mini-os.git
  endif
  OVMF_UPSTREAM_REVISION ?= 7b4a99be8a39c12d3a7fc4b8db9f0eab4ac688d5
  QEMU_UPSTREAM_REVISION ?= master
-MINIOS_UPSTREAM_REVISION ?= 83ff43bff4bdd6879539fcb2b3d6ba5e61a64135
+MINIOS_UPSTREAM_REVISION ?= 5bcb28aaeba1c2506a82fab0cdad0201cd9b54b3

  SEABIOS_UPSTREAM_REVISION ?= rel-1.16.0

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 11:06:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 11:06:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634120.989379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3aCJ-0004LD-U0; Thu, 16 Nov 2023 11:06:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634120.989379; Thu, 16 Nov 2023 11:06: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 1r3aCJ-0004L6-RS; Thu, 16 Nov 2023 11:06:11 +0000
Received: by outflank-mailman (input) for mailman id 634120;
 Thu, 16 Nov 2023 11:06: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=pm+N=G5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r3aCI-0004L0-Kj
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 11:06:10 +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 22e43633-8470-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 12:06:05 +0100 (CET)
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 A7DA3204FF;
 Thu, 16 Nov 2023 11:06: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 7D3AE139C4;
 Thu, 16 Nov 2023 11:06:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OBYXHZz3VWX5PQAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 16 Nov 2023 11:06: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: 22e43633-8470-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700132764; 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:autocrypt:autocrypt;
	bh=+nA+TmpLdgB8xIBrmVgjfVNMLiBjkUKOe/p/rKNm2Cw=;
	b=ssP4qEs5yHtBstNCex8uEUovlSA5QDPipa9NCh2bQ0h2Zu698sUs0V2lZShsTmTEOOvWJU
	NWoiMysZkeP2aERcVYQG9GEcXF+3ldOgwPvpTvg0otyNDwIBWKy1fRcviONZnNnrUKB89e
	RS6rg+CtEx4JAenExWTKrZFaoUjALNo=
Message-ID: <d9e3939c-d0a9-44c1-b2ad-e10ab12466ea@suse.com>
Date: Thu, 16 Nov 2023 12:06:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: 4.18 vs mini-os
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Henry Wang <Henry.Wang@arm.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <9202e48c-d2fe-4474-abd5-3110b805cf89@suse.com>
 <d4778dd4-8b7b-470b-adaa-ab5e7c36f097@xen.org>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <d4778dd4-8b7b-470b-adaa-ab5e7c36f097@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------AtkHqfS0CgV0Beuf9MmJNhz7"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -4.58
X-Spamd-Result: default: False [-4.58 / 50.00];
	 ARC_NA(0.00)[];
	 TO_DN_EQ_ADDR_SOME(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-1.39)[90.83%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------AtkHqfS0CgV0Beuf9MmJNhz7
Content-Type: multipart/mixed; boundary="------------3DooOHdc07xcmZmPP6mQqYib";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Henry Wang <Henry.Wang@arm.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Message-ID: <d9e3939c-d0a9-44c1-b2ad-e10ab12466ea@suse.com>
Subject: Re: 4.18 vs mini-os
References: <9202e48c-d2fe-4474-abd5-3110b805cf89@suse.com>
 <d4778dd4-8b7b-470b-adaa-ab5e7c36f097@xen.org>
In-Reply-To: <d4778dd4-8b7b-470b-adaa-ab5e7c36f097@xen.org>

--------------3DooOHdc07xcmZmPP6mQqYib
Content-Type: multipart/mixed; boundary="------------shUfe5AtKof3d3SU3C5rHpsW"

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

T24gMTYuMTEuMjMgMTI6MDMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gKyBKdWVyZ2VuDQo+
IA0KPiBPbiAxNi8xMS8yMDIzIDA3OjUyLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+IEFsbCwN
Cj4gDQo+IEhpIEphbiwNCj4gDQo+PiBtYXkgSSBhc2sgb24gd2hhdCBiYXNpcyB0aGUgeGVu
LVJFTEVBU0UtNC4xOC4wIHRhZyBwbGFjZW1lbnQgd2FzIGNob3Nlbj8NCj4+IEl0IG1hdGNo
ZXMgdGhlIDQuMTcgb25lcywgZGVzcGl0ZSB0aGVyZSBoYXZpbmcgYmVlbiBuZXcgY29tbWl0
cyBmcm9tDQo+PiBKw7xyZ2VuIGRhdGluZyBiYWNrIHRvIEphbnVhcnkgLyBGZWJydWFyeS4g
KE15IG93biBidWlsZCBmaXggd291bGQgaGF2ZQ0KPj4gYmVlbiBuaWNlIHRvIGhhdmUsIHRv
bywgYnV0IEkgY2FuIHNlZSBob3cgdGhhdCBjYW1lIGxhdGUuKQ0KPiANCj4gQmVmb3JlIHRo
ZSB0YWdnaW5nLCB0aGUgbGFzdCB0aW1lIHdlIHVwZGF0ZWQgdG8gTUlOSU9TX1VQU1RSRUFN
X0NPTU1JVCB3YXMgaW4gDQo+IEp1bHkgMjAyMiAoc2VlIGJlbG93KS4NCj4gDQo+IFdoZW4g
SSBwcmVwYXJlIHRoZSByZWxlYXNlLCBJIGRvbid0IGhhdmUgc3RlcHMgdG8gY2hlY2sgdGhp
cyBpcyB0aGUgbGF0ZXN0IA0KPiBNaW5pLU9TLiBJbnN0ZWFkLCBJIHVzZSB0aGUgY29tbWl0
IGluIHRoZSB0YWcuDQo+IA0KPiBJIGJlbGlldmUgdGhpcyBpcyB0aGUgcmVzcG9uc2liaWxp
dHkgb2Ygd2hvZXZlciBkZWNpZGUgdG8gYWRkIGEgY29tbWl0IGluIA0KPiBNaW5pLU9TIHRv
IGFsc28gbWFrZSBzdXJlIENvbmZpZy5tayBpcyB1cGRhdGVkIGFjY29yZGluZ2x5Lg0KPiAN
Cj4gQW55d2F5LCB3ZSBuZXZlciB0ZXN0ZWQgWGVuIDQuMTggKGV2ZW4gYmVmb3JlIFJDKSB3
aXRoIHRoZSBuZXcgTWluaS1PUy4gU28gSSANCj4gZG9uJ3QgdGhpbmsgaXQgaXMgc2Vuc2li
bGUgdG8gdXBkYXRlIGl0IGF0IHRoaXMgc3RhZ2Ugb2YgdGhlIHJlbGVhc2UuIEJ1dCBJIA0K
PiB3b3VsZCBzdWdnZXN0IHRvIHNlbmQgYSBwYXRjaCB0byB1cGRhdGUgQ29uZmlnLm1rIHNv
IHRoZSBwcm9ibGVtIGRvZXNuJ3QgDQo+IHJlLW9jY3VyIGZvciA0LjE5Lg0KDQpJIHdhbnRl
ZCB0byBkbyB0aGlzIGFmdGVyIG15IGN1cnJlbnQgcGVuZGluZyBNaW5pLU9TIHBhdGNoZXMg
aGF2ZSBiZWVuIGFkZGVkDQp0byB0aGUgdHJlZS4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------shUfe5AtKof3d3SU3C5rHpsW
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-----

--------------shUfe5AtKof3d3SU3C5rHpsW--

--------------3DooOHdc07xcmZmPP6mQqYib--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVV95wFAwAAAAAACgkQsN6d1ii/Ey+F
KggAmKVdle+VZEVDJ0U/FPzi/6XWH9yBajpu6AoJrMy9XrJLMoMftuR9oyPsMtlfsGHk4PpM3wnC
uovgpzZ8HtpplG82t1PMiDc0BrJHch1jag5YKt6yqhqJGAVUIHhyFPkzEd7kGAE6pkDh/y4qd6el
f1gO8csMcMeVH2CnE207yYYC5iVSUSAfVBKKQT6kgMHlot6TRreDFkDs3qR5vON9WRXn6iGmA6fI
XlfJXOcsPTWXIsRqhEThAx7dIH/7HOimTgCVDfwRvU3n7wMR0omEWlsk+pt7SOCSWaxc7J6NdJto
Z0i9CZ+GKPQKx34UABCP98Fin5/HOGDQp/i3HTdCsQ==
=g4Gm
-----END PGP SIGNATURE-----

--------------AtkHqfS0CgV0Beuf9MmJNhz7--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 11:43:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 11:43:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634124.989389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3alh-0003nP-J0; Thu, 16 Nov 2023 11:42:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634124.989389; Thu, 16 Nov 2023 11:42: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 1r3alh-0003nI-GX; Thu, 16 Nov 2023 11:42:45 +0000
Received: by outflank-mailman (input) for mailman id 634124;
 Thu, 16 Nov 2023 11:42: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=pm+N=G5=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r3alg-0003nC-4t
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 11:42:44 +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 406c4ccf-8475-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 12:42:42 +0100 (CET)
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 AB1A7204FF;
 Thu, 16 Nov 2023 11:42: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 8AB13139C4;
 Thu, 16 Nov 2023 11:42:41 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2tqWIDEAVmU6UgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 16 Nov 2023 11:42: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: 406c4ccf-8475-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700134961; 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=rZdIlzuDKB53L1F0Dn2qgygX+xkvd8594ERD+Hc8H2I=;
	b=DZfjQu0HN/giOA/qM0wgjjXAyUA8FGLsAeKsoVCE9gyqdXHBmT1wF7VL0ygz4YTxPXR81y
	DnbGEnREq7JOlbAsCIngz+ufr5uttHbmlFqt18Qnb1tPhL94wReTn1ip8HbjEfAArIgALU
	OH5kZ4gC3q21uNA83rowcvqk3471Lms=
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.7-rc2
Date: Thu, 16 Nov 2023 12:42:41 +0100
Message-Id: <20231116114241.26403-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: 0.70
X-Spamd-Result: default: False [0.70 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 TO_DN_NONE(0.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.7a-rc2-tag

xen: branch for v6.7-rc2

It contains the following patches:

- A fix in the Xen events driver avoiding to use RCU after the call of
  rcu_report_dead() when taking a cpu down.

- A fix for running as Xen dom0 to line up ACPI's idea of power
  management capabilities with the one of Xen.

- A cleasnup eliminating several kernel-doc warnings in Xen related
  code.

- A cleanup series of the Xen events driver.


Thanks.

Juergen

 arch/x86/include/asm/acpi.h           |  14 +
 arch/x86/include/asm/xen/hypervisor.h |   9 +
 drivers/xen/events/events_2l.c        |   8 +-
 drivers/xen/events/events_base.c      | 576 ++++++++++++++++------------------
 drivers/xen/events/events_internal.h  |   1 -
 drivers/xen/pcpu.c                    |  22 ++
 drivers/xen/xen-front-pgdir-shbuf.c   |  34 +-
 include/xen/events.h                  |   8 +-
 8 files changed, 347 insertions(+), 325 deletions(-)

Juergen Gross (8):
      xen/events: avoid using info_for_irq() in xen_send_IPI_one()
      xen/events: fix delayed eoi list handling
      xen/events: remove unused functions
      xen/events: reduce externally visible helper functions
      xen/events: remove some simple helpers from events_base.c
      xen/events: drop xen_allocate_irqs_dynamic()
      xen/events: modify internal [un]bind interfaces
      xen/events: remove some info_for_irq() calls in pirq handling

Randy Dunlap (1):
      xen/shbuf: eliminate 17 kernel-doc warnings

Roger Pau Monne (1):
      acpi/processor: sanitize _OSC/_PDC capabilities for Xen dom0


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 11:55:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 11:55:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634127.989400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3axq-0006Ft-ME; Thu, 16 Nov 2023 11:55:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634127.989400; Thu, 16 Nov 2023 11:55: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 1r3axq-0006Fm-Iw; Thu, 16 Nov 2023 11:55:18 +0000
Received: by outflank-mailman (input) for mailman id 634127;
 Thu, 16 Nov 2023 11:55: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 1r3axo-0006Fa-Vo; Thu, 16 Nov 2023 11:55: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 1r3axo-0004By-R5; Thu, 16 Nov 2023 11:55: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 1r3axo-0003iz-GO; Thu, 16 Nov 2023 11:55:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3axo-0000GF-ET; Thu, 16 Nov 2023 11:55: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=2/yrPAKYbTONQIWn4oEW8igcini6Z+5fl+T0n3F8kzg=; b=ts8KLJ+EcPok9U0TSpeyDiYyPZ
	ucdiqw7JgczbJvOefPcZwVC0A5tO524IxyNpK7L+CWitO7vlvSSvOMcRdDG1XWl/vwtnCHw12xh4H
	q12oLDIeQpuwn0FkmP1kYwAtI3Yz9oJizJS67coY2r6hvl1k5p7zM9iBlNucx8xH6G9c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183770-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183770: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=b739e2067b1a06328e7f0042630b543413689eac
X-Osstest-Versions-That:
    xen=fb62aa714d72349722d63b32a5a6d20a677f39e0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Nov 2023 11:55:16 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  b739e2067b1a06328e7f0042630b543413689eac
baseline version:
 xen                  fb62aa714d72349722d63b32a5a6d20a677f39e0

Last test of basis   183767  2023-11-16 01:03:51 Z    0 days
Testing same since   183770  2023-11-16 09:02:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   fb62aa714d..b739e2067b  b739e2067b1a06328e7f0042630b543413689eac -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 11:58:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 11:58:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634132.989410 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3b1J-0007in-6G; Thu, 16 Nov 2023 11:58:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634132.989410; Thu, 16 Nov 2023 11: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 1r3b1J-0007ig-2x; Thu, 16 Nov 2023 11:58:53 +0000
Received: by outflank-mailman (input) for mailman id 634132;
 Thu, 16 Nov 2023 11: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3b1H-0007iY-Vp
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 11:58:52 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 819c8e17-8477-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 12:58:50 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c742186a3bso9013441fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 03:58:50 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 n18-20020a05600c3b9200b00407efbc4361sm3432892wms.9.2023.11.16.03.58.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 03:58:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 819c8e17-8477-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700135929; x=1700740729; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Yz8r18MKKsMm7jRguelohV7iSUNs5Be+t531ns0EfC4=;
        b=f9a2qicQDJkR3aFY1a7Kaof7JgMEpp9a8kNz7Ngi+xZntvAoQNWaMQ4pwwKiYLNCBn
         K9bWeuJnvFxofIs93K7RLHhFfX70mbdh6HyOBrNrt2YiCZiGsVurxzTcNcyK+xK8M6Pt
         TWT8dm4KISTHIpploAnyUVvJdOlzKPvs20jZg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700135929; x=1700740729;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Yz8r18MKKsMm7jRguelohV7iSUNs5Be+t531ns0EfC4=;
        b=YTzPSoH30fhCXzJ+PmUL9XvmT7GvwzPmlBIvYLY4X83Uls0N676ajY+9+dOH+Ll2pi
         sofpYQTcHtkAxoGZU96wXFBWrVupBeAXTu6kdfV77+1Fhx8J5K/Cm1ah7BA+9pqljSNA
         /xL/b+fWktWghyrN6+DKfGCV+j+oTDvlNXU5ToLmp3PHoo2uOLE95rWz+G3hfHyTKzXj
         B0v8O44WASk3TkPiMNwwHgKhPMDnAHbGNqbSvhxNfKMo7bOC7X0kxzb0RuRCFYQrtcS/
         9/3D4QJiHFtPr+uOjZhppUbFH7vmKkU4oOaEuXs+bPOkHqdi0G9KhqUPkDUsYnklvoS9
         xZLg==
X-Gm-Message-State: AOJu0YxpElTPZvwJ17ZPq/75LSu3pq/f1jDsX0tpMMTa9OFgBllFRPkO
	bDqWvllzhy2hlmBB2JzURr5oYf+NO15Lqj22Bzs=
X-Google-Smtp-Source: AGHT+IEC1yqYfXtffayfKx7zyooi91qACAK39NyUPjZ+c9Audxk10PL8lupkL23q5vSD2ZabtVgl2A==
X-Received: by 2002:a2e:9096:0:b0:2c6:f134:79b6 with SMTP id l22-20020a2e9096000000b002c6f13479b6mr5723508ljg.16.1700135929207;
        Thu, 16 Nov 2023 03:58:49 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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] livepatch: do not use .livepatch.funcs section to store internal state
Date: Thu, 16 Nov 2023 12:58:41 +0100
Message-ID: <20231116115841.71847-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Currently the livepatch logic inside of Xen will use fields of struct
livepatch_func in order to cache internal state of patched functions.  Note
this is a field that is part of the payload, and is loaded as an ELF section
(.livepatch.funcs), taking into account the SHF_* flags in the section
header.

The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
are SHF_ALLOC, which leads to its contents (the array of livepatch_func
structures) being placed in read-only memory:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
[...]
  [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
       0000000000000068  0000000000000000   A       0     0     8

This previously went unnoticed, as all writes to the fields of livepatch_func
happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
however WP is no longer toggled in CR0 for patch application, and only the
hypervisor .text mappings are made write-accessible.  That leads to the
following page fault when attempting to apply a livepatch:

----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
CPU:    4
RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
[...]
Xen call trace:
   [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
   [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
   [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee

Pagetable walk from ffff82d040625079:
 L4[0x105] = 000000008c6c9063 ffffffffffffffff
 L3[0x141] = 000000008c6c6063 ffffffffffffffff
 L2[0x003] = 000000086a1e7063 ffffffffffffffff
 L1[0x025] = 800000086ca5d121 ffffffffffffffff

****************************************
Panic on CPU 4:
FATAL PAGE FAULT
[error_code=0003]
Faulting linear address: ffff82d040625079
****************************************

Fix this by moving the internal Xen function patching state out of
livepatch_func into an area not allocated as part of the ELF payload.  While
there also constify the array of livepatch_func structures in order to prevent
further surprises.

Note there's still one field (old_addr) that gets set during livepatch load.  I
consider this fine since the field is read-only after load, and at the point
the field gets set the underlying mapping hasn't been made read-only yet.

Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
The selection of the Fixes tag is kind of wonky.  While it's true that
8676092a0f16 broke livepatching, that's only due to the assumptions made by
livepatch about read-only areas becoming read-write during the patching
window.

Another way to fix it would be to add the SHF_WRITE flag to .livepatch.funcs
section flags in livepatch-build-tools, but I find such approach fragile.
---
 xen/arch/arm/arm32/livepatch.c      |  9 ++++---
 xen/arch/arm/arm64/livepatch.c      |  9 ++++---
 xen/arch/arm/livepatch.c            |  9 ++++---
 xen/arch/x86/livepatch.c            | 26 +++++++++++---------
 xen/common/livepatch.c              | 25 +++++++++++++------
 xen/include/public/sysctl.h         |  5 +---
 xen/include/xen/livepatch.h         | 38 ++++++++++++++++++++---------
 xen/include/xen/livepatch_payload.h |  3 ++-
 8 files changed, 76 insertions(+), 48 deletions(-)

diff --git a/xen/arch/arm/arm32/livepatch.c b/xen/arch/arm/arm32/livepatch.c
index 3c50283b2ab7..5dd877a5c625 100644
--- a/xen/arch/arm/arm32/livepatch.c
+++ b/xen/arch/arm/arm32/livepatch.c
@@ -11,23 +11,24 @@
 #include <asm/page.h>
 #include <asm/livepatch.h>
 
-void arch_livepatch_apply(struct livepatch_func *func)
+void arch_livepatch_apply(const struct livepatch_func *func,
+                          struct livepatch_fstate *state)
 {
     uint32_t insn;
     uint32_t *new_ptr;
     unsigned int i, len;
 
-    BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE > sizeof(func->opaque));
+    BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE > sizeof(state->opaque));
     BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE != sizeof(insn));
 
     ASSERT(vmap_of_xen_text);
 
-    len = livepatch_insn_len(func);
+    len = livepatch_insn_len(func, state);
     if ( !len )
         return;
 
     /* Save old ones. */
-    memcpy(func->opaque, func->old_addr, len);
+    memcpy(state->opaque, func->old_addr, len);
 
     if ( func->new_addr )
     {
diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index 62d2ef373a0e..9017e6b0c2bc 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -15,23 +15,24 @@
 #include <asm/insn.h>
 #include <asm/livepatch.h>
 
-void arch_livepatch_apply(struct livepatch_func *func)
+void arch_livepatch_apply(const struct livepatch_func *func,
+                          struct livepatch_fstate *state)
 {
     uint32_t insn;
     uint32_t *new_ptr;
     unsigned int i, len;
 
-    BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE > sizeof(func->opaque));
+    BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE > sizeof(state->opaque));
     BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE != sizeof(insn));
 
     ASSERT(vmap_of_xen_text);
 
-    len = livepatch_insn_len(func);
+    len = livepatch_insn_len(func, state);
     if ( !len )
         return;
 
     /* Save old ones. */
-    memcpy(func->opaque, func->old_addr, len);
+    memcpy(state->opaque, func->old_addr, len);
 
     if ( func->new_addr )
         insn = aarch64_insn_gen_branch_imm((unsigned long)func->old_addr,
diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c
index d646379c8c5e..38f6b335a50e 100644
--- a/xen/arch/arm/livepatch.c
+++ b/xen/arch/arm/livepatch.c
@@ -69,7 +69,7 @@ void arch_livepatch_revive(void)
 int arch_livepatch_verify_func(const struct livepatch_func *func)
 {
     /* If NOPing only do up to maximum amount we can put in the ->opaque. */
-    if ( !func->new_addr && (func->new_size > sizeof(func->opaque) ||
+    if ( !func->new_addr && (func->new_size > LIVEPATCH_OPAQUE_SIZE ||
          func->new_size % ARCH_PATCH_INSN_SIZE) )
         return -EOPNOTSUPP;
 
@@ -79,15 +79,16 @@ int arch_livepatch_verify_func(const struct livepatch_func *func)
     return 0;
 }
 
-void arch_livepatch_revert(const struct livepatch_func *func)
+void arch_livepatch_revert(const struct livepatch_func *func,
+                           struct livepatch_fstate *state)
 {
     uint32_t *new_ptr;
     unsigned int len;
 
     new_ptr = func->old_addr - (void *)_start + vmap_of_xen_text;
 
-    len = livepatch_insn_len(func);
-    memcpy(new_ptr, func->opaque, len);
+    len = livepatch_insn_len(func, state);
+    memcpy(new_ptr, state->opaque, len);
 
     clean_and_invalidate_dcache_va_range(new_ptr, len);
 }
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index a54d991c5f0f..97e54b18a912 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -95,7 +95,7 @@ int arch_livepatch_verify_func(const struct livepatch_func *func)
     if ( !func->new_addr )
     {
         /* Only do up to maximum amount we can put in the ->opaque. */
-        if ( func->new_size > sizeof(func->opaque) )
+        if ( func->new_size > LIVEPATCH_OPAQUE_SIZE )
             return -EOPNOTSUPP;
 
         if ( func->old_size < func->new_size )
@@ -123,13 +123,14 @@ int arch_livepatch_verify_func(const struct livepatch_func *func)
  * "noinline" to cause control flow change and thus invalidate I$ and
  * cause refetch after modification.
  */
-void noinline arch_livepatch_apply(struct livepatch_func *func)
+void noinline arch_livepatch_apply(const struct livepatch_func *func,
+                                   struct livepatch_fstate *state)
 {
     uint8_t *old_ptr;
-    uint8_t insn[sizeof(func->opaque)];
+    uint8_t insn[sizeof(state->opaque)];
     unsigned int len;
 
-    func->patch_offset = 0;
+    state->patch_offset = 0;
     old_ptr = func->old_addr;
 
     /*
@@ -141,14 +142,14 @@ void noinline arch_livepatch_apply(struct livepatch_func *func)
      * ENDBR64 or similar instructions).
      */
     if ( is_endbr64(old_ptr) || is_endbr64_poison(func->old_addr) )
-        func->patch_offset += ENDBR64_LEN;
+        state->patch_offset += ENDBR64_LEN;
 
     /* This call must be done with ->patch_offset already set. */
-    len = livepatch_insn_len(func);
+    len = livepatch_insn_len(func, state);
     if ( !len )
         return;
 
-    memcpy(func->opaque, old_ptr + func->patch_offset, len);
+    memcpy(state->opaque, old_ptr + state->patch_offset, len);
     if ( func->new_addr )
     {
         int32_t val;
@@ -156,7 +157,7 @@ void noinline arch_livepatch_apply(struct livepatch_func *func)
         BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE != (1 + sizeof(val)));
 
         insn[0] = 0xe9; /* Relative jump. */
-        val = func->new_addr - (func->old_addr + func->patch_offset +
+        val = func->new_addr - (func->old_addr + state->patch_offset +
                                 ARCH_PATCH_INSN_SIZE);
 
         memcpy(&insn[1], &val, sizeof(val));
@@ -164,17 +165,18 @@ void noinline arch_livepatch_apply(struct livepatch_func *func)
     else
         add_nops(insn, len);
 
-    memcpy(old_ptr + func->patch_offset, insn, len);
+    memcpy(old_ptr + state->patch_offset, insn, len);
 }
 
 /*
  * "noinline" to cause control flow change and thus invalidate I$ and
  * cause refetch after modification.
  */
-void noinline arch_livepatch_revert(const struct livepatch_func *func)
+void noinline arch_livepatch_revert(const struct livepatch_func *func,
+                                    struct livepatch_fstate *state)
 {
-    memcpy(func->old_addr + func->patch_offset, func->opaque,
-           livepatch_insn_len(func));
+    memcpy(func->old_addr + state->patch_offset, state->opaque,
+           livepatch_insn_len(func, state));
 }
 
 /*
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index d89a904bd4e1..e635606c10fb 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -260,6 +260,9 @@ static void free_payload_data(struct payload *payload)
     vfree((void *)payload->text_addr);
 
     payload->pages = 0;
+
+    /* fstate gets allocated strictly after move_payload. */
+    XFREE(payload->fstate);
 }
 
 /*
@@ -656,6 +659,7 @@ static int prepare_payload(struct payload *payload,
 {
     const struct livepatch_elf_sec *sec;
     unsigned int i;
+    struct livepatch_func *funcs;
     struct livepatch_func *f;
     struct virtual_region *region;
     const Elf_Note *n;
@@ -666,14 +670,19 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*payload->funcs)) )
             return -EINVAL;
 
-        payload->funcs = sec->load_addr;
+        payload->funcs = funcs = sec->load_addr;
         payload->nfuncs = sec->sec->sh_size / sizeof(*payload->funcs);
 
+        payload->fstate = xzalloc_array(typeof(*payload->fstate),
+                                        payload->nfuncs);
+        if ( !payload->fstate )
+            return -ENOMEM;
+
         for ( i = 0; i < payload->nfuncs; i++ )
         {
             int rc;
 
-            f = &(payload->funcs[i]);
+            f = &(funcs[i]);
 
             if ( f->version != LIVEPATCH_PAYLOAD_VERSION )
             {
@@ -1361,7 +1370,7 @@ static int apply_payload(struct payload *data)
     ASSERT(!local_irq_is_enabled());
 
     for ( i = 0; i < data->nfuncs; i++ )
-        common_livepatch_apply(&data->funcs[i]);
+        common_livepatch_apply(&data->funcs[i], &data->fstate[i]);
 
     arch_livepatch_revive();
 
@@ -1397,7 +1406,7 @@ static int revert_payload(struct payload *data)
     }
 
     for ( i = 0; i < data->nfuncs; i++ )
-        common_livepatch_revert(&data->funcs[i]);
+        common_livepatch_revert(&data->funcs[i], &data->fstate[i]);
 
     /*
      * Since we are running with IRQs disabled and the hooks may call common
@@ -1438,9 +1447,10 @@ static inline bool was_action_consistent(const struct payload *data, livepatch_f
 
     for ( i = 0; i < data->nfuncs; i++ )
     {
-        struct livepatch_func *f = &(data->funcs[i]);
+        const struct livepatch_func *f = &(data->funcs[i]);
+        const struct livepatch_fstate *s = &(data->fstate[i]);
 
-        if ( f->applied != expected_state )
+        if ( s->applied != expected_state )
         {
             printk(XENLOG_ERR LIVEPATCH "%s: Payload has a function: '%s' with inconsistent applied state.\n",
                    data->name, f->name ?: "noname");
@@ -2157,7 +2167,8 @@ static void cf_check livepatch_printall(unsigned char key)
 
         for ( i = 0; i < data->nfuncs; i++ )
         {
-            struct livepatch_func *f = &(data->funcs[i]);
+            const struct livepatch_func *f = &(data->funcs[i]);
+
             printk("    %s patch %p(%u) with %p (%u)\n",
                    f->name, f->old_addr, f->old_size, f->new_addr, f->new_size);
 
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index f1eba784059a..9b19679caeb1 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -991,10 +991,7 @@ struct livepatch_func {
     uint32_t new_size;
     uint32_t old_size;
     uint8_t version;        /* MUST be LIVEPATCH_PAYLOAD_VERSION. */
-    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
-    uint8_t applied;
-    uint8_t patch_offset;
-    uint8_t _pad[6];
+    uint8_t _pad[39];
     livepatch_expectation_t expect;
 };
 typedef struct livepatch_func livepatch_func_t;
diff --git a/xen/include/xen/livepatch.h b/xen/include/xen/livepatch.h
index 9fdb29c382b6..a44141a82ef2 100644
--- a/xen/include/xen/livepatch.h
+++ b/xen/include/xen/livepatch.h
@@ -13,6 +13,9 @@ struct xen_sysctl_livepatch_op;
 
 #include <xen/elfstructs.h>
 #include <xen/errno.h> /* For -ENOSYS or -EOVERFLOW */
+
+#include <public/sysctl.h> /* For LIVEPATCH_OPAQUE_SIZE */
+
 #ifdef CONFIG_LIVEPATCH
 
 /*
@@ -51,6 +54,12 @@ struct livepatch_symbol {
     bool_t new_symbol;
 };
 
+struct livepatch_fstate {
+    unsigned int patch_offset;
+    enum livepatch_func_state applied;
+    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
+};
+
 int livepatch_op(struct xen_sysctl_livepatch_op *);
 void check_for_livepatch_work(void);
 unsigned long livepatch_symbols_lookup_by_name(const char *symname);
@@ -87,10 +96,11 @@ void arch_livepatch_init(void);
 int arch_livepatch_verify_func(const struct livepatch_func *func);
 
 static inline
-unsigned int livepatch_insn_len(const struct livepatch_func *func)
+unsigned int livepatch_insn_len(const struct livepatch_func *func,
+                                const struct livepatch_fstate *state)
 {
     if ( !func->new_addr )
-        return func->new_size - func->patch_offset;
+        return func->new_size - state->patch_offset;
 
     return ARCH_PATCH_INSN_SIZE;
 }
@@ -117,39 +127,43 @@ int arch_livepatch_safety_check(void);
 int arch_livepatch_quiesce(void);
 void arch_livepatch_revive(void);
 
-void arch_livepatch_apply(struct livepatch_func *func);
-void arch_livepatch_revert(const struct livepatch_func *func);
+void arch_livepatch_apply(const struct livepatch_func *func,
+                          struct livepatch_fstate *state);
+void arch_livepatch_revert(const struct livepatch_func *func,
+                           struct livepatch_fstate *state);
 void arch_livepatch_post_action(void);
 
 void arch_livepatch_mask(void);
 void arch_livepatch_unmask(void);
 
-static inline void common_livepatch_apply(struct livepatch_func *func)
+static inline void common_livepatch_apply(const struct livepatch_func *func,
+                                          struct livepatch_fstate *state)
 {
     /* If the action has been already executed on this function, do nothing. */
-    if ( func->applied == LIVEPATCH_FUNC_APPLIED )
+    if ( state->applied == LIVEPATCH_FUNC_APPLIED )
     {
         printk(XENLOG_WARNING LIVEPATCH "%s: %s has been already applied before\n",
                 __func__, func->name);
         return;
     }
 
-    arch_livepatch_apply(func);
-    func->applied = LIVEPATCH_FUNC_APPLIED;
+    arch_livepatch_apply(func, state);
+    state->applied = LIVEPATCH_FUNC_APPLIED;
 }
 
-static inline void common_livepatch_revert(struct livepatch_func *func)
+static inline void common_livepatch_revert(const struct livepatch_func *func,
+                                           struct livepatch_fstate *state)
 {
     /* If the apply action hasn't been executed on this function, do nothing. */
-    if ( !func->old_addr || func->applied == LIVEPATCH_FUNC_NOT_APPLIED )
+    if ( !func->old_addr || state->applied == LIVEPATCH_FUNC_NOT_APPLIED )
     {
         printk(XENLOG_WARNING LIVEPATCH "%s: %s has not been applied before\n",
                 __func__, func->name);
         return;
     }
 
-    arch_livepatch_revert(func);
-    func->applied = LIVEPATCH_FUNC_NOT_APPLIED;
+    arch_livepatch_revert(func, state);
+    state->applied = LIVEPATCH_FUNC_NOT_APPLIED;
 }
 #else
 
diff --git a/xen/include/xen/livepatch_payload.h b/xen/include/xen/livepatch_payload.h
index 9f5f0642057c..b9cd4f209670 100644
--- a/xen/include/xen/livepatch_payload.h
+++ b/xen/include/xen/livepatch_payload.h
@@ -52,7 +52,8 @@ struct payload {
     size_t ro_size;                      /* .. and its size (if any). */
     unsigned int pages;                  /* Total pages for [text,rw,ro]_addr */
     struct list_head applied_list;       /* Linked to 'applied_list'. */
-    struct livepatch_func *funcs;        /* The array of functions to patch. */
+    const struct livepatch_func *funcs;  /* The array of functions to patch. */
+    struct livepatch_fstate *fstate;     /* State of patched functions. */
     unsigned int nfuncs;                 /* Nr of functions to patch. */
     const struct livepatch_symbol *symtab; /* All symbols. */
     const char *strtab;                  /* Pointer to .strtab. */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:04:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:04:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634142.989420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3b6x-00012R-4e; Thu, 16 Nov 2023 12:04:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634142.989420; Thu, 16 Nov 2023 12:04: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 1r3b6x-00012K-1Z; Thu, 16 Nov 2023 12:04:43 +0000
Received: by outflank-mailman (input) for mailman id 634142;
 Thu, 16 Nov 2023 12:04: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=aqXc=G5=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3b6v-00012C-QM
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:04:41 +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 5278c375-8478-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 13:04:41 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5094727fa67so996952e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 04:04:41 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 d20-20020ac241d4000000b0050a72e696e1sm1932917lfi.117.2023.11.16.04.04.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 04:04:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5278c375-8478-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700136280; x=1700741080; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/TAQJ0p9YnaxcOAT+8G7dAwXbJw97tfts4uTfp1Y7Xg=;
        b=gGcDdbtkTIk8YdAhrJh8excyeVuRt3/umtIu6ovkrRifhFq33gAH8o9G1ZhDO/HqC/
         vxKld7IHA/KWGPS8ld6qE8I3TQqKZGjPE8sVT5J9J3PaC6+N4+d9ef+iKINeLCJNRqFO
         H7Q0ng1RIcXKP+8NMVcQkhWHNMgx2T7WEFlYHmWoIVH3ldGCtb+KtP/yuyBwvA0Zmoiz
         Kczh3FAyae8rj3H8404TiNVwuuU4WVTg7RxTi2rO6EAv7ybL7lD6Fq8muUiiNMzMYxFr
         vt8yPOinWy3no4cavaJMsUv6hWtdKroMxSILorJhqnpfkGDnP80yN+2LwnJCS0TSN3RD
         Vrjw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700136280; x=1700741080;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/TAQJ0p9YnaxcOAT+8G7dAwXbJw97tfts4uTfp1Y7Xg=;
        b=PUrkHlKXyovHUoRqbnBtklCxLJVtYULsO5SXbAhMXavbfdK6QzrVGISAaWUnpiEkVr
         6tKVjttg7/+VlyrUtGHEucGUkbrbj9TDlzMdafG09cUcbQq//nfwQXIDy6BG1Vwx4Hfh
         6Rn6Q6iY17aV1K4kAuSqpQQnTtKNRou6RHOw4JWE68qQyfWui9NdKCCPrAE8Dn4t5Gmo
         6tl21BcTykzYH3V1kit8Agl8oX8IQgDDBQyEk9ayRpbLp/ZiaH1G8OEhWOWZLAZnksKN
         nAgoHP7VPtFuRmK+El/V+uBvKGAuw2AGnRnXvnrbqZiLOxQ46RZSGi9DxzY6B/hV+xEM
         v1UQ==
X-Gm-Message-State: AOJu0YwbzmVz1aeyzAQVH+XOpZiP0V4ueXlKJomtFcPL2PPHvvlJn9rr
	F4d3UKxwIJc4CxC2PNvDET8=
X-Google-Smtp-Source: AGHT+IFCT6Pzz/VCtT1h8jJgGIsYFJwr6tuiRhPnMMd+4hRXVqwrZvBTRrGPzKI9KLRzFgU1DKGn5w==
X-Received: by 2002:ac2:4d01:0:b0:503:19d8:8dc3 with SMTP id r1-20020ac24d01000000b0050319d88dc3mr1532062lfi.31.1700136280245;
        Thu, 16 Nov 2023 04:04:40 -0800 (PST)
Message-ID: <45623d7e6ca4f9ed34c1818ae304cbf49d82da4a.camel@gmail.com>
Subject: Re: [PATCH v2 08/15] xen/asm-generic: introduce generic header
 percpu.h
From: Oleksii <oleksii.kurochko@gmail.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
Date: Thu, 16 Nov 2023 14:04:39 +0200
In-Reply-To: <f7fca726-f4d5-4cdf-981e-2a6fcf5085b0@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <d0ecdf04ceea49f57a54e15cc129c165a142a5cb.1699633310.git.oleksii.kurochko@gmail.com>
	 <f7fca726-f4d5-4cdf-981e-2a6fcf5085b0@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Thu, 2023-11-16 at 08:36 +0100, Jan Beulich wrote:
> On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/include/asm-generic/percpu.h
> > @@ -0,0 +1,35 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +#ifndef __ASM_GENERIC_PERCPU_H__
> > +#define __ASM_GENERIC_PERCPU_H__
> > +
> > +#ifndef __ASSEMBLY__
> > +
> > +#include <xen/types.h>
> > +
> > +extern char __per_cpu_start[], __per_cpu_data_end[];
>=20
> Can we go one tiny step beyond what Arm presently has and make the
> latter of the two const?
I am not sure I think we will have compilation issue with the following
code in Arm and x86 because of [-Werror=3Ddiscarded-qualifiers]:

static void cf_check _free_percpu_area(struct rcu_head *head)
{
    struct free_info *info =3D container_of(head, struct free_info, rcu);
    unsigned int cpu =3D info->cpu;
    char *p =3D __per_cpu_start + __per_cpu_offset[cpu];

    free_xenheap_pages(p, PERCPU_ORDER);
    __per_cpu_offset[cpu] =3D INVALID_PERCPU_AREA;
}

I guess cast can help.


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:13:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634148.989450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bFW-00043W-DM; Thu, 16 Nov 2023 12:13:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634148.989450; Thu, 16 Nov 2023 12:13: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 1r3bFW-00043P-AJ; Thu, 16 Nov 2023 12:13:34 +0000
Received: by outflank-mailman (input) for mailman id 634148;
 Thu, 16 Nov 2023 12:13: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3bFV-0003ma-2r
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:13:33 +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 8e473f31-8479-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 13:13:31 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-32ddfb38c02so496864f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 04:13:30 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 z11-20020a056000110b00b003143c9beeaesm13469331wrw.44.2023.11.16.04.13.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 04:13:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e473f31-8479-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700136810; x=1700741610; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zL5mcmdb0pBxZaBE+peKARaW7+tFOaxVmIA77QUjENw=;
        b=LqOY6Cme04sVftjt+X+xb05wZeOXogVT3WYBdk568ZyxkyKpP7NitcVjGR8dvF7CQt
         AM5VZKdm2D1nzbpNfImH5PXkOUCFW8Mi0PTITfx109avFsrwrza8+Xy3ZjCWvny/e2/L
         5CKvNxwT+O1rlFhWZnJS93GGVqu4Qjp1jkh4U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700136810; x=1700741610;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=zL5mcmdb0pBxZaBE+peKARaW7+tFOaxVmIA77QUjENw=;
        b=m++wW5pRDPE2I/MEgiR7PQH+jlcmwrRyG+2GCiJdAuM57WEY7JAeh2TPLw7gMZyfO5
         qP7+e9gsyROIpeiDHHOnqt1g4oaXLku4iBEkIvafyHtXL8xh+FGUf9uuu2KZxES5fi35
         TzCyrAM/7PCCJcPkltNBUBLgXM0zfgPHRtW2zHh1AIyjNbwioS30CVh4ns+Qlr/00IxP
         Gxq1T/lisnc0lLSzoilYIBXF5+9Dc+4Q2MHjt5+rISvOiRmzhC6ZZ0gXWjiZxxm+aTea
         plVt6dO79jSN2qGlAXxaXQPhXg7dibGrCk1qtPWBhoNzg1q3Kt+warrvDZ7HeiIU+S41
         D4CQ==
X-Gm-Message-State: AOJu0Yz5wU3Hsgq8rteYnHakXyv+PGRh1ZP6jSMWC/bWtIvyy7yY71E3
	fi7SznIznokvBLu+99UVEnmzD5VblqhsHi/ZIEE=
X-Google-Smtp-Source: AGHT+IEo1RVeCgBxEJ5tYFcMYqOGVHo9R+DcD+BVOVKAJgmuCp+N0l0fDnv688F8uEIdEqz6XnAZUQ==
X-Received: by 2002:a05:6000:156b:b0:32f:bed7:ed82 with SMTP id 11-20020a056000156b00b0032fbed7ed82mr2254340wrz.4.1700136809833;
        Thu, 16 Nov 2023 04:13:29 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/6] automation: remove CR characters from QEMU serial
Date: Thu, 16 Nov 2023 13:13:05 +0100
Message-ID: <20231116121310.72210-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231116121310.72210-1-roger.pau@citrix.com>
References: <20231116121310.72210-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The gitlab CI webpage seems to have issues displaying the \CR\CR\LF "\r\r\n"
sequence on the web interface used as line returns by the Linux kernel serial
output.  This leads to the QEMU tests output looking like:

(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) Freed 664kB init memory
mapping kernel into physical memory
about to get started...
qemu-system-x86_64: terminating on signal 15 from pid 52 (timeout)

This not helpful, so strip the CR characters from the output that goes to
stdout, leaving the output in the smoke.serial untouched.

Fixes: 3030a73bf849 ('automation: add a QEMU based x86_64 Dom0/DomU test')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 automation/scripts/qemu-alpine-x86_64.sh | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/automation/scripts/qemu-alpine-x86_64.sh b/automation/scripts/qemu-alpine-x86_64.sh
index 8c8d0b0cd759..a1c41c030a47 100755
--- a/automation/scripts/qemu-alpine-x86_64.sh
+++ b/automation/scripts/qemu-alpine-x86_64.sh
@@ -84,7 +84,10 @@ qemu-system-x86_64 \
     -monitor none -serial stdio \
     -nographic \
     -device virtio-net-pci,netdev=n0 \
-    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& tee smoke.serial
+    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& \
+        # Remove carriage returns from the stdout output, as gitlab
+        # interface chokes on them
+        tee smoke.serial | sed 's/\r//'
 
 set -e
 (grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:13:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634146.989429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bFT-0003ZZ-WC; Thu, 16 Nov 2023 12:13:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634146.989429; Thu, 16 Nov 2023 12:13: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 1r3bFT-0003ZS-TU; Thu, 16 Nov 2023 12:13:31 +0000
Received: by outflank-mailman (input) for mailman id 634146;
 Thu, 16 Nov 2023 12:13: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3bFS-0003ZM-S3
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:13:30 +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 8d98cda2-8479-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 13:13:29 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4084b0223ccso5375485e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 04:13:29 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 dk14-20020a0560000b4e00b0032179c4a46dsm13517657wrb.100.2023.11.16.04.13.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 04:13:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d98cda2-8479-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700136808; x=1700741608; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=MyuybwvHT4fiOcG6F7Us+wWuyqI0xHKPsg6Q+aCkCvs=;
        b=nOCxDsdQcJpaxByYgrSocXc4ScvY5FNGD/QZ42kYYEPbYafvAmPWZD7rYSVmHaKRmS
         Lwa+srJduy+pwxMmBr7X9nRy6LIkVSkSg3LXh9AvksPF8lSaANafCTkwFXC+v6cwWRtS
         XeupCSb4pkizE4Wn3hNxY8gScLCoPtOQqcSeQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700136808; x=1700741608;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=MyuybwvHT4fiOcG6F7Us+wWuyqI0xHKPsg6Q+aCkCvs=;
        b=fUaOuG2Z5z5dmJVABvcCOfb0qcuLFyqI5GEgI/FTR7UATHui7A+4fma06rcpWZSxXU
         0Uay4Wdtv1AhBcH2o5cMIbHTF1YiJm32CsDXF2MYxkGJIJwUgymqqBHA/ZoaU2Lzpv+n
         CRfqxdHFhV9bwgjUiXslFnCIJjtlE38gJAn8YgXaWtpM6h+8iWZ740fvIlegkTD5p0ZU
         uqEUElHYb5EqE1BaNezttsVHBBlzqHq9gziSQYvrvNSPaTMrpPnv1duFnKiGzx2MmE6w
         sTVTvz0n1k7PYheEMS/l6YIWt9P4n6V9VxLGFRcdPLDhWRDC/a9Wjm0N9kNHzSiSnQlz
         M6gw==
X-Gm-Message-State: AOJu0YyOGK2LC/yioGhf13HMQbQbcfZUnMv6u+VFL04UESNovzQdcNiB
	Z/pb0wymkT9VJRHWq3kWoRhHf1avkCFcSiIfWLc=
X-Google-Smtp-Source: AGHT+IHl8P1D6qC6HcAZp+4Bmpienb5wfgWccG8xSGdjgeURLUHa2HAmc5NQhkx8NQbxpoEfQrGyqQ==
X-Received: by 2002:adf:9dcc:0:b0:331:3b67:3bc0 with SMTP id q12-20020adf9dcc000000b003313b673bc0mr11541826wre.37.1700136808522;
        Thu, 16 Nov 2023 04:13:28 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 0/6] automation: minor fixes and improvements
Date: Thu, 16 Nov 2023 13:13:04 +0100
Message-ID: <20231116121310.72210-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Some assorted minor fixes and improvements, as a result of work I'm
doing to expand the tests.

I've done a full run with the updated containers, and found no major
issues:

https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1074512137

There's however one tests that fails with the updated container,
debian-buster-gcc-ibt:

https://gitlab.com/xen-project/people/royger/xen/-/jobs/5550235258

With:

$ ./automation/scripts/build 2>&1 | tee build.log
+ test -f /etc/os-release
+ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 10 (buster)"
NAME="Debian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
+ cc=gcc
+ gcc --version
./automation/scripts/build: line 10: /opt/gcc-11-ibt/bin/gcc: No such file or directory

I assume there's something wrong in the Dockerfile, but not caused by
this series.

I suggest we hold off updating debian:buster-gcc-ibt image until this is
fixed.

Note the bookworm amd64 image must be updated in the registry ahead of
pushing the changes here (patch 4/6 depends on the new image).

Thanks, Roger.

Roger Pau Monne (6):
  automation: remove CR characters from QEMU serial
  automation: add timestamps to QEMU non-smoke x86-64 test
  automation: fix jessie/stretch images to use archive.debian.org apt
    repos
  automation: update tests to use Debian Bookworm
  automation: set architecture in docker files
  automation: switch to multi-platform images when possible

 automation/build/alpine/3.18-arm64v8.dockerfile    |  2 +-
 automation/build/alpine/3.18.dockerfile            |  2 +-
 .../build/archlinux/current-riscv64.dockerfile     |  2 +-
 automation/build/archlinux/current.dockerfile      |  2 +-
 automation/build/centos/7.dockerfile               |  2 +-
 .../debian/bookworm-arm64v8-arm32-gcc.dockerfile   |  2 +-
 .../build/debian/bookworm-arm64v8.dockerfile       |  2 +-
 .../build/debian/bookworm-cppcheck.dockerfile      |  2 +-
 automation/build/debian/bookworm-i386.dockerfile   |  2 +-
 automation/build/debian/bookworm.dockerfile        |  7 ++++++-
 .../build/debian/bullseye-ppc64le.dockerfile       |  2 +-
 automation/build/debian/buster-gcc-ibt.dockerfile  |  2 +-
 automation/build/debian/jessie-i386.dockerfile     |  7 +++++++
 automation/build/debian/jessie.dockerfile          |  9 ++++++++-
 automation/build/debian/stretch-i386.dockerfile    |  9 ++++++++-
 automation/build/debian/stretch.dockerfile         | 14 ++++++++------
 automation/build/fedora/29.dockerfile              |  2 +-
 automation/build/suse/opensuse-leap.dockerfile     |  2 +-
 .../build/suse/opensuse-tumbleweed.dockerfile      |  2 +-
 automation/build/ubuntu/bionic.dockerfile          |  2 +-
 automation/build/ubuntu/focal.dockerfile           |  2 +-
 automation/build/ubuntu/trusty.dockerfile          |  2 +-
 automation/build/ubuntu/xenial-xilinx.dockerfile   |  2 +-
 automation/build/ubuntu/xenial.dockerfile          |  2 +-
 automation/gitlab-ci/test.yaml                     |  4 ++--
 automation/scripts/qemu-alpine-x86_64.sh           |  7 +++++--
 26 files changed, 63 insertions(+), 32 deletions(-)

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:13:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634149.989459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bFX-0004JM-K3; Thu, 16 Nov 2023 12:13:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634149.989459; Thu, 16 Nov 2023 12:13: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 1r3bFX-0004JF-Gp; Thu, 16 Nov 2023 12:13:35 +0000
Received: by outflank-mailman (input) for mailman id 634149;
 Thu, 16 Nov 2023 12: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3bFV-0003ZM-Oe
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:13:33 +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 8f9e50a9-8479-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 13:13:33 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40a48775c58so5886665e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 04:13:33 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 o16-20020adfe810000000b0032326908972sm13472921wrm.17.2023.11.16.04.13.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 04:13:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f9e50a9-8479-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700136812; x=1700741612; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H0bmgl9yK7YH8+Hj03ggPyfIEX7PvitHOBp8VhTAhFU=;
        b=lErMVfPjCebdMH8ZrhWs3D0qAx0ECKrXj11C+k0NCUidAtZuf/9EUTyZTUyLOF02lN
         2GiQyB4VdiqdjyyIaFdDagXY4tbUoGZhDVZNwkpWj7Bs/nryQcSX8+bfe6qTBaevNI1k
         pnUgFbKgCtJUbwT5oWkxAa4p/T8vTN7yf9Rcc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700136812; x=1700741612;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=H0bmgl9yK7YH8+Hj03ggPyfIEX7PvitHOBp8VhTAhFU=;
        b=pXsdZB3AmVIFg4C3DGyE4RT33znQibG+y2hcd1+j2ti8W267neRoNrsqbmDoHMSoaU
         TJTSDGHDc0BHl8HAjMEltz57xEROAjGVzP6rUxH5TAbkh+ofeVMqEVrLp7TjRZ+8jSHm
         dZ0wMaM+oUTflG+WFPEtAqILPq3QZiWZkqfhbImHnJT7aVyl/CLbtJHWHF0SyHwMkCcr
         qXnaAVWk3bHlwo9zHsm9HUR8MaMPau/n5GLd6L22HFuM3vHMX7js8w0NHVj2j6OabqkC
         OVkMA3O3fTHawlxSmHQpWYZMwOiUQ5TJj4mq7bxwZZHNQJNZLWKeGw+H+H+HIwr2uz0V
         //CA==
X-Gm-Message-State: AOJu0YyiIE1PoKYcGfeciK0K5Xfe5v802qEv8zpwym4ap8ST7VprXjKF
	ST8VNBO17/ll+qSltAp/GYh3ksknA7+iuhOXJ7U=
X-Google-Smtp-Source: AGHT+IETLbMti1Gyp8pApyF1dVt6a45SnxUHbphWpaGyU7mEM8/ccsOZ9Zl6ZDyB4U9b5STaukoGsw==
X-Received: by 2002:a05:600c:1e11:b0:408:3f61:cb4f with SMTP id ay17-20020a05600c1e1100b004083f61cb4fmr1633844wmb.23.1700136812534;
        Thu, 16 Nov 2023 04:13:32 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 3/6] automation: fix jessie/stretch images to use archive.debian.org apt repos
Date: Thu, 16 Nov 2023 13:13:07 +0100
Message-ID: <20231116121310.72210-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231116121310.72210-1-roger.pau@citrix.com>
References: <20231116121310.72210-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Otherwise it's impossible to build the images.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 automation/build/debian/jessie-i386.dockerfile  | 7 +++++++
 automation/build/debian/jessie.dockerfile       | 7 +++++++
 automation/build/debian/stretch-i386.dockerfile | 7 +++++++
 automation/build/debian/stretch.dockerfile      | 7 +++++++
 4 files changed, 28 insertions(+)

diff --git a/automation/build/debian/jessie-i386.dockerfile b/automation/build/debian/jessie-i386.dockerfile
index c9ac15a3ffd6..a8dec82bb299 100644
--- a/automation/build/debian/jessie-i386.dockerfile
+++ b/automation/build/debian/jessie-i386.dockerfile
@@ -10,6 +10,13 @@ WORKDIR /build
 
 ENTRYPOINT ["linux32"]
 
+# replace repos in archive as release is EOL
+RUN cat <<"END" > /etc/apt/sources.list
+deb http://archive.debian.org/debian/ jessie main contrib non-free
+deb http://archive.debian.org/debian/ jessie-backports main contrib non-free
+deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
+END
+
 # build depends
 RUN apt-get update && \
     apt-get --quiet --yes install \
diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
index 63b2c1e5b771..5c71c3e3ea75 100644
--- a/automation/build/debian/jessie.dockerfile
+++ b/automation/build/debian/jessie.dockerfile
@@ -8,6 +8,13 @@ ENV USER root
 RUN mkdir /build
 WORKDIR /build
 
+# replace repos in archive as release is EOL
+RUN cat <<"END" > /etc/apt/sources.list
+deb http://archive.debian.org/debian/ jessie main contrib non-free
+deb http://archive.debian.org/debian/ jessie-backports main contrib non-free
+deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
+END
+
 # build depends
 RUN apt-get update && \
     apt-get --quiet --yes install \
diff --git a/automation/build/debian/stretch-i386.dockerfile b/automation/build/debian/stretch-i386.dockerfile
index d93f74c979ef..9739651e25dd 100644
--- a/automation/build/debian/stretch-i386.dockerfile
+++ b/automation/build/debian/stretch-i386.dockerfile
@@ -10,6 +10,13 @@ WORKDIR /build
 
 ENTRYPOINT ["linux32"]
 
+# replace repos in archive as release is EOL
+RUN cat <<"END" > /etc/apt/sources.list
+deb http://archive.debian.org/debian/ stretch main contrib non-free
+deb http://archive.debian.org/debian/ stretch-backports main contrib non-free
+deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
+END
+
 # build depends
 RUN apt-get update && \
     apt-get --quiet --yes install \
diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
index 1af6c691f8f4..2f1a99f45017 100644
--- a/automation/build/debian/stretch.dockerfile
+++ b/automation/build/debian/stretch.dockerfile
@@ -8,6 +8,13 @@ ENV USER root
 RUN mkdir /build
 WORKDIR /build
 
+# replace repos in archive as release is EOL
+RUN cat <<"END" > /etc/apt/sources.list
+deb http://archive.debian.org/debian/ stretch main contrib non-free
+deb http://archive.debian.org/debian/ stretch-backports main contrib non-free
+deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
+END
+
 # build depends
 RUN apt-get update && \
     apt-get --quiet --yes install \
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:13:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634147.989440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bFV-0003oP-8Z; Thu, 16 Nov 2023 12:13:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634147.989440; Thu, 16 Nov 2023 12: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 1r3bFV-0003oE-3T; Thu, 16 Nov 2023 12:13:33 +0000
Received: by outflank-mailman (input) for mailman id 634147;
 Thu, 16 Nov 2023 12:13: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3bFU-0003ZM-A8
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:13:32 +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 8ecdab3b-8479-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 13:13:31 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-32ddfb38c02so496875f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 04:13:31 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p1-20020a5d48c1000000b0032f933556b8sm13482302wrs.7.2023.11.16.04.13.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 04:13:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ecdab3b-8479-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700136811; x=1700741611; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vjlhZh+sLdNk7wcLFSKpl0cKtv3ClZ49wgL2gB3Kgko=;
        b=JBnliYI39CYgsYQ+iqaJF6QiA/hmk+GHk4xzvQUDNHZVjURHC4u6l+4p5Fnm4/2G+Z
         bbd6AIqZ/+xmeQOksNL4zhLYJhU0AsTTGNk6gUEjJtU+/kYxwWvIZVheWUwmw2gwWEAT
         eaWr6yke+TwqjzguPvd+fOU7jtKrspvHS5baw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700136811; x=1700741611;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vjlhZh+sLdNk7wcLFSKpl0cKtv3ClZ49wgL2gB3Kgko=;
        b=FUa/XBcpo7xH2u27itBU1asd2cWRsg9Miaq0AnGtwgZe1UB4fXR6QuxY9mGsGhf0H4
         p1uLGNYZhoKlWOAXrDnCyw60CX6W9VB3ZLcPzL4e8grKt6PCez4Pb70YjNDuBsLVrokW
         hCaRj5Eq2/UtIKYVBcUUjQvr08wIo+H67MuvM1q+kVwM0EJs406Ed8ykutbALkZAEJ/3
         LWn3XuvbNLIUFUwmzYoIXBB1YjFM4zSHIVMwdZjDbbCqLO3owKyFgabHcTBV2QNaCoK+
         pqrwTMv1wUXzVCAPmCQtrNYDvapi+qRUnrCclLdrVzXyZ4bfyMcotvrR923bYA27RbW0
         dU5Q==
X-Gm-Message-State: AOJu0YzM05B9EzbQSr9lD81oEZzktqG6V9v+5Vwybasjkdtj7FGrp962
	R9u5xUfcWjbIWFcYDVcMwNSr3BFuEhr2e10TIDY=
X-Google-Smtp-Source: AGHT+IECWTu53i91pW224J9uL28axZTnvLhWRbfdvBGTv53IjXCuJYnMj8FQOHa0uMlQuAQco2t+TQ==
X-Received: by 2002:adf:d1cf:0:b0:32d:819d:ec75 with SMTP id b15-20020adfd1cf000000b0032d819dec75mr1758594wrd.60.1700136811239;
        Thu, 16 Nov 2023 04:13:31 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 2/6] automation: add timestamps to QEMU non-smoke x86-64 test
Date: Thu, 16 Nov 2023 13:13:06 +0100
Message-ID: <20231116121310.72210-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231116121310.72210-1-roger.pau@citrix.com>
References: <20231116121310.72210-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 automation/scripts/qemu-alpine-x86_64.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/automation/scripts/qemu-alpine-x86_64.sh b/automation/scripts/qemu-alpine-x86_64.sh
index a1c41c030a47..8e398dcea34b 100755
--- a/automation/scripts/qemu-alpine-x86_64.sh
+++ b/automation/scripts/qemu-alpine-x86_64.sh
@@ -68,7 +68,7 @@ cd ../..
 cat >> binaries/pxelinux.0 << EOF
 #!ipxe
 
-kernel xen console=com1
+kernel xen console=com1 console_timestamps=boot
 module bzImage console=hvc0
 module xen-rootfs.cpio.gz
 boot
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:13:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:13:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634150.989470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bFZ-0004be-TA; Thu, 16 Nov 2023 12:13:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634150.989470; Thu, 16 Nov 2023 12:13: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 1r3bFZ-0004bP-Q2; Thu, 16 Nov 2023 12:13:37 +0000
Received: by outflank-mailman (input) for mailman id 634150;
 Thu, 16 Nov 2023 12:13: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3bFX-0003ZM-JB
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:13:35 +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 90ba4f9a-8479-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 13:13:35 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40859c466efso5377755e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 04:13:35 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 d15-20020a05600c34cf00b0040a4cc876e0sm3423038wmq.40.2023.11.16.04.13.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 04:13:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 90ba4f9a-8479-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700136814; x=1700741614; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Yvxs/c3O2jbf+c3dkzntVo+nnu3OG0TuAlypeuFTsCQ=;
        b=hUo8t60oPjCyOv8NE3jRr4Mt7vUnqkE4DByMqYTDu24tYcP5433eknToBiUmpc0ntP
         xVrC9HEtbp4fJAT2+q3O0VMTS3Dn8wtnxC2YyLBN9XLfvFQlWaZWMMgdKzEVpjbDh8uj
         9a7fGGcoF3f8Fzn8YR5tai+6r2Z5SoBBXHZNA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700136814; x=1700741614;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Yvxs/c3O2jbf+c3dkzntVo+nnu3OG0TuAlypeuFTsCQ=;
        b=GRMEc6HH+i+QvSzllKL75rptmjbYZ7ctXW1HfnFQ8BB71gaOr2KxVxtQWoFR6xCR49
         WSA0yX7NpF7dNhVA195vaeJv07KvzzHX6IXFL2arRywiYi4mzzsXsKVspCu+xC0qVfJe
         qj3d7i+an9RymfPUIu/mamuxbahkVcVeQ9wGApWN2QJS6vRujkMjy/qQIb/b3x1OpfL6
         h0WzFDrh6vMzw08CaOsDSg+axKfl9K+toX/aDGsO6nFMO/Wsuh6STb/2kt5Uk173GVXi
         nBEAOKwgo85GsPriMqUnnfhErb/KMNi/l/MegP8IY4tdDfCKGmFMzklbkxWDqblMDIR/
         iIzg==
X-Gm-Message-State: AOJu0YwzditB9/CXT1wTEmaflYNEAD4+X4jh+hnCiGAhpxje6hOYfl7m
	726Dg9wg1eYTYVO/Sbpb7zWaYlusLtPJyZ59/0M=
X-Google-Smtp-Source: AGHT+IHcjfD9BohIyQY2K+y2cqIQJaOKnG2gVdzpr0CxR0WvCRwk6X++0DLZnJtyAdnEd1q303cpCQ==
X-Received: by 2002:a05:600c:470a:b0:404:f9c1:d5d7 with SMTP id v10-20020a05600c470a00b00404f9c1d5d7mr11670069wmo.25.1700136813831;
        Thu, 16 Nov 2023 04:13:33 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 4/6] automation: update tests to use Debian Bookworm
Date: Thu, 16 Nov 2023 13:13:08 +0100
Message-ID: <20231116121310.72210-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231116121310.72210-1-roger.pau@citrix.com>
References: <20231116121310.72210-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Switch tests using Stretch to Bookworm, as Stretch is EOL.

Note the packages are not removed from the Stretch dockerfile, because the
tests in stable branches will run using the old containers.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
The Bookworm container needs to be updated to contain the required tools before
pushing this change.
---
 automation/build/debian/bookworm.dockerfile | 5 +++++
 automation/gitlab-ci/test.yaml              | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
index ae008c8d46e5..7aea081c13a9 100644
--- a/automation/build/debian/bookworm.dockerfile
+++ b/automation/build/debian/bookworm.dockerfile
@@ -46,6 +46,11 @@ RUN apt-get update && \
         gnupg \
         apt-transport-https \
         golang \
+        # for test phase, qemu-smoke-* jobs
+        qemu-system-x86 \
+        # for test phase, qemu-alpine-* jobs
+        cpio \
+        busybox-static \
         && \
         apt-get autoremove -y && \
         apt-get clean && \
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 61e642cce0cc..6aabdb9d156f 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -43,7 +43,7 @@
 .qemu-x86-64:
   extends: .test-jobs-common
   variables:
-    CONTAINER: debian:stretch
+    CONTAINER: debian:bookworm
     LOGFILE: qemu-smoke-x86-64.log
   artifacts:
     paths:
@@ -130,7 +130,7 @@
 build-each-commit-gcc:
   extends: .test-jobs-common
   variables:
-    CONTAINER: debian:stretch
+    CONTAINER: debian:bookworm
     XEN_TARGET_ARCH: x86_64
     CC: gcc
   script:
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:13:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:13:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634151.989480 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bFb-0004tH-Af; Thu, 16 Nov 2023 12:13:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634151.989480; Thu, 16 Nov 2023 12:13: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 1r3bFb-0004t8-7k; Thu, 16 Nov 2023 12:13:39 +0000
Received: by outflank-mailman (input) for mailman id 634151;
 Thu, 16 Nov 2023 12:13: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3bFZ-0003ma-Vw
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:13:37 +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 9168db25-8479-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 13:13:36 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-32d81864e3fso478568f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 04:13:36 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 dl15-20020a0560000b8f00b003232380ffd7sm13379446wrb.102.2023.11.16.04.13.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 04:13:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9168db25-8479-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700136815; x=1700741615; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qIspCe97azur24wlxRrY8XemEwF0HzaBD9Iy98M0AxI=;
        b=dcUinvlT7E6naWPDoUd4Xi9x0ENDyD6mUdgBIcQEJr2OakMugKUkdoYMMsRpOYkM5a
         WyYS90Fck2AnAkXAGf57ZjO9P4v81QSszMVV0uNvlgjiYCTEq8Mkq+pmfIgR/3pPn0tG
         FH4qvujrDnrPxQhj1guyANNSadtN+DACHS6eo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700136815; x=1700741615;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=qIspCe97azur24wlxRrY8XemEwF0HzaBD9Iy98M0AxI=;
        b=gME5c/6Xb7h9KpAXZZaU3CpZXXo2ri6tOooklza4ac4XxI+ntbLv5eZkelDNbsP4Yj
         kJWGwu/E7A3RCKE4+KuAivX5Ho7CYNjqbh4yrHqi7yZBUhjrICHLZ2BZU4fH85sA7gkP
         Nx8jHwrqPY2Q3P18SbcEhZxw8berOJHvZwjP5FHqowwGDgGDJvOBIG+PMigqmVhzPLcv
         MCS5aXTgbj8E8yA+VxAqAEyp2ryEPpNL4vTmk8MGxNkuNUcHyw+e1vjWXi7hvFSmv+l0
         TPE8lcoE1wsJCtu+I4dSKq2xd35SWYEmQL+D0ps1btWLUIcYQouIUquMTuvaUOyDJQJg
         RKyw==
X-Gm-Message-State: AOJu0YzBjQL8qylASnlThyfwxklnv87pvNEw9F0Ppd9S1Fo46QOhyAFg
	OAvWmO8RzbFY3pAIlD+wulq7sy+SxR3zCUGoxaw=
X-Google-Smtp-Source: AGHT+IEg2sX+xnniGp39dWgTND5q0QxM53slzT80fjsMyrFYrVPNsCnrHPCgIzAWyFM3qz8+IMjFJQ==
X-Received: by 2002:adf:ef4a:0:b0:32d:be44:f70c with SMTP id c10-20020adfef4a000000b0032dbe44f70cmr10183840wrp.7.1700136815072;
        Thu, 16 Nov 2023 04:13:35 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 5/6] automation: set architecture in docker files
Date: Thu, 16 Nov 2023 13:13:09 +0100
Message-ID: <20231116121310.72210-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231116121310.72210-1-roger.pau@citrix.com>
References: <20231116121310.72210-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Pass the desired architecture of the image in the FROM instruction if the
image is possibly multi-platform.

This allows using the x86 Dockerfiles on OS X on arm64 hardware.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
I haven't touched the Yocto dockerfile because I'm not sure how it's used.
---
 automation/build/alpine/3.18.dockerfile               | 2 +-
 automation/build/archlinux/current-riscv64.dockerfile | 2 +-
 automation/build/archlinux/current.dockerfile         | 2 +-
 automation/build/centos/7.dockerfile                  | 2 +-
 automation/build/debian/bookworm.dockerfile           | 2 +-
 automation/build/debian/bullseye-ppc64le.dockerfile   | 2 +-
 automation/build/debian/buster-gcc-ibt.dockerfile     | 2 +-
 automation/build/debian/jessie.dockerfile             | 2 +-
 automation/build/debian/stretch.dockerfile            | 2 +-
 automation/build/fedora/29.dockerfile                 | 2 +-
 automation/build/suse/opensuse-leap.dockerfile        | 2 +-
 automation/build/suse/opensuse-tumbleweed.dockerfile  | 2 +-
 automation/build/ubuntu/bionic.dockerfile             | 2 +-
 automation/build/ubuntu/focal.dockerfile              | 2 +-
 automation/build/ubuntu/trusty.dockerfile             | 2 +-
 automation/build/ubuntu/xenial-xilinx.dockerfile      | 2 +-
 automation/build/ubuntu/xenial.dockerfile             | 2 +-
 17 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/automation/build/alpine/3.18.dockerfile b/automation/build/alpine/3.18.dockerfile
index 5d2a69a06010..4ae9cb5e9e30 100644
--- a/automation/build/alpine/3.18.dockerfile
+++ b/automation/build/alpine/3.18.dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.18
+FROM --platform=linux/amd64 alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/archlinux/current-riscv64.dockerfile b/automation/build/archlinux/current-riscv64.dockerfile
index abf8e7bf0b88..af75b5c720ce 100644
--- a/automation/build/archlinux/current-riscv64.dockerfile
+++ b/automation/build/archlinux/current-riscv64.dockerfile
@@ -1,4 +1,4 @@
-FROM archlinux
+FROM --platform=linux/amd64 archlinux
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
index 47e79637a4a6..d974a1434fd5 100644
--- a/automation/build/archlinux/current.dockerfile
+++ b/automation/build/archlinux/current.dockerfile
@@ -1,4 +1,4 @@
-FROM archlinux:base-devel
+FROM --platform=linux/amd64 archlinux:base-devel
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/centos/7.dockerfile b/automation/build/centos/7.dockerfile
index 69dcefb2f011..ab450f0b3a0e 100644
--- a/automation/build/centos/7.dockerfile
+++ b/automation/build/centos/7.dockerfile
@@ -1,4 +1,4 @@
-FROM centos:7
+FROM --platform=linux/amd64 centos:7
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
index 7aea081c13a9..459f8e30bdc6 100644
--- a/automation/build/debian/bookworm.dockerfile
+++ b/automation/build/debian/bookworm.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bookworm
+FROM --platform=linux/amd64 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bullseye-ppc64le.dockerfile b/automation/build/debian/bullseye-ppc64le.dockerfile
index 4de8458445ae..6fdfb6bc2b40 100644
--- a/automation/build/debian/bullseye-ppc64le.dockerfile
+++ b/automation/build/debian/bullseye-ppc64le.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bullseye-slim
+FROM --platform=linux/amd64 debian:bullseye-slim
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/buster-gcc-ibt.dockerfile b/automation/build/debian/buster-gcc-ibt.dockerfile
index 96ab4fe8a2f1..4328c109b72b 100644
--- a/automation/build/debian/buster-gcc-ibt.dockerfile
+++ b/automation/build/debian/buster-gcc-ibt.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:buster-slim AS builder
+FROM --platform=linux/amd64 debian:buster-slim AS builder
 
 ENV DEBIAN_FRONTEND=noninteractive
 ENV USER root
diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
index 5c71c3e3ea75..32fc952fbc2d 100644
--- a/automation/build/debian/jessie.dockerfile
+++ b/automation/build/debian/jessie.dockerfile
@@ -1,4 +1,4 @@
-FROM debian/eol:jessie
+FROM --platform=linux/amd64 debian/eol:jessie
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
index 2f1a99f45017..e2706a8f3589 100644
--- a/automation/build/debian/stretch.dockerfile
+++ b/automation/build/debian/stretch.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:stretch
+FROM --platform=linux/amd64 debian:stretch
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/fedora/29.dockerfile b/automation/build/fedora/29.dockerfile
index e55b06a4517e..42a87ce6c84b 100644
--- a/automation/build/fedora/29.dockerfile
+++ b/automation/build/fedora/29.dockerfile
@@ -1,4 +1,4 @@
-FROM fedora:29
+FROM --platform=linux/amd64 fedora:29
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/suse/opensuse-leap.dockerfile b/automation/build/suse/opensuse-leap.dockerfile
index 7010b71acaa0..e1ec38a41445 100644
--- a/automation/build/suse/opensuse-leap.dockerfile
+++ b/automation/build/suse/opensuse-leap.dockerfile
@@ -1,4 +1,4 @@
-FROM opensuse/leap
+FROM --platform=linux/amd64 opensuse/leap
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/suse/opensuse-tumbleweed.dockerfile b/automation/build/suse/opensuse-tumbleweed.dockerfile
index 959e1f6939f0..38f6fda2ff1b 100644
--- a/automation/build/suse/opensuse-tumbleweed.dockerfile
+++ b/automation/build/suse/opensuse-tumbleweed.dockerfile
@@ -1,4 +1,4 @@
-FROM opensuse/tumbleweed
+FROM --platform=linux/amd64 opensuse/tumbleweed
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/bionic.dockerfile b/automation/build/ubuntu/bionic.dockerfile
index e15f54431efb..77d7f933860c 100644
--- a/automation/build/ubuntu/bionic.dockerfile
+++ b/automation/build/ubuntu/bionic.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
+FROM --platform=linux/amd64 ubuntu:18.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
index e3d11194ee2f..30a9b8e84ffe 100644
--- a/automation/build/ubuntu/focal.dockerfile
+++ b/automation/build/ubuntu/focal.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:20.04
+FROM --platform=linux/amd64 ubuntu:20.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/trusty.dockerfile b/automation/build/ubuntu/trusty.dockerfile
index 22e294c20cac..0d33578c4e1d 100644
--- a/automation/build/ubuntu/trusty.dockerfile
+++ b/automation/build/ubuntu/trusty.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:14.04
+FROM --platform=linux/amd64 ubuntu:14.04
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
index 5f7087135213..49f27b322995 100644
--- a/automation/build/ubuntu/xenial-xilinx.dockerfile
+++ b/automation/build/ubuntu/xenial-xilinx.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
+FROM --platform=linux/amd64 ubuntu:16.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile
index 2d2ba3e31f63..e8035434f804 100644
--- a/automation/build/ubuntu/xenial.dockerfile
+++ b/automation/build/ubuntu/xenial.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
+FROM --platform=linux/amd64 ubuntu:16.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:13:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:13:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634152.989490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bFc-0005Ay-LB; Thu, 16 Nov 2023 12:13:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634152.989490; Thu, 16 Nov 2023 12:13: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 1r3bFc-0005A6-H1; Thu, 16 Nov 2023 12:13:40 +0000
Received: by outflank-mailman (input) for mailman id 634152;
 Thu, 16 Nov 2023 12:13: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3bFa-0003ma-W3
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:13:39 +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 9207801e-8479-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 13:13:37 +0100 (CET)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2c742186a3bso9207661fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 04:13:37 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 j41-20020a05600c1c2900b00401e32b25adsm3546845wms.4.2023.11.16.04.13.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 04:13:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9207801e-8479-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700136816; x=1700741616; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vRJkkyFmkuBC8WFdcMa+KWUUy8Cc06O02MjHNIPMUf0=;
        b=K8IscRT3RHMNqlc1BTeuUwRLsSnPrRtVMv94tVRxsAqBXgXqoPMRFNAqx1Z9OdX/Eq
         NYAYRV20t9dK7uaPPWS3Nd8c39mAS9ZP1lfeL7GGWFQreKHvNIfw4pa3LxW/xoAe3jSt
         8cVvQVlBBiiepo9N2b/KwUL4SuxezJTQdZens=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700136816; x=1700741616;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vRJkkyFmkuBC8WFdcMa+KWUUy8Cc06O02MjHNIPMUf0=;
        b=YhdRHzMr5xKArNYuQWXG/7JbR2BKvQLjdQOsJHC+WPIzFIjgj06eEICflfQ0rJiXm7
         Bp3pcOx5AaO9zXb0sHFzg1p2EA7nKWhjwicMWeivrEYQfQPESzYOG2jPs46hitu9VxIA
         1baibK+nmpT0gnqDLGLdn9JpsyU6d08lEn4uaGxQlvF07ZqltWcD1/KYFbqvLp09stsf
         4mY8RdedhmTilJIsBRiQgWbnGJikqZN20xB/U6qqKV7uNf7iVrWvo7Zu4pecjNt5ihZI
         V8pn5lK1pW+s+13L071D0kWH3UI+3XW3FR1zygNJeGYTkeO+qoL22eaCIK1rQalsE8yg
         PSEw==
X-Gm-Message-State: AOJu0Yylu1Vn58RB2k8jTxjbNbeoPsJ6BuMk0vKoAorjV9o8a71rKmvo
	p92KqmuQBFFC8oiEPBPtxV3QqIS+POSG7x5kCfQ=
X-Google-Smtp-Source: AGHT+IGMtxxKv8jfrZgrGv0d8OB6C403oXIC6WXU5UmTXkOGUb+0rbuZgTEFO+uVplUMBDxb1pXEpQ==
X-Received: by 2002:a2e:a592:0:b0:2c8:3571:b070 with SMTP id m18-20020a2ea592000000b002c83571b070mr8524414ljp.39.1700136816460;
        Thu, 16 Nov 2023 04:13:36 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 6/6] automation: switch to multi-platform images when possible
Date: Thu, 16 Nov 2023 13:13:10 +0100
Message-ID: <20231116121310.72210-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231116121310.72210-1-roger.pau@citrix.com>
References: <20231116121310.72210-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Instead of using specific architecture image, switch to using multi-arch ones
and specify the desired architecture using the --platform option.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
I haven't touched the Yocto dockerfile because I'm not sure how it's used.
---
 automation/build/alpine/3.18-arm64v8.dockerfile               | 2 +-
 automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile | 2 +-
 automation/build/debian/bookworm-arm64v8.dockerfile           | 2 +-
 automation/build/debian/bookworm-cppcheck.dockerfile          | 2 +-
 automation/build/debian/bookworm-i386.dockerfile              | 2 +-
 automation/build/debian/stretch-i386.dockerfile               | 2 +-
 6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/automation/build/alpine/3.18-arm64v8.dockerfile b/automation/build/alpine/3.18-arm64v8.dockerfile
index 470f5d72a921..91e90220240f 100644
--- a/automation/build/alpine/3.18-arm64v8.dockerfile
+++ b/automation/build/alpine/3.18-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/alpine:3.18
+FROM --platform=linux/arm64/v8 alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
index b3295c435ed5..a05ffeac04f9 100644
--- a/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
+++ b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:bookworm
+FROM --platform=linux/arm64/v8 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bookworm-arm64v8.dockerfile b/automation/build/debian/bookworm-arm64v8.dockerfile
index 640b1e0eadf2..2c432aacb765 100644
--- a/automation/build/debian/bookworm-arm64v8.dockerfile
+++ b/automation/build/debian/bookworm-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:bookworm
+FROM --platform=linux/arm64/v8 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bookworm-cppcheck.dockerfile b/automation/build/debian/bookworm-cppcheck.dockerfile
index d64fb7b18c66..d368d69472cb 100644
--- a/automation/build/debian/bookworm-cppcheck.dockerfile
+++ b/automation/build/debian/bookworm-cppcheck.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:bookworm AS builder
+FROM --platform=linux/arm64/v8 debian:bookworm AS builder
 
 ENV DEBIAN_FRONTEND=noninteractive
 ENV CPPCHECK_VERSION=2.7
diff --git a/automation/build/debian/bookworm-i386.dockerfile b/automation/build/debian/bookworm-i386.dockerfile
index 559bf670f0f1..89a650338566 100644
--- a/automation/build/debian/bookworm-i386.dockerfile
+++ b/automation/build/debian/bookworm-i386.dockerfile
@@ -1,4 +1,4 @@
-FROM i386/debian:bookworm
+FROM --platform=linux/i386 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/stretch-i386.dockerfile b/automation/build/debian/stretch-i386.dockerfile
index 9739651e25dd..da93fed8ea68 100644
--- a/automation/build/debian/stretch-i386.dockerfile
+++ b/automation/build/debian/stretch-i386.dockerfile
@@ -1,4 +1,4 @@
-FROM i386/debian:stretch
+FROM --platform=linux/i386 debian:stretch
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:28:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:28:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634190.989500 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bTt-0002gY-Sw; Thu, 16 Nov 2023 12:28:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634190.989500; Thu, 16 Nov 2023 12:28: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 1r3bTt-0002gR-P7; Thu, 16 Nov 2023 12:28:25 +0000
Received: by outflank-mailman (input) for mailman id 634190;
 Thu, 16 Nov 2023 12:28: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3bTs-0002bS-9k
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:28:24 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2062c.outbound.protection.outlook.com
 [2a01:111:f400:fe13::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a206c8bd-847b-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 13:28:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7410.eurprd04.prod.outlook.com (2603:10a6:20b:1d5::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Thu, 16 Nov
 2023 12:28:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 12: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: a206c8bd-847b-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nuqypSpZ6FHV7GYIzait06WTQg7m/7wVByEBPLMdIohIoDy8kapBc27JKT3NsmT4MeeVOwsiYNhVOOVy+DA8I2avMQQxqpJpFehD4UUZMpDeUu60zz4xK/y3/P4IG4myEkfBGKZM+sHL8worStoJXOcNJOHClXKapceHgduK+/uyitz1Gyozxyfm0/E0QBdOBvhFQu+Vuf9CiXRCQc9ZSHPxXlt3f2A8MV816ZVXZiM5ZncfzRDajV7FtNhB5EzdUc/bARVFX6VOf7jmmPE2Ya/viDXq+wTiuLbVoESIv2P6mWpE/XkCgCeiqs7M0aKWia+moeC/8lg6oT0sVhP1pQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zgN52kDw0DkGVIn4DVn9x3Tl550P232Y1yAbNiPMTn0=;
 b=nN128+JnsS2XqPwXK75UhLAHBuo1FFxJBYPlkS8esLEefqq11yAQaOXkaG9uzJ+L5TW2uaENePLZj+SAX8y74S4ZRMCO3LbmqRbH2ru2CtGcddjkr/iWZN/eAUnVdzAED4K5/HpZ/b2HxZ9Gd6/nngukfRB3yQwqCMh39TyfjS9Ua7RVva44jEKCV9CsBwJNFPzQtwmOnph7xMlJxlr15YY73+o8Skq93JIoRzN4f1MNETTO73k599QO3qYDoklE7svtVXDaQbD/NjGSnPRCGPOzu+lueQ1+EQ6PsdVvK/etrTHBy+yKglSaTkYtyIQRKB67UUfYXOe8kyE6VRtqJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zgN52kDw0DkGVIn4DVn9x3Tl550P232Y1yAbNiPMTn0=;
 b=CTXv/Y8b1NECawUZPfkwQl/N62aqzLzae3dd11c+zvCUMhAPXXdM9zpDdQYO5ZtPgGP0BQT9SQsIrEwc/8VuywAOnnWxelDEgUGVZjBOjR4lQJewyVVY9LjXVW6qRs+V6FlP/dDFo07p5BLrfD1LTFmTflKa7ZPQdLNI/oEJ5lZ5UTUKTaaUF4SjMfj9jfb34pZatTyrSpEGs0Bwy2ue8jfOX+rNMprzei8/IhWGWyJj6FwtOBUNFd5cpz1LaLTgXG1X+Y/DLZprW9og8pmTdGa5rQC3PCHy/VZmEc9wljTd2nG23EAHGc3lD4uTRGjW1Ysb0iPbdSE7i29p4cSE8A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1e07fdac-f692-4ee1-bae3-1fe563481156@suse.com>
Date: Thu, 16 Nov 2023 13:28:17 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 08/15] xen/asm-generic: introduce generic header
 percpu.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@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: <cover.1699633310.git.oleksii.kurochko@gmail.com>
 <d0ecdf04ceea49f57a54e15cc129c165a142a5cb.1699633310.git.oleksii.kurochko@gmail.com>
 <f7fca726-f4d5-4cdf-981e-2a6fcf5085b0@suse.com>
 <45623d7e6ca4f9ed34c1818ae304cbf49d82da4a.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <45623d7e6ca4f9ed34c1818ae304cbf49d82da4a.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7410:EE_
X-MS-Office365-Filtering-Correlation-Id: 717b3009-8413-49d3-ba24-08dbe69f8415
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3iY9a5DhuEhCM92lV1S2uS+B08m9wOCWpQG/qvmDQmz5ATQ2qFav7iCC+mrBnQk7XBlgIH0HWPPkReqBpW0rsqmh1uZgJMI5dk8miv47oOts6ZJHzfnlaeRIlQ52qQ+smCbrFhAJTcA5uFringJy89dj5JbJ8N1mB2WySqaB+r9N46OwmORfZK47ptDaj4DkpYiK3VjcUvwhA6io7XeqPHiWlsZEvRBLpZ7gc6E7hnOaHQYY6Q6TotbuqdgDzz/LZ8w9tvE39ev3RiAPHan2DCeXxBWFwycpyebaHxNrWohWJFkAiFoyFXNkaOHQg+XvrYHlM8iELFTEOWgwf5byeXLuNH4JCBELJuHZJ+/ZR4q60pb6QkrLb3ntP+tbvXyho30nyqrmUKKvXfwkP/sdLZbYMEzvFTAyvEM24YEpA1Ez5MpGEbu7QuGg7EmwXSj7yJCCEzcIupqjV0tAzItoOhUtJNl/nAlbabnHx3EWGNcfVgiZ57Q8GPqUE4NjDvZj6xluaRlSB5A5GOXidS4/NMp5WwoxKLHIlbMPt/rl+6qF1ddj5jHUYPA5/f0O15RiAlpngnDrHlARPFAoXJ5KoJAGae97X4nmdrhKRu/irQmbj0bbl7J54AlTnbJemVOxS3NP/Kzo3Dtj8JT3oiAF/Ofeya0a8T6NCCX6dnNpB88=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(396003)(136003)(376002)(39860400002)(230922051799003)(64100799003)(1800799009)(451199024)(186009)(26005)(83380400001)(2616005)(53546011)(6506007)(478600001)(6486002)(6512007)(31696002)(86362001)(5660300002)(31686004)(41300700001)(4001150100001)(38100700002)(2906002)(316002)(6916009)(36756003)(66946007)(54906003)(4326008)(8936002)(66556008)(66476007)(8676002)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YjlPWmIzeFMrVDFOZWc5OFllM290TUtycDJDWm9VK0o4eEFmOUNPUEdHTC94?=
 =?utf-8?B?Um1ONnJjNXQ1bFNBYnByU2U1UHA0N1dDL05jVHJ3OUVib1pERmlGK1ZmWlZ0?=
 =?utf-8?B?Z09XcEFnN1JuUklPSmZGMUEzU2VuVGp0QzJiTC9VOUppWHVWbkxUd2hSM1dY?=
 =?utf-8?B?MnFGYXF6UW0wdlNicFdmdnNTQ3krb0JhTldTYSsrVXhtd0xacTROT2FNZkdP?=
 =?utf-8?B?dXlpbVV2ZzJ4T3ZPWUlQRzRrQ0o1YTRocndUTWlBeWJqRXpwSzd2OUdTcVR0?=
 =?utf-8?B?dnd3RHlhaEo5amxrK2VKQURJbkZIbjZlR211ZlRpWjhUN3p1NFY3N3hqbXZN?=
 =?utf-8?B?WFp4TUNEdzFpdEIrNlF3a3p0aGdoZGFWcHg1aWV2THYxc1QwbTBLR0xwNExa?=
 =?utf-8?B?dkpFZGQ0b1pvRTN0TTh5TSt5VkR0V1RGNmNnTU5oUEEzL2lzWUQ4WU9Vbmhp?=
 =?utf-8?B?c3ByK3BJa3hnK0ZyOWVjSFlXeFhUcHQ1TWNiTisxejdKWU9yNFQ5Yi9xYWtU?=
 =?utf-8?B?STVTTCtYR3BTc1k2eWQzdWo4aXRRVG92NE43U00xRTJWbzl1WGM1QlZ6RTNN?=
 =?utf-8?B?dkJJa0dRME43cFpPOWFacStMdUsrZTdpWW5kL0wvMXFHMHhKSjJSSDR0dHNL?=
 =?utf-8?B?TXI2QU5HSTB2UXJPSytIQmR5NjBseE1ZY1VuS0w0a3pHVWY0aDFmK09KSk1H?=
 =?utf-8?B?TFNRdjRSODZ3WlM5R3V2TytrZFNDS05KTUtjNlZYdktmWGt0ZERuSHc2SHFh?=
 =?utf-8?B?M1Z1Z0FlSG0ybFV5OFBpd21QWUd2d2NyWWQvNzdzeXlyQ0pQTG1taUp5WTJn?=
 =?utf-8?B?MWxBREh5NWdkTlJtRC80a3BCYTJoaFZZRU93dFg2cHdTZlNKNCtiMS9rOXJn?=
 =?utf-8?B?Q09FT3FtVGZ5NU5vSXRaREhTMnNVQ1pNdTBkVTJweDI0TStsb2VhUWMxWXdK?=
 =?utf-8?B?ekpxWjhTNWxYVVZkQmdRcVY0VVhVdjFKbjBNa3N2THgrK3hqRlN0YzhzYVRj?=
 =?utf-8?B?K1d2alRKcWNEUFRpbjh3WXNrK2d5WTNxNWtSRkpCemRaRmt2STd5Tjl4Nk9N?=
 =?utf-8?B?MGhaY3gvVTBudyt1VzNUTXhCVGRPR2JoemxQbXFqQmQwaGRzMS9ySzE0YzJx?=
 =?utf-8?B?SkpDMHpWNFYrbmdTbklIR3NsbFAwWTdBb2MzWDhRQ3ZzT1hDUlVxOXAxOE5T?=
 =?utf-8?B?S0JxMVBHWElYVGZhSDVwTG5NSXJSRVZPaEtsNGhmdytyR2pMQ2FmeTExdEp5?=
 =?utf-8?B?T3o2YThTZFQ1U296T0R1ZkQ2RHBxNHFrVHhLaGRmc3llRWppYUYvRmVKUkhm?=
 =?utf-8?B?RXB0ZEl3ZDNYdHpSUWY4ZXdKVEFlK0ZYcWJpem5KVXJKM1FaYm9lNk9wbHZq?=
 =?utf-8?B?QmQxaitiVXh3VUNFY0hnTG80SmJnRTJ6VklvdkhsZWI2ZWhHemdwVXdSM0lw?=
 =?utf-8?B?ZnZZakJDQ3JYZURzSk9jcGkrQ2lOMFNjTDIwZ0Z2VGoyZE1ZVEsyOWhSYlAw?=
 =?utf-8?B?WDFJWTJmWjRHYUJTSWUxY0U4dmRwZnZzeWtEQUlMLzMxaXVSU3p3a3lYaWIy?=
 =?utf-8?B?RCtoYTBVd1ZvRHVlblkwdlFEZmNRUVRQYXlHandNWElQSzMrekUxYTRUMlhs?=
 =?utf-8?B?QmI1R3M2dkxRdVNaSEhxb1d6cS9CNnV3T3BCVU5LcHVDaWV5Uytha2xGcTIy?=
 =?utf-8?B?Z2NnRnlIejQvVTRlZVpJSlJscjgyckUwOFNWSE03M2xyQnQ3ZTU1V296RHI5?=
 =?utf-8?B?R29kMVJsMlpIZTJmSWxXbGE3UC95VGl0L28xS0dNS0xzVytwVE9jN1hXWHBQ?=
 =?utf-8?B?am9PRGVGYlZtMWl1dG1qRzJCaG1kZ3MwdVpxUjhIN3V6SlVLZFF0d21IdFVi?=
 =?utf-8?B?Q3B5bzZwUHQ2RnFmcmtxdjdUamZ2RklJNnBJWVM2Und4cFowdDR6TFpqa1dM?=
 =?utf-8?B?OVdWd3JSVXlqSHZIaDAzV29JTEl2OE5mOWp1ZDJkYXpzVERPRHo5MmQvQnFj?=
 =?utf-8?B?OHNxb1N3blluSWFHV0UzL1BlckZvTkl4MXVjS0lYdUlzdi9BSGtoSHZna0ts?=
 =?utf-8?B?ZGcrTmNjWVNoV0FCNzJYME1ENTRwNEF2L250VkZjYnR2SDZEbzZrSUhSYXR2?=
 =?utf-8?Q?12aMTzXjuZ0MfzRxnvo2UAFI3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 717b3009-8413-49d3-ba24-08dbe69f8415
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 12:28:19.4877
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Rdg4gxEFIuFzWU9Z14fC2xigLs58WeTYk2nUBBiooD++6G6IHqBxlflz6kCtcBxYOU//UjclKYVTqYoPtG8KCw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7410

On 16.11.2023 13:04, Oleksii wrote:
> On Thu, 2023-11-16 at 08:36 +0100, Jan Beulich wrote:
>> On 10.11.2023 17:30, Oleksii Kurochko wrote:
>>> --- /dev/null
>>> +++ b/xen/include/asm-generic/percpu.h
>>> @@ -0,0 +1,35 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +#ifndef __ASM_GENERIC_PERCPU_H__
>>> +#define __ASM_GENERIC_PERCPU_H__
>>> +
>>> +#ifndef __ASSEMBLY__
>>> +
>>> +#include <xen/types.h>
>>> +
>>> +extern char __per_cpu_start[], __per_cpu_data_end[];
>>
>> Can we go one tiny step beyond what Arm presently has and make the
>> latter of the two const?
> I am not sure I think we will have compilation issue with the following
> code in Arm and x86 because of [-Werror=discarded-qualifiers]:
> 
> static void cf_check _free_percpu_area(struct rcu_head *head)
> {
>     struct free_info *info = container_of(head, struct free_info, rcu);
>     unsigned int cpu = info->cpu;
>     char *p = __per_cpu_start + __per_cpu_offset[cpu];
> 
>     free_xenheap_pages(p, PERCPU_ORDER);
>     __per_cpu_offset[cpu] = INVALID_PERCPU_AREA;
> }

There's no use of __per_cpu_data_end here; I specifically didn't ask for both
of the declarations to have const added.

> I guess cast can help.

There may not be casts casting away constness, except maybe in very delicate
situations.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:39:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:39:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634194.989510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bei-0005lN-2G; Thu, 16 Nov 2023 12:39:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634194.989510; Thu, 16 Nov 2023 12: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 1r3beh-0005lG-VA; Thu, 16 Nov 2023 12:39:35 +0000
Received: by outflank-mailman (input) for mailman id 634194;
 Thu, 16 Nov 2023 12:39: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3beh-0005jk-4A
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 12:39:35 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20613.outbound.protection.outlook.com
 [2a01:111:f400:7d00::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3123267a-847d-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 13:39:34 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8445.eurprd04.prod.outlook.com (2603:10a6:10:2cf::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Thu, 16 Nov
 2023 12:39:30 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 12:39: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: 3123267a-847d-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nagVg8ut7ZAZGzeMSPaOZpp+49KWOFW7+YT9I18FU9LVaaALsEUKeENsuLdI+8923ufMdOJL4yT57e2KNQkOgc6LrOtTG97UftUk5dOkHaBtVnCEIZCHu4IwIIQwc4oVjJt94xsMjQQFZ9YuHSdyW0xI+Ds8CCaCBSGWzXC/AeytDT85SvA5UPp+h0qEWGfQDowgD+fFYsobrbtHD9kKjvekOvOwvwevGZNsqJ6njPPfZxZF33nRlhflXSzgnPgNawytqiqXasNRD4VHhEX2Df8x8VuPavnhKyatcm17HolfcqTK6yDEsuIxhYmOYB0gbtgS7n1cepJGdk+BZI25HA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fHIfcmj6E1PwL20jkxNFnHfm4Et4OmYycWyT/yJu8X0=;
 b=MEBlwXQNAC4epchvCDvBasvsqZXbm3w2sosEc0JfXQCTAu3WYH+bbeofcOKlmlcEs2fxWM9DxIVwUtnJxv6aj2EB1hYp3iV9uz6/ZYFjeFsjgJ9WT92iFwW4OtfirmIZMPRXzzu968/TaJ0Ka+ZWLfvAEenh1Gm7bsjTPLwvrWD8FGWaSywB9VIQjwSv4+XOtd+4g9BHUiOJ3HX8ZuO576giVBMkimSpEjB2bqXqFT2dQFbJp6NyimiPu+F2e7Sxh7koaMk7Dt6nNNwYsGBaX306HOU3c61956Wxn+C7q9rTQKUiZV2AjOwRp+O9bxEh6X/tyZLjoVVBWjjDdfZMvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=fHIfcmj6E1PwL20jkxNFnHfm4Et4OmYycWyT/yJu8X0=;
 b=5V/vOpDy1h3qwHpvLZchHpLPnStHeyAGBCVCo5PPKr8hJQLbM3i4j9tWGxJ9PH3PTM8ZKfaE0V8v/ETpVZBDQsK0B7XmUSXiWM/Iib9ICcoX1MbFh9imY6WlYn7F8MBLuX8ZgsbutGb8DagrIHwmZ1RiaZ0hxMz6fWXQ3CnCPPfq5JJxQRO3GT+vWX7LKkyopCTXmKZOCvbHpAjnp4q4bIwvgkyykkrSB5+j2bteLkR5Z0y7tMp55iqdpx7MqScWQihLTu+YDj9REGkKMshAKi/JhdGMHIp631xuEAWhqqsak6tPtosQL7DEulau2dghCR1qREkIMsa1cyCp815b6A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d6634601-5006-475c-b386-97a1e53c5279@suse.com>
Date: Thu, 16 Nov 2023 13:39:27 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] livepatch: do not use .livepatch.funcs section to store
 internal state
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <20231116115841.71847-1-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231116115841.71847-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0161.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8445:EE_
X-MS-Office365-Filtering-Correlation-Id: 3eeb921e-afde-48f1-fada-08dbe6a113e8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	K2k5rNeP5L8jY2yz7XJUh/04IxEMGJRpOV6nxfqzzlkGczNfbFNa+fyHyXGWKZPSi2USYVIFFQ7oTrCLrWYjrEwSVpKuqwZk4zV62xMtTa/m0VujRa1IN71Qd2x/o0eTckrJlTi4tK2chumq8FedWFG/MkO8ElGE+6L1nHn1PA3S6yzFE2Y7KTo7FUPXgkvs3KmxjD+0jNezUQkq6HXeSyjHdHBejixe3usivP8FTZ4tEyZ92QqAebbrcI/JLhxi7cYhFtBgBgVgG+3xbkdfVKDkMbhbFJHgxKWvEpFwTtoDeBFdg4ak4fXPwygRLyvZ6QS8+IAUm3obpyI4O4xEGjQ5i980mBj2INZmWtaQ1UYUIQ22Xy2HB/zlYB1AcezJp5+qCCrqsn8W1ER0wQYJhobs3nuXu7kr9ww9I/RyebcpKjoBICTlmEWLl5YCfQol4lo+yS0ovWCKFpxcdt27xXkF9UC6DivR4HfNcdOCphIX3IVOFBr7Eolf6ucT28jHplvt2Y4GuMyMB7KHbl1U4EaHRpFxuL6RLJbDW7T/cfU0g4bUQ7omiD1ZXIMmzowiG7yDbGdsOV+yCoyTcyscJImLMye9A9MkgOTH9cY3bfthMGpFYsmReD/Eddbu0dbQM41+K3bFmyz6JuxQZDpE+SPW+HCR5fzyhL5BjwIBdsbc1YqW15vvzgfnXUoXO6cd
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(366004)(39860400002)(376002)(396003)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(26005)(41300700001)(8676002)(8936002)(4326008)(31686004)(36756003)(38100700002)(31696002)(2616005)(53546011)(6506007)(86362001)(2906002)(6486002)(478600001)(6512007)(66946007)(7416002)(316002)(6916009)(66556008)(66476007)(54906003)(6666004)(5660300002)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UFpBRWNuNHl4U1I1UG5EeWV6SkQ2S1JGbStaTWswTEg0UHVuZmpQZ0Vob2Ro?=
 =?utf-8?B?bXdRRWFKWFlGcXI0aWZwTHNqV2RCMTZsY0pXRXdyNjhzSkNka01Fb1NSVHBP?=
 =?utf-8?B?b2huaW1sTUoyZy92QjlrR1lvZ2dOR2txQ1N3QUNxcWhlMUxad0d3a0dwRVc0?=
 =?utf-8?B?VG1qVjB4bTVaR2QrVy9xb2pYbjBUeW4wRWE5eW5pTjhRMXREVzdCN1BaazlQ?=
 =?utf-8?B?TVJJa2x3amNxQjZ5RnBrV0o4VU9DOU1aUUwwNFA5Uk10UGg2cWpiYWVIbnpz?=
 =?utf-8?B?YTRTSGVHb1hwSnk3QVlJNUNqZzhZTmxIRm1Fa3g1Ylg5dmw5ZVNUWVdydU9h?=
 =?utf-8?B?QkVXRjA5VFNZc244Sm95TXJGeExqOTBoTXpPTEU2WXVFemJsejM5OXdxS0xn?=
 =?utf-8?B?dFEyTEx1OFhBS2oyclpKREs4SlQ4WlBlanlqSG4rWEhqZUJNLy9wTmZROG0y?=
 =?utf-8?B?NE5DK3pGUVhNSEh2UWNIRU9BYTdUcWE3bE1jdElHL29FNktpSEpLdkttR1Ft?=
 =?utf-8?B?NnBxb0lDOXNGOXl2R0R2cWRPc05Ca0FJYnNBcU1NYklqS2phNWpRdXdlV0Jr?=
 =?utf-8?B?NWF6eU5mcnRrdTcwWXJxUGlHSFB0YlFNaCs1bGhtWi9FVG5DUnJaY2hmWUo1?=
 =?utf-8?B?ei95VnBRT1Y4QzNXK1NLNk9qdXRISHB6TlI5bUV1Y2x1SmlRaDE4bG9CWnh4?=
 =?utf-8?B?cFRrcStVTTRJN2pqSitTbXdlTE9ERHVQQUhFTk1nUTFHL2hDOFk4NUtqWW9N?=
 =?utf-8?B?a2pNY1IzMjdweHVuc1dtRGlIRDhHaFNaa2NPY0hwMUlSYnVWMVlOUW1mYmdI?=
 =?utf-8?B?UVJzczY0M2ptZE9VMUMrLzM5eEswZWZUUzdwc2ZVUEkwR09NRmYzSnZheW9N?=
 =?utf-8?B?eFM4Z081WndRWkg0LzJ0d0NIRUNjNllERy90eEozQVMvb1lkTWFTMlJwa0c0?=
 =?utf-8?B?QmNrbnh3OUdmSGZsU2Z5SXlaQTd4NENqbHZDSGJodWhtT1FobWNVVldaNUlp?=
 =?utf-8?B?d0FSTlArb05VUitFR2g2cTFlMnZwcVdLRUN4R2VZcEsrMkhuekhFTTM1cTlK?=
 =?utf-8?B?clBkUU9BcUlpNnMzM29iK1lEMTR2L0tjQ1pKUFZjK1lCbHJlQjhCNjk1blNn?=
 =?utf-8?B?SmVwTzJBa1Jhd29EOExEbUg3YWEyVFVxZEttMzdoMThHeUQweXN1bHdvR3pw?=
 =?utf-8?B?dHRPMkVnbUUxcFJpSE84ZEYzY3l5RVhhVW1MSkZXU3JGQWQ4bE4xaUU4aklo?=
 =?utf-8?B?anlTOU9PREl2QTJmVCtrUkJQVkFPTjNVdVFxczZLbmhDR3U4RC9vVHM5bHlO?=
 =?utf-8?B?alJWTXhocTMwcGdjZnExMDZWZE9oMDZ6eitwelNJWmZLUWpNOGgxRXpZYm9y?=
 =?utf-8?B?NytzUzJESWFVV0ZVTWVMeTFZUExKRWVQMXhiQzVJd2Zyb01TRVdQL29hYzBT?=
 =?utf-8?B?OHZQN1JrbmtMRklzblVybVc3cGVYQUs1YzRXRXplUitBZ09XSmZjRXFsU0NW?=
 =?utf-8?B?VjdJWkF2dUQ4QVhEN1RzMDVpbUJINUpJVjlKUjlqbnp3YjZCQ1B5Nm1Ka3Yz?=
 =?utf-8?B?eUtpZjdiMU1ZK05TSWtiVWRueXBOYkxLcHRxWldjd09tR0ZvR1FBcFkrblly?=
 =?utf-8?B?WE1uTjlzQkpTSnJWQzRxSnFRUVZ4L3IvdnNMRjVmby91SitQbDM3Ymc5RUh2?=
 =?utf-8?B?SC9tL29lcm80S3UwajB6ZzFGOVIvY2JOcFpYOXV5NVplcnltZzZwQ1N5cktE?=
 =?utf-8?B?dmtIMWZ4amp5a0dyM0V5dXAwVGd5SXF1OU1YWjA1WkpnblpFODY5bFFKRWpJ?=
 =?utf-8?B?b0ZocWt3cittWExmeXlhWGsxVEJIMmh5Z3g0NGREVjNMNExUQXNlM1Q3Wmdk?=
 =?utf-8?B?d3hEeUc4TE5BU2tnbzA3cGg3NG5ZcTdmOHlnbFdqR05JYWtqdjZsejBUbm1R?=
 =?utf-8?B?SVlLUlA5T3FoY1p6anlTWnZ4aGc3ZnNlWGhYU3hNMkZoM3ZRZVVTQzV5Z2FC?=
 =?utf-8?B?UzJGTmphdFBtK0VvMXJPZmZQMTY2Q1UxVS9rTFQrK2RJTklidk10UHdObjRB?=
 =?utf-8?B?UlpzZUtoQk8vS0VjWjFsTHVWbzFKbTI4NVFMQS9UVEM3UllXT2lYR2o1eVBR?=
 =?utf-8?Q?iKuvlHTXAktaLUKLuGacEfdbO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3eeb921e-afde-48f1-fada-08dbe6a113e8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 12:39:30.3193
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 6RRK9JugagI169yquPE+9kYscSkG7D5oW8X0E3Ow5GfADE8IrubjguAlQJj2mSgKutNSY6TxnpDrC7omlMwn3Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8445

On 16.11.2023 12:58, Roger Pau Monne wrote:
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -991,10 +991,7 @@ struct livepatch_func {
>      uint32_t new_size;
>      uint32_t old_size;
>      uint8_t version;        /* MUST be LIVEPATCH_PAYLOAD_VERSION. */
> -    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
> -    uint8_t applied;
> -    uint8_t patch_offset;
> -    uint8_t _pad[6];
> +    uint8_t _pad[39];

Should this be LIVEPATCH_OPAQUE_SIZE+8 and ...

> --- a/xen/include/xen/livepatch.h
> +++ b/xen/include/xen/livepatch.h
> @@ -13,6 +13,9 @@ struct xen_sysctl_livepatch_op;
>  
>  #include <xen/elfstructs.h>
>  #include <xen/errno.h> /* For -ENOSYS or -EOVERFLOW */
> +
> +#include <public/sysctl.h> /* For LIVEPATCH_OPAQUE_SIZE */
> +
>  #ifdef CONFIG_LIVEPATCH
>  
>  /*
> @@ -51,6 +54,12 @@ struct livepatch_symbol {
>      bool_t new_symbol;
>  };
>  
> +struct livepatch_fstate {
> +    unsigned int patch_offset;
> +    enum livepatch_func_state applied;
> +    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];

... this use a separate, new (and internal only) constant? Thus also
elimiating the need to include public/sysctl.h above?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 12:53:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 12:53:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634199.989520 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3bsH-0002GF-5G; Thu, 16 Nov 2023 12:53:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634199.989520; Thu, 16 Nov 2023 12: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 1r3bsH-0002G8-1V; Thu, 16 Nov 2023 12:53:37 +0000
Received: by outflank-mailman (input) for mailman id 634199;
 Thu, 16 Nov 2023 12:53: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 1r3bsF-0002Fy-Im; Thu, 16 Nov 2023 12:53: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 1r3bsF-0005EU-FB; Thu, 16 Nov 2023 12:53: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 1r3bsF-0005jz-3M; Thu, 16 Nov 2023 12:53:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3bsF-00058J-2t; Thu, 16 Nov 2023 12: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=xaxlDXSN6Y+GIs9TH1DUGFZLsqY0Ft6MVP4okwm7ifg=; b=UW7YxQsCxGAtidJGm4S7SLJOGD
	dKNCmiIl2w8djomHUmoW4jBGxtZdqC4HfxzMl49gs01xdzm/hWDvYLaUMqG238JFsuEm44NQPgChN
	krGF/anzTLeHMAuL/xl8UT8veZ7my3exyCblQSqLsg0b63cFmVu2jKrX6dYO0+6wDaQ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183766-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183766: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-xl:host-ping-check-xen:fail:heisenbug
    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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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: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-credit1:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-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-raw: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-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-libvirt-raw:migrate-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-libvirt-qcow2: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
X-Osstest-Versions-This:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
X-Osstest-Versions-That:
    linux=9bacdd8996c77c42ca004440be610692275ff9d0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Nov 2023 12:53:35 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl          10 host-ping-check-xen fail pass in 183771-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl         15 migrate-support-check fail in 183771 never pass
 test-armhf-armhf-xl     16 saverestore-support-check fail in 183771 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183746
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183746
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183746
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183746
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183746
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183746
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183746
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183746
 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-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-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-credit1  16 saverestore-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-amd64-libvirt-qcow2 14 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-amd64-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-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-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-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:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
baseline version:
 linux                9bacdd8996c77c42ca004440be610692275ff9d0

Last test of basis   183746  2023-11-13 17:42:24 Z    2 days
Failing since        183759  2023-11-15 04:41:05 Z    1 days    2 attempts
Testing same since   183766  2023-11-15 17:14:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Gustavo A. R. Silva" <gustavoars@kernel.org>
  Arnd Bergmann <arnd@arndb.de>
  Bob Peterson <rpeterso@redhat.com>
  Kees Cook <keescook@chromium.org>
  Konstantin Runov <runebone1@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Nick Terrell <terrelln@fb.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                                          fail    
 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-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-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
   9bacdd8996c7..c42d9eeef8e5  c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:07:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:07:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634204.989529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3c5I-00060w-9p; Thu, 16 Nov 2023 13:07:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634204.989529; Thu, 16 Nov 2023 13: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 1r3c5I-00060p-7A; Thu, 16 Nov 2023 13:07:04 +0000
Received: by outflank-mailman (input) for mailman id 634204;
 Thu, 16 Nov 2023 13: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=Fy5f=G5=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1r3c5H-0005yA-F1
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:07:03 +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 070fae05-8481-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:07:00 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 6A6A4B81C8B;
 Thu, 16 Nov 2023 13:06:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id C153FC433C9;
 Thu, 16 Nov 2023 13:06:58 +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
 A427DC4166E; Thu, 16 Nov 2023 13:06: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: 070fae05-8481-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700140018;
	bh=+22+/jE0pQQI30EI1P0oDbwnv2LjVE6mj8Acc/SkOAI=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=leI6U/9QdOhRBNiweyhhw/zl8eOkUvoGajn5JusR0Qww/nFOXIJXWElUL0eEYgvpr
	 arc+/6jyWUk3rKa2EeiidnZRS+UHBNjXJByF3WdxDSYfKcsuBR1k/2iLpP5EafzqQb
	 Msn1U92RkF09w5Y20qnrVRGUp+cMmZzUkohMtqGHecLeGg3LFjnfU04U5nLAhT8U7g
	 gJ0FZjlojbF6BmSAQHic0X0yPNMsyVBuXWjNWr/BAByXl43hvHTubvy2kYAolGONY1
	 0ZS/+cIz7FWVyhW6ebD4zGa+ce+7mKkkde2v3XOUUn2rQa/6mquKl+1SuR0bwg5b47
	 NvP+rUrI6S05g==
Subject: Re: [GIT PULL] xen: branch for v6.7-rc2
From: pr-tracker-bot@kernel.org
In-Reply-To: <20231116114241.26403-1-jgross@suse.com>
References: <20231116114241.26403-1-jgross@suse.com>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20231116114241.26403-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.7a-rc2-tag
X-PR-Tracked-Commit-Id: cee96422e863f0b0e9d3d0c2d617271ef2255858
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 6eb1acd9766a0dc9d85927843d85787408395e15
Message-Id: <170014001866.19711.14089555975336471922.pr-tracker-bot@kernel.org>
Date: Thu, 16 Nov 2023 13:06:58 +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 Thu, 16 Nov 2023 12:42:41 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.7a-rc2-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/6eb1acd9766a0dc9d85927843d85787408395e15

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:29:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:29:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634208.989540 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cRL-00047R-9K; Thu, 16 Nov 2023 13:29:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634208.989540; Thu, 16 Nov 2023 13: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 1r3cRL-00047K-6n; Thu, 16 Nov 2023 13:29:51 +0000
Received: by outflank-mailman (input) for mailman id 634208;
 Thu, 16 Nov 2023 13:29: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3cRJ-00045j-Hv
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:29:49 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 357b1eb7-8484-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:29:46 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7217.eurprd04.prod.outlook.com (2603:10a6:20b:1db::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Thu, 16 Nov
 2023 13:29:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:29: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: 357b1eb7-8484-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=at39znPI8NwVp4oqOYYf7DHPcqGyzknSTQ3FjuLFpWh9XheRWJOTO6xrN3zSmx8ZEDZ37xhJB6XBNrhbvof99FpQGCVEVT8Rdv4CAZrfdrVfa475xlf7ZVVpv8nnk/+GFCd6Im4IGTojW2d0+pFUADQWdvxj77DQEjDBm0hPHw8ZI8/r1EH1+it7JJS5VmB2JVb7IwvA1g0mz4HJMvhYdZJUPWdjSaep8CNi8Bu4R9fL7ukDGttMUXnx9NuxbEfzU98CZFzxEWH9/mQcrE2HlMiT4an4GqnVa4armr5U4de5UVPybBIl/tJrAmp+QNs9yB5wKc2TQl9jRqoJPpc8Ug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UkydDszxUuAFPDA8uC0UdXYBYfdZlCcf2w7odYVCt90=;
 b=UhKsfBKyow/BvW6wxFivYHFyEW4uWFFpGHGxPnD4wlwZeqMVkDEi37ASFySxPk5YW5yT9oHO95SlUxXQ+Urr/rHGvmhQv5jsRQdcnoc8I61a7ze+lfd/aEQCtTTKVcP4FAHjeP6g677B7xzME6gI1NHWPFjDpxbvJiv/FSH92Hen5S9NhYzHHm2a7WdeAyrvwykZ6zXQ6o806xz/uWcGzYkbXcGarWj2AGdPG56toJwZqdT5axJikmDArWFVTsXpK8ghtQWkCavY++xp8fWX/agD2FW58RPt4LhCgmSIt+JVQ6XHAZOciNA2Qfu6l95a/VbRYKmpS5ff7X7klB2X8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UkydDszxUuAFPDA8uC0UdXYBYfdZlCcf2w7odYVCt90=;
 b=jgSJ8Y34VjdNZFHg912lv2EWwfJlPOYe7YkGdUa2tpDHqIdPPdi+sLY96e8MTYIjVbX6J+QaBabqlbTV9jZGSp6+Up1kyYK7z3vsQ+doN52UHvdlUdr6jv7IRAI9uUzKOUpIumceVHC8WaE7mm1Ki94fMjtniyxoj/2NK/hn4RufMFvcMLdRXuyjmdH6v7sjKcLzX9WqIRB2H6nvUw/0axD3dyfUzkDiCq3JD4lGzDlFQQKgyHnynvTl4KzCxVbugwLjaTEn+/We//ERsR/1rAhLw6K5RPaUH8HM9kYNSHl7wqWjqXR8KPNGjlfcq6Zl0oYlGeRTB4lUx8WZFxH3GQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Date: Thu, 16 Nov 2023 14:29:42 +0100
User-Agent: Mozilla Thunderbird
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH 0/5] x86/HVM: misc tidying
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:bb::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7217:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b6b7c08-dfb9-484a-3fa4-08dbe6a81854
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hFVTy10Aevjl0KhHOLN8BQa/3OfPQHsStBv8IvpaVvKW2YqyOZ0rgWyM0yW9p1lsPGOv1bv7luJreKe7mbQym7aJ6C8qwcOIGO0C2WxP/3V2CvALe0D1xlGAX3WJ3Vt83uuqCj5c6JgISGhUSnr1/2JWcXkVNFkxwcD4xsTaGHRFbGUxyf4a2et2igjj7nCPf/wUXhCE3BnMe2LSTplNtl/6vXBR/r6nz8wAK6pi+Uz1PIQlpoWK9fX3mAQS+5DPFN94oERovrlUA33EW4HSTdZi4Zv5SIkgV6g5yGa43XT/5l+4st5LW7+RfPtbHWBtY2X8kHwDx1zo08A4it7tqcALDvUXnaOV4SYtzRXoeevBG25TD0KukAUEC0b94DNYybR5EyfQg+u8r5Os2xi+wuYir/6J+edRQGobp6bQdrZXrhWAVW+t1KUXPpHSNYHh+/zkDcbNHYVrI7gav137IACZkBxvGARO/MkEYReXCQCrA7zPJGaSEdQLtZ35KHYKJ5Q+WZK7PiRST7M8GNweq5LrnN2zPc8m4pkEL2BqCBZJTawQCR84lWdnC+AEWuQqczYbfiBhbloI7cRjnEbpZcIKL/fWWSol8yL64aDJtnno1ODzyFiyF5QPPnIah7NCJQAa+2hmaOmedd52a+eQzQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(396003)(366004)(39860400002)(136003)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(41300700001)(31686004)(2906002)(5660300002)(54906003)(6486002)(478600001)(38100700002)(86362001)(558084003)(4326008)(8676002)(316002)(6916009)(8936002)(36756003)(2616005)(66946007)(66476007)(31696002)(66556008)(6512007)(26005)(6506007)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c2RMVkZjOXZISW1SSk1hWGFwRFB6VGJRRyt5a3F1VFlHcTBYSkxJSkRuSXlH?=
 =?utf-8?B?ODh2NDYzbzNhdEN1MkFWbGxTUUdGbXpNQzBBSVN0WVc4VU1zMXVMZktQeks3?=
 =?utf-8?B?Rmg0OE10NmZQNmcwYjk2aWNlcW8rUVlBMCswMityWGNkdkVsRjZqRHdaVXpy?=
 =?utf-8?B?T2M3dzVyQmxzbEZjbXcwZnU3SjZTa2o2Qmtnb3JmT25YWXhCUXRzZWpsZDh2?=
 =?utf-8?B?bWpHR2R2WUd6d0ZVb2JsaXlrYktVUE90cHlWblVUZjh5dENsVmRoZGNiUFNJ?=
 =?utf-8?B?dTZGQjkvbDQ1VVpGVkY4L25XWjBQWFNSd2IwdW85UlJ6Y0t4dWUrOC8zWjhP?=
 =?utf-8?B?TWk4ZlB6djZnNFMxSzBuSFZGbVpnQmxyQ3hjQUI4blFidkFIQ1JBMm02ajds?=
 =?utf-8?B?SUl6eGREcnJnYXlteEc5aE0zcXh6ZGpzeWtOSGlXb2xPeXJhY3pqUnpZV0Ey?=
 =?utf-8?B?SDVUQzlST2gzUW1manpsVi9uK21PN3ZnaDZVWUNRQ3hSRjMvZXFNcnhXSXlW?=
 =?utf-8?B?ZHUxSUlGdWFEL2RFNUo0R01EWTg3S3Z6cUo2Y1FKNFdqU2NuNlFXMW9qZTM2?=
 =?utf-8?B?S3RaK1RzU01VNjcrMmJOMjM1QktLL1NSQWVBbEU4Y3ZPWWFtUzBNTmJjbUhr?=
 =?utf-8?B?ZWsyTExvbFRLSjRHZS9LTkpxQXBEenltUGhmWGJTS2pLK1pTcmZ6OGxET1VT?=
 =?utf-8?B?ZSt1cCtOcUxIWXBuaS9NcnBzeW9ZTGxSYjBzWWFkZGl4cHJlYzhNTURIaTF5?=
 =?utf-8?B?MG5KOExNaWNCeFZweThxUTJaRnllait2Mi9sSVhlMHppV1psanFQSUlCVTZ4?=
 =?utf-8?B?UERkeU4rSGpaNmF3VTBObjNUR0k4d0ppNUh5bk5vOXJwOGQ4RkZlYngxNGth?=
 =?utf-8?B?R09QRVBZU0JZSGU2VHR4S2xFb1BVcVRBR1RXY2JsSXA2QTVxaU9LdmNIWkx2?=
 =?utf-8?B?NVJ1a2RKYWhKVzZ6Z2VJczRhS3hVQWc4WUgrZkhienVpNHc4cko2bWV2Z0JE?=
 =?utf-8?B?R2VYYXhteWxQKzVZeERlYkF0VHNzR1htRnVQZTVQeGxOZFdNaEZzN3Q5TjNa?=
 =?utf-8?B?N0JtVTY3QVdISjVSMlpBb3FOV2hQbGpOams0TnAvTTJ1eFMzTVBnN0FHcjdZ?=
 =?utf-8?B?cm0wLzlKRDhvOUF3Q1k0Rmc0ejhSS3EvWnVKRlJ6NmZJZE9vRkRDR0ZCcVpT?=
 =?utf-8?B?b2IyeFRLZDNsbVY5RzlGcDlGK2FFUkc5Ty85NkdpRFUrejFySGkwL1c2ZGRV?=
 =?utf-8?B?SWZRbjE2RmxTK2k4RlRja2x4ZlFpb09GNDBrbSsraEZLdUt3M2xGMkhKbzA2?=
 =?utf-8?B?NG1lY0x2aVZZQWJmVGNuQll5eEhIb3JHNmQ2MVhEWGlxM3Z0S0l6UGNQRGJ6?=
 =?utf-8?B?cm96L05oS2VRYUxteXN3eVV3V0NFYmV3SjQwQWQxTFdjMTdVZmRLTEZoQVVv?=
 =?utf-8?B?ZWs2UmFINDVnQlBiTUVxVUlOMlY2dXRLa1BXRXNIMXBnd2pGalBXcGdwVlA4?=
 =?utf-8?B?TXkyNFpQMTl5OXFnUEM1SkllZC9kMWxVY0VTbzh3MDF0cVZ3cDBBV2lla2FH?=
 =?utf-8?B?WFQ4MkxFajAzbWtYdlFwSDRjbFA4TzJINFBtaWwrL0ZEWllocU1HNEFKSzBl?=
 =?utf-8?B?VGlkdmFnNXF1UHFvMUpHVk9nODNUK2FCQnN0TDdiZjZTazZyRTJHQzdoclJL?=
 =?utf-8?B?VVErbTk4SlJ5NER6ZEs5bEVSZXpocUVDdGFSU09Sc2ZCVjh0Rkw0NGREUjZv?=
 =?utf-8?B?WGhLbU5UZ3V6bnhkcmFsUzVIZHV2ZXRNclpMK3VYUG1PU2FEaFRVd3MzU1ha?=
 =?utf-8?B?WHpsV3VrV0NnNWYxRGxlaVJEUVp3YTBPbEprVzMveExHbWE3MlNHcFNVTEtO?=
 =?utf-8?B?ZjlndDgycjcvcXVLanVrVmRXNWQyb3JaUGo3M1MvNFBDS0lnamprUEQxZjla?=
 =?utf-8?B?TkZYeFZzMGZadG1LdStQejEwRWF5UFZZMlo3RHFleTY5SVBTUEFKT3VmSjUw?=
 =?utf-8?B?VEc1R3hGaUc0cjF6dGpkNU1LV1Q2UC92ZnNvbHd6RXhLWEdka2VUcFE1RktP?=
 =?utf-8?B?VXdsV1dhTDZPREdJeDUxWmVRdGxTTGZ5V3JqUFpBcDh5TzFXYmY0TXNCVHha?=
 =?utf-8?Q?5jzw5SxZTQxbPzU3fytSCZa6K?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b6b7c08-dfb9-484a-3fa4-08dbe6a81854
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:29:44.2750
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: pJa0g7RNpAxDmcX/pe7NOZ5KgVKXPWyw1hXuq2zdsbwk6yOlcgNz1tfjUw8JGAT0DShvZZg/4mUwHPMouPKfuw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7217

1: VMX: drop vmx_virt_exception and make vmx_vmfunc static
2: x86/HVM: hide SVM/VMX when their enabling is prohibited by firmware
3: VMX: don't run with CR4.VMXE set when VMX could not be enabled
4: x86/HVM: drop tsc_scaling.setup() hook
5: x86/HVM: improve CET-IBT pruning of ENDBR

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:30:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:30:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634210.989550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cSG-0005av-JK; Thu, 16 Nov 2023 13:30:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634210.989550; Thu, 16 Nov 2023 13: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 1r3cSG-0005ao-Gf; Thu, 16 Nov 2023 13:30:48 +0000
Received: by outflank-mailman (input) for mailman id 634210;
 Thu, 16 Nov 2023 13:30: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3cSE-0005TT-QA
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:30:46 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe13::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5865ffb7-8484-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:30:45 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8140.eurprd04.prod.outlook.com (2603:10a6:10:249::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Thu, 16 Nov
 2023 13:30:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13: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>
X-Inumbo-ID: 5865ffb7-8484-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Wn3nRCmCEs61VWr52m4tDcEkOaobKUyKymTF8Ty7mlGDnTJJP5aYyJJXaPTHW2Q+qAT3pR3Oskq2A/qaoZDAlcX0g2oYrEtzpxCzudqXFeQH976scPLBAoQ+rcS5Y3OmtUCUk2V2cm8c6Q8+j1fLkHOCYIq+h6tEGdHTkxsZUjARn6/7pRTJ+B53V+2Um8OHPcqwAqzsErCdpUoIgn/x87y6Y4j/kfxEkURFnA9+t3tdCjl1lrOWhrP8UFwzr5mDE7eOBvkUf1X6UzBnV9VLjoSJ6y6PRcidKkSZ0WAKizMqcrHHW7gwFgNiw1oPOCQxuJ1HnZ2h651xMq/YzNSYEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VdKtcSr8M9eXHCSqSFrd/lo0ZHHHdKLLAqWgHdGZwDM=;
 b=SDM83vyblz0x8KohuYknEzaoiBcAkGSl+pHYBoMexhw/CD+QWsUP1ufMIhUbc20v1+HiM2B88oMFGF/KF1nkTpR5QG844VkhHjdF5J/2fUX2cNaDlth+Z08xI6ogElGMjfp+Kt9jlfJGSD8ZN0k5GNeLDvR1CDBAQOwPF5XbsO79Mjdo0b6UV4BOxrqlaP3EUaHISusZ3EU843ZmOb4OJBXMYwFIgrcuIaxjGPytD5PgNJHg9hUI9SZqXwepLgNoAoaKE3flPKmStMM+AlkEYys9SPL1lzvULqT+UaCVMIIowDkCYYzJUY2eVaWT6JkdCayzNt5JJIfjURgtEQyqOQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VdKtcSr8M9eXHCSqSFrd/lo0ZHHHdKLLAqWgHdGZwDM=;
 b=yN7tOlqKZH5lYTgKqxINPhdZU3AWSl5iwe7J7OaxpApdYhCS2FW0rUg4+04M1U6s3iAu2iL3b6PA9UsYek0bRa7PQoe0m+HKimpWNec9mzWret3XwRFxwVKlBoErcgFJOMBHEiCcAaanPVEl/9DHfJL3FxaUvdAGFY8gcZ3uibdL/U5DqqCaXRJ1uo8QlP7ckQLcRkX7ffiSh59ttzWXjUSmzWa1qQNsgPWAdWUkrqXzZyd2tQJamH8G9+o9gJl5y0WjSGUMns9y6O0n+L4jVsmpN4zqQSY42Nm6fU3koBlq6JrFbrPloYQY6+n3XlB3iYcLNuKiW2jIULEB3BH9VA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fd9d6043-4877-4156-97d9-4bdf7cc8fe04@suse.com>
Date: Thu, 16 Nov 2023 14:30:41 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH 1/5] VMX: drop vmx_virt_exception and make vmx_vmfunc static
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:bb::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8140:EE_
X-MS-Office365-Filtering-Correlation-Id: 12a3734d-e63c-4db6-0404-08dbe6a83b19
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YJEYnXAtvxkRsQuLRv4zyXHjpSWlJsXSq8TvNih6wiMdxcGq0sOPWjuRhU01OiUNlzFBqGs62fq4LrPkjiaeXmSGsR905MQuf0Kz+AjLvEkmwdvraB3Z1Tg/7J06ZM45DkdjUaK7qNP8dHmtnB7MufUHHN9mT/5zpjcIJEZ6HZE1XEbs4l95HHl2IC3HjWWTuIRmcgpKu1U7C0AZUrk+QKle2a05e35hEVoVBzd3VntqKrjOFTF+8c3jqE0PSAY0hY3PkU/Be5koYYtyLiUYPB17Uwd2EYnBtBHkoUg22nLqzl9If9ksTns3yEvYr7TrnQvvbzMUMOtnbJkHNITShiBNsuG6TdGh2fmb9MqHGL1Y9HyTbOMB07sQlV2gkFG9ODUuebGy1SJUM2PSI+aREpfXmG7k+DwJHVHDT7amBAWxinX0UCtZMTpVjjIuS7N7KAP3S2nfLD11Ao6/nV0gx+HwU8y+Nsd4GxAUxFbI1bccpFefr3MtoqB34+SFEfohVRSgFwLOrkYZfMAiFCm3Pf+K04uJRHGLeFt0eF4SjCoO4dIlD+Gh5074xh+LNqIqR8GR7Gcn5OZJL+nUE4/5I4kLH8JYgAykk17s3MjNodmOi//ZyeWvhSyQQ8X2f21XmRkQHXyqTLSyuo3iUBR7fQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(376002)(396003)(39860400002)(346002)(230922051799003)(186009)(1800799009)(451199024)(64100799003)(6916009)(54906003)(6512007)(316002)(36756003)(66946007)(66556008)(66476007)(26005)(2616005)(6486002)(478600001)(6506007)(31696002)(5660300002)(86362001)(38100700002)(2906002)(31686004)(83380400001)(41300700001)(8936002)(4326008)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MHY5TEdaYThMa1B5OVpoZkN4Vm5ONlJCbzJRSzhNak9GVmxNdE1oVXJGME8y?=
 =?utf-8?B?NXBHOXU0THB4Q1RKMEd3eFVZUXpXdWlaZWZRS0lTOUoxWUNZR0VVWHZhNGt5?=
 =?utf-8?B?SWpOeFAyNmxFcWtCSHNkVW5oNFpMaG5Kck5VbHAzOHo0YStzalB3aG91SHRV?=
 =?utf-8?B?bzlUY2w0NGxqK0xjZmFsSGJCNVE4ZXEzbkYvUFpvdWEyNGFiZ0dqVW1TQXlq?=
 =?utf-8?B?K0srUG1MK2FmTDdpTzVZckZzR2JPR284YkNRUVdSa2w1cWwvVjRldzBka09R?=
 =?utf-8?B?QXFrbG9KVmdLU1Y3bk5yck9UVzdqTlZxQ1huSDV3dWI3Rm5GV296QlBRTjd0?=
 =?utf-8?B?cHFPZkliQnMzY1VKeXlsQndvM0JvcndjbU52dms5VmxhS0FyN2xtdzUvVkI3?=
 =?utf-8?B?ODdkQnRsWGw0ckVueW5PcUhyVUVBSldEdDJjNlBxdDV0aHRaOTl5d0VTbTlQ?=
 =?utf-8?B?SlpHWFRYL2ZpTk1SK3E0SHFlRERoY0J5N0FHVlpFeUlpOVVMZ2tXOEtlRUVG?=
 =?utf-8?B?RHU1bGR6RUxlUFVObzRFRzZ0b2dZdVh5eHlZUHc0RUg3b0M3QmJBTU43a1NI?=
 =?utf-8?B?R0RSQXZINU5HbzZkZnRqK1Fyd1pqTGJxMTVldkZpMmkrNnRTaHpCb0xEcGVD?=
 =?utf-8?B?YUQvbitjb25IMnJhcTY1b2c3KzJKNnZiNi9LU0lha2UzMlN5dG1Tdjl6WGVO?=
 =?utf-8?B?VlFCQUdteHI2dVg3VmVQTTR2blMvZDQrQkRQS2tSMkdBQkFzcDBHUDZPNWp4?=
 =?utf-8?B?R0FzR0N3OU9ESEtlYjk3RXA5QXpTdEh3TGc0SlZsb1gvRlcwd0dSQ2MrMmJP?=
 =?utf-8?B?Y2dkSTc1eXMwcGhPVGhqcFIrbktQWTBLUmF1QVFtMVlkL3VtbnJvM0R6ZmJE?=
 =?utf-8?B?VitjNTd4SGtuYjM1M1lZczNpdC9DMnd6UFpFYXBSem1WVGZyaGJ4SmhPNFd0?=
 =?utf-8?B?RnZJaXhCNTNZdXJ2Z2lHNTJQR2hDVExmUzBvc3gwYlcvcGJ6S0NlNklndzRy?=
 =?utf-8?B?UWZ0aHdkekphdjl1cEJJdmVaVnZ1UGtzSDMxNGc1RXNQSFVlZFZlZ1F6Mk9K?=
 =?utf-8?B?TUc5eFVlTGRNUVBnUm1LaFR2NlZhV0NDU0lvS2xrOXIzWlAzRS9vT3Nhb0RT?=
 =?utf-8?B?MFpHQlZPbzYvWUNFWnVJR0lyR3hLNVkwQzRQa2xDaWdTVDV0TkwrdmJCWU1N?=
 =?utf-8?B?cnpPeFNQOGhnOFlod2ZDbzJRR1dvbWN5dXBYZ2JyVW54RTVDcTJGTE1QYnBV?=
 =?utf-8?B?bFNvK21MMDlYSDlQZGQyVEE4d1hEbmM1WDYxVE9uN2t5SFFUN2kzOTU0VjRi?=
 =?utf-8?B?QzZ6SjlHaFQ2am5XODZOUHZmWXZBazhweVR0MmVyM2phMTMydzBseEhYQVRl?=
 =?utf-8?B?dWh5SzVuMyt1YURrK1RQdm1tSnoxQXRsTFRDdFVYNVFjRnNsV3JzWERuZVlE?=
 =?utf-8?B?ZUpjMUlNS1JoUEx0bHM4WWdQMy8vN3BsYTJOR1Ard2Y0R0NRcjNkeDJyb3NE?=
 =?utf-8?B?V2pQT0ZWWWc0c3FzbXpwaHVISnhGTFN0bElxYWgxTHhmcHdtb1BRdjJMTGc0?=
 =?utf-8?B?bEp1T3lnTmRPVGRDZDNieWNOV0FLdzZHY04ycU1wVVJCZTR5OUs1aHRDdERQ?=
 =?utf-8?B?M3FxdStDdlhmNXVvTElzc2lrUzNZTGhDaVE5SzUrWWdtRWllRVNQV25OYU1l?=
 =?utf-8?B?MDdXSXY4RUpOMHlodTB2dTE0dEduS0czazgyQVJMUnc0M3NEaWMvUnBTM0Ru?=
 =?utf-8?B?QUFKRnV4eVNjZ2ZTNXlFNCtQaWhUWDdVcmdlOVBaSDkyVnp6eUZoTmV0eW43?=
 =?utf-8?B?OEpSMWltSVJ1K0xsRkZKMHVKMmYybmltcmtEejRMaTh2TGNQRE9LSjIzMmI2?=
 =?utf-8?B?QUt0d3Rzckd3WkljcnYxQzVnRmVXd1hSbUNZUk4rUFhteDNTSUQwZ3UycXor?=
 =?utf-8?B?anZNckNXKzJIQ3oyek5TV1JwN1BXTTZQTlo4S3VKSHdYQ3F3RGJ0T05nMnhk?=
 =?utf-8?B?blFoRmdwUXdFTFV3VHpPT0ljblk0cFJHRmRWNHZydjZtdHlYaXpKbTJub2xB?=
 =?utf-8?B?clFTTWdPdmdxNzZxRmxVNkZVWWhPNjlCb1B6T3Z2b3RKdkRkcWJ1VWtqdnUw?=
 =?utf-8?Q?hMLesxmaSEgJGLEG5TxxpO8gF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 12a3734d-e63c-4db6-0404-08dbe6a83b19
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:30:42.5049
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wU7hfdgAQ+yjACfZWL98Eg8mRb1oGGhX23ClscEkmoemNL8uZ2LazJRSBFSD4hW9y/dHWW6b7aR3bL5DrG6NZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8140

The variable was introduced by 69b830e5ffb4 ("VMX: VMFUNC and #VE
definitions and detection") without any use and - violating Misra C:2012
rule 8.4 - without a declaration. Since no use has appeared, drop it.

For vmx_vmfunc the situation is similar, but not identical: It at least
has one use. Convert it to be static (and make style adjustments while
there).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
In how far the sole vmx_vmfunc use is actually meaningful (on its own)
I'm not really sure.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -167,8 +167,7 @@ u32 vmx_secondary_exec_control __read_mo
 u32 vmx_vmexit_control __read_mostly;
 u32 vmx_vmentry_control __read_mostly;
 u64 vmx_ept_vpid_cap __read_mostly;
-u64 vmx_vmfunc __read_mostly;
-bool_t vmx_virt_exception __read_mostly;
+static uint64_t __read_mostly vmx_vmfunc;
 
 static DEFINE_PER_CPU_READ_MOSTLY(paddr_t, vmxon_region);
 static DEFINE_PER_CPU(paddr_t, current_vmcs);
@@ -475,8 +474,7 @@ static int vmx_init_vmcs_config(bool bsp
         vmx_basic_msr              = ((u64)vmx_basic_msr_high << 32) |
                                      vmx_basic_msr_low;
         vmx_vmfunc                 = _vmx_vmfunc;
-        vmx_virt_exception         = !!(_vmx_secondary_exec_control &
-                                       SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS);
+
         vmx_display_features();
 
         /* IA-32 SDM Vol 3B: VMCS size is never greater than 4kB. */



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:31:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:31:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634212.989559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cSd-00061T-Qs; Thu, 16 Nov 2023 13:31:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634212.989559; Thu, 16 Nov 2023 13:31: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 1r3cSd-00060N-O2; Thu, 16 Nov 2023 13:31:11 +0000
Received: by outflank-mailman (input) for mailman id 634212;
 Thu, 16 Nov 2023 13:31: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3cSc-0005TT-EY
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:31:10 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0611.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 667b2455-8484-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:31:08 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8499.eurprd04.prod.outlook.com (2603:10a6:20b:342::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.9; Thu, 16 Nov
 2023 13:31:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:31: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: 667b2455-8484-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M+qT3qKFT4xI5Fa5EbGBacr7u/6O/4gheezH0nQsCcY7V7KpSRsM5S0JsIxveS/JGlbgWbbwC4RegUgZDf0jy86GdCmESmtEZJk/mTV1rj1Mdfb8S6xa41tZ7p8Mj2BOEVimbjVIzgLY7FclDtvvJTDroPDQgpNp0OvkTNKUhyuiTFq5p9bIxtqDBVtltgGdC+NGaG4I6RCp6EbDgm699zmq0hqb5L8LVtvJJSVXt5iGB+e+02LSlMoa/wBPSynTzpJwV+X2CkjXLws5Y8Pnjd49pJvnPPK367Ai/+18p9b7UHQWhWhblq54e85S+NdFXaR00q8qYnM4sbL1g5OoEw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xpmbzUYWRrR5ZbwtWXyVrKKEOLtrtSL96BWfS0R0oPQ=;
 b=PI58vr+BVyiFmBiN5viT13bG71XVj2UH0EQ3S+I3EmJ7c8/Ys01w5UWa25mPVdUp/zSdgPSAEvPIIhG1Zu3jKjTsdACP6a0+BlNt5qWWwFDDhK1Sqjykfuwa83cbUf4ebm1f/8PwYCIwPoBf6fKRfpo8xGx0KoaJQMkreys2eBgiGY4bOoiEZZj4TrItBycnaaFbr9aDo7BvPSA/Y734qpVAE+njpOQlCrDNJmo9H+8TJg5pgbfTMsMNOsVNZY+gp9LlzFmQINQpp9RyYyms4uTsqL8bEMCW982wYtn4KxnqKkfncXt/74I6l72JaJtPy75wSAeFmSbu34l++EFzpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xpmbzUYWRrR5ZbwtWXyVrKKEOLtrtSL96BWfS0R0oPQ=;
 b=vDouL9Dky6AwkWgmxhxE0dpXjJIKv+EdEx7b7zg7ByxELNMvK4Ia6CYOQD9SMYf+6zLC/bnO+pH72WZunsSTA61aKQQ18LpKtZNY9Fhvo+WoQERSjXeqbiEd+KCaKkov/JxoQY4IChnNIfueirVxGU3oMi+Z7X2NPQf+wPymazH+V/MTPK8SDy2EOjIxNgHW3av1LzfcVtVVgliydM7mgBlDobrMf4poTpUktFCvQFePU19LG/GUXG157d+FXA6C55kV9/h8KtbeYubwwH8wio8PUMFF/qtwuFF/UzuTeTd8urRkVGIhJC7DsVZLoatsXLkvNNzmJEr8e6qREl1Txw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b16802f5-13ae-47a0-b12d-604928f4cf7e@suse.com>
Date: Thu, 16 Nov 2023 14:31:05 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH 2/5] x86/HVM: hide SVM/VMX when their enabling is prohibited
 by firmware
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:bb::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8499:EE_
X-MS-Office365-Filtering-Correlation-Id: eaed8d4e-8bc6-4d61-123b-08dbe6a8493a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	V1gWjRotTyF6/VNLNc42dhoMqtdx2ezKzQo1F4PsyfCucuED4bYo766KFtse8DfR3WkjbR3E6ktyL6x13Es4Q30MbaJyL4t8iAcYQt/YE/nr6mSICtySIoyMyZQiRCdaAagO+lPGLgQbRbYedPzjjX7zz8x8QDt73b6aX/ZBp27H0h5KRxos+aMwF5XyzTtVCWG8EEwgwj1GcpJIbPu80Nl4XM6tn7L281V6O2D2bRrAsrZl2NvKlMnA8vs7+3g6F+cqnr+OXEBIc88DNPxe12SxCmR/NvaLg4R4cpciDkH5XbNna2IUY3MZIdHQh/oRDw5axXLXKXqYNdCw557P1HpJIrpL8i4zspIRSPVjn+O50iq+914OoG5VIfmTdMANpoiCIiLijZkxl3vpXoUcAJJvhG7TjBSD4McR/H4FEOhd1NoCwZ7iNqLRX7qhg+85DMYPv1VaqYT2IqhWiylgVx6wktnARbajbg++zolgMBsy8F/C+imML4ukPLeCdxsOX4Yj5O3BKX4nhZbQus30cBPJ84CmqyJDzzMfT08yT8iF9KfInD0Pa5De+7aR2Q2mNJ8Bf0JBN4HfC4CaNM3QHSWdp9RXbV6olO7Xd88PUUGdMASfJWIE9WtMyc4paz99CYdfRW8syemvYAsP6MFXEQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(346002)(39860400002)(366004)(136003)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(2906002)(31686004)(38100700002)(31696002)(86362001)(5660300002)(41300700001)(8936002)(8676002)(4326008)(6486002)(2616005)(6916009)(54906003)(36756003)(6512007)(66476007)(66556008)(316002)(26005)(66946007)(6506007)(966005)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R2ZCSkxncVMvTUo2ODBmTVU0OFlEM2x6bnNoSG92YkhIMlpHYStVaCtqOXZO?=
 =?utf-8?B?djZndmJsSVdwNTk3RFdCR2Qyc245T1hZMlJWaDRwaDNuQWZEaUdvc0oyanhF?=
 =?utf-8?B?czY5SVJ5eVNZRUlwcStuTUpVTENJNGhoTnh4OW1JSjk4SCtOYzlkTEJBQlpr?=
 =?utf-8?B?UXRMMEZMMjltSHZqcHpUVnBwdnl1WmFiekhyU2pFQUNYdEpNQzU1a0x4NVdK?=
 =?utf-8?B?S0ludG9XUmRBZzNOUFpJL2cvZFg2Wi9WbXZRc2pkYnBHajBwOVZ3V0hVWHcr?=
 =?utf-8?B?bkJBNEE5RUNOcUxZOE9pNVRUSmRleGxDYVU2MnhvNkxmMWJqWlBZMElxdG9h?=
 =?utf-8?B?eVpyaVBuSGtGYnY4Y3p0VHpsN2I5dGZQNTZZQjQxMnRGVzJaVkgrWFY4V2Va?=
 =?utf-8?B?emtYQ1lZcUN4czhVc3JDcWVtNENMZ0M4WmozWms5WkNFTVc4VnZGUUVBSU5Q?=
 =?utf-8?B?K3g1cklJcGJ0QnBydjlqQW4wYUEyRlVrTmQ5WDJYeGloNWE4RmRoVjRmVjcw?=
 =?utf-8?B?OVI1WDZBWWpwZGwxTDFhUWM0eG5jQXNpd1BBbVFtZ0E5NSt0VTRsTHo1bUsw?=
 =?utf-8?B?ejF3OSs5RkhNL0RBaEZ1aFlJSCtNY0FSb0M4cWtIamJUanQ3bEh2dHBUa25K?=
 =?utf-8?B?Q3dUOXhFTWRkeVJmTCtxbkZ0RXJ3VkcxaElZSDNoVmtIR0JMcGlTVDVkTEgx?=
 =?utf-8?B?YmpVcGRVWmhsRlliRjdCMDRpaytIWGlPTGd1RUxxYUpLc0tRbzllMmRnWmZj?=
 =?utf-8?B?L3dUeVFlN3dZMDBwejZWWFZkL0YxYlRPRlRFTGdxRjR6NVh1dW8yVmdNNm1J?=
 =?utf-8?B?c3VBTk1uWGdmQUNVQVdvazErdjcwWGlJWFdIdlVRZkQ1Wk92Q1ZIN0tUNnRL?=
 =?utf-8?B?OU93SGVORzJDejZZS0Q3YmZRczlIaWdFcllWdEJpMnlianl3aGxyZTh4aWRh?=
 =?utf-8?B?ZHBCZDRycXRWT2RXeXkweTBLcEhCT1J3ajBFL1lLcThFbUMvRFgyVlBweDBy?=
 =?utf-8?B?czRNcmU0UkJkdTdWbUUwdXRjZzBkUmdVZTZMU29TUDduUE02Q0grdnpocUFO?=
 =?utf-8?B?RkVFRmlTMjBKQ3ZuOVIxWGRjSWtpVTB4YkYrOVBQUnkwTlBUc1ozd0tYS2hq?=
 =?utf-8?B?ek1JMVc2Y3F1WEcwc1RaWng3Zi8rbzVXZytYZXVnQzBlUENZdW16U3pWaXRJ?=
 =?utf-8?B?UlVQU2lDR09MUm1ldGdYSGdjY1JhUUswRmlncklWY3YvWWg4Zld3WXg4Yzkr?=
 =?utf-8?B?NUVmN0s1aEx1OFZ0N0ZVeDNGREF1bVBLSHk3cUVqc1lFazFDb0MxNUNIVktz?=
 =?utf-8?B?WGZFY3p1a2RabHVUK0JYbDl3T3NuYlhCcVlydjlzRVFoV2pKbWFjUjkwOWtF?=
 =?utf-8?B?TGVBWG5OeG1OQm41TWRwcGhGTmRRYUtGNTdPTmRFSTJZYk9RV3V4ZUN1SlJJ?=
 =?utf-8?B?VUxBa2VmejlOSnB6VGV1T05XZXVTbXF0TEE4NnlrTXQ2L1QwZzduWGhYR3pn?=
 =?utf-8?B?K01TYTczVXBlKzAveHRLQ1ovV0dlU2xtenBORmxHVkpjQnFFM0hnZFB3ekht?=
 =?utf-8?B?TmwvQnNQKzByelN3M2lQWFFoR0tpV1lLM3lNZ2FXYXN4ZFA3NEc2eitLVWFL?=
 =?utf-8?B?eUtmWUVJa0U1Tk1DMmMwRUtmSVV3cUtmd01MaGJnRVZwbnJKLzd4N3JrL2Zi?=
 =?utf-8?B?eTlQOVptMTgwU0NROTZEUDRtWUpSdE8xOG9wS08zN0tMc3p2QVJuK00yRXpS?=
 =?utf-8?B?cTRQdGZ1dDdYNzNKZTJOL21xY2JXdmFUb0FzampOb0pkSXJjbVowUGVsa2Vz?=
 =?utf-8?B?ankyVkJmOHFmUU94cFFQSVU0U3cxRDBnMVByUnBYeUw0QWhqVkp0bEpBb2FG?=
 =?utf-8?B?b2VxZ2xjOW5NdzlSUm5kUjdkMS81TjJMMjNXNjlQa0o1STJaMzNLMzB3anRK?=
 =?utf-8?B?N2VabHpzYi9NQmcrTURxQmtWTkZHcVVFdkYyOGV3ckIyRkFWckl0cUM5eVU5?=
 =?utf-8?B?emRkT040L3lnd2tTNU1zQXpPd0VCZElGZkllYzdTV1JCbm4zKzZpcDNjVkJP?=
 =?utf-8?B?cXRwdVFEWm52NUVSdk1MYXg3TVk4NmVtWEcyMWRFdkIvL1ZXY2VCbXNXSlZj?=
 =?utf-8?Q?J+GMJyl8rYVICdrW4emqbP+BK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: eaed8d4e-8bc6-4d61-123b-08dbe6a8493a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:31:06.2234
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XvAeL1PH6+KGnl1LuUullXxE7e8Wbs1upMgo7sVHISegCeZy/f+GLBPu6MDYS0hU9ZFApneTeFeNZ0GP4xmHVw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8499

... or we fail to enable the functionality on the BSP for other reasons.
The only place where hardware announcing the feature is recorded is the
raw CPU policy/featureset.

Inspired by https://lore.kernel.org/all/20230921114940.957141-1-pbonzini@redhat.com/.

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

--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2543,6 +2543,7 @@ const struct hvm_function_table * __init
 
     if ( _svm_cpu_up(true) )
     {
+        setup_clear_cpu_cap(X86_FEATURE_SVM);
         printk("SVM: failed to initialise.\n");
         return NULL;
     }
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -2163,6 +2163,23 @@ int __init vmx_vmcs_init(void)
 
     if ( !ret )
         register_keyhandler('v', vmcs_dump, "dump VT-x VMCSs", 1);
+    else
+    {
+        setup_clear_cpu_cap(X86_FEATURE_VMX);
+
+        /*
+         * _vmx_vcpu_up() may have made it past feature identification.
+         * Make sure all dependent features are off as well.
+         */
+        vmx_basic_msr              = 0;
+        vmx_pin_based_exec_control = 0;
+        vmx_cpu_based_exec_control = 0;
+        vmx_secondary_exec_control = 0;
+        vmx_vmexit_control         = 0;
+        vmx_vmentry_control        = 0;
+        vmx_ept_vpid_cap           = 0;
+        vmx_vmfunc                 = 0;
+    }
 
     return ret;
 }



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:32:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634215.989569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cTc-0006lN-8I; Thu, 16 Nov 2023 13:32:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634215.989569; Thu, 16 Nov 2023 13: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 1r3cTc-0006lG-59; Thu, 16 Nov 2023 13:32:12 +0000
Received: by outflank-mailman (input) for mailman id 634215;
 Thu, 16 Nov 2023 13:32: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3cTa-0006l8-UZ
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:32:10 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe13::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b0efd9a-8484-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 14:32:10 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8499.eurprd04.prod.outlook.com (2603:10a6:20b:342::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.9; Thu, 16 Nov
 2023 13:32:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:32: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: 8b0efd9a-8484-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SMJyj/DHv/ISSgs5UP8EAZ9C8xzUxb1yBeemLwloN1gJGENNb+QPGWCPbY1JjajNe1GndZPqE25+yQKo7jwBskSy6fIFbHedE/TMdPQ1JFLwPec2rPPKw23d/O9YWwotJg6T/gF/3wrv/h2hkdTk3Ff/zt24rcYdQFYysl/2wpjeVZIRheOv0nORIZC/aDykuAqsxrcMrI4x3a4qED5AZDmwmF7A8wwCtiWHysOaR3YvfpxS2isUzLmOHHBgv+sS/RwwyS0PyNc82drcVrFarPOV0mOBy1MJcxnjHizZSayhBaDlv/Njr9m4SyGf6Ex5qW+tfA8YBtgHDwYsovROuA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BH2ili1cHCQHt6/Qmlk6IQSHtN0pbcv6mxMT7/SbihE=;
 b=grbl9di9HveNzE8N7YuO73ibRPm0rEx2hHmQU/HrMxvUrvtv+b2XSYo31HZU/p/vayKyaCA6qJas+4nfrNAtl39XwPqAK49Z6mEwpaAEl8hf1vb8V5f7VvtN8OwzB2F5FawI8RKV3NMnPmM2CcAnwoiWK5uNf5zJkEH3axsghod7b91VkJ+Ik+FUzEwSnqgQt+eCwBGm/M3dFWFFUGYgFLuWu7fQI8lSehTx1lyKCnyMeg6o6bQMNlRn5LT1tr+nwMMjPZFT7/5ZRh9JujsO2SJZVI97R2x/g71qzqFrrFIi7Yz8ZjuEwTOLSzZR9Pr4vCwUSuXlcyBGxys49zr8ug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BH2ili1cHCQHt6/Qmlk6IQSHtN0pbcv6mxMT7/SbihE=;
 b=GfRzTWpioodqGdrh1XMSiSmMT9yuZzLLSwyTjkczfpGExyPx26WZ/R+GJbyQBQHNKZov+4jZjyHiPtP8aMtbfGSW4glOcu7X7kMNDm7fvAb40bXO0ARhXfC374Yi13g59WR+6B7vbb8osU2nYvTbwYHHkl/pY7O/EOtrsTMcDcfNxX8ntr9so/aacPb7tz2j6tdFuBxw2Sb1htOZKnFcUhPk5puFgQUYJ9UG1+RvZNRKbQgxuPoZQsr86N1hMo3AmrtnKCDIjDkP++tv0OgKS6VXSGMUyhQm4ZytbvBLF6sJhlxTR9O0UaRHm9jRauV08L5QpVRjtJsBBIhOchrQkw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d6a8ce0e-fcd9-4391-83c1-d9f709ada3f1@suse.com>
Date: Thu, 16 Nov 2023 14:32:07 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH 3/5] VMX: don't run with CR4.VMXE set when VMX could not be
 enabled
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:bb::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8499:EE_
X-MS-Office365-Filtering-Correlation-Id: d1e03b6e-c3db-4966-2615-08dbe6a86e8c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z/m0ZwrQKWPRYCIervUkuTpFB2KG3PPmAyTFSlm+mW0XKMoUl+En9VieeebWo5HSj0b8Cs0MjX+WpkwXQACM8nCOrfK+Jg926zJ3V7qXVDbTMjVecjez4odpRll4aYumRn83ADbc4/fIO4Xjn7ThZi+VIN7I2KiseQfHCY2JkTqDu0Tgf/gWiIZIp4uJc627x+4+wJz9uS+jZlBMyTA3Md1faPDau/Dm2Vh7TbDowVfuKFAlufKoEqrHNbLhvvJcSUesgnru3QKBQGKY3xl7yCOmTbEW/xcQmMuJfnGKqy49UUb7kwEs6W/WVkhM2qPTBFBknmHOuwmesN5Bp57CKq4MCm+8fWvv4Mil5iZt183BdP6qfBlDxh49tKvSAfSEd1M8hPmow3D2LdmgZNtQyt1B2FFmCA5egA5DSr3E7U9+sx+RrvY40B5CT4KlkNPnVD4Y8sni81V6NGWnVcbwm1Romsgc5Y7rdsBPqYBEYemrIIvWNF8KoY5GxewTIzlcqksDS4z/AtlYOXh7ExTPfRAGoTNgwXnWpZvY8bLh8hFPuvj7o51zNbPO/ecf0NJW2ZHDJbUHBY6ArlsYy0GVLQgOqPmSofvHwBLtji0NiMw1ZAah2KoZaQglxC80OPWnsXamveUtiUxd9VQCjJF2zw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(346002)(39860400002)(366004)(136003)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(2906002)(31686004)(38100700002)(4744005)(31696002)(86362001)(5660300002)(41300700001)(8936002)(8676002)(4326008)(83380400001)(6486002)(2616005)(6916009)(54906003)(36756003)(6512007)(66476007)(66556008)(316002)(26005)(66946007)(6506007)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TDR6WTdWL2twMFdQRGlsVUN4S2poclg3WFRoeDBlcWlDVmUycmVOSWNUZnU5?=
 =?utf-8?B?QXdoSEZDQnhoWmRtLysya3o4ZmZ2SFZxMXAvSkY2SmQrVzFBbDIxc28zOFhr?=
 =?utf-8?B?dTl2SzdZL3pLTnp5SmxpY0VwT1lIcHJ1S0ZxcVF1cGdncFNWSGY5UVJpZC9L?=
 =?utf-8?B?R0hyUmNaNUdqZFpXQ0p4WkZIY2dCRnNKcTdUNWY5VmxVemlzeXZGVk1JUDIv?=
 =?utf-8?B?OVBSVURQU3ZNc0F5WXJpL243NWR3aEtLTk9NcmdOL0cvM2s3R0xTOC8vemxa?=
 =?utf-8?B?NEJ5amp5Ty9vQVlTU1ByVGpWR0NrdVgzZVdlWENWclRoS2hwWjBaUTI4K2lV?=
 =?utf-8?B?YjFNdDZ6aTM5YkIwMXZ5dGhxck0rY2poL1BDNXJrNVhSeHpuaDN4akFQZkhW?=
 =?utf-8?B?T2wwWWN5RVFKWUV6SHhMV1pkL0x2WFREamRYSFRWQW54YlNyYWhvcjBHSkx5?=
 =?utf-8?B?bUtLdVJhWWx1STlRalVVdHpnWkdxU0EwcG1jcDFINU9WbVEyVlpKRlB2eThS?=
 =?utf-8?B?em14amlHY1M1S1Vob0ZubWZlU3plVE43Y3MzMWR2bDRjSktEenIvb0h4bEJI?=
 =?utf-8?B?bldvWnZiN0x4OWplZUwrdEgrMmtaZGJRY1ZFdnRHQmFEVU11Y3ZHMXJiUlF5?=
 =?utf-8?B?cklFYk1GM0cySERMT2crRFh4TjFQbWRGejRsVUo3TWhZRXRpV0pPY1dqODlv?=
 =?utf-8?B?N2N4aGM4QlptVW8rVDFVRk02akcxMWJzQU9wN0dya0YzUDZPeGowRWsyTzc2?=
 =?utf-8?B?RTB5TU5IMjBsb0VzV3o0alU1SjB6QytFR0dYN1VjcjFQT2pzZXBkNWVDS1Zq?=
 =?utf-8?B?UjJVSDBEa3BSVEhXbEZuYmRQVU1SMEVraVVuYzN1QWdlSUVpdVE1T1NvbXBx?=
 =?utf-8?B?ZlM1N2RqdkFCSWllUk03QTJYcC84SU5pZ3pOa3RqRlRpeVBXWHBOTXUxektp?=
 =?utf-8?B?NG1KZWdVYzhyak9FWkFEZXozY0UraHJYRkZoQXI0b2RiWktqRVo3SmhoSDZ3?=
 =?utf-8?B?OUlTMFNEdmtUdEZJbEtDaEFPQnlENjFqTUdlZ0JkN3dRajlmQlpwc2wxVzV4?=
 =?utf-8?B?VGNGVGQwYjBYaTF3TnZZaXdmZVlMNlEwRWFzZnBqeHh1MDVtaVZOY3YzdW9Y?=
 =?utf-8?B?dHcxaHZBRjd4U2ltc2ZaUkhDeEVidTVFN1FyVDJ3SGxGMnNVMVFrR1dnbVBQ?=
 =?utf-8?B?anVTUW5FdGJrNVpXaGd6bGl2clB2eDUrNUFMNm00VTA1UkVWSGVsS21sSjIr?=
 =?utf-8?B?MW4xYTlySUdrUmZaN1JVVTFLWTZQQ0FLRzQwSnhEK0FnZGxnTm54TTVzMi9k?=
 =?utf-8?B?b0tJRnhmUDJWbXlPU3MrK2t0L29qNTJRQnBuZnBtU3BUSnRscEpSSFFhT0ZL?=
 =?utf-8?B?ZStiejJDZU02RHdQVExjSncvOWgyT3NkRGJ2cForR1Rsak1DR0VLZ1BoSzhQ?=
 =?utf-8?B?RDdOcURDSnRMbGFxSkdBNkVKYnNLMlhhMHhoeHRDVHBkNWMxVWNiWFpsTGgx?=
 =?utf-8?B?UkU0TlJrY3J6dzI2U2p1R2t1Ny9WU2VvOHZWTmtpekFsR1hEUW9vTU45bTZQ?=
 =?utf-8?B?eGJMakFFelIwSGxwOTN2VHA3NTVQL2MzNHpTdDJtcWhrL0hiWFQzWTM3MU5s?=
 =?utf-8?B?b0ZtOWt6UmZ4b3Q0Z2IzMGEydm1hNXFnSU9ZRjIrN0NpZDk5L3Y0ZFoxSGhN?=
 =?utf-8?B?Q08zSldDNTEvTDNkS3g1SGREQlRRY085cDVmVTUrNnZnakhTSzYzazI5bjlz?=
 =?utf-8?B?UVJ1YmtoMGFPRG5nNm9MV3JRUERBWnRmYitaTHV3aHBiV2l3VWtLenE5bVgv?=
 =?utf-8?B?VnhVZElTRlkwRHRaOFRtSmxaeDRxeXo1Uk5KSzBmQlFNNnRwZmd6NnhtQzV0?=
 =?utf-8?B?SHF4dzdNUVMxcis1VmJpTnVmYkVkbWVPQVk5NGRJZzFzTWlHc0lJcS9HWVc2?=
 =?utf-8?B?N3Q2RXdpcm94NHpmTHRkcU40aEx1cFgyTnBvTUhEWFBaMUh6VUM2MWVMVDg1?=
 =?utf-8?B?OWFQeDI2TTdVYmJDSWF5VEozektKWHVJRjc1c09jZ1lFUjBCQlR0Mm9HTFJt?=
 =?utf-8?B?Z0RFOFRwYklDOWpsWCswWUVzem5XSGZxcTFkTklyZCtLY21NekprZzJFTGRQ?=
 =?utf-8?Q?meVce7eS9fisEmoKmgZr9ywsF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d1e03b6e-c3db-4966-2615-08dbe6a86e8c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:32:08.7717
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 14LtYr3c/r92tFAZdPwmyAO+Onrrky59gNh+wpZ/R8zJs0gm+Thdtj5C8V8frepGqnqCO8/8QpjkKEJ8sdd0mQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8499

While generally benign, doing so is still at best misleading.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Using set_in_cr4() seems favorable over updating mmu_cr4_features
despite the resulting redundant CR4 update. But I certainly could be
talked into going the alternative route.

--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2959,7 +2959,7 @@ static bool __init has_if_pschange_mc(vo
 
 const struct hvm_function_table * __init start_vmx(void)
 {
-    set_in_cr4(X86_CR4_VMXE);
+    write_cr4(read_cr4() | X86_CR4_VMXE);
 
     if ( vmx_vmcs_init() )
     {
@@ -2967,6 +2967,9 @@ const struct hvm_function_table * __init
         return NULL;
     }
 
+    /* Arrange for APs to have CR4.VMXE set early on. */
+    set_in_cr4(X86_CR4_VMXE);
+
     vmx_function_table.singlestep_supported = cpu_has_monitor_trap_flag;
 
     if ( cpu_has_vmx_dt_exiting )



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:32:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:32:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634217.989580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cUH-0007Ie-Hk; Thu, 16 Nov 2023 13:32:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634217.989580; Thu, 16 Nov 2023 13:32: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 1r3cUH-0007IX-EM; Thu, 16 Nov 2023 13:32:53 +0000
Received: by outflank-mailman (input) for mailman id 634217;
 Thu, 16 Nov 2023 13:32: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3cUG-0007DF-JP
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:32:52 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a35deb2f-8484-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:32:51 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9333.eurprd04.prod.outlook.com (2603:10a6:20b:4df::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Thu, 16 Nov
 2023 13:32:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:32: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: a35deb2f-8484-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fgG/t5S8cqu9/92dBpqjmwC1a1PCcdMTGsyo9ye+tnQhntm9QeN4JbbD3FgBC64jLX1EuGQSFIEHP5mxskI0XZSJmMZIg3RKpLxPr5C5q852YZaty/0kxj8uNCJ/bppvW7Cs2Z9eRSzd/fL6/HSvQuaWwbdz5xx7jAqM3XBWe0h2Q+upKIc17ylBXv+HERLSlitvnECqN3gt6rhUVlhRDZyhzLHxlRgij/IMgUDkGLKTxyg0lXHFh4XEXRWLZMx1HQrhDhCva8LEIbvHj37afEB8iJE3yXY0kq5VFcCpSSFQ1CZqW3ceCFEk+0JZZJ/i/qORDBmBCO5Okze0bHZ2Ug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bIKEOf7RPr2XJINaMBbAxC+M/xeaOf3qKmLgganWrro=;
 b=ZMWhybTBRpdojieaW2+PxucipcRqEOuIRzJOYtNhip5i5S0O57PSY6KXii72RDnWpXiNN+sPvccRn+NVMJKBxHB3KPyOWUR5VLjmhc7AyXfFk+BgZBmtKTjMYvLxQZEe1kD42QO1ZOIyZFRv9jVbCrk5Z1PB1DZmGePyo88sNzt6CqYGrw/OP38L6FnVwkg/N0j341pjxQC9zbd9bC2Ivty3Zas8rkIOLeiDNs8gT1f6LG0+ZQNI+8BNLfXJhbBqyUKK60WSUrzGc71kcpEL89MshGwsSc1Dnrhfe+NM5ZqL5MFUbUxoVHIOGyxTmEhZnXQVyZWjOtV1QuqNjJJu5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bIKEOf7RPr2XJINaMBbAxC+M/xeaOf3qKmLgganWrro=;
 b=GNztj4NdwmDqLIBjY3LytSHzqJD+4HjBZL84gi7IkHzjfLI5fibD2B/+Wwb5NlokvUeu6iva69WW07jO0YO+OgqUoKIagqld2Jy883YyojXJsNe0iyZj1nr0R0KYAhQNcErZdXzhXP5Yph2CR0gANNh5uYGB7w9b3lwTELItjr7KXY5rwmLCwVNY+s2N4RjoTm20sfJzGpioxfgCwPhRP1pQQrrXZU+GQbPS6HU4ILg08ZFHv0TP9AkYvt58Oo4lClwF+/L1uWvulXIdYYpML1Xp0OStHGOmzoQ2MMQmzvCX74UXgOmUobj1lBMik4W9cWD5tDR0uBamNUZ6QM2qAA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d5b7124f-b7cd-4a3a-b12f-e8e315e9f89d@suse.com>
Date: Thu, 16 Nov 2023 14:32:47 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH 4/5] x86/HVM: drop tsc_scaling.setup() hook
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:bb::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9333:EE_
X-MS-Office365-Filtering-Correlation-Id: 841e1965-fa3d-4183-c65d-08dbe6a88636
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AnVvb76jNq8lPPTcLdqcoKUb+HjP5g5eqO9NsRSInNHCFIkg6uLB7lT1/WW+4xbYjeZqRAZT0Rn8xDd1g5FVbMBIvOpyYP65mZ71gTQ208ckIOMrqyb/Neh5+hZlx6BFqQLxSub9/d7dm01ZEX4sGHjLkNS93v9nyxW9f4ij0ZKygdfd9skMFK4ykiG+P2wfSEc0Ih85AMmMMYN+5omnnjwcEXDxVeEAfbjxlYwIdOvwUCgUl2qQAiebXpJHw5j3pxa+kABGuuvbI8H4krqd/DTRmlDGErdh4L1/NuPQMQzzuXEJPncnAwU8o37jeXtsi5Fp0MNShGKuh4Qf30I3tu3ocONoJ8CMQHAeRIn8oelowTWxqjGUfzqIbcajZ6Hrc/6W6g++4o9ExA3A43vtJS2J7ynQrw0NyIEFpcdesMoNPEaMqqYctfgAxDVI6+aBpVRp302XdbMdiR6vNMfZcw2VtwXdeoNGwBx6ksguwaDxwJZhqO05N7JnjR5oollkOMnIBm7b33R/LklSQAjheWEeNexDLus2e2DgWSylIoS+dH3pHMpfTLttsQC89xGEFafSSED0WzV63Hsw4ZYFpLII/vFU9nw01AYQggId105uYdcTBSJyo+V60Sc8p1Jz8YQHCAUle0rCxUMVSY+IeA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(39860400002)(346002)(366004)(136003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(8676002)(86362001)(4326008)(8936002)(6506007)(31696002)(26005)(41300700001)(2616005)(2906002)(31686004)(66946007)(66556008)(5660300002)(6512007)(54906003)(6486002)(478600001)(66476007)(316002)(6916009)(83380400001)(38100700002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZHBRY3RJdFRkTUJMdnBLaDF6V3NVUHJEMFlwT1ZmTlh4RzhIM0paenhvMUl3?=
 =?utf-8?B?R0NnVjAyNUkxOXR5UWVLZWk1a0Z0M2IyLzRWOC9Kdk53WjExUmdSSUlLNzRL?=
 =?utf-8?B?VXRUYlNuZkpjd1NIc1FNeGVwYXFMZWMwaENOVTlVSWlCYVIvMmhQbFJubVB4?=
 =?utf-8?B?QXFyOXdSYzlTNkF3M1NHcDAyZENaZU1Za2JkQzgvUlFCenppZm9KR3k3T0FC?=
 =?utf-8?B?dk1LeEtwclp3L080SE1XYjRINFpzN3I4NEJwa3RhMU5BWXAzK2RjYlZ0cVJn?=
 =?utf-8?B?and3MnU4NjVQaFJhYzRnbWN6RUVXdVpHNHBiQTNHbldyZWhza2ZUUGJtRFFJ?=
 =?utf-8?B?RFVJeWZ1RENkOVgvOWp2K1ZTZHdKTWIrdnUxNnlXOXZzY3p0QmFMWno4Ylp3?=
 =?utf-8?B?NWEzaDVTTmk1OGdnU0w2Z1FXNXFuSnp4S2tsVnZGblZNT0JSRS9yUEQ4VzFN?=
 =?utf-8?B?bFNpUk4zQW1RTllqN1NhUjQ3NmNxbWlHL2pSM0dtOEhqcCsvQWxuUEwzNnFU?=
 =?utf-8?B?dlJHSmRpakRDY3lIYVRkbFRlWkNDai9mdndxY0ZSVy9CN1krRDA5LzZrQ0pG?=
 =?utf-8?B?ZWkvRTBUZ3dubU5tVm42T2VFb1Y4eVFrVGlWMktjcGIyeXlFTTNIKzJoRFNI?=
 =?utf-8?B?dmt0R0dkeVd6bklCalhGUEZhTG1IZXVIdzZmUXpiV1htZytpTStrbUo3Q1FP?=
 =?utf-8?B?bm4wY0IyOFNOVGo5bXdvQmt6dG9CWWpOVWI4cFVVSmR5U0dwUGh1MmhXYWl0?=
 =?utf-8?B?WkFzaGMzUC9JNzdUbGwwZVd3eTRPanBKTWtwRjkxTDVzeTRhelM4RWRlU20y?=
 =?utf-8?B?UXl4bnk4RE9uSWEvbWdvVEtadUVaWGtwUCsyOFFaVm9FOERsTlQ2Q1V0N2I4?=
 =?utf-8?B?Tk12ZENYKy9QQnZHa2RaZnZsS3lQRW92eFZ1emlnbW11S3BSUUZwVGtrWmFN?=
 =?utf-8?B?UnRwU1RkL1NENmNkV0JoVFhPZkhuSmVxbE9XVU5HSTVncU9SRG1sT0hxQk11?=
 =?utf-8?B?bTV3L2dLVS9TcWFOc2R5TDlyLzhvZmJZYXJNK1BDS2tXT01QTWRWSHY0K1BM?=
 =?utf-8?B?eWdNekFKb1NZU0tDcXZIZURsc01TMDlmbHJBYXlkUUphRDE5dkNHdnlUNDl3?=
 =?utf-8?B?bXIraDZ4eE9qL1VhdDZaNHpRcjhPZFpKNmNhWUN1M0I4Qnh0dnFZbmNqTXpS?=
 =?utf-8?B?eFZ0T2RTdHhmOXhVSkgzWi9JUDBhT0cxd281bzlxNDFWOU1nU2dIWGhXTUpT?=
 =?utf-8?B?TWdBZVNaYkNmMzVCNjA5aFl0aTlzcy9mRnR4UVpjYUcwbEJaVjJWTmttNzI2?=
 =?utf-8?B?SGZ4S1M1OEEzMzNCS2Ixdlc0Y21HVTRRWDlXOERnMkFJc214bUNDNjVIWGdn?=
 =?utf-8?B?ZWdqakVXRU9BZWFoVno1Y2VyWDhwMDErby9ZNnhqZFArSURsQVNYR3lVYm8r?=
 =?utf-8?B?eEExcWc5NEgrbisyZVk0eWtmdWlDd3c5aHU1Tk9IekRQSTkxQXpMQ0dvQW01?=
 =?utf-8?B?QVlRejMyRkF3dzkvWGhLbTMwQ3FlZWxnTHNXZ1MxSVlwVGYyT0VydlE4UUlU?=
 =?utf-8?B?ZU01UVUyM3BYTTMrZlZxU1J6ZXZSTG5XQWwvQ3prMGtuSU9zT1o4YldxWEZQ?=
 =?utf-8?B?UjQzdlR1VU1iNi95T05rOE9FUDV4Z0FNVG82cm5HalhiRjVVdHY4MHZzRHdP?=
 =?utf-8?B?eWRMTmJieHNTdXcrNGdEWHhsQjFXcDhjOWd6UnFScFdSYVM3VU1CN1dzMnEy?=
 =?utf-8?B?a05PZjJvNUVEdEdCbmh1Zm9MZ0dtYzhUcW5PckRjM0xaQ1VRTlE0dFJJcEpl?=
 =?utf-8?B?a3JEZ3hsS1BUQ1B6WFVSSW44eW5FR0tjNkJTdTBOOVA2VEZHaTQveWNwMW1u?=
 =?utf-8?B?V3E5YUlmcGZjZmlldFVTQzRwQnM2RnluQWM5RnlVVGdTbVlYTGNTdFZBNkRt?=
 =?utf-8?B?bi9WWWJTU0RJYk56MVd3elM3T1pqb0VBbUZOcXRiZDVHYW96VVN3N2FqcXRz?=
 =?utf-8?B?UURiSHROdzlUMGN1M1J6dzIzUDAwZVI4R1lzQnlGVHJCM2RwdmZJSFZrdE9P?=
 =?utf-8?B?aUFkRGp5Vyt1U0trRUNvVThBdlE2c2NMNlZlbnlTQ2VmLzg2VFcwYkpkRUxa?=
 =?utf-8?Q?H2w+qwjj9Zj9Xeja3bmZuerI6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 841e1965-fa3d-4183-c65d-08dbe6a88636
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:32:48.5119
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hnATFyoVvGC67MADXogEyYhpEo3hd8XdM3TzUNMOi7pz9NdM/ycr64B6apIUYDQVuKRFp0lt7o1iZSdPZyHv8Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9333

This was used by VMX only, and the intended VMCS write can as well
happen from vmx_set_tsc_offset(), invoked (directly or indirectly)
almost immediately after the present call sites of the hook.
vmx_set_tsc_offset() isn't invoked frequently elsewhere, so the extra
VMCS write shouldn't raise performance concerns.

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

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1086,9 +1086,6 @@ static int cf_check hvm_load_cpu_ctxt(st
     v->arch.hvm.guest_cr[2] = ctxt.cr2;
     hvm_update_guest_cr(v, 2);
 
-    if ( hvm_funcs.tsc_scaling.setup )
-        alternative_vcall(hvm_funcs.tsc_scaling.setup, v);
-
     v->arch.msrs->tsc_aux = ctxt.msr_tsc_aux;
 
     hvm_set_guest_tsc_fixed(v, ctxt.tsc, d->arch.hvm.sync_tsc);
@@ -4033,9 +4030,6 @@ void hvm_vcpu_reset_state(struct vcpu *v
     hvm_set_segment_register(v, x86_seg_gdtr, &reg);
     hvm_set_segment_register(v, x86_seg_idtr, &reg);
 
-    if ( hvm_funcs.tsc_scaling.setup )
-        alternative_vcall(hvm_funcs.tsc_scaling.setup, v);
-
     /* Sync AP's TSC with BSP's. */
     v->arch.hvm.cache_tsc_offset =
         v->domain->vcpu[0]->arch.hvm.cache_tsc_offset;
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1454,20 +1454,13 @@ static void cf_check vmx_handle_cd(struc
     }
 }
 
-static void cf_check vmx_setup_tsc_scaling(struct vcpu *v)
-{
-    if ( v->domain->arch.vtsc )
-        return;
-
-    vmx_vmcs_enter(v);
-    __vmwrite(TSC_MULTIPLIER, hvm_tsc_scaling_ratio(v->domain));
-    vmx_vmcs_exit(v);
-}
-
 static void cf_check vmx_set_tsc_offset(struct vcpu *v, u64 offset, u64 at_tsc)
 {
     vmx_vmcs_enter(v);
 
+    if ( !v->domain->arch.vtsc && cpu_has_vmx_tsc_scaling )
+        __vmwrite(TSC_MULTIPLIER, hvm_tsc_scaling_ratio(v->domain));
+
     if ( nestedhvm_vcpu_in_guestmode(v) )
         offset += nvmx_get_tsc_offset(v);
 
@@ -3030,10 +3023,7 @@ const struct hvm_function_table * __init
     }
 
     if ( cpu_has_vmx_tsc_scaling )
-    {
         vmx_function_table.tsc_scaling.ratio_frac_bits = 48;
-        vmx_function_table.tsc_scaling.setup = vmx_setup_tsc_scaling;
-    }
 
     model_specific_lbr = get_model_specific_lbr();
     lbr_tsx_fixup_check();
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -240,9 +240,6 @@ struct hvm_function_table {
         uint8_t  ratio_frac_bits;
         /* maximum-allowed TSC scaling ratio */
         uint64_t max_ratio;
-
-        /* Architecture function to setup TSC scaling ratio */
-        void (*setup)(struct vcpu *v);
     } tsc_scaling;
 };
 



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:33:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:33:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634219.989590 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cUh-0007mg-QN; Thu, 16 Nov 2023 13:33:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634219.989590; Thu, 16 Nov 2023 13:33: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 1r3cUh-0007mZ-Mx; Thu, 16 Nov 2023 13:33:19 +0000
Received: by outflank-mailman (input) for mailman id 634219;
 Thu, 16 Nov 2023 13:33: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3cUg-0007gH-80
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:33:18 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20626.outbound.protection.outlook.com
 [2a01:111:f400:7d00::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b36d4a09-8484-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 14:33:17 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9333.eurprd04.prod.outlook.com (2603:10a6:20b:4df::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Thu, 16 Nov
 2023 13:33:15 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:33: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: b36d4a09-8484-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YkDe1RIdNRswCTdrjm+GYR/+oxTqJYeNxkhOTLBaQXolbrzvwG9hGkCotCChOuXNIH2iUB1QQgoKJh3mA/wJchnqXCd7ZUM7DDx57B+LwJGXXFs8yi1mfUSyLNP6/eZXLAUULaRJIQQOnbvCQ/wUtL7TBl2IwuSFpBW0/TyPhbtlViaj8p4+F+WHYtGtyF8pRavUxZdD9XwjiAmGa2PqXrxLvrufg9xDVZPcVhhRUgjwkChXwuE3G/Eqcwh378jN7B6BlPzKB9ZlcdKTK/+oWlrUjGEp31V1S24BzNE6nuY7mnKcABYuhlBZMMEgvmVQcKIC9f1XCrB7q9v9seIzVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WstOM6kSQiRatyCSXLVmuSOk8VucCyz+eoVm0OagzGo=;
 b=mZCCYcaIwwn1Z8iwQwM95axqSycKoHemK9G1n/qPm2ZpQZdz7eq/WcRWB6dy+h0FBb4TdlXi15BDL8XJzp8Z3lZDKm4OgmdtZKkAq0LDukC26HE/I5cV8jMLoOZoiQghhYxlyFsfYDR5KevM/680161DWl3lnkGGfXtMXHG7801TR4pqjRkBT3J0yWHRvAkVhmjnEaL3b1lDfBd8GqmJvhbNM1PYqbYCjZIUIIi8jimyGrCze3YZP7ZdPKmdMvy/TDMGSPo/TsWMkHfzf17OfwlO6VniH8mvsGJcX8KxWnBNWL72/UH4MRD9be4gsW3Ro5eZN9BZT8ca/nKlm/Fh5g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WstOM6kSQiRatyCSXLVmuSOk8VucCyz+eoVm0OagzGo=;
 b=NT+pGiZ0cB+MS90Q0W/VOKgPbIAv1LMNovDqECPgp1kpYZliQmKSSUvLpl7ESNyiY00GznYJBEOqDkwhrHx3slq0q9ECRSHzsNKlUe6XVVuG4jf/Z4ueZvakcNJ71/DYo/XvuQnJSs6e+evkM61PzKufYa4Y9NbOQhATRV+o0+lfyB2n2jaLTKHRW/8ivWQjfbKhowjOB9Y6NDYkojYVIojPu9iIEt5oQDJQQ9/+OZNoWzFAwOfmABi7ywHOl79VY4N1SQlY6SdAc67jqeBQzmsUhSPCYrYDc76og7a2FK3rMBMMTDAdPOxvPNbICOv2Vm5mDi3pSxB0rK5n0ne/kw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <40585213-99ac-43b4-9432-03d739ec452c@suse.com>
Date: Thu, 16 Nov 2023 14:33:14 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH 5/5] x86/HVM: improve CET-IBT pruning of ENDBR
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0106.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:bb::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9333:EE_
X-MS-Office365-Filtering-Correlation-Id: 18cd985f-33dc-4429-76d8-08dbe6a89658
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eu00glJxmeQi9cLSD35JpcbhvJhDs+580y8xAE88diDNrkYLZRYcrOuRTSWWyhgW3xdwFwEH0k91TkItrnZj2wAxp2Bg1+eQR/QRJy/CVgygRLwF+JaCt5VvHt7l+2LoRkWvxx2/C19JZFQweGqOmPXeDcPaBcaHX01gNA43bK9H/CT5mTAPg0Xdf0fjk9+ik6mSKP1mE78jzRK45ZH1nvO4djBNk+QFfA0JUsJ0AmSZb7t5ERlRva1Zw5OIVticIp+j0sb0emvV6g4DqbPrT1AY1+ChXNr2HZfThV7esjZp3USlPcrRTxNT7qxw09RpibTwv8kVmmkfSzQMbLxg0HKZJ9aquG5ek9pxiUcjulOd4IjDq34yStK10CV15zDmA+wSCTpX1+RHx27IZ0NWkIQ6hWeQLy2hsDLz5YVWD/8pR40wqjRZeQxHixG5wbWqKqYM641W1jacwMyR9byH7BX4NLmFhgj0m2kYqRe1eXd1o/Mr5F6OCmDKeMo4BcNysiC2Do0L1O5Mh0m2EiJvmUWQAmDKQCi/EcWgP/ADgntSzyqG1KQFdMCjlbwm9+nA0I9drUkUEt4uK6+1RF57o3nHo4SGqhiMOlqpJ7O4W7vPUIOwM7mPSEuL7XCnu0RuMgl8I2kv0Z7TI5odlUohH7sGzwJPVwtSVu/Z8r5cbpc=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(39860400002)(346002)(366004)(136003)(230922051799003)(186009)(1800799009)(64100799003)(451199024)(8676002)(86362001)(4326008)(8936002)(6506007)(31696002)(26005)(41300700001)(2616005)(2906002)(31686004)(66946007)(66556008)(5660300002)(6512007)(54906003)(6486002)(478600001)(66476007)(316002)(6916009)(83380400001)(38100700002)(36756003)(87944015)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VTRWbjBQRE93SWNOUlhuaVVmM0IwMERSa0ozYjlpNmhaUW5ZUVM2OG1JWFJD?=
 =?utf-8?B?dnJFSzh1WTJqWkRjbDR5OHpPT2pSM3hOcytuOTZXUW9Da3FyYmI5c3JlWnZB?=
 =?utf-8?B?S3FGdnVzVzcydFpLenRLTWF4ZU92Z09CakFCMzVDeTR1cnBYUXRMMDJPQ1Y1?=
 =?utf-8?B?WFZlL2pHM1hiaW9rVVBHNlBFdFBSSmN1MUtramw4OUR6OVBtSWpqZklXeXFw?=
 =?utf-8?B?OFE1VmtlbVR0YlorTU9PNTQ2d1FGOUMzNFZUOStzUWsyZElyS0hSb1lnYmxO?=
 =?utf-8?B?L0FhcjFCMGh3eTBtZDBCT050dGQ4cTlSa3JoN1BJZVhXZGpLT2RTUHNSRS96?=
 =?utf-8?B?MklNUlA4UUJNWnpzNGpoRklhSjY4akR0VlhEN0hVSXpBTkMvV2xWb0VMcmxJ?=
 =?utf-8?B?UXFKa1JTNndVRXJiWDRMREh4UjVQNzEzTGJsY3BwTzJJTG1MMXhJRDRXOVU4?=
 =?utf-8?B?b2owSzljdG83R3QrYnhvelp6V1c5MGdtUVpISmlDRVB5dmpDc3BMVm5LQ0J6?=
 =?utf-8?B?TFJaSy9ybEJubWlvWHN6dDJPTy95c1BpTjVwVUVoZGh0Y0QxVEtEK2JzeUNz?=
 =?utf-8?B?LzB4bUlDWFloUzkvUjhaN243RE51NkNTdW14aDg5V1Q3a1VRR2hmTTJtdUQ0?=
 =?utf-8?B?Um4yNkVmUEhQV0tYOUNGVVAzVW1PUHVxS0xyZmRkMXF6VGJtT2lreElvRmRp?=
 =?utf-8?B?WVg5M2RvQVY1OFZIc1MrL0lodExNSnhlOHg0ajVsTXcrWnhyekdzRkQrS01T?=
 =?utf-8?B?QkQwRi9URkpaZkU1QmQ2bXo2akhRc1pqUDAwUDNKRzYrUldpTWp0QndQNGdz?=
 =?utf-8?B?cnYwRTEwZG5iYVF6OXpNZk1kQXNCaFE0bFJaQ2lSWTBKSE51Zm1JZVNLYnRI?=
 =?utf-8?B?MEQxQUpld2xuYktDS3cwNWFKNVRqbzJnSVBmWE54OUw5eUtMQjVQamlHOTFs?=
 =?utf-8?B?RGszTHptMDJRNjlEdWhuRlp5VXRvbmYzTmJsVzZiZjBRd1cvdnViT2FZTGlv?=
 =?utf-8?B?NEhldmdzL1kxTThnN0U1dHRpcnZxSU1TaWRSZFVabmNab3VjdEZWY3ZqMWRp?=
 =?utf-8?B?YUJ4K2dZYTlNUWtqWWpiV1YvNUdUTEJDN21RU0tCVzdJeGh3elRDblRBbVZK?=
 =?utf-8?B?THM3eGl2b1U1MnFFUVo4aE80cFJzWnVGemZma2tlV0YxaGhKc3ozejdiVExw?=
 =?utf-8?B?L0dyYkl1UzQxb04yMVpNWkZFTjBGMjdNZStJTm1BK3IwMUxPS0h0RUd5Z0tj?=
 =?utf-8?B?UTdUOWZzb3dOZ1FKMHlaSmhXRURIU01EU0hCamV2YWVTNnkrSXJNQjhJQlRi?=
 =?utf-8?B?ZVFiNEVRbHhWY0pTeVZmTUxXRDRwQUxmUHJPYVFma3RlUzZUbkFyWVRML1Y5?=
 =?utf-8?B?WmZYNUFQMVU3cHFKbU5YR3l1Uzl3YUlWbzBPMUtvdStzZHpKUGJPZWVPdWJD?=
 =?utf-8?B?VHdPVjVnbTJNWjNyQStXamMxUTM1c2RORVpSZ2YxVE0zTlIxRUZnNnRKWXpk?=
 =?utf-8?B?akQ5aTFaZE1vR0tlQms3cXhxK2hEbWlYSFFDU1hRN1JZNU94RFZMeWZKNUhN?=
 =?utf-8?B?WEtqKzFuMGl6RlNMUnIwbE5sY2xYS3ZXcTRYcFRKT3gvWStjTUNYYzlGWWV3?=
 =?utf-8?B?T0EwOWRVVFNNQmQ0aDFqYjlpSERRblRnMnliR2dNdnVCMUFMdnNLMC9ZQ0ZJ?=
 =?utf-8?B?SXdtZjlzNVVXdG9ub3Q4RGZIYmNicG43QUwreFZTQjIzNCtndTNmMHA4MzZp?=
 =?utf-8?B?ekl3K21rcmV6K3RJYWFKeG9jMERuZ3BMUXBVMXk1cGlmVHdIbGFGVVl0ZjRF?=
 =?utf-8?B?TEUrN0tGTXM0RUhYZkhDdW8wYlFBU3NhM05xN2l2V1JFeU9SWDU4Qy8yM1Bt?=
 =?utf-8?B?V0RnYTk0QTZ5Q3FHV2F5WU9ldkFTUHBRc0ZIRkFYcjhnWUFsNmxDVmwrWlB4?=
 =?utf-8?B?TXgrbDhvdGg0VXJvUm1qQ0hCZGQrM3EwSUxXWmx6SVJiUk5KbjV2SE1TUmpk?=
 =?utf-8?B?MldFNCtCZnBySjRtbU9oaU8yOTZPc2pXV1Uxb1p6OFZCTThIL2JwYS9pdjBp?=
 =?utf-8?B?Y2ErUmNIanRTZVpaSXdRMGxqbVFlbW1zT1psVDVJZ2poRW5sNGtUV043UUVT?=
 =?utf-8?Q?erQnjB5WW0/+kq2crS7WDGPQl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 18cd985f-33dc-4429-76d8-08dbe6a89658
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:33:15.5907
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GFOGWneO+XVUD2GRqu3Xzq3X2q+wuyF4gKg7e+TmrfJmwX9Pmj9uj/DP+hf7l4kGJrTDywVs89/XArcsi1lNjA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9333

__init{const,data}_cf_clobber can have an effect only for pointers
actually populated in the respective tables. While not the case for SVM
right now, VMX installs a number of pointers only under certain
conditions. Hence the respective functions would have their ENDBR purged
only when those conditions are met. Invoke "pruning" functions after
having copied the respective tables, for them to install any "missing"
pointers.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This is largely cosmetic for present hardware, which when supporting
CET-IBT likely also supports all of the advanced VMX features for which
hook pointers are installed conditionally. The only case this would make
a difference there is when use of respective features was suppressed via
command line option (where available). For future hooks it may end up
relevant even by default, and it also would be if AMD started supporting
CET-IBT; right now it matters only for .pi_update_irte, as iommu_intpost
continues to default to off.

Originally I had meant to put the SVM and VMX functions in presmp-
initcalls, but hvm/{svm,vmx}/built_in.o are linked into hvm/built_in.o
before hvm/hvm.o. And I don't think I want to fiddle with link order
here.

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -161,10 +161,15 @@ static int __init cf_check hvm_enable(vo
     else if ( cpu_has_svm )
         fns = start_svm();
 
+    if ( fns )
+        hvm_funcs = *fns;
+
+    prune_vmx();
+    prune_svm();
+
     if ( fns == NULL )
         return 0;
 
-    hvm_funcs = *fns;
     hvm_enabled = 1;
 
     printk("HVM: %s enabled\n", fns->name);
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2587,6 +2587,19 @@ const struct hvm_function_table * __init
     return &svm_function_table;
 }
 
+void __init prune_svm(void)
+{
+    /*
+     * Now that svm_function_table was copied, populate all function pointers
+     * which may have been left at NULL, for __initdata_cf_clobber to have as
+     * much of an effect as possible.
+     */
+    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
+        return;
+
+    /* Nothing at present. */
+}
+
 void svm_vmexit_handler(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3032,6 +3032,30 @@ const struct hvm_function_table * __init
     return &vmx_function_table;
 }
 
+void __init prune_vmx(void)
+{
+    /*
+     * Now that vmx_function_table was copied, populate all function pointers
+     * which may have been left at NULL, for __initdata_cf_clobber to have as
+     * much of an effect as possible.
+     */
+    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
+        return;
+
+    vmx_function_table.set_descriptor_access_exiting =
+        vmx_set_descriptor_access_exiting;
+
+    vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
+    vmx_function_table.process_isr            = vmx_process_isr;
+    vmx_function_table.handle_eoi             = vmx_handle_eoi;
+
+    vmx_function_table.pi_update_irte = vmx_pi_update_irte;
+
+    vmx_function_table.deliver_posted_intr = vmx_deliver_posted_intr;
+    vmx_function_table.sync_pir_to_irr     = vmx_sync_pir_to_irr;
+    vmx_function_table.test_pir            = vmx_test_pir;
+}
+
 /*
  * Not all cases receive valid value in the VM-exit instruction length field.
  * Callers must know what they're doing!
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -250,6 +250,9 @@ extern s8 hvm_port80_allowed;
 extern const struct hvm_function_table *start_svm(void);
 extern const struct hvm_function_table *start_vmx(void);
 
+void prune_svm(void);
+void prune_vmx(void);
+
 int hvm_domain_initialise(struct domain *d,
                           const struct xen_domctl_createdomain *config);
 void hvm_domain_relinquish_resources(struct domain *d);



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:45:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:45:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634228.989599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cfz-0002wZ-VX; Thu, 16 Nov 2023 13:44:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634228.989599; Thu, 16 Nov 2023 13:44: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 1r3cfz-0002wS-T1; Thu, 16 Nov 2023 13:44:59 +0000
Received: by outflank-mailman (input) for mailman id 634228;
 Thu, 16 Nov 2023 13:44: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3cfy-0002wM-7t
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:44:58 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7d00::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53a3ee19-8486-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:44:56 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8973.eurprd04.prod.outlook.com (2603:10a6:102:20c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Thu, 16 Nov
 2023 13:44:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:44: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: 53a3ee19-8486-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=braBt4rcoJ389L3N9K4dkqyYguDAKCN85iyarD2ebW6QpeJRDdEoarcv0kAl6ag3eqXrw/TwCMfB7gt0NXg7m7vkicPW2elVlmxMMnlSs2bgmdfl0j8gsFqlXls238Yj7k/0bsHotD08/bD3BD7jp5pie7KHh7jVq2csINYWB5oCQVUm/+bPoAX9oMVF6K/lemzCQPx6fNlw+bnX2MYMYBPlXN+loh8Hy2uBoQXIVCRAFCi0vX5k8+g8X6t9RHM7v11Y3kTpBxqj1ysIv65MJxFf5Mf/QpJbwzvx/acmZnmppz/lzvugYmJ3rIyse8J1L07xoy4SJU0DIfyJzLEOww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pnatshXM6Dw4HDxZ2mxb50luAiVIMzE4syxGe0D5+6A=;
 b=QsdbySd6DO/o9Ot1QIam2AsJI+wP8ilgmZ0GcTQCJvn5zT81W+pLeGhRsm7wEXxxgV+HiX6G3hc2e4Q2wZEcGU1CocMi0jkBPCqaMKZ73txbrz6p7hskSEqAFa+EzxLBaK634z/FqmDLYo5Ah8Ex9N7VejlyweeS9iNcHAGGijHdGQ+liUVNrGYJqFha2dx4riF2StIiUlxk2uRZ1bWG0S4bOt4YCqd9ZdRZIqOycqRx3/4sQKOeCk5FGrf0Y1g1RU+y1pxb5PkqJ7/1QA7OLZksAl1IpjnWwCcYNmePUCTTNuySE+8FqW9ySsadSKRsrkTUzPOmnT0grFi/lHLH3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pnatshXM6Dw4HDxZ2mxb50luAiVIMzE4syxGe0D5+6A=;
 b=0CEmX5DdtEoSm9K5ojoih2BIQ4QKO4ZiuYUz5/QTq5QdaZ00Ao/o3drq271sx7xvYVTufHbHrsrh3B4utk1ID3Llcjv3SUQPf5vOKhEB5SG3kbS0ulLo1RrMwIEC4fpXh3uKRos2MWOE29O7iqK3pmvzrxn+S8brBVBeF/2tB2fJ7aus6WhFDsjeDIf8pwBF9yhAgkQaUA25uVnsHye+GnH6Iojjw5GnA2dNhaXFgiSbV8WqGQ5WHw7XEAAoxsBj2LHDAFm2HPt3VHWFit0Yhd7RlT8kme8dVLmp5+W0WsSvGCOMSSXM8ocSbJkcL/fLdo03roGF16u5C0IbumC0Zg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
Date: Thu, 16 Nov 2023 14:44:51 +0100
User-Agent: Mozilla Thunderbird
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 v2 0/5] x86/HVM: load state checking
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8973:EE_
X-MS-Office365-Filtering-Correlation-Id: c86e67dd-7297-424a-135f-08dbe6aa369c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	T8ZSBie66SzVugedGMKajRk+zE9pOlr+sYnQKWnXfpTD24/CR72WCjQfcHU4lw0312q9dCLnrF6OccmgH7EqV4B3hf7MJguTK/+PFm1gZTIz5xZGGEd1rWYpaAjkMbE490toBf4D70wPxJPLH7Xd+OUjzYLtSa/oeOOmq9XreCLpWI4p6go18SbVpwqohLByANp+S2gufUjhFFAD1qb4g3FBfGsKWAA4yK53DbJiLbB7de6m2O/t54rvRtjQhtIS+LO99sd14+Oq2gL+MZP8YNWE79PHIyPvG3zE1cNzXpmXcDLcWjj6/tKBkov+F9gEg1t1va9DymFhXvR5Z4g3YChIV7v21UxruC+oC7F6Gv9HoD2RKxBfNfANLuRoKE8eYXgjPc4hE8zwj6O+Es0QiOgNq2fd3UQh9k66BdcZ8z4ustZWeQC+vBGbiITx0XUe1dipx6eF6ks88KeDAd2bsVYFnWDrAsShzTHw4wkXkSTSc4oJfVu2pIa+Ke8AW2FRIBXKzkfMDeMcIBGsSooCKvJxzc+RZOwaYzMsgAJD89IKMRjsq3e75Gv5VeWFfNshGneTG62tF005Xsv2iUx4M+NQJF9zpPiTxMmmPCThi8EAvSSG09l2aZBrn5pw5J3zlgLM1dez5Wg2HPt7GpdJ7w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(39860400002)(366004)(396003)(376002)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(4744005)(38100700002)(5660300002)(2906002)(31696002)(8676002)(4326008)(86362001)(8936002)(41300700001)(31686004)(6916009)(2616005)(316002)(54906003)(66556008)(66946007)(66476007)(478600001)(83380400001)(26005)(6486002)(36756003)(6506007)(6666004)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eWIxdmNkRnNraFNRZmlLbXJ0M3VuM2hObTJjREpLOWxOQkdyTFlnMHlGdUtK?=
 =?utf-8?B?ejkwWTZiOVhWdXNXay9WTy9uRm01L3dlenFkZmEvcUtuOHpNWWJaK0EyRnJo?=
 =?utf-8?B?dEdYc013bjluOVdaUDNmRmcxYUNselJJUS9hdWtqcXp4WHA5OU9UL2IvaFVa?=
 =?utf-8?B?MVFFRy9teDVlTUxUZmI1V3ZYeDg4T0t6TnA1MkpKZ2lYU1M4U2FENG0ra1VK?=
 =?utf-8?B?OERFUWVBVk4xQUhqWFIzbDVnVFBhZDhGRklwcnl6ZFJLb1lRNnBTRE5oKzhK?=
 =?utf-8?B?TEN3OXFHOHN1eEFlRDdCYllJbk9OdlJqNkJmTUthaElqVTBlWGpVbjJadDZt?=
 =?utf-8?B?NUdTa3ppMHlhSUsrRjNZQXEwVDZaeStpbXpTWXA2RWx0NGFtaWdXM3ovR0Va?=
 =?utf-8?B?YXBkS2FjQmRCUGlPcms4d3V3d3ROMFAvNi9VUE53dTVrL09zbmVCRDU2SVJ5?=
 =?utf-8?B?T2g0eDFhU3pIbUQ0WHhiTW5KZCttcVFqU250aGZrWnB3NHVpYitVSXRKUVI0?=
 =?utf-8?B?NUthQmVPVUlSUVIzWEJyNHdjNVpTOGdoNnk1YVJETW9YMG1MRGRuTlRDTzNP?=
 =?utf-8?B?MHR6NWhLZFZ2TCt1cGRtVUF5cS8xZzZLUHA0QWo1QUkwUE55L0FVUnhWYU5L?=
 =?utf-8?B?MWlMT0J2WUxBMUZ1T3psSjQ5ZVhDSnF6YkIvMWk2SlRITzF3eHFGMjFvNTBz?=
 =?utf-8?B?cUdMMnErYk5iaW5NSldFcHVTVmdUVmwyalIzazBpc2JUUm85cngvbDdvOTM1?=
 =?utf-8?B?dFVMSjZhSFJUY3o5U24rQ0hOZDY4akhzSzlsRWhLeUkxWUFBd054UG1tOHBq?=
 =?utf-8?B?K2l0eDM5ODZpNU5ycFhsMSs5SGVGNzZ2N0NtbHJnQm9aSkZDV2Z0dUtCMjNZ?=
 =?utf-8?B?dEplcTZMaUc3MUFPbERwWUNrWm5DTE5FbUlObG1KWHVmbnVRSHE5SmNiaW9T?=
 =?utf-8?B?bzRETmczQ09PUjFrVlAzdWZoUzVpK2kwWWErb0IyaWtmR0pLVEdXMlpISTlR?=
 =?utf-8?B?ZlJSRFVjV1BjT09lTU5nVk5OdXhWWTNoUEFPemFBUi8zWlBVNkg4aWZWUXFo?=
 =?utf-8?B?MW13SkpFNE5oM2RIcHNKSWhYN2JHdGppc0VselVvbFZjaTA2bFRhNjl4d0lF?=
 =?utf-8?B?ZzlxMENQWElMQnd3TWxjNTEwVFliQnMyMjVTejNzQUYxKy9wbUVhbzMzM3RK?=
 =?utf-8?B?YWFTK3V3Q2s3Q1RBUlp3eVN4M1FRK1FmejBkd3hMWlpsS25XNHF3Z0x3L1pR?=
 =?utf-8?B?RVhmRVFUZVRPbnhrRDVGQmo3REtZY1p4Nnd1NmZXR1JPNDdSY1J2NWRSVkp1?=
 =?utf-8?B?V0hQbTAzSW5iU1hqVGFYVWFoMmZWODcyN3UrSy9OcEZ2cFR2bzE0ZFBVN3VR?=
 =?utf-8?B?VHJIU0xxUjRoRDBVbkZ0RFF4QW41WGVXQ3dNaHVsaGV0Mkpud0h1RlZLbkNM?=
 =?utf-8?B?ZjVnOERlWnBBR1VuejQ1QUxNenZoL04zREV3YmZrTi9zd2ZyaXpYVkVvTkw4?=
 =?utf-8?B?TWhnaG82MFVqSCttVVVhOGhlWTFJbkltVVN5VitKd1dNVDFiQ1ltN05XQy8x?=
 =?utf-8?B?Wm82N1JGcTFvaDQ0QWwrSWd3TXVUb3hTTmxTMzZ6TERrbzVjMXNBTmtMTkFI?=
 =?utf-8?B?NjVaYlJ5alZCN3U0eGlUaENtWXV5UHlBeHRWR3laQngrMEorT2pQbHNKQnlN?=
 =?utf-8?B?SXpuVGwxSjVYL2FhUCtzUTBpVW5xV1dHdU9pTldBbWZsc01oYlU0UjNBbHFK?=
 =?utf-8?B?NWN6TlpCcy9YaHUvVjhNZ3FWZHBNYmZJSjhDMk1xUm1YOHFFbXZqMnNVbTla?=
 =?utf-8?B?S3Jia1NrcHZyQVRiVC9XOEs1OGhFTS8rai9wTGlUUDlwdDM2QXlzZW5SbEhE?=
 =?utf-8?B?YlJsMW4rK2YwZmZJY3BZbWo4RmhmcnJ2L08zNUtWSDI0LzZBMVZabWdiVWdB?=
 =?utf-8?B?dWNWcE5FSGpoWUQyVzBJS2V1N0ZrL21zU21OTUhFdExHNkhrbCtoKzhUTWZY?=
 =?utf-8?B?RG9Rb013RlJFbE4zbWRCQ3N4dTczNlZ5TTdlVFRlRVVrblppOXduTkdRUExQ?=
 =?utf-8?B?QUhWVWZ1UXRBWjMvQlhLZGJjbjJGMjRack9YbyttRkZyNDVKK2Q1WlRpbHJp?=
 =?utf-8?Q?oAWZkMenHlkzydcRpv7bgucnS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c86e67dd-7297-424a-135f-08dbe6aa369c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:44:54.0724
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: afsaIgt5fHocpo2l/VluA5xghQ/JtPgcjgIFscGstQ/IYzdaDDdhO1JRupRNml0lV+z6LZkV4QwRgs/LIv9pcw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8973

With the request to convert bounding to actual refusal, and then
doing so in new hooks, the two previously separate patches now
need to be in a series, with infrastructure work done first.
Clearly the checking in other load handlers could (and likely
wants to be) moved to separate check handlers as well, down the
road.

1: HVM: introduce hvm_point_entry()
2: HVM: split restore state checking from state loading
3: HVM: adjust save/restore hook registration for optional check handler
4: vPIT: check values loaded from state save record
5: vPIC: check values loaded from state save record

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:46:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:46:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634230.989610 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3chC-0003f7-9w; Thu, 16 Nov 2023 13:46:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634230.989610; Thu, 16 Nov 2023 13:46: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 1r3chC-0003f0-6p; Thu, 16 Nov 2023 13:46:14 +0000
Received: by outflank-mailman (input) for mailman id 634230;
 Thu, 16 Nov 2023 13:46: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3chB-0003dG-4t
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:46:13 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7d00::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 804fbd85-8486-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:46:11 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8973.eurprd04.prod.outlook.com (2603:10a6:102:20c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Thu, 16 Nov
 2023 13:46:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:46: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: 804fbd85-8486-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Pe27FRw9NVn0wSXmJ/J0iW4hOvotUrHXE+bruOKDZJi+4um16Zm2uTUqknyTuXHhjVfcOmBKIJPsZDJTtfUWswr1Eqd7fbGY2PlogxhcK82x8V8eMXcO/F2i9eMnE+p+2nxD2qrIHgoItkwtGQJOFIkqQSZIwlqzF+Z8gWXzrx0AL6Ncor480xmP3KqAnm4zZkrS2Qlj6wyrxyBtadE2WeNO0/EAf9bMHUURLPM1QD/a+zAR1kvv+lnZCZ0NgweTrZt2uKSJ4xpI5P6e6im4i48sM07np2IeCuv8TVmL47YaBPgLgY8TY+W0m0mcux3oyYtBdAUd6UNOsyE0Ua0ZyQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aQ35HW5/VXYEY1+3qai12wgann+ykzB/YgLcoRE3Z2A=;
 b=YypLyMtfSSZ4h0Zz3m6zbEXGUzmMLYLkPfhoqjzkBlckupHDxMs8uXWheBcD9kE/lbQ95J8vQlPKvgL51tdRdvJFD9uZxfrfWyHAmJimf40mJKbeOx0LtBOIUEbodnc7Wg34kdGQG0Bsts8gnd3gY/SSGOW+gaupX7Qnhg4N8IOFLUbLLPRH5cwhl43EthEooiijv6p49Aoz9mcwPQ3T7m2+LEhXT/hWLFruu0ofnPn+3JQFfuZix+0zuj7uHMT/mdMP1NNDTC0EmZ7lH7NQOAzdQmx2vL7qPOxLsKWPo2XTFFh9ghqr+F6Lqp6W2Fh0cqgm24Hu4XG8/g3rXDkjvQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=aQ35HW5/VXYEY1+3qai12wgann+ykzB/YgLcoRE3Z2A=;
 b=IO8YaVec+JU9yP0oH//oSZXa7qvx5K258qvw9kHRHREby520ITh0t5NCQS6XZbgpf5ny3n4j3DSlww8LFpVwwTRsJTy1aF0M4qYo/tF7U76hy8lokC1CZbegIGPHje2Ga3XhOTmqHUVFa7QJzhFgqrZC/nSJY+cSyPtvyf9J7QamxqdvzQrFNCslOQdAovrneJwpNHl7LpsOTJBAfLauDIEHA86k/9S/FYhcCpf0rXMfYH5rdYyGmATwts+TVHjEkVz0i7q5j1oAhvafmqgEiaLpL4wQinUFeuxmVVhDUsJINZ/n6Fut7fdwLV854WYDL5BF9n+2s8fgMXeWt9q5fg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9810305d-4b36-4e23-b807-a7a00f0ba6b6@suse.com>
Date: Thu, 16 Nov 2023 14:46:08 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 1/5] x86/HVM: introduce hvm_point_entry()
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: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8973:EE_
X-MS-Office365-Filtering-Correlation-Id: 6ff9fc7b-6111-4301-79a2-08dbe6aa6379
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	e3qhI7JW26AfM8ghP3Z1xB1gCDj/zdp3mD67d+QxFX0ee1OY4ykwXeRontvX03ZX8QGSTV2EHRY1k3VznjkKZUGopAZa73+CE2OpQYiduc5wcMmBOYbytl/FGz+wVlbwAksrM3F4uYlSfoF2UFjdkqm3ZZDW5QJ1Jelufgw5m9gtBhOnpxlMGNK1S+P0RmE7ubkk5LdLl3G6JjVo07OWYTubmm5I8fJqolgKkwp9PlgHkJNdHljZu9kVaZty2vKRf/a6keciaumqTl2p0SasPVuS4ABJJZDx/NjaEnglAo0NBbgRN1OUYO9IVA5j8w7N2AfQs9GemunI695CCiSFAnhyUwMsseDgkhaIpJerfZ+CGDfBCyYKdVtzsGxE4lpJR6NFNqhYmZ/nlCWUHNzWRhornI6AK4XuOL0qwuQBwuyGrtfWjtNsdVyuyKNkuvVtH6t4RClycPY47B85W3H+8sSiagteW5I2U6ia2xfs2GMIiGE7BPmd8+q2pkAqDPCAz9YjajFLMiXUEtIYJIM1dmOGvYwLR3E9PxvQaNiYnxS4UAsqlEFrWnUIaB6LUAkVSa+KFVHG8l9VcXulJKUur34PikzpPIzhzhFNN4CfHXtIcdj1CqOmZB0kzy26XLcS08kXO2m/DKymyMh89qKlhg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(39860400002)(366004)(396003)(376002)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(38100700002)(5660300002)(2906002)(31696002)(8676002)(4326008)(86362001)(8936002)(41300700001)(31686004)(6916009)(2616005)(316002)(54906003)(66556008)(66946007)(66476007)(478600001)(83380400001)(26005)(6486002)(36756003)(6506007)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MUNrQmNaeFZYZEVRUXZUelRjTS9JUEJFOFdrSWFseEZxS092VXhWcXlMSXZR?=
 =?utf-8?B?VGVacjkwOHVZaGFtNjBrWXRnYkxReGhvdGNEUE5saUxUSlhtR0RwQXlMWWht?=
 =?utf-8?B?T3IzR3hwK09oOFJYcXYyNk1Oa056UGFsL3RGNkpDTlJFd0M1T2dtNFpGWDMw?=
 =?utf-8?B?d2FzZDlXOGg5ZkY4MkRkSHR1YUVTN2Y4RmFJUERmUzhROUliNExmRWt4SEFS?=
 =?utf-8?B?UERScDFleE90RFBsNWVZQlNsRTRlMmZzbkIzWXRibG91Zng2RVZ2VmdIbFdr?=
 =?utf-8?B?alY1T0taM0NOZWozRWg4b2t0KytqU1pjdlAwMzhUeGJvTXFvelBXd2Judmhk?=
 =?utf-8?B?ZVZqS2FWR1U1b3lNaUxlSG53WjZOQktJWEtUUXIyZnFqRFhPUkJMazBUcUNO?=
 =?utf-8?B?VndRVEVod2ExVWFleGkwZTdqMk5OWHVUSkpQR28wTHhrWnQ3THBVNWl2VkZx?=
 =?utf-8?B?d0FvbThibTdraDlCdTlhTXBNSTRBK2ZPcTlqUWJSMEowb2FuT0M2NXowd0FV?=
 =?utf-8?B?MmFLc0tTU1g5bVZZbFRmV016QUcvaHkrMDNHUG9UKzJhbzhvVUhyTmhoZkc5?=
 =?utf-8?B?UER3aUtIdXlaRTJVc1dCa2d4eWw5cTF3bk9lUWw1K1NmdkVvSU9SRXpyVTJk?=
 =?utf-8?B?d0VkRWVpb0pJY0UxdVVGUktaUy85R2tlRVJRT1JrcmFBNlpVLytRQXE5Qy9V?=
 =?utf-8?B?R0w3M1h3QlZLSkF0ZUdZWnI5dUNDY2M3dnByd21wdnY0OGZvR1NzR3AyUDlK?=
 =?utf-8?B?VnRxaXM1eUFvNUVVMDF0QW42ZGcvKzNnQ1dyb05sTUpPcnFCcVB4aUpLdUt0?=
 =?utf-8?B?aSs0d2lNYjhGZXpuMGFWRmJCWnAzcWNWRFNTZ3pYQ0pOTmxEMENyYW1EQ2pC?=
 =?utf-8?B?WVN5ZWwxOTJUQ04yMCtIdE9hVEFNYVcySkpRZnBGZ1JQRVh5Z1lBTTBuaTNL?=
 =?utf-8?B?dnFSb0p2ZEVLeExoQlpSd1VhVHVDK2dlbzh4cGFSNHMrRmQzVWoxdmo2Z0Jk?=
 =?utf-8?B?M0tlQk9PbWdVWkNOSmhXTEc3b1lGZ3VNbTFvU2FnbllxS2R6UjhIeWxWWU5m?=
 =?utf-8?B?Q0RnSnJnZXBUdkRaRGdNV3NnTkM4bUVRNTJTMUlnaGlZMU5GVjd1RHEwaXIw?=
 =?utf-8?B?aTh6YitnTWlRSWJJYkc3VnJBTitOdEs2TkVqUlVMWE91clBIbXo2aUJoS2wr?=
 =?utf-8?B?L3dYUE1vSDRtcjRGK0xDSU1raVU5VlpSaGNkZ3RZUW14NTdTMjV0K3VwQ3ZR?=
 =?utf-8?B?bERYdE91WGpYUXkwcEdTZkNMTWNSV3VueVNxT3M3TWxrak1UMjRIQ2ZURTJF?=
 =?utf-8?B?QWprN2JxM1ZLcmdpWWx3WTJXT09ZRVRORmN3dzdWRkVEUHh3aGdyNFBOeEN4?=
 =?utf-8?B?NktDdVB2UUFGM08zL3p2a1dqVVpJWGQ3aU81OXR5UGZER0RvZVQ2YThMVFhz?=
 =?utf-8?B?cnBKcEVBNW8xNlFpM3ZrTCt1T0w5SkpIaWpNQVVpa081Q21BSS9zSTBNYjRl?=
 =?utf-8?B?ak0wN2VDZVBUVno3NG5RMVljeUhVbmNhMzlqT09SSGNmWVBiZjE5c0ROZmVh?=
 =?utf-8?B?eFlWTUZwcEdlK09zbjJEYzBqQ3d4MHJoajZhTWFKU0V3aFJjTzJ3SGkzWnNJ?=
 =?utf-8?B?S05xSW0vNXJDdldIVWxCUkdPc251N1M3K1MxWFFRTDFPTlVBNmR1N3R4aGI1?=
 =?utf-8?B?UnZIajdtUTlRenkwMm5WR2tEb2IySld2U1VMVmNzaW56Q1hQWkVDM2Mzekxt?=
 =?utf-8?B?eU9xU3I2cDU1OHNiU2FsRyszeHgyRGJBUms3L2ZZUFJZWWtxTlRxOGhKOVJX?=
 =?utf-8?B?cTA0MUR4ZTFDWTFaTlJ2a3FvaEh1NGpOYThuMVdkNVZod3NrYVdIdzJmTzd3?=
 =?utf-8?B?YXZ6eEZlc2NKZnFzSUROUDQ5QkZlYXdJK3IvYUxMU3licU9pRDF4cnppREdK?=
 =?utf-8?B?VFZrSTFCWXFoRTNJckUrSDRJZTJ4TktENVZWZGRiU0lvR2NrMm1Ucnk2b2JJ?=
 =?utf-8?B?eWkwV0dzaDdnSU9HM05ETmN6Q2hNM3lMZzhRWmRGdWNERGV6dk9IdEtOdC8y?=
 =?utf-8?B?SlZmdFFkZ2pSTW5ESm9vYkRyWWd2WGVKZE5VSkhScFhvWDgyeVVBYmVEbExW?=
 =?utf-8?Q?NO5hWHHnTHPgYrlb+OZdAPivY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6ff9fc7b-6111-4301-79a2-08dbe6aa6379
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:46:09.1947
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: n7I8HxJx4gzryg0W7r+C64KZIp/4AhK/xKE8bMgOZPYK+gIv/ZTCBaZeQ6vooXXLSmdxzPgRzmD0eq/DeRUeLA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8973

... to accompany hvm_read_entry() when actual copying isn't desirable.
This allows to remove open-coded stream accesses from hpet_load(),
along with using the helper in hvm_load() itself.

Since arch_hvm_load()'s declaration would need changing, and since the
function is not used from elsewhere, purge the declaration. With that it
makes little sense to keep arch_hvm_save()'s around; convert that
function to static then at the same time.

In hpet_load() simplify the specific case of error return that's in
context anyway: There's no need to hold the lock when only updating a
local variable.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -637,7 +637,7 @@ static int cf_check hpet_save(struct vcp
 static int cf_check hpet_load(struct domain *d, hvm_domain_context_t *h)
 {
     HPETState *hp = domain_vhpet(d);
-    struct hvm_hw_hpet *rec;
+    const struct hvm_hw_hpet *rec;
     uint64_t cmp;
     uint64_t guest_time;
     int i;
@@ -645,17 +645,12 @@ static int cf_check hpet_load(struct dom
     if ( !has_vhpet(d) )
         return -ENODEV;
 
-    write_lock(&hp->lock);
-
     /* Reload the HPET registers */
-    if ( _hvm_check_entry(h, HVM_SAVE_CODE(HPET), HVM_SAVE_LENGTH(HPET), 1) )
-    {
-        write_unlock(&hp->lock);
+    rec = hvm_point_entry(HPET, h);
+    if ( !rec )
         return -EINVAL;
-    }
 
-    rec = (struct hvm_hw_hpet *)&h->data[h->cur];
-    h->cur += HVM_SAVE_LENGTH(HPET);
+    write_lock(&hp->lock);
 
 #define C(x) hp->hpet.x = rec->x
     C(capability);
--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -15,7 +15,7 @@
 
 #include <public/hvm/save.h>
 
-void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr)
+static void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr)
 {
     uint32_t eax, ebx, ecx, edx;
 
@@ -30,7 +30,7 @@ void arch_hvm_save(struct domain *d, str
     d->arch.hvm.sync_tsc = rdtsc();
 }
 
-int arch_hvm_load(struct domain *d, struct hvm_save_header *hdr)
+static int arch_hvm_load(struct domain *d, const struct hvm_save_header *hdr)
 {
     uint32_t eax, ebx, ecx, edx;
 
@@ -277,7 +277,7 @@ int hvm_save(struct domain *d, hvm_domai
 
 int hvm_load(struct domain *d, hvm_domain_context_t *h)
 {
-    struct hvm_save_header hdr;
+    const struct hvm_save_header *hdr;
     struct hvm_save_descriptor *desc;
     hvm_load_handler handler;
     struct vcpu *v;
@@ -286,11 +286,12 @@ int hvm_load(struct domain *d, hvm_domai
     if ( d->is_dying )
         return -EINVAL;
 
-    /* Read the save header, which must be first */
-    if ( hvm_load_entry(HEADER, h, &hdr) != 0 )
+    /* Get at the save header, which must be first */
+    hdr = hvm_point_entry(HEADER, h);
+    if ( !hdr )
         return -ENODATA;
 
-    rc = arch_hvm_load(d, &hdr);
+    rc = arch_hvm_load(d, hdr);
     if ( rc )
         return rc;
 
--- a/xen/arch/x86/include/asm/hvm/save.h
+++ b/xen/arch/x86/include/asm/hvm/save.h
@@ -39,6 +39,21 @@ void _hvm_write_entry(struct hvm_domain_
 int _hvm_check_entry(struct hvm_domain_context *h,
                      uint16_t type, uint32_t len, bool strict_length);
 
+/*
+ * Unmarshalling: check, then return pointer. Evaluates to non-NULL on success.
+ * This macro requires the save entry to be the same size as the dest structure.
+ */
+#define hvm_point_entry(x, h) ({                                \
+    const void *ptr = NULL;                                     \
+    BUILD_BUG_ON(HVM_SAVE_HAS_COMPAT(x));                       \
+    if ( _hvm_check_entry(h, HVM_SAVE_CODE(x),                  \
+                          HVM_SAVE_LENGTH(x), true) == 0 )      \
+    {                                                           \
+        ptr = &(h)->data[(h)->cur];                             \
+        h->cur += HVM_SAVE_LENGTH(x);                           \
+    }                                                           \
+    ptr; })
+
 /* Unmarshalling: copy the contents in a type-safe way */
 void _hvm_read_entry(struct hvm_domain_context *h,
                      void *dest, uint32_t dest_len);
@@ -127,9 +142,4 @@ int hvm_save_one(struct domain *d, unsig
                  XEN_GUEST_HANDLE_64(uint8) handle, uint64_t *bufsz);
 int hvm_load(struct domain *d, hvm_domain_context_t *h);
 
-/* Arch-specific definitions. */
-struct hvm_save_header;
-void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr);
-int arch_hvm_load(struct domain *d, struct hvm_save_header *hdr);
-
 #endif /* __XEN_HVM_SAVE_H__ */



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:46:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:46:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634232.989619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3chg-0004G4-Hr; Thu, 16 Nov 2023 13:46:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634232.989619; Thu, 16 Nov 2023 13: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 1r3chg-0004Fx-Ep; Thu, 16 Nov 2023 13:46:44 +0000
Received: by outflank-mailman (input) for mailman id 634232;
 Thu, 16 Nov 2023 13: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3che-0004DG-Qg
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:46:42 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 92a08bdf-8486-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 14:46:41 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7181.eurprd04.prod.outlook.com (2603:10a6:800:12a::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.7; Thu, 16 Nov
 2023 13:46:38 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:46: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: 92a08bdf-8486-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AGYX+/Qdu73ErPenOXphgWjKQUE4DrqCX6kaEgc5KOrX5bz7BqhsRDuRg1VPadxCJUjYy5CVM9t/v9VNnrVEA11aVlfmW09ctJdei6xi08iV6jx1qkkHqcTq+QF0lF7RYsO/pww7LcVR0LeD/TQgfNXy//wWwvDc9W8CJFDdaG9h+if75lC56jLKFqpxQSQ1Fg37jqiCofjiGnDyVezbwFHQfqo45ZtdljTEREbie+4yvwXEWB3VufO//UGhfP1SGGrRykL24Vlw9zvbfPpyqmvBY1ihAucN7Qgi42DmqEygSlZHPT6Dp6lsoU+j6NHt91CQYx7mEuv41EvHPAaCEA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lMSbuMzFk476bXS0hFnUWgnN47n36WdfLn6n8LRD3+0=;
 b=fTpGHzIg6Sf/naHm+oDh22w726uo9LnHvxqC34/pxFxKWH7isWmGiGzY+OwRAnL+CHN8mc1jHKuIa5Hbc0wOzpylq397khBnUcZtvqd4ioRHwZSZBmDzCTkHnhOA+ZIrgtf/rb7YgHQcXtNtGp+bB6EzVaFQ63jdJqguo8n/q7Be2wG8zYn9/s60eLpNlAC7e2u2qUQH/pZLYYrBQwA/W3vEIGu2kRkhxhTrbjbI+DizitIQDW0js9g5bU2TZR/IenDrDlL2EQNTLbIg8uzdrm1eN4EZGGpb9C5+bXsAIWWDL9DKskemd+CH0TI0Qb05hOXyjzTJI/DnTN7Vm4cPDw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=lMSbuMzFk476bXS0hFnUWgnN47n36WdfLn6n8LRD3+0=;
 b=RqyzQX8/3tDlg4mUVircMf9Z/ACsE8tRwaru/GrmvW2luSkh67XR7gHh6bbw92G/CnbQTs4Vor3rviKBel1nzZII145UQTo+XTyoeki3h8Hn9iAa/rHUScBj89O9+CJkqs7rFRhnMNePvi77+l0jF8AIErW0+HoIjlr6lH/Q1cYr8YPx/cWBpl0fPE+GRAbkB4+DWDlY9wVK9izfwrOi8LkYsv9n4w4Rc9Q02PrGUPsRB4Cp9dhjR8G3Xpe6V2Iwc2/HV9OQqVqgvz+OhUoSO8GNkSByDI9T8xazlOJgug/Vb3+O4jpVF5b/bYa5vJ38FrelVanP2TfGMixSn+roeg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <822a6328-36d3-43e9-9fc4-36d01a6b9ef2@suse.com>
Date: Thu, 16 Nov 2023 14:46:37 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 2/5] x86/HVM: split restore state checking from state
 loading
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: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0011.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7181:EE_
X-MS-Office365-Filtering-Correlation-Id: 6db19afd-6e97-4056-e6a2-08dbe6aa74b6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	l7b2L41tkC0WthIIlKGQPUBN9XXJEnHOPuiRqlmhPrwnb3MYMvXT7N5/RXgR5p6Te645tmT3ql5Ezrjv9gDmGNqKxeIs+ABF243+1lM9fAo5RdbirCEqMpTzK5GHdpf4jOC6J/5sya4lRiJzG7mOad1mrzCyNKAHPQ0NqdeyAU2kmbxNJxxmVOTeLZfax6TYREJBVyErflJGKvaks3ujhN2+c4xv9M2F0pU2pINFzs03OLX9yjxakFZAZgFVTfg1eSjdLgzdVcehQiOzkeZUZgBQBfi8f5dQco4Mo8DZA9QIAm3BxZplfxpK9+PAgaA1+aNGbKfcyCFdeyILB9Gd+FbE9k+wjv5RTCskwh90aG+R/d2r0t3wmMlQMz/dW8kHvdPR8N6y8eBNIF7iQijcdZLsI/iAqIX4/6N1lo+upUOs3PQw36xfGmafsVaLYopcvpNONbrG/NC+7PWPs8PVKXj2jTRgfHFD55grF/Ute+XzHMqc1dj2zXJT31PCvTpZBCrcHQeI8/ZQJZsbPNImUo69sUAgOdJdSf0A/j8k6aZzL0hM/dRZ9NYprngYXWprhi96aPr9ieb1TVHIejzpQqNF03FmdnJg+3Ncwyebay9mM9EbyZyta8Z1usGJKQCAriGbM+AXpo0jABfngN0/fA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(136003)(366004)(346002)(396003)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(31696002)(36756003)(86362001)(8676002)(2906002)(8936002)(4326008)(5660300002)(66476007)(66556008)(54906003)(316002)(66946007)(6916009)(478600001)(6486002)(38100700002)(31686004)(6506007)(26005)(2616005)(41300700001)(83380400001)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUwwTmQzVldaUG0xazhJeXp5WU5aa1o1ZEhyUXRmQlZ6eWp6WDBxV0Z0SGt5?=
 =?utf-8?B?cWYyY1JaNFRIdE82S1NIdlNUZGpBOXREU0dZYmpweGd3cWozMkpuQzgxOTlD?=
 =?utf-8?B?clVZVTVzQTlKc29icHZ4b2hXT01ZdThuRkEvSUhBSWR2K3NlZlFsYUM5cnlG?=
 =?utf-8?B?TXNJMXdZVHRJbSsrZEJvck9OQ3Z4S1c2WElEcjRGNVJ6NWVXSHB4WmYzOXJJ?=
 =?utf-8?B?ZXRuekpIN2lTTGlMT2pFWDJDa1Fpc0Nrb3E1K21za3dDQzlsOUsxNUxzZnhM?=
 =?utf-8?B?aGorekdJWkZidVhLTGVUU1g1RkFhaWY2Tnd6UnVjd01yNVNRa3RRb0JyWFcr?=
 =?utf-8?B?dXZ5RFAwRDZGbjREYk5XN3RRVm1iOEFaY3ZwREcyMTdKVFN6MmZMOERxclIw?=
 =?utf-8?B?K0JZV0ZNc0tLd0JvWnpPZDJUWjN5WGtDa3h0c0xmb2E4QzcvM0tleHI3aGs2?=
 =?utf-8?B?dzN3UWZpVVhEbk1GdzczcVhENU04ZDhueVVtSmQ0QnRwc3RMZzdYUzdLT1Zp?=
 =?utf-8?B?V2ZKQkJXYkR6RVFkWmNWajdQVjRwT0JBRWNsOGY5ZnZoTERyb3FWQVdueGE1?=
 =?utf-8?B?OUFIZkluVWpFUG5kUURVZlZiUmxwUjU5RWFwbk9sWkVoSS8vU1MvcUdLVXp1?=
 =?utf-8?B?OHYvbW5VZ1piRnlpdEdCa1d3QzFXYkF3Tkh3TXRkcnlQcmg2RFl1OGo2dEdW?=
 =?utf-8?B?eE01ZkJ2WXh6OUI5M3NSejdtbjZib2U2MXhMTWdKOThtL2VybHpUZjNuMTY5?=
 =?utf-8?B?T1hEQkw4dHZvU0RLa21kdkk2U1pNNStMMDV6dUZaMFl6b3NwQjR0V3hONGps?=
 =?utf-8?B?K2lIb2lJV1pNcktNYnlwcFNMZWpmdkMzLzFHRXVXaDg3SHlDUnRkWlg0cEVM?=
 =?utf-8?B?czJJQ0JXZDR3c1hrRElwWHArbkR3L1VTa2dTZGJFb0RxRmllOGVvY0JxVHN5?=
 =?utf-8?B?OFEvZ2d2UHlvWWwvSVFjNE9vYnVzWWZoOFhtYVZ3VTh3ZzBPUm5qUTBRMXBI?=
 =?utf-8?B?Q0RHSk9CY3BPcXd4VkJDQXlPcndoekxqL3VSWlp0b0V6NWtZRExublBuVkk4?=
 =?utf-8?B?TXZhOHlOSW0xSnorMkFocEhuWDhHR1hEVnJrWUp3dE1jY2FqZlhIdlRoellJ?=
 =?utf-8?B?YlJPYjdEOFl3d2R3TWIwTE1pSndlSW5tZzRWR3BjUkdqZ0dEcC9EK1BiTUFt?=
 =?utf-8?B?Mzd0WDh5S2Vzb3Fwby8vQS9zbUN1T2VVMDRYUXpLVXI4SHU2ZFgrdExIZGJn?=
 =?utf-8?B?QWg1bzMyTXNjT0pha2Y5WDEyRnJZOE8zRFBtUzcrTndzdHpkZDEzTzdnMEl5?=
 =?utf-8?B?MncyRGQzUXdLMmxnaHNPTGY1UGNYb3dwdUUyTnJZMHRGYWtyeVNsdFM1VVlY?=
 =?utf-8?B?YkNqUC9Jd3p4dVRBNEFYY2twWVd2SlVRckJkOWpnUXVMWlhhQ1g2V3lJQmtp?=
 =?utf-8?B?d2RVYTg2bW9mTXhEN3RJZGJ0aTM1UTZVQ0lQZEo0T3Y1c0tncUpFUEV1bXlG?=
 =?utf-8?B?SnVPczJzL2xyZ2JkYWZLak95Vlc4clJPTGpVaktEUHpNRE8yam1uR3JkMUFw?=
 =?utf-8?B?ZGdUYTY4Z0I5OTRPYlJUNy9iNVFyUnpPSy93dVhIeTJMMGVheG1ZUkwrSHlp?=
 =?utf-8?B?cEUreit0OFZrNTU2NFRYdGZ1ZDFRZGI2dHdWUk04YWFWSFJlYU5aWkJsZmR2?=
 =?utf-8?B?SklvVHpwMjBaR21ZbnFSalJCSXpLbVhMTnpaNzJDYk5Wa2tOSzh6V0FtSE1S?=
 =?utf-8?B?aGVMRUtXWVJsUDI2UC9hbHVPTUxuMVB6TVFBYmY1cXIxWGZwRzFrdkxSWU5D?=
 =?utf-8?B?OUxvVGIvaDFFVWc3SjQvanBkajhTSXR6UlExcHNNbkVaU0tuM2lEZnV4UzA5?=
 =?utf-8?B?Vm40VGEvSGppMkVJUzg4SHU0TlZiKy9KcTY0aHhTbkpBYW9JRE9pTnBrNVZS?=
 =?utf-8?B?dE1ZTmFPbEZ0dFovY2lXdUNESzZMTkZvTEIzVkEySHZNTFBURmJoRlFGTEpX?=
 =?utf-8?B?M2J6N1BVRlVQRUpaZGFKWEtWZzQxejc5aytKSFR6TkpTNUNTN2YrYyt6NXVs?=
 =?utf-8?B?VnR0Nkl0VFNTcUZHZlEzaGgyVksyN2Q3eXpvY3dxRTFFVENLSnpWVnpSRjNz?=
 =?utf-8?Q?yz51vHLdxvfcGwIblOLZFPm5y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6db19afd-6e97-4056-e6a2-08dbe6aa74b6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:46:38.1094
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: J5nkrMY1KAV+nTaTMkYCPyeqlg9qSy9zKpxEWeQaCxn7ptUs7AZNZpyhdYDNanlCV47IQb2RIamy1RlnzuZ7EQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7181

..., at least as reasonably feasible without making a check hook
mandatory (in particular strict vs relaxed/zero-extend length checking
can't be done early this way).

Note that only one of the two uses of hvm_load() is accompanied with
hvm_check(). The other directly consumes hvm_save() output, which ought
to be well-formed. This means that while input data related checks don't
need repeating in the "load" function when already done by the "check"
one (albeit assertions to this effect may be desirable), domain state
related checks (e.g. has_xyz(d)) will be required in both places.

Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Do we really need all the copying involved in use of _hvm_read_entry()
(backing hvm_load_entry()? Zero-extending loads are likely easier to
handle that way, but for strict loads all we gain is a reduced risk of
unaligned accesses (compared to simply pointing into h->data[]).

Would the hvm_sr_handlers[] better use array_access_nospec()?
---
v2: New.

--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -379,6 +379,10 @@ long arch_do_domctl(
         if ( copy_from_guest(c.data, domctl->u.hvmcontext.buffer, c.size) != 0 )
             goto sethvmcontext_out;
 
+        ret = hvm_check(d, &c);
+        if ( ret )
+            goto sethvmcontext_out;
+
         domain_pause(d);
         ret = hvm_load(d, &c);
         domain_unpause(d);
--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -30,7 +30,8 @@ static void arch_hvm_save(struct domain
     d->arch.hvm.sync_tsc = rdtsc();
 }
 
-static int arch_hvm_load(struct domain *d, const struct hvm_save_header *hdr)
+static int arch_hvm_check(const struct domain *d,
+                          const struct hvm_save_header *hdr)
 {
     uint32_t eax, ebx, ecx, edx;
 
@@ -55,6 +56,11 @@ static int arch_hvm_load(struct domain *
                "(%#"PRIx32") and restored on another (%#"PRIx32").\n",
                d->domain_id, hdr->cpuid, eax);
 
+    return 0;
+}
+
+static void arch_hvm_load(struct domain *d, const struct hvm_save_header *hdr)
+{
     /* Restore guest's preferred TSC frequency. */
     if ( hdr->gtsc_khz )
         d->arch.tsc_khz = hdr->gtsc_khz;
@@ -66,13 +72,12 @@ static int arch_hvm_load(struct domain *
 
     /* VGA state is not saved/restored, so we nobble the cache. */
     d->arch.hvm.stdvga.cache = STDVGA_CACHE_DISABLED;
-
-    return 0;
 }
 
 /* List of handlers for various HVM save and restore types */
 static struct {
     hvm_save_handler save;
+    hvm_check_handler check;
     hvm_load_handler load;
     const char *name;
     size_t size;
@@ -88,6 +93,7 @@ void __init hvm_register_savevm(uint16_t
 {
     ASSERT(typecode <= HVM_SAVE_CODE_MAX);
     ASSERT(hvm_sr_handlers[typecode].save == NULL);
+    ASSERT(hvm_sr_handlers[typecode].check == NULL);
     ASSERT(hvm_sr_handlers[typecode].load == NULL);
     hvm_sr_handlers[typecode].save = save_state;
     hvm_sr_handlers[typecode].load = load_state;
@@ -275,6 +281,78 @@ int hvm_save(struct domain *d, hvm_domai
     return 0;
 }
 
+int hvm_check(const struct domain *d, hvm_domain_context_t *h)
+{
+    const struct hvm_save_header *hdr;
+    int rc;
+
+    if ( d->is_dying )
+        return -EINVAL;
+
+    /* Get at the save header, which must be first */
+    hdr = hvm_point_entry(HEADER, h);
+    if ( !hdr )
+        return -ENODATA;
+
+    rc = arch_hvm_check(d, hdr);
+    if ( rc )
+        return rc;
+
+    for ( ; ; )
+    {
+        const struct hvm_save_descriptor *desc;
+        hvm_check_handler handler;
+
+        if ( h->size - h->cur < sizeof(*desc) )
+        {
+            /* Run out of data */
+            printk(XENLOG_G_ERR
+                   "HVM restore %pd: save did not end with a null entry\n",
+                   d);
+            return -ENODATA;
+        }
+
+        /* Read the typecode of the next entry and check for the end-marker */
+        desc = (const void *)&h->data[h->cur];
+        if ( desc->typecode == HVM_SAVE_CODE(END) )
+        {
+            /* Reset cursor for hvm_load(). */
+            h->cur = 0;
+            return 0;
+        }
+
+        /* Find the handler for this entry */
+        if ( desc->typecode >= ARRAY_SIZE(hvm_sr_handlers) ||
+             !hvm_sr_handlers[desc->typecode].name ||
+             !hvm_sr_handlers[desc->typecode].load )
+        {
+            printk(XENLOG_G_ERR "HVM restore %pd: unknown entry typecode %u\n",
+                   d, desc->typecode);
+            return -EINVAL;
+        }
+
+        /* Check the entry */
+        handler = hvm_sr_handlers[desc->typecode].check;
+        if ( !handler )
+        {
+            if ( desc->length > h->size - h->cur - sizeof(*desc) )
+                return -ENODATA;
+            h->cur += sizeof(*desc) + desc->length;
+        }
+        else if ( (rc = handler(d, h)) )
+        {
+            printk(XENLOG_G_ERR
+                   "HVM restore %pd: failed to check %s:%u rc %d\n",
+                   d, hvm_sr_handlers[desc->typecode].name, desc->instance, rc);
+            return rc;
+        }
+
+        process_pending_softirqs();
+    }
+
+    /* Not reached */
+}
+
 int hvm_load(struct domain *d, hvm_domain_context_t *h)
 {
     const struct hvm_save_header *hdr;
@@ -291,9 +369,8 @@ int hvm_load(struct domain *d, hvm_domai
     if ( !hdr )
         return -ENODATA;
 
-    rc = arch_hvm_load(d, hdr);
-    if ( rc )
-        return rc;
+    ASSERT(!arch_hvm_check(d, hdr));
+    arch_hvm_load(d, hdr);
 
     /* Down all the vcpus: we only re-enable the ones that had state saved. */
     for_each_vcpu(d, v)
@@ -304,10 +381,7 @@ int hvm_load(struct domain *d, hvm_domai
     {
         if ( h->size - h->cur < sizeof(struct hvm_save_descriptor) )
         {
-            /* Run out of data */
-            printk(XENLOG_G_ERR
-                   "HVM%d restore: save did not end with a null entry\n",
-                   d->domain_id);
+            ASSERT_UNREACHABLE();
             return -ENODATA;
         }
 
@@ -320,8 +394,7 @@ int hvm_load(struct domain *d, hvm_domai
         if ( (desc->typecode > HVM_SAVE_CODE_MAX) ||
              ((handler = hvm_sr_handlers[desc->typecode].load) == NULL) )
         {
-            printk(XENLOG_G_ERR "HVM%d restore: unknown entry typecode %u\n",
-                   d->domain_id, desc->typecode);
+            ASSERT_UNREACHABLE();
             return -EINVAL;
         }
 
--- a/xen/arch/x86/include/asm/hvm/save.h
+++ b/xen/arch/x86/include/asm/hvm/save.h
@@ -103,6 +103,8 @@ static inline unsigned int hvm_load_inst
  * restoring.  Both return non-zero on error. */
 typedef int (*hvm_save_handler) (struct vcpu *v,
                                  hvm_domain_context_t *h);
+typedef int (*hvm_check_handler)(const struct domain *d,
+                                 hvm_domain_context_t *h);
 typedef int (*hvm_load_handler) (struct domain *d,
                                  hvm_domain_context_t *h);
 
@@ -140,6 +142,7 @@ size_t hvm_save_size(struct domain *d);
 int hvm_save(struct domain *d, hvm_domain_context_t *h);
 int hvm_save_one(struct domain *d, unsigned int typecode, unsigned int instance,
                  XEN_GUEST_HANDLE_64(uint8) handle, uint64_t *bufsz);
+int hvm_check(const struct domain *d, hvm_domain_context_t *h);
 int hvm_load(struct domain *d, hvm_domain_context_t *h);
 
 #endif /* __XEN_HVM_SAVE_H__ */



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:47:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634235.989630 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ciN-0004zI-0z; Thu, 16 Nov 2023 13:47:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634235.989630; Thu, 16 Nov 2023 13: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 1r3ciM-0004zB-Sl; Thu, 16 Nov 2023 13:47:26 +0000
Received: by outflank-mailman (input) for mailman id 634235;
 Thu, 16 Nov 2023 13:47: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3ciL-0003dG-Gx
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:47:25 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab7b8ffb-8486-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:47:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8973.eurprd04.prod.outlook.com (2603:10a6:102:20c::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Thu, 16 Nov
 2023 13:47:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:47: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: ab7b8ffb-8486-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mlL7ooIk5ib95FfX26jrAzpYs36aAGNR4MCLh++NE1TaQlPdFyPir1bPSxTY//xKfWpgLVvjv9PIvokEeQ+WnYNwEqRUn9QdOsYzVxw+RO4zHzs9i3e40C11FuQHgw+bjL6KgNfTAeopBx4q3h9K3otjBEQQ+SUtaRMZiKuib6SvYJj2Fn7MCu2N/dAndgZgR3TtVMDH7aHhR5gHO+6EwTPY+K4qYWT96P6d3e8VM18Jj9Phq3GkeBk2hgN/yBR58GZ92cBkHJV57HjwfoV8PWrZ0PIzQDrW35xOutsxGSYglbgC40ESnAk8SawsjXbPfW7lz4vu769Tj3xF80VBdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=21bfP1a8vc58vTNWpsCvgoeAH47g9WRPqWztSSvlClg=;
 b=cB93LPZb03gkfHKLJk0u3l6Vi8LDMxuwqldYDrH+HgGzxvVjmQzJAaJf88RnXF6UmfBZPothStPV+S8sTnfPvCdeqqIf5hwgELAXy1VrBVjVMPfK5Uf5Dnk8b0Whdn7MjzsZE30kiqBJk/WoZ213d8MlhL1mQ/+uxSdQQHP76peBplq0vb+0rk9tmbuXrF3YS53HfF8wh/93maHVrzelglUd8/cS+dvfwqQvyISX/kBfIPHH7xae6Y5tmcCRnaIwlkzUciJbCf6bhMUI6xTH5Nb3mZ/o9Otd5xMitjGCI+g7oeo+ZCm88sWZuDD46mxBo2rMs6W6KS1Bo9XqnBILDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=21bfP1a8vc58vTNWpsCvgoeAH47g9WRPqWztSSvlClg=;
 b=zVSSsoZ7e9YJrxHMsP/C5vYxLjEfAy+ZYZL3xwOtavOTaI/2xdM1mpfVCfcEpMpPCT9BwbP/WV+tujNskyD0kf/2VZtdwY21hbOJBspeU+9/pgAA7f/7QJL275uAPrN7bI6JqKib/hHy5NkXgBAVmRdj7numDoZNeMczr9V/XEazTm0R7iXgP38PWP8+Jassx6KKcqp7LK/Ju7dRTi9A13QfEGyuBpxL2VDfiFl4RkMCSKna/MTsNSmbdsBG5O2ca1MBqdBYsTK1iQJVauEGpoxyM+POGFmp5Xn1C3eeOl+iN3jrkHkIDxCjgdgnoNyZWgqkEMenLZMLYjlAUqjWrw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3627a561-939c-472e-840c-6925f4774631@suse.com>
Date: Thu, 16 Nov 2023 14:47:20 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 3/5] x86/HVM: adjust save/restore hook registration for
 optional check handler
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>,
 Paul Durrant <paul@xen.org>
References: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8973:EE_
X-MS-Office365-Filtering-Correlation-Id: a2a40075-5414-4073-5175-08dbe6aa8e4a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aY6fdQwETr0hc4YDiJStX+xqq0Y3qgPPieN1csxbDu5AOsFihnf/3QGEttdQvc6dMP4BlaxVXSDQk9cVjvXVhZwBg9r4MDPQwgtDdIRFPCHXrfTh1A0Kxl4yzP+oaTyQyf051WzUTGmH0cfIlw81d0mvVOMoPJ2WEu1AQds/u2KUtQwqUlinQip06bbozx5IkYJj5AJ8pcdfvd255D5LNiFybWNZSSGuRxq9WKrsnDD3NlL7LQY+ClI9kHcBCu/PLf+hEPNxR5IDf+KHUENf4sHVHaKYOW17L19f7/ul7jwbmZ9heVLpdNB/aDDSYhynJRLoi6fdRsRtXs6jHSE5vGsfp8VVeEMJTlLTwCz1m9UgBCWHdgEtIpK3Xyf8o46D9TQR0q9oPX3hYcfFNfQD/bx6OFg75issf8iqGSOpe5JY6DOJOMPPHtwke5MlMcpHQY3oAz13On3BRd+uTq7sCWeJ4ddGTC/duC3K4Fvc4qBN2D3qZYC5Bnn1Tuj8XQosZsXE9e52AH0K14DVnL6WG2VKmRe/uhYThEIwjyzVSvF/qktJeiJG+CJTMGq2/T+Xibs8asBV/ZS7qOwqVWu5BM/KSSSoxPkq3xTEsRvkS1pNTLt7iP5VuGTKCFgRs9RXKl+KlCCtB9y4Yt1PQwMYjw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(39860400002)(366004)(396003)(376002)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(38100700002)(5660300002)(2906002)(31696002)(8676002)(4326008)(86362001)(8936002)(41300700001)(31686004)(6916009)(2616005)(316002)(54906003)(66556008)(66946007)(66476007)(478600001)(83380400001)(26005)(6486002)(36756003)(6506007)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cG01UHIvZU5VSEVidWZwMVVKVjQyYnZaMFU2NDlOZVoyU3VxSGtZczB4SXlr?=
 =?utf-8?B?bldyemo3Rk9qUFhDTWNZTUFVM3BlYUhuU1lPTjNselBHYmxqdXZlNUhsenVh?=
 =?utf-8?B?VCtBNDUvZ2VUWFJXQ0t6cE52bHB3KzB4QVN6RGRzN3Y0bDIyeURCV20vR2xn?=
 =?utf-8?B?WGpOdTFWV1pVL3BNQm5wSDhLaXFCNjluUkZyeEFSMnBqRnZ6MzR5L0E1YTF2?=
 =?utf-8?B?TjFMejIxVG9iU1A5UDZNZDBRbVpLbkZLOXc3RHFqOU00cjJaNEtibjhkZ0F6?=
 =?utf-8?B?dWtNbTFsOXRCQ3N0WGpZYzIySFRiZnUwOXF3czQvNzU4bjgxSmhyZlFqY3c4?=
 =?utf-8?B?WmpSTWVLR3JzM09zVDFJQk5GOXAwNnp6dTQvVjM1VmZCWmZwa08rODl4cUox?=
 =?utf-8?B?TVFFZVFUSzVnUmlRY1dkMktFZzhEaFpvRm1ZK1NaZlZTU1RuWkJzZEppd0pO?=
 =?utf-8?B?b2tNanpxaEpvOEw2bnhKblVWQXNHdCs5K29DZ25sQTk0WW92UmNHdXp5Znpk?=
 =?utf-8?B?Ry9JakhGNWRCTWl5ek1neFlGRGJJbUo2T1VZWUxOL2RGUEVYc2ZoQllLamt4?=
 =?utf-8?B?WU9Dc21rVzhwaS84Ni9iQXVkSVpTVzBhZHV1YnpuVW9TWXFkQVF5NlFnblov?=
 =?utf-8?B?OFVJRHN6LzVBc010WWp4MXk2ZDM4bGY0Z1dvSTRWTUJNL2htZXVYdzJEOXV4?=
 =?utf-8?B?Ykh0SkRyOHI3UXdFL0Y5L2h2eURTZkZkYnd1Y0VKU1ZoQUw3Z1RSZTc3WlBo?=
 =?utf-8?B?d1AxbVdPSHE3YTR3bUFoZWZOcjlSbWpkZVQrVWw1YnpabG12ejYyemlMZEhw?=
 =?utf-8?B?RlBmVjZ5ZUoxSklYZWErVnRxRzBJM0NiUHM0TEQrN2ZFV0kxbUhkMUR4bG11?=
 =?utf-8?B?eklXeDJoSDJvWDlreDJ3bGlzeXB6YmN5VUFXNGRJaGxrck5LNSs4T2VyN2V2?=
 =?utf-8?B?TmpwNmwrZTE5WHd3c28xcDZvSW9VZlc4K0pDRUtNVDJHa2l1T3VTc1lsSEV6?=
 =?utf-8?B?UjBHa0tDbjk4MWswSGFtYkJtanU0ekw2d1JZdXFmMEcvVnBFOXRIVFl3Z3I1?=
 =?utf-8?B?RjZjTHpFallacENEQkFWa1MwTGd2bG5PL0NkNm52dDlJQklPRDg0eWV6V3ZF?=
 =?utf-8?B?QWd3UFlKRGs5UFgvaTM2Y3E4MGlQODllZEpadTNZMFppN1JpQndvNWZLODV4?=
 =?utf-8?B?NDdXYmJrR0J6b0hyUXM3L3Q2TUc0QVI0UGw3YWFPS2VsZzF4Y1BlQVh5YTgv?=
 =?utf-8?B?VGZJN1IxcDZmZTRJK01ZVmFCUlcyWkQzcUFsU0xSd09iWmNReUN2eVArQ21t?=
 =?utf-8?B?Y0ZLTVZNVDFKTFdOcTBkQlhDWjZKLzFmZ1hVU3JGQUJ0UUlRekxTUGVSR2FH?=
 =?utf-8?B?U3hZTUNkZU5IUFJBengrUFYyYUdRSktueThiemt1S1V3QmR2Ny9kM3lTbVVS?=
 =?utf-8?B?ZFJMMkRlM29JcHNKMWlrcVJkakk4aDNwZHROMFVtMEkwSlZ2cUlqUlNhalZ1?=
 =?utf-8?B?RkVBaGFiMXo0YzMxWGFRRVZVOE1XSWRHN0J5WHkzakhRb1hSUGdJS25EQVJL?=
 =?utf-8?B?S2xwREVoanliSzlDWUZUMjRGV0hMVFkzU3lmcUpDM3NRUmM3em14K2ZPL1Fz?=
 =?utf-8?B?bnBKK2ZQQ2hTb2FlTXZsZTR4YmpQdDR5UFl5R3RjSW1PN0xBWjJhNk83VDhK?=
 =?utf-8?B?VGF6dmxUc0hLUzNGcVR3V3pMeWJPNWFJWThhN3NTeGpEM0pVUXNhQ25GaERN?=
 =?utf-8?B?ZlFERXk1ZGtmOHgvdFlRNi9Vd0ZTYjBtcVpNcHBjUndWaHR5WkJoSHcwSXU5?=
 =?utf-8?B?NXlPVjlMa0dRTEFDWWpWN05uWjRkQzlOd1hUTGdaOXl2VHZKY3BkMHd5T1VC?=
 =?utf-8?B?eS9Pazk5RmhOU3lCRmlvVmJnWGZNanhrQWN2eXY1YTlKL1JVRk1lQjY5bnl4?=
 =?utf-8?B?L2RGQXNMQ2RQUkI4djIvVUNtTnhydmtKeDlYNDFIWHNiRW8yeURNSXFGek5q?=
 =?utf-8?B?Z3I4b3Z3eVk2Q0xpMHYrbVZWWEs5d00rN1U1dUpFNHZocmNNMGpPTDdoYlho?=
 =?utf-8?B?WjVWTlNXS2hKeUhtZFFERGNtSmJnOEJGckVVZks0RjgzajRvaVB2cVByMDU0?=
 =?utf-8?Q?fzcb1pkeCG9m8q3Gqcn6qGs7c?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a2a40075-5414-4073-5175-08dbe6aa8e4a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:47:21.0241
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lqzTESIq3euSh3HS+7CIMuJmtLbYQSB5N9SeyUgOBilGg7LN393vR2DRQfjKxA4mpwmFSK8hSTG3ElfbgoYgWw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8973

Register NULL uniformly as a first step.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -374,7 +374,7 @@ static int cf_check vmce_load_vcpu_ctxt(
     return err ?: vmce_restore_vcpu(v, &ctxt);
 }
 
-HVM_REGISTER_SAVE_RESTORE(VMCE_VCPU, vmce_save_vcpu_ctxt,
+HVM_REGISTER_SAVE_RESTORE(VMCE_VCPU, vmce_save_vcpu_ctxt, NULL,
                           vmce_load_vcpu_ctxt, 1, HVMSR_PER_VCPU);
 #endif
 
--- a/xen/arch/x86/emul-i8254.c
+++ b/xen/arch/x86/emul-i8254.c
@@ -458,7 +458,7 @@ static int cf_check pit_load(struct doma
     return rc;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, pit_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, NULL, pit_load, 1, HVMSR_PER_DOM);
 #endif
 
 /* The intercept action for PIT DM retval: 0--not handled; 1--handled. */
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -692,7 +692,7 @@ static int cf_check hpet_load(struct dom
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(HPET, hpet_save, hpet_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(HPET, hpet_save, NULL, hpet_load, 1, HVMSR_PER_DOM);
 
 static void hpet_set(HPETState *h)
 {
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -793,7 +793,7 @@ static int cf_check hvm_load_tsc_adjust(
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(TSC_ADJUST, hvm_save_tsc_adjust,
+HVM_REGISTER_SAVE_RESTORE(TSC_ADJUST, hvm_save_tsc_adjust, NULL,
                           hvm_load_tsc_adjust, 1, HVMSR_PER_VCPU);
 
 static int cf_check hvm_save_cpu_ctxt(struct vcpu *v, hvm_domain_context_t *h)
@@ -1189,7 +1189,7 @@ static int cf_check hvm_load_cpu_ctxt(st
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(CPU, hvm_save_cpu_ctxt, hvm_load_cpu_ctxt, 1,
+HVM_REGISTER_SAVE_RESTORE(CPU, hvm_save_cpu_ctxt, NULL, hvm_load_cpu_ctxt, 1,
                           HVMSR_PER_VCPU);
 
 #define HVM_CPU_XSAVE_SIZE(xcr0) (offsetof(struct hvm_hw_cpu_xsave, \
@@ -1538,6 +1538,7 @@ static int __init cf_check hvm_register_
     hvm_register_savevm(CPU_XSAVE_CODE,
                         "CPU_XSAVE",
                         hvm_save_cpu_xsave_states,
+                        NULL,
                         hvm_load_cpu_xsave_states,
                         HVM_CPU_XSAVE_SIZE(xfeature_mask) +
                             sizeof(struct hvm_save_descriptor),
@@ -1546,6 +1547,7 @@ static int __init cf_check hvm_register_
     hvm_register_savevm(CPU_MSR_CODE,
                         "CPU_MSR",
                         hvm_save_cpu_msrs,
+                        NULL,
                         hvm_load_cpu_msrs,
                         HVM_CPU_MSR_SIZE(ARRAY_SIZE(msrs_to_send)) +
                             sizeof(struct hvm_save_descriptor),
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -784,9 +784,9 @@ static int cf_check irq_load_link(struct
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PCI_IRQ, irq_save_pci, irq_load_pci,
+HVM_REGISTER_SAVE_RESTORE(PCI_IRQ, irq_save_pci, NULL, irq_load_pci,
                           1, HVMSR_PER_DOM);
-HVM_REGISTER_SAVE_RESTORE(ISA_IRQ, irq_save_isa, irq_load_isa,
+HVM_REGISTER_SAVE_RESTORE(ISA_IRQ, irq_save_isa, NULL, irq_load_isa,
                           1, HVMSR_PER_DOM);
-HVM_REGISTER_SAVE_RESTORE(PCI_LINK, irq_save_link, irq_load_link,
+HVM_REGISTER_SAVE_RESTORE(PCI_LINK, irq_save_link, NULL, irq_load_link,
                           1, HVMSR_PER_DOM);
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -773,7 +773,7 @@ static int cf_check hvm_load_mtrr_msr(st
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(MTRR, hvm_save_mtrr_msr, hvm_load_mtrr_msr, 1,
+HVM_REGISTER_SAVE_RESTORE(MTRR, hvm_save_mtrr_msr, NULL, hvm_load_mtrr_msr, 1,
                           HVMSR_PER_VCPU);
 
 void memory_type_changed(struct domain *d)
--- a/xen/arch/x86/hvm/pmtimer.c
+++ b/xen/arch/x86/hvm/pmtimer.c
@@ -300,7 +300,7 @@ static int cf_check acpi_load(struct dom
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PMTIMER, acpi_save, acpi_load,
+HVM_REGISTER_SAVE_RESTORE(PMTIMER, acpi_save, NULL, acpi_load,
                           1, HVMSR_PER_DOM);
 
 int pmtimer_change_ioport(struct domain *d, uint64_t version)
--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -797,7 +797,7 @@ static int cf_check rtc_load(struct doma
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(RTC, rtc_save, rtc_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(RTC, rtc_save, NULL, rtc_load, 1, HVMSR_PER_DOM);
 
 void rtc_reset(struct domain *d)
 {
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -631,7 +631,8 @@ static int cf_check ioapic_load(struct d
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(IOAPIC, ioapic_save, ioapic_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(IOAPIC, ioapic_save, NULL, ioapic_load, 1,
+                          HVMSR_PER_DOM);
 
 void vioapic_reset(struct domain *d)
 {
--- a/xen/arch/x86/hvm/viridian/viridian.c
+++ b/xen/arch/x86/hvm/viridian/viridian.c
@@ -1145,7 +1145,7 @@ static int cf_check viridian_load_domain
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(VIRIDIAN_DOMAIN, viridian_save_domain_ctxt,
+HVM_REGISTER_SAVE_RESTORE(VIRIDIAN_DOMAIN, viridian_save_domain_ctxt, NULL,
                           viridian_load_domain_ctxt, 1, HVMSR_PER_DOM);
 
 static int cf_check viridian_save_vcpu_ctxt(
@@ -1188,7 +1188,7 @@ static int cf_check viridian_load_vcpu_c
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(VIRIDIAN_VCPU, viridian_save_vcpu_ctxt,
+HVM_REGISTER_SAVE_RESTORE(VIRIDIAN_VCPU, viridian_save_vcpu_ctxt, NULL,
                           viridian_load_vcpu_ctxt, 1, HVMSR_PER_VCPU);
 
 static int __init cf_check parse_viridian_version(const char *arg)
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1591,9 +1591,9 @@ static int cf_check lapic_load_regs(stru
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(LAPIC, lapic_save_hidden,
+HVM_REGISTER_SAVE_RESTORE(LAPIC, lapic_save_hidden, NULL,
                           lapic_load_hidden, 1, HVMSR_PER_VCPU);
-HVM_REGISTER_SAVE_RESTORE(LAPIC_REGS, lapic_save_regs,
+HVM_REGISTER_SAVE_RESTORE(LAPIC_REGS, lapic_save_regs, NULL,
                           lapic_load_regs, 1, HVMSR_PER_VCPU);
 
 int vlapic_init(struct vcpu *v)
--- a/xen/arch/x86/hvm/vpic.c
+++ b/xen/arch/x86/hvm/vpic.c
@@ -449,7 +449,7 @@ static int cf_check vpic_load(struct dom
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PIC, vpic_save, vpic_load, 2, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(PIC, vpic_save, NULL, vpic_load, 2, HVMSR_PER_DOM);
 
 void vpic_reset(struct domain *d)
 {
--- a/xen/arch/x86/include/asm/hvm/save.h
+++ b/xen/arch/x86/include/asm/hvm/save.h
@@ -113,6 +113,7 @@ typedef int (*hvm_load_handler) (struct
 void hvm_register_savevm(uint16_t typecode,
                          const char *name, 
                          hvm_save_handler save_state,
+                         hvm_check_handler check_state,
                          hvm_load_handler load_state,
                          size_t size, int kind);
 
@@ -122,12 +123,13 @@ void hvm_register_savevm(uint16_t typeco
 
 /* Syntactic sugar around that function: specify the max number of
  * saves, and this calculates the size of buffer needed */
-#define HVM_REGISTER_SAVE_RESTORE(_x, _save, _load, _num, _k)             \
+#define HVM_REGISTER_SAVE_RESTORE(_x, _save, check, _load, _num, _k)      \
 static int __init cf_check __hvm_register_##_x##_save_and_restore(void)   \
 {                                                                         \
     hvm_register_savevm(HVM_SAVE_CODE(_x),                                \
                         #_x,                                              \
                         &_save,                                           \
+                        check,                                            \
                         &_load,                                           \
                         (_num) * (HVM_SAVE_LENGTH(_x)                     \
                                   + sizeof (struct hvm_save_descriptor)), \
--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -88,6 +88,7 @@ static struct {
 void __init hvm_register_savevm(uint16_t typecode,
                                 const char *name,
                                 hvm_save_handler save_state,
+                                hvm_check_handler check_state,
                                 hvm_load_handler load_state,
                                 size_t size, int kind)
 {
@@ -96,6 +97,7 @@ void __init hvm_register_savevm(uint16_t
     ASSERT(hvm_sr_handlers[typecode].check == NULL);
     ASSERT(hvm_sr_handlers[typecode].load == NULL);
     hvm_sr_handlers[typecode].save = save_state;
+    hvm_sr_handlers[typecode].check = check_state;
     hvm_sr_handlers[typecode].load = load_state;
     hvm_sr_handlers[typecode].name = name;
     hvm_sr_handlers[typecode].size = size;



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:47:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:47:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634236.989640 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cig-0005SQ-7t; Thu, 16 Nov 2023 13:47:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634236.989640; Thu, 16 Nov 2023 13: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 1r3cig-0005SJ-4k; Thu, 16 Nov 2023 13:47:46 +0000
Received: by outflank-mailman (input) for mailman id 634236;
 Thu, 16 Nov 2023 13:47: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3cie-0003dG-EJ
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:47:44 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062c.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6f67cc8-8486-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:47:42 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7181.eurprd04.prod.outlook.com (2603:10a6:800:12a::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.7; Thu, 16 Nov
 2023 13:47:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:47: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: b6f67cc8-8486-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dkH7Qef6wZuvUH5Z/H+VX7O2ES6Wapzdx9D1Ki2hR3wD5xZ5uUlI55mqMewxYAzF4EziuORLdA+tAVwkuhxbsSb8lNsKsPTBKSNVff89SsO61+TMPa+bkRjASt+haLB8AKuLNcs5Q/Syx6zT/Vgk239/RaH5AI67YUeoCXhR6V8nw6ViqCtN6xKJJ4AL8kfhkimuHpol2eO4mt9E/WVtTS4+WqJyo643Ld3S2Dd/H/3HNYizUwHJJnelpjkYSwTtYilYh6vJdqZrbxtehZ4J76psAbpnpuXW9BqwzZLvbuskI8kpA2jkb17LUieJ3vqhuzY2kZj+rBOjmjv8bNPXpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VFoksZlHmjUHcpacPzoQIHgByDW8pTeI436EQErY+x8=;
 b=I2UwZ7ojL9hWVeVkbyeCZGB5JAv1ghskKnIu4Mw2YaAj/HZ7Z+mgIQSmTRa9JsHPn7eDS8jd65toNo3cZ9AU5aUHPY/gSSPwrdm/GA+0mm3gxfWC01G5SGNPPTH4r3c+Aj0yMLpHVxno7boPNrPiQ9wXuYZS1+ssHLH9ptJbi2VfgrGs7/DS5N3x7R3NdF3GI0ut2nD+rDtSxNonfIddml+tKJDYC/0FPcrPBuK0wN1FBCVzgSs1i4XUvxdFiQWwcz6LApgoG8yZ7DgVe32NMUrS/DE908et7+qOx2Ov/IrRgEbHxVf1l8gvi6/zTVkyD9tBtO1UzMD59DDp5jdrXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VFoksZlHmjUHcpacPzoQIHgByDW8pTeI436EQErY+x8=;
 b=iyX3xRRkhYaqiJ4lMOHmoCTzpgmkCee7L10fUDtu3WSRhvAff6stRAh+3Oz3jWuF+ePY0+KdMXusyjyK3OMhlW8s2iSBoLN+4JsWoZAsiOdfiDpqrZE3t9WUl63TSxk4A5Yl+PPITTMH1KUHME+bfutPGGIFI1h6v4UUIyVMPFMUaPrVZqV7J8tkiBeWIeRh6TRMiWoBekj80YOZnVRwC4tMHpJLoi3acFnT7Ygu8z2cxxXG9wVHaNzKa5svXyaw4jxLKzXI8V1+NWe6ol+lWTun5JJYEGG+gmw9BGJEyBDmkyKQwKv7oug/XXtuPU022DaRxnX2uZin5BWp9v9YyQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <584f566f-a0c9-49b5-b592-89ac4f1ecd05@suse.com>
Date: Thu, 16 Nov 2023 14:47:39 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 4/5] x86/vPIT: check values loaded from state save record
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: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7181:EE_
X-MS-Office365-Filtering-Correlation-Id: 97ded0cd-c276-4366-97a1-08dbe6aa9a25
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yet2sjyEsyIQNpVZ0tinFxYlZaLLfG8BRPThH8G5O5aSeVa/RzzgR9wO+55vUjhz9exBkjV2jJN+/fgXrL1LoKRY0jxQJTJcCiPcZELvy/l/zzRb8kr19NXbs4PfT6MjGpNUNP0LC6B3uUVp4QorsQCTaX4HiXUcQdLZ52J578qeHBsVpEQj24UE87LKo1VduD1VP7liFNyd0mRVeFfWwWiWez4dbAXz7CPbF/RoAEwb7IIfyVJm2sdKDUbuTkzsrQHa9SmNeLgIGr84GBcCSvxjWcdhzfJaBvhVK6aSsmjeNKETO01fRtmtA962izR57Z9Eu/zW+5Ll9/uV+tMVAymkwnShP+9KY8VYKdgZL33AR+oRSYE6V5a+fimc9gu5ybnrvogW4tKrR9a+rG9G8SaoeGPeypDW1XlA2SkkC3JHGPF9QBNhHkolBuMPnujIGUDaZxwcgoi33bPTlUcCMFGxvg5grZLCjnmDTmaXkAK0QdAU0FcfW6G4gT/oToO9rXrO2tkKIO2NzUqMmdWGqPKB1Mp+GFCkclNxTwecIJ2UAO2nZwup+v/ujoWhTOqTBOTNOrJ0XVjWX5sE06iOxZcFQsoHYMuLLKx55BbpQjRHI8Te4TNnVoJD+kSVh7LbNY8BSlIUQLcqEIGpWH8TAw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(136003)(366004)(346002)(396003)(230922051799003)(64100799003)(1800799009)(186009)(451199024)(31696002)(36756003)(86362001)(8676002)(2906002)(8936002)(4326008)(5660300002)(66476007)(66556008)(54906003)(316002)(66946007)(6916009)(478600001)(6486002)(38100700002)(31686004)(6506007)(26005)(2616005)(41300700001)(83380400001)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?djAxWWpVSnkxd1ZBUlZzcXF2YjRYRDZqeGlKcmRaVTlRYVZtb0xTR1BGNFJl?=
 =?utf-8?B?RDM2UWVJbDZ0MUFqS3dUN1ZmQkVQR05Kdmt5RmYzbDJScXhtNnFlZzFOQmI0?=
 =?utf-8?B?TzF6blBDR1BuOUZNajhmOGsxUHQ0ZFFBWEcxc2p4cUtkbDJmL2QrNEdsOXVK?=
 =?utf-8?B?VzEwemtEUUlqNXRMd2lySFBvaDZEZWRBUkNLeTZUdFZZdVJhWkhqa0hTZGVj?=
 =?utf-8?B?OG1RT1Q0UnRhWUFHN1dydDFjSzlOVGFOY0Q1TzZkQlZOQTloaE9YMTVvTyt1?=
 =?utf-8?B?a2xYS29KZDZIaTVzQ3REbFB2VHJKbG8xdTkwaDRnTVlRTldBSnUxL25ZdmtW?=
 =?utf-8?B?RzJHZUJmZzR4dE8yb0VpOHkyVGZ0SDVSZFRCMWV2aGIxVjlJMkI0NTZweHA0?=
 =?utf-8?B?OWhHeEIyc3kwUnVIeFBINS90MlRQWFhINWk3aTZKRWtGK081MC9uUFhDMDAr?=
 =?utf-8?B?elhaWGFDY1RRZFNpMitCcmdIbGdlbVJ0SmNWdjY3NVhDYzlQQjJxZC9qeFpt?=
 =?utf-8?B?Z2cya1J6NUd6YTFoQWU2NFUvVENrQXR3alRFOGJwb04wMStKSTk0U1lXNk9a?=
 =?utf-8?B?MXZleXJEWEdIVEFNUEFZb1FXK2FBOFBrZU9qY0I2RmNFdDA2Yktvbk8rY3FV?=
 =?utf-8?B?QlRieEJWOWU1WU1SRTM0YVZVeHVXTnVqQnptKy9FS0RibGJiaEVFaCt4aVB5?=
 =?utf-8?B?WUhkMHUvOGtMcEdSQmt3bzVJVW1JVG5YWktzSVpHSXBzNVdWVFFXMTJuYk91?=
 =?utf-8?B?NnYvUW5mYmUyMy9Yc0dqbFdFbHBWTm1VMnY1NkdJUG1ENkpNMWp4VWRyRjNE?=
 =?utf-8?B?QmlFZlRyM3ZGVlZNNWllRXJxUzRnbi85blRXV1lpVTJqR1I0cnAzZUd0UWw4?=
 =?utf-8?B?cE9DOExUcGNwdm1jeXBQV3ZiVW00dnBDampiVkJzY203RkJma0ZWWUFkcjZh?=
 =?utf-8?B?TUpCN09BWW9nbTdFeUVlczM5dnlZaE5YaiszVERNYUNaNVV1VVJqM1lCQ0hX?=
 =?utf-8?B?K2VyUkVwSEFyTkoweVk1NW5DNkFBUEZOZDE1cEZibHJjUTBNYXB5UEpMeU5y?=
 =?utf-8?B?MEJtOHFEbjJFR0FuNDRWQitPMXZkNEZ0WmdLVEhKdUwzK3BVbW5QOEFNTUlB?=
 =?utf-8?B?Qy96L25LNVdjT0hpd2pJTVZMZDZTUEViN3VtWUFNTFhCSkdtdTMyUUFjbnlP?=
 =?utf-8?B?NERDM2VjWllSdzF4WEdkOVcrZFRnSkxycnFpQ3dJcG80RmNrV2xYTlo3cWd3?=
 =?utf-8?B?VXFhS2JXd3NQbitxV2dIZmthREZoTStnazRURElzcXNWeG9YbWswNCtkMUFl?=
 =?utf-8?B?Sm4rUFcrc3A5ZGQyNXZTYzAyMTc0SU8wMENyMFpkOG5qM1ZPTmZaRHVHUG9Z?=
 =?utf-8?B?clMzVERhcGl2OVF3QXhJUFhvSGFKa2xZanVBM3N4TUdUQUQ0TlIyd3VMaUs4?=
 =?utf-8?B?Y0NFR1BBaHcyT3lTNW5DNkpTM2NLdGpRTFhRZ0ZRYjA1RVQ0Vm9SNjRyQ1ZE?=
 =?utf-8?B?WXFPMkFkcHB1dkROYk40K0xhM0ttSXFxOXBZVXVLTS9PVXNKTlJMSDNnTWl2?=
 =?utf-8?B?MVlBRmhKaE9YR1pOQUV4TXlDcW03VEI2ODgzYWh3REVORmkrYllaVWZ2T2dx?=
 =?utf-8?B?N0d4dkNSMVRRS0VqMzY1b3h2NWQwMHM5T2RSL3hlYTBNZVE3NkE3RFZKR2ZX?=
 =?utf-8?B?T21yU0Q0ZExPSlpnZXAwSE81ZWdJRDNoWUVYSnVDRVFYdGYxSDBvbnljb0hX?=
 =?utf-8?B?TUZDUUl2SWpzbTRLbGVhT2FzK0tZczFnOUsvMVhWa2kwRERKcU9jeVJWbnZ5?=
 =?utf-8?B?Nm1JaVAxNFpNOXp2NmJqdExTclFzTmVUNVhRMkM2UVhTM3FxN1E4L3BrZEVU?=
 =?utf-8?B?alVtQzNYSFdTc1pBM3c0UGEyUUc2WTFpZElMNHZDUlNrL0kyWWhnOVRVSkFQ?=
 =?utf-8?B?UnFESjVtTHJUaUliVVBMNXZBWEdGMENBbmlrUzBqVjdVUHdLZUxJdHhLV2sx?=
 =?utf-8?B?OElseSsyTFFRV3JtaGVzd0M3M1hOSzFqOStXTEtRS2Q0S1gzMHpndXlucEFz?=
 =?utf-8?B?anQ2QjVWamkzMERYbVZEaVZVU2VzMUkzVVkrZlF3Z012NXN6UVdETFJoSWtz?=
 =?utf-8?Q?17GsIN6PiimoeQLM/Haqiiy4A?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 97ded0cd-c276-4366-97a1-08dbe6aa9a25
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:47:40.9218
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yVafaRlbeitlIjNt+2eThCm0qhnm81BZKTSryPaVR6gaIgf1tzqpd3PJCWdEFSR1xOrrlpqd/DjBLs00div52w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7181

In particular pit_latch_status() and speaker_ioport_read() perform
calculations which assume in-bounds values. Several of the state save
record fields can hold wider ranges, though. Refuse to load values which
cannot result from normal operation, except mode, the init state of
which (see also below) cannot otherwise be reached.

Note that ->gate should only be possible to be zero for channel 2;
enforce that as well.

Adjust pit_reset()'s writing of ->mode as well, to not unduly affect
the value pit_latch_status() may calculate. The chosen mode of 7 is
still one which cannot be established by writing the control word. Note
that with or without this adjustment effectively all switch() statements
using mode as the control expression aren't quite right when the PIT is
still in that init state; there is an apparent assumption that before
these can sensibly be invoked, the guest would init the PIT (i.e. in
particular set the mode).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
For mode we could refuse to load values in the [0x08,0xfe] range; I'm
not certain that's going to be overly helpful.

For count I was considering to clip the saved value to 16 bits (i.e. to
convert the internally used 0x10000 back to the architectural 0x0000),
but pit_save() doesn't easily lend itself to such a "fixup". If desired
perhaps better a separate change anyway.
---
v2: Introduce separate checking function; switch to refusing to load
    bogus values. Re-base.

--- a/xen/arch/x86/emul-i8254.c
+++ b/xen/arch/x86/emul-i8254.c
@@ -47,6 +47,7 @@
 #define RW_STATE_MSB 2
 #define RW_STATE_WORD0 3
 #define RW_STATE_WORD1 4
+#define RW_STATE_NUM 5
 
 #define get_guest_time(v) \
    (is_hvm_vcpu(v) ? hvm_get_guest_time(v) : (u64)get_s_time())
@@ -427,6 +428,47 @@ static int cf_check pit_save(struct vcpu
     return rc;
 }
 
+static int cf_check pit_check(const struct domain *d, hvm_domain_context_t *h)
+{
+    const struct hvm_hw_pit *hw;
+    unsigned int i;
+
+    if ( !has_vpit(d) )
+        return -ENODEV;
+
+    hw = hvm_point_entry(PIT, h);
+    if ( !hw )
+        return -ENODATA;
+
+    /*
+     * Check to-be-loaded values are within valid range, for them to represent
+     * actually reachable state.  Uses of some of the values elsewhere assume
+     * this is the case.  Note that the channels' mode fields aren't checked;
+     * older Xen might save them as 0xff.
+     */
+    if ( hw->speaker_data_on > 1 || hw->pad0 )
+        return -EDOM;
+
+    for ( i = 0; i < ARRAY_SIZE(hw->channels); ++i )
+    {
+        const struct hvm_hw_pit_channel *ch = &hw->channels[i];
+
+        if ( ch->count > 0x10000 ||
+             ch->count_latched >= RW_STATE_NUM ||
+             ch->read_state >= RW_STATE_NUM ||
+             ch->write_state >= RW_STATE_NUM ||
+             ch->rw_mode > RW_STATE_WORD0 ||
+             ch->gate > 1 ||
+             ch->bcd > 1 )
+            return -EDOM;
+
+        if ( i != 2 && !ch->gate )
+            return -EINVAL;
+    }
+
+    return 0;
+}
+
 static int cf_check pit_load(struct domain *d, hvm_domain_context_t *h)
 {
     PITState *pit = domain_vpit(d);
@@ -443,6 +485,14 @@ static int cf_check pit_load(struct doma
         goto out;
     }
     
+    for ( i = 0; i < ARRAY_SIZE(pit->hw.channels); ++i )
+    {
+        struct hvm_hw_pit_channel *ch = &pit->hw.channels[i];
+
+        if ( (ch->mode &= 7) > 5 )
+            ch->mode -= 4;
+    }
+
     /*
      * Recreate platform timers from hardware state.  There will be some 
      * time jitter here, but the wall-clock will have jumped massively, so 
@@ -458,7 +508,7 @@ static int cf_check pit_load(struct doma
     return rc;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, NULL, pit_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, pit_check, pit_load, 1, HVMSR_PER_DOM);
 #endif
 
 /* The intercept action for PIT DM retval: 0--not handled; 1--handled. */
@@ -575,7 +625,7 @@ void pit_reset(struct domain *d)
     for ( i = 0; i < 3; i++ )
     {
         s = &pit->hw.channels[i];
-        s->mode = 0xff; /* the init mode */
+        s->mode = 7; /* the init mode */
         s->gate = (i != 2);
         pit_load_count(pit, i, 0);
     }



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:48:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:48:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634240.989650 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cj5-0006Eb-MB; Thu, 16 Nov 2023 13:48:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634240.989650; Thu, 16 Nov 2023 13:48: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 1r3cj5-0006EQ-JP; Thu, 16 Nov 2023 13:48:11 +0000
Received: by outflank-mailman (input) for mailman id 634240;
 Thu, 16 Nov 2023 13:48: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3cj4-0003dG-Jr
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:48:10 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20619.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c68b3322-8486-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:48:09 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9443.eurprd04.prod.outlook.com (2603:10a6:10:35b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.17; Thu, 16 Nov
 2023 13:48:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 13:48: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: c68b3322-8486-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jkBTUVfpTRISbuIuUJoH31KBkXyTRnzgUA4Zi8K/KE0uYAF9PDH7I0VQYV6mUb22xPp9DTSA60pBZx3mnLBBFRVmi9JkEWqvyjKqHVQLRKYJxVGshJku5nKNLWTXXHFrDAfBs+HtEYc64ypSEc5emWgwnwJBWRtwpDzmf3sXSZeiQ2M9Ut1099VKNKcnjrh7UmT3ingOjFMOGAXCpVU5m2quhEP0lpwo8kRnu2slhX4uCXiOUBzx/59C+vKV90Y/SMVjti9QdJ5F9ZPRU/GNZhqC3OHpkCVw51a78N41EOHlvKFP7fn3QCUaAPDQuMs69dW26WvVtYP8tJOerB0Vjg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bqohVIbaW1GFFTMipf5Ri+LEksZYdjyITV1mQl/ILng=;
 b=YUkj1lnk5ZOi0gmRVrP2GgKm0XxHrYmEHjsP30EEPWPrOyl1lGVA281XA0tI3odWkvGtQRNODRY2SejVLgyhnFzFMmkgz9dX5P6VLn8bzPLuuKxo/68z5I4/m/0pwr4Wjy+NT+d+m517MwZ4fJOA0LlEIwYb2S+1O4Vu0UDkMD68LMxusgJQcxx1t2dzMHluESDhFLxuSU+mB90BmvZr+PmJs5wNfZlEkXGDKpN5ign5Ru0VyNwzuBwADV0pZTUtG2CVa+PdfQdpHiBlozHH5YZNRvYXBoxdyU/6vXu4ockts6reCHw6KKfN4tkhZYeVys4DySLciF7BSFC5pjx50A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bqohVIbaW1GFFTMipf5Ri+LEksZYdjyITV1mQl/ILng=;
 b=cG6Pat/5x8/3vo2xLiXp9eES4245OLJNP5oX1yUqXTG9ohZFYxfHi68veYmDNjBTAZjDHU1RHtFlE1lbPw8L7B1LASdGx0SmvD+1pXijfcWkSLkw5cG8/beS+MxmCe9AWHxf61MxC6Ol2cLL2yj5eMBjuvgJD5lIt6COcnzFwiZuq0JZWkMx/B9P5gRBqYi8cMIwwz8nQqryPWBmWrd7S1BhlLdtL8HdWU+cQlS0FmdtSVaW6GtnT5AjUCXM0iNx+6QX7/cCGZAPO8zL2TuNL5zp7Ocvz1WQG0ku18UOjH9d/mBHOTr34z62+37vK5mfol+DbLgkUFUcXRY6xR5JNQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <976532e6-9514-4a46-8ca1-edf66f22659b@suse.com>
Date: Thu, 16 Nov 2023 14:48:05 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 5/5] x86/vPIC: check values loaded from state save record
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: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9443:EE_
X-MS-Office365-Filtering-Correlation-Id: 22841434-97af-4b03-00d4-08dbe6aaa941
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bMlNPW734KhZ90doakKgfjLrH2A0Q3G/o5kULoHNAiUxOV9SAVeY0ssYwiOijxjOlZvMWe0IXqZRw87hOtla5m9lVr4DBajfXd8144EmCQu6lLMpVtVdoepxUjfIJSF/+yeDyvbWP7k7kvxXU4RRJGcpvEURnsdkZdcYQaLm6ows4JPCCxvj7jvwIkK2wQ6pK4xqp93I8w2jIKZlBka1GeyshqfdFeMwqX+j9mxqzHdUquXLZVBJwp29lvMhTuEYtqrcteuf4sX0D5Th9pYxqmFCIhKpcp+eaKlrRabPAGoUkdCHBbpcxheApRzJ16XO08ZCLKVFWcqKmxDO/Pe54gxs4zjGPLAjrLpv653QYa0eXKWPXMzSqrocA+EI+xVMFUAFRaRIultXAT4r8xGwGo/imN6t3jkFengPa0qSQPUxx+csLrUEOoNqMkZM32yemqJI2nFJ8pxfdRKhQLBBW4RC13nAZmC2lmQIIzi0ZuyqtYWFz6INpnQNXoksD5GbuEZz1hYZ77EAybFa8Q5J925jzPEC8RyO4AwApz8PBBVGI75vHm3wHz3ATpqyKs7ixQ9g7otwrRifpRsJcJmZuyyuEsCOUaMpoiNCCTdQi2reiowTsAQ4kE2MuPAe99mhDekb2OxJOECy9Ixztaiwbw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(376002)(39860400002)(136003)(346002)(230922051799003)(186009)(64100799003)(1800799009)(451199024)(316002)(8676002)(66946007)(8936002)(6486002)(66556008)(54906003)(66476007)(38100700002)(6506007)(478600001)(26005)(5660300002)(83380400001)(4326008)(6512007)(6916009)(2616005)(31696002)(36756003)(41300700001)(2906002)(86362001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dnhGYVZlQ3BYVHNNWEgyalorcWlXTlIrMS8xeUtraG9ZSk9zUjVoZEtQZUFW?=
 =?utf-8?B?Q0VTc2I1S05rb2NBeE5keW85S3JHSVpjU3NUVGN2UytxK2hESUJKWjc4dEp2?=
 =?utf-8?B?bGkzTmJ5U09MYnZ0ajFKUUx4TDRqbjBnT0dJa0RtL0ZHVzNRZ1hqbnNNOWNL?=
 =?utf-8?B?aGwyN2RZL2JudWFTYmxpRnZXQTF5SDVCZjhITXNMUTUyRm54TWw1Zy8yUEdV?=
 =?utf-8?B?REEwUmNoREt0UWZQUDRvMktZTGptRzAvdTdENDQ4WGlwZDl6SzRjRGhpL0hy?=
 =?utf-8?B?SjBxYlNka3E3OGcrbUFGRWZDaXVEam94b0tUSS95UzNSdGcwNGpYTFBPa1Vs?=
 =?utf-8?B?dnpES0tUVmxVYktwN2pDcjFZV2h0NnRCS1hLbWpKdlVUdk5mVVR0bEFCdk9T?=
 =?utf-8?B?TWJUU3I1dWdSM1R1UWUzMndveWxpMFdzcmJDbXQzb2IyaEx6TG1SQkxaaGRv?=
 =?utf-8?B?Y1g3YXp2OTZ3aVc3d05mSDA5SUx4andBRDBZR1hCRHIrOTREOU95OHkxRDV0?=
 =?utf-8?B?d2ZoMkFzY2VaK09sMXp2SG00MU91RnVzbDhRUE9vbUlnUFdKbVlwVEpsamNG?=
 =?utf-8?B?b1hUSHNBVXY4YW4xaFI0eFBpYmRaaTNqeHFLLzBZWmxSSmEvY3IzU1J1SDdT?=
 =?utf-8?B?c0Ntb2MzeUJCcU9nTjRwUmJmYkhGbGJlbHRmME51dFhMM1pHai93YWZTS0Mw?=
 =?utf-8?B?eHJmdnI1VDdYRko5S0dKZkRQdzlpUVRNbmZQL1Iwa2RWQW54THlQRmpGbS9k?=
 =?utf-8?B?enM2eUlJVGFuTW16ZmVjSmM3SDdwYW1KeWhtWmEyZXJheXpBUDFBZzRWT2Yz?=
 =?utf-8?B?aisrcmlCa1I5bkZEbDZLcy81Qk83S3JwM0d4NUs0VUd3dFE2M0xIK1FSY3pF?=
 =?utf-8?B?ZTU3NW93aUZBdXkzQU13N1JDMHowRE8zdER6Q01SMGN5YVplTzJlTHZHd3Ja?=
 =?utf-8?B?dTl2QUxVdFNTbkhMdnRaQ0QzdnBTMjV1cCsyWXNvdnZzbzlUNXFJSlpoR0x4?=
 =?utf-8?B?VU5JR2FZcU9WQUVPSTFDTmRsOUo1SGlmRkdBc0F5WDh0VWVjUmhzVTZtNTRo?=
 =?utf-8?B?OWpzOEdmbUxkd3JESXhHRmRJLythSFZLTDVwUXZvUXA4dFlIdTUxWnFtdUNV?=
 =?utf-8?B?SmMwVlJBcEJWYk9iSVBCVEJ4WHdDTm9JSlBPZlk5TUxmN013djBCQzZMa1k4?=
 =?utf-8?B?dXFORUREc214dTBRa0IySkRWdmIvNU43V3FzSnppenkycVkzREtOaTRDSkZh?=
 =?utf-8?B?Y0xCRmlzdmdrZnh5bFEzM3FiWFpJeU5CNVE5VE5tOUpUQXc2eTJjNFhhbkpH?=
 =?utf-8?B?WjZwZk4wV0doUE1yMldRQStEZUIvaDIwME12eU5pSFpSSnNic1ZZLytVZGdD?=
 =?utf-8?B?OVhROExSa0JDelhmMmFqZ29LTEorUEtxWWtlWkFydmFRLzJvVU4xOTRKdkZj?=
 =?utf-8?B?RG1UUXlNQkh1NTJiQWpYcWVtam16SDR3QUJtQlE3NVI4ZmQrUXhpd3dNcWpP?=
 =?utf-8?B?TlBtMDBsNVZzcVdDZ0xGeUhmNXpRdEZmdS9IWjVEVno0UVlyQkd3SElNOFNp?=
 =?utf-8?B?aGlhUVl2R1RZVjg1ZWdjckRYcll1dHZ5Y0lhc2M3U2Rqd0swSlhQdEJwZnhL?=
 =?utf-8?B?c2djRCthMDkwMmtLSjBvcGpTYlJNV3BOWE9yeDhSL09aUnlkSlZhRmFhRlh1?=
 =?utf-8?B?RmJicGJWN2xuNFFHSzJ6VGJ2SGlESmR0NUJ1YlhacnlrOXFqSUlkUTBITFFR?=
 =?utf-8?B?TWk2NzAxMEloQTd1M01PNWpLeVliQ1BDWGg3NFprd3BJR2VDdXFaWWo2dVpq?=
 =?utf-8?B?V2FNZ3Y3MVE3ZUJFc25EV0dHaDgxQWozNWlZdXQyOXZ4SThXSzg5N0k5ZjNF?=
 =?utf-8?B?bWs4bEVib1N6WTdaaHYyd0tnZCtJWm5vbWtERkMzSDFNc3N5Y1NzSmliTVA3?=
 =?utf-8?B?aVFXRitXWXk1OGRZSUxkN1lsWjFOMGlXU2UvV1JGRjNVUHF6aG1Nc3ZSMWZM?=
 =?utf-8?B?UFNnQmdQeTJ3VHlSVDhrT0NlOEN0R2ttSXFnd0ViRGdpcTVSaWx0dUJzaFF4?=
 =?utf-8?B?ZUh1aFIzaTFXRTF2cUNIeWV0MVJPSlJkK0Z4b2U1YmVOOU9hK1NORWVxaEpn?=
 =?utf-8?Q?krxCA2SLcbxCwg7pZhc5h1Mme?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 22841434-97af-4b03-00d4-08dbe6aaa941
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 13:48:06.2568
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KDddFW0K5sSwq200kGt9Re+w/qHBJQObuUPLHfeiXYxHto/TRkX41nNFVZRTRrrYkytFl1H8eotUYY9UDwty3w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9443

Loading is_master from the state save record can lead to out-of-bounds
accesses via at least the two container_of() uses by vpic_domain() and
__vpic_lock(). Make sure the value is consistent with the instance being
loaded.

For ->int_output (which for whatever reason isn't a 1-bit bitfield),
besides bounds checking also take ->init_state into account.

For ELCR follow what vpic_intercept_elcr_io()'s write path and
vpic_reset() do, i.e. don't insist on the internal view of the value to
be saved. Adjust vpic_elcr_mask() to allow using it easily for the new
case, but still also especially in the 2nd of the uses by
vpic_intercept_elcr_io()).

Move the instance range check as well, leaving just an assertion in the
load handler.

While there also correct vpic_domain() itself, to use its parameter in
both places.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: Introduce separate checking function; switch to refusing to load
    bogus values. Re-base.

--- a/xen/arch/x86/hvm/vpic.c
+++ b/xen/arch/x86/hvm/vpic.c
@@ -35,13 +35,13 @@
 #include <asm/hvm/save.h>
 
 #define vpic_domain(v) (container_of((v), struct domain, \
-                        arch.hvm.vpic[!vpic->is_master]))
+                                     arch.hvm.vpic[!(v)->is_master]))
 #define __vpic_lock(v) &container_of((v), struct hvm_domain, \
                                         vpic[!(v)->is_master])->irq_lock
 #define vpic_lock(v)   spin_lock(__vpic_lock(v))
 #define vpic_unlock(v) spin_unlock(__vpic_lock(v))
 #define vpic_is_locked(v) spin_is_locked(__vpic_lock(v))
-#define vpic_elcr_mask(v) ((v)->is_master ? 0xf8 : 0xde)
+#define vpic_elcr_mask(v, mb2) ((v)->is_master ? 0xf8 | ((mb2) << 2) : 0xde)
 
 /* Return the highest priority found in mask. Return 8 if none. */
 #define VPIC_PRIO_NONE 8
@@ -387,7 +387,7 @@ static int cf_check vpic_intercept_elcr_
         if ( dir == IOREQ_WRITE )
         {
             /* Some IRs are always edge trig. Slave IR is always level trig. */
-            data = (*val >> shift) & vpic_elcr_mask(vpic);
+            data = (*val >> shift) & vpic_elcr_mask(vpic, 1);
             if ( vpic->is_master )
                 data |= 1 << 2;
             vpic->elcr = data;
@@ -395,7 +395,7 @@ static int cf_check vpic_intercept_elcr_
         else
         {
             /* Reader should not see hardcoded level-triggered slave IR. */
-            data = vpic->elcr & vpic_elcr_mask(vpic);
+            data = vpic->elcr & vpic_elcr_mask(vpic, 0);
             if ( !shift )
                 *val = data;
             else
@@ -429,6 +429,38 @@ static int cf_check vpic_save(struct vcp
     return 0;
 }
 
+static int cf_check vpic_check(const struct domain *d, hvm_domain_context_t *h)
+{
+    unsigned int inst = hvm_load_instance(h);
+    const struct hvm_hw_vpic *s;
+
+    if ( !has_vpic(d) )
+        return -ENODEV;
+
+    /* Which PIC is this? */
+    if ( inst >= ARRAY_SIZE(d->arch.hvm.vpic) )
+        return -ENOENT;
+
+    s = hvm_point_entry(PIC, h);
+    if ( !s )
+        return -ENODATA;
+
+    /*
+     * Check to-be-loaded values are within valid range, for them to represent
+     * actually reachable state.  Uses of some of the values elsewhere assume
+     * this is the case.
+     */
+    if ( s->int_output > 1 )
+        return -EDOM;
+
+    if ( s->is_master != !inst ||
+         (s->int_output && s->init_state) ||
+         (s->elcr & ~vpic_elcr_mask(s, 1)) )
+        return -EINVAL;
+
+    return 0;
+}
+
 static int cf_check vpic_load(struct domain *d, hvm_domain_context_t *h)
 {
     struct hvm_hw_vpic *s;
@@ -438,18 +470,21 @@ static int cf_check vpic_load(struct dom
         return -ENODEV;
 
     /* Which PIC is this? */
-    if ( inst > 1 )
-        return -ENOENT;
+    ASSERT(inst < ARRAY_SIZE(d->arch.hvm.vpic));
     s = &d->arch.hvm.vpic[inst];
 
     /* Load the state */
     if ( hvm_load_entry(PIC, h, s) != 0 )
         return -EINVAL;
 
+    if ( s->is_master )
+        s->elcr |= 1 << 2;
+
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PIC, vpic_save, NULL, vpic_load, 2, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(PIC, vpic_save, vpic_check, vpic_load, 2,
+                          HVMSR_PER_DOM);
 
 void vpic_reset(struct domain *d)
 {



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 13:54:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 13:54:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634248.989660 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cpO-0000jR-D9; Thu, 16 Nov 2023 13:54:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634248.989660; Thu, 16 Nov 2023 13: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 1r3cpO-0000jK-8n; Thu, 16 Nov 2023 13:54:42 +0000
Received: by outflank-mailman (input) for mailman id 634248;
 Thu, 16 Nov 2023 13:54: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3cpN-0000jE-Jn
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 13:54:41 +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 af5671b6-8487-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 14:54:39 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40a4848c6e1so5967315e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 05:54:39 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 j33-20020a05600c1c2100b0040772934b12sm3811491wms.7.2023.11.16.05.54.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 05:54:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af5671b6-8487-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700142879; x=1700747679; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=xKTzq8QmL5nph3FhIC9HZWC8JtqB3D3C6ffHzchqmkk=;
        b=blilvhxjyuNViquqR5rMeWZibLGuQjMPGfhhfOxW8REa0imRS/MyFTT+taL1iI+iwX
         JGVrJPD3L/7xLQ278ciJ241v+h7b/O9igf8e9TT7FE+TDYL1nePcdc9KW/k2ifMVlIAS
         b3GgjTHqeItz8ndRZe47aa6OWqyYpXvHnFMr8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700142879; x=1700747679;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xKTzq8QmL5nph3FhIC9HZWC8JtqB3D3C6ffHzchqmkk=;
        b=CSmbAkqauRKakD6e1VXOchjc8WoNklhCJaHj+CKoSu3Tn8Cq0VS14XSeZEw1jw6fmW
         SJ+pWYtdKlo21q545Qu3K1U/9llBoCm6F3df6AZ9DSw8nB8fQFXibmbU2gXyoy6w0vG2
         ENdRD/BN+LpLEj4yBJlqP4W9CF27CV3MDQwLeq4gS83kDNwwCPym8OzHpQbtiasUhXFZ
         8Wg8isrBHh5IceFbPy/Gu1SCD+DaaSdaEkOxqNx9Y/7jFqMtK5A2XEmTGWoMyED8IUOY
         1qnYsb2qiuiyISFip8t8SBH6iRCvjHQOaTzqxxg7C01c2qZw7RenI982ehKrP6+SxAJQ
         bD4g==
X-Gm-Message-State: AOJu0YydY+b3o0g3v2z/cby5t50dAwXmHqTIHK8+1EqIefW4r0SVLj5O
	SEhPmntRn61kYdyNXhVkIxQxkg==
X-Google-Smtp-Source: AGHT+IH77B3Q+Kp9bzF8wZ5XOWEF2gQpbnxwyOu5e+1DXEzi/bJLN24ADA+Cuum3N8y4/S4aHQbH2g==
X-Received: by 2002:a05:600c:3596:b0:408:4160:1528 with SMTP id p22-20020a05600c359600b0040841601528mr12847381wmq.30.1700142878772;
        Thu, 16 Nov 2023 05:54:38 -0800 (PST)
Date: Thu, 16 Nov 2023 14:54:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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
Subject: Re: [PATCH] livepatch: do not use .livepatch.funcs section to store
 internal state
Message-ID: <ZVYfHQD1AEmNVY3h@macbook.local>
References: <20231116115841.71847-1-roger.pau@citrix.com>
 <d6634601-5006-475c-b386-97a1e53c5279@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <d6634601-5006-475c-b386-97a1e53c5279@suse.com>

On Thu, Nov 16, 2023 at 01:39:27PM +0100, Jan Beulich wrote:
> On 16.11.2023 12:58, Roger Pau Monne wrote:
> > --- a/xen/include/public/sysctl.h
> > +++ b/xen/include/public/sysctl.h
> > @@ -991,10 +991,7 @@ struct livepatch_func {
> >      uint32_t new_size;
> >      uint32_t old_size;
> >      uint8_t version;        /* MUST be LIVEPATCH_PAYLOAD_VERSION. */
> > -    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
> > -    uint8_t applied;
> > -    uint8_t patch_offset;
> > -    uint8_t _pad[6];
> > +    uint8_t _pad[39];
> 
> Should this be LIVEPATCH_OPAQUE_SIZE+8 and ...

Hm, I'm not sure that's any clearer.  In fact I think
LIVEPATCH_OPAQUE_SIZE shouldn't have leaked into sysctl.h in the first
place.

If we later want to add more fields and bump the version, isn't it
easier to have the padding size clearly specified as a number?

> 
> > --- a/xen/include/xen/livepatch.h
> > +++ b/xen/include/xen/livepatch.h
> > @@ -13,6 +13,9 @@ struct xen_sysctl_livepatch_op;
> >  
> >  #include <xen/elfstructs.h>
> >  #include <xen/errno.h> /* For -ENOSYS or -EOVERFLOW */
> > +
> > +#include <public/sysctl.h> /* For LIVEPATCH_OPAQUE_SIZE */
> > +
> >  #ifdef CONFIG_LIVEPATCH
> >  
> >  /*
> > @@ -51,6 +54,12 @@ struct livepatch_symbol {
> >      bool_t new_symbol;
> >  };
> >  
> > +struct livepatch_fstate {
> > +    unsigned int patch_offset;
> > +    enum livepatch_func_state applied;
> > +    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
> 
> ... this use a separate, new (and internal only) constant? Thus also
> elimiating the need to include public/sysctl.h above?

The size of the buffer here is tied to the buffer size in
livepatch_expectation data field, so if using a different size
internally we would still need to ensure that the internal size is >=
LIVEPATCH_OPAQUE_SIZE, not sure there's much benefit in it.

In any case, I would suggest to do this in a followup patch, the
content in this patch is IMO enough.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:00:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:00:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634254.989669 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3cuy-0004MJ-V4; Thu, 16 Nov 2023 14:00:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634254.989669; Thu, 16 Nov 2023 14:00: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 1r3cuy-0004MC-Sb; Thu, 16 Nov 2023 14:00:28 +0000
Received: by outflank-mailman (input) for mailman id 634254;
 Thu, 16 Nov 2023 14:00:27 +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 1r3cux-0004M6-Qs
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:00:27 +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 1r3cuv-0006bg-4q; Thu, 16 Nov 2023 14:00:25 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[10.95.133.161]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3cuu-0001cZ-V1; Thu, 16 Nov 2023 14:00: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:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=A6miHsw0opItqgAV11USOyMB+3Jx+buaP0HvesB2xiU=; b=ZtbeYa5PJcSzTa7so+hcwKLUHh
	rhHH8dz7MvDLyAACEaEHAtj99+27GP1nCoa4FMJfehufFyz18aT/Mn4aAl/51fNe3z7hofwUDh5Vn
	mA4bZpepahLdRtIZWCphP5JlfdNiKhI5c5bTLQX5nx96/iTtMy2m3BANcq31gt60w/KE=;
Message-ID: <569a0499-e6ce-4568-adae-650a51d223df@xen.org>
Date: Thu, 16 Nov 2023 14:00:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/arm: Skip memory nodes if not enabled
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Leo Yan <leo.yan@linaro.org>, Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20231013120442.1267488-1-leo.yan@linaro.org>
 <20231106021742.GA90848@leoy-huanghe.lan>
 <191b5aa4-182f-4b2e-8430-e605de592890@xen.org>
 <20231106103212.GE90848@leoy-huanghe.lan>
 <d4196b09-427d-458f-87f4-7e7126bf6f39@xen.org>
In-Reply-To: <d4196b09-427d-458f-87f4-7e7126bf6f39@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit


Hi,

On 06/11/2023 11:31, Julien Grall wrote:
> On 06/11/2023 10:32, Leo Yan wrote:
>> Hi Julien,
>>
>> On Mon, Nov 06, 2023 at 09:52:45AM +0000, Julien Grall wrote:
>>
>> [...]
>>
>>>> Gentle ping.
>>>>
>>>> I don't see this patch is landed in Xen master or staging branch, 
>>>> should
>>>> anything I need to follow up?
>>>
>>> The tree has been frozen for the past few weeks for any patches that 
>>> are not
>>> meant for 4.18. We branched for 4.18 last week so staging is now in
>>> soft-reopening until 4.18 is released.
>>
>> Thank you for the info.
>>
>>> I am aware of few patches that are ready to be merged. But I haven't yet
>>> gone through all of them and merge to 4.19. It will probably be done 
>>> once
>>> 4.18 is released.
>>
>> Sure, good to know this.  I will wait a bit and just let me know if
>> I need to follow up anything.
> 
> Please ping me in ~ 2 weeks time if your patch is still not merged.
> 
> @Stefano, did you add this patch in your for-next branch?

It is now committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:05:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:05:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634257.989679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3czq-0005G9-Il; Thu, 16 Nov 2023 14:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634257.989679; Thu, 16 Nov 2023 14:05: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 1r3czq-0005G2-Fv; Thu, 16 Nov 2023 14:05:30 +0000
Received: by outflank-mailman (input) for mailman id 634257;
 Thu, 16 Nov 2023 14:05: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3czo-0005Fw-N5
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:05:28 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31010b01-8489-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 15:05:26 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GV1PR04MB9102.eurprd04.prod.outlook.com (2603:10a6:150:21::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Thu, 16 Nov
 2023 14:05:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 14: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: 31010b01-8489-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oWkrDQRG7FoVChN03BgYnBxiAfoPPeVRKvhy1gl9Sl1HR4BYyPd8Z7KrJfwYluc1xIatf6DIs52oCFVtAJM9Oz2wSjpZQnMnlge+eclnTsSpBSPqz8wo1ULe3Sq6bi0139MRQTvuEf90Nrkpb4BjHOMLENPk1eBxyA95JBACPJ2C8QMWJ9Wo1rUm3e6wcUIBlNGnlOO7nZyiEu76TnriuFfkEEVhkoYXT3TsxiSpbCr8SGKCbdFylB0Z/ZkMNV85oOgJvc/AH1l1NW5YcyhAsC0iKV0JnCzerBFlyGfV6TA6LDTfmeSAuTXTF+d/zuQ6a0xchmBhEijGcPF/0OpApQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QkdsCKI4qP6vqJtLhRogv5kDL8rgwy9kycoa4MIX0ZE=;
 b=k2RevJRqmqIQ+Iyn59tWgite+kTyE1B8icmsObRyX3FrYUULBukPZuRoAZhx/47fYn9PQStWeXVtGKoehkGQqt7mxLCZEjOH5hgg7J79iwd6NN3++UXFM188d8ptl2HROEbxoCjeAUpws2+/zUjtYgvXjvHRFMKe3saHJ8QBSXCYjvPtZXJFKDz/+Jbxv2dNiLv5PnyJYlCGV4Hq1x9FiQ9R/T3KFkuPEeJOB+491lSkif+9xzVgqP5yjW2XTvpJFr1dnJCawNEuPWwYI7BHld83lIK4m01qhVWlNfleVHPtKkv36Su+V5bSu6haoSNY/jmLgkgIbmB5Y/I+e8Jn/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=QkdsCKI4qP6vqJtLhRogv5kDL8rgwy9kycoa4MIX0ZE=;
 b=kdeev1Xon4Qvf98PAsqFNb+SOk+3h1KsHQpxk8rkxLNaN443rwOm7Km2/M5E54zhF6rmOV73sBUDlO91UFd4gtyl/37gjQ0P9aJmxF5z4iYzE4qpFge2omCBKfQ25SVP4DHKeFQNYpWotWQZogtxHRBBJyGPS0iSUcnUv5rw+/R5zI0FF7hlZSkx/9rEXgO/5eDbT46zPmkI8WFamNcD/QLrV+F4FBRA2Vu0QSb6aLjTGru/LjbNR7+dpNxbIrkqggpk35rT0FdJPjpRDQkj4KTjc/ElD8G79wK11wVYWVyE5PMfkATe7ey8utR35C8rEErLR1pU9rsVlouNNfwxNA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <54cbcb8b-c895-47fe-ba66-5fb06505e00a@suse.com>
Date: Thu, 16 Nov 2023 15:05:20 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] livepatch: do not use .livepatch.funcs section to store
 internal state
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <20231116115841.71847-1-roger.pau@citrix.com>
 <d6634601-5006-475c-b386-97a1e53c5279@suse.com>
 <ZVYfHQD1AEmNVY3h@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVYfHQD1AEmNVY3h@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0169.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9102:EE_
X-MS-Office365-Filtering-Correlation-Id: 39ed0004-e559-4d12-e1b2-08dbe6ad13ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	djLm4fQ8xhB+14AsesYbUjyv4pp9iuoql/qQ8fOv+sQM+OdB4vWp2r7IwTDzW6i/JoIp5GL+tsOAZgRkRjhRkCFmlMRkUDjI6R/J0dNiSraWoqnqyT9T8qvl8piWaio0M2kfOb5+27YLBYWncPOoCOxuO6wWbmilunmJTvCt4RB/otv7MGJPmQt82oETTZfqn3771qLDQC149+ezwIBKxBvqpuv+t1IcrsCUBa7wg2hbTUwxlWYfUGjj4YlecdcAUg18yMQNDpD0PNzf5fjWDOwPmeus+Ld9AjeScIlXqN8WFNUFD2h+ewTYP7V8VqnKZK2MEbRZPzDkpeYUQW2zW1C2Na2ihCDJg1uKAQKzAfR5dW8c5SWy7Kp6wY56Pce3jslnIKbmLf0Yy6tL3GirG2u0GDh1ZCHFQYhp8sBAsGbKiTr2q2krV3twkVJ1LJjN1UTAQOcxDLncUdNbrtpKLHyPgU75/1BEZnQhJ80mgoQ50BJ3ui6ZNTFgvhgXc5ftR2Eh6ChbTCWq0k0qkJLMeik0ShkkoCG8NoHHsfAfTPIU6rMzEV5wGqJMFnm7QIugJ3NXnJLdbkiamDXKP+3eSQ8Smbk8CCnUkuUjQ+UszjUKR6gMgBJr8KyEM/Zb6aq5zVXuCBMsBUoY/BM0sk9q7ikbq6hsC3jdqVnc3o4zO/PKm8lz0zKB1TKmZI9TqMGW
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(39860400002)(136003)(376002)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(31686004)(66556008)(66476007)(54906003)(6916009)(38100700002)(36756003)(66946007)(86362001)(31696002)(6512007)(83380400001)(2616005)(53546011)(6506007)(2906002)(26005)(316002)(478600001)(8676002)(6486002)(5660300002)(4326008)(8936002)(41300700001)(7416002)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZldjY0p5T2h2TnRRVmpLMEtlYmxLS2xWNlJIdmQzRFRIV3BDSFo1ZEdEY2o0?=
 =?utf-8?B?TlpSdDg5WFBPc0FMVG50cmxwc3JVM256aDBXdGI0aHlKQit6cnc5clRsQ2Vx?=
 =?utf-8?B?SkNlRnN6MXZDQkp2L1JNbXhzM0tCeXdOZWdvTFpHWVY2eGlGZXJKbjRRRGJU?=
 =?utf-8?B?eDRNSFY2WC9jYWJRLzlRUnViUjZEYjRoR0lxYjAzV1N2TnRyRlcvWWNIK3Ay?=
 =?utf-8?B?c3hFekFhbnNKS1hIL2xTMGhDbG9sNitXSmYrTFVFUlRVdzJhcHhmT0I1UmdS?=
 =?utf-8?B?OGh3ZlBuVHczZTNkRjZURVowL3N2bU5zWmMyWWlWQkc4LzdvMDZVUjB4RlhG?=
 =?utf-8?B?THNXZGc4dlNmVCs2T1hiMmNiRFFhcVZrendJUFhpSW9laTVCWUk5SFV5RTE1?=
 =?utf-8?B?d2JNcHRsekI2YkpnOGxWZnhCbTd5QTlCSnd3N25KWGJBRnNHWFRHendsRW1I?=
 =?utf-8?B?T3orK2N4TitmcytmNk5YbHRlNmNVOE9MNWo0RklrZnE3d05DTnh0Q3ZpU29s?=
 =?utf-8?B?TDh1ejVFT0RJM0RJUW90a1hGaHFvTzNlS2VtS1JjZEJ6L0RjTHJRVUVPMXNm?=
 =?utf-8?B?cmZoR2dJQWZqdzR0aHZZRGJvR3BORm42TkdRdWhiOVhvV041Y1JMd0pwK1RI?=
 =?utf-8?B?L2pOMEJxeDlENWtUckoyaVMvVUQ4VjltV1lEeUNIdGRtczNDeU53ZWszcUpr?=
 =?utf-8?B?RlVYN1gxWmltMHVPUEk4ZU9ZeHZsT0tXK1krUFNEVUNKRytVeGMzaVdjZG1i?=
 =?utf-8?B?U21OV2RRNndVUFNQWTRpcWt3cWZ2cWRmN0lhNDhzQzNYdWJxeUdUVDFhWGda?=
 =?utf-8?B?VW9taVhqQXAxcDQ1VlIrTkQvdlhRamVPMDlwUVA2cEZaZ2RBQlQ3ME9jSElF?=
 =?utf-8?B?MU5ZeUthUGM0L2hEODE3NlVpNHFtSVBTaFpHVWVwMHE2VnJGMVVVamVzYklI?=
 =?utf-8?B?U3BISXlKSDRLOW1GSFdZV0NEYnpPdXBQRGNzaGJVNjZycWlha3JnNnR5Sy9D?=
 =?utf-8?B?b1N1MHJ2dnFIQXVESHVJcVRORnlpNnNSbHY2QTcxSXo3cVRaUGxsQlk0Mm5r?=
 =?utf-8?B?cUpPM0ZzakFJVjN6UFVRV0lYamNIdDcwZ2MrbFFIMzhSbVNsMXJzNTNZUUhw?=
 =?utf-8?B?S3ZTZ0VpcmxsZHpGNFNMZHNxcE8rbWNZS2J0QVpObHNOU3hyanlmeG13Nll1?=
 =?utf-8?B?bHVaUnF2SGEwL0ZEclErZXcvaTMzdXFlVHQvZkV6Yk5wcFhNRDJ1SGRmWlVs?=
 =?utf-8?B?OHcrb2k0N3pibzVpZURERzBBTUJxMExuNGlGUlk0ODBndmF5ODY5WFVIMjJX?=
 =?utf-8?B?OWZST3A5eDhKZVgzV3hxQTM1N296R1FJeFJUWlFsWi9mUHRQWGdSSkF3Vm43?=
 =?utf-8?B?a0ljVHVxY1VYTWxSZ05JVFRqcGIwSVpTNGNrdGQzb1FMMGVwY083TUpsSjhp?=
 =?utf-8?B?eGJFYUkvTUtyTjFuTU12ZmFqVWVzS2NPbzNTaXZqaDUzclljemMyNTJKUWR1?=
 =?utf-8?B?VzNBamsxaDVscGkveERIYXJZSkdpRE1XNHI3T1lxc0d6M2owRnd1WHBUMUli?=
 =?utf-8?B?ME1COUhVaGpSd3d3OGJydi9qWVRBNWVxRFI2NDBkMDJpdUpLYmI5aG5VeTdU?=
 =?utf-8?B?QUNaOG92eVNtQ1hwT1VPS2lNS3hrQ1dNWFByMUVPQkVuZGpGazR1Mk1PQ0ZC?=
 =?utf-8?B?NXFjWDBjRHpLQWRYU0Q2eDRzaFVXdjNvbXhXWGNOWnRoRGtHSWNCRkJIVUhl?=
 =?utf-8?B?b0ZNc3JVeFBQODBXNVhpZzl3YnowK2YreHRVRmhFS2hRYmUvTG03dGJQcUFk?=
 =?utf-8?B?TUZUVFBEZnJSanZ0QjhRN3NPUjRoZS9CWVBpcnlGaUFudjlPVlRlRUNxNG0v?=
 =?utf-8?B?eWsvV1JwcExQK3dSa2d0dWJqa3VqMTR3T1JUZjMwYmFVZy92bHRCOVA0VUJk?=
 =?utf-8?B?cGNCRTMwM1cra2g1amdSREd0OXdHZ0hDUDdMTUlWSXR0SmpQc0VwRjU0Ymoz?=
 =?utf-8?B?K0FubUZzUEx6cnBIeU9wam9FbDVJNS8xSlV5NlErQ2dFODZMa1Y1VnFpNGUy?=
 =?utf-8?B?amJ5Qko1ZFBQczRyTnNzVUxydXZtZklWbHV6YjhLZERtVytlaGptOVpkRUtZ?=
 =?utf-8?Q?jAN8hkS/uUyzwQrP4N68hNzW/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39ed0004-e559-4d12-e1b2-08dbe6ad13ac
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 14:05:23.8004
 (UTC)
X-MS-Exchange-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+5xh5lGMMQARAsm93jNRmEVcuv+CQ6JCHJ4uvN9647ChqK5QMaaD6aEusk4I0O1/vyV0xmWVT3enoXLdph3aw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9102

On 16.11.2023 14:54, Roger Pau Monné wrote:
> On Thu, Nov 16, 2023 at 01:39:27PM +0100, Jan Beulich wrote:
>> On 16.11.2023 12:58, Roger Pau Monne wrote:
>>> --- a/xen/include/public/sysctl.h
>>> +++ b/xen/include/public/sysctl.h
>>> @@ -991,10 +991,7 @@ struct livepatch_func {
>>>      uint32_t new_size;
>>>      uint32_t old_size;
>>>      uint8_t version;        /* MUST be LIVEPATCH_PAYLOAD_VERSION. */
>>> -    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
>>> -    uint8_t applied;
>>> -    uint8_t patch_offset;
>>> -    uint8_t _pad[6];
>>> +    uint8_t _pad[39];
>>
>> Should this be LIVEPATCH_OPAQUE_SIZE+8 and ...
> 
> Hm, I'm not sure that's any clearer.  In fact I think
> LIVEPATCH_OPAQUE_SIZE shouldn't have leaked into sysctl.h in the first
> place.
> 
> If we later want to add more fields and bump the version, isn't it
> easier to have the padding size clearly specified as a number?

If new fields (beyond the present padding size) would need adding,
that would constitute an incompatible change anyway. Until then imo
it would be clearer to keep the reference to the original constant.
But thinking about it again, the difference is perhaps indeed only
marginal. Anyway, I'll leave this to the livepatch maintainers.

One further related remark though: Now that you pointed me at the
other use of the constant in the public header, don't you want to
update the comment there, for it to not become stale (in referring
to struct livepatch_func)?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:08:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:08:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634260.989689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3d21-00060r-3r; Thu, 16 Nov 2023 14:07:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634260.989689; Thu, 16 Nov 2023 14: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 1r3d21-00060k-1N; Thu, 16 Nov 2023 14:07:45 +0000
Received: by outflank-mailman (input) for mailman id 634260;
 Thu, 16 Nov 2023 14:07: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 1r3d20-0005zC-Ct
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:07:44 +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 1r3d20-0006ka-53; Thu, 16 Nov 2023 14:07:44 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[10.95.133.161]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3d1z-0001rF-VV; Thu, 16 Nov 2023 14:07: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=SX8Irm1FdenL9YqdGh46BjIleAFx3slt7CiP/oirLtE=; b=ii+s0TD6iuObBOu0FS/LrRO0Oc
	oiPXlpRTlidg4gloSsi6sTz9KrxS6CFnQISRCkuQf0E4N2FUnuEUoggbaB04IXofR7NjC0Jbpclcm
	bDHeX6DHkeMEh+cyC8B58xPNAIRqrNV83DqU4zmuwW9FYWk72Pd9F4TDVIj/sEkiD4OA=;
Message-ID: <8231d8ac-dd0c-42a7-b8cb-df1145c06a71@xen.org>
Date: Thu, 16 Nov 2023 14:07:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN v3] xen/arm32: head: Replace load_paddr with adr_l when they
 are equivalent
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com
References: <20231027180715.3484439-1-ayan.kumar.halder@amd.com>
 <fd9a1eb2-c62f-44ed-977a-e4fee498fe0c@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <fd9a1eb2-c62f-44ed-977a-e4fee498fe0c@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 30/10/2023 08:28, Michal Orzel wrote:
> Hi Ayan,
> 
> On 27/10/2023 20:07, Ayan Kumar Halder wrote:
>> Before the MMU is turned on, PC uses physical address. Thus, one can use adr_l
>> instead of load_paddr to obtain the physical address of a symbol.
>>
>> The only exception (for this replacement) is create_table_entry() which is
>> called before and after MMU is turned on.
>>
>> Also, in lookup_processor_type() "r10" is no longer used. The reason being
>> __lookup_processor_type uses adr_l (thus r10 is no longer used to obtain the
>> physical address offset). Consequently, there is no need to save/restore r10.
>>
>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>> ---
>> Refer https://lists.archive.carbon60.com/xen/devel/682900 for details.
>>
>> Changes from :-
>>
>> v1 :- 1. No need to modify create_table_entry().
>> 2. Remove "mov   r10, #0 " in lookup_processor_type().
>>
>> v2 :- 1. No need to save/restore r10 in lookup_processor_type().
>> 2. Update the commit message title.
>>
>>   xen/arch/arm/arm32/head.S | 19 ++++++++-----------
>>   1 file changed, 8 insertions(+), 11 deletions(-)
>>
>> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
>> index 33b038e7e0..1fcc6f745e 100644
>> --- a/xen/arch/arm/arm32/head.S
>> +++ b/xen/arch/arm/arm32/head.S
>> @@ -171,7 +171,7 @@ past_zImage:
>>   
>>           /* Using the DTB in the .dtb section? */
>>   .ifnes CONFIG_DTB_FILE,""
>> -        load_paddr r8, _sdtb
>> +        adr_l r8, _sdtb
>>   .endif
>>   
>>           /* Initialize the UART if earlyprintk has been enabled. */
>> @@ -213,7 +213,7 @@ GLOBAL(init_secondary)
>>           mrc   CP32(r1, MPIDR)
>>           bic   r7, r1, #(~MPIDR_HWID_MASK) /* Mask out flags to get CPU ID */
>>   
>> -        load_paddr r0, smp_up_cpu
>> +        adr_l r0, smp_up_cpu
>>           dsb
>>   2:      ldr   r1, [r0]
>>           cmp   r1, r7
>> @@ -479,7 +479,7 @@ create_page_tables:
>>            * create_table_entry_paddr() will clobber the register storing
>>            * the physical address of the table to point to.
>>            */
>> -        load_paddr r5, boot_third
>> +        adr_l r5, boot_third
>>           mov_w r4, XEN_VIRT_START
>>   .rept XEN_NR_ENTRIES(2)
>>           mov   r0, r5                        /* r0 := paddr(l3 table) */
>> @@ -578,7 +578,7 @@ enable_mmu:
>>           flush_xen_tlb_local r0
>>   
>>           /* Write Xen's PT's paddr into the HTTBR */
>> -        load_paddr r0, boot_pgtable
>> +        adr_l r0, boot_pgtable
>>           mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
>>           mcrr  CP64(r0, r1, HTTBR)
>>           isb
>> @@ -876,11 +876,10 @@ putn:   mov   pc, lr
>>   
>>   /* This provides a C-API version of __lookup_processor_type */
>>   ENTRY(lookup_processor_type)
>> -        stmfd sp!, {r4, r10, lr}
>> -        mov   r10, #0                   /* r10 := offset between virt&phys */
>> +        stmfd sp!, {r4, lr}
>>           bl    __lookup_processor_type
>>           mov r0, r1
>> -        ldmfd sp!, {r4, r10, pc}
>> +        ldmfd sp!, {r4, pc}
>>   
>>   /*
>>    *  Read processor ID register (CP#15, CR0), and Look up in the linker-built
>> @@ -888,8 +887,6 @@ ENTRY(lookup_processor_type)
>>    * the __proc_info lists since we aren't running with the MMU on (and therefore,
>>    * we are not in correct address space). We have to calculate the offset.
> In v2, I mentioned that this comment needs to be tweaked as well. We no longer use load_paddr
> thus we don't care about the offset. I would remove the comment starting from "Note that...".
> to avoid confusion or add a proper explanation if you want to keep it.
> With that addressed:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

I have committed with the following diff:

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 1fcc6f745e31..bbbdf7daf89e 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -882,10 +882,8 @@ ENTRY(lookup_processor_type)
          ldmfd sp!, {r4, pc}

  /*
- *  Read processor ID register (CP#15, CR0), and Look up in the 
linker-built
- * supported processor list. Note that we can't use the absolute 
addresses for
- * the __proc_info lists since we aren't running with the MMU on (and 
therefore,
- * we are not in correct address space). We have to calculate the offset.
+ * Read processor ID register (CP#15, CR0), and Look up in the linker-built
+ * supported processor list.
   *
   * Returns:
   * r0: CPUID

Note that I took the opportunity to remove the extra space on the first 
line of the comment.

> 
> ~Michal

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:10:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:10:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634271.989716 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3d4l-0000CT-Ss; Thu, 16 Nov 2023 14:10:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634271.989716; Thu, 16 Nov 2023 14: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 1r3d4l-0000CL-Pu; Thu, 16 Nov 2023 14:10:35 +0000
Received: by outflank-mailman (input) for mailman id 634271;
 Thu, 16 Nov 2023 14:10: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 1r3d4k-0000Ac-72
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:10: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 1r3d4k-0006mR-05; Thu, 16 Nov 2023 14:10:34 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[10.95.133.161]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3d4j-0001zk-Q9; Thu, 16 Nov 2023 14: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=utkPCizrFmf3Rt2x1YfPChNmMblBsJCwUI4rgkeQJnI=; b=fXB8kKPRBhEcuT04l7kO3m1i5X
	po7GdaEJ1F4/qQTG4hI3FCgXzDjxwjS+NWW13yfy+02rAyhHkmsfeWCLlXHmCfcvPP+BUjwyhk/rJ
	kcZWt2hUhFYE9XF3M8XmXSM+cpkTMTLha12Pkisu8wEHE7zHaY5EK+1mZ2Lnz7fB46/A=;
Message-ID: <9cdc4f5b-5004-4edd-8c64-ec69c91ed5fc@xen.org>
Date: Thu, 16 Nov 2023 14:10:32 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN v3] xen/arm32: head: Replace load_paddr with adr_l when they
 are equivalent
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Michal Orzel <michal.orzel@amd.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, bertrand.marquis@arm.com
References: <20231027180715.3484439-1-ayan.kumar.halder@amd.com>
 <fd9a1eb2-c62f-44ed-977a-e4fee498fe0c@amd.com>
 <8231d8ac-dd0c-42a7-b8cb-df1145c06a71@xen.org>
In-Reply-To: <8231d8ac-dd0c-42a7-b8cb-df1145c06a71@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 16/11/2023 14:07, Julien Grall wrote:
> On 30/10/2023 08:28, Michal Orzel wrote:
>> Hi Ayan,
>>
>> On 27/10/2023 20:07, Ayan Kumar Halder wrote:
>>> Before the MMU is turned on, PC uses physical address. Thus, one can 
>>> use adr_l
>>> instead of load_paddr to obtain the physical address of a symbol.
>>>
>>> The only exception (for this replacement) is create_table_entry() 
>>> which is
>>> called before and after MMU is turned on.
>>>
>>> Also, in lookup_processor_type() "r10" is no longer used. The reason 
>>> being
>>> __lookup_processor_type uses adr_l (thus r10 is no longer used to 
>>> obtain the
>>> physical address offset). Consequently, there is no need to 
>>> save/restore r10.
>>>
>>> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
>>> ---
>>> Refer https://lists.archive.carbon60.com/xen/devel/682900 for details.
>>>
>>> Changes from :-
>>>
>>> v1 :- 1. No need to modify create_table_entry().
>>> 2. Remove "mov   r10, #0 " in lookup_processor_type().
>>>
>>> v2 :- 1. No need to save/restore r10 in lookup_processor_type().
>>> 2. Update the commit message title.
>>>
>>>   xen/arch/arm/arm32/head.S | 19 ++++++++-----------
>>>   1 file changed, 8 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
>>> index 33b038e7e0..1fcc6f745e 100644
>>> --- a/xen/arch/arm/arm32/head.S
>>> +++ b/xen/arch/arm/arm32/head.S
>>> @@ -171,7 +171,7 @@ past_zImage:
>>>           /* Using the DTB in the .dtb section? */
>>>   .ifnes CONFIG_DTB_FILE,""
>>> -        load_paddr r8, _sdtb
>>> +        adr_l r8, _sdtb
>>>   .endif
>>>           /* Initialize the UART if earlyprintk has been enabled. */
>>> @@ -213,7 +213,7 @@ GLOBAL(init_secondary)
>>>           mrc   CP32(r1, MPIDR)
>>>           bic   r7, r1, #(~MPIDR_HWID_MASK) /* Mask out flags to get 
>>> CPU ID */
>>> -        load_paddr r0, smp_up_cpu
>>> +        adr_l r0, smp_up_cpu
>>>           dsb
>>>   2:      ldr   r1, [r0]
>>>           cmp   r1, r7
>>> @@ -479,7 +479,7 @@ create_page_tables:
>>>            * create_table_entry_paddr() will clobber the register 
>>> storing
>>>            * the physical address of the table to point to.
>>>            */
>>> -        load_paddr r5, boot_third
>>> +        adr_l r5, boot_third
>>>           mov_w r4, XEN_VIRT_START
>>>   .rept XEN_NR_ENTRIES(2)
>>>           mov   r0, r5                        /* r0 := paddr(l3 
>>> table) */
>>> @@ -578,7 +578,7 @@ enable_mmu:
>>>           flush_xen_tlb_local r0
>>>           /* Write Xen's PT's paddr into the HTTBR */
>>> -        load_paddr r0, boot_pgtable
>>> +        adr_l r0, boot_pgtable
>>>           mov   r1, #0                 /* r0:r1 is paddr 
>>> (boot_pagetable) */
>>>           mcrr  CP64(r0, r1, HTTBR)
>>>           isb
>>> @@ -876,11 +876,10 @@ putn:   mov   pc, lr
>>>   /* This provides a C-API version of __lookup_processor_type */
>>>   ENTRY(lookup_processor_type)
>>> -        stmfd sp!, {r4, r10, lr}
>>> -        mov   r10, #0                   /* r10 := offset between 
>>> virt&phys */
>>> +        stmfd sp!, {r4, lr}
>>>           bl    __lookup_processor_type
>>>           mov r0, r1
>>> -        ldmfd sp!, {r4, r10, pc}
>>> +        ldmfd sp!, {r4, pc}
>>>   /*
>>>    *  Read processor ID register (CP#15, CR0), and Look up in the 
>>> linker-built
>>> @@ -888,8 +887,6 @@ ENTRY(lookup_processor_type)
>>>    * the __proc_info lists since we aren't running with the MMU on 
>>> (and therefore,
>>>    * we are not in correct address space). We have to calculate the 
>>> offset.
>> In v2, I mentioned that this comment needs to be tweaked as well. We 
>> no longer use load_paddr
>> thus we don't care about the offset. I would remove the comment 
>> starting from "Note that...".
>> to avoid confusion or add a proper explanation if you want to keep it.
>> With that addressed:
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> I have committed with the following diff:
> 
> diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
> index 1fcc6f745e31..bbbdf7daf89e 100644
> --- a/xen/arch/arm/arm32/head.S
> +++ b/xen/arch/arm/arm32/head.S
> @@ -882,10 +882,8 @@ ENTRY(lookup_processor_type)
>           ldmfd sp!, {r4, pc}
> 
>   /*
> - *  Read processor ID register (CP#15, CR0), and Look up in the 
> linker-built
> - * supported processor list. Note that we can't use the absolute 
> addresses for
> - * the __proc_info lists since we aren't running with the MMU on (and 
> therefore,
> - * we are not in correct address space). We have to calculate the offset.
> + * Read processor ID register (CP#15, CR0), and Look up in the 
> linker-built
> + * supported processor list.
>    *
>    * Returns:
>    * r0: CPUID
> 
> Note that I took the opportunity to remove the extra space on the first 
> line of the comment.

Oh I didn't realize there was a v4 sent. Looking at it this was this 
only change. So I will not revert.

Sorry for that.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:21:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:21:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634296.989726 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3dFE-00049a-QG; Thu, 16 Nov 2023 14:21:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634296.989726; Thu, 16 Nov 2023 14:21: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 1r3dFE-00049T-Na; Thu, 16 Nov 2023 14:21:24 +0000
Received: by outflank-mailman (input) for mailman id 634296;
 Thu, 16 Nov 2023 14:21:22 +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 1r3dFC-000482-Qg
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:21:22 +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 1r3dFA-0006x4-Ls; Thu, 16 Nov 2023 14:21:20 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[10.95.133.161]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3dFA-0002Ph-ER; Thu, 16 Nov 2023 14:21: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=xkwDTNf3I3mRvmhIeuJUoD+rS+2D0VFcMremTXQULuw=; b=koa/KrD4+2JfzwLnkasX4s0w0m
	s9aHANZJCkITyph4VHIXn3AWMGYYa8oIjjm34VOMNWkOzybAGg8kjYg5/BgFAeaB5v4KCyiMaA/iz
	4Ln3wr6ng35P3FdlBj8QxA078urT0vR5Gqaz4ZLoSV2YyzsFSuGiSdd71neHMm1BVqrs=;
Message-ID: <81ec6ac0-8414-41d1-bfe3-ffa6c5750036@xen.org>
Date: Thu, 16 Nov 2023 14:21:18 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/2] xen/arm: Enlarge identity map space to 10TB
Content-Language: en-GB
To: Leo Yan <leo.yan@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Alexey Klimov <alexey.klimov@linaro.org>,
 Luca Fancellu <Luca.Fancellu@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Rahul Singh <Rahul.Singh@arm.com>, Henry Wang <Henry.Wang@arm.com>
References: <4B2BD200-5D3E-49D5-BF13-65B769AD4B90@arm.com>
 <CANgGJDqHu0CB=zzZqda18giLYDkL3My+gT592GLO-b9HsF2A4g@mail.gmail.com>
 <d3952200-9edb-4de0-94e3-c00c571a10b9@xen.org>
 <794B0D71-70A7-4546-98E0-EC01573E0D89@arm.com>
 <990b21a3-f8c7-4d02-a8ac-63d31794a76d@xen.org>
 <alpine.DEB.2.22.394.2310171258330.965337@ubuntu-linux-20-04-desktop>
 <4fc83e61-1e57-4f75-b017-7045842165e5@xen.org>
 <69be876f-4238-4041-a6ff-50f7f6487d5d@xen.org>
 <20231019093559.GA105208@leoy-huanghe.lan>
 <80a5c950-242b-467c-8764-8f06e19dc5d4@xen.org>
 <20231106094524.GD90848@leoy-huanghe.lan>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231106094524.GD90848@leoy-huanghe.lan>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Leo,

On 06/11/2023 09:45, Leo Yan wrote:
> Hi Julien,
> 
> On Mon, Nov 06, 2023 at 09:39:24AM +0000, Julien Grall wrote:
> 
> [...]
> 
>>> I would like to check if here is anything specific I should follow up
>>> on. Based on the discussion in this thread, I've come to the following
>>> conclusions:
>>>
>>> - Remove the fixes tags;
>>> - Add a description in commit log, something like:
>>>     "Since commit 1c78d76b67e1 ('xen/arm64: mm: Introduce helpers to
>>>      prepare/enable/disable the identity mapping'), Xen will fail to boot
>>>      up if it's loaded in memory above 2TB. This commit fixes the
>>>      regression introduced by that commit."
>>> - Add tages:
>>>     A review tag from Michal Orzel
>>>     A review tag from Bertrand Marquis
>>>     A test tag from Henry Wang
>>>
>>> Should I repin a new patch set to address the items mentioned above?
>>
>> You will also want to update the documentation after
>> "docs/arm: Document where Xen should be loaded in
>> memory"
> 
> Will do.
> 
>>> Another question is for the 'Release-acked-by' tag.  Henry gave this
>>> tag, but I don't know how to handle it if I need to respin this patch.
>>> Seems to me this is a special tag only for release process, so I don't
>>> need to include it in the new patch, right?
>>
>> The release-acked-by tag is only necessary during freeze period if the patch
>> will land in the next release (i.e. 4.18). In this case, your patch will be
>> part of the 4.19, so you can remove the release-acked-by.
> 
> Okay, I will _not_ include release-acked-by tag in the respin.

I have done the changes and directly committed the series. So no need to 
respin.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:29:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:29:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634300.989736 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3dNB-0000xw-Jz; Thu, 16 Nov 2023 14:29:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634300.989736; Thu, 16 Nov 2023 14:29: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 1r3dNB-0000xp-H8; Thu, 16 Nov 2023 14:29:37 +0000
Received: by outflank-mailman (input) for mailman id 634300;
 Thu, 16 Nov 2023 14:29: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=trnS=G5=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r3dN9-0000xh-CP
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:29:35 +0000
Received: from m202-219.mailgun.net (m202-219.mailgun.net [161.38.202.219])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 8f349dbb-848c-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 15:29:34 +0100 (CET)
Received: from mg.gitlab.com (31.226.74.34.bc.googleusercontent.com
 [34.74.226.31]) by
 36c4fc898266 with SMTP id 6556273d70e5ff906465b20d (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 16 Nov 2023 14:29:17 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 8f349dbb-848c-11ee-98db-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700144971; x=1700152171; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=kkm3C2ev3QAt0LV+mklREPC9QDL3m+8G7LEqAVwTuI0=;
 b=gpzZaMFA4MPwHkk4BWox5NKnJJlzzCGR4qtBuseIPFzWICP2sKV0wnwE/f+CKM45lmGIrirjsWpXaUFOJ0VBwlRKKHsbm3ZK6yFzYZEtnSCfIkfb9kTODwZ1yQed0DCQm63ki4k8IYOygu4+wqxIOQAL99uZvqR+D50U7KspuKE=
X-Mailgun-Sending-Ip: 161.38.202.219
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 16 Nov 2023 14:29:16 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6556273ce4a16_2c9b1b8132259@gitlab-sidekiq-catchall-v2-856c478599-c4p6x.mail>
Subject: xen | Failed pipeline for staging-4.18 | 3ddbddf1
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6556273cd7ea6_2c9b1b81321af";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1074767865
X-GitLab-Pipeline-Ref: staging-4.18
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6556273cd7ea6_2c9b1b81321af
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1074767865 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.18 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.18 )

Commit: 3ddbddf1 ( https://gitlab.com/xen-project/xen/-/commit/3ddbddf143fbd164c55e46c5a276f6606e5cc843 )
Commit Message: SUPPORT.md: Define support lifetime

Signed-off...
Commit Author: Julien Grall


Pipeline #1074767865 ( https://gitlab.com/xen-project/xen/-/pipelines/1074767865 ) triggered by Ganis ( https://gitlab.com/ganis )
had 4 failed jobs.

Job #5551343739 ( https://gitlab.com/xen-project/xen/-/jobs/5551343739/raw )

Stage: analyze
Name: eclair-ARM64
Job #5551344197 ( https://gitlab.com/xen-project/xen/-/jobs/5551344197/raw )

Stage: test
Name: qemu-smoke-dom0less-arm32-gcc-debug
Job #5551344228 ( https://gitlab.com/xen-project/xen/-/jobs/5551344228/raw )

Stage: test
Name: qemu-smoke-dom0less-arm32-gcc-without-dom0
Job #5551344149 ( https://gitlab.com/xen-project/xen/-/jobs/5551344149/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc-staticheap

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6556273cd7ea6_2c9b1b81321af
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging-4.18 | 3ddbddf1</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1074767865 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.18" style=3D"color: #333333; text-decoration: none;">
staging-4.18
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/3ddbddf143fbd164c5=
5e46c5a276f6606e5cc843" style=3D"color: #3777b0; text-decoration: none;">=

3ddbddf1
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
SUPPORT.md: Define support lifetime

Signed-off...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/51553d20dbeb50c199767049bd40c57b?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1074767865">#1074767865</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 4 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
analyze
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5551343739" style=3D=
"color: #3777b0; text-decoration: none;">
eclair-ARM64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5551344197" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm32-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5551344228" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm32-gcc-without-dom0
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5551344149" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc-staticheap
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6556273cd7ea6_2c9b1b81321af--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:48:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634369.989762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3dfh-0007lU-Jj; Thu, 16 Nov 2023 14:48:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634369.989762; Thu, 16 Nov 2023 14:48: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 1r3dfh-0007lN-GA; Thu, 16 Nov 2023 14:48:45 +0000
Received: by outflank-mailman (input) for mailman id 634369;
 Thu, 16 Nov 2023 14:48: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=flNc=G5=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3dfg-0007lD-K0
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:48:44 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d17169d-848f-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 15:48:43 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4084b0223ccso6698835e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 06:48:43 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 u5-20020a05600c138500b003fee6e170f9sm3936189wmf.45.2023.11.16.06.48.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 06:48:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d17169d-848f-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700146123; x=1700750923; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=S5uy/plvclR8VEj16tPSjDIsG2AepZj04SrdNCOZWM0=;
        b=vk5HW+cPGmTmMwc0JZASJZkDiFhW4Oh0YSOwHYOQpDO4QBGRV1Ho7TIgL3bW1oa202
         qk/52k7Rt3SbITEjzp/9I+HMOwW2B/J6K5J0LRIZarGkX707gIoH0izCA46HPB3u+k1v
         poasnCaA2IPFwiA8k3dIShvVljt/ixo/tK4oo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700146123; x=1700750923;
        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:subject:date:message-id:reply-to;
        bh=S5uy/plvclR8VEj16tPSjDIsG2AepZj04SrdNCOZWM0=;
        b=blDsD43Q8Eqgqt+Xsupdv2OAJ3SqRaN3h9OFMm5I1Cc9w+z4BbWlqY94zRUEuQr82R
         pxfGrpIyyLmvzB1rzixaswIJKL/W5mO00b1VB1ETrzRKPXRTfoWOqQt8xGDCjslpuYaT
         KjzB6iy2lcVE7Wp7/2SdRsmDp0glf4MZJbC/8ienxM0DlszZiL0rcw9UO/Ebl2SOSAjI
         mrsr05mjlSvYNkcnNNvToW7T40kygWJTZjYU5DxaVjEPBDZgFp5E4LqAzSkEAXj9MzHI
         5L4NsCS/6qkZYMqxHPmzCaP2AEQaVzWlITg/kQrC/W6a3Xkg1yA67Zq/ezIrbS73Tp4S
         U7wg==
X-Gm-Message-State: AOJu0YzmkX28gK3EZuF44gExsOJpkypc9rZYgoX+izwBpBpLFb8TsKzz
	YHDQ4/lrdTLh0z0TQPKr69YlDQ==
X-Google-Smtp-Source: AGHT+IHewOS0L7uoZJSjiZ/VAQETgVYz5o060dLqxncOEpucU4+GBtGv0hi2Z+w+l6yG74P8XpjPXw==
X-Received: by 2002:a05:600c:1d93:b0:406:3977:eccd with SMTP id p19-20020a05600c1d9300b004063977eccdmr12470231wms.33.1700146123114;
        Thu, 16 Nov 2023 06:48:43 -0800 (PST)
Date: Thu, 16 Nov 2023 15:48:41 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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
Subject: Re: [PATCH] livepatch: do not use .livepatch.funcs section to store
 internal state
Message-ID: <ZVYryZ0HrKNKVtKb@macbook.local>
References: <20231116115841.71847-1-roger.pau@citrix.com>
 <d6634601-5006-475c-b386-97a1e53c5279@suse.com>
 <ZVYfHQD1AEmNVY3h@macbook.local>
 <54cbcb8b-c895-47fe-ba66-5fb06505e00a@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <54cbcb8b-c895-47fe-ba66-5fb06505e00a@suse.com>

On Thu, Nov 16, 2023 at 03:05:20PM +0100, Jan Beulich wrote:
> On 16.11.2023 14:54, Roger Pau Monné wrote:
> > On Thu, Nov 16, 2023 at 01:39:27PM +0100, Jan Beulich wrote:
> >> On 16.11.2023 12:58, Roger Pau Monne wrote:
> >>> --- a/xen/include/public/sysctl.h
> >>> +++ b/xen/include/public/sysctl.h
> >>> @@ -991,10 +991,7 @@ struct livepatch_func {
> >>>      uint32_t new_size;
> >>>      uint32_t old_size;
> >>>      uint8_t version;        /* MUST be LIVEPATCH_PAYLOAD_VERSION. */
> >>> -    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
> >>> -    uint8_t applied;
> >>> -    uint8_t patch_offset;
> >>> -    uint8_t _pad[6];
> >>> +    uint8_t _pad[39];
> >>
> >> Should this be LIVEPATCH_OPAQUE_SIZE+8 and ...
> > 
> > Hm, I'm not sure that's any clearer.  In fact I think
> > LIVEPATCH_OPAQUE_SIZE shouldn't have leaked into sysctl.h in the first
> > place.
> > 
> > If we later want to add more fields and bump the version, isn't it
> > easier to have the padding size clearly specified as a number?
> 
> If new fields (beyond the present padding size) would need adding,
> that would constitute an incompatible change anyway.

Not if we bump the version field I think?

As the version is a strict match, bumping the version allows for a
completely new layout to be implemented past the 'version' field.

> Until then imo
> it would be clearer to keep the reference to the original constant.
> But thinking about it again, the difference is perhaps indeed only
> marginal. Anyway, I'll leave this to the livepatch maintainers.
> 
> One further related remark though: Now that you pointed me at the
> other use of the constant in the public header, don't you want to
> update the comment there, for it to not become stale (in referring
> to struct livepatch_func)?

Hm, yes, indeed.  I will wait for further comments before sending just
that comment fix.  I would add:

uint8_t data[LIVEPATCH_OPAQUE_SIZE]; /* Max number of bytes to be patched */

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:50:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:50:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634375.989771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3dhg-0001Ia-UP; Thu, 16 Nov 2023 14:50:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634375.989771; Thu, 16 Nov 2023 14:50: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 1r3dhg-0001IT-RX; Thu, 16 Nov 2023 14:50:48 +0000
Received: by outflank-mailman (input) for mailman id 634375;
 Thu, 16 Nov 2023 14:50: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=Xmdr=G5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3dhe-0001IN-VU
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:50:46 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 85982dd6-848f-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 15:50:45 +0100 (CET)
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 E021C1595;
 Thu, 16 Nov 2023 06:51:30 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 82D953F73F;
 Thu, 16 Nov 2023 06:50:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85982dd6-848f-11ee-98db-6d05b1d4d9a1
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>,
	Penny Zheng <penny.zheng@arm.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v9 0/8] xen/arm: Split MMU code as the prepration of MPU work
Date: Thu, 16 Nov 2023 22:50:24 +0800
Message-Id: <20231116145032.1651305-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Based on the discussion in the Xen Summit [1], sending this series out after
addressing the comments in v8 [2] as the preparation work to add MPU support.

Mostly code movement and function folding, with some of Kconfig and build
system (mainly Makefiles) adjustment.

This series is based on:
6cd046c501 xen/arm: Enlarge identity map space to 10TB

[1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
[2] https://lore.kernel.org/xen-devel/20231023021345.1731436-1-Henry.Wang@arm.com/

Henry Wang (6):
  xen/arm: Split page table related code to mmu/pt.c
  xen/arm: Split MMU system SMP MM bringup code to mmu/smpboot.c
  xen/arm: Fold mmu_init_secondary_cpu() to head.S
  xen/arm: Extract MMU-specific MM code
  xen/arm: Split MMU-specific setup_mm() and related code out
  xen/arm: Fold pmap and fixmap into MMU system

Penny Zheng (2):
  xen/arm: Rename init_secondary_pagetables() to prepare_secondary_mm()
  xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}

 xen/arch/arm/Kconfig               |    2 +-
 xen/arch/arm/Makefile              |    1 +
 xen/arch/arm/arm32/Makefile        |    1 +
 xen/arch/arm/arm32/head.S          |   22 +-
 xen/arch/arm/arm32/mmu/Makefile    |    1 +
 xen/arch/arm/arm32/mmu/mm.c        |  301 +++++
 xen/arch/arm/arm64/Makefile        |    1 -
 xen/arch/arm/arm64/mmu/Makefile    |    1 +
 xen/arch/arm/arm64/mmu/head.S      |   19 +-
 xen/arch/arm/arm64/{ => mmu}/mm.c  |   84 ++
 xen/arch/arm/domain.c              |   11 +-
 xen/arch/arm/include/asm/mm.h      |   32 +-
 xen/arch/arm/include/asm/mmu/mm.h  |   44 +
 xen/arch/arm/include/asm/mmu/p2m.h |   26 +
 xen/arch/arm/include/asm/p2m.h     |   32 +-
 xen/arch/arm/include/asm/page.h    |   15 -
 xen/arch/arm/include/asm/setup.h   |    5 +
 xen/arch/arm/kernel.c              |   28 -
 xen/arch/arm/mm.c                  | 1212 ------------------
 xen/arch/arm/mmu/Makefile          |    4 +
 xen/arch/arm/mmu/p2m.c             | 1834 ++++++++++++++++++++++++++
 xen/arch/arm/mmu/pt.c              |  736 +++++++++++
 xen/arch/arm/mmu/setup.c           |  376 ++++++
 xen/arch/arm/mmu/smpboot.c         |  124 ++
 xen/arch/arm/p2m.c                 | 1909 +---------------------------
 xen/arch/arm/setup.c               |  324 +----
 xen/arch/arm/smpboot.c             |    4 +-
 27 files changed, 3656 insertions(+), 3493 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/Makefile
 create mode 100644 xen/arch/arm/arm32/mmu/mm.c
 rename xen/arch/arm/arm64/{ => mmu}/mm.c (61%)
 create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
 create mode 100644 xen/arch/arm/include/asm/mmu/p2m.h
 create mode 100644 xen/arch/arm/mmu/Makefile
 create mode 100644 xen/arch/arm/mmu/p2m.c
 create mode 100644 xen/arch/arm/mmu/pt.c
 create mode 100644 xen/arch/arm/mmu/setup.c
 create mode 100644 xen/arch/arm/mmu/smpboot.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:50:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:50:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634376.989782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3dhn-0001al-54; Thu, 16 Nov 2023 14:50:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634376.989782; Thu, 16 Nov 2023 14:50: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 1r3dhn-0001ae-28; Thu, 16 Nov 2023 14:50:55 +0000
Received: by outflank-mailman (input) for mailman id 634376;
 Thu, 16 Nov 2023 14:50: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=Xmdr=G5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3dhk-0001IN-SP
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:50:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 88c9ee03-848f-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 15:50:50 +0100 (CET)
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 45C051595;
 Thu, 16 Nov 2023 06:51:36 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 1A39D3F73F;
 Thu, 16 Nov 2023 06:50:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 88c9ee03-848f-11ee-98db-6d05b1d4d9a1
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>,
	Michal Orzel <michal.orzel@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 1/8] xen/arm: Split page table related code to mmu/pt.c
Date: Thu, 16 Nov 2023 22:50:25 +0800
Message-Id: <20231116145032.1651305-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231116145032.1651305-1-Henry.Wang@arm.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The extraction of MMU related code is the basis of MPU support.
This commit starts this work by firstly splitting the page table
related code to mmu/pt.c, so that we will not end up with again
massive mm.c files.

Introduce a mmu specific directory and setup the Makefiles for it.
Move the page table related functions and macros from arch/arm/mm.c
to arch/arm/mmu/pt.c.

Take the opportunity to fix the in-code comment coding styles when
possible, and drop the unnecessary #include headers in the original
arch/arm/mm.c.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v9:
- No change.
v8:
- Add Julien's Reviewed-by tag.
v7:
- Do not move pte_of_xenaddr() to mmu/pt.c.
- Do not expose global variable phys_offset.
v6:
- Rework the original patch "[v5,07/13] xen/arm: Extract MMU-specific
  code", only split the page table related code out in this patch.
---
 xen/arch/arm/Makefile     |   1 +
 xen/arch/arm/mm.c         | 717 -------------------------------------
 xen/arch/arm/mmu/Makefile |   1 +
 xen/arch/arm/mmu/pt.c     | 736 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 738 insertions(+), 717 deletions(-)
 create mode 100644 xen/arch/arm/mmu/Makefile
 create mode 100644 xen/arch/arm/mmu/pt.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e9920..c45b08b31e 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_ARM_32) += arm32/
 obj-$(CONFIG_ARM_64) += arm64/
+obj-$(CONFIG_MMU) += mmu/
 obj-$(CONFIG_ACPI) += acpi/
 obj-$(CONFIG_HAS_PCI) += pci/
 ifneq ($(CONFIG_NO_PLAT),y)
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index c34cc94c90..fd02493564 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -9,22 +9,14 @@
  */
 
 #include <xen/domain_page.h>
-#include <xen/errno.h>
 #include <xen/grant_table.h>
 #include <xen/guest_access.h>
-#include <xen/init.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
-#include <xen/pfn.h>
-#include <xen/pmap.h>
-#include <xen/sched.h>
 #include <xen/sizes.h>
-#include <xen/types.h>
-#include <xen/vmap.h>
 
 #include <xsm/xsm.h>
 
-#include <asm/fixmap.h>
 #include <asm/setup.h>
 
 #include <public/memory.h>
@@ -35,19 +27,6 @@
 #undef mfn_to_virt
 #define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
 
-#ifdef NDEBUG
-static inline void
-__attribute__ ((__format__ (__printf__, 1, 2)))
-mm_printk(const char *fmt, ...) {}
-#else
-#define mm_printk(fmt, args...)             \
-    do                                      \
-    {                                       \
-        dprintk(XENLOG_ERR, fmt, ## args);  \
-        WARN();                             \
-    } while (0)
-#endif
-
 /* Static start-of-day pagetables that we use before the allocators
  * are up. These are used by all CPUs during bringup before switching
  * to the CPUs own pagetables.
@@ -92,12 +71,10 @@ DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
  */
 
 #ifdef CONFIG_ARM_64
-#define HYP_PT_ROOT_LEVEL 0
 DEFINE_PAGE_TABLE(xen_pgtable);
 static DEFINE_PAGE_TABLE(xen_first);
 #define THIS_CPU_PGTABLE xen_pgtable
 #else
-#define HYP_PT_ROOT_LEVEL 1
 /* Per-CPU pagetable pages */
 /* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
 DEFINE_PER_CPU(lpae_t *, xen_pgtable);
@@ -200,179 +177,6 @@ static void __init __maybe_unused build_assertions(void)
 #undef CHECK_DIFFERENT_SLOT
 }
 
-static lpae_t *xen_map_table(mfn_t mfn)
-{
-    /*
-     * During early boot, map_domain_page() may be unusable. Use the
-     * PMAP to map temporarily a page-table.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        return pmap_map(mfn);
-
-    return map_domain_page(mfn);
-}
-
-static void xen_unmap_table(const lpae_t *table)
-{
-    /*
-     * During early boot, xen_map_table() will not use map_domain_page()
-     * but the PMAP.
-     */
-    if ( system_state == SYS_STATE_early_boot )
-        pmap_unmap(table);
-    else
-        unmap_domain_page(table);
-}
-
-void dump_pt_walk(paddr_t ttbr, paddr_t addr,
-                  unsigned int root_level,
-                  unsigned int nr_root_tables)
-{
-    static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
-    const mfn_t root_mfn = maddr_to_mfn(ttbr);
-    DECLARE_OFFSETS(offsets, addr);
-    lpae_t pte, *mapping;
-    unsigned int level, root_table;
-
-#ifdef CONFIG_ARM_32
-    BUG_ON(root_level < 1);
-#endif
-    BUG_ON(root_level > 3);
-
-    if ( nr_root_tables > 1 )
-    {
-        /*
-         * Concatenated root-level tables. The table number will be
-         * the offset at the previous level. It is not possible to
-         * concatenate a level-0 root.
-         */
-        BUG_ON(root_level == 0);
-        root_table = offsets[root_level - 1];
-        printk("Using concatenated root table %u\n", root_table);
-        if ( root_table >= nr_root_tables )
-        {
-            printk("Invalid root table offset\n");
-            return;
-        }
-    }
-    else
-        root_table = 0;
-
-    mapping = xen_map_table(mfn_add(root_mfn, root_table));
-
-    for ( level = root_level; ; level++ )
-    {
-        if ( offsets[level] > XEN_PT_LPAE_ENTRIES )
-            break;
-
-        pte = mapping[offsets[level]];
-
-        printk("%s[0x%03x] = 0x%"PRIx64"\n",
-               level_strs[level], offsets[level], pte.bits);
-
-        if ( level == 3 || !pte.walk.valid || !pte.walk.table )
-            break;
-
-        /* For next iteration */
-        xen_unmap_table(mapping);
-        mapping = xen_map_table(lpae_get_mfn(pte));
-    }
-
-    xen_unmap_table(mapping);
-}
-
-void dump_hyp_walk(vaddr_t addr)
-{
-    uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
-
-    printk("Walking Hypervisor VA 0x%"PRIvaddr" "
-           "on CPU%d via TTBR 0x%016"PRIx64"\n",
-           addr, smp_processor_id(), ttbr);
-
-    dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
-}
-
-lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr)
-{
-    lpae_t e = (lpae_t) {
-        .pt = {
-            .valid = 1,           /* Mappings are present */
-            .table = 0,           /* Set to 1 for links and 4k maps */
-            .ai = attr,
-            .ns = 1,              /* Hyp mode is in the non-secure world */
-            .up = 1,              /* See below */
-            .ro = 0,              /* Assume read-write */
-            .af = 1,              /* No need for access tracking */
-            .ng = 1,              /* Makes TLB flushes easier */
-            .contig = 0,          /* Assume non-contiguous */
-            .xn = 1,              /* No need to execute outside .text */
-            .avail = 0,           /* Reference count for domheap mapping */
-        }};
-    /*
-     * For EL2 stage-1 page table, up (aka AP[1]) is RES1 as the translation
-     * regime applies to only one exception level (see D4.4.4 and G4.6.1
-     * in ARM DDI 0487B.a). If this changes, remember to update the
-     * hard-coded values in head.S too.
-     */
-
-    switch ( attr )
-    {
-    case MT_NORMAL_NC:
-        /*
-         * ARM ARM: Overlaying the shareability attribute (DDI
-         * 0406C.b B3-1376 to 1377)
-         *
-         * A memory region with a resultant memory type attribute of Normal,
-         * and a resultant cacheability attribute of Inner Non-cacheable,
-         * Outer Non-cacheable, must have a resultant shareability attribute
-         * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
-         *
-         * On ARMv8 sharability is ignored and explicitly treated as Outer
-         * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
-         */
-        e.pt.sh = LPAE_SH_OUTER;
-        break;
-    case MT_DEVICE_nGnRnE:
-    case MT_DEVICE_nGnRE:
-        /*
-         * Shareability is ignored for non-Normal memory, Outer is as
-         * good as anything.
-         *
-         * On ARMv8 sharability is ignored and explicitly treated as Outer
-         * Shareable for any device memory type.
-         */
-        e.pt.sh = LPAE_SH_OUTER;
-        break;
-    default:
-        e.pt.sh = LPAE_SH_INNER;  /* Xen mappings are SMP coherent */
-        break;
-    }
-
-    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
-
-    lpae_set_mfn(e, mfn);
-
-    return e;
-}
-
-/* Map a 4k page in a fixmap entry */
-void set_fixmap(unsigned int map, mfn_t mfn, unsigned int flags)
-{
-    int res;
-
-    res = map_pages_to_xen(FIXMAP_ADDR(map), mfn, 1, flags);
-    BUG_ON(res != 0);
-}
-
-/* Remove a mapping from a fixmap entry */
-void clear_fixmap(unsigned int map)
-{
-    int res;
-
-    res = destroy_xen_mappings(FIXMAP_ADDR(map), FIXMAP_ADDR(map) + PAGE_SIZE);
-    BUG_ON(res != 0);
-}
-
 void flush_page_to_ram(unsigned long mfn, bool sync_icache)
 {
     void *v = map_domain_page(_mfn(mfn));
@@ -733,527 +537,6 @@ void *__init arch_vmap_virt_end(void)
     return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
 }
 
-/*
- * This function should only be used to remap device address ranges
- * TODO: add a check to verify this assumption
- */
-void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
-{
-    mfn_t mfn = _mfn(PFN_DOWN(start));
-    unsigned int offs = start & (PAGE_SIZE - 1);
-    unsigned int nr = PFN_UP(offs + len);
-    void *ptr = __vmap(&mfn, nr, 1, 1, attributes, VMAP_DEFAULT);
-
-    if ( ptr == NULL )
-        return NULL;
-
-    return ptr + offs;
-}
-
-void *ioremap(paddr_t pa, size_t len)
-{
-    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
-}
-
-static int create_xen_table(lpae_t *entry)
-{
-    mfn_t mfn;
-    void *p;
-    lpae_t pte;
-
-    if ( system_state != SYS_STATE_early_boot )
-    {
-        struct page_info *pg = alloc_domheap_page(NULL, 0);
-
-        if ( pg == NULL )
-            return -ENOMEM;
-
-        mfn = page_to_mfn(pg);
-    }
-    else
-        mfn = alloc_boot_pages(1, 1);
-
-    p = xen_map_table(mfn);
-    clear_page(p);
-    xen_unmap_table(p);
-
-    pte = mfn_to_xen_entry(mfn, MT_NORMAL);
-    pte.pt.table = 1;
-    write_pte(entry, pte);
-    /*
-     * No ISB here. It is deferred to xen_pt_update() as the new table
-     * will not be used for hardware translation table access as part of
-     * the mapping update.
-     */
-
-    return 0;
-}
-
-#define XEN_TABLE_MAP_FAILED 0
-#define XEN_TABLE_SUPER_PAGE 1
-#define XEN_TABLE_NORMAL_PAGE 2
-
-/*
- * Take the currently mapped table, find the corresponding entry,
- * and map the next table, if available.
- *
- * The read_only parameters indicates whether intermediate tables should
- * be allocated when not present.
- *
- * Return values:
- *  XEN_TABLE_MAP_FAILED: Either read_only was set and the entry
- *  was empty, or allocating a new page failed.
- *  XEN_TABLE_NORMAL_PAGE: next level mapped normally
- *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
- */
-static int xen_pt_next_level(bool read_only, unsigned int level,
-                             lpae_t **table, unsigned int offset)
-{
-    lpae_t *entry;
-    int ret;
-    mfn_t mfn;
-
-    entry = *table + offset;
-
-    if ( !lpae_is_valid(*entry) )
-    {
-        if ( read_only )
-            return XEN_TABLE_MAP_FAILED;
-
-        ret = create_xen_table(entry);
-        if ( ret )
-            return XEN_TABLE_MAP_FAILED;
-    }
-
-    /* The function xen_pt_next_level is never called at the 3rd level */
-    if ( lpae_is_mapping(*entry, level) )
-        return XEN_TABLE_SUPER_PAGE;
-
-    mfn = lpae_get_mfn(*entry);
-
-    xen_unmap_table(*table);
-    *table = xen_map_table(mfn);
-
-    return XEN_TABLE_NORMAL_PAGE;
-}
-
-/* Sanity check of the entry */
-static bool xen_pt_check_entry(lpae_t entry, mfn_t mfn, unsigned int level,
-                               unsigned int flags)
-{
-    /* Sanity check when modifying an entry. */
-    if ( (flags & _PAGE_PRESENT) && mfn_eq(mfn, INVALID_MFN) )
-    {
-        /* We don't allow modifying an invalid entry. */
-        if ( !lpae_is_valid(entry) )
-        {
-            mm_printk("Modifying invalid entry is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow modifying a table entry */
-        if ( !lpae_is_mapping(entry, level) )
-        {
-            mm_printk("Modifying a table entry is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow changing memory attributes. */
-        if ( entry.pt.ai != PAGE_AI_MASK(flags) )
-        {
-            mm_printk("Modifying memory attributes is not allowed (0x%x -> 0x%x).\n",
-                      entry.pt.ai, PAGE_AI_MASK(flags));
-            return false;
-        }
-
-        /* We don't allow modifying entry with contiguous bit set. */
-        if ( entry.pt.contig )
-        {
-            mm_printk("Modifying entry with contiguous bit set is not allowed.\n");
-            return false;
-        }
-    }
-    /* Sanity check when inserting a mapping */
-    else if ( flags & _PAGE_PRESENT )
-    {
-        /* We should be here with a valid MFN. */
-        ASSERT(!mfn_eq(mfn, INVALID_MFN));
-
-        /*
-         * We don't allow replacing any valid entry.
-         *
-         * Note that the function xen_pt_update() relies on this
-         * assumption and will skip the TLB flush. The function will need
-         * to be updated if the check is relaxed.
-         */
-        if ( lpae_is_valid(entry) )
-        {
-            if ( lpae_is_mapping(entry, level) )
-                mm_printk("Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn").\n",
-                          mfn_x(lpae_get_mfn(entry)), mfn_x(mfn));
-            else
-                mm_printk("Trying to replace a table with a mapping.\n");
-            return false;
-        }
-    }
-    /* Sanity check when removing a mapping. */
-    else if ( (flags & (_PAGE_PRESENT|_PAGE_POPULATE)) == 0 )
-    {
-        /* We should be here with an invalid MFN. */
-        ASSERT(mfn_eq(mfn, INVALID_MFN));
-
-        /* We don't allow removing a table */
-        if ( lpae_is_table(entry, level) )
-        {
-            mm_printk("Removing a table is not allowed.\n");
-            return false;
-        }
-
-        /* We don't allow removing a mapping with contiguous bit set. */
-        if ( entry.pt.contig )
-        {
-            mm_printk("Removing entry with contiguous bit set is not allowed.\n");
-            return false;
-        }
-    }
-    /* Sanity check when populating the page-table. No check so far. */
-    else
-    {
-        ASSERT(flags & _PAGE_POPULATE);
-        /* We should be here with an invalid MFN */
-        ASSERT(mfn_eq(mfn, INVALID_MFN));
-    }
-
-    return true;
-}
-
-/* Update an entry at the level @target. */
-static int xen_pt_update_entry(mfn_t root, unsigned long virt,
-                               mfn_t mfn, unsigned int target,
-                               unsigned int flags)
-{
-    int rc;
-    unsigned int level;
-    lpae_t *table;
-    /*
-     * The intermediate page tables are read-only when the MFN is not valid
-     * and we are not populating page table.
-     * This means we either modify permissions or remove an entry.
-     */
-    bool read_only = mfn_eq(mfn, INVALID_MFN) && !(flags & _PAGE_POPULATE);
-    lpae_t pte, *entry;
-
-    /* convenience aliases */
-    DECLARE_OFFSETS(offsets, (paddr_t)virt);
-
-    /* _PAGE_POPULATE and _PAGE_PRESENT should never be set together. */
-    ASSERT((flags & (_PAGE_POPULATE|_PAGE_PRESENT)) != (_PAGE_POPULATE|_PAGE_PRESENT));
-
-    table = xen_map_table(root);
-    for ( level = HYP_PT_ROOT_LEVEL; level < target; level++ )
-    {
-        rc = xen_pt_next_level(read_only, level, &table, offsets[level]);
-        if ( rc == XEN_TABLE_MAP_FAILED )
-        {
-            /*
-             * We are here because xen_pt_next_level has failed to map
-             * the intermediate page table (e.g the table does not exist
-             * and the pt is read-only). It is a valid case when
-             * removing a mapping as it may not exist in the page table.
-             * In this case, just ignore it.
-             */
-            if ( flags & (_PAGE_PRESENT|_PAGE_POPULATE) )
-            {
-                mm_printk("%s: Unable to map level %u\n", __func__, level);
-                rc = -ENOENT;
-                goto out;
-            }
-            else
-            {
-                rc = 0;
-                goto out;
-            }
-        }
-        else if ( rc != XEN_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    if ( level != target )
-    {
-        mm_printk("%s: Shattering superpage is not supported\n", __func__);
-        rc = -EOPNOTSUPP;
-        goto out;
-    }
-
-    entry = table + offsets[level];
-
-    rc = -EINVAL;
-    if ( !xen_pt_check_entry(*entry, mfn, level, flags) )
-        goto out;
-
-    /* If we are only populating page-table, then we are done. */
-    rc = 0;
-    if ( flags & _PAGE_POPULATE )
-        goto out;
-
-    /* We are removing the page */
-    if ( !(flags & _PAGE_PRESENT) )
-        memset(&pte, 0x00, sizeof(pte));
-    else
-    {
-        /* We are inserting a mapping => Create new pte. */
-        if ( !mfn_eq(mfn, INVALID_MFN) )
-        {
-            pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags));
-
-            /*
-             * First and second level pages set pte.pt.table = 0, but
-             * third level entries set pte.pt.table = 1.
-             */
-            pte.pt.table = (level == 3);
-        }
-        else /* We are updating the permission => Copy the current pte. */
-            pte = *entry;
-
-        /* Set permission */
-        pte.pt.ro = PAGE_RO_MASK(flags);
-        pte.pt.xn = PAGE_XN_MASK(flags);
-        /* Set contiguous bit */
-        pte.pt.contig = !!(flags & _PAGE_CONTIG);
-    }
-
-    write_pte(entry, pte);
-    /*
-     * No ISB or TLB flush here. They are deferred to xen_pt_update()
-     * as the entry will not be used as part of the mapping update.
-     */
-
-    rc = 0;
-
-out:
-    xen_unmap_table(table);
-
-    return rc;
-}
-
-/* Return the level where mapping should be done */
-static int xen_pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
-                                unsigned int flags)
-{
-    unsigned int level;
-    unsigned long mask;
-
-    /*
-      * Don't take into account the MFN when removing mapping (i.e
-      * MFN_INVALID) to calculate the correct target order.
-      *
-      * Per the Arm Arm, `vfn` and `mfn` must be both superpage aligned.
-      * They are or-ed together and then checked against the size of
-      * each level.
-      *
-      * `left` is not included and checked separately to allow
-      * superpage mapping even if it is not properly aligned (the
-      * user may have asked to map 2MB + 4k).
-      */
-     mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
-     mask |= vfn;
-
-     /*
-      * Always use level 3 mapping unless the caller request block
-      * mapping.
-      */
-     if ( likely(!(flags & _PAGE_BLOCK)) )
-         level = 3;
-     else if ( !(mask & (BIT(FIRST_ORDER, UL) - 1)) &&
-               (nr >= BIT(FIRST_ORDER, UL)) )
-         level = 1;
-     else if ( !(mask & (BIT(SECOND_ORDER, UL) - 1)) &&
-               (nr >= BIT(SECOND_ORDER, UL)) )
-         level = 2;
-     else
-         level = 3;
-
-     return level;
-}
-
-#define XEN_PT_4K_NR_CONTIG 16
-
-/*
- * Check whether the contiguous bit can be set. Return the number of
- * contiguous entry allowed. If not allowed, return 1.
- */
-static unsigned int xen_pt_check_contig(unsigned long vfn, mfn_t mfn,
-                                        unsigned int level, unsigned long left,
-                                        unsigned int flags)
-{
-    unsigned long nr_contig;
-
-    /*
-     * Allow the contiguous bit to set when the caller requests block
-     * mapping.
-     */
-    if ( !(flags & _PAGE_BLOCK) )
-        return 1;
-
-    /*
-     * We don't allow to remove mapping with the contiguous bit set.
-     * So shortcut the logic and directly return 1.
-     */
-    if ( mfn_eq(mfn, INVALID_MFN) )
-        return 1;
-
-    /*
-     * The number of contiguous entries varies depending on the page
-     * granularity used. The logic below assumes 4KB.
-     */
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    /*
-     * In order to enable the contiguous bit, we should have enough entries
-     * to map left and both the virtual and physical address should be
-     * aligned to the size of 16 translation tables entries.
-     */
-    nr_contig = BIT(XEN_PT_LEVEL_ORDER(level), UL) * XEN_PT_4K_NR_CONTIG;
-
-    if ( (left < nr_contig) || ((mfn_x(mfn) | vfn) & (nr_contig - 1)) )
-        return 1;
-
-    return XEN_PT_4K_NR_CONTIG;
-}
-
-static DEFINE_SPINLOCK(xen_pt_lock);
-
-static int xen_pt_update(unsigned long virt,
-                         mfn_t mfn,
-                         /* const on purpose as it is used for TLB flush */
-                         const unsigned long nr_mfns,
-                         unsigned int flags)
-{
-    int rc = 0;
-    unsigned long vfn = virt >> PAGE_SHIFT;
-    unsigned long left = nr_mfns;
-
-    /*
-     * For arm32, page-tables are different on each CPUs. Yet, they share
-     * some common mappings. It is assumed that only common mappings
-     * will be modified with this function.
-     *
-     * XXX: Add a check.
-     */
-    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
-
-    /*
-     * The hardware was configured to forbid mapping both writeable and
-     * executable.
-     * When modifying/creating mapping (i.e _PAGE_PRESENT is set),
-     * prevent any update if this happen.
-     */
-    if ( (flags & _PAGE_PRESENT) && !PAGE_RO_MASK(flags) &&
-         !PAGE_XN_MASK(flags) )
-    {
-        mm_printk("Mappings should not be both Writeable and Executable.\n");
-        return -EINVAL;
-    }
-
-    if ( flags & _PAGE_CONTIG )
-    {
-        mm_printk("_PAGE_CONTIG is an internal only flag.\n");
-        return -EINVAL;
-    }
-
-    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
-    {
-        mm_printk("The virtual address is not aligned to the page-size.\n");
-        return -EINVAL;
-    }
-
-    spin_lock(&xen_pt_lock);
-
-    while ( left )
-    {
-        unsigned int order, level, nr_contig, new_flags;
-
-        level = xen_pt_mapping_level(vfn, mfn, left, flags);
-        order = XEN_PT_LEVEL_ORDER(level);
-
-        ASSERT(left >= BIT(order, UL));
-
-        /*
-         * Check if we can set the contiguous mapping and update the
-         * flags accordingly.
-         */
-        nr_contig = xen_pt_check_contig(vfn, mfn, level, left, flags);
-        new_flags = flags | ((nr_contig > 1) ? _PAGE_CONTIG : 0);
-
-        for ( ; nr_contig > 0; nr_contig-- )
-        {
-            rc = xen_pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level,
-                                     new_flags);
-            if ( rc )
-                break;
-
-            vfn += 1U << order;
-            if ( !mfn_eq(mfn, INVALID_MFN) )
-                mfn = mfn_add(mfn, 1U << order);
-
-            left -= (1U << order);
-        }
-
-        if ( rc )
-            break;
-    }
-
-    /*
-     * The TLBs flush can be safely skipped when a mapping is inserted
-     * as we don't allow mapping replacement (see xen_pt_check_entry()).
-     * Although we still need an ISB to ensure any DSB in
-     * write_pte() will complete because the mapping may be used soon
-     * after.
-     *
-     * For all the other cases, the TLBs will be flushed unconditionally
-     * even if the mapping has failed. This is because we may have
-     * partially modified the PT. This will prevent any unexpected
-     * behavior afterwards.
-     */
-    if ( !((flags & _PAGE_PRESENT) && !mfn_eq(mfn, INVALID_MFN)) )
-        flush_xen_tlb_range_va(virt, PAGE_SIZE * nr_mfns);
-    else
-        isb();
-
-    spin_unlock(&xen_pt_lock);
-
-    return rc;
-}
-
-int map_pages_to_xen(unsigned long virt,
-                     mfn_t mfn,
-                     unsigned long nr_mfns,
-                     unsigned int flags)
-{
-    return xen_pt_update(virt, mfn, nr_mfns, flags);
-}
-
-int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
-{
-    return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
-}
-
-int destroy_xen_mappings(unsigned long s, unsigned long e)
-{
-    ASSERT(IS_ALIGNED(s, PAGE_SIZE));
-    ASSERT(IS_ALIGNED(e, PAGE_SIZE));
-    ASSERT(s <= e);
-    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, 0);
-}
-
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags)
-{
-    ASSERT(IS_ALIGNED(s, PAGE_SIZE));
-    ASSERT(IS_ALIGNED(e, PAGE_SIZE));
-    ASSERT(s <= e);
-    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, flags);
-}
-
 /* Release all __init and __initdata ranges to be reused */
 void free_init_memory(void)
 {
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
new file mode 100644
index 0000000000..bdfc2e077d
--- /dev/null
+++ b/xen/arch/arm/mmu/Makefile
@@ -0,0 +1 @@
+obj-y += pt.o
diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
new file mode 100644
index 0000000000..e6fc5ed45a
--- /dev/null
+++ b/xen/arch/arm/mmu/pt.c
@@ -0,0 +1,736 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/mmu/pt.c
+ *
+ * MMU system page table related functions.
+ */
+
+#include <xen/domain_page.h>
+#include <xen/init.h>
+#include <xen/pfn.h>
+#include <xen/sizes.h>
+#include <xen/vmap.h>
+
+#include <asm/fixmap.h>
+
+#ifdef NDEBUG
+static inline void
+__attribute__ ((__format__ (__printf__, 1, 2)))
+mm_printk(const char *fmt, ...) {}
+#else
+#define mm_printk(fmt, args...)             \
+    do                                      \
+    {                                       \
+        dprintk(XENLOG_ERR, fmt, ## args);  \
+        WARN();                             \
+    } while (0)
+#endif
+
+#ifdef CONFIG_ARM_64
+#define HYP_PT_ROOT_LEVEL 0
+#else
+#define HYP_PT_ROOT_LEVEL 1
+#endif
+
+static lpae_t *xen_map_table(mfn_t mfn)
+{
+    /*
+     * During early boot, map_domain_page() may be unusable. Use the
+     * PMAP to map temporarily a page-table.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        return pmap_map(mfn);
+
+    return map_domain_page(mfn);
+}
+
+static void xen_unmap_table(const lpae_t *table)
+{
+    /*
+     * During early boot, xen_map_table() will not use map_domain_page()
+     * but the PMAP.
+     */
+    if ( system_state == SYS_STATE_early_boot )
+        pmap_unmap(table);
+    else
+        unmap_domain_page(table);
+}
+
+void dump_pt_walk(paddr_t ttbr, paddr_t addr,
+                  unsigned int root_level,
+                  unsigned int nr_root_tables)
+{
+    static const char *level_strs[4] = { "0TH", "1ST", "2ND", "3RD" };
+    const mfn_t root_mfn = maddr_to_mfn(ttbr);
+    DECLARE_OFFSETS(offsets, addr);
+    lpae_t pte, *mapping;
+    unsigned int level, root_table;
+
+#ifdef CONFIG_ARM_32
+    BUG_ON(root_level < 1);
+#endif
+    BUG_ON(root_level > 3);
+
+    if ( nr_root_tables > 1 )
+    {
+        /*
+         * Concatenated root-level tables. The table number will be
+         * the offset at the previous level. It is not possible to
+         * concatenate a level-0 root.
+         */
+        BUG_ON(root_level == 0);
+        root_table = offsets[root_level - 1];
+        printk("Using concatenated root table %u\n", root_table);
+        if ( root_table >= nr_root_tables )
+        {
+            printk("Invalid root table offset\n");
+            return;
+        }
+    }
+    else
+        root_table = 0;
+
+    mapping = xen_map_table(mfn_add(root_mfn, root_table));
+
+    for ( level = root_level; ; level++ )
+    {
+        if ( offsets[level] > XEN_PT_LPAE_ENTRIES )
+            break;
+
+        pte = mapping[offsets[level]];
+
+        printk("%s[0x%03x] = 0x%"PRIx64"\n",
+               level_strs[level], offsets[level], pte.bits);
+
+        if ( level == 3 || !pte.walk.valid || !pte.walk.table )
+            break;
+
+        /* For next iteration */
+        xen_unmap_table(mapping);
+        mapping = xen_map_table(lpae_get_mfn(pte));
+    }
+
+    xen_unmap_table(mapping);
+}
+
+void dump_hyp_walk(vaddr_t addr)
+{
+    uint64_t ttbr = READ_SYSREG64(TTBR0_EL2);
+
+    printk("Walking Hypervisor VA 0x%"PRIvaddr" "
+           "on CPU%d via TTBR 0x%016"PRIx64"\n",
+           addr, smp_processor_id(), ttbr);
+
+    dump_pt_walk(ttbr, addr, HYP_PT_ROOT_LEVEL, 1);
+}
+
+lpae_t mfn_to_xen_entry(mfn_t mfn, unsigned int attr)
+{
+    lpae_t e = (lpae_t) {
+        .pt = {
+            .valid = 1,           /* Mappings are present */
+            .table = 0,           /* Set to 1 for links and 4k maps */
+            .ai = attr,
+            .ns = 1,              /* Hyp mode is in the non-secure world */
+            .up = 1,              /* See below */
+            .ro = 0,              /* Assume read-write */
+            .af = 1,              /* No need for access tracking */
+            .ng = 1,              /* Makes TLB flushes easier */
+            .contig = 0,          /* Assume non-contiguous */
+            .xn = 1,              /* No need to execute outside .text */
+            .avail = 0,           /* Reference count for domheap mapping */
+        }};
+    /*
+     * For EL2 stage-1 page table, up (aka AP[1]) is RES1 as the translation
+     * regime applies to only one exception level (see D4.4.4 and G4.6.1
+     * in ARM DDI 0487B.a). If this changes, remember to update the
+     * hard-coded values in head.S too.
+     */
+
+    switch ( attr )
+    {
+    case MT_NORMAL_NC:
+        /*
+         * ARM ARM: Overlaying the shareability attribute (DDI
+         * 0406C.b B3-1376 to 1377)
+         *
+         * A memory region with a resultant memory type attribute of Normal,
+         * and a resultant cacheability attribute of Inner Non-cacheable,
+         * Outer Non-cacheable, must have a resultant shareability attribute
+         * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
+         *
+         * On ARMv8 sharability is ignored and explicitly treated as Outer
+         * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
+         */
+        e.pt.sh = LPAE_SH_OUTER;
+        break;
+    case MT_DEVICE_nGnRnE:
+    case MT_DEVICE_nGnRE:
+        /*
+         * Shareability is ignored for non-Normal memory, Outer is as
+         * good as anything.
+         *
+         * On ARMv8 sharability is ignored and explicitly treated as Outer
+         * Shareable for any device memory type.
+         */
+        e.pt.sh = LPAE_SH_OUTER;
+        break;
+    default:
+        e.pt.sh = LPAE_SH_INNER;  /* Xen mappings are SMP coherent */
+        break;
+    }
+
+    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
+
+    lpae_set_mfn(e, mfn);
+
+    return e;
+}
+
+/* Map a 4k page in a fixmap entry */
+void set_fixmap(unsigned int map, mfn_t mfn, unsigned int flags)
+{
+    int res;
+
+    res = map_pages_to_xen(FIXMAP_ADDR(map), mfn, 1, flags);
+    BUG_ON(res != 0);
+}
+
+/* Remove a mapping from a fixmap entry */
+void clear_fixmap(unsigned int map)
+{
+    int res;
+
+    res = destroy_xen_mappings(FIXMAP_ADDR(map), FIXMAP_ADDR(map) + PAGE_SIZE);
+    BUG_ON(res != 0);
+}
+
+/*
+ * This function should only be used to remap device address ranges
+ * TODO: add a check to verify this assumption
+ */
+void *ioremap_attr(paddr_t start, size_t len, unsigned int attributes)
+{
+    mfn_t mfn = _mfn(PFN_DOWN(start));
+    unsigned int offs = start & (PAGE_SIZE - 1);
+    unsigned int nr = PFN_UP(offs + len);
+    void *ptr = __vmap(&mfn, nr, 1, 1, attributes, VMAP_DEFAULT);
+
+    if ( ptr == NULL )
+        return NULL;
+
+    return ptr + offs;
+}
+
+void *ioremap(paddr_t pa, size_t len)
+{
+    return ioremap_attr(pa, len, PAGE_HYPERVISOR_NOCACHE);
+}
+
+static int create_xen_table(lpae_t *entry)
+{
+    mfn_t mfn;
+    void *p;
+    lpae_t pte;
+
+    if ( system_state != SYS_STATE_early_boot )
+    {
+        struct page_info *pg = alloc_domheap_page(NULL, 0);
+
+        if ( pg == NULL )
+            return -ENOMEM;
+
+        mfn = page_to_mfn(pg);
+    }
+    else
+        mfn = alloc_boot_pages(1, 1);
+
+    p = xen_map_table(mfn);
+    clear_page(p);
+    xen_unmap_table(p);
+
+    pte = mfn_to_xen_entry(mfn, MT_NORMAL);
+    pte.pt.table = 1;
+    write_pte(entry, pte);
+    /*
+     * No ISB here. It is deferred to xen_pt_update() as the new table
+     * will not be used for hardware translation table access as part of
+     * the mapping update.
+     */
+
+    return 0;
+}
+
+#define XEN_TABLE_MAP_FAILED 0
+#define XEN_TABLE_SUPER_PAGE 1
+#define XEN_TABLE_NORMAL_PAGE 2
+
+/*
+ * Take the currently mapped table, find the corresponding entry,
+ * and map the next table, if available.
+ *
+ * The read_only parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  XEN_TABLE_MAP_FAILED: Either read_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  XEN_TABLE_NORMAL_PAGE: next level mapped normally
+ *  XEN_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int xen_pt_next_level(bool read_only, unsigned int level,
+                             lpae_t **table, unsigned int offset)
+{
+    lpae_t *entry;
+    int ret;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !lpae_is_valid(*entry) )
+    {
+        if ( read_only )
+            return XEN_TABLE_MAP_FAILED;
+
+        ret = create_xen_table(entry);
+        if ( ret )
+            return XEN_TABLE_MAP_FAILED;
+    }
+
+    /* The function xen_pt_next_level is never called at the 3rd level */
+    if ( lpae_is_mapping(*entry, level) )
+        return XEN_TABLE_SUPER_PAGE;
+
+    mfn = lpae_get_mfn(*entry);
+
+    xen_unmap_table(*table);
+    *table = xen_map_table(mfn);
+
+    return XEN_TABLE_NORMAL_PAGE;
+}
+
+/* Sanity check of the entry */
+static bool xen_pt_check_entry(lpae_t entry, mfn_t mfn, unsigned int level,
+                               unsigned int flags)
+{
+    /* Sanity check when modifying an entry. */
+    if ( (flags & _PAGE_PRESENT) && mfn_eq(mfn, INVALID_MFN) )
+    {
+        /* We don't allow modifying an invalid entry. */
+        if ( !lpae_is_valid(entry) )
+        {
+            mm_printk("Modifying invalid entry is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow modifying a table entry */
+        if ( !lpae_is_mapping(entry, level) )
+        {
+            mm_printk("Modifying a table entry is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow changing memory attributes. */
+        if ( entry.pt.ai != PAGE_AI_MASK(flags) )
+        {
+            mm_printk("Modifying memory attributes is not allowed (0x%x -> 0x%x).\n",
+                      entry.pt.ai, PAGE_AI_MASK(flags));
+            return false;
+        }
+
+        /* We don't allow modifying entry with contiguous bit set. */
+        if ( entry.pt.contig )
+        {
+            mm_printk("Modifying entry with contiguous bit set is not allowed.\n");
+            return false;
+        }
+    }
+    /* Sanity check when inserting a mapping */
+    else if ( flags & _PAGE_PRESENT )
+    {
+        /* We should be here with a valid MFN. */
+        ASSERT(!mfn_eq(mfn, INVALID_MFN));
+
+        /*
+         * We don't allow replacing any valid entry.
+         *
+         * Note that the function xen_pt_update() relies on this
+         * assumption and will skip the TLB flush. The function will need
+         * to be updated if the check is relaxed.
+         */
+        if ( lpae_is_valid(entry) )
+        {
+            if ( lpae_is_mapping(entry, level) )
+                mm_printk("Changing MFN for a valid entry is not allowed (%#"PRI_mfn" -> %#"PRI_mfn").\n",
+                          mfn_x(lpae_get_mfn(entry)), mfn_x(mfn));
+            else
+                mm_printk("Trying to replace a table with a mapping.\n");
+            return false;
+        }
+    }
+    /* Sanity check when removing a mapping. */
+    else if ( (flags & (_PAGE_PRESENT|_PAGE_POPULATE)) == 0 )
+    {
+        /* We should be here with an invalid MFN. */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+
+        /* We don't allow removing a table */
+        if ( lpae_is_table(entry, level) )
+        {
+            mm_printk("Removing a table is not allowed.\n");
+            return false;
+        }
+
+        /* We don't allow removing a mapping with contiguous bit set. */
+        if ( entry.pt.contig )
+        {
+            mm_printk("Removing entry with contiguous bit set is not allowed.\n");
+            return false;
+        }
+    }
+    /* Sanity check when populating the page-table. No check so far. */
+    else
+    {
+        ASSERT(flags & _PAGE_POPULATE);
+        /* We should be here with an invalid MFN */
+        ASSERT(mfn_eq(mfn, INVALID_MFN));
+    }
+
+    return true;
+}
+
+/* Update an entry at the level @target. */
+static int xen_pt_update_entry(mfn_t root, unsigned long virt,
+                               mfn_t mfn, unsigned int target,
+                               unsigned int flags)
+{
+    int rc;
+    unsigned int level;
+    lpae_t *table;
+    /*
+     * The intermediate page tables are read-only when the MFN is not valid
+     * and we are not populating page table.
+     * This means we either modify permissions or remove an entry.
+     */
+    bool read_only = mfn_eq(mfn, INVALID_MFN) && !(flags & _PAGE_POPULATE);
+    lpae_t pte, *entry;
+
+    /* convenience aliases */
+    DECLARE_OFFSETS(offsets, (paddr_t)virt);
+
+    /* _PAGE_POPULATE and _PAGE_PRESENT should never be set together. */
+    ASSERT((flags & (_PAGE_POPULATE|_PAGE_PRESENT)) != (_PAGE_POPULATE|_PAGE_PRESENT));
+
+    table = xen_map_table(root);
+    for ( level = HYP_PT_ROOT_LEVEL; level < target; level++ )
+    {
+        rc = xen_pt_next_level(read_only, level, &table, offsets[level]);
+        if ( rc == XEN_TABLE_MAP_FAILED )
+        {
+            /*
+             * We are here because xen_pt_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and the pt is read-only). It is a valid case when
+             * removing a mapping as it may not exist in the page table.
+             * In this case, just ignore it.
+             */
+            if ( flags & (_PAGE_PRESENT|_PAGE_POPULATE) )
+            {
+                mm_printk("%s: Unable to map level %u\n", __func__, level);
+                rc = -ENOENT;
+                goto out;
+            }
+            else
+            {
+                rc = 0;
+                goto out;
+            }
+        }
+        else if ( rc != XEN_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    if ( level != target )
+    {
+        mm_printk("%s: Shattering superpage is not supported\n", __func__);
+        rc = -EOPNOTSUPP;
+        goto out;
+    }
+
+    entry = table + offsets[level];
+
+    rc = -EINVAL;
+    if ( !xen_pt_check_entry(*entry, mfn, level, flags) )
+        goto out;
+
+    /* If we are only populating page-table, then we are done. */
+    rc = 0;
+    if ( flags & _PAGE_POPULATE )
+        goto out;
+
+    /* We are removing the page */
+    if ( !(flags & _PAGE_PRESENT) )
+        memset(&pte, 0x00, sizeof(pte));
+    else
+    {
+        /* We are inserting a mapping => Create new pte. */
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+        {
+            pte = mfn_to_xen_entry(mfn, PAGE_AI_MASK(flags));
+
+            /*
+             * First and second level pages set pte.pt.table = 0, but
+             * third level entries set pte.pt.table = 1.
+             */
+            pte.pt.table = (level == 3);
+        }
+        else /* We are updating the permission => Copy the current pte. */
+            pte = *entry;
+
+        /* Set permission */
+        pte.pt.ro = PAGE_RO_MASK(flags);
+        pte.pt.xn = PAGE_XN_MASK(flags);
+        /* Set contiguous bit */
+        pte.pt.contig = !!(flags & _PAGE_CONTIG);
+    }
+
+    write_pte(entry, pte);
+    /*
+     * No ISB or TLB flush here. They are deferred to xen_pt_update()
+     * as the entry will not be used as part of the mapping update.
+     */
+
+    rc = 0;
+
+out:
+    xen_unmap_table(table);
+
+    return rc;
+}
+
+/* Return the level where mapping should be done */
+static int xen_pt_mapping_level(unsigned long vfn, mfn_t mfn, unsigned long nr,
+                                unsigned int flags)
+{
+    unsigned int level;
+    unsigned long mask;
+
+    /*
+      * Don't take into account the MFN when removing mapping (i.e
+      * MFN_INVALID) to calculate the correct target order.
+      *
+      * Per the Arm Arm, `vfn` and `mfn` must be both superpage aligned.
+      * They are or-ed together and then checked against the size of
+      * each level.
+      *
+      * `left` is not included and checked separately to allow
+      * superpage mapping even if it is not properly aligned (the
+      * user may have asked to map 2MB + 4k).
+      */
+     mask = !mfn_eq(mfn, INVALID_MFN) ? mfn_x(mfn) : 0;
+     mask |= vfn;
+
+     /*
+      * Always use level 3 mapping unless the caller request block
+      * mapping.
+      */
+     if ( likely(!(flags & _PAGE_BLOCK)) )
+         level = 3;
+     else if ( !(mask & (BIT(FIRST_ORDER, UL) - 1)) &&
+               (nr >= BIT(FIRST_ORDER, UL)) )
+         level = 1;
+     else if ( !(mask & (BIT(SECOND_ORDER, UL) - 1)) &&
+               (nr >= BIT(SECOND_ORDER, UL)) )
+         level = 2;
+     else
+         level = 3;
+
+     return level;
+}
+
+#define XEN_PT_4K_NR_CONTIG 16
+
+/*
+ * Check whether the contiguous bit can be set. Return the number of
+ * contiguous entry allowed. If not allowed, return 1.
+ */
+static unsigned int xen_pt_check_contig(unsigned long vfn, mfn_t mfn,
+                                        unsigned int level, unsigned long left,
+                                        unsigned int flags)
+{
+    unsigned long nr_contig;
+
+    /*
+     * Allow the contiguous bit to set when the caller requests block
+     * mapping.
+     */
+    if ( !(flags & _PAGE_BLOCK) )
+        return 1;
+
+    /*
+     * We don't allow to remove mapping with the contiguous bit set.
+     * So shortcut the logic and directly return 1.
+     */
+    if ( mfn_eq(mfn, INVALID_MFN) )
+        return 1;
+
+    /*
+     * The number of contiguous entries varies depending on the page
+     * granularity used. The logic below assumes 4KB.
+     */
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    /*
+     * In order to enable the contiguous bit, we should have enough entries
+     * to map left and both the virtual and physical address should be
+     * aligned to the size of 16 translation tables entries.
+     */
+    nr_contig = BIT(XEN_PT_LEVEL_ORDER(level), UL) * XEN_PT_4K_NR_CONTIG;
+
+    if ( (left < nr_contig) || ((mfn_x(mfn) | vfn) & (nr_contig - 1)) )
+        return 1;
+
+    return XEN_PT_4K_NR_CONTIG;
+}
+
+static DEFINE_SPINLOCK(xen_pt_lock);
+
+static int xen_pt_update(unsigned long virt,
+                         mfn_t mfn,
+                         /* const on purpose as it is used for TLB flush */
+                         const unsigned long nr_mfns,
+                         unsigned int flags)
+{
+    int rc = 0;
+    unsigned long vfn = virt >> PAGE_SHIFT;
+    unsigned long left = nr_mfns;
+
+    /*
+     * For arm32, page-tables are different on each CPUs. Yet, they share
+     * some common mappings. It is assumed that only common mappings
+     * will be modified with this function.
+     *
+     * XXX: Add a check.
+     */
+    const mfn_t root = maddr_to_mfn(READ_SYSREG64(TTBR0_EL2));
+
+    /*
+     * The hardware was configured to forbid mapping both writeable and
+     * executable.
+     * When modifying/creating mapping (i.e _PAGE_PRESENT is set),
+     * prevent any update if this happen.
+     */
+    if ( (flags & _PAGE_PRESENT) && !PAGE_RO_MASK(flags) &&
+         !PAGE_XN_MASK(flags) )
+    {
+        mm_printk("Mappings should not be both Writeable and Executable.\n");
+        return -EINVAL;
+    }
+
+    if ( flags & _PAGE_CONTIG )
+    {
+        mm_printk("_PAGE_CONTIG is an internal only flag.\n");
+        return -EINVAL;
+    }
+
+    if ( !IS_ALIGNED(virt, PAGE_SIZE) )
+    {
+        mm_printk("The virtual address is not aligned to the page-size.\n");
+        return -EINVAL;
+    }
+
+    spin_lock(&xen_pt_lock);
+
+    while ( left )
+    {
+        unsigned int order, level, nr_contig, new_flags;
+
+        level = xen_pt_mapping_level(vfn, mfn, left, flags);
+        order = XEN_PT_LEVEL_ORDER(level);
+
+        ASSERT(left >= BIT(order, UL));
+
+        /*
+         * Check if we can set the contiguous mapping and update the
+         * flags accordingly.
+         */
+        nr_contig = xen_pt_check_contig(vfn, mfn, level, left, flags);
+        new_flags = flags | ((nr_contig > 1) ? _PAGE_CONTIG : 0);
+
+        for ( ; nr_contig > 0; nr_contig-- )
+        {
+            rc = xen_pt_update_entry(root, vfn << PAGE_SHIFT, mfn, level,
+                                     new_flags);
+            if ( rc )
+                break;
+
+            vfn += 1U << order;
+            if ( !mfn_eq(mfn, INVALID_MFN) )
+                mfn = mfn_add(mfn, 1U << order);
+
+            left -= (1U << order);
+        }
+
+        if ( rc )
+            break;
+    }
+
+    /*
+     * The TLBs flush can be safely skipped when a mapping is inserted
+     * as we don't allow mapping replacement (see xen_pt_check_entry()).
+     * Although we still need an ISB to ensure any DSB in
+     * write_pte() will complete because the mapping may be used soon
+     * after.
+     *
+     * For all the other cases, the TLBs will be flushed unconditionally
+     * even if the mapping has failed. This is because we may have
+     * partially modified the PT. This will prevent any unexpected
+     * behavior afterwards.
+     */
+    if ( !((flags & _PAGE_PRESENT) && !mfn_eq(mfn, INVALID_MFN)) )
+        flush_xen_tlb_range_va(virt, PAGE_SIZE * nr_mfns);
+    else
+        isb();
+
+    spin_unlock(&xen_pt_lock);
+
+    return rc;
+}
+
+int map_pages_to_xen(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    return xen_pt_update(virt, mfn, nr_mfns, flags);
+}
+
+int __init populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    return xen_pt_update(virt, INVALID_MFN, nr_mfns, _PAGE_POPULATE);
+}
+
+int destroy_xen_mappings(unsigned long s, unsigned long e)
+{
+    ASSERT(IS_ALIGNED(s, PAGE_SIZE));
+    ASSERT(IS_ALIGNED(e, PAGE_SIZE));
+    ASSERT(s <= e);
+    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, 0);
+}
+
+int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags)
+{
+    ASSERT(IS_ALIGNED(s, PAGE_SIZE));
+    ASSERT(IS_ALIGNED(e, PAGE_SIZE));
+    ASSERT(s <= e);
+    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, flags);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:50:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:50:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634377.989792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3dhr-0001vF-HV; Thu, 16 Nov 2023 14:50:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634377.989792; Thu, 16 Nov 2023 14:50: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 1r3dhr-0001v8-EO; Thu, 16 Nov 2023 14:50:59 +0000
Received: by outflank-mailman (input) for mailman id 634377;
 Thu, 16 Nov 2023 14:50: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=Xmdr=G5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3dhq-0001sC-27
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:50:58 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 8bb53ded-848f-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 15:50:55 +0100 (CET)
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 141E51595;
 Thu, 16 Nov 2023 06:51:41 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6CF9F3F73F;
 Thu, 16 Nov 2023 06:50:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bb53ded-848f-11ee-9b0e-b553b5be7939
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>,
	Michal Orzel <michal.orzel@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 2/8] xen/arm: Split MMU system SMP MM bringup code to mmu/smpboot.c
Date: Thu, 16 Nov 2023 22:50:26 +0800
Message-Id: <20231116145032.1651305-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231116145032.1651305-1-Henry.Wang@arm.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move the code related to secondary page table initialization, clear
boot page tables and the global variable definitions of these boot
page tables from arch/arm/mm.c to arch/arm/mmu/smpboot.c

Since arm32 global variable cpu0_pgtable will be used by both
arch/arm/mm.c and arch/arm/mmu/smpboot.c, to avoid exporting this
variable, change the variable usage in arch/arm/mmu/smpboot.c to
per_cpu(xen_pgtable, 0).

To avoid exposing global variable phys_offset, use virt_to_maddr()
to calculate init_ttbr for arm64.

Take the opportunity to fix the in-code comment coding styles when
possible.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v9:
- No change.
v8:
- Drop the unnecessary cast in virt_to_maddr((uintptr_t) xen_pgtable);
- Add Julien's Reviewed-by tag.
v7:
- Do not export cpu0_pgtable, replace the variable usage in
  arch/arm/mmu/smpboot.c to per_cpu(xen_pgtable, 0).
- Also move global variable init_ttbr to arch/arm/mmu/smpboot.c.
- Use virt_to_maddr() instead of phys_offset to calculate init_ttbr
  in arm64 implementation of init_secondary_pagetables().
v6:
- Rework the original patch "[v5,07/13] xen/arm: Extract MMU-specific
  code", only split the smpboot related code out in this patch.
---
 xen/arch/arm/mm.c          | 104 -------------------------------
 xen/arch/arm/mmu/Makefile  |   1 +
 xen/arch/arm/mmu/smpboot.c | 124 +++++++++++++++++++++++++++++++++++++
 3 files changed, 125 insertions(+), 104 deletions(-)
 create mode 100644 xen/arch/arm/mmu/smpboot.c

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index fd02493564..b7eb3a6e08 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -27,39 +27,6 @@
 #undef mfn_to_virt
 #define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
 
-/* Static start-of-day pagetables that we use before the allocators
- * are up. These are used by all CPUs during bringup before switching
- * to the CPUs own pagetables.
- *
- * These pagetables have a very simple structure. They include:
- *  - XEN_VIRT_SIZE worth of L3 mappings of xen at XEN_VIRT_START, boot_first
- *    and boot_second are used to populate the tables down to boot_third
- *    which contains the actual mapping.
- *  - a 1:1 mapping of xen at its current physical address. This uses a
- *    section mapping at whichever of boot_{pgtable,first,second}
- *    covers that physical address.
- *
- * For the boot CPU these mappings point to the address where Xen was
- * loaded by the bootloader. For secondary CPUs they point to the
- * relocated copy of Xen for the benefit of secondary CPUs.
- *
- * In addition to the above for the boot CPU the device-tree is
- * initially mapped in the boot misc slot. This mapping is not present
- * for secondary CPUs.
- *
- * Finally, if EARLY_PRINTK is enabled then xen_fixmap will be mapped
- * by the CPU once it has moved off the 1:1 mapping.
- */
-DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
-#ifdef CONFIG_ARM_64
-DEFINE_BOOT_PAGE_TABLE(boot_first);
-DEFINE_BOOT_PAGE_TABLE(boot_first_id);
-#endif
-DEFINE_BOOT_PAGE_TABLE(boot_second_id);
-DEFINE_BOOT_PAGE_TABLE(boot_third_id);
-DEFINE_BOOT_PAGE_TABLE(boot_second);
-DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
-
 /* Main runtime page tables */
 
 /*
@@ -94,9 +61,6 @@ DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
  */
 static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
 
-/* Non-boot CPUs use this to find the correct pagetables. */
-uint64_t init_ttbr;
-
 static paddr_t phys_offset;
 
 /* Limits of the Xen heap */
@@ -284,13 +248,6 @@ static void xen_pt_enforce_wnx(void)
     flush_xen_tlb_local();
 }
 
-/* Clear a translation table and clean & invalidate the cache */
-static void clear_table(void *table)
-{
-    clear_page(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)
@@ -369,67 +326,6 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
 #endif
 }
 
-static void clear_boot_pagetables(void)
-{
-    /*
-     * Clear the copy of the boot pagetables. Each secondary CPU
-     * rebuilds these itself (see head.S).
-     */
-    clear_table(boot_pgtable);
-#ifdef CONFIG_ARM_64
-    clear_table(boot_first);
-    clear_table(boot_first_id);
-#endif
-    clear_table(boot_second);
-    clear_table(boot_third);
-}
-
-#ifdef CONFIG_ARM_64
-int init_secondary_pagetables(int cpu)
-{
-    clear_boot_pagetables();
-
-    /* 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);
-    return 0;
-}
-#else
-int init_secondary_pagetables(int cpu)
-{
-    lpae_t *first;
-
-    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
-
-    if ( !first )
-    {
-        printk("CPU%u: Unable to allocate the first page-table\n", cpu);
-        return -ENOMEM;
-    }
-
-    /* Initialise root pagetable from root of boot tables */
-    memcpy(first, cpu0_pgtable, PAGE_SIZE);
-    per_cpu(xen_pgtable, cpu) = first;
-
-    if ( !init_domheap_mappings(cpu) )
-    {
-        printk("CPU%u: Unable to prepare the domheap page-tables\n", cpu);
-        per_cpu(xen_pgtable, cpu) = NULL;
-        free_xenheap_page(first);
-        return -ENOMEM;
-    }
-
-    clear_boot_pagetables();
-
-    /* Set init_ttbr for this CPU coming up */
-    init_ttbr = __pa(first);
-    clean_dcache(init_ttbr);
-
-    return 0;
-}
-#endif
-
 /* MMU setup for secondary CPUS (which already have paging enabled) */
 void mmu_init_secondary_cpu(void)
 {
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index bdfc2e077d..0e82015ee1 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1 +1,2 @@
 obj-y += pt.o
+obj-y += smpboot.o
diff --git a/xen/arch/arm/mmu/smpboot.c b/xen/arch/arm/mmu/smpboot.c
new file mode 100644
index 0000000000..8b6a09f843
--- /dev/null
+++ b/xen/arch/arm/mmu/smpboot.c
@@ -0,0 +1,124 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/mmu/smpboot.c
+ *
+ * MMU system secondary CPUs MM bringup code.
+ */
+
+#include <xen/domain_page.h>
+
+/*
+ * Static start-of-day pagetables that we use before the allocators
+ * are up. These are used by all CPUs during bringup before switching
+ * to the CPUs own pagetables.
+ *
+ * These pagetables have a very simple structure. They include:
+ *  - XEN_VIRT_SIZE worth of L3 mappings of xen at XEN_VIRT_START, boot_first
+ *    and boot_second are used to populate the tables down to boot_third
+ *    which contains the actual mapping.
+ *  - a 1:1 mapping of xen at its current physical address. This uses a
+ *    section mapping at whichever of boot_{pgtable,first,second}
+ *    covers that physical address.
+ *
+ * For the boot CPU these mappings point to the address where Xen was
+ * loaded by the bootloader. For secondary CPUs they point to the
+ * relocated copy of Xen for the benefit of secondary CPUs.
+ *
+ * In addition to the above for the boot CPU the device-tree is
+ * initially mapped in the boot misc slot. This mapping is not present
+ * for secondary CPUs.
+ *
+ * Finally, if EARLY_PRINTK is enabled then xen_fixmap will be mapped
+ * by the CPU once it has moved off the 1:1 mapping.
+ */
+DEFINE_BOOT_PAGE_TABLE(boot_pgtable);
+#ifdef CONFIG_ARM_64
+DEFINE_BOOT_PAGE_TABLE(boot_first);
+DEFINE_BOOT_PAGE_TABLE(boot_first_id);
+#endif
+DEFINE_BOOT_PAGE_TABLE(boot_second_id);
+DEFINE_BOOT_PAGE_TABLE(boot_third_id);
+DEFINE_BOOT_PAGE_TABLE(boot_second);
+DEFINE_BOOT_PAGE_TABLES(boot_third, XEN_NR_ENTRIES(2));
+
+/* Non-boot CPUs use this to find the correct pagetables. */
+uint64_t init_ttbr;
+
+/* Clear a translation table and clean & invalidate the cache */
+static void clear_table(void *table)
+{
+    clear_page(table);
+    clean_and_invalidate_dcache_va_range(table, PAGE_SIZE);
+}
+
+static void clear_boot_pagetables(void)
+{
+    /*
+     * Clear the copy of the boot pagetables. Each secondary CPU
+     * rebuilds these itself (see head.S).
+     */
+    clear_table(boot_pgtable);
+#ifdef CONFIG_ARM_64
+    clear_table(boot_first);
+    clear_table(boot_first_id);
+#endif
+    clear_table(boot_second);
+    clear_table(boot_third);
+}
+
+#ifdef CONFIG_ARM_64
+int init_secondary_pagetables(int cpu)
+{
+    clear_boot_pagetables();
+
+    /*
+     * 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 = virt_to_maddr(xen_pgtable);
+    clean_dcache(init_ttbr);
+    return 0;
+}
+#else
+int init_secondary_pagetables(int cpu)
+{
+    lpae_t *first;
+
+    first = alloc_xenheap_page(); /* root == first level on 32-bit 3-level trie */
+
+    if ( !first )
+    {
+        printk("CPU%u: Unable to allocate the first page-table\n", cpu);
+        return -ENOMEM;
+    }
+
+    /* Initialise root pagetable from root of boot tables */
+    memcpy(first, per_cpu(xen_pgtable, 0), PAGE_SIZE);
+    per_cpu(xen_pgtable, cpu) = first;
+
+    if ( !init_domheap_mappings(cpu) )
+    {
+        printk("CPU%u: Unable to prepare the domheap page-tables\n", cpu);
+        per_cpu(xen_pgtable, cpu) = NULL;
+        free_xenheap_page(first);
+        return -ENOMEM;
+    }
+
+    clear_boot_pagetables();
+
+    /* Set init_ttbr for this CPU coming up */
+    init_ttbr = __pa(first);
+    clean_dcache(init_ttbr);
+
+    return 0;
+}
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:51:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:51:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634379.989802 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3dhv-0002Ix-Pu; Thu, 16 Nov 2023 14:51:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634379.989802; Thu, 16 Nov 2023 14:51: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 1r3dhv-0002Iq-MY; Thu, 16 Nov 2023 14:51:03 +0000
Received: by outflank-mailman (input) for mailman id 634379;
 Thu, 16 Nov 2023 14:51: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=Xmdr=G5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3dhu-0001sC-7w
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:51:02 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 8e7a90f2-848f-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 15:51:00 +0100 (CET)
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 BF82C1595;
 Thu, 16 Nov 2023 06:51:45 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 23E423F73F;
 Thu, 16 Nov 2023 06:50:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e7a90f2-848f-11ee-9b0e-b553b5be7939
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>,
	Penny Zheng <penny.zheng@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 3/8] xen/arm: Fold mmu_init_secondary_cpu() to head.S
Date: Thu, 16 Nov 2023 22:50:27 +0800
Message-Id: <20231116145032.1651305-4-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231116145032.1651305-1-Henry.Wang@arm.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently mmu_init_secondary_cpu() only enforces the page table
should not contain mapping that are both Writable and eXecutables
after boot. To ease the arch/arm/mm.c split work, fold this function
to head.S.

For arm32, the WXN bit cannot be set early because at the point when
the MMU is enabled, the page-tables may still contain mapping which
are writable and executable. Therefore, introduce an assembly macro
pt_enforce_wxn. The macro is called before secondary CPUs jumping
into the C world.

For arm64, set the SCTLR_Axx_ELx_WXN flag right when the MMU is
enabled. This would avoid the extra TLB flush and SCTLR dance.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Co-authored-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Julien Grall <jgrall@amazon.com>
Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v9:
- Move pt_enforce_wxn() for arm32 up a few lines.
- Add commit message explaining why WXN cannot be set early for arm32.
- Correct in-code comment for enable_mmu().
- Add Julien's Reviewed-by tag.
v8:
- Change the setting of SCTLR_Axx_ELx_WXN for arm64 to set the
  flag right when the MMU is enabled.
v7:
- No change.
v6:
- New patch.
---
 xen/arch/arm/arm32/head.S     | 20 ++++++++++++++++++++
 xen/arch/arm/arm64/mmu/head.S | 19 ++++++++++++-------
 xen/arch/arm/include/asm/mm.h |  2 --
 xen/arch/arm/mm.c             |  6 ------
 xen/arch/arm/smpboot.c        |  2 --
 5 files changed, 32 insertions(+), 17 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index bbbdf7daf8..2c235fb34c 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -83,6 +83,25 @@
         isb
 .endm
 
+/*
+ * Enforce Xen page-tables do not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each secondary CPU.
+ */
+.macro pt_enforce_wxn tmp
+        mrc   CP32(\tmp, HSCTLR)
+        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
+        dsb
+        mcr   CP32(\tmp, HSCTLR)
+        /*
+         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+         * before flushing the TLBs.
+         */
+        isb
+        flush_xen_tlb_local \tmp
+.endm
+
 /*
  * Common register usage in this file:
  *   r0  -
@@ -249,6 +268,7 @@ secondary_switched:
         dsb
         isb
         flush_xen_tlb_local r0
+        pt_enforce_wxn r0
 
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
index 412b28e649..10774f30e4 100644
--- a/xen/arch/arm/arm64/mmu/head.S
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -269,11 +269,13 @@ ENDPROC(create_page_tables)
  *
  * Inputs:
  *   x0 : Physical address of the page tables.
+ *   x1 : Extra flags of the SCTLR.
  *
- * Clobbers x0 - x4
+ * Clobbers x0 - x5
  */
 enable_mmu:
         mov   x4, x0
+        mov   x5, x1
         PRINT("- Turning on paging -\r\n")
 
         /*
@@ -289,6 +291,7 @@ enable_mmu:
         mrs   x0, SCTLR_EL2
         orr   x0, x0, #SCTLR_Axx_ELx_M  /* Enable MMU */
         orr   x0, x0, #SCTLR_Axx_ELx_C  /* Enable D-cache */
+        orr   x0, x0, x5                /* Enable extra flags */
         dsb   sy                     /* Flush PTE writes and finish reads */
         msr   SCTLR_EL2, x0          /* now paging is enabled */
         isb                          /* Now, flush the icache */
@@ -303,16 +306,17 @@ ENDPROC(enable_mmu)
  * Inputs:
  *   lr : Virtual address to return to.
  *
- * Clobbers x0 - x5
+ * Clobbers x0 - x6
  */
 ENTRY(enable_secondary_cpu_mm)
-        mov   x5, lr
+        mov   x6, lr
 
         load_paddr x0, init_ttbr
         ldr   x0, [x0]
 
+        mov   x1, #SCTLR_Axx_ELx_WXN        /* Enable WxN from the start */
         bl    enable_mmu
-        mov   lr, x5
+        mov   lr, x6
 
         /* Return to the virtual address requested by the caller. */
         ret
@@ -326,14 +330,15 @@ ENDPROC(enable_secondary_cpu_mm)
  * Inputs:
  *   lr : Virtual address to return to.
  *
- * Clobbers x0 - x5
+ * Clobbers x0 - x6
  */
 ENTRY(enable_boot_cpu_mm)
-        mov   x5, lr
+        mov   x6, lr
 
         bl    create_page_tables
         load_paddr x0, boot_pgtable
 
+        mov   x1, #0        /* No extra SCTLR flags */
         bl    enable_mmu
 
         /*
@@ -343,7 +348,7 @@ ENTRY(enable_boot_cpu_mm)
         ldr   x0, =1f
         br    x0
 1:
-        mov   lr, x5
+        mov   lr, x6
         /*
          * 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
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index d25e59f828..163d22ecd3 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -214,8 +214,6 @@ extern void remove_early_mappings(void);
 /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
  * new page table */
 extern int init_secondary_pagetables(int cpu);
-/* Switch secondary CPUS to its own pagetables and finalise MMU setup */
-extern void mmu_init_secondary_cpu(void);
 /*
  * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
  * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index b7eb3a6e08..923a90925c 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -326,12 +326,6 @@ void __init setup_pagetables(unsigned long boot_phys_offset)
 #endif
 }
 
-/* MMU setup for secondary CPUS (which already have paging enabled) */
-void mmu_init_secondary_cpu(void)
-{
-    xen_pt_enforce_wnx();
-}
-
 #ifdef CONFIG_ARM_32
 /*
  * Set up the direct-mapped xenheap:
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 5533aed455..1cf6e50a85 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -361,8 +361,6 @@ void start_secondary(void)
      */
     update_system_features(&current_cpu_data);
 
-    mmu_init_secondary_cpu();
-
     gic_init_secondary_cpu();
 
     set_current(idle_vcpu[cpuid]);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:51:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:51:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634381.989812 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3di3-0002rJ-3E; Thu, 16 Nov 2023 14:51:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634381.989812; Thu, 16 Nov 2023 14:51: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 1r3di2-0002r1-Vu; Thu, 16 Nov 2023 14:51:10 +0000
Received: by outflank-mailman (input) for mailman id 634381;
 Thu, 16 Nov 2023 14:51: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=Xmdr=G5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3di1-0001sC-DB
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:51:09 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 913a46b7-848f-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 15:51:04 +0100 (CET)
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 5BDAC1595;
 Thu, 16 Nov 2023 06:51:50 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B2CDF3F73F;
 Thu, 16 Nov 2023 06:51:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 913a46b7-848f-11ee-9b0e-b553b5be7939
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>,
	Michal Orzel <michal.orzel@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 4/8] xen/arm: Extract MMU-specific MM code
Date: Thu, 16 Nov 2023 22:50:28 +0800
Message-Id: <20231116145032.1651305-5-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231116145032.1651305-1-Henry.Wang@arm.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently, most of the code is in arm/mm.{c,h} and arm/arm64/mm.c
is MMU-specific. To make the MM code extendable, this commit extracts
the MMU-specific MM code.

Extract the boot CPU MM bringup code from arm/mm.c to mmu/setup.c.
While moving, mark pte_of_xenaddr() as __init to make clear that
this helper is only intended to be used during early boot.

Move arm/arm64/mm.c to arm/arm64/mmu/mm.c. Since the function
setup_directmap_mappings() has different implementations between
arm32 and arm64, move their arch-specific implementation to
arch-specific arm{32,64}/mmu/mm.c instead using #ifdef again.

For header files, move MMU-related function declarations in
asm/mm.h, declaration of global variable init_ttbr and the
declaration of dump_pt_walk() in asm/page.h to asm/mmu/mm.h

Also modify the build system (Makefiles in this case) to pick above
mentioned code changes.

Take the opportunity to fix the in-code comment coding styles when
possible, and drop the unnecessary #include headers in the original
arm/mm.c.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v9:
- No change.
v8:
- Add Julien's Acked-by tag.
v7:
- Move pte_of_xenaddr() to mmu/setup.c and mark it as __init.
- Also move the declaration of init_ttbr to asm/mmu/mm.h.
v6:
- Rework the original patch
  "[v5,07/13] xen/arm: Extract MMU-specific code"
---
 xen/arch/arm/arm32/Makefile       |   1 +
 xen/arch/arm/arm32/mmu/Makefile   |   1 +
 xen/arch/arm/arm32/mmu/mm.c       |  31 +++
 xen/arch/arm/arm64/Makefile       |   1 -
 xen/arch/arm/arm64/mmu/Makefile   |   1 +
 xen/arch/arm/arm64/{ => mmu}/mm.c |  37 +++
 xen/arch/arm/include/asm/mm.h     |  25 +-
 xen/arch/arm/include/asm/mmu/mm.h |  50 ++++
 xen/arch/arm/include/asm/page.h   |  15 --
 xen/arch/arm/mm.c                 | 385 ------------------------------
 xen/arch/arm/mmu/Makefile         |   1 +
 xen/arch/arm/mmu/setup.c          | 349 +++++++++++++++++++++++++++
 12 files changed, 477 insertions(+), 420 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/Makefile
 create mode 100644 xen/arch/arm/arm32/mmu/mm.c
 rename xen/arch/arm/arm64/{ => mmu}/mm.c (75%)
 create mode 100644 xen/arch/arm/include/asm/mmu/mm.h
 create mode 100644 xen/arch/arm/mmu/setup.c

diff --git a/xen/arch/arm/arm32/Makefile b/xen/arch/arm/arm32/Makefile
index 520fb42054..40a2b4803f 100644
--- a/xen/arch/arm/arm32/Makefile
+++ b/xen/arch/arm/arm32/Makefile
@@ -1,4 +1,5 @@
 obj-y += lib/
+obj-$(CONFIG_MMU) += mmu/
 
 obj-$(CONFIG_EARLY_PRINTK) += debug.o
 obj-y += domctl.o
diff --git a/xen/arch/arm/arm32/mmu/Makefile b/xen/arch/arm/arm32/mmu/Makefile
new file mode 100644
index 0000000000..b18cec4836
--- /dev/null
+++ b/xen/arch/arm/arm32/mmu/Makefile
@@ -0,0 +1 @@
+obj-y += mm.o
diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
new file mode 100644
index 0000000000..647baf4a81
--- /dev/null
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -0,0 +1,31 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <xen/init.h>
+#include <asm/fixmap.h>
+
+/*
+ * Set up the direct-mapped xenheap:
+ * up to 1GB of contiguous, always-mapped memory.
+ */
+void __init setup_directmap_mappings(unsigned long base_mfn,
+                                     unsigned long nr_mfns)
+{
+    int rc;
+
+    rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the directmap mappings.\n");
+
+    /* Record where the directmap is, for translation routines. */
+    directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/arm64/Makefile b/xen/arch/arm/arm64/Makefile
index f89d5fb4fb..72161ff22e 100644
--- a/xen/arch/arm/arm64/Makefile
+++ b/xen/arch/arm/arm64/Makefile
@@ -11,7 +11,6 @@ obj-y += entry.o
 obj-y += head.o
 obj-y += insn.o
 obj-$(CONFIG_LIVEPATCH) += livepatch.o
-obj-y += mm.o
 obj-y += smc.o
 obj-y += smpboot.o
 obj-$(CONFIG_ARM64_SVE) += sve.o sve-asm.o
diff --git a/xen/arch/arm/arm64/mmu/Makefile b/xen/arch/arm/arm64/mmu/Makefile
index 3340058c08..a8a750a3d0 100644
--- a/xen/arch/arm/arm64/mmu/Makefile
+++ b/xen/arch/arm/arm64/mmu/Makefile
@@ -1 +1,2 @@
 obj-y += head.o
+obj-y += mm.o
diff --git a/xen/arch/arm/arm64/mm.c b/xen/arch/arm/arm64/mmu/mm.c
similarity index 75%
rename from xen/arch/arm/arm64/mm.c
rename to xen/arch/arm/arm64/mmu/mm.c
index cb69df0661..e68edd6151 100644
--- a/xen/arch/arm/arm64/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -153,6 +153,43 @@ void __init switch_ttbr(uint64_t ttbr)
     update_identity_mapping(false);
 }
 
+/* Map the region in the directmap area. */
+void __init setup_directmap_mappings(unsigned long base_mfn,
+                                     unsigned long nr_mfns)
+{
+    int rc;
+
+    /* First call sets the directmap physical and virtual offset. */
+    if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
+    {
+        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
+
+        directmap_mfn_start = _mfn(base_mfn);
+        directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
+        /*
+         * The base address may not be aligned to the first level
+         * size (e.g. 1GB when using 4KB pages). This would prevent
+         * superpage mappings for all the regions because the virtual
+         * address and machine address should both be suitably aligned.
+         *
+         * Prevent that by offsetting the start of the directmap virtual
+         * address.
+         */
+        directmap_virt_start = DIRECTMAP_VIRT_START +
+            (base_mfn - mfn_gb) * PAGE_SIZE;
+    }
+
+    if ( base_mfn < mfn_x(directmap_mfn_start) )
+        panic("cannot add directmap mapping at %lx below heap start %lx\n",
+              base_mfn, mfn_x(directmap_mfn_start));
+
+    rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
+                          _mfn(base_mfn), nr_mfns,
+                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
+    if ( rc )
+        panic("Unable to setup the directmap mappings.\n");
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index 163d22ecd3..d23ebc7df6 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -14,6 +14,12 @@
 # error "unknown ARM variant"
 #endif
 
+#if defined(CONFIG_MMU)
+# include <asm/mmu/mm.h>
+#else
+# error "Unknown memory management layout"
+#endif
+
 /* Align Xen to a 2 MiB boundary. */
 #define XEN_PADDR_ALIGN (1 << 21)
 
@@ -165,16 +171,6 @@ struct page_info
 #define _PGC_need_scrub   _PGC_allocated
 #define PGC_need_scrub    PGC_allocated
 
-/* Non-boot CPUs use this to find the correct pagetables. */
-extern uint64_t init_ttbr;
-
-extern mfn_t directmap_mfn_start, directmap_mfn_end;
-extern vaddr_t directmap_virt_end;
-#ifdef CONFIG_ARM_64
-extern vaddr_t directmap_virt_start;
-extern unsigned long directmap_base_pdx;
-#endif
-
 #ifdef CONFIG_ARM_32
 #define is_xen_heap_page(page) is_xen_heap_mfn(page_to_mfn(page))
 #define is_xen_heap_mfn(mfn) ({                                 \
@@ -197,7 +193,6 @@ extern unsigned long directmap_base_pdx;
 
 #define maddr_get_owner(ma)   (page_get_owner(maddr_to_page((ma))))
 
-#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
 /* PDX of the first page in the frame table. */
 extern unsigned long frametable_base_pdx;
 
@@ -207,19 +202,11 @@ extern unsigned long frametable_base_pdx;
 extern void setup_pagetables(unsigned long boot_phys_offset);
 /* Map FDT in boot pagetable */
 extern void *early_fdt_map(paddr_t fdt_paddr);
-/* Switch to a new root page-tables */
-extern void switch_ttbr(uint64_t ttbr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
 /* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
  * new page table */
 extern int init_secondary_pagetables(int cpu);
-/*
- * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
- * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
- * For Arm64, map the region in the directmap area.
- */
-extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
 /* map a physical range in virtual memory */
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
new file mode 100644
index 0000000000..439ae314fd
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef __ARM_MMU_MM_H__
+#define __ARM_MMU_MM_H__
+
+/* Non-boot CPUs use this to find the correct pagetables. */
+extern uint64_t init_ttbr;
+
+extern mfn_t directmap_mfn_start, directmap_mfn_end;
+extern vaddr_t directmap_virt_end;
+#ifdef CONFIG_ARM_64
+extern vaddr_t directmap_virt_start;
+extern unsigned long directmap_base_pdx;
+#endif
+
+#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
+
+/*
+ * Print a walk of a page table or p2m
+ *
+ * ttbr is the base address register (TTBR0_EL2 or VTTBR_EL2)
+ * addr is the PA or IPA to translate
+ * root_level is the starting level of the page table
+ *   (e.g. TCR_EL2.SL0 or VTCR_EL2.SL0 )
+ * nr_root_tables is the number of concatenated tables at the root.
+ *   this can only be != 1 for P2M walks starting at the first or
+ *   subsequent level.
+ */
+void dump_pt_walk(paddr_t ttbr, paddr_t addr,
+                  unsigned int root_level,
+                  unsigned int nr_root_tables);
+
+/* Switch to a new root page-tables */
+extern void switch_ttbr(uint64_t ttbr);
+/*
+ * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
+ * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
+ * For Arm64, map the region in the directmap area.
+ */
+extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
+
+#endif /* __ARM_MMU_MM_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/page.h b/xen/arch/arm/include/asm/page.h
index aa0080e8d7..ebaf5964f1 100644
--- a/xen/arch/arm/include/asm/page.h
+++ b/xen/arch/arm/include/asm/page.h
@@ -264,21 +264,6 @@ static inline void write_pte(lpae_t *p, lpae_t pte)
 /* Flush the dcache for an entire page. */
 void flush_page_to_ram(unsigned long mfn, bool sync_icache);
 
-/*
- * Print a walk of a page table or p2m
- *
- * ttbr is the base address register (TTBR0_EL2 or VTTBR_EL2)
- * addr is the PA or IPA to translate
- * root_level is the starting level of the page table
- *   (e.g. TCR_EL2.SL0 or VTCR_EL2.SL0 )
- * nr_root_tables is the number of concatenated tables at the root.
- *   this can only be != 1 for P2M walks starting at the first or
- *   subsequent level.
- */
-void dump_pt_walk(paddr_t ttbr, paddr_t addr,
-                  unsigned int root_level,
-                  unsigned int nr_root_tables);
-
 /* Print a walk of the hypervisor's page tables for a virtual addr. */
 extern void dump_hyp_walk(vaddr_t addr);
 /* Print a walk of the p2m for a domain for a physical address. */
diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index 923a90925c..eeb65ca6bb 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -11,136 +11,19 @@
 #include <xen/domain_page.h>
 #include <xen/grant_table.h>
 #include <xen/guest_access.h>
-#include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
-#include <xen/sizes.h>
 
 #include <xsm/xsm.h>
 
-#include <asm/setup.h>
-
 #include <public/memory.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
 #define virt_to_mfn(va) _mfn(__virt_to_mfn(va))
-#undef mfn_to_virt
-#define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
-
-/* Main runtime page tables */
-
-/*
- * For arm32 xen_pgtable are per-PCPU and are allocated before
- * bringing up each CPU. For arm64 xen_pgtable is common to all PCPUs.
- *
- * xen_second, xen_fixmap and xen_xenmap are always shared between all
- * PCPUs.
- */
-
-#ifdef CONFIG_ARM_64
-DEFINE_PAGE_TABLE(xen_pgtable);
-static DEFINE_PAGE_TABLE(xen_first);
-#define THIS_CPU_PGTABLE xen_pgtable
-#else
-/* Per-CPU pagetable pages */
-/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
-DEFINE_PER_CPU(lpae_t *, xen_pgtable);
-#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
-/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
-static DEFINE_PAGE_TABLE(cpu0_pgtable);
-#endif
-
-/* Common pagetable leaves */
-/* Second level page table used to cover Xen virtual address space */
-static DEFINE_PAGE_TABLE(xen_second);
-/* Third level page table used for fixmap */
-DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
-/*
- * Third level page table used to map Xen itself with the XN bit set
- * as appropriate.
- */
-static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
-
-static paddr_t phys_offset;
-
-/* Limits of the Xen heap */
-mfn_t directmap_mfn_start __read_mostly = INVALID_MFN_INITIALIZER;
-mfn_t directmap_mfn_end __read_mostly;
-vaddr_t directmap_virt_end __read_mostly;
-#ifdef CONFIG_ARM_64
-vaddr_t directmap_virt_start __read_mostly;
-unsigned long directmap_base_pdx __read_mostly;
-#endif
 
 unsigned long frametable_base_pdx __read_mostly;
 unsigned long frametable_virt_end __read_mostly;
 
-extern char __init_begin[], __init_end[];
-
-/* Checking VA memory layout alignment. */
-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);
-    /* 1GB aligned regions */
-#ifdef CONFIG_ARM_32
-    BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
-#else
-    BUILD_BUG_ON(DIRECTMAP_VIRT_START & ~FIRST_MASK);
-#endif
-    /* Page table structure constraints */
-#ifdef CONFIG_ARM_64
-    /*
-     * The first few slots of the L0 table is reserved for the identity
-     * mapping. Check that none of the other regions are overlapping
-     * with it.
-     */
-#define CHECK_OVERLAP_WITH_IDMAP(virt) \
-    BUILD_BUG_ON(zeroeth_table_offset(virt) < IDENTITY_MAPPING_AREA_NR_L0)
-
-    CHECK_OVERLAP_WITH_IDMAP(XEN_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(VMAP_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(FRAMETABLE_VIRT_START);
-    CHECK_OVERLAP_WITH_IDMAP(DIRECTMAP_VIRT_START);
-#undef CHECK_OVERLAP_WITH_IDMAP
-#endif
-    BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
-#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
-    BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
-#endif
-    /*
-     * The boot code expects the regions XEN_VIRT_START, FIXMAP_ADDR(0),
-     * BOOT_FDT_VIRT_START to use the same 0th (arm64 only) and 1st
-     * slot in the page tables.
-     */
-#define CHECK_SAME_SLOT(level, virt1, virt2) \
-    BUILD_BUG_ON(level##_table_offset(virt1) != level##_table_offset(virt2))
-
-#define CHECK_DIFFERENT_SLOT(level, virt1, virt2) \
-    BUILD_BUG_ON(level##_table_offset(virt1) == level##_table_offset(virt2))
-
-#ifdef CONFIG_ARM_64
-    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, FIXMAP_ADDR(0));
-    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, BOOT_FDT_VIRT_START);
-#endif
-    CHECK_SAME_SLOT(first, XEN_VIRT_START, FIXMAP_ADDR(0));
-    CHECK_SAME_SLOT(first, XEN_VIRT_START, BOOT_FDT_VIRT_START);
-
-    /*
-     * For arm32, the temporary mapping will re-use the domheap
-     * first slot and the second slots will match.
-     */
-#ifdef CONFIG_ARM_32
-    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
-    CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
-    CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
-#endif
-
-#undef CHECK_SAME_SLOT
-#undef CHECK_DIFFERENT_SLOT
-}
-
 void flush_page_to_ram(unsigned long mfn, bool sync_icache)
 {
     void *v = map_domain_page(_mfn(mfn));
@@ -160,229 +43,6 @@ void flush_page_to_ram(unsigned long mfn, bool sync_icache)
         invalidate_icache();
 }
 
-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);
-}
-
-void * __init early_fdt_map(paddr_t fdt_paddr)
-{
-    /* We are using 2MB superpage for mapping the FDT */
-    paddr_t base_paddr = fdt_paddr & SECOND_MASK;
-    paddr_t offset;
-    void *fdt_virt;
-    uint32_t size;
-    int rc;
-
-    /*
-     * Check whether the physical FDT address is set and meets the minimum
-     * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be at
-     * least 8 bytes so that we always access the magic and size fields
-     * of the FDT header after mapping the first chunk, double check if
-     * that is indeed the case.
-     */
-    BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
-    if ( !fdt_paddr || fdt_paddr % MIN_FDT_ALIGN )
-        return NULL;
-
-    /* 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");
-
-
-    offset = fdt_paddr % SECOND_SIZE;
-    fdt_virt = (void *)BOOT_FDT_VIRT_START + offset;
-
-    if ( fdt_magic(fdt_virt) != FDT_MAGIC )
-        return NULL;
-
-    size = fdt_totalsize(fdt_virt);
-    if ( size > MAX_FDT_SIZE )
-        return NULL;
-
-    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");
-    }
-
-    return fdt_virt;
-}
-
-void __init remove_early_mappings(void)
-{
-    int rc;
-
-    /* destroy the _PAGE_BLOCK mapping */
-    rc = modify_xen_mappings(BOOT_FDT_VIRT_START,
-                             BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE,
-                             _PAGE_BLOCK);
-    BUG_ON(rc);
-}
-
-/*
- * After boot, Xen page-tables should not contain mapping that are both
- * Writable and eXecutables.
- *
- * This should be called on each CPU to enforce the policy.
- */
-static void xen_pt_enforce_wnx(void)
-{
-    WRITE_SYSREG(READ_SYSREG(SCTLR_EL2) | SCTLR_Axx_ELx_WXN, SCTLR_EL2);
-    /*
-     * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
-     * before flushing the TLBs.
-     */
-    isb();
-    flush_xen_tlb_local();
-}
-
-/* Boot-time pagetable setup.
- * Changes here may need matching changes in head.S */
-void __init setup_pagetables(unsigned long boot_phys_offset)
-{
-    uint64_t ttbr;
-    lpae_t pte, *p;
-    int i;
-
-    phys_offset = boot_phys_offset;
-
-    arch_setup_page_tables();
-
-#ifdef CONFIG_ARM_64
-    pte = pte_of_xenaddr((uintptr_t)xen_first);
-    pte.pt.table = 1;
-    pte.pt.xn = 0;
-    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
-
-    p = (void *) xen_first;
-#else
-    p = (void *) cpu0_pgtable;
-#endif
-
-    /* Map xen second level page-table */
-    p[0] = pte_of_xenaddr((uintptr_t)(xen_second));
-    p[0].pt.table = 1;
-    p[0].pt.xn = 0;
-
-    /* Break up the Xen mapping into pages and protect them separately. */
-    for ( i = 0; i < XEN_NR_ENTRIES(3); i++ )
-    {
-        vaddr_t va = XEN_VIRT_START + (i << PAGE_SHIFT);
-
-        if ( !is_kernel(va) )
-            break;
-        pte = pte_of_xenaddr(va);
-        pte.pt.table = 1; /* third level mappings always have this bit set */
-        if ( is_kernel_text(va) || is_kernel_inittext(va) )
-        {
-            pte.pt.xn = 0;
-            pte.pt.ro = 1;
-        }
-        if ( is_kernel_rodata(va) )
-            pte.pt.ro = 1;
-        xen_xenmap[i] = pte;
-    }
-
-    /* Initialise xen second level entries ... */
-    /* ... Xen's text etc */
-    for ( i = 0; i < XEN_NR_ENTRIES(2); i++ )
-    {
-        vaddr_t va = XEN_VIRT_START + (i << XEN_PT_LEVEL_SHIFT(2));
-
-        pte = pte_of_xenaddr((vaddr_t)(xen_xenmap + i * XEN_PT_LPAE_ENTRIES));
-        pte.pt.table = 1;
-        xen_second[second_table_offset(va)] = pte;
-    }
-
-    /* ... Fixmap */
-    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
-    pte.pt.table = 1;
-    xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
-
-#ifdef CONFIG_ARM_64
-    ttbr = (uintptr_t) xen_pgtable + phys_offset;
-#else
-    ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
-#endif
-
-    switch_ttbr(ttbr);
-
-    xen_pt_enforce_wnx();
-
-#ifdef CONFIG_ARM_32
-    per_cpu(xen_pgtable, 0) = cpu0_pgtable;
-#endif
-}
-
-#ifdef CONFIG_ARM_32
-/*
- * Set up the direct-mapped xenheap:
- * up to 1GB of contiguous, always-mapped memory.
- */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
-{
-    int rc;
-
-    rc = map_pages_to_xen(XENHEAP_VIRT_START, _mfn(base_mfn), nr_mfns,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the directmap mappings.\n");
-
-    /* Record where the directmap is, for translation routines. */
-    directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
-}
-#else /* CONFIG_ARM_64 */
-/* Map the region in the directmap area. */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
-{
-    int rc;
-
-    /* First call sets the directmap physical and virtual offset. */
-    if ( mfn_eq(directmap_mfn_start, INVALID_MFN) )
-    {
-        unsigned long mfn_gb = base_mfn & ~((FIRST_SIZE >> PAGE_SHIFT) - 1);
-
-        directmap_mfn_start = _mfn(base_mfn);
-        directmap_base_pdx = mfn_to_pdx(_mfn(base_mfn));
-        /*
-         * The base address may not be aligned to the first level
-         * size (e.g. 1GB when using 4KB pages). This would prevent
-         * superpage mappings for all the regions because the virtual
-         * address and machine address should both be suitably aligned.
-         *
-         * Prevent that by offsetting the start of the directmap virtual
-         * address.
-         */
-        directmap_virt_start = DIRECTMAP_VIRT_START +
-            (base_mfn - mfn_gb) * PAGE_SIZE;
-    }
-
-    if ( base_mfn < mfn_x(directmap_mfn_start) )
-        panic("cannot add directmap mapping at %lx below heap start %lx\n",
-              base_mfn, mfn_x(directmap_mfn_start));
-
-    rc = map_pages_to_xen((vaddr_t)__mfn_to_virt(base_mfn),
-                          _mfn(base_mfn), nr_mfns,
-                          PAGE_HYPERVISOR_RW | _PAGE_BLOCK);
-    if ( rc )
-        panic("Unable to setup the directmap mappings.\n");
-}
-#endif
-
 /* Map a frame table to cover physical addresses ps through pe */
 void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
 {
@@ -422,51 +82,6 @@ void __init setup_frametable_mappings(paddr_t ps, paddr_t pe)
     frametable_virt_end = FRAMETABLE_VIRT_START + (nr_pdxs * sizeof(struct page_info));
 }
 
-void *__init arch_vmap_virt_end(void)
-{
-    return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
-}
-
-/* Release all __init and __initdata ranges to be reused */
-void free_init_memory(void)
-{
-    paddr_t pa = virt_to_maddr(__init_begin);
-    unsigned long len = __init_end - __init_begin;
-    uint32_t insn;
-    unsigned int i, nr = len / sizeof(insn);
-    uint32_t *p;
-    int rc;
-
-    rc = modify_xen_mappings((unsigned long)__init_begin,
-                             (unsigned long)__init_end, PAGE_HYPERVISOR_RW);
-    if ( rc )
-        panic("Unable to map RW the init section (rc = %d)\n", rc);
-
-    /*
-     * From now on, init will not be used for execution anymore,
-     * so nuke the instruction cache to remove entries related to init.
-     */
-    invalidate_icache_local();
-
-#ifdef CONFIG_ARM_32
-    /* udf instruction i.e (see A8.8.247 in ARM DDI 0406C.c) */
-    insn = 0xe7f000f0;
-#else
-    insn = AARCH64_BREAK_FAULT;
-#endif
-    p = (uint32_t *)__init_begin;
-    for ( i = 0; i < nr; i++ )
-        *(p + i) = insn;
-
-    rc = destroy_xen_mappings((unsigned long)__init_begin,
-                              (unsigned long)__init_end);
-    if ( rc )
-        panic("Unable to remove the init section (rc = %d)\n", rc);
-
-    init_domheap_pages(pa, pa + len);
-    printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>>10);
-}
-
 int steal_page(
     struct domain *d, struct page_info *page, unsigned int memflags)
 {
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index 0e82015ee1..98aea965df 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1,2 +1,3 @@
 obj-y += pt.o
+obj-y += setup.o
 obj-y += smpboot.o
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
new file mode 100644
index 0000000000..c2df976ab2
--- /dev/null
+++ b/xen/arch/arm/mmu/setup.c
@@ -0,0 +1,349 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/mmu/setup.c
+ *
+ * MMU system boot CPU MM bringup code.
+ */
+
+#include <xen/init.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/sizes.h>
+
+#include <asm/fixmap.h>
+
+/* Override macros from asm/page.h to make them work with mfn_t */
+#undef mfn_to_virt
+#define mfn_to_virt(mfn) __mfn_to_virt(mfn_x(mfn))
+
+/* Main runtime page tables */
+
+/*
+ * For arm32 xen_pgtable are per-PCPU and are allocated before
+ * bringing up each CPU. For arm64 xen_pgtable is common to all PCPUs.
+ *
+ * xen_second, xen_fixmap and xen_xenmap are always shared between all
+ * PCPUs.
+ */
+
+#ifdef CONFIG_ARM_64
+DEFINE_PAGE_TABLE(xen_pgtable);
+static DEFINE_PAGE_TABLE(xen_first);
+#define THIS_CPU_PGTABLE xen_pgtable
+#else
+/* Per-CPU pagetable pages */
+/* xen_pgtable == root of the trie (zeroeth level on 64-bit, first on 32-bit) */
+DEFINE_PER_CPU(lpae_t *, xen_pgtable);
+#define THIS_CPU_PGTABLE this_cpu(xen_pgtable)
+/* Root of the trie for cpu0, other CPU's PTs are dynamically allocated */
+static DEFINE_PAGE_TABLE(cpu0_pgtable);
+#endif
+
+/* Common pagetable leaves */
+/* Second level page table used to cover Xen virtual address space */
+static DEFINE_PAGE_TABLE(xen_second);
+/* Third level page table used for fixmap */
+DEFINE_BOOT_PAGE_TABLE(xen_fixmap);
+/*
+ * Third level page table used to map Xen itself with the XN bit set
+ * as appropriate.
+ */
+static DEFINE_PAGE_TABLES(xen_xenmap, XEN_NR_ENTRIES(2));
+
+static paddr_t phys_offset;
+
+/* Limits of the Xen heap */
+mfn_t directmap_mfn_start __read_mostly = INVALID_MFN_INITIALIZER;
+mfn_t directmap_mfn_end __read_mostly;
+vaddr_t directmap_virt_end __read_mostly;
+#ifdef CONFIG_ARM_64
+vaddr_t directmap_virt_start __read_mostly;
+unsigned long directmap_base_pdx __read_mostly;
+#endif
+
+extern char __init_begin[], __init_end[];
+
+/* Checking VA memory layout alignment. */
+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);
+    /* 1GB aligned regions */
+#ifdef CONFIG_ARM_32
+    BUILD_BUG_ON(XENHEAP_VIRT_START & ~FIRST_MASK);
+#else
+    BUILD_BUG_ON(DIRECTMAP_VIRT_START & ~FIRST_MASK);
+#endif
+    /* Page table structure constraints */
+#ifdef CONFIG_ARM_64
+    /*
+     * The first few slots of the L0 table is reserved for the identity
+     * mapping. Check that none of the other regions are overlapping
+     * with it.
+     */
+#define CHECK_OVERLAP_WITH_IDMAP(virt) \
+    BUILD_BUG_ON(zeroeth_table_offset(virt) < IDENTITY_MAPPING_AREA_NR_L0)
+
+    CHECK_OVERLAP_WITH_IDMAP(XEN_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(VMAP_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(FRAMETABLE_VIRT_START);
+    CHECK_OVERLAP_WITH_IDMAP(DIRECTMAP_VIRT_START);
+#undef CHECK_OVERLAP_WITH_IDMAP
+#endif
+    BUILD_BUG_ON(first_table_offset(XEN_VIRT_START));
+#ifdef CONFIG_ARCH_MAP_DOMAIN_PAGE
+    BUILD_BUG_ON(DOMHEAP_VIRT_START & ~FIRST_MASK);
+#endif
+    /*
+     * The boot code expects the regions XEN_VIRT_START, FIXMAP_ADDR(0),
+     * BOOT_FDT_VIRT_START to use the same 0th (arm64 only) and 1st
+     * slot in the page tables.
+     */
+#define CHECK_SAME_SLOT(level, virt1, virt2) \
+    BUILD_BUG_ON(level##_table_offset(virt1) != level##_table_offset(virt2))
+
+#define CHECK_DIFFERENT_SLOT(level, virt1, virt2) \
+    BUILD_BUG_ON(level##_table_offset(virt1) == level##_table_offset(virt2))
+
+#ifdef CONFIG_ARM_64
+    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, FIXMAP_ADDR(0));
+    CHECK_SAME_SLOT(zeroeth, XEN_VIRT_START, BOOT_FDT_VIRT_START);
+#endif
+    CHECK_SAME_SLOT(first, XEN_VIRT_START, FIXMAP_ADDR(0));
+    CHECK_SAME_SLOT(first, XEN_VIRT_START, BOOT_FDT_VIRT_START);
+
+    /*
+     * For arm32, the temporary mapping will re-use the domheap
+     * first slot and the second slots will match.
+     */
+#ifdef CONFIG_ARM_32
+    CHECK_SAME_SLOT(first, TEMPORARY_XEN_VIRT_START, DOMHEAP_VIRT_START);
+    CHECK_DIFFERENT_SLOT(first, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+    CHECK_SAME_SLOT(second, XEN_VIRT_START, TEMPORARY_XEN_VIRT_START);
+#endif
+
+#undef CHECK_SAME_SLOT
+#undef CHECK_DIFFERENT_SLOT
+}
+
+lpae_t __init pte_of_xenaddr(vaddr_t va)
+{
+    paddr_t ma = va + phys_offset;
+
+    return mfn_to_xen_entry(maddr_to_mfn(ma), MT_NORMAL);
+}
+
+void * __init early_fdt_map(paddr_t fdt_paddr)
+{
+    /* We are using 2MB superpage for mapping the FDT */
+    paddr_t base_paddr = fdt_paddr & SECOND_MASK;
+    paddr_t offset;
+    void *fdt_virt;
+    uint32_t size;
+    int rc;
+
+    /*
+     * Check whether the physical FDT address is set and meets the minimum
+     * alignment requirement. Since we are relying on MIN_FDT_ALIGN to be at
+     * least 8 bytes so that we always access the magic and size fields
+     * of the FDT header after mapping the first chunk, double check if
+     * that is indeed the case.
+     */
+    BUILD_BUG_ON(MIN_FDT_ALIGN < 8);
+    if ( !fdt_paddr || fdt_paddr % MIN_FDT_ALIGN )
+        return NULL;
+
+    /* 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");
+
+
+    offset = fdt_paddr % SECOND_SIZE;
+    fdt_virt = (void *)BOOT_FDT_VIRT_START + offset;
+
+    if ( fdt_magic(fdt_virt) != FDT_MAGIC )
+        return NULL;
+
+    size = fdt_totalsize(fdt_virt);
+    if ( size > MAX_FDT_SIZE )
+        return NULL;
+
+    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");
+    }
+
+    return fdt_virt;
+}
+
+void __init remove_early_mappings(void)
+{
+    int rc;
+
+    /* destroy the _PAGE_BLOCK mapping */
+    rc = modify_xen_mappings(BOOT_FDT_VIRT_START,
+                             BOOT_FDT_VIRT_START + BOOT_FDT_VIRT_SIZE,
+                             _PAGE_BLOCK);
+    BUG_ON(rc);
+}
+
+/*
+ * After boot, Xen page-tables should not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each CPU to enforce the policy.
+ */
+static void xen_pt_enforce_wnx(void)
+{
+    WRITE_SYSREG(READ_SYSREG(SCTLR_EL2) | SCTLR_Axx_ELx_WXN, SCTLR_EL2);
+    /*
+     * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+     * before flushing the TLBs.
+     */
+    isb();
+    flush_xen_tlb_local();
+}
+
+/*
+ * Boot-time pagetable setup.
+ * Changes here may need matching changes in head.S
+ */
+void __init setup_pagetables(unsigned long boot_phys_offset)
+{
+    uint64_t ttbr;
+    lpae_t pte, *p;
+    int i;
+
+    phys_offset = boot_phys_offset;
+
+    arch_setup_page_tables();
+
+#ifdef CONFIG_ARM_64
+    pte = pte_of_xenaddr((uintptr_t)xen_first);
+    pte.pt.table = 1;
+    pte.pt.xn = 0;
+    xen_pgtable[zeroeth_table_offset(XEN_VIRT_START)] = pte;
+
+    p = (void *) xen_first;
+#else
+    p = (void *) cpu0_pgtable;
+#endif
+
+    /* Map xen second level page-table */
+    p[0] = pte_of_xenaddr((uintptr_t)(xen_second));
+    p[0].pt.table = 1;
+    p[0].pt.xn = 0;
+
+    /* Break up the Xen mapping into pages and protect them separately. */
+    for ( i = 0; i < XEN_NR_ENTRIES(3); i++ )
+    {
+        vaddr_t va = XEN_VIRT_START + (i << PAGE_SHIFT);
+
+        if ( !is_kernel(va) )
+            break;
+        pte = pte_of_xenaddr(va);
+        pte.pt.table = 1; /* third level mappings always have this bit set */
+        if ( is_kernel_text(va) || is_kernel_inittext(va) )
+        {
+            pte.pt.xn = 0;
+            pte.pt.ro = 1;
+        }
+        if ( is_kernel_rodata(va) )
+            pte.pt.ro = 1;
+        xen_xenmap[i] = pte;
+    }
+
+    /* Initialise xen second level entries ... */
+    /* ... Xen's text etc */
+    for ( i = 0; i < XEN_NR_ENTRIES(2); i++ )
+    {
+        vaddr_t va = XEN_VIRT_START + (i << XEN_PT_LEVEL_SHIFT(2));
+
+        pte = pte_of_xenaddr((vaddr_t)(xen_xenmap + i * XEN_PT_LPAE_ENTRIES));
+        pte.pt.table = 1;
+        xen_second[second_table_offset(va)] = pte;
+    }
+
+    /* ... Fixmap */
+    pte = pte_of_xenaddr((vaddr_t)xen_fixmap);
+    pte.pt.table = 1;
+    xen_second[second_table_offset(FIXMAP_ADDR(0))] = pte;
+
+#ifdef CONFIG_ARM_64
+    ttbr = (uintptr_t) xen_pgtable + phys_offset;
+#else
+    ttbr = (uintptr_t) cpu0_pgtable + phys_offset;
+#endif
+
+    switch_ttbr(ttbr);
+
+    xen_pt_enforce_wnx();
+
+#ifdef CONFIG_ARM_32
+    per_cpu(xen_pgtable, 0) = cpu0_pgtable;
+#endif
+}
+
+void *__init arch_vmap_virt_end(void)
+{
+    return (void *)(VMAP_VIRT_START + VMAP_VIRT_SIZE);
+}
+
+/* Release all __init and __initdata ranges to be reused */
+void free_init_memory(void)
+{
+    paddr_t pa = virt_to_maddr(__init_begin);
+    unsigned long len = __init_end - __init_begin;
+    uint32_t insn;
+    unsigned int i, nr = len / sizeof(insn);
+    uint32_t *p;
+    int rc;
+
+    rc = modify_xen_mappings((unsigned long)__init_begin,
+                             (unsigned long)__init_end, PAGE_HYPERVISOR_RW);
+    if ( rc )
+        panic("Unable to map RW the init section (rc = %d)\n", rc);
+
+    /*
+     * From now on, init will not be used for execution anymore,
+     * so nuke the instruction cache to remove entries related to init.
+     */
+    invalidate_icache_local();
+
+#ifdef CONFIG_ARM_32
+    /* udf instruction i.e (see A8.8.247 in ARM DDI 0406C.c) */
+    insn = 0xe7f000f0;
+#else
+    insn = AARCH64_BREAK_FAULT;
+#endif
+    p = (uint32_t *)__init_begin;
+    for ( i = 0; i < nr; i++ )
+        *(p + i) = insn;
+
+    rc = destroy_xen_mappings((unsigned long)__init_begin,
+                              (unsigned long)__init_end);
+    if ( rc )
+        panic("Unable to remove the init section (rc = %d)\n", rc);
+
+    init_domheap_pages(pa, pa + len);
+    printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>>10);
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:51:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:51:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634384.989822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3di5-0003I7-HX; Thu, 16 Nov 2023 14:51:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634384.989822; Thu, 16 Nov 2023 14:51: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 1r3di5-0003Hu-E4; Thu, 16 Nov 2023 14:51:13 +0000
Received: by outflank-mailman (input) for mailman id 634384;
 Thu, 16 Nov 2023 14:51: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=Xmdr=G5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3di4-0001sC-JV
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:51:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 94417409-848f-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 15:51:10 +0100 (CET)
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 93FA41595;
 Thu, 16 Nov 2023 06:51:55 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id EC1623F73F;
 Thu, 16 Nov 2023 06:51:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94417409-848f-11ee-9b0e-b553b5be7939
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>,
	Michal Orzel <michal.orzel@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 5/8] xen/arm: Split MMU-specific setup_mm() and related code out
Date: Thu, 16 Nov 2023 22:50:29 +0800
Message-Id: <20231116145032.1651305-6-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231116145032.1651305-1-Henry.Wang@arm.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

setup_mm() is used for Xen to setup memory management subsystem,
such as boot allocator, direct-mapping, xenheap initialization,
frametable and static memory pages, at boot time.

We could inherit some components seamlessly for MPU support, such
as the setup of boot allocator, whilst we need to implement some
components differently for MPU, such as xenheap, etc. Also, there
are some components that is specific to MMU only, for example the
direct-mapping.

Therefore in this commit, we split the MMU-specific setup_mm() and
related code out. Since arm32 and arm64 have completely different
setup_mm() implementation, take the opportunity to split the
arch-specific setup_mm() to arch-specific files, so that we can
avoid #ifdef. Also, make init_pdx(), init_staticmem_pages(), and
populate_boot_allocator() public as these functions are now called
from two different units, and make setup_mm() public for future MPU
implementation.

With above code movement, mark setup_directmap_mappings() as static
because the only caller of this function is now in the same file
with it. Drop the original setup_directmap_mappings() declaration
and move the in-code comment on top of the declaration on top of
the function implementation.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v9:
- No change.
v8:
- Reword the commit message about making init_pdx() & co public.
- Add Julien's Acked-by tag.
v7:
- No change.
v6:
- Rework the original patch:
  [v5,10/13] xen/arm: mmu: move MMU-specific setup_mm to mmu/setup.c
---
 xen/arch/arm/arm32/mmu/mm.c       | 278 ++++++++++++++++++++++++-
 xen/arch/arm/arm64/mmu/mm.c       |  51 ++++-
 xen/arch/arm/include/asm/mmu/mm.h |   6 -
 xen/arch/arm/include/asm/setup.h  |   5 +
 xen/arch/arm/setup.c              | 324 +-----------------------------
 5 files changed, 331 insertions(+), 333 deletions(-)

diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index 647baf4a81..94d6cab49c 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -1,14 +1,21 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 
 #include <xen/init.h>
+#include <xen/lib.h>
+#include <xen/libfdt/libfdt-xen.h>
+#include <xen/param.h>
+#include <xen/pfn.h>
 #include <asm/fixmap.h>
 
+static unsigned long opt_xenheap_megabytes __initdata;
+integer_param("xenheap_megabytes", opt_xenheap_megabytes);
+
 /*
- * Set up the direct-mapped xenheap:
- * up to 1GB of contiguous, always-mapped memory.
+ * Set up the direct-mapped xenheap: up to 1GB of contiguous,
+ * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
  */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
+static void __init setup_directmap_mappings(unsigned long base_mfn,
+                                            unsigned long nr_mfns)
 {
     int rc;
 
@@ -21,6 +28,269 @@ void __init setup_directmap_mappings(unsigned long base_mfn,
     directmap_virt_end = XENHEAP_VIRT_START + nr_mfns * PAGE_SIZE;
 }
 
+/*
+ * Returns the end address of the highest region in the range s..e
+ * with required size and alignment that does not conflict with the
+ * modules from first_mod to nr_modules.
+ *
+ * For non-recursive callers first_mod should normally be 0 (all
+ * modules and Xen itself) or 1 (all modules but not Xen).
+ */
+static paddr_t __init consider_modules(paddr_t s, paddr_t e,
+                                       uint32_t size, paddr_t align,
+                                       int first_mod)
+{
+    const struct bootmodules *mi = &bootinfo.modules;
+    int i;
+    int nr;
+
+    s = (s+align-1) & ~(align-1);
+    e = e & ~(align-1);
+
+    if ( s > e ||  e - s < size )
+        return 0;
+
+    /* First check the boot modules */
+    for ( i = first_mod; i < mi->nr_mods; i++ )
+    {
+        paddr_t mod_s = mi->module[i].start;
+        paddr_t mod_e = mod_s + mi->module[i].size;
+
+        if ( s < mod_e && mod_s < e )
+        {
+            mod_e = consider_modules(mod_e, e, size, align, i+1);
+            if ( mod_e )
+                return mod_e;
+
+            return consider_modules(s, mod_s, size, align, i+1);
+        }
+    }
+
+    /* Now check any fdt reserved areas. */
+
+    nr = fdt_num_mem_rsv(device_tree_flattened);
+
+    for ( ; i < mi->nr_mods + nr; i++ )
+    {
+        paddr_t mod_s, mod_e;
+
+        if ( fdt_get_mem_rsv_paddr(device_tree_flattened,
+                                   i - mi->nr_mods,
+                                   &mod_s, &mod_e ) < 0 )
+            /* If we can't read it, pretend it doesn't exist... */
+            continue;
+
+        /* fdt_get_mem_rsv_paddr returns length */
+        mod_e += mod_s;
+
+        if ( s < mod_e && mod_s < e )
+        {
+            mod_e = consider_modules(mod_e, e, size, align, i+1);
+            if ( mod_e )
+                return mod_e;
+
+            return consider_modules(s, mod_s, size, align, i+1);
+        }
+    }
+
+    /*
+     * i is the current bootmodule we are evaluating, across all
+     * possible kinds of bootmodules.
+     *
+     * When retrieving the corresponding reserved-memory addresses, we
+     * need to index the bootinfo.reserved_mem bank starting from 0, and
+     * only counting the reserved-memory modules. Hence, we need to use
+     * i - nr.
+     */
+    nr += mi->nr_mods;
+    for ( ; i - nr < bootinfo.reserved_mem.nr_banks; i++ )
+    {
+        paddr_t r_s = bootinfo.reserved_mem.bank[i - nr].start;
+        paddr_t r_e = r_s + bootinfo.reserved_mem.bank[i - nr].size;
+
+        if ( s < r_e && r_s < e )
+        {
+            r_e = consider_modules(r_e, e, size, align, i + 1);
+            if ( r_e )
+                return r_e;
+
+            return consider_modules(s, r_s, size, align, i + 1);
+        }
+    }
+    return e;
+}
+
+/*
+ * Find a contiguous region that fits in the static heap region with
+ * required size and alignment, and return the end address of the region
+ * if found otherwise 0.
+ */
+static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
+{
+    unsigned int i;
+    paddr_t end = 0, aligned_start, aligned_end;
+    paddr_t bank_start, bank_size, bank_end;
+
+    for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+    {
+        if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
+            continue;
+
+        bank_start = bootinfo.reserved_mem.bank[i].start;
+        bank_size = bootinfo.reserved_mem.bank[i].size;
+        bank_end = bank_start + bank_size;
+
+        if ( bank_size < size )
+            continue;
+
+        aligned_end = bank_end & ~(align - 1);
+        aligned_start = (aligned_end - size) & ~(align - 1);
+
+        if ( aligned_start > bank_start )
+            /*
+             * Allocate the xenheap as high as possible to keep low-memory
+             * available (assuming the admin supplied region below 4GB)
+             * for other use (e.g. domain memory allocation).
+             */
+            end = max(end, aligned_end);
+    }
+
+    return end;
+}
+
+void __init setup_mm(void)
+{
+    paddr_t ram_start, ram_end, ram_size, e, bank_start, bank_end, bank_size;
+    paddr_t static_heap_end = 0, static_heap_size = 0;
+    unsigned long heap_pages, xenheap_pages, domheap_pages;
+    unsigned int i;
+    const uint32_t ctr = READ_CP32(CTR);
+
+    if ( !bootinfo.mem.nr_banks )
+        panic("No memory bank\n");
+
+    /* We only supports instruction caches implementing the IVIPT extension. */
+    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
+        panic("AIVIVT instruction cache not supported\n");
+
+    init_pdx();
+
+    ram_start = bootinfo.mem.bank[0].start;
+    ram_size  = bootinfo.mem.bank[0].size;
+    ram_end   = ram_start + ram_size;
+
+    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
+    {
+        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);
+        ram_end   = max(ram_end,bank_end);
+    }
+
+    total_pages = ram_size >> PAGE_SHIFT;
+
+    if ( bootinfo.static_heap )
+    {
+        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+        {
+            if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
+                continue;
+
+            bank_start = bootinfo.reserved_mem.bank[i].start;
+            bank_size = bootinfo.reserved_mem.bank[i].size;
+            bank_end = bank_start + bank_size;
+
+            static_heap_size += bank_size;
+            static_heap_end = max(static_heap_end, bank_end);
+        }
+
+        heap_pages = static_heap_size >> PAGE_SHIFT;
+    }
+    else
+        heap_pages = total_pages;
+
+    /*
+     * If the user has not requested otherwise via the command line
+     * then locate the xenheap using these constraints:
+     *
+     *  - must be contiguous
+     *  - 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 (or static
+          heap if enabled) if less
+     *  - must be at least 32M
+     *
+     * We try to allocate the largest xenheap possible within these
+     * constraints.
+     */
+    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));
+    }
+
+    do
+    {
+        e = bootinfo.static_heap ?
+            fit_xenheap_in_static_heap(pfn_to_paddr(xenheap_pages), MB(32)) :
+            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 )
+        panic("Not enough space for xenheap\n");
+
+    domheap_pages = heap_pages - xenheap_pages;
+
+    printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages%s)\n",
+           e - (pfn_to_paddr(xenheap_pages)), e, xenheap_pages,
+           opt_xenheap_megabytes ? ", from command-line" : "");
+    printk("Dom heap: %lu pages\n", domheap_pages);
+
+    /*
+     * We need some memory to allocate the page-tables used for the
+     * directmap mappings. So populate the boot allocator first.
+     *
+     * This requires us to set directmap_mfn_{start, end} first so the
+     * direct-mapped Xenheap region can be avoided.
+     */
+    directmap_mfn_start = _mfn((e >> PAGE_SHIFT) - xenheap_pages);
+    directmap_mfn_end = mfn_add(directmap_mfn_start, xenheap_pages);
+
+    populate_boot_allocator();
+
+    setup_directmap_mappings(mfn_x(directmap_mfn_start), xenheap_pages);
+
+    /* Frame table covers all of RAM region, including holes */
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    /*
+     * The allocators may need to use map_domain_page() (such as for
+     * scrubbing pages). So we need to prepare the domheap area first.
+     */
+    if ( !init_domheap_mappings(smp_processor_id()) )
+        panic("CPU%u: Unable to prepare the domheap page-tables\n",
+              smp_processor_id());
+
+    /* Add xenheap memory that was not already added to the boot allocator. */
+    init_xenheap_pages(mfn_to_maddr(directmap_mfn_start),
+                       mfn_to_maddr(directmap_mfn_end));
+
+    init_staticmem_pages();
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index e68edd6151..e05d54c850 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -2,6 +2,7 @@
 
 #include <xen/init.h>
 #include <xen/mm.h>
+#include <xen/pfn.h>
 
 #include <asm/setup.h>
 
@@ -154,8 +155,8 @@ void __init switch_ttbr(uint64_t ttbr)
 }
 
 /* Map the region in the directmap area. */
-void __init setup_directmap_mappings(unsigned long base_mfn,
-                                     unsigned long nr_mfns)
+static void __init setup_directmap_mappings(unsigned long base_mfn,
+                                            unsigned long nr_mfns)
 {
     int rc;
 
@@ -190,6 +191,52 @@ void __init setup_directmap_mappings(unsigned long base_mfn,
         panic("Unable to setup the directmap mappings.\n");
 }
 
+void __init setup_mm(void)
+{
+    const struct meminfo *banks = &bootinfo.mem;
+    paddr_t ram_start = INVALID_PADDR;
+    paddr_t ram_end = 0;
+    paddr_t ram_size = 0;
+    unsigned int i;
+
+    init_pdx();
+
+    /*
+     * We need some memory to allocate the page-tables used for the directmap
+     * mappings. But some regions may contain memory already allocated
+     * for other uses (e.g. modules, reserved-memory...).
+     *
+     * For simplicity, add all the free regions in the boot allocator.
+     */
+    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;
+
+        ram_size = ram_size + bank->size;
+        ram_start = min(ram_start, bank->start);
+        ram_end = max(ram_end, bank_end);
+
+        setup_directmap_mappings(PFN_DOWN(bank->start),
+                                 PFN_DOWN(bank->size));
+    }
+
+    total_pages += ram_size >> PAGE_SHIFT;
+
+    directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
+    directmap_mfn_start = maddr_to_mfn(ram_start);
+    directmap_mfn_end = maddr_to_mfn(ram_end);
+
+    setup_frametable_mappings(ram_start, ram_end);
+    max_page = PFN_DOWN(ram_end);
+
+    init_staticmem_pages();
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/arm/include/asm/mmu/mm.h b/xen/arch/arm/include/asm/mmu/mm.h
index 439ae314fd..c5e03a66bf 100644
--- a/xen/arch/arm/include/asm/mmu/mm.h
+++ b/xen/arch/arm/include/asm/mmu/mm.h
@@ -31,12 +31,6 @@ void dump_pt_walk(paddr_t ttbr, paddr_t addr,
 
 /* Switch to a new root page-tables */
 extern void switch_ttbr(uint64_t ttbr);
-/*
- * For Arm32, set up the direct-mapped xenheap: up to 1GB of contiguous,
- * always-mapped memory. Base must be 32MB aligned and size a multiple of 32MB.
- * For Arm64, map the region in the directmap area.
- */
-extern void setup_directmap_mappings(unsigned long base_mfn, unsigned long nr_mfns);
 
 #endif /* __ARM_MMU_MM_H__ */
 
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 98af6f55f5..6c71f8c31b 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -160,6 +160,11 @@ struct bootcmdline *boot_cmdline_find_by_kind(bootmodule_kind kind);
 struct bootcmdline * boot_cmdline_find_by_name(const char *name);
 const char *boot_module_kind_as_string(bootmodule_kind kind);
 
+void init_pdx(void);
+void init_staticmem_pages(void);
+void populate_boot_allocator(void);
+void setup_mm(void);
+
 extern uint32_t hyp_traps_vector[];
 void init_traps(void);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3f3a45719c..9b90185749 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -58,11 +58,6 @@ struct cpuinfo_arm __read_mostly system_cpuinfo;
 bool __read_mostly acpi_disabled;
 #endif
 
-#ifdef CONFIG_ARM_32
-static unsigned long opt_xenheap_megabytes __initdata;
-integer_param("xenheap_megabytes", opt_xenheap_megabytes);
-#endif
-
 domid_t __read_mostly max_init_domid;
 
 static __used void init_done(void)
@@ -547,138 +542,6 @@ static void * __init relocate_fdt(paddr_t dtb_paddr, size_t dtb_size)
     return fdt;
 }
 
-#ifdef CONFIG_ARM_32
-/*
- * Returns the end address of the highest region in the range s..e
- * with required size and alignment that does not conflict with the
- * modules from first_mod to nr_modules.
- *
- * For non-recursive callers first_mod should normally be 0 (all
- * modules and Xen itself) or 1 (all modules but not Xen).
- */
-static paddr_t __init consider_modules(paddr_t s, paddr_t e,
-                                       uint32_t size, paddr_t align,
-                                       int first_mod)
-{
-    const struct bootmodules *mi = &bootinfo.modules;
-    int i;
-    int nr;
-
-    s = (s+align-1) & ~(align-1);
-    e = e & ~(align-1);
-
-    if ( s > e ||  e - s < size )
-        return 0;
-
-    /* First check the boot modules */
-    for ( i = first_mod; i < mi->nr_mods; i++ )
-    {
-        paddr_t mod_s = mi->module[i].start;
-        paddr_t mod_e = mod_s + mi->module[i].size;
-
-        if ( s < mod_e && mod_s < e )
-        {
-            mod_e = consider_modules(mod_e, e, size, align, i+1);
-            if ( mod_e )
-                return mod_e;
-
-            return consider_modules(s, mod_s, size, align, i+1);
-        }
-    }
-
-    /* Now check any fdt reserved areas. */
-
-    nr = fdt_num_mem_rsv(device_tree_flattened);
-
-    for ( ; i < mi->nr_mods + nr; i++ )
-    {
-        paddr_t mod_s, mod_e;
-
-        if ( fdt_get_mem_rsv_paddr(device_tree_flattened,
-                                   i - mi->nr_mods,
-                                   &mod_s, &mod_e ) < 0 )
-            /* If we can't read it, pretend it doesn't exist... */
-            continue;
-
-        /* fdt_get_mem_rsv_paddr returns length */
-        mod_e += mod_s;
-
-        if ( s < mod_e && mod_s < e )
-        {
-            mod_e = consider_modules(mod_e, e, size, align, i+1);
-            if ( mod_e )
-                return mod_e;
-
-            return consider_modules(s, mod_s, size, align, i+1);
-        }
-    }
-
-    /*
-     * i is the current bootmodule we are evaluating, across all
-     * possible kinds of bootmodules.
-     *
-     * When retrieving the corresponding reserved-memory addresses, we
-     * need to index the bootinfo.reserved_mem bank starting from 0, and
-     * only counting the reserved-memory modules. Hence, we need to use
-     * i - nr.
-     */
-    nr += mi->nr_mods;
-    for ( ; i - nr < bootinfo.reserved_mem.nr_banks; i++ )
-    {
-        paddr_t r_s = bootinfo.reserved_mem.bank[i - nr].start;
-        paddr_t r_e = r_s + bootinfo.reserved_mem.bank[i - nr].size;
-
-        if ( s < r_e && r_s < e )
-        {
-            r_e = consider_modules(r_e, e, size, align, i + 1);
-            if ( r_e )
-                return r_e;
-
-            return consider_modules(s, r_s, size, align, i + 1);
-        }
-    }
-    return e;
-}
-
-/*
- * Find a contiguous region that fits in the static heap region with
- * required size and alignment, and return the end address of the region
- * if found otherwise 0.
- */
-static paddr_t __init fit_xenheap_in_static_heap(uint32_t size, paddr_t align)
-{
-    unsigned int i;
-    paddr_t end = 0, aligned_start, aligned_end;
-    paddr_t bank_start, bank_size, bank_end;
-
-    for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
-    {
-        if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
-            continue;
-
-        bank_start = bootinfo.reserved_mem.bank[i].start;
-        bank_size = bootinfo.reserved_mem.bank[i].size;
-        bank_end = bank_start + bank_size;
-
-        if ( bank_size < size )
-            continue;
-
-        aligned_end = bank_end & ~(align - 1);
-        aligned_start = (aligned_end - size) & ~(align - 1);
-
-        if ( aligned_start > bank_start )
-            /*
-             * Allocate the xenheap as high as possible to keep low-memory
-             * available (assuming the admin supplied region below 4GB)
-             * for other use (e.g. domain memory allocation).
-             */
-            end = max(end, aligned_end);
-    }
-
-    return end;
-}
-#endif
-
 /*
  * Return the end of the non-module region starting at s. In other
  * words return s the start of the next modules after s.
@@ -713,7 +576,7 @@ static paddr_t __init next_module(paddr_t s, paddr_t *end)
     return lowest;
 }
 
-static void __init init_pdx(void)
+void __init init_pdx(void)
 {
     paddr_t bank_start, bank_size, bank_end;
 
@@ -758,7 +621,7 @@ static void __init init_pdx(void)
 }
 
 /* Static memory initialization */
-static void __init init_staticmem_pages(void)
+void __init init_staticmem_pages(void)
 {
 #ifdef CONFIG_STATIC_MEMORY
     unsigned int bank;
@@ -792,7 +655,7 @@ static void __init init_staticmem_pages(void)
  * allocator with the corresponding regions only, but with Xenheap excluded
  * on arm32.
  */
-static void __init populate_boot_allocator(void)
+void __init populate_boot_allocator(void)
 {
     unsigned int i;
     const struct meminfo *banks = &bootinfo.mem;
@@ -861,187 +724,6 @@ 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, bank_start, bank_end, bank_size;
-    paddr_t static_heap_end = 0, static_heap_size = 0;
-    unsigned long heap_pages, xenheap_pages, domheap_pages;
-    unsigned int i;
-    const uint32_t ctr = READ_CP32(CTR);
-
-    if ( !bootinfo.mem.nr_banks )
-        panic("No memory bank\n");
-
-    /* We only supports instruction caches implementing the IVIPT extension. */
-    if ( ((ctr >> CTR_L1IP_SHIFT) & CTR_L1IP_MASK) == ICACHE_POLICY_AIVIVT )
-        panic("AIVIVT instruction cache not supported\n");
-
-    init_pdx();
-
-    ram_start = bootinfo.mem.bank[0].start;
-    ram_size  = bootinfo.mem.bank[0].size;
-    ram_end   = ram_start + ram_size;
-
-    for ( i = 1; i < bootinfo.mem.nr_banks; i++ )
-    {
-        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);
-        ram_end   = max(ram_end,bank_end);
-    }
-
-    total_pages = ram_size >> PAGE_SHIFT;
-
-    if ( bootinfo.static_heap )
-    {
-        for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
-        {
-            if ( bootinfo.reserved_mem.bank[i].type != MEMBANK_STATIC_HEAP )
-                continue;
-
-            bank_start = bootinfo.reserved_mem.bank[i].start;
-            bank_size = bootinfo.reserved_mem.bank[i].size;
-            bank_end = bank_start + bank_size;
-
-            static_heap_size += bank_size;
-            static_heap_end = max(static_heap_end, bank_end);
-        }
-
-        heap_pages = static_heap_size >> PAGE_SHIFT;
-    }
-    else
-        heap_pages = total_pages;
-
-    /*
-     * If the user has not requested otherwise via the command line
-     * then locate the xenheap using these constraints:
-     *
-     *  - must be contiguous
-     *  - 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 (or static
-          heap if enabled) if less
-     *  - must be at least 32M
-     *
-     * We try to allocate the largest xenheap possible within these
-     * constraints.
-     */
-    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));
-    }
-
-    do
-    {
-        e = bootinfo.static_heap ?
-            fit_xenheap_in_static_heap(pfn_to_paddr(xenheap_pages), MB(32)) :
-            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 )
-        panic("Not enough space for xenheap\n");
-
-    domheap_pages = heap_pages - xenheap_pages;
-
-    printk("Xen heap: %"PRIpaddr"-%"PRIpaddr" (%lu pages%s)\n",
-           e - (pfn_to_paddr(xenheap_pages)), e, xenheap_pages,
-           opt_xenheap_megabytes ? ", from command-line" : "");
-    printk("Dom heap: %lu pages\n", domheap_pages);
-
-    /*
-     * We need some memory to allocate the page-tables used for the
-     * directmap mappings. So populate the boot allocator first.
-     *
-     * This requires us to set directmap_mfn_{start, end} first so the
-     * direct-mapped Xenheap region can be avoided.
-     */
-    directmap_mfn_start = _mfn((e >> PAGE_SHIFT) - xenheap_pages);
-    directmap_mfn_end = mfn_add(directmap_mfn_start, xenheap_pages);
-
-    populate_boot_allocator();
-
-    setup_directmap_mappings(mfn_x(directmap_mfn_start), xenheap_pages);
-
-    /* Frame table covers all of RAM region, including holes */
-    setup_frametable_mappings(ram_start, ram_end);
-    max_page = PFN_DOWN(ram_end);
-
-    /*
-     * The allocators may need to use map_domain_page() (such as for
-     * scrubbing pages). So we need to prepare the domheap area first.
-     */
-    if ( !init_domheap_mappings(smp_processor_id()) )
-        panic("CPU%u: Unable to prepare the domheap page-tables\n",
-              smp_processor_id());
-
-    /* Add xenheap memory that was not already added to the boot allocator. */
-    init_xenheap_pages(mfn_to_maddr(directmap_mfn_start),
-                       mfn_to_maddr(directmap_mfn_end));
-
-    init_staticmem_pages();
-}
-#else /* CONFIG_ARM_64 */
-static void __init setup_mm(void)
-{
-    const struct meminfo *banks = &bootinfo.mem;
-    paddr_t ram_start = INVALID_PADDR;
-    paddr_t ram_end = 0;
-    paddr_t ram_size = 0;
-    unsigned int i;
-
-    init_pdx();
-
-    /*
-     * We need some memory to allocate the page-tables used for the directmap
-     * mappings. But some regions may contain memory already allocated
-     * for other uses (e.g. modules, reserved-memory...).
-     *
-     * For simplicity, add all the free regions in the boot allocator.
-     */
-    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;
-
-        ram_size = ram_size + bank->size;
-        ram_start = min(ram_start, bank->start);
-        ram_end = max(ram_end, bank_end);
-
-        setup_directmap_mappings(PFN_DOWN(bank->start),
-                                 PFN_DOWN(bank->size));
-    }
-
-    total_pages += ram_size >> PAGE_SHIFT;
-
-    directmap_virt_end = XENHEAP_VIRT_START + ram_end - ram_start;
-    directmap_mfn_start = maddr_to_mfn(ram_start);
-    directmap_mfn_end = maddr_to_mfn(ram_end);
-
-    setup_frametable_mappings(ram_start, ram_end);
-    max_page = PFN_DOWN(ram_end);
-
-    init_staticmem_pages();
-}
-#endif
-
 static bool __init is_dom0less_mode(void)
 {
     struct bootmodules *mods = &bootinfo.modules;
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:51:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:51:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634385.989833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3di9-0003pi-Ty; Thu, 16 Nov 2023 14:51:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634385.989833; Thu, 16 Nov 2023 14:51: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 1r3di9-0003ol-MT; Thu, 16 Nov 2023 14:51:17 +0000
Received: by outflank-mailman (input) for mailman id 634385;
 Thu, 16 Nov 2023 14:51: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=Xmdr=G5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3di8-0001sC-Mb
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:51:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 97287c1f-848f-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 15:51:14 +0100 (CET)
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 61BA11595;
 Thu, 16 Nov 2023 06:52:00 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id BB0F03F73F;
 Thu, 16 Nov 2023 06:51:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97287c1f-848f-11ee-9b0e-b553b5be7939
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>,
	Michal Orzel <michal.orzel@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Penny Zheng <penny.zheng@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 6/8] xen/arm: Fold pmap and fixmap into MMU system
Date: Thu, 16 Nov 2023 22:50:30 +0800
Message-Id: <20231116145032.1651305-7-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231116145032.1651305-1-Henry.Wang@arm.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

fixmap and pmap are MMU-specific features, so fold them to the
MMU system. Do the folding for pmap by moving the HAS_PMAP Kconfig
selection under MMU. Since none of the definitions in asm/fixmap.h
actually makes sense for the MPU, so do the folding for fixmap by
limiting the inclusion of asm/fixmap.h for MPU code when necessary.
To guarantee that, moving the implementation of copy_from_paddr()
from kernel.c to mmu/setup.c, so that inclusion of asm/fixmap.h in
the kernel.c can be dropped.

Take the opportunity to add a missing space before and after '-' in
"s = paddr & (PAGE_SIZE-1);" of copy_from_paddr().

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v9:
- No change.
v8:
- Add a missing space before/after '-' in "s = paddr & (PAGE_SIZE-1);"
  of copy_from_paddr(), mention this change in commit message.
- Add Julien's Reviewed-by tag.
v7:
- No change.
v6:
- Rework original patch:
  [v5,08/13] xen/arm: Fold pmap and fixmap into MMU system
  and fold in the original patch:
  [v5,12/13] xen/arm: mmu: relocate copy_from_paddr() to setup.c
---
 xen/arch/arm/Kconfig     |  2 +-
 xen/arch/arm/kernel.c    | 28 ----------------------------
 xen/arch/arm/mmu/setup.c | 27 +++++++++++++++++++++++++++
 3 files changed, 28 insertions(+), 29 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b..7b5b0c0c05 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -14,7 +14,6 @@ config ARM
 	select HAS_ALTERNATIVE
 	select HAS_DEVICE_TREE
 	select HAS_PASSTHROUGH
-	select HAS_PMAP
 	select HAS_UBSAN
 	select IOMMU_FORCE_PT_SHARE
 
@@ -60,6 +59,7 @@ config PADDR_BITS
 
 config MMU
 	def_bool y
+	select HAS_PMAP
 
 source "arch/Kconfig"
 
diff --git a/xen/arch/arm/kernel.c b/xen/arch/arm/kernel.c
index 508c54824d..bc3e5bd6f9 100644
--- a/xen/arch/arm/kernel.c
+++ b/xen/arch/arm/kernel.c
@@ -16,7 +16,6 @@
 #include <xen/vmap.h>
 
 #include <asm/byteorder.h>
-#include <asm/fixmap.h>
 #include <asm/kernel.h>
 #include <asm/setup.h>
 
@@ -41,33 +40,6 @@ struct minimal_dtb_header {
 
 #define DTB_MAGIC 0xd00dfeedU
 
-/**
- * copy_from_paddr - copy data from a physical address
- * @dst: destination virtual address
- * @paddr: source physical address
- * @len: length to copy
- */
-void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
-{
-    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
-
-    while (len) {
-        unsigned long l, s;
-
-        s = paddr & (PAGE_SIZE-1);
-        l = min(PAGE_SIZE - s, len);
-
-        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
-        memcpy(dst, src + s, l);
-        clean_dcache_va_range(dst, l);
-        clear_fixmap(FIXMAP_MISC);
-
-        paddr += l;
-        dst += l;
-        len -= l;
-    }
-}
-
 static void __init place_modules(struct kernel_info *info,
                                  paddr_t kernbase, paddr_t kernend)
 {
diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index c2df976ab2..a5a9b538ff 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -339,6 +339,33 @@ void free_init_memory(void)
     printk("Freed %ldkB init memory.\n", (long)(__init_end-__init_begin)>>10);
 }
 
+/**
+ * copy_from_paddr - copy data from a physical address
+ * @dst: destination virtual address
+ * @paddr: source physical address
+ * @len: length to copy
+ */
+void __init copy_from_paddr(void *dst, paddr_t paddr, unsigned long len)
+{
+    void *src = (void *)FIXMAP_ADDR(FIXMAP_MISC);
+
+    while (len) {
+        unsigned long l, s;
+
+        s = paddr & (PAGE_SIZE - 1);
+        l = min(PAGE_SIZE - s, len);
+
+        set_fixmap(FIXMAP_MISC, maddr_to_mfn(paddr), PAGE_HYPERVISOR_WC);
+        memcpy(dst, src + s, l);
+        clean_dcache_va_range(dst, l);
+        clear_fixmap(FIXMAP_MISC);
+
+        paddr += l;
+        dst += l;
+        len -= l;
+    }
+}
+
 /*
  * Local variables:
  * mode: C
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:51:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:51:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634389.989842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3diF-0004N6-7M; Thu, 16 Nov 2023 14:51:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634389.989842; Thu, 16 Nov 2023 14:51: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 1r3diF-0004Mv-47; Thu, 16 Nov 2023 14:51:23 +0000
Received: by outflank-mailman (input) for mailman id 634389;
 Thu, 16 Nov 2023 14:51: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=Xmdr=G5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3diD-0001sC-Ck
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:51:21 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 99f0d3a3-848f-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 15:51:19 +0100 (CET)
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 1B0591595;
 Thu, 16 Nov 2023 06:52:05 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 71E6D3F73F;
 Thu, 16 Nov 2023 06:51:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99f0d3a3-848f-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <penny.zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Wei Chen <wei.chen@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 7/8] xen/arm: Rename init_secondary_pagetables() to prepare_secondary_mm()
Date: Thu, 16 Nov 2023 22:50:31 +0800
Message-Id: <20231116145032.1651305-8-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231116145032.1651305-1-Henry.Wang@arm.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

init_secondary_pagetables() is a function in the common code path
of both MMU and future MPU support. Since "page table" is a MMU
specific concept, rename init_secondary_pagetables() to a generic
name prepare_secondary_mm() as the preparation for MPU support.

Reword the in-code comment on top of prepare_secondary_mm() because
this function is now supposed to be MMU/MPU agnostic.

Take the opportunity to fix the incorrect coding style of the in-code
comments.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
v9:
- No change.
v8:
- Change the in-code comment on top of prepare_secondary_mm() because
  this function is now supposed to be MMU/MPU agnostic, mention this
  in the commit message.
- Add Julien's Reviewed-by tag.
v7:
- No change.
v6:
- Only rename init_secondary_pagetables() to prepare_secondary_mm().
---
 xen/arch/arm/arm32/head.S     | 2 +-
 xen/arch/arm/include/asm/mm.h | 5 ++---
 xen/arch/arm/mmu/smpboot.c    | 4 ++--
 xen/arch/arm/smpboot.c        | 2 +-
 4 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 2c235fb34c..3011fb34aa 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -257,7 +257,7 @@ GLOBAL(init_secondary)
 secondary_switched:
         /*
          * Non-boot CPUs need to move on to the proper pagetables, which were
-         * setup in init_secondary_pagetables.
+         * setup in prepare_secondary_mm.
          *
          * XXX: This is not compliant with the Arm Arm.
          */
diff --git a/xen/arch/arm/include/asm/mm.h b/xen/arch/arm/include/asm/mm.h
index d23ebc7df6..cbcf3bf147 100644
--- a/xen/arch/arm/include/asm/mm.h
+++ b/xen/arch/arm/include/asm/mm.h
@@ -204,9 +204,8 @@ extern void setup_pagetables(unsigned long boot_phys_offset);
 extern void *early_fdt_map(paddr_t fdt_paddr);
 /* Remove early mappings */
 extern void remove_early_mappings(void);
-/* Allocate and initialise pagetables for a secondary CPU. Sets init_ttbr to the
- * new page table */
-extern int init_secondary_pagetables(int cpu);
+/* Prepare the memory subystem to bring-up the given secondary CPU */
+extern int prepare_secondary_mm(int cpu);
 /* Map a frame table to cover physical addresses ps through pe */
 extern void setup_frametable_mappings(paddr_t ps, paddr_t pe);
 /* map a physical range in virtual memory */
diff --git a/xen/arch/arm/mmu/smpboot.c b/xen/arch/arm/mmu/smpboot.c
index 8b6a09f843..12f1a5d761 100644
--- a/xen/arch/arm/mmu/smpboot.c
+++ b/xen/arch/arm/mmu/smpboot.c
@@ -67,7 +67,7 @@ static void clear_boot_pagetables(void)
 }
 
 #ifdef CONFIG_ARM_64
-int init_secondary_pagetables(int cpu)
+int prepare_secondary_mm(int cpu)
 {
     clear_boot_pagetables();
 
@@ -80,7 +80,7 @@ int init_secondary_pagetables(int cpu)
     return 0;
 }
 #else
-int init_secondary_pagetables(int cpu)
+int prepare_secondary_mm(int cpu)
 {
     lpae_t *first;
 
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 1cf6e50a85..36db6b8880 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -448,7 +448,7 @@ int __cpu_up(unsigned int cpu)
 
     printk("Bringing up CPU%d\n", cpu);
 
-    rc = init_secondary_pagetables(cpu);
+    rc = prepare_secondary_mm(cpu);
     if ( rc < 0 )
         return rc;
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 14:55:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 14:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634404.989852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3dmW-0006qZ-Ow; Thu, 16 Nov 2023 14:55:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634404.989852; Thu, 16 Nov 2023 14:55: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 1r3dmW-0006qS-M5; Thu, 16 Nov 2023 14:55:48 +0000
Received: by outflank-mailman (input) for mailman id 634404;
 Thu, 16 Nov 2023 14: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=Xmdr=G5=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r3diL-0001sC-NG
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 14:51:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 9d4b2c6e-848f-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 15:51:25 +0100 (CET)
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 A2D0A1595;
 Thu, 16 Nov 2023 06:52:10 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 76BD43F73F;
 Thu, 16 Nov 2023 06:51:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d4b2c6e-848f-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Penny Zheng <penny.zheng@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v9 8/8] xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}
Date: Thu, 16 Nov 2023 22:50:32 +0800
Message-Id: <20231116145032.1651305-9-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231116145032.1651305-1-Henry.Wang@arm.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Penny Zheng <penny.zheng@arm.com>

Current P2M implementation is designed for MMU system only.
We move the MMU-specific codes into mmu/p2m.c, and only keep generic
codes in p2m.c, like VMID allocator, etc. We also move MMU-specific
definitions and declarations to mmu/p2m.h, such as p2m_tlb_flush_sync().
Also expose previously static functions p2m_vmid_allocator_init(),
p2m_alloc_vmid() for further MPU usage. Since with the code movement
p2m_free_vmid() is now used in two files, also expose p2m_free_vmid().

With the code movement, global variable max_vmid is used in multiple
files instead of a single file (and will be used in MPU P2M
implementation), declare it in the header and remove the "static" of
this variable.

Also, since p2m_invalidate_root() should be MMU only and after the
code movement the only caller of p2m_invalidate_root() outside of
mmu/p2m.c is arch_domain_creation_finished(), creating a new function
named p2m_domain_creation_finished() in mmu/p2m.c for the original
code in arch_domain_creation_finished(), and marking
p2m_invalidate_root() as static.

Take the opportunity to fix the incorrect coding style when possible.
When there is bit shift in macros, take the opportunity to add the
missing 'U' as a compliance of MISRA.

Signed-off-by: Penny Zheng <penny.zheng@arm.com>
Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
v9:
- Add Julien's Acked-by tag.
v8:
- Note: The renaming of p2m_flush_vm() is not done due to the
  unclarity of other maintainers' ideas.
- Also move P2M_ROOT_LEVEL, P2M_ROOT_ORDER and P2M_ROOT_PAGES to
  mmu/p2m.h. Move the two functions using p2m->root to mmu/p2m.c.
- Also move the declaration of p2m_clear_root_pages() to mmu/p2m.h.
- Expose p2m_free_vmid() as it is now used by two files.
- Take the opportunity to use 1U and add space before/after <<,
  update the commit message about this.
- Do not export setup_virt_paging_one(), instead, move
  cpu_virt_paging_callback() & co to mmu/p2m.c.
- Create a new function p2m_domain_creation_finished() in mmu/p2m.c
  for the original code in arch_domain_creation_finished(), and mark
  p2m_invalidate_root() as static.
v7:
- No change.
v6:
- Also move relinquish_p2m_mapping() to mmu/p2m.c, make
  __p2m_set_entry() static.
- Also move p2m_clear_root_pages() and p2m_flush_vm() to mmu/p2m.c.
- Don't add #ifdef CONFIG_MMU to the p2m_tlb_flush_sync() in
  p2m_write_unlock(), this need further discussion.
- Correct typo in commit message.
v5:
- No change
v4:
- Rework the patch to drop the unnecessary changes.
- Rework the commit msg a bit.
v3:
- remove MPU stubs
- adapt to the introduction of new directories: mmu/
v2:
- new commit
---
 xen/arch/arm/domain.c              |   11 +-
 xen/arch/arm/include/asm/mmu/p2m.h |   26 +
 xen/arch/arm/include/asm/p2m.h     |   32 +-
 xen/arch/arm/mmu/Makefile          |    1 +
 xen/arch/arm/mmu/p2m.c             | 1834 ++++++++++++++++++++++++++
 xen/arch/arm/p2m.c                 | 1909 +---------------------------
 6 files changed, 1933 insertions(+), 1880 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/mmu/p2m.h
 create mode 100644 xen/arch/arm/mmu/p2m.c

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 28e3aaa5e4..5e7a7f3e7e 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -870,16 +870,7 @@ int arch_domain_soft_reset(struct domain *d)
 
 void arch_domain_creation_finished(struct domain *d)
 {
-    /*
-     * To avoid flushing the whole guest RAM on the first Set/Way, we
-     * invalidate the P2M to track what has been accessed.
-     *
-     * This is only turned when IOMMU is not used or the page-table are
-     * not shared because bit[0] (e.g valid bit) unset will result
-     * IOMMU fault that could be not fixed-up.
-     */
-    if ( !iommu_use_hap_pt(d) )
-        p2m_invalidate_root(p2m_get_hostp2m(d));
+    p2m_domain_creation_finished(d);
 }
 
 static int is_guest_pv32_psr(uint32_t psr)
diff --git a/xen/arch/arm/include/asm/mmu/p2m.h b/xen/arch/arm/include/asm/mmu/p2m.h
new file mode 100644
index 0000000000..58496c0b09
--- /dev/null
+++ b/xen/arch/arm/include/asm/mmu/p2m.h
@@ -0,0 +1,26 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+#ifndef __ARM_MMU_P2M_H__
+#define __ARM_MMU_P2M_H__
+
+extern unsigned int p2m_root_order;
+extern unsigned int p2m_root_level;
+#define P2M_ROOT_ORDER p2m_root_order
+#define P2M_ROOT_LEVEL p2m_root_level
+#define P2M_ROOT_PAGES    (1U << P2M_ROOT_ORDER)
+
+struct p2m_domain;
+void p2m_force_tlb_flush_sync(struct p2m_domain *p2m);
+void p2m_tlb_flush_sync(struct p2m_domain *p2m);
+
+void p2m_clear_root_pages(struct p2m_domain *p2m);
+
+#endif /* __ARM_MMU_P2M_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/p2m.h b/xen/arch/arm/include/asm/p2m.h
index 9ad312bfb5..4818dd4b6a 100644
--- a/xen/arch/arm/include/asm/p2m.h
+++ b/xen/arch/arm/include/asm/p2m.h
@@ -14,10 +14,19 @@
 /* Holds the bit size of IPAs in p2m tables.  */
 extern unsigned int p2m_ipa_bits;
 
-extern unsigned int p2m_root_order;
-extern unsigned int p2m_root_level;
-#define P2M_ROOT_ORDER    p2m_root_order
-#define P2M_ROOT_LEVEL p2m_root_level
+#define MAX_VMID_8_BIT  (1UL << 8)
+#define MAX_VMID_16_BIT (1UL << 16)
+
+#define INVALID_VMID 0 /* VMID 0 is reserved */
+
+#ifdef CONFIG_ARM_64
+extern unsigned int max_vmid;
+/* VMID is by default 8 bit width on AArch64 */
+#define MAX_VMID       max_vmid
+#else
+/* VMID is always 8 bit width on AArch32 */
+#define MAX_VMID        MAX_VMID_8_BIT
+#endif
 
 struct domain;
 
@@ -156,6 +165,12 @@ typedef enum {
 #endif
 #include <xen/p2m-common.h>
 
+#if defined(CONFIG_MMU)
+# include <asm/mmu/p2m.h>
+#else
+# error "Unknown memory management layout"
+#endif
+
 static inline bool arch_acquire_resource_check(struct domain *d)
 {
     /*
@@ -180,6 +195,10 @@ void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
  */
 void p2m_restrict_ipa_bits(unsigned int ipa_bits);
 
+void p2m_vmid_allocator_init(void);
+int p2m_alloc_vmid(struct domain *d);
+void p2m_free_vmid(struct domain *d);
+
 /* Second stage paging setup, to be called on all CPUs */
 void setup_virt_paging(void);
 
@@ -242,8 +261,6 @@ static inline int p2m_is_write_locked(struct p2m_domain *p2m)
     return rw_is_write_locked(&p2m->lock);
 }
 
-void p2m_tlb_flush_sync(struct p2m_domain *p2m);
-
 /* Look up the MFN corresponding to a domain's GFN. */
 mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t);
 
@@ -271,8 +288,7 @@ int p2m_set_entry(struct p2m_domain *p2m,
 
 bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn);
 
-void p2m_clear_root_pages(struct p2m_domain *p2m);
-void p2m_invalidate_root(struct p2m_domain *p2m);
+void p2m_domain_creation_finished(struct domain *d);
 
 /*
  * Clean & invalidate caches corresponding to a region [start,end) of guest
diff --git a/xen/arch/arm/mmu/Makefile b/xen/arch/arm/mmu/Makefile
index 98aea965df..67475fcd80 100644
--- a/xen/arch/arm/mmu/Makefile
+++ b/xen/arch/arm/mmu/Makefile
@@ -1,3 +1,4 @@
+obj-y += p2m.o
 obj-y += pt.o
 obj-y += setup.o
 obj-y += smpboot.o
diff --git a/xen/arch/arm/mmu/p2m.c b/xen/arch/arm/mmu/p2m.c
new file mode 100644
index 0000000000..6a5a080307
--- /dev/null
+++ b/xen/arch/arm/mmu/p2m.c
@@ -0,0 +1,1834 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#include <xen/cpu.h>
+#include <xen/domain_page.h>
+#include <xen/ioreq.h>
+#include <xen/lib.h>
+#include <xen/sched.h>
+#include <xen/softirq.h>
+
+#include <asm/alternative.h>
+#include <asm/event.h>
+#include <asm/flushtlb.h>
+#include <asm/page.h>
+
+unsigned int __read_mostly p2m_root_order;
+unsigned int __read_mostly p2m_root_level;
+
+static mfn_t __read_mostly empty_root_mfn;
+
+static uint64_t generate_vttbr(uint16_t vmid, mfn_t root_mfn)
+{
+    return (mfn_to_maddr(root_mfn) | ((uint64_t)vmid << 48));
+}
+
+static struct page_info *p2m_alloc_page(struct domain *d)
+{
+    struct page_info *pg;
+
+    /*
+     * For hardware domain, there should be no limit in the number of pages that
+     * can be allocated, so that the kernel may take advantage of the extended
+     * regions. Hence, allocate p2m pages for hardware domains from heap.
+     */
+    if ( is_hardware_domain(d) )
+    {
+        pg = alloc_domheap_page(NULL, 0);
+        if ( pg == NULL )
+            printk(XENLOG_G_ERR "Failed to allocate P2M pages for hwdom.\n");
+    }
+    else
+    {
+        spin_lock(&d->arch.paging.lock);
+        pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
+        spin_unlock(&d->arch.paging.lock);
+    }
+
+    return pg;
+}
+
+static void p2m_free_page(struct domain *d, struct page_info *pg)
+{
+    if ( is_hardware_domain(d) )
+        free_domheap_page(pg);
+    else
+    {
+        spin_lock(&d->arch.paging.lock);
+        page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
+        spin_unlock(&d->arch.paging.lock);
+    }
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    *size = (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAGE_SHIFT;
+    return 0;
+}
+
+/*
+ * Set the pool of pages to the required number of pages.
+ * Returns 0 for success, non-zero for failure.
+ * Call with d->arch.paging.lock held.
+ */
+int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
+{
+    struct page_info *pg;
+
+    ASSERT(spin_is_locked(&d->arch.paging.lock));
+
+    for ( ; ; )
+    {
+        if ( d->arch.paging.p2m_total_pages < pages )
+        {
+            /* Need to allocate more memory from domheap */
+            pg = alloc_domheap_page(NULL, 0);
+            if ( pg == NULL )
+            {
+                printk(XENLOG_ERR "Failed to allocate P2M pages.\n");
+                return -ENOMEM;
+            }
+            ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
+                d->arch.paging.p2m_total_pages + 1;
+            page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
+        }
+        else if ( d->arch.paging.p2m_total_pages > pages )
+        {
+            /* Need to return memory to domheap */
+            pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
+            if( pg )
+            {
+                ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
+                    d->arch.paging.p2m_total_pages - 1;
+                free_domheap_page(pg);
+            }
+            else
+            {
+                printk(XENLOG_ERR
+                       "Failed to free P2M pages, P2M freelist is empty.\n");
+                return -ENOMEM;
+            }
+        }
+        else
+            break;
+
+        /* Check to see if we need to yield and try again */
+        if ( preempted && general_preempt_check() )
+        {
+            *preempted = true;
+            return -ERESTART;
+        }
+    }
+
+    return 0;
+}
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    unsigned long pages = size >> PAGE_SHIFT;
+    bool preempted = false;
+    int rc;
+
+    if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
+         pages != (size >> PAGE_SHIFT) ) /* 32-bit overflow? */
+        return -EINVAL;
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, pages, &preempted);
+    spin_unlock(&d->arch.paging.lock);
+
+    ASSERT(preempted == (rc == -ERESTART));
+
+    return rc;
+}
+
+int p2m_teardown_allocation(struct domain *d)
+{
+    int ret = 0;
+    bool preempted = false;
+
+    spin_lock(&d->arch.paging.lock);
+    if ( d->arch.paging.p2m_total_pages != 0 )
+    {
+        ret = p2m_set_allocation(d, 0, &preempted);
+        if ( preempted )
+        {
+            spin_unlock(&d->arch.paging.lock);
+            return -ERESTART;
+        }
+        ASSERT(d->arch.paging.p2m_total_pages == 0);
+    }
+    spin_unlock(&d->arch.paging.lock);
+
+    return ret;
+}
+
+void p2m_dump_info(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    p2m_read_lock(p2m);
+    printk("p2m mappings for domain %d (vmid %d):\n",
+           d->domain_id, p2m->vmid);
+    BUG_ON(p2m->stats.mappings[0] || p2m->stats.shattered[0]);
+    printk("  1G mappings: %ld (shattered %ld)\n",
+           p2m->stats.mappings[1], p2m->stats.shattered[1]);
+    printk("  2M mappings: %ld (shattered %ld)\n",
+           p2m->stats.mappings[2], p2m->stats.shattered[2]);
+    printk("  4K mappings: %ld\n", p2m->stats.mappings[3]);
+    p2m_read_unlock(p2m);
+}
+
+void dump_p2m_lookup(struct domain *d, paddr_t addr)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    printk("dom%d IPA 0x%"PRIpaddr"\n", d->domain_id, addr);
+
+    printk("P2M @ %p mfn:%#"PRI_mfn"\n",
+           p2m->root, mfn_x(page_to_mfn(p2m->root)));
+
+    dump_pt_walk(page_to_maddr(p2m->root), addr,
+                 P2M_ROOT_LEVEL, P2M_ROOT_PAGES);
+}
+
+/*
+ * p2m_save_state and p2m_restore_state work in pair to workaround
+ * ARM64_WORKAROUND_AT_SPECULATE. p2m_save_state will set-up VTTBR to
+ * point to the empty page-tables to stop allocating TLB entries.
+ */
+void p2m_save_state(struct vcpu *p)
+{
+    p->arch.sctlr = READ_SYSREG(SCTLR_EL1);
+
+    if ( cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
+        /*
+         * Ensure VTTBR_EL2 is correctly synchronized so we can restore
+         * the next vCPU context without worrying about AT instruction
+         * speculation.
+         */
+        isb();
+    }
+}
+
+void p2m_restore_state(struct vcpu *n)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(n->domain);
+    uint8_t *last_vcpu_ran;
+
+    if ( is_idle_vcpu(n) )
+        return;
+
+    WRITE_SYSREG(n->arch.sctlr, SCTLR_EL1);
+    WRITE_SYSREG(n->arch.hcr_el2, HCR_EL2);
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE: VTTBR_EL2 should be restored after all
+     * registers associated to EL1/EL0 translations regime have been
+     * synchronized.
+     */
+    asm volatile(ALTERNATIVE("nop", "isb", ARM64_WORKAROUND_AT_SPECULATE));
+    WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2);
+
+    last_vcpu_ran = &p2m->last_vcpu_ran[smp_processor_id()];
+
+    /*
+     * While we are restoring an out-of-context translation regime
+     * we still need to ensure:
+     *  - VTTBR_EL2 is synchronized before flushing the TLBs
+     *  - All registers for EL1 are synchronized before executing an AT
+     *  instructions targeting S1/S2.
+     */
+    isb();
+
+    /*
+     * Flush local TLB for the domain to prevent wrong TLB translation
+     * when running multiple vCPU of the same domain on a single pCPU.
+     */
+    if ( *last_vcpu_ran != INVALID_VCPU_ID && *last_vcpu_ran != n->vcpu_id )
+        flush_guest_tlb_local();
+
+    *last_vcpu_ran = n->vcpu_id;
+}
+
+/*
+ * Force a synchronous P2M TLB flush.
+ *
+ * Must be called with the p2m lock held.
+ */
+void p2m_force_tlb_flush_sync(struct p2m_domain *p2m)
+{
+    unsigned long flags = 0;
+    uint64_t ovttbr;
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    /*
+     * ARM only provides an instruction to flush TLBs for the current
+     * VMID. So switch to the VTTBR of a given P2M if different.
+     */
+    ovttbr = READ_SYSREG64(VTTBR_EL2);
+    if ( ovttbr != p2m->vttbr )
+    {
+        uint64_t vttbr;
+
+        local_irq_save(flags);
+
+        /*
+         * ARM64_WORKAROUND_AT_SPECULATE: We need to stop AT to allocate
+         * TLBs entries because the context is partially modified. We
+         * only need the VMID for flushing the TLBs, so we can generate
+         * a new VTTBR with the VMID to flush and the empty root table.
+         */
+        if ( !cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+            vttbr = p2m->vttbr;
+        else
+            vttbr = generate_vttbr(p2m->vmid, empty_root_mfn);
+
+        WRITE_SYSREG64(vttbr, VTTBR_EL2);
+
+        /* Ensure VTTBR_EL2 is synchronized before flushing the TLBs */
+        isb();
+    }
+
+    flush_guest_tlb();
+
+    if ( ovttbr != READ_SYSREG64(VTTBR_EL2) )
+    {
+        WRITE_SYSREG64(ovttbr, VTTBR_EL2);
+        /* Ensure VTTBR_EL2 is back in place before continuing. */
+        isb();
+        local_irq_restore(flags);
+    }
+
+    p2m->need_flush = false;
+}
+
+void p2m_tlb_flush_sync(struct p2m_domain *p2m)
+{
+    if ( p2m->need_flush )
+        p2m_force_tlb_flush_sync(p2m);
+}
+
+/*
+ * Find and map the root page table. The caller is responsible for
+ * unmapping the table.
+ *
+ * The function will return NULL if the offset of the root table is
+ * invalid.
+ */
+static lpae_t *p2m_get_root_pointer(struct p2m_domain *p2m,
+                                    gfn_t gfn)
+{
+    unsigned long root_table;
+
+    /*
+     * While the root table index is the offset from the previous level,
+     * we can't use (P2M_ROOT_LEVEL - 1) because the root level might be
+     * 0. Yet we still want to check if all the unused bits are zeroed.
+     */
+    root_table = gfn_x(gfn) >> (XEN_PT_LEVEL_ORDER(P2M_ROOT_LEVEL) +
+                                XEN_PT_LPAE_SHIFT);
+    if ( root_table >= P2M_ROOT_PAGES )
+        return NULL;
+
+    return __map_domain_page(p2m->root + root_table);
+}
+
+/*
+ * Lookup the MFN corresponding to a domain's GFN.
+ * Lookup mem access in the ratrix tree.
+ * The entries associated to the GFN is considered valid.
+ */
+static p2m_access_t p2m_mem_access_radix_get(struct p2m_domain *p2m, gfn_t gfn)
+{
+    void *ptr;
+
+    if ( !p2m->mem_access_enabled )
+        return p2m->default_access;
+
+    ptr = radix_tree_lookup(&p2m->mem_access_settings, gfn_x(gfn));
+    if ( !ptr )
+        return p2m_access_rwx;
+    else
+        return radix_tree_ptr_to_int(ptr);
+}
+
+/*
+ * In the case of the P2M, the valid bit is used for other purpose. Use
+ * the type to check whether an entry is valid.
+ */
+static inline bool p2m_is_valid(lpae_t pte)
+{
+    return pte.p2m.type != p2m_invalid;
+}
+
+/*
+ * lpae_is_* helpers don't check whether the valid bit is set in the
+ * PTE. Provide our own overlay to check the valid bit.
+ */
+static inline bool p2m_is_mapping(lpae_t pte, unsigned int level)
+{
+    return p2m_is_valid(pte) && lpae_is_mapping(pte, level);
+}
+
+static inline bool p2m_is_superpage(lpae_t pte, unsigned int level)
+{
+    return p2m_is_valid(pte) && lpae_is_superpage(pte, level);
+}
+
+#define GUEST_TABLE_MAP_FAILED 0
+#define GUEST_TABLE_SUPER_PAGE 1
+#define GUEST_TABLE_NORMAL_PAGE 2
+
+static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry);
+
+/*
+ * Take the currently mapped table, find the corresponding GFN entry,
+ * and map the next table, if available. The previous table will be
+ * unmapped if the next level was mapped (e.g GUEST_TABLE_NORMAL_PAGE
+ * returned).
+ *
+ * The read_only parameters indicates whether intermediate tables should
+ * be allocated when not present.
+ *
+ * Return values:
+ *  GUEST_TABLE_MAP_FAILED: Either read_only was set and the entry
+ *  was empty, or allocating a new page failed.
+ *  GUEST_TABLE_NORMAL_PAGE: next level mapped normally
+ *  GUEST_TABLE_SUPER_PAGE: The next entry points to a superpage.
+ */
+static int p2m_next_level(struct p2m_domain *p2m, bool read_only,
+                          unsigned int level, lpae_t **table,
+                          unsigned int offset)
+{
+    lpae_t *entry;
+    int ret;
+    mfn_t mfn;
+
+    entry = *table + offset;
+
+    if ( !p2m_is_valid(*entry) )
+    {
+        if ( read_only )
+            return GUEST_TABLE_MAP_FAILED;
+
+        ret = p2m_create_table(p2m, entry);
+        if ( ret )
+            return GUEST_TABLE_MAP_FAILED;
+    }
+
+    /* The function p2m_next_level is never called at the 3rd level */
+    ASSERT(level < 3);
+    if ( p2m_is_mapping(*entry, level) )
+        return GUEST_TABLE_SUPER_PAGE;
+
+    mfn = lpae_get_mfn(*entry);
+
+    unmap_domain_page(*table);
+    *table = map_domain_page(mfn);
+
+    return GUEST_TABLE_NORMAL_PAGE;
+}
+
+/*
+ * Get the details of a given gfn.
+ *
+ * If the entry is present, the associated MFN will be returned and the
+ * access and type filled up. The page_order will correspond to the
+ * order of the mapping in the page table (i.e it could be a superpage).
+ *
+ * If the entry is not present, INVALID_MFN will be returned and the
+ * page_order will be set according to the order of the invalid range.
+ *
+ * valid will contain the value of bit[0] (e.g valid bit) of the
+ * entry.
+ */
+mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
+                    p2m_type_t *t, p2m_access_t *a,
+                    unsigned int *page_order,
+                    bool *valid)
+{
+    paddr_t addr = gfn_to_gaddr(gfn);
+    unsigned int level = 0;
+    lpae_t entry, *table;
+    int rc;
+    mfn_t mfn = INVALID_MFN;
+    p2m_type_t _t;
+    DECLARE_OFFSETS(offsets, addr);
+
+    ASSERT(p2m_is_locked(p2m));
+    BUILD_BUG_ON(THIRD_MASK != PAGE_MASK);
+
+    /* Allow t to be NULL */
+    t = t ?: &_t;
+
+    *t = p2m_invalid;
+
+    if ( valid )
+        *valid = false;
+
+    /* XXX: Check if the mapping is lower than the mapped gfn */
+
+    /* This gfn is higher than the highest the p2m map currently holds */
+    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
+    {
+        for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
+            if ( (gfn_x(gfn) & (XEN_PT_LEVEL_MASK(level) >> PAGE_SHIFT)) >
+                 gfn_x(p2m->max_mapped_gfn) )
+                break;
+
+        goto out;
+    }
+
+    table = p2m_get_root_pointer(p2m, gfn);
+
+    /*
+     * the table should always be non-NULL because the gfn is below
+     * p2m->max_mapped_gfn and the root table pages are always present.
+     */
+    if ( !table )
+    {
+        ASSERT_UNREACHABLE();
+        level = P2M_ROOT_LEVEL;
+        goto out;
+    }
+
+    for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
+    {
+        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+            goto out_unmap;
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    entry = table[offsets[level]];
+
+    if ( p2m_is_valid(entry) )
+    {
+        *t = entry.p2m.type;
+
+        if ( a )
+            *a = p2m_mem_access_radix_get(p2m, gfn);
+
+        mfn = lpae_get_mfn(entry);
+        /*
+         * The entry may point to a superpage. Find the MFN associated
+         * to the GFN.
+         */
+        mfn = mfn_add(mfn,
+                      gfn_x(gfn) & ((1UL << XEN_PT_LEVEL_ORDER(level)) - 1));
+
+        if ( valid )
+            *valid = lpae_is_valid(entry);
+    }
+
+out_unmap:
+    unmap_domain_page(table);
+
+out:
+    if ( page_order )
+        *page_order = XEN_PT_LEVEL_ORDER(level);
+
+    return mfn;
+}
+
+static void p2m_set_permission(lpae_t *e, p2m_type_t t, p2m_access_t a)
+{
+    /* First apply type permissions */
+    switch ( t )
+    {
+    case p2m_ram_rw:
+        e->p2m.xn = 0;
+        e->p2m.write = 1;
+        break;
+
+    case p2m_ram_ro:
+        e->p2m.xn = 0;
+        e->p2m.write = 0;
+        break;
+
+    case p2m_iommu_map_rw:
+    case p2m_map_foreign_rw:
+    case p2m_grant_map_rw:
+    case p2m_mmio_direct_dev:
+    case p2m_mmio_direct_nc:
+    case p2m_mmio_direct_c:
+        e->p2m.xn = 1;
+        e->p2m.write = 1;
+        break;
+
+    case p2m_iommu_map_ro:
+    case p2m_map_foreign_ro:
+    case p2m_grant_map_ro:
+    case p2m_invalid:
+        e->p2m.xn = 1;
+        e->p2m.write = 0;
+        break;
+
+    case p2m_max_real_type:
+        BUG();
+        break;
+    }
+
+    /* Then restrict with access permissions */
+    switch ( a )
+    {
+    case p2m_access_rwx:
+        break;
+    case p2m_access_wx:
+        e->p2m.read = 0;
+        break;
+    case p2m_access_rw:
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_w:
+        e->p2m.read = 0;
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_rx:
+    case p2m_access_rx2rw:
+        e->p2m.write = 0;
+        break;
+    case p2m_access_x:
+        e->p2m.write = 0;
+        e->p2m.read = 0;
+        break;
+    case p2m_access_r:
+        e->p2m.write = 0;
+        e->p2m.xn = 1;
+        break;
+    case p2m_access_n:
+    case p2m_access_n2rwx:
+        e->p2m.read = e->p2m.write = 0;
+        e->p2m.xn = 1;
+        break;
+    }
+}
+
+static lpae_t mfn_to_p2m_entry(mfn_t mfn, p2m_type_t t, p2m_access_t a)
+{
+    /*
+     * sh, xn and write bit will be defined in the following switches
+     * based on mattr and t.
+     */
+    lpae_t e = (lpae_t) {
+        .p2m.af = 1,
+        .p2m.read = 1,
+        .p2m.table = 1,
+        .p2m.valid = 1,
+        .p2m.type = t,
+    };
+
+    BUILD_BUG_ON(p2m_max_real_type > (1 << 4));
+
+    switch ( t )
+    {
+    case p2m_mmio_direct_dev:
+        e.p2m.mattr = MATTR_DEV;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    case p2m_mmio_direct_c:
+        e.p2m.mattr = MATTR_MEM;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    /*
+     * ARM ARM: Overlaying the shareability attribute (DDI
+     * 0406C.b B3-1376 to 1377)
+     *
+     * A memory region with a resultant memory type attribute of Normal,
+     * and a resultant cacheability attribute of Inner Non-cacheable,
+     * Outer Non-cacheable, must have a resultant shareability attribute
+     * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
+     *
+     * On ARMv8 shareability is ignored and explicitly treated as Outer
+     * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
+     * See the note for table D4-40, in page 1788 of the ARM DDI 0487A.j.
+     */
+    case p2m_mmio_direct_nc:
+        e.p2m.mattr = MATTR_MEM_NC;
+        e.p2m.sh = LPAE_SH_OUTER;
+        break;
+
+    default:
+        e.p2m.mattr = MATTR_MEM;
+        e.p2m.sh = LPAE_SH_INNER;
+    }
+
+    p2m_set_permission(&e, t, a);
+
+    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
+
+    lpae_set_mfn(e, mfn);
+
+    return e;
+}
+
+/* Generate table entry with correct attributes. */
+static lpae_t page_to_p2m_table(struct page_info *page)
+{
+    /*
+     * The access value does not matter because the hardware will ignore
+     * the permission fields for table entry.
+     *
+     * We use p2m_ram_rw so the entry has a valid type. This is important
+     * for p2m_is_valid() to return valid on table entries.
+     */
+    return mfn_to_p2m_entry(page_to_mfn(page), p2m_ram_rw, p2m_access_rwx);
+}
+
+static inline void p2m_write_pte(lpae_t *p, lpae_t pte, bool clean_pte)
+{
+    write_pte(p, pte);
+    if ( clean_pte )
+        clean_dcache(*p);
+}
+
+static inline void p2m_remove_pte(lpae_t *p, bool clean_pte)
+{
+    lpae_t pte;
+
+    memset(&pte, 0x00, sizeof(pte));
+    p2m_write_pte(p, pte, clean_pte);
+}
+
+/* Allocate a new page table page and hook it in via the given entry. */
+static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry)
+{
+    struct page_info *page;
+    lpae_t *p;
+
+    ASSERT(!p2m_is_valid(*entry));
+
+    page = p2m_alloc_page(p2m->domain);
+    if ( page == NULL )
+        return -ENOMEM;
+
+    page_list_add(page, &p2m->pages);
+
+    p = __map_domain_page(page);
+    clear_page(p);
+
+    if ( p2m->clean_pte )
+        clean_dcache_va_range(p, PAGE_SIZE);
+
+    unmap_domain_page(p);
+
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
+
+    return 0;
+}
+
+static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
+                                    p2m_access_t a)
+{
+    int rc;
+
+    if ( !p2m->mem_access_enabled )
+        return 0;
+
+    if ( p2m_access_rwx == a )
+    {
+        radix_tree_delete(&p2m->mem_access_settings, gfn_x(gfn));
+        return 0;
+    }
+
+    rc = radix_tree_insert(&p2m->mem_access_settings, gfn_x(gfn),
+                           radix_tree_int_to_ptr(a));
+    if ( rc == -EEXIST )
+    {
+        /* If a setting already exists, change it to the new one */
+        radix_tree_replace_slot(
+            radix_tree_lookup_slot(
+                &p2m->mem_access_settings, gfn_x(gfn)),
+            radix_tree_int_to_ptr(a));
+        rc = 0;
+    }
+
+    return rc;
+}
+
+/*
+ * Put any references on the single 4K page referenced by pte.
+ * TODO: Handle superpages, for now we only take special references for leaf
+ * pages (specifically foreign ones, which can't be super mapped today).
+ */
+static void p2m_put_l3_page(const lpae_t pte)
+{
+    mfn_t mfn = lpae_get_mfn(pte);
+
+    ASSERT(p2m_is_valid(pte));
+
+    /*
+     * TODO: Handle other p2m types
+     *
+     * It's safe to do the put_page here because page_alloc will
+     * flush the TLBs if the page is reallocated before the end of
+     * this loop.
+     */
+    if ( p2m_is_foreign(pte.p2m.type) )
+    {
+        ASSERT(mfn_valid(mfn));
+        put_page(mfn_to_page(mfn));
+    }
+    /* Detect the xenheap page and mark the stored GFN as invalid. */
+    else if ( p2m_is_ram(pte.p2m.type) && is_xen_heap_mfn(mfn) )
+        page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
+}
+
+/* Free lpae sub-tree behind an entry */
+static void p2m_free_entry(struct p2m_domain *p2m,
+                           lpae_t entry, unsigned int level)
+{
+    unsigned int i;
+    lpae_t *table;
+    mfn_t mfn;
+    struct page_info *pg;
+
+    /* Nothing to do if the entry is invalid. */
+    if ( !p2m_is_valid(entry) )
+        return;
+
+    if ( p2m_is_superpage(entry, level) || (level == 3) )
+    {
+#ifdef CONFIG_IOREQ_SERVER
+        /*
+         * If this gets called then either the entry was replaced by an entry
+         * with a different base (valid case) or the shattering of a superpage
+         * has failed (error case).
+         * So, at worst, the spurious mapcache invalidation might be sent.
+         */
+        if ( p2m_is_ram(entry.p2m.type) &&
+             domain_has_ioreq_server(p2m->domain) )
+            ioreq_request_mapcache_invalidate(p2m->domain);
+#endif
+
+        p2m->stats.mappings[level]--;
+        /* Nothing to do if the entry is a super-page. */
+        if ( level == 3 )
+            p2m_put_l3_page(entry);
+        return;
+    }
+
+    table = map_domain_page(lpae_get_mfn(entry));
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+        p2m_free_entry(p2m, *(table + i), level + 1);
+
+    unmap_domain_page(table);
+
+    /*
+     * Make sure all the references in the TLB have been removed before
+     * freing the intermediate page table.
+     * XXX: Should we defer the free of the page table to avoid the
+     * flush?
+     */
+    p2m_tlb_flush_sync(p2m);
+
+    mfn = lpae_get_mfn(entry);
+    ASSERT(mfn_valid(mfn));
+
+    pg = mfn_to_page(mfn);
+
+    page_list_del(pg, &p2m->pages);
+    p2m_free_page(p2m->domain, pg);
+}
+
+static bool p2m_split_superpage(struct p2m_domain *p2m, lpae_t *entry,
+                                unsigned int level, unsigned int target,
+                                const unsigned int *offsets)
+{
+    struct page_info *page;
+    unsigned int i;
+    lpae_t pte, *table;
+    bool rv = true;
+
+    /* Convenience aliases */
+    mfn_t mfn = lpae_get_mfn(*entry);
+    unsigned int next_level = level + 1;
+    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
+
+    /*
+     * This should only be called with target != level and the entry is
+     * a superpage.
+     */
+    ASSERT(level < target);
+    ASSERT(p2m_is_superpage(*entry, level));
+
+    page = p2m_alloc_page(p2m->domain);
+    if ( !page )
+        return false;
+
+    page_list_add(page, &p2m->pages);
+    table = __map_domain_page(page);
+
+    /*
+     * We are either splitting a first level 1G page into 512 second level
+     * 2M pages, or a second level 2M page into 512 third level 4K pages.
+     */
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+    {
+        lpae_t *new_entry = table + i;
+
+        /*
+         * Use the content of the superpage entry and override
+         * the necessary fields. So the correct permission are kept.
+         */
+        pte = *entry;
+        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
+
+        /*
+         * First and second level pages set p2m.table = 0, but third
+         * level entries set p2m.table = 1.
+         */
+        pte.p2m.table = (next_level == 3);
+
+        write_pte(new_entry, pte);
+    }
+
+    /* Update stats */
+    p2m->stats.shattered[level]++;
+    p2m->stats.mappings[level]--;
+    p2m->stats.mappings[next_level] += XEN_PT_LPAE_ENTRIES;
+
+    /*
+     * Shatter superpage in the page to the level we want to make the
+     * changes.
+     * This is done outside the loop to avoid checking the offset to
+     * know whether the entry should be shattered for every entry.
+     */
+    if ( next_level != target )
+        rv = p2m_split_superpage(p2m, table + offsets[next_level],
+                                 level + 1, target, offsets);
+
+    if ( p2m->clean_pte )
+        clean_dcache_va_range(table, PAGE_SIZE);
+
+    unmap_domain_page(table);
+
+    /*
+     * Even if we failed, we should install the newly allocated LPAE
+     * entry. The caller will be in charge to free the sub-tree.
+     */
+    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
+
+    return rv;
+}
+
+/*
+ * Insert an entry in the p2m. This should be called with a mapping
+ * equal to a page/superpage (4K, 2M, 1G).
+ */
+static int __p2m_set_entry(struct p2m_domain *p2m,
+                           gfn_t sgfn,
+                           unsigned int page_order,
+                           mfn_t smfn,
+                           p2m_type_t t,
+                           p2m_access_t a)
+{
+    unsigned int level = 0;
+    unsigned int target = 3 - (page_order / XEN_PT_LPAE_SHIFT);
+    lpae_t *entry, *table, orig_pte;
+    int rc;
+    /* A mapping is removed if the MFN is invalid. */
+    bool removing_mapping = mfn_eq(smfn, INVALID_MFN);
+    DECLARE_OFFSETS(offsets, gfn_to_gaddr(sgfn));
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    /*
+     * Check if the level target is valid: we only support
+     * 4K - 2M - 1G mapping.
+     */
+    ASSERT(target > 0 && target <= 3);
+
+    table = p2m_get_root_pointer(p2m, sgfn);
+    if ( !table )
+        return -EINVAL;
+
+    for ( level = P2M_ROOT_LEVEL; level < target; level++ )
+    {
+        /*
+         * Don't try to allocate intermediate page table if the mapping
+         * is about to be removed.
+         */
+        rc = p2m_next_level(p2m, removing_mapping,
+                            level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+        {
+            /*
+             * We are here because p2m_next_level has failed to map
+             * the intermediate page table (e.g the table does not exist
+             * and they p2m tree is read-only). It is a valid case
+             * when removing a mapping as it may not exist in the
+             * page table. In this case, just ignore it.
+             */
+            rc = removing_mapping ?  0 : -ENOENT;
+            goto out;
+        }
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    entry = table + offsets[level];
+
+    /*
+     * If we are here with level < target, we must be at a leaf node,
+     * and we need to break up the superpage.
+     */
+    if ( level < target )
+    {
+        /* We need to split the original page. */
+        lpae_t split_pte = *entry;
+
+        ASSERT(p2m_is_superpage(*entry, level));
+
+        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
+        {
+            /*
+             * The current super-page is still in-place, so re-increment
+             * the stats.
+             */
+            p2m->stats.mappings[level]++;
+
+            /* Free the allocated sub-tree */
+            p2m_free_entry(p2m, split_pte, level);
+
+            rc = -ENOMEM;
+            goto out;
+        }
+
+        /*
+         * Follow the break-before-sequence to update the entry.
+         * For more details see (D4.7.1 in ARM DDI 0487A.j).
+         */
+        p2m_remove_pte(entry, p2m->clean_pte);
+        p2m_force_tlb_flush_sync(p2m);
+
+        p2m_write_pte(entry, split_pte, p2m->clean_pte);
+
+        /* then move to the level we want to make real changes */
+        for ( ; level < target; level++ )
+        {
+            rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+
+            /*
+             * The entry should be found and either be a table
+             * or a superpage if level 3 is not targeted
+             */
+            ASSERT(rc == GUEST_TABLE_NORMAL_PAGE ||
+                   (rc == GUEST_TABLE_SUPER_PAGE && target < 3));
+        }
+
+        entry = table + offsets[level];
+    }
+
+    /*
+     * We should always be there with the correct level because
+     * all the intermediate tables have been installed if necessary.
+     */
+    ASSERT(level == target);
+
+    orig_pte = *entry;
+
+    /*
+     * The radix-tree can only work on 4KB. This is only used when
+     * memaccess is enabled and during shutdown.
+     */
+    ASSERT(!p2m->mem_access_enabled || page_order == 0 ||
+           p2m->domain->is_dying);
+    /*
+     * The access type should always be p2m_access_rwx when the mapping
+     * is removed.
+     */
+    ASSERT(!mfn_eq(INVALID_MFN, smfn) || (a == p2m_access_rwx));
+    /*
+     * Update the mem access permission before update the P2M. So we
+     * don't have to revert the mapping if it has failed.
+     */
+    rc = p2m_mem_access_radix_set(p2m, sgfn, a);
+    if ( rc )
+        goto out;
+
+    /*
+     * Always remove the entry in order to follow the break-before-make
+     * sequence when updating the translation table (D4.7.1 in ARM DDI
+     * 0487A.j).
+     */
+    if ( lpae_is_valid(orig_pte) || removing_mapping )
+        p2m_remove_pte(entry, p2m->clean_pte);
+
+    if ( removing_mapping )
+        /* Flush can be deferred if the entry is removed */
+        p2m->need_flush |= !!lpae_is_valid(orig_pte);
+    else
+    {
+        lpae_t pte = mfn_to_p2m_entry(smfn, t, a);
+
+        if ( level < 3 )
+            pte.p2m.table = 0; /* Superpage entry */
+
+        /*
+         * It is necessary to flush the TLB before writing the new entry
+         * to keep coherency when the previous entry was valid.
+         *
+         * Although, it could be defered when only the permissions are
+         * changed (e.g in case of memaccess).
+         */
+        if ( lpae_is_valid(orig_pte) )
+        {
+            if ( likely(!p2m->mem_access_enabled) ||
+                 P2M_CLEAR_PERM(pte) != P2M_CLEAR_PERM(orig_pte) )
+                p2m_force_tlb_flush_sync(p2m);
+            else
+                p2m->need_flush = true;
+        }
+        else if ( !p2m_is_valid(orig_pte) ) /* new mapping */
+            p2m->stats.mappings[level]++;
+
+        p2m_write_pte(entry, pte, p2m->clean_pte);
+
+        p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
+                                      gfn_add(sgfn, (1UL << page_order) - 1));
+        p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, sgfn);
+    }
+
+    if ( is_iommu_enabled(p2m->domain) &&
+         (lpae_is_valid(orig_pte) || lpae_is_valid(*entry)) )
+    {
+        unsigned int flush_flags = 0;
+
+        if ( lpae_is_valid(orig_pte) )
+            flush_flags |= IOMMU_FLUSHF_modified;
+        if ( lpae_is_valid(*entry) )
+            flush_flags |= IOMMU_FLUSHF_added;
+
+        rc = iommu_iotlb_flush(p2m->domain, _dfn(gfn_x(sgfn)),
+                               1UL << page_order, flush_flags);
+    }
+    else
+        rc = 0;
+
+    /*
+     * Free the entry only if the original pte was valid and the base
+     * is different (to avoid freeing when permission is changed).
+     */
+    if ( p2m_is_valid(orig_pte) &&
+         !mfn_eq(lpae_get_mfn(*entry), lpae_get_mfn(orig_pte)) )
+        p2m_free_entry(p2m, orig_pte, level);
+
+out:
+    unmap_domain_page(table);
+
+    return rc;
+}
+
+int p2m_set_entry(struct p2m_domain *p2m,
+                  gfn_t sgfn,
+                  unsigned long nr,
+                  mfn_t smfn,
+                  p2m_type_t t,
+                  p2m_access_t a)
+{
+    int rc = 0;
+
+    /*
+     * Any reference taken by the P2M mappings (e.g. foreign mapping) will
+     * be dropped in relinquish_p2m_mapping(). As the P2M will still
+     * be accessible after, we need to prevent mapping to be added when the
+     * domain is dying.
+     */
+    if ( unlikely(p2m->domain->is_dying) )
+        return -ENOMEM;
+
+    while ( nr )
+    {
+        unsigned long mask;
+        unsigned long order;
+
+        /*
+         * Don't take into account the MFN when removing mapping (i.e
+         * MFN_INVALID) to calculate the correct target order.
+         *
+         * XXX: Support superpage mappings if nr is not aligned to a
+         * superpage size.
+         */
+        mask = !mfn_eq(smfn, INVALID_MFN) ? mfn_x(smfn) : 0;
+        mask |= gfn_x(sgfn) | nr;
+
+        /* Always map 4k by 4k when memaccess is enabled */
+        if ( unlikely(p2m->mem_access_enabled) )
+            order = THIRD_ORDER;
+        else if ( !(mask & ((1UL << FIRST_ORDER) - 1)) )
+            order = FIRST_ORDER;
+        else if ( !(mask & ((1UL << SECOND_ORDER) - 1)) )
+            order = SECOND_ORDER;
+        else
+            order = THIRD_ORDER;
+
+        rc = __p2m_set_entry(p2m, sgfn, order, smfn, t, a);
+        if ( rc )
+            break;
+
+        sgfn = gfn_add(sgfn, (1 << order));
+        if ( !mfn_eq(smfn, INVALID_MFN) )
+           smfn = mfn_add(smfn, (1 << order));
+
+        nr -= (1 << order);
+    }
+
+    return rc;
+}
+
+/* Invalidate all entries in the table. The p2m should be write locked. */
+static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
+{
+    lpae_t *table;
+    unsigned int i;
+
+    ASSERT(p2m_is_write_locked(p2m));
+
+    table = map_domain_page(mfn);
+
+    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
+    {
+        lpae_t pte = table[i];
+
+        /*
+         * Writing an entry can be expensive because it may involve
+         * cleaning the cache. So avoid updating the entry if the valid
+         * bit is already cleared.
+         */
+        if ( !pte.p2m.valid )
+            continue;
+
+        pte.p2m.valid = 0;
+
+        p2m_write_pte(&table[i], pte, p2m->clean_pte);
+    }
+
+    unmap_domain_page(table);
+
+    p2m->need_flush = true;
+}
+
+/*
+ * The domain will not be scheduled anymore, so in theory we should
+ * not need to flush the TLBs. Do it for safety purpose.
+ * Note that all the devices have already been de-assigned. So we don't
+ * need to flush the IOMMU TLB here.
+ */
+void p2m_clear_root_pages(struct p2m_domain *p2m)
+{
+    unsigned int i;
+
+    p2m_write_lock(p2m);
+
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(p2m->root + i);
+
+    p2m_force_tlb_flush_sync(p2m);
+
+    p2m_write_unlock(p2m);
+}
+
+/*
+ * Invalidate all entries in the root page-tables. This is
+ * useful to get fault on entry and do an action.
+ *
+ * p2m_invalid_root() should not be called when the P2M is shared with
+ * the IOMMU because it will cause IOMMU fault.
+ */
+static void p2m_invalidate_root(struct p2m_domain *p2m)
+{
+    unsigned int i;
+
+    ASSERT(!iommu_use_hap_pt(p2m->domain));
+
+    p2m_write_lock(p2m);
+
+    for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
+        p2m_invalidate_table(p2m, page_to_mfn(p2m->root + i));
+
+    p2m_write_unlock(p2m);
+}
+
+void p2m_domain_creation_finished(struct domain *d)
+{
+    /*
+     * To avoid flushing the whole guest RAM on the first Set/Way, we
+     * invalidate the P2M to track what has been accessed.
+     *
+     * This is only turned when IOMMU is not used or the page-table are
+     * not shared because bit[0] (e.g valid bit) unset will result
+     * IOMMU fault that could be not fixed-up.
+     */
+    if ( !iommu_use_hap_pt(d) )
+        p2m_invalidate_root(p2m_get_hostp2m(d));
+}
+
+/*
+ * Resolve any translation fault due to change in the p2m. This
+ * includes break-before-make and valid bit cleared.
+ */
+bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned int level = 0;
+    bool resolved = false;
+    lpae_t entry, *table;
+
+    /* Convenience aliases */
+    DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
+
+    p2m_write_lock(p2m);
+
+    /* This gfn is higher than the highest the p2m map currently holds */
+    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
+        goto out;
+
+    table = p2m_get_root_pointer(p2m, gfn);
+    /*
+     * The table should always be non-NULL because the gfn is below
+     * p2m->max_mapped_gfn and the root table pages are always present.
+     */
+    if ( !table )
+    {
+        ASSERT_UNREACHABLE();
+        goto out;
+    }
+
+    /*
+     * Go down the page-tables until an entry has the valid bit unset or
+     * a block/page entry has been hit.
+     */
+    for ( level = P2M_ROOT_LEVEL; level <= 3; level++ )
+    {
+        int rc;
+
+        entry = table[offsets[level]];
+
+        if ( level == 3 )
+            break;
+
+        /* Stop as soon as we hit an entry with the valid bit unset. */
+        if ( !lpae_is_valid(entry) )
+            break;
+
+        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
+        if ( rc == GUEST_TABLE_MAP_FAILED )
+            goto out_unmap;
+        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
+            break;
+    }
+
+    /*
+     * If the valid bit of the entry is set, it means someone was playing with
+     * the Stage-2 page table. Nothing to do and mark the fault as resolved.
+     */
+    if ( lpae_is_valid(entry) )
+    {
+        resolved = true;
+        goto out_unmap;
+    }
+
+    /*
+     * The valid bit is unset. If the entry is still not valid then the fault
+     * cannot be resolved, exit and report it.
+     */
+    if ( !p2m_is_valid(entry) )
+        goto out_unmap;
+
+    /*
+     * Now we have an entry with valid bit unset, but still valid from
+     * the P2M point of view.
+     *
+     * If an entry is pointing to a table, each entry of the table will
+     * have there valid bit cleared. This allows a function to clear the
+     * full p2m with just a couple of write. The valid bit will then be
+     * propagated on the fault.
+     * If an entry is pointing to a block/page, no work to do for now.
+     */
+    if ( lpae_is_table(entry, level) )
+        p2m_invalidate_table(p2m, lpae_get_mfn(entry));
+
+    /*
+     * Now that the work on the entry is done, set the valid bit to prevent
+     * another fault on that entry.
+     */
+    resolved = true;
+    entry.p2m.valid = 1;
+
+    p2m_write_pte(table + offsets[level], entry, p2m->clean_pte);
+
+    /*
+     * No need to flush the TLBs as the modified entry had the valid bit
+     * unset.
+     */
+
+out_unmap:
+    unmap_domain_page(table);
+
+out:
+    p2m_write_unlock(p2m);
+
+    return resolved;
+}
+
+static struct page_info *p2m_allocate_root(void)
+{
+    struct page_info *page;
+    unsigned int i;
+
+    page = alloc_domheap_pages(NULL, P2M_ROOT_ORDER, 0);
+    if ( page == NULL )
+        return NULL;
+
+    /* Clear both first level pages */
+    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
+        clear_and_clean_page(page + i);
+
+    return page;
+}
+
+static int p2m_alloc_table(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    p2m->root = p2m_allocate_root();
+    if ( !p2m->root )
+        return -ENOMEM;
+
+    p2m->vttbr = generate_vttbr(p2m->vmid, page_to_mfn(p2m->root));
+
+    /*
+     * Make sure that all TLBs corresponding to the new VMID are flushed
+     * before using it
+     */
+    p2m_write_lock(p2m);
+    p2m_force_tlb_flush_sync(p2m);
+    p2m_write_unlock(p2m);
+
+    return 0;
+}
+
+int p2m_teardown(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned long count = 0;
+    struct page_info *pg;
+    int rc = 0;
+
+    p2m_write_lock(p2m);
+
+    while ( (pg = page_list_remove_head(&p2m->pages)) )
+    {
+        p2m_free_page(p2m->domain, pg);
+        count++;
+        /* Arbitrarily preempt every 512 iterations */
+        if ( !(count % 512) && hypercall_preempt_check() )
+        {
+            rc = -ERESTART;
+            break;
+        }
+    }
+
+    p2m_write_unlock(p2m);
+
+    return rc;
+}
+
+void p2m_final_teardown(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+
+    /* p2m not actually initialized */
+    if ( !p2m->domain )
+        return;
+
+    /*
+     * No need to call relinquish_p2m_mapping() here because
+     * p2m_final_teardown() is called either after domain_relinquish_resources()
+     * where relinquish_p2m_mapping() has been called.
+     */
+
+    ASSERT(page_list_empty(&p2m->pages));
+
+    while ( p2m_teardown_allocation(d) == -ERESTART )
+        continue; /* No preemption support here */
+    ASSERT(page_list_empty(&d->arch.paging.p2m_freelist));
+
+    if ( p2m->root )
+        free_domheap_pages(p2m->root, P2M_ROOT_ORDER);
+
+    p2m->root = NULL;
+
+    p2m_free_vmid(d);
+
+    radix_tree_destroy(&p2m->mem_access_settings, NULL);
+
+    p2m->domain = NULL;
+}
+
+int p2m_init(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    int rc;
+    unsigned int cpu;
+
+    rwlock_init(&p2m->lock);
+    spin_lock_init(&d->arch.paging.lock);
+    INIT_PAGE_LIST_HEAD(&p2m->pages);
+    INIT_PAGE_LIST_HEAD(&d->arch.paging.p2m_freelist);
+
+    p2m->vmid = INVALID_VMID;
+    p2m->max_mapped_gfn = _gfn(0);
+    p2m->lowest_mapped_gfn = _gfn(ULONG_MAX);
+
+    p2m->default_access = p2m_access_rwx;
+    p2m->mem_access_enabled = false;
+    radix_tree_init(&p2m->mem_access_settings);
+
+    /*
+     * Some IOMMUs don't support coherent PT walk. When the p2m is
+     * shared with the CPU, Xen has to make sure that the PT changes have
+     * reached the memory
+     */
+    p2m->clean_pte = is_iommu_enabled(d) &&
+        !iommu_has_feature(d, IOMMU_FEAT_COHERENT_WALK);
+
+    /*
+     * Make sure that the type chosen to is able to store the an vCPU ID
+     * between 0 and the maximum of virtual CPUS supported as long as
+     * the INVALID_VCPU_ID.
+     */
+    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0]) * 8)) < MAX_VIRT_CPUS);
+    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0])* 8)) < INVALID_VCPU_ID);
+
+    for_each_possible_cpu(cpu)
+       p2m->last_vcpu_ran[cpu] = INVALID_VCPU_ID;
+
+    /*
+     * "Trivial" initialisation is now complete.  Set the backpointer so
+     * p2m_teardown() and friends know to do something.
+     */
+    p2m->domain = d;
+
+    rc = p2m_alloc_vmid(d);
+    if ( rc )
+        return rc;
+
+    rc = p2m_alloc_table(d);
+    if ( rc )
+        return rc;
+
+    return 0;
+}
+
+/*
+ * The function will go through the p2m and remove page reference when it
+ * is required. The mapping will be removed from the p2m.
+ *
+ * XXX: See whether the mapping can be left intact in the p2m.
+ */
+int relinquish_p2m_mapping(struct domain *d)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
+    unsigned long count = 0;
+    p2m_type_t t;
+    int rc = 0;
+    unsigned int order;
+    gfn_t start, end;
+
+    BUG_ON(!d->is_dying);
+    /* No mappings can be added in the P2M after the P2M lock is released. */
+    p2m_write_lock(p2m);
+
+    start = p2m->lowest_mapped_gfn;
+    end = gfn_add(p2m->max_mapped_gfn, 1);
+
+    for ( ; gfn_x(start) < gfn_x(end);
+          start = gfn_next_boundary(start, order) )
+    {
+        mfn_t mfn = p2m_get_entry(p2m, start, &t, NULL, &order, NULL);
+
+        count++;
+        /*
+         * Arbitrarily preempt every 512 iterations.
+         */
+        if ( !(count % 512) && hypercall_preempt_check() )
+        {
+            rc = -ERESTART;
+            break;
+        }
+
+        /*
+         * p2m_set_entry will take care of removing reference on page
+         * when it is necessary and removing the mapping in the p2m.
+         */
+        if ( !mfn_eq(mfn, INVALID_MFN) )
+        {
+            /*
+             * For valid mapping, the start will always be aligned as
+             * entry will be removed whilst relinquishing.
+             */
+            rc = __p2m_set_entry(p2m, start, order, INVALID_MFN,
+                                 p2m_invalid, p2m_access_rwx);
+            if ( unlikely(rc) )
+            {
+                printk(XENLOG_G_ERR "Unable to remove mapping gfn=%#"PRI_gfn" order=%u from the p2m of domain %d\n", gfn_x(start), order, d->domain_id);
+                break;
+            }
+        }
+    }
+
+    /*
+     * Update lowest_mapped_gfn so on the next call we still start where
+     * we stopped.
+     */
+    p2m->lowest_mapped_gfn = start;
+
+    p2m_write_unlock(p2m);
+
+    return rc;
+}
+
+/*
+ * Clean & invalidate RAM associated to the guest vCPU.
+ *
+ * The function can only work with the current vCPU and should be called
+ * with IRQ enabled as the vCPU could get preempted.
+ */
+void p2m_flush_vm(struct vcpu *v)
+{
+    struct p2m_domain *p2m = p2m_get_hostp2m(v->domain);
+    int rc;
+    gfn_t start = _gfn(0);
+
+    ASSERT(v == current);
+    ASSERT(local_irq_is_enabled());
+    ASSERT(v->arch.need_flush_to_ram);
+
+    do
+    {
+        rc = p2m_cache_flush_range(v->domain, &start, _gfn(ULONG_MAX));
+        if ( rc == -ERESTART )
+            do_softirq();
+    } while ( rc == -ERESTART );
+
+    if ( rc != 0 )
+        gprintk(XENLOG_WARNING,
+                "P2M has not been correctly cleaned (rc = %d)\n",
+                rc);
+
+    /*
+     * Invalidate the p2m to track which page was modified by the guest
+     * between call of p2m_flush_vm().
+     */
+    p2m_invalidate_root(p2m);
+
+    v->arch.need_flush_to_ram = false;
+}
+
+/* VTCR value to be configured by all CPUs. Set only once by the boot CPU */
+static register_t __read_mostly vtcr;
+
+static void setup_virt_paging_one(void *data)
+{
+    WRITE_SYSREG(vtcr, VTCR_EL2);
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE: We want to keep the TLBs free from
+     * entries related to EL1/EL0 translation regime until a guest vCPU
+     * is running. For that, we need to set-up VTTBR to point to an empty
+     * page-table and turn on stage-2 translation. The TLB entries
+     * associated with EL1/EL0 translation regime will also be flushed in case
+     * an AT instruction was speculated before hand.
+     */
+    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
+        WRITE_SYSREG(READ_SYSREG(HCR_EL2) | HCR_VM, HCR_EL2);
+        isb();
+
+        flush_all_guests_tlb_local();
+    }
+}
+
+void __init setup_virt_paging(void)
+{
+    /* Setup Stage 2 address translation */
+    register_t val = VTCR_RES1|VTCR_SH0_IS|VTCR_ORGN0_WBWA|VTCR_IRGN0_WBWA;
+
+    static const struct {
+        unsigned int pabits; /* Physical Address Size */
+        unsigned int t0sz;   /* Desired T0SZ, minimum in comment */
+        unsigned int root_order; /* Page order of the root of the p2m */
+        unsigned int sl0;    /* Desired SL0, maximum in comment */
+    } pa_range_info[] __initconst = {
+        /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
+        /*      PA size, t0sz(min), root-order, sl0(max) */
+#ifdef CONFIG_ARM_64
+        [0] = { 32,      32/*32*/,  0,          1 },
+        [1] = { 36,      28/*28*/,  0,          1 },
+        [2] = { 40,      24/*24*/,  1,          1 },
+        [3] = { 42,      22/*22*/,  3,          1 },
+        [4] = { 44,      20/*20*/,  0,          2 },
+        [5] = { 48,      16/*16*/,  0,          2 },
+        [6] = { 52,      12/*12*/,  4,          2 },
+        [7] = { 0 }  /* Invalid */
+#else
+        { 32,      0/*0*/,    0,          1 },
+        { 40,      24/*24*/,  1,          1 }
+#endif
+    };
+
+    unsigned int i;
+    unsigned int pa_range = 0x10; /* Larger than any possible value */
+
+#ifdef CONFIG_ARM_32
+    /*
+     * Typecast pa_range_info[].t0sz into arm32 bit variant.
+     *
+     * VTCR.T0SZ is bits [3:0] and S(sign extension), bit[4] for arm322.
+     * Thus, pa_range_info[].t0sz is translated to its arm32 variant using
+     * struct bitfields.
+     */
+    struct
+    {
+        signed int val:5;
+    } t0sz_32;
+#else
+    /*
+     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
+     * with IPA bits == PA bits, compare against "pabits".
+     */
+    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
+        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
+
+    /*
+     * cpu info sanitization made sure we support 16bits VMID only if all
+     * cores are supporting it.
+     */
+    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
+        max_vmid = MAX_VMID_16_BIT;
+#endif
+
+    /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
+    for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
+    {
+        if ( p2m_ipa_bits == pa_range_info[i].pabits )
+        {
+            pa_range = i;
+            break;
+        }
+    }
+
+    /* Check if we found the associated entry in the array */
+    if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
+        panic("%u-bit P2M is not supported\n", p2m_ipa_bits);
+
+#ifdef CONFIG_ARM_64
+    val |= VTCR_PS(pa_range);
+    val |= VTCR_TG0_4K;
+
+    /* Set the VS bit only if 16 bit VMID is supported. */
+    if ( MAX_VMID == MAX_VMID_16_BIT )
+        val |= VTCR_VS;
+#endif
+
+    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
+    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
+
+    p2m_root_order = pa_range_info[pa_range].root_order;
+    p2m_root_level = 2 - pa_range_info[pa_range].sl0;
+
+#ifdef CONFIG_ARM_64
+    p2m_ipa_bits = 64 - pa_range_info[pa_range].t0sz;
+#else
+    t0sz_32.val = pa_range_info[pa_range].t0sz;
+    p2m_ipa_bits = 32 - t0sz_32.val;
+#endif
+
+    printk("P2M: %d-bit IPA with %d-bit PA and %d-bit VMID\n",
+           p2m_ipa_bits,
+           pa_range_info[pa_range].pabits,
+           ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
+
+    printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
+           4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
+
+    p2m_vmid_allocator_init();
+
+    /* It is not allowed to concatenate a level zero root */
+    BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
+    vtcr = val;
+
+    /*
+     * ARM64_WORKAROUND_AT_SPECULATE requires to allocate root table
+     * with all entries zeroed.
+     */
+    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
+    {
+        struct page_info *root;
+
+        root = p2m_allocate_root();
+        if ( !root )
+            panic("Unable to allocate root table for ARM64_WORKAROUND_AT_SPECULATE\n");
+
+        empty_root_mfn = page_to_mfn(root);
+    }
+
+    setup_virt_paging_one(NULL);
+    smp_call_function(setup_virt_paging_one, NULL, 1);
+}
+
+static int cpu_virt_paging_callback(struct notifier_block *nfb,
+                                    unsigned long action,
+                                    void *hcpu)
+{
+    switch ( action )
+    {
+    case CPU_STARTING:
+        ASSERT(system_state != SYS_STATE_boot);
+        setup_virt_paging_one(NULL);
+        break;
+    default:
+        break;
+    }
+
+    return NOTIFY_DONE;
+}
+
+static struct notifier_block cpu_virt_paging_nfb = {
+    .notifier_call = cpu_virt_paging_callback,
+};
+
+static int __init cpu_virt_paging_init(void)
+{
+    register_cpu_notifier(&cpu_virt_paging_nfb);
+
+    return 0;
+}
+/*
+ * Initialization of the notifier has to be done at init rather than presmp_init
+ * phase because: the registered notifier is used to setup virtual paging for
+ * non-boot CPUs after the initial virtual paging for all CPUs is already setup,
+ * i.e. when a non-boot CPU is hotplugged after the system has booted. In other
+ * words, the notifier should be registered after the virtual paging is
+ * initially setup (setup_virt_paging() is called from start_xen()). This is
+ * required because vtcr config value has to be set before a notifier can fire.
+ */
+__initcall(cpu_virt_paging_init);
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index de32a2d638..b991b76ce4 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -1,191 +1,25 @@
 /* SPDX-License-Identifier: GPL-2.0 */
-#include <xen/cpu.h>
-#include <xen/domain_page.h>
 #include <xen/iocap.h>
-#include <xen/ioreq.h>
 #include <xen/lib.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
 
-#include <asm/alternative.h>
 #include <asm/event.h>
 #include <asm/flushtlb.h>
 #include <asm/guest_walk.h>
 #include <asm/page.h>
 #include <asm/traps.h>
 
-#define MAX_VMID_8_BIT  (1UL << 8)
-#define MAX_VMID_16_BIT (1UL << 16)
-
-#define INVALID_VMID 0 /* VMID 0 is reserved */
-
-unsigned int __read_mostly p2m_root_order;
-unsigned int __read_mostly p2m_root_level;
 #ifdef CONFIG_ARM_64
-static unsigned int __read_mostly max_vmid = MAX_VMID_8_BIT;
-/* VMID is by default 8 bit width on AArch64 */
-#define MAX_VMID       max_vmid
-#else
-/* VMID is always 8 bit width on AArch32 */
-#define MAX_VMID        MAX_VMID_8_BIT
+unsigned int __read_mostly max_vmid = MAX_VMID_8_BIT;
 #endif
 
-#define P2M_ROOT_PAGES    (1<<P2M_ROOT_ORDER)
-
 /*
  * Set to the maximum configured support for IPA bits, so the number of IPA bits can be
  * restricted by external entity (e.g. IOMMU).
  */
 unsigned int __read_mostly p2m_ipa_bits = PADDR_BITS;
 
-static mfn_t __read_mostly empty_root_mfn;
-
-static uint64_t generate_vttbr(uint16_t vmid, mfn_t root_mfn)
-{
-    return (mfn_to_maddr(root_mfn) | ((uint64_t)vmid << 48));
-}
-
-static struct page_info *p2m_alloc_page(struct domain *d)
-{
-    struct page_info *pg;
-
-    /*
-     * For hardware domain, there should be no limit in the number of pages that
-     * can be allocated, so that the kernel may take advantage of the extended
-     * regions. Hence, allocate p2m pages for hardware domains from heap.
-     */
-    if ( is_hardware_domain(d) )
-    {
-        pg = alloc_domheap_page(NULL, 0);
-        if ( pg == NULL )
-            printk(XENLOG_G_ERR "Failed to allocate P2M pages for hwdom.\n");
-    }
-    else
-    {
-        spin_lock(&d->arch.paging.lock);
-        pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
-        spin_unlock(&d->arch.paging.lock);
-    }
-
-    return pg;
-}
-
-static void p2m_free_page(struct domain *d, struct page_info *pg)
-{
-    if ( is_hardware_domain(d) )
-        free_domheap_page(pg);
-    else
-    {
-        spin_lock(&d->arch.paging.lock);
-        page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
-        spin_unlock(&d->arch.paging.lock);
-    }
-}
-
-/* Return the size of the pool, in bytes. */
-int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
-{
-    *size = (uint64_t)ACCESS_ONCE(d->arch.paging.p2m_total_pages) << PAGE_SHIFT;
-    return 0;
-}
-
-/*
- * Set the pool of pages to the required number of pages.
- * Returns 0 for success, non-zero for failure.
- * Call with d->arch.paging.lock held.
- */
-int p2m_set_allocation(struct domain *d, unsigned long pages, bool *preempted)
-{
-    struct page_info *pg;
-
-    ASSERT(spin_is_locked(&d->arch.paging.lock));
-
-    for ( ; ; )
-    {
-        if ( d->arch.paging.p2m_total_pages < pages )
-        {
-            /* Need to allocate more memory from domheap */
-            pg = alloc_domheap_page(NULL, 0);
-            if ( pg == NULL )
-            {
-                printk(XENLOG_ERR "Failed to allocate P2M pages.\n");
-                return -ENOMEM;
-            }
-            ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
-                d->arch.paging.p2m_total_pages + 1;
-            page_list_add_tail(pg, &d->arch.paging.p2m_freelist);
-        }
-        else if ( d->arch.paging.p2m_total_pages > pages )
-        {
-            /* Need to return memory to domheap */
-            pg = page_list_remove_head(&d->arch.paging.p2m_freelist);
-            if( pg )
-            {
-                ACCESS_ONCE(d->arch.paging.p2m_total_pages) =
-                    d->arch.paging.p2m_total_pages - 1;
-                free_domheap_page(pg);
-            }
-            else
-            {
-                printk(XENLOG_ERR
-                       "Failed to free P2M pages, P2M freelist is empty.\n");
-                return -ENOMEM;
-            }
-        }
-        else
-            break;
-
-        /* Check to see if we need to yield and try again */
-        if ( preempted && general_preempt_check() )
-        {
-            *preempted = true;
-            return -ERESTART;
-        }
-    }
-
-    return 0;
-}
-
-int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
-{
-    unsigned long pages = size >> PAGE_SHIFT;
-    bool preempted = false;
-    int rc;
-
-    if ( (size & ~PAGE_MASK) ||          /* Non page-sized request? */
-         pages != (size >> PAGE_SHIFT) ) /* 32-bit overflow? */
-        return -EINVAL;
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, pages, &preempted);
-    spin_unlock(&d->arch.paging.lock);
-
-    ASSERT(preempted == (rc == -ERESTART));
-
-    return rc;
-}
-
-int p2m_teardown_allocation(struct domain *d)
-{
-    int ret = 0;
-    bool preempted = false;
-
-    spin_lock(&d->arch.paging.lock);
-    if ( d->arch.paging.p2m_total_pages != 0 )
-    {
-        ret = p2m_set_allocation(d, 0, &preempted);
-        if ( preempted )
-        {
-            spin_unlock(&d->arch.paging.lock);
-            return -ERESTART;
-        }
-        ASSERT(d->arch.paging.p2m_total_pages == 0);
-    }
-    spin_unlock(&d->arch.paging.lock);
-
-    return ret;
-}
-
 /* Unlock the flush and do a P2M TLB flush if necessary */
 void p2m_write_unlock(struct p2m_domain *p2m)
 {
@@ -199,1268 +33,66 @@ void p2m_write_unlock(struct p2m_domain *p2m)
     write_unlock(&p2m->lock);
 }
 
-void p2m_dump_info(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m_read_lock(p2m);
-    printk("p2m mappings for domain %d (vmid %d):\n",
-           d->domain_id, p2m->vmid);
-    BUG_ON(p2m->stats.mappings[0] || p2m->stats.shattered[0]);
-    printk("  1G mappings: %ld (shattered %ld)\n",
-           p2m->stats.mappings[1], p2m->stats.shattered[1]);
-    printk("  2M mappings: %ld (shattered %ld)\n",
-           p2m->stats.mappings[2], p2m->stats.shattered[2]);
-    printk("  4K mappings: %ld\n", p2m->stats.mappings[3]);
-    p2m_read_unlock(p2m);
-}
-
 void memory_type_changed(struct domain *d)
 {
 }
 
-void dump_p2m_lookup(struct domain *d, paddr_t addr)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    printk("dom%d IPA 0x%"PRIpaddr"\n", d->domain_id, addr);
-
-    printk("P2M @ %p mfn:%#"PRI_mfn"\n",
-           p2m->root, mfn_x(page_to_mfn(p2m->root)));
-
-    dump_pt_walk(page_to_maddr(p2m->root), addr,
-                 P2M_ROOT_LEVEL, P2M_ROOT_PAGES);
-}
-
-/*
- * p2m_save_state and p2m_restore_state work in pair to workaround
- * ARM64_WORKAROUND_AT_SPECULATE. p2m_save_state will set-up VTTBR to
- * point to the empty page-tables to stop allocating TLB entries.
- */
-void p2m_save_state(struct vcpu *p)
-{
-    p->arch.sctlr = READ_SYSREG(SCTLR_EL1);
-
-    if ( cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
-        /*
-         * Ensure VTTBR_EL2 is correctly synchronized so we can restore
-         * the next vCPU context without worrying about AT instruction
-         * speculation.
-         */
-        isb();
-    }
-}
-
-void p2m_restore_state(struct vcpu *n)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(n->domain);
-    uint8_t *last_vcpu_ran;
-
-    if ( is_idle_vcpu(n) )
-        return;
-
-    WRITE_SYSREG(n->arch.sctlr, SCTLR_EL1);
-    WRITE_SYSREG(n->arch.hcr_el2, HCR_EL2);
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE: VTTBR_EL2 should be restored after all
-     * registers associated to EL1/EL0 translations regime have been
-     * synchronized.
-     */
-    asm volatile(ALTERNATIVE("nop", "isb", ARM64_WORKAROUND_AT_SPECULATE));
-    WRITE_SYSREG64(p2m->vttbr, VTTBR_EL2);
-
-    last_vcpu_ran = &p2m->last_vcpu_ran[smp_processor_id()];
-
-    /*
-     * While we are restoring an out-of-context translation regime
-     * we still need to ensure:
-     *  - VTTBR_EL2 is synchronized before flushing the TLBs
-     *  - All registers for EL1 are synchronized before executing an AT
-     *  instructions targeting S1/S2.
-     */
-    isb();
-
-    /*
-     * Flush local TLB for the domain to prevent wrong TLB translation
-     * when running multiple vCPU of the same domain on a single pCPU.
-     */
-    if ( *last_vcpu_ran != INVALID_VCPU_ID && *last_vcpu_ran != n->vcpu_id )
-        flush_guest_tlb_local();
-
-    *last_vcpu_ran = n->vcpu_id;
-}
-
-/*
- * Force a synchronous P2M TLB flush.
- *
- * Must be called with the p2m lock held.
- */
-static void p2m_force_tlb_flush_sync(struct p2m_domain *p2m)
-{
-    unsigned long flags = 0;
-    uint64_t ovttbr;
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    /*
-     * ARM only provides an instruction to flush TLBs for the current
-     * VMID. So switch to the VTTBR of a given P2M if different.
-     */
-    ovttbr = READ_SYSREG64(VTTBR_EL2);
-    if ( ovttbr != p2m->vttbr )
-    {
-        uint64_t vttbr;
-
-        local_irq_save(flags);
-
-        /*
-         * ARM64_WORKAROUND_AT_SPECULATE: We need to stop AT to allocate
-         * TLBs entries because the context is partially modified. We
-         * only need the VMID for flushing the TLBs, so we can generate
-         * a new VTTBR with the VMID to flush and the empty root table.
-         */
-        if ( !cpus_have_const_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-            vttbr = p2m->vttbr;
-        else
-            vttbr = generate_vttbr(p2m->vmid, empty_root_mfn);
-
-        WRITE_SYSREG64(vttbr, VTTBR_EL2);
-
-        /* Ensure VTTBR_EL2 is synchronized before flushing the TLBs */
-        isb();
-    }
-
-    flush_guest_tlb();
-
-    if ( ovttbr != READ_SYSREG64(VTTBR_EL2) )
-    {
-        WRITE_SYSREG64(ovttbr, VTTBR_EL2);
-        /* Ensure VTTBR_EL2 is back in place before continuing. */
-        isb();
-        local_irq_restore(flags);
-    }
-
-    p2m->need_flush = false;
-}
-
-void p2m_tlb_flush_sync(struct p2m_domain *p2m)
-{
-    if ( p2m->need_flush )
-        p2m_force_tlb_flush_sync(p2m);
-}
-
-/*
- * Find and map the root page table. The caller is responsible for
- * unmapping the table.
- *
- * The function will return NULL if the offset of the root table is
- * invalid.
- */
-static lpae_t *p2m_get_root_pointer(struct p2m_domain *p2m,
-                                    gfn_t gfn)
-{
-    unsigned long root_table;
-
-    /*
-     * While the root table index is the offset from the previous level,
-     * we can't use (P2M_ROOT_LEVEL - 1) because the root level might be
-     * 0. Yet we still want to check if all the unused bits are zeroed.
-     */
-    root_table = gfn_x(gfn) >> (XEN_PT_LEVEL_ORDER(P2M_ROOT_LEVEL) +
-                                XEN_PT_LPAE_SHIFT);
-    if ( root_table >= P2M_ROOT_PAGES )
-        return NULL;
-
-    return __map_domain_page(p2m->root + root_table);
-}
-
-/*
- * Lookup the MFN corresponding to a domain's GFN.
- * Lookup mem access in the ratrix tree.
- * The entries associated to the GFN is considered valid.
- */
-static p2m_access_t p2m_mem_access_radix_get(struct p2m_domain *p2m, gfn_t gfn)
-{
-    void *ptr;
-
-    if ( !p2m->mem_access_enabled )
-        return p2m->default_access;
-
-    ptr = radix_tree_lookup(&p2m->mem_access_settings, gfn_x(gfn));
-    if ( !ptr )
-        return p2m_access_rwx;
-    else
-        return radix_tree_ptr_to_int(ptr);
-}
-
-/*
- * In the case of the P2M, the valid bit is used for other purpose. Use
- * the type to check whether an entry is valid.
- */
-static inline bool p2m_is_valid(lpae_t pte)
-{
-    return pte.p2m.type != p2m_invalid;
-}
-
-/*
- * lpae_is_* helpers don't check whether the valid bit is set in the
- * PTE. Provide our own overlay to check the valid bit.
- */
-static inline bool p2m_is_mapping(lpae_t pte, unsigned int level)
-{
-    return p2m_is_valid(pte) && lpae_is_mapping(pte, level);
-}
-
-static inline bool p2m_is_superpage(lpae_t pte, unsigned int level)
-{
-    return p2m_is_valid(pte) && lpae_is_superpage(pte, level);
-}
-
-#define GUEST_TABLE_MAP_FAILED 0
-#define GUEST_TABLE_SUPER_PAGE 1
-#define GUEST_TABLE_NORMAL_PAGE 2
-
-static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry);
-
-/*
- * Take the currently mapped table, find the corresponding GFN entry,
- * and map the next table, if available. The previous table will be
- * unmapped if the next level was mapped (e.g GUEST_TABLE_NORMAL_PAGE
- * returned).
- *
- * The read_only parameters indicates whether intermediate tables should
- * be allocated when not present.
- *
- * Return values:
- *  GUEST_TABLE_MAP_FAILED: Either read_only was set and the entry
- *  was empty, or allocating a new page failed.
- *  GUEST_TABLE_NORMAL_PAGE: next level mapped normally
- *  GUEST_TABLE_SUPER_PAGE: The next entry points to a superpage.
- */
-static int p2m_next_level(struct p2m_domain *p2m, bool read_only,
-                          unsigned int level, lpae_t **table,
-                          unsigned int offset)
-{
-    lpae_t *entry;
-    int ret;
-    mfn_t mfn;
-
-    entry = *table + offset;
-
-    if ( !p2m_is_valid(*entry) )
-    {
-        if ( read_only )
-            return GUEST_TABLE_MAP_FAILED;
-
-        ret = p2m_create_table(p2m, entry);
-        if ( ret )
-            return GUEST_TABLE_MAP_FAILED;
-    }
-
-    /* The function p2m_next_level is never called at the 3rd level */
-    ASSERT(level < 3);
-    if ( p2m_is_mapping(*entry, level) )
-        return GUEST_TABLE_SUPER_PAGE;
-
-    mfn = lpae_get_mfn(*entry);
-
-    unmap_domain_page(*table);
-    *table = map_domain_page(mfn);
-
-    return GUEST_TABLE_NORMAL_PAGE;
-}
-
-/*
- * Get the details of a given gfn.
- *
- * If the entry is present, the associated MFN will be returned and the
- * access and type filled up. The page_order will correspond to the
- * order of the mapping in the page table (i.e it could be a superpage).
- *
- * If the entry is not present, INVALID_MFN will be returned and the
- * page_order will be set according to the order of the invalid range.
- *
- * valid will contain the value of bit[0] (e.g valid bit) of the
- * entry.
- */
-mfn_t p2m_get_entry(struct p2m_domain *p2m, gfn_t gfn,
-                    p2m_type_t *t, p2m_access_t *a,
-                    unsigned int *page_order,
-                    bool *valid)
-{
-    paddr_t addr = gfn_to_gaddr(gfn);
-    unsigned int level = 0;
-    lpae_t entry, *table;
-    int rc;
-    mfn_t mfn = INVALID_MFN;
-    p2m_type_t _t;
-    DECLARE_OFFSETS(offsets, addr);
-
-    ASSERT(p2m_is_locked(p2m));
-    BUILD_BUG_ON(THIRD_MASK != PAGE_MASK);
-
-    /* Allow t to be NULL */
-    t = t ?: &_t;
-
-    *t = p2m_invalid;
-
-    if ( valid )
-        *valid = false;
-
-    /* XXX: Check if the mapping is lower than the mapped gfn */
-
-    /* This gfn is higher than the highest the p2m map currently holds */
-    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
-    {
-        for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
-            if ( (gfn_x(gfn) & (XEN_PT_LEVEL_MASK(level) >> PAGE_SHIFT)) >
-                 gfn_x(p2m->max_mapped_gfn) )
-                break;
-
-        goto out;
-    }
-
-    table = p2m_get_root_pointer(p2m, gfn);
-
-    /*
-     * the table should always be non-NULL because the gfn is below
-     * p2m->max_mapped_gfn and the root table pages are always present.
-     */
-    if ( !table )
-    {
-        ASSERT_UNREACHABLE();
-        level = P2M_ROOT_LEVEL;
-        goto out;
-    }
-
-    for ( level = P2M_ROOT_LEVEL; level < 3; level++ )
-    {
-        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-            goto out_unmap;
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    entry = table[offsets[level]];
-
-    if ( p2m_is_valid(entry) )
-    {
-        *t = entry.p2m.type;
-
-        if ( a )
-            *a = p2m_mem_access_radix_get(p2m, gfn);
-
-        mfn = lpae_get_mfn(entry);
-        /*
-         * The entry may point to a superpage. Find the MFN associated
-         * to the GFN.
-         */
-        mfn = mfn_add(mfn,
-                      gfn_x(gfn) & ((1UL << XEN_PT_LEVEL_ORDER(level)) - 1));
-
-        if ( valid )
-            *valid = lpae_is_valid(entry);
-    }
-
-out_unmap:
-    unmap_domain_page(table);
-
-out:
-    if ( page_order )
-        *page_order = XEN_PT_LEVEL_ORDER(level);
-
-    return mfn;
-}
-
-mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t)
-{
-    mfn_t mfn;
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m_read_lock(p2m);
-    mfn = p2m_get_entry(p2m, gfn, t, NULL, NULL, NULL);
-    p2m_read_unlock(p2m);
-
-    return mfn;
-}
-
-struct page_info *p2m_get_page_from_gfn(struct domain *d, gfn_t gfn,
-                                        p2m_type_t *t)
-{
-    struct page_info *page;
-    p2m_type_t p2mt;
-    mfn_t mfn = p2m_lookup(d, gfn, &p2mt);
-
-    if ( t )
-        *t = p2mt;
-
-    if ( !p2m_is_any_ram(p2mt) )
-        return NULL;
-
-    if ( !mfn_valid(mfn) )
-        return NULL;
-
-    page = mfn_to_page(mfn);
-
-    /*
-     * get_page won't work on foreign mapping because the page doesn't
-     * belong to the current domain.
-     */
-    if ( p2m_is_foreign(p2mt) )
-    {
-        struct domain *fdom = page_get_owner_and_reference(page);
-        ASSERT(fdom != NULL);
-        ASSERT(fdom != d);
-        return page;
-    }
-
-    return get_page(page, d) ? page : NULL;
-}
-
-int guest_physmap_mark_populate_on_demand(struct domain *d,
-                                          unsigned long gfn,
-                                          unsigned int order)
-{
-    return -ENOSYS;
-}
-
-unsigned long p2m_pod_decrease_reservation(struct domain *d, gfn_t gfn,
-                                           unsigned int order)
-{
-    return 0;
-}
-
-static void p2m_set_permission(lpae_t *e, p2m_type_t t, p2m_access_t a)
-{
-    /* First apply type permissions */
-    switch ( t )
-    {
-    case p2m_ram_rw:
-        e->p2m.xn = 0;
-        e->p2m.write = 1;
-        break;
-
-    case p2m_ram_ro:
-        e->p2m.xn = 0;
-        e->p2m.write = 0;
-        break;
-
-    case p2m_iommu_map_rw:
-    case p2m_map_foreign_rw:
-    case p2m_grant_map_rw:
-    case p2m_mmio_direct_dev:
-    case p2m_mmio_direct_nc:
-    case p2m_mmio_direct_c:
-        e->p2m.xn = 1;
-        e->p2m.write = 1;
-        break;
-
-    case p2m_iommu_map_ro:
-    case p2m_map_foreign_ro:
-    case p2m_grant_map_ro:
-    case p2m_invalid:
-        e->p2m.xn = 1;
-        e->p2m.write = 0;
-        break;
-
-    case p2m_max_real_type:
-        BUG();
-        break;
-    }
-
-    /* Then restrict with access permissions */
-    switch ( a )
-    {
-    case p2m_access_rwx:
-        break;
-    case p2m_access_wx:
-        e->p2m.read = 0;
-        break;
-    case p2m_access_rw:
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_w:
-        e->p2m.read = 0;
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_rx:
-    case p2m_access_rx2rw:
-        e->p2m.write = 0;
-        break;
-    case p2m_access_x:
-        e->p2m.write = 0;
-        e->p2m.read = 0;
-        break;
-    case p2m_access_r:
-        e->p2m.write = 0;
-        e->p2m.xn = 1;
-        break;
-    case p2m_access_n:
-    case p2m_access_n2rwx:
-        e->p2m.read = e->p2m.write = 0;
-        e->p2m.xn = 1;
-        break;
-    }
-}
-
-static lpae_t mfn_to_p2m_entry(mfn_t mfn, p2m_type_t t, p2m_access_t a)
-{
-    /*
-     * sh, xn and write bit will be defined in the following switches
-     * based on mattr and t.
-     */
-    lpae_t e = (lpae_t) {
-        .p2m.af = 1,
-        .p2m.read = 1,
-        .p2m.table = 1,
-        .p2m.valid = 1,
-        .p2m.type = t,
-    };
-
-    BUILD_BUG_ON(p2m_max_real_type > (1 << 4));
-
-    switch ( t )
-    {
-    case p2m_mmio_direct_dev:
-        e.p2m.mattr = MATTR_DEV;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    case p2m_mmio_direct_c:
-        e.p2m.mattr = MATTR_MEM;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    /*
-     * ARM ARM: Overlaying the shareability attribute (DDI
-     * 0406C.b B3-1376 to 1377)
-     *
-     * A memory region with a resultant memory type attribute of Normal,
-     * and a resultant cacheability attribute of Inner Non-cacheable,
-     * Outer Non-cacheable, must have a resultant shareability attribute
-     * of Outer Shareable, otherwise shareability is UNPREDICTABLE.
-     *
-     * On ARMv8 shareability is ignored and explicitly treated as Outer
-     * Shareable for Normal Inner Non_cacheable, Outer Non-cacheable.
-     * See the note for table D4-40, in page 1788 of the ARM DDI 0487A.j.
-     */
-    case p2m_mmio_direct_nc:
-        e.p2m.mattr = MATTR_MEM_NC;
-        e.p2m.sh = LPAE_SH_OUTER;
-        break;
-
-    default:
-        e.p2m.mattr = MATTR_MEM;
-        e.p2m.sh = LPAE_SH_INNER;
-    }
-
-    p2m_set_permission(&e, t, a);
-
-    ASSERT(!(mfn_to_maddr(mfn) & ~PADDR_MASK));
-
-    lpae_set_mfn(e, mfn);
-
-    return e;
-}
-
-/* Generate table entry with correct attributes. */
-static lpae_t page_to_p2m_table(struct page_info *page)
-{
-    /*
-     * The access value does not matter because the hardware will ignore
-     * the permission fields for table entry.
-     *
-     * We use p2m_ram_rw so the entry has a valid type. This is important
-     * for p2m_is_valid() to return valid on table entries.
-     */
-    return mfn_to_p2m_entry(page_to_mfn(page), p2m_ram_rw, p2m_access_rwx);
-}
-
-static inline void p2m_write_pte(lpae_t *p, lpae_t pte, bool clean_pte)
-{
-    write_pte(p, pte);
-    if ( clean_pte )
-        clean_dcache(*p);
-}
-
-static inline void p2m_remove_pte(lpae_t *p, bool clean_pte)
-{
-    lpae_t pte;
-
-    memset(&pte, 0x00, sizeof(pte));
-    p2m_write_pte(p, pte, clean_pte);
-}
-
-/* Allocate a new page table page and hook it in via the given entry. */
-static int p2m_create_table(struct p2m_domain *p2m, lpae_t *entry)
-{
-    struct page_info *page;
-    lpae_t *p;
-
-    ASSERT(!p2m_is_valid(*entry));
-
-    page = p2m_alloc_page(p2m->domain);
-    if ( page == NULL )
-        return -ENOMEM;
-
-    page_list_add(page, &p2m->pages);
-
-    p = __map_domain_page(page);
-    clear_page(p);
-
-    if ( p2m->clean_pte )
-        clean_dcache_va_range(p, PAGE_SIZE);
-
-    unmap_domain_page(p);
-
-    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
-
-    return 0;
-}
-
-static int p2m_mem_access_radix_set(struct p2m_domain *p2m, gfn_t gfn,
-                                    p2m_access_t a)
-{
-    int rc;
-
-    if ( !p2m->mem_access_enabled )
-        return 0;
-
-    if ( p2m_access_rwx == a )
-    {
-        radix_tree_delete(&p2m->mem_access_settings, gfn_x(gfn));
-        return 0;
-    }
-
-    rc = radix_tree_insert(&p2m->mem_access_settings, gfn_x(gfn),
-                           radix_tree_int_to_ptr(a));
-    if ( rc == -EEXIST )
-    {
-        /* If a setting already exists, change it to the new one */
-        radix_tree_replace_slot(
-            radix_tree_lookup_slot(
-                &p2m->mem_access_settings, gfn_x(gfn)),
-            radix_tree_int_to_ptr(a));
-        rc = 0;
-    }
-
-    return rc;
-}
-
-/*
- * Put any references on the single 4K page referenced by pte.
- * TODO: Handle superpages, for now we only take special references for leaf
- * pages (specifically foreign ones, which can't be super mapped today).
- */
-static void p2m_put_l3_page(const lpae_t pte)
-{
-    mfn_t mfn = lpae_get_mfn(pte);
-
-    ASSERT(p2m_is_valid(pte));
-
-    /*
-     * TODO: Handle other p2m types
-     *
-     * It's safe to do the put_page here because page_alloc will
-     * flush the TLBs if the page is reallocated before the end of
-     * this loop.
-     */
-    if ( p2m_is_foreign(pte.p2m.type) )
-    {
-        ASSERT(mfn_valid(mfn));
-        put_page(mfn_to_page(mfn));
-    }
-    /* Detect the xenheap page and mark the stored GFN as invalid. */
-    else if ( p2m_is_ram(pte.p2m.type) && is_xen_heap_mfn(mfn) )
-        page_set_xenheap_gfn(mfn_to_page(mfn), INVALID_GFN);
-}
-
-/* Free lpae sub-tree behind an entry */
-static void p2m_free_entry(struct p2m_domain *p2m,
-                           lpae_t entry, unsigned int level)
-{
-    unsigned int i;
-    lpae_t *table;
-    mfn_t mfn;
-    struct page_info *pg;
-
-    /* Nothing to do if the entry is invalid. */
-    if ( !p2m_is_valid(entry) )
-        return;
-
-    if ( p2m_is_superpage(entry, level) || (level == 3) )
-    {
-#ifdef CONFIG_IOREQ_SERVER
-        /*
-         * If this gets called then either the entry was replaced by an entry
-         * with a different base (valid case) or the shattering of a superpage
-         * has failed (error case).
-         * So, at worst, the spurious mapcache invalidation might be sent.
-         */
-        if ( p2m_is_ram(entry.p2m.type) &&
-             domain_has_ioreq_server(p2m->domain) )
-            ioreq_request_mapcache_invalidate(p2m->domain);
-#endif
-
-        p2m->stats.mappings[level]--;
-        /* Nothing to do if the entry is a super-page. */
-        if ( level == 3 )
-            p2m_put_l3_page(entry);
-        return;
-    }
-
-    table = map_domain_page(lpae_get_mfn(entry));
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-        p2m_free_entry(p2m, *(table + i), level + 1);
-
-    unmap_domain_page(table);
-
-    /*
-     * Make sure all the references in the TLB have been removed before
-     * freing the intermediate page table.
-     * XXX: Should we defer the free of the page table to avoid the
-     * flush?
-     */
-    p2m_tlb_flush_sync(p2m);
-
-    mfn = lpae_get_mfn(entry);
-    ASSERT(mfn_valid(mfn));
-
-    pg = mfn_to_page(mfn);
-
-    page_list_del(pg, &p2m->pages);
-    p2m_free_page(p2m->domain, pg);
-}
-
-static bool p2m_split_superpage(struct p2m_domain *p2m, lpae_t *entry,
-                                unsigned int level, unsigned int target,
-                                const unsigned int *offsets)
-{
-    struct page_info *page;
-    unsigned int i;
-    lpae_t pte, *table;
-    bool rv = true;
-
-    /* Convenience aliases */
-    mfn_t mfn = lpae_get_mfn(*entry);
-    unsigned int next_level = level + 1;
-    unsigned int level_order = XEN_PT_LEVEL_ORDER(next_level);
-
-    /*
-     * This should only be called with target != level and the entry is
-     * a superpage.
-     */
-    ASSERT(level < target);
-    ASSERT(p2m_is_superpage(*entry, level));
-
-    page = p2m_alloc_page(p2m->domain);
-    if ( !page )
-        return false;
-
-    page_list_add(page, &p2m->pages);
-    table = __map_domain_page(page);
-
-    /*
-     * We are either splitting a first level 1G page into 512 second level
-     * 2M pages, or a second level 2M page into 512 third level 4K pages.
-     */
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-    {
-        lpae_t *new_entry = table + i;
-
-        /*
-         * Use the content of the superpage entry and override
-         * the necessary fields. So the correct permission are kept.
-         */
-        pte = *entry;
-        lpae_set_mfn(pte, mfn_add(mfn, i << level_order));
-
-        /*
-         * First and second level pages set p2m.table = 0, but third
-         * level entries set p2m.table = 1.
-         */
-        pte.p2m.table = (next_level == 3);
-
-        write_pte(new_entry, pte);
-    }
-
-    /* Update stats */
-    p2m->stats.shattered[level]++;
-    p2m->stats.mappings[level]--;
-    p2m->stats.mappings[next_level] += XEN_PT_LPAE_ENTRIES;
-
-    /*
-     * Shatter superpage in the page to the level we want to make the
-     * changes.
-     * This is done outside the loop to avoid checking the offset to
-     * know whether the entry should be shattered for every entry.
-     */
-    if ( next_level != target )
-        rv = p2m_split_superpage(p2m, table + offsets[next_level],
-                                 level + 1, target, offsets);
-
-    if ( p2m->clean_pte )
-        clean_dcache_va_range(table, PAGE_SIZE);
-
-    unmap_domain_page(table);
-
-    /*
-     * Even if we failed, we should install the newly allocated LPAE
-     * entry. The caller will be in charge to free the sub-tree.
-     */
-    p2m_write_pte(entry, page_to_p2m_table(page), p2m->clean_pte);
-
-    return rv;
-}
-
-/*
- * Insert an entry in the p2m. This should be called with a mapping
- * equal to a page/superpage (4K, 2M, 1G).
- */
-static int __p2m_set_entry(struct p2m_domain *p2m,
-                           gfn_t sgfn,
-                           unsigned int page_order,
-                           mfn_t smfn,
-                           p2m_type_t t,
-                           p2m_access_t a)
-{
-    unsigned int level = 0;
-    unsigned int target = 3 - (page_order / XEN_PT_LPAE_SHIFT);
-    lpae_t *entry, *table, orig_pte;
-    int rc;
-    /* A mapping is removed if the MFN is invalid. */
-    bool removing_mapping = mfn_eq(smfn, INVALID_MFN);
-    DECLARE_OFFSETS(offsets, gfn_to_gaddr(sgfn));
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    /*
-     * Check if the level target is valid: we only support
-     * 4K - 2M - 1G mapping.
-     */
-    ASSERT(target > 0 && target <= 3);
-
-    table = p2m_get_root_pointer(p2m, sgfn);
-    if ( !table )
-        return -EINVAL;
-
-    for ( level = P2M_ROOT_LEVEL; level < target; level++ )
-    {
-        /*
-         * Don't try to allocate intermediate page table if the mapping
-         * is about to be removed.
-         */
-        rc = p2m_next_level(p2m, removing_mapping,
-                            level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-        {
-            /*
-             * We are here because p2m_next_level has failed to map
-             * the intermediate page table (e.g the table does not exist
-             * and they p2m tree is read-only). It is a valid case
-             * when removing a mapping as it may not exist in the
-             * page table. In this case, just ignore it.
-             */
-            rc = removing_mapping ?  0 : -ENOENT;
-            goto out;
-        }
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
-
-    entry = table + offsets[level];
-
-    /*
-     * If we are here with level < target, we must be at a leaf node,
-     * and we need to break up the superpage.
-     */
-    if ( level < target )
-    {
-        /* We need to split the original page. */
-        lpae_t split_pte = *entry;
-
-        ASSERT(p2m_is_superpage(*entry, level));
-
-        if ( !p2m_split_superpage(p2m, &split_pte, level, target, offsets) )
-        {
-            /*
-             * The current super-page is still in-place, so re-increment
-             * the stats.
-             */
-            p2m->stats.mappings[level]++;
-
-            /* Free the allocated sub-tree */
-            p2m_free_entry(p2m, split_pte, level);
-
-            rc = -ENOMEM;
-            goto out;
-        }
-
-        /*
-         * Follow the break-before-sequence to update the entry.
-         * For more details see (D4.7.1 in ARM DDI 0487A.j).
-         */
-        p2m_remove_pte(entry, p2m->clean_pte);
-        p2m_force_tlb_flush_sync(p2m);
-
-        p2m_write_pte(entry, split_pte, p2m->clean_pte);
-
-        /* then move to the level we want to make real changes */
-        for ( ; level < target; level++ )
-        {
-            rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-
-            /*
-             * The entry should be found and either be a table
-             * or a superpage if level 3 is not targeted
-             */
-            ASSERT(rc == GUEST_TABLE_NORMAL_PAGE ||
-                   (rc == GUEST_TABLE_SUPER_PAGE && target < 3));
-        }
-
-        entry = table + offsets[level];
-    }
-
-    /*
-     * We should always be there with the correct level because
-     * all the intermediate tables have been installed if necessary.
-     */
-    ASSERT(level == target);
-
-    orig_pte = *entry;
-
-    /*
-     * The radix-tree can only work on 4KB. This is only used when
-     * memaccess is enabled and during shutdown.
-     */
-    ASSERT(!p2m->mem_access_enabled || page_order == 0 ||
-           p2m->domain->is_dying);
-    /*
-     * The access type should always be p2m_access_rwx when the mapping
-     * is removed.
-     */
-    ASSERT(!mfn_eq(INVALID_MFN, smfn) || (a == p2m_access_rwx));
-    /*
-     * Update the mem access permission before update the P2M. So we
-     * don't have to revert the mapping if it has failed.
-     */
-    rc = p2m_mem_access_radix_set(p2m, sgfn, a);
-    if ( rc )
-        goto out;
-
-    /*
-     * Always remove the entry in order to follow the break-before-make
-     * sequence when updating the translation table (D4.7.1 in ARM DDI
-     * 0487A.j).
-     */
-    if ( lpae_is_valid(orig_pte) || removing_mapping )
-        p2m_remove_pte(entry, p2m->clean_pte);
-
-    if ( removing_mapping )
-        /* Flush can be deferred if the entry is removed */
-        p2m->need_flush |= !!lpae_is_valid(orig_pte);
-    else
-    {
-        lpae_t pte = mfn_to_p2m_entry(smfn, t, a);
-
-        if ( level < 3 )
-            pte.p2m.table = 0; /* Superpage entry */
-
-        /*
-         * It is necessary to flush the TLB before writing the new entry
-         * to keep coherency when the previous entry was valid.
-         *
-         * Although, it could be defered when only the permissions are
-         * changed (e.g in case of memaccess).
-         */
-        if ( lpae_is_valid(orig_pte) )
-        {
-            if ( likely(!p2m->mem_access_enabled) ||
-                 P2M_CLEAR_PERM(pte) != P2M_CLEAR_PERM(orig_pte) )
-                p2m_force_tlb_flush_sync(p2m);
-            else
-                p2m->need_flush = true;
-        }
-        else if ( !p2m_is_valid(orig_pte) ) /* new mapping */
-            p2m->stats.mappings[level]++;
-
-        p2m_write_pte(entry, pte, p2m->clean_pte);
-
-        p2m->max_mapped_gfn = gfn_max(p2m->max_mapped_gfn,
-                                      gfn_add(sgfn, (1UL << page_order) - 1));
-        p2m->lowest_mapped_gfn = gfn_min(p2m->lowest_mapped_gfn, sgfn);
-    }
-
-    if ( is_iommu_enabled(p2m->domain) &&
-         (lpae_is_valid(orig_pte) || lpae_is_valid(*entry)) )
-    {
-        unsigned int flush_flags = 0;
-
-        if ( lpae_is_valid(orig_pte) )
-            flush_flags |= IOMMU_FLUSHF_modified;
-        if ( lpae_is_valid(*entry) )
-            flush_flags |= IOMMU_FLUSHF_added;
-
-        rc = iommu_iotlb_flush(p2m->domain, _dfn(gfn_x(sgfn)),
-                               1UL << page_order, flush_flags);
-    }
-    else
-        rc = 0;
-
-    /*
-     * Free the entry only if the original pte was valid and the base
-     * is different (to avoid freeing when permission is changed).
-     */
-    if ( p2m_is_valid(orig_pte) &&
-         !mfn_eq(lpae_get_mfn(*entry), lpae_get_mfn(orig_pte)) )
-        p2m_free_entry(p2m, orig_pte, level);
-
-out:
-    unmap_domain_page(table);
-
-    return rc;
-}
-
-int p2m_set_entry(struct p2m_domain *p2m,
-                  gfn_t sgfn,
-                  unsigned long nr,
-                  mfn_t smfn,
-                  p2m_type_t t,
-                  p2m_access_t a)
-{
-    int rc = 0;
-
-    /*
-     * Any reference taken by the P2M mappings (e.g. foreign mapping) will
-     * be dropped in relinquish_p2m_mapping(). As the P2M will still
-     * be accessible after, we need to prevent mapping to be added when the
-     * domain is dying.
-     */
-    if ( unlikely(p2m->domain->is_dying) )
-        return -ENOMEM;
-
-    while ( nr )
-    {
-        unsigned long mask;
-        unsigned long order;
-
-        /*
-         * Don't take into account the MFN when removing mapping (i.e
-         * MFN_INVALID) to calculate the correct target order.
-         *
-         * XXX: Support superpage mappings if nr is not aligned to a
-         * superpage size.
-         */
-        mask = !mfn_eq(smfn, INVALID_MFN) ? mfn_x(smfn) : 0;
-        mask |= gfn_x(sgfn) | nr;
-
-        /* Always map 4k by 4k when memaccess is enabled */
-        if ( unlikely(p2m->mem_access_enabled) )
-            order = THIRD_ORDER;
-        else if ( !(mask & ((1UL << FIRST_ORDER) - 1)) )
-            order = FIRST_ORDER;
-        else if ( !(mask & ((1UL << SECOND_ORDER) - 1)) )
-            order = SECOND_ORDER;
-        else
-            order = THIRD_ORDER;
-
-        rc = __p2m_set_entry(p2m, sgfn, order, smfn, t, a);
-        if ( rc )
-            break;
-
-        sgfn = gfn_add(sgfn, (1 << order));
-        if ( !mfn_eq(smfn, INVALID_MFN) )
-           smfn = mfn_add(smfn, (1 << order));
-
-        nr -= (1 << order);
-    }
-
-    return rc;
-}
-
-/* Invalidate all entries in the table. The p2m should be write locked. */
-static void p2m_invalidate_table(struct p2m_domain *p2m, mfn_t mfn)
-{
-    lpae_t *table;
-    unsigned int i;
-
-    ASSERT(p2m_is_write_locked(p2m));
-
-    table = map_domain_page(mfn);
-
-    for ( i = 0; i < XEN_PT_LPAE_ENTRIES; i++ )
-    {
-        lpae_t pte = table[i];
-
-        /*
-         * Writing an entry can be expensive because it may involve
-         * cleaning the cache. So avoid updating the entry if the valid
-         * bit is already cleared.
-         */
-        if ( !pte.p2m.valid )
-            continue;
-
-        pte.p2m.valid = 0;
-
-        p2m_write_pte(&table[i], pte, p2m->clean_pte);
-    }
-
-    unmap_domain_page(table);
-
-    p2m->need_flush = true;
-}
-
-/*
- * The domain will not be scheduled anymore, so in theory we should
- * not need to flush the TLBs. Do it for safety purpose.
- * Note that all the devices have already been de-assigned. So we don't
- * need to flush the IOMMU TLB here.
- */
-void p2m_clear_root_pages(struct p2m_domain *p2m)
-{
-    unsigned int i;
-
-    p2m_write_lock(p2m);
-
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(p2m->root + i);
-
-    p2m_force_tlb_flush_sync(p2m);
-
-    p2m_write_unlock(p2m);
-}
-
-/*
- * Invalidate all entries in the root page-tables. This is
- * useful to get fault on entry and do an action.
- *
- * p2m_invalid_root() should not be called when the P2M is shared with
- * the IOMMU because it will cause IOMMU fault.
- */
-void p2m_invalidate_root(struct p2m_domain *p2m)
-{
-    unsigned int i;
-
-    ASSERT(!iommu_use_hap_pt(p2m->domain));
-
-    p2m_write_lock(p2m);
-
-    for ( i = 0; i < P2M_ROOT_LEVEL; i++ )
-        p2m_invalidate_table(p2m, page_to_mfn(p2m->root + i));
-
-    p2m_write_unlock(p2m);
-}
-
-/*
- * Resolve any translation fault due to change in the p2m. This
- * includes break-before-make and valid bit cleared.
- */
-bool p2m_resolve_translation_fault(struct domain *d, gfn_t gfn)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned int level = 0;
-    bool resolved = false;
-    lpae_t entry, *table;
-
-    /* Convenience aliases */
-    DECLARE_OFFSETS(offsets, gfn_to_gaddr(gfn));
-
-    p2m_write_lock(p2m);
-
-    /* This gfn is higher than the highest the p2m map currently holds */
-    if ( gfn_x(gfn) > gfn_x(p2m->max_mapped_gfn) )
-        goto out;
-
-    table = p2m_get_root_pointer(p2m, gfn);
-    /*
-     * The table should always be non-NULL because the gfn is below
-     * p2m->max_mapped_gfn and the root table pages are always present.
-     */
-    if ( !table )
-    {
-        ASSERT_UNREACHABLE();
-        goto out;
-    }
-
-    /*
-     * Go down the page-tables until an entry has the valid bit unset or
-     * a block/page entry has been hit.
-     */
-    for ( level = P2M_ROOT_LEVEL; level <= 3; level++ )
-    {
-        int rc;
-
-        entry = table[offsets[level]];
-
-        if ( level == 3 )
-            break;
+mfn_t p2m_lookup(struct domain *d, gfn_t gfn, p2m_type_t *t)
+{
+    mfn_t mfn;
+    struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
-        /* Stop as soon as we hit an entry with the valid bit unset. */
-        if ( !lpae_is_valid(entry) )
-            break;
+    p2m_read_lock(p2m);
+    mfn = p2m_get_entry(p2m, gfn, t, NULL, NULL, NULL);
+    p2m_read_unlock(p2m);
 
-        rc = p2m_next_level(p2m, true, level, &table, offsets[level]);
-        if ( rc == GUEST_TABLE_MAP_FAILED )
-            goto out_unmap;
-        else if ( rc != GUEST_TABLE_NORMAL_PAGE )
-            break;
-    }
+    return mfn;
+}
 
-    /*
-     * If the valid bit of the entry is set, it means someone was playing with
-     * the Stage-2 page table. Nothing to do and mark the fault as resolved.
-     */
-    if ( lpae_is_valid(entry) )
-    {
-        resolved = true;
-        goto out_unmap;
-    }
+struct page_info *p2m_get_page_from_gfn(struct domain *d, gfn_t gfn,
+                                        p2m_type_t *t)
+{
+    struct page_info *page;
+    p2m_type_t p2mt;
+    mfn_t mfn = p2m_lookup(d, gfn, &p2mt);
 
-    /*
-     * The valid bit is unset. If the entry is still not valid then the fault
-     * cannot be resolved, exit and report it.
-     */
-    if ( !p2m_is_valid(entry) )
-        goto out_unmap;
+    if ( t )
+        *t = p2mt;
 
-    /*
-     * Now we have an entry with valid bit unset, but still valid from
-     * the P2M point of view.
-     *
-     * If an entry is pointing to a table, each entry of the table will
-     * have there valid bit cleared. This allows a function to clear the
-     * full p2m with just a couple of write. The valid bit will then be
-     * propagated on the fault.
-     * If an entry is pointing to a block/page, no work to do for now.
-     */
-    if ( lpae_is_table(entry, level) )
-        p2m_invalidate_table(p2m, lpae_get_mfn(entry));
+    if ( !p2m_is_any_ram(p2mt) )
+        return NULL;
 
-    /*
-     * Now that the work on the entry is done, set the valid bit to prevent
-     * another fault on that entry.
-     */
-    resolved = true;
-    entry.p2m.valid = 1;
+    if ( !mfn_valid(mfn) )
+        return NULL;
 
-    p2m_write_pte(table + offsets[level], entry, p2m->clean_pte);
+    page = mfn_to_page(mfn);
 
     /*
-     * No need to flush the TLBs as the modified entry had the valid bit
-     * unset.
+     * get_page won't work on foreign mapping because the page doesn't
+     * belong to the current domain.
      */
+    if ( p2m_is_foreign(p2mt) )
+    {
+        struct domain *fdom = page_get_owner_and_reference(page);
+        ASSERT(fdom != NULL);
+        ASSERT(fdom != d);
+        return page;
+    }
 
-out_unmap:
-    unmap_domain_page(table);
+    return get_page(page, d) ? page : NULL;
+}
 
-out:
-    p2m_write_unlock(p2m);
+int guest_physmap_mark_populate_on_demand(struct domain *d,
+                                          unsigned long gfn,
+                                          unsigned int order)
+{
+    return -ENOSYS;
+}
 
-    return resolved;
+unsigned long p2m_pod_decrease_reservation(struct domain *d, gfn_t gfn,
+                                           unsigned int order)
+{
+    return 0;
 }
 
 int p2m_insert_mapping(struct domain *d, gfn_t start_gfn, unsigned long nr,
@@ -1612,44 +244,6 @@ int set_foreign_p2m_entry(struct domain *d, const struct domain *fd,
     return rc;
 }
 
-static struct page_info *p2m_allocate_root(void)
-{
-    struct page_info *page;
-    unsigned int i;
-
-    page = alloc_domheap_pages(NULL, P2M_ROOT_ORDER, 0);
-    if ( page == NULL )
-        return NULL;
-
-    /* Clear both first level pages */
-    for ( i = 0; i < P2M_ROOT_PAGES; i++ )
-        clear_and_clean_page(page + i);
-
-    return page;
-}
-
-static int p2m_alloc_table(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    p2m->root = p2m_allocate_root();
-    if ( !p2m->root )
-        return -ENOMEM;
-
-    p2m->vttbr = generate_vttbr(p2m->vmid, page_to_mfn(p2m->root));
-
-    /*
-     * Make sure that all TLBs corresponding to the new VMID are flushed
-     * before using it
-     */
-    p2m_write_lock(p2m);
-    p2m_force_tlb_flush_sync(p2m);
-    p2m_write_unlock(p2m);
-
-    return 0;
-}
-
-
 static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
 
 /*
@@ -1660,7 +254,7 @@ static spinlock_t vmid_alloc_lock = SPIN_LOCK_UNLOCKED;
  */
 static unsigned long *vmid_mask;
 
-static void p2m_vmid_allocator_init(void)
+void p2m_vmid_allocator_init(void)
 {
     /*
      * allocate space for vmid_mask based on MAX_VMID
@@ -1673,7 +267,7 @@ static void p2m_vmid_allocator_init(void)
     set_bit(INVALID_VMID, vmid_mask);
 }
 
-static int p2m_alloc_vmid(struct domain *d)
+int p2m_alloc_vmid(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
 
@@ -1703,7 +297,7 @@ out:
     return rc;
 }
 
-static void p2m_free_vmid(struct domain *d)
+void p2m_free_vmid(struct domain *d)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
     spin_lock(&vmid_alloc_lock);
@@ -1713,187 +307,6 @@ static void p2m_free_vmid(struct domain *d)
     spin_unlock(&vmid_alloc_lock);
 }
 
-int p2m_teardown(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned long count = 0;
-    struct page_info *pg;
-    int rc = 0;
-
-    p2m_write_lock(p2m);
-
-    while ( (pg = page_list_remove_head(&p2m->pages)) )
-    {
-        p2m_free_page(p2m->domain, pg);
-        count++;
-        /* Arbitrarily preempt every 512 iterations */
-        if ( !(count % 512) && hypercall_preempt_check() )
-        {
-            rc = -ERESTART;
-            break;
-        }
-    }
-
-    p2m_write_unlock(p2m);
-
-    return rc;
-}
-
-void p2m_final_teardown(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-
-    /* p2m not actually initialized */
-    if ( !p2m->domain )
-        return;
-
-    /*
-     * No need to call relinquish_p2m_mapping() here because
-     * p2m_final_teardown() is called either after domain_relinquish_resources()
-     * where relinquish_p2m_mapping() has been called.
-     */
-
-    ASSERT(page_list_empty(&p2m->pages));
-
-    while ( p2m_teardown_allocation(d) == -ERESTART )
-        continue; /* No preemption support here */
-    ASSERT(page_list_empty(&d->arch.paging.p2m_freelist));
-
-    if ( p2m->root )
-        free_domheap_pages(p2m->root, P2M_ROOT_ORDER);
-
-    p2m->root = NULL;
-
-    p2m_free_vmid(d);
-
-    radix_tree_destroy(&p2m->mem_access_settings, NULL);
-
-    p2m->domain = NULL;
-}
-
-int p2m_init(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    int rc;
-    unsigned int cpu;
-
-    rwlock_init(&p2m->lock);
-    spin_lock_init(&d->arch.paging.lock);
-    INIT_PAGE_LIST_HEAD(&p2m->pages);
-    INIT_PAGE_LIST_HEAD(&d->arch.paging.p2m_freelist);
-
-    p2m->vmid = INVALID_VMID;
-    p2m->max_mapped_gfn = _gfn(0);
-    p2m->lowest_mapped_gfn = _gfn(ULONG_MAX);
-
-    p2m->default_access = p2m_access_rwx;
-    p2m->mem_access_enabled = false;
-    radix_tree_init(&p2m->mem_access_settings);
-
-    /*
-     * Some IOMMUs don't support coherent PT walk. When the p2m is
-     * shared with the CPU, Xen has to make sure that the PT changes have
-     * reached the memory
-     */
-    p2m->clean_pte = is_iommu_enabled(d) &&
-        !iommu_has_feature(d, IOMMU_FEAT_COHERENT_WALK);
-
-    /*
-     * Make sure that the type chosen to is able to store the an vCPU ID
-     * between 0 and the maximum of virtual CPUS supported as long as
-     * the INVALID_VCPU_ID.
-     */
-    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0]) * 8)) < MAX_VIRT_CPUS);
-    BUILD_BUG_ON((1 << (sizeof(p2m->last_vcpu_ran[0])* 8)) < INVALID_VCPU_ID);
-
-    for_each_possible_cpu(cpu)
-       p2m->last_vcpu_ran[cpu] = INVALID_VCPU_ID;
-
-    /*
-     * "Trivial" initialisation is now complete.  Set the backpointer so
-     * p2m_teardown() and friends know to do something.
-     */
-    p2m->domain = d;
-
-    rc = p2m_alloc_vmid(d);
-    if ( rc )
-        return rc;
-
-    rc = p2m_alloc_table(d);
-    if ( rc )
-        return rc;
-
-    return 0;
-}
-
-/*
- * The function will go through the p2m and remove page reference when it
- * is required. The mapping will be removed from the p2m.
- *
- * XXX: See whether the mapping can be left intact in the p2m.
- */
-int relinquish_p2m_mapping(struct domain *d)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    unsigned long count = 0;
-    p2m_type_t t;
-    int rc = 0;
-    unsigned int order;
-    gfn_t start, end;
-
-    BUG_ON(!d->is_dying);
-    /* No mappings can be added in the P2M after the P2M lock is released. */
-    p2m_write_lock(p2m);
-
-    start = p2m->lowest_mapped_gfn;
-    end = gfn_add(p2m->max_mapped_gfn, 1);
-
-    for ( ; gfn_x(start) < gfn_x(end);
-          start = gfn_next_boundary(start, order) )
-    {
-        mfn_t mfn = p2m_get_entry(p2m, start, &t, NULL, &order, NULL);
-
-        count++;
-        /*
-         * Arbitrarily preempt every 512 iterations.
-         */
-        if ( !(count % 512) && hypercall_preempt_check() )
-        {
-            rc = -ERESTART;
-            break;
-        }
-
-        /*
-         * p2m_set_entry will take care of removing reference on page
-         * when it is necessary and removing the mapping in the p2m.
-         */
-        if ( !mfn_eq(mfn, INVALID_MFN) )
-        {
-            /*
-             * For valid mapping, the start will always be aligned as
-             * entry will be removed whilst relinquishing.
-             */
-            rc = __p2m_set_entry(p2m, start, order, INVALID_MFN,
-                                 p2m_invalid, p2m_access_rwx);
-            if ( unlikely(rc) )
-            {
-                printk(XENLOG_G_ERR "Unable to remove mapping gfn=%#"PRI_gfn" order=%u from the p2m of domain %d\n", gfn_x(start), order, d->domain_id);
-                break;
-            }
-        }
-    }
-
-    /*
-     * Update lowest_mapped_gfn so on the next call we still start where
-     * we stopped.
-     */
-    p2m->lowest_mapped_gfn = start;
-
-    p2m_write_unlock(p2m);
-
-    return rc;
-}
-
 int p2m_cache_flush_range(struct domain *d, gfn_t *pstart, gfn_t end)
 {
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
@@ -1987,43 +400,6 @@ int p2m_cache_flush_range(struct domain *d, gfn_t *pstart, gfn_t end)
     return rc;
 }
 
-/*
- * Clean & invalidate RAM associated to the guest vCPU.
- *
- * The function can only work with the current vCPU and should be called
- * with IRQ enabled as the vCPU could get preempted.
- */
-void p2m_flush_vm(struct vcpu *v)
-{
-    struct p2m_domain *p2m = p2m_get_hostp2m(v->domain);
-    int rc;
-    gfn_t start = _gfn(0);
-
-    ASSERT(v == current);
-    ASSERT(local_irq_is_enabled());
-    ASSERT(v->arch.need_flush_to_ram);
-
-    do
-    {
-        rc = p2m_cache_flush_range(v->domain, &start, _gfn(ULONG_MAX));
-        if ( rc == -ERESTART )
-            do_softirq();
-    } while ( rc == -ERESTART );
-
-    if ( rc != 0 )
-        gprintk(XENLOG_WARNING,
-                "P2M has not been correctly cleaned (rc = %d)\n",
-                rc);
-
-    /*
-     * Invalidate the p2m to track which page was modified by the guest
-     * between call of p2m_flush_vm().
-     */
-    p2m_invalidate_root(p2m);
-
-    v->arch.need_flush_to_ram = false;
-}
-
 /*
  * See note at ARMv7 ARM B1.14.4 (DDI 0406C.c) (TL;DR: S/W ops are not
  * easily virtualized).
@@ -2217,197 +593,6 @@ void __init p2m_restrict_ipa_bits(unsigned int ipa_bits)
         p2m_ipa_bits = ipa_bits;
 }
 
-/* VTCR value to be configured by all CPUs. Set only once by the boot CPU */
-static register_t __read_mostly vtcr;
-
-static void setup_virt_paging_one(void *data)
-{
-    WRITE_SYSREG(vtcr, VTCR_EL2);
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE: We want to keep the TLBs free from
-     * entries related to EL1/EL0 translation regime until a guest vCPU
-     * is running. For that, we need to set-up VTTBR to point to an empty
-     * page-table and turn on stage-2 translation. The TLB entries
-     * associated with EL1/EL0 translation regime will also be flushed in case
-     * an AT instruction was speculated before hand.
-     */
-    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        WRITE_SYSREG64(generate_vttbr(INVALID_VMID, empty_root_mfn), VTTBR_EL2);
-        WRITE_SYSREG(READ_SYSREG(HCR_EL2) | HCR_VM, HCR_EL2);
-        isb();
-
-        flush_all_guests_tlb_local();
-    }
-}
-
-void __init setup_virt_paging(void)
-{
-    /* Setup Stage 2 address translation */
-    register_t val = VTCR_RES1|VTCR_SH0_IS|VTCR_ORGN0_WBWA|VTCR_IRGN0_WBWA;
-
-    static const struct {
-        unsigned int pabits; /* Physical Address Size */
-        unsigned int t0sz;   /* Desired T0SZ, minimum in comment */
-        unsigned int root_order; /* Page order of the root of the p2m */
-        unsigned int sl0;    /* Desired SL0, maximum in comment */
-    } pa_range_info[] __initconst = {
-        /* T0SZ minimum and SL0 maximum from ARM DDI 0487H.a Table D5-6 */
-        /*      PA size, t0sz(min), root-order, sl0(max) */
-#ifdef CONFIG_ARM_64
-        [0] = { 32,      32/*32*/,  0,          1 },
-        [1] = { 36,      28/*28*/,  0,          1 },
-        [2] = { 40,      24/*24*/,  1,          1 },
-        [3] = { 42,      22/*22*/,  3,          1 },
-        [4] = { 44,      20/*20*/,  0,          2 },
-        [5] = { 48,      16/*16*/,  0,          2 },
-        [6] = { 52,      12/*12*/,  4,          2 },
-        [7] = { 0 }  /* Invalid */
-#else
-        { 32,      0/*0*/,    0,          1 },
-        { 40,      24/*24*/,  1,          1 }
-#endif
-    };
-
-    unsigned int i;
-    unsigned int pa_range = 0x10; /* Larger than any possible value */
-
-#ifdef CONFIG_ARM_32
-    /*
-     * Typecast pa_range_info[].t0sz into arm32 bit variant.
-     *
-     * VTCR.T0SZ is bits [3:0] and S(sign extension), bit[4] for arm322.
-     * Thus, pa_range_info[].t0sz is translated to its arm32 variant using
-     * struct bitfields.
-     */
-    struct
-    {
-        signed int val:5;
-    } t0sz_32;
-#else
-    /*
-     * Restrict "p2m_ipa_bits" if needed. As P2M table is always configured
-     * with IPA bits == PA bits, compare against "pabits".
-     */
-    if ( pa_range_info[system_cpuinfo.mm64.pa_range].pabits < p2m_ipa_bits )
-        p2m_ipa_bits = pa_range_info[system_cpuinfo.mm64.pa_range].pabits;
-
-    /*
-     * cpu info sanitization made sure we support 16bits VMID only if all
-     * cores are supporting it.
-     */
-    if ( system_cpuinfo.mm64.vmid_bits == MM64_VMID_16_BITS_SUPPORT )
-        max_vmid = MAX_VMID_16_BIT;
-#endif
-
-    /* Choose suitable "pa_range" according to the resulted "p2m_ipa_bits". */
-    for ( i = 0; i < ARRAY_SIZE(pa_range_info); i++ )
-    {
-        if ( p2m_ipa_bits == pa_range_info[i].pabits )
-        {
-            pa_range = i;
-            break;
-        }
-    }
-
-    /* Check if we found the associated entry in the array */
-    if ( pa_range >= ARRAY_SIZE(pa_range_info) || !pa_range_info[pa_range].pabits )
-        panic("%u-bit P2M is not supported\n", p2m_ipa_bits);
-
-#ifdef CONFIG_ARM_64
-    val |= VTCR_PS(pa_range);
-    val |= VTCR_TG0_4K;
-
-    /* Set the VS bit only if 16 bit VMID is supported. */
-    if ( MAX_VMID == MAX_VMID_16_BIT )
-        val |= VTCR_VS;
-#endif
-
-    val |= VTCR_SL0(pa_range_info[pa_range].sl0);
-    val |= VTCR_T0SZ(pa_range_info[pa_range].t0sz);
-
-    p2m_root_order = pa_range_info[pa_range].root_order;
-    p2m_root_level = 2 - pa_range_info[pa_range].sl0;
-
-#ifdef CONFIG_ARM_64
-    p2m_ipa_bits = 64 - pa_range_info[pa_range].t0sz;
-#else
-    t0sz_32.val = pa_range_info[pa_range].t0sz;
-    p2m_ipa_bits = 32 - t0sz_32.val;
-#endif
-
-    printk("P2M: %d-bit IPA with %d-bit PA and %d-bit VMID\n",
-           p2m_ipa_bits,
-           pa_range_info[pa_range].pabits,
-           ( MAX_VMID == MAX_VMID_16_BIT ) ? 16 : 8);
-
-    printk("P2M: %d levels with order-%d root, VTCR 0x%"PRIregister"\n",
-           4 - P2M_ROOT_LEVEL, P2M_ROOT_ORDER, val);
-
-    p2m_vmid_allocator_init();
-
-    /* It is not allowed to concatenate a level zero root */
-    BUG_ON( P2M_ROOT_LEVEL == 0 && P2M_ROOT_ORDER > 0 );
-    vtcr = val;
-
-    /*
-     * ARM64_WORKAROUND_AT_SPECULATE requires to allocate root table
-     * with all entries zeroed.
-     */
-    if ( cpus_have_cap(ARM64_WORKAROUND_AT_SPECULATE) )
-    {
-        struct page_info *root;
-
-        root = p2m_allocate_root();
-        if ( !root )
-            panic("Unable to allocate root table for ARM64_WORKAROUND_AT_SPECULATE\n");
-
-        empty_root_mfn = page_to_mfn(root);
-    }
-
-    setup_virt_paging_one(NULL);
-    smp_call_function(setup_virt_paging_one, NULL, 1);
-}
-
-static int cpu_virt_paging_callback(struct notifier_block *nfb,
-                                    unsigned long action,
-                                    void *hcpu)
-{
-    switch ( action )
-    {
-    case CPU_STARTING:
-        ASSERT(system_state != SYS_STATE_boot);
-        setup_virt_paging_one(NULL);
-        break;
-    default:
-        break;
-    }
-
-    return NOTIFY_DONE;
-}
-
-static struct notifier_block cpu_virt_paging_nfb = {
-    .notifier_call = cpu_virt_paging_callback,
-};
-
-static int __init cpu_virt_paging_init(void)
-{
-    register_cpu_notifier(&cpu_virt_paging_nfb);
-
-    return 0;
-}
-/*
- * Initialization of the notifier has to be done at init rather than presmp_init
- * phase because: the registered notifier is used to setup virtual paging for
- * non-boot CPUs after the initial virtual paging for all CPUs is already setup,
- * i.e. when a non-boot CPU is hotplugged after the system has booted. In other
- * words, the notifier should be registered after the virtual paging is
- * initially setup (setup_virt_paging() is called from start_xen()). This is
- * required because vtcr config value has to be set before a notifier can fire.
- */
-__initcall(cpu_virt_paging_init);
-
 /*
  * Local variables:
  * mode: C
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 15:12:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 15:12:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634452.989882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3e2k-0004LA-L0; Thu, 16 Nov 2023 15:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634452.989882; Thu, 16 Nov 2023 15: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 1r3e2k-0004L3-IW; Thu, 16 Nov 2023 15:12:34 +0000
Received: by outflank-mailman (input) for mailman id 634452;
 Thu, 16 Nov 2023 15:12: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=ElsB=G5=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3e2j-0004Kx-LJ
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 15:12:33 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2080.outbound.protection.outlook.com [40.107.7.80])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f76ca96-8492-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 16:12:30 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7374.eurprd04.prod.outlook.com (2603:10a6:800:1ac::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.19; Thu, 16 Nov
 2023 15:11:59 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7002.019; Thu, 16 Nov 2023
 15: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: 8f76ca96-8492-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VJfCACO8CD4hJRMWZAkV1SXYtR+VRrIjgqITAEohxp2rVu87BTEZBu0SU0uAhfD08At0Zfys1AYjOd4dabuvCUM73QicmrguIms1OVtuAthuI7PERIttFzvXKmLqQ93TQG4zaCx7XEnNDgp1qll0hXXr2uJvOj8hNKnv5lEZlK779xd90H9FiR9Vv1/HJTWnPZKzBK1xesceBblaqa+BzYKuJt8x8xpeaH+Q2WYHiuwvLr7c6Ooa0dEUTXJaoF5AMVTEwiTS3eWGDzN7/BkL8jCmIfVpLk5V2K8/pSfO9L53bLAhOOZHnUoFAHnehNkmIn7ByaxEWnilMzKjiIwppA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SvqlaFAigOSorV0ds2mwI6MkPAIl9a1Zslq2rcP7544=;
 b=Lb/C/LGXn5GU1ITnYi9hkAotzKvWuDQshN+zfVtTNm9UpQadWuNAX8E2Sss/ydPP59YnGMx1IWECR0xcBzU+bdduutgf1yEJOPMtJ5Gc31tLEoiF0eAkygfGjCcKmMjn1MbA7E1i9Yn/thQrr7xyVWNXdMRhisy9eB+l+8dszlX4U4S8apOKzVygcGpw+eqsTV9Dh8dBownVBCh22j6FzREgRUuipP//5Hirkn2cj1Jm1gIEa8+RGjU7Yd7znEecseR7fjGzAvVi/WFZZ0vnBJIaVZn92ceX1/QleN54HEAesoCqVL6OtL0WOvkNzuClDYDRi0FejZnwFg20uXn3nw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SvqlaFAigOSorV0ds2mwI6MkPAIl9a1Zslq2rcP7544=;
 b=3CI3gl60z48Q4gnPue3jvMTf2Hzc+gE7MmZdMh2M8KOZU9qkkpKJz56BUF9eTdUmZtMt+VSiLMxokkH60N4NR6+B0sYshcjsImmRgWKAu41ywTg5zuk1yptpfZFeKJaLFF1tAUcKdww61PbxjEzhvwfdStTIkj0czlJ7WsBy3fa26Pytk4dcnILksGGTyuvDP7GzHNCNjc0+wHTB67J9FfjZ8PFI7D2Tqp7GEBVBwbO5cO0XHtM+3UZMgFilfCAYsnUYKn5sKFetWHv39pvtQxczjo1EUttQhSsgerPjDrUxik81QNBPhrsdnJIIA/0oVGVfgLtWFtEe84EgFLUlrg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <925c560b-c6b7-492a-9438-fadfba5a3b98@suse.com>
Date: Thu, 16 Nov 2023 16:11:56 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] livepatch: do not use .livepatch.funcs section to store
 internal state
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <20231116115841.71847-1-roger.pau@citrix.com>
 <d6634601-5006-475c-b386-97a1e53c5279@suse.com>
 <ZVYfHQD1AEmNVY3h@macbook.local>
 <54cbcb8b-c895-47fe-ba66-5fb06505e00a@suse.com>
 <ZVYryZ0HrKNKVtKb@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVYryZ0HrKNKVtKb@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0061.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7374:EE_
X-MS-Office365-Filtering-Correlation-Id: c9f36d8f-7eca-4826-0606-08dbe6b660cf
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YSp3slmLQCJDcQlIJqU7WKrjYp5/6jYa2PEj5u5kCK7yWftYQrb8gwHlIhQQQ/SbD6dRJfGEaiXbC10KQQPS3vekPDoKmlk1S+1D0292Dp2POiQQZaU+8kdCX4jHae81L/2STdM2Wl19/uCSkWA3QcXbfgg76K4sZ5QysXSJ1uT7+Gs4MPi9AIml7vwGAtayaN+evQDx/8XuSClkNq82XoRY6oJZqh0/I8W+MrCxXrggN43rnOmnplr1C/P6/wNGc2WrQ40PHdau8B8eQBboXPH0AjgU/RVbDgtVzC6cXpDAX70htGtZI12GPloXXcGsA7CYu97Wr/V4IWzjVC9YSiGXZ1aESZ7NlD9pDeurMZONVoOHgVIIPISZRQBudzcrqd9QrMYRl7ebIkAy+/c8h2ttoRANbaGWbP8m8IYVzq6kyux2EBM8nXdlwLB1GHWFjujDdYuYA2K6Cxb/3+ZgDsJJZEKYPvG4V0WYsPQvtXpJBTQjYJs0N1MxE7SfDmr5SywNgcz7mRUy5saIE7PzSyiaO8i+L+A+tb8ymVRH/Lq4oYyhAvbaRUVdXyWJxH+84KzLl9bksgKDRlvNli9WSbEGuDAUMFrM88WLDgmylUMeV/lG0IFuTnYMCaUWrutoEtlNJlkDzVy5uIPvb9bmSZ+p5oDJSMnhQZTdR2691PH0ysMQvTK9NkvzgWtWFTwe
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(136003)(376002)(346002)(39860400002)(230922051799003)(186009)(64100799003)(1800799009)(451199024)(7416002)(41300700001)(26005)(8676002)(4326008)(86362001)(2906002)(66476007)(2616005)(54906003)(66946007)(66556008)(8936002)(31696002)(53546011)(31686004)(5660300002)(6512007)(6506007)(36756003)(6486002)(6916009)(316002)(38100700002)(478600001)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWpwYzhvLzhWQ1NCdmgwYnVRQ1ByZEZyR1hVejY3L2NHa200T3U5OE14UGh2?=
 =?utf-8?B?OXAwcUNqcmRmL3hIaGRnWVNENTlWRndXQXNIdnkxTWNHdUsrSWZRdmFIR2R1?=
 =?utf-8?B?YUNBYmJtdW5XYnN2eitCbEpxb2ZWUUoxamR4RHJJREZKWEthSm8rRXAwOHFY?=
 =?utf-8?B?Vm1CVnV3Z3FuU1BMaWFib3Y3M292QW5LZStmaWF1OENYMWNwUnZBV0JHOEEw?=
 =?utf-8?B?R0h3UlpUNmREbHdwSjgydlVIMVdaOFlZbzhzM0JxeUxyeXFSb0kwNkpmUHpU?=
 =?utf-8?B?T1pOc1JIc3lQZUxQbkZ2b0o4bklCUTJqaU5UemtoeFVjSFlRRG9LbjJmaEdr?=
 =?utf-8?B?Y255U0xMMDY4L1pCbXVwdFZZdSs2MElCSFZ4RnhDRnE3ZUNOeWV4NUV2MEwy?=
 =?utf-8?B?TVRxLys5MCs2aEwxVVJIMUFycWRqKy9Qbks0blJtS3FTYko2N3lsV3l6UHpm?=
 =?utf-8?B?WUpTMmM3OGxSRW92SnVQNWZTdE5BUG01NXlTSHV2Uk5IYjMyWlp0L2doVEs5?=
 =?utf-8?B?TXlQdmk3Wjk0RkZmQ2pYRE1lNDhEcUltakZMa0hBbzRlK1hiN1BmcUVJdlA0?=
 =?utf-8?B?NmFnaStZNEVOYU1RdHRBbXRpOENhMkcvM1dSRElvQ0crVTI3VzBxVVZPOWFH?=
 =?utf-8?B?OVVPem1lZDFsRGVWYzZta2ZSZGZkQnp3dzNoT25HMSs5ZDNITURVc2V1Z3dq?=
 =?utf-8?B?TFhTQmxZbnRmSytvcDdDYUpUOGphMThublZIYlFJeHNlUStvZHV5d2dsSXNv?=
 =?utf-8?B?ckE1WmZUcjJJcXp6U0Z3NFdxV1h4SWZKeUluZGZlaWlTakMycVBJWE8xTFpq?=
 =?utf-8?B?MTJSYmYxL3lqcUdmNDBxd1ZjU0ZKckdJMkM3VlhadVduNXc2d2p4L1RYS1Bj?=
 =?utf-8?B?cEtHR2xXdXhzTUxUbEdjMGhQdHBBcWxpTzNZUE1ZQlpnY0F2aEVjUmQ3RXcz?=
 =?utf-8?B?NHJ3L2taK1JyYndUQXhCT2J6d3gzdjUwN0d2MTFwWXdDTzVXMlZFOTlVMGNF?=
 =?utf-8?B?R2xCNWQxRFh6Mnc1OEhSUmg5RmRTei93RnZqdGFtL2p1QW5TaHRVMGFxd3VE?=
 =?utf-8?B?WnZRRzhmbFhRVFBCVlZyQllGZGJkZDhld29FdmZlZjJXT1FzRTEwVW5KOHNQ?=
 =?utf-8?B?ZUdxOTNMUWVBT0RrY25HbUM1SVRkaEMxUXVHcU02N2pvamg4L0dhdFEybjN0?=
 =?utf-8?B?bFlhTStIYklYU01MTHozYkJVeXMreGdnTDljYk9SZmxhTnBhakY5RkhabEVo?=
 =?utf-8?B?a2NNYURwd1p3eWFtc2o3bFFnRDNJVXcrTEN5TnFMUFEydDVad1lHR2Vtc1k5?=
 =?utf-8?B?TGk1RUx4ZmN0MlFoTkRaTCtMNHpXSVpZd3o3SmZqS3hFemI3MUUvNVJmWnI5?=
 =?utf-8?B?K3h1cmlaYmR0b3grb1k5V2JKNW5IRk53Qm5XaEYrTjh1ci94a1JXd09kRFJS?=
 =?utf-8?B?NXQ4WTIwZ3VsVGRNVEFFdzJKMlFRaURnRG1mcU9aVUJrNHBNWWZIbGw2UkRl?=
 =?utf-8?B?SGtmVHhSOGVrYmE5bmdhbm92YUMzNEZlMHUrQm8xYjUzaXlNbi9aVENEc3Y2?=
 =?utf-8?B?Y3hwdndFUktHRnFzdDF0a3FQamEwZUREczMrVmlFNFgrY0VWRWpHVXJUK2p1?=
 =?utf-8?B?Y2t2L1FaeGR6SDI4RDI2UGdKZjFTYTA3RUl4Qkt3UFhrRU1vbEQweWM2aytF?=
 =?utf-8?B?d2lRUFZZYTdCYXlDY1pCRkRyNlNQSHRXTnRhaDJ6bWh6bno3MnY4NFJWblRq?=
 =?utf-8?B?TFR4SE1BaXMxRkVFVkJ6MWFOM0o0WkE2MzlIWXlkbDJYa1FrNFpmQW84OHAy?=
 =?utf-8?B?M3IxdTBEb0VNYkN6VTJXMEpLRFVmMGMvMnVWRkM2dnJlTG5ERFpXSyt1UVZL?=
 =?utf-8?B?djc5aStvQUtDUU9KT3dFa0pldDQ3TG5vdTI5d3gxZnYyUWRVQTQ3cklGQm1I?=
 =?utf-8?B?ZlZyNTRQTU1VS1Rna0o4SjZXUU1udy9Kd05hNlVCeG16Zk92eTkwS0NLWTd0?=
 =?utf-8?B?Q0oxSjAyU1hiQzNxSmtheU9WRzVDMDBSMjRmS1pWVUxJcDQybUlpdzV6SGNx?=
 =?utf-8?B?THlQRzlqUXJIZVJQTjh6bWhMR3VpNUMyOFBZMnhqemtHcG51RUd1ZFcwTkIv?=
 =?utf-8?Q?TQtpSUH3fGc+7Hhvha6sP7eg4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c9f36d8f-7eca-4826-0606-08dbe6b660cf
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 15:11:58.6947
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IAab/BSBVsvn9P2OwC63pGSBYyXEUd0/g5OaEySbHbo4MZr8mZwlelxzmOhnWRDTvN0HJbc04LzAoSmA6O14Gg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7374

On 16.11.2023 15:48, Roger Pau Monné wrote:
> On Thu, Nov 16, 2023 at 03:05:20PM +0100, Jan Beulich wrote:
>> On 16.11.2023 14:54, Roger Pau Monné wrote:
>>> On Thu, Nov 16, 2023 at 01:39:27PM +0100, Jan Beulich wrote:
>>>> On 16.11.2023 12:58, Roger Pau Monne wrote:
>>>>> --- a/xen/include/public/sysctl.h
>>>>> +++ b/xen/include/public/sysctl.h
>>>>> @@ -991,10 +991,7 @@ struct livepatch_func {
>>>>>      uint32_t new_size;
>>>>>      uint32_t old_size;
>>>>>      uint8_t version;        /* MUST be LIVEPATCH_PAYLOAD_VERSION. */
>>>>> -    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
>>>>> -    uint8_t applied;
>>>>> -    uint8_t patch_offset;
>>>>> -    uint8_t _pad[6];
>>>>> +    uint8_t _pad[39];
>>>>
>>>> Should this be LIVEPATCH_OPAQUE_SIZE+8 and ...
>>>
>>> Hm, I'm not sure that's any clearer.  In fact I think
>>> LIVEPATCH_OPAQUE_SIZE shouldn't have leaked into sysctl.h in the first
>>> place.
>>>
>>> If we later want to add more fields and bump the version, isn't it
>>> easier to have the padding size clearly specified as a number?
>>
>> If new fields (beyond the present padding size) would need adding,
>> that would constitute an incompatible change anyway.
> 
> Not if we bump the version field I think?
> 
> As the version is a strict match, bumping the version allows for a
> completely new layout to be implemented past the 'version' field.

Of course.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 15:12:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 15:12:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634453.989892 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3e2s-0004bd-T1; Thu, 16 Nov 2023 15:12:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634453.989892; Thu, 16 Nov 2023 15:12: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 1r3e2s-0004bU-Pv; Thu, 16 Nov 2023 15:12:42 +0000
Received: by outflank-mailman (input) for mailman id 634453;
 Thu, 16 Nov 2023 15:12: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 1r3e2r-0004b1-Id
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 15:12: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 1r3e2q-0007yy-3w; Thu, 16 Nov 2023 15:12:40 +0000
Received: from [15.248.3.7] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3e2p-0004jF-U1; Thu, 16 Nov 2023 15: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>
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=+Yh8qfBLoV8LGjC/Zw+8IdjQPZEWnLWYQHF0m9aGQF0=; b=0WMWCvkirxVMtoq8kishIHLYbO
	/lOpS9peYFRsvVX/UOzCasaweNuYDP2ZS1hwbruC2u0Fc9Q1Iv+E0mfA30o+oVhg9vOVfIfcBY1DM
	2UpcDCJN3htxoY4U1OrsSdYnI7uFZEI9YxNFZqSUV2pwbLpDdKh7Qo3qNy6JYz7dBHcY=;
Message-ID: <0999dc30-05ed-4afd-bb10-0128e2ca1d97@xen.org>
Date: Thu, 16 Nov 2023 15:12:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 "vikram.garhwal@amd.com" <vikram.garhwal@amd.com>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <875y2168ki.fsf@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <875y2168ki.fsf@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Volodymyr,

On 16/11/2023 15:07, Volodymyr Babchuk wrote:
> With my vPCI patch series in place, hypervisor itself assigns BDFs for
> passed-through devices. Toolstack needs to get this information to know
> which BDFs are free and can be used by virtio-pci.

It sounds a bit odd to let the hypervisor to assign the BDFs. At least 
because there might be case where you want to specific vBDF (for 
instance this is the case with some intel graphic cards). This should be 
the toolstack job to say "I want to assign the pBDF to this vBDF".

Do you have a link to the patch adding the logic in the hypervisor? I 
will comment there as well.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 15:14:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 15:14:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634457.989901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3e4L-0005kt-6t; Thu, 16 Nov 2023 15:14:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634457.989901; Thu, 16 Nov 2023 15: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 1r3e4L-0005km-4D; Thu, 16 Nov 2023 15:14:13 +0000
Received: by outflank-mailman (input) for mailman id 634457;
 Thu, 16 Nov 2023 15:14: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=6/O6=G5=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r3e4I-0005ke-TM
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 15:14:11 +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 ca569970-8492-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 16:14:09 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-9e5dd91b0acso131921266b.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 07:14:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca569970-8492-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700147648; x=1700752448; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=pRST7lLFO3fb4FSg9ppULNLtbSlRe/Jg/LvSC/zBjSc=;
        b=Xrb5jmO4k8C8k1IwYDpbTDhIZNmMUi/LafrJyEMkjOyiiBAtRwDwuK4w67D78pWq1f
         3/bVyXszsm1Jsy2J9ZpfKmn0Vt8JNmFR9AGLpIn8OGydSTdcfkYWaH7TCkM9zeHtlOMg
         ob0qAA+zwlGDPiE5cr+iQEe32zxknkshmCB6rrCM9JDHJ/QhQg3PpGKw0+mmbXrCmSIr
         CB98PD/btpjrMmw/1rvTXWG8KDP3aFruV1bFsY3yZYNWp4zlC6vFkvw721sL1lGTExV5
         j7M5xvAFzrV8Piu1emLtthQDNgLVZ8Q0aeSOIKllFJet35PoeyBH5FqUXTvB09vAGLXq
         F3JA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700147648; x=1700752448;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=pRST7lLFO3fb4FSg9ppULNLtbSlRe/Jg/LvSC/zBjSc=;
        b=oCe6x6IZ47FLH7qqX4uPKa2OyjYYt4j8x52vO4QRWxNfES7dWun85Bhbu+sQANZx+1
         Cz/iV/B74Qx0EFifbscULNZR4J7vDMPCzJ9gAKKvVBOyn1j0PULUYKvV3avLBU2w9Tx/
         nSDZ/bHmEYwm59TML1osbWnl2n4rU+6vUKmIFw40xKjvx50iGPB1ZtNDOaZrChvfvNpk
         g+q+EPppgRZ4oAmooDC+yOfK/wbfXgN7Dx4zGy0qzHxAyyIvUZPnq+e8UKAhUEGKSTTM
         3au4/Jugcjuzrh/Jo+00rIWbeneSvv2URXzzAZmmUkL23ogfzsYo+6IXJ0Dk+AwGHlGp
         R+3w==
X-Gm-Message-State: AOJu0YxocR3vP0L1U1Z/7PNqN8qtuIW88sPOqTFj51NqtWXshgb9L0lZ
	21I/CtpZ5dnP+b45V8qAxmWScWt57CWkKDnmlvg=
X-Google-Smtp-Source: AGHT+IGrQr3Bdz+X4PxRv4xamrARgXMjlvNm+ITqssgGDSRAjPFfB161KOz0TAJwRgU36a5Ui6rYFYsYXiTL8B3Rdto=
X-Received: by 2002:a17:907:171e:b0:9ba:2fe3:c97e with SMTP id
 le30-20020a170907171e00b009ba2fe3c97emr12037966ejc.11.1700147648083; Thu, 16
 Nov 2023 07:14:08 -0800 (PST)
MIME-Version: 1.0
References: <20231111184538.2371-1-brchuckz.ref@aol.com> <20231111184538.2371-1-brchuckz@aol.com>
 <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com> <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
 <edefba96-0a17-4b3d-992c-6bfe9e62bf97@netscape.net> <CA+1FSih45=vtpa+bfYGDFEXd6u=+V8wLsBoo8=2rmj7V0Lj_Ow@mail.gmail.com>
 <CA+1FSiiuFMvZAHHXFQHRF=gQSoZTxLEZSDYfCgw8j6HiGkkDXw@mail.gmail.com>
In-Reply-To: <CA+1FSiiuFMvZAHHXFQHRF=gQSoZTxLEZSDYfCgw8j6HiGkkDXw@mail.gmail.com>
From: Mario Marietto <marietto2008@gmail.com>
Date: Thu, 16 Nov 2023 16:13:31 +0100
Message-ID: <CA+1FSij82weDFfsfBQpnPjQJ9K6JVhHxF4JTOKPjwm-8SUrD=A@mail.gmail.com>
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Robin Murphy <robin.murphy@arm.com>, 
	Chuck Zmudzinski <brchuckz@aol.com>, linux-arm-kernel@lists.infradead.org, 
	Russell King <linux@armlinux.org.uk>, Juergen Gross <jgross@suse.com>, 
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, linux-kernel@vger.kernel.org, 
	xen-devel@lists.xenproject.org, Marek Szyprowski <m.szyprowski@samsung.com>, 
	Andrew Morton <akpm@linux-foundation.org>, Mathieu Poirier <mathieu.poirier@linaro.org>, 
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>, 
	"Matthew Wilcox (Oracle)" <willy@infradead.org>, Linus Walleij <linus.walleij@linaro.org>, 
	Jason Gunthorpe <jgg@ziepe.ca>, Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>
Content-Type: multipart/alternative; boundary="000000000000a13c62060a4678ae"

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

I've found a similar error on this post,made on 2012 :

https://groups.google.com/g/qubes-devel/c/W1lM4ELuVVI


and according to what has been asked there,I want to post some further
relevant informations to help you to help me to debug
the problem :


root@devuan-bunsen:/Dati/xen# xl dmesg --->
https://pastebin.ubuntu.com/p/YvtdCPwMWW/

root@devuan-bunsen:/Dati/xen# dmesg --->
https://pastebin.ubuntu.com/p/9cNxCTXVrd/

root@devuan-bunsen:/var/log/xen# mousepad xenstored-access.log --->
https://pastebin.ubuntu.com/p/RTPBG9nS8R/

root@devuan-bunsen:/var/log/xen# mousepad xenstored.log --->
https://pastebin.ubuntu.com/p/T354ts33nP/

very thanks.


On Thu, Nov 16, 2023 at 10:51=E2=80=AFAM Mario Marietto <marietto2008@gmail=
.com>
wrote:

> Hello to everyone.
>
> I'm trying to boot Linux 6.1.y as Xen dom0 on the Chromebook xe303c12, ak=
a
> Snow and configure and start a very basic domU guest,following the Chuck'=
s
> tutorial,located here :
>
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook=
/xen#starting-a-domu-guest
>
> What I did has been to carefully follow his instructions,but I haven't
> found a solution to fix this problem,yet :
>
> # sudo xl create devuan.cfg -c
>
> Parsing config from devuan.cfg
> libxl: error: libxl_create.c:720:libxl__domain_make: domain creation fail=
:
> Permission denied
> libxl: error: libxl_create.c:1309:initiate_domain_create: cannot make
> domain: -3
>
> This is my devuan.cfg file :
>
> kernel =3D '/Dati/xen/kernels/zImage-6.1.59-stb-xen-cbe+'
> memory =3D '512'
> name =3D 'Devuan'
> vcpus =3D '1'
> disk =3D [ '/Dati/xen/devuan.img,,xvda,w' ]
> extra =3D 'console=3Dhvc0 root=3D/dev/xvda rw init=3D/sbin/init
> xen-fbfront.video=3D24,1024,768'
>
> (I have tried also with root=3D/dev/xvda1 and root=3D/dev/xvda2,but leavi=
ng
> disk =3D [ '/Dati/xen/devuan.img,,xvda,w' ] and not xvda1 or 2)
>
> I have no  idea about the reason(s) I always get that error,but I don't
> think it is caused by a wrong creation of the devuan.img file. Can someon=
e
> point me in the right direction to understand what could be wrong ? I
> haven't found any useful information on the internet.
>
> This is bootxen.scr file where I have configured dom0_mem=3D768 :
>
> mmc dev 1
> ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
> ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
> fdt addr 0x5ffec000
> fdt resize 1024
> fdt set /chosen \#address-cells <0x2>
> fdt set /chosen \#size-cells <0x2>
> fdt set /chosen xen,xen-bootargs "console=3Ddtuart dtuart=3Dserial0
> dom0_mem=3D768M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnu=
ll"
> fdt mknod /chosen dom0
> fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module=
"
> "multiboot,module"
> fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
> fdt set /chosen xen,dom0-bootargs "console=3Dtty1 root=3D/dev/mmcblk1p4 r=
w
> rootwait clk_ignore_unused --no-log"
> bootm 0x51000000 - 0x5ffec000
>
> and I've rebooted the Chromebook using this command :
>
> SMDK5250 # mmc dev 1
> SMDK5250 # ext2load mmc 1:3 0x50000000 bootxen.scr; source 0x50000000
>
>
> This is the memory available on the machine after having booted the machi=
ne ready for xen :
>
> # free -m
>               total        used        free      shared  buff/cache
>   available
> Mem:             741         329         108           7         332
>         412
> Swap:              0           0           0
>
> Thanks in advance for any support.
>
> On Wed, Nov 15, 2023 at 8:41=E2=80=AFPM Mario Marietto <marietto2008@gmai=
l.com>
> wrote:
>
>> ---> So I plan to do some tests and see what DMA ops the other devices
>> use if swiotlb-xen is disabled and also what DMA ops the other devices u=
se
>> when Linux runs on the Chromebook on bare metal without Xen. If these te=
sts
>> show the problem can be fixed by disabling swiotlb-xen with a Kconfig  o=
r
>> command line option, I will propose v2 to implement that as a solution.
>>
>> and this could bring you to the next level of our project. Try to instal=
l
>> xen on different devices. At least it is my next project. I've already
>> bought two arm64 phones where xen can be installed because there is a ha=
ck
>> to overcome the bootloader / hypervisor protection mechanism. For sure I
>> hope that you also want to buy them to work on this together. And don't
>> worry about how much money they will cost you. I've bought them used and
>> refurbished. Or you could buy only one,that I suggest could be the SM-A6=
00G
>> (Samsung Galaxy A6) with Exynos7870. Please start looking for it at a go=
od
>> price.
>>
>> On Wed, Nov 15, 2023 at 6:57=E2=80=AFPM Chuck Zmudzinski <brchuckz@netsc=
ape.net>
>> wrote:
>>
>>> On 11/14/2023 5:20 PM, Stefano Stabellini wrote:
>>> > On Tue, 14 Nov 2023, Robin Murphy wrote:
>>> >> On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
>>> >> > Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error
>>> when
>>> >> > attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook
>>> Snow
>>> >> > (and probably on other devices that use the Exynos mixer):
>>> >> >
>>> >> > [drm] Exynos DRM: using 14400000.fimd device for DMA mapping
>>> operations
>>> >> > exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
>>> >> > exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR*
>>> Device
>>> >> >                               14450000.mixer lacks support for IOM=
MU
>>> >> > exynos-drm exynos-drm: failed to bind 14450000.mixer (ops
>>> 0xc0d97554): -22
>>> >> > exynos-drm exynos-drm: adev bind failed: -22
>>> >> > exynos-dp: probe of 145b0000.dp-controller failed with error -22
>>> >> >
>>> >> > Linux normally uses xen_swiotlb_dma_ops for DMA for all devices wh=
en
>>> >> > xen_swiotlb is detected even when Xen exposes an IOMMU to Linux.
>>> Enabling
>>> >> > the new config option allows devices such as the Exynos mixer to
>>> use the
>>> >> > IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the
>>> error.
>>> >> >
>>> >> > The new config option is not set by default because it is likely
>>> some
>>> >> > devices that use IOMMU for DMA on Xen will cause DMA errors and
>>> memory
>>> >> > corruption when Xen PV block and network drivers are in use on the
>>> system.
>>> >> >
>>> >> > Link:
>>> >> >
>>> https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@=
netscape.net/
>>> >> >
>>> >> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
>>> >> > ---
>>> >> > The reported error with the Exynos mixer is not fixed by default b=
y
>>> adding
>>> >> > a second patch to select the new option in the Kconfig definition
>>> for the
>>> >> > Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because i=
t
>>> is
>>> >> > not certain setting the config option is suitable for all cases. S=
o
>>> it is
>>> >> > necessary to explicitly select the new config option during the
>>> config
>>> >> > stage of the Linux kernel build to fix the reported error or simil=
ar
>>> >> > errors that have the same cause of lack of support for IOMMU on
>>> Xen. This
>>> >> > is necessary to avoid any regressions that might be caused by
>>> enabling the
>>> >> > new option by default for the Exynos mixer.
>>> >> >   arch/arm/mm/dma-mapping.c |  6 ++++++
>>> >> >   drivers/xen/Kconfig       | 16 ++++++++++++++++
>>> >> >   2 files changed, 22 insertions(+)
>>> >> >
>>> >> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
>>> >> > index 5409225b4abc..ca04fdf01be3 100644
>>> >> > --- a/arch/arm/mm/dma-mapping.c
>>> >> > +++ b/arch/arm/mm/dma-mapping.c
>>> >> > @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev,
>>> u64
>>> >> > dma_base, u64 size,
>>> >> >    if (iommu)
>>> >> >            arm_setup_iommu_dma_ops(dev, dma_base, size, iommu,
>>> coherent);
>>> >> >   +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
>>> >>
>>> >> FWIW I don't think this really needs a config option - if Xen *has*
>>> made an
>>> >> IOMMU available, then there isn't really much reason not to use it,
>>> and if for
>>> >> some reason someone really didn't want to then they could simply
>>> disable the
>>> >> IOMMU driver anyway.
>>> >
>>> > The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen
>>> > doesn't recognize the Exynos IOMMU (it is not one of the IOMMUs Xen h=
as
>>> > a driver for) so it assigns the IOMMU to Dom0. It doesn't happen on
>>> > purpose, it happens by accident. Certain things are going to break,
>>> > specifically I am fairly certain PV drivers are going to break.
>>> >
>>> > If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide
>>> it
>>> > from Dom0. (Today Xen doesn't have a list of IOMMUs Xen recognizes bu=
t
>>> > doesn't have a driver for.)
>>> >
>>> > I think it is OK for Chuck and others to play around with this
>>> > configuration but I wouldn't add a new kconfig option to Linux to
>>> > support it.
>>> >
>>> > If we do want a kconfig option, I would add a kconfig option or Linux
>>> > command line option to enable/disable swiotlb-xen. Basically a way to
>>> > force-enable or force-disable xen_swiotlb_detect(). That could be
>>> > generally useful for debugging and would also solve the problem here =
as
>>> > it could be used to force-disable swiotlb-xen. I would imagine that t=
he
>>> > end result is the same: the default ops (iommu_ops) are used.
>>>
>>> I will try this. It isn't exactly what I have tested until now because
>>> in all my tests so far all the DMA capable devices on the Chromebook us=
e
>>> swioltlb-xen except for the two devices that need to use the Exynos IOM=
MU
>>> to fix the error with the Exynos mixer.
>>>
>>> >
>>> >
>>> >
>>> >> > +  if (dev->dma_ops =3D=3D &iommu_ops) {
>>> >> > +          dev->archdata.dma_ops_setup =3D true;
>>> >>
>>> >> The existing assignment is effectively unconditional by this point
>>> anyway, so
>>> >> could probably just be moved earlier to save duplicating it (or
>>> perhaps just
>>> >> make the xen_setup_dma_ops() call conditional instead to save the
>>> early return
>>> >> as well).
>>> >>
>>> >> However, are the IOMMU DMA ops really compatible with Xen? The
>>> comments about
>>> >> hypercalls and foreign memory in xen_arch_need_swiotlb() leave me
>>> concerned
>>> >> that assuming non-coherent DMA to any old Dom0 page is OK might not
>>> actually
>>> >> work in general :/
>>> >
>>> > Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the
>>> > IOMMU while also it exposes a virtual IOMMU to guests.) In those case=
s
>>> > the iommu_ops should be compatible with Xen.
>>> >
>>> > swiotlb-xen is useful in cases where there is no IOMMU on the platfor=
m
>>> > (or the IOMMU doesn't cover all DMA-capable devices) and Dom0 is 1:1
>>> > mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0
>>> is
>>> > not 1:1 mapped swiotlb-xen doesn't work. If an IOMMU is present and
>>> > covers all DMA-capable devices, then swiotlb-xen is superfluous.
>>>
>>> It seems that swiotlb-xen works on this Chromebook since all but two
>>> of the DMA capable devices use it when configured with the Kconfig opti=
on
>>> added here and it seems to work fine so I presume Dom0 is 1:1 mapped as
>>> expected. It is possible that on this device, the IOMMU is only coverin=
g
>>> the two devices that need to use the Exynos IOMMU in the tests I have
>>> done.
>>> There are many other DMA capable devices that use swiotlb-xen DMA ops
>>> on Xen, but I have not checked what DMA ops the other devices use when
>>> Linux runs on the Chromebook on bare metal without Xen.
>>>
>>> So I plan to do some tests and see what DMA ops the other devices use i=
f
>>> swiotlb-xen is disabled and also what DMA ops the other devices use whe=
n
>>> Linux runs on the Chromebook on bare metal without Xen. If these tests
>>> show the problem can be fixed by disabling swiotlb-xen with a Kconfig  =
or
>>> command line option, I will propose v2 to implement that as a solution.
>>>
>>> > This last case is the interesting case for virtual IOMMU and Linux
>>> usage of
>>> > iommu_ops.
>>>
>>
>>
>> --
>> Mario.
>>
>
>
> --
> Mario.
>


--=20
Mario.

--000000000000a13c62060a4678ae
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><pre><span></span><span id=3D"gmail-line-number-1">I&=
#39;ve found a similar error on this post,made on 2012 :<br><br></span><a h=
ref=3D"https://groups.google.com/g/qubes-devel/c/W1lM4ELuVVI">https://group=
s.google.com/g/qubes-devel/c/W1lM4ELuVVI</a><br><br><br>and according to wh=
at has been asked there,I want to post some further relevant informations t=
o help you to help me to debug <br>the problem :<br><br><br><span id=3D"gma=
il-line-number-1">root@devuan-bunsen:/Dati/xen# xl dmesg ---&gt; h</span>tt=
ps://<a href=3D"http://pastebin.ubuntu.com/p/YvtdCPwMWW/">pastebin.ubuntu.c=
om/p/YvtdCPwMWW/</a></pre></div><div><pre><span id=3D"gmail-line-number-1">=
root@devuan-bunsen:/Dati/xen# dmesg ---&gt; h</span>ttps://<a href=3D"http:=
//pastebin.ubuntu.com/p/9cNxCTXVrd/">pastebin.ubuntu.com/p/9cNxCTXVrd/</a><=
br><br>r<span style=3D"font-family:monospace"><span style=3D"color:rgb(0,0,=
0);background-color:rgb(255,255,255)">oot@devuan-bunsen:/var/log/xen# mouse=
pad xenstored-access.log ---&gt; </span></span><a href=3D"https://pastebin.=
ubuntu.com/p/RTPBG9nS8R/">https://pastebin.ubuntu.com/p/RTPBG9nS8R/</a><br>=
<br><span style=3D"font-family:monospace"><span style=3D"color:rgb(0,0,0);b=
ackground-color:rgb(255,255,255)">root@devuan-bunsen:/var/log/xen# mousepad=
 xenstored.log ---&gt; </span></span><a href=3D"https://pastebin.ubuntu.com=
/p/T354ts33nP/">https://pastebin.ubuntu.com/p/T354ts33nP/</a><span style=3D=
"font-family:monospace"><span style=3D"color:rgb(0,0,0);background-color:rg=
b(255,255,255)"></span><br>
<br></span></pre><pre><span style=3D"font-family:monospace"><span style=3D"=
color:rgb(0,0,0);background-color:rgb(255,255,255)"></span>very thanks.<br>=
</span></pre></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" cl=
ass=3D"gmail_attr">On Thu, Nov 16, 2023 at 10:51=E2=80=AFAM Mario Marietto =
&lt;<a href=3D"mailto:marietto2008@gmail.com">marietto2008@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(204,204,204);padding-left:1ex"><div di=
r=3D"ltr"><div>Hello to everyone.</div><div><p dir=3D"auto">I&#39;m trying =
to boot Linux 6.1.y as Xen dom0 on
 the Chromebook xe303c12, aka Snow and configure and start a very basic=20
domU guest,following the Chuck&#39;s tutorial,located here : <br></p></div>=
<div><a href=3D"https://github.com/mobile-virt/u-boot-chromebook-xe303c12/t=
ree/chromebook/xen#starting-a-domu-guest" target=3D"_blank">https://github.=
com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-d=
omu-guest</a></div><div><br></div><div>What I did has been to carefully fol=
low his instructions,but I haven&#39;t found a solution to fix this problem=
,yet :</div><div><br></div><div><div dir=3D"ltr"><div><span style=3D"font-f=
amily:monospace"><span style=3D"color:rgb(0,0,0);background-color:rgb(255,2=
55,255)"># sudo xl create devuan.cfg -c
</span><br></span></div><div><span style=3D"font-family:monospace"><br></sp=
an></div><div><span style=3D"font-family:monospace">Parsing config from dev=
uan.cfg
<br>libxl: error: libxl_create.c:720:libxl__domain_make: domain creation fa=
il: Permission denied
<br>libxl: error: libxl_create.c:1309:initiate_domain_create: cannot make d=
omain: -3<br></span></div><div><span style=3D"font-family:monospace"><br></=
span></div><div><div>This is my devuan.cfg file :</div><div><br></div><div>=
<span style=3D"font-family:monospace"><span style=3D"color:rgb(0,0,0);backg=
round-color:rgb(255,255,255)">kernel =3D &#39;/Dati/xen/kernels/zImage-6.1.=
59-stb-xen-cbe+&#39;
</span><br>memory =3D &#39;512&#39;
<br>name =3D &#39;Devuan&#39;
<br>vcpus =3D &#39;1&#39;
<br>disk =3D [ &#39;/Dati/xen/devuan.img,,xvda,w&#39; ]
<br>extra =3D &#39;console=3Dhvc0 root=3D/dev/xvda rw init=3D/sbin/init xen=
-fbfront.video=3D24,1024,768&#39;<br></span></div><div><br></div><div>(I ha=
ve tried also with root=3D/dev/xvda1 and root=3D/dev/xvda2,but leaving disk=
 =3D [ &#39;/Dati/xen/devuan.img,,xvda,w&#39; ]
and not xvda1 or 2)<br></div><div><br></div><span style=3D"font-family:mono=
space"></span></div></div><div><div><div id=3D"m_5481790246302540883gmail-q=
_129"><div>I have no=C2=A0 idea about the reason(s) I always get that error=
,but I don&#39;t think it is caused by a wrong creation of the devuan.img f=
ile. Can someone point me in the right direction to understand what could b=
e wrong ? I haven&#39;t found any useful information on the internet.</div>=
<div><br></div><div>This is bootxen.scr file where I have configured dom0_m=
em=3D768 :<br></div><div><br></div><div>mmc dev 1<br>ext2load mmc 1:3 0x420=
00000 zImage-6.6.0-xen-iommu-dma-on-xen<br>ext2load mmc 1:3 0x51000000 xen-=
4.17-armhf-armmp-0x51004000.ub<br>ext2load mmc 1:3 0x5ffec000 exynos5250-sn=
ow.dtb<br>fdt addr 0x5ffec000<br>fdt resize 1024<br>fdt set /chosen \#addre=
ss-cells &lt;0x2&gt;<br>fdt set /chosen \#size-cells &lt;0x2&gt;<br>fdt set=
 /chosen xen,xen-bootargs &quot;console=3Ddtuart dtuart=3Dserial0 dom0_mem=
=3D768M dom0_max_vcpus=3D2 bootscrub=3D0 vwfi=3Dnative sched=3Dnull&quot;<b=
r>fdt mknod /chosen dom0<br>fdt set /chosen/dom0 compatible =C2=A0&quot;xen=
,linux-zimage&quot; &quot;xen,multiboot-module&quot; &quot;multiboot,module=
&quot;<br>fdt set /chosen/dom0 reg &lt;0x0 0x42000000 0x0 0x87C200 &gt;<br>=
fdt set /chosen xen,dom0-bootargs &quot;console=3Dtty1 root=3D/dev/mmcblk1p=
4 rw rootwait clk_ignore_unused --no-log&quot;<br>bootm 0x51000000 - 0x5ffe=
c000</div><div><br></div><div>and I&#39;ve rebooted the Chromebook using th=
is command :</div><div><br></div><div><pre><code>SMDK5250 # mmc dev 1
SMDK5250 # ext2load mmc 1:3 0x50000000 bootxen.scr; source 0x50000000<br><b=
r></code></pre><pre><code><br>This is the memory available on the machine a=
fter having booted the machine ready for xen :<br><br></code></pre></div><d=
iv><span style=3D"font-family:monospace"><span style=3D"color:rgb(0,0,0);ba=
ckground-color:rgb(255,255,255)"># free -m
</span><br> =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=A0total =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0used =
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0free =C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0shared =C2=A0buff/cache =C2=A0=C2=A0available
<br>Mem: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0741 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0329 =C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0108 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A07 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0332 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0412
<br>Swap: =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=A00 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A00 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A00</span></=
div><div><span style=3D"font-family:monospace"><br></span></div><div><span =
style=3D"font-family:monospace">Thanks in advance for any support. <br></sp=
an></div></div></div></div></div></div><br><div class=3D"gmail_quote"><div =
dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 15, 2023 at 8:41=E2=80=AFPM Ma=
rio Marietto &lt;<a href=3D"mailto:marietto2008@gmail.com" target=3D"_blank=
">marietto2008@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(204,204=
,204);padding-left:1ex"><div dir=3D"ltr"><div>---&gt; So I plan to do some =
tests and see what DMA ops the other devices use if swiotlb-xen is disabled=
 and also what DMA ops the other devices use when
Linux runs on the Chromebook on bare metal without Xen. If these tests show=
 the problem can be fixed by disabling swiotlb-xen with a Kconfig=C2=A0 or
command line option, I will propose v2 to implement that as a solution.</di=
v><div><br></div><div>and this could bring you to the next level of our pro=
ject. Try to install xen on different devices. At least it is my next proje=
ct. I&#39;ve already bought two arm64 phones where xen can be installed bec=
ause there is a hack to overcome the bootloader / hypervisor protection mec=
hanism. For sure I hope that you also want to buy them to work on this toge=
ther. And don&#39;t worry about how much money they will cost you. I&#39;ve=
 bought them used and refurbished. Or you could buy only one,that I suggest=
 could be the SM-A600G (Samsung Galaxy A6) with Exynos7870. Please start lo=
oking for it at a good price.=C2=A0 </div></div><br><div class=3D"gmail_quo=
te"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 15, 2023 at 6:57=E2=
=80=AFPM Chuck Zmudzinski &lt;<a href=3D"mailto:brchuckz@netscape.net" targ=
et=3D"_blank">brchuckz@netscape.net</a>&gt; wrote:<br></div><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex">On 11/14/2023 5:20 PM, Stefano Stabellin=
i wrote:<br>
&gt; On Tue, 14 Nov 2023, Robin Murphy wrote:<br>
&gt;&gt; On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:<br>
&gt;&gt; &gt; Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this er=
ror when<br>
&gt;&gt; &gt; attaching the Exynos mixer in Linux dom0 on Xen on the Chrome=
book Snow<br>
&gt;&gt; &gt; (and probably on other devices that use the Exynos mixer):<br=
>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; [drm] Exynos DRM: using 14400000.fimd device for DMA mapping =
operations<br>
&gt;&gt; &gt; exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)<b=
r>
&gt;&gt; &gt; exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *E=
RROR* Device<br>
&gt;&gt; &gt;=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=A014450000.mixer lacks suppo=
rt for IOMMU<br>
&gt;&gt; &gt; exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc=
0d97554): -22<br>
&gt;&gt; &gt; exynos-drm exynos-drm: adev bind failed: -22<br>
&gt;&gt; &gt; exynos-dp: probe of 145b0000.dp-controller failed with error =
-22<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; Linux normally uses xen_swiotlb_dma_ops for DMA for all devic=
es when<br>
&gt;&gt; &gt; xen_swiotlb is detected even when Xen exposes an IOMMU to Lin=
ux. Enabling<br>
&gt;&gt; &gt; the new config option allows devices such as the Exynos mixer=
 to use the<br>
&gt;&gt; &gt; IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes t=
he error.<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; The new config option is not set by default because it is lik=
ely some<br>
&gt;&gt; &gt; devices that use IOMMU for DMA on Xen will cause DMA errors a=
nd memory<br>
&gt;&gt; &gt; corruption when Xen PV block and network drivers are in use o=
n the system.<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; Link:<br>
&gt;&gt; &gt; <a href=3D"https://lore.kernel.org/xen-devel/acfab1c5-eed1-49=
30-8c70-8681e256c820@netscape.net/" rel=3D"noreferrer" target=3D"_blank">ht=
tps://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netsca=
pe.net/</a><br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; Signed-off-by: Chuck Zmudzinski &lt;<a href=3D"mailto:brchuck=
z@aol.com" target=3D"_blank">brchuckz@aol.com</a>&gt;<br>
&gt;&gt; &gt; ---<br>
&gt;&gt; &gt; The reported error with the Exynos mixer is not fixed by defa=
ult by adding<br>
&gt;&gt; &gt; a second patch to select the new option in the Kconfig defini=
tion for the<br>
&gt;&gt; &gt; Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled beca=
use it is<br>
&gt;&gt; &gt; not certain setting the config option is suitable for all cas=
es. So it is<br>
&gt;&gt; &gt; necessary to explicitly select the new config option during t=
he config<br>
&gt;&gt; &gt; stage of the Linux kernel build to fix the reported error or =
similar<br>
&gt;&gt; &gt; errors that have the same cause of lack of support for IOMMU =
on Xen. This<br>
&gt;&gt; &gt; is necessary to avoid any regressions that might be caused by=
 enabling the<br>
&gt;&gt; &gt; new option by default for the Exynos mixer.<br>
&gt;&gt; &gt;=C2=A0 =C2=A0arch/arm/mm/dma-mapping.c |=C2=A0 6 ++++++<br>
&gt;&gt; &gt;=C2=A0 =C2=A0drivers/xen/Kconfig=C2=A0 =C2=A0 =C2=A0 =C2=A0| 1=
6 ++++++++++++++++<br>
&gt;&gt; &gt;=C2=A0 =C2=A02 files changed, 22 insertions(+)<br>
&gt;&gt; &gt; <br>
&gt;&gt; &gt; diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapp=
ing.c<br>
&gt;&gt; &gt; index 5409225b4abc..ca04fdf01be3 100644<br>
&gt;&gt; &gt; --- a/arch/arm/mm/dma-mapping.c<br>
&gt;&gt; &gt; +++ b/arch/arm/mm/dma-mapping.c<br>
&gt;&gt; &gt; @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device =
*dev, u64<br>
&gt;&gt; &gt; dma_base, u64 size,<br>
&gt;&gt; &gt;=C2=A0 =C2=A0 if (iommu)<br>
&gt;&gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 arm_setup_iommu_dma_=
ops(dev, dma_base, size, iommu, coherent);<br>
&gt;&gt; &gt;=C2=A0 =C2=A0+#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN<br>
&gt;&gt; <br>
&gt;&gt; FWIW I don&#39;t think this really needs a config option - if Xen =
*has* made an<br>
&gt;&gt; IOMMU available, then there isn&#39;t really much reason not to us=
e it, and if for<br>
&gt;&gt; some reason someone really didn&#39;t want to then they could simp=
ly disable the<br>
&gt;&gt; IOMMU driver anyway.<br>
&gt; <br>
&gt; The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen<b=
r>
&gt; doesn&#39;t recognize the Exynos IOMMU (it is not one of the IOMMUs Xe=
n has<br>
&gt; a driver for) so it assigns the IOMMU to Dom0. It doesn&#39;t happen o=
n<br>
&gt; purpose, it happens by accident. Certain things are going to break,<br=
>
&gt; specifically I am fairly certain PV drivers are going to break.<br>
&gt; <br>
&gt; If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide =
it<br>
&gt; from Dom0. (Today Xen doesn&#39;t have a list of IOMMUs Xen recognizes=
 but<br>
&gt; doesn&#39;t have a driver for.)<br>
&gt; <br>
&gt; I think it is OK for Chuck and others to play around with this<br>
&gt; configuration but I wouldn&#39;t add a new kconfig option to Linux to<=
br>
&gt; support it.<br>
&gt; <br>
&gt; If we do want a kconfig option, I would add a kconfig option or Linux<=
br>
&gt; command line option to enable/disable swiotlb-xen. Basically a way to<=
br>
&gt; force-enable or force-disable xen_swiotlb_detect(). That could be<br>
&gt; generally useful for debugging and would also solve the problem here a=
s<br>
&gt; it could be used to force-disable swiotlb-xen. I would imagine that th=
e<br>
&gt; end result is the same: the default ops (iommu_ops) are used.<br>
<br>
I will try this. It isn&#39;t exactly what I have tested until now because<=
br>
in all my tests so far all the DMA capable devices on the Chromebook use<br=
>
swioltlb-xen except for the two devices that need to use the Exynos IOMMU<b=
r>
to fix the error with the Exynos mixer.<br>
<br>
&gt; <br>
&gt; <br>
&gt; <br>
&gt;&gt; &gt; +=C2=A0 if (dev-&gt;dma_ops =3D=3D &amp;iommu_ops) {<br>
&gt;&gt; &gt; +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 dev-&gt;archdata.dma_ops_=
setup =3D true;<br>
&gt;&gt; <br>
&gt;&gt; The existing assignment is effectively unconditional by this point=
 anyway, so<br>
&gt;&gt; could probably just be moved earlier to save duplicating it (or pe=
rhaps just<br>
&gt;&gt; make the xen_setup_dma_ops() call conditional instead to save the =
early return<br>
&gt;&gt; as well).<br>
&gt;&gt; <br>
&gt;&gt; However, are the IOMMU DMA ops really compatible with Xen? The com=
ments about<br>
&gt;&gt; hypercalls and foreign memory in xen_arch_need_swiotlb() leave me =
concerned<br>
&gt;&gt; that assuming non-coherent DMA to any old Dom0 page is OK might no=
t actually<br>
&gt;&gt; work in general :/<br>
&gt; <br>
&gt; Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the<b=
r>
&gt; IOMMU while also it exposes a virtual IOMMU to guests.) In those cases=
<br>
&gt; the iommu_ops should be compatible with Xen.<br>
&gt; <br>
&gt; swiotlb-xen is useful in cases where there is no IOMMU on the platform=
<br>
&gt; (or the IOMMU doesn&#39;t cover all DMA-capable devices) and Dom0 is 1=
:1<br>
&gt; mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0 =
is<br>
&gt; not 1:1 mapped swiotlb-xen doesn&#39;t work. If an IOMMU is present an=
d<br>
&gt; covers all DMA-capable devices, then swiotlb-xen is superfluous.<br>
<br>
It seems that swiotlb-xen works on this Chromebook since all but two<br>
of the DMA capable devices use it when configured with the Kconfig option<b=
r>
added here and it seems to work fine so I presume Dom0 is 1:1 mapped as<br>
expected. It is possible that on this device, the IOMMU is only covering<br=
>
the two devices that need to use the Exynos IOMMU in the tests I have done.=
<br>
There are many other DMA capable devices that use swiotlb-xen DMA ops<br>
on Xen, but I have not checked what DMA ops the other devices use when<br>
Linux runs on the Chromebook on bare metal without Xen.<br>
<br>
So I plan to do some tests and see what DMA ops the other devices use if<br=
>
swiotlb-xen is disabled and also what DMA ops the other devices use when<br=
>
Linux runs on the Chromebook on bare metal without Xen. If these tests<br>
show the problem can be fixed by disabling swiotlb-xen with a Kconfig=C2=A0=
 or<br>
command line option, I will propose v2 to implement that as a solution.<br>
<br>
&gt; This last case is the interesting case for virtual IOMMU and Linux usa=
ge of<br>
&gt; iommu_ops.<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--000000000000a13c62060a4678ae--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 15:16:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 15:16:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634464.989912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3e6f-0007Wv-PH; Thu, 16 Nov 2023 15:16:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634464.989912; Thu, 16 Nov 2023 15:16: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 1r3e6f-0007Wo-Le; Thu, 16 Nov 2023 15:16:37 +0000
Received: by outflank-mailman (input) for mailman id 634464;
 Thu, 16 Nov 2023 15:16: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=ww8j=G5=epam.com=prvs=56846b66b7=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r3dxr-00021Z-1v
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 15:07:31 +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 dbf44545-8491-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 16:07:29 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AGElpYg008788; Thu, 16 Nov 2023 15:07:16 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ud54nat55-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 16 Nov 2023 15:07:15 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AS8PR03MB9893.eurprd03.prod.outlook.com (2603:10a6:20b:637::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Thu, 16 Nov
 2023 15:07:10 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.021; Thu, 16 Nov 2023
 15:07: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: dbf44545-8491-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A8jBJszgw6DAgd/Nj45aw5XNVc9UYS3awdXPvzdN5x5+heyV2tvxGtlajlDrTiScxbxukQcXB6MBlv9uS/x7xUDNqLSwsHLRaLHhUA/z1K6/a8FZTCyDuF6AX/qzQUg647UOYPmln37xCQE7JVnO9jyC96nH9Hbus1TXRV5iY0tX7gQQc4AwxaVqdm+/y1ePuVv/F+JKx2uZK0Vsk2YA2uPnZ6AcpUh76mCTaWPzCs4ODDBO0XH9YH1MjMvP0rseFe/yqKj2lBcEzdcM8sArGYmFRMeisn4XFvD11ElPd7mYmjO1hD/XBrmvTcid+1o9h/JBL3bopG3Ay1YJtanZrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u/DB0qMqR38wx9CPU6U/tc7nfenuj0L8YpiJ9UJmv48=;
 b=PxO0B11JenlEegud9+jt5JNrU2utC7aX1OuWZ7QoyXVljjbLZz/vga4TAvngLnHo6Hkf2KfFUIYFV+GT50rVcTDkpRWG3xdUveVNoV3NYQNeNhnNIDzC6IhKHQ3NJyWBQGDk3jDhEr2Oy4WBBuUyFN7SZyp+3hX9g1ow+Xs7kEaV1vgAK84EvUAXG8NrzOtwgxbjoVDASfSxkGrao0ckjSGUcJyrgADMlWwf2TexCdMhSKUrA+J7Q1NBOZWYZOoPeoWr/FMmvw3jpkbl1rerT32Rlh5W1tSRvUuGTPufBVq8ytFb7UACi482ynnB9tLvw2TdZVAX/12t0Yfe8KyBqA==
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=u/DB0qMqR38wx9CPU6U/tc7nfenuj0L8YpiJ9UJmv48=;
 b=R8FjmFlb2A/xGa0UOkxyPF4bycIkF2xzquTDBsav5mclmsU0eUk0DN5X0YI+q4Mj0nKRYfX6S1qifFgLnpMiPVn3cQkitSAxCJOkQrHGQzxp60xE/5vpf+DBywYG4EKnGTSX1p2qqxcoFl7Lwdq4f6B7n02GD8DLPdfBpDPQ4vJjChPvoMEvVL8NuackVwdrIVwGYGHIEydbDhI/xGJwtMq/n7sEbO5f4i+d8eaMzs0buQ/wITvW2xQq8vNKdSPlH/7BuoFHKtv7Kdwr53U9Va3rRIiTL7qDB1cUxBY6QFPPrT/kcVbR2uabzysKM7OXTQoIwFQKppzOYXKTcDQ2Iw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Julien Grall
	<julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Bertrand
 Marquis <bertrand.marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>,
        "vikram.garhwal@amd.com" <vikram.garhwal@amd.com>,
        Stewart Hildebrand
	<stewart.hildebrand@amd.com>
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Topic: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Index: AQHaF7/0FLT7PaxCl0mKzTq8kNpAxLB7mIqAgABuuwCAAP6dAA==
Date: Thu, 16 Nov 2023 15:07:10 +0000
Message-ID: <875y2168ki.fsf@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AS8PR03MB9893:EE_
x-ms-office365-filtering-correlation-id: 3884c595-a4d3-4f18-da87-08dbe6b5b51c
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 y+MNTg5+8JsFEi9D1K9ohfKe6dTyh7k5N17178HoU5V+ENU8BBY5c/YlnVQeT7jNaUg5qwtjELK+YU5f0sikwV3G4OmZmDG2gAlkujeaHMC0Jx/Fxqi8kHhL4xZGHzvOi667Cl+kYjoOkaMR4lcvpJosTk096ggDuCeaVQMpqZCd5N3Jd26CVtjdz088AJmwJnScAyg2Llwr968XNkg0Cc3yDelzdo4WLMwJzoOQ6M8IKtS/H9YQG1cPGbj+WPGUM7pjLu03US0SubxniOXsnb3YVfLyisQ+pijecCkYIMMpwmgzsIt8eaXv0annIUeV9Xbu92pJAzwFZvtlmciB1fqqRULTG+ttHAjUVsmboYmITalBd6gDklPBsonwml/h3XzR17eWVTiB0W/8i7AgK0zUmb5E9C96Tt9WCmWyYLA1EJROr9OYuFX4WNUBZU4hCG/rt5J4r1s2PayEiBXw45mb//gYxSIfSReRgPbNUxWj+QXYfquOvHNY2iChPKnlpLCfgGhJN0IRw4bm80TbwweEyWRkG3+LFXnKgS0E1QT5vAQjy8Y3Gtz5IbMHVYMTzlj8VrMm4n/yoDYH/7Vi9YGjGLY39mmI6eWttW8Xmhr5Xpv73S4axF3zQj3WdCBK
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:(13230031)(396003)(376002)(136003)(39860400002)(366004)(346002)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(4326008)(2906002)(36756003)(2616005)(8936002)(8676002)(26005)(76116006)(6486002)(478600001)(6916009)(64756008)(91956017)(86362001)(66946007)(66446008)(316002)(66476007)(54906003)(66556008)(5660300002)(53546011)(122000001)(38070700009)(55236004)(71200400001)(38100700002)(83380400001)(6512007)(41300700001)(6506007);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?prM491y24UUXihzlS3FaDRdsNe+xQmZwTh1Q6pzYM/sqiFAYnul7CPeT64?=
 =?iso-8859-1?Q?+TgeFIUdqfSEGNBGCILuo52DPy8OomsSGn0CeOFtdxKbCGx2txUiLWQPlS?=
 =?iso-8859-1?Q?cmyhtKWgivZhsLd3f676QV7i+vHMgDTGBhajV9MmL7DV+KB2HgDM8I/a9R?=
 =?iso-8859-1?Q?dLcz8dw72FX+UgfhK/ws9Y6lsTdl7DCYG+i2XwK8iN1dUuMV5gsZjharhs?=
 =?iso-8859-1?Q?YG9zuA7iukBab9oFkTKzrU8f3H1l+0fEYrGXDUEetr0eB1u6/ttrtntOU5?=
 =?iso-8859-1?Q?UC0dMgdKPx/3g0gqM0M6YSMyWMP8ek9yjjNj9qYS5p/8Kqk2fGvvO/vDXm?=
 =?iso-8859-1?Q?99JV0QsdMpwxOgLXAnfVgZ5eQ3oRA2KehENbo2jx3ll+Nvdd2ycNeZlkCq?=
 =?iso-8859-1?Q?vXe0hv3HQ3KXUW3i/4OQKsZsWRlm2scOvjqwgOiSqxCLswP7XbSbBIQYgq?=
 =?iso-8859-1?Q?TcpY8i1fHC4Ouj9MkCK1lxoYq5iHnX+FzwD7kQG6i6mP4KWpMkGUDSjuDB?=
 =?iso-8859-1?Q?O7W6uuCt3h7+jn/Ch/X5BoTtK/QSoDdru1CivSGlnNxyZnLm7mS3AdpzwD?=
 =?iso-8859-1?Q?eG/ifw1Mi/f866B5KblUiIaJ1X2HOze+tGpYnYmeI4l6E7CIKQEN5ouUlp?=
 =?iso-8859-1?Q?AxEjWFeX50IpqWf7y+8re7WSfiY8KDlV4QNUWmPd+LiaxnhTS1He75OJPo?=
 =?iso-8859-1?Q?d3DHLwnHStRn3Q88KDOmGCevNk70uph5yV3L4dqdgg6cdv1UxZ44djiex0?=
 =?iso-8859-1?Q?AaBF3Db4AWW9h/LPyxZRWa9+HvQOIt8+U7ofCq2UPfoCnzjwC2qrTgNPgp?=
 =?iso-8859-1?Q?o+XgvEAko/lRwYbc3vzA7til/Osw+JoNeNbZFIWpBc7ll0xW1WOnHPt45j?=
 =?iso-8859-1?Q?5EUg6asuHdRmuxRWI5wQ4TRnsGbpTVmV2NM7IG2Cw5Mn3+4Cx8Jr2IFx2a?=
 =?iso-8859-1?Q?eTpWyM98E8iiFBf2mjwPsoh2uVKp3sdawabKj5KdfxgNjlPV/4euKKn4Mp?=
 =?iso-8859-1?Q?IZWzqzZG+yXX6NqjpDLOA97E69QGreve6HhGK4q+WeScabqfYmr14HQHDQ?=
 =?iso-8859-1?Q?vZJAlwEx7NoF5X7KVrkaKYciLmJXfOTocMWPoxG7ja/QB5wvAqptDjfZSy?=
 =?iso-8859-1?Q?5m3ChkVOxEZtbUcDiD9ge38MTE5tDeMED6LejG8Mgy9SWWqOKhxTcSZbHV?=
 =?iso-8859-1?Q?HbwyKOioKCmcesaiFMz6La0fuBVKtqkNrsTUI25b5/emPSx6kU1gWnwgiv?=
 =?iso-8859-1?Q?QTF4CPmlyV+SRB9Km0qv5KOwtOiTONVBvns8YS/3ug5ZapgJ3miQLHF26S?=
 =?iso-8859-1?Q?U+ixM40n3XmXQo6tgAicBzT9Ry8cz1y7UPkcZajGtJ1OsZ68G0F4IXzb6k?=
 =?iso-8859-1?Q?3Ty20VoimaMm0OZFh4/5mjM7+S/mTpVn0stLuzPV4Cbo/NDfOrNDIfpa4Z?=
 =?iso-8859-1?Q?fBey1A67PzR7GiwYkFlxTtcA+h4b4CR7b7I0IYgaAhW3QPEnwLgJhfVGcN?=
 =?iso-8859-1?Q?cOhPaPvFg1Lg81Uuy9a9kfgyrsyDVuAtZ3s7O0XwGSgI8TRReSptRHJhEw?=
 =?iso-8859-1?Q?T/vMtertkaNJw+t0t0QwrcXAFEXji6+llF2Pgkn2Lnu3v15SryOOlS6778?=
 =?iso-8859-1?Q?9yaUMZ+lJlqnKmC/pfMbToV9s+OU6Vc68gpUx85eHdUz0fFcohseqr1w?=
 =?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: 3884c595-a4d3-4f18-da87-08dbe6b5b51c
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2023 15:07:10.4846
 (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: GJ+sFDog2K3c8sadFSUh50CmZg+va1tgbeXoY1OiCyN2499jWLOwBA9zlOHfO4Nrm0ZbOhUNmNFHDD587h5bRTwzSrdRRC7aanYZi3TEkvE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB9893
X-Proofpoint-ORIG-GUID: iIUAExXcKKIPD3HLjMEp1ODdIT6pRgy1
X-Proofpoint-GUID: iIUAExXcKKIPD3HLjMEp1ODdIT6pRgy1
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-16_15,2023-11-16_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 malwarescore=0 phishscore=0 adultscore=0 spamscore=0 bulkscore=0
 mlxscore=0 mlxlogscore=999 clxscore=1011 impostorscore=0
 priorityscore=1501 suspectscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311160118


Hi Stefano,

Stefano Stabellini <sstabellini@kernel.org> writes:

> + Stewart, Vikram
>
> On Wed, 15 Nov 2023, Oleksandr Tyshchenko wrote:
>> On 15.11.23 14:33, Julien Grall wrote:
>> > Thanks for adding support for virtio-pci in Xen. I have some questions=
.
>> >=20
>> > On 15/11/2023 11:26, Sergiy Kibrik wrote:
>> >> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> >>
>> >> In order to enable more use-cases such as having multiple
>> >> device-models (Qemu) running in different backend domains which provi=
de
>> >> virtio-pci devices for the same guest, we allocate and expose one
>> >> PCI host bridge for every virtio backend domain for that guest.
>> >=20
>> > OOI, why do you need to expose one PCI host bridge for every stubdomai=
n?
>> >=20
>> > In fact looking at the next patch, it seems you are handling some of t=
he=20
>> > hostbridge request in Xen. This is adds a bit more confusion.
>> >=20
>> > I was expecting the virtual PCI device would be in the vPCI and each=20
>> > Device emulator would advertise which BDF they are covering.
>>=20
>>=20
>> This patch series only covers use-cases where the device emulator=20
>> handles the *entire* PCI Host bridge and PCI (virtio-pci) devices behind=
=20
>> it (i.e. Qemu). Also this patch series doesn't touch vPCI/PCI=20
>> pass-through resources, handling, accounting, nothing. From the=20
>> hypervisor we only need a help to intercept the config space accesses=20
>> happen in a range [GUEST_VIRTIO_PCI_ECAM_BASE ...=20
>> GUEST_VIRTIO_PCI_ECAM_BASE + GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE] and=20
>> forward them to the linked device emulator (if any), that's all.
>>=20
>> It is not possible (with current series) to run device emulators what
>> emulate only separate PCI (virtio-pci) devices. For it to be possible, I=
=20
>> think, much more changes are required than current patch series does.=20
>> There at least should be special PCI Host bridge emulation in Xen (or=20
>> reuse vPCI) for the integration. Also Xen should be in charge of forming=
=20
>> resulting PCI interrupt based on each PCI device level signaling (if we=
=20
>> use legacy interrupts), some kind of x86's XEN_DMOP_set_pci_intx_level,=
=20
>> etc. Please note, I am not saying this is not possible in general,=20
>> likely it is possible, but initial patch series doesn't cover these=20
>> use-cases)
>>
>> We expose one PCI host bridge per virtio backend domain. This is a=20
>> separate PCI host bridge to combine all virtio-pci devices running in=20
>> the same backend domain (in the same device emulator currently).
>> The examples:
>> - if only one domain runs Qemu which servers virtio-blk, virtio-net,=20
>> virtio-console devices for DomU - only single PCI Host bridge will be=20
>> exposed for DomU
>> - if we add another domain to run Qemu to serve additionally virtio-gpu,=
=20
>> virtio-input and virtio-snd for the *same* DomU - we expose second PCI=20
>> Host bridge for DomU
>>=20
>> I am afraid, we cannot end up exposing only single PCI Host bridge with=
=20
>> current model (if we use device emulators running in different domains=20
>> that handles the *entire* PCI Host bridges), this won't work.
> =20
>
> We were discussing the topic of vPCI and Virtio PCI just this morning
> with Stewart and Vikram. We also intend to make them work well together
> in the next couple of months (great timing!!)
>
> However, our thinking is to go with the other approach Julien
> suggested: a single PCI Root Complex emulated in Xen by vPCI. QEMU would
> register individual PCI devices against it.
>
> Vikram, Stewart, please comment. Our understanding is that it should be
> possible to make QEMU virtio-pci work with vPCI with relatively minor
> efforts and AMD volunteers to do the work in the next couple of months
> on the vPCI side.
>
>
> Although it should be possible to make both approaches work at the same
> time, given that it would seem that EPAM and AMD have very similar
> requirements, I suggest we work together and collaborate on a single
> approach going forward that works best for everyone.
>
>
> Let me start by saying that if we can get away with it, I think that a
> single PCI Root Complex in Xen would be best because it requires less
> complexity. Why emulate 2/3 PCI Root Complexes if we can emulate only
> one?

Well, in fact we tried similar setup, this was in the first version of
virtio-pci support. But we had a couple of issues with this. For
instance, this might conflict with PCI passthrough devices, with virtio
devices that have back-ends in different domains, etc. I am no saying
that this is impossible, but this just involves more moving parts.

With my vPCI patch series in place, hypervisor itself assigns BDFs for
passed-through devices. Toolstack needs to get this information to know
which BDFs are free and can be used by virtio-pci.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 15:27:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 15:27:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634471.989925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3eGi-0002Ip-PK; Thu, 16 Nov 2023 15:27:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634471.989925; Thu, 16 Nov 2023 15:27: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 1r3eGi-0002Ii-Lq; Thu, 16 Nov 2023 15:27:00 +0000
Received: by outflank-mailman (input) for mailman id 634471;
 Thu, 16 Nov 2023 15:26: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=UU04=G5=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r3eGh-0002IZ-9a
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 15:26:59 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20627.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93be9338-8494-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 16:26:57 +0100 (CET)
Received: from DM6PR07CA0094.namprd07.prod.outlook.com (2603:10b6:5:337::27)
 by SA1PR12MB7248.namprd12.prod.outlook.com (2603:10b6:806:2be::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.34; Thu, 16 Nov
 2023 15:26:52 +0000
Received: from DS2PEPF0000343B.namprd02.prod.outlook.com
 (2603:10b6:5:337:cafe::5d) by DM6PR07CA0094.outlook.office365.com
 (2603:10b6:5:337::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21 via Frontend
 Transport; Thu, 16 Nov 2023 15:26:52 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF0000343B.mail.protection.outlook.com (10.167.18.38) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.19 via Frontend Transport; Thu, 16 Nov 2023 15:26:51 +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.2507.32; Thu, 16 Nov
 2023 09:26:50 -0600
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.2507.32; Thu, 16 Nov
 2023 09:26:41 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 16 Nov 2023 09:26:39 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93be9338-8494-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aYC+soGsVm3R6cO6dwbB3yfjQo9KblIjECq4MDdYkDmSe8RxfZFpWIyH0DZQ0PNhZArKkPOO1F84bigwpjHgzQYCVRZsPYp22Ul+PAcr58aFEkwnPKyiQW4Af2UDZE6qticOUVrYRTGElqIqo+KKtyqsrZT6WpHsHEaDCz/LsHVlBzdaq/Ux8VqNHCB3xMD/hdY18+ABG1AQsO/Xhv0tYrUDEizq+PKqNKEmpUmLIea5n8j6LBPpiF3pb1XirpMNJT/RNFagKtAdpK5s1DsVhosE52YdcM+jcRcL4uhnsbrd2Kh5MMTgBAORX7SqirqY5YLIWcYZKn8zimqErkiVlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2cefHjYjOV+h/LZVsktYOyroyJEyrlH6VzZsfmy8UtQ=;
 b=aOoZFlyAcukCqLDh3+0JDpKtf12WpUbsduhsCuIXo87q56XSGLnWOL8p7svkl9bDJsjAsl6INHDav81wJtZhEU2oAS/aaiMswKflYmtriIkxjKhOdTCSpuAsUY7+E4onPpyqt+iMWE+3hfg77gBwQ2RZJ77PsiDkoRV6Fu6w/Q2l6lmwK4cg+3RuvVEcWYKM1z6DnPorIIlMruFHI0fFoE7c9P5/PVie9crXSGoQuLpmFX/cqDRFa2MXQKj+9645S1oo1vSZ7ZwJslyyff8Os+z3qWe0hfKQG6zHWrfPPtmoVy/Y4MFR4kf6F/cMBRn+amvSbDlcM0dQw71diWhajg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=2cefHjYjOV+h/LZVsktYOyroyJEyrlH6VzZsfmy8UtQ=;
 b=nCj356+9oU9MaIkCnV6u3OWHTQu2vInQ89UKmJqfnWeIoKT2jjrun7yPbKxadpUQbyUzqR312xxfEVQPcV1fteYKj8fwlW+pq6e+apir+tJGTYFAhRq3mqXhBV6LyARjco9ohsuiIiuOnTZRh8cayPqL8UjFFMzha8S9Hh0Eh2w=
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: <7964c688-c4b5-4688-9f53-88679bb931b3@amd.com>
Date: Thu, 16 Nov 2023 10:26:38 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
To: Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Stefano Stabellini <sstabellini@kernel.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Sergiy Kibrik
	<Sergiy_Kibrik@epam.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	"vikram.garhwal@amd.com" <vikram.garhwal@amd.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <875y2168ki.fsf@epam.com> <0999dc30-05ed-4afd-bb10-0128e2ca1d97@xen.org>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <0999dc30-05ed-4afd-bb10-0128e2ca1d97@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF0000343B:EE_|SA1PR12MB7248:EE_
X-MS-Office365-Filtering-Correlation-Id: dba55eab-86e3-4155-67d0-08dbe6b8755c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/LGjROwOizXB+iGNz2rDYmsjh6l41iqUFF4k4FxXLP6lt5kHzSSzBe2hsv+apDSOn9WR1C8fGZtfkxjSJh2w83z8fonvfaUcS4cWxoH2uUHm2t4RwrmOFIx5m0ZdtpyjmaDavcH1r0435PeN+BjgjDmNFgDJ4naw3e54LXOFA3Dz9cmgCOHg95Pe1hR8uycyL6Csro6HTGIVWV69l8Zf3UJ50EzI1NIsWtAGpyFwXYk7ecsE5dkkEVK1wPipPJzBkuMZS0wjWqWx7tJhGTrRTNbjfHmO9YIJLKCITDdmezK4FlNj8dShk9mQVfvuAHJ57AaAnQaX+CxXclDE48lT12lZXmhK7u39Q1LNa9YNMz5Xkxjc9e/IA8Os+7v4bErqEka+mHxCur7MqOGpQJW3ESJBtVF3iNxIRa2b300ksyD3FpKHhoSsqBxRLCi5Nq2Udpe3KRoBCyoh31Ib9w3rdpX4BFz5zDjooLHjfFgqRrMKOGVYtEUad1iBBnbeObN+w8VX8fJD5Q4s+T7DJFbXr4LhVTHi3qNW44nTiOUJY3Z64lLRhVjz+MfOTdvOmVbIvsEB+KCkOoG86bOdiH1Yt2rJhkpaQlqL4uCt0yvvyLws06shxIZ2GB5pyvNf6bjq2R9fwZGS6nTqPTSSqrpy4Ee0DYKMtdiy4x62McOxFuhYI0hfqduXVillJzPS7rbnA74Qu/QW5PVASSryZ/EOjGe68A0qLqSl3NMa53D7d33CuctC1D4svIn1+9aH4FubfdDKst+gUm9HoZ/pBp/mv0BFN4mkF+NcvOJf+yFk5ZI=
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:(13230031)(4636009)(39860400002)(136003)(396003)(376002)(346002)(230922051799003)(1800799009)(186009)(82310400011)(451199024)(64100799003)(46966006)(40470700004)(36840700001)(70586007)(16576012)(70206006)(54906003)(110136005)(478600001)(316002)(4744005)(31696002)(44832011)(966005)(86362001)(5660300002)(40460700003)(4326008)(8676002)(8936002)(2906002)(36756003)(36860700001)(2616005)(40480700001)(81166007)(356005)(41300700001)(82740400003)(83380400001)(26005)(47076005)(336012)(426003)(53546011)(31686004)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Nov 2023 15:26:51.8855
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dba55eab-86e3-4155-67d0-08dbe6b8755c
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:
	DS2PEPF0000343B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7248

On 11/16/23 10:12, Julien Grall wrote:
> Hi Volodymyr,
> 
> On 16/11/2023 15:07, Volodymyr Babchuk wrote:
>> With my vPCI patch series in place, hypervisor itself assigns BDFs for
>> passed-through devices. Toolstack needs to get this information to know
>> which BDFs are free and can be used by virtio-pci.
> 
> It sounds a bit odd to let the hypervisor to assign the BDFs. At least because there might be case where you want to specific vBDF (for instance this is the case with some intel graphic cards). This should be the toolstack job to say "I want to assign the pBDF to this vBDF".

Keep in mind we are also supporting dom0less PCI passthrough.

> 
> Do you have a link to the patch adding the logic in the hypervisor? I will comment there as well.

See add_virtual_device() in [1], specifically the line:

    pdev->vpci->guest_sbdf = PCI_SBDF(0, 0, new_dev_number, 0);

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00673.html


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 15:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 15:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634472.989934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3eHA-0002m8-1q; Thu, 16 Nov 2023 15:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634472.989934; Thu, 16 Nov 2023 15:27: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 1r3eH9-0002lz-VS; Thu, 16 Nov 2023 15:27:27 +0000
Received: by outflank-mailman (input) for mailman id 634472;
 Thu, 16 Nov 2023 15:27: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=o87b=G5=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1r3eH8-0002IZ-1l
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 15:27:26 +0000
Received: from sonic303-24.consmr.mail.gq1.yahoo.com
 (sonic303-24.consmr.mail.gq1.yahoo.com [98.137.64.205])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3668b95-8494-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 16:27:24 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic303.consmr.mail.gq1.yahoo.com with HTTP; Thu, 16 Nov 2023 15:27:21 +0000
Received: by hermes--production-bf1-5b945b6d47-ltjfc (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID ccd1b1143f79c7254c58c196e5823871; 
 Thu, 16 Nov 2023 15:27: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: a3668b95-8494-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1700148441; bh=ZrQzrLkYDFNLPOr3Xu5C+MYCMDn6Xm885CA5RPcvYOs=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=ZFR2xa9+IxQWg6o07n4WTwB8zW4Z7TCnMpqVcm+CDGayaWOyEd09EwD/3pZSPUDRkDoL6Kvf2xBFJmJKJ2DLlbYr/bYidse7vg7zzTvavj/qxtzvm2I4V1gZLsZzYE3woECx1qEYeJMJCyZee49KtXt0MPUKSxfmFK22k+Uo+YNZPdtU35DbJov9xJe+SVOWOPeypkSTjP3FXGwPAivEo5O3tWCb13qE4Hcuq9ZJYz7lyUTwhEZ64MN4nD1ek/GRtZFgk01GceEQng9RS0TZvUyJJ8BmPuKlM90aAxj99CffcTRNm5sxl6M15WlmBD0JTtBvR5S1KNW/rpdqsXRBgQ==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1700148441; bh=OrIHmcUZoVMsZEbOe0kdcKGm6SqtScgPMQBWBwRZNYj=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=e5F/U3nnAV4bUEO5VQqlQdzpFhLztU3Nac8WgQ+JDcy5HCEi/b4eGTnIbv7EZ3Ob42OcASW6OF/0pr5A8OzyDpHXgUOoyTEE1Hodm+4Q1zrQJJyosyvz8ZkZKu1dvy0WujKsUi645q7a8JghTf0OiJHY5PEqJ1Wmtvu87G64Mn0Sz7A6i4uzc0VTtvyKR0yJWkkp6AuQlRowFTQl4SB1qiNYW1YzDG4RkjOKjuu/myKyobC1MDoZqSWbUe+4vqpCjccs3XFy6NtaYRmfSj9hkgMm1jN6EMEXKkKukDbX6rBR6sfNXzxA4pwAjhy2peWJ+lHukWiKQ+9snVI030QVDA==
X-YMail-OSG: w.0zkl4VM1mArxkUMaDUGlU8qP7rbskN.TEzrVQ3BbTN9pgvm4l6c4BEnhEkaQE
 Md_ltLsE29NOzVApELQ1gr5IJAgqjM7VD5xHEg_tUhBF38gau3VhHOV14RcGMoR3Aj5.DWj2lHIq
 kf_wh6wwDVxw9e9gbxeAsVWJZHhOmJgZFCCx8x988xEWdJf5lSuv.01BlzDZg8RHSnmJcXMZqEfQ
 uCNVwuJLkxNJnz69WUSeqiuSV39_YlAcL1qI3sgDlwyKO19DUwsAal9vOcPhuRIssoDuQzmuGpKH
 HEM0Q9SidALa7oA.e3_8MPHAcdxldo.aIlRp8FLMHt1rPZs153SunmhH6NGVFGvvYW0s35TfWz06
 sqUSadZn9Gq8O9hGIf8Axi112ffGZXZCTPluUeWheCcU2qlUBhYGm9RRQIS1xPoKcCHReExwhtXP
 6MJW29hhvxgpsBK7FgKS4YG8Spvnin0rZmgmC70Z75QL3_0gXdZ.apAdZRu7hEclA0NoECkXPO6d
 WFj_tcHfE4HNAvHTnU2t5wFd.mpjIYFNxGehlpgVGG2RGodCpeWbfgsgIHJAx7WwU5ug15BCOogs
 llC7EQB2sWq1kYqoJGyI7R4T3kTGgbLwTuV4OgOsVQ4FKiZlF.J8.hEDmkF_GONTRnRd5cVjf1z0
 UR0Ruf4tYrdib22Mspbfh5z6i8PWjNXifjg.yXnyRlfdqn9N1_EdnHLtZsSYkJSWCW4u1Oyqt.g.
 pB2evnanjPrOcDRrURvz5Vh3my2.674Q0USpx6zeSE46Nu4nqxGCj40Uky6QdUg0Yr_5SN9Qj5d_
 RXxn9c2j2H1Oq.ntPeu9_CsFgcq7zf96EIc4tiPbpeAM21Q.ts1jw9ocdl10JqKEAoLE9H1KceuO
 af5syMI7gYwW5GQsy2l6pfLppWtBaVVoYm2br6KGaOalMwIqb9k0tBtNZtTR6VwwIC9Cl2gV6CHi
 bW9Rv70yHTxjr_3RvwdzwHyYf49_P1NpYekxYLysZqMkZidRAncaOD1qKEa5lXTlrBNVaKwFQG9b
 BYi_AjACULwAi8ptuyFVj4tlC.inH9iEwmGQ8Ae2_rRyqCkcRs1.n0JJAmTnVtOYuouT6eU73Wgo
 GQxS5ICUOGI9x9jAgq17wJugDwzsPquiuqyv.37QSSn.x9avVK3x6GAYav8gSOKA2fzay9tgf6zd
 BLlx6MikDyNVvrt8Uha4hzJx7KNKXkoqv26ygcQaorBjjuO1d77oBV2xH0Av_Hw1x6xK0STbHlx4
 _45YgsLcb73GxWtIYJJfr36auojA9_d6rya68dlEO7fXSWogYL6wcesLcNeIMgRbd3yQCopw2tAq
 DaBVmxEK3uA19RkzbP8oaLM.cksKukOiI9O0V5SOoyTQx7Z.RWoa5ZoVJjLwNgqixMyel.8OoAP4
 _wOlas8XEWHzy9qj21clXC5Dg6i.xyK2Vc_gmX3ZkOn_r3YbzbqG54czRAZMZlQkuo.a4Sa8Nozj
 qmSz84qu3m1yu7qr0hZ48Q423nFCPRCZWER6u_yqhbL25kwKQQ1rOP89q_1Arz36s6Fw1pYGgdHm
 E6ffVBaqRiraLZQdP_V1EPHTRI9er.VvrfViw.bC4hq031j7DGFQFolC7ckwUud6m67ZT02oDmnM
 QTaH3hnUrrURvwNaoAL_xXYfc59j2IieOJJ81grhu4ipdqgOdWk3gExhbNGU_Chil_S8lUL77jdA
 VTtKZLcW.3sSe9WesZ.CrJiIEvV9Oeey29nHJILYOKanr1u30qrEQXHWf.64HDvySDlA3bRs5k7a
 kmOSFw9W5H.F1J9YW7Buz6JCvd1HzvqPU70GkpJ8L9ZByyRnLIZ3X4SiVHojvxkFoXhe88dlZXB4
 S2mPyyLKWL2hoNvVs0wcaAemg_uoinh8ijKzcWJfbRexUlpZNpYv962zOOGpfgW8XlOtBj1UlHua
 gVMfnr5CcQyhTQzQ0IFL__EbeuFgcRZCr6NeU2PdqlkMsdyA4ecoYRJKQxJQprKYrgVObwqrf0ZQ
 qmSl9VibRbztRExmE67I09BM7mJM0JxfIXQwga6z4O11Xrv8JlmDvPz2eyec6FdKfq8Dn7c.kxWF
 kLTEHezCOkaOP7CToPXPNwfKifm7YKXR1iD2EsOFjAFgZmW9Zr1VAXZL5AlOi8lKSToIHD9uERnA
 mcwNINcEolPD5yIr8doMlE_n47FU4hqBywKrZnIRd3AqWAQ44ZjikhnZHeN3YKEqzBjCqtMUXbWe
 hKDVe7IFuTJRm.YRhHQFIeCBD24layQ--
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 129037e6-1b7b-416b-82f5-2591641fa3df
Message-ID: <405ed379-3e23-4d58-bc67-b27f18155241@netscape.net>
Date: Thu, 16 Nov 2023 10:27:14 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
To: Mario Marietto <marietto2008@gmail.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel <xen-devel@lists.xenproject.org>
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com>
 <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijOYJneLxEfss2BoY0Q4vafa+gVdQeyOfy7A_bTAA6QLw@mail.gmail.com>
 <0aeaf3a8-096b-4ae2-be40-6d39914b28ea@netscape.net>
 <alpine.DEB.2.22.394.2311151542030.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSigcyYVosn1X_aoCoZVAtYunkmmrNq_h4Wggud4bmr9Mrg@mail.gmail.com>
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <CA+1FSigcyYVosn1X_aoCoZVAtYunkmmrNq_h4Wggud4bmr9Mrg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mailer: WebService/1.1.21896 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 17589

On 11/15/2023 7:07 PM, Mario Marietto wrote:
> It didn't work. This is the scr file generated.
> 
> ext2load mmc 1:3 0x51000000 zImage-6.6.0-xen-iommu-dma-on-xen
> ext2load mmc 1:3 0x60000000 xen-4.17-armhf.ub

When you created the xen-4.17-armhf.ub file, do you remember what
the LOADADDR and entry point was? In my case those needed to be offset by 0x4000.

So the uboot version of Xen would created with with the offset of 0x4000 for
the LOADADDR and entry point from where the script loads it:

mkimage -A arm -T kernel -C none -a 0x60004000 -e 0x60004000 -d xen-4.17-armhf xen-4.17-armhf.ub

That is what has been working in my case.

> ext2load mmc 1:3 0x61000000 exynos5250-snow.dtb
> fdt addr 0x61000000
> fdt resize 1024
> fdt set /chosen \#address-cells <0x2>
> fdt set /chosen \#size-cells <0x2>
> fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=768 dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> fdt mknod /chosen dom0
> fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> fdt set /chosen/dom0 reg <0x0 0x51000000 0x0 0x87C200 >
> fdt set /chosen xen,dom0-bootargs "console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
> setenv fdt_high 0xffffffffffffffff
> bootm 0x60000000 - 0x61000000
> 
> So,I ran :
> 
> bash /boot/./uboot-script-gen -c /boot/xen-config -d .
> 
> it says :
> 
> Image Name:    
> Created:      Wed Nov 15 23:55:40 2023
> Image Type:   ARM Linux Kernel Image (uncompressed)
> Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
> Load Address: 60000000
> Entry Point:  60000000
> Generated uboot script xen-stef.scr, to be loaded at address 0x42000000:
> ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000
> 
> ok,I've booted xen with the suggested address :
> 
> ext2load mmc 1:3 0x42000000 xen-stef.scr; source 0x42000000
> 
> but it rebooted to the verification screen.
> 
> NB : I have applied both your suggestions (offset + your new start and end memory address. Maybe they auto exclude each other ?)
> 
> On Thu, Nov 16, 2023 at 12:49 AM Stefano Stabellini <sstabellini@kernel.org <mailto:sstabellini@kernel.org>> wrote:
> 
>     On Wed, 15 Nov 2023, Chuck Zmudzinski wrote:
>     > On 11/14/2023 6:43 PM, Mario Marietto wrote:
>     > > I hope that the informations below are correct :
>     >
>     > I don't know that they are correct. I have not spent the necessary time to
>     > determine what the correct values for MEMORY_START and MEMORY_END are for
>     > the Chromebook we are using. I just presumed, probably incorrectly, that
>     > the entire 2 GB memory is safe, but obviously that is not the case with
>     > this Chromebook. Most likely, it requires a good understanding of the
>     > particular way booting is done on a Chromebook, which seems to be different
>     > from other devices.
>     >
>     > I plan to eventually look into finding values for MEMORY_START and MEMORY_END
>     > sothe uboot-script-gen script computes usable values for loading Xen and dom0
>     > on this Chromebook in the script, but I might not get to that task immediately.
>     > I plan to look at it within the next week or so.
> 
>     A couple of suggestions. I noticed that the addresses you chose have a
>     higher alignment compared to the one chosen by Imagebuilder.
>     Imagebuilder uses 2MB:
> 
>     offset=$((2*1024*1024))
> 
>     I would think that a 2MB alignment should be sufficient, but you can
>     increase the alignment chosen by Imagebuilder simply by changing
>     "offset" at the top of uboot-script-gen. You seem to be used a 240MB
>     offset:
> 
>     offset=$((240*1024*1024))
> 
>     The other suggestion is about MEMORY_START and MEMORY_END. Looking at
>     the addresses you picked by hand, the following you should give you very
>     similar results:
> 
>     MEMORY_START=0x33000000
>     MEMORY_END=0x80000000
> 
> 
>     > > - the imagebuilder config file :
>     > >
>     > > MEMORY_START="0x0"
>     > > MEMORY_END="0x80000000"
>     > > LOAD_CMD="ext2load mmc 1:3"
>     > > BOOT_CMD="bootm"
>     > > DEVICE_TREE="exynos5250-snow.dtb"
>     > > XEN="xen-4.17-armhf"
>     > > XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
>     > > DOM0_KERNEL="zImage-6.6.0-xen-iommu-dma-on-xen"
>     > > DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>     > > UBOOT_SOURCE="xen.source"
>     > > UBOOT_SCRIPT="xen.scr"
>     > >
>     > > xen.source : (that does not work)
>     > >
>     > > mmc dev 1
>     > > ext2load mmc 1:3 0xE00000 zImage-6.6.0-xen-iommu-dma-on-xen
>     > > ext2load mmc 1:3 0x1800000 xen-4.17-armhf.ub
>     > > ext2load mmc 1:3 0x1A00000 exynos5250-snow.dtb
>     > > fdt addr 0x1A00000
>     > > fdt resize 1024
>     > > fdt set /chosen \#address-cells <0x2>
>     > > fdt set /chosen \#size-cells <0x2>
>     > > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
>     > > fdt mknod /chosen dom0
>     > > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
>     > > fdt set /chosen/dom0 reg <0x0 0xE00000 0x0 0x87C200 >
>     > > fdt set /chosen xen,dom0-bootargs "console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>     > > setenv fdt_high 0xffffffffffffffff
>     > > bootm 0x1800000 - 0x1A00000
>     > >
>     > > xen.source : (created by chuck and that works)
>     > >
>     > > mmc dev 1
>     > > ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
>     > > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
>     > > ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
>     > > fdt addr 0x5ffec000
>     > > fdt resize 1024
>     > > fdt set /chosen \#address-cells <0x2>
>     > > fdt set /chosen \#size-cells <0x2>
>     > > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1152M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
>     > > fdt mknod /chosen dom0
>     > > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
>     > > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
>     > > fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused --no-log"
>     > > bootm 0x51000000 - 0x5ffec000
>     > >
>     > > all the values that you see in this conf. files have been calculated by chuck by hand,because the values generated by the imagebuilder are wrong. The only value that's well calculated by the imagebuilder is 0x87C200
>     > >
>     > > - the size of all the binaries specified in the imagebuilder config file :
>     > >
>     > > exynos5250-snow.dtb = 46.6 KiB (47,769 byte)
>     > > zImage-6.6.0-xen-iommu-dma-on-xen = 8.5 MiB (8,897,024 byte)
>     > >
>     > >
>     > >
>     > > On Wed, Nov 15, 2023 at 12:17 AM Stefano Stabellini <sstabellini@kernel.org <mailto:sstabellini@kernel.org> <mailto:sstabellini@kernel.org <mailto:sstabellini@kernel.org>>> wrote:
>     > >
>     > >     Hi Mario,
>     > >
>     > >     I think we misunderstood each other :-)
>     > >
>     > >     MEMORY_START-MEMORY_END is not supposed to be computed: it is supposed
>     > >     to come from the memory node in device tree tree (/memory) of the
>     > >     platform. The idea is that you should not have to do any computations,
>     > >     but only reuse the same address range specified there.
>     > >
>     > >     Similarly in regards to "please post the size of all the binaries",
>     > >     this is just for debugging, so that I can see if there are any bugs with
>     > >     uboot-script-gen. I cannot debug the script unless I figure out what the
>     > >     problem is and the only way I can do that is with the binary sizes and
>     > >     redoing all the steps by hand.
>     > >
>     > >     The expected outcome is that once we resolve the problem you should be
>     > >     able to use uboot-script-gen without any additional computation needed.
>     > >
>     > >     Of course using static values is also OK.
>     > >
>     > >
>     > >     On Wed, 15 Nov 2023, Mario Marietto wrote:
>     > >     > ---> uboot-script-gen assumes that the memory range specified by MEMORY_START-MEMORY_END is valid and correct.
>     > >     >
>     > >     > Actually Chuck chose 0 as MEMORY_START and 0x800000 as MEMORY_END and these are stable values,they don't change. If you ask me to calculate
>     > >     > those values,it means that we need to compute these values. I imagine that to calculate these values is not easy.
>     > >     >
>     > >     > ---> To debug this kind of issues please post the size of all the binaries specified in the imagebuilder config file
>     > >     >
>     > >     > I imagine that I should also calculate those values. And again,I see a complication.
>     > >     >
>     > >     > I'm realizing that the method used by Chuck is easier because he uses stable values. In the end,there aren't any calculations to do and
>     > >     > since I'm looking for an easier method,not a more complicated one,I think that Chuck's method is good as is. 
>     > >     >
>     > >     > On Tue, Nov 14, 2023 at 11:51 PM Stefano Stabellini <sstabellini@kernel.org <mailto:sstabellini@kernel.org> <mailto:sstabellini@kernel.org <mailto:sstabellini@kernel.org>>> wrote:
>     > >     >       Hi Mario,
>     > >     >
>     > >     >       It is difficult to know how to change uboot-script-gen if we don't know
>     > >     >       why it is currently going wrong.
>     > >     >
>     > >     >       uboot-script-gen assumes that the memory range specified by
>     > >     >       MEMORY_START-MEMORY_END is valid and correct.
>     > >     >
>     > >     >       So if you specified a valid and correct memory range in your config file
>     > >     >       (0x41e00000-0x60000000) why is it failing?
>     > >     >
>     > >     >       The only thing uboot-script-gen does is choosing aligned addresses
>     > >     >       within the MEMORY_START-MEMORY_END range. The addresses are supposed not
>     > >     >       to overlap (meaning the initrd will not overwrite part of the kernel
>     > >     >       when loaded). If the issue is a bug in uboot-script-gen, such as the
>     > >     >       generated addresses overlap or they are not aligned, then we can fix the
>     > >     >       alignment or overlap bug. To debug this kind of issues please post:
>     > >     >       - the imagebuilder config file
>     > >     >       - the generate boot.source script
>     > >     >       - the size of all the binaries specified in the imagebuilder config file
>     > >     >
>     > >     >       On the other hand if 0x41e00000-0x60000000 is not a safe memory range to
>     > >     >       use, then you need to specify a different memory range.
>     > >     >
>     > >     >       Cheers,
>     > >     >
>     > >     >       Stefano
>     > >     >
>     > >     >
>     > >     >
>     > >     >       On Mon, 13 Nov 2023, Mario Marietto wrote:
>     > >     >       > Hello.
>     > >     >       >
>     > >     >       > I'm trying to find an easier way to the problem that you can read here :
>     > >     >       >
>     > >     >       > https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest <https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest> <https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest <https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest>>
>     > >     >       >
>     > >     >       > where Chuck says :
>     > >     >       >
>     > >     >       >  6. Create the u-boot shell commands that will be used to boot Xen and dom0.
>     > >     >       >
>     > >     >       > Create a file in /home/user (or any other directory) named bootxen.source with these contents :
>     > >     >       >
>     > >     >       >
>     > >     >       > mmc dev 1 && mmc rescan 1
>     > >     >       > ext2load mmc 1:3 0x42000000 zImage-6.1.61-stb-xen-cbe+
>     > >     >       > ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
>     > >     >       > ext2load mmc 1:3 0x5ffec000 exynos5250-snow-6.1.61-stb-xen-cbe+.dtb
>     > >     >       > fdt addr 0x5ffec000
>     > >     >       > fdt resize 1024
>     > >     >       > fdt set /chosen \#address-cells <0x2>
>     > >     >       > fdt set /chosen \#size-cells <0x2>
>     > >     >       > fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=1G dom0_max_vcpus=2 bootscrub=0 vwfi=native"
>     > >     >       > fdt mknod /chosen dom0
>     > >     >       > fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
>     > >     >       > fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x7D7200 >
>     > >     >       > fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>     > >     >       > bootm 0x51000000 - 0x5ffec000
>     > >     >       >
>     > >     >       > The hex value 0x7D7200 is the size of the zImage-6.1.61-stb-xen-cbe+ file, and that value is computed from the
>     > >     >       uboot-script-gen script
>     > >     >       > available from here :
>     > >     >       >
>     > >     >       >
>     > >     >       > https://gitlab.com/ViryaOS/imagebuilder <https://gitlab.com/ViryaOS/imagebuilder> <https://gitlab.com/ViryaOS/imagebuilder <https://gitlab.com/ViryaOS/imagebuilder>>
>     > >     >       >
>     > >     >       >
>     > >     >       > This is the interesting point :
>     > >     >       >
>     > >     >       >
>     > >     >       > Please note that most of the other values in the script generated by the ViryaOS uboot-script-gen do not work correctly with
>     > >     >       the Chromebook
>     > >     >       > Snow, but the script does correctly calculate the size of the dom0 Linux kernel image.
>     > >     >       >
>     > >     >       >
>     > >     >       > Some time ago Stefano suggested to put the values below for MEMORY_START and MEMORY_END inside the xen-config file :
>     > >     >       >
>     > >     >       >
>     > >     >       > nano xen-config file :
>     > >     >       >
>     > >     >       >
>     > >     >       > MEMORY_START="0x41e00000"
>     > >     >       > MEMORY_END="0x60000000"
>     > >     >       > LOAD_CMD="ext2load mmc 1:3"
>     > >     >       > BOOT_CMD="bootm"
>     > >     >       > DEVICE_TREE="exynos5250-snow.dtb"
>     > >     >       > XEN="xen-4.17-armhf"
>     > >     >       > XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=768M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
>     > >     >       > DOM0_KERNEL="zImage-6.6.0-xen-dma-mapping"
>     > >     >       > DOM0_CMD="console=tty earlycon=xen earlyprintk=xen root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused"
>     > >     >       > UBOOT_SOURCE="xen.source"
>     > >     >       >
>     > >     >       >
>     > >     >       > bash ./uboot-script-gen -c xen-config -d .
>     > >     >       >
>     > >     >       >
>     > >     >       > Image Name:    
>     > >     >       > Created:      Thu Nov  2 20:59:24 2023
>     > >     >       > Image Type:   ARM Linux Kernel Image (uncompressed)
>     > >     >       > Data Size:    884744 Bytes = 864.01 KiB = 0.84 MiB
>     > >     >       > Load Address: 42c00000
>     > >     >       > Entry Point:  42c00000
>     > >     >       >
>     > >     >       >
>     > >     >       > Generated uboot script xen.scr, to be loaded at address 0x42000000:
>     > >     >       > ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
>     > >     >       >
>     > >     >       >
>     > >     >       > and I tried to boot Xen and Linux 6.6 as dom0 :
>     > >     >       >
>     > >     >       > SMDK5250 # mmc dev 1
>     > >     >       > SMDK5250 # ext2load mmc 1:3 0x42000000 xen.scr; source 0x42000000
>     > >     >       > but it did not work : it reboots on the verification screen.
>     > >     >       >
>     > >     >       > --
>     > >     >       > Mario.
>     > >     >       >
>     > >     >       >
>     > >     >
>     > >     >
>     > >     >
>     > >     > --
>     > >     > Mario.
>     > >     >
>     > >     >
>     > >
>     > >
>     > >
>     > > --
>     > > Mario.
>     > 
> 
> 
> 
> -- 
> Mario.



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 15:36:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 15:36:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634479.989944 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ePk-0006N7-WF; Thu, 16 Nov 2023 15:36:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634479.989944; Thu, 16 Nov 2023 15: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 1r3ePk-0006N0-Tj; Thu, 16 Nov 2023 15:36:20 +0000
Received: by outflank-mailman (input) for mailman id 634479;
 Thu, 16 Nov 2023 15:36: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=qNyY=G5=linaro.org=leo.yan@srs-se1.protection.inumbo.net>)
 id 1r3ePk-0006Mu-IT
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 15:36:20 +0000
Received: from mail-pl1-x634.google.com (mail-pl1-x634.google.com
 [2607:f8b0:4864:20::634])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1e863d7-8495-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 16:36:17 +0100 (CET)
Received: by mail-pl1-x634.google.com with SMTP id
 d9443c01a7336-1cc58219376so8373825ad.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 07:36:17 -0800 (PST)
Received: from leoy-huanghe ([98.98.115.147]) by smtp.gmail.com with ESMTPSA id
 d13-20020a170902c18d00b001c60635c13esm9343665pld.115.2023.11.16.07.36.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 07:36:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1e863d7-8495-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1700148976; x=1700753776; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=6Txd2MhpM35Heuel0TWSciO+NHURp/X/7lvvpbyBBHg=;
        b=bBdbYj5udQzlVzo9EzqIiqH1TsXIDVLg6l6cfspP8iufe1zUDLpw8/zL9kNlOs0/SR
         a06dTLrr4MhUk3SExRY6753WcgmBiZS4BlUPP3DnUrgnasOI8B5dTi8WcqPWagHzE2X5
         Q3nHWAISrIMCo8+aEYLjCPDraxSsQgBnSiNRa27xBRAtDPVgyjmU7MjP6seOT0JLtdbK
         9NlQoS07Ryrh8LK0HloK5H2I9xDNCDXGHq/06NXJ/JHjFEkxpcmfnQIrbrTRVT7M9ivw
         b8NdEP7FJn031H0MJK2zATcYVQP1t8Gr0+naaZZGg4gj4eiR0jLGnLDezSYQ6acg9/Lq
         4kSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700148976; x=1700753776;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6Txd2MhpM35Heuel0TWSciO+NHURp/X/7lvvpbyBBHg=;
        b=apcNJlPvnb08jh5Qnct2OpwygRwm5/Yv4ToZnfkF0lEgvR9diCv3+dqryyMOuNoHtr
         nAWho/hSMJCOQW2nGXqqKkD6VLtB+2XkV5iwhaFTxzSWFoko9UxQH5Swc98fEj5jKznc
         SnFsMgUbDODCPXee4CEOVTwEHScuKFIEJ5RtvuY328U8dUnTwAFtFH+/pDodBE8HXsc0
         3FxZXCYZ8cUA59AsxB6AF4FC+GEmkmatbD1MrT73zsJ2C1PNelnhqkRrAN9NcibjRkhS
         /5mRictKW7vBem/L6m7IjoxAwA32uj/oFmEoUv3CYXC3Q895s4EcOjTtIlUgMJYNukKz
         f2QQ==
X-Gm-Message-State: AOJu0Yy+ZLeIVjRJcIZIWcB5stuXK9mxNZfs84nfLpOgP5q1WoB3I6TR
	XSByj9QIRktUPXOnkG3zQ9VKLA==
X-Google-Smtp-Source: AGHT+IHhPWM6qEWMj/Rk7HGlKBKChFJ30r1OqZ/zCBsyz5TCyZK5uk7Lff+82ygGS7qFmWZhIEcyDA==
X-Received: by 2002:a17:903:603:b0:1ca:20a0:7b08 with SMTP id kg3-20020a170903060300b001ca20a07b08mr8673893plb.50.1700148976301;
        Thu, 16 Nov 2023 07:36:16 -0800 (PST)
Date: Thu, 16 Nov 2023 23:36:04 +0800
From: Leo Yan <leo.yan@linaro.org>
To: Julien Grall <julien@xen.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Alexey Klimov <alexey.klimov@linaro.org>,
	Luca Fancellu <Luca.Fancellu@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Rahul Singh <Rahul.Singh@arm.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v4 2/2] xen/arm: Enlarge identity map space to 10TB
Message-ID: <20231116153539.GA30433@leoy-huanghe>
References: <d3952200-9edb-4de0-94e3-c00c571a10b9@xen.org>
 <794B0D71-70A7-4546-98E0-EC01573E0D89@arm.com>
 <990b21a3-f8c7-4d02-a8ac-63d31794a76d@xen.org>
 <alpine.DEB.2.22.394.2310171258330.965337@ubuntu-linux-20-04-desktop>
 <4fc83e61-1e57-4f75-b017-7045842165e5@xen.org>
 <69be876f-4238-4041-a6ff-50f7f6487d5d@xen.org>
 <20231019093559.GA105208@leoy-huanghe.lan>
 <80a5c950-242b-467c-8764-8f06e19dc5d4@xen.org>
 <20231106094524.GD90848@leoy-huanghe.lan>
 <81ec6ac0-8414-41d1-bfe3-ffa6c5750036@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <81ec6ac0-8414-41d1-bfe3-ffa6c5750036@xen.org>

On Thu, Nov 16, 2023 at 02:21:18PM +0000, Julien Grall wrote:

[...]

> I have done the changes and directly committed the series. So no need to
> respin.

Thanks a lot, Julien!

Leo


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 15:40:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 15:40:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634483.989955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3eTD-0007rh-FT; Thu, 16 Nov 2023 15:39:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634483.989955; Thu, 16 Nov 2023 15:39: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 1r3eTD-0007ra-Cn; Thu, 16 Nov 2023 15:39:55 +0000
Received: by outflank-mailman (input) for mailman id 634483;
 Thu, 16 Nov 2023 15:39: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 1r3eTC-0007rQ-NX; Thu, 16 Nov 2023 15:39: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 1r3eTC-00008L-IM; Thu, 16 Nov 2023 15:39: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 1r3eTC-0006GW-4D; Thu, 16 Nov 2023 15:39:54 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3eTB-0002mj-Ss; Thu, 16 Nov 2023 15: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=5UeMAQ80UvMNKARfkoN8cLARoReOYJ9pb8dn5Vbk4J8=; b=OQJGT4dKhV6ixQppHNMMn5dMun
	UM0cySpjHuUQHnG9LWE5KZtkqbA/BnzDLgUdKBZlLvALWF6VJoEb6z5QpDCOIGyQ8Dd8iZCPnJ7Lb
	J0d6Z+xlF2BAsz8CsS2/0+0ipxzWPuZ/3ZQ/+CZk7OYZsDcrFB7w6eBhaooSWXbWDxG0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183769-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183769: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl: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-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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=fb62aa714d72349722d63b32a5a6d20a677f39e0
X-Osstest-Versions-That:
    xen=7ad0c774e474f6d95dfda868d876af507d399657
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Nov 2023 15:39:53 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail blocked in 183765
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183765
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183765
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183765
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183765
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183765
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183765
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183765
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183765
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183765
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183765
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183765
 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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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-credit2  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-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-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-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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  fb62aa714d72349722d63b32a5a6d20a677f39e0
baseline version:
 xen                  7ad0c774e474f6d95dfda868d876af507d399657

Last test of basis   183765  2023-11-15 13:50:28 Z    1 days
Testing same since   183769  2023-11-16 07:38:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Stefano Stabellini <sstabellini@kernel.org>
  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                                          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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   7ad0c774e4..fb62aa714d  fb62aa714d72349722d63b32a5a6d20a677f39e0 -> master


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 15:58:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 15:58:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634490.989973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3elR-0005eS-27; Thu, 16 Nov 2023 15:58:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634490.989973; Thu, 16 Nov 2023 15:58: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 1r3elQ-0005eL-Uv; Thu, 16 Nov 2023 15:58:44 +0000
Received: by outflank-mailman (input) for mailman id 634490;
 Thu, 16 Nov 2023 15:58: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 1r3elP-0005eF-Vd
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 15:58: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 1r3elO-0000Tj-NJ; Thu, 16 Nov 2023 15:58:42 +0000
Received: from [15.248.3.7] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3elO-0006lX-FG; Thu, 16 Nov 2023 15:58: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=HcA4579tjUEVfG3KP2oW57B4h5OKYkh/oCPvM5yjEUY=; b=jwm0Gl+siPLtootk/uwcS7O3KE
	nsgMePxEHq4Smx2fE/SVL2PM17TzeZb8soWr1LfQ9yRpMbBlgAHzoKaSJmqK8Zs/6+EGqDMdGa7JP
	mtG6pqt/Ux6bIt98ovwAZCEtAhb8IFLFQv7Jk4fsjR6ydH2c356GCC2ndO6LemMdeuA4=;
Message-ID: <7c5f7a8d-a30c-455d-a44b-384c0f242741@xen.org>
Date: Thu, 16 Nov 2023 15:58:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-GB
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 "vikram.garhwal@amd.com" <vikram.garhwal@amd.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <875y2168ki.fsf@epam.com> <0999dc30-05ed-4afd-bb10-0128e2ca1d97@xen.org>
 <7964c688-c4b5-4688-9f53-88679bb931b3@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <7964c688-c4b5-4688-9f53-88679bb931b3@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 16/11/2023 15:26, Stewart Hildebrand wrote:
> On 11/16/23 10:12, Julien Grall wrote:
>> Hi Volodymyr,
>>
>> On 16/11/2023 15:07, Volodymyr Babchuk wrote:
>>> With my vPCI patch series in place, hypervisor itself assigns BDFs for
>>> passed-through devices. Toolstack needs to get this information to know
>>> which BDFs are free and can be used by virtio-pci.
>>
>> It sounds a bit odd to let the hypervisor to assign the BDFs. At least because there might be case where you want to specific vBDF (for instance this is the case with some intel graphic cards). This should be the toolstack job to say "I want to assign the pBDF to this vBDF".
> 
> Keep in mind we are also supporting dom0less PCI passthrough.
Right, but even with that in mind, I expect the Device-Tree to provide 
the details where a given PCI is assigned.

You could have logic for assigning the BDF automagically. But that 
should be part of dom0less, not deep into the vPCI code.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 16:07:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 16:07:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634494.989983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3etL-0000Ba-PA; Thu, 16 Nov 2023 16:06:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634494.989983; Thu, 16 Nov 2023 16:06: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 1r3etL-0000BT-MX; Thu, 16 Nov 2023 16:06:55 +0000
Received: by outflank-mailman (input) for mailman id 634494;
 Thu, 16 Nov 2023 16:06: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 1r3etK-0000BL-BV
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 16:06: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 1r3etK-0001Ap-12; Thu, 16 Nov 2023 16:06:54 +0000
Received: from [15.248.3.7] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3etJ-0007CK-QE; Thu, 16 Nov 2023 16:06: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=I8F5bpET6P5qhCrDl1XuqlUr3OKVKTVGIJmoUJIjkIU=; b=1SKF1GjXbPgnTxjSx5bMeVvSw2
	tiTJ+X4Bfsr5hQcjOKFcs+Wk/5l7SHWvtaKqJiItRqBAMtoiS4/Ny5eQ7FTrbu56sMbbLZpKtDAGa
	OeHaxkL0DFiAiuJ1jsg3Q95lgAvg6yMFNfh10oobIrBrkSf/5vGIdqVsGrFSSkq/DVps=;
Message-ID: <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
Date: Thu, 16 Nov 2023 16:06:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Volodymyr,

This patch was mentioned in another context about allocating the BDF. So 
I thought I would comment here as well.

On 12/10/2023 23:09, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Assign SBDF to the PCI devices being passed through with bus 0.
> The resulting topology is where PCIe devices reside on the bus 0 of the
> root complex itself (embedded endpoints).
> This implementation is limited to 32 devices which are allowed on
> a single PCI bus.
> 
> Please note, that at the moment only function 0 of a multifunction
> device can be passed through.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

Your signed-off-by should be added even if you are only sending the 
patch on behalf of Oleksandr. This is part of the DCO [1]

> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 5e34d0092a..7c46a2d3f4 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -36,6 +36,52 @@ extern vpci_register_init_t *const __start_vpci_array[];
>   extern vpci_register_init_t *const __end_vpci_array[];
>   #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
>   
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +static int add_virtual_device(struct pci_dev *pdev)
> +{
> +    struct domain *d = pdev->domain;
> +    unsigned long new_dev_number;
> +
> +    if ( is_hardware_domain(d) )
> +        return 0;
> +
> +    ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> +
> +    /*
> +     * Each PCI bus supports 32 devices/slots at max or up to 256 when
> +     * there are multi-function ones which are not yet supported.
> +     */
> +    if ( pdev->info.is_extfn && !pdev->info.is_virtfn )
> +    {
> +        gdprintk(XENLOG_ERR, "%pp: only function 0 passthrough supported\n",
> +                 &pdev->sbdf);
> +        return -EOPNOTSUPP;
> +    }
> +    new_dev_number = find_first_zero_bit(d->vpci_dev_assigned_map,
> +                                         VPCI_MAX_VIRT_DEV);

IIUC, this means that Xen will allocate the BDF. I think this will 
become a problem quite quickly as some of the PCI may need to be 
assigned at a specific vBDF (I have the intel graphic card in mind).

Also, xl allows you to specificy the slot (e.g. <bdf>@<vslot>) which 
would not work with this approach.

For dom0less passthrough, I feel the virtual BDF should always be 
specified in device-tree. When a domain is created after boot, then I 
think you want to support <bdf>@<vslot> where <vslot> is optional.

[1] https://cert-manager.io/docs/contributing/sign-off/

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 16:16:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 16:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634498.989992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3f2C-0003G2-QA; Thu, 16 Nov 2023 16:16:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634498.989992; Thu, 16 Nov 2023 16: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 1r3f2C-0003Fv-NF; Thu, 16 Nov 2023 16:16:04 +0000
Received: by outflank-mailman (input) for mailman id 634498;
 Thu, 16 Nov 2023 16: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=cdtJ=G5=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1r3f2B-0003Fp-Ev
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 16:16:03 +0000
Received: from smarthost01b.sbp.mail.zen.net.uk
 (smarthost01b.sbp.mail.zen.net.uk [212.23.1.3])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d0660ff-849b-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 17:15:58 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01b.sbp.mail.zen.net.uk with esmtpsa (TLS1.0) tls
 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (Exim 4.95)
 (envelope-from <james@dingwall.me.uk>) id 1r3f25-008r4B-Gk
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 16:15:57 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 7379C8A255A
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 16:15:56 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([127.0.0.1])
 by localhost (mail0.xen.dingwall.me.uk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id y98fW0nheVOU for <xen-devel@lists.xenproject.org>;
 Thu, 16 Nov 2023 16:15:56 +0000 (GMT)
Received: from behemoth.dingwall.me.uk (behemoth.dingwall.me.uk
 [IPv6:2a02:8010:698e:302::c0a8:105])
 by dingwall.me.uk (Postfix) with ESMTP id 428088A2555
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 16:15:56 +0000 (GMT)
Received: by behemoth.dingwall.me.uk (Postfix, from userid 1000)
 id 8BF42B2A8F0; Thu, 16 Nov 2023 16:15:55 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d0660ff-849b-11ee-9b0e-b553b5be7939
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Thu, 16 Nov 2023 16:15:55 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: xen-devel@lists.xenproject.org
Subject: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Message-ID: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="YEu8yWOaMoSMZV1p"
Content-Disposition: inline
X-Originating-smarthost01b-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189


--YEu8yWOaMoSMZV1p
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Hi,

Per the msr_relaxed documentation:

   "If using this option is necessary to fix an issue, please report a bug."

After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
started experiencing a BSOD at boot with one of our Windows guests.  We found
that enabling `msr_relaxed = 1` in the guest configuration has resolved the
problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
the following messages were caught as the BSOD happened:

(XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
(XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
(XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0

I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
series from last month:

https://patchwork.kernel.org/project/xen-devel/list/?series=796550

Picking out just a small part of that fixes the problem for us. Although the
the patch is against 4.15.5 I think it would be relevant to more recent
releases too.

Thanks,
James

--YEu8yWOaMoSMZV1p
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="msr_temperature_target.patch"

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 54023a92587..3f64471c8a8 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3259,6 +3259,14 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
         if ( !nvmx_msr_read_intercept(msr, msr_content) )
             goto gp_fault;
         break;
+
+    case MSR_TEMPERATURE_TARGET:
+        if ( !rdmsr_safe(msr, *msr_content) )
+            break;
+        /* RO for guests, MSR_PLATFORM_INFO bits set accordingly in msr.c to indicate lack of write
+         * support. */
+        goto gp_fault;
+
     case MSR_IA32_MISC_ENABLE:
         rdmsrl(MSR_IA32_MISC_ENABLE, *msr_content);
         /* Debug Trace Store is not supported. */
diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index ed97b1d6fcc..eb9eb45e820 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -976,6 +976,9 @@ static int read_msr(unsigned int reg, uint64_t *val,
         *val = 0;
         return X86EMUL_OKAY;
 
+    case MSR_TEMPERATURE_TARGET:
+        goto normal;
+
     case MSR_P6_PERFCTR(0) ... MSR_P6_PERFCTR(7):
     case MSR_P6_EVNTSEL(0) ... MSR_P6_EVNTSEL(3):
     case MSR_CORE_PERF_FIXED_CTR0 ... MSR_CORE_PERF_FIXED_CTR2:
diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h
index 8b3ad575dbc..34e800fdc01 100644
--- a/xen/include/asm-x86/msr-index.h
+++ b/xen/include/asm-x86/msr-index.h
@@ -498,6 +498,9 @@
 #define MSR_IA32_MISC_ENABLE_XD_DISABLE	(1ULL << 34)
 
 #define MSR_IA32_TSC_DEADLINE		0x000006E0
+
+#define MSR_TEMPERATURE_TARGET		0x000001a2
+
 #define MSR_IA32_ENERGY_PERF_BIAS	0x000001b0
 
 /* Platform Shared Resource MSRs */

--YEu8yWOaMoSMZV1p--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 16:21:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 16:21:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634503.990003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3f7E-0005CC-Dq; Thu, 16 Nov 2023 16:21:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634503.990003; Thu, 16 Nov 2023 16:21: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 1r3f7E-0005C5-9q; Thu, 16 Nov 2023 16:21:16 +0000
Received: by outflank-mailman (input) for mailman id 634503;
 Thu, 16 Nov 2023 16:21: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=X1T5=G5=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1r3f7C-0005By-Kq
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 16:21:14 +0000
Received: from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de
 [85.215.255.50]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27f54963-849c-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 17:21:11 +0100 (CET)
Received: from sender by smtp.strato.de (RZmta 49.9.1 AUTH)
 with ESMTPSA id g1b15czAGGKuWDC
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Thu, 16 Nov 2023 17:20:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27f54963-849c-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; t=1700151656; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=OVWmPaWyQ0SBfLbuvwYsVMQXoZm/cK6W6D2YO9LHWUdpobOgvRy96y0maiyQ/N5FuS
    gqZtA/NvToqfxepXV8sfDOfcdEFKU1ZwQooC6eNTto+H0zT54R3GEd41WCRfl5E/t1qP
    P7XnAXakmnGXIhQVjPiTDyuNZTJSuq+B3/CBIEyYiy98yDkPbvd+SMU15PxQN5PY9EOF
    9gmKYxPwf8wdIKxrcx+c/za8oyOu8qjs4vCdKwlGFqIpu+6dG2X2oG5QZZPkdGgR2FlM
    oqXiuFwT++3GTXjxJKIqlXV6/PSEn7v4j8en08coHUmi68XF+fha6mLOvlCFL7whgN4A
    +ToQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1700151656;
    s=strato-dkim-0002; d=strato.com;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=eMeji3C6FNAgNGJKxUonP8+P4cFYr4LlEyq7GSw2XxE=;
    b=Mg6WVT8q3uON6RIQaMIW1NFMKLXkEGyoIX2JaWD8bdZ3KwFh2QLqLtethYBWyx/BHv
    9+iBRPyeHBM+nUwowVN4pKf5vRExxP3y2kAPQcojdKmQCA478apjX3DOKCvXswTgBYSW
    xZX7GLlYxsZ3TP7WL0w+Nk07fOTS0MogKWO+06UlHI9ZWnPQoND+qwtnrMjnGIQsNRlE
    Kll8qZFRuPnoH+/khzKrw9J2/ATdZH3sWKDhQRd5wjZidy3S882EvWON0OHyz4szR1FH
    WKNyHQo340q9pZxuVvrgkf16YSMdQOB39dCz1SfCBdvZZZavQVUTw5uZ94UR2JKfheiM
    aMGA==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo01
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1700151656;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=eMeji3C6FNAgNGJKxUonP8+P4cFYr4LlEyq7GSw2XxE=;
    b=cmBGqfJpNu3h0la/22IYL9jEz3iBCvmY7ShO2BIyG8DLF+BADNqXi5OB/8etD1b6VU
    Z1EG7b52ftA6LMn9gnhP0KNZpdaa7iEFiJ3OPXcJ3JZUO3h+cqnx3uCcb6HB/CIRZ4Pw
    oKvuWDAMl3OKNVgSQ/F3wJ/5ZF9lw3C6P8ob4ROKQ2f/DI4J8Y+SEpBnbovoAC5VGt6W
    e4AQxsTtH0oDDmVf9LsVXXGnTwfJzHTsWxJHoXnW2MS9/a1jM+IsY+tDNbnU+tBLeXgQ
    9i2VIf3EE2zwoUyFxAvlDghLIr7S8ODh3WmS1X5JIUS9iPUyqf2aVaIn/KPnr6lgQK71
    unGA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1700151656;
    s=strato-dkim-0003; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=eMeji3C6FNAgNGJKxUonP8+P4cFYr4LlEyq7GSw2XxE=;
    b=Vxb0C3ndowyR+Bjmy4ZVRD/oG3wedXYMMO9EPqG/K4Igu82ZXtznlIxJRFjyczhX6e
    w2NCjP43AB0MMBSmvjCQ==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR5BhaIaRnsNaqJN2h0dTFZeqQ89seVgD7Tlo9gNQ=="
Date: Thu, 16 Nov 2023 17:20:48 +0100
From: Olaf Hering <olaf@aepfle.de>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, Henry.Wang@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 for-4.18] SUPPORT.md: Define support lifetime
Message-ID: <20231116172048.0ca018e7.olaf@aepfle.de>
In-Reply-To: <20231115121632.63868-1-julien@xen.org>
References: <20231115121632.63868-1-julien@xen.org>
X-Mailer: Claws Mail 20230817T113819.a897c59c hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/0L5YPd88iNXT7OqukmtQFw_";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/0L5YPd88iNXT7OqukmtQFw_
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Wed, 15 Nov 2023 12:16:32 +0000 Julien Grall <julien@xen.org>:

> +++ b/SUPPORT.md
...
>  Release Notes
>  : <a href=3D"https://wiki.xenproject.org/wiki/Xen_Project_X.YY_Release_N=
otes">RN</a>


This X.YY needs to be adjusted as well. Hopefully this detail is mentioned =
in the release-process.txt.


Olaf

--Sig_/0L5YPd88iNXT7OqukmtQFw_
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

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

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmVWQWAACgkQ86SN7mm1
DoAylQ/+KZg51AyaQrYzgOGn2GJR79ZVgCsfd+7yfi7DYe3+P8rSN4t3mu/eDez+
uIeOh7VQ4uDWmktqCbUJdlPK124lWtWbfQPa2JPFNT4X6AIDn0PiXnLIyPucuzJI
ucOireNt17ou3cdkrpvxOejsYzO6F/aG2Q0U1lCXgzSFgviYYPcyhyOgluasy/Y2
7+trqOu0/JlyKfdT2ivqEKOG8FExDbf1vSO16Wa623nAYg7ygPmm8pUsWUGiIWp0
fJdz+1cew2PksSkqJNxJjYoGA259VyNYjuk1TwreZTik8f+kcKJ+cuuRBFa3lRFx
ZszLohLbfnH13IFkxnirmHGa2yU+GQSPI+UVIVu7dhmSIfBzBdbcF2ZLrjFd+kuW
OYQfwCH9EoW8/6QCXDbHpy5cV8ko8BcbMsSBJA+WM0ki6dHqVgnk/FzRIrEtv0A5
W0DqbwxdDoABpIcs7wvxHBVKwtgo3sQpwIjBkBjuM0IX1O+QEskWmjRW1cuZLJgm
kc5D1VQigrmRTXyT19FS65esU7rRvlxGLEfGpRjEtFaMGVj2DcKFitYg5qvzBQqh
AfiiJQX9ASsoiT8+zSzX/O9BKwP8HuoWzkJHjnsC8ovtN8GzS5KjiNrzVYuWlGWR
iNFxv3N+F8ZHDgt3oZMrLBDLX+k+qXEdY/ZyZzk2L5hyxz+yDSQ=
=qyh3
-----END PGP SIGNATURE-----

--Sig_/0L5YPd88iNXT7OqukmtQFw_--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 16:33:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 16:33:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634507.990012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3fIV-0000Du-Cz; Thu, 16 Nov 2023 16:32:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634507.990012; Thu, 16 Nov 2023 16: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 1r3fIV-0000Dn-AJ; Thu, 16 Nov 2023 16:32:55 +0000
Received: by outflank-mailman (input) for mailman id 634507;
 Thu, 16 Nov 2023 16: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=Z/7J=G5=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r3fIT-0000Dh-M1
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 16:32:53 +0000
Received: from mail-ed1-x52f.google.com (mail-ed1-x52f.google.com
 [2a00:1450:4864:20::52f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c91d5c62-849d-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 17:32:51 +0100 (CET)
Received: by mail-ed1-x52f.google.com with SMTP id
 4fb4d7f45d1cf-53dd752685fso1536291a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 08:32:51 -0800 (PST)
Received: from [192.168.107.1] ([31.94.60.174])
 by smtp.gmail.com with ESMTPSA id
 o9-20020a1709061b0900b0099bcf9c2ec6sm8593869ejg.75.2023.11.16.08.32.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 16 Nov 2023 08:32:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c91d5c62-849d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700152371; x=1700757171; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JrlYKMC7hY8P2jTpDF4+NhepjJbucTvp2KGUkCNFWnE=;
        b=shWj0pNEavvvz0CvmLMEJxFhb4S4elK3AA5fuaABhud8s6hrhWHU1VsUTT4q2eFSgO
         Usp7fwt3bTrvVaxHmeSvX6X/C28HhQ5bwtjsTw2SSO5cjQvt51DX1YX358t2oH+Faoak
         oJBTgDkz0frADYjz0JatRgjp3wvGrxbVSt8rk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700152371; x=1700757171;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=JrlYKMC7hY8P2jTpDF4+NhepjJbucTvp2KGUkCNFWnE=;
        b=BvDr1obwb89W6LReC41q3ucPyYSKcPAxeg09jr+Gp/3edkH3BLlp4RVLIlGtyrRdCA
         b7zh4ebqe5BAWSJ63d1OjllhOH7wBc9GGFmBCjJ1Ugy4cCqSkTzLA74g0O+nxMQMkN2N
         KbL4h65j4zUOZhsnLpa/buZj4WDhglXnYf5ExtqQXegvbwqkUWTXcnw17ORW58Q53ur1
         VcxbhpUoczQy8htqMK1UZjXk8p/vIGLsRSXfdacvCUs6QrQ7GSGttIphKbQl9+6NDF+W
         3LW1Oq/AsoV56OY2poVkf8rxOIVK667q955x6NynHx/MaHSdhc29EKnE/tcObrXWb1oT
         Qizw==
X-Gm-Message-State: AOJu0YxG6g25zSEca4m//kpnLe1vJ65PuC6rglBLbFtUyT6pGdDGGzru
	LK2otcqfTb4saGb25XcnB6Dx6R2gcNlDsRzXY1zUMg==
X-Google-Smtp-Source: AGHT+IHDTLKSd0kScWg4b1ilEtwDkiK0ZPx8QAhSbaam8Hf+uwL6cGeTqznTyxi/ZrDyQbkn/K0rPQ==
X-Received: by 2002:a17:906:7cb:b0:9ae:673a:88c8 with SMTP id m11-20020a17090607cb00b009ae673a88c8mr10976851ejc.21.1700152370942;
        Thu, 16 Nov 2023 08:32:50 -0800 (PST)
Message-ID: <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
Date: Thu, 16 Nov 2023 16:32:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Content-Language: en-GB
To: James Dingwall <james-xen@dingwall.me.uk>, xen-devel@lists.xenproject.org
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/11/2023 4:15 pm, James Dingwall wrote:
> Hi,
>
> Per the msr_relaxed documentation:
>
>    "If using this option is necessary to fix an issue, please report a bug."
>
> After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
> started experiencing a BSOD at boot with one of our Windows guests.  We found
> that enabling `msr_relaxed = 1` in the guest configuration has resolved the
> problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
> the following messages were caught as the BSOD happened:
>
> (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
> (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
> (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
>
> I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
> series from last month:
>
> https://patchwork.kernel.org/project/xen-devel/list/?series=796550
>
> Picking out just a small part of that fixes the problem for us. Although the
> the patch is against 4.15.5 I think it would be relevant to more recent
> releases too.

Which version of Windows, and what hardware?

The Viridian Crash isn't about the RDMSR itself - it's presumably
collateral damage shortly thereafter.

Does filling in 0 for that MSR also resolve the issue?  It's model
specific and we absolutely cannot pass it through from real hardware
like that.

Thanks,

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 16:48:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 16:48:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634514.990023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3fXc-0003l2-NQ; Thu, 16 Nov 2023 16:48:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634514.990023; Thu, 16 Nov 2023 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 1r3fXc-0003kv-KV; Thu, 16 Nov 2023 16:48:32 +0000
Received: by outflank-mailman (input) for mailman id 634514;
 Thu, 16 Nov 2023 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=3aAy=G5=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1r3fXb-0003kp-Pu
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 16:48:31 +0000
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
 [2a00:1450:4864:20::22b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f8dbb85f-849f-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 17:48:30 +0100 (CET)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2c51682fddeso23339611fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 08:48:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8dbb85f-849f-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700153310; x=1700758110; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lSIn+dRSpxIKS0rwox3CNlHfwQbAw5iB///8MwoXY+E=;
        b=OIF0lHqjnAyXk8cARI1zJDNKfEqN3/I8x92qfj0Yp4gauCM3Ovvh3+Qg+9h2137P7p
         /15bCpRCYqUQWoMLmFU8QKBCz4FAb9B8ZOi9g4QVsKR51rt5Y5wng/jK3qSVerzMSR1O
         1ILkRYvcElqL3iGvr6B/9LpRXNQtIrBOrsTqk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700153310; x=1700758110;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=lSIn+dRSpxIKS0rwox3CNlHfwQbAw5iB///8MwoXY+E=;
        b=IwgSwtiI74kaQNhR5Wcdx27NX81J8ux91fnSEaKlkgvU9RQgkGZGV4r8LgP/XzpjdO
         MGD0MymW1EG+S0Up6l1QIgD/spghXo9ryDmt+pg0YxpZkFon3B2yvUxRBq6b4xbJNX7T
         6kIcdnlIHfdS2aaigaR7B2lbqOMIRrdMOW/7ZzZelKmu8f6AEfvwhJAKEL2LD7qx8C18
         x3fy5lyUblr3VzD5FFVTmn2KqXS6ehz8/gqDsPiF9T7QZpiKCbnAVzRpX/eXa4/3iC2g
         h7BxLUcGWbTsdh8wQWw3GghPqUVMh/QhXlemnYj1Y+brWH+ht4slFaix77HDRzIGWwpY
         70vA==
X-Gm-Message-State: AOJu0YwY7KhCjgrouzQr85jud15sfj844cwAp4eGAjxSjvHVdAP6CSP6
	spGxUp/xaBH2XhmYNRqi6H+lgL9qOr/phupdhBjR6w==
X-Google-Smtp-Source: AGHT+IH56unoY1QAqhM0jSwdBGp80mhf/LyW1T0JTTDeslXzzyi2waNLYHXIFFHodWAaM4iDnT/9u4Jk8eKDf2UFmNM=
X-Received: by 2002:a05:651c:4d2:b0:2c5:2d7:40b with SMTP id
 e18-20020a05651c04d200b002c502d7040bmr1207228lji.26.1700153309968; Thu, 16
 Nov 2023 08:48:29 -0800 (PST)
MIME-Version: 1.0
References: <20231114133003.20887-1-jgross@suse.com>
In-Reply-To: <20231114133003.20887-1-jgross@suse.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Thu, 16 Nov 2023 16:48:19 +0000
Message-ID: <CA+zSX=YW4ezSGD_Wf8LiOznTxQgdjLaQddzV7G7Udi5qayVDUA@mail.gmail.com>
Subject: Re: [PATCH v2] xen/sched: fix sched_move_domain()
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Dario Faggioli <dfaggioli@suse.com>, 
	Henry Wang <Henry.Wang@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 14, 2023 at 1:30=E2=80=AFPM Juergen Gross <jgross@suse.com> wro=
te:
>
> When moving a domain out of a cpupool running with the credit2
> scheduler and having multiple run-queues, the following ASSERT() can
> be observed:
>
> (XEN) Xen call trace:
> (XEN)    [<ffff82d04023a700>] R credit2.c#csched2_unit_remove+0xe3/0xe7
> (XEN)    [<ffff82d040246adb>] S sched_move_domain+0x2f3/0x5b1
> (XEN)    [<ffff82d040234cf7>] S cpupool.c#cpupool_move_domain_locked+0x1d=
/0x3b
> (XEN)    [<ffff82d040236025>] S cpupool_move_domain+0x24/0x35
> (XEN)    [<ffff82d040206513>] S domain_kill+0xa5/0x116
> (XEN)    [<ffff82d040232b12>] S do_domctl+0xe5f/0x1951
> (XEN)    [<ffff82d0402276ba>] S timer.c#timer_lock+0x69/0x143
> (XEN)    [<ffff82d0402dc71b>] S pv_hypercall+0x44e/0x4a9
> (XEN)    [<ffff82d0402012b7>] S lstar_enter+0x137/0x140
> (XEN)
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 1:
> (XEN) Assertion 'svc->rqd =3D=3D c2rqd(sched_unit_master(unit))' failed a=
t common/sched/credit2.c:1159
> (XEN) ****************************************
>
> This is happening as sched_move_domain() is setting a different cpu
> for a scheduling unit without telling the scheduler. When this unit is
> removed from the scheduler, the ASSERT() will trigger.
>
> In non-debug builds the result is usually a clobbered pointer, leading
> to another crash a short time later.
>
> Fix that by swapping the two involved actions (setting another cpu and
> removing the unit from the scheduler).
>
> Cc: Henry Wang <Henry.Wang@arm.com>
> Link: https://github.com/Dasharo/dasharo-issues/issues/488
> Fixes: 70fadc41635b ("xen/cpupool: support moving domain between cpupools=
 with different granularity")
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - added Link: (reporter didn't want to be added by name)
> ---
>  xen/common/sched/core.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
> index 12deefa745..e9f7486197 100644
> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -738,12 +738,13 @@ int sched_move_domain(struct domain *d, struct cpup=
ool *c)
>      new_p =3D cpumask_first(d->cpupool->cpu_valid);

There's a comment just above here which should probably be updated;
something like "Remove all units from the old scheduler, and
temporarily move them to the same processor to make locking easier
when moving the new units to nwe processors."

With that change:

Reviewed-by: George Dunlap <george.dunlap@cloud.com>

I could change that on check-if you'd like.

I take it at this point this is just for the 4.19 branch, and this
will be a candidate for backport to 4.18.1?

 -George


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 16:51:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 16:51:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634516.990032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3fa9-0005Go-47; Thu, 16 Nov 2023 16:51:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634516.990032; Thu, 16 Nov 2023 16: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 1r3fa9-0005Gh-17; Thu, 16 Nov 2023 16:51:09 +0000
Received: by outflank-mailman (input) for mailman id 634516;
 Thu, 16 Nov 2023 16:51: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=trnS=G5=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r3fa7-0005GZ-Qx
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 16:51:07 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 53d63b72-84a0-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 17:51:03 +0100 (CET)
Received: from mg.gitlab.com (20.226.74.34.bc.googleusercontent.com
 [34.74.226.20]) by
 b5fcd0d995c4 with SMTP id 655648769554b6f42194c0bd (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 16 Nov 2023 16:51:02 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 53d63b72-84a0-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700153462; x=1700160662; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=P7E67R+W06NdBqS+ylXV+MNlRIoHRfkMb3DX2/JUyQg=;
 b=GhU5Q0zI80ACzGynnV9Nl7KmOZxVpzybPrXEnoyOAJc3u3+J1uTQ9unnQpo/4LMAIA2CarumhtCyF5001CStL5JkhCqElbILFg5ETKCKrR1Hw+e6EGpjUuDPdpyi1cwRoKNLKOrEwo9ti2yucx2usUTXFW9QkTzxJOIUAOharoM=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 16 Nov 2023 16:51:01 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65564875c4c8c_2c9dcd878782@gitlab-sidekiq-catchall-v2-5c74c5955f-gqwm4.mail>
Subject: xen | Failed pipeline for staging | c419d2dd
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65564875b92ee_2c9dcd8786e0";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1074996588
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65564875b92ee_2c9dcd8786e0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1074996588 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: c419d2dd ( https://gitlab.com/xen-project/xen/-/commit/c419d2dd351c170ab7b44459b7f121599b23293d )
Commit Message: xen/arm: Skip memory nodes if not enabled

Curr...
Commit Author: Leo Yan ( https://gitlab.com/leo.yan )
Committed by: Julien Grall


Pipeline #1074996588 ( https://gitlab.com/xen-project/xen/-/pipelines/1074996588 ) triggered by Ganis ( https://gitlab.com/ganis )
had 5 failed jobs.

Job #5552812156 ( https://gitlab.com/xen-project/xen/-/jobs/5552812156/raw )

Stage: analyze
Name: eclair-ARM64
Job #5552812667 ( https://gitlab.com/xen-project/xen/-/jobs/5552812667/raw )

Stage: test
Name: qemu-smoke-dom0less-arm32-gcc-staticmem
Job #5552812633 ( https://gitlab.com/xen-project/xen/-/jobs/5552812633/raw )

Stage: test
Name: qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version
Job #5552812648 ( https://gitlab.com/xen-project/xen/-/jobs/5552812648/raw )

Stage: test
Name: qemu-smoke-dom0-arm32-gcc
Job #5552812685 ( https://gitlab.com/xen-project/xen/-/jobs/5552812685/raw )

Stage: test
Name: qemu-smoke-dom0less-arm32-gcc-without-dom0

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65564875b92ee_2c9dcd8786e0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging | c419d2dd</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1074996588 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/c419d2dd351c170ab7=
b44459b7f121599b23293d" style=3D"color: #3777b0; text-decoration: none;">=

c419d2dd
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/arm: Skip memory nodes if not enabled

Curr...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d49a93580dbb35fdcc1c44be3b43a685?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/leo.yan" style=3D"color: #3=
33333; text-decoration: none;">
Leo Yan
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">Committed by</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/51553d20dbeb50c199767049bd40c57b?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1074996588">#1074996588</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 5 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
analyze
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5552812156" style=3D=
"color: #3777b0; text-decoration: none;">
eclair-ARM64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5552812667" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm32-gcc-staticmem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5552812633" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5552812648" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0-arm32-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5552812685" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm32-gcc-without-dom0
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65564875b92ee_2c9dcd8786e0--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 16:54:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 16:54:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634546.990042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3fcz-00069F-L8; Thu, 16 Nov 2023 16:54:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634546.990042; Thu, 16 Nov 2023 16: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 1r3fcz-000698-Ia; Thu, 16 Nov 2023 16:54:05 +0000
Received: by outflank-mailman (input) for mailman id 634546;
 Thu, 16 Nov 2023 16:54: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=ww8j=G5=epam.com=prvs=56846b66b7=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r3fcx-00068T-Rl
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 16:54:03 +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 be7a6fe3-84a0-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 17:54:02 +0100 (CET)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AGGr2pM004265; Thu, 16 Nov 2023 16:53:53 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3udhuvs9r6-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 16 Nov 2023 16:53:53 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AS8PR03MB6774.eurprd03.prod.outlook.com (2603:10a6:20b:295::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.18; Thu, 16 Nov
 2023 16:53:50 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.021; Thu, 16 Nov 2023
 16:53: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: be7a6fe3-84a0-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mwBSmbjHUI3QAuk0XNLQujFIu+jUn8mRbKeXfrYETyFgKg9PGch9wRwHsgNuXSp+0Gn+4QO/E2HwJ+ni8nSYWUoTL+zkrrLAvLE5DrDNEQKt3OsA1KdWN9hEPk4qkYlqH+SYH3gyHhIUHdrIi5fozDQo4vIIL2+ufuqR5w2yYoJPh0Znd74v5QAZtY13nK1cGI1NAc9VBKqGyOHkWC6SP8ceZkNVPmMZp29mUMRiMfCk4uclV4NZ0R5MbT3NvH18JHUoME+tj9DMZM3fK+yA7ZS7iiuZul8Stvu+i8ND36TIDh2dtc4y6oEkxh/Ao1MaYMdYwGdQZ1UVzJEJjWhuYw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ObtFzB/EJgjKxULECZJvr2iPpfS5cnBO61g5/t9IYu4=;
 b=oRfhhuAEPfIOrDlShlMGf0NmqSYdT8hvIVBmoHpMoaMH6Z75c01VC6mW8Nvq6ZQTP+kKNw2Cofx2WwFa2sfXXP1vM3brp4GJMywh5+49/Wfg1UJA6vCifugv3kuOSbWC/Ycfs8E8XZej+LEnIAGeIb146PWpOUb1G9TBN69i+vFouph1s3Q9Cwtxv4QlSs64OTQl3oPyOm/4cJ1HwbiatTynATX/L2dgcHz0CaMiU3JQBeqVn4OuwLMo/0K10+DbXInKIBeIx83BvqqSlW/eiNhvrr6hUUv0Zb+r8XtqiUxDbv6KCiWU2Q+c32VtqsewAiNRbKYLAG3z0R6Y4sJ1LA==
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=ObtFzB/EJgjKxULECZJvr2iPpfS5cnBO61g5/t9IYu4=;
 b=BCEI9TlqEFlUwL0iDsPl9rcza1mcXcKWGdeVF/gJvCwIfpq/L0TynSMuQwIbql4UCku4dKABCAykiqJSp4ZIRVFa7DIN8yuO9YIhQQRCYWdLGCvz0qHsz8YlAJtkFn3dbVlk1EXRhZrmkLAWh4MOYJFvaQLmapDwKL7TiYC8kXQaOmWD8AajKG9hFMjW8lWvMFIiA43KUrCUyHUMNZJMUU2KI6VMMJR/u8kXDsg8YY8IjRxIe4aJQcfVhLsaxmXkLJEidiBeUg+EuopM+7SdhhJvdaNIFOYkQtELb+qsEuVLdRdZBVBScurDWQaVPM9D3Qz/boZjne4fjq0i5POGCg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Julien Grall <julien@xen.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Bertrand
 Marquis <bertrand.marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>,
        "vikram.garhwal@amd.com" <vikram.garhwal@amd.com>
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Topic: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Index: 
 AQHaF7/0FLT7PaxCl0mKzTq8kNpAxLB7mIqAgABuuwCAAP6dAIAACUiAgAAD6wCAAAjzAIAAC4aA
Date: Thu, 16 Nov 2023 16:53:49 +0000
Message-ID: <87v8a14p2c.fsf@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <875y2168ki.fsf@epam.com> <0999dc30-05ed-4afd-bb10-0128e2ca1d97@xen.org>
 <7964c688-c4b5-4688-9f53-88679bb931b3@amd.com>
 <7c5f7a8d-a30c-455d-a44b-384c0f242741@xen.org>
In-Reply-To: <7c5f7a8d-a30c-455d-a44b-384c0f242741@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AS8PR03MB6774:EE_
x-ms-office365-filtering-correlation-id: 58affa53-51ec-4864-75f6-08dbe6c49b5f
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 Nhi7pggE+Dejq9Kpb57/NxmhPtjqPsvrh0Afwbt92SOANx0jSOqI6QvzgIuCk7qC5OqVjdnJwfL4X736rZ9m41hdudtQSr5Ni5gh9puLiC8ybMKmvGZkX3v+GvajjNlp7FNBXW0HO1tP23aKUJ9r31yAkGjt2lSmZjTjza3Pc3uf1526GJEb/PUrSvlLdrGRxI9Ua09cF2FxYZy2IRvLkUQXjmkqMErq2bKB6j69Yqk7MWYohbpTtlMzgwbIuv2gvwBQ59l8pzW+7fL/GcIGzM9Xcog3NAidOnCkpOOofs/DhAntYt6DE03QP2OHIjLrEjTHpIKYVBibpNz08gtrwkVZ5m2I4t9FK0y6uLOjVcuFuQwINpvfWvB6kkwXXWpMJkdV5kIXNoE5ax+MfbFBcTzaoYQiyLA//JgwI8oizTZxHFudVT8bXgCpXRAKFmqHEjir9IblC7BO6WG8YpddxTaRp41/LmQ8A/CVqNeXR79rsoWBwa72DpvyCL17IdTVT17AWOMonDBaAXaz59I+LxQa0PCvbwlMmCdOQWOb4uCr8qQ/dgatNU6JdbPZdQvMVfZfi/dHziWiw/v6s847Gfjiie41FAOKzqwdMTkKnTOd8vZhgDpbaANWimugDkfE
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:(13230031)(346002)(136003)(366004)(39860400002)(376002)(396003)(230922051799003)(451199024)(186009)(1800799009)(64100799003)(83380400001)(478600001)(6506007)(86362001)(71200400001)(55236004)(53546011)(26005)(6512007)(6486002)(8676002)(8936002)(2616005)(91956017)(2906002)(41300700001)(122000001)(38070700009)(66556008)(66946007)(76116006)(38100700002)(6916009)(66476007)(316002)(54906003)(64756008)(36756003)(4326008)(66446008)(5660300002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?lTblEjdtePiodBFY/i4tJyjVTvutQVvYIorpCFpMECKzsuBHYAHsttlT4T?=
 =?iso-8859-1?Q?f9+JJOQKrLqCueC0cpxlsq0f2iyaf1JBr8e6xfJQ1MIoPdYt/q4Zp/5xsa?=
 =?iso-8859-1?Q?4bdk5IgH4o6oVTS1X6hGPjCV2Mk2vnYA2pMEGj5fJlN0Xpf5cFhiMr7jY0?=
 =?iso-8859-1?Q?hf9HMksAdYrJzodUllPwmMP13Omd31chYDVsFtzTMMNi5PJPyqX6On1nNp?=
 =?iso-8859-1?Q?9+XZDBnnGvdtB9GtotXPS9zuvzzP6kIWNrax3EtCO+ZHiVNrAlM/Ya1Rvr?=
 =?iso-8859-1?Q?yBPGLuquhir0HCZfp8AhEevPInsABi2zwBP6GnVeQ8AYxEedPsNdDkfBaw?=
 =?iso-8859-1?Q?4IFhzougiZ1VB6eYMJZOzjGTmZvBVnb7gyyq30RBeKwTcFX5RFRGq/Tkem?=
 =?iso-8859-1?Q?DrQtLq5ycC8HvV4VjgU/4HClmqWX/2e4CwNU9bvhUOBDjnrQDw3hLWmfgt?=
 =?iso-8859-1?Q?LpI+n1km57MCvw+QRCOfbNBupkPr1R9zp34Vr7Hc4wHnpMtUOKj/SIaezx?=
 =?iso-8859-1?Q?qpHcg+aSPFsz06oRqrgav7NIheLE+C4IdG0V4M6L/ZsgSKqKPOtR/Uw1XX?=
 =?iso-8859-1?Q?TutW0GZ0TkTbWZAoNMnDgbiOVbrJadIVfpCdCLvgXcQMs7zD83m60bJs/z?=
 =?iso-8859-1?Q?QdKjrR+AZNCajq6whujWEVGNBj2lhp4Gf//TQXzhlX0MJBZy/k5RPEKI2J?=
 =?iso-8859-1?Q?pAwfGSvX/3mO4UZsl/ANt39KXHRonawqMRxtq4TR4HiFDtU/r/oBWv94v2?=
 =?iso-8859-1?Q?JUa8YDWUmQZUyy1vwBj8BQKIj6CD2HvWCshTrxsIsiNzjFdoPmLad/+CL2?=
 =?iso-8859-1?Q?0PeUaUzQTlA6ZvognRADIvxufnnjHB8JuDSqoBbVA/iyxDM5T4uBR3BRMC?=
 =?iso-8859-1?Q?hyzP+YL1nVGeOxAN/qzJ+NZtOz6ekaJl327FTfvgjAAcrI0NdvJHzZK5jZ?=
 =?iso-8859-1?Q?91dGOqW+mQa9Ukbu4G0+YTRmNBvEKw44FL9QSR0roP08Bo2VjTDvsEov8U?=
 =?iso-8859-1?Q?R7IaeaHN7qQgXtLr53U+a5NGnMj5X7iu2DIXUAWcDPGdxo45psZw5yi6BI?=
 =?iso-8859-1?Q?aUjUIImexWqLW8wZwzfqkSnRROCnDxSzDbAmEE9eM2r/FAPIzMY7QthHXN?=
 =?iso-8859-1?Q?S/iOK+4oKXjIzulaiJLVhHXzCJS8/sxZtJj0glk37m8NrGAWMsvJD4py4D?=
 =?iso-8859-1?Q?dqerFoKas2VzE3MEI+3HHPa0HuKmrz2gvnLeDgFfdrn1JttmEpqhg40+kr?=
 =?iso-8859-1?Q?VOYoXJB0sEavPCqcVC3PDb9CcASccpGwYGVRLt1q+4na2mHyZvqle2pOdb?=
 =?iso-8859-1?Q?Bga7PTIrwK3QOirkHe0j0snETElemHRGVzvcnSXUsWoRiHPxhu7rgYf6Av?=
 =?iso-8859-1?Q?KXBH8FKA4Sj6li087sNL0o1pmxPUE9CYnaDQON6rdgkS9W78htvr1AtiRi?=
 =?iso-8859-1?Q?9gpaM3aVZ8i3zGzsHzsm3bPnrHCR07UIyyOcT+uPPnz7ZdNP3svVoE0FwQ?=
 =?iso-8859-1?Q?b2yoKR9Bc6up+U0reMgvsF8AZahn8yPwN0jpGWTn9Bcoin7ryDvVrYuKQL?=
 =?iso-8859-1?Q?GH3WqWfCHTjkD3nXLZ/xe49UyTeKjHpY3Ghj7kcurekO8kTUGoMAZMWhjB?=
 =?iso-8859-1?Q?c3CHpm9iEHLiAUg9IlRaztPIC0kgrpCo6+Yso3Xm3HvmTqGZDrc4zVcw?=
 =?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: 58affa53-51ec-4864-75f6-08dbe6c49b5f
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2023 16:53:49.7164
 (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: oYGBYxB9oT3aQ21r5D2+b0no8RTW1Uf2ysR7EkoFud6i3rh8G+bfvCXv7+mwgSAvPttNgiy2Hc3CIC+JkZQC5UDm2yqFnM7MuOxPMxv9nVM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB6774
X-Proofpoint-GUID: YTpuKpUJb16e5hmIG6aA-y791uJllQ0J
X-Proofpoint-ORIG-GUID: YTpuKpUJb16e5hmIG6aA-y791uJllQ0J
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-16_17,2023-11-16_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0
 suspectscore=0 bulkscore=0 lowpriorityscore=0 priorityscore=1501
 adultscore=0 mlxlogscore=599 impostorscore=0 spamscore=0 clxscore=1015
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311160132


Hi Julien,

Julien Grall <julien@xen.org> writes:

> On 16/11/2023 15:26, Stewart Hildebrand wrote:
>> On 11/16/23 10:12, Julien Grall wrote:
>>> Hi Volodymyr,
>>>
>>> On 16/11/2023 15:07, Volodymyr Babchuk wrote:
>>>> With my vPCI patch series in place, hypervisor itself assigns BDFs for
>>>> passed-through devices. Toolstack needs to get this information to kno=
w
>>>> which BDFs are free and can be used by virtio-pci.
>>>
>>> It sounds a bit odd to let the hypervisor to assign the BDFs. At
>>> least because there might be case where you want to specific vBDF
>>> (for instance this is the case with some intel graphic cards). This
>>> should be the toolstack job to say "I want to assign the pBDF to
>>> this vBDF".
>> Keep in mind we are also supporting dom0less PCI passthrough.
> Right, but even with that in mind, I expect the Device-Tree to provide
> the details where a given PCI is assigned.
>
> You could have logic for assigning the BDF automagically. But that
> should be part of dom0less, not deep into the vPCI code.

As far as I know, right now toolstack does not allow you to assign BDF
in any form. For x86 there are two options, and they are controlled by
"passthrough" option of xen-pciback driver in Linux:

  "Option to specify how to export PCI topology to guest:"
  " 0 - (default) Hide the true PCI topology and makes the frontend"
  "   there is a single PCI bus with only the exported devices on it."
  "   For example, a device at 03:05.0 will be re-assigned to 00:00.0"
  "   while second device at 02:1a.1 will be re-assigned to 00:01.1."
  " 1 - Passthrough provides a real view of the PCI topology to the"
  "   frontend (for example, a device at 06:01.b will still appear at"
  "   06:01.b to the frontend). This is similar to how Xen 2.0.x"
  "   exposed PCI devices to its driver domains. This may be required"
  "   for drivers which depend on finding their hardward in certain"
  "   bus/slot locations.");

Also, isn't strict dependency on BDF breaks the PCI specification? I
mean, of course, you can assign Function on random, but what about Bus
and Device parts?


I mean, we can make toolstack responsible of assigning BDFs, but this
might break existing x86 setups...=20

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 17:27:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 17:27:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634585.990068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3g9G-0008Mr-I3; Thu, 16 Nov 2023 17:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634585.990068; Thu, 16 Nov 2023 17:27: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 1r3g9G-0008Mk-FA; Thu, 16 Nov 2023 17:27:26 +0000
Received: by outflank-mailman (input) for mailman id 634585;
 Thu, 16 Nov 2023 17:27: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 1r3g9F-0008Me-4X
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 17:27: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 1r3g9D-0002Xi-El; Thu, 16 Nov 2023 17:27:23 +0000
Received: from [15.248.3.7] (helo=[10.24.67.23])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r3g9D-0007vt-7W; Thu, 16 Nov 2023 17:27: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=MsREr8kph98aUvbZTEhxyBS9807xIYEADCWufjcKnek=; b=khpNfLbmg++Wdz8ocayuHfrdUl
	bwbA3KI00RWhx5FhXKnCsoxOrNjnfy+rhNpn+XYTNj06WUIks65hy2xFoz3KEnk5juNfJB//M5r63
	cfoi5aikDRLK5ogU0PJw4tkc18Y0gXKau8Ehwswi++s05FdDOEVagglqUZkkp2yJ3KmU=;
Message-ID: <a2ca2931-7851-4dfb-a5c5-a91bcf5dd739@xen.org>
Date: Thu, 16 Nov 2023 17:27:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 "vikram.garhwal@amd.com" <vikram.garhwal@amd.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <875y2168ki.fsf@epam.com> <0999dc30-05ed-4afd-bb10-0128e2ca1d97@xen.org>
 <7964c688-c4b5-4688-9f53-88679bb931b3@amd.com>
 <7c5f7a8d-a30c-455d-a44b-384c0f242741@xen.org> <87v8a14p2c.fsf@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <87v8a14p2c.fsf@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Volodymyr,

On 16/11/2023 16:53, Volodymyr Babchuk wrote:
> Julien Grall <julien@xen.org> writes:
>> On 16/11/2023 15:26, Stewart Hildebrand wrote:
>>> On 11/16/23 10:12, Julien Grall wrote:
>>>> Hi Volodymyr,
>>>>
>>>> On 16/11/2023 15:07, Volodymyr Babchuk wrote:
>>>>> With my vPCI patch series in place, hypervisor itself assigns BDFs for
>>>>> passed-through devices. Toolstack needs to get this information to know
>>>>> which BDFs are free and can be used by virtio-pci.
>>>>
>>>> It sounds a bit odd to let the hypervisor to assign the BDFs. At
>>>> least because there might be case where you want to specific vBDF
>>>> (for instance this is the case with some intel graphic cards). This
>>>> should be the toolstack job to say "I want to assign the pBDF to
>>>> this vBDF".
>>> Keep in mind we are also supporting dom0less PCI passthrough.
>> Right, but even with that in mind, I expect the Device-Tree to provide
>> the details where a given PCI is assigned.
>>
>> You could have logic for assigning the BDF automagically. But that
>> should be part of dom0less, not deep into the vPCI code.
> 
> As far as I know, right now toolstack does not allow you to assign BDF
> in any form. For x86 there are two options, and they are controlled by
> "passthrough" option of xen-pciback driver in Linux:

Are you talking about HVM or PV? I am not very familiar for the latter 
but for the former, QEMU is today responsible to find a free slot.

You can also specify which virtual slot you want to use in XL:

=item B<vslot>=I<NUMBER>

=over 4

=item Description

Specifies the virtual slot (device) number where the guest will see this
device. For example, running L<lspci(1)> in a Linux guest where B<vslot>
was specified as C<8> would identify the device as C<00:08.0>. Virtual 
domain
and bus numbers are always 0.

> 
>    "Option to specify how to export PCI topology to guest:"
>    " 0 - (default) Hide the true PCI topology and makes the frontend"
>    "   there is a single PCI bus with only the exported devices on it."
>    "   For example, a device at 03:05.0 will be re-assigned to 00:00.0"
>    "   while second device at 02:1a.1 will be re-assigned to 00:01.1."
>    " 1 - Passthrough provides a real view of the PCI topology to the"
>    "   frontend (for example, a device at 06:01.b will still appear at"
>    "   06:01.b to the frontend). This is similar to how Xen 2.0.x"
>    "   exposed PCI devices to its driver domains. This may be required"
>    "   for drivers which depend on finding their hardward in certain"
>    "   bus/slot locations.");
> 
> Also, isn't strict dependency on BDF breaks the PCI specification? I
> mean, of course, you can assign Function on random, but what about Bus
> and Device parts?

I am not well-versed with the PCI specification. However, what the specs 
says and what users do tend to be different :).

I know a few cases where you need to specify the slot. I have mentioned 
one earlier with the Intel Graphic cards.

> I mean, we can make toolstack responsible of assigning BDFs, but this
> might break existing x86 setups...

It is not clear to me how letting the toolstack selecting the vslot 
would be a problem for HVM (see above). However, it is clear that you 
may break some x86 setup if always allocate a "random" slot.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 17:56:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 17:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634588.990079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3gaq-0006mG-QV; Thu, 16 Nov 2023 17:55:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634588.990079; Thu, 16 Nov 2023 17: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 1r3gaq-0006lL-MQ; Thu, 16 Nov 2023 17:55:56 +0000
Received: by outflank-mailman (input) for mailman id 634588;
 Thu, 16 Nov 2023 17:55: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=trnS=G5=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r3gap-0006bt-MI
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 17:55:55 +0000
Received: from m202-219.mailgun.net (m202-219.mailgun.net [161.38.202.219])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 621ccde0-84a9-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 18:55:54 +0100 (CET)
Received: from mg.gitlab.com (76.90.74.34.bc.googleusercontent.com
 [34.74.90.76]) by
 2a3830d76978 with SMTP id 655657a66fd2a38ceb262389 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 16 Nov 2023 17:55:50 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 621ccde0-84a9-11ee-98db-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700157350; x=1700164550; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=ONo3f/xK1u0PrvJDwI0/Ho6d6kfRiOp20D3k8YoCYTQ=;
 b=YsLViVVaeMoBO9hN4YEWfJJXI7NrlTq398nBL7eZ067AlNvzjzLo5+MuAxCxsd0rB4kJRpiClSKaAHO7U61wvhVsvWoYc4z8Ksyf+sOj2ZZt/FKpOIda8QZMZboOnO8oImMwZ07kfsKri4c4M4K9SIfTOVnlldnPzpXnn8iyujY=
X-Mailgun-Sending-Ip: 161.38.202.219
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 16 Nov 2023 17:55:50 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655657a6d87bd_2c9b3981696db@gitlab-sidekiq-catchall-v2-5c74c5955f-6gqcf.mail>
Subject: xen | Failed pipeline for staging | 6cd046c5
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655657a6c8c05_2c9b398169581";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1075032586
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655657a6c8c05_2c9b398169581
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1075032586 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 6cd046c5 ( https://gitlab.com/xen-project/xen/-/commit/6cd046c501bce48cdc42f597fc7a023aa08853e7 )
Commit Message: xen/arm: Enlarge identity map space to 10TB

On...
Commit Author: Leo Yan ( https://gitlab.com/leo.yan )
Committed by: Julien Grall


Pipeline #1075032586 ( https://gitlab.com/xen-project/xen/-/pipelines/1075032586 ) triggered by Ganis ( https://gitlab.com/ganis )
had 16 failed jobs.

Job #5553041985 ( https://gitlab.com/xen-project/xen/-/jobs/5553041985/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc
Job #5553042011 ( https://gitlab.com/xen-project/xen/-/jobs/5553042011/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc-staticheap
Job #5553042032 ( https://gitlab.com/xen-project/xen/-/jobs/5553042032/raw )

Stage: test
Name: qemu-smoke-dom0-arm32-gcc
Job #5553041481 ( https://gitlab.com/xen-project/xen/-/jobs/5553041481/raw )

Stage: build
Name: debian-bookworm-gcc-arm32-debug-randconfig
Job #5553041482 ( https://gitlab.com/xen-project/xen/-/jobs/5553041482/raw )

Stage: build
Name: debian-bookworm-gcc-arm32-staticmem
Job #5553041557 ( https://gitlab.com/xen-project/xen/-/jobs/5553041557/raw )

Stage: build
Name: alpine-3.18-gcc-arm64-boot-cpupools
Job #5553042003 ( https://gitlab.com/xen-project/xen/-/jobs/5553042003/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc-staticmem
Job #5553041474 ( https://gitlab.com/xen-project/xen/-/jobs/5553041474/raw )

Stage: build
Name: debian-bookworm-gcc-arm32-debug
Job #5553041459 ( https://gitlab.com/xen-project/xen/-/jobs/5553041459/raw )

Stage: build
Name: debian-bookworm-gcc-arm32
Job #5553041487 ( https://gitlab.com/xen-project/xen/-/jobs/5553041487/raw )

Stage: build
Name: debian-bookworm-gcc-arm32-debug-staticmem
Job #5553041498 ( https://gitlab.com/xen-project/xen/-/jobs/5553041498/raw )

Stage: build
Name: debian-bookworm-gcc-debug-arm64
Job #5553041983 ( https://gitlab.com/xen-project/xen/-/jobs/5553041983/raw )

Stage: test
Name: qemu-smoke-dom0-arm64-gcc-debug
Job #5553042020 ( https://gitlab.com/xen-project/xen/-/jobs/5553042020/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem
Job #5553041630 ( https://gitlab.com/xen-project/xen/-/jobs/5553041630/raw )

Stage: build
Name: debian-bookworm-gcc-arm32-cppcheck
Job #5553042026 ( https://gitlab.com/xen-project/xen/-/jobs/5553042026/raw )

Stage: test
Name: qemu-xtf-dom0less-arm64-gcc-hyp-xen-version
Job #5553041348 ( https://gitlab.com/xen-project/xen/-/jobs/5553041348/raw )

Stage: analyze
Name: eclair-ARM64

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655657a6c8c05_2c9b398169581
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging | 6cd046c5</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1075032586 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/6cd046c501bce48cdc=
42f597fc7a023aa08853e7" style=3D"color: #3777b0; text-decoration: none;">=

6cd046c5
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/arm: Enlarge identity map space to 10TB

On...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d49a93580dbb35fdcc1c44be3b43a685?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/leo.yan" style=3D"color: #3=
33333; text-decoration: none;">
Leo Yan
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">Committed by</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/51553d20dbeb50c199767049bd40c57b?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1075032586">#1075032586</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 16 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041985" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553042011" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc-staticheap
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553042032" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0-arm32-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041481" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm32-debug-randconfig
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041482" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm32-staticmem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041557" style=3D=
"color: #3777b0; text-decoration: none;">
alpine-3.18-gcc-arm64-boot-cpupools
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553042003" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc-staticmem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041474" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm32-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041459" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm32
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041487" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm32-debug-staticmem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041498" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-debug-arm64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041983" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0-arm64-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553042020" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041630" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm32-cppcheck
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553042026" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-xtf-dom0less-arm64-gcc-hyp-xen-version
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
analyze
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5553041348" style=3D=
"color: #3777b0; text-decoration: none;">
eclair-ARM64
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655657a6c8c05_2c9b398169581--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 18:55:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 18:55:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634631.990088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3hW7-0002Bo-2H; Thu, 16 Nov 2023 18:55:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634631.990088; Thu, 16 Nov 2023 18:55: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 1r3hW6-0002Bh-Vh; Thu, 16 Nov 2023 18:55:06 +0000
Received: by outflank-mailman (input) for mailman id 634631;
 Thu, 16 Nov 2023 18:55: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=ywrF=G5=kernel.org=gustavoars@srs-se1.protection.inumbo.net>)
 id 1r3hW5-0002Bb-LT
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 18:55:05 +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 a6e69c82-84b1-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 19:55:04 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 6BC1AB81CE0;
 Thu, 16 Nov 2023 18:55:03 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0BBB8C433C8;
 Thu, 16 Nov 2023 18:55: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: a6e69c82-84b1-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700160902;
	bh=JwQgKXdyVFHDeYy2JqIrcrbfOB3OycZsBTQgBU7qjPM=;
	h=Date:From:To:Cc:Subject:From;
	b=Q2KeOstZqpSdN4JhKTSNmJecY3BmKrmxV0TKxlDYtF5gv7UBoA9ki8l+3oU7WT0Hx
	 SGmSc3VfEncIDsy7g1gUdu/dUurdmxWoNKqVqXpNG0JIQn/9CRKtLj4EZby3gR0ebM
	 W29DzH+9f5rXc4ky/j82PuHjBZxanaXp2OXpLgfdOeYwEyc8H6InT7BIuTjYwI2twZ
	 K2Q59QirBuKsjjD1uHuCUq6Vt0CT0Ut1+Mc3R70pFEkwWmeLddoRJdAqfYUx+Un6j7
	 onTVWGPMm6W16RlorLGNo7T/80qIpz+vuwThsSHkscF6lBwIA6x+UPnUOlCQ+Gw8al
	 9yTiFS6TTIGSg==
Date: Thu, 16 Nov 2023 12:54:59 -0600
From: "Gustavo A. R. Silva" <gustavoars@kernel.org>
To: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	"Gustavo A. R. Silva" <gustavoars@kernel.org>,
	linux-hardening@vger.kernel.org
Subject: [PATCH][next] xen: privcmd: Replace zero-length array with
 flex-array member and use __counted_by
Message-ID: <ZVZlg3tPMPCRdteh@work>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Fake flexible arrays (zero-length and one-element arrays) are deprecated,
and should be replaced by flexible-array members. So, replace
zero-length array with a flexible-array member in `struct
privcmd_kernel_ioreq`.

Also annotate array `ports` with `__counted_by()` to prepare for the
coming implementation by GCC and Clang of the `__counted_by` attribute.
Flexible array members annotated with `__counted_by` can have their
accesses bounds-checked at run-time via `CONFIG_UBSAN_BOUNDS` (for array
indexing) and `CONFIG_FORTIFY_SOURCE` (for strcpy/memcpy-family functions).

This fixes multiple -Warray-bounds warnings:
drivers/xen/privcmd.c:1239:30: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
drivers/xen/privcmd.c:1240:30: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
drivers/xen/privcmd.c:1241:30: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
drivers/xen/privcmd.c:1245:33: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
drivers/xen/privcmd.c:1258:67: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]

This results in no differences in binary output.

Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
---
 drivers/xen/privcmd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 1ce7f3c7a950..0eb337a8ec0f 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -1115,7 +1115,7 @@ struct privcmd_kernel_ioreq {
 	spinlock_t lock; /* Protects ioeventfds list */
 	struct list_head ioeventfds;
 	struct list_head list;
-	struct ioreq_port ports[0];
+	struct ioreq_port ports[] __counted_by(vcpus);
 };
 
 static irqreturn_t ioeventfd_interrupt(int irq, void *dev_id)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 16 19:12:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 19:12:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634634.990098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3hmF-0006ZW-E8; Thu, 16 Nov 2023 19:11:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634634.990098; Thu, 16 Nov 2023 19:11: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 1r3hmF-0006ZP-BP; Thu, 16 Nov 2023 19:11:47 +0000
Received: by outflank-mailman (input) for mailman id 634634;
 Thu, 16 Nov 2023 19:11: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 1r3hmE-0006ZF-3u; Thu, 16 Nov 2023 19:11: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 1r3hmE-0004Rl-02; Thu, 16 Nov 2023 19:11: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 1r3hmD-000283-JE; Thu, 16 Nov 2023 19:11:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3hmD-0006A5-Ib; Thu, 16 Nov 2023 19:11: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=IU0A0YijtMgWXBZR39YUMHv+trPf9yLThnO7mUlQxe0=; b=0Z6Q+lH6Wkn1YZG0jkCkagjv1P
	HP+iyUqVWmiGUPI+966+3Eb5trsp6mJMxIkIkyOtlBeoU53cq8gIrho2LN3Ek6Gcp2yV5nygjU3M5
	83VL5PJ7sgxNI6chA2GIQFgcHl0aK4X1nuqtgtQlUAD4ZwuUZaNrEF1hgDfEYN3bkU9Y=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183774-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183774: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=6cd046c501bce48cdc42f597fc7a023aa08853e7
X-Osstest-Versions-That:
    xen=b739e2067b1a06328e7f0042630b543413689eac
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Nov 2023 19:11:45 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  6cd046c501bce48cdc42f597fc7a023aa08853e7
baseline version:
 xen                  b739e2067b1a06328e7f0042630b543413689eac

Last test of basis   183770  2023-11-16 09:02:03 Z    0 days
Testing same since   183774  2023-11-16 15:02:22 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Leo Yan <leo.yan@linaro.org>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   b739e2067b..6cd046c501  6cd046c501bce48cdc42f597fc7a023aa08853e7 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 20:57:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 20:57:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634642.990109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3jPy-00085F-QL; Thu, 16 Nov 2023 20:56:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634642.990109; Thu, 16 Nov 2023 20:56: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 1r3jPy-000858-Np; Thu, 16 Nov 2023 20:56:54 +0000
Received: by outflank-mailman (input) for mailman id 634642;
 Thu, 16 Nov 2023 20:56: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=ww8j=G5=epam.com=prvs=56846b66b7=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r3jPx-000852-MA
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 20:56:53 +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 a9ddd38b-84c2-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 21:56:51 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AGKK3fn003880; Thu, 16 Nov 2023 20:56:49 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3udt18r23g-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 16 Nov 2023 20:56:49 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AS8PR03MB9023.eurprd03.prod.outlook.com (2603:10a6:20b:5b7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Thu, 16 Nov
 2023 20:56:45 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.021; Thu, 16 Nov 2023
 20:56: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: a9ddd38b-84c2-11ee-98db-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FNzWUlJrCWFBbN2IZrd2xMA9KP5IXGo0TRJF3vevAjqHF1Qanoj+UykmT3cmfHy2SLlJoxIHr+pzhMKv6FoQl89H7ChoWHkK4FL7lLWX/NNwLYpHCTGE3mssLIknwgnm4PmHq/OYXPVvfBQM4fs+KIP+cDb834jW4kFzTdiO4NXZq6v+aKZrnEkBYrx+x4WjM6d6owxE/xIjcTMsKtNqJs1sEEj+8/3jG9qWqjdYUQj5h2ImFMDKpkRcyLCQMxcoEfGWs4Or147jPqC2J0NnXy8DF76/8+NVea/Lh7T2cFg2JDtigKfXyvl2SnQxEgUjG4qLv07lOXURhSQRGjYMjQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=t1OYeMhZnLXGh18AKafUFDVBzu0cFg05+W2gr5+eCP8=;
 b=jRn8/YYC+XU4DfADnhXWWy7js0yRUwwLy6e8tiomlwb4QphS381aTRhUazuHC7QMl6oDhkBEtzkGx64+RmvxXGUM0GTgGCUcQNLSw5bhd7GGlIVh2713i5wUJcRqwoC2o+62xGLER5RS0Llvs8MmOdYuduU3OIQPV5nI4IJyrDo/LQlAZb/vSs8dgHSB5YIGKZgDYrQv5jV8qrCZFKkDpvfXNXrmE6CoIYu3J1MbMsEBuYU1P7qlbgGb7WWwqv3yrncOz8v0QKITJjuZzQohyIvAUJpRRIiXP/7g33JavRCxx9ktu3hiOFibbTMoDpcG7sfzue6MEnWEztr30cA7jA==
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=t1OYeMhZnLXGh18AKafUFDVBzu0cFg05+W2gr5+eCP8=;
 b=IPzJBVwO+4i/IWcOlo5+nfa7FzB+NLY2Jtx7JIZCsKKa4ozj3SalGE1eozb7l0wny9eoGD8QrMKo/XnehmiyYZHbxu/iLrJe7BMz3f7TLUBz1HfQvpmTH4t1kuWSgPO7nuyK/MZNaKjC82bHdtqtTDYFl7cc9/xXXB/9zGUm2Qiaq59eFXcButittvQTD8OKPWiVTUekygSEhUpjuYgHHVH5J/XMezS44b5ySd044YhHiYVWIaHWrZsszQwW8IXSpW0i6U9qFfQOdArKtitjreplwSP57RhRjjtuobNSfE+XnIdft/XvLXpES6EOV+36Ml+85iNVRP+yCvEGQgjUsA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
        Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
        Anthony
 PERARD <anthony.perard@citrix.com>
Subject: [PATCH] xenstored: print domain id in traces
Thread-Topic: [PATCH] xenstored: print domain id in traces
Thread-Index: AQHaGM9oQiwd7S9EmE2h7a1Tz9yy3w==
Date: Thu, 16 Nov 2023 20:56:45 +0000
Message-ID: <20231116205613.3796068-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AS8PR03MB9023:EE_
x-ms-office365-filtering-correlation-id: 5dd2b8db-d8e4-46a2-fa53-08dbe6e68b0a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 nohBJWcWHW6tuWTpjT76yUSSzeQVMoZ1v8l1OJ2vBxqsetCJyBZkEYr3AU3dDe9LerPUuk0z442nCSV8Y+NTCD6ms7H7+9w5KirE9XknssO3QCF6ri4+W9jZmiFx49RdV9y3+SHtBhrxOtT1esliikrTMr/N8nCRFkXnjOKr9otUH0FRTgxN+LELgINq1XkQEfie/JH2uP8E3cqDfSTXPJa/rbpZoKSekKldAtPKkj8wgqLshccf4Donaqy1xuE2ESLyRnvva8LvZqnTRz4V+4vqEPDsvTfcQaD9RG6uDR9T3Vj09vEA5Hp1jqzGn4G6WmhQ5HKu/0KMJUAM11XXTXS4ZbeYiZ5y1NK1ykVZPs7jXGO/rFnxgaPcXe+112ZhUDXriqro1u4jkUP42g1aeXvZiyIiAVIG2vI7auHzK4p6/iC9akkqRIlcyhhn80+LEv0LVnTQ0/gt3KkWiv7hyPPO+OC0UAN8i1XtBgVpk16syaZvCIbwF1su9CUWqoQlSnREKcfaD9WV0SFh3cUORPyqeRSSN3fd8Tfy1Kp8ahbe0gBlyX+7e8cT0VCVj5Gm4JJ5g33DPItcKU5adbD8L0fNGV7aGYjTTKo/74tsSnzWHjoWlg5fGu5KKv/dGtEV
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:(13230031)(136003)(396003)(346002)(366004)(376002)(39860400002)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(41300700001)(36756003)(5660300002)(86362001)(4744005)(2906002)(38070700009)(83380400001)(122000001)(71200400001)(6486002)(478600001)(6512007)(26005)(1076003)(2616005)(6506007)(55236004)(91956017)(38100700002)(8676002)(4326008)(8936002)(66556008)(66476007)(66446008)(66946007)(64756008)(54906003)(76116006)(6916009)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?tgXN0YF+DbfxncL+lqnC+n3LvegabGuyO8RKajF4SZ9uMQRw8D/Hbwo14+?=
 =?iso-8859-1?Q?v9GdG4DMdfXexnO9OEjyydKEOSvhheXS8Z7PDhS39JiNohtOYdak1HRKja?=
 =?iso-8859-1?Q?SjCANiSCOk096AP0NCa30H5JZTqaHTcnzc84BfDZOwV31AbTN87AXnEKBw?=
 =?iso-8859-1?Q?jeomlqhnGir4iOf4VOWXnzJ5EOIF2ydSg8bqgakdTkEuigcEh9I+qWmomo?=
 =?iso-8859-1?Q?6WrBE5L7gTFaZL3dHi4wH9kUqDMGbuAFMES0/o8CnaFsNyJ58i+xz2j6Kn?=
 =?iso-8859-1?Q?bt2bimbhKIKhCXpjN4dmz94FYNcVeQnoi/N9x85Y9+NyX1ywYKXBIhz8nm?=
 =?iso-8859-1?Q?gbUHxBGU+XVtYVWujSCGSyvLlZnuqNhMMrq02sy39PIWUl4aJLRwCU3GDt?=
 =?iso-8859-1?Q?oJN2vNmY7DaX8EAd4ZRt7U7tQ2RDAQiPHAFucK+DOJEu+eL1lnJxDmIan/?=
 =?iso-8859-1?Q?MfQyTXxixkpt92J8WHmykvSVDDqppNlis6IR6G87LsM5Fxfpt1R3SpFPB6?=
 =?iso-8859-1?Q?vK4NjIH11MIA+p3iwvHCBc7L0FX8AsW1qeStO6nmBRTiyAwiqhcGqmGTDG?=
 =?iso-8859-1?Q?b9ilkmWlmzau0qeRlbpPJiXUBNt+0uI9GQzXJBsIHF4Fsp3xh6SURieAGW?=
 =?iso-8859-1?Q?VU4fqJ6//nV1nrx+IPpxr/nqIf6C8lndnZby/CMMrv2+xzjy3H4L52eo/W?=
 =?iso-8859-1?Q?UvRiD9v9+l+S04cf2WjmDpEdSmBoDGkUlUhGMb3JJYQO5cSQiffhqDrmOb?=
 =?iso-8859-1?Q?AdNX4Ne5xC4QbP6Nr1yvWznpHgkHuEKilzMZYGuF8hpoYEMLE0LY9OElUR?=
 =?iso-8859-1?Q?dxkI+opMXqxpIQn0uazlDRZntR9N3/zQYRD9VqX3TOUKq2Iz31eTgFegJ9?=
 =?iso-8859-1?Q?D6KR09JpTorfDDysdnJrIHcZy9qJrpI4WiNv7lAUQNqlYgz/NE7B3Pckir?=
 =?iso-8859-1?Q?nuZMKsm+2CRGOu67nrSmgtNsJHaBRoDSH7PXtM4JrITaG6IS0jai8AEDzN?=
 =?iso-8859-1?Q?HeEfWgJousBk9GfQFhVqo3zTTuFIuDHTC/Rlo8VaH7d3T/aBHP5/OLFOdm?=
 =?iso-8859-1?Q?Llc4OxHydf4qgeprGPUqkx0zHc+m+kAvTNLM9RXRMbewQHAfRssWvPkZ9E?=
 =?iso-8859-1?Q?938qUEuSEsujFOfNwJTnLGdShTGyZICWRE0IRJUKU0ZdICAxet6/buE3Rr?=
 =?iso-8859-1?Q?dQ6j4jRy0m8R8Nn3fDQXe7rEvDUoqK6kXWEp/VPaMmiN+N7ELUz0x42AC8?=
 =?iso-8859-1?Q?iUTNnIs22DlZ5ukrTAOFCBb0Z1zyha1zJDR7hWu+yI2Ya4La3E890QFton?=
 =?iso-8859-1?Q?SdT/KpSik5TtCsrLAAdGePwAcSEmtAAwR9yrOjqYD7WEckLJxYKScxelMk?=
 =?iso-8859-1?Q?5004tMojJFrVmnE7a7/uhX/8cF7Kc/UGg9PWKdkg1UrYhsgv5zKy0sGO8y?=
 =?iso-8859-1?Q?nXAjbgFBgcNdO03lq5e+EhwVOs1SdwM8w6oPO02nlG8noB+Rm0FWEhjOlE?=
 =?iso-8859-1?Q?BvKzsvWH5vMnS/+3pmhijSK3tk6bBR7IpWqQmPDPxAqs4A3a4Ing2x7nQn?=
 =?iso-8859-1?Q?0Nu4oi9v8ak5zJoY6ZeHPD+KqCXr9OqpycjIAm6mD/wQgMPv/t4sNWBuTR?=
 =?iso-8859-1?Q?H3Oq5uR7hv+HGHLchNj2aaWnWsMJGzB5dj7DyHaybqvVU05wHBvHDXkA?=
 =?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: 5dd2b8db-d8e4-46a2-fa53-08dbe6e68b0a
X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Nov 2023 20:56:45.2634
 (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: 1/3oIvhJ9CeksnhYKpKzzeKzMLyGdCM93j0P2t9xt4rXALEhkZTOefxZN9LmcLXPgaf7TO0NqALGT0RFiQAmfe6zYj4sJRFCdoL53A66Uzg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB9023
X-Proofpoint-GUID: KCraIG4wQdu_ek7cWh2eHetatN5m2s1R
X-Proofpoint-ORIG-GUID: KCraIG4wQdu_ek7cWh2eHetatN5m2s1R
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-16_22,2023-11-16_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 phishscore=0
 clxscore=1011 suspectscore=0 spamscore=0 malwarescore=0 priorityscore=1501
 bulkscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0
 mlxlogscore=895 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311160162

It is very helpful to see domain id why analyzing xenstored
traces. Especially when you are trying to understand which exactly
domain performs an action.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 tools/xenstored/core.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index edd07711db..311764eb0c 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -135,8 +135,8 @@ static void trace_io(const struct connection *conn,
 	now =3D time(NULL);
 	tm =3D localtime(&now);
=20
-	trace("io: %s %p %04d%02d%02d %02d:%02d:%02d %s (",
-	      out ? "OUT" : "IN", conn,
+	trace("io: %s %p (d%d) %04d%02d%02d %02d:%02d:%02d %s (",
+	      out ? "OUT" : "IN", conn, conn->id,
 	      tm->tm_year + 1900, tm->tm_mon + 1,
 	      tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec,
 	      sockmsg_string(data->hdr.msg.type));
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 21:09:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 21:09:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634645.990119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3jbm-0001wN-T3; Thu, 16 Nov 2023 21:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634645.990119; Thu, 16 Nov 2023 21: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 1r3jbm-0001wG-Pn; Thu, 16 Nov 2023 21:09:06 +0000
Received: by outflank-mailman (input) for mailman id 634645;
 Thu, 16 Nov 2023 21:09: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=TnVx=G5=chromium.org=keescook@srs-se1.protection.inumbo.net>)
 id 1r3jbk-0001wA-VC
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 21:09:05 +0000
Received: from mail-pg1-x529.google.com (mail-pg1-x529.google.com
 [2607:f8b0:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5e7e8768-84c4-11ee-98db-6d05b1d4d9a1;
 Thu, 16 Nov 2023 22:09:03 +0100 (CET)
Received: by mail-pg1-x529.google.com with SMTP id
 41be03b00d2f7-5c19a328797so966959a12.3
 for <xen-devel@lists.xenproject.org>; Thu, 16 Nov 2023 13:09:03 -0800 (PST)
Received: from www.outflux.net (198-0-35-241-static.hfc.comcastbusiness.net.
 [198.0.35.241]) by smtp.gmail.com with ESMTPSA id
 j12-20020a056a00130c00b0068fece22469sm175211pfu.4.2023.11.16.13.08.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 16 Nov 2023 13:08:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5e7e8768-84c4-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=chromium.org; s=google; t=1700168942; x=1700773742; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=xYAFY96XcFiMxIF+L4YoxaW0MbIDBtwFnVJcSIPp9Co=;
        b=kDiG/AGzHtjC0YsLanjx3y6RCk7CzI8L/hgJ+olY+FkgkxTpsTs8olJi0ECPvdxQX3
         RKRSIz8X38DhNTfmR9PmBHAwL4Gk00nW30SmhpfHj6myWRcuCneppQplG7aywSf6ahXS
         dCwWsEvP+TEKPZWlVxINFffUAmMdmVGDZy78Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700168942; x=1700773742;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xYAFY96XcFiMxIF+L4YoxaW0MbIDBtwFnVJcSIPp9Co=;
        b=D3t35cyGzEVKYVb3zkGfySkk5ktIVufJxKL6xydYbZPzfYdQUyJ2mAnhW6UnKuvuiO
         YviXE9TI6/PLjZX9W97GC0OX1IMvh5XqwVJUoR2QgVuy5Rfz1Kg+a9xQ1W9w43o+BO4q
         PsdCcFo2sshYPFHK0pA7uXV0iEJWOkZAD1vi/PaawE5cY+UySTc+um3yQipVRDXBI2Nm
         c5Rp8sLvsdKbQMGNsVEUFTVwoTTgUrXHaykf/xQzJ6Y30NcnTxZ9HYkjND0F61c4xtlZ
         0eU37IPt6dYXJrjQwGrZSYJaKogZLqWAq2UeytAk6YISB1VxFB/OvWbwjOtApxl20Cnx
         HeTg==
X-Gm-Message-State: AOJu0YwBdnDDAMDwjG0td9NS1g9R32O4QfsgKD0tNodtRzTFQ4GbwOru
	LQoyAGuIXv9N5Uvp24nRBB8GZw==
X-Google-Smtp-Source: AGHT+IGDMJWNBh7L3/s1oXiCq33PVVTLiBNbt/MbNP2Jg71YOV8F+by6BxzlVI3bHz3WEwpQvMCriQ==
X-Received: by 2002:a05:6a20:12c6:b0:154:b4cb:2e8c with SMTP id v6-20020a056a2012c600b00154b4cb2e8cmr18208401pzg.24.1700168942326;
        Thu, 16 Nov 2023 13:09:02 -0800 (PST)
Date: Thu, 16 Nov 2023 13:08:35 -0800
From: Kees Cook <keescook@chromium.org>
To: "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	linux-hardening@vger.kernel.org
Subject: Re: [PATCH][next] xen: privcmd: Replace zero-length array with
 flex-array member and use __counted_by
Message-ID: <202311161307.9422E1896B@keescook>
References: <ZVZlg3tPMPCRdteh@work>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ZVZlg3tPMPCRdteh@work>

On Thu, Nov 16, 2023 at 12:54:59PM -0600, Gustavo A. R. Silva wrote:
> Fake flexible arrays (zero-length and one-element arrays) are deprecated,
> and should be replaced by flexible-array members. So, replace
> zero-length array with a flexible-array member in `struct
> privcmd_kernel_ioreq`.
> 
> Also annotate array `ports` with `__counted_by()` to prepare for the
> coming implementation by GCC and Clang of the `__counted_by` attribute.
> Flexible array members annotated with `__counted_by` can have their
> accesses bounds-checked at run-time via `CONFIG_UBSAN_BOUNDS` (for array
> indexing) and `CONFIG_FORTIFY_SOURCE` (for strcpy/memcpy-family functions).
> 
> This fixes multiple -Warray-bounds warnings:
> drivers/xen/privcmd.c:1239:30: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
> drivers/xen/privcmd.c:1240:30: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
> drivers/xen/privcmd.c:1241:30: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
> drivers/xen/privcmd.c:1245:33: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
> drivers/xen/privcmd.c:1258:67: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
> 
> This results in no differences in binary output.
> 
> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>

Looks right to me. I can see the allocation:

        size = struct_size(kioreq, ports, ioeventfd->vcpus);
        kioreq = kzalloc(size, GFP_KERNEL);
        if (!kioreq)
                return ERR_PTR(-ENOMEM);

        kioreq->dom = ioeventfd->dom;
        kioreq->vcpus = ioeventfd->vcpus;


Reviewed-by: Kees Cook <keescook@chromium.org>

-- 
Kees Cook


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 21:18:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 21:18:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634649.990129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3jka-0004GZ-MQ; Thu, 16 Nov 2023 21:18:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634649.990129; Thu, 16 Nov 2023 21: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 1r3jka-0004GS-Ji; Thu, 16 Nov 2023 21:18:12 +0000
Received: by outflank-mailman (input) for mailman id 634649;
 Thu, 16 Nov 2023 21:18: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=wecx=G5=embeddedor.com=gustavo@srs-se1.protection.inumbo.net>)
 id 1r3jkY-00047l-LY
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 21:18:10 +0000
Received: from omta38.uswest2.a.cloudfilter.net
 (omta38.uswest2.a.cloudfilter.net [35.89.44.37])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a174a5f8-84c5-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 22:18:06 +0100 (CET)
Received: from eig-obgw-5002a.ext.cloudfilter.net ([10.0.29.215])
 by cmsmtp with ESMTPS
 id 3QG6rk8xEKOkL3jkSrw631; Thu, 16 Nov 2023 21:18:04 +0000
Received: from gator4166.hostgator.com ([108.167.133.22]) by cmsmtp with ESMTPS
 id 3jkQrjWYxRQmi3jkRrw92C; Thu, 16 Nov 2023 21:18:03 +0000
Received: from 187-162-21-192.static.axtel.net ([187.162.21.192]:48450
 helo=[192.168.15.10])
 by gator4166.hostgator.com with esmtpsa (TLS1.2) tls
 TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96.2)
 (envelope-from <gustavo@embeddedor.com>) id 1r3jkQ-00371x-0t;
 Thu, 16 Nov 2023 15:18:02 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a174a5f8-84c5-11ee-9b0e-b553b5be7939
X-Authority-Analysis: v=2.4 cv=CdcbWZnl c=1 sm=1 tr=0 ts=6556870b
 a=1YbLdUo/zbTtOZ3uB5T3HA==:117 a=WzbPXH4gqzPVN0x6HrNMNA==:17
 a=OWjo9vPv0XrRhIrVQ50Ab3nP57M=:19 a=dLZJa+xiwSxG16/P+YVxDGlgEgI=:19
 a=IkcTkHD0fZMA:10 a=BNY50KLci1gA:10 a=wYkD_t78qR0A:10 a=VwQbUJbxAAAA:8
 a=cm27Pg_UAAAA:8 a=CB8ylYM2jayAzffc3msA:9 a=QEXdDO2ut3YA:10
 a=AjGcO6oz07-iQ99wixmX:22 a=xmb-EsYY8bH0VWELuYED:22
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=embeddedor.com; s=default; 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: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=z7VN5fe7q4a712jMshNesYxaBgFBwUjNIQyqspWv/5g=; b=V2mSew9FN/FY6qQBitJwrrvBWx
	egEJQgRKNQ7oQeoB7qzWxi8d7kDHxlcUi0laaO2uapZQn1kqX2BBhTuOi5F4Tm1aVGZ///ZTEBIao
	Zh/9FlQMbAc5oKvjMx5lRbCAdB+GQfj+t/RPy7NAAdcTj65yoaW+AQZux7QGhiM2s/ucnU+mF+3z+
	JTPf+oMEbE+dSkC9/CC7yC60ER+wwtRdBh5f5C6GiCKEL9ShkfsLWGLLDvIDu7UZEueYdMMjrGHMV
	iUzAPggDiCKVY9wEC7EZT+XUCLgALD3ao9CrAMpXLZ8Ozkouxq5sF5oqVWqvDaES2kJK2fHq/02iM
	H5a+KsZQ==;
Message-ID: <43bf5965-84c4-420e-91fc-7a0973c27d76@embeddedor.com>
Date: Thu, 16 Nov 2023 15:18:00 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH][next] xen: privcmd: Replace zero-length array with
 flex-array member and use __counted_by
Content-Language: en-US
To: Kees Cook <keescook@chromium.org>,
 "Gustavo A. R. Silva" <gustavoars@kernel.org>
Cc: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-hardening@vger.kernel.org
References: <ZVZlg3tPMPCRdteh@work> <202311161307.9422E1896B@keescook>
From: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
In-Reply-To: <202311161307.9422E1896B@keescook>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - gator4166.hostgator.com
X-AntiAbuse: Original Domain - lists.xenproject.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - embeddedor.com
X-BWhitelist: no
X-Source-IP: 187.162.21.192
X-Source-L: No
X-Exim-ID: 1r3jkQ-00371x-0t
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: 187-162-21-192.static.axtel.net ([192.168.15.10]) [187.162.21.192]:48450
X-Source-Auth: gustavo@embeddedor.com
X-Email-Count: 3
X-Org: HG=hgshared;ORG=hostgator;
X-Source-Cap: Z3V6aWRpbmU7Z3V6aWRpbmU7Z2F0b3I0MTY2Lmhvc3RnYXRvci5jb20=
X-Local-Domain: yes
X-CMAE-Envelope: MS4xfFXhJYW/1EfLht3zA5yuY0XNZc94lYu5BRK6qEIXXcbqv+OxWcsolxNmKsfkxrEYLy+Yhnl7VDF5YHGfvi4WiZlYsOkj0i0u2sBnJAv16u01cu+GM/kt
 lSrX7LOsIke4XsX63LNWjpRb2W+ScVL83VkEyg9ayTWXwdOy/dwdYlW7YID0RWGhpmxEaaL17xU5hItrUndHuxHK/crPF0OpXu7/HaxDXxdag//xcYvTgvDL



On 11/16/23 15:08, Kees Cook wrote:
> On Thu, Nov 16, 2023 at 12:54:59PM -0600, Gustavo A. R. Silva wrote:
>> Fake flexible arrays (zero-length and one-element arrays) are deprecated,
>> and should be replaced by flexible-array members. So, replace
>> zero-length array with a flexible-array member in `struct
>> privcmd_kernel_ioreq`.
>>
>> Also annotate array `ports` with `__counted_by()` to prepare for the
>> coming implementation by GCC and Clang of the `__counted_by` attribute.
>> Flexible array members annotated with `__counted_by` can have their
>> accesses bounds-checked at run-time via `CONFIG_UBSAN_BOUNDS` (for array
>> indexing) and `CONFIG_FORTIFY_SOURCE` (for strcpy/memcpy-family functions).
>>
>> This fixes multiple -Warray-bounds warnings:
>> drivers/xen/privcmd.c:1239:30: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
>> drivers/xen/privcmd.c:1240:30: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
>> drivers/xen/privcmd.c:1241:30: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
>> drivers/xen/privcmd.c:1245:33: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
>> drivers/xen/privcmd.c:1258:67: warning: array subscript i is outside array bounds of 'struct ioreq_port[0]' [-Warray-bounds=]
>>
>> This results in no differences in binary output.
>>
>> Signed-off-by: Gustavo A. R. Silva <gustavoars@kernel.org>
> 
> Looks right to me. I can see the allocation:

Yep, I always check for that; in particular, the 'counter' assignment. :)

Do you want me to mention it in the changelog text?

> 
>          size = struct_size(kioreq, ports, ioeventfd->vcpus);
>          kioreq = kzalloc(size, GFP_KERNEL);
>          if (!kioreq)
>                  return ERR_PTR(-ENOMEM);
> 
>          kioreq->dom = ioeventfd->dom;
>          kioreq->vcpus = ioeventfd->vcpus;
> 
> 
> Reviewed-by: Kees Cook <keescook@chromium.org>

Thanks!
--
Gustavo


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 22:42:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 22:42:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634657.990139 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3l4P-0002dt-B8; Thu, 16 Nov 2023 22:42:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634657.990139; Thu, 16 Nov 2023 22:42: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 1r3l4P-0002dm-8O; Thu, 16 Nov 2023 22:42:45 +0000
Received: by outflank-mailman (input) for mailman id 634657;
 Thu, 16 Nov 2023 22:42: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 1r3l4N-0002dc-8p; Thu, 16 Nov 2023 22:42: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 1r3l4N-0008Vb-2k; Thu, 16 Nov 2023 22:42: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 1r3l4M-0004Sk-LS; Thu, 16 Nov 2023 22:42:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3l4M-0003vF-Ku; Thu, 16 Nov 2023 22:42: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=yFL01rHPvJ5YWBhKPqUZ3FJ5IJNGYsm4uvPnnoHSIjU=; b=jmE9tbE+0Z797IWbntUQcGSNH9
	oXbGwX8Uh6NsUqYrDq1jL4VmsFDIrJ/QdaKs9ZqEUlGnpKfGSw65QmIqO1ERieMeB/69Ep8vHcpwa
	etE7DIUad0AfX08hqqp5zYuEXqx0/d+rg94tuGhOk6AtC4mX8PTKa8Lm4QNNovQZleAg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183772-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 183772: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-debianhvm-amd64:guest-localmigrate/x10:fail:heisenbug
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3ddbddf143fbd164c55e46c5a276f6606e5cc843
X-Osstest-Versions-That:
    xen=1924da16239703edc7be6de0f5a549a30aa84b82
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 16 Nov 2023 22:42:42 +0000

flight 183772 xen-4.18-testing real [real]
flight 183776 xen-4.18-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/183772/
http://logs.test-lab.xenproject.org/osstest/logs/183776/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-debianhvm-amd64 18 guest-localmigrate/x10 fail pass in 183776-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183764
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183764
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183764
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183764
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183764
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183764
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183764
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183764
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183764
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183764
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183764
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183764
 test-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 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-libvirt     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-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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-xl          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-support-check    fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  3ddbddf143fbd164c55e46c5a276f6606e5cc843
baseline version:
 xen                  1924da16239703edc7be6de0f5a549a30aa84b82

Last test of basis   183764  2023-11-15 12:36:55 Z    1 days
Testing same since   183772  2023-11-16 12:38:40 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.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                    fail    
 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-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-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
   1924da1623..3ddbddf143  3ddbddf143fbd164c55e46c5a276f6606e5cc843 -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 22:51:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 22:51:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634663.990152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3lCG-0004mo-4w; Thu, 16 Nov 2023 22:50:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634663.990152; Thu, 16 Nov 2023 22:50: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 1r3lCG-0004mh-1w; Thu, 16 Nov 2023 22:50:52 +0000
Received: by outflank-mailman (input) for mailman id 634663;
 Thu, 16 Nov 2023 22:50: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=trnS=G5=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r3lCE-0004ma-A9
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 22:50:50 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 94724f41-84d2-11ee-9b0e-b553b5be7939;
 Thu, 16 Nov 2023 23:50:47 +0100 (CET)
Received: from mg.gitlab.com (24.226.74.34.bc.googleusercontent.com
 [34.74.226.24]) by
 2a3830d76978 with SMTP id 65569cc496fdd5e2e6deb997 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 16 Nov 2023 22:50:44 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 94724f41-84d2-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700175045; x=1700182245; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=0fJ4f7pFJpBPIAq9rAVyrerP5jIWnlufNYIFgCEIVok=;
 b=WcWOc8H8ESpiiVI2xj78XS0IXRLyMAVgXr0zcHJ1kOo4kb+T1QDSZzbOjISl2Y4YjYaKfkhVPM9mJT1hmnTNh7u6GJ8Vk2fyy5gc9k9KfMWQ1fbUlpn5BqDLo+bmsKcuVeti6Y8EFQ1rjWERmqiZPdNZWN2YXN8WXNsYQUd7PXk=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 16 Nov 2023 22:50:44 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65569cc4a09f4_2cf93eb8948de@gitlab-sidekiq-catchall-v2-776d5d766c-46lv6.mail>
Subject: xen | Successful pipeline for staging-4.18 | d75f1e9b
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65569cc496b77_2cf93eb89476b";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1075579727
X-GitLab-Pipeline-Ref: staging-4.18
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65569cc496b77_2cf93eb89476b
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1075579727 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.18 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.18 )

Commit: d75f1e9b ( https://gitlab.com/xen-project/xen/-/commit/d75f1e9b74314cea91ce435730d4e3539ecca77d )
Commit Message: SUPPORT.md: Update release notes URL

Signed-of...
Commit Author: Julien Grall



Pipeline #1075579727 ( https://gitlab.com/xen-project/xen/-/pipelines/1075579727 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65569cc496b77_2cf93eb89476b
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging-4.18 | d75f1e9b</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1075579727 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.18" style=3D"color: #333333; text-decoration: none;">
staging-4.18
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/d75f1e9b74314cea91=
ce435730d4e3539ecca77d" style=3D"color: #3777b0; text-decoration: none;">=
d75f1e9b</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
SUPPORT.md: Update release notes URL

Signed-of...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/c4cdf37f0b2565754a400ffda114e915?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107557=
9727" style=3D"color: #3777b0; text-decoration: none;">#1075579727</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65569cc496b77_2cf93eb89476b--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 23:05:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 23:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634704.990162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3lQ9-00075Q-HD; Thu, 16 Nov 2023 23:05:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634704.990162; Thu, 16 Nov 2023 23: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 1r3lQ9-00075J-EV; Thu, 16 Nov 2023 23:05:13 +0000
Received: by outflank-mailman (input) for mailman id 634704;
 Thu, 16 Nov 2023 23:05: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=ePBE=G5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3lQ8-00075D-Mo
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 23:05:12 +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 97d5058a-84d4-11ee-98db-6d05b1d4d9a1;
 Fri, 17 Nov 2023 00:05:11 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 67C16B81EFC;
 Thu, 16 Nov 2023 23:05:10 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2FAD8C433C8;
 Thu, 16 Nov 2023 23:05: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: 97d5058a-84d4-11ee-98db-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700175909;
	bh=i1M0oOFM0sXnzxemSR+lMx7ZvDswDpveoSLf3Ll5lDE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=u7rpvOD8C/SDBs6ZSJ8UDb4DE5lKxSb51uR7sxMt/3tt0plA55WxrQ+PIfqLgNSb+
	 eaqP17aBPB64+hf+7RdNX3wupqYH5XGsMAIbNRD4rxcTb2CbqgJn4v/Iod0yO2I+4F
	 AF5yduJM4TXgKQQbb/jYHTWS5Ioy9ciWHWo9LF7N1BRFvine+zYLB/23fzK/0JSVaz
	 ifEah1wmi8bk2iJvLMw/TnxLF23xqvYbQGR9Ue9GHUD5erhxFivB14U+AukwEo6fmV
	 /SfawN1Vno+tsCWpLt5QqowY4TsmUNgysB/5JZvBzytwVIwLzAmn7YvWe/ibR66N3F
	 JLRxB0pmXAOfQ==
Date: Thu, 16 Nov 2023 15:04:49 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, 
    Julien Grall <julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    "vikram.garhwal@amd.com" <vikram.garhwal@amd.com>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
In-Reply-To: <875y2168ki.fsf@epam.com>
Message-ID: <alpine.DEB.2.22.394.2311161504440.773207@ubuntu-linux-20-04-desktop>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com> <20231115112611.3865905-3-Sergiy_Kibrik@epam.com> <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org> <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com> <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <875y2168ki.fsf@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 16 Nov 2023, Volodymyr Babchuk wrote:
> Hi Stefano,
> 
> Stefano Stabellini <sstabellini@kernel.org> writes:
> 
> > + Stewart, Vikram
> >
> > On Wed, 15 Nov 2023, Oleksandr Tyshchenko wrote:
> >> On 15.11.23 14:33, Julien Grall wrote:
> >> > Thanks for adding support for virtio-pci in Xen. I have some questions.
> >> > 
> >> > On 15/11/2023 11:26, Sergiy Kibrik wrote:
> >> >> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> >> >>
> >> >> In order to enable more use-cases such as having multiple
> >> >> device-models (Qemu) running in different backend domains which provide
> >> >> virtio-pci devices for the same guest, we allocate and expose one
> >> >> PCI host bridge for every virtio backend domain for that guest.
> >> > 
> >> > OOI, why do you need to expose one PCI host bridge for every stubdomain?
> >> > 
> >> > In fact looking at the next patch, it seems you are handling some of the 
> >> > hostbridge request in Xen. This is adds a bit more confusion.
> >> > 
> >> > I was expecting the virtual PCI device would be in the vPCI and each 
> >> > Device emulator would advertise which BDF they are covering.
> >> 
> >> 
> >> This patch series only covers use-cases where the device emulator 
> >> handles the *entire* PCI Host bridge and PCI (virtio-pci) devices behind 
> >> it (i.e. Qemu). Also this patch series doesn't touch vPCI/PCI 
> >> pass-through resources, handling, accounting, nothing. From the 
> >> hypervisor we only need a help to intercept the config space accesses 
> >> happen in a range [GUEST_VIRTIO_PCI_ECAM_BASE ... 
> >> GUEST_VIRTIO_PCI_ECAM_BASE + GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE] and 
> >> forward them to the linked device emulator (if any), that's all.
> >> 
> >> It is not possible (with current series) to run device emulators what
> >> emulate only separate PCI (virtio-pci) devices. For it to be possible, I 
> >> think, much more changes are required than current patch series does. 
> >> There at least should be special PCI Host bridge emulation in Xen (or 
> >> reuse vPCI) for the integration. Also Xen should be in charge of forming 
> >> resulting PCI interrupt based on each PCI device level signaling (if we 
> >> use legacy interrupts), some kind of x86's XEN_DMOP_set_pci_intx_level, 
> >> etc. Please note, I am not saying this is not possible in general, 
> >> likely it is possible, but initial patch series doesn't cover these 
> >> use-cases)
> >>
> >> We expose one PCI host bridge per virtio backend domain. This is a 
> >> separate PCI host bridge to combine all virtio-pci devices running in 
> >> the same backend domain (in the same device emulator currently).
> >> The examples:
> >> - if only one domain runs Qemu which servers virtio-blk, virtio-net, 
> >> virtio-console devices for DomU - only single PCI Host bridge will be 
> >> exposed for DomU
> >> - if we add another domain to run Qemu to serve additionally virtio-gpu, 
> >> virtio-input and virtio-snd for the *same* DomU - we expose second PCI 
> >> Host bridge for DomU
> >> 
> >> I am afraid, we cannot end up exposing only single PCI Host bridge with 
> >> current model (if we use device emulators running in different domains 
> >> that handles the *entire* PCI Host bridges), this won't work.
> >  
> >
> > We were discussing the topic of vPCI and Virtio PCI just this morning
> > with Stewart and Vikram. We also intend to make them work well together
> > in the next couple of months (great timing!!)
> >
> > However, our thinking is to go with the other approach Julien
> > suggested: a single PCI Root Complex emulated in Xen by vPCI. QEMU would
> > register individual PCI devices against it.
> >
> > Vikram, Stewart, please comment. Our understanding is that it should be
> > possible to make QEMU virtio-pci work with vPCI with relatively minor
> > efforts and AMD volunteers to do the work in the next couple of months
> > on the vPCI side.
> >
> >
> > Although it should be possible to make both approaches work at the same
> > time, given that it would seem that EPAM and AMD have very similar
> > requirements, I suggest we work together and collaborate on a single
> > approach going forward that works best for everyone.
> >
> >
> > Let me start by saying that if we can get away with it, I think that a
> > single PCI Root Complex in Xen would be best because it requires less
> > complexity. Why emulate 2/3 PCI Root Complexes if we can emulate only
> > one?
> 
> Well, in fact we tried similar setup, this was in the first version of
> virtio-pci support. But we had a couple of issues with this. For
> instance, this might conflict with PCI passthrough devices, with virtio
> devices that have back-ends in different domains, etc. I am no saying
> that this is impossible, but this just involves more moving parts.
> 
> With my vPCI patch series in place, hypervisor itself assigns BDFs for
> passed-through devices. Toolstack needs to get this information to know
> which BDFs are free and can be used by virtio-pci.

I'll premise that I don't really have an opinion on how the virtual BDF
allocation should happen.

But I'll ask the opposite question that Julien asked: if it is Xen that
does the allocation, that's fine, then couldn't we arrange so that Xen
also does the allocation in the toolstack case too (simply by picking
the first available virtual BDF)?

One way or the other it should be OK as long as we are consistent.


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 23:13:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 23:13:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634707.990173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3lXU-0000mO-6Y; Thu, 16 Nov 2023 23:12:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634707.990173; Thu, 16 Nov 2023 23: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 1r3lXU-0000mH-3K; Thu, 16 Nov 2023 23:12:48 +0000
Received: by outflank-mailman (input) for mailman id 634707;
 Thu, 16 Nov 2023 23:12: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=ePBE=G5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3lXS-0000mB-RH
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 23:12:46 +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 a571f03b-84d5-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 00:12:44 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 9757261BEC;
 Thu, 16 Nov 2023 23:12:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B94C7C433C8;
 Thu, 16 Nov 2023 23:12:39 +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: a571f03b-84d5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700176362;
	bh=Wxb3DtYTe23fEMHKUZEE6WZBpPDcJd4ks8nGwGN/WpU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pzUw+lBeYCIF4xTHByHz7GNB4IKjdeyk8i2h1SfHV99iBHt/XXUYe9iKyVmC9hiJL
	 JNu82ReEgREhFjG2+MQjThM5UN2LhbcsOe1zMMiIqm4zXpKKU8hWd7IrXoPiTaIDpu
	 HsIWrxpC2xYPYVUUQlTwUmkL/4EVS07tUcbmGvfDe2MwxehKwZ89AOdfCJxvmvWgil
	 lO+pJTSMFoZAPjXil/fkTcAgXxTwyp02ThPyoslYakDGCayL+wzg0ggSm3/2neB/9N
	 tZSlKL9OPGmUTF2oHNdHazfXmHHo7TntmHHgoCL85exiotnfTpM/XBXeIG4NCvAccB
	 fm0Ip8IgEwBfg==
Date: Thu, 16 Nov 2023 15:12:38 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Mario Marietto <marietto2008@gmail.com>
cc: Chuck Zmudzinski <brchuckz@netscape.net>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Robin Murphy <robin.murphy@arm.com>, Chuck Zmudzinski <brchuckz@aol.com>, 
    linux-arm-kernel@lists.infradead.org, Russell King <linux@armlinux.org.uk>, 
    Juergen Gross <jgross@suse.com>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
    Marek Szyprowski <m.szyprowski@samsung.com>, 
    Andrew Morton <akpm@linux-foundation.org>, 
    Mathieu Poirier <mathieu.poirier@linaro.org>, 
    Greg Kroah-Hartman <gregkh@linuxfoundation.org>, 
    "Matthew Wilcox (Oracle)" <willy@infradead.org>, 
    Linus Walleij <linus.walleij@linaro.org>, Jason Gunthorpe <jgg@ziepe.ca>, 
    Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
In-Reply-To: <CA+1FSij82weDFfsfBQpnPjQJ9K6JVhHxF4JTOKPjwm-8SUrD=A@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2311161507400.773207@ubuntu-linux-20-04-desktop>
References: <20231111184538.2371-1-brchuckz.ref@aol.com> <20231111184538.2371-1-brchuckz@aol.com> <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com> <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop> <edefba96-0a17-4b3d-992c-6bfe9e62bf97@netscape.net>
 <CA+1FSih45=vtpa+bfYGDFEXd6u=+V8wLsBoo8=2rmj7V0Lj_Ow@mail.gmail.com> <CA+1FSiiuFMvZAHHXFQHRF=gQSoZTxLEZSDYfCgw8j6HiGkkDXw@mail.gmail.com> <CA+1FSij82weDFfsfBQpnPjQJ9K6JVhHxF4JTOKPjwm-8SUrD=A@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-171887673-1700176362=:773207"

  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-171887673-1700176362=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

My guess is that the issue is one of these two:

1) version mismatch between Xen and Xen tools
   E.g. Xen from staging and Xen Tools from 4.18

2) missing Xen modules in Linux Dom0
   Was /etc/init.d/xencommons run at boot?
   Is /proc/xen mounted?
   Are the privcmd, gntdev, xenfs, modules loaded?


On Thu, 16 Nov 2023, Mario Marietto wrote:
> I've found a similar error on this post,made on 2012 :
> https://groups.google.com/g/qubes-devel/c/W1lM4ELuVVI
> and according to what has been asked there,I want to post some further relevant informations to help you to help me to debug 
> the problem :
> root@devuan-bunsen:/Dati/xen# xl dmesg ---> https://pastebin.ubuntu.com/p/YvtdCPwMWW/
> 
> root@devuan-bunsen:/Dati/xen# dmesg ---> https://pastebin.ubuntu.com/p/9cNxCTXVrd/
> root@devuan-bunsen:/var/log/xen# mousepad xenstored-access.log ---> https://pastebin.ubuntu.com/p/RTPBG9nS8R/
> root@devuan-bunsen:/var/log/xen# mousepad xenstored.log ---> https://pastebin.ubuntu.com/p/T354ts33nP/
> 
> very thanks.
> 
> On Thu, Nov 16, 2023 at 10:51 AM Mario Marietto <marietto2008@gmail.com> wrote:
>       Hello to everyone.
> 
> I'm trying to boot Linux 6.1.y as Xen dom0 on the Chromebook xe303c12, aka Snow and configure and start a very basic domU
> guest,following the Chuck's tutorial,located here :
> 
> https://github.com/mobile-virt/u-boot-chromebook-xe303c12/tree/chromebook/xen#starting-a-domu-guest
> 
> What I did has been to carefully follow his instructions,but I haven't found a solution to fix this problem,yet :
> 
> # sudo xl create devuan.cfg -c
> 
> Parsing config from devuan.cfg
> libxl: error: libxl_create.c:720:libxl__domain_make: domain creation fail: Permission denied
> libxl: error: libxl_create.c:1309:initiate_domain_create: cannot make domain: -3
> 
> This is my devuan.cfg file :
> 
> kernel = '/Dati/xen/kernels/zImage-6.1.59-stb-xen-cbe+'
> memory = '512'
> name = 'Devuan'
> vcpus = '1'
> disk = [ '/Dati/xen/devuan.img,,xvda,w' ]
> extra = 'console=hvc0 root=/dev/xvda rw init=/sbin/init xen-fbfront.video=24,1024,768'
> 
> (I have tried also with root=/dev/xvda1 and root=/dev/xvda2,but leaving disk = [ '/Dati/xen/devuan.img,,xvda,w' ] and not xvda1 or 2)
> 
> I have no  idea about the reason(s) I always get that error,but I don't think it is caused by a wrong creation of the devuan.img
> file. Can someone point me in the right direction to understand what could be wrong ? I haven't found any useful information on the
> internet.
> 
> This is bootxen.scr file where I have configured dom0_mem=768 :
> 
> mmc dev 1
> ext2load mmc 1:3 0x42000000 zImage-6.6.0-xen-iommu-dma-on-xen
> ext2load mmc 1:3 0x51000000 xen-4.17-armhf-armmp-0x51004000.ub
> ext2load mmc 1:3 0x5ffec000 exynos5250-snow.dtb
> fdt addr 0x5ffec000
> fdt resize 1024
> fdt set /chosen \#address-cells <0x2>
> fdt set /chosen \#size-cells <0x2>
> fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=serial0 dom0_mem=768M dom0_max_vcpus=2 bootscrub=0 vwfi=native sched=null"
> fdt mknod /chosen dom0
> fdt set /chosen/dom0 compatible  "xen,linux-zimage" "xen,multiboot-module" "multiboot,module"
> fdt set /chosen/dom0 reg <0x0 0x42000000 0x0 0x87C200 >
> fdt set /chosen xen,dom0-bootargs "console=tty1 root=/dev/mmcblk1p4 rw rootwait clk_ignore_unused --no-log"
> bootm 0x51000000 - 0x5ffec000
> 
> and I've rebooted the Chromebook using this command :
> 
> SMDK5250 # mmc dev 1
> SMDK5250 # ext2load mmc 1:3 0x50000000 bootxen.scr; source 0x50000000
> 
> This is the memory available on the machine after having booted the machine ready for xen :
> # free -m
>               total        used        free      shared  buff/cache   available
> Mem:             741         329         108           7         332         412
> Swap:              0           0           0
> 
> Thanks in advance for any support.
> 
> On Wed, Nov 15, 2023 at 8:41 PM Mario Marietto <marietto2008@gmail.com> wrote:
>       ---> So I plan to do some tests and see what DMA ops the other devices use if swiotlb-xen is disabled and also what DMA
>       ops the other devices use when Linux runs on the Chromebook on bare metal without Xen. If these tests show the problem
>       can be fixed by disabling swiotlb-xen with a Kconfig  or command line option, I will propose v2 to implement that as a
>       solution.
> 
> and this could bring you to the next level of our project. Try to install xen on different devices. At least it is my next
> project. I've already bought two arm64 phones where xen can be installed because there is a hack to overcome the bootloader /
> hypervisor protection mechanism. For sure I hope that you also want to buy them to work on this together. And don't worry about
> how much money they will cost you. I've bought them used and refurbished. Or you could buy only one,that I suggest could be the
> SM-A600G (Samsung Galaxy A6) with Exynos7870. Please start looking for it at a good price. 
> 
> On Wed, Nov 15, 2023 at 6:57 PM Chuck Zmudzinski <brchuckz@netscape.net> wrote:
>       On 11/14/2023 5:20 PM, Stefano Stabellini wrote:
>       > On Tue, 14 Nov 2023, Robin Murphy wrote:
>       >> On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
>       >> > Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error when
>       >> > attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook Snow
>       >> > (and probably on other devices that use the Exynos mixer):
>       >> >
>       >> > [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
>       >> > exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
>       >> > exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR* Device
>       >> >                               14450000.mixer lacks support for IOMMU
>       >> > exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc0d97554): -22
>       >> > exynos-drm exynos-drm: adev bind failed: -22
>       >> > exynos-dp: probe of 145b0000.dp-controller failed with error -22
>       >> >
>       >> > Linux normally uses xen_swiotlb_dma_ops for DMA for all devices when
>       >> > xen_swiotlb is detected even when Xen exposes an IOMMU to Linux. Enabling
>       >> > the new config option allows devices such as the Exynos mixer to use the
>       >> > IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the error.
>       >> >
>       >> > The new config option is not set by default because it is likely some
>       >> > devices that use IOMMU for DMA on Xen will cause DMA errors and memory
>       >> > corruption when Xen PV block and network drivers are in use on the system.
>       >> >
>       >> > Link:
>       >> > https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netscape.net/
>       >> >
>       >> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
>       >> > ---
>       >> > The reported error with the Exynos mixer is not fixed by default by adding
>       >> > a second patch to select the new option in the Kconfig definition for the
>       >> > Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it is
>       >> > not certain setting the config option is suitable for all cases. So it is
>       >> > necessary to explicitly select the new config option during the config
>       >> > stage of the Linux kernel build to fix the reported error or similar
>       >> > errors that have the same cause of lack of support for IOMMU on Xen. This
>       >> > is necessary to avoid any regressions that might be caused by enabling the
>       >> > new option by default for the Exynos mixer.
>       >> >   arch/arm/mm/dma-mapping.c |  6 ++++++
>       >> >   drivers/xen/Kconfig       | 16 ++++++++++++++++
>       >> >   2 files changed, 22 insertions(+)
>       >> >
>       >> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
>       >> > index 5409225b4abc..ca04fdf01be3 100644
>       >> > --- a/arch/arm/mm/dma-mapping.c
>       >> > +++ b/arch/arm/mm/dma-mapping.c
>       >> > @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev, u64
>       >> > dma_base, u64 size,
>       >> >    if (iommu)
>       >> >            arm_setup_iommu_dma_ops(dev, dma_base, size, iommu, coherent);
>       >> >   +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
>       >>
>       >> FWIW I don't think this really needs a config option - if Xen *has* made an
>       >> IOMMU available, then there isn't really much reason not to use it, and if for
>       >> some reason someone really didn't want to then they could simply disable the
>       >> IOMMU driver anyway.
>       >
>       > The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen
>       > doesn't recognize the Exynos IOMMU (it is not one of the IOMMUs Xen has
>       > a driver for) so it assigns the IOMMU to Dom0. It doesn't happen on
>       > purpose, it happens by accident. Certain things are going to break,
>       > specifically I am fairly certain PV drivers are going to break.
>       >
>       > If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide it
>       > from Dom0. (Today Xen doesn't have a list of IOMMUs Xen recognizes but
>       > doesn't have a driver for.)
>       >
>       > I think it is OK for Chuck and others to play around with this
>       > configuration but I wouldn't add a new kconfig option to Linux to
>       > support it.
>       >
>       > If we do want a kconfig option, I would add a kconfig option or Linux
>       > command line option to enable/disable swiotlb-xen. Basically a way to
>       > force-enable or force-disable xen_swiotlb_detect(). That could be
>       > generally useful for debugging and would also solve the problem here as
>       > it could be used to force-disable swiotlb-xen. I would imagine that the
>       > end result is the same: the default ops (iommu_ops) are used.
> 
>       I will try this. It isn't exactly what I have tested until now because
>       in all my tests so far all the DMA capable devices on the Chromebook use
>       swioltlb-xen except for the two devices that need to use the Exynos IOMMU
>       to fix the error with the Exynos mixer.
> 
>       >
>       >
>       >
>       >> > +  if (dev->dma_ops == &iommu_ops) {
>       >> > +          dev->archdata.dma_ops_setup = true;
>       >>
>       >> The existing assignment is effectively unconditional by this point anyway, so
>       >> could probably just be moved earlier to save duplicating it (or perhaps just
>       >> make the xen_setup_dma_ops() call conditional instead to save the early return
>       >> as well).
>       >>
>       >> However, are the IOMMU DMA ops really compatible with Xen? The comments about
>       >> hypercalls and foreign memory in xen_arch_need_swiotlb() leave me concerned
>       >> that assuming non-coherent DMA to any old Dom0 page is OK might not actually
>       >> work in general :/
>       >
>       > Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the
>       > IOMMU while also it exposes a virtual IOMMU to guests.) In those cases
>       > the iommu_ops should be compatible with Xen.
>       >
>       > swiotlb-xen is useful in cases where there is no IOMMU on the platform
>       > (or the IOMMU doesn't cover all DMA-capable devices) and Dom0 is 1:1
>       > mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0 is
>       > not 1:1 mapped swiotlb-xen doesn't work. If an IOMMU is present and
>       > covers all DMA-capable devices, then swiotlb-xen is superfluous.
> 
>       It seems that swiotlb-xen works on this Chromebook since all but two
>       of the DMA capable devices use it when configured with the Kconfig option
>       added here and it seems to work fine so I presume Dom0 is 1:1 mapped as
>       expected. It is possible that on this device, the IOMMU is only covering
>       the two devices that need to use the Exynos IOMMU in the tests I have done.
>       There are many other DMA capable devices that use swiotlb-xen DMA ops
>       on Xen, but I have not checked what DMA ops the other devices use when
>       Linux runs on the Chromebook on bare metal without Xen.
> 
>       So I plan to do some tests and see what DMA ops the other devices use if
>       swiotlb-xen is disabled and also what DMA ops the other devices use when
>       Linux runs on the Chromebook on bare metal without Xen. If these tests
>       show the problem can be fixed by disabling swiotlb-xen with a Kconfig  or
>       command line option, I will propose v2 to implement that as a solution.
> 
>       > This last case is the interesting case for virtual IOMMU and Linux usage of
>       > iommu_ops.
> 
> 
> 
> --
> Mario.
> 
> 
> 
> --
> Mario.
> 
> 
> 
> --
> Mario.
> 
> 
--8323329-171887673-1700176362=:773207--


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 23:28:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 23:28:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634710.990182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3lmn-0003pO-GZ; Thu, 16 Nov 2023 23:28:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634710.990182; Thu, 16 Nov 2023 23: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 1r3lmn-0003pH-Ds; Thu, 16 Nov 2023 23:28:37 +0000
Received: by outflank-mailman (input) for mailman id 634710;
 Thu, 16 Nov 2023 23: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=ePBE=G5=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3lml-0003os-Ri
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 23:28:35 +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 daf4cc85-84d7-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 00:28:33 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 81BD461BA0;
 Thu, 16 Nov 2023 23:28:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C3FF4C433C7;
 Thu, 16 Nov 2023 23:28: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: daf4cc85-84d7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700177311;
	bh=XjzKHAeto16ebMw7jxHjTa2WXkm7hU8t5jWEZ5Kuq5M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HvRL5ir8nF62euaEj+1QAHorkgxo9+/oh/f43Brb8v2BHVg+CJ0Stg96lFBFmUh2Y
	 bZaB+R6skldakD2EkoLQnMg5nCHVaTBFfROZv4JvVnMX5HzMJG8pI3AeF+ebniw90t
	 mmOH4pWixdct4fRuE9Hdh6wFG3oVZ9aXeLlN5pWBngGHG3k0dJhXOnepGtbaf0umNZ
	 BmO9qLbTjc294au345Kt/RXoSc0z1Ds1zIC2X5sF/Xx0PJscD6WJXH9SstCt5aEW70
	 6ia/qjmq5HYupF2Og1LLcJu1kpmwRbSnBiVZVPWnBuQois4SUgAkskj6FcJ/yDqCsn
	 QvqsPJ+72f4NA==
Date: Thu, 16 Nov 2023 15:28:28 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
In-Reply-To: <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com> <20231012220854.2736994-14-volodymyr_babchuk@epam.com> <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 16 Nov 2023, Julien Grall wrote:
> IIUC, this means that Xen will allocate the BDF. I think this will become a
> problem quite quickly as some of the PCI may need to be assigned at a specific
> vBDF (I have the intel graphic card in mind).
> 
> Also, xl allows you to specificy the slot (e.g. <bdf>@<vslot>) which would not
> work with this approach.
> 
> For dom0less passthrough, I feel the virtual BDF should always be specified in
> device-tree. When a domain is created after boot, then I think you want to
> support <bdf>@<vslot> where <vslot> is optional.

Hi Julien,

I also think there should be a way to specify the virtual BDF, but if
possible (meaning: it is not super difficult to implement) I think it
would be very convenient if we could let Xen pick whatever virtual BDF
Xen wants when the user doesn't specify the virtual BDF. That's
because it would make it easier to specify the configuration for the
user. Typically the user doesn't care about the virtual BDF, only to
expose a specific host device to the VM. There are exceptions of course
and that's why I think we should also have a way for the user to
request a specific virtual BDF. One of these exceptions are integrated
GPUs: the OS drivers used to have hardcoded BDFs. So it wouldn't work if
the device shows up at a different virtual BDF compared to the host.

Thinking more about this, one way to simplify the problem would be if we
always reuse the physical BDF as virtual BDF for passthrough devices. I
think that would solve the problem and makes it much more unlikely to
run into drivers bugs.

And we allocate a "special" virtual BDF space for emulated devices, with
the Root Complex still emulated in Xen. For instance, we could reserve
ff:xx:xx and in case of clashes we could refuse to continue. Or we could
allocate the first free virtual BDF, after all the pasthrough devices.

Example:
- the user wants to assign physical 00:11.5 and b3:00.1 to the guest
- Xen create virtual BDFs 00:11.5 and b3:00.1 for the passthrough devices
- Xen allocates the next virtual BDF for emulated devices: b4:xx.x
- If more virtual BDFs are needed for emulated devices, Xen allocates
  b5:xx.x

I still think, no matter the BDF allocation scheme, that we should try
to avoid as much as possible to have two different PCI Root Complex
emulators. Ideally we would have only one PCI Root Complex emulated by
Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
tolerable but not ideal. The worst case I would like to avoid is to have
two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.


From xen-devel-bounces@lists.xenproject.org Thu Nov 16 23:33:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 16 Nov 2023 23:33:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634714.990193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3lrV-0005QA-62; Thu, 16 Nov 2023 23:33:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634714.990193; Thu, 16 Nov 2023 23:33: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 1r3lrV-0005Q3-2p; Thu, 16 Nov 2023 23:33:29 +0000
Received: by outflank-mailman (input) for mailman id 634714;
 Thu, 16 Nov 2023 23:33: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=trnS=G5=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r3lrT-0005Px-Kj
 for xen-devel@lists.xenproject.org; Thu, 16 Nov 2023 23:33:27 +0000
Received: from m202-219.mailgun.net (m202-219.mailgun.net [161.38.202.219])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 88e7042d-84d8-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 00:33:25 +0100 (CET)
Received: from mg.gitlab.com (29.226.74.34.bc.googleusercontent.com
 [34.74.226.29]) by
 ce055c82f7bb with SMTP id 6556a6c11fe102271853047f (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 16 Nov 2023 23:33:21 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 88e7042d-84d8-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700177601; x=1700184801; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=Q+jhiUme3Z5v107QT0jAO3H+Z2YpQu6LRJgIbFuo2pU=;
 b=esf3ZQEzGKHlBj6EHFWuS0O0Jua9//tzmUtqfq9X1NkkmM82bnB2yIZ5HPZH6buJ+1iMYQh2+K1Ayxt1iohxB0xFSnLuckGFZkF/5cpZkX59DxE4wUUuIsbDhkgmNvhZWJsWmlPupAnkltahzhiJMWTry/mM4fNw2BP7fW4W+tU=
X-Mailgun-Sending-Ip: 161.38.202.219
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 16 Nov 2023 23:33:21 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6556a6c15369c_2c9b3c062996@gitlab-sidekiq-catchall-v2-776d5d766c-4btgs.mail>
Subject: xen | Successful pipeline for RELEASE-4.18.0 | d75f1e9b
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6556a6c136dcb_2c9b3c0628dc";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1075582892
X-GitLab-Pipeline-Ref: RELEASE-4.18.0
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6556a6c136dcb_2c9b3c0628dc
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1075582892 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: RELEASE-4.18.0 ( https://gitlab.com/xen-project/xen/-/commits/RELEASE-4.18.0 )

Commit: d75f1e9b ( https://gitlab.com/xen-project/xen/-/commit/d75f1e9b74314cea91ce435730d4e3539ecca77d )
Commit Message: SUPPORT.md: Update release notes URL

Signed-of...
Commit Author: Julien Grall



Pipeline #1075582892 ( https://gitlab.com/xen-project/xen/-/pipelines/1075582892 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6556a6c136dcb_2c9b3c0628dc
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for RELEASE-4.18.0 | d75f1e9b</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1075582892 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/R=
ELEASE-4.18.0" style=3D"color: #333333; text-decoration: none;">
RELEASE-4.18.0
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/d75f1e9b74314cea91=
ce435730d4e3539ecca77d" style=3D"color: #3777b0; text-decoration: none;">=
d75f1e9b</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
SUPPORT.md: Update release notes URL

Signed-of...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/c4cdf37f0b2565754a400ffda114e915?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107558=
2892" style=3D"color: #3777b0; text-decoration: none;">#1075582892</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6556a6c136dcb_2c9b3c0628dc--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 00:05:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 00:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634754.990203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3mLz-0003YL-0I; Fri, 17 Nov 2023 00:04:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634754.990203; Fri, 17 Nov 2023 00: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 1r3mLy-0003YE-TO; Fri, 17 Nov 2023 00:04:58 +0000
Received: by outflank-mailman (input) for mailman id 634754;
 Fri, 17 Nov 2023 00: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3mLx-0003Y8-I2
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 00:04:57 +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 eed945d7-84dc-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 01:04:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 6941ECE0171;
 Fri, 17 Nov 2023 00:04:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B2E0FC433C7;
 Fri, 17 Nov 2023 00:04: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: eed945d7-84dc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700179489;
	bh=ELWqrmofHGN608T0fZh4BMqv/hj0bTcbDgZZW6JOYuY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FKZOwUvd2PTAf/Y7ik6+zMBK6BDwn9LXq9oQKeCdmkg5hgGhVHMLzP2sLsbmyntY+
	 FywOFxfum3BsSIm9zLGSrd+Wql7GpBMHoJdgUEJQmM8n/8pa8M7CIVhbm6W9FbDnUT
	 fXHX8ly5bn9ooA0Vy2iifeROBOsoCdo1ketdKLo1S1p9cW7zQ2RjRE519JaikEXPy5
	 CUaJNfV1utEPpoYnPbB9qTbJjwusjfXp8W9hOcOUUMGY0EgIUQlPWsQrLPjSh27PLd
	 QPO20ue+TVvChCHbKIQe9daj0DLtW1L9ikHJtPK4wlKFEfndhysUskYExU18ERQRtG
	 2xTrGWXMNVZWg==
Date: Thu, 16 Nov 2023 16:04:47 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Chuck Zmudzinski <brchuckz@netscape.net>
cc: Mario Marietto <marietto2008@gmail.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    xen-devel <xen-devel@lists.xenproject.org>
Subject: Re: Values generated by the ViryaOS uboot-script-gen do not work
 correctly on the Chromebook Snow
In-Reply-To: <405ed379-3e23-4d58-bc67-b27f18155241@netscape.net>
Message-ID: <alpine.DEB.2.22.394.2311161603290.773207@ubuntu-linux-20-04-desktop>
References: <CA+1FSiiq9Z2sWq9R=7wEA0=LCavohupBedJOVnGrCHGiMZhR=A@mail.gmail.com> <alpine.DEB.2.22.394.2311141445120.160649@ubuntu-linux-20-04-desktop> <CA+1FSijk1gVZ2OZC=UCWQzUed2Ve5Nu5CagSTAnHPGf0hBRy-A@mail.gmail.com> <alpine.DEB.2.22.394.2311141513330.160649@ubuntu-linux-20-04-desktop>
 <CA+1FSijOYJneLxEfss2BoY0Q4vafa+gVdQeyOfy7A_bTAA6QLw@mail.gmail.com> <0aeaf3a8-096b-4ae2-be40-6d39914b28ea@netscape.net> <alpine.DEB.2.22.394.2311151542030.160649@ubuntu-linux-20-04-desktop> <CA+1FSigcyYVosn1X_aoCoZVAtYunkmmrNq_h4Wggud4bmr9Mrg@mail.gmail.com>
 <405ed379-3e23-4d58-bc67-b27f18155241@netscape.net>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 16 Nov 2023, Chuck Zmudzinski wrote:
> On 11/15/2023 7:07 PM, Mario Marietto wrote:
> > It didn't work. This is the scr file generated.
> > 
> > ext2load mmc 1:3 0x51000000 zImage-6.6.0-xen-iommu-dma-on-xen
> > ext2load mmc 1:3 0x60000000 xen-4.17-armhf.ub
> 
> When you created the xen-4.17-armhf.ub file, do you remember what
> the LOADADDR and entry point was? In my case those needed to be offset by 0x4000.
> 
> So the uboot version of Xen would created with with the offset of 0x4000 for
> the LOADADDR and entry point from where the script loads it:
> 
> mkimage -A arm -T kernel -C none -a 0x60004000 -e 0x60004000 -d xen-4.17-armhf xen-4.17-armhf.ub
> 
> That is what has been working in my case.

Also Michal just added support for the "bootz" BOOT_CMD in ImageBuilder
which works for arm32 and takes away the need for creating the .ub file.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 00:06:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 00:06:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634756.990212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3mNf-0004Ay-BB; Fri, 17 Nov 2023 00:06:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634756.990212; Fri, 17 Nov 2023 00:06: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 1r3mNf-0004Ar-8R; Fri, 17 Nov 2023 00:06:43 +0000
Received: by outflank-mailman (input) for mailman id 634756;
 Fri, 17 Nov 2023 00:06: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 1r3mNe-0004Al-Kn
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 00:06: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 1r3mNd-0002Be-R4; Fri, 17 Nov 2023 00:06:41 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3mNd-000814-Kn; Fri, 17 Nov 2023 00: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>
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=OOsEuDvQfTxxZrbKKumu5eR8UYP7nSeqrwCEaIjz8Es=; b=yNPL1MHU7UBzeL7NOgWnE1GkWH
	5wx4mKfSTZPteVr+U+CrhvS0y6M7yT1m7acLLlr1v4C2MXgOQwKl4Q4Yaf/txqmUmHYzJuos8NkC2
	m4Qcb9cSF6JLQzJNSh1BcUCXPPz+F41AySy/cqFpkFQi3WCbFfD2NUPGnPjXesg9uw0g=;
Message-ID: <2c358b80-ad87-4e36-84ca-96380a8f39e4@xen.org>
Date: Fri, 17 Nov 2023 00:06:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
 <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
 <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stefano,

On 16/11/2023 23:28, Stefano Stabellini wrote:
> On Thu, 16 Nov 2023, Julien Grall wrote:
>> IIUC, this means that Xen will allocate the BDF. I think this will become a
>> problem quite quickly as some of the PCI may need to be assigned at a specific
>> vBDF (I have the intel graphic card in mind).
>>
>> Also, xl allows you to specificy the slot (e.g. <bdf>@<vslot>) which would not
>> work with this approach.
>>
>> For dom0less passthrough, I feel the virtual BDF should always be specified in
>> device-tree. When a domain is created after boot, then I think you want to
>> support <bdf>@<vslot> where <vslot> is optional.
> 
> Hi Julien,
> 
> I also think there should be a way to specify the virtual BDF, but if
> possible (meaning: it is not super difficult to implement) I think it
> would be very convenient if we could let Xen pick whatever virtual BDF
> Xen wants when the user doesn't specify the virtual BDF. That's
> because it would make it easier to specify the configuration for the
> user. Typically the user doesn't care about the virtual BDF, only to
> expose a specific host device to the VM. There are exceptions of course
> and that's why I think we should also have a way for the user to
> request a specific virtual BDF. One of these exceptions are integrated
> GPUs: the OS drivers used to have hardcoded BDFs. So it wouldn't work if
> the device shows up at a different virtual BDF compared to the host.

If you let Xen allocating the vBDF, then wouldn't you need a way to tell 
the toolstack/Device Models which vBDF was allocated?

> 
> Thinking more about this, one way to simplify the problem would be if we
> always reuse the physical BDF as virtual BDF for passthrough devices. I
> think that would solve the problem and makes it much more unlikely to
> run into drivers bugs.

This works so long you have only one physical segment (i.e. hostbridge). 
If you have multiple one, then you either have to expose multiple 
hostbridge to the guest (which is not great) or need someone to allocate 
the vBDF.

> 
> And we allocate a "special" virtual BDF space for emulated devices, with
> the Root Complex still emulated in Xen. For instance, we could reserve
> ff:xx:xx.
Hmmm... Wouldn't this means reserving ECAM space for 256 buses? 
Obviously, we could use 5 (just as random number). Yet, it still 
requires to reserve more memory than necessary.

 > and in case of clashes we could refuse to continue.

Urgh. And what would be the solution users triggering this clash?

> Or we could
> allocate the first free virtual BDF, after all the pasthrough devices.

This is only works if you don't want to support PCI hotplug. It may not 
be a thing for embedded, but it is used by cloud. So you need a 
mechanism that works with hotplug as well.

> 
> Example:
> - the user wants to assign physical 00:11.5 and b3:00.1 to the guest
> - Xen create virtual BDFs 00:11.5 and b3:00.1 for the passthrough devices
> - Xen allocates the next virtual BDF for emulated devices: b4:xx.x
> - If more virtual BDFs are needed for emulated devices, Xen allocates
>    b5:xx.x >
> I still think, no matter the BDF allocation scheme, that we should try
> to avoid as much as possible to have two different PCI Root Complex
> emulators. Ideally we would have only one PCI Root Complex emulated by
> Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
> tolerable but not ideal. The worst case I would like to avoid is to have
> two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.

So while I agree that one emulated hostbridge is the best solution, I 
don't think your proposal would work. As I wrote above, you may have a 
system with multiple physical hostbridge. It would not be possible to 
assign two PCI devices with the same BDF but from different segment.

I agree unlikely, but if we can avoid it then it would be best. There 
are one scheme which fits that:
   1. If the vBDF is not specified, then pick a free one.
   2. Otherwise check if the specified vBDF is free. If not return an error.

This scheme should be used for both virtual and physical. This is pretty 
much the algorithm used by QEMU today. It works, so what's would be the 
benefits to do something different?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 00:11:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 00:11:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634761.990222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3mRo-0006Ob-SE; Fri, 17 Nov 2023 00:11:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634761.990222; Fri, 17 Nov 2023 00: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 1r3mRo-0006OU-Pb; Fri, 17 Nov 2023 00:11:00 +0000
Received: by outflank-mailman (input) for mailman id 634761;
 Fri, 17 Nov 2023 00:11: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3mRo-0006OO-4j
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 00:11:00 +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 c751b5f8-84dd-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 01:10:58 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 58549CE21FE;
 Fri, 17 Nov 2023 00:10:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E5336C433C8;
 Fri, 17 Nov 2023 00:10: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: c751b5f8-84dd-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700179852;
	bh=JURK0RemGiM4BtLEWY7w4k9ZWL3bdEcOzlseGQP78jE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=l7llJ+tAcZhoGkcSgWq//nw3SNgojkcuj+P66pTPP0sSTI8iNHL1M4bCp9O+goh8h
	 JClsp0bqJISFli7QYqdKdRqSqg3AMNYDD/AVFhdnKkJLshpXMhOM0Pi3k0wBJ4n5Uy
	 +5jsDph99Rub8ue3R4BwL3ffJO3cqO4bSK9DWXJsg5O4O8WdlMgCNEjsnhPTOgk9Oz
	 +mXnth6pr4Col6DUm1T/jgsCc7dgl6uc2F9oPVLvli4GhvKkMHTonHR3/PN88+/bi4
	 MpaRN7DPd4jaMVhpJD0rrqVKWbLLEkFTZQATXAkYaxjjJGKNr7gAQ4UzQ/ADgoqvE7
	 b4jI9lTrT/eSA==
Date: Thu, 16 Nov 2023 16:10:49 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, sstabellini@kernel.org, 
    xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    bertrand.marquis@arm.com, Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, Julien Grall <julien@xen.org>
Subject: Re: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
In-Reply-To: <9f9772e8-0c30-4d9e-92af-2ad66f28857f@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311161608410.773207@ubuntu-linux-20-04-desktop>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com> <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com> <f63fa9b5-a821-49d4-88f6-7d991ab6c644@xen.org> <1689d4b47d708098c43601a58e867f1c@bugseng.com>
 <ecbfa46d-2e0a-4685-9695-f7de37e7b6ce@xen.org> <fd6f51afebb9fd90531e30289eb99d8c@bugseng.com> <9f9772e8-0c30-4d9e-92af-2ad66f28857f@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 16 Nov 2023, Jan Beulich wrote:
> On 16.11.2023 09:45, Nicola Vetrini wrote:
> > On 2023-11-15 12:22, Julien Grall wrote:
> >> But I noticed you were using gcc-12 and originally thought it was a 
> >> mistake until I saw the second use.
> >>
> >> The advantage of a variable CC (and CXX) is you can add a comment on 
> >> top why you are specifically requestion gcc-12? IOW, why is gcc not 
> >> fine?
> >>
> > 
> > The assumptions in C-language-toolchain.rst (which are reflected in the 
> > analysis config) are using gcc-12 explicitly; that's just easier from a 
> > certification perspective to have a fixed version.
> 
> I'm wondering: Upstream Xen isn't going to undergo any certification
> effort, aiui. Downstreams who want to do so may have good reasons to
> choose a specific compiler version, which may well not be gcc12. How
> are we meaning to deal with that?

I think the most important part is to detail all our dependencies on the
compiler and compiler's specific behaviors. If we do that, taking gcc12
as an example, then any downstream can look at C-language-toolchain.rst
and see if there are any differences or any gaps in their compiler of
choice compared to the reference (gcc12).


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 00:22:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 00:22:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634765.990232 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3mcY-0000Yv-VZ; Fri, 17 Nov 2023 00:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634765.990232; Fri, 17 Nov 2023 00: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 1r3mcY-0000Yo-T2; Fri, 17 Nov 2023 00:22:06 +0000
Received: by outflank-mailman (input) for mailman id 634765;
 Fri, 17 Nov 2023 00:22: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=1XSP=G6=epam.com=prvs=568571a16b=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r3mcX-0000Yh-9m
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 00:22:05 +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 53c70053-84df-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 01:22:02 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AGNfGr6032144; Fri, 17 Nov 2023 00:21:50 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2051.outbound.protection.outlook.com [104.47.13.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3udn131c3h-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Nov 2023 00:21:50 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by GV1PR03MB8765.eurprd03.prod.outlook.com (2603:10a6:150:8b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 00:21:42 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.021; Fri, 17 Nov 2023
 00:21: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: 53c70053-84df-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oa1ycUCChZGRnraBx+HDlqk3vja+tOZoFln559y+JMmG142tLLFzV/S23e8o7qwsdq5eSCVuvtptQGcVuMI7PyoJsqqmt1JbhfwNswiND8IK8MYwrqNtFWac77c7FnQcF+cpNuIx7qXaJ/82otT+KT9m6oL5ZQOx9ZPIFQqjM6eMCIvKJdkBpp69ZzssB43VVU3Fw7XAT0cDV6E19rUgQjZSz6VWHbCILDa5en1evgp1tQFVgeNKd9ADrO2Cs3+UCVO3viMQ0yCteVOO0vJXT5aLhkfNDXqoV2+rbAkpj0cDsSNIzrXs/esNOLQ7HQzW8T/dbXH+wh0CTl5SkUGKgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f2CESVumfXFNyvQDxUCJVKF0xIMLX7PM1nTgJaEaO8k=;
 b=b8CCM2Buik5t9ZxjNfm2KEvvALtPqxOcNDlsg5VUpQnNkv/neqUJ7961HOBwyARlMcjMSCKJcA9nEvckN/bqmHVUJi4ziTNHoQl2SGsifB1N60YF0qd9ji2ZIKKwoRx0SzJr08jMtf0aHmNtKf4RTW/t73Q0KDaMizuapMnKzcPzeG9nV8uCybo0G7XBZeUWq71tdWYBtSOwvuY8fOT71D8peWdcsyPEho4hIewWRJ7dhSgqJ48+ibSnvrXGvXWL4zVDo4Trgt9xJ+nk7FeJIlloT/cyRnR94bi2LP7zz5N7mvywzo7heC4ydzZnbHapYCRIO7dF38xvui75jTCZSA==
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=f2CESVumfXFNyvQDxUCJVKF0xIMLX7PM1nTgJaEaO8k=;
 b=TxICenmudVs75KsRLTFjCj1JtT7Qvm69qzWNTvm74aZYr9IXVjMyXQwbaqsNDSYu1763Ot4brldWf5YLbHDsqcLparmAoMClXGJkmnC/O9xtJweQxt8LrWrnpznlPqb2/AmvYM29zIcnr/wTFz/4DCmQc3wSYJD5TXT3pUgefpTgbI6fPYKk5gJ2HY3PtClZfn8lSwhdFT59Hos0vk0KJfJ+/80KPdbLWQGL864GkuyBo6kHZj6bu1TLNOyAmeIFgt5pRohCk/zTOzbbFDa6DxuIcmrqIbbsIsLtNHtHtFqib37peLXcOWBs2TJTpv6zhnah4BYYb1zI9qWdr+9otA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>,
        Stewart Hildebrand
	<stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@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 v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Topic: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Index: AQHZ/Vi+wP3QsyKZ0EartcLXqtnBRLB9UyCAgAB7YgCAAAiUAA==
Date: Fri, 17 Nov 2023 00:21:41 +0000
Message-ID: <87o7ft44bv.fsf@epam.com>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
 <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
 <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|GV1PR03MB8765:EE_
x-ms-office365-filtering-correlation-id: 7c87b553-a08a-4482-a090-08dbe7032c7d
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 7XndYnl8UHih3gyz5GVi2fZPi/dN2FbDuMTpn5wBvFDVarYgOcsdojucrE3HkCPH2j5o6YLSXlNPw/LqGV8+aP+8HbDkK82xUfmlYrcTlyuSAJdkRqLemytWsQZWnBLFgPO8z6rYaAU5yodNnFXUL2SXWL0todEbjih0vGqiMMPHu6oXAuedd7xLZcVR7Z7HaJy7W6d3MA6jCsliExLZ20x9HhaNMfCVf4U9cczfZAG1WevPbhVzR/sUHrQTbiPRyYZ0P9JzVYRTmR82SIZo0RIbhaVi/BngDzxwOEkPEnaGaDPN4+uU5TCyZTHz1O3woB5T9/QeP8YaBFXFzTVUZe3hr1bQCGBcf/vHbi4aYEN2P84OF+G2hItVDdPZzEH4OzKHRfBJCrfzxXHhU4Fse+XliVsb0ZSWrcdiIiHU123nuH3b55lPxSjxxQ/p1yYEfQhz49kwQT2PTAafwdAT785EzeCj4/6FmkSfOhWqHwhL7COvKW3VwpfpGZPMMzllvyVqC1atcD+l4424fkbgnJg3fN28mMzEDR7yIreKEJhK8AvvTVDzV0w6vvoPaY6tacHGj196e207rYFQFsnssSzxuFDujr0RNYYpvT8GcDlT6hvx339+t1orV6zUovfk
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:(13230031)(39860400002)(366004)(396003)(346002)(136003)(376002)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(55236004)(71200400001)(478600001)(83380400001)(2616005)(6512007)(6506007)(26005)(6486002)(6916009)(316002)(66946007)(66899024)(76116006)(66476007)(66446008)(64756008)(54906003)(66556008)(91956017)(8676002)(8936002)(38070700009)(5660300002)(38100700002)(2906002)(86362001)(4326008)(41300700001)(122000001)(36756003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?9IN9cbGlZlSgpHWrnkmZQ+3CVpfkFEvHGYdCPOnRSR+Dlxi+CvHq4kVGEC?=
 =?iso-8859-1?Q?1ghvnx08c19Ge4lcyatCK9J6fC/NH+X0+QyqajnnB0lh766IHoMrdYWROH?=
 =?iso-8859-1?Q?kL+zarZFbwBTo0pZJa7RsC5fjYyQKDs6xpDAQkB3EmPp27hzTJwMDvdiz6?=
 =?iso-8859-1?Q?zB9CcG6hp7Sn6BwyWtAxEYnBrwH7Q0fJuQNvmSuA7PYYwxJxFyepNUmH7R?=
 =?iso-8859-1?Q?MhFrxVP4xFuerrK9DqIklLL3UpOe1oTV4SHT/GcdTsr+RmRw7SwYDriWYu?=
 =?iso-8859-1?Q?nOJ9hLqDSiWIQgmt2TAc+tR82vNFkThOapq/GLifb1fzUld0tHxNlkYUWQ?=
 =?iso-8859-1?Q?D1fDZs1nNwKg8PSjgCkAhgcOH6dnrx6pd642M8iRONyw4Uc8cF1Prwc6rC?=
 =?iso-8859-1?Q?/BwjbS3gwLyQYVbDRUN8KbNr49NvZmei5IoafNQcBJhkuW+mwmrBl5Pb0v?=
 =?iso-8859-1?Q?bp9PyYBUghzQYUnGnLInuzwOICvlFH1o2UL+mfvL9LoWO435KvEpGL1HMs?=
 =?iso-8859-1?Q?Np9AMFRSmYGPPa2+yCgIhGOmdhNXL91d/EWHJkDWQUDcLeuR5EQ7KarlgG?=
 =?iso-8859-1?Q?o9dBUCp4Vp/P3DbAMP0/Zluv42yAwN5h98Oqmi2xiQBrNwxsCIhtJ7xaIU?=
 =?iso-8859-1?Q?mDatg8dnSUniCZvHHVTLLkVId6OHRSUrOHM+AsRxOZ6ucOukpb88yPRXRs?=
 =?iso-8859-1?Q?7SFyuAGmDWJT2fTvKVKz48MHFFaXG7aly0aDooB/X4+3gSpoD6w4P87q/y?=
 =?iso-8859-1?Q?kZI37K7Np40ZAZmJq92a4oq1yD6GWRPZIFgbVrcP9JNg1rYbK2KSy2hiZM?=
 =?iso-8859-1?Q?5vvmA0URQ01Rdk6lBQOPS7PnLlbh0RBVz7yYwTX6AzG68RbKdKTqWXE0xl?=
 =?iso-8859-1?Q?f5LVtvPpUaHN68S8XGqLq46F2fM5j8lO2vfMqYWZKT5U/z/DWAGwSLgWo1?=
 =?iso-8859-1?Q?xjNfXoxmO9uoPWT1lZwuKQ92aDdfmcVA1L8Fn2McYLVv+JBgsPUf4YN4c+?=
 =?iso-8859-1?Q?UruT5A2oNKJquP0fhbmjUujmRNo+SUiMaTEUJI2dZBcFBf2ttxIrfdKG1y?=
 =?iso-8859-1?Q?cX4DPPhBvT+OpNO9V57+ntNoiY3s5hkWfa6k9iO1OOH4C74N2Rd2R2MOFS?=
 =?iso-8859-1?Q?FFUksbjQDZxko1YsWAudMqyjkLuLpsBUkpEIz/z8+/cRdxw1lQQVvfCISX?=
 =?iso-8859-1?Q?JyOYcCGuv3doEzQdng8BnXMiddIDFODWu9uEXpIFqaZ8hSMpEkQa0CL9QX?=
 =?iso-8859-1?Q?VUn0PQOgizkf6n4IBfBNUqvPbdhOU3yLWMjyvBs7PiQVwaraMjZJXIj8UF?=
 =?iso-8859-1?Q?whkWjWJ4fz+GWmiNsjtHQUmWmFNI9wORz/FZ+QNraK7UcXh/N6Nq7LTC32?=
 =?iso-8859-1?Q?FLkUM8yOqMRmnVKPz+6H+FArSGisDz8WJsGZRkTlKmCznRdcWC0asevZOi?=
 =?iso-8859-1?Q?d2mkeMLxKVjMVqYSLIM1pbLAaxmQ11dQmHN1gEB7Femit+fLYzjn6JDOri?=
 =?iso-8859-1?Q?bK3ZX+SDAY/ZBQ1INhPxvaNo3MocvYl59GjaL9INln/Rdnes4kw8P5BgcE?=
 =?iso-8859-1?Q?xZ0S+E/VeOmnVQeG3NroRIOvhcp9XYkK4zrFzbEgFYRx2xuT8wisY54Qqn?=
 =?iso-8859-1?Q?AvRal9vfGimF0IQW4aTKYwQuedCZqvdakuATRADfdBSu3uQ6kqyKFY1w?=
 =?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: 7c87b553-a08a-4482-a090-08dbe7032c7d
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2023 00:21:42.0137
 (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: KZLzHUEtQloxC4jp5Max3EPB/QW2hKNrNkxqiTzO/QmZllthShrwz8CZCadOI8bqCYu/KTscDCI+7qgihs+ilWIqHyPzrEZYFEiWpxDQSz0=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8765
X-Proofpoint-GUID: HzLku3FMRAkEJdjMaKfjZ_UPH8rXoV9_
X-Proofpoint-ORIG-GUID: HzLku3FMRAkEJdjMaKfjZ_UPH8rXoV9_
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-16_24,2023-11-16_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0
 mlxscore=0 bulkscore=0 adultscore=0 mlxlogscore=999 spamscore=0
 impostorscore=0 clxscore=1011 suspectscore=0 lowpriorityscore=0
 priorityscore=1501 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311170000


Hi Stefano,

Stefano Stabellini <sstabellini@kernel.org> writes:

> On Thu, 16 Nov 2023, Julien Grall wrote:
>> IIUC, this means that Xen will allocate the BDF. I think this will becom=
e a
>> problem quite quickly as some of the PCI may need to be assigned at a sp=
ecific
>> vBDF (I have the intel graphic card in mind).
>>=20
>> Also, xl allows you to specificy the slot (e.g. <bdf>@<vslot>) which wou=
ld not
>> work with this approach.
>>=20
>> For dom0less passthrough, I feel the virtual BDF should always be specif=
ied in
>> device-tree. When a domain is created after boot, then I think you want =
to
>> support <bdf>@<vslot> where <vslot> is optional.
>
> Hi Julien,
>
> I also think there should be a way to specify the virtual BDF, but if
> possible (meaning: it is not super difficult to implement) I think it
> would be very convenient if we could let Xen pick whatever virtual BDF
> Xen wants when the user doesn't specify the virtual BDF. That's
> because it would make it easier to specify the configuration for the
> user. Typically the user doesn't care about the virtual BDF, only to
> expose a specific host device to the VM. There are exceptions of course
> and that's why I think we should also have a way for the user to
> request a specific virtual BDF. One of these exceptions are integrated
> GPUs: the OS drivers used to have hardcoded BDFs. So it wouldn't work if
> the device shows up at a different virtual BDF compared to the host.
>
> Thinking more about this, one way to simplify the problem would be if we
> always reuse the physical BDF as virtual BDF for passthrough devices. I
> think that would solve the problem and makes it much more unlikely to
> run into drivers bugs.

I'm not sure that this is possible. AFAIK, if we have device with B>0,
we need to have bridge device for it. So, if I want to passthrough
device 08:00.0, I need to provide a virtual bridge with BDF 0:NN.0. This
unnecessary complicates things.

Also, there can be funny situation with conflicting BFD numbers exposed
by different domains. I know that this is not your typical setup, but
imagine that Domain A acts as a driver domain for PCI controller A and
Domain B acts as a driver domain for PCI controller B. They may expose
devices with same BDFs but with different segments.

> And we allocate a "special" virtual BDF space for emulated devices, with
> the Root Complex still emulated in Xen. For instance, we could reserve
> ff:xx:xx and in case of clashes we could refuse to continue. Or we could
> allocate the first free virtual BDF, after all the pasthrough devices.

Again, I may be wrong there, but we need an emulated PCI bridge device if w=
e
want to use Bus numbers > 0.

>
> Example:
> - the user wants to assign physical 00:11.5 and b3:00.1 to the guest
> - Xen create virtual BDFs 00:11.5 and b3:00.1 for the passthrough devices
> - Xen allocates the next virtual BDF for emulated devices: b4:xx.x
> - If more virtual BDFs are needed for emulated devices, Xen allocates
>   b5:xx.x
>
> I still think, no matter the BDF allocation scheme, that we should try
> to avoid as much as possible to have two different PCI Root Complex
> emulators. Ideally we would have only one PCI Root Complex emulated by
> Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
> tolerable but not ideal.

But what is exactly wrong with this setup?

> The worst case I would like to avoid is to have
> two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.

This is how our setup works right now.

I agree that we need some way to provide static vBDF numbers. But I am
wondering what is the best way to do this. We need some entity that
manages and assigns those vBDFs. It should reside in Xen, because there
is Dom0less use case. Probably we need to extend
xen_domctl_assign_device so we can either request a free vBDF or a
specific vBDF. And in the first case, Xen should return assigned vBDF so
toolstack can give it to a backend, if PCI device is purely virtual.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 00:23:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 00:23:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634767.990243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3me2-000161-BW; Fri, 17 Nov 2023 00:23:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634767.990243; Fri, 17 Nov 2023 00:23: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 1r3me2-00015u-8s; Fri, 17 Nov 2023 00:23:38 +0000
Received: by outflank-mailman (input) for mailman id 634767;
 Fri, 17 Nov 2023 00:23: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=1XSP=G6=epam.com=prvs=568571a16b=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r3me0-00015Y-39
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 00:23:36 +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 8aad8723-84df-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 01:23:34 +0100 (CET)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AGNXLKt015452; Fri, 17 Nov 2023 00:23:27 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3udhuvt6ma-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Nov 2023 00:23:26 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by GV1PR03MB8765.eurprd03.prod.outlook.com (2603:10a6:150:8b::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 00:23:21 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.021; Fri, 17 Nov 2023
 00:23: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: 8aad8723-84df-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RtcfnA9GRcpryy0wVpIHgHX5LtSARekptl7sZc/iL9danjuH8/MJ6fiXpW8k/sT223AtHkfB1oggnOpxXNahmzcBOaabZGPJoBUlIk2mLoVfdIKJ7dBy2QAq10w+r0w/vC38AHOAu9Mfk5nmIW2noaypbJ/0JmOh4jp+xaaNFqY5NAD3CrwDyhGRk4yXPxQECvcGF/SSqvGDVU1rY33RKtZrRYEkFlN8LmvifOQqE1T+CHo0SdmlVikUc4/uqyjNIM5p11KGKpDNM1Bt3E4L8xomFsJKH22xWnCYfhX7aCJMiTPxWp6DyiOFSXf45kcQA+3XSZz5Fazn3pi84qCjDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MzYVP+bjllP06yFDXRnAeEPwHMmHpAPVPwmTc967Exs=;
 b=S72oVX0MGbmaV3XPv4Jg8wYJJ8qyYlDHn91mBj062h+3hJ1bPzeYqeUwGMhjGuD96h8pGU7no7mp5foE+zprvPLqwbemHuX2ztDHIHNULknROfHL7QmOmQcU2f8YenNjYvczPg6g8IfdjvV/+dM3Y2LGf3i7rAn6oPVpj+yl6Io4NdrbHpDw5PryKLcy66vOqRKpB07nve5u0fqZEhMoaBuTNEOJtDzfCPs957LyaWqVGqRq7mWdSaGIlPSpV1dLExxBY3AC1LtJXipZ3fJYdMmk+WMQ6hKpxeKtiC+ffxaMIbsiehV1N4JGnfKvmtXsnZaYEs13QbHg9i6ph0FTDQ==
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=MzYVP+bjllP06yFDXRnAeEPwHMmHpAPVPwmTc967Exs=;
 b=PdZ9aoVz53uFqjbB/nu2JLgnoOHVw13kgTPE0Z2IcQuc7rHUcqsZQscfPfH9n8d/3tk5MqQJQSI7rl+Ox8/VLY6VLH2qYsmdMD3NkVikg5Y8S+3hhh/dziScA+gvBH4JAqU5Ma8Uz6HvZqcAwewRYKfUHuOPu8k8rNhtsaTdZlZdki99NS58N0ZUIRq4GLLccqZOkc3dCG5ApcjMGGKivu7Lpgou2zPo84eu6wjN870zq9JYLrljwrZIvCznPOhUEom0Og3Dk0iSQq2AHnuN2gEyGbSTamN5SHRuTcNjzcHrTbjH7QQDwD3ZcTi18UA500rFAVneI/n2u5Wpt7w+ZQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Julien Grall
	<julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Bertrand
 Marquis <bertrand.marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>,
        "vikram.garhwal@amd.com" <vikram.garhwal@amd.com>,
        Stewart Hildebrand
	<stewart.hildebrand@amd.com>
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Topic: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Index: AQHaF7/0FLT7PaxCl0mKzTq8kNpAxLB7mIqAgABuuwCAAP6dAIAAjTaAgAAVo4A=
Date: Fri, 17 Nov 2023 00:23:20 +0000
Message-ID: <87h6ll4493.fsf@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <875y2168ki.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161504440.773207@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2311161504440.773207@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|GV1PR03MB8765:EE_
x-ms-office365-filtering-correlation-id: d8f019e3-cb1c-4b76-159f-08dbe703675c
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 DLBtAXZxcWJ4UbP6Aq0JmiWvkd4WQuOc8MTaCj3pDU3fqJY7nyokGYgiG3U92CjIho6XJ/LhkV/9+miv0N/mQrTgbUFOg4Lu+BIvxxRDO1ltk+29eBGT7ijR1YntWeDlONY6nZ6NtaIV0iA1zACDn8XeiKn/rAUcA3Jyz6EYWbqE/K7pfcNcZBioz+KyTMa3y9eX1i2VxUJblb1935QJg3If5+npYvkocrpEMjlDucchj23Yj4nq6fGy4qnqonHPER0qro4q0k2uTWHzyCfvOauNqzE+4lKaUVuxh70UOy8ZnqcYxkujCs0uCtj/N9g8bEwPntpl+F8/O1hQu7sxtaqP8WoZMsTuSBMkyVRp+19c5MnF+7l5O8coAS7VGGM5ifa24yEU2hzqGnLVJyKKj8Airm14ykdI+Y/XS3sPqeb6TM2idC7KYy9aNbaeSqkjcOckOEi/nauAnrsS3LXQ+Xuf345NSYI9U6oxMrW2SMVMCNhITpL2iGIKpWZML3jLm9PIQOe6B+J9eZHlgW2pOwVlYO9B4+nT21umpgFqoWR/vx/OfjrLBe02PSX7p1l+UxTADrFJF2iBI0dTx6M+cZwau5XwSprfDz8UzcnjTNPWFuyB5RL2uGyiLlizYb1h
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:(13230031)(39860400002)(366004)(396003)(346002)(136003)(376002)(230922051799003)(1800799009)(451199024)(186009)(64100799003)(53546011)(55236004)(71200400001)(478600001)(83380400001)(2616005)(6512007)(6506007)(26005)(6486002)(6916009)(316002)(66946007)(76116006)(66476007)(66446008)(64756008)(54906003)(66556008)(91956017)(8676002)(8936002)(38070700009)(5660300002)(38100700002)(2906002)(86362001)(4326008)(41300700001)(122000001)(36756003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?hAYJ3xVK/FwR6hzqG5DT0FFstiDFm2s/hvifBEKzXe0M1FsuKOz9fUlixx?=
 =?iso-8859-1?Q?o60Nj7rnRpKCic3PVmcayFZRtTFHVZJGArMLgebzRi9qkmL+e6auYTwjKJ?=
 =?iso-8859-1?Q?vix2RrogvMbbLgaRFfratnW5TPrCLx4mJhTBFAdRwHQJC4Ktvut/E/KpKz?=
 =?iso-8859-1?Q?iVcwrQ0D8phEz8p0h7uhL7j3aMhzebUC9JACKyto5Q4ddFUucMhwLX/KY5?=
 =?iso-8859-1?Q?c6mXyw5qGoe2OS6QtUWSncuG+AdDXlNse/vONGkUhGApdwTrups++r8G4P?=
 =?iso-8859-1?Q?aMYdhmeKRyo4fTWOzxWyVZpdJZo68ppB9Q81cE6fvY8S8aJOHFFdrLtRyg?=
 =?iso-8859-1?Q?w5Xiw/4V9GWScBJZTRm00Zx/meQ9ir+D+l5K4yXCQGCdW+dw+C2IvKfDmt?=
 =?iso-8859-1?Q?4h3ky/a/xvuh/SGtT4G9rjZKCCaGxOmwe6pJuSlwsI4IZJ424/CZ3FpdnM?=
 =?iso-8859-1?Q?VpSawBCwFMJtXfS1YBqhNLbFGq2Rq3f6Ct+Z4qxdm7Ag0fkkN8yxP59Go+?=
 =?iso-8859-1?Q?0QIP8vVHB2YF5NX7fH1M9g9ZaVOJdIwyoRGm6sMAggY8yrRVbX7fs49mzZ?=
 =?iso-8859-1?Q?z0SChZVwFXZv8IMyZckOZHUplDeiF915s1eMJozvIBqDrpd8bEJQjphD6x?=
 =?iso-8859-1?Q?oy4IdtgFsqEA74Ylhx/EqpSBxkEi/l1iWGGaSHoTSQpdbbPx0W+Ty6f7Mb?=
 =?iso-8859-1?Q?GGroLPfA8L++y1UyK+Nbuk4azcDuxdPk5MWlzhSz2hmaKgJMAzTsXxO8RH?=
 =?iso-8859-1?Q?KFp/hR3La2mYzR0Vdr1WuZiIdH154t2ypyTVZieocxq4tAQn2Ton113weu?=
 =?iso-8859-1?Q?KIvrrDoFlsrG8P+cXrhTbWc67scRncTtH3nA1VD+sKgk5BbfoLo0wREJzw?=
 =?iso-8859-1?Q?FZ+UuHkW2y4sxD8bjocofwlzBdJGn0DerzTDG/SmXHAEFsGwa5RdNG/t+F?=
 =?iso-8859-1?Q?Sl97yEH8vko1JMZlH8nW3uv5ztw/p2YXZDC3gqTgy6xfqm2AbeddUxnHya?=
 =?iso-8859-1?Q?5tLE1AeA83zpaLDqXpqFkyxcDTXqmuTscHBNUo3NTZDRzrst9cQ2HXKLiw?=
 =?iso-8859-1?Q?N+OZjWVY7RJEoZL/MtHvUd1X1saKBpwxuvREtR+XT2Ug//6OdXr9nVgpnQ?=
 =?iso-8859-1?Q?7Ybyk2TB21OVfRECwIUKtXDLmDzcsALhRwBTRhCsLXWubP9usSU4YjClOW?=
 =?iso-8859-1?Q?c1VUDS9E1ksoYJXLMtOWeSV+Kjmie5oLd/TgJcNQyCQQRB88F8DlcQlJE1?=
 =?iso-8859-1?Q?IwBf7h5jU2geqfksgn7EG6UswgSO7hQUEWrHNZ0BRxdlU61gurZxaffCXC?=
 =?iso-8859-1?Q?9Rv/AQZOJLlsb3N9JCGJ+G7EZu0Axth2CZ/7oCQvluyOX0hszsk0e31Zvl?=
 =?iso-8859-1?Q?tTzmTU1HCJbQ5Uw/wBLy7pQZSI7t5mQ/iJVif7xD3tr7+6aF3A/7qI/M8F?=
 =?iso-8859-1?Q?FyyqyR+vkXGXGxNLKjiCPAxOJYobZMcWnFiYig5Y4LP1NjZRLWaYxR1uS9?=
 =?iso-8859-1?Q?eG7KPFjs9qOH9h7D/Iptf8RgsDTy83y4CgsEXcAfUB8IJXAB53+RgapxuI?=
 =?iso-8859-1?Q?iznf+XuuxMv1JN6TV+At1ZpCpA0jvLD1e6BRGn5ruBKpo5sPiC4JOTFlQV?=
 =?iso-8859-1?Q?QgO0zS6z5w0VLH6jSpse/1sDqyOu64VN2pT88cpbq0swM1PAzcsVKh0A?=
 =?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: d8f019e3-cb1c-4b76-159f-08dbe703675c
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2023 00:23:20.7495
 (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: FUao/bt/mBn+YXW+dRmY4EJzubVgTRUSpfDKBDsHLb5b1U84VNByHH6LcpNHpBdN7JrubNnjUE9zMtrDZ8qwIEpfrDtrMPl9G/CcUGOFNOA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB8765
X-Proofpoint-GUID: oPh3WBxziuWjx4_GNnKpKjalTNgvqQdE
X-Proofpoint-ORIG-GUID: oPh3WBxziuWjx4_GNnKpKjalTNgvqQdE
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-16_24,2023-11-16_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 malwarescore=0
 suspectscore=0 bulkscore=0 lowpriorityscore=0 priorityscore=1501
 adultscore=0 mlxlogscore=999 impostorscore=0 spamscore=0 clxscore=1015
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311170000


Hi Stefano,

Stefano Stabellini <sstabellini@kernel.org> writes:

> On Thu, 16 Nov 2023, Volodymyr Babchuk wrote:
>> Hi Stefano,
>>=20
>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>=20
>> > + Stewart, Vikram
>> >
>> > On Wed, 15 Nov 2023, Oleksandr Tyshchenko wrote:
>> >> On 15.11.23 14:33, Julien Grall wrote:
>> >> > Thanks for adding support for virtio-pci in Xen. I have some questi=
ons.
>> >> >=20
>> >> > On 15/11/2023 11:26, Sergiy Kibrik wrote:
>> >> >> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> >> >>
>> >> >> In order to enable more use-cases such as having multiple
>> >> >> device-models (Qemu) running in different backend domains which pr=
ovide
>> >> >> virtio-pci devices for the same guest, we allocate and expose one
>> >> >> PCI host bridge for every virtio backend domain for that guest.
>> >> >=20
>> >> > OOI, why do you need to expose one PCI host bridge for every stubdo=
main?
>> >> >=20
>> >> > In fact looking at the next patch, it seems you are handling some o=
f the=20
>> >> > hostbridge request in Xen. This is adds a bit more confusion.
>> >> >=20
>> >> > I was expecting the virtual PCI device would be in the vPCI and eac=
h=20
>> >> > Device emulator would advertise which BDF they are covering.
>> >>=20
>> >>=20
>> >> This patch series only covers use-cases where the device emulator=20
>> >> handles the *entire* PCI Host bridge and PCI (virtio-pci) devices beh=
ind=20
>> >> it (i.e. Qemu). Also this patch series doesn't touch vPCI/PCI=20
>> >> pass-through resources, handling, accounting, nothing. From the=20
>> >> hypervisor we only need a help to intercept the config space accesses=
=20
>> >> happen in a range [GUEST_VIRTIO_PCI_ECAM_BASE ...=20
>> >> GUEST_VIRTIO_PCI_ECAM_BASE + GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE] and=20
>> >> forward them to the linked device emulator (if any), that's all.
>> >>=20
>> >> It is not possible (with current series) to run device emulators what
>> >> emulate only separate PCI (virtio-pci) devices. For it to be possible=
, I=20
>> >> think, much more changes are required than current patch series does.=
=20
>> >> There at least should be special PCI Host bridge emulation in Xen (or=
=20
>> >> reuse vPCI) for the integration. Also Xen should be in charge of form=
ing=20
>> >> resulting PCI interrupt based on each PCI device level signaling (if =
we=20
>> >> use legacy interrupts), some kind of x86's XEN_DMOP_set_pci_intx_leve=
l,=20
>> >> etc. Please note, I am not saying this is not possible in general,=20
>> >> likely it is possible, but initial patch series doesn't cover these=20
>> >> use-cases)
>> >>
>> >> We expose one PCI host bridge per virtio backend domain. This is a=20
>> >> separate PCI host bridge to combine all virtio-pci devices running in=
=20
>> >> the same backend domain (in the same device emulator currently).
>> >> The examples:
>> >> - if only one domain runs Qemu which servers virtio-blk, virtio-net,=
=20
>> >> virtio-console devices for DomU - only single PCI Host bridge will be=
=20
>> >> exposed for DomU
>> >> - if we add another domain to run Qemu to serve additionally virtio-g=
pu,=20
>> >> virtio-input and virtio-snd for the *same* DomU - we expose second PC=
I=20
>> >> Host bridge for DomU
>> >>=20
>> >> I am afraid, we cannot end up exposing only single PCI Host bridge wi=
th=20
>> >> current model (if we use device emulators running in different domain=
s=20
>> >> that handles the *entire* PCI Host bridges), this won't work.
>> > =20
>> >
>> > We were discussing the topic of vPCI and Virtio PCI just this morning
>> > with Stewart and Vikram. We also intend to make them work well togethe=
r
>> > in the next couple of months (great timing!!)
>> >
>> > However, our thinking is to go with the other approach Julien
>> > suggested: a single PCI Root Complex emulated in Xen by vPCI. QEMU wou=
ld
>> > register individual PCI devices against it.
>> >
>> > Vikram, Stewart, please comment. Our understanding is that it should b=
e
>> > possible to make QEMU virtio-pci work with vPCI with relatively minor
>> > efforts and AMD volunteers to do the work in the next couple of months
>> > on the vPCI side.
>> >
>> >
>> > Although it should be possible to make both approaches work at the sam=
e
>> > time, given that it would seem that EPAM and AMD have very similar
>> > requirements, I suggest we work together and collaborate on a single
>> > approach going forward that works best for everyone.
>> >
>> >
>> > Let me start by saying that if we can get away with it, I think that a
>> > single PCI Root Complex in Xen would be best because it requires less
>> > complexity. Why emulate 2/3 PCI Root Complexes if we can emulate only
>> > one?
>>=20
>> Well, in fact we tried similar setup, this was in the first version of
>> virtio-pci support. But we had a couple of issues with this. For
>> instance, this might conflict with PCI passthrough devices, with virtio
>> devices that have back-ends in different domains, etc. I am no saying
>> that this is impossible, but this just involves more moving parts.
>>=20
>> With my vPCI patch series in place, hypervisor itself assigns BDFs for
>> passed-through devices. Toolstack needs to get this information to know
>> which BDFs are free and can be used by virtio-pci.
>
> I'll premise that I don't really have an opinion on how the virtual BDF
> allocation should happen.
>
> But I'll ask the opposite question that Julien asked: if it is Xen that
> does the allocation, that's fine, then couldn't we arrange so that Xen
> also does the allocation in the toolstack case too (simply by picking
> the first available virtual BDF)?

Actually, this was my intention as well. As I said in the another email,
we just need to extend or add another domctl to manage vBFDs.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 00:43:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 00:43:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634772.990252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3mxE-0005un-4X; Fri, 17 Nov 2023 00:43:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634772.990252; Fri, 17 Nov 2023 00: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 1r3mxE-0005ug-1x; Fri, 17 Nov 2023 00:43:28 +0000
Received: by outflank-mailman (input) for mailman id 634772;
 Fri, 17 Nov 2023 00:43: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3mxD-0005ua-6h
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 00:43:27 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f4fff77-84e2-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 01:43:23 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 5D34BCE2304;
 Fri, 17 Nov 2023 00:43:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B51D1C433C8;
 Fri, 17 Nov 2023 00:43:18 +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: 4f4fff77-84e2-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700181800;
	bh=JBPVIVIWsFABvhAUH9JSdi0RCuYl91TU/76bDgyqrwA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nCzpI7qAbNpOYQl/6T0e3KWPWIjoIdJhHjtrnE2XXkE8vuPQ/u865Fx28jMjjVR3X
	 FcbaILrmINcQFxwp4BUGS6xExA/M0EB1ocVQfeeU+VrgrQblCyhi2qooqUGXwqA5ZI
	 LfTGOJBrBCFVKDye3HROSRHDIz2Q2NvmXN5hWk12TIBkhBgvTAjcrAGd0sF4U5C4hH
	 7dl2v4AuoP5U/WXyUsuu6gk/eG+mm1Ahvf867VEIwEjHX0xwfRcsoFipjC6Jkco/zO
	 KC+m/wHmi/We2/Zp+QG3lI95tGBzth7mFyLgx+85SLCurZcBsb3PCSj3wRSTjaV955
	 g6uctYJzu2cpA==
Date: Thu, 16 Nov 2023 16:43:17 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v4 1/8] xen/include: add macro
 ISOLATE_LOW_BIT
In-Reply-To: <7cbf6f0f-d5b1-44e2-9a0e-a9d7d353eb6b@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311161635200.773207@ubuntu-linux-20-04-desktop>
References: <cover.1698410970.git.nicola.vetrini@bugseng.com> <dca236bf9199f596bafb35eb48d81adc280d8cca.1698410970.git.nicola.vetrini@bugseng.com> <f88edc35-6b1b-0136-aa1f-6429652c4016@suse.com> <alpine.DEB.2.22.394.2310301536390.1625118@ubuntu-linux-20-04-desktop>
 <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@suse.com> <817fab34432c854ce585aba80db77f7c@bugseng.com> <8b4e0da82930375b2a95387a9031c73f@bugseng.com> <1178b79c-d6a3-a46c-5556-3fb5964dc051@suse.com> <392566d1-109b-413c-b904-0e4cb4007263@suse.com>
 <6b6f051130b724ee6a813235e049354c@bugseng.com> <7cbf6f0f-d5b1-44e2-9a0e-a9d7d353eb6b@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 16 Nov 2023, Jan Beulich wrote:
> On 16.11.2023 11:02, Nicola Vetrini wrote:
> > On 2023-11-16 09:26, Jan Beulich wrote:
> >> On 31.10.2023 11:20, Jan Beulich wrote:
> >>> On 31.10.2023 11:03, Nicola Vetrini wrote:
> >>>> On 2023-10-31 09:28, Nicola Vetrini wrote:
> >>>>> On 2023-10-31 08:43, Jan Beulich wrote:
> >>>>>> On 30.10.2023 23:44, Stefano Stabellini wrote:
> >>>>>>> On Mon, 30 Oct 2023, Jan Beulich wrote:
> >>>>>>>> On 27.10.2023 15:34, Nicola Vetrini wrote:
> >>>>>>>>> --- a/xen/include/xen/macros.h
> >>>>>>>>> +++ b/xen/include/xen/macros.h
> >>>>>>>>> @@ -8,8 +8,14 @@
> >>>>>>>>>  #define DIV_ROUND(n, d) (((n) + (d) / 2) / (d))
> >>>>>>>>>  #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
> >>>>>>>>>
> >>>>>>>>> -#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
> >>>>>>>>> -#define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
> >>>>>>>>> +/*
> >>>>>>>>> + * Given an unsigned integer argument, expands to a mask where
> >>>>>>>>> just the least
> >>>>>>>>> + * significant nonzero bit of the argument is set, or 0 if no 
> >>>>>>>>> bits
> >>>>>>>>> are set.
> >>>>>>>>> + */
> >>>>>>>>> +#define ISOLATE_LOW_BIT(x) ((x) & -(x))
> >>>>>>>>
> >>>>>>>> Not even considering future Misra changes (which aiui may require
> >>>>>>>> that
> >>>>>>>> anyway), this generalization of the macro imo demands that its
> >>>>>>>> argument
> >>>>>>>> now be evaluated only once.
> >>>>>>>
> >>>>>>> Fur sure that would be an improvement, but I don't see a trivial 
> >>>>>>> way
> >>>>>>> to
> >>>>>>> do it and this issue is also present today before the patch.
> >>>>>>
> >>>>>> This was an issue here for MASK_EXTR() and MASK_INSR(), yes, but 
> >>>>>> the
> >>>>>> new
> >>>>>> macro has wider use, and there was no issue elsewhere so far.
> >>>>>>
> >>>>>>> I think it
> >>>>>>> would be better to avoid scope-creeping this patch as we are 
> >>>>>>> already
> >>>>>>> at
> >>>>>>> v4 for something that was expected to be a trivial mechanical 
> >>>>>>> change.
> >>>>>>> I
> >>>>>>> would rather review the fix as a separate patch, maybe sent by you 
> >>>>>>> as
> >>>>>>> you probably have a specific implementation in mind?
> >>>>>>
> >>>>>> #define ISOLATE_LOW_BIT(x) ({ \
> >>>>>>     typeof(x) x_ = (x); \
> >>>>>>     x_ & -x_; \
> >>>>>> })
> >>>>>>
> >>>>>> Hard to see the scope creep here. What I would consider scope creep 
> >>>>>> I
> >>>>>> specifically didn't even ask for: I'd like this macro to be
> >>>>>> overridable
> >>>>>> by an arch. Specifically (see my earlier naming hint) I'd like to 
> >>>>>> use
> >>>>>> x86's BMI insn BLSI in the context of "x86: allow Kconfig control 
> >>>>>> over
> >>>>>> psABI level", when ABI v2 or higher is in use.
> >>>>>
> >>>>> I appreciate you suggesting an implementation; I'll send a v5
> >>>>> incorporating it.
> >>>>
> >>>> There's an issue with this approach, though: since the macro is used
> >>>> indirectly
> >>>> in expressions that are e.g. case labels or array sizes, the build 
> >>>> fails
> >>>> (see [1] for instance).
> >>>> Perhaps it's best to leave it as is?
> >>>
> >>> Hmm. I'm afraid it's not an option to "leave as is", not the least 
> >>> because
> >>> - as said - I'm under the impression that another Misra rule requires
> >>> macro arguments to be evaluated exactly once. Best I can think of 
> >>> right
> >>> away is to have a macro for limited use (to address such build issues)
> >>> plus an inline function (for general use). But yes, maybe that then 
> >>> indeed
> >>> needs to be a 2nd step.
> >>
> >> While I've committed this patch (hoping that I got the necessary 
> >> context
> >> adjustment right for the 
> >> automation/eclair_analysis/ECLAIR/deviations.ecl
> >> change), I'd like to come back to this before going further with users 
> >> of
> >> the new macro: I still think we ought to try to get to the single
> >> evaluation wherever possible. The macro would then be used only in 
> >> cases
> >> where the alternative construct (perhaps an isolate_lsb() macro, living
> >> perhaps in xen/bitops.h) cannot be used. ISOLATE_LSB() would then want 
> >> to
> >> gain a comment directing people to the "better" sibling. Thoughts?
> > 
> > Having the users in place would help me estimate the remaining work that 
> > needs to be done on this rule and see if my local counts match up with 
> > the counts in staging.
> 
> By "having the users in place", you mean you want other patches in this
> and the dependent series to be committed as-is (except for the name
> change)? That's what I'd like to avoid, as it would mean touching all
> those use sites again where the proposed isolate_lsb() could be used
> instead. I'd rather see all use sites be put into their final shape
> right away.

This request is coming a bit late and also after all the patches have
been reviewed already. I for one am not looking forward to review them
again.

That said, if you could be more specified maybe it could become
actionable:

- do you have a pseudo code implementation of the "better" macro you
  would like to propose?
- do you have an list of call sites you would like to be changed to use
  the "better" macro?


Also, you might remember past discussions about time spent making
changes yourself vs. others doing the same. This is one of those cases
that it would be faster for you to make the change and send a patch than
explaining someone else how to do it, then review the result (and
review it again as it probably won't be exactly as you asked the first
time.)

If you don't want the call sites to be changes twice, may I suggest you
provide a patch on top of Nicola's series, I review and ack your patch,
and Nicola or I rebase & resend the series so that the call sites are
only changes once as you would like? I think that's going to be way
faster.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 00:51:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 00:51:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634775.990263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3n4d-000052-Sg; Fri, 17 Nov 2023 00:51:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634775.990263; Fri, 17 Nov 2023 00:51: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 1r3n4d-00004v-Pp; Fri, 17 Nov 2023 00:51:07 +0000
Received: by outflank-mailman (input) for mailman id 634775;
 Fri, 17 Nov 2023 00:51: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3n4c-0008WV-Ro
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 00:51: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 636e7f4c-84e3-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 01:51:05 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id C14CFB81E12;
 Fri, 17 Nov 2023 00:51:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id BC614C433C8;
 Fri, 17 Nov 2023 00:51: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: 636e7f4c-84e3-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700182264;
	bh=Jnr/5tdEafWGgOr/LVZyKbe6eLy6JdNyvd3cPdHSNQc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=btNFbREMGcTwPQuvM3r+dscGk5fUb5me2RKCrbIgeudzDm9RaiSWl3o8ZmXadGGnq
	 vAJuYxmXvM3T5SC0S7KKY7KKtaxfk8PHAAe5Ao39TTq9K/8v+dyJApgFSnUo4Rri/1
	 /rYJyeodJO0VACHjE0RJbve6u0S3qkCslD24q2hw9zfkJtMD2EZOkSzREmq1xGjSIU
	 0i236qgv5lqDOX0dq5zvO4IPg+nuTVw0HkXJRbqa+x1/W+rMzk6ltIH+SQDbvXRs+y
	 G9t8ZOID2fUDVFK2AZ1/w3DM4h03DG9MzzfyizG2ugMV5Sc+zMyF7uYVJpahpD4rvu
	 fM2IXVo/3TRoA==
Date: Thu, 16 Nov 2023 16:51:01 -0800 (PST)
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>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
In-Reply-To: <2c358b80-ad87-4e36-84ca-96380a8f39e4@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311161649380.773207@ubuntu-linux-20-04-desktop>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com> <20231012220854.2736994-14-volodymyr_babchuk@epam.com> <d6a58e73-da51-40f1-a2f7-576274945585@xen.org> <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
 <2c358b80-ad87-4e36-84ca-96380a8f39e4@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, 17 Nov 2023, Julien Grall wrote:
> Hi Stefano,
> 
> On 16/11/2023 23:28, Stefano Stabellini wrote:
> > On Thu, 16 Nov 2023, Julien Grall wrote:
> > > IIUC, this means that Xen will allocate the BDF. I think this will become
> > > a
> > > problem quite quickly as some of the PCI may need to be assigned at a
> > > specific
> > > vBDF (I have the intel graphic card in mind).
> > > 
> > > Also, xl allows you to specificy the slot (e.g. <bdf>@<vslot>) which would
> > > not
> > > work with this approach.
> > > 
> > > For dom0less passthrough, I feel the virtual BDF should always be
> > > specified in
> > > device-tree. When a domain is created after boot, then I think you want to
> > > support <bdf>@<vslot> where <vslot> is optional.
> > 
> > Hi Julien,
> > 
> > I also think there should be a way to specify the virtual BDF, but if
> > possible (meaning: it is not super difficult to implement) I think it
> > would be very convenient if we could let Xen pick whatever virtual BDF
> > Xen wants when the user doesn't specify the virtual BDF. That's
> > because it would make it easier to specify the configuration for the
> > user. Typically the user doesn't care about the virtual BDF, only to
> > expose a specific host device to the VM. There are exceptions of course
> > and that's why I think we should also have a way for the user to
> > request a specific virtual BDF. One of these exceptions are integrated
> > GPUs: the OS drivers used to have hardcoded BDFs. So it wouldn't work if
> > the device shows up at a different virtual BDF compared to the host.
> 
> If you let Xen allocating the vBDF, then wouldn't you need a way to tell the
> toolstack/Device Models which vBDF was allocated?
> 
> > 
> > Thinking more about this, one way to simplify the problem would be if we
> > always reuse the physical BDF as virtual BDF for passthrough devices. I
> > think that would solve the problem and makes it much more unlikely to
> > run into drivers bugs.
> 
> This works so long you have only one physical segment (i.e. hostbridge). If
> you have multiple one, then you either have to expose multiple hostbridge to
> the guest (which is not great) or need someone to allocate the vBDF.
> 
> > 
> > And we allocate a "special" virtual BDF space for emulated devices, with
> > the Root Complex still emulated in Xen. For instance, we could reserve
> > ff:xx:xx.
> Hmmm... Wouldn't this means reserving ECAM space for 256 buses? Obviously, we
> could use 5 (just as random number). Yet, it still requires to reserve more
> memory than necessary.
> 
> > and in case of clashes we could refuse to continue.
> 
> Urgh. And what would be the solution users triggering this clash?
> 
> > Or we could
> > allocate the first free virtual BDF, after all the pasthrough devices.
> 
> This is only works if you don't want to support PCI hotplug. It may not be a
> thing for embedded, but it is used by cloud. So you need a mechanism that
> works with hotplug as well.
> 
> > 
> > Example:
> > - the user wants to assign physical 00:11.5 and b3:00.1 to the guest
> > - Xen create virtual BDFs 00:11.5 and b3:00.1 for the passthrough devices
> > - Xen allocates the next virtual BDF for emulated devices: b4:xx.x
> > - If more virtual BDFs are needed for emulated devices, Xen allocates
> >    b5:xx.x >
> > I still think, no matter the BDF allocation scheme, that we should try
> > to avoid as much as possible to have two different PCI Root Complex
> > emulators. Ideally we would have only one PCI Root Complex emulated by
> > Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
> > tolerable but not ideal. The worst case I would like to avoid is to have
> > two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
> 
> So while I agree that one emulated hostbridge is the best solution, I don't
> think your proposal would work. As I wrote above, you may have a system with
> multiple physical hostbridge. It would not be possible to assign two PCI
> devices with the same BDF but from different segment.
> 
> I agree unlikely, but if we can avoid it then it would be best. There are one
> scheme which fits that:
>   1. If the vBDF is not specified, then pick a free one.
>   2. Otherwise check if the specified vBDF is free. If not return an error.
> 
> This scheme should be used for both virtual and physical. This is pretty much
> the algorithm used by QEMU today. It works, so what's would be the benefits to
> do something different?

I am OK with that. I was trying to find a way that could work without
user intervention in almost 100% of the cases. I think both 1. and 2.
you proposed are fine.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 00:52:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 00:52:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634777.990272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3n69-0000fP-62; Fri, 17 Nov 2023 00:52:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634777.990272; Fri, 17 Nov 2023 00:52: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 1r3n69-0000fH-3K; Fri, 17 Nov 2023 00:52:41 +0000
Received: by outflank-mailman (input) for mailman id 634777;
 Fri, 17 Nov 2023 00:52: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 1r3n68-0000f3-4G; Fri, 17 Nov 2023 00:52: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 1r3n68-0002wd-0i; Fri, 17 Nov 2023 00:52: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 1r3n67-000226-B3; Fri, 17 Nov 2023 00:52:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3n67-0002re-AI; Fri, 17 Nov 2023 00:52: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=AvTw3ENOBUC7vIZCPOhNIx9h5HsGFm9Y6SpzkW/STmc=; b=jfTL5F834fulpMA+lwgkpcd2cB
	CYQGRAXyBHP6LeWmGFUXlpaRTZcRZ8OSN6Q7XRNKrW1GLB5tLKIrqmMWaSUx9kYVdVTisoPathxpP
	AMw3yW6A+JzT8mhIN61CqQfxHDnT5ilAkIK96iZdpodaTchTfOa5FCKs4AOlnmxmnWFQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183773-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183773: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd12-amd64:guest-saverestore:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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: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-xl-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-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-raw:migrate-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-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-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=7475e51b87969e01a6812eac713a1c8310372e8a
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Nov 2023 00:52:39 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-amd64-amd64-freebsd12-amd64 16 guest-saverestore    fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 14 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-amd64-libvirt-raw 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-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                7475e51b87969e01a6812eac713a1c8310372e8a
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    1 days
Testing same since   183773  2023-11-16 13:12:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Anders Roxell <anders.roxell@linaro.org>
  Andrii Nakryiko <andrii@kernel.org>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Hou Tao <houtao1@huawei.com>
  Itamar Gozlan <igozlan@nvidia.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jijie Shao <shaojijie@huawei.com>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Marek Behún <kabel@kernel.org>
  Matthieu Baerts <matttbe@kernel.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Stanislav Fomichev <sdf@google.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Sven Auhagen <sven.auhagen@voleatech.de>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                             fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 3427 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 00:58:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 00:58:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634785.990282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3nBU-0002Ov-0z; Fri, 17 Nov 2023 00:58:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634785.990282; Fri, 17 Nov 2023 00:58: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 1r3nBT-0002Oo-UZ; Fri, 17 Nov 2023 00:58:11 +0000
Received: by outflank-mailman (input) for mailman id 634785;
 Fri, 17 Nov 2023 00:58: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3nBS-0002Oi-M1
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 00:58:10 +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 5ef45a93-84e4-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 01:58:09 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id DAD38CE1F93;
 Fri, 17 Nov 2023 00:58:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A7B51C433C7;
 Fri, 17 Nov 2023 00:58: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: 5ef45a93-84e4-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700182684;
	bh=iSCe/NlY/cwE44CdQs/W5hA5o6eEHNFKZrLovXzk6F4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nl/lV/dfTZ5j1dfCXgT4WVUdQQvAOb3uwAVZMUKz0c784z6PK3bmzf4Sz2aAIm5rg
	 kMEfz9WqdQu1z+LEZbb2wWOetshNZvWXUbQjOZajexQHUPT3JljUcuIiYVKVWt0GoZ
	 EApEYp4htdqVreXGPU9x3X/aPVZXahUEj+hBV4X3swoq3g0QwybZBRM/mzbWRj8CsR
	 Mcqk6KWJyzhsb571Kw1TiKfS7XlHDDBn7dshgaiFMt7IznDteLMTkNmG2ADMFflXhh
	 sF4VCG8+SzIvNqce6O5Q1LbBn+b3cR89+LGHuF1AFumbRwKrYGhspDw3xWwNxBxAKs
	 DnE2y8pefgTWg==
Date: Thu, 16 Nov 2023 16:58:01 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.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>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
In-Reply-To: <87o7ft44bv.fsf@epam.com>
Message-ID: <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com> <20231012220854.2736994-14-volodymyr_babchuk@epam.com> <d6a58e73-da51-40f1-a2f7-576274945585@xen.org> <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
 <87o7ft44bv.fsf@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> > I still think, no matter the BDF allocation scheme, that we should try
> > to avoid as much as possible to have two different PCI Root Complex
> > emulators. Ideally we would have only one PCI Root Complex emulated by
> > Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
> > tolerable but not ideal.
> 
> But what is exactly wrong with this setup?

[...]

> > The worst case I would like to avoid is to have
> > two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
> 
> This is how our setup works right now.

If we have:
- a single PCI Root Complex emulated in Xen
- Xen is safety certified
- individual Virtio devices emulated by QEMU with grants for memory

We can go very far in terms of being able to use Virtio in safety
use-cases. We might even be able to use Virtio (frontends) in a SafeOS.

On the other hand if we put an additional Root Complex in QEMU:
- we pay a price in terms of complexity of the codebase
- we pay a price in terms of resource utilization
- we have one additional problem in terms of using this setup with a
  SafeOS (one more device emulated by a non-safe component)

Having 2 PCI Root Complexes both emulated in Xen is a middle ground
solution because:
- we still pay a price in terms of resource utilization
- the code complexity goes up a bit but hopefully not by much
- there is no impact on safety compared to the ideal scenario

This is why I wrote that it is tolerable.


> I agree that we need some way to provide static vBDF numbers. But I am
> wondering what is the best way to do this. We need some entity that
> manages and assigns those vBDFs. It should reside in Xen, because there
> is Dom0less use case. Probably we need to extend
> xen_domctl_assign_device so we can either request a free vBDF or a
> specific vBDF. And in the first case, Xen should return assigned vBDF so
> toolstack can give it to a backend, if PCI device is purely virtual.

I think that would be fine.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 01:05:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 01:05:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634788.990292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3nId-0002Mm-Nb; Fri, 17 Nov 2023 01:05:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634788.990292; Fri, 17 Nov 2023 01: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 1r3nId-0002Mf-Kz; Fri, 17 Nov 2023 01:05:35 +0000
Received: by outflank-mailman (input) for mailman id 634788;
 Fri, 17 Nov 2023 01:05: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3nIb-0002MZ-Lb
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 01:05:33 +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 67b3e6c6-84e5-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 02:05:31 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 7F3A6B81DF9;
 Fri, 17 Nov 2023 01:05:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F7BBC433CA;
 Fri, 17 Nov 2023 01:05: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: 67b3e6c6-84e5-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700183130;
	bh=y5hA3OIyjM3FGXQiQJZ0GgRRUAPkCMdb9P5Fj71ap0M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GRZfJBa9hmvg70SPD++lTvMf2O80ZN8sNKqIxbyBbKBBJGn39UDLxGWYvrE0t9WUZ
	 BZd31c31fvsuOeXI5tig83uHxhEQCEWzPkncjS4HSpK03SnRX1pbxVB0EkwcttjWdU
	 YWpgtutb/XJXrdHdjCr1waPKwlkvY7GRzC+5WIi0LoVZ+rK0Zw6nqbYsvFZPgkmjpg
	 UKpbTzwTkNXZbXoauFeVCkzzW+WAYjeDh+RDWnTde3wj0aWtwP23cLmKTULuLIN9MN
	 fnZFMCxnVyJrpzc0Yr59xTiMQEpHFWTRn+TcpG/ZCe6CbUmkM+YCp/lpjBc8ubezeL
	 12kS+Vi2on34w==
Date: Thu, 16 Nov 2023 17:05:28 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 1/6] automation: remove CR characters from QEMU serial
In-Reply-To: <20231116121310.72210-2-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311161701420.773207@ubuntu-linux-20-04-desktop>
References: <20231116121310.72210-1-roger.pau@citrix.com> <20231116121310.72210-2-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-913588650-1700183115=:773207"
Content-ID: <alpine.DEB.2.22.394.2311161705260.773207@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-913588650-1700183115=:773207
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311161705261.773207@ubuntu-linux-20-04-desktop>

On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> The gitlab CI webpage seems to have issues displaying the \CR\CR\LF "\r\r\n"
> sequence on the web interface used as line returns by the Linux kernel serial
> output.  This leads to the QEMU tests output looking like:
> 
> (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
> (XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
> (XEN) Freed 664kB init memory
> mapping kernel into physical memory
> about to get started...
> qemu-system-x86_64: terminating on signal 15 from pid 52 (timeout)
> 
> This not helpful, so strip the CR characters from the output that goes to
> stdout, leaving the output in the smoke.serial untouched.
> 
> Fixes: 3030a73bf849 ('automation: add a QEMU based x86_64 Dom0/DomU test')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks for the patch. Let me see if I understood correctly.

In the gitlab web UI everything after the last (XEN) log line
disappears, for instance:

https://gitlab.com/xen-project/xen/-/jobs/5556551478

(XEN) d1v0: vGICD: unhandled word write 0x000000ffffffff to ICACTIVER0
/ # qemu-system-aarch64: terminating on signal 15 from pid 145 (timeout)


While if I look at the full logs there are plenty of Linux kernel logs
after it:
https://cdn.artifacts.gitlab-static.net/ec/ad/ecad5145a0ec1eb179fd47d1590d5ec43d705e8af2f9a816607ac31891cb82b9/2023_11_16/5556551478/6032156805/job.log?response-content-type=text%2Fplain%3B%20charset%3Dutf-8&response-content-disposition=inline&Expires=1700183635&KeyName=gprd-artifacts-cdn&Signature=vT8CBwI2Th23OvRvQKvNPgHiT5Y=

And this patch aims at fixing that, is that correct?


But I went to check your pipeline
https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1074512137
and the corresponding job
https://gitlab.com/xen-project/people/royger/xen/-/jobs/5549620441 has
the same issue?







> ---
>  automation/scripts/qemu-alpine-x86_64.sh | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/automation/scripts/qemu-alpine-x86_64.sh b/automation/scripts/qemu-alpine-x86_64.sh
> index 8c8d0b0cd759..a1c41c030a47 100755
> --- a/automation/scripts/qemu-alpine-x86_64.sh
> +++ b/automation/scripts/qemu-alpine-x86_64.sh
> @@ -84,7 +84,10 @@ qemu-system-x86_64 \
>      -monitor none -serial stdio \
>      -nographic \
>      -device virtio-net-pci,netdev=n0 \
> -    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& tee smoke.serial
> +    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& \
> +        # Remove carriage returns from the stdout output, as gitlab
> +        # interface chokes on them
> +        tee smoke.serial | sed 's/\r//'
>  
>  set -e
>  (grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1
> -- 
> 2.42.0
> 
--8323329-913588650-1700183115=:773207--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 01:07:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 01:07:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634790.990302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3nKN-00031b-2R; Fri, 17 Nov 2023 01:07:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634790.990302; Fri, 17 Nov 2023 01:07: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 1r3nKM-00031U-Vu; Fri, 17 Nov 2023 01:07:22 +0000
Received: by outflank-mailman (input) for mailman id 634790;
 Fri, 17 Nov 2023 01: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3nKM-00031O-GW
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 01:07:22 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a84a7112-84e5-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 02:07:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id B67EBCE20CC;
 Fri, 17 Nov 2023 01:07:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 65158C433C8;
 Fri, 17 Nov 2023 01:07: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: a84a7112-84e5-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700183237;
	bh=DFWuj4Kwd3wXAB9lm5dwSz9qqftOpXve/aHuWWF8JT0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ELGWmKfZS5ysmEZxAMFUdwu2ypy6XVbWWtRLsOcP/VGE1Yh4ZUoiTy1+nEgrSrZnq
	 WkLRF8zSfzn5rgY49ymbpyrKqBPlNb+x9gxJLBbt42mHRohaue5IYE0EQDlensYiGw
	 nz7gMohPsJHj/qbnyrv9xc4bqZBTZx61qxhwYn3mrn32cKcDjFYXi2GN4MPK9CYopQ
	 mUMcbaI6A0nKIXDzqw9uyOZs4o7Qx8gBHulpK/5BeVDzSABf84XFrStu8QtTBPdMze
	 CJ84xTo4UyY2K6zJFOLGNp5qUtdeTMavVqfo9YiU+UCkApZSiwsbEwyz1xrOCXUWzi
	 gq30GTjBCYunA==
Date: Thu, 16 Nov 2023 17:07:15 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 1/6] automation: remove CR characters from QEMU serial
In-Reply-To: <alpine.DEB.2.22.394.2311161701420.773207@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2311161706310.773207@ubuntu-linux-20-04-desktop>
References: <20231116121310.72210-1-roger.pau@citrix.com> <20231116121310.72210-2-roger.pau@citrix.com> <alpine.DEB.2.22.394.2311161701420.773207@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-843817305-1700183237=:773207"

  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-843817305-1700183237=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 16 Nov 2023, Stefano Stabellini wrote:
> On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> > The gitlab CI webpage seems to have issues displaying the \CR\CR\LF "\r\r\n"
> > sequence on the web interface used as line returns by the Linux kernel serial
> > output.  This leads to the QEMU tests output looking like:
> > 
> > (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
> > (XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
> > (XEN) Freed 664kB init memory
> > mapping kernel into physical memory
> > about to get started...
> > qemu-system-x86_64: terminating on signal 15 from pid 52 (timeout)
> > 
> > This not helpful, so strip the CR characters from the output that goes to
> > stdout, leaving the output in the smoke.serial untouched.
> > 
> > Fixes: 3030a73bf849 ('automation: add a QEMU based x86_64 Dom0/DomU test')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Thanks for the patch. Let me see if I understood correctly.
> 
> In the gitlab web UI everything after the last (XEN) log line
> disappears, for instance:
> 
> https://gitlab.com/xen-project/xen/-/jobs/5556551478
> 
> (XEN) d1v0: vGICD: unhandled word write 0x000000ffffffff to ICACTIVER0
> / # qemu-system-aarch64: terminating on signal 15 from pid 145 (timeout)
> 
> 
> While if I look at the full logs there are plenty of Linux kernel logs
> after it:
> https://cdn.artifacts.gitlab-static.net/ec/ad/ecad5145a0ec1eb179fd47d1590d5ec43d705e8af2f9a816607ac31891cb82b9/2023_11_16/5556551478/6032156805/job.log?response-content-type=text%2Fplain%3B%20charset%3Dutf-8&response-content-disposition=inline&Expires=1700183635&KeyName=gprd-artifacts-cdn&Signature=vT8CBwI2Th23OvRvQKvNPgHiT5Y=
> 
> And this patch aims at fixing that, is that correct?
> 
> 
> But I went to check your pipeline
> https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1074512137
> and the corresponding job
> https://gitlab.com/xen-project/people/royger/xen/-/jobs/5549620441 has
> the same issue?
 
I take it back: you only fixed qemu-alpine-x86_64.sh and not the other.

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


Can you please add a quick patch to do the same for all the other qemu-*
scripts?
 
 
 
 

> > ---
> >  automation/scripts/qemu-alpine-x86_64.sh | 5 ++++-
> >  1 file changed, 4 insertions(+), 1 deletion(-)
> > 
> > diff --git a/automation/scripts/qemu-alpine-x86_64.sh b/automation/scripts/qemu-alpine-x86_64.sh
> > index 8c8d0b0cd759..a1c41c030a47 100755
> > --- a/automation/scripts/qemu-alpine-x86_64.sh
> > +++ b/automation/scripts/qemu-alpine-x86_64.sh
> > @@ -84,7 +84,10 @@ qemu-system-x86_64 \
> >      -monitor none -serial stdio \
> >      -nographic \
> >      -device virtio-net-pci,netdev=n0 \
> > -    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& tee smoke.serial
> > +    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& \
> > +        # Remove carriage returns from the stdout output, as gitlab
> > +        # interface chokes on them
> > +        tee smoke.serial | sed 's/\r//'
> >  
> >  set -e
> >  (grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1
> > -- 
> > 2.42.0
> > 
--8323329-843817305-1700183237=:773207--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 01:07:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 01:07:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634792.990312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3nKu-0003TT-Bd; Fri, 17 Nov 2023 01:07:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634792.990312; Fri, 17 Nov 2023 01:07: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 1r3nKu-0003TJ-8l; Fri, 17 Nov 2023 01:07:56 +0000
Received: by outflank-mailman (input) for mailman id 634792;
 Fri, 17 Nov 2023 01:07: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3nKt-0003Py-Dx
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 01:07: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 bbcc77a1-84e5-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 02:07:53 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 3879A61C06;
 Fri, 17 Nov 2023 01:07:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4DA5FC433C8;
 Fri, 17 Nov 2023 01:07: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: bbcc77a1-84e5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700183271;
	bh=w5/EfQnKHWrePueTb6/sgAdXPA85kZ/tvm7OcBCVOlg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JvzHvis2/hJSLc0tMgWkN8H+G1ranEr/jD/NhVtGhNcZ9QRs3ViLC11rzT8Zux6k4
	 FBa1IdMWHXhLCSmVadG2okKQifzrekWLi7O8ApILDWpN7W0xib80s+1x8tKtlrKbG5
	 mMEZXkCLzsjB1GKx9cuQi13l1WG+TGj5zSBGNop3laAD+JJJpEqfF2k8nMDPuwoww/
	 wbAhb0RyE1XskD+BcIZnHw7X5okhwGFFQxP4RwqIHWDdRrZ4dO0CYtNxvRsji2PvaS
	 uQWAptWqHT44D6lELZEeFsqQZB8LKNQTByl/zQ4w1J4KZxmenRSOkYt8Y9dYMg7hDV
	 uidEeRLTOhjgA==
Date: Thu, 16 Nov 2023 17:07:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 2/6] automation: add timestamps to QEMU non-smoke x86-64
 test
In-Reply-To: <20231116121310.72210-3-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311161707230.773207@ubuntu-linux-20-04-desktop>
References: <20231116121310.72210-1-roger.pau@citrix.com> <20231116121310.72210-3-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-656700383-1700183271=:773207"

  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-656700383-1700183271=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Same here please apply to the other qemu-* scripts too

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

> ---
>  automation/scripts/qemu-alpine-x86_64.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/automation/scripts/qemu-alpine-x86_64.sh b/automation/scripts/qemu-alpine-x86_64.sh
> index a1c41c030a47..8e398dcea34b 100755
> --- a/automation/scripts/qemu-alpine-x86_64.sh
> +++ b/automation/scripts/qemu-alpine-x86_64.sh
> @@ -68,7 +68,7 @@ cd ../..
>  cat >> binaries/pxelinux.0 << EOF
>  #!ipxe
>  
> -kernel xen console=com1
> +kernel xen console=com1 console_timestamps=boot
>  module bzImage console=hvc0
>  module xen-rootfs.cpio.gz
>  boot
> -- 
> 2.42.0
> 
--8323329-656700383-1700183271=:773207--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 01:09:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 01:09:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634795.990322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3nMP-0004RK-MG; Fri, 17 Nov 2023 01:09:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634795.990322; Fri, 17 Nov 2023 01:09: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 1r3nMP-0004RD-Jc; Fri, 17 Nov 2023 01:09:29 +0000
Received: by outflank-mailman (input) for mailman id 634795;
 Fri, 17 Nov 2023 01:09: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3nMO-0004R1-Dy
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 01:09:28 +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 f3a96ab2-84e5-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 02:09:27 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 3A0B661C1D;
 Fri, 17 Nov 2023 01:09:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EF649C433C7;
 Fri, 17 Nov 2023 01:09: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: f3a96ab2-84e5-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700183365;
	bh=jLGFi7MR1qihu+EiJfw2686JzKVJm6mit3R9c2T1gA4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=VFR18JR0WXWlQduu8IsHJ57xiVhr5rkb9OJ6+qTwmNnvzlk+I/sXsQsGWli4t+6GV
	 Qy42dD4eRombPXUILTQVMpfmbj9rY0KgpmbxlisQ/jmFyBPMADhBIAW9ku/7+rKEEt
	 k0EjH1CpuUejQw0ykGURo8qewzfEo1l2tZ0ZTZ3Z8z5maZ3v5YhwutqOMfHQ4Fl0cY
	 RaX5D1mwxQ9G5pYZ8mh3AFDTPnqR4XzLMsXfoJFbcpAMkhwux8/HMrhhAOvKFa+Zbj
	 7guno+VyXje5vc5aMqSUFnXcXv+aXMV7bzxCL4omFZxzx2EeE8ZzP01P0aCZj3V3uj
	 lSwF7YGB4sa5A==
Date: Thu, 16 Nov 2023 17:09:23 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 4/6] automation: update tests to use Debian Bookworm
In-Reply-To: <20231116121310.72210-5-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311161709030.773207@ubuntu-linux-20-04-desktop>
References: <20231116121310.72210-1-roger.pau@citrix.com> <20231116121310.72210-5-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-2025486830-1700183365=:773207"

  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-2025486830-1700183365=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> Switch tests using Stretch to Bookworm, as Stretch is EOL.
> 
> Note the packages are not removed from the Stretch dockerfile, because the
> tests in stable branches will run using the old containers.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> The Bookworm container needs to be updated to contain the required tools before
> pushing this change.

I'll do that after the release just to stay on the safe side


> ---
>  automation/build/debian/bookworm.dockerfile | 5 +++++
>  automation/gitlab-ci/test.yaml              | 4 ++--
>  2 files changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
> index ae008c8d46e5..7aea081c13a9 100644
> --- a/automation/build/debian/bookworm.dockerfile
> +++ b/automation/build/debian/bookworm.dockerfile
> @@ -46,6 +46,11 @@ RUN apt-get update && \
>          gnupg \
>          apt-transport-https \
>          golang \
> +        # for test phase, qemu-smoke-* jobs
> +        qemu-system-x86 \
> +        # for test phase, qemu-alpine-* jobs
> +        cpio \
> +        busybox-static \
>          && \
>          apt-get autoremove -y && \
>          apt-get clean && \
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 61e642cce0cc..6aabdb9d156f 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -43,7 +43,7 @@
>  .qemu-x86-64:
>    extends: .test-jobs-common
>    variables:
> -    CONTAINER: debian:stretch
> +    CONTAINER: debian:bookworm
>      LOGFILE: qemu-smoke-x86-64.log
>    artifacts:
>      paths:
> @@ -130,7 +130,7 @@
>  build-each-commit-gcc:
>    extends: .test-jobs-common
>    variables:
> -    CONTAINER: debian:stretch
> +    CONTAINER: debian:bookworm
>      XEN_TARGET_ARCH: x86_64
>      CC: gcc
>    script:
> -- 
> 2.42.0
> 
--8323329-2025486830-1700183365=:773207--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 01:14:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 01:14:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634800.990333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3nRF-0006un-83; Fri, 17 Nov 2023 01:14:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634800.990333; Fri, 17 Nov 2023 01:14: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 1r3nRF-0006ug-4s; Fri, 17 Nov 2023 01:14:29 +0000
Received: by outflank-mailman (input) for mailman id 634800;
 Fri, 17 Nov 2023 01:14: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3nRD-0006ua-L9
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 01:14: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 a669c5cd-84e6-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 02:14:26 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 30ECAB81D91;
 Fri, 17 Nov 2023 01:14:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E9BDEC433C8;
 Fri, 17 Nov 2023 01:14: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: a669c5cd-84e6-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700183665;
	bh=S/Wock/t2u/4Z5ILrOZxSatsff7734SSgrbjCzQJr5k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OxwN5qZXrAXMKX0WzOV0WHGy+u8Z0u66QScJotZX3EGZfHYq4bh/9xP8VajIlDVO4
	 EH7OyDwWzX6mPgcnqVfPCi1So6TqioZe41xjT8n/4Do2J7rjvirtqWrMNCiH6/npGT
	 9HNScaCLG0+nbqqkNh8SA8uEVM41jQ/G3ZuN+pQTWs3eOOhLEA1qukQWu0LnDihxSm
	 89fTA0mEV01lNsT71NaDlm3y85iCu3eUaJbBPlvBbDodiIEiTRzwg1m+j9S4Ap8qMK
	 H7hlqIW4cClEBhidoYheCZcYab6/TdW3lDWlV6OOpNak48PlCmWunk6N9z/lnVXw9A
	 +MW536qXqHU3Q==
Date: Thu, 16 Nov 2023 17:14:23 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 6/6] automation: switch to multi-platform images when
 possible
In-Reply-To: <20231116121310.72210-7-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311161711560.773207@ubuntu-linux-20-04-desktop>
References: <20231116121310.72210-1-roger.pau@citrix.com> <20231116121310.72210-7-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1226307592-1700183613=:773207"
Content-ID: <alpine.DEB.2.22.394.2311161713520.773207@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-1226307592-1700183613=:773207
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311161713521.773207@ubuntu-linux-20-04-desktop>

On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> Instead of using specific architecture image, switch to using multi-arch ones
> and specify the desired architecture using the --platform option.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> I haven't touched the Yocto dockerfile because I'm not sure how it's used.

We are missing:

automation/build/debian/buster-gcc-ibt.dockerfile
automation/build/debian/bookworm-cppcheck.dockerfile
automation/tests-artifacts/*

Aside from that, it is fine.

How did you test the updated containers? Have you already pushed them to
the registry?


> ---
>  automation/build/alpine/3.18-arm64v8.dockerfile               | 2 +-
>  automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile | 2 +-
>  automation/build/debian/bookworm-arm64v8.dockerfile           | 2 +-
>  automation/build/debian/bookworm-cppcheck.dockerfile          | 2 +-
>  automation/build/debian/bookworm-i386.dockerfile              | 2 +-
>  automation/build/debian/stretch-i386.dockerfile               | 2 +-
>  6 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/automation/build/alpine/3.18-arm64v8.dockerfile b/automation/build/alpine/3.18-arm64v8.dockerfile
> index 470f5d72a921..91e90220240f 100644
> --- a/automation/build/alpine/3.18-arm64v8.dockerfile
> +++ b/automation/build/alpine/3.18-arm64v8.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/alpine:3.18
> +FROM --platform=linux/arm64/v8 alpine:3.18
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
> index b3295c435ed5..a05ffeac04f9 100644
> --- a/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
> +++ b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/debian:bookworm
> +FROM --platform=linux/arm64/v8 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bookworm-arm64v8.dockerfile b/automation/build/debian/bookworm-arm64v8.dockerfile
> index 640b1e0eadf2..2c432aacb765 100644
> --- a/automation/build/debian/bookworm-arm64v8.dockerfile
> +++ b/automation/build/debian/bookworm-arm64v8.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/debian:bookworm
> +FROM --platform=linux/arm64/v8 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bookworm-cppcheck.dockerfile b/automation/build/debian/bookworm-cppcheck.dockerfile
> index d64fb7b18c66..d368d69472cb 100644
> --- a/automation/build/debian/bookworm-cppcheck.dockerfile
> +++ b/automation/build/debian/bookworm-cppcheck.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/debian:bookworm AS builder
> +FROM --platform=linux/arm64/v8 debian:bookworm AS builder
>  
>  ENV DEBIAN_FRONTEND=noninteractive
>  ENV CPPCHECK_VERSION=2.7
> diff --git a/automation/build/debian/bookworm-i386.dockerfile b/automation/build/debian/bookworm-i386.dockerfile
> index 559bf670f0f1..89a650338566 100644
> --- a/automation/build/debian/bookworm-i386.dockerfile
> +++ b/automation/build/debian/bookworm-i386.dockerfile
> @@ -1,4 +1,4 @@
> -FROM i386/debian:bookworm
> +FROM --platform=linux/i386 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/stretch-i386.dockerfile b/automation/build/debian/stretch-i386.dockerfile
> index 9739651e25dd..da93fed8ea68 100644
> --- a/automation/build/debian/stretch-i386.dockerfile
> +++ b/automation/build/debian/stretch-i386.dockerfile
> @@ -1,4 +1,4 @@
> -FROM i386/debian:stretch
> +FROM --platform=linux/i386 debian:stretch
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> -- 
> 2.42.0
> 
--8323329-1226307592-1700183613=:773207--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 01:15:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 01:15:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634803.990343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3nSJ-0007Uq-KS; Fri, 17 Nov 2023 01:15:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634803.990343; Fri, 17 Nov 2023 01: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 1r3nSJ-0007Uj-Hu; Fri, 17 Nov 2023 01:15:35 +0000
Received: by outflank-mailman (input) for mailman id 634803;
 Fri, 17 Nov 2023 01: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r3nSI-0007UV-CU
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 01:15:34 +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 cc43400a-84e6-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 02:15:31 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 8F3D4CE21FC;
 Fri, 17 Nov 2023 01:15:25 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3F962C433C7;
 Fri, 17 Nov 2023 01:15: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: cc43400a-84e6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700183724;
	bh=InRDp9G1uU4PcQDoE/JSVFCXhBDOGqsWBf+3hOzsdBs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GA9sAoVxkRZxR0/tfqXivD+FzvXu0mLprR2xSka1HRfBGaiKm5rb452ryChJmalaa
	 M+lWHeoJ8hJEly1iS3t1ISpMvCOXly3Q49GwcE9I/1yLeV7Wr0KQp5BqNrfS16Iokm
	 8sFHF0PsKHdm1686fCgaXnzU+sAjgqWBgrHpg3P/NnHPT2gEmABRFAjkZ/cqeQo2FU
	 ukU+xmkL8jc237CG2pBLkBKGlE875a+u/pNqNDdt+uQbnBhNDVFF1wCKTFAx0kRLrY
	 rldPtQJ9tXbyoRsAdbSyCgl4gu2JCYMQUogbkIV1yAz9d7RgVnPvpaiLCSMLjgsl3M
	 7R2Pet//l60ag==
Date: Thu, 16 Nov 2023 17:15:23 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 3/6] automation: fix jessie/stretch images to use
 archive.debian.org apt repos
In-Reply-To: <20231116121310.72210-4-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311161715170.773207@ubuntu-linux-20-04-desktop>
References: <20231116121310.72210-1-roger.pau@citrix.com> <20231116121310.72210-4-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-606778400-1700183724=:773207"

  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-606778400-1700183724=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> Otherwise it's impossible to build the images.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
>  automation/build/debian/jessie-i386.dockerfile  | 7 +++++++
>  automation/build/debian/jessie.dockerfile       | 7 +++++++
>  automation/build/debian/stretch-i386.dockerfile | 7 +++++++
>  automation/build/debian/stretch.dockerfile      | 7 +++++++
>  4 files changed, 28 insertions(+)
> 
> diff --git a/automation/build/debian/jessie-i386.dockerfile b/automation/build/debian/jessie-i386.dockerfile
> index c9ac15a3ffd6..a8dec82bb299 100644
> --- a/automation/build/debian/jessie-i386.dockerfile
> +++ b/automation/build/debian/jessie-i386.dockerfile
> @@ -10,6 +10,13 @@ WORKDIR /build
>  
>  ENTRYPOINT ["linux32"]
>  
> +# replace repos in archive as release is EOL
> +RUN cat <<"END" > /etc/apt/sources.list
> +deb http://archive.debian.org/debian/ jessie main contrib non-free
> +deb http://archive.debian.org/debian/ jessie-backports main contrib non-free
> +deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
> +END
> +
>  # build depends
>  RUN apt-get update && \
>      apt-get --quiet --yes install \
> diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
> index 63b2c1e5b771..5c71c3e3ea75 100644
> --- a/automation/build/debian/jessie.dockerfile
> +++ b/automation/build/debian/jessie.dockerfile
> @@ -8,6 +8,13 @@ ENV USER root
>  RUN mkdir /build
>  WORKDIR /build
>  
> +# replace repos in archive as release is EOL
> +RUN cat <<"END" > /etc/apt/sources.list
> +deb http://archive.debian.org/debian/ jessie main contrib non-free
> +deb http://archive.debian.org/debian/ jessie-backports main contrib non-free
> +deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
> +END
> +
>  # build depends
>  RUN apt-get update && \
>      apt-get --quiet --yes install \
> diff --git a/automation/build/debian/stretch-i386.dockerfile b/automation/build/debian/stretch-i386.dockerfile
> index d93f74c979ef..9739651e25dd 100644
> --- a/automation/build/debian/stretch-i386.dockerfile
> +++ b/automation/build/debian/stretch-i386.dockerfile
> @@ -10,6 +10,13 @@ WORKDIR /build
>  
>  ENTRYPOINT ["linux32"]
>  
> +# replace repos in archive as release is EOL
> +RUN cat <<"END" > /etc/apt/sources.list
> +deb http://archive.debian.org/debian/ stretch main contrib non-free
> +deb http://archive.debian.org/debian/ stretch-backports main contrib non-free
> +deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
> +END
> +
>  # build depends
>  RUN apt-get update && \
>      apt-get --quiet --yes install \
> diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
> index 1af6c691f8f4..2f1a99f45017 100644
> --- a/automation/build/debian/stretch.dockerfile
> +++ b/automation/build/debian/stretch.dockerfile
> @@ -8,6 +8,13 @@ ENV USER root
>  RUN mkdir /build
>  WORKDIR /build
>  
> +# replace repos in archive as release is EOL
> +RUN cat <<"END" > /etc/apt/sources.list
> +deb http://archive.debian.org/debian/ stretch main contrib non-free
> +deb http://archive.debian.org/debian/ stretch-backports main contrib non-free
> +deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
> +END
> +
>  # build depends
>  RUN apt-get update && \
>      apt-get --quiet --yes install \
> -- 
> 2.42.0
> 
--8323329-606778400-1700183724=:773207--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 03:18:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 03:18:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634829.990352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3pNJ-0002ZM-Ai; Fri, 17 Nov 2023 03:18:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634829.990352; Fri, 17 Nov 2023 03:18: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 1r3pNJ-0002ZF-7y; Fri, 17 Nov 2023 03:18:33 +0000
Received: by outflank-mailman (input) for mailman id 634829;
 Fri, 17 Nov 2023 03:18: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=Fp3v=G6=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1r3pNH-0002Z9-VJ
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 03:18:32 +0000
Received: from sonic301-20.consmr.mail.gq1.yahoo.com
 (sonic301-20.consmr.mail.gq1.yahoo.com [98.137.64.146])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f9d39f2a-84f7-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 04:18:29 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic301.consmr.mail.gq1.yahoo.com with HTTP; Fri, 17 Nov 2023 03:18:27 +0000
Received: by hermes--production-ne1-56df75844-2xz9h (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 2d6715d33867073cd4a75dc60ca8514f; 
 Fri, 17 Nov 2023 03:18: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: f9d39f2a-84f7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1700191107; bh=bO5ted+P1A5SGXs96O4z/73BO8Z3ap47fgrFTtk6ec0=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=p7PoNBbbpxMlpHgmJtjMlBR1ErmscOnmpwr/7UwZ4JnTv4ZCtoCF4f9ULpqSqsAjtTW7k7l33yB4792Af1PXGxwQ/uh3caCCf9zWLw9BJGN9Cmx3xdtVvS2HO40UHvdFhFMOqzARJvUJMkBihEtGNFPwgchxI+7nrAlHO5lDHKsFxqUS8HJZxNq/uruusywRD9hgrVsXCUnKSRK08YVkGY8XWpeNwMzg/JYnW7lVifc14I+sVWeA6hETngdIuc4Ee4stuSS5eEsdN+x02o9gEFzT2kXdkDHOeB5jcLWEOMTh8tWzhLzr8+g8p7K2aY87dDR63CNrTUldyAfit7vkZA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1700191107; bh=FS3Ium9Ve7xz7p3mB3DqxcJ6Cse7/KC59ZGsgR4a/Si=; h=X-Sonic-MF:Date:Subject:From:To:From:Subject; b=JJGC2O4POKRNdrTd/RZst9d5SbYmI/XQXhF1+bG+ZReqMkgykDkpOY99+LuGzQ6gZrt1Ct7jq5syKPu5Tzpx/aEv2F3l41WcRMiEbE6+ibzXhgPpQwgg79BdMiAqV39jeiPIr3h8POP/66iQi3iqy49nfQdQrLuLSm5SxY/9YlYOT+fQwTbJKRVMhGZkIiM1LZM+vrdhdDt2EfD/NmnwYC8M82Fb960PT/udi74m0vn3DYiwYdCA/NNXMTnzP3TgWRvlfEHTL821IM4efV+D5fP9NCsSpzTHiNJlZAbOGI0lkOTbrDOtlcwT+cgzhjQ7h0WBLo61yx5+uQ7j+5NwJQ==
X-YMail-OSG: X_Xv1XoVM1kFtq0nkQmJiT2QiH5WrIQ.SG1S_4P9MhRhfHZfdB_Jwt7weFsLUf5
 9vP5BOHJh5dMSxRbfHXcfAaLcetnSNeqobLaBUAAsDtlTKLF22Zf0SvPbhElIc2cXK7cqzC3DR1a
 6vch9fZQ7mrxvR3MO4yWlZK7bPzuFpJLvbzuh.lOtJpWo0uyymlNgubH7GVkp2VUJHa3X_bYp3eE
 levu7Xh_YKp9CMgWshqxD5LN2iSWxcTZ2ihGYEgg70y7_DSb09OwMDQmjGzxOgy8GknRMV74Pbc6
 W9iHeBPrsMxruWkSg5dQ7E7zyELsp8pEwq1OMl5PZ4EMYs2WQ3KgoTnxATm2a9sgClZpnS_upp35
 sH_0hzO1gEVI6u__L4ySgVsG_ZigDNaxvS96AF6b1PH_VW3faAH_Q04YSfMxOw7RVVon9rZcwFPs
 iH2ETdwx3qeQAE5QbLMl06CbnQExqBwi2Wq9paPp4geoMon0aOs9BDvEe6QfFbh0sId5gCYifXa1
 wntIwEz2HXib9pBEJwrIzGBOroYX2YmoCJ4x_pb0B6.1AtwEqT8bVNk3LSMFOWDnneWOSzSVzJWG
 zwcIqboziQm0obx8QL68hpDAkH4MLc2IeDib8ZzF38pVaO7pFSMrBPXPAqqsaJiwVxPnCOekvXU4
 OTY7cUtpMRycsoLwhbZNsUv3YVzfOa5OL.IzZzPHtFVZROX48Llg7dyxbT3fiCdy3KEyHejZiGNJ
 tZnGRyhlSIsZOeco5_LV.2uxzjX.NXglgdvGPkcDtmqYSHA9pXlX4WWBjkYBZnVfkWJiaXokwnCq
 sh6nrSUh5aLSidUeRBhgjrM2gidfVlU.ObTlg_MRilsU94emz66FL3pQ1XbQgbmLUK9qNzdd26jf
 xvzYTVL_Mmggz7dM2.KnqY9vVdjROG8MCjK2jVeT6IrA9OPyNQwZK6EWqD6GNkvnZk8xGdjc6xnq
 _8X4iOZxAoqzWaLSWz2Md0f6TkdHf_Jz2Bi8hYvrn35vsmJeVe3wV9dn0P7ATMpQ5d9zF9G_qSyc
 gALkSz6F1zaFvRDlXdTU6CjBc6.QZ_3Pi_zeGQvkulNDI9WgaT1GEQkZBkWYlDAJSjxGaXmKx8pD
 .X0DsjfNh9QN7Aa_ZVG_o6YpVbxwsWm2lnx2GWAE2AmM1nLuM.EGB1VQ11dMzLXrxRRqYZCosTUa
 4Zo_CCKdeOOUOlgQDIrBLqZpnRrVI5OT2ENNIwkBhlwrszGVoPo5taBIvwYz1gF.xO4dKF1RHlDF
 fgQNvaYFHIWoVOQdOyNYORX.Iqj7Scyg85zdJtdYBA90HdkhFiM5uIqx9Lo6sqB7HukUxrMaENtJ
 SPhGAXP.lgxe29nC38kTyyge0.fzmtr_OWtke92APn_DP5IwuQSYWAWi_Y3pii1GQqEMqYHXOXUe
 79HcaMthZKqn5K.ORPFxWrHB1ryXXS_CXSwkWWcLflnF6qxWdo65KWxWQL3xVxnyd_TQ4_s_AAu9
 bt4IH57bS58RE7FipGm.DepK.5pxctkNDYrxx5icEr9WrZ8b1_ohpXEqON6Aiq4GwWOH1UmM_Bxt
 C0bO85BrDkBYk4tpzDb9PDJ0OhCTxHUhpAkQRqzVMlhxErheRs2ukVWW8AYI.gVRyabfNeVgfI73
 RkAuyuDizj3iiRdqIm8.ra_DaDiJaQCrxpEK17wRhkX4g2Jl3e2EHEW4mhCaZMPxbzQRr.GXd6Xw
 A5230sohrdi5GHy0B4YcY3AbY_EZrOrZhDyIWlr.ewHxlBcWLvgTW3PF76BgcSH0jZMSmDC5MEqy
 lbMu8P30HGGZtQpGG7pUkp6.VOLWa5YfmjElS4pYCPjdMDmuytw6FaawKI25DXb8JcMEvTGaOBty
 G3t5Sz.2649Abf7ehcOT6EErPLhuIodN4BrAdicnJeBQXMvhDsIT7NQz0g5Ffl9uvSk2Nvxtw.I2
 dNHsI3LhTYsMY2RrEGlA3PDfpH4qIKbXXgIU.v38jrThXzpoZwAf3Mm1EZLTX.uiwxfjIgq4CeeU
 LA2zuW8rHYJ0dtInRxAaQX4iLKqhihZeMlEQDwa3LqbjVtvrz0jfoCoNLw4COytbD2xKV5w91JDj
 6.S8P2wmOnrlbEpp8J3LwSPHWuie7wt5eBWWRH1AC1ygWggXrw_PQa3BVY_RBnyLekH68z6_pWOz
 .RDqKB_hrbB_Y7i9FCiF.eU.1IAEA49YEscW8X_QDxfcWZxR0by0OBQQT4BB66g0thmTpxxFdzA8
 .5wMF.tzi
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 681c8a96-fdee-4e51-ac62-0881e8c8f908
Message-ID: <f1e3f54a-7553-46c9-ac89-5a760437c3eb@netscape.net>
Date: Thu, 16 Nov 2023 22:18:22 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
To: Stefano Stabellini <sstabellini@kernel.org>,
 Robin Murphy <robin.murphy@arm.com>
Cc: Chuck Zmudzinski <brchuckz@aol.com>,
 linux-arm-kernel@lists.infradead.org, Russell King <linux@armlinux.org.uk>,
 Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 Marek Szyprowski <m.szyprowski@samsung.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Linus Walleij <linus.walleij@linaro.org>, Jason Gunthorpe <jgg@ziepe.ca>,
 Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>,
 Mario Marietto <marietto2008@gmail.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20231111184538.2371-1-brchuckz.ref@aol.com>
 <20231111184538.2371-1-brchuckz@aol.com>
 <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com>
 <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
 <edefba96-0a17-4b3d-992c-6bfe9e62bf97@netscape.net>
In-Reply-To: <edefba96-0a17-4b3d-992c-6bfe9e62bf97@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-Mailer: WebService/1.1.21896 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 7621

On 11/15/2023 12:56 PM, Chuck Zmudzinski wrote:
> On 11/14/2023 5:20 PM, Stefano Stabellini wrote:
>> On Tue, 14 Nov 2023, Robin Murphy wrote:
>>> On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
>>> > Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error when
>>> > attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook Snow
>>> > (and probably on other devices that use the Exynos mixer):
>>> > 
>>> > [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
>>> > exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
>>> > exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR* Device
>>> >                               14450000.mixer lacks support for IOMMU
>>> > exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc0d97554): -22
>>> > exynos-drm exynos-drm: adev bind failed: -22
>>> > exynos-dp: probe of 145b0000.dp-controller failed with error -22
>>> > 
>>> > Linux normally uses xen_swiotlb_dma_ops for DMA for all devices when
>>> > xen_swiotlb is detected even when Xen exposes an IOMMU to Linux. Enabling
>>> > the new config option allows devices such as the Exynos mixer to use the
>>> > IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the error.
>>> > 
>>> > The new config option is not set by default because it is likely some
>>> > devices that use IOMMU for DMA on Xen will cause DMA errors and memory
>>> > corruption when Xen PV block and network drivers are in use on the system.
>>> > 
>>> > Link:
>>> > https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netscape.net/
>>> > 
>>> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
>>> > ---
>>> > The reported error with the Exynos mixer is not fixed by default by adding
>>> > a second patch to select the new option in the Kconfig definition for the
>>> > Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it is
>>> > not certain setting the config option is suitable for all cases. So it is
>>> > necessary to explicitly select the new config option during the config
>>> > stage of the Linux kernel build to fix the reported error or similar
>>> > errors that have the same cause of lack of support for IOMMU on Xen. This
>>> > is necessary to avoid any regressions that might be caused by enabling the
>>> > new option by default for the Exynos mixer.
>>> >   arch/arm/mm/dma-mapping.c |  6 ++++++
>>> >   drivers/xen/Kconfig       | 16 ++++++++++++++++
>>> >   2 files changed, 22 insertions(+)
>>> > 
>>> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
>>> > index 5409225b4abc..ca04fdf01be3 100644
>>> > --- a/arch/arm/mm/dma-mapping.c
>>> > +++ b/arch/arm/mm/dma-mapping.c
>>> > @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev, u64
>>> > dma_base, u64 size,
>>> >   	if (iommu)
>>> >   		arm_setup_iommu_dma_ops(dev, dma_base, size, iommu, coherent);
>>> >   +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
>>> 
>>> FWIW I don't think this really needs a config option - if Xen *has* made an
>>> IOMMU available, then there isn't really much reason not to use it, and if for
>>> some reason someone really didn't want to then they could simply disable the
>>> IOMMU driver anyway.
>> 
>> The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen
>> doesn't recognize the Exynos IOMMU (it is not one of the IOMMUs Xen has
>> a driver for) so it assigns the IOMMU to Dom0. It doesn't happen on
>> purpose, it happens by accident. Certain things are going to break,
>> specifically I am fairly certain PV drivers are going to break.
>> 
>> If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide it
>> from Dom0. (Today Xen doesn't have a list of IOMMUs Xen recognizes but
>> doesn't have a driver for.)
>> 
>> I think it is OK for Chuck and others to play around with this
>> configuration but I wouldn't add a new kconfig option to Linux to
>> support it.
>> 
>> If we do want a kconfig option, I would add a kconfig option or Linux
>> command line option to enable/disable swiotlb-xen. Basically a way to
>> force-enable or force-disable xen_swiotlb_detect(). That could be
>> generally useful for debugging and would also solve the problem here as
>> it could be used to force-disable swiotlb-xen. I would imagine that the
>> end result is the same: the default ops (iommu_ops) are used.

Actually, if the swiotlb-xen DMA ops are disabled, arm/mm/dma-mapping.c
does not set DMA ops for any of the devices except for the two devices
that the Exyos DRM driver uses: the Exyno fimd and the Exynos mixer,
and only for those two devices do iommu_ops get set.

The same thing happens on bare metal. Only those same two devices have
iommu_ops set, and all the other devices do not have any DMA ops set at
all on the bare metal, at least not by arm/mm/dma-mapping.c.

I will work on implementing the option to disable swiotlb-xen on the command
line which makes it possible to do testing and debugging and also enables
fixing the problem with the Exynos mixer by setting a command line option
instead of recompiling the kernel with a new config option.

> 
> I will try this. It isn't exactly what I have tested until now because
> in all my tests so far all the DMA capable devices on the Chromebook use
> swioltlb-xen except for the two devices that need to use the Exynos IOMMU
> to fix the error with the Exynos mixer.
> 
>> 
>> 
>> 
>>> > +	if (dev->dma_ops == &iommu_ops) {
>>> > +		dev->archdata.dma_ops_setup = true;
>>> 
>>> The existing assignment is effectively unconditional by this point anyway, so
>>> could probably just be moved earlier to save duplicating it (or perhaps just
>>> make the xen_setup_dma_ops() call conditional instead to save the early return
>>> as well).
>>> 
>>> However, are the IOMMU DMA ops really compatible with Xen? The comments about
>>> hypercalls and foreign memory in xen_arch_need_swiotlb() leave me concerned
>>> that assuming non-coherent DMA to any old Dom0 page is OK might not actually
>>> work in general :/
>> 
>> Xen has (not yet upstreaming) support for nested IOMMU (Xen uses the
>> IOMMU while also it exposes a virtual IOMMU to guests.) In those cases
>> the iommu_ops should be compatible with Xen.
>> 
>> swiotlb-xen is useful in cases where there is no IOMMU on the platform
>> (or the IOMMU doesn't cover all DMA-capable devices) and Dom0 is 1:1
>> mapped. See include/xen/arm/swiotlb-xen.h:xen_swiotlb_detect. If Dom0 is
>> not 1:1 mapped swiotlb-xen doesn't work. If an IOMMU is present and
>> covers all DMA-capable devices, then swiotlb-xen is superfluous.
> 
> It seems that swiotlb-xen works on this Chromebook since all but two
> of the DMA capable devices use it when configured with the Kconfig option
> added here and it seems to work fine so I presume Dom0 is 1:1 mapped as
> expected. It is possible that on this device, the IOMMU is only covering
> the two devices that need to use the Exynos IOMMU in the tests I have done.
> There are many other DMA capable devices that use swiotlb-xen DMA ops
> on Xen, but I have not checked what DMA ops the other devices use when
> Linux runs on the Chromebook on bare metal without Xen.
> 
> So I plan to do some tests and see what DMA ops the other devices use if
> swiotlb-xen is disabled and also what DMA ops the other devices use when
> Linux runs on the Chromebook on bare metal without Xen. If these tests
> show the problem can be fixed by disabling swiotlb-xen with a Kconfig  or
> command line option, I will propose v2 to implement that as a solution.
> 
>> This last case is the interesting case for virtual IOMMU and Linux usage of
>> iommu_ops.



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 03:31:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 03:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634833.990363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3pa2-0005nN-ET; Fri, 17 Nov 2023 03:31:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634833.990363; Fri, 17 Nov 2023 03:31: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 1r3pa2-0005nG-Bd; Fri, 17 Nov 2023 03:31:42 +0000
Received: by outflank-mailman (input) for mailman id 634833;
 Fri, 17 Nov 2023 03:31: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=v4FF=G6=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r3pa0-0005nA-FK
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 03:31:40 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d020114c-84f9-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 04:31:38 +0100 (CET)
Received: from CYXPR03CA0014.namprd03.prod.outlook.com (2603:10b6:930:d0::13)
 by SA1PR12MB7293.namprd12.prod.outlook.com (2603:10b6:806:2b9::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.20; Fri, 17 Nov
 2023 03:31:34 +0000
Received: from CY4PEPF0000FCC5.namprd03.prod.outlook.com
 (2603:10b6:930:d0:cafe::a8) by CYXPR03CA0014.outlook.office365.com
 (2603:10b6:930:d0::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23 via Frontend
 Transport; Fri, 17 Nov 2023 03:31:34 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000FCC5.mail.protection.outlook.com (10.167.242.107) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7002.20 via Frontend Transport; Fri, 17 Nov 2023 03:31:33 +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.2507.32; Thu, 16 Nov
 2023 21:31:33 -0600
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.2507.32; Thu, 16 Nov
 2023 21:31:21 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via Frontend
 Transport; Thu, 16 Nov 2023 21:31:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d020114c-84f9-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fXjbuF3iNbCskYoxjUP7tbR15TV5xrpjWgMemL7yu25oeen05bU6A75TXIOawVVzKCfZGnSa+W8w1lGCoroNLXmL6dzmMWxGZEhZKlNFg+2BAE3Pr8w7EJeTserFtc4SKso4EV8Rt5e8XBFs/vBTH9WhIFrBbvaBlV+KByOxSZqxCXSjURQBd+No/h//Ofw/FZy+iw5ZxiwRvbEAfYsV0lu89xqC0PAuA8YNrM6a52gP5kwGgaGumdnWwZxs9Dl2w7Yip4ZqjDp28kl66MW1PHQbhX3o6g1UVNfZkRWcdkfJC7JH/Lknzv580nujV7TNm7ramZTzZ5cNiCg2wpOGfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oK27nuh428oob/1SIdJSmarK0sYhkeAoxH8rFz8poYo=;
 b=iOwFGNfq34d737jHqd+4Wz7kdz8nihrvVvY8WE6l/xZBtck00C6ZaDgcbXc5TDykuQS7ysP78GEAMTUW1KYdrOO7X/InNUSqS+SVEAwNubqQ5gT8MGZPNIweODJGmU8P3ubGyvKpUzXEMxRG7XHfAeN5ptM5efcI8dc1ftYgTsnyXJl/b0HLMN0MMpL6aTdGUM1JhJmqMu3UxpwIkte5p8+PxYUPOze60e/ng2XMp3lhhhCyGgVXQOBqeeaLM+3wkalNNm2GGXqWppIxSgGhnDt1KE8XUuKhU9W9GOUlBYlnFDY6ImpewvBeKdEBKK6uW89b4ROT826FdnTQMSBM6g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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 (0)
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=oK27nuh428oob/1SIdJSmarK0sYhkeAoxH8rFz8poYo=;
 b=0vWwoJwbarWt38tnS/8ru06dhXIGuIHBpynbi6fLBCMeyE8fwWAhV1kTz2esgjR08jpTnlcR+PPlhY2OQ7PfMoSA5YjF0bfF/BkkiMlDsX5yHi9tYFOw0rdNqqN2VHZm0CRNMI9zQ/CMOinXt44r6U1cpoeEdOIqtnBgvTGCkWc=
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: <78c59979-5110-4fa3-855d-e0fa6df116f0@amd.com>
Date: Thu, 16 Nov 2023 22:31:19 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>, Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>
CC: Julien Grall <julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, <vikram.garhwal@amd.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000FCC5:EE_|SA1PR12MB7293:EE_
X-MS-Office365-Filtering-Correlation-Id: a3a37d16-e4f7-4fd9-ec19-08dbe71db29a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yQzFEuuFy8NG3SNRWUdh/QjvhH/GRd+3biVKMNhuBfywd8AAzhc3F+0nVa356MtVCD/kF5HMe1oLHaHxRbNCWtX5gRWOZU4aJKWfIrlEIpH7Mv5J1q++Y/zsNyiPpq53ONWd4WV5WW7wPdK9bZdmGdrGY/KIpKyVn+GvH2Ny+2cALGuoLkHrkCjQnfbU71BwXxTu587w5V5R99d3vHY/UA2GfsJEjnPPxkHxiRYzpcV2xZ7gmYhBZ9DY3JYH1D3JmnUEWcsSSmMkuQxnxN1lk4fBmTzbt2/AhF8nopecRGLiJHo7AXusSdw8gk2rxwIXB/D4FoOLyXLmLnmOM8PrtVaBqJyr7N6f7cDEexMjdfJo513zYhkZVgOZsYOTqXvZ1Sg2FdMxMYdxN8+k6q0zjuIhIZpkEMmWxnFAHBjmG1NE3P61jNuxjCiyllPScuGfaqmvKxKE3Xb0AVbCXZr9bvirThm1JDmWt/7FRj5Vo5aFQbE0+d7B5l8ZbzqI/jT0FJhErdYPrH06uCKuHZboythl5CP6O2wLjZWy0SeghouGfbmHXgnSW/jSoTl5p9pFOavbT8+Ia2e2NmkqvpyIqXvBFDiewzMPs+i5vWfaqW6NvjzOjPIfQWxKppEYryjTD3a3cJRQb3VVsqETvpgVtXUx8NcMlWwcH5ncMsu+tFka8gYXrF6rB8/a9S290vloku39XAocm/S1TdWt9po8nw0b6KHOMPi6eLIrL+nmI8wt9ufcXTKeOYwp0N/frgDtlSnB0bx9/chvJYidjMmLky0gCcnmrr0O0IcZDwHkALo=
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:(13230031)(4636009)(39860400002)(346002)(136003)(376002)(396003)(230922051799003)(64100799003)(1800799009)(451199024)(82310400011)(186009)(46966006)(36840700001)(40470700004)(8676002)(53546011)(8936002)(31696002)(40480700001)(4326008)(966005)(70206006)(70586007)(86362001)(316002)(110136005)(478600001)(16576012)(54906003)(83380400001)(44832011)(82740400003)(31686004)(426003)(2616005)(26005)(336012)(47076005)(36860700001)(2906002)(40460700003)(5660300002)(41300700001)(81166007)(36756003)(356005)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 03:31:33.8059
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a3a37d16-e4f7-4fd9-ec19-08dbe71db29a
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:
	CY4PEPF0000FCC5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7293

On 11/15/23 18:28, Stefano Stabellini wrote:
> + Stewart, Vikram
> 
> On Wed, 15 Nov 2023, Oleksandr Tyshchenko wrote:
>> On 15.11.23 14:33, Julien Grall wrote:
>>> Thanks for adding support for virtio-pci in Xen. I have some questions.
>>>
>>> On 15/11/2023 11:26, Sergiy Kibrik wrote:
>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>
>>>> In order to enable more use-cases such as having multiple
>>>> device-models (Qemu) running in different backend domains which provide
>>>> virtio-pci devices for the same guest, we allocate and expose one
>>>> PCI host bridge for every virtio backend domain for that guest.
>>>
>>> OOI, why do you need to expose one PCI host bridge for every stubdomain?
>>>
>>> In fact looking at the next patch, it seems you are handling some of the 
>>> hostbridge request in Xen. This is adds a bit more confusion.
>>>
>>> I was expecting the virtual PCI device would be in the vPCI and each 
>>> Device emulator would advertise which BDF they are covering.
>>
>>
>> This patch series only covers use-cases where the device emulator 
>> handles the *entire* PCI Host bridge and PCI (virtio-pci) devices behind 
>> it (i.e. Qemu). Also this patch series doesn't touch vPCI/PCI 
>> pass-through resources, handling, accounting, nothing. From the 
>> hypervisor we only need a help to intercept the config space accesses 
>> happen in a range [GUEST_VIRTIO_PCI_ECAM_BASE ... 
>> GUEST_VIRTIO_PCI_ECAM_BASE + GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE] and 
>> forward them to the linked device emulator (if any), that's all.
>>
>> It is not possible (with current series) to run device emulators what
>> emulate only separate PCI (virtio-pci) devices. For it to be possible, I 
>> think, much more changes are required than current patch series does. 
>> There at least should be special PCI Host bridge emulation in Xen (or 
>> reuse vPCI) for the integration. Also Xen should be in charge of forming 
>> resulting PCI interrupt based on each PCI device level signaling (if we 
>> use legacy interrupts), some kind of x86's XEN_DMOP_set_pci_intx_level, 
>> etc. Please note, I am not saying this is not possible in general, 
>> likely it is possible, but initial patch series doesn't cover these 
>> use-cases)
>>
>> We expose one PCI host bridge per virtio backend domain. This is a 
>> separate PCI host bridge to combine all virtio-pci devices running in 
>> the same backend domain (in the same device emulator currently).
>> The examples:
>> - if only one domain runs Qemu which servers virtio-blk, virtio-net, 
>> virtio-console devices for DomU - only single PCI Host bridge will be 
>> exposed for DomU
>> - if we add another domain to run Qemu to serve additionally virtio-gpu, 
>> virtio-input and virtio-snd for the *same* DomU - we expose second PCI 
>> Host bridge for DomU
>>
>> I am afraid, we cannot end up exposing only single PCI Host bridge with 
>> current model (if we use device emulators running in different domains 
>> that handles the *entire* PCI Host bridges), this won't work.
>  
> 
> We were discussing the topic of vPCI and Virtio PCI just this morning
> with Stewart and Vikram. We also intend to make them work well together
> in the next couple of months (great timing!!)
> 
> However, our thinking is to go with the other approach Julien
> suggested: a single PCI Root Complex emulated in Xen by vPCI. QEMU would
> register individual PCI devices against it.
> 
> Vikram, Stewart, please comment. Our understanding is that it should be
> possible to make QEMU virtio-pci work with vPCI with relatively minor
> efforts and AMD volunteers to do the work in the next couple of months
> on the vPCI side.
> 
> 
> Although it should be possible to make both approaches work at the same
> time, given that it would seem that EPAM and AMD have very similar
> requirements, I suggest we work together and collaborate on a single
> approach going forward that works best for everyone.
> 
> 
> Let me start by saying that if we can get away with it, I think that a
> single PCI Root Complex in Xen would be best because it requires less
> complexity. Why emulate 2/3 PCI Root Complexes if we can emulate only
> one?
> 
> Stewart, you are deep into vPCI, what's your thinking?

First allow me explain the moving pieces in a bit more detail (skip ahead to "Back to the question: " if you don't want to be bored with the details). I played around with this series, and I passed through a PCI device (with vPCI) and enabled virtio-pci:

virtio = [ "type=virtio,device,transport=pci,bdf=0000:00:00.0,backend_type=qemu" ]
device_model_args = [ "-device", "virtio-serial-pci" ]
pci = [ "01:00.0" ]

Indeed we get two root complexes (2 ECAM ranges, 2 sets of interrupts, etc.) from the domU point of view:

    pcie@10000000 {
        compatible = "pci-host-ecam-generic";
        device_type = "pci";
        reg = <0x00 0x10000000 0x00 0x10000000>;
        bus-range = <0x00 0xff>;
        #address-cells = <0x03>;
        #size-cells = <0x02>;
        status = "okay";
        ranges = <0x2000000 0x00 0x23000000 0x00 0x23000000 0x00 0x10000000 0x42000000 0x01 0x00 0x01 0x00 0x01 0x00>;
        #interrupt-cells = <0x01>;
        interrupt-map = <0x00 0x00 0x00 0x01 0xfde8 0x00 0x74 0x04>;
        interrupt-map-mask = <0x00 0x00 0x00 0x07>;
    };

    pcie@33000000 {
        compatible = "pci-host-ecam-generic";
        device_type = "pci";
        reg = <0x00 0x33000000 0x00 0x200000>;
        bus-range = <0x00 0x01>;
        #address-cells = <0x03>;
        #size-cells = <0x02>;
        status = "okay";
        ranges = <0x2000000 0x00 0x34000000 0x00 0x34000000 0x00 0x800000 0x42000000 0x00 0x3a000000 0x00 0x3a000000 0x00 0x800000>;
        dma-coherent;
        #interrupt-cells = <0x01>;
        interrupt-map = <0x00 0x00 0x00 0x01 0xfde8 0x00 0x0c 0x04 0x00 0x00 0x00 0x02 0xfde8 0x00 0x0d 0x04 0x00 0x00 0x00 0x03 0xfde8 0x00 0x0e 0x04 0x00 0x00 0x00 0x04 0xfde8 0x00 0x0f 0x04 0x800 0x00 0x00 0x01 0xfde8 0x00 0x0d 0x04 0x800 0x00 0x00 0x02 0xfde8 0x00 0x0e 0x04 0x800 0x00 0x00 0x03 0xfde8 0x00 0x0f 0x04 0x800 0x00 0x00 0x04 0xfde8 0x00 0x0c 0x04 0x1000 0x00 0x00 0x01 0xfde8 0x00 0x0e 0x04 0x1000 0x00 0x00 0x02 0xfde8 0x00 0x0f 0x04 0x1000 0x00 0x00 0x03 0xfde8 0x00 0x0c 0x04 0x1000 0x00 0x00 0x04 0xfde8 0x00 0x0d 0x04 0x1800 0x00 0x00 0x01 0xfde8 0x00 0x0f 0x04 0x1800 0x00 0x00 0x02 0xfde8 0x00 0x0c 0x04 0x1800 0x00 0x00 0x03 0xfde8 0x00 0x0d 0x04 0x1800 0x00 0x00 0x04 0xfde8 0x00 0x0e 0x04>;
        interrupt-map-mask = <0x1800 0x00 0x00 0x07>;
    };

Xen vPCI doesn't currently expose a host bridge (i.e. a device with base class 0x06). As an aside, we may eventually want to expose a virtual/emulated host bridge in vPCI, because Linux's x86 PCI probe expects one [0].

Qemu exposes an emulated host bridge, along with any requested emulated devices.

Running lspci -v in the domU yields the following:

0000:00:00.0 Network controller: Ralink corp. RT2790 Wireless 802.11n 1T/2R PCIe
        Subsystem: ASUSTeK Computer Inc. RT2790 Wireless 802.11n 1T/2R PCIe
        Flags: bus master, fast devsel, latency 0, IRQ 13
        Memory at 23000000 (32-bit, non-prefetchable) [size=64K]
        Capabilities: [50] MSI: Enable- Count=1/128 Maskable- 64bit+
        Kernel driver in use: rt2800pci

0001:00:00.0 Host bridge: Red Hat, Inc. QEMU PCIe Host bridge
        Subsystem: Red Hat, Inc. QEMU PCIe Host bridge
        Flags: fast devsel

0001:00:01.0 Communication controller: Red Hat, Inc. Virtio console
        Subsystem: Red Hat, Inc. Virtio console
        Flags: bus master, fast devsel, latency 0, IRQ 14
        Memory at 3a000000 (64-bit, prefetchable) [size=16K]
        Capabilities: [84] Vendor Specific Information: VirtIO: <unknown>
        Capabilities: [70] Vendor Specific Information: VirtIO: Notify
        Capabilities: [60] Vendor Specific Information: VirtIO: DeviceCfg
        Capabilities: [50] Vendor Specific Information: VirtIO: ISR
        Capabilities: [40] Vendor Specific Information: VirtIO: CommonCfg
        Kernel driver in use: virtio-pci

0000:00:00.0 is a real passed through device (corresponding to 0000:01:00.0 in dom0).
0001:00:00.0 is the qemu host bridge (base class 0x06).
They are on different segments because they are associated with different root complexes.


Back to the question: Sure, avoiding reserving more memory from the preciously small lowmem virtual memory layout is probably a good idea. With everything in a single virtual root complex (segment), it's probably possible to come up with some vBDF-picking algorithm (+ user ability to specify) that works for most use cases as discussed elsewhere. It will always be in a single fixed segment as far as I can tell.

Some more observations assuming a single virtual root complex:

We should probably hide the qemu host bridge(s) from the guest. In other words, hide all devices with base class 0x06, except eventually vPCI's own virtual host bridge. If we don't hide them, we would likely end up with multiple emulated host bridges on a single root complex (segment). That sounds messy and hard to manage.

We have a need to control the vBDF exposed to the guest - can we force qemu to use particular BDFs for its emulated devices? If not, we will need to do SBDF translation in vPCI for virtio-pci devices. Meaning virtio-pci would then be dependent on the vPCI series [1]. I think that's okay. Hmm - if a qemu SBDF clashes with a real hardware SBDF, is that an issue?

vPCI and virtio-pci devices will be sharing a single ECAM range, so it looks like we must rely on vPCI to intercept the accesses that need to be forwarded to ioreq.

Initially, it looks like we would be adding some sort of support for legacy interrupts in vPCI, but for virtio-pci devices only. Eventually, we may also want to consider virtio-pci with MSI/MSI-X, but it's probably okay to wait.

[0] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/x86/pci/direct.c?h=v6.6.1#n186
[1] https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00660.html


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 07:07:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 07:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634841.990372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3swm-0000I8-H4; Fri, 17 Nov 2023 07:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634841.990372; Fri, 17 Nov 2023 07: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 1r3swm-0000I1-EO; Fri, 17 Nov 2023 07:07:24 +0000
Received: by outflank-mailman (input) for mailman id 634841;
 Fri, 17 Nov 2023 07:07: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=Shlr=G6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3swl-0000Hv-N6
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 07:07:23 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0606.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1a7f6ec-8517-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 08:07:18 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9493.eurprd04.prod.outlook.com (2603:10a6:10:350::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov
 2023 07:07:15 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.010; Fri, 17 Nov 2023
 07:07: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: f1a7f6ec-8517-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OcDDZOAv0U117JYgvMzsMse/i5wPkZ/2q0ahNPLGLnobphGOnEoog3lVfLYxHvWszXQQbyVW7v1FqLX17P6bICOr3XRTO9TBz/moU5f0XGSGW4wGPJHjik+QpuDA/bPOMlY5mZzK2kDulnOIxvmq6Ei6sQEVYo7g5HZHRbso4NFEKHwLK9P2Uz1RLXU7MfrD4Gowp+UcjO2kV87zMlcGvJ9BulWuoYiNdMz1/uqF0cYe06SGrEPHepckE7mVfsTz3PtBQKdf3zDlVJ4Ll4bMz0Qy+Nt/dxb2PSpy6VRW7TdwsJWGiYJEMRdrBiPHv8xJ3Cmr1X6vTVo+UdsCVdb/VQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hNl6RJRBsa6ZEVfz8m2Ln7NNIVSX9fq72QHbly0oOuE=;
 b=k4IllggHPrBp/s0/12VWbFBMLA/CGaAQJCSzrKKidALoyBl+GnGlrglpQy22Dy8AOezhUzNEh2cCwM3pMYnc/CCbfLj4LowgiVUwAMWxtmTAqK2mkr0xUdtpJ+4ysbnHWmaaYMOq+U9xaGny8isCNf7rTDLS/9lzXqXPV80xicS0Zn86iX7+a3MHS8X7VdEwwf21dj0zpQzDOa+dEVucNJDjkqFQkjYSjY7aDj1RPoHuTTp1tmQoCOKnVi1gcIJT1rl3b79GvbBjsse+yaDE5Usb+J5po1n3QR15bJZgrihNb2CgMVWyBiokR++BQvyIG1F2X6rPoQQv2Ey0f7gPpg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hNl6RJRBsa6ZEVfz8m2Ln7NNIVSX9fq72QHbly0oOuE=;
 b=c2IY4CUFPyyDa9KW6xItSlKJgL9i2Suv8VjWqwrpAgf3jhU+aUH5LLuv6oSU0lbZqnGKZXGrywFT2PAqZS3i1g+lt+1KwVQcbd1bmPaLWkVsunWRO+CgLsOrjXTnHovi7+lOTVsUYibuvpIdyBEcRx7JLnjdmZYPTYbVOVoqIte9110dbcL89ox2cXXHRdvL5XpwbI0d/OLWjtZ9eh5HW3HmxuJMDxj5KZuLnEjtthxxnn23cpDEfdm8xIC9aPJ3U0Uh3xtnC6Me8BF540oBjcPU+wjyLuWDZthNM23XOClLyER1+yvZ6LkG9qvb4RKvvwrBZqBY9zvVPH2kRi67tA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b5277391-71bb-42b6-82e4-635dd1361ad3@suse.com>
Date: Fri, 17 Nov 2023 08:07:11 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19 v4 1/8] xen/include: add macro
 ISOLATE_LOW_BIT
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1698410970.git.nicola.vetrini@bugseng.com>
 <dca236bf9199f596bafb35eb48d81adc280d8cca.1698410970.git.nicola.vetrini@bugseng.com>
 <f88edc35-6b1b-0136-aa1f-6429652c4016@suse.com>
 <alpine.DEB.2.22.394.2310301536390.1625118@ubuntu-linux-20-04-desktop>
 <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@suse.com>
 <817fab34432c854ce585aba80db77f7c@bugseng.com>
 <8b4e0da82930375b2a95387a9031c73f@bugseng.com>
 <1178b79c-d6a3-a46c-5556-3fb5964dc051@suse.com>
 <392566d1-109b-413c-b904-0e4cb4007263@suse.com>
 <6b6f051130b724ee6a813235e049354c@bugseng.com>
 <7cbf6f0f-d5b1-44e2-9a0e-a9d7d353eb6b@suse.com>
 <alpine.DEB.2.22.394.2311161635200.773207@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311161635200.773207@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: AS4P190CA0012.EURP190.PROD.OUTLOOK.COM
 (2603:10a6:20b:5de::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9493:EE_
X-MS-Office365-Filtering-Correlation-Id: 838c78a5-4180-4d56-f020-08dbe73bd3ea
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LP/9quVZrIhxpeg/KzKmNUIgKll9kDA5OoJS2BIaKRHdHdc03VtG/TMmpSKv08mEuZ/k1775+QXz34FUxrRkApExOdPLGY5EmwaqfRdCHIiTBi1RH0h4BH5rJdY3xnhsc+Nv9iKgBpfOw/nBkOV9jz7GwZd9/xakL+bDUDgDxNQAU7YKBu07Sz9zQ86d3sll1BCWjlNoKFRnzS8hTlk8IITfodlNlSOJRogAvt3e8PYLIZ0Qtc/uOVndrFrbfbNkWBjhlvBoA3GVz/q4lexArNO7CVJNKGxIix53XCoAxlBqYK2sB0pH8HJz6AiTbjdJsdJtY7efPJpgRNWfU9gmmOcmX1geZ3K9ZncEZB8yEwDUeL5VjgSox0JZj90YPvUK/Jtjx7V6G2K4hs2SWlZbiqSCdggtOXZvKX3VYTUU2RjCyMhVfjV6SsCs70Ik/QpkGJ7t7QjjR4r83ulMZDg4qlxkOT9xIl4ux58JAXlEhH3IuqdWN10jZkVQ3lXl4n878wT9O+v+UdZ6X19yszyWfIWhRpJpBYQcDkHv+z9Ny/ZGUBZ9CSQNDcNXQp6XTHBC9C1iBgCj/zo3d2D8Yl7fNo9i4bFXTThQooBDCInIrFugL+881CVRa2RS9Cq2pwqdcqubHMwmAbBU7Ou/wk1rsQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(36756003)(53546011)(6506007)(2616005)(6666004)(83380400001)(6512007)(5660300002)(7416002)(8936002)(41300700001)(4326008)(4001150100001)(2906002)(6486002)(8676002)(478600001)(316002)(6916009)(66476007)(66556008)(66946007)(86362001)(31696002)(54906003)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVU2c2xkc1U5UzFoN3MzTzdwdzlsdDA3alZFNUtHUWRjT2xkZFRkU0VzOTVr?=
 =?utf-8?B?K2NoV1ZLMEJ1TDZBUWlRdkcvY0xFKzlTcUdIaVFKMyt2Tm9BWTd6SlpQdDNI?=
 =?utf-8?B?WVBDNzM5TE96R0RkeDZ6Vm4yUXFpWkx2MUtHVlJodXlBZitUcVhNeloyb0gw?=
 =?utf-8?B?SUpNSkxHb2ljSWxzU04wL29DeEZ4L25uM0ZsWUZTVk1FNjM1RSsvV3NCOHM1?=
 =?utf-8?B?MmRHOFJHUXdibU1VV2ZlOTNPVXNSblcrbnVGSDRLVmlrQlZERHFuQW9GcG54?=
 =?utf-8?B?V004b2Z6MUhGcldBVTJDc1JCVVNqN2w4OFlzaXVNR3dXVU56MjAzUHFQM3Q1?=
 =?utf-8?B?NTNkbWh2bGN5c0I4WlJiL3FWRTNMRzRzc1R6eE9wRG1BVmZmWGN1UEpLUlVB?=
 =?utf-8?B?eGlnTDkyUE1KbzRsUUhnNUNpS0hSazZGZnhQbGl6U1M2TDd2TGFoZ2JuM0Nl?=
 =?utf-8?B?NlhjUHdkbTEraDQ1azFZU0JaenQ5Q1BwZ2lIWVR4NTIrK0FPdEh0SnUwWUlU?=
 =?utf-8?B?S0M4VGExQS9SbUlob1hzUzFIQWpsMFp0VUNvSHpKRFdJZk5UUHZPQ3pla0Vh?=
 =?utf-8?B?YmtOT3lEWTlQdlU0aENCT0VrOWdOcWVaYWxqVlpDRUZYd3lHU0FNMmR2aC95?=
 =?utf-8?B?UTdxNUlCTmV3MHl6Ty83MFpWSGc5emNxM1ZSc2x6SFhObVFvVk1sSjhVdHYw?=
 =?utf-8?B?ditxL0RGT1VXc1lUVnBPQ3MyTWV1RXNRTGFWYURQTUVTWGdOdHhEUUZWWVJY?=
 =?utf-8?B?V0R6ODJJdzYxMlB3SDM2OGtaUElHVm9wRnlhU0MrQitHNlRWTlR5NGVyZzVH?=
 =?utf-8?B?dlkyUnlmQ2l4cHg3Q1poZVA1Wk02dHdCRjc4Q2IrQ0dmeHBoQTNheGFKVTBj?=
 =?utf-8?B?OExtcXlDWlhQL0VzcEQrOVh6ZERNZEhtNEMweFVSSTI1NlRHYWE0REs4SGRt?=
 =?utf-8?B?dmhBaHJPc2RVMmNXT1JwcFJhY0RyVng2SCsvclp6Q2pha2ZxdkpsbGF2Qkxm?=
 =?utf-8?B?R2JhZUNoeWhVTnF3eXNGNkR3ZVFoMHhUVEVaZHRCUWFuUGVzR28wUHhJZEVu?=
 =?utf-8?B?Z0NrRnpSUVAxM3RKUmxJY1pCTEloa0Z1clFtVUxhSzhKVlBnZ1laRXZOM00z?=
 =?utf-8?B?SXMwRVRjS2ZGclFTcXM2SjBNTUJuQ1VlYzEyRHB2YnFoMjV5T2VlclhZQnA2?=
 =?utf-8?B?aG15K3MrRlZ5WjVuN3M3UU0wODZmNGZaNEt6UWlXdkFpR0pvcUt0WVZIS1Rx?=
 =?utf-8?B?RFJpRUl2NSt3VkZPL0hRZzNQcTZ1RFV0WHBjUWtIQU1ZQWxqSkRwT1kwY01u?=
 =?utf-8?B?MWZGWC9UanYrbnRTT1VnVG1lcmNjSC9KNHpuQVJqVjVCd2w4TXJKL1VEaDNj?=
 =?utf-8?B?WjcwdXN3bkhqelQ2MjkzS3hSL3RDVFg4MERtcE9LcDMvVFR3Z2dLT1lDdHhk?=
 =?utf-8?B?WVNIV3QvRG03ZVpJTGNkTTdxSkpxUEJPNTRHcS9QU0w5anA2ZDNlR2k5K1k1?=
 =?utf-8?B?eXNLU29QZGlSVEdwb1hNelJ2dVRvSVlPSHAweVE4cSs1MFNPemhuSGhuZDFE?=
 =?utf-8?B?Q21RVVJ5RFV3WFVlRTRSdWY0WWdPL1BJMFE1cUFRUmhnK0N0VkkrU3ErazJj?=
 =?utf-8?B?K1NFTmRBTXJPOFhXZDlicGVUOXRPaVNkSlRTRnpnNGhNRGxVSEFwWURHSGdI?=
 =?utf-8?B?NE5EbFZBTWU5VlRuNjlKMWJHZGlsTWJUVytrVUh3U1Y4TjF5bDc4VjFHS0Fl?=
 =?utf-8?B?OTdvV01tSkg3UmFDUjRIa243Q1hHbjNDbE52Y2UxNDVSLzNqZFYvQ1RBRHR2?=
 =?utf-8?B?ZzlYV2VzNktpUitIcjI1aUwzbmhMVmlhdzdxbGZLUU9zN3JtL1MwTmh4M0g0?=
 =?utf-8?B?Vkh2QXBBMXltcWhObWVXd2NzTzFCVmRuVy9KZEtMTW1PWldlMDdQbmRWZjlM?=
 =?utf-8?B?NEl3YUN1Um8xSDQ0REVRMExpSU96YzYzVWdDZDZGL1FvZVJnSHZrMmR2bUpJ?=
 =?utf-8?B?NUJ3OWZyZWN6RU1VektQeWdLbk5nRTZhbnYwVUVhMmhuaFV2MHRNQkxBVWNZ?=
 =?utf-8?B?cGt0LzhDNWpXTitxV1ZObUNuZmpCakJxK1RpM0YyWFd5NDcwUzZiYXJDWXN3?=
 =?utf-8?B?MWNIc0hWNFlBYXNoZU1UcE1McVpmM0tQOGdWUW56V1ZQZFhxaEg5UkgrOENM?=
 =?utf-8?Q?YJ4QwIknCGSxnY4JfEbF3x3DBIV9HRFAL8pppTBJegmE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 838c78a5-4180-4d56-f020-08dbe73bd3ea
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 07:07:14.9486
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5hvd/G3X06b0RThU52riZdH+FJMJ4AgibUlxWVowiwmFfNgjdPMkYboRPEpXgFnEhavldvcq0sPJfmxA2SEj4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9493

On 17.11.2023 01:43, Stefano Stabellini wrote:
> On Thu, 16 Nov 2023, Jan Beulich wrote:
>> On 16.11.2023 11:02, Nicola Vetrini wrote:
>>> On 2023-11-16 09:26, Jan Beulich wrote:
>>>> On 31.10.2023 11:20, Jan Beulich wrote:
>>>>> On 31.10.2023 11:03, Nicola Vetrini wrote:
>>>>>> On 2023-10-31 09:28, Nicola Vetrini wrote:
>>>>>>> On 2023-10-31 08:43, Jan Beulich wrote:
>>>>>>>> On 30.10.2023 23:44, Stefano Stabellini wrote:
>>>>>>>>> On Mon, 30 Oct 2023, Jan Beulich wrote:
>>>>>>>>>> On 27.10.2023 15:34, Nicola Vetrini wrote:
>>>>>>>>>>> --- a/xen/include/xen/macros.h
>>>>>>>>>>> +++ b/xen/include/xen/macros.h
>>>>>>>>>>> @@ -8,8 +8,14 @@
>>>>>>>>>>>  #define DIV_ROUND(n, d) (((n) + (d) / 2) / (d))
>>>>>>>>>>>  #define DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
>>>>>>>>>>>
>>>>>>>>>>> -#define MASK_EXTR(v, m) (((v) & (m)) / ((m) & -(m)))
>>>>>>>>>>> -#define MASK_INSR(v, m) (((v) * ((m) & -(m))) & (m))
>>>>>>>>>>> +/*
>>>>>>>>>>> + * Given an unsigned integer argument, expands to a mask where
>>>>>>>>>>> just the least
>>>>>>>>>>> + * significant nonzero bit of the argument is set, or 0 if no 
>>>>>>>>>>> bits
>>>>>>>>>>> are set.
>>>>>>>>>>> + */
>>>>>>>>>>> +#define ISOLATE_LOW_BIT(x) ((x) & -(x))
>>>>>>>>>>
>>>>>>>>>> Not even considering future Misra changes (which aiui may require
>>>>>>>>>> that
>>>>>>>>>> anyway), this generalization of the macro imo demands that its
>>>>>>>>>> argument
>>>>>>>>>> now be evaluated only once.
>>>>>>>>>
>>>>>>>>> Fur sure that would be an improvement, but I don't see a trivial 
>>>>>>>>> way
>>>>>>>>> to
>>>>>>>>> do it and this issue is also present today before the patch.
>>>>>>>>
>>>>>>>> This was an issue here for MASK_EXTR() and MASK_INSR(), yes, but 
>>>>>>>> the
>>>>>>>> new
>>>>>>>> macro has wider use, and there was no issue elsewhere so far.
>>>>>>>>
>>>>>>>>> I think it
>>>>>>>>> would be better to avoid scope-creeping this patch as we are 
>>>>>>>>> already
>>>>>>>>> at
>>>>>>>>> v4 for something that was expected to be a trivial mechanical 
>>>>>>>>> change.
>>>>>>>>> I
>>>>>>>>> would rather review the fix as a separate patch, maybe sent by you 
>>>>>>>>> as
>>>>>>>>> you probably have a specific implementation in mind?
>>>>>>>>
>>>>>>>> #define ISOLATE_LOW_BIT(x) ({ \
>>>>>>>>     typeof(x) x_ = (x); \
>>>>>>>>     x_ & -x_; \
>>>>>>>> })
>>>>>>>>
>>>>>>>> Hard to see the scope creep here. What I would consider scope creep 
>>>>>>>> I
>>>>>>>> specifically didn't even ask for: I'd like this macro to be
>>>>>>>> overridable
>>>>>>>> by an arch. Specifically (see my earlier naming hint) I'd like to 
>>>>>>>> use
>>>>>>>> x86's BMI insn BLSI in the context of "x86: allow Kconfig control 
>>>>>>>> over
>>>>>>>> psABI level", when ABI v2 or higher is in use.
>>>>>>>
>>>>>>> I appreciate you suggesting an implementation; I'll send a v5
>>>>>>> incorporating it.
>>>>>>
>>>>>> There's an issue with this approach, though: since the macro is used
>>>>>> indirectly
>>>>>> in expressions that are e.g. case labels or array sizes, the build 
>>>>>> fails
>>>>>> (see [1] for instance).
>>>>>> Perhaps it's best to leave it as is?
>>>>>
>>>>> Hmm. I'm afraid it's not an option to "leave as is", not the least 
>>>>> because
>>>>> - as said - I'm under the impression that another Misra rule requires
>>>>> macro arguments to be evaluated exactly once. Best I can think of 
>>>>> right
>>>>> away is to have a macro for limited use (to address such build issues)
>>>>> plus an inline function (for general use). But yes, maybe that then 
>>>>> indeed
>>>>> needs to be a 2nd step.
>>>>
>>>> While I've committed this patch (hoping that I got the necessary 
>>>> context
>>>> adjustment right for the 
>>>> automation/eclair_analysis/ECLAIR/deviations.ecl
>>>> change), I'd like to come back to this before going further with users 
>>>> of
>>>> the new macro: I still think we ought to try to get to the single
>>>> evaluation wherever possible. The macro would then be used only in 
>>>> cases
>>>> where the alternative construct (perhaps an isolate_lsb() macro, living
>>>> perhaps in xen/bitops.h) cannot be used. ISOLATE_LSB() would then want 
>>>> to
>>>> gain a comment directing people to the "better" sibling. Thoughts?
>>>
>>> Having the users in place would help me estimate the remaining work that 
>>> needs to be done on this rule and see if my local counts match up with 
>>> the counts in staging.
>>
>> By "having the users in place", you mean you want other patches in this
>> and the dependent series to be committed as-is (except for the name
>> change)? That's what I'd like to avoid, as it would mean touching all
>> those use sites again where the proposed isolate_lsb() could be used
>> instead. I'd rather see all use sites be put into their final shape
>> right away.
> 
> This request is coming a bit late and also after all the patches have
> been reviewed already. I for one am not looking forward to review them
> again.
> 
> That said, if you could be more specified maybe it could become
> actionable:
> 
> - do you have a pseudo code implementation of the "better" macro you
>   would like to propose?

May I remind you that I made this request (including a draft implementation)
before already, and Nicola then merely found that the evaluate-once form
simply cannot be used everywhere? Anybody could have thought of the option
of "splitting" the macro. After all I hope that there is no disagreement on
macro arguments better being evaluated just once, whenever possible.

> - do you have an list of call sites you would like to be changed to use
>   the "better" macro?

No, I don't have a list. But the pattern is pretty clear: The "better" form
ought to be used wherever it actually can be used.

> Also, you might remember past discussions about time spent making
> changes yourself vs. others doing the same. This is one of those cases
> that it would be faster for you to make the change and send a patch than
> explaining someone else how to do it, then review the result (and
> review it again as it probably won't be exactly as you asked the first
> time.)
> 
> If you don't want the call sites to be changes twice, may I suggest you
> provide a patch on top of Nicola's series, I review and ack your patch,
> and Nicola or I rebase & resend the series so that the call sites are
> only changes once as you would like? I think that's going to be way
> faster.

I'll see if I can find time to do so. I don't normally work on top of
other people's uncommitted patches, though ... So I may also choose to go
a slightly different route. (You realize though that all still pending
patches using the new macro need touching again anyway, don't you?)

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 07:20:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 07:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634845.990383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3t98-0003GM-LC; Fri, 17 Nov 2023 07:20:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634845.990383; Fri, 17 Nov 2023 07:20: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 1r3t98-0003GF-Ia; Fri, 17 Nov 2023 07:20:10 +0000
Received: by outflank-mailman (input) for mailman id 634845;
 Fri, 17 Nov 2023 07:20: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=rFzC=G6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r3t97-0003G9-Q9
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 07:20:09 +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 bc349f8b-8519-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 08:20:07 +0100 (CET)
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 62A0A1F8C2;
 Fri, 17 Nov 2023 07:20: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 31E2F1341F;
 Fri, 17 Nov 2023 07:20:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id tofACiYUV2XiCwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Nov 2023 07:20: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: bc349f8b-8519-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700205606; 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:autocrypt:autocrypt;
	bh=ZKtyuSD2Cph6d7xTLIXZqOJe04xvI5rEuj5iN6bwFsE=;
	b=MZF7/byEz+WDihfzDuJRX6p+rxKq9A/Gs3K2BytDvCRx29NY4WVc8it6JKFm4vzNSYshWe
	LEh/MJ1Rro/+G+SyW+lQcXX3miDkDaVOepX824Ytxux+EFKxGhiB0JipaSlT2RgdV8T8ed
	HwRKVu9IlGWhkBLrcpMqTz/dUw1esn8=
Message-ID: <39bbd999-c61d-403e-944f-f3f0a11120d3@suse.com>
Date: Fri, 17 Nov 2023 08:20:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenstored: print domain id in traces
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231116205613.3796068-1-volodymyr_babchuk@epam.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20231116205613.3796068-1-volodymyr_babchuk@epam.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------6uYnWomXbMtgrLgzs0vgj0SC"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -5.00
X-Spamd-Result: default: False [-5.00 / 50.00];
	 ARC_NA(0.00)[];
	 TO_DN_EQ_ADDR_SOME(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-3.00)[99.99%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-0.81)[-0.813];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.998];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------6uYnWomXbMtgrLgzs0vgj0SC
Content-Type: multipart/mixed; boundary="------------EM5emo0YqhpZH5iCNh4nrehX";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <39bbd999-c61d-403e-944f-f3f0a11120d3@suse.com>
Subject: Re: [PATCH] xenstored: print domain id in traces
References: <20231116205613.3796068-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231116205613.3796068-1-volodymyr_babchuk@epam.com>

--------------EM5emo0YqhpZH5iCNh4nrehX
Content-Type: multipart/mixed; boundary="------------OmAiyRIAp3mLD4ZeUyaRDgg1"

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

T24gMTYuMTEuMjMgMjE6NTYsIFZvbG9keW15ciBCYWJjaHVrIHdyb3RlOg0KPiBJdCBpcyB2
ZXJ5IGhlbHBmdWwgdG8gc2VlIGRvbWFpbiBpZCB3aHkgYW5hbHl6aW5nIHhlbnN0b3JlZA0K
PiB0cmFjZXMuIEVzcGVjaWFsbHkgd2hlbiB5b3UgYXJlIHRyeWluZyB0byB1bmRlcnN0YW5k
IHdoaWNoIGV4YWN0bHkNCj4gZG9tYWluIHBlcmZvcm1zIGFuIGFjdGlvbi4NCj4gDQo+IFNp
Z25lZC1vZmYtYnk6IFZvbG9keW15ciBCYWJjaHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFt
LmNvbT4NCg0KUmV2aWV3ZWQtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4N
Cg0KDQpKdWVyZ2VuDQoNCg==
--------------OmAiyRIAp3mLD4ZeUyaRDgg1
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------OmAiyRIAp3mLD4ZeUyaRDgg1--

--------------EM5emo0YqhpZH5iCNh4nrehX--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVXFCUFAwAAAAAACgkQsN6d1ii/Ey/b
/Af9HP1D5ZaDq+FFrJVjRb0sAf3HeM9Mr4ynast7x7xHrhDqlnQQKK8fFv8Q35GnoQdf3YRXiCZ5
JtPqpHtiIgUb0Jkk55DPFuV5SIhJ2VHCTkyXInAtdrUFMpAX43sYknc5RUqRxHh0nzcx6go3Nedx
2EolI8YpAfv4ywKOsB+gQ3+WG2lCU01z1pepXWEMQOuUrAKKauzK91AzQOG02mQf2EiHDcw+kAfC
yfltPeiqKA3be3JiUSRcbaI37yvHjgZzDnjia45sUHtKMTxIIiEQu+dvkMH7AIgJDNcL0aITPGP2
Fna+ykaeUT+uzpCXXd4HJKVvQi7tbsMPoWS0VvW/hQ==
=hoIS
-----END PGP SIGNATURE-----

--------------6uYnWomXbMtgrLgzs0vgj0SC--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 07:21:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 07:21:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634848.990392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3tAh-0003tP-2m; Fri, 17 Nov 2023 07:21:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634848.990392; Fri, 17 Nov 2023 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 1r3tAg-0003tI-W8; Fri, 17 Nov 2023 07:21:46 +0000
Received: by outflank-mailman (input) for mailman id 634848;
 Fri, 17 Nov 2023 07:21: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=rFzC=G6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r3tAg-0003tC-2r
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 07:21:46 +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 f52b4f2a-8519-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 08:21:43 +0100 (CET)
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 4C1291F892;
 Fri, 17 Nov 2023 07:21: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 2814B1341F;
 Fri, 17 Nov 2023 07:21:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id eBryB4YUV2XiCwAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Nov 2023 07:21: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: f52b4f2a-8519-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700205702; 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:autocrypt:autocrypt;
	bh=XqJJCcaOxi8EZnK0eUZ0U8e2Znkt2ZE8S5yu5zscoNc=;
	b=dhnNKaap6DJmP64lVB61cEO2V/SnY2onmCNvtJDAP9Wqv9nUbfX73LoJb67z24IXLOuVQS
	zv+7tar8wxCJy/1NJRLkcA1hd2p2fDK6vgXf3zDKoXN4i8cMviWO8t8XgKD+r+/zMUrxtS
	UmIHlcheqTbFfiFpxem+ru+0GYF0ye8=
Message-ID: <c4fa979d-30a2-4a19-a5da-f76fe02e4597@suse.com>
Date: Fri, 17 Nov 2023 08:21:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/sched: fix sched_move_domain()
Content-Language: en-US
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, Dario Faggioli <dfaggioli@suse.com>,
 Henry Wang <Henry.Wang@arm.com>
References: <20231114133003.20887-1-jgross@suse.com>
 <CA+zSX=YW4ezSGD_Wf8LiOznTxQgdjLaQddzV7G7Udi5qayVDUA@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CA+zSX=YW4ezSGD_Wf8LiOznTxQgdjLaQddzV7G7Udi5qayVDUA@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------PfjC06I3ih72BinweI7GZPl0"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -6.17
X-Spamd-Result: default: False [-6.17 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-0.98)[-0.980];
	 BAYES_HAM(-3.00)[100.00%];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------PfjC06I3ih72BinweI7GZPl0
Content-Type: multipart/mixed; boundary="------------KYY3zIdq4IA2EpDEIDbWoRof";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: George Dunlap <george.dunlap@cloud.com>
Cc: xen-devel@lists.xenproject.org, Dario Faggioli <dfaggioli@suse.com>,
 Henry Wang <Henry.Wang@arm.com>
Message-ID: <c4fa979d-30a2-4a19-a5da-f76fe02e4597@suse.com>
Subject: Re: [PATCH v2] xen/sched: fix sched_move_domain()
References: <20231114133003.20887-1-jgross@suse.com>
 <CA+zSX=YW4ezSGD_Wf8LiOznTxQgdjLaQddzV7G7Udi5qayVDUA@mail.gmail.com>
In-Reply-To: <CA+zSX=YW4ezSGD_Wf8LiOznTxQgdjLaQddzV7G7Udi5qayVDUA@mail.gmail.com>

--------------KYY3zIdq4IA2EpDEIDbWoRof
Content-Type: multipart/mixed; boundary="------------v6OyaVXpcpK9jPvQRHiiacYA"

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

T24gMTYuMTEuMjMgMTc6NDgsIEdlb3JnZSBEdW5sYXAgd3JvdGU6DQo+IE9uIFR1ZSwgTm92
IDE0LCAyMDIzIGF0IDE6MzDigK9QTSBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
IHdyb3RlOg0KPj4NCj4+IFdoZW4gbW92aW5nIGEgZG9tYWluIG91dCBvZiBhIGNwdXBvb2wg
cnVubmluZyB3aXRoIHRoZSBjcmVkaXQyDQo+PiBzY2hlZHVsZXIgYW5kIGhhdmluZyBtdWx0
aXBsZSBydW4tcXVldWVzLCB0aGUgZm9sbG93aW5nIEFTU0VSVCgpIGNhbg0KPj4gYmUgb2Jz
ZXJ2ZWQ6DQo+Pg0KPj4gKFhFTikgWGVuIGNhbGwgdHJhY2U6DQo+PiAoWEVOKSAgICBbPGZm
ZmY4MmQwNDAyM2E3MDA+XSBSIGNyZWRpdDIuYyNjc2NoZWQyX3VuaXRfcmVtb3ZlKzB4ZTMv
MHhlNw0KPj4gKFhFTikgICAgWzxmZmZmODJkMDQwMjQ2YWRiPl0gUyBzY2hlZF9tb3ZlX2Rv
bWFpbisweDJmMy8weDViMQ0KPj4gKFhFTikgICAgWzxmZmZmODJkMDQwMjM0Y2Y3Pl0gUyBj
cHVwb29sLmMjY3B1cG9vbF9tb3ZlX2RvbWFpbl9sb2NrZWQrMHgxZC8weDNiDQo+PiAoWEVO
KSAgICBbPGZmZmY4MmQwNDAyMzYwMjU+XSBTIGNwdXBvb2xfbW92ZV9kb21haW4rMHgyNC8w
eDM1DQo+PiAoWEVOKSAgICBbPGZmZmY4MmQwNDAyMDY1MTM+XSBTIGRvbWFpbl9raWxsKzB4
YTUvMHgxMTYNCj4+IChYRU4pICAgIFs8ZmZmZjgyZDA0MDIzMmIxMj5dIFMgZG9fZG9tY3Rs
KzB4ZTVmLzB4MTk1MQ0KPj4gKFhFTikgICAgWzxmZmZmODJkMDQwMjI3NmJhPl0gUyB0aW1l
ci5jI3RpbWVyX2xvY2srMHg2OS8weDE0Mw0KPj4gKFhFTikgICAgWzxmZmZmODJkMDQwMmRj
NzFiPl0gUyBwdl9oeXBlcmNhbGwrMHg0NGUvMHg0YTkNCj4+IChYRU4pICAgIFs8ZmZmZjgy
ZDA0MDIwMTJiNz5dIFMgbHN0YXJfZW50ZXIrMHgxMzcvMHgxNDANCj4+IChYRU4pDQo+PiAo
WEVOKQ0KPj4gKFhFTikgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
Kg0KPj4gKFhFTikgUGFuaWMgb24gQ1BVIDE6DQo+PiAoWEVOKSBBc3NlcnRpb24gJ3N2Yy0+
cnFkID09IGMycnFkKHNjaGVkX3VuaXRfbWFzdGVyKHVuaXQpKScgZmFpbGVkIGF0IGNvbW1v
bi9zY2hlZC9jcmVkaXQyLmM6MTE1OQ0KPj4gKFhFTikgKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKg0KPj4NCj4+IFRoaXMgaXMgaGFwcGVuaW5nIGFzIHNjaGVk
X21vdmVfZG9tYWluKCkgaXMgc2V0dGluZyBhIGRpZmZlcmVudCBjcHUNCj4+IGZvciBhIHNj
aGVkdWxpbmcgdW5pdCB3aXRob3V0IHRlbGxpbmcgdGhlIHNjaGVkdWxlci4gV2hlbiB0aGlz
IHVuaXQgaXMNCj4+IHJlbW92ZWQgZnJvbSB0aGUgc2NoZWR1bGVyLCB0aGUgQVNTRVJUKCkg
d2lsbCB0cmlnZ2VyLg0KPj4NCj4+IEluIG5vbi1kZWJ1ZyBidWlsZHMgdGhlIHJlc3VsdCBp
cyB1c3VhbGx5IGEgY2xvYmJlcmVkIHBvaW50ZXIsIGxlYWRpbmcNCj4+IHRvIGFub3RoZXIg
Y3Jhc2ggYSBzaG9ydCB0aW1lIGxhdGVyLg0KPj4NCj4+IEZpeCB0aGF0IGJ5IHN3YXBwaW5n
IHRoZSB0d28gaW52b2x2ZWQgYWN0aW9ucyAoc2V0dGluZyBhbm90aGVyIGNwdSBhbmQNCj4+
IHJlbW92aW5nIHRoZSB1bml0IGZyb20gdGhlIHNjaGVkdWxlcikuDQo+Pg0KPj4gQ2M6IEhl
bnJ5IFdhbmcgPEhlbnJ5LldhbmdAYXJtLmNvbT4NCj4+IExpbms6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9EYXNoYXJvL2Rhc2hhcm8taXNzdWVzL2lzc3Vlcy80ODgNCj4+IEZpeGVzOiA3MGZh
ZGM0MTYzNWIgKCJ4ZW4vY3B1cG9vbDogc3VwcG9ydCBtb3ZpbmcgZG9tYWluIGJldHdlZW4g
Y3B1cG9vbHMgd2l0aCBkaWZmZXJlbnQgZ3JhbnVsYXJpdHkiKQ0KPj4gU2lnbmVkLW9mZi1i
eTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4gLS0tDQo+PiBWMjoNCj4+
IC0gYWRkZWQgTGluazogKHJlcG9ydGVyIGRpZG4ndCB3YW50IHRvIGJlIGFkZGVkIGJ5IG5h
bWUpDQo+PiAtLS0NCj4+ICAgeGVuL2NvbW1vbi9zY2hlZC9jb3JlLmMgfCA3ICsrKystLS0N
Cj4+ICAgMSBmaWxlIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkN
Cj4+DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZC9jb3JlLmMgYi94ZW4vY29t
bW9uL3NjaGVkL2NvcmUuYw0KPj4gaW5kZXggMTJkZWVmYTc0NS4uZTlmNzQ4NjE5NyAxMDA2
NDQNCj4+IC0tLSBhL3hlbi9jb21tb24vc2NoZWQvY29yZS5jDQo+PiArKysgYi94ZW4vY29t
bW9uL3NjaGVkL2NvcmUuYw0KPj4gQEAgLTczOCwxMiArNzM4LDEzIEBAIGludCBzY2hlZF9t
b3ZlX2RvbWFpbihzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgY3B1cG9vbCAqYykNCj4+ICAg
ICAgIG5ld19wID0gY3B1bWFza19maXJzdChkLT5jcHVwb29sLT5jcHVfdmFsaWQpOw0KPiAN
Cj4gVGhlcmUncyBhIGNvbW1lbnQganVzdCBhYm92ZSBoZXJlIHdoaWNoIHNob3VsZCBwcm9i
YWJseSBiZSB1cGRhdGVkOw0KPiBzb21ldGhpbmcgbGlrZSAiUmVtb3ZlIGFsbCB1bml0cyBm
cm9tIHRoZSBvbGQgc2NoZWR1bGVyLCBhbmQNCj4gdGVtcG9yYXJpbHkgbW92ZSB0aGVtIHRv
IHRoZSBzYW1lIHByb2Nlc3NvciB0byBtYWtlIGxvY2tpbmcgZWFzaWVyDQo+IHdoZW4gbW92
aW5nIHRoZSBuZXcgdW5pdHMgdG8gbndlIHByb2Nlc3NvcnMuIg0KPiANCj4gV2l0aCB0aGF0
IGNoYW5nZToNCj4gDQo+IFJldmlld2VkLWJ5OiBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVu
bGFwQGNsb3VkLmNvbT4NCj4gDQo+IEkgY291bGQgY2hhbmdlIHRoYXQgb24gY2hlY2staWYg
eW91J2QgbGlrZS4NCg0KWWVzLCBwbGVhc2UgKHdpdGggcy9ud2UvbmV3LykuDQoNCj4gDQo+
IEkgdGFrZSBpdCBhdCB0aGlzIHBvaW50IHRoaXMgaXMganVzdCBmb3IgdGhlIDQuMTkgYnJh
bmNoLCBhbmQgdGhpcw0KPiB3aWxsIGJlIGEgY2FuZGlkYXRlIGZvciBiYWNrcG9ydCB0byA0
LjE4LjE/DQoNCkNvcnJlY3QuDQoNCg0KSnVlcmdlbg0KDQo=
--------------v6OyaVXpcpK9jPvQRHiiacYA
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------v6OyaVXpcpK9jPvQRHiiacYA--

--------------KYY3zIdq4IA2EpDEIDbWoRof--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVXFIYFAwAAAAAACgkQsN6d1ii/Ey9W
Kwf/XCZ4lqX/qVaAfb6pcL+5ts4+kPiHUleJ8trwsJggDm4qgG8Bjw3gAUjUzBBUERNhvU7kJzME
ruPnBykU3JAa+rEshay2SlXqWBFVwD8+9Cpg8+GCGgSt/z3jVsWz7j35L6TKf+wMQ0jgegXIHNP5
YpZDZwVaapNSsmG7Ze/xLHckNDUO4ipCPxLaF8zgXRX0cmNV2TNEGawibM1k1BnLDbBJIoY3ehpR
+w7us5GMXIcEn/unrsXHr35xMnr3zoUAx4dopLfhvYRZrDZM0HTrV0KNX2O3xQ2djkv1izdV6JzQ
ZQdAGDOZowfbhEqB5Vu28KXWvXfop9P3aAfXpkreiw==
=N6Dv
-----END PGP SIGNATURE-----

--------------PfjC06I3ih72BinweI7GZPl0--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 07:25:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 07:25:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634851.990403 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3tDc-0004TJ-H5; Fri, 17 Nov 2023 07:24:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634851.990403; Fri, 17 Nov 2023 07:24: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 1r3tDc-0004TC-EQ; Fri, 17 Nov 2023 07:24:48 +0000
Received: by outflank-mailman (input) for mailman id 634851;
 Fri, 17 Nov 2023 07:24: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=rFzC=G6=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r3tDa-0004T4-Mb
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 07:24:46 +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 61f62d30-851a-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 08:24:45 +0100 (CET)
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 2F69C22941;
 Fri, 17 Nov 2023 07:24: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 E40A71341F;
 Fri, 17 Nov 2023 07:24:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id qRbNNTwVV2XXDQAAMHmgww
 (envelope-from <jgross@suse.com>); Fri, 17 Nov 2023 07:24: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: 61f62d30-851a-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700205885; 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:autocrypt:autocrypt;
	bh=rr6cb6GE8vuIz5YppDL4XjPoB86NIrnbCc7QD9/FMhM=;
	b=sDJPBntbUSD9l3N+e/slbJZVls3Vyz9zieGdLdFKRwPpVDbsmBm8DefRHefcytg8Rl9EG3
	XJuNNDtLjeHXUTQqv1pwMSSnLVMbP67sSVpn3AVngRtmSjJBbeyWij1gmcv33zh+HLOMYF
	zLwfPIq0mGcAKctkukA6/Nb9fJWg/60=
Message-ID: <f7f37c51-d378-4b63-a23b-0447d8688f95@suse.com>
Date: Fri, 17 Nov 2023 08:24:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH][next] xen: privcmd: Replace zero-length array with
 flex-array member and use __counted_by
Content-Language: en-US
To: "Gustavo A. R. Silva" <gustavoars@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-hardening@vger.kernel.org
References: <ZVZlg3tPMPCRdteh@work>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <ZVZlg3tPMPCRdteh@work>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Gbzks906q7UdsiZjisOp0eBa"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -9.13
X-Spamd-Result: default: False [-9.13 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 REPLY(-4.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 RCPT_COUNT_FIVE(0.00)[6];
	 NEURAL_HAM_LONG(-0.94)[-0.936];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.998];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Gbzks906q7UdsiZjisOp0eBa
Content-Type: multipart/mixed; boundary="------------ZF0C0GgCFG81IVkOyk2SUrr0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: "Gustavo A. R. Silva" <gustavoars@kernel.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Cc: xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
 linux-hardening@vger.kernel.org
Message-ID: <f7f37c51-d378-4b63-a23b-0447d8688f95@suse.com>
Subject: Re: [PATCH][next] xen: privcmd: Replace zero-length array with
 flex-array member and use __counted_by
References: <ZVZlg3tPMPCRdteh@work>
In-Reply-To: <ZVZlg3tPMPCRdteh@work>

--------------ZF0C0GgCFG81IVkOyk2SUrr0
Content-Type: multipart/mixed; boundary="------------2ArAn34RMGaO0CgiFlZby2pR"

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

T24gMTYuMTEuMjMgMTk6NTQsIEd1c3Rhdm8gQS4gUi4gU2lsdmEgd3JvdGU6DQo+IEZha2Ug
ZmxleGlibGUgYXJyYXlzICh6ZXJvLWxlbmd0aCBhbmQgb25lLWVsZW1lbnQgYXJyYXlzKSBh
cmUgZGVwcmVjYXRlZCwNCj4gYW5kIHNob3VsZCBiZSByZXBsYWNlZCBieSBmbGV4aWJsZS1h
cnJheSBtZW1iZXJzLiBTbywgcmVwbGFjZQ0KPiB6ZXJvLWxlbmd0aCBhcnJheSB3aXRoIGEg
ZmxleGlibGUtYXJyYXkgbWVtYmVyIGluIGBzdHJ1Y3QNCj4gcHJpdmNtZF9rZXJuZWxfaW9y
ZXFgLg0KPiANCj4gQWxzbyBhbm5vdGF0ZSBhcnJheSBgcG9ydHNgIHdpdGggYF9fY291bnRl
ZF9ieSgpYCB0byBwcmVwYXJlIGZvciB0aGUNCj4gY29taW5nIGltcGxlbWVudGF0aW9uIGJ5
IEdDQyBhbmQgQ2xhbmcgb2YgdGhlIGBfX2NvdW50ZWRfYnlgIGF0dHJpYnV0ZS4NCj4gRmxl
eGlibGUgYXJyYXkgbWVtYmVycyBhbm5vdGF0ZWQgd2l0aCBgX19jb3VudGVkX2J5YCBjYW4g
aGF2ZSB0aGVpcg0KPiBhY2Nlc3NlcyBib3VuZHMtY2hlY2tlZCBhdCBydW4tdGltZSB2aWEg
YENPTkZJR19VQlNBTl9CT1VORFNgIChmb3IgYXJyYXkNCj4gaW5kZXhpbmcpIGFuZCBgQ09O
RklHX0ZPUlRJRllfU09VUkNFYCAoZm9yIHN0cmNweS9tZW1jcHktZmFtaWx5IGZ1bmN0aW9u
cykuDQo+IA0KPiBUaGlzIGZpeGVzIG11bHRpcGxlIC1XYXJyYXktYm91bmRzIHdhcm5pbmdz
Og0KPiBkcml2ZXJzL3hlbi9wcml2Y21kLmM6MTIzOTozMDogd2FybmluZzogYXJyYXkgc3Vi
c2NyaXB0IGkgaXMgb3V0c2lkZSBhcnJheSBib3VuZHMgb2YgJ3N0cnVjdCBpb3JlcV9wb3J0
WzBdJyBbLVdhcnJheS1ib3VuZHM9XQ0KPiBkcml2ZXJzL3hlbi9wcml2Y21kLmM6MTI0MDoz
MDogd2FybmluZzogYXJyYXkgc3Vic2NyaXB0IGkgaXMgb3V0c2lkZSBhcnJheSBib3VuZHMg
b2YgJ3N0cnVjdCBpb3JlcV9wb3J0WzBdJyBbLVdhcnJheS1ib3VuZHM9XQ0KPiBkcml2ZXJz
L3hlbi9wcml2Y21kLmM6MTI0MTozMDogd2FybmluZzogYXJyYXkgc3Vic2NyaXB0IGkgaXMg
b3V0c2lkZSBhcnJheSBib3VuZHMgb2YgJ3N0cnVjdCBpb3JlcV9wb3J0WzBdJyBbLVdhcnJh
eS1ib3VuZHM9XQ0KPiBkcml2ZXJzL3hlbi9wcml2Y21kLmM6MTI0NTozMzogd2FybmluZzog
YXJyYXkgc3Vic2NyaXB0IGkgaXMgb3V0c2lkZSBhcnJheSBib3VuZHMgb2YgJ3N0cnVjdCBp
b3JlcV9wb3J0WzBdJyBbLVdhcnJheS1ib3VuZHM9XQ0KPiBkcml2ZXJzL3hlbi9wcml2Y21k
LmM6MTI1ODo2Nzogd2FybmluZzogYXJyYXkgc3Vic2NyaXB0IGkgaXMgb3V0c2lkZSBhcnJh
eSBib3VuZHMgb2YgJ3N0cnVjdCBpb3JlcV9wb3J0WzBdJyBbLVdhcnJheS1ib3VuZHM9XQ0K
PiANCj4gVGhpcyByZXN1bHRzIGluIG5vIGRpZmZlcmVuY2VzIGluIGJpbmFyeSBvdXRwdXQu
DQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBHdXN0YXZvIEEuIFIuIFNpbHZhIDxndXN0YXZvYXJz
QGtlcm5lbC5vcmc+DQoNClJldmlld2VkLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3Vz
ZS5jb20+DQoNCg0KSnVlcmdlbg0KDQo=
--------------2ArAn34RMGaO0CgiFlZby2pR
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------2ArAn34RMGaO0CgiFlZby2pR--

--------------ZF0C0GgCFG81IVkOyk2SUrr0--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVXFTwFAwAAAAAACgkQsN6d1ii/Ey/J
Rwf/cMNthDyO59DO9/QrqtVFTMJdNASt295TUVWJYWXKQ499pqqTeKY2QLe4KkCurVWUn1Ey+z7V
ZnZXASD1cSJk26v2aJANp7OOYizTol1Vz6INR1DEafihXJJAAQFuoGAgvpSYpEV4c5A5wfz9Q0w3
st+ux9ilHVScuc64A7mrHKpWmphFsKHjrnm3XLyOnm9FNpNUpUrOk/IZV6cM46X9GXP3cPKmlJiq
yPvf6Jl5xOFXB0xEPNrYL6q0WGPf8SvwYUhSg1lGaCtJmA4U793UXPIRs9AMyEo0mJ+ran2r5iGM
drph6YYDTHsakClIFCJjoHI4Ix0aYKnTSFBZFCYNtA==
=HH3c
-----END PGP SIGNATURE-----

--------------Gbzks906q7UdsiZjisOp0eBa--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:12:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:12:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634866.990413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3txZ-0006Lf-Cn; Fri, 17 Nov 2023 08:12:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634866.990413; Fri, 17 Nov 2023 08:12: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 1r3txZ-0006LY-9Z; Fri, 17 Nov 2023 08:12:17 +0000
Received: by outflank-mailman (input) for mailman id 634866;
 Fri, 17 Nov 2023 08: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=j5++=G6=epam.com=prvs=5685d04c48=oleksandr_tyshchenko@srs-se1.protection.inumbo.net>)
 id 1r3txX-0006LS-VQ
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:12:16 +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 035996d5-8521-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 09:12:14 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AH6cGU0003309; Fri, 17 Nov 2023 08:12:07 GMT
Received: from pps.reinject (localhost [127.0.0.1])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ud54ncxfr-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Nov 2023 08:12:07 +0000
Received: from m0174680.ppops.net (m0174680.ppops.net [127.0.0.1])
 by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3AH86dLS027288;
 Fri, 17 Nov 2023 08:12:06 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3ud54ncxfh-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Nov 2023 08:12:05 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com (2603:10a6:10:ed::15)
 by PAXPR03MB8299.eurprd03.prod.outlook.com (2603:10a6:102:241::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.21; Fri, 17 Nov
 2023 08:12:00 +0000
Received: from DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44]) by DB8PR03MB6108.eurprd03.prod.outlook.com
 ([fe80::fea9:8f02:fb13:fd44%6]) with mapi id 15.20.6977.029; Fri, 17 Nov 2023
 08:11: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: 035996d5-8521-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AFj4LNKkulkYZRhxVwhnEePhIMIej/UvlZ5neSHJOtWiNFg83wJi1LsWfy5c34B2TICCcv5Q/XJM/B7Q0i4X7Ozct4OIT6yDklNDBT22W32MzmKngoe6G4OVZxp128nJ0ggw0GzDy8kV+gKRCDrkjHFVbNWlVmrZsIGti/l8kh9lRYgxrvcAa+rSAf+DghX860fAe6b73btV8N5iVJd5JFxtWCCcLC4XJPpKvPhBLjoelryUMElJFu4aedOXDOftIgrNEt6ug8YhqQLUQk66QnIydrTkzTuIZbi90Z2+PpZC1R5r8c9R+Pdn4WZmhqXmDAv1B1sWwGCxE1lxX2pnbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QJ3EpuPRaUQNjMvfMjZxEepvNY1Ql+1IAP8Du5F6Xs0=;
 b=LbGI5DO7PqWDOXN/EIgtQWm0qNw3BaAxbTftADKbbAgl2ssr9ZXeeB8jOGVEDVMMnq48j1JT05q7402ZswLhLl1voE2GucY8Tr8qJQ5indcrFIc9pzSkIU9HTAX7w0JW4PWwDI7qi0HB+6blgCnZBVDD8kFwmyImZJuuA2iQAUeIHaY4Bo6cWha2lKp38XNZoB+i/TC8ZoMFH+VivSt49KSWdwIJa7NjM5UoAOodJlFouSq5dRjM2GhdXZ33NsU9a+4UiVKN51EvrGhk/FSDscOLM01jVR3RAEm2d3wqaMTK4FmjVTB9z5oph/yduOzyHvkjHqK0urCVpYNZSyjhKw==
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=QJ3EpuPRaUQNjMvfMjZxEepvNY1Ql+1IAP8Du5F6Xs0=;
 b=mTrwYDoVtoetiOp615yZkckhLlqf6VIl7U9d+r9z+DMVbWfnIJiKDmBy0JSd7s/easBUbVRzTzkZdx8rgurWoaIo1krq3AEyuwDQ3bwUEJIE6a6Mzn2hMQR/VItOaUqG6XqWcHlL9JeCEi25FtJNfzAr6TOD/w3hVvnKIyvx/EkoQmCVUKT3kXcgZqxK0xeyVnThhyOt/YOq85Ja+/QdCwPP3v3XBFwFer2vXTyU/8SEbGkwq+Oc3BWnPivee1ZDQtNfL+7jIDM0JMw01S3GLb0CUz4RJC4Kx0OqS++PXr8eqrr1Pi41APw1EMACfJcVrrbVmTJ6Vj5LrbP86nID1w==
From: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
CC: Julien Grall <julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Bertrand
 Marquis <bertrand.marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        "vikram.garhwal@amd.com"
	<vikram.garhwal@amd.com>,
        Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Topic: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Thread-Index: AQHaF7/0l4ZQp7ixjkGnkGM6dDamtLB7mIqAgABuuwCAAdZJgIAATmUA
Date: Fri, 17 Nov 2023 08:11:59 +0000
Message-ID: <a96732c2-cdfb-43fb-9e88-1cd54994eab4@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <78c59979-5110-4fa3-855d-e0fa6df116f0@amd.com>
In-Reply-To: <78c59979-5110-4fa3-855d-e0fa6df116f0@amd.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-traffictypediagnostic: DB8PR03MB6108:EE_|PAXPR03MB8299:EE_
x-ms-office365-filtering-correlation-id: ab378e73-ff71-4337-dc12-08dbe744dfa5
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 yvDqeKk2+p3GkLvMLPcODHC8uL7R2fy7kALKVr9BR8bZKaf71phzcXqb4QoGNzidcAqViu/h6YF/QuzroByjRZtm5Oz022O16J8wbRcoBqxzjYZivv3m0iC/NzIXxpkjm4TWmGZ5HkogvpLzweA4iIYMDA/ehwzv/kXuLYaMEws80I8PrANUoWkNln2rH/LBXZI275/nimS+0cqF0wUr64wFfWPf2Y66PHlO/g7dR3ap3NpLWfmja5J+rPgKqj+T7S1FBU/95V0+cdvZfzZGZ4y3fMYMVQA+QboIKFSxEysEC0SU9iSIZ86/BC1QtnIy+c+eg+Hz3fEjLaDgQC9O7nnD08tVVUzOxRiX9h1GcxP9mNoPp4pafHMSa9oE4uzINi3k2fnj3NxMTi9hEa2fH19XcBNchp8nO0Ku+IpU70oJlaBt/rA0IDji+vSZ3qRvrO+4M7pIOqmu+cDKRmyEVxTr39SoX8QRiv8KrxoQgtmGASh9s4ecMqwDVqm4loCEqkTU+yhUKNymJirtyz/eiyqjidroJm2Q4h0xEpQuli/x9o44KTR0j48793FhijvK/hEQlq1284O4RgLW/YfhYn1yPnxRbapRz+bRCvozusrQcJLqVyU4bnfSwOOdmXFZpBrjr0M0/7nxTbDYIqB5bw==
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:(13230031)(366004)(376002)(346002)(39860400002)(136003)(396003)(230922051799003)(1800799009)(186009)(451199024)(64100799003)(91956017)(66446008)(54906003)(76116006)(66476007)(66556008)(64756008)(66946007)(316002)(6916009)(83380400001)(2616005)(36756003)(53546011)(6506007)(38070700009)(71200400001)(6512007)(966005)(6486002)(478600001)(26005)(38100700002)(5660300002)(122000001)(31686004)(31696002)(41300700001)(2906002)(86362001)(8936002)(8676002)(4326008)(45980500001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?eml2b0pHdm5ORzhid29MeUVVNDlkR3Jha1VCdmJvMmgzdnJucitxeE9ldUJJ?=
 =?utf-8?B?dXRSNlEvVWs4N0x1RzZoQnhzNFFLZWV4aFUrdURQeXRlOWNYY3JMTlVTM05k?=
 =?utf-8?B?TEhvWks4YXlUcW91dDdwdHZQaWZ6dTlyME9CcWEvMkRDVnNUQkdGVCtVZVpG?=
 =?utf-8?B?QWNKdTl6S2p3L3JlQStmZnYvR2N2Z0tnRmpjOTZlTFh3Nno5OWZoK1c1TlFD?=
 =?utf-8?B?cXREM0ZucTE5NlpwRnFLajNxQ2NYdW9GNXFSdE55bnNhdlFidmdSOEZUVEpy?=
 =?utf-8?B?ZmJoQnB1bHFjZE94cVFjUERhSERmdFhGL1lBY1JyS1FnVGdqK0tBbUFEbzFF?=
 =?utf-8?B?c043RTZJbUplT0pXMnUxSE1mVUNjQTFCaCt2Y3RwczUvR3ZnRXNIVE05UkJp?=
 =?utf-8?B?eTdQNWFub3E2WStwUlMrQ083MnZsUTJaQXNYTHBTQXFWMEQzM29GRTRGRUpP?=
 =?utf-8?B?UEJ0OHgvN0hSL3ltVk95Z1RCOG9WRWN2TXU0S29YckVVNGtKbUUwSlRKdi81?=
 =?utf-8?B?MGY4R1ZKMWhHT1ZEVUJOdmFyTzdDUlArdktMUHZGakhzQ3FzWWFORHQxTTlh?=
 =?utf-8?B?YjZ2Y1FJcTJPUloxYXgzdG1iSWFhRWJ2bkwwZEZTeTNRY2J2N3JBSHdIcFBl?=
 =?utf-8?B?RXBuWVJkeDRPaWxiYWhyTjdWV1NPMk5mT25CeXNsamdma0RFTjNITHdSN0xL?=
 =?utf-8?B?UEVia3hnTzVTSHRqaUNSU2FaYnRVUVRaSGZ0aldUcWY4Mk9hNHA4dENyeUt2?=
 =?utf-8?B?RXVTMTZQd1N0aTRVbjNKNDJUVHJOZEpYeU1KTGo1aER5aWUvUUdKalJ6ZGg1?=
 =?utf-8?B?RXVQWXUzOVJSeVR4bXhmUGUxR2V3UkRKR3lOa1B6UzBzaGErWlU0eHlJTWhL?=
 =?utf-8?B?SjZ3VzlBRGl4RXgwWXAzd00vbWxDL1dJcjJJZmVrVUJIOUlSR01NL0lGRDA3?=
 =?utf-8?B?RVU2bzdOcC9tUklJTzM0eEphU01laWI5NGU4cklGbUZTMkdqbkNXNGpoMzRS?=
 =?utf-8?B?NzZCWHMvVHlZaXl6ZE9QbDdHbFdUUFkzQkVhUFFqbngxaGR5RFc1SlNxb0lk?=
 =?utf-8?B?ZzcxbHBjNWFqVmNNdDRtd2E1UGdhZWpNOXRXR24yUHBXdkNaUTI0NFpkaDBr?=
 =?utf-8?B?RkViTWN5dWhlNWk4eGdrSk9tUWlqWXVpdENaazl6Y3ZzK1BiUlkxZURDc0F4?=
 =?utf-8?B?SHFDSTRIV3BWMENCMGd1MUszK25aVjkwWkxZaEJpMDlGd2VSK2FGU3U0MUhB?=
 =?utf-8?B?Q0YyeWdBUXJOMHF6dTkzUnNPRjhmdTF1VGhxdWFIdzJnSFZVMjB4TnB1UVQv?=
 =?utf-8?B?RWtwSllKdUc2enJXa2ZjNU1NTmRzQmhwbWtnYmY0b25VMUdoMjd2U2tYMzZ6?=
 =?utf-8?B?ZEJQdC8xT284K1RqRkNBbCsyUm94V2R5K0FBR2FNdVNBbm5pTGZZcC9MUjlX?=
 =?utf-8?B?cG9FVkhNaUdZTGI1UEppaWNVN2sxZ2RscE4wWm41VWJwMk12R0ptVUtpUm1X?=
 =?utf-8?B?bitvV3o4RHdFMTAzcjFWeTlheG9CS1BQbzVuTnI4eCtZSnE4d213M0lUVDhp?=
 =?utf-8?B?TUtLWTFpNTRXeTJTNElFM3RWWS9GSEYrWnRzYnhUL0RENnVsR2FLYjFVS29m?=
 =?utf-8?B?T09PZFgvWjBtcHkrY2phUFRnQWlMM1NwN0xKQ3pXbzgvMHp3WFFNdi9Ja0Zi?=
 =?utf-8?B?clQrb1o0Vi94dGJkeHJhVDN0ZGs1WWxLaUhpdlJpMGdKOS9WZUpBNUpZa3Jl?=
 =?utf-8?B?NTRxUXUwdkJCWWJqQlMyTHFnT2NuYzBXK01qT3h0eWhFOElUa3NzYlBiWFlE?=
 =?utf-8?B?RDdXdzFsSDVrbks2WG1FSm44eTJtemwxQmMrS1JndFZTa3pIS0ZneXlKRkp6?=
 =?utf-8?B?bTdOS2tSZFFxYzljZFcyM3UybTJVcldEZGdydlpLUC9YeURzbFdXOVNFczZZ?=
 =?utf-8?B?bllWNDFYS0hqTW9rbjVDdDNMY3RrblcyNkVXaGhnUTlkVzljVnN0VWpONlRm?=
 =?utf-8?B?MUg2Si9aZlVmckN5czZxeHFmOW1CRHhwSlQ3NUpYTHhKdTM4RHVscTNSbFdT?=
 =?utf-8?B?cHJaY0J6bHI3eTJSd1hHSEtqZFVNVHVpM2xMT1FqbWtGaUpnWUppUmFMUTRv?=
 =?utf-8?B?SGF4WHVyT2hqUFJka0tZd2liQUhxcnY0YlNzUm5wUWRKNjAyTHZvczdrRTlk?=
 =?utf-8?Q?AlSO/20grr92BO+Mij8uSF4=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <90D80E560FFE9A45A96BBEF04EC960A7@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: ab378e73-ff71-4337-dc12-08dbe744dfa5
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2023 08:11:59.8807
 (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: sFCeVBM6yOKIlCabmtgaHpf8B/BH99QtRCojDOw5xD/Fx3Cos2Vp9JjKAfPX9uIZT4QepqxbznixHGfczri62NZiOaNRrtZU8w88dmw67Kk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB8299
X-Proofpoint-ORIG-GUID: kzqApv9XM61SFgMTxKxOLqAlTiXMhFnB
X-Proofpoint-GUID: kzqApv9XM61SFgMTxKxOLqAlTiXMhFnB
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-17_06,2023-11-16_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 malwarescore=0 spamscore=0 adultscore=0 phishscore=0 bulkscore=0
 mlxscore=0 mlxlogscore=999 clxscore=1011 impostorscore=0
 priorityscore=1501 suspectscore=0 classifier=spam adjust=0 reason=mlx
 scancount=2 engine=8.12.0-2311060000 definitions=main-2311170059

DQoNCk9uIDE3LjExLjIzIDA1OjMxLCBTdGV3YXJ0IEhpbGRlYnJhbmQgd3JvdGU6DQoNCkhlbGxv
IFN0ZXdhcnQNCg0KW2Fuc3dlcmluZyBvbmx5IGZvciB2aXJ0aW8tcGNpIGJpdHMgYXMgZm9yIHZQ
Q0kgSSBhbSBvbmx5IGZhbWlsaWFyIHdpdGggDQpjb2RlIHJlc3BvbnNpYmxlIGZvciB0cmFwcGlu
ZyBjb25maWcgc3BhY2UgYWNjZXNzZXNdDQoNCltzbmlwXQ0KDQo+Pg0KPj4NCj4+IExldCBtZSBz
dGFydCBieSBzYXlpbmcgdGhhdCBpZiB3ZSBjYW4gZ2V0IGF3YXkgd2l0aCBpdCwgSSB0aGluayB0
aGF0IGENCj4+IHNpbmdsZSBQQ0kgUm9vdCBDb21wbGV4IGluIFhlbiB3b3VsZCBiZSBiZXN0IGJl
Y2F1c2UgaXQgcmVxdWlyZXMgbGVzcw0KPj4gY29tcGxleGl0eS4gV2h5IGVtdWxhdGUgMi8zIFBD
SSBSb290IENvbXBsZXhlcyBpZiB3ZSBjYW4gZW11bGF0ZSBvbmx5DQo+PiBvbmU/DQo+Pg0KPj4g
U3Rld2FydCwgeW91IGFyZSBkZWVwIGludG8gdlBDSSwgd2hhdCdzIHlvdXIgdGhpbmtpbmc/DQo+
IA0KPiBGaXJzdCBhbGxvdyBtZSBleHBsYWluIHRoZSBtb3ZpbmcgcGllY2VzIGluIGEgYml0IG1v
cmUgZGV0YWlsIChza2lwIGFoZWFkIHRvICJCYWNrIHRvIHRoZSBxdWVzdGlvbjogIiBpZiB5b3Ug
ZG9uJ3Qgd2FudCB0byBiZSBib3JlZCB3aXRoIHRoZSBkZXRhaWxzKS4gSSBwbGF5ZWQgYXJvdW5k
IHdpdGggdGhpcyBzZXJpZXMsIGFuZCBJIHBhc3NlZCB0aHJvdWdoIGEgUENJIGRldmljZSAod2l0
aCB2UENJKSBhbmQgZW5hYmxlZCB2aXJ0aW8tcGNpOg0KPiANCj4gdmlydGlvID0gWyAidHlwZT12
aXJ0aW8sZGV2aWNlLHRyYW5zcG9ydD1wY2ksYmRmPTAwMDA6MDA6MDAuMCxiYWNrZW5kX3R5cGU9
cWVtdSIgXQ0KPiBkZXZpY2VfbW9kZWxfYXJncyA9IFsgIi1kZXZpY2UiLCAidmlydGlvLXNlcmlh
bC1wY2kiIF0NCj4gcGNpID0gWyAiMDE6MDAuMCIgXQ0KPiANCj4gSW5kZWVkIHdlIGdldCB0d28g
cm9vdCBjb21wbGV4ZXMgKDIgRUNBTSByYW5nZXMsIDIgc2V0cyBvZiBpbnRlcnJ1cHRzLCBldGMu
KSBmcm9tIHRoZSBkb21VIHBvaW50IG9mIHZpZXc6DQo+IA0KPiAgICAgIHBjaWVAMTAwMDAwMDAg
ew0KPiAgICAgICAgICBjb21wYXRpYmxlID0gInBjaS1ob3N0LWVjYW0tZ2VuZXJpYyI7DQo+ICAg
ICAgICAgIGRldmljZV90eXBlID0gInBjaSI7DQo+ICAgICAgICAgIHJlZyA9IDwweDAwIDB4MTAw
MDAwMDAgMHgwMCAweDEwMDAwMDAwPjsNCj4gICAgICAgICAgYnVzLXJhbmdlID0gPDB4MDAgMHhm
Zj47DQo+ICAgICAgICAgICNhZGRyZXNzLWNlbGxzID0gPDB4MDM+Ow0KPiAgICAgICAgICAjc2l6
ZS1jZWxscyA9IDwweDAyPjsNCj4gICAgICAgICAgc3RhdHVzID0gIm9rYXkiOw0KPiAgICAgICAg
ICByYW5nZXMgPSA8MHgyMDAwMDAwIDB4MDAgMHgyMzAwMDAwMCAweDAwIDB4MjMwMDAwMDAgMHgw
MCAweDEwMDAwMDAwIDB4NDIwMDAwMDAgMHgwMSAweDAwIDB4MDEgMHgwMCAweDAxIDB4MDA+Ow0K
PiAgICAgICAgICAjaW50ZXJydXB0LWNlbGxzID0gPDB4MDE+Ow0KPiAgICAgICAgICBpbnRlcnJ1
cHQtbWFwID0gPDB4MDAgMHgwMCAweDAwIDB4MDEgMHhmZGU4IDB4MDAgMHg3NCAweDA0PjsNCj4g
ICAgICAgICAgaW50ZXJydXB0LW1hcC1tYXNrID0gPDB4MDAgMHgwMCAweDAwIDB4MDc+Ow0KDQoN
CkkgYW0gd29uZGVyaW5nIGhvdyB5b3UgZ290IGludGVycnVwdC1tYXAgaGVyZT8gQUZBSVIgdXBz
dHJlYW0gdG9vbHN0YWNrIA0KZG9lc24ndCBhZGQgdGhhdCBwcm9wZXJ0eSBmb3IgdnBjaSBkdCBu
b2RlLg0KDQo+ICAgICAgfTsNCj4gDQo+ICAgICAgcGNpZUAzMzAwMDAwMCB7DQo+ICAgICAgICAg
IGNvbXBhdGlibGUgPSAicGNpLWhvc3QtZWNhbS1nZW5lcmljIjsNCj4gICAgICAgICAgZGV2aWNl
X3R5cGUgPSAicGNpIjsNCj4gICAgICAgICAgcmVnID0gPDB4MDAgMHgzMzAwMDAwMCAweDAwIDB4
MjAwMDAwPjsNCj4gICAgICAgICAgYnVzLXJhbmdlID0gPDB4MDAgMHgwMT47DQo+ICAgICAgICAg
ICNhZGRyZXNzLWNlbGxzID0gPDB4MDM+Ow0KPiAgICAgICAgICAjc2l6ZS1jZWxscyA9IDwweDAy
PjsNCj4gICAgICAgICAgc3RhdHVzID0gIm9rYXkiOw0KPiAgICAgICAgICByYW5nZXMgPSA8MHgy
MDAwMDAwIDB4MDAgMHgzNDAwMDAwMCAweDAwIDB4MzQwMDAwMDAgMHgwMCAweDgwMDAwMCAweDQy
MDAwMDAwIDB4MDAgMHgzYTAwMDAwMCAweDAwIDB4M2EwMDAwMDAgMHgwMCAweDgwMDAwMD47DQo+
ICAgICAgICAgIGRtYS1jb2hlcmVudDsNCj4gICAgICAgICAgI2ludGVycnVwdC1jZWxscyA9IDww
eDAxPjsNCj4gICAgICAgICAgaW50ZXJydXB0LW1hcCA9IDwweDAwIDB4MDAgMHgwMCAweDAxIDB4
ZmRlOCAweDAwIDB4MGMgMHgwNCAweDAwIDB4MDAgMHgwMCAweDAyIDB4ZmRlOCAweDAwIDB4MGQg
MHgwNCAweDAwIDB4MDAgMHgwMCAweDAzIDB4ZmRlOCAweDAwIDB4MGUgMHgwNCAweDAwIDB4MDAg
MHgwMCAweDA0IDB4ZmRlOCAweDAwIDB4MGYgMHgwNCAweDgwMCAweDAwIDB4MDAgMHgwMSAweGZk
ZTggMHgwMCAweDBkIDB4MDQgMHg4MDAgMHgwMCAweDAwIDB4MDIgMHhmZGU4IDB4MDAgMHgwZSAw
eDA0IDB4ODAwIDB4MDAgMHgwMCAweDAzIDB4ZmRlOCAweDAwIDB4MGYgMHgwNCAweDgwMCAweDAw
IDB4MDAgMHgwNCAweGZkZTggMHgwMCAweDBjIDB4MDQgMHgxMDAwIDB4MDAgMHgwMCAweDAxIDB4
ZmRlOCAweDAwIDB4MGUgMHgwNCAweDEwMDAgMHgwMCAweDAwIDB4MDIgMHhmZGU4IDB4MDAgMHgw
ZiAweDA0IDB4MTAwMCAweDAwIDB4MDAgMHgwMyAweGZkZTggMHgwMCAweDBjIDB4MDQgMHgxMDAw
IDB4MDAgMHgwMCAweDA0IDB4ZmRlOCAweDAwIDB4MGQgMHgwNCAweDE4MDAgMHgwMCAweDAwIDB4
MDEgMHhmZGU4IDB4MDAgMHgwZiAweDA0IDB4MTgwMCAweDAwIDB4MDAgMHgwMiAweGZkZTggMHgw
MCAweDBjIDB4MDQgMHgxODAwIDB4MDAgMHgwMCAweDAzIDB4ZmRlOCAweDAwIDB4MGQgMHgwNCAw
eDE4MDAgMHgwMCAweDAwIDB4MDQgMHhmZGU4IDB4MDAgMHgwZSAweDA0PjsNCj4gICAgICAgICAg
aW50ZXJydXB0LW1hcC1tYXNrID0gPDB4MTgwMCAweDAwIDB4MDAgMHgwNz47DQoNCg0KdGhhdCBp
cyBjb3JyZWN0IGR1bXAuDQoNCkJUVywgaWYgeW91IGFkZGVkICJncmFudF91c2FnZT0xIiAoaXQg
aXMgZGlzYWJsZWQgYnkgZGVmYXVsdCBmb3IgZG9tMCkgDQp0byB2aXJ0aW8gY29uZmlndXJhdGlv
biB5b3Ugd291bGQgZ2V0IGlvbW11LW1hcCBwcm9wZXJ0eSBoZXJlIGFzIHdlbGwgDQpbMV0uIFRo
aXMgaXMgYW5vdGhlciBwb2ludCB0byB0aGluayBhYm91dCB3aGVuIGNvbnNpZGVyaW5nIGNvbWJp
bmVkIA0KYXBwcm9hY2ggKHNpbmdsZSBQQ0kgSG9zdCBicmlkZ2Ugbm9kZSAtPiBzaW5nbGUgdmly
dHVhbCByb290IGNvbXBsZXgpLCBJIA0KZ3Vlc3MgdXN1YWwgUENJIGRldmljZSBkb2Vzbid0IHdh
bnQgZ3JhbnQgYmFzZWQgRE1BIGFkZHJlc3NlcywgY29ycmVjdD8gDQpJZiBzbywgaXQgc2hvdWxk
bid0IGJlIHNwZWNpZmllZCBpbiB0aGUgcHJvcGVydHkuDQoNCg0KPiAgICAgIH07DQo+IA0KPiBY
ZW4gdlBDSSBkb2Vzbid0IGN1cnJlbnRseSBleHBvc2UgYSBob3N0IGJyaWRnZSAoaS5lLiBhIGRl
dmljZSB3aXRoIGJhc2UgY2xhc3MgMHgwNikuIEFzIGFuIGFzaWRlLCB3ZSBtYXkgZXZlbnR1YWxs
eSB3YW50IHRvIGV4cG9zZSBhIHZpcnR1YWwvZW11bGF0ZWQgaG9zdCBicmlkZ2UgaW4gdlBDSSwg
YmVjYXVzZSBMaW51eCdzIHg4NiBQQ0kgcHJvYmUgZXhwZWN0cyBvbmUgWzBdLg0KPiANCj4gUWVt
dSBleHBvc2VzIGFuIGVtdWxhdGVkIGhvc3QgYnJpZGdlLCBhbG9uZyB3aXRoIGFueSByZXF1ZXN0
ZWQgZW11bGF0ZWQgZGV2aWNlcy4NCj4gDQo+IFJ1bm5pbmcgbHNwY2kgLXYgaW4gdGhlIGRvbVUg
eWllbGRzIHRoZSBmb2xsb3dpbmc6DQo+IA0KPiAwMDAwOjAwOjAwLjAgTmV0d29yayBjb250cm9s
bGVyOiBSYWxpbmsgY29ycC4gUlQyNzkwIFdpcmVsZXNzIDgwMi4xMW4gMVQvMlIgUENJZQ0KPiAg
ICAgICAgICBTdWJzeXN0ZW06IEFTVVNUZUsgQ29tcHV0ZXIgSW5jLiBSVDI3OTAgV2lyZWxlc3Mg
ODAyLjExbiAxVC8yUiBQQ0llDQo+ICAgICAgICAgIEZsYWdzOiBidXMgbWFzdGVyLCBmYXN0IGRl
dnNlbCwgbGF0ZW5jeSAwLCBJUlEgMTMNCj4gICAgICAgICAgTWVtb3J5IGF0IDIzMDAwMDAwICgz
Mi1iaXQsIG5vbi1wcmVmZXRjaGFibGUpIFtzaXplPTY0S10NCj4gICAgICAgICAgQ2FwYWJpbGl0
aWVzOiBbNTBdIE1TSTogRW5hYmxlLSBDb3VudD0xLzEyOCBNYXNrYWJsZS0gNjRiaXQrDQo+ICAg
ICAgICAgIEtlcm5lbCBkcml2ZXIgaW4gdXNlOiBydDI4MDBwY2kNCj4gDQo+IDAwMDE6MDA6MDAu
MCBIb3N0IGJyaWRnZTogUmVkIEhhdCwgSW5jLiBRRU1VIFBDSWUgSG9zdCBicmlkZ2UNCj4gICAg
ICAgICAgU3Vic3lzdGVtOiBSZWQgSGF0LCBJbmMuIFFFTVUgUENJZSBIb3N0IGJyaWRnZQ0KPiAg
ICAgICAgICBGbGFnczogZmFzdCBkZXZzZWwNCj4gDQo+IDAwMDE6MDA6MDEuMCBDb21tdW5pY2F0
aW9uIGNvbnRyb2xsZXI6IFJlZCBIYXQsIEluYy4gVmlydGlvIGNvbnNvbGUNCj4gICAgICAgICAg
U3Vic3lzdGVtOiBSZWQgSGF0LCBJbmMuIFZpcnRpbyBjb25zb2xlDQo+ICAgICAgICAgIEZsYWdz
OiBidXMgbWFzdGVyLCBmYXN0IGRldnNlbCwgbGF0ZW5jeSAwLCBJUlEgMTQNCj4gICAgICAgICAg
TWVtb3J5IGF0IDNhMDAwMDAwICg2NC1iaXQsIHByZWZldGNoYWJsZSkgW3NpemU9MTZLXQ0KPiAg
ICAgICAgICBDYXBhYmlsaXRpZXM6IFs4NF0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBW
aXJ0SU86IDx1bmtub3duPg0KPiAgICAgICAgICBDYXBhYmlsaXRpZXM6IFs3MF0gVmVuZG9yIFNw
ZWNpZmljIEluZm9ybWF0aW9uOiBWaXJ0SU86IE5vdGlmeQ0KPiAgICAgICAgICBDYXBhYmlsaXRp
ZXM6IFs2MF0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9uOiBWaXJ0SU86IERldmljZUNmZw0K
PiAgICAgICAgICBDYXBhYmlsaXRpZXM6IFs1MF0gVmVuZG9yIFNwZWNpZmljIEluZm9ybWF0aW9u
OiBWaXJ0SU86IElTUg0KPiAgICAgICAgICBDYXBhYmlsaXRpZXM6IFs0MF0gVmVuZG9yIFNwZWNp
ZmljIEluZm9ybWF0aW9uOiBWaXJ0SU86IENvbW1vbkNmZw0KPiAgICAgICAgICBLZXJuZWwgZHJp
dmVyIGluIHVzZTogdmlydGlvLXBjaQ0KPiANCj4gMDAwMDowMDowMC4wIGlzIGEgcmVhbCBwYXNz
ZWQgdGhyb3VnaCBkZXZpY2UgKGNvcnJlc3BvbmRpbmcgdG8gMDAwMDowMTowMC4wIGluIGRvbTAp
Lg0KPiAwMDAxOjAwOjAwLjAgaXMgdGhlIHFlbXUgaG9zdCBicmlkZ2UgKGJhc2UgY2xhc3MgMHgw
NikuDQo+IFRoZXkgYXJlIG9uIGRpZmZlcmVudCBzZWdtZW50cyBiZWNhdXNlIHRoZXkgYXJlIGFz
c29jaWF0ZWQgd2l0aCBkaWZmZXJlbnQgcm9vdCBjb21wbGV4ZXMuDQoNCg0KR2xhZCB0byBoZWFy
IHRoaXMgcGF0Y2ggc2VyaWVzIGRvZXNuJ3Qgc2VlbSB0byBicmVhayBQQ0kgcGFzc3Rocm91Z2gg
aW4gDQp5b3VyIGVudmlyb25tZW50Lg0KDQoNCj4gDQo+IA0KPiBCYWNrIHRvIHRoZSBxdWVzdGlv
bjogU3VyZSwgYXZvaWRpbmcgcmVzZXJ2aW5nIG1vcmUgbWVtb3J5IGZyb20gdGhlIHByZWNpb3Vz
bHkgc21hbGwgbG93bWVtIHZpcnR1YWwgbWVtb3J5IGxheW91dCBpcyBwcm9iYWJseSBhIGdvb2Qg
aWRlYS4gV2l0aCBldmVyeXRoaW5nIGluIGEgc2luZ2xlIHZpcnR1YWwgcm9vdCBjb21wbGV4IChz
ZWdtZW50KSwgaXQncyBwcm9iYWJseSBwb3NzaWJsZSB0byBjb21lIHVwIHdpdGggc29tZSB2QkRG
LXBpY2tpbmcgYWxnb3JpdGhtICgrIHVzZXIgYWJpbGl0eSB0byBzcGVjaWZ5KSB0aGF0IHdvcmtz
IGZvciBtb3N0IHVzZSBjYXNlcyBhcyBkaXNjdXNzZWQgZWxzZXdoZXJlLiBJdCB3aWxsIGFsd2F5
cyBiZSBpbiBhIHNpbmdsZSBmaXhlZCBzZWdtZW50IGFzIGZhciBhcyBJIGNhbiB0ZWxsLg0KPiAN
Cj4gU29tZSBtb3JlIG9ic2VydmF0aW9ucyBhc3N1bWluZyBhIHNpbmdsZSB2aXJ0dWFsIHJvb3Qg
Y29tcGxleDoNCj4gDQo+IFdlIHNob3VsZCBwcm9iYWJseSBoaWRlIHRoZSBxZW11IGhvc3QgYnJp
ZGdlKHMpIGZyb20gdGhlIGd1ZXN0LiBJbiBvdGhlciB3b3JkcywgaGlkZSBhbGwgZGV2aWNlcyB3
aXRoIGJhc2UgY2xhc3MgMHgwNiwgZXhjZXB0IGV2ZW50dWFsbHkgdlBDSSdzIG93biB2aXJ0dWFs
IGhvc3QgYnJpZGdlLiBJZiB3ZSBkb24ndCBoaWRlIHRoZW0sIHdlIHdvdWxkIGxpa2VseSBlbmQg
dXAgd2l0aCBtdWx0aXBsZSBlbXVsYXRlZCBob3N0IGJyaWRnZXMgb24gYSBzaW5nbGUgcm9vdCBj
b21wbGV4IChzZWdtZW50KS4gVGhhdCBzb3VuZHMgbWVzc3kgYW5kIGhhcmQgdG8gbWFuYWdlLg0K
PiANCj4gV2UgaGF2ZSBhIG5lZWQgdG8gY29udHJvbCB0aGUgdkJERiBleHBvc2VkIHRvIHRoZSBn
dWVzdCAtIGNhbiB3ZSBmb3JjZSBxZW11IHRvIHVzZSBwYXJ0aWN1bGFyIEJERnMgZm9yIGl0cyBl
bXVsYXRlZCBkZXZpY2VzPw0KDQoNClllcywgaXQgaXMgcG9zc2libGUuIE1heWJlIHRoZXJlIGlz
IGEgYmV0dGVyIHdheSwgYnV0IGF0DQpsZWFzdCAqYnVzKiBhbmQgKmFkZHIqIGNhbiBiZSBzcGVj
aWZpZWQgYW5kIFFlbXUgaW5kZWVkIGZvbGxvd3MgdGhhdC4NCg0KZGV2aWNlX21vZGVsX2FyZ3M9
WyAnLWRldmljZScsIA0KJ3ZpcnRpby1ibGstcGNpLHNjc2k9b2ZmLGRpc2FibGUtbGVnYWN5PW9u
LGlvbW11X3BsYXRmb3JtPW9uLGJ1cz1wY2llLjAsYWRkcj0yLGRyaXZlPWltYWdlJywgDQonLWRy
aXZlJywgJ2lmPW5vbmUsaWQ9aW1hZ2UsZm9ybWF0PXJhdyxmaWxlPS9kZXYvbW1jYmxrMXAzJyBd
DQoNCnZpcnRpbz1bICJiYWNrZW5kPURvbWFpbi0wLCB0eXBlPXZpcnRpbyxkZXZpY2UsIHRyYW5z
cG9ydD1wY2ksIA0KYmRmPTAwMDA6MDA6MDIuMCwgZ3JhbnRfdXNhZ2U9MSwgYmFja2VuZF90eXBl
PXFlbXUiIF0NCg0Kcm9vdEBoM3VsY2ItZG9tZDp+IyBkbWVzZyB8IGdyZXAgdmlydGlvDQpbICAg
MC42NjA3ODldIHZpcnRpby1wY2kgMDAwMDowMDowMi4wOiBlbmFibGluZyBkZXZpY2UgKDAwMDAg
LT4gMDAwMikNClsgICAwLjcxNTg3Nl0gdmlydGlvX2JsayB2aXJ0aW8wOiBbdmRhXSA0MDk2IDUx
Mi1ieXRlIGxvZ2ljYWwgYmxvY2tzIA0KKDIuMTAgTUIvMi4wMCBNaUIpDQoNCnJvb3RAaDN1bGNi
LWRvbWQ6fiMgbHNwY2kNCjAwOjAwLjAgSG9zdCBicmlkZ2U6IFJlZCBIYXQsIEluYy4gUUVNVSBQ
Q0llIEhvc3QgYnJpZGdlDQowMDowMi4wIFNDU0kgc3RvcmFnZSBjb250cm9sbGVyOiBSZWQgSGF0
LCBJbmMuIFZpcnRpbyBibG9jayBkZXZpY2UgKHJldiAwMSkNCg0KQWxzbyB0aGVyZSBpcyBvbmUg
bW9tZW50IGZvciBjdXJyZW50IHNlcmllczogYmRmIHNwZWNpZmllZCBmb3IgDQp2aXJ0aW8tcGNp
IGRldmljZSBvbmx5IG1ha2VzIHNlbnNlIGZvciBpb21tdS1tYXAgcHJvcGVydHkuIFNvIA0KYmRm
PTAwMDA6MDA6MDIuMCBpbiB2aXJ0aW8gcHJvcGVydHkgYW5kIGJ1cz1wY2llLjAsYWRkcj0yIGlu
IA0KZGV2aWNlX21vZGVsX2FyZ3MgcHJvcGVydHkgc2hvdWxkIGJlIGluIHN5bmMuDQoNClsxXSAN
Cmh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC94ZW4tZGV2ZWwvcGF0Y2gvMjAy
MzExMTUxMTI2MTEuMzg2NTkwNS01LVNlcmdpeV9LaWJyaWtAZXBhbS5jb20vDQoNCg0KW3NuaXBd


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:29:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:29:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634872.990422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3uDe-0001SC-T1; Fri, 17 Nov 2023 08:28:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634872.990422; Fri, 17 Nov 2023 08: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 1r3uDe-0001S5-QT; Fri, 17 Nov 2023 08:28:54 +0000
Received: by outflank-mailman (input) for mailman id 634872;
 Fri, 17 Nov 2023 08: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3uDd-0001Rz-5V
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:28:53 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 555ee0bc-8523-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 09:28:50 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id D519A4EE0744;
 Fri, 17 Nov 2023 09:28:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 555ee0bc-8523-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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: [XEN PATCH v3] xen: introduce function type bug_fn_t.
Date: Fri, 17 Nov 2023 09:28:26 +0100
Message-Id: <3942021ff51b117ab2b50aecd6e75353cd73ab20.1700158707.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce function type bug_fn_t. This improves readability and helps
to validate that the function passed to run_in_exception_handle() has
the expected prototype.

Use the newly-intoduced type to address a violation of MISRA
C:2012 Rule 8.2.

Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/arm/traps.c  | 2 +-
 xen/include/xen/bug.h | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index ce89f16404..8492e2b7bb 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -1236,7 +1236,7 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
 
     if ( id == BUGFRAME_run_fn )
     {
-        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
+        bug_fn_t *fn = (void *)regs->BUG_FN_REG;
 
         fn(regs);
         return 0;
diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
index e8a4eea71a..cb5138410e 100644
--- a/xen/include/xen/bug.h
+++ b/xen/include/xen/bug.h
@@ -99,6 +99,9 @@ struct bug_frame {
 
 #endif
 
+struct cpu_user_regs;
+typedef void bug_fn_t(const struct cpu_user_regs *regs);
+
 #ifndef run_in_exception_handler
 
 /*
@@ -132,8 +135,6 @@ struct bug_frame {
 
 #ifdef CONFIG_GENERIC_BUG_FRAME
 
-struct cpu_user_regs;
-
 /*
  * Returns a negative value in case of an error otherwise
  * BUGFRAME_{run_fn, warn, bug, assert}
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:40:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634879.990462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3uPA-0005N5-MR; Fri, 17 Nov 2023 08:40:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634879.990462; Fri, 17 Nov 2023 08:40: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 1r3uPA-0005Ms-Hq; Fri, 17 Nov 2023 08:40:48 +0000
Received: by outflank-mailman (input) for mailman id 634879;
 Fri, 17 Nov 2023 08:40: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3uP9-0004ds-DW
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:40:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 00c2cc26-8525-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 09:40:47 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id B632A4EE0C88;
 Fri, 17 Nov 2023 09:40:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00c2cc26-8525-11ee-98dc-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 3/5] xen/sort: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 17 Nov 2023 09:40:07 +0100
Message-Id: <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700209834.git.federico.serafini@bugseng.com>
References: <cover.1700209834.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/sort.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/sort.h b/xen/include/xen/sort.h
index 2f52ff85b9..1d5e3c5849 100644
--- a/xen/include/xen/sort.h
+++ b/xen/include/xen/sort.h
@@ -23,8 +23,8 @@
 extern gnu_inline
 #endif
 void sort(void *base, size_t num, size_t size,
-          int (*cmp)(const void *, const void *),
-          void (*swap)(void *, void *, size_t))
+          int (*cmp)(const void *key, const void *elem),
+          void (*swap)(void *a, void *b, size_t size))
 {
     /* pre-scale counters for performance */
     size_t i = (num / 2) * size, n = num * size, c, r;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:40:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634878.990449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3uP9-0004wH-Di; Fri, 17 Nov 2023 08:40:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634878.990449; Fri, 17 Nov 2023 08:40: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 1r3uP9-0004vL-8e; Fri, 17 Nov 2023 08:40:47 +0000
Received: by outflank-mailman (input) for mailman id 634878;
 Fri, 17 Nov 2023 08:40: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3uP8-0004ds-CP
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:40:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 000cbb6b-8525-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 09:40:45 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id 0BC604EE0C87;
 Fri, 17 Nov 2023 09:40:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 000cbb6b-8525-11ee-98dc-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 2/5] xen/serial: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 17 Nov 2023 09:40:06 +0100
Message-Id: <9fe7d6b526fef112dab314cf951662583dcbb40d.1700209834.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700209834.git.federico.serafini@bugseng.com>
References: <cover.1700209834.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/serial.h | 30 +++++++++++++++---------------
 1 file changed, 15 insertions(+), 15 deletions(-)

diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index f0aff7ea76..fc3b4883a2 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -15,7 +15,7 @@
 struct cpu_user_regs;
 
 /* Register a character-receive hook on the specified COM port. */
-typedef void (*serial_rx_fn)(char, struct cpu_user_regs *);
+typedef void (*serial_rx_fn)(char c, struct cpu_user_regs *regs);
 void serial_set_rx_handler(int handle, serial_rx_fn fn);
 
 /* Number of characters we buffer for a polling receiver. */
@@ -63,31 +63,31 @@ struct serial_port {
 
 struct uart_driver {
     /* Driver initialisation (pre- and post-IRQ subsystem setup). */
-    void (*init_preirq)(struct serial_port *);
-    void (*init_irq)(struct serial_port *);
-    void (*init_postirq)(struct serial_port *);
+    void (*init_preirq)(struct serial_port *port);
+    void (*init_irq)(struct serial_port *port);
+    void (*init_postirq)(struct serial_port *port);
     /* Hook to clean up after Xen bootstrap (before domain 0 runs). */
-    void (*endboot)(struct serial_port *);
+    void (*endboot)(struct serial_port *port);
     /* Driver suspend/resume. */
-    void (*suspend)(struct serial_port *);
-    void (*resume)(struct serial_port *);
+    void (*suspend)(struct serial_port *port);
+    void (*resume)(struct serial_port *port);
     /* Return number of characters the port can hold for transmit,
      * or -EIO if port is inaccesible */
-    int (*tx_ready)(struct serial_port *);
+    int (*tx_ready)(struct serial_port *port);
     /* Put a character onto the serial line. */
-    void (*putc)(struct serial_port *, char);
+    void (*putc)(struct serial_port *port, char c);
     /* Flush accumulated characters. */
-    void (*flush)(struct serial_port *);
+    void (*flush)(struct serial_port *port);
     /* Get a character from the serial line: returns 0 if none available. */
-    int  (*getc)(struct serial_port *, char *);
+    int  (*getc)(struct serial_port *port, char *pc);
     /* Get IRQ number for this port's serial line: returns -1 if none. */
-    int  (*irq)(struct serial_port *);
+    int  (*irq)(struct serial_port *port);
     /* Unmask TX interrupt */
-    void  (*start_tx)(struct serial_port *);
+    void  (*start_tx)(struct serial_port *port);
     /* Mask TX interrupt */
-    void  (*stop_tx)(struct serial_port *);
+    void  (*stop_tx)(struct serial_port *port);
     /* Get serial information */
-    const struct vuart_info *(*vuart_info)(struct serial_port *);
+    const struct vuart_info *(*vuart_info)(struct serial_port *port);
 };
 
 /* 'Serial handles' are composed from the following fields. */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:40:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634876.990432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3uP7-0004e6-SS; Fri, 17 Nov 2023 08:40:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634876.990432; Fri, 17 Nov 2023 08: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 1r3uP7-0004dz-Pw; Fri, 17 Nov 2023 08:40:45 +0000
Received: by outflank-mailman (input) for mailman id 634876;
 Fri, 17 Nov 2023 08:40: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3uP6-0004ds-6R
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:40:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fe68d6d3-8524-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 09:40:43 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id 047914EE0744;
 Fri, 17 Nov 2023 09:40:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe68d6d3-8524-11ee-98dc-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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: [XEN PATCH 0/5] xen: address some violations of MISRA C:2012 Rule 8.2
Date: Fri, 17 Nov 2023 09:40:04 +0100
Message-Id: <cover.1700209834.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series adds the missing parameter names to address violations of
MISRA C:2012 Rule 8.2. No functional changes are introduced.

Federico Serafini (5):
  xen/common: address violations of MISRA C:2012 Rule 8.2
  xen/serial: address violations of MISRA C:2012 Rule 8.2
  xen/sort: address violations of MISRA C:2012 Rule 8.2
  xen/vmap: address violations of MISRA C:2012 Rule 8.2
  xen/xalloc: address violations of MISRA C:2012 Rule 8.2

 xen/common/efi/runtime.c       |  2 +-
 xen/common/rangeset.c          |  6 +++---
 xen/common/spinlock.c          |  8 ++++----
 xen/common/stop_machine.c      |  4 ++--
 xen/common/tasklet.c           |  5 +++--
 xen/common/timer.c             |  4 ++--
 xen/include/xen/rangeset.h     |  4 ++--
 xen/include/xen/serial.h       | 30 +++++++++++++++---------------
 xen/include/xen/sort.h         |  4 ++--
 xen/include/xen/spinlock.h     |  2 +-
 xen/include/xen/stop_machine.h |  2 +-
 xen/include/xen/tasklet.h      |  7 ++++---
 xen/include/xen/timer.h        |  4 ++--
 xen/include/xen/vmap.h         |  6 +++---
 xen/include/xen/xmalloc.h      |  2 +-
 15 files changed, 46 insertions(+), 44 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:40:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634877.990443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3uP9-0004su-4B; Fri, 17 Nov 2023 08:40:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634877.990443; Fri, 17 Nov 2023 08:40: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 1r3uP9-0004sn-0z; Fri, 17 Nov 2023 08:40:47 +0000
Received: by outflank-mailman (input) for mailman id 634877;
 Fri, 17 Nov 2023 08:40: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3uP8-0004eV-6u
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:40:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fe96b1de-8524-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 09:40:43 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id D15834EE0C81;
 Fri, 17 Nov 2023 09:40:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fe96b1de-8524-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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: [XEN PATCH 1/5] xen/common: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 17 Nov 2023 09:40:05 +0100
Message-Id: <ccc8b4bea515360e448f1975dadb326ad2e6c918.1700209834.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700209834.git.federico.serafini@bugseng.com>
References: <cover.1700209834.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/common/efi/runtime.c       | 2 +-
 xen/common/rangeset.c          | 6 +++---
 xen/common/spinlock.c          | 8 ++++----
 xen/common/stop_machine.c      | 4 ++--
 xen/common/tasklet.c           | 5 +++--
 xen/common/timer.c             | 4 ++--
 xen/include/xen/rangeset.h     | 4 ++--
 xen/include/xen/spinlock.h     | 2 +-
 xen/include/xen/stop_machine.h | 2 +-
 xen/include/xen/tasklet.h      | 7 ++++---
 xen/include/xen/timer.h        | 4 ++--
 11 files changed, 25 insertions(+), 23 deletions(-)

diff --git a/xen/common/efi/runtime.c b/xen/common/efi/runtime.c
index 5cb7504c96..d952c3ba78 100644
--- a/xen/common/efi/runtime.c
+++ b/xen/common/efi/runtime.c
@@ -26,7 +26,7 @@ struct efi_rs_state {
 };
 
 struct efi_rs_state efi_rs_enter(void);
-void efi_rs_leave(struct efi_rs_state *);
+void efi_rs_leave(struct efi_rs_state *state);
 
 #ifndef COMPAT
 
diff --git a/xen/common/rangeset.c b/xen/common/rangeset.c
index f3baf52ab6..aa3a94e053 100644
--- a/xen/common/rangeset.c
+++ b/xen/common/rangeset.c
@@ -288,7 +288,7 @@ bool_t rangeset_overlaps_range(
 
 int rangeset_report_ranges(
     struct rangeset *r, unsigned long s, unsigned long e,
-    int (*cb)(unsigned long s, unsigned long e, void *), void *ctxt)
+    int (*cb)(unsigned long s, unsigned long e, void *data), void *ctxt)
 {
     struct range *x;
     int rc = 0;
@@ -357,8 +357,8 @@ int rangeset_claim_range(struct rangeset *r, unsigned long size,
 }
 
 int rangeset_consume_ranges(struct rangeset *r,
-                            int (*cb)(unsigned long s, unsigned long e, void *,
-                                      unsigned long *c),
+                            int (*cb)(unsigned long s, unsigned long e,
+                                      void *ctxt, unsigned long *c),
                             void *ctxt)
 {
     int rc = 0;
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 7f453234a9..8fa3e253c0 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -305,7 +305,7 @@ static always_inline u16 observe_head(spinlock_tickets_t *t)
 }
 
 static void always_inline spin_lock_common(spinlock_t *lock,
-                                           void (*cb)(void *), void *data)
+                                           void (*cb)(void *data), void *data)
 {
     spinlock_tickets_t tickets = SPINLOCK_TICKET_INC;
     LOCK_PROFILE_VAR;
@@ -331,7 +331,7 @@ void _spin_lock(spinlock_t *lock)
     spin_lock_common(lock, NULL, NULL);
 }
 
-void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data)
+void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *data), void *data)
 {
     spin_lock_common(lock, cb, data);
 }
@@ -498,8 +498,8 @@ struct lock_profile_anc {
     const char                *name;     /* descriptive string for print */
 };
 
-typedef void lock_profile_subfunc(
-    struct lock_profile *, int32_t, int32_t, void *);
+typedef void lock_profile_subfunc(struct lock_profile *data, int32_t type,
+    int32_t idx, void *par);
 
 extern struct lock_profile *__lock_profile_start;
 extern struct lock_profile *__lock_profile_end;
diff --git a/xen/common/stop_machine.c b/xen/common/stop_machine.c
index 3adbe380de..398cfd507c 100644
--- a/xen/common/stop_machine.c
+++ b/xen/common/stop_machine.c
@@ -46,7 +46,7 @@ struct stopmachine_data {
 
     unsigned int fn_cpu;
     int fn_result;
-    int (*fn)(void *);
+    int (*fn)(void *data);
     void *fn_data;
 };
 
@@ -73,7 +73,7 @@ static void stopmachine_wait_state(void)
  * mandatory to be called only on an idle vcpu, as otherwise active core
  * scheduling might hang.
  */
-int stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu)
+int stop_machine_run(int (*fn)(void *data), void *data, unsigned int cpu)
 {
     unsigned int i, nr_cpus;
     unsigned int this = smp_processor_id();
diff --git a/xen/common/tasklet.c b/xen/common/tasklet.c
index 3ad67b5c24..3649798e6b 100644
--- a/xen/common/tasklet.c
+++ b/xen/common/tasklet.c
@@ -199,7 +199,7 @@ static void migrate_tasklets_from_cpu(unsigned int cpu, struct list_head *list)
     spin_unlock_irqrestore(&tasklet_lock, flags);
 }
 
-void tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
+void tasklet_init(struct tasklet *t, void (*func)(void *data), void *data)
 {
     memset(t, 0, sizeof(*t));
     INIT_LIST_HEAD(&t->list);
@@ -208,7 +208,8 @@ void tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
     t->data = data;
 }
 
-void softirq_tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
+void softirq_tasklet_init(struct tasklet *t,
+                          void (*func)(void *data), void *data)
 {
     tasklet_init(t, func, data);
     t->is_softirq = 1;
diff --git a/xen/common/timer.c b/xen/common/timer.c
index 0fddfa7487..bf7792dcb3 100644
--- a/xen/common/timer.c
+++ b/xen/common/timer.c
@@ -291,7 +291,7 @@ static bool active_timer(const struct timer *timer)
 
 void init_timer(
     struct timer *timer,
-    void        (*function)(void *),
+    void        (*function)(void *data),
     void         *data,
     unsigned int  cpu)
 {
@@ -441,7 +441,7 @@ void kill_timer(struct timer *timer)
 
 static void execute_timer(struct timers *ts, struct timer *t)
 {
-    void (*fn)(void *) = t->function;
+    void (*fn)(void *data) = t->function;
     void *data = t->data;
 
     t->status = TIMER_STATUS_inactive;
diff --git a/xen/include/xen/rangeset.h b/xen/include/xen/rangeset.h
index 135f33f606..390f7b6082 100644
--- a/xen/include/xen/rangeset.h
+++ b/xen/include/xen/rangeset.h
@@ -68,7 +68,7 @@ bool_t __must_check rangeset_overlaps_range(
     struct rangeset *r, unsigned long s, unsigned long e);
 int rangeset_report_ranges(
     struct rangeset *r, unsigned long s, unsigned long e,
-    int (*cb)(unsigned long s, unsigned long e, void *), void *ctxt);
+    int (*cb)(unsigned long s, unsigned long e, void *data), void *ctxt);
 
 /*
  * Note that the consume function can return an error value apart from
@@ -77,7 +77,7 @@ int rangeset_report_ranges(
  */
 int rangeset_consume_ranges(struct rangeset *r,
                             int (*cb)(unsigned long s, unsigned long e,
-                                      void *, unsigned long *c),
+                                      void *ctxt, unsigned long *c),
                             void *ctxt);
 
 /* Merge rangeset r2 into rangeset r1. */
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 16d933ae7e..785ef689a0 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -179,7 +179,7 @@ typedef struct spinlock {
 #define spin_lock_init(l) (*(l) = (spinlock_t)SPIN_LOCK_UNLOCKED)
 
 void _spin_lock(spinlock_t *lock);
-void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data);
+void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *data), void *data);
 void _spin_lock_irq(spinlock_t *lock);
 unsigned long _spin_lock_irqsave(spinlock_t *lock);
 
diff --git a/xen/include/xen/stop_machine.h b/xen/include/xen/stop_machine.h
index c63da1b309..0bbf71f112 100644
--- a/xen/include/xen/stop_machine.h
+++ b/xen/include/xen/stop_machine.h
@@ -14,6 +14,6 @@
  *
  * This can be thought of as a very heavy write lock, equivalent to
  * grabbing every spinlock in the kernel. */
-int stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu);
+int stop_machine_run(int (*fn)(void *data), void *data, unsigned int cpu);
 
 #endif /* __XEN_STOP_MACHINE_H__ */
diff --git a/xen/include/xen/tasklet.h b/xen/include/xen/tasklet.h
index 193acf8f42..59f2b522f3 100644
--- a/xen/include/xen/tasklet.h
+++ b/xen/include/xen/tasklet.h
@@ -21,7 +21,7 @@ struct tasklet
     bool_t is_softirq;
     bool_t is_running;
     bool_t is_dead;
-    void (*func)(void *);
+    void (*func)(void *data);
     void *data;
 };
 
@@ -59,8 +59,9 @@ void tasklet_schedule_on_cpu(struct tasklet *t, unsigned int cpu);
 void tasklet_schedule(struct tasklet *t);
 void do_tasklet(void);
 void tasklet_kill(struct tasklet *t);
-void tasklet_init(struct tasklet *t, void (*func)(void *), void *data);
-void softirq_tasklet_init(struct tasklet *t, void (*func)(void *), void *data);
+void tasklet_init(struct tasklet *t, void (*func)(void *data), void *data);
+void softirq_tasklet_init(struct tasklet *t,
+                          void (*func)(void *data), void *data);
 void tasklet_subsys_init(void);
 
 #endif /* __XEN_TASKLET_H__ */
diff --git a/xen/include/xen/timer.h b/xen/include/xen/timer.h
index 3a2a05c6de..fb28517515 100644
--- a/xen/include/xen/timer.h
+++ b/xen/include/xen/timer.h
@@ -29,7 +29,7 @@ struct timer {
     };
 
     /* On expiry, '(*function)(data)' will be executed in softirq context. */
-    void (*function)(void *);
+    void (*function)(void *data);
     void *data;
 
     /* CPU on which this timer will be installed and executed. */
@@ -57,7 +57,7 @@ struct timer {
  */
 void init_timer(
     struct timer *timer,
-    void        (*function)(void *),
+    void        (*function)(void *data),
     void         *data,
     unsigned int  cpu);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:40:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:40:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634880.990473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3uPC-0005fL-WD; Fri, 17 Nov 2023 08:40:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634880.990473; Fri, 17 Nov 2023 08: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 1r3uPC-0005f0-SJ; Fri, 17 Nov 2023 08:40:50 +0000
Received: by outflank-mailman (input) for mailman id 634880;
 Fri, 17 Nov 2023 08:40: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3uPB-0004ds-5X
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:40:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 01ce1612-8525-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 09:40:48 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id 286F14EE0C89;
 Fri, 17 Nov 2023 09:40:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01ce1612-8525-11ee-98dc-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 4/5] xen/vmap: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 17 Nov 2023 09:40:08 +0100
Message-Id: <d4d67e48298f4b51836c3c5b0a982775f469d74b.1700209834.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700209834.git.federico.serafini@bugseng.com>
References: <cover.1700209834.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/vmap.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/include/xen/vmap.h b/xen/include/xen/vmap.h
index b0f7632e89..2b7369e062 100644
--- a/xen/include/xen/vmap.h
+++ b/xen/include/xen/vmap.h
@@ -13,9 +13,9 @@ enum vmap_region {
 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);
+             unsigned int align, unsigned int flags, enum vmap_region type);
 void *vmap(const mfn_t *mfn, unsigned int nr);
-void vunmap(const void *);
+void vunmap(const void *va);
 
 void *vmalloc(size_t size);
 void *vmalloc_xen(size_t size);
@@ -23,7 +23,7 @@ void *vmalloc_xen(size_t size);
 void *vzalloc(size_t size);
 void vfree(void *va);
 
-void __iomem *ioremap(paddr_t, size_t);
+void __iomem *ioremap(paddr_t pa, size_t len);
 
 static inline void iounmap(void __iomem *va)
 {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:40:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:40:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634881.990483 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3uPF-0005xm-8s; Fri, 17 Nov 2023 08:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634881.990483; Fri, 17 Nov 2023 08:40: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 1r3uPF-0005xZ-5a; Fri, 17 Nov 2023 08:40:53 +0000
Received: by outflank-mailman (input) for mailman id 634881;
 Fri, 17 Nov 2023 08:40: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3uPE-0004eV-CN
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:40:52 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 02b02779-8525-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 09:40:50 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id E0CA04EE074E;
 Fri, 17 Nov 2023 09:40:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02b02779-8525-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 5/5] xen/xalloc: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 17 Nov 2023 09:40:09 +0100
Message-Id: <9e3eddd16c53f11097fce7d5e9bf57dea7681ce1.1700209834.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700209834.git.federico.serafini@bugseng.com>
References: <cover.1700209834.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/xmalloc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/xmalloc.h b/xen/include/xen/xmalloc.h
index 16979a117c..9ecddbff5e 100644
--- a/xen/include/xen/xmalloc.h
+++ b/xen/include/xen/xmalloc.h
@@ -63,7 +63,7 @@
     })
 
 /* Free any of the above. */
-extern void xfree(void *);
+extern void xfree(void *p);
 
 /* Free an allocation, and zero the pointer to it. */
 #define XFREE(p) do { \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:53:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634903.990503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ubd-0001ey-Un; Fri, 17 Nov 2023 08:53:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634903.990503; Fri, 17 Nov 2023 08: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 1r3ubd-0001er-R7; Fri, 17 Nov 2023 08:53:41 +0000
Received: by outflank-mailman (input) for mailman id 634903;
 Fri, 17 Nov 2023 08: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=2+Qn=G6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3ubc-0001Px-5M
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:53:40 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cc0c82c6-8526-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 09:53:37 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 5F35F4EE0C81;
 Fri, 17 Nov 2023 09:53:36 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc0c82c6-8526-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>
Subject: [XEN PATCH v5 1/2] automation/eclair: make the docs for MISRA C:2012 Dir 4.1 visible to ECLAIR
Date: Fri, 17 Nov 2023 09:53:25 +0100
Message-Id: <dd207f2aa0a79b784df5d042f8a0169707c21902.1700211131.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700211131.git.nicola.vetrini@bugseng.com>
References: <cover.1700211131.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

To be able to check for the existence of the necessary subsections in
the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
file that is built.

This file is generated from 'C-runtime-failures.rst' in docs/misra
and the configuration is updated accordingly.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
Changes from RFC:
- Dropped unused/useless code
- Revised the sed command
- Revised the clean target

Changes in v2:
- Added explanative comment to the makefile
- printf instead of echo

Changes in v3:
- Terminate the generated file with a newline
- Build it with -std=c99, so that the documentation
  for D1.1 applies.
Changes in v4:
- Transform and build the file directly in the eclair-specific directory
Changes in v5:
- Small improvements
---
 automation/eclair_analysis/build.sh   | 31 +++++++++++++++++++++++----
 automation/eclair_analysis/prepare.sh |  7 +++---
 2 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/automation/eclair_analysis/build.sh b/automation/eclair_analysis/build.sh
index ec087dd822fa..122b93b80581 100755
--- a/automation/eclair_analysis/build.sh
+++ b/automation/eclair_analysis/build.sh
@@ -33,12 +33,35 @@ else
   PROCESSORS=6
 fi
 
+# Variables driving the build
+CC=${CROSS_COMPILE}gcc-12
+CXX=${CROSS_COMPILE}g++-12
+
+runtime_failures_docs() {
+  doc="C-runtime-failures.rst"
+  builddir="automation/eclair_analysis"
+  
+  cd "${builddir}"
+  printf "/*\n\n" >"${doc}.c"
+  sed -e 's|\*/|*//*|g' "../../docs/misra/${doc}" >>"${doc}.c"
+  
+  # At least a dummy decl is needed to comply with the C standard.
+  printf "\n\n*/\ntypedef int dummy_typedef;\n" >>"${doc}.c"
+  
+  # The C language standard applicable to Xen is C99 (with extensions),
+  # therefore even this dummy file needs to be compiled with -std=c99.
+  # Cannot redirect to /dev/null because it would be excluded from the analysis
+  "${CC}" -std=c99 -c "${doc}.c" -o "${doc}.o"
+  cd -
+}
+
 (
-  cd xen
+  runtime_failures_docs
 
   make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
        "CROSS_COMPILE=${CROSS_COMPILE}"         \
-       "CC=${CROSS_COMPILE}gcc-12"              \
-       "CXX=${CROSS_COMPILE}g++-12"             \
-       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"
+       "CC=${CC}"                               \
+       "CXX=${CXX}"                             \
+       "XEN_TARGET_ARCH=${XEN_TARGET_ARCH}"     \
+       -C xen
 )
diff --git a/automation/eclair_analysis/prepare.sh b/automation/eclair_analysis/prepare.sh
index 0cac5eba00ae..fe9d16e48ecc 100755
--- a/automation/eclair_analysis/prepare.sh
+++ b/automation/eclair_analysis/prepare.sh
@@ -35,11 +35,12 @@ else
 fi
 
 (
-    cd xen
-    cp "${CONFIG_FILE}" .config
+    ./configure
+    cp "${CONFIG_FILE}" xen/.config
     make clean
     find . -type f -name "*.safparse" -print -delete
-    make -f ${script_dir}/Makefile.prepare prepare
+    cd xen
+    make -f "${script_dir}/Makefile.prepare" prepare
     # Translate the /* SAF-n-safe */ comments into ECLAIR CBTs
     scripts/xen-analysis.py --run-eclair --no-build --no-clean
 )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:53:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634902.990493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ubc-0001QK-Mk; Fri, 17 Nov 2023 08:53:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634902.990493; Fri, 17 Nov 2023 08: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 1r3ubc-0001QD-JC; Fri, 17 Nov 2023 08:53:40 +0000
Received: by outflank-mailman (input) for mailman id 634902;
 Fri, 17 Nov 2023 08:53: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=2+Qn=G6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3ubb-0001Px-FZ
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:53:39 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cafcf93f-8526-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 09:53:36 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 24BDE4EE0744;
 Fri, 17 Nov 2023 09:53:34 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cafcf93f-8526-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v5 0/2] use the documentation for MISRA C:2012 Dir 4.1
Date: Fri, 17 Nov 2023 09:53:24 +0100
Message-Id: <cover.1700211131.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series addresses some concerns raised on patches 2 and 3 from [1].
Note that patch 1 from that series has already been applied.

Patch 1 comprises a modified version of patches 2 and 3 of the previous series.
Patch 2 is brand new, as it merely clarifies how to write such documentation.

[1] https://lore.kernel.org/xen-devel/cover.1696231870.git.nicola.vetrini@bugseng.com/

Nicola Vetrini (2):
  automation/eclair: make the docs for MISRA C:2012 Dir 4.1 visible to
    ECLAIR
  docs/misra: add guidance on the format of  Dir 4.1 docs for ECLAIR

 automation/eclair_analysis/build.sh   | 31 +++++++++++++++++++++++----
 automation/eclair_analysis/prepare.sh |  7 +++---
 docs/misra/C-runtime-failures.rst     |  8 +++++++
 3 files changed, 39 insertions(+), 7 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:53:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:53:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634904.990510 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ube-0001iL-9X; Fri, 17 Nov 2023 08:53:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634904.990510; Fri, 17 Nov 2023 08: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 1r3ube-0001hk-20; Fri, 17 Nov 2023 08:53:42 +0000
Received: by outflank-mailman (input) for mailman id 634904;
 Fri, 17 Nov 2023 08:53: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=2+Qn=G6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3ubc-0001Q3-FT
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 08:53:40 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd5772c2-8526-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 09:53:39 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 230574EE0C87;
 Fri, 17 Nov 2023 09:53:38 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd5772c2-8526-11ee-98dc-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [XEN PATCH v5 2/2] docs/misra: add guidance on the format of  Dir 4.1 docs for ECLAIR
Date: Fri, 17 Nov 2023 09:53:26 +0100
Message-Id: <f5373ffb9bd9aa1120c35e9cb445d48e01c9656c.1700211131.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700211131.git.nicola.vetrini@bugseng.com>
References: <cover.1700211131.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Additional guidance on the formatting of the document for ECLAIR
is supplied.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Julien Grall <jgrall@amazon.com>
---
 docs/misra/C-runtime-failures.rst | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/docs/misra/C-runtime-failures.rst b/docs/misra/C-runtime-failures.rst
index 1052b2afca13..cac51d6b2596 100644
--- a/docs/misra/C-runtime-failures.rst
+++ b/docs/misra/C-runtime-failures.rst
@@ -12,6 +12,14 @@ built-in checks that are present in the language.
 The presence of such documentation is requested by MISRA C:2012 Directive 4.1,
 whose headline states: "Run-time failures shall be minimized".
 
+The ECLAIR checker for MISRA C:2012 Directive 4.1 requires the documentation
+to be supplied using the following format:
+
+``Documentation for MISRA C:2012 Dir 4.1: <category> <description>``
+
+The matched categories are the ones listed below (e.g., ``overflow`` and
+``unexpected wrapping``). The content of the description is not checked and can
+span multiple lines.
 
 Documentation for MISRA C:2012 Dir 4.1: overflow
 ________________________________________________
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 08:53:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 08:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634905.990524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ubj-0002D1-Iq; Fri, 17 Nov 2023 08:53:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634905.990524; Fri, 17 Nov 2023 08: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 1r3ubj-0002Cs-Bz; Fri, 17 Nov 2023 08:53:47 +0000
Received: by outflank-mailman (input) for mailman id 634905;
 Fri, 17 Nov 2023 08:53: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 1r3ubi-0002Bt-MC; Fri, 17 Nov 2023 08:53: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 1r3ubi-0003Ez-IB; Fri, 17 Nov 2023 08:53: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 1r3ubi-0008B0-09; Fri, 17 Nov 2023 08:53:46 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3ubh-0004xU-VU; Fri, 17 Nov 2023 08: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=83kFlvvpQA2SwpyYGYnBMLEeJXWYtUYbBI1TmXh4CFs=; b=JrGEkkWHrhwBCRoPwkGpXyWK5X
	AiVub1SYs45fujPNHFo3cnXKv6bARQ3zWcof1GIEPju0I7FGGqU/64fqp5Y293Q6AmI0EzArs69V/
	4CUm+ibJkt/m7Sr9UYJ3cjJm8jaVsSoXmzH0949/PX622brg/yuhcEP1YG0w2rKW77FI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183775-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183775: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl: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
    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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=b739e2067b1a06328e7f0042630b543413689eac
X-Osstest-Versions-That:
    xen=fb62aa714d72349722d63b32a5a6d20a677f39e0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Nov 2023 08:53:45 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 17 guest-start/debian.repeat fail pass in 183780-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183769
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183769
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183769
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183769
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183769
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183769
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183769
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183769
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183769
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183769
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183769
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183769
 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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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-credit2  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-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-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
 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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  b739e2067b1a06328e7f0042630b543413689eac
baseline version:
 xen                  fb62aa714d72349722d63b32a5a6d20a677f39e0

Last test of basis   183769  2023-11-16 07:38:02 Z    1 days
Testing same since   183775  2023-11-16 16:10:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.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-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-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                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   fb62aa714d..b739e2067b  b739e2067b1a06328e7f0042630b543413689eac -> master


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:01:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:01:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634930.990565 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ujQ-0005mk-RL; Fri, 17 Nov 2023 09:01:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634930.990565; Fri, 17 Nov 2023 09: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 1r3ujQ-0005md-Nl; Fri, 17 Nov 2023 09:01:44 +0000
Received: by outflank-mailman (input) for mailman id 634930;
 Fri, 17 Nov 2023 09:01: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3ujP-0005mH-FK
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:01:43 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ec886ac6-8527-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 10:01:41 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-53e07db272cso2569904a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 01:01:41 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 g25-20020a17090613d900b009de467a25d5sm573715ejc.13.2023.11.17.01.01.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 01:01:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec886ac6-8527-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700211701; x=1700816501; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=AOXEmUYDZHJs608GWx6KitmXpE5ko3OVbff2mjwukXE=;
        b=SS0H2+DSwPbTSFgVLjYV+4XtzbB0hD88nRgOCiLw3Bg2Hb11jqIgLyC57eFf2p5Bfe
         GsJgIMdy9K3OCzFLSRScmMPUrEZU0hWVLNt7ChzfJrQRH2cJFzgfYFtkKAd9fbY9wrqO
         FRknIuTNoq/w1Q2PcLYdMmRWkGYfqk1lSO+HAIGS0UZ+TL9v8so3utMWta+yDEwMb4vx
         Zni5qFUxSSo0HSs6bx3dDJXqa0bNEIKSQkIuMs3Akk1m631684rRjzf+TcIKivma3xfR
         gKIynM9fNnLZv3WhPWAFtlfxq5dXfh3k46InKfuTA6HXy0sQu9YfqAu1lZANeR7r/tK7
         T7wg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700211701; x=1700816501;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AOXEmUYDZHJs608GWx6KitmXpE5ko3OVbff2mjwukXE=;
        b=McrQS16s4XIRKEtWiJXQiMM3HQb9TLsTQStJ3qxrbluBaszWDm78rtd5tq/olasrI9
         0rOnJvBmbFtG3xW6aZN+sKHfCMm7hXoLJQknv55y/NZnFEMy4zfnFK/0ajOC6bX2dZuW
         D/NgPmw7JJFL8tP5opZVfTJqNj656C4yvKqBmS21rHg09FBCWi4ptuc/lp8XQTrpqrPR
         rsAtlGNG4vhV2pzQiYRtzab+Oxo8+PpZXZn4FF8o8N5BeS54c6MBIr32ae5fxop2s1mA
         2Og3NKk1EUYFVUecnw+7SdXsFLR6RgxXNdGl0em0zmY57wB0dVhNPRKIabzbRXiqgc/z
         EZeg==
X-Gm-Message-State: AOJu0Yy4+AubnR0wWSLsEWPY71DjIM1/pxjVUF1rQ0d5ruQvR3+HNAB+
	oux+W0K6WhJ1rqhyYK+Ek/M=
X-Google-Smtp-Source: AGHT+IHpFuYoVwB795hc+8vUG+0aGjQWwBkm6+SQonyVBIpdxVfqTyzqiFm+K7uoR7V/kk4fNHaXVA==
X-Received: by 2002:a17:906:dd0:b0:9d2:20ee:b1c7 with SMTP id p16-20020a1709060dd000b009d220eeb1c7mr13505505eji.45.1700211700753;
        Fri, 17 Nov 2023 01:01:40 -0800 (PST)
Message-ID: <30e9dc5fb77907756c77bb73dd408462ab8df5ff.camel@gmail.com>
Subject: Re: [PATCH v2 08/15] xen/asm-generic: introduce generic header
 percpu.h
From: Oleksii <oleksii.kurochko@gmail.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
Date: Fri, 17 Nov 2023 11:01:39 +0200
In-Reply-To: <1e07fdac-f692-4ee1-bae3-1fe563481156@suse.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <d0ecdf04ceea49f57a54e15cc129c165a142a5cb.1699633310.git.oleksii.kurochko@gmail.com>
	 <f7fca726-f4d5-4cdf-981e-2a6fcf5085b0@suse.com>
	 <45623d7e6ca4f9ed34c1818ae304cbf49d82da4a.camel@gmail.com>
	 <1e07fdac-f692-4ee1-bae3-1fe563481156@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Thu, 2023-11-16 at 13:28 +0100, Jan Beulich wrote:
> On 16.11.2023 13:04, Oleksii wrote:
> > On Thu, 2023-11-16 at 08:36 +0100, Jan Beulich wrote:
> > > On 10.11.2023 17:30, Oleksii Kurochko wrote:
> > > > --- /dev/null
> > > > +++ b/xen/include/asm-generic/percpu.h
> > > > @@ -0,0 +1,35 @@
> > > > +/* SPDX-License-Identifier: GPL-2.0-only */
> > > > +#ifndef __ASM_GENERIC_PERCPU_H__
> > > > +#define __ASM_GENERIC_PERCPU_H__
> > > > +
> > > > +#ifndef __ASSEMBLY__
> > > > +
> > > > +#include <xen/types.h>
> > > > +
> > > > +extern char __per_cpu_start[], __per_cpu_data_end[];
> > >=20
> > > Can we go one tiny step beyond what Arm presently has and make
> > > the
> > > latter of the two const?
> > I am not sure I think we will have compilation issue with the
> > following
> > code in Arm and x86 because of [-Werror=3Ddiscarded-qualifiers]:
> >=20
> > static void cf_check _free_percpu_area(struct rcu_head *head)
> > {
> > =C2=A0=C2=A0=C2=A0 struct free_info *info =3D container_of(head, struct=
 free_info,
> > rcu);
> > =C2=A0=C2=A0=C2=A0 unsigned int cpu =3D info->cpu;
> > =C2=A0=C2=A0=C2=A0 char *p =3D __per_cpu_start + __per_cpu_offset[cpu];
> >=20
> > =C2=A0=C2=A0=C2=A0 free_xenheap_pages(p, PERCPU_ORDER);
> > =C2=A0=C2=A0=C2=A0 __per_cpu_offset[cpu] =3D INVALID_PERCPU_AREA;
> > }
>=20
> There's no use of __per_cpu_data_end here; I specifically didn't ask
> for both
> of the declarations to have const added.
Yes, I misread your comment.

>=20
> > I guess cast can help.
>=20
> There may not be casts casting away constness, except maybe in very
> delicate
> situations.
>=20

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:19:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:19:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634943.990575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3v0h-0000gh-6O; Fri, 17 Nov 2023 09:19:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634943.990575; Fri, 17 Nov 2023 09:19: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 1r3v0h-0000ga-34; Fri, 17 Nov 2023 09:19:35 +0000
Received: by outflank-mailman (input) for mailman id 634943;
 Fri, 17 Nov 2023 09:19: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=PCf8=G6=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1r3v0g-0000gU-9g
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:19:34 +0000
Received: from smarthost01a.ixn.mail.zen.net.uk
 (smarthost01a.ixn.mail.zen.net.uk [212.23.1.20])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 695a804a-852a-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 10:19:30 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01a.ixn.mail.zen.net.uk with esmtpsa (TLS1.0) tls
 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (Exim 4.95)
 (envelope-from <james@dingwall.me.uk>) id 1r3v0b-009Zth-Cd;
 Fri, 17 Nov 2023 09:19:29 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 24FA48A41A1;
 Fri, 17 Nov 2023 09:19:29 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([IPv6:::1])
 by localhost (mail0.xen.dingwall.me.uk [IPv6:::1]) (amavisd-new, port 10024)
 with ESMTP id TnKB_RCThori; Fri, 17 Nov 2023 09:18:41 +0000 (GMT)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk
 [IPv6:2a02:8010:698e:302::c0a8:1c8])
 by dingwall.me.uk (Postfix) with ESMTP id 86F218A419E;
 Fri, 17 Nov 2023 09:18:40 +0000 (GMT)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id 7583CAE; Fri, 17 Nov 2023 09:18:39 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 695a804a-852a-11ee-9b0e-b553b5be7939
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Fri, 17 Nov 2023 09:18:39 +0000
From: James Dingwall <james@dingwall.me.uk>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: James Dingwall <james-xen@dingwall.me.uk>,
	xen-devel@lists.xenproject.org
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Message-ID: <ZVcv7259slJF4wBh@dingwall.me.uk>
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
 <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
X-Originating-smarthost01a-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189

On Thu, Nov 16, 2023 at 04:32:47PM +0000, Andrew Cooper wrote:
> On 16/11/2023 4:15 pm, James Dingwall wrote:
> > Hi,
> >
> > Per the msr_relaxed documentation:
> >
> >    "If using this option is necessary to fix an issue, please report a bug."
> >
> > After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
> > started experiencing a BSOD at boot with one of our Windows guests.  We found
> > that enabling `msr_relaxed = 1` in the guest configuration has resolved the
> > problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
> > the following messages were caught as the BSOD happened:
> >
> > (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
> > (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
> > (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
> >
> > I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
> > series from last month:
> >
> > https://patchwork.kernel.org/project/xen-devel/list/?series=796550
> >
> > Picking out just a small part of that fixes the problem for us. Although the
> > the patch is against 4.15.5 I think it would be relevant to more recent
> > releases too.
> 
> Which version of Windows, and what hardware?
> 
> The Viridian Crash isn't about the RDMSR itself - it's presumably
> collateral damage shortly thereafter.
> 
> Does filling in 0 for that MSR also resolve the issue? It's model
> specific and we absolutely cannot pass it through from real hardware
> like that.
> 

Hi Andrew,

Thanks for your response.  The guest is running Windows 10 and the crash
happens in a proprietary hardware driver.  A little bit of knowledge as
they say was enough to stop the crash but I don't understand the impact
of what I've actually done...

To rework the patch I'd need a bit of guidance, if I understand your
suggestion I set the MSR to 0 with this change in emul-priv-op.c:

diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
index ed97b1d6fcc..66f5e417df6 100644
--- a/xen/arch/x86/pv/emul-priv-op.c
+++ b/xen/arch/x86/pv/emul-priv-op.c
@@ -976,6 +976,10 @@ static int read_msr(unsigned int reg, uint64_t *val,
         *val = 0;
         return X86EMUL_OKAY;
 
+    case MSR_TEMPERATURE_TARGET:
+        *val = 0;
+        return X86EMUL_OKAY;
+
     case MSR_P6_PERFCTR(0) ... MSR_P6_PERFCTR(7):
     case MSR_P6_EVNTSEL(0) ... MSR_P6_EVNTSEL(3):
     case MSR_CORE_PERF_FIXED_CTR0 ... MSR_CORE_PERF_FIXED_CTR2:

and this in vmx.c:

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 54023a92587..bbf37b7f272 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3259,6 +3259,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
         if ( !nvmx_msr_read_intercept(msr, msr_content) )
             goto gp_fault;
         break;
+
+    case MSR_TEMPERATURE_TARGET:
+        *msr_content = 0;
+        break;
+
     case MSR_IA32_MISC_ENABLE:
         rdmsrl(MSR_IA32_MISC_ENABLE, *msr_content);
         /* Debug Trace Store is not supported. */


Thanks,
James


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:22:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:22:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634946.990584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3v31-00026N-IB; Fri, 17 Nov 2023 09:21:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634946.990584; Fri, 17 Nov 2023 09:21: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 1r3v31-00026G-FC; Fri, 17 Nov 2023 09:21:59 +0000
Received: by outflank-mailman (input) for mailman id 634946;
 Fri, 17 Nov 2023 09:21: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=2+Qn=G6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3v30-000267-Ew
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:21:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c150af02-852a-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 10:21:57 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 8373B4EE0744;
 Fri, 17 Nov 2023 10:21:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c150af02-852a-11ee-98dc-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2] domain: add ASSERT to help static analysis tools
Date: Fri, 17 Nov 2023 10:21:52 +0100
Message-Id: <921dee5b4ebb052ef66e06001f4b84dce7f5ecfc.1700212866.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Static analysis tools may detect a possible null pointer
dereference of 'config'. This ASSERT helps them in detecting
that such a condition is not possible given that only
real domains can enter this branch, which are guaranteeed to have
a non-NULL config at this point, but this information is not
inferred by the tool.

Checking that the condition given in the assertion holds via
testing is the means to protect release builds, where the assertion
expands to effectively nothing.

Suggested-by: Julien Grall <julien@xen.org>
Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
- Clarified the context in which the assertion is useful.

The check may be later improved by proper error checking
instead of relying on the semantics explained here:
https://lore.kernel.org/xen-devel/61f04d4b-34d9-4fd1-a989-56b042b4f3d8@citrix.com/
---
 xen/common/domain.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8f9ab01c0cb7..924099db1098 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -700,6 +700,13 @@ struct domain *domain_create(domid_t domid,
 
     if ( !is_idle_domain(d) )
     {
+        /*
+         * The assertion helps static analysis tools infer that config cannot
+         * be NULL in this branch, which in turn means that it can be safely
+         * dereferenced. Therefore, this assertion is not redundant.
+         */
+        ASSERT(config);
+
         watchdog_domain_init(d);
         init_status |= INIT_watchdog;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:29:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:29:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634953.990595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vAa-0003YB-AA; Fri, 17 Nov 2023 09:29:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634953.990595; Fri, 17 Nov 2023 09:29: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 1r3vAa-0003Y4-6E; Fri, 17 Nov 2023 09:29:48 +0000
Received: by outflank-mailman (input) for mailman id 634953;
 Fri, 17 Nov 2023 09:29: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3vAY-0003Xx-Pt
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:29:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7a42a91-852b-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 10:29:44 +0100 (CET)
Received: from [172.20.10.2] (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id B83FB4EE0744;
 Fri, 17 Nov 2023 10:29:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7a42a91-852b-11ee-9b0e-b553b5be7939
Message-ID: <b6aa527b-cf1a-41e1-a10a-f0d33f113464@bugseng.com>
Date: Fri, 17 Nov 2023 10:29:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair: add deviations for MISRA C:2012
 Rule 8.3
To: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, roger.pau@citrix.com
References: <1c146f28cb19607ddd6741de4f7de051894a3381.1698314415.git.federico.serafini@bugseng.com>
 <662e9080-5648-47eb-95e6-41fcb618c68f@xen.org>
 <1f137be0-452d-4073-a79c-ffd8a501e434@bugseng.com>
 <831e23c2-f30d-4931-8749-99e4b9c4215b@xen.org>
 <66e59c25-fa6f-4fa4-aae8-aefa0b52c3b4@bugseng.com>
 <32f63354-872d-4598-a5ce-c851cacfc6d4@xen.org>
 <alpine.DEB.2.22.394.2310261554570.271731@ubuntu-linux-20-04-desktop>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <alpine.DEB.2.22.394.2310261554570.271731@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 27/10/23 00:55, Stefano Stabellini wrote:
> +Roger
> 
> See below
> 
> On Thu, 26 Oct 2023, Julien Grall wrote:
>> On 26/10/2023 15:04, Federico Serafini wrote:
>>> On 26/10/23 15:54, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> On 26/10/2023 13:13, Federico Serafini wrote:
>>>>> On 26/10/23 12:25, Julien Grall wrote:
>>>>>> Hi,
>>>>>>
>>>>>> On 26/10/2023 11:04, Federico Serafini wrote:
>>>>>>> Update ECLAIR configuration to deviate Rule 8.3 ("All declarations
>>>>>>> of
>>>>>>> an object or function shall use the same names and type qualifiers")
>>>>>>> for the following functions: guest_walk_tables_[0-9]+_levels().
>>>>>>> Update file docs/misra/deviations.rst accordingly.
>>>>>>> No functional change.
>>>>>>>
>>>>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>>>>>> ---
>>>>>>> Changes in v2:
>>>>>>>     - removed set_px_pminfo() from the scope of the deviation;
>>>>>>>     - fixed tag of the commit.
>>>>>>> ---
>>>>>>>    automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
>>>>>>>    docs/misra/deviations.rst                        | 6 ++++++
>>>>>>>    2 files changed, 10 insertions(+)
>>>>>>>
>>>>>>> diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>>>>> b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>>>>> index d8170106b4..b99dfdafd6 100644
>>>>>>> --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>>>>> +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
>>>>>>> @@ -204,6 +204,10 @@ const-qualified."
>>>>>>>
>>>>>>> -config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_mpparse_r8_3)))&&any_area(any_loc(file(^xen/arch/x86/include/asm/mpspec\\.h$)))"}
>>>>>>>    -doc_end
>>>>>>> +-doc_begin="For functions guest_walk_tables_[0-9]+_levels(),
>>>>>>> parameter names of definitions deliberately differ from the ones
>>>>>>> used in the corresponding declarations."
>>>>>>> +-config=MC3R1.R8.3,declarations={deliberate,"^guest_walk_tables_[0-9]+_levels\\(const
>>>>>>> struct vcpu\\*, struct p2m_domain\\*, unsigned long, walk_t\\*,
>>>>>>> uint32_t, gfn_t, mfn_t, void\\*\\)$"}
>>>>>>> +-doc_end
>>>>>>> +
>>>>>>>    -doc_begin="The following variables are compiled in multiple
>>>>>>> translation units
>>>>>>>    belonging to different executables and therefore are safe."
>>>>>>>    -config=MC3R1.R8.6,declarations+={safe,
>>>>>>> "name(current_stack_pointer||bsearch||sort)"}
>>>>>>> diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
>>>>>>> index 8511a18925..9423b5cd6b 100644
>>>>>>> --- a/docs/misra/deviations.rst
>>>>>>> +++ b/docs/misra/deviations.rst
>>>>>>> @@ -121,6 +121,12 @@ Deviations related to MISRA C:2012 Rules:
>>>>>>>             - xen/common/unxz.c
>>>>>>>             - xen/common/unzstd.c
>>>>>>> +   * - R8.3
>>>>>>> +     - In some cases, parameter names used in the function
>>>>>>> definition
>>>>>>> +       deliberately differ from the ones used in the corresponding
>>>>>>> declaration.
>>>>>>
>>>>>> It would be helpful to provide a bit more reasoning in your commit
>>>>>> message why this was desired. At least for Arm and common code, I
>>>>>> would not want anyone to do that because it adds more confusion.
>>>>>>
>>>>>>> +     - Tagged as `deliberate` for ECLAIR. Such functions are:
>>>>>>> +         - guest_walk_tables_[0-9]+_levels()
>>>>>>
>>>>>> I think you want to be a bit mores specific. Other arch may have such
>>>>>> function in the function and we don't want to deviate them from the
>>>>>> start.
>>>>>>
>>>>>> Cheers,
>>>>>>
>>>>>
>>>>> Alright, thanks for the observation.
>>>>
>>>> Actually, I cannot find the original discussion. Do you have link? I am
>>>> interested to read the reasoning and how many maintainers expressed there
>>>> view.
>>>>
>>>> Cheers,
>>>>
>>>
>>> The discussion started here:
>>> https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00122.html
>>>
>>> Then, I asked for further suggestions:
>>> https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00855.html
>>
>> Thanks! So only Jan really provided feedback here. I don't think this is a
>> good idea to deviate in this case. If we really want to keep in sync and use
>> 'walk' for the name, then we could add a comment after. Something like:
>>
>> uint32_t walk /* pfec */

What do you think about "pfec_walk" as parameter name?

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:48:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:48:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634959.990605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vS7-0007WC-Pt; Fri, 17 Nov 2023 09:47:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634959.990605; Fri, 17 Nov 2023 09:47: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 1r3vS7-0007W5-Lo; Fri, 17 Nov 2023 09:47:55 +0000
Received: by outflank-mailman (input) for mailman id 634959;
 Fri, 17 Nov 2023 09:47: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3vS6-0007Vz-CI
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:47:54 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 600708b6-852e-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 10:47:52 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40842752c6eso15060415e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 01:47:52 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 n18-20020a05600c3b9200b00407efbc4361sm6706778wms.9.2023.11.17.01.47.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 01:47:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 600708b6-852e-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700214471; x=1700819271; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=QTRkF380G4A6IHN12bKndfGgc5EBx94Uag0DU0kxCG0=;
        b=W0X9H9OJWDgPU1CUPBjKV9F/R48giYmg9qQr8+kO1yg+v4h15E28G6vuFoz1KcnA2v
         yH/jB1zr6jcYBXHuyoKSwe4s3q4gpQRChNwOFyiQfCiADwDdJ9O6/dcwFR+V5PJDiNUJ
         QTsMFVtxOuXQv0sHZfQJp9Uf+5hiGcIhfW7Cs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700214471; x=1700819271;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=QTRkF380G4A6IHN12bKndfGgc5EBx94Uag0DU0kxCG0=;
        b=g7rGmUsZN8KDA5HP2D6Sw2Ot0SwkvbC9nBK+XpA2IrX/F6tvza3rtMSOAf2nuknFTv
         o+WQ86gQm07Ve6x169RneZ1alXRW1S88aSv58k75gyrjZ/1L4AKekDNyaY/ymsjSWkzK
         CEEsgRnjV6j0JvNwoA2s/84cfBu7QplcDWJbMnVbYUlrzzJo9tMvJz3jjbyHD7ASEPEj
         xgSuI4g/A56Fr0BUxC2g1PbJG7IG7snP7M7z288To2cqwJZC2p6KXAQRHyUpE8vZj5z3
         wwWCdGElZ9awcAS+LSdk/rAWbQp38TcbqXUzfdCIB/ly3PEltI9MuAXbkp7OLmlJrD1N
         pbSQ==
X-Gm-Message-State: AOJu0YxPURsz8I1IiksnbrMPzmvAtJE1io1HFohmM2nQHsbO+ubnE7lL
	i5yoNg1bzDI9ZLwN3EyXhUMQzaIu5FK9KzIB2qE=
X-Google-Smtp-Source: AGHT+IFEbvGFD8B+Wpt3DilAGVWP7FcYu0rj2AIzeA0eT2yfd2EcFXrX9AAsqyB2VKXIEXm70LTyBw==
X-Received: by 2002:a05:600c:350a:b0:405:359a:c950 with SMTP id h10-20020a05600c350a00b00405359ac950mr15598721wmq.19.1700214471386;
        Fri, 17 Nov 2023 01:47:51 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH 0/3] x86/iommu: improve setup time of hwdom IOMMU
Date: Fri, 17 Nov 2023 10:47:46 +0100
Message-ID: <20231117094749.81091-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The follow series aims to improve the time consumed to setup the IOMMU
for the hardware domain.

Patch 1 and 2 are prereqs, while patch 3 is the actual change that
speeds up IOMMU setup.  See patch description for figures.

Thanks, Roger.

Roger Pau Monne (3):
  amd-vi: use the same IOMMU page table levels for PV and HVM
  x86/iommu: move xen_in_range() so it can be made static
  x86/iommu: use a rangeset for hwdom setup

 xen/arch/x86/hvm/io.c                       |  15 +-
 xen/arch/x86/include/asm/hvm/io.h           |   4 +-
 xen/arch/x86/include/asm/setup.h            |   2 -
 xen/arch/x86/setup.c                        |  49 ---
 xen/drivers/passthrough/amd/pci_amd_iommu.c |  20 +-
 xen/drivers/passthrough/x86/iommu.c         | 321 ++++++++++++++------
 6 files changed, 247 insertions(+), 164 deletions(-)

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:48:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:48:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634961.990615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vSQ-0007rF-3M; Fri, 17 Nov 2023 09:48:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634961.990615; Fri, 17 Nov 2023 09:48: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 1r3vSP-0007r8-WA; Fri, 17 Nov 2023 09:48:13 +0000
Received: by outflank-mailman (input) for mailman id 634961;
 Fri, 17 Nov 2023 09:48: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3vSP-0007p0-7m
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:48:13 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c50d818-852e-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 10:48:12 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-507b9408c61so2482600e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 01:48:12 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p8-20020adff208000000b0032da75af3easm1754119wro.80.2023.11.17.01.48.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 01:48:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c50d818-852e-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700214492; x=1700819292; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=14W9TQ4ErT83JuBFcjXmKlZRmBO8QnfuQD3+/1nam+w=;
        b=ICZXsxFvRV0OAbdY81cBVOmcrGyE/pGUzGkwlbwd2FstdBdUgFHWubNeba1IAyFfFZ
         D59YijrLDGs5SaLLJkco5H3CEK0ueBXW5VVXLTmYPXepe7/eKSZ32uPdI0QPXVyqAeRt
         aq+bUIZxZ6GuLM+G4A8qR6DQ1wQe+BxaXGFXQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700214492; x=1700819292;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=14W9TQ4ErT83JuBFcjXmKlZRmBO8QnfuQD3+/1nam+w=;
        b=Zrx1XtU6HmUyGW/UTg5lQi0T0FJaRunv+LdEUdUjB2L1AKZOHviA0dBNZ5qetNibld
         cIzXXC2DfM/7bXf3tF7IMv6qhuBbkXAIoxtzfPDyTntBvuynh8O9T3UxViEFkIXFZP9U
         y9foCyX9jiRRUx/WUSGZqlyHk48hXb7L+oA3YapIvFNCF9VV+2zOYafIaNyDfO4CdE83
         QsbJ83MS9QlrlMwnE7PG7oWne98UIPkl1TTV4F2FZe7Xx9fwUOI5yCjnjfCYdyaKfdhE
         HFTDLAwPjAxepvoXKbmPf4JIKvHk1z6qIViPplvevZGZlcWSP6+NRG3P3omHEeC+hwwh
         as2g==
X-Gm-Message-State: AOJu0YwYqxUHglr6jC99X6mrCRhdOb057+kGB93kD9JNXG/vCDyEr5aH
	x1638ZMc5uyEkBNQASgO8OugvsziJLITVM2i6Jk=
X-Google-Smtp-Source: AGHT+IG7BD7sg4RKTTHhLpcIXugWZZXYVgnmSbO2lXN/5DElldJzmOO33eb7CQCIUzUpHWXURaHP9g==
X-Received: by 2002:ac2:5e8b:0:b0:509:4587:bdd0 with SMTP id b11-20020ac25e8b000000b005094587bdd0mr13530628lfq.7.1700214492128;
        Fri, 17 Nov 2023 01:48:12 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: [PATCH 1/3] amd-vi: use the same IOMMU page table levels for PV and HVM
Date: Fri, 17 Nov 2023 10:47:47 +0100
Message-ID: <20231117094749.81091-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231117094749.81091-1-roger.pau@citrix.com>
References: <20231117094749.81091-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Using different page table levels for HVM or PV guest is not helpful, and is
not inline with the IOMMU implementation used by the other architecture vendor
(VT-d).

Switch to uniformly use DEFAULT_DOMAIN_ADDRESS_WIDTH in order to set the AMD-Vi
page table levels.

Note using the max RAM address for PV was bogus anyway, as there's no guarantee
there can't be device MMIO or reserved regions past the maximum RAM region.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/drivers/passthrough/amd/pci_amd_iommu.c | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)

diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index 6bc73dc21052..f9e749d74da2 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -359,21 +359,17 @@ int __read_mostly amd_iommu_min_paging_mode = 1;
 static int cf_check amd_iommu_domain_init(struct domain *d)
 {
     struct domain_iommu *hd = dom_iommu(d);
+    int pgmode = amd_iommu_get_paging_mode(
+        1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT));
+
+    if ( pgmode < 0 )
+        return pgmode;
 
     /*
-     * Choose the number of levels for the IOMMU page tables.
-     * - PV needs 3 or 4, depending on whether there is RAM (including hotplug
-     *   RAM) above the 512G boundary.
-     * - HVM could in principle use 3 or 4 depending on how much guest
-     *   physical address space we give it, but this isn't known yet so use 4
-     *   unilaterally.
-     * - Unity maps may require an even higher number.
+     * Choose the number of levels for the IOMMU page tables, taking into
+     * account unity maps.
      */
-    hd->arch.amd.paging_mode = max(amd_iommu_get_paging_mode(
-            is_hvm_domain(d)
-            ? 1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
-            : get_upper_mfn_bound() + 1),
-        amd_iommu_min_paging_mode);
+    hd->arch.amd.paging_mode = max(pgmode, amd_iommu_min_paging_mode);
 
     return 0;
 }
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:48:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:48:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634964.990625 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vSS-00089J-EI; Fri, 17 Nov 2023 09:48:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634964.990625; Fri, 17 Nov 2023 09: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 1r3vSS-00089C-An; Fri, 17 Nov 2023 09:48:16 +0000
Received: by outflank-mailman (input) for mailman id 634964;
 Fri, 17 Nov 2023 09:48: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3vSR-0007p0-69
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:48:15 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d6d9253-852e-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 10:48:14 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-5094cb3a036so2672441e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 01:48:14 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 l17-20020a5d5611000000b0032f7d7ec4adsm1771881wrv.92.2023.11.17.01.48.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 01:48:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d6d9253-852e-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700214493; x=1700819293; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=pbfnLiSboEjj7ZovZYmQgy+lf6RZEwYxMOTQ6veSeok=;
        b=pPK9SBm2mp8lb2PfodqufAhENb6wvlC+6vaY8FZ1qz4hEMhft1b1Ya90ZgXa8V5tU4
         nOp6ToUqrDEIzMbh48/Iu2gE1QSaq/b+4PbqMHHzPVnykA+xWKPhkZ3JgmGxl8p1b+k2
         hMmzuhhRAzZ0C5jYyDChJHZfcHQAZOWpcwEik=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700214493; x=1700819293;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=pbfnLiSboEjj7ZovZYmQgy+lf6RZEwYxMOTQ6veSeok=;
        b=v46mYQsiXJYuzlQzEUNVDB8dpjnuGvfk2FllahL4C5b/HZbsUy4AdZCEoXQIbHu9x+
         gv87R8sPZBBAXI1UbiFqBN6AB3jcJmDQWvJzRl1PHbmNPYGg8mXfvkjCcZVFbrRld6rG
         ycajK4Z4aMKwV91wjhw0ETVA61eP+62aM9Q3IVlCBB/PDE3X1APRnVvuaOdaHqMgLNkY
         4Dfv4U9GSF/h69f4Is8ooH4GSFIDUaUZObj8LgeKWUTK+zH6Wz7YPXnBXXJau75jmITh
         CQK3vIuSwtus7zep2yagMLPaiBIMeZ2yPfh5wlxk0j2pWYh1BrQ6hfXHAIOSye7yBbkg
         JSyQ==
X-Gm-Message-State: AOJu0Ywn0YK9d5OZ5++pdh5d6alDTdWHIQLxZw4ANLYHwXz60rnW5ft1
	jukr4RhFk+KIzzI3Tc9q9SFG9quZiYt2DSkCq5g=
X-Google-Smtp-Source: AGHT+IErDsdGtVszEcMZBEn6fOFlC16pRsXfTnVi9InEOTwzXkIN9XjUoH+lhV4FzSftE2Ubi6zOqg==
X-Received: by 2002:a19:434b:0:b0:507:9ae6:6913 with SMTP id m11-20020a19434b000000b005079ae66913mr11254723lfj.28.1700214493702;
        Fri, 17 Nov 2023 01:48:13 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH 2/3] x86/iommu: move xen_in_range() so it can be made static
Date: Fri, 17 Nov 2023 10:47:48 +0100
Message-ID: <20231117094749.81091-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231117094749.81091-1-roger.pau@citrix.com>
References: <20231117094749.81091-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/include/asm/setup.h    |  2 --
 xen/arch/x86/setup.c                | 49 ----------------------------
 xen/drivers/passthrough/x86/iommu.c | 50 +++++++++++++++++++++++++++++
 3 files changed, 50 insertions(+), 51 deletions(-)

diff --git a/xen/arch/x86/include/asm/setup.h b/xen/arch/x86/include/asm/setup.h
index 9a460e4db8f4..4a1600decf6a 100644
--- a/xen/arch/x86/include/asm/setup.h
+++ b/xen/arch/x86/include/asm/setup.h
@@ -36,8 +36,6 @@ unsigned long initial_images_nrpages(nodeid_t node);
 void discard_initial_images(void);
 void *bootstrap_map(const module_t *mod);
 
-int xen_in_range(unsigned long mfn);
-
 extern uint8_t kbd_shift_flags;
 
 #ifdef NDEBUG
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a3d3f797bb1e..54daff3d4942 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -2080,55 +2080,6 @@ void arch_get_xen_caps(xen_capabilities_info_t *info)
     }
 }
 
-int __hwdom_init xen_in_range(unsigned long mfn)
-{
-    paddr_t start, end;
-    int i;
-
-    enum { region_s3, region_ro, region_rw, region_bss, nr_regions };
-    static struct {
-        paddr_t s, e;
-    } xen_regions[nr_regions] __hwdom_initdata;
-
-    /* initialize first time */
-    if ( !xen_regions[0].s )
-    {
-        /* S3 resume code (and other real mode trampoline code) */
-        xen_regions[region_s3].s = bootsym_phys(trampoline_start);
-        xen_regions[region_s3].e = bootsym_phys(trampoline_end);
-
-        /*
-         * This needs to remain in sync with the uses of the same symbols in
-         * - __start_xen() (above)
-         * - is_xen_fixed_mfn()
-         * - tboot_shutdown()
-         */
-
-        /* hypervisor .text + .rodata */
-        xen_regions[region_ro].s = __pa(&_stext);
-        xen_regions[region_ro].e = __pa(&__2M_rodata_end);
-        /* hypervisor .data + .bss */
-        xen_regions[region_rw].s = __pa(&__2M_rwdata_start);
-        xen_regions[region_rw].e = __pa(&__2M_rwdata_end);
-        if ( efi_boot_mem_unused(&start, &end) )
-        {
-            ASSERT(__pa(start) >= xen_regions[region_rw].s);
-            ASSERT(__pa(end) <= xen_regions[region_rw].e);
-            xen_regions[region_rw].e = __pa(start);
-            xen_regions[region_bss].s = __pa(end);
-            xen_regions[region_bss].e = __pa(&__2M_rwdata_end);
-        }
-    }
-
-    start = (paddr_t)mfn << PAGE_SHIFT;
-    end = start + PAGE_SIZE;
-    for ( i = 0; i < nr_regions; i++ )
-        if ( (start < xen_regions[i].e) && (end > xen_regions[i].s) )
-            return 1;
-
-    return 0;
-}
-
 static int __hwdom_init cf_check io_bitmap_cb(
     unsigned long s, unsigned long e, void *ctx)
 {
diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/x86/iommu.c
index 857dccb6a465..d70cee9fea77 100644
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -13,6 +13,7 @@
  */
 
 #include <xen/cpu.h>
+#include <xen/efi.h>
 #include <xen/sched.h>
 #include <xen/iocap.h>
 #include <xen/iommu.h>
@@ -300,6 +301,55 @@ void iommu_identity_map_teardown(struct domain *d)
     }
 }
 
+static int __hwdom_init xen_in_range(unsigned long mfn)
+{
+    paddr_t start, end;
+    int i;
+
+    enum { region_s3, region_ro, region_rw, region_bss, nr_regions };
+    static struct {
+        paddr_t s, e;
+    } xen_regions[nr_regions] __hwdom_initdata;
+
+    /* initialize first time */
+    if ( !xen_regions[0].s )
+    {
+        /* S3 resume code (and other real mode trampoline code) */
+        xen_regions[region_s3].s = bootsym_phys(trampoline_start);
+        xen_regions[region_s3].e = bootsym_phys(trampoline_end);
+
+        /*
+         * This needs to remain in sync with the uses of the same symbols in
+         * - __start_xen()
+         * - is_xen_fixed_mfn()
+         * - tboot_shutdown()
+         */
+
+        /* hypervisor .text + .rodata */
+        xen_regions[region_ro].s = __pa(&_stext);
+        xen_regions[region_ro].e = __pa(&__2M_rodata_end);
+        /* hypervisor .data + .bss */
+        xen_regions[region_rw].s = __pa(&__2M_rwdata_start);
+        xen_regions[region_rw].e = __pa(&__2M_rwdata_end);
+        if ( efi_boot_mem_unused(&start, &end) )
+        {
+            ASSERT(__pa(start) >= xen_regions[region_rw].s);
+            ASSERT(__pa(end) <= xen_regions[region_rw].e);
+            xen_regions[region_rw].e = __pa(start);
+            xen_regions[region_bss].s = __pa(end);
+            xen_regions[region_bss].e = __pa(&__2M_rwdata_end);
+        }
+    }
+
+    start = (paddr_t)mfn << PAGE_SHIFT;
+    end = start + PAGE_SIZE;
+    for ( i = 0; i < nr_regions; i++ )
+        if ( (start < xen_regions[i].e) && (end > xen_regions[i].s) )
+            return 1;
+
+    return 0;
+}
+
 static unsigned int __hwdom_init hwdom_iommu_map(const struct domain *d,
                                                  unsigned long pfn,
                                                  unsigned long max_pfn)
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:48:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634965.990635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vSV-0008Sk-MR; Fri, 17 Nov 2023 09:48:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634965.990635; Fri, 17 Nov 2023 09:48: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 1r3vSV-0008Sb-J0; Fri, 17 Nov 2023 09:48:19 +0000
Received: by outflank-mailman (input) for mailman id 634965;
 Fri, 17 Nov 2023 09:48: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3vST-0007p0-KV
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:48:17 +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 6ea78262-852e-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 10:48:16 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-407c3adef8eso15443045e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 01:48:16 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 n27-20020a05600c3b9b00b00405959469afsm2140251wms.3.2023.11.17.01.48.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 01:48:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ea78262-852e-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700214495; x=1700819295; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=G0uzIW7esXwONO7eMjXy6VgiWyzem2oujkU/WJcseRA=;
        b=aZAV/MgHtF7xWDL2lR2btRjyhKv2KsF4JBFeGu0QE9VohRRkA9N8lnR9048SiJ3R6V
         Wl+0DqvjOLZAZrSWhI9d4/gDKLs+BEqR/lL85m75TfFjiNA24HRIVtFIbrYKLRWNX5EL
         FIkmyloQ4719j8qd8UMcO9+WXz08p0MsrpNtA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700214495; x=1700819295;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=G0uzIW7esXwONO7eMjXy6VgiWyzem2oujkU/WJcseRA=;
        b=pF6UO0RlIhkhUkCgMrofZ0Y/iLbSvTscjXtDpcczs79CkYizI4IcETC+Iv1cB5A1wB
         A694padRA6t1LEtLAwfP+B/rZ86Elrf5px/lHyWOUnL0sv1HG3uXDMEYYqj+Aqc9TIXU
         TWViYY1XGuxnwB4w9gz+HYlQlk8fJ96JWpG8iWe0FLBc4TpFOdHvdIcumYdKb/Xwrm3s
         NA43Ps65ob+lkif48CArtDiqb+G53Aphb6i4JhwpKBKN759x5OGhnDzv+uDJZADcnpaq
         a8lhWHAG+Wqs1emHUWbMRMvQ8FV9s2KuCScB5It/taVp9Yqwu5YPGTfrqgWTghRJx/1W
         Q4fQ==
X-Gm-Message-State: AOJu0Yyo50WdMOc08AGlsdctZe8XrF2TKU1vY0XLN0vg+Pt8lBbZETFV
	vlbnV088H9NKfwc+SSSYrmQWAsOkH4dFkgB823s=
X-Google-Smtp-Source: AGHT+IGmR6cKgc8EYPAsakfgX5DVJKAwzRszpfSTMBYURWhaclALSaZzr17mYsFCANRIgUFfWHL4yQ==
X-Received: by 2002:a05:600c:4f13:b0:409:6e0e:e948 with SMTP id l19-20020a05600c4f1300b004096e0ee948mr14594620wmq.1.1700214495307;
        Fri, 17 Nov 2023 01:48:15 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH 3/3] x86/iommu: use a rangeset for hwdom setup
Date: Fri, 17 Nov 2023 10:47:49 +0100
Message-ID: <20231117094749.81091-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231117094749.81091-1-roger.pau@citrix.com>
References: <20231117094749.81091-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current loop that iterates from 0 to the maximum RAM address in order to
setup the IOMMU mappings is highly inefficient, and it will get worse as the
amount of RAM increases.  It's also not accounting for any reserved regions
past the last RAM address.

Instead of iterating over memory addresses, iterate over the memory map regions
and use a rangeset in order to keep track of which ranges need to be identity
mapped in the hardware domain physical address space.

On an AMD EPYC 7452 with 512GiB of RAM, the time to execute
arch_iommu_hwdom_init() in nanoseconds is:

x old
+ new
    N           Min           Max        Median           Avg        Stddev
x   5 2.2364154e+10  2.338244e+10 2.2474685e+10 2.2622409e+10 4.2949869e+08
+   5       1025012       1033036       1026188     1028276.2     3623.1194
Difference at 95.0% confidence
	-2.26214e+10 +/- 4.42931e+08
	-99.9955% +/- 9.05152e-05%
	(Student's t, pooled s = 3.03701e+08)

Execution time of arch_iommu_hwdom_init() goes down from ~22s to ~0.001s.

Note there's a change for HVM domains (ie: PVH dom0) that get switched to
create the p2m mappings using map_mmio_regions() instead of
p2m_add_identity_entry(), so that ranges can be mapped with a single function
call if possible.  Note that the interface of map_mmio_regions() doesn't
allow creating read-only mappings, but so far there are no such mappings
created for PVH dom0 in arch_iommu_hwdom_init().

No change intended in the resulting mappings that a hardware domain gets.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/hvm/io.c               |  15 +-
 xen/arch/x86/include/asm/hvm/io.h   |   4 +-
 xen/drivers/passthrough/x86/iommu.c | 355 +++++++++++++++++-----------
 3 files changed, 231 insertions(+), 143 deletions(-)

diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
index d75af83ad01f..7c4b7317b13a 100644
--- a/xen/arch/x86/hvm/io.c
+++ b/xen/arch/x86/hvm/io.c
@@ -364,9 +364,20 @@ static const struct hvm_mmcfg *vpci_mmcfg_find(const struct domain *d,
     return NULL;
 }
 
-bool vpci_is_mmcfg_address(const struct domain *d, paddr_t addr)
+int vpci_subtract_mmcfg(const struct domain *d, struct rangeset *r)
 {
-    return vpci_mmcfg_find(d, addr);
+    const struct hvm_mmcfg *mmcfg;
+
+    list_for_each_entry ( mmcfg, &d->arch.hvm.mmcfg_regions, next )
+    {
+        int rc = rangeset_remove_range(r, PFN_DOWN(mmcfg->addr),
+                                       PFN_DOWN(mmcfg->addr + mmcfg->size - 1));
+
+        if ( rc )
+            return rc;
+    }
+
+    return 0;
 }
 
 static unsigned int vpci_mmcfg_decode_addr(const struct hvm_mmcfg *mmcfg,
diff --git a/xen/arch/x86/include/asm/hvm/io.h b/xen/arch/x86/include/asm/hvm/io.h
index e5225e75ef26..c9d058fd5695 100644
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -153,8 +153,8 @@ int register_vpci_mmcfg_handler(struct domain *d, paddr_t addr,
 /* Destroy tracked MMCFG areas. */
 void destroy_vpci_mmcfg(struct domain *d);
 
-/* Check if an address is between a MMCFG region for a domain. */
-bool vpci_is_mmcfg_address(const struct domain *d, paddr_t addr);
+/* Remove MMCFG regions from a given rangeset. */
+int vpci_subtract_mmcfg(const struct domain *d, struct rangeset *r);
 
 #endif /* __ASM_X86_HVM_IO_H__ */
 
diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/x86/iommu.c
index d70cee9fea77..be2c909f61d8 100644
--- a/xen/drivers/passthrough/x86/iommu.c
+++ b/xen/drivers/passthrough/x86/iommu.c
@@ -301,129 +301,133 @@ void iommu_identity_map_teardown(struct domain *d)
     }
 }
 
-static int __hwdom_init xen_in_range(unsigned long mfn)
+static int __hwdom_init remove_xen_ranges(struct rangeset *r)
 {
     paddr_t start, end;
-    int i;
-
-    enum { region_s3, region_ro, region_rw, region_bss, nr_regions };
-    static struct {
-        paddr_t s, e;
-    } xen_regions[nr_regions] __hwdom_initdata;
+    int rc;
 
-    /* initialize first time */
-    if ( !xen_regions[0].s )
-    {
-        /* S3 resume code (and other real mode trampoline code) */
-        xen_regions[region_s3].s = bootsym_phys(trampoline_start);
-        xen_regions[region_s3].e = bootsym_phys(trampoline_end);
+    /* S3 resume code (and other real mode trampoline code) */
+    rc = rangeset_remove_range(r, PFN_DOWN(bootsym_phys(trampoline_start)),
+                               PFN_DOWN(bootsym_phys(trampoline_end)));
+    if ( rc )
+        return rc;
 
-        /*
-         * This needs to remain in sync with the uses of the same symbols in
-         * - __start_xen()
-         * - is_xen_fixed_mfn()
-         * - tboot_shutdown()
-         */
+    /*
+     * This needs to remain in sync with the uses of the same symbols in
+     * - __start_xen()
+     * - is_xen_fixed_mfn()
+     * - tboot_shutdown()
+     */
+    /* hypervisor .text + .rodata */
+    rc = rangeset_remove_range(r, PFN_DOWN(__pa(&_stext)),
+                               PFN_DOWN(__pa(&__2M_rodata_end)));
+    if ( rc )
+        return rc;
 
-        /* hypervisor .text + .rodata */
-        xen_regions[region_ro].s = __pa(&_stext);
-        xen_regions[region_ro].e = __pa(&__2M_rodata_end);
-        /* hypervisor .data + .bss */
-        xen_regions[region_rw].s = __pa(&__2M_rwdata_start);
-        xen_regions[region_rw].e = __pa(&__2M_rwdata_end);
-        if ( efi_boot_mem_unused(&start, &end) )
-        {
-            ASSERT(__pa(start) >= xen_regions[region_rw].s);
-            ASSERT(__pa(end) <= xen_regions[region_rw].e);
-            xen_regions[region_rw].e = __pa(start);
-            xen_regions[region_bss].s = __pa(end);
-            xen_regions[region_bss].e = __pa(&__2M_rwdata_end);
-        }
+    /* hypervisor .data + .bss */
+    if ( efi_boot_mem_unused(&start, &end) )
+    {
+        ASSERT(__pa(start) >= __pa(&__2M_rwdata_start));
+        rc = rangeset_remove_range(r, PFN_DOWN(__pa(&__2M_rwdata_start)),
+                                   PFN_DOWN(__pa(start)));
+        if ( rc )
+            return rc;
+        ASSERT(__pa(end) <= __pa(&__2M_rwdata_end));
+        rc = rangeset_remove_range(r, PFN_DOWN(__pa(end)),
+                                   PFN_DOWN(__pa(&__2M_rwdata_end)));
+        if ( rc )
+            return rc;
+    }
+    else
+    {
+        rc = rangeset_remove_range(r, PFN_DOWN(__pa(&__2M_rwdata_start)),
+                                   PFN_DOWN(__pa(&__2M_rwdata_end)));
+        if ( rc )
+            return rc;
     }
-
-    start = (paddr_t)mfn << PAGE_SHIFT;
-    end = start + PAGE_SIZE;
-    for ( i = 0; i < nr_regions; i++ )
-        if ( (start < xen_regions[i].e) && (end > xen_regions[i].s) )
-            return 1;
 
     return 0;
 }
 
-static unsigned int __hwdom_init hwdom_iommu_map(const struct domain *d,
-                                                 unsigned long pfn,
-                                                 unsigned long max_pfn)
+static int __hwdom_init map_subtract(unsigned long s, unsigned long e,
+                                     void *data)
 {
-    mfn_t mfn = _mfn(pfn);
-    unsigned int i, type, perms = IOMMUF_readable | IOMMUF_writable;
+    struct rangeset *map = data;
 
-    /*
-     * Set up 1:1 mapping for dom0. Default to include only conventional RAM
-     * areas and let RMRRs include needed reserved regions. When set, the
-     * inclusive mapping additionally maps in every pfn up to 4GB except those
-     * that fall in unusable ranges for PV Dom0.
-     */
-    if ( (pfn > max_pfn && !mfn_valid(mfn)) || xen_in_range(pfn) )
-        return 0;
+    return rangeset_remove_range(map, s, e);
+}
 
-    switch ( type = page_get_ram_type(mfn) )
-    {
-    case RAM_TYPE_UNUSABLE:
-        return 0;
+struct map_data {
+    struct domain *d;
+    unsigned int flush_flags;
+    bool ro;
+};
 
-    case RAM_TYPE_CONVENTIONAL:
-        if ( iommu_hwdom_strict )
-            return 0;
-        break;
+static int __hwdom_init identity_map(unsigned long s, unsigned long e,
+                                     void *data)
+{
+    struct map_data *info = data;
+    struct domain *d = info->d;
+    long rc;
 
-    default:
-        if ( type & RAM_TYPE_RESERVED )
-        {
-            if ( !iommu_hwdom_inclusive && !iommu_hwdom_reserved )
-                perms = 0;
-        }
-        else if ( is_hvm_domain(d) )
-            return 0;
-        else if ( !iommu_hwdom_inclusive || pfn > max_pfn )
-            perms = 0;
-    }
+    if ( iommu_verbose )
+        printk(XENLOG_INFO " [%010lx, %010lx] R%c\n",
+               s, e, info->ro ? 'O' : 'W');
 
-    /* Check that it doesn't overlap with the Interrupt Address Range. */
-    if ( pfn >= 0xfee00 && pfn <= 0xfeeff )
-        return 0;
-    /* ... or the IO-APIC */
-    if ( has_vioapic(d) )
+    if ( paging_mode_translate(d) )
     {
-        for ( i = 0; i < d->arch.hvm.nr_vioapics; i++ )
-            if ( pfn == PFN_DOWN(domain_vioapic(d, i)->base_address) )
-                return 0;
+        if ( info->ro )
+        {
+            ASSERT_UNREACHABLE();
+            return 0;
+        }
+        while ( (rc = map_mmio_regions(d, _gfn(s), e - s + 1, _mfn(s))) > 0 )
+        {
+            s += rc;
+            process_pending_softirqs();
+        }
     }
-    else if ( is_pv_domain(d) )
+    else
     {
-        /*
-         * Be consistent with CPU mappings: Dom0 is permitted to establish r/o
-         * ones there (also for e.g. HPET in certain cases), so it should also
-         * have such established for IOMMUs.
-         */
-        if ( iomem_access_permitted(d, pfn, pfn) &&
-             rangeset_contains_singleton(mmio_ro_ranges, pfn) )
-            perms = IOMMUF_readable;
+        const unsigned int perms = IOMMUF_readable | IOMMUF_preempt |
+                                   (info->ro ? 0 : IOMMUF_writable);
+
+        if ( info->ro && !iomem_access_permitted(d, s, e) )
+        {
+            /*
+             * Should be more fine grained in order to not map the forbidden
+             * frame instead of rejecting the region as a whole, but it's only
+             * for read-only MMIO regions, which are very limited.
+             */
+            printk(XENLOG_DEBUG
+                   "IOMMU read-only mapping of region [%lx, %lx] forbidden\n",
+                   s, e);
+            return 0;
+        }
+        while ( (rc = iommu_map(d, _dfn(s), _mfn(s), e - s + 1,
+                                perms, &info->flush_flags)) > 0 )
+        {
+            s += rc;
+            process_pending_softirqs();
+        }
     }
-    /*
-     * ... or the PCIe MCFG regions.
-     * TODO: runtime added MMCFG regions are not checked to make sure they
-     * don't overlap with already mapped regions, thus preventing trapping.
-     */
-    if ( has_vpci(d) && vpci_is_mmcfg_address(d, pfn_to_paddr(pfn)) )
-        return 0;
+    ASSERT(rc <= 0);
+    if ( rc )
+        printk(XENLOG_WARNING
+               "IOMMU identity mapping of [%lx, %lx] failed: %ld\n",
+               s, e, rc);
 
-    return perms;
+    /* Ignore errors and attempt to map the remaining regions. */
+    return 0;
 }
 
 void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
 {
-    unsigned long i, top, max_pfn, start, count;
-    unsigned int flush_flags = 0, start_perms = 0;
+    const unsigned long max_pfn = PFN_DOWN(GB(4)) - 1;
+    unsigned int i;
+    struct rangeset *map;
+    struct map_data map_data = { .d = d };
+    int rc;
 
     BUG_ON(!is_hardware_domain(d));
 
@@ -447,62 +451,135 @@ void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
     if ( iommu_hwdom_passthrough )
         return;
 
-    max_pfn = (GB(4) >> PAGE_SHIFT) - 1;
-    top = max(max_pdx, pfn_to_pdx(max_pfn) + 1);
+    map = rangeset_new(NULL, NULL, 0);
+    if ( !map )
+        panic("IOMMU initialization failed unable to allocate rangeset\n");
+
+    if ( iommu_hwdom_inclusive )
+    {
+        /* Add the whole range below 4GB, UNUSABLE regions will be removed. */
+        rc = rangeset_add_range(map, 0, max_pfn);
+        if ( rc )
+            panic("IOMMU inclusive mappings can't be added: %d\n",
+                  rc);
+    }
 
-    for ( i = 0, start = 0, count = 0; i < top; )
+    for ( i = 0; i < e820.nr_map; i++ )
     {
-        unsigned long pfn = pdx_to_pfn(i);
-        unsigned int perms = hwdom_iommu_map(d, pfn, max_pfn);
+        struct e820entry entry = e820.map[i];
 
-        if ( !perms )
-            /* nothing */;
-        else if ( paging_mode_translate(d) )
+        switch ( entry.type )
         {
-            int rc;
+        case E820_UNUSABLE:
+            if ( !iommu_hwdom_inclusive || PFN_DOWN(entry.addr) > max_pfn )
+                continue;
 
-            rc = p2m_add_identity_entry(d, pfn,
-                                        perms & IOMMUF_writable ? p2m_access_rw
-                                                                : p2m_access_r,
-                                        0);
+            rc = rangeset_remove_range(map, PFN_DOWN(entry.addr),
+                                       PFN_DOWN(entry.addr + entry.size - 1));
             if ( rc )
-                printk(XENLOG_WARNING
-                       "%pd: identity mapping of %lx failed: %d\n",
-                       d, pfn, rc);
+                panic("IOMMU failed to remove unusable memory: %d\n",
+                      rc);
+            continue;
+
+        case E820_RESERVED:
+            if ( !iommu_hwdom_inclusive && !iommu_hwdom_reserved )
+                continue;
+            break;
+
+        case E820_RAM:
+            if ( iommu_hwdom_strict )
+                continue;
+            break;
+
+        default:
+            if ( !iommu_hwdom_inclusive || PFN_DOWN(entry.addr) >= max_pfn )
+                continue;
+            entry.size = pfn_to_paddr(max_pfn) - 1 - entry.addr;
+            break;
         }
-        else if ( pfn != start + count || perms != start_perms )
-        {
-            long rc;
 
-        commit:
-            while ( (rc = iommu_map(d, _dfn(start), _mfn(start), count,
-                                    start_perms | IOMMUF_preempt,
-                                    &flush_flags)) > 0 )
-            {
-                start += rc;
-                count -= rc;
-                process_pending_softirqs();
-            }
+        if ( iommu_hwdom_inclusive &&
+             PFN_DOWN(entry.addr + entry.size - 1) <= max_pfn )
+            /*
+             * Any range below 4GB is already in the rangeset if using inclusive
+             * mode.
+             */
+            continue;
+
+        rc = rangeset_add_range(map, PFN_DOWN(entry.addr),
+                                PFN_DOWN(entry.addr + entry.size - 1));
+        if ( rc )
+            panic("IOMMU failed to add identity range: %d\n", rc);
+    }
+
+    /* Remove any areas in-use by Xen. */
+    rc = remove_xen_ranges(map);
+    if ( rc )
+        panic("IOMMU failed to remove Xen ranges: %d\n", rc);
+
+    /* Remove any overlap with the Interrupt Address Range. */
+    rc = rangeset_remove_range(map, 0xfee00, 0xfeeff);
+    if ( rc )
+        panic("IOMMU failed to remove Interrupt Address Range: %d\n",
+              rc);
+
+    /* If emulating IO-APIC(s) make sure the base address is unmapped. */
+    if ( has_vioapic(d) )
+    {
+        for ( i = 0; i < d->arch.hvm.nr_vioapics; i++ )
+        {
+            rc = rangeset_remove_singleton(map,
+                PFN_DOWN(domain_vioapic(d, i)->base_address));
             if ( rc )
-                printk(XENLOG_WARNING
-                       "%pd: IOMMU identity mapping of [%lx,%lx) failed: %ld\n",
-                       d, start, start + count, rc);
-            start = pfn;
-            count = 1;
-            start_perms = perms;
+                panic("IOMMU failed to remove IO-APIC: %d\n",
+                      rc);
         }
-        else
-            ++count;
+    }
 
-        if ( !(++i & 0xfffff) )
-            process_pending_softirqs();
+    if ( is_pv_domain(d) )
+    {
+        /*
+         * Be consistent with CPU mappings: Dom0 is permitted to establish r/o
+         * ones there (also for e.g. HPET in certain cases), so it should also
+         * have such established for IOMMUs.
+         */
+        rc = rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL, map_subtract, map);
+        if ( rc )
+            panic("IOMMU failed to remove read-only regions: %d\n",
+                  rc);
+    }
+
+    if ( has_vpci(d) )
+    {
+        /*
+         * TODO: runtime added MMCFG regions are not checked to make sure they
+         * don't overlap with already mapped regions, thus preventing trapping.
+         */
+        rc = vpci_subtract_mmcfg(d, map);
+        if ( rc )
+            panic("IOMMU unable to remove MMCFG areas: %d\n", rc);
+    }
 
-        if ( i == top && count )
-            goto commit;
+    if ( iommu_verbose )
+        printk(XENLOG_INFO "d%u: identity mappings for IOMMU:\n",
+               d->domain_id);
+
+    rc = rangeset_report_ranges(map, 0, ~0UL, identity_map, &map_data);
+    if ( rc )
+        panic("IOMMU unable to create mappings: %d\n", rc);
+    if ( is_pv_domain(d) )
+    {
+        map_data.ro = true;
+        rc = rangeset_report_ranges(mmio_ro_ranges, 0, ~0UL, identity_map,
+                                    &map_data);
+        if ( rc )
+            panic("IOMMU unable to create read-only mappings: %d\n", rc);
     }
 
+    rangeset_destroy(map);
+
     /* Use if to avoid compiler warning */
-    if ( iommu_iotlb_flush_all(d, flush_flags) )
+    if ( iommu_iotlb_flush_all(d, map_data.flush_flags) )
         return;
 }
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:55:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:55:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634982.990644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vZQ-0002L9-DC; Fri, 17 Nov 2023 09:55:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634982.990644; Fri, 17 Nov 2023 09: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 1r3vZQ-0002L2-Aj; Fri, 17 Nov 2023 09:55:28 +0000
Received: by outflank-mailman (input) for mailman id 634982;
 Fri, 17 Nov 2023 09:55: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=2+Qn=G6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3vZP-0002Kw-9C
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:55:27 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e6151db-852f-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 10:55:26 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 5646D4EE0744;
 Fri, 17 Nov 2023 10:55:25 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e6151db-852f-11ee-98dc-6d05b1d4d9a1
MIME-Version: 1.0
Date: Fri, 17 Nov 2023 10:55:25 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Simone Ballarin
 <simone.ballarin@bugseng.com>, Doug Goldstein <cardoe@cardoe.com>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v4 1/8] xen/include: add macro
 ISOLATE_LOW_BIT
In-Reply-To: <b5277391-71bb-42b6-82e4-635dd1361ad3@suse.com>
References: <cover.1698410970.git.nicola.vetrini@bugseng.com>
 <dca236bf9199f596bafb35eb48d81adc280d8cca.1698410970.git.nicola.vetrini@bugseng.com>
 <f88edc35-6b1b-0136-aa1f-6429652c4016@suse.com>
 <alpine.DEB.2.22.394.2310301536390.1625118@ubuntu-linux-20-04-desktop>
 <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@suse.com>
 <817fab34432c854ce585aba80db77f7c@bugseng.com>
 <8b4e0da82930375b2a95387a9031c73f@bugseng.com>
 <1178b79c-d6a3-a46c-5556-3fb5964dc051@suse.com>
 <392566d1-109b-413c-b904-0e4cb4007263@suse.com>
 <6b6f051130b724ee6a813235e049354c@bugseng.com>
 <7cbf6f0f-d5b1-44e2-9a0e-a9d7d353eb6b@suse.com>
 <alpine.DEB.2.22.394.2311161635200.773207@ubuntu-linux-20-04-desktop>
 <b5277391-71bb-42b6-82e4-635dd1361ad3@suse.com>
Message-ID: <8a1313b3ab5ba6dd556cf37409e3b703@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

>>>>> While I've committed this patch (hoping that I got the necessary
>>>>> context
>>>>> adjustment right for the
>>>>> automation/eclair_analysis/ECLAIR/deviations.ecl
>>>>> change), I'd like to come back to this before going further with 
>>>>> users
>>>>> of
>>>>> the new macro: I still think we ought to try to get to the single
>>>>> evaluation wherever possible. The macro would then be used only in
>>>>> cases
>>>>> where the alternative construct (perhaps an isolate_lsb() macro, 
>>>>> living
>>>>> perhaps in xen/bitops.h) cannot be used. ISOLATE_LSB() would then 
>>>>> want
>>>>> to
>>>>> gain a comment directing people to the "better" sibling. Thoughts?
>>>> 
>>>> Having the users in place would help me estimate the remaining work 
>>>> that
>>>> needs to be done on this rule and see if my local counts match up 
>>>> with
>>>> the counts in staging.
>>> 
>>> By "having the users in place", you mean you want other patches in 
>>> this
>>> and the dependent series to be committed as-is (except for the name
>>> change)? That's what I'd like to avoid, as it would mean touching all
>>> those use sites again where the proposed isolate_lsb() could be used
>>> instead. I'd rather see all use sites be put into their final shape
>>> right away.
>> 
>> This request is coming a bit late and also after all the patches have
>> been reviewed already. I for one am not looking forward to review them
>> again.
>> 
>> That said, if you could be more specified maybe it could become
>> actionable:
>> 
>> - do you have a pseudo code implementation of the "better" macro you
>>   would like to propose?
> 
> May I remind you that I made this request (including a draft 
> implementation)
> before already, and Nicola then merely found that the evaluate-once 
> form
> simply cannot be used everywhere? Anybody could have thought of the 
> option
> of "splitting" the macro. After all I hope that there is no 
> disagreement on
> macro arguments better being evaluated just once, whenever possible.
> 
>> - do you have an list of call sites you would like to be changed to 
>> use
>>   the "better" macro?
> 
> No, I don't have a list. But the pattern is pretty clear: The "better" 
> form
> ought to be used wherever it actually can be used.
> 
>> Also, you might remember past discussions about time spent making
>> changes yourself vs. others doing the same. This is one of those cases
>> that it would be faster for you to make the change and send a patch 
>> than
>> explaining someone else how to do it, then review the result (and
>> review it again as it probably won't be exactly as you asked the first
>> time.)
>> 
>> If you don't want the call sites to be changes twice, may I suggest 
>> you
>> provide a patch on top of Nicola's series, I review and ack your 
>> patch,
>> and Nicola or I rebase & resend the series so that the call sites are
>> only changes once as you would like? I think that's going to be way
>> faster.
> 
> I'll see if I can find time to do so. I don't normally work on top of
> other people's uncommitted patches, though ... So I may also choose to 
> go
> a slightly different route. (You realize though that all still pending
> patches using the new macro need touching again anyway, don't you?)
> 
> Jan

Then perhaps it's best if I give it a try at doing the single evaluation 
macro, so that I can make a series modifying the call sites only once on 
top of that and send everything in one go. Before doing that, though, 
I'll make a thread where various aspects that are not so clear yet can 
be discussed, so that we can devise a robust solution (also to dig this 
out of this deep thread).

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:56:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:56:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634988.990655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vaY-0003DI-Nt; Fri, 17 Nov 2023 09:56:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634988.990655; Fri, 17 Nov 2023 09:56: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 1r3vaY-0003DB-LF; Fri, 17 Nov 2023 09:56:38 +0000
Received: by outflank-mailman (input) for mailman id 634988;
 Fri, 17 Nov 2023 09:56: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=Shlr=G6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3vaY-0003CJ-0y
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:56:38 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 980688a3-852f-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 10:56:35 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8693.eurprd04.prod.outlook.com (2603:10a6:10:2dc::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.11; Fri, 17 Nov
 2023 09:56:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.010; Fri, 17 Nov 2023
 09:56: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: 980688a3-852f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V2DzPhgGb2FBcJh/CvV8ZooBVVhf3C3VTlJGA+1wnZsmy5TwABjW1qyjNwqhFha3sz6MpTPViHdCxLOdY7NxPfby4CHsPHdzPA8n0dnlV1wxWmceBqOYHiaQ19x+k2YSLZEJ0vo4TQ0Vgmd+DAbp/mzOs1D168SLTVQvITD3GKXUZJYbpe/lrxO/vS3XNZ9l/f6tZkj/JJZii9CNBBmHH33aJSi4BmqrDpjuQaDSy0foi6hF/LTJYUqK1TfgRTQuhrIok+YW3vJ1wf9xuNb0Ocg/04ufVcUShGFOHoXy/pBoFgvOFCUYG8dLRb/KWjVTzFJr2wPVWWj5VTMK5GblqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kmq16qRxROMz5LoDpnfjln4AJ+XXkK0MZV34ir3+kkk=;
 b=hY76HJkK2pr8Aean0d3tAsGMxBUgOlM6/Co93QLYQqkt974Hi+XFg1+Yk1QbZQ+qthfq5tacJNsaAtrxVbOCJ0D51LWhdxgj23T5zlMyA7o9H0YIkk2eE1E9gV3+TBViW6SiPBwRBljAPwD0YBBjoC9fsNlWKcnRX2avevvkGQeDRjecVQVxVqVtctYfqjHd67moR8ivhX7Sv8bsz38Wv3NndiE/E57WElWLSmLRjYeg52Z/B468qQ6eiqxSTAS3tyZoAH/vTdl/sGOuoP581C10KDiFXj6uCfSBdYx3SLHuovPi3uaA3o/macY2TiGEJz+E8lYJJ2/ux5RbIUNzMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kmq16qRxROMz5LoDpnfjln4AJ+XXkK0MZV34ir3+kkk=;
 b=1UoDOzH/5NRj/9Z27U+3HAIGqJ760NfdeZqNffIlaSP8c66gghem2RiwuiZ8WpCE0pXGo2PzkXe5yS2dpD5QbGIKNQYmKb1gh0syf/+xNpJfRGtqhqXMieMvEvlsaat1UgGmiJlvdI5BLEZfaNdJz47bj/F1fArfd+H1yGXkyvel9QdFivLd5PBZ0utY1ujPa0OuzVh6Va32XnV7Rze/ei+bpmEb5FbiuUi5yPERM1hf0CeS9RXXTfZixwSLjdyiD0iJ8TSHdRtZ85nj5wCDzYV3IfbEf0PusETC5WQXYQGnEQETdq716KUmfAAxJeqL6tBTuWthiYIDtxbg34fMtQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2bd9028d-bd3d-435f-8788-38f3460ea188@suse.com>
Date: Fri, 17 Nov 2023 10:56:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Content-Language: en-US
To: James Dingwall <james@dingwall.me.uk>
Cc: James Dingwall <james-xen@dingwall.me.uk>,
 xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
 <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
 <ZVcv7259slJF4wBh@dingwall.me.uk>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVcv7259slJF4wBh@dingwall.me.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0328.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:eb::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8693:EE_
X-MS-Office365-Filtering-Correlation-Id: 7881ba5c-50f9-431b-15de-08dbe7537ad9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9CBxdPIHRIkNml8yQW1BBv5RKGMPtR81gn1N7V0itGFbeIAVa0w1opboa4kAQbACilLSTWvWr6emFRpt9IBvIUKL6u9PXSeql4zCSwEQlGDkXQXch2A9yt9YfNOVexXXXAwOLOcrJzkugFuihKqL1fMwBSdhMmIvZUpXKITL1Ejs9nd9M4q4Kotvd9wQ5G1TPpXOeGPoJk3Fsxuymx6IQ7R1y1yPAUvfzRxhkRF25w06DbT1bhY6Ve0mO7GWc02fN/sQX+X2g0TYX1mlbIXJNUftMy2I5eTY9lRemHqcKERkEFrBrLF06y+MyBSYZ6xPZCkTK1ilJUt8gDuBWLyaoP6O87zmclL7xIIjG2eMB3qhl/CI7iHA+xdeFbuJpE9AF2TbgDPrT5js/TF6/RnoxJckti/1hiThCad49IMNEG0y85g22MVkjShWD2SpyQEqG9Ja5KHZBpiwinTN32s2Yhia6XNy9ZrjGt0Fs/jjHZCy9U2j7olx70+IrC8jCKWqE9hR8Ku0vtwsrLDIezDTlKoEj9LfnFlC97gZeRs6y7T7Hi1ieKdmBdEfJIulI1bFZM6ILms2pamI6SDAtxby7ImeYld6cAkpBo14nq+yFfp5sVhPO9YkyqrX28kG46E2fO0u5V5HV8k6Nx1G20Q3dQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(136003)(346002)(376002)(396003)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66476007)(66946007)(86362001)(66556008)(54906003)(316002)(6916009)(31696002)(38100700002)(26005)(8936002)(36756003)(8676002)(2906002)(5660300002)(4326008)(83380400001)(6486002)(966005)(6512007)(53546011)(31686004)(6506007)(478600001)(41300700001)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T1NXeWN1MEdrbHVCUjIybUJiVUFiUXdubUl4R2hId2xVWDFqUkVpRkVSUjFN?=
 =?utf-8?B?RGFIbjdkKzlCei82Qm5yMGNkb1J5NGdlZThQbTc5eVJ5OTlTK1F2YTY0VERP?=
 =?utf-8?B?MG9JZnhlNDBpaktueFJZM0VhVC9QQ0hIQUdHTWt3YW5ES3FLR1gvd2d4bC9u?=
 =?utf-8?B?Qlh1RUZEbGZXQUdaZGU3VzFKaEx2Rlljc2NBSUxaQTc2RkFlTzRGKy9oTDVt?=
 =?utf-8?B?bnlhSWpCQ3lUMndVV0RGK25qMVVHUndMK0d2VkVBWWJISlhKN3JtWVhuZU1Z?=
 =?utf-8?B?SnNEdWhyZnBPNy8vb3hGUzB2ZXJvNUIrY1N3cWR5eG1oZktTNDBKVEV2TXVC?=
 =?utf-8?B?TDFuQ2hKTUxOUHNWMWdEcEhOUHoycWZOQkJvTUw3NUJkajZqa3B1a1hnVGNs?=
 =?utf-8?B?a2pQTG5uV1BLZ1QyMmlDQXR1MGdYamlYK2wwdVlCdzVWaHhVMEJqcy9CQS9y?=
 =?utf-8?B?YytDVVNHWHF6cUlUUlYyZEQrNlljZ1d2a20weXhVRGFWc1JHa2dUcys3SG1S?=
 =?utf-8?B?TGRpRFpqcGsyakxGRkp2dXozNE4yUmdTZ3lqU1dlUHNUYnY4NnZYWFpML2Zl?=
 =?utf-8?B?M21oU3QzU0txUzhET1pVTmQ2UHpXTE81ZXNnRzhidEpySk1RWnpBS3FnamxK?=
 =?utf-8?B?cmVQUVFDN0xzQ2FzdFdUbWhBTjk5R0NmTnZhTzY0MkJSNWN5U1lYNVZKMUVp?=
 =?utf-8?B?S1ArQnRHRUl0UVRDdmhoMGU2SnpBQVNkSzV6UDBoK0VkekNjMHBIMUxvVUQx?=
 =?utf-8?B?a1F2QUdON0tzY3ZQU2doSFF4c01ZQS9wekN6Ym45THdNbm9sQ1NERCt2aHNk?=
 =?utf-8?B?N1J1TXB6dFZ0UjB1ZTRudkpHeFNia3lMSlI4d2ZWK2UrQjN1M3FFcGlBNTkw?=
 =?utf-8?B?VC9DUlo4Nk1nY2U5Mk1ENmZwMmdpbVdYN09Na281eTRkakdWOHFPOTViWStu?=
 =?utf-8?B?N3ZEMVhzM2NPRzhrNjBWSllHcDBwdVF5dGo4V05LMzJzZ295bW5CM1pPSmx6?=
 =?utf-8?B?bkxmZFp6MmhBRUc1b2ttQXRzNnI2b3YxSVpUK3h2SVR2c2ljMFhSNTI3eEtz?=
 =?utf-8?B?aHJpamhvTlJhTnAzR2t3VGwzL3gvY1FJSjFnL1NMbnNPRXVva3hYT1hzZlNB?=
 =?utf-8?B?Y2liTVVVOG1IUDZZMVdPU05BRmhUbFVmbFRZQXp5ckp4eHpzOGZhVUpMVUhF?=
 =?utf-8?B?YlplNVJRY2dCUW1HUGZPSVRWeFNzVUVCcGJ6QkgvNXZiU3hTRDdVN2dRMlRW?=
 =?utf-8?B?ZDA4dDZLSVU1Z3lTMnpNR3JoUGYxWitKMHdKNUFoWDZPTy91U1lES1ViN0Iv?=
 =?utf-8?B?c2M5WmZxM2cwVWpXNWUyTi96NnBsNWFDZEI4RGZSSm0zWk94OXowSlkvSEZK?=
 =?utf-8?B?WEx3ZjFNYUYrNWFWbnVaTlJxOEIzaDFRSmdTV0JaaHlyTVU5UFloY1c1YzBq?=
 =?utf-8?B?OXdCMHNQM0Vidks0Zm10VCsvb3dCeUtjbnJWUVBmTk1lNEpLMUFkQmZnUmhE?=
 =?utf-8?B?SS83OVpNRXNIdGtzalBxd0dxQWFrRHk2aVV1YW42VWphSG5sT2NWb1JWMFhk?=
 =?utf-8?B?QUd1bWppN2J3dlRjSnlhNTJ2Qk1CYjBNVU9nc2dKb0FCUzdIL2FUNE9lSC9N?=
 =?utf-8?B?eWw2dklPZUZENEd2OEpjejJzdnJVV2dDWnBpSmdkelE3Y1hDRHhjYS93RG5O?=
 =?utf-8?B?ZXEzTU5OaGxMZzBHWUI2WlV0RDhhcXh0MWdrMUU3MnNDVEg3Z21XTW9wOTRV?=
 =?utf-8?B?N2E5WmJnUWxEK1dTSjI3K1N1S0JFNkx1ZFExWHlYdm5veDdKZGpHVU81cklP?=
 =?utf-8?B?ck5wMVF3cXY0bEMrRU9lWS9ET0pEUDFpY2dJUWRiVHlqUk9IT3FzT0NJMGd6?=
 =?utf-8?B?WWFvTEZ0Vm9obUxuWTVQU1drNTBVY0lRRVdDc2tza3p4MFBDQlpobXZ2Rk9G?=
 =?utf-8?B?NnlwY25NNlk3UDJwWXBpY0R1ZmZnUzBUSWJJakRMY3dLSWJlR3oyeHE2OVVC?=
 =?utf-8?B?bHNxV0ZuMXhMZVFSUXAwSU5PWkhOVEM1S1hsNzZTMmMwYk45STczekJRdlBR?=
 =?utf-8?B?a2oxOGVySUg1aGRrRVRpSWdzdGQyd1k1dUIrdGdXd3g3U0FrNkdVTlF0MjZL?=
 =?utf-8?Q?kswoYwSpwWWEJzEMO6ZnvMoPL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7881ba5c-50f9-431b-15de-08dbe7537ad9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 09:56:33.3355
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4sbumBaidO0k8ES6aO9LN0E//CkUihC+Gb8gNgqQ16UDeE4dMOSzvtU+lFJEywYwedsMy67hBL8bGqw7rg1B3g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8693

On 17.11.2023 10:18, James Dingwall wrote:
> On Thu, Nov 16, 2023 at 04:32:47PM +0000, Andrew Cooper wrote:
>> On 16/11/2023 4:15 pm, James Dingwall wrote:
>>> Hi,
>>>
>>> Per the msr_relaxed documentation:
>>>
>>>    "If using this option is necessary to fix an issue, please report a bug."
>>>
>>> After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
>>> started experiencing a BSOD at boot with one of our Windows guests.  We found
>>> that enabling `msr_relaxed = 1` in the guest configuration has resolved the
>>> problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
>>> the following messages were caught as the BSOD happened:
>>>
>>> (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
>>> (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
>>> (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
>>>
>>> I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
>>> series from last month:
>>>
>>> https://patchwork.kernel.org/project/xen-devel/list/?series=796550
>>>
>>> Picking out just a small part of that fixes the problem for us. Although the
>>> the patch is against 4.15.5 I think it would be relevant to more recent
>>> releases too.
>>
>> Which version of Windows, and what hardware?
>>
>> The Viridian Crash isn't about the RDMSR itself - it's presumably
>> collateral damage shortly thereafter.
>>
>> Does filling in 0 for that MSR also resolve the issue?  It's model
>> specific and we absolutely cannot pass it through from real hardware
>> like that.
>>
> 
> Hi Andrew,
> 
> Thanks for your response.  The guest is running Windows 10 and the crash
> happens in a proprietary hardware driver.  A little bit of knowledge as
> they say was enough to stop the crash but I don't understand the impact
> of what I've actually done...
> 
> To rework the patch I'd need a bit of guidance, if I understand your
> suggestion I set the MSR to 0 with this change in emul-priv-op.c:

For the purpose of the experiment suggested by Andrew ...

> diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
> index ed97b1d6fcc..66f5e417df6 100644
> --- a/xen/arch/x86/pv/emul-priv-op.c
> +++ b/xen/arch/x86/pv/emul-priv-op.c
> @@ -976,6 +976,10 @@ static int read_msr(unsigned int reg, uint64_t *val,
>          *val = 0;
>          return X86EMUL_OKAY;
>  
> +    case MSR_TEMPERATURE_TARGET:
> +        *val = 0;
> +        return X86EMUL_OKAY;
> +
>      case MSR_P6_PERFCTR(0) ... MSR_P6_PERFCTR(7):
>      case MSR_P6_EVNTSEL(0) ... MSR_P6_EVNTSEL(3):
>      case MSR_CORE_PERF_FIXED_CTR0 ... MSR_CORE_PERF_FIXED_CTR2:

... you wouldn't need this (affects PV domains only), and ...

> and this in vmx.c:
> 
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 54023a92587..bbf37b7f272 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -3259,6 +3259,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
>          if ( !nvmx_msr_read_intercept(msr, msr_content) )
>              goto gp_fault;
>          break;
> +
> +    case MSR_TEMPERATURE_TARGET:
> +        *msr_content = 0;
> +        break;
> +
>      case MSR_IA32_MISC_ENABLE:
>          rdmsrl(MSR_IA32_MISC_ENABLE, *msr_content);
>          /* Debug Trace Store is not supported. */

... indeed this ought to do. An eventual real patch may want to look
different, though.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 09:58:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 09:58:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634993.990665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vcd-0004UV-4o; Fri, 17 Nov 2023 09:58:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634993.990665; Fri, 17 Nov 2023 09: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 1r3vcd-0004UO-23; Fri, 17 Nov 2023 09:58:47 +0000
Received: by outflank-mailman (input) for mailman id 634993;
 Fri, 17 Nov 2023 09: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3vcb-0004UA-DB
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 09:58:45 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4dc4921-852f-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 10:58:44 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2c5210a1515so23761971fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 01:58:44 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 t1-20020a2e2d01000000b002bce77e4ddfsm153677ljt.97.2023.11.17.01.58.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 01:58:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e4dc4921-852f-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700215123; x=1700819923; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=tL/0MeBckHihb8R5f6rYh+uiemrcgAOHpBmk3gavQXY=;
        b=nfVNBAXIN1dgFeaXZRLoCntwvVxTPEDvMlj/ic0EoomtHBP8X/5xYJa8Q0DX4qtto8
         1oXai+4b135cIbNz+t06RnAHR7Yq8x6wqUNBWybm2/dHlKVkEyupUsHVeQnXSVKondAt
         qI260SNxjdb8iiQf2yHPgMU09vAh3aid5aEyFDW3ZwlvHdd27dnNacX3OEKdUyvnzYJl
         CqM7ftNqlf+5NUCWtT3EN2Akjkssk1g6OxjBJrcMwBWZ8bVYZePYT6Vxf5bjKqV3c8jm
         CZiN3A2M1JrdsbXm4az8A2feVY1jCZ/3H+0LZrz6nKdrYOESBZrieOJWQ2FOjQPVK2Ow
         Qi1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700215123; x=1700819923;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=tL/0MeBckHihb8R5f6rYh+uiemrcgAOHpBmk3gavQXY=;
        b=KxcyLWrDrSbykeix4xawBFEu0TidiwHQcEoa99MB/JoojaX6xenOASOkiYgbxMnMVl
         X8ocqlxLWpvPJ03yvP8RY7azJ2IebRnTQY5bvWbZSKMvLxQ4wNwN8U7hAlRdV1aQOMY3
         XmBdXhcU8G2CwnE5c7USaJCBxesGRuCU2QHdZnfSqHatBYkTekjiDecIJgspCfPgK1X+
         estyYHFU317ZMck8dzoGQSuD5ffJRtnepjQDHee+05taMY0O9t/y9nDhwqBiVIn0Auw5
         50yAEYJy1VF5Yh/5Nuwf96Znpoii63C5LLVNIetNzUtfkumUZp2lfiJay2lxvmA7u9Z7
         QdSQ==
X-Gm-Message-State: AOJu0YxLdpCJi5FKC8MxhUCVaUyVOD9BmJqz2E9/7+h4As1qh9EibGcl
	QDimpozVKmpJ8hDQCawmLEs77mNSW+E=
X-Google-Smtp-Source: AGHT+IEKvbNbiKelTa6LWD4E5hUrOg1NLvetZBpMnYCPwjS3FnXSDafOsQHYz3cuTWrGzvnL301I+Q==
X-Received: by 2002:a2e:1451:0:b0:2c5:4a5:9560 with SMTP id 17-20020a2e1451000000b002c504a59560mr8317608lju.41.1700215123107;
        Fri, 17 Nov 2023 01:58:43 -0800 (PST)
Message-ID: <cc1aba5e773255317fbcfdb522f089d8733108d7.camel@gmail.com>
Subject: Re: [PATCH v2 09/15] xen/asm-generic: introduce generic header smp.h
From: Oleksii <oleksii.kurochko@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>
Date: Fri, 17 Nov 2023 11:58:41 +0200
In-Reply-To: <bf7b027f7ae05533a6b2034e2ad4882ae27f2c67.1699633310.git.oleksii.kurochko@gmail.com>
References: <cover.1699633310.git.oleksii.kurochko@gmail.com>
	 <bf7b027f7ae05533a6b2034e2ad4882ae27f2c67.1699633310.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

I will drop this patch as it will be hard to make it generic for Arm,
PPC and RISC-V.

~ Oleksii

On Fri, 2023-11-10 at 18:30 +0200, Oleksii Kurochko wrote:
> <asm/smp.h> is expcted to be generic between Arm, PPC and RISC-V
> there by it is moved to asm-generic.
>=20
> Right now it is common only by PPC and RISC-V but during work on
> support of the mentioned arhcs <asm/smp.h> is expected to be the
> same.
>=20
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V2:
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- drop #ifded ASSEMBLY as=
 this header isn't expected to be
> included in asm files.
> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0- update the commit messa=
ge.
> ---
> =C2=A0xen/include/asm-generic/smp.h | 28 ++++++++++++++++++++++++++++
> =C2=A01 file changed, 28 insertions(+)
> =C2=A0create mode 100644 xen/include/asm-generic/smp.h
>=20
> diff --git a/xen/include/asm-generic/smp.h b/xen/include/asm-
> generic/smp.h
> new file mode 100644
> index 0000000000..6740a2064c
> --- /dev/null
> +++ b/xen/include/asm-generic/smp.h
> @@ -0,0 +1,28 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_SMP_H
> +#define __ASM_GENERIC_SMP_H
> +
> +#include <xen/cpumask.h>
> +#include <xen/percpu.h>
> +
> +DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
> +DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
> +
> +#define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
> +
> +/*
> + * Do we, for platform reasons, need to actually keep CPUs online
> when we
> + * would otherwise prefer them to be off?
> + */
> +#define park_offline_cpus false
> +
> +#endif
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: BSD
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 10:06:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 10:06:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.634999.990675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vkP-0006Me-Uv; Fri, 17 Nov 2023 10:06:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 634999.990675; Fri, 17 Nov 2023 10:06: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 1r3vkP-0006MX-SD; Fri, 17 Nov 2023 10:06:49 +0000
Received: by outflank-mailman (input) for mailman id 634999;
 Fri, 17 Nov 2023 10:06: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 1r3vkN-0006ML-Uq
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 10:06: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 1r3vkM-0004f8-1m; Fri, 17 Nov 2023 10:06:46 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3vkL-0000aq-P0; Fri, 17 Nov 2023 10:06: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=6kQfH7vTvfQy4+1miQGwQIQf8iT56DrQWwFXAaQNZLM=; b=boiq3XxFvYIIQgfj4XvVjIe6XL
	Ff8RjWUwKJEO7dlaTmn+7ga+Sbx8Np/IZC/y727dBFx+B9sueuGk0USNe0FXxK4BHb5Ym24znoOEw
	emE77wesp4+s33c2x25ls0bPfLXds/Zr1rwDsPv0oMVGG/lS6GHCfzOlQPTEkwp+Uy88=;
Message-ID: <16a320e7-3d12-4c9e-9010-ce0fe37c7e33@xen.org>
Date: Fri, 17 Nov 2023 10:06:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenstored: print domain id in traces
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231116205613.3796068-1-volodymyr_babchuk@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231116205613.3796068-1-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Volodymyr,

On 16/11/2023 20:56, Volodymyr Babchuk wrote:
> It is very helpful to see domain id why analyzing xenstored
> traces. Especially when you are trying to understand which exactly
> domain performs an action.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>   tools/xenstored/core.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
> index edd07711db..311764eb0c 100644
> --- a/tools/xenstored/core.c
> +++ b/tools/xenstored/core.c
> @@ -135,8 +135,8 @@ static void trace_io(const struct connection *conn,
>   	now = time(NULL);
>   	tm = localtime(&now);
>   
> -	trace("io: %s %p %04d%02d%02d %02d:%02d:%02d %s (",
> -	      out ? "OUT" : "IN", conn,
> +	trace("io: %s %p (d%d) %04d%02d%02d %02d:%02d:%02d %s (",

AFAICT conn->id is an unsigned int. So it should be d%u. This can be 
dealt on commit.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 10:07:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 10:07:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635002.990684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vlQ-00070b-Bg; Fri, 17 Nov 2023 10:07:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635002.990684; Fri, 17 Nov 2023 10:07: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 1r3vlQ-00070U-91; Fri, 17 Nov 2023 10:07:52 +0000
Received: by outflank-mailman (input) for mailman id 635002;
 Fri, 17 Nov 2023 10:07: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3vlP-00070N-1m
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 10:07:51 +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 2a05f4e1-8531-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 11:07:50 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4083f613275so14699355e9.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 02:07:50 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 r5-20020a05600c458500b003fefaf299b6sm2153194wmo.38.2023.11.17.02.07.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 02:07:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a05f4e1-8531-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700215661; x=1700820461; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=rXQYdP2yECEsDwWfLsrCu1ALufV0Ny4J8ENU7pc2fVs=;
        b=tEdUS/nHzFmXugYiD4pRiFzLsVrY9zL51LbrWFvvEEoYPRIqHNv0EeGcsUjC6G2EEI
         l4Tgc0XZo1Ho4OxAGFsS1k922rqnBzuTTmhUuUlQv7virEKd6t578maSFHTBaKbXNQma
         J2HYB2HT2pa5QEA4TQc0eV8aHkJ1XtE9wvQzE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700215661; x=1700820461;
        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:subject:date:message-id:reply-to;
        bh=rXQYdP2yECEsDwWfLsrCu1ALufV0Ny4J8ENU7pc2fVs=;
        b=Ptn9rHlMW4OpVFSeC8pmvf0anCuy/xa9xFZkAks43MP9nLLNjLO0nsIijuy1r0OiF0
         GahtelRccnezHWyPvThsverX2fg8vpUuI+g25NczQno/v7+INmn5xVIj85X+mM7I5y6a
         R7rCWil9s4zc1WhiFLn89lHspz2OJd7JX02dPgrLBUGWQlC/aQNW952x8WM5YgmiTN3H
         XbvpNDAwpGSjAc8y4M9LW5eKwHmeVZvrDi0MbSdmDYPTzfLaGKYTVXY9eswf52Rs/rml
         ZAP1gxEWnkyCjZPisI79yjRC/yRPqGt/MxrslDflUGuS/StZFpwi26Zq52NSdIi3X3aI
         Czjw==
X-Gm-Message-State: AOJu0Ywa/s6oez9PSKWrbVLs5BsPYVQm1TEpfrGIgjtZpfO4a96AgVXd
	AetH64kgEl2K8u7Ky87Mu4O+dg==
X-Google-Smtp-Source: AGHT+IEvPyAn2pbqF6IIFTWMXaaBOyuoU1Y93SjA3tmj2MURrIcCyzDfMFhzGQhUFKOrq9XFeA9ZLg==
X-Received: by 2002:a05:600c:524c:b0:3fd:2e89:31bd with SMTP id fc12-20020a05600c524c00b003fd2e8931bdmr4075760wmb.14.1700215661544;
        Fri, 17 Nov 2023 02:07:41 -0800 (PST)
Date: Fri, 17 Nov 2023 11:07:39 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 1/6] automation: remove CR characters from QEMU serial
Message-ID: <ZVc7a56DXOtEoS0N@macbook.local>
References: <20231116121310.72210-1-roger.pau@citrix.com>
 <20231116121310.72210-2-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2311161701420.773207@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2311161701420.773207@ubuntu-linux-20-04-desktop>

On Thu, Nov 16, 2023 at 05:05:28PM -0800, Stefano Stabellini wrote:
> On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> > The gitlab CI webpage seems to have issues displaying the \CR\CR\LF "\r\r\n"
> > sequence on the web interface used as line returns by the Linux kernel serial
> > output.  This leads to the QEMU tests output looking like:
> > 
> > (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
> > (XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
> > (XEN) Freed 664kB init memory
> > mapping kernel into physical memory
> > about to get started...
> > qemu-system-x86_64: terminating on signal 15 from pid 52 (timeout)
> > 
> > This not helpful, so strip the CR characters from the output that goes to
> > stdout, leaving the output in the smoke.serial untouched.
> > 
> > Fixes: 3030a73bf849 ('automation: add a QEMU based x86_64 Dom0/DomU test')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Thanks for the patch. Let me see if I understood correctly.
> 
> In the gitlab web UI everything after the last (XEN) log line
> disappears, for instance:
> 
> https://gitlab.com/xen-project/xen/-/jobs/5556551478
> 
> (XEN) d1v0: vGICD: unhandled word write 0x000000ffffffff to ICACTIVER0
> / # qemu-system-aarch64: terminating on signal 15 from pid 145 (timeout)
> 
> 
> While if I look at the full logs there are plenty of Linux kernel logs
> after it:
> https://cdn.artifacts.gitlab-static.net/ec/ad/ecad5145a0ec1eb179fd47d1590d5ec43d705e8af2f9a816607ac31891cb82b9/2023_11_16/5556551478/6032156805/job.log?response-content-type=text%2Fplain%3B%20charset%3Dutf-8&response-content-disposition=inline&Expires=1700183635&KeyName=gprd-artifacts-cdn&Signature=vT8CBwI2Th23OvRvQKvNPgHiT5Y=
> 
> And this patch aims at fixing that, is that correct?
> 
> 
> But I went to check your pipeline
> https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1074512137
> and the corresponding job
> https://gitlab.com/xen-project/people/royger/xen/-/jobs/5549620441 has
> the same issue?

I made the change just for qemu-alpine-x86_64-gcc:

https://gitlab.com/xen-project/people/royger/xen/-/jobs/5550049674

I didn't realize qemu-smoke-dom0-arm64-gcc was also using it.  If the
fix is acceptable I can submit v2 adding the arm instances also.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 10:12:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 10:12:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635010.990696 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vq4-00017A-VR; Fri, 17 Nov 2023 10:12:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635010.990696; Fri, 17 Nov 2023 10: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 1r3vq4-000173-QU; Fri, 17 Nov 2023 10:12:40 +0000
Received: by outflank-mailman (input) for mailman id 635010;
 Fri, 17 Nov 2023 10:12: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 1r3vq4-00016x-1b
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 10:12: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 1r3vq3-0004mw-72; Fri, 17 Nov 2023 10:12:39 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r3vq3-0000xc-1D; Fri, 17 Nov 2023 10: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=3U9bA7f2zozsIt2AyVWBwDVc3iy59lraSUXeXEYCkqQ=; b=WEMc3GG9xJdfF6By/+o1erPTAh
	xJ0/41ENsR8GDGK0MXs2Dh7RG+O9Q2G43ib0O2wAZYg7qVNPjkbqDozwQUIxw6dg/C3ybqlWwmcv1
	yw2Pe2DOh3oXwAl1HA2ajjshbZxgxYLM/F5EsknF10CKOfhlv1qoCubvHSkIbId1kJ3o=;
Message-ID: <82bd029b-4c26-4eb3-9e93-1d34fab40db3@xen.org>
Date: Fri, 17 Nov 2023 10:12:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: introduce function type bug_fn_t.
Content-Language: en-GB
To: Federico Serafini <federico.serafini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <3942021ff51b117ab2b50aecd6e75353cd73ab20.1700158707.git.federico.serafini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3942021ff51b117ab2b50aecd6e75353cd73ab20.1700158707.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Federico,

On 17/11/2023 08:28, Federico Serafini wrote:
> Introduce function type bug_fn_t. This improves readability and helps
> to validate that the function passed to run_in_exception_handle() has
> the expected prototype.
Hmmm... I read the second part as you will validate the type in 
run_in_exception_handle(). But I can't find such change. How about:

"and could be used to help validating that ..."

No need to send a new revision for that. I can do it on commit.

> 
> Use the newly-intoduced type to address a violation of MISRA
> C:2012 Rule 8.2.
> 
> Suggested-by: Julien Grall <julien@xen.org>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Acked-by: Julien Grall <jgrall@amazon.com>

> ---
>   xen/arch/arm/traps.c  | 2 +-
>   xen/include/xen/bug.h | 5 +++--
>   2 files changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
> index ce89f16404..8492e2b7bb 100644
> --- a/xen/arch/arm/traps.c
> +++ b/xen/arch/arm/traps.c
> @@ -1236,7 +1236,7 @@ int do_bug_frame(const struct cpu_user_regs *regs, vaddr_t pc)
>   
>       if ( id == BUGFRAME_run_fn )
>       {
> -        void (*fn)(const struct cpu_user_regs *) = (void *)regs->BUG_FN_REG;
> +        bug_fn_t *fn = (void *)regs->BUG_FN_REG;
>   
>           fn(regs);
>           return 0;
> diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
> index e8a4eea71a..cb5138410e 100644
> --- a/xen/include/xen/bug.h
> +++ b/xen/include/xen/bug.h
> @@ -99,6 +99,9 @@ struct bug_frame {
>   
>   #endif
>   
> +struct cpu_user_regs;
> +typedef void bug_fn_t(const struct cpu_user_regs *regs);
> +

If your aim is to validate the type in run_in_exception_handler(), then 
this is defined too late. You will need to define it before "asm/bug.h" 
is included so arch-specific implementations of run_in_exception_handler 
can use it.

Note that for Arm we are using a macro, but others may use a static inline.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 10:13:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 10:13:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635012.990705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vqg-0001bD-59; Fri, 17 Nov 2023 10:13:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635012.990705; Fri, 17 Nov 2023 10: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 1r3vqg-0001b6-2Z; Fri, 17 Nov 2023 10:13:18 +0000
Received: by outflank-mailman (input) for mailman id 635012;
 Fri, 17 Nov 2023 10:13: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=AejN=G6=neowutran.ovh=xen@srs-se1.protection.inumbo.net>)
 id 1r3vqe-0001Ww-B1
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 10:13:16 +0000
Received: from neowutran.ovh (core.neowutran.ovh [51.83.40.211])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebf927e1-8531-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 11:13:15 +0100 (CET)
Received: from neowutran.ovh (unknown [10.200.200.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
 (No client certificate requested)
 by neowutran.ovh (Postfix) with ESMTPSA id EDA7D61254;
 Fri, 17 Nov 2023 10:13: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: ebf927e1-8531-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=neowutran.ovh; s=mail;
	t=1700215992; bh=ANhGsietB7r08NGVTwD/FMz6WRuscnVHR84ENVDiStQ=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To;
	b=jugLhYMZcgWGaQdxFUWvku6wr0w+sMShP2brKBcv5T8baQLWYLpjiTAjknijNp5O1
	 /JgvYBHUIxiUBeITGHR4Ckg2QoJt2JAp4ZEXXiDVHVdsnGi1obmcqxwZT4csYOf/O+
	 JieKWPvJI+vVJDirj9SOFS1+6p1qAVKW00QKpJjpKBUzroWJKnLonmArOEw/mQ4piT
	 5FXhmmBVsBnCvsMC1EYNQXPTwXMAniMY+SvhScSCjeqHSssmIKF1P5Fme4s7CcjEbW
	 zxRVisSGiwMe9oBDykFX/+e067QzyecbJTbQ5EhYdMHyJGVAQoQLmIafPCgNlgfIF4
	 xoeaezfa+N6CE/zS7N2VlxWhF/ap2Mld4mh7539in004bGpgcWJyOCltYacV4sx5fu
	 WqeLIww5geG108zxzsOATm69qSmbuh7CxYDrcdbTyUy2N2iVhTrxjXTBgDN69XCFwV
	 DlHjE1smENvMPhNbKqt6kivR2Df5nuxRQhyIR9ji8AdsOGcp0O8NE6cAPlWiAySeaf
	 R6NJq1h5ChPzM0lE4zglyU7xfuGMnTOEqxVrMZFYXFT5CsWpcOWkIZlvCxwQJs2Qkm
	 DOYQDrDkGtLw/AG5kT7kUID9BtZUgHk3XX1GIheB209h6KChYK1XGwGGei7shoR9D1
	 mryC2TVQf0cJXxds41/4V2YA=
Date: Fri, 17 Nov 2023 11:12:37 +0100
From: Neowutran <xen@neowutran.ovh>
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>, 
	Neowutran <xen@neowutran.ovh>, 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] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZUqRfgAmzJRImW4O@mattapan.m5p.com>

On 2023-11-07 11:11, Elliott Mitchell wrote:
> On Mon, Oct 30, 2023 at 04:27:22PM +01 
00, Roger Pau Monné wrote:
> > On Mon, Oct 30, 2023 at 07:50:27AM -0700, Elliott Mitchell wrote:
> > > On Tue, Oct 24, 2023 at 03:51:50PM +0200, Roger Pau Monne wrote:
> > > > diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
> > > > index 707deef98c27..15632cc7332e 100644
> > > > --- a/xen/arch/x86/genapic/x2apic.c
> > > > +++ b/xen/arch/x86/genapic/x2apic.c
> > > > @@ -220,38 +239,56 @@ static struct notifier_block x2apic_cpu_nfb = {
> > > >  static int8_t __initdata x2apic_phys = -1;
> > > >  boolean_param("x2apic_phys", x2apic_phys);
> > > >  
> > > > +enum {
> > > > +   unset, physical, cluster, mixed
> > > > +} static __initdata x2apic_mode = unset;
> > > > +
> > > > +static int __init parse_x2apic_mode(const char *s)
> > > > +{
> > > > +    if ( !cmdline_strcmp(s, "physical") )
> > > > +        x2apic_mode = physical;
> > > > +    else if ( !cmdline_strcmp(s, "cluster") )
> > > > +        x2apic_mode = cluster;
> > > > +    else if ( !cmdline_strcmp(s, "mixed") )
> > > > +    
     x2apic_mode = mixed;
> > > > +    else
> > > > +        return EINVAL;
> > > > +
> > > > +    return 0;
> > > > +}
> > > > +custom_param("x2apic-mode", parse_x2apic_mode);
> > > > +
> > > >  const struct genapic *__init apic_x2apic_probe(void)
> > > >  {
> > > > -    if ( x2apic_phys < 0 )
> > > > +    /* x2apic-mode option has preference over x2apic_phys. */
> > > > +    if ( x2apic_phys >= 0 && x2apic_mode == unset )
> > > > +        x2apic_mode = x2apic_phys ? physical : cluster;
> > > > +
> > > > +    if ( x2apic_mode == unset )
> > > >      {
> > > > -        /*
> > > > -         * Force physical mode if there's no (full) interrupt remapping support:
> > > > -         * The ID in clustered mode requires a 32 bit destination field due to
> > > > -         * the usage of the high 16 bits to hold the cluster ID.
> > > > -         */
> > > > -        x2apic_phys = iommu_intremap != iommu_intremap_full ||
> > > > -                      (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
> > > > -         
              IS_ENABLED(CONFIG_X2APIC_PHYSICAL);
> > > > -    }
> > > > -    else if ( !x2apic_phys )
> > > > -        switch ( iommu_intremap )
> > > > +        if ( acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL )
> > > >          {
> > > 
> > > Could this explain the issues with recent AMD processors/motherboards?
> > > 
> > > Mainly the firmware had been setting this flag, but Xen was previously
> > > ignoring it?
> > 
> > No, not unless you pass {no-}x2apic_phys={false,0} on the Xen command
> > line to force logical (clustered) destination mode.
> > 
> > > As such Xen had been attempting to use cluster mode on an
> > > x2APIC where that mode was broken for physical interrupts?
> > 
> > No, not realy, x2apic_phys was already forced to true if
> > acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL is set on the FADT (I
> > just delete that line in this same chunk and move it here).
> 
> Okay, that was from a quick look at the patch.  Given the symptoms and
> workaround with recent AMD motherboards, this looked 
 suspicious.
> 
> In that case it might be a bug in what AMD is providing to motherboard
> manufacturers.  Mainly this bit MUST be set, but AMD's implementation
> leaves it unset.
> 
> Could also be if the setup is done correctly the bit can be cleared, but
> multiple motherboard manufacturers are breaking this.  Perhaps the steps
> are fragile and AMD needed to provide better guidance.
> 
> 
> Neowutran, are you still setup to and interested in doing
> experimentation/testing with Xen on your AMD computer?  Would you be up
> for trying the patch here:
> 
> https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw
> 
> I have a suspicion this *might* fix the x2APIC issue everyone has been
> seeing.
> 
> How plausible would it be to release this as a bugfix/workaround on 4.17?
> I'm expecting a "no", but figured I should ask given how widespread the
> issue is.
> 
> 
> -- 
> (\___(\___(\______          --=> 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
> 

I just applied the patch on my setup ( https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw ) 
It seems to fix the x2APIC issue I was having. 

I only did some quick tests: 

I tried all the differents values in my bios for the X2APIC settings. 
Now the system successfully boot in all the cases, without needing
manual override of the x2apic_phys/x2apic_mode parameter in boot commandline .



 


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 10:15:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 10:15:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635024.990715 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vsb-0002E0-Gh; Fri, 17 Nov 2023 10:15:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635024.990715; Fri, 17 Nov 2023 10:15: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 1r3vsb-0002Dt-Ds; Fri, 17 Nov 2023 10:15:17 +0000
Received: by outflank-mailman (input) for mailman id 635024;
 Fri, 17 Nov 2023 10:15: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3vsa-0002Dn-BR
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 10:15:16 +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 3386e5b1-8532-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 11:15:15 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2c50906f941so25137341fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 02:15:15 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 m21-20020a05600c3b1500b003fe61c33df5sm6686487wms.3.2023.11.17.02.15.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 02:15:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3386e5b1-8532-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700216115; x=1700820915; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=JtN5H/wJPQwEEETu4NWtSSlUD1qXiWR4M/LuTh8uuvI=;
        b=pVIEHFxbnrpXZfYS3ylm8WUv92Za5X9U5KtqICSytsfOwfOsA8px/BT4V0kU3c7ezI
         w4vU1G0MOF2mkbVNq/j0ic7OH+wWHiTIvZXfsyWKmzt69VqtediA03Z2jeelUUg+aUS6
         bPmuljtY4/+daxJzex+/ug2RQgKbg9telBq7o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700216115; x=1700820915;
        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:subject:date:message-id:reply-to;
        bh=JtN5H/wJPQwEEETu4NWtSSlUD1qXiWR4M/LuTh8uuvI=;
        b=cPjPu6+3e/bvJf482H17A8rLFZhXYwWEY4jGxPGBzt6dxxjBbLsI4+ubRR3RtmAZs2
         fxOhXHATFTCL4WzkOdpBcIeFpDDdHYLP8PlyUauB6OVGb5CC0pkKkdLzP7Nph+xQ5uQJ
         N9UquqHhRJwadby0OSMDdkGgSQMLMYDmqzEfcHQxhY2bHbTyRgAc7lEVqtjGxEWbTpbo
         AGAifDXor+MzCTUxSZXFgcRkTTt2vKrtebd/Vj03LucsKV01rU66PjgZefoi9kpK9ULO
         WUv0EtZ8MjSOjWEx4851i5kFPuwjFnCHEatSr2SpUWJcptBDJmKpM8P/Xums/pZ64Yrd
         ABtA==
X-Gm-Message-State: AOJu0YzXPKtiwNS6mh+blZEuZCGO04sKz/iPp+QeKyu58DGnWi6kodRA
	zZhOcb8Q6X0SeVuUtWcsdV7JzK73d3FLime6x+k=
X-Google-Smtp-Source: AGHT+IEbBGU7eT4q8z2kU3Mzq7HgjEKUHc8tnPA2LTw0jSwhyYTIYWZq1d3QGNbkJ8kfCqPFQl3ACg==
X-Received: by 2002:a2e:bc14:0:b0:2c5:1aae:400d with SMTP id b20-20020a2ebc14000000b002c51aae400dmr9954396ljf.22.1700216115022;
        Fri, 17 Nov 2023 02:15:15 -0800 (PST)
Date: Fri, 17 Nov 2023 11:15:13 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 6/6] automation: switch to multi-platform images when
 possible
Message-ID: <ZVc9MZQ3lJpL2Nz1@macbook.local>
References: <20231116121310.72210-1-roger.pau@citrix.com>
 <20231116121310.72210-7-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2311161711560.773207@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2311161711560.773207@ubuntu-linux-20-04-desktop>

On Thu, Nov 16, 2023 at 05:14:23PM -0800, Stefano Stabellini wrote:
> On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> > Instead of using specific architecture image, switch to using multi-arch ones
> > and specify the desired architecture using the --platform option.
> > 
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > I haven't touched the Yocto dockerfile because I'm not sure how it's used.
> 
> We are missing:
> 
> automation/build/debian/buster-gcc-ibt.dockerfile

That file was updated in patch 5/6:

https://lore.kernel.org/xen-devel/20231116121310.72210-6-roger.pau@citrix.com/

> automation/build/debian/bookworm-cppcheck.dockerfile

Not sure I'm following, bookworm-cppcheck.dockerfile is updated...

> automation/tests-artifacts/*

Oh, didn't realize about those, I will do in a separate patch.

> Aside from that, it is fine.
> 
> How did you test the updated containers? Have you already pushed them to
> the registry?

I've pushed them to my local registry and changed the registry in one
of my Xen branches, see:

https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1074512137

Some jobs failed because the runners run out of space.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 10:17:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 10:17:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635032.990725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vv1-0003bo-TR; Fri, 17 Nov 2023 10:17:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635032.990725; Fri, 17 Nov 2023 10:17: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 1r3vv1-0003bh-Qe; Fri, 17 Nov 2023 10:17:47 +0000
Received: by outflank-mailman (input) for mailman id 635032;
 Fri, 17 Nov 2023 10:17: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=2+Qn=G6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3vv0-0003aG-6u
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 10:17:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8bcbe792-8532-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 11:17:43 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 06A814EE0744;
 Fri, 17 Nov 2023 11:17:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8bcbe792-8532-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Fri, 17 Nov 2023 11:17:43 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Xen Devel <xen-devel@lists.xenproject.org>
Cc: Consulting <consulting@bugseng.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Jbeulich <jbeulich@suse.com>, Andrew Cooper3
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>, Roger Pau
 <roger.pau@citrix.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>
Subject: Devise macros to encapsulate (x & -x)
Message-ID: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Hi all,

As discussed in this thread [1], which is about complying with MISRA C 
Rule 10.1,
a macro was introduced to encapsulate a well-known construct:

/*
  * Given an unsigned integer argument, expands to a mask where just the 
least
  * significant nonzero bit of the argument is set, or 0 if no bits are 
set.
  */
#define ISOLATE_LSB(x) ((x) & -(x))

This macro has a gained some calls in the subsequent patches in that 
thread, but concerns were raised around the fact that it would be better 
to devise a macro that evaluates its argument only once. A proposed 
solution is this (thanks to Jan Beulich):

#define ISOLATE_LSB(x) ({ \
      typeof(x) x_ = (x); \
      x_ & -x_; \
})

However, it can't be used in all call sites that the previous macro 
would have once that series is committed, as can be seen in [2]. 
Therefore, while the implementation looks ok,
a case has been made to have separate macros, of which the latter form 
is preferred.

The following points require some thought:

- where the single evaluation macro should be placed?
   One proposed location is xen/include/xen/bitops.h
- is the proposed form actually the best, or maybe it could be an inline 
function?

Then testing can happen and a subsequent version of those uncommitted 
patches introducing uses of either construct will be submitted, to 
modify all the call sites only once in the commit history.

Let me know what you think of this.
Regards,

[1] 
https://lore.kernel.org/xen-devel/8a1313b3ab5ba6dd556cf37409e3b703@bugseng.com/T/#mdeb510325e1acacb6477a88de8577e9e87351ba5
[2] https://gitlab.com/xen-project/people/bugseng/xen/-/jobs/5423693947

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 10:17:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 10:17:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635033.990735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3vv6-0003tf-5e; Fri, 17 Nov 2023 10:17:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635033.990735; Fri, 17 Nov 2023 10: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 1r3vv6-0003tV-1v; Fri, 17 Nov 2023 10:17:52 +0000
Received: by outflank-mailman (input) for mailman id 635033;
 Fri, 17 Nov 2023 10: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3vv4-0003aG-6j
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 10:17:50 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8ea24bbc-8532-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 11:17:48 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-5094727fa67so2568151e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 02:17:48 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 m8-20020a05600c4f4800b004083bc9ac90sm2200097wmq.24.2023.11.17.02.17.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 02:17:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8ea24bbc-8532-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700216268; x=1700821068; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=loXZqCZDmQ7tctq/Y997gxvqbChXA3qRMNqwb52e5U8=;
        b=Q19OA0dxsIiAiB/yq3A+ehLEZNT48nzgVHegleMhRGdn6I3AeJdcUYAuOB3sK2T7FP
         IqbHV1dnQtB6xQ8/v8d22p2W9Wf08NimWyaBnpF+jCPPTovE+QltuCrIcXLpm8FwHn0w
         Xl/GvqdcJjoURGvKht+6ckLwDqoDnGvGHoLHI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700216268; x=1700821068;
        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:subject:date:message-id:reply-to;
        bh=loXZqCZDmQ7tctq/Y997gxvqbChXA3qRMNqwb52e5U8=;
        b=esk1mzc4HAHZ1DKV9/KQx3bWv4yFRXzFNY+bk3UAcxWXN5zWqdCGqCdJGiXzQQk5Pu
         7YEhlLOH4FmcEC8Hu/Mbhi2KLE8WGXoDFU46I7buFlLGZ9Pj9whKCLHNvot9MFsxqtWf
         xTbQdZyuhU3JsqdN2z/4g8fQC1j2W9/tyEAFM+GjfKmVyhaweE3poV30wPlD63CeNseL
         3dx7XI5pI/2hytu6l9C79K71BbD5H4KkimeEO0sImJaWcXnhmWtHH3wmAKvVCg3abo3/
         CqofQVof8BxyZZphcSCfagKOslZ0rLRSfLDxhR6F1LBRILWsGRrSedNWHnMq56Dxu7Yr
         oCRg==
X-Gm-Message-State: AOJu0YyV8BxcMPXNJx8i7MKjRPgFO5IiDNHo6fsoCV/n1lAxcAyDplSe
	t3ku8r6kGd0M4wdu3TcMRSBzmg==
X-Google-Smtp-Source: AGHT+IEbr8434/vDbB0YPkN7kEQHhrSbvzO1Y8k461p9hfxyGi7h3f4YDNOiO/oF7N7xwgL9lft7ow==
X-Received: by 2002:a05:6512:104c:b0:50a:756d:40fd with SMTP id c12-20020a056512104c00b0050a756d40fdmr4306611lfb.11.1700216267798;
        Fri, 17 Nov 2023 02:17:47 -0800 (PST)
Date: Fri, 17 Nov 2023 11:17:46 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: James Dingwall <james@dingwall.me.uk>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	James Dingwall <james-xen@dingwall.me.uk>,
	xen-devel@lists.xenproject.org
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Message-ID: <ZVc9yq9b6fezMWcY@macbook.local>
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
 <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
 <ZVcv7259slJF4wBh@dingwall.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZVcv7259slJF4wBh@dingwall.me.uk>

On Fri, Nov 17, 2023 at 09:18:39AM +0000, James Dingwall wrote:
> On Thu, Nov 16, 2023 at 04:32:47PM +0000, Andrew Cooper wrote:
> > On 16/11/2023 4:15 pm, James Dingwall wrote:
> > > Hi,
> > >
> > > Per the msr_relaxed documentation:
> > >
> > >    "If using this option is necessary to fix an issue, please report a bug."
> > >
> > > After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
> > > started experiencing a BSOD at boot with one of our Windows guests.  We found
> > > that enabling `msr_relaxed = 1` in the guest configuration has resolved the
> > > problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
> > > the following messages were caught as the BSOD happened:
> > >
> > > (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
> > > (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
> > > (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
> > >
> > > I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
> > > series from last month:
> > >
> > > https://patchwork.kernel.org/project/xen-devel/list/?series=796550
> > >
> > > Picking out just a small part of that fixes the problem for us. Although the
> > > the patch is against 4.15.5 I think it would be relevant to more recent
> > > releases too.
> > 
> > Which version of Windows, and what hardware?
> > 
> > The Viridian Crash isn't about the RDMSR itself - it's presumably
> > collateral damage shortly thereafter.
> > 
> > Does filling in 0 for that MSR also resolve the issue?  It's model
> > specific and we absolutely cannot pass it through from real hardware
> > like that.
> > 
> 
> Hi Andrew,
> 
> Thanks for your response.  The guest is running Windows 10 and the crash
> happens in a proprietary hardware driver.

When you say proprietary you mean a custom driver made for your
use-case, or is this some vendor driver widely available?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 10:30:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 10:30:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635046.990745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3w73-0000Jo-AX; Fri, 17 Nov 2023 10:30:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635046.990745; Fri, 17 Nov 2023 10: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 1r3w73-0000Jh-7x; Fri, 17 Nov 2023 10:30:13 +0000
Received: by outflank-mailman (input) for mailman id 635046;
 Fri, 17 Nov 2023 10:30: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3w72-0000JZ-Ds
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 10:30:12 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49302574-8534-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 11:30:11 +0100 (CET)
Received: from [172.20.10.2] (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id 87FDB4EE0744;
 Fri, 17 Nov 2023 11:30:09 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49302574-8534-11ee-98dc-6d05b1d4d9a1
Message-ID: <30cec2c7-5fac-458b-be90-e43a66b78058@bugseng.com>
Date: Fri, 17 Nov 2023 11:30:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: introduce function type bug_fn_t.
Content-Language: en-US, it
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <3942021ff51b117ab2b50aecd6e75353cd73ab20.1700158707.git.federico.serafini@bugseng.com>
 <82bd029b-4c26-4eb3-9e93-1d34fab40db3@xen.org>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <82bd029b-4c26-4eb3-9e93-1d34fab40db3@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 17/11/23 11:12, Julien Grall wrote:
> Hi Federico,
> 
> On 17/11/2023 08:28, Federico Serafini wrote:
>> Introduce function type bug_fn_t. This improves readability and helps
>> to validate that the function passed to run_in_exception_handle() has
>> the expected prototype.
> Hmmm... I read the second part as you will validate the type in 
> run_in_exception_handle(). But I can't find such change. How about:
> 
> "and could be used to help validating that ..."
> 
> No need to send a new revision for that. I can do it on commit.
> 
>>
>> Use the newly-intoduced type to address a violation of MISRA
>> C:2012 Rule 8.2.
>>
>> Suggested-by: Julien Grall <julien@xen.org>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> 
> Acked-by: Julien Grall <jgrall@amazon.com>
> 
>> ---
>>   xen/arch/arm/traps.c  | 2 +-
>>   xen/include/xen/bug.h | 5 +++--
>>   2 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
>> index ce89f16404..8492e2b7bb 100644
>> --- a/xen/arch/arm/traps.c
>> +++ b/xen/arch/arm/traps.c
>> @@ -1236,7 +1236,7 @@ int do_bug_frame(const struct cpu_user_regs 
>> *regs, vaddr_t pc)
>>       if ( id == BUGFRAME_run_fn )
>>       {
>> -        void (*fn)(const struct cpu_user_regs *) = (void 
>> *)regs->BUG_FN_REG;
>> +        bug_fn_t *fn = (void *)regs->BUG_FN_REG;
>>           fn(regs);
>>           return 0;
>> diff --git a/xen/include/xen/bug.h b/xen/include/xen/bug.h
>> index e8a4eea71a..cb5138410e 100644
>> --- a/xen/include/xen/bug.h
>> +++ b/xen/include/xen/bug.h
>> @@ -99,6 +99,9 @@ struct bug_frame {
>>   #endif
>> +struct cpu_user_regs;
>> +typedef void bug_fn_t(const struct cpu_user_regs *regs);
>> +
> 
> If your aim is to validate the type in run_in_exception_handler(), then 
> this is defined too late. You will need to define it before "asm/bug.h" 
> is included so arch-specific implementations of run_in_exception_handler 
> can use it.
> 
> Note that for Arm we are using a macro, but others may use a static inline.

Thanks for the information!

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 10:49:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 10:49:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635052.990756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3wPk-00050X-Tr; Fri, 17 Nov 2023 10:49:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635052.990756; Fri, 17 Nov 2023 10:49: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 1r3wPk-00050Q-PR; Fri, 17 Nov 2023 10:49:32 +0000
Received: by outflank-mailman (input) for mailman id 635052;
 Fri, 17 Nov 2023 10:49: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=8Lb0=G6=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r3wPj-00050K-K8
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 10:49:31 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fbda4351-8536-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 11:49:29 +0100 (CET)
Received: from [172.20.10.2] (unknown [37.163.77.7])
 by support.bugseng.com (Postfix) with ESMTPSA id 906A84EE0744;
 Fri, 17 Nov 2023 11:49:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbda4351-8536-11ee-9b0e-b553b5be7939
Message-ID: <a665cac0-93f3-4fbb-a1bc-104bc36fbf61@bugseng.com>
Date: Fri, 17 Nov 2023 11:49:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen/mm: address violations of MISRA C:2012 Rules
 8.2 and 8.3
Content-Language: en-US, it
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: consulting@bugseng.com, 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>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Henry Wang <henry.wang@arm.com>, xen-devel@lists.xenproject.org
References: <eedcfeb8d1c81527b7e18fcc0eca252577f00035.1696344012.git.federico.serafini@bugseng.com>
 <d7cd7a02-b960-384e-4af2-f70b425e5ad1@suse.com>
 <alpine.DEB.2.22.394.2310181543030.965337@ubuntu-linux-20-04-desktop>
 <30e35f13-d2d0-eaf3-9660-c508655b84ce@suse.com>
 <alpine.DEB.2.22.394.2310190921020.1945130@ubuntu-linux-20-04-desktop>
 <965cdb62-1b96-c8a1-733b-ad006bb2edc6@suse.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <965cdb62-1b96-c8a1-733b-ad006bb2edc6@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 20/10/23 08:35, Jan Beulich wrote:
> On 19.10.2023 18:26, Stefano Stabellini wrote:
>> On Thu, 19 Oct 2023, Jan Beulich wrote:
>>> On 19.10.2023 00:43, Stefano Stabellini wrote:
>>>> On Mon, 16 Oct 2023, Jan Beulich wrote:
>>>>> On 03.10.2023 17:24, Federico Serafini wrote:
>>>>>> --- a/xen/arch/x86/mm.c
>>>>>> +++ b/xen/arch/x86/mm.c
>>>>>> @@ -5901,17 +5901,17 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
>>>>>>    * a problem.
>>>>>>    */
>>>>>>   void init_or_livepatch modify_xen_mappings_lite(
>>>>>> -    unsigned long s, unsigned long e, unsigned int _nf)
>>>>>> +    unsigned long s, unsigned long e, unsigned int nf)
>>>>>>   {
>>>>>> -    unsigned long v = s, fm, nf;
>>>>>> +    unsigned long v = s, fm, flags;
>>>>>
>>>>> While it looks correct, I consider this an unacceptably dangerous
>>>>> change: What if by the time this is to be committed some new use of
>>>>> the local "nf" appears, without resulting in fuzz while applying the
>>>>> patch? Imo this needs doing in two steps: First nf -> flags, then
>>>>> _nf -> nf.
>>>>
>>>> Wouldn't it be sufficient for the committer to pay special attention
>>>> when committing this patch? We are in code freeze anyway, the rate of
>>>> changes affecting staging is low.
>>>
>>> Any kind of risk excludes a patch from being a 4.18 candidate, imo.
>>
>> I agree on that. I think it is best to commit it for 4.19 when the tree
>> opens.
>>
>>
>>> That was the case in early RCs already, and is even more so now. Paying
>>> special attention is generally a possibility, yet may I remind you that
>>> committing in general is intended to be a purely mechanical operation?
>>
>> Sure, and I am not asking for a general process change. I am only
>> suggesting that this specific concern on this patch is best solved in
>> the simplest way: by a committer making sure the patch is correct on
>> commit. It is meant to save time for everyone.
>>
>> Jan, if you are OK with it, we could just trust you to commit it the
>> right away as the earliest opportunity.
> 
> If you can get Andrew or Roger to ack this patch in its present shape,
> I won't stand in the way. I'm not going to ack the change without the
> indicated split.

I'll propose a new patch series where changes are splitted as indicated.
I also noticed a discrepancy between Arm and x86 in the name of the
last parameter of xenmem_add_to_physmap_one().
Do you have any suggestions about how to solve it?
If we reach an agreement, then I can put the changes related to the mm 
module in a single patch.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 11:04:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 11:04:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635057.990765 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3we3-0001RG-4U; Fri, 17 Nov 2023 11:04:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635057.990765; Fri, 17 Nov 2023 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 1r3we3-0001R9-19; Fri, 17 Nov 2023 11:04:19 +0000
Received: by outflank-mailman (input) for mailman id 635057;
 Fri, 17 Nov 2023 11:04: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=Tr9K=G6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r3we1-0001R3-98
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 11:04:17 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b8a8a12-8539-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 12:04:14 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2c523ac38fbso23851161fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 03:04:14 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j32-20020a05600c1c2000b004094c5d929asm2348941wms.10.2023.11.17.03.04.13
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Nov 2023 03:04:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b8a8a12-8539-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700219054; x=1700823854; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=dsMEn8VdLDcY4n9dfxdRO2j5SuKks8m5V1waqXpirS4=;
        b=M4GwRm0Z8oEnD3ehckNZwlNN7cBjuDlztKY7P1g2ZcfH1JHXwlQvoIWhywWmXy2W/j
         ii18M0IF7YmXpRgIHHM20moXMkRaivP4MNT91fL/q09iVGRTYId2C9YnzYCBJFxGUDwm
         jJPrw3dGHLKbxKhg+rdTbBXrig+U2LkrGtido=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700219054; x=1700823854;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=dsMEn8VdLDcY4n9dfxdRO2j5SuKks8m5V1waqXpirS4=;
        b=eJ50aD1pIBH/W+yCaST22Yrc1oP0JUM/0MQr3keyeSHoCETLy37W+7UBVRwqDa9laG
         sZoC7tVmiirbmrKAW2S1jK5chKpbdq+hLKPfXtroRG9vgInvROWoxyDnxwFfV36FjlYp
         aKETDJY9eOVn2sSXdvgYJn92hDXDMv4iqsbRr9dheujuMVQ7BRlRDSi9oBxB7yvSsf4j
         dsHmWEPF+LVre02U0LbLvkycL/V8BEkePvRaqGAxOXknrwOFYCFZTRsjKWgUZqr3ZN5r
         anPKl22pIQ9oRZc3JXwyI9iAc3bgkm0Snm1e4Un2b01aZ7/6S6H42mB2alDm3TEqhcmP
         IZCg==
X-Gm-Message-State: AOJu0YxegijIQGMukqgOcJuHBgAU3FMN6gF3zQM6OSRt6mV2uvqmEmOz
	KGTbVvlQ44iC5lJMUH0SqsTmlA==
X-Google-Smtp-Source: AGHT+IGSF2HngHygQA4Y7YnYdrfVQgHOdTH4TwIDyk7AfCHxUNwZFWIw838AnPSNpvmOZaszxBFOuA==
X-Received: by 2002:a2e:8e6c:0:b0:2c6:efc6:946f with SMTP id t12-20020a2e8e6c000000b002c6efc6946fmr3836568ljk.30.1700219054347;
        Fri, 17 Nov 2023 03:04:14 -0800 (PST)
Message-ID: <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com>
Date: Fri, 17 Nov 2023 11:04:13 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Devise macros to encapsulate (x & -x)
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen Devel <xen-devel@lists.xenproject.org>
Cc: Consulting <consulting@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Jbeulich <jbeulich@suse.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Roger Pau <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/11/2023 10:17 am, Nicola Vetrini wrote:
> Hi all,
>
> As discussed in this thread [1], which is about complying with MISRA C
> Rule 10.1,
> a macro was introduced to encapsulate a well-known construct:
>
> /*
>  * Given an unsigned integer argument, expands to a mask where just
> the least
>  * significant nonzero bit of the argument is set, or 0 if no bits are
> set.
>  */
> #define ISOLATE_LSB(x) ((x) & -(x))
>
> This macro has a gained some calls in the subsequent patches in that
> thread, but concerns were raised around the fact that it would be
> better to devise a macro that evaluates its argument only once. A
> proposed solution is this (thanks to Jan Beulich):
>
> #define ISOLATE_LSB(x) ({ \
>      typeof(x) x_ = (x); \
>      x_ & -x_; \
> })

Of course this was going to explode.

This isn't even the first time an unwise attempt to do single-evaluation
has needed to be reverted because it doesn't work with Integer Constant
Expressions.

Switch it back to the first form.  It's obviously a macro to begin with,
and not likely to be used in cases that have side effects.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 11:06:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 11:06:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635059.990774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3wfo-00020f-FD; Fri, 17 Nov 2023 11:06:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635059.990774; Fri, 17 Nov 2023 11: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 1r3wfo-00020Y-CT; Fri, 17 Nov 2023 11:06:08 +0000
Received: by outflank-mailman (input) for mailman id 635059;
 Fri, 17 Nov 2023 11:06: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=k5Y+=G6=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r3wfm-00020N-B7
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 11:06:06 +0000
Received: from mail-wm1-x336.google.com (mail-wm1-x336.google.com
 [2a00:1450:4864:20::336])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d530e99-8539-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 12:06:05 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-40906fc54fdso15720025e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 03:06:05 -0800 (PST)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f6-20020a7bcd06000000b0040a463cf09dsm6618649wmj.33.2023.11.17.03.06.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 03:06:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d530e99-8539-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700219165; x=1700823965; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=fwicgPJbbfF3eGz9emESahdEAisWhp87PEaI2LV6Qk8=;
        b=KJQepYl4o9lDEwiVNPR4U9ZrgMpXxkSFoKmj/ayIQIclIw4oPOYo2ftt67mCIFaqXm
         B3olOTe9jvGjt30lYougLw4cpPo5BFzHtYSkMlOWuV6epW1cIWJ+nWMyeb/UnXWTRNrb
         YbWcj/zv199+Ja8CTR/clR3GLHP4addh9yZl8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700219165; x=1700823965;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fwicgPJbbfF3eGz9emESahdEAisWhp87PEaI2LV6Qk8=;
        b=lwiuD1roAIwY8V5K9Pa+DtnsgiACmvjJu6ppQnMvTUpikM+XyLasNGYtGktsWz6QJ/
         EQfr+QFF3hivRG0t6jxmainneISGXfZa2qvsgvaxQz+d3gb7XUeKf0STIUI8hySa5Xcm
         TH+cSpbY88MhBR6znmVXimNnXk5vGVon4VABnLFV+FsqeOCbrb1BUC6ZHitu1zGGO0Ru
         YWTIcjyJo+7nPwjyNeFJINCMzfr8ceCusyT6XGxDoAO10STn32fRifykHZ9z5IRju+vI
         C7AWWeCXHgDESizcM+Uvd1XcwU+5YnDeAXzGdNX1rn8bsFVbB5vNN3do2UYpziprAZAR
         Muyw==
X-Gm-Message-State: AOJu0YxKIXXmvAS9U9HYJFac53L7pLWl9Iumq1CfopDnI3DGSTWgEIbg
	NjuOlDnoDoGScOqv/aiy8uRtEpk0ILp1jeczyzQ=
X-Google-Smtp-Source: AGHT+IFS/MhIF10ApWoilQaoPlDMUYzSIBUVw5cNKiEhQJ262eDGluVBXABSz/H/571m0dXTrGRPhw==
X-Received: by 2002:a05:600c:3ca2:b0:408:3c9e:44b7 with SMTP id bg34-20020a05600c3ca200b004083c9e44b7mr14459016wmb.3.1700219164782;
        Fri, 17 Nov 2023 03:06:04 -0800 (PST)
Date: Fri, 17 Nov 2023 11:06:03 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org
Subject: Re: xen | Failed pipeline for staging-4.17 | 28f44b60
Message-ID: <4a7c36d2-d8bf-4eba-814c-5f8cae0cecf3@perard>
References: <6553d80525384_2ca04b0436ee@gitlab-sidekiq-catchall-v2-548c659f69-wtllv.mail>
 <6efe7a0d-eb87-42e8-aeec-1276e40574ed@suse.com>
 <3cbfffc2-4c3e-4132-be05-1787e4f71e3c@perard>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <3cbfffc2-4c3e-4132-be05-1787e4f71e3c@perard>

On Wed, Nov 15, 2023 at 03:04:59PM +0000, Anthony PERARD wrote:
> On Wed, Nov 15, 2023 at 11:11:30AM +0100, Jan Beulich wrote:
> > On 14.11.2023 21:26, GitLab wrote:
> > > Pipeline #1072370735 ( https://gitlab.com/xen-project/xen/-/pipelines/1072370735 ) triggered by Ganis ( https://gitlab.com/ganis )
> > > had 4 failed jobs.
> > > 
> > > Job #5534997591 ( https://gitlab.com/xen-project/xen/-/jobs/5534997591/raw )
> > > 
> > > Stage: build
> > > Name: ubuntu-focal-gcc-debug
> > > Job #5534997608 ( https://gitlab.com/xen-project/xen/-/jobs/5534997608/raw )
> > > 
> > > Stage: build
> > > Name: alpine-3.12-gcc-debug
> > > Job #5534997597 ( https://gitlab.com/xen-project/xen/-/jobs/5534997597/raw )
> > > 
> > > Stage: build
> > 
> > These three failed due to (once again) too little disk space.
> 
> Runner is "gitlab-docker-seagull".
> Looks like the cleanup task that I've setup sometime ago and run
> weekly only isn't enough anymore. Sorry.
> I'll look at running it hourly instead.
> 
> > > Name: opensuse-leap-clang-debug
> > > Job #5534997599 ( https://gitlab.com/xen-project/xen/-/jobs/5534997599/raw )
> > > 
> > > Stage: build
> > > Name: opensuse-leap-gcc-debug
> > 
> > Here it's unclear, as the log referenced ends too early.
> 
> I had to log into the runner to find out, because no artifact as been
> uploaded to gitlab (which would have a more complete log).
> Turns out that this runner also got into a "no space left" situation.
> This time, runner is "gitlab-docker-swift".


Space issue on gitlab-docker-* runners should be fixed, with
https://gitlab.com/xen-project/xen-gitlab-ci/-/commit/4f383bdf4c9353f9ed4097dcbbb76f30492740f3

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 11:15:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 11:15:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635063.990784 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3wp4-00051q-Bp; Fri, 17 Nov 2023 11:15:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635063.990784; Fri, 17 Nov 2023 11: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 1r3wp4-00051j-93; Fri, 17 Nov 2023 11:15:42 +0000
Received: by outflank-mailman (input) for mailman id 635063;
 Fri, 17 Nov 2023 11:15: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=2+Qn=G6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r3wp3-00051d-CJ
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 11:15:41 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a372c2d1-853a-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 12:15:39 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A88A94EE0744;
 Fri, 17 Nov 2023 12:15:38 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a372c2d1-853a-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Fri, 17 Nov 2023 12:15:38 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen Devel <xen-devel@lists.xenproject.org>, Consulting
 <consulting@bugseng.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Jbeulich <jbeulich@suse.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>, Roger Pau
 <roger.pau@citrix.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>
Subject: Re: Devise macros to encapsulate (x & -x)
In-Reply-To: <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
 <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com>
Message-ID: <7f4563916d287a461c7ae0378d97ecb0@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-17 12:04, Andrew Cooper wrote:
> On 17/11/2023 10:17 am, Nicola Vetrini wrote:
>> Hi all,
>> 
>> As discussed in this thread [1], which is about complying with MISRA C
>> Rule 10.1,
>> a macro was introduced to encapsulate a well-known construct:
>> 
>> /*
>>  * Given an unsigned integer argument, expands to a mask where just
>> the least
>>  * significant nonzero bit of the argument is set, or 0 if no bits are
>> set.
>>  */
>> #define ISOLATE_LSB(x) ((x) & -(x))
>> 
>> This macro has a gained some calls in the subsequent patches in that
>> thread, but concerns were raised around the fact that it would be
>> better to devise a macro that evaluates its argument only once. A
>> proposed solution is this (thanks to Jan Beulich):
>> 
>> #define ISOLATE_LSB(x) ({ \
>>      typeof(x) x_ = (x); \
>>      x_ & -x_; \
>> })
> 
> Of course this was going to explode.
> 
> This isn't even the first time an unwise attempt to do 
> single-evaluation
> has needed to be reverted because it doesn't work with Integer Constant
> Expressions.
> 
> Switch it back to the first form.  It's obviously a macro to begin 
> with,
> and not likely to be used in cases that have side effects.
> 
> ~Andrew

Actually no usages of either forms are yet committed, just the 
definition of the first form, so nothing needs to be reverted. I should 
have clarified that, sorry. If the other patches in the series go in 
unmodified (modulo renaming, but that's trivial), they would use the 
first form.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 11:37:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 11:37:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635070.990794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xAD-0002dY-U8; Fri, 17 Nov 2023 11:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635070.990794; Fri, 17 Nov 2023 11: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 1r3xAD-0002dR-RT; Fri, 17 Nov 2023 11:37:33 +0000
Received: by outflank-mailman (input) for mailman id 635070;
 Fri, 17 Nov 2023 11: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=Shlr=G6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3xAC-0002dL-PP
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 11:37:32 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20620.outbound.protection.outlook.com
 [2a01:111:f400:fe12::620])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b0c4453e-853d-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 12:37:30 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7825.eurprd04.prod.outlook.com (2603:10a6:20b:24f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.8; Fri, 17 Nov
 2023 11:37:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.010; Fri, 17 Nov 2023
 11:37: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: b0c4453e-853d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Rum8oQOR3iQGk0IZvzRFHipmz/psfcMRMupdeLlkIuB9CogMyAlRMCInTuU7I0LWg/2AKe6uoM3mi97IHkJoOM6u9b/GXdpiC5x1nGSnPoYxgTsKxs/wFz+sAq+uAd0ILPqsJe8OtNuY4X2ylRNX+lR3yiYcCVdwSmHw74Eje1u9xRfr0+twhboujFxBdXIGPpMU12XilVi0BpHA3zSb2ESFOKEvU8HxLDNDsYG2tyKymVXekfOCZsClWW2p38bEcB8DSZg9/7wh9Em7IKqfE3fXPVKM2ehfNga1ai+Kye46NkHRBeLYsi0TaxHL69zouSmDAnxX6+qmOPGdM9agAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MQZcb6yG9pa+bTxdicrPmRUOINb/8fuu25Jzm2t3d90=;
 b=anMfFziYshURe1t73O0mkvKrtjHATTDkM2jKhXqkk5dOc75AbzGZ04+UAsh3DXl6AfVwSOX32e+Jh686cT6o2OuakX3w7xT3CRamDqi7bgcLobVp7I3tYzX3a6IeG2id8zts8DqRVeBXEln4/mG06nJx8em0ToH3rJMkqQd3mpFj4+yYpw3XU5YfaLFhLWtUTl+Vza/XpMyppy2vhb3/73Zt6zU5AQK3mGXXPqXpKLybMy6skKURfNscFQnOLWfxWAMr5AlRU6WhZNC+elDfOq6aHt/LCwqgwKfJYLTFnJLrfGDNvTw1JuemRFMUgTUVYzpmyqex56IHIanKY29KWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MQZcb6yG9pa+bTxdicrPmRUOINb/8fuu25Jzm2t3d90=;
 b=j4kfwJQFWRizksWMK8WnmLGVOjrb5ekmUHUUF/Ibo7Cehv7s9rjjWhziS6WyqNe/HNILrtx+zctsohfE33vxD/16734KnPi0HMTBxZTZoQAeQ+go/P3BOCvQSyiTJalNl+Gx6ulBQ/7FzGwf9pzvQVP0GyQmwzCc3rwkF4l1NN8KA+t9wtjYZcXO6Clkxkcyk7chgGyxZEysvT2xLGJJn1t3XGLv7HeBA4OX6Km5A+Q0bLAbeg2hhEgMwAjrSuG+C3DRyF8gZCPkobLgtJHSTsaCVHWYQxsEqzHP3Iae/HGdHLh1Yzg+l0H9oa46mB8V00ziDqw4LFJZlVM8qEK9oA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <35dad5d2-7ad5-40e6-916c-c421b1db5669@suse.com>
Date: Fri, 17 Nov 2023 12:37:25 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Devise macros to encapsulate (x & -x)
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen Devel <xen-devel@lists.xenproject.org>,
 Consulting <consulting@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Roger Pau <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
 <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com>
 <7f4563916d287a461c7ae0378d97ecb0@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <7f4563916d287a461c7ae0378d97ecb0@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0239.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7825:EE_
X-MS-Office365-Filtering-Correlation-Id: 8620a5d3-a6d0-418a-4ef2-08dbe76193a7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	D/U/JSnZizQrKrMZZgVTAchVJUamlJCbganpVQFy63WmAs5B/2tIb2P6JqbpH/YmekeUYKtV+QDxOeChcnV68Yl0spv9+3wOMVuKW2xojd4ie+5OM9kYNocRufVI77eH98H/B9rTe8QcXROV32jPM2tdvbxMSahguHtrUghzj4QqIY0EwvrOZljn6ldF2pmH4u6ZDUOL65VIHWET+HfroLhyxT4+J63fVoEEiH6mtwUcK2MJRJQzMZ6eKUwZUroZZpASltpu5Pds5WISKWOoqhsuBQl6Um/Id0Wbf8prH8DNcIc85cvMQ8I8BJamhP1kcbbZmr2Om79+M+U2LPLje7otCO5FeInwYb9mYSc8wdgJTbI9ywrwWB9GN6DlisLQdHIswmnk8IMtqnafHqpmh8M13DPfNXuOF8s/x45Hxx2p97Ov+3+erXhneTkXFKzy68CqDpSp/p/Jcgi+dNjrmgkXS9kv1AB/7BoapNFKjlW8svuuRn+mAKtgUe/iDgF/Ftx8nHlKkq8VVvkjZ0f82Pps+bCyIJbbgUsYep0NuOs6iDBWOTIRwotounfNIVC4U0yjf1VgKqRSbdxau7PEacU1QIXG5zj3taG09k6IyaGFYM73iMF+uYtkPcxLW0pRrSY/yPkgNFRTPhY7hKsHTQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(396003)(366004)(136003)(346002)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(83380400001)(53546011)(6512007)(26005)(6506007)(6666004)(2616005)(316002)(66476007)(54906003)(66556008)(110136005)(66946007)(8676002)(38100700002)(4326008)(36756003)(8936002)(2906002)(4001150100001)(41300700001)(5660300002)(31696002)(7416002)(31686004)(6486002)(86362001)(478600001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R0YvMU9KVWw3cDZOMEN4aXo2T0tDaXBmQ1JVR3BwdEM4d2VMV3pIeGJYbDJy?=
 =?utf-8?B?U2VJSnVpQzkyZmtRdHo0UEZUS1JuTXQvd0ZFcWRGeTB3bTBkN1RBVFZuMFRm?=
 =?utf-8?B?eUk1Yk9KNEdvZzU0eVhrWjNvc0I5MENmYXp0eWdsdldVdlM0alU3eDFST0Rr?=
 =?utf-8?B?bHlmRjVocGd6QmtnOTFqSVIrTGJXOEZTVkJIV1J1emU1ZnN0VkJyeEk5cTBV?=
 =?utf-8?B?UHZQekVqZ3NUcEhnMnV6Sjg0ZFdDZHVZWkF3WlBuODFtL05UY3BxbHFuOXhk?=
 =?utf-8?B?OTBvVWw0N2Z5aTNVeExJc0trWXNPTGgyUjVxd1A5SzVOWVRVWXpKR3FnQmc0?=
 =?utf-8?B?ZXJVVjdyUVE4aUdMOTV2dFMwaVZwK0dvU3NnbURPbEVBQUFocTRqa3pUcHlK?=
 =?utf-8?B?R2x1ZVJtakZKRTNTVm9tYjhibE55VVZib2N2OEpzNXgrK0sraHV1OUJndGtR?=
 =?utf-8?B?WlFLekNRM1pxTzgycmZmN1ZaUUZXekhITG15bzYyMFZrb1ZsT0diSjBOZHVK?=
 =?utf-8?B?MHpwNVZBd2hMcEl5c3VpUVpSbHVSK0ZqUTlOVnBKV2o4S29LRjVqUTJxSENq?=
 =?utf-8?B?MVVnK2V0K2tvTkU0bVFRUFU2dytpZ0xWWWlXU0EwZmR5bGRLWVdCQTJKOC9W?=
 =?utf-8?B?aFExS3JPNmlieG5xUXBNUmcxWk90cUpmSlo5MmMzc1VlMmRVQmJLNit2eS9z?=
 =?utf-8?B?MHV5SlFVbStDaDBJd2RxNXZPWndmdnEwc1UwOU1TM0U1MG9sWkkyc2VTQXlW?=
 =?utf-8?B?eWcxelJyajIrcFF3VFNORkZLMXBZUm9oYW1keGN2TTRaUm9SQk56UngxM0ha?=
 =?utf-8?B?eVNWcDhDelF6eUtYazdhdnBBa1YxVE9mZW9EVFkycXY3aWNGVHhKU1dHYkdY?=
 =?utf-8?B?a2M4SUFkUWFtSEs5VFZnNE50SDNIeER1eVIrdDhBcmVlaG56OWtBcVh3cHVC?=
 =?utf-8?B?ejJydnBsQmlkb2Q3WVVjdXB4dTBPU3ZvVEZCcFFReEoxMm95ZC9kVGNLQ3ls?=
 =?utf-8?B?Y3lQZGVNRzFLR3gzT2NiVkZtS0ZWRnpWeXQ2V29YZXUwRnU3S3c3TXNlaWsw?=
 =?utf-8?B?Y1lzaUtGcUo4UXRQM2NsWHhiKzZvSGUva0pVT0VONzZycmdWWHQyQXJwZmcr?=
 =?utf-8?B?dzN2cmt4NFFCWlpSb0tGNjZuT1dOVjVDdjNCNmtOcjEya0pxVEVETDJTdnNm?=
 =?utf-8?B?NzVrRkdUWFNhcWIremVuUUhyVUEzMy83SFJEOEpudndabU5NeXFnWUJSVHJM?=
 =?utf-8?B?cDBvYm1RVURsOHlpS0hkcUJyeTRrL1I0bzA3V1B5Z3NLVVExaElnYUxvemt5?=
 =?utf-8?B?VWFtQloyQkxJRlpyU1gzSDRyZTRrL0RYYTBpbVZyNFlzeVJSQnRWTEgvdTI2?=
 =?utf-8?B?TUFiRFdwTXdCeFZuQjBpdkpTNEFTdGZuTlM5MlNuSVFBQUhsTXM5cjE3YzF1?=
 =?utf-8?B?eFlYUHRPZVRWYUFhcVZLV2Nib0gwUnF5NHJqRUpsZ3JmendJbFQxK1lmN3du?=
 =?utf-8?B?NlNmbzQrM1E1YzdOb29CbWFZUzlBZGplNHhnZ1dwZ2czclJWY3FaSVpUMDc4?=
 =?utf-8?B?clpBa0hjNmRyMFlxbjBkL05hZGJPbjZtMHFqYktwd0hOVDJ0SGVHUWRFM2Mv?=
 =?utf-8?B?UUl3UUFmUGt3aGJBUkE3cGJnbFNFTGhDN3NScmFWM2E4dUhNcC8rUk1pYnNu?=
 =?utf-8?B?NFFyUk1IQ1REY1VlQno0eG5UTWVucTVYRFlDbXd1T1IwZW1hSHE1MWpaQWt6?=
 =?utf-8?B?ckJyNkUxNnAvQXg2a1d2dHlrSWtwYzFKdWhTSi9OakttaS81ZitNL1NiemQr?=
 =?utf-8?B?VU1JdE9jVit4N2dtTVlVRFhNcy80TmFSbW1hQnM0WklsTEl4WlV3VVlwMTh6?=
 =?utf-8?B?TnJVdmM4V0N6NzBkOUJoZDJqc3o0cXFEdDlRU2JQQmtUSWJpVnRReWIzRTFP?=
 =?utf-8?B?SlAzb3JtNzZwcDNlM0IzSjl2aXJMZm5ZTG5MRHpMbWcwSWtWMkV4UnJRYXg3?=
 =?utf-8?B?NncwWlNtSWl3TmVZemF6T3hvWmV4M3J6WHQ1K0tmSXJWeGtTQU9pcW9qTFh6?=
 =?utf-8?B?eVZPZXVHL1l0WndFTmNQcnFwTzU2eUFsZmRKS3h5N01IenA5U2x6N2g4a1lT?=
 =?utf-8?Q?MnviLlXFl2zfLGOsGKEMAgSj/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8620a5d3-a6d0-418a-4ef2-08dbe76193a7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 11:37:27.9568
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +2gZstRTpw2zczQ4hA8kndoqfdRtUDqYXIiz4Fp7uy7GX1+EGO7GAuw3RE++uSMiN6Vv/ZsqLLit5KHawMtNxw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7825

On 17.11.2023 12:15, Nicola Vetrini wrote:
> On 2023-11-17 12:04, Andrew Cooper wrote:
>> On 17/11/2023 10:17 am, Nicola Vetrini wrote:
>>> Hi all,
>>>
>>> As discussed in this thread [1], which is about complying with MISRA C
>>> Rule 10.1,
>>> a macro was introduced to encapsulate a well-known construct:
>>>
>>> /*
>>>  * Given an unsigned integer argument, expands to a mask where just
>>> the least
>>>  * significant nonzero bit of the argument is set, or 0 if no bits are
>>> set.
>>>  */
>>> #define ISOLATE_LSB(x) ((x) & -(x))
>>>
>>> This macro has a gained some calls in the subsequent patches in that
>>> thread, but concerns were raised around the fact that it would be
>>> better to devise a macro that evaluates its argument only once. A
>>> proposed solution is this (thanks to Jan Beulich):
>>>
>>> #define ISOLATE_LSB(x) ({ \
>>>      typeof(x) x_ = (x); \
>>>      x_ & -x_; \
>>> })
>>
>> Of course this was going to explode.
>>
>> This isn't even the first time an unwise attempt to do 
>> single-evaluation
>> has needed to be reverted because it doesn't work with Integer Constant
>> Expressions.
>>
>> Switch it back to the first form.  It's obviously a macro to begin 
>> with,
>> and not likely to be used in cases that have side effects.

I guess Nicola's original mail was lacking some pieces. After the issue
with the statement expression form was pointed out, I never asked to
replace the existing (already committed, ...

> Actually no usages of either forms are yet committed, just the 
> definition of the first form, so nothing needs to be reverted.

... with actual uses in MASK_EXTR() and MASK_INSR()) macro. Instead I
was suggesting to have a _second_ macro for use wherever Integer Constant
Expressions aren't the limiting factor. E.g. isolate_lsb(), deliberately
lower-case to look more like a function (and thus communicating that its
argument indeed is going to be evaluated only once, as would be the case
if the whole thing was a function).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 11:39:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 11:39:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635076.990805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xC1-0003lj-Cq; Fri, 17 Nov 2023 11:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635076.990805; Fri, 17 Nov 2023 11: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 1r3xC1-0003la-9r; Fri, 17 Nov 2023 11:39:25 +0000
Received: by outflank-mailman (input) for mailman id 635076;
 Fri, 17 Nov 2023 11: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=Shlr=G6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3xBz-0003lS-US
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 11:39:23 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060e.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f3dc98c5-853d-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 12:39:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8771.eurprd04.prod.outlook.com (2603:10a6:20b:42c::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.11; Fri, 17 Nov
 2023 11:39:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.010; Fri, 17 Nov 2023
 11:39: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: f3dc98c5-853d-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZXTJyuf5EQL5L7knLmhhLxi7YNqZO4agApaZ7yY/KuzC1+GCzpLUh+A5hIj8vXzh1kBygxgQuNmlLxx9bbWn4m11FGLqDu7tC1Ef5Z2f9Sd7n7imin6XhkRIGeaFVczghOoo/zOOVDDOeYEROwPlIk4lvq3A1GYyBCuPYQzeD5Mx6zxxV6gtDqLiIDZk7AKZyEmWtYUWaz6/t9la8aA13aN38udSgu3p9zejLkqLKTqUhtOuLRLTrPmJo5DBEOL9VYrbTAO1Wskyph37nZHIfUYcTsuleeMM3215VYPFqSnRm2spQF4oBo0CWj8gdbyjLMS1raPucJINBxzeBpBiKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Xy4UtCTwjIpla34dHFXHMEV+J0x9hnovQCzacCqo3Ug=;
 b=e2qapYBffWKiO28TBdxBllI1ULwuxmq8+nze+BR+6+rqF4oLHdtfUV1HQt+AzUKVOob6d89d7i8KQ6wtlx3uQpyR9Lcb+porzVy57VHG3hYK86eioyxG5ZSxAyIL2y+O3n4ITCEqeM860+nzPdFkmQuYWCw//1FxRgReYH2D93YDzixm4TsPtEwYTou56PZ2ooETfvNbUea426T1/RiqWehoHVBKurSl0PlwhDE711FW03GHMAIYjv/u2MyXXiymF3rSup1bUuYx2rAqqtKhvYTkUvZ+BkarOmrkOfPYP+LJY5BfylSSNEG69n5+FQaiFC5O06O9TjeelRPUeYWetw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Xy4UtCTwjIpla34dHFXHMEV+J0x9hnovQCzacCqo3Ug=;
 b=OHANToCTZ5tN2ilJ7Fp1ZMiQj2TkAlibO20uRJmRI2iF2gy6xlSU1NB9IYdbu+SQbQtorqqbv+lBclQDSIIgi/Jcapdrrfwpp4Ck8RCyoD+99LUIrvHg5/QmcaXSMqqE8ybAnLLNJy0fzUiumjre8BwmVNMdR36bkVvxGJifzICxCv4cunXF44doBRipUet/tnFY/j32FMJU0OPjw3W5rFm0VarQd1NEUWmFJU4cJkuumT/TxVP39hQs4yg3qborRixGDeYYVVE1GoiIgL5L2CDEAAt6zYQnMabWCn2TSX6x/4LnOnov/dvr7IanP0XekffyJp+HeG2Gu0XAW3QPHA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <683af6f7-1110-4d5a-9d42-6893398fae84@suse.com>
Date: Fri, 17 Nov 2023 12:39:17 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Devise macros to encapsulate (x & -x)
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Consulting <consulting@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper3 <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Roger Pau <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Xen Devel <xen-devel@lists.xenproject.org>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0048.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f0::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8771:EE_
X-MS-Office365-Filtering-Correlation-Id: 3aa0a871-94cd-41c8-46fe-08dbe761d66f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RwDA6mU7SiJEqCWpFDTFEmDPymkBswAiwEl9VDCO7RA67ppVKNgCHFQykuh7+OZaAh+72/V0qt2ayl0S7dZjfXR6kRWmuon+Qr7hJwzEILwdkzHWE0cSQrFU8rgsEGA4Fs79VqYqdu4NtieO1MXxFvYfBKievzQ2Aj5w86xB805lyrEmUxQhP7nSGSksA52/7L/mj6EDkudlM9eAtbBpuFkScTCW+qlGoZ5fk0ToqEihtXLZzFCn2TZsJ43KYhCfPJa+Ao3eU2U612jaC/JgdA0E/XxsPQpDH2toIIBAwq0dmE5BZV0dirZyQ55v3WGAxO8HooyRJC+6EsVRs0SqSfOGKjSUbyPf3noh+GnCPm1/FdUMEptmZDptQvI73G/tF5DvAKbGBwxNIkXP8EuDuQM/68Oe+zwsT38f9FpXu6W65htKtlfIJoUTZJxTQ2JfO9uoFjt/1BJF+XwELJlE/nd4ysur9U2wVSryPeAij2H+v3nHkJQib0PBK4OdGhjAgKFkk1vTBvF+IuCOR2DA5VcGSK8UYqYjzeMrCZMvo5RDd5LHbvpXHw8jNnUSRVPdsRBOzoONalUfSwSTHoVCtG9eTLzpSqmbCViQsdCjdR3mNZ5ubMDhHEVAZVva6hyYhE6d1AVuwxsBaf53G1Spsw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(39860400002)(396003)(366004)(376002)(230922051799003)(451199024)(64100799003)(186009)(1800799009)(53546011)(6506007)(6512007)(6486002)(36756003)(38100700002)(6666004)(2906002)(26005)(31696002)(31686004)(86362001)(5660300002)(8676002)(8936002)(4326008)(7416002)(2616005)(478600001)(316002)(6916009)(66556008)(54906003)(66476007)(66946007)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WTl6Nm9KcHl5UWwrckFTeGM3U3NJa09jREtnRE4wVW5hTEVuYUhuYlRRa3B1?=
 =?utf-8?B?OTJPNWc5dmF4RjJTeG5aSE9jTkVRb0pRNEoya1VuMmlqOWJmRDY5eEZKN1NT?=
 =?utf-8?B?UWZvK2plK2R0M09aYlBhVnZabmVJdUxPOTJrbjN1KzM5K0QyaFlEMy9YL2ZG?=
 =?utf-8?B?WlViRWFOR3NSZTFTMjZwYnRYdkJENk5OWUhUMHBRaytWQjZrQnp5TXJZcmFv?=
 =?utf-8?B?dTFaVmVXZ0VIUHRpc2hLemYzbWduU016MFlKOUJkTlY1MjlIb0E0QzFub3JM?=
 =?utf-8?B?SjA1ck1Cc1hhZDdsVmRXNVZWMmFyaHluQnlvcVEwbTlsTmhPQ0tyYzJNUndT?=
 =?utf-8?B?S2JTOFUxUjMzVldBamFLQzVMN1pnRkhhZzlGZUVnMkdha2Q4di9kMm1melBq?=
 =?utf-8?B?cEx1d1FxYjEybUliNXpLTm00YitQKzRNN0M4UmJPN1UzN0xIalhCcDlRYnhi?=
 =?utf-8?B?dzM5WWh1ZXNJSUx3NnVua3gzbDhLR3d1L0tZK0x3dTVuWW4vWjBBanU5cU44?=
 =?utf-8?B?OHcxTFR2elVQbWVDUzFHU1RveE41WTAyeThoNXN3MndXdUZrMlBiRnF4Nisw?=
 =?utf-8?B?VkpSWHdjL01aQzZKazNsZnlDcThDVUNkOEhnOUNCcW5RT2c4bXM2MmptMkxl?=
 =?utf-8?B?eFBCNk1KOXBOcjRoU29EbStxUGMzNTFIWGdpN1dWU1ErTkRnVVRXL2VyQ1NZ?=
 =?utf-8?B?eml3cEo4dVBPaWo4dGl5SldKMWJEenlRYWE2dytQSm1TTUVsbWNZekZCaEZu?=
 =?utf-8?B?aVdmVnZHMXpZdU9CTzNtcVJpUTZ5b1ROc2xEclJObzc5Z2RNVWxTSHVsdk1F?=
 =?utf-8?B?aEdVMi9iNXhTbysxak1rYldVczBQTWhkSUkrL2poQ3NKR3R4T21mRHhUMXJp?=
 =?utf-8?B?RjVFR2JnaDVVS1l6Q20yQllBdGFSdXRwZCtWdE0xMXA3djJMdDJBa01idHMz?=
 =?utf-8?B?djRRdmI5M2FLOG9RZTFMQ3pLYm1lUmZUWHZXcmlsV1J4RVZlTHVTcDZVM3d6?=
 =?utf-8?B?eWt0MVEvSkdZOGdCYlIzNkFSb2Zwdkt4V0t0cStBOFVmY2NsNjhSdEdUdGli?=
 =?utf-8?B?OThIV0J3WXBkVkNBRFhZWjRUTWh3VENrSVNQSDE1ZjVkdkZNcHI4WDFleVNM?=
 =?utf-8?B?OVB1cFVsbzJpdnNXUVZFVXc5dmNTeVJhQzZ3Zi9RZVZCc3NBeWJDKzBaSHVB?=
 =?utf-8?B?OHBGK2kxUDVmWTJMNnJnR21mOVhDSTJmMUFaVmtuUXM1TmNmNWtCWldLeS9C?=
 =?utf-8?B?U3pxTkordnR3QWE2Q2hJTElxeFFEVUhKdnJVSGxrM0U2T1pOVkUrL1YrbHYy?=
 =?utf-8?B?UVl2ampYUmQxaGl0eXJYaXc0MG9RSjYvVW9kQklFellzcjBIRmRiQiszMWk1?=
 =?utf-8?B?VjcwbnY0R1NlUVh2YlpuamR5cFhMcXV1aFZpU1RLWGZ6UmpYSzRpSWJLd3Yx?=
 =?utf-8?B?Mmh1dzhyZTRhd2ZIb3dlU1Izem1iQ3czc0pCQlBlMktzZ2FCTW5IWGl2a1Qx?=
 =?utf-8?B?dk9IaGM0ZHg3ZXNUMXdPaWtzenFBTGZidDBidkRVTVdJdU0rTVE4UVFCcGJu?=
 =?utf-8?B?bG1EZ1lOM21FYTNQOEZZZEM2ZW9WUHJRRWlVK1FJSE1EMlVyVFMrNEU0UGM4?=
 =?utf-8?B?NHk0UzRQNEhzRVRuT3JZMEN0dnFjM3dNQjNBdGdXRGVLRUlMdk5IVXdzQW5P?=
 =?utf-8?B?ZFQxdWttckhjV3dmNEgyMFpsQzlUVEFtUXMyZUpJYUMwVGIrZWRVL0FTOCtZ?=
 =?utf-8?B?aXlDYndvREpKZmpaRUd1OEZDUTBLbUZBUWV1dy9DSllqRDFvRkhLWndGZytt?=
 =?utf-8?B?TkV1SjZsUmg1ZjNoai8yLzc5TE9XWFErWERVZEFRMWxhSVRkOFBwa2VPU2hN?=
 =?utf-8?B?bStqZENicUk3ZmtCbDJHRWFjRjRxaER6T3hBZ0lZMkhUb3NNcU02L2IxQWpo?=
 =?utf-8?B?YTNUQ1NubWRYMVcvNTR3OVJCWVJ2aU02and3U0s0bHc5cHZVWGhvVE5HM2kx?=
 =?utf-8?B?WVlWcUU5MzB1MGRLeTBoN21tenZDZnM1LytLckxBSXk4clgwcGFreWRxWUt2?=
 =?utf-8?B?MkRHQmF5MWVNOWVySFpMMFJiRysrN2lPa2g2U3l0TE1ZQ3MwY1Mrak82Rllk?=
 =?utf-8?Q?fgc0K3xg+8lqxrKccqnbGYFNk?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3aa0a871-94cd-41c8-46fe-08dbe761d66f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 11:39:19.9704
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eLO58AsBlb4sT5rx4XEeFauFQH3JQrkRzQzPiiTXBtjmqB8v5ctTZH0azcglbxxU6qvASNSFXbaO2CP9Ne5DbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8771

On 17.11.2023 11:17, Nicola Vetrini wrote:
> Hi all,
> 
> As discussed in this thread [1], which is about complying with MISRA C 
> Rule 10.1,
> a macro was introduced to encapsulate a well-known construct:
> 
> /*
>   * Given an unsigned integer argument, expands to a mask where just the 
> least
>   * significant nonzero bit of the argument is set, or 0 if no bits are 
> set.
>   */
> #define ISOLATE_LSB(x) ((x) & -(x))
> 
> This macro has a gained some calls in the subsequent patches in that 
> thread, but concerns were raised around the fact that it would be better 
> to devise a macro that evaluates its argument only once. A proposed 
> solution is this (thanks to Jan Beulich):
> 
> #define ISOLATE_LSB(x) ({ \
>       typeof(x) x_ = (x); \
>       x_ & -x_; \
> })
> 
> However, it can't be used in all call sites that the previous macro 
> would have once that series is committed, as can be seen in [2]. 
> Therefore, while the implementation looks ok,
> a case has been made to have separate macros, of which the latter form 
> is preferred.
> 
> The following points require some thought:
> 
> - where the single evaluation macro should be placed?
>    One proposed location is xen/include/xen/bitops.h

Or next to the existing one in macros.h. I can see pros and cons for either.

> - is the proposed form actually the best, or maybe it could be an inline 
> function?

How would you make such a function type generic?

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 11:44:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 11:44:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635080.990815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xH6-0005FM-1c; Fri, 17 Nov 2023 11:44:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635080.990815; Fri, 17 Nov 2023 11: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 1r3xH5-0005FF-UK; Fri, 17 Nov 2023 11:44:39 +0000
Received: by outflank-mailman (input) for mailman id 635080;
 Fri, 17 Nov 2023 11:44: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3xH4-0005F9-M3
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 11:44:38 +0000
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com
 [2a00:1450:4864:20::233])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aeafc375-853e-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 12:44:36 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2c50cf61f6dso24620511fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 03:44:36 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 n13-20020a05600c500d00b004083996dad8sm6919097wmr.18.2023.11.17.03.44.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 03:44:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aeafc375-853e-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700221475; x=1700826275; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=6acT+zOE4DVW55AXMKMPraaarh0Wr+IxcAkBMw7xQYk=;
        b=gthb8S14/kzMHOuCJQ3I5uh6qh0iNsHoGj+IM7w4fJxnTkolU3XzYUD+w6d7r5yFiP
         kRDs5/3m1w8JkOlGY0BmgeJSdavdLZ/SlHJqSf7eaW4l/sEgjooCt7IiwSgxAoTMlaFu
         +oBRwmANZx/fK8xmbFhpUtf1SnpUYnXmtRmX0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700221475; x=1700826275;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6acT+zOE4DVW55AXMKMPraaarh0Wr+IxcAkBMw7xQYk=;
        b=dwd25gZJKdv1I3iPk/ru9CajteBR4dRIQXfE6pxQE9Q/GxNrg6RCgJEsdMM0/WCOg9
         pWTE9KMkq4uwTMKc0ohbuJIaf9XeKYT9Op0dKhjW/XyrMyn34RkWTzb1pzfcjvj+3TnZ
         48XmYQYQUZlAF+/bKu4wsmHPOjmJYzDzOxhE3EVnEAbAbNStXzvncaoqA4EliyTBDcoS
         FDqa3X36a5ekr74HnfDL2SL+O7sQwHdMsLcnBykkSM1lj2kKTkhINtL4TrY76X0iWIpZ
         ELJCgh2vH81jT33iG0PsDyTT2TBaPOF1xLCd6r8alctpFFgYQ3u/UHsZMW/rZVr6K1Ze
         PiXA==
X-Gm-Message-State: AOJu0YzewxSmnyO6Sslei0uJRoZy5/AriKDuxfqRv0/kvzh4CQoRfqTv
	vPzM8NalqtPzju7uEUglPBrd7w==
X-Google-Smtp-Source: AGHT+IGWzO6rzG5SSttMgmhDr0NNqPHWG5JVjfVEnBJ6K61otFJ0lokTV1VATssH4PYPokePCd6fLg==
X-Received: by 2002:a2e:9b13:0:b0:2c5:2813:5534 with SMTP id u19-20020a2e9b13000000b002c528135534mr9234699lji.51.1700221475597;
        Fri, 17 Nov 2023 03:44:35 -0800 (PST)
Date: Fri, 17 Nov 2023 12:44:33 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.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 v7 2/2] xen/vpci: header: filter PCI capabilities
Message-ID: <ZVdSIUSDA5den3a3@macbook.local>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-3-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230913143550.14565-3-stewart.hildebrand@amd.com>

On Wed, Sep 13, 2023 at 10:35:47AM -0400, Stewart Hildebrand wrote:
> Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
> Hide all other PCI capabilities (including extended capabilities) from domUs for
> now, even though there may be certain devices/drivers that depend on being able
> to discover certain capabilities.
> 
> We parse the physical PCI capabilities linked list and add vPCI register
> handlers for the next elements, inserting our own next value, thus presenting a
> modified linked list to the domU.
> 
> Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
> helper function returns a fixed value, which may be used for RAZ registers, or
> registers whose value doesn't change.
> 
> Introduce pci_find_next_cap_ttl() helper while adapting the logic from
> pci_find_next_cap() to suit our needs, and implement the existing
> pci_find_next_cap() in terms of the new helper.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> v6->v7:
> * no change
> 
> v5->v6:
> * add register handlers before status register handler in init_bars()
> * s/header->mask_cap_list/mask_cap_list/
> 
> v4->v5:
> * use more appropriate types, continued
> * get rid of unnecessary hook function
> * add Jan's R-b
> 
> v3->v4:
> * move mask_cap_list setting to this patch
> * leave pci_find_next_cap signature alone
> * use more appropriate types
> 
> v2->v3:
> * get rid of > 0 in loop condition
> * implement pci_find_next_cap in terms of new pci_find_next_cap_ttl function so
>   that hypothetical future callers wouldn't be required to pass &ttl.
> * change NULL to (void *)0 for RAZ value passed to vpci_read_val
> * change type of ttl to unsigned int
> * remember to mask off the low 2 bits of next in the initial loop iteration
> * change return type of pci_find_next_cap and pci_find_next_cap_ttl
> * avoid wrapping the PCI_STATUS_CAP_LIST condition by using ! instead of == 0
> 
> v1->v2:
> * change type of ttl to int
> * use switch statement instead of if/else
> * adapt existing pci_find_next_cap helper instead of rolling our own
> * pass ttl as in/out
> * "pass through" the lower 2 bits of the next pointer
> * squash helper functions into this patch to avoid transient dead code situation
> * extended capabilities RAZ/WI
> ---
>  xen/drivers/pci/pci.c     | 26 +++++++++-----
>  xen/drivers/vpci/header.c | 76 +++++++++++++++++++++++++++++++++++++++
>  xen/drivers/vpci/vpci.c   | 12 +++++++
>  xen/include/xen/pci.h     |  3 ++
>  xen/include/xen/vpci.h    |  5 +++
>  5 files changed, 113 insertions(+), 9 deletions(-)
> 
> diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
> index 3569ccb24e9e..8799d60c2156 100644
> --- a/xen/drivers/pci/pci.c
> +++ b/xen/drivers/pci/pci.c
> @@ -39,31 +39,39 @@ unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap)
>      return 0;
>  }
>  
> -unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
> -                               unsigned int cap)
> +unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
> +                                   bool (*is_match)(unsigned int),
> +                                   unsigned int cap, unsigned int *ttl)

Maybe this has been discussed in previous patch versions, but why
pass a match function instead of expanding the cap parameter to
be an array of capabilities to search for?

I find it kind of weird to be able to pass both a specific capability
to match against and also a match function.

What the expected behavior if the caller provides both a match
function and a cap value?

>  {
> -    u8 id;
> -    int ttl = 48;
> +    unsigned int id;
>  
> -    while ( ttl-- )
> +    while ( (*ttl)-- )
>      {
>          pos = pci_conf_read8(sbdf, pos);
>          if ( pos < 0x40 )
>              break;
>  
> -        pos &= ~3;
> -        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
> +        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
>  
>          if ( id == 0xff )
>              break;
> -        if ( id == cap )
> +        if ( (is_match && is_match(id)) || (!is_match && id == cap) )
>              return pos;
>  
> -        pos += PCI_CAP_LIST_NEXT;
> +        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
>      }
> +
>      return 0;
>  }
>  
> +unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
> +                               unsigned int cap)
> +{
> +    unsigned int ttl = 48;
> +
> +    return pci_find_next_cap_ttl(sbdf, pos, NULL, cap, &ttl) & ~3;
> +}
> +
>  /**
>   * pci_find_ext_capability - Find an extended capability
>   * @sbdf: PCI device to query
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index af267b75ac31..1e7dfe668ccf 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -513,6 +513,18 @@ static void cf_check rom_write(
>          rom->addr = val & PCI_ROM_ADDRESS_MASK;
>  }
>  
> +static bool cf_check vpci_cap_supported(unsigned int id)
> +{
> +    switch ( id )
> +    {
> +    case PCI_CAP_ID_MSI:
> +    case PCI_CAP_ID_MSIX:
> +        return true;
> +    default:
> +        return false;
> +    }
> +}
> +
>  static int cf_check init_bars(struct pci_dev *pdev)
>  {
>      uint16_t cmd;
> @@ -545,6 +557,70 @@ static int cf_check init_bars(struct pci_dev *pdev)

We might have to rename this to init_header() now :).

>      if ( rc )
>          return rc;
>  
> +    if ( !is_hardware_domain(pdev->domain) )
> +    {
> +        if ( !(pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST) )
> +        {
> +            /* RAZ/WI */

That RAZ/WI acronym seems very Arm specific (TBH I had to search for
it).

FWIW, it's my understanding that if the status register doesn't report
the capability list support, the register is unimplemented, and hence
would be fine to return ~0 from reads of PCI_CAPABILITY_LIST?

IOW: I'm not sure we need to add this handler for PCI_CAPABILITY_LIST
if it's not supported.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 11:55:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 11:55:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635087.990825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xRt-0008Iq-Vn; Fri, 17 Nov 2023 11:55:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635087.990825; Fri, 17 Nov 2023 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 1r3xRt-0008Ij-SX; Fri, 17 Nov 2023 11:55:49 +0000
Received: by outflank-mailman (input) for mailman id 635087;
 Fri, 17 Nov 2023 11:55: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=Tr9K=G6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r3xRt-0008Ic-KF
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 11:55: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 3ed18cec-8540-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 12:55:47 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40859c466efso14650435e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 03:55:47 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u26-20020a05600c211a00b0040775501256sm2394806wml.16.2023.11.17.03.55.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Nov 2023 03:55:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ed18cec-8540-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700222147; x=1700826947; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Kbp8v6A7pV0vR1R65wiZQS25OaKzEZu/oKSKdpv/tOI=;
        b=SOyKqWtYQETyBDsW5n1kuaHBKObpVwA8axIgTzoN+giwAOplEmLo3Nw2cFYSXvrfGE
         VPz10/17F3heGkXl9S9iK7cmA4FxIdJsTa9Dr5INgbypcPyJZVNNFiZLgNlDt9yDYGGc
         yo7o2I/HQ/EhMoXYN9VihfLj6p7EtxnXdRsYU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700222147; x=1700826947;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Kbp8v6A7pV0vR1R65wiZQS25OaKzEZu/oKSKdpv/tOI=;
        b=aOTJ2xwCUZg0aj6ofvGc7NpqdQsAHxxD/chwW49xmVBMWqZx/fnuhMZxQlhqG746ov
         pCv+vYnoOJl9sSoykeVCT0nu+qbKRW2v4C8xvZS6o0RkZF0I7zJK1Cn/m4/JXvsiC8mD
         eQ/y1aJDDAI3pgIVwLiSwW/l0AeA4rC/LOsD5CQYhVi7XMcrC54OIhVB9Hd6q9Os0SsI
         0CLpXZ+uzX5jUtnl6t4VQG+eBPlL9AJ1GiW+5nIFFbpgxMVX7QNwXtAaU+DMooHqB3lR
         VklMPzsU3v8Y/H3kcKTFhVCcNrlFSG70EPB8P1CQJC0k3m6kl1gkDHUc3l13N6Lwho6I
         DL+A==
X-Gm-Message-State: AOJu0Yyn92iynO4FnY34VFk3Q0bTI37syXUTtIvGd/wCnt7aI/9x24tr
	v407sWM2M3UiymZ+KvDMFZJkdg==
X-Google-Smtp-Source: AGHT+IFjBikGSe/zUEq/Zamh2hQg7g2jOyVaX5Ro3P2j6x/xMzdY343b8VqCLakPi/whz8SGBLuwvQ==
X-Received: by 2002:a05:600c:c0c:b0:405:3a3b:2aa2 with SMTP id fm12-20020a05600c0c0c00b004053a3b2aa2mr14566272wmb.37.1700222146804;
        Fri, 17 Nov 2023 03:55:46 -0800 (PST)
Message-ID: <e90d416e-f4dd-4b2c-9247-0e3aa35c26d9@citrix.com>
Date: Fri, 17 Nov 2023 11:55:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] amd-vi: use the same IOMMU page table levels for PV
 and HVM
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-2-roger.pau@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231117094749.81091-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/11/2023 9:47 am, Roger Pau Monne wrote:
> Using different page table levels for HVM or PV guest is not helpful, and is
> not inline with the IOMMU implementation used by the other architecture vendor
> (VT-d).
>
> Switch to uniformly use DEFAULT_DOMAIN_ADDRESS_WIDTH in order to set the AMD-Vi
> page table levels.
>
> Note using the max RAM address for PV was bogus anyway, as there's no guarantee
> there can't be device MMIO or reserved regions past the maximum RAM region.

Indeed - and the MMIO regions do matter for P2P DMA.

> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Variable-height IOMMU pagetables are not worth the security
vulnerabilities they're made of.  I regret not fighting hard enough to
kill them entirely several years ago...

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...

> ---
>  xen/drivers/passthrough/amd/pci_amd_iommu.c | 20 ++++++++------------
>  1 file changed, 8 insertions(+), 12 deletions(-)
>
> diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> index 6bc73dc21052..f9e749d74da2 100644
> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> @@ -359,21 +359,17 @@ int __read_mostly amd_iommu_min_paging_mode = 1;
>  static int cf_check amd_iommu_domain_init(struct domain *d)
>  {
>      struct domain_iommu *hd = dom_iommu(d);
> +    int pgmode = amd_iommu_get_paging_mode(
> +        1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT));

"paging mode" comes from the spec, but it's a very backwards way of
spelling height.

Can we at least start to improve the comprehensibility by renaming this
variable.

> +
> +    if ( pgmode < 0 )
> +        return pgmode;
>  
>      /*
> -     * Choose the number of levels for the IOMMU page tables.
> -     * - PV needs 3 or 4, depending on whether there is RAM (including hotplug
> -     *   RAM) above the 512G boundary.
> -     * - HVM could in principle use 3 or 4 depending on how much guest
> -     *   physical address space we give it, but this isn't known yet so use 4
> -     *   unilaterally.
> -     * - Unity maps may require an even higher number.
> +     * Choose the number of levels for the IOMMU page tables, taking into
> +     * account unity maps.
>       */
> -    hd->arch.amd.paging_mode = max(amd_iommu_get_paging_mode(
> -            is_hvm_domain(d)
> -            ? 1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
> -            : get_upper_mfn_bound() + 1),
> -        amd_iommu_min_paging_mode);
> +    hd->arch.amd.paging_mode = max(pgmode, amd_iommu_min_paging_mode);

I think these min/max variables can be dropped now we're not doing
variable height IOMMU pagetables, which further simplifies this expression.

Dunno if it's something better folded into this patch, or done at some
point in the future.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:03:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:03:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635095.990834 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xZE-00031F-1W; Fri, 17 Nov 2023 12:03:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635095.990834; Fri, 17 Nov 2023 12: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 1r3xZD-000318-V3; Fri, 17 Nov 2023 12:03:23 +0000
Received: by outflank-mailman (input) for mailman id 635095;
 Fri, 17 Nov 2023 12:03: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=Tr9K=G6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r3xZC-000312-CE
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:03:22 +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 4d64c5b3-8541-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:03:21 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-4083cd3917eso15973895e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:03:21 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 q12-20020adff50c000000b003296b488961sm2129221wro.31.2023.11.17.04.03.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Nov 2023 04:03:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d64c5b3-8541-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700222601; x=1700827401; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=47FWNWfawMNZstRZQMncdQJ9HNDFpcNwczf4o/08RGk=;
        b=iM1gOY20SP/mfMEQOkdg7pZuNVPiQn3aJ2US8nhQkoBNYOluBuq6oQvj43FTsjrdwz
         ajq1lk9xzaHrw2EjcyAC1L7zFtPu6SineRP+fIjV5oU3zqgcA/Wx5b8VMlXaarAESsCs
         +JcIFyEpY3UFbVpQaptgZXuu0K0Z16g3srv+0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700222601; x=1700827401;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=47FWNWfawMNZstRZQMncdQJ9HNDFpcNwczf4o/08RGk=;
        b=iAo55h7Vk81XjA249Jiww8fQvmzNutaKQawgl+eY4031msNHWwYdfKD1b3IpnFw1w7
         SfYrHyaFCm1gKd5PpY+b8lY6Ynj+zK3/0aw5dtZcFbydJsZ4o3/HZRVY1JyGw78BuiUk
         Twmt6EUr69AmdD1XI5ZdM1eC9mnbCuGbuNBBXPtlsatatFeEuf4HH+rq6CaSHVujWTtC
         3jcwG/bRdWbuO/75Ana99ug+uSaCeYJVOZks70YR7R6WyXn0z1ZU2Gy9pLg5Tpm5pq1i
         PTpBXxlxZQfWs7bFtUCcIiho5wsaBwUNOhq/yZ+ndhgEM+DdLEsgGVUv5IjCDEeVdywA
         T3hg==
X-Gm-Message-State: AOJu0Yzpu+elnrmEONgBgPSWdeSJ/F9tlg5awxDo1c1MiT1V2bOKgF4w
	Cn6hzKvgVBsegUlvZ5isebY2Ww==
X-Google-Smtp-Source: AGHT+IF2xwz04ejzZYTF8Dj6usaPJSpFuuGHnVkR3/Yy/9ukwSzE4YSO5/oKf1SgPkGc9N3isipYDg==
X-Received: by 2002:a05:600c:3548:b0:401:daf2:2737 with SMTP id i8-20020a05600c354800b00401daf22737mr14683153wmq.30.1700222600820;
        Fri, 17 Nov 2023 04:03:20 -0800 (PST)
Message-ID: <81534803-9da4-49b7-894e-f3fb5e8fb131@citrix.com>
Date: Fri, 17 Nov 2023 12:03:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] x86/iommu: move xen_in_range() so it can be made
 static
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-3-roger.pau@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231117094749.81091-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/11/2023 9:47 am, Roger Pau Monne wrote:
> No functional change intended.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

There may only be one caller (after dropping some bogus tboot logic
recently IIRC), but this isn't an IOMMU-specific helper.

See the comment in the middle which shows the other opencoded things
this needs to be kept up to date.  (And I'd hoped to make this common
because every architecture seems to have different bugs opencoding this
calculation.)

Switching to rangesets is fine, but the result still wants to be
something generic, rather than IOMMU-specific.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:05:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:05:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635099.990844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xal-0003Xy-BA; Fri, 17 Nov 2023 12:04:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635099.990844; Fri, 17 Nov 2023 12:04: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 1r3xal-0003Xr-8a; Fri, 17 Nov 2023 12:04:59 +0000
Received: by outflank-mailman (input) for mailman id 635099;
 Fri, 17 Nov 2023 12: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3xaj-0003Xj-Rk
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:04:57 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 863fb1d0-8541-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:04:56 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4079ed65471so15538015e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:04:56 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 v21-20020a05600c429500b0040a4cc876e0sm2447375wmc.40.2023.11.17.04.04.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:04:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 863fb1d0-8541-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700222696; x=1700827496; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=dLFzUW6/wb0srpQqKWk54q2GmVgvGwjkRl4RtOKuHn0=;
        b=hU7DNS+4lyDrL+78wv+6DB5uBMkQnDpegciA4cxzV9DvPMPgYpbZXqrOUY7+hUtE+M
         oqlhX84b98inFCpw25e7ntLfHEYut3QAnICN8KxU9xqZYUMFCizkIXK+BL1xz8ajVHPU
         9xGhi2pvPu4kpd7jXbxnjIcAerTldDfoIdPD0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700222696; x=1700827496;
        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:subject:date:message-id:reply-to;
        bh=dLFzUW6/wb0srpQqKWk54q2GmVgvGwjkRl4RtOKuHn0=;
        b=hX9+NKbV/ewbD8tpT0oqvCD0XUJA8aClPbuXVuMtv+r14nMDuIB4OQt5Z6d79zkp7b
         cdVJh8k44TW0UiipUJpYa4IxnN68XmJTC3MH/d9SRzsdV+4obSF5+Ej8trwBtHiQF/0I
         aOfW5uGaJVrjy/nigb/G3Rh06vGeFVE4xkIapPtQIh9CZ0dDbsfw0cUfTWFE/uroaDP7
         eQQTyzZpjHCmEtO0L0TyagKtmAETfnFhRj4d1923M6YfthHYwp+YlcgQmwAMFB55fATS
         UybubmrmzCggUSEt9t9RconnGUuM7qTSljMD2k/1YvV42DwsRPuz5XaqvS/MW9PvFUPo
         JWlw==
X-Gm-Message-State: AOJu0Yw2ICVUHd4+0wonYzKbD6U8sEzqEPm/MlZx+MlcJW3a0Ih8EBFl
	7lh86kbH+hH3647+Km4XiCv4mZuoVBghoOEz0lA=
X-Google-Smtp-Source: AGHT+IEKApUrJxfbalBtW+AgaBcxk6AWSfoSkFTzaZNGbKEENcCnDeuz6BH59IZrcGOeTMN/Uee1mg==
X-Received: by 2002:a05:600c:138b:b0:408:4160:150a with SMTP id u11-20020a05600c138b00b004084160150amr4204823wmf.33.1700222695996;
        Fri, 17 Nov 2023 04:04:55 -0800 (PST)
Date: Fri, 17 Nov 2023 13:04:54 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Paul Durrant <paul@xen.org>, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH 3/3] x86/iommu: use a rangeset for hwdom setup
Message-ID: <ZVdW5lf8VlauTDh-@macbook.local>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-4-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231117094749.81091-4-roger.pau@citrix.com>

On Fri, Nov 17, 2023 at 10:47:49AM +0100, Roger Pau Monne wrote:
> The current loop that iterates from 0 to the maximum RAM address in order to
> setup the IOMMU mappings is highly inefficient, and it will get worse as the
> amount of RAM increases.  It's also not accounting for any reserved regions
> past the last RAM address.
> 
> Instead of iterating over memory addresses, iterate over the memory map regions
> and use a rangeset in order to keep track of which ranges need to be identity
> mapped in the hardware domain physical address space.
> 
> On an AMD EPYC 7452 with 512GiB of RAM, the time to execute
> arch_iommu_hwdom_init() in nanoseconds is:
> 
> x old
> + new
>     N           Min           Max        Median           Avg        Stddev
> x   5 2.2364154e+10  2.338244e+10 2.2474685e+10 2.2622409e+10 4.2949869e+08
> +   5       1025012       1033036       1026188     1028276.2     3623.1194
> Difference at 95.0% confidence
> 	-2.26214e+10 +/- 4.42931e+08
> 	-99.9955% +/- 9.05152e-05%
> 	(Student's t, pooled s = 3.03701e+08)
> 
> Execution time of arch_iommu_hwdom_init() goes down from ~22s to ~0.001s.
> 
> Note there's a change for HVM domains (ie: PVH dom0) that get switched to
> create the p2m mappings using map_mmio_regions() instead of
> p2m_add_identity_entry(), so that ranges can be mapped with a single function
> call if possible.  Note that the interface of map_mmio_regions() doesn't
> allow creating read-only mappings, but so far there are no such mappings
> created for PVH dom0 in arch_iommu_hwdom_init().
> 
> No change intended in the resulting mappings that a hardware domain gets.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  xen/arch/x86/hvm/io.c               |  15 +-
>  xen/arch/x86/include/asm/hvm/io.h   |   4 +-
>  xen/drivers/passthrough/x86/iommu.c | 355 +++++++++++++++++-----------
>  3 files changed, 231 insertions(+), 143 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/io.c b/xen/arch/x86/hvm/io.c
> index d75af83ad01f..7c4b7317b13a 100644
> --- a/xen/arch/x86/hvm/io.c
> +++ b/xen/arch/x86/hvm/io.c
> @@ -364,9 +364,20 @@ static const struct hvm_mmcfg *vpci_mmcfg_find(const struct domain *d,
>      return NULL;
>  }
>  
> -bool vpci_is_mmcfg_address(const struct domain *d, paddr_t addr)
> +int vpci_subtract_mmcfg(const struct domain *d, struct rangeset *r)
>  {
> -    return vpci_mmcfg_find(d, addr);
> +    const struct hvm_mmcfg *mmcfg;
> +
> +    list_for_each_entry ( mmcfg, &d->arch.hvm.mmcfg_regions, next )
> +    {
> +        int rc = rangeset_remove_range(r, PFN_DOWN(mmcfg->addr),
> +                                       PFN_DOWN(mmcfg->addr + mmcfg->size - 1));
> +
> +        if ( rc )
> +            return rc;
> +    }
> +
> +    return 0;
>  }
>  
>  static unsigned int vpci_mmcfg_decode_addr(const struct hvm_mmcfg *mmcfg,
> diff --git a/xen/arch/x86/include/asm/hvm/io.h b/xen/arch/x86/include/asm/hvm/io.h
> index e5225e75ef26..c9d058fd5695 100644
> --- a/xen/arch/x86/include/asm/hvm/io.h
> +++ b/xen/arch/x86/include/asm/hvm/io.h
> @@ -153,8 +153,8 @@ int register_vpci_mmcfg_handler(struct domain *d, paddr_t addr,
>  /* Destroy tracked MMCFG areas. */
>  void destroy_vpci_mmcfg(struct domain *d);
>  
> -/* Check if an address is between a MMCFG region for a domain. */
> -bool vpci_is_mmcfg_address(const struct domain *d, paddr_t addr);
> +/* Remove MMCFG regions from a given rangeset. */
> +int vpci_subtract_mmcfg(const struct domain *d, struct rangeset *r);
>  
>  #endif /* __ASM_X86_HVM_IO_H__ */
>  
> diff --git a/xen/drivers/passthrough/x86/iommu.c b/xen/drivers/passthrough/x86/iommu.c
> index d70cee9fea77..be2c909f61d8 100644
> --- a/xen/drivers/passthrough/x86/iommu.c
> +++ b/xen/drivers/passthrough/x86/iommu.c
> @@ -301,129 +301,133 @@ void iommu_identity_map_teardown(struct domain *d)
>      }
>  }
>  
> -static int __hwdom_init xen_in_range(unsigned long mfn)
> +static int __hwdom_init remove_xen_ranges(struct rangeset *r)
>  {
>      paddr_t start, end;
> -    int i;
> -
> -    enum { region_s3, region_ro, region_rw, region_bss, nr_regions };
> -    static struct {
> -        paddr_t s, e;
> -    } xen_regions[nr_regions] __hwdom_initdata;
> +    int rc;
>  
> -    /* initialize first time */
> -    if ( !xen_regions[0].s )
> -    {
> -        /* S3 resume code (and other real mode trampoline code) */
> -        xen_regions[region_s3].s = bootsym_phys(trampoline_start);
> -        xen_regions[region_s3].e = bootsym_phys(trampoline_end);
> +    /* S3 resume code (and other real mode trampoline code) */
> +    rc = rangeset_remove_range(r, PFN_DOWN(bootsym_phys(trampoline_start)),
> +                               PFN_DOWN(bootsym_phys(trampoline_end)));
> +    if ( rc )
> +        return rc;
>  
> -        /*
> -         * This needs to remain in sync with the uses of the same symbols in
> -         * - __start_xen()
> -         * - is_xen_fixed_mfn()
> -         * - tboot_shutdown()
> -         */
> +    /*
> +     * This needs to remain in sync with the uses of the same symbols in
> +     * - __start_xen()
> +     * - is_xen_fixed_mfn()
> +     * - tboot_shutdown()
> +     */
> +    /* hypervisor .text + .rodata */
> +    rc = rangeset_remove_range(r, PFN_DOWN(__pa(&_stext)),
> +                               PFN_DOWN(__pa(&__2M_rodata_end)));
> +    if ( rc )
> +        return rc;
>  
> -        /* hypervisor .text + .rodata */
> -        xen_regions[region_ro].s = __pa(&_stext);
> -        xen_regions[region_ro].e = __pa(&__2M_rodata_end);
> -        /* hypervisor .data + .bss */
> -        xen_regions[region_rw].s = __pa(&__2M_rwdata_start);
> -        xen_regions[region_rw].e = __pa(&__2M_rwdata_end);
> -        if ( efi_boot_mem_unused(&start, &end) )
> -        {
> -            ASSERT(__pa(start) >= xen_regions[region_rw].s);
> -            ASSERT(__pa(end) <= xen_regions[region_rw].e);
> -            xen_regions[region_rw].e = __pa(start);
> -            xen_regions[region_bss].s = __pa(end);
> -            xen_regions[region_bss].e = __pa(&__2M_rwdata_end);
> -        }
> +    /* hypervisor .data + .bss */
> +    if ( efi_boot_mem_unused(&start, &end) )
> +    {
> +        ASSERT(__pa(start) >= __pa(&__2M_rwdata_start));
> +        rc = rangeset_remove_range(r, PFN_DOWN(__pa(&__2M_rwdata_start)),
> +                                   PFN_DOWN(__pa(start)));
> +        if ( rc )
> +            return rc;
> +        ASSERT(__pa(end) <= __pa(&__2M_rwdata_end));
> +        rc = rangeset_remove_range(r, PFN_DOWN(__pa(end)),
> +                                   PFN_DOWN(__pa(&__2M_rwdata_end)));
> +        if ( rc )
> +            return rc;
> +    }
> +    else
> +    {
> +        rc = rangeset_remove_range(r, PFN_DOWN(__pa(&__2M_rwdata_start)),
> +                                   PFN_DOWN(__pa(&__2M_rwdata_end)));
> +        if ( rc )
> +            return rc;
>      }
> -
> -    start = (paddr_t)mfn << PAGE_SHIFT;
> -    end = start + PAGE_SIZE;
> -    for ( i = 0; i < nr_regions; i++ )
> -        if ( (start < xen_regions[i].e) && (end > xen_regions[i].s) )
> -            return 1;
>  
>      return 0;
>  }
>  
> -static unsigned int __hwdom_init hwdom_iommu_map(const struct domain *d,
> -                                                 unsigned long pfn,
> -                                                 unsigned long max_pfn)
> +static int __hwdom_init map_subtract(unsigned long s, unsigned long e,

Bah, this (and others below) are missing cf_check attribute.

Will fix in v2.

Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635112.990885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xtz-0001KH-QF; Fri, 17 Nov 2023 12:24:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635112.990885; Fri, 17 Nov 2023 12: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 1r3xtz-0001KA-M9; Fri, 17 Nov 2023 12:24:51 +0000
Received: by outflank-mailman (input) for mailman id 635112;
 Fri, 17 Nov 2023 12: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xtx-0000iK-V2
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:49 +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 4c8a8535-8544-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 13:24:48 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-50aa2abfcfcso185150e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:48 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c8a8535-8544-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223887; x=1700828687; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Q4Bl151fhJ0xUdwwLt/MNmOxcrc+o6rAwxdJ/C4d3oY=;
        b=lU0P3zPKzjzYN3PTklf4aqCrinnYngk2gQg86zBfGlluQsW5j4/hx3W0QIOi1Iz3Il
         6em5nfFjeL1ZfR3OYBViwxmLZVlwpFyikOtlCb8vcPcZpevyQV/pXeWh9+7z+cq6zbud
         2MN4224qCkGfDOd8OC61uUJUvL2dImRo6/mgM05YF/fD7GcCSsjIsvj0DAyCsH4NmDor
         VsvELFkAQrFmLYabkMdog8uMxFOne3WC6qAwtp6mDiVkv9dL5dhMtCLUl6y+98ccCX0z
         K0HptO1xvAj0OhWGGsoqiXOkcX6gbO6VWNouBpEuO5zSSfk7L+eoPuMUhuFnH0yMM/X5
         u9PA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223887; x=1700828687;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Q4Bl151fhJ0xUdwwLt/MNmOxcrc+o6rAwxdJ/C4d3oY=;
        b=RQ0ASPgXG4j+dmmbY0LTmFVYvCwnlDPulDwvBAYmJ273mmgdW8utOjWYbKO0ZbNlo1
         aTlarCkInJKGF1px3YazQCC2gSg9P8zeUU4oua2qAXGpNak5wW5JVNNrieEt+9vjem8k
         2KjWa/xsw71t1R3MLE+5kalpL6e7gUPbsZP47CjWClwaUMFQeBaZagBSln+WJXTCeDG8
         cmi1+iQX3LV4ti2+uDcry7T3xu5w6jjwDXqhQUpe10r1RsXqWvvU4GCtbHAUc90f3y9E
         jfXmt15fMTJ1VhDOz3fVHvoA/d6OM0Jybm4fAxOrr60DeW9vR5O7r38JCW4a2GQVsfbX
         sHSA==
X-Gm-Message-State: AOJu0Yy6eNLA5hgbhsgOhVC4MwdRe3SQ6am8vsXrWHPNYJazy3UYwKLO
	fwEfwiBy/+KbZnFaTckqWWGC3mqMH2Y=
X-Google-Smtp-Source: AGHT+IEQGmAq7M3igpPBDgybVnhLTD9HucQkntc4cm/zOElOFuPdMvw5wfPD0tMgbHWZ7aCU8r1STg==
X-Received: by 2002:a05:6512:941:b0:500:a378:db71 with SMTP id u1-20020a056512094100b00500a378db71mr12212137lft.57.1700223887288;
        Fri, 17 Nov 2023 04:24:47 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.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 03/14] xen/asm-generic: introduce generic hypercall.h
Date: Fri, 17 Nov 2023 14:24:27 +0200
Message-ID: <47f9117b19cbb616a36f4149a7aeaaffdbfa48a9.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce an empty generic hypercall.h for archs which don't
implement it.

Drop PPC's hypercall.h and switch to generic one instead.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V3:
 - Drop PPC's hypercall.h and switch to generic one.
 - Update the commit message
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V2:
 - add check that <asm/hypercall.h> isn't included directly.
---
 xen/arch/ppc/include/asm/Makefile    |  1 +
 xen/arch/ppc/include/asm/hypercall.h |  5 -----
 xen/include/asm-generic/hypercall.h  | 18 ++++++++++++++++++
 3 files changed, 19 insertions(+), 5 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/hypercall.h
 create mode 100644 xen/include/asm-generic/hypercall.h

diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index ece7fa66dd..48d587f35d 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,3 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += hypercall.h
 generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/hypercall.h b/xen/arch/ppc/include/asm/hypercall.h
deleted file mode 100644
index 1e8ca0ce9c..0000000000
--- a/xen/arch/ppc/include/asm/hypercall.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_HYPERCALL_H__
-#define __ASM_PPC_HYPERCALL_H__
-
-#endif /* __ASM_PPC_HYPERCALL_H__ */
diff --git a/xen/include/asm-generic/hypercall.h b/xen/include/asm-generic/hypercall.h
new file mode 100644
index 0000000000..7743b35c0d
--- /dev/null
+++ b/xen/include/asm-generic/hypercall.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __XEN_HYPERCALL_H__
+#error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
+#endif
+
+#ifndef __ASM_GENERIC_HYPERCALL_H__
+#define __ASM_GENERIC_HYPERCALL_H__
+
+#endif /* __ASM_GENERIC_HYPERCALL_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635109.990854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xtu-0000Zz-U6; Fri, 17 Nov 2023 12:24:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635109.990854; Fri, 17 Nov 2023 12: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 1r3xtu-0000Zs-RW; Fri, 17 Nov 2023 12:24:46 +0000
Received: by outflank-mailman (input) for mailman id 635109;
 Fri, 17 Nov 2023 12:24: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xtt-0000ZQ-6q
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:45 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49dc74ed-8544-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:24:43 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-50aa2abfcfcso185063e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:43 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49dc74ed-8544-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223883; x=1700828683; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=nEK/5CWCOKvkykZwhirxz5Twp8fKDStvoJBOuDmiptA=;
        b=QrG7CtaGU4FR83/jTnZyNXfnT3g5HNxnU52ADOENRX3vSMqU2YR+plyANF9h+/yfct
         aFEfjPzMNy41XWY95OGhpuRH9Y6dZ0OOVfJbo3rwAH7bGZfmjPjMVutht84kRJ2SXAU0
         FrYCkAOppbrZx6mRO+7H81HTDycbfaeRjFGVbxv3iMjnqG9ZZitfGFsdjloz/evXtA7O
         0xkIrtvqdaqUXQmadt/0f/CG0F3US8uRNkYiukMzM7enB5ngrAz41UHkh1c8Su+OiyIb
         gA3ch0GRm+L7uUYEkLQbOlraFvJKnrZOVZkJtr1TwsO5S3uUEUEqxlWhj1P2E3t9hlzj
         K6Eg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223883; x=1700828683;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=nEK/5CWCOKvkykZwhirxz5Twp8fKDStvoJBOuDmiptA=;
        b=T41Kwoc0g2S8YhDVkfFTTDbSdmXPGCP05vqlQP8nXM0x/sdWiu8qeNV+Ow9NniCiVJ
         BmS+QpnTjoA165YD9mwXtlJ0FOpXIFJuHZH0EiHcI6wzXYeiYlVKOG95LG32Ny3NN8ix
         yas9TeQPxlaLCbNp24KRODmX5sUMNgP+3N3rX+Sm0iU+R95cnPc4atR0oeM72qAKoALI
         b2F2L7I3/Vo+AlwpV8/0DuQTG5K3D7jw0xsRpwYnjzil681vzAjtzY7flTPhDBGi3aM5
         k9mB6T/UP7zOvq21pUIXArxQjKfCtpbANB6FLUAlHj0/cLlGqYVF705uPEFWqHlj2QGy
         af5A==
X-Gm-Message-State: AOJu0YxgtJ+rClBDtIwP/+I8OIHEyBha01H7a2Es7rTLkiC+ihVIME53
	PugKwS3Ksy+RJh/Rh6iMio4wwqjrKd8=
X-Google-Smtp-Source: AGHT+IHOuNktIBIEt4L3teGIkTQxDWH/LXLdYlAxd9FBW9b5cM/8yImWrpnHelh5ZB6am2l/w66Dqg==
X-Received: by 2002:a05:6512:3994:b0:506:899d:1989 with SMTP id j20-20020a056512399400b00506899d1989mr17375117lfu.44.1700223882449;
        Fri, 17 Nov 2023 04:24:42 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v3 00/14] Introduce generic headers
Date: Fri, 17 Nov 2023 14:24:24 +0200
Message-ID: <cover.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some headers are common between several architectures, so the current patch series
provide them.

Another one reason to have them as generic is a simplification of adding support
necessary to make a complete Xen build as it was/is being done in the patch series [1]
and [2].

Also, instead of providing generic/stub headers, it was used
"#ifdef CONFIG_* #include <asm/*.h> #endif" instead of providing empty headers.

Patch related to delay.h [3] was sent separately.

[1] https://lore.kernel.org/xen-devel/cover.1694543103.git.sanastasio@raptorengineering.com/
[2] https://lore.kernel.org/xen-devel/cover.1692181079.git.oleksii.kurochko@gmail.com/
[3] https://lore.kernel.org/xen-devel/3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com/

---
Changes in V3:
 - Update the commit message of the cover letter.
 - Drop the following patch as it can be arch-specific enough:
   * [PATCH v2 09/15] xen/asm-generic: introduce generic header smp.h
 - Drop correspondent arch specific headers and use asm-generic version of
   a header.
 - Back to the patch series patches:
   * xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
   * xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
---
Changes in V2:
 - Update the commit message of the cover letter.
 - Drop the following patches because they are arch-specific or was sent as a separate patch:
   - xen/asm-generic: introduce stub header event.h
	 - xen/asm-generic: introduce stub header spinlock.h
	 - [PATCH v1 03/29] xen/asm-generic: introduce stub header cpufeature.h
	 - [PATCH v1 07/29] xen/asm-generic: introduce stub header guest_atomics.h
	 - [PATCH v1 10/29] xen/asm-generic: introduce stub header iommu.h
	 - [PATCH v1 12/29] xen/asm-generic: introduce stub header pci.h because separate patch was sent [5]
	 - [PATCH v1 14/29] xen/asm-generic: introduce stub header setup.h
	 - [PATCH v1 15/29] xen/asm-generic: introduce stub header xenoprof.h because of [3].
	 - [PATCH v1 16/29] xen/asm-generic: introduce stub header flushtlb.h
	 - [PATCH v1 22/29] xen/asm-generic: introduce stub header delay.h because of [3]
	 - [PATCH v1 23/29] xen/asm-generic: introduce stub header domain.h
	 - [PATCH v1 24/29] xen/asm-generic: introduce stub header guest_access.h
	 - [PATCH v1 25/29] xen/asm-generic: introduce stub header irq.h ( probably not so generic as I expected, I'll back to it if it will be necessary in the future )
	 - [PATCH v1 28/29] xen/asm-generic: introduce stub header p2m.h ( probably not so generic as I expected, I'll back to it if it will be necessary in the future )
 - For the rest of the patches please look at changes for each patch separately.

Oleksii Kurochko (14):
  xen/asm-generic: introduce stub header paging.h
  xen/asm-generic: introduce generic device.h
  xen/asm-generic: introduce generic hypercall.h
  xen/asm-generic: introduce generic header iocap.h
  xen/asm-generic: introduce stub header <asm/random.h>
  xen/asm-generic: introduce generic header percpu.h
  xen/asm-generic: introduce generalized hardirq.h
  xen/asm-generic: introduce generic div64.h header
  xen/asm-generic: introduce generic header altp2m.h
  xen/asm-generic: introduce stub header monitor.h
  xen/asm-generic: introduce stub header numa.h
  xen/asm-generic: introduce stub header softirq.h
  xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
  xen/asm-generic: ifdef inclusion of <asm/mem_access.h>

 xen/arch/arm/domain_build.c                   |   1 +
 xen/arch/arm/include/asm/Makefile             |   7 +
 xen/arch/arm/include/asm/altp2m.h             |  39 -----
 xen/arch/arm/include/asm/current.h            |   3 +
 xen/arch/arm/include/asm/paging.h             |  16 --
 xen/arch/arm/include/asm/random.h             |   9 --
 xen/arch/arm/p2m.c                            |   1 +
 xen/arch/arm/traps.c                          |   1 +
 xen/arch/ppc/include/asm/Makefile             |  10 ++
 xen/arch/ppc/include/asm/altp2m.h             |  25 ---
 xen/arch/ppc/include/asm/current.h            |   6 +
 xen/arch/ppc/include/asm/div64.h              |  14 --
 xen/arch/ppc/include/asm/grant_table.h        |   5 -
 xen/arch/ppc/include/asm/hardirq.h            |  19 ---
 xen/arch/ppc/include/asm/hypercall.h          |   5 -
 xen/arch/ppc/include/asm/iocap.h              |   8 -
 xen/arch/ppc/include/asm/mem_access.h         |   5 -
 xen/arch/ppc/include/asm/monitor.h            |  43 -----
 xen/arch/ppc/include/asm/numa.h               |  26 ----
 xen/arch/ppc/include/asm/paging.h             |   7 -
 xen/arch/ppc/include/asm/percpu.h             |  24 ---
 xen/arch/ppc/include/asm/random.h             |   9 --
 xen/arch/x86/include/asm/Makefile             |   3 +
 xen/arch/x86/include/asm/current.h            |   2 +
 xen/arch/x86/include/asm/div64.h              |  14 --
 xen/arch/x86/include/asm/percpu.h             |  22 ---
 xen/include/asm-generic/altp2m.h              |  34 ++++
 xen/include/asm-generic/device.h              | 147 ++++++++++++++++++
 xen/include/asm-generic/div64.h               |  27 ++++
 .../asm => include/asm-generic}/hardirq.h     |   8 +-
 xen/include/asm-generic/hypercall.h           |  18 +++
 .../asm => include/asm-generic}/iocap.h       |   7 +-
 xen/include/asm-generic/monitor.h             |  63 ++++++++
 .../asm => include/asm-generic}/numa.h        |  13 +-
 xen/include/asm-generic/paging.h              |  19 +++
 .../asm => include/asm-generic}/percpu.h      |  18 ++-
 xen/include/asm-generic/random.h              |  20 +++
 xen/include/asm-generic/softirq.h             |  17 ++
 xen/include/xen/grant_table.h                 |   3 +
 xen/include/xen/mem_access.h                  |   2 +
 xen/include/xen/percpu.h                      |   4 +-
 41 files changed, 414 insertions(+), 310 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/altp2m.h
 delete mode 100644 xen/arch/arm/include/asm/paging.h
 delete mode 100644 xen/arch/arm/include/asm/random.h
 delete mode 100644 xen/arch/ppc/include/asm/altp2m.h
 delete mode 100644 xen/arch/ppc/include/asm/div64.h
 delete mode 100644 xen/arch/ppc/include/asm/grant_table.h
 delete mode 100644 xen/arch/ppc/include/asm/hardirq.h
 delete mode 100644 xen/arch/ppc/include/asm/hypercall.h
 delete mode 100644 xen/arch/ppc/include/asm/iocap.h
 delete mode 100644 xen/arch/ppc/include/asm/mem_access.h
 delete mode 100644 xen/arch/ppc/include/asm/monitor.h
 delete mode 100644 xen/arch/ppc/include/asm/numa.h
 delete mode 100644 xen/arch/ppc/include/asm/paging.h
 delete mode 100644 xen/arch/ppc/include/asm/percpu.h
 delete mode 100644 xen/arch/ppc/include/asm/random.h
 create mode 100644 xen/arch/x86/include/asm/Makefile
 delete mode 100644 xen/arch/x86/include/asm/div64.h
 delete mode 100644 xen/arch/x86/include/asm/percpu.h
 create mode 100644 xen/include/asm-generic/altp2m.h
 create mode 100644 xen/include/asm-generic/device.h
 create mode 100644 xen/include/asm-generic/div64.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/hardirq.h (79%)
 create mode 100644 xen/include/asm-generic/hypercall.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/iocap.h (60%)
 create mode 100644 xen/include/asm-generic/monitor.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/numa.h (75%)
 create mode 100644 xen/include/asm-generic/paging.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/percpu.h (57%)
 create mode 100644 xen/include/asm-generic/random.h
 create mode 100644 xen/include/asm-generic/softirq.h

-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635113.990891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xu0-0001Nx-4M; Fri, 17 Nov 2023 12:24:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635113.990891; Fri, 17 Nov 2023 12:24: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 1r3xtz-0001Ni-Ut; Fri, 17 Nov 2023 12:24:51 +0000
Received: by outflank-mailman (input) for mailman id 635113;
 Fri, 17 Nov 2023 12:24: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xty-0000ZQ-7U
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:50 +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 4d580a64-8544-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:24:49 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-507cee17b00so2493206e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:49 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d580a64-8544-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223888; x=1700828688; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6/X1l3KpVhIOhwMjT/JSPLzc+aIMz5zfKRbPaWipyYU=;
        b=SKVBfb9yRcYoAQ8W7SoziZ2RIvzPHeMhpok2vU/TEhZrfs0IITg7cKrBaFs8pJ6X10
         VGDg7GfMsojyjimgcKUXFLV7nrGklDi7xVZt0IKYPSpjrkYe1pG/SHvaAALnlV81gSwc
         rD3UDRPjv80hHFWmZnQrtYUAl0X9b/w/dCaPAQdZM8QSyinpCwaPlWmv6blShfIBz+dB
         VkH+zSWQne9xcjq+9h/qDAafY4IiTGoVZykdZpXW7t7Z582s9fOhj74/vfRPJXAoqt+L
         p9eT+cg9uBlKPd1MDB9SymSZZEdSxkz5Uk2r1vCB2Ox7mAAttb49wcqCrH9cEoycGqLv
         EOOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223888; x=1700828688;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=6/X1l3KpVhIOhwMjT/JSPLzc+aIMz5zfKRbPaWipyYU=;
        b=n36UYDyBJp5JxnHvopc2byfSBOfu1iInmrDuUujVU+8hxr+1SYjHGJcDzluHAPAywM
         W/Dr2/ENMcuRkSLW/QVDk3TOmQed2yuOG4QaVsPw06B7g2UsjnJNSKF59fOJuapHm91X
         bmmqwedOimGVo/eHRmmtXupMaJo6Ejk27+TekE3Apd8U8Z29HsTLVSbxRBDTjPUMVOna
         03qH9epuec305a2skb0K/wxJ/RbJOQa9YjceCtlloP3MyPL4tjVKPBkvg91bT6IBhVVH
         rQhqdR+7kb1v09GTBnq66uLBsw4Bp7Z+TbMtaWGbGqlmjLpvBLggjVcXWTefx942lu5R
         BXEQ==
X-Gm-Message-State: AOJu0YxZsFUl+9apITgm76+47GX6ja4bnGJcPuNBixwJzUeh+KzhyiMr
	WHsRLopJvPzyoeYRbOOoaw9COeGZtDc=
X-Google-Smtp-Source: AGHT+IEvnQCsFxKR1j7FSQT4FtnCuUD4m0o0xNiIC5Z2eweZoQod90dYu/BHi5QZdk43WRXX4IQtoA==
X-Received: by 2002:a05:6512:2303:b0:50a:2710:d207 with SMTP id o3-20020a056512230300b0050a2710d207mr17756432lfu.53.1700223888535;
        Fri, 17 Nov 2023 04:24:48 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 04/14] xen/asm-generic: introduce generic header iocap.h
Date: Fri, 17 Nov 2023 14:24:28 +0200
Message-ID: <3f6a80241a2c98477eaca5fa3bf80ff6c0df3f39.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

iocap.h is common for Arm, PPC and RISC-V architectures thereby
it was moved to asm-generic.

Also Arm and PPC were switched to asm-generic version of iocap.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
  - Drop Arm and PPC's iocap.h and switch to asm-generic's version.
  - Update the commit message.
---
Changes in V2:
 - update the commit message
---
 xen/arch/arm/include/asm/Makefile                         | 1 +
 xen/arch/ppc/include/asm/Makefile                         | 1 +
 xen/arch/ppc/include/asm/iocap.h                          | 8 --------
 xen/{arch/arm/include/asm => include/asm-generic}/iocap.h | 7 ++++---
 4 files changed, 6 insertions(+), 11 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/iocap.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/iocap.h (60%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index ece7fa66dd..96e3aa6b6c 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,3 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += iocap.h
 generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 48d587f35d..9f5a0dfb31 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += hypercall.h
+generic-y += iocap.h
 generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/iocap.h b/xen/arch/ppc/include/asm/iocap.h
deleted file mode 100644
index 76bf13a70f..0000000000
--- a/xen/arch/ppc/include/asm/iocap.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_IOCAP_H__
-#define __ASM_PPC_IOCAP_H__
-
-#define cache_flush_permitted(d)                        \
-    (!rangeset_is_empty((d)->iomem_caps))
-
-#endif /* __ASM_PPC_IOCAP_H__ */
diff --git a/xen/arch/arm/include/asm/iocap.h b/xen/include/asm-generic/iocap.h
similarity index 60%
rename from xen/arch/arm/include/asm/iocap.h
rename to xen/include/asm-generic/iocap.h
index 276fefbc59..dd7cb45488 100644
--- a/xen/arch/arm/include/asm/iocap.h
+++ b/xen/include/asm-generic/iocap.h
@@ -1,10 +1,11 @@
-#ifndef __X86_IOCAP_H__
-#define __X86_IOCAP_H__
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_IOCAP_H__
+#define __ASM_GENERIC_IOCAP_H__
 
 #define cache_flush_permitted(d)                        \
     (!rangeset_is_empty((d)->iomem_caps))
 
-#endif
+#endif /* __ASM_GENERIC_IOCAP_H__ */
 
 /*
  * Local variables:
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635111.990875 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xty-00014h-GH; Fri, 17 Nov 2023 12:24:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635111.990875; Fri, 17 Nov 2023 12:24: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 1r3xty-00014Z-DF; Fri, 17 Nov 2023 12:24:50 +0000
Received: by outflank-mailman (input) for mailman id 635111;
 Fri, 17 Nov 2023 12:24: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xtx-0000iK-1d
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:49 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ad88f3f-8544-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 13:24:45 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-507975d34e8so2722782e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:45 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ad88f3f-8544-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223884; x=1700828684; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LHOrg4p/PNWg+936iRt5+lse+XOyF9c01hq1h4Eo2Gw=;
        b=b8e1ldL7WVWwZ3RYIvenymdVb7P44vgcYA+fyk7QhD8EOdfffFf2mmK7wD826vmO9B
         C9SX1rSN3gnyA4Q4jEoHOsxofSjHYb20jfcov0rTU5f68/cc19Xoo6jTRl6hxcxTt5Wd
         70xpja6pE5Btv/AMoixt4Z17g8pdvjgicrpLK/fCT/k5cNGZcEUqnyJP4+ASOvYZ63HQ
         fqTOfG5rnj/nvvF9LnwT6IombleTaKNszEqLAcL8B3/0PYYz9WNQ7U4zi+NvapludCN1
         FIIhZfY+AP+kxTThozf36tfxCh5mMuYObpM1kBrScJrbaft0oL0QBBp0RwQTNuJ5VKOw
         jT+g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223884; x=1700828684;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LHOrg4p/PNWg+936iRt5+lse+XOyF9c01hq1h4Eo2Gw=;
        b=MFp+Tb8rj2QFBGNdZpRtROujcUUTw7487lXt9zGOn7MrEF8gd4y7Akb+zoF0P4WiEh
         jilOlsb5O0PbSg/0hwwEKpeX66/DtvDxfvR0+FKpzYoCMHrbWDksHUb0XckgSgfAFMRi
         qSWiNnqpOVbIe7WZe/a2aF+uQqPVKiPIYrGxzMozpIyjR47/30Q9pBehb5EDcO+wmYLV
         ytJ3ZyuOSavhzyx1XVSzdodH7lHLTlRO9KoMgznAMSGRG74GPFznuIThwXiik0c1LQxi
         Sh7PZolGi8VJeNXJ0s8Bu4n00A2L+mAwAQsBmPcBAeGicrs7Pu7I0rYJgc/DeHkuETzL
         H1DA==
X-Gm-Message-State: AOJu0Yy8cDMhHyy5w2wI3+xjD/L1/cnsyq08zJpflIlZ8GtkTJIMO6Lc
	OskJVqN9YbeqF0VSa3o/z81JuUJfk/0=
X-Google-Smtp-Source: AGHT+IE7zHSkYQJAgwcPbwF3gopucwtESZyeJ5XW/zsr6SbKhhZ8ZIoLAW6dX67JHlCVNyZy09kfxw==
X-Received: by 2002:ac2:5451:0:b0:509:7915:a1d6 with SMTP id d17-20020ac25451000000b005097915a1d6mr12893884lfn.58.1700223884060;
        Fri, 17 Nov 2023 04:24:44 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 01/14] xen/asm-generic: introduce stub header paging.h
Date: Fri, 17 Nov 2023 14:24:25 +0200
Message-ID: <01807c303ef000d6316f71bc4bad93d1b6c03830.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces generic paging.h header for Arm, PPC and
RISC-V.

All mentioned above architectures use hardware virt extensions
and hardware pagetable extensions thereby it makes sense to set
paging_mode_translate and paging_mode_external by default.

Also in this patch Arm and PPC architectures are switched to
generic paging.h header.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V3:
 - Sort xen/arch/{arm,ppc}/include/asm/Makefile alphabetically.
 - Add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V2:
	- evaluate argument of macros
	- covert macros to true
	- use proper tabs
	- switch Arm & PPC to generic paging.h
	- update commit message
---
 xen/arch/arm/include/asm/Makefile |  1 +
 xen/arch/arm/include/asm/paging.h | 16 ----------------
 xen/arch/ppc/include/asm/Makefile |  1 +
 xen/arch/ppc/include/asm/paging.h |  7 -------
 xen/include/asm-generic/paging.h  | 19 +++++++++++++++++++
 5 files changed, 21 insertions(+), 23 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/paging.h
 delete mode 100644 xen/arch/ppc/include/asm/paging.h
 create mode 100644 xen/include/asm-generic/paging.h

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 821addb0bf..ece7fa66dd 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/arm/include/asm/paging.h b/xen/arch/arm/include/asm/paging.h
deleted file mode 100644
index 6d1a000246..0000000000
--- a/xen/arch/arm/include/asm/paging.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _XEN_PAGING_H
-#define _XEN_PAGING_H
-
-#define paging_mode_translate(d)              (1)
-#define paging_mode_external(d)               (1)
-
-#endif /* XEN_PAGING_H */
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 821addb0bf..ece7fa66dd 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/paging.h b/xen/arch/ppc/include/asm/paging.h
deleted file mode 100644
index eccacece29..0000000000
--- a/xen/arch/ppc/include/asm/paging.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __ASM_PPC_PAGING_H__
-#define __ASM_PPC_PAGING_H__
-
-#define paging_mode_translate(d)              (1)
-#define paging_mode_external(d)               (1)
-
-#endif /* __ASM_PPC_PAGING_H__ */
diff --git a/xen/include/asm-generic/paging.h b/xen/include/asm-generic/paging.h
new file mode 100644
index 0000000000..8df534cfdc
--- /dev/null
+++ b/xen/include/asm-generic/paging.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_PAGING_H__
+#define __ASM_GENERIC_PAGING_H__
+
+#include <xen/stdbool.h>
+
+#define paging_mode_translate(d)    ((void)(d), true)
+#define paging_mode_external(d)     ((void)(d), true)
+
+#endif /* __ASM_GENERIC_PAGING_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635110.990864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xtx-0000pC-8h; Fri, 17 Nov 2023 12:24:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635110.990864; Fri, 17 Nov 2023 12: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 1r3xtx-0000p4-5a; Fri, 17 Nov 2023 12:24:49 +0000
Received: by outflank-mailman (input) for mailman id 635110;
 Fri, 17 Nov 2023 12:24: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xtv-0000ZQ-Po
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:47 +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 4bcdeb31-8544-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:24:47 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-507a98517f3so2564999e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:47 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4bcdeb31-8544-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223886; x=1700828686; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LN0bvvve1DpmJsPjq9NE3VGNIjDtWaZGExInp1NauPs=;
        b=OwOSKF5WzR7S7Z9jNItdJBGNhXsKdaXgc2R03lX6LGWY6m5hgwRKVY6WlSUmaGm/tf
         UKl4JR94+bnf7jDkyJdYks5GAPLN07STUksOArZaosCToH6ztGcvpr7zgWuO2Gn9c4aI
         +WxNWxAVMNTvOZrC7TD8bPaZQKDT8CELQjQCy7zWXW/n2qtbZYHj+vJ+CDtmCYRE8mps
         h868O0iKrRWaYODhcKZV0Mj8lGEZR6ZWy58UHKGSSMw4UhoUfZ3/IiBGSib0qBS5zveI
         k5dEGjKovlDHphToLDVPEvUUaHgvOuJuOB/rGtyIGTwAyQvBBvQOPBo4ukO0ja41Hz7R
         5aFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223886; x=1700828686;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LN0bvvve1DpmJsPjq9NE3VGNIjDtWaZGExInp1NauPs=;
        b=D812Lykr+Kg7lckeoXjX9tZHyAeq7U4HlTd8xdg8bVAck8K8eikDrQG4i9NHtc++n7
         Mn7vvgRiJIrXrQiKX53Eknk6iS/VU45AxsQp6zTuS+V3OCA9dwGoWnnf8nBNx1C3wvkw
         v9aydRRt7w323OFG8mIXjb326WOe/glh7A9e5OAtMVda/h773VnPiNthDT7qrXaM5Ubc
         5VlOO9PWBj9CrZIjF8xP6r/2xxJUTX2Nn4WsZUa3DIzQHGtlr9DmT6ZX65rkOecu70fY
         wB9VsBB0Y0UV0fdkQyPtE0PqdvGzVGIHuC+3nQDbFDVeYaCcEd7+kB7xgT/AMmdU3YL9
         AHjg==
X-Gm-Message-State: AOJu0YzBpQf7hf5WnC0Vwj1qB7uvlRM/GG030Wg5QM+SKkYBX6S4TMzb
	jAC42e3l8/nYE4ugpnc753b5XwYpKDM=
X-Google-Smtp-Source: AGHT+IF67ZRX0UqMzyh8WW4r/CzmO2Dr45fBHwMVN3SCPNp/QKbIvpatSLW5SPiO9V+dnUXjM/DIoA==
X-Received: by 2002:a19:e047:0:b0:50a:5df2:f322 with SMTP id g7-20020a19e047000000b0050a5df2f322mr12757530lfj.13.1700223885914;
        Fri, 17 Nov 2023 04:24:45 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v3 02/14] xen/asm-generic: introduce generic device.h
Date: Fri, 17 Nov 2023 14:24:26 +0200
Message-ID: <65b267137539704df7f22b37e3b0a9b372a82b33.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Arm, PPC and RISC-V use the same device.h thereby device.h
was moved to asm-generic. Arm's device.h was taken as a base with
the following changes:
 - #ifdef PCI related things.
 - #ifdef ACPI related things.
 - Rename #ifdef guards.
 - Add SPDX tag.
 - #ifdef CONFIG_HAS_DEVICE_TREE related things.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
It is still open question if device.h should be in asm-generic. Need more opinions.
---
Changes in V3:
 - ifdef device tree related things.
 - update the commit message
---
Changes in V2:
	- take ( as common ) device.h from Arm as PPC and RISC-V use it as a base.
	- #ifdef PCI related things.
	- #ifdef ACPI related things.
	- rename DEVICE_GIC to DEVIC_IC.
	- rename #ifdef guards.
	- switch Arm and PPC to generic device.h
	- add SPDX tag
	- update the commit message

---
 xen/include/asm-generic/device.h | 147 +++++++++++++++++++++++++++++++
 1 file changed, 147 insertions(+)
 create mode 100644 xen/include/asm-generic/device.h

diff --git a/xen/include/asm-generic/device.h b/xen/include/asm-generic/device.h
new file mode 100644
index 0000000000..7ef5aa955a
--- /dev/null
+++ b/xen/include/asm-generic/device.h
@@ -0,0 +1,147 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_DEVICE_H__
+#define __ASM_GENERIC_DEVICE_H__
+
+enum device_type
+{
+#ifdef CONFIG_HAS_DEVICE_TREE
+    DEV_DT,
+#endif
+
+#ifdef HAS_PCI
+    DEV_PCI,
+#endif
+};
+
+struct dev_archdata {
+    void *iommu;    /* IOMMU private data */
+};
+
+/* struct device - The basic device structure */
+struct device
+{
+    enum device_type type;
+#ifdef CONFIG_HAS_DEVICE_TREE
+    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
+#endif
+    struct dev_archdata archdata;
+    struct iommu_fwspec *iommu_fwspec; /* per-device IOMMU instance data */
+};
+
+typedef struct device device_t;
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+#include <xen/device_tree.h>
+#endif
+
+#ifdef HAS_PCI
+#define dev_is_pci(dev) ((dev)->type == DEV_PCI)
+#endif
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+#define dev_is_dt(dev)  ((dev)->type == DEV_DT)
+#endif
+
+enum device_class
+{
+    DEVICE_SERIAL,
+    DEVICE_IOMMU,
+    DEVICE_IC,
+#ifdef HAS_PCI
+    DEVICE_PCI_HOSTBRIDGE,
+#endif
+    /* Use for error */
+    DEVICE_UNKNOWN,
+};
+
+struct device_desc {
+    /* Device name */
+    const char *name;
+    /* Device class */
+    enum device_class class;
+    /* List of devices supported by this driver */
+    const struct dt_device_match *dt_match;
+    /*
+     * Device initialization.
+     *
+     * -EAGAIN is used to indicate that device probing is deferred.
+     */
+    int (*init)(struct dt_device_node *dev, const void *data);
+};
+
+#ifdef CONFIG_ACPI
+
+struct acpi_device_desc {
+    /* Device name */
+    const char *name;
+    /* Device class */
+    enum device_class class;
+    /* type of device supported by the driver */
+    const int class_type;
+    /* Device initialization */
+    int (*init)(const void *data);
+};
+
+/**
+ *  acpi_device_init - Initialize a device
+ *  @class: class of the device (serial, network...)
+ *  @data: specific data for initializing the device
+ *
+ *  Return 0 on success.
+ */
+int acpi_device_init(enum device_class class,
+                     const void *data, int class_type);
+
+#endif /* CONFIG_ACPI */
+
+/**
+ *  device_init - Initialize a device
+ *  @dev: device to initialize
+ *  @class: class of the device (serial, network...)
+ *  @data: specific data for initializing the device
+ *
+ *  Return 0 on success.
+ */
+int device_init(struct dt_device_node *dev, enum device_class class,
+                const void *data);
+
+/**
+ * device_get_type - Get the type of the device
+ * @dev: device to match
+ *
+ * Return the device type on success or DEVICE_ANY on failure
+ */
+enum device_class device_get_class(const struct dt_device_node *dev);
+
+#define DT_DEVICE_START(_name, _namestr, _class)                    \
+static const struct device_desc __dev_desc_##_name __used           \
+__section(".dev.info") = {                                          \
+    .name = _namestr,                                               \
+    .class = _class,                                                \
+
+#define DT_DEVICE_END                                               \
+};
+
+#ifdef CONFIG_ACPI
+
+#define ACPI_DEVICE_START(_name, _namestr, _class)                    \
+static const struct acpi_device_desc __dev_desc_##_name __used           \
+__section(".adev.info") = {                       \
+    .name = _namestr,                                               \
+    .class = _class,                                                \
+
+#define ACPI_DEVICE_END                                               \
+};
+
+#endif /* CONFIG_ACPI */
+
+#endif /* __ASM_GENERIC_DEVICE_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:24:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635114.990905 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xu1-0001pp-Hw; Fri, 17 Nov 2023 12:24:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635114.990905; Fri, 17 Nov 2023 12:24: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 1r3xu1-0001pa-Dq; Fri, 17 Nov 2023 12:24:53 +0000
Received: by outflank-mailman (input) for mailman id 635114;
 Fri, 17 Nov 2023 12:24: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xu0-0000iK-Lu
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:52 +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 4e2627db-8544-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 13:24:51 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-5094727fa67so2727460e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:51 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e2627db-8544-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223890; x=1700828690; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=i1dFNOxKIfpxe4fbqyq4aYiHJEk/IRyQX0YWJ3IS3kY=;
        b=aN5tHBU8cUyOT74PB0luPsRwb0vJQIbn72IOCyH3W84NmkkmfoWgVsQ1v9DYVz3CeD
         iraEBOy2GbPG8YD2TZDrLCk5/MZJdCs3Z8VCoN1zS/Il5b2OxTFo4yutSh/mTur+M+XT
         u1l6kbMwKqhwgjVY81Hs+aSlVMrLddaVZyf4yr1hWxpBDzvlR6aTL1cHuOH4IVTsesOX
         VW7kmbnoBp0hqSSyTG89ycwjWAgpmRX8ENT9X/ocoyDlgtEjlsy1MlBJatJTAzY6gBWb
         5gQMliO+tGazNmWy+VYds9Fq0HjFlOzYh0u05CjBESZgbMLC7RoIWY/akNdre5b8OU14
         0sxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223890; x=1700828690;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=i1dFNOxKIfpxe4fbqyq4aYiHJEk/IRyQX0YWJ3IS3kY=;
        b=ZHyUvv2ABvQqk//XtEvuU93YcZtOeao/bsISO/vNhiAG5031JPGlXbqoB1bbw+gdu3
         yVAHpVgXiDAEWx+/ZVnUOrUrDnu3IHDg6o+QBDWEKZ0MSkclV0DL6d9SdP9ihzosKE4M
         fGQ1H9uR7r7Crub7zAdYHHX8/jp4E12UuVW9pcUjyMHtqPuB8T8r8AhOSYlFs2vlsNFu
         nNYs3vqRkQvROeMeqDm9Iq6HnlCHSL0Xhp7+22BZIINp+lEZefv3QlJiaDjYVufz7brk
         9WqxEE7LU9hKZNqbPw+ZeP4P6sEc2iWvHZst0mpUVGSF32iBboPRlEx/Rm95dgI8yrSU
         G6BQ==
X-Gm-Message-State: AOJu0YwiaujMRHHQNr1GqtypWDV166tyKikC4AAPEWVQUgTvNyeXLwXs
	hyU9ZZZZL4jCj6iQUmfpCvKLnSH1EH8=
X-Google-Smtp-Source: AGHT+IH3+reAVmfVJJN0NjtOL7cn6V0nBW6vS3nAoCQBvotNB9uWzEmohcLUH0aW+uHS3u2OPyMS1w==
X-Received: by 2002:a05:6512:a96:b0:509:8e7f:b46c with SMTP id m22-20020a0565120a9600b005098e7fb46cmr4729902lfu.56.1700223889890;
        Fri, 17 Nov 2023 04:24:49 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 05/14] xen/asm-generic: introduce stub header <asm/random.h>
Date: Fri, 17 Nov 2023 14:24:29 +0200
Message-ID: <9a2b8920df291915ac6be0d14e6e9896e81ea9bd.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/random.h> is common for Arm, PPC and RISC-V thereby it
is moved to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Drop Arm and PPC's random.h and switch to asm-generic verison.
---
Changes in V2:
 - update the commit messages
---
 xen/arch/arm/include/asm/Makefile |  1 +
 xen/arch/arm/include/asm/random.h |  9 ---------
 xen/arch/ppc/include/asm/Makefile |  1 +
 xen/arch/ppc/include/asm/random.h |  9 ---------
 xen/include/asm-generic/random.h  | 20 ++++++++++++++++++++
 5 files changed, 22 insertions(+), 18 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/random.h
 delete mode 100644 xen/arch/ppc/include/asm/random.h
 create mode 100644 xen/include/asm-generic/random.h

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 96e3aa6b6c..cac6d5e3df 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += iocap.h
 generic-y += paging.h
+generic-y += random.h
 generic-y += vm_event.h
diff --git a/xen/arch/arm/include/asm/random.h b/xen/arch/arm/include/asm/random.h
deleted file mode 100644
index b4acee276b..0000000000
--- a/xen/arch/arm/include/asm/random.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __ASM_RANDOM_H__
-#define __ASM_RANDOM_H__
-
-static inline unsigned int arch_get_random(void)
-{
-    return 0;
-}
-
-#endif /* __ASM_RANDOM_H__ */
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 9f5a0dfb31..d8f2a1453c 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -2,4 +2,5 @@
 generic-y += hypercall.h
 generic-y += iocap.h
 generic-y += paging.h
+generic-y += random.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/random.h b/xen/arch/ppc/include/asm/random.h
deleted file mode 100644
index 2f9e9bbae4..0000000000
--- a/xen/arch/ppc/include/asm/random.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __ASM_PPC_RANDOM_H__
-#define __ASM_PPC_RANDOM_H__
-
-static inline unsigned int arch_get_random(void)
-{
-    return 0;
-}
-
-#endif /* __ASM_PPC_RANDOM_H__ */
diff --git a/xen/include/asm-generic/random.h b/xen/include/asm-generic/random.h
new file mode 100644
index 0000000000..cd2307e70b
--- /dev/null
+++ b/xen/include/asm-generic/random.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_RANDOM_H__
+#define __ASM_GENERIC_RANDOM_H__
+
+static inline unsigned int arch_get_random(void)
+{
+    return 0;
+}
+
+#endif /* __ASM_GENERIC_RANDOM_H__ */
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:24:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:24:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635115.990915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xu2-00029R-U7; Fri, 17 Nov 2023 12:24:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635115.990915; Fri, 17 Nov 2023 12: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 1r3xu2-000294-PD; Fri, 17 Nov 2023 12:24:54 +0000
Received: by outflank-mailman (input) for mailman id 635115;
 Fri, 17 Nov 2023 12:24: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xu1-0000ZQ-3D
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:53 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ef436a2-8544-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:24:52 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-507a62d4788so2777331e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:52 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4ef436a2-8544-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223891; x=1700828691; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CmF4A4d7FVu2Lm9OasCXvIiEmLVAs/RA3iaDX7HMtUc=;
        b=b+I2yTAKSwoQRzMOLIdTdSxjL2yNH2QjzoBAMBxLSg6d3L68T33hElYE68UnA6ZI45
         FzMvazIh023YMv7EMjjZSiLhtEkDn/lwAdVE/s7qYIQVJW3YkJ036UM2gmt4KqmsVObb
         W/MemWCl3ISFhtzN/Y/ULZX8hJEN7k8llrWJZoHrpG7kdaUujoDBeBpNOWMJ3bdVPbMJ
         d09vPcfDCT2UBMnMBiJH+E8UKsJCJTTG2iums3sN7Cw2WGV1lAEcnFihZ6TQFBMCXeBk
         5x3b6APt9U1TbASc/WV1FBXgV88pROZCFYgJLExh30YNIIdlkeJqIfJGO0CDkCThULG+
         uiOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223891; x=1700828691;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CmF4A4d7FVu2Lm9OasCXvIiEmLVAs/RA3iaDX7HMtUc=;
        b=mvyPq1rw3XVZTIVkF8BZRi6U2Ulbeks2WmwJF904QOiGr0T1WfdnQJYfv5Ofs1QHwR
         ZGBc84EygCzzrHcVT1IbpZ5+nMlGkNP2CPUfU7hRV0pg414PeqjBgFfLRtSf6M8z+TUQ
         llDvxgztTftOIOUINwb+mOoCh2Y7sxP8j8JUCVgQUQGNtU0CX5j4sQbBMkoM7Gk6GudZ
         pzOK5C2DgMTRpOu/SYS5aAenVtmRL8bJWJrwHparRxrBH2MaXMWuaTH7F6VYS02c/O7S
         poEleg8UlbcLRo4mwjtl/Ogt+a/0u5X0DLGQhJXL19DsKYIpK2mLribvhZNWSBvTOqsp
         m1lA==
X-Gm-Message-State: AOJu0YyqXlgJ0ERJ/r8HTDufVtjExLlrbr9ZeRYfentqKfYu3XG3Nhej
	Vst4S37bYqQ4SEb4Oh5TzR07Bw9FyOQ=
X-Google-Smtp-Source: AGHT+IEMNUY2VtMbTfqAN5gjDSjk+v1jx+g+65pLhs0lhW5GsA9mnX6iU7yUHbyRmcVc4Cxu3P2IjA==
X-Received: by 2002:a05:6512:41c:b0:509:2b81:fc40 with SMTP id u28-20020a056512041c00b005092b81fc40mr12290127lfk.9.1700223891250;
        Fri, 17 Nov 2023 04:24:51 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v3 06/14] xen/asm-generic: introduce generic header percpu.h
Date: Fri, 17 Nov 2023 14:24:30 +0200
Message-ID: <51ce486a825a1654998db01c4e07c127e4b1b38b.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces generic percpu.h which was based on Arm's version
with the following changes:
 * makes __per_cpu_data_end[] constant
 * introduce get_per_cpu_offset() for macros this_cpu() and this_cpu_ptr()
 * add inclustion of <asm/current.h> as get_per_cpu_offset() is located there.

Also it was changed a place where <asm/percpu.h> is included in <xen/percpu.h>
because asm-generic version of percpu.h started to include <asm/current.h> which
requires definition of DECLARE_PER_CPU.

As well the patch switches Arm, PPC and x86 architectures to use asm-generic
version of percpu.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - switch all architectures to asm-generic version of percpu.h
 - introduce get_per_cpu_offset() and implement it architectures.
 - make __per_cpu_data_end constamt.
 - update the commit message.
---
Changes in V2:
	- use smp_processor_id() instead of get_processor_id().
 	- update commit message .
---
 xen/arch/arm/include/asm/Makefile             |  1 +
 xen/arch/arm/include/asm/current.h            |  3 +++
 xen/arch/ppc/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/current.h            |  6 +++++
 xen/arch/ppc/include/asm/percpu.h             | 24 -------------------
 xen/arch/x86/include/asm/Makefile             |  2 ++
 xen/arch/x86/include/asm/current.h            |  2 ++
 xen/arch/x86/include/asm/percpu.h             | 22 -----------------
 .../asm => include/asm-generic}/percpu.h      | 18 ++++++++------
 xen/include/xen/percpu.h                      |  4 ++--
 10 files changed, 28 insertions(+), 55 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/percpu.h
 create mode 100644 xen/arch/x86/include/asm/Makefile
 delete mode 100644 xen/arch/x86/include/asm/percpu.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/percpu.h (57%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index cac6d5e3df..3faf1251ec 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += iocap.h
 generic-y += paging.h
+generic-y += percpu.h
 generic-y += random.h
 generic-y += vm_event.h
diff --git a/xen/arch/arm/include/asm/current.h b/xen/arch/arm/include/asm/current.h
index 51d1c8efa8..0be7ad6ef9 100644
--- a/xen/arch/arm/include/asm/current.h
+++ b/xen/arch/arm/include/asm/current.h
@@ -5,6 +5,7 @@
 #include <xen/percpu.h>
 
 #include <asm/processor.h>
+#include <asm/sysregs.h>
 
 /* Tell whether the guest vCPU enabled Workaround 2 (i.e variant 4) */
 #define CPUINFO_WORKAROUND_2_FLAG_SHIFT   0
@@ -60,6 +61,8 @@ do {                                                    \
     this_cpu(cpu_id) = (id);                            \
 } while ( 0 )
 
+#define get_per_cpu_offset()  READ_SYSREG(TPIDR_EL2)
+
 #endif
 
 #endif /* __ARM_CURRENT_H__ */
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index d8f2a1453c..c0badf5717 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -2,5 +2,6 @@
 generic-y += hypercall.h
 generic-y += iocap.h
 generic-y += paging.h
+generic-y += percpu.h
 generic-y += random.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/current.h b/xen/arch/ppc/include/asm/current.h
index 0ca06033f9..3d0d316bae 100644
--- a/xen/arch/ppc/include/asm/current.h
+++ b/xen/arch/ppc/include/asm/current.h
@@ -4,6 +4,8 @@
 
 #include <xen/percpu.h>
 
+#include <asm/processor.h>
+
 #ifndef __ASSEMBLY__
 
 struct vcpu;
@@ -38,6 +40,10 @@ static inline struct cpu_info *get_cpu_info(void)
 
 #define guest_cpu_user_regs() (&get_cpu_info()->guest_cpu_user_regs)
 
+#define smp_processor_id()      0 /* TODO: Fix this */
+
+#define get_per_cpu_offset()    smp_processor_id()
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __ASM_PPC_CURRENT_H__ */
diff --git a/xen/arch/ppc/include/asm/percpu.h b/xen/arch/ppc/include/asm/percpu.h
deleted file mode 100644
index e7c40c0f03..0000000000
--- a/xen/arch/ppc/include/asm/percpu.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef __PPC_PERCPU_H__
-#define __PPC_PERCPU_H__
-
-#ifndef __ASSEMBLY__
-
-extern char __per_cpu_start[], __per_cpu_data_end[];
-extern unsigned long __per_cpu_offset[NR_CPUS];
-void percpu_init_areas(void);
-
-#define smp_processor_id() 0 /* TODO: Fix this */
-
-#define per_cpu(var, cpu)  \
-    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
-#define this_cpu(var) \
-    (*RELOC_HIDE(&per_cpu__##var, smp_processor_id()))
-
-#define per_cpu_ptr(var, cpu)  \
-    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
-#define this_cpu_ptr(var) \
-    (*RELOC_HIDE(var, smp_processor_id()))
-
-#endif
-
-#endif /* __PPC_PERCPU_H__ */
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
new file mode 100644
index 0000000000..874429ed30
--- /dev/null
+++ b/xen/arch/x86/include/asm/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0-only
+generic-y += percpu.h
diff --git a/xen/arch/x86/include/asm/current.h b/xen/arch/x86/include/asm/current.h
index 35cca5cbe4..10950f36cc 100644
--- a/xen/arch/x86/include/asm/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -102,6 +102,8 @@ static inline struct cpu_info *get_cpu_info(void)
 #define smp_processor_id()    (get_cpu_info()->processor_id)
 #define guest_cpu_user_regs() (&get_cpu_info()->guest_cpu_user_regs)
 
+#define get_per_cpu_offset()  (get_cpu_info()->per_cpu_offset)
+
 /*
  * Get the bottom-of-stack, as stored in the per-CPU TSS. This actually points
  * into the middle of cpu_info.guest_cpu_user_regs, at the section that
diff --git a/xen/arch/x86/include/asm/percpu.h b/xen/arch/x86/include/asm/percpu.h
deleted file mode 100644
index 2b0c29a233..0000000000
--- a/xen/arch/x86/include/asm/percpu.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef __X86_PERCPU_H__
-#define __X86_PERCPU_H__
-
-#ifndef __ASSEMBLY__
-extern char __per_cpu_start[], __per_cpu_data_end[];
-extern unsigned long __per_cpu_offset[NR_CPUS];
-void percpu_init_areas(void);
-#endif
-
-/* var is in discarded region: offset to particular copy we want */
-#define per_cpu(var, cpu)  \
-    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
-#define this_cpu(var) \
-    (*RELOC_HIDE(&per_cpu__##var, get_cpu_info()->per_cpu_offset))
-
-#define this_cpu_ptr(var) \
-    (*RELOC_HIDE(var, get_cpu_info()->per_cpu_offset))
-
-#define per_cpu_ptr(var, cpu)  \
-    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
-
-#endif /* __X86_PERCPU_H__ */
diff --git a/xen/arch/arm/include/asm/percpu.h b/xen/include/asm-generic/percpu.h
similarity index 57%
rename from xen/arch/arm/include/asm/percpu.h
rename to xen/include/asm-generic/percpu.h
index f1a8768080..60af4f9ff9 100644
--- a/xen/arch/arm/include/asm/percpu.h
+++ b/xen/include/asm-generic/percpu.h
@@ -1,28 +1,32 @@
-#ifndef __ARM_PERCPU_H__
-#define __ARM_PERCPU_H__
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_PERCPU_H__
+#define __ASM_GENERIC_PERCPU_H__
 
 #ifndef __ASSEMBLY__
 
 #include <xen/types.h>
-#include <asm/sysregs.h>
+#include <asm/current.h>
 
-extern char __per_cpu_start[], __per_cpu_data_end[];
+extern char __per_cpu_start[];
+extern const char __per_cpu_data_end[];
 extern unsigned long __per_cpu_offset[NR_CPUS];
 void percpu_init_areas(void);
 
 #define per_cpu(var, cpu)  \
     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
+
 #define this_cpu(var) \
-    (*RELOC_HIDE(&per_cpu__##var, READ_SYSREG(TPIDR_EL2)))
+    (*RELOC_HIDE(&per_cpu__##var, get_per_cpu_offset()))
 
 #define per_cpu_ptr(var, cpu)  \
     (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
 #define this_cpu_ptr(var) \
-    (*RELOC_HIDE(var, READ_SYSREG(TPIDR_EL2)))
+    (*RELOC_HIDE(var, get_per_cpu_offset()))
 
 #endif
 
-#endif /* __ARM_PERCPU_H__ */
+#endif /* __ASM_GENERIC_PERCPU_H__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/percpu.h b/xen/include/xen/percpu.h
index c7bf57cbcd..57522f346b 100644
--- a/xen/include/xen/percpu.h
+++ b/xen/include/xen/percpu.h
@@ -1,8 +1,6 @@
 #ifndef __XEN_PERCPU_H__
 #define __XEN_PERCPU_H__
 
-#include <asm/percpu.h>
-
 #define DECLARE_PER_CPU(type, name) \
     extern __typeof__(type) per_cpu__ ## name
 
@@ -29,6 +27,8 @@
 
 #define get_per_cpu_var(var)  (per_cpu__##var)
 
+#include <asm/percpu.h>
+
 /* Linux compatibility. */
 #define get_cpu_var(var) this_cpu(var)
 #define put_cpu_var(var)
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:24:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635117.990924 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xu5-0002Ts-5m; Fri, 17 Nov 2023 12:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635117.990924; Fri, 17 Nov 2023 12:24: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 1r3xu5-0002Tb-2d; Fri, 17 Nov 2023 12:24:57 +0000
Received: by outflank-mailman (input) for mailman id 635117;
 Fri, 17 Nov 2023 12:24: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xu3-0000ZQ-2R
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:55 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 503bfeab-8544-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:24:54 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-5079f9ec8d9so2033198e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:54 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 503bfeab-8544-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223894; x=1700828694; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h5EFcRe5i11VHN5dkWPb4m8i84DRWOYD+kJLJMwIYHU=;
        b=khgVVekBBYMZDZxrIgX5r+NSmEj69sJ2rihdRHAKkCzBOTZWzdVtqYxuL3HtSvT7Ry
         XV0z6+tVo4XcXML7hguelv1hVrePWk7f7S/NtmO9y5NlUB205QhGX7eAKWwyjDITa/sL
         /X/2sVFTzkYtvP9M4b2t1hpbbzEYa7mu+MPG/TusJOZaDJDmiABanvxjDetvRI73TGGD
         B0x4Tp+ZoLnRGRmHRq/iMEff3tIa0dNY4s7pnN5hRfKSVLDCUOJARLgSj352cz2TQ3TW
         n/YtatociKBMXBtEt2PQfFfqLHLg6nXsYh/FvhRTwF38np26RzrMNfYChngc1xlPWqy4
         nrlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223894; x=1700828694;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=h5EFcRe5i11VHN5dkWPb4m8i84DRWOYD+kJLJMwIYHU=;
        b=PQeXnSLVuQi3d5x2ytP5hy86jza/Hotw8hqAG4Aq9vsgdPlTtdgIlc5jwdKejeLjz0
         YI8sWxhpHwPo+jgIBNiE+1MOS60YvxXdXAJqkl2PnxGVmJXrEnFdedUwWNN3s7MoE/vz
         I7YvC6xZUvcVrbO8Twp592wQb+9Cp06mqSVSFgODOoCY2dJznpTWF1SKKG0EI0MvsVO+
         FZAisV9S43sCFpImfls5ksBU6UuLDpZKKcBD/vFeJPHizDaner1iFUPQbHea/GQFzuSs
         2u5o52SAHB5HY/3Bgbu777ZHHmsqT5B5vv5mnlgGyu8VW89VGC8+FsadcULrn32bESoh
         rPyw==
X-Gm-Message-State: AOJu0YzZZMgjqZ2qm+XyW/dPPZGNpvoMzG9aNaYCmTtXu9VEJ/rJmYjr
	mSOR5UJJunH2LReCsmofvIWg7yHj/98=
X-Google-Smtp-Source: AGHT+IHr9y044KYZlXDIF525+vEqaghyq5t8xYgVXfKhB5uq9h3N8pjlewWLM7B+IfX97VOA0g5LSw==
X-Received: by 2002:ac2:4e10:0:b0:501:ba04:f352 with SMTP id e16-20020ac24e10000000b00501ba04f352mr2567197lfr.1.1700223893938;
        Fri, 17 Nov 2023 04:24:53 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.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 08/14] xen/asm-generic: introduce generic div64.h header
Date: Fri, 17 Nov 2023 14:24:32 +0200
Message-ID: <13bf409f3191d066af9caef417011b6ea039dbd9.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

All archs have the do_div implementation for BITS_PER_LONG == 64
so do_div64.h is moved to asm-generic.

x86 and PPC were switched to asm-generic version of div64.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Drop x86 and PPC's div64.h.
 - Update the commit message.
---
Changes in V2:
	- rename base to divisor
	- add "#if BITS_PER_LONG == 64"
	- fix code style
---
 xen/arch/ppc/include/asm/Makefile |  1 +
 xen/arch/ppc/include/asm/div64.h  | 14 --------------
 xen/arch/x86/include/asm/Makefile |  1 +
 xen/arch/x86/include/asm/div64.h  | 14 --------------
 xen/include/asm-generic/div64.h   | 27 +++++++++++++++++++++++++++
 5 files changed, 29 insertions(+), 28 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/div64.h
 delete mode 100644 xen/arch/x86/include/asm/div64.h
 create mode 100644 xen/include/asm-generic/div64.h

diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 9b38d2d381..b4fbcc897b 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
diff --git a/xen/arch/ppc/include/asm/div64.h b/xen/arch/ppc/include/asm/div64.h
deleted file mode 100644
index d213e50585..0000000000
--- a/xen/arch/ppc/include/asm/div64.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_DIV64_H__
-#define __ASM_PPC_DIV64_H__
-
-#include <xen/types.h>
-
-#define do_div(n, base) ({                       \
-    uint32_t base_ = (base);                     \
-    uint32_t rem_ = (uint64_t)(n) % base_;       \
-    (n) = (uint64_t)(n) / base_;                 \
-    rem_;                                        \
-})
-
-#endif /* __ASM_PPC_DIV64_H__ */
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
index 874429ed30..daab34ff0a 100644
--- a/xen/arch/x86/include/asm/Makefile
+++ b/xen/arch/x86/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += div64.h
 generic-y += percpu.h
diff --git a/xen/arch/x86/include/asm/div64.h b/xen/arch/x86/include/asm/div64.h
deleted file mode 100644
index dd49f64a3b..0000000000
--- a/xen/arch/x86/include/asm/div64.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef __X86_DIV64
-#define __X86_DIV64
-
-#include <xen/types.h>
-
-#define do_div(n,base) ({                       \
-    uint32_t __base = (base);                   \
-    uint32_t __rem;                             \
-    __rem = ((uint64_t)(n)) % __base;           \
-    (n) = ((uint64_t)(n)) / __base;             \
-    __rem;                                      \
-})
-
-#endif
diff --git a/xen/include/asm-generic/div64.h b/xen/include/asm-generic/div64.h
new file mode 100644
index 0000000000..068d8a11ad
--- /dev/null
+++ b/xen/include/asm-generic/div64.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_DIV64
+#define __ASM_GENERIC_DIV64
+
+#include <xen/types.h>
+
+#if BITS_PER_LONG == 64
+
+#define do_div(n, divisor) ({                   \
+    uint32_t divisor_ = (divisor);              \
+    uint32_t rem_ = (uint64_t)(n) % divisor_;   \
+    (n) = (uint64_t)(n) / divisor_;             \
+    rem_;                                       \
+})
+
+#endif /* BITS_PER_LONG */
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:24:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635118.990931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xu5-0002Ya-Of; Fri, 17 Nov 2023 12:24:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635118.990931; Fri, 17 Nov 2023 12:24: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 1r3xu5-0002Xk-FL; Fri, 17 Nov 2023 12:24:57 +0000
Received: by outflank-mailman (input) for mailman id 635118;
 Fri, 17 Nov 2023 12:24: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xu3-0000iK-9b
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:55 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4fb95b22-8544-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 13:24:53 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-507e85ebf50so2543375e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:53 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4fb95b22-8544-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223892; x=1700828692; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LmhmHUWbvIjT7v8mc11Sz63FiVrJy0OUXCvMliE2Ht4=;
        b=mtREsuv4zUri87MyaDyHz0YBtzUXMgWy1t2cXNXfQVU2FjUyb3nBhKAeHDgocRQ3Xf
         mXnwmvLoRAfcCZ43lvnZoTU1mXOBvUl7zDOtGM0CbGtUgFVSVujvMSsSEECQK21O+xbN
         kFyreIBBdizNQdLK066LQleaonfSbeQZwhfEG6QJvJ+3/kLsKg7wYhEO3Uxy/JHYSXe0
         QrYvwbHGlw9gCVSgXHfB3AiL6Ne7UDOAx5s5RennU26XYUuCNqxVahCFJpuR1pePzVUF
         GhCELLUYrJqo4AcuAOEdwzLnS4AUnvtg1cWwBm3edLlpE2VvSNsDH2enHNoW5E9VPiP2
         McJg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223892; x=1700828692;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LmhmHUWbvIjT7v8mc11Sz63FiVrJy0OUXCvMliE2Ht4=;
        b=maf2cWQoxnELcS9guWGiaiSf1KI0qXoZhaHb6SDdRgtRGwaJNEoswXqL1d0pItMcg3
         VLl6m3WCQ6P6DGjARN9AR7BCrUjiSFGfceiucTNKbBk+X9o4df0EEr750apjeY4bGUiG
         uz0nUUymqCD/25F/WfCq+WFubD6M29t805i/9Hv46oewGYjGhWHqNaMDq6LhpRz/obiz
         ZSBUV9rN811MZ1AYQ//7p54HSyBiJZ2XM5nS7mdNzyDtW6v7JGdVpGcrXOidGXXH994E
         axyywuxc1nK0o7FDshG25ExwDB8pOB+rZgnXqyDNQ2MKz67H3tKTjXNFDgEwD0PUuwOj
         beaQ==
X-Gm-Message-State: AOJu0YzMF1KxP/UgtF6ZDmoSEsSQWBN+H7yXVS3WaKfmAML1GR5p8gD3
	UMFG3xNF040HmiP+WLrE4JVn3CIjKFc=
X-Google-Smtp-Source: AGHT+IEHBboeFXfJjLbpEhMOw1rwqfVPFifgWPaWKGkc3Ns3Rd8K4df0XjjxOuDHlrOIwKkLmGP5PQ==
X-Received: by 2002:a05:6512:b8c:b0:50a:a14e:92c5 with SMTP id b12-20020a0565120b8c00b0050aa14e92c5mr1270060lfv.45.1700223892601;
        Fri, 17 Nov 2023 04:24:52 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 07/14] xen/asm-generic: introduce generalized hardirq.h
Date: Fri, 17 Nov 2023 14:24:31 +0200
Message-ID: <3e5334809f5efa78eebe8e8ff342f10851f107f9.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/hardirq.h> is common through archs thereby it is moved
to asm-generic.

Arm and PPC were switched to asm generic verstion of hardirq.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Drop Arm and PPC's hardirq.h
 - Update the commit message.
---
Changes in V2:
	- add #include <xen/cache.h>.
	- update the commit message
---
 xen/arch/arm/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/hardirq.h            | 19 -------------------
 .../asm => include/asm-generic}/hardirq.h     |  8 +++++---
 4 files changed, 7 insertions(+), 22 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/hardirq.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/hardirq.h (79%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 3faf1251ec..36d95d6310 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += hardirq.h
 generic-y += iocap.h
 generic-y += paging.h
 generic-y += percpu.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index c0badf5717..9b38d2d381 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
 generic-y += paging.h
diff --git a/xen/arch/ppc/include/asm/hardirq.h b/xen/arch/ppc/include/asm/hardirq.h
deleted file mode 100644
index 343efc7e69..0000000000
--- a/xen/arch/ppc/include/asm/hardirq.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_HARDIRQ_H__
-#define __ASM_PPC_HARDIRQ_H__
-
-#include <xen/cache.h>
-
-typedef struct {
-        unsigned long __softirq_pending;
-        unsigned int __local_irq_count;
-} __cacheline_aligned irq_cpustat_t;
-
-#include <xen/irq_cpustat.h>    /* Standard mappings for irq_cpustat_t above */
-
-#define in_irq() (local_irq_count(smp_processor_id()) != 0)
-
-#define irq_enter()     (local_irq_count(smp_processor_id())++)
-#define irq_exit()      (local_irq_count(smp_processor_id())--)
-
-#endif /* __ASM_PPC_HARDIRQ_H__ */
diff --git a/xen/arch/arm/include/asm/hardirq.h b/xen/include/asm-generic/hardirq.h
similarity index 79%
rename from xen/arch/arm/include/asm/hardirq.h
rename to xen/include/asm-generic/hardirq.h
index 67b6a673db..ddccf460b9 100644
--- a/xen/arch/arm/include/asm/hardirq.h
+++ b/xen/include/asm-generic/hardirq.h
@@ -1,5 +1,6 @@
-#ifndef __ASM_HARDIRQ_H
-#define __ASM_HARDIRQ_H
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_HARDIRQ_H
+#define __ASM_GENERIC_HARDIRQ_H
 
 #include <xen/cache.h>
 #include <xen/smp.h>
@@ -16,7 +17,8 @@ typedef struct {
 #define irq_enter()     (local_irq_count(smp_processor_id())++)
 #define irq_exit()      (local_irq_count(smp_processor_id())--)
 
-#endif /* __ASM_HARDIRQ_H */
+#endif /* __ASM_GENERIC_HARDIRQ_H */
+
 /*
  * Local variables:
  * mode: C
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:25:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:25:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635119.990945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xu8-00037w-BC; Fri, 17 Nov 2023 12:25:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635119.990945; Fri, 17 Nov 2023 12:25: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 1r3xu8-00037Y-4j; Fri, 17 Nov 2023 12:25:00 +0000
Received: by outflank-mailman (input) for mailman id 635119;
 Fri, 17 Nov 2023 12:24: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xu6-0000iK-Lq
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:24:58 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51b6f61a-8544-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 13:24:57 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-507cd62472dso3284831e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:57 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 51b6f61a-8544-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223896; x=1700828696; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Rl4iF/FkI2FedcYr2gK5iEVqy4B8r/7vxJoL3llru3Y=;
        b=Q9xGDPf3UTgOG//69XRx6MNhY2U8JxPD0+I9aOFfuhjwTHaUIsQ8sF1EloAafWPhsZ
         BkfbtF8I57bc0bVNRXXNI7ZMan0Omr//+h+il7j8kdOo0NmveI5F3048dHvUdf7ulwOA
         8ddEkKiFGVHAJB6fBroTbBo9ptQHFN7yRAcd8/TLQ8J1YMUu2y+mnfMFXaEywOrH9VKo
         Lmn1KeFoDPjW6m+cYW2F7vtcrNxU5q5iSLteLZm6neD2ZMO1T/TL53WmCMZVl+F/tapL
         2qrRnlFwSZgs1EitCB/SXlfeU2xtFu5WLhaYk5zfsw43l0GQCpg4GQldgDAThCGWxc7r
         D84A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223896; x=1700828696;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Rl4iF/FkI2FedcYr2gK5iEVqy4B8r/7vxJoL3llru3Y=;
        b=C5LtZD/vnmsz9fVXxkKEjomoS0QiTTBJ4kA+O2xAKHGJ0dCw1pGSMBpMT47Gb1rqu4
         67ruO29mVQwZcfeHdBJBds2Rg3WcT0Dyjd4vJ26+Hqk/AbWpzYoiDHMNCCA8tLMI+JnP
         ES5c9+qtmJSCgoHfYEp12D8kYGLcJYbU19iQA0/kAQmUUuWhZI4hMUu3dorqLp4QygdT
         qNyumDLma+nb5JncYli14Tx4jUQVpOKIyZMDEgI6UqjTwF6iCGHGUeRbdE9iPKF46bk0
         Odhci26gwjK6SArziMLjlh8bPar2C8pbjSKk5yo4wTRX3ir3IfdwWaGt9Zp+WtbN8x9h
         KRAQ==
X-Gm-Message-State: AOJu0YwNCHgIG30OpGQ5fEZbYddbtQ7gaXpPO2KqeuIkZmuMlhGstgd8
	gmECfsGPb4NqQnZlnwr+KclpkpY71L4=
X-Google-Smtp-Source: AGHT+IGS/KYKzWD4X2WyiU5KxDXlxhn6lkHLzh8Ep5tZGdrI6Za/XhwkhBv3v/L1gzuf8l5qz49yEw==
X-Received: by 2002:a05:6512:e9c:b0:509:dd1:74f8 with SMTP id bi28-20020a0565120e9c00b005090dd174f8mr2493853lfb.2.1700223895492;
        Fri, 17 Nov 2023 04:24:55 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 09/14] xen/asm-generic: introduce generic header altp2m.h
Date: Fri, 17 Nov 2023 14:24:33 +0200
Message-ID: <efb6b1864de36d9990a2d2a84308f4bdebebb66a.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/alt2pm.h> is common between archs so it is moved to
asm-generic.

Arm and PPC were switched to asm-generic version of altp2m.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Drop Arm and PPC's altp2m.h
 - Update the commit message.
---
Changes in V2:
	- change uint16_t to unsigned int in declaration of altp2m_vcpu_idx
	- update the commit message
---
 xen/arch/arm/include/asm/Makefile |  1 +
 xen/arch/arm/include/asm/altp2m.h | 39 -------------------------------
 xen/arch/ppc/include/asm/Makefile |  1 +
 xen/arch/ppc/include/asm/altp2m.h | 25 --------------------
 xen/include/asm-generic/altp2m.h  | 34 +++++++++++++++++++++++++++
 5 files changed, 36 insertions(+), 64 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/altp2m.h
 delete mode 100644 xen/arch/ppc/include/asm/altp2m.h
 create mode 100644 xen/include/asm-generic/altp2m.h

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 36d95d6310..8221429c2c 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += altp2m.h
 generic-y += hardirq.h
 generic-y += iocap.h
 generic-y += paging.h
diff --git a/xen/arch/arm/include/asm/altp2m.h b/xen/arch/arm/include/asm/altp2m.h
deleted file mode 100644
index df50cb2f09..0000000000
--- a/xen/arch/arm/include/asm/altp2m.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Alternate p2m
- *
- * Copyright (c) 2014, Intel Corporation.
- *
- * 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/>.
- */
-
-#ifndef __ASM_ARM_ALTP2M_H
-#define __ASM_ARM_ALTP2M_H
-
-#include <xen/sched.h>
-
-/* Alternate p2m on/off per domain */
-static inline bool altp2m_active(const struct domain *d)
-{
-    /* Not implemented on ARM. */
-    return false;
-}
-
-/* Alternate p2m VCPU */
-static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v)
-{
-    /* Not implemented on ARM, should not be reached. */
-    BUG();
-    return 0;
-}
-
-#endif /* __ASM_ARM_ALTP2M_H */
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index b4fbcc897b..a8e848d4d0 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += altp2m.h
 generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
diff --git a/xen/arch/ppc/include/asm/altp2m.h b/xen/arch/ppc/include/asm/altp2m.h
deleted file mode 100644
index bd5c9aa415..0000000000
--- a/xen/arch/ppc/include/asm/altp2m.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_ALTP2M_H__
-#define __ASM_PPC_ALTP2M_H__
-
-#include <xen/bug.h>
-
-struct domain;
-struct vcpu;
-
-/* Alternate p2m on/off per domain */
-static inline bool altp2m_active(const struct domain *d)
-{
-    /* Not implemented on PPC. */
-    return false;
-}
-
-/* Alternate p2m VCPU */
-static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v)
-{
-    /* Not implemented on PPC, should not be reached. */
-    ASSERT_UNREACHABLE();
-    return 0;
-}
-
-#endif /* __ASM_PPC_ALTP2M_H__ */
diff --git a/xen/include/asm-generic/altp2m.h b/xen/include/asm-generic/altp2m.h
new file mode 100644
index 0000000000..39865a842a
--- /dev/null
+++ b/xen/include/asm-generic/altp2m.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_ALTP2M_H
+#define __ASM_GENERIC_ALTP2M_H
+
+#include <xen/bug.h>
+
+struct domain;
+struct vcpu;
+
+/* Alternate p2m on/off per domain */
+static inline bool altp2m_active(const struct domain *d)
+{
+    /* Not implemented on GENERIC. */
+    return false;
+}
+
+/* Alternate p2m VCPU */
+static inline unsigned int altp2m_vcpu_idx(const struct vcpu *v)
+{
+    /* Not implemented on GENERIC, should not be reached. */
+    BUG();
+    return 0;
+}
+
+#endif /* __ASM_GENERIC_ALTP2M_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:25:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:25:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635120.990954 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xu9-0003Pi-PW; Fri, 17 Nov 2023 12:25:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635120.990954; Fri, 17 Nov 2023 12:25: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 1r3xu9-0003O9-Gy; Fri, 17 Nov 2023 12:25:01 +0000
Received: by outflank-mailman (input) for mailman id 635120;
 Fri, 17 Nov 2023 12:25: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xu8-0000iK-18
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:25:00 +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 528193c7-8544-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 13:24:58 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-507adc3381cso2497182e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:58 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 528193c7-8544-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223897; x=1700828697; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bqCrA4cmi94JGuUu0rnXEvBAcFwzLBG4Gu65+9LoXrk=;
        b=Xo5iLFYzImETXXLIyZYNWRTkQNTfqxYNCB6VcyGFlWIN8Okf7PRE+eXthgNy/+n9i8
         8Noi1b2mACxISHpIkSf8UvEns5pGNwgsrbOwuKrwKt5WpJwDXiK/05RAmp/aHgYyropS
         H55zzZ2BsifPDS5fDuhaDMgeHNxuUjCUSZsXKO7/6jtdE8d1/+DkcmNXibKqXEo6p5NZ
         516Bb7i5fSCVEUUar643X+UHwbQDZUdM+n8Z93q2iqpHMBalZMamy3yDphPYM4Le5u0+
         ltzmV5X0UN1TP4IwHF/VGA7F16+7RcVZ5mE6dzDGDLxK4ljhRguzeJ8jDn3DqlxM/vAo
         +DaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223897; x=1700828697;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bqCrA4cmi94JGuUu0rnXEvBAcFwzLBG4Gu65+9LoXrk=;
        b=qf8HlbXDQwd6PIUTOiVKYkT4Lj3OM/A8hRaIdJ6bjlccuXj0PIBXwhjspMMQ/jbfNf
         xlXpZ92pmXw4M/aZIeOySIW8nw1ZvVHy+oCVlH7alg+FDdOo2n2i30x6OCax555avl62
         77RZDNTfEe80vKjPmU/MiN/shJOS5TSX3rpvoF+O2uoITpBM9dtMi6HvAiI3vp0rmd5W
         CJGJS7REhkGESec/Mff1HUMQww14fq7BulPCQPPcYpdBPSm/Oi2cJUg1NEniNkJsUVHi
         pBOeMGYFTbmn1hQYC6GnRJwjRAvyQp2gGxfvEv33sWdX9BSWSTmwDjFhHsAimOkbwuD1
         sFFg==
X-Gm-Message-State: AOJu0YyZZUcm44EALy2RPepkb0Mu260Tz6aixwE9ISv3NDUwfLs5934S
	OrdbKOFLdBX5YzDOqNs3zVKOGileeHo=
X-Google-Smtp-Source: AGHT+IF33WHJwCt7yNZckLw2DNZfPJoO6TTBXIL1PFamgLtEsYrhqTxI/ztYReLy+R7TTatUyOQLHw==
X-Received: by 2002:ac2:5f76:0:b0:507:9a05:1aed with SMTP id c22-20020ac25f76000000b005079a051aedmr12378937lfc.4.1700223897254;
        Fri, 17 Nov 2023 04:24:57 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v3 10/14] xen/asm-generic: introduce stub header monitor.h
Date: Fri, 17 Nov 2023 14:24:34 +0200
Message-ID: <4340a173244ddf933979331762ccb0d523969738.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The header is shared between archs so it is moved to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Use forward-declaration of struct domain instead of " #include <xen/sched.h> ".
 - Add ' include <xen/errno.h> '
 - Drop PPC's monitor.h.
---
Changes in V2:
	- remove inclusion of "+#include <public/domctl.h>"
	- add "struct xen_domctl_monitor_op;"
	- remove one of SPDX tags.
---
 xen/arch/ppc/include/asm/Makefile  |  1 +
 xen/arch/ppc/include/asm/monitor.h | 43 --------------------
 xen/include/asm-generic/monitor.h  | 63 ++++++++++++++++++++++++++++++
 3 files changed, 64 insertions(+), 43 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/monitor.h
 create mode 100644 xen/include/asm-generic/monitor.h

diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index a8e848d4d0..9bbae4cec8 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -4,6 +4,7 @@ generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
+generic-y += monitor.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
diff --git a/xen/arch/ppc/include/asm/monitor.h b/xen/arch/ppc/include/asm/monitor.h
deleted file mode 100644
index e5b0282bf1..0000000000
--- a/xen/arch/ppc/include/asm/monitor.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/* Derived from xen/arch/arm/include/asm/monitor.h */
-#ifndef __ASM_PPC_MONITOR_H__
-#define __ASM_PPC_MONITOR_H__
-
-#include <public/domctl.h>
-#include <xen/errno.h>
-
-static inline
-void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
-{
-}
-
-static inline
-int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
-{
-    /* No arch-specific monitor ops on PPC. */
-    return -EOPNOTSUPP;
-}
-
-int arch_monitor_domctl_event(struct domain *d,
-                              struct xen_domctl_monitor_op *mop);
-
-static inline
-int arch_monitor_init_domain(struct domain *d)
-{
-    /* No arch-specific domain initialization on PPC. */
-    return 0;
-}
-
-static inline
-void arch_monitor_cleanup_domain(struct domain *d)
-{
-    /* No arch-specific domain cleanup on PPC. */
-}
-
-static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
-{
-    BUG_ON("unimplemented");
-    return 0;
-}
-
-#endif /* __ASM_PPC_MONITOR_H__ */
diff --git a/xen/include/asm-generic/monitor.h b/xen/include/asm-generic/monitor.h
new file mode 100644
index 0000000000..57b2256db7
--- /dev/null
+++ b/xen/include/asm-generic/monitor.h
@@ -0,0 +1,63 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * include/asm-GENERIC/monitor.h
+ *
+ * Arch-specific monitor_op domctl handler.
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
+ *
+ */
+
+#ifndef __ASM_GENERIC_MONITOR_H__
+#define __ASM_GENERIC_MONITOR_H__
+
+#include <xen/errno.h>
+
+struct domain;
+struct xen_domctl_monitor_op;
+
+static inline
+void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
+{
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    /* No arch-specific monitor ops on GENERIC. */
+    return -EOPNOTSUPP;
+}
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop);
+
+static inline
+int arch_monitor_init_domain(struct domain *d)
+{
+    /* No arch-specific domain initialization on GENERIC. */
+    return 0;
+}
+
+static inline
+void arch_monitor_cleanup_domain(struct domain *d)
+{
+    /* No arch-specific domain cleanup on GENERIC. */
+}
+
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    return 0;
+}
+
+#endif /* __ASM_GENERIC_MONITOR_H__ */
+
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:25:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:25:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635121.990960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xuA-0003Vd-Bt; Fri, 17 Nov 2023 12:25:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635121.990960; Fri, 17 Nov 2023 12:25: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 1r3xuA-0003UA-4h; Fri, 17 Nov 2023 12:25:02 +0000
Received: by outflank-mailman (input) for mailman id 635121;
 Fri, 17 Nov 2023 12:25: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xu8-0000ZQ-5o
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:25:00 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5348235b-8544-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:24:59 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-507f1c29f25so2659776e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:24:59 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5348235b-8544-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223898; x=1700828698; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YsnMnx3qJnhyBXB1udD6ESspWS/fknMucSDv+GOY/fs=;
        b=AkljVgjeVkb3b+Q3GFDXhYLRyf8R9zQic3L9DcVBhZiicJyhwtyaIb86Uf2qvAIuOi
         4NMTgpY0ZglofOQIgsX0IhqAke7EQib+0Qubee+mvLQy/XYoOd2fkMX5tEPmuV45R8pi
         JceBtFWGSCX2NIN7mhlCQTCc0PlsvuAhI3YtyPChgHMIKH9y8iPWhX8xfPrlmSjzB63x
         7NXlQPnQkNTE9LlyuFcUiyfor2k5Am1KvmAVSRnxG/3UF5PBaIgwXax6SwNSUUeEZLzz
         AhzRTHjgLO6BxI1yMhvyLkPKfV0Aj6NrM8AOPydD7+RodizA+7OWQtIrbxjCGuvftf/j
         wd5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223898; x=1700828698;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=YsnMnx3qJnhyBXB1udD6ESspWS/fknMucSDv+GOY/fs=;
        b=Q/eldrAhPY+7UNxlX08kv0gkEwlgmaU7i15Gd76x5JKpgdvANW7h//QJpteja75wvk
         HCllShncAYi8EMpcPTmGni89Xl0Yyz+LduHc6n/qXTTUj9gPm8Ctp0Kx8g2PZCDiZ1Vu
         j3hkeFIpFEiJi/EzvYZtmqMKs4DKLi9y8pCcspoyA0BwoYs++Rf9k7CJ5XnU849Lc42E
         QJq3bDgSMdlCwnxZXTPW511Q+bruOaRkC+NqeEGi0pazULVy9ctv9CclaNgWX+gkSVHi
         U30Q0ebslE4Oul2/MEZ52SfVy5DHodDa2cB/aQGO93Dfd2iIOsL60RRdY9tqX5On5IF6
         Hk9Q==
X-Gm-Message-State: AOJu0Yy6rDb2Cu1xVhOjBA3FP3LO5uEQJqJ5JVQD0FLKrJf3y5GfZZdq
	2CAiG91OHyztUc/32pjsWz6prBz8ylI=
X-Google-Smtp-Source: AGHT+IEwrI59ykOOh0OZRtckIxEPSenLZxQMITCBvRfEyqfF1KwNUKBBo1VkLPcpX+iCMbo0xi1mKg==
X-Received: by 2002:a05:6512:94e:b0:509:1227:ca71 with SMTP id u14-20020a056512094e00b005091227ca71mr11881967lft.17.1700223898553;
        Fri, 17 Nov 2023 04:24:58 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 11/14] xen/asm-generic: introduce stub header numa.h
Date: Fri, 17 Nov 2023 14:24:35 +0200
Message-ID: <7ae3b2dbdb8e711b2462af511e1f64c2700113d7.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/numa.h> is common through some archs so it is moved
to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Remove old header inclusion in asm-generic numa.h and include
   <xen/mm-frame.h> and <xen/stdint.h>
 - Drop Arm and PPC's numa.h and use asm-generic version instead.
---
Changes in V2:
	- update the commit message.
	- change u8 to uint8_t.
	- add ifnded CONFIG_NUMA.
---
 xen/arch/arm/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/numa.h               | 26 -------------------
 .../asm => include/asm-generic}/numa.h        | 13 ++++++----
 4 files changed, 10 insertions(+), 31 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/numa.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/numa.h (75%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 8221429c2c..0c855a798a 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -2,6 +2,7 @@
 generic-y += altp2m.h
 generic-y += hardirq.h
 generic-y += iocap.h
+generic-y += numa.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 9bbae4cec8..d5a94bc718 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -5,6 +5,7 @@ generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
 generic-y += monitor.h
+generic-y += numa.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
diff --git a/xen/arch/ppc/include/asm/numa.h b/xen/arch/ppc/include/asm/numa.h
deleted file mode 100644
index 7fdf66c3da..0000000000
--- a/xen/arch/ppc/include/asm/numa.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef __ASM_PPC_NUMA_H__
-#define __ASM_PPC_NUMA_H__
-
-#include <xen/types.h>
-#include <xen/mm.h>
-
-typedef uint8_t nodeid_t;
-
-/* Fake one node for now. See also node_online_map. */
-#define cpu_to_node(cpu) 0
-#define node_to_cpumask(node)   (cpu_online_map)
-
-/*
- * TODO: make first_valid_mfn static when NUMA is supported on PPC, this
- * is required because the dummy helpers are using it.
- */
-extern mfn_t first_valid_mfn;
-
-/* XXX: implement NUMA support */
-#define node_spanned_pages(nid) (max_page - mfn_x(first_valid_mfn))
-#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
-#define __node_distance(a, b) (20)
-
-#define arch_want_default_dmazone() (false)
-
-#endif /* __ASM_PPC_NUMA_H__ */
diff --git a/xen/arch/arm/include/asm/numa.h b/xen/include/asm-generic/numa.h
similarity index 75%
rename from xen/arch/arm/include/asm/numa.h
rename to xen/include/asm-generic/numa.h
index e2bee2bd82..c5b522dee8 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/include/asm-generic/numa.h
@@ -1,9 +1,11 @@
-#ifndef __ARCH_ARM_NUMA_H
-#define __ARCH_ARM_NUMA_H
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ARCH_GENERIC_NUMA_H
+#define __ARCH_GENERIC_NUMA_H
 
-#include <xen/mm.h>
+#include <xen/mm-frame.h>
+#include <xen/stdint.h>
 
-typedef u8 nodeid_t;
+typedef uint8_t nodeid_t;
 
 #ifndef CONFIG_NUMA
 
@@ -26,7 +28,8 @@ extern mfn_t first_valid_mfn;
 
 #define arch_want_default_dmazone() (false)
 
-#endif /* __ARCH_ARM_NUMA_H */
+#endif /* __ARCH_GENERIC_NUMA_H */
+
 /*
  * Local variables:
  * mode: C
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:25:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:25:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635122.990966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xuB-0003e2-08; Fri, 17 Nov 2023 12:25:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635122.990966; Fri, 17 Nov 2023 12:25: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 1r3xuA-0003by-J6; Fri, 17 Nov 2023 12:25:02 +0000
Received: by outflank-mailman (input) for mailman id 635122;
 Fri, 17 Nov 2023 12:25: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xu9-0000ZQ-5s
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:25:01 +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 53c9b3de-8544-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:25:00 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5099184f8a3so2802956e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:25:00 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.24.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:24:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53c9b3de-8544-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223900; x=1700828700; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=QonSCuwrPbZ3BVwuT3NYP06ZPrDraLB08reCatd0+0o=;
        b=f1Ep8rIcvbGcb9Fjj970a1jKtLJac5VoyeQTx8bGV0k+BT+wD0GXFAomeMJ8GZs2sM
         Nzr9WLnTvxF05z3G29Q5il3ctdivpNhXtbsjxfLl9uPv9Zr9fNTst8sCnxCoZDXn7hyQ
         ZekWHYaRdEPn2zQwwybI++A2DOOcfgO2+OOlkwoKprIJ92FOXLsTFETEjyDOjwlemUAw
         SNUDN1bXxBd2bVwFxeyH47Yktni/6e7CpV7Rf4kv7ZemMNpKvp5xqFP0Frub6ttKni2D
         xp/HrW/Z4RSK+O0itcevW05K70FC0d1nBAe7KggTjsytODMOMwH9tT7ax9AlSyd0abwM
         NrHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223900; x=1700828700;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=QonSCuwrPbZ3BVwuT3NYP06ZPrDraLB08reCatd0+0o=;
        b=njRtpVYBNuvdisYFxfFB2cO0V/zHj2E/VVW9XHQJGenhot+xJM+6/bc+JRnyyd2kh9
         6X83DA6AmXl9C5HFIX4dCyTMpo+N7l/vA3ssSyH6yf+dovbZPng8heebyXCcWlQeht9e
         gWgpUzNSlGsqe0TH6PU65Itxk058dsiF9BKFyTVIZrUrWrM9DrCuoX1r2MtgnoHbpptJ
         U1WRcWn56Ca7bjh7zNNKnFBalPyApyW9YQakWQGfBaArq/6FF6yhJB36O9qLA/aFqQYx
         ZLkuVFFhRwz/xougQ2wldC9ZymM5XFwpxfTQvAWEK0sL+L01Rr4RmxAbrtecd4geoBXT
         ZqVA==
X-Gm-Message-State: AOJu0YxgxPNgDpixrLyvC0DwWtOPDTkDTASMcxvb0IR9u2oumZhW3S+a
	ziiyn0Ua4Zgxu+FmeiNtXgGS4Z6x5xk=
X-Google-Smtp-Source: AGHT+IHaKfR3Y7LwzJZtrA7bo685nqeXeJgJYC6v47j0WKICBp9bTY3uHYYadaEnYydLC2spdIQiVQ==
X-Received: by 2002:a05:6512:2382:b0:509:1368:ddc1 with SMTP id c2-20020a056512238200b005091368ddc1mr18620572lfv.53.1700223899936;
        Fri, 17 Nov 2023 04:24:59 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 12/14] xen/asm-generic: introduce stub header softirq.h
Date: Fri, 17 Nov 2023 14:24:36 +0200
Message-ID: <8b1969350a4f05758969058d47ac3ec10d80db50.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/softirq.h> is common between Arm, PPC and RISC-V so it is
moved to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Drop Arm and PPC's softirq.h
 - Update the commit message.
---
Changes in V2:
    - update the commit message.
---
 xen/arch/arm/include/asm/Makefile                         | 1 +
 xen/arch/ppc/include/asm/Makefile                         | 1 +
 xen/arch/ppc/include/asm/softirq.h                        | 8 --------
 .../arm/include/asm => include/asm-generic}/softirq.h     | 7 ++++---
 4 files changed, 6 insertions(+), 11 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/softirq.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/softirq.h (56%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 0c855a798a..a28cc5d1b1 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -6,4 +6,5 @@ generic-y += numa.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
+generic-y += softirq.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index d5a94bc718..a3f44baa34 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -9,4 +9,5 @@ generic-y += numa.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
+generic-y += softirq.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/softirq.h b/xen/arch/ppc/include/asm/softirq.h
deleted file mode 100644
index a0b28a5e51..0000000000
--- a/xen/arch/ppc/include/asm/softirq.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __ASM_PPC_SOFTIRQ_H__
-#define __ASM_PPC_SOFTIRQ_H__
-
-#define NR_ARCH_SOFTIRQS 0
-
-#define arch_skip_send_event_check(cpu) 0
-
-#endif /* __ASM_PPC_SOFTIRQ_H__ */
diff --git a/xen/arch/arm/include/asm/softirq.h b/xen/include/asm-generic/softirq.h
similarity index 56%
rename from xen/arch/arm/include/asm/softirq.h
rename to xen/include/asm-generic/softirq.h
index 976e0ebd70..83be855e50 100644
--- a/xen/arch/arm/include/asm/softirq.h
+++ b/xen/include/asm-generic/softirq.h
@@ -1,11 +1,12 @@
-#ifndef __ASM_SOFTIRQ_H__
-#define __ASM_SOFTIRQ_H__
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_SOFTIRQ_H__
+#define __ASM_GENERIC_SOFTIRQ_H__
 
 #define NR_ARCH_SOFTIRQS       0
 
 #define arch_skip_send_event_check(cpu) 0
 
-#endif /* __ASM_SOFTIRQ_H__ */
+#endif /* __ASM_GENERIC_SOFTIRQ_H__ */
 /*
  * Local variables:
  * mode: C
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:25:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:25:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635123.990977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xuD-00046S-4e; Fri, 17 Nov 2023 12:25:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635123.990977; Fri, 17 Nov 2023 12:25: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 1r3xuC-00044W-L9; Fri, 17 Nov 2023 12:25:04 +0000
Received: by outflank-mailman (input) for mailman id 635123;
 Fri, 17 Nov 2023 12:25: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xuA-0000ZQ-M4
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:25:02 +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 54bf2552-8544-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 13:25:02 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-507cee17b00so2493491e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:25:02 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.25.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:25:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54bf2552-8544-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223901; x=1700828701; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=tJjcySsrWCUTisDHIaY5a1c2SD1fU/bpuLwPL2CuBTA=;
        b=kVlnbOm77zfqpTI7bhsw7GfxK69nRmBl5XSxY1Zdqyw2TXg2Y9pUZ6igHxjqMYz6Ci
         KCp00FOZHpGA14ImMDUQhz8cJ2lJG0nxee+WMhBOC6ZDjjavbi1GEz1ysRz71MjiwLHO
         PlMETrbFuWbvX0SPh5vlTf8rVUYd6bHMXUyVWYLggmAlyUzlgTaauGCzvurmmsENmHbn
         Bc0zS2uR7a0b+EB2DIyJJWFezBDtMn/wrrot3MBSy2BoK04zBpO9vckJbmMBqVrL1fma
         aQnXXS9TIHgwflC3TrR3tTknuN5vSdQWr/k6MMsZsJ1F6Wybmpblc04E53f13hMQRPH4
         a/FQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223901; x=1700828701;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=tJjcySsrWCUTisDHIaY5a1c2SD1fU/bpuLwPL2CuBTA=;
        b=I+b/Sn/dKBaXLVBtwWrPcE6aCg9VGSly+m4d0ASMmPvcMe1myWEJpYCHhB/lJWdMGo
         9efFLeC2zB0t0+8y37YNDM02TBICOVtxFo3em7hZejPS84U09gtRQ/N2cICidUyk54ZM
         42wKwsoXZgXlTsmPMjdpGtfNLXj1vHzvs1g1aNE0JT30nIUj0kWoL4jVrw6nh2hprrx/
         KmWYP+KuqM7nD9otAOq71biXKaAYW4W3XIkeyXwjv5+CjJ2m4AxsBsR+T/GJUBSMnS6X
         Gi6HoTOgYsYiU6FpZxI6MJ4SxjApUFZmpNAjmPyqsI8nlIsnHEA7yYvYO8wntMDhqYnc
         rMQw==
X-Gm-Message-State: AOJu0YwVa/H1y3OCyyKfJJRRrpXwjAUNdac2M+qDBfmn3TIZGn7a8cDN
	9AF7F7rrANyII30NdCnwLM5+hyI6Y5s=
X-Google-Smtp-Source: AGHT+IFYxXcNyg3SvVQe/LDOT6dpnjF82/o1CSl8OOCxiVTZeiGHE1uvF5kyLOIQ17nCI2mCCn+XvQ==
X-Received: by 2002:a05:6512:1383:b0:50a:9652:31d2 with SMTP id fc3-20020a056512138300b0050a965231d2mr7469171lfb.15.1700223900985;
        Fri, 17 Nov 2023 04:25:00 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v3 13/14] xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
Date: Fri, 17 Nov 2023 14:24:37 +0200
Message-ID: <d2ccd9d037202515a63d085c8f11654d12926a47.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Ifdef-ing inclusion of <asm/grant_table.h> allows to avoid
generation of empty <asm/grant_table.h> for cases when
CONFIG_GRANT_TABLE is not enabled.

The following changes were done for Arm:
<asm/grant_table.h> should be included directly because it contains
gnttab_dom0_frames() macros which is unique for Arm and is used in
arch/arm/domain_build.c.
<asm/grant_table.h> is #ifdef-ed with CONFIG_GRANT_TABLE in
<xen/grant_table.h> so in case of !CONFIG_GRANT_TABLE gnttab_dom0_frames
won't be available for use in arch/arm/domain_build.c.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Remove unnecessary comment.
---
 xen/arch/arm/domain_build.c            | 1 +
 xen/arch/ppc/include/asm/grant_table.h | 5 -----
 xen/include/xen/grant_table.h          | 3 +++
 3 files changed, 4 insertions(+), 5 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/grant_table.h

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2dd2926b41..6e8cc6bbb5 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -34,6 +34,7 @@
 
 #include <xen/irq.h>
 #include <xen/grant_table.h>
+#include <asm/grant_table.h>
 #include <xen/serial.h>
 
 #define STATIC_EVTCHN_NODE_SIZE_CELLS 2
diff --git a/xen/arch/ppc/include/asm/grant_table.h b/xen/arch/ppc/include/asm/grant_table.h
deleted file mode 100644
index d0ff58dd3d..0000000000
--- a/xen/arch/ppc/include/asm/grant_table.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_GRANT_TABLE_H__
-#define __ASM_PPC_GRANT_TABLE_H__
-
-#endif /* __ASM_PPC_GRANT_TABLE_H__ */
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index 85fe6b7b5e..50edfecfb6 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -26,7 +26,10 @@
 #include <xen/mm-frame.h>
 #include <xen/rwlock.h>
 #include <public/grant_table.h>
+
+#ifdef CONFIG_GRANT_TABLE
 #include <asm/grant_table.h>
+#endif
 
 struct grant_table;
 
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:25:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:25:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635125.990984 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3xuF-0004T5-0r; Fri, 17 Nov 2023 12:25:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635125.990984; Fri, 17 Nov 2023 12:25: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 1r3xuE-0004R6-JI; Fri, 17 Nov 2023 12:25:06 +0000
Received: by outflank-mailman (input) for mailman id 635125;
 Fri, 17 Nov 2023 12:25: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=c3wv=G6=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r3xuC-0000iK-Mu
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:25:04 +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 55588d98-8544-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 13:25:03 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-50a6ff9881fso2809283e87.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:25:03 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 a18-20020ac25e72000000b005094d95e8bcsm209811lfr.218.2023.11.17.04.25.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:25:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55588d98-8544-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700223902; x=1700828702; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MGLHKG6to9Zisdv7aexs3y4v8t2ouBEO3ihJtRG23GQ=;
        b=Jt9XqxXfzI8nlqOL2J8CC6cYViSQpwxIq45We/fVKF97fG7P4H/M+R+S0yB6y5bySE
         BvvhI6NRo6KgpcsJ/2jBvLQCR09Rh0gljK3da6RdGk6X3AMLgnEoLBtYRyHGtwwMfb6F
         pEX3XEVqa297B2lGcvM+PGcF3AVWDAHrn2WwuuRnbbJxGTRFQTPr4vhr0rodFJ7aLLEp
         i7MgeLvJCM+mIZhYvMi2I1kjN6UfTdbFqZDrCaoPmRECDCXrKJ6sA3ceuUKqJS/XOYN7
         Lom29jfkK1z7Bzi74XqKMWv9xYzJN+uOazu63rbiEQSjs1WOrdyMr/A47IgaQknHZC47
         f1Kg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700223902; x=1700828702;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=MGLHKG6to9Zisdv7aexs3y4v8t2ouBEO3ihJtRG23GQ=;
        b=YZFKc/ypUcIFIjVZKFnKUZO+UBDdURcoujd0d/48Pbx2LMYsdHinUbMzkr9H5qT3Vl
         O1DmgmKB6EcUmTiV+vvubiFF+fT6BJ05aBAr2KnAtFXL/7e3IwK+IL6aryay83f/5TBY
         yPYyt3H2M22cxI/oTTFy2ht3I1K7N8KYN0UkHiT/B7knyPwXIWZT4FBGGRxbwlr27M5j
         GqWFhPGXJQGxodcf/sUaPPvx2Svku/5s3WKHl5/ar3Y6LEj7LGwe2gpJjTCF9H2kM3LC
         rJ4ZxPFDEaIEHBjbz4/VdFb4ATmzTl4ivKvLlT0cCYNF2uk5goS3FHqPz84IzOHzTsvX
         l/0g==
X-Gm-Message-State: AOJu0YzR6HdmLX9j1j68T40Gjj2Mz9O8w4LbxM+10btZHV1PqzH2ZVeZ
	Ifo/MrA3CgauCo1s5RIcNB+0os6nMqg=
X-Google-Smtp-Source: AGHT+IFjh6wlNjIdIr5T/LlRtXMPbxEloY6iPAfFEpgECpLHz6O4PtpUnBRcyd5hbT261qKOY6VhOw==
X-Received: by 2002:a19:8c10:0:b0:50a:9652:31d4 with SMTP id o16-20020a198c10000000b0050a965231d4mr6074727lfd.22.1700223902364;
        Fri, 17 Nov 2023 04:25:02 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 14/14] xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
Date: Fri, 17 Nov 2023 14:24:38 +0200
Message-ID: <12178d67c5e711723bfda55b3f79287f18231282.1700221559.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.1700221559.git.oleksii.kurochko@gmail.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

ifdefing inclusion of <asm/mem_access.h> in <xen/mem_access.h>
allows to avoid generation of empty <asm/mem_access.h> header
for the case when !CONFIG_MEM_ACCESS.

For Arm it was explicitly added inclusion of <asm/mem_access.h> for p2m.c
and traps.c because they require some functions from <asm/mem_access.h> which
aren't available in case of !CONFIG_MEM_ACCESS.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V3:
 - Remove unnecessary comment.
---
 xen/arch/arm/p2m.c                    | 1 +
 xen/arch/arm/traps.c                  | 1 +
 xen/arch/ppc/include/asm/mem_access.h | 5 -----
 xen/include/xen/mem_access.h          | 2 ++
 4 files changed, 4 insertions(+), 5 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/mem_access.h

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index de32a2d638..b6ea4480a0 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -11,6 +11,7 @@
 #include <asm/event.h>
 #include <asm/flushtlb.h>
 #include <asm/guest_walk.h>
+#include <asm/mem_access.h>
 #include <asm/page.h>
 #include <asm/traps.h>
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index ce89f16404..b720b49dd2 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -35,6 +35,7 @@
 #include <asm/cpufeature.h>
 #include <asm/event.h>
 #include <asm/hsr.h>
+#include <asm/mem_access.h>
 #include <asm/mmio.h>
 #include <asm/regs.h>
 #include <asm/smccc.h>
diff --git a/xen/arch/ppc/include/asm/mem_access.h b/xen/arch/ppc/include/asm/mem_access.h
deleted file mode 100644
index e7986dfdbd..0000000000
--- a/xen/arch/ppc/include/asm/mem_access.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_MEM_ACCESS_H__
-#define __ASM_PPC_MEM_ACCESS_H__
-
-#endif /* __ASM_PPC_MEM_ACCESS_H__ */
diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
index 4e4811680d..87d93b31f6 100644
--- a/xen/include/xen/mem_access.h
+++ b/xen/include/xen/mem_access.h
@@ -33,7 +33,9 @@
  */
 struct vm_event_st;
 
+#ifdef CONFIG_MEM_ACCESS
 #include <asm/mem_access.h>
+#endif
 
 /*
  * Additional access types, which are used to further restrict
-- 
2.41.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:40:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:40:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635161.991005 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3y9K-0005oB-It; Fri, 17 Nov 2023 12:40:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635161.991005; Fri, 17 Nov 2023 12:40: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 1r3y9K-0005o4-Fk; Fri, 17 Nov 2023 12:40:42 +0000
Received: by outflank-mailman (input) for mailman id 635161;
 Fri, 17 Nov 2023 12:40: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3y9J-0005lq-Qn
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:40:41 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 835b80de-8546-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 13:40:39 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40859c464daso15431995e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:40:39 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 z16-20020a05600c221000b0040472ad9a3dsm2553807wml.14.2023.11.17.04.40.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:40:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 835b80de-8546-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700224839; x=1700829639; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=4lHsVu149PonpGYksBoU5RMrGx2/Ct6o361g3R09QHQ=;
        b=WIMDTKauklZ+XyqkzOGqbj0cQmxHgQSuofPwy1NqgZ+pz/G93VPs718Uy8cv4Ms2V2
         fiCZCfEsGbYABebREqp2Yj926Mxi9ScG6NomjHEZE/YVgPvRAozRnoZ2cqT/gpSxpOP4
         /i2772DuN7oWZJSFw3vIZjFHrAwiNgqWZ8vi4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700224839; x=1700829639;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4lHsVu149PonpGYksBoU5RMrGx2/Ct6o361g3R09QHQ=;
        b=fndDwNdic7raSB+Nb5fFiulrCbs4yanFd4dZG/3f9YUJV7HYufULVNb/rq1UMj9IQr
         KLxahOe+3XlOmGvd/2e6m31tHiy8KKcL0peGylixYmicEb3Il47bSvuDbqEquV1e0wb+
         3pf1otsVPgp+vxPFQnbSLtNCTO9Vhqb6lHoDMkZ0S0EJCfpVQSL4KZSFqssP3cV3z1dL
         P2+6mWpC7AgA1HQH6nqjA/zRRfTKHSNrUAsd7DpfZencac3G8UyJo766/OdKN9peWDGj
         s5Af6CAVAUPvLz5xD5591bjgBNNzPBJzXJhVfDa6yL4tvB6gSmni3Je8Ym76k0ga7nFd
         rj5Q==
X-Gm-Message-State: AOJu0Yw0s2Bvr5pPkNM5eyVzljAlfMrK9MdqH7orOFUTLy/MTvM5/UYM
	KZXvPA6rqdPJBM0uvCgnvfdugw==
X-Google-Smtp-Source: AGHT+IFwOec/Zkm0NMtYYY+bBvG4Oo3v45QKaBYLCUWRl8D1jzvy3V/JEweHf67mxxIDwxphKoW0EQ==
X-Received: by 2002:a05:600c:4e44:b0:402:bcac:5773 with SMTP id e4-20020a05600c4e4400b00402bcac5773mr14576409wmq.38.1700224838797;
        Fri, 17 Nov 2023 04:40:38 -0800 (PST)
Date: Fri, 17 Nov 2023 13:40:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.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 v7 1/2] xen/vpci: header: status register handler
Message-ID: <ZVdfRQpGFSU1OIkh@macbook.local>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230913143550.14565-2-stewart.hildebrand@amd.com>

On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
> Introduce a handler for the PCI status register, with ability to mask the
> capabilities bit. The status register contains RsvdZ bits, read-only bits, and
> write-1-to-clear bits, so introduce bitmasks to handle these in vPCI. If a bit
> in the bitmask is set, then the special meaning applies:
> 
>   rsvdz_mask: read as zero, guest write ignore (write zero to hardware)
>   ro_mask: read normal, guest write ignore (preserve on write to hardware)
>   rw1c_mask: read normal, write 1 to clear
> 
> The RsvdZ naming was borrowed from the PCI Express Base 4.0 specification.
> 
> Xen preserves the value of read-only bits on write to hardware, discarding the
> guests write value.
> 
> The mask_cap_list flag will be set in a follow-on patch.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> ---
> v6->v7:
> * re-work args passed to vpci_add_register_mask() (called in init_bars())
> * also check for overlap of (rsvdz_mask & ro_mask) in add_register()
> * slightly adjust masking operation in vpci_write_helper()
> 
> v5->v6:
> * remove duplicate PCI_STATUS_CAP_LIST in constant definition
> * style fixup in constant definitions
> * s/res_mask/rsvdz_mask/
> * combine a new masking operation into single line
> * preserve r/o bits on write
> * get rid of status_read. Instead, use rsvdz_mask for conditionally masking
>   PCI_STATUS_CAP_LIST bit
> * add comment about PCI_STATUS_CAP_LIST and rsvdp behavior
> * add sanity checks in add_register
> * move mask_cap_list from struct vpci_header to local variable
> 
> v4->v5:
> * add support for res_mask
> * add support for ro_mask (squash ro_mask patch)
> * add constants for reserved, read-only, and rw1c masks
> 
> v3->v4:
> * move mask_cap_list setting to the capabilities patch
> * single pci_conf_read16 in status_read
> * align mask_cap_list bitfield in struct vpci_header
> * change to rw1c bit mask instead of treating whole register as rw1c
> * drop subsystem prefix on renamed add_register function
> 
> v2->v3:
> * new patch
> ---
>  xen/drivers/vpci/header.c  | 16 +++++++++++
>  xen/drivers/vpci/vpci.c    | 55 +++++++++++++++++++++++++++++---------
>  xen/include/xen/pci_regs.h |  9 +++++++
>  xen/include/xen/vpci.h     |  8 ++++++
>  4 files changed, 76 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 767c1ba718d7..af267b75ac31 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -521,6 +521,7 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      struct vpci_header *header = &pdev->vpci->header;
>      struct vpci_bar *bars = header->bars;
>      int rc;
> +    bool mask_cap_list = false;
>  
>      switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
>      {
> @@ -544,6 +545,21 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      if ( rc )
>          return rc;
>  
> +    /*
> +     * Utilize rsvdz_mask to hide PCI_STATUS_CAP_LIST from the guest for now. If
> +     * support for rsvdp (reserved & preserved) is added in the future, the
> +     * rsvdp mask should be used instead.
> +     */
> +    rc = vpci_add_register_mask(pdev->vpci, vpci_hw_read16, vpci_hw_write16,
> +                                PCI_STATUS, 2, NULL,
> +                                PCI_STATUS_RSVDZ_MASK |
> +                                    (mask_cap_list ? PCI_STATUS_CAP_LIST : 0),
> +                                PCI_STATUS_RO_MASK &
> +                                    ~(mask_cap_list ? PCI_STATUS_CAP_LIST : 0),
> +                                PCI_STATUS_RW1C_MASK);
> +    if ( rc )
> +        return rc;
> +
>      if ( pdev->ignore_bars )
>          return 0;
>  
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 3bec9a4153da..b4cde7db1b3f 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -29,6 +29,9 @@ struct vpci_register {
>      unsigned int offset;
>      void *private;
>      struct list_head node;
> +    uint32_t rsvdz_mask;
> +    uint32_t ro_mask;
> +    uint32_t rw1c_mask;

I understand that we need the rw1c_mask in order to properly merge
values when doing partial writes, but the other fields I'm not sure we
do need them.  RO bits don't care about what's written to them, and
RsvdZ are always read as 0 and written as 0, so the mask shouldn't
affect the merging.

>  };
>  
>  #ifdef __XEN__
> @@ -145,9 +148,16 @@ uint32_t cf_check vpci_hw_read32(
>      return pci_conf_read32(pdev->sbdf, reg);
>  }
>  
> -int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
> -                      vpci_write_t *write_handler, unsigned int offset,
> -                      unsigned int size, void *data)
> +void cf_check vpci_hw_write16(
> +    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
> +{
> +    pci_conf_write16(pdev->sbdf, reg, val);
> +}
> +
> +static int add_register(struct vpci *vpci, vpci_read_t *read_handler,
> +                        vpci_write_t *write_handler, unsigned int offset,
> +                        unsigned int size, void *data, uint32_t rsvdz_mask,
> +                        uint32_t ro_mask, uint32_t rw1c_mask)
>  {
>      struct list_head *prev;
>      struct vpci_register *r;
> @@ -155,7 +165,8 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>      /* Some sanity checks. */
>      if ( (size != 1 && size != 2 && size != 4) ||
>           offset >= PCI_CFG_SPACE_EXP_SIZE || (offset & (size - 1)) ||
> -         (!read_handler && !write_handler) )
> +         (!read_handler && !write_handler) || (rsvdz_mask & ro_mask) ||
> +         (rsvdz_mask & rw1c_mask) || (ro_mask & rw1c_mask) )
>          return -EINVAL;
>  
>      r = xmalloc(struct vpci_register);
> @@ -167,6 +178,9 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>      r->size = size;
>      r->offset = offset;
>      r->private = data;
> +    r->rsvdz_mask = rsvdz_mask & (0xffffffffU >> (32 - 8 * size));
> +    r->ro_mask = ro_mask & (0xffffffffU >> (32 - 8 * size));
> +    r->rw1c_mask = rw1c_mask & (0xffffffffU >> (32 - 8 * size));
>  
>      spin_lock(&vpci->lock);
>  
> @@ -193,6 +207,23 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>      return 0;
>  }
>  
> +int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
> +                      vpci_write_t *write_handler, unsigned int offset,
> +                      unsigned int size, void *data)
> +{
> +    return add_register(vpci, read_handler, write_handler, offset, size, data,
> +                        0, 0, 0);
> +}
> +
> +int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler,
> +                           vpci_write_t *write_handler, unsigned int offset,
> +                           unsigned int size, void *data, uint32_t rsvdz_mask,
> +                           uint32_t ro_mask, uint32_t rw1c_mask)
> +{
> +    return add_register(vpci, read_handler, write_handler, offset, size, data,
> +                        rsvdz_mask, ro_mask, rw1c_mask);
> +}
> +
>  int vpci_remove_register(struct vpci *vpci, unsigned int offset,
>                           unsigned int size)
>  {
> @@ -376,6 +407,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>          }
>  
>          val = r->read(pdev, r->offset, r->private);
> +        val &= ~r->rsvdz_mask;
>  
>          /* Check if the read is in the middle of a register. */
>          if ( r->offset < emu.offset )
> @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>  
>  /*
>   * Perform a maybe partial write to a register.
> - *
> - * Note that this will only work for simple registers, if Xen needs to
> - * trap accesses to rw1c registers (like the status PCI header register)
> - * the logic in vpci_write will have to be expanded in order to correctly
> - * deal with them.
>   */
>  static void vpci_write_helper(const struct pci_dev *pdev,
>                                const struct vpci_register *r, unsigned int size,
>                                unsigned int offset, uint32_t data)
>  {
> +    uint32_t val = 0;
> +
>      ASSERT(size <= r->size);
>  
> -    if ( size != r->size )
> +    if ( (size != r->size) || r->ro_mask )

Hm, I'm not sure this specific handling for read-only bits is
required, software is allowed to write either 0 or 1 to read-only
bits, but the write will be ignored.

>      {
> -        uint32_t val;
> -
>          val = r->read(pdev, r->offset, r->private);
> +        val &= ~r->rw1c_mask;
>          data = merge_result(val, data, size, offset);
>      }
>  
> +    data &= ~(r->rsvdz_mask | r->ro_mask);
> +    data |= val & r->ro_mask;

You cannot apply the register masks directly into the final value, you
need to offset and mask them as necessary, likewise for val, see
what's done in merge_result().

Regardless of the offset issue, I think the usage of val with the
ro_mask is bogus here, see above.

> +
>      r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
>               r->private);
>  }
> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
> index 84b18736a85d..b72131729db6 100644
> --- a/xen/include/xen/pci_regs.h
> +++ b/xen/include/xen/pci_regs.h
> @@ -66,6 +66,15 @@
>  #define  PCI_STATUS_REC_MASTER_ABORT	0x2000 /* Set on master abort */
>  #define  PCI_STATUS_SIG_SYSTEM_ERROR	0x4000 /* Set when we drive SERR */
>  #define  PCI_STATUS_DETECTED_PARITY	0x8000 /* Set on parity error */
> +#define  PCI_STATUS_RSVDZ_MASK		0x0006

In my copy of the PCIe 6 spec bit 6 is also RsvdZ, so the mask should
be 0x46.

But I'm unsure we really need this mask.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:41:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:41:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635166.991015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3yAC-0006Qe-Rt; Fri, 17 Nov 2023 12:41:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635166.991015; Fri, 17 Nov 2023 12:41: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 1r3yAC-0006QV-PG; Fri, 17 Nov 2023 12:41:36 +0000
Received: by outflank-mailman (input) for mailman id 635166;
 Fri, 17 Nov 2023 12:41: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 1r3yAB-0006QL-PE; Fri, 17 Nov 2023 12:41: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 1r3yAB-0007Qy-L5; Fri, 17 Nov 2023 12:41: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 1r3yAB-0000ft-1v; Fri, 17 Nov 2023 12:41:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r3yAB-0007Kf-1S; Fri, 17 Nov 2023 12:41: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=2KBt0kQp8Qf/WLqzMTF5LPOumor7lgl8Ij9iAAU4nJk=; b=nmJWaelrOZcZ3xBbzL2VOT1gDD
	bQ4TGAXwJt3GhRdGXqfAndfdxXY2pVXusPk9JqpKgNaFTkx8eN4ggQ5c09w2eYIXYiwaQLg+b/TkJ
	ErFJssMv39fLSa36T9nDmCI7oHUbPyuzpYFzXI4CsvmMllW/AxD4N6ufnMPLSLkUPufk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183777-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 183777: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-amd64-xl-credit2:guest-start/debian.repeat:fail:heisenbug
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=d75f1e9b74314cea91ce435730d4e3539ecca77d
X-Osstest-Versions-That:
    xen=3ddbddf143fbd164c55e46c5a276f6606e5cc843
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Nov 2023 12:41:35 +0000

flight 183777 xen-4.18-testing real [real]
flight 183782 xen-4.18-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/183777/
http://logs.test-lab.xenproject.org/osstest/logs/183782/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-credit2 22 guest-start/debian.repeat fail pass in 183782-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183772
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183772
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183772
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183772
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183772
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183772
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183772
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183772
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183772
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183772
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183772
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183772
 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-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-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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 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-libvirt     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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  d75f1e9b74314cea91ce435730d4e3539ecca77d
baseline version:
 xen                  3ddbddf143fbd164c55e46c5a276f6606e5cc843

Last test of basis   183772  2023-11-16 12:38:40 Z    0 days
Testing same since   183777  2023-11-16 23:10:38 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <julien@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                                          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                                  fail    
 test-arm64-arm64-xl-credit2                                  pass    
 test-armhf-armhf-xl-credit2                                  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-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
   3ddbddf143..d75f1e9b74  d75f1e9b74314cea91ce435730d4e3539ecca77d -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 12:51:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 12:51:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635180.991028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3yJA-0004MP-Td; Fri, 17 Nov 2023 12:50:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635180.991028; Fri, 17 Nov 2023 12:50: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 1r3yJA-0004MI-Ql; Fri, 17 Nov 2023 12:50:52 +0000
Received: by outflank-mailman (input) for mailman id 635180;
 Fri, 17 Nov 2023 12:50: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3yJ9-0004Lw-D3
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 12:50:51 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eedd11c9-8547-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 13:50:49 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-32d9d8284abso1292204f8f.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 04:50:49 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 h1-20020a05600004c100b00318147fd2d3sm2229229wri.41.2023.11.17.04.50.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 04:50:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: eedd11c9-8547-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700225449; x=1700830249; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=dJYcLh5+RXDfLvz+L8kxkAAB2gfFxTtD9XrLGKR8HUk=;
        b=E97lu07vuh6WRAp/F3YoaJ29I1u8vqylQKBDS/LbJBpqLH8BOvJfsyHlMaWFhYlbYD
         0a6wXA/ll70BrRfkUECt6tBFMWhD2M4pM+ClJR9MA1RqyoDf4MiVZ9ZJwNG73U2NvNeP
         WwNfcUZyTJyArYCM1WJvD6wB5N8cxUZGZKQaI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700225449; x=1700830249;
        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:subject:date:message-id:reply-to;
        bh=dJYcLh5+RXDfLvz+L8kxkAAB2gfFxTtD9XrLGKR8HUk=;
        b=h6MZpm0azcDoOkXKkKUSCWp4NM3aDKFahqVmOnR9CxDTFPfh3+clBIIZu0ditlPIpR
         6YKwFDj9ijH62KnFACwib/y9fDYUih+FY6CDbcoYhE5LWQDm1M7yfC+zkRvpuUNrqT0l
         ImOW7BkbLJX0azo/fWw74RGOw0j7eFX+NePvk3/JgqY0qUSuan37T+Telxj9aoO7eJd2
         A6SjYamQ3x/v3ttjREzuegKEDHQL/n+24Jp5kmpIEym5/m2V0WUo7mJIOIBowjlsl/QJ
         dndkczmejHoqwi8EXsVQEv5KUlYVpEzFWU+yCFzy6/TjoUPIh+ewbyETCMI0X7j7TdL5
         +N5Q==
X-Gm-Message-State: AOJu0YyPqaDTJ2sz279d0WphVy/me8NvDE59i7JuHZrT/Tq4vpxzyKnp
	Lv3quNziUygewhXkIMALt681DQ==
X-Google-Smtp-Source: AGHT+IHaRjlKnpFZswruv8ar99HoAQEGKjK/iyGM6t/nJJnIqL+oiKoUeNIUbOMaDyPNpex+ZhjxxQ==
X-Received: by 2002:a05:6000:1ace:b0:32d:884b:7403 with SMTP id i14-20020a0560001ace00b0032d884b7403mr15774614wry.66.1700225448709;
        Fri, 17 Nov 2023 04:50:48 -0800 (PST)
Date: Fri, 17 Nov 2023 13:50:46 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH 2/3] x86/iommu: move xen_in_range() so it can be made
 static
Message-ID: <ZVdhplVe2_HdkRPe@macbook.local>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-3-roger.pau@citrix.com>
 <81534803-9da4-49b7-894e-f3fb5e8fb131@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <81534803-9da4-49b7-894e-f3fb5e8fb131@citrix.com>

On Fri, Nov 17, 2023 at 12:03:19PM +0000, Andrew Cooper wrote:
> On 17/11/2023 9:47 am, Roger Pau Monne wrote:
> > No functional change intended.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> There may only be one caller (after dropping some bogus tboot logic
> recently IIRC), but this isn't an IOMMU-specific helper.
> 
> See the comment in the middle which shows the other opencoded things
> this needs to be kept up to date.  (And I'd hoped to make this common
> because every architecture seems to have different bugs opencoding this
> calculation.)

But those symbols ultimately come from the linker script, and hence
didn't see them that tied to the setup code.  The setup code uses them,
just as the IOMMU will do now, and likely other parts of the code like
livepatch.

> Switching to rangesets is fine, but the result still wants to be
> something generic, rather than IOMMU-specific.

I'm fine with leaving the function in setup.c, this was mostly a
cleanup attempt.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 13:19:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 13:19:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635189.991038 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3ykw-0003nB-4q; Fri, 17 Nov 2023 13:19:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635189.991038; Fri, 17 Nov 2023 13:19: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 1r3ykw-0003n4-1V; Fri, 17 Nov 2023 13:19:34 +0000
Received: by outflank-mailman (input) for mailman id 635189;
 Fri, 17 Nov 2023 13:19: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=SI0+=G6=epam.com=prvs=56853977b1=sergiy_kibrik@srs-se1.protection.inumbo.net>)
 id 1r3yku-0003lh-Ji
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 13:19:32 +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 efbd90d0-854b-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 14:19:29 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AHBwQas031704; Fri, 17 Nov 2023 13:19:23 GMT
Received: from eur02-db5-obe.outbound.protection.outlook.com
 (mail-db5eur02lp2105.outbound.protection.outlook.com [104.47.11.105])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ue45gsafy-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Nov 2023 13:19:23 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com (2603:10a6:20b:5c0::11)
 by VI1PR03MB6542.eurprd03.prod.outlook.com (2603:10a6:800:199::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 13:19:18 +0000
Received: from AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::7055:96d3:5428:d358]) by AS8PR03MB9192.eurprd03.prod.outlook.com
 ([fe80::7055:96d3:5428:d358%4]) with mapi id 15.20.6977.028; Fri, 17 Nov 2023
 13:19: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: efbd90d0-854b-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JNKa8tyRDl1oEMg+32tfre2FiG6VXLEkV8I7sZjORtLSmlZedXkHMBXXWLhL9sLfhHEMce4agRHUaolzmieYxAzGSpHto+5UR5NEimuTyul2Ln58yC5NV4+lppyocPQ903n7S919WYb8eHHoQGFBuLBHpijwXlO9y5+ooq5B5jyH9vxPbk7fpmBSZ5JTcpIfFfjB/kASsUJ3/YqrtMFahCytBRl9hLbF4xp+lAtdMfh2B4setn96QpCFP+7usEEOyndsWgY+WOnGhGAw1hNIv2KQdfXQgDXv0nVT4D2oVbvDAPOAD0kkwioe+SZKHRotFjxqaMc07wlqjyVQsNqr2g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0hjwN7rnQC1+YhY8pragpObPEPmXhdDg0+gUBvqJq3g=;
 b=aufiUJaB75rBSQOh/Iz3RdsEJpgDyP0DzPjbPHSwKuC3MHO2QbCW5fuNGXHyFM5UAi+P/uSB9NKcit5HOlLNB2+fXnUkkz86srG/EBxFsmKmXm1Pu8cCeA/ylzUVglXMB9N0uX7V4WHqLoEAa3HjIVQ4351CgaBeRaVI8NlrS+sViaHOVMFU7OegUimUA9o+Md/o5Hbf1yWFTSt/qQM++M6WvmN/1QkLGV54+Wx/pyBgYRWimwKqW9Wtg4Fg53FYOjz7pXdbJUbgZ/Mec3yV2k8k+oJRNN5nIj+gCrKtFIMyT4RCHQuQffDa9L17GbVfxwB3WAnHBz2ErtQa2773+w==
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=0hjwN7rnQC1+YhY8pragpObPEPmXhdDg0+gUBvqJq3g=;
 b=scB5amY6tUc1Jyp5jkZMagnc4GMJvRtN/ZjjjQNiduQzqNtaqgsDTnyDJ9Om2VOdpGNRKzc4bLofx1sIUXo+Vr9OqyHBL4gnDHwyyTHJ4QHYvOCm5yrwfg/0B9wQhf0tF0SM8jNVjtcsBDwr2Xs8WYuWO+51djqDUi7bfTiC/xl5DYT2uDEZ7YjNzsnLLrOnTu9Kpj3/E4ejOHSOtT8BN/Bd6IOx739576/UWANxtZMKCGGlXgJr0F/tgisgA201nrfQbBF4+xMlcOO2nTzWQJKuQ0cJEInJgXl5Tz9pbsZzaU2+Y4/WDRJLSAoUd7HqX62LebmkJRa+LDrdEqQXSw==
Message-ID: <98e05fb7-ea8b-48a4-b860-01d2a081e897@epam.com>
Date: Fri, 17 Nov 2023 15:19:15 +0200
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-US
To: Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
        Bertrand Marquis <bertrand.marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>,
        Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <9e0760f2-6ffd-4010-aabf-ff4f643f288c@xen.org>
From: Sergiy Kibrik <sergiy_kibrik@epam.com>
In-Reply-To: <9e0760f2-6ffd-4010-aabf-ff4f643f288c@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: VI1PR0202CA0030.eurprd02.prod.outlook.com
 (2603:10a6:803:14::43) To AS8PR03MB9192.eurprd03.prod.outlook.com
 (2603:10a6:20b:5c0::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: AS8PR03MB9192:EE_|VI1PR03MB6542:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b0d6a0a-1bee-4b49-fa1c-08dbe76fcd73
X-LD-Processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	F4mV82ZQE0KqyApwqlg9FWzGTKfOKzcKzFhVdT+OUfiWqSzsnQWS0cux51OEIuufLWdU1PCuNfgkVozbL+RamHS5yGcnVzpP+epJ7B7nneZtbeAjt7abwmoaY5mukD5wobTwp3uNzaXImuYrTbC3R2XshsxQi2aJ7bza/zC57uh/vTX80b9mGXLioLQWMtwMvHmLPLaHpKdfNhj1huWzsZOyAHPTd1Q+U+qpZZJ/L+zPDwMAt2NxayMvK3xW3z1O9/g1FshMVPsWtC3jYeofKN12cWCBGcSYmXpqp5G+BnCcoB+jL14CNICss38PqjngnS2StdN1B5/ko7vUDYczEJN/k2MARFH3UIoZ+QZuT25y99Rma1O094Juae3C79I82HYGyiB/cL9HMEdA9QB2B2mNMBkhKrxazWqCqiEkjJhTaZu5007djLDWt9YKSXzLX+9Kpe8e+ZooXMlDynYmUwh41kJYIMzH7IitZSEky4/6uQNeGt9MjTepZ9VKOXRonfWr76/nCU2n5rpNYxPjpC+CNccWnvD1ZsgMBdHxH92+JsDWZL3s6pjaf/hGp32IO/jCgt+OnllWq4qG5QE5oK2eWDfV8P+fxTBW3bZxJaxb/T2H23xtHVm/HJSZh8ebuttuonFKY9iP+5JFRYPR1w==
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AS8PR03MB9192.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(136003)(376002)(39860400002)(396003)(230922051799003)(451199024)(1800799009)(186009)(64100799003)(66899024)(86362001)(31696002)(36756003)(2906002)(478600001)(6486002)(6506007)(5660300002)(83380400001)(6512007)(2616005)(41300700001)(107886003)(26005)(8936002)(8676002)(4326008)(110136005)(54906003)(316002)(66946007)(31686004)(66476007)(66556008)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?SDROM2JQUEU5d0p2dUc4dEJYRmVFZCtnL2pvS0VUNjhsNFF0T2Y3VXFOYnQ1?=
 =?utf-8?B?OVpucXo0SUp2Q28vODh5S0pGNVYrellOVG1MMldIUVBVSDM3Qk1iUk9TME1w?=
 =?utf-8?B?MHRxNlJwUFFheDJpclU4a2JVcFpZY2hnVXFDQXhPb3I3SzhMUTlmN2xtenpk?=
 =?utf-8?B?dnNxcVFsNVlUS2VDZHVqaExqcnZGcDhLQW1zT1hHWkdZSlBtTUVubHhBcDZ1?=
 =?utf-8?B?QlRoV1VXNXNKb1p1cElwb3NuK0NDbU5CSThOOGxtZjV3MU9UU1F2cFFVOEFn?=
 =?utf-8?B?bG5XbjA0d0lsandqMGtWNTBjaDBpSjFjUE5XNHJDN3lrK3ZFRkZPcHYzOFI1?=
 =?utf-8?B?dGxvMUZCT3hVek13M0JoQktBQjJPOXYvaDhVSGtkSE9ETWlzY2xQK2lWRXhD?=
 =?utf-8?B?a0YwTCtyUmNINkJwNHc4V3RQTUVVdnc5Y2EzT1JvT3V2Z283NlZRRk5IUnJE?=
 =?utf-8?B?TzVyZlpLNUhBcHZNVEdwK3UycmczNDRLNmxtWnhDc0ZlUTl2d3pDOWhmQnpr?=
 =?utf-8?B?cjk2RmF1MVNXQnRGMkhNWFB5YUNpa2EvVWN3Rm80eTFPZWl1akRsZGxtVlpw?=
 =?utf-8?B?ZWJYREVEQlBKRk0zNnRqSUhCMlhadnJsOUhkbTY5bzE0N2JrVWhyRHpTSGx0?=
 =?utf-8?B?eVZzOUZNNEdRUkYyd2hYbnF2VEhEdVhRQjN0ZkZ4WTFmRmphQklobUoySEVp?=
 =?utf-8?B?QmNWUG5iYjFSd2VjZ2p3Q1FOT1o2bysvczBnL3pUcGFCOXJYOHo5VnR2QitL?=
 =?utf-8?B?cWdTdzNHYnBVdE9HVEd1YmFsc01iTjlVV1ZaUjdzZnphSlE2aHNxZHJnSWtl?=
 =?utf-8?B?M0pleXhXekhsbDlBdWk2S2RUc3Z4NlVpM0ttQzRBQlc4eEhuTGdIbC85bEU4?=
 =?utf-8?B?dUEzWWVndm5vaWNFZElXa1dyL1JoaGpRZGNqOVFSeTdMRXBYNmU5Nm1qZ3lt?=
 =?utf-8?B?eHpRUFVhWEtRVFk0NzZhZHIyVkFacWJzTFBibGcwRmlTa3lpZUJyTFRiVWxm?=
 =?utf-8?B?UUx6ZFQzNGF0cFVNQjFYNTB1TEt3MmFLUFVnRHRSeDJPemo0c1psUS8wOW1J?=
 =?utf-8?B?bUJtZTE2M1NyZjYvbzVuMWYrRGh4eEphc25yRm5RQVNmMGxJTk5iRHJtOUdG?=
 =?utf-8?B?V0xWVGF4clo2d3Nsek1SbDVoZ2syM01tQ1IrSjJrT0JSRyswUXMzQTlPU1Rm?=
 =?utf-8?B?eGtpYVpPaDhJaXJkNVNCVHcrSm5DOUpvNHd1Uk4xZGFNdXdjNU0va0IyVTdH?=
 =?utf-8?B?MWc4d3hQMFFTQWwybWx5ZDdiWmdTNkhEUkV2ZDhlWUo5cTRhY28yUTIvQm91?=
 =?utf-8?B?aHNPcWJWd3pPeHJLYnozcldYMStPZFdMVUIzbzBrS0FySXIvaDNjcUdIWkN2?=
 =?utf-8?B?NlZMQjZqajBxeTBaZ1NvWWtDdENxWlkrbmFkRVQrcnA4U3pJRklYczdiaFVG?=
 =?utf-8?B?cXBXK2NWMFFqZ0dkRWYzYUxMcWpxZTRxSk0wV3hrRjVON1cycnRwWG5xdkZX?=
 =?utf-8?B?SXg4aE5RVmpuQkxTdHpUT2E3NmNJM2JjMUZvZndZSmx2WEQwUFdUT1hkQnhC?=
 =?utf-8?B?aHlHQ3Y0c0xVNUhWRnE4OVpvN1lPQkFMdUMrYUpCTjF0dXRHdUxrOGJubFFi?=
 =?utf-8?B?NTMyZzJvM05BbHFRbWpQODBEejFRVnF2UkpGU0UvT0RpLzhFVjVqRWJqQUJU?=
 =?utf-8?B?Q3JqSWViaG9iU1FINldSQmFwRU1kVW5NRWswNmxLSHArbFh0WktKRGlkV1VH?=
 =?utf-8?B?ZmJaUHVrTTlxSGZ0Nys3RU80VHZhWXZPUTNJWlNlekhsU0pqVHRQNklpN0FS?=
 =?utf-8?B?S3RZQUo0ZW5jTHlSRU5RQ2dueS9rS3BzenlQTXBZZGFIbnZISXMyYnNuSVBM?=
 =?utf-8?B?SVZ2aTVlQ2c3VlhxdFFhT3JHbUxaZGhPeEVtZndpQmdwMC82TkFLSFE2QnlO?=
 =?utf-8?B?bTZVZDlaSHMybDVlc21mZ1VLdW03WlJyTzJKNjdXN0NsOEtYOUN4OUFXZ2kv?=
 =?utf-8?B?N3g0bkFuYzJCUmtZczZDVldleVIwejVlYk1ubFRhU1ZBdUU2cEdhc0tLUDlk?=
 =?utf-8?B?S3ZxeWdXMUliTUdBV2VGUXd2RktFUEhoQloyVDlweVA2Njh4ZFFVTXZ2WURP?=
 =?utf-8?Q?m2MIflnLbUOxAk61HjvrKkCfy?=
X-OriginatorOrg: epam.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b0d6a0a-1bee-4b49-fa1c-08dbe76fcd73
X-MS-Exchange-CrossTenant-AuthSource: AS8PR03MB9192.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 13:19:17.8618
 (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: 4RQuIpn89n4WFmu8xFJFimA/KSMxPCbptn/0FS4hAVp+ZfZINR9sPw8nrPJ4OkF/Ejs5s6v5YVQIdn/YSpQhgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB6542
X-Proofpoint-ORIG-GUID: nOYBwdYHtcNGXyhli3KxHvMX_ty0ms1o
X-Proofpoint-GUID: nOYBwdYHtcNGXyhli3KxHvMX_ty0ms1o
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-17_12,2023-11-16_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxlogscore=999
 spamscore=0 priorityscore=1501 impostorscore=0 adultscore=0 clxscore=1011
 phishscore=0 mlxscore=0 suspectscore=0 malwarescore=0 lowpriorityscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000
 definitions=main-2311170097

hi Julien, Oleksandr,

[..]
>>
>>
>> This patch series only covers use-cases where the device emulator
>> handles the *entire* PCI Host bridge and PCI (virtio-pci) devices behind
>> it (i.e. Qemu). Also this patch series doesn't touch vPCI/PCI
>> pass-through resources, handling, accounting, nothing. 
> 
> I understood you want to one Device Emulator to handle the entire PCI 
> host bridge. But...
> 
>  From the
>> hypervisor we only need a help to intercept the config space accesses
>> happen in a range [GUEST_VIRTIO_PCI_ECAM_BASE ...
>> GUEST_VIRTIO_PCI_ECAM_BASE + GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE] and
>> forward them to the linked device emulator (if any), that's all.
> 
> ... I really don't see why you need to add code in Xen to trap the 
> region. If QEMU is dealing with the hostbridge, then it should be able 
> to register the MMIO region and then do the translation.
> 
>>
[..]
>>
>> I am afraid, we cannot end up exposing only single PCI Host bridge with
>> current model (if we use device emulators running in different domains
>> that handles the *entire* PCI Host bridges), this won't work.
> 
> That makes sense and it is fine. But see above, I think only the #2 is 
> necessary for the hypervisor. Patch #5 should not be necessary at all.
> 
> [...]

I did checks w/o patch #5 and can confirm that indeed -- qemu & xen can 
do this work without additional modifications to qemu code. So I'll drop
this patch from this series.

[..]
>>>> +/*
>>>> + * 16 MB is reserved for virtio-pci configuration space based on
>>>> calculation
>>>> + * 8 bridges * 2 buses x 32 devices x 8 functions x 4 KB = 16 MB
>>>
>>> Can you explain how youd ecided the "2"?
>>
>> good question, we have a limited free space available in memory layout
>> (we had difficulties to find a suitable holes) also we don't expect a
>> lot of virtio-pci devices, so "256" used vPCI would be too much. It was
>> decided to reduce significantly, but select maximum to fit into free
>> space, with having "2" buses we still fit into the chosen holes.
> 
> If you don't expect a lot of virtio devices, then why do you need two 
> buses? Wouldn't one be sufficient?
> 

one should be reasonably sufficient, I agree

>>
>>
>>>
>>>> + */
>>>> +#define GUEST_VIRTIO_PCI_ECAM_BASE          xen_mk_ullong(0x33000000)
>>>> +#define GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE    xen_mk_ullong(0x01000000)
>>>> +#define GUEST_VIRTIO_PCI_HOST_ECAM_SIZE     xen_mk_ullong(0x00200000)
>>>> +
>>>> +/* 64 MB is reserved for virtio-pci memory */
>>>> +#define GUEST_VIRTIO_PCI_ADDR_TYPE_MEM    xen_mk_ullong(0x02000000)
>>>> +#define GUEST_VIRTIO_PCI_MEM_ADDR         xen_mk_ullong(0x34000000)
>>>> +#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x04000000)
>>>> +
>>>>    /*
>>>>     * 16MB == 4096 pages reserved for guest to use as a region to 
>>>> map its
>>>>     * grant table in.
>>>> @@ -476,6 +489,11 @@ typedef uint64_t xen_callback_t;
>>>>    #define GUEST_MAGIC_BASE  xen_mk_ullong(0x39000000)
>>>>    #define GUEST_MAGIC_SIZE  xen_mk_ullong(0x01000000)
>>>> +/* 64 MB is reserved for virtio-pci Prefetch memory */
>>>
>>> This doesn't seem a lot depending on your use case. Can you details how
>>> you can up with "64 MB"?
>>
>> the same calculation as it was done configuration space. It was observed
>> that only 16K is used per virtio-pci device (maybe it can be bigger for
>> usual PCI device, I don't know). Please look at the example of DomU log
>> below (to strings that contain "*BAR 4: assigned*"):
> 
> What about virtio-gpu? I would expect a bit more memory is necessary for 
> that use case.
> 
> Any case, what I am looking for is for some explanation in the commit 
> message of the limits. I don't particularly care about the exact limit 
> because this is not part of a stable ABI.

sure, I'll put a bit more explanation in both comment and commit 
message. Should I post updated patch series, with updated resources and 
without patch #5, or shall we wait for some more comments here?

--
regards,
  Sergiy


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 13:23:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 13:23:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635193.991048 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3yp5-0007Gd-Ki; Fri, 17 Nov 2023 13:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635193.991048; Fri, 17 Nov 2023 13: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 1r3yp5-0007GW-Hq; Fri, 17 Nov 2023 13:23:51 +0000
Received: by outflank-mailman (input) for mailman id 635193;
 Fri, 17 Nov 2023 13:23: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=Shlr=G6=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r3yp4-0007FL-DX
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 13:23:50 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8a033f23-854c-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 14:23:49 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8381.eurprd04.prod.outlook.com (2603:10a6:20b:3b5::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.9; Fri, 17 Nov
 2023 13:23:45 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.010; Fri, 17 Nov 2023
 13:23: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: 8a033f23-854c-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y39wxukyWgiAJydL2KWN3Na4DAUuVrvsLewocw5Bj+om8K5kzU+WMdT5fWgtaCa30SsbsGlvO7JY0AF0cbaOja9yGwpE9pjEFdfWwPLecUW5BTv3Q06wD1hhb6+t8fTKgjX50Y1Ndj8ziAonbsPiqFji1VXjjsG0iPQhmR0wW8oLvpvLc1JEiskODDw/wTB0HqGRF7A3WrEks8aTs5HAbU5LZggpeK440+bkyefGA9osCC2Isv7AQXYjrwh+/t8dMEVTEB1ycefzDtagNCg0bxHwhha1YJsAfwiLik8mjXvgzkZfgtdz7yyZTHadNbtv3cbZXukLc/gJp21rfxjGCg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=MRHB6+sS19OG4GgIFafW9lXjSRUSHun0zYNKfwru9hk=;
 b=K+4u8kW104lCs9e5niLX8+B6MD7dYpdjHizS6REWPKynIEfUMgfjjnSRPYD9JNpGFpmUUX+lA6sh6l4M+4lWdYasZeLL7qp571SQveVepEzrke1zrMVUmpyUQAYPazNBIMZBIOFFzXuIN/y4H7dlLF3Dkeq98bkbmFE9AlFh5wwnys616pPUH1q9DXY9SofmnE+AGcL1iCRPIUsQrBTGa8XcWym/tHvO83MzciYIimD4U4dddzyIm69NwowhGz2MD7mST8/dtq97goamULlZBgitD4gmld9pv13VThh5GPrSODUlZ6uNk7gktG13ICHW2dQd4ZuTjUKSTBb3CTlH5w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=MRHB6+sS19OG4GgIFafW9lXjSRUSHun0zYNKfwru9hk=;
 b=5vkzAY6+cp+pMYInSEgAq7t+JCSPny6nhMuKmdFQi0QCN9qNbRhxpu+gQJzGC5Qp/zjbDztDxKAPVXnMkLewmh4fs076rM6waqJi6Dt0NxRTj1N4GQgxQzZfq+2BREHClYJea3Zng7hfRMCMmVpwmQy7cCGQYcfXOKLh/iVElJlncm7G5acempQmheiOyaElxgoKumlyIiwC7SFl2Wm08pltytoL89ezVK9tdx44IzY8+cu3oSF88gyvwzB8JcGnvpceT3O4CbSm/P6SjMz4quOEOwFNaC5Vh+pJ55lmoHTEX0M/DmMG0F09jE3DoTnExdm/0WGfxLL0Q93h9oFO7Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a81699f2-f273-41f1-b0ad-4fc203b16420@suse.com>
Date: Fri, 17 Nov 2023 14:23:42 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] xen/vpci: header: status register handler
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, 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>, Stewart Hildebrand <stewart.hildebrand@amd.com>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVdfRQpGFSU1OIkh@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVdfRQpGFSU1OIkh@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0118.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8381:EE_
X-MS-Office365-Filtering-Correlation-Id: 37429c09-b265-471a-b904-08dbe7706c8c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GMJNcy/twBwzteDqgsYdGXDAschZ7gmm5tWl3g8JMaJCr/alPTRw6IHrFU1CnqqimRQXaqhJ/58E+7IvgMxRTdTyvCeUeTqbW3WpTVHrPQWpB3nmPBFvklpi5k4POBw89tBofijLBM0eiHlLgdFmauoNN/11Sx9sHWD891evIRP/n8Vf2docAmEr28IO9bOzyE18S2dZ3JNFhWo6D2sT0LizfIXqyk6PnRONPIrHoDWjjskgHZInZwGB/gyhtUwMtgfrCwG9n/jCh0G1rD9H2MoCWyYgQ5XMrtSSpGrNZvQ7sphnjLidN5brcMd6dTt+iu5hNDbZKGct8cTWoTdcQ2TGa5bgW9+5pu8c2vrwPx+rZXxQ5//buEg1SyuzL556plgjI0zpXTPsmmsSyo7Tj7AwDp/FsLzcnVL6PtAAX2b/qZxZkDjaFY6B5eZskbsxTrH8bRWiBmQ+jLdvOGcxu3IAV8Z3ZnOqO2kmBRZUFZJ+kT6aJCvH+IUktAFh93gDcQwXSJRAREU8LkTqBJ3oISNfe2D9M7Mmf5K/zhx/wKTmuhtptLk8LJBI7i3oNO1w4/Z2qY6RWum3P0iR6gh3t81oJl2xuLzHqum4A08FZnAC8VkQYd8xJ7SlCRbBqvGHHebgtkIX29hnEpd804WXOA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(39860400002)(366004)(136003)(396003)(230922051799003)(1800799009)(186009)(64100799003)(451199024)(38100700002)(31686004)(83380400001)(36756003)(53546011)(6512007)(6506007)(26005)(6666004)(478600001)(2616005)(6486002)(86362001)(5660300002)(41300700001)(66476007)(66946007)(54906003)(66556008)(316002)(6916009)(8676002)(8936002)(4326008)(31696002)(4744005)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cHNUc2UxMWY1OWFZeHFKeGdDSm1OU0VKQUcyaHdLdzFlSEtMSnJvaFlQUzF0?=
 =?utf-8?B?emhYb3psTVZiOVJjMHY2Q2NhMFcwaEV4MjlUVlJkVXBBaVZGM1VueEV5YVZr?=
 =?utf-8?B?NHZhdUR5ZGNhSG5mUm9ER3J4THhTaFJMMWhyMVNkNkdMbC8vRERjYkl4bUNh?=
 =?utf-8?B?cDZRU0ltTkM2eDJMYmZ3bjFIZWxwVzBybEJUUGNpY09HWE5pYkJ0OUJxVTFp?=
 =?utf-8?B?SDVlSUNFOWZ6bUt5TWI3TFJRMm1JZEpnakxOR2FDbldTeXF4WENRWkVNUlBG?=
 =?utf-8?B?S1hpcW9nY2gvUERQY3JsZy9FYjN0WGZvK2xBVEJWVmRjaU9XKzEzclFVVlpC?=
 =?utf-8?B?Yzd2T0JQaXlqQ2xpNGZqSlowQ0haaFVqc3ZBK0FLd2hzM1plK1BmdlE2OGl3?=
 =?utf-8?B?a2NNVnJzTkxzdDFVY0RRVzc0WS9La3hmWFVISGx6N0RwcWpJaHdTQ01vc01a?=
 =?utf-8?B?OVJnNFU4MzFBa2wrb0I2MTh3ZnlvMnV1OGo1d1hyTURBTll4YzBIb2lJQWRR?=
 =?utf-8?B?bzVoQlgxV0F0VFBmaU9IUStVNGRmemhzbGJjSHJrUWEvbmI3Mlh6L1hkWFBz?=
 =?utf-8?B?MFVMMDhzQ1BWQkYzSkpVT0lOTUp1Qm9hWG5GZ3lOT1A4ZUJaWHAveXI5QXBI?=
 =?utf-8?B?ZHV5YTJpYk1pd2lhdkdoWlMveXMvQ1hzWHhUeG1nMEpwcGR1alBXTWJJT1dJ?=
 =?utf-8?B?aHRtcW8wd2h1Yy9NZ2l1bU5SbW9BQ2pJVis1amlCd2ZsbkZoSUkvM0dDdTZK?=
 =?utf-8?B?TWowQ2ZsTGRrMDc2bTIxRFRMbE9HWUV2amd2NXk3elV5WHVRdmZhdnhKQ2lo?=
 =?utf-8?B?WldKT2M2eE1SM01xRm1EeFBDdndHZEpMeWpkd1NiTk5ZNGJ4UVViYmc3N2dC?=
 =?utf-8?B?K0E5Uk5IdXNJb3RBaGVIRytGcjF3d0VGTzJ2U1k2Mm9oUzd5YWlIcnpCYm5F?=
 =?utf-8?B?NGgzNDJ5bVRZUzNEOHoxSURha0t1T0pJNm1OQXFhVU1YUThSWE1VM1J4dHQ4?=
 =?utf-8?B?L1NyaVdEcjJvZjNWQk91L0MzYXNUYmYvRWM1OVdFZThZWkFvamM5RjVIOW1k?=
 =?utf-8?B?a25CYlpjc05OMWlpdXdhL004Q1VnWnBGWVk4YzFWaDdkQkpsMThVODFUalZj?=
 =?utf-8?B?UlFIaEdOOFpXVGNJSHRtNVNXWWZRb0d4OXkzaFc1N0piNW5JZ1Z4dWNWSEZy?=
 =?utf-8?B?ekQ1ZkJaaWw5UmNwK1BmaTJlM21Ya2hycCtMdGh3czlqUjlOd1JhUjE1L09K?=
 =?utf-8?B?TnhzalBGVExwREh1MTBETEQ3MEMxVlFVRnNMcEx6N0JhZDZOUUdDZVNiWktT?=
 =?utf-8?B?YzUrZXVTZDY2MS9CQkp2SGxXM3Y0a1pXZWx4RjZaZGt4VmUyZ1JYU1F1OHNz?=
 =?utf-8?B?MEZHMWVmOVhoSEdrYi8vOFp5b1pQU1U4ZDhYWEJBbC9peTQvd0lBSEVyUU84?=
 =?utf-8?B?NVFQZFNqb3VzNXhqSU0zRy9HeDNSMmh0RFBSZTFOSlVsWmJSVk5HTUV2TWgy?=
 =?utf-8?B?UXA0RE4xMzdteHdRNk1aSk9ESTA4bkRPcU9RaHBzVjhEVkh1WGpjT1AydDR0?=
 =?utf-8?B?YmlweGx3Rkw4aXUxZnBHUUxIUEpUQmVLUEtKYzFqQzhLQVRqRVZ4WVFBTGZN?=
 =?utf-8?B?ZkFGMXFyM1VWd3lQVnYwQmVsWGZPUGpSblVjSFVuczlJN0pCNEFPMlJNcTRp?=
 =?utf-8?B?YnpCenZiaG9wWVI1Q1dKU2RvbURKWnVzWUZxQ3VsRkt2MDFGOW5HSFhwdzVl?=
 =?utf-8?B?VnZtMzRHQnBtSmFGUHo2aGVDZFNSaHIwNFpKdXBhMGZvL0ludkVkRXFlcDJ5?=
 =?utf-8?B?eWNQME1kbk1WQW96R3RvbjhDNCtLNTFjWWcwOFN6bDhjamxSdGJlN3pjWEgv?=
 =?utf-8?B?OUN3WFQ0RlJBUWhPdVEyNkc1TzhLY0tMa2RSTllibGJGMjV2bEdsVWJ5Q01s?=
 =?utf-8?B?OWs0blNwbmZsbkovcktGS0tMdnZ6MUlPZlcrMENNVTVjcUFQbVgrUzZCbHY0?=
 =?utf-8?B?Z1JtV1J2cS9CY2hmV3U2NDEzYjJKV1BVNG5pckF4YjJaaUZCN3Z3R2JBTW1W?=
 =?utf-8?B?RlFNMER1Qk9RUFJNdTc4UmU3eURCK05NWHNuS284bkZZdUlqdW9vbmZGcnBy?=
 =?utf-8?Q?QwlrD7aTJCSRtZGD/MDWRwK4d?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 37429c09-b265-471a-b904-08dbe7706c8c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 13:23:44.8371
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Pg5oYWpR5teP0AUbOAkuJiW/DeftE68Fzfufx0vlfshOT1XYYvznKaYTpnQFjA5xfffLFv0sZ5AqUdcJh83tUg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8381

On 17.11.2023 13:40, Roger Pau Monné wrote:
> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
>> --- a/xen/drivers/vpci/vpci.c
>> +++ b/xen/drivers/vpci/vpci.c
>> @@ -29,6 +29,9 @@ struct vpci_register {
>>      unsigned int offset;
>>      void *private;
>>      struct list_head node;
>> +    uint32_t rsvdz_mask;
>> +    uint32_t ro_mask;
>> +    uint32_t rw1c_mask;
> 
> I understand that we need the rw1c_mask in order to properly merge
> values when doing partial writes, but the other fields I'm not sure we
> do need them.  RO bits don't care about what's written to them, and
> RsvdZ are always read as 0 and written as 0, so the mask shouldn't
> affect the merging.

What some version of the spec says is r/o or reserved may be different
in another. Also iirc devices may (wrongly?) implement r/o bits as r/w.
When presenting a virtual view of devices to guests, in this regard I
think we want (or even need) to enforce our view of the world.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 13:33:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 13:33:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635199.991059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3yyV-0003iH-Kf; Fri, 17 Nov 2023 13:33:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635199.991059; Fri, 17 Nov 2023 13:33: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 1r3yyV-0003iA-HX; Fri, 17 Nov 2023 13:33:35 +0000
Received: by outflank-mailman (input) for mailman id 635199;
 Fri, 17 Nov 2023 13:33: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3yyU-0003i4-0n
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 13:33:34 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6d08846-854d-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 14:33:32 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c594196344so25469331fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 05:33:32 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 t11-20020a05600001cb00b0032de6f95fb3sm2341576wrx.40.2023.11.17.05.33.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 05:33:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6d08846-854d-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700228012; x=1700832812; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=fR9bF3Uprd1ab6wabUhoaMVMySCm9zD9QRQ70ylCa0E=;
        b=n8XBc2pm7dsXxmPMMFJ9lufl+vgtW3r22WRoAHUo+JoLgJ/Sau2QYALD7n90T/yNd7
         3l4oM+j2sjsQHXJnbhwHcVstLeIWiCQm8kS/eZGanxmaxNjBhfEF7yABxTvLViJ/X9vH
         f55rR+7sjvbcCQU0qzBvSMYZMNLNyelWXIY8g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700228012; x=1700832812;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fR9bF3Uprd1ab6wabUhoaMVMySCm9zD9QRQ70ylCa0E=;
        b=IFLg9vcjT2PZbrK7lJ7D0JwbcvzCi/7+Y8F9RHjx/n7vVb51Zp8cE/GKimKe8KHZ+V
         uzMqTFnRNbyalDZKMGMmrSctSqTKbk8F3c1QlJtIpqI2a6708xB8OBQUAyZiqsx0f9sH
         F3R4Abtfutij4IYtdLgvjWhIe2I+2QrsBAKGUN7pebXhjBhLhHZpwS89eucpZdgpfHa6
         ya/S22Km2ZpLU6r+RlTWSlcPGhY9YT1Y8QFxUYWX7jh3KLynx0CvPYMeZCm/OEb769CQ
         R8PM+bBqpS7BckdD4+o55k52ngxN+nMIhgLKivsAJ1T3MU+enBiD6wcNG7yEXGFvI/3z
         xUCg==
X-Gm-Message-State: AOJu0YyCRy7yGL/p9bzw4VzcW2jqFw6G0H3l9A0usysiJ2xCdpQZ3XAs
	k25urRv6+Lr2pnWMEs1ib9owHQ==
X-Google-Smtp-Source: AGHT+IGjAA3487zDURkRF6r6r4ptXmwGSfGnmkMwNVdaFpB0sojJdbZ9he/ozDDn+/+Qy6bGGywBvA==
X-Received: by 2002:a2e:b0c6:0:b0:2c6:edfd:658a with SMTP id g6-20020a2eb0c6000000b002c6edfd658amr4152729ljl.31.1700228012209;
        Fri, 17 Nov 2023 05:33:32 -0800 (PST)
Date: Fri, 17 Nov 2023 14:33:30 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.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 v7 1/2] xen/vpci: header: status register handler
Message-ID: <ZVdrqg4rc_B4sxfu@macbook.local>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230913143550.14565-2-stewart.hildebrand@amd.com>

On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
> +int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler,
> +                           vpci_write_t *write_handler, unsigned int offset,
> +                           unsigned int size, void *data, uint32_t rsvdz_mask,
> +                           uint32_t ro_mask, uint32_t rw1c_mask)

Forgot to mention, it would be good if you can add some tests in
tools/tests/vpci that ensure the masks work as expected.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 13:46:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 13:46:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635210.991068 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3zAL-0007lN-Ku; Fri, 17 Nov 2023 13:45:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635210.991068; Fri, 17 Nov 2023 13: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 1r3zAL-0007lG-IH; Fri, 17 Nov 2023 13:45:49 +0000
Received: by outflank-mailman (input) for mailman id 635210;
 Fri, 17 Nov 2023 13:45: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3zAK-0007kx-V0
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 13:45:48 +0000
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
 [2a00:1450:4864:20::22b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9cf0bbfc-854f-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 14:45:47 +0100 (CET)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2c5056059e0so28024461fa.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 05:45:47 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 1-20020a05600c230100b003fefb94ccc9sm2745099wmo.11.2023.11.17.05.45.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 05:45:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cf0bbfc-854f-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700228747; x=1700833547; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=11lHjhU2yS7SGzfPlRg1SD6c7cf79KO/+ePZ+ZqkQb0=;
        b=kigSjnCKN9seMl/aNa+4xhMmrAKZeqj3q1qE0o0JBmoFdCAYQWiFnxrdUVtYBIOPvq
         Tzfe/DoKyCO9KeUpd1A7iWaIXthvh8RLPUS9rTlYENoJbWjEZOKbZAhUBjho7PU/kJOj
         CgWpJET8H2Jc0fvdtHGC8Fkmo8Vsu8aUYGnnI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700228747; x=1700833547;
        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:subject:date:message-id:reply-to;
        bh=11lHjhU2yS7SGzfPlRg1SD6c7cf79KO/+ePZ+ZqkQb0=;
        b=v98TmTS735Xw78BbhmvqIZbaXdtvuNaFc9y0Ow4oWFXVx7ARDOa74t0SPOybLv7L4B
         LKu81Gqt9a0S+trVAyOhAi39NP5VHQeu/eLMfJ7lgIflFfYrTpD3GR/goUI/4xsbK5cO
         vksOIWNgKRuVAwHyAHh/HBg/67sEz48rNDdgAKbjNPR4jqU60TsPeg/yGBWc4EFoQEof
         kAUY2tqRfcRsvIjfNHCJ0B1sdOY7nRovtDWtvvYI1zB98xiFBgAJoJLlyFkrCF/+oRpG
         2laZE6zi96IFOvBWRXbi0Aro848xpUkvurIwNKopUps5DVXsJY58dlJWlHz2+l18ON8+
         LeFg==
X-Gm-Message-State: AOJu0Yx9n/+x6QYNow6osUUC03UxN2u7/pvtP434iJXcAbPBv0ZgnEJZ
	YOHQqobve4aIJ92udpDru/+t/g==
X-Google-Smtp-Source: AGHT+IEFHUagh3nsSAcRi6mC5tv91wTCG1fDY005PtdCDOPHMKCzwcg1mfe5f5eegfYxXnUpCYGmjA==
X-Received: by 2002:a2e:804c:0:b0:2c5:4956:5112 with SMTP id p12-20020a2e804c000000b002c549565112mr8662049ljg.35.1700228747294;
        Fri, 17 Nov 2023 05:45:47 -0800 (PST)
Date: Fri, 17 Nov 2023 14:45:45 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org,
	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>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: Re: [PATCH v7 1/2] xen/vpci: header: status register handler
Message-ID: <ZVduiT9YJE92zBai@macbook.local>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVdfRQpGFSU1OIkh@macbook.local>
 <a81699f2-f273-41f1-b0ad-4fc203b16420@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a81699f2-f273-41f1-b0ad-4fc203b16420@suse.com>

On Fri, Nov 17, 2023 at 02:23:42PM +0100, Jan Beulich wrote:
> On 17.11.2023 13:40, Roger Pau Monné wrote:
> > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
> >> --- a/xen/drivers/vpci/vpci.c
> >> +++ b/xen/drivers/vpci/vpci.c
> >> @@ -29,6 +29,9 @@ struct vpci_register {
> >>      unsigned int offset;
> >>      void *private;
> >>      struct list_head node;
> >> +    uint32_t rsvdz_mask;
> >> +    uint32_t ro_mask;
> >> +    uint32_t rw1c_mask;
> > 
> > I understand that we need the rw1c_mask in order to properly merge
> > values when doing partial writes, but the other fields I'm not sure we
> > do need them.  RO bits don't care about what's written to them, and
> > RsvdZ are always read as 0 and written as 0, so the mask shouldn't
> > affect the merging.
> 
> What some version of the spec says is r/o or reserved may be different
> in another. Also iirc devices may (wrongly?) implement r/o bits as r/w.
> When presenting a virtual view of devices to guests, in this regard I
> think we want (or even need) to enforce our view of the world.

That needs to be part of the commit message then.

Ideally we would also want to do a swept of all registers we currently
implement, in order to check for ro or rsvdz bits and properly enforce
them.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 13:59:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 13:59:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635217.991080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3zNU-0003xp-QX; Fri, 17 Nov 2023 13:59:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635217.991080; Fri, 17 Nov 2023 13:59: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 1r3zNU-0003xi-M9; Fri, 17 Nov 2023 13:59:24 +0000
Received: by outflank-mailman (input) for mailman id 635217;
 Fri, 17 Nov 2023 13:59: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=Xoj+=G6=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r3zNT-0003xc-Dz
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 13:59:23 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81ae07a2-8551-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 14:59:21 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-53d8320f0easo2953106a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 05:59:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81ae07a2-8551-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700229560; x=1700834360; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=Fagp+rmAYirSVBR8vRCNo4U5dLPMAju7VLV6px8s1FY=;
        b=adfoqc5LAZuP5heNlucy9gcVCK0O4xuSMk6O4MDyQsWZHFNQr6HfBKgi2kL+jGtSkb
         hkQ9toDOLcf0n9r2lNlBCmdAvZhnfgT7h/jGhePE/jL0A7dW4bpFsRrlcWIFw09ceUza
         Dk3Sx/UQIG50BA48bSaW/OQegOXmflzNMwbfc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700229560; x=1700834360;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Fagp+rmAYirSVBR8vRCNo4U5dLPMAju7VLV6px8s1FY=;
        b=gwLcm0s2DZfS/32bCq1P3A/lz1gsz53wLKSbcrsukcdLMnqmmcyKiUFc/rw2yA6LTK
         4akW2dXqign5mZCKwtA80qDwT3rMEmk13x2OSmPumKD44WJYoUN3CU9aWs6AFQXmbdxa
         8+CSdQiK3Yd0Qz73zduTmspC2175Uamn3OopT6L85Dx+tNdzAhTtFMfmZcZW5seJOYO3
         WoZjSmd4meOseIECz5Vg3aZSeyH4V/j+JIfn1Nvj7cbVWCv73zOV83NdrXUWKFeTI7QK
         z8ls1ybebI8iGBtZFI0JKEMYeuNd+ZOl6XBU/vLebOk6uuMgzpDvpJQtw7VW+M6TdbUY
         0M6A==
X-Gm-Message-State: AOJu0YwOpIarCn/1HnHqOejJK8SuYET9CAiwf/emTScMXFyEXUnYc1iu
	TyVzZ9V7U44IGm6lToFa+Sx+Lp6JYkE8GJC9DFXBqfPCFctdXOyrTvc=
X-Google-Smtp-Source: AGHT+IEOKG2hv1+/MHok+P7CDPgeJp5t1nE/uUjRwTJNi+fCYh3QZADHIK2zhOTs92lebuxkG/nqakSNcztuZ5wX7CE=
X-Received: by 2002:a17:906:3b16:b0:9c2:a072:78c4 with SMTP id
 g22-20020a1709063b1600b009c2a07278c4mr13123926ejf.25.1700229560498; Fri, 17
 Nov 2023 05:59:20 -0800 (PST)
MIME-Version: 1.0
References: <CAO-mL=wq2_gtE224RfavM3o6mhEASwygN6-fnKEP1YNUiuWEig@mail.gmail.com>
 <6554b6b7.df0a0220.412e6.4a71@mx.google.com>
In-Reply-To: <6554b6b7.df0a0220.412e6.4a71@mx.google.com>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Fri, 17 Nov 2023 13:58:44 +0000
Message-ID: <CAO-mL=zCOA2-q6DpRSJ4O2mvdx9ypJPg7VXC14_+ZWy8Eqt7Yw@mail.gmail.com>
Subject: Re: Important - Documentation Discussion
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000fd9af1060a598a76"

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

Hey Alejandro,

Thanks for your feedback.
I'll consider all your points, and any other comments from the community
before proceeding on the next steps.

If anyone else has any further ideas, please let me know *Friday 24th
November 2023.*

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group


On Wed, Nov 15, 2023 at 12:16=E2=80=AFPM Alejandro Vallejo <
alejandro.vallejo@cloud.com> wrote:

> Hi,
>
> On Wed, Nov 15, 2023 at 11:43:46AM +0000, Kelly Choi wrote:
> > Hi all,
> >
> > As you may be aware, we are in the process of reviewing our existing
> > documentation platform and content. In order to meet the requirements o=
f
> > the community and project, I need your input and feedback.
> >
> > The aim of the new documentation is to encourage community members to
> > collaborate in updating content (where possible) and educate users on h=
ow
> > the project works. The updated documentation will be hosted on our new
> > upcoming website.
> >
> > *Suggestion for user-orientated documentation:*
> >
> >    - git - for hosting (gitlab recommended)
> >    - RST - for the format of the documentation
> >    - Sphynx - to generate web pages and PDF and other formats from RST
> In my experience Sphinx's strength is in its ability to cross-reference t=
he
> code. That isn't something terribly helpful for user documentation, and i=
t
> makes the whole thing harder to set up for no clear benefit.
>
> For user-facing docs I'd propose `mkdocs` instead, which is a lot more
> focused and simpler to set up (can be done literally in a couple of
> minutes). The main difference would be that it takes Markdown rather than
> RST[1]. It trivially supports plugins for interesting things, like mermai=
d
> (for sequence/block diagrams or FSMs)
>
> Main website: https://www.mkdocs.org/
> Plugin catalog: https://github.com/mkdocs/catalog
>     * mermaid plugin: https://github.com/fralau/mkdocs-mermaid2-plugin
>     * kroki plugin: https://kroki.io/
>
> [1] I happen to prefer Markdown, as I find it easier to read and write, b=
ut
>     that's just personal preference
>
> >
> > *Suggestion for developer reference documentation:*
> >
> >    - Doxygen
> >    - Kerneldoc
> >    - Open to other suggestions here
> There's 2 areas here. The format for the annotations, and the visualizati=
on
> frontend. They need not be the same. Using Doxygen seems the less
> "not-invented-here" approach, while kerneldoc would
>
> As for the frontend I would suggest to _not_ use Doxygen itself as the
> generated websites are hideous to look at. Sphinx (through Breathe) or an=
y
> other Doxygen-database parse wouldr do the job as well providing a much
> (much) better output.
>
> >
> > Example of how documentation will be split:
> >
> >    1. Getting started/beginner user guides
> >    2. Learning orientated tutorials
> >    3. Goal-orientated how-to guides
> >    4. Developer related documentation
> (1-3) seem like pretty much the same thing. Guides of increasing complexi=
ty
> meant to train a new user/admin. Dividing such a section in those 3 block=
s
> seems sensible.
>
> (4) could be split in a "Developer Manual", which would contain plain
> explanation for dev-heavy concepts, and a "Reference Manual" with links t=
o
> the Doxygen-esque websites and a higher focus on implementation details.
>
> >
> > Side note: Whilst I appreciate everyone has a different vision of what
> > ideal documentation looks like, please be mindful that not everyone's
> > thought processes or depth of knowledge are the same. All ideas are
> > welcome, and decisions made will always reflect community needs.
> >
> > Many thanks,
> > Kelly Choi
> >
> > Open Source Community Manager
> > XenServer, Cloud Software Group
>
> Cheers,
> Alejandro
>

--000000000000fd9af1060a598a76
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hey Alejandro,<div><br></div><div>Thanks for your feedback=
.</div><div>I&#39;ll consider all your points, and any other comments from =
the community before proceeding on the next steps.</div><div><br></div><div=
>If anyone else has any further ideas, please let me know <b><u>Friday 24th=
 November 2023.</u></b></div><div><b><u><br clear=3D"all"></u></b><div><div=
 dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><=
div dir=3D"ltr"><div>Many thanks,</div><div>Kelly Choi</div><div><br></div>=
<div><div style=3D"color:rgb(136,136,136)">Open Source Community Manager</d=
iv><div style=3D"color:rgb(136,136,136)">XenServer, Cloud Software Group</d=
iv></div></div></div></div><br></div></div><br><div class=3D"gmail_quote"><=
div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 15, 2023 at 12:16=E2=80=AF=
PM Alejandro Vallejo &lt;<a href=3D"mailto:alejandro.vallejo@cloud.com">ale=
jandro.vallejo@cloud.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,<br>
<br>
On Wed, Nov 15, 2023 at 11:43:46AM +0000, Kelly Choi wrote:<br>
&gt; Hi all,<br>
&gt; <br>
&gt; As you may be aware, we are in the process of reviewing our existing<b=
r>
&gt; documentation platform and content. In order to meet the requirements =
of<br>
&gt; the community and project, I need your input and feedback.<br>
&gt; <br>
&gt; The aim of the new documentation is to encourage community members to<=
br>
&gt; collaborate in updating content (where possible) and educate users on =
how<br>
&gt; the project works. The updated documentation will be hosted on our new=
<br>
&gt; upcoming website.<br>
&gt; <br>
&gt; *Suggestion for user-orientated documentation:*<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 - git - for hosting (gitlab recommended)<br>
&gt;=C2=A0 =C2=A0 - RST - for the format of the documentation<br>
&gt;=C2=A0 =C2=A0 - Sphynx - to generate web pages and PDF and other format=
s from RST<br>
In my experience Sphinx&#39;s strength is in its ability to cross-reference=
 the<br>
code. That isn&#39;t something terribly helpful for user documentation, and=
 it<br>
makes the whole thing harder to set up for no clear benefit.<br>
<br>
For user-facing docs I&#39;d propose `mkdocs` instead, which is a lot more<=
br>
focused and simpler to set up (can be done literally in a couple of<br>
minutes). The main difference would be that it takes Markdown rather than<b=
r>
RST[1]. It trivially supports plugins for interesting things, like mermaid<=
br>
(for sequence/block diagrams or FSMs) <br>
<br>
Main website: <a href=3D"https://www.mkdocs.org/" rel=3D"noreferrer" target=
=3D"_blank">https://www.mkdocs.org/</a><br>
Plugin catalog: <a href=3D"https://github.com/mkdocs/catalog" rel=3D"norefe=
rrer" target=3D"_blank">https://github.com/mkdocs/catalog</a><br>
=C2=A0 =C2=A0 * mermaid plugin: <a href=3D"https://github.com/fralau/mkdocs=
-mermaid2-plugin" rel=3D"noreferrer" target=3D"_blank">https://github.com/f=
ralau/mkdocs-mermaid2-plugin</a><br>
=C2=A0 =C2=A0 * kroki plugin: <a href=3D"https://kroki.io/" rel=3D"noreferr=
er" target=3D"_blank">https://kroki.io/</a><br>
<br>
[1] I happen to prefer Markdown, as I find it easier to read and write, but=
<br>
=C2=A0 =C2=A0 that&#39;s just personal preference<br>
<br>
&gt; <br>
&gt; *Suggestion for developer reference documentation:*<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 - Doxygen<br>
&gt;=C2=A0 =C2=A0 - Kerneldoc<br>
&gt;=C2=A0 =C2=A0 - Open to other suggestions here<br>
There&#39;s 2 areas here. The format for the annotations, and the visualiza=
tion<br>
frontend. They need not be the same. Using Doxygen seems the less<br>
&quot;not-invented-here&quot; approach, while kerneldoc would <br>
<br>
As for the frontend I would suggest to _not_ use Doxygen itself as the<br>
generated websites are hideous to look at. Sphinx (through Breathe) or any<=
br>
other Doxygen-database parse wouldr do the job as well providing a much<br>
(much) better output.<br>
<br>
&gt; <br>
&gt; Example of how documentation will be split:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 1. Getting started/beginner user guides<br>
&gt;=C2=A0 =C2=A0 2. Learning orientated tutorials<br>
&gt;=C2=A0 =C2=A0 3. Goal-orientated how-to guides<br>
&gt;=C2=A0 =C2=A0 4. Developer related documentation<br>
(1-3) seem like pretty much the same thing. Guides of increasing complexity=
<br>
meant to train a new user/admin. Dividing such a section in those 3 blocks<=
br>
seems sensible.<br>
<br>
(4) could be split in a &quot;Developer Manual&quot;, which would contain p=
lain<br>
explanation for dev-heavy concepts, and a &quot;Reference Manual&quot; with=
 links to<br>
the Doxygen-esque websites and a higher focus on implementation details.<br=
>
<br>
&gt; <br>
&gt; Side note: Whilst I appreciate everyone has a different vision of what=
<br>
&gt; ideal documentation looks like, please be mindful that not everyone&#3=
9;s<br>
&gt; thought processes or depth of knowledge are the same. All ideas are<br=
>
&gt; welcome, and decisions made will always reflect community needs.<br>
&gt; <br>
&gt; Many thanks,<br>
&gt; Kelly Choi<br>
&gt; <br>
&gt; Open Source Community Manager<br>
&gt; XenServer, Cloud Software Group<br>
<br>
Cheers,<br>
Alejandro<br>
</blockquote></div>

--000000000000fd9af1060a598a76--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 13:59:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 13:59:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635219.991089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3zNv-0004Uz-2G; Fri, 17 Nov 2023 13:59:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635219.991089; Fri, 17 Nov 2023 13: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 1r3zNu-0004Us-Ul; Fri, 17 Nov 2023 13:59:50 +0000
Received: by outflank-mailman (input) for mailman id 635219;
 Fri, 17 Nov 2023 13: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3zNt-0004Q4-8t
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 13:59:49 +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 922ae752-8551-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 14:59:48 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4083cd3917eso17079705e9.3
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 05:59:48 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 y11-20020a056000108b00b0032dbf32bd56sm2400589wrw.37.2023.11.17.05.59.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 05:59:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 922ae752-8551-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700229588; x=1700834388; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=vvCY8h13XoTALu8clCwKllspHjOlIZ2eGl3yl6AZBjQ=;
        b=C+u7MoaNOjyCNOHqxxLNe+vwmK6uVnY2BqEVe0BCRDSAW3OeG2qnhiZnQYo6PTPBFc
         ugorJotDd6TzsvqQdc6dCN+2Md08uuTMYFbK2Czuj8pGfYH9zZofxOHZmtRA6K47Q5SR
         JIDYyGCQIpo+dfacxaXLuwzIvO49xC1lH0ins=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700229588; x=1700834388;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vvCY8h13XoTALu8clCwKllspHjOlIZ2eGl3yl6AZBjQ=;
        b=gw1BcKsbdELospocrk/9CdgpUfTdDWcvXyYCmbjcb+ISks0olEIQgAiItjvZPStB3r
         zchxd0AWRQ2gD/ZjqAGOZYOMtg+C7V+qBkJ8d6hEj6B8c90aDJw9FrazbLZB/DgoEhEf
         4camgKS68vJ9Xscs2fAzbqGMiC1bmYi70dHhkS7FqU9nhgvHBgh7OPICOX1BbH6C2WEh
         ATj3zBe4Xo/jLuLfg8Xkv5VTu8f9ZbBnd2K+VwH05w1t+gYDMT8MRtrXRut+q1o4PQy0
         rN3zH2dIqdGfBkOPd/3OxmQDiwdVuv/8XKNDOf+rJcYwqOev1DmxBT/eOmn/Em0hPzNc
         fl/A==
X-Gm-Message-State: AOJu0YxAto7ZueWjYakphiTklB6SFF/F1MEG06sHfB759qnR2G0CeyW/
	d4HEiLiCI7ehkCxhUQvPLVuOYQ==
X-Google-Smtp-Source: AGHT+IEdmirO+ih6qUxMBgj64KUoCSRiA/bHUWgwFEp+B1jU9BDKxPwcvHUF9YtJ435FHG9nJxQBog==
X-Received: by 2002:a05:600c:3ca2:b0:408:3c9e:44b7 with SMTP id bg34-20020a05600c3ca200b004083c9e44b7mr14782891wmb.3.1700229588197;
        Fri, 17 Nov 2023 05:59:48 -0800 (PST)
Date: Fri, 17 Nov 2023 14:59:46 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	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>
Subject: Re: [PATCH v10 01/17] pci: msi: pass pdev to pci_enable_msi()
 function
Message-ID: <ZVdx0udKRpPMtU9M@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-2-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231012220854.2736994-2-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:14PM +0000, Volodymyr Babchuk wrote:
> Previously pci_enable_msi() function obtained pdev pointer by itself,
> but taking into account upcoming changes to PCI locking, it is better
> when caller passes already acquired pdev pointer to the function.

A bit more detail into why this matters for the upcoming locking
change would be useful here.

> Note that ns16550 driver does not check validity of obtained pdev
> pointer because pci_enable_msi() already does this.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> Changes in v10:
> 
>  - New in v10. This is the result of discussion in "vpci: add initial
>  support for virtual PCI bus topology"
> ---
>  xen/arch/x86/include/asm/msi.h |  3 ++-
>  xen/arch/x86/irq.c             |  2 +-
>  xen/arch/x86/msi.c             | 19 ++++++++++---------
>  xen/drivers/char/ns16550.c     |  4 +++-
>  4 files changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
> index a53ade95c9..836c8cd4ba 100644
> --- a/xen/arch/x86/include/asm/msi.h
> +++ b/xen/arch/x86/include/asm/msi.h
> @@ -81,7 +81,8 @@ struct irq_desc;
>  struct hw_interrupt_type;
>  struct msi_desc;
>  /* Helper functions */
> -extern int pci_enable_msi(struct msi_info *msi, struct msi_desc **desc);
> +extern int pci_enable_msi(struct msi_info *msi, struct msi_desc **desc,
> +			  struct pci_dev *pdev);

Hard tabs (here and below).

I agree with Jan that it might be better for pdev to be the first
parameter.

Otherwise seems fine if the pdev is already in the caller context, as
we avoid an extra list walk.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 14:10:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 14:10:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635230.991098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3zXj-0006wN-Vd; Fri, 17 Nov 2023 14:09:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635230.991098; Fri, 17 Nov 2023 14: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 1r3zXj-0006wG-T9; Fri, 17 Nov 2023 14:09:59 +0000
Received: by outflank-mailman (input) for mailman id 635230;
 Fri, 17 Nov 2023 14:09: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=1XSP=G6=epam.com=prvs=568571a16b=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r3zXi-0006w8-Fc
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 14:09:58 +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 fb5d2e47-8552-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 15:09:55 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AHDrv7c028308; Fri, 17 Nov 2023 14:09:50 GMT
Received: from eur01-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2050.outbound.protection.outlook.com [104.47.1.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ue4n2sa3s-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Nov 2023 14:09:50 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM9PR03MB8012.eurprd03.prod.outlook.com (2603:10a6:20b:43f::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 14:09:46 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.022; Fri, 17 Nov 2023
 14:09: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: fb5d2e47-8552-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=frMZ94+2hnWQvwicJqu9lsL/xl2ieGtSevenqZVftPyTc17ncZPBcpdtvjlBzv97XamkrCAE0Dt5aQLPtFX/2E/8hZmkTSiDRqd5tQ4gpYmYRI7MEGaDyWm6OMu2eDFitYYd4/1C5gP0BicbVWVsa4vN6XdqJ1njESn+z31rTqfMXK04J+9sYGG2AaoZJ1moYAlgsge/yW6cPk4gSWrYLWRxSlX3xHz+wjo7PcBnwFcmdo54hs2K1hlnZBYIkYTJ9Iceqg8cfVJ66I3P7Gw9z1YsoveGF/lKjjobzxiAMSTBTH5MtQ3gJcWwgyFP65cQDkxzxFY+/KMcz4CotFKPpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=fuBBkHLeKxPPcTjX4iPg8HLwrDzoBN98yDG2OCNvbjI=;
 b=Ehldz8NxBTQDrAiVt5tQkmFoQKIqvnqxGS0LFeqILSntN/1z2J45GUrWLH0PePivq2Trm2Zmip8AtDI63b60NOG9UrVsUFAGdewHKIqkVnAo2p8kgqnZa1XHFlbo1JxsIRhcsL7Jytkm6RxTHb8pW72r5dKsMtc/vnI7Gb7ih/vg4HdzWqcTCacQ3O3hjAV2ht9qayR0JwcJNptqgQZEO1aAs7ADBrKgx9t+D4dmx65pETj33/YRv8kF9e17WASRiISVh+XxPv+98Ht3B4Dt2qZDhB8O+XdifoKbrADuGZXqSMxQJab3edPtmxyM47kGtYwHuUjHRfiFRUZGcQh5eA==
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=fuBBkHLeKxPPcTjX4iPg8HLwrDzoBN98yDG2OCNvbjI=;
 b=ZlAPtyHxGyCOUmzJSMsSWDf4UigHGRWp/2QX8uzvhDzT5NajopfCQGQtYtJDcZBLLFVKI1E9Ok8f/6bu/LZ7fSJCer21qHU+UxF80iHZnv7ezHwSflpuKFctR2XJgs8F5LGNd03U2ieFp3G+gP2dAdufRQeN+g3zm282fV/ibkbiuuowXGpxyrYiTeI8PJjVfiQNEfEd5+JuTYblMXZUkjszJ/oGHhuEDRrrZGPp1S2PniosXEUGHSnV9zTUJ46/TG4QrDpRiQV6/kVbpi0czPa6tjoJ8UYjWA2NIZgK+UklUFHMvpPkoMYV996iNSmvTgNEtnkBFGMz/5MF4Gm2Fw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>,
        Stewart Hildebrand
	<stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@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 v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Topic: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Index: AQHZ/Vi+wP3QsyKZ0EartcLXqtnBRLB9UyCAgAB7YgCAAAiUAIAAEHKAgADZXQA=
Date: Fri, 17 Nov 2023 14:09:45 +0000
Message-ID: <87a5rc4gk7.fsf@epam.com>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
 <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
 <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
 <87o7ft44bv.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM9PR03MB8012:EE_
x-ms-office365-filtering-correlation-id: baa2f263-00d3-44c2-3fba-08dbe776da7a
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 EzzkWjU8B9AtztSnPiABrgDsjPsxIpkocE5cA69CoVeb1MmFthYcNoPbEXSc15+11QVxPqAjf2zKDn1IT/Nr/7nf6Q3onJfgTpzCa9UVGEX9phXGsVNCaF7QDWmYiRFz3B6HWU8j57GZ55DA0/6IEtSHOwmBxMdt0mKQ/53q492iD7uucRZMHrKb+4QGLVuTTy4QhcoqSx813TSPnpQtjrnYGzaGJgxZj2RIpyY6PYS3qk4/EQgtqUODx5QFExCaTcSBGDJRx02C7lpVK+lKq5kdQOICz4peXW+puT7CQ/FSiKA9F5R9wa24lVFjk/ejUU5GNEBchF+UPcyJWZeXB8rjPaAG71TlV+xL4QVxVKOkiVcauNyyUx4N1P6ULQpHzmEAekaDk5L+xYLaODKLtpIkjlpPkLRZ2Up/1uYlFBOYxS7UXmViFcAmPAJzXICCDmtPYFP+Kqd679v1mz63uEyJsaPl97lCDCX0foyTDhOBv1M/giMvkoWkzkuLqyTlKc3YRvfWr5oq2gdh3Z8s38XBGa/s9hdm99rdTFsylD2L6FM98VJv610HoZ/wT1HGYLqxLBGIC7Mu/MT9SI0SNSlwYraHU+9LOP8OoA7jj1S/mIVe9CSIEWkh82JR5ALp
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:(13230031)(376002)(136003)(396003)(346002)(366004)(39860400002)(230922051799003)(186009)(64100799003)(1800799009)(451199024)(6512007)(36756003)(2906002)(71200400001)(66946007)(54906003)(64756008)(66476007)(66446008)(6916009)(76116006)(91956017)(55236004)(6506007)(66556008)(86362001)(478600001)(6486002)(26005)(41300700001)(38100700002)(5660300002)(2616005)(122000001)(38070700009)(66899024)(83380400001)(316002)(8936002)(4326008)(8676002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?pvkGqb3+f0eu1GoIpbyMApOSD8W9HlAkFc10T5FpQARcAntoL27857j7UM?=
 =?iso-8859-1?Q?Xu3bfklHXoNVWJLipj+XmzQ0thZThPBd8UmV2ePthR1BUrRmLfs1wtDC97?=
 =?iso-8859-1?Q?4I3AwKjVwnIWvOac9t78tWwr+/WE9rEMEdbbffb9ORBmYatFC/FLbIBirw?=
 =?iso-8859-1?Q?FT6CvJSphHBmNV/sxR4eWsea+uNiQOFYzKU16vEdeiqz7i5Ydj92NFpeGd?=
 =?iso-8859-1?Q?87ur8VFw2aA8l8X+LZvLmPjlzQVlTFOWOsXznD28/sJjvc8eDr46LfE083?=
 =?iso-8859-1?Q?l0lUGnXsq3zNdfO11iAa2VejkVHV4LqaO2NRp3REDqSgHvVsZavBj6Cwik?=
 =?iso-8859-1?Q?HHK5GYYb81Uwo1PjjkE/KHorWLUdsolFy1bOSol1IGicjTo0QiKLemVdJa?=
 =?iso-8859-1?Q?k9HxMYgKtdhvtOUjrw/jP6vfyi2xSaOCNEKJTV2oNHI3RliSkA3YDqDCpX?=
 =?iso-8859-1?Q?Uc3RM5YdnN7kVHK69mXWDOXp8KPhd9lP3Xi+1+zResa23rOsDzwUbztSAY?=
 =?iso-8859-1?Q?y0Cu0i3+Bvs/1QNju2BZuV4XpVXROaRCWW56fMytnCNQ1PeXO+V7gvNQXz?=
 =?iso-8859-1?Q?NJ1bIlFjg5R/HMVRMku2jq67E+5CLJxH+i5Hl20Yea86u3/RH8/WqiNLL3?=
 =?iso-8859-1?Q?oTDfkshLiKy9869Vi3zgMzMowSEsQnUuHOoHPCmOkYzMLiI5JXiXSc992P?=
 =?iso-8859-1?Q?QyfVqlKDogLCa9DtpGGiNoT57LpK/B6CxPN1ILhqWhy/rGEO/Pcp937K+n?=
 =?iso-8859-1?Q?FV4sapOyMTrOGOQ78uME0dhh2xQ5GTOz56rdw4bBrjAMk7yXSj+LcWO40G?=
 =?iso-8859-1?Q?8t2oHmNcst8F0FhTJCQlWfLkAmemVIkXToeat5NoEKPGgpEkhZw0GXe9cE?=
 =?iso-8859-1?Q?2nBl85j6IzW+EwuvGntIrg4BQgH78Gc9UM+ZMIqGM4xovqtHlT39kybccV?=
 =?iso-8859-1?Q?9A11M/A7i+k+qWd7HmKen2P1vItHrwl/ggEZu/SPpEf3Clk+7vcFv3EJxW?=
 =?iso-8859-1?Q?qHGnAONvfQMkOxvoVgbOSO5d4VrHT6DTiFFOcWmp6PgXi506tnogZ6ZCHz?=
 =?iso-8859-1?Q?k4TNGly9txhR7yKA8EYT1Oh52z20FvdwLRyAIiItc/MZjmQA7SQT5kDyNQ?=
 =?iso-8859-1?Q?Hl3YpoRwfiugfRRMSkkCpFfrVedEnRylVyJJ3afm/AvlW74Xclo6c3bngu?=
 =?iso-8859-1?Q?KffNK0X14A6kGlMi5Bewgwd6Oy1VkQLIx1fpC3nXdxxHWQVfFJX7UoX0Sr?=
 =?iso-8859-1?Q?VIHdEVJGsUDK5K9YbU/deycc5A4vS95v3DeS74CkYGHeabdssxqvXRcrrg?=
 =?iso-8859-1?Q?M6/84VP5NxHBBc9T6MODm72C22zz5MbEGyWwsbLmjgCQ5/Wm5TiZOgb5va?=
 =?iso-8859-1?Q?caC8hZl2P1REzgXWg58hXslObqvCa34KFTZbj1stNLpZqoTksqJ3PiZHwo?=
 =?iso-8859-1?Q?b8duuL/3PdCtb+Dj7wN7/0/SnJs2PhNJTvNWyk0KuSzHquMJrBDwuHkzXh?=
 =?iso-8859-1?Q?6qirhYkKdEWlmNuBvQDPxYu0/F/CqEv1pKHJWeCjUoYCp+7cmMzGqOa1cI?=
 =?iso-8859-1?Q?f2v7gKK4xsq/me8NgMDZDaLHXgzJaUcN8TvPwf/X7/piOUGhR18PDHtV6c?=
 =?iso-8859-1?Q?G4YQReCW+dX6yGvytvgFh/g0KpV8wGjcT8O8pnVwxLZPLlzs4Nx4Gg1A?=
 =?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: baa2f263-00d3-44c2-3fba-08dbe776da7a
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2023 14:09:46.0252
 (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: OIPCHojV0A7XoXq68TBImEptoMCWfZshSm9H6rhsTFdiEyq5IUwdxqQD+zLuUm80XUlIl9yjhGzh2Bt6SMoxovJUrGPsbGU8qn7jp0boWgw=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB8012
X-Proofpoint-ORIG-GUID: TQdgYxLt8k2umVUCwoo6LFkaoVJQDVsC
X-Proofpoint-GUID: TQdgYxLt8k2umVUCwoo6LFkaoVJQDVsC
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-17_12,2023-11-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015
 priorityscore=1501 bulkscore=0 mlxlogscore=999 malwarescore=0
 lowpriorityscore=0 suspectscore=0 spamscore=0 impostorscore=0 adultscore=0
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311170105


Hi Stefano,

Stefano Stabellini <sstabellini@kernel.org> writes:

> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
>> > I still think, no matter the BDF allocation scheme, that we should try
>> > to avoid as much as possible to have two different PCI Root Complex
>> > emulators. Ideally we would have only one PCI Root Complex emulated by
>> > Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
>> > tolerable but not ideal.
>>=20
>> But what is exactly wrong with this setup?
>
> [...]
>
>> > The worst case I would like to avoid is to have
>> > two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
>>=20
>> This is how our setup works right now.
>
> If we have:
> - a single PCI Root Complex emulated in Xen
> - Xen is safety certified
> - individual Virtio devices emulated by QEMU with grants for memory
>
> We can go very far in terms of being able to use Virtio in safety
> use-cases. We might even be able to use Virtio (frontends) in a SafeOS.
>
> On the other hand if we put an additional Root Complex in QEMU:
> - we pay a price in terms of complexity of the codebase
> - we pay a price in terms of resource utilization
> - we have one additional problem in terms of using this setup with a
>   SafeOS (one more device emulated by a non-safe component)
>
> Having 2 PCI Root Complexes both emulated in Xen is a middle ground
> solution because:
> - we still pay a price in terms of resource utilization
> - the code complexity goes up a bit but hopefully not by much
> - there is no impact on safety compared to the ideal scenario
>
> This is why I wrote that it is tolerable.

Ah, I see now. Yes, I am agree with this. Also I want to add some more
points:

- There is ongoing work on implementing virtio backends as a separate
  applications, written in Rust. Linaro are doing this part. Right now
  they are implementing only virtio-mmio, but if they want to provide
  virtio-pci as well, they will need a mechanism to plug only
  virtio-pci, without Root Complex. This is argument for using single Root
  Complex emulated in Xen.

- As far as I know (actually, Oleksandr told this to me), QEMU has no
  mechanism for exposing virtio-pci backends without exposing PCI root
  complex as well. Architecturally, there should be a PCI bus to which
  virtio-pci devices are connected. Or we need to make some changes to
  QEMU internals to be able to create virtio-pci backends that are not
  connected to any bus. Also, added benefit that PCI Root Complex
  emulator in QEMU handles legacy PCI interrupts for us. This is
  argument for separate Root Complex for QEMU.

As right now we have only virtio-pci backends provided by QEMU and this
setup is already working, I propose to stick to this
solution. Especially, taking into account that it does not require any
changes to hypervisor code.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 14:33:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 14:33:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635241.991108 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3zuQ-0007mx-Vm; Fri, 17 Nov 2023 14:33:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635241.991108; Fri, 17 Nov 2023 14:33: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 1r3zuQ-0007mq-Sw; Fri, 17 Nov 2023 14:33:26 +0000
Received: by outflank-mailman (input) for mailman id 635241;
 Fri, 17 Nov 2023 14:33: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r3zuQ-0007mk-2j
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 14:33:26 +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 43cf815f-8556-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 15:33:24 +0100 (CET)
Received: by mail-wr1-x42f.google.com with SMTP id
 ffacd0b85a97d-32faea0fa1fso1232084f8f.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 06:33:24 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 d4-20020a5d4f84000000b0032d96dd703bsm2457985wru.70.2023.11.17.06.33.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 06:33:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43cf815f-8556-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700231604; x=1700836404; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=aKti1lsl/A8T/TPv7EBXllSJ3HFsGsEi80ZTnOCbMV4=;
        b=n2jRjiMF6uI+34DdGqzOXRRXkIzKAIwcVeJ7at4KzMlwIlt0Hk6A9O4ByWR/cEzYVs
         tE3Wun7cQjv4gnxlceOfZngFBL8MqFhcCNMgzCvZJpBMNnQG8do+3wpmCR3xsHnOdYto
         5EBkKf7Z6rBnEyIMVZ8PhsFa/pqvxStrHiK20=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700231604; x=1700836404;
        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:subject:date:message-id:reply-to;
        bh=aKti1lsl/A8T/TPv7EBXllSJ3HFsGsEi80ZTnOCbMV4=;
        b=si+NUa3E2k2PcIkgIbDu8a9L5djZvWbxUu/2UKzgR/8NXHVQFjPoFdRagZNYG1opSS
         AqD2h8q8/5+rXZXeu+49mQj2iLZBVosvevAzFbvp8UM70Lm9sUJR1Ea1n9X/OG8ogI0k
         +RrvRQybkHKXMpRuvZIUja/kZr4S4txgSNtsdWNm1gnGhWQcFWBH7IwZDUMc/ApPi5sU
         juwgfbM/UTR0W/5Bav/bwedhl7DdY+rDsjoUGQoa5rry6gXrPrWQ97VC/bhmIkm4Tfcs
         rX8qvrAR7GCZolopegI74uTjWklR4MV5zOahTBxupJ/xnXIHtL8Nlz2nGWYNJpE/o6PM
         1lCQ==
X-Gm-Message-State: AOJu0YwQN9BD57BqtPNUM9iuDQhBpDtsuOM2OQEjWNjNTaNneNa8faJD
	yXwXlO/RQuzf81jWHVjN68nVlA==
X-Google-Smtp-Source: AGHT+IGZee6A+GzISWGJGJYzZDT50scBSV7rVibefOfUKsI9uy1Xgn4ESQ19wghPrJ84i+ZNWt/NwA==
X-Received: by 2002:a5d:59a4:0:b0:32d:c792:fcaf with SMTP id p4-20020a5d59a4000000b0032dc792fcafmr4055234wrr.26.1700231604225;
        Fri, 17 Nov 2023 06:33:24 -0800 (PST)
Date: Fri, 17 Nov 2023 15:33:22 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.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>, Kevin Tian <kevin.tian@intel.com>
Subject: Re: [PATCH v10 02/17] pci: introduce per-domain PCI rwlock
Message-ID: <ZVd5spOWUw3UnkQO@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-3-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231012220854.2736994-3-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:15PM +0000, Volodymyr Babchuk wrote:
> Add per-domain d->pci_lock that protects access to
> d->pdev_list. Purpose of this lock is to give guarantees to VPCI code
> that underlying pdev will not disappear under feet. This is a rw-lock,
> but this patch adds only write_lock()s. There will be read_lock()
> users in the next patches.
> 
> This lock should be taken in write mode every time d->pdev_list is
> altered. All write accesses also should be protected by pcidevs_lock()
> as well. Idea is that any user that wants read access to the list or
> to the devices stored in the list should use either this new
> d->pci_lock or old pcidevs_lock(). Usage of any of this two locks will
> ensure only that pdev of interest will not disappear from under feet
> and that the pdev still will be assigned to the same domain. Of
> course, any new users should use pcidevs_lock() when it is
> appropriate (e.g. when accessing any other state that is protected by
> the said lock). In case both the newly introduced per-domain rwlock
> and the pcidevs lock is taken, the later must be acquired first.
                                     ^ latter

> 
> Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

I'm a bit concerned with the logic used in pci_release_devices(), but
I guess it's fine for now as long as the global pcidevs_lock is still
held.

> ---
> 
> Changes in v10:
>  - pdev->domain is assigned after removing from source domain but
>    before adding to target domain in reassign_device() functions.
> 
> Changes in v9:
>  - returned back "pdev->domain = target;" in AMD IOMMU code
>  - used "source" instead of pdev->domain in IOMMU functions
>  - added comment about lock ordering in the commit message
>  - reduced locked regions
>  - minor changes non-functional changes in various places
> 
> Changes in v8:
>  - New patch
> 
> Changes in v8 vs RFC:
>  - Removed all read_locks after discussion with Roger in #xendevel
>  - pci_release_devices() now returns the first error code
>  - extended commit message
>  - added missing lock in pci_remove_device()
>  - extended locked region in pci_add_device() to protect list_del() calls
> ---
>  xen/common/domain.c                         |  1 +
>  xen/drivers/passthrough/amd/pci_amd_iommu.c |  9 ++-
>  xen/drivers/passthrough/pci.c               | 71 +++++++++++++++++----
>  xen/drivers/passthrough/vtd/iommu.c         |  9 ++-
>  xen/include/xen/sched.h                     |  1 +
>  5 files changed, 78 insertions(+), 13 deletions(-)
> 
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 8f9ab01c0c..785c69e48b 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -651,6 +651,7 @@ struct domain *domain_create(domid_t domid,
>  
>  #ifdef CONFIG_HAS_PCI
>      INIT_LIST_HEAD(&d->pdev_list);
> +    rwlock_init(&d->pci_lock);
>  #endif
>  
>      /* All error paths can depend on the above setup. */
> diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> index 836c24b02e..36a617bed4 100644
> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> @@ -476,8 +476,15 @@ static int cf_check reassign_device(
>  
>      if ( devfn == pdev->devfn && pdev->domain != target )
>      {
> -        list_move(&pdev->domain_list, &target->pdev_list);
> +        write_lock(&source->pci_lock);
> +        list_del(&pdev->domain_list);
> +        write_unlock(&source->pci_lock);
> +
>          pdev->domain = target;
> +
> +        write_lock(&target->pci_lock);
> +        list_add(&pdev->domain_list, &target->pdev_list);
> +        write_unlock(&target->pci_lock);
>      }
>  
>      /*
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index 04d00c7c37..b8ad4fa07c 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -453,7 +453,9 @@ static void __init _pci_hide_device(struct pci_dev *pdev)
>      if ( pdev->domain )
>          return;
>      pdev->domain = dom_xen;
> +    write_lock(&dom_xen->pci_lock);
>      list_add(&pdev->domain_list, &dom_xen->pdev_list);
> +    write_unlock(&dom_xen->pci_lock);
>  }
>  
>  int __init pci_hide_device(unsigned int seg, unsigned int bus,
> @@ -746,7 +748,9 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>      if ( !pdev->domain )
>      {
>          pdev->domain = hardware_domain;
> +        write_lock(&hardware_domain->pci_lock);
>          list_add(&pdev->domain_list, &hardware_domain->pdev_list);
> +        write_unlock(&hardware_domain->pci_lock);
>  
>          /*
>           * For devices not discovered by Xen during boot, add vPCI handlers
> @@ -756,7 +760,9 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>          if ( ret )
>          {
>              printk(XENLOG_ERR "Setup of vPCI failed: %d\n", ret);
> +            write_lock(&hardware_domain->pci_lock);
>              list_del(&pdev->domain_list);
> +            write_unlock(&hardware_domain->pci_lock);
>              pdev->domain = NULL;
>              goto out;
>          }
> @@ -764,7 +770,9 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>          if ( ret )
>          {
>              vpci_remove_device(pdev);
> +            write_lock(&hardware_domain->pci_lock);
>              list_del(&pdev->domain_list);
> +            write_unlock(&hardware_domain->pci_lock);
>              pdev->domain = NULL;
>              goto out;
>          }
> @@ -814,7 +822,11 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
>              pci_cleanup_msi(pdev);
>              ret = iommu_remove_device(pdev);
>              if ( pdev->domain )
> +            {
> +                write_lock(&pdev->domain->pci_lock);
>                  list_del(&pdev->domain_list);
> +                write_unlock(&pdev->domain->pci_lock);
> +            }
>              printk(XENLOG_DEBUG "PCI remove device %pp\n", &pdev->sbdf);
>              free_pdev(pseg, pdev);
>              break;
> @@ -885,26 +897,61 @@ static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
>  
>  int pci_release_devices(struct domain *d)
>  {
> -    struct pci_dev *pdev, *tmp;
> -    u8 bus, devfn;
> -    int ret;
> +    int combined_ret;
> +    LIST_HEAD(failed_pdevs);
>  
>      pcidevs_lock();
> -    ret = arch_pci_clean_pirqs(d);
> -    if ( ret )
> +
> +    combined_ret = arch_pci_clean_pirqs(d);
> +    if ( combined_ret )
>      {
>          pcidevs_unlock();
> -        return ret;
> +        return combined_ret;
>      }
> -    list_for_each_entry_safe ( pdev, tmp, &d->pdev_list, domain_list )
> +
> +    write_lock(&d->pci_lock);

Strictly speaking this could be a read_lock, since you are not
modifying the list here, just getting an element out of it.  I see
however that the late half of the loop does require the lock in write
mode for altering the domain pdev list, and hence might be clearer to
just use the lock in write mode all along.

> +
> +    while ( !list_empty(&d->pdev_list) )
>      {
> -        bus = pdev->bus;
> -        devfn = pdev->devfn;
> -        ret = deassign_device(d, pdev->seg, bus, devfn) ?: ret;
> +        struct pci_dev *pdev = list_first_entry(&d->pdev_list,
> +                                                struct pci_dev,
> +                                                domain_list);
> +        uint16_t seg = pdev->seg;
> +        uint8_t bus = pdev->bus;
> +        uint8_t devfn = pdev->devfn;

What's the point of those local variables?  They are used only once,
and getting them is trivial.  Is this protection against 'pdev' being
removed since we no longer hold the per-domain lock?

I don't like much dropping the lock in the middle of a loop, as I
think it's dangerous, but I don't have much better suggestion here.

One thing that we might look into is to move the whole device list to
a local variable under the per domain pci lock, and then iterate over
that list without requiring the per domain lock to be taken.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 14:34:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 14:34:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635246.991119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r3zvi-0008Hx-9R; Fri, 17 Nov 2023 14:34:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635246.991119; Fri, 17 Nov 2023 14:34: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 1r3zvi-0008Hq-6C; Fri, 17 Nov 2023 14:34:46 +0000
Received: by outflank-mailman (input) for mailman id 635246;
 Fri, 17 Nov 2023 14:34: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=Tr9K=G6=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r3zvg-0008HX-Ej
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 14:34:44 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 713299be-8556-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 15:34:40 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2c72e275d96so26077631fa.2
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 06:34:40 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m10-20020a7bca4a000000b00407b93d8085sm7139249wml.27.2023.11.17.06.34.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 17 Nov 2023 06:34:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 713299be-8556-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700231680; x=1700836480; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=CY/pi3Djg8if4RZwtBEw4XhNitJSV6v1GBF0zQaOehk=;
        b=H46ctutqFVKqkvUQ73knDDqJX2inHHWKbRjvMUvZ7xRPrRkq+/Q+yrebH0ZviFi9b3
         wnA1zxviL6VsSTsRdfnz3LimYOyVwQ8Kd8Y6O/E/GZQ1eH1IKtg2zzY18eylbBBLwV8U
         vZfRSYZQgqD+x6KNQE0eFhEedKXZEHjS33Cak=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700231680; x=1700836480;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=CY/pi3Djg8if4RZwtBEw4XhNitJSV6v1GBF0zQaOehk=;
        b=ST1KMLjchXvanYBDq7wDdZLCbpDgMUgYV2Q+6yGLpTLDwwuCAbhmJPd5+whnldTZ7x
         QhxDox9p6n5G9jcpGkn5qQbwp6V98VwgKNEslsZpnGcjkEr97dSbUPffJsA500+1TXPX
         Te8L9gfv+z/1W66N/xuXgNxaLEyh8MW+Lw9VcsEfFlcGT/tHFRAx5KS3SkQzP9lNADjs
         iAB3IwtvU4+dPnmLNjdSZNYWsaH2rVJNwdPjRefHuv/0DDXMuXIEvn4tuyU/0Q+AqPpf
         JsR+wa4ez6depTC90QyD79Jh9jNWnaEU87A1AVsuMxvCtO3RsXxFq1xeCzVL8xiV/Ey0
         GBzA==
X-Gm-Message-State: AOJu0YwHAyH9qBONlCV5zIUPhjJK3jZSEQqvQXblo5Q4LpeJQDhYuxtl
	vVxI3kJGMYjIGWquUNsqp7+Hmw==
X-Google-Smtp-Source: AGHT+IFUgtL4k7MIyP/a3iPIRsWjBw3vpq09970aW+K4XuHW2xrpbDsEjBWCH+BQJyIwah5NWqyrDg==
X-Received: by 2002:a2e:9bcb:0:b0:2c8:323b:9207 with SMTP id w11-20020a2e9bcb000000b002c8323b9207mr8651950ljj.11.1700231680377;
        Fri, 17 Nov 2023 06:34:40 -0800 (PST)
Message-ID: <9279ccae-bb40-4835-87a2-6aadd7ae4495@citrix.com>
Date: Fri, 17 Nov 2023 14:34:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/iommu: use a rangeset for hwdom setup
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Paul Durrant <paul@xen.org>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-4-roger.pau@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231117094749.81091-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 17/11/2023 9:47 am, Roger Pau Monne wrote:
> The current loop that iterates from 0 to the maximum RAM address in order to
> setup the IOMMU mappings is highly inefficient, and it will get worse as the
> amount of RAM increases.  It's also not accounting for any reserved regions
> past the last RAM address.
>
> Instead of iterating over memory addresses, iterate over the memory map regions
> and use a rangeset in order to keep track of which ranges need to be identity
> mapped in the hardware domain physical address space.
>
> On an AMD EPYC 7452 with 512GiB of RAM, the time to execute
> arch_iommu_hwdom_init() in nanoseconds is:
>
> x old
> + new
>     N           Min           Max        Median           Avg        Stddev
> x   5 2.2364154e+10  2.338244e+10 2.2474685e+10 2.2622409e+10 4.2949869e+08
> +   5       1025012       1033036       1026188     1028276.2     3623.1194
> Difference at 95.0% confidence
> 	-2.26214e+10 +/- 4.42931e+08
> 	-99.9955% +/- 9.05152e-05%
> 	(Student's t, pooled s = 3.03701e+08)
>
> Execution time of arch_iommu_hwdom_init() goes down from ~22s to ~0.001s.
>
> Note there's a change for HVM domains (ie: PVH dom0) that get switched to
> create the p2m mappings using map_mmio_regions() instead of
> p2m_add_identity_entry(), so that ranges can be mapped with a single function
> call if possible.  Note that the interface of map_mmio_regions() doesn't
> allow creating read-only mappings, but so far there are no such mappings
> created for PVH dom0 in arch_iommu_hwdom_init().
>
> No change intended in the resulting mappings that a hardware domain gets.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Very nice numbers.  And yes - straight line performance like this (good
or bad) is all about the innermost loop.

Sadly, the patch diff is horrible to read.  Patch 2 remaining in common
code will improve this a little, but probably not very much.

If there are no better ideas, it's probably best to split into 3
patches, being:

1) Introduce new rangeset forms of existing operations
2) Rewrite arch_iommu_hwdom_init() to use rangesets
3) Delete old mfn forms

That at least means that the new and the old forms aren't expressed as a
delta against each-other.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 15:16:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 15:16:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635259.991129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r40aD-0002Yo-AL; Fri, 17 Nov 2023 15:16:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635259.991129; Fri, 17 Nov 2023 15:16: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 1r40aD-0002Yh-77; Fri, 17 Nov 2023 15:16:37 +0000
Received: by outflank-mailman (input) for mailman id 635259;
 Fri, 17 Nov 2023 15:16: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r40aB-0002Yb-PW
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 15:16:35 +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 4a570ed1-855c-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 16:16:32 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40790b0a224so16467915e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 07:16:32 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 i28-20020a05600c4b1c00b00405718cbeadsm4048357wmp.1.2023.11.17.07.16.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 07:16:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a570ed1-855c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700234192; x=1700838992; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=LtXOAWSqRemoqhZ4YS+zLKCgvitsvgPchkjLeNyJwcs=;
        b=MJ9z3nVWCkHZALqKSQW6CgGZKxLiXkKaD45x9N5o+VPe4Z4vpd5NltN11jafShATso
         SZDj1awJoVaZy5gnAQ63RC2WdNt5pc1KdEGASSx/rgGKQz0f2OpGvwqxAVZ4LwFUWhn/
         644puVMjs0smK92wVXGMxEis9I2VUk0X/vTdc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700234192; x=1700838992;
        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:subject:date:message-id:reply-to;
        bh=LtXOAWSqRemoqhZ4YS+zLKCgvitsvgPchkjLeNyJwcs=;
        b=EX9kn9mGfFR0YBij8HadlhxSDDDdPSQhP1fLqXDGZrSg8pwwahNPcUJfB0gSECL2+u
         4VNpdsI5c16+Tgmm5sPYrvoD+jGuxA8Wf+39L4bC846soCzUipdnIawNtqnyY2D1PapH
         D8j//iU5HCx3h0SdY0Lon0m2L+EEF1rmZGxK4mhGdGEVCodAhSpW2JfGLyx2dcIslQ6a
         YHrVZf7JhCs6xdfu+EDdbuG8eyqT5kLg6EqOMV59VNvKi1H2JrtbZSNj/VG0wvc52dwL
         srEfw8pBxOC4EXpkmqzdeV6MH4pLL9U2hEeYzU6PJB47eWBxiDhCdPhOHfKjK4INabAx
         Vsdg==
X-Gm-Message-State: AOJu0Yx69d9UN8PffuEEMf6A0YcyK9mD0SBZ/lvtCSylBNz0H5ylaeiV
	Vt7YrAZm/8Lfh7YA/xqgGAOtnw==
X-Google-Smtp-Source: AGHT+IFz8ZQhZVMi2gabxmhLDcC5161S4ZALuGRo8AAmw6+yGDxGz/T0yvzs8Ilf4ja0ZPjqI7U8Lg==
X-Received: by 2002:a05:600c:4f8a:b0:401:d803:624f with SMTP id n10-20020a05600c4f8a00b00401d803624fmr15540080wmq.4.1700234191988;
        Fri, 17 Nov 2023 07:16:31 -0800 (PST)
Date: Fri, 17 Nov 2023 16:16:30 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Jun Nakajima <jun.nakajima@intel.com>,
	Kevin Tian <kevin.tian@intel.com>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH v10 03/17] vpci: use per-domain PCI lock to protect vpci
 structure
Message-ID: <ZVeDzhzl4y6Ok9y7@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-4-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231012220854.2736994-4-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:15PM +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Use a previously introduced per-domain read/write lock to check
> whether vpci is present, so we are sure there are no accesses to the
> contents of the vpci struct if not. This lock can be used (and in a
> few cases is used right away) so that vpci removal can be performed
> while holding the lock in write mode. Previously such removal could
> race with vpci_read for example.
> 
> When taking both d->pci_lock and pdev->vpci->lock, they should be
> taken in this exact order: d->pci_lock then pdev->vpci->lock to avoid
> possible deadlock situations.
> 
> 1. Per-domain's pci_rwlock is used to protect pdev->vpci structure
> from being removed.
> 
> 2. Writing the command register and ROM BAR register may trigger
> modify_bars to run, which in turn may access multiple pdevs while
> checking for the existing BAR's overlap. The overlapping check, if
> done under the read lock, requires vpci->lock to be acquired on both
> devices being compared, which may produce a deadlock. It is not
> possible to upgrade read lock to write lock in such a case. So, in
> order to prevent the deadlock, use d->pci_lock instead. To prevent
> deadlock while locking both hwdom->pci_lock and dom_xen->pci_lock,
> always lock hwdom first.
> 
> All other code, which doesn't lead to pdev->vpci destruction and does
> not access multiple pdevs at the same time, can still use a
> combination of the read lock and pdev->vpci->lock.
> 
> 3. Drop const qualifier where the new rwlock is used and this is
> appropriate.
> 
> 4. Do not call process_pending_softirqs with any locks held. For that
> unlock prior the call and re-acquire the locks after. After
> re-acquiring the lock there is no need to check if pdev->vpci exists:
>  - in apply_map because of the context it is called (no race condition
>    possible)
>  - for MSI/MSI-X debug code because it is called at the end of
>    pdev->vpci access and no further access to pdev->vpci is made
> 
> 5. Use d->pci_lock around for_each_pdev and pci_get_pdev_by_domain
> while accessing pdevs in vpci code.
> 
> 6. We are removing multiple ASSERT(pcidevs_locked()) instances because
> they are too strict now: they should be corrected to
> ASSERT(pcidevs_locked() || rw_is_locked(&d->pci_lock)), but problem is
> that mentioned instances does not have access to the domain
> pointer and it is not feasible to pass a domain pointer to a function
> just for debugging purposes.
> 
> There is a possible lock inversion in MSI code, as some parts of it
> acquire pcidevs_lock() while already holding d->pci_lock.

Is this going to be addressed in a further patch?

> 
> Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> Changes in v10:
>  - Moved printk pas locked area
>  - Returned back ASSERTs
>  - Added new parameter to allocate_and_map_msi_pirq() so it knows if
>  it should take the global pci lock
>  - Added comment about possible improvement in vpci_write
>  - Changed ASSERT(rw_is_locked()) to rw_is_write_locked() in
>    appropriate places
>  - Renamed release_domain_locks() to release_domain_write_locks()
>  - moved domain_done label in vpci_dump_msi() to correct place
> Changes in v9:
>  - extended locked region to protect vpci_remove_device and
>    vpci_add_handlers() calls
>  - vpci_write() takes lock in the write mode to protect
>    potential call to modify_bars()
>  - renamed lock releasing function
>  - removed ASSERT()s from msi code
>  - added trylock in vpci_dump_msi
> 
> Changes in v8:
>  - changed d->vpci_lock to d->pci_lock
>  - introducing d->pci_lock in a separate patch
>  - extended locked region in vpci_process_pending
>  - removed pcidevs_lockis vpci_dump_msi()
>  - removed some changes as they are not needed with
>    the new locking scheme
>  - added handling for hwdom && dom_xen case
> ---
>  xen/arch/x86/hvm/vmsi.c        | 26 ++++++++---------
>  xen/arch/x86/hvm/vmx/vmx.c     |  2 --
>  xen/arch/x86/include/asm/irq.h |  3 +-
>  xen/arch/x86/irq.c             | 12 ++++----
>  xen/arch/x86/msi.c             | 10 ++-----
>  xen/arch/x86/physdev.c         |  2 +-
>  xen/drivers/passthrough/pci.c  |  9 +++---
>  xen/drivers/vpci/header.c      | 18 ++++++++++++
>  xen/drivers/vpci/msi.c         | 28 ++++++++++++++++--
>  xen/drivers/vpci/msix.c        | 52 +++++++++++++++++++++++++++++-----
>  xen/drivers/vpci/vpci.c        | 51 +++++++++++++++++++++++++++++++--
>  11 files changed, 166 insertions(+), 47 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
> index 128f236362..6b33a80120 100644
> --- a/xen/arch/x86/hvm/vmsi.c
> +++ b/xen/arch/x86/hvm/vmsi.c
> @@ -468,7 +468,7 @@ int msixtbl_pt_register(struct domain *d, struct pirq *pirq, uint64_t gtable)
>      struct msixtbl_entry *entry, *new_entry;
>      int r = -EINVAL;
>  
> -    ASSERT(pcidevs_locked());
> +    ASSERT(pcidevs_locked() || rw_is_locked(&d->pci_lock));
>      ASSERT(rw_is_write_locked(&d->event_lock));
>  
>      if ( !msixtbl_initialised(d) )
> @@ -538,7 +538,7 @@ void msixtbl_pt_unregister(struct domain *d, struct pirq *pirq)
>      struct pci_dev *pdev;
>      struct msixtbl_entry *entry;
>  
> -    ASSERT(pcidevs_locked());
> +    ASSERT(pcidevs_locked() || rw_is_locked(&d->pci_lock));
>      ASSERT(rw_is_write_locked(&d->event_lock));
>  
>      if ( !msixtbl_initialised(d) )
> @@ -684,7 +684,7 @@ static int vpci_msi_update(const struct pci_dev *pdev, uint32_t data,
>  {
>      unsigned int i;
>  
> -    ASSERT(pcidevs_locked());
> +    ASSERT(rw_is_locked(&pdev->domain->pci_lock));
>  
>      if ( (address & MSI_ADDR_BASE_MASK) != MSI_ADDR_HEADER )
>      {
> @@ -725,8 +725,8 @@ void vpci_msi_arch_update(struct vpci_msi *msi, const struct pci_dev *pdev)
>      int rc;
>  
>      ASSERT(msi->arch.pirq != INVALID_PIRQ);
> +    ASSERT(rw_is_locked(&pdev->domain->pci_lock));
>  
> -    pcidevs_lock();
>      for ( i = 0; i < msi->vectors && msi->arch.bound; i++ )
>      {
>          struct xen_domctl_bind_pt_irq unbind = {
> @@ -745,7 +745,6 @@ void vpci_msi_arch_update(struct vpci_msi *msi, const struct pci_dev *pdev)
>  
>      msi->arch.bound = !vpci_msi_update(pdev, msi->data, msi->address,
>                                         msi->vectors, msi->arch.pirq, msi->mask);
> -    pcidevs_unlock();
>  }
>  
>  static int vpci_msi_enable(const struct pci_dev *pdev, unsigned int nr,
> @@ -762,7 +761,7 @@ static int vpci_msi_enable(const struct pci_dev *pdev, unsigned int nr,
>      rc = allocate_and_map_msi_pirq(pdev->domain, -1, &pirq,
>                                     table_base ? MAP_PIRQ_TYPE_MSI
>                                                : MAP_PIRQ_TYPE_MULTI_MSI,
> -                                   &msi_info);
> +                                   &msi_info, false);
>      if ( rc )
>      {
>          gdprintk(XENLOG_ERR, "%pp: failed to map PIRQ: %d\n", &pdev->sbdf, rc);
> @@ -778,15 +777,13 @@ int vpci_msi_arch_enable(struct vpci_msi *msi, const struct pci_dev *pdev,
>      int rc;
>  
>      ASSERT(msi->arch.pirq == INVALID_PIRQ);
> +    ASSERT(rw_is_locked(&pdev->domain->pci_lock));
>      rc = vpci_msi_enable(pdev, vectors, 0);
>      if ( rc < 0 )
>          return rc;
>      msi->arch.pirq = rc;
> -
> -    pcidevs_lock();
>      msi->arch.bound = !vpci_msi_update(pdev, msi->data, msi->address, vectors,
>                                         msi->arch.pirq, msi->mask);
> -    pcidevs_unlock();
>  
>      return 0;
>  }
> @@ -797,8 +794,8 @@ static void vpci_msi_disable(const struct pci_dev *pdev, int pirq,
>      unsigned int i;
>  
>      ASSERT(pirq != INVALID_PIRQ);
> +    ASSERT(rw_is_locked(&pdev->domain->pci_lock));
>  
> -    pcidevs_lock();
>      for ( i = 0; i < nr && bound; i++ )
>      {
>          struct xen_domctl_bind_pt_irq bind = {
> @@ -814,7 +811,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();
>  }
>  
>  void vpci_msi_arch_disable(struct vpci_msi *msi, const struct pci_dev *pdev)
> @@ -854,6 +850,8 @@ int vpci_msix_arch_enable_entry(struct vpci_msix_entry *entry,
>      int rc;
>  
>      ASSERT(entry->arch.pirq == INVALID_PIRQ);
> +    ASSERT(rw_is_locked(&pdev->domain->pci_lock));
> +
>      rc = vpci_msi_enable(pdev, vmsix_entry_nr(pdev->vpci->msix, entry),
>                           table_base);
>      if ( rc < 0 )
> @@ -861,7 +859,6 @@ int vpci_msix_arch_enable_entry(struct vpci_msix_entry *entry,
>  
>      entry->arch.pirq = rc;
>  
> -    pcidevs_lock();
>      rc = vpci_msi_update(pdev, entry->data, entry->addr, 1, entry->arch.pirq,
>                           entry->masked);
>      if ( rc )
> @@ -869,7 +866,6 @@ int vpci_msix_arch_enable_entry(struct vpci_msix_entry *entry,
>          vpci_msi_disable(pdev, entry->arch.pirq, 1, false);
>          entry->arch.pirq = INVALID_PIRQ;
>      }
> -    pcidevs_unlock();
>  
>      return rc;
>  }
> @@ -895,6 +891,8 @@ int vpci_msix_arch_print(const struct vpci_msix *msix)
>  {
>      unsigned int i;
>  
> +    ASSERT(rw_is_locked(&msix->pdev->domain->pci_lock));
> +
>      for ( i = 0; i < msix->max_entries; i++ )
>      {
>          const struct vpci_msix_entry *entry = &msix->entries[i];
> @@ -913,7 +911,9 @@ int vpci_msix_arch_print(const struct vpci_msix *msix)
>              struct pci_dev *pdev = msix->pdev;
>  
>              spin_unlock(&msix->pdev->vpci->lock);
> +            read_unlock(&pdev->domain->pci_lock);
>              process_pending_softirqs();
> +            read_lock(&pdev->domain->pci_lock);
>              /* NB: we assume that pdev cannot go away for an alive domain. */
>              if ( !pdev->vpci || !spin_trylock(&pdev->vpci->lock) )
>                  return -EBUSY;
> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> index 1edc7f1e91..545a27796e 100644
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -413,8 +413,6 @@ static int cf_check vmx_pi_update_irte(const struct vcpu *v,
>  
>      spin_unlock_irq(&desc->lock);
>  
> -    ASSERT(pcidevs_locked());
> -
>      return iommu_update_ire_from_msi(msi_desc, &msi_desc->msg);
>  
>   unlock_out:
> diff --git a/xen/arch/x86/include/asm/irq.h b/xen/arch/x86/include/asm/irq.h
> index ad907fc97f..3d24f39ca6 100644
> --- a/xen/arch/x86/include/asm/irq.h
> +++ b/xen/arch/x86/include/asm/irq.h
> @@ -213,6 +213,7 @@ static inline void arch_move_irqs(struct vcpu *v) { }
>  struct msi_info;
>  int allocate_and_map_gsi_pirq(struct domain *d, int index, int *pirq_p);
>  int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
> -                              int type, struct msi_info *msi);
> +                              int type, struct msi_info *msi,
> +			      bool use_pci_lock);

Indentation using hard tabs.

>  
>  #endif /* _ASM_HW_IRQ_H */
> diff --git a/xen/arch/x86/irq.c b/xen/arch/x86/irq.c
> index 68b788c42e..970ba04aa0 100644
> --- a/xen/arch/x86/irq.c
> +++ b/xen/arch/x86/irq.c
> @@ -2157,7 +2157,7 @@ int map_domain_pirq(
>          struct pci_dev *pdev;
>          unsigned int nr = 0;
>  
> -        ASSERT(pcidevs_locked());
> +        ASSERT(pcidevs_locked() || rw_is_locked(&d->pci_lock));
>  
>          ret = -ENODEV;
>          if ( !cpu_has_apic )
> @@ -2314,7 +2314,7 @@ int unmap_domain_pirq(struct domain *d, int pirq)
>      if ( (pirq < 0) || (pirq >= d->nr_pirqs) )
>          return -EINVAL;
>  
> -    ASSERT(pcidevs_locked());
> +    ASSERT(pcidevs_locked() || rw_is_locked(&d->pci_lock));
>      ASSERT(rw_is_write_locked(&d->event_lock));
>  
>      info = pirq_info(d, pirq);
> @@ -2875,7 +2875,7 @@ int allocate_and_map_gsi_pirq(struct domain *d, int index, int *pirq_p)
>  }
>  
>  int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
> -                              int type, struct msi_info *msi)
> +                              int type, struct msi_info *msi, bool use_pci_lock)
>  {
>      int irq, pirq, ret;
>  
> @@ -2908,7 +2908,8 @@ int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
>  
>      msi->irq = irq;
>  
> -    pcidevs_lock();
> +    if ( use_pci_lock )
> +        pcidevs_lock();

Instead of passing the flag it might be better if the caller can take
the lock, as to avoid having to pass an extra parameter.

Then we should also assert that either the pcidev_lock or the
per-domain pci lock is taken?

>      /* Verify or get pirq. */
>      write_lock(&d->event_lock);
>      pirq = allocate_pirq(d, index, *pirq_p, irq, type, &msi->entry_nr);
> @@ -2924,7 +2925,8 @@ int allocate_and_map_msi_pirq(struct domain *d, int index, int *pirq_p,
>  
>   done:
>      write_unlock(&d->event_lock);
> -    pcidevs_unlock();
> +    if ( use_pci_lock )
> +        pcidevs_unlock();
>      if ( ret )
>      {
>          switch ( type )
> diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
> index 20275260b3..466725d8ca 100644
> --- a/xen/arch/x86/msi.c
> +++ b/xen/arch/x86/msi.c
> @@ -602,7 +602,7 @@ static int msi_capability_init(struct pci_dev *dev,
>      unsigned int i, mpos;
>      uint16_t control;
>  
> -    ASSERT(pcidevs_locked());
> +    ASSERT(pcidevs_locked() || rw_is_locked(&dev->domain->pci_lock));
>      pos = pci_find_cap_offset(dev->sbdf, PCI_CAP_ID_MSI);
>      if ( !pos )
>          return -ENODEV;
> @@ -771,7 +771,7 @@ static int msix_capability_init(struct pci_dev *dev,
>      if ( !pos )
>          return -ENODEV;
>  
> -    ASSERT(pcidevs_locked());
> +    ASSERT(pcidevs_locked() || rw_is_locked(&dev->domain->pci_lock));
>  
>      control = pci_conf_read16(dev->sbdf, msix_control_reg(pos));
>      /*
> @@ -988,8 +988,6 @@ static int __pci_enable_msi(struct msi_info *msi, struct msi_desc **desc,
>  {
>      struct msi_desc *old_desc;
>  
> -    ASSERT(pcidevs_locked());
> -
>      if ( !pdev )
>          return -ENODEV;
>  
> @@ -1043,8 +1041,6 @@ static int __pci_enable_msix(struct msi_info *msi, struct msi_desc **desc,
>  {
>      struct msi_desc *old_desc;
>  
> -    ASSERT(pcidevs_locked());
> -
>      if ( !pdev || !pdev->msix )
>          return -ENODEV;
>  
> @@ -1154,8 +1150,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,
>  		   struct pci_dev *pdev)
>  {
> -    ASSERT(pcidevs_locked());
> -

If you have the pdev in all the above function, you could expand the
assert to test for pdev->domain->pci_lock?

>      if ( !use_msi )
>          return -EPERM;
>  
> diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c
> index 2f1d955a96..7cbb5bc2c8 100644
> --- a/xen/arch/x86/physdev.c
> +++ b/xen/arch/x86/physdev.c
> @@ -123,7 +123,7 @@ int physdev_map_pirq(domid_t domid, int type, int *index, int *pirq_p,
>  
>      case MAP_PIRQ_TYPE_MSI:
>      case MAP_PIRQ_TYPE_MULTI_MSI:
> -        ret = allocate_and_map_msi_pirq(d, *index, pirq_p, type, msi);
> +        ret = allocate_and_map_msi_pirq(d, *index, pirq_p, type, msi, true);
>          break;
>  
>      default:
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index b8ad4fa07c..182da45acb 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -750,7 +750,6 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>          pdev->domain = hardware_domain;
>          write_lock(&hardware_domain->pci_lock);
>          list_add(&pdev->domain_list, &hardware_domain->pdev_list);
> -        write_unlock(&hardware_domain->pci_lock);
>  
>          /*
>           * For devices not discovered by Xen during boot, add vPCI handlers
> @@ -759,18 +758,18 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>          ret = vpci_add_handlers(pdev);
>          if ( ret )
>          {
> -            printk(XENLOG_ERR "Setup of vPCI failed: %d\n", ret);
> -            write_lock(&hardware_domain->pci_lock);
>              list_del(&pdev->domain_list);
>              write_unlock(&hardware_domain->pci_lock);
>              pdev->domain = NULL;
> +            printk(XENLOG_ERR "Setup of vPCI failed: %d\n", ret);
>              goto out;
>          }
> +        write_unlock(&hardware_domain->pci_lock);
>          ret = iommu_add_device(pdev);
>          if ( ret )
>          {
> -            vpci_remove_device(pdev);
>              write_lock(&hardware_domain->pci_lock);
> +            vpci_remove_device(pdev);
>              list_del(&pdev->domain_list);
>              write_unlock(&hardware_domain->pci_lock);
>              pdev->domain = NULL;
> @@ -1146,7 +1145,9 @@ static void __hwdom_init setup_one_hwdom_device(const struct setup_hwdom *ctxt,
>      } while ( devfn != pdev->devfn &&
>                PCI_SLOT(devfn) == PCI_SLOT(pdev->devfn) );
>  
> +    write_lock(&ctxt->d->pci_lock);
>      err = vpci_add_handlers(pdev);
> +    write_unlock(&ctxt->d->pci_lock);
>      if ( err )
>          printk(XENLOG_ERR "setup of vPCI for d%d failed: %d\n",
>                 ctxt->d->domain_id, err);
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 767c1ba718..a52e52db96 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -172,6 +172,7 @@ bool vpci_process_pending(struct vcpu *v)
>          if ( rc == -ERESTART )
>              return true;
>  
> +        write_lock(&v->domain->pci_lock);
>          spin_lock(&v->vpci.pdev->vpci->lock);
>          /* Disable memory decoding unconditionally on failure. */
>          modify_decoding(v->vpci.pdev,
> @@ -190,6 +191,7 @@ bool vpci_process_pending(struct vcpu *v)
>               * failure.
>               */
>              vpci_remove_device(v->vpci.pdev);
> +        write_unlock(&v->domain->pci_lock);
>      }
>  
>      return false;
> @@ -201,8 +203,20 @@ static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
>      struct map_data data = { .d = d, .map = true };
>      int rc;
>  
> +    ASSERT(rw_is_write_locked(&d->pci_lock));
> +
>      while ( (rc = rangeset_consume_ranges(mem, map_range, &data)) == -ERESTART )
> +    {
> +        /*
> +         * It's safe to drop and reacquire the lock in this context
> +         * without risking pdev disappearing because devices cannot be
> +         * removed until the initial domain has been started.
> +         */
> +        read_unlock(&d->pci_lock);
>          process_pending_softirqs();
> +        read_lock(&d->pci_lock);

You are asserting the lock is taken in write mode just above the usage
of read_{un,}lock().  Either the assert is wrong, or the usage of
read_{un,}lock() is wrong.

> +    }
> +
>      rangeset_destroy(mem);
>      if ( !rc )
>          modify_decoding(pdev, cmd, false);
> @@ -243,6 +257,8 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>      unsigned int i;
>      int rc;
>  
> +    ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> +
>      if ( !mem )
>          return -ENOMEM;
>  
> @@ -522,6 +538,8 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      struct vpci_bar *bars = header->bars;
>      int rc;
>  
> +    ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> +
>      switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
>      {
>      case PCI_HEADER_TYPE_NORMAL:
> diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
> index a253ccbd7d..2faa54b7ce 100644
> --- a/xen/drivers/vpci/msi.c
> +++ b/xen/drivers/vpci/msi.c
> @@ -263,7 +263,7 @@ REGISTER_VPCI_INIT(init_msi, VPCI_PRIORITY_LOW);
>  
>  void vpci_dump_msi(void)
>  {
> -    const struct domain *d;
> +    struct domain *d;
>  
>      rcu_read_lock(&domlist_read_lock);
>      for_each_domain ( d )
> @@ -275,6 +275,9 @@ void vpci_dump_msi(void)
>  
>          printk("vPCI MSI/MSI-X d%d\n", d->domain_id);
>  
> +        if ( !read_trylock(&d->pci_lock) )
> +            continue;
> +
>          for_each_pdev ( d, pdev )
>          {
>              const struct vpci_msi *msi;
> @@ -316,14 +319,33 @@ 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:
> +            /*
> +             * Unlock lock to process pending softirqs. This is
> +             * potentially unsafe, as d->pdev_list can be changed in
> +             * meantime.
> +             */
> +            read_unlock(&d->pci_lock);
>              process_pending_softirqs();
> +            if ( !read_trylock(&d->pci_lock) )
> +            {
> +                printk("unable to access other devices for the domain\n");
> +                goto domain_done;
> +            }
>          }
> +        read_unlock(&d->pci_lock);
> +    domain_done:

Weird label indentation.

> +        /*
> +         * We need this label at the end of the loop, but some
> +         * compilers might not be happy about label at the end of the
> +         * compound statement so we adding an empty statement here.
> +         */
> +        ;
>      }
>      rcu_read_unlock(&domlist_read_lock);
>  }
> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> index d1126a417d..b6abab47ef 100644
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -147,6 +147,8 @@ static struct vpci_msix *msix_find(const struct domain *d, unsigned long addr)
>  {
>      struct vpci_msix *msix;
>  
> +    ASSERT(rw_is_locked(&d->pci_lock));
> +
>      list_for_each_entry ( msix, &d->arch.hvm.msix_tables, next )
>      {
>          const struct vpci_bar *bars = msix->pdev->vpci->header.bars;
> @@ -163,7 +165,13 @@ static struct vpci_msix *msix_find(const struct domain *d, unsigned long addr)
>  
>  static int cf_check msix_accept(struct vcpu *v, unsigned long addr)
>  {
> -    return !!msix_find(v->domain, addr);
> +    int rc;
> +
> +    read_lock(&v->domain->pci_lock);
> +    rc = !!msix_find(v->domain, addr);
> +    read_unlock(&v->domain->pci_lock);
> +
> +    return rc;
>  }
>  
>  static bool access_allowed(const struct pci_dev *pdev, unsigned long addr,
> @@ -358,21 +366,35 @@ static int adjacent_read(const struct domain *d, const struct vpci_msix *msix,
>  static int cf_check msix_read(
>      struct vcpu *v, unsigned long addr, unsigned int len, unsigned long *data)
>  {
> -    const struct domain *d = v->domain;
> -    struct vpci_msix *msix = msix_find(d, addr);
> +    struct domain *d = v->domain;
> +    struct vpci_msix *msix;
>      const struct vpci_msix_entry *entry;
>      unsigned int offset;
>  
>      *data = ~0UL;
>  
> +    read_lock(&d->pci_lock);
> +
> +    msix = msix_find(d, addr);
>      if ( !msix )
> +    {
> +        read_unlock(&d->pci_lock);
>          return X86EMUL_RETRY;
> +    }
>  
>      if ( adjacent_handle(msix, addr) )
> -        return adjacent_read(d, msix, addr, len, data);
> +    {
> +        int rc = adjacent_read(d, msix, addr, len, data);
> +
> +        read_unlock(&d->pci_lock);
> +        return rc;
> +    }
>  
>      if ( !access_allowed(msix->pdev, addr, len) )
> +    {
> +        read_unlock(&d->pci_lock);
>          return X86EMUL_OKAY;
> +    }
>  
>      spin_lock(&msix->pdev->vpci->lock);
>      entry = get_entry(msix, addr);
> @@ -404,6 +426,7 @@ static int cf_check msix_read(
>          break;
>      }
>      spin_unlock(&msix->pdev->vpci->lock);
> +    read_unlock(&d->pci_lock);
>  
>      return X86EMUL_OKAY;
>  }
> @@ -491,19 +514,33 @@ static int adjacent_write(const struct domain *d, const struct vpci_msix *msix,
>  static int cf_check msix_write(
>      struct vcpu *v, unsigned long addr, unsigned int len, unsigned long data)
>  {
> -    const struct domain *d = v->domain;
> -    struct vpci_msix *msix = msix_find(d, addr);
> +    struct domain *d = v->domain;
> +    struct vpci_msix *msix;
>      struct vpci_msix_entry *entry;
>      unsigned int offset;
>  
> +    read_lock(&d->pci_lock);
> +
> +    msix = msix_find(d, addr);
>      if ( !msix )
> +    {
> +        read_unlock(&d->pci_lock);
>          return X86EMUL_RETRY;
> +    }
>  
>      if ( adjacent_handle(msix, addr) )
> -        return adjacent_write(d, msix, addr, len, data);
> +    {
> +        int rc = adjacent_write(d, msix, addr, len, data);
> +
> +        read_unlock(&d->pci_lock);
> +        return rc;
> +    }
>  
>      if ( !access_allowed(msix->pdev, addr, len) )
> +    {
> +        read_unlock(&d->pci_lock);
>          return X86EMUL_OKAY;
> +    }
>  
>      spin_lock(&msix->pdev->vpci->lock);
>      entry = get_entry(msix, addr);
> @@ -579,6 +616,7 @@ static int cf_check msix_write(
>          break;
>      }
>      spin_unlock(&msix->pdev->vpci->lock);
> +    read_unlock(&d->pci_lock);
>  
>      return X86EMUL_OKAY;
>  }
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 3bec9a4153..112de56fb3 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -38,6 +38,8 @@ extern vpci_register_init_t *const __end_vpci_array[];
>  
>  void vpci_remove_device(struct pci_dev *pdev)
>  {
> +    ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> +
>      if ( !has_vpci(pdev->domain) || !pdev->vpci )
>          return;
>  
> @@ -73,6 +75,8 @@ int vpci_add_handlers(struct pci_dev *pdev)
>      const unsigned long *ro_map;
>      int rc = 0;
>  
> +    ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> +
>      if ( !has_vpci(pdev->domain) )
>          return 0;
>  
> @@ -326,11 +330,12 @@ static uint32_t merge_result(uint32_t data, uint32_t new, unsigned int size,
>  
>  uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>  {
> -    const struct domain *d = current->domain;
> +    struct domain *d = current->domain;
>      const struct pci_dev *pdev;
>      const struct vpci_register *r;
>      unsigned int data_offset = 0;
>      uint32_t data = ~(uint32_t)0;
> +    rwlock_t *lock;
>  
>      if ( !size )
>      {
> @@ -342,11 +347,21 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>       * Find the PCI dev matching the address, which for hwdom also requires
>       * consulting DomXEN.  Passthrough everything that's not trapped.
>       */
> +    lock = &d->pci_lock;
> +    read_lock(lock);
>      pdev = pci_get_pdev(d, sbdf);
>      if ( !pdev && is_hardware_domain(d) )
> +    {
> +        read_unlock(lock);
> +        lock = &dom_xen->pci_lock;
> +        read_lock(lock);
>          pdev = pci_get_pdev(dom_xen, sbdf);

I'm unsure whether devices assigned to dom_xen can change ownership
after boot, so maybe there's no need for all this lock dance, as the
device cannot disappear?

Maybe just taking the hardware domain lock is enough to prevent
concurrent accesses in that case, as the hardware domain is the only
allowed to access devices owned by dom_xen.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 15:31:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 15:31:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635278.991138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r40oY-0007IJ-KC; Fri, 17 Nov 2023 15:31:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635278.991138; Fri, 17 Nov 2023 15: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 1r40oY-0007IC-Hg; Fri, 17 Nov 2023 15:31:26 +0000
Received: by outflank-mailman (input) for mailman id 635278;
 Fri, 17 Nov 2023 15:31: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=0J2k=G6=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r40oX-0007I6-67
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 15:31:25 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2062f.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c8ee6e4-855e-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 16:31:23 +0100 (CET)
Received: from SA9PR13CA0066.namprd13.prod.outlook.com (2603:10b6:806:23::11)
 by IA0PR12MB8254.namprd12.prod.outlook.com (2603:10b6:208:408::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 15:31:17 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:806:23:cafe::b) by SA9PR13CA0066.outlook.office365.com
 (2603:10b6:806:23::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.11 via Frontend
 Transport; Fri, 17 Nov 2023 15:31:17 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015CB.mail.protection.outlook.com (10.167.241.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 17 Nov 2023 15:31:16 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 17 Nov
 2023 09:31:16 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Fri, 17 Nov 2023 09:31:15 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c8ee6e4-855e-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ToCGg1fserZKPeY992j1b5l0YTuxUoc/SejopmrsTvBNR1V9NjokF4sH8Cqw7ldivL/N9cQ9BgjAJRJ979Jao0pj66Z7krxn26hDqpznsuUFM/mFhaQpe0sHrEAIiMTJCT2PVGR71yxxnZHM7tVxKGJWo9G2xDT7xECXTwEaMVGbB52JKeo829vPWFzxBJCree6PaWOBpy2JLlmW+0ZqfjHXanhkQeYsReg1y2gO/ohwwb0gIpFlyLpqTPQZ0i2H2/LlnoOOdb/KUT59ssye6XvWA2fT8mq5CCmkYicD/+++/znGVsmUmy0qCBR8wlpyvnU10XcCY9Vqbl+60lHfLw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2KF7/dY1yb1j7vG1ev5vkjoiz+rxOog9xapN4sNqfg8=;
 b=AW8d227a4Q/8Jy0Zxtkk259ALfiPV+OOEe3euHqm+jt+l/6zLOyRSwxQabyGVJtY1fYVHLbRS/rUGpYWHsfVu75JfIaNphSnOOg6UgVWq8aJg8hE6EFFFXtfM7LBmRCiNASQfEdkAIeXQE4zAg4hsmrhGfhMxsQo7NvlyRni947Wa5L5NH58JAbKbHEMZkmdxFkDTkD1Vw7MSv1ww64Z/8DAORWrgjcMESR4dv+bi1HYfOeCEkmFlkK8g5yc4lOWLkktE3N5+2x4qokzQhAl5KUTkAIswp6k8RxZ5mSDiyPgD6TRr2qLpZ3Yx7mpaoDtQzSihgcve0fxx/STcvPLww==
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 (0)
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=2KF7/dY1yb1j7vG1ev5vkjoiz+rxOog9xapN4sNqfg8=;
 b=huGi4XNEitVs58Qk/jmdQYBOM2zdnnlLlJfZm+f0GJLgajFtDO2nJzHRK/gm41rSsp/S6bbAeHlKxsT3H65JotDmnitbBZSPYSdNzpR8dNm+v75P54J+FtC5TwJKdVNXbGDm3Enqn/O3tWFNwoOqeFdvKA28KGBKceO99TJVHBw=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <henry.wang@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v4 0/2] xen/arm: Split MMU code as the prepration of MPU work form Arm32
Date: Fri, 17 Nov 2023 15:30:59 +0000
Message-ID: <20231117153101.2902792-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|IA0PR12MB8254:EE_
X-MS-Office365-Filtering-Correlation-Id: 0d6506b2-e1f8-47df-c4b2-08dbe7823d6d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dpJE/cBrMJ447rIZX6aBJCXQgneb1HEC0ORgrrQjAuHCZn3DQj3LCgS0TWexLfNG5QGD57avbgMJGuN/xg3Jq6Or+I1XZgiI6Q1jsN/PRro6CNd7qiTFkIpQ6YHmrfZ+Kq9Io3CtaEvnkn1jzlb/IRFqXVAABzzn9TUf1rUzlkRSQTsBNYEX29qO939TgRzByZ9TBlgHjq/ONfgbtOM57XdDE75rZHuKIi8MXRQBvL19pmCvSdQMXoo0Yqm6V+myKE40Rm9XMxOdvaFHgg534Dw6Fl7oVL5Pn/cW2at7TNbcM04xeiZJCbvFYJLu51i3OZ/N/X13VyOQ9ejWcu4bY1+oyKx5G/thEIFRd5IFhWwng2+M76o1r7wSmhk9Yd0XmwIVzN+o/L1q7cU+C/Mx33DtqGKBFMO4o1rCFutlR2pqb2vk8w7ZafFkWpB1Y/bmG5jpai8jOblafIPoDFUpDakn49Cx5xTLv+kQ4i4+QcUX7cn+onRJu0fxztvCfnfBE0uPQhlFTOYkFUJR1nqHlClu3Z8iv+3zqkjqgDXCYPLOoLtAOyO7kOyPS9f73KSqOIzgQqdyEqyOhGjFUsVC4liiEZaqMmxBsR13o4/1lxXRa+OMrDMTxeS1znOW1DU/aHH4Dkj1zxtaApnWGAL3v+5exXJL5N9MBqOwsauQ2XhxcxyjYHNpe3NTr5cSAdCXYYNjPiHE6FTRrnM0amOCDhyCQJnFgmp/Dlnp/pYE2dMOWLUxMMa8tBatF+dbXz6mmaCIHOB0uJm74OGjl1svMQ==
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:(13230031)(4636009)(396003)(39860400002)(346002)(376002)(136003)(230922051799003)(1800799009)(451199024)(186009)(82310400011)(64100799003)(46966006)(40470700004)(36840700001)(47076005)(478600001)(40460700003)(36756003)(2906002)(82740400003)(426003)(336012)(81166007)(41300700001)(356005)(103116003)(2616005)(70206006)(1076003)(83380400001)(6916009)(70586007)(54906003)(316002)(86362001)(26005)(36860700001)(5660300002)(4744005)(4326008)(8936002)(8676002)(40480700001)(6666004)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 15:31:16.4957
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0d6506b2-e1f8-47df-c4b2-08dbe7823d6d
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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8254

Hi,


These are the set of patches based on top of
"[PATCH v9 0/8] xen/arm: Split MMU code as the prepration of MPU work".
This is the preparation work to add MPU support on Arm32.

Changes from :-

v1 - Dropped "[XEN v1 1/4] xen/arm: arm32: Move pt_enforce_wxn() so that it can be bundled with other MMU functionality"
and "[XEN v1 4/4] xen/arm: traps.c: Enclose VMSA specific registers within CONFIG_MMU".

v2 - Changes mentioned in individual patches.

v3 - Changes mentioned in individual patches.

Ayan Kumar Halder (2):
  xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()
  xen/arm32: head Split and move MMU-specific head.S to mmu/head.S

 xen/arch/arm/arm32/head.S               | 580 +-----------------------
 xen/arch/arm/arm32/mmu/Makefile         |   1 +
 xen/arch/arm/arm32/mmu/head.S           | 573 +++++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/macros.h |  58 ++-
 4 files changed, 642 insertions(+), 570 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/head.S

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 15:31:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 15:31:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635279.991149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r40od-0007Y1-Tu; Fri, 17 Nov 2023 15:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635279.991149; Fri, 17 Nov 2023 15:31: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 1r40od-0007Xs-RF; Fri, 17 Nov 2023 15:31:31 +0000
Received: by outflank-mailman (input) for mailman id 635279;
 Fri, 17 Nov 2023 15:31: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=0J2k=G6=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r40oc-0007I6-At
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 15:31:30 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 608aee9c-855e-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 16:31:29 +0100 (CET)
Received: from BN0PR04CA0207.namprd04.prod.outlook.com (2603:10b6:408:e9::32)
 by MN2PR12MB4470.namprd12.prod.outlook.com (2603:10b6:208:260::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 15:31:22 +0000
Received: from SA2PEPF000015C9.namprd03.prod.outlook.com
 (2603:10b6:408:e9:cafe::dd) by BN0PR04CA0207.outlook.office365.com
 (2603:10b6:408:e9::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23 via Frontend
 Transport; Fri, 17 Nov 2023 15:31:22 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015C9.mail.protection.outlook.com (10.167.241.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 17 Nov 2023 15:31:21 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 17 Nov
 2023 09:31:21 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Fri, 17 Nov 2023 09:31:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 608aee9c-855e-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GQaHcboAFL8R+KCKw6CvPjx19R9qM736gWcEk7MwLr2UAg5pG9qT9KPvmRo+x0gK6OFDNBb9BkozM78p960NBUBE5YURCqaxSXptOPoPeqWjK4yPc5bA8WlW1OTEy6O9UkQS5+Bv2wm5G4EsbPLCA2l5hIM9r6VKIDexxXz0wRtglo6losEbaflXPivCtFc+0AZ6S9+PBC9qDiJGHFHs2LpGXVgXivzmYkM2amkMer+VhpXcFfZldEatZiJbGuLF9SJ4mQ87mS4o79ouD7+Cz7cyyY6m6GrP8woEpc1PiqXLS98vb4eCZdXt0FNYkxHEQW/GdvUGadBKz+O/yEZ1pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OihA4Qmlj5uSZ4Y3TMJU9MouaJQymzPglqZ/HF/KsjM=;
 b=MNdud67l7QJIVeIk9Zd/vnskzBi86kB6Z728sm+apOAVJbaFlNhYlEniwiZ+NmBhy5RuhnH6jYxd2bx4wYrMe3QS9ti+N0k/OmP9rUalcCKHrxwW//HRuDhBCs5lBvZFanRi42eTHkWFMt8Z6rGvqqccg6nC4HFe2DEVFbrM0lB55vOnUV4QcTEj6ffbV7Ytv96PcwnJhkgn9VbZ9QHJNEjOYS3zz9lnBZwh9JhRdeWJlIU8hH1xE9K9O5oVtFI/MW6664WkmZ8v2AOL3bJr1r/9ZbzEY/AolQe6PMAbwYXgkYiDvUra2/sm/Pt24u0PiV6bnYMoS6S60WULESTsLg==
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 (0)
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=OihA4Qmlj5uSZ4Y3TMJU9MouaJQymzPglqZ/HF/KsjM=;
 b=MnPMkjQMfqffLC2FF+c/RpdfbgVygGb7mENnaKjS0DEtoWa5Pq2B3cmyhuZDWvnR67XjMF9oQTSCYt3TVjvpYgRGbtpDPgHJV235Zd7TvG0lGpl5whV6oQGO/8/6/Vg+I3bmEluUjBJOnMvKHp6qIHiplA9K/ZPBpW+LGxDjO+k=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <henry.wang@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v4 1/2] xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()
Date: Fri, 17 Nov 2023 15:31:00 +0000
Message-ID: <20231117153101.2902792-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231117153101.2902792-1-ayan.kumar.halder@amd.com>
References: <20231117153101.2902792-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C9:EE_|MN2PR12MB4470:EE_
X-MS-Office365-Filtering-Correlation-Id: bc628910-673f-4db8-1e36-08dbe78240b3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	l/YQiaX00DZRWoSE8TDZOd0GkpPd3a5sWhPmS5oT3rfgpx2MMAD4SnJs3AHrqh1BpGDJNzimgB2Tk3r3fGMenVT+1HP7ZhDTJilqE4kkfjZjXWObO/489aAJ4C3v+TTECXxQA9GB0U8p47WzNbvya1dEAWsBxA9WYLML32H4sF6Rv6Yhvl011QDjMb1fdRTbfySK7UjAKnx83+wzGpjY5SlFgT6TGKOUq0jLEr+1IWmQjM9trx065gExFnG6XXV5a0TK+sPLubKGBu70R8vcu1kE+hblePZkRVIRLdbPTYoBPKq8ol1xRoIa541sn6tkCbQ1tLZWJYv3G1Qc5rgy9/nIjJEzTnpUhl55KmWcOLNuyQiI4a7DgoP/TgUizoXedUJsX/n8nVewIy7uYHuIJ2BsUXIa8sDuwpgjymitFyBC4mv/ga6aufcnuUZcavRYi4ccG5VA01NWq4m6SdcPh5jII26GMMDNcVhplNG5FhTXyX6/5fBIWLyU8MIQATw9JVOz1djaXxCSSMuSLf+4ZvY1gp+eSvQDEtO2hgA1qFwJ9jmuKnqeEb3xjIY03VLTWVV0Sl9EtMLByb2eE4UMKIkS1mx7my8uJCMkPkSjP2mphvlgh+GCWQItgujLNikNdvSHCEUrf7rfV2K3iQtVkM3RtRsKzmNdENStZ1hDNgfpAcNRhr8LC4lzh8L5r3RHnRBkqPRRsNBOv3CvHpJYhylvzCZ3gD7IGGoRTpZtqL+V+9Om0Em1ybIKX99TUWqSKWb/u4+aE7/6sJ4jAWvmss4SRQc/icFP8uIxDzSMFMU=
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:(13230031)(4636009)(346002)(136003)(396003)(39860400002)(376002)(230922051799003)(451199024)(186009)(1800799009)(82310400011)(64100799003)(46966006)(40470700004)(36840700001)(478600001)(40460700003)(70586007)(426003)(336012)(54906003)(70206006)(316002)(6916009)(81166007)(356005)(41300700001)(36756003)(86362001)(82740400003)(2616005)(103116003)(26005)(1076003)(36860700001)(5660300002)(4326008)(8676002)(8936002)(47076005)(2906002)(83380400001)(6666004)(40480700001)(21314003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 15:31:21.9677
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: bc628910-673f-4db8-1e36-08dbe78240b3
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:
	SA2PEPF000015C9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4470

All the MMU related functionality have been clubbed together in
enable_boot_cpu_mm() for booting primary cpu and enable_secondary_cpu_mm() for
booting secondary cpus.
This is done in preparation for moving the code related to MMU in MMU specific
file and in order to support non MMU cpus in future.

This is based on d2f8df5b3ede ("xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm()").

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---

Changes from :-

v1 - 1. Added a proper commit message.
2. Some style and other fixes suggested in v1. 

v2 - 1. Updated the comment on top of enable_boot_cpu_mm() and
enable_secondary_cpu_mm() ie mentioned the input and output registers.
2. Updated the comment inside enable_boot_cpu_mm().

v3 - 1. No changes.

 xen/arch/arm/arm32/head.S | 102 ++++++++++++++++++++++++++++++--------
 1 file changed, 80 insertions(+), 22 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 3011fb34aa..b3f6d111b0 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -201,13 +201,11 @@ past_zImage:
 
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
 
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
         mov_w lr, primary_switched
-        b     enable_mmu
+        b     enable_boot_cpu_mm
+
 primary_switched:
-        bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
@@ -249,27 +247,11 @@ GLOBAL(init_secondary)
 #endif
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
 
-        /* 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
-         * setup in prepare_secondary_mm.
-         *
-         * XXX: This is not compliant with the Arm Arm.
-         */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
-        ldrd  r4, r5, [r4]           /* Actual value */
-        dsb
-        mcrr  CP64(r4, r5, HTTBR)
-        dsb
-        isb
-        flush_xen_tlb_local r0
-        pt_enforce_wxn r0
+        b     enable_secondary_cpu_mm
 
+secondary_switched:
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
@@ -692,6 +674,82 @@ ready_to_switch:
         mov   pc, lr
 ENDPROC(switch_to_runtime_mapping)
 
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+enable_secondary_cpu_mm:
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Non-boot CPUs need to move on to the proper pagetables, which were
+         * setup in prepare_secondary_mm.
+         *
+         * XXX: This is not compliant with the Arm Arm.
+         */
+        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        ldrd  r4, r5, [r4]           /* Actual value */
+        dsb
+        mcrr  CP64(r4, r5, HTTBR)
+        dsb
+        isb
+        flush_xen_tlb_local r0
+        pt_enforce_wxn r0
+
+        /* Return to the virtual address requested by the caller. */
+        mov   pc, r6
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+enable_boot_cpu_mm:
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Prepare the fixmap. The function will return to the virtual address
+         * requested by the caller.
+         */
+        mov   lr, r6
+
+        b     setup_fixmap
+ENDPROC(enable_boot_cpu_mm)
+
 /*
  * Remove the 1:1 map from the page-tables. It is not easy to keep track
  * where the 1:1 map was mapped, so we will look for the top-level entry
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 15:31:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 15:31:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635280.991159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r40op-0007vN-6g; Fri, 17 Nov 2023 15:31:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635280.991159; Fri, 17 Nov 2023 15:31: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 1r40op-0007vG-3W; Fri, 17 Nov 2023 15:31:43 +0000
Received: by outflank-mailman (input) for mailman id 635280;
 Fri, 17 Nov 2023 15:31: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=0J2k=G6=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r40on-0007I6-6h
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 15:31:41 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on20607.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 660bacb7-855e-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 16:31:39 +0100 (CET)
Received: from SA9PR13CA0081.namprd13.prod.outlook.com (2603:10b6:806:23::26)
 by DM6PR12MB4204.namprd12.prod.outlook.com (2603:10b6:5:212::23) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 15:31:33 +0000
Received: from SA2PEPF000015CB.namprd03.prod.outlook.com
 (2603:10b6:806:23:cafe::5a) by SA9PR13CA0081.outlook.office365.com
 (2603:10b6:806:23::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.11 via Frontend
 Transport; Fri, 17 Nov 2023 15:31:33 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015CB.mail.protection.outlook.com (10.167.241.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 17 Nov 2023 15:31:33 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Fri, 17 Nov
 2023 09:31:25 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.32 via
 Frontend Transport; Fri, 17 Nov 2023 09:31:23 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 660bacb7-855e-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CK9qAMTQFiGp8TLkPKk5LSoBW6IojnsMmohhF/aHSXpx/cm+oJCN0qMIUZjQ7KIRCv5EKg5VUize/zhmnzFaLlXassUiUPDLDzxIIE9f8BSo7uRuamzMGJ691X36kY7gswHiOCaPnPesGUHrzJurfhuPJimHWm01llv4TUkhqaVNZH7fqCJ2GruWsTDazmELFe7tpGepaNt520+KQtPM2Jzb+bgL3mlTDvDb3IsStfQIkQlY7uPrObbAKpqSoXJAItn/Y+e3Ejo6G7JM0qiBp/zegvfLEr6YD1VwPmwvJdt6fg0VKwYQ2h6hT1rtfzIspWb1AmJEw1tetIH9twoTGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TBF/4SHiB4HFduXGU6R+FrCC5a6bmWGuAiLXEP4v2To=;
 b=ARxjLwLnz9i1VTw8v7L3Tyn1nPnwsK1FzrSeVRrpWV1o1s7TlNAAx9NifFhthm4Uykh2IOo9Rd6bnevNtNXaeSEvvVFMCNLZJYbLtLAYw164bPSvlYqkNEjTB2BrEpHPPnLIQ5dFUsR1k4qZVo06pt4xn8MafrAiOPWpDlHOHAVAETOOVJ2Z3LeXgRy9CHXARrXUCVI6xAJSltGeR1/rIpAKjzM0wWoiMillHetw8o5tCwuihVaTLSDWDYMUJfXoqr0F7CxmyrWBsjdrUPqrIucTEZYpbadjL2hG6g+29WHO3DKTjAJeFwgpd5zf4r5nlHjJWJPBJVILs6Md40wnyg==
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 (0)
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=TBF/4SHiB4HFduXGU6R+FrCC5a6bmWGuAiLXEP4v2To=;
 b=FI2fiTeyqaltv8LedPk2jJK5qb5wrEt5vlJxa/ksGRXwbE2xhRqiN5II4VH8eqL8i3X+8X5IuZhLOra4gp7E0nBB/3meiHtgrT+oPdL41PoUp50bTBcEtAOlZ2lAsadAVQBLPbIVs4naXCB93oUADj+kVpcPWHQH3ups2amiqxI=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <henry.wang@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v4 2/2] xen/arm32: head Split and move MMU-specific head.S to mmu/head.S
Date: Fri, 17 Nov 2023 15:31:01 +0000
Message-ID: <20231117153101.2902792-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231117153101.2902792-1-ayan.kumar.halder@amd.com>
References: <20231117153101.2902792-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CB:EE_|DM6PR12MB4204:EE_
X-MS-Office365-Filtering-Correlation-Id: 782cb464-f41a-47c9-4c59-08dbe782475b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rot4qAQKQLi3G3JmULcxOSJWyQbvYodbR8J1uwTAN18Psowh/Db+u6GJdWSzPI4g8mtIdx/EMVWfGrrRl6MdlbfLszOL9RT7p/F5E3/j9L5QgSgcthAS6WHTKe34f5KIdnSHMsX3RULWnaxZF75h1ZGL7wRJyKA9CHtQYLzy+47oc9aLSlAEAU2/KPcXZ+fUqxPEexXVa3InkVYlYkGu+7+5iotoucvUc77M5JNudHwz3+6zHqr/IoGS2jWgmIPhRqETZjnqRLnTzVXrII7so8sqlztiTiofJQw+tt2Z9GuKdWgrVqmIV1t/zJUnaU0tsgY53busV29RKh5t4mc3WfiuK7xhhGl69k/uAEhY+/kII5rpNktXVpxyK+Y1tSmX+OR17gr0zo/NeBr8irObWij3nwYrgG1e0FEw5jzDCw/0Em2Fuc8oksGFLVvqJ7+QXf/AJ4UuhcjXLeqVtsAn5anI+x74Uqgq+ah4g6qT7GHqmoqj2J6d3GNe4oHV5SBOzKti9ya6ubA+0oo4WAP23AVZvzPWC5KqhsjOzRl7HmgF28BNa2KwcL/7OLj1maHVbP9rfLxv80JKd2VwcHDH9/WtmlassGoLYK7CoUfQsAkto2PEcPrZVDsbsFzgkdIG5b1UF+/zHNFFg50AugkitNTcr6mwe8f9dPvWwBFjWZvs6wCDQkyoBOLh1KrntRyFX96TJ+OEHwYvGJqDCS6oFGdy86ZcNOdvi/ypNatQ1Mczdiksc3Env2HSvStAhJrEhwR81Tj4LQGF4gdYu8kYZY6IC25rpmWD/6J3lE7Zq8fMd/S7YkKUf6HbthA0Bosgv7xJd3TVMtXuroG5N6uzrg==
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:(13230031)(4636009)(346002)(39860400002)(376002)(136003)(396003)(230173577357003)(230922051799003)(230273577357003)(451199024)(82310400011)(1800799009)(186009)(64100799003)(36840700001)(46966006)(40470700004)(36756003)(316002)(6916009)(478600001)(40460700003)(83380400001)(41300700001)(356005)(81166007)(426003)(336012)(82740400003)(36860700001)(1076003)(8936002)(8676002)(5660300002)(4326008)(47076005)(26005)(6666004)(86362001)(70206006)(70586007)(2616005)(2906002)(103116003)(30864003)(40480700001)(54906003)(21314003)(36900700001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 15:31:33.1518
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 782cb464-f41a-47c9-4c59-08dbe782475b
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:
	SA2PEPF000015CB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4204

The MMU specific code in head.S will not be used on MPU systems.
Instead of introducing more #ifdefs which will bring complexity
to the code, move MMU related code to mmu/head.S and keep common
code in head.S. Two notes while moving:
 - As "fail" in original head.S is very simple and this name is too
   easy to be conflicted, duplicate it in mmu/head.S instead of
   exporting it.
 - Realigned ".macro ret" so that the alignment matches to the other
   macros.
 - Rename puts to asm_puts, putn to asm_putn (this denotes that the
   macros are used within the context of assembly only).
 - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm,
   setup_fixmap, asm_puts, asm_putn  as they will be used externally.

Also move the assembly macros shared by head.S and mmu/head.S to
macros.h.

This is based on 6734327d76be ("xen/arm64: Split and move MMU-specific head.S to mmu/head.S").

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
---

Changes from v1 :-

1. Added a commit message
2. Moved load_paddr to mmu/head.S

v2 :-

1. Renamed puts to asm_puts and putn to asm_putn. Exported asm_putn().
2. Moved XEN_TEMPORARY_OFFSET to head.S.
3. Some style issues.

v3 :-

1. Updated the comments on top of asm_puts() and asm_putn().
2. Removed some stubs.
3. PRINT() invokes asm_puts.

 xen/arch/arm/arm32/head.S               | 630 +-----------------------
 xen/arch/arm/arm32/mmu/Makefile         |   1 +
 xen/arch/arm/arm32/mmu/head.S           | 573 +++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/macros.h |  58 ++-
 4 files changed, 638 insertions(+), 624 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/head.S

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index b3f6d111b0..8cb5aef24e 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -22,86 +22,10 @@
 
 #define ZIMAGE_MAGIC_NUMBER 0x016f2818
 
-#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
-#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
-#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
-
-#define PT_UPPER(x) (PT_##x & 0xf00)
-#define PT_LOWER(x) (PT_##x & 0x0ff)
-
-/* Convenience defines to get slot used by Xen mapping. */
-#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
-#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
-
-/* Offset between the early boot xen mapping and the runtime xen mapping */
-#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
-
 #if defined(CONFIG_EARLY_PRINTK) && defined(CONFIG_EARLY_PRINTK_INC)
 #include CONFIG_EARLY_PRINTK_INC
 #endif
 
-/*
- * Move an immediate constant into a 32-bit register using movw/movt
- * instructions.
- */
-.macro mov_w reg, word
-        movw  \reg, #:lower16:\word
-        movt  \reg, #:upper16:\word
-.endm
-
-/*
- * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
- * within the range +/- 4GB of the PC.
- *
- * @dst: destination register
- * @sym: name of the symbol
- */
-.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
-        mov_w \rb, \sym
-        add   \rb, \rb, r10
-.endm
-
-/*
- * Flush local TLBs
- *
- * @tmp: Scratch register
- *
- * See asm/arm32/flushtlb.h for the explanation of the sequence.
- */
-.macro flush_xen_tlb_local tmp
-        dsb   nshst
-        mcr   CP32(\tmp, TLBIALLH)
-        dsb   nsh
-        isb
-.endm
-
-/*
- * Enforce Xen page-tables do not contain mapping that are both
- * Writable and eXecutables.
- *
- * This should be called on each secondary CPU.
- */
-.macro pt_enforce_wxn tmp
-        mrc   CP32(\tmp, HSCTLR)
-        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
-        dsb
-        mcr   CP32(\tmp, HSCTLR)
-        /*
-         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
-         * before flushing the TLBs.
-         */
-        isb
-        flush_xen_tlb_local \tmp
-.endm
-
 /*
  * Common register usage in this file:
  *   r0  -
@@ -121,38 +45,6 @@
  *   r14 - LR
  *   r15 - PC
  */
-#ifdef CONFIG_EARLY_PRINTK
-/*
- * Macro to print a string to the UART, if there is one.
- *
- * Clobbers r0 - r3
- */
-#define PRINT(_s)           \
-        mov   r3, lr       ;\
-        adr_l r0, 98f      ;\
-        bl    puts         ;\
-        mov   lr, r3       ;\
-        RODATA_STR(98, _s)
-
-/*
- * Macro to print the value of register \rb
- *
- * Clobbers r0 - r4
- */
-.macro print_reg rb
-        mov   r0, \rb
-        mov   r4, lr
-        bl    putn
-        mov   lr, r4
-.endm
-
-#else /* CONFIG_EARLY_PRINTK */
-#define PRINT(s)
-
-.macro print_reg rb
-.endm
-
-#endif /* !CONFIG_EARLY_PRINTK */
 
         .section .text.header, "ax", %progbits
         .arm
@@ -355,480 +247,6 @@ 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 (physical
- * address)
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     physical address of the table to point to
- * virt:    virtual address
- * lvl:     page-table level
- *
- * Preserves \virt
- * Clobbers \tbl, r1 - r3
- *
- * Note that \tbl and \virt should be in a register other than r1 - r3
- */
-.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
-        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
-        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
-
-        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
-        orr   r2, r2, \tbl           /*           + \tbl paddr */
-        mov   r3, #0
-
-        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
-
-        strd  r2, r3, [\tbl, r1]
-.endm
-
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl (symbol)
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     table symbol to point to
- * virt:    virtual address
- * lvl:     page-table level
- *
- * Preserves \virt
- * Clobbers r1 - r4
- *
- * Also use r10 for the phys offset.
- *
- * Note that \virt should be in a register other than r1 - r4
- */
-.macro create_table_entry, ptbl, tbl, virt, lvl
-        load_paddr r4, \tbl
-        create_table_entry_from_paddr \ptbl, r4, \virt, \lvl
- .endm
-
-/*
- * Macro to create a mapping entry in \tbl to \paddr. Only mapping in 3rd
- * level table (i.e page granularity) is supported.
- *
- * ptbl:     table symbol where the entry will be created
- * virt:    virtual address
- * phys:    physical address
- * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
- *
- * Preserves \virt, \phys
- * Clobbers r1 - r4
- *
- * 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
-        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
-        lsr   r1, \virt, #THIRD_SHIFT
-        and   r1, r1, r2             /* r1 := slot in \tlb */
-        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
-
-        lsr   r4, \phys, #THIRD_SHIFT
-        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
-
-        movw  r2, #\type             /* r2:r3 := right for section PT */
-        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
-        mov   r3, #0
-
-        adr_l r4, \ptbl
-
-        strd  r2, r3, [r4, r1]
-.endm
-
-/*
- * Rebuild the boot pagetable's first-level entries. The structure
- * is described in mm.c.
- *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r5
- */
-create_page_tables:
-        /* Prepare the page-tables for mapping Xen */
-        mov_w r0, XEN_VIRT_START
-
-        /*
-         * We need to use a stash register because
-         * create_table_entry_paddr() will clobber the register storing
-         * the physical address of the table to point to.
-         */
-        adr_l r5, boot_third
-        mov_w r4, XEN_VIRT_START
-.rept XEN_NR_ENTRIES(2)
-        mov   r0, r5                        /* r0 := paddr(l3 table) */
-        create_table_entry_from_paddr boot_second, r0, r4, 2
-        add   r4, r4, #XEN_PT_LEVEL_SIZE(2) /* r4 := Next vaddr */
-        add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
-.endr
-
-        /*
-         * Find the size of Xen in pages and multiply by the size of a
-         * PTE. This will then be compared in the mapping loop below.
-         *
-         * Note the multiplication is just to avoid using an extra
-         * register/instruction per iteration.
-         */
-        mov_w r0, _start            /* r0 := vaddr(_start) */
-        mov_w r1, _end              /* r1 := vaddr(_end) */
-        sub   r0, r1, r0            /* r0 := effective size of Xen */
-        lsr   r0, r0, #PAGE_SHIFT   /* r0 := Number of pages for Xen */
-        lsl   r0, r0, #3            /* r0 := Number of pages * PTE size */
-
-        /* Setup boot_third: */
-        adr_l r4, boot_third
-
-        lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
-        lsl   r2, r2, #THIRD_SHIFT
-        orr   r2, r2, #PT_UPPER(MEM_L3) /* r2:r3 := map */
-        orr   r2, r2, #PT_LOWER(MEM_L3)
-        mov   r3, #0x0
-
-        /* ... map of vaddr(start) in boot_third */
-        mov   r1, #0
-1:      strd  r2, r3, [r4, r1]       /* Map vaddr(start) */
-        add   r2, r2, #PAGE_SIZE     /* Next page */
-        add   r1, r1, #8             /* Next slot */
-        cmp   r1, r0                 /* Loop until we map all of Xen */
-        blo   1b
-
-        /*
-         * Setup the 1:1 mapping so we can turn the MMU on. Note that
-         * only the first page of Xen will be part of the 1:1 mapping.
-         */
-        create_table_entry boot_pgtable, boot_second_id, r9, 1
-        create_table_entry boot_second_id, boot_third_id, r9, 2
-        create_mapping_entry boot_third_id, r9, r9
-
-        /*
-         * Find the first slot used. If the slot is not the same
-         * as TEMPORARY_AREA_FIRST_SLOT, then we will want to switch
-         * to the temporary mapping before jumping to the runtime
-         * virtual mapping.
-         */
-        get_table_slot r1, r9, 1     /* r1 := first slot */
-        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
-        bne   use_temporary_mapping
-
-        mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-        mov   r12, #0                /* r12 := temporary mapping not created */
-        mov   pc, lr
-
-use_temporary_mapping:
-        /*
-         * The identity mapping is not using the first slot
-         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
-         * See switch_to_runtime_mapping for more details.
-         */
-        PRINT("- Create temporary mapping -\r\n")
-
-        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
-        mov_w r0, TEMPORARY_XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-
-        mov   r12, #1                /* r12 := temporary mapping created */
-        mov   pc, lr
-ENDPROC(create_page_tables)
-
-/*
- * 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:
- *   r9 : paddr(start)
- *  r12 : Was the temporary mapping created?
- *   lr : Virtual address to return to
- *
- * Clobbers r0 - r5
- */
-enable_mmu:
-        PRINT("- Turning on paging -\r\n")
-
-        /*
-         * The state of the TLBs is unknown before turning on the MMU.
-         * Flush them to avoid stale one.
-         */
-        flush_xen_tlb_local r0
-
-        /* Write Xen's PT's paddr into the HTTBR */
-        adr_l r0, boot_pgtable
-        mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
-        mcrr  CP64(r0, r1, HTTBR)
-        isb
-
-        mrc   CP32(r0, HSCTLR)
-        /* Enable MMU and D-cache */
-        orr   r0, r0, #(SCTLR_Axx_ELx_M|SCTLR_Axx_ELx_C)
-        dsb                          /* Flush PTE writes and finish reads */
-        mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
-        isb                          /* Now, flush the icache */
-
-        /*
-         * The MMU is turned on and we are in the 1:1 mapping. Switch
-         * to the runtime mapping.
-         */
-        mov   r5, lr                /* Save LR before overwritting it */
-        mov_w lr, 1f                /* Virtual address in the runtime mapping */
-        b     switch_to_runtime_mapping
-1:
-        mov   lr, r5                /* Restore LR */
-        /*
-         * At this point, either the 1:1 map or the temporary mapping
-         * will be present. The former may clash with other parts of the
-         * Xen virtual memory layout. As both of them are not used
-         * anymore, remove them completely to avoid having to worry
-         * about replacing existing mapping afterwards.
-         *
-         * On return this will jump to the virtual address requested by
-         * the caller.
-         */
-        teq   r12, #0
-        beq   remove_identity_mapping
-        b     remove_temporary_mapping
-ENDPROC(enable_mmu)
-
-/*
- * Switch to the runtime mapping. The logic depends on whether the
- * runtime virtual region is clashing with the physical address
- *
- *  - If it is not clashing, we can directly jump to the address in
- *    the runtime mapping.
- *  - If it is clashing, create_page_tables() would have mapped Xen to
- *    a temporary virtual address. We need to switch to the temporary
- *    mapping so we can remove the identity mapping and map Xen at the
- *    correct position.
- *
- * Inputs
- *    r9: paddr(start)
- *   r12: Was a temporary mapping created?
- *    lr: Address in the runtime mapping to jump to
- *
- * Clobbers r0 - r4
- */
-switch_to_runtime_mapping:
-        /*
-         * Jump to the runtime mapping if the virt and phys are not
-         * clashing
-         */
-        teq   r12, #0
-        beq   ready_to_switch
-
-        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
-        mov_w r0, 1f
-        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
-        mov   pc, r0
-
-1:
-        /* Remove boot_second_id */
-        mov   r2, #0
-        mov   r3, #0
-        adr_l r0, boot_pgtable
-        get_table_slot r1, r9, 1            /* r1 := first slot */
-        lsl   r1, r1, #3                    /* r1 := first slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-
-        /* Map boot_second into boot_pgtable */
-        mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-
-        /* Ensure any page table updates are visible before continuing */
-        dsb   nsh
-        /*
-         * The function will return on the runtime mapping. So we want
-         * to prevent instruction fetch before the dsb completes.
-         */
-        isb
-
-ready_to_switch:
-        mov   pc, lr
-ENDPROC(switch_to_runtime_mapping)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *   lr : Virtual address to return to.
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r6
- */
-enable_secondary_cpu_mm:
-        mov   r6, lr
-
-        bl    create_page_tables
-
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
-        mov_w lr, 1f
-        b     enable_mmu
-1:
-        /*
-         * Non-boot CPUs need to move on to the proper pagetables, which were
-         * setup in prepare_secondary_mm.
-         *
-         * XXX: This is not compliant with the Arm Arm.
-         */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
-        ldrd  r4, r5, [r4]           /* Actual value */
-        dsb
-        mcrr  CP64(r4, r5, HTTBR)
-        dsb
-        isb
-        flush_xen_tlb_local r0
-        pt_enforce_wxn r0
-
-        /* Return to the virtual address requested by the caller. */
-        mov   pc, r6
-ENDPROC(enable_secondary_cpu_mm)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for the boot CPU.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *   lr : Virtual address to return to.
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r6
- */
-enable_boot_cpu_mm:
-        mov   r6, lr
-
-        bl    create_page_tables
-
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
-        mov_w lr, 1f
-        b     enable_mmu
-1:
-        /*
-         * Prepare the fixmap. The function will return to the virtual address
-         * requested by the caller.
-         */
-        mov   lr, r6
-
-        b     setup_fixmap
-ENDPROC(enable_boot_cpu_mm)
-
-/*
- * Remove the 1:1 map from the page-tables. It is not easy to keep track
- * where the 1:1 map was mapped, so we will look for the top-level entry
- * exclusive to the 1:1 map and remove it.
- *
- * Inputs:
- *   r9 : paddr(start)
- *
- * Clobbers r0 - r3
- */
-remove_identity_mapping:
-        /* r2:r3 := invalid page-table entry */
-        mov   r2, #0x0
-        mov   r3, #0x0
-
-        /* Find the first slot used and remove it */
-        get_table_slot r1, r9, 1     /* r1 := first slot */
-        mov_w r0, boot_pgtable       /* r0 := root table */
-        lsl   r1, r1, #3             /* r1 := Slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-        mov   pc, lr
-ENDPROC(remove_identity_mapping)
-
-/*
- * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
- *
- * Clobbers r0 - r3
- */
-remove_temporary_mapping:
-        /* r2:r3 := invalid page-table entry */
-        mov   r2, #0
-        mov   r3, #0
-
-        adr_l r0, boot_pgtable
-        mov_w r1, TEMPORARY_XEN_VIRT_START
-        get_table_slot r1, r1, 1     /* r1 := first slot */
-        lsl   r1, r1, #3             /* r1 := first slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-
-        mov  pc, lr
-ENDPROC(remove_temporary_mapping)
-
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   r10: Physical offset
- *   r11: Early UART base physical address
- *
- * Clobbers r0 - r4
- */
-setup_fixmap:
-#if defined(CONFIG_EARLY_PRINTK)
-        /* Add UART to the fixmap table */
-        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
-        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
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        mov   pc, lr
-ENDPROC(setup_fixmap)
-
 /*
  * Setup the initial stack and jump to the C world
  *
@@ -856,38 +274,6 @@ fail:   PRINT("- Boot failed -\r\n")
         b     1b
 ENDPROC(fail)
 
-/*
- * Switch TTBR
- * r1:r0       ttbr
- *
- * TODO: This code does not comply with break-before-make.
- */
-ENTRY(switch_ttbr)
-        dsb                            /* Ensure the flushes happen before
-                                        * continuing */
-        isb                            /* Ensure synchronization with previous
-                                        * changes to text */
-        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
-        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
-        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
-        dsb                            /* Ensure completion of TLB+BP flush */
-        isb
-
-        mcrr  CP64(r0, r1, HTTBR)
-
-        dsb                            /* ensure memory accesses do not cross
-                                        * over the TTBR0 write */
-        isb                            /* Ensure synchronization with previous
-                                        * changes to text */
-        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
-        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
-        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
-        dsb                            /* Ensure completion of TLB+BP flush */
-        isb
-
-        mov pc, lr
-ENDPROC(switch_ttbr)
-
 #ifdef CONFIG_EARLY_PRINTK
 /*
  * Initialize the UART. Should only be called on the boot CPU.
@@ -908,26 +294,28 @@ ENDPROC(init_uart)
 
 /*
  * Print early debug messages.
+ * Note: This function must be called from assembly.
  * r0: Nul-terminated string to print.
  * r11: Early UART base address
  * Clobbers r0-r1
  */
-puts:
+ENTRY(asm_puts)
         early_uart_ready r11, r1
         ldrb  r1, [r0], #1           /* Load next char */
         teq   r1, #0                 /* Exit on nul */
         moveq pc, lr
         early_uart_transmit r11, r1
-        b puts
-ENDPROC(puts)
+        b asm_puts
+ENDPROC(asm_puts)
 
 /*
- * Print a 32-bit number in hex.  Specific to the PL011 UART.
+ * Print a 32-bit number in hex.
+ * Note: This function must be called from assembly.
  * r0: Number to print.
  * r11: Early UART base address
  * Clobbers r0-r3
  */
-putn:
+ENTRY(asm_putn)
         adr_l r1, hex
         mov   r3, #8
 1:
@@ -939,7 +327,7 @@ putn:
         subs  r3, r3, #1
         bne   1b
         mov   pc, lr
-ENDPROC(putn)
+ENDPROC(asm_putn)
 
 RODATA_STR(hex, "0123456789abcdef")
 
@@ -947,8 +335,6 @@ RODATA_STR(hex, "0123456789abcdef")
 
 ENTRY(early_puts)
 init_uart:
-puts:
-putn:   mov   pc, lr
 
 #endif /* !CONFIG_EARLY_PRINTK */
 
diff --git a/xen/arch/arm/arm32/mmu/Makefile b/xen/arch/arm/arm32/mmu/Makefile
index b18cec4836..a8a750a3d0 100644
--- a/xen/arch/arm/arm32/mmu/Makefile
+++ b/xen/arch/arm/arm32/mmu/Makefile
@@ -1 +1,2 @@
+obj-y += head.o
 obj-y += mm.o
diff --git a/xen/arch/arm/arm32/mmu/head.S b/xen/arch/arm/arm32/mmu/head.S
new file mode 100644
index 0000000000..6d427328f3
--- /dev/null
+++ b/xen/arch/arm/arm32/mmu/head.S
@@ -0,0 +1,573 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/arm32/mmu/head.S
+ *
+ * Arm32 MMU specific start-of-day code.
+ */
+
+#include <asm/page.h>
+#include <asm/early_printk.h>
+
+#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
+#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
+#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
+
+#define PT_UPPER(x) (PT_##x & 0xf00)
+#define PT_LOWER(x) (PT_##x & 0x0ff)
+
+/* Convenience defines to get slot used by Xen mapping. */
+#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
+#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
+
+/* Offset between the early boot xen mapping and the runtime xen mapping */
+#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
+
+.macro load_paddr rb, sym
+        mov_w \rb, \sym
+        add   \rb, \rb, r10
+.endm
+
+/*
+ * Flush local TLBs
+ *
+ * @tmp: Scratch register
+ *
+ * See asm/arm32/flushtlb.h for the explanation of the sequence.
+ */
+.macro flush_xen_tlb_local tmp
+        dsb   nshst
+        mcr   CP32(\tmp, TLBIALLH)
+        dsb   nsh
+        isb
+.endm
+
+/*
+ * Enforce Xen page-tables do not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each secondary CPU.
+ */
+.macro pt_enforce_wxn tmp
+        mrc   CP32(\tmp, HSCTLR)
+        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
+        dsb
+        mcr   CP32(\tmp, HSCTLR)
+        /*
+         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+         * before flushing the TLBs.
+         */
+        isb
+        flush_xen_tlb_local \tmp
+.endm
+
+/* 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 (physical
+ * address)
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     physical address of the table to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ *
+ * Preserves \virt
+ * Clobbers \tbl, r1 - r3
+ *
+ * Note that \tbl and \virt should be in a register other than r1 - r3
+ */
+.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
+        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
+        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
+
+        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
+        orr   r2, r2, \tbl           /*           + \tbl paddr */
+        mov   r3, #0
+
+        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
+
+        strd  r2, r3, [\tbl, r1]
+.endm
+
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl (symbol)
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     table symbol to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ *
+ * Preserves \virt
+ * Clobbers r1 - r4
+ *
+ * Also use r10 for the phys offset.
+ *
+ * Note that \virt should be in a register other than r1 - r4
+ */
+.macro create_table_entry, ptbl, tbl, virt, lvl
+        load_paddr r4, \tbl
+        create_table_entry_from_paddr \ptbl, r4, \virt, \lvl
+ .endm
+
+/*
+ * Macro to create a mapping entry in \tbl to \paddr. Only mapping in 3rd
+ * level table (i.e page granularity) is supported.
+ *
+ * ptbl:     table symbol where the entry will be created
+ * virt:    virtual address
+ * phys:    physical address
+ * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
+ *
+ * Preserves \virt, \phys
+ * Clobbers r1 - r4
+ *
+ * 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
+        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
+        lsr   r1, \virt, #THIRD_SHIFT
+        and   r1, r1, r2             /* r1 := slot in \tlb */
+        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
+
+        lsr   r4, \phys, #THIRD_SHIFT
+        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
+
+        movw  r2, #\type             /* r2:r3 := right for section PT */
+        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
+        mov   r3, #0
+
+        adr_l r4, \ptbl
+
+        strd  r2, r3, [r4, r1]
+.endm
+
+.section .text.idmap, "ax", %progbits
+
+/*
+ * Rebuild the boot pagetable's first-level entries. The structure
+ * is described in mm.c.
+ *
+ * After the CPU enables paging it will add the fixmap mapping
+ * to these page tables, however this may clash with the 1:1
+ * mapping. So each CPU must rebuild the page tables here with
+ * the 1:1 in place.
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r5
+ */
+create_page_tables:
+        /* Prepare the page-tables for mapping Xen */
+        mov_w r0, XEN_VIRT_START
+
+        /*
+         * We need to use a stash register because
+         * create_table_entry_paddr() will clobber the register storing
+         * the physical address of the table to point to.
+         */
+        adr_l r5, boot_third
+        mov_w r4, XEN_VIRT_START
+.rept XEN_NR_ENTRIES(2)
+        mov   r0, r5                        /* r0 := paddr(l3 table) */
+        create_table_entry_from_paddr boot_second, r0, r4, 2
+        add   r4, r4, #XEN_PT_LEVEL_SIZE(2) /* r4 := Next vaddr */
+        add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
+.endr
+
+        /*
+         * Find the size of Xen in pages and multiply by the size of a
+         * PTE. This will then be compared in the mapping loop below.
+         *
+         * Note the multiplication is just to avoid using an extra
+         * register/instruction per iteration.
+         */
+        mov_w r0, _start            /* r0 := vaddr(_start) */
+        mov_w r1, _end              /* r1 := vaddr(_end) */
+        sub   r0, r1, r0            /* r0 := effective size of Xen */
+        lsr   r0, r0, #PAGE_SHIFT   /* r0 := Number of pages for Xen */
+        lsl   r0, r0, #3            /* r0 := Number of pages * PTE size */
+
+        /* Setup boot_third: */
+        adr_l r4, boot_third
+
+        lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
+        lsl   r2, r2, #THIRD_SHIFT
+        orr   r2, r2, #PT_UPPER(MEM_L3) /* r2:r3 := map */
+        orr   r2, r2, #PT_LOWER(MEM_L3)
+        mov   r3, #0x0
+
+        /* ... map of vaddr(start) in boot_third */
+        mov   r1, #0
+1:      strd  r2, r3, [r4, r1]       /* Map vaddr(start) */
+        add   r2, r2, #PAGE_SIZE     /* Next page */
+        add   r1, r1, #8             /* Next slot */
+        cmp   r1, r0                 /* Loop until we map all of Xen */
+        blo   1b
+
+        /*
+         * Setup the 1:1 mapping so we can turn the MMU on. Note that
+         * only the first page of Xen will be part of the 1:1 mapping.
+         */
+        create_table_entry boot_pgtable, boot_second_id, r9, 1
+        create_table_entry boot_second_id, boot_third_id, r9, 2
+        create_mapping_entry boot_third_id, r9, r9
+
+        /*
+         * Find the first slot used. If the slot is not the same
+         * as TEMPORARY_AREA_FIRST_SLOT, then we will want to switch
+         * to the temporary mapping before jumping to the runtime
+         * virtual mapping.
+         */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
+        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
+        bne   use_temporary_mapping
+
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+        mov   r12, #0                /* r12 := temporary mapping not created */
+        mov   pc, lr
+
+use_temporary_mapping:
+        /*
+         * The identity mapping is not using the first slot
+         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
+         * See switch_to_runtime_mapping for more details.
+         */
+        PRINT("- Create temporary mapping -\r\n")
+
+        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
+        mov_w r0, TEMPORARY_XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        mov   r12, #1                /* r12 := temporary mapping created */
+        mov   pc, lr
+ENDPROC(create_page_tables)
+
+/*
+ * 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:
+ *   r9 : paddr(start)
+ *  r12 : Was the temporary mapping created?
+ *   lr : Virtual address to return to
+ *
+ * Clobbers r0 - r5
+ */
+enable_mmu:
+        PRINT("- Turning on paging -\r\n")
+
+        /*
+         * The state of the TLBs is unknown before turning on the MMU.
+         * Flush them to avoid stale one.
+         */
+        flush_xen_tlb_local r0
+
+        /* Write Xen's PT's paddr into the HTTBR */
+        adr_l r0, boot_pgtable
+        mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
+        mcrr  CP64(r0, r1, HTTBR)
+        isb
+
+        mrc   CP32(r0, HSCTLR)
+        /* Enable MMU and D-cache */
+        orr   r0, r0, #(SCTLR_Axx_ELx_M|SCTLR_Axx_ELx_C)
+        dsb                          /* Flush PTE writes and finish reads */
+        mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
+        isb                          /* Now, flush the icache */
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        mov   r5, lr                /* Save LR before overwritting it */
+        mov_w lr, 1f                /* Virtual address in the runtime mapping */
+        b     switch_to_runtime_mapping
+1:
+        mov   lr, r5                /* Restore LR */
+        /*
+         * At this point, either the 1:1 map or the temporary mapping
+         * will be present. The former may clash with other parts of the
+         * Xen virtual memory layout. As both of them are not used
+         * anymore, remove them completely to avoid having to worry
+         * about replacing existing mapping afterwards.
+         *
+         * On return this will jump to the virtual address requested by
+         * the caller.
+         */
+        teq   r12, #0
+        beq   remove_identity_mapping
+        b     remove_temporary_mapping
+ENDPROC(enable_mmu)
+
+/*
+ * Switch to the runtime mapping. The logic depends on whether the
+ * runtime virtual region is clashing with the physical address
+ *
+ *  - If it is not clashing, we can directly jump to the address in
+ *    the runtime mapping.
+ *  - If it is clashing, create_page_tables() would have mapped Xen to
+ *    a temporary virtual address. We need to switch to the temporary
+ *    mapping so we can remove the identity mapping and map Xen at the
+ *    correct position.
+ *
+ * Inputs
+ *    r9: paddr(start)
+ *   r12: Was a temporary mapping created?
+ *    lr: Address in the runtime mapping to jump to
+ *
+ * Clobbers r0 - r4
+ */
+switch_to_runtime_mapping:
+        /*
+         * Jump to the runtime mapping if the virt and phys are not
+         * clashing
+         */
+        teq   r12, #0
+        beq   ready_to_switch
+
+        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
+        mov_w r0, 1f
+        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
+        mov   pc, r0
+
+1:
+        /* Remove boot_second_id */
+        mov   r2, #0
+        mov   r3, #0
+        adr_l r0, boot_pgtable
+        get_table_slot r1, r9, 1            /* r1 := first slot */
+        lsl   r1, r1, #3                    /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        /* Map boot_second into boot_pgtable */
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        /* Ensure any page table updates are visible before continuing */
+        dsb   nsh
+        /*
+         * The function will return on the runtime mapping. So we want
+         * to prevent instruction fetch before the dsb completes.
+         */
+        isb
+
+ready_to_switch:
+        mov   pc, lr
+ENDPROC(switch_to_runtime_mapping)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+ENTRY(enable_secondary_cpu_mm)
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Non-boot CPUs need to move on to the proper pagetables, which were
+         * setup in prepare_secondary_mm.
+         *
+         * XXX: This is not compliant with the Arm Arm.
+         */
+        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        ldrd  r4, r5, [r4]           /* Actual value */
+        dsb
+        mcrr  CP64(r4, r5, HTTBR)
+        dsb
+        isb
+        flush_xen_tlb_local r0
+        pt_enforce_wxn r0
+
+        /* Return to the virtual address requested by the caller. */
+        mov   pc, r6
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+ENTRY(enable_boot_cpu_mm)
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /* Return to the virtual address requested by the caller. */
+        mov   lr, r6
+
+        b     setup_fixmap
+ENDPROC(enable_boot_cpu_mm)
+
+/*
+ * Remove the 1:1 map from the page-tables. It is not easy to keep track
+ * where the 1:1 map was mapped, so we will look for the top-level entry
+ * exclusive to the 1:1 map and remove it.
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *
+ * Clobbers r0 - r3
+ */
+remove_identity_mapping:
+        /* r2:r3 := invalid page-table entry */
+        mov   r2, #0x0
+        mov   r3, #0x0
+
+        /* Find the first slot used and remove it */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
+        mov_w r0, boot_pgtable       /* r0 := root table */
+        lsl   r1, r1, #3             /* r1 := Slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+        mov   pc, lr
+ENDPROC(remove_identity_mapping)
+
+/*
+ * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
+ *
+ * Clobbers r0 - r3
+ */
+remove_temporary_mapping:
+        /* r2:r3 := invalid page-table entry */
+        mov   r2, #0
+        mov   r3, #0
+
+        adr_l r0, boot_pgtable
+        mov_w r1, TEMPORARY_XEN_VIRT_START
+        get_table_slot r1, r1, 1     /* r1 := first slot */
+        lsl   r1, r1, #3             /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        mov  pc, lr
+ENDPROC(remove_temporary_mapping)
+
+/*
+ * Map the UART in the fixmap (when earlyprintk is used) and hook the
+ * fixmap table in the page tables.
+ *
+ * The fixmap cannot be mapped in create_page_tables because it may
+ * clash with the 1:1 mapping.
+ *
+ * Inputs:
+ *   r10: Physical offset
+ *   r11: Early UART base physical address
+ *
+ * Clobbers r0 - r4
+ */
+setup_fixmap:
+#if defined(CONFIG_EARLY_PRINTK)
+        /* Add UART to the fixmap table */
+        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
+        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
+        /* Ensure any page table updates made above have occurred. */
+        dsb   nshst
+        /*
+         * The fixmap area will be used soon after. So ensure no hardware
+         * translation happens before the dsb completes.
+         */
+        isb
+
+        mov   pc, lr
+ENDPROC(setup_fixmap)
+
+/* Fail-stop */
+fail:   PRINT("- Boot failed -\r\n")
+1:      wfe
+        b     1b
+ENDPROC(fail)
+
+/*
+ * Switch TTBR
+ * r1:r0       ttbr
+ *
+ * TODO: This code does not comply with break-before-make.
+ */
+ENTRY(switch_ttbr)
+        dsb                            /* Ensure the flushes happen before
+                                        * continuing */
+        isb                            /* Ensure synchronization with previous
+                                        * changes to text */
+        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
+        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
+        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
+        dsb                            /* Ensure completion of TLB+BP flush */
+        isb
+
+        mcrr  CP64(r0, r1, HTTBR)
+
+        dsb                            /* ensure memory accesses do not cross
+                                        * over the TTBR0 write */
+        isb                            /* Ensure synchronization with previous
+                                        * changes to text */
+        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
+        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
+        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
+        dsb                            /* Ensure completion of TLB+BP flush */
+        isb
+
+        mov pc, lr
+ENDPROC(switch_ttbr)
diff --git a/xen/arch/arm/include/asm/arm32/macros.h b/xen/arch/arm/include/asm/arm32/macros.h
index a4e20aa520..c41861efbe 100644
--- a/xen/arch/arm/include/asm/arm32/macros.h
+++ b/xen/arch/arm/include/asm/arm32/macros.h
@@ -1,8 +1,62 @@
 #ifndef __ASM_ARM_ARM32_MACROS_H
 #define __ASM_ARM_ARM32_MACROS_H
 
-    .macro ret
+.macro ret
         mov     pc, lr
-    .endm
+.endm
 
+/*
+ * Move an immediate constant into a 32-bit register using movw/movt
+ * instructions.
+ */
+.macro mov_w reg, word
+        movw  \reg, #:lower16:\word
+        movt  \reg, #:upper16:\word
+.endm
+
+/*
+ * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
+ * within the range +/- 4GB of the PC.
+ *
+ * @dst: destination register
+ * @sym: name of the symbol
+ */
+.macro adr_l, dst, sym
+        mov_w \dst, \sym - .Lpc\@
+        .set  .Lpc\@, .+ 8          /* PC bias */
+        add   \dst, \dst, pc
+.endm
+
+#ifdef CONFIG_EARLY_PRINTK
+/*
+ * Macro to print a string to the UART, if there is one.
+ *
+ * Clobbers r0 - r3
+ */
+#define PRINT(_s)           \
+        mov   r3, lr       ;\
+        adr_l r0, 98f      ;\
+        bl    asm_puts     ;\
+        mov   lr, r3       ;\
+        RODATA_STR(98, _s)
+
+/*
+ * Macro to print the value of register \rb
+ *
+ * Clobbers r0 - r4
+ */
+.macro print_reg rb
+        mov   r0, \rb
+        mov   r4, lr
+        bl    asm_putn
+        mov   lr, r4
+.endm
+
+#else /* CONFIG_EARLY_PRINTK */
+#define PRINT(s)
+
+.macro print_reg rb
+.endm
+
+#endif /* !CONFIG_EARLY_PRINTK */
 #endif /* __ASM_ARM_ARM32_MACROS_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 15:49:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 15:49:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635292.991169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r415g-0004Oe-MF; Fri, 17 Nov 2023 15:49:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635292.991169; Fri, 17 Nov 2023 15: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 1r415g-0004OX-JL; Fri, 17 Nov 2023 15:49:08 +0000
Received: by outflank-mailman (input) for mailman id 635292;
 Fri, 17 Nov 2023 15:49: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 1r415e-0004ON-JU; Fri, 17 Nov 2023 15:49: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 1r415e-0002Z5-G4; Fri, 17 Nov 2023 15:49: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 1r415e-00008D-0y; Fri, 17 Nov 2023 15:49:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r415e-0003qO-0V; Fri, 17 Nov 2023 15:49: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=aL+nruliLU5PcBUvmlbuAqILGGSZi0xVLjvqWoX+2nQ=; b=eVT08+pD0NIjtv0s8X1nL0wAPw
	R5hBO8Nmdh9F1+KVfSCoBleGVgRIQ4bwRWQGETPxJcKvTFo7a77P6YBdZFJMtA12Kff91JwEXAv/V
	SnT0TS+EQnyh9MmKmJe78lRNE1vS6P6eUyac0HOK4hw/WusZkWpHiPiywEQH4VWZ+fQs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183778-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183778: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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: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-amd64-amd64-libvirt-qcow2:migrate-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-raw:migrate-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-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=7475e51b87969e01a6812eac713a1c8310372e8a
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Nov 2023 15:49:06 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-amd64-amd64-libvirt-qcow2 14 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-amd64-libvirt-raw 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-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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                7475e51b87969e01a6812eac713a1c8310372e8a
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    1 days
Testing same since   183773  2023-11-16 13:12:48 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Anders Roxell <anders.roxell@linaro.org>
  Andrii Nakryiko <andrii@kernel.org>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Hou Tao <houtao1@huawei.com>
  Itamar Gozlan <igozlan@nvidia.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jijie Shao <shaojijie@huawei.com>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Marek Behún <kabel@kernel.org>
  Matthieu Baerts <matttbe@kernel.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Stanislav Fomichev <sdf@google.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Sven Auhagen <sven.auhagen@voleatech.de>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 3427 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 16:13:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 16:13:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635302.991179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r41Sn-0002EE-Is; Fri, 17 Nov 2023 16:13:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635302.991179; Fri, 17 Nov 2023 16:13: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 1r41Sn-0002E7-FO; Fri, 17 Nov 2023 16:13:01 +0000
Received: by outflank-mailman (input) for mailman id 635302;
 Fri, 17 Nov 2023 16:12: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=2+Qn=G6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r41Sl-0002E1-L1
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 16:12:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b74d07c-8564-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 17:12:57 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 540744EE0744;
 Fri, 17 Nov 2023 17:12:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b74d07c-8564-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Fri, 17 Nov 2023 17:12:56 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Consulting <consulting@bugseng.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Andrew Cooper3 <andrew.cooper3@citrix.com>, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, Roger Pau <roger.pau@citrix.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Xen Devel
 <xen-devel@lists.xenproject.org>
Subject: Re: Devise macros to encapsulate (x & -x)
In-Reply-To: <683af6f7-1110-4d5a-9d42-6893398fae84@suse.com>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
 <683af6f7-1110-4d5a-9d42-6893398fae84@suse.com>
Message-ID: <b733b9d72b6d186a6410d40dd4822680@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-17 12:39, Jan Beulich wrote:
> On 17.11.2023 11:17, Nicola Vetrini wrote:
>> Hi all,
>> 
>> As discussed in this thread [1], which is about complying with MISRA C
>> Rule 10.1,
>> a macro was introduced to encapsulate a well-known construct:
>> 
>> /*
>>   * Given an unsigned integer argument, expands to a mask where just 
>> the
>> least
>>   * significant nonzero bit of the argument is set, or 0 if no bits 
>> are
>> set.
>>   */
>> #define ISOLATE_LSB(x) ((x) & -(x))
>> 
>> This macro has a gained some calls in the subsequent patches in that
>> thread, but concerns were raised around the fact that it would be 
>> better
>> to devise a macro that evaluates its argument only once. A proposed
>> solution is this (thanks to Jan Beulich):
>> 
>> #define ISOLATE_LSB(x) ({ \
>>       typeof(x) x_ = (x); \
>>       x_ & -x_; \
>> })
>> 
>> However, it can't be used in all call sites that the previous macro
>> would have once that series is committed, as can be seen in [2].
>> Therefore, while the implementation looks ok,
>> a case has been made to have separate macros, of which the latter form
>> is preferred.
>> 
>> The following points require some thought:
>> 
>> - where the single evaluation macro should be placed?
>>    One proposed location is xen/include/xen/bitops.h
> 
> Or next to the existing one in macros.h. I can see pros and cons for 
> either.
> 
>> - is the proposed form actually the best, or maybe it could be an 
>> inline
>> function?
> 
> How would you make such a function type generic?
> 

Ah, yes indeed this wouldn't work.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 16:16:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 16:16:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635306.991189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r41Vg-00034H-0S; Fri, 17 Nov 2023 16:16:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635306.991189; Fri, 17 Nov 2023 16: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 1r41Vf-00034A-TR; Fri, 17 Nov 2023 16:15:59 +0000
Received: by outflank-mailman (input) for mailman id 635306;
 Fri, 17 Nov 2023 16:15: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=2+Qn=G6=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r41Vd-000342-Sy
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 16:15:57 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96872186-8564-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 17:15:56 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3D6A34EE0744;
 Fri, 17 Nov 2023 17:15:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96872186-8564-11ee-98dc-6d05b1d4d9a1
MIME-Version: 1.0
Date: Fri, 17 Nov 2023 17:15:56 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Xen Devel <xen-devel@lists.xenproject.org>
Cc: Consulting <consulting@bugseng.com>, Stefano Stabellini
 <sstabellini@kernel.org>, Jbeulich <jbeulich@suse.com>, Andrew Cooper3
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Wei Liu <wl@xen.org>, Roger Pau
 <roger.pau@citrix.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>
Subject: Re: Devise macros to encapsulate (x & -x)
In-Reply-To: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
Message-ID: <1bae6d3263ad8d8da75e13d48308875b@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-17 11:17, Nicola Vetrini wrote:
> Hi all,
> 
> As discussed in this thread [1], which is about complying with MISRA C 
> Rule 10.1,
> a macro was introduced to encapsulate a well-known construct:
> 
> /*
>  * Given an unsigned integer argument, expands to a mask where just the 
> least
>  * significant nonzero bit of the argument is set, or 0 if no bits are 
> set.
>  */
> #define ISOLATE_LSB(x) ((x) & -(x))
> 
> This macro has a gained some calls in the subsequent patches in that 
> thread, but concerns were raised around the fact that it would be 
> better to devise a macro that evaluates its argument only once. A 
> proposed solution is this (thanks to Jan Beulich):
> 
> #define ISOLATE_LSB(x) ({ \
>      typeof(x) x_ = (x); \
>      x_ & -x_; \
> })
> 
> However, it can't be used in all call sites that the previous macro 
> would have once that series is committed, as can be seen in [2]. 
> Therefore, while the implementation looks ok,
> a case has been made to have separate macros, of which the latter form 
> is preferred.
> 
> The following points require some thought:
> 
> - where the single evaluation macro should be placed?
>   One proposed location is xen/include/xen/bitops.h
> - is the proposed form actually the best, or maybe it could be an 
> inline function?
> 
> Then testing can happen and a subsequent version of those uncommitted 
> patches introducing uses of either construct will be submitted, to 
> modify all the call sites only once in the commit history.
> 
> Let me know what you think of this.
> Regards,
> 
> [1] 
> https://lore.kernel.org/xen-devel/8a1313b3ab5ba6dd556cf37409e3b703@bugseng.com/T/#mdeb510325e1acacb6477a88de8577e9e87351ba5
> [2] https://gitlab.com/xen-project/people/bugseng/xen/-/jobs/5423693947

I did a few tests; the only places where the first form can't be 
replaced are:

- inside BUILD_BUG_ON (two instances in x86/x86_64/mm.c)
- the definition of MASK_EXTR/MASK_INSR
- the definition of PDX_GROUP_COUNT

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 16:44:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 16:44:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635315.991200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r41wW-0001YK-4l; Fri, 17 Nov 2023 16:43:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635315.991200; Fri, 17 Nov 2023 16:43: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 1r41wV-0001YD-Uk; Fri, 17 Nov 2023 16:43:43 +0000
Received: by outflank-mailman (input) for mailman id 635315;
 Fri, 17 Nov 2023 16:43: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 1r41wV-0001Y1-15; Fri, 17 Nov 2023 16:43: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 1r41wU-0004Eu-V3; Fri, 17 Nov 2023 16:43: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 1r41wU-0001RX-HA; Fri, 17 Nov 2023 16:43:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r41wU-000813-Gf; Fri, 17 Nov 2023 16:43: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=e4twvwkFFKe39L8ymmzbOVdXLauRusw0cRN+RWs6W2s=; b=F2R0II3g0BbuEZzq3ti5lyGx/C
	wRBncBXWbWBoC9bdscfpAsTQop8oiLRhCLhQbz7kTphhRrnUeg6akSVMp1wI+XU0qFa2rGyVbS1b9
	Icqf3ahZB51jRWaS+xeUuo/VSgKUOpYm49stnbktmdfTpxLCjW2TmeYOME60Rpevflg0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183779-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183779: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=3ad5817053aa779c9536a624f260774b7afb64f6
X-Osstest-Versions-That:
    libvirt=1d456e18c796735c88c68742ff55314b114ad25e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Nov 2023 16:43:42 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183734
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183734
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183734
 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-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-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-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    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-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              3ad5817053aa779c9536a624f260774b7afb64f6
baseline version:
 libvirt              1d456e18c796735c88c68742ff55314b114ad25e

Last test of basis   183734  2023-11-11 04:20:33 Z    6 days
Testing same since   183779  2023-11-17 04:20:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Pavel Hrdina <phrdina@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   1d456e18c7..3ad5817053  3ad5817053aa779c9536a624f260774b7afb64f6 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 16:45:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 16:45:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635320.991209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r41ye-0002IV-Li; Fri, 17 Nov 2023 16:45:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635320.991209; Fri, 17 Nov 2023 16: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 1r41ye-0002IO-J4; Fri, 17 Nov 2023 16:45:56 +0000
Received: by outflank-mailman (input) for mailman id 635320;
 Fri, 17 Nov 2023 16:45: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=1e97=G6=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r41yc-0002II-OZ
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 16:45:54 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c529c0b9-8568-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 17:45:52 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-4079ed65582so17168565e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 17 Nov 2023 08:45:52 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p19-20020a05600c05d300b004081a011c0esm7523360wmd.12.2023.11.17.08.45.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 17 Nov 2023 08:45:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c529c0b9-8568-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700239552; x=1700844352; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=yVo6DqtPUzrFKz0gl1yax1yTDGlE+9FdDqEQaRRgmYo=;
        b=M9WAnZ2hzXBU2ooLPiiuLIA2y62CvnaD7ASAHfrPGf3MMlX3cj5OQXli9DDaig0U+d
         atigqkSa4nfSFNAsWJkPbymw8f2SQIXD+wUk3wCM9xhaBo2d7wER1XvtWn1n3LyoK0rt
         fwzRO6sIbgPgTSEP9UYgZx/sqhJWTPy5zT1GQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700239552; x=1700844352;
        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:subject:date:message-id:reply-to;
        bh=yVo6DqtPUzrFKz0gl1yax1yTDGlE+9FdDqEQaRRgmYo=;
        b=Lsah+33Z/JgvCjPm4G6m9HjaDtqoQlrBQgbGcOQdnNRlERbXwHLsaAdUfO4KE9s1Iw
         67sI55FfIwvEJIUzYV4HLEWtTUKHl0mhCbOM07iBz8jGvbd+GtRqntpDiIUjSwX0jfZa
         sgTyMCZbRgIWb13+MtWTG1KBB5w5YumTgwubPdd0DdTCVX8+KCSNmid4henllBluSdG/
         /naTh9VRaLj+SGlsfEYE3Z/X28m/w4JCTe/VCiUeRRb1stKYJeDmEEay00WyPCBUwUfH
         Seo0u6r6avekE3Fh4+IcdpaV/WIpZce9GlU6dX/OotrP0R+Pb5/QE+jKkTqPkGeCbL42
         0Zpw==
X-Gm-Message-State: AOJu0Ywr4pkZN/QTfPg//6qA0AtkKSyFQn/qZV5tzAQYfg2KTiMjnZLB
	O0xFB6RJ1gxO/Gxk5nmvl17S7zV9z1YTUVqvnKE=
X-Google-Smtp-Source: AGHT+IGnG6iTsOCEeWm1J9/vBV8FvHt1UXZ8jhBsSjIYIOIg9UodqxSKA+w49PcJtZA/V+3cAN5uWQ==
X-Received: by 2002:a05:600c:3c87:b0:402:8896:bb7b with SMTP id bg7-20020a05600c3c8700b004028896bb7bmr14473294wmb.6.1700239552120;
        Fri, 17 Nov 2023 08:45:52 -0800 (PST)
Date: Fri, 17 Nov 2023 17:45:50 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.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 v7 1/2] xen/vpci: header: status register handler
Message-ID: <ZVeYviUt9BIa6Y1B@macbook.local>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVdfRQpGFSU1OIkh@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZVdfRQpGFSU1OIkh@macbook.local>

On Fri, Nov 17, 2023 at 01:40:37PM +0100, Roger Pau Monné wrote:
> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
> >      {
> > -        uint32_t val;
> > -
> >          val = r->read(pdev, r->offset, r->private);
> > +        val &= ~r->rw1c_mask;
> >          data = merge_result(val, data, size, offset);
> >      }
> >  
> > +    data &= ~(r->rsvdz_mask | r->ro_mask);
> > +    data |= val & r->ro_mask;
> 
> You cannot apply the register masks directly into the final value, you
> need to offset and mask them as necessary, likewise for val, see
> what's done in merge_result().

Never mind, I was wrong, there's no need to offset anything here.

Roger.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 18:24:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 18:24:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635349.991219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r43WA-0003v6-B6; Fri, 17 Nov 2023 18:24:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635349.991219; Fri, 17 Nov 2023 18: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 1r43WA-0003uz-85; Fri, 17 Nov 2023 18:24:38 +0000
Received: by outflank-mailman (input) for mailman id 635349;
 Fri, 17 Nov 2023 18:24: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 1r43W9-0003ur-0q
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 18:24: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 1r43W8-00063G-Is; Fri, 17 Nov 2023 18:24:36 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.17.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 1r43W8-0001Wf-CO; Fri, 17 Nov 2023 18:24: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=ItFAbYz68LqIotY379B9VsIxxIiSzDvZxosbm44fRrc=; b=hD/3sWV8x6aGstT5MB2pBxnuNa
	2TTHrsTyMQTOdshQBuM4Dv8mTbWQV15dUtdfe3WYMBdMy5sp6wc+VUyChIOrvPGkai9yWNeL1tP5B
	n6ltwiDA4HBeej+OBtPEEd1yh8TDq/2zgucbAmLD4AAmhJerSnsGjNYi8bsOoDW8eOPg=;
Message-ID: <cd2146a5-bbb6-4c49-bca8-c340b4acaf36@xen.org>
Date: Fri, 17 Nov 2023 18:24:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-GB
To: Sergiy Kibrik <sergiy_kibrik@epam.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <9e0760f2-6ffd-4010-aabf-ff4f643f288c@xen.org>
 <98e05fb7-ea8b-48a4-b860-01d2a081e897@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <98e05fb7-ea8b-48a4-b860-01d2a081e897@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Sergiy,

On 17/11/2023 13:19, Sergiy Kibrik wrote:
>>>>> + */
>>>>> +#define GUEST_VIRTIO_PCI_ECAM_BASE          xen_mk_ullong(0x33000000)
>>>>> +#define GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE    xen_mk_ullong(0x01000000)
>>>>> +#define GUEST_VIRTIO_PCI_HOST_ECAM_SIZE     xen_mk_ullong(0x00200000)
>>>>> +
>>>>> +/* 64 MB is reserved for virtio-pci memory */
>>>>> +#define GUEST_VIRTIO_PCI_ADDR_TYPE_MEM    xen_mk_ullong(0x02000000)
>>>>> +#define GUEST_VIRTIO_PCI_MEM_ADDR         xen_mk_ullong(0x34000000)
>>>>> +#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x04000000)
>>>>> +
>>>>>    /*
>>>>>     * 16MB == 4096 pages reserved for guest to use as a region to 
>>>>> map its
>>>>>     * grant table in.
>>>>> @@ -476,6 +489,11 @@ typedef uint64_t xen_callback_t;
>>>>>    #define GUEST_MAGIC_BASE  xen_mk_ullong(0x39000000)
>>>>>    #define GUEST_MAGIC_SIZE  xen_mk_ullong(0x01000000)
>>>>> +/* 64 MB is reserved for virtio-pci Prefetch memory */
>>>>
>>>> This doesn't seem a lot depending on your use case. Can you details how
>>>> you can up with "64 MB"?
>>>
>>> the same calculation as it was done configuration space. It was observed
>>> that only 16K is used per virtio-pci device (maybe it can be bigger for
>>> usual PCI device, I don't know). Please look at the example of DomU log
>>> below (to strings that contain "*BAR 4: assigned*"):
>>
>> What about virtio-gpu? I would expect a bit more memory is necessary 
>> for that use case.
>>
>> Any case, what I am looking for is for some explanation in the commit 
>> message of the limits. I don't particularly care about the exact limit 
>> because this is not part of a stable ABI.
> 
> sure, I'll put a bit more explanation in both comment and commit 
> message. Should I post updated patch series, with updated resources and 
> without patch #5, or shall we wait for some more comments here?

I would wait for comments before posting in particular if you haven't 
yet received any comment on the tools side.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 18:30:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 18:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635354.991229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r43bV-00068T-UJ; Fri, 17 Nov 2023 18:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635354.991229; Fri, 17 Nov 2023 18: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 1r43bV-00068M-RJ; Fri, 17 Nov 2023 18:30:09 +0000
Received: by outflank-mailman (input) for mailman id 635354;
 Fri, 17 Nov 2023 18:30: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 1r43bU-00068G-5I
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 18:30: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 1r43bQ-0006AP-2G; Fri, 17 Nov 2023 18:30:04 +0000
Received: from 54-240-197-226.amazon.com ([54.240.197.226]
 helo=[192.168.17.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 1r43bP-0001e9-Rf; Fri, 17 Nov 2023 18: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=QsEAN6NLU6dZsKSF6Jqz+IYBctAEEtO6lnm/DI0Ghbg=; b=pCYDC3bsZVhcVVATt4+L0ABIeJ
	SA0mV5sjBtfQ6cRdHpZJKydYARwbIPkJGDpJuinZjDatOkt9edQrCMAuXvflx3iA/CNX98zah2Bnk
	edLy8IJ+Od+tzW+42sT0GC+9Rj7Xzzp3NHS/C42vHlRoDP6pVcYGOq0egrNE5dq21ZAE=;
Message-ID: <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org>
Date: Fri, 17 Nov 2023 18:30:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.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: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
 <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
 <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
 <87o7ft44bv.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop>
 <87a5rc4gk7.fsf@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <87a5rc4gk7.fsf@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Volodymyr,

On 17/11/2023 14:09, Volodymyr Babchuk wrote:
> 
> Hi Stefano,
> 
> Stefano Stabellini <sstabellini@kernel.org> writes:
> 
>> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
>>>> I still think, no matter the BDF allocation scheme, that we should try
>>>> to avoid as much as possible to have two different PCI Root Complex
>>>> emulators. Ideally we would have only one PCI Root Complex emulated by
>>>> Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
>>>> tolerable but not ideal.
>>>
>>> But what is exactly wrong with this setup?
>>
>> [...]
>>
>>>> The worst case I would like to avoid is to have
>>>> two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
>>>
>>> This is how our setup works right now.
>>
>> If we have:
>> - a single PCI Root Complex emulated in Xen
>> - Xen is safety certified
>> - individual Virtio devices emulated by QEMU with grants for memory
>>
>> We can go very far in terms of being able to use Virtio in safety
>> use-cases. We might even be able to use Virtio (frontends) in a SafeOS.
>>
>> On the other hand if we put an additional Root Complex in QEMU:
>> - we pay a price in terms of complexity of the codebase
>> - we pay a price in terms of resource utilization
>> - we have one additional problem in terms of using this setup with a
>>    SafeOS (one more device emulated by a non-safe component)
>>
>> Having 2 PCI Root Complexes both emulated in Xen is a middle ground
>> solution because:
>> - we still pay a price in terms of resource utilization
>> - the code complexity goes up a bit but hopefully not by much
>> - there is no impact on safety compared to the ideal scenario
>>
>> This is why I wrote that it is tolerable.
> 
> Ah, I see now. Yes, I am agree with this. Also I want to add some more
> points:
> 
> - There is ongoing work on implementing virtio backends as a separate
>    applications, written in Rust. Linaro are doing this part. Right now
>    they are implementing only virtio-mmio, but if they want to provide
>    virtio-pci as well, they will need a mechanism to plug only
>    virtio-pci, without Root Complex. This is argument for using single Root
>    Complex emulated in Xen.
> 
> - As far as I know (actually, Oleksandr told this to me), QEMU has no
>    mechanism for exposing virtio-pci backends without exposing PCI root
>    complex as well. Architecturally, there should be a PCI bus to which
>    virtio-pci devices are connected. Or we need to make some changes to
>    QEMU internals to be able to create virtio-pci backends that are not
>    connected to any bus. Also, added benefit that PCI Root Complex
>    emulator in QEMU handles legacy PCI interrupts for us. This is
>    argument for separate Root Complex for QEMU.
> 
> As right now we have only virtio-pci backends provided by QEMU and this
> setup is already working, I propose to stick to this
> solution. Especially, taking into account that it does not require any
> changes to hypervisor code.

I am not against two hostbridge as a temporary solution as long as this 
is not a one way door decision. I am not concerned about the hypervisor 
itself, I am more concerned about the interface exposed by the toolstack 
and QEMU.

To clarify, I don't particular want to have to maintain the two 
hostbridges solution once we can use a single hostbridge. So we need to 
be able to get rid of it without impacting the interface too much.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 19:16:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 19:16:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635361.991239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r44Jr-0005d4-BJ; Fri, 17 Nov 2023 19:15:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635361.991239; Fri, 17 Nov 2023 19: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 1r44Jr-0005cx-7k; Fri, 17 Nov 2023 19:15:59 +0000
Received: by outflank-mailman (input) for mailman id 635361;
 Fri, 17 Nov 2023 19:15: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 1r44Jq-0005cr-Pb
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 19:15: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 1r44Jq-0006yl-0R; Fri, 17 Nov 2023 19:15:58 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.17.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 1r44Jp-0003xY-NY; Fri, 17 Nov 2023 19: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ytkRD/PHoScSCragUN67/e3oTlxBIrr42n7Sb4Jzzfo=; b=obUsutDl5Gds1or78LbHD1s3Di
	kxfyeXCsox82Bl1dCym5bLYaFgUTu+8Q3ZaaK34wHhS1yjmH2iwQKDemumwRSRcsO+1UqbKMpYhJq
	+Y8CCVpTKrAv/gxuM1waFHebWMyVf9lnj/oIKnP296rmqy3T95TKFZlM9c0CX8ibOYgU=;
Message-ID: <40a3918e-730f-48b9-924f-d8707b197e14@xen.org>
Date: Fri, 17 Nov 2023 19:15:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <991883873b73e644ccaf8114a80331c0@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <991883873b73e644ccaf8114a80331c0@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Nicola,

On 16/11/2023 09:15, Nicola Vetrini wrote:
> On 2023-11-16 10:08, Nicola Vetrini wrote:
>> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>
>> Add missing 'xen/compiler.h' #include-s where needed.
>>
>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>> is modified to reflect this change.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> This patch should be applied after patch 2 of this series.
>> The request made by Julien to update the wording is
>> contained in the present patch.
>> https://lore.kernel.org/all/9ad7f6210c15f520297aac00e8af0e64@bugseng.com/
>>
>> Concerns about efi_multiboot2 will be dealt with separately.
>>
>> Changes in v2:
>> - Edit safe.json.
>> - Remove mention of SAF-1-safe in deviations.rst.
>> Changes in v3:
>> - Sorted #include-s and rebased against
>> 7ad0c774e474 ("x86/boot: tidy #include-s")
>> ---
>>  docs/misra/deviations.rst   |  5 ++---
>>  docs/misra/safe.json        |  2 +-
>>  xen/arch/arm/cpuerrata.c    |  7 +++----
>>  xen/arch/arm/setup.c        |  5 ++---
>>  xen/arch/arm/smpboot.c      |  3 +--
>>  xen/arch/arm/traps.c        | 21 +++++++--------------
>>  xen/arch/x86/boot/cmdline.c |  5 +++--
>>  xen/arch/x86/boot/reloc.c   |  6 +++---
>>  xen/arch/x86/extable.c      |  3 +--
>>  xen/arch/x86/setup.c        |  3 +--
>>  xen/arch/x86/traps.c        | 27 +++++++++------------------
>>  xen/common/efi/boot.c       |  5 ++---
>>  12 files changed, 35 insertions(+), 57 deletions(-)
>>
> 
> In hindsight I should have added an
> 
> Acked-by: Julien Grall <jgrall@amazon.com>
> 
> given that the comment has been addressed in my opinion.

I am a bit confused how you considered it was addressed. I see no update 
in safe.json when I clearly asked for some (I wouldn't have bothered to 
comment in v2 otherwise and just gave an ack).

To be explicit, I requested to:
   1. update the description in [1] to clarify that SAF-1 is deprecated.
   2. This patch is rebased on top and therefore remove completely the 
mention of SAF-1.

I am well-aware that the end result is technically the same. But patches 
are meant to be self-contained so if we revert the latest, then the 
meaning is still the same.

This patch is unlikely to be removed and this is now the nth time I 
asked it the same (maybe it was not clear enough?). So I am going to 
content with the current proposal because this is not worth to go 
further. But I will at least express my discontent how this is handled.

TBH, there are far too many MISRA patches on the ML spread across 
multiple threads. Some are based on top of the others. This makes 
extremely difficult to follow and know what is addressed or not. Can we 
at least try to condense some of work in similar area in the same 
series? For instance, this patch could have been included in the other 
series [1].

Lastly, right now, I have 300 emails (31 threads) with MISRA in the 
title in my inbox. It is a little unclear what has been committed/review 
or require input. I am concerned to miss key series (the patch to 
compile in docs/ was nearly missed).

Do we track anywhere which series are still inflights? Can we consider 
to pause or at least slow down the rate of new MISRA patches until the 
backlog is cleared? (Adding more patches is not really helping).

Cheers,

[1] 
https://lore.kernel.org/all/a1b5c3b273145c35535fed3647bf850d9ae5db7f.1698829473.git.nicola.vetrini@bugseng.com/ 


I pointed out that the patch in

> 

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 19:22:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 19:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635364.991249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r44Pe-0007oV-Vx; Fri, 17 Nov 2023 19:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635364.991249; Fri, 17 Nov 2023 19:21: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 1r44Pe-0007oO-SK; Fri, 17 Nov 2023 19:21:58 +0000
Received: by outflank-mailman (input) for mailman id 635364;
 Fri, 17 Nov 2023 19:21: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 1r44Pd-0007oH-7b
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 19:21: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 1r44Pc-00076K-GT; Fri, 17 Nov 2023 19:21:56 +0000
Received: from 54-240-197-234.amazon.com ([54.240.197.234]
 helo=[192.168.17.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 1r44Pc-00044j-8x; Fri, 17 Nov 2023 19:21: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=wcMZmFe43PazEsymAusMaw2wdZTHPIcgLWW1hn8EBBU=; b=07LPpUbBLCYImj04A+6T6alWfx
	5UI8NMK6CSCJt48KoNHgWcyamW3CD7/uiWB6eiNPK8XR2jQJ9tgwNWEj42xJ8i6UDNoTie18TmFuN
	ssiK+RwXQ9QVJSYAWXADjxGqsU79v7Kfj1CTCWtjGHDHVnfD6fL7fk+cmgX9qhBe+lco=;
Message-ID: <90f41e53-783b-43e6-9188-abbae847e370@xen.org>
Date: Fri, 17 Nov 2023 19:21:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, bertrand.marquis@arm.com,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com>
 <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com>
 <f63fa9b5-a821-49d4-88f6-7d991ab6c644@xen.org>
 <1689d4b47d708098c43601a58e867f1c@bugseng.com>
 <ecbfa46d-2e0a-4685-9695-f7de37e7b6ce@xen.org>
 <fd6f51afebb9fd90531e30289eb99d8c@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <fd6f51afebb9fd90531e30289eb99d8c@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi,

On 16/11/2023 08:45, Nicola Vetrini wrote:
> On 2023-11-15 12:22, Julien Grall wrote:
>> Hi,
>>
>> On 15/11/2023 11:02, Nicola Vetrini wrote:
>>> On 2023-11-14 23:12, Julien Grall wrote:
>>>> Hi,
>>>>
>>>> On 14/11/2023 15:36, Nicola Vetrini wrote:
>>>>> To be able to check for the existence of the necessary subsections in
>>>>> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a 
>>>>> source
>>>>> file that is built.
>>>>>
>>>>> This file is generated from 'C-runtime-failures.rst' in docs/misra
>>>>> and the configuration is updated accordingly.
>>>>>
>>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>> ---
>>>>> Changes from RFC:
>>>>> - Dropped unused/useless code
>>>>> - Revised the sed command
>>>>> - Revised the clean target
>>>>>
>>>>> Changes in v2:
>>>>> - Added explanative comment to the makefile
>>>>> - printf instead of echo
>>>>>
>>>>> Changes in v3:
>>>>> - Terminate the generated file with a newline
>>>>> - Build it with -std=c99, so that the documentation
>>>>>    for D1.1 applies.
>>>>> Changes in v5:
>>>>> - Transform and build the file directly in the eclair-specific 
>>>>> directory
>>>>> ---
>>>>>   automation/eclair_analysis/build.sh   | 21 +++++++++++++++++++--
>>>>>   automation/eclair_analysis/prepare.sh |  7 ++++---
>>>>>   2 files changed, 23 insertions(+), 5 deletions(-)
>>>>>
>>>>> diff --git a/automation/eclair_analysis/build.sh 
>>>>> b/automation/eclair_analysis/build.sh
>>>>> index ec087dd822fa..f24292ed0643 100755
>>>>> --- a/automation/eclair_analysis/build.sh
>>>>> +++ b/automation/eclair_analysis/build.sh
>>>>> @@ -33,12 +33,29 @@ else
>>>>>     PROCESSORS=6
>>>>>   fi
>>>>>   +runtime_failures_docs() {
>>>>> +  doc="C-runtime-failures.rst"
>>>>> +  builddir="automation/eclair_analysis"
>>>>> +
>>>>> +  cp "docs/misra/${doc}" "${builddir}"
>>>>
>>>> Is it necessary to copy the .rst? IOW, would it be sufficient to use...
>>>>
>>>>> +  cd "${builddir}"
>>>>> +  printf "/*\n\n" >"${doc}.tmp"
>>>>> +  sed -e 's|\*/|*//*|g' "${doc}" >>"${doc}.tmp"
>>>>
>>>> ... docs/misc/${doc} here?
>>>>
>>>
>>> I didn't want to leave a stray file under docs/misra, but it's not 
>>> essential.
>>
>> I am confused. I am suggesting to use:
>>
>> sed -e 's|\*/|*//*|g' "../../docs/misc/${doc}" >> "${doc}.tmp"
>>
>> So *.tmp is still created at the same place.
>>
> 
> Ok, makes sense.
> 
>>>
>>>>> +  printf "\n\n*/\n" >>"${doc}.tmp"
>>>>> +  mv "${doc}.tmp" "${doc}.c"
>>>>
>>>> NIT: I am not sure why you need to first create .tmp and then create.c.
>>>>
>>>
>>> Wasn't this a pattern to defend against interruptions of the build, 
>>> just as I did in v3?
>>>
>>> +$(TARGETS:.o=.c): %.c: %.rst
>>> +    printf "/*\n\n" > $@.tmp
>>> +    sed -e 's|\*/|*//*|g' $< >> $@.tmp
>>> +    printf "\n\n*/\n" >> $@.tmp
>>> +    mv $@.tmp $@
>>
>> Yes but it makes sense for the Makefile because the target would not 
>> be re-executed if *.c exists.
>>
>> But I don't think this is the case for you because you are using a 
>> bash script. So your function should always be re-executed regardless 
>> on whether it was interrupted or not.
>>
> 
> Ok.
> 
>>>
>>>>> +
>>>>> +  # Cannot redirect to /dev/null because it would be excluded from 
>>>>> the analysis
>>>>> +  "${CROSS_COMPILE}gcc-12" -std=c99 -c "${doc}.c" -o "${doc}.o"
>>>>
>>>> NIT: It would be helpful to specify why -std=c99 is used. Above, you 
>>>> suggest this is to enable D1.1.
>>>>
>>>
>>> Yeah, the comment in the changelog should be pasted here
>>>
>>>> NIT: Can we define CC and use here and ...
>>>>
>>>>> +  cd -
>>>>> +}
>>>>> +
>>>>>   (
>>>>> -  cd xen
>>>>> +  runtime_failures_docs
>>>>>       make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
>>>>>          "CROSS_COMPILE=${CROSS_COMPILE}"         \
>>>>>          "CC=${CROSS_COMPILE}gcc-12"              \
>>>>
>>>> ...? This would make easier to re-use the code.
>>>>
>>>
>>> I don't expect this build script to be changed much to be honest, but 
>>> if you think
>>> this is beneficial then it's ok.
>>
>> This is not only about code evolving. It makes easier to spot your are 
>> using the same compiler. I would not have made the remark if you were 
>> using 'gcc'.
>>
>> But I noticed you were using gcc-12 and originally thought it was a 
>> mistake until I saw the second use.
>>
>> The advantage of a variable CC (and CXX) is you can add a comment on 
>> top why you are specifically requestion gcc-12? IOW, why is gcc not fine?
>>
> 
> The assumptions in C-language-toolchain.rst (which are reflected in the 
> analysis config) are using gcc-12 explicitly; that's just easier from a 
> certification perspective to have a fixed version.

I am not against fixed version. It just needs to be documented. At least 
reading C-language-toolchain.rst, it is not obvious to me that this is 
only applying to GCC-12.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 19:23:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 19:23:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635367.991259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r44Ql-0008Nt-Ch; Fri, 17 Nov 2023 19:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635367.991259; Fri, 17 Nov 2023 19:23: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 1r44Ql-0008Nm-9r; Fri, 17 Nov 2023 19:23:07 +0000
Received: by outflank-mailman (input) for mailman id 635367;
 Fri, 17 Nov 2023 19:23: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=n/Se=G6=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r44Qj-0008Ne-AD
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 19:23:05 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b854243b-857e-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 20:23:01 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 6B8E482857EB;
 Fri, 17 Nov 2023 13:22:59 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id yNE14JElk8to; Fri, 17 Nov 2023 13:22:57 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 12A1382857EC;
 Fri, 17 Nov 2023 13:22:57 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id IZQe10XAnIj5; Fri, 17 Nov 2023 13:22:56 -0600 (CST)
Received: from raptor-ewks-026.2lan (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 92D2482857EB;
 Fri, 17 Nov 2023 13:22:56 -0600 (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: b854243b-857e-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 12A1382857EC
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1700248977; bh=rrS98yFoCir+fVp7z2VJPB9bRNWgZ1ymV3ZhVtsKbi8=;
	h=From:To:Date:Message-Id:MIME-Version;
	b=E2J1n4RF7Ir1NJRc83bEKJDlzWkkDHHbd4xNEXApDrWPI1NzfBD+hi5XU9E2/33Y5
	 vIuSFh2oEGTjrvPIuADxwGILV7WECBUBCvXj8MrN+KpCeNauD/N2jcyl9TTu+jm7Lu
	 Cu32HP8vryP5jTwdxTlOdZCFIuORGJ/nGgf0FytE=
X-Virus-Scanned: amavisd-new at rptsys.com
From: Shawn Anastasio <sanastasio@raptorengineering.com>
To: xen-devel@lists.xenproject.org
Cc: Timothy Pearson <tpearson@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: [PATCH] xen/ppc: Enable Boot Allocator
Date: Fri, 17 Nov 2023 13:22:13 -0600
Message-Id: <20231117192213.3848826-1-sanastasio@raptorengineering.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

Adapt arm's earlyfdt parsing code to ppc64 and enable Xen's early boot
allocator. Routines for parsing arm-specific devicetree nodes (e.g.
multiboot) were excluded, reducing the overall footprint of code that
was copied.

Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com>
---
 xen/arch/ppc/Makefile            |   1 +
 xen/arch/ppc/bootfdt.c           | 507 +++++++++++++++++++++++++++++++
 xen/arch/ppc/include/asm/setup.h | 113 +++++++
 xen/arch/ppc/setup.c             | 109 ++++++-
 4 files changed, 729 insertions(+), 1 deletion(-)
 create mode 100644 xen/arch/ppc/bootfdt.c

diff --git a/xen/arch/ppc/Makefile b/xen/arch/ppc/Makefile
index 71feb5e2c4..8a2a809c70 100644
--- a/xen/arch/ppc/Makefile
+++ b/xen/arch/ppc/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_PPC64) += ppc64/
 
+obj-y += bootfdt.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.init.o
 obj-y += mm-radix.o
 obj-y += opal.o
diff --git a/xen/arch/ppc/bootfdt.c b/xen/arch/ppc/bootfdt.c
new file mode 100644
index 0000000000..791e1ca61f
--- /dev/null
+++ b/xen/arch/ppc/bootfdt.c
@@ -0,0 +1,507 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * Early Device Tree and boot info bookkeeping.
+ * Derived from arch/arm/bootfdt.c and setup.c.
+ *
+ * Copyright (C) 2012-2014 Citrix Systems, Inc.
+ * Copyright (C) Raptor Engineering LLC
+ */
+
+#include <xen/types.h>
+#include <xen/lib.h>
+#include <xen/kernel.h>
+#include <xen/init.h>
+#include <xen/efi.h>
+#include <xen/device_tree.h>
+#include <xen/lib.h>
+#include <xen/libfdt/libfdt-xen.h>
+#include <xen/sort.h>
+#include <xsm/xsm.h>
+#include <asm/setup.h>
+
+struct bootinfo __initdata bootinfo;
+
+struct bootmodule __init *add_boot_module(bootmodule_kind kind,
+                                          paddr_t start, paddr_t size,
+                                          bool domU)
+{
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootmodule *mod;
+    unsigned int i;
+
+    if ( mods->nr_mods == MAX_MODULES )
+    {
+        printk("Ignoring %s boot module at %"PRIpaddr"-%"PRIpaddr" (too many)\n",
+               boot_module_kind_as_string(kind), start, start + size);
+        return NULL;
+    }
+
+    if ( check_reserved_regions_overlap(start, size) )
+        return NULL;
+
+    for ( i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->module[i];
+        if ( mod->kind == kind && mod->start == start )
+        {
+            if ( !domU )
+                mod->domU = false;
+            return mod;
+        }
+    }
+
+    mod = &mods->module[mods->nr_mods++];
+    mod->kind = kind;
+    mod->start = start;
+    mod->size = size;
+    mod->domU = domU;
+
+    return mod;
+}
+
+const char * __init boot_module_kind_as_string(bootmodule_kind kind)
+{
+    switch ( kind )
+    {
+    case BOOTMOD_XEN:     return "Xen";
+    case BOOTMOD_FDT:     return "Device Tree";
+    case BOOTMOD_KERNEL:  return "Kernel";
+    default: BUG();
+    }
+}
+
+/*
+ * TODO: '*_end' could be 0 if the module/region is at the end of the physical
+ * address space. This is for now not handled as it requires more rework.
+ */
+static bool __init bootmodules_overlap_check(struct bootmodules *bootmodules,
+                                             paddr_t region_start,
+                                             paddr_t region_size)
+{
+    paddr_t mod_start = INVALID_PADDR, mod_end = 0;
+    paddr_t region_end = region_start + region_size;
+    unsigned int i, mod_num = bootmodules->nr_mods;
+
+    for ( i = 0; i < mod_num; i++ )
+    {
+        mod_start = bootmodules->module[i].start;
+        mod_end = mod_start + bootmodules->module[i].size;
+
+        if ( region_end <= mod_start || region_start >= mod_end )
+            continue;
+        else
+        {
+            printk("Region: [%#"PRIpaddr", %#"PRIpaddr") overlapping with"
+                   " mod[%u]: [%#"PRIpaddr", %#"PRIpaddr")\n", region_start,
+                   region_end, i, mod_start, mod_end);
+            return true;
+        }
+    }
+
+    return false;
+}
+
+/*
+ * TODO: '*_end' could be 0 if the bank/region is at the end of the physical
+ * address space. This is for now not handled as it requires more rework.
+ */
+static bool __init meminfo_overlap_check(struct meminfo *meminfo,
+                                         paddr_t region_start,
+                                         paddr_t region_size)
+{
+    paddr_t bank_start = INVALID_PADDR, bank_end = 0;
+    paddr_t region_end = region_start + region_size;
+    unsigned int i, bank_num = meminfo->nr_banks;
+
+    for ( i = 0; i < bank_num; i++ )
+    {
+        bank_start = meminfo->bank[i].start;
+        bank_end = bank_start + meminfo->bank[i].size;
+
+        if ( region_end <= bank_start || region_start >= bank_end )
+            continue;
+        else
+        {
+            printk("Region: [%#"PRIpaddr", %#"PRIpaddr") overlapping with"
+                   " bank[%u]: [%#"PRIpaddr", %#"PRIpaddr")\n", region_start,
+                   region_end, i, bank_start, bank_end);
+            return true;
+        }
+    }
+
+    return false;
+}
+
+/*
+ * Given an input physical address range, check if this range is overlapping
+ * with the existing reserved memory regions defined in bootinfo.
+ * Return true if the input physical address range is overlapping with any
+ * existing reserved memory regions, otherwise false.
+ */
+bool __init check_reserved_regions_overlap(paddr_t region_start,
+                                           paddr_t region_size)
+{
+    /* Check if input region is overlapping with bootinfo.reserved_mem banks */
+    if ( meminfo_overlap_check(&bootinfo.reserved_mem,
+                               region_start, region_size) )
+        return true;
+
+    /* Check if input region is overlapping with bootmodules */
+    if ( bootmodules_overlap_check(&bootinfo.modules,
+                                   region_start, region_size) )
+        return true;
+
+    return false;
+}
+
+static bool __init device_tree_node_matches(const void *fdt, int node,
+                                            const char *match)
+{
+    const char *name;
+    size_t match_len;
+
+    name = fdt_get_name(fdt, node, NULL);
+    match_len = strlen(match);
+
+    /*
+     * Match both "match" and "match@..." patterns but not
+     * "match-foo".
+     */
+    return strncmp(name, match, match_len) == 0
+        && (name[match_len] == '@' || name[match_len] == '\0');
+}
+
+void __init device_tree_get_reg(const __be32 **cell, uint32_t address_cells,
+                                uint32_t size_cells, paddr_t *start,
+                                paddr_t *size)
+{
+    uint64_t dt_start, dt_size;
+
+    /*
+     * dt_next_cell will return uint64_t whereas paddr_t may not be 64-bit.
+     * Thus, there is an implicit cast from uint64_t to paddr_t.
+     */
+    dt_start = dt_next_cell(address_cells, cell);
+    dt_size = dt_next_cell(size_cells, cell);
+
+    if ( dt_start != (paddr_t)dt_start )
+    {
+        printk("Physical address greater than max width supported\n");
+        WARN();
+    }
+
+    if ( dt_size != (paddr_t)dt_size )
+    {
+        printk("Physical size greater than max width supported\n");
+        WARN();
+    }
+
+    /*
+     * Xen will truncate the address/size if it is greater than the maximum
+     * supported width and it will give an appropriate warning.
+     */
+    *start = dt_start;
+    *size = dt_size;
+}
+
+static int __init device_tree_get_meminfo(const void *fdt, int node,
+                                          const char *prop_name,
+                                          uint32_t address_cells, uint32_t size_cells,
+                                          void *data, enum membank_type type)
+{
+    const struct fdt_property *prop;
+    unsigned int i, banks;
+    const __be32 *cell;
+    uint32_t reg_cells = address_cells + size_cells;
+    paddr_t start, size;
+    struct meminfo *mem = data;
+
+    if ( address_cells < 1 || size_cells < 1 )
+    {
+        printk("fdt: property `%s': invalid #address-cells or #size-cells",
+               prop_name);
+        return -EINVAL;
+    }
+
+    prop = fdt_get_property(fdt, node, prop_name, NULL);
+    if ( !prop )
+        return -ENOENT;
+
+    cell = (const __be32 *)prop->data;
+    banks = fdt32_to_cpu(prop->len) / (reg_cells * sizeof(uint32_t));
+
+    for ( i = 0; i < banks && mem->nr_banks < NR_MEM_BANKS; i++ )
+    {
+        device_tree_get_reg(&cell, address_cells, size_cells, &start, &size);
+        if ( mem == &bootinfo.reserved_mem &&
+             check_reserved_regions_overlap(start, size) )
+            return -EINVAL;
+        /* Some DT may describe empty bank, ignore them */
+        if ( !size )
+            continue;
+        mem->bank[mem->nr_banks].start = start;
+        mem->bank[mem->nr_banks].size = size;
+        mem->bank[mem->nr_banks].type = type;
+        mem->nr_banks++;
+    }
+
+    if ( i < banks )
+    {
+        printk("Warning: Max number of supported memory regions reached.\n");
+        return -ENOSPC;
+    }
+
+    return 0;
+}
+
+uint32_t __init device_tree_get_uint32_t(const void *fdt, int node,
+                               const char *prop_name, uint32_t dflt)
+{
+    const struct fdt_property *prop;
+
+    prop = fdt_get_property(fdt, node, prop_name, NULL);
+    if ( !prop || prop->len < sizeof(uint32_t) )
+        return dflt;
+
+    return fdt32_to_cpu(*(uint32_t*)prop->data);
+}
+
+/**
+ * device_tree_for_each_node - iterate over all device tree sub-nodes
+ * @fdt: flat device tree.
+ * @node: parent node to start the search from
+ * @func: function to call for each sub-node.
+ * @data: data to pass to @func.
+ *
+ * Any nodes nested at DEVICE_TREE_MAX_DEPTH or deeper are ignored.
+ *
+ * Returns 0 if all nodes were iterated over successfully.  If @func
+ * returns a value different from 0, that value is returned immediately.
+ */
+int __init device_tree_for_each_node(const void *fdt, int node,
+                                     device_tree_node_func func,
+                                     void *data)
+{
+    /*
+     * We only care about relative depth increments, assume depth of
+     * node is 0 for simplicity.
+     */
+    int depth = 0;
+    const int first_node = node;
+    uint32_t address_cells[DEVICE_TREE_MAX_DEPTH];
+    uint32_t size_cells[DEVICE_TREE_MAX_DEPTH];
+    int ret;
+
+    do {
+        const char *name = fdt_get_name(fdt, node, NULL);
+        uint32_t as, ss;
+
+        if ( depth >= DEVICE_TREE_MAX_DEPTH )
+        {
+            printk("Warning: device tree node `%s' is nested too deep\n",
+                   name);
+            continue;
+        }
+
+        as = depth > 0 ? address_cells[depth-1] : DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
+        ss = depth > 0 ? size_cells[depth-1] : DT_ROOT_NODE_SIZE_CELLS_DEFAULT;
+
+        address_cells[depth] = device_tree_get_uint32_t(fdt, node,
+                                                   "#address-cells", as);
+        size_cells[depth] = device_tree_get_uint32_t(fdt, node,
+                                                "#size-cells", ss);
+
+        /* skip the first node */
+        if ( node != first_node )
+        {
+            ret = func(fdt, node, name, depth, as, ss, data);
+            if ( ret != 0 )
+                return ret;
+        }
+
+        node = fdt_next_node(fdt, node, &depth);
+    } while ( node >= 0 && depth > 0 );
+
+    return 0;
+}
+
+static int __init process_memory_node(const void *fdt, int node,
+                                      const char *name, int depth,
+                                      uint32_t address_cells, uint32_t size_cells,
+                                      void *data)
+{
+    return device_tree_get_meminfo(fdt, node, "reg", address_cells, size_cells,
+                                   data, MEMBANK_DEFAULT);
+}
+
+static int __init process_reserved_memory_node(const void *fdt, int node,
+                                               const char *name, int depth,
+                                               uint32_t address_cells,
+                                               uint32_t size_cells,
+                                               void *data)
+{
+    int rc;
+
+    rc = process_memory_node(fdt, node, name, depth, address_cells,
+                                 size_cells, data);
+
+
+    if ( rc == -ENOSPC )
+        panic("Max number of supported reserved-memory regions reached.\n");
+    else if ( rc != -ENOENT )
+        return rc;
+    return 0;
+}
+
+static int __init process_reserved_memory(const void *fdt, int node,
+                                          const char *name, int depth,
+                                          uint32_t address_cells, uint32_t size_cells)
+{
+    return device_tree_for_each_node(fdt, node,
+                                     process_reserved_memory_node,
+                                     &bootinfo.reserved_mem);
+}
+
+static int __init process_chosen_node(const void *fdt, int node,
+                                      const char *name,
+                                      uint32_t address_cells, uint32_t size_cells)
+{
+    const struct fdt_property *prop;
+    paddr_t start, end;
+    int len;
+
+    printk("Checking for initrd in /chosen\n");
+
+    prop = fdt_get_property(fdt, node, "linux,initrd-start", &len);
+    if ( !prop )
+        /* No initrd present. */
+        return 0;
+    if ( len != sizeof(uint32_t) && len != sizeof(uint64_t) )
+    {
+        printk("linux,initrd-start property has invalid length %d\n", len);
+        return -EINVAL;
+    }
+    start = dt_read_paddr((void *)&prop->data, dt_size_to_cells(len));
+
+    prop = fdt_get_property(fdt, node, "linux,initrd-end", &len);
+    if ( !prop )
+    {
+        printk("linux,initrd-end not present but -start was\n");
+        return -EINVAL;
+    }
+    if ( len != sizeof(uint32_t) && len != sizeof(uint64_t) )
+    {
+        printk("linux,initrd-end property has invalid length %d\n", len);
+        return -EINVAL;
+    }
+    end = dt_read_paddr((void *)&prop->data, dt_size_to_cells(len));
+
+    if ( start >= end )
+    {
+        printk("linux,initrd limits invalid: %"PRIpaddr" >= %"PRIpaddr"\n",
+                  start, end);
+        return -EINVAL;
+    }
+
+    printk("Initrd %"PRIpaddr"-%"PRIpaddr"\n", start, end);
+
+    add_boot_module(BOOTMOD_RAMDISK, start, end-start, false);
+
+    return 0;
+}
+
+static int __init early_scan_node(const void *fdt,
+                                  int node, const char *name, int depth,
+                                  uint32_t address_cells, uint32_t size_cells,
+                                  void *data)
+{
+    int rc = 0;
+
+    if( device_tree_node_matches(fdt, node, "memory") )
+        rc = process_memory_node(fdt, node, name, depth,
+                                 address_cells, size_cells, &bootinfo.mem);
+    else if ( depth == 1 && !dt_node_cmp(name, "reserved-memory") )
+        rc = process_reserved_memory(fdt, node, name, depth,
+                                     address_cells, size_cells);
+    else if ( depth == 1 && device_tree_node_matches(fdt, node, "chosen") )
+        rc = process_chosen_node(fdt, node, name, address_cells, size_cells);
+
+    if ( rc < 0 )
+        printk("fdt: node `%s': parsing failed\n", name);
+    return rc;
+}
+
+static void __init early_print_info(void)
+{
+    struct meminfo *mi = &bootinfo.mem;
+    struct meminfo *mem_resv = &bootinfo.reserved_mem;
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootcmdlines *cmds = &bootinfo.cmdlines;
+    unsigned int i, j;
+
+    for ( i = 0; i < mi->nr_banks; i++ )
+        printk("RAM: %"PRIpaddr" - %"PRIpaddr"\n",
+                mi->bank[i].start,
+                mi->bank[i].start + mi->bank[i].size - 1);
+    printk("\n");
+    for ( i = 0 ; i < mods->nr_mods; i++ )
+        printk("MODULE[%d]: %"PRIpaddr" - %"PRIpaddr" %-12s\n",
+                i,
+                mods->module[i].start,
+                mods->module[i].start + mods->module[i].size,
+                boot_module_kind_as_string(mods->module[i].kind));
+
+    for ( j = 0; j < mem_resv->nr_banks; j++, i++ )
+    {
+        printk(" RESVD_[%u]: %"PRIpaddr" - %"PRIpaddr"\n", i,
+               mem_resv->bank[j].start,
+               mem_resv->bank[j].start + mem_resv->bank[j].size - 1);
+    }
+    printk("\n");
+    for ( i = 0 ; i < cmds->nr_mods; i++ )
+        printk("CMDLINE[%"PRIpaddr"]:%s %s\n", cmds->cmdline[i].start,
+               cmds->cmdline[i].dt_name,
+               &cmds->cmdline[i].cmdline[0]);
+    printk("\n");
+}
+
+/**
+ * boot_fdt_init - initialize bootinfo from a DTB
+ * @fdt: flattened device tree binary
+ * @paddr: physical address of device tree binary
+ *
+ * Returns the size of the DTB.
+ */
+size_t __init boot_fdt_init(const void *fdt, paddr_t paddr)
+{
+    int ret;
+    paddr_t xen_start, xen_end;
+
+    ret = fdt_check_header(fdt);
+    if ( ret < 0 )
+        panic("No valid device tree\n");
+
+    device_tree_for_each_node((void *)fdt, 0, early_scan_node, NULL);
+
+    /*
+     * The device tree passed to us may have been allocated by skiboot, in which
+     * case it will exist within a reserved region and this call will fail. This
+     * is fine, however, since either way the allocator will know not to step on
+     * the device tree.
+     */
+    add_boot_module(BOOTMOD_FDT, paddr, fdt_totalsize(fdt), false);
+
+    /*
+     * Xen relocates itself at the ppc64 entrypoint, so we need to manually mark
+     * the kernel module.
+     */
+    xen_start = __pa(_start);
+    xen_end = PAGE_ALIGN(__pa(_end));
+    if ( !add_boot_module(BOOTMOD_KERNEL, xen_start, xen_end, false) )
+        panic("Xen overlaps reserved memory! %016lx - %016lx\n", xen_start,
+              xen_end);
+
+    early_print_info();
+
+    return fdt_totalsize(fdt);
+}
diff --git a/xen/arch/ppc/include/asm/setup.h b/xen/arch/ppc/include/asm/setup.h
index e4f64879b6..f6e1940fa9 100644
--- a/xen/arch/ppc/include/asm/setup.h
+++ b/xen/arch/ppc/include/asm/setup.h
@@ -3,4 +3,117 @@
 
 #define max_init_domid (0)
 
+#include <public/version.h>
+#include <asm/p2m.h>
+#include <xen/device_tree.h>
+
+#define MIN_FDT_ALIGN 8
+#define MAX_FDT_SIZE SZ_2M
+
+#define NR_MEM_BANKS 256
+
+#define MAX_MODULES 32 /* Current maximum useful modules */
+
+typedef enum {
+    BOOTMOD_XEN,
+    BOOTMOD_FDT,
+    BOOTMOD_KERNEL,
+    BOOTMOD_RAMDISK,
+}  bootmodule_kind;
+
+enum membank_type {
+    /*
+     * The MEMBANK_DEFAULT type refers to either reserved memory for the
+     * device/firmware (when the bank is in 'reserved_mem') or any RAM (when
+     * the bank is in 'mem').
+     */
+    MEMBANK_DEFAULT,
+    /*
+     * The MEMBANK_STATIC_DOMAIN type is used to indicate whether the memory
+     * bank is bound to a static Xen domain. It is only valid when the bank
+     * is in reserved_mem.
+     */
+    MEMBANK_STATIC_DOMAIN,
+    /*
+     * The MEMBANK_STATIC_HEAP type is used to indicate whether the memory
+     * bank is reserved as static heap. It is only valid when the bank is
+     * in reserved_mem.
+     */
+    MEMBANK_STATIC_HEAP,
+};
+
+/* Indicates the maximum number of characters(\0 included) for shm_id */
+#define MAX_SHM_ID_LENGTH 16
+
+struct membank {
+    paddr_t start;
+    paddr_t size;
+    enum membank_type type;
+};
+
+struct meminfo {
+    unsigned int nr_banks;
+    struct membank bank[NR_MEM_BANKS];
+};
+
+/*
+ * The domU flag is set for kernels and ramdisks of "xen,domain" nodes.
+ * The purpose of the domU flag is to avoid getting confused in
+ * kernel_probe, where we try to guess which is the dom0 kernel and
+ * initrd to be compatible with all versions of the multiboot spec.
+ */
+#define BOOTMOD_MAX_CMDLINE 1024
+struct bootmodule {
+    bootmodule_kind kind;
+    bool domU;
+    paddr_t start;
+    paddr_t size;
+};
+
+/* DT_MAX_NAME is the node name max length according the DT spec */
+#define DT_MAX_NAME 41
+struct bootcmdline {
+    bootmodule_kind kind;
+    bool domU;
+    paddr_t start;
+    char dt_name[DT_MAX_NAME];
+    char cmdline[BOOTMOD_MAX_CMDLINE];
+};
+
+struct bootmodules {
+    int nr_mods;
+    struct bootmodule module[MAX_MODULES];
+};
+
+struct bootcmdlines {
+    unsigned int nr_mods;
+    struct bootcmdline cmdline[MAX_MODULES];
+};
+
+struct bootinfo {
+    struct meminfo mem;
+    struct meminfo reserved_mem;
+    struct bootmodules modules;
+    struct bootcmdlines cmdlines;
+    bool static_heap;
+};
+
+extern struct bootinfo bootinfo;
+
+/*
+ * setup.c
+ */
+
+bool check_reserved_regions_overlap(paddr_t region_start, paddr_t region_size);
+struct bootmodule *add_boot_module(bootmodule_kind kind,
+                                   paddr_t start, paddr_t size, bool domU);
+void add_boot_cmdline(const char *name, const char *cmdline,
+                      bootmodule_kind kind, paddr_t start, bool domU);
+const char *boot_module_kind_as_string(bootmodule_kind kind);
+
+/*
+ * bootfdt.c
+ */
+size_t boot_fdt_init(const void *fdt, paddr_t paddr);
+
 #endif /* __ASM_PPC_SETUP_H__ */
diff --git a/xen/arch/ppc/setup.c b/xen/arch/ppc/setup.c
index 101bdd8bb6..90de99051e 100644
--- a/xen/arch/ppc/setup.c
+++ b/xen/arch/ppc/setup.c
@@ -1,16 +1,116 @@
 /* SPDX-License-Identifier: GPL-2.0-or-later */
 #include <xen/init.h>
 #include <xen/lib.h>
+#include <xen/libfdt/libfdt.h>
 #include <xen/mm.h>
 #include <public/version.h>
 #include <asm/boot.h>
 #include <asm/early_printk.h>
 #include <asm/mm.h>
 #include <asm/processor.h>
+#include <asm/setup.h>
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE] __aligned(STACK_SIZE);
 
+/*
+ * Return the end of the non-module region starting at s. In other
+ * words return s the start of the next modules after s.
+ *
+ * On input *end is the end of the region which should be considered
+ * and it is updated to reflect the end of the module, clipped to the
+ * end of the region if it would run over.
+ */
+static paddr_t __init next_module(paddr_t s, paddr_t *end)
+{
+    struct bootmodules *mi = &bootinfo.modules;
+    paddr_t lowest = ~(paddr_t)0;
+    int i;
+
+    for ( i = 0; i < mi->nr_mods; i++ )
+    {
+        paddr_t mod_s = mi->module[i].start;
+        paddr_t mod_e = mod_s + mi->module[i].size;
+
+        if ( !mi->module[i].size )
+            continue;
+
+        if ( mod_s < s )
+            continue;
+        if ( mod_s > lowest )
+            continue;
+        if ( mod_s > *end )
+            continue;
+        lowest = mod_s;
+        *end = min(*end, mod_e);
+    }
+    return lowest;
+}
+
+static void __init dt_unreserved_regions(paddr_t s, paddr_t e,
+                                         void (*cb)(paddr_t ps, paddr_t pe),
+                                         unsigned int first)
+{
+    unsigned int i;
+
+    for ( i = 0 ; i < bootinfo.reserved_mem.nr_banks; i++ )
+    {
+        paddr_t r_s = bootinfo.reserved_mem.bank[i].start;
+        paddr_t r_e = r_s + bootinfo.reserved_mem.bank[i].size;
+
+        if ( s < r_e && r_s < e )
+        {
+            dt_unreserved_regions(r_e, e, cb, i + 1);
+            dt_unreserved_regions(s, r_s, cb, i + 1);
+            return;
+        }
+    }
+
+    cb(s, e);
+}
+
+/*
+ * Populate the boot allocator. Based on arch/arm/setup.c's
+ * populate_boot_allocator.
+ * All RAM but the following regions will be added to the boot allocator:
+ *  - Modules (e.g., Xen, Kernel)
+ *  - Reserved regions
+ */
+static void __init populate_boot_allocator(void)
+{
+    unsigned int i;
+    const struct meminfo *banks = &bootinfo.mem;
+    paddr_t s, e;
+
+    for ( i = 0; i < banks->nr_banks; i++ )
+    {
+        const struct membank *bank = &banks->bank[i];
+        paddr_t bank_end = bank->start + bank->size;
+
+        s = bank->start;
+        while ( s < bank_end )
+        {
+            paddr_t n = bank_end;
+
+            e = next_module(s, &n);
+
+            if ( e == ~(paddr_t)0 )
+                e = n = bank_end;
+
+            /*
+             * Module in a RAM bank other than the one which we are
+             * not dealing with here.
+             */
+            if ( e > bank_end )
+                e = bank_end;
+
+            dt_unreserved_regions(s, e, init_boot_pages, 0);
+
+            s = n;
+        }
+    }
+}
+
 void setup_exceptions(void)
 {
     unsigned long lpcr;
@@ -24,6 +124,8 @@ void __init noreturn start_xen(unsigned long r3, unsigned long r4,
                                unsigned long r5, unsigned long r6,
                                unsigned long r7)
 {
+    void *boot_fdt;
+
     if ( r5 )
     {
         /* Unsupported OpenFirmware boot protocol */
@@ -32,11 +134,16 @@ void __init noreturn start_xen(unsigned long r3, unsigned long r4,
     else
     {
         /* kexec boot protocol */
-        boot_opal_init((void *)r3);
+        boot_fdt = (void *)r3;
+        boot_opal_init(boot_fdt);
     }
 
     setup_exceptions();
 
+    boot_fdt_init(boot_fdt, r3);
+
+    populate_boot_allocator();
+
     setup_initial_pagetables();
 
     early_printk("Hello, ppc64le!\n");
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Fri Nov 17 19:26:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 19:26:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635373.991269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r44U6-0001ge-SR; Fri, 17 Nov 2023 19:26:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635373.991269; Fri, 17 Nov 2023 19: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 1r44U6-0001gX-Po; Fri, 17 Nov 2023 19:26:34 +0000
Received: by outflank-mailman (input) for mailman id 635373;
 Fri, 17 Nov 2023 19:26: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=l3xh=G6=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r44U4-0001gO-OK
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 19:26:32 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 3554ce10-857f-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 20:26:30 +0100 (CET)
Received: from mg.gitlab.com (68.90.74.34.bc.googleusercontent.com
 [34.74.90.68]) by
 4672b52283f5 with SMTP id 6557be648bb4e2b045f09afe (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Fri, 17 Nov 2023 19:26:28 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 3554ce10-857f-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700249188; x=1700256388; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=f9dtwpd5QHAsp8c/Iyw+zun+R+e4NQS9X6l8WsLSa1s=;
 b=of+pDZMJ94ELE5sQ4Y7YIU4QJPrbToWmBxzJAn0/kAH2V48Cv5sEwXunPg9usuHytpf1+mEt2AYTmJRJ/qbbepaxWZY8pZt/Ud3ahTqLTXdQRRHvSqL9GXXrlzuewlRpjbIWlK5ZXyjKNIZ2XOllZ5rIGQYbp0sSNGpQoM1XGYU=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Fri, 17 Nov 2023 19:26:28 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6557be6467e60_2c9b30c5318e@gitlab-sidekiq-catchall-v2-fc469789f-xn4nh.mail>
Subject: xen | Successful pipeline for staging | 97f8555a
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6557be645ee05_2c9b30c5309";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1076704625
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6557be645ee05_2c9b30c5309
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1076704625 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 97f8555a ( https://gitlab.com/xen-project/xen/-/commit/97f8555acbf3da013ed713ca0bbe739d41c48da9 )
Commit Message: xenstored: print domain id in traces

It is ver...
Commit Author: Volodymyr Babchuk
Committed by: Julien Grall



Pipeline #1076704625 ( https://gitlab.com/xen-project/xen/-/pipelines/1076704625 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6557be645ee05_2c9b30c5309
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 97f8555a</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1076704625 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/97f8555acbf3da013e=
d713ca0bbe739d41c48da9" style=3D"color: #3777b0; text-decoration: none;">=
97f8555a</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xenstored: print domain id in traces

It is ver...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/1612fe187ffd73c7146f0ae982a79c06?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Volodymyr Babchuk
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/51553d20dbeb50c199767049bd40c57b?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107670=
4625" style=3D"color: #3777b0; text-decoration: none;">#1076704625</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6557be645ee05_2c9b30c5309--


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 20:09:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 20:09:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635417.991279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r459R-0001xt-7E; Fri, 17 Nov 2023 20:09:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635417.991279; Fri, 17 Nov 2023 20:09: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 1r459R-0001xm-3s; Fri, 17 Nov 2023 20:09:17 +0000
Received: by outflank-mailman (input) for mailman id 635417;
 Fri, 17 Nov 2023 20: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=1XSP=G6=epam.com=prvs=568571a16b=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r459Q-0001xg-5C
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 20:09:16 +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 2d80fe3c-8585-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 21:09:14 +0100 (CET)
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 3AHIrCKv009470;
 Fri, 17 Nov 2023 20:09:03 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 3uebkj0nw6-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Nov 2023 20:09:02 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DBBPR03MB6732.eurprd03.prod.outlook.com (2603:10a6:10:200::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 20:08:59 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.022; Fri, 17 Nov 2023
 20: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>
X-Inumbo-ID: 2d80fe3c-8585-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SMHJUgnRvQNlFSSHruJMZVq0z2k1cVH/MifXnueoEyJXGM3t1BPbG5V38NcEqJ61zUCDpedvxqQxT5sFVg0l2+7BV+NA8kTv5WWmYbs0FKEl+kl3I888ahQQm7NX2jgOdzM49CXFEEyW2+IdoqoR6UenY4dLRzmtBrDEJGbV7OHeVTixbT+OOqQU1SZ/R+JgwPf2DVpGaUqtVHa3vo3WHzjpisqD+MsccGxMh/uWJJH+7T5+JK+PC4KCMNQcSPFSxWjDBYEN3V6FW1kUOZSzS+inQaOLAZiVA3qecZBDTiAwyoYh76qWPyTaODEi0gKAHxTCW39WtDxlz04XK8aWaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=jTizMzB8uNUQPjKZ5dbv9bxLwtSF0iNK1nkilfrUtfs=;
 b=R9/tj63+y0DeuxQLkvGYlkpNvFS9TTSJL/H/7liLLqIymvWlELrf6ljDAwBqkdRbjicnbVvzIO6O0KcjEeIfX4hAS9qsS0mQkzn21NzNDRzswaUD7UoAycvZ5CYOULeE5RZQIhgOK+mklqSdSvjqpUZ6FgWQd472ZX+MzzRdo5E7WX7dphTx2fL6FpkddGLIk9Ns65we5Bu5Jp3unEExGl2SkVY6mYTaX6wTOOyFJkDNUapmAXE4FKMJxhl/wKvkq2iC7aQx+w1yXNokCrSXhN/InTboD1sIuqb9wfpSXceTuNuHIfZqzlp/miRmLq1Ok8uY49/pf3zaluknfPIHig==
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=jTizMzB8uNUQPjKZ5dbv9bxLwtSF0iNK1nkilfrUtfs=;
 b=K7uIR8QpboeV/Uyt0jI1bjdbIXS237lyXnwoTMz2SS3Xyko5JXQ4BJoMQ9GPAHoqohUq2si3EHiMhf1WY9hQaTHmZWiGF/Rtc7m+dpe3BaKe+diQUMpstON5Ju21fSPj6OG0SD0+3VKcjqOlxCIy8XyFHenJWfTPQA4Cph+u08oO/oib6waiN5zUeM5Tjt8gDVETg7+ImTt4RhDij3yikaURTiLjuRaJDXD5Sf0UiqBKCW+Ka6sVMhXVM4gQFFkfbF6cjo/JmhxsGrjcdgFJgziObHV9U6/ORwOKFSYgZgtq2bD5zouDB/UDdZjjMLQApiL/9C2jn7Yj/IpKbjMZUw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Julien Grall <julien@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        Stewart Hildebrand
	<stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@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 v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Topic: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Index: 
 AQHZ/Vi+wP3QsyKZ0EartcLXqtnBRLB9UyCAgAB7YgCAAAiUAIAAEHKAgADZXQCAAEyPgIAAGSwA
Date: Fri, 17 Nov 2023 20:08:58 +0000
Message-ID: <8734x43zxi.fsf@epam.com>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
 <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
 <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
 <87o7ft44bv.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop>
 <87a5rc4gk7.fsf@epam.com> <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org>
In-Reply-To: <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DBBPR03MB6732:EE_
x-ms-office365-filtering-correlation-id: f7fb2f9e-94ae-4dad-5c77-08dbe7a908f1
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 6zChPfBkhHq3KikY2t3phKWlY5XRwVT9fZCTlYoFPRO8aUaQoOotXSy4r6oB3yYdk/PJsyr4kTdZOzFYu2ibOYk6fzwF8sfeGi+kxDsQl3UzaU25ny2+2hUtxkMsRAvsRzOYcuSpQSbO6us+4y9GB2QhqmCvllxx9iI05ovTALkIal/JzWhHh9oblOu04YO+0mxyz0T1cpJdMAcAYZH0jXBxD/N6xx7hU61FbiWdUP31X6g3ltLv7cmTOMkz7MnNuPOI+GtTiKpFvjPz7gRXp/FZejAm5bxE/QC4RbeIOWWDzcKeGh9NlmgNtYGzjFLxSZfkKDTR9qFAqyP8uW6gRte38ME9Go/z3KIz8e0iODb2nXGvQwVutQrWTlWnB0nZrigPblxu8IN2fK7Y5OI+nrAsCTcFGX50dl28Q509yOcNmTjkDXdSlFHp4aUMRvqiEPTHzFOFylKjaeht3JNrpn+tebKC+iWcMO4NZBR078URJzNWv0crHY6xLsCJEOhn6FDkJqaZgEMoqICJFS2GP2tU31Ut3EsrVzmWt238offsgLYuUuuxCgOWLt96KkYu3A0m+WZHk5WIfLw3yHXErl3OFxDb3TVfyCI2Ho87y8+dP8RUuGdIcZ/SkO+mPjAD
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:(13230031)(396003)(39860400002)(346002)(366004)(136003)(376002)(230922051799003)(451199024)(1800799009)(64100799003)(186009)(41300700001)(36756003)(66899024)(5660300002)(86362001)(2906002)(38070700009)(83380400001)(122000001)(71200400001)(6486002)(478600001)(6512007)(26005)(2616005)(53546011)(6506007)(55236004)(91956017)(38100700002)(8676002)(4326008)(8936002)(54906003)(64756008)(66556008)(66476007)(66946007)(66446008)(76116006)(6916009)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?tkmiz2xNVSffvmRlK7j4v5cVNdI3iyicGmkybJQhfPeO/1ZPS5fqlt0+Yl?=
 =?iso-8859-1?Q?c1ccvr8Dd4Cmzi6dt4HF9jntZfwUP7O7RoFxjdDsmPVjpo6yaz5EmviPwJ?=
 =?iso-8859-1?Q?yKtCmL/dkIZG0eNe/5wJOtZ4J0TBnlINIsNmb6ov1KAlu1NZIpOgE1hNdh?=
 =?iso-8859-1?Q?yYOEKeuNww1SmYkzIbINvYcwI+84aIDI2nbxVGCCxTvIElIc41sXoli/gI?=
 =?iso-8859-1?Q?LhJ51uKiF0Bhjv/TQrJByEIhdlUtvXZOd7sdfte5bvHCZOExu3Js5I4HAi?=
 =?iso-8859-1?Q?/Gfxcp2DhR5MLO+NHWTHeOIZ7KGxDnXl/BcQAvoUnS1b+YgXTIxth/QsLd?=
 =?iso-8859-1?Q?suXs5Ed66lV9xta+GQEZpoD6yEXxh0sGOTXsOXZhFLVzI5aIMumLg6LZXC?=
 =?iso-8859-1?Q?7GAcC4DWROrl7UbtwhJD4BPjkhBCxij3ixvxQG1587hPvzdHu4uib7TIa0?=
 =?iso-8859-1?Q?jipGm8upvSOSQd6ZHvg+yJ8d60vZL3HFIeczAfEQGJKz1zNiLbWXgBmfAm?=
 =?iso-8859-1?Q?1PFvCeSAGG6QXXRFUXtfrrokD+0HgFbwQt3WmPJKvsFU1bL2xctiltDCxf?=
 =?iso-8859-1?Q?XhxJ7DDpYLq+UtGqXvpiDomxofao5JV53urofQHwAaldQEAynjsIdlDW3P?=
 =?iso-8859-1?Q?SsbcJ6kHTdQlUPIe8TaEHeM/cgrAVU1Khcf3UmBwfWs7beSHdJpBZRBopA?=
 =?iso-8859-1?Q?Pa1OKGwXfCnh1TyH7aSO/VLiTbU3OfYq5fYGjfSMmvP874/trwXGKcpYwq?=
 =?iso-8859-1?Q?vvLYST5wj9v5AbIx23+hT9WRs6+7avPB0L4YkymyLbmqOgQdzn5FkpPbTp?=
 =?iso-8859-1?Q?T2byCUyZDDnzKOVsrsqnoZfz7YhSOiuMx2iYwS6Q2BmOKHV3rKbQnzIvba?=
 =?iso-8859-1?Q?KA5PaSX8f5AFv+wygZktZa85lNqrWaer+rx+xEM01l+eVeax9jmZP9ylOn?=
 =?iso-8859-1?Q?uB6S2efvLTPidypi8evx3sDu5ZCCfXY++89uuHsj0iZymDMDBBSmkqw2ds?=
 =?iso-8859-1?Q?4yvfVVJ57eHB9aOupDEl/obYRJpTCbRU83slRjoYqjPu+pJgy7nKI2baxG?=
 =?iso-8859-1?Q?1yfr00v/ruwuPt+qWvcA23VkfvAzZHnyN5A4Ql0KJmh1QLGV7s7RgE+wMx?=
 =?iso-8859-1?Q?SXuZt9q9jhwFniuJXqjNz8FkFAqGEE9OOPCx5e0MLWcuhKdVCbqymyYWvz?=
 =?iso-8859-1?Q?GIKqfMIUsFyI7JO0IZGdIdb6ITsfgCfpBk1IvHzBcNY3d1Tsc75oS4s2X4?=
 =?iso-8859-1?Q?jpEwGdgwG36R1Z24w7TXz5piI66T9xoOyNuOHeevF6UbVdtC7a2hIUwhSZ?=
 =?iso-8859-1?Q?TU12bdjewFxTCW4V1Tp+kXqRGjAGuxABVMqE4A/nSzpTLGUb7SHGlvZjMi?=
 =?iso-8859-1?Q?4MWqOwF9IcoG0lm7pwKHTvNKisHzGkyjUaIKm2MkmQt11GyE1Yek+8lKdF?=
 =?iso-8859-1?Q?IFfRAYlp61iLaDmal4ZStg1/iZot10834+QDQWojlOow3iEoSHf7s3Y8w9?=
 =?iso-8859-1?Q?s89Ws2Fa7/op1lj+jzwRF/NqUewgr/S8rKd5GkKbUDehi3XL27MN85SN3H?=
 =?iso-8859-1?Q?WAbB1bxO4ROu5dLSJZGOXqiQlmv5fBiqo1IFueuqQ5tJU3fpnkZbpJjg7P?=
 =?iso-8859-1?Q?R3yr/bVJCR/diin11txi6xpO3U9fYs4ag882ZE1o0cQtTNNMEy+/MFBg?=
 =?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: f7fb2f9e-94ae-4dad-5c77-08dbe7a908f1
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2023 20:08:58.7999
 (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: MTgn3a294aI2P9fRpSAuBe4aMp0e+7tLh3EQWeW1Rcz62QLyvqSpXSltwmUKFkXWYAW7GhiyWZc5HGZor8lun0g+HZopJmIdDjx4VgNyqFk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR03MB6732
X-Proofpoint-ORIG-GUID: 3q8TPY0c73Y5Gc--3xTHXhdOb-_BfjmG
X-Proofpoint-GUID: 3q8TPY0c73Y5Gc--3xTHXhdOb-_BfjmG
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-17_19,2023-11-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 spamscore=0 malwarescore=0 mlxscore=0 mlxlogscore=999 phishscore=0
 impostorscore=0 priorityscore=1501 adultscore=0 bulkscore=0 clxscore=1015
 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311170152


Hi Julien,

Julien Grall <julien@xen.org> writes:

> Hi Volodymyr,
>
> On 17/11/2023 14:09, Volodymyr Babchuk wrote:
>> Hi Stefano,
>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>=20
>>> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
>>>>> I still think, no matter the BDF allocation scheme, that we should tr=
y
>>>>> to avoid as much as possible to have two different PCI Root Complex
>>>>> emulators. Ideally we would have only one PCI Root Complex emulated b=
y
>>>>> Xen. Having 2 PCI Root Complexes both of them emulated by Xen would b=
e
>>>>> tolerable but not ideal.
>>>>
>>>> But what is exactly wrong with this setup?
>>>
>>> [...]
>>>
>>>>> The worst case I would like to avoid is to have
>>>>> two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
>>>>
>>>> This is how our setup works right now.
>>>
>>> If we have:
>>> - a single PCI Root Complex emulated in Xen
>>> - Xen is safety certified
>>> - individual Virtio devices emulated by QEMU with grants for memory
>>>
>>> We can go very far in terms of being able to use Virtio in safety
>>> use-cases. We might even be able to use Virtio (frontends) in a SafeOS.
>>>
>>> On the other hand if we put an additional Root Complex in QEMU:
>>> - we pay a price in terms of complexity of the codebase
>>> - we pay a price in terms of resource utilization
>>> - we have one additional problem in terms of using this setup with a
>>>    SafeOS (one more device emulated by a non-safe component)
>>>
>>> Having 2 PCI Root Complexes both emulated in Xen is a middle ground
>>> solution because:
>>> - we still pay a price in terms of resource utilization
>>> - the code complexity goes up a bit but hopefully not by much
>>> - there is no impact on safety compared to the ideal scenario
>>>
>>> This is why I wrote that it is tolerable.
>> Ah, I see now. Yes, I am agree with this. Also I want to add some
>> more
>> points:
>> - There is ongoing work on implementing virtio backends as a
>> separate
>>    applications, written in Rust. Linaro are doing this part. Right now
>>    they are implementing only virtio-mmio, but if they want to provide
>>    virtio-pci as well, they will need a mechanism to plug only
>>    virtio-pci, without Root Complex. This is argument for using single R=
oot
>>    Complex emulated in Xen.
>> - As far as I know (actually, Oleksandr told this to me), QEMU has
>> no
>>    mechanism for exposing virtio-pci backends without exposing PCI root
>>    complex as well. Architecturally, there should be a PCI bus to which
>>    virtio-pci devices are connected. Or we need to make some changes to
>>    QEMU internals to be able to create virtio-pci backends that are not
>>    connected to any bus. Also, added benefit that PCI Root Complex
>>    emulator in QEMU handles legacy PCI interrupts for us. This is
>>    argument for separate Root Complex for QEMU.
>> As right now we have only virtio-pci backends provided by QEMU and
>> this
>> setup is already working, I propose to stick to this
>> solution. Especially, taking into account that it does not require any
>> changes to hypervisor code.
>
> I am not against two hostbridge as a temporary solution as long as
> this is not a one way door decision. I am not concerned about the
> hypervisor itself, I am more concerned about the interface exposed by
> the toolstack and QEMU.
>
> To clarify, I don't particular want to have to maintain the two
> hostbridges solution once we can use a single hostbridge. So we need
> to be able to get rid of it without impacting the interface too much.

This depends on virtio-pci backends availability. AFAIK, now only one
option is to use QEMU and QEMU provides own host bridge. So if we want
get rid of the second host bridge we need either another virtio-pci
backend or we need to alter QEMU code so it can live without host
bridge.

As for interfaces, it appears that QEMU case does not require any changes
into hypervisor itself, it just boils down to writing couple of xenstore
entries and spawning QEMU with correct command line arguments.

>From the user perspective, all this is configured via xl.conf entry like

virtio=3D[
'backend=3DDomD, type=3Dvirtio,device, transport=3Dpci, bdf=3D0000:00:01.0,=
 grant_usage=3D1, backend_type=3Dqemu',
]

In the future we can add backend_type=3Dstandalone for non-QEMU-based
backends. If there will be no QEMU-based backends, there will be no
second host bridge.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 21:26:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 21:26:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635424.991288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r46LZ-000896-Dt; Fri, 17 Nov 2023 21:25:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635424.991288; Fri, 17 Nov 2023 21:25: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 1r46LZ-00088z-B8; Fri, 17 Nov 2023 21:25:53 +0000
Received: by outflank-mailman (input) for mailman id 635424;
 Fri, 17 Nov 2023 21:25: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r46LY-00088d-4M
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 21:25:52 +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 e038b299-858f-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 22:25:50 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 34605CE2537;
 Fri, 17 Nov 2023 21:25:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E6703C433C7;
 Fri, 17 Nov 2023 21:25: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: e038b299-858f-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700256344;
	bh=7onMPhswGTDVotjWqSfp24WuNeYcsPIL2S0ahjIdo50=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WKBdJIspKPjDyPkjI3Ve55j8EiTKk4psLd4VHPlzNArKDrTUhK4ZvRz5CyNT25DMJ
	 1g3v5bpa7BzgAK9+U8NDNf16M9hmgX+cVPzy608qmUEWQ41yWnpovYSwrYkCofPGqt
	 LZEWlf6txs+eMWuNtw9PR0UhTb0UvBQhrt9hQgrgHUGzKFToS2E6ePTahdaBXw2iCm
	 zhN6Bq3Y2qt5vMkBj2DA+bJ90b81zGJIltJRBFnyWih8tJKijJtyDK5Rg909FBZf05
	 hQD9GQEfwlXEwOVM9bP9kFe7VKZ4jRBx0pn75rPRFgZQTNKsx8zov8JNLVoPLu0n9d
	 nIi2QZ7KeZ6tg==
Date: Fri, 17 Nov 2023 13:25:40 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: "Fr. Chuck Zmudzinski, C.P.M." <brchuck@hotmail.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Robin Murphy <robin.murphy@arm.com>, Chuck Zmudzinski <brchuckz@aol.com>, 
    linux-arm-kernel@lists.infradead.org, Russell King <linux@armlinux.org.uk>, 
    Juergen Gross <jgross@suse.com>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org, 
    Marek Szyprowski <m.szyprowski@samsung.com>, 
    Andrew Morton <akpm@linux-foundation.org>, 
    Mathieu Poirier <mathieu.poirier@linaro.org>, 
    Greg Kroah-Hartman <gregkh@linuxfoundation.org>, 
    "Matthew Wilcox (Oracle)" <willy@infradead.org>, 
    Linus Walleij <linus.walleij@linaro.org>, Jason Gunthorpe <jgg@ziepe.ca>, 
    Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>, 
    Mario Marietto <marietto2008@gmail.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
In-Reply-To: <CH0P221MB050571AF779EFDE97B7E780AA9B7A@CH0P221MB0505.NAMP221.PROD.OUTLOOK.COM>
Message-ID: <alpine.DEB.2.22.394.2311171324300.773207@ubuntu-linux-20-04-desktop>
References: <20231111184538.2371-1-brchuckz.ref@aol.com> <20231111184538.2371-1-brchuckz@aol.com> <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com> <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
 <CH0P221MB050571AF779EFDE97B7E780AA9B7A@CH0P221MB0505.NAMP221.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 Fri, 17 Nov 2023, Fr. Chuck Zmudzinski, C.P.M. wrote:
> On 11/14/2023 5:20 PM, Stefano Stabellini wrote:
> > On Tue, 14 Nov 2023, Robin Murphy wrote:
> >> On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
> >> > Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error when
> >> > attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook Snow
> >> > (and probably on other devices that use the Exynos mixer):
> >> > 
> >> > [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
> >> > exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
> >> > exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR* Device
> >> >                               14450000.mixer lacks support for IOMMU
> >> > exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc0d97554): -22
> >> > exynos-drm exynos-drm: adev bind failed: -22
> >> > exynos-dp: probe of 145b0000.dp-controller failed with error -22
> >> > 
> >> > Linux normally uses xen_swiotlb_dma_ops for DMA for all devices when
> >> > xen_swiotlb is detected even when Xen exposes an IOMMU to Linux. Enabling
> >> > the new config option allows devices such as the Exynos mixer to use the
> >> > IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the error.
> >> > 
> >> > The new config option is not set by default because it is likely some
> >> > devices that use IOMMU for DMA on Xen will cause DMA errors and memory
> >> > corruption when Xen PV block and network drivers are in use on the system.
> >> > 
> >> > Link:
> >> > https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netscape.net/
> >> > 
> >> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
> >> > ---
> >> > The reported error with the Exynos mixer is not fixed by default by adding
> >> > a second patch to select the new option in the Kconfig definition for the
> >> > Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it is
> >> > not certain setting the config option is suitable for all cases. So it is
> >> > necessary to explicitly select the new config option during the config
> >> > stage of the Linux kernel build to fix the reported error or similar
> >> > errors that have the same cause of lack of support for IOMMU on Xen. This
> >> > is necessary to avoid any regressions that might be caused by enabling the
> >> > new option by default for the Exynos mixer.
> >> >   arch/arm/mm/dma-mapping.c |  6 ++++++
> >> >   drivers/xen/Kconfig       | 16 ++++++++++++++++
> >> >   2 files changed, 22 insertions(+)
> >> > 
> >> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
> >> > index 5409225b4abc..ca04fdf01be3 100644
> >> > --- a/arch/arm/mm/dma-mapping.c
> >> > +++ b/arch/arm/mm/dma-mapping.c
> >> > @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev, u64
> >> > dma_base, u64 size,
> >> >   	if (iommu)
> >> >   		arm_setup_iommu_dma_ops(dev, dma_base, size, iommu, coherent);
> >> >   +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
> >> 
> >> FWIW I don't think this really needs a config option - if Xen *has* made an
> >> IOMMU available, then there isn't really much reason not to use it, and if for
> >> some reason someone really didn't want to then they could simply disable the
> >> IOMMU driver anyway.
> > 
> > The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen
> > doesn't recognize the Exynos IOMMU (it is not one of the IOMMUs Xen has
> > a driver for) so it assigns the IOMMU to Dom0. It doesn't happen on
> > purpose, it happens by accident. Certain things are going to break,
> > specifically I am fairly certain PV drivers are going to break.
> > 
> > If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide it
> > from Dom0. (Today Xen doesn't have a list of IOMMUs Xen recognizes but
> > doesn't have a driver for.)
> > 
> > I think it is OK for Chuck and others to play around with this
> > configuration but I wouldn't add a new kconfig option to Linux to
> > support it.
> > 
> > If we do want a kconfig option, I would add a kconfig option or Linux
> > command line option to enable/disable swiotlb-xen. Basically a way to
> > force-enable or force-disable xen_swiotlb_detect().That could be
> 
> I am trying to understand what you are proposing.
> 
> I tried disabling the CONFIG_SWIOTLB_XEN option that already
> exists and it does not seem possible to disable that option without
> also totally removing Xen dom0 support from Linux on arm. So do you
> suggest keeping that option as is and adding a Linux command line
> switch or new Linux Kconfig option that is ignored unless
> CONFIG_SWIOTLB_XEN is enabled and would make xen_swiotlb_detect()
> always return false or always return true, depending on the setting
> of the new option?

Yes. I suggest adding a Linux kernel command line option to force-enable
or force-diable swiotlb-xen and that can easily be implemented by
changing xen_swiotlb_detect() to return true/false if the command line
option is set by the user.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 21:28:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 21:28:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635425.991299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r46OM-0000tA-R8; Fri, 17 Nov 2023 21:28:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635425.991299; Fri, 17 Nov 2023 21:28: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 1r46OM-0000t3-OM; Fri, 17 Nov 2023 21:28:46 +0000
Received: by outflank-mailman (input) for mailman id 635425;
 Fri, 17 Nov 2023 21:28: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 1r46OK-0000sh-QX; Fri, 17 Nov 2023 21:28: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 1r46OK-0001H3-Nf; Fri, 17 Nov 2023 21:28: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 1r46OK-0003OO-5O; Fri, 17 Nov 2023 21:28:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r46OK-0000Hq-4w; Fri, 17 Nov 2023 21:28: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=SrBGexEuzWkvvDd2ehB6jxrfyStSH17jxdkKbjLBrAM=; b=3RpkH8vnGU63vG+GTvFkPfkqZU
	Yb5NznCh7LBildLf9lfB7YpYGABVGuS1XPtw3pobFOCpLn2g+GSbBPKwmN72hwOhQNCck02EhDh+d
	XhUIQVpHyFlTUqhjvhFre7tkzTYbAL5627Zp2eVFiMw/N6PP7mB2SWCi1d3tv5QN3gXA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183784-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183784: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=97f8555acbf3da013ed713ca0bbe739d41c48da9
X-Osstest-Versions-That:
    xen=6cd046c501bce48cdc42f597fc7a023aa08853e7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Nov 2023 21:28:44 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  97f8555acbf3da013ed713ca0bbe739d41c48da9
baseline version:
 xen                  6cd046c501bce48cdc42f597fc7a023aa08853e7

Last test of basis   183774  2023-11-16 15:02:22 Z    1 days
Testing same since   183784  2023-11-17 19:03:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Volodymyr Babchuk <volodymyr_babchuk@epam.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   6cd046c501..97f8555acb  97f8555acbf3da013ed713ca0bbe739d41c48da9 -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 21:43:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 21:43:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635432.991309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r46cV-000459-SO; Fri, 17 Nov 2023 21:43:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635432.991309; Fri, 17 Nov 2023 21:43: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 1r46cV-000452-Po; Fri, 17 Nov 2023 21:43:23 +0000
Received: by outflank-mailman (input) for mailman id 635432;
 Fri, 17 Nov 2023 21: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=5d38=G6=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r46cU-00044u-RX
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 21:43:22 +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 5291fa3f-8592-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 22:43:20 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 8504BCE246D;
 Fri, 17 Nov 2023 21:43:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5EAE5C433C8;
 Fri, 17 Nov 2023 21:43: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: 5291fa3f-8592-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700257395;
	bh=oafTwd+TbjQEMvXLKAk3xYNmeSwvtnYzCXPN19yOXcE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=DS9FRGwb+pvsd5IBQ30QmKgDBrPsEyo2b2weAD+cxcRCIIdKzfMtOlug3Im6fP7Za
	 hAy+BtosL5LNRcikqsbCip4jW2Kd+4NTF43YVuj3EmudOXa0Vb20Y5ZYgyGWVtSKSW
	 WSRfn/5fYu16a0mutOehbupVyp7L3wv9+EXGktXMpyQhOvjN2RKQErD9s8PwxlW1Sc
	 0SwVi00O8LKB+Q7La7suBe2oDf3OQatw8XnJc2OibZGss2twT6+ud+4UFnxNM75G06
	 WTE3gn4vfwoTqbFRC2IYa9mGmzETfxSJnQDdVyHIESeS0YwYJVZ902uugrKWRkU3zL
	 6qAADJy8f3ubA==
Date: Fri, 17 Nov 2023 13:43:12 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.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>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
In-Reply-To: <8734x43zxi.fsf@epam.com>
Message-ID: <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com> <20231012220854.2736994-14-volodymyr_babchuk@epam.com> <d6a58e73-da51-40f1-a2f7-576274945585@xen.org> <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop> <87o7ft44bv.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop> <87a5rc4gk7.fsf@epam.com> <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org> <8734x43zxi.fsf@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> Hi Julien,
> 
> Julien Grall <julien@xen.org> writes:
> 
> > Hi Volodymyr,
> >
> > On 17/11/2023 14:09, Volodymyr Babchuk wrote:
> >> Hi Stefano,
> >> Stefano Stabellini <sstabellini@kernel.org> writes:
> >> 
> >>> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> >>>>> I still think, no matter the BDF allocation scheme, that we should try
> >>>>> to avoid as much as possible to have two different PCI Root Complex
> >>>>> emulators. Ideally we would have only one PCI Root Complex emulated by
> >>>>> Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
> >>>>> tolerable but not ideal.
> >>>>
> >>>> But what is exactly wrong with this setup?
> >>>
> >>> [...]
> >>>
> >>>>> The worst case I would like to avoid is to have
> >>>>> two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
> >>>>
> >>>> This is how our setup works right now.
> >>>
> >>> If we have:
> >>> - a single PCI Root Complex emulated in Xen
> >>> - Xen is safety certified
> >>> - individual Virtio devices emulated by QEMU with grants for memory
> >>>
> >>> We can go very far in terms of being able to use Virtio in safety
> >>> use-cases. We might even be able to use Virtio (frontends) in a SafeOS.
> >>>
> >>> On the other hand if we put an additional Root Complex in QEMU:
> >>> - we pay a price in terms of complexity of the codebase
> >>> - we pay a price in terms of resource utilization
> >>> - we have one additional problem in terms of using this setup with a
> >>>    SafeOS (one more device emulated by a non-safe component)
> >>>
> >>> Having 2 PCI Root Complexes both emulated in Xen is a middle ground
> >>> solution because:
> >>> - we still pay a price in terms of resource utilization
> >>> - the code complexity goes up a bit but hopefully not by much
> >>> - there is no impact on safety compared to the ideal scenario
> >>>
> >>> This is why I wrote that it is tolerable.
> >> Ah, I see now. Yes, I am agree with this. Also I want to add some
> >> more
> >> points:
> >> - There is ongoing work on implementing virtio backends as a
> >> separate
> >>    applications, written in Rust. Linaro are doing this part. Right now
> >>    they are implementing only virtio-mmio, but if they want to provide
> >>    virtio-pci as well, they will need a mechanism to plug only
> >>    virtio-pci, without Root Complex. This is argument for using single Root
> >>    Complex emulated in Xen.
> >> - As far as I know (actually, Oleksandr told this to me), QEMU has
> >> no
> >>    mechanism for exposing virtio-pci backends without exposing PCI root
> >>    complex as well. Architecturally, there should be a PCI bus to which
> >>    virtio-pci devices are connected. Or we need to make some changes to
> >>    QEMU internals to be able to create virtio-pci backends that are not
> >>    connected to any bus. Also, added benefit that PCI Root Complex
> >>    emulator in QEMU handles legacy PCI interrupts for us. This is
> >>    argument for separate Root Complex for QEMU.
> >> As right now we have only virtio-pci backends provided by QEMU and
> >> this
> >> setup is already working, I propose to stick to this
> >> solution. Especially, taking into account that it does not require any
> >> changes to hypervisor code.
> >
> > I am not against two hostbridge as a temporary solution as long as
> > this is not a one way door decision. I am not concerned about the
> > hypervisor itself, I am more concerned about the interface exposed by
> > the toolstack and QEMU.

I agree with this...


> > To clarify, I don't particular want to have to maintain the two
> > hostbridges solution once we can use a single hostbridge. So we need
> > to be able to get rid of it without impacting the interface too much.

...and this


> This depends on virtio-pci backends availability. AFAIK, now only one
> option is to use QEMU and QEMU provides own host bridge. So if we want
> get rid of the second host bridge we need either another virtio-pci
> backend or we need to alter QEMU code so it can live without host
> bridge.
> 
> As for interfaces, it appears that QEMU case does not require any changes
> into hypervisor itself, it just boils down to writing couple of xenstore
> entries and spawning QEMU with correct command line arguments.

One thing that Stewart wrote in his reply that is important: it doesn't
matter if QEMU thinks it is emulating a PCI Root Complex because that's
required from QEMU's point of view to emulate an individual PCI device.

If we can arrange it so the QEMU PCI Root Complex is not registered
against Xen as part of the ioreq interface, then QEMU's emulated PCI
Root Complex is going to be left unused. I think that would be great
because we still have a clean QEMU-Xen-tools interface and the only
downside is some extra unused emulation in QEMU. It would be a
fantastic starting point.


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 22:22:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 22:22:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635440.991319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r47EZ-0003QV-Tb; Fri, 17 Nov 2023 22:22:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635440.991319; Fri, 17 Nov 2023 22:22: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 1r47EZ-0003QO-PV; Fri, 17 Nov 2023 22:22:43 +0000
Received: by outflank-mailman (input) for mailman id 635440;
 Fri, 17 Nov 2023 22:22: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=1XSP=G6=epam.com=prvs=568571a16b=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r47EY-0003QI-W1
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 22:22:43 +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 d126c215-8597-11ee-9b0e-b553b5be7939;
 Fri, 17 Nov 2023 23:22:40 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AHMEQjQ019207; Fri, 17 Nov 2023 22:22:34 GMT
Received: from eur05-db8-obe.outbound.protection.outlook.com
 (mail-db8eur05lp2104.outbound.protection.outlook.com [104.47.17.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ue4n2trnc-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 17 Nov 2023 22:22:34 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DB5PR03MB10073.eurprd03.prod.outlook.com (2603:10a6:10:4a0::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 22:22:30 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.022; Fri, 17 Nov 2023
 22:22: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: d126c215-8597-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=V4MU0ArhOwmAJUPQynPHWBDdRZLS6GPEDV8eUp4OkYF7lyBfFJpVWqg51RNrBS1DS9LP1iHTh3w74sofLZBMFi7cD5qJ2/TdvXes5ijomEO2XgLZMvgJnRVxlCPH4GlecJZDTJv3MY/CRO1rwh/nxWwvTEzeNWVcSFwH2lAqSZ3vSEhQg4ib2W1Q/DR7sBDXk3O2kG4SCS4/akq6+ZIbBi6sVHb+1GE8Ka1uPhs/jlsa210ntuNb1G0tyWXqMWH20Mf1dk1gfucV/UKASQp19lW0tSUPEMcl9r83vK5zdYl80Db3j4m1RqmOfFXpQIUS0WGReQk86Bjrdl6c2TFT8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1FqHYIBCmIUVYNTi3k8KIt0QsjH65j22jk28JKOxZcQ=;
 b=YHKJez3MV6W0AWoDj/scP7kfrL7IMPp7cri+fHL6l2TVZFUdrBeSDetv2MNUhLr+GTTTvxwv9dncTwBJ0fO2wWplExPu9OPUzlGJNxTWczbgpYKrJlU9RBmrkXfUfy8Mj0OUUkTt8pSJ15J95/NcpMhbNdLg6lYBIt21tqxsZlEHUk1ziqnyD137UpWLrOBVuAuJDbJ3fFveffCL8/vw5u4Zbc5OYfzRRG5pyRTdjDsJ9qqKTzBn+JEs6dr+hgbtx8DBFfE4mXd5ugMF2Unh6HH0EPTh4i/RjeAGrOq1R9vyLk+P2zAyYKw7vHkjhdXi6oht2dhaatrdvQo3+5yNeg==
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=1FqHYIBCmIUVYNTi3k8KIt0QsjH65j22jk28JKOxZcQ=;
 b=DIFTd8UEU05Kdbvr4mKnDnccOn+0w06HASYcbrZAF6m5KJayU71kIMOBvGQgvOUAQh0+6Xv/26mNU7C2xIgA0nJPT17A1mWZ6aV85KZ6X5H7t7H1g0tmA8y2m7D3WmDAr74hOn+NYw4x4rDxI4VDdTj++YPiS2EGvmqOFwncb/hkdWc60GweJ/hYZZcbwyI5AdImg7C2FMDFN8s8sWu2GuXf4A+kEhwQhQPO4FE/eZZnm3fAeux2c1fcAM0xWxdPFgH2RFagXKsozLyQta+7cZ2WGrEvqt7u7b7FL9tlJnvMq0wHa/w5geTR7f9OeTztgD0CxHRZM8Z7rkdr7jDgmQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>,
        Stewart Hildebrand
	<stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@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 v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Topic: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Index: 
 AQHZ/Vi+wP3QsyKZ0EartcLXqtnBRLB9UyCAgAB7YgCAAAiUAIAAEHKAgADZXQCAAEyPgIAAGSwAgAAczgCAAAOwAA==
Date: Fri, 17 Nov 2023 22:22:29 +0000
Message-ID: <87edgo2f6j.fsf@epam.com>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
 <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
 <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
 <87o7ft44bv.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop>
 <87a5rc4gk7.fsf@epam.com> <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org>
 <8734x43zxi.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DB5PR03MB10073:EE_
x-ms-office365-filtering-correlation-id: 1ec0bf62-4dcf-4678-c12c-08dbe7bbaff0
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 RwDxlEajkPfwNmA2t02GG6x4xRuJ95s8SobD5s+i4CaAYrmmrEQI2BIWPp87dp99KTBgWvvK6X+VZj9nbQh85giOiQSf9lJf1+O0IwfTHkVHHZhq74CSHbm5xqgcXVPbMrZgUgglZjLe4QK6Q6IV/q0ax0K42sNJGw8/Gtv2SHP8FXoFsotXGGTzWQJkFZYo/OTJx3BePKAClL/ZUY1ntQUgsWFKZ3d8RzV8aa9InEWQ51p+x0F46N7U5OQdXDgx3gJYBJr0CXPv9VwzB2UsjQ1+CHJgO6hIxqhKsQmG7zqtZCYT8uacyj0StD22KNalNetTeTBO9P7JUzy7R1muS5JD5yQWBnoTFaARLPNEYVewyeAZOgudFIEyd/xb+WvM1yQ+S7bQvhqlAHGWgVn0lofVDC6a9p8SmP0hKg3g7LO7Ugc2TZgVRavI60qLc/+xv7unMvHdyNw3JRv+IZB0EMax0NlKJaR4jYOyFwVsPacqvYYyyDPEoGPWHERHPLlGm9FhtJGP3APmjRje4gLywsxegmWJ3zAL/evMbGlswPU0r/afQl6wTTYWb8Cnxh5fxFPvyqDG/iePsON6NYnTTkxvTfy/wC2Oy6iIKxSa9Do55QNMhxafKjDhFCdVALVw
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:(13230031)(39860400002)(136003)(396003)(376002)(366004)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799009)(64756008)(41300700001)(8676002)(8936002)(86362001)(5660300002)(4326008)(53546011)(55236004)(6506007)(6486002)(316002)(66556008)(66946007)(76116006)(6916009)(54906003)(122000001)(36756003)(38100700002)(2906002)(66476007)(66446008)(83380400001)(91956017)(26005)(38070700009)(66899024)(2616005)(6512007)(478600001)(71200400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?0iK4t1YnVj2GUyJz1ElVuWwEMwyDCYuWvkry0Pxwjq0LKUipByC8g60lhu?=
 =?iso-8859-1?Q?92ScJ/bLBeYJ3XnSxJYtAdG4i+1P9hmayc7qTL15O3cDJV0KWFlSTx4UCh?=
 =?iso-8859-1?Q?5OOINwdZUYJIkQa9+EiBJZZdI1uuOrvt75M8BZ9a31xwPMip0iczceXQ2D?=
 =?iso-8859-1?Q?pAhXOkR7yHKX19MqHkt2giioJ41oJOjBMV/grtbjXpbPyyV8enS7B/26d/?=
 =?iso-8859-1?Q?VPUPvraD7OhygxwxauUBCHxLR7xzDFaaiASZeCd+5eJuiysqrAFjBFWile?=
 =?iso-8859-1?Q?SN1mm60yBAclzDAbTLRJgH+dOwSRXv4A2N4RojXzrCvAVfFxrACXrU6cT0?=
 =?iso-8859-1?Q?vvBR1bc1LUYs2rVRWseI7sPwAv1WWeEINHVLzZvWBzKvA6ZyAVDchd+c+5?=
 =?iso-8859-1?Q?EVjh7xmwbvWsjYIWYKuhzMimCMiPqVNapwFQUWVn+OllltSVqXBpSFUyIr?=
 =?iso-8859-1?Q?bpYr42aesTAIPnGR4zAKwa7XJTaElUnFGIvOHPCyhdr4Ysljf4QuZtE2In?=
 =?iso-8859-1?Q?PahuSrnV8Y4zAuhQuns+XY1RquMXUA1sNvjV/hkflRcFLhVqYXRBWLU3cR?=
 =?iso-8859-1?Q?dpIHGp0FHHLdr64QqtzYLxX6DwGBIW/lQim/swRSaUcLTLu5PgQ5lsC/kW?=
 =?iso-8859-1?Q?iqMXUHoRh5dOK5KAfAhSVy9sghlNZsiTsNp91Sy+ycvPFZuz8kW8zgBXxd?=
 =?iso-8859-1?Q?pDafQxSZVYSYr6S1aHvFpqG3srl4LRi0ooSBkMmPqkdwtAJykiR6AvFj9P?=
 =?iso-8859-1?Q?RNwmUmmfPUuwjfjdOtq6zElF1RMKvf/I3/k26syH018VxVEH4MvztkfQjE?=
 =?iso-8859-1?Q?ue26sxS+ji1HzItw6TlPP7Ecjh2LK/aH4+Az9RZxWeHObGwO6+HHhnfogC?=
 =?iso-8859-1?Q?S5aRi4oei/GMkPvYDP6/+uC2y1SAk3jfg7GZlHtlSkS8sAdU2KVX1x1MNL?=
 =?iso-8859-1?Q?dBLsqHnmIL8ZLNaNGo0vhGFBhuwPlnYLL44yxa+/UWA6WQKP0hPg9ynOdm?=
 =?iso-8859-1?Q?uM1ztcSSTiz9GLveaJjHSD1CA4QqOxuTl0cLx/yY65+nZZ8mdQ3YuSYTEm?=
 =?iso-8859-1?Q?aKrrGQqhOTwWR3SEt6ydiwJObBxox09O08FArAl+UP7Xds1IDAB2YhM5xW?=
 =?iso-8859-1?Q?TlUIGyKV67kYVA4ur7FHvvHHZLTVEN6Ata/ddDR03mGyP6iIameGDU6Wlu?=
 =?iso-8859-1?Q?k69lVRXqkcxsscq9zaNuym2k0h9Gnafx0BJsnKLApT6RyW908hm0ZsYre+?=
 =?iso-8859-1?Q?7sJGZchDnUyk7748EPE/VqWxr8mCux4V8jnm2cCeyhl5buCkROXTcwAJNu?=
 =?iso-8859-1?Q?IvrJIGJVIIRebk7td8cGh/wn7fal8IWBzWymlgRr6dKduqYHgbveRKLemq?=
 =?iso-8859-1?Q?cPs4gOWcMU1BTrokKebWXx71I/S4tB6dy/Re1/L2F4M+JV1PgJEvP8yXWT?=
 =?iso-8859-1?Q?b7/3Y95mBXX1Kg/6BDBOEcQDIPvtj/WglqEc9WOOEl2po/TnCbkFjLVfju?=
 =?iso-8859-1?Q?FjWXdxll+oemPFkDALf/1BjnvFA9XQTn9KdQcPlfjINn28M3blznKxeaVQ?=
 =?iso-8859-1?Q?sq8RDDEiyj9BFJ1JQL5nWh3ee+LUTZhl56JHQFtNFzvdNw/S0b6MMYjFAe?=
 =?iso-8859-1?Q?HPwWNlCKEAs/yFT6zHo6N/hbuXhM74gOBfblIYqxljj7acyV7nIea9Ag?=
 =?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: 1ec0bf62-4dcf-4678-c12c-08dbe7bbaff0
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Nov 2023 22:22:29.9601
 (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: Ca53XgKNk6UQXXT/jZHAOD4f7Twak9458pQAiwulyZI24rY7SLs7wvGj9aSNX3QP8YQEzmFp/tiLEAWCFP4Utn12AzNfvb9yWFzTYq4klcA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR03MB10073
X-Proofpoint-ORIG-GUID: g9e8EuLQZk6MuJoiUdmR68Mc9IfqtIUB
X-Proofpoint-GUID: g9e8EuLQZk6MuJoiUdmR68Mc9IfqtIUB
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-17_21,2023-11-17_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015
 priorityscore=1501 bulkscore=0 mlxlogscore=999 malwarescore=0
 lowpriorityscore=0 suspectscore=0 spamscore=0 impostorscore=0 adultscore=0
 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311170168


Hi Stefano,

Stefano Stabellini <sstabellini@kernel.org> writes:

> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
>> Hi Julien,
>>=20
>> Julien Grall <julien@xen.org> writes:
>>=20
>> > Hi Volodymyr,
>> >
>> > On 17/11/2023 14:09, Volodymyr Babchuk wrote:
>> >> Hi Stefano,
>> >> Stefano Stabellini <sstabellini@kernel.org> writes:
>> >>=20
>> >>> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
>> >>>>> I still think, no matter the BDF allocation scheme, that we should=
 try
>> >>>>> to avoid as much as possible to have two different PCI Root Comple=
x
>> >>>>> emulators. Ideally we would have only one PCI Root Complex emulate=
d by
>> >>>>> Xen. Having 2 PCI Root Complexes both of them emulated by Xen woul=
d be
>> >>>>> tolerable but not ideal.
>> >>>>
>> >>>> But what is exactly wrong with this setup?
>> >>>
>> >>> [...]
>> >>>
>> >>>>> The worst case I would like to avoid is to have
>> >>>>> two PCI Root Complexes, one emulated by Xen and one emulated by QE=
MU.
>> >>>>
>> >>>> This is how our setup works right now.
>> >>>
>> >>> If we have:
>> >>> - a single PCI Root Complex emulated in Xen
>> >>> - Xen is safety certified
>> >>> - individual Virtio devices emulated by QEMU with grants for memory
>> >>>
>> >>> We can go very far in terms of being able to use Virtio in safety
>> >>> use-cases. We might even be able to use Virtio (frontends) in a Safe=
OS.
>> >>>
>> >>> On the other hand if we put an additional Root Complex in QEMU:
>> >>> - we pay a price in terms of complexity of the codebase
>> >>> - we pay a price in terms of resource utilization
>> >>> - we have one additional problem in terms of using this setup with a
>> >>>    SafeOS (one more device emulated by a non-safe component)
>> >>>
>> >>> Having 2 PCI Root Complexes both emulated in Xen is a middle ground
>> >>> solution because:
>> >>> - we still pay a price in terms of resource utilization
>> >>> - the code complexity goes up a bit but hopefully not by much
>> >>> - there is no impact on safety compared to the ideal scenario
>> >>>
>> >>> This is why I wrote that it is tolerable.
>> >> Ah, I see now. Yes, I am agree with this. Also I want to add some
>> >> more
>> >> points:
>> >> - There is ongoing work on implementing virtio backends as a
>> >> separate
>> >>    applications, written in Rust. Linaro are doing this part. Right n=
ow
>> >>    they are implementing only virtio-mmio, but if they want to provid=
e
>> >>    virtio-pci as well, they will need a mechanism to plug only
>> >>    virtio-pci, without Root Complex. This is argument for using singl=
e Root
>> >>    Complex emulated in Xen.
>> >> - As far as I know (actually, Oleksandr told this to me), QEMU has
>> >> no
>> >>    mechanism for exposing virtio-pci backends without exposing PCI ro=
ot
>> >>    complex as well. Architecturally, there should be a PCI bus to whi=
ch
>> >>    virtio-pci devices are connected. Or we need to make some changes =
to
>> >>    QEMU internals to be able to create virtio-pci backends that are n=
ot
>> >>    connected to any bus. Also, added benefit that PCI Root Complex
>> >>    emulator in QEMU handles legacy PCI interrupts for us. This is
>> >>    argument for separate Root Complex for QEMU.
>> >> As right now we have only virtio-pci backends provided by QEMU and
>> >> this
>> >> setup is already working, I propose to stick to this
>> >> solution. Especially, taking into account that it does not require an=
y
>> >> changes to hypervisor code.
>> >
>> > I am not against two hostbridge as a temporary solution as long as
>> > this is not a one way door decision. I am not concerned about the
>> > hypervisor itself, I am more concerned about the interface exposed by
>> > the toolstack and QEMU.
>
> I agree with this...
>
>
>> > To clarify, I don't particular want to have to maintain the two
>> > hostbridges solution once we can use a single hostbridge. So we need
>> > to be able to get rid of it without impacting the interface too much.
>
> ...and this
>
>
>> This depends on virtio-pci backends availability. AFAIK, now only one
>> option is to use QEMU and QEMU provides own host bridge. So if we want
>> get rid of the second host bridge we need either another virtio-pci
>> backend or we need to alter QEMU code so it can live without host
>> bridge.
>>=20
>> As for interfaces, it appears that QEMU case does not require any change=
s
>> into hypervisor itself, it just boils down to writing couple of xenstore
>> entries and spawning QEMU with correct command line arguments.
>
> One thing that Stewart wrote in his reply that is important: it doesn't
> matter if QEMU thinks it is emulating a PCI Root Complex because that's
> required from QEMU's point of view to emulate an individual PCI device.
>
> If we can arrange it so the QEMU PCI Root Complex is not registered
> against Xen as part of the ioreq interface, then QEMU's emulated PCI
> Root Complex is going to be left unused. I think that would be great
> because we still have a clean QEMU-Xen-tools interface and the only
> downside is some extra unused emulation in QEMU. It would be a
> fantastic starting point.

I believe, that in this case we need to set manual ioreq handlers, like
what was done in patch "xen/arm: Intercept vPCI config accesses and
forward them to emulator", because we need to route ECAM accesses either
to a virtio-pci backend or to a real PCI device. Also we need to tell
QEMU to not install own ioreq handles for ECAM space.

Another point is PCI legacy interrupts, which should be emulated on Xen
side. And unless I miss something, we will need some new mechanism to
signal those interrupts from QEMU/other backend. I am not sure if we can
use already existing IRQ signaling mechanism, because PCI interrupts are
ORed for all devices on a bridge and are level-sensitive.

Of course, we will need all of this anyways, if we want to support
standalone virtio-pci backends, but for me it sounds more like "finish
point" :)

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Fri Nov 17 23:46:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 17 Nov 2023 23:46:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635459.991353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r48XG-0001dF-5h; Fri, 17 Nov 2023 23:46:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635459.991353; Fri, 17 Nov 2023 23:46: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 1r48XG-0001d8-2g; Fri, 17 Nov 2023 23:46:06 +0000
Received: by outflank-mailman (input) for mailman id 635459;
 Fri, 17 Nov 2023 23:46: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 1r48XE-0001cy-N8; Fri, 17 Nov 2023 23:46: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 1r48XE-00045S-Kg; Fri, 17 Nov 2023 23:46: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 1r48XE-0006aD-1Y; Fri, 17 Nov 2023 23:46:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r48XE-0003yo-11; Fri, 17 Nov 2023 23:46: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=z222mE4f/zxJ5pqjQRzQkyp1+M+UgSyHx5xIinp5nqc=; b=y4ALyIDEA3VyI5P+PXAVD6XSwg
	6QrGN8KZe5XRkSt5Uta+uE6P3CjgvJ+ql5rKniTf589OgbgEWCobKmgKXm/yslJuHuTzjgjiXaW+q
	DmxNUQcM4ssEHRuPX8EIo9AeZ+wbOQsMtDlOrtaxhTgIN+ey2vmqdzd7gPC17GjEEwKw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183781-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183781: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check: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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:guest-stop: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm: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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl: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
    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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=6cd046c501bce48cdc42f597fc7a023aa08853e7
X-Osstest-Versions-That:
    xen=b739e2067b1a06328e7f0042630b543413689eac
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 17 Nov 2023 23:46:04 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183775
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183775
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183775
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183775
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183775
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183775
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183775
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183775
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183775
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183775
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183775
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183775
 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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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-credit2  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-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-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
 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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  6cd046c501bce48cdc42f597fc7a023aa08853e7
baseline version:
 xen                  b739e2067b1a06328e7f0042630b543413689eac

Last test of basis   183775  2023-11-16 16:10:43 Z    1 days
Testing same since   183781  2023-11-17 08:56:21 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <jgrall@amazon.com>
  Julien Grall <julien@xen.org>
  Leo Yan <leo.yan@linaro.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                                          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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   b739e2067b..6cd046c501  6cd046c501bce48cdc42f597fc7a023aa08853e7 -> master


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 00:45:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 00:45:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635470.991362 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r49Sq-0003bq-B7; Sat, 18 Nov 2023 00:45:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635470.991362; Sat, 18 Nov 2023 00:45: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 1r49Sq-0003bj-8B; Sat, 18 Nov 2023 00:45:36 +0000
Received: by outflank-mailman (input) for mailman id 635470;
 Sat, 18 Nov 2023 00: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r49So-0003bd-Cb
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 00:45:34 +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 c631d5eb-85ab-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 01:45:31 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 8217961E34;
 Sat, 18 Nov 2023 00:45:29 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 42B4CC433C7;
 Sat, 18 Nov 2023 00:45: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: c631d5eb-85ab-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700268328;
	bh=nNkY+fb2y3EQRcovAzUPxRitknmIYLi4FdIxCOu5eEI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dL2sL3VZUJidBrsZzoTSnPqCyQWJKIeA+Dp0gvUa6QCLcCH89HThbRazwPqQrwfFX
	 8sEveM5pUJEc7xPToeadcycz0b7M0/u/M5q4V1N2IwNkCGpgSr0C/sP3nrTEp9lzPM
	 NDeDnx8B7lyCKJhfuOKH3J1OaiNPjIo4VGpAUSwHX0L2poLeKQq0mmBsJAvOwOFTAS
	 UQiKeBTNtkoI/eE5hmUWYJzcoUVaQmKxHOE5/wz0P+A+mleeqwyXHb9kLhI7dozSPU
	 2MtMLSgb1vRVn3i/j77u2sZ4ZLrX7UQ9534KcaJ5KPMbg8C5ZjiO9QoVN+9yqhravA
	 Sf1YBybl3HbEQ==
Date: Fri, 17 Nov 2023 16:45:25 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.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>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
In-Reply-To: <87edgo2f6j.fsf@epam.com>
Message-ID: <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com> <20231012220854.2736994-14-volodymyr_babchuk@epam.com> <d6a58e73-da51-40f1-a2f7-576274945585@xen.org> <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop> <87o7ft44bv.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop> <87a5rc4gk7.fsf@epam.com> <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org> <8734x43zxi.fsf@epam.com> <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
 <87edgo2f6j.fsf@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> > On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> >> Hi Julien,
> >> 
> >> Julien Grall <julien@xen.org> writes:
> >> 
> >> > Hi Volodymyr,
> >> >
> >> > On 17/11/2023 14:09, Volodymyr Babchuk wrote:
> >> >> Hi Stefano,
> >> >> Stefano Stabellini <sstabellini@kernel.org> writes:
> >> >> 
> >> >>> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> >> >>>>> I still think, no matter the BDF allocation scheme, that we should try
> >> >>>>> to avoid as much as possible to have two different PCI Root Complex
> >> >>>>> emulators. Ideally we would have only one PCI Root Complex emulated by
> >> >>>>> Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
> >> >>>>> tolerable but not ideal.
> >> >>>>
> >> >>>> But what is exactly wrong with this setup?
> >> >>>
> >> >>> [...]
> >> >>>
> >> >>>>> The worst case I would like to avoid is to have
> >> >>>>> two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
> >> >>>>
> >> >>>> This is how our setup works right now.
> >> >>>
> >> >>> If we have:
> >> >>> - a single PCI Root Complex emulated in Xen
> >> >>> - Xen is safety certified
> >> >>> - individual Virtio devices emulated by QEMU with grants for memory
> >> >>>
> >> >>> We can go very far in terms of being able to use Virtio in safety
> >> >>> use-cases. We might even be able to use Virtio (frontends) in a SafeOS.
> >> >>>
> >> >>> On the other hand if we put an additional Root Complex in QEMU:
> >> >>> - we pay a price in terms of complexity of the codebase
> >> >>> - we pay a price in terms of resource utilization
> >> >>> - we have one additional problem in terms of using this setup with a
> >> >>>    SafeOS (one more device emulated by a non-safe component)
> >> >>>
> >> >>> Having 2 PCI Root Complexes both emulated in Xen is a middle ground
> >> >>> solution because:
> >> >>> - we still pay a price in terms of resource utilization
> >> >>> - the code complexity goes up a bit but hopefully not by much
> >> >>> - there is no impact on safety compared to the ideal scenario
> >> >>>
> >> >>> This is why I wrote that it is tolerable.
> >> >> Ah, I see now. Yes, I am agree with this. Also I want to add some
> >> >> more
> >> >> points:
> >> >> - There is ongoing work on implementing virtio backends as a
> >> >> separate
> >> >>    applications, written in Rust. Linaro are doing this part. Right now
> >> >>    they are implementing only virtio-mmio, but if they want to provide
> >> >>    virtio-pci as well, they will need a mechanism to plug only
> >> >>    virtio-pci, without Root Complex. This is argument for using single Root
> >> >>    Complex emulated in Xen.
> >> >> - As far as I know (actually, Oleksandr told this to me), QEMU has
> >> >> no
> >> >>    mechanism for exposing virtio-pci backends without exposing PCI root
> >> >>    complex as well. Architecturally, there should be a PCI bus to which
> >> >>    virtio-pci devices are connected. Or we need to make some changes to
> >> >>    QEMU internals to be able to create virtio-pci backends that are not
> >> >>    connected to any bus. Also, added benefit that PCI Root Complex
> >> >>    emulator in QEMU handles legacy PCI interrupts for us. This is
> >> >>    argument for separate Root Complex for QEMU.
> >> >> As right now we have only virtio-pci backends provided by QEMU and
> >> >> this
> >> >> setup is already working, I propose to stick to this
> >> >> solution. Especially, taking into account that it does not require any
> >> >> changes to hypervisor code.
> >> >
> >> > I am not against two hostbridge as a temporary solution as long as
> >> > this is not a one way door decision. I am not concerned about the
> >> > hypervisor itself, I am more concerned about the interface exposed by
> >> > the toolstack and QEMU.
> >
> > I agree with this...
> >
> >
> >> > To clarify, I don't particular want to have to maintain the two
> >> > hostbridges solution once we can use a single hostbridge. So we need
> >> > to be able to get rid of it without impacting the interface too much.
> >
> > ...and this
> >
> >
> >> This depends on virtio-pci backends availability. AFAIK, now only one
> >> option is to use QEMU and QEMU provides own host bridge. So if we want
> >> get rid of the second host bridge we need either another virtio-pci
> >> backend or we need to alter QEMU code so it can live without host
> >> bridge.
> >> 
> >> As for interfaces, it appears that QEMU case does not require any changes
> >> into hypervisor itself, it just boils down to writing couple of xenstore
> >> entries and spawning QEMU with correct command line arguments.
> >
> > One thing that Stewart wrote in his reply that is important: it doesn't
> > matter if QEMU thinks it is emulating a PCI Root Complex because that's
> > required from QEMU's point of view to emulate an individual PCI device.
> >
> > If we can arrange it so the QEMU PCI Root Complex is not registered
> > against Xen as part of the ioreq interface, then QEMU's emulated PCI
> > Root Complex is going to be left unused. I think that would be great
> > because we still have a clean QEMU-Xen-tools interface and the only
> > downside is some extra unused emulation in QEMU. It would be a
> > fantastic starting point.
> 
> I believe, that in this case we need to set manual ioreq handlers, like
> what was done in patch "xen/arm: Intercept vPCI config accesses and
> forward them to emulator", because we need to route ECAM accesses
> either to a virtio-pci backend or to a real PCI device. Also we need
> to tell QEMU to not install own ioreq handles for ECAM space.

I was imagining that the interface would look like this: QEMU registers
a PCI BDF and Xen automatically starts forwarding to QEMU ECAM
reads/writes requests for the PCI config space of that BDF only. It
would not be the entire ECAM space but only individual PCI conf
reads/writes that the BDF only.


> Another point is PCI legacy interrupts, which should be emulated on Xen
> side. And unless I miss something, we will need some new mechanism to
> signal those interrupts from QEMU/other backend. I am not sure if we can
> use already existing IRQ signaling mechanism, because PCI interrupts are
> ORed for all devices on a bridge and are level-sensitive.

I hope we can reuse xc_hvm_set_pci_intx_level or another XEN_DMOP
hypercall


> Of course, we will need all of this anyways, if we want to support
> standalone virtio-pci backends, but for me it sounds more like "finish
> point" :)



From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:20:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635475.991372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4AwA-000179-Tl; Sat, 18 Nov 2023 02:19:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635475.991372; Sat, 18 Nov 2023 02: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 1r4AwA-000172-R0; Sat, 18 Nov 2023 02:19:58 +0000
Received: by outflank-mailman (input) for mailman id 635475;
 Sat, 18 Nov 2023 02: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4Aw9-00016w-If
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:19:57 +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 f6016c13-85b8-11ee-98dc-6d05b1d4d9a1;
 Sat, 18 Nov 2023 03:19:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id A82B461DF3;
 Sat, 18 Nov 2023 02:19:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6DC08C433C8;
 Sat, 18 Nov 2023 02:19: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: f6016c13-85b8-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700273992;
	bh=z6pTziN/JcjnXzjVx6Wp158hLjbEqCdHpHzaB73Dcpc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=thtrgRUbLkRciqIpqh6vKIOryif9ckBe2ePwbuW2lORhVpGjg/m+kS+krV1BruWtD
	 W0Z6NPVTic/gc8ud8qzA37fQI9musapzyBukvTQG85exb25IMN3LKmREeCn9obb/69
	 FYRFT9IKaRBdea3MvJ+kvwcOYDh3HzSsLpcpWFdr3BmC+78AMXc6l0qbbVqnZP2dR2
	 hq44SUyoPF6F5qafN4kz/sLilUalhFnAz/b8oPbNN7ZslotLI+MO+YwzqrW/jBEhQL
	 D9P2i4FaXUBOD7Wz2al7zcxiGjPMuyfRmZWngmqsWKngeKbk4MM2kTV0ATWoob1OhF
	 piF1PMua6dLuA==
Date: Fri, 17 Nov 2023 18:19:48 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, bertrand.marquis@arm.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v4 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
In-Reply-To: <90f41e53-783b-43e6-9188-abbae847e370@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311171813380.773207@ubuntu-linux-20-04-desktop>
References: <cover.1699975581.git.nicola.vetrini@bugseng.com> <f14b266f18089f5951a3e390a5ebfe713beb8dbb.1699975581.git.nicola.vetrini@bugseng.com> <f63fa9b5-a821-49d4-88f6-7d991ab6c644@xen.org> <1689d4b47d708098c43601a58e867f1c@bugseng.com>
 <ecbfa46d-2e0a-4685-9695-f7de37e7b6ce@xen.org> <fd6f51afebb9fd90531e30289eb99d8c@bugseng.com> <90f41e53-783b-43e6-9188-abbae847e370@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-464059291-1700273631=:773207"
Content-ID: <alpine.DEB.2.22.394.2311171818090.773207@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-464059291-1700273631=:773207
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311171818091.773207@ubuntu-linux-20-04-desktop>

On Fri, 17 Nov 2023, Julien Grall wrote:
> Hi,
> 
> On 16/11/2023 08:45, Nicola Vetrini wrote:
> > On 2023-11-15 12:22, Julien Grall wrote:
> > > Hi,
> > > 
> > > On 15/11/2023 11:02, Nicola Vetrini wrote:
> > > > On 2023-11-14 23:12, Julien Grall wrote:
> > > > > Hi,
> > > > > 
> > > > > On 14/11/2023 15:36, Nicola Vetrini wrote:
> > > > > > To be able to check for the existence of the necessary subsections
> > > > > > in
> > > > > > the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a
> > > > > > source
> > > > > > file that is built.
> > > > > > 
> > > > > > This file is generated from 'C-runtime-failures.rst' in docs/misra
> > > > > > and the configuration is updated accordingly.
> > > > > > 
> > > > > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > > > > > ---
> > > > > > Changes from RFC:
> > > > > > - Dropped unused/useless code
> > > > > > - Revised the sed command
> > > > > > - Revised the clean target
> > > > > > 
> > > > > > Changes in v2:
> > > > > > - Added explanative comment to the makefile
> > > > > > - printf instead of echo
> > > > > > 
> > > > > > Changes in v3:
> > > > > > - Terminate the generated file with a newline
> > > > > > - Build it with -std=c99, so that the documentation
> > > > > >    for D1.1 applies.
> > > > > > Changes in v5:
> > > > > > - Transform and build the file directly in the eclair-specific
> > > > > > directory
> > > > > > ---
> > > > > >   automation/eclair_analysis/build.sh   | 21 +++++++++++++++++++--
> > > > > >   automation/eclair_analysis/prepare.sh |  7 ++++---
> > > > > >   2 files changed, 23 insertions(+), 5 deletions(-)
> > > > > > 
> > > > > > diff --git a/automation/eclair_analysis/build.sh
> > > > > > b/automation/eclair_analysis/build.sh
> > > > > > index ec087dd822fa..f24292ed0643 100755
> > > > > > --- a/automation/eclair_analysis/build.sh
> > > > > > +++ b/automation/eclair_analysis/build.sh
> > > > > > @@ -33,12 +33,29 @@ else
> > > > > >     PROCESSORS=6
> > > > > >   fi
> > > > > >   +runtime_failures_docs() {
> > > > > > +  doc="C-runtime-failures.rst"
> > > > > > +  builddir="automation/eclair_analysis"
> > > > > > +
> > > > > > +  cp "docs/misra/${doc}" "${builddir}"
> > > > > 
> > > > > Is it necessary to copy the .rst? IOW, would it be sufficient to
> > > > > use...
> > > > > 
> > > > > > +  cd "${builddir}"
> > > > > > +  printf "/*\n\n" >"${doc}.tmp"
> > > > > > +  sed -e 's|\*/|*//*|g' "${doc}" >>"${doc}.tmp"
> > > > > 
> > > > > ... docs/misc/${doc} here?
> > > > > 
> > > > 
> > > > I didn't want to leave a stray file under docs/misra, but it's not
> > > > essential.
> > > 
> > > I am confused. I am suggesting to use:
> > > 
> > > sed -e 's|\*/|*//*|g' "../../docs/misc/${doc}" >> "${doc}.tmp"
> > > 
> > > So *.tmp is still created at the same place.
> > > 
> > 
> > Ok, makes sense.
> > 
> > > > 
> > > > > > +  printf "\n\n*/\n" >>"${doc}.tmp"
> > > > > > +  mv "${doc}.tmp" "${doc}.c"
> > > > > 
> > > > > NIT: I am not sure why you need to first create .tmp and then
> > > > > create.c.
> > > > > 
> > > > 
> > > > Wasn't this a pattern to defend against interruptions of the build, just
> > > > as I did in v3?
> > > > 
> > > > +$(TARGETS:.o=.c): %.c: %.rst
> > > > +    printf "/*\n\n" > $@.tmp
> > > > +    sed -e 's|\*/|*//*|g' $< >> $@.tmp
> > > > +    printf "\n\n*/\n" >> $@.tmp
> > > > +    mv $@.tmp $@
> > > 
> > > Yes but it makes sense for the Makefile because the target would not be
> > > re-executed if *.c exists.
> > > 
> > > But I don't think this is the case for you because you are using a bash
> > > script. So your function should always be re-executed regardless on
> > > whether it was interrupted or not.
> > > 
> > 
> > Ok.
> > 
> > > > 
> > > > > > +
> > > > > > +  # Cannot redirect to /dev/null because it would be excluded from
> > > > > > the analysis
> > > > > > +  "${CROSS_COMPILE}gcc-12" -std=c99 -c "${doc}.c" -o "${doc}.o"
> > > > > 
> > > > > NIT: It would be helpful to specify why -std=c99 is used. Above, you
> > > > > suggest this is to enable D1.1.
> > > > > 
> > > > 
> > > > Yeah, the comment in the changelog should be pasted here
> > > > 
> > > > > NIT: Can we define CC and use here and ...
> > > > > 
> > > > > > +  cd -
> > > > > > +}
> > > > > > +
> > > > > >   (
> > > > > > -  cd xen
> > > > > > +  runtime_failures_docs
> > > > > >       make "-j${PROCESSORS}" "-l${PROCESSORS}.0"    \
> > > > > >          "CROSS_COMPILE=${CROSS_COMPILE}"         \
> > > > > >          "CC=${CROSS_COMPILE}gcc-12"              \
> > > > > 
> > > > > ...? This would make easier to re-use the code.
> > > > > 
> > > > 
> > > > I don't expect this build script to be changed much to be honest, but if
> > > > you think
> > > > this is beneficial then it's ok.
> > > 
> > > This is not only about code evolving. It makes easier to spot your are
> > > using the same compiler. I would not have made the remark if you were
> > > using 'gcc'.
> > > 
> > > But I noticed you were using gcc-12 and originally thought it was a
> > > mistake until I saw the second use.
> > > 
> > > The advantage of a variable CC (and CXX) is you can add a comment on top
> > > why you are specifically requestion gcc-12? IOW, why is gcc not fine?
> > > 
> > 
> > The assumptions in C-language-toolchain.rst (which are reflected in the
> > analysis config) are using gcc-12 explicitly; that's just easier from a
> > certification perspective to have a fixed version.
> 
> I am not against fixed version. It just needs to be documented. At least
> reading C-language-toolchain.rst, it is not obvious to me that this is only
> applying to GCC-12.

I did a commit sweep for the old MISRA patches. I didn't commit this
series as I imagine it requires a respin.
--8323329-464059291-1700273631=:773207--


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:20:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635476.991382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4AwN-0002Dn-5H; Sat, 18 Nov 2023 02:20:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635476.991382; Sat, 18 Nov 2023 02: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 1r4AwN-0002Dg-2R; Sat, 18 Nov 2023 02:20:11 +0000
Received: by outflank-mailman (input) for mailman id 635476;
 Sat, 18 Nov 2023 02:20: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4AwM-00016w-2b
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:20:10 +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 fe2b36bc-85b8-11ee-98dc-6d05b1d4d9a1;
 Sat, 18 Nov 2023 03:20:09 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 79B3161DF4;
 Sat, 18 Nov 2023 02:20:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D9DCEC433C8;
 Sat, 18 Nov 2023 02:20: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: fe2b36bc-85b8-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700274006;
	bh=j5Ws/t6Ta9eJejgOz4SewkwKk+0kbJcLvoqmWcbva18=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Lkh50obpp0E8QA22GpImRqqcAFmM2IJxPXPa8GYpsqYfl8qmtc5ZEaYFVdZ4bI4E+
	 Y/WtiOlaYpuRS+xifcR4EEwWF6I7wA9iJ7u0uu2jRHHo3GhXN8ZenOxV391Xf2/UGo
	 EYiRSVH4LBFYme11VFKqsbYicZ0RAAIPknWiCgIc3+ac9voBGEPD9yW16ZPZk4HQLK
	 FFW/bg4P6NG2yq4LEjNOVMzfGw+8eqmDLA50CUB+74mM0kO6bqTleqKTiUmnW3Vgx0
	 m6hzhUCb2n8F2cvUU9DGB8toyy5wi0SdcqQowRbkdgE1q8nvx4bvmb2HZky1grzut4
	 /bR+WqNkkmT1A==
Date: Fri, 17 Nov 2023 18:20:03 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v4 1/8] xen/include: add macro
 ISOLATE_LOW_BIT
In-Reply-To: <8a1313b3ab5ba6dd556cf37409e3b703@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311171804590.773207@ubuntu-linux-20-04-desktop>
References: <cover.1698410970.git.nicola.vetrini@bugseng.com> <dca236bf9199f596bafb35eb48d81adc280d8cca.1698410970.git.nicola.vetrini@bugseng.com> <f88edc35-6b1b-0136-aa1f-6429652c4016@suse.com> <alpine.DEB.2.22.394.2310301536390.1625118@ubuntu-linux-20-04-desktop>
 <7c26fb70-6a8c-58a3-6a1d-300dd57b5827@suse.com> <817fab34432c854ce585aba80db77f7c@bugseng.com> <8b4e0da82930375b2a95387a9031c73f@bugseng.com> <1178b79c-d6a3-a46c-5556-3fb5964dc051@suse.com> <392566d1-109b-413c-b904-0e4cb4007263@suse.com>
 <6b6f051130b724ee6a813235e049354c@bugseng.com> <7cbf6f0f-d5b1-44e2-9a0e-a9d7d353eb6b@suse.com> <alpine.DEB.2.22.394.2311161635200.773207@ubuntu-linux-20-04-desktop> <b5277391-71bb-42b6-82e4-635dd1361ad3@suse.com>
 <8a1313b3ab5ba6dd556cf37409e3b703@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Nicola Vetrini wrote:
> Hi Jan,
> 
> > > > > > While I've committed this patch (hoping that I got the necessary
> > > > > > context
> > > > > > adjustment right for the
> > > > > > automation/eclair_analysis/ECLAIR/deviations.ecl
> > > > > > change), I'd like to come back to this before going further with
> > > > > > users
> > > > > > of
> > > > > > the new macro: I still think we ought to try to get to the single
> > > > > > evaluation wherever possible. The macro would then be used only in
> > > > > > cases
> > > > > > where the alternative construct (perhaps an isolate_lsb() macro,
> > > > > > living
> > > > > > perhaps in xen/bitops.h) cannot be used. ISOLATE_LSB() would then
> > > > > > want
> > > > > > to
> > > > > > gain a comment directing people to the "better" sibling. Thoughts?
> > > > > 
> > > > > Having the users in place would help me estimate the remaining work
> > > > > that
> > > > > needs to be done on this rule and see if my local counts match up with
> > > > > the counts in staging.
> > > > 
> > > > By "having the users in place", you mean you want other patches in this
> > > > and the dependent series to be committed as-is (except for the name
> > > > change)? That's what I'd like to avoid, as it would mean touching all
> > > > those use sites again where the proposed isolate_lsb() could be used
> > > > instead. I'd rather see all use sites be put into their final shape
> > > > right away.
> > > 
> > > This request is coming a bit late and also after all the patches have
> > > been reviewed already. I for one am not looking forward to review them
> > > again.
> > > 
> > > That said, if you could be more specified maybe it could become
> > > actionable:
> > > 
> > > - do you have a pseudo code implementation of the "better" macro you
> > >   would like to propose?
> > 
> > May I remind you that I made this request (including a draft implementation)
> > before already, and Nicola then merely found that the evaluate-once form
> > simply cannot be used everywhere? Anybody could have thought of the option
> > of "splitting" the macro. After all I hope that there is no disagreement on
> > macro arguments better being evaluated just once, whenever possible.
> > 
> > > - do you have an list of call sites you would like to be changed to use
> > >   the "better" macro?
> > 
> > No, I don't have a list. But the pattern is pretty clear: The "better" form
> > ought to be used wherever it actually can be used.
> > 
> > > Also, you might remember past discussions about time spent making
> > > changes yourself vs. others doing the same. This is one of those cases
> > > that it would be faster for you to make the change and send a patch than
> > > explaining someone else how to do it, then review the result (and
> > > review it again as it probably won't be exactly as you asked the first
> > > time.)
> > > 
> > > If you don't want the call sites to be changes twice, may I suggest you
> > > provide a patch on top of Nicola's series, I review and ack your patch,
> > > and Nicola or I rebase & resend the series so that the call sites are
> > > only changes once as you would like? I think that's going to be way
> > > faster.
> > 
> > I'll see if I can find time to do so. I don't normally work on top of
> > other people's uncommitted patches, though ... So I may also choose to go
> > a slightly different route. (You realize though that all still pending
> > patches using the new macro need touching again anyway, don't you?)
> > 
> > Jan
> 
> Then perhaps it's best if I give it a try at doing the single evaluation
> macro, so that I can make a series modifying the call sites only once on top
> of that and send everything in one go. Before doing that, though, I'll make a
> thread where various aspects that are not so clear yet can be discussed, so
> that we can devise a robust solution (also to dig this out of this deep
> thread).

In the meantime I committed patches from #5 onward as they don't depend
on ISOLATE_LSB


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:25:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:25:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635481.991393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4B1Z-00036m-QF; Sat, 18 Nov 2023 02:25:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635481.991393; Sat, 18 Nov 2023 02:25: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 1r4B1Z-00036f-Mz; Sat, 18 Nov 2023 02:25:33 +0000
Received: by outflank-mailman (input) for mailman id 635481;
 Sat, 18 Nov 2023 02:25: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4B1Y-00036Z-OX
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:25:32 +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 bdd80b3c-85b9-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 03:25:30 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 6AEED61DF4;
 Sat, 18 Nov 2023 02:25:28 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 037CEC433C8;
 Sat, 18 Nov 2023 02:25:26 +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: bdd80b3c-85b9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700274327;
	bh=P/pAtM4BpAP0nUNJJRlbFGyazfOJtuOOvA8lKWSt1sM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=j0nqGecqpZB4cdGO762nCT5RsT78gq/a8pZu6Br6RectegUG0uDv/xfo4cPc4kp6R
	 73oQopYBRGbe87H8S6aRa8AWs730s8nWKAR00WVtbJ/mpbhPvYPYCsih/4qRZmubzV
	 M57pOM7rwSf7+vjdSaK76MkxpBuGbW43EGJugNgbn5LIKBjaDGICAboRa9w0i9l9sh
	 nG4cuE8w7e5MAiApPFKWNOMXVnTfN0lnA88MEocVVmxrxgVwnbOT2azOsryQfiZqYS
	 j9pi6GwmzDJ7jMes7ORxC1HrUJcvB7aaVJEArIB/x+kQ2hGCGU7wNxQlkxOX8pHyM3
	 cY2oey7Z0JzeQ==
Date: Fri, 17 Nov 2023 18:25:25 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 1/6] automation: remove CR characters from QEMU serial
In-Reply-To: <ZVc7a56DXOtEoS0N@macbook.local>
Message-ID: <alpine.DEB.2.22.394.2311171823550.773207@ubuntu-linux-20-04-desktop>
References: <20231116121310.72210-1-roger.pau@citrix.com> <20231116121310.72210-2-roger.pau@citrix.com> <alpine.DEB.2.22.394.2311161701420.773207@ubuntu-linux-20-04-desktop> <ZVc7a56DXOtEoS0N@macbook.local>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-309321110-1700274327=:773207"

  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-309321110-1700274327=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 17 Nov 2023, Roger Pau Monné wrote:
> On Thu, Nov 16, 2023 at 05:05:28PM -0800, Stefano Stabellini wrote:
> > On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> > > The gitlab CI webpage seems to have issues displaying the \CR\CR\LF "\r\r\n"
> > > sequence on the web interface used as line returns by the Linux kernel serial
> > > output.  This leads to the QEMU tests output looking like:
> > > 
> > > (XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
> > > (XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
> > > (XEN) Freed 664kB init memory
> > > mapping kernel into physical memory
> > > about to get started...
> > > qemu-system-x86_64: terminating on signal 15 from pid 52 (timeout)
> > > 
> > > This not helpful, so strip the CR characters from the output that goes to
> > > stdout, leaving the output in the smoke.serial untouched.
> > > 
> > > Fixes: 3030a73bf849 ('automation: add a QEMU based x86_64 Dom0/DomU test')
> > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > 
> > Thanks for the patch. Let me see if I understood correctly.
> > 
> > In the gitlab web UI everything after the last (XEN) log line
> > disappears, for instance:
> > 
> > https://gitlab.com/xen-project/xen/-/jobs/5556551478
> > 
> > (XEN) d1v0: vGICD: unhandled word write 0x000000ffffffff to ICACTIVER0
> > / # qemu-system-aarch64: terminating on signal 15 from pid 145 (timeout)
> > 
> > 
> > While if I look at the full logs there are plenty of Linux kernel logs
> > after it:
> > https://cdn.artifacts.gitlab-static.net/ec/ad/ecad5145a0ec1eb179fd47d1590d5ec43d705e8af2f9a816607ac31891cb82b9/2023_11_16/5556551478/6032156805/job.log?response-content-type=text%2Fplain%3B%20charset%3Dutf-8&response-content-disposition=inline&Expires=1700183635&KeyName=gprd-artifacts-cdn&Signature=vT8CBwI2Th23OvRvQKvNPgHiT5Y=
> > 
> > And this patch aims at fixing that, is that correct?
> > 
> > 
> > But I went to check your pipeline
> > https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1074512137
> > and the corresponding job
> > https://gitlab.com/xen-project/people/royger/xen/-/jobs/5549620441 has
> > the same issue?
> 
> I made the change just for qemu-alpine-x86_64-gcc:
> 
> https://gitlab.com/xen-project/people/royger/xen/-/jobs/5550049674
> 
> I didn't realize qemu-smoke-dom0-arm64-gcc was also using it.  If the
> fix is acceptable I can submit v2 adding the arm instances also.

Yes the fix is fine. All the qemu scripts are copy/paste design right
now and I am aware they need to be unified. It is not just
qemu-smoke-dom0-arm64-gcc, also qemu-smoke-dom0less-arm64.sh and
basically all the other scripts that start QEMU.
--8323329-309321110-1700274327=:773207--


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:28:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635484.991402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4B3u-0004cQ-9a; Sat, 18 Nov 2023 02:27:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635484.991402; Sat, 18 Nov 2023 02: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 1r4B3u-0004cJ-6Q; Sat, 18 Nov 2023 02:27:58 +0000
Received: by outflank-mailman (input) for mailman id 635484;
 Sat, 18 Nov 2023 02:27: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4B3s-0004c7-Ga
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:27:56 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13f1f1a8-85ba-11ee-98dc-6d05b1d4d9a1;
 Sat, 18 Nov 2023 03:27:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 1196DCE2641;
 Sat, 18 Nov 2023 02:27:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B4AAAC433C9;
 Sat, 18 Nov 2023 02:27: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: 13f1f1a8-85ba-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700274472;
	bh=9T1EnttBQYrhigG7jRJTSUA+WG9j5Sm2fneFbuDV22Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=EJ2FpEowQx++YpjOzCugBoftdCL/i4hV/13CWjBi32k4gwe72ZduQ7LOceXcNtLsx
	 yEJweQP7JIMHUJNv/poDVMB0Sk3gPhQOLaiyXkw/okwYV5DhzEG2SQv8pX54Qz9a5V
	 MiWXQ2WMh1bg4Mw/v0GoVkVujYm+PSUkP4X9DqKs559DXjhXYptxutgSiHIcwbun9n
	 JV6mVm5UcF8zrAQ0PTBXouEI46xX5cJ1nvhUgLef2fG73cNs4UK7ATpiaHMqJCc3Pk
	 xOSpyyVakAnyySa9HOVfV1K6NPce8dbdJYqS2bYudNmwtFN+vZjUup5WU1I447PvNG
	 g5lz3O672dSMA==
Date: Fri, 17 Nov 2023 18:27:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 6/6] automation: switch to multi-platform images when
 possible
In-Reply-To: <ZVc9MZQ3lJpL2Nz1@macbook.local>
Message-ID: <alpine.DEB.2.22.394.2311171826100.773207@ubuntu-linux-20-04-desktop>
References: <20231116121310.72210-1-roger.pau@citrix.com> <20231116121310.72210-7-roger.pau@citrix.com> <alpine.DEB.2.22.394.2311161711560.773207@ubuntu-linux-20-04-desktop> <ZVc9MZQ3lJpL2Nz1@macbook.local>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-2059347766-1700274471=:773207"

  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-2059347766-1700274471=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 17 Nov 2023, Roger Pau Monné wrote:
> On Thu, Nov 16, 2023 at 05:14:23PM -0800, Stefano Stabellini wrote:
> > On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> > > Instead of using specific architecture image, switch to using multi-arch ones
> > > and specify the desired architecture using the --platform option.
> > > 
> > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > > ---
> > > I haven't touched the Yocto dockerfile because I'm not sure how it's used.
> > 
> > We are missing:
> > 
> > automation/build/debian/buster-gcc-ibt.dockerfile
> 
> That file was updated in patch 5/6:
> 
> https://lore.kernel.org/xen-devel/20231116121310.72210-6-roger.pau@citrix.com/
> 
> > automation/build/debian/bookworm-cppcheck.dockerfile
> 
> Not sure I'm following, bookworm-cppcheck.dockerfile is updated...
> 
> > automation/tests-artifacts/*
> 
> Oh, didn't realize about those, I will do in a separate patch.

Thanks!


> > Aside from that, it is fine.
> > 
> > How did you test the updated containers? Have you already pushed them to
> > the registry?
> 
> I've pushed them to my local registry and changed the registry in one
> of my Xen branches, see:
> 
> https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1074512137
> 
> Some jobs failed because the runners run out of space.

Oh, OK. It is going to be a lot of work to rebuild and push all the
containers and I wouldn't mind you doing that once the patches are
acked. In fact it would be great if you pushed the containers once you
tests that they work as expected. If you don't have the right access
permissions, I can do that too
--8323329-2059347766-1700274471=:773207--


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:30:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:30:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635487.991414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4B6C-00061i-NQ; Sat, 18 Nov 2023 02:30:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635487.991414; Sat, 18 Nov 2023 02: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 1r4B6C-00061b-JO; Sat, 18 Nov 2023 02:30:20 +0000
Received: by outflank-mailman (input) for mailman id 635487;
 Sat, 18 Nov 2023 02: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4B6B-00061V-Go
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:30:19 +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 681937e5-85ba-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 03:30:17 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 72BEBCE2641;
 Sat, 18 Nov 2023 02:30:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8FAA7C433C7;
 Sat, 18 Nov 2023 02:30: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: 681937e5-85ba-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700274613;
	bh=rY5zNOfcP/uVizHjmVmyNwXpric9Z0L04Kd6a8tV8tA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JFIVNYId64IROGLhAZo1tPW4mbdxKd/lqVU/tpCHCU4O8mMGmfavqyxEEiMK0sp4w
	 zuwedAXgukTccakPY0ZpSZQwtpWeUX/hTpYU5LsglFqIXQ/sNQvhzRkqheOi3Z/3GZ
	 aND/ozXj+JW/caDfMYKb7mU5VI2z6jP6aOi3l9cfh51Xur4tKTSh3OpyidwfjUgVWs
	 s/g95i3+yDwdvImVmzLFsy1vu8rQ4ETTU476AUC6M2OGau4TQhAe2uZtYPH4ATZzE9
	 /CgnIlkajHmUOa5YYh1FSfoLaba/fY+6n6AS+LwvNXFGtaZ1JO5hkXqidbujbiw52v
	 JS5lHcNQwbIFQ==
Date: Fri, 17 Nov 2023 18:30:09 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Federico Serafini <federico.serafini@bugseng.com>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.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: [XEN PATCH v3] xen: introduce function type bug_fn_t.
In-Reply-To: <82bd029b-4c26-4eb3-9e93-1d34fab40db3@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311171829560.773207@ubuntu-linux-20-04-desktop>
References: <3942021ff51b117ab2b50aecd6e75353cd73ab20.1700158707.git.federico.serafini@bugseng.com> <82bd029b-4c26-4eb3-9e93-1d34fab40db3@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, 17 Nov 2023, Julien Grall wrote:
> Hi Federico,
> 
> On 17/11/2023 08:28, Federico Serafini wrote:
> > Introduce function type bug_fn_t. This improves readability and helps
> > to validate that the function passed to run_in_exception_handle() has
> > the expected prototype.
> Hmmm... I read the second part as you will validate the type in
> run_in_exception_handle(). But I can't find such change. How about:
> 
> "and could be used to help validating that ..."
> 
> No need to send a new revision for that. I can do it on commit.

I committed it together with the old patches I was tracking


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:40:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:40:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635491.991423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4BFv-0000EQ-JA; Sat, 18 Nov 2023 02:40:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635491.991423; Sat, 18 Nov 2023 02: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 1r4BFv-0000EJ-G6; Sat, 18 Nov 2023 02:40:23 +0000
Received: by outflank-mailman (input) for mailman id 635491;
 Sat, 18 Nov 2023 02: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4BFu-0000ED-CH
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:40:22 +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 d0a6abcb-85bb-11ee-98dc-6d05b1d4d9a1;
 Sat, 18 Nov 2023 03:40:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 0F1D861DF4;
 Sat, 18 Nov 2023 02:40:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A2D93C433C7;
 Sat, 18 Nov 2023 02:40: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: d0a6abcb-85bb-11ee-98dc-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700275217;
	bh=HoocNUGpO15Q5ncZRkpP5DTUwpO5G0onA0P/J2Vx7vI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=byTurhODWZC8lL/Qr1HokKngDJV1R5wwCiTXLDjRfNv9WhF95PRKywdj29d1eyGOy
	 o73+TP3dYqbHvGJbKks7KWF9KiRojJQBmszWvRNGEmoWAlfa+hxd19BabUIyCXf0H2
	 bWtHONGtcLnJ7+bH2TjLRO/a8uQJFI8aCOZoXKIpwPpUz2Len6F7wpKW+Dg/ox1d69
	 uTmB5rcOfXV0degpeqVFh2qYMqu/p2ytmDz25clim2rnZvQfv9quKIq2ylkPckN1SJ
	 Ztymdq0iwM2kx+nA05Gjy3Cx1IAFCqKbkz1krz75EJPZjgbpR6sNyIUyly6yx1AoYI
	 GmZS8ab+fL9Bg==
Date: Fri, 17 Nov 2023 18:40:13 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, consulting@bugseng.com, 
    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>, 
    Shawn Anastasio <sanastasio@raptorengineering.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Henry Wang <henry.wang@arm.com>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3] xen/mm: address violations of MISRA C:2012 Rules
 8.2 and 8.3
In-Reply-To: <a665cac0-93f3-4fbb-a1bc-104bc36fbf61@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311171840030.773207@ubuntu-linux-20-04-desktop>
References: <eedcfeb8d1c81527b7e18fcc0eca252577f00035.1696344012.git.federico.serafini@bugseng.com> <d7cd7a02-b960-384e-4af2-f70b425e5ad1@suse.com> <alpine.DEB.2.22.394.2310181543030.965337@ubuntu-linux-20-04-desktop> <30e35f13-d2d0-eaf3-9660-c508655b84ce@suse.com>
 <alpine.DEB.2.22.394.2310190921020.1945130@ubuntu-linux-20-04-desktop> <965cdb62-1b96-c8a1-733b-ad006bb2edc6@suse.com> <a665cac0-93f3-4fbb-a1bc-104bc36fbf61@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Federico Serafini wrote:
> On 20/10/23 08:35, Jan Beulich wrote:
> > On 19.10.2023 18:26, Stefano Stabellini wrote:
> > > On Thu, 19 Oct 2023, Jan Beulich wrote:
> > > > On 19.10.2023 00:43, Stefano Stabellini wrote:
> > > > > On Mon, 16 Oct 2023, Jan Beulich wrote:
> > > > > > On 03.10.2023 17:24, Federico Serafini wrote:
> > > > > > > --- a/xen/arch/x86/mm.c
> > > > > > > +++ b/xen/arch/x86/mm.c
> > > > > > > @@ -5901,17 +5901,17 @@ int destroy_xen_mappings(unsigned long s,
> > > > > > > unsigned long e)
> > > > > > >    * a problem.
> > > > > > >    */
> > > > > > >   void init_or_livepatch modify_xen_mappings_lite(
> > > > > > > -    unsigned long s, unsigned long e, unsigned int _nf)
> > > > > > > +    unsigned long s, unsigned long e, unsigned int nf)
> > > > > > >   {
> > > > > > > -    unsigned long v = s, fm, nf;
> > > > > > > +    unsigned long v = s, fm, flags;
> > > > > > 
> > > > > > While it looks correct, I consider this an unacceptably dangerous
> > > > > > change: What if by the time this is to be committed some new use of
> > > > > > the local "nf" appears, without resulting in fuzz while applying the
> > > > > > patch? Imo this needs doing in two steps: First nf -> flags, then
> > > > > > _nf -> nf.
> > > > > 
> > > > > Wouldn't it be sufficient for the committer to pay special attention
> > > > > when committing this patch? We are in code freeze anyway, the rate of
> > > > > changes affecting staging is low.
> > > > 
> > > > Any kind of risk excludes a patch from being a 4.18 candidate, imo.
> > > 
> > > I agree on that. I think it is best to commit it for 4.19 when the tree
> > > opens.
> > > 
> > > 
> > > > That was the case in early RCs already, and is even more so now. Paying
> > > > special attention is generally a possibility, yet may I remind you that
> > > > committing in general is intended to be a purely mechanical operation?
> > > 
> > > Sure, and I am not asking for a general process change. I am only
> > > suggesting that this specific concern on this patch is best solved in
> > > the simplest way: by a committer making sure the patch is correct on
> > > commit. It is meant to save time for everyone.
> > > 
> > > Jan, if you are OK with it, we could just trust you to commit it the
> > > right away as the earliest opportunity.
> > 
> > If you can get Andrew or Roger to ack this patch in its present shape,
> > I won't stand in the way. I'm not going to ack the change without the
> > indicated split.
> 
> I'll propose a new patch series where changes are splitted as indicated.
> I also noticed a discrepancy between Arm and x86 in the name of the
> last parameter of xenmem_add_to_physmap_one().
> Do you have any suggestions about how to solve it?
> If we reach an agreement, then I can put the changes related to the mm module
> in a single patch.

I think it should be "gfn"


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:41:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:41:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635493.991432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4BHH-0000nQ-Sk; Sat, 18 Nov 2023 02:41:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635493.991432; Sat, 18 Nov 2023 02:41: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 1r4BHH-0000nJ-QJ; Sat, 18 Nov 2023 02:41:47 +0000
Received: by outflank-mailman (input) for mailman id 635493;
 Sat, 18 Nov 2023 02:41: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4BHG-0000nD-8K
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:41:46 +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 015bb4db-85bc-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 03:41:43 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id BDD47CE2641;
 Sat, 18 Nov 2023 02:41:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7DA4DC433C8;
 Sat, 18 Nov 2023 02:41: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: 015bb4db-85bc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700275300;
	bh=35DH54wYr34/lOwIr5QRfLXlmGIdcajrH99olY4oJjU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aYjAgq/CJ08PTdR4YsNtr/4TqMz2QLK8tei4TEr+qzk05gzATq53jJa2ugMa4AjU2
	 nGhtyH9Qtc2yMxocUBTC6H9GBHsPI9VSz8B3lTtiZ9VuR+Q+WLmYzTy4FvezF357AL
	 m3QMyVwpKSbLUtyYaHgYKqfBKR4liDcPHA3lwugX0Tc5KVQ6SeRz813UTuBvhwaaUp
	 /5OfPvfWyfONZL1WbJwwCrw9Koxc6mU8X4fFTkwpIwfP5L5qEIUN5pq8lQGhP8J/PF
	 N/HP/z5w8U2tudNL9Xiu6HLimGcS194bw+3kyAHuBLk4Ji/P/Zf3wzNkntN21ZJc7t
	 0nXENeRK2/F4w==
Date: Fri, 17 Nov 2023 18:41:36 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>, roger.pau@citrix.com
Subject: Re: [XEN PATCH v2] automation/eclair: add deviations for MISRA C:2012
 Rule 8.3
In-Reply-To: <b6aa527b-cf1a-41e1-a10a-f0d33f113464@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311171841310.773207@ubuntu-linux-20-04-desktop>
References: <1c146f28cb19607ddd6741de4f7de051894a3381.1698314415.git.federico.serafini@bugseng.com> <662e9080-5648-47eb-95e6-41fcb618c68f@xen.org> <1f137be0-452d-4073-a79c-ffd8a501e434@bugseng.com> <831e23c2-f30d-4931-8749-99e4b9c4215b@xen.org>
 <66e59c25-fa6f-4fa4-aae8-aefa0b52c3b4@bugseng.com> <32f63354-872d-4598-a5ce-c851cacfc6d4@xen.org> <alpine.DEB.2.22.394.2310261554570.271731@ubuntu-linux-20-04-desktop> <b6aa527b-cf1a-41e1-a10a-f0d33f113464@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-241756858-1700275299=:773207"

  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-241756858-1700275299=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 17 Nov 2023, Federico Serafini wrote:
> On 27/10/23 00:55, Stefano Stabellini wrote:
> > +Roger
> > 
> > See below
> > 
> > On Thu, 26 Oct 2023, Julien Grall wrote:
> > > On 26/10/2023 15:04, Federico Serafini wrote:
> > > > On 26/10/23 15:54, Julien Grall wrote:
> > > > > Hi,
> > > > > 
> > > > > On 26/10/2023 13:13, Federico Serafini wrote:
> > > > > > On 26/10/23 12:25, Julien Grall wrote:
> > > > > > > Hi,
> > > > > > > 
> > > > > > > On 26/10/2023 11:04, Federico Serafini wrote:
> > > > > > > > Update ECLAIR configuration to deviate Rule 8.3 ("All
> > > > > > > > declarations
> > > > > > > > of
> > > > > > > > an object or function shall use the same names and type
> > > > > > > > qualifiers")
> > > > > > > > for the following functions: guest_walk_tables_[0-9]+_levels().
> > > > > > > > Update file docs/misra/deviations.rst accordingly.
> > > > > > > > No functional change.
> > > > > > > > 
> > > > > > > > Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> > > > > > > > ---
> > > > > > > > Changes in v2:
> > > > > > > >     - removed set_px_pminfo() from the scope of the deviation;
> > > > > > > >     - fixed tag of the commit.
> > > > > > > > ---
> > > > > > > >    automation/eclair_analysis/ECLAIR/deviations.ecl | 4 ++++
> > > > > > > >    docs/misra/deviations.rst                        | 6 ++++++
> > > > > > > >    2 files changed, 10 insertions(+)
> > > > > > > > 
> > > > > > > > diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > > > > > > b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > > > > > > index d8170106b4..b99dfdafd6 100644
> > > > > > > > --- a/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > > > > > > +++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
> > > > > > > > @@ -204,6 +204,10 @@ const-qualified."
> > > > > > > > 
> > > > > > > > 
> > > > > > > > -config=MC3R1.R8.3,reports+={deliberate,"any_area(any_loc(file(adopted_mpparse_r8_3)))&&any_area(any_loc(file(^xen/arch/x86/include/asm/mpspec\\.h$)))"}
> > > > > > > >    -doc_end
> > > > > > > > +-doc_begin="For functions guest_walk_tables_[0-9]+_levels(),
> > > > > > > > parameter names of definitions deliberately differ from the ones
> > > > > > > > used in the corresponding declarations."
> > > > > > > > +-config=MC3R1.R8.3,declarations={deliberate,"^guest_walk_tables_[0-9]+_levels\\(const
> > > > > > > > struct vcpu\\*, struct p2m_domain\\*, unsigned long, walk_t\\*,
> > > > > > > > uint32_t, gfn_t, mfn_t, void\\*\\)$"}
> > > > > > > > +-doc_end
> > > > > > > > +
> > > > > > > >    -doc_begin="The following variables are compiled in multiple
> > > > > > > > translation units
> > > > > > > >    belonging to different executables and therefore are safe."
> > > > > > > >    -config=MC3R1.R8.6,declarations+={safe,
> > > > > > > > "name(current_stack_pointer||bsearch||sort)"}
> > > > > > > > diff --git a/docs/misra/deviations.rst
> > > > > > > > b/docs/misra/deviations.rst
> > > > > > > > index 8511a18925..9423b5cd6b 100644
> > > > > > > > --- a/docs/misra/deviations.rst
> > > > > > > > +++ b/docs/misra/deviations.rst
> > > > > > > > @@ -121,6 +121,12 @@ Deviations related to MISRA C:2012 Rules:
> > > > > > > >             - xen/common/unxz.c
> > > > > > > >             - xen/common/unzstd.c
> > > > > > > > +   * - R8.3
> > > > > > > > +     - In some cases, parameter names used in the function
> > > > > > > > definition
> > > > > > > > +       deliberately differ from the ones used in the
> > > > > > > > corresponding
> > > > > > > > declaration.
> > > > > > > 
> > > > > > > It would be helpful to provide a bit more reasoning in your commit
> > > > > > > message why this was desired. At least for Arm and common code, I
> > > > > > > would not want anyone to do that because it adds more confusion.
> > > > > > > 
> > > > > > > > +     - Tagged as `deliberate` for ECLAIR. Such functions are:
> > > > > > > > +         - guest_walk_tables_[0-9]+_levels()
> > > > > > > 
> > > > > > > I think you want to be a bit mores specific. Other arch may have
> > > > > > > such
> > > > > > > function in the function and we don't want to deviate them from
> > > > > > > the
> > > > > > > start.
> > > > > > > 
> > > > > > > Cheers,
> > > > > > > 
> > > > > > 
> > > > > > Alright, thanks for the observation.
> > > > > 
> > > > > Actually, I cannot find the original discussion. Do you have link? I
> > > > > am
> > > > > interested to read the reasoning and how many maintainers expressed
> > > > > there
> > > > > view.
> > > > > 
> > > > > Cheers,
> > > > > 
> > > > 
> > > > The discussion started here:
> > > > https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00122.html
> > > > 
> > > > Then, I asked for further suggestions:
> > > > https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00855.html
> > > 
> > > Thanks! So only Jan really provided feedback here. I don't think this is a
> > > good idea to deviate in this case. If we really want to keep in sync and
> > > use
> > > 'walk' for the name, then we could add a comment after. Something like:
> > > 
> > > uint32_t walk /* pfec */
> 
> What do you think about "pfec_walk" as parameter name?

I am OK with that
--8323329-241756858-1700275299=:773207--


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:46:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:46:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635497.991443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4BLa-0001lI-Eu; Sat, 18 Nov 2023 02:46:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635497.991443; Sat, 18 Nov 2023 02:46: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 1r4BLa-0001lA-Bw; Sat, 18 Nov 2023 02:46:14 +0000
Received: by outflank-mailman (input) for mailman id 635497;
 Sat, 18 Nov 2023 02:46: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4BLY-0001kj-Uq
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:46:12 +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 a09e62b4-85bc-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 03:46:10 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 92E97CE2641;
 Sat, 18 Nov 2023 02:46:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F0943C433C8;
 Sat, 18 Nov 2023 02:46: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: a09e62b4-85bc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700275564;
	bh=AYhnR+WM9UDpsH2i2d/IlWNv3w0mHtIXvg27NJTkq1M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mnhlzFLH82ay5YVjlrAqKtt6aMDkANL2918QBEaB8cHghYmVYgvMe37XE47Vphafe
	 j43q/ZSoJArHK5i3Jnd8F7UFPR6F9sQcUqjlIXKrPTAJxHa6FZ235vTZOKJbt1PjqY
	 1B8Rchkc+LtAcMdJXgpB8bdjauC/wSYsE9e3lyvc0/UWxFiuqy43RzMQ9iCKn4xSHj
	 R4LXUubEpRXTE/FBLRFbCw0h9agEUCJgQGQNq2X5RZJjhbJrZ5I085msOFzSKkAVgb
	 frv2Ly6gL/Adrp0Hr6cuYBO8JN78g03YchsTnShvbaQPpB2QdeuDFCltujzi3pa7Ro
	 DCgb6jJVZkZ/A==
Date: Fri, 17 Nov 2023 18:46:01 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Xen Devel <xen-devel@lists.xenproject.org>, 
    Consulting <consulting@bugseng.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Jbeulich <jbeulich@suse.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>, Roger Pau <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: Re: Devise macros to encapsulate (x & -x)
In-Reply-To: <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311171845440.773207@ubuntu-linux-20-04-desktop>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com> <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1742810729-1700275564=:773207"

  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-1742810729-1700275564=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 17 Nov 2023, Andrew Cooper wrote:
> On 17/11/2023 10:17 am, Nicola Vetrini wrote:
> > Hi all,
> >
> > As discussed in this thread [1], which is about complying with MISRA C
> > Rule 10.1,
> > a macro was introduced to encapsulate a well-known construct:
> >
> > /*
> >  * Given an unsigned integer argument, expands to a mask where just
> > the least
> >  * significant nonzero bit of the argument is set, or 0 if no bits are
> > set.
> >  */
> > #define ISOLATE_LSB(x) ((x) & -(x))
> >
> > This macro has a gained some calls in the subsequent patches in that
> > thread, but concerns were raised around the fact that it would be
> > better to devise a macro that evaluates its argument only once. A
> > proposed solution is this (thanks to Jan Beulich):
> >
> > #define ISOLATE_LSB(x) ({ \
> >      typeof(x) x_ = (x); \
> >      x_ & -x_; \
> > })
> 
> Of course this was going to explode.
> 
> This isn't even the first time an unwise attempt to do single-evaluation
> has needed to be reverted because it doesn't work with Integer Constant
> Expressions.
> 
> Switch it back to the first form.  It's obviously a macro to begin with,
> and not likely to be used in cases that have side effects.

+1
--8323329-1742810729-1700275564=:773207--


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:47:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635499.991453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4BMk-00035Q-PD; Sat, 18 Nov 2023 02:47:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635499.991453; Sat, 18 Nov 2023 02: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 1r4BMk-00035J-L1; Sat, 18 Nov 2023 02:47:26 +0000
Received: by outflank-mailman (input) for mailman id 635499;
 Sat, 18 Nov 2023 02:47: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4BMi-00030l-Sp
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:47:24 +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 cc981893-85bc-11ee-98dd-6d05b1d4d9a1;
 Sat, 18 Nov 2023 03:47:23 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id C5BED61DF1;
 Sat, 18 Nov 2023 02:47:21 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 33222C433C7;
 Sat, 18 Nov 2023 02:47: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: cc981893-85bc-11ee-98dd-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700275641;
	bh=ISIiwafsU/4JwBj9foViVkTrYVgIGpcIZnfOx/QYib4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lNWqHyCw2A0smKOcKWc9bwVPZqc2SYO0rcg1GCyCWc/cjC8nnZXUCCyNJd/lGQgeK
	 GhYQCRPzuJlZEPlruPlIBGCbzuTPK62EHkGH/KmUbxOVpx93Fy5qkG7HatMppjGFxZ
	 pHWXwWQQXXToe86QcihqxG/0u0tjlukxfkLZkEqszMk5vv1MQf49wzq7HNuTqKrcdA
	 ShLr7ZiFW4Kv1FOaoEsFBPDIlS+6ocPCx3jkwIh0jDnnihZIUOQnM3YUu0YdX43BZ/
	 eS19SQ1b03PhCA4PtZt1E6MsXpobSwzCswnkcFVGbo8j/F4165BS2Mf1KwT/bKDR8g
	 zo/mqIoThZ4jQ==
Date: Fri, 17 Nov 2023 18:47:17 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, bertrand.marquis@arm.com, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <40a3918e-730f-48b9-924f-d8707b197e14@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311171832561.773207@ubuntu-linux-20-04-desktop>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com> <991883873b73e644ccaf8114a80331c0@bugseng.com> <40a3918e-730f-48b9-924f-d8707b197e14@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-750720694-1700274860=:773207"
Content-ID: <alpine.DEB.2.22.394.2311171834320.773207@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-750720694-1700274860=:773207
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311171834321.773207@ubuntu-linux-20-04-desktop>

On Fri, 17 Nov 2023, Julien Grall wrote:
> On 16/11/2023 09:15, Nicola Vetrini wrote:
> > On 2023-11-16 10:08, Nicola Vetrini wrote:
> > > The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
> > > by the asmlinkage pseudo-attribute, for the sake of uniformity.
> > > 
> > > Add missing 'xen/compiler.h' #include-s where needed.
> > > 
> > > The text in docs/misra/deviations.rst and docs/misra/safe.json
> > > is modified to reflect this change.
> > > 
> > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > > ---
> > > This patch should be applied after patch 2 of this series.
> > > The request made by Julien to update the wording is
> > > contained in the present patch.
> > > https://lore.kernel.org/all/9ad7f6210c15f520297aac00e8af0e64@bugseng.com/
> > > 
> > > Concerns about efi_multiboot2 will be dealt with separately.
> > > 
> > > Changes in v2:
> > > - Edit safe.json.
> > > - Remove mention of SAF-1-safe in deviations.rst.
> > > Changes in v3:
> > > - Sorted #include-s and rebased against
> > > 7ad0c774e474 ("x86/boot: tidy #include-s")
> > > ---
> > >  docs/misra/deviations.rst   |  5 ++---
> > >  docs/misra/safe.json        |  2 +-
> > >  xen/arch/arm/cpuerrata.c    |  7 +++----
> > >  xen/arch/arm/setup.c        |  5 ++---
> > >  xen/arch/arm/smpboot.c      |  3 +--
> > >  xen/arch/arm/traps.c        | 21 +++++++--------------
> > >  xen/arch/x86/boot/cmdline.c |  5 +++--
> > >  xen/arch/x86/boot/reloc.c   |  6 +++---
> > >  xen/arch/x86/extable.c      |  3 +--
> > >  xen/arch/x86/setup.c        |  3 +--
> > >  xen/arch/x86/traps.c        | 27 +++++++++------------------
> > >  xen/common/efi/boot.c       |  5 ++---
> > >  12 files changed, 35 insertions(+), 57 deletions(-)
> > > 
> > 
> > In hindsight I should have added an
> > 
> > Acked-by: Julien Grall <jgrall@amazon.com>
> > 
> > given that the comment has been addressed in my opinion.
> 
> I am a bit confused how you considered it was addressed. I see no update in
> safe.json when I clearly asked for some (I wouldn't have bothered to comment
> in v2 otherwise and just gave an ack).
> 
> To be explicit, I requested to:
>   1. update the description in [1] to clarify that SAF-1 is deprecated.
>   2. This patch is rebased on top and therefore remove completely the mention
> of SAF-1.
> 
> I am well-aware that the end result is technically the same. But patches are
> meant to be self-contained so if we revert the latest, then the meaning is
> still the same.
> 
> This patch is unlikely to be removed and this is now the nth time I asked it
> the same (maybe it was not clear enough?). So I am going to content with the
> current proposal because this is not worth to go further. But I will at least
> express my discontent how this is handled.

Just to be extra clearm, you are not happy with it, but you would
tolerate the patch to be committed as is, right?


> TBH, there are far too many MISRA patches on the ML spread across multiple
> threads. Some are based on top of the others. This makes extremely difficult
> to follow and know what is addressed or not. Can we at least try to condense
> some of work in similar area in the same series? For instance, this patch
> could have been included in the other series [1].
> 
> Lastly, right now, I have 300 emails (31 threads) with MISRA in the title in
> my inbox. It is a little unclear what has been committed/review or require
> input. I am concerned to miss key series (the patch to compile in docs/ was
> nearly missed).
> 
> Do we track anywhere which series are still inflights? Can we consider to
> pause or at least slow down the rate of new MISRA patches until the backlog is
> cleared? (Adding more patches is not really helping).

I cleared out the ones I was tracking and were acked. I hope this helps.
As far as I can tell these are the ones currently under discussion:

- [XEN PATCH v5 0/2] use the documentation for MISRA C:2012 Dir 4.1
- first 4 patches of [XEN PATCH][for-4.19 v4 0/8] address violations of MISRA C:2012 Rule 10.1
- [XEN PATCH][for-4.19 v2 0/2] use the macro ISOLATE_LOW_BIT where appropriate
- [XEN PATCH v2] domain: add ASSERT to help static analysis tools
- [XEN PATCH v3] xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
- [XEN PATCH v2] automation/eclair: add deviations for MISRA C:2012 Rule 8.3
- this patch
- [XEN PATCH 0/5] xen: address some violations of MISRA C:2012 Rule 8.2
--8323329-750720694-1700274860=:773207--


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 02:59:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 02:59:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635504.991462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4BYd-0006LX-Uu; Sat, 18 Nov 2023 02:59:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635504.991462; Sat, 18 Nov 2023 02: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 1r4BYd-0006LQ-SN; Sat, 18 Nov 2023 02:59:43 +0000
Received: by outflank-mailman (input) for mailman id 635504;
 Sat, 18 Nov 2023 02:59: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4BYd-0006LK-24
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 02:59:43 +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 84fa7d03-85be-11ee-98dd-6d05b1d4d9a1;
 Sat, 18 Nov 2023 03:59:41 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 5C4D1B82169;
 Sat, 18 Nov 2023 02:59:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8B791C433C7;
 Sat, 18 Nov 2023 02:59:39 +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: 84fa7d03-85be-11ee-98dd-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700276380;
	bh=71bjgfSJqljsSqsD/9+WAFL3QZxtmh3P6ezGoN2fuSs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=EhY210wAzzxzS3XggwU2mDevPtJR/SK44CyEtKKkbnB3jNOf3NeQ8X6VDoH9sa4xw
	 mvV4/U0S2/DIsz59z3HuMIghgtSkcrX+N89Sa3RZAUwdbd7epqwdJuYZRxzXXi+sWm
	 8gQ1bCHC68NvbLB6/Z9SBvQtlZ4d/eemFGMeFi8q0eewItLOjh66ybLVETPzwHpGlK
	 /G1GIbHhIz/9eYi3vxTGzPlsWfF71TdaUvjyUSbCXP34jHoN9JJaOpAdXFzpGUjwcK
	 08fV4sKqW8yPxpxNnF6iYsQOVjUeDxmu/obtnveBnGhSKVHCMLW1SsMqfgrRwnB8mJ
	 zTG6f9hq6N6SQ==
Date: Fri, 17 Nov 2023 18:59:37 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.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: Re: [XEN PATCH 1/5] xen/common: address violations of MISRA C:2012
 Rule 8.2
In-Reply-To: <ccc8b4bea515360e448f1975dadb326ad2e6c918.1700209834.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311171851260.773207@ubuntu-linux-20-04-desktop>
References: <cover.1700209834.git.federico.serafini@bugseng.com> <ccc8b4bea515360e448f1975dadb326ad2e6c918.1700209834.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Federico Serafini wrote:
> diff --git a/xen/common/stop_machine.c b/xen/common/stop_machine.c
> index 3adbe380de..398cfd507c 100644
> --- a/xen/common/stop_machine.c
> +++ b/xen/common/stop_machine.c
> @@ -46,7 +46,7 @@ struct stopmachine_data {
>  
>      unsigned int fn_cpu;
>      int fn_result;
> -    int (*fn)(void *);
> +    int (*fn)(void *data);
>      void *fn_data;
>  };

At least one of the possible function used here calls the parameter
"arg", see take_cpu_down. But I don't think it is a MISRA requirement to
also harmonize those?


> @@ -73,7 +73,7 @@ static void stopmachine_wait_state(void)
>   * mandatory to be called only on an idle vcpu, as otherwise active core
>   * scheduling might hang.
>   */
> -int stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu)
> +int stop_machine_run(int (*fn)(void *data), void *data, unsigned int cpu)
>  {
>      unsigned int i, nr_cpus;
>      unsigned int this = smp_processor_id();
> diff --git a/xen/common/tasklet.c b/xen/common/tasklet.c
> index 3ad67b5c24..3649798e6b 100644
> --- a/xen/common/tasklet.c
> +++ b/xen/common/tasklet.c
> @@ -199,7 +199,7 @@ static void migrate_tasklets_from_cpu(unsigned int cpu, struct list_head *list)
>      spin_unlock_irqrestore(&tasklet_lock, flags);
>  }
>  
> -void tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
> +void tasklet_init(struct tasklet *t, void (*func)(void *data), void *data)
>  {
>      memset(t, 0, sizeof(*t));
>      INIT_LIST_HEAD(&t->list);
> @@ -208,7 +208,8 @@ void tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
>      t->data = data;
>  }
>  
> -void softirq_tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
> +void softirq_tasklet_init(struct tasklet *t,
> +                          void (*func)(void *data), void *data)
>  {
>      tasklet_init(t, func, data);
>      t->is_softirq = 1;
> diff --git a/xen/common/timer.c b/xen/common/timer.c
> index 0fddfa7487..bf7792dcb3 100644
> --- a/xen/common/timer.c
> +++ b/xen/common/timer.c
> @@ -291,7 +291,7 @@ static bool active_timer(const struct timer *timer)
>  
>  void init_timer(
>      struct timer *timer,
> -    void        (*function)(void *),
> +    void        (*function)(void *data),
>      void         *data,
>      unsigned int  cpu)
>  {
> @@ -441,7 +441,7 @@ void kill_timer(struct timer *timer)
>  
>  static void execute_timer(struct timers *ts, struct timer *t)
>  {
> -    void (*fn)(void *) = t->function;
> +    void (*fn)(void *data) = t->function;
>      void *data = t->data;
>  
>      t->status = TIMER_STATUS_inactive;
> diff --git a/xen/include/xen/rangeset.h b/xen/include/xen/rangeset.h
> index 135f33f606..390f7b6082 100644
> --- a/xen/include/xen/rangeset.h
> +++ b/xen/include/xen/rangeset.h
> @@ -68,7 +68,7 @@ bool_t __must_check rangeset_overlaps_range(
>      struct rangeset *r, unsigned long s, unsigned long e);
>  int rangeset_report_ranges(
>      struct rangeset *r, unsigned long s, unsigned long e,
> -    int (*cb)(unsigned long s, unsigned long e, void *), void *ctxt);
> +    int (*cb)(unsigned long s, unsigned long e, void *data), void *ctxt);

Also here some of the functions use "arg" instead of ctxt


>  /*
>   * Note that the consume function can return an error value apart from
> @@ -77,7 +77,7 @@ int rangeset_report_ranges(
>   */
>  int rangeset_consume_ranges(struct rangeset *r,
>                              int (*cb)(unsigned long s, unsigned long e,
> -                                      void *, unsigned long *c),
> +                                      void *ctxt, unsigned long *c),
>                              void *ctxt);

Also here some of the functions use "dom" like irq_remove_cb.


But I actually like the patch as is, so if that's OK from a MISRA point
of view then I would give my reviewed-by.


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 03:02:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 03:02:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635506.991472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4BbD-0007ni-9r; Sat, 18 Nov 2023 03:02:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635506.991472; Sat, 18 Nov 2023 03: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 1r4BbD-0007nb-7H; Sat, 18 Nov 2023 03:02:23 +0000
Received: by outflank-mailman (input) for mailman id 635506;
 Sat, 18 Nov 2023 03: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4BbC-0007nV-4K
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 03:02:22 +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 e2d89479-85be-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 04:02:20 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 5251361E08;
 Sat, 18 Nov 2023 03:02:18 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 639DFC433C7;
 Sat, 18 Nov 2023 03:02: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: e2d89479-85be-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700276537;
	bh=W00BR437fiNN2g44kr27gTu/fGrDdVyY3YdmZwS/TQ0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=URC6k0Rw2azP1hkbCeN2sQc5UoloCVq5zTaLiztH7KdHArGBqllyG2+mPZkL78aGO
	 +vnba2SxJ49meE9ndc7lzk/R5bXlAsA3lS1ODoDbnG+/3SmkUqzox8VGY51DopI6/1
	 puZd7uvECZUhC+H4gswGbGUHDxrvuBv3EqbTupNhYTrHl3vXuYAZpzOh7LqfOIRpvY
	 m/tV9zJJ7BAas1T/MeGKJeORCoM/3H+fvYwCQHR7h0A2pkktwEEh+g9LJjfdgwtBxD
	 55z8Bkbav8Zg+XG1xZQ5us+zgHakfpbIvtyVLfYNx5YOteGsUzEHRfyS3BG5+nxB6I
	 amXTMmWlnt8Xg==
Date: Fri, 17 Nov 2023 19:02:14 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.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: Re: [XEN PATCH 2/5] xen/serial: address violations of MISRA C:2012
 Rule 8.2
In-Reply-To: <9fe7d6b526fef112dab314cf951662583dcbb40d.1700209834.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311171902080.773207@ubuntu-linux-20-04-desktop>
References: <cover.1700209834.git.federico.serafini@bugseng.com> <9fe7d6b526fef112dab314cf951662583dcbb40d.1700209834.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Sat Nov 18 03:05:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 03:05:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635510.991482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4Be3-0008OT-ND; Sat, 18 Nov 2023 03:05:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635510.991482; Sat, 18 Nov 2023 03: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 1r4Be3-0008OM-Kh; Sat, 18 Nov 2023 03:05:19 +0000
Received: by outflank-mailman (input) for mailman id 635510;
 Sat, 18 Nov 2023 03: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=zOoK=G7=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1r4Be2-0008OG-Ku
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 03:05:18 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4caae8c6-85bf-11ee-98dd-6d05b1d4d9a1;
 Sat, 18 Nov 2023 04:05:17 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3AI34peD005712
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 17 Nov 2023 22:04:56 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3AI34pHC005711;
 Fri, 17 Nov 2023 19:04:51 -0800 (PST) (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: 4caae8c6-85bf-11ee-98dd-6d05b1d4d9a1
Date: Fri, 17 Nov 2023 19:04:51 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Henry Wang <Henry.Wang@arm.com>
Cc: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        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] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Fri, Nov 17, 2023 at 11:12:37AM +0100, Neowutran wrote:
> On 2023-11-07 11:11, Elliott Mitchell wrote:
> > On Mon, Oct 30, 2023 at 04:27:22PM +01
> > > On Mon, Oct 30, 2023 at 07:50:27AM -0700, Elliott Mitchell wrote:
> > > > On Tue, Oct 24, 2023 at 03:51:50PM +0200, Roger Pau Monne wrote:
> > > > > diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
> > > > > index 707deef98c27..15632cc7332e 100644
> > > > > --- a/xen/arch/x86/genapic/x2apic.c
> > > > > +++ b/xen/arch/x86/genapic/x2apic.c
> > > > > @@ -220,38 +239,56 @@ static struct notifier_block x2apic_cpu_nfb = {
> > > > >  static int8_t __initdata x2apic_phys = -1;
> > > > >  boolean_param("x2apic_phys", x2apic_phys);
> > > > >  
> > > > > +enum {
> > > > > +   unset, physical, cluster, mixed
> > > > > +} static __initdata x2apic_mode = unset;
> > > > > +
> > > > > +static int __init parse_x2apic_mode(const char *s)
> > > > > +{
> > > > > +    if ( !cmdline_strcmp(s, "physical") )
> > > > > +        x2apic_mode = physical;
> > > > > +    else if ( !cmdline_strcmp(s, "cluster") )
> > > > > +        x2apic_mode = cluster;
> > > > > +    else if ( !cmdline_strcmp(s, "mixed") )
> > > > > +   
> > > > > +    else
> > > > > +        return EINVAL;
> > > > > +
> > > > > +    return 0;
> > > > > +}
> > > > > +custom_param("x2apic-mode", parse_x2apic_mode);
> > > > > +
> > > > >  const struct genapic *__init apic_x2apic_probe(void)
> > > > >  {
> > > > > -    if ( x2apic_phys < 0 )
> > > > > +    /* x2apic-mode option has preference over x2apic_phys. */
> > > > > +    if ( x2apic_phys >= 0 && x2apic_mode == unset )
> > > > > +        x2apic_mode = x2apic_phys ? physical : cluster;
> > > > > +
> > > > > +    if ( x2apic_mode == unset )
> > > > >      {
> > > > > -        /*
> > > > > -         * Force physical mode if there's no (full) interrupt remapping support:
> > > > > -         * The ID in clustered mode requires a 32 bit destination field due to
> > > > > -         * the usage of the high 16 bits to hold the cluster ID.
> > > > > -         */
> > > > > -        x2apic_phys = iommu_intremap != iommu_intremap_full ||
> > > > > -                      (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
> > > > > -        
> > > > > -    }
> > > > > -    else if ( !x2apic_phys )
> > > > > -        switch ( iommu_intremap )
> > > > > +        if ( acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL )
> > > > >          {
> > > > 
> > > > Could this explain the issues with recent AMD processors/motherboards?
> > > > 
> > > > Mainly the firmware had been setting this flag, but Xen was previously
> > > > ignoring it?
> > > 
> > > No, not unless you pass {no-}x2apic_phys={false,0} on the Xen command
> > > line to force logical (clustered) destination mode.
> > > 
> > > > As such Xen had been attempting to use cluster mode on an
> > > > x2APIC where that mode was broken for physical interrupts?
> > > 
> > > No, not realy, x2apic_phys was already forced to true if
> > > acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL is set on the FADT (I
> > > just delete that line in this same chunk and move it here).
> > 
> > Okay, that was from a quick look at the patch.  Given the symptoms and
> > workaround with recent AMD motherboards, this looked
> > 
> > In that case it might be a bug in what AMD is providing to motherboard
> > manufacturers.  Mainly this bit MUST be set, but AMD's implementation
> > leaves it unset.
> > 
> > Could also be if the setup is done correctly the bit can be cleared, but
> > multiple motherboard manufacturers are breaking this.  Perhaps the steps
> > are fragile and AMD needed to provide better guidance.
> > 
> > 
> > Neowutran, are you still setup to and interested in doing
> > experimentation/testing with Xen on your AMD computer?  Would you be up
> > for trying the patch here:
> > 
> > https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw
> > 
> > I have a suspicion this *might* fix the x2APIC issue everyone has been
> > seeing.
> > 
> > How plausible would it be to release this as a bugfix/workaround on 4.17?
> > I'm expecting a "no", but figured I should ask given how widespread the
> > issue is.
> 
> I just applied the patch on my setup ( https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw ) 
> It seems to fix the x2APIC issue I was having. 
> 
> I only did some quick tests: 
> 
> I tried all the differents values in my bios for the X2APIC settings. 
> Now the system successfully boot in all the cases, without needing
> manual override of the x2apic_phys/x2apic_mode parameter in boot commandline .

In light of this issue effecting a large number of people with recent
hardware, I formally request the patch
"x86/x2apic: introduce a mixed physical/cluster mode" be considered for
backport release on the 4.17 and 4.18 branches.

(I'm unsure whether it is realistic for a 4.17 update, but I figure I
should ask)


-- 
(\___(\___(\______          --=> 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 Sat Nov 18 03:05:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 03:05:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635511.991493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4BeM-0000Lm-0W; Sat, 18 Nov 2023 03:05:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635511.991493; Sat, 18 Nov 2023 03: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 1r4BeL-0000Lf-SZ; Sat, 18 Nov 2023 03:05:37 +0000
Received: by outflank-mailman (input) for mailman id 635511;
 Sat, 18 Nov 2023 03:05: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4BeK-0000LG-FX
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 03:05:36 +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 56c63208-85bf-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 04:05:34 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 1827F61470;
 Sat, 18 Nov 2023 03:05:33 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5DE4BC433C7;
 Sat, 18 Nov 2023 03:05: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: 56c63208-85bf-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700276731;
	bh=JEMqe+v4uJTLQuPxx/8/Z4JX7ISO363mMVuKHLjdav0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=VX9uy5J2TG/xf7Z3RLyyde/p3SyZtWH8g2GnFR50TQoiE7cYUr42kUeRmPOUPaPFT
	 M2qXalnSrAjzsfakppLK3lJHSoTMkCnmzagG3HOVtALfTI0oaDCXywRC7Sd8smpr43
	 2y9SDg19xj8GgsKidltQPwRX77NXcLS6oMi2veCv9m2izC+of7EhuGexWB6BI67wlZ
	 1DiYaksZ2n3oO1r5ncghsfke3oK1nUdo6QlolaefV3h2/OXXzOQqoVGRrxwdGoNyJ9
	 1XU6sTUn87iz4fSKm1VaJJmQtQwXSk3HzbWHIEfvBlwAdsrElNW5r2rLvJdjVsv5YB
	 YfkAdA/3da8bg==
Date: Fri, 17 Nov 2023 19:05:28 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.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: Re: [XEN PATCH 3/5] xen/sort: address violations of MISRA C:2012
 Rule 8.2
In-Reply-To: <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311171904290.773207@ubuntu-linux-20-04-desktop>
References: <cover.1700209834.git.federico.serafini@bugseng.com> <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> ---
>  xen/include/xen/sort.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/include/xen/sort.h b/xen/include/xen/sort.h
> index 2f52ff85b9..1d5e3c5849 100644
> --- a/xen/include/xen/sort.h
> +++ b/xen/include/xen/sort.h
> @@ -23,8 +23,8 @@
>  extern gnu_inline
>  #endif
>  void sort(void *base, size_t num, size_t size,
> -          int (*cmp)(const void *, const void *),
> -          void (*swap)(void *, void *, size_t))
> +          int (*cmp)(const void *key, const void *elem),
> +          void (*swap)(void *a, void *b, size_t size))
>  {
>      /* pre-scale counters for performance */
>      size_t i = (num / 2) * size, n = num * size, c, r;


Ideally we should also fix swap_memory_node, swap_mmio_handler


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 03:06:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 03:06:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635515.991503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4BfC-0001SU-8y; Sat, 18 Nov 2023 03:06:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635515.991503; Sat, 18 Nov 2023 03:06: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 1r4BfC-0001SN-5C; Sat, 18 Nov 2023 03:06:30 +0000
Received: by outflank-mailman (input) for mailman id 635515;
 Sat, 18 Nov 2023 03:06: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4BfA-0001Q7-EH
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 03:06: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 756070ef-85bf-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 04:06:26 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 78F2961DF1;
 Sat, 18 Nov 2023 03:06:24 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 98BEFC433C8;
 Sat, 18 Nov 2023 03:06: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: 756070ef-85bf-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700276783;
	bh=W00BR437fiNN2g44kr27gTu/fGrDdVyY3YdmZwS/TQ0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=MhXwgJ/bQl6pdki+QghzRGqTCFrHL2UH6aI+De03mtQZGi7kFgJyhzXDNEiX+n7VY
	 N3sqYYLFPtongtH3NepWOCZ0ddtHsoCk4t4s0RK0BpL/IzwPxl5SdhecWJQa0rL+YI
	 vzClH/pch18v3hOlRoX5wAFWCg1OWMSyt1jlDWnY9YHca3OkuXhoJlSQojoCgZPG57
	 TlTsF0JlIUEeTAO0vjFHwin7dLjKxQRMDISMWigebihOeBcoipQX3M3BIy9nGTY+ZB
	 nripglNBLBsBsHGofQQJ7Y9WjyCKoDct3sEF1ib9WJ5IthNZYTPX2T12mao01PYvOr
	 3VPXsbQjeCDaQ==
Date: Fri, 17 Nov 2023 19:06:20 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.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: Re: [XEN PATCH 4/5] xen/vmap: address violations of MISRA C:2012
 Rule 8.2
In-Reply-To: <d4d67e48298f4b51836c3c5b0a982775f469d74b.1700209834.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311171906150.773207@ubuntu-linux-20-04-desktop>
References: <cover.1700209834.git.federico.serafini@bugseng.com> <d4d67e48298f4b51836c3c5b0a982775f469d74b.1700209834.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 03:06:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 03:06:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635517.991513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4Bfe-0002GP-HS; Sat, 18 Nov 2023 03:06:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635517.991513; Sat, 18 Nov 2023 03:06: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 1r4Bfe-0002GG-EQ; Sat, 18 Nov 2023 03:06:58 +0000
Received: by outflank-mailman (input) for mailman id 635517;
 Sat, 18 Nov 2023 03:06: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=W+gg=G7=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r4Bfd-0001Q7-Dp
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 03:06: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 8733da5e-85bf-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 04:06:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 6427061E08;
 Sat, 18 Nov 2023 03:06:54 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84491C433C8;
 Sat, 18 Nov 2023 03:06: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: 8733da5e-85bf-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700276813;
	bh=W00BR437fiNN2g44kr27gTu/fGrDdVyY3YdmZwS/TQ0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ZIg1r+MYPLf8uEoXjfpXhMcDcDD4ckx0pFpg5nAISV9kISgbIVq+sATS98Ady/OLN
	 gHf3N52QDExGwfeCKsD8fLFZbdxFQXF59pswOduQRgRs9qXxHhCR12m9Kaoqj9bLbn
	 3G4uowsACHUqoUHnuNr1eS6kreMILj/Vb0sWuLA8lUPEaodQuaYh0xUwLvlVGV7bld
	 fxfdv9iJ0Sy5SxxSZmHzP4CXQShDtQ+kJukTICNhyYPQ2EOTaxgceng0pQ1jsPjMlJ
	 n0TN4CS2Txg7rtO0+Lx8NUBqmdNiKBJmxZgnaofreaHFi4Lw3v5zdjWe0mnZm9AQ0s
	 mpGvJfDPqtUuQ==
Date: Fri, 17 Nov 2023 19:06:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.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: Re: [XEN PATCH 5/5] xen/xalloc: address violations of MISRA C:2012
 Rule 8.2
In-Reply-To: <9e3eddd16c53f11097fce7d5e9bf57dea7681ce1.1700209834.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311171906450.773207@ubuntu-linux-20-04-desktop>
References: <cover.1700209834.git.federico.serafini@bugseng.com> <9e3eddd16c53f11097fce7d5e9bf57dea7681ce1.1700209834.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 03:41:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 03:41:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635523.991522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4CD4-0004eT-2k; Sat, 18 Nov 2023 03:41:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635523.991522; Sat, 18 Nov 2023 03:41: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 1r4CD3-0004eM-WF; Sat, 18 Nov 2023 03:41:30 +0000
Received: by outflank-mailman (input) for mailman id 635523;
 Sat, 18 Nov 2023 03:41: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 1r4CD3-0004eC-9g; Sat, 18 Nov 2023 03:41: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 1r4CD3-0007jN-6x; Sat, 18 Nov 2023 03:41: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 1r4CD2-0007ib-Nd; Sat, 18 Nov 2023 03:41:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4CD2-0007G2-Mq; Sat, 18 Nov 2023 03:41: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=N6emeUUgoEqYTZEkN358ePCccYpfqJvkVdiGUAGMrhA=; b=GPFBgrgTiFnXMtE9jjPYhiZiy6
	MurTlwfWX5uNjdJvkRhkygnMBLnYaQEbIRowzlBTj0Pz0T4NxYJfmCFXQJ9nzxdtGyIrP6jItXmh2
	m+wkrLd5ugfWD1QuU54ho1yYgRfMp9iBLyHTIkNPOLE+90WD6cgCME7XBzghaZOi1ShM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183783-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183783: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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: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-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=6bc40e44f1ddef16a787f3501b97f1fff909177c
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Nov 2023 03:41:28 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                6bc40e44f1ddef16a787f3501b97f1fff909177c
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    2 days
Failing since        183773  2023-11-16 13:12:48 Z    1 days    3 attempts
Testing same since   183783  2023-11-17 15:52:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anders Roxell <anders.roxell@linaro.org>
  Andrii Nakryiko <andrii@kernel.org>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Hou Tao <houtao1@huawei.com>
  Itamar Gozlan <igozlan@nvidia.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jijie Shao <shaojijie@huawei.com>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Marek Behún <kabel@kernel.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Moore <paul@paul-moore.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Simon Trimmer <simont@opensource.cirrus.com>
  Stanislav Fomichev <sdf@google.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 3658 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 03:51:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 03:51:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635529.991533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4CMt-0007uT-27; Sat, 18 Nov 2023 03:51:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635529.991533; Sat, 18 Nov 2023 03:51: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 1r4CMs-0007uM-Vb; Sat, 18 Nov 2023 03:51:38 +0000
Received: by outflank-mailman (input) for mailman id 635529;
 Sat, 18 Nov 2023 03:51: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=mcuz=G7=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r4CMr-0007tL-Lp
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 03:51:37 +0000
Received: from so254-136.mailgun.net (so254-136.mailgun.net [198.61.254.136])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id c4c5d20b-85c5-11ee-98dd-6d05b1d4d9a1;
 Sat, 18 Nov 2023 04:51:36 +0100 (CET)
Received: from mg.gitlab.com (1.226.74.34.bc.googleusercontent.com
 [34.74.226.1]) by
 bd1dc5b56579 with SMTP id 655834c5decb5344c59ba629 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Sat, 18 Nov 2023 03:51:33 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: c4c5d20b-85c5-11ee-98dd-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700279493; x=1700286693; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=jQGIFib6vR4/O1i4HErhfJybPk/l3vurqhUL01EXxA8=;
 b=qblWGdkWmjMNtgseIhmlKaWKun4hC+zIa4qHmkFFgXdudsqqMidHm7/ag/9CptO9wKT7oBBqfqAwhnVNJC+OoU1yhaESQasCEii+9I7QLHjjx8VA7Fqu+GwwWunyKtpbJNxUSKxfGc4t8BLM1WcC+47NRo1Uwwr6v96DT5ABExo=
X-Mailgun-Sending-Ip: 198.61.254.136
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Sat, 18 Nov 2023 03:51:31 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655834c3d7311_2c1197842075fe@gitlab-sidekiq-catchall-v2-5c44d4cdc7-wwdb4.mail>
Subject: xen | Successful pipeline for staging | 83e9e305
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655834c3cdf5b_2c1197842074b";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1076983423
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655834c3cdf5b_2c1197842074b
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1076983423 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 83e9e305 ( https://gitlab.com/xen-project/xen/-/commit/83e9e305103ef00ba3b546657d47c4aa85899cff )
Commit Message: automation/eclair: add a deviation for MISRA C:...
Commit Author: Federico Serafini
Committed by: Stefano Stabellini



Pipeline #1076983423 ( https://gitlab.com/xen-project/xen/-/pipelines/1076983423 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655834c3cdf5b_2c1197842074b
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 83e9e305</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1076983423 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/83e9e305103ef00ba3=
b546657d47c4aa85899cff" style=3D"color: #3777b0; text-decoration: none;">=
83e9e305</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
automation/eclair: add a deviation for MISRA C:...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/7347c1427cde55f447d83dc392bce562?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Federico Serafini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/50b82a64e2a9f930cabefa3948871101?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Stefano Stabellini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107698=
3423" style=3D"color: #3777b0; text-decoration: none;">#1076983423</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655834c3cdf5b_2c1197842074b--


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 05:21:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 05:21:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635570.991543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4DlC-00032Q-Av; Sat, 18 Nov 2023 05:20:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635570.991543; Sat, 18 Nov 2023 05: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 1r4DlC-00032J-7y; Sat, 18 Nov 2023 05:20:50 +0000
Received: by outflank-mailman (input) for mailman id 635570;
 Sat, 18 Nov 2023 05: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=mcuz=G7=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r4DlA-00032A-Uk
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 05:20:49 +0000
Received: from m202-219.mailgun.net (m202-219.mailgun.net [161.38.202.219])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 39506c4b-85d2-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 06:20:46 +0100 (CET)
Received: from mg.gitlab.com (18.226.74.34.bc.googleusercontent.com
 [34.74.226.18]) by
 83c9957548d0 with SMTP id 655849a9a4dcab75e9890732 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Sat, 18 Nov 2023 05:20:41 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 39506c4b-85d2-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700284843; x=1700292043; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=b1+Js8t+E9XyTX/DmoYpm6LqBQgXXBSWzwqpdmstnSc=;
 b=AZIOmDX29cdckcBAsvr6yz3thpg+F8rbw2p9Ym8UBuQLm4w25Gt7FlsMOGYnHtfWcDbt0+spVcpFqcXHFknEIu5B5tt0SKyNRzmq4D0xEVqsT6kKlXtn8NJtWc/JAWIdY81z6HfzL26pEKWedH0Rb8Pp4bF7GCOHZ1Ch/i+shJw=
X-Mailgun-Sending-Ip: 161.38.202.219
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Sat, 18 Nov 2023 05:20:41 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655849a95ea41_2d656bf5c2080d@gitlab-sidekiq-catchall-v2-5c44d4cdc7-56l9v.mail>
Subject: xen | Successful pipeline for staging | 98758ae4
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655849a955b2c_2d656bf5c20790";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1076994458
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655849a955b2c_2d656bf5c20790
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1076994458 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 98758ae4 ( https://gitlab.com/xen-project/xen/-/commit/98758ae48974d6d24f999e4d9324e463d326f66f )
Commit Message: xen: introduce function type bug_fn_t.

Introdu...
Commit Author: Federico Serafini
Committed by: Stefano Stabellini



Pipeline #1076994458 ( https://gitlab.com/xen-project/xen/-/pipelines/1076994458 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655849a955b2c_2d656bf5c20790
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 98758ae4</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1076994458 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/98758ae48974d6d24f=
999e4d9324e463d326f66f" style=3D"color: #3777b0; text-decoration: none;">=
98758ae4</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen: introduce function type bug_fn_t.

Introdu...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/7347c1427cde55f447d83dc392bce562?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Federico Serafini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/50b82a64e2a9f930cabefa3948871101?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Stefano Stabellini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107699=
4458" style=3D"color: #3777b0; text-decoration: none;">#1076994458</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655849a955b2c_2d656bf5c20790--


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 05:27:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 05:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635609.991553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4Drc-0004af-4v; Sat, 18 Nov 2023 05:27:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635609.991553; Sat, 18 Nov 2023 05:27: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 1r4Drc-0004aY-1n; Sat, 18 Nov 2023 05:27:28 +0000
Received: by outflank-mailman (input) for mailman id 635609;
 Sat, 18 Nov 2023 05: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 1r4Dra-0004aO-Mj; Sat, 18 Nov 2023 05: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 1r4Dra-0001bJ-Gt; Sat, 18 Nov 2023 05: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 1r4Dra-0004v1-4k; Sat, 18 Nov 2023 05:27:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4Dra-0000WA-3p; Sat, 18 Nov 2023 05:27: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=Qpy5gbzJ+ZWZFEwoj6HJ1KZJwyDIp5X8lOX1yVPYzOk=; b=ZPXO/NeacmMhpFHlWmLmSOZhDP
	VVChZwKDSjF09KtHoIka4+GEWlEREXeJMv947eqxjk6CiSiwqMtPyYFplHMDORbYpOMxtSzlW2xnm
	fh0FL61hvyTLphhyq1TaCk9ovIA5fGudfQxoWO54hTXQetBYr4XDVaaCAoMEi46AP+To=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183786-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183786: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=98758ae48974d6d24f999e4d9324e463d326f66f
X-Osstest-Versions-That:
    xen=97f8555acbf3da013ed713ca0bbe739d41c48da9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Nov 2023 05:27:26 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  98758ae48974d6d24f999e4d9324e463d326f66f
baseline version:
 xen                  97f8555acbf3da013ed713ca0bbe739d41c48da9

Last test of basis   183784  2023-11-17 19:03:49 Z    0 days
Testing same since   183786  2023-11-18 03:02:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stefano Stabellini <stefano.stabellini@amd.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   97f8555acb..98758ae489  98758ae48974d6d24f999e4d9324e463d326f66f -> smoke


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 06:50:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 06:50:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635370.991563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4F9o-0002lW-3o; Sat, 18 Nov 2023 06:50:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635370.991563; Sat, 18 Nov 2023 06: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 1r4F9o-0002lP-13; Sat, 18 Nov 2023 06:50:20 +0000
Received: by outflank-mailman (input) for mailman id 635370;
 Fri, 17 Nov 2023 19:25: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=8mVa=G6=hotmail.com=brchuck@srs-se1.protection.inumbo.net>)
 id 1r44Sq-0000Xy-Bn
 for xen-devel@lists.xenproject.org; Fri, 17 Nov 2023 19:25:16 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12olkn20824.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::824])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 052cc909-857f-11ee-98dc-6d05b1d4d9a1;
 Fri, 17 Nov 2023 20:25:15 +0100 (CET)
Received: from CH0P221MB0505.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:10a::8)
 by PH7P221MB1055.NAMP221.PROD.OUTLOOK.COM (2603:10b6:510:1ae::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Fri, 17 Nov
 2023 19:25:05 +0000
Received: from CH0P221MB0505.NAMP221.PROD.OUTLOOK.COM
 ([fe80::3622:f845:51d:46b4]) by CH0P221MB0505.NAMP221.PROD.OUTLOOK.COM
 ([fe80::3622:f845:51d:46b4%6]) with mapi id 15.20.7002.022; Fri, 17 Nov 2023
 19: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>
X-Inumbo-ID: 052cc909-857f-11ee-98dc-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FAN1vZXSIDHJ9tnWppmLpbnlgm/OkaYwCBl39lOH2bKQM1LYcBsAYp448t57mg6lGv9KXNg6oJJkkVE6bRJ4LGZ0PX+dfLIolWvowzrfdYMXAR6pGoB2yUZrd6fIFstcQ0wPAfs6jojvO+4+ymvNilFg0Fx9m3EyalCoRRlVy6UH0rbPn+5kO7T78g4kgQRUm8ZtUJXDmAgeT0zVUDpTIEoe3oku885QTXRtV2fo62qHe1WrGblNHvcUcIwII98WztEQnBETBYvoASOeHv2+h9qPvcuuM8fAtYYiik5reZgbJd+OQp87lqErLK+wScAN+fmz0A3317Xz5IFHm+A89w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xTx4M0VL29/0jWGJ+OItKRCs5kICvPs/wUZn0TmRC/0=;
 b=iCPYm7eGpz3uaUNlkKNQr/22aAEn5MVvLYhDAleQuvOy0Z6fl6fSD+bmpzDmGviajqsJRCw2pSRurykK07O31iydtZ13kQg4YyskDglOGjW+2L2oWhJx9gfEAzT1QuMkLHz1iVrXcGxOLWuLxZSUDdLWal/CxwehCo1IVvYYbuCd7ZDi2Z3KhiofCPckqY440ojoVRNPmKQraDConRO9v6Sm80aY61P2XE/nQSuOsodnRbXCWSsHDCwZRjk0qvdl6qmqwYX3qEf3sSk779qcEGZWMhvWEu3/3SUvj9/QEm5bIvPQ/nGBmcFiZAOSJmLp8zg/u2w2zXJ6J9S89QhtyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none;
 dkim=none; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com;
 s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xTx4M0VL29/0jWGJ+OItKRCs5kICvPs/wUZn0TmRC/0=;
 b=SQQ7f20sxjW7uHRyxKXy4py/ByOyRb28UaqBIIl+cp11nGIv3lpuMxnB0/NHd/RvYRvzf7SaGzi3f92K8C/pOxVAgHSOZqonDItLQfubuSkT/UA5U8TthTgQJvi0YN1HbREBL3hjKEJzpZSBj9B2KU1sNpzqfrzvNtgpJ2ne21HQl5gMDOrWyyYP9iV1wybN/a4Rg7bXRCAnVnjbdpVvS1ma+HNkqgCzyKdrOuFkStdr9Z2kJi+kn/vLd/lVNV8nYdj1e2R8PLFkPGfiC0IyTiL3zh5Cko1gEnG/AJdDp2VP+KS/8zoGrFmu1PsahqRn2a0Ty6066bOdFnbvmSEPwg==
Message-ID:
 <CH0P221MB050571AF779EFDE97B7E780AA9B7A@CH0P221MB0505.NAMP221.PROD.OUTLOOK.COM>
Date: Fri, 17 Nov 2023 14:25:04 -0500
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] arm/mm: add option to prefer IOMMU ops for DMA on Xen
To: Stefano Stabellini <sstabellini@kernel.org>,
 Robin Murphy <robin.murphy@arm.com>
Cc: Chuck Zmudzinski <brchuckz@aol.com>,
 linux-arm-kernel@lists.infradead.org, Russell King <linux@armlinux.org.uk>,
 Juergen Gross <jgross@suse.com>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 Marek Szyprowski <m.szyprowski@samsung.com>,
 Andrew Morton <akpm@linux-foundation.org>,
 Mathieu Poirier <mathieu.poirier@linaro.org>,
 Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
 "Matthew Wilcox (Oracle)" <willy@infradead.org>,
 Linus Walleij <linus.walleij@linaro.org>, Jason Gunthorpe <jgg@ziepe.ca>,
 Arnd Bergmann <arnd@arndb.de>, Julien Grall <julien@xen.org>,
 Mario Marietto <marietto2008@gmail.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>
References: <20231111184538.2371-1-brchuckz.ref@aol.com>
 <20231111184538.2371-1-brchuckz@aol.com>
 <e5ebfde9-7a74-4908-b0b9-db47c4e76315@arm.com>
 <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
Content-Language: en-US
From: "Fr. Chuck Zmudzinski, C.P.M." <brchuck@hotmail.com>
In-Reply-To: <alpine.DEB.2.22.394.2311141407140.160649@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-TMN: [4oeaQyw9qUhcxwyWuan8X0UUW8mnwMBEqCn+EqbouySuRkf3IQL/fMlr0AOhikaM]
X-ClientProxiedBy: CH5P223CA0018.NAMP223.PROD.OUTLOOK.COM
 (2603:10b6:610:1f3::25) To CH0P221MB0505.NAMP221.PROD.OUTLOOK.COM
 (2603:10b6:610:10a::8)
X-Microsoft-Original-Message-ID:
 <9870f267-90f1-4c7b-b041-b2116be94a0f@hotmail.com>
MIME-Version: 1.0
X-MS-Exchange-MessageSentRepresentingType: 1
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CH0P221MB0505:EE_|PH7P221MB1055:EE_
X-MS-Office365-Filtering-Correlation-Id: 18f38435-22ff-4fbe-a307-08dbe7a2e6c4
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qMkoKSkBzZKotnEoxq1FVk6qsm+I1O3YpZRT+zldS19eH795riXI95SsbdxJ4qNn95zMDbxwwBJ0HFNcoP+KHmBNN+OAU9qeTdlqTr6X69yQbTZ2YBIkRntl2VAfoAHjGrsym88zhd+z8HhRuekCBHNDURo/zMjkHj1Ocpp+C7iTUk2E192xbY6uQva2SUd39BpztwDIP9Ox6a07k5LiVP2LMyyrUMKHDfVZTRL4kAMqjoPj6gv1nc9XNMYNzAWEWyFBRtGYzmcmvRMyhj2X8+rAAYkHgma1LiRVXNq7ueZfxnvgNsw1jZMV7CmDMcMxkSsJ5sxnb5cWgYhlekMkUGXgPIJAOg20JKA74jZjaILhWDiPaomellFd/s6iAGGjW2MiFPUeSkOCIPCIfk2CDj+Nl7iZl5PF1vie7wQT4sHjhwE/s3uj7xHfT27cGD9BYVk7xz6axHJmu8ten85zyZ5rJgvQiZsi7tTSB6CV9uZcDhXFwdtECQ0ycT0Ac0DZ7m1wOadonCa7/K7RrD7lCqKZBisR4ChmG36lzuhODxc=
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aFRpS1M2WkZsaCs5TzhKeG9xSlRiNytUNTBZUWp0eTFORVBlWEh1WUtpbE5K?=
 =?utf-8?B?M21MclIxRm9heGp0Z25vRjN2Tjc4d2t5UkErait5WUdRQjBBVkt3S3ZYSTlS?=
 =?utf-8?B?S3Iyc2RFVXRBQzgrZWtFSjF5WE5SaUxja2hoUGE4MmIrZDBjKzlYemFlRncx?=
 =?utf-8?B?c1dVRktVSGJ5aU1saEdGWTlkWW16YUhvVmpZWDgzZW5keGoxRlVpeUl0eUNX?=
 =?utf-8?B?a25GeU9rNWREMUJqenpVWkZ2YkV3NWRldWRNamxEYzZOMDhWWXN6Wkh0bXZa?=
 =?utf-8?B?NGRFWCtVQUMzYTRLZncvQ2s4Q0poS1FJVG8xd0N5ZWlROUlqRWFPblZYZVg3?=
 =?utf-8?B?SlhRS0k4VTY3aEZBL29yNXNNRVIreFNKMEFxZzJSeUc5RWYwa0xrcWc2c1dh?=
 =?utf-8?B?WjV5QXVXWFVZUmRuRk5KWktsUWNEVkMrY05SWnI5MHBOWlVrYk53U0tuN2gv?=
 =?utf-8?B?Y05nOXpOeXlOTVRjYzloTmVYVkx2YVd5SSs1TTFkTzkwenBMdUxGZWJlZDQr?=
 =?utf-8?B?QXpEcnlCN1Y0QkR1bGZvQTdZZ3k4OFZVT2trV2t6RFhOVmV2NHdlUE8yT0lP?=
 =?utf-8?B?RmhHZkFURnVwczY3KzRJQnlEY3crNStlam9yWWgxRzZ4Z0tnVzF4ZkZ4QlA4?=
 =?utf-8?B?NXNtTW5sNkw5ZjZRZHJQOFI1bGhnVTR3a1pPellERVVmM0tHazdHekJhb09N?=
 =?utf-8?B?QnZ6ZTV6eldwTXNRNTM5U1Y0THFINVMzTUdGZ2JjSVNPd0IzbzZlUnNnK3Vk?=
 =?utf-8?B?Um5CMHlHRUlLVHJQRmhoL0NHZXhqV3VKTnNNaVNQVFk1QVZPN3piNEJGem1Z?=
 =?utf-8?B?UFRaT1E2dUp3US9ySTZxQW1lbEJXZ0lIVlBTOGI1bXh0MUYxSTlKUlpZT0lr?=
 =?utf-8?B?ZXRjWXM5QUIxTXRYei8rU0EyNis3UlFWRFUxQ21GMTFNM3dBSStVcWFxSkZ4?=
 =?utf-8?B?QnB1QUlGUVJNcDdwN2F2cVRhMXBvTVhVT1VCNFpnanRDUnQ0ejRDSGpJUldN?=
 =?utf-8?B?eGNhS24yNkFqOGRJUWkyK25UYlBUc291YUhzekRRekVrenlUdld2NXdUUitS?=
 =?utf-8?B?RThZZ0EyZUtPb0NiQlg1QUhLZlZhTGsrSnZDTjg1Y3RhR0labmtqekZBa2Q1?=
 =?utf-8?B?NXJYU3EwdGNORzhlQmZvUXlseHkyUzd4NmpoUFpWaTFrWG54bzU2cUNXVHFR?=
 =?utf-8?B?bTNSYWlZV3A4MFg3Y3Z0TDVsMWM3RHdHQ1F6QW44WGNBUlRmbTZDVHdJSVhG?=
 =?utf-8?B?Tzg4Yzh3bzBoM1oxcnErMG1qTEllQWlTK1M2TVAzY20xNElqdVRramQ0enNY?=
 =?utf-8?B?MFlzN0t3UC9sZGNWRnBzQlRNdXhiVGhKSVlpeWRoWG1weXhSTnJQK2pKd3E2?=
 =?utf-8?B?NFJFUjFYTWhTTm56RThXakZTMjZtWGNwWThLTzh3UVQ0RkdkWUNSM0tJZXNz?=
 =?utf-8?B?M2FQS29uQzFBdHQwdG9lSmdFQkx0Z1VVVUdaT3NoUWRlR2JJYTNjeG1ISTV4?=
 =?utf-8?B?dlI3cUo1ZXRqa2ZSVEJUS0FzcFlodW1JTlFhS0p6a2h6Y1Zpcys3SXBTSXBk?=
 =?utf-8?B?c1hMMzBJak9sRlhlU1o1THdDeXdOejNXczJzWjRuMnRUMXhsMTJMRGZ0d1Mv?=
 =?utf-8?B?ZHY0ZlRHUmJkYjJqZ2Q1dVlGV1diSFVsMTNmTFBZaFhvWDh5ZDA4VTNJTVJL?=
 =?utf-8?B?S3hxdDRCZDR5OXhvRjl4MzR2cXNSZjUwV2xHQTI5SStqdmc3U29rYmhBPT0=?=
X-OriginatorOrg: sct-15-20-4755-11-msonline-outlook-f5d03.templateTenant
X-MS-Exchange-CrossTenant-Network-Message-Id: 18f38435-22ff-4fbe-a307-08dbe7a2e6c4
X-MS-Exchange-CrossTenant-AuthSource: CH0P221MB0505.NAMP221.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Nov 2023 19:25:05.1849
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa
X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg:
	00000000-0000-0000-0000-000000000000
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7P221MB1055

On 11/14/2023 5:20 PM, Stefano Stabellini wrote:
> On Tue, 14 Nov 2023, Robin Murphy wrote:
>> On 11/11/2023 6:45 pm, Chuck Zmudzinski wrote:
>> > Enabling the new option, ARM_DMA_USE_IOMMU_XEN, fixes this error when
>> > attaching the Exynos mixer in Linux dom0 on Xen on the Chromebook Snow
>> > (and probably on other devices that use the Exynos mixer):
>> > 
>> > [drm] Exynos DRM: using 14400000.fimd device for DMA mapping operations
>> > exynos-drm exynos-drm: bound 14400000.fimd (ops 0xc0d96354)
>> > exynos-mixer 14450000.mixer: [drm:exynos_drm_register_dma] *ERROR* Device
>> >                               14450000.mixer lacks support for IOMMU
>> > exynos-drm exynos-drm: failed to bind 14450000.mixer (ops 0xc0d97554): -22
>> > exynos-drm exynos-drm: adev bind failed: -22
>> > exynos-dp: probe of 145b0000.dp-controller failed with error -22
>> > 
>> > Linux normally uses xen_swiotlb_dma_ops for DMA for all devices when
>> > xen_swiotlb is detected even when Xen exposes an IOMMU to Linux. Enabling
>> > the new config option allows devices such as the Exynos mixer to use the
>> > IOMMU instead of xen_swiotlb_dma_ops for DMA and this fixes the error.
>> > 
>> > The new config option is not set by default because it is likely some
>> > devices that use IOMMU for DMA on Xen will cause DMA errors and memory
>> > corruption when Xen PV block and network drivers are in use on the system.
>> > 
>> > Link:
>> > https://lore.kernel.org/xen-devel/acfab1c5-eed1-4930-8c70-8681e256c820@netscape.net/
>> > 
>> > Signed-off-by: Chuck Zmudzinski <brchuckz@aol.com>
>> > ---
>> > The reported error with the Exynos mixer is not fixed by default by adding
>> > a second patch to select the new option in the Kconfig definition for the
>> > Exynos mixer if EXYNOS_IOMMU and SWIOTLB_XEN are enabled because it is
>> > not certain setting the config option is suitable for all cases. So it is
>> > necessary to explicitly select the new config option during the config
>> > stage of the Linux kernel build to fix the reported error or similar
>> > errors that have the same cause of lack of support for IOMMU on Xen. This
>> > is necessary to avoid any regressions that might be caused by enabling the
>> > new option by default for the Exynos mixer.
>> >   arch/arm/mm/dma-mapping.c |  6 ++++++
>> >   drivers/xen/Kconfig       | 16 ++++++++++++++++
>> >   2 files changed, 22 insertions(+)
>> > 
>> > diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
>> > index 5409225b4abc..ca04fdf01be3 100644
>> > --- a/arch/arm/mm/dma-mapping.c
>> > +++ b/arch/arm/mm/dma-mapping.c
>> > @@ -1779,6 +1779,12 @@ void arch_setup_dma_ops(struct device *dev, u64
>> > dma_base, u64 size,
>> >   	if (iommu)
>> >   		arm_setup_iommu_dma_ops(dev, dma_base, size, iommu, coherent);
>> >   +#ifdef CONFIG_ARM_DMA_USE_IOMMU_XEN
>> 
>> FWIW I don't think this really needs a config option - if Xen *has* made an
>> IOMMU available, then there isn't really much reason not to use it, and if for
>> some reason someone really didn't want to then they could simply disable the
>> IOMMU driver anyway.
> 
> The fact that the Exynos IOMMU is exposed to Linux is a mistake. Xen
> doesn't recognize the Exynos IOMMU (it is not one of the IOMMUs Xen has
> a driver for) so it assigns the IOMMU to Dom0. It doesn't happen on
> purpose, it happens by accident. Certain things are going to break,
> specifically I am fairly certain PV drivers are going to break.
> 
> If Xen recognized the Exynos IOMMU as an IOMMU it would probably hide it
> from Dom0. (Today Xen doesn't have a list of IOMMUs Xen recognizes but
> doesn't have a driver for.)
> 
> I think it is OK for Chuck and others to play around with this
> configuration but I wouldn't add a new kconfig option to Linux to
> support it.
> 
> If we do want a kconfig option, I would add a kconfig option or Linux
> command line option to enable/disable swiotlb-xen. Basically a way to
> force-enable or force-disable xen_swiotlb_detect().That could be

I am trying to understand what you are proposing.

I tried disabling the CONFIG_SWIOTLB_XEN option that already
exists and it does not seem possible to disable that option without
also totally removing Xen dom0 support from Linux on arm. So do you
suggest keeping that option as is and adding a Linux command line
switch or new Linux Kconfig option that is ignored unless
CONFIG_SWIOTLB_XEN is enabled and would make xen_swiotlb_detect()
always return false or always return true, depending on the setting
of the new option?

Thanks,

Chuck

> generally useful for debugging and would also solve the problem here as
> it could be used to force-disable swiotlb-xen. I would imagine that the
> end result is the same: the default ops (iommu_ops) are used.
> 



From xen-devel-bounces@lists.xenproject.org Sat Nov 18 09:27:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 09:27:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635660.991573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4Hbd-0003rY-8t; Sat, 18 Nov 2023 09:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635660.991573; Sat, 18 Nov 2023 09: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 1r4Hbd-0003rR-5H; Sat, 18 Nov 2023 09:27:13 +0000
Received: by outflank-mailman (input) for mailman id 635660;
 Sat, 18 Nov 2023 09:27: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 1r4Hbb-0003rH-Tf; Sat, 18 Nov 2023 09:27: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 1r4Hbb-0006l6-Ob; Sat, 18 Nov 2023 09:27: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 1r4Hbb-0005vb-9O; Sat, 18 Nov 2023 09:27:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4Hbb-0008Ag-8n; Sat, 18 Nov 2023 09:27: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=4vtLzHTssFif7eRb04+QO/KZEXBGAlD7EznD2fpg7GE=; b=Prz7/97X4/ErR+Agb16DF1B+Q+
	MHIDCzbKT/gVbzQ+TBn4RCn1x9BOikm0EtdONKVAiB2oYeD6hrMLsct/l/9WAHrm6lbmw3qIQxNdd
	1VTzyIsNTLywNOvM6d6AmaHm6LRDgG5RbcZ7/RddP4mwJuUwDnFd6GSh9dmdsd/Hp7cI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183785-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183785: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl: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-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
    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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=97f8555acbf3da013ed713ca0bbe739d41c48da9
X-Osstest-Versions-That:
    xen=6cd046c501bce48cdc42f597fc7a023aa08853e7
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Nov 2023 09:27:11 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183781
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183781
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183781
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183781
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183781
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183781
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183781
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183781
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183781
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183781
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183781
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183781
 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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     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-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-credit2  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-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          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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  97f8555acbf3da013ed713ca0bbe739d41c48da9
baseline version:
 xen                  6cd046c501bce48cdc42f597fc7a023aa08853e7

Last test of basis   183781  2023-11-17 08:56:21 Z    1 days
Testing same since   183785  2023-11-18 00:10:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Volodymyr Babchuk <volodymyr_babchuk@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                                          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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   6cd046c501..97f8555acb  97f8555acbf3da013ed713ca0bbe739d41c48da9 -> master


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 11:34:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 11:34:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635678.991586 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4JaN-0006wh-6O; Sat, 18 Nov 2023 11:34:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635678.991586; Sat, 18 Nov 2023 11:34: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 1r4JaN-0006wa-3e; Sat, 18 Nov 2023 11:34:03 +0000
Received: by outflank-mailman (input) for mailman id 635678;
 Sat, 18 Nov 2023 11:34: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=BpU/=G7=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r4JaL-0006wE-AG
 for xen-devel@lists.xenproject.org; Sat, 18 Nov 2023 11:34:01 +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 5c5ea2ce-8606-11ee-9b0e-b553b5be7939;
 Sat, 18 Nov 2023 12:33:58 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-9e62ab773f1so396751266b.0
 for <xen-devel@lists.xenproject.org>; Sat, 18 Nov 2023 03:33:57 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 l2-20020a170906230200b009fb1fc8c405sm341966eja.179.2023.11.18.03.33.56
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Sat, 18 Nov 2023 03:33:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c5ea2ce-8606-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700307237; x=1700912037; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eVMK8+9Ti4sdXtchR56vwhKUrulyxbrfLvmIGV36RPw=;
        b=mQ3/SUhZy23dP3N1888kCItrmYH4wHZ/oJbXVoiCMxsCQ2ptqZ+eE7yrr/FUsg/Dgd
         Ox2qoTqdxxM/LYtdRqmXBrlab2V8mdow6kdUPTM9hu+KS66Fe1/KGz46zCBkq4GLaa+4
         /q6Xl/v6Yr5mFfVNySvYv+ahfCCi6i5d8xSMk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700307237; x=1700912037;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=eVMK8+9Ti4sdXtchR56vwhKUrulyxbrfLvmIGV36RPw=;
        b=V/zurvJGJd8tGS7G0g40cqqhXUna3Nou8spokdsapq5Sb0yoxpDpHIiDIrf1+79ar+
         S4+SAACYdWarq5ZGy+kSTjCjmD0mD7F4vQFcWNzAkJZxx7D/3L3I5eVF6jtvtA7gT4zi
         KTo8DSVg8cTU4ODb1QhAv/lxlTduNk/f2E7yHUmiHaI5HCb/1XaYHQNg8RLCXy27lEST
         3odyDbk8nU7oaMhzaa89YBNMbqwMuKLRRfJS1+fWIYhstsPeQjRti2b3clExHeSmdaUH
         nh3wtxjeaUy2TaR9K1yp4qHjf9r20j+Wp+GgNWPLYSVQXViPGJHR7O5UYjEzhJpu+I/p
         9U8Q==
X-Gm-Message-State: AOJu0YwfDTZiOjWEASGJ9JKvsBNcLkIQBRbCqd5s3w6FZSYYnSXAPQqR
	lhXU8Is0GcdlfY5pnCN3mQnWnA==
X-Google-Smtp-Source: AGHT+IFcqMzf/6hVVglbtLGqRg/+PrcXZKXkD1HfLAe5x1Gy8V+ffRgI4QeNg8GI64cJVuOK/5z7UQ==
X-Received: by 2002:a17:907:3da8:b0:9dd:6664:1a3a with SMTP id he40-20020a1709073da800b009dd66641a3amr1915608ejc.51.1700307236791;
        Sat, 18 Nov 2023 03:33:56 -0800 (PST)
Message-ID: <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
Date: Sat, 18 Nov 2023 11:33:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-GB
To: Elliott Mitchell <ehem+xen@m5p.com>, Henry Wang <Henry.Wang@arm.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, 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>,
 Neowutran <xen@neowutran.ovh>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com> <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 18/11/2023 3:04 am, Elliott Mitchell wrote:
> On Fri, Nov 17, 2023 at 11:12:37AM +0100, Neowutran wrote:
>> On 2023-11-07 11:11, Elliott Mitchell wrote:
>>> On Mon, Oct 30, 2023 at 04:27:22PM +01
>>>> On Mon, Oct 30, 2023 at 07:50:27AM -0700, Elliott Mitchell wrote:
>>>>> On Tue, Oct 24, 2023 at 03:51:50PM +0200, Roger Pau Monne wrote:
>>>>>> diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
>>>>>> index 707deef98c27..15632cc7332e 100644
>>>>>> --- a/xen/arch/x86/genapic/x2apic.c
>>>>>> +++ b/xen/arch/x86/genapic/x2apic.c
>>>>>> @@ -220,38 +239,56 @@ static struct notifier_block x2apic_cpu_nfb = {
>>>>>>  static int8_t __initdata x2apic_phys = -1;
>>>>>>  boolean_param("x2apic_phys", x2apic_phys);
>>>>>>  
>>>>>> +enum {
>>>>>> +   unset, physical, cluster, mixed
>>>>>> +} static __initdata x2apic_mode = unset;
>>>>>> +
>>>>>> +static int __init parse_x2apic_mode(const char *s)
>>>>>> +{
>>>>>> +    if ( !cmdline_strcmp(s, "physical") )
>>>>>> +        x2apic_mode = physical;
>>>>>> +    else if ( !cmdline_strcmp(s, "cluster") )
>>>>>> +        x2apic_mode = cluster;
>>>>>> +    else if ( !cmdline_strcmp(s, "mixed") )
>>>>>> +   
>>>>>> +    else
>>>>>> +        return EINVAL;
>>>>>> +
>>>>>> +    return 0;
>>>>>> +}
>>>>>> +custom_param("x2apic-mode", parse_x2apic_mode);
>>>>>> +
>>>>>>  const struct genapic *__init apic_x2apic_probe(void)
>>>>>>  {
>>>>>> -    if ( x2apic_phys < 0 )
>>>>>> +    /* x2apic-mode option has preference over x2apic_phys. */
>>>>>> +    if ( x2apic_phys >= 0 && x2apic_mode == unset )
>>>>>> +        x2apic_mode = x2apic_phys ? physical : cluster;
>>>>>> +
>>>>>> +    if ( x2apic_mode == unset )
>>>>>>      {
>>>>>> -        /*
>>>>>> -         * Force physical mode if there's no (full) interrupt remapping support:
>>>>>> -         * The ID in clustered mode requires a 32 bit destination field due to
>>>>>> -         * the usage of the high 16 bits to hold the cluster ID.
>>>>>> -         */
>>>>>> -        x2apic_phys = iommu_intremap != iommu_intremap_full ||
>>>>>> -                      (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
>>>>>> -        
>>>>>> -    }
>>>>>> -    else if ( !x2apic_phys )
>>>>>> -        switch ( iommu_intremap )
>>>>>> +        if ( acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL )
>>>>>>          {
>>>>> Could this explain the issues with recent AMD processors/motherboards?
>>>>>
>>>>> Mainly the firmware had been setting this flag, but Xen was previously
>>>>> ignoring it?
>>>> No, not unless you pass {no-}x2apic_phys={false,0} on the Xen command
>>>> line to force logical (clustered) destination mode.
>>>>
>>>>> As such Xen had been attempting to use cluster mode on an
>>>>> x2APIC where that mode was broken for physical interrupts?
>>>> No, not realy, x2apic_phys was already forced to true if
>>>> acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL is set on the FADT (I
>>>> just delete that line in this same chunk and move it here).
>>> Okay, that was from a quick look at the patch.  Given the symptoms and
>>> workaround with recent AMD motherboards, this looked
>>>
>>> In that case it might be a bug in what AMD is providing to motherboard
>>> manufacturers.  Mainly this bit MUST be set, but AMD's implementation
>>> leaves it unset.
>>>
>>> Could also be if the setup is done correctly the bit can be cleared, but
>>> multiple motherboard manufacturers are breaking this.  Perhaps the steps
>>> are fragile and AMD needed to provide better guidance.
>>>
>>>
>>> Neowutran, are you still setup to and interested in doing
>>> experimentation/testing with Xen on your AMD computer?  Would you be up
>>> for trying the patch here:
>>>
>>> https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw
>>>
>>> I have a suspicion this *might* fix the x2APIC issue everyone has been
>>> seeing.
>>>
>>> How plausible would it be to release this as a bugfix/workaround on 4.17?
>>> I'm expecting a "no", but figured I should ask given how widespread the
>>> issue is.
>> I just applied the patch on my setup ( https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw ) 
>> It seems to fix the x2APIC issue I was having. 
>>
>> I only did some quick tests: 
>>
>> I tried all the differents values in my bios for the X2APIC settings. 
>> Now the system successfully boot in all the cases, without needing
>> manual override of the x2apic_phys/x2apic_mode parameter in boot commandline .
> In light of this issue effecting a large number of people with recent
> hardware, I formally request the patch
> "x86/x2apic: introduce a mixed physical/cluster mode" be considered for
> backport release on the 4.17 and 4.18 branches.
>
> (I'm unsure whether it is realistic for a 4.17 update, but I figure I
> should ask)

This is an unreasonable ask.

I believe you when you say there is (or at least was) an x2apic bug (or
bugs), but not once did you provide the logging requested, nor engage
usefully with us in debugging.

And despite this, we (Roger, Jan and myself) found, fixed and backported
3 x2apic bugs.

Now you come along guessing alone at x2apic in a patch name that it
fixes your problem, on a patch which is not a bugfix - it's a
performance optimisation.


Neowutran, thankyou for looking into the patch, but I'm afraid that
doesn't confirm that this patch fixed an issue either.  If it really did
make a difference, then you'll see a difference in behaviour using each
of the 3 new x2apic-mode= options.

Please could you take your single up-to-date build of Xen, put the BIOS
settings back to whatever was causing you problems originally, and
describe what happens when booting each of
x2apic-mode={physical,cluster,mixed}?

Thankyou,

~Andrew


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 13:22:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 13:22:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635693.991597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4LHF-00084V-Ss; Sat, 18 Nov 2023 13:22:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635693.991597; Sat, 18 Nov 2023 13:22: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 1r4LHF-00084O-OJ; Sat, 18 Nov 2023 13:22:25 +0000
Received: by outflank-mailman (input) for mailman id 635693;
 Sat, 18 Nov 2023 13:22: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 1r4LHE-00084C-Mc; Sat, 18 Nov 2023 13:22: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 1r4LHE-0002mK-Gs; Sat, 18 Nov 2023 13:22: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 1r4LHD-000712-Vw; Sat, 18 Nov 2023 13:22:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4LHD-0006LM-VO; Sat, 18 Nov 2023 13:22: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=HzW4Xa7XZuNvVIK1M4gr3tluS1m743HmwZ7mYTVtKmc=; b=0www0VUPGf3CXcwz8nui5UzZeW
	5WbzFsXwXdt7HXvWViHD326TffxoqcS1/91qRrRTh2Iws9y2LaU/WXG3SFMQ6najm+T4LlyTP7J18
	smYu7onYQkoplFT4QWYtIEaCr2slfEXyEW0nWKMkU4PPQZE75K6PR7XFCaRBh1D0KSDs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183787-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183787: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-xl-arndale:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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: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-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=791c8ab095f71327899023223940dd52257a4173
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Nov 2023 13:22:23 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-armhf-armhf-xl-arndale   8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                791c8ab095f71327899023223940dd52257a4173
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    2 days
Failing since        183773  2023-11-16 13:12:48 Z    2 days    4 attempts
Testing same since   183787  2023-11-18 03:44:44 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anders Roxell <anders.roxell@linaro.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Le Ma <le.ma@amd.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  SeongJae Park <sj@kernel.org>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 5220 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 19:04:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 19:04:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635820.991656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4Qc7-0001IT-BC; Sat, 18 Nov 2023 19:04:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635820.991656; Sat, 18 Nov 2023 19: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 1r4Qc7-0001IM-5W; Sat, 18 Nov 2023 19:04:19 +0000
Received: by outflank-mailman (input) for mailman id 635820;
 Sat, 18 Nov 2023 19:04: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 1r4Qc6-0001IC-Mt; Sat, 18 Nov 2023 19:04: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 1r4Qc6-0001Pn-KZ; Sat, 18 Nov 2023 19:04: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 1r4Qc6-0005d7-6a; Sat, 18 Nov 2023 19:04:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4Qc6-0005N0-68; Sat, 18 Nov 2023 19: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=zsvfq8QXM6ijJTivxQDxeF8nVP+goK9l6J40MuTe3BQ=; b=WbQhnNJNtIhgY4H9j5Jvab0lyg
	0+OlMDXvJeIUuOYEgH4+b5lOdBDkaLspobW2KOKepTTgPAz+oUdwIamO5i8LxMuM4PVm7liH0Bryj
	H8jLgDDjj3GbyutJyq23sZp/GqpRp+h8vyc9xUL6ogUaOCUMSfB3KwLOFNd4MulelOiI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183788-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183788: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-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-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
    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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=98758ae48974d6d24f999e4d9324e463d326f66f
X-Osstest-Versions-That:
    xen=97f8555acbf3da013ed713ca0bbe739d41c48da9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Nov 2023 19:04:18 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183785
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183785
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183785
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183785
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183785
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183785
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183785
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183785
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183785
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183785
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183785
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183785
 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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     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-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-credit2  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-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-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
 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-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  98758ae48974d6d24f999e4d9324e463d326f66f
baseline version:
 xen                  97f8555acbf3da013ed713ca0bbe739d41c48da9

Last test of basis   183785  2023-11-18 00:10:19 Z    0 days
Testing same since   183788  2023-11-18 09:31:20 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Gianluca Luparini <gianluca.luparini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  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                                          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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   97f8555acb..98758ae489  98758ae48974d6d24f999e4d9324e463d326f66f -> master


From xen-devel-bounces@lists.xenproject.org Sat Nov 18 20:16:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 18 Nov 2023 20:16:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.635827.991664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4Rju-0004Dz-LC; Sat, 18 Nov 2023 20:16:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 635827.991664; Sat, 18 Nov 2023 20: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 1r4Rju-0004Ds-Ij; Sat, 18 Nov 2023 20:16:26 +0000
Received: by outflank-mailman (input) for mailman id 635827;
 Sat, 18 Nov 2023 20:16: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 1r4Rjt-0004Di-5h; Sat, 18 Nov 2023 20:16: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 1r4Rjt-0002fS-0M; Sat, 18 Nov 2023 20:16: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 1r4Rjs-0007Ij-LC; Sat, 18 Nov 2023 20:16:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4Rjs-00008M-Kn; Sat, 18 Nov 2023 20:16: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=eNNyOfaLZbQIQass290CHGZ2oforpapPPg28rMxFhLk=; b=FcLzytVlFjiT2oLCcbwr+26FDG
	3O14/kI+IxiqQICcga6AxiLVWBtsrc3Uj4HyznAQGHfHX0uPE7OFGYMXbZzJ26NsYersumQsOW7s6
	sxt9xe0GU+wjBRRkh/a1tyFgMwHWPUiMYBoDp2Ot7RBIsW/8EcJZMEGpWHEI6s7u2cHc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183789-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183789: regressions - FAIL
X-Osstest-Failures:
    linux-linus:build-arm64-pvops:kernel-build:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine: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: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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: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-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=791c8ab095f71327899023223940dd52257a4173
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 18 Nov 2023 20:16:24 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-arm64-pvops             6 kernel-build             fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 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-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-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-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                791c8ab095f71327899023223940dd52257a4173
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    3 days
Failing since        183773  2023-11-16 13:12:48 Z    2 days    5 attempts
Testing same since   183787  2023-11-18 03:44:44 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anders Roxell <anders.roxell@linaro.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Le Ma <le.ma@amd.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  SeongJae Park <sj@kernel.org>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Ziwei Xiao <ziweixiao@google.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                                            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-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                                 blocked 
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      blocked 
 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                                  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-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     blocked 
 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                                 blocked 
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                pass    
 test-amd64-amd64-xl-vhd                                      pass    
 test-arm64-arm64-xl-vhd                                      blocked 
 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 5220 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Nov 19 02:48:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Nov 2023 02:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636181.991675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4Xqs-0006ea-JN; Sun, 19 Nov 2023 02:48:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636181.991675; Sun, 19 Nov 2023 02:48: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 1r4Xqs-0006eT-Eq; Sun, 19 Nov 2023 02:48:02 +0000
Received: by outflank-mailman (input) for mailman id 636181;
 Sun, 19 Nov 2023 02:48: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 1r4Xqr-0006eJ-LZ; Sun, 19 Nov 2023 02:48: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 1r4Xqr-0000vH-Go; Sun, 19 Nov 2023 02:48: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 1r4Xqq-0003Hk-T6; Sun, 19 Nov 2023 02:48:01 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4Xqq-0004GP-RZ; Sun, 19 Nov 2023 02:48: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=qcll2A6C4amFTdf4myQ92H3+xjOkxeG4xYvF70cHM/c=; b=HyNev0t7xBffRcXt+5B6+Uiqu4
	gf5esPWYI4eysbG8kgbmBpHfcHkfucR/wog+TEc92tsONwOHWm/7kxm1QCNYBdAcXx3ywmv3jHc1X
	5KloH3MQIUmFpy23T0yB/YYtEtzIq532+2MkpAhvom8BcKRmrT4ABOjjdvhIWFYvMD3U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183790-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183790: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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: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-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-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-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-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b8f1fa2419c19c81bc386a6b350879ba54a573e1
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Nov 2023 02:48:00 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                b8f1fa2419c19c81bc386a6b350879ba54a573e1
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    3 days
Failing since        183773  2023-11-16 13:12:48 Z    2 days    6 attempts
Testing same since   183790  2023-11-18 20:42:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Peter Korsgaard <peter@korsgaard.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 7302 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Nov 19 09:03:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Nov 2023 09:03:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636200.991684 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4di1-0001Xx-C4; Sun, 19 Nov 2023 09:03:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636200.991684; Sun, 19 Nov 2023 09: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 1r4di1-0001Xq-9K; Sun, 19 Nov 2023 09:03:17 +0000
Received: by outflank-mailman (input) for mailman id 636200;
 Sun, 19 Nov 2023 09: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 1r4dhz-0001Xg-Td; Sun, 19 Nov 2023 09: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 1r4dhz-00008C-P4; Sun, 19 Nov 2023 09: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 1r4dhz-0007n9-99; Sun, 19 Nov 2023 09:03:15 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4dhz-0000H6-8I; Sun, 19 Nov 2023 09: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=Z5Fthu+iVyWkOvzrfF0OW89KnDshIldS+DmOlNs6ijY=; b=qT+PYMTnAlJSJAAFiHiTwL27/o
	STQjnJwmH5xIxOmnlrzTXPkY0qg5QrAtHyEStEGwN+yC1b4tE8heleiRL52H1HTvbBjzevsb2VEOQ
	D6SLqxmRWVwQHPvN2u8a5v+28mlMYCyUqgguicHc9sx9q445hCVxhHKfFxXog9W+nguU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183791-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183791: trouble: broken/fail/pass
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check: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-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt: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-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: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-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-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
    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-libvirt:migrate-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-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=98758ae48974d6d24f999e4d9324e463d326f66f
X-Osstest-Versions-That:
    xen=98758ae48974d6d24f999e4d9324e463d326f66f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Nov 2023 09:03:15 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm    <job status>   broken

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken pass in 183788

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183788
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183788
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183788
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183788
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183788
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183788
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183788
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183788
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183788
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183788
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183788
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183788
 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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  fail   never pass
 test-amd64-amd64-libvirt     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-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          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-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          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-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  98758ae48974d6d24f999e4d9324e463d326f66f
baseline version:
 xen                  98758ae48974d6d24f999e4d9324e463d326f66f

Last test of basis   183791  2023-11-19 01:53: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        broken  
 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-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-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

broken-job test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm broken
broken-step test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm host-install(5)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Sun Nov 19 12:33:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Nov 2023 12:33:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636233.991694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4gz5-0001OU-4x; Sun, 19 Nov 2023 12:33:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636233.991694; Sun, 19 Nov 2023 12: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 1r4gz5-0001ON-2A; Sun, 19 Nov 2023 12:33:07 +0000
Received: by outflank-mailman (input) for mailman id 636233;
 Sun, 19 Nov 2023 12:33: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 1r4gz4-0001OD-4z; Sun, 19 Nov 2023 12:33: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 1r4gz4-0003nn-12; Sun, 19 Nov 2023 12:33: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 1r4gz3-0004Nw-Kf; Sun, 19 Nov 2023 12:33:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4gz3-0002fq-KD; Sun, 19 Nov 2023 12:33: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=NlChfYUJMjumdE6mHSBI8YVTehDpZGNVvd2sOX+WWTs=; b=YpBaP7IpVpVxkBNR7L7G50Mz01
	jbQCuLIfEEMhjqy636GrBhFpQLp0S9vR/gH0xfbZ3f2UUlkMSbm5vpj1Q4rWGms2m4aHkyP+8tRWD
	K0ap/NK1/rT315KOkYAD4bSHCZf1s7Uh/BX4ymmOs82207HeNAg2RxYFW28dIDenlPL4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183792-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183792: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-freebsd11-amd64:guest-start/freebsd.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=037266a5f7239ead1530266f7d7af153d2a867fa
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Nov 2023 12:33:05 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766
 test-amd64-amd64-freebsd11-amd64 21 guest-start/freebsd.repeat fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                037266a5f7239ead1530266f7d7af153d2a867fa
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    3 days
Failing since        183773  2023-11-16 13:12:48 Z    2 days    7 attempts
Testing same since   183792  2023-11-19 02:56:10 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit1                                  pass    
 test-amd64-amd64-xl-credit2                                  pass    
 test-arm64-arm64-xl-credit2                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 7591 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Nov 19 16:13:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Nov 2023 16:13:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636268.991705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4kPS-0002FJ-4N; Sun, 19 Nov 2023 16:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636268.991705; Sun, 19 Nov 2023 16: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 1r4kPS-0002FC-18; Sun, 19 Nov 2023 16:12:34 +0000
Received: by outflank-mailman (input) for mailman id 636268;
 Sun, 19 Nov 2023 16:12: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=K/Uu=HA=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r4kPQ-0002F6-0k
 for xen-devel@lists.xenproject.org; Sun, 19 Nov 2023 16:12:32 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 6f3c3cc3-86f6-11ee-9b0e-b553b5be7939;
 Sun, 19 Nov 2023 17:12:29 +0100 (CET)
Received: from mg.gitlab.com (31.226.74.34.bc.googleusercontent.com
 [34.74.226.31]) by
 5570efcce685 with SMTP id 655a33e9a4dcab75e98f982d (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Sun, 19 Nov 2023 16:12:25 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 6f3c3cc3-86f6-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700410347; x=1700417547; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=k3T77M0debLUBdHYeUsB9z68Y2tskwL8AAxSTLJ7Ld8=;
 b=LwL3+uCow8H41iF5xFJE7Bl7qax0lDDf+Pf3F7gxXL8Ex2cRE7tUCRTRvWCHvWmN3+ubEQyMSzRxbJ1mWp/zxMuoXW0ts93sZ5frkyoTW+xM/x3vrhmk5koCiwd0NE3FOQmj2aFnqQB6PUWVG9aW8r8AKnyknniG3XMTo+KtELo=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Sun, 19 Nov 2023 16:12:25 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655a33e9ca969_2c9b410256f6@gitlab-sidekiq-catchall-v2-5c44d4cdc7-k2rcs.mail>
Subject: xen | Successful pipeline for staging | 98758ae4
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655a33e9c1644_2c9b4102553a";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1077843561
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655a33e9c1644_2c9b4102553a
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1077843561 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 98758ae4 ( https://gitlab.com/xen-project/xen/-/commit/98758ae48974d6d24f999e4d9324e463d326f66f )
Commit Message: xen: introduce function type bug_fn_t.

Introdu...
Commit Author: Federico Serafini
Committed by: Stefano Stabellini



Pipeline #1077843561 ( https://gitlab.com/xen-project/xen/-/pipelines/1077843561 ) triggered by Andrew Cooper ( https://gitlab.com/andyhhp )
successfully completed 135 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655a33e9c1644_2c9b4102553a
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 98758ae4</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1077843561 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/98758ae48974d6d24f=
999e4d9324e463d326f66f" style=3D"color: #3777b0; text-decoration: none;">=
98758ae4</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen: introduce function type bug_fn_t.

Introdu...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/7347c1427cde55f447d83dc392bce562?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Federico Serafini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/50b82a64e2a9f930cabefa3948871101?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Stefano Stabellini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107784=
3561" style=3D"color: #3777b0; text-decoration: none;">#1077843561</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 135 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655a33e9c1644_2c9b4102553a--


From xen-devel-bounces@lists.xenproject.org Sun Nov 19 19:22:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 19 Nov 2023 19:22:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636321.991714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4nMT-0007To-Bm; Sun, 19 Nov 2023 19:21:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636321.991714; Sun, 19 Nov 2023 19:21: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 1r4nMT-0007Th-98; Sun, 19 Nov 2023 19:21:41 +0000
Received: by outflank-mailman (input) for mailman id 636321;
 Sun, 19 Nov 2023 19:21: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 1r4nMS-0007TX-Hj; Sun, 19 Nov 2023 19:21: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 1r4nMS-0003ST-CM; Sun, 19 Nov 2023 19:21: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 1r4nMR-0000NJ-Qy; Sun, 19 Nov 2023 19:21:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4nMR-0002TD-QR; Sun, 19 Nov 2023 19: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=EVLiFyd+rslEQwB7XSu8cR11tdjpgM7cQg3C/08EXvc=; b=MuZlzaueO4qQu7nBvMOnuovoLV
	5OjVJ3PeYoHLMpLJE6ZZHaFgjbOeyZZofdj+Sd+MQzDENmECVWY/myXCPn5wg+RITzDfIoY6yjxvN
	eIaoYShn8KkcvmlpTjFpcH4uKN9E0K7VENlsWDRgORnHAdILaM2+3V3gbsUklRT7upbU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183793-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183793: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=037266a5f7239ead1530266f7d7af153d2a867fa
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 19 Nov 2023 19:21:39 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                037266a5f7239ead1530266f7d7af153d2a867fa
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    4 days
Failing since        183773  2023-11-16 13:12:48 Z    3 days    8 attempts
Testing same since   183792  2023-11-19 02:56:10 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 7591 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:21:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:21:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636346.991725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4tup-0003YX-Up; Mon, 20 Nov 2023 02:21:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636346.991725; Mon, 20 Nov 2023 02: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 1r4tup-0003YQ-Rz; Mon, 20 Nov 2023 02:21:35 +0000
Received: by outflank-mailman (input) for mailman id 636346;
 Mon, 20 Nov 2023 02:21: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 1r4tup-0003YG-77; Mon, 20 Nov 2023 02:21: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 1r4tup-00021Q-3A; Mon, 20 Nov 2023 02:21: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 1r4tuo-0004y7-DD; Mon, 20 Nov 2023 02:21:34 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r4tuo-0006gF-Ch; Mon, 20 Nov 2023 02:21: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=Ckq/p4CB1F9LXT2I156gqbyTPieI1Rse0zVtq5sGDkg=; b=J/KafUGw04iK1qz5kXUy27XUKc
	j11Fcx7mdppn3a6bQySRvUTYG0JpgFDp/bgxPVXHhRM0Tnq2LY23ygWFEDI1ienlQPKB/SK71Yc4A
	vpDWFEJa6bwunp5x5imKFQOUJQ8gI1LdvD52dB+waTsZ9CrEdyg3+ElE+pEQgzAh1YJk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183794-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183794: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt-qcow2:leak-check/check:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=037266a5f7239ead1530266f7d7af153d2a867fa
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Nov 2023 02:21:34 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 183793
 test-armhf-armhf-libvirt-qcow2 20 leak-check/check         fail pass in 183793

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                037266a5f7239ead1530266f7d7af153d2a867fa
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    4 days
Failing since        183773  2023-11-16 13:12:48 Z    3 days    9 attempts
Testing same since   183792  2023-11-19 02:56:10 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 7591 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:54:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:54:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636353.991745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uR4-0007lJ-N4; Mon, 20 Nov 2023 02:54:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636353.991745; Mon, 20 Nov 2023 02:54: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 1r4uR4-0007lC-KF; Mon, 20 Nov 2023 02:54:54 +0000
Received: by outflank-mailman (input) for mailman id 636353;
 Mon, 20 Nov 2023 02:54: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uR3-0007WE-M1
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:54:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 2d04534a-8750-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 03:54:52 +0100 (CET)
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 7FDB61042;
 Sun, 19 Nov 2023 18:55:37 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D254F3F6C4;
 Sun, 19 Nov 2023 18:54:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d04534a-8750-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 01/17] xen/arm: use NR_MEM_BANKS to override default NR_NODE_MEMBLKS
Date: Mon, 20 Nov 2023 10:54:15 +0800
Message-Id: <20231120025431.14845-2-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

As a memory range described in device tree cannot be split across
multiple nodes. And it is very likely than if you have more than
64 nodes, you may need a lot more than 2 regions per node. So the
default NR_NODE_MEMBLKS value (MAX_NUMNODES * 2) makes no sense
on Arm.

So, for Arm, we would just define NR_NODE_MEMBLKS as an alias to
NR_MEM_BANKS. And in the future NR_MEM_BANKS will be user-configurable
via kconfig, but for now leave NR_MEM_BANKS as 128 on Arm. This
avoids having different way to define the value based NUMA vs non-NUMA.

Further discussions can be found here[1].

[1] https://lists.xenproject.org/archives/html/xen-devel/2021-09/msg02322.html

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
v6:
- Rebase on top of staging without code changes
---
 xen/arch/arm/include/asm/numa.h | 19 ++++++++++++++++++-
 xen/include/xen/numa.h          |  9 +++++++++
 2 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index e2bee2bd82..7d6ae36a19 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -3,9 +3,26 @@
 
 #include <xen/mm.h>
 
+#include <asm/setup.h>
+
 typedef u8 nodeid_t;
 
-#ifndef CONFIG_NUMA
+#ifdef CONFIG_NUMA
+
+/*
+ * It is very likely that if you have more than 64 nodes, you may
+ * need a lot more than 2 regions per node. So, for Arm, we would
+ * just define NR_NODE_MEMBLKS as an alias to NR_MEM_BANKS.
+ * And in the future NR_MEM_BANKS will be bumped for new platforms,
+ * but for now leave NR_MEM_BANKS as it is on Arm. This avoid to
+ * have different way to define the value based NUMA vs non-NUMA.
+ *
+ * Further discussions can be found here:
+ * https://lists.xenproject.org/archives/html/xen-devel/2021-09/msg02322.html
+ */
+#define NR_NODE_MEMBLKS NR_MEM_BANKS
+
+#else
 
 /* Fake one node for now. See also node_online_map. */
 #define cpu_to_node(cpu) 0
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 287e81ff66..3e215db1ca 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -13,7 +13,16 @@
 #define MAX_NUMNODES 1
 #endif
 
+/*
+ * Some architectures may have different considerations for
+ * number of node memory blocks. They can define their
+ * NR_NODE_MEMBLKS in asm/numa.h to reflect their architectural
+ * implementation. If the arch does not have specific implementation,
+ * the following default NR_NODE_MEMBLKS will be used.
+ */
+#ifndef NR_NODE_MEMBLKS
 #define NR_NODE_MEMBLKS (MAX_NUMNODES * 2)
+#endif
 
 #define vcpu_to_node(v) (cpu_to_node((v)->processor))
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:54:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:54:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636354.991755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uR8-00081u-00; Mon, 20 Nov 2023 02:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636354.991755; Mon, 20 Nov 2023 02:54: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 1r4uR7-00081h-Rn; Mon, 20 Nov 2023 02:54:57 +0000
Received: by outflank-mailman (input) for mailman id 636354;
 Mon, 20 Nov 2023 02:54: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uR7-00081B-40
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:54:57 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 2f411797-8750-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 03:54:55 +0100 (CET)
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 344271042;
 Sun, 19 Nov 2023 18:55:41 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 901FC3F6C4;
 Sun, 19 Nov 2023 18:54:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2f411797-8750-11ee-98df-6d05b1d4d9a1
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 02/17] xen/arm: implement helpers to get and update NUMA status
Date: Mon, 20 Nov 2023 10:54:16 +0800
Message-Id: <20231120025431.14845-3-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

NUMA has one global and one implementation specific switches. For
ACPI NUMA implementation, Xen has acpi_numa, so we introduce
device_tree_numa for device tree NUMA implementation. And use
enumerations to indicate init, off and on status.

arch_numa_disabled will get device_tree_numa status, but for
arch_numa_setup we have not provided boot arguments to setup
device_tree_numa. So we just return -EINVAL in this patch.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v3 -> v6:
- Rebase on top of staging without code changes.
v2 -> v3:
- Rename the first entry of enum dt_numa_status as DT_NUMA_DEFAULT.
- Make enum dt_numa_status device_tree_numa as __ro_after_init and
- assign it explicitly to DT_NUMA_DEFAULT.
- Update the year in copyright to 2023.
- Don't move the x86 numa_disabled() and make Arm's numa_disabled()
  a static inline function for !CONFIG_NUMA.
v1 -> v2:
- Use arch_numa_disabled to replace numa_enable_with_firmware.
- Introduce enumerations for device tree numa status.
- Use common numa_disabled, drop Arm version numa_disabled.
- Introduce arch_numa_setup for Arm.
- Rename bad_srat to numa_bad.
- Add numa_enable_with_firmware helper.
- Add numa_disabled helper.
- Refine commit message.
---
 xen/arch/arm/include/asm/numa.h | 17 +++++++++++
 xen/arch/arm/numa.c             | 50 +++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+)
 create mode 100644 xen/arch/arm/numa.c

diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index 7d6ae36a19..83f60ad05b 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -22,6 +22,8 @@ typedef u8 nodeid_t;
  */
 #define NR_NODE_MEMBLKS NR_MEM_BANKS
 
+extern bool numa_disabled(void);
+
 #else
 
 /* Fake one node for now. See also node_online_map. */
@@ -39,6 +41,21 @@ extern mfn_t first_valid_mfn;
 #define node_start_pfn(nid) (mfn_x(first_valid_mfn))
 #define __node_distance(a, b) (20)
 
+static inline bool numa_disabled(void)
+{
+    return true;
+}
+
+static inline bool arch_numa_unavailable(void)
+{
+    return true;
+}
+
+static inline bool arch_numa_broken(void)
+{
+    return true;
+}
+
 #endif
 
 #define arch_want_default_dmazone() (false)
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
new file mode 100644
index 0000000000..eb5d0632cb
--- /dev/null
+++ b/xen/arch/arm/numa.c
@@ -0,0 +1,50 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Arm Architecture support layer for NUMA.
+ *
+ * Copyright (C) 2023 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>
+#include <xen/numa.h>
+
+enum dt_numa_status {
+    DT_NUMA_DEFAULT,
+    DT_NUMA_ON,
+    DT_NUMA_OFF,
+};
+
+static enum dt_numa_status __ro_after_init device_tree_numa = DT_NUMA_DEFAULT;
+
+void __init numa_fw_bad(void)
+{
+    printk(KERN_ERR "NUMA: device tree numa info table not used.\n");
+    device_tree_numa = DT_NUMA_OFF;
+}
+
+bool __init arch_numa_unavailable(void)
+{
+    return device_tree_numa != DT_NUMA_ON;
+}
+
+bool arch_numa_disabled(void)
+{
+    return device_tree_numa == DT_NUMA_OFF;
+}
+
+int __init arch_numa_setup(const char *opt)
+{
+    return -EINVAL;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:54:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:54:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636352.991735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uR1-0007WR-Ey; Mon, 20 Nov 2023 02:54:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636352.991735; Mon, 20 Nov 2023 02:54: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 1r4uR1-0007WK-Bn; Mon, 20 Nov 2023 02:54:51 +0000
Received: by outflank-mailman (input) for mailman id 636352;
 Mon, 20 Nov 2023 02:54: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uQz-0007WE-Cu
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:54:49 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 29a3e13a-8750-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 03:54:46 +0100 (CET)
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 A5F641042;
 Sun, 19 Nov 2023 18:55:31 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id B84523F6C4;
 Sun, 19 Nov 2023 18:54:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29a3e13a-8750-11ee-9b0e-b553b5be7939
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>,
	Michal Orzel <michal.orzel@amd.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Community Manager <community.manager@xenproject.org>
Subject: [PATCH v6 00/17] Device tree based NUMA support for Arm
Date: Mon, 20 Nov 2023 10:54:14 +0800
Message-Id: <20231120025431.14845-1-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The preparation work to support NUMA on Arm has been merged
and can be found at [1] and [2]. The initial discussions of
the Arm NUMA support can be found at [3].

- Background of this series:

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 FVP in
Arm64 mode with NUMA configs in device tree 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/2022-11/msg01043.html
[3] https://lists.xenproject.org/archives/html/xen-devel/2021-09/msg01903.html

Henry Wang (1):
  xen/arm: Set correct per-cpu cpu_core_mask

Wei Chen (16):
  xen/arm: use NR_MEM_BANKS to override default NR_NODE_MEMBLKS
  xen/arm: implement helpers to get and update NUMA status
  xen/arm: implement node distance helpers for Arm
  xen/arm: use arch_get_ram_range to get memory ranges from bootinfo
  xen/arm: build NUMA cpu_to_node map in dt_smp_init_cpus
  xen/arm: Add boot and secondary CPU to NUMA system
  xen/arm: introduce a helper to parse device tree processor node
  xen/arm: introduce a helper to parse device tree memory node
  xen/arm: introduce a helper to parse device tree NUMA distance map
  xen/arm: unified entry to parse all NUMA data from device tree
  xen/arm: keep guest still be NUMA unware
  xen/arm: enable device tree based NUMA in system init
  xen/arm: implement numa_node_to_arch_nid for device tree NUMA
  xen/arm: use CONFIG_NUMA to gate node_online_map in smpboot
  xen/arm: Provide Kconfig options for Arm to enable NUMA
  docs: update numa command line to support Arm

 CHANGELOG.md                      |   1 +
 SUPPORT.md                        |   1 +
 docs/misc/xen-command-line.pandoc |   2 +-
 xen/arch/arm/Kconfig              |  11 ++
 xen/arch/arm/Makefile             |   2 +
 xen/arch/arm/domain_build.c       |   6 +
 xen/arch/arm/include/asm/numa.h   |  91 ++++++++-
 xen/arch/arm/numa-dt.c            | 299 ++++++++++++++++++++++++++++++
 xen/arch/arm/numa.c               | 184 ++++++++++++++++++
 xen/arch/arm/setup.c              |  17 ++
 xen/arch/arm/smpboot.c            |  38 ++++
 xen/arch/x86/include/asm/numa.h   |   1 -
 xen/arch/x86/srat.c               |   2 +-
 xen/include/xen/numa.h            |  10 +
 14 files changed, 661 insertions(+), 4 deletions(-)
 create mode 100644 xen/arch/arm/numa-dt.c
 create mode 100644 xen/arch/arm/numa.c

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636355.991764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRD-0008MI-75; Mon, 20 Nov 2023 02:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636355.991764; Mon, 20 Nov 2023 02:55: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 1r4uRD-0008M7-3k; Mon, 20 Nov 2023 02:55:03 +0000
Received: by outflank-mailman (input) for mailman id 636355;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRB-00081B-NQ
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:01 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 3235049b-8750-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 03:55:00 +0100 (CET)
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 214231042;
 Sun, 19 Nov 2023 18:55:46 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 336C13F6C4;
 Sun, 19 Nov 2023 18:54:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3235049b-8750-11ee-98df-6d05b1d4d9a1
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 03/17] xen/arm: implement node distance helpers for Arm
Date: Mon, 20 Nov 2023 10:54:17 +0800
Message-Id: <20231120025431.14845-4-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

We will parse NUMA nodes distances from device tree. So we need
a matrix to record the distances between any two nodes we parsed.
Accordingly, we provide this node_set_distance API for device tree
NUMA to set the distance for any two nodes in this patch. When
NUMA initialization failed, __node_distance will return
NUMA_REMOTE_DISTANCE, this will help us avoid doing rollback
for distance maxtrix when NUMA initialization failed.

As both x86 and Arm have implemented __node_distance, so we move
its declaration from asm/numa.h to xen/numa.h. At same time, the
outdated u8 return value of x86 has been changed to unsigned char.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Acked-by: Jan Beulich <jbeulich@suse.com> # non-Arm parts
---
v6:
- Rebase on top of staging without code changes.
v4 -> v5:
- Coding style (extra blank line and printk variable type) and
  in-code comment fixes and improvements.
- Move the from/to range check in numa_set_distance() to caller,
- Drop the unnecessary check ensured by caller in numa_set_distance().
- Rework the invalid distance check in numa_set_distance() following
  Linux, add more in-code comments about these distance checks.
v3 -> v4:
- s/definition/declaration/ in commit message.
- Add Acked-by tag from Jan for non-Arm parts.
- Drop unnecessary initializer for node_distance_map. Pre-set the
  distance map to NUMA_NO_DISTANCE.
- Drop NUMA_DISTANCE_UDF_MIN and its usage.
- Drop EXPORT_SYMBOL(__node_distance).
- Rework __node_distance()'s return value logic.
v2 -> v3:
- Use __ro_after_init for node_distance_map.
- Correct format of if condition identation in numa_set_distance().
- Drop the unnecessary change to the year of copyright.
- Use ARRAY_SIZE() to determine node_distance_map's row, column size.
v1 -> v2:
- Use unsigned int/char instead of uint32_t/u8.
- Re-org the commit message.
---
 xen/arch/arm/Makefile           |  1 +
 xen/arch/arm/include/asm/numa.h | 12 ++++++++
 xen/arch/arm/numa.c             | 51 +++++++++++++++++++++++++++++++++
 xen/arch/x86/include/asm/numa.h |  1 -
 xen/arch/x86/srat.c             |  2 +-
 xen/include/xen/numa.h          |  1 +
 6 files changed, 66 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 7bf07e9920..86e0e47e22 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -38,6 +38,7 @@ obj-$(CONFIG_LIVEPATCH) += livepatch.o
 obj-y += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
+obj-$(CONFIG_NUMA) += numa.o
 obj-y += p2m.o
 obj-y += percpu.o
 obj-y += platform.o
diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index 83f60ad05b..96c856a9f7 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -22,7 +22,19 @@ typedef u8 nodeid_t;
  */
 #define NR_NODE_MEMBLKS NR_MEM_BANKS
 
+/*
+ * In ACPI spec, 0-9 are the reserved values for node distance,
+ * 10 indicates local node distance, 20 indicates remote node
+ * distance. Set node distance map in device tree will follow
+ * the ACPI's definition.
+ */
+#define NUMA_DISTANCE_UDF_MAX   9
+#define NUMA_LOCAL_DISTANCE     10
+#define NUMA_REMOTE_DISTANCE    20
+
 extern bool numa_disabled(void);
+extern void numa_set_distance(nodeid_t from, nodeid_t to,
+                              unsigned int distance);
 
 #else
 
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index eb5d0632cb..31332a6ea7 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -28,6 +28,11 @@ enum dt_numa_status {
 
 static enum dt_numa_status __ro_after_init device_tree_numa = DT_NUMA_DEFAULT;
 
+static unsigned char __ro_after_init
+node_distance_map[MAX_NUMNODES][MAX_NUMNODES] = {
+    [0 ... MAX_NUMNODES - 1] = { [0 ... MAX_NUMNODES - 1] = NUMA_NO_DISTANCE }
+};
+
 void __init numa_fw_bad(void)
 {
     printk(KERN_ERR "NUMA: device tree numa info table not used.\n");
@@ -48,3 +53,49 @@ int __init arch_numa_setup(const char *opt)
 {
     return -EINVAL;
 }
+
+void __init numa_set_distance(nodeid_t from, nodeid_t to,
+                              unsigned int distance)
+{
+    /*
+     * Since the NUMA device tree binding does not clearly specify the valid
+     * range of node distance, here we keep consistent with the ACPI, whose
+     * SLIT table uses 1 byte to describe the node distance. Hence node
+     * distances that cannot fit in 1 byte are invalid. Also, node distance
+     * 0-9 are undefined values.
+     * Reject all above-mentioned invalid distance values.
+     */
+    if ( (uint8_t)distance != distance || distance <= NUMA_DISTANCE_UDF_MAX )
+    {
+        printk(XENLOG_WARNING
+               "NUMA: invalid distance: from=%"PRIu8" to=%"PRIu8" distance=%u\n",
+               from, to, distance);
+        return;
+    }
+
+    node_distance_map[from][to] = distance;
+}
+
+unsigned char __node_distance(nodeid_t from, nodeid_t to)
+{
+    if ( from == to )
+        return NUMA_LOCAL_DISTANCE;
+
+    /*
+     * When NUMA is off, any distance will be treated as unreachable, so
+     * directly return NUMA_NO_DISTANCE from here as an optimization.
+     */
+    if ( numa_disabled() )
+        return NUMA_NO_DISTANCE;
+
+    /*
+     * Check whether the nodes are in the matrix range.
+     * When any node is out of range, except from and to nodes are the
+     * same (see above), we treat them as unreachable.
+     */
+    if ( from >= ARRAY_SIZE(node_distance_map) ||
+         to >= ARRAY_SIZE(node_distance_map[0]) )
+        return NUMA_NO_DISTANCE;
+
+    return node_distance_map[from][to];
+}
diff --git a/xen/arch/x86/include/asm/numa.h b/xen/arch/x86/include/asm/numa.h
index 7866afa408..45456ac441 100644
--- a/xen/arch/x86/include/asm/numa.h
+++ b/xen/arch/x86/include/asm/numa.h
@@ -22,7 +22,6 @@ extern void init_cpu_to_node(void);
 #define arch_want_default_dmazone() (num_online_nodes() > 1)
 
 void srat_parse_regions(paddr_t addr);
-extern u8 __node_distance(nodeid_t a, nodeid_t b);
 unsigned int arch_get_dma_bitsize(void);
 
 #endif
diff --git a/xen/arch/x86/srat.c b/xen/arch/x86/srat.c
index 3f70338e6e..e55a749ad5 100644
--- a/xen/arch/x86/srat.c
+++ b/xen/arch/x86/srat.c
@@ -324,7 +324,7 @@ unsigned int numa_node_to_arch_nid(nodeid_t n)
 	return 0;
 }
 
-u8 __node_distance(nodeid_t a, nodeid_t b)
+unsigned char __node_distance(nodeid_t a, nodeid_t b)
 {
 	unsigned index;
 	u8 slit_val;
diff --git a/xen/include/xen/numa.h b/xen/include/xen/numa.h
index 3e215db1ca..bb9a3d2591 100644
--- a/xen/include/xen/numa.h
+++ b/xen/include/xen/numa.h
@@ -114,6 +114,7 @@ extern bool numa_memblks_available(void);
 extern bool numa_update_node_memblks(nodeid_t node, unsigned int arch_nid,
                                      paddr_t start, paddr_t size, bool hotplug);
 extern void numa_set_processor_nodes_parsed(nodeid_t node);
+extern unsigned char __node_distance(nodeid_t a, nodeid_t b);
 
 #else
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636357.991775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRH-0000FL-Es; Mon, 20 Nov 2023 02:55:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636357.991775; Mon, 20 Nov 2023 02:55: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 1r4uRH-0000FC-Bg; Mon, 20 Nov 2023 02:55:07 +0000
Received: by outflank-mailman (input) for mailman id 636357;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRF-0007WE-Rj
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:05 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 3450e288-8750-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 03:55:04 +0100 (CET)
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 BA8631042;
 Sun, 19 Nov 2023 18:55:49 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 19D183F6C4;
 Sun, 19 Nov 2023 18:55:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3450e288-8750-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 04/17] xen/arm: use arch_get_ram_range to get memory ranges from bootinfo
Date: Mon, 20 Nov 2023 10:54:18 +0800
Message-Id: <20231120025431.14845-5-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

Implement the same helper "arch_get_ram_range" as x86 for NUMA
code to get memory bank from Arm bootinfo.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v2 -> v6:
- Rebase on top of staging without code changes.
v1 -> v2:
- Use arch_get_ram_range instead of arch_get_memory_map.
---
 xen/arch/arm/numa.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index 31332a6ea7..e9b2ec93bc 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -99,3 +99,14 @@ unsigned char __node_distance(nodeid_t from, nodeid_t to)
 
     return node_distance_map[from][to];
 }
+
+int __init arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
+{
+    if ( idx >= bootinfo.mem.nr_banks )
+        return -ENOENT;
+
+    *start = bootinfo.mem.bank[idx].start;
+    *end = *start + bootinfo.mem.bank[idx].size;
+
+    return 0;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636360.991785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRJ-0000bL-TW; Mon, 20 Nov 2023 02:55:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636360.991785; Mon, 20 Nov 2023 02:55: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 1r4uRJ-0000bA-Pd; Mon, 20 Nov 2023 02:55:09 +0000
Received: by outflank-mailman (input) for mailman id 636360;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRI-00081B-Vp
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:08 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 36992474-8750-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 03:55:08 +0100 (CET)
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 6935A1042;
 Sun, 19 Nov 2023 18:55:53 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id C49923F6C4;
 Sun, 19 Nov 2023 18:55:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36992474-8750-11ee-98df-6d05b1d4d9a1
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 05/17] xen/arm: build NUMA cpu_to_node map in dt_smp_init_cpus
Date: Mon, 20 Nov 2023 10:54:19 +0800
Message-Id: <20231120025431.14845-6-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

NUMA implementation has a cpu_to_node array to store CPU to NODE
map. Xen is using CPU logical ID in runtime components, so we
use CPU logical ID as CPU index in cpu_to_node.

In device tree case, cpu_logical_map is created in dt_smp_init_cpus.
So, when NUMA is enabled, dt_smp_init_cpus will fetch CPU NUMA id
at the same time for cpu_to_node.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v2 -> v6:
- Rebase on top of staging without code changes.
v1 -> v2:
- Use static inline to replace macros to perform
  function paramerters type check.
- Add numa_disabled to gate the numa-node-id check for
  CONFIG_NUMA on but numa disabled user case.
- Use macro instead of static inline function to stub
  numa_set_node.
---
 xen/arch/arm/include/asm/numa.h |  4 ++++
 xen/arch/arm/smpboot.c          | 36 +++++++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index 96c856a9f7..97d4a67dea 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -68,6 +68,10 @@ static inline bool arch_numa_broken(void)
     return true;
 }
 
+static inline void numa_set_node(unsigned int cpu, nodeid_t node)
+{
+}
+
 #endif
 
 #define arch_want_default_dmazone() (false)
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 5533aed455..81574ae0ad 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -119,7 +119,12 @@ static void __init dt_smp_init_cpus(void)
     {
         [0 ... NR_CPUS - 1] = MPIDR_INVALID
     };
+    static nodeid_t node_map[NR_CPUS] __initdata =
+    {
+        [0 ... NR_CPUS - 1] = NUMA_NO_NODE
+    };
     bool bootcpu_valid = false;
+    unsigned int nid = 0;
     int rc;
 
     mpidr = system_cpuinfo.mpidr.bits & MPIDR_HWID_MASK;
@@ -170,6 +175,28 @@ static void __init dt_smp_init_cpus(void)
             continue;
         }
 
+        if ( IS_ENABLED(CONFIG_NUMA) )
+        {
+            /*
+             * When CONFIG_NUMA is set, try to fetch numa infomation
+             * from CPU dts node, otherwise the nid is always 0.
+             */
+            if ( !dt_property_read_u32(cpu, "numa-node-id", &nid) )
+            {
+                printk(XENLOG_WARNING
+                       "cpu[%d] dts path: %s: doesn't have numa information!\n",
+                       cpuidx, dt_node_full_name(cpu));
+                /*
+                 * During the early stage of NUMA initialization, when Xen
+                 * found any CPU dts node doesn't have numa-node-id info, the
+                 * NUMA will be treated as off, all CPU will be set to a FAKE
+                 * node 0. So if we get numa-node-id failed here, we should
+                 * set nid to 0.
+                 */
+                nid = 0;
+            }
+        }
+
         /*
          * 8 MSBs must be set to 0 in the DT since the reg property
          * defines the MPIDR[23:0]
@@ -229,9 +256,13 @@ static void __init dt_smp_init_cpus(void)
         {
             printk("cpu%d init failed (hwid %"PRIregister"): %d\n", i, hwid, rc);
             tmp_map[i] = MPIDR_INVALID;
+            node_map[i] = NUMA_NO_NODE;
         }
         else
+        {
             tmp_map[i] = hwid;
+            node_map[i] = nid;
+        }
     }
 
     if ( !bootcpu_valid )
@@ -247,6 +278,11 @@ static void __init dt_smp_init_cpus(void)
             continue;
         cpumask_set_cpu(i, &cpu_possible_map);
         cpu_logical_map(i) = tmp_map[i];
+
+        nid = node_map[i];
+        if ( nid >= MAX_NUMNODES )
+            nid = 0;
+        numa_set_node(i, nid);
     }
 }
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636361.991795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRN-000163-8P; Mon, 20 Nov 2023 02:55:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636361.991795; Mon, 20 Nov 2023 02:55: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 1r4uRN-00015m-4V; Mon, 20 Nov 2023 02:55:13 +0000
Received: by outflank-mailman (input) for mailman id 636361;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRM-00081B-0t
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:12 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 38983935-8750-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 03:55:11 +0100 (CET)
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 E69BC1042;
 Sun, 19 Nov 2023 18:55:56 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 4E6503F6C4;
 Sun, 19 Nov 2023 18:55:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38983935-8750-11ee-98df-6d05b1d4d9a1
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 06/17] xen/arm: Add boot and secondary CPU to NUMA system
Date: Mon, 20 Nov 2023 10:54:20 +0800
Message-Id: <20231120025431.14845-7-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

In this patch, we make NUMA node online and add cpu to
its NUMA node. This will make NUMA-aware components
have NUMA affinity data to support their work.

To keep the mostly the same behavior of x86, we use
numa_detect_cpu_node to online node. The difference is that,
we have prepared cpu_to_node in dt_smp_init_cpus, so we don't
need to setup cpu_to_node in numa_detect_cpu_node.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v2 -> v6:
- Rebase on top of staging without code changes.
v1 -> v2:
- Use unsigned int instead of int for cpu id.
- Use static inline for stub to do type check.
---
 xen/arch/arm/include/asm/numa.h |  9 +++++++++
 xen/arch/arm/numa.c             | 10 ++++++++++
 xen/arch/arm/setup.c            |  5 +++++
 3 files changed, 24 insertions(+)

diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index 97d4a67dea..b04ace26db 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -35,6 +35,7 @@ typedef u8 nodeid_t;
 extern bool numa_disabled(void);
 extern void numa_set_distance(nodeid_t from, nodeid_t to,
                               unsigned int distance);
+extern void numa_detect_cpu_node(unsigned int cpu);
 
 #else
 
@@ -72,6 +73,14 @@ static inline void numa_set_node(unsigned int cpu, nodeid_t node)
 {
 }
 
+static inline void numa_add_cpu(unsigned int cpu)
+{
+}
+
+static inline void numa_detect_cpu_node(unsigned int cpu)
+{
+}
+
 #endif
 
 #define arch_want_default_dmazone() (false)
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index e9b2ec93bc..b5a87531f7 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -76,6 +76,16 @@ void __init numa_set_distance(nodeid_t from, nodeid_t to,
     node_distance_map[from][to] = distance;
 }
 
+void numa_detect_cpu_node(unsigned int cpu)
+{
+    nodeid_t node = cpu_to_node[cpu];
+
+    if ( node == NUMA_NO_NODE )
+        node = 0;
+
+    node_set_online(node);
+}
+
 unsigned char __node_distance(nodeid_t from, nodeid_t to)
 {
     if ( from == to )
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3f3a45719c..02bc887725 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1208,6 +1208,11 @@ void __init start_xen(unsigned long boot_phys_offset,
 
     for_each_present_cpu ( i )
     {
+        /* Detect and online node based on cpu_to_node[]. */
+        numa_detect_cpu_node(i);
+        /* Set up node_to_cpumask based on cpu_to_node[]. */
+        numa_add_cpu(i);
+
         if ( (num_online_cpus() < nr_cpu_ids) && !cpu_online(i) )
         {
             int ret = cpu_up(i);
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636364.991805 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRS-0001gl-Jg; Mon, 20 Nov 2023 02:55:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636364.991805; Mon, 20 Nov 2023 02:55: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 1r4uRS-0001ge-GF; Mon, 20 Nov 2023 02:55:18 +0000
Received: by outflank-mailman (input) for mailman id 636364;
 Mon, 20 Nov 2023 02: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRQ-0007WE-T3
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:16 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 3aba77dd-8750-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 03:55:15 +0100 (CET)
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 7AF451042;
 Sun, 19 Nov 2023 18:56:00 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D65DF3F6C4;
 Sun, 19 Nov 2023 18:55:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3aba77dd-8750-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 07/17] xen/arm: introduce a helper to parse device tree processor node
Date: Mon, 20 Nov 2023 10:54:21 +0800
Message-Id: <20231120025431.14845-8-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

Processor NUMA ID information is stored in device tree's processor
node as "numa-node-id". We need a new helper to parse this ID from
processor node. If we get this ID from processor node, this ID's
validity still need to be checked. Once we got a invalid NUMA ID
from any processor node, the device tree will be marked as NUMA
information invalid.

Since new helpers need to know the NUMA status, move the
enum dt_numa_status to the Arm NUMA header.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5 -> v6:
- Rebase on top of staging without code changes.
v3 -> v5:
- Rename "numa_device_tree.c" to "numa-dt.c".
v2 -> v3:
- Move the enum dt_numa_status to the Arm NUMA header.
- Update the year in copyright to 2023.
v1 -> v2:
- Move numa_disabled from fdt_numa_processor_affinity_init
  to fdt_parse_numa_cpu_node.
- Move invalid NUMA id check to fdt_parse_numa_cpu_node.
- Return ENODATA for normal dtb without NUMA info.
- Use NUMA status helpers instead of SRAT functions.
---
 xen/arch/arm/Makefile           |  1 +
 xen/arch/arm/include/asm/numa.h |  8 +++++
 xen/arch/arm/numa-dt.c          | 64 +++++++++++++++++++++++++++++++++
 xen/arch/arm/numa.c             |  8 +----
 4 files changed, 74 insertions(+), 7 deletions(-)
 create mode 100644 xen/arch/arm/numa-dt.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 86e0e47e22..6a4e7814b8 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -39,6 +39,7 @@ obj-y += mem_access.o
 obj-y += mm.o
 obj-y += monitor.o
 obj-$(CONFIG_NUMA) += numa.o
+obj-$(CONFIG_DEVICE_TREE_NUMA) += numa-dt.o
 obj-y += p2m.o
 obj-y += percpu.o
 obj-y += platform.o
diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index b04ace26db..2987158d16 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -22,6 +22,14 @@ typedef u8 nodeid_t;
  */
 #define NR_NODE_MEMBLKS NR_MEM_BANKS
 
+enum dt_numa_status {
+    DT_NUMA_DEFAULT,
+    DT_NUMA_ON,
+    DT_NUMA_OFF,
+};
+
+extern enum dt_numa_status device_tree_numa;
+
 /*
  * In ACPI spec, 0-9 are the reserved values for node distance,
  * 10 indicates local node distance, 20 indicates remote node
diff --git a/xen/arch/arm/numa-dt.c b/xen/arch/arm/numa-dt.c
new file mode 100644
index 0000000000..83601c83e7
--- /dev/null
+++ b/xen/arch/arm/numa-dt.c
@@ -0,0 +1,64 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Arm Architecture support layer for device tree NUMA.
+ *
+ * Copyright (C) 2023 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>
+#include <xen/nodemask.h>
+#include <xen/numa.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/device_tree.h>
+
+/* Callback for device tree processor affinity */
+static int __init fdt_numa_processor_affinity_init(nodeid_t node)
+{
+    numa_set_processor_nodes_parsed(node);
+    device_tree_numa = DT_NUMA_ON;
+
+    printk(KERN_INFO "DT: NUMA node %"PRIu8" processor parsed\n", node);
+
+    return 0;
+}
+
+/* Parse CPU NUMA node info */
+static int __init fdt_parse_numa_cpu_node(const void *fdt, int node)
+{
+    unsigned int nid;
+
+    if ( numa_disabled() )
+        return -EINVAL;
+
+    /*
+     * device_tree_get_u32 will return NUMA_NO_NODE when this CPU
+     * DT node doesn't have numa-node-id. This can help us to
+     * distinguish a bad DTB and a normal DTB without NUMA info.
+     */
+    nid = device_tree_get_u32(fdt, node, "numa-node-id", NUMA_NO_NODE);
+    if ( nid == NUMA_NO_NODE )
+    {
+        numa_fw_bad();
+        return -ENODATA;
+    }
+    else if ( nid >= MAX_NUMNODES )
+    {
+        printk(XENLOG_ERR "DT: CPU NUMA node id %u is invalid\n", nid);
+        numa_fw_bad();
+        return -EINVAL;
+    }
+
+    return fdt_numa_processor_affinity_init(nid);
+}
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index b5a87531f7..08e15ebbb0 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -20,13 +20,7 @@
 #include <xen/init.h>
 #include <xen/numa.h>
 
-enum dt_numa_status {
-    DT_NUMA_DEFAULT,
-    DT_NUMA_ON,
-    DT_NUMA_OFF,
-};
-
-static enum dt_numa_status __ro_after_init device_tree_numa = DT_NUMA_DEFAULT;
+enum dt_numa_status __ro_after_init device_tree_numa = DT_NUMA_DEFAULT;
 
 static unsigned char __ro_after_init
 node_distance_map[MAX_NUMNODES][MAX_NUMNODES] = {
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636365.991815 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRU-00023o-S5; Mon, 20 Nov 2023 02:55:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636365.991815; Mon, 20 Nov 2023 02:55: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 1r4uRU-00023Y-O6; Mon, 20 Nov 2023 02:55:20 +0000
Received: by outflank-mailman (input) for mailman id 636365;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRT-00081B-Fv
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:19 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 3ceb8858-8750-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 03:55:18 +0100 (CET)
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 12C541042;
 Sun, 19 Nov 2023 18:56:04 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 6E0F83F6C4;
 Sun, 19 Nov 2023 18:55:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ceb8858-8750-11ee-98df-6d05b1d4d9a1
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 08/17] xen/arm: introduce a helper to parse device tree memory node
Date: Mon, 20 Nov 2023 10:54:22 +0800
Message-Id: <20231120025431.14845-9-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

Memory blocks' NUMA ID information is stored in device tree's
memory nodes as "numa-node-id". We need a new helper to parse
and verify this ID from memory nodes.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5 -> v6:
- Rebase on top of staging without code changes.
v1 -> v5:
- Fix coding style: printk variable type and label indented.
- Move numa_disabled check to fdt_parse_numa_memory_node.
- Use numa_bad to replace bad_srat.
- Replace tabs by spaces.
- Align parameters.
- return ENODATA for a normal dtb without numa info.
- Use node id as dummy PXM for numa_update_node_memblks.
---
 xen/arch/arm/numa-dt.c | 89 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 89 insertions(+)

diff --git a/xen/arch/arm/numa-dt.c b/xen/arch/arm/numa-dt.c
index 83601c83e7..cebc7e4300 100644
--- a/xen/arch/arm/numa-dt.c
+++ b/xen/arch/arm/numa-dt.c
@@ -34,6 +34,26 @@ static int __init fdt_numa_processor_affinity_init(nodeid_t node)
     return 0;
 }
 
+/* Callback for parsing of the memory regions affinity */
+static int __init fdt_numa_memory_affinity_init(nodeid_t node,
+                                                paddr_t start, paddr_t size)
+{
+    if ( !numa_memblks_available() )
+    {
+        dprintk(XENLOG_WARNING,
+                "Too many NUMA entries, try bigger NR_NODE_MEMBLKS\n");
+        return -EINVAL;
+    }
+
+    numa_fw_nid_name = "numa-node-id";
+    if ( !numa_update_node_memblks(node, node, start, size, false) )
+        return -EINVAL;
+
+    device_tree_numa = DT_NUMA_ON;
+
+    return 0;
+}
+
 /* Parse CPU NUMA node info */
 static int __init fdt_parse_numa_cpu_node(const void *fdt, int node)
 {
@@ -62,3 +82,72 @@ static int __init fdt_parse_numa_cpu_node(const void *fdt, int node)
 
     return fdt_numa_processor_affinity_init(nid);
 }
+
+/* Parse memory node NUMA info */
+static int __init fdt_parse_numa_memory_node(const void *fdt, int node,
+                                             const char *name,
+                                             unsigned int addr_cells,
+                                             unsigned int size_cells)
+{
+    unsigned int nid;
+    int ret = 0, len;
+    paddr_t addr, size;
+    const struct fdt_property *prop;
+    unsigned int idx, ranges;
+    const __be32 *addresses;
+
+    if ( numa_disabled() )
+        return -EINVAL;
+
+    /*
+     * device_tree_get_u32 will return NUMA_NO_NODE when this memory
+     * DT node doesn't have numa-node-id. This can help us to
+     * distinguish a bad DTB and a normal DTB without NUMA info.
+     */
+    nid = device_tree_get_u32(fdt, node, "numa-node-id", NUMA_NO_NODE);
+    if ( node == NUMA_NO_NODE )
+    {
+        numa_fw_bad();
+        return -ENODATA;
+    }
+    else if ( nid >= MAX_NUMNODES )
+    {
+        printk(XENLOG_WARNING "Node id %u exceeds maximum value\n", nid);
+        goto invalid_data;
+    }
+
+    prop = fdt_get_property(fdt, node, "reg", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_WARNING
+               "fdt: node `%s': missing `reg' property\n", name);
+        goto invalid_data;
+    }
+
+    addresses = (const __be32 *)prop->data;
+    ranges = len / (sizeof(__be32)* (addr_cells + size_cells));
+    for ( idx = 0; idx < ranges; idx++ )
+    {
+        device_tree_get_reg(&addresses, addr_cells, size_cells, &addr, &size);
+        /* Skip zero size ranges */
+        if ( !size )
+            continue;
+
+        ret = fdt_numa_memory_affinity_init(nid, addr, size);
+        if ( ret )
+            goto invalid_data;
+    }
+
+    if ( idx == 0 )
+    {
+        printk(XENLOG_ERR
+               "bad property in memory node, idx=%u ret=%d\n", idx, ret);
+        goto invalid_data;
+    }
+
+    return 0;
+
+ invalid_data:
+    numa_fw_bad();
+    return -EINVAL;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636371.991825 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRc-0002px-4a; Mon, 20 Nov 2023 02:55:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636371.991825; Mon, 20 Nov 2023 02: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 1r4uRc-0002pk-1o; Mon, 20 Nov 2023 02:55:28 +0000
Received: by outflank-mailman (input) for mailman id 636371;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRb-0007WE-NI
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:27 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 4150dff3-8750-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 03:55:26 +0100 (CET)
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 77CE51042;
 Sun, 19 Nov 2023 18:56:11 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id D3AA53F6C4;
 Sun, 19 Nov 2023 18:55:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4150dff3-8750-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 10/17] xen/arm: unified entry to parse all NUMA data from device tree
Date: Mon, 20 Nov 2023 10:54:24 +0800
Message-Id: <20231120025431.14845-11-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

In this function, we scan the whole device tree to parse CPU node id,
memory node id and distance-map. Though early_scan_node will invoke
a handler to process memory nodes. If we want to parse memory node id
in that handler, we have to embed NUMA parse code in that handler.
But we still need to scan whole device tree to find CPU NUMA id and
distance-map. In this case, we include memory NUMA id parse in this
function too. Another benefit is that we have a unique entry for device
tree NUMA data parse.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5 -> v6:
- Rebase on top of staging without code changes.
v1 -> v5:
- Fix typos in commit message.
- Fix code style and align parameters.
- Use strncmp to replace memcmp.
---
 xen/arch/arm/include/asm/numa.h |  1 +
 xen/arch/arm/numa-dt.c          | 30 ++++++++++++++++++++++++++++++
 2 files changed, 31 insertions(+)

diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index 2987158d16..15308f5a36 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -44,6 +44,7 @@ extern bool numa_disabled(void);
 extern void numa_set_distance(nodeid_t from, nodeid_t to,
                               unsigned int distance);
 extern void numa_detect_cpu_node(unsigned int cpu);
+extern int numa_device_tree_init(const void *fdt);
 
 #else
 
diff --git a/xen/arch/arm/numa-dt.c b/xen/arch/arm/numa-dt.c
index 2fb6663e08..8198a0da2e 100644
--- a/xen/arch/arm/numa-dt.c
+++ b/xen/arch/arm/numa-dt.c
@@ -267,3 +267,33 @@ static int __init fdt_parse_numa_distance_map_v1(const void *fdt, int node)
     numa_fw_bad();
     return -EINVAL;
 }
+
+static int __init fdt_scan_numa_nodes(const void *fdt, int node,
+                                      const char *uname, int depth,
+                                      unsigned int address_cells,
+                                      unsigned int size_cells, void *data)
+{
+    int len, ret = 0;
+    const void *prop;
+
+    prop = fdt_getprop(fdt, node, "device_type", &len);
+    if ( prop )
+    {
+        if ( strncmp(prop, "cpu", len) == 0 )
+            ret = fdt_parse_numa_cpu_node(fdt, node);
+        else if ( strncmp(prop, "memory", len) == 0 )
+            ret = fdt_parse_numa_memory_node(fdt, node, uname,
+                                address_cells, size_cells);
+    }
+    else if ( fdt_node_check_compatible(fdt, node,
+                                        "numa-distance-map-v1") == 0 )
+        ret = fdt_parse_numa_distance_map_v1(fdt, node);
+
+    return ret;
+}
+
+/* Initialize NUMA from device tree */
+int __init numa_device_tree_init(const void *fdt)
+{
+    return device_tree_for_each_node(fdt, 0, fdt_scan_numa_nodes, NULL);
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636376.991835 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRu-00047T-Gf; Mon, 20 Nov 2023 02:55:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636376.991835; Mon, 20 Nov 2023 02:55: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 1r4uRu-000479-Bv; Mon, 20 Nov 2023 02:55:46 +0000
Received: by outflank-mailman (input) for mailman id 636376;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRX-00081B-1U
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:23 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 3f039905-8750-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 03:55:22 +0100 (CET)
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 9773E1042;
 Sun, 19 Nov 2023 18:56:07 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id F2F0F3F6C4;
 Sun, 19 Nov 2023 18:55:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f039905-8750-11ee-98df-6d05b1d4d9a1
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 09/17] xen/arm: introduce a helper to parse device tree NUMA distance map
Date: Mon, 20 Nov 2023 10:54:23 +0800
Message-Id: <20231120025431.14845-10-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

A NUMA aware device tree will provide a "distance-map" node to
describe distance between any two nodes. This patch introduce a
new helper to parse this distance map.

Note that, since the NUMA device tree binding does not explicitly
specify the range of valid node distance, hence rather than
rejecting node distance values >= 0xff, saturate the distance at
0xfe, while keeping 0xff for NUMA_NO_DISTANCE, so overall we can
keep things consistent with ACPI.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5 -> v6:
- Rebase on top of staging without code changes.
v1 -> v5:
- Fix coding style (printk variable type and label indented) and
  in-code comment.
- Check the from/to range to avoid the side-effect of the 8-bit
  truncation by numa_set_distance().
- The distance map default value is now NUMA_NO_DISTANCE, update
  the logic accordingly and add in-code comment as a note.
- Get rid of useless braces.
- Use new NUMA status helper.
- Use PRIu32 to replace u in print messages.
- Fix opposite = __node_distance(to, from).
- disable dtb numa info table when we find an invalid data in dtb.
---
 xen/arch/arm/numa-dt.c | 116 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 116 insertions(+)

diff --git a/xen/arch/arm/numa-dt.c b/xen/arch/arm/numa-dt.c
index cebc7e4300..2fb6663e08 100644
--- a/xen/arch/arm/numa-dt.c
+++ b/xen/arch/arm/numa-dt.c
@@ -151,3 +151,119 @@ static int __init fdt_parse_numa_memory_node(const void *fdt, int node,
     numa_fw_bad();
     return -EINVAL;
 }
+
+/* Parse NUMA distance map v1 */
+static int __init fdt_parse_numa_distance_map_v1(const void *fdt, int node)
+{
+    const struct fdt_property *prop;
+    const __be32 *matrix;
+    unsigned int i, entry_count;
+    int len;
+
+    printk(XENLOG_INFO "NUMA: parsing numa-distance-map\n");
+
+    prop = fdt_get_property(fdt, node, "distance-matrix", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_WARNING
+               "NUMA: No distance-matrix property in distance-map\n");
+        goto invalid_data;
+    }
+
+    if ( len % sizeof(__be32) != 0 )
+    {
+        printk(XENLOG_WARNING
+               "distance-matrix in node is not a multiple of u32\n");
+        goto invalid_data;
+    }
+
+    entry_count = len / sizeof(__be32);
+    if ( entry_count == 0 )
+    {
+        printk(XENLOG_WARNING "NUMA: Invalid distance-matrix\n");
+        goto invalid_data;
+    }
+
+    matrix = (const __be32 *)prop->data;
+    for ( i = 0; i + 2 < entry_count; i += 3 )
+    {
+        unsigned int from, to, distance, opposite;
+
+        from = dt_next_cell(1, &matrix);
+        to = dt_next_cell(1, &matrix);
+        distance = dt_next_cell(1, &matrix);
+
+        if ( from >= MAX_NUMNODES || to >= MAX_NUMNODES )
+        {
+            printk(XENLOG_WARNING "NUMA: invalid nodes: from=%u to=%u MAX=%u\n",
+                   from, to, MAX_NUMNODES);
+            goto invalid_data;
+        }
+
+        if ( (from == to && distance != NUMA_LOCAL_DISTANCE) ||
+             (from != to && distance <= NUMA_LOCAL_DISTANCE) )
+        {
+            printk(XENLOG_WARNING
+                   "NUMA: Invalid distance: NODE#%u->NODE#%u:%u\n",
+                   from, to, distance);
+            goto invalid_data;
+        }
+
+        printk(XENLOG_INFO "NUMA: distance: NODE#%u->NODE#%u:%u\n",
+               from, to, distance);
+
+        /* Get opposite way distance */
+        opposite = __node_distance(to, from);
+        /* The default value in node_distance_map is NUMA_NO_DISTANCE */
+        if ( opposite == NUMA_NO_DISTANCE )
+        {
+            /* Bi-directions are not set, set both */
+            numa_set_distance(from, to, distance);
+            numa_set_distance(to, from, distance);
+        }
+        else
+        {
+            /*
+             * Opposite way distance has been set to a different value.
+             * It may be a firmware device tree bug?
+             */
+            if ( opposite != distance )
+            {
+                /*
+                 * In device tree NUMA distance-matrix binding:
+                 * https://www.kernel.org/doc/Documentation/devicetree/bindings/numa.txt
+                 * There is a notes mentions:
+                 * "Each entry represents distance from first node to
+                 *  second node. The distances are equal in either
+                 *  direction."
+                 *
+                 * That means device tree doesn't permit this case.
+                 * But in ACPI spec, it cares to specifically permit this
+                 * case:
+                 * "Except for the relative distance from a System Locality
+                 *  to itself, each relative distance is stored twice in the
+                 *  matrix. This provides the capability to describe the
+                 *  scenario where the relative distances for the two
+                 *  directions between System Localities is different."
+                 *
+                 * That means a real machine allows such NUMA configuration.
+                 * So, place a WARNING here to notice system administrators,
+                 * is it the special case that they hijack the device tree
+                 * to support their rare machines?
+                 */
+                printk(XENLOG_WARNING
+                       "Un-matched bi-direction! NODE#%u->NODE#%u:%u, NODE#%u->NODE#%u:%u\n",
+                       from, to, distance, to, from, opposite);
+            }
+
+            /* Opposite way distance was set before, just set this way */
+            numa_set_distance(from, to, distance);
+        }
+    }
+
+    return 0;
+
+ invalid_data:
+    numa_fw_bad();
+    return -EINVAL;
+}
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636377.991839 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRu-0004B5-RL; Mon, 20 Nov 2023 02:55:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636377.991839; Mon, 20 Nov 2023 02:55: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 1r4uRu-0004AM-Lf; Mon, 20 Nov 2023 02:55:46 +0000
Received: by outflank-mailman (input) for mailman id 636377;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRi-0007WE-Tl
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:34 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 457dd832-8750-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 03:55:33 +0100 (CET)
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 8A6551042;
 Sun, 19 Nov 2023 18:56:18 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id E45863F6C4;
 Sun, 19 Nov 2023 18:55:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 457dd832-8750-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 12/17] xen/arm: enable device tree based NUMA in system init
Date: Mon, 20 Nov 2023 10:54:26 +0800
Message-Id: <20231120025431.14845-13-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

In this patch, we can start to create NUMA system that is
based on device tree.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5 -> v6:
- Rebase on top of staging without code changes.
v1 -> v5:
- Fix coding style: label indented by 1 space.
- replace ~0 by INVALID_PADDR.
- only print error messages for invalid dtb data.
- remove unnecessary return.
- remove the parameter of numa_init.
---
 xen/arch/arm/include/asm/numa.h |  5 +++
 xen/arch/arm/numa.c             | 57 +++++++++++++++++++++++++++++++++
 xen/arch/arm/setup.c            |  7 ++++
 3 files changed, 69 insertions(+)

diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index 15308f5a36..55ac4665db 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -45,6 +45,7 @@ extern void numa_set_distance(nodeid_t from, nodeid_t to,
                               unsigned int distance);
 extern void numa_detect_cpu_node(unsigned int cpu);
 extern int numa_device_tree_init(const void *fdt);
+extern void numa_init(void);
 
 #else
 
@@ -90,6 +91,10 @@ static inline void numa_detect_cpu_node(unsigned int cpu)
 {
 }
 
+static inline void numa_init(void)
+{
+}
+
 #endif
 
 #define arch_want_default_dmazone() (false)
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index 08e15ebbb0..13a167fc4f 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -18,7 +18,11 @@
  *
  */
 #include <xen/init.h>
+#include <xen/device_tree.h>
+#include <xen/nodemask.h>
 #include <xen/numa.h>
+#include <xen/pfn.h>
+#include <xen/acpi.h>
 
 enum dt_numa_status __ro_after_init device_tree_numa = DT_NUMA_DEFAULT;
 
@@ -104,6 +108,59 @@ unsigned char __node_distance(nodeid_t from, nodeid_t to)
     return node_distance_map[from][to];
 }
 
+void __init numa_init(void)
+{
+    unsigned int idx;
+    paddr_t ram_start = INVALID_PADDR;
+    paddr_t ram_size = 0;
+    paddr_t ram_end = 0;
+
+    /* NUMA has been turned off through Xen parameters */
+    if ( numa_off )
+        goto mem_init;
+
+    /* Initialize NUMA from device tree when system is not ACPI booted */
+    if ( acpi_disabled )
+    {
+        int ret = numa_device_tree_init(device_tree_flattened);
+        if ( ret )
+        {
+            numa_off = true;
+            if ( ret == -EINVAL )
+                printk(XENLOG_WARNING
+                       "Init NUMA from device tree failed, ret=%d\n", ret);
+        }
+    }
+    else
+    {
+        /* We don't support NUMA for ACPI boot currently */
+        printk(XENLOG_WARNING
+               "ACPI NUMA has not been supported yet, NUMA off!\n");
+        numa_off = true;
+    }
+
+ mem_init:
+    /*
+     * Find the minimal and maximum address of RAM, NUMA will
+     * build a memory to node mapping table for the whole range.
+     */
+    ram_start = bootinfo.mem.bank[0].start;
+    ram_size  = bootinfo.mem.bank[0].size;
+    ram_end   = ram_start + ram_size;
+    for ( idx = 1 ; idx < bootinfo.mem.nr_banks; idx++ )
+    {
+        paddr_t bank_start = bootinfo.mem.bank[idx].start;
+        paddr_t bank_size = bootinfo.mem.bank[idx].size;
+        paddr_t bank_end = bank_start + bank_size;
+
+        ram_size  = ram_size + bank_size;
+        ram_start = min(ram_start, bank_start);
+        ram_end   = max(ram_end, bank_end);
+    }
+
+    numa_initmem_init(PFN_UP(ram_start), PFN_DOWN(ram_end));
+}
+
 int __init arch_get_ram_range(unsigned int idx, paddr_t *start, paddr_t *end)
 {
     if ( idx >= bootinfo.mem.nr_banks )
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 02bc887725..01affc12d9 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1124,6 +1124,13 @@ void __init start_xen(unsigned long boot_phys_offset,
     /* Parse the ACPI tables for possible boot-time configuration */
     acpi_boot_table_init();
 
+    /*
+     * Try to initialize NUMA system, if failed, the system will
+     * fallback to uniform system which means system has only 1
+     * NUMA node.
+     */
+    numa_init();
+
     end_boot_allocator();
 
     /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636378.991846 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRv-0004Fv-AF; Mon, 20 Nov 2023 02:55:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636378.991846; Mon, 20 Nov 2023 02: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 1r4uRu-0004De-VA; Mon, 20 Nov 2023 02:55:46 +0000
Received: by outflank-mailman (input) for mailman id 636378;
 Mon, 20 Nov 2023 02: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRn-0007WE-I7
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:39 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 47d0901d-8750-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 03:55:36 +0100 (CET)
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 7B6381042;
 Sun, 19 Nov 2023 18:56:22 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id CE3183F6C4;
 Sun, 19 Nov 2023 18:55:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 47d0901d-8750-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 13/17] xen/arm: implement numa_node_to_arch_nid for device tree NUMA
Date: Mon, 20 Nov 2023 10:54:27 +0800
Message-Id: <20231120025431.14845-14-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

Device tree based NUMA doesn't have the proximity domain like
ACPI. So we can return node id directly as arch nid.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5 -> v6:
- Rebase on top of staging without code changes.
v1 -> v5:
- Use numa_node_to_arch_nid instead of dummy node_to_pxm.
---
 xen/arch/arm/include/asm/numa.h | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index 55ac4665db..71b95a9a62 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -47,6 +47,15 @@ extern void numa_detect_cpu_node(unsigned int cpu);
 extern int numa_device_tree_init(const void *fdt);
 extern void numa_init(void);
 
+/*
+ * Device tree NUMA doesn't have architecural node id.
+ * So we can just return node id as arch nid.
+ */
+static inline unsigned int numa_node_to_arch_nid(nodeid_t n)
+{
+    return n;
+}
+
 #else
 
 /* Fake one node for now. See also node_online_map. */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636379.991865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRw-0004wV-Uq; Mon, 20 Nov 2023 02:55:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636379.991865; Mon, 20 Nov 2023 02:55: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 1r4uRw-0004vJ-Ou; Mon, 20 Nov 2023 02:55:48 +0000
Received: by outflank-mailman (input) for mailman id 636379;
 Mon, 20 Nov 2023 02: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRq-0007WE-6A
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:42 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 49f8400a-8750-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 03:55:40 +0100 (CET)
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 16B701042;
 Sun, 19 Nov 2023 18:56:26 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 697E13F6C4;
 Sun, 19 Nov 2023 18:55:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 49f8400a-8750-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 14/17] xen/arm: use CONFIG_NUMA to gate node_online_map in smpboot
Date: Mon, 20 Nov 2023 10:54:28 +0800
Message-Id: <20231120025431.14845-15-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

node_online_map in smpboot is still needed for Arm when NUMA is
turned off by Kconfig.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v6:
- Rebase on top of staging without code changes.
---
 xen/arch/arm/smpboot.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 81574ae0ad..71f1717985 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -42,8 +42,10 @@ integer_param("maxcpus", max_cpus);
 /* CPU logical map: map xen cpuid to an MPIDR */
 register_t __cpu_logical_map[NR_CPUS] = { [0 ... NR_CPUS-1] = MPIDR_INVALID };
 
+#ifndef CONFIG_NUMA
 /* Fake one node for now. See also asm/numa.h */
 nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
+#endif
 
 /* Xen stack for bringing up the first CPU. */
 static unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636381.991871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uRx-00051a-Cw; Mon, 20 Nov 2023 02:55:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636381.991871; Mon, 20 Nov 2023 02: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 1r4uRx-0004zs-4S; Mon, 20 Nov 2023 02:55:49 +0000
Received: by outflank-mailman (input) for mailman id 636381;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRs-00081B-NW
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:44 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 4bf700e6-8750-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 03:55:43 +0100 (CET)
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 5D3131042;
 Sun, 19 Nov 2023 18:56:29 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 03E6D3F6C4;
 Sun, 19 Nov 2023 18:55:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4bf700e6-8750-11ee-98df-6d05b1d4d9a1
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>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v6 15/17] xen/arm: Set correct per-cpu cpu_core_mask
Date: Mon, 20 Nov 2023 10:54:29 +0800
Message-Id: <20231120025431.14845-16-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In the common sysctl command XEN_SYSCTL_physinfo, the cores_per_socket
is calculated based on the cpu_core_mask of CPU0. Currently on Arm
this is a fixed value 1 (can be checked via xl info), which is not
correct. This is because during the Arm cpu online process,
set_cpu_sibling_map() only sets the per-cpu cpu_core_mask for itself.

cores_per_socket refers to the number of cores that belong to the same
socket (NUMA node). Therefore, this commit introduces a helper function
numa_set_cpu_core_mask(cpu), which sets the per-cpu cpu_core_mask to
the cpus in the same NUMA node as cpu. Calling this function at the
boot time can ensure the correct cpu_core_mask, leading to the correct
cores_per_socket to be returned by XEN_SYSCTL_physinfo.

Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v6:
- Rebase on top of staging without code changes.
---
 xen/arch/arm/include/asm/numa.h |  7 +++++++
 xen/arch/arm/numa.c             | 11 +++++++++++
 xen/arch/arm/setup.c            |  5 +++++
 3 files changed, 23 insertions(+)

diff --git a/xen/arch/arm/include/asm/numa.h b/xen/arch/arm/include/asm/numa.h
index 71b95a9a62..d4c89909d0 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/arch/arm/include/asm/numa.h
@@ -46,6 +46,7 @@ extern void numa_set_distance(nodeid_t from, nodeid_t to,
 extern void numa_detect_cpu_node(unsigned int cpu);
 extern int numa_device_tree_init(const void *fdt);
 extern void numa_init(void);
+extern void numa_set_cpu_core_mask(int cpu);
 
 /*
  * Device tree NUMA doesn't have architecural node id.
@@ -62,6 +63,12 @@ static inline unsigned int numa_node_to_arch_nid(nodeid_t n)
 #define cpu_to_node(cpu) 0
 #define node_to_cpumask(node)   (cpu_online_map)
 
+static inline void numa_set_cpu_core_mask(int cpu)
+{
+    cpumask_or(per_cpu(cpu_core_mask, cpu),
+               per_cpu(cpu_core_mask, cpu), &cpu_possible_map);
+}
+
 /*
  * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
  * is required because the dummy helpers are using it.
diff --git a/xen/arch/arm/numa.c b/xen/arch/arm/numa.c
index 13a167fc4f..1ac2df37fc 100644
--- a/xen/arch/arm/numa.c
+++ b/xen/arch/arm/numa.c
@@ -52,6 +52,17 @@ int __init arch_numa_setup(const char *opt)
     return -EINVAL;
 }
 
+void numa_set_cpu_core_mask(int cpu)
+{
+    nodeid_t node = cpu_to_node[cpu];
+
+    if ( node == NUMA_NO_NODE )
+        node = 0;
+
+    cpumask_or(per_cpu(cpu_core_mask, cpu),
+               per_cpu(cpu_core_mask, cpu), &node_to_cpumask(node));
+}
+
 void __init numa_set_distance(nodeid_t from, nodeid_t to,
                               unsigned int distance)
 {
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 01affc12d9..af8631b6e5 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -1229,6 +1229,11 @@ void __init start_xen(unsigned long boot_phys_offset,
     }
 
     printk("Brought up %ld CPUs\n", (long)num_online_cpus());
+
+    /* Set per-cpu cpu_core_mask to cpus that belongs to the same NUMA node. */
+    for_each_online_cpu ( i )
+        numa_set_cpu_core_mask(i);
+
     /* TODO: smp_cpus_done(); */
 
     /* This should be done in a vpmu driver but we do not have one yet. */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 02:55:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 02:55:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636386.991885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4uS1-0005kJ-JX; Mon, 20 Nov 2023 02:55:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636386.991885; Mon, 20 Nov 2023 02:55: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 1r4uS1-0005k2-Fd; Mon, 20 Nov 2023 02:55:53 +0000
Received: by outflank-mailman (input) for mailman id 636386;
 Mon, 20 Nov 2023 02:55: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRe-00081B-IR
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:30 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 436af30b-8750-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 03:55:29 +0100 (CET)
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 0B83A1042;
 Sun, 19 Nov 2023 18:56:15 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 66AB63F6C4;
 Sun, 19 Nov 2023 18:55:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 436af30b-8750-11ee-98df-6d05b1d4d9a1
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 11/17] xen/arm: keep guest still be NUMA unware
Date: Mon, 20 Nov 2023 10:54:25 +0800
Message-Id: <20231120025431.14845-12-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

The NUMA information provided in the host Device-Tree
are only for Xen. For dom0, we want to hide them as they
may be different (for now, dom0 is still not aware of NUMA)
The CPU and memory nodes are recreated from scratch for the
domain. So we already skip the "numa-node-id" property for
these two types of nodes.

However, some devices like PCIe may have "numa-node-id"
property too. We have to skip them as well.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
v5 -> v6:
- Rebase on top of staging without code changes.
v1 -> v5:
- Add Rb
---
 xen/arch/arm/domain_build.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2dd2926b41..b738d16a40 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -1209,6 +1209,10 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
                 continue;
         }
 
+        /* Dom0 is currently NUMA unaware */
+        if ( dt_property_name_is_equal(prop, "numa-node-id") )
+            continue;
+
         res = fdt_property(kinfo->fdt, prop->name, prop_data, prop_len);
 
         if ( res )
@@ -2322,6 +2326,8 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
         DT_MATCH_TYPE("memory"),
         /* The memory mapped timer is not supported by Xen. */
         DT_MATCH_COMPATIBLE("arm,armv7-timer-mem"),
+        /* Numa info doesn't need to be exposed to Domain-0 */
+        DT_MATCH_COMPATIBLE("numa-distance-map-v1"),
         { /* sentinel */ },
     };
     static const struct dt_device_match timer_matches[] __initconst =
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 03:05:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 03:05:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636418.991904 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4ubc-0001Vz-OI; Mon, 20 Nov 2023 03:05:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636418.991904; Mon, 20 Nov 2023 03: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 1r4ubc-0001Vs-LZ; Mon, 20 Nov 2023 03:05:48 +0000
Received: by outflank-mailman (input) for mailman id 636418;
 Mon, 20 Nov 2023 03:05: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uS0-00081B-Br
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:52 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 50a606d5-8750-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 03:55:51 +0100 (CET)
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 350C11042;
 Sun, 19 Nov 2023 18:56:37 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 124773F6C4;
 Sun, 19 Nov 2023 18:55:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50a606d5-8750-11ee-98df-6d05b1d4d9a1
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@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: [PATCH v6 17/17] docs: update numa command line to support Arm
Date: Mon, 20 Nov 2023 10:54:31 +0800
Message-Id: <20231120025431.14845-18-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

Current numa command in documentation is x86 only. Remove
x86 from numa command's arch limitation in this patch.

Also add related entries in the SUPPORT.md and CHANGELOG.md.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v6:
- Add the CHANGELOG.md entry, drop Jan's Acked-by tag because
  of this.
---
 CHANGELOG.md                      | 1 +
 SUPPORT.md                        | 1 +
 docs/misc/xen-command-line.pandoc | 2 +-
 3 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c341c9d0bf..0467e2cca6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
  - On x86:
    - Introduce a new x2APIC driver that uses Cluster Logical addressing mode
      for IPIs and Physical addressing mode for external interrupts.
+ - On Arm, NUMA aware scheduling in Xen is supported (Tech Preview).
 
 ### Removed
 
diff --git a/SUPPORT.md b/SUPPORT.md
index fff4b4c5ba..b4f6fb5eb2 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -425,6 +425,7 @@ on embedded platforms and the x86 PV shim.
 Enables NUMA aware scheduling in Xen
 
     Status, x86: Supported
+    Status, Arm: Tech Preview
 
 ## Scalability
 
diff --git a/docs/misc/xen-command-line.pandoc b/docs/misc/xen-command-line.pandoc
index 8e65f8bd18..2c15bdd9ea 100644
--- a/docs/misc/xen-command-line.pandoc
+++ b/docs/misc/xen-command-line.pandoc
@@ -1944,7 +1944,7 @@ This option is ignored in **pv-shim** mode.
 ### nr_irqs (x86)
 > `= <integer>`
 
-### numa (x86)
+### numa
 > `= on | off | fake=<integer> | noacpi`
 
 > Default: `on`
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 03:05:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 03:05:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636411.991894 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4ubb-0001Gi-GS; Mon, 20 Nov 2023 03:05:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636411.991894; Mon, 20 Nov 2023 03: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 1r4ubb-0001Gb-DU; Mon, 20 Nov 2023 03:05:47 +0000
Received: by outflank-mailman (input) for mailman id 636411;
 Mon, 20 Nov 2023 03:05: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r4uRx-0007WE-5g
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 02:55:49 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 4e1f4068-8750-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 03:55:47 +0100 (CET)
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 02B0B1042;
 Sun, 19 Nov 2023 18:56:33 -0800 (PST)
Received: from a015966.shanghai.arm.com (a015966.shanghai.arm.com
 [10.169.190.5])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5DB443F6C4;
 Sun, 19 Nov 2023 18:55:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e1f4068-8750-11ee-9b0e-b553b5be7939
From: Henry Wang <Henry.Wang@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Chen <wei.chen@arm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Henry Wang <Henry.Wang@arm.com>
Subject: [PATCH v6 16/17] xen/arm: Provide Kconfig options for Arm to enable NUMA
Date: Mon, 20 Nov 2023 10:54:30 +0800
Message-Id: <20231120025431.14845-17-Henry.Wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Wei Chen <wei.chen@arm.com>

Arm platforms support both ACPI and device tree. We don't
want users to select device tree NUMA or ACPI NUMA manually.
We hope users can just enable NUMA for Arm, and device tree
NUMA and ACPI NUMA can be selected depends on device tree
feature and ACPI feature status automatically. In this case,
these two kinds of NUMA support code can be co-exist in one
Xen binary. Xen can check feature flags to decide using
device tree or ACPI as NUMA based firmware.

So in this patch, we introduce a generic option:
CONFIG_ARM_NUMA for users to enable NUMA for Arm.
And one CONFIG_DEVICE_TREE_NUMA option for ARM_NUMA
to select when HAS_DEVICE_TREE option is enabled.
Once when ACPI NUMA for Arm is supported, ACPI_NUMA
can be selected here too.

Signed-off-by: Wei Chen <wei.chen@arm.com>
Signed-off-by: Henry Wang <Henry.Wang@arm.com>
---
v5 -> v6:
- Rebase on top of staging without code changes.
v1 -> v5:
- Remove the condition of selecting DEVICE_TREE_NUMA.
---
 xen/arch/arm/Kconfig | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 2939db429b..5ce6b20cf2 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -80,6 +80,17 @@ config ARM_EFI
 	  UEFI firmware. A UEFI stub is provided to allow Xen to
 	  be booted as an EFI application.
 
+config ARM_NUMA
+	bool "Arm NUMA (Non-Uniform Memory Access) Support (UNSUPPORTED)" if UNSUPPORTED
+	depends on HAS_DEVICE_TREE
+	select DEVICE_TREE_NUMA
+	help
+	  Enable Non-Uniform Memory Access (NUMA) for Arm architecutres
+
+config DEVICE_TREE_NUMA
+	bool
+	select NUMA
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 06:22:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 06:22:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636432.991915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4xg1-0008W5-69; Mon, 20 Nov 2023 06:22:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636432.991915; Mon, 20 Nov 2023 06:22: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 1r4xg1-0008Vy-3U; Mon, 20 Nov 2023 06:22:33 +0000
Received: by outflank-mailman (input) for mailman id 636432;
 Mon, 20 Nov 2023 06:22: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r4xg0-0008Vs-9A
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 06:22:32 +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 2f4e364a-876d-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 07:22:31 +0100 (CET)
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 40FD61F74D;
 Mon, 20 Nov 2023 06:22: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 27C2E13912;
 Mon, 20 Nov 2023 06:22:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id /JJ2CCb7WmVSFQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 06:22: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: 2f4e364a-876d-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700461350; 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:autocrypt:autocrypt;
	bh=hp7oNuxjAK9fig6xl+k6Q19EBnit7bAB/9BppaK2TOw=;
	b=RSjefr7qrZzuD7/KOCwzw1MbW6CdkBjgP+eT1xYd49F/XxJMstHsQA0qMvXa93JdblrhjQ
	UwbaPXbliyr7QCNCk3pAPW3qJH3EK1qXElmEHr2vv+D/Ay3G+9CvKrohS0pkGowVxvCKld
	5qzLaVzXRj2aFjP/IbweXyqmA0tV5Ck=
Message-ID: <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com>
Date: Mon, 20 Nov 2023 07:22:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [linux-linus test] 183794: regressions - FAIL
Content-Language: en-US
To: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <osstest-183794-mainreport@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <osstest-183794-mainreport@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------He59u0SK0gzeb3R44XEdhOgd"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: ***
X-Spam-Score: 3.76
X-Spamd-Result: default: False [3.76 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[3];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 BAYES_HAM(-0.64)[82.49%];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 NEURAL_SPAM_SHORT(2.90)[0.965];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------He59u0SK0gzeb3R44XEdhOgd
Content-Type: multipart/mixed; boundary="------------HDXJMG0QK0Ik3mDZtZqN20l6";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com>
Subject: Re: [linux-linus test] 183794: regressions - FAIL
References: <osstest-183794-mainreport@xen.org>
In-Reply-To: <osstest-183794-mainreport@xen.org>

--------------HDXJMG0QK0Ik3mDZtZqN20l6
Content-Type: multipart/mixed; boundary="------------KYfeEtiy8fPD9RrrtRhhKSqM"

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

T24gMjAuMTEuMjMgMDM6MjEsIG9zc3Rlc3Qgc2VydmljZSBvd25lciB3cm90ZToNCj4gZmxp
Z2h0IDE4Mzc5NCBsaW51eC1saW51cyByZWFsIFtyZWFsXQ0KPiBodHRwOi8vbG9ncy50ZXN0
LWxhYi54ZW5wcm9qZWN0Lm9yZy9vc3N0ZXN0L2xvZ3MvMTgzNzk0Lw0KPiANCj4gUmVncmVz
c2lvbnMgOi0oDQo+IA0KPiBUZXN0cyB3aGljaCBkaWQgbm90IHN1Y2NlZWQgYW5kIGFyZSBi
bG9ja2luZywNCj4gaW5jbHVkaW5nIHRlc3RzIHdoaWNoIGNvdWxkIG5vdCBiZSBydW46DQo+
ICAgdGVzdC1hcm02NC1hcm02NC1leGFtaW5lICAgICAgOCByZWJvb3QgICAgICAgICAgICAg
ICAgICAgZmFpbCBSRUdSLiB2cy4gMTgzNzY2DQoNCkknbSBzZWVpbmcgdGhlIGZvbGxvd2lu
ZyBpbiB0aGUgc2VyaWFsIGxvZzoNCg0KTm92IDIwIDAwOjI1OjQxLjU4NjcxMiBbICAgIDAu
NTY3MzE4XSBrZXJuZWwgQlVHIGF0IA0KYXJjaC9hcm02NC94ZW4vLi4vLi4vYXJtL3hlbi9l
bmxpZ2h0ZW4uYzoxNjQhDQpOb3YgMjAgMDA6MjU6NDEuNTk4NzExIFsgICAgMC41NzQwMDJd
IEludGVybmFsIGVycm9yOiBPb3BzIC0gQlVHOiANCjAwMDAwMDAwZjIwMDA4MDAgWyMxXSBQ
UkVFTVBUIFNNUA0KDQpUaGUgcmVsYXRlZCBzb3VyY2UgY29kZSBsaW5lcyBpbiB0aGUga2Vy
bmVsIGFyZToNCg0KwrfCt8K3wrfCt8K3wrfCt2VyciA9IEhZUEVSVklTT1JfdmNwdV9vcChW
Q1BVT1BfcmVnaXN0ZXJfdmNwdV9pbmZvLCB4ZW5fdmNwdV9ucihjcHUpLA0KwrfCt8K3wrfC
t8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfC
tyAmaW5mbyk7DQrCt8K3wrfCt8K3wrfCt8K3QlVHX09OKGVycik7DQoNCkkgc3VzcGVjdCBj
b21taXQgMjBmM2I4ZWFmZTBiYSB0byBiZSB0aGUgY3VscHJpdC4NCg0KU3RlZmFubywgY291
bGQgeW91IHBsZWFzZSBoYXZlIGEgbG9vaz8NCg0KDQpKdWVyZ2VuDQo=
--------------KYfeEtiy8fPD9RrrtRhhKSqM
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------KYfeEtiy8fPD9RrrtRhhKSqM--

--------------HDXJMG0QK0Ik3mDZtZqN20l6--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVa+yUFAwAAAAAACgkQsN6d1ii/Ey9c
QAf8CwzkpPNtN+lgJJwaXpUB4ouVw0M8b3vL3pixjWkrr0rW5Cl0mWCFtz5wqRgT+tSv/2RyBV+3
BQ2wQWgRVSxK++m7PbGWzf3ycxbD4GiQxS8FN5wkavt8fUQP352DHUOlk9z4jp9/35/sjHkxUtwA
ZwKwJnmTNGsWHYhjXBSlCVhAxbcQvkOOLkISIArWolX/zylnZNVwI9kouHMoMBgCT8AfvFPk8vXu
E+a/nwv+C1Mae+wxiB2OrlB2uQ4WzQQbU8mzuVM9+TCL3hbhRVmSj2m756m1+/ZpSSqwm+5nm4ii
zz+pfhzEjYXAusq1XWBDYeL2VWnbqpd+PtZ9am8+Dg==
=/69v
-----END PGP SIGNATURE-----

--------------He59u0SK0gzeb3R44XEdhOgd--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 07:07:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 07:07:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636435.991925 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4yNW-0005gd-EP; Mon, 20 Nov 2023 07:07:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636435.991925; Mon, 20 Nov 2023 07:07: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 1r4yNW-0005gW-BZ; Mon, 20 Nov 2023 07:07:30 +0000
Received: by outflank-mailman (input) for mailman id 636435;
 Mon, 20 Nov 2023 07:07: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=F3F/=HB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r4yNV-0005g7-DG
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 07:07:29 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20607.outbound.protection.outlook.com
 [2a01:111:f400:fe59::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7334a343-8773-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 08:07:22 +0100 (CET)
Received: from MW4PR04CA0140.namprd04.prod.outlook.com (2603:10b6:303:84::25)
 by DS7PR12MB5935.namprd12.prod.outlook.com (2603:10b6:8:7e::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 07:07:18 +0000
Received: from CO1PEPF000042AA.namprd03.prod.outlook.com
 (2603:10b6:303:84:cafe::b0) by MW4PR04CA0140.outlook.office365.com
 (2603:10b6:303:84::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26 via Frontend
 Transport; Mon, 20 Nov 2023 07:07:18 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042AA.mail.protection.outlook.com (10.167.243.39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 07:07:17 +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.2507.34; Mon, 20 Nov
 2023 01:07:15 -0600
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.2507.34; Mon, 20 Nov
 2023 01:07:14 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Mon, 20 Nov 2023 01:07:13 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7334a343-8773-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kpQDOhKojxeJailGZTn2hUTMcHcWX8k7EAIBWuVbd54g29OQTvEPTE4sfVYlSNMO/6mtJPKbmo4kodf490PkQf9n07/1rxTiUqnQ73Kk1elIAmcReBugVegKkSxHGcgakwxUCPA67vHRWObDNv4hgz/2eSwFkr6vDXx0NFGK4QcpvHL53hyGP7GYi/YAI+HdWCt7XNzPoZv5V2ucblFn7JZdNJcUolEzvPF16w3IGl4KnPEEhB1R/qeq7pQFveE9iydPGZrHl0yavs4GS61ZSvNFOMoWtrWYFwz3P8Sfl+zVL9G2wOmygQL5or5CFoM+HbUbYWQ4vlD1jDYm2Sz5fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BYh1IDibsWIqHo7v72+Jzf4DCElzE2X9QKGgnPPDBjI=;
 b=k7SzM7zErTI/bdT/wgR+00hVROcq+J19MayCAApmAVe3pQwe84muEPfko/8y/hbFOejqOo4SfeDK1VyRjfmn/D8NnMkkThWAZiqPh6s3CZZXA6nWYNAChr9kIFTGTp7gIc1NYpAf1XDw7F1BZPnWOjar8vDn/Qui9ZW1s24TOmhvENQr/mmZxWv/sgHcVb78r5HeHvkTFRyfvFFi5Hddw5/zTme9bbtjKt39IIlsTeECJ0fF+2DcA9PJU4a4pG/NLyrcNy899YXlUuWDbwKL1E/tMzPSz+1BPWh44khGHvet6k0BOsTnkPJ7TqZkbjcOwkz+zZReqYBrJc71XU/GGA==
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 (0)
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=BYh1IDibsWIqHo7v72+Jzf4DCElzE2X9QKGgnPPDBjI=;
 b=NyPsfgvZV6wI5oJRMn1yKigyYZ1gAxEY1/1fq4SfzT6JNEVo6QtJeQf+fcUJcGqZ7ysAp2Yc5+QQjx6vgJD73VYXrCafkK154AbxPcPt2Ibbxw6nXGuMOf2aim+R8IOFxyxAUJ/UXydwcNxkC0y2/6QJAdXBaDVU7ig1r+xrxW8=
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: <bf4b9899-8efe-4270-b1d6-afb29e76d907@amd.com>
Date: Mon, 20 Nov 2023 08:07:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN v4 1/2] xen/arm32: head: Introduce
 enable_{boot,secondary}_cpu_mm()
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<jgrall@amazon.com>, <henry.wang@arm.com>
References: <20231117153101.2902792-1-ayan.kumar.halder@amd.com>
 <20231117153101.2902792-2-ayan.kumar.halder@amd.com>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231117153101.2902792-2-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AA:EE_|DS7PR12MB5935:EE_
X-MS-Office365-Filtering-Correlation-Id: e7cbb7ec-5f8e-4a12-c407-08dbe99754d4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gqNy6vRpjRu6px96lIlnCU0t5BcxnjFLx5VB+WP8H18Dmhv4JdtsZ6yHbqYy23KxyMlp9n2faezdW9zuxXQvXbXQaQztw07+PrwvEIc8LJNpi9jzhNQOhPYgBuoqxYbPDe5Awa02Iu5Mg0gUiMjfAc2yxlCPhB3csh8qjRpJYHX+LNfF6t73IZLmMSDXpid1Hr0pOpj8jxnkzGh17UUBRf2pVmOOZMUcipnCdRQTAyfNv6FG+JKNcmBUOnUwbYMqWT2a5nBcLuIwd2WpwIj5EvPxnISoO0huIX4rcvqPLp4rDwP8q+lH7Oi81JTUIkrY8X0t7ICimYkE7W1UaqEDg2ltrm+fQeTo37KomT5g+0J37FXIio2JVJkfIGsyhubMfYyfhty3KNzFJJpVLVOw9XxTS5sg8fhOTtwD8oGBcRe7mFPKAZTUaFTdr8kScFxsQdwFT5myUemNF1ubjAl48wGksknqaA85euniJ2HcfXB3zKRxY6hZntZbnf4bD+WnBEQfxbUwEIeaLlN9a4I9T5IdC7mnWv8biK8r1ffTHdsYUyn9yAQc9EKXfAHmwWcB7Tw9Qs9qzptelqTXg23JwLyRvq/liwqNa7ScRlGj1jDGkR/+QWg4tDbu0onv7Xd1tbSsQ951qD+2yV/HzKZB11fUVsBxX4lshI4xjEGGtpPM1z48pNsbuh9CLbIDK/CQupu27PLN3jn+xEZV8FZtCeCCIX1SQkAR5wkyjy6/AYTUzJ8Vh2Vva2kp5YpY4Whv8e2uJRV7AhfAemZnXf420RmpceUC4zhjJqm7gNsPD4zAqwOlMxPH+kDInHso0jrj
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:(13230031)(4636009)(39860400002)(346002)(136003)(376002)(396003)(230922051799003)(82310400011)(451199024)(64100799003)(1800799012)(186009)(46966006)(36840700001)(40470700004)(41300700001)(36756003)(40460700003)(2906002)(31696002)(44832011)(86362001)(5660300002)(81166007)(47076005)(40480700001)(356005)(2616005)(26005)(478600001)(83380400001)(336012)(426003)(82740400003)(8936002)(8676002)(4326008)(6666004)(316002)(53546011)(70206006)(54906003)(70586007)(16576012)(31686004)(110136005)(36860700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 07:07:17.1870
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e7cbb7ec-5f8e-4a12-c407-08dbe99754d4
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:
	CO1PEPF000042AA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB5935

Hi Ayan,

On 17/11/2023 16:31, Ayan Kumar Halder wrote:
> All the MMU related functionality have been clubbed together in
> enable_boot_cpu_mm() for booting primary cpu and enable_secondary_cpu_mm() for
> booting secondary cpus.
> This is done in preparation for moving the code related to MMU in MMU specific
> file and in order to support non MMU cpus in future.
> 
> This is based on d2f8df5b3ede ("xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm()").
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> Acked-by: Julien Grall <jgrall@amazon.com>
> ---
> 
> Changes from :-
> 
> v1 - 1. Added a proper commit message.
> 2. Some style and other fixes suggested in v1. 
> 
> v2 - 1. Updated the comment on top of enable_boot_cpu_mm() and
> enable_secondary_cpu_mm() ie mentioned the input and output registers.
> 2. Updated the comment inside enable_boot_cpu_mm().
> 
> v3 - 1. No changes.
> 
>  xen/arch/arm/arm32/head.S | 102 ++++++++++++++++++++++++++++++--------
>  1 file changed, 80 insertions(+), 22 deletions(-)
> 
[...]

> +
> +/*
> + * Enable mm (turn on the data cache and the MMU) for the boot CPU.
> + * The function will return to the virtual address provided in LR (e.g. the
> + * runtime mapping).
> + *
> + * Inputs:
> + *   r9 : paddr(start)
> + *   r10: phys offset
> + *   lr : Virtual address to return to.
> + *
> + * Output:
> + *   r12: Was a temporary mapping created?
> + *
> + * Clobbers r0 - r6
> + */
> +enable_boot_cpu_mm:
> +        mov   r6, lr
> +
> +        bl    create_page_tables
> +
> +        /* Address in the runtime mapping to jump to after the MMU is enabled */
> +        mov_w lr, 1f
> +        b     enable_mmu
> +1:
> +        /*
> +         * Prepare the fixmap. The function will return to the virtual address
> +         * requested by the caller.
> +         */
It seems like you did not handle my remark from v3. This comment should be moved above branch
to setup_fixmap.

> +        mov   lr, r6
> +
> +        b     setup_fixmap
> +ENDPROC(enable_boot_cpu_mm)
> +
>  /*
>   * Remove the 1:1 map from the page-tables. It is not easy to keep track
>   * where the 1:1 map was mapped, so we will look for the top-level entry


~Michal


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 07:16:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 07:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636438.991935 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4yVj-0007HY-8r; Mon, 20 Nov 2023 07:15:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636438.991935; Mon, 20 Nov 2023 07: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 1r4yVj-0007HR-45; Mon, 20 Nov 2023 07:15:59 +0000
Received: by outflank-mailman (input) for mailman id 636438;
 Mon, 20 Nov 2023 07: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=F3F/=HB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r4yVh-0007Fv-Na
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 07:15:57 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20604.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a49b930d-8774-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 08:15:55 +0100 (CET)
Received: from SN4PR0501CA0059.namprd05.prod.outlook.com
 (2603:10b6:803:41::36) by CY5PR12MB6429.namprd12.prod.outlook.com
 (2603:10b6:930:3b::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 07:15:51 +0000
Received: from SN1PEPF0002BA4F.namprd03.prod.outlook.com
 (2603:10b6:803:41:cafe::5c) by SN4PR0501CA0059.outlook.office365.com
 (2603:10b6:803:41::36) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16 via Frontend
 Transport; Mon, 20 Nov 2023 07:15:51 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF0002BA4F.mail.protection.outlook.com (10.167.242.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 07:15:51 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Mon, 20 Nov
 2023 01:15:50 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Mon, 20 Nov 2023 01:15:48 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a49b930d-8774-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gFoVutBphW+PFnsrNd2r1bEhz7E2CIK7kmjNbFjT48k1zIAsM8tC/Jd1EJWTgk/QyCbqxp4ZEFFEWChaBRdKwAk1x4i564pX2GnI2m/GExwokN5+xnuKmRyR+ECbVGyePmRDrJQ6n0aCSRj4YMQX8GHzFHfm/dVk7Zj1cTiZCwxnmVaqMKKF1GfJM+xUWZ6DLyDZ0rY0gzYmXgxrjx5WOseUKuRSZRblSf946zzEf5fE3nb4GR/xpRBDI/fsLLp4tUycyloW5nQyxsa3NJlAlHTs9fZRy8/OoyeoBNp5JAHVuxLXxX24MYFl1mEzyfoDwOp6Xuar8qnERvi5dxZBtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vrlQYgJHgK6HAxzYUY6qjs2fOwtmA1j64QxnoohF3/A=;
 b=InatV80tqZYqmzrOAGGiw3FAq/ciT4bDQPch08YJYtcXZObO4FvELsx2JMomeNmxk2yOprBwh08Cy8WpiEyaQIa8IC8Gt2Q0gGqb2qwKYT0iQ671kxtSdGdKw3VaWDOoCV9E963gLXyS6bkZTEcmN3OKjwDO/NrVwTsCs8a6emlCGWv17U5XIhr0/Oty1FRFa9CSGf241SoTAjEoT+EKkaS2kfl6lpxsBnKzjbx4fIsbZLVeEWpS7Bb8HQWiT8o3CL3vhzdwbCIDpkncfESngEML9B6+i8La8bQF1NPMLk+sBsl+K3vYeJNya8LT+u2OyGyOVUQb3sYMV4H4tMDUpQ==
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 (0)
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=vrlQYgJHgK6HAxzYUY6qjs2fOwtmA1j64QxnoohF3/A=;
 b=baumge+7UV8Y16nIUDBz1b/bo+ri5AlFvU6UddFhkgJGyAkbh39y3CUppRoXhD6b846xF1fXv75stIQ1TpnwJ4PpBTCX/2XCGkYbI0KQGecymhTFwfigGCoYQZkgSPkYFcOAQDrPBuWtgvPUkielktEC7CY1SIxGNXXzlR74eLY=
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: <8a1aba2d-a940-44ab-8dea-99f44e74eead@amd.com>
Date: Mon, 20 Nov 2023 08:15:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN v4 2/2] xen/arm32: head Split and move MMU-specific head.S
 to mmu/head.S
Content-Language: en-US
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
	<xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<jgrall@amazon.com>, <henry.wang@arm.com>
References: <20231117153101.2902792-1-ayan.kumar.halder@amd.com>
 <20231117153101.2902792-3-ayan.kumar.halder@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231117153101.2902792-3-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002BA4F:EE_|CY5PR12MB6429:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a1e9baa-d450-4891-1422-08dbe99886f5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1MU1AxmXVndGbdGJoq9ZCDqtXk3wj3qQhxx1zjxpAORid6JrPr767fm3yGWBBVWzy/a9iRmv4ZKAsMxs4T9VCCjMOra87mqGmE7/ClisIXhP2EE9ARQgEB/mO0qbVyVyXDSS8ZhRv1exIe7rgZL3cH0Bnuw491l7pilnEQ3jZ2hq1eykvk70VYFNGS8E3yyitlLVsYNbxh1ITgUSz9XzLWjWVDX+xKH4bVqWB96cmuhrK7hOEZRUHX6lNufi+XqZstEHu4hVEtDAT/K4TJwimX3hs+oixzSbPBvtMEyPsF1usRyzPnaCQE1zdApe5gS5NjWhZjFtFarWE7ZurwQ311dyo/rWSakdUY3LfQnMCSoLTS4TVpF232fW9y05H9f6zwBjusj5xEpe2OSmhQuEhV2PBlNXw5PH5UwFD5UVwybFvJdD9Gnqi7MdAw4+N3eWK7Zk8GqxUTPHGXLBSu5D50yGSI/2bBdf4T4qNFM94OKPsdZdaWoaMfDHpRcOCnpaZOrid7k/qJGAblLewIHZXMmdICoDiomstc0RelDJDrp4EcT5TUug8j7K25YN97mVGalVVTLPZwQG4I5e81V2w0dktbZnFIA6qmpvy0sUDPcDav7wkyne2vYFDxpW/LRI4wzoqW6zts2yh4X7lM7tI0fAIO6CgTq+ZJAQ1ORQsIDeXOvm1tab//GtglHxjFEAtpQt8lu4C8r8CFS7E8HTrLouHsE0I0tCqmiNIoNlkLOioHmoqkVyS09XgsrCxdYhyHyy23ZO/YqvuPaXTOJx6PjxSGDTf5UWlGZHw8F8Q9jqbEt9m/0OWdQCiqCP3ZlB7BfHuV9kk7mMecch/qgCuziqyfMEqJN+HId548Me+Lg=
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:(13230031)(4636009)(39860400002)(376002)(136003)(396003)(346002)(230922051799003)(230173577357003)(230273577357003)(1800799012)(451199024)(64100799003)(186009)(82310400011)(36840700001)(40470700004)(46966006)(4326008)(44832011)(2906002)(8676002)(31686004)(8936002)(41300700001)(26005)(2616005)(110136005)(70206006)(316002)(16576012)(70586007)(54906003)(53546011)(6666004)(5660300002)(426003)(36860700001)(478600001)(336012)(83380400001)(47076005)(40480700001)(81166007)(356005)(82740400003)(86362001)(31696002)(36756003)(40460700003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 07:15:51.0941
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a1e9baa-d450-4891-1422-08dbe99886f5
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:
	SN1PEPF0002BA4F.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6429

Hi Ayan,

On 17/11/2023 16:31, Ayan Kumar Halder wrote:
> The MMU specific code in head.S will not be used on MPU systems.
> Instead of introducing more #ifdefs which will bring complexity
> to the code, move MMU related code to mmu/head.S and keep common
> code in head.S. Two notes while moving:
>  - As "fail" in original head.S is very simple and this name is too
>    easy to be conflicted, duplicate it in mmu/head.S instead of
>    exporting it.
>  - Realigned ".macro ret" so that the alignment matches to the other
>    macros.
>  - Rename puts to asm_puts, putn to asm_putn (this denotes that the
>    macros are used within the context of assembly only).
>  - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm,
>    setup_fixmap, asm_puts, asm_putn  as they will be used externally.
> 
> Also move the assembly macros shared by head.S and mmu/head.S to
> macros.h.
> 
> This is based on 6734327d76be ("xen/arm64: Split and move MMU-specific head.S to mmu/head.S").
> 
> Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

with a few remarks...

> ---
> 
> Changes from v1 :-
> 
> 1. Added a commit message
> 2. Moved load_paddr to mmu/head.S
> 
> v2 :-
> 
> 1. Renamed puts to asm_puts and putn to asm_putn. Exported asm_putn().
> 2. Moved XEN_TEMPORARY_OFFSET to head.S.
> 3. Some style issues.
> 
> v3 :-
> 
> 1. Updated the comments on top of asm_puts() and asm_putn().
> 2. Removed some stubs.
> 3. PRINT() invokes asm_puts.
> 
>  xen/arch/arm/arm32/head.S               | 630 +-----------------------
>  xen/arch/arm/arm32/mmu/Makefile         |   1 +
>  xen/arch/arm/arm32/mmu/head.S           | 573 +++++++++++++++++++++
>  xen/arch/arm/include/asm/arm32/macros.h |  58 ++-
>  4 files changed, 638 insertions(+), 624 deletions(-)
>  create mode 100644 xen/arch/arm/arm32/mmu/head.S
> 
[...]

>  
> @@ -947,8 +335,6 @@ RODATA_STR(hex, "0123456789abcdef")
>  
>  ENTRY(early_puts)
>  init_uart:
> -puts:
> -putn:   mov   pc, lr
You removed putn, puts and even the return. Looking at the codebase, early_puts global makes no sense
and init_uart is only used within #ifdef. So I would expect the entire block to be removed.

>  
>  #endif /* !CONFIG_EARLY_PRINTK */
>  
> diff --git a/xen/arch/arm/arm32/mmu/Makefile b/xen/arch/arm/arm32/mmu/Makefile
> index b18cec4836..a8a750a3d0 100644
> --- a/xen/arch/arm/arm32/mmu/Makefile
> +++ b/xen/arch/arm/arm32/mmu/Makefile
> @@ -1 +1,2 @@
> +obj-y += head.o
>  obj-y += mm.o
> diff --git a/xen/arch/arm/arm32/mmu/head.S b/xen/arch/arm/arm32/mmu/head.S
> new file mode 100644
> index 0000000000..6d427328f3
> --- /dev/null
> +++ b/xen/arch/arm/arm32/mmu/head.S
> @@ -0,0 +1,573 @@
> +/* SPDX-License-Identifier: GPL-2.0-or-later */
> +/*
> + * xen/arch/arm/arm32/mmu/head.S
> + *
> + * Arm32 MMU specific start-of-day code.
> + */
> +
> +#include <asm/page.h>
> +#include <asm/early_printk.h>
> +
> +#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
> +#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
> +#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
> +#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
> +#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
> +
> +#define PT_UPPER(x) (PT_##x & 0xf00)
> +#define PT_LOWER(x) (PT_##x & 0x0ff)
> +
> +/* Convenience defines to get slot used by Xen mapping. */
> +#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
> +#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
> +
> +/* Offset between the early boot xen mapping and the runtime xen mapping */
> +#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
> +
> +.macro load_paddr rb, sym
> +        mov_w \rb, \sym
> +        add   \rb, \rb, r10
> +.endm
> +
> +/*
> + * Flush local TLBs
> + *
> + * @tmp: Scratch register
> + *
> + * See asm/arm32/flushtlb.h for the explanation of the sequence.
> + */
> +.macro flush_xen_tlb_local tmp
> +        dsb   nshst
> +        mcr   CP32(\tmp, TLBIALLH)
> +        dsb   nsh
> +        isb
> +.endm
> +
> +/*
> + * Enforce Xen page-tables do not contain mapping that are both
> + * Writable and eXecutables.
> + *
> + * This should be called on each secondary CPU.
> + */
> +.macro pt_enforce_wxn tmp
> +        mrc   CP32(\tmp, HSCTLR)
> +        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
> +        dsb
> +        mcr   CP32(\tmp, HSCTLR)
> +        /*
> +         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
> +         * before flushing the TLBs.
> +         */
> +        isb
> +        flush_xen_tlb_local \tmp
> +.endm
> +
> +/* 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 (physical
> + * address)
> + *
> + * ptbl:    table symbol where the entry will be created
> + * tbl:     physical address of the table to point to
> + * virt:    virtual address
> + * lvl:     page-table level
> + *
> + * Preserves \virt
> + * Clobbers \tbl, r1 - r3
> + *
> + * Note that \tbl and \virt should be in a register other than r1 - r3
> + */
> +.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
> +        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
> +        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
> +
> +        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
> +        orr   r2, r2, \tbl           /*           + \tbl paddr */
> +        mov   r3, #0
> +
> +        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
> +
> +        strd  r2, r3, [\tbl, r1]
> +.endm
> +
> +
NIT: too many blank lines

[...]
> diff --git a/xen/arch/arm/include/asm/arm32/macros.h b/xen/arch/arm/include/asm/arm32/macros.h
> index a4e20aa520..c41861efbe 100644
> --- a/xen/arch/arm/include/asm/arm32/macros.h
> +++ b/xen/arch/arm/include/asm/arm32/macros.h
> @@ -1,8 +1,62 @@
>  #ifndef __ASM_ARM_ARM32_MACROS_H
>  #define __ASM_ARM_ARM32_MACROS_H
>  
> -    .macro ret
> +.macro ret
>          mov     pc, lr
> -    .endm
> +.endm
>  
> +/*
> + * Move an immediate constant into a 32-bit register using movw/movt
> + * instructions.
> + */
> +.macro mov_w reg, word
> +        movw  \reg, #:lower16:\word
> +        movt  \reg, #:upper16:\word
> +.endm
> +
> +/*
> + * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
> + * within the range +/- 4GB of the PC.
> + *
> + * @dst: destination register
> + * @sym: name of the symbol
> + */
> +.macro adr_l, dst, sym
> +        mov_w \dst, \sym - .Lpc\@
> +        .set  .Lpc\@, .+ 8          /* PC bias */
> +        add   \dst, \dst, pc
> +.endm
> +
> +#ifdef CONFIG_EARLY_PRINTK
> +/*
> + * Macro to print a string to the UART, if there is one.
> + *
> + * Clobbers r0 - r3
> + */
> +#define PRINT(_s)           \
> +        mov   r3, lr       ;\
> +        adr_l r0, 98f      ;\
> +        bl    asm_puts     ;\
> +        mov   lr, r3       ;\
> +        RODATA_STR(98, _s)
> +
> +/*
> + * Macro to print the value of register \rb
> + *
> + * Clobbers r0 - r4
> + */
> +.macro print_reg rb
> +        mov   r0, \rb
> +        mov   r4, lr
> +        bl    asm_putn
> +        mov   lr, r4
> +.endm
> +
> +#else /* CONFIG_EARLY_PRINTK */
> +#define PRINT(s)
> +
> +.macro print_reg rb
> +.endm
> +
> +#endif /* !CONFIG_EARLY_PRINTK */
please add one blank line here to separate #endif's

>  #endif /* __ASM_ARM_ARM32_MACROS_H */

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 07:34:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 07:34:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636444.991945 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4yno-0001yr-T5; Mon, 20 Nov 2023 07:34:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636444.991945; Mon, 20 Nov 2023 07: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 1r4yno-0001yk-Q9; Mon, 20 Nov 2023 07:34:40 +0000
Received: by outflank-mailman (input) for mailman id 636444;
 Mon, 20 Nov 2023 07:34: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=F3F/=HB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r4ynm-0001ye-Vh
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 07:34:38 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41c8f472-8777-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 08:34:37 +0100 (CET)
Received: from DS7PR03CA0325.namprd03.prod.outlook.com (2603:10b6:8:2b::34) by
 DM4PR12MB5985.namprd12.prod.outlook.com (2603:10b6:8:68::19) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.27; Mon, 20 Nov 2023 07:34:34 +0000
Received: from DS3PEPF000099D4.namprd04.prod.outlook.com
 (2603:10b6:8:2b:cafe::c0) by DS7PR03CA0325.outlook.office365.com
 (2603:10b6:8:2b::34) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Mon, 20 Nov 2023 07:34:34 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099D4.mail.protection.outlook.com (10.167.17.5) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 07:34:34 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Mon, 20 Nov
 2023 01:34:26 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Mon, 20 Nov 2023 01:34:25 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 41c8f472-8777-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hY7t+mFjBI3o+XVNLecJsfzkHa4uHK7Qhd/XexeE9zrpvMO/3MvFXp9l0ljCENIO0HX7Bo6GtFSwfyFIee8GBzK/8s+3IlLVd7FE9OqAnEOXK5+tPCrFfcGj3K3m6VfDIQKofbL1O9JT1w28HL21J3FxmEzlCTtvpu1dCjqUQXEj8ieh8VNqZ7SztCL7zu15Bt/8aByItu+DYxt4hvcY3myLo4WvD66NVlUM1sndRi/bWPQlGrVLu0q8ZhEZq2+6uRvAI8Ix4Ds3ihBsxH71R9pckuh9LGHkDF0h6LwvykmuWT+4TdjEzxlDRis929Oqon80VK75eTEp98KLcT9OJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HxNXROpp6Yr6TpmKCw02pnJ6EfJVhlWKWgezcYGVpGo=;
 b=dk5zYf8iPSHds84AhgOd826iEQp2ZLAWhFa7uVULPjX0O4sP0lWSA4yTmEHN9HUmpcE1LrtjrQURamyZgbzHE9uE/IMiUEwJvIQ890N/CQuCca5x1csNCX3uapT0yGX10nCjouQU+BBF4L0N8m+VHA4mBq/I2AwqeipmmFi3dMWmrMNSABUYiI+nU/6wIUhV7fNpKL+AFa11wHSu/NZB30jTqWstu0QTJF+S3ycp/sEQAMDoy90R0jmSj7HuNk4qeJOp8sSJDlXhbsUdXM3SjA9FOPAkY5QO0kGBgwaszBFVzAEOEjky3gqkypJNgNC4pzEQZGdhImoGhXFBbkHlVw==
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 (0)
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=HxNXROpp6Yr6TpmKCw02pnJ6EfJVhlWKWgezcYGVpGo=;
 b=C6fl7l8YLsXLJRTjUcSNMaF7xzZHBpxV/Pbhst4v0iEVCHUf1zUODWcYhzT4mfXW4yyabOmLzmG07b3oytNpNp9xKxDulfVLp71Igu7SyNYc6FFfDJENJZyS78y8CxQLS9hU6WgefufFSmR5V87hrw5kmJHJjFy78ZJe5zJ8zLM=
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: <98980da0-2940-43d2-a6c1-e064f4921e74@amd.com>
Date: Mon, 20 Nov 2023 08:34:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: <rahul.singh@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
 <20231114090356.875180-4-luca.fancellu@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231114090356.875180-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099D4:EE_|DM4PR12MB5985:EE_
X-MS-Office365-Filtering-Correlation-Id: 9db7ab7d-bbdf-4f7f-0315-08dbe99b245a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OL+KUMC5lWRuA0TIMUnBT0SIuvVobMvOz7Yk/nZp67M7tbilhOh0brv5xwO4YPRDdi7RL0iCbdtcHJwDHPau6iHH32hMgj/e+HvBIwhyrY1cjNnOtnQz9yAE4QZ71z8l4ufJnB2hIl9xfMoeIWVtIeQtrhF7pXk2KsPkKcT/ZeJX5lXNWh8ek8As1D0TyEEQ1qk0o8d1wL7B7RL5tZbc0SN6pfX3EmnBRQbnIgKDEcziLh+HKlU/aYjCKDZSRj6EThzBmP+ztR78UuhK+x9bx7DYV/VBA3EU46wLEFTz/LzqHyg0lgInbXCn68vTbAMDnRNKJZvmvGn9/9ZnJRfSARqo1gx5O9CWa97NSH4UWUNA4+dg27oPL2kzmVAQHwKDUYG1FT7ul7kAfMdaGYbsiD7Gl/i5TCFISO9jhZBlV6gtfWOwq8FPrXVbZOP9A6fFjcXCDqGWcRUHoWMtbDE0674hhqL6bhrXOaqX+YYuHEiNSMRUiqTVPsutqYPz+OvWiTnfh4WIpaTEq3dlTOvNk5j32j09Xep0+vWK1lY0EzKWLx+OpOD+41rV7votFGjYNoyR1fixg/6XTxgdR2rfUqIoaziUYWzxmD07oXRAtiUwRm6KLxlndihqhySWx+0dfJFlPhFmt55krmQYpyd3T8Uog09bCb+J1I70wsuY35TSj33S84jEzoTDkE3BCNrLzz3115+Bfho8VIoW7y8AUgEhvcKuQComUkTc3TLwkig6VXVkdp7etECBgP6Jmx2GYZaHPIc/PqCIwhsanJ7HhbisWK5OC8iUEql9Gscbxn+F26LwDKzegoUahaCHp42kXYrCdDqG4hYoFF96v+A7FDlor3rK4RdNlRkYurZ/XkaHw94ENvvhN34uCLMxJxvnIxq+ajNvdqPqE83jKSkgG2NqFeVgH+FnRvafS+0EZxE=
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:(13230031)(4636009)(396003)(136003)(376002)(39860400002)(346002)(230273577357003)(230173577357003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(82310400011)(40470700004)(46966006)(36840700001)(36860700001)(40480700001)(31686004)(478600001)(316002)(16576012)(82740400003)(8936002)(8676002)(4326008)(26005)(2616005)(426003)(336012)(110136005)(70586007)(70206006)(54906003)(53546011)(356005)(81166007)(83380400001)(47076005)(44832011)(5660300002)(2906002)(31696002)(40460700003)(41300700001)(86362001)(36756003)(32563001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 07:34:34.1357
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9db7ab7d-bbdf-4f7f-0315-08dbe99b245a
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:
	DS3PEPF000099D4.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5985

Hi Luca,

On 14/11/2023 10:03, Luca Fancellu wrote:
> 
> 
> Currently the dom0less feature code is mostly inside domain_build.c
> and setup.c, it is a feature that may not be useful to everyone so
> put the code in a different compilation module in order to make it
> easier to disable the feature in the future.
> 
> Move gic_interrupt_t in domain_build.h to use it with the function
> declaration, move its comment above the declaration.
> 
> The following functions are now visible externally from domain_build
> because they are used also from the dom0less-build module:
>  - get_allocation_size
>  - set_interrupt
>  - domain_fdt_begin_node
>  - make_memory_node
>  - make_resv_memory_node
>  - make_hypervisor_node
>  - make_psci_node
>  - make_cpus_node
>  - make_timer_node
>  - handle_device_interrupts
>  - construct_domain
>  - process_shm
>  - allocate_bank_memory
> 
> The functions allocate_static_memory and assign_static_memory_11
> are now externally visible, so put their declarations into
> domain_build.h and move the #else and stub definition in the header
> as well.
> 
> Move is_dom0less_mode from setup.c to dom0less-build.c and make it
> externally visible.
> 
> The function allocate_bank_memory is used only by dom0less code
> at the moment, but it's been decided to leave it in domain_build.c
> in case that in the future the dom0 code can use it.
> 
> Where spotted, fix code style issues.
> 
> No functional change is intended.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

with one remark...

> ---
> Changes from v4:
>  - fixed name in inclusion macro __ASM_* instead of __ARM_*, fixed
>    emacs local variable 'end:', style fix (Michal)
> Changes from v3:
>  - remove header in dom0less-build.c (Michal)
> Changes from v2:
>  - move allocate_bank_memory back in domain_build.c, remove header
>    from dom0less-build.c.
> ---
>  xen/arch/arm/Makefile                     |    1 +
>  xen/arch/arm/dom0less-build.c             | 1018 +++++++++++++++++
>  xen/arch/arm/domain_build.c               | 1265 +++------------------
>  xen/arch/arm/include/asm/dom0less-build.h |   20 +
>  xen/arch/arm/include/asm/domain_build.h   |   60 +
>  xen/arch/arm/include/asm/setup.h          |    1 -
>  xen/arch/arm/setup.c                      |   33 +-
>  7 files changed, 1240 insertions(+), 1158 deletions(-)
>  create mode 100644 xen/arch/arm/dom0less-build.c
>  create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
> 

[...]
> diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
> new file mode 100644
> index 000000000000..81446cbd8bf3
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/dom0less-build.h
> @@ -0,0 +1,20 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ASM_DOM0LESS_BUILD_H_
> +#define __ASM_DOM0LESS_BUILD_H_
> +
> +#include <asm/kernel.h>
No need for this include, especially if you are removing it in the subsequent patch.
This could be done on commit (+ there is a conflcit between your series and Henry's mmu/mpu split)

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 07:49:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 07:49:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636452.991955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4z2S-0004Wq-5I; Mon, 20 Nov 2023 07:49:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636452.991955; Mon, 20 Nov 2023 07: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 1r4z2S-0004Wj-1C; Mon, 20 Nov 2023 07:49:48 +0000
Received: by outflank-mailman (input) for mailman id 636452;
 Mon, 20 Nov 2023 07:49: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=F3F/=HB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r4z2Q-0004Wd-7d
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 07:49:46 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e89::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c0fd8ac-8779-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 08:49:41 +0100 (CET)
Received: from MN2PR10CA0022.namprd10.prod.outlook.com (2603:10b6:208:120::35)
 by CH3PR12MB7545.namprd12.prod.outlook.com (2603:10b6:610:146::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 07:49:38 +0000
Received: from BL02EPF0001A106.namprd05.prod.outlook.com
 (2603:10b6:208:120:cafe::f7) by MN2PR10CA0022.outlook.office365.com
 (2603:10b6:208:120::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Mon, 20 Nov 2023 07:49:38 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0001A106.mail.protection.outlook.com (10.167.241.139) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 07:49:37 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Mon, 20 Nov
 2023 01:49:33 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Mon, 20 Nov 2023 01:49:31 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c0fd8ac-8779-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EU7XJ85k+y/AOAC6d1450cZkGxuvubZatieNPeIvJPE7E4jUBupzYkMwJdhmyPWua3kwYj+RrbDRiy14K4Hwz0EcrOYXTvV1JlsjD3XAHLFffa2w1fKYeW8YVc29/SyKgn+n2Nkj2ElBZ+GwLIUXGHRqK3yE/miiKJh4hNpjPg1Dtt0zldcAB7kg0+nfghjLXQEjF3wFMqu2oUcv2AzESJwmxpsoag9kDbRXB4ivLzd/OsdmyhOMPm5299nBq4XVXuiHFLPg4URMSKP7Vce9aTkNNwbsyDIiSIemBtYfTpYSEjYEA9wEWYgT/bos9uvO/O1aFJgGxBXF+Yn+VFM+SQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4AuotxSbapKYbp98PnuCWjuafLs1kWLuSEFZvD5mdso=;
 b=FmtlZN0GlM3cRtnMz4Qcm6JdtPFJ7BQGoxIeYdCe0A2TkYr2CWVe9XCcZrsVjhfjqunrwpya9RLZ68Ha3P+YoxHpfffTs0KoaYyiyvKOJ3a/5HJcIzx0kCxg7n7lX3/5ogOG/wsWtQVYWpC7hEa2dKQroqYrASTdBIH/4csfVxPFv9D7h5WghIZkawhulTOh1U1I7NfsquxU9VNOJH+/eGrwk2aC0x2DAgFot0GFL49f4vIaVHd6cQ99nQoq0BRimktohWlBpH4128Xcy5zdKGPwow6JWPdgyuzji8f5ISyQRf3wjAUce92e6JOSuiUDOwMFTSKPYSpbpRW90vJzsA==
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 (0)
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=4AuotxSbapKYbp98PnuCWjuafLs1kWLuSEFZvD5mdso=;
 b=PJpEsl40P9KF8DB4RJVb4ze6dJZMrle/iv0K7qORvuaGivmGzMQVzNZn+4CTgllFkV/ET32ByLjXB9LiDwSXpEmF+SM6Kp1RVfugwAGCzXdbzPp/I9ITgPE3EgmzWYK9jW4kmo8NJYi05fW10KwLGVB8LA+HZ2zDoXh3TSflFSI=
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: <3ebf0bab-29ae-46dc-a110-acb1e90370cc@amd.com>
Date: Mon, 20 Nov 2023 08:49:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 4/5] xen/arm: Move static memory build code in separate
 modules
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: <rahul.singh@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
 <20231114090356.875180-5-luca.fancellu@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231114090356.875180-5-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A106:EE_|CH3PR12MB7545:EE_
X-MS-Office365-Filtering-Correlation-Id: 62792bcd-6ce9-4964-bfc9-08dbe99d3efc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HxCMlfGG1Jm5vxLfpUOQiuDjXhRcLRR2Jue/1PQu0021godrJ5394QkuBksidltx/t/oTZCorj7OUB/W3O5r+NVy/RntqJbjwzALoWB8urPLcojmS83JYZuSR7PlN0yxi+nQi68NfwxmbRzkWe9DVdbtIjhrqIfIMjvbxmTE5lO0wek+7fsK8EOssaXV9G0rIpQoR905XEctVgsexvqNk3ObXQJEeZcLsvh1wzgzKYVHTZLqnY+kFWn1yvVdTf9eCxc12JGKM6CVrUOWeWidK+tTL7PUVM9nlYOCffAYEn6kga/d/w+eG9+dxRiJPra+/VaRCa5I5gRSuhcj1g05GR0uxMHlc2WEl0cd3EvcpzIWCrKbvwhJ23vWFRGDlqkR97af6EHFFpY4A4G4pLo2qf6/oRya1etr3imgiovM5X+5mxEkfAV8GKpUZykbL9cyEQR9ObZKKpV5dDBWIX0bMZElFMXGjYTmtxhOtsMtj0hRlz06hwCU1pNIFNGHU4QNDS8ZU67yX6kW96MLs7uE0MmSPfKx1GZQl31jyXyiLJdkMWfzMqFnXpHDhDZCvFVMtPQCSuhd2CyYT+RLYvcz9ROOxb4r9CJGpOVf8j/PfEXHtTE1P+5DGtEYmsAwoXQmK1UzPexdahBDGwKF9WRNP/VreAMG4ocjbYofxop46qPjB4TbV8psQ0T3qY6lUPERnZla6ayrkS3r+2eC6eI4YExYqTeNRfjtb+w//MYBWGEbPyEHL6L6TEVt9YieqB8vPDqOt0zAsCD7jfK26Ape6/p3tM+IKe/glK7wwUvhtRqGFUMzB8mZndKaFjD3nrmnXaqlapkdUsUc6UjS1Osv2wMwjc5fcuD0j7ulaJRIEnM=
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:(13230031)(4636009)(136003)(376002)(396003)(39860400002)(346002)(230922051799003)(230273577357003)(230173577357003)(186009)(451199024)(64100799003)(1800799012)(82310400011)(46966006)(36840700001)(40470700004)(40480700001)(81166007)(356005)(478600001)(2616005)(53546011)(426003)(336012)(82740400003)(26005)(316002)(70206006)(70586007)(110136005)(47076005)(16576012)(31686004)(54906003)(36860700001)(8936002)(4326008)(8676002)(44832011)(40460700003)(31696002)(5660300002)(4744005)(2906002)(41300700001)(86362001)(36756003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 07:49:37.8477
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 62792bcd-6ce9-4964-bfc9-08dbe99d3efc
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:
	BL02EPF0001A106.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7545

Hi Luca,

On 14/11/2023 10:03, Luca Fancellu wrote:
> 
> 
> Move static memory and static shared memory code in separate modules
> so that they are included only when the corresponding feature is
> enabled, doing that we modularise the features and we remove some
> ifdefs from the code to improve readability.
> 
> Move process_shm_node function from bootfdt module and make it
> externally visible.
> 
> A static inline helper called process_shm_chosen is introduced, it
> will call the process_shm function for the '/chosen' node, and will
> be used by the function construct_dom0 instead of using directly
> process_shm, allowing some #ifdef to be removed.
> 
> No functional changes are intended.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 07:58:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 07:58:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636458.991965 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4zAc-0006bs-VE; Mon, 20 Nov 2023 07:58:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636458.991965; Mon, 20 Nov 2023 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 1r4zAc-0006bl-Rp; Mon, 20 Nov 2023 07:58:14 +0000
Received: by outflank-mailman (input) for mailman id 636458;
 Mon, 20 Nov 2023 07:58: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=F3F/=HB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r4zAc-0006bc-C4
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 07:58:14 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e88::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d202c07-877a-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 08:58:12 +0100 (CET)
Received: from SN6PR04CA0104.namprd04.prod.outlook.com (2603:10b6:805:f2::45)
 by DS7PR12MB9043.namprd12.prod.outlook.com (2603:10b6:8:db::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.26; Mon, 20 Nov 2023 07:58:08 +0000
Received: from SA2PEPF0000150B.namprd04.prod.outlook.com
 (2603:10b6:805:f2:cafe::88) by SN6PR04CA0104.outlook.office365.com
 (2603:10b6:805:f2::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Mon, 20 Nov 2023 07:58:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF0000150B.mail.protection.outlook.com (10.167.242.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 07:58:07 +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.2507.34; Mon, 20 Nov
 2023 01:58:05 -0600
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.2507.34; Mon, 20 Nov
 2023 01:58:05 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Mon, 20 Nov 2023 01:58:03 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d202c07-877a-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cbj7UXL755CoYwDLy0GZZnv9LdwJDMxgVLQOckEJ5VWF1l73ZSoOqq3MCSTrrjqEpf671mgFieTjHSLhSXPIfXwhs1sEL73f8g37LQjGYuHVMxC1w8+EHTlCYpViMJ608yIfLv/mcAEhkmKt4vDLHxirIcTTldgQylHKWipfHV6bLog6r9GoVJjUhwSFKD+MYR8zOSuZXGUf59YPMDkgaxjbxvOJCGWPo0wOJI+yOjJ4fKFzv3i8I4rV7CDnRpM7AGvs6DbjG6kU2fSKU/Q8yfjHudYaUwt0g1tUr40oZu6eyot5nDhcGliTwG0NGi+SwMzsRdPk1fDHBF+QZX9DDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UvnnBIcGJMlVnNU94MsLDXFsQVOZRs1zLCCsa9ez5xE=;
 b=dtAWNzt0dSfxpVybsbx5S8SKuohPoQJBJbHHwOrAr5RCvMGjxz+GCWsZKHqgtyYcuSgT5R+T7fSW3Jk4dGLM8Egp+sy5adU3eojavJGmOMcf/05SZJ95u12zgoQkWNQO1/jbhRbX17yRRJkBVxL0Vd5GY865G22lWT6LumWVJxTQmC/RNRlvuHjhMqX1JUe91J1j05DAOWMOhmO8EIhhaWpjzAn5mPZHTjnvEeRNGplyvoRF/dai0tix7G9WBp050CI3tqroWesVTe4r9CSsptnjEjlH8tZYblfBT+5603bZVxG3mQSDHAI9MVXqFByBPb9bf3Ig1Otb48hI7nKAFQ==
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 (0)
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=UvnnBIcGJMlVnNU94MsLDXFsQVOZRs1zLCCsa9ez5xE=;
 b=Jb/gAWEcjL2cKceg3uY3B7SOUtBc9EPNPnIg38ExLu+rQoihNPYvneqexOgMAauJcFQpx+YGaG58J0OBD28yYOxizM0P7XaW/Rhc0nnLzWuO08Ol/Kfz7nf3dFe2gqMTDsPKk4BY/BVWMHzKKZZWV8oNTEZQCsbCfEXC9weGIIA=
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: <a021b2c6-82e9-4ad3-a137-e2b72a780f04@amd.com>
Date: Mon, 20 Nov 2023 08:58:02 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 5/5] arm/dom0less: introduce Kconfig for dom0less
 feature
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
CC: <rahul.singh@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>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
 <20231114090356.875180-6-luca.fancellu@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231114090356.875180-6-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF0000150B:EE_|DS7PR12MB9043:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f8c6025-cc07-4568-bed4-08dbe99e6eef
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KzqCl2+OIR957wqefQz+KlmoIZG67iL9P9MlgYFn2HxR2Cg4nPRQHwlnCVHcn/gFkwLHDxMW5vBfv8WWglyxDCvM0xvCaUUbKT2JI/5oyUuhR5ogtOUmQlMNDDkG48VLhF40wX4vuzQZj2cKHXhV+f8ueyoeYHL9toKzvZ+RiyweVNgZ511bp/9GDvIj2jDYCxSLJZ3lUvafy8cs83Q+oko5vsdGMLGUwcHVtX7b5w9xY+LDIkcK6xOv0XBFOJGIKfvq9ZRPSngp99AOJhyO+Jw/o1zwe456ryGD4QLbG7sEUokb1ffgRA/TcHro6LSQSo7KOqFwYVpx+efLe6B59Z5Og2jWmV0z7JFnvoD+v2TTSR7KLPFEdja70vo6Wq37gr3cfeJ+uPezEgzgnfcvj7Oq6+AoFi7jimOMBpFqJqdbEt85DnkBKVMMOvqHZCtcuPRVQkKGFevlY5pkCbtVf/x2mGRTX7FkZB1sZ+qegtcGxUUiuR8dfT2lMy88ei9gLXZlMR98bf2fMP76lMN4xopTpngUETVB7rl6OESuvwzXM4mIgso1w7YMTAKz94oIHA9szmlAswaxHdlhg7q/V7ct6FWx2i6ncXyPDbBJDm6bKWaIQOTxPjQgJXgUSGZqX3H8Dz5l+pZjNTlgwH3a42Q5dlfnJ/cUxFsdypq00OqQaHXZ8B9b285skjP491zX6yheQ+j4zlRzJcdOjmGTaZsdIBLNKtbEtR+1Rm3IaWaFrE0g3FVQ2m8sDJQfLfOpg5OUqbtBhBe5roYO5/ZevG2ad03CN5cgUHuWrgvzm4ijY5tLzTfFXcjcd+7CuXwbpFbBKf5d1Qn2JX5GZQEKXAtkaTBnDWqwAGEfG03cOk2qr4+KerbGcv4A9lX8t0TY
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:(13230031)(4636009)(136003)(39860400002)(396003)(346002)(376002)(230922051799003)(230173577357003)(230273577357003)(451199024)(82310400011)(1800799012)(64100799003)(186009)(46966006)(40470700004)(36840700001)(7416002)(5660300002)(2906002)(316002)(8676002)(8936002)(16576012)(4326008)(41300700001)(70206006)(54906003)(70586007)(110136005)(26005)(478600001)(40480700001)(31686004)(44832011)(53546011)(2616005)(36756003)(31696002)(336012)(426003)(86362001)(83380400001)(82740400003)(40460700003)(81166007)(47076005)(356005)(36860700001)(32563001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 07:58:07.7742
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f8c6025-cc07-4568-bed4-08dbe99e6eef
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:
	SA2PEPF0000150B.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB9043

Hi Luca,

On 14/11/2023 10:03, Luca Fancellu wrote:
> 
> 
> Introduce a Kconfig for the dom0less feature, enabled by default,
> to be able to choose if the feature should be compiled or not.
> 
> Provide static inline stubs when the option is disabled for the
> functions externally visible.
> 
> Use the new Kconfig to remove dom0less DT binding from the efi-boot.h
> code when the Kconfig is not enabled, do the same for
> allocate_bank_memory inside domain_build.c that currently is used
> only by dom0less-build.c module, but it's kept there provisioning
> its usage by dom0 code.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> ---
> Changes from v4:
>  - No changes
> Changes from v3:
>  - Update Kconfig
> Changes from v2:
>  - protect allocate_bank_memory with the new Kconfig
> ---
>  xen/arch/arm/Kconfig                      |  8 ++++++++
>  xen/arch/arm/Makefile                     |  2 +-
>  xen/arch/arm/domain_build.c               |  2 ++
>  xen/arch/arm/efi/efi-boot.h               |  4 ++++
>  xen/arch/arm/include/asm/dom0less-build.h | 12 ++++++++++++
>  xen/arch/arm/include/asm/domain_build.h   |  2 ++
>  xen/common/Kconfig                        |  2 +-
>  7 files changed, 30 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 0045a3762d86..f321381a6e87 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -88,6 +88,14 @@ config GICV2
>           Driver for the ARM Generic Interrupt Controller v2.
>           If unsure, say Y
> 
> +config DOM0LESS_BOOT
> +       bool "Dom0less boot support" if EXPERT
> +       default y
> +       help
> +         Dom0less boot support enables Xen to create and start domU guests during
> +         Xen boot without the need of a control domain (Dom0), which could be
> +         present anyway.
> +
>  config GICV3
>         bool "GICv3 driver"
>         depends on !NEW_VGIC
> diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
> index 89ef0c9075b5..5daf8f10114d 100644
> --- a/xen/arch/arm/Makefile
> +++ b/xen/arch/arm/Makefile
> @@ -15,7 +15,7 @@ obj-y += cpufeature.o
>  obj-y += decode.o
>  obj-y += device.o
>  obj-$(CONFIG_IOREQ_SERVER) += dm.o
> -obj-y += dom0less-build.init.o
> +obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
>  obj-y += domain.o
>  obj-y += domain_build.init.o
>  obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 7eb766da9c63..df66fb88d8ec 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -416,6 +416,7 @@ static void __init allocate_memory_11(struct domain *d,
>      }
>  }
> 
> +#ifdef CONFIG_DOM0LESS_BOOT
>  bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
>                                   gfn_t sgfn, paddr_t tot_size)
>  {
> @@ -477,6 +478,7 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
> 
>      return true;
>  }
> +#endif
> 
>  /*
>   * When PCI passthrough is available we want to keep the
> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> index 1c3640bb65fd..689dc016d081 100644
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -802,6 +802,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
>      return 1;
>  }
> 
> +#ifdef CONFIG_DOM0LESS_BOOT
>  /*
>   * This function checks for boot modules under the domU guest domain node
>   * in the DT.
> @@ -849,6 +850,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
> 
>      return mb_modules_found;
>  }
> +#endif
> 
>  /*
>   * This function checks for xen domain nodes under the /chosen node for possible
> @@ -876,6 +878,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
>      {
>          int ret;
> 
> +#ifdef CONFIG_DOM0LESS_BOOT
>          if ( !fdt_node_check_compatible(fdt_efi, node, "xen,domain") )
>          {
>              /* Found a node with compatible xen,domain; handle this node. */
> @@ -884,6 +887,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
>                  return ERROR_DT_MODULE_DOMU;
>          }
>          else
> +#endif
>          {
>              ret = handle_module_node(loaded_image, &dir_handle, node, addr_len,
>                                       size_len, false);
> diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
> index c5625925d940..db2bf821e7aa 100644
> --- a/xen/arch/arm/include/asm/dom0less-build.h
> +++ b/xen/arch/arm/include/asm/dom0less-build.h
> @@ -3,9 +3,21 @@
>  #ifndef __ASM_DOM0LESS_BUILD_H_
>  #define __ASM_DOM0LESS_BUILD_H_
> 
> +#ifdef CONFIG_DOM0LESS_BOOT
> +
>  void create_domUs(void);
>  bool is_dom0less_mode(void);
> 
> +#else  /* !CONFIG_DOM0LESS_BOOT */
one space between #else and /*

> +
> +static inline void create_domUs(void) {}
> +static inline bool is_dom0less_mode(void)
> +{
> +    return false;
> +}
> +
> +#endif /* CONFIG_DOM0LESS_BOOT */
> +
>  #endif /* __ASM_DOM0LESS_BUILD_H_ */
> 
>  /*
> diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
> index da9e6025f37c..6df61fa1d587 100644
> --- a/xen/arch/arm/include/asm/domain_build.h
> +++ b/xen/arch/arm/include/asm/domain_build.h
> @@ -6,8 +6,10 @@
> 
>  typedef __be32 gic_interrupt_t[3];
> 
> +#ifdef CONFIG_DOM0LESS_BOOT
AFAICT, guarding prototypes is not needed and we opt to avoid it. I'd remove it.

The remarks can be handled on commit (depending on the conflict with Henry's series)
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 08:27:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 08:27:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636468.991975 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4zdA-00040C-PD; Mon, 20 Nov 2023 08:27:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636468.991975; Mon, 20 Nov 2023 08: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 1r4zdA-000405-MI; Mon, 20 Nov 2023 08:27:44 +0000
Received: by outflank-mailman (input) for mailman id 636468;
 Mon, 20 Nov 2023 08:27: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=mHkN=HB=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1r4zd8-0003y2-Vr
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 08:27:42 +0000
Received: from smarthost01a.sbp.mail.zen.net.uk
 (smarthost01a.sbp.mail.zen.net.uk [212.23.1.1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a9d97633-877e-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 09:27:38 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01a.sbp.mail.zen.net.uk with esmtpsa (TLS1.0) tls
 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (Exim 4.95)
 (envelope-from <james@dingwall.me.uk>) id 1r4zd3-00C8a9-Mc;
 Mon, 20 Nov 2023 08:27:37 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 851FE8A7D36;
 Mon, 20 Nov 2023 08:27:36 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([127.0.0.1])
 by localhost (mail0.xen.dingwall.me.uk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id xic8OCOXCtpS; Mon, 20 Nov 2023 08:27:36 +0000 (GMT)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk
 [IPv6:2a02:8010:698e:302::c0a8:1c8])
 by dingwall.me.uk (Postfix) with ESMTP id 3F38C8A7D31;
 Mon, 20 Nov 2023 08:27:36 +0000 (GMT)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id 2A3E9B4; Mon, 20 Nov 2023 08:27:36 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9d97633-877e-11ee-9b0e-b553b5be7939
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Mon, 20 Nov 2023 08:27:36 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: Jan Beulich <jbeulich@suse.com>
Cc: James Dingwall <james-xen@dingwall.me.uk>,
	xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Message-ID: <ZVsYeB7DG/F2EdM7@dingwall.me.uk>
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
 <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
 <ZVcv7259slJF4wBh@dingwall.me.uk>
 <2bd9028d-bd3d-435f-8788-38f3460ea188@suse.com>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="+WxErqjFHESB8d9P"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <2bd9028d-bd3d-435f-8788-38f3460ea188@suse.com>
X-Originating-smarthost01a-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189


--+WxErqjFHESB8d9P
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit

On Fri, Nov 17, 2023 at 10:56:30AM +0100, Jan Beulich wrote:
> On 17.11.2023 10:18, James Dingwall wrote:
> > On Thu, Nov 16, 2023 at 04:32:47PM +0000, Andrew Cooper wrote:
> >> On 16/11/2023 4:15 pm, James Dingwall wrote:
> >>> Hi,
> >>>
> >>> Per the msr_relaxed documentation:
> >>>
> >>>    "If using this option is necessary to fix an issue, please report a bug."
> >>>
> >>> After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
> >>> started experiencing a BSOD at boot with one of our Windows guests.  We found
> >>> that enabling `msr_relaxed = 1` in the guest configuration has resolved the
> >>> problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
> >>> the following messages were caught as the BSOD happened:
> >>>
> >>> (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
> >>> (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
> >>> (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
> >>>
> >>> I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
> >>> series from last month:
> >>>
> >>> https://patchwork.kernel.org/project/xen-devel/list/?series=796550
> >>>
> >>> Picking out just a small part of that fixes the problem for us. Although the
> >>> the patch is against 4.15.5 I think it would be relevant to more recent
> >>> releases too.
> >>
> >> Which version of Windows, and what hardware?
> >>
> >> The Viridian Crash isn't about the RDMSR itself - it's presumably
> >> collateral damage shortly thereafter.
> >>
> >> Does filling in 0 for that MSR also resolve the issue? It's model
> >> specific and we absolutely cannot pass it through from real hardware
> >> like that.
> >>
> > 
> > Hi Andrew,
> > 
> > Thanks for your response.  The guest is running Windows 10 and the crash
> > happens in a proprietary hardware driver.  A little bit of knowledge as
> > they say was enough to stop the crash but I don't understand the impact
> > of what I've actually done...
> > 
> > To rework the patch I'd need a bit of guidance, if I understand your
> > suggestion I set the MSR to 0 with this change in emul-priv-op.c:
> 
> For the purpose of the experiment suggested by Andrew ...
> 
> > diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
> > index ed97b1d6fcc..66f5e417df6 100644
> > --- a/xen/arch/x86/pv/emul-priv-op.c
> > +++ b/xen/arch/x86/pv/emul-priv-op.c
> > @@ -976,6 +976,10 @@ static int read_msr(unsigned int reg, uint64_t *val,
> >          *val = 0;
> >          return X86EMUL_OKAY;
> >  
> > +    case MSR_TEMPERATURE_TARGET:
> > +        *val = 0;
> > +        return X86EMUL_OKAY;
> > +
> >      case MSR_P6_PERFCTR(0) ... MSR_P6_PERFCTR(7):
> >      case MSR_P6_EVNTSEL(0) ... MSR_P6_EVNTSEL(3):
> >      case MSR_CORE_PERF_FIXED_CTR0 ... MSR_CORE_PERF_FIXED_CTR2:
> 
> ... you wouldn't need this (affects PV domains only), and ...
> 
> > and this in vmx.c:
> > 
> > diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> > index 54023a92587..bbf37b7f272 100644
> > --- a/xen/arch/x86/hvm/vmx/vmx.c
> > +++ b/xen/arch/x86/hvm/vmx/vmx.c
> > @@ -3259,6 +3259,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
> >          if ( !nvmx_msr_read_intercept(msr, msr_content) )
> >              goto gp_fault;
> >          break;
> > +
> > +    case MSR_TEMPERATURE_TARGET:
> > +        *msr_content = 0;
> > +        break;
> > +
> >      case MSR_IA32_MISC_ENABLE:
> >          rdmsrl(MSR_IA32_MISC_ENABLE, *msr_content);
> >          /* Debug Trace Store is not supported. */
> 
> ... indeed this ought to do. An eventual real patch may want to look
> different, though.
> 

Thanks Jan, based on the information I've reduced the patch to what seems the
minimal necessary to workaround the BSOD.  I assume simply not ending up at
X86EMUL_EXCEPTION is the resolution regardless of what value is set.

Regards,
James


--+WxErqjFHESB8d9P
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="msr_temperature_target-v2.patch"

diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 54023a92587..bbf37b7f272 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3259,6 +3259,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
         if ( !nvmx_msr_read_intercept(msr, msr_content) )
             goto gp_fault;
         break;
+
+    case MSR_TEMPERATURE_TARGET:
+        *msr_content = 0;
+        break;
+
     case MSR_IA32_MISC_ENABLE:
         rdmsrl(MSR_IA32_MISC_ENABLE, *msr_content);
         /* Debug Trace Store is not supported. */
diff --git a/xen/include/asm-x86/msr-index.h b/xen/include/asm-x86/msr-index.h
index 8b3ad575dbc..34e800fdc01 100644
--- a/xen/include/asm-x86/msr-index.h
+++ b/xen/include/asm-x86/msr-index.h
@@ -498,6 +498,9 @@
 #define MSR_IA32_MISC_ENABLE_XD_DISABLE	(1ULL << 34)
 
 #define MSR_IA32_TSC_DEADLINE		0x000006E0
+
+#define MSR_TEMPERATURE_TARGET		0x000001a2
+
 #define MSR_IA32_ENERGY_PERF_BIAS	0x000001b0
 
 /* Platform Shared Resource MSRs */

--+WxErqjFHESB8d9P--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 08:39:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 08:39:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636474.991985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4zoB-000660-PA; Mon, 20 Nov 2023 08:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636474.991985; Mon, 20 Nov 2023 08: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 1r4zoB-00065t-Mc; Mon, 20 Nov 2023 08:39:07 +0000
Received: by outflank-mailman (input) for mailman id 636474;
 Mon, 20 Nov 2023 08: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=Am9Z=HB=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r4zoB-00065n-59
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 08:39:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 437d802b-8780-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 09:39:05 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 0BCCC4EE0739;
 Mon, 20 Nov 2023 09:39:05 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 437d802b-8780-11ee-98df-6d05b1d4d9a1
MIME-Version: 1.0
Date: Mon, 20 Nov 2023 09:39:05 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, bertrand.marquis@arm.com, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <40a3918e-730f-48b9-924f-d8707b197e14@xen.org>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <991883873b73e644ccaf8114a80331c0@bugseng.com>
 <40a3918e-730f-48b9-924f-d8707b197e14@xen.org>
Message-ID: <c4ff5ecc8f4e11cae4a8e282d87c4e14@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-17 20:15, Julien Grall wrote:
> Hi Nicola,
> 
> On 16/11/2023 09:15, Nicola Vetrini wrote:
>> On 2023-11-16 10:08, Nicola Vetrini wrote:
>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are 
>>> replaced
>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>> 
>>> Add missing 'xen/compiler.h' #include-s where needed.
>>> 
>>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>>> is modified to reflect this change.
>>> 
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> This patch should be applied after patch 2 of this series.
>>> The request made by Julien to update the wording is
>>> contained in the present patch.
>>> https://lore.kernel.org/all/9ad7f6210c15f520297aac00e8af0e64@bugseng.com/
>>> 
>>> Concerns about efi_multiboot2 will be dealt with separately.
>>> 
>>> Changes in v2:
>>> - Edit safe.json.
>>> - Remove mention of SAF-1-safe in deviations.rst.
>>> Changes in v3:
>>> - Sorted #include-s and rebased against
>>> 7ad0c774e474 ("x86/boot: tidy #include-s")
>>> ---
>>>  docs/misra/deviations.rst   |  5 ++---
>>>  docs/misra/safe.json        |  2 +-
>>>  xen/arch/arm/cpuerrata.c    |  7 +++----
>>>  xen/arch/arm/setup.c        |  5 ++---
>>>  xen/arch/arm/smpboot.c      |  3 +--
>>>  xen/arch/arm/traps.c        | 21 +++++++--------------
>>>  xen/arch/x86/boot/cmdline.c |  5 +++--
>>>  xen/arch/x86/boot/reloc.c   |  6 +++---
>>>  xen/arch/x86/extable.c      |  3 +--
>>>  xen/arch/x86/setup.c        |  3 +--
>>>  xen/arch/x86/traps.c        | 27 +++++++++------------------
>>>  xen/common/efi/boot.c       |  5 ++---
>>>  12 files changed, 35 insertions(+), 57 deletions(-)
>>> 
>> 
>> In hindsight I should have added an
>> 
>> Acked-by: Julien Grall <jgrall@amazon.com>
>> 
>> given that the comment has been addressed in my opinion.
> 
> I am a bit confused how you considered it was addressed. I see no 
> update in safe.json when I clearly asked for some (I wouldn't have 
> bothered to comment in v2 otherwise and just gave an ack).
> 

I did update safe.json like so:

-            "text": "Functions and variables used only by asm modules 
do not need to have a visible declaration prior to their definition."
+            "text": "Not used anymore."

but given what you wrote below, maybe you wanted this in the series [1], 
right?

> To be explicit, I requested to:
>   1. update the description in [2] to clarify that SAF-1 is deprecated.
>   2. This patch is rebased on top and therefore remove completely the 
> mention of SAF-1.
> 
> I am well-aware that the end result is technically the same. But 
> patches are meant to be self-contained so if we revert the latest, then 
> the meaning is still the same.
> 
> This patch is unlikely to be removed and this is now the nth time I 
> asked it the same (maybe it was not clear enough?). So I am going to 
> content with the current proposal because this is not worth to go 
> further. But I will at least express my discontent how this is handled.
> 

I misunderstood your previous comments then. When you commented on v2 I 
surmised that you were ok with this patch condensing all the shuffling. 
Clearly this was not the case, but I also want to point out that. Given 
that [2] hasn't been committed yet either, then I can do what you asked.

[2] 
https://lore.kernel.org/all/cover.1698829473.git.nicola.vetrini@bugseng.com/

> TBH, there are far too many MISRA patches on the ML spread across 
> multiple threads. Some are based on top of the others. This makes 
> extremely difficult to follow and know what is addressed or not. Can we 
> at least try to condense some of work in similar area in the same 
> series? For instance, this patch could have been included in the other 
> series [1].
> 
> Lastly, right now, I have 300 emails (31 threads) with MISRA in the 
> title in my inbox. It is a little unclear what has been 
> committed/review or require input. I am concerned to miss key series 
> (the patch to compile in docs/ was nearly missed).
> 
> Do we track anywhere which series are still inflights? Can we consider 
> to pause or at least slow down the rate of new MISRA patches until the 
> backlog is cleared? (Adding more patches is not really helping).
> 

I do have a folder with all my in-flight patches. Please note that this 
big backlog has partly been the result of patches being acked, but not 
committed. I'll double check with my colleagues Stefano's list in his 
reply, to see if there are any differences.

> Cheers,
> 
> [1] 
> https://lore.kernel.org/all/a1b5c3b273145c35535fed3647bf850d9ae5db7f.1698829473.git.nicola.vetrini@bugseng.com/
> 
> 
> I pointed out that the patch in
> 
>> 

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 08:44:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 08:44:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636477.991994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4zte-0007XN-AM; Mon, 20 Nov 2023 08:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636477.991994; Mon, 20 Nov 2023 08: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 1r4zte-0007XE-7l; Mon, 20 Nov 2023 08:44:46 +0000
Received: by outflank-mailman (input) for mailman id 636477;
 Mon, 20 Nov 2023 08:44: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=mHkN=HB=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1r4ztd-0007X5-1E
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 08:44:45 +0000
Received: from smarthost01c.sbp.mail.zen.net.uk
 (smarthost01c.sbp.mail.zen.net.uk [212.23.1.5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0cab506f-8781-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 09:44:43 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01c.sbp.mail.zen.net.uk with esmtpsa (TLS1.0) tls
 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (Exim 4.95)
 (envelope-from <james@dingwall.me.uk>) id 1r4zta-00AW9o-L3;
 Mon, 20 Nov 2023 08:44:42 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 0E5048A7D65;
 Mon, 20 Nov 2023 08:44:42 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([127.0.0.1])
 by localhost (mail0.xen.dingwall.me.uk [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ZZmMwaknsj7p; Mon, 20 Nov 2023 08:44:41 +0000 (GMT)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk
 [IPv6:2a02:8010:698e:302::c0a8:1c8])
 by dingwall.me.uk (Postfix) with ESMTP id DC78D8A7D62;
 Mon, 20 Nov 2023 08:44:41 +0000 (GMT)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id DA581B8; Mon, 20 Nov 2023 08:44:41 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cab506f-8781-11ee-98df-6d05b1d4d9a1
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Mon, 20 Nov 2023 08:44:41 +0000
From: James Dingwall <james-xen@dingwall.me.uk>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	James Dingwall <james-xen@dingwall.me.uk>,
	xen-devel@lists.xenproject.org
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Message-ID: <ZVsceVGKOMP2zhU9@dingwall.me.uk>
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
 <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
 <ZVcv7259slJF4wBh@dingwall.me.uk>
 <ZVc9yq9b6fezMWcY@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZVc9yq9b6fezMWcY@macbook.local>
X-Originating-smarthost01c-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189

On Fri, Nov 17, 2023 at 11:17:46AM +0100, Roger Pau Monn wrote:
> On Fri, Nov 17, 2023 at 09:18:39AM +0000, James Dingwall wrote:
> > On Thu, Nov 16, 2023 at 04:32:47PM +0000, Andrew Cooper wrote:
> > > On 16/11/2023 4:15 pm, James Dingwall wrote:
> > > > Hi,
> > > >
> > > > Per the msr_relaxed documentation:
> > > >
> > > >    "If using this option is necessary to fix an issue, please report a bug."
> > > >
> > > > After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
> > > > started experiencing a BSOD at boot with one of our Windows guests.  We found
> > > > that enabling `msr_relaxed = 1` in the guest configuration has resolved the
> > > > problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
> > > > the following messages were caught as the BSOD happened:
> > > >
> > > > (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
> > > > (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
> > > > (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
> > > >
> > > > I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
> > > > series from last month:
> > > >
> > > > https://patchwork.kernel.org/project/xen-devel/list/?series=796550
> > > >
> > > > Picking out just a small part of that fixes the problem for us. Although the
> > > > the patch is against 4.15.5 I think it would be relevant to more recent
> > > > releases too.
> > > 
> > > Which version of Windows, and what hardware?
> > > 
> > > The Viridian Crash isn't about the RDMSR itself - it's presumably
> > > collateral damage shortly thereafter.
> > > 
> > > Does filling in 0 for that MSR also resolve the issue? It's model
> > > specific and we absolutely cannot pass it through from real hardware
> > > like that.
> > > 
> > 
> > Hi Andrew,
> > 
> > Thanks for your response.  The guest is running Windows 10 and the crash
> > happens in a proprietary hardware driver.
> 
> When you say proprietary you mean a custom driver made for your
> use-case, or is this some vendor driver widely available?
> 

Hi Roger,

We have emulated some point of sale hardware with a custom qemu device.  It
is reasonably common but limited to its particular sector.  As the physical
hardware is all built to the same specification I assume the driver has made
assumptions about the availability of MSR_TEMPERATURE_TARGET and doesn't
handle the case it is absent which leads to the BSOD in the Windows guest.

Regards,
James


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 08:46:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 08:46:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636481.992004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4zvb-0008Qs-NG; Mon, 20 Nov 2023 08:46:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636481.992004; Mon, 20 Nov 2023 08:46: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 1r4zvb-0008Ql-KX; Mon, 20 Nov 2023 08:46:47 +0000
Received: by outflank-mailman (input) for mailman id 636481;
 Mon, 20 Nov 2023 08:46: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r4zvZ-0008Qd-Q1
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 08:46:46 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 551acbc5-8781-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 09:46:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9817.eurprd04.prod.outlook.com (2603:10a6:10:4f0::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 08:46:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 08:46: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: 551acbc5-8781-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=chofDkZWUfa7S63RWTZ48VT1mfdbgD7BNv0jKdKMf2oiqeTOm0okIOgnLylTavTP4LvjVCDV/juO0oGvw6N98JP62ipfLXAuw+VIjRS/hg5nBcQmTkltN3a+euVCOFSS0+bBd2E/7DonTta6ICFi9KlemEza2Ex/iZLTF4pXYx58V9fgrtLW4+vYzMTUFiQOgh5p39XtVBg0HhfUMjSXtiMP44wlboj6BKjVTLoHcrS4MFHfahQE+FtO62YOd5DgWcWEXAN/8hc5x3XkhuI4J5gj3itQroqq5eoNksabuXtF11BKqXe9NKmi/AbqN3utQ5HImWs3B69VY4AAQTbZAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cmZiVgCJ5wI6eHIUd5gCObiY+6gaTwI1SlTB60c0kqA=;
 b=htZVpEv9SAzcDX8emYMZ+5er5u03T3K78fMAA0npJGVrvfj+x/ExFWZPlfhEq+dfgBvvdQtvEer+pyrcVLYZH1F4824VVMx1l8RpR55F1fzrByChvDOW5vlbUot9itmEDHFyYywJH+pykTS1BWVPsatBGUn5gdlfZBbl9PieEYlANtR4SChSu2f1dib0OHJXWt4dk/DuVtiUYS9zNuEry6ahA2/C4+mhQnQDtkeDdOBoyetPHhi+eWny/Y6mQT6zAi3wh3Z8irT3Kq0Ei0qcs8RX7ldTzcns8y/QCc1P+BDIigFAV2Zs6h/mZQ34dM7YtQbAFap7LGqgKr/pTrkntw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cmZiVgCJ5wI6eHIUd5gCObiY+6gaTwI1SlTB60c0kqA=;
 b=4SZB6SAnN6fLfeBh2+V8nxK+0bu5RgoJ8xjTQXfWttlszFswpDUJXagrDU0qo7leftt2MVQ6977yjok3sOT29XKhLJMCNPJvi7U95IAuYyMMuCt4GX1DIS/xit+NRLYXJbn+PI84U6xk90qxrtdQygJUq5AK6vEDW52xDrVok2lJDWzarkGDlKpta/PVMca+UXgoqt3AK9xhsr0Ug+7aswbht++J349h2f5A2MMaqNHd8aDv0i6sxrj3GK9THJUJ6ZFfCLXUwlLkrjBNN7u4YOcdxZP0/AOHEtU9fIL6wEZIL3DQka+sRdPRQKbYmDIZDYT9pKi6Sy348ZmOykv/BA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1b5eec6a-571e-4262-bab2-698a663adac9@suse.com>
Date: Mon, 20 Nov 2023 09:46:42 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 bertrand.marquis@arm.com, George Dunlap <george.dunlap@citrix.com>,
 Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Julien Grall <julien@xen.org>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <991883873b73e644ccaf8114a80331c0@bugseng.com>
 <40a3918e-730f-48b9-924f-d8707b197e14@xen.org>
 <c4ff5ecc8f4e11cae4a8e282d87c4e14@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c4ff5ecc8f4e11cae4a8e282d87c4e14@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0010.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1d::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9817:EE_
X-MS-Office365-Filtering-Correlation-Id: e6698f77-99c1-471d-ef5b-08dbe9a53835
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZSxTscvZ8Qo0+mkVSD09pAQAIMn4SHcyqALmv/Tvfu8YFQC/LU3GBNClMWd6XtegnWicQSRYrvTw1tyF6/Qhh9wMmutAfMcO0sn5iiujvKHFsOHn+ArBsMWnyJ0qmKDWVLt3DLCnyGU9zdeNrDW0PjbAA7i2zHbXS+TKlQAsdUg3gy3CC5BSGp0gkGDz5b/JDX0W4oLokCa/c+uG+9Trsqq/1sckt6+ex+uOSaDsQ4KPxCLRhIGw5G8AZJZCfDpMWRQt25MXEgiot8QfT4o05slrrqdpdaRwmVp5trESydoCNO0EXRPefmv/ArGZOEHa5yJmiPYPLs+N1EWX3tPGNzc5OMpLAqcaT4wjvdKExoi8r+2i6KPDrzz037rnM9aw90hs9GMikj9aqNCkSt3jK7b72oH1ai642sBONTBGK9K1iFd6l9DXOL/hxFSPbwS5BTp7KeGaFxWmUKDe/dRlYAosZGdofDWtS8VLX+rgcqohIPxBqqnxCKhj7l4UE5YkAJ/0YkfFM67dnrA53S9kGxZLZdovP4gLgRoC2voybzRjItb89Fz540CRh4vCEvN6SvsnevVXzr6P+/J/8ACafGi1B1eQ9kpNfo+61C1CHwedonbBU8n3eheDE/+ku7nn5i/dQQvFybbtCt4hCm0zNA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(346002)(39860400002)(366004)(376002)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2906002)(5660300002)(4744005)(7416002)(41300700001)(8936002)(4326008)(8676002)(31686004)(6916009)(316002)(54906003)(66476007)(66556008)(86362001)(26005)(6486002)(478600001)(6512007)(36756003)(53546011)(6506007)(2616005)(83380400001)(66946007)(38100700002)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WWQ0UmhMRWV6Z2YyeXB2WkF1UGpLdlUxU0FybzNybnNNZkJEakg3TEEyVmpn?=
 =?utf-8?B?UkNzWDNMNEhNOElPeFhQVjBrcE5raXRFYUt0R282Z3VRZFQyZVZUT3dxWFVP?=
 =?utf-8?B?dG5POWd5a295Vm1KalE4a0FOR2JBOXh6UlRDL2d2c0N0blpvWkpIZmUzQzBX?=
 =?utf-8?B?ODJSZXhzSXJVTm9JblJtNFFFOVFSZ3hSYjNtMmhpTnFXaTFiajhVbUhyRURS?=
 =?utf-8?B?NmUwMmxFZENVMTBjeDFuQ3JGT0VuV0RENndjdFZ4Umd5aHVnV1EzZkYya1VJ?=
 =?utf-8?B?UitYVHJWdnF4WXB1L3JSL1hMUTlMMXV1SU9wanppYklVd2wxbmlGWlZUbXpo?=
 =?utf-8?B?VlNXNkh3dDMwYjFkaVpRRDZ3cFRldHNvVHM0dFp3cHNKR0NoTTNzZkpnaEZv?=
 =?utf-8?B?VDVkeEVlYmxtVm1lWlU1Rm5MTDEvc0lZZExrbFVLb1VVdWsvRjNhYm5uV08x?=
 =?utf-8?B?T1ZUdkJuVktYTWlzRCswbTFYOVZiZEpRaHRaZks1M1JITFVULzJadTk3d0py?=
 =?utf-8?B?UGl4S0FqYitPekV6YlBtZ2lSSGY0VmtlUUtqMVBkQkVYRG0wL2Vpc2tSRVZZ?=
 =?utf-8?B?QVRnVUpERGJzMjBmTnYxNW5MbFdjOHVLQmZFQVBuZzFFaUFSdDdxRkdkMmE2?=
 =?utf-8?B?Uy9JQ0U1YmJ0VkZsNW9nV2RiQUlnTXJudzVwNzV1aVl1Uk56cnlFeEtpOHdz?=
 =?utf-8?B?cm0rYXhuOC9lRU1sYmNFWVdhS2ppeUFKcDFUYVA0dnhhZjJKaHkyM1NHZnRY?=
 =?utf-8?B?ck5DL1BXQ1Z1OTVReXlOSm1lcXBJVSs1U2drVDVEckhWL2IrVDBxYW1nNFBo?=
 =?utf-8?B?RVV4UmpETmdEemVaWmthTERxWmdWdnNvWTZwZldqL0NFRXIyR29MdGJxWmFO?=
 =?utf-8?B?SFZaM2VwT2QzeGdMVEx4VXlldTRvYWRPb0ZORXl0ZGtldTJkV2J1Y0RWZ3pO?=
 =?utf-8?B?bkZ2QmxIUDd6TU9RN3E0Mk9ac1V2cmlxWWZiZWpwZkZmem5vS2tkU2tPOUUw?=
 =?utf-8?B?VDBhK0s5L0ZlYkxrNzhCRzlYT1ZOelZrSmU3dnczQ050L1Q0emJqZmw4ZW5j?=
 =?utf-8?B?NVEvK0tiZmJKOEc3cFpxallnVU04OTZ0QjFvRFhXYjdDTTh6ZHdmeWt0WG9j?=
 =?utf-8?B?RzBPWVQ3dTFrM2lGalRiaE1NNCs2OGMwY3l6dUg5T3hHMlY4QmlHSmU1SUpl?=
 =?utf-8?B?MjJ0WDhkSnh4Q0RDZGVQZ3BadzNOY3laWm9QdGFPaWpTbmhTQXpLMHZteDRB?=
 =?utf-8?B?TDl6M1FCME43akd6M3VLRW5PKzRpTmc2NjFjU3dNeVZ0UU9mZHRMM3NXSFlr?=
 =?utf-8?B?cDR6YVZFSTRDQ2tLclJsdzV3SHJqVjZaYnlyY0RjL201VlZ2cmZXSHBseWZs?=
 =?utf-8?B?VFBVRzhuRGZRY3AxTjJWd2RlUnUyUjRWaTBKNVhnSGZnb3pweHlKY0p5U1ZW?=
 =?utf-8?B?R3B1ZEY0SW9MNEFKa0dyUzh2cWJQR01oNUxZbkx6Q2srOWlqU1ZzRllwTURF?=
 =?utf-8?B?b0pMQ1NzRVI2Nk1ySXIrZUhHSFBydFFoMHNHQUp3aG5jbitvL2lHRWFad0Ju?=
 =?utf-8?B?d2xMY3dka0pmdE91b1psMjdycFV1N3JrT212TXRzQVFCL21qcnBVajhRT0VR?=
 =?utf-8?B?Wk56Q2gzQ24wdG9Ubi9uekJTRURQdlMvL3hubm83bCtoUjVoUkM2Smo3VUVq?=
 =?utf-8?B?Q0pzSmJUUWlHOTRpRlhUWDJCajZOdm1JWlhvQWtqWi9xTGFEbnFzOVNrdUhw?=
 =?utf-8?B?TitmbHprMDBmWUV4cXk3RmdtMDI2MFRHTVZuQjJPeTN4YytHcElCcUh3d1dq?=
 =?utf-8?B?cUNCa3hlYTA1R05Lbis2aE53NDd3a214Q3N1NkVnK1F1R1hNV21KcndhNFhB?=
 =?utf-8?B?eU1vL3cvZW1pa3EzTUdWNHF3UlFYTHVIR1BZRDF6N1A4NTkxYitDREorSWRS?=
 =?utf-8?B?TG9QNXBjcXhTb0NmMXNQY2JDWU9oZWNHMkszNmdmZ0NtM3Jab2gyNVpHVXl0?=
 =?utf-8?B?ZDJmS1VOakpWb2dkMFhIa3Y5UHkwSGxsM3YxT1dpNTVFZXpKZUd5T0YxQ3hs?=
 =?utf-8?B?emxvK2NBa3ZxemQvYkxBcU5PTVVEMW4rUTQyRUw4L2ZRR3A4ekJsL3BmMENy?=
 =?utf-8?Q?7400M6vJGr5pkj7mxbqtkPNeO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e6698f77-99c1-471d-ef5b-08dbe9a53835
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 08:46:42.6235
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gU26+mg7Qm1PaWXEAVemw/Dus7cbZPT0WkIPkxmZPGol9MGrd6EYvsaWBRNCUrJOVP4+e0PwOMcAQyQcO2BFCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9817

On 20.11.2023 09:39, Nicola Vetrini wrote:
> I do have a folder with all my in-flight patches. Please note that this 
> big backlog has partly been the result of patches being acked, but not 
> committed.

Which in turn is a result of there having been too many patches while the tree
was closed. Yes, there was agreement that Misra work doesn't need to fully stop
during that time, but still I'm entirely with Julien regarding what has been
pushed out having been increasingly confusing / hard to follow.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 08:50:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 08:50:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636487.992015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r4zyi-0000o9-BC; Mon, 20 Nov 2023 08:50:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636487.992015; Mon, 20 Nov 2023 08:50: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 1r4zyi-0000o2-7k; Mon, 20 Nov 2023 08:50:00 +0000
Received: by outflank-mailman (input) for mailman id 636487;
 Mon, 20 Nov 2023 08:49: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r4zyg-0000nw-Jr
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 08:49:58 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c80461b5-8781-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 09:49:57 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8331.eurprd04.prod.outlook.com (2603:10a6:10:244::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 08:49:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 08: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>
X-Inumbo-ID: c80461b5-8781-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f1UDiLOptxlTv8y4yZYZU97fn/R4mSefuVKi7QtZJTb35FqwSSQlK1hMeHa2deFtJXgJrogHeq4BmlWGM1ybDrVj1lcHdO3wpPo8JTWdvFqJcgAupJ0iqgR+QqDgoL7CSI+g8v3uNE7IxsUVTWFkXXNg2QCGzymxwAnn33t548W49ODfgUjX3GYta48B/CVqq0uMWi6bGgu2plf53h+dOnHCcYSSF0q82Kh0pghSn0Hg3XqmvDBDPF0tx6w9OlM4HDHnBdtyxfbyv5UBMc/uqrdDwtMKSmELW3Xg+15Wc5n9Gx9GUdRWfYgxFQEyzu1H0MQ5zUjCmQmL0WxdL1p/+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=nAktaf85t/vhDiCnMpZ5efGwHAWQ0kF6N8nMqu7EhE0=;
 b=N7MmYCcIKVk2qXeimcM+tYMzpLH+iIjZKhE2B6SHI/Mb6zpqEkU9YbG31EoHO/SNQgWKeBMn9wpdSgtSOVU3l3VB3bMztaxBPJszmYdzXVkFSNBK1k3GYJKh/bn5qHwjawCT6Vlq5EMbk6TEg7YO+wSQRrptOggdOnpueBhj0KpPxvJ+uG0T5mUj0W5TnEJbRrrk0sekPu+/0KSHN7ClBw4oGGS4oE1iDhYYN4AJEj5soFVkYgYPI7r3Rp3a20f10235M4p0wyW5dpNZGb7Mv+jm5RQ4e1uhsL/jI1j2CxGhpcZe959Sw4NubTUWf72JcO2bPUnTpRzAwaBPFVhw0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nAktaf85t/vhDiCnMpZ5efGwHAWQ0kF6N8nMqu7EhE0=;
 b=MNH9Eoyfqlc4kFtf5czp5A//LGz9f49uWspsi0or9hBJnkfR01LQqQwDYdy7XngmafGqddUNTEa0EmBC+48treVejyGylcYOUv4YUszOtbaMjMqvlhfy+SyEiDhfOXB0MaZR6cOFnJ+PZv/kO/78/L4w5POothHQosXIbP6N94ekS7lMz35dxavvwHrgHQhFqf+A71ChK94UAaqUwQZVTfOo1LyAW9fT3gxGyZJJgOPk0zaEaJy4c2EGUZdyscWhrBHE/D3PoBImhWj+S/MYNnI7PoOm9RqhrHTzQwX8bE3ih8K2qdxZmN2oyID39gLox03suwF0LKxAUrfZaG/OaQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7e90d6dc-eefb-46d1-a35e-abce672efcf7@suse.com>
Date: Mon, 20 Nov 2023 09:49:54 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Content-Language: en-US
To: James Dingwall <james-xen@dingwall.me.uk>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
 <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
 <ZVcv7259slJF4wBh@dingwall.me.uk>
 <2bd9028d-bd3d-435f-8788-38f3460ea188@suse.com>
 <ZVsYeB7DG/F2EdM7@dingwall.me.uk>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVsYeB7DG/F2EdM7@dingwall.me.uk>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8331:EE_
X-MS-Office365-Filtering-Correlation-Id: 88894da4-c055-48d8-69e0-08dbe9a5aa85
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4lk/d8lg+BrgLgdAZckPzxrp2Ch53+Z4wXaMusrQ6QaU24j7ix5NUZeLJIVNA9M5P4BkakCmuY6jxVTCiFfjaUwBMgbu9LI+EXaGv+FaGbFd9DtXHXU4vFOclmL3vo7ryjOVyRQdFFre373jibL4biRaPTTK7mJjsf0Bz2mAs72tcGiPfV9+crxMuYI8G7IBhlzq6no6q0LPSuy1NlVNTiynk479QR4ZujyHV5qobHHxbCBtNWNYYtY2ABd7yVfu7i8l2Xm1V81YRGf/J45CBF/KkIm1BLogz4xaBLfgRm+2WWOZHpmvEfkXxwD6nq6eRegPHuiv2ZEXww5EXybRW7cbaBZY3BC8yPUZ2jYAsTcxm8zITZ4C16DL2jS6JKYrBWz+9eVWCj43nCsOd/YGGof/EKDAUy6gRMJICbShTQ4TCCU683Hj57Iyxsh5K1klHwrPmgzKWx1UIamWf06An0OjW87owNJej/CZZDMvojzCkZUiRzsq9YOvTYsk5qXzJZs+oE8Va7yGrRtysukZ5wmPxk3Uf24cWo5sBDK4Yo+pTGpQyC19Ola+lTsxcrsYaWl/2F66vq9dg5KGvKJECAbRbDr6Q2y9Zc/ON+NF9RObw8CBZSQD8FsYTno76FwS4yf96AI4ts3EcUa3/Clh+g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(366004)(396003)(39860400002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(110136005)(316002)(66556008)(66476007)(66946007)(478600001)(966005)(6486002)(26005)(2616005)(83380400001)(53546011)(6512007)(36756003)(6506007)(38100700002)(86362001)(31696002)(2906002)(31686004)(5660300002)(8936002)(41300700001)(4326008)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TkI4RzJEd1l2OHNudlhWOXBzdEtyS0lpVzhUOENudFUxbGw0V24xVFJtOXMv?=
 =?utf-8?B?NGdqb1Y3aExsZ1M1SW9sQ2pwZDhnQlNZall4VlNkazBYbHJEZWM4ejkxNHN0?=
 =?utf-8?B?YXAvVXlHRU02dVp4c3hLZWg5bEhsZExtY3lIZnF2UzNnSXZ6WkxhWGVRUVVR?=
 =?utf-8?B?ZHFvYk1IbkQ4dG51S2tZeExTa21wUjV4UG02ZGRET0VONm9YbExsdEFpQlNk?=
 =?utf-8?B?V1Q3Wnc2SzJDUC9taGxDRCtmcEhlZ2RRcWFKWTZka1hRdGxMdXpNRWp6Vmdj?=
 =?utf-8?B?aHR2cEIrYmt3Qm1nSGRmYlBiSDJVUTFhblhzWVhYdVRsdnZ3dHh3bFBiY1hm?=
 =?utf-8?B?QktQclZDbHZWeldiOGhWd1hqNlJqdmVtaEhFZy9CYXNJRVNrQkhoQy95OXIx?=
 =?utf-8?B?d0hXUy84TGVBYkw3UngxQ1NYZStaQ05uSWpDSW56b1hQdnE0cFZaR0N6WG9r?=
 =?utf-8?B?dW5YbWdEVnJ1dFcrTkRpVTJuWTFCcURKVkpoS1pCV3lQMldZaHBnWHBUWTl6?=
 =?utf-8?B?dmMzUEp2cXZveEdWdGZjNGMxblAvYXJMSzRKTWNwZnlLbDhRclpFUU5Dc2tF?=
 =?utf-8?B?UFh0NTE1ZVh6NXF4MWtMTXVXK2xneUJrQ0Y0WU12UG1IZThmUWk0TWVvMUpL?=
 =?utf-8?B?eWoyS1dTT1NXTXc3UnhIcG1tVmV4ZHN1Ni9tY1JPKy9aVVpLOXlxeVhEakdX?=
 =?utf-8?B?S0c2eWphSDZiOE50Uk1mZFN0UW9SQThMZXBYOXNCcWhoZ3BpNWNJTVloMHpZ?=
 =?utf-8?B?RVI2UjB2OEtvYzVYOVZqSUpaZkQ0K0RyYUZBUERxUk1haWcxRDY3SnA4RC90?=
 =?utf-8?B?bUVidlhFS254Wnh4cVhGL3hESEFFSzJkOUgybFA4R2ZmcFl3dnBkU2hVTHhE?=
 =?utf-8?B?T08xTWhld0VPSnJRQ2ZsczB5K3dOQ2Rpc0R5VGhvTWNLdnh3d2VVbEF2WC9S?=
 =?utf-8?B?MEpoT1E0TUtGVnhLZ3YzaEY0dGhDOW1LVC9WWGlBNUxiMUo3a1JDcmRtZWto?=
 =?utf-8?B?TGg3bDBIbW92SzFNZDVqUlNUQm1CNDMxeW01LzNDMkU0ZW1pTnVDYmRyVzQ5?=
 =?utf-8?B?WEpWR09UNm5UR3Bqa0xyaG02cFlUQ0JUR3gwTUg3a2twYzc4am5Ebk9GNDdE?=
 =?utf-8?B?YTFlN2FrYjZoTTNDM0xnMFpnWndWWFVwL3F6TkE5Mk41UUkyb2hwQXdxRjNa?=
 =?utf-8?B?SzNtTjFLTHpBTVJpK3kyc3EwcS9mcC9SdEU4cFM4K3pTVWlWcFNoUFpmTi83?=
 =?utf-8?B?Q2ZWS0xFMklUL21ENmlSMlF3OEtuL0ZxSzVNOEZVRGdNVVByVENNcWhQTlZq?=
 =?utf-8?B?VGdNb2hJeXhrZkV5Q2JPNWJ0c0MzQkpDSDZudFFrWHdCZzcxeFRzTTVQbHB1?=
 =?utf-8?B?T0JITnR0N1BXSHpFYkhkUFkwUGhaakgydjhLTWVDWFIxOUdLVGQ1dHp1d2px?=
 =?utf-8?B?NzVlT3F1TkNjYStFdlJDa0ptSm05UE93bUV6eC9DY3BwTHVnSEZUeGpITUdm?=
 =?utf-8?B?Nk9SeUFUT2pCbVM1TlVrVHNTRjdQZGpPZkhmbEI5RERvUWEwbnZ2SWtiZUFK?=
 =?utf-8?B?azhJT3RZcHJVN09acUFYQXpsQ3pmNUpTZXNsNkRFWUhSMSs3Y1pXMHh0WS9y?=
 =?utf-8?B?OGtiSVlWREF0dmdzTGlVeTZkUjJ6OE1TZXhZQUx0SmZUNEdYM2NJNlFOSm8r?=
 =?utf-8?B?RGtGNW5la29XTTBtSFM1WTJkUWRKNmNDNnhocTFOamc0WUJEbjNyTUhsSnE4?=
 =?utf-8?B?dStNcW9MQU5aVnBSeGcrNlU2M2hEMHZkR3U4QXA0VHlYd2ZpRHliWUlCc0V4?=
 =?utf-8?B?Q3VLWXJ0QmphbFkvYmNQUUgwUXlRZVhldjF3K0d1US9TcUtSSzF1ZVBSa0NB?=
 =?utf-8?B?clhhdXo4NUtkNVlBR0pmL3d4cjNwS05sbzNpMVdBd1hFS1h6ZDZvOWljTUJU?=
 =?utf-8?B?czFnZDNLZUk5YWZPc1NlMkIzMzhTZlBuKzA3eU5jcDZObzFGZSt5UTdDWUNy?=
 =?utf-8?B?WEtRRnFpNFZVWkFUWElLRXVVaGRoSTVBMXlPaEZiOGtOdDB6NHFnRXo2S1or?=
 =?utf-8?B?Vkc4UnBmWHZPcGlUMzd5b2lmZ0I0Rzd2U293VElqZ1dZWTdBbUhndkc1dkZC?=
 =?utf-8?Q?NlxKWiCOoMiSX+QDYMHpJrYWZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 88894da4-c055-48d8-69e0-08dbe9a5aa85
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 08:49:54.5290
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CYGogOo5tWYAbBJRGrKgiJQJ/3Px77gcOu9iBjY4KSwcK+xOM2lMHEO1QGaPa6HWGh7U6uzVi875Xt3S05LQtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8331

On 20.11.2023 09:27, James Dingwall wrote:
> On Fri, Nov 17, 2023 at 10:56:30AM +0100, Jan Beulich wrote:
>> On 17.11.2023 10:18, James Dingwall wrote:
>>> On Thu, Nov 16, 2023 at 04:32:47PM +0000, Andrew Cooper wrote:
>>>> On 16/11/2023 4:15 pm, James Dingwall wrote:
>>>>> Hi,
>>>>>
>>>>> Per the msr_relaxed documentation:
>>>>>
>>>>>    "If using this option is necessary to fix an issue, please report a bug."
>>>>>
>>>>> After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
>>>>> started experiencing a BSOD at boot with one of our Windows guests.  We found
>>>>> that enabling `msr_relaxed = 1` in the guest configuration has resolved the
>>>>> problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
>>>>> the following messages were caught as the BSOD happened:
>>>>>
>>>>> (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
>>>>> (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
>>>>> (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
>>>>>
>>>>> I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
>>>>> series from last month:
>>>>>
>>>>> https://patchwork.kernel.org/project/xen-devel/list/?series=796550
>>>>>
>>>>> Picking out just a small part of that fixes the problem for us. Although the
>>>>> the patch is against 4.15.5 I think it would be relevant to more recent
>>>>> releases too.
>>>>
>>>> Which version of Windows, and what hardware?
>>>>
>>>> The Viridian Crash isn't about the RDMSR itself - it's presumably
>>>> collateral damage shortly thereafter.
>>>>
>>>> Does filling in 0 for that MSR also resolve the issue?  It's model
>>>> specific and we absolutely cannot pass it through from real hardware
>>>> like that.
>>>>
>>>
>>> Hi Andrew,
>>>
>>> Thanks for your response.  The guest is running Windows 10 and the crash
>>> happens in a proprietary hardware driver.  A little bit of knowledge as
>>> they say was enough to stop the crash but I don't understand the impact
>>> of what I've actually done...
>>>
>>> To rework the patch I'd need a bit of guidance, if I understand your
>>> suggestion I set the MSR to 0 with this change in emul-priv-op.c:
>>
>> For the purpose of the experiment suggested by Andrew ...
>>
>>> diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
>>> index ed97b1d6fcc..66f5e417df6 100644
>>> --- a/xen/arch/x86/pv/emul-priv-op.c
>>> +++ b/xen/arch/x86/pv/emul-priv-op.c
>>> @@ -976,6 +976,10 @@ static int read_msr(unsigned int reg, uint64_t *val,
>>>          *val = 0;
>>>          return X86EMUL_OKAY;
>>>  
>>> +    case MSR_TEMPERATURE_TARGET:
>>> +        *val = 0;
>>> +        return X86EMUL_OKAY;
>>> +
>>>      case MSR_P6_PERFCTR(0) ... MSR_P6_PERFCTR(7):
>>>      case MSR_P6_EVNTSEL(0) ... MSR_P6_EVNTSEL(3):
>>>      case MSR_CORE_PERF_FIXED_CTR0 ... MSR_CORE_PERF_FIXED_CTR2:
>>
>> ... you wouldn't need this (affects PV domains only), and ...
>>
>>> and this in vmx.c:
>>>
>>> diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
>>> index 54023a92587..bbf37b7f272 100644
>>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>>> @@ -3259,6 +3259,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
>>>          if ( !nvmx_msr_read_intercept(msr, msr_content) )
>>>              goto gp_fault;
>>>          break;
>>> +
>>> +    case MSR_TEMPERATURE_TARGET:
>>> +        *msr_content = 0;
>>> +        break;
>>> +
>>>      case MSR_IA32_MISC_ENABLE:
>>>          rdmsrl(MSR_IA32_MISC_ENABLE, *msr_content);
>>>          /* Debug Trace Store is not supported. */
>>
>> ... indeed this ought to do. An eventual real patch may want to look
>> different, though.
>>
> 
> Thanks Jan, based on the information I've reduced the patch to what seems the
> minimal necessary to workaround the BSOD.  I assume simply not ending up at
> X86EMUL_EXCEPTION is the resolution regardless of what value is set.

Good. This then confirms that Andrew's expectation of this being enough was
correct. What's not really clear to me though is whether he'd also be okay
to put a (cleaned up) patch along these lines into the tree. Andrew?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 08:55:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 08:55:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636490.992025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r503k-0002Fb-Te; Mon, 20 Nov 2023 08:55:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636490.992025; Mon, 20 Nov 2023 08:55: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 1r503k-0002FU-Qz; Mon, 20 Nov 2023 08:55:12 +0000
Received: by outflank-mailman (input) for mailman id 636490;
 Mon, 20 Nov 2023 08:55: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r503j-0002FO-UE
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 08:55:11 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0602.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82d76971-8782-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 09:55:11 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9243.eurprd04.prod.outlook.com (2603:10a6:20b:4e2::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.14; Mon, 20 Nov
 2023 08:55:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 08: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>
X-Inumbo-ID: 82d76971-8782-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y3Z8akqRoxHg1lBKuqlNhp/XlFa61ulkxplhGU4jcPHsrpwa/C4daRHkXNQFEj5tXyskJjtH9b+VKpuWMy1Ltd8vrMuddD4oSBO1164BnLsrlNI+I3aqIAuGb3s07vtt0i7JSqvVCxxeVQLylS01FDVIzVUv+gPuYXzNH4ONTkdNQXhCriXWIj7p6C48xPeMxDt/++nbGMIO3nhiGQVWYb8YUA95Q84eIf6lB0x4PrQB2dMMFXruGouNTyhyiJij/fgEbbdWuEHNRrchTxRkf4GIQQGqCN853kWFocNim1QrTp1fFGxZQAl2SR3BucB85SDvMoMqxxKRIoaIxFRh2A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=l7SX/kL6XMd9FyKFEdgJWs02MD7/r4EbGB73Gq4gnNI=;
 b=K3NuC/5ka0/2LifMuPciPQc4lWjyOLDagvPv/gDfUuy6qwlyPMfYF9pdkdcjSU6S0inzhUyb8mFPMbz65rvoQw4lOXrPeCaDfcdFzd0/ENeMjLf/8C+jrsAWAhVEf4pFkmKmQagxSj0x/q+DCNFvapRxdZCpLAdFMWZEe3NakuT8lqwmjWGnImniUbvlaUogdnXRcJiJuRP5smQaOi2bCfVaS/wQthd2JkNiRopryUYpbuwRc1DpWZRCwuH05xPxH/o0RPHhKzUA+NgQGNfiYXLwyDpUATgwvfbpBiArVttxPIy4tx9xiDS8gXNuCKt7gkKcjBnYYM8cduA49ddFng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=l7SX/kL6XMd9FyKFEdgJWs02MD7/r4EbGB73Gq4gnNI=;
 b=PZyWYPj7e7dUvZWu78muYDJMAh6FNcoutCuUsYf2QMYQY2niFG0+SIp1XhYOY+CnvQ999YrRamfLnKH20AjhnPnNGoa4wr10zWD/sD9UiJnqx+TUwx7WExr8jfz+cHQNJnWjYHW550T+yDesozHNlVE+7+LSlj1ZEkgxPCerS8NzwpuOgHxZ4Bfl0svjQyO1KcsHS/kb8mHEufNnRM9Rbb/OpNojwTc90OFjyIz5ZTkW9Rp+uPi3ZSgvnrdBYxebg101m3gdQxolOnnwQMJYAOM2F0T50erVyC6ZpeerU8+vkLvYnZaV/oBRAVKlQS7QoBjEO/ja6r/XYJP/cNmH1g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <31fc98d2-6bdb-4d00-94f1-d075b3ccd822@suse.com>
Date: Mon, 20 Nov 2023 09:55:08 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 17/17] docs: update numa command line to support Arm
Content-Language: en-US
To: Henry Wang <Henry.Wang@arm.com>
Cc: Wei Chen <wei.chen@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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: <20231120025431.14845-1-Henry.Wang@arm.com>
 <20231120025431.14845-18-Henry.Wang@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120025431.14845-18-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0043.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c7::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9243:EE_
X-MS-Office365-Filtering-Correlation-Id: e7a5f6d3-01e5-4df5-2f54-08dbe9a665c0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vgGwLt1VpotIgqKmtYhqnXmrUW8CxhtABsMX/Ql3ey3dwoRfJWZFRWNkKR4lNoxASLB9vEKzv7SddI4IRWm4NOtr35C7DZIZrxfJ4PLhZyYvlML68DLCwaB039rpp+RXmUwMyLuLIfKIRzPFtnNcbXhXHx7bT+z+cKvVmb2mzQBUhJ5S4JeuVXWdUS/l3omDBw9PBXmppsXOtC9SxAf3x8eIZMNsFaylXeucdBSammMrGmWBCJTZ3FnxODxHzl8DsggqZuATo9E/x2EFe9Sbj6wEpVz5t2vdiQcSbX7uUK5yPLQahc7Q+Y2PAn0BfF8L3KB7Kz6/cAyTtdXS8g+NAkylu6050ThxpqQbDZtsak3mayQlktkK21BrbYbOC08AqhvrKY90TQzq+2EbbP6FozqvORhtIlRwhdpC1YBrHFg6kfHWUrKC0DfQfJNnkeqLIXA1j1JaK1PGYPI/7JmyY0w9T6gwmAZWHXEezXxL+kzItj3EbYlhIjFFZActrc/6E53ih/oR1Zk/8NTIbT8bfGD/FgiPydXzQul1z8GSgvKWtlK+jP5FEeet8OGtPUm0BZqnlv4FJfJuabZ+beHJ5pW4CRYvrjmGzWq2RLWoAjgsZoh706bZVpWzZe6cFFQq74tST/9ublkjarFps6tRkGyeUQsKisFku79aV2osprQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(136003)(346002)(230922051799003)(230173577357003)(230273577357003)(1800799012)(451199024)(186009)(64100799003)(54906003)(53546011)(66476007)(66556008)(316002)(6506007)(6916009)(66946007)(6486002)(478600001)(31686004)(6512007)(38100700002)(26005)(2906002)(2616005)(8676002)(31696002)(8936002)(4326008)(4744005)(5660300002)(36756003)(41300700001)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NnRKckpjd1RleFJsQ09nOEFVaGJoOVhVMFFndEY3cHIzcFpBSm4wOExpWlNK?=
 =?utf-8?B?T0ZXSi8zMi8zejBZcWZtdkN4Y0o4eEJSSldMd1lNZDRaUTFER3pEazhHZlQy?=
 =?utf-8?B?WU5RaEw1L05DejdyVkJ1TzJlYXdDZjVVMTJWWHBhdm5tVi9GWTN2cEwwY3B1?=
 =?utf-8?B?TFd0VFVRS0VXTXpPSWM4eXFRdnJ5K2YyRVhVTmRHMzYzcHJrRTVRZHI5L0s2?=
 =?utf-8?B?N0VQU25ZVTM4ZEJNOFNURE1wUFVoc3lLb2pGbGdSQTRSRjZHRzR6WkJZQzJT?=
 =?utf-8?B?WmpaS2lQbGhoN005TW5JZk1lNUUzeFU0QTBVV1B2MzBBMmJoTzBsaVZlbW42?=
 =?utf-8?B?Nk9uQzRVZGpZTlpBYTBXczRRN3VhYXhYSmhleVNSVXFUWSt5Mm1kMVNCcjRF?=
 =?utf-8?B?S1lNL0d1SE1FNEFBTUp2LzVROCtkV3laZGxWRys0eFJzZUZtMVVCcFNnNlpU?=
 =?utf-8?B?bzFBZFIyNFcyUncwVDBWZldKSHRNb2ZwMC8zWDNRendLZ043MWVEbEV2dTBJ?=
 =?utf-8?B?Syt5dXpTMndGUnkvdkxLWlRPcmM0cFpRVzVKam5mMTArTERPUk9CVEtaUlhZ?=
 =?utf-8?B?UlJMZUxPVWZ0TmVIckpGb21BRmlrY2dnaE5yTk5ZSnhZbThIc0ZGOWZJQ0pM?=
 =?utf-8?B?TVg1SWtYYkxscEZtK0QxZWZHUWVPazR2dGtPd2FJaDBSdTd2VWZyZndNZDdS?=
 =?utf-8?B?em1tOU5DdzFpbEx4NEltb3dwTkl1RVRlaTFuZjRsczJ4NUJ4Wm9zMXVHRWg1?=
 =?utf-8?B?MXVKRjV5KzVlbFpOUnVjY3FJVTIvWDFydWhpRWFCTkFGUzVjRmQ1ZnRsaTdC?=
 =?utf-8?B?UzlmV001Sm93OFV3dlZRdWpub2lNVCtjQVBVZXFzU3ByLzVYbkcvQncvMkZ5?=
 =?utf-8?B?cWszcVE4L0FoSWdZRC9XVHorUXBCcFREMkFlV2ZjVHdUMnh1YVN6RG9BazZN?=
 =?utf-8?B?MnhtTTdxMHd2Q1hNbWVWZGZVemZnaFQySVhuSnM5RWx5a1BxQlRENVZRaXlN?=
 =?utf-8?B?eHB1cnR1eEZIQU9CYzlJMXJkcElhTk9nMkk1VmZ0QXc3WGE2dEZDTW5LRlJG?=
 =?utf-8?B?dnNrNGFYNUdlZGZST0ZGYmZRQjRHenJMdmJqbnBZZ0tGK3BwUlUxWE1EcWVC?=
 =?utf-8?B?MjdqSC9tbGozRTZDQ0h2eEJOL21JK1ZMTElJYUdwdHJISTdNeXd4SlhMdGhL?=
 =?utf-8?B?eTJJNkpzUkp1UjBsZXN1QkhzTnR0OFZLTERVQyt4QTZTdWJ2Y2owM1hESDhi?=
 =?utf-8?B?TjBVSHJFN0RiLzVNYkZJYXdoNlFFMzlxNFZ3aHlNcXJOU1VRUFFMNHVMYkV2?=
 =?utf-8?B?dnpQRzlGS1M3ZHZ1NTZKWEF0UU1ETGFxRTY2OXFGZkVYeWtUVEpndXplaU44?=
 =?utf-8?B?WnNHQzNKM1IwYStQMmtZN0x0M2NBQ0tzNzU1YmJPaVJFNHFGV0hNTWplaFFs?=
 =?utf-8?B?SUtGRUoxd3dBOFowQk94R2s0b2EwdGVrdWNmTTFoQ2lkUUpSUkFKeWJHQnNz?=
 =?utf-8?B?bGZTMWNFeS9GOVo5UkoveGthMGxEQlJnZktFa210cC92MmxiMFJYTHpFVFpi?=
 =?utf-8?B?bEtldHNqbUpFV0c4Y0hTUjNGU3lXV3R4aG9tdjBWTkVENnM5M0UzL0phL2kz?=
 =?utf-8?B?cCtyaTRCS2U0MHd4WWdVV09tamFKKzhzQk03bVhLY0ZqZjgyQVlQYWlJcE1D?=
 =?utf-8?B?cHJSV2tHd0dsS1R1RmNBcmZKT1g0R2ZvTUdiekNKcnNvelo0VUdXSC9OWE05?=
 =?utf-8?B?MlQ4cWVOanhOdFV0aXdPSHBrY0JPeEZkdU9LeWNXTG9DbHZoOFgza09oU3Vs?=
 =?utf-8?B?MnR2TnVnR2pxUnV6UGYvd250QjVLemx4MW91Yys5eFc2TGd1OFBHRm9mS3N1?=
 =?utf-8?B?djdoaldaWHVrdEE5R3RnZ2NXenlHT0o0YmQ1eGdCK2psT2FJMTZiQmgzeEJw?=
 =?utf-8?B?bmdlVmlMNENzWTFXcitVdVYyRHhsQlFyQUUwemxBZnpPWFo5YldRM2p1ZTdu?=
 =?utf-8?B?RDlpRVNIVzg5T3ZxRzZ5UUF6ejFER29VL2VUUGhhT3YvWEZoYmdTVjA2TEZ3?=
 =?utf-8?B?bERrZHFNdlJlZkJWdE1SYnhwMVFUaS9QVGJ4RnI1QlhKZ1MyKy9sLzZORWhW?=
 =?utf-8?Q?AA0H32At2vYk5zbiax33seT/N?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e7a5f6d3-01e5-4df5-2f54-08dbe9a665c0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 08:55:08.4830
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 16rpslVE4YZvEFLejYpxG/rYLCKWSh9Xbp91uBfM31iF9lSVRhB+mbr6E+HNLgRuB2c+a2jcGfoVlUUJan2cZQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9243

On 20.11.2023 03:54, Henry Wang wrote:
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>   - On x86:
>     - Introduce a new x2APIC driver that uses Cluster Logical addressing mode
>       for IPIs and Physical addressing mode for external interrupts.
> + - On Arm, NUMA aware scheduling in Xen is supported (Tech Preview).

 - On Arm:
   - NUMA aware scheduling in Xen is supported (Tech Preview).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 08:57:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 08:57:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636492.992035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5062-0003WB-Ao; Mon, 20 Nov 2023 08:57:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636492.992035; Mon, 20 Nov 2023 08:57: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 1r5062-0003W4-7U; Mon, 20 Nov 2023 08:57:34 +0000
Received: by outflank-mailman (input) for mailman id 636492;
 Mon, 20 Nov 2023 08:57: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=N0Aw=HB=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r5060-0003Vu-SW
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 08:57:33 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d58d18c0-8782-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 09:57:29 +0100 (CET)
Received: from AS8PR07CA0033.eurprd07.prod.outlook.com (2603:10a6:20b:459::21)
 by PA4PR08MB6079.eurprd08.prod.outlook.com (2603:10a6:102:ee::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 08:57:25 +0000
Received: from AMS0EPF000001A6.eurprd05.prod.outlook.com
 (2603:10a6:20b:459:cafe::6d) by AS8PR07CA0033.outlook.office365.com
 (2603:10a6:20b:459::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16 via Frontend
 Transport; Mon, 20 Nov 2023 08:57:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A6.mail.protection.outlook.com (10.167.16.233) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.13 via Frontend Transport; Mon, 20 Nov 2023 08:57:25 +0000
Received: ("Tessian outbound e243565b0037:v228");
 Mon, 20 Nov 2023 08:57:25 +0000
Received: from 160d8c630df4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 9C5404F4-A69A-4194-AF7C-6F69EA35F49E.1; 
 Mon, 20 Nov 2023 08:57:18 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 160d8c630df4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 20 Nov 2023 08:57:18 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS4PR08MB7830.eurprd08.prod.outlook.com (2603:10a6:20b:51a::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 08:57:16 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7002.027; Mon, 20 Nov 2023
 08:57: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: d58d18c0-8782-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=RiHCflC8ASv5SaKVj5iRs7b4kC4bYu/ceKcijBl5AK/ioAJwHO0uR1RnjwxlOw9zpEZZ8AlIZ0RatSoqOTu6hOMmvejlhXiRBDWdMksQifCAEL83hI9emtfu4GgkKQ3Mkq3kDTDkTBD9dKjP2njUyKVMpp+0on0GIqWDBrW+Zjpw1sFQmGshLPOV2S9vjkgyuNcVXP07zf8QrRXNkSZzZTCW5VSIp1kFUvtMmWndNcHAMVvDSRhV/qkA1A8Gs71MOp1BOd0+2mELsyGzoZbKk//o+X2Q9exlGHQ0FpkAPqMGKQqj4woQ+ut0YvaP51NDff5Pie5Yw/VbP5S+1Gs4MA==
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=4D5mdEXE1U+s/6IsW+X/7D4JtkoeUCYydBttbpDGamw=;
 b=OTR/Z/hcRo6IZLWuPtsADmsu2Mr6d6tWTdjmOLLthoXExYlDgWpcC+kJTwpJl86h+hPKfiWJ6Q8c58sQuRCEzoRmbGN3pzrbzU8PhKNJLwjpUxQnTjGwnbCeuyGnVlYPKJpyiEw0Z24rrRhTUAZ9jZ1j0+iB6yvKY+27XnK6DGKum6Ukga4YmL9rjtEUHsR7ZtPZhilV4e7SZMsHY8yVgjLnoZJE1ajnJAk/OWBF6ijj26R2MbGz0zVpQJocN/cwAKbxntsp+s/oV5TZnHjbeX1sZTh3suXDIRBUGkttL02d7+Dt8cwiJzWJ4pOHRK/ioSR/eWzV6sGfC8MiXE3/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=4D5mdEXE1U+s/6IsW+X/7D4JtkoeUCYydBttbpDGamw=;
 b=nihiSrbDMGMQPfxAlLI0rguwySfhWQQqAPuoyzqwGVWbflZ8sGbT92be5z+H6cNrR5EMhcuh9JHYtKu+CpAbieL3qcDPFKvJR/M6mtvowpLz+aIrXxN6pzfKyRbLaCObqIw2jEDtMicI6UVpM0igmUuXwhOQZuO2wz6rWJPJkU0=
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: 4a00452dde098f69
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M0ZkGvcFwhKgNaRltpU8x6wfntGuN0rfPAl8jxrfz8L0tJ+13UzgVtUolRjBUq7VZ6rkRk71wQTVCms3IkiEHMV7t4k5Hs8aRKpd4bWFdiM2g9et8fazSqHYVaJtPYR544/wzTh3SyI8OmswcvD/Azwl/rkAITxkhjRvGERQE+9SkUxSSRiHSJBYN55/1z2p5o1dOs/aGOZJaawQgVK6Y4K3K9EpXH+uAYHeyBa2dtc1ZD5vLtf33tE7Vz3ne++jXB6uJe81jkpOdeJcbqGZhwUexiRYBR5QkI6Z33AXJ8YjijNcv8JayejpspZ+aXypPEbdcPQlm4f281EODONDCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4D5mdEXE1U+s/6IsW+X/7D4JtkoeUCYydBttbpDGamw=;
 b=m3DYIF4chreI8U0Zn9gqxtnNx/A+qWRsd/Zd60oq9b66vSUfJYo7SjAcdfOBOYqDOYlm/OG60YWl1mu0CjcX/mBgzh2ChM1k6DmbFivyhrdjjo2D02nyQvMACtvKUdzAu3k7px/PSRBAHnaCBh35YklQNNiTUhjT93Li3sUU1mRYmtR1WzY3po/4WWnHvDuo4DBFx7zcTamLm6H9Pib695haOfZpjdREw5XoMSbpmKGuHgBFA/WqJTlsowPpoR1/ZeTql0ME4KYbt851oHMHL+DTIAOltVrTc31Zvi6fA7/jyhnY7x16LVp+sOjjZFoIBhk4OSQ44apNJ2oKQ86qsQ==
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=4D5mdEXE1U+s/6IsW+X/7D4JtkoeUCYydBttbpDGamw=;
 b=nihiSrbDMGMQPfxAlLI0rguwySfhWQQqAPuoyzqwGVWbflZ8sGbT92be5z+H6cNrR5EMhcuh9JHYtKu+CpAbieL3qcDPFKvJR/M6mtvowpLz+aIrXxN6pzfKyRbLaCObqIw2jEDtMicI6UVpM0igmUuXwhOQZuO2wz6rWJPJkU0=
From: Henry Wang <Henry.Wang@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Chen <Wei.Chen@arm.com>, Community Manager
	<community.manager@xenproject.org>, 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 v6 17/17] docs: update numa command line to support Arm
Thread-Topic: [PATCH v6 17/17] docs: update numa command line to support Arm
Thread-Index: AQHaG10aByfSKDcqDUu2sSAjolqOTbCC58sAgAAAiwA=
Date: Mon, 20 Nov 2023 08:57:16 +0000
Message-ID: <4F1E7C67-F55A-42E2-9B61-C71075605AC2@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
 <20231120025431.14845-18-Henry.Wang@arm.com>
 <31fc98d2-6bdb-4d00-94f1-d075b3ccd822@suse.com>
In-Reply-To: <31fc98d2-6bdb-4d00-94f1-d075b3ccd822@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS4PR08MB7830:EE_|AMS0EPF000001A6:EE_|PA4PR08MB6079:EE_
X-MS-Office365-Filtering-Correlation-Id: 83166039-df47-4217-6668-08dbe9a6b787
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:
 Tw7rFPJCGxGvXgYjajj8wOF/InCFuV/jys6vSv7CvoY4G5AQCWMrAcYpXM6MJd3XTVoijKxSgpwqpx2SpKRyqy6TH4gHx8BdtrciBTOft0caZWzXaCSXkRb1vu7UlVgL6jvfZRQcYl9Jb3JiOO3gaEbyEfUxq9LZL86bq/iYctpy1zEkOPbdHY4gVVIidhdEbi7B6X+DZcs81xv4Wllzg+VOBosr+38bO4wELraamDVHugRJBcLFpGm9M1FY0RNqCxt6Vi+UXgzPjONbkjHmYmKABSF5nRi+xzN2u+pTKP0Pq/mIaAr4q2WPuyi5RyWPOXxHYZRK0qga8I/bY8hwcB2Fzlkp69T8jMbJ6dwz3iEF36ogm1bWjjVZjK9mt9S+V4O1WD6rEJIZO/FneyKv4N8AQHyA7Njc5gf+gkCrhm86rYE4JC57tMRwbCKBzzN+MviZz6KP4aUddStri8qWMQ+iccMJSAQPx/x2ieuH9HFLobqbm6+Sc3tzZqRizpoEr1st4yMYHXpfJdaiHOFTgK7gKnbAdrfR3S3v5gf1Dn1YFxjp0nwXif4jY09eaE0oXO/6TPRylFmtzGiYPTpKH9otkJ5o9R949H4dlEUFalXHChBeNX42qZ1Uo05I6OmTGsFtvbdnC+1sC8h0gdwNXhFsWGTxf38AF+tYllmJvvYDlwyVVTBo8pep81YI43G+
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:(13230031)(346002)(366004)(136003)(396003)(376002)(39860400002)(230922051799003)(230273577357003)(230173577357003)(451199024)(186009)(64100799003)(1800799012)(38100700002)(86362001)(36756003)(33656002)(38070700009)(122000001)(6916009)(76116006)(66946007)(91956017)(66556008)(66476007)(66446008)(64756008)(54906003)(316002)(8676002)(4326008)(8936002)(41300700001)(5660300002)(4744005)(2906002)(53546011)(6512007)(26005)(2616005)(71200400001)(6486002)(478600001)(6506007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <360AFE920AED2F429F5C997577E4681E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7830
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:
 AMS0EPF000001A6.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c34bdea2-e6e6-41e1-8022-08dbe9a6b21e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5d+cu36YtEgyaLuEVhkiOz7ykD8tdChsXIydcQ019JLHFPct1WzYtd52CpBq3Wafq2AtYEfQcVYOPzAoqHafEwXzIx+eycpmkW2wcvIGky41EpA3Yf8qlV1+cNQ3Bm0qVQBNv6Yr7EmKrWcWXUzE4DKKJuDi4DAl6o6F2NDQWm3M5eQcekDKCG/VH+hLM6brjnLbiIwATDRiCQfcWqXTc8juZU3yithOR3llXcMUDcFNO5sG2ARTxsOI2hkx/bwLd1GqOZaa6YqazPMHhkMQgURymzzaGWh1JN7wlBDOZn8XyioFHZL+0ZFHK0zVw1EBkHV1h6a90SVgaFUKZ2sJBLax1QypWpuTDT3oyDxAcN8Zt05WIvOkaaScyjuL8ecZeBqhRK2eKSoxFMNrBT/7YfjwX7y/7kaxWeKGHLeg6k9MNOnKhYVBj2Y5NPd0Uyp9G5lqaDjWtFNsXyns6ueFQFnONXnC85nbwLb/j3ImZRftdg6b22sVZRvIdSCPzEnG+9Qxz2nvQJW93gQvErMLGx8wZMSrYkawaer+MZoeEZd7WbgxNaIHPwrKQREpEV87Yofng9o83QKAA5L/ECONlTyJ3J2ciqmQswEYhCgWXl7jLbubRGNLKx0sYIvQbMAvXNvj3H9f543mYwLOop5ahuoljUU8T8PrpOYKbbgan7xla9rm0+sCmWV25zKV/tDFw+RoGjIWaXiZPp2NyYdtXPZ1GxUZKUMCLnbxBOdVuoGCcI/Rk/BKJgHw5okrRF3gy7I5tjA8Yfuve0j088AiCQ==
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:(13230031)(4636009)(346002)(39860400002)(396003)(136003)(376002)(230922051799003)(230273577357003)(230173577357003)(1800799012)(82310400011)(451199024)(64100799003)(186009)(36840700001)(40470700004)(46966006)(316002)(40480700001)(26005)(336012)(2616005)(41300700001)(54906003)(478600001)(70586007)(70206006)(81166007)(356005)(6506007)(6512007)(53546011)(6486002)(47076005)(8936002)(8676002)(6862004)(4326008)(36860700001)(4744005)(2906002)(5660300002)(36756003)(33656002)(40460700003)(86362001)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 08:57:25.5379
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 83166039-df47-4217-6668-08dbe9a6b787
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:
	AMS0EPF000001A6.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6079

Hi Jan,

> On Nov 20, 2023, at 16:55, Jan Beulich <jbeulich@suse.com> wrote:
>=20
> On 20.11.2023 03:54, Henry Wang wrote:
>> --- a/CHANGELOG.md
>> +++ b/CHANGELOG.md
>> @@ -12,6 +12,7 @@ The format is based on [Keep a Changelog](https://keep=
achangelog.com/en/1.0.0/)
>>  - On x86:
>>    - Introduce a new x2APIC driver that uses Cluster Logical addressing =
mode
>>      for IPIs and Physical addressing mode for external interrupts.
>> + - On Arm, NUMA aware scheduling in Xen is supported (Tech Preview).
>=20
> - On Arm:
>   - NUMA aware scheduling in Xen is supported (Tech Preview).

Ah yes that looks indeed better, will do the suggested format in next versi=
on. Thanks.

Kind regards,
Henry

>=20
> Jan
>=20



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 09:02:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 09:02:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636497.992044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r50Az-00053k-VU; Mon, 20 Nov 2023 09:02:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636497.992044; Mon, 20 Nov 2023 09:02: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 1r50Az-00053d-So; Mon, 20 Nov 2023 09:02:41 +0000
Received: by outflank-mailman (input) for mailman id 636497;
 Mon, 20 Nov 2023 09:02: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r50Az-00053X-56
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 09:02:41 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20629.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::629])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8de41645-8783-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 10:02:38 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7740.eurprd04.prod.outlook.com (2603:10a6:10:1ee::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 09:02:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 09:02: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: 8de41645-8783-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B7HlSXvLPeoHaVzWCjQi9eHdpScXR7vvWGd1cm3kbmpRsQAsc20jafY71/HWtqGcsXktd58+sfe3CYVE4OjWW7eShiZvG4YPIfhVukVmp5nkjSYVvTmtkHiyuqfY9aqiW+0JhqAaOavqArrcVUanJGspgvLS7souikTAOVDTTrkfgl52dL4QzwNy12FDIhWP6nSbebAXPF46Ex+Zel0Pc1MyhmkxaAxtYXcWCd16QeEdzoJ8hILYB9HPYp5gcugo2/4iFnwl5ya4eXKyRW4cdxR8fctjmx3/ERVTiPN+YbMaQucH/m1kdrneCwhCyDhjILXtAt46V0Q8WfgbJCL3lA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HICccsNUF/EOWkVvcxfIwhFU09YZGjCFraXnkhzxsA0=;
 b=QFAesjpsLRcWy5eRYmj3JBSvuZvmrUqWv9TxLDUB1vKEPR4aAXCs5R0+Nw+NBhNHpOnn+eIjNiLOzU5Kjcjke2oUdsf4ShROo1qmc4BqOqHcn93kwXdtrD0dvtort5n7tTw0TCTLZHmqWvKaoFSoQ26ulzBFAdIvL+GJ/VkzdI277yQRu64YAlBlPSsTt2adfc52NjZL6jHBjKHDN+XehQRHI93rVwG7inAVjF++6x1cum+ZodTkrtEnuS1leMzhfozyr9yBXMuiU3Tf/Gc5Zq/6/7PyD8GOXBGU+xCwF+GJVimPSNDEq1Ev2Q2eVBxSzL29TVnD9CikjyqQH0LlYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HICccsNUF/EOWkVvcxfIwhFU09YZGjCFraXnkhzxsA0=;
 b=IVMtKGEBjPBHAWlrsOAbwvnBN8EIhUVrOWe3csX1pKRu7/vIM9wNSYRMdRLFB2hKDMeDOklKrxW6RfsHpUA7frL+jh5UuPPVc7GvTA8G8stN1v0FHwAHoDO3NhALnnyDO9FK0WgxaeZY9I4Hvu4loamKGmlwhNctHYMP1RQ+3urFJjaa94NPmamhsjBkLuTgcITpX/e7b2Gwq2qIBJ02M0+riwPUAG+DyYmHPU/4+1pipRfwgmkbUhRGKlIPjS0cVRKmx+gyfW+wOy1VYbDwUODBdMBzcrc3HmDSPYMmOWdqwGKI05uooBNV+rDPvGeoEn+W9m2kfb1xF1lSbMWRYg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <19d887e6-8c07-43f3-a2de-88ce0a0c99ba@suse.com>
Date: Mon, 20 Nov 2023 10:02:37 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/5] xen/sort: address violations of MISRA C:2012 Rule
 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700209834.git.federico.serafini@bugseng.com>
 <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0005.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7740:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b2a6cc5-7b3e-4e16-5bb9-08dbe9a77144
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	58/Th3gV2Q0EAHoEAgQIXIxDZABffTCqR4LfwXcVycvHZFhaBVb603KLcPeqTx4vwyQJBOaqTgvQ+dhbAN1qHu+shRQro68Ijl+2Va34SdvKZzM+lZ3zrrIRcIfvQP+eo+PjmGZIMSXCETOaQXXYVjkUR7g9BMxu8f/jI+muCqoB4pxQa8qN97ePpwWWNfC1lFR+r5pBCnBfzNXm55BlFcbQDdaWofJ9Mg2n9zZ9a/suvPgQY8RQW9xwcl+aRswi0xf+4frgihjlc4gxBmwnA5HUbVT1NfeOc63AVAr4WlJEETXwQJgyiFxl/nIl78ZBiFuE7LkOrv5Hljcw2eMyVF1OwgttYNHPebpNbYoJyueyBctVq9yEKO/j2rdXByRfBvbyHRp6yO6vUcDxE4TOzrkdEWWpQNIZ9yPuazZuIfJ4eoX7gL/aUcDHuXLY6tlRM4TMzeNYhCEoyXRB/EpIZ/NiFVmW1dpdkRtaY+uhXykY0WouGRI4smEB8ldWNjHofGTyET4Sk1ohU/nO0mdKQpkD4IHKsit77ziReBrfi9PgbYHFRrAw4IqrZSkuCTk0FE/BMhORM9wrCDOvdCoRcFPCVPNMeZqc0KZII85c/XV/gV1na2MWW6r1q/T346+vI3lL5+IjUg5fARAmJI6Fjw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(366004)(39860400002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(66946007)(66556008)(316002)(6916009)(66476007)(54906003)(26005)(36756003)(8936002)(4326008)(8676002)(38100700002)(41300700001)(31696002)(86362001)(2906002)(4744005)(5660300002)(6486002)(478600001)(6512007)(31686004)(53546011)(6506007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Mmlka2hReHY0SkpoZFJYcjFyRmVld3FOMnQrQ2g4S1BKM1RQUldOWkwzYVVz?=
 =?utf-8?B?bmJTb0tueUhhaU5MMVFyaXhiNTNJYUd2dTB2R3MydVdxdkN2bHhVTTRJbFlS?=
 =?utf-8?B?K3J2TUZuMWd3QjkzSHlMVEtWN05mL04zaDQ1NUF5aFJpZDY3R3pnWmxwS3FJ?=
 =?utf-8?B?blVwU3FSRlNUYU93NlFTWG53cndQQnp1VmlYSThwNlBScTU0VGFRN3NZZU9P?=
 =?utf-8?B?VlhldExmVFJ1WCt1aVNCUE1WdDh3NGVEek50dU8ycCtNU0Z2Zm05d0MyOHVl?=
 =?utf-8?B?MFpBd2QzWGRXb3ZDV2hQdnlyZFRvb3hDR3hPREd5MVJ1M1Z1T0hURjRxaWxG?=
 =?utf-8?B?Z2dCSWd1c2FBaTFMOGRlYVNseHBQZlVQTFY0dnZpekFlbGU0SEkwcGs4ditr?=
 =?utf-8?B?Rm1Bb0d3eVI0M2NqTVJ0bUppaDB1S2RLM3hwd1FKOEtGM05jVFVqTE5Bd0lJ?=
 =?utf-8?B?RGtvMlJxclBIOGVKczd4YXJTNTRlNTc2WVdCVlhXY2s5M1hZd1JnQVRQRUpz?=
 =?utf-8?B?Q3JaUTJXOVRuMVkzVURaenQxSklDOW9iSDhBRThWbllOc3BDemVtbmVWTFJJ?=
 =?utf-8?B?NXB0OUROZUhQTG16YXE2LzBBNFhidEJjcGcvRE9LY011VVVKd0Z2R0pNMVhh?=
 =?utf-8?B?WW80TklRaVI0SVFIdDFLdTlScUQva0N2VWpISmRUd01LQ2ZSdEdENFJ1WTA0?=
 =?utf-8?B?a0hRM1ExSENlZVZ2Nmpta0wyVkRjWkdpMzBzRzlzYnpwUHlFSHh2UjU3Uy9Z?=
 =?utf-8?B?N2FnUmpiQVdOOEE0d20rcjFDS0Rva0UrQWVBd2JTYktFd2FDeENMWVYzQlg1?=
 =?utf-8?B?VFBlR1RZUklKOHI1NjJWcXo4Mzc0aUpMZnFRQXBFc3kzOXBZMm5ETll4eU5P?=
 =?utf-8?B?WGZUQkk4NW9xMEZ5VGRCMmlxSUVZRi9PZWM5YjBVL1Q1YVNlUko2dENiNkRs?=
 =?utf-8?B?NnpLVmhCZFNiT3puSjVLM295elI5MEtTZEE5emlxc2l2L0hORnRCNVRRSjJ2?=
 =?utf-8?B?UHordms2VzZLeUJzcDE0YStjSWhsVkFlT0E0RE5UMWpoS09DRi9RWUl5city?=
 =?utf-8?B?UXhPVnJYaGNWckgzOTJORTRSWDMxMUVIVVpYV3VoWXBObmV5ekVuR1FFd1BO?=
 =?utf-8?B?MGE4ZGkxTGxCa3hOYktqbGR1Z2lCcUdoWEpCWTZuNkNRVnBqYm40d0J1N1Jl?=
 =?utf-8?B?dzFDUzQwc3I1Z1ZlQVlUeWE3UWoxWWVjWHJJZlBMRUQ4RnQvMkVRbS9FL1Ay?=
 =?utf-8?B?TDVhTjNaR2lVa29URkpqMUFTMEo3RExxNEdmeWFxbWlyVWRvUk9LZFRheVBp?=
 =?utf-8?B?QXRDaTFvQW0vUHMwck9hUjhXOVdHNkw5M1JqTkVWNi9hVklXNWkzR25oTTJD?=
 =?utf-8?B?eUNPNlJvNkFFUXZJUjlyMk9GMlA1UDZkTnNCZHpvMFc2YkZaRGZKMFBDekcr?=
 =?utf-8?B?RU5wVU02T1Nqd1ZuNCtuZktIYWtqdksvaDBsNzU0TzdyQWNsa2d3YnhQZmNy?=
 =?utf-8?B?ZmNPR0hwR0FoSnZiUjl2eGZPT2phQVMzNmFzV0dhMG90K0lreU0rZzNBTmlE?=
 =?utf-8?B?QzJkT1ppWDNNTk1vbVlLY0FhYVdZU1BMckhCcTZydHJjSlc4M0Jid2tlejhV?=
 =?utf-8?B?SjcxaXY5VElzWmlhTnBwdzFRbHFybDhOOEpUSEkzYmxaZzh5QzRlREJHNmZJ?=
 =?utf-8?B?Sk5BS2dLeGFoL2Y3cU1NaFJEMmpqQmMwM3F6OUFxaVgyT3dMb2RhTnc5REVI?=
 =?utf-8?B?VURhQlh2K2ZMMmpORlRmK2Uxc0VzM2NFT2xkaUdDdkJBS1B4MFJ2aktpajJX?=
 =?utf-8?B?RHVTTTh3S0VDM21oWmViVTNDUVFBc2dxeFpSR3BpSlNoMkRuOHVhdjJJRTdk?=
 =?utf-8?B?MWoxUVIzK2FZOVVGcEJ2eGZHRXhBa0lPVmdXREFSRFZFaTRkK0dXeTNuSG9O?=
 =?utf-8?B?K0d4M0xaU213NHBGZS8ySm5wNVQ0dEppakxDaE1BRlArQkplRkZLUFN5YUN2?=
 =?utf-8?B?Vm91TGEzSCt2VnprRnB4T25aV1hBUGVDQmQ3TlRhKzc5cnZic0VBcC9vWjU4?=
 =?utf-8?B?S3d3aWZObktYYlpjUlNLQWxBdURreHZESDJrQS9JeGZ6TXczay9lZ2hieENH?=
 =?utf-8?Q?L6heR0X5xiJBAIvmojPqMnV4Y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b2a6cc5-7b3e-4e16-5bb9-08dbe9a77144
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 09:02:37.3407
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5kY3hSA25guDMJot6fve/ZHhQJHAaP7izIljyEfSwAI57DQUi42SD40GeUlK2aHXJfvmuHGsOEhZ1EyExb3fhg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7740

On 17.11.2023 09:40, Federico Serafini wrote:
> --- a/xen/include/xen/sort.h
> +++ b/xen/include/xen/sort.h
> @@ -23,8 +23,8 @@
>  extern gnu_inline
>  #endif
>  void sort(void *base, size_t num, size_t size,
> -          int (*cmp)(const void *, const void *),
> -          void (*swap)(void *, void *, size_t))
> +          int (*cmp)(const void *key, const void *elem),

Why "key" and "elem" here, but ...

> +          void (*swap)(void *a, void *b, size_t size))

... "a" and "b" here? The first example of users of sort() that I'm
looking at right now (x86/extable.c) is consistent in its naming.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 09:21:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 09:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636504.992055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r50TG-0000qq-DU; Mon, 20 Nov 2023 09:21:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636504.992055; Mon, 20 Nov 2023 09:21: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 1r50TG-0000qj-Ao; Mon, 20 Nov 2023 09:21:34 +0000
Received: by outflank-mailman (input) for mailman id 636504;
 Mon, 20 Nov 2023 09:21: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r50TE-0000qY-Jh
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 09:21:32 +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 30318105-8786-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 10:21:30 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4083f613275so15163595e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 01:21:30 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 f11-20020a05600c4e8b00b0040535648639sm13013788wmq.36.2023.11.20.01.21.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 01:21:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30318105-8786-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700472089; x=1701076889; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=/Y7z44IMmtxg3JLnszHwZ9hbE6G7yoE0v9EloD2EQCg=;
        b=rhV1yz2M9/40g2jNUWKCxlp0LzUPySWS2Jei/Vqat/ZnCs1DPS1/Qjn25o9mRANTdZ
         j8smIuFGLH/72oR6xd6nrL4r6FgKpCedcfPNGLWPikRnbyttxLDvUdb8ZcH3TNBg0Udj
         I2Cla4acy/dpkLaGI81kvi67xt8vld05lAuIQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700472089; x=1701076889;
        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:subject:date:message-id:reply-to;
        bh=/Y7z44IMmtxg3JLnszHwZ9hbE6G7yoE0v9EloD2EQCg=;
        b=wKn5Nflxm5xvSojeVE0nD61TEU2vG7n9/Pzf6m/P/E2Ogx7TkMENALNNE4ywHDUFXb
         oWVmCe/drSFKYkJFXHCLh9R5fFi0etM9yZls7s4dJWPZyqPschXNJYrVrUN3WHCAiRtu
         79L1lzAfHowRHCkHfjcSBltXJY1USPNClJn8JlIy3L6JPpHfSw4YETSXrnTGcZGjj1Bk
         XbuwR51JlwHVDgm4ULcmxSK8SsRvqeXXpbptZUWbNGzB/NlCcwUw0iHDis5q5XKnqeo2
         EtzV0Ce21ugQ4TOIeFYvNNScggk8c8QSFtUM5wQ2yKNp16AY03f/nc/Kxeg2L0VO/KlH
         1zNw==
X-Gm-Message-State: AOJu0YzYZYSnQsp7LwaodZEjmxs2ld8b2LNHOu/c0HJ58h0hKxlavtnj
	t0ZxaMbsBDmZ7Gt5dnDFgCVL0Q==
X-Google-Smtp-Source: AGHT+IGVj2s7D54HC3ta6IG5kGHl5LDyjyNQtrSlZqcM85zKDzIeCoUKNpSk8KOmY6T3+6CbMYDObw==
X-Received: by 2002:a05:600c:350a:b0:409:19a0:d247 with SMTP id h10-20020a05600c350a00b0040919a0d247mr5616773wmq.18.1700472089486;
        Mon, 20 Nov 2023 01:21:29 -0800 (PST)
Date: Mon, 20 Nov 2023 10:21:28 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: James Dingwall <james-xen@dingwall.me.uk>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Message-ID: <ZVslGC8VGP0kZ-dK@macbook.local>
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
 <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
 <ZVcv7259slJF4wBh@dingwall.me.uk>
 <ZVc9yq9b6fezMWcY@macbook.local>
 <ZVsceVGKOMP2zhU9@dingwall.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZVsceVGKOMP2zhU9@dingwall.me.uk>

On Mon, Nov 20, 2023 at 08:44:41AM +0000, James Dingwall wrote:
> On Fri, Nov 17, 2023 at 11:17:46AM +0100, Roger Pau Monné wrote:
> > On Fri, Nov 17, 2023 at 09:18:39AM +0000, James Dingwall wrote:
> > > On Thu, Nov 16, 2023 at 04:32:47PM +0000, Andrew Cooper wrote:
> > > > On 16/11/2023 4:15 pm, James Dingwall wrote:
> > > > > Hi,
> > > > >
> > > > > Per the msr_relaxed documentation:
> > > > >
> > > > >    "If using this option is necessary to fix an issue, please report a bug."
> > > > >
> > > > > After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
> > > > > started experiencing a BSOD at boot with one of our Windows guests.  We found
> > > > > that enabling `msr_relaxed = 1` in the guest configuration has resolved the
> > > > > problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
> > > > > the following messages were caught as the BSOD happened:
> > > > >
> > > > > (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
> > > > > (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
> > > > > (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
> > > > >
> > > > > I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
> > > > > series from last month:
> > > > >
> > > > > https://patchwork.kernel.org/project/xen-devel/list/?series=796550
> > > > >
> > > > > Picking out just a small part of that fixes the problem for us. Although the
> > > > > the patch is against 4.15.5 I think it would be relevant to more recent
> > > > > releases too.
> > > > 
> > > > Which version of Windows, and what hardware?
> > > > 
> > > > The Viridian Crash isn't about the RDMSR itself - it's presumably
> > > > collateral damage shortly thereafter.
> > > > 
> > > > Does filling in 0 for that MSR also resolve the issue?  It's model
> > > > specific and we absolutely cannot pass it through from real hardware
> > > > like that.
> > > > 
> > > 
> > > Hi Andrew,
> > > 
> > > Thanks for your response.  The guest is running Windows 10 and the crash
> > > happens in a proprietary hardware driver.
> > 
> > When you say proprietary you mean a custom driver made for your
> > use-case, or is this some vendor driver widely available?
> > 
> 
> Hi Roger,
> 
> We have emulated some point of sale hardware with a custom qemu device.  It
> is reasonably common but limited to its particular sector.  As the physical
> hardware is all built to the same specification I assume the driver has made
> assumptions about the availability of MSR_TEMPERATURE_TARGET and doesn't
> handle the case it is absent which leads to the BSOD in the Windows guest.

Hello James,

We have in the past exposed MSRs in order to workaround OSes
assumptions about such MSRs being unconditionally present, so it's not
completely unacceptable that we might end up exposing this if strictly
required.

My question would be, is it possible for such driver to get fixed in
order to avoid unconditionally poking at MSR_TEMPERATURE_TARGET, or
that's impossible?

>From the Intel manual it seems like MSR_TEMPERATURE_TARGET is
unconditionally present on certain models, and hence we might have no
other option but to end up adding a dummy handler for reads.  I do
wonder whether returning all 0 is correct, as then the "thermal
throttling" would be enable when the CPU temp > 0C, which is
unrealistic.  I assume that wouldn't matter much as long as drivers
don't choke on such weird value.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 09:24:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 09:24:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636509.992065 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r50Vm-0001Qs-Qw; Mon, 20 Nov 2023 09:24:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636509.992065; Mon, 20 Nov 2023 09:24: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 1r50Vm-0001Ql-Mg; Mon, 20 Nov 2023 09:24:10 +0000
Received: by outflank-mailman (input) for mailman id 636509;
 Mon, 20 Nov 2023 09:24: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r50Vk-0001QZ-NL
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 09:24:08 +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 8d858c94-8786-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 10:24:06 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-32df66c691dso2600218f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 01:24:06 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 b17-20020a05600010d100b003316be2df7fsm9542799wrx.17.2023.11.20.01.24.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 01:24:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d858c94-8786-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700472246; x=1701077046; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=FXMXqISN0kxnxQ5R+YAi/MKlVT3efrlNOG0/pIOUKqU=;
        b=uzYQfukV4D9AHKB6PO9FL6+MS5ukAZAjCBxD4WoWgb02YwwPjgrJGFKR4HeLdvmgZp
         kYMAF5N1HM/HfkAF3odnfKgqZDGxniflielcO2jd9nskVcYHu7wC7X887gcjv7dl2uxl
         dmJuiHzPpB4SD7UZO7r8NXlvLTXK6N+X2diT4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700472246; x=1701077046;
        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:subject:date:message-id:reply-to;
        bh=FXMXqISN0kxnxQ5R+YAi/MKlVT3efrlNOG0/pIOUKqU=;
        b=JJoJaRArmB2/3HYmMKpSw23No6/V6BdZQtDkTCCkzJ69JSYF4h5MxPMxyTwSux7yL8
         g5+Zh3ynpp+CrbKevlJFnLSZGa2cZpuatWmz9CcOhgFB0bYPRrgUQLrcI3h9egKfvwuH
         EI654trZPPcjjTTHPDClgWu/Tz0DJNgnRH6U670HSij5LOUTuCKHoLzzy5rjhMHXt9xa
         JP3VNjqwodn1AAj408SWmxK9SGupS5u/08zPrD4je657RIJg/eqxW5zc8/lTB3wb2oPL
         WlHauIIZY+YoVTdV0M7h4SGWOGB5tQVVggWfPZVusP1/XG2uxxZE5e6GFGfdPmTtjKJg
         PKLw==
X-Gm-Message-State: AOJu0YzWRHmcV9VjgLkBPq4dtmZx6MGHo8AuCiQE2SkHvXBdkgu9LQS0
	NbBX3dUsSDzQmThuNb5ORVwR/A==
X-Google-Smtp-Source: AGHT+IHLHqz8yGnYTeV2Xbh/NcwSgO4TG1tt7fprmAAMi8G4j9+WggCfPy8U3A7TCDc2bTWXVaGhEQ==
X-Received: by 2002:a5d:448c:0:b0:331:6961:6cc7 with SMTP id j12-20020a5d448c000000b0033169616cc7mr4238824wrq.25.1700472246115;
        Mon, 20 Nov 2023 01:24:06 -0800 (PST)
Date: Mon, 20 Nov 2023 10:24:05 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: James Dingwall <james-xen@dingwall.me.uk>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Message-ID: <ZVsltWxNzrlGZNV0@macbook.local>
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
 <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
 <ZVcv7259slJF4wBh@dingwall.me.uk>
 <2bd9028d-bd3d-435f-8788-38f3460ea188@suse.com>
 <ZVsYeB7DG/F2EdM7@dingwall.me.uk>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZVsYeB7DG/F2EdM7@dingwall.me.uk>

On Mon, Nov 20, 2023 at 08:27:36AM +0000, James Dingwall wrote:
> On Fri, Nov 17, 2023 at 10:56:30AM +0100, Jan Beulich wrote:
> > On 17.11.2023 10:18, James Dingwall wrote:
> > > On Thu, Nov 16, 2023 at 04:32:47PM +0000, Andrew Cooper wrote:
> > >> On 16/11/2023 4:15 pm, James Dingwall wrote:
> > >>> Hi,
> > >>>
> > >>> Per the msr_relaxed documentation:
> > >>>
> > >>>    "If using this option is necessary to fix an issue, please report a bug."
> > >>>
> > >>> After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
> > >>> started experiencing a BSOD at boot with one of our Windows guests.  We found
> > >>> that enabling `msr_relaxed = 1` in the guest configuration has resolved the
> > >>> problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
> > >>> the following messages were caught as the BSOD happened:
> > >>>
> > >>> (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
> > >>> (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
> > >>> (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
> > >>>
> > >>> I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
> > >>> series from last month:
> > >>>
> > >>> https://patchwork.kernel.org/project/xen-devel/list/?series=796550
> > >>>
> > >>> Picking out just a small part of that fixes the problem for us. Although the
> > >>> the patch is against 4.15.5 I think it would be relevant to more recent
> > >>> releases too.
> > >>
> > >> Which version of Windows, and what hardware?
> > >>
> > >> The Viridian Crash isn't about the RDMSR itself - it's presumably
> > >> collateral damage shortly thereafter.
> > >>
> > >> Does filling in 0 for that MSR also resolve the issue?  It's model
> > >> specific and we absolutely cannot pass it through from real hardware
> > >> like that.
> > >>
> > > 
> > > Hi Andrew,
> > > 
> > > Thanks for your response.  The guest is running Windows 10 and the crash
> > > happens in a proprietary hardware driver.  A little bit of knowledge as
> > > they say was enough to stop the crash but I don't understand the impact
> > > of what I've actually done...
> > > 
> > > To rework the patch I'd need a bit of guidance, if I understand your
> > > suggestion I set the MSR to 0 with this change in emul-priv-op.c:
> > 
> > For the purpose of the experiment suggested by Andrew ...
> > 
> > > diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
> > > index ed97b1d6fcc..66f5e417df6 100644
> > > --- a/xen/arch/x86/pv/emul-priv-op.c
> > > +++ b/xen/arch/x86/pv/emul-priv-op.c
> > > @@ -976,6 +976,10 @@ static int read_msr(unsigned int reg, uint64_t *val,
> > >          *val = 0;
> > >          return X86EMUL_OKAY;
> > >  
> > > +    case MSR_TEMPERATURE_TARGET:
> > > +        *val = 0;
> > > +        return X86EMUL_OKAY;
> > > +
> > >      case MSR_P6_PERFCTR(0) ... MSR_P6_PERFCTR(7):
> > >      case MSR_P6_EVNTSEL(0) ... MSR_P6_EVNTSEL(3):
> > >      case MSR_CORE_PERF_FIXED_CTR0 ... MSR_CORE_PERF_FIXED_CTR2:
> > 
> > ... you wouldn't need this (affects PV domains only), and ...
> > 
> > > and this in vmx.c:
> > > 
> > > diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> > > index 54023a92587..bbf37b7f272 100644
> > > --- a/xen/arch/x86/hvm/vmx/vmx.c
> > > +++ b/xen/arch/x86/hvm/vmx/vmx.c
> > > @@ -3259,6 +3259,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
> > >          if ( !nvmx_msr_read_intercept(msr, msr_content) )
> > >              goto gp_fault;
> > >          break;
> > > +
> > > +    case MSR_TEMPERATURE_TARGET:
> > > +        *msr_content = 0;
> > > +        break;

I think the preference now is to add such handling directly in
guest_rdmsr()?  Protected with a:

if ( !(cp->x86_vendor & (X86_VENDOR_INTEL)) )
    goto gp_fault;

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 09:45:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 09:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636518.992075 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r50qV-0005qh-GV; Mon, 20 Nov 2023 09:45:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636518.992075; Mon, 20 Nov 2023 09:45: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 1r50qV-0005qa-Cr; Mon, 20 Nov 2023 09:45:35 +0000
Received: by outflank-mailman (input) for mailman id 636518;
 Mon, 20 Nov 2023 09:45: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r50qT-0005qU-Dh
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 09:45:33 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b5aa6fb-8789-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 10:45:31 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7670.eurprd04.prod.outlook.com (2603:10a6:20b:297::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 09:45:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 09:45: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: 8b5aa6fb-8789-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=llVOwg0szul4MBnI8wBINWEkq0bl4b2IDXTcr2VbDhO03APd66UFz88eYBMH6ouQZVpRiZC4qZ3T8gxWggfevmbGW5xnB0HbBYpURJcgQ4vSUcOcYhHpNOIytPIcYRnMHG73DgaP+ILscMUDM43RQ0OfbhR/pgL46BwLHmenrr0+oxPVyHZ6gc92sCrvq/tBHFaHh8f0E+k0lWkvtBor4PN/7BHNhJWT9JgNVpj9DdByVrldppVk6epJcz8iKmwfOKOY2japBD3WbXuFKVakfDfVa8OQfGIwpw9F8QILP8J5MBxU9qg2CgOrNkD/Rp9zSOov+OM/yE2Uy5zkOi2NIQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ovPYBdVuHzxMQCvdmoXlW0IrIrTqTh3xuEQfZGiELbM=;
 b=mubWQB5UZBC9tz6mUSM3e/P7HJHlV2Dpvp7Y1Hmaqq1wjc1iI2NKoietQNUAYIapf9qtlX+NUC7wcqcFe8GXTo2F7k5epULlNV0GuFAVBiPbOBAtTJPSO9kFeuhy5aHJ0Q3KbUxFDf7EiUvpRwHqOo89uqhbIznwGPnDpEz6BOAPJopBT4lbwoO5rXlsANYiInp/am75iqBF9KW3OWI5HmQkXaldUoOtSt6G06hhITYdmSsgAF7ojUXKHnUsYsBex56mqTqlzm40qz24RGzW1M6Y0F7tDmvVekICYdfL1XPoU5bv2ddfQGEhRToNm4Nb1yM3vBfpxSIPhhfeamGEnw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ovPYBdVuHzxMQCvdmoXlW0IrIrTqTh3xuEQfZGiELbM=;
 b=zqLvrLBmlI/8dkcfMfE5WOyhJlh4xg8HhWFzxajC93YWclqFK6WhEhkb3m1EYjIh9wYKk85Xd137dCaKWduNpB0sWn17wIg79vIQsS5HSedJL4MPOQhy82BQiCPsA02zqngCqIzP+oYV71KwFUaH24M38nwefUmZzgjwWchzxtENkqRgUj08wiQ22gRnCvYjFxbvchwBJTdXxkWb14GeCt7xC4qmoS4e+l+8l/XGw4pNQdFlYaO7f8D3ADIlBlpsZGcmQNMdt1KFy4q0tq3LVKlpd6lHwCPVVda/zf9QdDKr526iRtfw4bg+higpir9lc5zE1sZ+ewlq1hkcF6QG/A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0392fe23-7589-4dc2-b664-1e7e01c3914d@suse.com>
Date: Mon, 20 Nov 2023 10:45:29 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] amd-vi: use the same IOMMU page table levels for PV
 and HVM
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Roger Pau Monne <roger.pau@citrix.com>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-2-roger.pau@citrix.com>
 <e90d416e-f4dd-4b2c-9247-0e3aa35c26d9@citrix.com>
Cc: xen-devel@lists.xenproject.org
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e90d416e-f4dd-4b2c-9247-0e3aa35c26d9@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0046.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7670:EE_
X-MS-Office365-Filtering-Correlation-Id: 2c4252fd-85ac-4169-b05a-08dbe9ad6da8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FQMoR8OXkow/6QycwkT3NJw0fUvRmqeToHWHM8OLgr0UVGTAu1R7Ve1uOQkAQGIm3FoukaJZBmQ6bVa5wJvY9YBmQ0mPv1vJljgFfHD2Oyu7spG+hSXz3TPLbhs5oFrShUY/qT0fnwgBMBVtEozGDFozHFxjGvmfFkTDY45zR1uJRxeZuF7eJuS+yYsbqRtAgp5E42oKp4B/sx7Be/igVxCGqaZKnNXj8UKY/Xs793h/Wc0yv/ylDs7q5OcQDv5sYMb44ftYXmnJRRy27PDgo8df05V9h0u6LPkX9/le+SBcjip73nRY65WlcopWaZqu2n2Ea9Pzs2guIVV1KTIELGFt1tMFqqP+78i/fyF1G25SPNy5SSa8G+LuXg/tRBMOcLVg3j5XlnE/T5Dv9TNPZTJ2iCiKJ0IQipNzrr1Rjqlmiv9OhHV0+EGRvtWxh6pojr7MpUAvPgyy1zLVwLp9yEN6Cy/+oGXgPnNcOuPtZt3d8C8vQAolzgO/fnystgZ1dRzbTvKVl22iVmDKeZCyRmC12pr15XMW3JwTVa9LqfIZSLxQ0lRHa6jKMQd+IORpVlaSVv4rzZzcDA3zUsmen0403ROlXFzxuEOvzmQeTi7tEL3kLp9aDwqmNoHsxexOJMqLg0ehQhcnu3esv03Iqw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(136003)(376002)(39860400002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(2616005)(6506007)(53546011)(41300700001)(6512007)(83380400001)(26005)(36756003)(4326008)(8676002)(8936002)(478600001)(5660300002)(86362001)(6486002)(31696002)(31686004)(2906002)(38100700002)(66476007)(66556008)(110136005)(66946007)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eGhPNWtFUVc1TS9DaGdmTUx2QmdOcWQ0aFphaCtmanVROEJpL0dFd1dROVVj?=
 =?utf-8?B?a0o1Y24zVmgvRWVYc1JWVjRZdVFQZVB0U0lwazlHcklqcW9KOWIraHFnK0s2?=
 =?utf-8?B?cWlrT21RM3cyUU05OWpZbkZOMVVUNjJuZTdCdmpoUUtsdUNSNUlPL0krQ1VW?=
 =?utf-8?B?UVRqNDVDTURNRjlmT1NLU2g1NXdHc0Ezc0lpaTRNWnUzZnFNNWFIM2lWeUQ4?=
 =?utf-8?B?YWRxc0xUZENsU1V4SFpwUnk1TG1IdXpMaXpjQ29Jb0paenhyT29qZ2VPL3ZD?=
 =?utf-8?B?bXY3Q0VON2ViRndMSnZxRldZT2Voa0hYZG1lUmhKRU9qUEx5b1RZRWdwcThh?=
 =?utf-8?B?L3FlRGVUbnRFNTEzalhrRUR0Um1ZVlNQVWZsbnJ2QldLMXBFcUJqWnRlUGcr?=
 =?utf-8?B?ejQyaE1BY09FeW1BcGE0eXN6MGZtQ0RROWMvVldWcGdpYmhhdVhaVlZMQllN?=
 =?utf-8?B?OW9EZ1M5S1gzbkpCd056dDVnbTF6U0V6ODlUOVl5eTd2YXVTRWNFb09pcENI?=
 =?utf-8?B?N2Z1akM3aFFvTmJOVHk1MGtzOHhPQng4WVZXV3VzWjZ4cFRVOFEreGFiRVhk?=
 =?utf-8?B?ajEwa1RsOG1pZnUzRWU5NmpyRkwyMHZTRWxNbE9RR05mclBtb24xTXVHYlVL?=
 =?utf-8?B?dlJ4UHorVU84dXlRSURzcHI1QktIeUdJbllEcktJeGlLS1h5dzRpNER4clNa?=
 =?utf-8?B?bThYWmpKU2ttWUFoVHQyay95TFd0dEVkbHRJWWppU0JkNUQ5aEJla0s5T1Nw?=
 =?utf-8?B?N3JuRUhRcXNobURHaHpwdmtWRi9EeDd1MndPajc1Zlo3REpQYkllc3Fwc01K?=
 =?utf-8?B?M0Y0YldxdGxSK0thNzl5Q3ZSU0FTY1h2cy9qaTVwVG5mMjZWUXFNUXlGZzdu?=
 =?utf-8?B?Z2Y4dUNZZEVVcmlYdktoSXB6N0sxVENyc3RvZEpHOUNSSUowazljdENHVnk5?=
 =?utf-8?B?MlQ5OWRuTE1wS2tpSXVDdk5FTlloNFFpYU1uODU2Kys1bVVHR1dVaW1rQVBQ?=
 =?utf-8?B?U3Y5ZWhabXdVZTR6NVc1bHBVTlp4MWJ1V3M2V2VwMDZ0OE5ocTI5bTVPRTVJ?=
 =?utf-8?B?eHRXTkNYZ3E5RDJVUFk3b3hYa3RKTDhlN1Qyb0R6aXNrZE1UcjhMMFJ1ZGl0?=
 =?utf-8?B?T1V5ejh0aUd3RWsvT3kxRnJVelpvQ2pTVkMxNVEyRjlwckltS2VWbjN1SFRk?=
 =?utf-8?B?Qlc5a0FkL2RkVVFqUnpwbmFONEZVMXEzUHNOR3hTTnlVdlVKRS9RZFo4T2k3?=
 =?utf-8?B?czh0UjdrdEF6OW5OVmV3SGRES2t0ZHl0TzhaVVJqbjM4R1R6TjBKQlNPNEg4?=
 =?utf-8?B?VWtLZFh6QVFPMXJOV0M4TEVxYkp2UVI1c29ENUxKKzBrV3pYYzhhQnpNYXhK?=
 =?utf-8?B?RXd5ZW1uZkNrN05EbEdBeE0vdUN0eVIvTU1Genk5Y2thUG9CQ1pjRXZVMUp6?=
 =?utf-8?B?YllNQWlCM2UxcDZLMXRtSURqZWR6RXhZb1E3REVvTDIrOTNwWXozQkRMSWts?=
 =?utf-8?B?bkIwaXlvRS8xS2g3ekllOTN0ekdDVit1RlRYWmY1cTk5U3BKcER0djlseU0w?=
 =?utf-8?B?cFBNTkJSdUFHc3A0Z1NwalRwVVJIWXhxeGNEYmJHcWlDeHdMWXlDTGtrdXlT?=
 =?utf-8?B?Q2FHZW5UZ0Y3d3I2VnVuSjFlSVpYR3g1cFZJd0pnMjNqSVhRbTRuRWoxSEZE?=
 =?utf-8?B?U3B0Q3RvdGk2MzIrUFZha1JlYlFZWlcyamZVNkEwYUdkdXF3cmcxQlNiMjdE?=
 =?utf-8?B?R1VMUkw5bVVNNkJBcE9YMjh0ejdiM0o4QXcyNHVLUnVQWTBSQjY0QS9Sc0VS?=
 =?utf-8?B?NWFrSlp2cTI4RzRPd25YcmhtbDRkOEl6UWlFZjc3d2IvUTlSQnBSTlB4ZExi?=
 =?utf-8?B?aUpYODdTWTVLcVJ0UmE1NmEzb1FrRjN4akI3NFh3emx1cVNLeVM0UEM4Q29z?=
 =?utf-8?B?T2NMK01tVUZnN2pzZ3hqK3lxZUxibmRhVTM2Z3NmVmtkMzJ3K2tOSHFaOHdR?=
 =?utf-8?B?MS9CSzNuNHZGcExWMlJ6NktldlZKSk9Oc3pFVElnLzVGeHdqdHlLc0RMWDJ4?=
 =?utf-8?B?T1hCWXFYc05FVHhyV3V2cHBWL1ZUTVpNMXYyeld1Z2lRbjYvY1VJaVNGTGtN?=
 =?utf-8?Q?dSz9Z0gZJpV+YnVd+/jW/PpWb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2c4252fd-85ac-4169-b05a-08dbe9ad6da8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 09:45:28.4322
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: V2lDrHtQaFVNdf7vK2BWwvzdSz10c6+qgpMJNBGKiJ719Acery01LtkHYpX4amnMxlhS+ZHUdNJqny5k2fO1VA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7670

On 17.11.2023 12:55, Andrew Cooper wrote:
> On 17/11/2023 9:47 am, Roger Pau Monne wrote:
>> Using different page table levels for HVM or PV guest is not helpful, and is
>> not inline with the IOMMU implementation used by the other architecture vendor
>> (VT-d).
>>
>> Switch to uniformly use DEFAULT_DOMAIN_ADDRESS_WIDTH in order to set the AMD-Vi
>> page table levels.
>>
>> Note using the max RAM address for PV was bogus anyway, as there's no guarantee
>> there can't be device MMIO or reserved regions past the maximum RAM region.
> 
> Indeed - and the MMIO regions do matter for P2P DMA.

So what about any such living above the 48-bit boundary (i.e. not covered
by DEFAULT_DOMAIN_ADDRESS_WIDTH)?

>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Variable-height IOMMU pagetables are not worth the security
> vulnerabilities they're made of.  I regret not fighting hard enough to
> kill them entirely several years ago...
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
> 
>> ---
>>  xen/drivers/passthrough/amd/pci_amd_iommu.c | 20 ++++++++------------
>>  1 file changed, 8 insertions(+), 12 deletions(-)
>>
>> diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
>> index 6bc73dc21052..f9e749d74da2 100644
>> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
>> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
>> @@ -359,21 +359,17 @@ int __read_mostly amd_iommu_min_paging_mode = 1;
>>  static int cf_check amd_iommu_domain_init(struct domain *d)
>>  {
>>      struct domain_iommu *hd = dom_iommu(d);
>> +    int pgmode = amd_iommu_get_paging_mode(
>> +        1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT));
> 
> "paging mode" comes from the spec, but it's a very backwards way of
> spelling height.
> 
> Can we at least start to improve the comprehensibility by renaming this
> variable.
> 
>> +
>> +    if ( pgmode < 0 )
>> +        return pgmode;
>>  
>>      /*
>> -     * Choose the number of levels for the IOMMU page tables.
>> -     * - PV needs 3 or 4, depending on whether there is RAM (including hotplug
>> -     *   RAM) above the 512G boundary.
>> -     * - HVM could in principle use 3 or 4 depending on how much guest
>> -     *   physical address space we give it, but this isn't known yet so use 4
>> -     *   unilaterally.
>> -     * - Unity maps may require an even higher number.
>> +     * Choose the number of levels for the IOMMU page tables, taking into
>> +     * account unity maps.
>>       */
>> -    hd->arch.amd.paging_mode = max(amd_iommu_get_paging_mode(
>> -            is_hvm_domain(d)
>> -            ? 1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
>> -            : get_upper_mfn_bound() + 1),
>> -        amd_iommu_min_paging_mode);
>> +    hd->arch.amd.paging_mode = max(pgmode, amd_iommu_min_paging_mode);
> 
> I think these min/max variables can be dropped now we're not doing
> variable height IOMMU pagetables, which further simplifies this expression.

Did you take unity maps into account? At least $subject and comment looks
to not be consistent in this regard: Either unity maps need considering
specially (and then we don't uniformly use the same depth), or they don't
need mentioning in the comment (anymore).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 10:16:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 10:16:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636526.992084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r51KN-0003wn-09; Mon, 20 Nov 2023 10:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636526.992084; Mon, 20 Nov 2023 10: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 1r51KM-0003wg-T1; Mon, 20 Nov 2023 10:16:26 +0000
Received: by outflank-mailman (input) for mailman id 636526;
 Mon, 20 Nov 2023 10:16: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 1r51KM-0003wW-9y; Mon, 20 Nov 2023 10:16: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 1r51KM-0003dv-3T; Mon, 20 Nov 2023 10:16: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 1r51KL-000205-Jw; Mon, 20 Nov 2023 10:16:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r51KL-0003dW-JA; Mon, 20 Nov 2023 10:16: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=12b4uemm7rXl618IMbG+2flME+iLGmRrerm1LGzhhek=; b=ILxpuoqBdCbgC1lZpJU63aVEMb
	aYlJo3esm8ZmdXkL/brYsP0Bovu9iQuYDuSg2Eiie9gyFSJpCwq3jpsyGdpGNn9HxOjQCgBya6XMT
	j+lqzeGb3W3vK6wcyjC7AlFSciudY65McH7vJUKRfWJmYhfYAf6p1VUMhI4EAq6H3uDk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183795-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183795: FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:<job status>:broken:regression
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:host-install(5):broken:heisenbug
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:guest-start/debianhvm.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-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-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: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-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
X-Osstest-Versions-This:
    xen=98758ae48974d6d24f999e4d9324e463d326f66f
X-Osstest-Versions-That:
    xen=98758ae48974d6d24f999e4d9324e463d326f66f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Nov 2023 10:16:25 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm <job status> broken in 183791

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 5 host-install(5) broken in 183791 pass in 183795
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm 20 guest-start/debianhvm.repeat fail pass in 183791

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183791
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183791
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183791
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183791
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183791
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183791
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183791
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183791
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183791
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183791
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183791
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183791
 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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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          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-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-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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  98758ae48974d6d24f999e4d9324e463d326f66f
baseline version:
 xen                  98758ae48974d6d24f999e4d9324e463d326f66f

Last test of basis   183795  2023-11-20 01:53:42 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                  fail    
 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-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-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

broken-job test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm broken

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 10:22:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 10:22:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636531.992095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r51QX-0005yU-MC; Mon, 20 Nov 2023 10:22:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636531.992095; Mon, 20 Nov 2023 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 1r51QX-0005yN-J7; Mon, 20 Nov 2023 10:22:49 +0000
Received: by outflank-mailman (input) for mailman id 636531;
 Mon, 20 Nov 2023 10:22: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 1r51QW-0005yE-84
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 10:22: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 1r51QU-0003kz-Qd; Mon, 20 Nov 2023 10:22:46 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r51QU-0005Ys-Dg; Mon, 20 Nov 2023 10:22: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=JBTWH0/PeKMWkR1qb9TXlyOkNTM4CQVeenXSrfz6WEI=; b=mFxe681nO+3snEF5igIoD1J2qx
	KigC6BuWVyrXKtgEbSvVXgojUEfQpLs7w1DbmuUaSoPkjESVU3EQ3qk2FrN9mVzpfKaliXDEEe/5F
	IxWwCy54re3QOGd360kqw5yxFhCTKqTk5WDoJKa1gVYH3MImU0WrHj4Y+BzSHeytHcPI=;
Message-ID: <fb4dd725-956e-4378-85d5-3aeca40abca8@xen.org>
Date: Mon, 20 Nov 2023 10:22:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 bertrand.marquis@arm.com, George Dunlap <george.dunlap@citrix.com>,
 Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <991883873b73e644ccaf8114a80331c0@bugseng.com>
 <40a3918e-730f-48b9-924f-d8707b197e14@xen.org>
 <alpine.DEB.2.22.394.2311171832561.773207@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2311171832561.773207@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefano,

On 18/11/2023 02:47, Stefano Stabellini wrote:
> On Fri, 17 Nov 2023, Julien Grall wrote:
>> On 16/11/2023 09:15, Nicola Vetrini wrote:
>>> On 2023-11-16 10:08, Nicola Vetrini wrote:
>>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
>>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>>>
>>>> Add missing 'xen/compiler.h' #include-s where needed.
>>>>
>>>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>>>> is modified to reflect this change.
>>>>
>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>> ---
>>>> This patch should be applied after patch 2 of this series.
>>>> The request made by Julien to update the wording is
>>>> contained in the present patch.
>>>> https://lore.kernel.org/all/9ad7f6210c15f520297aac00e8af0e64@bugseng.com/
>>>>
>>>> Concerns about efi_multiboot2 will be dealt with separately.
>>>>
>>>> Changes in v2:
>>>> - Edit safe.json.
>>>> - Remove mention of SAF-1-safe in deviations.rst.
>>>> Changes in v3:
>>>> - Sorted #include-s and rebased against
>>>> 7ad0c774e474 ("x86/boot: tidy #include-s")
>>>> ---
>>>>   docs/misra/deviations.rst   |  5 ++---
>>>>   docs/misra/safe.json        |  2 +-
>>>>   xen/arch/arm/cpuerrata.c    |  7 +++----
>>>>   xen/arch/arm/setup.c        |  5 ++---
>>>>   xen/arch/arm/smpboot.c      |  3 +--
>>>>   xen/arch/arm/traps.c        | 21 +++++++--------------
>>>>   xen/arch/x86/boot/cmdline.c |  5 +++--
>>>>   xen/arch/x86/boot/reloc.c   |  6 +++---
>>>>   xen/arch/x86/extable.c      |  3 +--
>>>>   xen/arch/x86/setup.c        |  3 +--
>>>>   xen/arch/x86/traps.c        | 27 +++++++++------------------
>>>>   xen/common/efi/boot.c       |  5 ++---
>>>>   12 files changed, 35 insertions(+), 57 deletions(-)
>>>>
>>>
>>> In hindsight I should have added an
>>>
>>> Acked-by: Julien Grall <jgrall@amazon.com>
>>>
>>> given that the comment has been addressed in my opinion.
>>
>> I am a bit confused how you considered it was addressed. I see no update in
>> safe.json when I clearly asked for some (I wouldn't have bothered to comment
>> in v2 otherwise and just gave an ack).
>>
>> To be explicit, I requested to:
>>    1. update the description in [1] to clarify that SAF-1 is deprecated.
>>    2. This patch is rebased on top and therefore remove completely the mention
>> of SAF-1.
>>
>> I am well-aware that the end result is technically the same. But patches are
>> meant to be self-contained so if we revert the latest, then the meaning is
>> still the same.
>>
>> This patch is unlikely to be removed and this is now the nth time I asked it
>> the same (maybe it was not clear enough?). So I am going to content with the
>> current proposal because this is not worth to go further. But I will at least
>> express my discontent how this is handled.
> 
> Just to be extra clearm, you are not happy with it, but you would
> tolerate the patch to be committed as is, right?

Correct.

> 
> 
>> TBH, there are far too many MISRA patches on the ML spread across multiple
>> threads. Some are based on top of the others. This makes extremely difficult
>> to follow and know what is addressed or not. Can we at least try to condense
>> some of work in similar area in the same series? For instance, this patch
>> could have been included in the other series [1].
>>
>> Lastly, right now, I have 300 emails (31 threads) with MISRA in the title in
>> my inbox. It is a little unclear what has been committed/review or require
>> input. I am concerned to miss key series (the patch to compile in docs/ was
>> nearly missed).
>>
>> Do we track anywhere which series are still inflights? Can we consider to
>> pause or at least slow down the rate of new MISRA patches until the backlog is
>> cleared? (Adding more patches is not really helping).
> 
> I cleared out the ones I was tracking and were acked. I hope this helps.
> As far as I can tell these are the ones currently under discussion:
> 
> - [XEN PATCH v5 0/2] use the documentation for MISRA C:2012 Dir 4.1
> - first 4 patches of [XEN PATCH][for-4.19 v4 0/8] address violations of MISRA C:2012 Rule 10.1
> - [XEN PATCH][for-4.19 v2 0/2] use the macro ISOLATE_LOW_BIT where appropriate
> - [XEN PATCH v2] domain: add ASSERT to help static analysis tools
> - [XEN PATCH v3] xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
> - [XEN PATCH v2] automation/eclair: add deviations for MISRA C:2012 Rule 8.3
> - this patch
> - [XEN PATCH 0/5] xen: address some violations of MISRA C:2012 Rule 8.2


Thanks! I will remove the rest from my inbox.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 10:27:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 10:27:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636535.992105 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r51Up-0007Kk-6x; Mon, 20 Nov 2023 10:27:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636535.992105; Mon, 20 Nov 2023 10:27: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 1r51Up-0007Kd-2l; Mon, 20 Nov 2023 10:27:15 +0000
Received: by outflank-mailman (input) for mailman id 636535;
 Mon, 20 Nov 2023 10:27: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r51Uo-0007KX-D2
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 10:27:14 +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 5de73f49-878f-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 11:27:12 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40839807e82so9265585e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 02:27:12 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 z16-20020a05600c221000b0040472ad9a3dsm12664646wml.14.2023.11.20.02.27.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 02:27:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5de73f49-878f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700476031; x=1701080831; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=H6u5IIKMrRnAgP9P3e4yJP9E097PlWxV4mL2jqDXVB0=;
        b=ggH2RJXLvQAyy7gsLP1HWHS5TcWOvDtxJjWGfok9+tkMNmXI6YSQL9obCWr14vYae7
         RKAn8wCrP3DkfIdBpVs5ObVsvDFhtip0TZcs2+ogdGdwQaRGbe4U13H4BF9Iyx0IqwfU
         XjQyqIerGSiPEaH7kqiw4jvcab5xHIWQ3lNY0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700476031; x=1701080831;
        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:subject:date:message-id:reply-to;
        bh=H6u5IIKMrRnAgP9P3e4yJP9E097PlWxV4mL2jqDXVB0=;
        b=w3KAXFlUFlZhiKpAu9hPZdao3dWwDYr1GSt+y3P8Ha3IBw/hMUOthKbpUfI/7Cyv1q
         USnbY/nO3mtwGLiMifNExJI26P9jUHYP+2bTnaDWhK7HdGN+ZTGZLXWYMC/J2O7Ju5Wm
         WSWoGMQ0Y+V1FQ2vTvOewUFyBubq2YaWUM/Do6BONOG3DY44dSTbM4OCWmZX+KxzXwC6
         w9YiWMyCXumm67YzhjjNjELVilLuUqbc4CrSoa+fQdKp7TWUNIkPq8FSnOmcBwu8ryCt
         GgX7bJ0A4KCWwP750QND5B6paoaOBVWI5Swvv27nDUnyU2lpamUZgeSkb9IVgGnlfG6M
         K+4Q==
X-Gm-Message-State: AOJu0YxyglgutOopQAlaQ1FG6BRdFyi6O4ua5Qd+AWFC6qDHLS0vF/Pp
	YyiB96x/33lGUjVaF/Z2uiB7HQ==
X-Google-Smtp-Source: AGHT+IGk5J5lR/glBGdvdtfIlXvkZ5v4HP4RZHNQcVyz7MOPfqPgvoMaPhR0Cjy4QO6Y/oIUnxH96Q==
X-Received: by 2002:a05:600c:1d18:b0:403:c70b:b688 with SMTP id l24-20020a05600c1d1800b00403c70bb688mr5614311wms.6.1700476031614;
        Mon, 20 Nov 2023 02:27:11 -0800 (PST)
Date: Mon, 20 Nov 2023 11:27:10 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/3] amd-vi: use the same IOMMU page table levels for PV
 and HVM
Message-ID: <ZVs0fvUQI9C7NRc5@macbook.local>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-2-roger.pau@citrix.com>
 <e90d416e-f4dd-4b2c-9247-0e3aa35c26d9@citrix.com>
 <0392fe23-7589-4dc2-b664-1e7e01c3914d@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <0392fe23-7589-4dc2-b664-1e7e01c3914d@suse.com>

On Mon, Nov 20, 2023 at 10:45:29AM +0100, Jan Beulich wrote:
> On 17.11.2023 12:55, Andrew Cooper wrote:
> > On 17/11/2023 9:47 am, Roger Pau Monne wrote:
> >> Using different page table levels for HVM or PV guest is not helpful, and is
> >> not inline with the IOMMU implementation used by the other architecture vendor
> >> (VT-d).
> >>
> >> Switch to uniformly use DEFAULT_DOMAIN_ADDRESS_WIDTH in order to set the AMD-Vi
> >> page table levels.
> >>
> >> Note using the max RAM address for PV was bogus anyway, as there's no guarantee
> >> there can't be device MMIO or reserved regions past the maximum RAM region.
> > 
> > Indeed - and the MMIO regions do matter for P2P DMA.
> 
> So what about any such living above the 48-bit boundary (i.e. not covered
> by DEFAULT_DOMAIN_ADDRESS_WIDTH)?

That would only work for PV guests AFAICT, as HVM guests will already
refuse to create such mappings even before getting into the IOMMU
code: p2m_pt_set_entry() will return an error as the p2m code only
deals with 4 level page tables.

> 
> >> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > 
> > Variable-height IOMMU pagetables are not worth the security
> > vulnerabilities they're made of.  I regret not fighting hard enough to
> > kill them entirely several years ago...
> > 
> > Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, although...
> > 
> >> ---
> >>  xen/drivers/passthrough/amd/pci_amd_iommu.c | 20 ++++++++------------
> >>  1 file changed, 8 insertions(+), 12 deletions(-)
> >>
> >> diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> >> index 6bc73dc21052..f9e749d74da2 100644
> >> --- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
> >> +++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
> >> @@ -359,21 +359,17 @@ int __read_mostly amd_iommu_min_paging_mode = 1;
> >>  static int cf_check amd_iommu_domain_init(struct domain *d)
> >>  {
> >>      struct domain_iommu *hd = dom_iommu(d);
> >> +    int pgmode = amd_iommu_get_paging_mode(
> >> +        1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT));
> > 
> > "paging mode" comes from the spec, but it's a very backwards way of
> > spelling height.
> > 
> > Can we at least start to improve the comprehensibility by renaming this
> > variable.
> > 
> >> +
> >> +    if ( pgmode < 0 )
> >> +        return pgmode;
> >>  
> >>      /*
> >> -     * Choose the number of levels for the IOMMU page tables.
> >> -     * - PV needs 3 or 4, depending on whether there is RAM (including hotplug
> >> -     *   RAM) above the 512G boundary.
> >> -     * - HVM could in principle use 3 or 4 depending on how much guest
> >> -     *   physical address space we give it, but this isn't known yet so use 4
> >> -     *   unilaterally.
> >> -     * - Unity maps may require an even higher number.
> >> +     * Choose the number of levels for the IOMMU page tables, taking into
> >> +     * account unity maps.
> >>       */
> >> -    hd->arch.amd.paging_mode = max(amd_iommu_get_paging_mode(
> >> -            is_hvm_domain(d)
> >> -            ? 1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
> >> -            : get_upper_mfn_bound() + 1),
> >> -        amd_iommu_min_paging_mode);
> >> +    hd->arch.amd.paging_mode = max(pgmode, amd_iommu_min_paging_mode);
> > 
> > I think these min/max variables can be dropped now we're not doing
> > variable height IOMMU pagetables, which further simplifies this expression.
> 
> Did you take unity maps into account? At least $subject and comment looks
> to not be consistent in this regard: Either unity maps need considering
> specially (and then we don't uniformly use the same depth), or they don't
> need mentioning in the comment (anymore).

Unity maps that require an address width > DEFAULT_DOMAIN_ADDRESS_WIDTH
will currently only work on PV at best, as HVM p2m code is limited to
4 level page tables, so even if the IOMMU page tables support a
greater address width the call to map such regions will trigger an
error in the p2m code way before attempting to create any IOMMU
mappings.

We could do:

hd->arch.amd.paging_mode =
    is_hvm_domain(d) ? pgmode : max(pgmode, amd_iommu_min_paging_mode);

Putting IVMD/RMRR regions that require the usage of 5 level page
tables would be a very short sighted move by vendors IMO.

And will put us back in a situation where PV vs HVM can get different
IOMMU page table levels, which is undesirable.  It might be better to
just assume all domains use DEFAULT_DOMAIN_ADDRESS_WIDTH and hide
devices that have IVMD/RMRR regions above that limit.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 10:27:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 10:27:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636537.992115 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r51VA-0007nQ-Hq; Mon, 20 Nov 2023 10:27:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636537.992115; Mon, 20 Nov 2023 10:27: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 1r51VA-0007nJ-Ec; Mon, 20 Nov 2023 10:27:36 +0000
Received: by outflank-mailman (input) for mailman id 636537;
 Mon, 20 Nov 2023 10:27: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 1r51V8-0007ka-Tg
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 10:27: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 1r51V8-0003q8-8I; Mon, 20 Nov 2023 10:27:34 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r51V8-0005dL-2f; Mon, 20 Nov 2023 10: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>
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=b9WTyREGn44df4ZwnXmPPUTdHDU1YuvZ6ZCGIAOV4tI=; b=orlSzS97+M2EQur+DZQ8HtG02d
	RT2dApcNOCY7RfV7dpmh/ggrKEgmimV9CgAS1ksbJWD5Ctik2iQDUVcm1ufZ+zDbac3U+tKGvBloU
	qE4jhdZfUAVM70l6292HM40rEwpLMIr/Ack8AdLoa3xLw5m6FEiTs/6IUwjsBG02I2r0=;
Message-ID: <f14ac7c8-0584-40ea-ad7a-2f3c6c7692b2@xen.org>
Date: Mon, 20 Nov 2023 10:27:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, bertrand.marquis@arm.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <991883873b73e644ccaf8114a80331c0@bugseng.com>
 <40a3918e-730f-48b9-924f-d8707b197e14@xen.org>
 <c4ff5ecc8f4e11cae4a8e282d87c4e14@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c4ff5ecc8f4e11cae4a8e282d87c4e14@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Nicola,

On 20/11/2023 08:39, Nicola Vetrini wrote:
> On 2023-11-17 20:15, Julien Grall wrote:
>> Hi Nicola,
>>
>> On 16/11/2023 09:15, Nicola Vetrini wrote:
>>> On 2023-11-16 10:08, Nicola Vetrini wrote:
>>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
>>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>>>
>>>> Add missing 'xen/compiler.h' #include-s where needed.
>>>>
>>>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>>>> is modified to reflect this change.
>>>>
>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>> ---
>>>> This patch should be applied after patch 2 of this series.
>>>> The request made by Julien to update the wording is
>>>> contained in the present patch.
>>>> https://lore.kernel.org/all/9ad7f6210c15f520297aac00e8af0e64@bugseng.com/
>>>>
>>>> Concerns about efi_multiboot2 will be dealt with separately.
>>>>
>>>> Changes in v2:
>>>> - Edit safe.json.
>>>> - Remove mention of SAF-1-safe in deviations.rst.
>>>> Changes in v3:
>>>> - Sorted #include-s and rebased against
>>>> 7ad0c774e474 ("x86/boot: tidy #include-s")
>>>> ---
>>>>  docs/misra/deviations.rst   |  5 ++---
>>>>  docs/misra/safe.json        |  2 +-
>>>>  xen/arch/arm/cpuerrata.c    |  7 +++----
>>>>  xen/arch/arm/setup.c        |  5 ++---
>>>>  xen/arch/arm/smpboot.c      |  3 +--
>>>>  xen/arch/arm/traps.c        | 21 +++++++--------------
>>>>  xen/arch/x86/boot/cmdline.c |  5 +++--
>>>>  xen/arch/x86/boot/reloc.c   |  6 +++---
>>>>  xen/arch/x86/extable.c      |  3 +--
>>>>  xen/arch/x86/setup.c        |  3 +--
>>>>  xen/arch/x86/traps.c        | 27 +++++++++------------------
>>>>  xen/common/efi/boot.c       |  5 ++---
>>>>  12 files changed, 35 insertions(+), 57 deletions(-)
>>>>
>>>
>>> In hindsight I should have added an
>>>
>>> Acked-by: Julien Grall <jgrall@amazon.com>
>>>
>>> given that the comment has been addressed in my opinion.
>>
>> I am a bit confused how you considered it was addressed. I see no 
>> update in safe.json when I clearly asked for some (I wouldn't have 
>> bothered to comment in v2 otherwise and just gave an ack).
>>
> 
> I did update safe.json like so:
> 
> -            "text": "Functions and variables used only by asm modules 
> do not need to have a visible declaration prior to their definition."
> +            "text": "Not used anymore."
> 
> but given what you wrote below, maybe you wanted this in the series [1], 
> right?

No. In series [1], we still need a proper description for SAF-1 as there 
are still some use in the codebase. So it was correct to have this hunk 
in this series.

What I was asking in series [1], it to reword:

+     - Functions and variables used only by asm modules are either 
marked with
+       the `asmlinkage` macro or with a SAF-1-safe textual deviation
+       (see safe.json).


to something like:

- Functions and variables used only by asm modules are marked with the 
`asmlinkage macro``. This may also be marked with the now deprecated 
SAF-1-safe textual deviation (see safe.json).

> 
>> To be explicit, I requested to:
>>   1. update the description in [2] to clarify that SAF-1 is deprecated.
>>   2. This patch is rebased on top and therefore remove completely the 
>> mention of SAF-1.
>>
>> I am well-aware that the end result is technically the same. But 
>> patches are meant to be self-contained so if we revert the latest, 
>> then the meaning is still the same.
>>
>> This patch is unlikely to be removed and this is now the nth time I 
>> asked it the same (maybe it was not clear enough?). So I am going to 
>> content with the current proposal because this is not worth to go 
>> further. But I will at least express my discontent how this is handled.
>>
> 
> I misunderstood your previous comments then. When you commented on v2 I 
> surmised that you were ok with this patch condensing all the shuffling. 
> Clearly this was not the case, but I also want to point out that. Given 
> that [2] hasn't been committed yet either, then I can do what you asked.

No need for this time.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 10:30:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 10:30:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636545.992125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r51Xr-0000ux-Vq; Mon, 20 Nov 2023 10:30:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636545.992125; Mon, 20 Nov 2023 10:30: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 1r51Xr-0000uq-Ry; Mon, 20 Nov 2023 10:30:23 +0000
Received: by outflank-mailman (input) for mailman id 636545;
 Mon, 20 Nov 2023 10:30: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r51Xp-0000ud-Vm
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 10:30:22 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20626.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce37fd69-878f-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 11:30:21 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAWPR04MB9912.eurprd04.prod.outlook.com (2603:10a6:102:387::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 10:30:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 10: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: ce37fd69-878f-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C96/YKUhh72wYVEVmUGQwPebTnoJfV7ETopcHLLCSDqAFYfSDKtoKy4sHj+WRA+Od7cVtyM61h4R7FDFoEX1u3NYDCH++Dkt9UHhLnV1X5+SDNuoFzv1EViCGS9JfFuhNQ4NreOU4tp1+m6D1H63IN/YdipeRJB0B5wzLkt9WiR1jHHUQMbwUUdaTsbyCA36UnRgUFHQNj828EZUSm4Voa7yArs57wSYKXBJFiF5zchqCxZ6Noc/SU4bRtZ5fAmNE8dnBMn8D45bMpxKteYDpGmk33fXChMAwcZQqzB33gARCtIC1wBpxm5ohz6S5RPc1Y3PD9VDkNzxkgk1HDXDXw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4g7qqN6ucZJINMdBhE4OI2oJFfnaEz3HJMBXdhYnjHA=;
 b=VDN4v3ej33eq3woS0AWloXmZRQZQ1J+9041ynVhtPP3Le5EhsScxc3t7qmMN7x5vrKmwph3yPal9xW4OLh+NOgwwruGwDVQCxS7cUQxP1KP5U2y0xMmj+dhAGntcWYm9bFJjw38wT8Ytci9lr+tU2fkOe7VR/E1K0/ghqllS+gzuZMQDO1QDAZjgt15OzhdeeXVWSd744i1cmHGkYdCjONrGWfhonpQUOKquJ++VSRLrOZWhsHTHQU2AYgEJxoa2nxpa084qCPJwbx2TFzeRKXU2N2CsNbq6opUHbJsx3+5b5a+skuT1ZociQ2XOhaKK5kj4NDJ3B/lrx/+A67MZjg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4g7qqN6ucZJINMdBhE4OI2oJFfnaEz3HJMBXdhYnjHA=;
 b=cnv7FIXUF23HFBhdrQDIpzf/NkA++ZA19aV4uVnOf1cRKFPf1QMoNAlex7IMK9y4lBF+yM6z5TOJGQ3jnM4j52h/FtrIm/gPk3DmoV548xCo4hEGp2nxx3QNw4Z6kN0RvZoR+5bm7ZC1LgGAvULX7fLDyytHdQaRSVf5dP6ZkwLfyZf1lCEowN+/S9F5MmXQE4ub/sACXPgEhHWQu/X2HaFC30+lqw57PRCRfRoDVRwcwfmDotwmDnadtV9RkL1jPO3x3Bus/pUzWQRyBXFy3+MwsbcjhqI8Dn19o6HTx68jCE4BOaqi8ht3XdMQ3wPBTeO9rMusDOVYYL3VNIOjvg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <412f695a-d1f8-4ae3-920e-023428c63059@suse.com>
Date: Mon, 20 Nov 2023 11:30:16 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] x86/iommu: use a rangeset for hwdom setup
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-4-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231117094749.81091-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0188.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ca::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAWPR04MB9912:EE_
X-MS-Office365-Filtering-Correlation-Id: 966b7322-89c4-452f-6137-08dbe9b3afb1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3witYYOENsTVTQsXbCa86r43YTNq0+dcqMx95lSDodWmmCuInnIq8rL8aK5hhx5+A/y7nBas7SAIZMpGCCP+TGiffKz0DZDCw4bt1uO5Dd+0lp81FLoj22/IdbhPBNfTTzoqug8f23zHEVRyro6KSe+ogA/QOTeIwMXENBpfREWWkZhAjU+vWUpksYV6+LTXHRb4zylMp3fLJUZvG2RHQxLD+CRbbqluDO2nqGZdS5Bc/Ix5DEepzgtPdPm80POIYvnkHukNVXJi9u3WSkTHB9+IGnXKtxoEgUquJEj5W+mf8AEtvlZe7Ere/cSSktCve1BC5GEfCaRnf77Z3Auz7Wt1MtHHgEtY0RlduOF0vtL1SrFcmPSpXYD9J9AMGLlb05RH4OMRD7Ew69BdTC2jgJYQ/pwDqSUj0nTiRN+1hR/Rar+j3HMeFfubRcHnz/JbRiA2QDxo2HXA9lICRKgnWj5c7FmOIsQIVRIr/7ieA+uD3iHCmkYnc0/nNc5SKmIrs2+7CjLjYKGje8XKxBDruRQoE5w4y2JjcL9uF9TW90BmYokH6geIlLSaPlxQS69sFT4IlXN4u1/mGeWAdzn5hZEI4b5h4vgqX0XMySTnJzy7TZOWBX5KtjcYYWRol1HtMqiUjuHMuzQiHyegDUzw6hEWR5myb1a9fUJqD6WHN20e5jz7uVec1/E2HU97bYBq
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(366004)(396003)(376002)(39860400002)(230173577357003)(230273577357003)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(5660300002)(2906002)(26005)(2616005)(4326008)(8676002)(8936002)(31696002)(41300700001)(86362001)(83380400001)(36756003)(66946007)(53546011)(66556008)(66476007)(54906003)(6506007)(6916009)(316002)(478600001)(6486002)(6512007)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cWlkQW1ZM0ZiSjM1SnFHYWc5Y3kxeDN6NGZ4N1dia09LVkFWQW1KYmliZ3lD?=
 =?utf-8?B?Mk5tVUhDaUh4MUM5M3NrTzk2R2ZETFhBU1JuTTlKM0RtK2U3ZzQ2MkJIZFFL?=
 =?utf-8?B?aWZKZzZTeVdUWEJiaEZvR0tkSEdxL3dwWDZOZmhhRzBlWDF4d21DOWprT2RC?=
 =?utf-8?B?bEJqb21WMnNXNG9GaHluendFcGN1OUs2em1ITkJNZlg2Mm5kaGt3TkJZejQv?=
 =?utf-8?B?QklDc3ZsVzFZZWJzdTN0S2RKZVVKVzlzSWd1dG0wMnl3eHpGQUVtZXprbFFG?=
 =?utf-8?B?YU94NWIrcCtWc1loMGdFNXNxVjMwNXF0R1B1ZXRSdDdlbkk0bk9MZDJZeTVU?=
 =?utf-8?B?Ym0wS2U5RWQ3MnRLdG0xbjZLb1BmUGZ6UzRGWTBQYks2RDBwYUJlRmFLdXkw?=
 =?utf-8?B?Wnd1VUR1aUtLTXp2blR1Ym9mVFd6NXgxbjhFUFIxaE9ZaU9WK3RQV2tzcjZS?=
 =?utf-8?B?NHYrTnY0SWs1NXQ5QzJsTVUvTVVZR3M3Q3lJUlMzWTdBQ2s5endyTTVGT2lt?=
 =?utf-8?B?SW10NkhCa1R2c090dVl0eFRUdGR3TkRGN1p3SlNyUHZNK3FkeGJ0SXdOSmZs?=
 =?utf-8?B?NTFTRVozK1B2ODk4T0VnYTJ4L09meVFadGs3ejZId21Hc2J3T3VQdTZRSzRz?=
 =?utf-8?B?OFZRNm1yakFuSHZBeVZLWG9YcVhBOWUzOXFPb0dURUk3NVNnaDlCRVRWaVVs?=
 =?utf-8?B?K1BqYldCWjI3ZjlmY3ZFN1JEUjRCZWlVVlhTSFV3YjhDTDJXcnV6amR0dVpS?=
 =?utf-8?B?LytzR3l2UHRqbGZ2SDZqU3p2MXhFQUszZ0ZEQWprSGtUN1NnUHgyM3FOWkJP?=
 =?utf-8?B?cCtIc095Z0l5RXk0dXlYcE5IaVB3N0grbEIwOXM2ZEtKUzhuRGVKQ2lnVUp4?=
 =?utf-8?B?LzFIMlR0Vy9GdWdwSWluanlOQWNCMS9KdkRtUWJlUE5BRis2aFpXQkV3K3dN?=
 =?utf-8?B?bTh3bWZFZU9qczArRERKM2pBbkMzNUQrTC80MXBkY2pieU9Xcmw5UWhpR2JK?=
 =?utf-8?B?YUlsZU5EdnBKQUFMWjlNZlhLNnhoV2Y3bzlreFNueTh2UWRWaC9kenR0R0JK?=
 =?utf-8?B?UVJxc2JGL215WG9TR2VkRXRhN2ZkU2F5ZHdhNitNcmkvSHg2SDI4TUpNQjFm?=
 =?utf-8?B?YmhvR2czT2IzZllVNDFoRzlQVDBrRkUvYkp6enk2RUo0bjZLV0Z3VHBkaXBL?=
 =?utf-8?B?MFN5aS9aT0V2K3ZZc2dUL1kyMERET0gycldqWi9YWFErTnNhU0h1b2MzNll2?=
 =?utf-8?B?dUV5QWM1Mm5rcjRuMjZCMFRnekxzL1lHRndpbEhUSkdHRnkzbGpGYlNXYkpO?=
 =?utf-8?B?dXRFRngwc0F5U3VSSTRYRCs3TkJuWGY0d0lXaENFNUYyTm1PcEp1clpCMHgr?=
 =?utf-8?B?YTVTQ0lWNG9GYzNRS3p4OGlYMjd2YVF2L0F3NEgrblZhNU16cTU3SnZYS29a?=
 =?utf-8?B?ajhpNG9MVE9hY0tBM0xmVXJYQjAyb3NkUU1ZZ1o2TDB5cEZITlFpS2tlREZv?=
 =?utf-8?B?eVNiZkF0eUg3Q1dERGNNOGQxRThwbmN5NFc5QlhaT2w4dGJMbldzTGMrcGd0?=
 =?utf-8?B?VThKbnZWZjJDeUhWOTJSKys4QlhNb2s1YW14TlZUMythWTdlWGFCTmRoQ1pQ?=
 =?utf-8?B?SVdsaEdZM21MM1l5akg0b0Q0RGU0b2MzMzA0SUFreDR3bjZoVUhLaVRDS3Zo?=
 =?utf-8?B?QWtCRC9HU3ZYMkRsWDUzekJZNGZNeWVoSGNZRGQySGJodzVJU2lya3JVUVdt?=
 =?utf-8?B?bDg5WWREUnJBT0dFQUh2R2JKNE5ia3lvbTFiWE15WG9taDdxQUJLc092bHRW?=
 =?utf-8?B?c1cvK0Vqek0yOVliS1B3cjMzMHdIaW1TQ1F5NkRvc2xGSElRZ01oOFZmT1p0?=
 =?utf-8?B?Y3R0NEltZVlKRFl0aDJqZ2pVdHg1KzdSbUEvRGlNVkplT21mRmE0SGcvNWpt?=
 =?utf-8?B?RzRkbVl1c1JpdjdQY3hyVHRjTE9FVldDcGRlbmM4UklXVUltM0JNSjFVUER6?=
 =?utf-8?B?QXpiMUwwaVRtQnV2MFFLbE93dHduSG1ZUE9qcTVBU3JoN1Y4RXFhbDh5ZENk?=
 =?utf-8?B?MXVBWWRLVHc5TUZtVTI1dGVhemlRK0cvYXJBbUJmSkJDUWNCelhmS29KOEtk?=
 =?utf-8?Q?QigvcU+zZBXS4U+rHnZKfBtP+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 966b7322-89c4-452f-6137-08dbe9b3afb1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 10:30:16.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: LtmWRxdZKirxponC/dtd2r8XbYE6bbdHt2tFtsF0POU5AXekCPrKIHWqwR42o6gdevRTJTExAaO9UjrKID4VRw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR04MB9912

On 17.11.2023 10:47, Roger Pau Monne wrote:
> --- a/xen/arch/x86/hvm/io.c
> +++ b/xen/arch/x86/hvm/io.c
> @@ -364,9 +364,20 @@ static const struct hvm_mmcfg *vpci_mmcfg_find(const struct domain *d,
>      return NULL;
>  }
>  
> -bool vpci_is_mmcfg_address(const struct domain *d, paddr_t addr)
> +int vpci_subtract_mmcfg(const struct domain *d, struct rangeset *r)

While there, also add __hwdom_init?

> @@ -447,62 +451,135 @@ void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
>      if ( iommu_hwdom_passthrough )
>          return;
>  
> -    max_pfn = (GB(4) >> PAGE_SHIFT) - 1;
> -    top = max(max_pdx, pfn_to_pdx(max_pfn) + 1);
> +    map = rangeset_new(NULL, NULL, 0);
> +    if ( !map )
> +        panic("IOMMU initialization failed unable to allocate rangeset\n");

This reads a little odd, and could probably do with shortening anyway
(e.g. "IOMMU init: unable to allocate rangeset\n").

> +    if ( iommu_hwdom_inclusive )
> +    {
> +        /* Add the whole range below 4GB, UNUSABLE regions will be removed. */
> +        rc = rangeset_add_range(map, 0, max_pfn);
> +        if ( rc )
> +            panic("IOMMU inclusive mappings can't be added: %d\n",
> +                  rc);
> +    }
>  
> -    for ( i = 0, start = 0, count = 0; i < top; )
> +    for ( i = 0; i < e820.nr_map; i++ )
>      {
> -        unsigned long pfn = pdx_to_pfn(i);
> -        unsigned int perms = hwdom_iommu_map(d, pfn, max_pfn);
> +        struct e820entry entry = e820.map[i];
>  
> -        if ( !perms )
> -            /* nothing */;
> -        else if ( paging_mode_translate(d) )
> +        switch ( entry.type )
>          {
> -            int rc;
> +        case E820_UNUSABLE:
> +            if ( !iommu_hwdom_inclusive || PFN_DOWN(entry.addr) > max_pfn )
> +                continue;

It's > here, but ...

> -            rc = p2m_add_identity_entry(d, pfn,
> -                                        perms & IOMMUF_writable ? p2m_access_rw
> -                                                                : p2m_access_r,
> -                                        0);
> +            rc = rangeset_remove_range(map, PFN_DOWN(entry.addr),
> +                                       PFN_DOWN(entry.addr + entry.size - 1));
>              if ( rc )
> -                printk(XENLOG_WARNING
> -                       "%pd: identity mapping of %lx failed: %d\n",
> -                       d, pfn, rc);
> +                panic("IOMMU failed to remove unusable memory: %d\n",
> +                      rc);
> +            continue;
> +
> +        case E820_RESERVED:
> +            if ( !iommu_hwdom_inclusive && !iommu_hwdom_reserved )
> +                continue;
> +            break;
> +
> +        case E820_RAM:
> +            if ( iommu_hwdom_strict )
> +                continue;
> +            break;
> +
> +        default:
> +            if ( !iommu_hwdom_inclusive || PFN_DOWN(entry.addr) >= max_pfn )
> +                continue;

... >= here?

> +            entry.size = pfn_to_paddr(max_pfn) - 1 - entry.addr;

Why the subtraction of 1 when you're calculating size? Don't you actually
need to add 1 to max_pfn before converting to paddr?

While overall things look plausible elsewhere, I'm hoping that - as asked
for by Andrew - it'll be possible to split this some, to make it a little
more reasonable to actually look at the changes done.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 10:36:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 10:36:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636548.992135 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r51do-0001dX-Ja; Mon, 20 Nov 2023 10:36:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636548.992135; Mon, 20 Nov 2023 10:36: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 1r51do-0001dQ-Fw; Mon, 20 Nov 2023 10:36:32 +0000
Received: by outflank-mailman (input) for mailman id 636548;
 Mon, 20 Nov 2023 10:36: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r51dm-0001d4-F9
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 10:36:30 +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 a93dd192-8790-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 11:36:28 +0100 (CET)
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 704071F890;
 Mon, 20 Nov 2023 10:36: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 4D175134AD;
 Mon, 20 Nov 2023 10:36:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id MeNjEas2W2X8GAAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 10:36: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: a93dd192-8790-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700476587; 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:autocrypt:autocrypt;
	bh=JmkoEoinA/vMyJLwKNl00aYNMYSDGBS6bAyYZQEWV8Q=;
	b=RcK1nSI0t+LcavL1A/ktHMGRWUa5Dr4xWbhfIelnGSyYLH15DsXsFamxvqkxZpDCIuVvrY
	PPdc8E5DGuPhmQPruNo1OMYemCbYDJ+H9HhoGnLdmWCBnQvL/h3t/9us77HfYRLAtEYSti
	igpkG7vOT23DTatHw9N1So3rzFdVT3k=
Message-ID: <7b6658b4-cd36-4d52-991b-f4b94b6fb172@suse.com>
Date: Mon, 20 Nov 2023 11:36:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] stubdom: remove caml-stubdom
Content-Language: en-US
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20231101160837.32241-1-jgross@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20231101160837.32241-1-jgross@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------fZwid54S0Pi16z2v0n2JIlN0"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: 0.42
X-Spamd-Result: default: False [0.42 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 BAYES_HAM(-2.96)[99.85%];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 NEURAL_SPAM_SHORT(0.88)[0.292];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------fZwid54S0Pi16z2v0n2JIlN0
Content-Type: multipart/mixed; boundary="------------6TFxjHux0Get9QcCymgxzB4F";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-ID: <7b6658b4-cd36-4d52-991b-f4b94b6fb172@suse.com>
Subject: Re: [PATCH] stubdom: remove caml-stubdom
References: <20231101160837.32241-1-jgross@suse.com>
In-Reply-To: <20231101160837.32241-1-jgross@suse.com>

--------------6TFxjHux0Get9QcCymgxzB4F
Content-Type: multipart/mixed; boundary="------------6Qkeky8rsaQHuPti00EwJmCk"

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

T24gMDEuMTEuMjMgMTc6MDgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IEluIG9yZGVyIHRv
IGJ1aWxkIGNhbWwtc3R1YmRvbSwgaXQgbXVzdCBiZSBleHBsaWNpdGx5IGVuYWJsZWQgdmlh
DQo+ICJjb25maWd1cmUgLS1lbmFibGUtY2FtbC1zdHViZG9tIi4gVGhlIGJ1aWxkIHByb2Nl
c3MgaXMgZmFpbGluZyBkdWUgdG8NCj4gc3R1YmRvbS9vY2FtbC5wYXRjaCBmYWlsaW5nIHRv
IGFwcGx5LiBTaW5jZSB0aGUgcGF0Y2hlZCBmaWxlIGhhcyBiZWVuDQo+IG1vZGlmaWVkIGlu
IDIwMTQgdGhlIGxhc3QgdGltZSwgaXQgc2VlbXMgbm9ib2R5IGNhcmVzIGZvciBjYW1sLXN0
dWJkb20NCj4gc2luY2UgYXQgbGVhc3QgdGhlbi4NCj4gDQo+IFJlbW92ZSBjYW1sLXN0dWJk
b20gZnJvbSB0aGUgYnVpbGQgc3lzdGVtLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogSnVlcmdl
biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQpBbnkgY29tbWVudHM/DQoNCg0KSnVlcmdl
bg0KDQo=
--------------6Qkeky8rsaQHuPti00EwJmCk
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------6Qkeky8rsaQHuPti00EwJmCk--

--------------6TFxjHux0Get9QcCymgxzB4F--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVbNqoFAwAAAAAACgkQsN6d1ii/Ey/g
XAf/fQvJACsZ4tUNomyIlDjQO0TsS5Gb9ZfKKoqp30ZaPmY4EHLoYFqayZZB+KgEkQd5+TiOJzYn
Vc4vjZnZ4yZcFHC774mpK3L5UtnozETF95YWO2XcRrVJ/sAC1wPfThyXBNY5TOqN2HsbzIOO7yrd
+p+uyK8k7WJHFblhfnjQqMYn/KnZMOfoeMRXt1alSi/pu0BRsvriX2pYYDscZ1jJ2oWKxNLP5nP0
qxSsnngGgzNtGoVsYUYV06wlpRAPZQOfcQmaFWlsw5ieffO19e4Rih0HbDhZkS14MpNZOCzO3U7n
9YFZSTiyHlyahOhuKcdECGvPbKmF3tEkZ3R2YR48Jg==
=QUc1
-----END PGP SIGNATURE-----

--------------fZwid54S0Pi16z2v0n2JIlN0--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 10:37:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 10:37:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636551.992145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r51f4-0002S9-0p; Mon, 20 Nov 2023 10:37:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636551.992145; Mon, 20 Nov 2023 10: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 1r51f3-0002S2-T9; Mon, 20 Nov 2023 10:37:49 +0000
Received: by outflank-mailman (input) for mailman id 636551;
 Mon, 20 Nov 2023 10: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r51f2-0002Rv-UG
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 10:37:48 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7f87277-8790-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 11:37:46 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9220.eurprd04.prod.outlook.com (2603:10a6:102:228::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 10:37:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 10:37: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: d7f87277-8790-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ulxx4T6nKyCyg2Oz/YD1SCzTXI93TkVh4iX1DtVyKXoDCnpcxS0hE/MglZX+g5mfMnL8yqlDuufYm5+UBBbUDEA55RqznPf2xf6oGIdfqD//GhV1tZOrgXu31sbZAAOOL7iNwkSP48TlWx7S/X8X0zV4kR7q7hXT9OnIuxOQ3W4MGfKEBzKe/LJg+LPmZlnoTLgU8c05HPieoNSVsajhqF+r2/Occ7+iNhYcxPBi2rtrloGZqeyp0gEidhiDvH4a3UhW0wfqNkQkGlVNSP+5YY92I4n1jF7aYU73bwh7ytOy8+KS+/Vrnij8Z61iU/Q0QgbScf3nUfTYxh+/Vu0d/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=PFkxyXI54AquBuExjBspjM6rfrVkquiRWE0YdVjJt8Q=;
 b=Ll1HWStiuf1SBThxQK1/GWIeDt2ehakw34h8+ZoYgAGWhgRArv59Ui30ptBBsuD71LR39OFHAJbvXuZ23LhUwio1fSaIxewYBC0yJoqOeLAHqvf9S4L5EReRSt0S5taeV6fHw/YXNquT175/OOhQU3G2Pw6DEwg/cDmRj4gGlw7rF36LLIOhuJeZu/V9tSsOwXxE/WbHCEndQX0cBXQ9MHKxlaVhqcsX1wJ8VsZjaDUgtjL+POLg2JdQDprJYmErslvcdDLmsYTYhYnLIIx2Ka+aXLkq+OYy+bgibW3UImGObv4Za2gwMyb86tvU+hxip1MuG/k23gp0ckq57He+xQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PFkxyXI54AquBuExjBspjM6rfrVkquiRWE0YdVjJt8Q=;
 b=enRmn8GIFgPWO/XMXMMzm6JM1VZhMHBBbhu3BuFJQC0qkywZp/iC1z/VhuZUHX6jVGit53ySpo1oNZa7qjTZsWu9CvvvRmwfYhOXu18IUJIzajxI95P3QvTrH+QFWPEMmSAL2Fwd90dYUCfKPW3xQXuPeVzLmhNqXdrQXWf0pXa1Gb7nwXT3TqzP2+j7pciLAbxnEYFsZPURsygrWktTJHVxEfumHU+4S1bEHvDcZi3mNn/zJ1PpaJxWZLHfN5z+tVPpFb31P0qmK1lOAsZPauJXtWYGxIWuhw1UaxQGsVyKz34m9WoTVSKKkT50wieHuIlDnRik0i1V1CfZ83H4LA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f414730f-307d-4ef6-9aaa-a861925fdab4@suse.com>
Date: Mon, 20 Nov 2023 11:37:43 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] amd-vi: use the same IOMMU page table levels for PV
 and HVM
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-2-roger.pau@citrix.com>
 <e90d416e-f4dd-4b2c-9247-0e3aa35c26d9@citrix.com>
 <0392fe23-7589-4dc2-b664-1e7e01c3914d@suse.com>
 <ZVs0fvUQI9C7NRc5@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVs0fvUQI9C7NRc5@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0343.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ea::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9220:EE_
X-MS-Office365-Filtering-Correlation-Id: a9f6db4a-789b-4346-4c8f-08dbe9b4ba61
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AwsZdZAZ8ZQ4IWgy5pgz1H9b57IGvhJ9z+L6JbyvTwVT0rApmPlLbGnMpYq2I8TC5+LPg2KwH2WIGE8Ttm8FCSl3Ag495Z/hcC2Ev/5gCanUL72vmU0Ae034Cq868OJdsoDHarw4UAe2wc6brlh0Gi8z8d/2D4krLAoa+r4M250moSrvfzSIwnV3b8OR8QDLz5G7sLt0V7avpJs2rMwHLiujgVh/VeNhLBVqtDh3IAIcaLDAwjLCCH0YTcKEHKaAs9TpwUmH4EQOqyxDTHq9+Wj83lSaVLqeJr4VYMyrgP2vJkzjRnOAvdE0KYaNBehPrfR1Bmg3ySWLU3j3zxlfUz90F5Gqwj9yfwnttBQSJpcqOQDoerUmt1lUQM93ZyFiLA++Z2StaqvLOH0cUO2ngHXANc0hO2iaLiJpbG+vUvLnjSJXRA/r9F46Sq3ozHosIDfJ2Gh58/6dDwBphuM3VSmQA0QRTO6YAXTJfw6/xhFlaUh1rWr68exZFUz6EXFe9Gwyv6WMY0XwgBoxsHzUi3Q6g2hNYTKB0btaZvBkOSmXFHRumI76zA7qyr/vl8dhrXf3N9V9ScfAZ4vjebJYYWgYXyZCnPrsK2nSxyR+Ha8qse6nza1B9DUv+o9Nu3vBJkAZmlVd4CE6R6TSA9JW3A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(396003)(39860400002)(136003)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(4326008)(5660300002)(66556008)(66476007)(6916009)(8936002)(66946007)(8676002)(316002)(83380400001)(26005)(53546011)(6506007)(478600001)(6486002)(2616005)(6512007)(41300700001)(2906002)(36756003)(38100700002)(86362001)(31696002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmJPSldvNFlWVjJ3WitZbDVsbHdOdDZHSFdkNDVLVHMwTkdtMzBvcFl1S1JK?=
 =?utf-8?B?b0w0TG9FWlRsNmxPRjQwNzl5Y3RLYS9YMW9TMFY2UGQwUUw4Tm5FUkNXbWdY?=
 =?utf-8?B?SEw5RXA4UExFQUwrd1d1UjFZSmdEcnpLMFJDTm9xRm1RRXRsblFONy9iM1Zu?=
 =?utf-8?B?akJxOGp0NTM1ZThDWEM5aW9rRkQvYWRJNE5lV05Pek5sYzVWUklQejhPMk9p?=
 =?utf-8?B?NGR5d01acDVrWXl6c2NZSzhjRUx3Q1NEL1ArT2RSVDlkUlJ1MW1mYnlYdVZw?=
 =?utf-8?B?Nzd0UGlTK2h3ME9kMlBhL3F6T0owZlBDVVlLd1dVcmJaa0pvMUs4S3k4UlNn?=
 =?utf-8?B?THg1Z3FCYUFXS2dKdkhyRDl0S2UyaEhmWGZLeTh3NytmczhOZCtHK3VRUUc5?=
 =?utf-8?B?STZkeVQzWG0yS09LWWc4V0NEZFJZOTJnUEx4Nk1EOFBMeWZ3S3QwcmNVMm85?=
 =?utf-8?B?ck1GRjkwUTM1ckVaV0VTaWNsbS9BQmZua1ltanVQOG05RDdFUWdLdXpscyta?=
 =?utf-8?B?YTJyZ3NIOHN4Sy9ZQ0x5TnhWcnlXNitBT3gvQWloc0RwVXNELzJ5ZytJSXU0?=
 =?utf-8?B?T3hiTXJ2ZG8wSTA4Y0J5MFhWUVhCdG03YjZTQVp3dmNkdC9QbTIxTWxzU2Yv?=
 =?utf-8?B?RzNGNS9qWmZXem1RQVYvU1lsSG9hdTFNNjA3NXBPV25MQzRuaS96UEc2MWhT?=
 =?utf-8?B?ZWxQVjdvaTZXVm44OFZsYVVGVjVZUHV5UWVLTEhQL1JkNWlaQUt2MHNhSmNx?=
 =?utf-8?B?ME9DNjhiamJnUjIrNjh2bzFtd0FUZVdPdGFXOXg1Q0dabGQzc3IxQW1oaDRR?=
 =?utf-8?B?RkJiRUNqckhEemZxRWk0by9zc0s0SHNGemd6YVgxakZTT1hTbzZraHJUN0JB?=
 =?utf-8?B?YVNRbWl0SXFWYUQyOXJjblBCZ3ZrT3pUY3cxUFFTdHB5c0w2Z0VBRm5ic3FL?=
 =?utf-8?B?ZGd3VlY5UFFObGlvZlNGbmdHaVZYQm1EZnlMYTE0NTlldk5kVkloeEljRzhW?=
 =?utf-8?B?a2lBQWo5K1I0eGtURk14QUMvVEQvSVlNdkd4M2tGVmNUMUlRSEl0c0ZTcitO?=
 =?utf-8?B?VHU0NWJScDJJRVpBR3gzY25HT051MEkxVStzbVRhQUFqSEFKTCthQUxyMFJk?=
 =?utf-8?B?T1RLNEFHbVRVUjRUcFI2RUs2YzdjeGVZZE12b3N1OURFK3NxQmw4dERyV3RV?=
 =?utf-8?B?dDNYQ0RQMlFBTjI0VUlEeG9DZUVZQ1lyNVo4ZVlEc1l4cTNzVzBYT3gwQm83?=
 =?utf-8?B?OHZNdDFvRzYvSWpUbVkrVkcwbGgwR3d3SGRsb3FKRmFLU3pUTW5iNUo2UmNo?=
 =?utf-8?B?VTJ5Z292WmZFSzNBNmlTbjJ4UlBFQ3ozb1Y0QlJXbVF6VUJ2NGtpS3drSUVp?=
 =?utf-8?B?VlA0WHlUaU1seEtUQmppTU9ZMXhWblQ3clN6MDBnbDlaeENUY1Avc295MUV5?=
 =?utf-8?B?UVlOVjU0Q25xSGpHUnNhWndOUEhEMkJSOVRSUlVRa2QvYzlIV1RFajhtZ0dD?=
 =?utf-8?B?c0plSy9lYmlUYlFIRExZbzZ0YzdMeWQxckZ1cW9qczFDU0JiNElvVVB0Y1BY?=
 =?utf-8?B?VWlkME9JWlFyTmJLT1ZjaytjS1hwL3VOM3RtTHRIazhuQ1dacmo0OEpSc0ZS?=
 =?utf-8?B?VExNdG9zWmhiRVkwWWpMOXJrQWVlV3RBUm1DdEZFSURtdVpmdFhiVG96anQ4?=
 =?utf-8?B?cWZYOVd4RlptSDFpS1dnR2FLMzdRUGx2STBMS053Y0ZVN054UDBYcWM3Y0hn?=
 =?utf-8?B?YkZ2NkhMTWN0NFI4QzRvTG1oc2tEMUF2VWhidGhEQmsrOTRCTklvYktpdlRO?=
 =?utf-8?B?WStWRWMrcU5jM1NPZzdIdW9zSGhpV3JwRFo2YjJnS2lENGpFZGswQXY1S1FD?=
 =?utf-8?B?eW9PcE14Z2I4RGdGTEtNRVlSd1VMOXFwcGlwL3ZxMlRGbDV6ZGJwbTA3U2tN?=
 =?utf-8?B?YVNuMVAveEU3YzQyYnM2SU1ISXdQKzBrYjA3VVpQMGxTVExXMDFXT1IyYy9D?=
 =?utf-8?B?bjMzb3Nrc3JXbnBiNm1tOE92QXQyKzhDTklrUFBEaENQT0dFNkR3bXprbjdU?=
 =?utf-8?B?SHlIV3JTRHZ4Mk9YWEh1VG56SEdqSENKait2Y3FOdUxpYjU5b1YrQ3dRZDFM?=
 =?utf-8?Q?FKko3cKg8Ivkx8wSQn3DIlcNg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a9f6db4a-789b-4346-4c8f-08dbe9b4ba61
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 10:37:43.6055
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7T4F5St7ICw4ZaD2QasaiTomPLJ3UokSqUdD+HD5Nfr534FMFZF7A1gLBRXxufLxR4ZDh0C+mQfls3bqisxWzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9220

On 20.11.2023 11:27, Roger Pau Monné wrote:
> On Mon, Nov 20, 2023 at 10:45:29AM +0100, Jan Beulich wrote:
>> On 17.11.2023 12:55, Andrew Cooper wrote:
>>> On 17/11/2023 9:47 am, Roger Pau Monne wrote:
>>>>      /*
>>>> -     * Choose the number of levels for the IOMMU page tables.
>>>> -     * - PV needs 3 or 4, depending on whether there is RAM (including hotplug
>>>> -     *   RAM) above the 512G boundary.
>>>> -     * - HVM could in principle use 3 or 4 depending on how much guest
>>>> -     *   physical address space we give it, but this isn't known yet so use 4
>>>> -     *   unilaterally.
>>>> -     * - Unity maps may require an even higher number.
>>>> +     * Choose the number of levels for the IOMMU page tables, taking into
>>>> +     * account unity maps.
>>>>       */
>>>> -    hd->arch.amd.paging_mode = max(amd_iommu_get_paging_mode(
>>>> -            is_hvm_domain(d)
>>>> -            ? 1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
>>>> -            : get_upper_mfn_bound() + 1),
>>>> -        amd_iommu_min_paging_mode);
>>>> +    hd->arch.amd.paging_mode = max(pgmode, amd_iommu_min_paging_mode);
>>>
>>> I think these min/max variables can be dropped now we're not doing
>>> variable height IOMMU pagetables, which further simplifies this expression.
>>
>> Did you take unity maps into account? At least $subject and comment looks
>> to not be consistent in this regard: Either unity maps need considering
>> specially (and then we don't uniformly use the same depth), or they don't
>> need mentioning in the comment (anymore).
> 
> Unity maps that require an address width > DEFAULT_DOMAIN_ADDRESS_WIDTH
> will currently only work on PV at best, as HVM p2m code is limited to
> 4 level page tables, so even if the IOMMU page tables support a
> greater address width the call to map such regions will trigger an
> error in the p2m code way before attempting to create any IOMMU
> mappings.
> 
> We could do:
> 
> hd->arch.amd.paging_mode =
>     is_hvm_domain(d) ? pgmode : max(pgmode, amd_iommu_min_paging_mode);
> 
> Putting IVMD/RMRR regions that require the usage of 5 level page
> tables would be a very short sighted move by vendors IMO.
> 
> And will put us back in a situation where PV vs HVM can get different
> IOMMU page table levels, which is undesirable.  It might be better to
> just assume all domains use DEFAULT_DOMAIN_ADDRESS_WIDTH and hide
> devices that have IVMD/RMRR regions above that limit.

That's a possible approach, yes. To be honest, I was actually hoping we'd
move in a different direction: Do away with the entirely arbitrary
DEFAULT_DOMAIN_ADDRESS_WIDTH, and use actual system properties instead.

Whether having PV and HVM have uniform depth is indeed desirable is also
not entirely obvious to me. Having looked over patch 3 now, it also
hasn't become clear to me why the change here is actually a (necessary)
prereq.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 10:44:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 10:44:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636556.992154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r51kz-0004eb-K4; Mon, 20 Nov 2023 10:43:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636556.992154; Mon, 20 Nov 2023 10: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 1r51kz-0004eU-HZ; Mon, 20 Nov 2023 10:43:57 +0000
Received: by outflank-mailman (input) for mailman id 636556;
 Mon, 20 Nov 2023 10:43: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r51ky-0004eO-38
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 10:43:56 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b2c2c0b7-8791-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 11:43:53 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-332c09c0b0bso970508f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 02:43:53 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p6-20020a5d48c6000000b0032db8cccd3asm10771113wrs.114.2023.11.20.02.43.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 02:43:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2c2c0b7-8791-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700477033; x=1701081833; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=umpjuc/Rc6hGwHbS9lYBNpRJxB5vV77ZbHQvbSHmESs=;
        b=rGt3hBs6bWk9E0bwGOmo5CMItFk2gcUx7KZsY+Zmc5CcJb+kYM3R2RtN3WIwp9dwYl
         LULjcDwweEel5+K+rYbj1ag7LEupRr7cLNfa8cnez+v4RC+ztT9tPxbUqeUn7BuwyjRg
         KxcecUI1DBqEdLGqOWeNDN0hxyKDLfloJQgiY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700477033; x=1701081833;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=umpjuc/Rc6hGwHbS9lYBNpRJxB5vV77ZbHQvbSHmESs=;
        b=rtvYENPSHSMH2siyYs47LdFTDzIwFDt1X/HdSgeppX1xir8NRol6qzhQ7QLZAqw9Pr
         VRSQHC1NxYtWRofGRS9J4/bAUBlRuyCfd2swarlXz82Im46eBI6PU/KgqjqyO+mK6Pzh
         PJe+ROdMHn6y+iYd/s/Xlo1qjVbcs1Wbz7z9BFEve8Sqy8EMfoVzTQj/wV1/+gVMYlcq
         mGfpKjHPq9eyh1v1l1e9sEXEi2z/9U0Uy56W+VU/12T4XBI0rWPsdl8bCYPEokzAJL8I
         81zl6gP44Sx7qByUcJy5lhNKALHAni1+ekUj9zz7XYm4/93ecOtOB1hK1ZhRhDbf2mZm
         hgWQ==
X-Gm-Message-State: AOJu0YwJ1ZnQeVv2XB6s1grkYi9Nzpjn8AIZv12n16J6zt1KHCEaeVii
	Y/LDJyGnRXkR1qA4tQhXcOw5Pw==
X-Google-Smtp-Source: AGHT+IHyHbgtobVHk2o+qyCbOHF7iPFestbsKNteHUiw4Wlip8ZpFu4gGIvHaS+ZUNVAG9S7C2k2Mw==
X-Received: by 2002:adf:8bdd:0:b0:332:c7cf:b473 with SMTP id w29-20020adf8bdd000000b00332c7cfb473mr1428070wra.1.1700477033016;
        Mon, 20 Nov 2023 02:43:53 -0800 (PST)
Date: Mon, 20 Nov 2023 11:43:52 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Paul Durrant <paul@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH 3/3] x86/iommu: use a rangeset for hwdom setup
Message-ID: <ZVs4aIQwm2TuwIwW@macbook.local>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-4-roger.pau@citrix.com>
 <412f695a-d1f8-4ae3-920e-023428c63059@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <412f695a-d1f8-4ae3-920e-023428c63059@suse.com>

On Mon, Nov 20, 2023 at 11:30:16AM +0100, Jan Beulich wrote:
> On 17.11.2023 10:47, Roger Pau Monne wrote:
> > --- a/xen/arch/x86/hvm/io.c
> > +++ b/xen/arch/x86/hvm/io.c
> > @@ -364,9 +364,20 @@ static const struct hvm_mmcfg *vpci_mmcfg_find(const struct domain *d,
> >      return NULL;
> >  }
> >  
> > -bool vpci_is_mmcfg_address(const struct domain *d, paddr_t addr)
> > +int vpci_subtract_mmcfg(const struct domain *d, struct rangeset *r)
> 
> While there, also add __hwdom_init?
> 
> > @@ -447,62 +451,135 @@ void __hwdom_init arch_iommu_hwdom_init(struct domain *d)
> >      if ( iommu_hwdom_passthrough )
> >          return;
> >  
> > -    max_pfn = (GB(4) >> PAGE_SHIFT) - 1;
> > -    top = max(max_pdx, pfn_to_pdx(max_pfn) + 1);
> > +    map = rangeset_new(NULL, NULL, 0);
> > +    if ( !map )
> > +        panic("IOMMU initialization failed unable to allocate rangeset\n");
> 
> This reads a little odd, and could probably do with shortening anyway
> (e.g. "IOMMU init: unable to allocate rangeset\n").
> 
> > +    if ( iommu_hwdom_inclusive )
> > +    {
> > +        /* Add the whole range below 4GB, UNUSABLE regions will be removed. */
> > +        rc = rangeset_add_range(map, 0, max_pfn);
> > +        if ( rc )
> > +            panic("IOMMU inclusive mappings can't be added: %d\n",
> > +                  rc);
> > +    }
> >  
> > -    for ( i = 0, start = 0, count = 0; i < top; )
> > +    for ( i = 0; i < e820.nr_map; i++ )
> >      {
> > -        unsigned long pfn = pdx_to_pfn(i);
> > -        unsigned int perms = hwdom_iommu_map(d, pfn, max_pfn);
> > +        struct e820entry entry = e820.map[i];
> >  
> > -        if ( !perms )
> > -            /* nothing */;
> > -        else if ( paging_mode_translate(d) )
> > +        switch ( entry.type )
> >          {
> > -            int rc;
> > +        case E820_UNUSABLE:
> > +            if ( !iommu_hwdom_inclusive || PFN_DOWN(entry.addr) > max_pfn )
> > +                continue;
> 
> It's > here, but ...
> 
> > -            rc = p2m_add_identity_entry(d, pfn,
> > -                                        perms & IOMMUF_writable ? p2m_access_rw
> > -                                                                : p2m_access_r,
> > -                                        0);
> > +            rc = rangeset_remove_range(map, PFN_DOWN(entry.addr),
> > +                                       PFN_DOWN(entry.addr + entry.size - 1));
> >              if ( rc )
> > -                printk(XENLOG_WARNING
> > -                       "%pd: identity mapping of %lx failed: %d\n",
> > -                       d, pfn, rc);
> > +                panic("IOMMU failed to remove unusable memory: %d\n",
> > +                      rc);
> > +            continue;
> > +
> > +        case E820_RESERVED:
> > +            if ( !iommu_hwdom_inclusive && !iommu_hwdom_reserved )
> > +                continue;
> > +            break;
> > +
> > +        case E820_RAM:
> > +            if ( iommu_hwdom_strict )
> > +                continue;
> > +            break;
> > +
> > +        default:
> > +            if ( !iommu_hwdom_inclusive || PFN_DOWN(entry.addr) >= max_pfn )
> > +                continue;
> 
> ... >= here?

Oh, this was a leftover from a previous slightly different logic,
there's no need for such default case anymore, as the whole range
below 4GB is already added to the rangeset in the inclusive case, and
holes are poked for unusable regions.

> > +            entry.size = pfn_to_paddr(max_pfn) - 1 - entry.addr;
> 
> Why the subtraction of 1 when you're calculating size? Don't you actually
> need to add 1 to max_pfn before converting to paddr?

Previous code didn't had the - 1 in max_pfn definition, but again the
default case is no longer needed.

> 
> While overall things look plausible elsewhere, I'm hoping that - as asked
> for by Andrew - it'll be possible to split this some, to make it a little
> more reasonable to actually look at the changes done.

Will try to split it somehow.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 10:50:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 10:50:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636563.992165 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r51qy-0007Js-8G; Mon, 20 Nov 2023 10:50:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636563.992165; Mon, 20 Nov 2023 10:50: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 1r51qy-0007Jl-5C; Mon, 20 Nov 2023 10:50:08 +0000
Received: by outflank-mailman (input) for mailman id 636563;
 Mon, 20 Nov 2023 10:50: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r51qw-0007EV-HP
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 10:50:06 +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 8f2cdc2f-8792-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 11:50:03 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4079ed65471so15910145e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 02:50:03 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p13-20020a05600c358d00b0040841e79715sm13171503wmq.27.2023.11.20.02.50.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 02:50:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f2cdc2f-8792-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700477403; x=1701082203; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=b5jgu/bErV6Zkl1lCSAcG8Wpi+sjXKwC/YP49vG3F3w=;
        b=C1zdejr7LUr4oo8/qAODET87wKJCK1tovyrS2F8U7M2qv4Xn3ibJy4Xg+/Muq1vode
         1T3+LMPI6hS7EaqtpHuihfbqCciJtHzu58SYx3l4hx0PTqIY4ybG6M0stPoKD41JcgeQ
         sLw0MhtEVQhU4jPl7DCmsZ1UyrSK8oBrJGhPE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700477403; x=1701082203;
        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:subject:date:message-id:reply-to;
        bh=b5jgu/bErV6Zkl1lCSAcG8Wpi+sjXKwC/YP49vG3F3w=;
        b=EHaNM3CYo52Z4nAdRCfzxcR8gcNI7WACFy8reVBVnwR6gIKD5wQFrp8dyM9ADKEA3r
         zXdoIPAP6ESYyLduJb0WbGiYEi5YjQe58qAuO80POndDRqz44XSQych6NPZWZAQRDZ4d
         ZyXoRRwEs/JtcYRVRuK0T/WSnJWBZN6nplcrJZdJy0BylxauAF+tBGPxLdhfZBCnU6jG
         4Mk+NhDz3sD/1+/sZoJjTv0nQbgRqFbt3hLVOrBphiqdYK/97XOvn00zKg09q3Fby6SU
         oh+Tevi523AAlIsfueQvdDq0FsWFCRvyh1Mivb/FPWLqp20j/Gkn7V82h41QZRhXy3SP
         714Q==
X-Gm-Message-State: AOJu0Yz3h15HxCkrHURkfNSNlxuRHs0mJh6DAnSLsouf3pG+x3Y5Y5/E
	/SE+W03tGdaLSU3ftHeU2ePYELw2VWScrtZIh88=
X-Google-Smtp-Source: AGHT+IH4fwreD+WckQCIVT/YooDCojPBmvkFSwgRG4fcJnHIP3uAamUnxObsBQnGg9cFnvSgdG3t+Q==
X-Received: by 2002:a05:600c:350a:b0:409:19a0:d247 with SMTP id h10-20020a05600c350a00b0040919a0d247mr5802715wmq.18.1700477402697;
        Mon, 20 Nov 2023 02:50:02 -0800 (PST)
Date: Mon, 20 Nov 2023 11:50:01 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/3] amd-vi: use the same IOMMU page table levels for PV
 and HVM
Message-ID: <ZVs52elOtWbTaD0i@macbook.local>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-2-roger.pau@citrix.com>
 <e90d416e-f4dd-4b2c-9247-0e3aa35c26d9@citrix.com>
 <0392fe23-7589-4dc2-b664-1e7e01c3914d@suse.com>
 <ZVs0fvUQI9C7NRc5@macbook.local>
 <f414730f-307d-4ef6-9aaa-a861925fdab4@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f414730f-307d-4ef6-9aaa-a861925fdab4@suse.com>

On Mon, Nov 20, 2023 at 11:37:43AM +0100, Jan Beulich wrote:
> On 20.11.2023 11:27, Roger Pau Monné wrote:
> > On Mon, Nov 20, 2023 at 10:45:29AM +0100, Jan Beulich wrote:
> >> On 17.11.2023 12:55, Andrew Cooper wrote:
> >>> On 17/11/2023 9:47 am, Roger Pau Monne wrote:
> >>>>      /*
> >>>> -     * Choose the number of levels for the IOMMU page tables.
> >>>> -     * - PV needs 3 or 4, depending on whether there is RAM (including hotplug
> >>>> -     *   RAM) above the 512G boundary.
> >>>> -     * - HVM could in principle use 3 or 4 depending on how much guest
> >>>> -     *   physical address space we give it, but this isn't known yet so use 4
> >>>> -     *   unilaterally.
> >>>> -     * - Unity maps may require an even higher number.
> >>>> +     * Choose the number of levels for the IOMMU page tables, taking into
> >>>> +     * account unity maps.
> >>>>       */
> >>>> -    hd->arch.amd.paging_mode = max(amd_iommu_get_paging_mode(
> >>>> -            is_hvm_domain(d)
> >>>> -            ? 1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
> >>>> -            : get_upper_mfn_bound() + 1),
> >>>> -        amd_iommu_min_paging_mode);
> >>>> +    hd->arch.amd.paging_mode = max(pgmode, amd_iommu_min_paging_mode);
> >>>
> >>> I think these min/max variables can be dropped now we're not doing
> >>> variable height IOMMU pagetables, which further simplifies this expression.
> >>
> >> Did you take unity maps into account? At least $subject and comment looks
> >> to not be consistent in this regard: Either unity maps need considering
> >> specially (and then we don't uniformly use the same depth), or they don't
> >> need mentioning in the comment (anymore).
> > 
> > Unity maps that require an address width > DEFAULT_DOMAIN_ADDRESS_WIDTH
> > will currently only work on PV at best, as HVM p2m code is limited to
> > 4 level page tables, so even if the IOMMU page tables support a
> > greater address width the call to map such regions will trigger an
> > error in the p2m code way before attempting to create any IOMMU
> > mappings.
> > 
> > We could do:
> > 
> > hd->arch.amd.paging_mode =
> >     is_hvm_domain(d) ? pgmode : max(pgmode, amd_iommu_min_paging_mode);
> > 
> > Putting IVMD/RMRR regions that require the usage of 5 level page
> > tables would be a very short sighted move by vendors IMO.
> > 
> > And will put us back in a situation where PV vs HVM can get different
> > IOMMU page table levels, which is undesirable.  It might be better to
> > just assume all domains use DEFAULT_DOMAIN_ADDRESS_WIDTH and hide
> > devices that have IVMD/RMRR regions above that limit.
> 
> That's a possible approach, yes. To be honest, I was actually hoping we'd
> move in a different direction: Do away with the entirely arbitrary
> DEFAULT_DOMAIN_ADDRESS_WIDTH, and use actual system properties instead.

Hm, yes, that might be a sensible approach, but right now I don't want
to block this series on such (likely big) piece of work.  I think we
should aim for HVM and PV to have the same IOMMU page table levels,
and that's currently limited by the p2m code only supporting 4 levels.

> Whether having PV and HVM have uniform depth is indeed desirable is also
> not entirely obvious to me. Having looked over patch 3 now, it also
> hasn't become clear to me why the change here is actually a (necessary)
> prereq.

Oh, it's a prereq because I've found AMD systems that have reserved
regions > 512GB, but no RAM past that region.  arch_iommu_hwdom_init()
would fail on those systems when patch 3/3 was applied, as then
reserved regions past the last RAM address are also mapped in
arch_iommu_hwdom_init().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:08:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:08:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636570.992174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r528A-0002CW-Kr; Mon, 20 Nov 2023 11:07:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636570.992174; Mon, 20 Nov 2023 11:07: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 1r528A-0002CP-IH; Mon, 20 Nov 2023 11:07:54 +0000
Received: by outflank-mailman (input) for mailman id 636570;
 Mon, 20 Nov 2023 11:07: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=qNCP=HB=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r5288-0002CJ-Hv
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:07:52 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 0af912ec-8795-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:07:50 +0100 (CET)
Received: from mg.gitlab.com (26.226.74.34.bc.googleusercontent.com
 [34.74.226.26]) by
 5cd879ba688b with SMTP id 655b3e04a4dcab75e98299dc (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 20 Nov 2023 11:07:48 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 0af912ec-8795-11ee-98df-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700478468; x=1700485668; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=tJXgBp7dsCMeg8+U2ZPdXW5UH7Z4clNldkGvN+FH08A=;
 b=NjoTVSHBhSVIxTDY0I7BmvN/eEd9nUfoRDT4NkfZk69uIiymctDHwk+1n+GLpaq4r9ArP6U36xoXzTy8oWjyZ6S87PBdpjqxgorl/KA3fiA0COuMQJoqAm/51ZruPwSjUMwr/WKiQePTTig5JNuzRNO7rUQuuUQGh1REjrgHZJg=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Mon, 20 Nov 2023 11:07:48 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655b3e044c94f_2c9ffc41124dc@gitlab-sidekiq-catchall-v2-7d448ff795-5mlg7.mail>
Subject: xen | Failed pipeline for staging | cfb77779
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655b3e04380d0_2c9ffc411233a";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1078515214
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655b3e04380d0_2c9ffc411233a
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1078515214 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: cfb77779 ( https://gitlab.com/xen-project/xen/-/commit/cfb777791d39e025cf625ba1fa080597d4defef6 )
Commit Message: amd/iommu: fully initialize array in 'flush_com...
Commit Author: Nicola Vetrini
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )


Pipeline #1078515214 ( https://gitlab.com/xen-project/xen/-/pipelines/1078515214 ) triggered by Ganis ( https://gitlab.com/ganis )
had 17 failed jobs.

Job #5574364088 ( https://gitlab.com/xen-project/xen/-/jobs/5574364088/raw )

Stage: test
Name: qemu-xtf-dom0less-arm64-gcc-hyp-xen-version
Job #5574364058 ( https://gitlab.com/xen-project/xen/-/jobs/5574364058/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc-staticmem
Job #5574364125 ( https://gitlab.com/xen-project/xen/-/jobs/5574364125/raw )

Stage: test
Name: qemu-smoke-dom0less-arm32-gcc-without-dom0
Job #5574363677 ( https://gitlab.com/xen-project/xen/-/jobs/5574363677/raw )

Stage: analyze
Name: eclair-ARM64
Job #5574364078 ( https://gitlab.com/xen-project/xen/-/jobs/5574364078/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem
Job #5574364106 ( https://gitlab.com/xen-project/xen/-/jobs/5574364106/raw )

Stage: test
Name: qemu-smoke-dom0less-arm32-gcc-staticmem
Job #5574363795 ( https://gitlab.com/xen-project/xen/-/jobs/5574363795/raw )

Stage: build
Name: debian-bookworm-gcc-arm64-randconfig
Job #5574363827 ( https://gitlab.com/xen-project/xen/-/jobs/5574363827/raw )

Stage: build
Name: alpine-3.18-gcc-arm64-boot-cpupools
Job #5574364044 ( https://gitlab.com/xen-project/xen/-/jobs/5574364044/raw )

Stage: test
Name: qemu-smoke-dom0-arm64-gcc-debug
Job #5574364073 ( https://gitlab.com/xen-project/xen/-/jobs/5574364073/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc-debug-staticheap
Job #5574364075 ( https://gitlab.com/xen-project/xen/-/jobs/5574364075/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc-static-shared-mem
Job #5574364054 ( https://gitlab.com/xen-project/xen/-/jobs/5574364054/raw )

Stage: test
Name: qemu-smoke-dom0less-arm64-gcc-debug
Job #5574364130 ( https://gitlab.com/xen-project/xen/-/jobs/5574364130/raw )

Stage: test
Name: qemu-smoke-dom0less-arm32-gcc-debug-without-dom0
Job #5574364120 ( https://gitlab.com/xen-project/xen/-/jobs/5574364120/raw )

Stage: test
Name: qemu-smoke-dom0less-arm32-gcc-debug-gzip
Job #5574363788 ( https://gitlab.com/xen-project/xen/-/jobs/5574363788/raw )

Stage: build
Name: debian-bookworm-gcc-arm64
Job #5574363779 ( https://gitlab.com/xen-project/xen/-/jobs/5574363779/raw )

Stage: build
Name: debian-bookworm-gcc-arm32-debug-staticmem
Job #5574363865 ( https://gitlab.com/xen-project/xen/-/jobs/5574363865/raw )

Stage: build
Name: debian-bookworm-gcc-arm64-cppcheck

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655b3e04380d0_2c9ffc411233a
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging | cfb77779</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1078515214 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/cfb777791d39e025cf=
625ba1fa080597d4defef6" style=3D"color: #3777b0; text-decoration: none;">=

cfb77779
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
amd/iommu: fully initialize array in 'flush_com...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/23d68b797e165570c641942285dfe06e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Nicola Vetrini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">Committed by</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1078515214">#1078515214</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 17 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364088" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-xtf-dom0less-arm64-gcc-hyp-xen-version
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364058" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc-staticmem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364125" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm32-gcc-without-dom0
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
analyze
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574363677" style=3D=
"color: #3777b0; text-decoration: none;">
eclair-ARM64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364078" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364106" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm32-gcc-staticmem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574363795" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm64-randconfig
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574363827" style=3D=
"color: #3777b0; text-decoration: none;">
alpine-3.18-gcc-arm64-boot-cpupools
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364044" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0-arm64-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364073" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc-debug-staticheap
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364075" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc-static-shared-mem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364054" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm64-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364130" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm32-gcc-debug-without-dom0
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574364120" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm32-gcc-debug-gzip
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574363788" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574363779" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm32-debug-staticmem
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5574363865" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc-arm64-cppcheck
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655b3e04380d0_2c9ffc411233a--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:17:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:17:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636606.992185 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52Gt-0004rA-Ko; Mon, 20 Nov 2023 11:16:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636606.992185; Mon, 20 Nov 2023 11:16: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 1r52Gt-0004r3-Gk; Mon, 20 Nov 2023 11:16:55 +0000
Received: by outflank-mailman (input) for mailman id 636606;
 Mon, 20 Nov 2023 11:16: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 1r52Gs-0004qx-5z
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:16: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 1r52Gq-0004hz-Pt; Mon, 20 Nov 2023 11:16:52 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r52Gq-0007r2-I4; Mon, 20 Nov 2023 11:16: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=X+qWaj3+3C0EKFQCpNrXouQFELKlOZMDstI67Ck946Q=; b=NVVAAtGvgUDY46SG0qf5dzYT0m
	m3XEpOaQmSNP8YZ1IiH67j5YRwkiDxtwbeECeU2i3a67bBS9Z2pJDL/l4RLKZklm7nYaGgQy68TYk
	ljmvzBekO89AVzj7+xH3a+A8CKbio4hKueoqnu6VSDnJbSL2emb+r8JZm+eJyw91bw2k=;
Message-ID: <da1d557a-6030-4dd8-a875-af733572fc48@xen.org>
Date: Mon, 20 Nov 2023 11:16:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Devise macros to encapsulate (x & -x)
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen Devel <xen-devel@lists.xenproject.org>,
 Consulting <consulting@bugseng.com>, Jbeulich <jbeulich@suse.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Roger Pau <roger.pau@citrix.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
 <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com>
 <alpine.DEB.2.22.394.2311171845440.773207@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2311171845440.773207@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit



On 18/11/2023 02:46, Stefano Stabellini wrote:
> On Fri, 17 Nov 2023, Andrew Cooper wrote:
>> On 17/11/2023 10:17 am, Nicola Vetrini wrote:
>>> Hi all,
>>>
>>> As discussed in this thread [1], which is about complying with MISRA C
>>> Rule 10.1,
>>> a macro was introduced to encapsulate a well-known construct:
>>>
>>> /*
>>>   * Given an unsigned integer argument, expands to a mask where just
>>> the least
>>>   * significant nonzero bit of the argument is set, or 0 if no bits are
>>> set.
>>>   */
>>> #define ISOLATE_LSB(x) ((x) & -(x))
>>>
>>> This macro has a gained some calls in the subsequent patches in that
>>> thread, but concerns were raised around the fact that it would be
>>> better to devise a macro that evaluates its argument only once. A
>>> proposed solution is this (thanks to Jan Beulich):
>>>
>>> #define ISOLATE_LSB(x) ({ \
>>>       typeof(x) x_ = (x); \
>>>       x_ & -x_; \
>>> })
>>
>> Of course this was going to explode.
>>
>> This isn't even the first time an unwise attempt to do single-evaluation
>> has needed to be reverted because it doesn't work with Integer Constant
>> Expressions.
>>
>> Switch it back to the first form.  It's obviously a macro to begin with,
>> and not likely to be used in cases that have side effects.
> 
> +1

FWIW +1. I don't much like the idea to have two different versions of 
the helper if there is no real need for it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:19:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:19:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636612.992194 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52Jk-0005nB-0R; Mon, 20 Nov 2023 11:19:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636612.992194; Mon, 20 Nov 2023 11: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 1r52Jj-0005n4-U3; Mon, 20 Nov 2023 11:19:51 +0000
Received: by outflank-mailman (input) for mailman id 636612;
 Mon, 20 Nov 2023 11: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r52Ji-0005my-Ha
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:19: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 b7367cd6-8796-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 12:19:48 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-32d81864e3fso2675597f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 03:19:48 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 z5-20020adff745000000b0032d829e10c0sm10825917wrp.28.2023.11.20.03.19.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 03:19:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7367cd6-8796-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700479188; x=1701083988; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Rkl+YdxOFE7JWNPrxAnCpP+tIG+fKa09gahuAhInB78=;
        b=vUgZWoDHvNr46ol3mVD8Oj64q4Sd+uj7XmQe8bDA6+DQL+jLvJXQH8I9fNDJAjGXpx
         oxgdqrYjlwNAziM8glpCHsEtRrWhvDLBNCkBIrrH65k1bfLG6DPUM0m3w6GyThsbKzgr
         BSmKztTzISMgzHbWg3NBZAtcF//PQ+pl4CkPo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700479188; x=1701083988;
        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:subject:date:message-id:reply-to;
        bh=Rkl+YdxOFE7JWNPrxAnCpP+tIG+fKa09gahuAhInB78=;
        b=ECwBUDOsokFy+DyKAfY07tJaf++HLx25skPTkyZBw5gkt+/p5M4VF1fhQnOWm0s4j/
         ceeLO4mcZuIgceo2AnJGKgSM98az3tHYICu5zWq66He7g5DkHyKi6fBvrSF6+BpM396j
         XgZzKQ7ErlSgbcL/BhsZImQVqefkEOizQRmpi6vtPYUZgXlnnSKVBrLYxI6grUl077xu
         x5BLJSnIt82EEe86uWMvDxKFJEu1DC4cLS+aCAFDoalQjywTcXVjbCPwL08cz3XD6YEF
         Qn+yxCuO1qTFFNLiSlqyCqEGr2TSh4AZbqckOJTW85aaR4se5NnXZTnSnpAyZhXr7SDL
         PPHw==
X-Gm-Message-State: AOJu0YwRX0sSOdVf+8dXUTMdVnIedrXa67QCBEv4IUFAEe+X1xGgH48t
	PseW6wfoTe9udEvMF7VJGI4S8Q==
X-Google-Smtp-Source: AGHT+IHhfmHFehhAKXmvjfjYU6MYHOg5Fyyvig2Q507sZHkvydxE89iHJZ8KF1t9gFDRqER3y1wKGg==
X-Received: by 2002:a5d:5849:0:b0:332:cb12:16ce with SMTP id i9-20020a5d5849000000b00332cb1216cemr533580wrf.65.1700479187947;
        Mon, 20 Nov 2023 03:19:47 -0800 (PST)
Date: Mon, 20 Nov 2023 12:19:46 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [PATCH 6/6] automation: switch to multi-platform images when
 possible
Message-ID: <ZVtA0v0sf8H27qOC@macbook.local>
References: <20231116121310.72210-1-roger.pau@citrix.com>
 <20231116121310.72210-7-roger.pau@citrix.com>
 <alpine.DEB.2.22.394.2311161711560.773207@ubuntu-linux-20-04-desktop>
 <ZVc9MZQ3lJpL2Nz1@macbook.local>
 <alpine.DEB.2.22.394.2311171826100.773207@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2311171826100.773207@ubuntu-linux-20-04-desktop>

On Fri, Nov 17, 2023 at 06:27:50PM -0800, Stefano Stabellini wrote:
> On Fri, 17 Nov 2023, Roger Pau Monné wrote:
> > On Thu, Nov 16, 2023 at 05:14:23PM -0800, Stefano Stabellini wrote:
> > > On Thu, 16 Nov 2023, Roger Pau Monne wrote:
> > > > Instead of using specific architecture image, switch to using multi-arch ones
> > > > and specify the desired architecture using the --platform option.
> > > > 
> > > > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > > > ---
> > > > I haven't touched the Yocto dockerfile because I'm not sure how it's used.
> > > 
> > > We are missing:
> > > 
> > > automation/build/debian/buster-gcc-ibt.dockerfile
> > 
> > That file was updated in patch 5/6:
> > 
> > https://lore.kernel.org/xen-devel/20231116121310.72210-6-roger.pau@citrix.com/
> > 
> > > automation/build/debian/bookworm-cppcheck.dockerfile
> > 
> > Not sure I'm following, bookworm-cppcheck.dockerfile is updated...
> > 
> > > automation/tests-artifacts/*
> > 
> > Oh, didn't realize about those, I will do in a separate patch.
> 
> Thanks!
> 
> 
> > > Aside from that, it is fine.
> > > 
> > > How did you test the updated containers? Have you already pushed them to
> > > the registry?
> > 
> > I've pushed them to my local registry and changed the registry in one
> > of my Xen branches, see:
> > 
> > https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1074512137
> > 
> > Some jobs failed because the runners run out of space.
> 
> Oh, OK. It is going to be a lot of work to rebuild and push all the
> containers and I wouldn't mind you doing that once the patches are
> acked. In fact it would be great if you pushed the containers once you
> tests that they work as expected. If you don't have the right access
> permissions, I can do that too

For the patches only the x86 bookworm container needs to be rebuild in
order to contain the packages required by the test step.

The rest can be updated either before or after the series has been
committed.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:22:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:22:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636620.992205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52MZ-0007k4-E7; Mon, 20 Nov 2023 11:22:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636620.992205; Mon, 20 Nov 2023 11:22: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 1r52MZ-0007jx-Ag; Mon, 20 Nov 2023 11:22:47 +0000
Received: by outflank-mailman (input) for mailman id 636620;
 Mon, 20 Nov 2023 11:22: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r52MY-0007jr-Gy
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:22:46 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20619.outbound.protection.outlook.com
 [2a01:111:f400:7d00::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1fe5deca-8797-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 12:22:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB10009.eurprd04.prod.outlook.com (2603:10a6:10:4ec::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 11:22:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 11:22: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: 1fe5deca-8797-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JVSreEeAxilDC67dIN0DjCvI2QDDdsHaaGq7JX6HjuX37Y0joznEAVNCEuvmEQxxX6zXbh7+fWVe7a3Iue6UmApmBWtkengdfNEakqNpwrDQdzGXjxHVISZZrGAUwLdARnrCrGESvcYTwZiwA3Gy2YHmGXXAoR4na5whjngTzmUybXxLTlGJcDCAwcSfqzULNMEZoJiEi6SdavWJF3RUtg41RyGFB1123+kCd2tq4bXc3wBsiwsvoS3eozulz+8PPvPobIuiERCcjcsFmLUSvl8H9aXE7DKVLH5L9WdvTZblL1Jp1KN4xbtZuhpFsEOLgMmnKY1lkadYf5nxCdrysw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=52sV2VQ79iKPM9A+JcHwbMdcMtv3fjDnzRzXAz1uo+w=;
 b=RHE/4mS0BU+6/VmIjuQBuqiMvAIBbJZlfYPfMGg3m0XZvKR23CoTUS8GP/NzzZbgpQDZpEOrpaGHsBm0CaTGzfTimIsg7/gRu+JVPOek89DqgrqEuPTx+01crrk2QW06fozV0yvCfvqT/dD7vmq5P7dxWtzyI4KRoCGYfC5eLAHOo+9Ledbw1f2XAaVrPS/kUYPo57QkZ8zjX8DZpeLUB4SYNLxjesy4a/MMSS1qPO3YNmynknsoLOrH8X40ho/yu6urWqzKxIivpV/fdKCFLts8R/m2hQF0Z3/BcJut9jc/IVZaPXZzGjBF2DylBf9ZiIRp5OCPUrgic5GVjjKixA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=52sV2VQ79iKPM9A+JcHwbMdcMtv3fjDnzRzXAz1uo+w=;
 b=lzvTsV6bWrEjlWxzoSAS8whrcS3s/MlC0v07/Z2K6cKoRcBY4hWOD9fXfSa2BeLssUOKqetD2Tb0AmNlSijT1Z3DiWekQDglMe4IODrEkQzSK4TH+uKaHzluglITb4T37IQ5ZznuIekJrOtmq7aea8cSqRLyIR4Km1TilR6RJe0ncdPtqSLLUYXyJjCC0GppxLlUEtU/3lVrIlYJiFifMjuwzaDGafgxSmR1Q9Z+CYh5nZbv/MjL8WEcA2b17N8h0AiPOhw68+aj/0bwnrWesfH8gviH7wMRj/sLmxvKoMcBDfjLi6XYhmlKJkY4P4sc7jMhpmoECIbY9MNf3zp6Ig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <667125f7-f62d-4ff6-be89-f117f212d261@suse.com>
Date: Mon, 20 Nov 2023 12:22:42 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: xen | Failed pipeline for staging | cfb77779
Content-Language: en-US
To: xen-devel@lists.xenproject.org
References: <655b3e044c94f_2c9ffc41124dc@gitlab-sidekiq-catchall-v2-7d448ff795-5mlg7.mail>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <655b3e044c94f_2c9ffc41124dc@gitlab-sidekiq-catchall-v2-7d448ff795-5mlg7.mail>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0380.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f7::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB10009:EE_
X-MS-Office365-Filtering-Correlation-Id: 7c31935b-663a-440a-bcdc-08dbe9bb028a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7d5xJvXZDXYNSKwDnJ38jKbO9+825d1hOtIhUI2a24rMxXkUvzvcFaMkX4YYtyxijYOC8RAlPeNxPE7BZOpyzao+4yZH3NuxiZ7Kz3hjUQKEJ0kJpcY/Ow3VZk+edMZ5phPedJyHU+WQB2tL/3SAxywCpTgWqsuyOhAsqulIFaPaMLAg8yyvFRI2whVezjVAFMsJZeIj6dvVU3kUGGQg5WWmpsTQ7FTVn1QrzudWoqWc+5+Cu/5S4y4VFcl5103YyfwQEbu+XmIVgmYv4ZFGgY0ctg+bKSzktX/Ay5pyg+RTqJOXhUmRkXxe/cPRmdlmKrORlD5P/7wmj/AoO5bDst1ABjQfwIqnG4vDUh9R7bjhIe5eQ+Q2B2Iuqs02y9NjUL1ILVtGlJLuP0QOS+Bt2SOGeFuoabtQRr/GBo5We1LhnspCxIk3jFv1ZvXy/8niDVJb8FhnDQGkNhhN2I42mEqKmf4Ga8wYV4g7I0H8LQawed4E3TTorFsskLRWYVVpBEiPzJrRYDlpnUViB4t2mEvZJQRcGv50ydqKtxUoeNWFO/vIpbjY5QCBfcNEEe4ad7AcHRm/3OQ1ShGz35We52I75cirFaMTt/S+ZU3jup9Q7BbIYQSxh9DERUx/ms3sETcFrI0dqX97Nm0Mb5ywCMUrtLMi2RlB23DBlxi023FhhMiR8I8u7Add7xJk5i82
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(376002)(346002)(136003)(39860400002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(5660300002)(66476007)(66556008)(6916009)(8936002)(66946007)(8676002)(316002)(83380400001)(26005)(53546011)(6506007)(478600001)(6486002)(2616005)(966005)(6512007)(41300700001)(2906002)(36756003)(38100700002)(86362001)(31696002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z1JXUHJpK2tIMDhkZ21NUjA5ekZlOXZHRC9CVWRDbjBlOGtPYVhzL2Vsdk9C?=
 =?utf-8?B?NUVSZ2xJK25FNk0wWUdsSHloM2p0dGw3OVRveXFmQkJyNEE4bUtTdGhFazN2?=
 =?utf-8?B?OGFsN0YxMm5Leno3RmpndlhZZlBweUFxNU5IUUROVjlnUEdyN3UrZHcybXZu?=
 =?utf-8?B?NWRhSzlkZmtZdUR6QjI5VzVyRGlDZWw5VmxuKzFERHJuUFd2Z3VHUFBoOXRL?=
 =?utf-8?B?WkhaZDhGc0pjTG9iUk5NcXhvMDJvditjZUdveVVXMnhmRnNMUnkzcy9YdkpP?=
 =?utf-8?B?OVI1QzZCMHFFWXhuRXBZYWJQRzVKMW9WbHZ4aUk4VEtlR01lL2ZuQnlBQjI1?=
 =?utf-8?B?VW0xQy9IQUU3VXNidEpCNG5oSzFrY2p3cFFBcXFJakZXbnlncVV1eldGaHlR?=
 =?utf-8?B?ak5yUkkzam0xcUUvM2theVV6eTBWYlRsczNvdnRSRDhBWHRzTVdCV1E0TnV3?=
 =?utf-8?B?VTlDVVhrRkZjR09BSXVkSTlnbjMvbzc0Wk5GNEtRU2RPUHY3NnZYOW1uVDlI?=
 =?utf-8?B?ZTZWY1lrTWh2TmJqTWNlK2NHak5BVUMxN3BrdW84SkJDeXpDQWU4V2VIcVUx?=
 =?utf-8?B?QzQrNDJYL2wxRjBUbTI3YmNKWmEwRDBjZkNTVlJJVXJrUW1zMytmUVlsWk9t?=
 =?utf-8?B?WGJVcjJESDJVanJ3UGVsRnVNc3drRUNhM04rS21QRU9YOVVWS2RmZjdkZnlZ?=
 =?utf-8?B?U042REtwenY0T1ZSck5GSFM1Sm9vZzliNitKUlRReVdQdDUzSWhKY2VPcEEr?=
 =?utf-8?B?UUhRRHRUUmFsSlZpdUdEb00wYlpGSk9JWTJtMDU5Q1hlS1Y0OWxuZmhmU2Zl?=
 =?utf-8?B?K2NnYURiWWNwOFNxa09UOUJQdDhLdExza1JKa3VGVXY0dERjNFV1M2k4c1Ja?=
 =?utf-8?B?cElab2YvNEZrL2RmZldnYUtIdTI0SXMzZm1CNXFkZjNTc2ZraXczc0o4VEZs?=
 =?utf-8?B?NEdyY3NscTF6aHdQQ0taejlZODNEaXRwT0xWbGd4WGhqWUNEZTJCdmJPendw?=
 =?utf-8?B?OE9yYWxZMlRlaUdteGw5MzJ5eHhlMCs3MVkrWEV2Nk5GbGNQNjQ2aHpjZDdM?=
 =?utf-8?B?bkN0ZkVrMnl4RExTZFZrT0VVZnBDNGZxcVBLUXhDUk85eVZ5U2ZWZGM3dEJW?=
 =?utf-8?B?cnVtWlBUckJQRDR6NmFqVTl0Qm9JZ2hMbCs1SG05b3ZpSkhNZUYvRWh1QXoz?=
 =?utf-8?B?TE1Uekx2eGpvL0dTb1BpSFlFRHc5QzQ2eEpMREFqVm9wcHNRWklBYVRQTUha?=
 =?utf-8?B?dzJrYlUxS3o2NGd4OG8xOWttcFN5QmFVaHVoWk1UYzhETTcrenh3ODhuZDRE?=
 =?utf-8?B?LzFJQkVqMTVnamZtZ1d2U3c5dEpyaVFqS1lwQVR2L3BmTlV2WXVzQVFwMk1u?=
 =?utf-8?B?UEZISUI0QnFsUnRiRG5kR0oySUN5VFpnVlU1d1dIb2RkbTFxdkNULzUxNWpD?=
 =?utf-8?B?WDNTZVJiTmNSOWN6UG9IaHV1UXlqVWhsMXEyK3E5TWFPOXh3T2hCVUJvNEk3?=
 =?utf-8?B?OUE4RGdkMklzaTVvMnJ4SDkyQVlXTVEzRkdJelZLbGtFcFl4bk1maFBoenJy?=
 =?utf-8?B?dzQ4d3V1QVVWL0xCSmhqTDB6ZFYwelZLNTZBaDhtL3k2Y2JtOU04V1BHWjkw?=
 =?utf-8?B?dW85bERBeTU3eTRuYVdVei9pZ0VqMXFGL1A4d2pQOWcxeGs1ZWc2WlcrZndJ?=
 =?utf-8?B?dTc3SkJ1ZE9hMWE0T0U4T05SNHNJeko3VWJlYm5DMGJ6eEtIdlFoZEZUcU1H?=
 =?utf-8?B?ZHJoNnpUOWhJSnFOT2I2cjdhL2kvMUpoZURGU0o0cUtBRVJUNThHZ3FTYnJj?=
 =?utf-8?B?STljNC9Jb3RSbGd0eU9UWktZMWJ1NjBrZmZMbk9YbHUwWTJBMzdXVFJKcHdh?=
 =?utf-8?B?Q25KeG5PZFFlZDZZRC8zNThiNlRSK0dhM2FtYmk4a3ZWVWVRejl0dHptZXho?=
 =?utf-8?B?SXJLUjFXbWhuSDdxUWNnZkJ5TnNsdVorRlkvOU9Pem1Ub3NlNkVkQnYxRFJW?=
 =?utf-8?B?dDR3b042NnZscU1oZ0NUZ0RUSjd1dEtsNklSTXF2bzF6T2tZc1ZaRUV2Qk5S?=
 =?utf-8?B?QWNMcmxsbnBNbVJ3ZEZEK1pHRGg3NkxqaTV6NWZTMjJzVXhpWVlwSGRZaWlr?=
 =?utf-8?Q?16u6bRWAvlEuarMWjl+3jjDfq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7c31935b-663a-440a-bcdc-08dbe9bb028a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 11:22:41.4925
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ka01zhClYU8ssl7vyYA3CZK6zo0A+psrxhBbK5DCDXJ8+F6gAZBoA8g2LH+BO+qyh1KCA36qIiKqWtRH/l9ZWA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB10009

On 20.11.2023 12:07, GitLab wrote:
> 
> 
> Pipeline #1078515214 has failed!
> 
> Project: xen ( https://gitlab.com/xen-project/xen )
> Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )
> 
> Commit: cfb77779 ( https://gitlab.com/xen-project/xen/-/commit/cfb777791d39e025cf625ba1fa080597d4defef6 )
> Commit Message: amd/iommu: fully initialize array in 'flush_com...
> Commit Author: Nicola Vetrini
> Committed by: Jan Beulich ( https://gitlab.com/jbeulich )
> 
> 
> Pipeline #1078515214 ( https://gitlab.com/xen-project/xen/-/pipelines/1078515214 ) triggered by Ganis ( https://gitlab.com/ganis )
> had 17 failed jobs.
> 
> Job #5574364088 ( https://gitlab.com/xen-project/xen/-/jobs/5574364088/raw )
> 
> Stage: test
> Name: qemu-xtf-dom0less-arm64-gcc-hyp-xen-version
> Job #5574364058 ( https://gitlab.com/xen-project/xen/-/jobs/5574364058/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0less-arm64-gcc-staticmem
> Job #5574364125 ( https://gitlab.com/xen-project/xen/-/jobs/5574364125/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0less-arm32-gcc-without-dom0
> Job #5574363677 ( https://gitlab.com/xen-project/xen/-/jobs/5574363677/raw )
> 
> Stage: analyze
> Name: eclair-ARM64
> Job #5574364078 ( https://gitlab.com/xen-project/xen/-/jobs/5574364078/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem
> Job #5574364106 ( https://gitlab.com/xen-project/xen/-/jobs/5574364106/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0less-arm32-gcc-staticmem
> Job #5574363795 ( https://gitlab.com/xen-project/xen/-/jobs/5574363795/raw )
> 
> Stage: build
> Name: debian-bookworm-gcc-arm64-randconfig
> Job #5574363827 ( https://gitlab.com/xen-project/xen/-/jobs/5574363827/raw )
> 
> Stage: build
> Name: alpine-3.18-gcc-arm64-boot-cpupools
> Job #5574364044 ( https://gitlab.com/xen-project/xen/-/jobs/5574364044/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0-arm64-gcc-debug
> Job #5574364073 ( https://gitlab.com/xen-project/xen/-/jobs/5574364073/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0less-arm64-gcc-debug-staticheap
> Job #5574364075 ( https://gitlab.com/xen-project/xen/-/jobs/5574364075/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0less-arm64-gcc-static-shared-mem
> Job #5574364054 ( https://gitlab.com/xen-project/xen/-/jobs/5574364054/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0less-arm64-gcc-debug
> Job #5574364130 ( https://gitlab.com/xen-project/xen/-/jobs/5574364130/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0less-arm32-gcc-debug-without-dom0
> Job #5574364120 ( https://gitlab.com/xen-project/xen/-/jobs/5574364120/raw )
> 
> Stage: test
> Name: qemu-smoke-dom0less-arm32-gcc-debug-gzip
> Job #5574363788 ( https://gitlab.com/xen-project/xen/-/jobs/5574363788/raw )
> 
> Stage: build
> Name: debian-bookworm-gcc-arm64

Randomly picking this one:

fatal: unable to access 'https://gitlab.com/xen-project/xen.git/': Could not resolve host: gitlab.com

Jan

> Job #5574363779 ( https://gitlab.com/xen-project/xen/-/jobs/5574363779/raw )
> 
> Stage: build
> Name: debian-bookworm-gcc-arm32-debug-staticmem
> Job #5574363865 ( https://gitlab.com/xen-project/xen/-/jobs/5574363865/raw )
> 
> Stage: build
> Name: debian-bookworm-gcc-arm64-cppcheck
> 



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:34:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:34:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636626.992215 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52YD-0002EZ-IT; Mon, 20 Nov 2023 11:34:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636626.992215; Mon, 20 Nov 2023 11:34: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 1r52YD-0002ES-E2; Mon, 20 Nov 2023 11:34:49 +0000
Received: by outflank-mailman (input) for mailman id 636626;
 Mon, 20 Nov 2023 11:34: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r52YB-0002EM-Sz
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:34:48 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ce8875e2-8798-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:34:46 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8103.eurprd04.prod.outlook.com (2603:10a6:20b:3b3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 11:34:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 11:34: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: ce8875e2-8798-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gUFbK6ZKX6xM73gNggmtFspC1OvpiWjCAipAzymsWmXRA6V4AZPxsJEAABxKucWqXevSWAYu9VckmsXpQKlqeC/hIoHUZaJMyboWfwIpHWm5ePOD40mi86Z0wHHRN95L/m0EMf1bAPmO51ctUm7pGKshCyM54q78E7T+GZ2kXGT6aBzPc/6/BWbZLw1k0H+2YaUfv9AOxnEoiuClv+bwrs5UFyyQMmuz8+TeJl+vc2kzSlibhFt5UIgdBHLnL6DIKS+xA27KdzClRpUvphtw2CDk9wf33fEI3X6cdNRU3HVK3XTLVukRY5k12ss6i1nCuelyfPu/ZwVVBw53SkN+Ug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z5kLVuIyFrgiWUcHogd2nCXxVGSKSjpcut5ZCn/5sAY=;
 b=HcaMo3oqL0bC//NKtPyFpXG41cdXeISRRGURYgDw8fjcj21f9QAuRimc67xWayKVU5pSy3YziI0QQaDJTiBuY0X4R4qvWMXMBDg90GzWVVS26XPDkiJ531mQAJhhFTT9wIRcoA4BpTO5p6cgbwl8EYoaHBI2k8WT7UlYCG0gyshsulGEcj7+1MsUGvKrzV5KlBnBOKS5/lP07Z/lCYXatkcsxomFY+HcVBUnF3IZ18Qn0LqkOV6E3j2SYc8eBfAg3ttSN4r/UAjhfB0inzn7azT7LdcDUsl6PsED9Da43Ewq1mcEvqXPFugwdM9bclC1XnNRYkdKj2KZdc67eVzuhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Z5kLVuIyFrgiWUcHogd2nCXxVGSKSjpcut5ZCn/5sAY=;
 b=pcr8Of2topzpzqGhInHsJUz1chMrnIkO5nqRrlnlLR0ZrNlYdJ0IgW2A/6ix09z8UxPwn8S+9Ly26KM5vuTSaFJgp3ZXkaFzKZrhjvZPZbJ9zrUrn567Km9E2k6draS9IyHnzp2bsN1WEqDWdXtI3N/WNYHjAUYDUQsR1QQJj4SslhCd1GKufJ0g1/4N5eLdq2MaXmeaUhi3aR14zSsfNk7Ah17LAKEV59JEkELVv3Ek/tTPNfSmdVhpAXU2bDTLdvc3PjBzq8sWohg+6Unz4bCeq83E3lu0r8E7FgipdJ637Y3xmPHpK5liH2w819QD8PKjJbNTe+wAeZhes0lp2A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a857c016-7cc7-48ed-968a-8a9f2748c8d3@suse.com>
Date: Mon, 20 Nov 2023 12:34:45 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] amd-vi: use the same IOMMU page table levels for PV
 and HVM
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-2-roger.pau@citrix.com>
 <e90d416e-f4dd-4b2c-9247-0e3aa35c26d9@citrix.com>
 <0392fe23-7589-4dc2-b664-1e7e01c3914d@suse.com>
 <ZVs0fvUQI9C7NRc5@macbook.local>
 <f414730f-307d-4ef6-9aaa-a861925fdab4@suse.com>
 <ZVs52elOtWbTaD0i@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVs52elOtWbTaD0i@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0283.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e6::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8103:EE_
X-MS-Office365-Filtering-Correlation-Id: d9e905ea-c5f6-422d-32b4-08dbe9bcb19a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Eg2GGbQrih52bfOWKwBnqBc96leRO1iKpAOckXlOZgc8iyRMWtSoeXj1Sjv8sIEFwyuPPpEx8Nlveudkwqo6QkuqQ6M/wraL/n/F0ENEFqUiwWJVRH+cYp4B64iMcGJMC/3BVe4zxSnXoDJp/FsCdJlYs2YwjYpKK+3AKlHjKWB82hz/uoFkVtKRfXa9aAUJb8YjoHtXKVKfNFcNdaY+O+0o+jYQ8q3B4Y9ZfwsnN7pKV0O47/emD7SCOJ3Y/kZzkAWwNDBp0+W/HDNHALw1s5y2xLa8oU0T+CwYZpuvzy833pe4shLKcGb490FPVW0DVSfnci2j1049FoiKbln/2Qii2GEdeh0EWta01FX0lyYLlqGKLpboIiqz+dkCFu7tjNQI4ocoYiNf3+HOsSUimEQLb2aAunJhDBn67q4C2tQzEKcWkgGqFM0lBXH/XFxqGez9X2SHza78V4woQo1725Nw2XVm1WaHt3pFML0GnxEtvmt5Dr5bdAmrBzUXq/UHjB+tlwJ4Rl87gVet44d24gwsaqOUrbhjha2h6VwchRQGpmqtzYhoFppBEwxrdXVx/kSR5l7Sv4PaAktI2gWFKqHERmuU4EWl0txo7+cnzPBnhgBnJDIZAovGmDoE0PUCHaHbOsJOX9shHluykhn2Zg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(366004)(346002)(136003)(39860400002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(41300700001)(36756003)(5660300002)(86362001)(31696002)(2906002)(6512007)(6506007)(53546011)(2616005)(26005)(83380400001)(6486002)(478600001)(31686004)(4326008)(8676002)(8936002)(38100700002)(316002)(6916009)(66946007)(66556008)(66476007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZGxBRGFXWVRnZFc1M3pwWEYrcm8zVmdEaFBPYzdza0tCSjJDNjBzMWtIbi96?=
 =?utf-8?B?N3RQelR1RlpYd0RndVE2NUVVRFE4QlR4RFRwbi80RCtPWlROVEJiU1ErU3du?=
 =?utf-8?B?bkZjdVRPK0NpZzh5SmZZc0czWGxkcFRSd0FoTzJKM25NVStSTlg0RWxndjBv?=
 =?utf-8?B?aXRYVHg3THBrUkREOEtZVUxyZ1orUmVQK3oxbmIwUlVmcWo3TUxkeWMyUTlL?=
 =?utf-8?B?TiswbDNmRkp2TXJxU211R3Q5d0tWcTBvdGdxbGJyWEcxVm1US04ybE52d05h?=
 =?utf-8?B?Sm5ETm9qTVdSVERhYmpwa29YTW1lMDRZcUlCUGhacXphaVgySis5NTZCWUJJ?=
 =?utf-8?B?L1VBSjl3OHJrV3NjdmU4c255TWxPdHlXdC9IcTByTzlvenVIcGp3M3RaMXBw?=
 =?utf-8?B?R3dnd253QlVwWmtFUXhRc2IzRWRtT0NBbUNVcnRtVjhaNjNhcHZOVFlBVVRO?=
 =?utf-8?B?Qk5QOWxRdDdCZDcrNGZ4VFh5cFk1SEpEZ25ieE9hTlI4dEtBWDFnTVJ4eTM3?=
 =?utf-8?B?RDF6MDFxeWNHR2dXalZBT002OUVBeDU5K2thY1lXK2ExODlzaEY0blg2b3Zw?=
 =?utf-8?B?Q0I2enFWL253WktuV0V2ZUc1THFFRHRGY0hxcWFERHRxbFpIQ0xPK0Fhc1lC?=
 =?utf-8?B?ejE0OSszZHZoSnNIOGdQQTFOVmpEZXNlajhDKzlpdTUvaUp4d2d3cDVwSUJM?=
 =?utf-8?B?MHM5RFBJNnBMTXBmbGZqK1B4WHBIZDN0M1NvcklUbXhydE54bDdpTGdnYnhk?=
 =?utf-8?B?ZlhsWnoyd0x0UFlmZXJVczdxNDI5WjM5d3FkRGE5QTVwV1N6cmRFeDhmTzFh?=
 =?utf-8?B?K01jbFVZeVRHUi8xMDIvaldCZUNMZXlZRFFJY3hGN1BjOWhnM2JyRXhnRUJ4?=
 =?utf-8?B?UGJQV2EzQWNnblYyNGgyN1F1V0ZrOCtFbDBscHYrcWNReVAxNUVSRDhadUJI?=
 =?utf-8?B?T0R4RXJMUVFycTcxNGtSMmlkdkpsQWs2UnQ0eEhLMjNYWVNtOTE5VWpmOUpG?=
 =?utf-8?B?RlhFb1dScnB5cXkxMkhYVnRZOWhyZDZmaklRSXBmeTAzcWNmNXU2aEE2bktN?=
 =?utf-8?B?NmZJV0FsL0xTRmJqc1ZLSjd4RXl5czJBMy90eml3TWtieUkwejluUlh3QmZx?=
 =?utf-8?B?ZG1QTXh2NVdSSGVSUm5SVVl1QnhtNVJxVXUzOG9uSWpNS1BjbE5UYURLNUVI?=
 =?utf-8?B?aDFIVHV2a0s4ck5uM25BSmFEYXBSUGo1eHVjbWdHNENOdWxiNlFJWGx5OXpH?=
 =?utf-8?B?dzJLTm54M1NjWTNLbVVvdDEvWU1ralJTVmNsNWRUKzluUEpuV0k2K3FRY1pu?=
 =?utf-8?B?RUFoWXFrVTFJN1puQ29iTWpXVE5uRUt1bjh2d0FJWmNGVHJKOFZmaDl6bVFj?=
 =?utf-8?B?YU9GbU1VNTFiV1hCSkZDR0ZQM21GQ2dKYjhxYkJaV1hOWEFPQml2eTg5VmNi?=
 =?utf-8?B?amRpRGp6djJJL3VPT1RmckIvNmZPeW5iUnVGSWpMZ3JUbFhmTUw2YnVSUFRo?=
 =?utf-8?B?dUNoczVsRHA2a3NBUlJuY3VpeGRsTXVzeHErZ2w3UDF4T3NwRy9Fa3JrNWRv?=
 =?utf-8?B?bDB4RTNBQXRtRERvYlFEY3Y4RWZDM0krSHhSUlpBUjY3aFUrV1dmekZDQzlS?=
 =?utf-8?B?dUs0SkVqSHRKYnRqY3B6bklZOENCWEsrRkpmeWlnYjlpdjJobkl2b1FtUzdw?=
 =?utf-8?B?bi9KenhpYVhSeHNlV1R5S0lpSVJaby9QMWFUMmFHQ3F0YlJPd3RuM01YMTdC?=
 =?utf-8?B?QXZhZTNIRzdHTHl0OUJWQzZpRGZlUnlveTgyUjZ2cDAzcVZRN1RRNUJ1cUJt?=
 =?utf-8?B?MElId1NxN3pDbUFUTXpLaEJ5Y0ZaSGRHMW1jZUV6Uy9FR1JTYUlVL1l5bDBR?=
 =?utf-8?B?QmJJeVQxMW00OUpJWjF5SDN0NmlUb2hZTDlLT28zcW9xTE1IKzZrejlrMjdC?=
 =?utf-8?B?RXB0MkJCUmZTZStxK3orZjF5Y2ZrTjFvTGhUR0N3WWtXUHpzYXYyYlUwclZj?=
 =?utf-8?B?aUZxajFtM0NBN3dyaFhSeTRBa0tVdVlwbkl0Z0VLbmtGM2tpSmp6eEQwcm1S?=
 =?utf-8?B?SDVmSVZPbDE4eFIzSmNxeFhXeFlHVno2OVVMdDNsVXpicDlrbUREOFh0aGNJ?=
 =?utf-8?Q?KMq8LovNIlGgc8v+49nt4h2In?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d9e905ea-c5f6-422d-32b4-08dbe9bcb19a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 11:34:44.7385
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zpPPxMMBMw08dYKMF+IKF5NscrYIKioRq4XA9FbaAGl0vR7H9kX8Bzfq04BnbwdKKaiBO8yESl2jtJLzbv1AmA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8103

On 20.11.2023 11:50, Roger Pau Monné wrote:
> On Mon, Nov 20, 2023 at 11:37:43AM +0100, Jan Beulich wrote:
>> On 20.11.2023 11:27, Roger Pau Monné wrote:
>>> On Mon, Nov 20, 2023 at 10:45:29AM +0100, Jan Beulich wrote:
>>>> On 17.11.2023 12:55, Andrew Cooper wrote:
>>>>> On 17/11/2023 9:47 am, Roger Pau Monne wrote:
>>>>>>      /*
>>>>>> -     * Choose the number of levels for the IOMMU page tables.
>>>>>> -     * - PV needs 3 or 4, depending on whether there is RAM (including hotplug
>>>>>> -     *   RAM) above the 512G boundary.
>>>>>> -     * - HVM could in principle use 3 or 4 depending on how much guest
>>>>>> -     *   physical address space we give it, but this isn't known yet so use 4
>>>>>> -     *   unilaterally.
>>>>>> -     * - Unity maps may require an even higher number.
>>>>>> +     * Choose the number of levels for the IOMMU page tables, taking into
>>>>>> +     * account unity maps.
>>>>>>       */
>>>>>> -    hd->arch.amd.paging_mode = max(amd_iommu_get_paging_mode(
>>>>>> -            is_hvm_domain(d)
>>>>>> -            ? 1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
>>>>>> -            : get_upper_mfn_bound() + 1),
>>>>>> -        amd_iommu_min_paging_mode);
>>>>>> +    hd->arch.amd.paging_mode = max(pgmode, amd_iommu_min_paging_mode);
>>>>>
>>>>> I think these min/max variables can be dropped now we're not doing
>>>>> variable height IOMMU pagetables, which further simplifies this expression.
>>>>
>>>> Did you take unity maps into account? At least $subject and comment looks
>>>> to not be consistent in this regard: Either unity maps need considering
>>>> specially (and then we don't uniformly use the same depth), or they don't
>>>> need mentioning in the comment (anymore).
>>>
>>> Unity maps that require an address width > DEFAULT_DOMAIN_ADDRESS_WIDTH
>>> will currently only work on PV at best, as HVM p2m code is limited to
>>> 4 level page tables, so even if the IOMMU page tables support a
>>> greater address width the call to map such regions will trigger an
>>> error in the p2m code way before attempting to create any IOMMU
>>> mappings.
>>>
>>> We could do:
>>>
>>> hd->arch.amd.paging_mode =
>>>     is_hvm_domain(d) ? pgmode : max(pgmode, amd_iommu_min_paging_mode);
>>>
>>> Putting IVMD/RMRR regions that require the usage of 5 level page
>>> tables would be a very short sighted move by vendors IMO.
>>>
>>> And will put us back in a situation where PV vs HVM can get different
>>> IOMMU page table levels, which is undesirable.  It might be better to
>>> just assume all domains use DEFAULT_DOMAIN_ADDRESS_WIDTH and hide
>>> devices that have IVMD/RMRR regions above that limit.
>>
>> That's a possible approach, yes. To be honest, I was actually hoping we'd
>> move in a different direction: Do away with the entirely arbitrary
>> DEFAULT_DOMAIN_ADDRESS_WIDTH, and use actual system properties instead.
> 
> Hm, yes, that might be a sensible approach, but right now I don't want
> to block this series on such (likely big) piece of work.  I think we
> should aim for HVM and PV to have the same IOMMU page table levels,
> and that's currently limited by the p2m code only supporting 4 levels.

No, I certainly don't mean to introduce a dependency there. Yet what
you do here goes actively against that possible movement in the other
direction: What "actual system properties" are differs between PV and
HVM (host properties vs guest properties), and hence there would
continue to be a (possible) difference in depth between the two.

>> Whether having PV and HVM have uniform depth is indeed desirable is also
>> not entirely obvious to me. Having looked over patch 3 now, it also
>> hasn't become clear to me why the change here is actually a (necessary)
>> prereq.
> 
> Oh, it's a prereq because I've found AMD systems that have reserved
> regions > 512GB, but no RAM past that region.  arch_iommu_hwdom_init()
> would fail on those systems when patch 3/3 was applied, as then
> reserved regions past the last RAM address are also mapped in
> arch_iommu_hwdom_init().

Hmm, interesting. I can't bring together "would fail" and "are also
mapped" though, unless the latter was meant to say "are attempted to
also be mapped", in which case I could at least see room for failure.
Yet still this would then feel like an issue with the last patch alone,
which the change here is merely avoiding (without this being a strict
prereq). Instead I'd expect us to use 4 levels whenever there are any
kind of regions (reserved or not) above 512G. Without disallowing use
of 3 levels on other (smaller) systems.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:38:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:38:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636630.992225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52c5-0004FL-4t; Mon, 20 Nov 2023 11:38:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636630.992225; Mon, 20 Nov 2023 11:38: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 1r52c5-0004FE-2J; Mon, 20 Nov 2023 11:38:49 +0000
Received: by outflank-mailman (input) for mailman id 636630;
 Mon, 20 Nov 2023 11:38: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52c3-0004F8-MR
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:38:47 +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 5da66d84-8799-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:38:46 +0100 (CET)
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 ED66B2190B;
 Mon, 20 Nov 2023 11:38: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 6F58413499;
 Mon, 20 Nov 2023 11:38:45 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 5o/GGUVFW2WqPQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:38: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: 5da66d84-8799-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480325; 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=NLwENRVTo357k+tumrzZ4ap5+XiZP8RkIEcBvoKnH9Y=;
	b=LejPns590LIlN0YhxaZ+zPC9xbLNuvEWDg4Iu1GJgQsVt6r3rl9oXRpEQ97pb8KiBKTMJR
	TzOlEQ+r6YZpEtX/jQoMJxClhc56yQOO/p9x/5G4KMJQIeL9Tn3qm6Fa3m5KxWKUxvC00Z
	E5TXq4zyJMjtu6BGls2MP0TT8+rB1ZU=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Lukasz Hawrylko <lukasz@hawrylko.pl>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Mateusz=20M=C3=B3wka?= <mateusz.mowka@intel.com>
Subject: [PATCH v3 00/13] xen/spinlock: make recursive spinlocks a dedicated type
Date: Mon, 20 Nov 2023 12:38:29 +0100
Message-Id: <20231120113842.5897-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: 0.70
X-Spamd-Result: default: False [0.70 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.999];
	 RCPT_COUNT_TWELVE(0.00)[18];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Instead of being able to use normal spinlocks as recursive ones, too,
make recursive spinlocks a special lock type.

This will make the spinlock structure smaller in production builds and
add type-safety.

This allows to increase the maximum number of physical cpus from 8191
to 65535 without increasing the size of the lock structure in production
builds (the size of recursive spinlocks in debug builds will grow to
12 bytes due to that change).

Changes in V2:
- addressed comments by Jan Beulich
- lots of additional cleanups
- reorganized complete series

Changes in V3:
- addressed comments by Jan Beulich

Juergen Gross (13):
  xen/spinlock: fix coding style issues
  xen/spinlock: reduce lock profile ifdefs
  xen/spinlock: make spinlock initializers more readable
  xen/spinlock: introduce new type for recursive spinlocks
  xen/spinlock: rename recursive lock functions
  xen/spinlock: add rspin_[un]lock_irq[save|restore]()
  xen/spinlock: make struct lock_profile rspinlock_t aware
  xen/spinlock: add explicit non-recursive locking functions
  xen/spinlock: add another function level
  xen/spinlock: add missing rspin_is_locked() and rspin_barrier()
  xen/spinlock: split recursive spinlocks from normal ones
  xen/spinlock: remove indirection through macros for spin_*() functions
  xen/spinlock: support higher number of cpus

 xen/arch/arm/domain.c         |   4 +-
 xen/arch/arm/mm.c             |   4 +-
 xen/arch/x86/domain.c         |  20 +--
 xen/arch/x86/include/asm/mm.h |   2 +-
 xen/arch/x86/mm.c             |  12 +-
 xen/arch/x86/mm/mem_sharing.c |  16 +-
 xen/arch/x86/mm/mm-locks.h    |   6 +-
 xen/arch/x86/mm/p2m-pod.c     |   6 +-
 xen/arch/x86/mm/p2m.c         |   4 +-
 xen/arch/x86/tboot.c          |   4 +-
 xen/arch/x86/traps.c          |  14 +-
 xen/common/domain.c           |   6 +-
 xen/common/domctl.c           |   4 +-
 xen/common/grant_table.c      |  10 +-
 xen/common/ioreq.c            |  54 +++----
 xen/common/memory.c           |   4 +-
 xen/common/numa.c             |   4 +-
 xen/common/page_alloc.c       |  30 ++--
 xen/common/spinlock.c         | 296 +++++++++++++++++++++++-----------
 xen/drivers/char/console.c    |  48 ++----
 xen/drivers/passthrough/pci.c |   8 +-
 xen/include/xen/console.h     |   5 +-
 xen/include/xen/sched.h       |  10 +-
 xen/include/xen/spinlock.h    | 176 ++++++++++++--------
 24 files changed, 449 insertions(+), 298 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:38:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:38:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636631.992235 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52cA-0004W2-D7; Mon, 20 Nov 2023 11:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636631.992235; Mon, 20 Nov 2023 11:38: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 1r52cA-0004Vv-8j; Mon, 20 Nov 2023 11:38:54 +0000
Received: by outflank-mailman (input) for mailman id 636631;
 Mon, 20 Nov 2023 11:38: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52c8-0004F8-P3
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:38:52 +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 60e10163-8799-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:38:52 +0100 (CET)
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 CF0582190B;
 Mon, 20 Nov 2023 11:38: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 83BA713499;
 Mon, 20 Nov 2023 11:38:51 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 9RPpHktFW2W0PQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:38: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: 60e10163-8799-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480331; 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=OnX4ToMxO+Gp+nTZBJENzZgJaVz1u/+9SpL+enjwp60=;
	b=a4sJVGfKCQO0aQs3MhUMfChA4vxCbAHwoet6siJbCsne1QDpCJgiVSo+8vn83nHriWL22E
	ab5b2xSc1LtS6QSixXFQHYZGwwYoDl0ljiRJbkXbhuIZn8q2Eho7WineFhaEPIBxNhCCfm
	S14lo3ik2/NkE0H5UzieKoljRyzBJIM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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 v3 01/13] xen/spinlock: fix coding style issues
Date: Mon, 20 Nov 2023 12:38:30 +0100
Message-Id: <20231120113842.5897-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Fix some coding style issues in spinlock coding:

- Instead of u64 etc. use the preferred uint64_t etc. types
- Remove some trailing spaces
- Add missing spaces in "if" statements
- Add some missing blank lines

While modifying the line, add const for the observed_head() parameter.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
V2:
- new patch
V3:
- add const for the observed_head() parameter (Jan Beulich)
---
 xen/common/spinlock.c      | 20 +++++++++++---------
 xen/include/xen/spinlock.h | 16 ++++++++--------
 2 files changed, 19 insertions(+), 17 deletions(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 7f453234a9..d7194e518c 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -100,7 +100,7 @@ void check_lock(union lock_debug *debug, bool try)
      * every lock must be consistently observed else we can deadlock in
      * IRQ-context rendezvous functions (a rendezvous which gets every CPU
      * into IRQ context before any CPU is released from the rendezvous).
-     * 
+     *
      * If we can mix IRQ-disabled and IRQ-enabled callers, the following can
      * happen:
      *  * Lock is held by CPU A, with IRQs enabled
@@ -108,7 +108,7 @@ void check_lock(union lock_debug *debug, bool try)
      *  * Rendezvous starts -- CPU A takes interrupt and enters rendezbous spin
      *  * DEADLOCK -- CPU B will never enter rendezvous, CPU A will never exit
      *                the rendezvous, and will hence never release the lock.
-     * 
+     *
      * To guard against this subtle bug we latch the IRQ safety of every
      * spinlock in the system, on first use.
      *
@@ -151,12 +151,12 @@ static void check_barrier(union lock_debug *debug)
 
     /*
      * For a barrier, we have a relaxed IRQ-safety-consistency check.
-     * 
+     *
      * It is always safe to spin at the barrier with IRQs enabled -- that does
      * not prevent us from entering an IRQ-context rendezvous, and nor are
      * we preventing anyone else from doing so (since we do not actually
      * acquire the lock during a barrier operation).
-     * 
+     *
      * However, if we spin on an IRQ-unsafe lock with IRQs disabled then that
      * is clearly wrong, for the same reason outlined in check_lock() above.
      */
@@ -262,7 +262,7 @@ void spin_debug_disable(void)
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
 
 #define LOCK_PROFILE_REL                                                     \
-    if (lock->profile)                                                       \
+    if ( lock->profile )                                                     \
     {                                                                        \
         lock->profile->time_hold += NOW() - lock->profile->time_locked;      \
         lock->profile->lock_cnt++;                                           \
@@ -270,10 +270,10 @@ void spin_debug_disable(void)
 #define LOCK_PROFILE_VAR    s_time_t block = 0
 #define LOCK_PROFILE_BLOCK  block = block ? : NOW();
 #define LOCK_PROFILE_GOT                                                     \
-    if (lock->profile)                                                       \
+    if ( lock->profile )                                                     \
     {                                                                        \
         lock->profile->time_locked = NOW();                                  \
-        if (block)                                                           \
+        if ( block )                                                         \
         {                                                                    \
             lock->profile->time_block += lock->profile->time_locked - block; \
             lock->profile->block_cnt++;                                      \
@@ -298,7 +298,7 @@ static always_inline spinlock_tickets_t observe_lock(spinlock_tickets_t *t)
     return v;
 }
 
-static always_inline u16 observe_head(spinlock_tickets_t *t)
+static always_inline uint16_t observe_head(const spinlock_tickets_t *t)
 {
     smp_rmb();
     return read_atomic(&t->head);
@@ -412,7 +412,7 @@ int _spin_trylock(spinlock_t *lock)
      */
     got_lock(&lock->debug);
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
-    if (lock->profile)
+    if ( lock->profile )
         lock->profile->time_locked = NOW();
 #endif
     return 1;
@@ -616,6 +616,7 @@ int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc)
     case XEN_SYSCTL_LOCKPROF_reset:
         spinlock_profile_reset('\0');
         break;
+
     case XEN_SYSCTL_LOCKPROF_query:
         pc->nr_elem = 0;
         par.rc = 0;
@@ -624,6 +625,7 @@ int spinlock_profile_control(struct xen_sysctl_lockprof_op *pc)
         pc->time = NOW() - lock_profile_start;
         rc = par.rc;
         break;
+
     default:
         rc = -EINVAL;
         break;
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 16d933ae7e..02a062a5b0 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -81,8 +81,8 @@ struct lock_profile {
     struct lock_profile *next;       /* forward link */
     const char          *name;       /* lock name */
     struct spinlock     *lock;       /* the lock itself */
-    u64                 lock_cnt;    /* # of complete locking ops */
-    u64                 block_cnt;   /* # of complete wait for lock */
+    uint64_t            lock_cnt;    /* # of complete locking ops */
+    uint64_t            block_cnt;   /* # of complete wait for lock */
     s_time_t            time_hold;   /* cumulated lock time */
     s_time_t            time_block;  /* cumulated wait time */
     s_time_t            time_locked; /* system time of last locking */
@@ -122,7 +122,7 @@ struct lock_profile_qhead {
         prof->lock = &(s)->l;                                                 \
         prof->next = (s)->profile_head.elem_q;                                \
         (s)->profile_head.elem_q = prof;                                      \
-    } while(0)
+    } while( 0 )
 
 void _lock_profile_register_struct(
     int32_t type, struct lock_profile_qhead *qhead, int32_t idx);
@@ -153,10 +153,10 @@ struct lock_profile_qhead { };
 #endif
 
 typedef union {
-    u32 head_tail;
+    uint32_t head_tail;
     struct {
-        u16 head;
-        u16 tail;
+        uint16_t head;
+        uint16_t tail;
     };
 } spinlock_tickets_t;
 
@@ -164,10 +164,10 @@ typedef union {
 
 typedef struct spinlock {
     spinlock_tickets_t tickets;
-    u16 recurse_cpu:SPINLOCK_CPU_BITS;
+    uint16_t recurse_cpu:SPINLOCK_CPU_BITS;
 #define SPINLOCK_NO_CPU        ((1u << SPINLOCK_CPU_BITS) - 1)
 #define SPINLOCK_RECURSE_BITS  (16 - SPINLOCK_CPU_BITS)
-    u16 recurse_cnt:SPINLOCK_RECURSE_BITS;
+    uint16_t recurse_cnt:SPINLOCK_RECURSE_BITS;
 #define SPINLOCK_MAX_RECURSE   ((1u << SPINLOCK_RECURSE_BITS) - 1)
     union lock_debug debug;
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:39:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:39:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636632.992244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52cG-0004pT-Jy; Mon, 20 Nov 2023 11:39:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636632.992244; Mon, 20 Nov 2023 11:39: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 1r52cG-0004pI-Gx; Mon, 20 Nov 2023 11:39:00 +0000
Received: by outflank-mailman (input) for mailman id 636632;
 Mon, 20 Nov 2023 11:38: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52cF-0004F8-MI
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:38: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 6503ad55-8799-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:38:59 +0100 (CET)
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 AA5DF1F85D;
 Mon, 20 Nov 2023 11:38: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 687CA13499;
 Mon, 20 Nov 2023 11:38:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id VW7EF1JFW2W/PQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11: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>
X-Inumbo-ID: 6503ad55-8799-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480338; 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=P9k7ruJndhEp5UZ0bXYcY2mHarlDnu/RN2d+ITm7QSI=;
	b=tWf/VWk+14wpXhnuWXwRBUTQVrfAgyT65WkdLygj4zZmFLiu1hG6Uq3rzqnVk6FKTfqPls
	PkQ2D/B9EMm5IXsmRtyJmej4GogYHQJ7sap79Pyvl/zqmPDrNrOhN2Ip/aR6EWLD7/Bi4L
	ojBDEVNznU1rOah2UTYNXd7QJBikJhE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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 v3 02/13] xen/spinlock: reduce lock profile ifdefs
Date: Mon, 20 Nov 2023 12:38:31 +0100
Message-Id: <20231120113842.5897-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.48
X-Spamd-Result: default: False [-0.48 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.18)[70.40%]
X-Spam-Flag: NO

With some small adjustments to the LOCK_PROFILE_* macros some #ifdefs
can be dropped from spinlock.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
V3:
- add variable name to macros parameter (Jan Beulich)
---
 xen/common/spinlock.c | 49 +++++++++++++++++++------------------------
 1 file changed, 21 insertions(+), 28 deletions(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index d7194e518c..ce18fbdd8a 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -267,25 +267,28 @@ void spin_debug_disable(void)
         lock->profile->time_hold += NOW() - lock->profile->time_locked;      \
         lock->profile->lock_cnt++;                                           \
     }
-#define LOCK_PROFILE_VAR    s_time_t block = 0
-#define LOCK_PROFILE_BLOCK  block = block ? : NOW();
-#define LOCK_PROFILE_GOT                                                     \
+#define LOCK_PROFILE_VAR(var, val)    s_time_t var = (val)
+#define LOCK_PROFILE_BLOCK(var     )  var = var ? : NOW()
+#define LOCK_PROFILE_BLKACC(tst, val)                                        \
+    if ( tst )                                                               \
+    {                                                                        \
+        lock->profile->time_block += lock->profile->time_locked - (val);     \
+        lock->profile->block_cnt++;                                          \
+    }
+#define LOCK_PROFILE_GOT(val)                                                \
     if ( lock->profile )                                                     \
     {                                                                        \
         lock->profile->time_locked = NOW();                                  \
-        if ( block )                                                         \
-        {                                                                    \
-            lock->profile->time_block += lock->profile->time_locked - block; \
-            lock->profile->block_cnt++;                                      \
-        }                                                                    \
+        LOCK_PROFILE_BLKACC(val, val);                                       \
     }
 
 #else
 
 #define LOCK_PROFILE_REL
-#define LOCK_PROFILE_VAR
-#define LOCK_PROFILE_BLOCK
-#define LOCK_PROFILE_GOT
+#define LOCK_PROFILE_VAR(var, val)
+#define LOCK_PROFILE_BLOCK(var)
+#define LOCK_PROFILE_BLKACC(tst, val)
+#define LOCK_PROFILE_GOT(val)
 
 #endif
 
@@ -308,7 +311,7 @@ static void always_inline spin_lock_common(spinlock_t *lock,
                                            void (*cb)(void *), void *data)
 {
     spinlock_tickets_t tickets = SPINLOCK_TICKET_INC;
-    LOCK_PROFILE_VAR;
+    LOCK_PROFILE_VAR(block, 0);
 
     check_lock(&lock->debug, false);
     preempt_disable();
@@ -316,14 +319,14 @@ static void always_inline spin_lock_common(spinlock_t *lock,
                                            tickets.head_tail);
     while ( tickets.tail != observe_head(&lock->tickets) )
     {
-        LOCK_PROFILE_BLOCK;
+        LOCK_PROFILE_BLOCK(block);
         if ( cb )
             cb(data);
         arch_lock_relax();
     }
     arch_lock_acquire_barrier();
     got_lock(&lock->debug);
-    LOCK_PROFILE_GOT;
+    LOCK_PROFILE_GOT(block);
 }
 
 void _spin_lock(spinlock_t *lock)
@@ -411,19 +414,15 @@ int _spin_trylock(spinlock_t *lock)
      * arch_lock_acquire_barrier().
      */
     got_lock(&lock->debug);
-#ifdef CONFIG_DEBUG_LOCK_PROFILE
-    if ( lock->profile )
-        lock->profile->time_locked = NOW();
-#endif
+    LOCK_PROFILE_GOT(0);
+
     return 1;
 }
 
 void _spin_barrier(spinlock_t *lock)
 {
     spinlock_tickets_t sample;
-#ifdef CONFIG_DEBUG_LOCK_PROFILE
-    s_time_t block = NOW();
-#endif
+    LOCK_PROFILE_VAR(block, NOW());
 
     check_barrier(&lock->debug);
     smp_mb();
@@ -432,13 +431,7 @@ void _spin_barrier(spinlock_t *lock)
     {
         while ( observe_head(&lock->tickets) == sample.head )
             arch_lock_relax();
-#ifdef CONFIG_DEBUG_LOCK_PROFILE
-        if ( lock->profile )
-        {
-            lock->profile->time_block += NOW() - block;
-            lock->profile->block_cnt++;
-        }
-#endif
+        LOCK_PROFILE_BLKACC(lock->profile, block);
     }
     smp_mb();
 }
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:39:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:39:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636633.992256 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52cN-0005Dj-V5; Mon, 20 Nov 2023 11:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636633.992256; Mon, 20 Nov 2023 11: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 1r52cN-0005DX-Pj; Mon, 20 Nov 2023 11:39:07 +0000
Received: by outflank-mailman (input) for mailman id 636633;
 Mon, 20 Nov 2023 11:39: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52cN-0005BS-2Q
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:07 +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 68624bf4-8799-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 12:39:05 +0100 (CET)
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 6B5221F85D;
 Mon, 20 Nov 2023 11:39: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 28E4213499;
 Mon, 20 Nov 2023 11:39:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id h0ycCFhFW2XYPQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 68624bf4-8799-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480344; 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=OU0wp6/cfvoXHBxh5ftXVgQk6pxaDg52jlXuCjTjR+I=;
	b=DqURFbNIzy/Znk68IgW7n6vLyCNKG3GMU4zi+y7g/LBNxahYDJg+luvGu/8ZzwWon8Dp77
	wk58zKfU/iMHut0QMbYYxAzwprlw0uKaUsJDYGGcyCXHxum3XV0mAmx9LuLXtJmNgaImyr
	ndAeLK3b5/66XKFLowWIkzq8XF/IVdQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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 v3 03/13] xen/spinlock: make spinlock initializers more readable
Date: Mon, 20 Nov 2023 12:38:32 +0100
Message-Id: <20231120113842.5897-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Use named member initializers instead of positional ones for the macros
used to initialize structures.

Signed-off-by: Juergen Gross <jgross@suse.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
V2:
- new patch
---
 xen/include/xen/spinlock.h | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 02a062a5b0..bbe1472571 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -21,7 +21,7 @@ union lock_debug {
         bool unseen:1;
     };
 };
-#define _LOCK_DEBUG { LOCK_DEBUG_INITVAL }
+#define _LOCK_DEBUG { .val = LOCK_DEBUG_INITVAL }
 void check_lock(union lock_debug *debug, bool try);
 void lock_enter(const union lock_debug *debug);
 void lock_exit(const union lock_debug *debug);
@@ -94,12 +94,16 @@ struct lock_profile_qhead {
     int32_t                   idx;     /* index for printout */
 };
 
-#define _LOCK_PROFILE(name) { NULL, #name, &name, 0, 0, 0, 0, 0 }
+#define _LOCK_PROFILE(lockname) { .name = #lockname, .lock = &lockname, }
 #define _LOCK_PROFILE_PTR(name)                                               \
     static struct lock_profile * const __lock_profile_##name                  \
     __used_section(".lockprofile.data") =                                     \
     &__lock_profile_data_##name
-#define _SPIN_LOCK_UNLOCKED(x) { { 0 }, SPINLOCK_NO_CPU, 0, _LOCK_DEBUG, x }
+#define _SPIN_LOCK_UNLOCKED(x) {                                              \
+    .recurse_cpu = SPINLOCK_NO_CPU,                                           \
+    .debug =_LOCK_DEBUG,                                                      \
+    .profile = x,                                                             \
+}
 #define SPIN_LOCK_UNLOCKED _SPIN_LOCK_UNLOCKED(NULL)
 #define DEFINE_SPINLOCK(l)                                                    \
     spinlock_t l = _SPIN_LOCK_UNLOCKED(NULL);                                 \
@@ -142,7 +146,10 @@ extern void cf_check spinlock_profile_reset(unsigned char key);
 
 struct lock_profile_qhead { };
 
-#define SPIN_LOCK_UNLOCKED { { 0 }, SPINLOCK_NO_CPU, 0, _LOCK_DEBUG }
+#define SPIN_LOCK_UNLOCKED {                                                  \
+    .recurse_cpu = SPINLOCK_NO_CPU,                                           \
+    .debug =_LOCK_DEBUG,                                                      \
+}
 #define DEFINE_SPINLOCK(l) spinlock_t l = SPIN_LOCK_UNLOCKED
 
 #define spin_lock_init_prof(s, l) spin_lock_init(&((s)->l))
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:39:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:39:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636636.992265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52cT-0005hu-Bx; Mon, 20 Nov 2023 11:39:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636636.992265; Mon, 20 Nov 2023 11:39: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 1r52cT-0005h0-6e; Mon, 20 Nov 2023 11:39:13 +0000
Received: by outflank-mailman (input) for mailman id 636636;
 Mon, 20 Nov 2023 11:39: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52cR-0004F8-EU
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:11 +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 6be8f60d-8799-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:39:10 +0100 (CET)
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 5607B2190B;
 Mon, 20 Nov 2023 11:39:10 +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 F2EC313499;
 Mon, 20 Nov 2023 11:39:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mhnrOV1FW2XkPQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 6be8f60d-8799-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480350; 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=LGs1Hvebty5rfMOlqa/PeJBaHxLcqzctIfh9XJt1gRY=;
	b=pkho9gFqKjghnZQT4KoZtUZBPnUgWo5dHLmLN4F2xiY37UfO6JHX3hMMNd8kFAeWpOYh/f
	DThyzYIsnIph9qNJv9Wc+AuMlWnk0pzP4a4OjflfrYHmdnqxpq7oi4yY4At34ihbBPlrR5
	wK3zrjMKqEAF5STzAGdFprOBfgZiE1o=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.com,
	Juergen Gross <jgross@suse.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>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH v3 04/13] xen/spinlock: introduce new type for recursive spinlocks
Date: Mon, 20 Nov 2023 12:38:33 +0100
Message-Id: <20231120113842.5897-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[11];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Introduce a new type "rspinlock_t" to be used for recursive spinlocks.

For now it is only an alias of spinlock_t, so both types can still be
used for recursive spinlocks. This will be changed later, though.

Switch all recursive spinlocks to the new type.

Define the initializer helpers and use them where appropriate.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- carved out from V1 patch
---
 xen/arch/x86/include/asm/mm.h |  2 +-
 xen/arch/x86/mm/mm-locks.h    |  2 +-
 xen/common/domain.c           |  4 ++--
 xen/common/ioreq.c            |  2 +-
 xen/drivers/char/console.c    |  4 ++--
 xen/drivers/passthrough/pci.c |  2 +-
 xen/include/xen/sched.h       |  6 +++---
 xen/include/xen/spinlock.h    | 19 +++++++++++++++----
 8 files changed, 26 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
index 05dfe35502..8a6e0c283f 100644
--- a/xen/arch/x86/include/asm/mm.h
+++ b/xen/arch/x86/include/asm/mm.h
@@ -596,7 +596,7 @@ unsigned long domain_get_maximum_gpfn(struct domain *d);
 
 /* Definition of an mm lock: spinlock with extra fields for debugging */
 typedef struct mm_lock {
-    spinlock_t         lock;
+    rspinlock_t        lock;
     int                unlock_level;
     int                locker;          /* processor which holds the lock */
     const char        *locker_function; /* func that took it */
diff --git a/xen/arch/x86/mm/mm-locks.h b/xen/arch/x86/mm/mm-locks.h
index 00b1bc402d..b05cad1752 100644
--- a/xen/arch/x86/mm/mm-locks.h
+++ b/xen/arch/x86/mm/mm-locks.h
@@ -20,7 +20,7 @@ DECLARE_PERCPU_RWLOCK_GLOBAL(p2m_percpu_rwlock);
 
 static inline void mm_lock_init(mm_lock_t *l)
 {
-    spin_lock_init(&l->lock);
+    rspin_lock_init(&l->lock);
     l->locker = -1;
     l->locker_function = "nobody";
     l->unlock_level = 0;
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8f9ab01c0c..604f70ff5a 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -627,8 +627,8 @@ struct domain *domain_create(domid_t domid,
 
     atomic_set(&d->refcnt, 1);
     RCU_READ_LOCK_INIT(&d->rcu_lock);
-    spin_lock_init_prof(d, domain_lock);
-    spin_lock_init_prof(d, page_alloc_lock);
+    rspin_lock_init_prof(d, domain_lock);
+    rspin_lock_init_prof(d, page_alloc_lock);
     spin_lock_init(&d->hypercall_deadlock_mutex);
     INIT_PAGE_LIST_HEAD(&d->page_list);
     INIT_PAGE_LIST_HEAD(&d->extra_page_list);
diff --git a/xen/common/ioreq.c b/xen/common/ioreq.c
index 62b907f4c4..652c18a9b5 100644
--- a/xen/common/ioreq.c
+++ b/xen/common/ioreq.c
@@ -1331,7 +1331,7 @@ unsigned int ioreq_broadcast(ioreq_t *p, bool buffered)
 
 void ioreq_domain_init(struct domain *d)
 {
-    spin_lock_init(&d->ioreq_server.lock);
+    rspin_lock_init(&d->ioreq_server.lock);
 
     arch_ioreq_domain_init(d);
 }
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 4824d4a91d..8b161488f6 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -120,7 +120,7 @@ static int __read_mostly sercon_handle = -1;
 int8_t __read_mostly opt_console_xen; /* console=xen */
 #endif
 
-static DEFINE_SPINLOCK(console_lock);
+static DEFINE_RSPINLOCK(console_lock);
 
 /*
  * To control the amount of printing, thresholds are added.
@@ -1178,7 +1178,7 @@ void console_force_unlock(void)
 {
     watchdog_disable();
     spin_debug_disable();
-    spin_lock_init(&console_lock);
+    rspin_lock_init(&console_lock);
     serial_force_unlock(sercon_handle);
     console_locks_busted = 1;
     console_start_sync();
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 04d00c7c37..61be34e75f 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -50,7 +50,7 @@ struct pci_seg {
     } bus2bridge[MAX_BUSES];
 };
 
-static spinlock_t _pcidevs_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_RSPINLOCK(_pcidevs_lock);
 
 void pcidevs_lock(void)
 {
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index 3609ef88c4..c6604aef78 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -376,9 +376,9 @@ struct domain
 
     rcu_read_lock_t  rcu_lock;
 
-    spinlock_t       domain_lock;
+    rspinlock_t      domain_lock;
 
-    spinlock_t       page_alloc_lock; /* protects all the following fields  */
+    rspinlock_t      page_alloc_lock; /* protects all the following fields  */
     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) */
@@ -597,7 +597,7 @@ struct domain
 #ifdef CONFIG_IOREQ_SERVER
     /* Lock protects all other values in the sub-struct */
     struct {
-        spinlock_t              lock;
+        rspinlock_t             lock;
         struct ioreq_server     *server[MAX_NR_IOREQ_SERVERS];
     } ioreq_server;
 #endif
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index bbe1472571..19561d5e61 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -45,7 +45,7 @@ union lock_debug { };
     lock profiling on:
 
     Global locks which should be subject to profiling must be declared via
-    DEFINE_SPINLOCK.
+    DEFINE_[R]SPINLOCK.
 
     For locks in structures further measures are necessary:
     - the structure definition must include a profile_head with exactly this
@@ -56,7 +56,7 @@ union lock_debug { };
     - the single locks which are subject to profiling have to be initialized
       via
 
-      spin_lock_init_prof(ptr, lock);
+      [r]spin_lock_init_prof(ptr, lock);
 
       with ptr being the main structure pointer and lock the spinlock field
 
@@ -109,12 +109,16 @@ struct lock_profile_qhead {
     spinlock_t l = _SPIN_LOCK_UNLOCKED(NULL);                                 \
     static struct lock_profile __lock_profile_data_##l = _LOCK_PROFILE(l);    \
     _LOCK_PROFILE_PTR(l)
+#define DEFINE_RSPINLOCK(l)                                                   \
+    rspinlock_t l = _SPIN_LOCK_UNLOCKED(NULL);                                \
+    static struct lock_profile __lock_profile_data_##l = _LOCK_PROFILE(l);    \
+    _LOCK_PROFILE_PTR(l)
 
-#define spin_lock_init_prof(s, l)                                             \
+#define __spin_lock_init_prof(s, l, locktype)                                 \
     do {                                                                      \
         struct lock_profile *prof;                                            \
         prof = xzalloc(struct lock_profile);                                  \
-        (s)->l = (spinlock_t)_SPIN_LOCK_UNLOCKED(prof);                       \
+        (s)->l = (locktype)_SPIN_LOCK_UNLOCKED(prof);                         \
         if ( !prof )                                                          \
         {                                                                     \
             printk(XENLOG_WARNING                                             \
@@ -128,6 +132,9 @@ struct lock_profile_qhead {
         (s)->profile_head.elem_q = prof;                                      \
     } while( 0 )
 
+#define spin_lock_init_prof(s, l) __spin_lock_init_prof(s, l, spinlock_t)
+#define rspin_lock_init_prof(s, l) __spin_lock_init_prof(s, l, rspinlock_t)
+
 void _lock_profile_register_struct(
     int32_t type, struct lock_profile_qhead *qhead, int32_t idx);
 void _lock_profile_deregister_struct(int32_t type,
@@ -151,8 +158,10 @@ struct lock_profile_qhead { };
     .debug =_LOCK_DEBUG,                                                      \
 }
 #define DEFINE_SPINLOCK(l) spinlock_t l = SPIN_LOCK_UNLOCKED
+#define DEFINE_RSPINLOCK(l) rspinlock_t l = SPIN_LOCK_UNLOCKED
 
 #define spin_lock_init_prof(s, l) spin_lock_init(&((s)->l))
+#define rspin_lock_init_prof(s, l) rspin_lock_init(&((s)->l))
 #define lock_profile_register_struct(type, ptr, idx)
 #define lock_profile_deregister_struct(type, ptr)
 #define spinlock_profile_printall(key)
@@ -182,8 +191,10 @@ typedef struct spinlock {
 #endif
 } spinlock_t;
 
+typedef spinlock_t rspinlock_t;
 
 #define spin_lock_init(l) (*(l) = (spinlock_t)SPIN_LOCK_UNLOCKED)
+#define rspin_lock_init(l) (*(l) = (rspinlock_t)SPIN_LOCK_UNLOCKED)
 
 void _spin_lock(spinlock_t *lock);
 void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:39:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:39:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636639.992275 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52ca-0006HN-La; Mon, 20 Nov 2023 11:39:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636639.992275; Mon, 20 Nov 2023 11:39: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 1r52ca-0006HG-Hy; Mon, 20 Nov 2023 11:39:20 +0000
Received: by outflank-mailman (input) for mailman id 636639;
 Mon, 20 Nov 2023 11:39: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52cZ-0005BS-1m
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:19 +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 6f90d0ac-8799-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 12:39:16 +0100 (CET)
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 2A6912190B;
 Mon, 20 Nov 2023 11:39:16 +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 AA87A13499;
 Mon, 20 Nov 2023 11:39:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 4Zt9KGNFW2X5PQAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 6f90d0ac-8799-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480356; 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=XYL8r6N0FEL8of8JNC2d3rBx/jhoYR/sLdxdIC137RE=;
	b=aDY9JPyEhBwk5NSC2JK5fN8sP3vPg1sX+IuOkYtMoxOvaMXxWAyNcekXrcdcst2kmapV0f
	/CH5I/UFiu+0L5+mMvBmuYGFLdUIrtyNPzOT1GUg5zuUmjmiwmemS9LtXHsRHa3pUEVvUC
	r/LCzuJzFYB+EWeO2Jskxn0urz7owJQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH v3 05/13] xen/spinlock: rename recursive lock functions
Date: Mon, 20 Nov 2023 12:38:34 +0100
Message-Id: <20231120113842.5897-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_TWELVE(0.00)[15];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Rename the recursive spin_lock() functions by replacing the trailing
"_recursive" with a leading "r".

Switch the parameter to be a pointer to rspinlock_t.

Remove the indirection through a macro, as it is adding only complexity
without any gain.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 xen/arch/arm/domain.c         |  4 +--
 xen/arch/x86/domain.c         |  8 +++---
 xen/arch/x86/mm/mem_sharing.c |  8 +++---
 xen/arch/x86/mm/mm-locks.h    |  4 +--
 xen/common/ioreq.c            | 52 +++++++++++++++++------------------
 xen/common/page_alloc.c       | 12 ++++----
 xen/common/spinlock.c         |  6 ++--
 xen/drivers/char/console.c    | 12 ++++----
 xen/drivers/passthrough/pci.c |  4 +--
 xen/include/xen/sched.h       |  4 +--
 xen/include/xen/spinlock.h    | 24 +++++++---------
 11 files changed, 67 insertions(+), 71 deletions(-)

diff --git a/xen/arch/arm/domain.c b/xen/arch/arm/domain.c
index 28e3aaa5e4..603a5f7c81 100644
--- a/xen/arch/arm/domain.c
+++ b/xen/arch/arm/domain.c
@@ -996,7 +996,7 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
     int               ret = 0;
 
     /* Use a recursive lock, as we may enter 'free_domheap_page'. */
-    spin_lock_recursive(&d->page_alloc_lock);
+    rspin_lock(&d->page_alloc_lock);
 
     page_list_for_each_safe( page, tmp, list )
     {
@@ -1023,7 +1023,7 @@ static int relinquish_memory(struct domain *d, struct page_list_head *list)
     }
 
   out:
-    spin_unlock_recursive(&d->page_alloc_lock);
+    rspin_unlock(&d->page_alloc_lock);
     return ret;
 }
 
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 3712e36df9..69ce1fd5cf 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -1321,7 +1321,7 @@ int arch_set_info_guest(
         {
             bool done = false;
 
-            spin_lock_recursive(&d->page_alloc_lock);
+            rspin_lock(&d->page_alloc_lock);
 
             for ( i = 0; ; )
             {
@@ -1342,7 +1342,7 @@ int arch_set_info_guest(
                     break;
             }
 
-            spin_unlock_recursive(&d->page_alloc_lock);
+            rspin_unlock(&d->page_alloc_lock);
 
             if ( !done )
                 return -ERESTART;
@@ -2181,7 +2181,7 @@ static int relinquish_memory(
     int               ret = 0;
 
     /* Use a recursive lock, as we may enter 'free_domheap_page'. */
-    spin_lock_recursive(&d->page_alloc_lock);
+    rspin_lock(&d->page_alloc_lock);
 
     while ( (page = page_list_remove_head(list)) )
     {
@@ -2322,7 +2322,7 @@ static int relinquish_memory(
     page_list_move(list, &d->arch.relmem_list);
 
  out:
-    spin_unlock_recursive(&d->page_alloc_lock);
+    rspin_unlock(&d->page_alloc_lock);
     return ret;
 }
 
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 142258f16a..9585406095 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -688,7 +688,7 @@ static int page_make_sharable(struct domain *d,
     int rc = 0;
     bool drop_dom_ref = false;
 
-    spin_lock_recursive(&d->page_alloc_lock);
+    rspin_lock(&d->page_alloc_lock);
 
     if ( d->is_dying )
     {
@@ -731,7 +731,7 @@ static int page_make_sharable(struct domain *d,
     }
 
 out:
-    spin_unlock_recursive(&d->page_alloc_lock);
+    rspin_unlock(&d->page_alloc_lock);
 
     if ( drop_dom_ref )
         put_domain(d);
@@ -1942,7 +1942,7 @@ int mem_sharing_fork_reset(struct domain *d, bool reset_state,
         goto state;
 
     /* need recursive lock because we will free pages */
-    spin_lock_recursive(&d->page_alloc_lock);
+    rspin_lock(&d->page_alloc_lock);
     page_list_for_each_safe(page, tmp, &d->page_list)
     {
         shr_handle_t sh;
@@ -1971,7 +1971,7 @@ int mem_sharing_fork_reset(struct domain *d, bool reset_state,
         put_page_alloc_ref(page);
         put_page_and_type(page);
     }
-    spin_unlock_recursive(&d->page_alloc_lock);
+    rspin_unlock(&d->page_alloc_lock);
 
  state:
     if ( reset_state )
diff --git a/xen/arch/x86/mm/mm-locks.h b/xen/arch/x86/mm/mm-locks.h
index b05cad1752..c867ad7d53 100644
--- a/xen/arch/x86/mm/mm-locks.h
+++ b/xen/arch/x86/mm/mm-locks.h
@@ -79,7 +79,7 @@ static inline void _mm_lock(const struct domain *d, mm_lock_t *l,
 {
     if ( !((mm_locked_by_me(l)) && rec) )
         _check_lock_level(d, level);
-    spin_lock_recursive(&l->lock);
+    rspin_lock(&l->lock);
     if ( l->lock.recurse_cnt == 1 )
     {
         l->locker_function = func;
@@ -200,7 +200,7 @@ static inline void mm_unlock(mm_lock_t *l)
         l->locker_function = "nobody";
         _set_lock_level(l->unlock_level);
     }
-    spin_unlock_recursive(&l->lock);
+    rspin_unlock(&l->lock);
 }
 
 static inline void mm_enforce_order_unlock(int unlock_level,
diff --git a/xen/common/ioreq.c b/xen/common/ioreq.c
index 652c18a9b5..1257a3d972 100644
--- a/xen/common/ioreq.c
+++ b/xen/common/ioreq.c
@@ -329,7 +329,7 @@ bool is_ioreq_server_page(struct domain *d, const struct page_info *page)
     unsigned int id;
     bool found = false;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     FOR_EACH_IOREQ_SERVER(d, id, s)
     {
@@ -340,7 +340,7 @@ bool is_ioreq_server_page(struct domain *d, const struct page_info *page)
         }
     }
 
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 
     return found;
 }
@@ -658,7 +658,7 @@ static int ioreq_server_create(struct domain *d, int bufioreq_handling,
         return -ENOMEM;
 
     domain_pause(d);
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     for ( i = 0; i < MAX_NR_IOREQ_SERVERS; i++ )
     {
@@ -686,13 +686,13 @@ static int ioreq_server_create(struct domain *d, int bufioreq_handling,
     if ( id )
         *id = i;
 
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
     domain_unpause(d);
 
     return 0;
 
  fail:
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
     domain_unpause(d);
 
     xfree(s);
@@ -704,7 +704,7 @@ static int ioreq_server_destroy(struct domain *d, ioservid_t id)
     struct ioreq_server *s;
     int rc;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     s = get_ioreq_server(d, id);
 
@@ -736,7 +736,7 @@ static int ioreq_server_destroy(struct domain *d, ioservid_t id)
     rc = 0;
 
  out:
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 
     return rc;
 }
@@ -749,7 +749,7 @@ static int ioreq_server_get_info(struct domain *d, ioservid_t id,
     struct ioreq_server *s;
     int rc;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     s = get_ioreq_server(d, id);
 
@@ -783,7 +783,7 @@ static int ioreq_server_get_info(struct domain *d, ioservid_t id,
     rc = 0;
 
  out:
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 
     return rc;
 }
@@ -796,7 +796,7 @@ int ioreq_server_get_frame(struct domain *d, ioservid_t id,
 
     ASSERT(is_hvm_domain(d));
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     s = get_ioreq_server(d, id);
 
@@ -834,7 +834,7 @@ int ioreq_server_get_frame(struct domain *d, ioservid_t id,
     }
 
  out:
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 
     return rc;
 }
@@ -850,7 +850,7 @@ static int ioreq_server_map_io_range(struct domain *d, ioservid_t id,
     if ( start > end )
         return -EINVAL;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     s = get_ioreq_server(d, id);
 
@@ -886,7 +886,7 @@ static int ioreq_server_map_io_range(struct domain *d, ioservid_t id,
     rc = rangeset_add_range(r, start, end);
 
  out:
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 
     return rc;
 }
@@ -902,7 +902,7 @@ static int ioreq_server_unmap_io_range(struct domain *d, ioservid_t id,
     if ( start > end )
         return -EINVAL;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     s = get_ioreq_server(d, id);
 
@@ -938,7 +938,7 @@ static int ioreq_server_unmap_io_range(struct domain *d, ioservid_t id,
     rc = rangeset_remove_range(r, start, end);
 
  out:
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 
     return rc;
 }
@@ -963,7 +963,7 @@ int ioreq_server_map_mem_type(struct domain *d, ioservid_t id,
     if ( flags & ~XEN_DMOP_IOREQ_MEM_ACCESS_WRITE )
         return -EINVAL;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     s = get_ioreq_server(d, id);
 
@@ -978,7 +978,7 @@ int ioreq_server_map_mem_type(struct domain *d, ioservid_t id,
     rc = arch_ioreq_server_map_mem_type(d, s, flags);
 
  out:
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 
     if ( rc == 0 )
         arch_ioreq_server_map_mem_type_completed(d, s, flags);
@@ -992,7 +992,7 @@ static int ioreq_server_set_state(struct domain *d, ioservid_t id,
     struct ioreq_server *s;
     int rc;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     s = get_ioreq_server(d, id);
 
@@ -1016,7 +1016,7 @@ static int ioreq_server_set_state(struct domain *d, ioservid_t id,
     rc = 0;
 
  out:
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
     return rc;
 }
 
@@ -1026,7 +1026,7 @@ int ioreq_server_add_vcpu_all(struct domain *d, struct vcpu *v)
     unsigned int id;
     int rc;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     FOR_EACH_IOREQ_SERVER(d, id, s)
     {
@@ -1035,7 +1035,7 @@ int ioreq_server_add_vcpu_all(struct domain *d, struct vcpu *v)
             goto fail;
     }
 
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 
     return 0;
 
@@ -1050,7 +1050,7 @@ int ioreq_server_add_vcpu_all(struct domain *d, struct vcpu *v)
         ioreq_server_remove_vcpu(s, v);
     }
 
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 
     return rc;
 }
@@ -1060,12 +1060,12 @@ void ioreq_server_remove_vcpu_all(struct domain *d, struct vcpu *v)
     struct ioreq_server *s;
     unsigned int id;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     FOR_EACH_IOREQ_SERVER(d, id, s)
         ioreq_server_remove_vcpu(s, v);
 
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 }
 
 void ioreq_server_destroy_all(struct domain *d)
@@ -1076,7 +1076,7 @@ void ioreq_server_destroy_all(struct domain *d)
     if ( !arch_ioreq_server_destroy_all(d) )
         return;
 
-    spin_lock_recursive(&d->ioreq_server.lock);
+    rspin_lock(&d->ioreq_server.lock);
 
     /* No need to domain_pause() as the domain is being torn down */
 
@@ -1094,7 +1094,7 @@ void ioreq_server_destroy_all(struct domain *d)
         xfree(s);
     }
 
-    spin_unlock_recursive(&d->ioreq_server.lock);
+    rspin_unlock(&d->ioreq_server.lock);
 }
 
 struct ioreq_server *ioreq_server_select(struct domain *d,
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 9b5df74fdd..8c6a3d9274 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -2497,7 +2497,7 @@ void free_domheap_pages(struct page_info *pg, unsigned int order)
     if ( unlikely(is_xen_heap_page(pg)) )
     {
         /* NB. May recursively lock from relinquish_memory(). */
-        spin_lock_recursive(&d->page_alloc_lock);
+        rspin_lock(&d->page_alloc_lock);
 
         for ( i = 0; i < (1 << order); i++ )
             arch_free_heap_page(d, &pg[i]);
@@ -2505,7 +2505,7 @@ void free_domheap_pages(struct page_info *pg, unsigned int order)
         d->xenheap_pages -= 1 << order;
         drop_dom_ref = (d->xenheap_pages == 0);
 
-        spin_unlock_recursive(&d->page_alloc_lock);
+        rspin_unlock(&d->page_alloc_lock);
     }
     else
     {
@@ -2514,7 +2514,7 @@ void free_domheap_pages(struct page_info *pg, unsigned int order)
         if ( likely(d) && likely(d != dom_cow) )
         {
             /* NB. May recursively lock from relinquish_memory(). */
-            spin_lock_recursive(&d->page_alloc_lock);
+            rspin_lock(&d->page_alloc_lock);
 
             for ( i = 0; i < (1 << order); i++ )
             {
@@ -2537,7 +2537,7 @@ void free_domheap_pages(struct page_info *pg, unsigned int order)
 
             drop_dom_ref = !domain_adjust_tot_pages(d, -(1 << order));
 
-            spin_unlock_recursive(&d->page_alloc_lock);
+            rspin_unlock(&d->page_alloc_lock);
 
             /*
              * Normally we expect a domain to clear pages before freeing them,
@@ -2753,7 +2753,7 @@ void free_domstatic_page(struct page_info *page)
     ASSERT_ALLOC_CONTEXT();
 
     /* NB. May recursively lock from relinquish_memory(). */
-    spin_lock_recursive(&d->page_alloc_lock);
+    rspin_lock(&d->page_alloc_lock);
 
     arch_free_heap_page(d, page);
 
@@ -2764,7 +2764,7 @@ void free_domstatic_page(struct page_info *page)
     /* 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);
+    rspin_unlock(&d->page_alloc_lock);
 
     if ( drop_dom_ref )
         put_domain(d);
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index ce18fbdd8a..26c667d3cc 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -436,7 +436,7 @@ void _spin_barrier(spinlock_t *lock)
     smp_mb();
 }
 
-int _spin_trylock_recursive(spinlock_t *lock)
+int rspin_trylock(rspinlock_t *lock)
 {
     unsigned int cpu = smp_processor_id();
 
@@ -460,7 +460,7 @@ int _spin_trylock_recursive(spinlock_t *lock)
     return 1;
 }
 
-void _spin_lock_recursive(spinlock_t *lock)
+void rspin_lock(rspinlock_t *lock)
 {
     unsigned int cpu = smp_processor_id();
 
@@ -475,7 +475,7 @@ void _spin_lock_recursive(spinlock_t *lock)
     lock->recurse_cnt++;
 }
 
-void _spin_unlock_recursive(spinlock_t *lock)
+void rspin_unlock(rspinlock_t *lock)
 {
     if ( likely(--lock->recurse_cnt == 0) )
     {
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 8b161488f6..369b2f9077 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -920,7 +920,7 @@ static void vprintk_common(const char *prefix, const char *fmt, va_list args)
 
     /* console_lock can be acquired recursively from __printk_ratelimit(). */
     local_irq_save(flags);
-    spin_lock_recursive(&console_lock);
+    rspin_lock(&console_lock);
     state = &this_cpu(state);
 
     (void)vsnprintf(buf, sizeof(buf), fmt, args);
@@ -956,7 +956,7 @@ static void vprintk_common(const char *prefix, const char *fmt, va_list args)
         state->continued = 1;
     }
 
-    spin_unlock_recursive(&console_lock);
+    rspin_unlock(&console_lock);
     local_irq_restore(flags);
 }
 
@@ -1163,14 +1163,14 @@ unsigned long console_lock_recursive_irqsave(void)
     unsigned long flags;
 
     local_irq_save(flags);
-    spin_lock_recursive(&console_lock);
+    rspin_lock(&console_lock);
 
     return flags;
 }
 
 void console_unlock_recursive_irqrestore(unsigned long flags)
 {
-    spin_unlock_recursive(&console_lock);
+    rspin_unlock(&console_lock);
     local_irq_restore(flags);
 }
 
@@ -1231,12 +1231,12 @@ int __printk_ratelimit(int ratelimit_ms, int ratelimit_burst)
             char lost_str[8];
             snprintf(lost_str, sizeof(lost_str), "%d", lost);
             /* console_lock may already be acquired by printk(). */
-            spin_lock_recursive(&console_lock);
+            rspin_lock(&console_lock);
             printk_start_of_line("(XEN) ");
             __putstr("printk: ");
             __putstr(lost_str);
             __putstr(" messages suppressed.\n");
-            spin_unlock_recursive(&console_lock);
+            rspin_unlock(&console_lock);
         }
         local_irq_restore(flags);
         return 1;
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 61be34e75f..22342f07ac 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -54,12 +54,12 @@ static DEFINE_RSPINLOCK(_pcidevs_lock);
 
 void pcidevs_lock(void)
 {
-    spin_lock_recursive(&_pcidevs_lock);
+    rspin_lock(&_pcidevs_lock);
 }
 
 void pcidevs_unlock(void)
 {
-    spin_unlock_recursive(&_pcidevs_lock);
+    rspin_unlock(&_pcidevs_lock);
 }
 
 bool pcidevs_locked(void)
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h
index c6604aef78..8cf751ad0c 100644
--- a/xen/include/xen/sched.h
+++ b/xen/include/xen/sched.h
@@ -358,8 +358,8 @@ struct sched_unit {
           (v) = (v)->next_in_list )
 
 /* Per-domain lock can be recursively acquired in fault handlers. */
-#define domain_lock(d) spin_lock_recursive(&(d)->domain_lock)
-#define domain_unlock(d) spin_unlock_recursive(&(d)->domain_lock)
+#define domain_lock(d) rspin_lock(&(d)->domain_lock)
+#define domain_unlock(d) rspin_unlock(&(d)->domain_lock)
 
 struct evtchn_port_ops;
 
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 19561d5e61..c99ee52458 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -209,9 +209,16 @@ int _spin_is_locked(const spinlock_t *lock);
 int _spin_trylock(spinlock_t *lock);
 void _spin_barrier(spinlock_t *lock);
 
-int _spin_trylock_recursive(spinlock_t *lock);
-void _spin_lock_recursive(spinlock_t *lock);
-void _spin_unlock_recursive(spinlock_t *lock);
+/*
+ * rspin_[un]lock(): Use these forms when the lock can (safely!) be
+ * reentered recursively on the same CPU. All critical regions that may form
+ * part of a recursively-nested set must be protected by these forms. If there
+ * are any critical regions that cannot form part of such a set, they can use
+ * standard spin_[un]lock().
+ */
+int rspin_trylock(rspinlock_t *lock);
+void rspin_lock(rspinlock_t *lock);
+void rspin_unlock(rspinlock_t *lock);
 
 #define spin_lock(l)                  _spin_lock(l)
 #define spin_lock_cb(l, c, d)         _spin_lock_cb(l, c, d)
@@ -241,15 +248,4 @@ void _spin_unlock_recursive(spinlock_t *lock);
 /* Ensure a lock is quiescent between two critical operations. */
 #define spin_barrier(l)               _spin_barrier(l)
 
-/*
- * spin_[un]lock_recursive(): Use these forms when the lock can (safely!) be
- * reentered recursively on the same CPU. All critical regions that may form
- * part of a recursively-nested set must be protected by these forms. If there
- * are any critical regions that cannot form part of such a set, they can use
- * standard spin_[un]lock().
- */
-#define spin_trylock_recursive(l)     _spin_trylock_recursive(l)
-#define spin_lock_recursive(l)        _spin_lock_recursive(l)
-#define spin_unlock_recursive(l)      _spin_unlock_recursive(l)
-
 #endif /* __SPINLOCK_H__ */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:39:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:39:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636641.992285 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52cf-0006iS-4R; Mon, 20 Nov 2023 11:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636641.992285; Mon, 20 Nov 2023 11: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 1r52cf-0006iL-1Y; Mon, 20 Nov 2023 11:39:25 +0000
Received: by outflank-mailman (input) for mailman id 636641;
 Mon, 20 Nov 2023 11:39: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52ce-0005BS-Bz
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:24 +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 7303cf24-8799-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 12:39:22 +0100 (CET)
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 D1E122190B;
 Mon, 20 Nov 2023 11:39: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 8044213499;
 Mon, 20 Nov 2023 11:39:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3PvzHWlFW2ULPgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 7303cf24-8799-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480361; 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=cjh1Ci32mOo7SMziIBRsNbc11xZJBMPRpKHx0hpu7QU=;
	b=XBxnZG1WJG2xhJjowPjnfrMM1NPND6VP+RTDhjWgFk+7zrsSmnZbYMlS3lQAJ7ED+D4akd
	+V4RFfgRRhZeCgz71RF0zmhdKy5jLIL/DyWUS9aEqztvCwFVyDQPJhpDsAbURFPYQHv+SD
	I9hGkfgnBRbEa1GRhsVG0YQeLhc8Hcc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.com,
	Juergen Gross <jgross@suse.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 06/13] xen/spinlock: add rspin_[un]lock_irq[save|restore]()
Date: Mon, 20 Nov 2023 12:38:35 +0100
Message-Id: <20231120113842.5897-7-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[10];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Instead of special casing rspin_lock_irqsave() and
rspin_unlock_irqrestore() for the console lock, add those functions
to spinlock handling and use them where needed.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 xen/arch/x86/traps.c       | 14 ++++++++------
 xen/common/spinlock.c      | 16 ++++++++++++++++
 xen/drivers/char/console.c | 18 +-----------------
 xen/include/xen/console.h  |  5 +++--
 xen/include/xen/spinlock.h |  7 +++++++
 5 files changed, 35 insertions(+), 25 deletions(-)

diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e1356f696a..f72769e79b 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -647,13 +647,15 @@ void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
 void show_execution_state(const struct cpu_user_regs *regs)
 {
     /* Prevent interleaving of output. */
-    unsigned long flags = console_lock_recursive_irqsave();
+    unsigned long flags;
+
+    rspin_lock_irqsave(&console_lock, flags);
 
     show_registers(regs);
     show_code(regs);
     show_stack(regs);
 
-    console_unlock_recursive_irqrestore(flags);
+    rspin_unlock_irqrestore(&console_lock, flags);
 }
 
 void cf_check show_execution_state_nonconst(struct cpu_user_regs *regs)
@@ -663,7 +665,7 @@ void cf_check show_execution_state_nonconst(struct cpu_user_regs *regs)
 
 void vcpu_show_execution_state(struct vcpu *v)
 {
-    unsigned long flags = 0;
+    unsigned long flags;
 
     if ( test_bit(_VPF_down, &v->pause_flags) )
     {
@@ -698,7 +700,7 @@ void vcpu_show_execution_state(struct vcpu *v)
 #endif
 
     /* Prevent interleaving of output. */
-    flags = console_lock_recursive_irqsave();
+    rspin_lock_irqsave(&console_lock, flags);
 
     vcpu_show_registers(v);
 
@@ -708,7 +710,7 @@ void vcpu_show_execution_state(struct vcpu *v)
          * Stop interleaving prevention: The necessary P2M lookups involve
          * locking, which has to occur with IRQs enabled.
          */
-        console_unlock_recursive_irqrestore(flags);
+        rspin_unlock_irqrestore(&console_lock, flags);
 
         show_hvm_stack(v, &v->arch.user_regs);
     }
@@ -717,7 +719,7 @@ void vcpu_show_execution_state(struct vcpu *v)
         if ( guest_kernel_mode(v, &v->arch.user_regs) )
             show_guest_stack(v, &v->arch.user_regs);
 
-        console_unlock_recursive_irqrestore(flags);
+        rspin_unlock_irqrestore(&console_lock, flags);
     }
 
 #ifdef CONFIG_HVM
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 26c667d3cc..17716fc4eb 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -475,6 +475,16 @@ void rspin_lock(rspinlock_t *lock)
     lock->recurse_cnt++;
 }
 
+unsigned long __rspin_lock_irqsave(rspinlock_t *lock)
+{
+    unsigned long flags;
+
+    local_irq_save(flags);
+    rspin_lock(lock);
+
+    return flags;
+}
+
 void rspin_unlock(rspinlock_t *lock)
 {
     if ( likely(--lock->recurse_cnt == 0) )
@@ -484,6 +494,12 @@ void rspin_unlock(rspinlock_t *lock)
     }
 }
 
+void rspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags)
+{
+    rspin_unlock(lock);
+    local_irq_restore(flags);
+}
+
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
 
 struct lock_profile_anc {
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 369b2f9077..cc743b67ec 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -120,7 +120,7 @@ static int __read_mostly sercon_handle = -1;
 int8_t __read_mostly opt_console_xen; /* console=xen */
 #endif
 
-static DEFINE_RSPINLOCK(console_lock);
+DEFINE_RSPINLOCK(console_lock);
 
 /*
  * To control the amount of printing, thresholds are added.
@@ -1158,22 +1158,6 @@ void console_end_log_everything(void)
     atomic_dec(&print_everything);
 }
 
-unsigned long console_lock_recursive_irqsave(void)
-{
-    unsigned long flags;
-
-    local_irq_save(flags);
-    rspin_lock(&console_lock);
-
-    return flags;
-}
-
-void console_unlock_recursive_irqrestore(unsigned long flags)
-{
-    rspin_unlock(&console_lock);
-    local_irq_restore(flags);
-}
-
 void console_force_unlock(void)
 {
     watchdog_disable();
diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
index ab5c30c0da..dff0096b27 100644
--- a/xen/include/xen/console.h
+++ b/xen/include/xen/console.h
@@ -8,8 +8,11 @@
 #define __CONSOLE_H__
 
 #include <xen/inttypes.h>
+#include <xen/spinlock.h>
 #include <public/xen.h>
 
+extern rspinlock_t console_lock;
+
 struct xen_sysctl_readconsole;
 long read_console_ring(struct xen_sysctl_readconsole *op);
 
@@ -20,8 +23,6 @@ void console_init_postirq(void);
 void console_endboot(void);
 int console_has(const char *device);
 
-unsigned long console_lock_recursive_irqsave(void);
-void console_unlock_recursive_irqrestore(unsigned long flags);
 void console_force_unlock(void);
 
 void console_start_sync(void);
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index c99ee52458..53f0f72ac4 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -218,7 +218,14 @@ void _spin_barrier(spinlock_t *lock);
  */
 int rspin_trylock(rspinlock_t *lock);
 void rspin_lock(rspinlock_t *lock);
+#define rspin_lock_irqsave(l, f)                                \
+    ({                                                          \
+        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
+        ((f) = __rspin_lock_irqsave(l));                        \
+    })
+unsigned long __rspin_lock_irqsave(rspinlock_t *lock);
 void rspin_unlock(rspinlock_t *lock);
+void rspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags);
 
 #define spin_lock(l)                  _spin_lock(l)
 #define spin_lock_cb(l, c, d)         _spin_lock_cb(l, c, d)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:39:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:39:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636644.992295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52cj-00079s-Ff; Mon, 20 Nov 2023 11:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636644.992295; Mon, 20 Nov 2023 11: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 1r52cj-00079Z-C8; Mon, 20 Nov 2023 11:39:29 +0000
Received: by outflank-mailman (input) for mailman id 636644;
 Mon, 20 Nov 2023 11:39: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52ci-0004F8-8q
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:28 +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 76294ca8-8799-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:39:27 +0100 (CET)
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 717041F85D;
 Mon, 20 Nov 2023 11:39: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 37FE213499;
 Mon, 20 Nov 2023 11:39:27 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 2DxUDG9FW2UfPgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 76294ca8-8799-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480367; 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=bZyLfwWRCc8zltwAywCsISoOyG+EHVmRu+8XSZFs5WQ=;
	b=M0WdE7RL/d7XDmfqgdAoBFyOcJlQmAX5Jr8Q8qi+mC2tKdHWl7pwRomTiF99lGpFqkJqm1
	p+x+aExMploOuHfixdxU1UbdpyarLs8HFgSQEMrYFEAeVNoMhhcq3vOpt8m1aEFUBIiA3z
	J78ppjpB/SfPlDPIbecQInWa0ulGRRI=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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 v3 07/13] xen/spinlock: make struct lock_profile rspinlock_t aware
Date: Mon, 20 Nov 2023 12:38:36 +0100
Message-Id: <20231120113842.5897-8-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Struct lock_profile contains a pointer to the spinlock it is associated
with. Prepare support of differing spinlock_t and rspinlock_t types by
adding a type indicator of the pointer. Use the highest bit of the
block_cnt member for this indicator in order to not grow the struct
while hurting only the slow path with slightly less performant code.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 xen/common/spinlock.c      | 26 +++++++++++++++++++-------
 xen/include/xen/spinlock.h | 10 ++++++++--
 2 files changed, 27 insertions(+), 9 deletions(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 17716fc4eb..65f180203a 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -538,19 +538,31 @@ static void spinlock_profile_iterate(lock_profile_subfunc *sub, void *par)
 static void cf_check spinlock_profile_print_elem(struct lock_profile *data,
     int32_t type, int32_t idx, void *par)
 {
-    struct spinlock *lock = data->lock;
+    unsigned int cpu;
+    uint32_t lockval;
+
+    if ( data->is_rlock )
+    {
+        cpu = data->rlock->debug.cpu;
+        lockval = data->rlock->tickets.head_tail;
+    }
+    else
+    {
+        cpu = data->lock->debug.cpu;
+        lockval = data->lock->tickets.head_tail;
+    }
 
     printk("%s ", lock_profile_ancs[type].name);
     if ( type != LOCKPROF_TYPE_GLOBAL )
         printk("%d ", idx);
-    printk("%s: addr=%p, lockval=%08x, ", data->name, lock,
-           lock->tickets.head_tail);
-    if ( lock->debug.cpu == SPINLOCK_NO_CPU )
+    printk("%s: addr=%p, lockval=%08x, ", data->name, data->lock, lockval);
+    if ( cpu == SPINLOCK_NO_CPU )
         printk("not locked\n");
     else
-        printk("cpu=%d\n", lock->debug.cpu);
-    printk("  lock:%" PRId64 "(%" PRI_stime "), block:%" PRId64 "(%" PRI_stime ")\n",
-           data->lock_cnt, data->time_hold, data->block_cnt, data->time_block);
+        printk("cpu=%u\n", cpu);
+    printk("  lock:%" PRIu64 "(%" PRI_stime "), block:%" PRIu64 "(%" PRI_stime ")\n",
+           data->lock_cnt, data->time_hold, (uint64_t)data->block_cnt,
+           data->time_block);
 }
 
 void cf_check spinlock_profile_printall(unsigned char key)
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 53f0f72ac4..5ada9dce3d 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -76,13 +76,19 @@ union lock_debug { };
 */
 
 struct spinlock;
+/* Temporary hack until a dedicated struct rspinlock is existing. */
+#define rspinlock spinlock
 
 struct lock_profile {
     struct lock_profile *next;       /* forward link */
     const char          *name;       /* lock name */
-    struct spinlock     *lock;       /* the lock itself */
+    union {
+        struct spinlock *lock;       /* the lock itself */
+        struct rspinlock *rlock;     /* the recursive lock itself */
+    };
     uint64_t            lock_cnt;    /* # of complete locking ops */
-    uint64_t            block_cnt;   /* # of complete wait for lock */
+    uint64_t            block_cnt:63; /* # of complete wait for lock */
+    uint64_t            is_rlock:1;  /* use rlock pointer */
     s_time_t            time_hold;   /* cumulated lock time */
     s_time_t            time_block;  /* cumulated wait time */
     s_time_t            time_locked; /* system time of last locking */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:39:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:39:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636646.992305 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52cr-0007m9-PZ; Mon, 20 Nov 2023 11:39:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636646.992305; Mon, 20 Nov 2023 11:39: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 1r52cr-0007ly-MP; Mon, 20 Nov 2023 11:39:37 +0000
Received: by outflank-mailman (input) for mailman id 636646;
 Mon, 20 Nov 2023 11: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52cp-0005BS-VQ
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:36 +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 79a6e02b-8799-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 12:39:33 +0100 (CET)
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 6CA8E2190B;
 Mon, 20 Nov 2023 11:39:33 +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 DDCBA13499;
 Mon, 20 Nov 2023 11:39:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 7pHHNHRFW2UvPgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 79a6e02b-8799-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480373; 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=im2zeRpLYsfSrsZ1pQ+9n6EcJOXsTfaV0HLPPsj78do=;
	b=V8iVdjB1t3dC0mJJmVGmFjKYlyfNfloTgKA1XgxH8U1JCJNQLbiq9Mlp12AouBsF+OdvIR
	hMiIBYMqaB8GLJsbPlPDD56Oj3BQU9qiO8bCEPb3Avp+LQgd46/YsejPHcs01fhAHzDHbe
	qc906jmxRsGh9l7chCwdXlCT3ApC/pE=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.com,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Lukasz Hawrylko <lukasz@hawrylko.pl>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>,
	=?UTF-8?q?Mateusz=20M=C3=B3wka?= <mateusz.mowka@intel.com>
Subject: [PATCH v3 08/13] xen/spinlock: add explicit non-recursive locking functions
Date: Mon, 20 Nov 2023 12:38:37 +0100
Message-Id: <20231120113842.5897-9-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_TWELVE(0.00)[17];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

In order to prepare a type-safe recursive spinlock structure, add
explicitly non-recursive locking functions to be used for non-recursive
locking of spinlocks, which are used recursively, too.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- rename functions (Jan Beulich)
- get rid of !! in pcidevs_locked() (Jan Beulich)
---
 xen/arch/arm/mm.c             |  4 ++--
 xen/arch/x86/domain.c         | 12 ++++++------
 xen/arch/x86/mm.c             | 12 ++++++------
 xen/arch/x86/mm/mem_sharing.c |  8 ++++----
 xen/arch/x86/mm/p2m-pod.c     |  4 ++--
 xen/arch/x86/mm/p2m.c         |  4 ++--
 xen/arch/x86/tboot.c          |  4 ++--
 xen/common/domctl.c           |  4 ++--
 xen/common/grant_table.c      | 10 +++++-----
 xen/common/memory.c           |  4 ++--
 xen/common/numa.c             |  4 ++--
 xen/common/page_alloc.c       | 16 ++++++++--------
 xen/drivers/char/console.c    | 16 ++++++++--------
 xen/include/xen/spinlock.h    | 24 +++++++++++++++++++-----
 14 files changed, 70 insertions(+), 56 deletions(-)

diff --git a/xen/arch/arm/mm.c b/xen/arch/arm/mm.c
index c34cc94c90..c3a822b834 100644
--- a/xen/arch/arm/mm.c
+++ b/xen/arch/arm/mm.c
@@ -1317,7 +1317,7 @@ void share_xen_page_with_guest(struct page_info *page, struct domain *d,
     if ( page_get_owner(page) == d )
         return;
 
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
 
     /*
      * The incremented type count pins as writable or read-only.
@@ -1348,7 +1348,7 @@ void share_xen_page_with_guest(struct page_info *page, struct domain *d,
         page_list_add_tail(page, &d->xenpage_list);
     }
 
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
 }
 
 int xenmem_add_to_physmap_one(
diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c
index 69ce1fd5cf..998cb53a58 100644
--- a/xen/arch/x86/domain.c
+++ b/xen/arch/x86/domain.c
@@ -212,7 +212,7 @@ void dump_pageframe_info(struct domain *d)
     {
         unsigned long total[MASK_EXTR(PGT_type_mask, PGT_type_mask) + 1] = {};
 
-        spin_lock(&d->page_alloc_lock);
+        nrspin_lock(&d->page_alloc_lock);
         page_list_for_each ( page, &d->page_list )
         {
             unsigned int index = MASK_EXTR(page->u.inuse.type_info,
@@ -231,13 +231,13 @@ void dump_pageframe_info(struct domain *d)
                    _p(mfn_x(page_to_mfn(page))),
                    page->count_info, page->u.inuse.type_info);
         }
-        spin_unlock(&d->page_alloc_lock);
+        nrspin_unlock(&d->page_alloc_lock);
     }
 
     if ( is_hvm_domain(d) )
         p2m_pod_dump_data(d);
 
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
 
     page_list_for_each ( page, &d->xenpage_list )
     {
@@ -253,7 +253,7 @@ void dump_pageframe_info(struct domain *d)
                page->count_info, page->u.inuse.type_info);
     }
 
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
 }
 
 void update_guest_memory_policy(struct vcpu *v,
@@ -2446,10 +2446,10 @@ int domain_relinquish_resources(struct domain *d)
             d->arch.auto_unmask = 0;
         }
 
-        spin_lock(&d->page_alloc_lock);
+        nrspin_lock(&d->page_alloc_lock);
         page_list_splice(&d->arch.relmem_list, &d->page_list);
         INIT_PAGE_LIST_HEAD(&d->arch.relmem_list);
-        spin_unlock(&d->page_alloc_lock);
+        nrspin_unlock(&d->page_alloc_lock);
 
     PROGRESS(xen):
 
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 39544bd9f9..34682c1795 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -482,7 +482,7 @@ void share_xen_page_with_guest(struct page_info *page, struct domain *d,
 
     set_gpfn_from_mfn(mfn_x(page_to_mfn(page)), INVALID_M2P_ENTRY);
 
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
 
     /* The incremented type count pins as writable or read-only. */
     page->u.inuse.type_info =
@@ -502,7 +502,7 @@ void share_xen_page_with_guest(struct page_info *page, struct domain *d,
         page_list_add_tail(page, &d->xenpage_list);
     }
 
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
 }
 
 void make_cr3(struct vcpu *v, mfn_t mfn)
@@ -3584,11 +3584,11 @@ long do_mmuext_op(
             {
                 bool drop_ref;
 
-                spin_lock(&pg_owner->page_alloc_lock);
+                nrspin_lock(&pg_owner->page_alloc_lock);
                 drop_ref = (pg_owner->is_dying &&
                             test_and_clear_bit(_PGT_pinned,
                                                &page->u.inuse.type_info));
-                spin_unlock(&pg_owner->page_alloc_lock);
+                nrspin_unlock(&pg_owner->page_alloc_lock);
                 if ( drop_ref )
                 {
         pin_drop:
@@ -4411,7 +4411,7 @@ int steal_page(
      * that it might be upon return from alloc_domheap_pages with
      * MEMF_no_owner set.
      */
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
 
     BUG_ON(page->u.inuse.type_info & (PGT_count_mask | PGT_locked |
                                       PGT_pinned));
@@ -4423,7 +4423,7 @@ int steal_page(
     if ( !(memflags & MEMF_no_refcount) && !domain_adjust_tot_pages(d, -1) )
         drop_dom_ref = true;
 
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
 
     if ( unlikely(drop_dom_ref) )
         put_domain(d);
diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 9585406095..d8268c32d7 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -746,11 +746,11 @@ static int page_make_private(struct domain *d, struct page_info *page)
     if ( !get_page(page, dom_cow) )
         return -EINVAL;
 
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
 
     if ( d->is_dying )
     {
-        spin_unlock(&d->page_alloc_lock);
+        nrspin_unlock(&d->page_alloc_lock);
         put_page(page);
         return -EBUSY;
     }
@@ -758,7 +758,7 @@ static int page_make_private(struct domain *d, struct page_info *page)
     expected_type = (PGT_shared_page | PGT_validated | PGT_locked | 2);
     if ( page->u.inuse.type_info != expected_type )
     {
-        spin_unlock(&d->page_alloc_lock);
+        nrspin_unlock(&d->page_alloc_lock);
         put_page(page);
         return -EEXIST;
     }
@@ -775,7 +775,7 @@ static int page_make_private(struct domain *d, struct page_info *page)
     if ( domain_adjust_tot_pages(d, 1) == 1 )
         get_knownalive_domain(d);
     page_list_add_tail(page, &d->page_list);
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
 
     put_page(page);
 
diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
index 9969eb45fa..5361c2c5b1 100644
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -27,7 +27,7 @@
 static inline void lock_page_alloc(struct p2m_domain *p2m)
 {
     page_alloc_mm_pre_lock(p2m->domain);
-    spin_lock(&(p2m->domain->page_alloc_lock));
+    nrspin_lock(&(p2m->domain->page_alloc_lock));
     page_alloc_mm_post_lock(p2m->domain,
                             p2m->domain->arch.page_alloc_unlock_level);
 }
@@ -35,7 +35,7 @@ static inline void lock_page_alloc(struct p2m_domain *p2m)
 static inline void unlock_page_alloc(struct p2m_domain *p2m)
 {
     page_alloc_mm_unlock(p2m->domain->arch.page_alloc_unlock_level);
-    spin_unlock(&(p2m->domain->page_alloc_lock));
+    nrspin_unlock(&(p2m->domain->page_alloc_lock));
 }
 
 /*
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 0983bd71d9..f78c46bda2 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -2225,7 +2225,7 @@ void audit_p2m(struct domain *d,
 
     /* Audit part two: walk the domain's page allocation list, checking
      * the m2p entries. */
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
     page_list_for_each ( page, &d->page_list )
     {
         mfn = mfn_x(page_to_mfn(page));
@@ -2277,7 +2277,7 @@ void audit_p2m(struct domain *d,
         P2M_PRINTK("OK: mfn=%#lx, gfn=%#lx, p2mfn=%#lx\n",
                        mfn, gfn, mfn_x(p2mfn));
     }
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
 
     pod_unlock(p2m);
     p2m_unlock(p2m);
diff --git a/xen/arch/x86/tboot.c b/xen/arch/x86/tboot.c
index 86c4c22cac..5b33a1bf9d 100644
--- a/xen/arch/x86/tboot.c
+++ b/xen/arch/x86/tboot.c
@@ -205,14 +205,14 @@ static void tboot_gen_domain_integrity(const uint8_t key[TB_KEY_SIZE],
             continue;
         printk("MACing Domain %u\n", d->domain_id);
 
-        spin_lock(&d->page_alloc_lock);
+        nrspin_lock(&d->page_alloc_lock);
         page_list_for_each(page, &d->page_list)
         {
             void *pg = __map_domain_page(page);
             vmac_update(pg, PAGE_SIZE, &ctx);
             unmap_domain_page(pg);
         }
-        spin_unlock(&d->page_alloc_lock);
+        nrspin_unlock(&d->page_alloc_lock);
 
         if ( is_iommu_enabled(d) && is_vtd )
         {
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 505e29c0dc..3733f60f6a 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -621,14 +621,14 @@ long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
     {
         uint64_t new_max = op->u.max_mem.max_memkb >> (PAGE_SHIFT - 10);
 
-        spin_lock(&d->page_alloc_lock);
+        nrspin_lock(&d->page_alloc_lock);
         /*
          * NB. We removed a check that new_max >= current tot_pages; this means
          * that the domain will now be allowed to "ratchet" down to new_max. In
          * the meantime, while tot > max, all new allocations are disallowed.
          */
         d->max_pages = min(new_max, (uint64_t)(typeof(d->max_pages))-1);
-        spin_unlock(&d->page_alloc_lock);
+        nrspin_unlock(&d->page_alloc_lock);
         break;
     }
 
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index 89b7811c51..8145974d3a 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -2376,7 +2376,7 @@ gnttab_transfer(
             mfn = page_to_mfn(page);
         }
 
-        spin_lock(&e->page_alloc_lock);
+        nrspin_lock(&e->page_alloc_lock);
 
         /*
          * Check that 'e' will accept the page and has reservation
@@ -2387,7 +2387,7 @@ gnttab_transfer(
              unlikely(domain_tot_pages(e) >= e->max_pages) ||
              unlikely(!(e->tot_pages + 1)) )
         {
-            spin_unlock(&e->page_alloc_lock);
+            nrspin_unlock(&e->page_alloc_lock);
 
             if ( e->is_dying )
                 gdprintk(XENLOG_INFO, "Transferee d%d is dying\n",
@@ -2411,7 +2411,7 @@ gnttab_transfer(
          * safely drop the lock and re-aquire it later to add page to the
          * pagelist.
          */
-        spin_unlock(&e->page_alloc_lock);
+        nrspin_unlock(&e->page_alloc_lock);
         okay = gnttab_prepare_for_transfer(e, d, gop.ref);
 
         /*
@@ -2427,9 +2427,9 @@ gnttab_transfer(
              * Need to grab this again to safely free our "reserved"
              * page in the page total
              */
-            spin_lock(&e->page_alloc_lock);
+            nrspin_lock(&e->page_alloc_lock);
             drop_dom_ref = !domain_adjust_tot_pages(e, -1);
-            spin_unlock(&e->page_alloc_lock);
+            nrspin_unlock(&e->page_alloc_lock);
 
             if ( okay /* i.e. e->is_dying due to the surrounding if() */ )
                 gdprintk(XENLOG_INFO, "Transferee d%d is now dying\n",
diff --git a/xen/common/memory.c b/xen/common/memory.c
index fa165ebc14..f6a4dc17ee 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -770,10 +770,10 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
                               (1UL << in_chunk_order)) -
                              (j * (1UL << exch.out.extent_order)));
 
-                spin_lock(&d->page_alloc_lock);
+                nrspin_lock(&d->page_alloc_lock);
                 drop_dom_ref = (dec_count &&
                                 !domain_adjust_tot_pages(d, -dec_count));
-                spin_unlock(&d->page_alloc_lock);
+                nrspin_unlock(&d->page_alloc_lock);
 
                 if ( drop_dom_ref )
                     put_domain(d);
diff --git a/xen/common/numa.c b/xen/common/numa.c
index f454c4d894..47b1d0b5a8 100644
--- a/xen/common/numa.c
+++ b/xen/common/numa.c
@@ -718,13 +718,13 @@ static void cf_check dump_numa(unsigned char key)
 
         memset(page_num_node, 0, sizeof(page_num_node));
 
-        spin_lock(&d->page_alloc_lock);
+        nrspin_lock(&d->page_alloc_lock);
         page_list_for_each ( page, &d->page_list )
         {
             i = page_to_nid(page);
             page_num_node[i]++;
         }
-        spin_unlock(&d->page_alloc_lock);
+        nrspin_unlock(&d->page_alloc_lock);
 
         for_each_online_node ( i )
             printk("    Node %u: %u\n", i, page_num_node[i]);
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 8c6a3d9274..a25c00a7d4 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -515,7 +515,7 @@ int domain_set_outstanding_pages(struct domain *d, unsigned long pages)
      * must always take the global heap_lock rather than only in the much
      * rarer case that d->outstanding_pages is non-zero
      */
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
     spin_lock(&heap_lock);
 
     /* pages==0 means "unset" the claim. */
@@ -561,7 +561,7 @@ int domain_set_outstanding_pages(struct domain *d, unsigned long pages)
 
 out:
     spin_unlock(&heap_lock);
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
     return ret;
 }
 
@@ -2343,7 +2343,7 @@ int assign_pages(
     int rc = 0;
     unsigned int i;
 
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
 
     if ( unlikely(d->is_dying) )
     {
@@ -2425,7 +2425,7 @@ int assign_pages(
     }
 
  out:
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
     return rc;
 }
 
@@ -2906,9 +2906,9 @@ mfn_t acquire_reserved_page(struct domain *d, unsigned int memflags)
     ASSERT_ALLOC_CONTEXT();
 
     /* Acquire a page from reserved page list(resv_page_list). */
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
     page = page_list_remove_head(&d->resv_page_list);
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
     if ( unlikely(!page) )
         return INVALID_MFN;
 
@@ -2927,9 +2927,9 @@ mfn_t acquire_reserved_page(struct domain *d, unsigned int memflags)
      */
     unprepare_staticmem_pages(page, 1, false);
  fail:
-    spin_lock(&d->page_alloc_lock);
+    nrspin_lock(&d->page_alloc_lock);
     page_list_add_tail(page, &d->resv_page_list);
-    spin_unlock(&d->page_alloc_lock);
+    nrspin_unlock(&d->page_alloc_lock);
     return INVALID_MFN;
 }
 #endif
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index cc743b67ec..c5609f32b5 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -369,9 +369,9 @@ long read_console_ring(struct xen_sysctl_readconsole *op)
 
     if ( op->clear )
     {
-        spin_lock_irq(&console_lock);
+        nrspin_lock_irq(&console_lock);
         conringc = p - c > conring_size ? p - conring_size : c;
-        spin_unlock_irq(&console_lock);
+        nrspin_unlock_irq(&console_lock);
     }
 
     op->count = sofar;
@@ -639,7 +639,7 @@ static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer,
         if ( is_hardware_domain(cd) )
         {
             /* Use direct console output as it could be interactive */
-            spin_lock_irq(&console_lock);
+            nrspin_lock_irq(&console_lock);
 
             console_serial_puts(kbuf, kcount);
             video_puts(kbuf, kcount);
@@ -660,7 +660,7 @@ static long guest_console_write(XEN_GUEST_HANDLE_PARAM(char) buffer,
                 tasklet_schedule(&notify_dom0_con_ring_tasklet);
             }
 
-            spin_unlock_irq(&console_lock);
+            nrspin_unlock_irq(&console_lock);
         }
         else
         {
@@ -1027,9 +1027,9 @@ void __init console_init_preirq(void)
     pv_console_set_rx_handler(serial_rx);
 
     /* HELLO WORLD --- start-of-day banner text. */
-    spin_lock(&console_lock);
+    nrspin_lock(&console_lock);
     __putstr(xen_banner());
-    spin_unlock(&console_lock);
+    nrspin_unlock(&console_lock);
     printk("Xen version %d.%d%s (%s@%s) (%s) %s %s\n",
            xen_major_version(), xen_minor_version(), xen_extra_version(),
            xen_compile_by(), xen_compile_domain(), xen_compiler(),
@@ -1066,13 +1066,13 @@ void __init console_init_ring(void)
     }
     opt_conring_size = PAGE_SIZE << order;
 
-    spin_lock_irqsave(&console_lock, flags);
+    nrspin_lock_irqsave(&console_lock, flags);
     for ( i = conringc ; i != conringp; i++ )
         ring[i & (opt_conring_size - 1)] = conring[i & (conring_size - 1)];
     conring = ring;
     smp_wmb(); /* Allow users of console_force_unlock() to see larger buffer. */
     conring_size = opt_conring_size;
-    spin_unlock_irqrestore(&console_lock, flags);
+    nrspin_unlock_irqrestore(&console_lock, flags);
 
     printk("Allocated console ring of %u KiB.\n", opt_conring_size >> 10);
 }
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 5ada9dce3d..12764bcddf 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -101,6 +101,8 @@ struct lock_profile_qhead {
 };
 
 #define _LOCK_PROFILE(lockname) { .name = #lockname, .lock = &lockname, }
+#define _RLOCK_PROFILE(lockname) { .name = #lockname, .rlock = &lockname,     \
+    .is_rlock = 1, }
 #define _LOCK_PROFILE_PTR(name)                                               \
     static struct lock_profile * const __lock_profile_##name                  \
     __used_section(".lockprofile.data") =                                     \
@@ -117,10 +119,10 @@ struct lock_profile_qhead {
     _LOCK_PROFILE_PTR(l)
 #define DEFINE_RSPINLOCK(l)                                                   \
     rspinlock_t l = _SPIN_LOCK_UNLOCKED(NULL);                                \
-    static struct lock_profile __lock_profile_data_##l = _LOCK_PROFILE(l);    \
+    static struct lock_profile __lock_profile_data_##l = _RLOCK_PROFILE(l);   \
     _LOCK_PROFILE_PTR(l)
 
-#define __spin_lock_init_prof(s, l, locktype)                                 \
+#define __spin_lock_init_prof(s, l, lockptr, locktype, isr)                   \
     do {                                                                      \
         struct lock_profile *prof;                                            \
         prof = xzalloc(struct lock_profile);                                  \
@@ -133,13 +135,16 @@ struct lock_profile_qhead {
             break;                                                            \
         }                                                                     \
         prof->name = #l;                                                      \
-        prof->lock = &(s)->l;                                                 \
+        prof->lockptr = &(s)->l;                                              \
+        prof->is_rlock = isr;                                                 \
         prof->next = (s)->profile_head.elem_q;                                \
         (s)->profile_head.elem_q = prof;                                      \
     } while( 0 )
 
-#define spin_lock_init_prof(s, l) __spin_lock_init_prof(s, l, spinlock_t)
-#define rspin_lock_init_prof(s, l) __spin_lock_init_prof(s, l, rspinlock_t)
+#define spin_lock_init_prof(s, l)                                             \
+    __spin_lock_init_prof(s, l, lock, spinlock_t, 0)
+#define rspin_lock_init_prof(s, l)                                            \
+    __spin_lock_init_prof(s, l, rlock, rspinlock_t, 1)
 
 void _lock_profile_register_struct(
     int32_t type, struct lock_profile_qhead *qhead, int32_t idx);
@@ -174,6 +179,7 @@ struct lock_profile_qhead { };
 
 #endif
 
+
 typedef union {
     uint32_t head_tail;
     struct {
@@ -261,4 +267,12 @@ void rspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags);
 /* Ensure a lock is quiescent between two critical operations. */
 #define spin_barrier(l)               _spin_barrier(l)
 
+#define nrspin_trylock(l)    spin_trylock(l)
+#define nrspin_lock(l)       spin_lock(l)
+#define nrspin_unlock(l)     spin_unlock(l)
+#define nrspin_lock_irq(l)   spin_lock_irq(l)
+#define nrspin_unlock_irq(l) spin_unlock_irq(l)
+#define nrspin_lock_irqsave(l, f)      spin_lock_irqsave(l, f)
+#define nrspin_unlock_irqrestore(l, f) spin_unlock_irqrestore(l, f)
+
 #endif /* __SPINLOCK_H__ */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636647.992315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52cw-0008EB-8A; Mon, 20 Nov 2023 11:39:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636647.992315; Mon, 20 Nov 2023 11:39: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 1r52cw-0008Dx-4P; Mon, 20 Nov 2023 11:39:42 +0000
Received: by outflank-mailman (input) for mailman id 636647;
 Mon, 20 Nov 2023 11:39: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52cv-0005BS-BM
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:41 +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 7d126a3b-8799-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 12:39:39 +0100 (CET)
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 13C691F85D;
 Mon, 20 Nov 2023 11:39: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 CB22C13499;
 Mon, 20 Nov 2023 11:39:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id ypZEMHpFW2U6PgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 7d126a3b-8799-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480379; 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=sFlxtxsX+9lczW/zJBwJuexkoM0jZPtZbEpxpdxkqs4=;
	b=rZeYLvRuVvNEQmHtsekKpvOpXoipWqvBVg9bF/ysMBtpKcBE4Tr3HXHGZOPgAONo39XYbH
	kuFVJ1VVuONiioWe1o89wbE1c0EtUhBy9NGvhk/YJvlZdXp6zdrPOrUUgKeS/LZ4cZPr9C
	QjMdkAafJr4R62T+ijrogSBNRWLfaPQ=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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 v3 09/13] xen/spinlock: add another function level
Date: Mon, 20 Nov 2023 12:38:38 +0100
Message-Id: <20231120113842.5897-10-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Add another function level in spinlock.c hiding the spinlock_t layout
from the low level locking code.

This is done in preparation of introducing rspinlock_t for recursive
locks without having to duplicate all of the locking code.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 xen/common/spinlock.c      | 104 +++++++++++++++++++++++--------------
 xen/include/xen/spinlock.h |   1 +
 2 files changed, 65 insertions(+), 40 deletions(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 65f180203a..8b991cf385 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -261,29 +261,31 @@ void spin_debug_disable(void)
 
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
 
+#define LOCK_PROFILE_PAR lock->profile
 #define LOCK_PROFILE_REL                                                     \
-    if ( lock->profile )                                                     \
+    if ( profile )                                                           \
     {                                                                        \
-        lock->profile->time_hold += NOW() - lock->profile->time_locked;      \
-        lock->profile->lock_cnt++;                                           \
+        profile->time_hold += NOW() - profile->time_locked;                  \
+        profile->lock_cnt++;                                                 \
     }
 #define LOCK_PROFILE_VAR(var, val)    s_time_t var = (val)
 #define LOCK_PROFILE_BLOCK(var     )  var = var ? : NOW()
 #define LOCK_PROFILE_BLKACC(tst, val)                                        \
     if ( tst )                                                               \
     {                                                                        \
-        lock->profile->time_block += lock->profile->time_locked - (val);     \
-        lock->profile->block_cnt++;                                          \
+        profile->time_block += profile->time_locked - (val);                 \
+        profile->block_cnt++;                                                \
     }
 #define LOCK_PROFILE_GOT(val)                                                \
-    if ( lock->profile )                                                     \
+    if ( profile )                                                           \
     {                                                                        \
-        lock->profile->time_locked = NOW();                                  \
+        profile->time_locked = NOW();                                        \
         LOCK_PROFILE_BLKACC(val, val);                                       \
     }
 
 #else
 
+#define LOCK_PROFILE_PAR NULL
 #define LOCK_PROFILE_REL
 #define LOCK_PROFILE_VAR(var, val)
 #define LOCK_PROFILE_BLOCK(var)
@@ -307,17 +309,18 @@ static always_inline uint16_t observe_head(const spinlock_tickets_t *t)
     return read_atomic(&t->head);
 }
 
-static void always_inline spin_lock_common(spinlock_t *lock,
+static void always_inline spin_lock_common(spinlock_tickets_t *t,
+                                           union lock_debug *debug,
+                                           struct lock_profile *profile,
                                            void (*cb)(void *), void *data)
 {
     spinlock_tickets_t tickets = SPINLOCK_TICKET_INC;
     LOCK_PROFILE_VAR(block, 0);
 
-    check_lock(&lock->debug, false);
+    check_lock(debug, false);
     preempt_disable();
-    tickets.head_tail = arch_fetch_and_add(&lock->tickets.head_tail,
-                                           tickets.head_tail);
-    while ( tickets.tail != observe_head(&lock->tickets) )
+    tickets.head_tail = arch_fetch_and_add(&t->head_tail, tickets.head_tail);
+    while ( tickets.tail != observe_head(t) )
     {
         LOCK_PROFILE_BLOCK(block);
         if ( cb )
@@ -325,18 +328,19 @@ static void always_inline spin_lock_common(spinlock_t *lock,
         arch_lock_relax();
     }
     arch_lock_acquire_barrier();
-    got_lock(&lock->debug);
+    got_lock(debug);
     LOCK_PROFILE_GOT(block);
 }
 
 void _spin_lock(spinlock_t *lock)
 {
-    spin_lock_common(lock, NULL, NULL);
+    spin_lock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR, NULL,
+                     NULL);
 }
 
 void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data)
 {
-    spin_lock_common(lock, cb, data);
+    spin_lock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR, cb, data);
 }
 
 void _spin_lock_irq(spinlock_t *lock)
@@ -355,16 +359,23 @@ unsigned long _spin_lock_irqsave(spinlock_t *lock)
     return flags;
 }
 
-void _spin_unlock(spinlock_t *lock)
+static void always_inline spin_unlock_common(spinlock_tickets_t *t,
+                                             union lock_debug *debug,
+                                             struct lock_profile *profile)
 {
     LOCK_PROFILE_REL;
-    rel_lock(&lock->debug);
+    rel_lock(debug);
     arch_lock_release_barrier();
-    add_sized(&lock->tickets.head, 1);
+    add_sized(&t->head, 1);
     arch_lock_signal();
     preempt_enable();
 }
 
+void _spin_unlock(spinlock_t *lock)
+{
+    spin_unlock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
+}
+
 void _spin_unlock_irq(spinlock_t *lock)
 {
     _spin_unlock(lock);
@@ -377,25 +388,25 @@ void _spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
     local_irq_restore(flags);
 }
 
+static int always_inline spin_is_locked_common(const spinlock_tickets_t *t)
+{
+    return t->head != t->tail;
+}
+
 int _spin_is_locked(const spinlock_t *lock)
 {
-    /*
-     * Recursive locks may be locked by another CPU, yet we return
-     * "false" here, making this function suitable only for use in
-     * ASSERT()s and alike.
-     */
-    return lock->recurse_cpu == SPINLOCK_NO_CPU
-           ? lock->tickets.head != lock->tickets.tail
-           : lock->recurse_cpu == smp_processor_id();
+    return spin_is_locked_common(&lock->tickets);
 }
 
-int _spin_trylock(spinlock_t *lock)
+static int always_inline spin_trylock_common(spinlock_tickets_t *t,
+                                             union lock_debug *debug,
+                                             struct lock_profile *profile)
 {
     spinlock_tickets_t old, new;
 
     preempt_disable();
-    check_lock(&lock->debug, true);
-    old = observe_lock(&lock->tickets);
+    check_lock(debug, true);
+    old = observe_lock(t);
     if ( old.head != old.tail )
     {
         preempt_enable();
@@ -403,8 +414,7 @@ int _spin_trylock(spinlock_t *lock)
     }
     new = old;
     new.tail++;
-    if ( cmpxchg(&lock->tickets.head_tail,
-                 old.head_tail, new.head_tail) != old.head_tail )
+    if ( cmpxchg(&t->head_tail, old.head_tail, new.head_tail) != old.head_tail )
     {
         preempt_enable();
         return 0;
@@ -413,29 +423,41 @@ int _spin_trylock(spinlock_t *lock)
      * cmpxchg() is a full barrier so no need for an
      * arch_lock_acquire_barrier().
      */
-    got_lock(&lock->debug);
+    got_lock(debug);
     LOCK_PROFILE_GOT(0);
 
     return 1;
 }
 
-void _spin_barrier(spinlock_t *lock)
+int _spin_trylock(spinlock_t *lock)
+{
+    return spin_trylock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
+}
+
+static void always_inline spin_barrier_common(spinlock_tickets_t *t,
+                                              union lock_debug *debug,
+                                              struct lock_profile *profile)
 {
     spinlock_tickets_t sample;
     LOCK_PROFILE_VAR(block, NOW());
 
-    check_barrier(&lock->debug);
+    check_barrier(debug);
     smp_mb();
-    sample = observe_lock(&lock->tickets);
+    sample = observe_lock(t);
     if ( sample.head != sample.tail )
     {
-        while ( observe_head(&lock->tickets) == sample.head )
+        while ( observe_head(t) == sample.head )
             arch_lock_relax();
-        LOCK_PROFILE_BLKACC(lock->profile, block);
+        LOCK_PROFILE_BLKACC(profile, block);
     }
     smp_mb();
 }
 
+void _spin_barrier(spinlock_t *lock)
+{
+    spin_barrier_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
+}
+
 int rspin_trylock(rspinlock_t *lock)
 {
     unsigned int cpu = smp_processor_id();
@@ -448,7 +470,8 @@ int rspin_trylock(rspinlock_t *lock)
 
     if ( likely(lock->recurse_cpu != cpu) )
     {
-        if ( !spin_trylock(lock) )
+        if ( !spin_trylock_common(&lock->tickets, &lock->debug,
+                                  LOCK_PROFILE_PAR) )
             return 0;
         lock->recurse_cpu = cpu;
     }
@@ -466,7 +489,8 @@ void rspin_lock(rspinlock_t *lock)
 
     if ( likely(lock->recurse_cpu != cpu) )
     {
-        _spin_lock(lock);
+        spin_lock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR, NULL,
+                         NULL);
         lock->recurse_cpu = cpu;
     }
 
@@ -490,7 +514,7 @@ void rspin_unlock(rspinlock_t *lock)
     if ( likely(--lock->recurse_cnt == 0) )
     {
         lock->recurse_cpu = SPINLOCK_NO_CPU;
-        spin_unlock(lock);
+        spin_unlock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
     }
 }
 
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index 12764bcddf..ccb1cafa5f 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -163,6 +163,7 @@ extern void cf_check spinlock_profile_reset(unsigned char key);
 #else
 
 struct lock_profile_qhead { };
+struct lock_profile { };
 
 #define SPIN_LOCK_UNLOCKED {                                                  \
     .recurse_cpu = SPINLOCK_NO_CPU,                                           \
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:39:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:39:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636648.992325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52d1-0000Lh-IK; Mon, 20 Nov 2023 11:39:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636648.992325; Mon, 20 Nov 2023 11:39: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 1r52d1-0000La-FM; Mon, 20 Nov 2023 11:39:47 +0000
Received: by outflank-mailman (input) for mailman id 636648;
 Mon, 20 Nov 2023 11:39: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52cz-0004F8-KD
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:45 +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 80769206-8799-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:39:45 +0100 (CET)
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 D120D21904;
 Mon, 20 Nov 2023 11:39: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 7B54713499;
 Mon, 20 Nov 2023 11:39:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id UCfJHIBFW2VGPgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 80769206-8799-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480384; 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=N+flDa3QzRsLPq+/48lq4lck4jmCIJAz+WNkz+xc0Qc=;
	b=eJkmQIWq9/8AJdat3kFBJcE73XFskS0n6ZIDobSaIunrzRjhNgdsjl+jbnjcEMyl8OqaF6
	en2oq8uNDA/5xn7qDhyTNgkNOcY0KAh/j1mDT8ExZKbHsD7xKLmpUqUqOr4YU2OPaBbsCa
	hCK0hIzIEgQNTeN96rKfQjqJafajUF0=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.com,
	Juergen Gross <jgross@suse.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Paul Durrant <paul@xen.org>
Subject: [PATCH v3 10/13] xen/spinlock: add missing rspin_is_locked() and rspin_barrier()
Date: Mon, 20 Nov 2023 12:38:39 +0100
Message-Id: <20231120113842.5897-11-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[11];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Add rspin_is_locked() and rspin_barrier() in order to prepare differing
spinlock_t and rspinlock_t types.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- partially carved out from V1 patch, partially new
---
 xen/arch/x86/mm/p2m-pod.c     |  2 +-
 xen/common/domain.c           |  2 +-
 xen/common/page_alloc.c       |  2 +-
 xen/common/spinlock.c         | 17 +++++++++++++++++
 xen/drivers/char/console.c    |  4 ++--
 xen/drivers/passthrough/pci.c |  2 +-
 xen/include/xen/spinlock.h    |  2 ++
 7 files changed, 25 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
index 5361c2c5b1..ad49c64ead 100644
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -385,7 +385,7 @@ int p2m_pod_empty_cache(struct domain *d)
 
     /* After this barrier no new PoD activities can happen. */
     BUG_ON(!d->is_dying);
-    spin_barrier(&p2m->pod.lock.lock);
+    rspin_barrier(&p2m->pod.lock.lock);
 
     lock_page_alloc(p2m);
 
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 604f70ff5a..17da8e0746 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -974,7 +974,7 @@ int domain_kill(struct domain *d)
     case DOMDYING_alive:
         domain_pause(d);
         d->is_dying = DOMDYING_dying;
-        spin_barrier(&d->domain_lock);
+        rspin_barrier(&d->domain_lock);
         argo_destroy(d);
         vnuma_destroy(d->vnuma);
         domain_set_outstanding_pages(d, 0);
diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index a25c00a7d4..14010b6fa5 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -476,7 +476,7 @@ unsigned long domain_adjust_tot_pages(struct domain *d, long pages)
 {
     long dom_before, dom_after, dom_claimed, sys_before, sys_after;
 
-    ASSERT(spin_is_locked(&d->page_alloc_lock));
+    ASSERT(rspin_is_locked(&d->page_alloc_lock));
     d->tot_pages += pages;
 
     /*
diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 8b991cf385..8bb6691b14 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -458,6 +458,23 @@ void _spin_barrier(spinlock_t *lock)
     spin_barrier_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
 }
 
+int rspin_is_locked(const rspinlock_t *lock)
+{
+    /*
+     * Recursive locks may be locked by another CPU, yet we return
+     * "false" here, making this function suitable only for use in
+     * ASSERT()s and alike.
+     */
+    return lock->recurse_cpu == SPINLOCK_NO_CPU
+           ? spin_is_locked_common(&lock->tickets)
+           : lock->recurse_cpu == smp_processor_id();
+}
+
+void rspin_barrier(rspinlock_t *lock)
+{
+    spin_barrier_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
+}
+
 int rspin_trylock(rspinlock_t *lock)
 {
     unsigned int cpu = smp_processor_id();
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index c5609f32b5..a1aca2b60b 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -328,7 +328,7 @@ static void cf_check do_dec_thresh(unsigned char key, struct cpu_user_regs *regs
 
 static void conring_puts(const char *str, size_t len)
 {
-    ASSERT(spin_is_locked(&console_lock));
+    ASSERT(rspin_is_locked(&console_lock));
 
     while ( len-- )
         conring[CONRING_IDX_MASK(conringp++)] = *str++;
@@ -766,7 +766,7 @@ static void __putstr(const char *str)
 {
     size_t len = strlen(str);
 
-    ASSERT(spin_is_locked(&console_lock));
+    ASSERT(rspin_is_locked(&console_lock));
 
     console_serial_puts(str, len);
     video_puts(str, len);
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 22342f07ac..f55c1a5cf4 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -64,7 +64,7 @@ void pcidevs_unlock(void)
 
 bool pcidevs_locked(void)
 {
-    return !!spin_is_locked(&_pcidevs_lock);
+    return rspin_is_locked(&_pcidevs_lock);
 }
 
 static struct radix_tree_root pci_segments;
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index ccb1cafa5f..fb6ca1949a 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -239,6 +239,8 @@ void rspin_lock(rspinlock_t *lock);
 unsigned long __rspin_lock_irqsave(rspinlock_t *lock);
 void rspin_unlock(rspinlock_t *lock);
 void rspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags);
+int rspin_is_locked(const rspinlock_t *lock);
+void rspin_barrier(rspinlock_t *lock);
 
 #define spin_lock(l)                  _spin_lock(l)
 #define spin_lock_cb(l, c, d)         _spin_lock_cb(l, c, d)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:40:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:40:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636624.992335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52dI-0001pi-UZ; Mon, 20 Nov 2023 11:40:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636624.992335; Mon, 20 Nov 2023 11:40: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 1r52dI-0001pP-QA; Mon, 20 Nov 2023 11:40:04 +0000
Received: by outflank-mailman (input) for mailman id 636624;
 Mon, 20 Nov 2023 11:33: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=NCOd=HB=forvia.com=prvs=681316a83=zewei.zhang@srs-se1.protection.inumbo.net>)
 id 1r52Wz-0002Bw-PO
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:33:34 +0000
Received: from esa14.hc106-56.eu.iphmx.com (esa14.hc106-56.eu.iphmx.com
 [207.54.65.170]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a15349eb-8798-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:33:32 +0100 (CET)
Received: from mail-pr2fra01on0100.outbound.protection.outlook.com (HELO
 FRA01-PR2-obe.outbound.protection.outlook.com) ([104.47.24.100])
 by ob1.hc106-56.eu.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 20 Nov 2023 12:33:29 +0100
Received: from PR0P264MB2423.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1e2::18)
 by PR0P264MB2887.FRAP264.PROD.OUTLOOK.COM (2603:10a6:102:1d2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 11:33:27 +0000
Received: from PR0P264MB2423.FRAP264.PROD.OUTLOOK.COM
 ([fe80::6cd1:6e4b:677e:a4ae]) by PR0P264MB2423.FRAP264.PROD.OUTLOOK.COM
 ([fe80::6cd1:6e4b:677e:a4ae%5]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 11: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>
X-Inumbo-ID: a15349eb-8798-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=forvia.com; i=@forvia.com; q=dns/txt;
  s=s1-20220303-CES; t=1700480011; x=1732016011;
  h=from:to:cc:subject:date:message-id:mime-version;
  bh=vhzFc4XhHSFn2kp7rZdQ7S9w0Ov8o26OV0bybDomLaw=;
  b=mzTDv1BSlFgDyOcWPjgM5fz2LQMEPNiKba4ManOKi3UfXCwIQtRGJGAf
   UBZ0idyhubnqwKEnNkNcuXwxPuZnMEwtA/FuDS6dtw8uS/dCOrRD1m4vW
   y/fssBGptBkockwuxB4eBDUxc2LoI0bVhwsRccw63Zu8D6uVFlrJlY4DM
   i5YG9ht3v8L3udg6zj1iqY+rXb5+4C5tPio6572QUeppKfvFaJXB7n9Fk
   ewviB0hLtT24yP8TQFM38gPbzowVjovFiPcgDj+3EWdQB09RaaW8L37gS
   jFKtoy3dXkZs/SUf8YYEjmtG7zhH7urG0LtwIVO/7agznqLFbny5tHvko
   w==;
X-CSE-ConnectionGUID: lXzUMj40Rm23Cfb73WJyCA==
X-CSE-MsgGUID: wQ51NLuPRSGzsbas2TETmw==
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ac/q8AJY54fCEv611g8R+slqWUFTlH3uHCtM6/S5BxkZDic9xBhl3OEdOsNsMEJ0PTK/dXBhSIa51PN0ofgjbwLT+q2MTJgRDu0bb0iUrB4hz6LmyrYMRR9hvXYe4aoOV05GDqhjoVx/1Zh3xvo8PWI52uelLtkQCDPRwhwORbsFaSAgImadiOq3pZxcdp1f3aPOy3jHZS5OY4cemM2iLv2pOtY3mc3s6iUo+udn0b2+Lo90EmlahIslQhHM2wqx0RR4vy9SMBNXaEEVZsp7Djmrbdc8I4PPtHdMiTVW/McnT3yVVDlKY9ThyDRlroGkBeRieiaSxU6faCVcjpfA7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YGtWT7JFZxkumB/qMbpOR70Et4y4gLvFZSY12LXpFsE=;
 b=NgilxGWQMeJ3+a0WgC+Gb22+nlB+9k5pr6BEvCuVYYBsQkIQ9sWIz038/pEgY+NS31e955yNKbLXlXH26n874A0S+E0/DGrG6yLtXkbTxWcYYWWNdwjarhO8qfueBphaxvzQHIB+xVWmWGlufRZm0oCI6+/8tr9vX0KV1SysYd6bfq9j+hv4griln1fo+TySqJ2kjj0Z8r00s0Cmk6ezPqBHwNhBBLY2Mn9ZflBhmz69JVmDcAjy75LH//iTxBXRt5/sVaRPV+inclKAN8fi5QXWjUk4H8ZJTAMqUVD1q5+lWFtQuhp5HlDLzeKzfyxXpOW5DIj8cTqmJh1Yf6+QZw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=forvia.com; dmarc=pass action=none header.from=forvia.com;
 dkim=pass header.d=forvia.com; arc=none
From: ZHANG Zewei <zewei.zhang@forvia.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "ray.huang@amd.com" <ray.huang@amd.com>
Subject: AMD Working On VirtIO GPU Support For Xen Virtualization issues
Thread-Topic: AMD Working On VirtIO GPU Support For Xen Virtualization issues
Thread-Index: Adobo1s+5ZENqT0uQjS822lVvDb6Fg==
Date: Mon, 20 Nov 2023 11:33:27 +0000
Message-ID:
 <PR0P264MB2423CA7C396A70D21D08274C80B4A@PR0P264MB2423.FRAP264.PROD.OUTLOOK.COM>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-Mentions: ray.huang@amd.com
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
msip_labels:
 MSIP_Label_eafdac3b-4115-4c64-bf62-f9099ec36d84_ActionId=d715e922-4bf3-4286-8029-b832696e087e;MSIP_Label_eafdac3b-4115-4c64-bf62-f9099ec36d84_ContentBits=0;MSIP_Label_eafdac3b-4115-4c64-bf62-f9099ec36d84_Enabled=true;MSIP_Label_eafdac3b-4115-4c64-bf62-f9099ec36d84_Method=Standard;MSIP_Label_eafdac3b-4115-4c64-bf62-f9099ec36d84_Name=InternalAndPartners;MSIP_Label_eafdac3b-4115-4c64-bf62-f9099ec36d84_SetDate=2023-11-20T07:42:12Z;MSIP_Label_eafdac3b-4115-4c64-bf62-f9099ec36d84_SiteId=5047bca2-da88-442e-a09a-d9b8af692adc;
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=forvia.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PR0P264MB2423:EE_|PR0P264MB2887:EE_
x-ms-office365-filtering-correlation-id: ad9218a3-1db9-4e0a-73c3-08dbe9bc83b5
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 vvL83qFCV3Y2vyknKHxiZnsAVZL+8/2YTZAt5UBA9YPgphBlIhSzIDq8K2/Wa96bmdgEDRWMpK0320w4QlJweIy1MtFq6WmxnPY7J7OXKQh9nZKaj9yPIUxjlnci7JOUACKSloHR/hOkmbLkWh5e3fEw2SM0CiDiFycBPGvM07bybygK6vLVrrnchASfOQv6e8+gK2Kkq13vrVb2gXOYzHOnUFbBjkrEqI9IdIiFGswttB1VZb9IYft0YRocewk/AZfxof3kj90FQjYRvvPskHBtqsPVRaDHtYdUSNaArf47zBZUT4PWXE8R2wv020Wqk9cF6pxKMDg1f3P/CpAgREpGoCgyk8I/mT5cJNHPf7vXadYwjPnUgi6vpBplqBbibVKIXFVLuCMi5q2xri/3tlj0wutjuf4eC8lycrbXf0QtZyW1V3j0J5CoCyP+1I0xH9SYbt5atOQC8hfgrnt7s5jd66vRPXz3YIkZHijWfeNfGphEkrVPODA2RMikKncM2A5slZ7AG9CQ9fBd57i4a7ptbi9Ux4ESvCI0pz4cdps=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PR0P264MB2423.FRAP264.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(396003)(346002)(39860400002)(366004)(230922051799003)(186009)(1800799012)(451199024)(64100799003)(26005)(55016003)(83380400001)(478600001)(9686003)(99936003)(122000001)(71200400001)(7696005)(6506007)(66946007)(316002)(6916009)(64756008)(66446008)(76116006)(66556008)(66476007)(166002)(52536014)(8936002)(8676002)(4326008)(38100700002)(5660300002)(86362001)(2906002)(33656002)(41300700001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?gb2312?B?Vk11TVY5Wjc0YW5ZUVJJOW1PeW1BMG9QVGhuL24xenlMUVVNTjFiY0tReGVt?=
 =?gb2312?B?TGZBbnVSZFJkam5ObFJLcEZxYXhSckwwTXRhQXYyQU9CTHNNc1dZeklpYnlo?=
 =?gb2312?B?VTBzV3VLQmZkN0RVanpZQ2o3RUNhQVpvUnlkSDVkVkxXRXEvSCs0bDlhT1Y0?=
 =?gb2312?B?cnBjZ3d6cUlXR0Ird1dJTmdnRHYrOHc1WnpOS0JIbXBhNzNOS2w1bEo0YkpJ?=
 =?gb2312?B?NTlHMkozc1VkeWdheE43NGJhWjB4cHM2M2RaaVBOR3luaWZjNVNCdmt2TVht?=
 =?gb2312?B?WkNscFNXSWI3K2FxMDYvS1BybEFPU0FtME5xSHZpWEYwRTBQWVVvNlBGTHFh?=
 =?gb2312?B?VFRJbmxTbGFDSEI4RlloeEdZV2Q5VmlvQTlTdFhyU1BPSXo3dmtvTWlpWkJQ?=
 =?gb2312?B?SGFWaDhnK3IxSm1FNTNWN3g1dUVpQ3diSDNvcy9OWFRITUp4QzFVUW1aQnk5?=
 =?gb2312?B?NDM1M1EybWlXS3I2M0RVZkdMK1RweUpEc0V6Y1RBTmtITW9wZVBGdWMrREVS?=
 =?gb2312?B?MDB5UFo4cC9zc3UvdERRUEpDOFJJL2JqT0FMdzRaMHZjaGp6RGgwTmo0SlA3?=
 =?gb2312?B?VzU0dzRoSDdFLzd1WTRwYmtXYW05VWZOUEtRcHo0Zmh4Z3lIVmRQaUx4K1ZE?=
 =?gb2312?B?dit6MXdId0djbzVMcFhUQmh0SFJMYlJxWWhkLzluQW8wSVozcG5FSllJcGdh?=
 =?gb2312?B?L0hzYVU2WDNZRzIyMmtRazdBYjh3azRaSk5DWGFFUWN4Q0dpZ00rL3VFZjZ3?=
 =?gb2312?B?V1VrRGg1YUtTRGJhWmh4VWJQcFdSMGxBU3lZUWdZR0pBYXg4Umk5aVRORC9S?=
 =?gb2312?B?a05lS2diMlBkWXF0VFo2Y2FXalJvY0M2UWE1Z3NaSGJoM3ZRajNrbFc0eUUy?=
 =?gb2312?B?R1hIbEFFamJQZ2NLNk9FVUlwQkQvczJOeFYxWTdsUnY4SkF1QUp3R2ZUMWpG?=
 =?gb2312?B?ZGlaZlQydU5rdjQ1Y0NjUlBhRXJUaEtmdERyclkzVlpjNXlza3N3RE1vUHV5?=
 =?gb2312?B?SFZ5RnZMVVJaYndFVUNyTEU1NGZWNVBkOTR5WXM0Q1kwSUs3bG5Ia3QreFpV?=
 =?gb2312?B?NkE0RGRwZDlFUDN2VW9yWTlSVHMzVytMdDZLMEpqQ2Y0RGx5S2hsdFVsWGU3?=
 =?gb2312?B?NVZsalFXZVBrblpvdFVKZ3Z4RVBvUDI0aU52Q1JLRVNWRVNaNnN1Qlp0MGsx?=
 =?gb2312?B?Tis1QWpHVmQzMUtoZHQwY1paUkFSa2wyL0VPMnNLSHhlNGdNNXk5OWdJN25E?=
 =?gb2312?B?TkNzU2EvUXpRZ0lSdkd3bENsVklaV2VNMDVMTUN5VklNQkpIdW95R0cyQnJO?=
 =?gb2312?B?U2FxQW54d1Y0U1crOU1nSm1EWG5aUW4wbm15TmdtcU9hMTdsa1o4TVdlTzJq?=
 =?gb2312?B?WU1TalZHa3ZyNE4zVHM1dWlSam90UlFzU3doVXlUaHh5S1JwY2M1bElSM0Vz?=
 =?gb2312?B?bHRpSW4zTVJiTDQwajgzMHZNV0M0L0FEMllCSStreURWSWk0YnEzN3FkN3p2?=
 =?gb2312?B?c2h4R2o5Sk1XL1lkcnozTlV6UjBoL0EzTnpMaFQ1RWpNMnJER2tQWjBQMERt?=
 =?gb2312?B?TGhKOElOczBUNXREMzA4dnNyQ2p6YUl3K2MrL211eE9BaVM2bHdWRHg2cVdY?=
 =?gb2312?B?RW54NDJtRUJnWGVWVFIrUlhXdUlTTXV2U01IOHlFTlJIMHYwd05VRmJVWklY?=
 =?gb2312?B?NTZuakNsSWpSbGdVNE9hK1lOVm5KcWJJbm9lWU5FTloyczlSVU45OVpUK3Er?=
 =?gb2312?B?cFRrS2ljVkl6RXJSMGFaaTl2Z3BZRE0vK3NIVFZla1FYR094ZlJtQVY0NUZI?=
 =?gb2312?B?STRacUZuUDl1dDQ2QzdmajFtT09jQWZvRnFVWWJOeGQxaGFXdUFHaVVoWmtw?=
 =?gb2312?B?MEdCd0xDT1FETXJaQWkvb2x1N09VSFRGTk9qWW9nMmtnSmFUV2t5eXFzWk1O?=
 =?gb2312?B?ajhPdnZiZXk4QzhDYnZPbE5YK2lwZWl3RC9JS3lRWG96b1BGTW1FSktRWG90?=
 =?gb2312?B?NW9xWDBRUERSV05OeEJiNCtKOGRHb1ErVnFRd0dWaVJMeGFWdlA4WWF4R0E2?=
 =?gb2312?B?ejhHQjNLOElZWHRnem1VVmJjR2cyb01pR1dwQitrSDVXZHhkUGsvWkJuMm52?=
 =?gb2312?Q?GKUjKPpEpZ6v0FJkcpgVHyV/Y?=
Content-Type: multipart/mixed;
	boundary="_007_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_"
MIME-Version: 1.0
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0:
	LLAsIL7Q+NNmHffMNCXCBMrSP06109cOhcChW53WwO0lJ5uTb6zCd/X/BCeGTXCRJOAfOsr/p8Avc5/NlfkwsyZbpKBT+nIt5z2didB0TIO8Pf27rOqNgyJvv3QHpwJpdb3P1FfPRpN889sVs14gnzYJQtD/b2UhR+CgbMFU0lMEIQGNZu4CLbk2O3G4dPcWFAZihhaJdx+HPCEM0+CoAsxsVpXkAVj4dZwhRhUdVUaFME2F837wvXgAy6otx4FlciYH+G1Hno0XXQfqY7atTXokd2ZIK5ip962IragRtOT8EaSlFEq8lmte/NkTTUzCAbboX1rdJvwYN9ahr8yy6EeXk9LuKaykoUFKH7csz3+l3o0f2N8FZVVx0X3CahyOtbnDKiVaK/hi7AMpDbfLw/8n/Q4ZKQil28U0keYEr/D3OUbp59+cp/B4wXPE24Pu866Dg1AElSzmx3JjH+zpvrZb4fZzdtjrT6FDI8WBILVk8irsa61LfIucq0pemu+nDEzhXOkKpcDHCtrJtHE74iijCG8wczjjfHszxxxpUysDvTymRJH74QBIw0EGQsUzR5lAOoEDPmZMcir7yfLgYw3709vkRVBQHYYCijoGZV8SHPg0nrKMfDvweT73YYRzlxy3ZZNWql5P+oT0bazxKlNgIudw6K2TOlm95yciuXt9hI5ALxNzw3kiHz7TpfqbBbWvK7gVO9zeyEBEYI/Fo1Bzuws4z/QvbtjCTUSfl5vj8tM0KinFJEHqaBSGU8nq8zNGLp/UNMow8z+5jFHm4VE6LMBEK1b3VFMGt05J+bEaPSNWmSA9TC0Lf+rIHHX3evGZf14pz1sfePCyWCVGglYlwjYbDhh49stkRjRcujo=
X-OriginatorOrg: forvia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PR0P264MB2423.FRAP264.PROD.OUTLOOK.COM
X-MS-Exchange-CrossTenant-Network-Message-Id: ad9218a3-1db9-4e0a-73c3-08dbe9bc83b5
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2023 11:33:27.5865
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5047bca2-da88-442e-a09a-d9b8af692adc
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /0B7gy6o5Vmv1Z7Tgtrd7SG6tuF15P2+UscbKKWZt5VBsWwFIFcMJRwCiArpWC5VVWgAbYr4Mz4Wwp8WE0QeSw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR0P264MB2887

--_007_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_
Content-Type: multipart/alternative;
	boundary="_000_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_"

--_000_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

SU5URVJOQUwgJiBQQVJUTkVSUw0KDQpIaaOsWGVuLWRldmVso7oNCiAgICAgICBXZSBhcmUgdHJ5
aW5nIHRvIGltcGxlbWVudCB0aGUgaWdwdSBzaGFyaW5nIGZ1bmN0aW9uIGZvciBkb21VIG9uIHRo
ZSBBTUQgKHYyMDAwIHNlcmllcykgZGV2ZWxvcG1lbnQgYm9hcmQgZW52aXJvbm1lbnQsIGFuZCB0
aGUgc29mdHdhcmUgYXJjaGl0ZWN0dXJlIGlzIHhlbiArIHVidW50dSAyMi4wNCAoZG9tMCkgKyBV
YnVudHUgMjIuMDQgKERvbSBVKS4gV2UgZm91bmQgdGhhdCBBTUQgZW5naW5lZXJzIGxpa2UgTXIu
IEh1YW5nIEByYXkuaHVhbmdAYW1kLmNvbTxtYWlsdG86cmF5Lmh1YW5nQGFtZC5jb20+IGhhdmUg
cG9zdGVkIGluZm9ybWF0aW9uIGFib3V0IHZpcnRpby1ncHUgIGZvciBYZW4gdmlydHVhbGl6YXRp
b24gdG8gdGhlIG9wZW4gc291cmNlIGNvbW11bml0eSBhbmQgdXBsb2FkZWQgdGhlIHJlbGV2YW50
IGNvZGUuDQoNCiAgICAgICBBbmQgV2UgcmVmZXIgdG8gdGhlIHJlbGV2YW50IGluZm9ybWF0aW9u
IGxpbmtlZCBiZWxvdyB0byBkZXBsb3kgb24gbXkgQU1EIGhhcmR3YXJlIHBsYXRmb3JtOg0KW1JG
QyBQQVRDSCAwLzVdIEFkZCBYZW4gUFZIIGRvbTAgc3VwcG9ydCBmb3IgR1BVIC0gSHVhbmcgUnVp
IChrZXJuZWwub3JnKTxodHRwczovL2xvcmUua2VybmVsLm9yZy9kcmktZGV2ZWwvMjAyMzAzMTIx
MjAxNTcuNDUyODU5LTEtcmF5Lmh1YW5nQGFtZC5jb20vPg0KDQogICAgICAgSG93ZXZlciwgd2hl
biB3ZSBkZXBsb3kgdmlydGlvLUdQVSByZWxhdGVkIHNvZnR3YXJlLCB3ZSBlbmNvdW50ZXIgdGhl
IGZvbGxvd2luZyBpc3N1ZXM6DQoNCjEuICAgIE15IGNvZGUgb2YgeGVuIC9xZW11IC9WaXJnbHJl
bmRlcmVyIGNoZWNrb3V0IHRvIHRoZSB1cHN0cmVhbS1mb3IteGVuIG9yIHVwc3RyZWFtLWZvci14
ZW4tdjIgYnJhbmNoLCB0aGUgeGwgY29uZmlndXJhdGlvbiBmaWxlIGlzIHNldCBhcyBmb2xsb3dz
LCBzZWU8IHVidW50dWh2bV92aXJ0SU8tZ3B1LmNmZz46DQogICAgICAgICAgICAgIGRldmljZV9t
b2RlbF9hcmdzX2h2bT0gWyItZGlzcGxheSIsICJzZGwsZ2w9b24iLCAiLWRldmljZSIsICJ2aXJ0
aW8tdmdhLWdsLGNvbnRleHRfaW5pdD10cnVlLGJsb2I9dHJ1ZSxob3N0bWVtPTRHIl0NCg0KDQoy
LiAgICBBZnRlciB0aGUgZG9tVSBpcyBzdGFydGVkIHdpdGggdGhlIHhsIGNvbW1hbmQsIHFlbXUg
YW5kIHhlbiBoeXBlcnZpc29yIHdpbGwgcmVwb3J0IHRoZSBmb2xsb3dpbmcgZXJyb3JzOg0KICAg
ICAgICAgeGVuIGh5cGVydmlzb3IgcmVwb3J0IDwgeGxfZG1lc2dfdXBzdHJlYW0tZm9yLXhlbi12
Mi50eHQ+Og0KICAgICAgICAgICAgICAoWEVOKSBkMHY4IE92ZXItYWxsb2NhdGlvbiBmb3IgZDE6
IDEwNDg4MzMgPiAxMDQ4ODMyDQooWEVOKSBjb21tb24vbWVtb3J5LmM6Mjc3OmQwdjggQ291bGQg
bm90IGFsbG9jYXRlIG9yZGVyPTAgZXh0ZW50OiBpZD0xIG1lbWZsYWdzPTB4YzAgKDE5MiBvZiAy
MDQ4KQ0KICAgICAgICAgICAgICBxZW11IHJlcG9ydCAgaW4gbG9nIGZpbGUgPCBxZW11LWRtLXVi
dW50dVVfYi5odm0ubG9nPjoNCiAgICAgICAgICAgICAgcWVtdS1zeXN0ZW0taTM4NjogLWRldmlj
ZSB2aXJ0aW8tdmdhLWdsLGNvbnRleHRfaW5pdD10cnVlLGJsb2I9dHJ1ZSxob3N0bWVtPTRHOiB4
ZW46IGZhaWxlZCB0byBwb3B1bGF0ZSByYW0gYXQgMTEwMDgwMDAwDQoNCg0KMy4gICAgSSB0cmll
ZCB0byBzdGFydCBwdmggZG9tMCBidXQgaXQgZGlkbid0IHdvcmssIGl0IGxvb2tzIHRoZSBzYW1l
IHJlZ2FyZGxlc3Mgb2Ygd2hldGhlciBJJ20gdXNpbmcgdXBzdHJlYW0tZm9yLXhlbi12MiBvciB1
cHN0cmVhbS1mb3IteGVuIGJyYW5jaCBsaW51eCCjug0KDQpMb2dzIGluIGF0dGFjaG1lbnQ6PCBz
ZXJpYWxfeGVuX2h5cGVydmlzb3ItbGludXgtdXBzdHJlYW0tZm9yLXhlbi12Mi50eHQ+DQoNCg0K
DQoNCiAgICAgICBTbyBJIGhhdmUgc29tZSBxdWVzdGlvbnMgZm9yIHlvdSA6DQoNCjEuICAgICBE
b2VzIERvbSAwIG5lZWQgdG8gYmUgY29uZmlndXJlZCB3aXRoIFBWSCBmb3IgVmlydElPLUdQVT8N
Cg0KMi4gICAgIFdoYXQgbWF5IGNhdXNlIHRoZSBhYm92ZSBpc3N1ZXM/DQoNCldlIGxvb2sgZm9y
d2FyZCB0byBoZWFyaW5nIGZyb20geW91IQ0KDQpUaGFua3MgJiBCZXN0IHJlZ2FyZHMhDQoNCg0K
DQoNCg0KDQoNCjVhY1hqelVrDQo=

--_000_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_
Content-Type: text/html; charset="gb2312"
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=3Dgb2312">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:=CB=CE=CC=E5;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"Cordia New";
	panose-1:2 11 3 4 2 2 2 2 2 4;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:=B5=C8=CF=DF;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"\@=B5=C8=CF=DF";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"\@=CB=CE=CC=E5";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:=CE=A2=C8=ED=D1=C5=BA=DA;
	panose-1:2 11 5 3 2 2 4 2 2 4;}
@font-face
	{font-family:"Century Gothic";
	panose-1:2 11 5 2 2 2 2 2 2 4;}
@font-face
	{font-family:"\@=CE=A2=C8=ED=D1=C5=BA=DA";}
@font-face
	{font-family:"Arial Narrow";
	panose-1:2 11 6 6 2 2 2 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:=B5=C8=CF=DF;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
	{mso-style-priority:34;
	margin:0cm;
	text-align:justify;
	text-justify:inter-ideograph;
	text-indent:21.0pt;
	font-size:10.5pt;
	font-family:=B5=C8=CF=DF;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:=B5=C8=CF=DF;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
/* Page Definitions */
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.WordSection1
	{page:WordSection1;}
/* List Definitions */
@list l0
	{mso-list-id:377825090;
	mso-list-type:hybrid;
	mso-list-template-ids:2068761800 1071791900 67698713 67698715 67698703 676=
98713 67698715 67698703 67698713 67698715;}
@list l0:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:39.0pt;
	text-indent:-18.0pt;}
@list l0:level2
	{mso-level-number-format:alpha-lower;
	mso-level-text:"%2\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:63.0pt;
	text-indent:-21.0pt;}
@list l0:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	margin-left:84.0pt;
	text-indent:-21.0pt;}
@list l0:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:105.0pt;
	text-indent:-21.0pt;}
@list l0:level5
	{mso-level-number-format:alpha-lower;
	mso-level-text:"%5\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:126.0pt;
	text-indent:-21.0pt;}
@list l0:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	margin-left:147.0pt;
	text-indent:-21.0pt;}
@list l0:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:168.0pt;
	text-indent:-21.0pt;}
@list l0:level8
	{mso-level-number-format:alpha-lower;
	mso-level-text:"%8\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:189.0pt;
	text-indent:-21.0pt;}
@list l0:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	margin-left:210.0pt;
	text-indent:-21.0pt;}
@list l1
	{mso-list-id:917907350;
	mso-list-type:hybrid;
	mso-list-template-ids:1646170976 -1499554382 67698713 67698715 67698703 67=
698713 67698715 67698703 67698713 67698715;}
@list l1:level1
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:39.0pt;
	text-indent:-18.0pt;}
@list l1:level2
	{mso-level-number-format:alpha-lower;
	mso-level-text:"%2\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:63.0pt;
	text-indent:-21.0pt;}
@list l1:level3
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	margin-left:84.0pt;
	text-indent:-21.0pt;}
@list l1:level4
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:105.0pt;
	text-indent:-21.0pt;}
@list l1:level5
	{mso-level-number-format:alpha-lower;
	mso-level-text:"%5\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:126.0pt;
	text-indent:-21.0pt;}
@list l1:level6
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	margin-left:147.0pt;
	text-indent:-21.0pt;}
@list l1:level7
	{mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:168.0pt;
	text-indent:-21.0pt;}
@list l1:level8
	{mso-level-number-format:alpha-lower;
	mso-level-text:"%8\)";
	mso-level-tab-stop:none;
	mso-level-number-position:left;
	margin-left:189.0pt;
	text-indent:-21.0pt;}
@list l1:level9
	{mso-level-number-format:roman-lower;
	mso-level-tab-stop:none;
	mso-level-number-position:right;
	margin-left:210.0pt;
	text-indent:-21.0pt;}
ol
	{margin-bottom:0cm;}
ul
	{margin-bottom:0cm;}
--></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"ZH-CN" link=3D"#0563C1" vlink=3D"#954F72" style=3D"word-wrap:=
break-word;text-justify-trim:punctuation">
<p style=3D"font-family:Calibri;font-size:8pt;color:#808080;margin:5pt;font=
-style:normal;font-weight:normal;text-decoration:none;" align=3D"Right">
INTERNAL &amp; PARTNERS<br>
</p>
<br>
<div>
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:12.0pt">H=
i</span></b><b><span style=3D"font-size:12.0pt">=A3=AC<span lang=3D"EN-US">=
Xen-devel</span>=A3=BA<span lang=3D"EN-US"><o:p></o:p></span></span></b></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:12.0pt">&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; We are trying to implement the igpu sharin=
g function for domU on the AMD (v2000 series) development board environment=
, and the software architecture is xen + ubuntu 22.04 (dom0) + Ubuntu
 22.04 (Dom U).</span><span lang=3D"EN-US"> </span><span lang=3D"EN-US" sty=
le=3D"font-size:12.0pt">We found that AMD engineers like Mr. Huang
<a id=3D"OWAAM9EF3F52EDE5F458496DAA04A8BA7981A" href=3D"mailto:ray.huang@am=
d.com"><span style=3D"font-family:=B5=C8=CF=DF;text-decoration:none">@ray.h=
uang@amd.com</span></a> have posted information about virtio-gpu &nbsp;for =
Xen virtualization to the open source community and uploaded
 the relevant code.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:12.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; </span><span lang=3D"EN-US" style=3D"font-size:12.0pt">And We refer t=
o the relevant information linked below to deploy on my AMD hardware platfo=
rm:<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"margin-left:21.0pt;text-indent:21.0pt"><spa=
n lang=3D"EN-US"><a href=3D"https://lore.kernel.org/dri-devel/2023031212015=
7.452859-1-ray.huang@amd.com/">[RFC PATCH 0/5] Add Xen PVH dom0 support for=
 GPU - Huang Rui (kernel.org)</a><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:12.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:12.0pt">&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; However, when we deploy virtio-GPU related=
 software, we encounter the following issues:<o:p></o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"margin-left:39.0pt;text-indent:-18.0=
pt;mso-list:l1 level1 lfo1">
<![if !supportLists]><span lang=3D"EN-US" style=3D"font-size:12.0pt"><span =
style=3D"mso-list:Ignore">1.<span style=3D"font:7.0pt &quot;Times New Roman=
&quot;">&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang=3D"EN-US" style=3D"font-size:12.0=
pt">My code of xen /qemu /Virglrenderer checkout to the upstream-for-xen or=
 upstream-for-xen-v2 branch, the xl configuration file is set as follows, s=
ee&lt;</span><span lang=3D"EN-US">
</span><span lang=3D"EN-US" style=3D"font-size:12.0pt">ubuntuhvm_virtIO-gpu=
.cfg&gt;:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span><span lang=3D"EN-US" styl=
e=3D"font-size:11.0pt;color:red">device_model_args_hvm=3D [&quot;-display&q=
uot;, &quot;sdl,gl=3Don&quot;, &quot;-device&quot;, &quot;<b>virtio-vga-gl,=
context_init=3Dtrue,blob=3Dtrue,hostmem=3D4G</b>&quot;]<o:p></o:p></span></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;color=
:red"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"margin-left:39.0pt;text-indent:-18.0=
pt;mso-list:l1 level1 lfo1">
<![if !supportLists]><span lang=3D"EN-US" style=3D"font-size:12.0pt"><span =
style=3D"mso-list:Ignore">2.<span style=3D"font:7.0pt &quot;Times New Roman=
&quot;">&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang=3D"EN-US" style=3D"font-size:12.0=
pt">After the domU is started with the xl command, qemu and xen hypervisor =
will report the following errors:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:12.0pt">&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xen hypervisor report &lt;</sp=
an><span lang=3D"EN-US">
</span><span lang=3D"EN-US" style=3D"font-size:12.0pt">xl_dmesg_upstream-fo=
r-xen-v2.txt&gt;:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;color=
:red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp; (XEN) d0v8 Over-allocation for d1: 1048833 &gt; 1048832<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal" style=3D"margin-left:21.0pt;text-indent:21.0pt"><spa=
n lang=3D"EN-US" style=3D"font-size:11.0pt;color:red">(XEN) common/memory.c=
:277:d0v8 Could not allocate order=3D0 extent: id=3D1 memflags=3D0xc0 (192 =
of 2048)<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;color=
:red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt">qemu report &nbsp;in=
 log file &lt;</span><span lang=3D"EN-US">
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt">qemu-dm-ubuntuU_b.hv=
m.log&gt;:<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <span=
 style=3D"color:red">
qemu-system-i386: -device virtio-vga-gl,context_init=3Dtrue,blob=3Dtrue,hos=
tmem=3D4G: xen: failed to populate ram at 110080000<o:p></o:p></span></span=
></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;color=
:red"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"margin-left:39.0pt;text-indent:-18.0=
pt;mso-list:l1 level1 lfo1">
<![if !supportLists]><span lang=3D"EN-US" style=3D"font-size:12.0pt"><span =
style=3D"mso-list:Ignore">3.<span style=3D"font:7.0pt &quot;Times New Roman=
&quot;">&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang=3D"EN-US" style=3D"font-size:12.0=
pt">I tried to start pvh dom0 but it didn't work, it looks the same regardl=
ess of whether I'm using upstream-for-xen-v2 or upstream-for-xen branch lin=
ux
</span><span style=3D"font-size:12.0pt">=A3=BA<span lang=3D"EN-US"><o:p></o=
:p></span></span></p>
<p class=3D"MsoListParagraph" style=3D"margin-left:39.0pt;text-indent:0cm">=
<span lang=3D"EN-US" style=3D"font-size:11.0pt;color:red">Logs in attachmen=
t:&lt;</span><span lang=3D"EN-US">
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt;color:red">serial_xen=
_hypervisor-linux-upstream-for-xen-v2.txt&gt;<o:p></o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"margin-left:39.0pt;text-indent:0cm">=
<span lang=3D"EN-US" style=3D"font-size:11.0pt;color:red"><o:p>&nbsp;</o:p>=
</span></p>
<p class=3D"MsoListParagraph" style=3D"margin-left:39.0pt;text-indent:0cm">=
<span lang=3D"EN-US" style=3D"font-size:11.0pt;color:red"><o:p>&nbsp;</o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt;color=
:red">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=3D"EN-US" style=3D"font-size:11.0pt">So I have some quest=
ions for you :<o:p></o:p></span></p>
<p class=3D"MsoListParagraph" style=3D"margin-left:39.0pt;text-indent:-18.0=
pt;mso-list:l0 level1 lfo2">
<![if !supportLists]><span lang=3D"EN-US" style=3D"font-size:11.0pt"><span =
style=3D"mso-list:Ignore">1.<span style=3D"font:7.0pt &quot;Times New Roman=
&quot;">&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang=3D"EN-US" style=3D"font-size:11.0=
pt">Does Dom 0 need to be configured with PVH for VirtIO-GPU?<o:p></o:p></s=
pan></p>
<p class=3D"MsoListParagraph" style=3D"margin-left:39.0pt;text-indent:-18.0=
pt;mso-list:l0 level1 lfo2">
<![if !supportLists]><span lang=3D"EN-US" style=3D"font-size:11.0pt"><span =
style=3D"mso-list:Ignore">2.<span style=3D"font:7.0pt &quot;Times New Roman=
&quot;">&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span lang=3D"EN-US" style=3D"font-size:11.0=
pt">What may cause the above issues?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt">We l=
ook forward to hearing from you!<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:11.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:&quot;=CE=
=A2=C8=ED=D1=C5=BA=DA&quot;,sans-serif;color:black">Thanks &amp; Best regar=
ds!<o:p></o:p></span></p>
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-family:&quot;C=
entury Gothic&quot;,sans-serif;color:black"><o:p>&nbsp;</o:p></span></b></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:&quot;Aria=
l Narrow&quot;,sans-serif;color:#1F497D"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:9.0pt;fon=
t-family:&quot;Century Gothic&quot;,sans-serif;color:black"><o:p>&nbsp;</o:=
p></span></b></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
</div>
<br>
<p style=3D"font-family:Calibri;font-size:2pt;color:#FFFFFF;margin:5pt;font=
-style:normal;font-weight:normal;text-decoration:none;" align=3D"Right">
5acXjzUk<br>
</p>
</body>
</html>

--_000_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_--

--_007_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_
Content-Type: application/x-zip-compressed;
	name="serial_xen_hypervisor-linux-upstream-for-xen-v2-txt.zip"
Content-Description: serial_xen_hypervisor-linux-upstream-for-xen-v2-txt.zip
Content-Disposition: attachment;
	filename="serial_xen_hypervisor-linux-upstream-for-xen-v2-txt.zip";
	size=6539; creation-date="Mon, 20 Nov 2023 11:06:51 GMT";
	modification-date="Mon, 20 Nov 2023 11:33:24 GMT"
Content-Transfer-Encoding: base64

UEsDBBQAAgAIAIyUdFf9Cb6uwxgAALR9AAAzAAAAc2VyaWFsX3hlbl9oeXBlcnZpc29yLWxpbnV4
LXVwc3RyZWFtLWZvci14ZW4tdjIudHh0rFxrbxu5kv1+gfkPBO6HtXEtu98PLbJYPW1hLFsjKZ5g
k4GWTbLtRiS1prvl2INgf/sW+yGRshKrZlczsUU26/Cwqlh8SC7DMIy28WI48odxCT/aZHo/bhPj
hXuGQaLXQuSEFlBmoWfHhhn88g+yWJDy3/61KP+vfutP1CbqmwXgfCFfrsiVFFhUeN/Jd/ifkCvy
/QzqzpvmTQNoCs/L9+WbhZSQtQAGaOTqChp+If8mf9RgZZOquhQu/5MNrsryYgG//7uualpKtKsS
UD6uhUqCi5Lf2eJclmVlg/hlIXv4Lp9Vrc/LagkAaFeLqy+LL5J9LSTHuvgOOIvvsvpKVsCbi6aB
rINyXXUJpe9Vy++//OOXf5x9Gtydk09iTZ5FlifpmjiXZtDarvOCRktBzrI0Lf7znJw9MkbOPkbb
dbElpnnpXBotc1sWzf+xrEvDOa+rzwkX0fbxwysZA9pd+kwsg5hu2w3bZkh6szmULbvp+ZaCVxSk
90TXj2ImijYZZgnpbB+JQ8ygbdptyykFyL+MALzoMSnatu2zkHvMjhuUaJsseSvhbWK5zOdh4HGL
OyJ2IjuirhU7ZuwFfmAx4dghFIOwkezC8JYp5SJrk+vpxy6BoXgtqx6Zc+k0DXvpakXXnCyTtWiT
zZIy8ZQuQY7wdGUsVmL1wXKuL1b0pW1b1ySB5tsPJlmmj8vn5Qe6XJLHLYx0oVSwdGV+sAPHMC6C
tQnFdZ4uxQeotkrQD5vnJ7JOW5mgy9Yq5YIIzj+kcayaLVnRR0HkEEhEc0Eo55nIczntmC8M+Wqa
PyRcpCRZx2m2ogXYut08IQ/XHZLk5DGjm6eE5aTszXI948V0HOOC2BaJNpt98+7gqt/vkZUonlIO
na3Ttfh3MuiP+qTI6DqPQS9FsgJNGSQXMDKeN8L9JGfHSQzTLSjYIOPulOTJ45oWWxjKwWMLeumr
8iQvsi3TmvYmH8mDWPMUjNoZ9y/IkK6S5SsBLzqDEfnnF+CbXCxJ6MkKz4CKWSE2m2T9SEzwefqN
GEbgGRCkzhvQwXBEpp0xWdHNnvJn4+B1QZRCGMPrD3K2zeVcOj8qRd9IxbUUDEhkz4IflTMPewuj
WLzXG7SJD6TiU3qjb8ZGzfjdsVHrjZRl1Bw7vcmI3D3MfiCns6TMZu/1Bm24cSjFjXfHJluZB3KO
7bzbm2O7b6TcE3pzbE+TY8zi7J3eZBt+IOVYwbu9yVbhoZzvKRbgtKDHBX3/QNBvOvyJ6WSrww7j
xi1/SjQ+cEzG43cdjIlDt2TxKe4cv5mqsX+SHH8jd0p/5mFogAphvTM62cY+kHIN84e9SaPAdmvW
n5BezzNtw3SkIKydZ5lFOred2a+dg8afZv152dgC08rGXdnYrBvDJqJDxmQEv03Dh5kcQiStSpKM
fQA2hF8A5nj9irJpSjDvPbAS7g1Yv2LmeE4JFgz66jCOgI3u5rewSTAtIzzGbFYOs1GmY+gNZk1v
w7KBb5le2ZvsZ9wnnRWflzuh+mWR8Ww4J8SpzHLQ2+hhOivBBrUeOhX1Eoq8ATPr+up1CDYc1czs
mnrY0y3UKOIUpY57w+sSzKrB7HfAqmEeB7uZDCpmTei0g9OYyZd7/gMD1BayrAqMkJ12ZvO+vdfZ
z8z9MOyVYG41zL4X/MCrG7CyD9t0DWfo+D9g5lSuYXUDQ2X2c2uaB2C9aacCq12j2wn+D2D9UQVW
zzfDCv8+2G6Yvdpp7XfAfmaAHVhQgtlGL/j7YL/PxhVYsxpZwSkx6rjTdiajXgnWrMD9AYDZfw9s
N8xmG+D3/x90VgU8wzX9vw82nNRgTdRw/lZcn73mhVjJHW+beE7ouOMuOfM8mCemaX3t7trdpeTu
47gjTy9x8rjNqj15LPfqTZMh/So31hROCXCqkDcAB6/W4aK3OyukK5qsyZOgG9jyJ0VCl0kudsCz
cXd0PyP2pUU2cklcF5fNo4+57LI0Oc+SZ3lMEzHdLgtdWZNxaw7HlIyM7skkzQp5bAoMcDJ54EmK
/EC3zy6Z3Q4GEzDA8L4tx1xk6fKz0Tb+uIBzCBxY8rJwYF5FZLMyXxZsXXw224HhXJilZFkpnqtK
o6zUEWzrynM+VWtZfcAjqySHAxB7AsXAA7B5izBWLXNXb08l21IftqXjqq9v9KvYbhbPgn2ucRhQ
g+IiT/4Sn61DTrcpo8tKww0l4yUW+pHzHjSfJfzQFt+S4gn0+5ivNgfr533Z7Czhn40Xg//RQH+W
0KyE/oM85slCnnU/G3/s7FMJQk2b0E3CFgknpn2xu9Sw4b3KktVquZ6NiNHaX0ccYyEOWZg6C8t5
Q8NUaTg/o2HuaFhOy3UPeNzNF7Npb3H/MCVn0RZkCPxcJNmf8O5xmUZ0WRYswuOl/Hd+snyoyodk
mX4jS/Es3iBMfzPAdwQn0StJK2OKyzdtrBPahO+1KTcV8g4HjuhyEwDxrbzSaJeq4ppfTXrNlkaP
O0a7ugVp9vgkF48riAtlyJGDF6AEA6aKH7+FopmgMjzthJtttpxiA+CjiVQRphSM0+xNR/Cmte+k
Dkfy6HQ2hsl6XsrMxpMD/sq9xj7ITWDtWoKFytsJT95u5OTMIU9psVluH8vy3gGnv5FlsoLQ1Sau
Jx0L9i2wrsB2bnQF/1qfmpb/JdawpsDgoHHyWHXfquMEe0rYV3ieFMqVCujWhAWKXF5eEhmmyfjm
r+bxiwx+YCkZKqS9bNgpyduysrq8jLIMX8eSK9uQrkz/iawodLgW0K1gX0HrG4jEkoZYy2VvH+43
gm2XwPRZqKRjypIlFKGf3TGK3NCMfwODEgCWuhh1p7PFsDObV+9mnfFgMb7vD45IxKK6eJJCk27Z
Hjag8B7W6W5/L9BLV5sE6LXAO/LtZlMuH6O7/mg66M0X85uPd7+S2U2nf//7YtK5Ht1d70XlxV0u
CjlI6KY7H7XmT9v1VzIdzCf3t6O7wQWZTQa9RW8+va24tyoK/yo5tC7IffEkryy7085d72Zx05n2
B3d7/FlFp3Sym4cxeRhDN+PZdLFDLUsPo+lcqZrOuuWQW+DH2etxtMlDBXas3afJHNzbc1rgN7Jh
ul6+nrflIm4QnpQHXX4hix93RXIml4J0W8g51d8fg6X4rTkfkvyJ8tLzf46jz7McHIlvl1JBcor1
MsGB0aypBQ97tsgZK6ut/dSpNxh/SYhKxtpD7ajJq9YFbDdYIkP6In9KYrC7/DBDbQCUgXfz1N6F
DgL7IpGVTSD60jUTiyIFePkOpsmumYyRP2rV2i1XJNuu/9yKrfxgJcvkFbqMQTANU5i+u7lLGGyf
hIwsrHwur3nXMJGypHgF5sZqd3FaXiMXGWXlhq0aA6wL60dYrmG7aPuOGVgOWe8EJjAdZcQqL3sz
eYVsOpe2GUBoKOP5biMnCsEKsLcVhtDA82TwgE1bymApTLPdSjDMZESCRTH42gVVlStGdzYjK7FK
964mr2KrGv029timEl52HMekeN2IDxaE9yL7cLA7it8COCpAIHYA/okAQawChALNINQB4h2AcxqA
qemAsQjLgDGmAFT3XBgdmAdbexM7BNgDKAD19TaGQX3b3dJuuisA4yQAqg2hvvLGMKhvwFva7XcF
YBqnIuzHYNEoYDg7ShG+A3AZjSzcGKSIvQOQ96TKGE4BKK9WdwDNVT6CQXOz39Ju9RF2bK74W9r1
PopBddvf0m76UQyqa/8KgPno2cQC1RVZYAuK8wMpEikArhliGbgmVQD80MH5gRRxFQBqxNghUFPV
ARUulgEVihWCiFGsDiKmKjFSPPHEIUSKJ7KAKUHRPg2AWaoOmGVhh8AsWwNwsUNglqpEZpu4uC5F
LA0APwRbG4IboBm4oQbA0VZwxR6AcsdGMgARRwEQEUUyABHFE2lsYq0AIpYK4FtYBrFvawAumoHv
qQCBh2YQ+CoAR1sh5o4GEKEZcKYCCDwDoTEQaD+IheYHMd4PYsUPIsPE+gGI2BoA1g9AxFMBLB/N
wAo0AI5mYAkNIEYzsA0VAB0TQUSzgiPQDJxYA4jRDFxtCK6LZuBqZvTwOvA0HXgUzcCLVADfRjPw
HQ0Az8DXGUR4BkwDYHgGXAUI8FYINCsE+NkYaLMxCPEMqAoQemgGoa8B+GgGoTYEircC1awQ4WNi
pE2mCG+FSBtChLdCpFkhws+FSJsLET4qR1pUjvAxMVJjoqMsbScycLSlzTHRfuCYXAPgeAaqDhzL
RDOw1OnsOOi5UH2QvwNwbTQD19EA8AxcjYFnoBl4pgaAXheqbyLtAVw8A08DCPAMQg0A74me5ome
wDPQJpMfoRloS5sTotdGJ9QAWIBmwDQlMoZmwDQlcgfNgCtXIJFre1gGrq0uba6DjgeuY2kADpqB
ow3BcfEMPA0gwDMINYAQz4BqAAzPQPUD18UzcDUGLkUzcCMNIMIzUCeT6+E90dM80UOfmVxfPXC4
Pnp1dtULCCgFeAaaIzH0Ls1lmitz9A7F5bEGgD61lfdQewCB9wOh+YHgeAbqDsWN8fEg1pQYo/cH
bqzuDzwDbQXPUK3gmejZ6JnqbPQs9B2Kp17KQgnPwNIYuOiVyXPVsO556JjoaRsMCA5oBr6pAaBP
rp5vaQB4P/A1PwjQ8cALPA0AfXL11BtNWcIz0OZCiI4HnrbJghKaQaj5QYi3QqhZIUTHRI+qMdGj
eAZUYxAZaAaR5soRPh5EWjyIHDwDbTpHeD+IND+I8H4QaX4QcTwDoQEIPAPdjOgdisc0R2J4P2Ca
HzATz0ALaczCM9AcieOjMteGwPFRmWtD4Pi5wPUh4OeCdujyuI9noAVVjl+dubY6c/xc4NpcEHhP
FJoZBfr+wBPadBb42Si02Rij75G82NEA8KuzttH0YrwVYs0KMV4Hsa4DdETy1W+BQAk9G33D0gA8
PANfA/DxDAINIMQzoBoAxTOINAC8FUzNChZeB9oHlr6NPrn6dqgBoG/3fVtToh3hGaj7A99Br0y+
Y2sA6Hjgq1+hkCU8A1cDwM8FR5sLDt4K2kWUj//U19c+9fVd9Lrgu6YGgNeBq+kAf7vva7f7voeP
B56mRA8fD7SPjX383bqvHX19D31i8bWrMD/A60D7yBRKaAaBpoOA4xmoa6Mf4j0x1DwxRO+V/VBb
2kJ8RAq1iBQ6eAZaQAkDPAMtrFP0Xtmn6hAiitZBpAMwNIOI6QDoXVqk3alG+E95Iu1THvVLnicz
iDSACM+AaQAMz0ANKBFHz4VIO3RFHG8FrlmBe3gGvgbg4xkEGgDeD7jmBzzEM6AaAN4PuOYHnOMZ
qEE1EuiIFAlXA8D7gdD8QOD9QGh+IPB+IDQ/EHg/EKofMPynfUz7tA9KWAbMUc3IXPT3D5j2FQqG
36UxdZdWZxzCMKgTEDUAVfIhxB9ANJmIdgD+fgjhiQC+OgRfYWCeSMHXKMTe3o5eBRC8AxB7QgVQ
zv/uiQDq+b8MyjgzlEF5D+BFHvKr8yCiaJH7EfZjXxDRANDXeSBiqwDoSxS5kigAAfrjPhBRAWIX
zSB2NQAPuzyDiKUC+A6age9qAGgdxL42BPRWFURCDQDPINQYRHgdRJoOogDNINKGgN6mgQhXATje
D7jmBwI9G2N1deUx8kJxl5msZahZyXB/6ap82GbUfyeKWRiEoYa0GP1HmrGhAsTan9aZ5tuwDMPk
BwhcQxAcj1AnPWntSz9FkCBvEfbH3zjGjmKfOacypYVVpFn9BcMOoMk1dxoFuixIlS5WygQWNxzD
CW0eBqT1H2odNYTYp6AZ91sPicy2Mh5/JIOXQqy54GTYpF9o2rXIRGTJ5klkdEkmMtvpTGTPCRNk
Kv6UOVX3DV8smX5lX777RJQcFi0yWj/TZcJpIWRGjSan6/75tYQjOgZ0XubkWEOHvXS7LkSW75/e
pFKgTukyl6lPl1VWilmdCcN6g/7jxodNe1ObTNO0IFX6p1uZoKVMj7JvOKYvyWq7IpPObNQvM6Xs
n83GIzJMlkAYNPWY5IVMiKBJH2lRjfGgXUXnIcmKbZPzRyZQzQ+a9eXTyWRKbtPHg7GXjwbPMvvA
24cfc+j3SuaZkIbNZZoJaeZJlsqsAUouFMARpeUrhcyqnCtVGlmZdUSxWsWiTEAUy+w2A5otX8nv
NFsn60e9XWdbpDLnCgMl5Jt0nQtFv1WagQ6TiQrAGNsyMYlMbdKrkj9pZusuU/aVzIp0M6bZVxDO
cxjIcV+63xTJKvmL6uMbz0akRzc0kilNXsl4PLqvOz+0xujq/qiGBusnic/Lod0A06U24A5M5CTa
wgwYptk3mvGjs2N0P7/tkjlM/v3jh3Gj9uPeWuuomxTk46ZE6VfZOQ4nfL9J/nHTmSh5HGSuj6zK
O1E8VVHheKgwYIwlwC5thNTFc+WdgF1OqYPcMdJ1ZP4Qmdi4DXZe0pf9w5Gc1Nl2U5BMAJHNkdwz
62xRJdUAn995bkljl9uqgiaTp9c8YXR5SepsJFZJTzbZ2XBw1+neju6uYUCtUnY0/W2f6BhiZiW5
Ft9Ip/drnWa5eX55OR+NB9O2zM1VpBDXX4ZGmW3KhEgP3E35l7xQtD60TFmWv3eKXIKHUpmIo842
TUqNpzExrYD8mnR3Kl19o0nRSvgSxsRTkZM1xKFsuyZlxp0mnfKqTqPcSN08jNtEhqK8UeAOcCYf
1alkoH/Knys3jQ/jvYzb4E/Sg2UUKH0uJ2d3k/m50uSWgst1ZUaUJzAnSzNOzm670/MmStV+oIG+
FK3paEJmVOZ0gnH882E8+DSaK20exr0u6S0FXUs/zlXvgT646OQ5REm1vgmKD+Pb+07/6mE86zwM
jjy/Hg2V2gnd5qJV+h0T4HdVEH63AZk/gaZk3nGl6XzWI1M53cazqVKtp/t5PqqV0lxgmENvL+t3
CZGqQVf2kN5yBvNWZnmvUrroMjCjN9JqMhEUTBXna/eCWGP4Yf5ve9f3mzYShP+VlfrQNGqI17v+
AW/QpLnomhyCa/tQocgYk1g1xsI24v77m5kNYLtmF7X0pJN4iCIxnz+Px7vembX1zd3g19KFwWpZ
Pr8UrMxgrJLo1W5kKY0edK2mbBNmJZyX1MBhYVFSPlcQv2UJMT2r/vy86g+kMKQSlpXwLC6WO38q
V/IxXsH8RATMs639PQtgsVoHRWVFqnDxdq4KwjYihBEhjQjHiHCNCM+I8I2IrhHBLTPkQFQXJLb2
lC0TSGEeagJs+BserjSd8iLAB/buOT4q05REtopyCutliGP2H5ZHyRw7OeSdzl7MKd7AZH3z+YZE
rSe93dQmGRnUJf3W/GVSfwIIP/AFb/DdDQ/wOT/wOcfwjcen9W9wKv+germ43URhuU+l3qFm1mvK
pyZTVNFKtdhLkEMqpUoC3/fZsJpYXF5esgF2ylBqrMMvf6iD4PctBB3vWaKHDVx6tORv86FBfwTu
42b8e4b/xITFKl+E8ZLH1VVFkcjDJJ4i8bz5USSilcRRJM78OBLZSiIVidSRqLxRpamByp9U24mg
2CctkH/AXIHH4R4By5/bMPO6WTTMdt3sNMyibpYNs9Sf29GTu3qzVzd7DbOvP3dXa+aNqNkNM9de
N7f15EIbcy715I7eNVdP7unNjajZvG3InfuNWOd+I+d+I/9Bv5FI6MNCGPlDlxLHM13e/7RRieUK
wbtCP1oII61D7U3SEzU4+dofPd4/3vUoa4mh8ElZtIGqLqYNwEQ1rKKNI1I/xn2FMqU0KcCNtEa1
R3rXr8/XNSpgF9u6GmV5VZM6vCaqZfP9Fka4KqdTTB9Qp5S6QcUpm0Lh9LyqCt6Pi1kHdx8TtWHb
T5KtRe2UtZowOxvDBYF3cZqVBabtN389WOwC9+DZWyzjr4K35GpEuXmOkBwumkTg4ZB3dRlV17a+
D0g3f6efOlxSjfdnf/xp9Kr1PLoZ9R9v4N/f4w+V5H1mrSF5K7MQO5WpnSY2FxUr11ptrVVorVJr
dbRWV2v1tFZfa+3qo2EIliZaww/3KArPZmprW+WsFmXPZohtgnAzCz+GxeiubT6R3eEmiG9m8Y0s
XBpZUKbYBDH7wo/wxTdGFyBH+CLNEMcMcc0QTwvh5oFp1yAnLCnPJCcnab2BouUGnq6cP5PoYi/N
84sg3Ayxf9deypnklCSHb6A46T7WmeQ3kRy+gdIMccwQ1wzZrdnBKny53vju9ct6cZ2rv07YgzLO
6lGaCon+w3iE3YGpCHN8VqbxIkvoHRG+zftGrQg7UnpC2BMWLGZPz1m8xHfw95YlKEtg0WoFOezV
7f3jl/4nau8D0ZlFG2ZREF/bf22pHO5b/kS1v7nFI3v4lQkUW4hVrx7ZOImibFAWBb67p+9ELrDt
swXl5XW03syjdVpccR/bdexopd/lE7aJ0qdFGCX4WcnHADuyYF30DHUcvvlLy8W08sVONWatN1yo
Gy6OHDXtJF4Y0tM/nJlI+OElJFCeBNhsSk9iHybpKpJuO8m/UEsBAhQAFAACAAgAjJR0V/0Jvq7D
GAAAtH0AADMAAAAAAAAAAQAgAAAAAAAAAHNlcmlhbF94ZW5faHlwZXJ2aXNvci1saW51eC11cHN0
cmVhbS1mb3IteGVuLXYyLnR4dFBLBQYAAAAAAQABAGEAAAAUGQAAAAA=

--_007_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_
Content-Type: application/x-zip-compressed;
	name="qemu-dm-ubuntuU_b.hvm-log.zip"
Content-Description: qemu-dm-ubuntuU_b.hvm-log.zip
Content-Disposition: attachment; filename="qemu-dm-ubuntuU_b.hvm-log.zip";
	size=255; creation-date="Mon, 20 Nov 2023 11:07:17 GMT";
	modification-date="Mon, 20 Nov 2023 11:33:25 GMT"
Content-Transfer-Encoding: base64

UEsDBBQAAgAIALqYdFfYwuZeawAAAHkAAAAZAAAAcWVtdS1kbS11YnVudHVVX2IuaHZtLmxvZyXG
UQqDMAwA0P+dIgcwUJmIFPzeMUbUzAXaxrVpcbffwPf1Phwrlm8xjij3afSAGzdZGZpkE8W2E+6h
WzUZn/aUJDZbrtwtQZdrby0WOc7Dw8PJycOLJPAGpnDoUQMZQ6YIZND3zk3u7/YDUEsBAhQAFAAC
AAgAuph0V9jC5l5rAAAAeQAAABkAAAAAAAAAAQAgAAAAAAAAAHFlbXUtZG0tdWJ1bnR1VV9iLmh2
bS5sb2dQSwUGAAAAAAEAAQBHAAAAogAAAAAA

--_007_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_
Content-Type: application/x-zip-compressed;
	name="xl_dmesg_upstream-for-xen-v2-txt.zip"
Content-Description: xl_dmesg_upstream-for-xen-v2-txt.zip
Content-Disposition: attachment;
	filename="xl_dmesg_upstream-for-xen-v2-txt.zip"; size=4559;
	creation-date="Mon, 20 Nov 2023 11:07:42 GMT";
	modification-date="Mon, 20 Nov 2023 11:33:25 GMT"
Content-Transfer-Encoding: base64

UEsDBBQAAgAIALqYdFePcneJLREAAGxbAAAgAAAAeGxfZG1lc2dfdXBzdHJlYW0tZm9yLXhlbi12
Mi50eHStXGtv20iy/b6/ou/sh00GI4fvh4AEkGU51o5layXZO4PFQmiymzZhStSSlOMM7o+/1aQo
dcl05No7xmASsev0qa5XVzetGAb8uI7hwR89o/4Jo0QmScKq7xv52We8qorPBv5J/vLht9HNR8b2
iETDJ/VPgzfeg+fNHzs8NzX8u/i5hfCWcdDfNN45wWEBfmh4NAUA4R8U8AGrKfAevKLb43lsxzR+
QAhDxwuD5ACFMDW8YztEfsd2Ed4l8jv2IQBjPyEGQBzoARQHtuR7vPUuvC0jDe+aIZHfNbmG90OH
5H+FcDU8NxKi/tzU18+lS+TnUrN/EMWcuP4o1u0XafH3Pv0jLf7iIDYP67ffhY8tff2xZRH1jy0b
4V2i/rGl2y+2zT3eeR/ethCerL+N9HcDKr8bIryg2t+VBzwXjk3jB4Sj4WXEafyA0OKPJybR/oCw
dLxvEfkT30Z4l8rvezo+8Kj8ga/jBdX+iXAQPqLyi1jHSzK/RPyS6v9EIv8nZP8nmv8jwyT6HxA2
whP9DwhPx1s+ld8KEF5Q+S2J8AmV3zZ0PLX+AQLZ35FUfidB+ITK7yL9XZfK7yL/eeT1e2j9Hqfy
e5GO920qv+8gPJnfx/wRmT9G+JjML3R8QLZ/gOwfkPMvQPkXhGR+ruNDj8of+gjvU/lDpD8n258j
+0fk+heh/InI9o+Q/hHZ/hGyf0SO/wjFf0SuvxGqvxG5/kV6/XO0/et9/A7avxyT6n/HFAgvyPz6
+h3LpPJbev46DjX+HUePH8e1qfyug/BkfhfxewaV3zMRnlr/HQ/p77lkfg/hAzJ/iPDk+PNQ/HmS
zI/yx4+o/Gj/ckLq/ueECB8HVP4Y2S+Oqfwxsp9wqPxCu7+IXNsj8ru2vn+5DjX/XcdCeIfK7yD9
HZfM7yF8QOYPET4k83OEj8n8uv9dl8zvIn6XU/ndCOEjMr+eP65Hjj8PxZ9HPf+4vn5+cH3q/uvq
9wfwKSDzo/iJqf2XG6P4FdT+wxUJwlPPX/X10QEvyf6XyP9SkPn1/sNNyPmfIPsl1P3fTfT93zOo
9vcM3f6eSc0/z9Tzz7Oo9x+efn8Kn8j8FuJ3qfuP5+r12/Oo9c9D/QMUAyq/byI89fzp+RbCk/3v
I/8H1Pz3Ag/hqedPT79/VJ/I/Cj+Q2r+e6h/gk9U/hD5PyTbP0T2D6n1z+N6/fM4mZ8j/sig8kco
fiNy/kco/yOHzI/yNyL7P0L+j8j+j5D/I0HmlwgvyfzYf9T+w4tR/MRk/8fI/7FJ5kf1K7bI/Ch+
BLn+CqS/INdfgfQX5PgXWH9y/KPzkyd8Mj+qn4K8/wq0/wpy/AsU/5IcfxL5T1LP/55E+SvJ+SdR
/iXU+x8vcRCevP+i/tFLyPZPkP0T8voTvH5q/fH137+AT9T88w0L4T0yv4/wPpk/QPiQzM8RnpP5
I4Qn299E9rfI60fvD32bev707RDhqffvvo3sZ0dkfn3/9x3q/uM7NsJT89/Xf39BfSLzuwhPjn8H
xb9Dtj+6P/LJ71999P7Vd6n133dNhCev30XrJ9+/++j+3ffI+e8h+3nk/Efvb33y/bePzq++Rz1/
+Oj+yg/I60fvL+ETlT9A6w8EmV/f//yQHH8hir+Q2v/6Idq/QnL9CVH9CR0yP6ofYUDmR/WbU/tf
n+v6R5y6/gjjYyp/FGM8tf+K0P1nRH7/EqH3L/rvT76XP0L4iMwfI3xM5tfrRySo8R+h81MkyPYX
yP7CI/P7CO+T+QOEJ/tfIP+LkMzPEZ7sf4H8LwSZX6+fkaTWn0i6CE/2v0T+l2T/S+R/Sfa/RP6X
ZP9L3f8x+f1bjN6/wScif+zo/otd6vv/GP3+Qkzuv2K9/4otQVw/ILT1x44VkL4/oBChjvcP+ofv
w/u6/r7Gb75PAR8pkHgHB3oNPvgxPvGkjtcO8O778PoBvi6/JAfU5feA9yKP9gvogNAMKPyI+AIW
EAhPvYADhK3jqRcgasPQ8AH1BRwgdHziUvkTF+E94gYMCEvH+w6V33cRnrr+xEf6UxtQQIQIT+YP
EX9EXn+E1h8FVP4I6U9twAAhdLwg+18g/0tq/iX6BioS2gWg2T7tNR+kRf0G3+47gL39MO0bhLE0
9PqVUL+BmBg6PkFfQDPN1wUY1ijwBAJNIAV5AinRBNIwfjiBmuPVBIczbJIQl6C8Zms+tIg2NJtv
AOzxrmG+XwGeVaziUSaZggSWMBzDCW0RBqz3RX/GDSmtHWgwuejdp302vp1M7tjopZJrIQW7lLza
FrLs78R6bCqLdPMoC56xKX+QbC6L5zSWbCb/s5VltZd7sQbT8XD/8eY3FqWH0fH6mWep4JVkgyxj
w3y14muxH/6qpmJoAuBN8gKkgGuYb9eVLMr94FWuxIUATUu2KPi6zHiV5ms2T/+QfWa8WMdTvy17
JDmc2WyW5xVb1Ca9ls8yUzOae7kJf0lX2xWbDubjCzWU7IfmkzG7TDPQFezzkJbwF4ztEGhWh8Ua
Ve7TotqC3ZVd2CQX4BYkdaEGp9MZu84f8KLrkdGzXFevx+5K4PzE5tuN8mSZF41fp0VeyVgZ5jCL
rD3dGGIuH1YwX206NaF98FSjAbt9Bpdl+Tc24kX2nf2TF+t0/YDEBtsqX8EUMay+3OTrUh6sKld5
8Z0N4lj5aZZvKwAzCBKwz7oq8kx31XmWx09sXuWbCS+eAFuWsIbO2LndVOkq/YOjlU3mYzbkGx6l
WVp9Z5PJ+HbHfOSC8afbLsuM1o9qclEv6gqUzPSVDiBZ02gLsX6ZF994IbrSYHy7uD5nC8jv/ej9
pLV1Z2TuTHOeVuxuU89xkZZK/iild08FuxpM2aox64pvWPnIC2XTb2n12OR9Zy0wYHU1/mw3rGzw
3IQizFynjmwk2goGoZKvDLaCEO2DZzP+sh8bq8QttpuKFRKU2CgFMHpdLEvwpqwgutsorTVQonXo
N/Oy6eP3Mo15dsYghtWgVaumRFq3jW4G59fjm6+wlF4NHc/+Ue61/LLDreU3Nhj+CrapHvNWjbOz
xXgymvXZM/g6h2r9cgl1e5PGJtRvUNtU32WFj9bnnqk+qz9b+2UQjuAPwWII6RwcWNs5T5hpBezX
9Ly15OobT6teKjJYjshlydZQZ4rtmoFJE75KIWssu15uxkJvB7q6n/SZKjVla7h2urkagTze5IUi
5+K5CcrkqIircgwBpMJVZXodYyX7cDNdfDxIXHMIsXMoj/EjuDDOC8E+XJ/PPrZVaOd6fcqXqjcb
T9mcP8PUsIS/3k9Gv40XB5H7yfCcDTPJ1ypqSy1cgEDIQVlCBdQetwXvfnJ9O7j4dD+ZD+5Hr4e/
ji8PD6d8W8peHWaxhDBrquupcbZ4BAM95pkWw4v5kM1UWk3ms8NT+LCcT0fD5XAxuz7KA91D4Iyj
wK4fX0H6QwmAba9ebOMDFR0fIDs/MiFVaTmCQNpulKNKKAOQFM7T+S/MmsD/zK/n/589/7zItw+P
FdtuIDDZcHrXmn4eP0qxrRPuASJgm0GhqL73WbzZAqmSZLBZsFKJ9cBu+RZsuU/wtErBIn8o9LCQ
Iq2sRnKbHfyQ5VwsN4WM0xLstiwf0wS2PDNA49/Stci/tYN2W//YFlqTopaIeKZCfFlBkqlQ1aok
y5/fFuq1u5XKNuhboJ4yXsDgg1SbWp81FagViqFayjVsIXE9jI1iGqvWboqOVQWPn5q6qtRnmVw/
QIE1Dd/2HTOwHLZu5aELUYJgVqiyVb5X5rCIy7SANFQCkE/t8C+Mw/bzzKvDJqPNZHbOpAlYpwTs
UwLOKQH3lIB3SsA/JRCcEghPCZjGSYluW64gmuOn5SbPoAmZ8PgxXUtWP2PqmUJDj6ESpOKqErf1
ebZdqw4IHm8j2P5iFaHfWSmzpIJyXJ6dtYKX6Qvk5F/vLv6lWvt/9/cJXP9jKIbjsH8dP/k3znM7
4IFt4um+Tt+Yzn01nfuO6ebzP1W78z9JOzhofBi9yHh76Ic+ss2+ZWtSpy1WdZvyyEvoh5oePggC
NtWahJ9//pmdb9OsDgnOpvcNBB63Hcb1ZZ9tHgX09RsOhwroE3bnd9VqlX+oz4nBQ268DbCPAE79
z5/8QL4R2Mvbzgnx+jr7oE8YWUeApiusTxM7XcDAoEhzitYloUOB+vn1bjRfLG/n7DP7CeJ9+/LT
WzL3o9l8fHujBK0zr0MMPutCL3Lds8+MDsH78WyxPB/MRyAGZ6zdT3sGfi0/vhkvllNrUosfjsqv
BUc3i9nveFJlMjPukL36fTqaDQfX18vp4OuRJmb9rx50gC5Hg8XdbFRb63++wa6hgnKptvRl/dfy
fzccPj+ItFjyCKrC0nmIOiwwv5tOb2eL0cVSmxHWFuwvLzTh6WC0nNxeKB1/+i7LjulUTzWaqfEH
uYZTfdwlYy4nl+CgwfX4QpF1KQXd0M3Fcji4GY6ua4U6tAFNlvPFADw4vbx5S+jqfidzffvPvWn1
S46uVV5czJa3l5fz0aJbv+nV73PbWh6crCKcm0iSN7cBWocMP6q1g96hlGz384OwUz9Qxpd1yi3z
JCllVcsbxxPuxt4zYS3/VO8hHfLmG/ISTshdCuNc3stDOwN7UIc8TgH1s7FWyB7dicV+k2vGnmSx
VvckntOL0uoXlpVRO14X0I7xX5qC9eMapLw5hvxjk9HkFhw6mM0GN19HE3BvHxFwdQY7g1NieyXa
3ikavS/7Jzvl2QfPUl/Z9uo2u1R7fiSbGdQpbn8oUq3tGSv4SqTlU5/tL95C2fx7VV/2T6SZJJ5o
T2yqct39WOdr6BzhLNCa5djLvS9v+VEdgnuqB1FH+lang1NaneCJjd00r+Mqha5WGYkdz3/E6ET7
1rw+MzZ1q38ENI+BVqwxnqtbNAjn+OmYsRbDQKEBF7eLwXV/H3bHKaMBXbzGJulViRjN55pVcWy/
agLgMHSvnYb2WypTF7cdOdgE6v6p1b3fM/MIbXei7e7dn1nH6F0TcIyu/fcKbb9CNz0BRuPY2p3k
mLrC210bQcn4D6vaozJTlayeVzUgTfLs7yLiYhtFqmu6LKRks8EEYo1F4PwHOHXur3rnlThTl4VZ
c606yLLdQHPF1TWiWrI5bFegWbrebCuVrhe3E8hidTnO/qbO5T3+t1pNWTfidUaX39IKsqSGtBmt
VBPMs4yncxhIq90y2zN1ET9+egm8T5vnT3K1zXqbIn3u5ZuzuG8apt0XxrPBZheT+QwsABFsmoZl
wOE0XW2y+py4P8YLo6+u/uL6VAj7v2RqvubqDP6DHbZk9UuTXv2ypK11w7HamZhorl3VeL/+78w4
KWGdkDBPzmG+Yw77hIR1ksU6M09IBCfnCE7NYTqn5gCJE2sxT+phntYjOGVTkDith3NSwj0p4Z2U
8H8kYZ6MQuukhH1SwnmfhHlSwjopYZ+UcE5KuCclvJMSfkfFKCQXvXydfYeza33jD9UMSgZL1Ld0
/ttaZVhh1Fmr/puZ+J80k2mbnTN1lXzVZtIr/tX9hAkTeEv+DIcD2OXxgPnGwO7x4YUkejy+HRyP
7CmuXw+Zbw8h1HI2+jr/AfT1eKvmcLwcz/7Rqep88NaQQl2Pb37tXvii6/Fs0WmPq+moU3w6qd+p
dC95spjNuhf7amT3HPrq8cV4cLOE7X8wvnnTxcvftPcGrx3dNWwcU9y/GSo/ENnPMhmOfjRD93CL
XsyHy8HF3+/mi274W+O6BQ6vMDrWjwZNqDdllRfN2P5EDcka1m90e7tzkepdkryAudQVuBMEts2+
7P7W1ts4X63y9aemq4K0t3y/X080zLfQPqq3Xe0pi+WFkMVng0n1qwdVn6Xis6n6sSTjD+VnVSDY
BzO01Fs0C0g+/uX/AFBLAQIUABQAAgAIALqYdFePcneJLREAAGxbAAAgAAAAAAAAAAEAIAAAAAAA
AAB4bF9kbWVzZ191cHN0cmVhbS1mb3IteGVuLXYyLnR4dFBLBQYAAAAAAQABAE4AAABrEQAAAAA=

--_007_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_
Content-Type: application/x-zip-compressed;
	name="ubuntuhvm_virtIO-gpu-cfg.zip"
Content-Description: ubuntuhvm_virtIO-gpu-cfg.zip
Content-Disposition: attachment; filename="ubuntuhvm_virtIO-gpu-cfg.zip";
	size=1037; creation-date="Mon, 20 Nov 2023 11:15:39 GMT";
	modification-date="Mon, 20 Nov 2023 11:33:25 GMT"
Content-Transfer-Encoding: base64

UEsDBBQAAgAIALqYdFfMgdYCewMAAJsGAAAYAAAAdWJ1bnR1aHZtX3ZpcnRJTy1ncHUuY2ZnrVRd
b9s2FH3Xr7iwH5wCkmynabAZ0EPXdGmBpijQxhtQDC5FXUmERVIjKdvpr9+h5ATr1pcCFQRbJO/H
Ofce3jkVP+NJ5vT6JHTfMb3Z3lEzsA8kralVMzgRlDWw+EmZEOlTqzzhFVQL5boH0sooLTriMwhb
07EVIdo4/ntQjiuqrSMRcTwhzOn3uEfaOgba6BkYR6pi8sx06nJZNxcvniWPOR8pMXKbMRDYtewo
tFh/2E5xk/DQMxU0aw96Fn1vx3oYoTmJP/FoKAcThvtdmT8arS9/yUoV6P7+7c0IFoGpslooQyJy
bcGuYjkSNYMu2eVwu/eMaMDcsJlRsIR/BioUwTCp+qkA+UgCIbkWQxeo5FYcFPKA17/dBBk+TihY
yJaCAuKIZeoqrH0QLowBY97I5s/zk33n5/EZSb42okR/7pR01ts60BuUymXbsfwQSqlw2gsHZC4M
olN+VA8t4cumU00b2Gg2wGECu1pI9jl9GpxRpgFKoIO1RDOU7p09MP2hTGWP/tyZOSEdiquFkaBq
qpE9Osh1FIFj4ED4iqtkDgiqUghV0Dpif2tUUKi9ZgjmgUTXWTmhu7j77Vly3i7oavXrNUWHO3FS
etCPDqMVwtQTTryNY1T8rJ4vk9kiwjFjwX0n5J6OquumklMZc6KtAEcXYxDh/aD5zI727AzDeOh7
C/MoorMLqoPcWpyQBBBfrC8jwPejiuJt2b76cP8xOch+8DieDjkcrdtDLweFKmPnJaEfIZovDqr2
PcsFmhKcitfBw9BLp0pcNRWvWWWlX2rl5fLUZWYKln0zE3It3B7NMbHWNfJ+poUWslitNuvrzXPe
rKrN+vlmtU5j4D4UsMpsz+bgjyrINi1dlH1hD750qwX9lTyFiQtguFF+TzffIfClwskPMYgO/4Ef
TiGJ21PKvn3YLDVDMcuvX4/LSgSxVLpZTjd9d2KTY5m2lUiPi3RRQ+n/s59ss8vLfHWVX2bAsw+2
z4Surq9y5S285UZWzurUnSlOs2V7+zIOJ287/nbupsRqnFAfb94R9LB9/yqZ+6obRT0/GImPFSXz
pj7teqgptG4osJFMbd9pW3G3E67xOwyqkeks1qLvxMMspRlCpU1XWBMX2eQUP+P9VTY7NCJruhSQ
Ap/CDmM6FMENnJadLaev1voAVRZXtzMwmpfWhmImZ8k/UEsBAhQAFAACAAgAuph0V8yB1gJ7AwAA
mwYAABgAAAAAAAAAAQAgAAAAAAAAAHVidW50dWh2bV92aXJ0SU8tZ3B1LmNmZ1BLBQYAAAAAAQAB
AEYAAACxAwAAAAA=

--_007_PR0P264MB2423CA7C396A70D21D08274C80B4APR0P264MB2423FRAP_--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:50:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:50:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636665.992344 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52nO-0005Yg-2d; Mon, 20 Nov 2023 11:50:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636665.992344; Mon, 20 Nov 2023 11:50: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 1r52nN-0005YZ-WB; Mon, 20 Nov 2023 11:50:29 +0000
Received: by outflank-mailman (input) for mailman id 636665;
 Mon, 20 Nov 2023 11:50: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52dH-0005BS-NS
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:40:03 +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 8a94e2d8-8799-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 12:40:02 +0100 (CET)
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 C56DB1F88F;
 Mon, 20 Nov 2023 11:40: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 87AE013499;
 Mon, 20 Nov 2023 11:40:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id AMDPH5FFW2VjPgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:40: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: 8a94e2d8-8799-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480401; 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=Rw7Gb45k+0Tw/rqvtRymDJIDNLAU0w1SxzFCo0/jXk0=;
	b=N4fjsFBMmrqOh5LPVFIQnooQ7trltB/VW/g0mSZhPRFaYQnZe5k6aRH3mPHUzRd1ySn8Hp
	wFRqhkMpkYlZive3CAfgqm4U5QXHbopTmMuuNrIbVRsCwwXJAkXChN9FY1T/V+lbAp+TuO
	hZ4wuXMc1d3LNnPX3rla7iZhXwaGGGY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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 v3 13/13] xen/spinlock: support higher number of cpus
Date: Mon, 20 Nov 2023 12:38:42 +0100
Message-Id: <20231120113842.5897-14-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[99.99%]
X-Spam-Flag: NO

Allow 16 bits per cpu number, which is the limit imposed by
spinlock_tickets_t.

This will allow up to 65535 cpus, while increasing only the size of
recursive spinlocks in debug builds from 8 to 12 bytes.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 xen/common/spinlock.c      |  1 +
 xen/include/xen/spinlock.h | 18 +++++++++---------
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 43c876b64a..8faf7864ed 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -481,6 +481,7 @@ int rspin_trylock(rspinlock_t *lock)
 
     /* Don't allow overflow of recurse_cpu field. */
     BUILD_BUG_ON(NR_CPUS > SPINLOCK_NO_CPU);
+    BUILD_BUG_ON(SPINLOCK_CPU_BITS > sizeof(lock->recurse_cpu) * 8);
     BUILD_BUG_ON(SPINLOCK_RECURSE_BITS < 3);
 
     check_lock(&lock->debug, true);
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index e4f2e36e4f..ea88f3ad75 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -7,16 +7,16 @@
 #include <asm/system.h>
 #include <asm/spinlock.h>
 
-#define SPINLOCK_CPU_BITS  12
+#define SPINLOCK_CPU_BITS  16
 
 #ifdef CONFIG_DEBUG_LOCKS
 union lock_debug {
-    uint16_t val;
-#define LOCK_DEBUG_INITVAL 0xffff
+    uint32_t val;
+#define LOCK_DEBUG_INITVAL 0xffffffff
     struct {
-        uint16_t cpu:SPINLOCK_CPU_BITS;
-#define LOCK_DEBUG_PAD_BITS (14 - SPINLOCK_CPU_BITS)
-        uint16_t :LOCK_DEBUG_PAD_BITS;
+        uint32_t cpu:SPINLOCK_CPU_BITS;
+#define LOCK_DEBUG_PAD_BITS (30 - SPINLOCK_CPU_BITS)
+        uint32_t :LOCK_DEBUG_PAD_BITS;
         bool irq_safe:1;
         bool unseen:1;
     };
@@ -210,10 +210,10 @@ typedef struct spinlock {
 
 typedef struct rspinlock {
     spinlock_tickets_t tickets;
-    uint16_t recurse_cpu:SPINLOCK_CPU_BITS;
+    uint16_t recurse_cpu;
 #define SPINLOCK_NO_CPU        ((1u << SPINLOCK_CPU_BITS) - 1)
-#define SPINLOCK_RECURSE_BITS  (16 - SPINLOCK_CPU_BITS)
-    uint16_t recurse_cnt:SPINLOCK_RECURSE_BITS;
+#define SPINLOCK_RECURSE_BITS  8
+    uint8_t recurse_cnt;
 #define SPINLOCK_MAX_RECURSE   ((1u << SPINLOCK_RECURSE_BITS) - 1)
     union lock_debug debug;
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:51:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:51:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636670.992355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52ok-0006Wu-DH; Mon, 20 Nov 2023 11:51:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636670.992355; Mon, 20 Nov 2023 11: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 1r52ok-0006Wn-9n; Mon, 20 Nov 2023 11:51:54 +0000
Received: by outflank-mailman (input) for mailman id 636670;
 Mon, 20 Nov 2023 11:51: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52dB-0004F8-9Z
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:57 +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 87682d39-8799-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 12:39:56 +0100 (CET)
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 2451C1F890;
 Mon, 20 Nov 2023 11:39: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 DB35A13499;
 Mon, 20 Nov 2023 11:39:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Sn0pNItFW2VYPgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 87682d39-8799-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480396; 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=fxQm8VKpt/YypSSTQTE1Vlc9wkxVTjdwWV8PElflCfU=;
	b=vWsYhtpt5Kk27mVQDVwvhwVi2ojVq8FtOX9ik8l663yMUtTBlWtPPG0g1SrMp4qJAeX+Qt
	aWVOUzxMCJBAzCFenGuo9XGVi/3AXvSHfVRXiuR75yYRhsG5PVCFEv3H1j0bVHJIN94u3P
	g04jDeMKKCUEDQ4nduyscxxRE/j4Fzk=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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 v3 12/13] xen/spinlock: remove indirection through macros for spin_*() functions
Date: Mon, 20 Nov 2023 12:38:41 +0100
Message-Id: <20231120113842.5897-13-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

In reality all spin_*() functions are macros which are defined to just
call a related real function.

Remove this macro layer, as it is adding complexity without any gain.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 xen/common/spinlock.c      | 28 +++++++++---------
 xen/include/xen/spinlock.h | 58 +++++++++++++++-----------------------
 2 files changed, 36 insertions(+), 50 deletions(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 0467541f43..43c876b64a 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -332,30 +332,30 @@ static void always_inline spin_lock_common(spinlock_tickets_t *t,
     LOCK_PROFILE_GOT(block);
 }
 
-void _spin_lock(spinlock_t *lock)
+void spin_lock(spinlock_t *lock)
 {
     spin_lock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR, NULL,
                      NULL);
 }
 
-void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data)
+void spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data)
 {
     spin_lock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR, cb, data);
 }
 
-void _spin_lock_irq(spinlock_t *lock)
+void spin_lock_irq(spinlock_t *lock)
 {
     ASSERT(local_irq_is_enabled());
     local_irq_disable();
-    _spin_lock(lock);
+    spin_lock(lock);
 }
 
-unsigned long _spin_lock_irqsave(spinlock_t *lock)
+unsigned long __spin_lock_irqsave(spinlock_t *lock)
 {
     unsigned long flags;
 
     local_irq_save(flags);
-    _spin_lock(lock);
+    spin_lock(lock);
     return flags;
 }
 
@@ -371,20 +371,20 @@ static void always_inline spin_unlock_common(spinlock_tickets_t *t,
     preempt_enable();
 }
 
-void _spin_unlock(spinlock_t *lock)
+void spin_unlock(spinlock_t *lock)
 {
     spin_unlock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
 }
 
-void _spin_unlock_irq(spinlock_t *lock)
+void spin_unlock_irq(spinlock_t *lock)
 {
-    _spin_unlock(lock);
+    spin_unlock(lock);
     local_irq_enable();
 }
 
-void _spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
+void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags)
 {
-    _spin_unlock(lock);
+    spin_unlock(lock);
     local_irq_restore(flags);
 }
 
@@ -393,7 +393,7 @@ static int always_inline spin_is_locked_common(const spinlock_tickets_t *t)
     return t->head != t->tail;
 }
 
-int _spin_is_locked(const spinlock_t *lock)
+int spin_is_locked(const spinlock_t *lock)
 {
     return spin_is_locked_common(&lock->tickets);
 }
@@ -429,7 +429,7 @@ static int always_inline spin_trylock_common(spinlock_tickets_t *t,
     return 1;
 }
 
-int _spin_trylock(spinlock_t *lock)
+int spin_trylock(spinlock_t *lock)
 {
     return spin_trylock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
 }
@@ -453,7 +453,7 @@ static void always_inline spin_barrier_common(spinlock_tickets_t *t,
     smp_mb();
 }
 
-void _spin_barrier(spinlock_t *lock)
+void spin_barrier(spinlock_t *lock)
 {
     spin_barrier_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
 }
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index a2b1bb2df6..e4f2e36e4f 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -224,18 +224,30 @@ typedef struct rspinlock {
 #define spin_lock_init(l) (*(l) = (spinlock_t)SPIN_LOCK_UNLOCKED)
 #define rspin_lock_init(l) (*(l) = (rspinlock_t)RSPIN_LOCK_UNLOCKED)
 
-void _spin_lock(spinlock_t *lock);
-void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data);
-void _spin_lock_irq(spinlock_t *lock);
-unsigned long _spin_lock_irqsave(spinlock_t *lock);
+void spin_lock(spinlock_t *lock);
+void spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data);
+void spin_lock_irq(spinlock_t *lock);
+#define spin_lock_irqsave(l, f)                                 \
+    ({                                                          \
+        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
+        ((f) = __spin_lock_irqsave(l));                         \
+    })
+unsigned long __spin_lock_irqsave(spinlock_t *lock);
 
-void _spin_unlock(spinlock_t *lock);
-void _spin_unlock_irq(spinlock_t *lock);
-void _spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags);
+void spin_unlock(spinlock_t *lock);
+void spin_unlock_irq(spinlock_t *lock);
+void spin_unlock_irqrestore(spinlock_t *lock, unsigned long flags);
 
-int _spin_is_locked(const spinlock_t *lock);
-int _spin_trylock(spinlock_t *lock);
-void _spin_barrier(spinlock_t *lock);
+int spin_is_locked(const spinlock_t *lock);
+int spin_trylock(spinlock_t *lock);
+#define spin_trylock_irqsave(lock, flags)       \
+({                                              \
+    local_irq_save(flags);                      \
+    spin_trylock(lock) ?                        \
+    1 : ({ local_irq_restore(flags); 0; });     \
+})
+/* Ensure a lock is quiescent between two critical operations. */
+void spin_barrier(spinlock_t *lock);
 
 /*
  * rspin_[un]lock(): Use these forms when the lock can (safely!) be
@@ -270,32 +282,6 @@ void nrspin_unlock_irq(rspinlock_t *lock);
 unsigned long __nrspin_lock_irqsave(rspinlock_t *lock);
 void nrspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags);
 
-#define spin_lock(l)                  _spin_lock(l)
-#define spin_lock_cb(l, c, d)         _spin_lock_cb(l, c, d)
-#define spin_lock_irq(l)              _spin_lock_irq(l)
-#define spin_lock_irqsave(l, f)                                 \
-    ({                                                          \
-        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
-        ((f) = _spin_lock_irqsave(l));                          \
-    })
-
-#define spin_unlock(l)                _spin_unlock(l)
-#define spin_unlock_irq(l)            _spin_unlock_irq(l)
-#define spin_unlock_irqrestore(l, f)  _spin_unlock_irqrestore(l, f)
-
-#define spin_is_locked(l)             _spin_is_locked(l)
-#define spin_trylock(l)               _spin_trylock(l)
-
-#define spin_trylock_irqsave(lock, flags)       \
-({                                              \
-    local_irq_save(flags);                      \
-    spin_trylock(lock) ?                        \
-    1 : ({ local_irq_restore(flags); 0; });     \
-})
-
 #define spin_lock_kick(l)             arch_lock_signal_wmb()
 
-/* Ensure a lock is quiescent between two critical operations. */
-#define spin_barrier(l)               _spin_barrier(l)
-
 #endif /* __SPINLOCK_H__ */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 11:52:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 11:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636671.992365 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52ot-0006vk-Jr; Mon, 20 Nov 2023 11:52:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636671.992365; Mon, 20 Nov 2023 11:52: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 1r52ot-0006vb-Gt; Mon, 20 Nov 2023 11:52:03 +0000
Received: by outflank-mailman (input) for mailman id 636671;
 Mon, 20 Nov 2023 11:52: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=WPLm=HB=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r52d6-0005BS-Km
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 11:39:52 +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 83da69b1-8799-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 12:39:50 +0100 (CET)
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 87AB22190B;
 Mon, 20 Nov 2023 11:39: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 3A6A213499;
 Mon, 20 Nov 2023 11:39:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id skrLDIZFW2VQPgAAMHmgww
 (envelope-from <jgross@suse.com>); Mon, 20 Nov 2023 11:39: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: 83da69b1-8799-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700480390; 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=Q/EYfxk8Qg0QVlYL7ei3uVdlG67nL3oHtwpOh/6nVK4=;
	b=uUUb19ylb0VAXIkKN8njGIYCENNkVJLyLwL11/88tC1y/gbcui7uRghhUmC/MRdeTiU0Ef
	4Wid+Ph+vCMXMMYZQGFZDD9o4/tx5civOpNDOEIyiHxEtxlzGL0zEsIhprAsQX+oFELAtb
	6rpU5IF379Ougi8nYweHuyo06bxe8Zc=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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 v3 11/13] xen/spinlock: split recursive spinlocks from normal ones
Date: Mon, 20 Nov 2023 12:38:40 +0100
Message-Id: <20231120113842.5897-12-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231120113842.5897-1-jgross@suse.com>
References: <20231120113842.5897-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

Recursive and normal spinlocks are sharing the same data structure for
representation of the lock. This has two major disadvantages:

- it is not clear from the definition of a lock, whether it is intended
  to be used recursive or not, while a mixture of both usage variants
  needs to be

- in production builds (builds without CONFIG_DEBUG_LOCKS) the needed
  data size of an ordinary spinlock is 8 bytes instead of 4, due to the
  additional recursion data needed (associated with that the rwlock
  data is using 12 instead of only 8 bytes)

Fix that by introducing a struct spinlock_recursive for recursive
spinlocks only, and switch recursive spinlock functions to require
pointers to this new struct.

This allows to check the correct usage at build time.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- use shorter names (Jan Beulich)
- don't embed spinlock_t in rspinlock_t (Jan Beulich)
---
 xen/common/spinlock.c      | 49 ++++++++++++++++++++++++++++++++
 xen/include/xen/spinlock.h | 58 +++++++++++++++++++++++++-------------
 2 files changed, 88 insertions(+), 19 deletions(-)

diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
index 8bb6691b14..0467541f43 100644
--- a/xen/common/spinlock.c
+++ b/xen/common/spinlock.c
@@ -541,6 +541,55 @@ void rspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags)
     local_irq_restore(flags);
 }
 
+int nrspin_trylock(rspinlock_t *lock)
+{
+    check_lock(&lock->debug, true);
+
+    if ( unlikely(lock->recurse_cpu != SPINLOCK_NO_CPU) )
+        return 0;
+
+    return spin_trylock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
+}
+
+void nrspin_lock(rspinlock_t *lock)
+{
+    spin_lock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR, NULL,
+                     NULL);
+}
+
+void nrspin_unlock(rspinlock_t *lock)
+{
+    spin_unlock_common(&lock->tickets, &lock->debug, LOCK_PROFILE_PAR);
+}
+
+void nrspin_lock_irq(rspinlock_t *lock)
+{
+    ASSERT(local_irq_is_enabled());
+    local_irq_disable();
+    nrspin_lock(lock);
+}
+
+void nrspin_unlock_irq(rspinlock_t *lock)
+{
+    nrspin_unlock(lock);
+    local_irq_enable();
+}
+
+unsigned long __nrspin_lock_irqsave(rspinlock_t *lock)
+{
+    unsigned long flags;
+
+    local_irq_save(flags);
+    nrspin_lock(lock);
+    return flags;
+}
+
+void nrspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags)
+{
+    nrspin_unlock(lock);
+    local_irq_restore(flags);
+}
+
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
 
 struct lock_profile_anc {
diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
index fb6ca1949a..a2b1bb2df6 100644
--- a/xen/include/xen/spinlock.h
+++ b/xen/include/xen/spinlock.h
@@ -76,8 +76,6 @@ union lock_debug { };
 */
 
 struct spinlock;
-/* Temporary hack until a dedicated struct rspinlock is existing. */
-#define rspinlock spinlock
 
 struct lock_profile {
     struct lock_profile *next;       /* forward link */
@@ -108,6 +106,10 @@ struct lock_profile_qhead {
     __used_section(".lockprofile.data") =                                     \
     &__lock_profile_data_##name
 #define _SPIN_LOCK_UNLOCKED(x) {                                              \
+    .debug =_LOCK_DEBUG,                                                      \
+    .profile = x,                                                             \
+}
+#define _RSPIN_LOCK_UNLOCKED(x) {                                             \
     .recurse_cpu = SPINLOCK_NO_CPU,                                           \
     .debug =_LOCK_DEBUG,                                                      \
     .profile = x,                                                             \
@@ -117,8 +119,9 @@ struct lock_profile_qhead {
     spinlock_t l = _SPIN_LOCK_UNLOCKED(NULL);                                 \
     static struct lock_profile __lock_profile_data_##l = _LOCK_PROFILE(l);    \
     _LOCK_PROFILE_PTR(l)
+#define RSPIN_LOCK_UNLOCKED _RSPIN_LOCK_UNLOCKED(NULL)
 #define DEFINE_RSPINLOCK(l)                                                   \
-    rspinlock_t l = _SPIN_LOCK_UNLOCKED(NULL);                                \
+    rspinlock_t l = _RSPIN_LOCK_UNLOCKED(NULL);                               \
     static struct lock_profile __lock_profile_data_##l = _RLOCK_PROFILE(l);   \
     _LOCK_PROFILE_PTR(l)
 
@@ -143,8 +146,11 @@ struct lock_profile_qhead {
 
 #define spin_lock_init_prof(s, l)                                             \
     __spin_lock_init_prof(s, l, lock, spinlock_t, 0)
-#define rspin_lock_init_prof(s, l)                                            \
-    __spin_lock_init_prof(s, l, rlock, rspinlock_t, 1)
+#define rspin_lock_init_prof(s, l) do {                                       \
+        __spin_lock_init_prof(s, l, rlock, rspinlock_t, 1);                   \
+        (s)->l.recurse_cpu = SPINLOCK_NO_CPU;                                 \
+        (s)->l.recurse_cnt = 0;                                               \
+    } while (0)
 
 void _lock_profile_register_struct(
     int32_t type, struct lock_profile_qhead *qhead, int32_t idx);
@@ -166,11 +172,15 @@ struct lock_profile_qhead { };
 struct lock_profile { };
 
 #define SPIN_LOCK_UNLOCKED {                                                  \
+    .debug =_LOCK_DEBUG,                                                      \
+}
+#define RSPIN_LOCK_UNLOCKED {                                                 \
+    .debug =_LOCK_DEBUG,                                                      \
     .recurse_cpu = SPINLOCK_NO_CPU,                                           \
     .debug =_LOCK_DEBUG,                                                      \
 }
 #define DEFINE_SPINLOCK(l) spinlock_t l = SPIN_LOCK_UNLOCKED
-#define DEFINE_RSPINLOCK(l) rspinlock_t l = SPIN_LOCK_UNLOCKED
+#define DEFINE_RSPINLOCK(l) rspinlock_t l = RSPIN_LOCK_UNLOCKED
 
 #define spin_lock_init_prof(s, l) spin_lock_init(&((s)->l))
 #define rspin_lock_init_prof(s, l) rspin_lock_init(&((s)->l))
@@ -180,7 +190,6 @@ struct lock_profile { };
 
 #endif
 
-
 typedef union {
     uint32_t head_tail;
     struct {
@@ -192,6 +201,14 @@ typedef union {
 #define SPINLOCK_TICKET_INC { .head_tail = 0x10000, }
 
 typedef struct spinlock {
+    spinlock_tickets_t tickets;
+    union lock_debug debug;
+#ifdef CONFIG_DEBUG_LOCK_PROFILE
+    struct lock_profile *profile;
+#endif
+} spinlock_t;
+
+typedef struct rspinlock {
     spinlock_tickets_t tickets;
     uint16_t recurse_cpu:SPINLOCK_CPU_BITS;
 #define SPINLOCK_NO_CPU        ((1u << SPINLOCK_CPU_BITS) - 1)
@@ -202,12 +219,10 @@ typedef struct spinlock {
 #ifdef CONFIG_DEBUG_LOCK_PROFILE
     struct lock_profile *profile;
 #endif
-} spinlock_t;
-
-typedef spinlock_t rspinlock_t;
+} rspinlock_t;
 
 #define spin_lock_init(l) (*(l) = (spinlock_t)SPIN_LOCK_UNLOCKED)
-#define rspin_lock_init(l) (*(l) = (rspinlock_t)SPIN_LOCK_UNLOCKED)
+#define rspin_lock_init(l) (*(l) = (rspinlock_t)RSPIN_LOCK_UNLOCKED)
 
 void _spin_lock(spinlock_t *lock);
 void _spin_lock_cb(spinlock_t *lock, void (*cb)(void *), void *data);
@@ -242,6 +257,19 @@ void rspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags);
 int rspin_is_locked(const rspinlock_t *lock);
 void rspin_barrier(rspinlock_t *lock);
 
+int nrspin_trylock(rspinlock_t *lock);
+void nrspin_lock(rspinlock_t *lock);
+void nrspin_unlock(rspinlock_t *lock);
+void nrspin_lock_irq(rspinlock_t *lock);
+void nrspin_unlock_irq(rspinlock_t *lock);
+#define nrspin_lock_irqsave(l, f)                               \
+    ({                                                          \
+        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
+        ((f) = __nrspin_lock_irqsave(l));                       \
+    })
+unsigned long __nrspin_lock_irqsave(rspinlock_t *lock);
+void nrspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags);
+
 #define spin_lock(l)                  _spin_lock(l)
 #define spin_lock_cb(l, c, d)         _spin_lock_cb(l, c, d)
 #define spin_lock_irq(l)              _spin_lock_irq(l)
@@ -270,12 +298,4 @@ void rspin_barrier(rspinlock_t *lock);
 /* Ensure a lock is quiescent between two critical operations. */
 #define spin_barrier(l)               _spin_barrier(l)
 
-#define nrspin_trylock(l)    spin_trylock(l)
-#define nrspin_lock(l)       spin_lock(l)
-#define nrspin_unlock(l)     spin_unlock(l)
-#define nrspin_lock_irq(l)   spin_lock_irq(l)
-#define nrspin_unlock_irq(l) spin_unlock_irq(l)
-#define nrspin_lock_irqsave(l, f)      spin_lock_irqsave(l, f)
-#define nrspin_unlock_irqrestore(l, f) spin_unlock_irqrestore(l, f)
-
 #endif /* __SPINLOCK_H__ */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 12:01:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 12:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636681.992374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r52yO-0002R6-Kc; Mon, 20 Nov 2023 12:01:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636681.992374; Mon, 20 Nov 2023 12: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 1r52yO-0002Qz-Hz; Mon, 20 Nov 2023 12:01:52 +0000
Received: by outflank-mailman (input) for mailman id 636681;
 Mon, 20 Nov 2023 12:01: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r52yN-0002Qt-Bs
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 12:01:51 +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 964b1122-879c-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 13:01:50 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-4083f61312eso17199585e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 04:01:50 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 q1-20020a5d61c1000000b00332cb8fd5b7sm693352wrv.67.2023.11.20.04.01.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 04:01:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 964b1122-879c-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700481709; x=1701086509; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=m8V6AfJdcPcxDFtN0eGZ2PlgKo6saqWElPxwXFF+2tQ=;
        b=lZ78NUs5xlA344BnWb014Wd5FtyNnRqhiFHGQBXWIFvVWNqlE1uAuUCph9ct5kwOmc
         5BbUfBqw69wG37OUYX+syDelkQ7Gi7oLHXb5yuEuU2S58ZsAm5uASs+qL03ZTwKpC4Aa
         z/5DlM5OFxP5Cosv8H1Tm1C8U531RUrQLFVWc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700481709; x=1701086509;
        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:subject:date:message-id:reply-to;
        bh=m8V6AfJdcPcxDFtN0eGZ2PlgKo6saqWElPxwXFF+2tQ=;
        b=nkp/ow1ieznYb+wXZWOeo2qb7cMfGy6C4I4P/5E9exttUExMhiHmb5c2cbJX+fAroR
         yMROuuvelF6N7Kts56O6effAVXxXRY9E7gHF56+Q1RJLCxHHof39aiRX/Wfn6FXfMQOL
         siwsRLeJvcpS3aAirGdqgY1quxbLW+4IXGHxaAL3hgQviojtqkkVATeCw0qcw/NNCAHS
         wovnldpHDTD3i1qJbUyMilhUwVE+Y6hRlZOs9sgvbsSR9JAYpvoUCNr0rC3jq3G6+zUV
         hEsbTuaoJBoTNuXDzx/QixhMWiQoEgBCacKb1cL7KErDGOxQQHM5CQqGz0I6sbGntut/
         Ks/Q==
X-Gm-Message-State: AOJu0Yw+d/6ktSbCfNTNgq41NFxd2nYzCqEvHhG9/RF1xdHkIBYcD4PX
	5fMroj4nQCs8xKUlaHEhbNbO5g==
X-Google-Smtp-Source: AGHT+IEk1Mu0Cm3kge8q3rp+/1FukqtmUc+/R89Y7bU4Azt2Lu8JZhyh4DCiWp3vnZyg+hHFIyOkxQ==
X-Received: by 2002:a5d:64c6:0:b0:332:c527:66e8 with SMTP id f6-20020a5d64c6000000b00332c52766e8mr2151394wri.7.1700481709552;
        Mon, 20 Nov 2023 04:01:49 -0800 (PST)
Date: Mon, 20 Nov 2023 13:01:48 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH 1/3] amd-vi: use the same IOMMU page table levels for PV
 and HVM
Message-ID: <ZVtKrKTyGli-Uj9H@macbook.local>
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-2-roger.pau@citrix.com>
 <e90d416e-f4dd-4b2c-9247-0e3aa35c26d9@citrix.com>
 <0392fe23-7589-4dc2-b664-1e7e01c3914d@suse.com>
 <ZVs0fvUQI9C7NRc5@macbook.local>
 <f414730f-307d-4ef6-9aaa-a861925fdab4@suse.com>
 <ZVs52elOtWbTaD0i@macbook.local>
 <a857c016-7cc7-48ed-968a-8a9f2748c8d3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a857c016-7cc7-48ed-968a-8a9f2748c8d3@suse.com>

On Mon, Nov 20, 2023 at 12:34:45PM +0100, Jan Beulich wrote:
> On 20.11.2023 11:50, Roger Pau Monné wrote:
> > On Mon, Nov 20, 2023 at 11:37:43AM +0100, Jan Beulich wrote:
> >> On 20.11.2023 11:27, Roger Pau Monné wrote:
> >>> On Mon, Nov 20, 2023 at 10:45:29AM +0100, Jan Beulich wrote:
> >>>> On 17.11.2023 12:55, Andrew Cooper wrote:
> >>>>> On 17/11/2023 9:47 am, Roger Pau Monne wrote:
> >>>>>>      /*
> >>>>>> -     * Choose the number of levels for the IOMMU page tables.
> >>>>>> -     * - PV needs 3 or 4, depending on whether there is RAM (including hotplug
> >>>>>> -     *   RAM) above the 512G boundary.
> >>>>>> -     * - HVM could in principle use 3 or 4 depending on how much guest
> >>>>>> -     *   physical address space we give it, but this isn't known yet so use 4
> >>>>>> -     *   unilaterally.
> >>>>>> -     * - Unity maps may require an even higher number.
> >>>>>> +     * Choose the number of levels for the IOMMU page tables, taking into
> >>>>>> +     * account unity maps.
> >>>>>>       */
> >>>>>> -    hd->arch.amd.paging_mode = max(amd_iommu_get_paging_mode(
> >>>>>> -            is_hvm_domain(d)
> >>>>>> -            ? 1UL << (DEFAULT_DOMAIN_ADDRESS_WIDTH - PAGE_SHIFT)
> >>>>>> -            : get_upper_mfn_bound() + 1),
> >>>>>> -        amd_iommu_min_paging_mode);
> >>>>>> +    hd->arch.amd.paging_mode = max(pgmode, amd_iommu_min_paging_mode);
> >>>>>
> >>>>> I think these min/max variables can be dropped now we're not doing
> >>>>> variable height IOMMU pagetables, which further simplifies this expression.
> >>>>
> >>>> Did you take unity maps into account? At least $subject and comment looks
> >>>> to not be consistent in this regard: Either unity maps need considering
> >>>> specially (and then we don't uniformly use the same depth), or they don't
> >>>> need mentioning in the comment (anymore).
> >>>
> >>> Unity maps that require an address width > DEFAULT_DOMAIN_ADDRESS_WIDTH
> >>> will currently only work on PV at best, as HVM p2m code is limited to
> >>> 4 level page tables, so even if the IOMMU page tables support a
> >>> greater address width the call to map such regions will trigger an
> >>> error in the p2m code way before attempting to create any IOMMU
> >>> mappings.
> >>>
> >>> We could do:
> >>>
> >>> hd->arch.amd.paging_mode =
> >>>     is_hvm_domain(d) ? pgmode : max(pgmode, amd_iommu_min_paging_mode);
> >>>
> >>> Putting IVMD/RMRR regions that require the usage of 5 level page
> >>> tables would be a very short sighted move by vendors IMO.
> >>>
> >>> And will put us back in a situation where PV vs HVM can get different
> >>> IOMMU page table levels, which is undesirable.  It might be better to
> >>> just assume all domains use DEFAULT_DOMAIN_ADDRESS_WIDTH and hide
> >>> devices that have IVMD/RMRR regions above that limit.
> >>
> >> That's a possible approach, yes. To be honest, I was actually hoping we'd
> >> move in a different direction: Do away with the entirely arbitrary
> >> DEFAULT_DOMAIN_ADDRESS_WIDTH, and use actual system properties instead.
> > 
> > Hm, yes, that might be a sensible approach, but right now I don't want
> > to block this series on such (likely big) piece of work.  I think we
> > should aim for HVM and PV to have the same IOMMU page table levels,
> > and that's currently limited by the p2m code only supporting 4 levels.
> 
> No, I certainly don't mean to introduce a dependency there. Yet what
> you do here goes actively against that possible movement in the other
> direction: What "actual system properties" are differs between PV and
> HVM (host properties vs guest properties), and hence there would
> continue to be a (possible) difference in depth between the two.

Might be.  Overall seems like more complexity for a little win.

The simplest option would be to unconditionally use the maximum page
table levels supported by both the CPU and the IOMMU.

> >> Whether having PV and HVM have uniform depth is indeed desirable is also
> >> not entirely obvious to me. Having looked over patch 3 now, it also
> >> hasn't become clear to me why the change here is actually a (necessary)
> >> prereq.
> > 
> > Oh, it's a prereq because I've found AMD systems that have reserved
> > regions > 512GB, but no RAM past that region.  arch_iommu_hwdom_init()
> > would fail on those systems when patch 3/3 was applied, as then
> > reserved regions past the last RAM address are also mapped in
> > arch_iommu_hwdom_init().
> 
> Hmm, interesting. I can't bring together "would fail" and "are also
> mapped" though, unless the latter was meant to say "are attempted to
> also be mapped", in which case I could at least see room for failure.

Yes, "are attempted to also be mapped", and that attempt fails.  I
would assume that "would fail" was already connected to "also mapped",
but maybe it's not clear enough.

> Yet still this would then feel like an issue with the last patch alone,
> which the change here is merely avoiding (without this being a strict
> prereq). Instead I'd expect us to use 4 levels whenever there are any
> kind of regions (reserved or not) above 512G. Without disallowing use
> of 3 levels on other (smaller) systems.

While reserved regions are the ones that made me realize about this
IOMMU page table difference, what about device MMIO regions?

There's no limitation that avoids MMIO regions from living past the
last RAM address, and possibly above the 512GB mark.

If anything for PV we should limit page table levels based on the
supported paddr bits reported by the CPU, but limiting it based on the
memory map seems plain bogus.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 12:20:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 12:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636690.992385 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r53G2-0000n5-5m; Mon, 20 Nov 2023 12:20:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636690.992385; Mon, 20 Nov 2023 12: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 1r53G2-0000my-12; Mon, 20 Nov 2023 12:20:06 +0000
Received: by outflank-mailman (input) for mailman id 636690;
 Mon, 20 Nov 2023 12:20: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=Dn+W=HB=casper.srs.infradead.org=BATV+a382181226579416d6c1+7393+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r53Fz-0000NQ-Mn
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 12:20:05 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f2ee990-879f-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 13:20:01 +0100 (CET)
Received: from [2001:8b0:10b:5:da9d:e969:c8a2:ee38]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r53Fn-004TxA-Qi; Mon, 20 Nov 2023 12:19: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: 1f2ee990-879f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=1wc7aABWxfght02fxue0bKA9qaNZbrLWEyUN5dIiUnc=; b=WvWmFbSE9NcWYHAPBbRuZl/sZI
	z8oC7QUuq+be/C8MjXEM/qZNH6u/ObR0rHlnwcIig0ybWyEtLnmmwkMl5BlS45JwPuhsJevIhaVD6
	mVwzNMcxRlfuIN6+sDurqyoIsF34mo2DIyMyzJyePFgYSlEABxhTJp/hfgaTeMSJt5Lipg+ljHZG3
	LeKIiiR8h+rGDzTIrt+j6a4AfBXNcozM4I0neC4djphnJETr6AnbD4Li8thxoiq372CdYfdiKrSxN
	KrB6OvEyoT5lqrcjChRYJUOXKfIe46FxwS5lwGPpWfY0AoNdDkPQcq7adDbHuxNIVRngX/x6sqAEH
	BL7PpUSQ==;
Message-ID: <da465baf0ebcfa3c31e5be7e70319b0796ac59da.camel@infradead.org>
Subject: Re: [PATCH] acpi_idle: use raw_safe_halt() from
 acpi_idle_play_dead()
From: David Woodhouse <dwmw2@infradead.org>
To: Peter Zijlstra <peterz@infradead.org>
Cc: linux-acpi <linux-acpi@vger.kernel.org>, linux-kernel
 <linux-kernel@vger.kernel.org>, "Rafael J. Wysocki" <rafael@kernel.org>,
 Len Brown <lenb@kernel.org>, Juergen Gross <jgross@suse.com>, xen-devel
 <xen-devel@lists.xenproject.org>, Ingo Molnar <mingo@redhat.com>, Will
 Deacon <will@kernel.org>, Waiman Long <longman@redhat.com>, Boqun Feng
 <boqun.feng@gmail.com>
Date: Mon, 20 Nov 2023 12:19:51 +0000
In-Reply-To: <20231027191435.GF26550@noisy.programming.kicks-ass.net>
References: <a079bba5a0e47d6534b307553fc3772d26ce911b.camel@infradead.org>
	 <20231027191435.GF26550@noisy.programming.kicks-ass.net>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-9pNWePa5/CdS8Gw0E/Mh"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-9pNWePa5/CdS8Gw0E/Mh
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2023-10-27 at 21:14 +0200, Peter Zijlstra wrote:
> On Fri, Oct 27, 2023 at 07:36:51PM +0100, David Woodhouse wrote:
> > From: David Woodhouse <dwmw@amazon.co.uk>
> >=20
> > Xen HVM guests were observed taking triple-faults when attempting to
> > online a previously offlined vCPU.
> >=20
> > Investigation showed that the fault was coming from a failing call
> > to lockdep_assert_irqs_disabled(), in load_current_idt() which was
> > too early in the CPU bringup to actually catch the exception and
> > report the failure cleanly.
> >=20
> > This was a false positive, caused by acpi_idle_play_dead() setting
> > the per-cpu hardirqs_enabled flag by calling safe_halt(). Switch it
> > to use raw_safe_halt() instead, which doesn't do so.
> >=20
> > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > ---
> > We might {also,instead} explicitly set the hardirqs_enabled flag to
> > zero when bringing up an AP?
>=20
> So I fixed up the idle paths the other day (see all that __cpuidle
> stuff) but I've not yet gone through the whole hotplug thing :/
>=20
> This seems right, at this point everything, including RCU is very much
> gone, any instrumentation is undesired.
>=20
> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>

Ping? Who's taking this?

Needs a Cc:stable@vger.kernel.org now too, to fix 6.6.x.


--=-9pNWePa5/CdS8Gw0E/Mh
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIwMTIxOTUxWjAvBgkqhkiG9w0BCQQxIgQgOCk6OIS7
FebwlSAu1c2d86wYz9oteD5SpZ5MvejqJWowgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCkxBUNUWCuNgc7P48lFk2IwPkZzCVuCUuu
0QKHK97a6naCl46Yjru3ErS8d3v948BGwDeRnJE5p9QJheNPRUXcMNMt6uWtKQbV3cRy/MRagxfw
h6IEj4ZO2UIN6wDyN/zCHpHINGvhDiZD94UbFNkLLCCvY1U+Az0s5cR2EUynQ+eDvKBSvhb57vBz
vhwnPaRUo7uUdpqwcrEfwB4lIUbqr479c1AF2Sy/5Tx/+WsnbAuA9q7FT6SM6SrO3HO5CvNO62kQ
dO/s9s82q7z5dQ2jGuCkMtfi4waDoueozMI+KEslr15glViLW4WTQcv1Vqg4c6yTatiBxdmZl3GA
wevUkFkoBsAo90rHC/etYIK5hdtQM1KUUq4nJEX+NUiVnKIksl3cSx7sqNgEgn2JwubmHttuqJcI
qaQDyEdZHwc1EUVPhf5w9K/PWqVT3DvOOJK8a98vfHabCSE+IfzrYf6yfF9xftV28vWGZ9l6e/Fg
o8w4xMcCBei/1aXnauektxoBsvOWIWrCYlq2VsV89LqfIkId02J3F9hXHTSlwkI5MNj/uVRVCQqA
t0Wk3+oPaA842nR+N2UaMFWyRcbS8jmM5YwzpJQup9C0d2SzVJdnVDsxH0xt60MAx3LJ+f32R2W5
2/8BCQNXBJocLplQgxAcedeSElSx4I9qLYU9IvRNnAAAAAAAAA==


--=-9pNWePa5/CdS8Gw0E/Mh--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 12:28:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 12:28:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636700.992395 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r53OG-0003Pu-VY; Mon, 20 Nov 2023 12:28:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636700.992395; Mon, 20 Nov 2023 12:28: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 1r53OG-0003Pn-RZ; Mon, 20 Nov 2023 12:28:36 +0000
Received: by outflank-mailman (input) for mailman id 636700;
 Mon, 20 Nov 2023 12:28: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=WhrZ=HB=epam.com=prvs=56889b6e60=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r53OG-0003Ph-43
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 12:28:36 +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 5162ed70-87a0-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 13:28:33 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AKBQl9j013014; Mon, 20 Nov 2023 12:28:30 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ug6kb86xt-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 20 Nov 2023 12:28:30 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM9PR03MB7122.eurprd03.prod.outlook.com (2603:10a6:20b:2d7::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 12:28:27 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.026; Mon, 20 Nov 2023
 12:28: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: 5162ed70-87a0-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fCH5lIdc9tq18M1/S5JoRVc5HuCOraYV0KMPSLuRkI2OKDLbyqYtVub2x5y9oUU7PmB1f/QhJkCDZr9JPGW7q9y6laGOULwcj0c9Vg3zX2/TyHvGunlxc+OC/MNA6Srg+Mq6xGnCzGVBR/ye3jS3MOpF7gDTqEVooryZUiSykAY8jOiGJ2nUmj6YBUCJFSMk4pPNC/E43QT8fahxCTK+XUBAp3J5RNPdlEJBd5PzGDaERgdRkJ2NlsGj9btDZeg/+0/9Qap0HrBRLlbO2RBUnEKUNDsYBRJBzaHOCb1Vl8z8PcdTUwRE17LALUwOuZOtVaeqfUYZecdemejvluT+hw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ii45Co+a2TBdTogtICxoVTXYwN9632ob5OCY7lzGfPA=;
 b=MZVtM55YiqNP6LWsHIyRnd4qgaZq89r+qlEOgk8v1QUEjglf8/niwpUJnL8Mm6N1xlozDHxkmeGhMMaeQl6W48XRoAOxE1HHD4nBNtsnGt43sl4mMSHpHkoxoPo357umRJD9AmnG1SP/qCA74AW0Gs7256Ls0Cw8tSU2t79TyOwNA2Xh9drXEGyQOeNh4obzt7H0jl5HT/1kvrwQCngphwghK2LOX1Iz6AL7j+mSwLjb1D4ULGC/DB3t4F8Pr8Ecg0/Q9CzvkXAqDyex8cTPjqCTo86LykNkWVrwo+ebLvmjedtCarV88V0vOqPYZVpVCYCizR87YlGXoN4zWQrWZQ==
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=Ii45Co+a2TBdTogtICxoVTXYwN9632ob5OCY7lzGfPA=;
 b=ZRJpyvOnv61tjDw9xMv8QdNeah3ExHXEBVeV9dZvVaKhQ9fBbHBKzat86Gk5T6wl8TsfB5sPK9JKlks4j8cxnaDGmH+mkBbcXOhJ1LKDG47qIYWTjTNeZsJqRmsPFKS8ZPr90XvWmpvbg1KEWdwu4O+I76WNs8+sT6YfwaBnoGAt5ZAJCl9qJwYwW9rDAoIM7lMU1Xvmmsn0R4vthYpM4zQzEXX2VWEvy7Wb7P7A6Lpk4V6fCDE+dbxf7rfVHHT+09LjVKOrxLdwY03mmCrLYBtsx3casss0EEPqVWdx4d5os7dA63bcRmwusBWqKiudizwt2W8ffsMhQI55xdqeNQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Julien Grall <julien@xen.org>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Wei Liu
	<wl@xen.org>, Juergen Gross <jgross@suse.com>,
        Anthony PERARD
	<anthony.perard@citrix.com>
Subject: Re: [PATCH] xenstored: print domain id in traces
Thread-Topic: [PATCH] xenstored: print domain id in traces
Thread-Index: AQHaGM9oQiwd7S9EmE2h7a1Tz9yy37B+SeoAgATd0gA=
Date: Mon, 20 Nov 2023 12:28:27 +0000
Message-ID: <874jhg38yd.fsf@epam.com>
References: <20231116205613.3796068-1-volodymyr_babchuk@epam.com>
 <16a320e7-3d12-4c9e-9010-ce0fe37c7e33@xen.org>
In-Reply-To: <16a320e7-3d12-4c9e-9010-ce0fe37c7e33@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM9PR03MB7122:EE_
x-ms-office365-filtering-correlation-id: b439e656-f436-4ace-7881-08dbe9c4329e
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 MVAdAZxAtJx9Y/p4RxTVPum/0sprafXOjLpnYW/Xg4EI5/PF7FDSm26yiT9/gT+26qbWnBrmXbIKnVyufv0RNUmConKHw62K2DwndGD+AuqA0CFsWpn4ErZWrVif7DOmnZzX2Mc7CoqiTpb/osRjlboq3fFrg9wH9GzftsjJ+cHCnC7fKr1eAk5zTUrA4nfvnzbfSciNXDGO4FljLYeIM4fA5fxg762+Ume2i/xwoSzSUDaBfZcEfpkuEaX6g2vyoag0L+znwXdtnniXtxdEbpWvozI8YizRYJHxF2GaHUX7EmtqdU8n2Lun7aKyYpiuppE8hQ38gnXbGnietS5PevfuQxEPre//N4JCknDUbn3iad+DzFzq6mmyC7zscWta8pv8nmUp59dFKxP/62uSbxvKh+CUQq7dbpW1B9pCdwGjHqVW3w3nYOMUHWSfwKJf6X789D1TMjIarggheJwKUPcTxcxLoTWTrpi5sCKlXCTecDc1eLZPrfhOfwS32pKy00krsSIq0AksDPE1ucecRGDn3WuwX43cu1qLgbMUAnyeXofTcu4Ic0QeZM6RKJORCLuSISo2DlR5f9DoEIwpeactYrWWBGWxwhHXCA+d6J4=
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:(13230031)(346002)(366004)(396003)(376002)(39860400002)(136003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(66899024)(122000001)(2616005)(55236004)(53546011)(6506007)(41300700001)(6512007)(38070700009)(83380400001)(26005)(36756003)(4326008)(8676002)(8936002)(478600001)(5660300002)(86362001)(966005)(6486002)(76116006)(71200400001)(2906002)(38100700002)(64756008)(66476007)(66556008)(66446008)(91956017)(66946007)(316002)(6916009)(54906003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?q5///TRwKpyGA8A27Y8nCBGB+Z/7Lmtid3fYCKfNXh+Y3eZ4oc4vZivp5I?=
 =?iso-8859-1?Q?eI4myTnoQqrEjGQHUD489dQlFDGwKXwJFfXEPZh/slbJyZ0KWFcEDz1V1+?=
 =?iso-8859-1?Q?uRDBsnX9jzOZCjPrFuyuT2MHP51Q9ghH8BfNge2cXImA18/9nbAtDU/chf?=
 =?iso-8859-1?Q?skOBf1ge5DHLa4NjONlZd4lCt4rt+Vciu66ea3fbs1RfUJzWiLd/ANahLN?=
 =?iso-8859-1?Q?0lKTYob/rRi4YyfbVbtyujaIdLjyHj37beypucP8Iw/vnX92IjjE4ZIZc0?=
 =?iso-8859-1?Q?o/nNOo8KdlmaToo1y4bkJ7Px4NF4gGnOLf3hkAz7cS+Rg8G9cVD4FKDsNO?=
 =?iso-8859-1?Q?lr9NfYLL/UY7uC9s6HeADpyPlvbyDAp52ks1o1zvq5HRTgMZyfE6A4BUdw?=
 =?iso-8859-1?Q?+Sxkc2Opk1s2/abjHc7xES5zXfPBr18g0p4HJsmqRA4U1Rg48xpI7gQysK?=
 =?iso-8859-1?Q?jnhflRpP3kP6ljTbsYKjrqct60bskq6plAWbRl9NsSSuhPHxmgn/zNzhT4?=
 =?iso-8859-1?Q?QXAzK9B9GTTsnrf/scz//OAm/RZ85FLuMyRDcNQ/213Waj8kxnWEJDs55L?=
 =?iso-8859-1?Q?Q4oOk8/GOrhzXYe3mic388HabtYMGdbXRALAsM3brGoPLg6kfDecNrFC2X?=
 =?iso-8859-1?Q?O7yTHi7zy0U9gQSU/KBA9qElAIcyTa7Iwcmw9o+Wqdpd5TguCQMkAUPA7B?=
 =?iso-8859-1?Q?c8soh3+TRomixjWmum/RTcwDDg2X0agtmEZqznsa5Nc8JMRy9ejDhV+3FG?=
 =?iso-8859-1?Q?TqWqipRpQl/ayFerHF60MnxeDa7s6I2GTaglLlMepPGEjgl5ZjwUpB1XlL?=
 =?iso-8859-1?Q?/ntyUP4omlHdjzg6572hga2NT4wvF9yyq2eDSS250gD0e8TNCw3x1ay2JV?=
 =?iso-8859-1?Q?ZFC/X9cBjYwN6Yd1dolyaOpi2+nEEikNuZORE7zoSK3+xABfmgCRLdQ1Rd?=
 =?iso-8859-1?Q?x0ZlydfHZ8a+etQU+c/K4yQZHSTMYVarEBjUxrl7TAT8uckrXTVkRkoN21?=
 =?iso-8859-1?Q?OESEA68CI+cpPRPgS0qrz/qhS33Ljz3vYdyilwj4h5dDOEhyImTO55xkrP?=
 =?iso-8859-1?Q?+TGUXQtHZz9bJIRABCAOXLrgiBVFExescMrjkQ9wyJfaC/rtkrpOcWFdul?=
 =?iso-8859-1?Q?UH0QK2EDT0GuT7yGBIf0u8qmJwSV+dXu3P6s6q4nAmCFjp+4nYAAjfk+qY?=
 =?iso-8859-1?Q?jdr86LTqYLpphMdSzb2WWBEuhXBxIPgu424Mh3kl/pRO4FWf+qxYSAuysD?=
 =?iso-8859-1?Q?nkut51PQBGdiJ35FQ7ZIE3WImju/Ve8OwNmsXG33drHm2mQ0llYf8APrNg?=
 =?iso-8859-1?Q?dfa3IUfX7uGkYVFB47cXywQlSsIw3b6u2bj3L7OToAcY7NMyJvqIL2nHhm?=
 =?iso-8859-1?Q?kGs+mkK0Ikx9n41LFHBLveR5+IhB45+VhGz5qpTK5KuHD1mUt3C43XvhLh?=
 =?iso-8859-1?Q?EnER9IoEzjbMeKZXC9WDwt6B9YYzjHvEJizouBlta6OawZctu7LCB4MJ+s?=
 =?iso-8859-1?Q?3HeIJMeUYYKz8lVTeuRgaD9HJFCpVtafqw9kbhRE8/cunnqAGx6NLGfSka?=
 =?iso-8859-1?Q?ACRmtJ6YFkeeqCbXIAUtaUPABi0BWqqB7/R7mj1PHJcpOSJ5U6vAcZ+8D+?=
 =?iso-8859-1?Q?JzNTzvD7we9ZYxDboRLdl1ZVF+1oczXM6Lrc6Mo8o963NgQrH6NjWoqg?=
 =?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: b439e656-f436-4ace-7881-08dbe9c4329e
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2023 12:28:27.4640
 (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: qTPy27+HIvvjYFMIZcUrxXYRBlFgx97fym1SK3mYfqnMAURSc2Xrxq9w9qDXllu8K/D5XnjUVfjLhV2tSY424hsXC10kfN2cUkHJ1Mu3WyQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR03MB7122
X-Proofpoint-ORIG-GUID: MYhFJVp2biJtT4vy0lj_xYipIXslF16n
X-Proofpoint-GUID: MYhFJVp2biJtT4vy0lj_xYipIXslF16n
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-20_09,2023-11-20_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0
 spamscore=0 mlxscore=0 phishscore=0 suspectscore=0 priorityscore=1501
 malwarescore=0 adultscore=0 clxscore=1015 lowpriorityscore=0
 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311200085


Hi Julien,

Julien Grall <julien@xen.org> writes:

> Hi Volodymyr,
>
> On 16/11/2023 20:56, Volodymyr Babchuk wrote:
>> It is very helpful to see domain id why analyzing xenstored
>> traces. Especially when you are trying to understand which exactly
>> domain performs an action.
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>> ---
>>   tools/xenstored/core.c | 4 ++--
>>   1 file changed, 2 insertions(+), 2 deletions(-)
>> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
>> index edd07711db..311764eb0c 100644
>> --- a/tools/xenstored/core.c
>> +++ b/tools/xenstored/core.c
>> @@ -135,8 +135,8 @@ static void trace_io(const struct connection *conn,
>>   	now =3D time(NULL);
>>   	tm =3D localtime(&now);
>>   -	trace("io: %s %p %04d%02d%02d %02d:%02d:%02d %s (",
>> -	      out ? "OUT" : "IN", conn,
>> +	trace("io: %s %p (d%d) %04d%02d%02d %02d:%02d:%02d %s (",
>
> AFAICT conn->id is an unsigned int. So it should be d%u. This can be
> dealt on commit.
>

Yes, I missed this part. I have noticed that you already committed this
change and even mentioned %u in the commit message. But in the diff [1] I a=
m
seeing %d. Should I sent another another patch that fixes this?

[1] https://xenbits.xen.org/gitweb/?p=3Dxen.git;a=3Dcommitdiff;h=3D97f8555a=
cbf3da013ed713ca0bbe739d41c48da9

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 12:58:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 12:58:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636706.992405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r53qk-0004Rp-B9; Mon, 20 Nov 2023 12:58:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636706.992405; Mon, 20 Nov 2023 12:58: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 1r53qk-0004Ri-7I; Mon, 20 Nov 2023 12:58:02 +0000
Received: by outflank-mailman (input) for mailman id 636706;
 Mon, 20 Nov 2023 12:58: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=AiFF=HB=gmail.com=rjwysocki@srs-se1.protection.inumbo.net>)
 id 1r53qi-0004QK-QJ
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 12:58:00 +0000
Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com
 [209.85.210.48]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6df17729-87a4-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 13:57:59 +0100 (CET)
Received: by mail-ot1-f48.google.com with SMTP id
 46e09a7af769-6d32ce135c4so536477a34.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 04:57:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6df17729-87a4-11ee-98df-6d05b1d4d9a1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700485078; x=1701089878;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=WRmWYnun+H8N6YfHDxRkcl1OdXmrpY1OVWguGUrRMHw=;
        b=WQKqfuWiukl5QP0cXKMBMaQQWUxEYesnWEYNV6fz/9t0qG7hQZU5TYpMN7Ab3JR/ey
         4pf2o4Ke4TWE3kBKKjBHbdfLoGS70avkuNtFKR0V4Bz4nSf45ZyX3syK/P0VK1mLUJiU
         HD86MHAdg9IOrC7dmPp0sSXJdpkXR23QQUQyLf0gE9nfDj4YMFMjVn+Lla6MbprsmCmE
         fFFTzDMa68GfNRTqCY7iXPLMKcWf0m096DJEChdyeYKTpTF+uyVuVBcrYc5Vna6Kb0Wy
         qt4rDevYPiEXBzqV2VeoPqXrc3p7FpHzPg4MHKjwQnPYTSeZP/NLo7uM1ThULd2mMm3K
         AIyw==
X-Gm-Message-State: AOJu0YyKllHz5dm+sEEm2ZSrWCDe4ejtJwgx9HrAJcQrj5yj2QAqOhjR
	gdSpNKQxW9WMpWqxD41hES8Ki+nOmCBQeP3cEV4=
X-Google-Smtp-Source: AGHT+IH4DqzxN5gzKls1477E5UEmNarpobq+egq12hb2R4tSdspyOE8ms35n4o0BxLppvIHPFohx9qyv0KiJRw9tOUQ=
X-Received: by 2002:a4a:e783:0:b0:589:daaf:44a1 with SMTP id
 x3-20020a4ae783000000b00589daaf44a1mr6702974oov.0.1700485077850; Mon, 20 Nov
 2023 04:57:57 -0800 (PST)
MIME-Version: 1.0
References: <a079bba5a0e47d6534b307553fc3772d26ce911b.camel@infradead.org>
 <20231027191435.GF26550@noisy.programming.kicks-ass.net> <da465baf0ebcfa3c31e5be7e70319b0796ac59da.camel@infradead.org>
In-Reply-To: <da465baf0ebcfa3c31e5be7e70319b0796ac59da.camel@infradead.org>
From: "Rafael J. Wysocki" <rafael@kernel.org>
Date: Mon, 20 Nov 2023 13:57:46 +0100
Message-ID: <CAJZ5v0hfkoZM==qobzgzxAvTBDO6yP3w37K=EdHVGFr7WuJTaQ@mail.gmail.com>
Subject: Re: [PATCH] acpi_idle: use raw_safe_halt() from acpi_idle_play_dead()
To: David Woodhouse <dwmw2@infradead.org>
Cc: Peter Zijlstra <peterz@infradead.org>, linux-acpi <linux-acpi@vger.kernel.org>, 
	linux-kernel <linux-kernel@vger.kernel.org>, "Rafael J. Wysocki" <rafael@kernel.org>, 
	Len Brown <lenb@kernel.org>, Juergen Gross <jgross@suse.com>, 
	xen-devel <xen-devel@lists.xenproject.org>, Ingo Molnar <mingo@redhat.com>, 
	Will Deacon <will@kernel.org>, Waiman Long <longman@redhat.com>, Boqun Feng <boqun.feng@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 20, 2023 at 1:20=E2=80=AFPM David Woodhouse <dwmw2@infradead.or=
g> wrote:
>
> On Fri, 2023-10-27 at 21:14 +0200, Peter Zijlstra wrote:
> > On Fri, Oct 27, 2023 at 07:36:51PM +0100, David Woodhouse wrote:
> > > From: David Woodhouse <dwmw@amazon.co.uk>
> > >
> > > Xen HVM guests were observed taking triple-faults when attempting to
> > > online a previously offlined vCPU.
> > >
> > > Investigation showed that the fault was coming from a failing call
> > > to lockdep_assert_irqs_disabled(), in load_current_idt() which was
> > > too early in the CPU bringup to actually catch the exception and
> > > report the failure cleanly.
> > >
> > > This was a false positive, caused by acpi_idle_play_dead() setting
> > > the per-cpu hardirqs_enabled flag by calling safe_halt(). Switch it
> > > to use raw_safe_halt() instead, which doesn't do so.
> > >
> > > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > > ---
> > > We might {also,instead} explicitly set the hardirqs_enabled flag to
> > > zero when bringing up an AP?
> >
> > So I fixed up the idle paths the other day (see all that __cpuidle
> > stuff) but I've not yet gone through the whole hotplug thing :/
> >
> > This seems right, at this point everything, including RCU is very much
> > gone, any instrumentation is undesired.
> >
> > Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
>
> Ping? Who's taking this?

I'm going to apply it.

> Needs a Cc:stable@vger.kernel.org now too, to fix 6.6.x.

Sure.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 13:09:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 13:09:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636711.992415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5420-0007gA-7x; Mon, 20 Nov 2023 13:09:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636711.992415; Mon, 20 Nov 2023 13: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 1r5420-0007g3-4r; Mon, 20 Nov 2023 13:09:40 +0000
Received: by outflank-mailman (input) for mailman id 636711;
 Mon, 20 Nov 2023 13:09: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 1r541y-0007eW-ML; Mon, 20 Nov 2023 13:09: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 1r541y-0006j7-88; Mon, 20 Nov 2023 13:09: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 1r541x-0000w1-Ou; Mon, 20 Nov 2023 13:09:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r541x-0005N6-OT; Mon, 20 Nov 2023 13:09: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=WUKlAj9ldApNySni5bVA1ITIEoTxju18+sHM7gYXcJI=; b=o+f/J+iTqY1fYfZfBrcXEFrlS7
	/PC5oysbUDOxp6hhWvYfVAytRneN+XN2b3GvsftodH+khOXOHfSnc4YAfCtuZz1rWgpTqhQtdSWxY
	EhoJeJMDFjdW9beP5XHWg4RGkVJAbvSNPfeuo2XVqiKxf71OVBPZdmJ+k5HL+P/BBKNU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183796-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183796: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:guest-start/debian.repeat:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=98b1cc82c4affc16f5598d4fa14b1858671b2263
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Nov 2023 13:09:37 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766
 test-armhf-armhf-libvirt-qcow2 17 guest-start/debian.repeat fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                98b1cc82c4affc16f5598d4fa14b1858671b2263
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    4 days
Failing since        183773  2023-11-16 13:12:48 Z    3 days   10 attempts
Testing same since   183796  2023-11-20 02:25:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Simon Glass <sjg@chromium.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 8175 lines long.)


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 13:14:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 13:14:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636717.992424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r546D-0001He-PQ; Mon, 20 Nov 2023 13:14:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636717.992424; Mon, 20 Nov 2023 13:14: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 1r546D-0001HX-Mc; Mon, 20 Nov 2023 13:14:01 +0000
Received: by outflank-mailman (input) for mailman id 636717;
 Mon, 20 Nov 2023 13:13: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=4RyQ=HB=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r546B-0001HR-Tc
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 13:13:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa55013e-87a6-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 14:13:58 +0100 (CET)
Received: from [10.253.41.90] (unknown [160.78.253.159])
 by support.bugseng.com (Postfix) with ESMTPSA id 078794EE0739;
 Mon, 20 Nov 2023 14:13:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa55013e-87a6-11ee-98df-6d05b1d4d9a1
Message-ID: <b481a966-4f29-4b05-8246-d3f1eec19d0c@bugseng.com>
Date: Mon, 20 Nov 2023 14:13:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/5] xen/sort: address violations of MISRA C:2012 Rule
 8.2
Content-Language: en-US, it
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.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.1700209834.git.federico.serafini@bugseng.com>
 <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
 <19d887e6-8c07-43f3-a2de-88ce0a0c99ba@suse.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <19d887e6-8c07-43f3-a2de-88ce0a0c99ba@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 20/11/23 10:02, Jan Beulich wrote:
> On 17.11.2023 09:40, Federico Serafini wrote:
>> --- a/xen/include/xen/sort.h
>> +++ b/xen/include/xen/sort.h
>> @@ -23,8 +23,8 @@
>>   extern gnu_inline
>>   #endif
>>   void sort(void *base, size_t num, size_t size,
>> -          int (*cmp)(const void *, const void *),
>> -          void (*swap)(void *, void *, size_t))
>> +          int (*cmp)(const void *key, const void *elem),
> 
> Why "key" and "elem" here, but ...
> 
>> +          void (*swap)(void *a, void *b, size_t size))
> 
> ... "a" and "b" here? The first example of users of sort() that I'm
> looking at right now (x86/extable.c) is consistent in its naming.
> 

On the Arm side there are {cmp,swap}_memory_node() and
{cmp,swap}_mmio_handler(): "key"/"elem" are used for the comparison
and "_a"/"_b" for the swap.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 13:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 13:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636722.992435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r54Ll-00063n-8Q; Mon, 20 Nov 2023 13:30:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636722.992435; Mon, 20 Nov 2023 13: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 1r54Ll-00063L-5Q; Mon, 20 Nov 2023 13:30:05 +0000
Received: by outflank-mailman (input) for mailman id 636722;
 Mon, 20 Nov 2023 13:30: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=koXp=HB=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r54Lj-0005hA-Hq
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 13:30:03 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8856dab-87a8-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 14:30:02 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 7528D4EE0739;
 Mon, 20 Nov 2023 14:30:01 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e8856dab-87a8-11ee-98df-6d05b1d4d9a1
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] automation/eclair: improve scheduled analyses
Date: Mon, 20 Nov 2023 14:29:14 +0100
Message-Id: <54204ba682f4a5dc6fb8202b593d9562caff6d06.1700486902.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The scheduled analyses are intended to maintain an overall vision
of the MISRA complaince of the entire project. For this reason,
the file exclusions in "out_of_scope.ecl" should not be applied.

This patch amends ECLAIR settings to prevent exempting files for
scheduled analyses and prevents scheduled pipelines from triggering
non-analysis jobs.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
---
 .../eclair_analysis/ECLAIR/action.settings     |  2 +-
 automation/eclair_analysis/ECLAIR/analysis.ecl | 12 ++++++++++--
 automation/gitlab-ci/analyze.yaml              |  2 ++
 automation/gitlab-ci/build.yaml                |  4 ++++
 automation/gitlab-ci/test.yaml                 | 18 ++++++++++++------
 5 files changed, 29 insertions(+), 9 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
index f96368ffc7..3cba1a3afb 100644
--- a/automation/eclair_analysis/ECLAIR/action.settings
+++ b/automation/eclair_analysis/ECLAIR/action.settings
@@ -134,7 +134,7 @@ push)
     badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
     ;;
 auto_pull_request)
-    git remote remove autoPRRemote || true
+    git remote remove autoPRRemote 2>/dev/null || true
     git remote add autoPRRemote "${autoPRRemoteUrl}"
     git fetch -q autoPRRemote
     subDir="${ref}"
diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
index fe418d6da1..2507a8e787 100644
--- a/automation/eclair_analysis/ECLAIR/analysis.ecl
+++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
@@ -2,7 +2,13 @@
 -project_name=getenv("ECLAIR_PROJECT_NAME")
 -project_root=getenv("ECLAIR_PROJECT_ROOT")
 
--setq=data_dir,getenv("ECLAIR_DATA_DIR")
+setq(data_dir,getenv("ECLAIR_DATA_DIR"))
+setq(analysis_kind,getenv("ANALYSIS_KIND"))
+setq(scheduled_analysis,nil)
+
+strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t))
+strings_map("scheduled-analysis",500,"","^.*$",0)
+map_strings("scheduled-analysis",analysis_kind)
 
 -verbose
 
@@ -15,7 +21,9 @@
 
 -eval_file=toolchain.ecl
 -eval_file=public_APIs.ecl
--eval_file=out_of_scope.ecl
+if(scheduled_analysis,
+    eval_file("out_of_scope.ecl")
+)
 -eval_file=deviations.ecl
 -eval_file=call_properties.ecl
 -eval_file=tagging.ecl
diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index bd9a68de31..6631db53fa 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -28,6 +28,8 @@
   extends: .eclair-analysis
   allow_failure: true
   rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"
+      when: never
     - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
       when: manual
     - !reference [.eclair-analysis, rules]
diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 32af30cced..6b2ac97248 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -1,6 +1,10 @@
 .build-tmpl: &build
   stage: build
   image: registry.gitlab.com/xen-project/xen/${CONTAINER}
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"
+      when: never
+    - when: always
   script:
     - ./automation/scripts/build 2>&1 | tee build.log
   artifacts:
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 61e642cce0..47fc8cb3eb 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -1,6 +1,10 @@
 .test-jobs-common:
   stage: test
   image: registry.gitlab.com/xen-project/xen/${CONTAINER}
+  rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"
+      when: never
+    - when: always
 
 .arm64-test-needs: &arm64-test-needs
   - alpine-3.18-arm64-rootfs-export
@@ -90,9 +94,10 @@
       - '*.log'
       - '*.dtb'
     when: always
-  only:
-    variables:
-      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
+  rules:
+    - if: $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
+      when: always
+    - !reference [.test-jobs-common, rules]
   tags:
     - xilinx
 
@@ -110,9 +115,10 @@
       - smoke.serial
       - '*.log'
     when: always
-  only:
-    variables:
-      - $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
+  rules:
+    - if: $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
+      when: always
+    - !reference [.test-jobs-common, rules]
   tags:
     - qubes-hw2
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 13:38:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 13:38:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636727.992445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r54UI-0007Pp-59; Mon, 20 Nov 2023 13:38:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636727.992445; Mon, 20 Nov 2023 13:38: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 1r54UI-0007Pi-0n; Mon, 20 Nov 2023 13:38:54 +0000
Received: by outflank-mailman (input) for mailman id 636727;
 Mon, 20 Nov 2023 13:38: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 1r54UG-0007PY-Q3; Mon, 20 Nov 2023 13:38: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 1r54UG-0007Ds-NR; Mon, 20 Nov 2023 13:38: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 1r54UG-0002Nq-9D; Mon, 20 Nov 2023 13:38:52 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r54UG-0002Ti-8l; Mon, 20 Nov 2023 13:38: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=jzMQgvbF9R/RrteR0pJcfp4HlQaZPhF9RCXsbbU+B9g=; b=YUu8AWiDDzBWkW0mUtsRwpKXWX
	Y3KpK4nwTCiURidpN5xp23+EeHnaQ546q9Box6TxzUOpiU7OJCMzK258e5t98N+vbLppF4xKdRVfW
	saidk8eGgK38t9MeDXyeSAnJZccQGQtz3IbvaFcwkAGApZac7ApPL7rUeK0nq86qS1gY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183798-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183798: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=cfb777791d39e025cf625ba1fa080597d4defef6
X-Osstest-Versions-That:
    xen=98758ae48974d6d24f999e4d9324e463d326f66f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Nov 2023 13:38:52 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  cfb777791d39e025cf625ba1fa080597d4defef6
baseline version:
 xen                  98758ae48974d6d24f999e4d9324e463d326f66f

Last test of basis   183786  2023-11-18 03:02:10 Z    2 days
Testing same since   183798  2023-11-20 10:00:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   98758ae489..cfb777791d  cfb777791d39e025cf625ba1fa080597d4defef6 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 13:40:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 13:40:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636734.992455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r54WC-0000jk-G9; Mon, 20 Nov 2023 13:40:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636734.992455; Mon, 20 Nov 2023 13:40: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 1r54WC-0000jd-Cv; Mon, 20 Nov 2023 13:40:52 +0000
Received: by outflank-mailman (input) for mailman id 636734;
 Mon, 20 Nov 2023 13:40: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 1r54WB-0000jX-Ed
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 13:40: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 1r54WB-0007FK-4N; Mon, 20 Nov 2023 13:40:51 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[192.168.18.184]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r54WA-0005wl-U0; Mon, 20 Nov 2023 13:40: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=fdiO6u+f4YhNyeh3xZST0v7gsfOw52wcr+rY69Hdc6o=; b=H9XQS1oBhBd5GNHh6VvZ2VGnFt
	NoltxatCQmvX+pIkOhdgKsEFz5YEUN+nsTXTfFaZZWxWrH2hbB+BLIudDKw2Ew5ch8lV+y+oq8uvu
	Av1ilCzhbY64KnnqT5H5Ep1grB5JSxRYxdrVAQLtV01zomt1t9ClQ18kCCY8HWQ5+vYg=;
Message-ID: <0c32e2eb-7ffe-486c-a11c-477c3cff5cba@xen.org>
Date: Mon, 20 Nov 2023 13:40:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, Luca Fancellu
 <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: rahul.singh@arm.com, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
 <20231114090356.875180-4-luca.fancellu@arm.com>
 <98980da0-2940-43d2-a6c1-e064f4921e74@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <98980da0-2940-43d2-a6c1-e064f4921e74@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 20/11/2023 07:34, Michal Orzel wrote:
> Hi Luca,
> 
> On 14/11/2023 10:03, Luca Fancellu wrote:
>>
>>
>> Currently the dom0less feature code is mostly inside domain_build.c
>> and setup.c, it is a feature that may not be useful to everyone so
>> put the code in a different compilation module in order to make it
>> easier to disable the feature in the future.
>>
>> Move gic_interrupt_t in domain_build.h to use it with the function
>> declaration, move its comment above the declaration.
>>
>> The following functions are now visible externally from domain_build
>> because they are used also from the dom0less-build module:
>>   - get_allocation_size
>>   - set_interrupt
>>   - domain_fdt_begin_node
>>   - make_memory_node
>>   - make_resv_memory_node
>>   - make_hypervisor_node
>>   - make_psci_node
>>   - make_cpus_node
>>   - make_timer_node
>>   - handle_device_interrupts
>>   - construct_domain
>>   - process_shm
>>   - allocate_bank_memory
>>
>> The functions allocate_static_memory and assign_static_memory_11
>> are now externally visible, so put their declarations into
>> domain_build.h and move the #else and stub definition in the header
>> as well.
>>
>> Move is_dom0less_mode from setup.c to dom0less-build.c and make it
>> externally visible.
>>
>> The function allocate_bank_memory is used only by dom0less code
>> at the moment, but it's been decided to leave it in domain_build.c
>> in case that in the future the dom0 code can use it.
>>
>> Where spotted, fix code style issues.
>>
>> No functional change is intended.
>>
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> 
> with one remark...
> 
>> ---
>> Changes from v4:
>>   - fixed name in inclusion macro __ASM_* instead of __ARM_*, fixed
>>     emacs local variable 'end:', style fix (Michal)
>> Changes from v3:
>>   - remove header in dom0less-build.c (Michal)
>> Changes from v2:
>>   - move allocate_bank_memory back in domain_build.c, remove header
>>     from dom0less-build.c.
>> ---
>>   xen/arch/arm/Makefile                     |    1 +
>>   xen/arch/arm/dom0less-build.c             | 1018 +++++++++++++++++
>>   xen/arch/arm/domain_build.c               | 1265 +++------------------
>>   xen/arch/arm/include/asm/dom0less-build.h |   20 +
>>   xen/arch/arm/include/asm/domain_build.h   |   60 +
>>   xen/arch/arm/include/asm/setup.h          |    1 -
>>   xen/arch/arm/setup.c                      |   33 +-
>>   7 files changed, 1240 insertions(+), 1158 deletions(-)
>>   create mode 100644 xen/arch/arm/dom0less-build.c
>>   create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
>>
> 
> [...]
>> diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
>> new file mode 100644
>> index 000000000000..81446cbd8bf3
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/dom0less-build.h
>> @@ -0,0 +1,20 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +
>> +#ifndef __ASM_DOM0LESS_BUILD_H_
>> +#define __ASM_DOM0LESS_BUILD_H_
>> +
>> +#include <asm/kernel.h>
> No need for this include, especially if you are removing it in the subsequent patch.

Are you suggesting that this patch builds without including asm/kernel.h?

> This could be done on commit (+ there is a conflcit between your series and Henry's mmu/mpu split)

While I am in general happy to handle some changes on commit, I don't 
want to solve conflict between series.

One will have to rebase on top of the others. I suggest that this is 
just rebased on top of Henry, purely because I will likely commit it 
today or tomorrow.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 13:54:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 13:54:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636744.992465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r54jI-0003WR-JX; Mon, 20 Nov 2023 13:54:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636744.992465; Mon, 20 Nov 2023 13:54: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 1r54jI-0003WK-Gd; Mon, 20 Nov 2023 13:54:24 +0000
Received: by outflank-mailman (input) for mailman id 636744;
 Mon, 20 Nov 2023 13:54: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 1r54jH-0003WE-0e
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 13:54: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 1r54jG-0007Ty-6e; Mon, 20 Nov 2023 13:54:22 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[192.168.18.184]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r54jF-0006PS-T8; Mon, 20 Nov 2023 13:54: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=wvu691h30NLjTL7ttnnBQN4/RJmZXqF7VdOmD9t6MnE=; b=HDaXylDwJELYY5upUlwHEajkOR
	6/gf09bMNZ7IH0rSUYWM85lopykmU2AG+QnqUIXgdyZd1XbvbGTjHZnk1APmG/TVoCX9ADM2qb1s+
	gVvBO6n308xphnkz6imWakzRDfJD8fhtN0zTM96TEBVDs75w5bBDb05C7zRd1eSLRV/M=;
Message-ID: <4ad7f6ba-89f8-48ff-9b60-8d9d0dbe9afe@xen.org>
Date: Mon, 20 Nov 2023 13:54:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenstored: print domain id in traces
Content-Language: en-GB
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Juergen Gross <jgross@suse.com>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231116205613.3796068-1-volodymyr_babchuk@epam.com>
 <16a320e7-3d12-4c9e-9010-ce0fe37c7e33@xen.org> <874jhg38yd.fsf@epam.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <874jhg38yd.fsf@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Volodymyr,

On 20/11/2023 12:28, Volodymyr Babchuk wrote:
> Julien Grall <julien@xen.org> writes:
> 
>> Hi Volodymyr,
>>
>> On 16/11/2023 20:56, Volodymyr Babchuk wrote:
>>> It is very helpful to see domain id why analyzing xenstored
>>> traces. Especially when you are trying to understand which exactly
>>> domain performs an action.
>>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>> ---
>>>    tools/xenstored/core.c | 4 ++--
>>>    1 file changed, 2 insertions(+), 2 deletions(-)
>>> diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
>>> index edd07711db..311764eb0c 100644
>>> --- a/tools/xenstored/core.c
>>> +++ b/tools/xenstored/core.c
>>> @@ -135,8 +135,8 @@ static void trace_io(const struct connection *conn,
>>>    	now = time(NULL);
>>>    	tm = localtime(&now);
>>>    -	trace("io: %s %p %04d%02d%02d %02d:%02d:%02d %s (",
>>> -	      out ? "OUT" : "IN", conn,
>>> +	trace("io: %s %p (d%d) %04d%02d%02d %02d:%02d:%02d %s (",
>>
>> AFAICT conn->id is an unsigned int. So it should be d%u. This can be
>> dealt on commit.
>>
> 
> Yes, I missed this part. I have noticed that you already committed this
> change and even mentioned %u in the commit message. But in the diff [1] I am
> seeing %d. Should I sent another another patch that fixes this?

:(. I keep forgetting that "git commit --amend" only ammend the commit 
message. If you don't mind, can you send a follow-up?

Sorry for the inconvenience.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 13:55:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 13:55:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636746.992474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r54kh-00045j-Ut; Mon, 20 Nov 2023 13:55:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636746.992474; Mon, 20 Nov 2023 13:55: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 1r54kh-00045c-S3; Mon, 20 Nov 2023 13:55:51 +0000
Received: by outflank-mailman (input) for mailman id 636746;
 Mon, 20 Nov 2023 13: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=4RyQ=HB=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r54kg-00044B-QN
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 13:55:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81f1335c-87ac-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 14:55:48 +0100 (CET)
Received: from [10.253.41.90] (unknown [160.78.253.159])
 by support.bugseng.com (Postfix) with ESMTPSA id 48A3C4EE0739;
 Mon, 20 Nov 2023 14:55:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81f1335c-87ac-11ee-9b0e-b553b5be7939
Message-ID: <a03a8d60-5e46-4ef2-9e35-cc6892d229ee@bugseng.com>
Date: Mon, 20 Nov 2023 14:55:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/5] xen/common: address violations of MISRA C:2012
 Rule 8.2
Content-Language: en-US, it
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>
References: <cover.1700209834.git.federico.serafini@bugseng.com>
 <ccc8b4bea515360e448f1975dadb326ad2e6c918.1700209834.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2311171851260.773207@ubuntu-linux-20-04-desktop>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <alpine.DEB.2.22.394.2311171851260.773207@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 18/11/23 03:59, Stefano Stabellini wrote:
> On Fri, 17 Nov 2023, Federico Serafini wrote:
>> diff --git a/xen/common/stop_machine.c b/xen/common/stop_machine.c
>> index 3adbe380de..398cfd507c 100644
>> --- a/xen/common/stop_machine.c
>> +++ b/xen/common/stop_machine.c
>> @@ -46,7 +46,7 @@ struct stopmachine_data {
>>   
>>       unsigned int fn_cpu;
>>       int fn_result;
>> -    int (*fn)(void *);
>> +    int (*fn)(void *data);
>>       void *fn_data;
>>   };
> 
> At least one of the possible function used here calls the parameter
> "arg", see take_cpu_down. But I don't think it is a MISRA requirement to
> also harmonize those?
> 
> 
>> @@ -73,7 +73,7 @@ static void stopmachine_wait_state(void)
>>    * mandatory to be called only on an idle vcpu, as otherwise active core
>>    * scheduling might hang.
>>    */
>> -int stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu)
>> +int stop_machine_run(int (*fn)(void *data), void *data, unsigned int cpu)
>>   {
>>       unsigned int i, nr_cpus;
>>       unsigned int this = smp_processor_id();
>> diff --git a/xen/common/tasklet.c b/xen/common/tasklet.c
>> index 3ad67b5c24..3649798e6b 100644
>> --- a/xen/common/tasklet.c
>> +++ b/xen/common/tasklet.c
>> @@ -199,7 +199,7 @@ static void migrate_tasklets_from_cpu(unsigned int cpu, struct list_head *list)
>>       spin_unlock_irqrestore(&tasklet_lock, flags);
>>   }
>>   
>> -void tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
>> +void tasklet_init(struct tasklet *t, void (*func)(void *data), void *data)
>>   {
>>       memset(t, 0, sizeof(*t));
>>       INIT_LIST_HEAD(&t->list);
>> @@ -208,7 +208,8 @@ void tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
>>       t->data = data;
>>   }
>>   
>> -void softirq_tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
>> +void softirq_tasklet_init(struct tasklet *t,
>> +                          void (*func)(void *data), void *data)
>>   {
>>       tasklet_init(t, func, data);
>>       t->is_softirq = 1;
>> diff --git a/xen/common/timer.c b/xen/common/timer.c
>> index 0fddfa7487..bf7792dcb3 100644
>> --- a/xen/common/timer.c
>> +++ b/xen/common/timer.c
>> @@ -291,7 +291,7 @@ static bool active_timer(const struct timer *timer)
>>   
>>   void init_timer(
>>       struct timer *timer,
>> -    void        (*function)(void *),
>> +    void        (*function)(void *data),
>>       void         *data,
>>       unsigned int  cpu)
>>   {
>> @@ -441,7 +441,7 @@ void kill_timer(struct timer *timer)
>>   
>>   static void execute_timer(struct timers *ts, struct timer *t)
>>   {
>> -    void (*fn)(void *) = t->function;
>> +    void (*fn)(void *data) = t->function;
>>       void *data = t->data;
>>   
>>       t->status = TIMER_STATUS_inactive;
>> diff --git a/xen/include/xen/rangeset.h b/xen/include/xen/rangeset.h
>> index 135f33f606..390f7b6082 100644
>> --- a/xen/include/xen/rangeset.h
>> +++ b/xen/include/xen/rangeset.h
>> @@ -68,7 +68,7 @@ bool_t __must_check rangeset_overlaps_range(
>>       struct rangeset *r, unsigned long s, unsigned long e);
>>   int rangeset_report_ranges(
>>       struct rangeset *r, unsigned long s, unsigned long e,
>> -    int (*cb)(unsigned long s, unsigned long e, void *), void *ctxt);
>> +    int (*cb)(unsigned long s, unsigned long e, void *data), void *ctxt);
> 
> Also here some of the functions use "arg" instead of ctxt
> 
> 
>>   /*
>>    * Note that the consume function can return an error value apart from
>> @@ -77,7 +77,7 @@ int rangeset_report_ranges(
>>    */
>>   int rangeset_consume_ranges(struct rangeset *r,
>>                               int (*cb)(unsigned long s, unsigned long e,
>> -                                      void *, unsigned long *c),
>> +                                      void *ctxt, unsigned long *c),
>>                               void *ctxt);
> 
> Also here some of the functions use "dom" like irq_remove_cb.
> 
> 
> But I actually like the patch as is, so if that's OK from a MISRA point
> of view then I would give my reviewed-by.

Yes, this is OK for MISRA.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:06:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636754.992485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r54uk-0006l4-Sy; Mon, 20 Nov 2023 14:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636754.992485; Mon, 20 Nov 2023 14: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 1r54uk-0006kx-Px; Mon, 20 Nov 2023 14:06:14 +0000
Received: by outflank-mailman (input) for mailman id 636754;
 Mon, 20 Nov 2023 14:06: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=hay4=HB=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r54uj-0006kq-84
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:06:13 +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 f53c6f26-87ad-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 15:06:11 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-50a6ff9881fso6407655e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 06:06:10 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 fc11-20020a056512138b00b00503258fa962sm1177157lfb.199.2023.11.20.06.06.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 06:06:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f53c6f26-87ad-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700489170; x=1701093970; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:date:cc:to:from
         :subject:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=s6ku04AVgWw+VDiskuv9LroSS7thY3NklnbnE1JKyaM=;
        b=jw4nh6OMhn64RD3/XiRX/RZUNZV3etoiQsEaVsAq8Xmd7yRlFU9sQWdJlrt0RWN+Xx
         IcF36/IkyV0eobln4K9UwEK3YFe1TN/GKsu5P71s/v0cpEI1++QRHYAGT912hTSlPlYD
         5Ja11Gpxat8vt0BLdozxgldU+7LpY3oktl8sCgva24XLa6A2bvITILPKV5mPmp1ZoS+M
         HGIcNUKysYGwjeIcS2hzXVElcLF6kF3k6uDWnkaHmJ4ypJ5nYiZR/AxzVKg9o/UREM7u
         SHRSQqnoQbVxcmfLdeWdwvqJgDPQftVl9xylqgG5CW46WH4nRRlepo4ZXHqdlIXnHGRJ
         jqcw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700489170; x=1701093970;
        h=mime-version:user-agent:content-transfer-encoding:date:cc:to:from
         :subject:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=s6ku04AVgWw+VDiskuv9LroSS7thY3NklnbnE1JKyaM=;
        b=TJ1rcipOv5RudWd6t4FxjQwrFQCHOgeKvKje83AtGym4bud7n1uQGwwH0PUSVKFGH7
         5j/djObLeXNEJD7GLWE5cnM9iLm1K/VZsNFrBJi+9uhIrWIOWSYn+Ja/6aMNWFQSLfDd
         aXhWREKKvVnX0nPm8w2YwpI/7ZqToKf56LxyrDSF2nUJLejvUmOEQVaj1Jr8OHcwgPh7
         5E/7vK9rPQUhZ1vrEhnj77bAEtPc4yD1dlZQL0uo8ZS8XNhoJGeiE0n+BWngioQnSs7X
         nLQT8rFJ1q23xLZLTtNhHi+E74Q6SceJ1tgAwIbQL1bk5eDfbs5ZceFoBOrdLdqoqol+
         1Z1g==
X-Gm-Message-State: AOJu0YzgZPlE6Tui7PIXWSzLqCWHo46vIkitSrE3sQOPeNEAdMEQ6Ue4
	mp/AL/AwFfHccvE6BqVPuHFeSJLLFX8=
X-Google-Smtp-Source: AGHT+IEGeR7Vks+686HyihvFmkdaQTXq8riGDliHXUCGlG/Nxm0kkCXlURjwh0GfXFAtPBeYy32Umg==
X-Received: by 2002:ac2:563b:0:b0:4ff:7004:545e with SMTP id b27-20020ac2563b000000b004ff7004545emr5171809lff.4.1700489169303;
        Mon, 20 Nov 2023 06:06:09 -0800 (PST)
Message-ID: <0cb1254f433536a9995c278c919372e226059934.camel@gmail.com>
Subject: Interest in Release Manager Role
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Henry.Wang@arm.com, kelly.choi@cloud.com, marc.ungeschikts@vates.tech, 
	olivier.lambert@vates.fr, marc.ungeschikts@vates.fr
Date: Mon, 20 Nov 2023 16:06:08 +0200
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

Dear Xen Community,

I am keen on stepping into the role of a Release Manager for our next
release. Despite not having direct experience yet, I am eager to learn,
adapt, and grow into this role with your guidance and support.

Have a nice week.

Best regards,
 Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:11:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636761.992495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5507-0000j2-JY; Mon, 20 Nov 2023 14:11:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636761.992495; Mon, 20 Nov 2023 14:11: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 1r5507-0000iv-Gu; Mon, 20 Nov 2023 14:11:47 +0000
Received: by outflank-mailman (input) for mailman id 636761;
 Mon, 20 Nov 2023 14:11: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=F3F/=HB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5506-0000ip-2j
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:11:46 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb8c0ca2-87ae-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 15:11:44 +0100 (CET)
Received: from DM6PR04CA0024.namprd04.prod.outlook.com (2603:10b6:5:334::29)
 by DM4PR12MB5213.namprd12.prod.outlook.com (2603:10b6:5:394::16) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 14:11:39 +0000
Received: from CY4PEPF0000E9D8.namprd05.prod.outlook.com
 (2603:10b6:5:334:cafe::13) by DM6PR04CA0024.outlook.office365.com
 (2603:10b6:5:334::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Mon, 20 Nov 2023 14:11:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D8.mail.protection.outlook.com (10.167.241.83) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 14:11:39 +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.2507.34; Mon, 20 Nov
 2023 08:11:38 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Mon, 20 Nov
 2023 06:11:38 -0800
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Mon, 20 Nov 2023 08:11:37 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb8c0ca2-87ae-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L+C2wvS4J11rxgtnpscgNlmLcgGekdhYX67ju7PTYolQj5b1xX8Zv5xuBt+sTdfUAxGx3Q/ISkXNyJ+CCIzoHpcfZkr5BsVnEZgserg3OpBDrDIGSRTcfi7+CasD25Lx2g/OmgQ9e8+Rn9ILHsAD4hzslouvWEP7uG5UcODqBWfhoLYSXl5KNhV27cl3MD9PyfZJWlEOajqEAMr5CvjifG+GUBT0PHFeDh1EluXlusvmQ2369p4Dnwh7elMqZzDhNE4R/DShWH5j0v8MDvBAH4m6I7Rk2z36+5mSxWk9lPcAqcxg2tnZNMPV1HsXHKOeHmp9+rO0OtaRGVPgR63X0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S41VByiRrvoiPRPnLpeCS5uG9H8Z4GUq1fuhplVzUxw=;
 b=MpygGSuj/vYN0C9QUcbHMJPT5QHUIvHMV2b3+FWVOzlWQHIC26qDDbCah6czndIFtbmsoMQwf7igj3Otsw8y9hkk357tOiLvzzCpnwKvCiqKh5RL5lS7Pev+wXgWrIwfaT9NN54uFO/EJnP290HQ+5Zjk898mUvp16gUtU/owsR2xtp0XvXde+Qi3n9INJX1P1+UxJa8YkvPVuGy2GsJlVDLpN+DTfNDAgVDrM/6VL+UJIJu+lY21cjtrlKGpy87Ajh/jc/34vF865ihCJyTQlFIMu5XYALtQ8ORaVawTrG2LLODHUpwe5rLBUMHTuofmGeAJ8YyE0ttiu3nb6fYDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=S41VByiRrvoiPRPnLpeCS5uG9H8Z4GUq1fuhplVzUxw=;
 b=a3sq3N/VJwTQRX7lf2N0JQH96ufmSCs/0SuSm3MOuth+8cATLcj4C3l8qnCfI93/A13OwX2zbfNbHVzTjb6RmOspRR7pJsAxY+7Dc/Rtxml817P06BLpDHaSFJspjUnCvWjgBp8/zNulMfI2IWqW+Dk7be0NmS0Uyb8ymG9vbs0=
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: <a60d951b-7e23-4421-a7c6-68b99f33cba0@amd.com>
Date: Mon, 20 Nov 2023 15:11:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Luca Fancellu <luca.fancellu@arm.com>,
	<xen-devel@lists.xenproject.org>
CC: <rahul.singh@arm.com>, Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
 <20231114090356.875180-4-luca.fancellu@arm.com>
 <98980da0-2940-43d2-a6c1-e064f4921e74@amd.com>
 <0c32e2eb-7ffe-486c-a11c-477c3cff5cba@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <0c32e2eb-7ffe-486c-a11c-477c3cff5cba@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D8:EE_|DM4PR12MB5213:EE_
X-MS-Office365-Filtering-Correlation-Id: 725607bb-c63d-4bcd-1066-08dbe9d29d43
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	W1zmftNtAKUvwp5VA0KwBCB75o5xYZ9GMeKt0RoUMNglTWiuuV1bWG9vu7slGhExxbgREiKqFIbjRc/NxeL6t/RKhg2PiJR+tqPyIYjwfXLhF93WyIcHbh7MzaJTRo9GB7eNe4ZLOyRjwQavAWayKi+U0gpVHTDMN19150EzP+8ScTIK+zDcQwY5lILleJlmJd2uQIZcvuH9DGUCMGtEmc82wjDvMhBIXbZT2Agf+HhTOcHCOmMHiHHhelu9xjD8dQeVJxe84ByvaJkRjhtqZUT5RR9ItiVt/GhC9erkJ0DteKipWHFORXpG3eguTi4EjVU+vxN228cvQylIVgmnWBQVaPrOg5S9RoSxpooIkoislOEWdPHntGH9QmvYomqW9wu88L7QZhyBdBzRIAppv/BzONqISfRpSX38rPQXN0u28LWeKuW7ldS2eFqIbGrels18tnCeWAuQ/F4xFzeM6uCI3KFCBSEizqn+KxM0KiMej8x84z8ojX+/cq03lDm1IHUdk4EpeBBk4ev34KDSR34omEaujgC+X1k8+ftreokR9DHLbUbFJxBvKhlTlf6I7Y0j4NCwYCl8mKRz61uc2pjPAtnce24NgKYFyH9K+wHKpaBtzBfmksYyVoEuM+WcwmaT7QTqkjNgwzsjF1VUKCrrZehqFKeIO1wiv11Z7DeA9KCuwdMLYO4jNZ+rFNtBmgWFmtkFlXqjWFYPyLo5+ZnQBI0PBEVpqnrez02saqe1nvuhM041u4fhDNYa2LdNdevsuGjXl/kUB6L/slPLQl77xFeGeHUQG+VO3eIAfMCmBxqwU/WePcj0kxvbU7Lj/lL3fFk8gQK4RHdf1dbsiOtmSJeH/0ujaZ/EMxQNkThSAmOCSjTzo8TdsiMztECN
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:(13230031)(4636009)(136003)(39860400002)(376002)(346002)(396003)(230273577357003)(230173577357003)(230922051799003)(82310400011)(451199024)(1800799012)(64100799003)(186009)(46966006)(40470700004)(36840700001)(110136005)(16576012)(316002)(70206006)(70586007)(54906003)(426003)(336012)(26005)(40460700003)(36756003)(4326008)(8676002)(8936002)(41300700001)(81166007)(82740400003)(36860700001)(47076005)(44832011)(31696002)(86362001)(2906002)(5660300002)(83380400001)(478600001)(6666004)(31686004)(53546011)(356005)(2616005)(40480700001)(32563001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 14:11:39.2785
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 725607bb-c63d-4bcd-1066-08dbe9d29d43
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:
	CY4PEPF0000E9D8.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5213

Hi Julien,

On 20/11/2023 14:40, Julien Grall wrote:
> 
> 
> On 20/11/2023 07:34, Michal Orzel wrote:
>> Hi Luca,
>>
>> On 14/11/2023 10:03, Luca Fancellu wrote:
>>>
>>>
>>> Currently the dom0less feature code is mostly inside domain_build.c
>>> and setup.c, it is a feature that may not be useful to everyone so
>>> put the code in a different compilation module in order to make it
>>> easier to disable the feature in the future.
>>>
>>> Move gic_interrupt_t in domain_build.h to use it with the function
>>> declaration, move its comment above the declaration.
>>>
>>> The following functions are now visible externally from domain_build
>>> because they are used also from the dom0less-build module:
>>>   - get_allocation_size
>>>   - set_interrupt
>>>   - domain_fdt_begin_node
>>>   - make_memory_node
>>>   - make_resv_memory_node
>>>   - make_hypervisor_node
>>>   - make_psci_node
>>>   - make_cpus_node
>>>   - make_timer_node
>>>   - handle_device_interrupts
>>>   - construct_domain
>>>   - process_shm
>>>   - allocate_bank_memory
>>>
>>> The functions allocate_static_memory and assign_static_memory_11
>>> are now externally visible, so put their declarations into
>>> domain_build.h and move the #else and stub definition in the header
>>> as well.
>>>
>>> Move is_dom0less_mode from setup.c to dom0less-build.c and make it
>>> externally visible.
>>>
>>> The function allocate_bank_memory is used only by dom0less code
>>> at the moment, but it's been decided to leave it in domain_build.c
>>> in case that in the future the dom0 code can use it.
>>>
>>> Where spotted, fix code style issues.
>>>
>>> No functional change is intended.
>>>
>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>
>> with one remark...
>>
>>> ---
>>> Changes from v4:
>>>   - fixed name in inclusion macro __ASM_* instead of __ARM_*, fixed
>>>     emacs local variable 'end:', style fix (Michal)
>>> Changes from v3:
>>>   - remove header in dom0less-build.c (Michal)
>>> Changes from v2:
>>>   - move allocate_bank_memory back in domain_build.c, remove header
>>>     from dom0less-build.c.
>>> ---
>>>   xen/arch/arm/Makefile                     |    1 +
>>>   xen/arch/arm/dom0less-build.c             | 1018 +++++++++++++++++
>>>   xen/arch/arm/domain_build.c               | 1265 +++------------------
>>>   xen/arch/arm/include/asm/dom0less-build.h |   20 +
>>>   xen/arch/arm/include/asm/domain_build.h   |   60 +
>>>   xen/arch/arm/include/asm/setup.h          |    1 -
>>>   xen/arch/arm/setup.c                      |   33 +-
>>>   7 files changed, 1240 insertions(+), 1158 deletions(-)
>>>   create mode 100644 xen/arch/arm/dom0less-build.c
>>>   create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
>>>
>>
>> [...]
>>> diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
>>> new file mode 100644
>>> index 000000000000..81446cbd8bf3
>>> --- /dev/null
>>> +++ b/xen/arch/arm/include/asm/dom0less-build.h
>>> @@ -0,0 +1,20 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +
>>> +#ifndef __ASM_DOM0LESS_BUILD_H_
>>> +#define __ASM_DOM0LESS_BUILD_H_
>>> +
>>> +#include <asm/kernel.h>
>> No need for this include, especially if you are removing it in the subsequent patch.
> 
> Are you suggesting that this patch builds without including asm/kernel.h?
Yes.

> 
>> This could be done on commit (+ there is a conflcit between your series and Henry's mmu/mpu split)
> 
> While I am in general happy to handle some changes on commit, I don't
> want to solve conflict between series.
> 
> One will have to rebase on top of the others. I suggest that this is
> just rebased on top of Henry, purely because I will likely commit it
> today or tomorrow.
Sounds ok.

~Michal


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:27:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:27:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636818.992529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55FG-0003uG-5K; Mon, 20 Nov 2023 14:27:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636818.992529; Mon, 20 Nov 2023 14:27: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 1r55FG-0003u9-2K; Mon, 20 Nov 2023 14:27:26 +0000
Received: by outflank-mailman (input) for mailman id 636818;
 Mon, 20 Nov 2023 14:27: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=/O0h=HB=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r55FF-0003sS-7K
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:27:25 +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 ec280426-87b0-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 15:27:24 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-5401bab7525so6394686a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 06:27:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec280426-87b0-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700490444; x=1701095244; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=qNFYmDZfbRBhs93gK4+zGEZ63y8cCEjejgetHSWadjQ=;
        b=cz9ItTJj5Hv3DjfB2x1aMdy1NztZ3fVuSq1Kp+2inPwn2DlPjSswkZ3dAr4jW9J4zC
         aJ55KpRUEEZf4KNCtevQ4gYbqvHk8+OuPcCInzspVp2i1tl/Qjm4+xGqoPGZas4lg9eL
         5ZqL4tgZR0kR6yIECSrHQbzrmb3APA4MT5bew=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700490444; x=1701095244;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qNFYmDZfbRBhs93gK4+zGEZ63y8cCEjejgetHSWadjQ=;
        b=AAMCR1iGHf4yBxl7N3e4SL8x5jS3tlxxd8bzndSSGBcmnbnJUh7FF6ojz3bxaCjjfI
         IgS2XPc3S4VwOVyEsE6gqrezmiuevoiPKLdoChP+AMY8kcZhYy1wTqlFU+Sm3y0PwPMe
         Kyi9+3Q7ecnZtwxe3zquwLWRAXT+Jo31qzbTKvt8gp0QHRoqgdKWXU/n3D13WEEGpxlM
         vBRiOWicQbK3mYLI66ZJWAdIlG3pXskUqqri6H/h7LXVLBiC1Mc5+EZJevlcViMrTbKm
         7rtuaBY9tSKJCN9uP8B2AxmNbfksafdLpYLQK4JZ5WIhDnf4QCk0g7W1kaMByjYyRv50
         Suhg==
X-Gm-Message-State: AOJu0YwSyu8Ttfmk5Qs7LEg4hnbPC9VbB9g54/ZZAHBtd7YcOXf17/dQ
	eQb89ZBvuulKA07pu6YIUnYEL/+rw/sTXqoS3+2+Ew==
X-Google-Smtp-Source: AGHT+IHvoF8KIOAWCqE286MZx99mLdLqM4ZlEvzC37WX3r2khLxJUuBetrQi+RXgDD31qw+qHTWeAluewX80ggsXcEM=
X-Received: by 2002:aa7:d755:0:b0:547:9ebd:c0ab with SMTP id
 a21-20020aa7d755000000b005479ebdc0abmr5821401eds.13.1700490443683; Mon, 20
 Nov 2023 06:27:23 -0800 (PST)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 20 Nov 2023 14:26:47 +0000
Message-ID: <CAO-mL=x0wpaERs7jTK2GmfEhq-EJ4X4wyHERVyoQpfQXQYjUcA@mail.gmail.com>
Subject: Xen Project Releases Version 4.18
To: =?UTF-8?B?4oCL4oCL4oCL4oCL4oCL4oCL4oCLSGVucnkgV2FuZw==?= <Henry.Wang@arm.com>, 
	George Dunlap <george.dunlap@cloud.com>, xen-devel@lists.xenproject.org, 
	xen-users@lists.xenproject.org, xen-announce@lists.xenproject.org, 
	advisory-board@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000d71711060a9648dd"

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

Hi everyone,

It's with great pleasure that I announce our 4.18 PR release!

*Please find the PR article attached here
<https://www.businesswire.com/news/home/20231120045533/en/Xen-Project-Relea=
ses-Version-4.18-with-New-Security-Performance-and-Architecture-Enhancement=
s-for-AIML-Applications>,
and information on our blog here
<https://xenproject.org/2023/11/20/xen-project-releases-version-4-18-with-n=
ew-security-performance-and-architecture-enhancements-for-ai-ml-application=
s/>.*

I want to thank the whole community for their efforts in getting this
release published.

In particular, I'd like to express gratitude to @Henry Wang
<Henry.Wang@arm.com> for his help as the release manager, @George Dunlap
<george.dunlap@cloud.com> for collating the downloads, and the Advisory
Board for their continued support and quotes in the article.

*Some notable features:*

   - *Arm*
      - *The Scalable Vector Extension (SVE) is now merged in upstream Xen
      as a tech preview.*
      - *The Arm=C2=AE Firmware Framework for Arm A-profile (FF-A) framewor=
k
      support is now merged in upstream Xen as a tech preview.*
      - *The memory subsystem in Xen on Arm64 is now more compliant with
      the Arm architecture.*
   - *x86*
      - *On all Intel systems, MSR_ARCH_CAPS is now visible in guests, and
      controllable from the VM's config file. For CPUs from 2019 onwards, t=
his
      allows guest kernels to see details about hardware fixes for speculat=
ive
      mitigations.*
      - *Support for features new in 4th Gen AMD EPYC Processors:*
         - *CPUID_USER_DIS (CPUID Faulting) used by Xen to control PV
         guest's view of CPUID data*
      - *Support for features new in Intel Sapphire Rapids CPUs:*
         - *PKS (Protection Key Supervisor) available to HVM/PVH guests*
         - *VM-Notify used by Xen to mitigate certain micro-architectural
         pipeline livelocks, instead of crashing the entire server*
         - *Bus-lock detection, used by Xen to mitigate (by rate-limiting)
         the systemwide impact of a guest misusing atomic instructions*
      - *Support for features new in Intel Granite Rapids CPUs:*
         - *AVX512-FP16*
      - *Add Intel Hardware P-States (HWP) cpufreq driver*
      - *Support for enforcing system-wide operation in Data Operand
      Independent Timing Mode*
   - *RISC-V and PowerPC*
      - *Upstream Xen GitLab CI has been set up with full Xen build and a
      message printed from Xen early printk*
   - *Security*
      - *20 XSAs has been published, enhancing the security of the project
      to keep it safe from common vulnerabilities*
   - *MISRA-C*
      - *The project has officially adopted more MISRA-C rules, from four
      directives and 24 rules in 4.17 to 6 directives and 65 rules of MISRA=
-C*

We are doing great things in The Xen Project, and this wouldn't have been
possible without the community working together.

I look forward to seeing what we can all achieve in the future!

Many thanks,
Kelly Choi

Come join the conversation on Matrix:

XenProject: https://matrix.to/#/#XenProject:matrix.org

XenDevel: https://matrix.to/#/#XenDevel:matrix.org

XenSocial: https://matrix.to/#/#XenSocial:matrix.org


Open Source Community Manager
XenServer, Cloud Software Group

--000000000000d71711060a9648dd
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi everyone,<div><br></div><div>It&#39;s with great pleasu=
re that I announce our 4.18 PR release!=C2=A0</div><div><br></div><div><b>P=
lease find the <a href=3D"https://www.businesswire.com/news/home/2023112004=
5533/en/Xen-Project-Releases-Version-4.18-with-New-Security-Performance-and=
-Architecture-Enhancements-for-AIML-Applications">PR article attached here<=
/a>, and information on our <a href=3D"https://xenproject.org/2023/11/20/xe=
n-project-releases-version-4-18-with-new-security-performance-and-architect=
ure-enhancements-for-ai-ml-applications/">blog here</a>.</b></div><div><br>=
</div><div>I want to thank the whole community for their efforts in getting=
 this release published.</div><div><br></div><div>In particular, I&#39;d li=
ke to express gratitude to=C2=A0<a class=3D"gmail_plusreply" id=3D"plusRepl=
yChip-1" href=3D"mailto:Henry.Wang@arm.com" tabindex=3D"-1" style=3D"">@Hen=
ry Wang</a>=C2=A0for his help as the release manager,=C2=A0<a class=3D"gmai=
l_plusreply" id=3D"plusReplyChip-2" href=3D"mailto:george.dunlap@cloud.com"=
 tabindex=3D"-1">@George Dunlap</a>=C2=A0for collating the downloads,=C2=A0=
and the Advisory Board for their continued support and quotes in the articl=
e.=C2=A0</div><div><br></div><div><b>Some notable features:</b></div><div><=
ul class=3D"gmail-bwlistdisc" style=3D"margin:0px 0px 1.5em;padding:0px 0px=
 0px 24px;overflow:hidden;color:rgb(68,68,68);font-family:&quot;Helvetica N=
eue&quot;,Helvetica,Arial,&quot;Lucida Grande&quot;,sans-serif;background-c=
olor:rgb(254,254,254)"><li style=3D"list-style-type:disc;margin:0px 0px 5px=
"><b><i>Arm</i></b><ul class=3D"gmail-bwlistcircle" style=3D"margin:0px;pad=
ding:0px 0px 0px 24px;overflow:hidden"><li style=3D"list-style-type:circle;=
margin:0px"><i>The Scalable Vector Extension (SVE) is now merged in upstrea=
m Xen as a tech preview.</i></li><li style=3D"list-style-type:circle;margin=
:0px"><i>The Arm=C2=AE Firmware Framework for Arm A-profile (FF-A) framewor=
k support is now merged in upstream Xen as a tech preview.</i></li><li styl=
e=3D"list-style-type:circle;margin:0px"><i>The memory subsystem in Xen on A=
rm64 is now more compliant with the Arm architecture.</i></li></ul></li><li=
 style=3D"list-style-type:disc;margin:0px 0px 5px"><b><i>x86</i></b><ul cla=
ss=3D"gmail-bwlistcircle" style=3D"margin:0px;padding:0px 0px 0px 24px;over=
flow:hidden"><li style=3D"list-style-type:circle;margin:0px"><i>On all Inte=
l systems, MSR_ARCH_CAPS is now visible in guests, and controllable from th=
e VM&#39;s config file. For CPUs from 2019 onwards, this allows guest kerne=
ls to see details about hardware fixes for speculative mitigations.</i></li=
><li style=3D"list-style-type:circle;margin:0px"><i>Support for features ne=
w in 4<span style=3D"line-height:0;vertical-align:baseline">th</span>=C2=A0=
Gen AMD EPYC Processors:</i><ul class=3D"gmail-bwlistsquare" style=3D"margi=
n:0px;padding:0px 0px 0px 24px;overflow:hidden"><li style=3D"list-style-typ=
e:square;margin:0px"><i>CPUID_USER_DIS (CPUID Faulting) used by Xen to cont=
rol PV guest&#39;s view of CPUID data</i></li></ul></li><li style=3D"list-s=
tyle-type:circle;margin:0px"><i>Support for features new in Intel Sapphire =
Rapids CPUs:</i><ul class=3D"gmail-bwlistsquare" style=3D"margin:0px;paddin=
g:0px 0px 0px 24px;overflow:hidden"><li style=3D"list-style-type:square;mar=
gin:0px"><i>PKS (Protection Key Supervisor) available to HVM/PVH guests</i>=
</li><li style=3D"list-style-type:square;margin:0px"><i>VM-Notify used by X=
en to mitigate certain micro-architectural pipeline livelocks, instead of c=
rashing the entire server</i></li><li style=3D"list-style-type:square;margi=
n:0px"><i>Bus-lock detection, used by Xen to mitigate (by rate-limiting) th=
e systemwide impact of a guest misusing atomic instructions</i></li></ul></=
li><li style=3D"list-style-type:circle;margin:0px"><i>Support for features =
new in Intel Granite Rapids CPUs:</i><ul class=3D"gmail-bwlistsquare" style=
=3D"margin:0px;padding:0px 0px 0px 24px;overflow:hidden"><li style=3D"list-=
style-type:square;margin:0px"><i>AVX512-FP16</i></li></ul></li><li style=3D=
"list-style-type:circle;margin:0px"><i>Add Intel Hardware P-States (HWP) cp=
ufreq driver</i></li><li style=3D"list-style-type:circle;margin:0px"><i>Sup=
port for enforcing system-wide operation in Data Operand Independent Timing=
 Mode</i></li></ul></li><li style=3D"list-style-type:disc;margin:0px 0px 5p=
x"><b><i>RISC-V and PowerPC</i></b><ul class=3D"gmail-bwlistcircle" style=
=3D"margin:0px;padding:0px 0px 0px 24px;overflow:hidden"><li style=3D"list-=
style-type:circle;margin:0px"><i>Upstream Xen GitLab CI has been set up wit=
h full Xen build and a message printed from Xen early printk</i></li></ul><=
/li><li style=3D"list-style-type:disc;margin:0px 0px 5px"><b><i>Security</i=
></b><ul class=3D"gmail-bwlistcircle" style=3D"margin:0px;padding:0px 0px 0=
px 24px;overflow:hidden"><li style=3D"list-style-type:circle;margin:0px"><i=
>20 XSAs has been published, enhancing the security of the project to keep =
it safe from common vulnerabilities</i></li></ul></li><li style=3D"list-sty=
le-type:disc;margin:0px 0px 5px"><b><i>MISRA-C</i></b><ul class=3D"gmail-bw=
listcircle" style=3D"margin:0px;padding:0px 0px 0px 24px;overflow:hidden"><=
li style=3D"list-style-type:circle;margin:0px"><i>The project has officiall=
y adopted more MISRA-C rules, from four directives and 24 rules in 4.17 to =
6 directives and 65 rules of MISRA-C</i></li></ul></li></ul><div><div dir=
=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div =
dir=3D"ltr"><div>We are doing great things in The Xen Project, and this wou=
ldn&#39;t have been possible without the community working together.=C2=A0<=
/div><div><br></div><div>I look forward to seeing what we can all achieve i=
n the future!=C2=A0</div><div><br></div><div>Many thanks,</div><div>Kelly C=
hoi</div><div><br></div><div>Come join the conversation on Matrix:</div><di=
v>





<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;=
font-feature-settings:normal;font-stretch:normal;font-size:13px;line-height=
:normal;font-family:&quot;Helvetica Neue&quot;">XenProject: <a href=3D"http=
s://matrix.to/#/#XenProject:matrix.org">https://matrix.to/#/#XenProject:mat=
rix.org</a></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;=
font-feature-settings:normal;font-stretch:normal;font-size:13px;line-height=
:normal;font-family:&quot;Helvetica Neue&quot;">XenDevel: <a href=3D"https:=
//matrix.to/#/#XenDevel:matrix.org">https://matrix.to/#/#XenDevel:matrix.or=
g</a></p>
<p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:normal;font-=
variant-east-asian:normal;font-variant-alternates:normal;font-kerning:auto;=
font-feature-settings:normal;font-stretch:normal;font-size:13px;line-height=
:normal;font-family:&quot;Helvetica Neue&quot;">XenSocial: <a href=3D"https=
://matrix.to/#/#XenSocial:matrix.org">https://matrix.to/#/#XenSocial:matrix=
.org</a></p><p class=3D"gmail-p1" style=3D"margin:0px;font-variant-numeric:=
normal;font-variant-east-asian:normal;font-variant-alternates:normal;font-k=
erning:auto;font-feature-settings:normal;font-stretch:normal;font-size:13px=
;line-height:normal;font-family:&quot;Helvetica Neue&quot;"><br></p></div><=
div><div style=3D"color:rgb(136,136,136)">Open Source Community Manager</di=
v><div style=3D"color:rgb(136,136,136)">XenServer, Cloud Software Group</di=
v></div></div></div></div></div></div>

--000000000000d71711060a9648dd--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:27:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:27:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636831.992557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55Fj-00052M-S4; Mon, 20 Nov 2023 14:27:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636831.992557; Mon, 20 Nov 2023 14:27: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 1r55Fj-00051Y-PK; Mon, 20 Nov 2023 14:27:55 +0000
Received: by outflank-mailman (input) for mailman id 636831;
 Mon, 20 Nov 2023 14:27: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=OSKs=HB=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r55Fh-00043p-My
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:27:53 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20626.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc12067c-87b0-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 15:27:51 +0100 (CET)
Received: from AM6PR0502CA0063.eurprd05.prod.outlook.com
 (2603:10a6:20b:56::40) by AM9PR08MB6035.eurprd08.prod.outlook.com
 (2603:10a6:20b:2d9::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 14:27:48 +0000
Received: from AMS0EPF0000019A.eurprd05.prod.outlook.com
 (2603:10a6:20b:56:cafe::ee) by AM6PR0502CA0063.outlook.office365.com
 (2603:10a6:20b:56::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26 via Frontend
 Transport; Mon, 20 Nov 2023 14:27:47 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019A.mail.protection.outlook.com (10.167.16.246) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.13 via Frontend Transport; Mon, 20 Nov 2023 14:27:47 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Mon, 20 Nov 2023 14:27:47 +0000
Received: from dad9a6a57cb3.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EDB0D67E-51CF-417A-924A-6975E86317D0.1; 
 Mon, 20 Nov 2023 14:27:41 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id dad9a6a57cb3.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 20 Nov 2023 14:27:41 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV2PR08MB10356.eurprd08.prod.outlook.com (2603:10a6:150:d6::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Mon, 20 Nov
 2023 14:27:37 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%6]) with mapi id 15.20.7002.027; Mon, 20 Nov 2023
 14:27: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: fc12067c-87b0-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=NU8QDb+bsviL8jjdPDRGTd1YhPUZUaT+4a1Bh3lmv0I4p/cEopz0CKH5WkEBmFKlxT5Yy/XG9SQLWDTxmQGGk1ZjSQTUGbL/PSLwoJhxtrPPBYQveTCyCBjzZkndowaSo93LRrCvrouQNLC/TEioTESub201oXQNSA9m9hqcTLHPVc9S7NJuKsqX+iQDicNRAHQ5oLXupo+vcSBEXV0d2UXgxncyCxTVPeJUH6pNkZOCWLmMM+Svdtrt1jwgyIg9r6M+QN1gl07KcqCrLZ0pFLykeBmDNYqGR9iaDjxNlyq3W6jhtEpct0jK3UxWGYDwdd0NQBwxX7az19A4TYZjbg==
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=dJmh38ehQC9Pcj/51VUC4Ah9+U/3SWX1NyuDybmZXZc=;
 b=EtyM5de2ysTa5df8+P7ZzmJahWKS7i2rn2fQ7KjRdtf8TVmRMFIxWLIpMk0527OYMJbHGzk8gxj5JmmeAU9dwDuoZZCopuAy86gwhi3WepHnl4UNiSfWYBpdG1rTKbQ0zkLjl8fcNWKhI30kjDokrTwWFGuUzgHdaHwjNFbij+cJSJmp+rlV48yoGCmyFq/g2vUirqg4ByT8Wo0TN4rR1ljLAbUNIPgrpTiLqDKX8cmmiUv7YN8kOM3xEY8RMYKZkNTdntL5tR6OszVMCmuoVTJaOYp76woRXLLlJnrZ1Hm0iZUbclx9X88C6S7fSHphRmvIk37ikTk0TdXbTtqEnw==
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=dJmh38ehQC9Pcj/51VUC4Ah9+U/3SWX1NyuDybmZXZc=;
 b=15r2Zyg2ZPNNNFkns7TY7ML3Eq5gb6pHcRh9Pegsea2/nYW2I1PF2hBlR1/8rVm2OI93LxeklTQt8QV/Bt8Ml9CPHCR5Yntdlmnmx7SL8ZCYUnFRzv7lVxE/cLV5x8z4bGBwRpKgDENiPQLkvDzpd9IP/9SVwgOnU2pbwxJpOOo=
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: 87401bc26c0838dd
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BfyY9ZABOMRk2oCkSl32kXlekqkoqWdiiOTwPokwM4a0+nZXWqVZgKgjixZdPLxO3P6sT8B4Dp2Fh7k21RwskC0c8UDbMt9bJmfz1Xnm6pwF1/8NfZVPnxQHJiTFAHw6YZgUqFDDTHSSpw+81fMN+1c0g8SfUNudKBNJKhqCYjUGpjQYzcZAVfzthadZmKxf+v4kbMsXZmcAxXJMS5Jt3aODu6FeN/1WvIRTBcMk/S7mNDzjy4zy65B/pauj1qE0NbvPB3OUwSF1w6A/F1zO8PL/ATANGQf5MO2XvQPaT02Tz3mEgca5H3DXgvhIWwX5Qz/uAVWj8XCuhE7OmvHsMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dJmh38ehQC9Pcj/51VUC4Ah9+U/3SWX1NyuDybmZXZc=;
 b=l5zNp/hrq2JLAspqnzotcueIP32IhU0HAjod+oVrs/rBWoSjc0xqUGfUlRZUCm2jNBwoaSz17dMjlB/z8WRUhZrzLBQTIQ0pA28DEX4My092BSlf/jnwFm55f/Wqm/MDpfntEVDi0lt6TD0G+PGF35QR7I7XpxTvGJA4/U42UoqFrrGnujVe7v76uX7rSskhkZ9+1txOPVs9xGFGREtD62ROoU0iwZvxvnPohBJaGTuuXdxUI3KUJAOQDKD6wjdoT5TC6/g90ASfmR0DLvCpGCMuXapuHWg3aD3DK9X9zr75H33cUtedq/IQoEWZJMVW9PsmOzLljErlNrlFBWGC1g==
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=dJmh38ehQC9Pcj/51VUC4Ah9+U/3SWX1NyuDybmZXZc=;
 b=15r2Zyg2ZPNNNFkns7TY7ML3Eq5gb6pHcRh9Pegsea2/nYW2I1PF2hBlR1/8rVm2OI93LxeklTQt8QV/Bt8Ml9CPHCR5Yntdlmnmx7SL8ZCYUnFRzv7lVxE/cLV5x8z4bGBwRpKgDENiPQLkvDzpd9IP/9SVwgOnU2pbwxJpOOo=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Rahul Singh
	<Rahul.Singh@arm.com>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v5 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Topic: [PATCH v5 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Index: AQHaG4QK5MCX1n0HKkuH99Fs2YTq1LCDN0+AgAAIlICAAARyAA==
Date: Mon, 20 Nov 2023 14:27:36 +0000
Message-ID: <DB403D33-700B-41A4-94D5-233D26900708@arm.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
 <20231114090356.875180-4-luca.fancellu@arm.com>
 <98980da0-2940-43d2-a6c1-e064f4921e74@amd.com>
 <0c32e2eb-7ffe-486c-a11c-477c3cff5cba@xen.org>
 <a60d951b-7e23-4421-a7c6-68b99f33cba0@amd.com>
In-Reply-To: <a60d951b-7e23-4421-a7c6-68b99f33cba0@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GV2PR08MB10356:EE_|AMS0EPF0000019A:EE_|AM9PR08MB6035:EE_
X-MS-Office365-Filtering-Correlation-Id: ec39e002-95cf-4b52-e6f2-08dbe9d4de80
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:
 QDEGeMCJmW2QYqZl2s+HaAFuKHgsE2TQJu+f/pMxYfjNuPPdum1cB8hnVA9gxsVKlLhkmyvtAtQ8HElj/1lVKOwSFbKz0B9GovMEz6Mu74MTZHiyuFfb1oMpYosPl7R5Tgu0fVeINVivMsgbe9Uhdj1KXl8NdMdLWwe8XKJeW7C250GUS0biX+zGG8zeufXIaJrM/XzqR5ohTXk9VcfA7Ij9RBz7e3jISow2LoMJ2diRa2WUu8V7F2OCy9rz5EsV/SgRH8APipgqi75xykM1DbTKodn6dGENRRMsKbllfMxDoUrz3Wp4ucFzf6zM6W2CzADLSElx1GZu8o6Zk99QlC1tW4csGbKvrAOCAYAe6cOvd3eFRNQE5nWF5tbn79AHSLm1dvQRMglnOHfk6lpo27yevPoaZ0C6z1sjM8T8DG0IIm1iApxVmkTD/iL1OXRyCRsYjgztYT8uDXXmLfDPQLOUO08M5PIHVqbqbl6aWkgo5DhRz2bA50eALHFEAw2ydscEANDc0U1X1P0ZkqF7ul1dDtVIK0uK4Qm5LLeTcg5u65kIdoK8Mz5lMFkBQrBvqILAuEqrm213ffIm0gHUh7yRELYBCwuzQVST95ruJahp/0lHN22QpqGrUl1awoKlgnwyZBtFOq80EIkbpl+nAqJayr3F5ff3l7dPTuk3Htk=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(396003)(376002)(39860400002)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(122000001)(2616005)(6506007)(41300700001)(6512007)(33656002)(38070700009)(83380400001)(36756003)(26005)(8676002)(4326008)(8936002)(5660300002)(478600001)(86362001)(6486002)(2906002)(76116006)(71200400001)(38100700002)(66446008)(66556008)(64756008)(66476007)(110136005)(91956017)(66946007)(316002)(54906003)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <CDD1DE1CCD58834CA525127DE37D8E7D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB10356
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:
 AMS0EPF0000019A.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	3f931107-0333-489c-b3a7-08dbe9d4d7f0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xTgevFcabX/xUI6QNyNCozuzhxEnqAdUqtrNtQtQp1cXxlgWxjqU0uO+vagF7Zcb2PPuKWP+rP2Ye5/xbNV9u70uPUC2CA4dm0hpQcjNzWaNnx3c83E1OgQBWWbcC8qahM+aaE4QNcYCm8EIOAAB/pElcQLG9pc3sQ4Rneov/YtMtYgPEXlF9mscU75wpw5KxvrhWWIOQF4KnJH1FoR1tix/c5vny/MjkyPvdfNmutZ5OzgN+pEvegddWQyBzrsnTQbSaUhTWsIt/UR//eB/V2CGTUZ0jnJJJVtapn3a3Ws+4yZPQSlZDF0QkLChgOpG17j374qG9PFfAfbd7Tn1mXjHAY1FWQz5XceLvDRHiNXsjDS6JxhEuHO2mBSxELLmbmoQhgFhUWYNwjAUjD0B2L2fxJchLzcGv0Xcu6pQjAMo8Rzml4tkCvUuA0dbjUKaWcoYDsFmde4POywt72Papp00JGb+Fp7y5kuL4vx1+cuBaLlbur3FS2bRjfkQETz+RvpeN8Q216rA2i4QRYpxCC2AIsjnD+9VmtSi0vSJxbIBL6bgXMd/Mu7HU4iEcM9BqJxrgacd0VKaTT+3nDwCko4NWPFqCbwwC8jrWyzD5w73h0SLV4dNaACBPL/C5sMFOX0bXlwH269h7COBzGi2DMKSVGXhoRqpzx4caNNW1qRvYbrZPf7uXgZa2Hewhu4kIxkbmb2hOVGgwxrKefC+ZltQO5eYNqfr1IOHRN5MsAPfttDOgl3wzOWvJjUDyFDlE95dOLNk18WAoqqbIsfWeA==
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:(13230031)(4636009)(396003)(346002)(39860400002)(376002)(136003)(230922051799003)(82310400011)(451199024)(64100799003)(186009)(1800799012)(40470700004)(46966006)(36840700001)(40460700003)(83380400001)(336012)(6512007)(26005)(107886003)(47076005)(36860700001)(4326008)(8676002)(8936002)(41300700001)(2906002)(5660300002)(316002)(478600001)(6486002)(6506007)(110136005)(70586007)(70206006)(54906003)(36756003)(33656002)(81166007)(86362001)(82740400003)(356005)(2616005)(40480700001)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 14:27:47.7916
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ec39e002-95cf-4b52-e6f2-08dbe9d4de80
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:
	AMS0EPF0000019A.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6035

DQo+Pj4+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNv
bT4NCj4+PiBSZXZpZXdlZC1ieTogTWljaGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNvbT4N
Cj4+PiANCj4+PiB3aXRoIG9uZSByZW1hcmsuLi4NCj4+PiANCj4+Pj4gLS0tDQo+Pj4+IENoYW5n
ZXMgZnJvbSB2NDoNCj4+Pj4gIC0gZml4ZWQgbmFtZSBpbiBpbmNsdXNpb24gbWFjcm8gX19BU01f
KiBpbnN0ZWFkIG9mIF9fQVJNXyosIGZpeGVkDQo+Pj4+ICAgIGVtYWNzIGxvY2FsIHZhcmlhYmxl
ICdlbmQ6Jywgc3R5bGUgZml4IChNaWNoYWwpDQo+Pj4+IENoYW5nZXMgZnJvbSB2MzoNCj4+Pj4g
IC0gcmVtb3ZlIGhlYWRlciBpbiBkb20wbGVzcy1idWlsZC5jIChNaWNoYWwpDQo+Pj4+IENoYW5n
ZXMgZnJvbSB2MjoNCj4+Pj4gIC0gbW92ZSBhbGxvY2F0ZV9iYW5rX21lbW9yeSBiYWNrIGluIGRv
bWFpbl9idWlsZC5jLCByZW1vdmUgaGVhZGVyDQo+Pj4+ICAgIGZyb20gZG9tMGxlc3MtYnVpbGQu
Yy4NCj4+Pj4gLS0tDQo+Pj4+ICB4ZW4vYXJjaC9hcm0vTWFrZWZpbGUgICAgICAgICAgICAgICAg
ICAgICB8ICAgIDEgKw0KPj4+PiAgeGVuL2FyY2gvYXJtL2RvbTBsZXNzLWJ1aWxkLmMgICAgICAg
ICAgICAgfCAxMDE4ICsrKysrKysrKysrKysrKysrDQo+Pj4+ICB4ZW4vYXJjaC9hcm0vZG9tYWlu
X2J1aWxkLmMgICAgICAgICAgICAgICB8IDEyNjUgKysrLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4+
ICB4ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZG9tMGxlc3MtYnVpbGQuaCB8ICAgMjAgKw0KPj4+
PiAgeGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2RvbWFpbl9idWlsZC5oICAgfCAgIDYwICsNCj4+
Pj4gIHhlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9zZXR1cC5oICAgICAgICAgIHwgICAgMSAtDQo+
Pj4+ICB4ZW4vYXJjaC9hcm0vc2V0dXAuYyAgICAgICAgICAgICAgICAgICAgICB8ICAgMzMgKy0N
Cj4+Pj4gIDcgZmlsZXMgY2hhbmdlZCwgMTI0MCBpbnNlcnRpb25zKCspLCAxMTU4IGRlbGV0aW9u
cygtKQ0KPj4+PiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2FybS9kb20wbGVzcy1idWls
ZC5jDQo+Pj4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL2Rv
bTBsZXNzLWJ1aWxkLmgNCj4+Pj4gDQo+Pj4gDQo+Pj4gWy4uLl0NCj4+Pj4gZGlmZiAtLWdpdCBh
L3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kb20wbGVzcy1idWlsZC5oIGIveGVuL2FyY2gvYXJt
L2luY2x1ZGUvYXNtL2RvbTBsZXNzLWJ1aWxkLmgNCj4+Pj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN
Cj4+Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi44MTQ0NmNiZDhiZjMNCj4+Pj4gLS0tIC9kZXYvbnVs
bA0KPj4+PiArKysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZG9tMGxlc3MtYnVpbGQuaA0K
Pj4+PiBAQCAtMCwwICsxLDIwIEBADQo+Pj4+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog
R1BMLTIuMC1vbmx5ICovDQo+Pj4+ICsNCj4+Pj4gKyNpZm5kZWYgX19BU01fRE9NMExFU1NfQlVJ
TERfSF8NCj4+Pj4gKyNkZWZpbmUgX19BU01fRE9NMExFU1NfQlVJTERfSF8NCj4+Pj4gKw0KPj4+
PiArI2luY2x1ZGUgPGFzbS9rZXJuZWwuaD4NCj4+PiBObyBuZWVkIGZvciB0aGlzIGluY2x1ZGUs
IGVzcGVjaWFsbHkgaWYgeW91IGFyZSByZW1vdmluZyBpdCBpbiB0aGUgc3Vic2VxdWVudCBwYXRj
aC4NCj4+IA0KPj4gQXJlIHlvdSBzdWdnZXN0aW5nIHRoYXQgdGhpcyBwYXRjaCBidWlsZHMgd2l0
aG91dCBpbmNsdWRpbmcgYXNtL2tlcm5lbC5oPw0KPiBZZXMuDQo+IA0KPj4gDQo+Pj4gVGhpcyBj
b3VsZCBiZSBkb25lIG9uIGNvbW1pdCAoKyB0aGVyZSBpcyBhIGNvbmZsY2l0IGJldHdlZW4geW91
ciBzZXJpZXMgYW5kIEhlbnJ5J3MgbW11L21wdSBzcGxpdCkNCj4+IA0KPj4gV2hpbGUgSSBhbSBp
biBnZW5lcmFsIGhhcHB5IHRvIGhhbmRsZSBzb21lIGNoYW5nZXMgb24gY29tbWl0LCBJIGRvbid0
DQo+PiB3YW50IHRvIHNvbHZlIGNvbmZsaWN0IGJldHdlZW4gc2VyaWVzLg0KPj4gDQo+PiBPbmUg
d2lsbCBoYXZlIHRvIHJlYmFzZSBvbiB0b3Agb2YgdGhlIG90aGVycy4gSSBzdWdnZXN0IHRoYXQg
dGhpcyBpcw0KPj4ganVzdCByZWJhc2VkIG9uIHRvcCBvZiBIZW5yeSwgcHVyZWx5IGJlY2F1c2Ug
SSB3aWxsIGxpa2VseSBjb21taXQgaXQNCj4+IHRvZGF5IG9yIHRvbW9ycm93Lg0KPiBTb3VuZHMg
b2suDQoNCkhpIEp1bGllbiwgTWljaGFsLA0KDQpJIHdpbGwgcmViYXNlIHRoZSBzZXJpZSBvbiB0
b3Agb2YgSGVucnnigJlzIHBhdGNoZXMgd2hlbiB0aGV5IHdpbGwgYmUgbWVyZ2VkIGFuZCBJIHdp
bGwgYWRkcmVzcyB0aGUgcmVtYWluaW5nDQpjb21tZW50cy4NCg0KQ2hlZXJzLA0KTHVjYQ0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:48:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:48:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636895.992592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55Z4-00035X-3w; Mon, 20 Nov 2023 14:47:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636895.992592; Mon, 20 Nov 2023 14:47: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 1r55Z4-00035Q-1O; Mon, 20 Nov 2023 14:47:54 +0000
Received: by outflank-mailman (input) for mailman id 636895;
 Mon, 20 Nov 2023 14:47: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=/O0h=HB=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r55Z2-00035K-Hw
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:47:52 +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 c72b835b-87b3-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 15:47:50 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-507a98517f3so5752922e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 06:47:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c72b835b-87b3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700491670; x=1701096470; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=LU1TF2jyQixtKVIQcFjXucjYSXPXjHPbsNTVK9wQpT8=;
        b=ZmJ0c4FU0MyW7BKobpnPkRAYsx2fRumq6Eyf2NVkFO/NVdz90RycUfmTOOWTfmMKjc
         DKSu9t9+fpuKbtIl/XWyYhXzIuZ84gWqS7XVpu7PYRiiMtyKcu8vFqJFHRxD31UIW+1n
         Te34JJ4HaaAqyPx05Q31okt1l8F48ytx7MLPM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700491670; x=1701096470;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=LU1TF2jyQixtKVIQcFjXucjYSXPXjHPbsNTVK9wQpT8=;
        b=E0fZDQY9Cs8xKXBLO2mtYsVlLn2WjTqual6g33hxtFygYKrHhXGi8vQslTrzxOvgyq
         vIPZUPoLqbebjjuL4WoQL7ZkRHlvMzEHhAc0HjuXPr+a3TeaaQPsTQI4yBSlCwgCGOs8
         uw36LHZ+7yvKaRYXKsplTRevWJyDAqSH7pVDfiE7Wk/lDh2fZjuCImHnSo8SeekoVFzE
         LXa8I8bnMsX1s7E6v2z5xn8bXgcLpbT/x3N0P6rfaIpTCoQK/xmGKhIeK8gyaFlNmE9a
         rcrKsW34ponASFMlg31Qffs1U98QlrqhiaP5LR6hTUdyX0NBRvyFNZHpzDnJWB1CbZer
         S8RA==
X-Gm-Message-State: AOJu0Yw0X7ky4yXAqNbGy8oERF0PgkpcZKvm8gPg2ETJrvWBojE31Cc6
	BbZ/dUoLjVUphro+MKmLjW7S1jNjRjFE8kOBITH9Lg==
X-Google-Smtp-Source: AGHT+IE8rre+ePggvs8g2aUNhvjDXaUXqA09kBBeSFLZjdxseR1HfZVpiDzB5hMJPmeqBpAEThYwgPf7907ep28NJws=
X-Received: by 2002:ac2:5316:0:b0:50a:6fbe:fec4 with SMTP id
 c22-20020ac25316000000b0050a6fbefec4mr5703236lfh.33.1700491670105; Mon, 20
 Nov 2023 06:47:50 -0800 (PST)
MIME-Version: 1.0
References: <0cb1254f433536a9995c278c919372e226059934.camel@gmail.com>
In-Reply-To: <0cb1254f433536a9995c278c919372e226059934.camel@gmail.com>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Mon, 20 Nov 2023 14:47:13 +0000
Message-ID: <CAO-mL=zGHTKraQANov-SNABvzLXTKCZzYk=UebacCW8pxV0yRg@mail.gmail.com>
Subject: Re: Interest in Release Manager Role
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: xen-devel@lists.xenproject.org, Henry.Wang@arm.com, 
	marc.ungeschikts@vates.tech, olivier.lambert@vates.fr, 
	marc.ungeschikts@vates.fr
Content-Type: multipart/alternative; boundary="000000000000f0d52b060a969114"

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

Hi Oleksii,

Thanks for your email, and for volunteering to be the next release manager.
Don't forget to mention this on the next community call in December! I am
sure the community and myself will be happy to support you during this
process.

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group


On Mon, Nov 20, 2023 at 2:06=E2=80=AFPM Oleksii <oleksii.kurochko@gmail.com=
> wrote:

> Dear Xen Community,
>
> I am keen on stepping into the role of a Release Manager for our next
> release. Despite not having direct experience yet, I am eager to learn,
> adapt, and grow into this role with your guidance and support.
>
> Have a nice week.
>
> Best regards,
>  Oleksii
>

--000000000000f0d52b060a969114
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi Oleksii,<div><br></div><div>Thanks for your email, and =
for volunteering to be the next release manager.=C2=A0</div><div>Don&#39;t =
forget to mention this on the next community call in December! I am sure th=
e community and myself will be happy to support you during this process.</d=
iv><div><br clear=3D"all"><div><div dir=3D"ltr" class=3D"gmail_signature" d=
ata-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</div><=
div>Kelly Choi</div><div><br></div><div><div style=3D"color:rgb(136,136,136=
)">Open Source Community Manager</div><div style=3D"color:rgb(136,136,136)"=
>XenServer, Cloud Software Group</div></div></div></div></div><br></div></d=
iv><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On =
Mon, Nov 20, 2023 at 2:06=E2=80=AFPM Oleksii &lt;<a href=3D"mailto:oleksii.=
kurochko@gmail.com">oleksii.kurochko@gmail.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">Dear Xen Community,<br>
<br>
I am keen on stepping into the role of a Release Manager for our next<br>
release. Despite not having direct experience yet, I am eager to learn,<br>
adapt, and grow into this role with your guidance and support.<br>
<br>
Have a nice week.<br>
<br>
Best regards,<br>
=C2=A0Oleksii<br>
</blockquote></div>

--000000000000f0d52b060a969114--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:49:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:49:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636898.992603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55aO-0003ho-Fe; Mon, 20 Nov 2023 14:49:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636898.992603; Mon, 20 Nov 2023 14:49: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 1r55aO-0003hh-BD; Mon, 20 Nov 2023 14:49:16 +0000
Received: by outflank-mailman (input) for mailman id 636898;
 Mon, 20 Nov 2023 14: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=G1Kk=HB=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r55aM-0003gw-Pz
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:49:14 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f75e4e4a-87b3-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 15:49:12 +0100 (CET)
Received: from CH2PR19CA0020.namprd19.prod.outlook.com (2603:10b6:610:4d::30)
 by BN9PR12MB5098.namprd12.prod.outlook.com (2603:10b6:408:137::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 14:49:08 +0000
Received: from DS2PEPF00003448.namprd04.prod.outlook.com
 (2603:10b6:610:4d:cafe::b4) by CH2PR19CA0020.outlook.office365.com
 (2603:10b6:610:4d::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28 via Frontend
 Transport; Mon, 20 Nov 2023 14:49:08 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS2PEPF00003448.mail.protection.outlook.com (10.167.17.75) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 14:49:07 +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.2507.34; Mon, 20 Nov
 2023 08:49:07 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via
 Frontend Transport; Mon, 20 Nov 2023 08:49:05 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f75e4e4a-87b3-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bVLIT7ovbnt6c0AoWfHLF9dnDD5cm5/Pyiikg2EMSg9W4u9ODMiG0O2QxAbyWCSCrdfEKKEYvR0oXHkaEMH2OgPIHpllvxg3cC/cozRq8XYlulNPwLS6tONezt5p+WyaFub1GD49iwLFfkqB8cOM0B9QSlx1etVl2dmORgb6elZUIcmTlCStJnPMTo40uheKfn6+uMcj2QPFcsj/ZHdw2oghM2MJ0+FaPyEfzLUx8llA8M757gaH2PnWFwlo24rvGiI4kSW2OugFs3NKxhOPsOmN6IOd6eEjz+q6zYZ9CIthMJUpDDZ4IaF6tvN8tSzmv2Or3XrMHbKEZFLhr1XVbg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6lSlcj8484vSqQqESjqTujUe9C8wy8Gs0APPg+IKToI=;
 b=hn8642kr4Azg792W1ugrL9Yy0s/3BYbZpPs+SD6t2rWU1gUK5BXyr/KIKvyuCT7J7F5/tSk6TFExa5EryOMVbl2wGwogU3gNrlGFPDyQoBcqp2Gy7nC3KymmWt40VGSUEmmH9q0+BQUlnDa+i4kvBXN8TP97FOXvUWonlElwhoE3VxxomF6LFKIlW0Tc6QHlOBU8a4z8bVienoqp+KEWYFlpP+4Fk6R2h58YTm9uys9nuUrxv7EL32FPprN1EzoCxTdJ9QHhIKVn1uZW0AzB546SJrjHlt6XXop9EdH4Npyp11D4UnscPsqth/HJWKjFWwmRb3Xx4AdW9xYriFtaqg==
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 (0)
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=6lSlcj8484vSqQqESjqTujUe9C8wy8Gs0APPg+IKToI=;
 b=uigv6RzCCCjhM6hA02P/MjFQsQqXLvfZvBGhqmuD3Hj0eJqVjWz/xAydA4L3dnO3B/28Z9rUHyy6/a87J0glNkTkwJnT/BVSx688pgIxuXk9cXJLrD/XFLZxU9G9r62I9smlawYMp8oz4jgwm49WZPXv7JWlQOpEfszNV/wTe5Q=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <henry.wang@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 0/2] xen/arm: Split MMU code as the prepration of MPU work form Arm32
Date: Mon, 20 Nov 2023 14:48:57 +0000
Message-ID: <20231120144859.170965-1-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003448:EE_|BN9PR12MB5098:EE_
X-MS-Office365-Filtering-Correlation-Id: 3decc36a-6cc4-427b-0e0e-08dbe9d7d966
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Av5o4TIs39eAsVeqHxjMjQnm1hFAtNbCyOpqQ/BNfZeJurvFhxgFvaj6heYXU32cEs/1IOisaN8JoljD1Zm3SaocOElrazmXBr2mGxH66JTDQ8933bGE4XHlm6BPCWnBYuosEMkTnGonFk/C9Ou1iMCkdJaLPfaeerrpsscg6aZWT9elpYMIsXMJ3piM7FTkf/3x79+ueAHE4cy3KiGxG7CGjWH8aiqzkyK/uGc3bpJadk84y8/Misyd7Zf+rGEh71ztIi12eg53XMQUnJD0FVGSw6ZzPScrheNW7/5S5yYS8JYH3PNYe2+QdsUMsULt7m9Bd0Xo10srPK2a1kGwlF17VoEe84Hqz/9ff1XK2Ko0MQd/BkzDYtIjE2Xs5I+jemvucKjNAXia/9Y0QhJZgZTIoAftemivajjMq8enfdhShF+hC7rd8egAz8M8eQu5jrt1XRjnPXtOtjyWf8Czz5+ftCfoOqY4HSEYs4npOsTinvibvFfr5HQ93fwuKTJc02kwrlIeTwljXiHis8CYtTU5V5Kxcs0x8IkjrLyK2t1Ks7Z5+t8eHR7KUXthcWuteJRykTaKMCTVBbg3bFI1+h7LeqhIYsKac2ng/XGEKpebnSXVlCTAKF8IhZ37b6eifM8EGbHLGdPShRRTvLUQjEO2zRKlAIU2hRXBcLQ8kZfo2LBKSjjZakgitym0RCDJ000ZtPWx3sflgOGklNy8gT39/eH3axYqiNpPNsbpup/IzY5YVZO4gx9lMCPeVA21sRYoBPlEi1hjr+FR8NFr8Q==
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:(13230031)(4636009)(346002)(39860400002)(376002)(136003)(396003)(230922051799003)(82310400011)(1800799012)(186009)(64100799003)(451199024)(40470700004)(36840700001)(46966006)(40480700001)(5660300002)(4326008)(8676002)(41300700001)(8936002)(2906002)(70586007)(70206006)(316002)(6916009)(54906003)(40460700003)(47076005)(86362001)(36860700001)(478600001)(26005)(1076003)(36756003)(6666004)(2616005)(336012)(426003)(103116003)(356005)(81166007)(83380400001)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 14:49:07.6860
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3decc36a-6cc4-427b-0e0e-08dbe9d7d966
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:
	DS2PEPF00003448.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN9PR12MB5098

Hi,

These are the set of patches based on top of
"[PATCH v9 0/8] xen/arm: Split MMU code as the prepration of MPU work".
This is the preparation work to add MPU support on Arm32.

Changes from :-

v1 - Dropped "[XEN v1 1/4] xen/arm: arm32: Move pt_enforce_wxn() so that it can be bundled with other MMU functionality"
and "[XEN v1 4/4] xen/arm: traps.c: Enclose VMSA specific registers within CONFIG_MMU".

v2 - Changes mentioned in individual patches.

v3 - Changes mentioned in individual patches.

v4 - Changes mentioned in individual patches.

Ayan Kumar Halder (2):
  xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()
  xen/arm32: head Split and move MMU-specific head.S to mmu/head.S

 xen/arch/arm/arm32/head.S               | 587 +-----------------------
 xen/arch/arm/arm32/mmu/Makefile         |   1 +
 xen/arch/arm/arm32/mmu/head.S           | 575 +++++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/macros.h |  59 ++-
 4 files changed, 646 insertions(+), 576 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/head.S

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:49:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:49:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636902.992612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55ad-00043n-Lj; Mon, 20 Nov 2023 14:49:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636902.992612; Mon, 20 Nov 2023 14:49: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 1r55ad-00043g-J1; Mon, 20 Nov 2023 14:49:31 +0000
Received: by outflank-mailman (input) for mailman id 636902;
 Mon, 20 Nov 2023 14:49: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=G1Kk=HB=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r55ac-0003gw-9T
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:49:30 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7e89::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 004ca22c-87b4-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 15:49:28 +0100 (CET)
Received: from SA0PR11CA0058.namprd11.prod.outlook.com (2603:10b6:806:d0::33)
 by PH7PR12MB7258.namprd12.prod.outlook.com (2603:10b6:510:206::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.23; Mon, 20 Nov
 2023 14:49:23 +0000
Received: from SN1PEPF00026367.namprd02.prod.outlook.com
 (2603:10b6:806:d0:cafe::ca) by SA0PR11CA0058.outlook.office365.com
 (2603:10b6:806:d0::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Mon, 20 Nov 2023 14:49:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 14:49:22 +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.2507.34; Mon, 20 Nov
 2023 08:49:22 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via
 Frontend Transport; Mon, 20 Nov 2023 08:49:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 004ca22c-87b4-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VcswAyPTmsFMmosFnLKnAoE178CADe4MgXwIt28kRJGI/P8EMk4EdXdFQhZ5YZ42U7j+zi6/hy9wethwCDwvDyXn1f9PuQUvGhTpk61G6//ollQn89EL0Dy+kLEnDa55YwLywfs50ilf3X4soXURGV4sfk4VUVtveQEGebnPyQgWowTm9f9+1LWv9qMN1IBoto/98v5cyiNo6wEsPrDHGDu6FiFPRxef3O90z/9N0nmCq84Lypgl4p2JxKMbJtVZH0GHhTX9NaFsxqUox07hjskP0B6g3zZsaPLr+yPtAruKeLBllKYp6CcYHsl58Tzexhn58VhSOaoGBA3p/+UmgA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JZJrjolNjBjdGBvrhoUS/DFn0b4f+Qhe6XXmL49qaf0=;
 b=CjJo7VSGaudaXwsjhp13OjyEJG711Yz8vxm4tlcFiQZ0haf+1vPZ0QerrRuoLkdM4sP2HyWUy9G3kqABdgcomniTQPPE5jOPQR0wJUvrpC9/ifqgaPj+7n9BL21tvTtb/593cfko4+hRg7JYLHjUodsOBJDKJidWGlht6Z+xSzch0CL2d/1fglVDaOpjf8nB1w07KsZuZbhMzPqIbrzeR2VVY7op3fOjRIESm5pdt6Vye9TMyLbQldi8uXYPCK8S7Sa4qxtTqssdawLvDWXY2SJmUBDcYSvQdQJY0or7UfDxztTNVcNyElUxUmtmMcTCqcWUVROWRq1ydzvZeVY8Ew==
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 (0)
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=JZJrjolNjBjdGBvrhoUS/DFn0b4f+Qhe6XXmL49qaf0=;
 b=rVk1rLNg12pK1qpoNAzOAI7S0ZCQjy4bKZ0+XIOBN0iY8TtG4DjYbKA8WwaM33MlxVnhYUlcHwoa320l96h2yAb3pg1y/y0duazwqX338rt7Awf5IxPXlv0ktnYV77icL/bT4FqwbMZ/VakE1o8eEGaaSYpgZvld9kcBeU2/Dts=
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 <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <henry.wang@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 1/2] xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()
Date: Mon, 20 Nov 2023 14:48:58 +0000
Message-ID: <20231120144859.170965-2-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120144859.170965-1-ayan.kumar.halder@amd.com>
References: <20231120144859.170965-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|PH7PR12MB7258:EE_
X-MS-Office365-Filtering-Correlation-Id: 64c7e579-785f-478b-522f-08dbe9d7e259
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YRa1wklsbmrpKW043pvyjzCoXUq+7tvnrkDePI4U6NBDKqTSW4jZ2caJyZqPMWut023mHpiJVTyzBjuVzq6imaGC8FEeg788RKwRFvGuCISOB+lwx0NyycfH5XRkm8/FSreL2htSGIksgedHc5/HOgtmz+1xErBvsDNdpoJGdK/3DxGVXe0puJZaQSCL8FLE7LqpbxH7dCKHrFhemkv2O5+9Q/SrwTE6ffikU4B3uMpb+LCHTr1tJIl8zKblGRnoXKkxOb3A4VsehcZCo8M3IgzOywzOvlnSz+0rh2NRJbAMLbX56ivunIWdb081AvtrD+2mwLBFEAOyX5b8DQnu22lpBS+PjvQY78FyjhoH88W5irpYnWuVIRS9Ytqx9zLxSe9XH/LQUwr5rKYUwS8t/9bzKA2jEYpvYinCowTwHGA+rlnZEUyOFrzUjlv7zJZwc6Ie2BvVf86j5fRb7li+0DZ5gbiQvdzl8Rxgv90LCFo4Eowzg4KFB6JpVtGlnag2MJB1KR4oU1ccjlrQ/iRYnUxm57Xf34b2HukLLoPkYUlIPFZbsiJgNYlIbkB2vKAeV5AczruDHQUEbMtxR/nWHluETzssBLQpStC+J9zYMsFLQnrnkQoz2yk50IUAwuxLylqSUB8MH7J5NqsgMbep1q8hXvktarrqwkycXKwCZtFn1x5Ovce3Wa6KpXK/jqXsSkrywjahNa46W+wRzLzSXsuFhfEU/CPqyTbMaCOyPSMY9EB3hpJnqHJQkej4Qur/a9YgkW8Qv4z+WjpnZwWtyv3Co7CLIvDBDXpGM3we1dY=
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:(13230031)(4636009)(376002)(346002)(396003)(39860400002)(136003)(230922051799003)(82310400011)(1800799012)(64100799003)(451199024)(186009)(36840700001)(46966006)(40470700004)(336012)(426003)(6666004)(2616005)(478600001)(1076003)(26005)(83380400001)(8936002)(40480700001)(82740400003)(6916009)(70206006)(54906003)(316002)(4326008)(70586007)(8676002)(81166007)(47076005)(36860700001)(356005)(5660300002)(2906002)(40460700003)(103116003)(86362001)(36756003)(41300700001)(21314003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 14:49:22.6552
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 64c7e579-785f-478b-522f-08dbe9d7e259
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:
	SN1PEPF00026367.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7258

All the MMU related functionality have been clubbed together in
enable_boot_cpu_mm() for booting primary cpu and enable_secondary_cpu_mm() for
booting secondary cpus.
This is done in preparation for moving the code related to MMU in MMU specific
file and in order to support non MMU cpus in future.

This is based on d2f8df5b3ede ("xen/arm64: head.S: Introduce enable_{boot,secondary}_cpu_mm()").

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---

Changes from :-

v1 - 1. Added a proper commit message.
2. Some style and other fixes suggested in v1. 

v2 - 1. Updated the comment on top of enable_boot_cpu_mm() and
enable_secondary_cpu_mm() ie mentioned the input and output registers.
2. Updated the comment inside enable_boot_cpu_mm().

v3 - 1. No changes.

v4 - 1. Fixed a comment in enable_boot_cpu_mm() 

 xen/arch/arm/arm32/head.S | 102 ++++++++++++++++++++++++++++++--------
 1 file changed, 80 insertions(+), 22 deletions(-)

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 3011fb34aa..52fbb180ef 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -201,13 +201,11 @@ past_zImage:
 
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
 
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
         mov_w lr, primary_switched
-        b     enable_mmu
+        b     enable_boot_cpu_mm
+
 primary_switched:
-        bl    setup_fixmap
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
@@ -249,27 +247,11 @@ GLOBAL(init_secondary)
 #endif
         bl    check_cpu_mode
         bl    cpu_init
-        bl    create_page_tables
 
-        /* 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
-         * setup in prepare_secondary_mm.
-         *
-         * XXX: This is not compliant with the Arm Arm.
-         */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
-        ldrd  r4, r5, [r4]           /* Actual value */
-        dsb
-        mcrr  CP64(r4, r5, HTTBR)
-        dsb
-        isb
-        flush_xen_tlb_local r0
-        pt_enforce_wxn r0
+        b     enable_secondary_cpu_mm
 
+secondary_switched:
 #ifdef CONFIG_EARLY_PRINTK
         /* Use a virtual address to access the UART. */
         mov_w r11, EARLY_UART_VIRTUAL_ADDRESS
@@ -692,6 +674,82 @@ ready_to_switch:
         mov   pc, lr
 ENDPROC(switch_to_runtime_mapping)
 
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+enable_secondary_cpu_mm:
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Non-boot CPUs need to move on to the proper pagetables, which were
+         * setup in prepare_secondary_mm.
+         *
+         * XXX: This is not compliant with the Arm Arm.
+         */
+        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        ldrd  r4, r5, [r4]           /* Actual value */
+        dsb
+        mcrr  CP64(r4, r5, HTTBR)
+        dsb
+        isb
+        flush_xen_tlb_local r0
+        pt_enforce_wxn r0
+
+        /* Return to the virtual address requested by the caller. */
+        mov   pc, r6
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+enable_boot_cpu_mm:
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        mov   lr, r6
+
+        /*
+         * Prepare the fixmap. The function will return to the virtual address
+         * requested by the caller.
+         */
+        b     setup_fixmap
+ENDPROC(enable_boot_cpu_mm)
+
 /*
  * Remove the 1:1 map from the page-tables. It is not easy to keep track
  * where the 1:1 map was mapped, so we will look for the top-level entry
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:50:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:50:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636921.992635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55bS-0005t0-72; Mon, 20 Nov 2023 14:50:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636921.992635; Mon, 20 Nov 2023 14: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 1r55bS-0005st-2Z; Mon, 20 Nov 2023 14:50:22 +0000
Received: by outflank-mailman (input) for mailman id 636921;
 Mon, 20 Nov 2023 14: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=G1Kk=HB=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r55bQ-0004NZ-Ve
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:50:21 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20608.outbound.protection.outlook.com
 [2a01:111:f400:7eab::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1ea5ef11-87b4-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 15:50:18 +0100 (CET)
Received: from SJ0PR03CA0158.namprd03.prod.outlook.com (2603:10b6:a03:338::13)
 by CY5PR12MB6381.namprd12.prod.outlook.com (2603:10b6:930:3f::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 14:50:13 +0000
Received: from DS2PEPF00003441.namprd04.prod.outlook.com
 (2603:10b6:a03:338:cafe::c5) by SJ0PR03CA0158.outlook.office365.com
 (2603:10b6:a03:338::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Mon, 20 Nov 2023 14:50:13 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS2PEPF00003441.mail.protection.outlook.com (10.167.17.68) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 14:50:12 +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.2507.34; Mon, 20 Nov
 2023 08:50:11 -0600
Received: from xcbayankuma40.xilinx.com (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via
 Frontend Transport; Mon, 20 Nov 2023 08:50:10 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1ea5ef11-87b4-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HHe3uyKPNnFOsmfeR7KO+t6CN6oVa2bLz1YNTlz6UbPXlmqS3Nmhjv4Ck6llCBo/d3UpD7nrocDGe6aE/R4PLnGZaPMlt5oqTLjme8xdZdLzMFbhlLHpEIWeOdMJdlrgo99kx8KEiW4vxooWerHR9sEwOAZZYFXLMxb/BQH5WmglpT2od1ngXTTBX/LBuycE6Er+MS2KHwoku6hOOWjWysra+xbA6BqPCjueAFr2gEUXHkIuR2f+F4xxkzHjNOx4zqFzRvpPto96/rTCSbGkgWRCiRH68m4gE/S/jhKdE7ClCLoF9VUyAN6IFwL66x3GSQmf5p3HYZ1mNf3j+yzOHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m3sST4FSBL0sZ6x7rgMZv8lolK7yyoQAD3I1bz98tnQ=;
 b=a+xVfQhsgVKsvzXSjssPbfuiXS5NOTMUqvoFVS9CNSOfQw4QFKTXxKxvhRiaG1HNlJaXiM7kS+do32MVEZ4vIonGGUB3GkiJ1dLZ5CpOKn15Bl3f2Q9YIRXPevW8ZcU1d0u8rhsDYTCBDcXOP2HFZ2pTaxm2B446GwlWIx85G+Aori2mjQgMGQ9VAMaFrzzJgexYWC2E/jtPjHTDKV+KAf/LW9OH8icum7ng3DlZVgJo264LcdUN4y/wrhkQ8uI92wBacgEe14+iOfB2ql8yucJp0i9x3Hz8BhSNTceJxZWM4SCUUMmzhFcAe6TkZ49G2l432o9/t9b4D4rUt9uX4A==
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 (0)
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=m3sST4FSBL0sZ6x7rgMZv8lolK7yyoQAD3I1bz98tnQ=;
 b=rGxoAznBSMU6sPYIe0Czr8/P5yeV/z7rOHdhUdywz4RvM4/K/l/6EPrGGszf9TTkvKjdkQIvDVnMr3YQpr94/atMOPTdfkhY38ddNQpLWzlaXSPjDDybykIt2faE+PaL1qCwkzYEWpsMLKUVIo0WiIZF3nslXac7sGk+gATHhbE=
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: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, <stefano.stabellini@amd.com>, <julien@xen.org>,
	<Volodymyr_Babchuk@epam.com>, <bertrand.marquis@arm.com>,
	<michal.orzel@amd.com>, <jgrall@amazon.com>, <henry.wang@arm.com>, "Ayan
 Kumar Halder" <ayan.kumar.halder@amd.com>
Subject: [XEN v5 2/2] xen/arm32: head Split and move MMU-specific head.S to mmu/head.S
Date: Mon, 20 Nov 2023 14:48:59 +0000
Message-ID: <20231120144859.170965-3-ayan.kumar.halder@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231120144859.170965-1-ayan.kumar.halder@amd.com>
References: <20231120144859.170965-1-ayan.kumar.halder@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003441:EE_|CY5PR12MB6381:EE_
X-MS-Office365-Filtering-Correlation-Id: 236d9819-7d25-465c-71a7-08dbe9d80029
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5BGWgg1n52OekzoAozMGVMlSgVE3pkBvNvSwiZaQFAs7knk2xiOZZ+DvwXBvZlu2VRcQ2kmEoSrCzm//BUtpqk7R3vPxy9zh0+wY5ZDT0ZL8m9hlInPJGVrFOLfMMYbVv6hcdo7DI2xbD3Rg9gNpubH5CEGlljqv4XbA7xPVM/e7XcMtm6ltJITMiKXNi/dVOu+gsO2fM+4vwDipIeQUaZoOMo0JAlqG2if+H1k51cDFE9gvRt3v9M+fLSYoFA+eNGQ1sXCROzzqAPHIoVKyyqog/aKAEgS4zXRN58c3AG6KfhVtbKfo9wze4rSiukHxwNinhbZETbNYMIqWB5GeZtB0ccsFuFVCyfHjWcfJ1dU1O/6Cd+oWJkYj7/fvkYClmaWuo8vW30DAqkRrcclr3j9xhn5ucXcu9mrCMD0ucLU4pUf5Ith/32iWWy97R3Hs1I59zZCnOcTpR8b/un+V3zUbcUh6VLhUwM2kOuUoV/ItJ+rKYLMLEUSHfpIOwTgo0XQQ6WgUqX65f0Fo68IlDH2+sBcZ5kaVc4bXe8HOEfzRCICKtKEzVHosq5SCM+UlcmNAVx9sO9Q2pGfcgHd/0l6gFe0ngPkxzRtIW/WuU7L1UuS09Y5T60PNFoM4WeJef2Cl1Em4+fB1iiJh4LKg1no4EgeAG8ukI7bBgCMPw8tkcSF9De2MU6HaupPPOxQ87nc89/IG3GGbB6ftWpUjXcneO/VkrjBlqD+9aV6Q6ksZ+l00R+0DiMN7STqsukbBUwUK+ARK2tUz/uNWZTRK9VAGhMs7x3GTOP08a7qrvG7p7iOCO8k61Xd6IK2gdLevju8gGUasPcslvnMdLlMkvw==
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:(13230031)(4636009)(39860400002)(136003)(396003)(346002)(376002)(230273577357003)(230173577357003)(230922051799003)(64100799003)(451199024)(82310400011)(186009)(1800799012)(36840700001)(40470700004)(46966006)(30864003)(40460700003)(2906002)(4326008)(8676002)(8936002)(5660300002)(86362001)(103116003)(41300700001)(36756003)(2616005)(1076003)(26005)(6666004)(47076005)(36860700001)(83380400001)(82740400003)(336012)(426003)(81166007)(478600001)(40480700001)(356005)(70206006)(70586007)(54906003)(6916009)(316002)(21314003)(36900700001)(579004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 14:50:12.7199
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 236d9819-7d25-465c-71a7-08dbe9d80029
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:
	DS2PEPF00003441.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6381

The MMU specific code in head.S will not be used on MPU systems.
Instead of introducing more #ifdefs which will bring complexity
to the code, move MMU related code to mmu/head.S and keep common
code in head.S. Few notes while moving:
 - As "fail" in original head.S is very simple and this name is too
   easy to be conflicted, duplicate it in mmu/head.S instead of
   exporting it.
 - Realigned ".macro ret" so that the alignment matches to the other
   macros.
 - Rename puts to asm_puts, putn to asm_putn (this denotes that the
   macros are used within the context of assembly only).
 - Use ENTRY() for enable_secondary_cpu_mm, enable_boot_cpu_mm,
   setup_fixmap, asm_puts, asm_putn  as they will be used externally.
 - Removed early_puts() function definition when EARLY_PRINTK is not
   enabled.

Also move the assembly macros shared by head.S and mmu/head.S to
macros.h.

This is based on 6734327d76be ("xen/arm64: Split and move MMU-specific head.S to mmu/head.S").

Signed-off-by: Ayan Kumar Halder <ayan.kumar.halder@amd.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---

Changes from v1 :-

1. Added a commit message
2. Moved load_paddr to mmu/head.S

v2 :-

1. Renamed puts to asm_puts and putn to asm_putn. Exported asm_putn().
2. Moved XEN_TEMPORARY_OFFSET to head.S.
3. Some style issues.

v3 :-

1. Updated the comments on top of asm_puts() and asm_putn().
2. Removed some stubs.
3. PRINT() invokes asm_puts.

v4 :-
1. Fixed some style issues.
2. Removed early_puts() function definition when EARLY_PRINTK is not
   enabled.
3. Added R-b by Michal.

 xen/arch/arm/arm32/head.S               | 637 +-----------------------
 xen/arch/arm/arm32/mmu/Makefile         |   1 +
 xen/arch/arm/arm32/mmu/head.S           | 575 +++++++++++++++++++++
 xen/arch/arm/include/asm/arm32/macros.h |  59 ++-
 4 files changed, 642 insertions(+), 630 deletions(-)
 create mode 100644 xen/arch/arm/arm32/mmu/head.S

diff --git a/xen/arch/arm/arm32/head.S b/xen/arch/arm/arm32/head.S
index 52fbb180ef..34ab14a9e2 100644
--- a/xen/arch/arm/arm32/head.S
+++ b/xen/arch/arm/arm32/head.S
@@ -22,86 +22,10 @@
 
 #define ZIMAGE_MAGIC_NUMBER 0x016f2818
 
-#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
-#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
-#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
-#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
-
-#define PT_UPPER(x) (PT_##x & 0xf00)
-#define PT_LOWER(x) (PT_##x & 0x0ff)
-
-/* Convenience defines to get slot used by Xen mapping. */
-#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
-#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
-
-/* Offset between the early boot xen mapping and the runtime xen mapping */
-#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
-
 #if defined(CONFIG_EARLY_PRINTK) && defined(CONFIG_EARLY_PRINTK_INC)
 #include CONFIG_EARLY_PRINTK_INC
 #endif
 
-/*
- * Move an immediate constant into a 32-bit register using movw/movt
- * instructions.
- */
-.macro mov_w reg, word
-        movw  \reg, #:lower16:\word
-        movt  \reg, #:upper16:\word
-.endm
-
-/*
- * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
- * within the range +/- 4GB of the PC.
- *
- * @dst: destination register
- * @sym: name of the symbol
- */
-.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
-        mov_w \rb, \sym
-        add   \rb, \rb, r10
-.endm
-
-/*
- * Flush local TLBs
- *
- * @tmp: Scratch register
- *
- * See asm/arm32/flushtlb.h for the explanation of the sequence.
- */
-.macro flush_xen_tlb_local tmp
-        dsb   nshst
-        mcr   CP32(\tmp, TLBIALLH)
-        dsb   nsh
-        isb
-.endm
-
-/*
- * Enforce Xen page-tables do not contain mapping that are both
- * Writable and eXecutables.
- *
- * This should be called on each secondary CPU.
- */
-.macro pt_enforce_wxn tmp
-        mrc   CP32(\tmp, HSCTLR)
-        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
-        dsb
-        mcr   CP32(\tmp, HSCTLR)
-        /*
-         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
-         * before flushing the TLBs.
-         */
-        isb
-        flush_xen_tlb_local \tmp
-.endm
-
 /*
  * Common register usage in this file:
  *   r0  -
@@ -121,38 +45,6 @@
  *   r14 - LR
  *   r15 - PC
  */
-#ifdef CONFIG_EARLY_PRINTK
-/*
- * Macro to print a string to the UART, if there is one.
- *
- * Clobbers r0 - r3
- */
-#define PRINT(_s)           \
-        mov   r3, lr       ;\
-        adr_l r0, 98f      ;\
-        bl    puts         ;\
-        mov   lr, r3       ;\
-        RODATA_STR(98, _s)
-
-/*
- * Macro to print the value of register \rb
- *
- * Clobbers r0 - r4
- */
-.macro print_reg rb
-        mov   r0, \rb
-        mov   r4, lr
-        bl    putn
-        mov   lr, r4
-.endm
-
-#else /* CONFIG_EARLY_PRINTK */
-#define PRINT(s)
-
-.macro print_reg rb
-.endm
-
-#endif /* !CONFIG_EARLY_PRINTK */
 
         .section .text.header, "ax", %progbits
         .arm
@@ -355,480 +247,6 @@ 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 (physical
- * address)
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     physical address of the table to point to
- * virt:    virtual address
- * lvl:     page-table level
- *
- * Preserves \virt
- * Clobbers \tbl, r1 - r3
- *
- * Note that \tbl and \virt should be in a register other than r1 - r3
- */
-.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
-        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
-        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
-
-        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
-        orr   r2, r2, \tbl           /*           + \tbl paddr */
-        mov   r3, #0
-
-        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
-
-        strd  r2, r3, [\tbl, r1]
-.endm
-
-
-/*
- * Macro to create a page table entry in \ptbl to \tbl (symbol)
- *
- * ptbl:    table symbol where the entry will be created
- * tbl:     table symbol to point to
- * virt:    virtual address
- * lvl:     page-table level
- *
- * Preserves \virt
- * Clobbers r1 - r4
- *
- * Also use r10 for the phys offset.
- *
- * Note that \virt should be in a register other than r1 - r4
- */
-.macro create_table_entry, ptbl, tbl, virt, lvl
-        load_paddr r4, \tbl
-        create_table_entry_from_paddr \ptbl, r4, \virt, \lvl
- .endm
-
-/*
- * Macro to create a mapping entry in \tbl to \paddr. Only mapping in 3rd
- * level table (i.e page granularity) is supported.
- *
- * ptbl:     table symbol where the entry will be created
- * virt:    virtual address
- * phys:    physical address
- * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
- *
- * Preserves \virt, \phys
- * Clobbers r1 - r4
- *
- * 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
-        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
-        lsr   r1, \virt, #THIRD_SHIFT
-        and   r1, r1, r2             /* r1 := slot in \tlb */
-        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
-
-        lsr   r4, \phys, #THIRD_SHIFT
-        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
-
-        movw  r2, #\type             /* r2:r3 := right for section PT */
-        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
-        mov   r3, #0
-
-        adr_l r4, \ptbl
-
-        strd  r2, r3, [r4, r1]
-.endm
-
-/*
- * Rebuild the boot pagetable's first-level entries. The structure
- * is described in mm.c.
- *
- * After the CPU enables paging it will add the fixmap mapping
- * to these page tables, however this may clash with the 1:1
- * mapping. So each CPU must rebuild the page tables here with
- * the 1:1 in place.
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r5
- */
-create_page_tables:
-        /* Prepare the page-tables for mapping Xen */
-        mov_w r0, XEN_VIRT_START
-
-        /*
-         * We need to use a stash register because
-         * create_table_entry_paddr() will clobber the register storing
-         * the physical address of the table to point to.
-         */
-        adr_l r5, boot_third
-        mov_w r4, XEN_VIRT_START
-.rept XEN_NR_ENTRIES(2)
-        mov   r0, r5                        /* r0 := paddr(l3 table) */
-        create_table_entry_from_paddr boot_second, r0, r4, 2
-        add   r4, r4, #XEN_PT_LEVEL_SIZE(2) /* r4 := Next vaddr */
-        add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
-.endr
-
-        /*
-         * Find the size of Xen in pages and multiply by the size of a
-         * PTE. This will then be compared in the mapping loop below.
-         *
-         * Note the multiplication is just to avoid using an extra
-         * register/instruction per iteration.
-         */
-        mov_w r0, _start            /* r0 := vaddr(_start) */
-        mov_w r1, _end              /* r1 := vaddr(_end) */
-        sub   r0, r1, r0            /* r0 := effective size of Xen */
-        lsr   r0, r0, #PAGE_SHIFT   /* r0 := Number of pages for Xen */
-        lsl   r0, r0, #3            /* r0 := Number of pages * PTE size */
-
-        /* Setup boot_third: */
-        adr_l r4, boot_third
-
-        lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
-        lsl   r2, r2, #THIRD_SHIFT
-        orr   r2, r2, #PT_UPPER(MEM_L3) /* r2:r3 := map */
-        orr   r2, r2, #PT_LOWER(MEM_L3)
-        mov   r3, #0x0
-
-        /* ... map of vaddr(start) in boot_third */
-        mov   r1, #0
-1:      strd  r2, r3, [r4, r1]       /* Map vaddr(start) */
-        add   r2, r2, #PAGE_SIZE     /* Next page */
-        add   r1, r1, #8             /* Next slot */
-        cmp   r1, r0                 /* Loop until we map all of Xen */
-        blo   1b
-
-        /*
-         * Setup the 1:1 mapping so we can turn the MMU on. Note that
-         * only the first page of Xen will be part of the 1:1 mapping.
-         */
-        create_table_entry boot_pgtable, boot_second_id, r9, 1
-        create_table_entry boot_second_id, boot_third_id, r9, 2
-        create_mapping_entry boot_third_id, r9, r9
-
-        /*
-         * Find the first slot used. If the slot is not the same
-         * as TEMPORARY_AREA_FIRST_SLOT, then we will want to switch
-         * to the temporary mapping before jumping to the runtime
-         * virtual mapping.
-         */
-        get_table_slot r1, r9, 1     /* r1 := first slot */
-        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
-        bne   use_temporary_mapping
-
-        mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-        mov   r12, #0                /* r12 := temporary mapping not created */
-        mov   pc, lr
-
-use_temporary_mapping:
-        /*
-         * The identity mapping is not using the first slot
-         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
-         * See switch_to_runtime_mapping for more details.
-         */
-        PRINT("- Create temporary mapping -\r\n")
-
-        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
-        mov_w r0, TEMPORARY_XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-
-        mov   r12, #1                /* r12 := temporary mapping created */
-        mov   pc, lr
-ENDPROC(create_page_tables)
-
-/*
- * 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:
- *   r9 : paddr(start)
- *  r12 : Was the temporary mapping created?
- *   lr : Virtual address to return to
- *
- * Clobbers r0 - r5
- */
-enable_mmu:
-        PRINT("- Turning on paging -\r\n")
-
-        /*
-         * The state of the TLBs is unknown before turning on the MMU.
-         * Flush them to avoid stale one.
-         */
-        flush_xen_tlb_local r0
-
-        /* Write Xen's PT's paddr into the HTTBR */
-        adr_l r0, boot_pgtable
-        mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
-        mcrr  CP64(r0, r1, HTTBR)
-        isb
-
-        mrc   CP32(r0, HSCTLR)
-        /* Enable MMU and D-cache */
-        orr   r0, r0, #(SCTLR_Axx_ELx_M|SCTLR_Axx_ELx_C)
-        dsb                          /* Flush PTE writes and finish reads */
-        mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
-        isb                          /* Now, flush the icache */
-
-        /*
-         * The MMU is turned on and we are in the 1:1 mapping. Switch
-         * to the runtime mapping.
-         */
-        mov   r5, lr                /* Save LR before overwritting it */
-        mov_w lr, 1f                /* Virtual address in the runtime mapping */
-        b     switch_to_runtime_mapping
-1:
-        mov   lr, r5                /* Restore LR */
-        /*
-         * At this point, either the 1:1 map or the temporary mapping
-         * will be present. The former may clash with other parts of the
-         * Xen virtual memory layout. As both of them are not used
-         * anymore, remove them completely to avoid having to worry
-         * about replacing existing mapping afterwards.
-         *
-         * On return this will jump to the virtual address requested by
-         * the caller.
-         */
-        teq   r12, #0
-        beq   remove_identity_mapping
-        b     remove_temporary_mapping
-ENDPROC(enable_mmu)
-
-/*
- * Switch to the runtime mapping. The logic depends on whether the
- * runtime virtual region is clashing with the physical address
- *
- *  - If it is not clashing, we can directly jump to the address in
- *    the runtime mapping.
- *  - If it is clashing, create_page_tables() would have mapped Xen to
- *    a temporary virtual address. We need to switch to the temporary
- *    mapping so we can remove the identity mapping and map Xen at the
- *    correct position.
- *
- * Inputs
- *    r9: paddr(start)
- *   r12: Was a temporary mapping created?
- *    lr: Address in the runtime mapping to jump to
- *
- * Clobbers r0 - r4
- */
-switch_to_runtime_mapping:
-        /*
-         * Jump to the runtime mapping if the virt and phys are not
-         * clashing
-         */
-        teq   r12, #0
-        beq   ready_to_switch
-
-        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
-        mov_w r0, 1f
-        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
-        mov   pc, r0
-
-1:
-        /* Remove boot_second_id */
-        mov   r2, #0
-        mov   r3, #0
-        adr_l r0, boot_pgtable
-        get_table_slot r1, r9, 1            /* r1 := first slot */
-        lsl   r1, r1, #3                    /* r1 := first slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-
-        /* Map boot_second into boot_pgtable */
-        mov_w r0, XEN_VIRT_START
-        create_table_entry boot_pgtable, boot_second, r0, 1
-
-        /* Ensure any page table updates are visible before continuing */
-        dsb   nsh
-        /*
-         * The function will return on the runtime mapping. So we want
-         * to prevent instruction fetch before the dsb completes.
-         */
-        isb
-
-ready_to_switch:
-        mov   pc, lr
-ENDPROC(switch_to_runtime_mapping)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *   lr : Virtual address to return to.
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r6
- */
-enable_secondary_cpu_mm:
-        mov   r6, lr
-
-        bl    create_page_tables
-
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
-        mov_w lr, 1f
-        b     enable_mmu
-1:
-        /*
-         * Non-boot CPUs need to move on to the proper pagetables, which were
-         * setup in prepare_secondary_mm.
-         *
-         * XXX: This is not compliant with the Arm Arm.
-         */
-        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
-        ldrd  r4, r5, [r4]           /* Actual value */
-        dsb
-        mcrr  CP64(r4, r5, HTTBR)
-        dsb
-        isb
-        flush_xen_tlb_local r0
-        pt_enforce_wxn r0
-
-        /* Return to the virtual address requested by the caller. */
-        mov   pc, r6
-ENDPROC(enable_secondary_cpu_mm)
-
-/*
- * Enable mm (turn on the data cache and the MMU) for the boot CPU.
- * The function will return to the virtual address provided in LR (e.g. the
- * runtime mapping).
- *
- * Inputs:
- *   r9 : paddr(start)
- *   r10: phys offset
- *   lr : Virtual address to return to.
- *
- * Output:
- *   r12: Was a temporary mapping created?
- *
- * Clobbers r0 - r6
- */
-enable_boot_cpu_mm:
-        mov   r6, lr
-
-        bl    create_page_tables
-
-        /* Address in the runtime mapping to jump to after the MMU is enabled */
-        mov_w lr, 1f
-        b     enable_mmu
-1:
-        mov   lr, r6
-
-        /*
-         * Prepare the fixmap. The function will return to the virtual address
-         * requested by the caller.
-         */
-        b     setup_fixmap
-ENDPROC(enable_boot_cpu_mm)
-
-/*
- * Remove the 1:1 map from the page-tables. It is not easy to keep track
- * where the 1:1 map was mapped, so we will look for the top-level entry
- * exclusive to the 1:1 map and remove it.
- *
- * Inputs:
- *   r9 : paddr(start)
- *
- * Clobbers r0 - r3
- */
-remove_identity_mapping:
-        /* r2:r3 := invalid page-table entry */
-        mov   r2, #0x0
-        mov   r3, #0x0
-
-        /* Find the first slot used and remove it */
-        get_table_slot r1, r9, 1     /* r1 := first slot */
-        mov_w r0, boot_pgtable       /* r0 := root table */
-        lsl   r1, r1, #3             /* r1 := Slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-        mov   pc, lr
-ENDPROC(remove_identity_mapping)
-
-/*
- * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
- *
- * Clobbers r0 - r3
- */
-remove_temporary_mapping:
-        /* r2:r3 := invalid page-table entry */
-        mov   r2, #0
-        mov   r3, #0
-
-        adr_l r0, boot_pgtable
-        mov_w r1, TEMPORARY_XEN_VIRT_START
-        get_table_slot r1, r1, 1     /* r1 := first slot */
-        lsl   r1, r1, #3             /* r1 := first slot offset */
-        strd  r2, r3, [r0, r1]
-
-        flush_xen_tlb_local r0
-
-        mov  pc, lr
-ENDPROC(remove_temporary_mapping)
-
-/*
- * Map the UART in the fixmap (when earlyprintk is used) and hook the
- * fixmap table in the page tables.
- *
- * The fixmap cannot be mapped in create_page_tables because it may
- * clash with the 1:1 mapping.
- *
- * Inputs:
- *   r10: Physical offset
- *   r11: Early UART base physical address
- *
- * Clobbers r0 - r4
- */
-setup_fixmap:
-#if defined(CONFIG_EARLY_PRINTK)
-        /* Add UART to the fixmap table */
-        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
-        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
-        /* Ensure any page table updates made above have occurred. */
-        dsb   nshst
-        /*
-         * The fixmap area will be used soon after. So ensure no hardware
-         * translation happens before the dsb completes.
-         */
-        isb
-
-        mov   pc, lr
-ENDPROC(setup_fixmap)
-
 /*
  * Setup the initial stack and jump to the C world
  *
@@ -856,38 +274,6 @@ fail:   PRINT("- Boot failed -\r\n")
         b     1b
 ENDPROC(fail)
 
-/*
- * Switch TTBR
- * r1:r0       ttbr
- *
- * TODO: This code does not comply with break-before-make.
- */
-ENTRY(switch_ttbr)
-        dsb                            /* Ensure the flushes happen before
-                                        * continuing */
-        isb                            /* Ensure synchronization with previous
-                                        * changes to text */
-        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
-        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
-        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
-        dsb                            /* Ensure completion of TLB+BP flush */
-        isb
-
-        mcrr  CP64(r0, r1, HTTBR)
-
-        dsb                            /* ensure memory accesses do not cross
-                                        * over the TTBR0 write */
-        isb                            /* Ensure synchronization with previous
-                                        * changes to text */
-        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
-        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
-        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
-        dsb                            /* Ensure completion of TLB+BP flush */
-        isb
-
-        mov pc, lr
-ENDPROC(switch_ttbr)
-
 #ifdef CONFIG_EARLY_PRINTK
 /*
  * Initialize the UART. Should only be called on the boot CPU.
@@ -908,26 +294,28 @@ ENDPROC(init_uart)
 
 /*
  * Print early debug messages.
+ * Note: This function must be called from assembly.
  * r0: Nul-terminated string to print.
  * r11: Early UART base address
  * Clobbers r0-r1
  */
-puts:
+ENTRY(asm_puts)
         early_uart_ready r11, r1
         ldrb  r1, [r0], #1           /* Load next char */
         teq   r1, #0                 /* Exit on nul */
         moveq pc, lr
         early_uart_transmit r11, r1
-        b puts
-ENDPROC(puts)
+        b asm_puts
+ENDPROC(asm_puts)
 
 /*
- * Print a 32-bit number in hex.  Specific to the PL011 UART.
+ * Print a 32-bit number in hex.
+ * Note: This function must be called from assembly.
  * r0: Number to print.
  * r11: Early UART base address
  * Clobbers r0-r3
  */
-putn:
+ENTRY(asm_putn)
         adr_l r1, hex
         mov   r3, #8
 1:
@@ -939,18 +327,11 @@ putn:
         subs  r3, r3, #1
         bne   1b
         mov   pc, lr
-ENDPROC(putn)
+ENDPROC(asm_putn)
 
 RODATA_STR(hex, "0123456789abcdef")
 
-#else  /* CONFIG_EARLY_PRINTK */
-
-ENTRY(early_puts)
-init_uart:
-puts:
-putn:   mov   pc, lr
-
-#endif /* !CONFIG_EARLY_PRINTK */
+#endif /* CONFIG_EARLY_PRINTK */
 
 /* This provides a C-API version of __lookup_processor_type */
 ENTRY(lookup_processor_type)
diff --git a/xen/arch/arm/arm32/mmu/Makefile b/xen/arch/arm/arm32/mmu/Makefile
index b18cec4836..a8a750a3d0 100644
--- a/xen/arch/arm/arm32/mmu/Makefile
+++ b/xen/arch/arm/arm32/mmu/Makefile
@@ -1 +1,2 @@
+obj-y += head.o
 obj-y += mm.o
diff --git a/xen/arch/arm/arm32/mmu/head.S b/xen/arch/arm/arm32/mmu/head.S
new file mode 100644
index 0000000000..4e6395e787
--- /dev/null
+++ b/xen/arch/arm/arm32/mmu/head.S
@@ -0,0 +1,575 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * xen/arch/arm/arm32/mmu/head.S
+ *
+ * Arm32 MMU specific start-of-day code.
+ */
+
+#include <asm/page.h>
+#include <asm/early_printk.h>
+
+#define PT_PT     0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_MEM    0xf7d /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=0 P=1 */
+#define PT_MEM_L3 0xf7f /* nG=1 AF=1 SH=11 AP=01 NS=1 ATTR=111 T=1 P=1 */
+#define PT_DEV    0xe71 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=0 P=1 */
+#define PT_DEV_L3 0xe73 /* nG=1 AF=1 SH=10 AP=01 NS=1 ATTR=100 T=1 P=1 */
+
+#define PT_UPPER(x) (PT_##x & 0xf00)
+#define PT_LOWER(x) (PT_##x & 0x0ff)
+
+/* Convenience defines to get slot used by Xen mapping. */
+#define XEN_FIRST_SLOT      first_table_offset(XEN_VIRT_START)
+#define XEN_SECOND_SLOT     second_table_offset(XEN_VIRT_START)
+
+/* Offset between the early boot xen mapping and the runtime xen mapping */
+#define XEN_TEMPORARY_OFFSET      (TEMPORARY_XEN_VIRT_START - XEN_VIRT_START)
+
+.macro load_paddr rb, sym
+        mov_w \rb, \sym
+        add   \rb, \rb, r10
+.endm
+
+/*
+ * Flush local TLBs
+ *
+ * @tmp: Scratch register
+ *
+ * See asm/arm32/flushtlb.h for the explanation of the sequence.
+ */
+.macro flush_xen_tlb_local tmp
+        dsb   nshst
+        mcr   CP32(\tmp, TLBIALLH)
+        dsb   nsh
+        isb
+.endm
+
+/*
+ * Enforce Xen page-tables do not contain mapping that are both
+ * Writable and eXecutables.
+ *
+ * This should be called on each secondary CPU.
+ */
+.macro pt_enforce_wxn tmp
+        mrc   CP32(\tmp, HSCTLR)
+        orr   \tmp, \tmp, #SCTLR_Axx_ELx_WXN
+        dsb
+        mcr   CP32(\tmp, HSCTLR)
+        /*
+         * The TLBs may cache SCTLR_EL2.WXN. So ensure it is synchronized
+         * before flushing the TLBs.
+         */
+        isb
+        flush_xen_tlb_local \tmp
+.endm
+
+/* 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 (physical
+ * address)
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     physical address of the table to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ *
+ * Preserves \virt
+ * Clobbers \tbl, r1 - r3
+ *
+ * Note that \tbl and \virt should be in a register other than r1 - r3
+ */
+.macro create_table_entry_from_paddr, ptbl, tbl, virt, lvl
+        get_table_slot r1, \virt, \lvl  /* r1 := slot in \tbl */
+        lsl   r1, r1, #3                /* r1 := slot offset in \tbl */
+
+        movw  r2, #PT_PT             /* r2:r3 := right for linear PT */
+        orr   r2, r2, \tbl           /*           + \tbl paddr */
+        mov   r3, #0
+
+        adr_l \tbl, \ptbl            /* \tbl := (v,p)addr of \ptbl */
+
+        strd  r2, r3, [\tbl, r1]
+.endm
+
+/*
+ * Macro to create a page table entry in \ptbl to \tbl (symbol)
+ *
+ * ptbl:    table symbol where the entry will be created
+ * tbl:     table symbol to point to
+ * virt:    virtual address
+ * lvl:     page-table level
+ *
+ * Preserves \virt
+ * Clobbers r1 - r4
+ *
+ * Also use r10 for the phys offset.
+ *
+ * Note that \virt should be in a register other than r1 - r4
+ */
+.macro create_table_entry, ptbl, tbl, virt, lvl
+        load_paddr r4, \tbl
+        create_table_entry_from_paddr \ptbl, r4, \virt, \lvl
+ .endm
+
+/*
+ * Macro to create a mapping entry in \tbl to \paddr. Only mapping in 3rd
+ * level table (i.e page granularity) is supported.
+ *
+ * ptbl:     table symbol where the entry will be created
+ * virt:    virtual address
+ * phys:    physical address
+ * type:    mapping type. If not specified it will be normal memory (PT_MEM_L3)
+ *
+ * Preserves \virt, \phys
+ * Clobbers r1 - r4
+ *
+ * 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
+        mov_w r2, XEN_PT_LPAE_ENTRY_MASK
+        lsr   r1, \virt, #THIRD_SHIFT
+        and   r1, r1, r2             /* r1 := slot in \tlb */
+        lsl   r1, r1, #3             /* r1 := slot offset in \tlb */
+
+        lsr   r4, \phys, #THIRD_SHIFT
+        lsl   r4, r4, #THIRD_SHIFT   /* r4 := PAGE_ALIGNED(phys) */
+
+        movw  r2, #\type             /* r2:r3 := right for section PT */
+        orr   r2, r2, r4             /*          + PAGE_ALIGNED(phys) */
+        mov   r3, #0
+
+        adr_l r4, \ptbl
+
+        strd  r2, r3, [r4, r1]
+.endm
+
+.section .text.idmap, "ax", %progbits
+
+/*
+ * Rebuild the boot pagetable's first-level entries. The structure
+ * is described in mm.c.
+ *
+ * After the CPU enables paging it will add the fixmap mapping
+ * to these page tables, however this may clash with the 1:1
+ * mapping. So each CPU must rebuild the page tables here with
+ * the 1:1 in place.
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r5
+ */
+create_page_tables:
+        /* Prepare the page-tables for mapping Xen */
+        mov_w r0, XEN_VIRT_START
+
+        /*
+         * We need to use a stash register because
+         * create_table_entry_paddr() will clobber the register storing
+         * the physical address of the table to point to.
+         */
+        adr_l r5, boot_third
+        mov_w r4, XEN_VIRT_START
+.rept XEN_NR_ENTRIES(2)
+        mov   r0, r5                        /* r0 := paddr(l3 table) */
+        create_table_entry_from_paddr boot_second, r0, r4, 2
+        add   r4, r4, #XEN_PT_LEVEL_SIZE(2) /* r4 := Next vaddr */
+        add   r5, r5, #PAGE_SIZE            /* r5 := Next table */
+.endr
+
+        /*
+         * Find the size of Xen in pages and multiply by the size of a
+         * PTE. This will then be compared in the mapping loop below.
+         *
+         * Note the multiplication is just to avoid using an extra
+         * register/instruction per iteration.
+         */
+        mov_w r0, _start            /* r0 := vaddr(_start) */
+        mov_w r1, _end              /* r1 := vaddr(_end) */
+        sub   r0, r1, r0            /* r0 := effective size of Xen */
+        lsr   r0, r0, #PAGE_SHIFT   /* r0 := Number of pages for Xen */
+        lsl   r0, r0, #3            /* r0 := Number of pages * PTE size */
+
+        /* Setup boot_third: */
+        adr_l r4, boot_third
+
+        lsr   r2, r9, #THIRD_SHIFT  /* Base address for 4K mapping */
+        lsl   r2, r2, #THIRD_SHIFT
+        orr   r2, r2, #PT_UPPER(MEM_L3) /* r2:r3 := map */
+        orr   r2, r2, #PT_LOWER(MEM_L3)
+        mov   r3, #0x0
+
+        /* ... map of vaddr(start) in boot_third */
+        mov   r1, #0
+1:      strd  r2, r3, [r4, r1]       /* Map vaddr(start) */
+        add   r2, r2, #PAGE_SIZE     /* Next page */
+        add   r1, r1, #8             /* Next slot */
+        cmp   r1, r0                 /* Loop until we map all of Xen */
+        blo   1b
+
+        /*
+         * Setup the 1:1 mapping so we can turn the MMU on. Note that
+         * only the first page of Xen will be part of the 1:1 mapping.
+         */
+        create_table_entry boot_pgtable, boot_second_id, r9, 1
+        create_table_entry boot_second_id, boot_third_id, r9, 2
+        create_mapping_entry boot_third_id, r9, r9
+
+        /*
+         * Find the first slot used. If the slot is not the same
+         * as TEMPORARY_AREA_FIRST_SLOT, then we will want to switch
+         * to the temporary mapping before jumping to the runtime
+         * virtual mapping.
+         */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
+        cmp   r1, #TEMPORARY_AREA_FIRST_SLOT
+        bne   use_temporary_mapping
+
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+        mov   r12, #0                /* r12 := temporary mapping not created */
+        mov   pc, lr
+
+use_temporary_mapping:
+        /*
+         * The identity mapping is not using the first slot
+         * TEMPORARY_AREA_FIRST_SLOT. Create a temporary mapping.
+         * See switch_to_runtime_mapping for more details.
+         */
+        PRINT("- Create temporary mapping -\r\n")
+
+        /* Map boot_second (cover Xen mappings) to the temporary 1st slot */
+        mov_w r0, TEMPORARY_XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        mov   r12, #1                /* r12 := temporary mapping created */
+        mov   pc, lr
+ENDPROC(create_page_tables)
+
+/*
+ * 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:
+ *   r9 : paddr(start)
+ *  r12 : Was the temporary mapping created?
+ *   lr : Virtual address to return to
+ *
+ * Clobbers r0 - r5
+ */
+enable_mmu:
+        PRINT("- Turning on paging -\r\n")
+
+        /*
+         * The state of the TLBs is unknown before turning on the MMU.
+         * Flush them to avoid stale one.
+         */
+        flush_xen_tlb_local r0
+
+        /* Write Xen's PT's paddr into the HTTBR */
+        adr_l r0, boot_pgtable
+        mov   r1, #0                 /* r0:r1 is paddr (boot_pagetable) */
+        mcrr  CP64(r0, r1, HTTBR)
+        isb
+
+        mrc   CP32(r0, HSCTLR)
+        /* Enable MMU and D-cache */
+        orr   r0, r0, #(SCTLR_Axx_ELx_M|SCTLR_Axx_ELx_C)
+        dsb                          /* Flush PTE writes and finish reads */
+        mcr   CP32(r0, HSCTLR)       /* now paging is enabled */
+        isb                          /* Now, flush the icache */
+
+        /*
+         * The MMU is turned on and we are in the 1:1 mapping. Switch
+         * to the runtime mapping.
+         */
+        mov   r5, lr                /* Save LR before overwritting it */
+        mov_w lr, 1f                /* Virtual address in the runtime mapping */
+        b     switch_to_runtime_mapping
+1:
+        mov   lr, r5                /* Restore LR */
+        /*
+         * At this point, either the 1:1 map or the temporary mapping
+         * will be present. The former may clash with other parts of the
+         * Xen virtual memory layout. As both of them are not used
+         * anymore, remove them completely to avoid having to worry
+         * about replacing existing mapping afterwards.
+         *
+         * On return this will jump to the virtual address requested by
+         * the caller.
+         */
+        teq   r12, #0
+        beq   remove_identity_mapping
+        b     remove_temporary_mapping
+ENDPROC(enable_mmu)
+
+/*
+ * Switch to the runtime mapping. The logic depends on whether the
+ * runtime virtual region is clashing with the physical address
+ *
+ *  - If it is not clashing, we can directly jump to the address in
+ *    the runtime mapping.
+ *  - If it is clashing, create_page_tables() would have mapped Xen to
+ *    a temporary virtual address. We need to switch to the temporary
+ *    mapping so we can remove the identity mapping and map Xen at the
+ *    correct position.
+ *
+ * Inputs
+ *    r9: paddr(start)
+ *   r12: Was a temporary mapping created?
+ *    lr: Address in the runtime mapping to jump to
+ *
+ * Clobbers r0 - r4
+ */
+switch_to_runtime_mapping:
+        /*
+         * Jump to the runtime mapping if the virt and phys are not
+         * clashing
+         */
+        teq   r12, #0
+        beq   ready_to_switch
+
+        /* We are still in the 1:1 mapping. Jump to the temporary Virtual address. */
+        mov_w r0, 1f
+        add   r0, r0, #XEN_TEMPORARY_OFFSET /* r0 := address in temporary mapping */
+        mov   pc, r0
+
+1:
+        /* Remove boot_second_id */
+        mov   r2, #0
+        mov   r3, #0
+        adr_l r0, boot_pgtable
+        get_table_slot r1, r9, 1            /* r1 := first slot */
+        lsl   r1, r1, #3                    /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        /* Map boot_second into boot_pgtable */
+        mov_w r0, XEN_VIRT_START
+        create_table_entry boot_pgtable, boot_second, r0, 1
+
+        /* Ensure any page table updates are visible before continuing */
+        dsb   nsh
+        /*
+         * The function will return on the runtime mapping. So we want
+         * to prevent instruction fetch before the dsb completes.
+         */
+        isb
+
+ready_to_switch:
+        mov   pc, lr
+ENDPROC(switch_to_runtime_mapping)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for secondary CPUs.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+ENTRY(enable_secondary_cpu_mm)
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        /*
+         * Non-boot CPUs need to move on to the proper pagetables, which were
+         * setup in prepare_secondary_mm.
+         *
+         * XXX: This is not compliant with the Arm Arm.
+         */
+        mov_w r4, init_ttbr          /* VA of HTTBR value stashed by CPU 0 */
+        ldrd  r4, r5, [r4]           /* Actual value */
+        dsb
+        mcrr  CP64(r4, r5, HTTBR)
+        dsb
+        isb
+        flush_xen_tlb_local r0
+        pt_enforce_wxn r0
+
+        /* Return to the virtual address requested by the caller. */
+        mov   pc, r6
+ENDPROC(enable_secondary_cpu_mm)
+
+/*
+ * Enable mm (turn on the data cache and the MMU) for the boot CPU.
+ * The function will return to the virtual address provided in LR (e.g. the
+ * runtime mapping).
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *   r10: phys offset
+ *   lr : Virtual address to return to.
+ *
+ * Output:
+ *   r12: Was a temporary mapping created?
+ *
+ * Clobbers r0 - r6
+ */
+ENTRY(enable_boot_cpu_mm)
+        mov   r6, lr
+
+        bl    create_page_tables
+
+        /* Address in the runtime mapping to jump to after the MMU is enabled */
+        mov_w lr, 1f
+        b     enable_mmu
+1:
+        mov   lr, r6
+
+        /*
+         * Prepare the fixmap. The function will return to the virtual address
+         * requested by the caller.
+         */
+        b     setup_fixmap
+ENDPROC(enable_boot_cpu_mm)
+
+/*
+ * Remove the 1:1 map from the page-tables. It is not easy to keep track
+ * where the 1:1 map was mapped, so we will look for the top-level entry
+ * exclusive to the 1:1 map and remove it.
+ *
+ * Inputs:
+ *   r9 : paddr(start)
+ *
+ * Clobbers r0 - r3
+ */
+remove_identity_mapping:
+        /* r2:r3 := invalid page-table entry */
+        mov   r2, #0x0
+        mov   r3, #0x0
+
+        /* Find the first slot used and remove it */
+        get_table_slot r1, r9, 1     /* r1 := first slot */
+        mov_w r0, boot_pgtable       /* r0 := root table */
+        lsl   r1, r1, #3             /* r1 := Slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+        mov   pc, lr
+ENDPROC(remove_identity_mapping)
+
+/*
+ * Remove the temporary mapping of Xen starting at TEMPORARY_XEN_VIRT_START.
+ *
+ * Clobbers r0 - r3
+ */
+remove_temporary_mapping:
+        /* r2:r3 := invalid page-table entry */
+        mov   r2, #0
+        mov   r3, #0
+
+        adr_l r0, boot_pgtable
+        mov_w r1, TEMPORARY_XEN_VIRT_START
+        get_table_slot r1, r1, 1     /* r1 := first slot */
+        lsl   r1, r1, #3             /* r1 := first slot offset */
+        strd  r2, r3, [r0, r1]
+
+        flush_xen_tlb_local r0
+
+        mov  pc, lr
+ENDPROC(remove_temporary_mapping)
+
+/*
+ * Map the UART in the fixmap (when earlyprintk is used) and hook the
+ * fixmap table in the page tables.
+ *
+ * The fixmap cannot be mapped in create_page_tables because it may
+ * clash with the 1:1 mapping.
+ *
+ * Inputs:
+ *   r10: Physical offset
+ *   r11: Early UART base physical address
+ *
+ * Clobbers r0 - r4
+ */
+setup_fixmap:
+#if defined(CONFIG_EARLY_PRINTK)
+        /* Add UART to the fixmap table */
+        mov_w r0, EARLY_UART_VIRTUAL_ADDRESS
+        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
+        /* Ensure any page table updates made above have occurred. */
+        dsb   nshst
+        /*
+         * The fixmap area will be used soon after. So ensure no hardware
+         * translation happens before the dsb completes.
+         */
+        isb
+
+        mov   pc, lr
+ENDPROC(setup_fixmap)
+
+/* Fail-stop */
+fail:   PRINT("- Boot failed -\r\n")
+1:      wfe
+        b     1b
+ENDPROC(fail)
+
+/*
+ * Switch TTBR
+ * r1:r0       ttbr
+ *
+ * TODO: This code does not comply with break-before-make.
+ */
+ENTRY(switch_ttbr)
+        dsb                            /* Ensure the flushes happen before
+                                        * continuing */
+        isb                            /* Ensure synchronization with previous
+                                        * changes to text */
+        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
+        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
+        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
+        dsb                            /* Ensure completion of TLB+BP flush */
+        isb
+
+        mcrr  CP64(r0, r1, HTTBR)
+
+        dsb                            /* ensure memory accesses do not cross
+                                        * over the TTBR0 write */
+        isb                            /* Ensure synchronization with previous
+                                        * changes to text */
+        mcr   CP32(r0, TLBIALLH)       /* Flush hypervisor TLB */
+        mcr   CP32(r0, ICIALLU)        /* Flush I-cache */
+        mcr   CP32(r0, BPIALL)         /* Flush branch predictor */
+        dsb                            /* Ensure completion of TLB+BP flush */
+        isb
+
+        mov pc, lr
+ENDPROC(switch_ttbr)
diff --git a/xen/arch/arm/include/asm/arm32/macros.h b/xen/arch/arm/include/asm/arm32/macros.h
index a4e20aa520..b84666c764 100644
--- a/xen/arch/arm/include/asm/arm32/macros.h
+++ b/xen/arch/arm/include/asm/arm32/macros.h
@@ -1,8 +1,63 @@
 #ifndef __ASM_ARM_ARM32_MACROS_H
 #define __ASM_ARM_ARM32_MACROS_H
 
-    .macro ret
+.macro ret
         mov     pc, lr
-    .endm
+.endm
+
+/*
+ * Move an immediate constant into a 32-bit register using movw/movt
+ * instructions.
+ */
+.macro mov_w reg, word
+        movw  \reg, #:lower16:\word
+        movt  \reg, #:upper16:\word
+.endm
+
+/*
+ * Pseudo-op for PC relative adr <reg>, <symbol> where <symbol> is
+ * within the range +/- 4GB of the PC.
+ *
+ * @dst: destination register
+ * @sym: name of the symbol
+ */
+.macro adr_l, dst, sym
+        mov_w \dst, \sym - .Lpc\@
+        .set  .Lpc\@, .+ 8          /* PC bias */
+        add   \dst, \dst, pc
+.endm
+
+#ifdef CONFIG_EARLY_PRINTK
+/*
+ * Macro to print a string to the UART, if there is one.
+ *
+ * Clobbers r0 - r3
+ */
+#define PRINT(_s)           \
+        mov   r3, lr       ;\
+        adr_l r0, 98f      ;\
+        bl    asm_puts     ;\
+        mov   lr, r3       ;\
+        RODATA_STR(98, _s)
+
+/*
+ * Macro to print the value of register \rb
+ *
+ * Clobbers r0 - r4
+ */
+.macro print_reg rb
+        mov   r0, \rb
+        mov   r4, lr
+        bl    asm_putn
+        mov   lr, r4
+.endm
+
+#else /* CONFIG_EARLY_PRINTK */
+#define PRINT(s)
+
+.macro print_reg rb
+.endm
+
+#endif /* !CONFIG_EARLY_PRINTK */
 
 #endif /* __ASM_ARM_ARM32_MACROS_H */
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:56:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636969.992657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55hY-0007uo-7G; Mon, 20 Nov 2023 14:56:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636969.992657; Mon, 20 Nov 2023 14:56: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 1r55hY-0007uh-4E; Mon, 20 Nov 2023 14:56:40 +0000
Received: by outflank-mailman (input) for mailman id 636969;
 Mon, 20 Nov 2023 14:56: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r55hW-0007tb-3Z
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:56:38 +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 fedd7f0a-87b4-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 15:56:35 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fedd7f0a-87b4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700492194;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=6vr6P+DH3BGlg02OWWXmxPfC3uezAc1WcuXREonYF90=;
  b=Hcu4ttWPzyog9fb9hsQsm2CSBSbPZrGBAWRu6PIQP0L3DwjgDKK3tMX1
   8W5DPZlXMIaEkfdhauoBdWiMAK6u2Tnkd8rMnMuTwddKGtjzFKSBv5Jm0
   melaJHrTejof01MO2AWuAbl/PhjI9baaf99JkkSgFpQhmUnxlLlyXVYRC
   0=;
X-CSE-ConnectionGUID: YxgkUgEXQvaxEBofcrPFUw==
X-CSE-MsgGUID: YSjic0Z9RCClbRhiBMI+QA==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127427126
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:HAzPsq75JQv+ou/bIFaEiAxRtFPHchMFZxGqfqrLsTDasY5as4F+v
 mEYC2qDa/nZMTGkfdwnaYzl9xhS7J/cmoJkHlFoqytmHi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRG/ykTraCY3gtLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU34JwehBtC5gZlPKkR5AeE/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5mx
 OwXKw0CQyC6meum7Zi8ROJ2vuoeM5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmRJUIXUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0MxBnE/
 D2fpTqR7hcyBeedyDHdwCOWrcTLlxn7Wag3Nf6B36s/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c/h6HvA+6QqN4rHJ+AvfDW8BJhZac8AvvsIyQT0s1
 3eKksnvCDgpt6eaIVqC8p+EoDX0PjIaRUcAeCsFQA0t89Tl5oYpgXryos1LSfDvyIevQHepn
 mHM83BWa6gvYdAj5rW0/m3IrgKVuJHZYyQy6A7NZkyY8VYsDGK6XLBE+WQ3/N4Zc97BEgHQ4
 ihU8/Vy+tziGn1kqcBsfAnuNOvwjxp9GGeA6WOD5rF4n9hXx1atfJpL/BZ1L1pzP8APdFfBO
 RCL4V8ItM4OYifwNsebhr5d7OxwlcDd+SnNDKiIPrKinLAsHON4wM2eTRHJhD28+KTduao+J
 Y2aYa6R4YUyUMxaIM6Nb75Fi9cDn3lurV4/sLinl3xLJ5LCPi/KIVrEWXPSBt0EAFSs+lSIq
 Y0HbZDTl32ykoTWO0HqzGLaFnhSRVBTOHw8g5U/mjKrSua+JFwcNg==
IronPort-HdrOrdr: A9a23:6gnUpqliROAcb3JvjCqS5qjUVk/pDfIg3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE7wr5OUtQ/exoV5PhfZqxz/JICOoqTNKftWvdyQiVxehZhOOIqVDd8kXFh4hgPM
 xbEpSWZueeMbEDt7eZ3DWF
X-Talos-CUID: =?us-ascii?q?9a23=3ArPWW7Wqen0tlbHUVioCiSJbmUfE1fX7gw1rgGlG?=
 =?us-ascii?q?xGUtDT7OeU2e+xbwxxg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AThAoVAzoSCjFupYgV4/MfhExXmaaqJWVCkEGyad?=
 =?us-ascii?q?XgeKvMSZKOza3qRX0e6Zyfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="127427126"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 0/3] xen: Drop bool_t
Date: Mon, 20 Nov 2023 14:56:20 +0000
Message-ID: <20231120145623.167383-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Final cleanup of bool_t.

Andrew Cooper (3):
  x86/treewide: Switch bool_t to bool
  xen/treewide: Switch bool_t to bool
  xen: Drop bool_t

 xen/arch/x86/cpu/microcode/core.c        |  4 +--
 xen/arch/x86/cpu/mtrr/generic.c          |  2 +-
 xen/arch/x86/cpu/vpmu.c                  |  2 +-
 xen/arch/x86/cpu/vpmu_amd.c              |  4 +--
 xen/arch/x86/cpu/vpmu_intel.c            |  6 ++--
 xen/arch/x86/hvm/asid.c                  |  4 +--
 xen/arch/x86/hvm/emulate.c               | 28 +++++++--------
 xen/arch/x86/hvm/hvm.c                   | 36 +++++++++----------
 xen/arch/x86/hvm/intercept.c             |  2 +-
 xen/arch/x86/hvm/mtrr.c                  | 12 +++----
 xen/arch/x86/hvm/nestedhvm.c             |  4 +--
 xen/arch/x86/hvm/stdvga.c                |  2 +-
 xen/arch/x86/hvm/svm/nestedsvm.c         | 16 ++++-----
 xen/arch/x86/hvm/svm/svm.c               |  8 ++---
 xen/arch/x86/hvm/vlapic.c                | 31 +++++++++--------
 xen/arch/x86/hvm/vmx/vmcs.c              | 29 ++++++++--------
 xen/arch/x86/hvm/vmx/vmx.c               |  6 ++--
 xen/arch/x86/hvm/vmx/vvmx.c              | 20 +++++------
 xen/arch/x86/include/asm/acpi.h          |  2 +-
 xen/arch/x86/include/asm/apic.h          |  2 +-
 xen/arch/x86/include/asm/domain.h        | 28 +++++++--------
 xen/arch/x86/include/asm/hardirq.h       |  2 +-
 xen/arch/x86/include/asm/hvm/asid.h      |  2 +-
 xen/arch/x86/include/asm/hvm/emulate.h   |  2 +-
 xen/arch/x86/include/asm/hvm/hvm.h       | 24 ++++++-------
 xen/arch/x86/include/asm/hvm/io.h        |  6 ++--
 xen/arch/x86/include/asm/hvm/nestedhvm.h |  4 +--
 xen/arch/x86/include/asm/hvm/vcpu.h      | 16 ++++-----
 xen/arch/x86/include/asm/hvm/vlapic.h    | 12 +++----
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h  | 10 +++---
 xen/arch/x86/include/asm/hvm/vmx/vmx.h   |  2 +-
 xen/arch/x86/include/asm/hvm/vmx/vvmx.h  |  2 +-
 xen/arch/x86/include/asm/mtrr.h          | 16 ++++-----
 xen/arch/x86/include/asm/p2m.h           | 20 +++++------
 xen/arch/x86/include/asm/page.h          |  2 +-
 xen/arch/x86/include/asm/paging.h        |  2 +-
 xen/arch/x86/include/asm/pci.h           |  8 ++---
 xen/arch/x86/include/asm/psr.h           |  2 +-
 xen/arch/x86/include/asm/vpmu.h          | 12 +++----
 xen/arch/x86/mm/hap/nested_ept.c         | 12 +++----
 xen/arch/x86/mm/mem_paging.c             |  2 +-
 xen/arch/x86/mm/p2m-ept.c                | 29 ++++++++--------
 xen/arch/x86/mm/p2m-pod.c                |  2 +-
 xen/arch/x86/mm/p2m-pt.c                 |  6 ++--
 xen/arch/x86/mm/p2m.c                    |  9 ++---
 xen/arch/x86/mm/paging.c                 |  6 ++--
 xen/arch/x86/x86_64/mmconf-fam10h.c      |  2 +-
 xen/arch/x86/x86_64/mmconfig-shared.c    |  8 ++---
 xen/arch/x86/x86_64/mmconfig_64.c        |  6 ++--
 xen/common/device_tree.c                 | 34 +++++++++---------
 xen/common/domain.c                      |  2 +-
 xen/common/domctl.c                      |  4 +--
 xen/common/event_fifo.c                  |  4 +--
 xen/common/grant_table.c                 | 14 ++++----
 xen/common/kernel.c                      |  2 +-
 xen/common/kexec.c                       |  4 +--
 xen/common/keyhandler.c                  |  4 +--
 xen/common/kimage.c                      |  8 ++---
 xen/common/livepatch.c                   | 20 +++++------
 xen/common/memory.c                      |  2 +-
 xen/common/notifier.c                    |  2 +-
 xen/common/preempt.c                     |  2 +-
 xen/common/rangeset.c                    | 12 +++----
 xen/common/shutdown.c                    |  2 +-
 xen/common/symbols.c                     |  2 +-
 xen/common/sysctl.c                      |  4 +--
 xen/common/tasklet.c                     |  4 +--
 xen/common/timer.c                       |  8 ++---
 xen/common/trace.c                       | 12 +++----
 xen/drivers/acpi/apei/apei-base.c        |  2 +-
 xen/drivers/acpi/apei/apei-internal.h    |  2 +-
 xen/drivers/acpi/apei/erst.c             |  2 +-
 xen/drivers/acpi/apei/hest.c             |  2 +-
 xen/drivers/char/console.c               |  8 ++---
 xen/drivers/char/ehci-dbgp.c             | 10 +++---
 xen/drivers/char/ns16550.c               | 14 ++++----
 xen/drivers/char/pl011.c                 |  2 +-
 xen/drivers/char/serial.c                |  2 +-
 xen/drivers/cpufreq/cpufreq.c            |  2 +-
 xen/drivers/video/vesa.c                 |  2 +-
 xen/include/acpi/cpufreq/cpufreq.h       | 10 +++---
 xen/include/xen/device_tree.h            | 44 ++++++++++++------------
 xen/include/xen/domain.h                 |  4 +--
 xen/include/xen/gdbstub.h                |  2 +-
 xen/include/xen/irq.h                    |  2 +-
 xen/include/xen/kernel.h                 |  2 +-
 xen/include/xen/kimage.h                 |  8 ++---
 xen/include/xen/livepatch.h              |  6 ++--
 xen/include/xen/mm-frame.h               |  4 +--
 xen/include/xen/mm.h                     |  6 ++--
 xen/include/xen/preempt.h                |  2 +-
 xen/include/xen/rangeset.h               |  8 ++---
 xen/include/xen/rwlock.h                 |  2 +-
 xen/include/xen/serial.h                 |  2 +-
 xen/include/xen/shutdown.h               |  2 +-
 xen/include/xen/tasklet.h                |  6 ++--
 xen/include/xen/types.h                  |  1 -
 97 files changed, 389 insertions(+), 390 deletions(-)


base-commit: cfb777791d39e025cf625ba1fa080597d4defef6
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:56:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636970.992663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55hY-0007yC-HZ; Mon, 20 Nov 2023 14:56:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636970.992663; Mon, 20 Nov 2023 14:56: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 1r55hY-0007y4-C8; Mon, 20 Nov 2023 14:56:40 +0000
Received: by outflank-mailman (input) for mailman id 636970;
 Mon, 20 Nov 2023 14:56: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r55hX-0007tb-OT
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:56:39 +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 015f2fc5-87b5-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 15:56:37 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 015f2fc5-87b5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700492197;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=uDEFdY6E/rTQZjQXn56NaCkxT9dqQV5VyYEwEpX7kCQ=;
  b=a1bi1O8sOKLS2nqJv5jAk3lGJzI8fS5PWVk3+Rh8lVjT00J4g+f9SUPy
   QRs8uYfjF+XoddfqLq9SAor0IXwp5nBZKyUDNOZFcSYVKHOOEdrL8Z71h
   9YuppVJlTqEitGO39ByxqpbNFoqwsFKFhIbgt2ir48WHq20SHoopc3H0S
   o=;
X-CSE-ConnectionGUID: YxgkUgEXQvaxEBofcrPFUw==
X-CSE-MsgGUID: I8RdwhXlS0mNkBg/AzojDQ==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127427127
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:RXUQJaLiVriJstj/FE+RupUlxSXFcZb7ZxGr2PjKsXjdYENSgzdRx
 2oXUGzXMvuMajT1fdh/b4+yoU8GvZDcmt42GQdlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAhk/nOHvylULKs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrfwP9TlK6q4mhB5wZmPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5GEW5Ny
 PM1GAkTZwCureW4y6iDZNRz05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGspM0yojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXQGpkPwR/C+
 Qoq+UzYUisWK9yvzQHd91SvrOCItDH8Wq4rQejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasnDQRRt5RGO0S8xyWx+zf5APxLnMfUjdLZdgitck3bT8nz
 FmEm5XuHzMHmKKRYWKQ8PGTtzzaESoIKW4PYwcUQA1D5MPsyLzflTqWEIwlSvTsyISoSHevm
 1hmsRTSmZ0incEI6qqWzWnZiiKBjJ/HRRQNyDjICzfNAhxCWGK1W2C5wQGEta4cdNfHHgnpg
 ZQSpySJAAkz4XCxeM+lGrxl8EmBvartDdElqQcH82Md3zqs4WW/Wotb/StzIkxkWu5dJmexP
 BaD6F4PuMUIVJdPUUOQS9jpY/nGMIC6TYi1PhwqRocmjmdNmP+vo3g1OB/4M5HFm0kwi6AvU
 ap3gu71ZUv2/Z9PlWLsL89EiO9D+8zL7T+LLXwN50j9gOX2ib/8YettDWZimchjvf7e+12Pq
 I8DXyZIoj0GONDDjuDs2dZ7BTg3wbITXPgad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:MREhx6sfsJOHDLPAF9IHqo5U7skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpGbJYVcqKRcdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyJMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-Talos-CUID: 9a23:iHcum29Vi3YwdVP0Q1CVv38EFcMYfVDt9WnZM2KSDmhiUoW7dEDFrQ==
X-Talos-MUID: 9a23:SVcDWwhTE/Rxd8Qf7fWUzcMpFZdS77uuOEQ2yZAguOOLcgViPDWxtWHi
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="127427127"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 3/3] xen: Drop bool_t
Date: Mon, 20 Nov 2023 14:56:23 +0000
Message-ID: <20231120145623.167383-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231120145623.167383-1-andrew.cooper3@citrix.com>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

No more users.

This completes the work started in commit 920234259475 ("xen/build: Use C99
booleans"), July 2016.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/include/xen/types.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/xen/include/xen/types.h b/xen/include/xen/types.h
index 64e75674da4f..449947b353be 100644
--- a/xen/include/xen/types.h
+++ b/xen/include/xen/types.h
@@ -64,7 +64,6 @@ typedef __u64 __be64;
 
 typedef unsigned int __attribute__((__mode__(__pointer__))) uintptr_t;
 
-typedef bool bool_t;
 #define test_and_set_bool(b)   xchg(&(b), true)
 #define test_and_clear_bool(b) xchg(&(b), false)
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:56:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:56:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636971.992677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55hc-0008Qh-Pi; Mon, 20 Nov 2023 14:56:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636971.992677; Mon, 20 Nov 2023 14:56: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 1r55hc-0008QJ-K2; Mon, 20 Nov 2023 14:56:44 +0000
Received: by outflank-mailman (input) for mailman id 636971;
 Mon, 20 Nov 2023 14:56: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r55hb-0007tb-Ls
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:56:43 +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 02967cb8-87b5-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 15:56:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02967cb8-87b5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700492199;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=52aGbe9hxD11kdwDju4bGGiS3h4rYhUSeNqPBgUhvg8=;
  b=CgR4xyaHuZwtxPoQbnirUolFrac2+NbhgeQhx2237Qprkk+hWDo3efTH
   rddsZNRfcgrvKqQuKrzNCbVxdnVDGO3MADFq5+gdZEzYlasRiag30nmHZ
   zR1eqJ6yMNxWfFpCSs0hLejLJ3wFY6OOyaftesRw7bJZjB58T8RYrxqmO
   A=;
X-CSE-ConnectionGUID: YxgkUgEXQvaxEBofcrPFUw==
X-CSE-MsgGUID: jPXUVQxFSqmGn8lpxfeyJA==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127427128
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:P8lDIa9vJdzLiiH8nDIsDrUD636TJUtcMsCJ2f8bNWPcYEJGY0x3z
 WcYUWuOa66LZWLxKoggYI+w8klV7JfQmtNrTlRqrCg8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjVAOK6UKidYnwZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ksz1BjOkGlA5AdnPKoT5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDkl/5
 fMbFT8gXimdjvKb6rW1QfNUqPk8eZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUWGPEUn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwPwRrC+
 TucrwwVBDkYDOyi9wOV3Em1g8DJzSfjSIwfBZ+Ro6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0efBdDuk74wGl0bfP7kCSAW1sZiVadNUsucsyRDor/
 lyEhdXkAXpoqrL9YW2Z3qeZq3W1Iyd9BW0fYS4JSyMV7t+lp5s85i8jVf46TvTz1IesX2itk
 nbV9EDSmon/k+Y6x6q4wF/qswuyr4jkZAk77R/vcF+6u1YRiJGeW2C41bTKxa8fdN7FFgjf7
 ChspiSI0AwZ4XiweM2xrAYlRujBCw6tamG0vLKWN8BJG86R03CiZ5tMxzp1OV1kNM0JERewP
 xeL5VoBtcINYCHxBUOSX25WI55ypZUM6Py/DqyEBjawSsUZmPC7ENFGOhfLgjGFfLkEmqAjI
 5aLGftA/l5DYZmLOAGeHr9HuZdyn3BW+I8mbcyjp/hR+ebENSH9pHZsGAfmU93VG4ve8ViPq
 I4FbJLWo/idOcWnChTqHUcoBQhiBRAG6Vre8qS7qsbrztJaJVwc
IronPort-HdrOrdr: A9a23:NMj0Oal/gd+mWaK0iUqf0yc+EAnpDfIU3DAbv31ZSRFFG/Fxl6
 iV8sjzsiWE8Qr5OUtQ/+xoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO
 VbAsxD4bXLfCBHZK3BgTVQfexO/DD+ytHLudvj
X-Talos-CUID: =?us-ascii?q?9a23=3APv4CJ2gAXeho0ZJThaFyvQPGaTJuQ23Sz0rfDn+?=
 =?us-ascii?q?BF295ZZeSR1SKwI1ZjJ87?=
X-Talos-MUID: 9a23:fHNHeAnT3+POTwiD1OBSdnpgDPdV3Z2+JnsUlLoA682cJSJ9KhW02WE=
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="127427128"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 1/3] x86/treewide: Switch bool_t to bool
Date: Mon, 20 Nov 2023 14:56:21 +0000
Message-ID: <20231120145623.167383-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231120145623.167383-1-andrew.cooper3@citrix.com>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

... as part of cleaning up the types used.  Minor style cleanup on some
altered lines.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>

There's not an obvious way to subdivide this further without getting to a
silly number of patches.
---
 xen/arch/x86/cpu/microcode/core.c        |  4 +--
 xen/arch/x86/cpu/mtrr/generic.c          |  2 +-
 xen/arch/x86/cpu/vpmu.c                  |  2 +-
 xen/arch/x86/cpu/vpmu_amd.c              |  4 +--
 xen/arch/x86/cpu/vpmu_intel.c            |  6 ++--
 xen/arch/x86/hvm/asid.c                  |  4 +--
 xen/arch/x86/hvm/emulate.c               | 28 +++++++++---------
 xen/arch/x86/hvm/hvm.c                   | 36 ++++++++++++------------
 xen/arch/x86/hvm/intercept.c             |  2 +-
 xen/arch/x86/hvm/mtrr.c                  | 12 ++++----
 xen/arch/x86/hvm/nestedhvm.c             |  4 +--
 xen/arch/x86/hvm/stdvga.c                |  2 +-
 xen/arch/x86/hvm/svm/nestedsvm.c         | 16 +++++------
 xen/arch/x86/hvm/svm/svm.c               |  8 +++---
 xen/arch/x86/hvm/vlapic.c                | 31 ++++++++++----------
 xen/arch/x86/hvm/vmx/vmcs.c              | 29 +++++++++----------
 xen/arch/x86/hvm/vmx/vmx.c               |  6 ++--
 xen/arch/x86/hvm/vmx/vvmx.c              | 20 ++++++-------
 xen/arch/x86/include/asm/acpi.h          |  2 +-
 xen/arch/x86/include/asm/apic.h          |  2 +-
 xen/arch/x86/include/asm/domain.h        | 28 +++++++++---------
 xen/arch/x86/include/asm/hardirq.h       |  2 +-
 xen/arch/x86/include/asm/hvm/asid.h      |  2 +-
 xen/arch/x86/include/asm/hvm/emulate.h   |  2 +-
 xen/arch/x86/include/asm/hvm/hvm.h       | 24 ++++++++--------
 xen/arch/x86/include/asm/hvm/io.h        |  6 ++--
 xen/arch/x86/include/asm/hvm/nestedhvm.h |  4 +--
 xen/arch/x86/include/asm/hvm/vcpu.h      | 16 +++++------
 xen/arch/x86/include/asm/hvm/vlapic.h    | 12 ++++----
 xen/arch/x86/include/asm/hvm/vmx/vmcs.h  | 10 +++----
 xen/arch/x86/include/asm/hvm/vmx/vmx.h   |  2 +-
 xen/arch/x86/include/asm/hvm/vmx/vvmx.h  |  2 +-
 xen/arch/x86/include/asm/mtrr.h          | 16 +++++------
 xen/arch/x86/include/asm/p2m.h           | 20 ++++++-------
 xen/arch/x86/include/asm/page.h          |  2 +-
 xen/arch/x86/include/asm/paging.h        |  2 +-
 xen/arch/x86/include/asm/pci.h           |  8 +++---
 xen/arch/x86/include/asm/psr.h           |  2 +-
 xen/arch/x86/include/asm/vpmu.h          | 12 ++++----
 xen/arch/x86/mm/hap/nested_ept.c         | 12 ++++----
 xen/arch/x86/mm/mem_paging.c             |  2 +-
 xen/arch/x86/mm/p2m-ept.c                | 29 ++++++++++---------
 xen/arch/x86/mm/p2m-pod.c                |  2 +-
 xen/arch/x86/mm/p2m-pt.c                 |  6 ++--
 xen/arch/x86/mm/p2m.c                    |  9 +++---
 xen/arch/x86/mm/paging.c                 |  6 ++--
 xen/arch/x86/x86_64/mmconf-fam10h.c      |  2 +-
 xen/arch/x86/x86_64/mmconfig-shared.c    |  8 +++---
 xen/arch/x86/x86_64/mmconfig_64.c        |  6 ++--
 49 files changed, 237 insertions(+), 237 deletions(-)

diff --git a/xen/arch/x86/cpu/microcode/core.c b/xen/arch/x86/cpu/microcode/core.c
index 65ebeb50deea..95bcb52b222d 100644
--- a/xen/arch/x86/cpu/microcode/core.c
+++ b/xen/arch/x86/cpu/microcode/core.c
@@ -58,7 +58,7 @@
 
 static module_t __initdata ucode_mod;
 static signed int __initdata ucode_mod_idx;
-static bool_t __initdata ucode_mod_forced;
+static bool __initdata ucode_mod_forced;
 static unsigned int nr_cores;
 
 /*
@@ -93,7 +93,7 @@ static struct ucode_mod_blob __initdata ucode_blob;
  * By default we will NOT parse the multiboot modules to see if there is
  * cpio image with the microcode images.
  */
-static bool_t __initdata ucode_scan;
+static bool __initdata ucode_scan;
 
 /* By default, ucode loading is done in NMI handler */
 static bool ucode_in_nmi = true;
diff --git a/xen/arch/x86/cpu/mtrr/generic.c b/xen/arch/x86/cpu/mtrr/generic.c
index 660ae26c2350..25ae5f5b7d6a 100644
--- a/xen/arch/x86/cpu/mtrr/generic.c
+++ b/xen/arch/x86/cpu/mtrr/generic.c
@@ -120,7 +120,7 @@ void __init get_mtrr_state(void)
 	rdmsrl(MSR_MTRRcap, mtrr_state.mtrr_cap);
 }
 
-static bool_t __initdata mtrr_show;
+static bool __initdata mtrr_show;
 boolean_param("mtrr.show", mtrr_show);
 
 static const char *__init mtrr_attrib_to_str(mtrr_type x)
diff --git a/xen/arch/x86/cpu/vpmu.c b/xen/arch/x86/cpu/vpmu.c
index a022126f18fd..ed84372b8001 100644
--- a/xen/arch/x86/cpu/vpmu.c
+++ b/xen/arch/x86/cpu/vpmu.c
@@ -369,7 +369,7 @@ void vpmu_save(struct vcpu *v)
     apic_write(APIC_LVTPC, PMU_APIC_VECTOR | APIC_LVT_MASKED);
 }
 
-int vpmu_load(struct vcpu *v, bool_t from_guest)
+int vpmu_load(struct vcpu *v, bool from_guest)
 {
     struct vpmu_struct *vpmu = vcpu_vpmu(v);
     int ret;
diff --git a/xen/arch/x86/cpu/vpmu_amd.c b/xen/arch/x86/cpu/vpmu_amd.c
index 18266b9521a9..c28a7e3c4719 100644
--- a/xen/arch/x86/cpu/vpmu_amd.c
+++ b/xen/arch/x86/cpu/vpmu_amd.c
@@ -31,7 +31,7 @@
 static unsigned int __read_mostly num_counters;
 static const u32 __read_mostly *counters;
 static const u32 __read_mostly *ctrls;
-static bool_t __read_mostly k7_counters_mirrored;
+static bool __read_mostly k7_counters_mirrored;
 
 #define F10H_NUM_COUNTERS   4
 #define F15H_NUM_COUNTERS   6
@@ -217,7 +217,7 @@ static int cf_check amd_vpmu_load(struct vcpu *v, bool from_guest)
 
     if ( from_guest )
     {
-        bool_t is_running = 0;
+        bool is_running = false;
         struct xen_pmu_amd_ctxt *guest_ctxt = &vpmu->xenpmu_data->pmu.c.amd;
 
         ASSERT(!has_vlapic(v->domain));
diff --git a/xen/arch/x86/cpu/vpmu_intel.c b/xen/arch/x86/cpu/vpmu_intel.c
index 6330c89b47be..0a73ae27a4cb 100644
--- a/xen/arch/x86/cpu/vpmu_intel.c
+++ b/xen/arch/x86/cpu/vpmu_intel.c
@@ -52,7 +52,7 @@
 
 /* Alias registers (0x4c1) for full-width writes to PMCs */
 #define MSR_PMC_ALIAS_MASK       (~(MSR_IA32_PERFCTR0 ^ MSR_IA32_A_PERFCTR0))
-static bool_t __read_mostly full_width_write;
+static bool __read_mostly full_width_write;
 
 /*
  * MSR_CORE_PERF_FIXED_CTR_CTRL contains the configuration of all fixed
@@ -607,7 +607,7 @@ static int cf_check core2_vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
         tmp = msr - MSR_P6_EVNTSEL(0);
         if ( tmp >= 0 && tmp < arch_pmc_cnt )
         {
-            bool_t blocked = 0;
+            bool blocked = false;
             uint64_t umaskevent = msr_content & MSR_IA32_CMT_EVTSEL_UE_MASK;
             struct xen_pmu_cntr_pair *xen_pmu_cntr_pair =
                 vpmu_reg_pointer(core2_vpmu_cxt, arch_counters);
@@ -818,7 +818,7 @@ static int cf_check core2_vpmu_initialise(struct vcpu *v)
 {
     struct vpmu_struct *vpmu = vcpu_vpmu(v);
     u64 msr_content;
-    static bool_t ds_warned;
+    static bool ds_warned;
 
     if ( v->domain->arch.cpuid->basic.pmu_version <= 1 ||
          v->domain->arch.cpuid->basic.pmu_version >= 6 )
diff --git a/xen/arch/x86/hvm/asid.c b/xen/arch/x86/hvm/asid.c
index 0faaa24a8f6e..8d27b7dba17b 100644
--- a/xen/arch/x86/hvm/asid.c
+++ b/xen/arch/x86/hvm/asid.c
@@ -43,7 +43,7 @@ struct hvm_asid_data {
    uint64_t core_asid_generation;
    uint32_t next_asid;
    uint32_t max_asid;
-   bool_t disabled;
+   bool disabled;
 };
 
 static DEFINE_PER_CPU(struct hvm_asid_data, hvm_asid_data);
@@ -100,7 +100,7 @@ void hvm_asid_flush_core(void)
     data->disabled = 1;
 }
 
-bool_t hvm_asid_handle_vmenter(struct hvm_vcpu_asid *asid)
+bool hvm_asid_handle_vmenter(struct hvm_vcpu_asid *asid)
 {
     struct hvm_asid_data *data = &this_cpu(hvm_asid_data);
 
diff --git a/xen/arch/x86/hvm/emulate.c b/xen/arch/x86/hvm/emulate.c
index 254716c76670..15d9962f3a2c 100644
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -150,8 +150,8 @@ void hvmemul_cancel(struct vcpu *v)
 }
 
 static int hvmemul_do_io(
-    bool_t is_mmio, paddr_t addr, unsigned long *reps, unsigned int size,
-    uint8_t dir, bool_t df, bool_t data_is_addr, uintptr_t data)
+    bool is_mmio, paddr_t addr, unsigned long *reps, unsigned int size,
+    uint8_t dir, bool df, bool data_is_addr, uintptr_t data)
 {
     struct vcpu *curr = current;
     struct domain *currd = curr->domain;
@@ -363,8 +363,8 @@ static int hvmemul_do_io(
 }
 
 static int hvmemul_do_io_buffer(
-    bool_t is_mmio, paddr_t addr, unsigned long *reps, unsigned int size,
-    uint8_t dir, bool_t df, void *buffer)
+    bool is_mmio, paddr_t addr, unsigned long *reps, unsigned int size,
+    uint8_t dir, bool df, void *buffer)
 {
     int rc;
 
@@ -421,8 +421,8 @@ static inline void hvmemul_release_page(struct page_info *page)
 }
 
 static int hvmemul_do_io_addr(
-    bool_t is_mmio, paddr_t addr, unsigned long *reps,
-    unsigned int size, uint8_t dir, bool_t df, paddr_t ram_gpa)
+    bool is_mmio, paddr_t addr, unsigned long *reps,
+    unsigned int size, uint8_t dir, bool df, paddr_t ram_gpa)
 {
     struct vcpu *v = current;
     unsigned long ram_gmfn = paddr_to_pfn(ram_gpa);
@@ -510,7 +510,7 @@ static int hvmemul_do_pio_addr(uint16_t port,
                                unsigned long *reps,
                                unsigned int size,
                                uint8_t dir,
-                               bool_t df,
+                               bool df,
                                paddr_t ram_addr)
 {
     return hvmemul_do_io_addr(0, port, reps, size, dir, df, ram_addr);
@@ -534,7 +534,7 @@ static int hvmemul_do_mmio_buffer(paddr_t mmio_gpa,
                                   unsigned long *reps,
                                   unsigned int size,
                                   uint8_t dir,
-                                  bool_t df,
+                                  bool df,
                                   void *buffer)
 {
     return hvmemul_do_io_buffer(1, mmio_gpa, reps, size, dir, df, buffer);
@@ -554,7 +554,7 @@ static int hvmemul_do_mmio_addr(paddr_t mmio_gpa,
                                 unsigned long *reps,
                                 unsigned int size,
                                 uint8_t dir,
-                                bool_t df,
+                                bool df,
                                 paddr_t ram_gpa)
 {
     return hvmemul_do_io_addr(1, mmio_gpa, reps, size, dir, df, ram_gpa);
@@ -1034,7 +1034,7 @@ static struct hvm_mmio_cache *hvmemul_find_mmio_cache(
 }
 
 static void latch_linear_to_phys(struct hvm_vcpu_io *hvio, unsigned long gla,
-                                 unsigned long gpa, bool_t write)
+                                 unsigned long gpa, bool write)
 {
     if ( hvio->mmio_access.gla_valid )
         return;
@@ -1048,7 +1048,7 @@ static void latch_linear_to_phys(struct hvm_vcpu_io *hvio, unsigned long gla,
 
 static int hvmemul_linear_mmio_access(
     unsigned long gla, unsigned int size, uint8_t dir, void *buffer,
-    uint32_t pfec, struct hvm_emulate_ctxt *hvmemul_ctxt, bool_t known_gpfn)
+    uint32_t pfec, struct hvm_emulate_ctxt *hvmemul_ctxt, bool known_gpfn)
 {
     struct hvm_vcpu_io *hvio = &current->arch.hvm.hvm_io;
     unsigned long offset = gla & ~PAGE_MASK;
@@ -1101,7 +1101,7 @@ static int hvmemul_linear_mmio_access(
 static inline int hvmemul_linear_mmio_read(
     unsigned long gla, unsigned int size, void *buffer,
     uint32_t pfec, struct hvm_emulate_ctxt *hvmemul_ctxt,
-    bool_t translate)
+    bool translate)
 {
     return hvmemul_linear_mmio_access(gla, size, IOREQ_READ, buffer,
                                       pfec, hvmemul_ctxt, translate);
@@ -1110,7 +1110,7 @@ static inline int hvmemul_linear_mmio_read(
 static inline int hvmemul_linear_mmio_write(
     unsigned long gla, unsigned int size, void *buffer,
     uint32_t pfec, struct hvm_emulate_ctxt *hvmemul_ctxt,
-    bool_t translate)
+    bool translate)
 {
     return hvmemul_linear_mmio_access(gla, size, IOREQ_WRITE, buffer,
                                       pfec, hvmemul_ctxt, translate);
@@ -1990,7 +1990,7 @@ static int cf_check hvmemul_rep_stos(
     unsigned long addr;
     paddr_t gpa;
     p2m_type_t p2mt;
-    bool_t df = !!(ctxt->regs->eflags & X86_EFLAGS_DF);
+    bool df = ctxt->regs->eflags & X86_EFLAGS_DF;
     int rc = hvmemul_virtual_to_linear(seg, offset, bytes_per_rep, reps,
                                        hvm_access_write, hvmemul_ctxt, &addr);
 
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 482eebbabf7f..35a30df3b1b4 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -69,7 +69,7 @@
 
 #include <compat/hvm/hvm_op.h>
 
-bool_t __read_mostly hvm_enabled;
+bool __read_mostly hvm_enabled;
 
 #ifdef DBG_LEVEL_0
 unsigned int opt_hvm_debug_level __read_mostly;
@@ -87,12 +87,12 @@ unsigned long __section(".bss.page_aligned") __aligned(PAGE_SIZE)
     hvm_io_bitmap[HVM_IOBITMAP_SIZE / BYTES_PER_LONG];
 
 /* Xen command-line option to enable HAP */
-static bool_t __initdata opt_hap_enabled = 1;
+static bool __initdata opt_hap_enabled = true;
 boolean_param("hap", opt_hap_enabled);
 
 #ifndef opt_hvm_fep
 /* Permit use of the Forced Emulation Prefix in HVM guests */
-bool_t __read_mostly opt_hvm_fep;
+bool __read_mostly opt_hvm_fep;
 boolean_param("hvm_fep", opt_hvm_fep);
 #endif
 static const char __initconst warning_hvm_fep[] =
@@ -102,7 +102,7 @@ static const char __initconst warning_hvm_fep[] =
     "Please *DO NOT* use this in production.\n";
 
 /* Xen command-line option to enable altp2m */
-static bool_t __initdata opt_altp2m_enabled = 0;
+static bool __initdata opt_altp2m_enabled;
 boolean_param("altp2m", opt_altp2m_enabled);
 
 static int cf_check cpu_callback(
@@ -1857,7 +1857,7 @@ int hvm_hap_nested_page_fault(paddr_t gpa, unsigned long gla,
     /* Check access permissions first, then handle faults */
     if ( !mfn_eq(mfn, INVALID_MFN) )
     {
-        bool_t violation;
+        bool violation;
 
         /* If the access is against the permissions, then send to vm_event */
         switch (p2ma)
@@ -1914,7 +1914,7 @@ int hvm_hap_nested_page_fault(paddr_t gpa, unsigned long gla,
             /* Should #VE be emulated for this fault? */
             if ( p2m_is_altp2m(p2m) && !cpu_has_vmx_virt_exceptions )
             {
-                bool_t sve;
+                bool sve;
 
                 p2m->get_entry(p2m, _gfn(gfn), &p2mt, &p2ma, 0, NULL, &sve);
 
@@ -2125,7 +2125,7 @@ int hvm_set_efer(uint64_t value)
 }
 
 /* Exit UC mode only if all VCPUs agree on MTRR/PAT and are not in no_fill. */
-static bool_t domain_exit_uc_mode(struct vcpu *v)
+static bool domain_exit_uc_mode(struct vcpu *v)
 {
     struct domain *d = v->domain;
     struct vcpu *vs;
@@ -2142,7 +2142,7 @@ static bool_t domain_exit_uc_mode(struct vcpu *v)
     return 1;
 }
 
-static void hvm_set_uc_mode(struct vcpu *v, bool_t is_in_uc_mode)
+static void hvm_set_uc_mode(struct vcpu *v, bool is_in_uc_mode)
 {
     v->domain->arch.hvm.is_in_uc_mode = is_in_uc_mode;
     shadow_blow_tables_per_domain(v->domain);
@@ -2705,8 +2705,8 @@ struct hvm_write_map {
 
 /* On non-NULL return, we leave this function holding an additional 
  * ref on the underlying mfn, if any */
-static void *_hvm_map_guest_frame(unsigned long gfn, bool_t permanent,
-                                  bool_t *writable)
+static void *_hvm_map_guest_frame(unsigned long gfn, bool permanent,
+                                  bool *writable)
 {
     void *map;
     p2m_type_t p2mt;
@@ -2750,19 +2750,19 @@ static void *_hvm_map_guest_frame(unsigned long gfn, bool_t permanent,
     return map;
 }
 
-void *hvm_map_guest_frame_rw(unsigned long gfn, bool_t permanent,
-                             bool_t *writable)
+void *hvm_map_guest_frame_rw(unsigned long gfn, bool permanent,
+                             bool *writable)
 {
     *writable = 1;
     return _hvm_map_guest_frame(gfn, permanent, writable);
 }
 
-void *hvm_map_guest_frame_ro(unsigned long gfn, bool_t permanent)
+void *hvm_map_guest_frame_ro(unsigned long gfn, bool permanent)
 {
     return _hvm_map_guest_frame(gfn, permanent, NULL);
 }
 
-void hvm_unmap_guest_frame(void *p, bool_t permanent)
+void hvm_unmap_guest_frame(void *p, bool permanent)
 {
     mfn_t mfn;
     struct page_info *page;
@@ -2806,7 +2806,7 @@ void hvm_mapped_guest_frames_mark_dirty(struct domain *d)
     spin_unlock(&d->arch.hvm.write_map.lock);
 }
 
-static void *hvm_map_entry(unsigned long va, bool_t *writable)
+static void *hvm_map_entry(unsigned long va, bool *writable)
 {
     unsigned long gfn;
     uint32_t pfec;
@@ -2851,7 +2851,7 @@ static int task_switch_load_seg(
     struct segment_register desctab, segr;
     seg_desc_t *pdesc = NULL, desc;
     u8 dpl, rpl;
-    bool_t writable;
+    bool writable;
     int fault_type = X86_EXC_TS;
     struct vcpu *v = current;
 
@@ -3030,7 +3030,7 @@ void hvm_task_switch(
     struct cpu_user_regs *regs = guest_cpu_user_regs();
     struct segment_register gdt, tr, prev_tr, segr;
     seg_desc_t *optss_desc = NULL, *nptss_desc = NULL, tss_desc;
-    bool_t otd_writable, ntd_writable;
+    bool otd_writable, ntd_writable;
     unsigned int eflags, new_cpl;
     pagefault_info_t pfinfo;
     int exn_raised, rc;
@@ -4642,7 +4642,7 @@ static int do_altp2m_op(
     case HVMOP_altp2m_set_domain_state:
     {
         struct vcpu *v;
-        bool_t ostate;
+        bool ostate;
 
         if ( nestedhvm_enabled(d) )
         {
diff --git a/xen/arch/x86/hvm/intercept.c b/xen/arch/x86/hvm/intercept.c
index 61664c0ad13f..a949419cbebb 100644
--- a/xen/arch/x86/hvm/intercept.c
+++ b/xen/arch/x86/hvm/intercept.c
@@ -324,7 +324,7 @@ bool relocate_portio_handler(struct domain *d, unsigned int old_port,
     return false;
 }
 
-bool_t hvm_mmio_internal(paddr_t gpa)
+bool hvm_mmio_internal(paddr_t gpa)
 {
     const struct hvm_io_handler *handler;
     const struct hvm_io_ops *ops;
diff --git a/xen/arch/x86/hvm/mtrr.c b/xen/arch/x86/hvm/mtrr.c
index 7f486358b1ba..52df34a6de03 100644
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -359,7 +359,7 @@ uint32_t get_pat_flags(struct vcpu *v,
     return pat_type_2_pte_flags(pat_entry_value);
 }
 
-static inline bool_t valid_mtrr_type(uint8_t type)
+static inline bool valid_mtrr_type(uint8_t type)
 {
     switch ( type )
     {
@@ -373,8 +373,8 @@ static inline bool_t valid_mtrr_type(uint8_t type)
     return 0;
 }
 
-bool_t mtrr_def_type_msr_set(struct domain *d, struct mtrr_state *m,
-                             uint64_t msr_content)
+bool mtrr_def_type_msr_set(struct domain *d, struct mtrr_state *m,
+                           uint64_t msr_content)
 {
     uint8_t def_type = msr_content & 0xff;
     bool fixed_enabled = MASK_EXTR(msr_content, MTRRdefType_FE);
@@ -405,8 +405,8 @@ bool_t mtrr_def_type_msr_set(struct domain *d, struct mtrr_state *m,
     return 1;
 }
 
-bool_t mtrr_fix_range_msr_set(struct domain *d, struct mtrr_state *m,
-                              uint32_t row, uint64_t msr_content)
+bool mtrr_fix_range_msr_set(struct domain *d, struct mtrr_state *m,
+                            uint32_t row, uint64_t msr_content)
 {
     uint64_t *fixed_range_base = (uint64_t *)m->fixed_ranges;
 
@@ -428,7 +428,7 @@ bool_t mtrr_fix_range_msr_set(struct domain *d, struct mtrr_state *m,
     return 1;
 }
 
-bool_t mtrr_var_range_msr_set(
+bool mtrr_var_range_msr_set(
     struct domain *d, struct mtrr_state *m, uint32_t msr, uint64_t msr_content)
 {
     uint32_t index, phys_addr;
diff --git a/xen/arch/x86/hvm/nestedhvm.c b/xen/arch/x86/hvm/nestedhvm.c
index 64d7eec9a1de..12bf7172b873 100644
--- a/xen/arch/x86/hvm/nestedhvm.c
+++ b/xen/arch/x86/hvm/nestedhvm.c
@@ -16,7 +16,7 @@
 static unsigned long *shadow_io_bitmap[3];
 
 /* Nested VCPU */
-bool_t
+bool
 nestedhvm_vcpu_in_guestmode(struct vcpu *v)
 {
     return vcpu_nestedhvm(v).nv_guestmode;
@@ -155,7 +155,7 @@ static int __init cf_check nestedhvm_setup(void)
 __initcall(nestedhvm_setup);
 
 unsigned long *
-nestedhvm_vcpu_iomap_get(bool_t ioport_80, bool_t ioport_ed)
+nestedhvm_vcpu_iomap_get(bool ioport_80, bool ioport_ed)
 {
     int i;
 
diff --git a/xen/arch/x86/hvm/stdvga.c b/xen/arch/x86/hvm/stdvga.c
index 8da07ff8a23b..b16c59f77270 100644
--- a/xen/arch/x86/hvm/stdvga.c
+++ b/xen/arch/x86/hvm/stdvga.c
@@ -126,7 +126,7 @@ static void stdvga_cache_disable(struct hvm_hw_stdvga *s)
     s->cache = STDVGA_CACHE_DISABLED;
 }
 
-static bool_t stdvga_cache_is_enabled(const struct hvm_hw_stdvga *s)
+static bool stdvga_cache_is_enabled(const struct hvm_hw_stdvga *s)
 {
     return s->cache == STDVGA_CACHE_ENABLED;
 }
diff --git a/xen/arch/x86/hvm/svm/nestedsvm.c b/xen/arch/x86/hvm/svm/nestedsvm.c
index a09b6abaaeaf..4073c317ecc2 100644
--- a/xen/arch/x86/hvm/svm/nestedsvm.c
+++ b/xen/arch/x86/hvm/svm/nestedsvm.c
@@ -50,7 +50,7 @@ int nestedsvm_vmcb_map(struct vcpu *v, uint64_t vmcbaddr)
 
     if ( !nv->nv_vvmcx )
     {
-        bool_t writable;
+        bool writable;
         void *vvmcx = hvm_map_guest_frame_rw(paddr_to_pfn(vmcbaddr), 1,
                                              &writable);
 
@@ -346,7 +346,7 @@ static int nsvm_vcpu_hostrestore(struct vcpu *v, struct cpu_user_regs *regs)
     return 0;
 }
 
-static int nsvm_vmrun_permissionmap(struct vcpu *v, bool_t viopm)
+static int nsvm_vmrun_permissionmap(struct vcpu *v, bool viopm)
 {
     struct svm_vcpu *arch_svm = &v->arch.hvm.svm;
     struct nestedsvm *svm = &vcpu_nestedsvm(v);
@@ -357,7 +357,7 @@ static int nsvm_vmrun_permissionmap(struct vcpu *v, bool_t viopm)
     unsigned int i;
     enum hvm_translation_result ret;
     unsigned long *ns_viomap;
-    bool_t ioport_80 = 1, ioport_ed = 1;
+    bool ioport_80 = true, ioport_ed = true;
 
     ns_msrpm_ptr = (unsigned long *)svm->ns_cached_msrpm;
 
@@ -853,9 +853,9 @@ uint64_t cf_check nsvm_vcpu_hostcr3(struct vcpu *v)
 
 static int
 nsvm_vmcb_guest_intercepts_msr(unsigned long *msr_bitmap,
-    uint32_t msr, bool_t write)
+    uint32_t msr, bool write)
 {
-    bool_t enabled;
+    bool enabled;
     unsigned long *msr_bit;
 
     msr_bit = svm_msrbit(msr_bitmap, msr);
@@ -887,7 +887,7 @@ nsvm_vmcb_guest_intercepts_ioio(paddr_t iopm_pa, uint64_t exitinfo1)
     ioio_info_t ioinfo;
     uint16_t port;
     unsigned int size;
-    bool_t enabled;
+    bool enabled;
 
     ioinfo.bytes = exitinfo1;
     port = ioinfo.fields.port;
@@ -926,7 +926,7 @@ nsvm_vmcb_guest_intercepts_ioio(paddr_t iopm_pa, uint64_t exitinfo1)
     return NESTEDHVM_VMEXIT_INJECT;
 }
 
-static bool_t
+static bool
 nsvm_vmcb_guest_intercepts_exitcode(struct vcpu *v,
     struct cpu_user_regs *regs, uint64_t exitcode)
 {
@@ -1289,7 +1289,7 @@ enum nestedhvm_vmexits
 nestedsvm_check_intercepts(struct vcpu *v, struct cpu_user_regs *regs,
     uint64_t exitcode)
 {
-    bool_t is_intercepted;
+    bool is_intercepted;
 
     ASSERT(vcpu_nestedhvm(v).nv_vmexit_pending == 0);
     is_intercepted = nsvm_vmcb_guest_intercepts_exitcode(v, regs, exitcode);
diff --git a/xen/arch/x86/hvm/svm/svm.c b/xen/arch/x86/hvm/svm/svm.c
index 674e54e04a1c..df4cb3fd335f 100644
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -59,7 +59,7 @@ static DEFINE_PER_CPU_READ_MOSTLY(paddr_t, host_vmcb);
 static DEFINE_PER_CPU(struct vmcb_struct *, host_vmcb_va);
 #endif
 
-static bool_t amd_erratum383_found __read_mostly;
+static bool amd_erratum383_found __read_mostly;
 
 /* OSVW bits */
 static uint64_t osvw_length, osvw_status;
@@ -1014,7 +1014,7 @@ static void noreturn cf_check svm_do_resume(void)
     bool debug_state = (v->domain->debugger_attached ||
                         v->domain->arch.monitor.software_breakpoint_enabled ||
                         v->domain->arch.monitor.debug_exception_enabled);
-    bool_t vcpu_guestmode = 0;
+    bool vcpu_guestmode = false;
     struct vlapic *vlapic = vcpu_vlapic(v);
 
     if ( nestedhvm_enabled(v->domain) && nestedhvm_vcpu_in_guestmode(v) )
@@ -2537,7 +2537,7 @@ static struct hvm_function_table __initdata_cf_clobber svm_function_table = {
 
 const struct hvm_function_table * __init start_svm(void)
 {
-    bool_t printed = 0;
+    bool printed = false;
 
     svm_host_osvw_reset();
 
@@ -2594,7 +2594,7 @@ void svm_vmexit_handler(void)
     struct vmcb_struct *vmcb = v->arch.hvm.svm.vmcb;
     int insn_len, rc;
     vintr_t intr;
-    bool_t vcpu_guestmode = 0;
+    bool vcpu_guestmode = false;
     struct vlapic *vlapic = vcpu_vlapic(v);
 
     regs->rax = vmcb->rax;
diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index a8e87c444627..a54010d71ea1 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -191,10 +191,10 @@ uint32_t vlapic_set_ppr(struct vlapic *vlapic)
    return ppr;
 }
 
-static bool_t vlapic_match_logical_addr(const struct vlapic *vlapic,
-                                        uint32_t mda)
+static bool vlapic_match_logical_addr(const struct vlapic *vlapic,
+                                      uint32_t mda)
 {
-    bool_t result = 0;
+    bool result = false;
     uint32_t logical_id = vlapic_get_reg(vlapic, APIC_LDR);
 
     if ( vlapic_x2apic_mode(vlapic) )
@@ -224,9 +224,9 @@ static bool_t vlapic_match_logical_addr(const struct vlapic *vlapic,
     return result;
 }
 
-bool_t vlapic_match_dest(
+bool vlapic_match_dest(
     const struct vlapic *target, const struct vlapic *source,
-    int short_hand, uint32_t dest, bool_t dest_mode)
+    int short_hand, uint32_t dest, bool dest_mode)
 {
     HVM_DBG_LOG(DBG_LEVEL_VLAPIC, "target %p, source %p, dest %#x, "
                 "dest_mode %#x, short_hand %#x",
@@ -264,7 +264,7 @@ static void vlapic_init_sipi_one(struct vcpu *target, uint32_t icr)
     switch ( icr & APIC_MODE_MASK )
     {
     case APIC_DM_INIT: {
-        bool_t fpu_initialised;
+        bool fpu_initialised;
         int rc;
 
         /* No work on INIT de-assert for P4-type APIC. */
@@ -307,7 +307,7 @@ static void cf_check vlapic_init_sipi_action(void *data)
     uint32_t icr = vcpu_vlapic(origin)->init_sipi.icr;
     uint32_t dest = vcpu_vlapic(origin)->init_sipi.dest;
     uint32_t short_hand = icr & APIC_SHORT_MASK;
-    bool_t dest_mode = !!(icr & APIC_DEST_MASK);
+    bool dest_mode = icr & APIC_DEST_MASK;
     struct vcpu *v;
 
     if ( icr == 0 )
@@ -349,7 +349,8 @@ static void vlapic_accept_irq(struct vcpu *v, uint32_t icr_low)
     case APIC_DM_NMI:
         if ( !test_and_set_bool(v->arch.nmi_pending) )
         {
-            bool_t wake = 0;
+            bool wake = false;
+
             domain_lock(v->domain);
             if ( v->is_initialised )
                 wake = test_and_clear_bit(_VPF_down, &v->pause_flags);
@@ -373,7 +374,7 @@ static void vlapic_accept_irq(struct vcpu *v, uint32_t icr_low)
 
 struct vlapic *vlapic_lowest_prio(
     struct domain *d, const struct vlapic *source,
-    int short_hand, uint32_t dest, bool_t dest_mode)
+    int short_hand, uint32_t dest, bool dest_mode)
 {
     int old = hvm_domain_irq(d)->round_robin_prev_vcpu;
     uint32_t ppr, target_ppr = UINT_MAX;
@@ -457,8 +458,8 @@ void vlapic_handle_EOI(struct vlapic *vlapic, u8 vector)
     hvm_dpci_msi_eoi(d, vector);
 }
 
-static bool_t is_multicast_dest(struct vlapic *vlapic, unsigned int short_hand,
-                                uint32_t dest, bool_t dest_mode)
+static bool is_multicast_dest(struct vlapic *vlapic, unsigned int short_hand,
+                              uint32_t dest, bool dest_mode)
 {
     if ( vlapic_domain(vlapic)->max_vcpus <= 2 )
         return 0;
@@ -482,7 +483,7 @@ void vlapic_ipi(
 {
     unsigned int dest;
     unsigned int short_hand = icr_low & APIC_SHORT_MASK;
-    bool_t dest_mode = !!(icr_low & APIC_DEST_MASK);
+    bool dest_mode = icr_low & APIC_DEST_MASK;
 
     HVM_DBG_LOG(DBG_LEVEL_VLAPIC, "icr = 0x%08x:%08x", icr_high, icr_low);
 
@@ -523,7 +524,7 @@ void vlapic_ipi(
         /* fall through */
     default: {
         struct vcpu *v;
-        bool_t batch = is_multicast_dest(vlapic, short_hand, dest, dest_mode);
+        bool batch = is_multicast_dest(vlapic, short_hand, dest, dest_mode);
 
         if ( batch )
             cpu_raise_softirq_batch_begin();
@@ -1342,7 +1343,7 @@ int vlapic_has_pending_irq(struct vcpu *v)
     return irr;
 }
 
-int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack)
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool force_ack)
 {
     struct vlapic *vlapic = vcpu_vlapic(v);
     int isr;
@@ -1377,7 +1378,7 @@ int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack)
     return 1;
 }
 
-bool_t is_vlapic_lvtpc_enabled(struct vlapic *vlapic)
+bool is_vlapic_lvtpc_enabled(struct vlapic *vlapic)
 {
     return (vlapic_enabled(vlapic) &&
             !(vlapic_get_reg(vlapic, APIC_LVTPC) & APIC_LVT_MASKED));
diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
index 6cefb88aec29..6711697ff6ea 100644
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -32,13 +32,13 @@
 #include <asm/tboot.h>
 #include <asm/apic.h>
 
-static bool_t __read_mostly opt_vpid_enabled = 1;
+static bool __read_mostly opt_vpid_enabled = true;
 boolean_param("vpid", opt_vpid_enabled);
 
-static bool_t __read_mostly opt_unrestricted_guest_enabled = 1;
+static bool __read_mostly opt_unrestricted_guest_enabled = true;
 boolean_param("unrestricted_guest", opt_unrestricted_guest_enabled);
 
-static bool_t __read_mostly opt_apicv_enabled = 1;
+static bool __read_mostly opt_apicv_enabled = true;
 boolean_param("apicv", opt_apicv_enabled);
 
 /*
@@ -168,12 +168,12 @@ u32 vmx_vmexit_control __read_mostly;
 u32 vmx_vmentry_control __read_mostly;
 u64 vmx_ept_vpid_cap __read_mostly;
 u64 vmx_vmfunc __read_mostly;
-bool_t vmx_virt_exception __read_mostly;
+bool vmx_virt_exception __read_mostly;
 
 static DEFINE_PER_CPU_READ_MOSTLY(paddr_t, vmxon_region);
 static DEFINE_PER_CPU(paddr_t, current_vmcs);
 static DEFINE_PER_CPU(struct list_head, active_vmcs_list);
-DEFINE_PER_CPU(bool_t, vmxon);
+DEFINE_PER_CPU(bool, vmxon);
 
 static u32 vmcs_revision_id __read_mostly;
 u64 __read_mostly vmx_basic_msr;
@@ -209,7 +209,7 @@ static void __init vmx_display_features(void)
 }
 
 static u32 adjust_vmx_controls(
-    const char *name, u32 ctl_min, u32 ctl_opt, u32 msr, bool_t *mismatch)
+    const char *name, u32 ctl_min, u32 ctl_opt, u32 msr, bool *mismatch)
 {
     u32 vmx_msr_low, vmx_msr_high, ctl = ctl_min | ctl_opt;
 
@@ -229,7 +229,7 @@ static u32 adjust_vmx_controls(
     return ctl;
 }
 
-static bool_t cap_check(const char *name, u32 expected, u32 saw)
+static bool cap_check(const char *name, u32 expected, u32 saw)
 {
     if ( saw != expected )
         printk("VMX %s: saw %#x expected %#x\n", name, saw, expected);
@@ -247,7 +247,7 @@ static int vmx_init_vmcs_config(bool bsp)
     u32 _vmx_vmexit_control;
     u32 _vmx_vmentry_control;
     u64 _vmx_vmfunc = 0;
-    bool_t mismatch = 0;
+    bool mismatch = false;
 
     rdmsr(MSR_IA32_VMX_BASIC, vmx_basic_msr_low, vmx_basic_msr_high);
 
@@ -802,7 +802,7 @@ struct foreign_vmcs {
 };
 static DEFINE_PER_CPU(struct foreign_vmcs, foreign_vmcs);
 
-bool_t vmx_vmcs_try_enter(struct vcpu *v)
+bool vmx_vmcs_try_enter(struct vcpu *v)
 {
     struct foreign_vmcs *fv;
 
@@ -840,7 +840,7 @@ bool_t vmx_vmcs_try_enter(struct vcpu *v)
 
 void vmx_vmcs_enter(struct vcpu *v)
 {
-    bool_t okay = vmx_vmcs_try_enter(v);
+    bool okay = vmx_vmcs_try_enter(v);
 
     ASSERT(okay);
 }
@@ -1599,10 +1599,9 @@ void vmx_clear_eoi_exit_bitmap(struct vcpu *v, u8 vector)
                 &v->arch.hvm.vmx.eoi_exitmap_changed);
 }
 
-bool_t vmx_vcpu_pml_enabled(const struct vcpu *v)
+bool vmx_vcpu_pml_enabled(const struct vcpu *v)
 {
-    return !!(v->arch.hvm.vmx.secondary_exec_control &
-              SECONDARY_EXEC_ENABLE_PML);
+    return v->arch.hvm.vmx.secondary_exec_control & SECONDARY_EXEC_ENABLE_PML;
 }
 
 int vmx_vcpu_enable_pml(struct vcpu *v)
@@ -1704,7 +1703,7 @@ void vmx_vcpu_flush_pml_buffer(struct vcpu *v)
     vmx_vmcs_exit(v);
 }
 
-bool_t vmx_domain_pml_enabled(const struct domain *d)
+bool vmx_domain_pml_enabled(const struct domain *d)
 {
     return d->arch.hvm.vmx.status & VMX_DOMAIN_PML_ENABLED;
 }
@@ -1872,7 +1871,7 @@ static void vmx_update_debug_state(struct vcpu *v)
 void cf_check vmx_do_resume(void)
 {
     struct vcpu *v = current;
-    bool_t debug_state;
+    bool debug_state;
     unsigned long host_cr4;
 
     if ( v->arch.hvm.vmx.active_cpu == smp_processor_id() )
diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
index 1edc7f1e919f..b99770d588fb 100644
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -50,7 +50,7 @@
 #include <asm/prot-key.h>
 #include <public/arch-x86/cpuid.h>
 
-static bool_t __initdata opt_force_ept;
+static bool __initdata opt_force_ept;
 boolean_param("force-ept", opt_force_ept);
 
 static void cf_check vmx_ctxt_switch_from(struct vcpu *v);
@@ -2196,7 +2196,7 @@ static void cf_check vmx_process_isr(int isr, struct vcpu *v)
 
 static void __vmx_deliver_posted_interrupt(struct vcpu *v)
 {
-    bool_t running = v->is_running;
+    bool running = v->is_running;
 
     vcpu_unblock(v);
     /*
@@ -4793,7 +4793,7 @@ bool vmx_vmenter_helper(const struct cpu_user_regs *regs)
     struct domain *currd = curr->domain;
     u32 new_asid, old_asid;
     struct hvm_vcpu_asid *p_asid;
-    bool_t need_flush;
+    bool need_flush;
 
     ASSERT(hvmemul_cache_disabled(curr));
 
diff --git a/xen/arch/x86/hvm/vmx/vvmx.c b/xen/arch/x86/hvm/vmx/vvmx.c
index b7be424afbca..e2bb71b0ab58 100644
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -811,7 +811,7 @@ static void unmap_io_bitmap(struct vcpu *v, unsigned int idx)
     }
 }
 
-static bool_t __must_check _map_io_bitmap(struct vcpu *v, u64 vmcs_reg)
+static bool __must_check _map_io_bitmap(struct vcpu *v, u64 vmcs_reg)
 {
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
     unsigned long gpa;
@@ -825,7 +825,7 @@ static bool_t __must_check _map_io_bitmap(struct vcpu *v, u64 vmcs_reg)
     return nvmx->iobitmap[index] != NULL;
 }
 
-static inline bool_t __must_check map_io_bitmap_all(struct vcpu *v)
+static inline bool __must_check map_io_bitmap_all(struct vcpu *v)
 {
    return _map_io_bitmap(v, IO_BITMAP_A) &&
           _map_io_bitmap(v, IO_BITMAP_B);
@@ -1148,7 +1148,7 @@ static uint64_t get_host_eptp(struct vcpu *v)
     return p2m_get_hostp2m(v->domain)->ept.eptp;
 }
 
-static bool_t nvmx_vpid_enabled(const struct vcpu *v)
+static bool nvmx_vpid_enabled(const struct vcpu *v)
 {
     uint32_t second_cntl;
 
@@ -1591,12 +1591,12 @@ static int nvmx_handle_vmxoff(struct cpu_user_regs *regs)
     return X86EMUL_OKAY;
 }
 
-static bool_t vvmcs_launched(struct list_head *launched_list,
-                             unsigned long vvmcs_mfn)
+static bool vvmcs_launched(struct list_head *launched_list,
+                           unsigned long vvmcs_mfn)
 {
     struct vvmcs_list *vvmcs;
     struct list_head *pos;
-    bool_t launched = 0;
+    bool launched = false;
 
     list_for_each(pos, launched_list)
     {
@@ -1679,7 +1679,7 @@ static enum vmx_insn_errno nvmx_vmresume(struct vcpu *v)
 
 static int nvmx_handle_vmresume(struct cpu_user_regs *regs)
 {
-    bool_t launched;
+    bool launched;
     struct vcpu *v = current;
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
     unsigned long intr_shadow;
@@ -1715,7 +1715,7 @@ static int nvmx_handle_vmresume(struct cpu_user_regs *regs)
 
 static int nvmx_handle_vmlaunch(struct cpu_user_regs *regs)
 {
-    bool_t launched;
+    bool launched;
     struct vcpu *v = current;
     struct nestedvmx *nvmx = &vcpu_2_nvmx(v);
     unsigned long intr_shadow;
@@ -1785,7 +1785,7 @@ static int nvmx_handle_vmptrld(struct cpu_user_regs *regs)
 
     if ( !vvmcx_valid(v) )
     {
-        bool_t writable;
+        bool writable;
         void *vvmcx = hvm_map_guest_frame_rw(paddr_to_pfn(gpa), 1, &writable);
 
         if ( vvmcx )
@@ -1894,7 +1894,7 @@ static int nvmx_handle_vmclear(struct cpu_user_regs *regs)
     else 
     {
         /* Even if this VMCS isn't the current one, we must clear it. */
-        bool_t writable;
+        bool writable;
 
         vvmcs = hvm_map_guest_frame_rw(paddr_to_pfn(gpa), 0, &writable);
 
diff --git a/xen/arch/x86/include/asm/acpi.h b/xen/arch/x86/include/asm/acpi.h
index 6ce79ce465b4..6d94f822d476 100644
--- a/xen/arch/x86/include/asm/acpi.h
+++ b/xen/arch/x86/include/asm/acpi.h
@@ -127,7 +127,7 @@ struct acpi_sleep_info {
     uint32_t sleep_state;
     uint64_t wakeup_vector;
     uint32_t vector_width;
-    bool_t sleep_extended;
+    bool sleep_extended;
 };
 
 #define MAX_MADT_ENTRIES	MAX(256, 2 * NR_CPUS)
diff --git a/xen/arch/x86/include/asm/apic.h b/xen/arch/x86/include/asm/apic.h
index 7625c0ecd66b..8459e43ded57 100644
--- a/xen/arch/x86/include/asm/apic.h
+++ b/xen/arch/x86/include/asm/apic.h
@@ -139,7 +139,7 @@ static __inline void apic_icr_write(u32 low, u32 dest)
     }
 }
 
-static __inline bool_t apic_isr_read(u8 vector)
+static __inline bool apic_isr_read(u8 vector)
 {
     return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
             (vector & 0x1f)) & 1;
diff --git a/xen/arch/x86/include/asm/domain.h b/xen/arch/x86/include/asm/domain.h
index d033224d2b1a..4b6b7ceab1ed 100644
--- a/xen/arch/x86/include/asm/domain.h
+++ b/xen/arch/x86/include/asm/domain.h
@@ -106,17 +106,17 @@ struct shadow_domain {
 
     /* Shadow hashtable */
     struct page_info **hash_table;
-    bool_t hash_walking;  /* Some function is walking the hash table */
+    bool hash_walking;  /* Some function is walking the hash table */
 
     /* Fast MMIO path heuristic */
     bool has_fast_mmio_entries;
 
 #ifdef CONFIG_HVM
     /* OOS */
-    bool_t oos_active;
+    bool oos_active;
 
     /* Has this domain ever used HVMOP_pagetable_dying? */
-    bool_t pagetable_dying_op;
+    bool pagetable_dying_op;
 #endif
 
 #ifdef CONFIG_PV
@@ -160,7 +160,7 @@ struct shadow_vcpu {
         unsigned long off[SHADOW_OOS_FIXUPS];
     } oos_fixup[SHADOW_OOS_PAGES];
 
-    bool_t pagetable_dying;
+    bool pagetable_dying;
 #endif
 #endif
 };
@@ -199,7 +199,7 @@ struct paging_domain {
     /* flags to control paging operation */
     u32                     mode;
     /* Has that pool ever run out of memory? */
-    bool_t                  p2m_alloc_failed;
+    bool                    p2m_alloc_failed;
     /* extension for shadow paging support */
     struct shadow_domain    shadow;
     /* extension for hardware-assited paging */
@@ -353,7 +353,7 @@ struct arch_domain
     mm_lock_t nested_p2m_lock;
 
     /* altp2m: allow multiple copies of host p2m */
-    bool_t altp2m_active;
+    bool altp2m_active;
     struct p2m_domain *altp2m_p2m[MAX_ALTP2M];
     mm_lock_t altp2m_list_lock;
     uint64_t *altp2m_eptp;
@@ -364,10 +364,10 @@ struct arch_domain
     struct radix_tree_root irq_pirq;
 
     /* Is shared-info page in 32-bit format? */
-    bool_t has_32bit_shinfo;
+    bool has_32bit_shinfo;
 
     /* Is PHYSDEVOP_eoi to automatically unmask the event channel? */
-    bool_t auto_unmask;
+    bool auto_unmask;
 
     /*
      * The width of the FIP/FDP register in the FPU that needs to be
@@ -399,7 +399,7 @@ struct arch_domain
 
     /* TSC management (emulation, pv, scaling, stats) */
     int tsc_mode;            /* see asm/time.h */
-    bool_t vtsc;             /* tsc is emulated (may change after migrate) */
+    bool vtsc;               /* tsc is emulated (may change after migrate) */
     s_time_t vtsc_last;      /* previous TSC value (guarantee monotonicity) */
     uint64_t vtsc_offset;    /* adjustment for save/restore/migrate */
     uint32_t tsc_khz;        /* cached guest khz for certain emulated or
@@ -452,7 +452,7 @@ struct arch_domain
     } monitor;
 
     /* Mem_access emulation control */
-    bool_t mem_access_emulate_each_rep;
+    bool mem_access_emulate_each_rep;
 
     /* Don't unconditionally inject #GP for unhandled MSRs. */
     bool msr_relaxed;
@@ -544,8 +544,8 @@ struct pv_vcpu
     unsigned long sysenter_callback_eip;
     unsigned short syscall32_callback_cs;
     unsigned short sysenter_callback_cs;
-    bool_t syscall32_disables_events;
-    bool_t sysenter_disables_events;
+    bool syscall32_disables_events;
+    bool sysenter_disables_events;
 
     /*
      * 64bit segment bases.
@@ -586,7 +586,7 @@ struct pv_vcpu
     uint32_t dr7_emul;
 
     /* Deferred VA-based update state. */
-    bool_t need_update_runstate_area;
+    bool need_update_runstate_area;
     struct vcpu_time_info pending_system_time;
 };
 
@@ -656,7 +656,7 @@ struct arch_vcpu
     uint64_t xcr0_accum;
     /* This variable determines whether nonlazy extended state has been used,
      * and thus should be saved/restored. */
-    bool_t nonlazy_xstate_used;
+    bool nonlazy_xstate_used;
 
     /* Restore all FPU state (lazy and non-lazy state) on context switch? */
     bool fully_eager_fpu;
diff --git a/xen/arch/x86/include/asm/hardirq.h b/xen/arch/x86/include/asm/hardirq.h
index 276e3419d778..342361cb6fdd 100644
--- a/xen/arch/x86/include/asm/hardirq.h
+++ b/xen/arch/x86/include/asm/hardirq.h
@@ -9,7 +9,7 @@ typedef struct {
 	unsigned int __local_irq_count;
 	unsigned int nmi_count;
 	unsigned int mce_count;
-	bool_t __mwait_wakeup;
+	bool __mwait_wakeup;
 } __cacheline_aligned irq_cpustat_t;
 
 #include <xen/irq_cpustat.h>	/* Standard mappings for irq_cpustat_t above */
diff --git a/xen/arch/x86/include/asm/hvm/asid.h b/xen/arch/x86/include/asm/hvm/asid.h
index 0207f8fc29db..17c58353d139 100644
--- a/xen/arch/x86/include/asm/hvm/asid.h
+++ b/xen/arch/x86/include/asm/hvm/asid.h
@@ -26,7 +26,7 @@ void hvm_asid_flush_core(void);
 
 /* Called before entry to guest context. Checks ASID allocation, returns a
  * boolean indicating whether all ASIDs must be flushed. */
-bool_t hvm_asid_handle_vmenter(struct hvm_vcpu_asid *asid);
+bool hvm_asid_handle_vmenter(struct hvm_vcpu_asid *asid);
 
 #endif /* __ASM_X86_HVM_ASID_H__ */
 
diff --git a/xen/arch/x86/include/asm/hvm/emulate.h b/xen/arch/x86/include/asm/hvm/emulate.h
index 398d0db0781b..29d679442e10 100644
--- a/xen/arch/x86/include/asm/hvm/emulate.h
+++ b/xen/arch/x86/include/asm/hvm/emulate.h
@@ -50,7 +50,7 @@ struct hvm_emulate_ctxt {
 
     bool is_mem_access;
 
-    bool_t set_context;
+    bool set_context;
 };
 
 enum emul_kind {
diff --git a/xen/arch/x86/include/asm/hvm/hvm.h b/xen/arch/x86/include/asm/hvm/hvm.h
index 6d53713fc3a9..a4c1af19acd6 100644
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -21,7 +21,7 @@ struct pirq; /* needed by pi_update_irte */
 
 #ifdef CONFIG_HVM_FEP
 /* Permit use of the Forced Emulation Prefix in HVM guests */
-extern bool_t opt_hvm_fep;
+extern bool opt_hvm_fep;
 #else
 #define opt_hvm_fep 0
 #endif
@@ -95,7 +95,7 @@ struct hvm_function_table {
     const char *name;
 
     /* Support Hardware-Assisted Paging? */
-    bool_t hap_supported;
+    bool hap_supported;
 
     /* Necessary hardware support for alternate p2m's? */
     bool altp2m_supported;
@@ -189,10 +189,10 @@ struct hvm_function_table {
     int (*nhvm_vcpu_reset)(struct vcpu *v);
     int (*nhvm_vcpu_vmexit_event)(struct vcpu *v, const struct x86_event *event);
     uint64_t (*nhvm_vcpu_p2m_base)(struct vcpu *v);
-    bool_t (*nhvm_vmcx_guest_intercepts_event)(
+    bool (*nhvm_vmcx_guest_intercepts_event)(
         struct vcpu *v, unsigned int vector, int errcode);
 
-    bool_t (*nhvm_vmcx_hap_enabled)(struct vcpu *v);
+    bool (*nhvm_vmcx_hap_enabled)(struct vcpu *v);
 
     enum hvm_intblk (*nhvm_intr_blocked)(struct vcpu *v);
     void (*nhvm_domain_relinquish_resources)(struct domain *d);
@@ -218,7 +218,7 @@ struct hvm_function_table {
     /* Alternate p2m */
     void (*altp2m_vcpu_update_p2m)(struct vcpu *v);
     void (*altp2m_vcpu_update_vmfunc_ve)(struct vcpu *v);
-    bool_t (*altp2m_vcpu_emulate_ve)(struct vcpu *v);
+    bool (*altp2m_vcpu_emulate_ve)(struct vcpu *v);
     int (*altp2m_vcpu_emulate_vmfunc)(const struct cpu_user_regs *regs);
 
     /* vmtrace */
@@ -247,7 +247,7 @@ struct hvm_function_table {
 };
 
 extern struct hvm_function_table hvm_funcs;
-extern bool_t hvm_enabled;
+extern bool hvm_enabled;
 extern s8 hvm_port80_allowed;
 
 extern const struct hvm_function_table *start_svm(void);
@@ -346,10 +346,10 @@ static inline bool hvm_virtual_to_linear_addr(
                                       access_type, active_cs, linear);
 }
 
-void *hvm_map_guest_frame_rw(unsigned long gfn, bool_t permanent,
-                             bool_t *writable);
-void *hvm_map_guest_frame_ro(unsigned long gfn, bool_t permanent);
-void hvm_unmap_guest_frame(void *p, bool_t permanent);
+void *hvm_map_guest_frame_rw(unsigned long gfn, bool permanent,
+                             bool *writable);
+void *hvm_map_guest_frame_ro(unsigned long gfn, bool permanent);
+void hvm_unmap_guest_frame(void *p, bool permanent);
 void hvm_mapped_guest_frames_mark_dirty(struct domain *d);
 
 int hvm_debug_op(struct vcpu *v, int32_t op);
@@ -616,7 +616,7 @@ static inline uint64_t nhvm_vcpu_p2m_base(struct vcpu *v)
 }
 
 /* returns true, when l1 guest intercepts the specified trap */
-static inline bool_t nhvm_vmcx_guest_intercepts_event(
+static inline bool nhvm_vmcx_guest_intercepts_event(
     struct vcpu *v, unsigned int vector, int errcode)
 {
     return alternative_call(hvm_funcs.nhvm_vmcx_guest_intercepts_event, v,
@@ -624,7 +624,7 @@ static inline bool_t nhvm_vmcx_guest_intercepts_event(
 }
 
 /* returns true when l1 guest wants to use hap to run l2 guest */
-static inline bool_t nhvm_vmcx_hap_enabled(struct vcpu *v)
+static inline bool nhvm_vmcx_hap_enabled(struct vcpu *v)
 {
     return alternative_call(hvm_funcs.nhvm_vmcx_hap_enabled, v);
 }
diff --git a/xen/arch/x86/include/asm/hvm/io.h b/xen/arch/x86/include/asm/hvm/io.h
index e5225e75ef26..54de84185fb3 100644
--- a/xen/arch/x86/include/asm/hvm/io.h
+++ b/xen/arch/x86/include/asm/hvm/io.h
@@ -54,7 +54,7 @@ typedef int (*hvm_io_write_t)(const struct hvm_io_handler *handler,
                               uint64_t addr,
                               uint32_t size,
                               uint64_t data);
-typedef bool_t (*hvm_io_accept_t)(const struct hvm_io_handler *handler,
+typedef bool (*hvm_io_accept_t)(const struct hvm_io_handler *handler,
                                   const ioreq_t *p);
 typedef void (*hvm_io_complete_t)(const struct hvm_io_handler *handler);
 
@@ -72,7 +72,7 @@ int hvm_io_intercept(ioreq_t *p);
 
 struct hvm_io_handler *hvm_next_io_handler(struct domain *d);
 
-bool_t hvm_mmio_internal(paddr_t gpa);
+bool hvm_mmio_internal(paddr_t gpa);
 
 void register_mmio_handler(struct domain *d,
                            const struct hvm_mmio_ops *ops);
@@ -121,7 +121,7 @@ struct hvm_hw_stdvga {
     uint8_t sr[8];
     uint8_t gr_index;
     uint8_t gr[9];
-    bool_t stdvga;
+    bool stdvga;
     enum stdvga_cache_state cache;
     uint32_t latch;
     struct page_info *vram_page[64];  /* shadow of 0xa0000-0xaffff */
diff --git a/xen/arch/x86/include/asm/hvm/nestedhvm.h b/xen/arch/x86/include/asm/hvm/nestedhvm.h
index 3d1ec53a6ff9..56a2019e1bae 100644
--- a/xen/arch/x86/include/asm/hvm/nestedhvm.h
+++ b/xen/arch/x86/include/asm/hvm/nestedhvm.h
@@ -32,7 +32,7 @@ static inline bool nestedhvm_enabled(const struct domain *d)
 int nestedhvm_vcpu_initialise(struct vcpu *v);
 void nestedhvm_vcpu_destroy(struct vcpu *v);
 void nestedhvm_vcpu_reset(struct vcpu *v);
-bool_t nestedhvm_vcpu_in_guestmode(struct vcpu *v);
+bool nestedhvm_vcpu_in_guestmode(struct vcpu *v);
 #define nestedhvm_vcpu_enter_guestmode(v) \
     vcpu_nestedhvm(v).nv_guestmode = 1
 #define nestedhvm_vcpu_exit_guestmode(v)  \
@@ -50,7 +50,7 @@ int nestedhvm_hap_nested_page_fault(struct vcpu *v, paddr_t *L2_gpa,
                                     struct npfec npfec);
 
 /* IO permission map */
-unsigned long *nestedhvm_vcpu_iomap_get(bool_t ioport_80, bool_t ioport_ed);
+unsigned long *nestedhvm_vcpu_iomap_get(bool ioport_80, bool ioport_ed);
 
 /* Misc */
 #define nestedhvm_paging_mode_hap(v) (!!nhvm_vmcx_hap_enabled(v))
diff --git a/xen/arch/x86/include/asm/hvm/vcpu.h b/xen/arch/x86/include/asm/hvm/vcpu.h
index c9ef2b325bd4..64c7a6fedea9 100644
--- a/xen/arch/x86/include/asm/hvm/vcpu.h
+++ b/xen/arch/x86/include/asm/hvm/vcpu.h
@@ -60,7 +60,7 @@ struct hvm_vcpu_io {
      * For string instruction emulation we need to be able to signal a
      * necessary retry through other than function return codes.
      */
-    bool_t mmio_retry;
+    bool mmio_retry;
 
     unsigned long msix_unmask_address;
     unsigned long msix_snoop_address;
@@ -70,7 +70,7 @@ struct hvm_vcpu_io {
 };
 
 struct nestedvcpu {
-    bool_t nv_guestmode; /* vcpu in guestmode? */
+    bool nv_guestmode; /* vcpu in guestmode? */
     void *nv_vvmcx; /* l1 guest virtual VMCB/VMCS */
     void *nv_n1vmcx; /* VMCB/VMCS used to run l1 guest */
     void *nv_n2vmcx; /* shadow VMCB/VMCS used to run l2 guest */
@@ -85,22 +85,22 @@ struct nestedvcpu {
         struct nestedvmx nvmx;
     } u;
 
-    bool_t nv_flushp2m; /* True, when p2m table must be flushed */
+    bool nv_flushp2m; /* True, when p2m table must be flushed */
     struct p2m_domain *nv_p2m; /* used p2m table for this vcpu */
     bool stale_np2m; /* True when p2m_base in VMCx02 is no longer valid */
     uint64_t np2m_generation;
 
     struct hvm_vcpu_asid nv_n2asid;
 
-    bool_t nv_vmentry_pending;
-    bool_t nv_vmexit_pending;
-    bool_t nv_vmswitch_in_progress; /* true during vmentry/vmexit emulation */
+    bool nv_vmentry_pending;
+    bool nv_vmexit_pending;
+    bool nv_vmswitch_in_progress; /* true during vmentry/vmexit emulation */
 
     /* Does l1 guest intercept io ports 0x80 and/or 0xED ?
      * Useful to optimize io permission handling.
      */
-    bool_t nv_ioport80;
-    bool_t nv_ioportED;
+    bool nv_ioport80;
+    bool nv_ioportED;
 
     /* L2's control-resgister, just as the L2 sees them. */
     unsigned long       guest_cr[5];
diff --git a/xen/arch/x86/include/asm/hvm/vlapic.h b/xen/arch/x86/include/asm/hvm/vlapic.h
index f27454a13698..88ef94524339 100644
--- a/xen/arch/x86/include/asm/hvm/vlapic.h
+++ b/xen/arch/x86/include/asm/hvm/vlapic.h
@@ -66,7 +66,7 @@ struct vlapic {
     struct hvm_hw_lapic      hw;
     struct hvm_hw_lapic_regs *regs;
     struct {
-        bool_t               hw, regs;
+        bool                 hw, regs;
         uint32_t             id, ldr;
     }                        loaded;
     spinlock_t               esr_lock;
@@ -97,13 +97,13 @@ static inline void vlapic_set_reg(
 
 void vlapic_reg_write(struct vcpu *v, unsigned int reg, uint32_t val);
 
-bool_t is_vlapic_lvtpc_enabled(struct vlapic *vlapic);
+bool is_vlapic_lvtpc_enabled(struct vlapic *vlapic);
 
 bool vlapic_test_irq(const struct vlapic *vlapic, uint8_t vec);
 void vlapic_set_irq(struct vlapic *vlapic, uint8_t vec, uint8_t trig);
 
 int vlapic_has_pending_irq(struct vcpu *v);
-int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool_t force_ack);
+int vlapic_ack_pending_irq(struct vcpu *v, int vector, bool force_ack);
 
 int  vlapic_init(struct vcpu *v);
 void vlapic_destroy(struct vcpu *v);
@@ -131,11 +131,11 @@ int vlapic_apicv_write(struct vcpu *v, unsigned int offset);
 
 struct vlapic *vlapic_lowest_prio(
     struct domain *d, const struct vlapic *source,
-    int short_hand, uint32_t dest, bool_t dest_mode);
+    int short_hand, uint32_t dest, bool dest_mode);
 
-bool_t vlapic_match_dest(
+bool vlapic_match_dest(
     const struct vlapic *target, const struct vlapic *source,
-    int short_hand, uint32_t dest, bool_t dest_mode);
+    int short_hand, uint32_t dest, bool dest_mode);
 
 static inline void vlapic_sync_pir_to_irr(struct vcpu *v)
 {
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
index e05664399309..a9afdffae547 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -143,7 +143,7 @@ struct vmx_vcpu {
     unsigned long        host_cr0;
 
     /* Do we need to tolerate a spurious EPT_MISCONFIG VM exit? */
-    bool_t               ept_spurious_misconfig;
+    bool                 ept_spurious_misconfig;
 
     /* Processor Trace configured and enabled for the vcpu. */
     bool                 ipt_active;
@@ -183,7 +183,7 @@ struct vmx_vcpu {
 int vmx_create_vmcs(struct vcpu *v);
 void vmx_destroy_vmcs(struct vcpu *v);
 void vmx_vmcs_enter(struct vcpu *v);
-bool_t __must_check vmx_vmcs_try_enter(struct vcpu *v);
+bool __must_check vmx_vmcs_try_enter(struct vcpu *v);
 void vmx_vmcs_exit(struct vcpu *v);
 void vmx_vmcs_reload(struct vcpu *v);
 
@@ -663,13 +663,13 @@ void virtual_vmcs_vmwrite(const struct vcpu *, u32 encoding, u64 val);
 enum vmx_insn_errno virtual_vmcs_vmwrite_safe(const struct vcpu *v,
                                               u32 vmcs_encoding, u64 val);
 
-DECLARE_PER_CPU(bool_t, vmxon);
+DECLARE_PER_CPU(bool, vmxon);
 
-bool_t vmx_vcpu_pml_enabled(const struct vcpu *v);
+bool vmx_vcpu_pml_enabled(const struct vcpu *v);
 int vmx_vcpu_enable_pml(struct vcpu *v);
 void vmx_vcpu_disable_pml(struct vcpu *v);
 void vmx_vcpu_flush_pml_buffer(struct vcpu *v);
-bool_t vmx_domain_pml_enabled(const struct domain *d);
+bool vmx_domain_pml_enabled(const struct domain *d);
 int vmx_domain_enable_pml(struct domain *d);
 void vmx_domain_disable_pml(struct domain *d);
 void vmx_domain_flush_pml_buffers(struct domain *d);
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vmx.h b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
index d4b335a2bca9..31643ed48103 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -585,7 +585,7 @@ void vmx_inject_extint(int trap, uint8_t source);
 void vmx_inject_nmi(void);
 
 void ept_walk_table(struct domain *d, unsigned long gfn);
-bool_t ept_handle_misconfig(uint64_t gpa);
+bool ept_handle_misconfig(uint64_t gpa);
 int epte_get_entry_emt(struct domain *d, gfn_t gfn, mfn_t mfn,
                        unsigned int order, bool *ipat, p2m_type_t type);
 void setup_ept_dump(void);
diff --git a/xen/arch/x86/include/asm/hvm/vmx/vvmx.h b/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
index dc9db69258d2..da10d3fa9617 100644
--- a/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vvmx.h
@@ -35,7 +35,7 @@ struct nestedvmx {
         u8            source;
     } intr;
     struct {
-        bool_t   enabled;
+        bool     enabled;
         uint32_t exit_reason;
         uint32_t exit_qual;
     } ept;
diff --git a/xen/arch/x86/include/asm/mtrr.h b/xen/arch/x86/include/asm/mtrr.h
index 1d2744eceb9e..36dac0a775a3 100644
--- a/xen/arch/x86/include/asm/mtrr.h
+++ b/xen/arch/x86/include/asm/mtrr.h
@@ -44,7 +44,7 @@ struct mtrr_state {
 
 	u64       mtrr_cap;
 	/* ranges in var MSRs are overlapped or not:0(no overlapped) */
-	bool_t    overlapped;
+	bool      overlapped;
 };
 extern struct mtrr_state mtrr_state;
 
@@ -68,19 +68,19 @@ extern void mtrr_aps_sync_begin(void);
 extern void mtrr_aps_sync_end(void);
 extern void mtrr_bp_restore(void);
 
-extern bool_t mtrr_var_range_msr_set(struct domain *d, struct mtrr_state *m,
-                                     uint32_t msr, uint64_t msr_content);
-extern bool_t mtrr_fix_range_msr_set(struct domain *d, struct mtrr_state *m,
-                                     uint32_t row, uint64_t msr_content);
-extern bool_t mtrr_def_type_msr_set(struct domain *d, struct mtrr_state *m,
-                                    uint64_t msr_content);
+extern bool mtrr_var_range_msr_set(struct domain *d, struct mtrr_state *m,
+                                   uint32_t msr, uint64_t msr_content);
+extern bool mtrr_fix_range_msr_set(struct domain *d, struct mtrr_state *m,
+                                   uint32_t row, uint64_t msr_content);
+extern bool mtrr_def_type_msr_set(struct domain *d, struct mtrr_state *m,
+                                  uint64_t msr_content);
 #ifdef CONFIG_HVM
 extern void memory_type_changed(struct domain *d);
 #else
 static inline void memory_type_changed(struct domain *d) {}
 #endif
 
-extern bool_t pat_msr_set(uint64_t *pat, uint64_t msr);
+extern bool pat_msr_set(uint64_t *pat, uint64_t msr);
 
 bool is_var_mtrr_overlapped(const struct mtrr_state *m);
 bool mtrr_pat_not_equal(const struct vcpu *vd, const struct vcpu *vs);
diff --git a/xen/arch/x86/include/asm/p2m.h b/xen/arch/x86/include/asm/p2m.h
index f2c7d58b5999..32f3f394b05a 100644
--- a/xen/arch/x86/include/asm/p2m.h
+++ b/xen/arch/x86/include/asm/p2m.h
@@ -27,7 +27,7 @@
 #endif
 #define P2M_DEBUGGING 0
 
-extern bool_t opt_hap_1gb, opt_hap_2mb;
+extern bool opt_hap_1gb, opt_hap_2mb;
 
 /*
  * The upper levels of the p2m pagetable always contain full rights; all 
@@ -245,7 +245,7 @@ struct p2m_domain {
                                     p2m_access_t *p2ma,
                                     p2m_query_t q,
                                     unsigned int *page_order,
-                                    bool_t *sve);
+                                    bool *sve);
     int                (*recalc)(struct p2m_domain *p2m,
                                  unsigned long gfn);
     void               (*enable_hardware_log_dirty)(struct p2m_domain *p2m);
@@ -284,11 +284,11 @@ struct p2m_domain {
      */
     void (*tlb_flush)(struct p2m_domain *p2m);
     unsigned int defer_flush;
-    bool_t need_flush;
+    bool need_flush;
 
     /* If true, and an access fault comes in and there is no vm_event listener, 
      * pause domain.  Otherwise, remove access restrictions. */
-    bool_t       access_required;
+    bool         access_required;
 
     /* Highest guest frame that's ever been mapped in the p2m */
     unsigned long max_mapped_pfn;
@@ -420,17 +420,17 @@ void np2m_schedule(int dir);
 static inline void np2m_schedule(int dir) {}
 #endif
 
-static inline bool_t p2m_is_hostp2m(const struct p2m_domain *p2m)
+static inline bool p2m_is_hostp2m(const struct p2m_domain *p2m)
 {
     return p2m->p2m_class == p2m_host;
 }
 
-static inline bool_t p2m_is_nestedp2m(const struct p2m_domain *p2m)
+static inline bool p2m_is_nestedp2m(const struct p2m_domain *p2m)
 {
     return p2m->p2m_class == p2m_nested;
 }
 
-static inline bool_t p2m_is_altp2m(const struct p2m_domain *p2m)
+static inline bool p2m_is_altp2m(const struct p2m_domain *p2m)
 {
     return p2m->p2m_class == p2m_alternate;
 }
@@ -450,11 +450,11 @@ void p2m_unlock_and_tlb_flush(struct p2m_domain *p2m);
 
 mfn_t __nonnull(3, 4) p2m_get_gfn_type_access(
     struct p2m_domain *p2m, gfn_t gfn, p2m_type_t *t,
-    p2m_access_t *a, p2m_query_t q, unsigned int *page_order, bool_t locked);
+    p2m_access_t *a, p2m_query_t q, unsigned int *page_order, bool locked);
 
 static inline mfn_t __nonnull(3, 4) _get_gfn_type_access(
     struct p2m_domain *p2m, gfn_t gfn, p2m_type_t *t,
-    p2m_access_t *a, p2m_query_t q, unsigned int *page_order, bool_t locked)
+    p2m_access_t *a, p2m_query_t q, unsigned int *page_order, bool locked)
 {
     if ( !p2m || !paging_mode_translate(p2m->domain) )
     {
@@ -888,7 +888,7 @@ static inline bool p2m_set_altp2m(struct vcpu *v, unsigned int idx)
 }
 
 /* Switch alternate p2m for a single vcpu */
-bool_t p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx);
+bool p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx);
 
 /* Check to see if vcpu should be switched to a different p2m. */
 void p2m_altp2m_check(struct vcpu *v, uint16_t idx);
diff --git a/xen/arch/x86/include/asm/page.h b/xen/arch/x86/include/asm/page.h
index c9466172ba3f..93a7b368ac0b 100644
--- a/xen/arch/x86/include/asm/page.h
+++ b/xen/arch/x86/include/asm/page.h
@@ -378,7 +378,7 @@ static inline unsigned int cacheattr_to_pte_flags(unsigned int cacheattr)
 }
 
 /* return true if permission increased */
-static inline bool_t
+static inline bool
 perms_strictly_increased(uint32_t old_flags, uint32_t new_flags)
 /* Given the flags of two entries, are the new flags a strict
  * increase in rights over the old ones? */
diff --git a/xen/arch/x86/include/asm/paging.h b/xen/arch/x86/include/asm/paging.h
index 62605d7697bc..76162a9429ce 100644
--- a/xen/arch/x86/include/asm/paging.h
+++ b/xen/arch/x86/include/asm/paging.h
@@ -210,7 +210,7 @@ int paging_domain_init(struct domain *d);
  * manipulate the log-dirty bitmap. */
 int paging_domctl(struct domain *d, struct xen_domctl_shadow_op *sc,
                   XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl,
-                  bool_t resuming);
+                  bool resuming);
 
 /* Call when destroying a vcpu/domain */
 void paging_vcpu_teardown(struct vcpu *v);
diff --git a/xen/arch/x86/include/asm/pci.h b/xen/arch/x86/include/asm/pci.h
index fd981de9de35..6bfe87e2780b 100644
--- a/xen/arch/x86/include/asm/pci.h
+++ b/xen/arch/x86/include/asm/pci.h
@@ -39,11 +39,11 @@ int pci_conf_write_intercept(unsigned int seg, unsigned int bdf,
                              uint32_t *data);
 int pci_msi_conf_write_intercept(struct pci_dev *pdev, unsigned int reg,
                                  unsigned int size, uint32_t *data);
-bool_t pci_mmcfg_decode(unsigned long mfn, unsigned int *seg,
-                        unsigned int *bdf);
+bool pci_mmcfg_decode(unsigned long mfn, unsigned int *seg,
+                      unsigned int *bdf);
 
-bool_t pci_ro_mmcfg_decode(unsigned long mfn, unsigned int *seg,
-                           unsigned int *bdf);
+bool pci_ro_mmcfg_decode(unsigned long mfn, unsigned int *seg,
+                         unsigned int *bdf);
 
 /* MMCFG external variable defines */
 extern int pci_mmcfg_config_num;
diff --git a/xen/arch/x86/include/asm/psr.h b/xen/arch/x86/include/asm/psr.h
index 8ecb7a0eea70..51df78794cd0 100644
--- a/xen/arch/x86/include/asm/psr.h
+++ b/xen/arch/x86/include/asm/psr.h
@@ -67,7 +67,7 @@ enum psr_type {
 
 extern struct psr_cmt *psr_cmt;
 
-static inline bool_t psr_cmt_enabled(void)
+static inline bool psr_cmt_enabled(void)
 {
     return !!psr_cmt;
 }
diff --git a/xen/arch/x86/include/asm/vpmu.h b/xen/arch/x86/include/asm/vpmu.h
index 7858aec6cae6..6629093197c3 100644
--- a/xen/arch/x86/include/asm/vpmu.h
+++ b/xen/arch/x86/include/asm/vpmu.h
@@ -33,8 +33,8 @@ struct arch_vpmu_ops {
     int (*do_rdmsr)(unsigned int msr, uint64_t *msr_content);
     int (*do_interrupt)(struct cpu_user_regs *regs);
     void (*arch_vpmu_destroy)(struct vcpu *v);
-    int (*arch_vpmu_save)(struct vcpu *v, bool_t to_guest);
-    int (*arch_vpmu_load)(struct vcpu *v, bool_t from_guest);
+    int (*arch_vpmu_save)(struct vcpu *v, bool to_guest);
+    int (*arch_vpmu_load)(struct vcpu *v, bool from_guest);
     void (*arch_vpmu_dump)(const struct vcpu *v);
 
 #ifdef CONFIG_MEM_SHARING
@@ -87,12 +87,12 @@ static inline void vpmu_clear(struct vpmu_struct *vpmu)
     /* VPMU_AVAILABLE should be altered by get/put_vpmu(). */
     vpmu->flags &= VPMU_AVAILABLE;
 }
-static inline bool_t vpmu_is_set(const struct vpmu_struct *vpmu, const u32 mask)
+static inline bool vpmu_is_set(const struct vpmu_struct *vpmu, const u32 mask)
 {
     return !!(vpmu->flags & mask);
 }
-static inline bool_t vpmu_are_all_set(const struct vpmu_struct *vpmu,
-                                      const u32 mask)
+static inline bool vpmu_are_all_set(const struct vpmu_struct *vpmu,
+                                    const u32 mask)
 {
     return !!((vpmu->flags & mask) == mask);
 }
@@ -104,7 +104,7 @@ void vpmu_initialise(struct vcpu *v);
 void vpmu_destroy(struct vcpu *v);
 void vpmu_save(struct vcpu *v);
 void cf_check vpmu_save_force(void *arg);
-int vpmu_load(struct vcpu *v, bool_t from_guest);
+int vpmu_load(struct vcpu *v, bool from_guest);
 void vpmu_dump(struct vcpu *v);
 
 static inline int vpmu_do_wrmsr(unsigned int msr, uint64_t msr_content)
diff --git a/xen/arch/x86/mm/hap/nested_ept.c b/xen/arch/x86/mm/hap/nested_ept.c
index d6df48af5427..d88d677825f1 100644
--- a/xen/arch/x86/mm/hap/nested_ept.c
+++ b/xen/arch/x86/mm/hap/nested_ept.c
@@ -42,7 +42,7 @@
 #define NEPT_2M_ENTRY_FLAG (1 << 10)
 #define NEPT_4K_ENTRY_FLAG (1 << 9)
 
-static bool_t nept_rsv_bits_check(ept_entry_t e, uint32_t level)
+static bool nept_rsv_bits_check(ept_entry_t e, uint32_t level)
 {
     uint64_t rsv_bits = EPT_MUST_RSV_BITS;
 
@@ -68,7 +68,7 @@ static bool_t nept_rsv_bits_check(ept_entry_t e, uint32_t level)
 }
 
 /* EMT checking*/
-static bool_t nept_emt_bits_check(ept_entry_t e, uint32_t level)
+static bool nept_emt_bits_check(ept_entry_t e, uint32_t level)
 {
     if ( e.sp || level == 1 )
     {
@@ -79,13 +79,13 @@ static bool_t nept_emt_bits_check(ept_entry_t e, uint32_t level)
     return 0;
 }
 
-static bool_t nept_permission_check(uint32_t rwx_acc, uint32_t rwx_bits)
+static bool nept_permission_check(uint32_t rwx_acc, uint32_t rwx_bits)
 {
     return !(EPTE_RWX_MASK & rwx_acc & ~rwx_bits);
 }
 
 /* nept's non-present check */
-static bool_t nept_non_present_check(ept_entry_t e)
+static bool nept_non_present_check(ept_entry_t e)
 {
     if ( e.epte & EPTE_RWX_MASK )
         return 0;
@@ -106,7 +106,7 @@ uint64_t nept_get_ept_vpid_cap(void)
     return caps;
 }
 
-static bool_t nept_rwx_bits_check(ept_entry_t e)
+static bool nept_rwx_bits_check(ept_entry_t e)
 {
     /*write only or write/execute only*/
     uint8_t rwx_bits = e.epte & EPTE_RWX_MASK;
@@ -122,7 +122,7 @@ static bool_t nept_rwx_bits_check(ept_entry_t e)
 }
 
 /* nept's misconfiguration check */
-static bool_t nept_misconfiguration_check(ept_entry_t e, uint32_t level)
+static bool nept_misconfiguration_check(ept_entry_t e, uint32_t level)
 {
     return nept_rsv_bits_check(e, level) ||
            nept_emt_bits_check(e, level) ||
diff --git a/xen/arch/x86/mm/mem_paging.c b/xen/arch/x86/mm/mem_paging.c
index 2c2b34ccf60a..541ecbeeb001 100644
--- a/xen/arch/x86/mm/mem_paging.c
+++ b/xen/arch/x86/mm/mem_paging.c
@@ -431,7 +431,7 @@ int mem_paging_memop(XEN_GUEST_HANDLE_PARAM(xen_mem_paging_op_t) arg)
     int rc;
     xen_mem_paging_op_t mpo;
     struct domain *d;
-    bool_t copyback = 0;
+    bool copyback = false;
 
     if ( copy_from_guest(&mpo, arg, 1) )
         return -EFAULT;
diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index 85c4e8e54f66..227bdf7c2433 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -30,7 +30,8 @@
 
 #define is_epte_present(ept_entry)      ((ept_entry)->epte & 0x7)
 #define is_epte_superpage(ept_entry)    ((ept_entry)->sp)
-static inline bool_t is_epte_valid(ept_entry_t *e)
+
+static bool is_epte_valid(const ept_entry_t *e)
 {
     /* suppress_ve alone is not considered valid, so mask it off */
     return ((e->epte & ~(1ul << 63)) != 0 && e->sa_p2mt != p2m_invalid);
@@ -239,14 +240,14 @@ static void ept_free_entry(struct p2m_domain *p2m, ept_entry_t *ept_entry, int l
     p2m_free_ptp(p2m, mfn_to_page(_mfn(ept_entry->mfn)));
 }
 
-static bool_t ept_split_super_page(struct p2m_domain *p2m,
-                                   ept_entry_t *ept_entry,
-                                   unsigned int level, unsigned int target)
+static bool ept_split_super_page(
+    struct p2m_domain *p2m, ept_entry_t *ept_entry,
+    unsigned int level, unsigned int target)
 {
     ept_entry_t new_ept, *table;
     uint64_t trunk;
     unsigned int i;
-    bool_t rv = 1;
+    bool rv = true;
 
     /* End if the entry is a leaf entry or reaches the target level. */
     if ( level <= target )
@@ -305,7 +306,7 @@ static bool_t ept_split_super_page(struct p2m_domain *p2m,
  *  GUEST_TABLE_POD:
  *   The next entry is marked populate-on-demand.
  */
-static int ept_next_level(struct p2m_domain *p2m, bool_t read_only,
+static int ept_next_level(struct p2m_domain *p2m, bool read_only,
                           ept_entry_t **table, unsigned long *gfn_remainder,
                           int next_level)
 {
@@ -678,7 +679,7 @@ static int cf_check resolve_misconfig(struct p2m_domain *p2m, unsigned long gfn)
                                              _mfn(e.mfn),
                                              level * EPT_TABLE_ORDER, &ipat,
                                              e.sa_p2mt);
-                bool_t recalc = e.recalc;
+                bool recalc = e.recalc;
 
                 if ( recalc && p2m_is_changeable(e.sa_p2mt) )
                 {
@@ -760,11 +761,11 @@ static int cf_check resolve_misconfig(struct p2m_domain *p2m, unsigned long gfn)
     return rc;
 }
 
-bool_t ept_handle_misconfig(uint64_t gpa)
+bool ept_handle_misconfig(uint64_t gpa)
 {
     struct vcpu *curr = current;
     struct p2m_domain *p2m = p2m_get_hostp2m(curr->domain);
-    bool_t spurious;
+    bool spurious;
     int rc;
 
     if ( altp2m_active(curr->domain) )
@@ -798,11 +799,11 @@ ept_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn,
     unsigned int i, target = order / EPT_TABLE_ORDER;
     unsigned long fn_mask = !mfn_eq(mfn, INVALID_MFN) ? (gfn | mfn_x(mfn)) : gfn;
     int ret, rc = 0;
-    bool_t entry_written = 0;
-    bool_t need_modify_vtd_table = 1;
-    bool_t vtd_pte_present = 0;
+    bool entry_written = false;
+    bool need_modify_vtd_table = true;
+    bool vtd_pte_present = false;
     unsigned int iommu_flags = p2m_get_iommu_flags(p2mt, p2ma, mfn);
-    bool_t needs_sync = 1;
+    bool needs_sync = false;
     ept_entry_t old_entry = { .epte = 0 };
     ept_entry_t new_entry = { .epte = 0 };
     struct ept_data *ept = &p2m->ept;
@@ -1007,7 +1008,7 @@ static mfn_t cf_check ept_get_entry(
     ept_entry_t *ept_entry;
     u32 index;
     int i;
-    bool_t recalc = 0;
+    bool recalc = false;
     mfn_t mfn = INVALID_MFN;
     struct ept_data *ept = &p2m->ept;
 
diff --git a/xen/arch/x86/mm/p2m-pod.c b/xen/arch/x86/mm/p2m-pod.c
index 9969eb45fa8c..9e5ad68df27c 100644
--- a/xen/arch/x86/mm/p2m-pod.c
+++ b/xen/arch/x86/mm/p2m-pod.c
@@ -522,7 +522,7 @@ decrease_reservation(struct domain *d, gfn_t gfn, unsigned int order)
 {
     unsigned long ret = 0, i, n;
     struct p2m_domain *p2m = p2m_get_hostp2m(d);
-    bool_t steal_for_cache;
+    bool steal_for_cache;
     long pod = 0, ram = 0;
 
     gfn_lock(p2m, gfn, order);
diff --git a/xen/arch/x86/mm/p2m-pt.c b/xen/arch/x86/mm/p2m-pt.c
index b2b14746c1c1..640a11f5647f 100644
--- a/xen/arch/x86/mm/p2m-pt.c
+++ b/xen/arch/x86/mm/p2m-pt.c
@@ -213,7 +213,7 @@ p2m_free_entry(struct p2m_domain *p2m, l1_pgentry_t *p2m_entry, int page_order)
 static int
 p2m_next_level(struct p2m_domain *p2m, void **table,
                unsigned long *gfn_remainder, unsigned long gfn, u32 shift,
-               u32 max, unsigned int level, bool_t unmap)
+               u32 max, unsigned int level, bool unmap)
 {
     l1_pgentry_t *p2m_entry, new_entry;
     void *next;
@@ -765,7 +765,7 @@ p2m_pt_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn,
 static mfn_t cf_check
 p2m_pt_get_entry(struct p2m_domain *p2m, gfn_t gfn_,
                  p2m_type_t *t, p2m_access_t *a, p2m_query_t q,
-                 unsigned int *page_order, bool_t *sve)
+                 unsigned int *page_order, bool *sve)
 {
     mfn_t mfn;
     unsigned long gfn = gfn_x(gfn_);
@@ -774,7 +774,7 @@ p2m_pt_get_entry(struct p2m_domain *p2m, gfn_t gfn_,
     l1_pgentry_t *l1e;
     unsigned int flags;
     p2m_type_t l1t;
-    bool_t recalc;
+    bool recalc;
 
     ASSERT(paging_mode_translate(p2m->domain));
 
diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 0983bd71d9a9..fe9ccabb8702 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -39,7 +39,8 @@
 DEFINE_PERCPU_RWLOCK_GLOBAL(p2m_percpu_rwlock);
 
 /* Turn on/off host superpage page table support for hap, default on. */
-bool_t __initdata opt_hap_1gb = 1, __initdata opt_hap_2mb = 1;
+bool __initdata opt_hap_1gb = true;
+bool __initdata opt_hap_2mb = true;
 boolean_param("hap_1gb", opt_hap_1gb);
 boolean_param("hap_2mb", opt_hap_2mb);
 
@@ -272,7 +273,7 @@ void p2m_unlock_and_tlb_flush(struct p2m_domain *p2m)
 
 mfn_t p2m_get_gfn_type_access(struct p2m_domain *p2m, gfn_t gfn,
                               p2m_type_t *t, p2m_access_t *a, p2m_query_t q,
-                              unsigned int *page_order, bool_t locked)
+                              unsigned int *page_order, bool locked)
 {
     mfn_t mfn;
 
@@ -1765,10 +1766,10 @@ void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
         p2m_switch_vcpu_altp2m_by_id(v, idx);
 }
 
-bool_t p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx)
+bool p2m_switch_vcpu_altp2m_by_id(struct vcpu *v, unsigned int idx)
 {
     struct domain *d = v->domain;
-    bool_t rc = 0;
+    bool rc = false;
 
     if ( idx >= MAX_ALTP2M )
         return rc;
diff --git a/xen/arch/x86/mm/paging.c b/xen/arch/x86/mm/paging.c
index 34d833251b78..541c2ea9b225 100644
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -224,7 +224,7 @@ static int paging_log_dirty_enable(struct domain *d)
     return ret;
 }
 
-static int paging_log_dirty_disable(struct domain *d, bool_t resuming)
+static int paging_log_dirty_disable(struct domain *d, bool resuming)
 {
     int ret = 1;
 
@@ -394,7 +394,7 @@ bool paging_mfn_is_dirty(const struct domain *d, mfn_t gmfn)
  * clear the bitmap and stats as well. */
 static int paging_log_dirty_op(struct domain *d,
                                struct xen_domctl_shadow_op *sc,
-                               bool_t resuming)
+                               bool resuming)
 {
     int rv = 0, clean = 0, peek = 1;
     unsigned long pages = 0;
@@ -672,7 +672,7 @@ void paging_vcpu_init(struct vcpu *v)
 #if PG_log_dirty
 int paging_domctl(struct domain *d, struct xen_domctl_shadow_op *sc,
                   XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl,
-                  bool_t resuming)
+                  bool resuming)
 {
     int rc;
 
diff --git a/xen/arch/x86/x86_64/mmconf-fam10h.c b/xen/arch/x86/x86_64/mmconf-fam10h.c
index 36b32eb769e1..270dd97b6a31 100644
--- a/xen/arch/x86/x86_64/mmconf-fam10h.c
+++ b/xen/arch/x86/x86_64/mmconf-fam10h.c
@@ -142,7 +142,7 @@ static void __init get_fam10h_pci_mmconf_base(void)
 void fam10h_check_enable_mmcfg(void)
 {
 	u64 val;
-	bool_t print = opt_cpu_info;
+	bool print = opt_cpu_info;
 
 	if (!(pci_probe & PCI_CHECK_ENABLE_AMD_MMCONF))
 		return;
diff --git a/xen/arch/x86/x86_64/mmconfig-shared.c b/xen/arch/x86/x86_64/mmconfig-shared.c
index 5dee20fe9ddf..b3b2da73626f 100644
--- a/xen/arch/x86/x86_64/mmconfig-shared.c
+++ b/xen/arch/x86/x86_64/mmconfig-shared.c
@@ -192,7 +192,7 @@ static const char *__init cf_check pci_mmcfg_amd_fam10h(void)
 
 static const char *__init cf_check pci_mmcfg_nvidia_mcp55(void)
 {
-    static bool_t __initdata mcp55_checked;
+    static bool __initdata mcp55_checked;
     int bus, i;
 
     static const u32 extcfg_regnum      = 0x90;
@@ -361,11 +361,11 @@ static int __init is_mmconf_reserved(
     return valid;
 }
 
-static bool_t __init pci_mmcfg_reject_broken(void)
+static bool __init pci_mmcfg_reject_broken(void)
 {
     typeof(pci_mmcfg_config[0]) *cfg;
     int i;
-    bool_t valid = 1;
+    bool valid = true;
 
     if ((pci_mmcfg_config_num == 0) ||
         (pci_mmcfg_config == NULL) ||
@@ -399,7 +399,7 @@ static bool_t __init pci_mmcfg_reject_broken(void)
 
 void __init acpi_mmcfg_init(void)
 {
-    bool_t valid = 1;
+    bool valid = true;
 
     pci_segments_init();
 
diff --git a/xen/arch/x86/x86_64/mmconfig_64.c b/xen/arch/x86/x86_64/mmconfig_64.c
index 2b3085931ed3..ffdc62700dba 100644
--- a/xen/arch/x86/x86_64/mmconfig_64.c
+++ b/xen/arch/x86/x86_64/mmconfig_64.c
@@ -175,8 +175,7 @@ void pci_mmcfg_arch_disable(unsigned int idx)
            cfg->pci_segment, cfg->start_bus_number, cfg->end_bus_number);
 }
 
-bool_t pci_mmcfg_decode(unsigned long mfn, unsigned int *seg,
-                        unsigned int *bdf)
+bool pci_mmcfg_decode(unsigned long mfn, unsigned int *seg, unsigned int *bdf)
 {
     unsigned int idx;
 
@@ -197,8 +196,7 @@ bool_t pci_mmcfg_decode(unsigned long mfn, unsigned int *seg,
     return 0;
 }
 
-bool_t pci_ro_mmcfg_decode(unsigned long mfn, unsigned int *seg,
-                           unsigned int *bdf)
+bool pci_ro_mmcfg_decode(unsigned long mfn, unsigned int *seg, unsigned int *bdf)
 {
     const unsigned long *ro_map;
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 14:56:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 14:56:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.636972.992682 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55hd-00004x-7X; Mon, 20 Nov 2023 14:56:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 636972.992682; Mon, 20 Nov 2023 14:56: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 1r55hd-0008Uc-1m; Mon, 20 Nov 2023 14:56:45 +0000
Received: by outflank-mailman (input) for mailman id 636972;
 Mon, 20 Nov 2023 14:56: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r55hb-0008PM-Oj
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 14:56:44 +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 0179c436-87b5-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 15:56:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0179c436-87b5-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700492199;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=0pubRcIMm5BDoQD5UTgfI84P4ODA1vnZq+5DPaO8C8Y=;
  b=UmQ8gnDi6rljnCfOvvVX6BvyBLHTb33ZndW80nUm9nLtCRlu+ZoC62Hs
   /VYdEtsDveG8N+chXwd2SvV8tg8VT3DtRwn4hiiA6XAaZK+I8JL1dSYKv
   kWWwpBoPJCvIlaw8hJnf0PRqhO97/OttHrIczgZ13sHUeSBOb2vCPjSo9
   s=;
X-CSE-ConnectionGUID: YxgkUgEXQvaxEBofcrPFUw==
X-CSE-MsgGUID: IIJeF/HIQQCnvq1dR+NJuQ==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127427129
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:Fut3RqJM+/6QMriZFE+RupUlxSXFcZb7ZxGr2PjKsXjdYENS3zEOn
 GVLWWvUbvnZZjGmctolbN60/RsPuMLWmtBhHAJlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAhk/nOHvylULKs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrfwP9TlK6q4mhB5wZmPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5GEW5Ny
 PM1GAkTZwCureW4y6iDZNRz05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGspM0yojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXQGpkPwR/C9
 woq+UzYIzMXGpu/6AO82XSyn7bDp2Ddep8rQejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasnDQRRt5RGO0S8xyWx+zf5APxLnMfUjdLZdgitck3bT8nz
 FmEm5XuHzMHmKKRYWKQ8PGTtzzaESoIKW4PYwcUQA1D5MPsyLzflTqWEIwlSvTsyISoSHevm
 1hmsRTSmZ0incEI6qqWzWnZiiKBjJ/HRRQNyDjICzfNAhxCWGK1W2C5wQGEta4cdNfHHgnpg
 ZQSpySJAAkz4XCxeM+lGrxl8EmBvartDdElqQcH82Md3zqs4WW/Wotb/StzIkxkWu5dJmexP
 BaD6F4PuMUIVJdPUUOQS9jpY/nGMIC6TYi1PhwqRocmjmdNmP+vo3g1OB/4M5HFm0kwi6AvU
 ap3gu71ZUv2/Z9PlWLsL89EiO9D+8zL7T+LLXwN50j9gOX2ib/8YettDWZimchjvf7e+12Pq
 I8DXyZIoj0GONDDjuDs2dZ7BTg3wbITXPgad+Q/mja/Hzdb
IronPort-HdrOrdr: A9a23:6RUpO6wYSiPgcjmyZ3QoKrPwFL1zdoMgy1knxilNoRw8SKKlfq
 eV7Y0mPH7P+VAssR4b+exoVJPtfZqYz+8R3WBzB8bEYOCFghrKEGgK1+KLqFeMJ8S9zJ846U
 4JSdkHNDSaNzlHZKjBjzVQa+xQouW6zA==
X-Talos-CUID: 9a23:HXZgP2zhIQcnHup1Was0BgUlCs8mT3Lw/E7OKl+VI2FnQ6etZ2KPrfY=
X-Talos-MUID: 9a23:tA1d6AS9s+5MGrb5RXTNpRNvGoBIwp2XI0YTiMwKgYqiFzFJbmI=
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="127427129"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH 2/3] xen/treewide: Switch bool_t to bool
Date: Mon, 20 Nov 2023 14:56:22 +0000
Message-ID: <20231120145623.167383-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231120145623.167383-1-andrew.cooper3@citrix.com>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

... as part of cleaning up the types used.  Minor style and/or MISRA cleanup
on some altered lines.

No functional change.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/common/device_tree.c              | 34 ++++++++++-----------
 xen/common/domain.c                   |  2 +-
 xen/common/domctl.c                   |  4 +--
 xen/common/event_fifo.c               |  4 +--
 xen/common/grant_table.c              | 14 ++++-----
 xen/common/kernel.c                   |  2 +-
 xen/common/kexec.c                    |  4 +--
 xen/common/keyhandler.c               |  4 +--
 xen/common/kimage.c                   |  8 ++---
 xen/common/livepatch.c                | 20 ++++++------
 xen/common/memory.c                   |  2 +-
 xen/common/notifier.c                 |  2 +-
 xen/common/preempt.c                  |  2 +-
 xen/common/rangeset.c                 | 12 ++++----
 xen/common/shutdown.c                 |  2 +-
 xen/common/symbols.c                  |  2 +-
 xen/common/sysctl.c                   |  4 +--
 xen/common/tasklet.c                  |  4 +--
 xen/common/timer.c                    |  8 ++---
 xen/common/trace.c                    | 12 ++++----
 xen/drivers/acpi/apei/apei-base.c     |  2 +-
 xen/drivers/acpi/apei/apei-internal.h |  2 +-
 xen/drivers/acpi/apei/erst.c          |  2 +-
 xen/drivers/acpi/apei/hest.c          |  2 +-
 xen/drivers/char/console.c            |  8 ++---
 xen/drivers/char/ehci-dbgp.c          | 10 +++---
 xen/drivers/char/ns16550.c            | 14 ++++-----
 xen/drivers/char/pl011.c              |  2 +-
 xen/drivers/char/serial.c             |  2 +-
 xen/drivers/cpufreq/cpufreq.c         |  2 +-
 xen/drivers/video/vesa.c              |  2 +-
 xen/include/acpi/cpufreq/cpufreq.h    | 10 +++---
 xen/include/xen/device_tree.h         | 44 +++++++++++++--------------
 xen/include/xen/domain.h              |  4 +--
 xen/include/xen/gdbstub.h             |  2 +-
 xen/include/xen/irq.h                 |  2 +-
 xen/include/xen/kernel.h              |  2 +-
 xen/include/xen/kimage.h              |  8 ++---
 xen/include/xen/livepatch.h           |  6 ++--
 xen/include/xen/mm-frame.h            |  4 +--
 xen/include/xen/mm.h                  |  6 ++--
 xen/include/xen/preempt.h             |  2 +-
 xen/include/xen/rangeset.h            |  8 ++---
 xen/include/xen/rwlock.h              |  2 +-
 xen/include/xen/serial.h              |  2 +-
 xen/include/xen/shutdown.h            |  2 +-
 xen/include/xen/tasklet.h             |  6 ++--
 47 files changed, 152 insertions(+), 152 deletions(-)

diff --git a/xen/common/device_tree.c b/xen/common/device_tree.c
index b1c29529514f..8d1017a49d80 100644
--- a/xen/common/device_tree.c
+++ b/xen/common/device_tree.c
@@ -78,7 +78,7 @@ struct dt_bus
 {
     const char *name;
     const char *addresses;
-    bool_t (*match)(const struct dt_device_node *node);
+    bool (*match)(const struct dt_device_node *node);
     void (*count_cells)(const struct dt_device_node *child,
                         int *addrc, int *sizec);
     u64 (*map)(__be32 *addr, const __be32 *range, int na, int ns, int pna);
@@ -162,8 +162,8 @@ const void *dt_get_property(const struct dt_device_node *np,
     return pp ? pp->value : NULL;
 }
 
-bool_t dt_property_read_u32(const struct dt_device_node *np,
-                         const char *name, u32 *out_value)
+bool dt_property_read_u32(const struct dt_device_node *np,
+                          const char *name, u32 *out_value)
 {
     u32 len;
     const __be32 *val;
@@ -178,8 +178,8 @@ bool_t dt_property_read_u32(const struct dt_device_node *np,
 }
 
 
-bool_t dt_property_read_u64(const struct dt_device_node *np,
-                         const char *name, u64 *out_value)
+bool dt_property_read_u64(const struct dt_device_node *np,
+                          const char *name, u64 *out_value)
 {
     u32 len;
     const __be32 *val;
@@ -297,8 +297,8 @@ int dt_property_match_string(const struct dt_device_node *np,
     return -ENODATA;
 }
 
-bool_t dt_device_is_compatible(const struct dt_device_node *device,
-                               const char *compat)
+bool dt_device_is_compatible(const struct dt_device_node *device,
+                             const char *compat)
 {
     const char* cp;
     u32 cplen, l;
@@ -318,10 +318,10 @@ bool_t dt_device_is_compatible(const struct dt_device_node *device,
     return 0;
 }
 
-bool_t dt_machine_is_compatible(const char *compat)
+bool dt_machine_is_compatible(const char *compat)
 {
     const struct dt_device_node *root;
-    bool_t rc = 0;
+    bool rc = false;
 
     root = dt_find_node_by_path("/");
     if ( root )
@@ -408,9 +408,9 @@ dt_match_node(const struct dt_device_match *matches,
         return NULL;
 
     while ( matches->path || matches->type ||
-            matches->compatible || matches->not_available || matches->prop)
+            matches->compatible || matches->not_available || matches->prop )
     {
-        bool_t match = 1;
+        bool match = true;
 
         if ( matches->path )
             match &= dt_node_path_is_equal(node, matches->path);
@@ -481,7 +481,7 @@ dt_find_matching_node(struct dt_device_node *from,
     return NULL;
 }
 
-static int __dt_n_addr_cells(const struct dt_device_node *np, bool_t parent)
+static int __dt_n_addr_cells(const struct dt_device_node *np, bool parent)
 {
     const __be32 *ip;
 
@@ -498,7 +498,7 @@ static int __dt_n_addr_cells(const struct dt_device_node *np, bool_t parent)
     return DT_ROOT_NODE_ADDR_CELLS_DEFAULT;
 }
 
-static int __dt_n_size_cells(const struct dt_device_node *np, bool_t parent)
+static int __dt_n_size_cells(const struct dt_device_node *np, bool parent)
 {
     const __be32 *ip;
 
@@ -558,7 +558,7 @@ int dt_child_n_size_cells(const struct dt_device_node *parent)
 /*
  * Default translator (generic bus)
  */
-static bool_t dt_bus_default_match(const struct dt_device_node *node)
+static bool dt_bus_default_match(const struct dt_device_node *node)
 {
     /* Root node doesn't have "ranges" property */
     if ( node->parent == NULL )
@@ -636,7 +636,7 @@ static bool dt_node_is_pci(const struct dt_device_node *np)
     return is_pci;
 }
 
-static bool_t dt_bus_pci_match(const struct dt_device_node *np)
+static bool dt_bus_pci_match(const struct dt_device_node *np)
 {
     /*
      * "pciex" is PCI Express "vci" is for the /chaos bridge on 1st-gen PCI
@@ -1662,7 +1662,7 @@ int dt_device_get_irq(const struct dt_device_node *device, unsigned int index,
     return dt_irq_translate(&raw, out_irq);
 }
 
-bool_t dt_device_is_available(const struct dt_device_node *device)
+bool dt_device_is_available(const struct dt_device_node *device)
 {
     const char *status;
     u32 statlen;
@@ -1680,7 +1680,7 @@ bool_t dt_device_is_available(const struct dt_device_node *device)
     return 0;
 }
 
-bool_t dt_device_for_passthrough(const struct dt_device_node *device)
+bool dt_device_for_passthrough(const struct dt_device_node *device)
 {
     return (dt_find_property(device, "xen,passthrough", NULL) != NULL);
 
diff --git a/xen/common/domain.c b/xen/common/domain.c
index 8f9ab01c0cb7..f15c2f1e95d5 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -51,7 +51,7 @@
 unsigned int xen_processor_pmbits = XEN_PROCESSOR_PM_PX;
 
 /* opt_dom0_vcpus_pin: If true, dom0 VCPUs are pinned. */
-bool_t opt_dom0_vcpus_pin;
+bool opt_dom0_vcpus_pin;
 boolean_param("dom0_vcpus_pin", opt_dom0_vcpus_pin);
 
 /* Protect updates/reads (resp.) of domain_list and domain_hash. */
diff --git a/xen/common/domctl.c b/xen/common/domctl.c
index 505e29c0dcc2..f5a71ee5f78d 100644
--- a/xen/common/domctl.c
+++ b/xen/common/domctl.c
@@ -126,7 +126,7 @@ void getdomaininfo(struct domain *d, struct xen_domctl_getdomaininfo *info)
     arch_get_domain_info(d, info);
 }
 
-bool_t domctl_lock_acquire(void)
+bool domctl_lock_acquire(void)
 {
     /*
      * Caller may try to pause its own VCPUs. We must prevent deadlock
@@ -281,7 +281,7 @@ static struct vnuma_info *vnuma_init(const struct xen_domctl_vnuma *uinfo,
 long do_domctl(XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
 {
     long ret = 0;
-    bool_t copyback = 0;
+    bool copyback = false;
     struct xen_domctl curop, *op = &curop;
     struct domain *d;
 
diff --git a/xen/common/event_fifo.c b/xen/common/event_fifo.c
index 6cebc3868a07..37cba9bc4564 100644
--- a/xen/common/event_fifo.c
+++ b/xen/common/event_fifo.c
@@ -124,8 +124,8 @@ static int try_set_link(event_word_t *word, event_word_t *w, uint32_t link)
  * We block unmasking by the guest by marking the tail word as BUSY,
  * therefore, the cmpxchg() may fail at most 4 times.
  */
-static bool_t evtchn_fifo_set_link(struct domain *d, event_word_t *word,
-                                   uint32_t link)
+static bool evtchn_fifo_set_link(struct domain *d, event_word_t *word,
+                                 uint32_t link)
 {
     event_word_t w;
     unsigned int try;
diff --git a/xen/common/grant_table.c b/xen/common/grant_table.c
index 89b7811c51c3..5721eab22561 100644
--- a/xen/common/grant_table.c
+++ b/xen/common/grant_table.c
@@ -2272,7 +2272,7 @@ gnttab_transfer(
 
     for ( i = 0; i < count; i++ )
     {
-        bool_t okay;
+        bool okay;
         int rc;
 
         if ( i && hypercall_preempt_check() )
@@ -2858,9 +2858,9 @@ struct gnttab_copy_buf {
     mfn_t mfn;
     struct page_info *page;
     void *virt;
-    bool_t read_only;
-    bool_t have_grant;
-    bool_t have_type;
+    bool read_only;
+    bool have_grant;
+    bool have_type;
 };
 
 static int gnttab_copy_lock_domain(domid_t domid, bool is_gref,
@@ -3006,9 +3006,9 @@ static int gnttab_copy_claim_buf(const struct gnttab_copy *op,
     return rc;
 }
 
-static bool_t gnttab_copy_buf_valid(const struct gnttab_copy_ptr *p,
-                                    const struct gnttab_copy_buf *b,
-                                    bool_t has_gref)
+static bool gnttab_copy_buf_valid(
+    const struct gnttab_copy_ptr *p, const struct gnttab_copy_buf *b,
+    bool has_gref)
 {
     if ( !b->virt )
         return 0;
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index e928d0b23128..08dbaa2a054c 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -504,7 +504,7 @@ __initcall(param_init);
 
 long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
 {
-    bool_t deny = !!xsm_xen_version(XSM_OTHER, cmd);
+    bool deny = xsm_xen_version(XSM_OTHER, cmd);
 
     switch ( cmd )
     {
diff --git a/xen/common/kexec.c b/xen/common/kexec.c
index 3ee5f05c2c1a..84fe8c35976e 100644
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -937,7 +937,7 @@ static int kexec_segments_add_segment(unsigned int *nr_segments,
 static int kexec_segments_from_ind_page(mfn_t mfn,
                                         unsigned int *nr_segments,
                                         xen_kexec_segment_t *segments,
-                                        bool_t compat)
+                                        bool compat)
 {
     void *page;
     kimage_entry_t *entry;
@@ -1215,7 +1215,7 @@ static int kexec_status(XEN_GUEST_HANDLE_PARAM(void) uarg)
 
 static int do_kexec_op_internal(unsigned long op,
                                 XEN_GUEST_HANDLE_PARAM(void) uarg,
-                                bool_t compat)
+                                bool compat)
 {
     int ret = -EINVAL;
 
diff --git a/xen/common/keyhandler.c b/xen/common/keyhandler.c
index f4752859cc7c..99a2d72a0202 100644
--- a/xen/common/keyhandler.c
+++ b/xen/common/keyhandler.c
@@ -24,7 +24,7 @@
 #include <asm/div64.h>
 
 static unsigned char keypress_key;
-static bool_t alt_key_handling;
+static bool alt_key_handling;
 
 static keyhandler_fn_t cf_check show_handlers, cf_check dump_hwdom_registers,
     cf_check dump_domains, cf_check read_clocks;
@@ -39,7 +39,7 @@ static struct keyhandler {
     };
 
     const char *desc;    /* Description for help message.                 */
-    bool_t irq_callback, /* Call in irq context? if not, tasklet context. */
+    bool irq_callback,   /* Call in irq context? if not, tasklet context. */
         diagnostic;      /* Include in 'dump all' handler.                */
 } key_table[128] __read_mostly =
 {
diff --git a/xen/common/kimage.c b/xen/common/kimage.c
index 210241dfb76c..9961eac187e9 100644
--- a/xen/common/kimage.c
+++ b/xen/common/kimage.c
@@ -833,21 +833,21 @@ int kimage_load_segments(struct kexec_image *image)
     return 0;
 }
 
-kimage_entry_t *kimage_entry_next(kimage_entry_t *entry, bool_t compat)
+kimage_entry_t *kimage_entry_next(kimage_entry_t *entry, bool compat)
 {
     if ( compat )
         return (kimage_entry_t *)((uint32_t *)entry + 1);
     return entry + 1;
 }
 
-mfn_t kimage_entry_mfn(kimage_entry_t *entry, bool_t compat)
+mfn_t kimage_entry_mfn(kimage_entry_t *entry, bool compat)
 {
     if ( compat )
         return maddr_to_mfn(*(uint32_t *)entry);
     return maddr_to_mfn(*entry);
 }
 
-unsigned long kimage_entry_ind(kimage_entry_t *entry, bool_t compat)
+unsigned long kimage_entry_ind(kimage_entry_t *entry, bool compat)
 {
     if ( compat )
         return *(uint32_t *)entry & 0xf;
@@ -855,7 +855,7 @@ unsigned long kimage_entry_ind(kimage_entry_t *entry, bool_t compat)
 }
 
 int kimage_build_ind(struct kexec_image *image, mfn_t ind_mfn,
-                     bool_t compat)
+                     bool compat)
 {
     void *page;
     kimage_entry_t *entry;
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index d89a904bd4e1..845340c7f398 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -55,8 +55,8 @@ struct livepatch_work
                                     check_for_livepatch_work. */
     uint32_t timeout;            /* Timeout to do the operation. */
     struct payload *data;        /* The payload on which to act. */
-    volatile bool_t do_work;     /* Signals work to do. */
-    volatile bool_t ready;       /* Signals all CPUs synchronized. */
+    volatile bool do_work;       /* Signals work to do. */
+    volatile bool ready;         /* Signals all CPUs synchronized. */
     unsigned int cmd;            /* Action request: LIVEPATCH_ACTION_* */
 };
 
@@ -69,7 +69,7 @@ static struct livepatch_work livepatch_work;
  * would hammer a global livepatch_work structure on every guest VMEXIT.
  * Having an per-cpu lessens the load.
  */
-static DEFINE_PER_CPU(bool_t, work_to_do);
+static DEFINE_PER_CPU(bool, work_to_do);
 static DEFINE_PER_CPU(struct tasklet, livepatch_tasklet);
 
 static int get_name(const struct xen_livepatch_name *name, char *n)
@@ -106,10 +106,10 @@ static int verify_payload(const struct xen_sysctl_livepatch_upload *upload, char
     return 0;
 }
 
-bool_t is_patch(const void *ptr)
+bool is_patch(const void *ptr)
 {
     const struct payload *data;
-    bool_t r = 0;
+    bool r = false;
 
     /*
      * Only RCU locking since this list is only ever changed during apply
@@ -936,8 +936,8 @@ static int prepare_payload(struct payload *payload,
     return 0;
 }
 
-static bool_t is_payload_symbol(const struct livepatch_elf *elf,
-                                const struct livepatch_elf_sym *sym)
+static bool is_payload_symbol(const struct livepatch_elf *elf,
+                              const struct livepatch_elf_sym *sym)
 {
     if ( sym->sym->st_shndx == SHN_UNDEF ||
          sym->sym->st_shndx >= elf->hdr->e_shnum )
@@ -1018,7 +1018,7 @@ static int build_symbol_table(struct payload *payload,
 
     for ( i = 0; i < nsyms; i++ )
     {
-        bool_t found = 0;
+        bool found = 0;
 
         for ( j = 0; j < payload->nfuncs; j++ )
         {
@@ -1576,7 +1576,7 @@ static void livepatch_do_action(void)
     data->rc = rc;
 }
 
-static bool_t is_work_scheduled(const struct payload *data)
+static bool is_work_scheduled(const struct payload *data)
 {
     ASSERT(spin_is_locked(&payload_lock));
 
@@ -1864,7 +1864,7 @@ void check_for_livepatch_work(void)
  * Unless the 'internal' parameter is used - in which case we only
  * check against the hypervisor.
  */
-static int build_id_dep(struct payload *payload, bool_t internal)
+static int build_id_dep(struct payload *payload, bool internal)
 {
     const void *id = NULL;
     unsigned int len = 0;
diff --git a/xen/common/memory.c b/xen/common/memory.c
index fa165ebc144b..b3b05c2ec090 100644
--- a/xen/common/memory.c
+++ b/xen/common/memory.c
@@ -757,7 +757,7 @@ static long memory_exchange(XEN_GUEST_HANDLE_PARAM(xen_memory_exchange_t) arg)
                              MEMF_no_refcount) )
             {
                 unsigned long dec_count;
-                bool_t drop_dom_ref;
+                bool drop_dom_ref;
 
                 /*
                  * Pages in in_chunk_list is stolen without
diff --git a/xen/common/notifier.c b/xen/common/notifier.c
index c9ea44db419a..0f9aa0f93fb0 100644
--- a/xen/common/notifier.c
+++ b/xen/common/notifier.c
@@ -72,7 +72,7 @@ int notifier_call_chain(
     int ret = NOTIFY_DONE;
     struct list_head *cursor;
     struct notifier_block *nb = NULL;
-    bool_t reverse = !!(val & NOTIFY_REVERSE);
+    bool reverse = val & NOTIFY_REVERSE;
 
     cursor = pcursor && *pcursor ? &(*pcursor)->chain : &nh->head;
 
diff --git a/xen/common/preempt.c b/xen/common/preempt.c
index 3b4178fd44ac..0d2dd51ac241 100644
--- a/xen/common/preempt.c
+++ b/xen/common/preempt.c
@@ -25,7 +25,7 @@
 
 DEFINE_PER_CPU(unsigned int, __preempt_count);
 
-bool_t in_atomic(void)
+bool in_atomic(void)
 {
     return preempt_count() || in_irq() || !local_irq_is_enabled();
 }
diff --git a/xen/common/rangeset.c b/xen/common/rangeset.c
index f3baf52ab6f9..27ba6099b582 100644
--- a/xen/common/rangeset.c
+++ b/xen/common/rangeset.c
@@ -248,11 +248,11 @@ int rangeset_remove_range(
     return rc;
 }
 
-bool_t rangeset_contains_range(
+bool rangeset_contains_range(
     struct rangeset *r, unsigned long s, unsigned long e)
 {
     struct range *x;
-    bool_t contains;
+    bool contains;
 
     ASSERT(s <= e);
 
@@ -267,11 +267,11 @@ bool_t rangeset_contains_range(
     return contains;
 }
 
-bool_t rangeset_overlaps_range(
+bool rangeset_overlaps_range(
     struct rangeset *r, unsigned long s, unsigned long e)
 {
     struct range *x;
-    bool_t overlaps;
+    bool overlaps;
 
     ASSERT(s <= e);
 
@@ -408,13 +408,13 @@ int rangeset_remove_singleton(
     return rangeset_remove_range(r, s, s);
 }
 
-bool_t rangeset_contains_singleton(
+bool rangeset_contains_singleton(
     struct rangeset *r, unsigned long s)
 {
     return rangeset_contains_range(r, s, s);
 }
 
-bool_t rangeset_is_empty(
+bool rangeset_is_empty(
     const struct rangeset *r)
 {
     return ((r == NULL) || list_empty(&r->range_list));
diff --git a/xen/common/shutdown.c b/xen/common/shutdown.c
index a933ee001ea4..37901a4f3391 100644
--- a/xen/common/shutdown.c
+++ b/xen/common/shutdown.c
@@ -12,7 +12,7 @@
 #include <public/sched.h>
 
 /* opt_noreboot: If true, machine will need manual reset on error. */
-bool_t __read_mostly opt_noreboot;
+bool __read_mostly opt_noreboot;
 boolean_param("noreboot", opt_noreboot);
 
 static void noreturn maybe_reboot(void)
diff --git a/xen/common/symbols.c b/xen/common/symbols.c
index 691e61792506..133b58076823 100644
--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -98,7 +98,7 @@ static unsigned int get_symbol_offset(unsigned long pos)
     return name - symbols_names;
 }
 
-bool_t is_active_kernel_text(unsigned long addr)
+bool is_active_kernel_text(unsigned long addr)
 {
     return !!find_text_region(addr);
 }
diff --git a/xen/common/sysctl.c b/xen/common/sysctl.c
index 7cabfb023053..3e2cc4906c10 100644
--- a/xen/common/sysctl.c
+++ b/xen/common/sysctl.c
@@ -297,8 +297,8 @@ long do_sysctl(XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
     {
         unsigned int i, j, num_nodes;
         struct xen_sysctl_numainfo *ni = &op->u.numainfo;
-        bool_t do_meminfo = !guest_handle_is_null(ni->meminfo);
-        bool_t do_distance = !guest_handle_is_null(ni->distance);
+        bool do_meminfo = !guest_handle_is_null(ni->meminfo);
+        bool do_distance = !guest_handle_is_null(ni->distance);
 
         num_nodes = last_node(node_online_map) + 1;
 
diff --git a/xen/common/tasklet.c b/xen/common/tasklet.c
index 3ad67b5c2493..c8abad3c758a 100644
--- a/xen/common/tasklet.c
+++ b/xen/common/tasklet.c
@@ -20,7 +20,7 @@
 #include <xen/cpu.h>
 
 /* Some subsystems call into us before we are initialised. We ignore them. */
-static bool_t tasklets_initialised;
+static bool tasklets_initialised;
 
 DEFINE_PER_CPU(unsigned long, tasklet_work_to_do);
 
@@ -37,7 +37,7 @@ static void tasklet_enqueue(struct tasklet *t)
     if ( t->is_softirq )
     {
         struct list_head *list = &per_cpu(softirq_tasklet_list, cpu);
-        bool_t was_empty = list_empty(list);
+        bool was_empty = list_empty(list);
         list_add_tail(&t->list, list);
         if ( was_empty )
             cpu_raise_softirq(cpu, TASKLET_SOFTIRQ);
diff --git a/xen/common/timer.c b/xen/common/timer.c
index 0fddfa74879e..47e060e4e98d 100644
--- a/xen/common/timer.c
+++ b/xen/common/timer.c
@@ -239,7 +239,7 @@ static inline void deactivate_timer(struct timer *timer)
     list_add(&timer->inactive, &per_cpu(timers, timer->cpu).inactive);
 }
 
-static inline bool_t timer_lock(struct timer *timer)
+static inline bool timer_lock(struct timer *timer)
 {
     unsigned int cpu;
 
@@ -264,7 +264,7 @@ static inline bool_t timer_lock(struct timer *timer)
 }
 
 #define timer_lock_irqsave(t, flags) ({         \
-    bool_t __x;                                 \
+    bool __x;                                   \
     local_irq_save(flags);                      \
     if ( !(__x = timer_lock(t)) )               \
         local_irq_restore(flags);               \
@@ -358,7 +358,7 @@ void migrate_timer(struct timer *timer, unsigned int new_cpu)
 {
     unsigned int old_cpu;
 #if CONFIG_NR_CPUS > 1
-    bool_t active;
+    bool active;
     unsigned long flags;
 
     rcu_read_lock(&timer_cpu_read_lock);
@@ -580,7 +580,7 @@ static void migrate_timers_from_cpu(unsigned int old_cpu)
     unsigned int new_cpu = cpumask_any(&cpu_online_map);
     struct timers *old_ts, *new_ts;
     struct timer *t;
-    bool_t notify = 0;
+    bool notify = false;
 
     ASSERT(!cpu_online(old_cpu) && cpu_online(new_cpu));
 
diff --git a/xen/common/trace.c b/xen/common/trace.c
index 17d62f70561f..4e7b080e6154 100644
--- a/xen/common/trace.c
+++ b/xen/common/trace.c
@@ -433,7 +433,7 @@ int tb_control(struct xen_sysctl_tbuf_op *tbc)
     return rc;
 }
 
-static inline unsigned int calc_rec_size(bool_t cycles, unsigned int extra)
+static inline unsigned int calc_rec_size(bool cycles, unsigned int extra)
 {
     unsigned int rec_size = 4;
 
@@ -443,7 +443,7 @@ static inline unsigned int calc_rec_size(bool_t cycles, unsigned int extra)
     return rec_size;
 }
 
-static inline bool_t bogus(u32 prod, u32 cons)
+static inline bool bogus(u32 prod, u32 cons)
 {
     if ( unlikely(prod & 3) || unlikely(prod >= 2 * data_size) ||
          unlikely(cons & 3) || unlikely(cons >= 2 * data_size) )
@@ -546,7 +546,7 @@ static unsigned char *next_record(const struct t_buf *buf, uint32_t *next,
 static inline void __insert_record(struct t_buf *buf,
                                    unsigned long event,
                                    unsigned int extra,
-                                   bool_t cycles,
+                                   bool cycles,
                                    unsigned int rec_size,
                                    const void *extra_data)
 {
@@ -617,7 +617,7 @@ static inline void insert_wrap_record(struct t_buf *buf,
 {
     u32 space_left = calc_bytes_to_wrap(buf);
     unsigned int extra_space = space_left - sizeof(u32);
-    bool_t cycles = 0;
+    bool cycles = false;
 
     BUG_ON(space_left > size);
 
@@ -674,14 +674,14 @@ static DECLARE_SOFTIRQ_TASKLET(trace_notify_dom0_tasklet,
  *
  * Logs a trace record into the appropriate buffer.
  */
-void __trace_var(u32 event, bool_t cycles, unsigned int extra,
+void __trace_var(u32 event, bool cycles, unsigned int extra,
                  const void *extra_data)
 {
     struct t_buf *buf;
     unsigned long flags;
     u32 bytes_to_tail, bytes_to_wrap;
     unsigned int rec_size, total_size;
-    bool_t started_below_highwater;
+    bool started_below_highwater;
 
     if( !tb_init_done )
         return;
diff --git a/xen/drivers/acpi/apei/apei-base.c b/xen/drivers/acpi/apei/apei-base.c
index de75c1cef992..053a92c307bb 100644
--- a/xen/drivers/acpi/apei/apei-base.c
+++ b/xen/drivers/acpi/apei/apei-base.c
@@ -154,7 +154,7 @@ int cf_check apei_exec_noop(
  * execute all instructions belong to the action.
  */
 int __apei_exec_run(struct apei_exec_context *ctx, u8 action,
-		    bool_t optional)
+		    bool optional)
 {
 	int rc = -ENOENT;
 	u32 i, ip;
diff --git a/xen/drivers/acpi/apei/apei-internal.h b/xen/drivers/acpi/apei/apei-internal.h
index 360e94b9c877..90233077b7f9 100644
--- a/xen/drivers/acpi/apei/apei-internal.h
+++ b/xen/drivers/acpi/apei/apei-internal.h
@@ -48,7 +48,7 @@ static inline u64 apei_exec_ctx_get_output(struct apei_exec_context *ctx)
 	return ctx->value;
 }
 
-int __apei_exec_run(struct apei_exec_context *ctx, u8 action, bool_t optional);
+int __apei_exec_run(struct apei_exec_context *ctx, u8 action, bool optional);
 
 static inline int apei_exec_run(struct apei_exec_context *ctx, u8 action)
 {
diff --git a/xen/drivers/acpi/apei/erst.c b/xen/drivers/acpi/apei/erst.c
index 40d8f00270d0..e006b3def2be 100644
--- a/xen/drivers/acpi/apei/erst.c
+++ b/xen/drivers/acpi/apei/erst.c
@@ -58,7 +58,7 @@
 #define FIRMWARE_MAX_STALL	50			/* 50us */
 
 static struct acpi_table_erst *__read_mostly erst_tab;
-static bool_t __read_mostly erst_enabled;
+static bool __read_mostly erst_enabled;
 
 /* ERST Error Log Address Range atrributes */
 #define ERST_RANGE_RESERVED	0x0001
diff --git a/xen/drivers/acpi/apei/hest.c b/xen/drivers/acpi/apei/hest.c
index 5881275d2f37..4ec28c3c11ba 100644
--- a/xen/drivers/acpi/apei/hest.c
+++ b/xen/drivers/acpi/apei/hest.c
@@ -39,7 +39,7 @@
 
 #define HEST_PFX "HEST: "
 
-static bool_t hest_disable;
+static bool hest_disable;
 boolean_param("hest_disable", hest_disable);
 
 /* HEST table parsing */
diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 4824d4a91d45..946af5e62535 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -54,7 +54,7 @@ static unsigned char __read_mostly opt_conswitch[3] = "a";
 string_runtime_param("conswitch", opt_conswitch);
 
 /* sync_console: force synchronous console output (useful for debugging). */
-static bool_t __initdata opt_sync_console;
+static bool __initdata opt_sync_console;
 boolean_param("sync_console", opt_sync_console);
 static const char __initconst warning_sync_console[] =
     "WARNING: CONSOLE OUTPUT IS SYNCHRONOUS\n"
@@ -64,7 +64,7 @@ static const char __initconst warning_sync_console[] =
     "timekeeping. It is NOT recommended for production use!\n";
 
 /* console_to_ring: send guest (incl. dom 0) console data to console ring. */
-static bool_t __read_mostly opt_console_to_ring;
+static bool __read_mostly opt_console_to_ring;
 boolean_param("console_to_ring", opt_console_to_ring);
 
 /* console_timestamps: include a timestamp prefix on every Xen console line. */
@@ -760,7 +760,7 @@ long do_console_io(
  * *****************************************************
  */
 
-static bool_t console_locks_busted;
+static bool console_locks_busted;
 
 static void __putstr(const char *str)
 {
@@ -911,7 +911,7 @@ static void printk_start_of_line(const char *prefix)
 static void vprintk_common(const char *prefix, const char *fmt, va_list args)
 {
     struct vps {
-        bool_t continued, do_print;
+        bool continued, do_print;
     }            *state;
     static DEFINE_PER_CPU(struct vps, state);
     static char   buf[1024];
diff --git a/xen/drivers/char/ehci-dbgp.c b/xen/drivers/char/ehci-dbgp.c
index 00cbdd5454dd..72e1beabbbcd 100644
--- a/xen/drivers/char/ehci-dbgp.c
+++ b/xen/drivers/char/ehci-dbgp.c
@@ -332,7 +332,7 @@ struct ehci_dbgp {
     unsigned long timeout;
     struct timer timer;
     spinlock_t *lock;
-    bool_t reset_run;
+    bool reset_run;
     u8 bus, slot, func, bar;
     u16 pci_cr;
     u32 bar_val;
@@ -639,7 +639,7 @@ static int dbgp_control_msg(struct ehci_dbgp *dbgp, unsigned int devnum,
 {
     u32 addr, pids, ctrl;
     struct usb_ctrlrequest req;
-    bool_t read = (requesttype & USB_DIR_IN) != 0;
+    bool read = (requesttype & USB_DIR_IN) != 0;
     int ret;
 
     if ( size > (read ? DBGP_MAX_PACKET : 0) )
@@ -873,7 +873,7 @@ static int ehci_dbgp_external_startup(struct ehci_dbgp *dbgp)
     unsigned int dbg_port = dbgp->phys_port;
     unsigned int tries = 3;
     unsigned int reset_port_tries = 1;
-    bool_t try_hard_once = 1;
+    bool try_hard_once = true;
 
 try_port_reset_again:
     ret = ehci_dbgp_startup(dbgp);
@@ -1252,7 +1252,7 @@ static void cf_check _ehci_dbgp_poll(struct cpu_user_regs *regs)
     struct ehci_dbgp *dbgp = port->uart;
     unsigned long flags;
     unsigned int timeout = MICROSECS(DBGP_CHECK_INTERVAL);
-    bool_t empty = 0;
+    bool empty = false;
 
     if ( !dbgp->ehci_debug )
         return;
@@ -1300,7 +1300,7 @@ static void cf_check ehci_dbgp_poll(void *data)
 #endif
 }
 
-static bool_t ehci_dbgp_setup_preirq(struct ehci_dbgp *dbgp)
+static bool ehci_dbgp_setup_preirq(struct ehci_dbgp *dbgp)
 {
     if ( !ehci_dbgp_setup(dbgp) )
         return 1;
diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index 28ddedd50d44..ddf2a48be6e7 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -58,12 +58,12 @@ static struct ns16550 {
     struct timer timer;
     struct timer resume_timer;
     unsigned int timeout_ms;
-    bool_t intr_works;
-    bool_t dw_usr_bsy;
+    bool intr_works;
+    bool dw_usr_bsy;
 #ifdef NS16550_PCI
     /* PCI card parameters. */
-    bool_t pb_bdf_enable;   /* if =1, pb-bdf effective, port behind bridge */
-    bool_t ps_bdf_enable;   /* if =1, ps_bdf effective, port on pci card */
+    bool pb_bdf_enable;     /* if =1, pb-bdf effective, port behind bridge */
+    bool ps_bdf_enable;     /* if =1, ps_bdf effective, port on pci card */
     unsigned int pb_bdf[3]; /* pci bridge BDF */
     unsigned int ps_bdf[3]; /* pci serial port BDF */
     u32 bar;
@@ -101,8 +101,8 @@ struct ns16550_config_param {
     unsigned int reg_width;
     unsigned int fifo_size;
     u8 lsr_mask;
-    bool_t mmio;
-    bool_t bar0;
+    bool mmio;
+    bool bar0;
     unsigned int max_ports;
     unsigned int base_baud;
     unsigned int uart_offset;
@@ -1172,7 +1172,7 @@ static const struct ns16550_config __initconst uart_config[] =
 };
 
 static int __init
-pci_uart_config(struct ns16550 *uart, bool_t skip_amt, unsigned int idx)
+pci_uart_config(struct ns16550 *uart, bool skip_amt, unsigned int idx)
 {
     u64 orig_base = uart->io_base;
     unsigned int b, d, f, nextf, i;
diff --git a/xen/drivers/char/pl011.c b/xen/drivers/char/pl011.c
index f7bf3ad117af..513b373b2e23 100644
--- a/xen/drivers/char/pl011.c
+++ b/xen/drivers/char/pl011.c
@@ -39,7 +39,7 @@ static struct pl011 {
     /* /\* UART with no IRQ line: periodically-polled I/O. *\/ */
     /* struct timer timer; */
     /* unsigned int timeout_ms; */
-    /* bool_t probing, intr_works; */
+    /* bool probing, intr_works; */
     bool sbsa;  /* ARM SBSA generic interface */
     bool mmio32; /* 32-bit only MMIO */
 } pl011_com = {0};
diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
index 00efe69574f3..6d792f06dd7d 100644
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -29,7 +29,7 @@ static struct serial_port com[SERHND_IDX + 1] = {
     }
 };
 
-static bool_t __read_mostly post_irq;
+static bool __read_mostly post_irq;
 
 static inline void serial_start_tx(struct serial_port *port)
 {
diff --git a/xen/drivers/cpufreq/cpufreq.c b/xen/drivers/cpufreq/cpufreq.c
index 8d1e789eab8e..430351b775db 100644
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -139,7 +139,7 @@ static int __init cf_check setup_cpufreq_option(const char *str)
 }
 custom_param("cpufreq", setup_cpufreq_option);
 
-bool_t __read_mostly cpufreq_verbose;
+bool __read_mostly cpufreq_verbose;
 
 struct cpufreq_governor *__find_governor(const char *governor)
 {
diff --git a/xen/drivers/video/vesa.c b/xen/drivers/video/vesa.c
index b007ff5678ef..70feca21ac4f 100644
--- a/xen/drivers/video/vesa.c
+++ b/xen/drivers/video/vesa.c
@@ -145,7 +145,7 @@ static void cf_check lfb_flush(void)
     __asm__ __volatile__ ("sfence" : : : "memory");
 }
 
-void __init vesa_endboot(bool_t keep)
+void __init vesa_endboot(bool keep)
 {
     if ( keep )
     {
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index 281e3f513d66..b0c860f0ec21 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -22,7 +22,7 @@
 
 DECLARE_PER_CPU(spinlock_t, cpufreq_statistic_lock);
 
-extern bool_t cpufreq_verbose;
+extern bool cpufreq_verbose;
 
 enum cpufreq_xen_opt {
     CPUFREQ_none,
@@ -52,8 +52,8 @@ struct cpufreq_cpuinfo {
 };
 
 struct perf_limits {
-    bool_t no_turbo;
-    bool_t turbo_disabled;
+    bool no_turbo;
+    bool turbo_disabled;
     uint32_t turbo_pct;
     uint32_t max_perf_pct; /* max performance in percentage */
     uint32_t min_perf_pct; /* min performance in percentage */
@@ -77,7 +77,7 @@ struct cpufreq_policy {
     struct perf_limits  limits;
     struct cpufreq_governor     *governor;
 
-    bool_t              resume; /* flag for cpufreq 1st run
+    bool                resume; /* flag for cpufreq 1st run
                                  * S3 wakeup, hotplug cpu, etc */
     s8                  turbo;  /* tristate flag: 0 for unsupported
                                  * -1 for disable, 1 for enabled
@@ -114,7 +114,7 @@ struct cpufreq_governor {
     char    name[CPUFREQ_NAME_LEN];
     int     (*governor)(struct cpufreq_policy *policy,
                         unsigned int event);
-    bool_t  (*handle_option)(const char *name, const char *value);
+    bool    (*handle_option)(const char *name, const char *value);
     struct list_head governor_list;
 };
 
diff --git a/xen/include/xen/device_tree.h b/xen/include/xen/device_tree.h
index a262bba2edaf..3ae7b45429b6 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -29,7 +29,7 @@ struct dt_device_match {
     const char *path;
     const char *type;
     const char *compatible;
-    const bool_t not_available;
+    const bool not_available;
     /*
      * Property name to search for. We only search for the property's
      * existence.
@@ -95,7 +95,7 @@ struct dt_device_node {
     bool is_protected;
 
     /* HACK: Remove this if there is a need of space */
-    bool_t static_evtchn_created;
+    bool static_evtchn_created;
 
     /*
      * The main purpose of this list is to link the structure in the list
@@ -138,7 +138,7 @@ struct dt_irq {
 };
 
 /* If type == DT_IRQ_TYPE_NONE, assume we use level triggered */
-static inline bool_t dt_irq_is_level_triggered(const struct dt_irq *irq)
+static inline bool dt_irq_is_level_triggered(const struct dt_irq *irq)
 {
     unsigned int type = irq->type;
 
@@ -319,19 +319,19 @@ static inline const char *dt_node_name(const struct dt_device_node *np)
     return (np && np->name) ? np->name : "<no-node>";
 }
 
-static inline bool_t dt_node_name_is_equal(const struct dt_device_node *np,
-                                           const char *name)
+static inline bool dt_node_name_is_equal(const struct dt_device_node *np,
+                                         const char *name)
 {
     return !dt_node_cmp(np->name, name);
 }
 
-static inline bool_t dt_node_path_is_equal(const struct dt_device_node *np,
-                                           const char *path)
+static inline bool dt_node_path_is_equal(const struct dt_device_node *np,
+                                         const char *path)
 {
     return !dt_node_cmp(np->full_name, path);
 }
 
-static inline bool_t
+static inline bool
 dt_device_type_is_equal(const struct dt_device_node *device,
                         const char *type)
 {
@@ -360,8 +360,8 @@ static inline bool dt_device_is_protected(const struct dt_device_node *device)
     return device->is_protected;
 }
 
-static inline bool_t dt_property_name_is_equal(const struct dt_property *pp,
-                                               const char *name)
+static inline bool dt_property_name_is_equal(const struct dt_property *pp,
+                                             const char *name)
 {
     return !dt_prop_cmp(pp->name, name);
 }
@@ -372,7 +372,7 @@ dt_device_set_static_evtchn_created(struct dt_device_node *device)
     device->static_evtchn_created = true;
 }
 
-static inline bool_t
+static inline bool
 dt_device_static_evtchn_created(const struct dt_device_node *device)
 {
     return device->static_evtchn_created;
@@ -414,8 +414,8 @@ const struct dt_property *dt_find_property(const struct dt_device_node *np,
  *
  * Return true if get the desired value.
  */
-bool_t dt_property_read_u32(const struct dt_device_node *np,
-                            const char *name, u32 *out_value);
+bool dt_property_read_u32(const struct dt_device_node *np,
+                          const char *name, u32 *out_value);
 /**
  * dt_property_read_u64 - Helper to read a u64 property.
  * @np: node to get the value
@@ -424,8 +424,8 @@ bool_t dt_property_read_u32(const struct dt_device_node *np,
  *
  * Return true if get the desired value.
  */
-bool_t dt_property_read_u64(const struct dt_device_node *np,
-                            const char *name, u64 *out_value);
+bool dt_property_read_u64(const struct dt_device_node *np,
+                          const char *name, u64 *out_value);
 
 
 /**
@@ -491,8 +491,8 @@ static inline int dt_property_read_u32_array(const struct dt_device_node *np,
  * Search for a property in a device node.
  * Return true if the property exists false otherwise.
  */
-static inline bool_t dt_property_read_bool(const struct dt_device_node *np,
-                                           const char *name)
+static inline bool dt_property_read_bool(const struct dt_device_node *np,
+                                         const char *name)
 {
     const struct dt_property *prop = dt_find_property(np, name, NULL);
 
@@ -536,8 +536,8 @@ int dt_property_match_string(const struct dt_device_node *np,
  * Checks if the given "compat" string matches one of the strings in
  * the device's "compatible" property
  */
-bool_t dt_device_is_compatible(const struct dt_device_node *device,
-                               const char *compat);
+bool dt_device_is_compatible(const struct dt_device_node *device,
+                             const char *compat);
 
 /**
  * dt_machine_is_compatible - Test root of device tree for a given compatible value
@@ -546,7 +546,7 @@ bool_t dt_device_is_compatible(const struct dt_device_node *device,
  * Returns true if the root node has the given value in its
  * compatible property.
  */
-bool_t dt_machine_is_compatible(const char *compat);
+bool dt_machine_is_compatible(const char *compat);
 
 /**
  * dt_find_node_by_name - Find a node by its "name" property
@@ -764,7 +764,7 @@ int dt_child_n_addr_cells(const struct dt_device_node *parent);
  * Returns true if the status property is absent or set to "okay" or "ok",
  * false otherwise.
  */
-bool_t dt_device_is_available(const struct dt_device_node *device);
+bool dt_device_is_available(const struct dt_device_node *device);
 
 /**
  * dt_device_for_passthrough - Check if a device will be used for
@@ -775,7 +775,7 @@ bool_t dt_device_is_available(const struct dt_device_node *device);
  * Return true if the property "xen,passthrough" is present in the node,
  * false otherwise.
  */
-bool_t dt_device_for_passthrough(const struct dt_device_node *device);
+bool dt_device_for_passthrough(const struct dt_device_node *device);
 
 /**
  * dt_match_node - Tell if a device_node has a matching of dt_device_match
diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 54d88bf5e34b..460c8c3d27b3 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -124,7 +124,7 @@ void arch_dump_domain_info(struct domain *d);
 
 int arch_vcpu_reset(struct vcpu *);
 
-bool_t domctl_lock_acquire(void);
+bool domctl_lock_acquire(void);
 void domctl_lock_release(void);
 
 /*
@@ -144,7 +144,7 @@ void arch_hypercall_tasklet_result(struct vcpu *v, long res);
 
 extern unsigned int xen_processor_pmbits;
 
-extern bool_t opt_dom0_vcpus_pin;
+extern bool opt_dom0_vcpus_pin;
 extern cpumask_t dom0_cpus;
 extern bool dom0_affinity_relaxed;
 
diff --git a/xen/include/xen/gdbstub.h b/xen/include/xen/gdbstub.h
index 18c960969b76..d2efeb0e3ae1 100644
--- a/xen/include/xen/gdbstub.h
+++ b/xen/include/xen/gdbstub.h
@@ -30,7 +30,7 @@ struct cpu_user_regs;
 struct gdb_context {
     int                 serhnd;           /* handle on our serial line */
     int                 console_steal_id; /* handle on stolen console */
-    bool_t              currently_attached;
+    bool                currently_attached;
     atomic_t            running;
     unsigned long       connected;
     u8                  signum;
diff --git a/xen/include/xen/irq.h b/xen/include/xen/irq.h
index 58d462e8e6c9..0bdfe2957640 100644
--- a/xen/include/xen/irq.h
+++ b/xen/include/xen/irq.h
@@ -21,7 +21,7 @@ struct irqaction {
     void (*handler)(int irq, void *dev_id, struct cpu_user_regs *regs);
     const char *name;
     void *dev_id;
-    bool_t free_on_release;
+    bool free_on_release;
 #ifdef CONFIG_IRQ_HAS_MULTIPLE_ACTION
     struct irqaction *next;
 #endif
diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h
index 2c5ed7736c99..560b1c28322f 100644
--- a/xen/include/xen/kernel.h
+++ b/xen/include/xen/kernel.h
@@ -102,7 +102,7 @@ extern enum system_state {
     SYS_STATE_resume
 } system_state;
 
-bool_t is_active_kernel_text(unsigned long addr);
+bool is_active_kernel_text(unsigned long addr);
 
 extern const char xen_config_data[];
 extern const unsigned int xen_config_data_size;
diff --git a/xen/include/xen/kimage.h b/xen/include/xen/kimage.h
index cbfb9e9054df..348f07f5c881 100644
--- a/xen/include/xen/kimage.h
+++ b/xen/include/xen/kimage.h
@@ -47,11 +47,11 @@ int kimage_load_segments(struct kexec_image *image);
 struct page_info *kimage_alloc_control_page(struct kexec_image *image,
                                             unsigned memflags);
 
-kimage_entry_t *kimage_entry_next(kimage_entry_t *entry, bool_t compat);
-mfn_t kimage_entry_mfn(kimage_entry_t *entry, bool_t compat);
-unsigned long kimage_entry_ind(kimage_entry_t *entry, bool_t compat);
+kimage_entry_t *kimage_entry_next(kimage_entry_t *entry, bool compat);
+mfn_t kimage_entry_mfn(kimage_entry_t *entry, bool compat);
+unsigned long kimage_entry_ind(kimage_entry_t *entry, bool compat);
 int kimage_build_ind(struct kexec_image *image, mfn_t ind_mfn,
-                     bool_t compat);
+                     bool compat);
 
 #endif /* __ASSEMBLY__ */
 
diff --git a/xen/include/xen/livepatch.h b/xen/include/xen/livepatch.h
index 9fdb29c382b6..458eef57a7d1 100644
--- a/xen/include/xen/livepatch.h
+++ b/xen/include/xen/livepatch.h
@@ -48,13 +48,13 @@ struct livepatch_symbol {
     const char *name;
     unsigned long value;
     unsigned int size;
-    bool_t new_symbol;
+    bool new_symbol;
 };
 
 int livepatch_op(struct xen_sysctl_livepatch_op *);
 void check_for_livepatch_work(void);
 unsigned long livepatch_symbols_lookup_by_name(const char *symname);
-bool_t is_patch(const void *addr);
+bool is_patch(const void *addr);
 
 /* Arch hooks. */
 int arch_livepatch_verify_elf(const struct livepatch_elf *elf);
@@ -169,7 +169,7 @@ static inline int livepatch_op(struct xen_sysctl_livepatch_op *op)
 }
 
 static inline void check_for_livepatch_work(void) { };
-static inline bool_t is_patch(const void *addr)
+static inline bool is_patch(const void *addr)
 {
     return 0;
 }
diff --git a/xen/include/xen/mm-frame.h b/xen/include/xen/mm-frame.h
index 0105ed01300a..922ae418807a 100644
--- a/xen/include/xen/mm-frame.h
+++ b/xen/include/xen/mm-frame.h
@@ -38,7 +38,7 @@ static inline mfn_t mfn_min(mfn_t x, mfn_t y)
     return _mfn(min(mfn_x(x), mfn_x(y)));
 }
 
-static inline bool_t mfn_eq(mfn_t x, mfn_t y)
+static inline bool mfn_eq(mfn_t x, mfn_t y)
 {
     return mfn_x(x) == mfn_x(y);
 }
@@ -77,7 +77,7 @@ static inline gfn_t gfn_min(gfn_t x, gfn_t y)
     return _gfn(min(gfn_x(x), gfn_x(y)));
 }
 
-static inline bool_t gfn_eq(gfn_t x, gfn_t y)
+static inline bool gfn_eq(gfn_t x, gfn_t y)
 {
     return gfn_x(x) == gfn_x(y);
 }
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 8b9618609f77..595629cf3fda 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -254,7 +254,7 @@ struct page_list_head
 # define INIT_PAGE_LIST_HEAD(head) ((head)->tail = (head)->next = NULL)
 # define INIT_PAGE_LIST_ENTRY(ent) ((ent)->prev = (ent)->next = PAGE_LIST_NULL)
 
-static inline bool_t
+static inline bool
 page_list_empty(const struct page_list_head *head)
 {
     return !head->next;
@@ -313,7 +313,7 @@ page_list_add_tail(struct page_info *page, struct page_list_head *head)
     }
     head->tail = page;
 }
-static inline bool_t
+static inline bool
 __page_list_del_head(struct page_info *page, struct page_list_head *head,
                      struct page_info *next, struct page_info *prev)
 {
@@ -427,7 +427,7 @@ page_list_splice(struct page_list_head *list, struct page_list_head *head)
 # define INIT_PAGE_LIST_HEAD             INIT_LIST_HEAD
 # define INIT_PAGE_LIST_ENTRY            INIT_LIST_HEAD
 
-static inline bool_t
+static inline bool
 page_list_empty(const struct page_list_head *head)
 {
     return !!list_empty(head);
diff --git a/xen/include/xen/preempt.h b/xen/include/xen/preempt.h
index bef83135a1b8..aa059b497b29 100644
--- a/xen/include/xen/preempt.h
+++ b/xen/include/xen/preempt.h
@@ -26,7 +26,7 @@ DECLARE_PER_CPU(unsigned int, __preempt_count);
     preempt_count()--;                          \
 } while (0)
 
-bool_t in_atomic(void);
+bool in_atomic(void);
 
 #ifndef NDEBUG
 void ASSERT_NOT_IN_ATOMIC(void);
diff --git a/xen/include/xen/rangeset.h b/xen/include/xen/rangeset.h
index 135f33f6066f..a211e3dfac1d 100644
--- a/xen/include/xen/rangeset.h
+++ b/xen/include/xen/rangeset.h
@@ -52,7 +52,7 @@ void rangeset_limit(
 #define _RANGESETF_prettyprint_hex 0
 #define RANGESETF_prettyprint_hex  (1U << _RANGESETF_prettyprint_hex)
 
-bool_t __must_check rangeset_is_empty(
+bool __must_check rangeset_is_empty(
     const struct rangeset *r);
 
 /* Add/claim/remove/query a numeric range. */
@@ -62,9 +62,9 @@ int __must_check rangeset_claim_range(struct rangeset *r, unsigned long size,
                                       unsigned long *s);
 int __must_check rangeset_remove_range(
     struct rangeset *r, unsigned long s, unsigned long e);
-bool_t __must_check rangeset_contains_range(
+bool __must_check rangeset_contains_range(
     struct rangeset *r, unsigned long s, unsigned long e);
-bool_t __must_check rangeset_overlaps_range(
+bool __must_check rangeset_overlaps_range(
     struct rangeset *r, unsigned long s, unsigned long e);
 int rangeset_report_ranges(
     struct rangeset *r, unsigned long s, unsigned long e,
@@ -88,7 +88,7 @@ int __must_check rangeset_add_singleton(
     struct rangeset *r, unsigned long s);
 int __must_check rangeset_remove_singleton(
     struct rangeset *r, unsigned long s);
-bool_t __must_check rangeset_contains_singleton(
+bool __must_check rangeset_contains_singleton(
     struct rangeset *r, unsigned long s);
 
 /* swap contents */
diff --git a/xen/include/xen/rwlock.h b/xen/include/xen/rwlock.h
index e0d2b41c5c7e..08ba46de1552 100644
--- a/xen/include/xen/rwlock.h
+++ b/xen/include/xen/rwlock.h
@@ -293,7 +293,7 @@ typedef struct percpu_rwlock percpu_rwlock_t;
 
 struct percpu_rwlock {
     rwlock_t            rwlock;
-    bool_t              writer_activating;
+    bool                writer_activating;
 #ifndef NDEBUG
     percpu_rwlock_t     **percpu_owner;
 #endif
diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index f0aff7ea7661..cf9701986fe1 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -48,7 +48,7 @@ struct serial_port {
     /* Transmit data buffer (interrupt-driven uart). */
     char               *txbuf;
     unsigned int        txbufp, txbufc;
-    bool_t              tx_quench;
+    bool                tx_quench;
     int                 tx_log_everything;
     /* Force synchronous transmit. */
     int                 sync;
diff --git a/xen/include/xen/shutdown.h b/xen/include/xen/shutdown.h
index b3f7e30cde5c..668aed0be580 100644
--- a/xen/include/xen/shutdown.h
+++ b/xen/include/xen/shutdown.h
@@ -4,7 +4,7 @@
 #include <xen/compiler.h>
 
 /* opt_noreboot: If true, machine will need manual reset on error. */
-extern bool_t opt_noreboot;
+extern bool opt_noreboot;
 
 void noreturn hwdom_shutdown(u8 reason);
 
diff --git a/xen/include/xen/tasklet.h b/xen/include/xen/tasklet.h
index 193acf8f42c1..1362d4af27c8 100644
--- a/xen/include/xen/tasklet.h
+++ b/xen/include/xen/tasklet.h
@@ -18,9 +18,9 @@ struct tasklet
 {
     struct list_head list;
     int scheduled_on;
-    bool_t is_softirq;
-    bool_t is_running;
-    bool_t is_dead;
+    bool is_softirq;
+    bool is_running;
+    bool is_dead;
     void (*func)(void *);
     void *data;
 };
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 15:05:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 15:05:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637028.992709 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55pf-00049H-MW; Mon, 20 Nov 2023 15:05:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637028.992709; Mon, 20 Nov 2023 15:05: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 1r55pf-00049A-Jb; Mon, 20 Nov 2023 15:05:03 +0000
Received: by outflank-mailman (input) for mailman id 637028;
 Mon, 20 Nov 2023 15:05: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r55pe-00047A-K3
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 15:05:02 +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 2def633e-87b6-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 16:05:02 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-507be298d2aso5756984e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 07:05:02 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 s15-20020adfea8f000000b00323287186aasm11493685wrm.32.2023.11.20.07.05.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 07:05:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2def633e-87b6-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700492701; x=1701097501; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=jJiMsGwIyeGFrhdEpv5NYLFTNvLLbA+NXezxFZ6FkfQ=;
        b=YrNFrPozT5m2nLJ1234v6rgAh3K5SIgyQMpXX9duDVOMkWNdG0D48mRfABvRcTPy1u
         i1sljICRncEdXFC75owHYHL20WxDtAxvD9d2kUO9lT1COqGgwM/M/h3IYMh26RfYrtxa
         epOymzIIpl7qEVfJ7bg9XCXiodO1kKK6qB/tE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700492701; x=1701097501;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=jJiMsGwIyeGFrhdEpv5NYLFTNvLLbA+NXezxFZ6FkfQ=;
        b=twq7ForpLhRu8z5nc8/OMVRJRvFlyei3w5O/a5qnQBliLULGr3T157DpI5ZaAIotb+
         LWgIw2+XGlvfsgMWGVc9It35KXWaUxOgp28EH4n2V6VDqobVZmqek+JHV43Px37zRz61
         dDMi8SlEl2Z0Qspp8palhAKKgL4Sl9oLnK78Mwgv2o8kvEXvQdKgvUaF1nAO1DkxoLv9
         NEiKWzRSXFZA8x8WsGqola2XKfceooQweegp3UztyxM/IqJsk+gm8bvDSGBPFjzHvFRh
         hroHm67tO2Kv+BM9Z+7prixysVNQ+YCUXfkW5OzJj15JdI3yCpgo21mIbLotXCfVWLVK
         2aDw==
X-Gm-Message-State: AOJu0YxX8hxtBqVn6qCMVQaXjWj0pv2GobXXhmQQjEK1s54aJFlPX9uj
	h6cNxLB9UQmtL0vlWR9ljwh/rQ==
X-Google-Smtp-Source: AGHT+IE2a9V1x0QF58vrxmPh+676zXaDNfbRgtbLg2nvjy0Rs9FlGyQwbIVZykXjy0jPI4xlZz4P5Q==
X-Received: by 2002:ac2:5203:0:b0:500:c292:e44e with SMTP id a3-20020ac25203000000b00500c292e44emr5007938lfl.54.1700492700553;
        Mon, 20 Nov 2023 07:05:00 -0800 (PST)
Date: Mon, 20 Nov 2023 16:04:59 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
	Jan Beulich <jbeulich@suse.com>, Paul Durrant <paul@xen.org>
Subject: Re: [PATCH v10 05/17] vpci: add hooks for PCI device assign/de-assign
Message-ID: <ZVt1m4vyw9SqexRp@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-6-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231012220854.2736994-6-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:15PM +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> When a PCI device gets assigned/de-assigned we need to
> initialize/de-initialize vPCI state for the device.
> 
> Also, rename vpci_add_handlers() to vpci_assign_device() and
> vpci_remove_device() to vpci_deassign_device() to better reflect role
> of the functions.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
> 
> In v10:
> - removed HAS_VPCI_GUEST_SUPPORT checks
> - HAS_VPCI_GUEST_SUPPORT config option (in Kconfig) as it is not used
>   anywhere
> In v9:
> - removed previous  vpci_[de]assign_device function and renamed
>   existing handlers
> - dropped attempts to handle errors in assign_device() function
> - do not call vpci_assign_device for dom_io
> - use d instead of pdev->domain
> - use IS_ENABLED macro
> In v8:
> - removed vpci_deassign_device
> In v6:
> - do not pass struct domain to vpci_{assign|deassign}_device as
>   pdev->domain can be used
> - do not leave the device assigned (pdev->domain == new domain) in case
>   vpci_assign_device fails: try to de-assign and if this also fails, then
>   crash the domain
> In v5:
> - do not split code into run_vpci_init
> - do not check for is_system_domain in vpci_{de}assign_device
> - do not use vpci_remove_device_handlers_locked and re-allocate
>   pdev->vpci completely
> - make vpci_deassign_device void
> In v4:
>  - de-assign vPCI from the previous domain on device assignment
>  - do not remove handlers in vpci_assign_device as those must not
>    exist at that point
> In v3:
>  - remove toolstack roll-back description from the commit message
>    as error are to be handled with proper cleanup in Xen itself
>  - remove __must_check
>  - remove redundant rc check while assigning devices
>  - fix redundant CONFIG_HAS_VPCI check for CONFIG_HAS_VPCI_GUEST_SUPPORT
>  - use REGISTER_VPCI_INIT machinery to run required steps on device
>    init/assign: add run_vpci_init helper
> In v2:
> - define CONFIG_HAS_VPCI_GUEST_SUPPORT so dead code is not compiled
>   for x86
> In v1:
>  - constify struct pci_dev where possible
>  - do not open code is_system_domain()
>  - extended the commit message
> ---
>  xen/drivers/passthrough/pci.c | 20 ++++++++++++++++----
>  xen/drivers/vpci/header.c     |  2 +-
>  xen/drivers/vpci/vpci.c       |  6 +++---
>  xen/include/xen/vpci.h        | 10 +++++-----
>  4 files changed, 25 insertions(+), 13 deletions(-)
> 
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index 182da45acb..b7926a291c 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -755,7 +755,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>           * For devices not discovered by Xen during boot, add vPCI handlers
>           * when Dom0 first informs Xen about such devices.
>           */
> -        ret = vpci_add_handlers(pdev);
> +        ret = vpci_assign_device(pdev);
>          if ( ret )
>          {
>              list_del(&pdev->domain_list);
> @@ -769,7 +769,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn,
>          if ( ret )
>          {
>              write_lock(&hardware_domain->pci_lock);
> -            vpci_remove_device(pdev);
> +            vpci_deassign_device(pdev);
>              list_del(&pdev->domain_list);
>              write_unlock(&hardware_domain->pci_lock);
>              pdev->domain = NULL;
> @@ -817,7 +817,7 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
>      list_for_each_entry ( pdev, &pseg->alldevs_list, alldevs_list )
>          if ( pdev->bus == bus && pdev->devfn == devfn )
>          {
> -            vpci_remove_device(pdev);
> +            vpci_deassign_device(pdev);
>              pci_cleanup_msi(pdev);
>              ret = iommu_remove_device(pdev);
>              if ( pdev->domain )
> @@ -875,6 +875,10 @@ static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
>              goto out;
>      }
>  
> +    write_lock(&d->pci_lock);
> +    vpci_deassign_device(pdev);
> +    write_unlock(&d->pci_lock);
> +
>      devfn = pdev->devfn;
>      ret = iommu_call(hd->platform_ops, reassign_device, d, target, devfn,
>                       pci_to_dev(pdev));

In deassign_device() you are missing a call to vpci_assign_device() in
order to setup the vPCI handlers for the target domain (not for
dom_io, but possibly for hardware_domain if it's PVH-like).

If the call to reassign_device is successful you need to call
vpci_assign_device().

The rest LGTM.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 15:07:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 15:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637031.992719 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55rd-0004sc-31; Mon, 20 Nov 2023 15:07:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637031.992719; Mon, 20 Nov 2023 15:07: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 1r55rc-0004sV-VV; Mon, 20 Nov 2023 15:07:04 +0000
Received: by outflank-mailman (input) for mailman id 637031;
 Mon, 20 Nov 2023 15:07: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r55rb-0004sN-5l
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 15:07:03 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 753b2297-87b6-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 16:07:01 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-32f78dcf036so3352281f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 07:07:01 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 o2-20020a05600c510200b0040a4835d2b2sm18559042wms.37.2023.11.20.07.07.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 07:07:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 753b2297-87b6-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700492821; x=1701097621; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=qYbNEj6nnd8wC2KXw22FbWZHbNjLNWL/PTFK924pEe0=;
        b=XRxQ1zgf2KNiV/zWE/QLsdMS2PY3spNEVis/kqbu5Ez9IV+CXOHXkOduLEgKIk0qfX
         I0/AaE1nwc3fb1ExaCpV+AO2DjxeGlrH7u2zGX43AP6RUhG1lGBaE38VcPYFCvgw4DG/
         j3kXTH/POA1LgLHiN6KKaG48PpduAFs+7zTII=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700492821; x=1701097621;
        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:subject:date:message-id:reply-to;
        bh=qYbNEj6nnd8wC2KXw22FbWZHbNjLNWL/PTFK924pEe0=;
        b=QdbxR/xn86Cc/trKhrHscPLPbyZ1hEcqHR1p2YiAyoyx7LyIyBSUVYy8o5FxOY3TT1
         PrT/FOXdnnuiyoitGYV7w+M89M1lwKihRWxhEySsIyJ5JNVBkkuHqrUP8Py4pYvOIq2C
         NMkugu2FLhnjYTwsBn5d6q0e3nqNm1QIQyJxBvFRBtQ9p2snOtlaBC4GSnQ+vt54WFvK
         ka8rsaFwyafwk2ovh6IlL3ApMBDGFxHtQ3HNnA+v8l3mL3weaJlqlLdVP+hKjA2Gd3vM
         cYj1ozMDilbQYNQ6mGrbVNzlA895ccWKysBiOwuUDPURdTnJppEG1scIhms92bPcwhov
         t8Aw==
X-Gm-Message-State: AOJu0Yycu5t2juL8P+hWkhkl9Vbxy1wWxz8VIdxcKL7h9GLqsHWAN5A+
	OCNEjisACaG2MzWJJSjzcExcCCoBahIM+Pb6FHw=
X-Google-Smtp-Source: AGHT+IHZGdbt+R4UWBAaTlZLOmcD6YmBCeVqIhtTu3zxvwt6CLwRA0wLsXXC3dut9jMwQTVQCgR/4w==
X-Received: by 2002:a05:6000:1445:b0:332:cb0e:73b6 with SMTP id v5-20020a056000144500b00332cb0e73b6mr1579470wrx.2.1700492821154;
        Mon, 20 Nov 2023 07:07:01 -0800 (PST)
Date: Mon, 20 Nov 2023 16:07:00 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>
Subject: Re: [PATCH v10 06/17] vpci/header: rework exit path in init_bars
Message-ID: <ZVt2FHPtfxXHzMtq@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-7-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231012220854.2736994-7-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:16PM +0000, Volodymyr Babchuk wrote:
> Introduce "fail" label in init_bars() function to have the centralized
> error return path. This is the pre-requirement for the future changes
> in this function.
> 
> This patch does not introduce functional changes.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>
> --
> In v10:
> - Added Roger's A-b tag.
> In v9:
> - New in v9
> ---
>  xen/drivers/vpci/header.c | 20 +++++++-------------
>  1 file changed, 7 insertions(+), 13 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 176fe16b9f..33db58580c 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -581,11 +581,7 @@ static int cf_check init_bars(struct pci_dev *pdev)
>              rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg,
>                                     4, &bars[i]);
>              if ( rc )
> -            {
> -                pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd);
> -                return rc;
> -            }
> -
> +                goto fail;

One nit that can be fixed at commit IMO, could you please avoid
removing the empty line between goto fail; and continue;?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 15:10:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 15:10:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637039.992728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55un-0006ev-HF; Mon, 20 Nov 2023 15:10:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637039.992728; Mon, 20 Nov 2023 15:10: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 1r55un-0006eo-EY; Mon, 20 Nov 2023 15:10:21 +0000
Received: by outflank-mailman (input) for mailman id 637039;
 Mon, 20 Nov 2023 15:10: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r55um-0006ei-98
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 15:10:20 +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 e949a97e-87b6-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 16:10:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e949a97e-87b6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700493017;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=kC7RdHcgu6U8n1RbkgbqsUC2zwXH5BRBvYDFx3KLDeA=;
  b=Vq6PY11yNxLyDbBk1QS7akt48wIeOcZHtmDCilEstY8zffKUF1OoUEPV
   8DCstNiRkSveu684XXndyBGvvOjZxqZtprzTzkhdBUDY0knS/ntF7cTHw
   VIj3CaR+UKOoNZG1lV0sVI13HA+P9FVEyCjja+09CvnGngnIIh/BPuUip
   M=;
X-CSE-ConnectionGUID: WSSa2cKdS7GG7jOciW9hCg==
X-CSE-MsgGUID: Cs/Z1UAWQSmA9ZEYytm8gg==
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128209282
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:Y3rw7Kmj+VNngUwd8IyI4QTo5gzCJkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xJMXTuFbvqLZ2SmL49+YI22oxwPscDcxoRqSwo5qy03EyMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+e6UKicfHkpGWeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5KiaVA8w5ARkPqkS5geGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 cMjEzlXZTOPvL2Z7+25beJtuZUjB8a+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dMlsQYj/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xxzI/
 DqXpTSjav0cHPeEjgjcz1uTv9TKtHLJdbMDCLjo+fE/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JyOeAn7ACGyoLP/h2UQGMDS1Zpd9gOpMIwAzsw2
 Te0c8jBXGI19ufPEDTEq+bS8mva1TUpwXEqWhQ/RFEOwNXY/64c0RDoRddcQa6egYigcd3v+
 AxmvBTSlp1K0pZTi/3qowCX6w9AsKQlWeLc2+k2Yo5GxlkgDGJdT9b0gWU3FN4ZRGpjcnGPv
 WIfh++V5/0UAJeGmUSlGbpVRO3wt6fYbmGG2jaD+qXNEBz3oxaekX14umkidC+FzO5ZEdMWX
 KMjkVwIv8ICVJdbRaR2f5iwG6wXIVvITLzYugTvRoMWOPBZLVbXlByCkGbMhwgBZmBwy/BgU
 XpaGO7wZUsn5VNPlmvrHbxFi+RymkjTBwr7HPjG8vhu6pLGDFb9dFvPGALmgjwRhE9cnDjoz
 g==
IronPort-HdrOrdr: A9a23:kdga36vwahorckdNqtHhhGj77skDctV00zEX/kB9WHVpm5qj5q
 STdZUgtSMc5wx7ZJhNo7q90cq7IE80l6Qb3WBLB8bGYOCOggLBEGgF1+bfKlbbdREWmNQw6U
 /OGZIOb+EZoTJB/KXHCKjTKadD/OW6
X-Talos-CUID: =?us-ascii?q?9a23=3AtkR1BWnb+zRn2rN5yi0PQ5jUpsHXOULm936KKGy?=
 =?us-ascii?q?0MjlGZ+KXblSRx/JkuMU7zg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AOpGYwA6tAxNoc3TDGE8vSUF4xoxD+OOcUX0krqw?=
 =?us-ascii?q?9vuDVBwFBKiuY3Du4F9o=3D?=
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="128209282"
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>, Wei Liu <wl@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH] x86/ioapic: Check 1k alignment for IO-APIC physical addresses
Date: Mon, 20 Nov 2023 15:10:06 +0000
Message-ID: <20231120151006.168773-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The MP spec requires a minimum of 1k alignment.  So too does Xen's use of a
single fixmap page to map the IO-APIC.

Reject out-of-spec values so we don't end up in a position where a bad
firmware value causes Xen to use the wrong mapping.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Wei Liu <wl@xen.org>
CC: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/arch/x86/io_apic.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
index 0ef61fb2f167..db1ea6e2f2ca 100644
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -2589,10 +2589,11 @@ static void __init ioapic_init_mappings(void)
         union IO_APIC_reg_01 reg_01;
         paddr_t ioapic_phys = mp_ioapics[i].mpc_apicaddr;
 
-        if ( !ioapic_phys )
+        if ( !ioapic_phys || (ioapic_phys & (KB(1) - 1)) )
         {
             printk(KERN_ERR
-                   "WARNING: bogus zero IO-APIC address found in MPTABLE, disabling IO/APIC support!\n");
+                   "WARNING: bogus IO-APIC address %08lx found in MPTABLE, disabling IO/APIC support!\n",
+                   ioapic_phys);
             smp_found_config = false;
             skip_ioapic_setup = true;
             break;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 15:13:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 15:13:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637046.992738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r55xm-0007fP-TR; Mon, 20 Nov 2023 15:13:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637046.992738; Mon, 20 Nov 2023 15: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 1r55xm-0007fI-Qd; Mon, 20 Nov 2023 15:13:26 +0000
Received: by outflank-mailman (input) for mailman id 637046;
 Mon, 20 Nov 2023 15:13: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=F3F/=HB=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r55xm-0007fC-0X
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 15:13:26 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20631.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 58c346e1-87b7-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 16:13:23 +0100 (CET)
Received: from DM6PR17CA0024.namprd17.prod.outlook.com (2603:10b6:5:1b3::37)
 by CY5PR12MB6227.namprd12.prod.outlook.com (2603:10b6:930:21::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Mon, 20 Nov
 2023 15:13:20 +0000
Received: from CY4PEPF0000EE3B.namprd03.prod.outlook.com
 (2603:10b6:5:1b3:cafe::10) by DM6PR17CA0024.outlook.office365.com
 (2603:10b6:5:1b3::37) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Mon, 20 Nov 2023 15:13:20 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3B.mail.protection.outlook.com (10.167.242.15) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Mon, 20 Nov 2023 15:13:19 +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.2507.34; Mon, 20 Nov
 2023 09:13:18 -0600
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.2507.32; Mon, 20 Nov
 2023 07:13:18 -0800
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Mon, 20 Nov 2023 09:13:17 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58c346e1-87b7-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jFrG1TrMd/e0kh+Sdl95eMt08tN7krfMiKlnWMjdYI5w9hayHZOsGYgrl95RBKU4hXA6Y4oVtflZPXb1ivLbaSuclkSC0R5GUEUeB9sNPSlYJoQahZoGMawoVvBWldDNwc98de6AB+ezPGJGumUf6W3h8ArHnVosnYjhkEd589pnpD/cn18iYLE2/ntFDVE2I9Z/+KGxJYxIsOGdH7F6UeW98hAHdx3JGY0zp2fcqExApAY3RjOKBrc+Pc7BiALsLP2Pq6zwcYxm/LaHTLaSvI+GdZ0V8lNrIPrMaVyHKaTcPzimPG/3oKv3oyshjwrb6DiagETX9iUQ/rr7afjrAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Z/PiRdYgrtDdEJE4tNAgZp4K4hnRT1QsFVLpTkw9TnE=;
 b=KEjYJEIRWQ5k2G5dtSKamO4NllQwnV534xuJVMAsH/dufgBwiYeWx7WzxFprTJmdiQ+A9UFQkVgVJJE73mlopxlZtRRcKu53q8geXEoq7lUaxqcI9YW+lVWDP4+/9fpt1ZVdlVQM+v1eDwkKSDWq2njGlr0ENfIrg2dVSn6uC7LK59gRQm4XdzsWW49ZwAAE0t9xg02dtu5bRjR0EjZW/mw3zavnNTd8akUXOvUwZ70F3d7pQWeS5e22W20s5R52fkQsU4m2ShRyCqiWoXJzSa8U+T/CPH7TlWX+Bttd8k4bW4K83KNKWXfqdv/5y8EhR5WeAgHNjVbi2+3OYXK0ag==
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 (0)
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=Z/PiRdYgrtDdEJE4tNAgZp4K4hnRT1QsFVLpTkw9TnE=;
 b=M5aOfXATlc3pO4nBQN2laNILqomc2GufUPnEeO2BOVGMm8IJqiYHpTxJuhNMQPabFMGNazVVLAovjyzGTHMHSCXVNpda9U1/3Uoxgs9VnhOW5SeaFED4tu1BYmYrtnY+od0h73mPBowY4TJMwBW2G2OntrdMKYeZiSztu+mCF0M=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: <sstabellini@kernel.org>, Michal Orzel <michal.orzel@amd.com>
Subject: [ImageBuilder] uboot-script-gen: use size from arm32 zImage header
Date: Mon, 20 Nov 2023 16:13:15 +0100
Message-ID: <20231120151315.92119-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3B:EE_|CY5PR12MB6227:EE_
X-MS-Office365-Filtering-Correlation-Id: 853348fe-508f-4760-30da-08dbe9db3acb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gyrMlXcS4PLMsz1HhaEEtEqIuHZt8J17YLthEk03+sd5m8FxhrXLxtp/9PHO2fAuFcQRAgCx088XmxX1J0+e76wIARayV+4gO/AyPHP6+j6BpfSJZE1TNUtG2n1DoEhV4nUWm54tBrRDMbpp2zFc+G+KCfZjtYw91afcaMAf4E91pJsX7Hx2oUjNXlEndojjzn8XFjWVu8N9S9YhG0KS9oJypWQ8DntRlIZEkfzNiew0j2NEiEnu87maqK7TtTaL+IqSRVckbL9UJX79gtj6q10r72q9a2Wsp2QpkpiPIlgIMNSDq8hr8slfnJ42zVPSsurnqU8+pQA2y8pH1PpUEigWAzYYlZRdvzTSCo8VOczW3JG+XT999rfPu70caL57qGgQE/DJQq3DKtbV7DfZWYwJr4AeegZ74wqbISvR1k7Jp9k4vAVBpBIxreTvUSzq8kY1eZzAfop9xH8KfxB6sHzuVNNqZFmqw+R53UnYrg2z/x1bhpYiWsg4dTkJdwXgkInp+zT8+WTynzWlMjYaTvm59JGdqw5nMoBnmpH46eldhPInkvPxe4orzIy5f1bWIQ418o1yF4CVuq/eo6j/r/eRdA4FHnr71gHMZNvFFpNeTeH/8S8i43YfrXc3W+WHGEXKdtLpfheRaxiTctY84YuFwgUYeWid70iJI7GMC7wuOG9c/0yTnWk1AnfJkDzFU5+h4/SfV1wXDDyr4PAq1y8usYPxqwfOy5HBdM2pxeHrHytCCf+OSKITx2dyRqXX
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:(13230031)(4636009)(136003)(39860400002)(396003)(376002)(346002)(230922051799003)(82310400011)(186009)(451199024)(64100799003)(1800799012)(46966006)(36840700001)(40470700004)(26005)(40460700003)(70586007)(1076003)(83380400001)(54906003)(316002)(6916009)(70206006)(336012)(426003)(86362001)(5660300002)(2906002)(36860700001)(47076005)(478600001)(36756003)(44832011)(82740400003)(356005)(81166007)(41300700001)(2616005)(40480700001)(8676002)(4326008)(8936002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 15:13:19.5467
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 853348fe-508f-4760-30da-08dbe9db3acb
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:
	CY4PEPF0000EE3B.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6227

Take an example from commit 8bf401c99035 ("uboot-script-gen: use size from
arm64 Image header") and add support for calculating the effective image
size from arm32 zImage header.

Introduce get_image_size() function and use it to to probe the supported
header magic values and to retrieve the effective image size. Use this
value in add_size(), whenever it's bigger than the one obtained using
'stat -L'.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
This patch together with 'bootz' support will allow us to enable testing Xen
on arm{32,64} in gitlab CI with UBSAN enabled.
---
 scripts/uboot-script-gen | 38 ++++++++++++++++++++++++++++----------
 1 file changed, 28 insertions(+), 10 deletions(-)

diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index 9e3d86e4743a..078a667c61ab 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -431,23 +431,41 @@ function device_tree_editing()
     fi
 }
 
-function add_size()
+# Read effective image size from a header, which may be larger than the filesize
+# due to noload sections, e.g. bss.
+function get_image_size()
 {
-    local filename=$1
-    local size=`stat -L --printf="%s" $filename`
+    local image=$1
+    local effective_size=0
     # Read arm64 header magic (https://www.kernel.org/doc/Documentation/arm64/booting.txt)
-    local arm64_header_magic=$(od -j 56 -N 4 -t x4 ${filename} | awk 'NR==1 {print $2}')
+    local arm64_header_magic=$(od -j 56 -N 4 -t x4 ${image} | awk 'NR==1 {print $2}')
+    # Read arm32 header magic (http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html)
+    local arm32_header_magic=$(od -j 36 -N 4 -t x4 ${image} | awk 'NR==1 {print $2}')
 
     # Check for valid arm64 header magic value 0x644d5241
     if [ "${arm64_header_magic}" = "644d5241" ]
     then
-        # Read effective size, which may be larger than the filesize due to noload sections, e.g. bss
-        local arm64_header_size=$(od -j 16 -N 8 -t u8 ${filename} | awk 'NR==1 {print $2}')
+        effective_size=$(od -j 16 -N 8 -t u8 ${image} | awk 'NR==1 {print $2}')
+    # Check for valid arm32 header magic value 0x016f2818
+    elif [ "${arm32_header_magic}" = "016f2818" ]
+    then
+        local start=$(od -j 40 -N 4 -t u4 ${image} | awk 'NR==1 {print $2}')
+        local end=$(od -j 44 -N 4 -t u4 ${image} | awk 'NR==1 {print $2}')
+        effective_size=$(( end - start ))
+    fi
 
-        if [ "${arm64_header_size}" -gt "${size}" ]
-        then
-            size=${arm64_header_size}
-        fi
+    printf "%u" $effective_size
+}
+
+function add_size()
+{
+    local filename=$1
+    local size=`stat -L --printf="%s" $filename`
+    local image_size=`get_image_size $filename`
+
+    if [ "${image_size}" -gt "${size}" ]
+    then
+        size=${image_size}
     fi
 
     memaddr=$(( $memaddr + $size + $offset - 1))
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 15:49:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 15:49:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637062.992748 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r56Wy-00010s-MV; Mon, 20 Nov 2023 15:49:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637062.992748; Mon, 20 Nov 2023 15: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 1r56Wy-00010j-K2; Mon, 20 Nov 2023 15:49:48 +0000
Received: by outflank-mailman (input) for mailman id 637062;
 Mon, 20 Nov 2023 15:49: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=KKU3=HB=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r56Wx-00010b-Kr
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 15:49:47 +0000
Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com
 [2a00:1450:4864:20::52b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c392da7-87bc-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 16:49:43 +0100 (CET)
Received: by mail-ed1-x52b.google.com with SMTP id
 4fb4d7f45d1cf-54553e4888bso6275714a12.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 07:49:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c392da7-87bc-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700495383; x=1701100183; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iJCeHYF2Uzczd8KumTZgdj4yK5tz2hxjsQizCJwXMhY=;
        b=DMMi5R4AFtLXYdCvDJ7C8F6E0W4KPdLZYQnYQidaV5Tnr35w2xmMxU2alYU35Eiv0s
         ASX1kLQlLWYVUapYqDuVwQdZAtOnbKXnJfwUyBZHsSSnl8fRUdwTxoG9+oxwPPwAiWMC
         1zLACa7vzetvmFANEsPIx90q24MMB8X+sNuviMS+x1dibz7eFRXqx/R3zFnMNJUKYC0z
         MHYjUKIxlZkeeHN8JXDZLVy+lgtFIOac/CMl7WDYzTXJe7C8pJu2yDmtDJUkKubLocMh
         +6e046coTqwfA2hgi4Yb8ThS93p7fzvTiTq3Dsa++M1GxQtRyPYIKbtn+i9XMTSa6NDW
         QgBA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700495383; x=1701100183;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iJCeHYF2Uzczd8KumTZgdj4yK5tz2hxjsQizCJwXMhY=;
        b=VE16NClLj5YtDtZpMFeFDbwGeDy39LA+j/qwYulbLD0liGbvlpw0ikgTTW0CuiOXBi
         aD/A3q/J8/IwVvfx7MA0t87ezUp48essHe46bEYGVCvnIqbNoSpFGSJL/I8toLCySbXg
         Neze8H8tl3ECwCv98T826mjSAekWK2W+arEdZ9ejtSy5FCbDbixrxNLXCkLlv1DWWLpO
         dnQPGXK9oUFFdKM6Y814MvAx/t29gtAlMIp8Tr+XrqF8otGa3i1iDqK60O6/jrzr2LG5
         8SWqrAXSlG3U+cNv8ypBahjUIsA6rutu7meJ2Y4OmfEXUV5nh5UUYukfRsxy7AfWvxzA
         ENWQ==
X-Gm-Message-State: AOJu0YyYOdpk0BsfsL1evX32evWo4ca0RJ4zZgFL3NvmUzKE5celmSLr
	mn/RP1owjueDNOfWCVNdflzJTUNyMNKcqYLWYV8=
X-Google-Smtp-Source: AGHT+IHXeRMerO0akX9519U+wBVy3YIZ5ebWXrHI8l38/RXZW5uHW2ioqCrkYCu3iT1D0Q3dQOG7dAokY73QHCCvNnU=
X-Received: by 2002:a05:6402:26d4:b0:548:7a3a:ef39 with SMTP id
 x20-20020a05640226d400b005487a3aef39mr5538906edd.35.1700495382820; Mon, 20
 Nov 2023 07:49:42 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-4-jgross@suse.com>
In-Reply-To: <20231110160804.29021-4-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 20 Nov 2023 10:49:30 -0500
Message-ID: <CAKf6xpvb33Om8pQp-iv92r3LFU50Rn1yBiMbJ4R1eufVyx=Tag@mail.gmail.com>
Subject: Re: [PATCH v2 03/29] tools/xenlogd: connect to frontend
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 1:04=E2=80=AFPM Juergen Gross <jgross@suse.com> wro=
te:
>
> Add the code for connecting to frontends to xenlogd.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

> diff --git a/tools/xen-9pfsd/xen-9pfsd.c b/tools/xen-9pfsd/xen-9pfsd.c
> index c365b35fe5..cc5734402d 100644
> --- a/tools/xen-9pfsd/xen-9pfsd.c
> +++ b/tools/xen-9pfsd/xen-9pfsd.c

>
> +static int check_host_path(device *device)
> +{
> +    struct stat statbuf;
> +    char *path, *p;
> +    int ret =3D 1;
> +
> +    if ( !device->host_path )
> +        return 1;
> +
> +    if ( device->host_path[0] !=3D '/' )
> +        return 1;
> +

>From v1, you stated for alloc_fid_mem(device, fid, path):
> No, "path" is always starting with a "/" if it is not empty.

And then
snprintf(fidp->path, pathlen, "%s%s", device->host_path, path);

While alloc_fid_mem() uses "%s%s"

And p9_create() uses "%s/%s"

p9_walk does:
const char *rel_path =3D path + strlen(device->host_path)
...
alloc_fid_mem(device, fid, rel_path);

So host_path is expected not to have a tailing '/' to ensure that
rel_path starts with a '/'.  So you want to error out for a trailing
'/' (or overwrite with '\0')?

It seems like alloc_fid_mem() should also check to ensure path is "'/'
if it is not empty".

This is all subtle and security relevant, so it's important to get
this right.  A code comment explaining the expectation of paths for
host_path vs. fids would be good.

Also, maybe using openat() would be a better approach?  Create the
dirfd pointing at the 9pfs export and then use relative paths for the
paths inside.  This would cut down on the manual path manipulations.

> +    path =3D strdup(device->host_path);
> +    if ( !path )
> +    {
> +        syslog(LOG_CRIT, "memory allocation failure!");
> +        return 1;
> +    }
> +
> +    for ( p =3D path; p; )
> +    {
> +        p =3D strchr(p + 1, '/');
> +        if ( p )
> +            *p =3D 0;
> +        if ( !stat(path, &statbuf) )
> +        {
> +            if ( !(statbuf.st_mode & S_IFDIR) )
> +                break;
> +            if ( !p )
> +            {
> +                ret =3D 0;
> +                break;
> +            }
> +            *p =3D '/';
> +            continue;
> +        }
> +        if ( mkdir(path, 0777) )
> +            break;
> +        if ( p )
> +            *p =3D '/';
> +    }
> +
> +    free(path);
> +    return ret;
> +}
> +

> +
> +static int write_backend_node(device *device, const char *node, const ch=
ar *val)
> +{
> +    struct path p;
> +    struct xs_permissions perms[2] =3D {
> +        { .id =3D 0, .perms =3D XS_PERM_NONE },

This hard codes dom0.  If xs_permissions supported DOMID_SELF, it
wouldn't need to be looked up.

> +        { .id =3D device->domid, .perms =3D XS_PERM_READ }
> +    };
> +
> +    construct_backend_path(device, node, &p);
> +    if ( !xs_write(xs, XBT_NULL, p.path, val, strlen(val)) )
> +    {
> +        syslog(LOG_ERR, "error writing bac=E1=B8=B1end node \"%s\" for d=
evice %u/%u",
> +               node, device->domid, device->devid);
> +        return 1;
> +    }
> +
> +    if ( !xs_set_permissions(xs, XBT_NULL, p.path, perms, 2) )
> +    {
> +        syslog(LOG_ERR, "error setting permissions for \"%s\"", p.path);
> +        return 1;
> +    }
> +
> +    return 0;
> +}
> +

> +
> +static void connect_device(device *device)
> +{
> +    unsigned int val;
> +    unsigned int ring_idx;
> +    char node[20];
> +    struct ring *ring;
> +    xenevtchn_port_or_error_t evtchn;
> +
> +    val =3D read_frontend_node_uint(device, "version", 0);
> +    if ( val !=3D 1 )
> +        return connect_err(device, "frontend specifies illegal version")=
;
> +    device->num_rings =3D read_frontend_node_uint(device, "num-rings", 0=
);
> +    if ( device->num_rings < 1 || device->num_rings > MAX_RINGS )
> +        return connect_err(device, "frontend specifies illegal ring numb=
er");
> +
> +    for ( ring_idx =3D 0; ring_idx < device->num_rings; ring_idx++ )
> +    {
> +        ring =3D calloc(1, sizeof(*ring));
> +        if ( !ring )
> +            return connect_err(device, "could not allocate ring memory")=
;
> +        device->ring[ring_idx] =3D ring;
> +        ring->device =3D device;
> +        pthread_cond_init(&ring->cond, NULL);
> +        pthread_mutex_init(&ring->mutex, NULL);
> +
> +

extra blank line.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:00:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:00:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637065.992759 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r56ha-0005UC-Kc; Mon, 20 Nov 2023 16:00:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637065.992759; Mon, 20 Nov 2023 16: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 1r56ha-0005U5-Gs; Mon, 20 Nov 2023 16:00:46 +0000
Received: by outflank-mailman (input) for mailman id 637065;
 Mon, 20 Nov 2023 16:00: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r56hY-0005Tz-JE
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:00:44 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4b0380e-87bd-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 17:00:42 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7932.eurprd04.prod.outlook.com (2603:10a6:10:1ef::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 16:00:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 16:00: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: f4b0380e-87bd-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RlYJSj8QRMtfhheLleeBhQ15OqIb3AlrVrSJj/De+gcdw+8ItE59njfH7HmBMNWPMfCbULlPnQi2gZHQu/kkaYK2I+aAuTVMy4ivo7BJToeXZc3GoL7W/G47fTGb6LmnoK3auiF3gRIfbfL1Y7vMDL82uYPLyO764ii5GZcjtvQxNVFUtYExYwvb0oTsQGVRNo5u4sGndxuZ/4BXErr2GEOPWc06BVefIslNKNEgfLc9cDSj3B/X5+rFulPzOyXjtRykzIuWCSSNJBaGuGNuFoH2U5o6VcdPHRSwy5smsyEVEdXOupMJTFmT6SL/KnqyuIJ1IeDNwCgND1Fml4+HYg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AWVynRCxE0108kaL/b4WuFgrrnpWuzoAnweAuT5eefo=;
 b=OPJ6ZD5mnzVo8u/09nIjKrhcxpr03FJsz3vFZ7PAyEhtqemnUVsx7AbI2H0Dk21T8U3Wd/Ox71FL7R3CzjaKflwUY4TF7XXAwWuUF2/N3pFRIiykVAiVmp9xWakBTLqo60I/q5si1EZgeu+dHQu7DB88UzmD9GCde2bcwQja1Lz8/MfuYo1qJYMeXSu2l4S0Zm6yMKVjw+EX1pLDcRe/sLnycGgsCn1xLHn8lIUXnBYxyOE2cMa5LDLkUmIbut6zIFYGnxt7MNhrgNBlBtAEaJHZOxHU7l6tumH4nKO1p6pFkOuWTuECKtKMZJTagh/WTzYPtqLxvJeITfb2IkUiQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AWVynRCxE0108kaL/b4WuFgrrnpWuzoAnweAuT5eefo=;
 b=jpqw+7hb01s10OxNTrN5Q+ushgU+DqcqvVEtzNIUeVtcuSElqu+jQD4+yQyTtHp0pkCHWuRyAnUTFe6D2s4G4mwspFyBCzzYFaihNud1Qxb/sf7DK8c+zz9k1lZThHqNGBhxzonU3VEREOzTss+NfAM3jln7yqBZcsDrYRDcbNHK+xvGKrzSwIBR0o89MMUg6/XNJ3QDQkZdhERMrlx6DHS4HFS53uh0dmtnnCeZAgc46cQKAXGoNezZ5iNUfJ1n1UYEuKe69ASv0jfkPMgQp+5odFNXcAJ6URzuo21t039R12MN7BQ4r+qgYJJ7I6W4TjCW+MGGASLGiWlGTTkhGw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <51010cec-596a-4249-82dc-ac711c3962c3@suse.com>
Date: Mon, 20 Nov 2023 17:00:36 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/5] xen/sort: address violations of MISRA C:2012 Rule
 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700209834.git.federico.serafini@bugseng.com>
 <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
 <19d887e6-8c07-43f3-a2de-88ce0a0c99ba@suse.com>
 <b481a966-4f29-4b05-8246-d3f1eec19d0c@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b481a966-4f29-4b05-8246-d3f1eec19d0c@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0094.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7932:EE_
X-MS-Office365-Filtering-Correlation-Id: f72eaec8-8991-47d6-66c1-08dbe9e1d6ff
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6vPMtKpN9ctjv6wPWX4JsK25924CXAZPoBfnCCMKp1MGc6T5UmHraSjMdnKiGvFKLFIfcqWvGvQ3tZyTu5L/RSL+J1qB6NOS4jbd7FF2SFBFc6+yCKVa8GMvG1TcBTKtvKubjHlecUQXjuTd+xIY00oYOWGq/dCZKpIcnbrRRSrMLUQKfO6HkGXBx8HYyL6y5uMpWx5L0xLV638XKqR0JWehGWWN5JFoQSkjO5WI4j/8twUv6+qKj3Lgnh15xuQlhiKGpKJylzSccSCZcn01A6Tq4KfJsArgVWMDfNVB9pIolLFbUN9XzGrddLxy9BfF/TJSK+CMKUEFuXK3ATBJR65elJkRFlEeZZpF0B9syzQSOqPqzLgqwMXr0QJ60hN3b2kEFnhc/LQS0V6ukHnZfbeWRWatfLqj6QNHFs6OMMMq/94d1wTVPE/yRnpBmKlIISGHYrNsmQIAlmi/YP8GIQUZc4SAAXkO8Cw0xuY2L76yg6teTjMvebI6L1QoFYUgWRFIs2jVQPdra5b6bn8XyZd9p1sKf67PfbDVuBkDGZkoFHmxVFiSYktiUgMf6jV9Ys1jGAW0aK5Fdd8nucI3Xhp2Gd3FYvYkyeSkN2nnLCOXcj02pYlYttsvEWZ8TKk3uOJUKj0fPsdc9M5KE0ONfw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(346002)(366004)(376002)(396003)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(66946007)(66556008)(316002)(6916009)(66476007)(54906003)(26005)(8936002)(4326008)(8676002)(36756003)(38100700002)(41300700001)(31696002)(86362001)(2906002)(5660300002)(6486002)(478600001)(6512007)(31686004)(6666004)(53546011)(6506007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkNLZHMrUUNQS1lWTUJ0U3lObERaaG5TU0VEUzVGTHdqenAxcmRWSEIwU3Jq?=
 =?utf-8?B?VThQMjExeXNWb2phbmZUSzNxL0VDeW94aVgzNkpTVXlEVisyci9saGsxOHk4?=
 =?utf-8?B?bHIxcWxHY0ZYSGIrUEJKczJiNGNZSVZVOEl5RitndEtiZHhjRDEwSGxqdy9I?=
 =?utf-8?B?NllESEIraitFa1ZiNlBTdUNxQkxROEdQc1dSRUkyRXV3QWtJeXFBczVEaWpl?=
 =?utf-8?B?TEFlaE1SYUYrME9kRkdwUEpiVmd5dzh0T2hqRnMvQTR1bEM5Z1U2eE9zejdN?=
 =?utf-8?B?QTdMOEpkMlc3ajVXeWwvS3ZWa3h6eXI2Sk14S084MC94SWNXakpndWQzbXNY?=
 =?utf-8?B?WFdUOExud2ZqUUN0RzYzd1Y2NHBCbGlXcURnczlxeGt5QkdZNEk3dmI1VHNv?=
 =?utf-8?B?TDlXYWlYMFZ0UDU3Rlp0SDNFQlpGK3ArSmt6OGdHemNJa0NaZTFiZTRPOXFn?=
 =?utf-8?B?MDdBT21VZnJidmpMaEJHY1psSUl1TjdrZVNHQStUYzIvM3NNMCtEck9seWov?=
 =?utf-8?B?UWwwVW1rQVFhK1dYaWVWdU5MZ01zZW5xaEo2OEh3VUQxMG1BeEVJMUoyU2I2?=
 =?utf-8?B?T204blpoNlJ2SC82TWUvNzRVTm5zNGJ2bmdFTUtBNW93THVVWG51bWJzSUsx?=
 =?utf-8?B?Q3A2QlpyL0g1Q2t3SkVXWTkxY3JMMy9ueVR6S2tCcUhqaEhueVZKQ0s0WDk2?=
 =?utf-8?B?aEVrM3dLTldFaWF0VDlPZHZaUy9NNFpMUTBCcSt1K1U5RHlyWDM3SDAzYXBI?=
 =?utf-8?B?THJ2N2o1MkEzanBLYWpWekRUbWZWK2RDY0pVU3o1VUlMTjJhUXl1V2RUem10?=
 =?utf-8?B?T3lkcXV2UC9ib2Y4OHVsb1VOL0ZSUWxOaDRSZVg1VnRlVTBkamt3cTdNbjZt?=
 =?utf-8?B?cFljRWl3VjBsZmlWTkliaS90eDRBei9jT2h3ZUxkWTNUcCt3bmVOTDFtOTlZ?=
 =?utf-8?B?MXVTVVkwczBkR0JCWlVJVjJYU01hTlZxeWk2Z0Z3VEtyRXBXeWIvNlZPdFBu?=
 =?utf-8?B?R2JkQjlWaVJGYUxITFgyUTMwL0Zqd2ZFbUYrb2ZkL21QZXBldkNLc1kvSis1?=
 =?utf-8?B?L0JVdXJEeWwwZ0hZQ09zWnJHVHlVYUd0YW40QzZKNDlsRXZndWhiUnpZcUpl?=
 =?utf-8?B?QnNWdjJDa29nQllZRXJIa2FsbXcrOXhUWFQ3VVU2TGhxKzZYUGpvTDRHQ1lo?=
 =?utf-8?B?cm0xeENtQTJiNXNyNVc0dXR6ZmRZV1kvRE1aazJ3VGEzVm9RSGRGZWRpK3RC?=
 =?utf-8?B?a01ScHRiQTgveitZM2h3MWlSYkpRSnIwVENFVWxiUFc3Mm9YNWlseGlHZzBy?=
 =?utf-8?B?MkhCTjlFNTArU21Fd2ZycmZqK2NrelkxZnZ5dUhqNm5YdC85Q1ZtaVJkVDkv?=
 =?utf-8?B?dDZqMCtQY2ZPdTQwWnJTODNVRzNxZ3Y5M2FrZHJTN1FyalRzWHV0WnVwUlBU?=
 =?utf-8?B?b2FkbFNISnBrUmcxV0xmZ0lNQm45clNVdnhKTVIyb3IyY3dhbm5UdkRiMTQ0?=
 =?utf-8?B?dURwTGtTZFQxeG0rTzkzamhyK2Z6N2QwWktHcC9wZURqVjlaTVRHVitSYXVr?=
 =?utf-8?B?a1dhZGVFYmpXTXluYi9NZ3JyK2JGRGpZODBYWkpMT3R6SDV5WnQyZFdjenFw?=
 =?utf-8?B?ZHdaSUVCUUUyYlk0Mm9WNis4U0puVTB5cVgxaWQwM3IvQUN5M25kL2dCdmZw?=
 =?utf-8?B?K1czQWV4ZFZyVS9BbkpycUtNSGhZUm9OL2wvS3I1SXQzZTdjVnBOcUYwbVRi?=
 =?utf-8?B?MzdmQ0JJcHZ2a3RSMXFRVEJyTXF4NlhKYk9yMUlWckMyK3d6YWtOMmpLdTVl?=
 =?utf-8?B?M215bklCZ0g5ZjV5emdMTzNiWFFReGJFMlArVWFUMzc4aFlSOHNSV1VSMG43?=
 =?utf-8?B?QlpLekovTktVVGllNmpNY1ZxdG1DWkw5VUlPVGkzOTczdmQ4RVMvaFZTK0xR?=
 =?utf-8?B?d3N0cUtSd0w3QWRvcnF2c09TNXRSdFR3TnU5ZHNwTFZFSFpTMU0yV2VoT0o5?=
 =?utf-8?B?ckI0MjUxL3YvNWlZTVl3bThRSHRIeUdnM1pmTDRMaWJDbnVZZk45cXpYTHFN?=
 =?utf-8?B?MmtxK2pZQzNyZ0NuaGYrL01wVm9RVkVRUG5aVVg0MGZLcmxMRnJURHFBOU92?=
 =?utf-8?Q?5ya4+R80bAUCqawxKsgCdEGsv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f72eaec8-8991-47d6-66c1-08dbe9e1d6ff
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 16:00:39.0254
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tDkpn1BjkV8njtDvTrKenlgji4aXJGNT/odrDnPT8/3+3Mg7QrKqRopCju8p8eFf30g1Yyp8raZSgnW7AnBzUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7932

On 20.11.2023 14:13, Federico Serafini wrote:
> On 20/11/23 10:02, Jan Beulich wrote:
>> On 17.11.2023 09:40, Federico Serafini wrote:
>>> --- a/xen/include/xen/sort.h
>>> +++ b/xen/include/xen/sort.h
>>> @@ -23,8 +23,8 @@
>>>   extern gnu_inline
>>>   #endif
>>>   void sort(void *base, size_t num, size_t size,
>>> -          int (*cmp)(const void *, const void *),
>>> -          void (*swap)(void *, void *, size_t))
>>> +          int (*cmp)(const void *key, const void *elem),
>>
>> Why "key" and "elem" here, but ...
>>
>>> +          void (*swap)(void *a, void *b, size_t size))
>>
>> ... "a" and "b" here? The first example of users of sort() that I'm
>> looking at right now (x86/extable.c) is consistent in its naming.
>>
> 
> On the Arm side there are {cmp,swap}_memory_node() and
> {cmp,swap}_mmio_handler(): "key"/"elem" are used for the comparison
> and "_a"/"_b" for the swap.

So - re-raising a question Stefano did raise - is Misra concerned about
such discrepancies? If yes, _all_ instances need harmonizing. If not, I
see no reason to go with misleading names here.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:06:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637069.992768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r56mx-0006ki-7P; Mon, 20 Nov 2023 16:06:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637069.992768; Mon, 20 Nov 2023 16: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 1r56mx-0006kb-4C; Mon, 20 Nov 2023 16:06:19 +0000
Received: by outflank-mailman (input) for mailman id 637069;
 Mon, 20 Nov 2023 16:06: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r56mw-0006kV-31
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:06:18 +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 bc5e215f-87be-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 17:06:16 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-507f1c29f25so6044752e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 08:06:16 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 az30-20020adfe19e000000b00332c36b6563sm5496221wrb.101.2023.11.20.08.06.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 08:06:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc5e215f-87be-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700496376; x=1701101176; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=IdwP2KnwV3r+qdjUG+P5rZTetHQuycAJTio1w6dKjLI=;
        b=T1J7OzaUYyBwZO025cDvo8zA9CHKzyf3LJ/pafXO4XSosodqWm2ETKSG6RcGlUfH3/
         ESfYZQyA7TIyQzaDj28hmQRakqqxURjyj540o4bud5QCCv9O2oCrjxkAZLfKJmgCMuGj
         AdnKe9KvR987l1eE1e/sYcNF1gif7aPf1C+B4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700496376; x=1701101176;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IdwP2KnwV3r+qdjUG+P5rZTetHQuycAJTio1w6dKjLI=;
        b=sAwhj9+UcNN4KN2g8LeAqjEVyQuPz+LC6AgqRD5wyiOc84ea/7XI1t6kIUk0a4Z7zW
         /250Qsb92MW5xTZvDGB3DYVcy7QJbzBTg2FZyFkeD8SqQhhL8U79xvxKhdqP7Vd2+MDj
         c7H6FIplDhAsF11pk0GJeP4S91/XSDBlx1kjtynpHrmGrbgKLVk3AALDATu47tvM32e7
         EnzSTQDMhEOvhyhLq8xBowmos6Q47Q5vw0+Mzr9rr1Lqml87cm8ok10/yPg9XrEKwacg
         DNR90DJUV6d8EbkEzBg+fp+i/56MDt8d8yf29KYiYwz4tYDHDnzDJEweIEj/dvIB30/r
         je3g==
X-Gm-Message-State: AOJu0YyWsSXUxX9WNS5jmLmaXzPI9HQzALuKxrNg7jhp5b0amwyjeMqT
	oZ2JMQHS5KFbKf8f+TQnb2H+Eg==
X-Google-Smtp-Source: AGHT+IH5EhfS6lOKW17ESUTlI0600QtjBJ9924vu0cwA+8cEUm2CRxoJlhLdlCqFaro34NW0dgmQ6g==
X-Received: by 2002:a05:6512:b11:b0:509:3806:b80 with SMTP id w17-20020a0565120b1100b0050938060b80mr7335878lfu.53.1700496376308;
        Mon, 20 Nov 2023 08:06:16 -0800 (PST)
Date: Mon, 20 Nov 2023 17:06:15 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v10 07/17] vpci/header: implement guest BAR register
 handlers
Message-ID: <ZVuD9wJuqxhL_XOk@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-8-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231012220854.2736994-8-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:16PM +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Add relevant vpci register handlers when assigning PCI device to a domain
> and remove those when de-assigning. This allows having different
> handlers for different domains, e.g. hwdom and other guests.
> 
> Emulate guest BAR register values: this allows creating a guest view
> of the registers and emulates size and properties probe as it is done
> during PCI device enumeration by the guest.
> 
> All empty, IO and ROM BARs for guests are emulated by returning 0 on
> reads and ignoring writes: this BARs are special with this respect as
> their lower bits have special meaning, so returning default ~0 on read
> may confuse guest OS.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> In v10:
> - ull -> ULL to be MISRA-compatbile
> - Use PAGE_OFFSET() instead of combining with ~PAGE_MASK
> - Set type of empty bars to VPCI_BAR_EMPTY
> In v9:
> - factored-out "fail" label introduction in init_bars()
> - replaced #ifdef CONFIG_X86 with IS_ENABLED()
> - do not pass bars[i] to empty_bar_read() handler
> - store guest's BAR address instead of guests BAR register view
> Since v6:
> - unify the writing of the PCI_COMMAND register on the
>   error path into a label
> - do not introduce bar_ignore_access helper and open code
> - s/guest_bar_ignore_read/empty_bar_read
> - update error message in guest_bar_write
> - only setup empty_bar_read for IO if !x86
> Since v5:
> - make sure that the guest set address has the same page offset
>   as the physical address on the host
> - remove guest_rom_{read|write} as those just implement the default
>   behaviour of the registers not being handled
> - adjusted comment for struct vpci.addr field
> - add guest handlers for BARs which are not handled and will otherwise
>   return ~0 on read and ignore writes. The BARs are special with this
>   respect as their lower bits have special meaning, so returning ~0
>   doesn't seem to be right
> Since v4:
> - updated commit message
> - s/guest_addr/guest_reg
> Since v3:
> - squashed two patches: dynamic add/remove handlers and guest BAR
>   handler implementation
> - fix guest BAR read of the high part of a 64bit BAR (Roger)
> - add error handling to vpci_assign_device
> - s/dom%pd/%pd
> - blank line before return
> Since v2:
> - remove unneeded ifdefs for CONFIG_HAS_VPCI_GUEST_SUPPORT as more code
>   has been eliminated from being built on x86
> Since v1:
>  - constify struct pci_dev where possible
>  - do not open code is_system_domain()
>  - simplify some code3. simplify
>  - use gdprintk + error code instead of gprintk
>  - gate vpci_bar_{add|remove}_handlers with CONFIG_HAS_VPCI_GUEST_SUPPORT,
>    so these do not get compiled for x86
>  - removed unneeded is_system_domain check
>  - re-work guest read/write to be much simpler and do more work on write
>    than read which is expected to be called more frequently
>  - removed one too obvious comment
> ---
>  xen/drivers/vpci/header.c | 137 +++++++++++++++++++++++++++++++++-----
>  xen/include/xen/vpci.h    |   3 +
>  2 files changed, 123 insertions(+), 17 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 33db58580c..40d1a07ada 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -477,6 +477,74 @@ static void cf_check bar_write(
>      pci_conf_write32(pdev->sbdf, reg, val);
>  }
>  
> +static void cf_check guest_bar_write(const struct pci_dev *pdev,
> +                                     unsigned int reg, uint32_t val, void *data)

In case we want to add handlers for IO BARs in the future, might be
better to name this guest_mem_bar_write() (or some similar name that
makes it clear applies to the memory BARs only).

> +{
> +    struct vpci_bar *bar = data;
> +    bool hi = false;
> +    uint64_t guest_addr = bar->guest_addr;
> +
> +    if ( bar->type == VPCI_BAR_MEM64_HI )
> +    {
> +        ASSERT(reg > PCI_BASE_ADDRESS_0);
> +        bar--;
> +        hi = true;
> +    }
> +    else
> +    {
> +        val &= PCI_BASE_ADDRESS_MEM_MASK;
> +    }

Shouldn't writes to the BAR be refused when bar->enabled is set?
Otherwise the bar->guest_addr address would get out of sync with the
mappings created on the p2m, and memory decoding disabling (BAR
unmapping) won't work as expected.

> +
> +    guest_addr &= ~(0xffffffffULL << (hi ? 32 : 0));
> +    guest_addr |= (uint64_t)val << (hi ? 32 : 0);
> +
> +    /* Allow guest to size BAR correctly */
> +    guest_addr &= ~(bar->size - 1);
> +
> +    /*
> +     * Make sure that the guest set address has the same page offset
> +     * as the physical address on the host or otherwise things won't work as
> +     * expected.
> +     */
> +    if ( guest_addr != ~(bar->size -1 )  &&
                                      ^ nit: missing space
> +         PAGE_OFFSET(guest_addr) != PAGE_OFFSET(bar->addr) )
> +    {
> +        gprintk(XENLOG_WARNING,
> +                "%pp: ignored BAR %zu write attempting to change page offset\n",
> +                &pdev->sbdf, bar - pdev->vpci->header.bars + hi);
> +        return;

I think this will trigger on valid sizing attempts if the guest writes
the low part of the address before having updated the high one first
in case of 64bit BARs?

Reading the PCI Local Bus Spec 3.0 I don't see any restriction in
which the write of ~0 should be performed in order to size the BARs
(see the Implementation Note in section 6.2.5.1.)

So I think wrong offset can only be detected when the BAR map is
attempted to be established in the p2m, in modify_bars().

> +    }
> +
> +    bar->guest_addr = guest_addr;
> +}
> +
> +static uint32_t cf_check guest_bar_read(const struct pci_dev *pdev,
> +                                        unsigned int reg, void *data)
> +{
> +    const struct vpci_bar *bar = data;
> +    uint32_t reg_val;
> +
> +    if ( bar->type == VPCI_BAR_MEM64_HI )
> +    {
> +        ASSERT(reg > PCI_BASE_ADDRESS_0);
> +        bar--;
> +        return bar->guest_addr >> 32;
> +    }
> +
> +    reg_val = bar->guest_addr;
> +    reg_val |= bar->type == VPCI_BAR_MEM32 ? PCI_BASE_ADDRESS_MEM_TYPE_32 :
> +                                             PCI_BASE_ADDRESS_MEM_TYPE_64;
> +    reg_val |= bar->prefetchable ? PCI_BASE_ADDRESS_MEM_PREFETCH : 0;
> +
> +    return reg_val;
> +}
> +
> +static uint32_t cf_check empty_bar_read(const struct pci_dev *pdev,
> +                                        unsigned int reg, void *data)
> +{
> +    return 0;
> +}
> +
>  static void cf_check rom_write(
>      const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
>  {
> @@ -537,6 +605,7 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      struct vpci_header *header = &pdev->vpci->header;
>      struct vpci_bar *bars = header->bars;
>      int rc;
> +    bool is_hwdom = is_hardware_domain(pdev->domain);
>  
>      ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
>  
> @@ -578,8 +647,10 @@ static int cf_check init_bars(struct pci_dev *pdev)
>          if ( i && bars[i - 1].type == VPCI_BAR_MEM64_LO )
>          {
>              bars[i].type = VPCI_BAR_MEM64_HI;
> -            rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg,
> -                                   4, &bars[i]);
> +            rc = vpci_add_register(pdev->vpci,
> +                                   is_hwdom ? vpci_hw_read32 : guest_bar_read,
> +                                   is_hwdom ? bar_write : guest_bar_write,
> +                                   reg, 4, &bars[i]);
>              if ( rc )
>                  goto fail;
>              continue;
> @@ -588,7 +659,17 @@ static int cf_check init_bars(struct pci_dev *pdev)
>          val = pci_conf_read32(pdev->sbdf, reg);
>          if ( (val & PCI_BASE_ADDRESS_SPACE) == PCI_BASE_ADDRESS_SPACE_IO )
>          {
> -            bars[i].type = VPCI_BAR_IO;

Why are you removing this assignment?

This would leave the BAR with type VPCI_BAR_EMPTY on x86, which I
don't think will cause issues right now, but it's not correct either.

> +            if ( !IS_ENABLED(CONFIG_X86) && !is_hwdom )
> +            {
> +                rc = vpci_add_register(pdev->vpci, empty_bar_read, NULL,
> +                                       reg, 4, NULL);
> +                if ( rc )
> +                {
> +                    bars[i].type = VPCI_BAR_EMPTY;
> +                    goto fail;

I'm confused as to why it matters setting the BAR type for the failure
path.

> +                }
> +            }
> +
>              continue;
>          }
>          if ( (val & PCI_BASE_ADDRESS_MEM_TYPE_MASK) ==
> @@ -605,6 +686,15 @@ static int cf_check init_bars(struct pci_dev *pdev)
>          if ( size == 0 )
>          {
>              bars[i].type = VPCI_BAR_EMPTY;
> +
> +            if ( !is_hwdom )
> +            {
> +                rc = vpci_add_register(pdev->vpci, empty_bar_read, NULL,
> +                                       reg, 4, NULL);
> +                if ( rc )
> +                    goto fail;
> +            }
> +
>              continue;
>          }
>  
> @@ -612,28 +702,41 @@ static int cf_check init_bars(struct pci_dev *pdev)
>          bars[i].size = size;
>          bars[i].prefetchable = val & PCI_BASE_ADDRESS_MEM_PREFETCH;
>  
> -        rc = vpci_add_register(pdev->vpci, vpci_hw_read32, bar_write, reg, 4,
> -                               &bars[i]);
> +        rc = vpci_add_register(pdev->vpci,
> +                               is_hwdom ? vpci_hw_read32 : guest_bar_read,
> +                               is_hwdom ? bar_write : guest_bar_write,
> +                               reg, 4, &bars[i]);
>          if ( rc )
>              goto fail;
>      }
>  
> -    /* Check expansion ROM. */
> -    rc = pci_size_mem_bar(pdev->sbdf, rom_reg, &addr, &size, PCI_BAR_ROM);
> -    if ( rc > 0 && size )
> +    /* TODO: Check expansion ROM, we do not handle ROM for guests for now. */

Nit: it would be better to place the TODO comment in the else branch
that applied to the !is_hwdom case.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:07:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637076.992779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r56ne-0007Lo-JQ; Mon, 20 Nov 2023 16:07:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637076.992779; Mon, 20 Nov 2023 16: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 1r56ne-0007Lh-G3; Mon, 20 Nov 2023 16:07:02 +0000
Received: by outflank-mailman (input) for mailman id 637076;
 Mon, 20 Nov 2023 16: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r56nd-0007C9-FC
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:07:01 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe16::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d5b16c17-87be-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 17:06:59 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8758.eurprd04.prod.outlook.com (2603:10a6:10:2e1::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 16:06:57 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 16:06: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: d5b16c17-87be-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ETFCMp5EtyXdNW/xb2caB643Yd8VLBL9dsgfrWrVkeSrwNb8qE1FQUQ7DwiGJn+A7t4kIlHJHY0bOUOfudHWymhesoaTlbpitkTXZF/dv44MnZDMdqatFcUYowyx7a27URKOUPBr/ThHgRuNwsldY7AhPB0GLqQTfy1rfvkP98itzuwrpCBok7a2jcQMPMi4ycFdyPYdAd4Mu8RvF7JVHWLb7hpNhk+AdcdhUVlO/Yi80ET80LthFACf3sL7F0cIwRNq5wvZaM1pMYYSGCpWnbmG1lWeuV1ALjZbOzYA3EfWEGBgEEsNTuIRyiqN+aAmO+9J9u8QOSzDGUjRCvX2jA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=etcYvFyZck0gAecVyGECofQ+De9b1SDCIDyHr3EFwJE=;
 b=Rm8VmbHpxH5faXCOMQqItlDAjUFPnILoPl4qNAcmcolTQ2FEJWhNGV3SfcZxOaI64Yiv7LSPZCoiBhFm8vGAO0kK1dbXsVV3gZc3pmSg8e6kcIENXSD73//AcwxDPxCSZNrjXNTVdG6tms6+kb0TUrX/iN9HtPo+VhjdBe41rCNcj9bC+y/iyD/H5+oBp+1Fq8LxFMgwAjEMaLWKUIvUhptu+/YsTKrTuRrePMz236GEuLBU7amuZuDkpJPu/esvCPDyNllhED2F9Ue9vqKIdug4TXn1XQDTY6YODPlzWsPMOOB5yetAd464xBb9CDK+U/w9TVhbKj1nKAq76EbkRg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=etcYvFyZck0gAecVyGECofQ+De9b1SDCIDyHr3EFwJE=;
 b=XWnSWs2Hg6dqFXMVv63HMoeiJnCjY8AJkWtrnWUa/3MVDpHCwoz5gy+ADkZ/ayskRwFsViIL/uY3SqZ2Hr+arO9LyS6MCIOiW8MNnnjF6qvklYIYJ/o5ZNGov50RU9jadvutBYN27K+1kd+kPCdDjQ0f9IjGgR8aYdAma8fpQRlZH17t7mKCb8g4Thmjz93RGeVoioWjahPwOS9/WTUQYlO4VMiGHb9WoNuWuX2LO6/v5lbHnwEGKWrAfEKOjVo22Ttj0Gx8Bc1NElTjgsZy8Uz+g74k6FVti+B26uKw5qsPI0ezbjvMc153AA1it7Y3rfgLheLQ9RGzWjk1L/LJzQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2ad91848-4dce-4654-9d82-e24ead7e7063@suse.com>
Date: Mon, 20 Nov 2023 17:06:55 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/ioapic: Check 1k alignment for IO-APIC physical
 addresses
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120151006.168773-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120151006.168773-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0208.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e5::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8758:EE_
X-MS-Office365-Filtering-Correlation-Id: 77314d62-d297-483c-1854-08dbe9e2b895
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ycCdzZo+I9wpFR18O14W72ME4kybg4JXXDT+sKvsdGeH75tc5rse767CFQVu0ToD1sQcoeGfqeBZwtmnxNR7zP7b+Jh5utgvOgenEwvtB90ia9m5lQ1QW+4wShIkGCyVXa44Jd/8GcB86PLEAs4A5o0uHU0Y3yTzbFdGLf0Z1NwchapyYf+M2BLxFS5DyxkCz/hrXNzEyyomlvk0AH6w4Idl9KirCFwSuP0vnga+0bj3PCfarXqrlY7dXIZnHYyd5383fJyA+8hOOzPYT3XdDHLuqEbbKwUJG7rZtXFZ1UBk03Zf+wJLR3eEGwiXpvlOoMEMkqfF0agvqSMQlLCVsfM9VQaWISxnWJWyBUhHXvLsjoF4EXy03XiqHlnVVVCdg4WtZ2RAS+ahf87cL22EVu13A3+Z2ADrlEIY1dIN+ST969yO+xWgkw0qK+XoP8ObsLRRhYLUxYAS3Drhtb7cZtc0GE1ZdakmGeMTSiGC2Tki4kCUK11CwgCPBuqWVfxUjrApmM5CFvsPCFNgcVBOcB9/I9NjQq2Sj0RGpHbbsWpVw4aWhNmTK/izkSz5tfiwJOEeHRxoPvMgpkwDDAujQEmlB9olhPasrg9119vgptdTHzZMqXuaqnJROK+IIh2ssFsDxsv6sIaMfHRD+y8aSw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(396003)(346002)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(53546011)(6506007)(6512007)(2616005)(8936002)(8676002)(38100700002)(4326008)(66946007)(54906003)(316002)(6916009)(66556008)(66476007)(6486002)(478600001)(26005)(31686004)(31696002)(86362001)(4744005)(41300700001)(5660300002)(36756003)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eVl2R0dOSFNwS0hyU2ROeGpnenp1TkdNV1dEcUZkb2xPbEVhSzdhOXJnWDQ1?=
 =?utf-8?B?NVovZUE2dFVWU3U1NlJmam9EOG5QVk5qNnBLSFVtT0RLUm0yY0ZFU0RXenRS?=
 =?utf-8?B?SUdXM2NCNHhFVmVpUGVCZXkvU2lyOFpKUnBOTmtxTEoxeTJ1SFhCUm1qNEVz?=
 =?utf-8?B?Y2ZWc04wUmJyZVE0NzEySU94TWdjUThZWUFlZkxsaFFLcTUwM2MrRzlpbFVP?=
 =?utf-8?B?M3VRL0paSWdHT2JnRnhtWjVnNzFBNzBtWDNxR2dpdWZRbllQanRmQ3hOYVN0?=
 =?utf-8?B?SG9ZdDdNV09EcXh2MW9kb1pVZlQ0UHJVWnZDTFlVZUQrWnFLMEhsYzFVMnZI?=
 =?utf-8?B?emlrb0dncFBBVGl3QkMyeDMvR0hnRi9tZVFYYVBXcFI1RXhDRW5xY3ZYRlB0?=
 =?utf-8?B?TmoxZ3FMQW44emRSZHJPVWc2OW1KUitpcFV0M3ZPVnpaQlFPbTVqeTFJSTM3?=
 =?utf-8?B?ZU9sUytCSWhJcjM1TlZuV0RndkNhbGNkaVVRdzVBaXBVRGpNa3RheElaVURk?=
 =?utf-8?B?bW9IbHRmQ2RaL3RnTi9aU2NYcTZXUHhLRXN6NFlXVTd6TzB1eDdqVEtFNFpG?=
 =?utf-8?B?ZGoySUdyN3RCUi9kdVZhZXQrSHhyRG9nWFNLdXIvSTV5ZmVLRVFhNUdDbkE2?=
 =?utf-8?B?NTI4eXJBdFpFeDNDVnF5TzNFaUdrS2hHSGZhMmdMN3JsdEdQY2VHZVNHbWd3?=
 =?utf-8?B?T0VhT3l3RzdyOEtXZ1psMW4raCt5OXoxZlFLR3ROL1Y3ZStmbHRTdTFZWU95?=
 =?utf-8?B?OU1uSEllMVk3WWRJc09XY0tObG41WVp4SmoxREtFeEFHL1NoRndIMUFWdDNL?=
 =?utf-8?B?cnJEU0dwVy9DYTNnczNvd0hPNDBYZVZlMHNFWnN2YXh3aVRBSkR3NHI4YTBJ?=
 =?utf-8?B?eGpPKy9SY0d1U0RidHZhcXUva29wbzZQMldNbWNFNE9MRDFHbUk0TXN1Tm9n?=
 =?utf-8?B?di81VW1MOU5yYkVHNTZvVGJiRlZKNWk1YjR2RXJjU3ZrOVEzS000OXp0QURh?=
 =?utf-8?B?dlkxRnJteEs1emttcTBmWHlnVXRYSlZiVVpZazVtQk9JQ0pvdDNIVlJIMGw0?=
 =?utf-8?B?em4wYnRqNzcrWHVFR0MvMGo3SDNJbEkwcGFWSFluNXFtc2VENVg3aVp6clFQ?=
 =?utf-8?B?MlBQcDVuTmg1OVB0Z3g3ZWVvQVR1dXJLbGNXK2xLQnF6UnErVm8vc1BxRGpv?=
 =?utf-8?B?YTVDKzdmMUlLTVg4dldIbUJ4NnBQY29MNWVlU0ZUbjRCMkhSWWhGemlWVElo?=
 =?utf-8?B?WGFEaDdTdjQrdWl4NEZzNDFKR0haYzBVRnBVRkxnU0U0R1lSaloxZzk2VTlr?=
 =?utf-8?B?MDRHNlhkSXE4SmI2bDgraEczcTljL1RHMjVxSXdOMDBFeHRnL28wMWlQOHZ1?=
 =?utf-8?B?cXpzWFB0V0hqQlYwdm5DeitoUjc1WlVodURBMGthTUNsRG1CeDJUcWJyd25M?=
 =?utf-8?B?NjhvRXNoYUpmRGJTRm5WTmkvM0tKQjF3bGpZcFNEV1NXRGsxMUlsZ1VvWDRN?=
 =?utf-8?B?OU9mZ0ZRVGpsS2V1V0xVN1ZHb2J3SFhseEdvT0w5U3lPZDhQUDBZaUhzeEFi?=
 =?utf-8?B?Zlp5ZXRDekpBOUxvSXBVcXV6dDdDNDhNZ0pCYlNtV280VkROY1N5a1F0RDJU?=
 =?utf-8?B?Rmx4TzNZdEFmREFLRXR6NFNqU1BQL0lZRXVISUNLendQbERKVEdqOFRDQ2I2?=
 =?utf-8?B?MVFkUWJtYzBzVUpHM0ZoK2ZtU0ZjWG8rTDcvWmp5NExnYlRNRGdhdHlXWnI1?=
 =?utf-8?B?dDAzbmYrd0lXd0tzM2dRbVo5OTNkRHRtR2dBUWpodm12dlExWitJaE1YS0Vw?=
 =?utf-8?B?QmJNRDNaRURFc09ELzFvS21zMmQ3VDFCSFRVTEo0S2JKRUFOeno5dkRDTEpH?=
 =?utf-8?B?V251bFN2cFloN1RRVUxWcXFKUml6Q0hkR0N5eW9NeHZpcEswRzBFQzVHZFJt?=
 =?utf-8?B?eFZLMjg1Vlc5Yk12VVNVS0hmT2dsSFhkd2lhYUZSNWx4UVJ2R2RQaXVhRk91?=
 =?utf-8?B?U2tlZlIxWVp0OHFkNEZMUmxVbVB2VSsvcStKRG5WbE5ZWW1RUHRtSXlQdW4r?=
 =?utf-8?B?MUpTZCtPTWRBSmZGVFl0eGZZUHZYSDdtTVhqK3Q3U1loUTVnN3dXbEtCZjJl?=
 =?utf-8?Q?O29QgDQEyXw4xKpIvlmeZfyXa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 77314d62-d297-483c-1854-08dbe9e2b895
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 16:06:57.2995
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: UWqxjA+QshNDroXds0xrWcP+39rFpiXCDmQ4p+NyfKshgzM56GUkH2AscPE7O3U+SXWb/aGZd7TcBmNRpa6aOQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8758

On 20.11.2023 16:10, Andrew Cooper wrote:
> The MP spec requires a minimum of 1k alignment.  So too does Xen's use of a
> single fixmap page to map the IO-APIC.
> 
> Reject out-of-spec values so we don't end up in a position where a bad
> firmware value causes Xen to use the wrong mapping.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

I'm curious though: Was this observed in practice?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:09:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:09:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637079.992788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r56pf-0008Em-Vc; Mon, 20 Nov 2023 16:09:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637079.992788; Mon, 20 Nov 2023 16:09: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 1r56pf-0008Ef-ST; Mon, 20 Nov 2023 16:09:07 +0000
Received: by outflank-mailman (input) for mailman id 637079;
 Mon, 20 Nov 2023 16: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=6jYu=HB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r56pe-0008EU-Gf
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:09:06 +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 20b49d7d-87bf-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 17:09:05 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40859c464daso17471595e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 08:09:05 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 l3-20020a5d6d83000000b00332cb6fe41fsm1489806wrs.74.2023.11.20.08.09.04
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Nov 2023 08:09:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 20b49d7d-87bf-11ee-98df-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700496545; x=1701101345; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=kLcou0oQkWqx9vBDnoUtOt0UG5H/CHXY/yosgMsY4SY=;
        b=Uv6vYNFgC1GSUMdGwuk6Kwy/34g4B5fJB1omMDBQZ9vRmweO1uviOT3ewh922lV0Bn
         LND69+i49RZtuiZWgZYut28HgDAV5xDb2oPpKnVfhz7uIoRrSx7PnPnr81x/vYoNi/6E
         Tidbej4amOTQUaLyZdwtYg722GHFnaAJjXpNg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700496545; x=1701101345;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=kLcou0oQkWqx9vBDnoUtOt0UG5H/CHXY/yosgMsY4SY=;
        b=HkRiBSg70/TmzYmioOre1JpwDNWcEVmVFkI07RoTXpGJRxUcCK4XoQfaWa+tzDKtFR
         BaX9QqmggL1ZeS0BYIXKBaBq2OzztiHXxO2bw9mTgJmHX2VkELgNQzhRspj7vX1t7YO8
         +7cOey8GZuhGe1Cbli3mAuCl1/MKj9hoFuDHxCNGFyNzpzsYeakScjvFxgDU3SO0kOm8
         Uj26SHIQhVGrUxrKpkmrWneKsRVVkykbnX4Hq0iT3qP4ciLtJ7PM78SAVozDLst/HiQp
         D6GyIzFPs6/AUktf/jBlG9dvfDh0G9+h2qxvovLQ971jC++BAt9fageNwvZm5GhDJlFy
         FI4Q==
X-Gm-Message-State: AOJu0Yxjs/W2NcM1n0FPSTkHTCffFqlFIkh4m+Y9rPE9BgvVlH30FU71
	cKF0AQUoXiIXBNWxQFvfShL8aw==
X-Google-Smtp-Source: AGHT+IHVqMXfxWsKofm99a17iyqbV0+Oq/9FaeXVygGIKq+IWW4ymjoz4WCrs5W45DmvXmv1MYDimw==
X-Received: by 2002:a5d:5987:0:b0:332:c1a9:137d with SMTP id n7-20020a5d5987000000b00332c1a9137dmr3789451wri.11.1700496544756;
        Mon, 20 Nov 2023 08:09:04 -0800 (PST)
Message-ID: <b8daefd7-072f-4d16-a820-3ddb6b442553@citrix.com>
Date: Mon, 20 Nov 2023 16:09:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/ioapic: Check 1k alignment for IO-APIC physical
 addresses
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120151006.168773-1-andrew.cooper3@citrix.com>
 <2ad91848-4dce-4654-9d82-e24ead7e7063@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2ad91848-4dce-4654-9d82-e24ead7e7063@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/11/2023 4:06 pm, Jan Beulich wrote:
> On 20.11.2023 16:10, Andrew Cooper wrote:
>> The MP spec requires a minimum of 1k alignment.  So too does Xen's use of a
>> single fixmap page to map the IO-APIC.
>>
>> Reject out-of-spec values so we don't end up in a position where a bad
>> firmware value causes Xen to use the wrong mapping.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>
> I'm curious though: Was this observed in practice?

No.  I had some prototype cleanup which collided with MISRA, and I
realised I hadn't posted this part of the series.

The other part of the cleanup still has work to do, and I don't have
time to unpick it right now.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:12:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:12:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637088.992798 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r56sp-0001ce-CQ; Mon, 20 Nov 2023 16:12:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637088.992798; Mon, 20 Nov 2023 16:12: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 1r56sp-0001cX-9y; Mon, 20 Nov 2023 16:12:23 +0000
Received: by outflank-mailman (input) for mailman id 637088;
 Mon, 20 Nov 2023 16:12: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=KKU3=HB=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r56so-0001cR-Cm
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:12:22 +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 94e9459f-87bf-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 17:12:20 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-5094727fa67so6310689e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 08:12:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 94e9459f-87bf-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700496740; x=1701101540; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lzNv8UwcYyilet5rI/wD95vpeCkUNcHzAF1dSv4CkQk=;
        b=VQ6O9iyF5ap5FOUjFohKBgdB7X68KvW87gNXb9+zbGlL/YbyruSyIdncRsUckmoa3x
         cBZRK4MCOafdYA7wP9FetXC+t8A01ZdxdKd9C9Elqez/XQwGCb0o5oF8SnnimoYkJntf
         CjrrAHsFB9x7BGvsr+hHCZSyBIUsXG2NK6yKIK28Z5NLRJmtx1n8LtdtT/j7Vsk52pbE
         B3WD762xi3GVd09BN+1Np+K5iNW206/mpz1sei0NTweRwidbwOX10qKY2shMt+wHAf5P
         CVfyaNZyt+qoMNxKcN3BfllRWag1ppymb1DETAV0KZD8dlYuM5RgqXAgjcOLjmTGNAUU
         A/gw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700496740; x=1701101540;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=lzNv8UwcYyilet5rI/wD95vpeCkUNcHzAF1dSv4CkQk=;
        b=dl5dcbCG3WLgGP27JMYwHRKw63hc+ervMeWWXh8d7htPzNuz4wF54aJibGexRk42a5
         X0fgGkw9xl2YTpzxaMgZZKRSW0/3Zc/IKfQaXDW1i7/O6CIGmQ6LN7XF8uF0IGWznms3
         ZN44aA2PDL4VRZ2sfoWYgUhuPztziJK+8QHRuq2di+DrmUUruP9D72lmLt6x0hD1ix4A
         otZ2FmbnA7Iy7BAjQsQhBklioR5m++A5h4UXLu8NKt+KVMY2aVAGj3QcDwFtNlSld7OW
         HIm0eZmwLe0KhYLxzuAvPD5C+R7uBG96FOQhiKgZOxh8cM23xoQH7Ipztznp0qayANlQ
         RuUA==
X-Gm-Message-State: AOJu0YyedP3Mqcaw5gYMMVugrF3Fmq7cMpRE/rp9yoP1nfphhUokOp4Q
	IMiZlx4et+xneILbVCXMtOZP/FuxAJarX5w27XI=
X-Google-Smtp-Source: AGHT+IFEfiuecU4ulT6L7vOvWDO3c576UjMyrQhtW4ZdcK7jG0JZFGFNzyH3NL136PeQCylRIWgmMRM+SLtHh4LKtNc=
X-Received: by 2002:ac2:5a44:0:b0:506:87a3:c27c with SMTP id
 r4-20020ac25a44000000b0050687a3c27cmr5627546lfn.53.1700496739413; Mon, 20 Nov
 2023 08:12:19 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-5-jgross@suse.com>
In-Reply-To: <20231110160804.29021-5-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 20 Nov 2023 11:12:07 -0500
Message-ID: <CAKf6xpuaXjZjZHFqxFKpQ9XnW0SJuGOhWRd+Rtt5Dcu--oCdjg@mail.gmail.com>
Subject: Re: [PATCH v2 04/29] tools/xenlogd: add transport layer
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 1:27=E2=80=AFPM Juergen Gross <jgross@suse.com> wro=
te:
>
> Add the transport layer of 9pfs. This is basically the infrastructure
> to receive requests from the frontend and to send the related answers
> via the rings.
>
> In order to avoid unaligned accesses e.g. on Arm, add the definition of
> __packed to the common-macros.h header.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:17:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:17:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637092.992809 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r56xe-0002zl-Vw; Mon, 20 Nov 2023 16:17:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637092.992809; Mon, 20 Nov 2023 16:17: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 1r56xe-0002ze-TD; Mon, 20 Nov 2023 16:17:22 +0000
Received: by outflank-mailman (input) for mailman id 637092;
 Mon, 20 Nov 2023 16:17: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r56xd-0002yB-FR
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:17:21 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 46ff1932-87c0-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 17:17:19 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8527.eurprd04.prod.outlook.com (2603:10a6:102:20f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 16:17:16 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 16:17: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: 46ff1932-87c0-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dIezWENnbbADmTHQuKtGmuJouzVRL1cpaDpmJcCR13D9tVxlDJ+ZoByvoYEPGzSe+vLkEvm1Y6dlo14dvZ+gTodg3d9o348I2uU0V+F9nMqgngkT5JB5vY9cOGQbZyr6S5pRGLDw14622v506YerKKwENqTDdDgVRhezN67aQVsBqW2pIdD429dwAkPQ1w29yduBjkeAMPOZcE1jNsWZPf1R/7PYyCYqkSG3M70nr6NKyKQZnbf+02e8tg5u6C/OWQTBbs0VObSa7pLMuvDd9W1bjMj5WXZOTJvkJLBrngkZAcJ/y+i+1cvr4F6RqKNLEIOVgRR/ml/Vtor1fcMZKA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1hSFL6wgrPSi4idiKRBHFFLUS3Rg/DmRoAbZINz1eEY=;
 b=ZlyY3NeaXWCdfqgU1QsqR1AYKjvWb9r/p5w9b/OZZ2nlRWdIp13PK7PhoJEcXy0pfm7S3CrgDUeCp/zXFJqUUeaM4zRVfyGS/t3Gvx0vmpa/t9U2HT6N5mseSK3MEgwb80EkOJYbdmfAO1Cn6T+KGxDt5/l8y4vmWgpUjdYKa7DRy+JkHNQfXhQKmZv3nGoeXbS/zYGO/kOozshF7FEfol0M0vHtGjNsvzxoS3lwfAH0PmjhPWt27GmiLSX0cLEogUXvw71Bm+Z4TDOMq9mcfLtnqr0bmUAi0ye/7TNIGq764awVEK3TNaOF6n73F517RGL62OvBAigewgnvW4baKA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1hSFL6wgrPSi4idiKRBHFFLUS3Rg/DmRoAbZINz1eEY=;
 b=sxCOPJLI6qsra6xt+/hv9f3945j4+kLkWdyI/lZTCMc3+b3RILzsMKLeIpyPDcfvwSC8NIaB8ci+Jg+YTcIqWDkiOrHpHzjVcL6olNa//gVjjG/oN3S4xjQnL3CtAkOyponqeImQl9saDDQKM7tV3QtoH+gz40PFAUt9RAgNukY9wHxXd3MnjqUWUCU75qOiDwbST0BLnRiwcpl/Jw190AUNmHJfwhRu+xj7FNV5UNxMjfggMGTTbbgfVzV6ArAAKpC8dUt2fP6NoUHz1c8UH4sEINMRE4Kv4rFLimEEBLD46Z92xo57Edfe6aAhOQSI1VOJFGbg0MhsKty27CtiCQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c52b9fe8-d894-4a58-9d4e-9935e8044e90@suse.com>
Date: Mon, 20 Nov 2023 17:17:14 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/treewide: Switch bool_t to bool
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
 <20231120145623.167383-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120145623.167383-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0130.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b9::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8527:EE_
X-MS-Office365-Filtering-Correlation-Id: beec7b82-f894-4b88-442b-08dbe9e429ad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OsT/AjzAotk+WIvoHh85dwc7SfX3JccAvr+B3kb2S0zluw2PEyrPBglg3pR4AHbc2fFMyeknS7pjwM9pq0cKUOCGNK+ffLCe4s/n1241QSdiivPAv/nvP4S+OWbI6hKfQCOyUavCVgnStd7Hcc1jCYMsqlMsK+dGXZU65aC5vHGWjB/DD1bJv8AtbSqhSmJOQugv5O9M3decxZCyQhlJqtkHFA+onYNW1W1MBjtAnVgJ9W4x04D9rmI7CGOPgRIQ4sBDQtEriV770yuPfwJsY38vjvO9rHam5pRzD0/97IFoGTDhqlvO2XJN3d4nNgxkVGxq0rAK91L8UgBf4mHBVUZYm9pqrKRMtADButZE2NRgixvpB/iW91GPeLH/tdqoBwkx+1QACRGkPOvDNBBxqiPWl9Y5F/5wNbQdJSayZB4rURdp1wOCE45dAapsj4uKTFtK4zfm3l2K4PxJc8X7M7J3W33LUxHIECoc/jN6K4HizF7JqJ0FRWnq9JG7NWXKN/UBSjyd1NAJNoAxQ7VG5SCp9BcxZJ8p3oe58rSzFlKO6hLeggHlT3jZkhocCAGNpQor666Wsx4zt2sQn6Py2yVNP14HxqWeGqpD+8I7D/9udyqMnwySdgMUgbl95Rfe1MlpCWa01qXoRokx77NP1A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(136003)(396003)(376002)(346002)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(6916009)(316002)(66946007)(54906003)(66556008)(66476007)(26005)(36756003)(4326008)(8676002)(8936002)(38100700002)(41300700001)(31696002)(86362001)(2906002)(5660300002)(83380400001)(6486002)(478600001)(6512007)(31686004)(53546011)(6506007)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bUZMWWdBY3hVQXZRNWpuVU8rWmFrblNQbmYyamxGNHJJMnB5cEF2dThJMjRk?=
 =?utf-8?B?WmJKaWRDc3I4WFJyZW9FTXR1STMyOXZoU0tjYU1KZVVYTFpvc25zRmJ6STkr?=
 =?utf-8?B?QUxKNUMzN0gzZk95SlZKamd0UnZyT3lKUFJRUUFDUkRWVTdzQi93RVVaazJx?=
 =?utf-8?B?dkw1TmRKK1R0NHpvUC9nNGtEdWdRNTQrdkgzUzY1b1IwcEUrcWtSMkFDcFJr?=
 =?utf-8?B?Y3NtYU8vZUxERWQyMG5ISHdKSnNJdFdKc2Q3NGNiQzUydXpWSWtaY0wxUyt3?=
 =?utf-8?B?Z3Y5Rm5KVmhSR0dyYjA4d0lBdnVGZWhBMmUyQm1oanAvV3JzNHFYT1Y1Skth?=
 =?utf-8?B?dnVoNG05UnVKam4zVkw4a01XRTV6NDc2RXJSL3FyRFdheWUwblpPNnNmaE51?=
 =?utf-8?B?M1dTeEVoVzlRLzdVNVY5S1ZRNFhUQTlnZDJIcHl0dXFMbmN4T0hVeG51TCtv?=
 =?utf-8?B?WG1DV1dtQXZnbjc0NlhwUVpQbTZrVmJQekxWZFpueTlnTnVCakNxelczY2Qy?=
 =?utf-8?B?ZDMxcUVVYTNWdUxJY0p6SFJBaW9vdTVjYVdOVDdrMll6a0FnTk1tUkFXdzJE?=
 =?utf-8?B?K09sclBWOVdxdkpPU2dneGg5UjJSNUtlellPKzZkTWlyRjVxSi9MMzdGMzIw?=
 =?utf-8?B?WWhTVkMxMW9DSGtxbHFtMjk1TU5ZTG0xZGdKMHozWUFrZWl5MEFlcEpSb2Fk?=
 =?utf-8?B?WmdneDIwZWFVNERZVytRT2lnc1hWVVdxWnZWTW85aE9URC9lLyt0dVBIOXR3?=
 =?utf-8?B?S0w3ZUx2b3V2YTlISEdKRlFnZWFVcXdLZmh2a3d2NC9Nd3dKZ0kyZGhhSXNZ?=
 =?utf-8?B?Uy81bmpkT3Y3Y0Z1c240SHRSb0pDN0pESEVwZDV6ekVYVmdkV1p3Q1UrRWNn?=
 =?utf-8?B?aG8wMmlxL0k2S0JReWpyVEM2SUhtMXZnK0ZkdVg3TmkreHM0alBkeGYyanY3?=
 =?utf-8?B?SzJvV0h0bmJMWGpldTBOeFhNTmxNM0NybUl1RGM0dnJVY1lOeFNVZlhkaGYx?=
 =?utf-8?B?OWpkRzhvN2UwWXZvL3pYOCtRckJsWlhwTUIzWmk1U1R2REwzL0ROKzcwc28r?=
 =?utf-8?B?UldWQlpXRW00L3I3MGJSMUxCNzZjVkxlcjFEeTlHWUZRRmtwNmtJZGpnbklm?=
 =?utf-8?B?ODMwTHdaclk4OGtXQURqQmVRUlMxZTFIMk9FdThOUm10QVdTaTEzaUdLbnJO?=
 =?utf-8?B?SGZlS0tQanhQV09CbFJTVDR6azRxc3dTVmZSdm9FLzZMWVZYUVhlN29GRDg4?=
 =?utf-8?B?NWU0QlkxQnBQMHBFT3pJT3NtY25ZNnJRTlkzdGdXcGVEcDlzaU9UUmZvWndl?=
 =?utf-8?B?Z05QS3RGazZkai80Tm8yZWV4T2xuTTd4cWZSNkx6WExnK245TXlZZmYxYnA4?=
 =?utf-8?B?T3c2UDRFWHowSXQxUG4wZmw4MDhWZjRjV0F6MUVnVmxFMnVUM3U2R2hnYVpw?=
 =?utf-8?B?RWRIVlZTOVM5aFJidSt1cDBBS0c0SEs2d1NzMG9OY0VSWVFQSHo1dnQxOHM0?=
 =?utf-8?B?TldodXVlbDRHY0xuUHc3ZEpRYUFnMmxxV1VmLzBKaXhSSVBScGVXTlVJTGo1?=
 =?utf-8?B?WFgzRjlkL3l2aCsrMnhwNlVLYitZVGJ3cnRhOWtuTlkxaEo2VnhlNkhLTzFj?=
 =?utf-8?B?UjdtTWFYTFQwY29jUTZva0xDZXpEb2NtcC85VEpNWjFYZHZTaWNhTW9TZlNt?=
 =?utf-8?B?ajdpU0tZSWJpUkx4Wk40N1Q2aXZHRXNnNmdCVkw1OE1aNnlIekp6YVo0WXhv?=
 =?utf-8?B?S0Z2WlNkSkt0VVBRc280ZXVkbTBaVG42a2ZDY1RpVDdGemk3UFd3NWFuR3c1?=
 =?utf-8?B?NHBtbGR0bFNPQmlybHRSM2V5aWN5NFZNcDcvKytjTFEyVVIrb1Q5WTdOc0xl?=
 =?utf-8?B?cFU1ZGkreWFxdmJLRmg0eEs1aE1FM2dTbS9PYXZ4YWNkMlBiOHc0d0VHWkd6?=
 =?utf-8?B?dXBJT3F5Vmg3eHhBQStOOTB1aUhXeXRlalpGUHd1dlRVSUgwUVdvZG1xRkZ4?=
 =?utf-8?B?SGVNdnVvUnZTYlYrY1VKTlJ5Mk5ocWp5VnJBNXc5eW5QQjd3TS81UTY4TlpJ?=
 =?utf-8?B?bGZLMVRWOVkxVENCTmFiU3gxaW9hVitpT2htZVJFNVQyeTc5LzM5RWVYWXpj?=
 =?utf-8?Q?yyO90PSbIOa3lLirAlFcqjKgt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: beec7b82-f894-4b88-442b-08dbe9e429ad
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 16:17:16.7377
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ehR+6rxgpB1VUeP+eroYyHz7mxvIVRO8DEyZamwi64eaBrDji1txpAZPigUJnbQICRo4d36Qy4VeW3lvJFOtJg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8527

On 20.11.2023 15:56, Andrew Cooper wrote:
> ... as part of cleaning up the types used.  Minor style cleanup on some
> altered lines.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

One small request and a nit, though:

> --- a/xen/arch/x86/include/asm/apic.h
> +++ b/xen/arch/x86/include/asm/apic.h
> @@ -139,7 +139,7 @@ static __inline void apic_icr_write(u32 low, u32 dest)
>      }
>  }
>  
> -static __inline bool_t apic_isr_read(u8 vector)
> +static __inline bool apic_isr_read(u8 vector)

Would be nice to also switch to uint8_t at this occasion.

> --- a/xen/arch/x86/include/asm/hvm/io.h
> +++ b/xen/arch/x86/include/asm/hvm/io.h
> @@ -54,7 +54,7 @@ typedef int (*hvm_io_write_t)(const struct hvm_io_handler *handler,
>                                uint64_t addr,
>                                uint32_t size,
>                                uint64_t data);
> -typedef bool_t (*hvm_io_accept_t)(const struct hvm_io_handler *handler,
> +typedef bool (*hvm_io_accept_t)(const struct hvm_io_handler *handler,
>                                    const ioreq_t *p);

Nit: Failed to re-indent the 2nd line.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:19:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637095.992818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r56zF-0003ww-D5; Mon, 20 Nov 2023 16:19:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637095.992818; Mon, 20 Nov 2023 16:19: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 1r56zF-0003wp-AW; Mon, 20 Nov 2023 16:19:01 +0000
Received: by outflank-mailman (input) for mailman id 637095;
 Mon, 20 Nov 2023 16:19: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=6jYu=HB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r56zE-0003wg-2x
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:19:00 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81f3de0c-87c0-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 17:18:58 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-32ddfb38c02so3042030f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 08:18:58 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 j14-20020a5d604e000000b0032da319a27asm11672138wrt.9.2023.11.20.08.18.57
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Nov 2023 08:18:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81f3de0c-87c0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700497137; x=1701101937; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ylxV4IrJIK5GqvYap3V7GCOBKv9TdEazIr5Fn/kyi0s=;
        b=wYPh2/lSYvYijA4dbpsDH7amnoDZxrUulG3h7IRU0vVZZZRa/y8cY89/dpoqM1WKJ/
         kCROSrK/bfOHBr8TeNoIFclWVKFg7sNJVOcGx5Ib13BNzV91+rY/QZCzjFLAq3z7vgZZ
         CkzPE8W48S1vlHBMGBZKIgAQIurHA55zQxCuE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700497137; x=1701101937;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ylxV4IrJIK5GqvYap3V7GCOBKv9TdEazIr5Fn/kyi0s=;
        b=mWoJSKOc0ySCzmAzPiLBOfyrh5Ijfxw5tvdLUqvXScUv+Ay7hvfkBseS71Wo1Qs8hq
         bp+QNHSO2Ut5QysPNRFjQqVqc6QUzDdYoI6iq8cN9T7hD+qXjEPCQNudJjS8JttZgTW9
         uqd7NWZ58N3YTIUH6GBjmkj3A3A8XgtRhV99VEon7z0fDF8s3i3+KjRcAxn8d5BZIePL
         Bd0eFKnXcOwi8V1ra1TkUwyuVpmJII0K7GNWKgyRd10cpFiHn1tqjeOaNjaO2pnKfEPE
         IwFw8ZySsI6rnCS7pKEhG1aX6fiOtqRj6h3TGNHgUPQZce7vEmS1fgOadn3g5HdXkgmq
         MOww==
X-Gm-Message-State: AOJu0YwLhJSmLy57pb6yEgQ3vvi3tv0uDcT/Sm9sPPhi53/q9ZY2Bibi
	Y/Mm6EtDs2BfO6Hv30LnbPbttw==
X-Google-Smtp-Source: AGHT+IFogp2nFC9hZBFxQvgMbhGgn5DP/WAch83H8eHFPsvt8BDVyTHlioROglrJxpLcJawjLG6lUw==
X-Received: by 2002:a5d:44c4:0:b0:331:834b:61e5 with SMTP id z4-20020a5d44c4000000b00331834b61e5mr3131126wrr.42.1700497137502;
        Mon, 20 Nov 2023 08:18:57 -0800 (PST)
Message-ID: <6a763a5b-8d5f-4acc-8d73-9b778cb7add7@citrix.com>
Date: Mon, 20 Nov 2023 16:18:56 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/treewide: Switch bool_t to bool
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
 <20231120145623.167383-2-andrew.cooper3@citrix.com>
 <c52b9fe8-d894-4a58-9d4e-9935e8044e90@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <c52b9fe8-d894-4a58-9d4e-9935e8044e90@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 20/11/2023 4:17 pm, Jan Beulich wrote:
> On 20.11.2023 15:56, Andrew Cooper wrote:
>> ... as part of cleaning up the types used.  Minor style cleanup on some
>> altered lines.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
> One small request and a nit, though:
>
>> --- a/xen/arch/x86/include/asm/apic.h
>> +++ b/xen/arch/x86/include/asm/apic.h
>> @@ -139,7 +139,7 @@ static __inline void apic_icr_write(u32 low, u32 dest)
>>      }
>>  }
>>  
>> -static __inline bool_t apic_isr_read(u8 vector)
>> +static __inline bool apic_isr_read(u8 vector)
> Would be nice to also switch to uint8_t at this occasion.
>
>> --- a/xen/arch/x86/include/asm/hvm/io.h
>> +++ b/xen/arch/x86/include/asm/hvm/io.h
>> @@ -54,7 +54,7 @@ typedef int (*hvm_io_write_t)(const struct hvm_io_handler *handler,
>>                                uint64_t addr,
>>                                uint32_t size,
>>                                uint64_t data);
>> -typedef bool_t (*hvm_io_accept_t)(const struct hvm_io_handler *handler,
>> +typedef bool (*hvm_io_accept_t)(const struct hvm_io_handler *handler,
>>                                    const ioreq_t *p);
> Nit: Failed to re-indent the 2nd line.

I'll fix both.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:21:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637101.992829 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r571N-0005iy-QF; Mon, 20 Nov 2023 16:21:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637101.992829; Mon, 20 Nov 2023 16:21: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 1r571N-0005ir-Mh; Mon, 20 Nov 2023 16:21:13 +0000
Received: by outflank-mailman (input) for mailman id 637101;
 Mon, 20 Nov 2023 16:21: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r571N-0005il-6q
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:21:13 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d14153e8-87c0-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 17:21:11 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 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.7025.16; Mon, 20 Nov
 2023 16:21:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 16:21: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: d14153e8-87c0-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KfBGNOWj8E4r13qQ01dkMDONgwaDmosDUmYDaDhO/YVwwhf0V4WPjozMG6f1dJ/qsRJPshCsDgkf4TwIPG2R+gBN4lgEmJ71N5ow8+y22YgrDW/7rvJBqMkDxX3rXTspxFXiO3XWy5K6JTwGeWBKxDHGgBLw3/toEttogsxfxXCSfCAcGyTUeEMQlGJJtobMyOXplCpK45LoKksHknEUUpIepYplyh1U8FlGGZv2LgQwKyWJ7dZQs/QUsx0ekibG1urd1ZP4aLBGfqHL37JeL27kb+cOJt4x/G7B3rnlyH4HTA9pw2pJnlsBNEDFoxi1n5MCY/N06THec57oSkFftw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=yPuRf5rHlbdHrwAbnkd+TtOZalnO2d1aPwL5SUJkcnk=;
 b=VY23MhH7AD3dnPOJcONRA9IL52Z405qc36R9R+3oQOvgipl4iZ0ItoKIODuINp12yDf48Mt2Ylk+kCwOVgZDjQy/GUrF/tnJXNcl33y2VZKdxGX1HNBQoAoz52Zadx34KN2lpIiJw/MOKUkWTD3b0W0mjUWTTzGFOETT/hKt6VCfxdw6VX4Q+w7zUNd6OZpHpxTHR5RZ6EAtTBWHiYmULbutpJHJbMbXWEVdN3Sy3kwQE497Pt42HmSElUu0iynmDTPlLtzZStnVlq6f4cdD2hW//RvGSqjLjoh/4nwxlPngmo7zdPzeCiZPJkYnQa/B3KmqDlis94YeoLBGMi6Ruw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=yPuRf5rHlbdHrwAbnkd+TtOZalnO2d1aPwL5SUJkcnk=;
 b=o/KnW/AwtmK/c0vxvSecZoGmLDT/Mc3nJEdz1jqYuqgYu6RVT6rw7RLuvsGHY4kXLKGktU2w3vKzLHa3luCJuUlKlekj2P+PNaoJP2QW/N+E5UL7KiCesrVQSVCbErI65pFYTCcMnXjNZs37ytG1QHXKWKCYSz1EqfB+wtjxvfvTCvTWcMgpGlCD2Hb42aNWA6K4d8J7twOBcPWJmhGz2CfFzuvNi8AMh14KjDqmXYj08onRPNDQmUjcbxete2/C1J9HCKSJpF5vzME+wKsH/em1CMXomQnFsY3ZpU2MsPZKso02vcKiIcsu5yzUzZ3L5b4vHDkJ8j1+CUTB7Eb7hA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2abafbb4-d084-49cf-a542-14c6f93a68bf@suse.com>
Date: Mon, 20 Nov 2023 17:21:07 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/treewide: Switch bool_t to bool
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
 <20231120145623.167383-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120145623.167383-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0032.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9364:EE_
X-MS-Office365-Filtering-Correlation-Id: cb49c05b-5319-45e8-96d5-08dbe9e4b487
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	G4ppiZh/qxZ/56QhGTYDhDNykOE3AXa4tUOMQX2tIg8M1LtNazK+mP6uwZem2tQjK4PvVZLz7c0Jd9a02saPy+d4N37s9sOKvxxXc3x0tk2fuJGEdv19KiHKPmCtLeS+4V97OPlOm63nqOBs6Ab7y/lEbvrFROZGxnIjp1oOvTO/G5jQtIti0W5fLJo90Yt8gIjcIYQz+MDm6SXnkT5wX64eZSOh80S1tTy02gqFeFQEn3AeIzvgYDs0EfNid71ouegQDnlhayc8gv/GQPmNMsrSVj8VTT0All3HbNctZt+zkfkfVOkLrQ3nyV5dm+UnyXsLCjhsvs4qPAl9nzjXAv8qbiiWgHCZzlhK+IJ/rjU1jfxMNHcE2TxoMODd35Pd1dMUPQhRxEMilU6o4KdXFF0Yoj+9AB+hP0Hi10Z19ossF1bF0xDYS+GZ1D/SF6U5CBmRKKn0wZg/45YXbhb0e09xP/FZn4+2ijwR4RJgEeL+HFfDnVfoBFHcIJrNjm2crfBvF9CCJ4rIsycklDSJtpLPzJWfqAguR6DrWCRYZ9+PDUPCpbfr/oBRf8MLlxXw3D5NUrSaMnD9HqTDEqCqdnBrE+EmjaQxmQdTizVrIEO4umUKYy8IsoBq5ym8j11AIBE5d/2GErQ7jhcBxWhUjQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(366004)(346002)(376002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(41300700001)(36756003)(86362001)(5660300002)(31696002)(2906002)(558084003)(6512007)(6506007)(478600001)(53546011)(6486002)(26005)(2616005)(38100700002)(8676002)(4326008)(8936002)(54906003)(66476007)(66556008)(316002)(6916009)(31686004)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?blhzSFhKQXpjYysvQjl5dEtqNG5wZk1rZ2cyaUxkZVFoVmtLeDRGbmlkZkF2?=
 =?utf-8?B?NzVIS3NETXpSYUNxSE9GL1J1eHFMVHBUcG5GTS95ZlMzMjl2VUYycGRjcWR2?=
 =?utf-8?B?eU1nMmExTlNseG9kSTBqSXRWU29OVzFMWHhtSE50S3ZIYVJ3RXhVTzVMcmk3?=
 =?utf-8?B?b0xQZll4djErNzhMSjI4NEZuYzdrRzNBcjBhSFJLb0k0VWtRRlA1TzdzUUdo?=
 =?utf-8?B?OExENFVtTU1LNVh0TDZYMW5CUm1zbWRMckpRQXc1b2FIMkd1aVFtWmhVNGJy?=
 =?utf-8?B?V3hkUUV0bmsrck1yeDN0aC9tUExCdmFtSDI4eHFQTm1HVFo4Q0xWQXE3TEly?=
 =?utf-8?B?ckhBUkJiTTlRSnhUWjRPbmdMMWxINjA1aDZIZWFCc2pCdGhIN214TUtuaWRO?=
 =?utf-8?B?N0w5blNPQkUxZm1hWTNxbWZOeHZ3S2xYeEpuNlBIV1FQcSsxcW5wZU1JK1hB?=
 =?utf-8?B?T2R1MWV3a3AyNXRpSi94RHp2YXVjM2tkbWpyOW5VdE9sVDc0a1pGQlM0Z0NO?=
 =?utf-8?B?L0xtKzRhY0pROE9CbjhMdWJkRVNMMGpHNEEvR0dNMFQvTDFIWkxnbmpqaUls?=
 =?utf-8?B?SXVSS0Q5TWhPV1hwajhWeDdERkt5Rlcxdmtnb1IyTWlyZ3BuRUViN1JoQW9C?=
 =?utf-8?B?SGJQVDY0bnd4MnZIamNwZVJmSisyYnNCekpweHBCZFF2VVZYTTA1bFpYUDk2?=
 =?utf-8?B?bThZQUpTZmpPRUo5aUpHa2pPUHFyKzUydjdaWG9DTzBjTlEvMlVTckZkVFho?=
 =?utf-8?B?blVDYlllamk4Ym9mbWNIaWM4UXdhOVBtaWhXU0M0QXNZZDFPZGIrWTUrMzRr?=
 =?utf-8?B?YjJXREpZcFlSc2NTNEVKRDgwUE1lWFR2QjhTdkpGQ0ZrYjF1ZU41M3V4UHoy?=
 =?utf-8?B?NjF1SW1yQVJIMlVPM2JIeHI3cDE1SDY5aSt1OUZJbUJDci9LeFQ3dFBiNjFC?=
 =?utf-8?B?cmRwK1pZeHkrZTBPZGJqcW5GOWZuZXZJR0I4NjdBQlZ1SEFESGR3UVEzYS8r?=
 =?utf-8?B?MkdlUmZxR25jeGNhRDNwa25SY0NHZHFDclplbHk2TkR3dkZwc2pIY1FjUlRP?=
 =?utf-8?B?bm5jd1JuNUwySkJBWmZRcmtzYVVzWjJGdmlUN1VBeUxMdXlDRXB3bkplaFND?=
 =?utf-8?B?SXhUYVBPSkZUTUwrbkUyZEZ0T0VoYWhDSEcyaWhXNTV0a2pOb0QrUS9DelZK?=
 =?utf-8?B?L1JZWVlRZy9KU2JFTkUvem1jNGRHVys0OEE3RlFncFJva1UzMEhYNXc4ZGV4?=
 =?utf-8?B?b01neldRbnRHWWJtbU9ObVlLUithSnR5OU9oZDdrbmVBZWc4YW5aTS92Zml5?=
 =?utf-8?B?ZWhSYzhEMkJ4Qm16T3BjWmlhaTBMNGR1QzNKZThnanJYZUNOTE9HZXM3Q0Rq?=
 =?utf-8?B?TFdJRFRseklKVHhYbGIrcFp4bnlZcEp6Mngyc29ZdnVlckxzVE5iSCtZNEd3?=
 =?utf-8?B?QzBaQ1o4MXhZc1F2cHd6ZjcwdGk2K3picmcyeVhlODhOR1Fodm05OW1lYWd6?=
 =?utf-8?B?TUNzcithbTBRb3BoQndKUXFEWjhSaENtbXA3cWh5RlE5RWtTKzB5RlpRcVA5?=
 =?utf-8?B?dU9UeDB1QkJmVXg4L2grblNHN2dPRGxZK1dCdmhpdENrdENvek9QVmxja3NI?=
 =?utf-8?B?ay9vc3hIZGIzc2lzaEFGbEhRRVBnWEpRYUNaTjIzeTAzNmk0U0xiVEtxN1BY?=
 =?utf-8?B?NFVWNW9VeUJLTXFpU2c0bGZXVFZSaEdRWmY5b0VWQkU5QVRDWHQ0QlpWQjN6?=
 =?utf-8?B?d1lNaWdHVDJ0NDFkVHNUTlRxQW9abUNtWFQzTFc5T0s3OEpsazF4aHk2cVhW?=
 =?utf-8?B?azhPbThzRGQ3ekFkMFQwQmhiNUxaRTJubjIwN3JhSk95amJaWjNTNys1RzRx?=
 =?utf-8?B?Q1ZweGN0akh4c3Eza2pmSFRTcUErYWtNbFJOazR4aHc0dyswN3lBM0oybk5D?=
 =?utf-8?B?Z09RVU1BN3hrN1R2d20zb2R2RTA0MjhSN25aYXJ0OUR1MDkvUUpaclN4ZWtt?=
 =?utf-8?B?TCtkdHp6ZzlwMG53OUZDR3NJR1pEeFZaanlISFVoM21rNkM3SkdRTnhabjVH?=
 =?utf-8?B?MlUvSjBiNWRsZytZZ1laMnlsNU9va01KL2dyRVdveEJlallPbVNaVWxTV1Z0?=
 =?utf-8?Q?58L/BH3zYON0T3UsR0RQq3hJ7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cb49c05b-5319-45e8-96d5-08dbe9e4b487
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 16:21:09.4539
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Yh28dL7/8mQC7LzCyzcziUJ7o0Y1HdSp5UMBMGT3+hLVz+iDqBdz4sp5FX4EY215duRoFV43vo7CuwFyH38N8w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9364

On 20.11.2023 15:56, Andrew Cooper wrote:
> ... as part of cleaning up the types used.  Minor style and/or MISRA cleanup
> on some altered lines.
> 
> 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 Mon Nov 20 16:21:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:21:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637103.992838 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r571j-0006BE-1X; Mon, 20 Nov 2023 16:21:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637103.992838; Mon, 20 Nov 2023 16: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 1r571i-0006B7-V1; Mon, 20 Nov 2023 16:21:34 +0000
Received: by outflank-mailman (input) for mailman id 637103;
 Mon, 20 Nov 2023 16:21: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r571h-0006Ak-PG
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:21:33 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062c.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ddbefd6e-87c0-11ee-98df-6d05b1d4d9a1;
 Mon, 20 Nov 2023 17:21:33 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 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.7025.16; Mon, 20 Nov
 2023 16:21:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 16: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: ddbefd6e-87c0-11ee-98df-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XNB21WztLCqmYtUv/th9GhSwPFbQTL+QSahS46OfyMIVuUtzQu4+XftGFgXn+XusFyXxWCvmM4zsHZWG5wS1uJCoeBENr4oIMmG2ouIpf8bgdnSqRWrgfKfoJhLvwcfTNmuKJNPjDx97f+KZQAphirURUk/acBpH+HKlR/COt3drsyINWFwu+lROTtufhBDKrG6ZOz1jQHlY258lVE3XtmvXUvWlarnW2cIiJzxNGt41TRdrxS43SI8f6WFbboqWiEnOdmrJaChQYsBlDK7X12zeR49PVIlxNhV/LigJOzIliBXrJ0Kwhy6GjbRK2j+ZzBT4cr09B6k31l9VYmfHkg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0TXhZdvNeag9MoJq53HDCaS8i9hhhG1lp0lqEYY5eMU=;
 b=EfzN/D2BEF2iV2iz8A/LYA3lPSH1FH+JAvfsr5/5HMTTp6bJ82bBF+zmtr3Z9jC+WdI+Q1tMDKOq+YocoL7CTDUj3bDncpChmvK0Q1zvkzxCai9HhyqgklR1lAB0W2aniccHFbP06haPf6P3lPkCz8tffkmSS6pd9U18exnV8uY2pil++MkcRo6zieGknZhUZxG2haPsoiGtOlBO9s9x9NJeKK/RrBZwnDL+HZO1LeUIZH7N8QYCGppI0ZIDlvwsQt5dhkqJI45z5XaX1Hw6dxDbio4mpF/vE8IdUr/zpMN/ToB3c99skKbd3PHERveV7//kTOdndi3NN+wWakGiWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0TXhZdvNeag9MoJq53HDCaS8i9hhhG1lp0lqEYY5eMU=;
 b=D9RITzEk72LRLnMglNVGx9MGnwerBvG1JdT6iz1NlgKhSTyTNKCI/PggagpP1wphMGLUfUUab3gZtCR646ANhAZGFpFtTCOeD4dAtSU8EFD0xO8zj3ZV2vaOueUDk2j5BxGln+cUngktQTvSlxiZ4DbXHdJ4CKd9FRhQXMdnK//VHD6NqN/Om0SGHPzREVEYvyTrmqko0mFFtbAe795MNvvlwR6CO9Te+xTtEdtwQzVeQgdgrIOnsauZmNrk/z2/00TJ3MingMkk/Qly+yryU58vlwdbuRgnKMXEmhDEvAOJeehd12rDBL2l9V/RBH6LB4cvEMuJprUTyf6DBpOocg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <79ae6437-6e2b-47d6-87c1-5bddcba51633@suse.com>
Date: Mon, 20 Nov 2023 17:21:29 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen: Drop bool_t
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
 <20231120145623.167383-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120145623.167383-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0032.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9364:EE_
X-MS-Office365-Filtering-Correlation-Id: cd7d94e7-9ce1-4f7a-bf82-08dbe9e4c099
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0WDnLJ4Wm1f6+pm+Wzf/+NDEOWcpvP7vaLuxCDmGiDPEvcjgxm6eKhQK8Izi+RuJTWy5+C5BclhQ/iEp/X+bRaW1GcDavBmjDo5S7Er4EBqgobbEDBG9oLziyR+SIrKrmnmE+neTz2Ncrr/umwHPCdLgtJCK3KGVpPwI4/Fh1CSNbuV3GYV6GW0YtCCH9VNRLnuH2retwFsDEmAy1TmrqQ8pb8RKLmqKqdYRwO+1rwyV+JwLGfwatgji5VMNi2bXaK5NaJ+3pr9KVDglFmPZRgDz6G52qbUMbSs+r/DbgbK9cyDpO37em0mf+GCpJCBYNaRh0tZQ/D7US2PVkhhL+iu7Yc9C1yz5cadFFFIl5tP4aqItjAiOXg1OyrmMArSmu1tEIBa11iw33mywVYwE1jBp1p7/Jgb7eD8YWazKcAvQR4zRJJRfaNBO7Q+3/aPST4bdNmJ64+8nr7/ydDsu6GcWCuWEIDJixnzEsh+GWKJC5K+bPDdSltYqg5pRa0Thgrl2klCzUaJcTMX+mlqnCI2KVxCA96+Gt4iAHK4rwLrk9d2Wj/e8OhYgrYx23ETyDRSiMKbBoHuWpz6tZe44dZvbRwXka0EkPNwCz+ym/wluhaYJpYjgsKMCYNsJdDehhJFugY9JT78NPpFUNO6Rog==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(366004)(346002)(376002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(41300700001)(36756003)(86362001)(5660300002)(31696002)(2906002)(558084003)(6512007)(6506007)(478600001)(53546011)(6486002)(26005)(2616005)(38100700002)(8676002)(4326008)(8936002)(54906003)(66476007)(66556008)(316002)(6916009)(31686004)(66946007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VzVXZWp3VHZyQWtTMjhkUTQ1djU2ZzlBZklLYlNKV1JhU0lIcFI0aVc0eXdG?=
 =?utf-8?B?YmVPbmlMVUFIVGkzbkhGU3lRUG9UMmo2dnhXQjg4VGI2T2Qyck5ybGNqdStG?=
 =?utf-8?B?MGZSZDZQUVJEL04rNkJ2d2hEcXZPbXNEakFMbVpSTnBiZEFiN3d5c2NOQWVB?=
 =?utf-8?B?NG9DRDhkdXU1eUxUSi8xUjJDaWNGVFpoSy9QSXYrVU0vNWF6QkhMajhhQzhB?=
 =?utf-8?B?R3JueEJqcWk0amZUVG1LcmwweDNETW44amFIQktaclp0VzJlU20zM1dHZGYz?=
 =?utf-8?B?NXZPdFRGZjlRK1AzL1hGWWkzUDVBb25DNW5rcng2V3VTNWNuZVp2U2l5eDc2?=
 =?utf-8?B?THR3dUdmR3JxbG5kK1RQRnZUM1hjZU41c0FpVUtOTGowYWp2WVplMFBIQmtG?=
 =?utf-8?B?UjFvN3Rlcmo3NlIvK0Npd0NTVlBxVVJxKys4QlhGRURmY3dFVGs5ejIwTzk2?=
 =?utf-8?B?dDZtaHNIVzFHNis1ZUh4M1plNWhva1FNWU5NL0toVkVjTDF1N1NmTWQwQ0Ex?=
 =?utf-8?B?T0ozL2oyYVU5dHVldFpha09CMUhuQW5QK0hMVDd4MmgzR09oMXpFL0EzY1R5?=
 =?utf-8?B?a05nWGdid3EvQ3RQS0IxVHUrbndnVWtocnZJRFM4S2pYRS9lL3ZaY0xOWG9S?=
 =?utf-8?B?Zkw4amZpbGJKN2NxZStkYlorQmJuREE5VEt3R0xQSVY3RlJGVEI3WHByNXJx?=
 =?utf-8?B?YWdmMG5hTURRWGdHM0xlc3JhZUt3d0lyUGhOZWtnRktjUUNJdmM3YndsVjFk?=
 =?utf-8?B?bEdnblFBREZabzZpRVYwQmI4aUFZMlV5c29jSnVqdDRpVkN4MUJZWU5mbGRa?=
 =?utf-8?B?QlBYb0JGT3A2N29aS2w3RGxON2hKYmZUeDdHYWxOb2dKM1h4elVpUHErUFl4?=
 =?utf-8?B?aFY2cmhYRWcyelh6MGdSdlJPN2JIWUwvaVREQllDU0UrajhyL2ovbThoaGl6?=
 =?utf-8?B?K2lNSG53WXJIZS9Md2tDdDBoY2dPZ2txa1BuS1ozTTZNVTltcjBqUkNESHdI?=
 =?utf-8?B?VW1tdFFxdEZrQjNFUDdIN2MwejNPenR6TjRQN09Eb0VmdmtRd09uWFFPMTdS?=
 =?utf-8?B?TzlQYmtXaVVRUU8xRCtlZXl0ZFdMNUErWnpMY3JJOHI1QnBMZmhXamcvb1Rl?=
 =?utf-8?B?N0dsR0hxbXNzc0xpMzBacUVSRzl2SXM0WS8rRlhSV0NqZS93L1k1UXlZSW43?=
 =?utf-8?B?bEpLOGFzS001ZjlFdFhLZnI0bFBzSUFVK0FGNEd0dGwyeU1uVVpMcnVXVHhT?=
 =?utf-8?B?TGxFMy9VOUcvVHg0dGU4c2xEUVhiSTMwN1VFYkFUQzF1dlR4Z2N2VlBIckU3?=
 =?utf-8?B?YWsrbzk1OXExRXhMRzY0ZEpXdUc2U0Q1aVA1WUhPV0NjcTZGdzI3YWFnekgz?=
 =?utf-8?B?SUhaTDN0MEpJaUdWb0diRnd5OEFhNzdUS3dxSFFsQ2dFeVdHM2phQlJrRHlv?=
 =?utf-8?B?VUhrMVZXUUkyOEpqcGRCY2w5dG5WbTd1MjFOT2RETy9aaEJzbUVxaDV1Mm0v?=
 =?utf-8?B?TFpoUWlMUzhVUlNVMmR5STdkZ2thS09qY041R1N2Wjd5TGdzQXNESnkvTkRK?=
 =?utf-8?B?cTg5cGNSR0gyQUNsRzNLS1F2QlBIbDkyR2RZZ0ZPdFlGb0JoZm5QT3BoaGRY?=
 =?utf-8?B?YUJoWVc1S1hIQzZmanRFNnpPTERsYVN3U0ZseURFbUM3MWhmSmZUUjVQeFBI?=
 =?utf-8?B?eGFKV0Mxek80NzUvWTB0WTd0SStLaVVHUkRQakNVZ3R5NjlHNENyZEpzMXdu?=
 =?utf-8?B?L2JzcUp2cWk4TWNUb0Yzb0ZzVEhjajNFV01wUklMNkVFbmsyKzZsRkt2aXM1?=
 =?utf-8?B?RTF3Nnc0TjhJdzFjTnRNRENLQzc3R2c2TFhheEQxcUtBQ05OOGEvSldGSHM5?=
 =?utf-8?B?MHc1SWFEWDhibFRCZzJzVms5NlVkdXp6UkZEbCtWUytoTFJWS1dNbU5ZT3Zh?=
 =?utf-8?B?RnRmelFmWS8yRGQ3UGExRWZtTTFQUGZtMTRIRHEvOUNGS280WktVSEJPdzdW?=
 =?utf-8?B?NEdXT05TVENwSXF4d3c5UWFXVmdGRUpTMm5MNW9xVGtKZ09JM3h2bjNZTHhH?=
 =?utf-8?B?Y3ZsN1JYN0RqOVdzbmo2MTRKazFNNmFDeFloWWE4a0J4MUJQSjhqVXpzZGFY?=
 =?utf-8?Q?bn3QwR0vlm6/4YwlUlaffj0Oa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cd7d94e7-9ce1-4f7a-bf82-08dbe9e4c099
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 16:21:29.7382
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: oM3S1bngvTKAuni7pD9OfkBoZDwxNCeT/Xe30qmaJAYl+r2hGIEQI3koGz3iZnTmsGdg6MvCi6LOWrdcq7f/HQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9364

On 20.11.2023 15:56, Andrew Cooper wrote:
> No more users.
> 
> This completes the work started in commit 920234259475 ("xen/build: Use C99
> booleans"), July 2016.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:27:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:27:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637115.992849 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r577P-0000CW-RT; Mon, 20 Nov 2023 16:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637115.992849; Mon, 20 Nov 2023 16: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 1r577P-0000CO-NV; Mon, 20 Nov 2023 16:27:27 +0000
Received: by outflank-mailman (input) for mailman id 637115;
 Mon, 20 Nov 2023 16:27: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=9+lD=HB=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r577O-0000CH-CR
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:27:26 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe13::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af69c1f3-87c1-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 17:27:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6914.eurprd04.prod.outlook.com (2603:10a6:208:189::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Mon, 20 Nov
 2023 16:27:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.015; Mon, 20 Nov 2023
 16:27: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: af69c1f3-87c1-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gHuwbbVJqkpwOxts1TDgvWaelQZ837ffXVhAAnGMKsxVnB4SqyaeLT6r5yVTF+k2ANCJ1fpJzPTm7EjJAT4r2GnJ8qTJCgdAmyedFxhTrL/jQtw/NPGy6wIhPidVjegix0LRi1gymV4tH6MA3B3Lc2k6m5vuWoAaj7xbeCBQns1N1DMn/QntRVnjkhvNUgM3AGFgoPjlZJJTKA4HSZvR7DxefbiuLhZdW5Q2nfDfUY68WecEnri/yWJsIsyl+btNuYiDIqP151lkphSR6cDPClbpgFfXBdUdhEieRFmO3cBAad4pGhiLK0r1NC14UIZof4Xx0U1PmMD7L91ZtK5GLQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3PuD6t478LnefpI4PWpfa49iePoWbMixPjMlyIbMqVU=;
 b=I5iVaQLMMIKUy/FhvSY6wJxJWFnn4r5PRdoUxCx7FdWCxIpmpxqkBaZKxSCNMW/0YawUJwCkpvyfInVDZJY1GB/BPp3TiavurWCQfwF6hV7MMhYzxTcMj2z3gJmZTX/AF7YxOSosIZsK32/fprGYusTfKGGNuffsu2FB+UtXHJgOwLUTnRDSCekO631dbTEggY8xVA0RPVWWL50xWY4SukocYL6grun9/Mjtas+Qkje84yLyxqjOkfVmsKL1aRpei3HheM9ukQJKu+DoZZ1IipKEOj4xFLqfw1NF2Oo0LHm7rV6ps5K3854ecd+UFhigxgHTSXuyl1ddiDrdEqsHqA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3PuD6t478LnefpI4PWpfa49iePoWbMixPjMlyIbMqVU=;
 b=0VO61em4TxFGdwY+2G5fn/QZ/2AvMdlSYhN+4hNTW7TXfYErqnwyWmGZxoQjTHr2oB/BkHyPYt76plDL5M91uO27zPvZysmvw2B9obToTkrAFmDpliYxvO3w+o+tgASmbOjgEG9r5mERDrqv5UY0h12yjyK207MAD8L/7TShqmjQIfVR0z70jF5lulwbcSwovrl/73bs4FGh6m5AJUIDySNciUcm1ckJvrsPSGUIhtLadvfKdcvykrng6XgwMp5qantX1N1idDnU5OcunwG8iurjvzFRPfxWyxRv/zs873BxRgKIw60bDAnXmSWSoE2FMB+81KqJS8X98EQ6at1IOA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f39f60d0-6590-441f-ab08-f94e284d107f@suse.com>
Date: Mon, 20 Nov 2023 17:27:19 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] amd-vi: use the same IOMMU page table levels for PV
 and HVM
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
References: <20231117094749.81091-1-roger.pau@citrix.com>
 <20231117094749.81091-2-roger.pau@citrix.com>
 <e90d416e-f4dd-4b2c-9247-0e3aa35c26d9@citrix.com>
 <0392fe23-7589-4dc2-b664-1e7e01c3914d@suse.com>
 <ZVs0fvUQI9C7NRc5@macbook.local>
 <f414730f-307d-4ef6-9aaa-a861925fdab4@suse.com>
 <ZVs52elOtWbTaD0i@macbook.local>
 <a857c016-7cc7-48ed-968a-8a9f2748c8d3@suse.com>
 <ZVtKrKTyGli-Uj9H@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVtKrKTyGli-Uj9H@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0203.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6914:EE_
X-MS-Office365-Filtering-Correlation-Id: 6a18efc3-9818-41ee-9a8a-08dbe9e59238
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ld1psl8H0J5rO00eetzKwd3WOB9NRzHjCO2n0C7P2yn1sF5UqTQKVKy+R427QHSsXPD8pY+PWe1MzqTLTsjpwon/aPLWdxqXWkytXYnJRwbAi5bqN3ruYmGlywsR1IxEcs9kC/DqPL59vIcJCYaI0z5gq+7i492hbYmWUD58TJY4yGnWU1FMzOKFydd+xbzb5xVuTBJ/Hom995JKc2Lf/biGzCOrWR0d4ptxwtuje5RGBLjn0tpY/KnrtvDzxly4LHFR97PRrPQLXkRNEU8dTjy11q4Y2eN6guygbEXxNqCy4MUnwffu91yV2oHf/N6GOqV/l3yM0fm5iFXO4QlLSk3dWLwj0NOTPfuX+cz7un+XQgDqeUKMqsmGRetdoKekIDZYD53q91FD3Osh9jKA42n36n8z0XxIELxD5m7VrtxdRdOjgLPXvktwvNI3heUxAqrVR3Ux+aStVes8XkcgCI0QIO6fSZqW9URm+YIvHOGDwodUIDJcYQ5+zYBfUdgat7zkLVkDHBERbbSz0H9RYU9kdu/8tMQwBgs9OsJRf/Shts3fTK994xaRWxhR65TPtblFkeJHbz9seP6hjB2Yakqg9np/giG8VT+vlScESk+WUUNJjUTKoGl9P7LFhv/+FOaw6L603vUfwxLAP2ATRA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(136003)(396003)(376002)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(5660300002)(2906002)(26005)(2616005)(4326008)(8676002)(8936002)(31696002)(41300700001)(86362001)(83380400001)(36756003)(66946007)(53546011)(66556008)(66476007)(6506007)(6916009)(316002)(478600001)(6486002)(6512007)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWpnelNUejh0TTJwLzZYNnlaR2hIQmZaSlRIS1JYaFJ2dWNFUGFDTWFWNkgv?=
 =?utf-8?B?UUlnSi9wV0FOVjJ5eEVoZXlZWURPWHhkWFUzUE9OMklWOG9NeDlmV0tTSkU1?=
 =?utf-8?B?RHpnL1dFSmVvV2dadUFhZmQwMXlEM0Y3Z25RVWREeEU3aXNzb3VJTXIzbDlm?=
 =?utf-8?B?ZThpSGlCRkVaOG5RY3VabnZxeGRFTlBXcXF3cFB4Q09kR1N2REFMbXN5ZmpE?=
 =?utf-8?B?TVhES1FzQXRmT0szZ1RuREhMRzc2MThoVGxQUVhDelFEdEFBTXdTWHIwcDR6?=
 =?utf-8?B?NVJRNE5sMDV0SG15QVlwUzBrTmZyUVk4ekdyamJjZzdFeWQxMGQ0bUFtMW5Y?=
 =?utf-8?B?QlFDcGx5M0E4T3lSNGRMMzJmVGpNYnU0ZHlDdUVNV0dQMjlRYXBpZkpKVVRL?=
 =?utf-8?B?RWVyTkg1U3dQVTQ1aXU4NG92MzliYTZxbkJzZzk4bGFROEtaTVUxVWEyMWJU?=
 =?utf-8?B?VjlRMEtSMmd5MU9UbDQwSjVVTndhYnJQYStGSXBRZFZWUXRwWi9mejBremx1?=
 =?utf-8?B?dDR3NEF3d1JibzVzZ2RMNTJsUTB6NE1qR0ZnaUpZcmNJTXdocmdESFo4V2Z3?=
 =?utf-8?B?S0Jod0E1aHdwclp6eXVPVDl5c0d3dzFWeTR5UWhkbkcxTGlwQVU3VVFoOURV?=
 =?utf-8?B?Y1FhZHZZWGpUQWs2ZmJpNDZDQnovY25MMFpkTnJ1QkZucFJ6cmtuWThzKzM5?=
 =?utf-8?B?cWIrS1NBaWFWb3o4M29ETGl4elJLZ0JIYU5MeDg5TzVXRzZza0xGSnA3ZGRn?=
 =?utf-8?B?QXVrZnErOGsrNXlvTkRBWkhUUC8ydlJGanpEUU1GZmg5amtqY2FwWCt4ekxv?=
 =?utf-8?B?T05IQXAzSjlFVHU4bGdKVEhJZFpTSTlQcE4yUmhlUUE4bkhwK1A4R3lLQlB2?=
 =?utf-8?B?b0lQL2FwUXhGa3BpN3dCaHVqbWJZNkIzVlhMeCtsQWd5U3VnbGlmRGJvQnhj?=
 =?utf-8?B?QzlINDI5N0FIR1U3UHJTVlpmcTBWbFdKQnRtdnZFZHl5QWVYb2RQdDk2SCtN?=
 =?utf-8?B?Yzd5R29maFJ1OGVwcm5tNEM0MG9jSFNDUWZWNFZRdUo1SnVTMXJGZGdGQzNO?=
 =?utf-8?B?YTQrTE1rWWc4TjNqZW5BNFpGZWhBNHJNK1FCMWt3WmFTSHVTZjdOcDdxVU90?=
 =?utf-8?B?ZFNjMlVpREViSmNtdEgwYVJlaXZkSXRiT2FzVW03RmRYbXl6WVkydlRwN1lk?=
 =?utf-8?B?S0pUTUZLV29obXdMNUhwS01FaVYrQjQxaFhtMysyclNxMzZHcUxPY01DRFlT?=
 =?utf-8?B?RWRVV2s3NnFldEhmSXZ3NlR6WDVCMkhjR3kyc2NFUWxoVEVXZHA5aXNIZWlJ?=
 =?utf-8?B?N0ZFSnVDTDUxZVNqVW5hQ3cvVGg4eFlRVU8rTnNobHJ3UEVIZDBYcm8za2Fl?=
 =?utf-8?B?eU44VnBJYXVNQmpuOGFMUEhNTjIvYUxlbGxONmM3a2hUVUxxSFNIUFB3OWUz?=
 =?utf-8?B?Y01lRDh6SWNNOGZnQk04cWwwY0lRSUlaTVNTUmhacmRzZkxqWjVJMWZlbmpN?=
 =?utf-8?B?S3NmTDcxUkI4d0NTVGF4SVpPM2dFWjNIbUwxbkVYTTJiSkpjc3BHeEVMMUsv?=
 =?utf-8?B?OXV1Sm1jNUc5ZVQ0S0Q1QllYRUVaUkt4cVQ3OFE3RXlHdDhVWGhSRjI0Skxs?=
 =?utf-8?B?QU1vVUoxbGh6L0VnOXJBY1BkN1lUNjhNb04vVE11UHB5SFhqazJ3azgzTzBV?=
 =?utf-8?B?V0g1QlBRNU9kT2ZtcWV4ajYvYWtMaFNsUkhBVTlSVDdiK2FRY3RFWDhBTnhn?=
 =?utf-8?B?UDBVVjJQaklaZGhsQkNFeDdSZmNhM0pVRUkzUlBpelZUVlNwbXllNjMwNXpl?=
 =?utf-8?B?bjRBTklsaGdtU2JxMFZXNmp0ZlM5eXpNcVJxUmFuZ2pCcEdkc3VITEtWS0ZP?=
 =?utf-8?B?Yk1UOVJ1RzhJS05BdFZvMXMyQlpNbDgxOVlOeEJrUmFsWDhySUQ5TUZCVGs0?=
 =?utf-8?B?bitUdjJNQVN2bFQvM05SY3RaMEJOOGpWQXVMY211cXoyVWRYYzJJaTRENnE4?=
 =?utf-8?B?bFJiM1J0ZU5MdGJ0SW1hL09UaUt1SUpvelpVWCtNa0dWcjVSRG5RL1NsM0NL?=
 =?utf-8?B?dlFISzIzWnVSK3ZQejNHSmdqTzlPR2hLKzhRalZ3dmdFQStFVzYxWFhtd0Zm?=
 =?utf-8?Q?U+b8UmbKn69HVm/qjmPP+O8wF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6a18efc3-9818-41ee-9a8a-08dbe9e59238
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2023 16:27:21.4601
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QGgrBz1hWUhCfObr0mLpacivbiI6PPRotD1IVL+DuOmhCB9+ttgC7xnlpVoCVISv3qZA4pmUw03MQlSWPuQT+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6914

On 20.11.2023 13:01, Roger Pau Monné wrote:
> On Mon, Nov 20, 2023 at 12:34:45PM +0100, Jan Beulich wrote:
>> Yet still this would then feel like an issue with the last patch alone,
>> which the change here is merely avoiding (without this being a strict
>> prereq). Instead I'd expect us to use 4 levels whenever there are any
>> kind of regions (reserved or not) above 512G. Without disallowing use
>> of 3 levels on other (smaller) systems.
> 
> While reserved regions are the ones that made me realize about this
> IOMMU page table difference, what about device MMIO regions?
> 
> There's no limitation that avoids MMIO regions from living past the
> last RAM address, and possibly above the 512GB mark.
> 
> If anything for PV we should limit page table levels based on the
> supported paddr bits reported by the CPU, but limiting it based on the
> memory map seems plain bogus.

Right, matches what we were discussing (really it's the paddr_bits reported
to the domain, but I guess we have little reason to alter the host value
especially for Dom0).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:40:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:40:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637120.992859 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r57K5-0005Qi-Q0; Mon, 20 Nov 2023 16:40:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637120.992859; Mon, 20 Nov 2023 16:40: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 1r57K5-0005Qb-MQ; Mon, 20 Nov 2023 16:40:33 +0000
Received: by outflank-mailman (input) for mailman id 637120;
 Mon, 20 Nov 2023 16:40: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=Am9Z=HB=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r57K4-0005QV-3t
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:40:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83e0b60e-87c3-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 17:40:29 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 32DAB4EE0739;
 Mon, 20 Nov 2023 17:40:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 83e0b60e-87c3-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Mon, 20 Nov 2023 17:40:29 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen Devel <xen-devel@lists.xenproject.org>, Julien Grall
 <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Jbeulich
 <jbeulich@suse.com>, Roger Pau <roger.pau@citrix.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Consulting
 <consulting@bugseng.com>
Subject: Re: Remaining violations of MISRA Rule 7.4
In-Reply-To: <bdb7efb1-b8b2-4426-a46d-e8f5afdba0f6@citrix.com>
References: <21761f2a6633a08ceb2b70a46013486a@bugseng.com>
 <bdb7efb1-b8b2-4426-a46d-e8f5afdba0f6@citrix.com>
Message-ID: <edd14ce515721eebf5a897ae0e5b61c4@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

> I've just rebased and pushed the residual from the past work (although 
> I
> missed the ARM EFI fix.)
> 
> https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=0f06bab762f5201f3e00aaaee704c3c01f516b51
> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1065699873
> 
> I'm going to make a firm request that we fix this by activating
> -Wwrite-strings Xen wide, because that's by far and away the best way 
> to
> stop regressions creeping back in.
> 
> In start_xen(), basically whatever goes.  All that's doing is 
> processing
> of one command line into another, and your version looks a bit neater
> than mine.
> 
> The name.s cases (it's duplicated in x86 and ARM) are more tricky.  The
> compiler warning can be silenced by swapping name.s for name.cs but I
> have no idea whether Eclair can see through that piece of blatent 
> lying.
> 
> ~Andrew

Just to avoid any misunderstanding: do you have the intention of 
evaluating and then perhaps integrate the fixes that at the moment block 
the introduction of -Wwrite-strings and then respin your patch, or 
should I do something specifically?

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 16:58:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 16:58:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637124.992868 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r57b8-0002Yr-69; Mon, 20 Nov 2023 16:58:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637124.992868; Mon, 20 Nov 2023 16:58: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 1r57b8-0002Yk-3N; Mon, 20 Nov 2023 16:58:10 +0000
Received: by outflank-mailman (input) for mailman id 637124;
 Mon, 20 Nov 2023 16:58: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=KKU3=HB=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r57b6-0002Xd-M8
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 16:58:08 +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 fa8d573c-87c5-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 17:58:07 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-548f0b7ab11so258059a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 08:58:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fa8d573c-87c5-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700499487; x=1701104287; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4oFOk4Uq/VxJUBTkZLn+aIhZ9GS/XoVzYJ6W4NDthfw=;
        b=H6l8HbPvzVyJx+3f54ApqI8kzMFI9iu1jk743iKP+OSCPhNJc2Fgs/3Mxvo71ZACHe
         q5ck0uahL53H9o1yTD2NezvmWCKDf9z8Z045FD0YuB+yCVlF/buFCBFAogEYBI+/ivJY
         809a8Zh5HYomc51bOvtejuVGL8rYJhtBIjpryGMrZgK6NjRd1k909RG5Zt/+eWuntfYb
         62ULonpA50rIm7t+JgoBCusAuLSNv5epaM3W8zB+RkFzvmp8vrZ+5DdzrhR2QETQB5eA
         9D5/aFT97J65jbFc0iHE4aC7qrAbcP7SwphncXGdLm2cyOlFQEr89M5WASJt5OZgmJDZ
         js+A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700499487; x=1701104287;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4oFOk4Uq/VxJUBTkZLn+aIhZ9GS/XoVzYJ6W4NDthfw=;
        b=w/DtsYfFx5tY1qSAqoEhhwPKea6VA9WLRgDppqlfLFmYcsDJPFM8R/sXBAGZKOF1Mm
         bpW7UF+zzdt62z1kWktZ5Eal6dJVuMXJPJ47rDnC1wQqWkkqQvbv9OTn7sDOL8m0QnIn
         drdgsxUe6v3WYppAIHt01A6MefZW/8mNFQ46T2DkM30w0oNSSLFsjTXrRITWkRyeKTdM
         029Oferm8nDSkPgHE+SgmWrr8eHLKVStZBBn3IJGs2qNVcfgaOrp6b6i4gf3nGiQY2wR
         XBUggWSO3FAqYy3XY6m696GUOMvv3mjQ9Kza/kLfojfuK+QsQL55NFTlo5eUn1DL0Zm+
         6Djg==
X-Gm-Message-State: AOJu0Yzd3ekhf3H8RBX0nQIIHz10ZkMof83Cva2Tdigt9PQpeZD6kl3s
	D47El1s7XVLwHman2vQiwEtP26+/b5GS46drsjDCYetr
X-Google-Smtp-Source: AGHT+IHYx3mNXCmJDpuAMWlMnI+zVH0tJs9ZfV+M5IWkMPnVmtDszHHHs+vhiFvCHBgiplMQ9+zTbBbFA1tKfPArDW0=
X-Received: by 2002:aa7:d409:0:b0:544:bec7:36e5 with SMTP id
 z9-20020aa7d409000000b00544bec736e5mr5177681edq.22.1700499487118; Mon, 20 Nov
 2023 08:58:07 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-6-jgross@suse.com>
In-Reply-To: <20231110160804.29021-6-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 20 Nov 2023 11:57:54 -0500
Message-ID: <CAKf6xpt_dcX7fPkjmTy78qiUEGMtGvmC-D04PysGXZqKO6j74A@mail.gmail.com>
Subject: Re: [PATCH v2 05/29] tools/xenlogd: add 9pfs response generation support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 1:41=E2=80=AFPM Juergen Gross <jgross@suse.com> wro=
te:
>
> Add support for generation a 9pfs protocol response via a format based
> approach.
>
> Strings are stored in a per device string buffer and they are
> referenced via their offset in this buffer. This allows to avoid
> having to dynamically allocate memory for each single string.
>
> As a first user of the response handling add a generic p9_error()
> function which will be used to return any error to the client.
>
> Add all format parsing variants in order to avoid additional code churn
> later when adding the users of those variants. Prepare a special case
> for the "read" case already (format character 'D'): in order to avoid
> adding another buffer for read data support doing the read I/O directly
> into the response buffer.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

Thanks,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 17:30:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 17:30:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637133.992879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r585y-0003Ss-Kz; Mon, 20 Nov 2023 17:30:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637133.992879; Mon, 20 Nov 2023 17: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 1r585y-0003SJ-HE; Mon, 20 Nov 2023 17:30:02 +0000
Received: by outflank-mailman (input) for mailman id 637133;
 Mon, 20 Nov 2023 17:30: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r585x-0003Ge-IU
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 17:30:01 +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 6d80106e-87ca-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 18:29:58 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-409299277bbso16160815e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 09:29:58 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 e7-20020a05600c218700b003fee6e170f9sm13988231wme.45.2023.11.20.09.29.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 09:29:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d80106e-87ca-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700501398; x=1701106198; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=p6Gu0inCW6HbJNL3PVyQEnYaXlfihqVMN2PdK1CM+9Q=;
        b=qRRzL8Dik5CxTglsspJM4xrZ8kiks6o+UbK0dEFAf+xEpq0F1NOjfFXG2sHDjejFMH
         SdiQKWxfw1GjSRXrApYDRBguoXmAzFP4N3AQ8qFmwlDliKAP4ePqdU9S9IqYttcfUEcR
         7FN2Do8RO5tiP4osbHsbA1H7ptSo8/VJQ/ZxQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700501398; x=1701106198;
        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:subject:date:message-id:reply-to;
        bh=p6Gu0inCW6HbJNL3PVyQEnYaXlfihqVMN2PdK1CM+9Q=;
        b=a3JmK/S/Dx3j1N5ipe1Usw5nCR08R0ewudK7X+iqoa8eYDmk1LgTE32kXp3Nhv5hXY
         8CCnqfDSwHZDHQ1rYZdqu5eq2OoMAlgly50AlYYfb6Wn3FgSEnBo0zgVp4VbLOli7EYj
         JXXIaEfHp8JUOaq/27QDkhtStf4qYS+xOohSDSOCa7Ds0lK5hp9rPqoAHblSu7E7qr8n
         /EbnsC2kAsRDsaV5si2Sa9O9KVKb93gBnX3j/z7WfcI+aHDvgRME3mI6FLn2rGR62gJL
         HlVOL7VF0/xTasrbRQdFtc3vEdSXIX7Gwlh/N+O4brLsm+KqdwTmm9nNqNqpzJMhKL3v
         /HGQ==
X-Gm-Message-State: AOJu0YxCV/IF6Xwx3dntHborRaUusaS/lzs+6K42RVKqplI/nIzLFWD/
	I8Y+0gyElrH3R+JN3vtfwTo80g==
X-Google-Smtp-Source: AGHT+IE4CHL1MDHAW7i5sP88TgLnhWccQe7lwnRQeOq89Z3/F7skXOmNpmLI33kGrshVQwj68BZb4g==
X-Received: by 2002:a05:600c:548c:b0:408:403a:34dc with SMTP id iv12-20020a05600c548c00b00408403a34dcmr6143215wmb.37.1700501397965;
        Mon, 20 Nov 2023 09:29:57 -0800 (PST)
Date: Mon, 20 Nov 2023 18:29:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v10 10/17] vpci/header: handle p2m range sets per BAR
Message-ID: <ZVuXlLdot9-9fk4I@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-11-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231012220854.2736994-11-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:17PM +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Instead of handling a single range set, that contains all the memory
> regions of all the BARs and ROM, have them per BAR.
> As the range sets are now created when a PCI device is added and destroyed
> when it is removed so make them named and accounted.
> 
> Note that rangesets were chosen here despite there being only up to
> 3 separate ranges in each set (typically just 1). But rangeset per BAR
> was chosen for the ease of implementation and existing code re-usability.
> 
> This is in preparation of making non-identity mappings in p2m for the MMIOs.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>

I have some minor comments below, but overall looks good, with the
comments below addresses:

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

I think it's worth mentioning in the commit message that the error
handling of vpci_process_pending() is slightly modified, and that vPCI
handlers are no longer removed if the creation of the mappings in
vpci_process_pending() fails, as that's unlikely to lead to a
functional device in any case.

> 
> ---
> In v10:
> - Added additional checks to vpci_process_pending()
> - vpci_process_pending() now clears rangeset in case of failure
> - Fixed locks in vpci_process_pending()
> - Fixed coding style issues
> - Fixed error handling in init_bars
> In v9:
> - removed d->vpci.map_pending in favor of checking v->vpci.pdev !=
> NULL
> - printk -> gprintk
> - renamed bar variable to fix shadowing
> - fixed bug with iterating on remote device's BARs
> - relaxed lock in vpci_process_pending
> - removed stale comment
> Since v6:
> - update according to the new locking scheme
> - remove odd fail label in modify_bars
> Since v5:
> - fix comments
> - move rangeset allocation to init_bars and only allocate
>   for MAPPABLE BARs
> - check for overlap with the already setup BAR ranges
> Since v4:
> - use named range sets for BARs (Jan)
> - changes required by the new locking scheme
> - updated commit message (Jan)
> Since v3:
> - re-work vpci_cancel_pending accordingly to the per-BAR handling
> - s/num_mem_ranges/map_pending and s/uint8_t/bool
> - ASSERT(bar->mem) in modify_bars
> - create and destroy the rangesets on add/remove
> ---
>  xen/drivers/vpci/header.c | 256 ++++++++++++++++++++++++++------------
>  xen/drivers/vpci/vpci.c   |   6 +
>  xen/include/xen/vpci.h    |   2 +-
>  3 files changed, 184 insertions(+), 80 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 40d1a07ada..5c056923ad 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -161,63 +161,106 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
>  
>  bool vpci_process_pending(struct vcpu *v)
>  {
> -    if ( v->vpci.mem )
> +    struct pci_dev *pdev = v->vpci.pdev;
> +    struct map_data data = {
> +        .d = v->domain,
> +        .map = v->vpci.cmd & PCI_COMMAND_MEMORY,
> +    };
> +    struct vpci_header *header = NULL;
> +    unsigned int i;
> +
> +    if ( !pdev )
> +        return false;
> +
> +    read_lock(&v->domain->pci_lock);
> +
> +    if ( !pdev->vpci || (v->domain != pdev->domain) )
>      {
> -        struct map_data data = {
> -            .d = v->domain,
> -            .map = v->vpci.cmd & PCI_COMMAND_MEMORY,
> -        };
> -        int rc = rangeset_consume_ranges(v->vpci.mem, map_range, &data);
> +        read_unlock(&v->domain->pci_lock);

I think you want to clear v->vpci.pdev here in order to avoid having
to take the lock again and exit early from vpci_process_pending() if
possible.

> +        return false;
> +    }
> +
> +    header = &pdev->vpci->header;
> +    for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> +    {
> +        struct vpci_bar *bar = &header->bars[i];
> +        int rc;
> +
> +        if ( rangeset_is_empty(bar->mem) )
> +            continue;
> +
> +        rc = rangeset_consume_ranges(bar->mem, map_range, &data);
>  
>          if ( rc == -ERESTART )
> +        {
> +            read_unlock(&v->domain->pci_lock);
>              return true;
> +        }
>  
> -        write_lock(&v->domain->pci_lock);
> -        spin_lock(&v->vpci.pdev->vpci->lock);
> -        /* Disable memory decoding unconditionally on failure. */
> -        modify_decoding(v->vpci.pdev,
> -                        rc ? v->vpci.cmd & ~PCI_COMMAND_MEMORY : v->vpci.cmd,
> -                        !rc && v->vpci.rom_only);
> -        spin_unlock(&v->vpci.pdev->vpci->lock);
> -
> -        rangeset_destroy(v->vpci.mem);
> -        v->vpci.mem = NULL;
>          if ( rc )
> -            /*
> -             * FIXME: in case of failure remove the device from the domain.
> -             * Note that there might still be leftover mappings. While this is
> -             * safe for Dom0, for DomUs the domain will likely need to be
> -             * killed in order to avoid leaking stale p2m mappings on
> -             * failure.
> -             */
> -            vpci_deassign_device(v->vpci.pdev);
> -        write_unlock(&v->domain->pci_lock);
> +        {
> +            spin_lock(&pdev->vpci->lock);
> +            /* Disable memory decoding unconditionally on failure. */
> +            modify_decoding(pdev, v->vpci.cmd & ~PCI_COMMAND_MEMORY,
> +                            false);
> +            spin_unlock(&pdev->vpci->lock);
> +
> +            /* Clean all the rangesets */
> +            for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
> +                if ( !rangeset_is_empty(header->bars[i].mem) )
> +                     rangeset_empty(header->bars[i].mem);
> +
> +            v->vpci.pdev = NULL;
> +
> +            read_unlock(&v->domain->pci_lock);
> +
> +            if ( !is_hardware_domain(v->domain) )
> +                domain_crash(v->domain);
> +
> +            return false;
> +        }
>      }
> +    v->vpci.pdev = NULL;
> +
> +    spin_lock(&pdev->vpci->lock);
> +    modify_decoding(pdev, v->vpci.cmd, v->vpci.rom_only);
> +    spin_unlock(&pdev->vpci->lock);
> +
> +    read_unlock(&v->domain->pci_lock);
>  
>      return false;
>  }
>  
>  static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
> -                            struct rangeset *mem, uint16_t cmd)
> +                            uint16_t cmd)
>  {
>      struct map_data data = { .d = d, .map = true };
> -    int rc;
> +    struct vpci_header *header = &pdev->vpci->header;
> +    int rc = 0;
> +    unsigned int i;
>  
>      ASSERT(rw_is_write_locked(&d->pci_lock));
>  
> -    while ( (rc = rangeset_consume_ranges(mem, map_range, &data)) == -ERESTART )
> +    for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>      {
> -        /*
> -         * It's safe to drop and reacquire the lock in this context
> -         * without risking pdev disappearing because devices cannot be
> -         * removed until the initial domain has been started.
> -         */
> -        read_unlock(&d->pci_lock);
> -        process_pending_softirqs();
> -        read_lock(&d->pci_lock);
> -    }
> +        struct vpci_bar *bar = &header->bars[i];
> +
> +        if ( rangeset_is_empty(bar->mem) )
> +            continue;
>  
> -    rangeset_destroy(mem);
> +        while ( (rc = rangeset_consume_ranges(bar->mem, map_range,
> +                                              &data)) == -ERESTART )
> +        {
> +            /*
> +             * It's safe to drop and reacquire the lock in this context
> +             * without risking pdev disappearing because devices cannot be
> +             * removed until the initial domain has been started.
> +             */
> +            write_unlock(&d->pci_lock);
> +            process_pending_softirqs();
> +            write_lock(&d->pci_lock);
> +        }
> +    }
>      if ( !rc )
>          modify_decoding(pdev, cmd, false);
>  
> @@ -225,10 +268,12 @@ static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
>  }
>  
>  static void defer_map(struct domain *d, struct pci_dev *pdev,
> -                      struct rangeset *mem, uint16_t cmd, bool rom_only)
> +                      uint16_t cmd, bool rom_only)
>  {
>      struct vcpu *curr = current;
>  
> +    ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));

Shouldn't this be part of the previous commit that introduces the
usage of d->pci_lock?

> +
>      /*
>       * FIXME: when deferring the {un}map the state of the device should not
>       * be trusted. For example the enable bit is toggled after the device
> @@ -236,7 +281,6 @@ static void defer_map(struct domain *d, struct pci_dev *pdev,
>       * started for the same device if the domain is not well-behaved.
>       */
>      curr->vpci.pdev = pdev;
> -    curr->vpci.mem = mem;
>      curr->vpci.cmd = cmd;
>      curr->vpci.rom_only = rom_only;
>      /*
> @@ -250,33 +294,33 @@ static void defer_map(struct domain *d, struct pci_dev *pdev,
>  static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>  {
>      struct vpci_header *header = &pdev->vpci->header;
> -    struct rangeset *mem = rangeset_new(NULL, NULL, 0);
>      struct pci_dev *tmp, *dev = NULL;
>      const struct domain *d;
>      const struct vpci_msix *msix = pdev->vpci->msix;
> -    unsigned int i;
> +    unsigned int i, j;
>      int rc;
>  
>      ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
>  
> -    if ( !mem )
> -        return -ENOMEM;
> -
>      /*
> -     * Create a rangeset that represents the current device BARs memory region
> -     * and compare it against all the currently active BAR memory regions. If
> -     * an overlap is found, subtract it from the region to be mapped/unmapped.
> +     * Create a rangeset per BAR that represents the current device memory
> +     * region and compare it against all the currently active BAR memory
> +     * regions. If an overlap is found, subtract it from the region to be
> +     * mapped/unmapped.
>       *
> -     * First fill the rangeset with all the BARs of this device or with the ROM
> +     * First fill the rangesets with the BAR of this device or with the ROM
>       * BAR only, depending on whether the guest is toggling the memory decode
>       * bit of the command register, or the enable bit of the ROM BAR register.
>       */
>      for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>      {
> -        const struct vpci_bar *bar = &header->bars[i];
> +        struct vpci_bar *bar = &header->bars[i];
>          unsigned long start = PFN_DOWN(bar->addr);
>          unsigned long end = PFN_DOWN(bar->addr + bar->size - 1);
>  
> +        if ( !bar->mem )
> +            continue;
> +
>          if ( !MAPPABLE_BAR(bar) ||
>               (rom_only ? bar->type != VPCI_BAR_ROM
>                         : (bar->type == VPCI_BAR_ROM && !header->rom_enabled)) ||
> @@ -292,14 +336,31 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>              continue;
>          }
>  
> -        rc = rangeset_add_range(mem, start, end);
> +        rc = rangeset_add_range(bar->mem, start, end);
>          if ( rc )
>          {
>              printk(XENLOG_G_WARNING "Failed to add [%lx, %lx]: %d\n",
>                     start, end, rc);
> -            rangeset_destroy(mem);
>              return rc;
>          }
> +
> +        /* Check for overlap with the already setup BAR ranges. */
> +        for ( j = 0; j < i; j++ )
> +        {
> +            struct vpci_bar *prev_bar = &header->bars[j];
> +
> +            if ( rangeset_is_empty(prev_bar->mem) )
> +                continue;
> +
> +            rc = rangeset_remove_range(prev_bar->mem, start, end);
> +            if ( rc )
> +            {
> +                gprintk(XENLOG_WARNING,
> +                       "%pp: failed to remove overlapping range [%lx, %lx]: %d\n",
> +                        &pdev->sbdf, start, end, rc);
> +                return rc;
> +            }
> +        }
>      }
>  
>      /* Remove any MSIX regions if present. */
> @@ -309,14 +370,21 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>          unsigned long end = PFN_DOWN(vmsix_table_addr(pdev->vpci, i) +
>                                       vmsix_table_size(pdev->vpci, i) - 1);
>  
> -        rc = rangeset_remove_range(mem, start, end);
> -        if ( rc )
> +        for ( j = 0; j < ARRAY_SIZE(header->bars); j++ )
>          {
> -            printk(XENLOG_G_WARNING
> -                   "Failed to remove MSIX table [%lx, %lx]: %d\n",
> -                   start, end, rc);
> -            rangeset_destroy(mem);
> -            return rc;
> +            const struct vpci_bar *bar = &header->bars[j];
> +
> +            if ( rangeset_is_empty(bar->mem) )
> +                continue;
> +
> +            rc = rangeset_remove_range(bar->mem, start, end);
> +            if ( rc )
> +            {
> +                gprintk(XENLOG_WARNING,
> +                       "%pp: failed to remove MSIX table [%lx, %lx]: %d\n",
> +                        &pdev->sbdf, start, end, rc);
> +                return rc;
> +            }
>          }
>      }
>  
> @@ -356,27 +424,35 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>  
>              for ( i = 0; i < ARRAY_SIZE(tmp->vpci->header.bars); i++ )
>              {
> -                const struct vpci_bar *bar = &tmp->vpci->header.bars[i];
> -                unsigned long start = PFN_DOWN(bar->addr);
> -                unsigned long end = PFN_DOWN(bar->addr + bar->size - 1);
> -
> -                if ( !bar->enabled ||
> -                     !rangeset_overlaps_range(mem, start, end) ||
> -                     /*
> -                      * If only the ROM enable bit is toggled check against
> -                      * other BARs in the same device for overlaps, but not
> -                      * against the same ROM BAR.
> -                      */
> -                     (rom_only && tmp == pdev && bar->type == VPCI_BAR_ROM) )
> +                const struct vpci_bar *remote_bar = &tmp->vpci->header.bars[i];
> +                unsigned long start = PFN_DOWN(remote_bar->addr);
> +                unsigned long end = PFN_DOWN(remote_bar->addr +
> +                                             remote_bar->size - 1);
> +
> +                if ( !remote_bar->enabled )
>                      continue;
>  
> -                rc = rangeset_remove_range(mem, start, end);
> -                if ( rc )
> +                for ( j = 0; j < ARRAY_SIZE(header->bars); j++)
>                  {
> -                    printk(XENLOG_G_WARNING "Failed to remove [%lx, %lx]: %d\n",
> -                           start, end, rc);
> -                    rangeset_destroy(mem);
> -                    return rc;
> +                    const struct vpci_bar *bar = &header->bars[j];
> +
> +                    if ( !rangeset_overlaps_range(bar->mem, start, end) ||
> +                         /*
> +                          * If only the ROM enable bit is toggled check against
> +                          * other BARs in the same device for overlaps, but not
> +                          * against the same ROM BAR.
> +                          */
> +                         (rom_only && tmp == pdev && bar->type == VPCI_BAR_ROM) )

Is this line slightly too long?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 17:36:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 17:36:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637140.992888 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r58Bt-0005NC-EV; Mon, 20 Nov 2023 17:36:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637140.992888; Mon, 20 Nov 2023 17:36: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 1r58Bt-0005N5-Bm; Mon, 20 Nov 2023 17:36:09 +0000
Received: by outflank-mailman (input) for mailman id 637140;
 Mon, 20 Nov 2023 17:36: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=GG8d=HB=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r58Bs-0005Mz-KD
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 17:36:08 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 48b05f7e-87cb-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 18:36:06 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3316c6e299eso1931006f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 09:36:06 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 e16-20020a5d65d0000000b00332cc7c3aaasm343003wrw.21.2023.11.20.09.36.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 20 Nov 2023 09:36:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48b05f7e-87cb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700501766; x=1701106566; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=U+zrxTSiv+mPwxPDQgt4Nc8fl93+JfhM0+yr6TnjwCI=;
        b=OJMeM6S7Xbx2uQ+1tt0B2g9dWh5S8h+3r1+ofuvijlQK4sZWekoSeh/eGYh3RzFm7Z
         Xksmza+zeR3rj3l/oLbRnydy2rlA7ZPDiZNJvQiiP3f0iWZyCyFbQtOdz0bGvRU4yPJc
         XXhxCULPNiNt6HvB9akO2oB9LkccNNGdE52tE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700501766; x=1701106566;
        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:subject:date:message-id:reply-to;
        bh=U+zrxTSiv+mPwxPDQgt4Nc8fl93+JfhM0+yr6TnjwCI=;
        b=auyAcRXOkxuc/2YZZwkaHR/3JkHoECEv/zafYx8kMHGt02HyCy/X6bPg8NvuLwgtR3
         cNKoI82A8iKW27gJyzCY41FPpYG2avptzVYrH4tktj8ZkdvJHafs8X1DJFj8ooXJv7eD
         ME+GvX4PnKV82N/JTv6tdk2n8n10nZe0vNCUUkHVBc7nT+g9rivnoE+VnttRetsvdJQg
         hXP+41g/MaO736cOEdLB2Y4G507SxNF8EhWmNnsEPO13gv9W2uDBEvN8N0pehS86d5/T
         nenrtGIMxUU7dh4TGVNhtW2qY50u/N7LOq0D2jHs2+hMWvuHphHiP1oXuos844V7a/uk
         dj3Q==
X-Gm-Message-State: AOJu0YxYmPKveVAL6nIWy1wytBk+dJCc+ewM/YI6eOSSO/lzk+Ym4xJC
	9xDWA6i38r3JhaxLokfKuKGY5A==
X-Google-Smtp-Source: AGHT+IGNEMtJh+6xdTcx2IvMF/C/h5IJBEo1fcQR83RLp4UIQtSER1eHXPQq2DfFmIIhWoUfgxkfjg==
X-Received: by 2002:a5d:6985:0:b0:32f:7d50:267e with SMTP id g5-20020a5d6985000000b0032f7d50267emr6290550wru.9.1700501765935;
        Mon, 20 Nov 2023 09:36:05 -0800 (PST)
Date: Mon, 20 Nov 2023 18:36:04 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/ioapic: Check 1k alignment for IO-APIC physical
 addresses
Message-ID: <ZVuZBGcbyZK8CESL@macbook.local>
References: <20231120151006.168773-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231120151006.168773-1-andrew.cooper3@citrix.com>

On Mon, Nov 20, 2023 at 03:10:06PM +0000, Andrew Cooper wrote:
> The MP spec requires a minimum of 1k alignment.  So too does Xen's use of a
> single fixmap page to map the IO-APIC.
> 
> Reject out-of-spec values so we don't end up in a position where a bad
> firmware value causes Xen to use the wrong mapping.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Wei Liu <wl@xen.org>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  xen/arch/x86/io_apic.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
> index 0ef61fb2f167..db1ea6e2f2ca 100644
> --- a/xen/arch/x86/io_apic.c
> +++ b/xen/arch/x86/io_apic.c
> @@ -2589,10 +2589,11 @@ static void __init ioapic_init_mappings(void)
>          union IO_APIC_reg_01 reg_01;
>          paddr_t ioapic_phys = mp_ioapics[i].mpc_apicaddr;
>  
> -        if ( !ioapic_phys )
> +        if ( !ioapic_phys || (ioapic_phys & (KB(1) - 1)) )

Might be clearer to use !IS_ALIGNED(), otherwise:

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

>          {
>              printk(KERN_ERR
> -                   "WARNING: bogus zero IO-APIC address found in MPTABLE, disabling IO/APIC support!\n");
> +                   "WARNING: bogus IO-APIC address %08lx found in MPTABLE, disabling IO/APIC support!\n",

FWIW, I think the '!' at the end is not useful, and I would adjust
the last 'IO/APIC' to 'IO-APIC' if already modifying the line.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 17:38:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 17:38:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637146.992899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r58Dy-0006F8-RE; Mon, 20 Nov 2023 17:38:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637146.992899; Mon, 20 Nov 2023 17:38: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 1r58Dy-0006F1-O6; Mon, 20 Nov 2023 17:38:18 +0000
Received: by outflank-mailman (input) for mailman id 637146;
 Mon, 20 Nov 2023 17:38: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=6jYu=HB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r58Dx-0006Et-FZ
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 17:38:17 +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 964476c7-87cb-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 18:38:16 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-40790b0a224so16806835e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 09:38:16 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 f16-20020a05600c155000b003fe1fe56202sm14320824wmg.33.2023.11.20.09.38.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Nov 2023 09:38:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 964476c7-87cb-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700501896; x=1701106696; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=NSnj4Ir/BIyg7YqVMpipKz0H2y+awRGAO5bBiPXFF24=;
        b=nWRqB/ZJLQRjBKwRTBU92ulCIBhHgED+d0qIREP+vmUHe0sd68gxbPnBWM0npwV1v4
         IGrz9MeQ5W6Gf9kmScKMg/uYtp+ze0bIgeVT9wUfYCnKpaDNGewg8rQpYJ3ckVamqOHo
         oFugCq2JPb8cZt2ATrVwZxdwdNZst8CCgWArM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700501896; x=1701106696;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NSnj4Ir/BIyg7YqVMpipKz0H2y+awRGAO5bBiPXFF24=;
        b=UUx14Yfzsnwi0TuVBxLR5TjF1fARkvebiLPhwvxTnDnTxXd4etZ5ActwnDHsi0FkgS
         h7AUk4rnvVJ75RCS3l3r2RalbeZ/h5vTF2aboiza0T4PrIQc1A5QteQPElgUM9Ec5MPH
         USNTCmhKmG3sOqDCbARfPvIuG5/JIMFOR/zXz9lR2VkxxwztJqHYICugZjSvXXsux7JN
         z2A4ThxwtYjT+r/eXkJlXfxOBh0YPL6YLb3+upyI8c8l9mQ/FcWgXcvA+4gBFH1C3GCE
         ODfG5EeE837X3kcPQSLHGNX2jazjcferkxLPKRZBWRhs18BHx9M5cFKUqMB6zJFWN/xc
         Im0w==
X-Gm-Message-State: AOJu0YyGlpG5JPSutFoyICIUtoC7DQ+TfA4peItiZGJrkYxV79eL02Ud
	3O1/HHeBcvOQ5uZDqeydkgbqWQ==
X-Google-Smtp-Source: AGHT+IET9orfASAPMQ6FezJGVO+rpzWc3i4up7r8RvcwCAsrHJlIN/DH1juSOlSBTAxUUFeASXp3sw==
X-Received: by 2002:a05:600c:1c8b:b0:3fe:f667:4e4c with SMTP id k11-20020a05600c1c8b00b003fef6674e4cmr7004730wms.12.1700501896033;
        Mon, 20 Nov 2023 09:38:16 -0800 (PST)
Message-ID: <39cf6dbc-e5c4-43a4-abf1-2e62d3c3925a@citrix.com>
Date: Mon, 20 Nov 2023 17:38:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/ioapic: Check 1k alignment for IO-APIC physical
 addresses
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <JBeulich@suse.com>, Wei Liu <wl@xen.org>
References: <20231120151006.168773-1-andrew.cooper3@citrix.com>
 <ZVuZBGcbyZK8CESL@macbook.local>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZVuZBGcbyZK8CESL@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/11/2023 5:36 pm, Roger Pau Monné wrote:
> On Mon, Nov 20, 2023 at 03:10:06PM +0000, Andrew Cooper wrote:
>> The MP spec requires a minimum of 1k alignment.  So too does Xen's use of a
>> single fixmap page to map the IO-APIC.
>>
>> Reject out-of-spec values so we don't end up in a position where a bad
>> firmware value causes Xen to use the wrong mapping.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Wei Liu <wl@xen.org>
>> CC: Roger Pau Monné <roger.pau@citrix.com>
>> ---
>>  xen/arch/x86/io_apic.c | 5 +++--
>>  1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/xen/arch/x86/io_apic.c b/xen/arch/x86/io_apic.c
>> index 0ef61fb2f167..db1ea6e2f2ca 100644
>> --- a/xen/arch/x86/io_apic.c
>> +++ b/xen/arch/x86/io_apic.c
>> @@ -2589,10 +2589,11 @@ static void __init ioapic_init_mappings(void)
>>          union IO_APIC_reg_01 reg_01;
>>          paddr_t ioapic_phys = mp_ioapics[i].mpc_apicaddr;
>>  
>> -        if ( !ioapic_phys )
>> +        if ( !ioapic_phys || (ioapic_phys & (KB(1) - 1)) )
> Might be clearer to use !IS_ALIGNED()

Hmm, yeah.  Will change.

> , otherwise:
>
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

>
>>          {
>>              printk(KERN_ERR
>> -                   "WARNING: bogus zero IO-APIC address found in MPTABLE, disabling IO/APIC support!\n");
>> +                   "WARNING: bogus IO-APIC address %08lx found in MPTABLE, disabling IO/APIC support!\n",
> FWIW, I think the '!' at the end is not useful, and I would adjust
> the last 'IO/APIC' to 'IO-APIC' if already modifying the line.

Ok.  will do.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 17:55:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 17:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637153.992909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r58UB-0002Yx-6w; Mon, 20 Nov 2023 17:55:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637153.992909; Mon, 20 Nov 2023 17:55: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 1r58UB-0002Yq-3x; Mon, 20 Nov 2023 17:55:03 +0000
Received: by outflank-mailman (input) for mailman id 637153;
 Mon, 20 Nov 2023 17:55: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=WhrZ=HB=epam.com=prvs=56889b6e60=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r58U9-0002Yk-5x
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 17:55:01 +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 eb8482f8-87cd-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 18:54:59 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AKHjlpl005009; Mon, 20 Nov 2023 17:54:56 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2050.outbound.protection.outlook.com [104.47.2.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ug8f7h79b-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 20 Nov 2023 17:54:56 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB9421.eurprd03.prod.outlook.com (2603:10a6:10:418::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Mon, 20 Nov
 2023 17:54:52 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.026; Mon, 20 Nov 2023
 17:54: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: eb8482f8-87cd-11ee-98e0-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L51UDomAnVJsNXBi8KhcC1OLsCOocjzHgjCZh6Ev0hjILrNesvSzJGv84g9RnC1fzKZIx1CC8sxKXI0b53Vi/n8WkGiRUagbNnCqzMA4WCU00GWrASqVLEjJw6GNzb06sKcAo395hZgMsoQbmQgxrj5TOcY/IJ0xf48fMUuRZw3tvn+ANaq0YtUtJMwR7h8UVohXi42eCQl4gotftn4kkHBIddelMPZXTwssn9i43GGAPwLPxJceJ+2l07uCRTJ6Wl+kGxf7V1nyX9LhlUWbhjJLL22b3asvLdcMGZnmGBE40eYWQv/7Y+Q8MY6Ycw+vhYCvYqLYWyxPi2WyxNzo4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Kve1c783C17rBE+5Qbtqf0zjZhg6w19eo7cPFwsG0TM=;
 b=Fv0w4FnmiH8h186jTL5Xv1gTitfhUZaRqks8a4/7pzLPU7eoMOT1ALABaI5g677PXgPWCDx/v/yJv/xG5CZVVVEXWpsWwrwwTJmx9Iz/yG6pzvPquGftEpLUoxflQD1+oFk2pbfxKXSijkqB6qAz+x7njaK84R15Ou3U6S9mo+IW4VJVF2jLTOtUEQeYYp6zXcZVdwN3EgjN4HTZrxflOLPI28cVrO2jT2x5ViDkPIDYXlRRo808AzeWwR2oRTjdr2hhOnVkMzJxnth4ZFdDstperQeGoaASZG4jJYf8l9MwZaekjI9QZUg8A/1Mkv48jkMSVBRJVK6DTTpd1Ib3uQ==
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=Kve1c783C17rBE+5Qbtqf0zjZhg6w19eo7cPFwsG0TM=;
 b=FkuYD3nVOlazf4KBUQxCV0qenPCwsGMFgYVSmthAJIvl3E17SfSSJQujFRiJW/kQeU8MdaG5nqD9BHq9dC3WKxlwi5j1HJjCO/cbU9NhKg3Lk5tJzT4vCgF8JhOPEKB3MbCg6tOZDCWWHU0HED128jaYLBDuay6KSh3csSOIVHM+eUTQ/N6UYFJSAef5tFusYRpmLXeTWTOT2DBMCxMOZ7clPPoQlr89GKr1Csnb/G5nXSJvzJdWx+jQzEUCvlNWTyMUs4FyD6ckwdCyoPuNGs5nLSbQ2b0VpR2gFDxn0Job+mDnvNxk8QXaNcPcH1ISrS4F0KHE9QH91eNVzwkrkg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
        Juergen Gross <jgross@suse.com>, Julien Grall <julien@xen.org>,
        Anthony
 PERARD <anthony.perard@citrix.com>
Subject: [PATCH] xenstored: use correct conversion specifier in the tracing
 function
Thread-Topic: [PATCH] xenstored: use correct conversion specifier in the
 tracing function
Thread-Index: AQHaG9qpkpU9N65Obkmv1tQPzqtBKQ==
Date: Mon, 20 Nov 2023 17:54:52 +0000
Message-ID: <20231120175357.219142-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB9421:EE_
x-ms-office365-filtering-correlation-id: 7a3ab0e3-9a69-4fed-e66d-08dbe9f1cc05
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 s9IvvUwsnhWmaEwzCF/BkCkb12fIwNAgtvrNBg0Oca0q62D0gfBG4yxKJ2hQ7kIbUwVc+TKygjohNxCmdtdH73m6/tKh3aLR5s6Zo4P6ycnkG5mQKD7hmY4GgNuMSanytOJ4mfO5v3rU2dMBCs1a0n7oUX73SNZOekYDtnrhljP2LeUXajpmTHIFf791cy1pj3fl4SYhKu/UU1ncvjMtL2M6DLIwC0uRg5ozz5Zwy7WUYxsYA6E6zP1GJ7UibeKC/yIrm+I1Qf7LD6IN4BhxiyLBnTnSboriaz23WrPzf2oUu4Z+2qlHseoLtoSaXhIhxyc76v+tvUnT80WrutJsCC/ouCdW+gIP5aKm6Vt7jNv2swr0DleI+wyzDwQNgO3MfsIeFeuMe6WvTpCPsquV8i5Lw3rbLWjwRwXhcS1v06bSZVaxADxOx2neiAx5PctvhnpPdlHuq7+VY8bIgz10WyeQ+n+O52jTg+4ZP0yQyOpw2o73QOHpt+G4D+iWJIQisvygXp/mvgIeRR5viJD1HCK+eYCk2r84BJa8b8ng8wSnvxjvSm/W6vk0RxNF4BSVIFqv8YA1x4h29AgbExRdrJ1eZC1tYMwMPpxtvzaTQGOOk8qqzYY4CfjF1r6nOy7L
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:(13230031)(376002)(366004)(39860400002)(396003)(346002)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(91956017)(76116006)(66556008)(66946007)(316002)(6916009)(64756008)(66446008)(66476007)(54906003)(26005)(8676002)(4326008)(8936002)(38070700009)(36756003)(38100700002)(41300700001)(122000001)(86362001)(2906002)(4744005)(5660300002)(55236004)(83380400001)(6506007)(6486002)(478600001)(6512007)(1076003)(2616005)(71200400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?qiACC6tj+OxSP1rEFJAU/RtnsPVF6C5XkkWhRaEqvA1IRrfXDZdpR4P6FA?=
 =?iso-8859-1?Q?U9DkBXeNwh+gdvG/RMC54Z/qKd7v+393pXLHlP9D9ajlHNgQEArW+2B7Cv?=
 =?iso-8859-1?Q?162KV2DmdfmbYuCVk4AHqzOoGKI48gJ9lbeBLhHOanUqbg8IuIalg6xe8H?=
 =?iso-8859-1?Q?p9b9rWa/WwnGo/wVc84rY2VztrrzHQA/T99SSFn0RvnD8A4IJErB9ZJlNW?=
 =?iso-8859-1?Q?CfirfeqpZins2hxHi6cBGir2uyjnNBuRlDD3OPUIceacfFXVonZzReG0fH?=
 =?iso-8859-1?Q?3nhwLUKhI7RRtG7q+lY6NJPAifXM58oqfWVbnwQ4SconumCBD9Pps0yqIb?=
 =?iso-8859-1?Q?4Uj3VCbnFi817Cw95Bcw4c5POPROM4FJ9LrTmrkiRns6Fh0pv5rGzpcoC+?=
 =?iso-8859-1?Q?lkJHC6DWswMlKFgKXr1yrQV4F3rEm4P1Nw6nhcEqW8SS6lSmFkAqq+YQ/Z?=
 =?iso-8859-1?Q?pHUDgz9paK/5csq6At4iZe0qk2XZ1ZnF6aEId7c1xfuoma0Eslpl5Z6ZqK?=
 =?iso-8859-1?Q?J0KgLsgkKQqQwXIr+PKeyeDldJIXI+msVPgyh+bu3TS5gdMItdtTu05GTH?=
 =?iso-8859-1?Q?RLI89dqsy2q8J25hXPlLHnVSBHyD/x2Q86a4IAxp22USzhQ37Gfo9GIHJH?=
 =?iso-8859-1?Q?MCfzmIVNmhNGOF4EwM+eO3qxO+69nMgj3suaEXXW+pz4RHcuwK7HY+DkRU?=
 =?iso-8859-1?Q?KFjar1p1EcgD0rSkEiBGmldmVHtwtHli7GFArUWeN1wFzFERx0SF0xd5mn?=
 =?iso-8859-1?Q?EcTC+0QQSjxdgL2wtEwBsRg45048ai5eyeduDM6MTgdtfaDoWC58uggsEX?=
 =?iso-8859-1?Q?Ys4x9GwPdB6yNed51e4b5YfPB66ht62NZOebJZMrN88uS1KRsciotO/JR+?=
 =?iso-8859-1?Q?l4/KKriGS09LQpuwgn7PW/j0qEQHwS/MvC0/XhHQBQ4Wi+pCGGiNESoIzy?=
 =?iso-8859-1?Q?JfCxOsnK6n3riB2QkkahqDZ9HuWW/DpKclcPGa2SqsqaX5f0mlGu4pHTKg?=
 =?iso-8859-1?Q?gd8vG1BLJ7p5icfpJxAvmW7VlGC2DOgk8OgZ+OtSMA8eQMAKzKSKKc3qwg?=
 =?iso-8859-1?Q?VpmjO6U94EYVV0Wu5qMtC+gqup/eFIy3og0De9eRAHXKA34G9VrDyR5qSY?=
 =?iso-8859-1?Q?18KMAx22qoqm7uOIM83oa7y+wRpOLRt5rC7I765GRTndWUng2UoMKlvpoY?=
 =?iso-8859-1?Q?q+dFHMSAe4F2Yv9GV8ci+PL0nHDR63BgOmWF1Hx94tJVZCEpCl5ur7Scrl?=
 =?iso-8859-1?Q?kbOoB27oIFYUV5Nrno9mqX2qS4PspJ5WXkIpVGiScHJ8bNNyAoSJv8hyky?=
 =?iso-8859-1?Q?NM1ts+Inmi+jfD6afAJezka27G+pY6xHcl8jNbq6Nhf4Wp+X5+k74HWpqU?=
 =?iso-8859-1?Q?DJ2QxQLpJ0m1yHJ9k92FCbiWgPtL53IkTz1E7CvnLFqc96Sy4TJKkqFa5L?=
 =?iso-8859-1?Q?PsOCoATjYkyrXXEpMBZ7uyEoxq6ya/yr+YNpxF+V9Y8bJsI6ibfiQ+u9zC?=
 =?iso-8859-1?Q?Xl093LtkC5CQHLgu/OTkqHGOIBqenvJAikS4FYNslSY5gyEnekb5yA5JI9?=
 =?iso-8859-1?Q?xulzUUL/fsGW1zC3eT5//TWUlB8ME2mzjkMpHNHDJGIDnr0kY2KIw62w3F?=
 =?iso-8859-1?Q?i7ojOjHry+ZRX9ocUCBlYAWa+4b225pnNbAirMKem9fs1NWiDysZfjug?=
 =?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: 7a3ab0e3-9a69-4fed-e66d-08dbe9f1cc05
X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2023 17:54:52.2052
 (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: EF2UW2eFiz/YGKFLXSuKALIYM6JUHcEIGy+qULWd7//q+NHFbCGNy2dFL4mZAYO/Fjshez8Yg10u4V4CFxiHaKuLC04Fyx8gaGipe5yT76U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB9421
X-Proofpoint-ORIG-GUID: 58HyNEcjv5fV71zXVRjN0XiY-qCMtleP
X-Proofpoint-GUID: 58HyNEcjv5fV71zXVRjN0XiY-qCMtleP
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-20_17,2023-11-20_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 phishscore=0 adultscore=0 bulkscore=0 suspectscore=0 mlxlogscore=670
 malwarescore=0 priorityscore=1501 spamscore=0 clxscore=1015 mlxscore=0
 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311200127

Previous change to xenstored used "%d" to format conn->id while in fact
conn->id has "unsigned int" type, so "%u" should be used.

Fixes: 97f8555acbf3 ("xenstored: print domain id in traces")
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 tools/xenstored/core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 311764eb0c..184b130d12 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -135,7 +135,7 @@ static void trace_io(const struct connection *conn,
 	now =3D time(NULL);
 	tm =3D localtime(&now);
=20
-	trace("io: %s %p (d%d) %04d%02d%02d %02d:%02d:%02d %s (",
+	trace("io: %s %p (d%u) %04d%02d%02d %02d:%02d:%02d %s (",
 	      out ? "OUT" : "IN", conn, conn->id,
 	      tm->tm_year + 1900, tm->tm_mon + 1,
 	      tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec,
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 19:10:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 19:10:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637158.992918 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r59eh-00025e-MV; Mon, 20 Nov 2023 19:09:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637158.992918; Mon, 20 Nov 2023 19: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 1r59eh-00025X-Jl; Mon, 20 Nov 2023 19:09:59 +0000
Received: by outflank-mailman (input) for mailman id 637158;
 Mon, 20 Nov 2023 19:09: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 1r59eg-00025R-LX
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 19:09: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 1r59eg-0005fE-8X; Mon, 20 Nov 2023 19:09:58 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[192.168.18.184]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r59eg-00012S-0s; Mon, 20 Nov 2023 19: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=ImuFywwIa5lZ56Omb8eAXNN1m6GhuoHO9B8/FHp+SxA=; b=mG0l/RofcS04ss1nYzZk+JyBt1
	mwzn3sVtahv0JR+1SNCx0KHGrIB8LimCZxatp5Q6Pm6o8FjA235CxJuytjV72dCuma6Mu2wA4x71x
	X1baMkW8jSx4midiwUbdQYHVR5ilYyCztBiaz/As1GxyCXUdYqrq+WZaptIpDRlpdet8=;
Message-ID: <f27fc7bb-c61a-45e1-acbe-780c13ed66d4@xen.org>
Date: Mon, 20 Nov 2023 19:09:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v9 0/8] xen/arm: Split MMU code as the prepration of MPU
 work
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>, Wei Chen <wei.chen@arm.com>,
 Penny Zheng <penny.zheng@arm.com>,
 Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231116145032.1651305-1-Henry.Wang@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Henry,

On 16/11/2023 14:50, Henry Wang wrote:
> Based on the discussion in the Xen Summit [1], sending this series out after
> addressing the comments in v8 [2] as the preparation work to add MPU support.
> 
> Mostly code movement and function folding, with some of Kconfig and build
> system (mainly Makefiles) adjustment.
> 
> This series is based on:
> 6cd046c501 xen/arm: Enlarge identity map space to 10TB
> 
> [1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
> [2] https://lore.kernel.org/xen-devel/20231023021345.1731436-1-Henry.Wang@arm.com/
> 
> Henry Wang (6):
>    xen/arm: Split page table related code to mmu/pt.c
>    xen/arm: Split MMU system SMP MM bringup code to mmu/smpboot.c
>    xen/arm: Fold mmu_init_secondary_cpu() to head.S
>    xen/arm: Extract MMU-specific MM code
>    xen/arm: Split MMU-specific setup_mm() and related code out
>    xen/arm: Fold pmap and fixmap into MMU system
> 
> Penny Zheng (2):
>    xen/arm: Rename init_secondary_pagetables() to prepare_secondary_mm()
>    xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}

I have committed the series. Thanks for the series. Looking forward to 
review the rest of the MPU support!

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 19:12:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 19:12:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637160.992929 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r59gy-0003iD-2p; Mon, 20 Nov 2023 19:12:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637160.992929; Mon, 20 Nov 2023 19:12: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 1r59gy-0003i6-0B; Mon, 20 Nov 2023 19:12:20 +0000
Received: by outflank-mailman (input) for mailman id 637160;
 Mon, 20 Nov 2023 19:12:19 +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 1r59gx-0003i0-0B
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 19:12:19 +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 1r59gw-0005iv-Ml; Mon, 20 Nov 2023 19:12:18 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[192.168.18.184]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r59gw-0001Hy-GG; Mon, 20 Nov 2023 19:12: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=NMufjo4w6Ul+jouV0ie2O+WYaWCcaQYxyGJE7LuRQ4I=; b=ONSMl/P2q8WtbLxXUgK7Z4WC/Z
	6/ihg1NtejXmqOk7FenD4HDf+1cwZAZJjwTR18CHTCafLSTu7cGt6SPU3WiqWQibPtYzRfohlkOdE
	D7CX9l6nJRfLQrnb/aUc8NaoLQad1UDyPT0hFXXnMvMJi3U6eH69e3MOUMdQzNFQCQig=;
Message-ID: <d02e4c53-cc0d-49eb-8c2a-a88b4ead6fb5@xen.org>
Date: Mon, 20 Nov 2023 19:12:16 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN v5 0/2] xen/arm: Split MMU code as the prepration of MPU
 work form Arm32
Content-Language: en-GB
To: Ayan Kumar Halder <ayan.kumar.halder@amd.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, stefano.stabellini@amd.com,
 Volodymyr_Babchuk@epam.com, bertrand.marquis@arm.com, michal.orzel@amd.com,
 jgrall@amazon.com, henry.wang@arm.com
References: <20231120144859.170965-1-ayan.kumar.halder@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231120144859.170965-1-ayan.kumar.halder@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 20/11/2023 14:48, Ayan Kumar Halder wrote:
> Hi,

Hi Ayan,


> These are the set of patches based on top of
> "[PATCH v9 0/8] xen/arm: Split MMU code as the prepration of MPU work".
> This is the preparation work to add MPU support on Arm32.
> 
> Changes from :-
> 
> v1 - Dropped "[XEN v1 1/4] xen/arm: arm32: Move pt_enforce_wxn() so that it can be bundled with other MMU functionality"
> and "[XEN v1 4/4] xen/arm: traps.c: Enclose VMSA specific registers within CONFIG_MMU".
> 
> v2 - Changes mentioned in individual patches.
> 
> v3 - Changes mentioned in individual patches.
> 
> v4 - Changes mentioned in individual patches.
> 
> Ayan Kumar Halder (2):
>    xen/arm32: head: Introduce enable_{boot,secondary}_cpu_mm()
>    xen/arm32: head Split and move MMU-specific head.S to mmu/head.S

This is now committed. Thanks for the work.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 19:18:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 19:18:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637165.992939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r59ml-000572-T8; Mon, 20 Nov 2023 19:18:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637165.992939; Mon, 20 Nov 2023 19: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 1r59ml-00056v-PA; Mon, 20 Nov 2023 19:18:19 +0000
Received: by outflank-mailman (input) for mailman id 637165;
 Mon, 20 Nov 2023 19:18: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 1r59mk-00055L-3o
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 19:18: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 1r59mj-0005oz-Ux; Mon, 20 Nov 2023 19:18:17 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[192.168.18.184]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r59mj-0001SP-Oc; Mon, 20 Nov 2023 19: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=jo+ueBqGTAYWIiofWBvW2q/gkJqLh3UTeecc3I580lg=; b=MCH321xxsGmp5BV2jWxnO8qyj1
	kHVnGBA64eqXkwsvd/kvoyXwPz9iL1CiS3V80dzMJxp461w7Bbf4eyOHKUWuEeCj3T9YsJJSKncIi
	lH7kuVzkPWHMvB/eXYwu68Asjma+uxDnJJZ9BokeOyjFE2hmVK76OhYxkL504xfY8hzw=;
Message-ID: <1a726005-ba0e-426b-9b65-5975a924cad5@xen.org>
Date: Mon, 20 Nov 2023 19:18:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/treewide: Switch bool_t to bool
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: George Dunlap <George.Dunlap@citrix.com>, Jan Beulich
 <JBeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
 <20231120145623.167383-3-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231120145623.167383-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 20/11/2023 14:56, Andrew Cooper wrote:
> @@ -1662,7 +1662,7 @@ int dt_device_get_irq(const struct dt_device_node *device, unsigned int index,
>       return dt_irq_translate(&raw, out_irq);
>   }
>   
> -bool_t dt_device_is_available(const struct dt_device_node *device)
> +bool dt_device_is_available(const struct dt_device_node *device)
>   {
>       const char *status;
>       u32 statlen;
> @@ -1680,7 +1680,7 @@ bool_t dt_device_is_available(const struct dt_device_node *device)
>       return 0;

Just because it is in context, shouldn't this now be 'return false'? 
There might be others, but they can be modified afterwards (this patch 
is already large).

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 19:18:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 19:18:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637168.992949 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r59nL-0005gW-3n; Mon, 20 Nov 2023 19:18:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637168.992949; Mon, 20 Nov 2023 19:18: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 1r59nL-0005gP-17; Mon, 20 Nov 2023 19:18:55 +0000
Received: by outflank-mailman (input) for mailman id 637168;
 Mon, 20 Nov 2023 19:18: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 1r59nK-0005g5-A1
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 19:18: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 1r59nK-0005pb-0L; Mon, 20 Nov 2023 19:18:54 +0000
Received: from 54-240-197-236.amazon.com ([54.240.197.236]
 helo=[192.168.18.184]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r59nJ-0001SP-Qv; Mon, 20 Nov 2023 19: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>
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=h1lhQFhkZ3jbmRbO/pNPyxPhbd7mk5bTF98iJ2fI5YU=; b=ZgZpUcsAeLFcDU1tE+sxjiAaXk
	UHqrMwlafr/JT+5oCyBEzjEfE2Mg61v3UPOUbGm/Vdvtm0i7fv1crxjFs5fk7VqUexO8f1Bmo8BUe
	9TFoLfMFN/J0M+3n+4UxSUs5ti8TByXKrLLqCmyesBj++KxdUVfOYcAzlf5XsDgmQgSI=;
Message-ID: <a473a6b8-4fba-4fb6-b2f6-feb013baf20d@xen.org>
Date: Mon, 20 Nov 2023 19:18:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.com>, Michal Orzel <michal.orzel@amd.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Rahul Singh <Rahul.Singh@arm.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231114090356.875180-1-luca.fancellu@arm.com>
 <20231114090356.875180-4-luca.fancellu@arm.com>
 <98980da0-2940-43d2-a6c1-e064f4921e74@amd.com>
 <0c32e2eb-7ffe-486c-a11c-477c3cff5cba@xen.org>
 <a60d951b-7e23-4421-a7c6-68b99f33cba0@amd.com>
 <DB403D33-700B-41A4-94D5-233D26900708@arm.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <DB403D33-700B-41A4-94D5-233D26900708@arm.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Luca,

On 20/11/2023 14:27, Luca Fancellu wrote:
> 
>>>>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>>>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>>>>
>>>> with one remark...
>>>>
>>>>> ---
>>>>> Changes from v4:
>>>>>   - fixed name in inclusion macro __ASM_* instead of __ARM_*, fixed
>>>>>     emacs local variable 'end:', style fix (Michal)
>>>>> Changes from v3:
>>>>>   - remove header in dom0less-build.c (Michal)
>>>>> Changes from v2:
>>>>>   - move allocate_bank_memory back in domain_build.c, remove header
>>>>>     from dom0less-build.c.
>>>>> ---
>>>>>   xen/arch/arm/Makefile                     |    1 +
>>>>>   xen/arch/arm/dom0less-build.c             | 1018 +++++++++++++++++
>>>>>   xen/arch/arm/domain_build.c               | 1265 +++------------------
>>>>>   xen/arch/arm/include/asm/dom0less-build.h |   20 +
>>>>>   xen/arch/arm/include/asm/domain_build.h   |   60 +
>>>>>   xen/arch/arm/include/asm/setup.h          |    1 -
>>>>>   xen/arch/arm/setup.c                      |   33 +-
>>>>>   7 files changed, 1240 insertions(+), 1158 deletions(-)
>>>>>   create mode 100644 xen/arch/arm/dom0less-build.c
>>>>>   create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
>>>>>
>>>>
>>>> [...]
>>>>> diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
>>>>> new file mode 100644
>>>>> index 000000000000..81446cbd8bf3
>>>>> --- /dev/null
>>>>> +++ b/xen/arch/arm/include/asm/dom0less-build.h
>>>>> @@ -0,0 +1,20 @@
>>>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>>>> +
>>>>> +#ifndef __ASM_DOM0LESS_BUILD_H_
>>>>> +#define __ASM_DOM0LESS_BUILD_H_
>>>>> +
>>>>> +#include <asm/kernel.h>
>>>> No need for this include, especially if you are removing it in the subsequent patch.
>>>
>>> Are you suggesting that this patch builds without including asm/kernel.h?
>> Yes.
>>
>>>
>>>> This could be done on commit (+ there is a conflcit between your series and Henry's mmu/mpu split)
>>>
>>> While I am in general happy to handle some changes on commit, I don't
>>> want to solve conflict between series.
>>>
>>> One will have to rebase on top of the others. I suggest that this is
>>> just rebased on top of Henry, purely because I will likely commit it
>>> today or tomorrow.
>> Sounds ok.
> 
> Hi Julien, Michal,
> 
> I will rebase the serie on top of Henry’s patches when they will be merged and I will address the remaining
> comments.

They are now merged.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 19:46:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 19:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637172.992960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ADT-00033M-8L; Mon, 20 Nov 2023 19:45:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637172.992960; Mon, 20 Nov 2023 19: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 1r5ADT-00033F-3S; Mon, 20 Nov 2023 19:45:55 +0000
Received: by outflank-mailman (input) for mailman id 637172;
 Mon, 20 Nov 2023 19: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5ADR-000339-P7
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 19:45:53 +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 6805024e-87dd-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 20:45:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6805024e-87dd-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700509551;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=yFQc26gzfmbTcEDNNjFjExz5m4AzfV92VeuGdWTrzkI=;
  b=JMrHxTZn7X9IU3hRs6lImOgZBtzHA6L4y5lLxuJtxLo47LYz543bsNrs
   IcO9SHcpOzBxDeyAYvLMT7Fqc0YMGIQ0FwCig23kvA+zB+vpF5cKqgdL1
   B7y50ujcJoKNGkTaeakPA6WmjY60mN4NpnXe0ZXY7AJuXn9EAIWt7SQLe
   I=;
X-CSE-ConnectionGUID: cE82oZdhRC+sT6LMA5oU+g==
X-CSE-MsgGUID: PgqF9hgsSeKtaT0uG+tFVA==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127433654
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:iAn1fq2j4aap34FIOPbD5Zpxkn2cJEfYwER7XKvMYLTBsI5bpzYDm
 2UcWW3VM/+IM2f8LohwPouwphlUu5fXmIUxHABlpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliOfQAOK6UbaYUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb9HuDgNyo4GlD5wVkPagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfCkwer
 /sqJDA3RVOYu7yS5ZvmTdQviZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGc+KkuYC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTH5oJxR3G+
 z6uE2LROh4DGo2fxiG+/1Gwj9OXgAy4RKwsPejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHsljw2VsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LQHGz
 XfQwYmvX2Y29uTIGDTCrt94sA9eJwAeAD9YYh0ITTEuoMLf/qUWp0/Ic5VsRfvdYsLOJd3g/
 9ybhHFh3+1P3JBRjvvTwLzRv967SnH0ou8JCub/BDvNAvtRPtLNWmBRwQGzAQx8BIiYVEKdm
 3MPhtKT6usDZbnUy3TVHb1QRu3wvqnbWNE5vbKJN8N5n9hK0yT7Fb28HRkkfBs5Wir6UWOBj
 LDvVfN5u8YIYSrCgV5faIOtEcU6pZUM5vy8Ps04muFmO8ArHCfepXEGWKJl9zy1+KTauf1la
 MjznAfFJSpyNJmLOxLvH7xBie90nn9vrY4RLLiipymaPXOlTCb9Yd843JGmN4jVMIvsTN3pz
 uti
IronPort-HdrOrdr: A9a23:jX3vsKxVb1I93zI7JhVHKrPwIL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZMmPH7P+VIssR4b+exoVJPtfZq+z+8R3WByB8bAYOCOggLBR+sO0WKL+UyHJ8SUzI9gPM
 lbHJSWcOeAb2RHsQ==
X-Talos-CUID: 9a23:Bv8DKWGCUi5XZuFDqmJs2R5OHfIpckf2j2zsfWudIDtudf6aHAo=
X-Talos-MUID: 9a23:lgCH9gUvx2cNFvzq/AfjnR8zNMhz2KmNFEkxyYgp+NWqCwUlbg==
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="127433654"
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: More use of nocall
Date: Mon, 20 Nov 2023 19:45:37 +0000
Message-ID: <20231120194537.1341452-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

sysenter_eflags_saved() and int80_direct_trap() are now only used by a single
translation unit.  Move the declarations into the respective traps.c, renaming
int80_direct_trap() to entry_int80() to match the style elsewhere.

Annotate all 3 with nocall like all other entry paths.

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>

Followup from XSA-446
---
 xen/arch/x86/include/asm/processor.h | 4 +---
 xen/arch/x86/pv/traps.c              | 3 ++-
 xen/arch/x86/traps.c                 | 2 ++
 xen/arch/x86/x86_64/entry.S          | 2 +-
 4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/include/asm/processor.h b/xen/arch/x86/include/asm/processor.h
index b0d2a62c075f..ff62b080afbf 100644
--- a/xen/arch/x86/include/asm/processor.h
+++ b/xen/arch/x86/include/asm/processor.h
@@ -457,9 +457,7 @@ static inline void enable_nmis(void)
                      [cs] "r" (__HYPERVISOR_CS) );
 }
 
-void sysenter_entry(void);
-void sysenter_eflags_saved(void);
-void int80_direct_trap(void);
+void nocall sysenter_entry(void);
 
 struct stubs {
     union {
diff --git a/xen/arch/x86/pv/traps.c b/xen/arch/x86/pv/traps.c
index 240d1a2db7a3..83e84e276233 100644
--- a/xen/arch/x86/pv/traps.c
+++ b/xen/arch/x86/pv/traps.c
@@ -132,6 +132,7 @@ static void cf_check nmi_softirq(void)
     *v_ptr = NULL;
 }
 
+void nocall entry_int80(void);
 void nocall entry_int82(void);
 
 void __init pv_trap_init(void)
@@ -144,7 +145,7 @@ void __init pv_trap_init(void)
 
     /* Fast trap for int80 (faster than taking the #GP-fixup path). */
     _set_gate(idt_table + LEGACY_SYSCALL_VECTOR, SYS_DESC_irq_gate, 3,
-              &int80_direct_trap);
+              &entry_int80);
 
     open_softirq(NMI_SOFTIRQ, nmi_softirq);
 }
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index e1356f696aba..9a6d29f24ae1 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -1884,6 +1884,8 @@ void do_device_not_available(struct cpu_user_regs *regs)
 #endif
 }
 
+void nocall sysenter_eflags_saved(void);
+
 /* SAF-1-safe */
 void do_debug(struct cpu_user_regs *regs)
 {
diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index 9a7b129aa7e4..bf654fe27ec3 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -385,7 +385,7 @@ UNLIKELY_END(sysenter_gpf)
 #endif
         jmp   .Lbounce_exception
 
-ENTRY(int80_direct_trap)
+ENTRY(entry_int80)
         ENDBR64
         ALTERNATIVE "", clac, X86_FEATURE_XEN_SMAP
         pushq $0
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 19:58:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 19:58:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637178.992969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5AP6-0005dS-7l; Mon, 20 Nov 2023 19:57:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637178.992969; Mon, 20 Nov 2023 19: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 1r5AP6-0005dL-4E; Mon, 20 Nov 2023 19:57:56 +0000
Received: by outflank-mailman (input) for mailman id 637178;
 Mon, 20 Nov 2023 19: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5AP4-0005dF-N5
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 19:57:54 +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 15dc2a2f-87df-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 20:57:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15dc2a2f-87df-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700510273;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=F6BE6DaO5RCJ4Mf3DMA5G4hQDI/leLhW7ZDBWzAUaRk=;
  b=XDpoA+DSbS2qDl3dIY64Izjb1C6YTpejZXZxlnMVLhYr4aVZk4eC00jK
   sKk2BHUVt4F1GGiTIRB3FcwWSDxeEDY3WXYYTbtd9a+tqJP5d+mAg25zC
   j7wBKY9JrF+6TS2sRM+TLxgYH9F4JCAHSH0GFYvI6EPUCLIx/O/9l+JEW
   c=;
X-CSE-ConnectionGUID: kjzKOmX4SNKP/2gCI6xsCQ==
X-CSE-MsgGUID: 3lbetMM1Sey0UmOSQKOILA==
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 126789176
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:YyIhh6wLh8tITZtt4tR6t+d+xirEfRIJ4+MujC+fZmUNrF6WrkVRx
 mQaCGvVb/uINjemKN9wbo3l/BwF7cTcy9dhTFFrrSAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjPzOHvykTrecZkidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8E8HUMja4mtC5QVnP6gT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KWJM5
 98/LQBRVTagv6Xsz5maFPl3rf12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyPVKfO3WjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiHJ8LwRbJ/
 z2Yl4j/KkoePtGD7B/cyX+93tLKuhjCe6UzMJTto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jY+cddNF+wx6CmW17HZpQ2eAwAsUTppeNEg8sgsSlQXO
 kShxo2zQ2Y16fvMFCPbqe/8QS6O1TY9Lm0QRggBfVc+xfrb59s8pTORXs1IKfvg5jHqIg0c0
 wxmvQBn2O1L0Z9VjfzllW0rlQ5AsXQgc+LU2uk0djj8hu+BTNT5D7FEEHCChRq6EK6XT0Oao
 F8PkNWE4eYFAPmlzXPVGLhVQev1vq/ablUwZGKD+bF7r1xBHFb5JehtDMxWfh81Yq7ohxe1C
 KMshe+hzMAKZyb7BUOGS4mwF94r3cDd+SfND5jpgi51SsEpLmevpXg+DXN8KkixyCDAZ4ljY
 8bEGSttZF5GYZlaIM2eHr9Gjed7mXhhlAs+h/nTlnya7FZXX1bNIZ9tDbdERrlRAH+syOkNz
 +tiCg==
IronPort-HdrOrdr: A9a23:nGXQp6tZk8o6ZyIaTLggQj/E7skDetV00zEX/kB9WHVpmszxra
 6TdZMgpHjJYVcqKRUdcL+7WJVoLUmxyXcX2/h1AV7BZniEhILAFugLhuGO/9SJIVyZygc378
 ZdmsZFZ+EYdWIK7/rH3A==
X-Talos-CUID: 9a23:hKlj/mDFF/5GJG36Eypl5m0zH/B5SVv+9DCKLGSZV3ZyY4TAHA==
X-Talos-MUID: 9a23:MhvKPgt56eeduGd6a82n3zVoOdtNxv2VBVFVrJAhgPCnEg1UEmLI
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="126789176"
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: Use 32bit XOR in handle_ist_exception
Date: Mon, 20 Nov 2023 19:57:42 +0000
Message-ID: <20231120195742.1343677-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This is a micro-optimsiation for Silvermont microarchitectures, which don't
recognise the 64bit form as a zeroing idiom.

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/x86_64/entry.S | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/x86_64/entry.S b/xen/arch/x86/x86_64/entry.S
index b53d862089d7..cb794167c127 100644
--- a/xen/arch/x86/x86_64/entry.S
+++ b/xen/arch/x86/x86_64/entry.S
@@ -1027,7 +1027,7 @@ handle_ist_exception:
          * Interrupted guest context. Clear the restore value for xen_cr3
          * and copy the context to stack bottom.
          */
-        xor   %r15, %r15
+        xor   %r15d, %r15d
         xor   %ebx, %ebx
         GET_CPUINFO_FIELD(guest_cpu_user_regs,di)
         movq  %rsp,%rsi

base-commit: fa2da5bce90b3777aa7a323e1cf201c97b56d278
prerequisite-patch-id: a9e4e1e34d08e876d1fcb3299c6d563086768722
prerequisite-patch-id: 703590f2c99382f6509c94bb5955f47ab2d7c57d
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 20:19:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 20:19:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637184.992979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5AjP-0002Eb-TA; Mon, 20 Nov 2023 20:18:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637184.992979; Mon, 20 Nov 2023 20:18: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 1r5AjP-0002EU-PR; Mon, 20 Nov 2023 20:18:55 +0000
Received: by outflank-mailman (input) for mailman id 637184;
 Mon, 20 Nov 2023 20:18: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=qNCP=HB=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r5AjN-0002EO-R0
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 20:18:54 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 04d5ba12-87e2-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 21:18:51 +0100 (CET)
Received: from mg.gitlab.com (72.90.74.34.bc.googleusercontent.com
 [34.74.90.72]) by
 3e1f22e16e5b with SMTP id 655bbf29d92604246132f35a (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 20 Nov 2023 20:18:49 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 04d5ba12-87e2-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700511529; x=1700518729; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=T8wNhaeg2C66aB+AZ5baB6grsEWEH31uBTIaE7xMamw=;
 b=P/E/CrEdq4bR87tfm/8L88KN+9C/FZU36bG3zEXNYROL8MusWfJhFdsndSKxC/XaW674pWTQtpqG6AAJz4HqDKY4nSLFjTkDUj0V9zxjFaGiH3+UqD8zZSSjmPkbFGTxRYL2sKyffTBfCSKJ/MO5cdu9Zobubz3ZX1Nid+eTKC4=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Mon, 20 Nov 2023 20:18:49 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655bbf29694ce_2c9b6e09302d@gitlab-sidekiq-catchall-v2-5d8968f85f-rb666.mail>
Subject: xen | Failed pipeline for staging | ee0f41fd
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655bbf295882b_2c9b6e09297f";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1079204738
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655bbf295882b_2c9b6e09297f
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1079204738 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: ee0f41fd ( https://gitlab.com/xen-project/xen/-/commit/ee0f41fda315e33118f956161894efa20abc300b )
Commit Message: xen/arm: mmu: move MMU specific P2M code to mmu...
Commit Author: Penny ( https://gitlab.com/Pennyzct )
Committed by: Julien Grall


Pipeline #1079204738 ( https://gitlab.com/xen-project/xen/-/pipelines/1079204738 ) triggered by Ganis ( https://gitlab.com/ganis )
had 19 failed jobs.

Job #5579019345 ( https://gitlab.com/xen-project/xen/-/jobs/5579019345/raw )

Stage: build
Name: alpine-3.18-clang
Job #5579019403 ( https://gitlab.com/xen-project/xen/-/jobs/5579019403/raw )

Stage: build
Name: debian-bookworm-32-gcc-debug
Job #5579019440 ( https://gitlab.com/xen-project/xen/-/jobs/5579019440/raw )

Stage: build
Name: ubuntu-bionic-gcc-debug
Job #5579019442 ( https://gitlab.com/xen-project/xen/-/jobs/5579019442/raw )

Stage: build
Name: ubuntu-focal-gcc-debug
Job #5579019447 ( https://gitlab.com/xen-project/xen/-/jobs/5579019447/raw )

Stage: build
Name: ubuntu-focal-clang-debug
Job #5579019392 ( https://gitlab.com/xen-project/xen/-/jobs/5579019392/raw )

Stage: build
Name: debian-bookworm-gcc
Job #5579019355 ( https://gitlab.com/xen-project/xen/-/jobs/5579019355/raw )

Stage: build
Name: centos-7-gcc
Job #5579019256 ( https://gitlab.com/xen-project/xen/-/jobs/5579019256/raw )

Stage: analyze
Name: eclair-ARM64
Job #5579019405 ( https://gitlab.com/xen-project/xen/-/jobs/5579019405/raw )

Stage: build
Name: fedora-gcc
Job #5579019273 ( https://gitlab.com/xen-project/xen/-/jobs/5579019273/raw )

Stage: build
Name: alpine-3.18-gcc-debug
Job #5579019275 ( https://gitlab.com/xen-project/xen/-/jobs/5579019275/raw )

Stage: build
Name: debian-stretch-gcc-debug
Job #5579019463 ( https://gitlab.com/xen-project/xen/-/jobs/5579019463/raw )

Stage: build
Name: opensuse-tumbleweed-clang-debug
Job #5579019472 ( https://gitlab.com/xen-project/xen/-/jobs/5579019472/raw )

Stage: test
Name: build-each-commit-gcc
Job #5579019438 ( https://gitlab.com/xen-project/xen/-/jobs/5579019438/raw )

Stage: build
Name: ubuntu-bionic-clang-debug
Job #5579019455 ( https://gitlab.com/xen-project/xen/-/jobs/5579019455/raw )

Stage: build
Name: opensuse-leap-gcc
Job #5579019452 ( https://gitlab.com/xen-project/xen/-/jobs/5579019452/raw )

Stage: build
Name: opensuse-leap-clang-debug
Job #5579019464 ( https://gitlab.com/xen-project/xen/-/jobs/5579019464/raw )

Stage: build
Name: opensuse-tumbleweed-gcc
Job #5579019467 ( https://gitlab.com/xen-project/xen/-/jobs/5579019467/raw )

Stage: build
Name: opensuse-tumbleweed-gcc-debug
Job #5579019449 ( https://gitlab.com/xen-project/xen/-/jobs/5579019449/raw )

Stage: build
Name: opensuse-leap-clang

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655bbf295882b_2c9b6e09297f
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging | ee0f41fd</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1079204738 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/ee0f41fda315e33118=
f956161894efa20abc300b" style=3D"color: #3777b0; text-decoration: none;">=

ee0f41fd
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/arm: mmu: move MMU specific P2M code to mmu...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/bb226b82c8191f46253b91ad97163b4b?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/Pennyzct" style=3D"color: #=
333333; text-decoration: none;">
Penny
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">Committed by</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/51553d20dbeb50c199767049bd40c57b?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1079204738">#1079204738</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 19 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019345" style=3D=
"color: #3777b0; text-decoration: none;">
alpine-3.18-clang
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019403" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-32-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019440" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-bionic-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019442" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-focal-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019447" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-focal-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019392" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019355" style=3D=
"color: #3777b0; text-decoration: none;">
centos-7-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
analyze
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019256" style=3D=
"color: #3777b0; text-decoration: none;">
eclair-ARM64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019405" style=3D=
"color: #3777b0; text-decoration: none;">
fedora-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019273" style=3D=
"color: #3777b0; text-decoration: none;">
alpine-3.18-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019275" style=3D=
"color: #3777b0; text-decoration: none;">
debian-stretch-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019463" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-tumbleweed-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019472" style=3D=
"color: #3777b0; text-decoration: none;">
build-each-commit-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019438" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-bionic-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019455" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019452" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019464" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-tumbleweed-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019467" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-tumbleweed-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579019449" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-clang
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655bbf295882b_2c9b6e09297f--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 20:36:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 20:36:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637225.992988 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Azo-00068g-DR; Mon, 20 Nov 2023 20:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637225.992988; Mon, 20 Nov 2023 20: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 1r5Azo-00068Z-Au; Mon, 20 Nov 2023 20:35:52 +0000
Received: by outflank-mailman (input) for mailman id 637225;
 Mon, 20 Nov 2023 20:35: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=KKU3=HB=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r5Azn-00068T-3x
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 20:35:51 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 638566c1-87e4-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 21:35:50 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-5441ba3e53cso6608117a12.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 12:35:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 638566c1-87e4-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700512548; x=1701117348; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4avHqVmE/sADQsrmIybbak6acFGtm8IBYrVxYY7qX+I=;
        b=gj0YrTHdGnTKPi0HwBQy9KBIGj2xx59YyivVPYfPP3Pl4HYkEQX5tBN99E3xyIRd/j
         uYnw5Ixm6oKchgnvbN0+pNs0wU+XYRYlswKAc5PJlUyugeE9irxxLcporECn6XgcKZ8U
         5RQ2a/qowPkuSWGIfivxDOBwo/h8h/SZ10LgPFiLJLWeHgDkCBNNbtdSgckr7Ar0ccWc
         tHZg3pLN41ybg0MTY4JvOo3Q3IChDv1gj0Q8s2LgVxhG2xyVcH798eoByIKbwBE8O8L1
         I2CspfhOkqhpZqaFpAQP8DdJLVPQR42cSPEQ66EWV5P+4cCyNPTDMkcP6GbFzSxVoFho
         9CRQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700512548; x=1701117348;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4avHqVmE/sADQsrmIybbak6acFGtm8IBYrVxYY7qX+I=;
        b=Lsl2f/x5KFHkqij2co72E3zZP1kSL/9ib+sO/X/rbd5UnSLu8B/RTIeP4b5MffaXnH
         NY+EIClH/imoz/eLT7ej20dgTrMqhSbqiNzp9mGx8iUY9MLtOoqQG50D2JmYsoLqCcRk
         oXazsYTyVTqTCQKxl/7TTnpy/9xgD/AssKkOxBnxnoVVBVLTM6IDMikrnSEkcmwlokJw
         YuUw32Jb78S1gb0Jl3VmnI+2FVGEPRUqskeA3AMR7dLqfwWTxOJNC1qnc616vKk20UiK
         DX4xK1qS05XSwjRK8GroHBVX1segSljsFk62nn/2O0ikK6idd+tQRiE5oP0UU1//738i
         Gy1w==
X-Gm-Message-State: AOJu0YzNmRJuHM53CfvW5A40ll8pjhGTIm9ZtEtU0BfXP797Pq1G7UG9
	tbaZy8y7nu8Sj/QLo0wgpdFJycd8PwXRCvkYwF8=
X-Google-Smtp-Source: AGHT+IEFE2SPby7y6csVZWWR7ZGXyUds721stG05CmhHv8AfeaLNAQPfVwRppCNFQPfOcENNnFkzc0TadwBwa16wapY=
X-Received: by 2002:aa7:d7d1:0:b0:53e:1721:146b with SMTP id
 e17-20020aa7d7d1000000b0053e1721146bmr295972eds.28.1700512548127; Mon, 20 Nov
 2023 12:35:48 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-8-jgross@suse.com>
In-Reply-To: <20231110160804.29021-8-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 20 Nov 2023 15:35:35 -0500
Message-ID: <CAKf6xpuNbreDDxHQLf-nq10uXUkjAUJoMLhLg5uzE3_xbdMfCA@mail.gmail.com>
Subject: Re: [PATCH v2 07/29] tools/xenlogd: add 9pfs attach request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 11:09=E2=80=AFAM Juergen Gross <jgross@suse.com> wr=
ote:
>
> Add the attach request of the 9pfs protocol. This introduces the "fid"
> scheme of the 9pfs protocol.
>
> As this will be needed later, use a dedicated memory allocation
> function in alloc_fid() and prepare a fid reference count.
>
> For filling the qid data take the approach from the qemu 9pfs backend
> implementation.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 21:01:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 21:01:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637231.992999 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5BOq-0003ZM-DR; Mon, 20 Nov 2023 21:01:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637231.992999; Mon, 20 Nov 2023 21: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 1r5BOq-0003ZF-9N; Mon, 20 Nov 2023 21:01:44 +0000
Received: by outflank-mailman (input) for mailman id 637231;
 Mon, 20 Nov 2023 21:01: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=qNCP=HB=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r5BOo-0003Z9-TR
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 21:01:43 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 008303fb-87e8-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 22:01:41 +0100 (CET)
Received: from mg.gitlab.com (18.226.74.34.bc.googleusercontent.com
 [34.74.226.18]) by
 2aa945c5e0d3 with SMTP id 655bc932c51dcdeb46dfebe8 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 20 Nov 2023 21:01:38 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 008303fb-87e8-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700514099; x=1700521299; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=8vaD2La4N5VyI8mPKovQ42KpOZg8K0iBM7eOZnxt2nc=;
 b=C2H+Tob4my7rgSFIEMWjrljonWXt7YSRQyxTNyzO0I33JUDoht8yeoRS1Qwk2OyWlxu1PqTaidEXZoKFg1JB0MB6IutBvoUoiaEarT2IpDbF0fAul/HVOjD6c40xOCKhnTLBxnLzvCw8+SKqYYUDY21yjTqIaafqgvRF3Jk5Umc=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Mon, 20 Nov 2023 21:01:38 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655bc93211196_2d473c770278033@gitlab-sidekiq-catchall-v2-5d8968f85f-vzmhk.mail>
Subject: xen | Failed pipeline for staging | fa2da5bc
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655bc931eae5b_2d473c7702779e6";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1079209651
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655bc931eae5b_2d473c7702779e6
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1079209651 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: fa2da5bc ( https://gitlab.com/xen-project/xen/-/commit/fa2da5bce90b3777aa7a323e1cf201c97b56d278 )
Commit Message: xen/arm32: head Split and move MMU-specific hea...
Commit Author: Ayan Kumar Halder ( https://gitlab.com/ayankuma_amd )
Committed by: Julien Grall


Pipeline #1079209651 ( https://gitlab.com/xen-project/xen/-/pipelines/1079209651 ) triggered by Ganis ( https://gitlab.com/ganis )
had 19 failed jobs.

Job #5579049644 ( https://gitlab.com/xen-project/xen/-/jobs/5579049644/raw )

Stage: build
Name: debian-bookworm-gcc
Job #5579049629 ( https://gitlab.com/xen-project/xen/-/jobs/5579049629/raw )

Stage: build
Name: archlinux-gcc-debug
Job #5579049627 ( https://gitlab.com/xen-project/xen/-/jobs/5579049627/raw )

Stage: build
Name: alpine-3.18-clang-debug
Job #5579049630 ( https://gitlab.com/xen-project/xen/-/jobs/5579049630/raw )

Stage: build
Name: centos-7-gcc
Job #5579049632 ( https://gitlab.com/xen-project/xen/-/jobs/5579049632/raw )

Stage: build
Name: centos-7-gcc-debug
Job #5579049667 ( https://gitlab.com/xen-project/xen/-/jobs/5579049667/raw )

Stage: build
Name: ubuntu-xenial-clang-debug
Job #5579049699 ( https://gitlab.com/xen-project/xen/-/jobs/5579049699/raw )

Stage: build
Name: ubuntu-focal-clang-debug
Job #5579049710 ( https://gitlab.com/xen-project/xen/-/jobs/5579049710/raw )

Stage: build
Name: opensuse-leap-gcc
Job #5579049728 ( https://gitlab.com/xen-project/xen/-/jobs/5579049728/raw )

Stage: test
Name: build-each-commit-gcc
Job #5579049701 ( https://gitlab.com/xen-project/xen/-/jobs/5579049701/raw )

Stage: build
Name: opensuse-leap-clang
Job #5579049520 ( https://gitlab.com/xen-project/xen/-/jobs/5579049520/raw )

Stage: analyze
Name: eclair-ARM64
Job #5579049657 ( https://gitlab.com/xen-project/xen/-/jobs/5579049657/raw )

Stage: build
Name: fedora-gcc-debug
Job #5579049713 ( https://gitlab.com/xen-project/xen/-/jobs/5579049713/raw )

Stage: build
Name: opensuse-leap-gcc-debug
Job #5579049715 ( https://gitlab.com/xen-project/xen/-/jobs/5579049715/raw )

Stage: build
Name: opensuse-tumbleweed-clang
Job #5579049635 ( https://gitlab.com/xen-project/xen/-/jobs/5579049635/raw )

Stage: build
Name: debian-stretch-clang
Job #5579049633 ( https://gitlab.com/xen-project/xen/-/jobs/5579049633/raw )

Stage: build
Name: debian-stretch-gcc
Job #5579049678 ( https://gitlab.com/xen-project/xen/-/jobs/5579049678/raw )

Stage: build
Name: ubuntu-bionic-gcc
Job #5579049704 ( https://gitlab.com/xen-project/xen/-/jobs/5579049704/raw )

Stage: build
Name: opensuse-leap-clang-debug
Job #5579049838 ( https://gitlab.com/xen-project/xen/-/jobs/5579049838/raw )

Stage: test
Name: qemu-smoke-x86-64-clang

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655bc931eae5b_2d473c7702779e6
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging | fa2da5bc</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1079209651 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/fa2da5bce90b3777aa=
7a323e1cf201c97b56d278" style=3D"color: #3777b0; text-decoration: none;">=

fa2da5bc
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/arm32: head Split and move MMU-specific hea...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/68d666b543215b8ca200d320c1f42dc7?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/ayankuma_amd" style=3D"colo=
r: #333333; text-decoration: none;">
Ayan Kumar Halder
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">Committed by</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/51553d20dbeb50c199767049bd40c57b?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1079209651">#1079209651</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 19 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049644" style=3D=
"color: #3777b0; text-decoration: none;">
debian-bookworm-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049629" style=3D=
"color: #3777b0; text-decoration: none;">
archlinux-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049627" style=3D=
"color: #3777b0; text-decoration: none;">
alpine-3.18-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049630" style=3D=
"color: #3777b0; text-decoration: none;">
centos-7-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049632" style=3D=
"color: #3777b0; text-decoration: none;">
centos-7-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049667" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-xenial-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049699" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-focal-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049710" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049728" style=3D=
"color: #3777b0; text-decoration: none;">
build-each-commit-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049701" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-clang
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
analyze
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049520" style=3D=
"color: #3777b0; text-decoration: none;">
eclair-ARM64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049657" style=3D=
"color: #3777b0; text-decoration: none;">
fedora-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049713" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-gcc-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049715" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-tumbleweed-clang
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049635" style=3D=
"color: #3777b0; text-decoration: none;">
debian-stretch-clang
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049633" style=3D=
"color: #3777b0; text-decoration: none;">
debian-stretch-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049678" style=3D=
"color: #3777b0; text-decoration: none;">
ubuntu-bionic-gcc
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
build
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049704" style=3D=
"color: #3777b0; text-decoration: none;">
opensuse-leap-clang-debug
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5579049838" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-x86-64-clang
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655bc931eae5b_2d473c7702779e6--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 21:08:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 21:08:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637264.993009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5BVN-0004Th-38; Mon, 20 Nov 2023 21:08:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637264.993009; Mon, 20 Nov 2023 21: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 1r5BVM-0004Ta-Vo; Mon, 20 Nov 2023 21:08:28 +0000
Received: by outflank-mailman (input) for mailman id 637264;
 Mon, 20 Nov 2023 21:08: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 1r5BVL-0004TP-47; Mon, 20 Nov 2023 21:08: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 1r5BVL-0007oA-02; Mon, 20 Nov 2023 21:08: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 1r5BVK-0008Vx-GO; Mon, 20 Nov 2023 21:08:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5BVK-0000PW-Fw; Mon, 20 Nov 2023 21:08: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=09HoDZurLBWk5YGIDsfhYsPdXe26kMD5rRktnuv6b+U=; b=ulrFd/jElD7CQjU5W59Xljf4e6
	5Wlm4k1Ei6WUxy+QkAbOQyfCEQfvfkJySgioRZd1SRkIlaTAkG172MrgwuoFK1SZs9EIMj6HY33mg
	hAXRBgWzmClTyGZ+oxpryvUu7GWEdKgb1YL3YxTDYiqwbcprut7z+CKEV5A6QaI0bTHU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183797-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 183797: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:regression
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-i386-xl-qemuu-win7-amd64:guest-stop: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-win7-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-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-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw: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-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-libvirt-vhd:migrate-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-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-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-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-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:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl: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: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-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=ef379773e2e76d6470a907ae36c3d12f65a6ecdb
X-Osstest-Versions-That:
    linux=87e8e7a7aa1f96276252a90373de1d56add31918
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Nov 2023 21:08:26 +0000

flight 183797 linux-5.4 real [real]
flight 183801 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/183797/
http://logs.test-lab.xenproject.org/osstest/logs/183801/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-armhf-armhf-xl-credit1  14 guest-start              fail REGR. vs. 183714

Tests which are failing intermittently (not blocking):
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 183801-retest
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail pass in 183801-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183714
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183714
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183714
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183714
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 183714
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 183714
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183714
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183714
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183714
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183714
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183714
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183714
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183714
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183714
 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      15 migrate-support-check        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-raw  14 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-amd64-amd64-libvirt-vhd 14 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-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-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-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-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-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-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                ef379773e2e76d6470a907ae36c3d12f65a6ecdb
baseline version:
 linux                87e8e7a7aa1f96276252a90373de1d56add31918

Last test of basis   183714  2023-11-08 10:46:25 Z   12 days
Testing same since   183797  2023-11-20 09:44:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aananth V <aananthv@google.com>
  Abel Vesa <abel.vesa@linaro.org>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander A. Klimov <grandmaster@al2klimov.de>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Alexandru Ardelean <alexandru.ardelean@analog.com>
  Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
  Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
  Andrii Staikov <andrii.staikov@intel.com>
  Armin Wolf <W_Armin@gmx.de>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Velikanov <adomerlee@gmail.com>
  Barnabás Pőcze <pobrn@protonmail.com>
  Ben Wolsieffer <ben.wolsieffer@hefring.com>
  Benjamin Gray <bgray@linux.ibm.com>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Andersson <bjorn.andersson@linaro.org>
  Cezary Rojewski <cezary.rojewski@intel.com>
  Chao Yu <chao@kernel.org>
  Chen Ni <nichen@iscas.ac.cn>
  Chen Yu <yu.c.chen@intel.com>
  Chenyuan Mi <michenyuan@huawei.com>
  Christian Brauner <brauner@kernel.org>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  D. Wythe <alibuda@linux.alibaba.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Mentz <danielmentz@google.com>
  Danila Tikhonov <danila@jiaxyga.com>
  Danny Kaehn <danny.kaehn@plexus.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
  Devi Priya <quic_devipriy@quicinc.com>
  Dhruva Gole <d-gole@ti.com>
  Dinghao Liu <dinghao.liu@zju.edu.cn>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Eric Dumazet <edumazet@google.com>
  Erik Kurzinger <ekurzinger@nvidia.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Furong Xu <0x1207@gmail.com>
  Gaurav Jain <gaurav.jain@nxp.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  George Shuklin <george.shuklin@gmail.com>
  Gou Hao <gouhao@uniontech.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  GUO Zihua <guozihua@huawei.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Ira Weiny <ira.weiny@intel.com>
  Jaegeuk Kim <jaegeuk@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Javier Carrasco <javier.carrasco.cruz@gmail.com>
  Jeff LaBundy <jeff@labundy.com>
  Jeremy Sowden <jeremy@azazel.net>
  Jia-Ju Bai <baijiaju@buaa.edu.cn>
  Jiasheng Jiang <jiasheng@iscas.ac.cn>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jiri Kosina <jkosina@suse.cz>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jonas Blixt <jonas.blixt@actia.se>
  Jonas Gorski <jonas.gorski@gmail.com>
  Jonas Karlman <jonas@kwiboo.se>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Neuschäfer <j.neuschaefer@gmx.net>
  Juhee Kang <claudiajkang@gmail.com>
  Kalle Valo <kvalo@kernel.org>
  Katya Orlova <e.orlova@ispras.ru>
  Konstantin Meskhidze <konstantin.meskhidze@huawei.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kursad Oney <kursad.oney@broadcom.com>
  Lee Jones <lee.jones@linaro.org>
  Lee Jones <lee@kernel.org>
  Leon Romanovsky <leon@kernel.org>
  Leon Romanovsky <leonro@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Maciej Żenczykowski <zenczykowski@gmail.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matti Vaittinen <mazziesaccount@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Neal Cardwell <ncardwell@google.com>
  NeilBrown <neilb@suse.de>
  Nishanth Menon <nm@ti.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Patrick Thompson <ptf@google.com>
  Paul Moore <paul@paul-moore.com>
  Pavel Machek <pavel@ucw.cz>
  Peter Ujfalusi <peter.ujfalusi@gmail.com>
  Ping-Ke Shih <pkshih@realtek.com>
  Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Reuben Hawkins <reubenhwk@gmail.com>
  Rob Herring <robh@kernel.org>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Santosh Shilimkar <santosh.shilimkar@oracle.com>
  Sasha Levin <sashal@kernel.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Ser <contact@emersion.fr>
  Stephen Boyd <sboyd@kernel.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Thomas Gleixner <tglx@linutronix.de>
  Timur I. Davletshin <timur.davletshin@gmail.com>
  Tomas Glozar <tglozar@redhat.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Uwe Kleine-König <uwe@kleine-koenig.org>
  Vinod Koul <vkoul@kernel.org>
  Vivek Gautam <vivek.gautam@codeaurora.org>
  Wang Yufen <wangyufen@huawei.com>
  Willem de Bruijn <willemb@google.com>
  Yan Zhai <yan@cloudflare.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yi Yang <yiyang13@huawei.com>
  Yuchung Cheng <ycheng@google.com>
  Zhang Rui <rui.zhang@intel.com>
  Zheng Wang <zyytlz.wz@163.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                  fail    
 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-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                                 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-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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 22:24:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 22:24:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637281.993022 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Cgb-0000p2-Bk; Mon, 20 Nov 2023 22:24:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637281.993022; Mon, 20 Nov 2023 22: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 1r5Cgb-0000ov-85; Mon, 20 Nov 2023 22:24:09 +0000
Received: by outflank-mailman (input) for mailman id 637281;
 Mon, 20 Nov 2023 22:24: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=qNCP=HB=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r5CgZ-0000op-BT
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 22:24:07 +0000
Received: from so254-136.mailgun.net (so254-136.mailgun.net [198.61.254.136])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 82ae876b-87f3-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 23:24:04 +0100 (CET)
Received: from mg.gitlab.com (78.90.74.34.bc.googleusercontent.com
 [34.74.90.78]) by
 fbdb7680fe93 with SMTP id 655bdc8244134fc788d29418 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 20 Nov 2023 22:24:02 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 82ae876b-87f3-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700519042; x=1700526242; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=9qvhXs23MZlmSaWqKgouUx3SluPG4l0lanukrR3qfec=;
 b=KJyyq0W53BvDEcSCFMMC94r+rgNvFg2RDPS0XSrmYqqXo8aR9ERiQNfKrKx3JlSqlF0DQ8WSDt8CvXFzZBlmmxT3Q9ch4KHYFUL65JrsZe82200VDH9oqTUkYbA0aO7iqoGY9ScbnQ9KYoekVkRAS2m9hQkxFXYZh5KkRdXtdLg=
X-Mailgun-Sending-Ip: 198.61.254.136
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Mon, 20 Nov 2023 22:24:02 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655bdc821e3b3_2c9b76c3740c5@gitlab-sidekiq-catchall-v2-5d8968f85f-l6fm4.mail>
Subject: xen | Successful pipeline for staging | fa2da5bc
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655bdc8216080_2c9b76c373975";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1079209651
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655bdc8216080_2c9b76c373975
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1079209651 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: fa2da5bc ( https://gitlab.com/xen-project/xen/-/commit/fa2da5bce90b3777aa7a323e1cf201c97b56d278 )
Commit Message: xen/arm32: head Split and move MMU-specific hea...
Commit Author: Ayan Kumar Halder ( https://gitlab.com/ayankuma_amd )
Committed by: Julien Grall



Pipeline #1079209651 ( https://gitlab.com/xen-project/xen/-/pipelines/1079209651 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 148 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655bdc8216080_2c9b76c373975
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | fa2da5bc</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1079209651 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/fa2da5bce90b3777aa=
7a323e1cf201c97b56d278" style=3D"color: #3777b0; text-decoration: none;">=
fa2da5bc</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/arm32: head Split and move MMU-specific hea...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/68d666b543215b8ca200d320c1f42dc7?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/ayankuma_amd" style=3D"colo=
r: #333333; text-decoration: none;">
Ayan Kumar Halder
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/51553d20dbeb50c199767049bd40c57b?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107920=
9651" style=3D"color: #3777b0; text-decoration: none;">#1079209651</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 148 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655bdc8216080_2c9b76c373975--


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 22:49:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 22:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637323.993032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5D52-0004rx-DC; Mon, 20 Nov 2023 22:49:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637323.993032; Mon, 20 Nov 2023 22: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 1r5D52-0004rq-A4; Mon, 20 Nov 2023 22:49:24 +0000
Received: by outflank-mailman (input) for mailman id 637323;
 Mon, 20 Nov 2023 22: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5D50-0004rh-8p
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 22:49:22 +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 09775415-87f7-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 23:49:20 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09775415-87f7-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700520560;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ypD7FL2deFYmmK/IKRzebizp0y0p5ZU6aoYIe+SpQ+E=;
  b=Qo4aGEf59stRJPiE1CtjmLl78cWVrYo4E1H153sT2ao5C6Rb3E8X8nim
   YqauCZfRpvZKjgEC95aWm4mjJ8HSdAri4IHEegz9Am5rWLiWke/2+2Zuq
   guXO2DuDS+1EIpfvwIBh38LF2Fjcn2tnZooI0Uuam6qN8bflJP9eqZZ8k
   0=;
X-CSE-ConnectionGUID: YZEIJDDgRpirGwCdt/oM8w==
X-CSE-MsgGUID: I70KWNrSTtCQmBILCUNMbg==
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128218323
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:Ddb7WKvnI+hiN0IbEWF3bfPExOfnVKpeMUV32f8akzHdYApBsoF/q
 tZmKWmFOanYYDOkcth+YIm2oUMA7MXQnd41HVRvqHtkEykV+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVaicfHg3HFc4IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq5Fv0gnRkPaoQ5QaEzyFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwGQIgTzKvq+2M2LOhZfZHithkK+y7I9ZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkAefAhPYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 DKcpjSiWEpy2Nq36GXd0U2KnNTzgQjCXagzMJaF0NtgjwjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ9r9M/TzEu0
 l6PnvvqCCZpvbnTTmiSnp+LqRuiNC5TKnUNDQcGUA8E7t/LsIw1yBXVQb5LLqmxidHkHCDq9
 BqDpiM+mrY7gNYC0uOw+lWvqzihvITTRwg5oADeRHu47xhRbZSgIYev7DDz6PdLLI+dCF6br
 nUAs8Gb4KYFCpTlvDaKSugXALbv7f+KNjTGiHZlApY6+jKivXWkeOh45jB1I0NgdNgJZSXoZ
 k77sx5e/5JVMz2haqofXm6qI510l+66T42jD62FKIUWCnRsSOOZ1BBcSG+y80ziqlAti44gE
 puHNsGJXWlPXMyL0wGKq/chPa4Dn39mnT+CG8qikXyaPayiiGl5oIrp0WdijchjtctoWC2Pr
 75i2zKikn2zqtHWbCjN6pI0JlsXN3U9Dp2eg5UILrbeelc8RDh4VKG5LVYdl2pNxfw9egDgp
 CnVZ6Ol4ACn2S2vxfuiNhiPl48Drb4g9ClmbETAzH6j2mQ5YJbH0UvsX8JfQFXTz8Q6laQcZ
 6BcK6297gFnFmyvF8I1McOs8+SPtX2D2WqzAsZSSGFuI8c9H1WRpY6Mk8mG3HBmMxdbfPAW+
 9WIvj43i7JaL+i+JK46sM6S8m4=
IronPort-HdrOrdr: A9a23:Qg0TUKwbsyisPe6XsK9jKrPwFL1zdoMgy1knxilNoRw8SKKlfq
 eV7Y0mPH7P+VAssR4b+exoVJPtfZqYz+8R3WBzB8bEYOCFghrKEGgK1+KLqFeMJ8S9zJ846U
 4JSdkHNDSaNzlHZKjBjzVQa+xQouW6zA==
X-Talos-CUID: 9a23:1WMCkmBmO6wAe1P6ExhV2W82NuwqSGXc1ljPCEOkTmFMGKLAHA==
X-Talos-MUID: 9a23:xvDCJQXSh1DZ7Mrq/B6z3BJdEt1T37iFMUUnsLEthu+hPyMlbg==
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="128218323"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Roberto Bagnara
	<roberto.bagnara@bugseng.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH 3/6] xen/efi: Make efi-boot.h compile with -Wwrite-strings
Date: Mon, 20 Nov 2023 22:49:09 +0000
Message-ID: <20231120224912.1421916-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

GCC complains:

  In file included from arch/arm/efi/boot.c:700:
  arch/arm/efi/efi-boot.h: In function 'efi_arch_handle_cmdline':
  arch/arm/efi/efi-boot.h:482:16: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
    482 |         name.s = "xen";
        |                ^

There's no easy option.  .rodata is really read-only, so the fact Xen doesn't
crash means these strings aren't written to.

Lie to the compiler using a union.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>

I *really* don't like this, but it's the only suggestion given.
---
 xen/arch/arm/efi/efi-boot.h | 2 +-
 xen/arch/x86/efi/efi-boot.h | 3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 1c3640bb65fd..c26bf18b68b9 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -479,7 +479,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
         w2s(&name);
     }
     else
-        name.s = "xen";
+        name.cs = "xen"; /* TODO, find a better way of doing this. */
 
     prop_len = 0;
     prop_len += snprintf(buf + prop_len,
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index eebc54180bf7..e2d256e0517b 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -324,7 +324,8 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
         w2s(&name);
     }
     else
-        name.s = "xen";
+        name.cs = "xen"; /* TODO, find a better way of doing this. */
+
     place_string(&mbi.cmdline, name.s);
 
     if ( mbi.cmdline )
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 22:49:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 22:49:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637325.993052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5D54-0005Lt-RX; Mon, 20 Nov 2023 22:49:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637325.993052; Mon, 20 Nov 2023 22:49: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 1r5D54-0005Li-OT; Mon, 20 Nov 2023 22:49:26 +0000
Received: by outflank-mailman (input) for mailman id 637325;
 Mon, 20 Nov 2023 22:49: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5D54-0004rh-1M
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 22:49:26 +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 0d911e74-87f7-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 23:49:25 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d911e74-87f7-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700520565;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=c/mEDl4nIaExCRMi2dipvNsJyeJ3pq2/9bVYc4elcvc=;
  b=gs02KOr/y2tCt+xS7YqMa+mZF2160tPk7DXY28KxtDX4jxV415EhfUji
   vqnl9d9km+CTJjX7CZdaK5dF+l220dVIcRex9MTlwZYqQs0vA6yUpT3WI
   xMpO+3bCfS1HSoV7BACjPipYYSxPzxsx+vkilde+Qyoz0NObBe0a3wuBV
   A=;
X-CSE-ConnectionGUID: WaXQkFtXSsexmHBFI/oWVg==
X-CSE-MsgGUID: A4kbFKoySjesE7EgccrYIQ==
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128662992
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:FZKGUaJ2JD4XcNl8FE+RN5UlxSXFcZb7ZxGr2PjKsXjdYENS0zFTm
 jdLCGGAa/qDNzT2e9hzaYix8kxSuJKEn4NnS1dlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAhk/nOHvylULKs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrfwP9TlK6q4mhB5wZmPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5ICFF39
 tIEGAsWYwCGp8iY4fW8dddj05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGspM0yojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXQFZsLxBfJ/
 Aoq+UzQXhIQGv+Y2AGH/2mB2cLAlijhaaMrQejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasnDQRRt5RGO0S8xyWx+zf5APxLnMfUjdLZdgitck3bT8nz
 FmEm5XuHzMHmKKRYWKQ8PGTtzzaESoIKW4PYwcUQA1D5MPsyKkNiRbIQsdmAbSCpNT/EjHtw
 BiHtCE7wb4UiKYj3aih4UrOhT7qo5HTVxM0/S3eRGfj5QR8DKa/YIal80Tcq/xJI4CQVFCpt
 mULgMWY46YFCpTlvCqMS+IJFfe36uqfMTvdqVRyEIIs8Tvr8HmmFb28+xkneh0vaJxdP2a0M
 QmM4Wu9+aO/IlOVZJ9OYKytO/8xwLjlNf7Ld7fTUeRBN80ZmBC8wM1+WaKB9zmyyBBwwP9lY
 MnzTCq6MZoN5U1aINuKqwQ1i+ZDKtgWnz+7eHwC503PPUCiTHCUU6wZF1CFc/o06qiJyC2Mr
 I4HapPXkUkGCbKgCsUyzWL1BQpSRZTcLcquw/G7i8bZelY2cI3fI6O5LUwdl3xNwP0Oy7agE
 oCVUU5E0lvv7UAr2i3TAk2PnIjHBM4lxVpiZHxEALpd8yR7CWpZxPtFJsRfkHhO3LAL8MOYu
 NFcKpnZX6wWEmuWk9nfBLGkxLFfmN2QrVrmF0KYjPIXJvaMmyShFgfYQzbS
IronPort-HdrOrdr: A9a23:IYIENaOnLV/Rx8BcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3gqy
 nOpoV86faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrZ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-Talos-CUID: =?us-ascii?q?9a23=3AzrTsP2ggC6LxgXZzV/51me8Z+TJuTXTt9XT+P3+?=
 =?us-ascii?q?DEmt5TZ2/Z37X/5xanJ87?=
X-Talos-MUID: 9a23:tNyTDwWjzwsB7JHq/BawhztMF8B52KajE21SvJoNsNO1FBUlbg==
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="128662992"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>
Subject: [PATCH 2/6] x86/setup: Rework cmdline_cook() to be compatible with -Wwrite-strings
Date: Mon, 20 Nov 2023 22:49:08 +0000
Message-ID: <20231120224912.1421916-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Constify both cmdline variables in create_dom0() and __start_xen().
Initialise Xen's variable to the empty string to simplify the parsing logic.

Update cmdline_cook() to take and return const pointers, changing it to have
an early exit for a NULL input (which can happen if the mbi-> pointers happen
to be 0).

Note this only compiles because strstr() launders the const off the pointer
when assigning to the mutable kextra, but that logic only mutates the
mbi->cmdline buffer.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>

I don't particularly like this, but it's the best I can come up with.
---
 xen/arch/x86/setup.c | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index c41dfdb2bdf8..a06a241943f6 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -837,9 +837,10 @@ static bool __init loader_is_grub2(const char *loader_name)
     return (p != NULL) && (p[5] != '0');
 }
 
-static char * __init cmdline_cook(char *p, const char *loader_name)
+static const char *__init cmdline_cook(const char *p, const char *loader_name)
 {
-    p = p ? : "";
+    if ( !p )
+        return "";
 
     /* Strip leading whitespace. */
     while ( *p == ' ' )
@@ -885,7 +886,7 @@ static struct domain *__init create_dom0(const module_t *image,
         },
     };
     struct domain *d;
-    char *cmdline;
+    const char *cmdline;
     domid_t domid;
 
     if ( opt_dom0_pvh )
@@ -971,8 +972,8 @@ static struct domain *__init create_dom0(const module_t *image,
 /* SAF-1-safe */
 void __init noreturn __start_xen(unsigned long mbi_p)
 {
-    const char *memmap_type = NULL, *loader;
-    char *cmdline, *kextra;
+    const char *memmap_type = NULL, *loader, *cmdline = "";
+    char *kextra;
     void *bsp_stack;
     struct cpu_info *info = get_cpu_info(), *bsp_info;
     unsigned int initrdidx, num_parked = 0;
@@ -1027,9 +1028,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
                                            : "unknown";
 
     /* Parse the command-line options. */
-    cmdline = cmdline_cook((mbi->flags & MBI_CMDLINE) ?
-                           __va(mbi->cmdline) : NULL,
-                           loader);
+    if ( mbi->flags & MBI_CMDLINE )
+        cmdline = cmdline_cook(__va(mbi->cmdline), loader);
+
     if ( (kextra = strstr(cmdline, " -- ")) != NULL )
     {
         /*
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 22:49:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 22:49:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637324.993041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5D53-00056g-K8; Mon, 20 Nov 2023 22:49:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637324.993041; Mon, 20 Nov 2023 22: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 1r5D53-00056Z-Gn; Mon, 20 Nov 2023 22:49:25 +0000
Received: by outflank-mailman (input) for mailman id 637324;
 Mon, 20 Nov 2023 22:49: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5D52-0004rh-US
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 22:49:24 +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 0c51adc8-87f7-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 23:49:24 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c51adc8-87f7-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700520564;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=1PNgt8ahr7MDW2ofRpWOPAJ3J7cBGmpTa8t/w1olBm4=;
  b=cB6uh9idqT38TQVQCvOrMmy4xS4QCdb2WpaxbNMvRq6bsoBm74EGSQKk
   0srJzzIWIYXFMG/uHm5Z4XP18jNeYj9GDjIHFrFdTNbLrA2MEdR+PibE9
   cH41JaMHu+mTzljL4lNyGPVFj1YppNlklfF5+TlnGd/KpS73qH/9+KeP/
   c=;
X-CSE-ConnectionGUID: WaXQkFtXSsexmHBFI/oWVg==
X-CSE-MsgGUID: F6seg06jSYqecBNQuv675g==
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128662991
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:9Kyjaa3L40gdMDW5wPbD5S9xkn2cJEfYwER7XKvMYLTBsI5bp2ACx
 jYdCzqAP/reN2fwKtp3PtvgpE8CscDQn9I3SAI+pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliOfQAOK6UbaYUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb9HuDgNyo4GlD5wVkPagR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfPmh+z
 P82NAA2dR2TgsKc7pP8TdZSiZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGc+KkuYC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTH5ULwBzJ9
 zuuE2LRLE8BOdPHlzi+w2uhjcXppD7lBt1PG+jtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHsljw2VsdUEuY6wBqQ0aeS6AGcbkAfVSJIYtEisM4wRBQp2
 0WPktevAiZg2JWKTVqN+7HSqim9UQAXMGsDaCksXQYDpd75r+kbsBXLSdpyFb+vuff8Ezrw3
 jOioTA3gvMYistj/6+250zdijSg4J3AVBco5x7/V3igqAh+YeaNYo2j6VHfq/FaPoudZlCEs
 D4PnM32xPoJB5yXiCvLSuwCGriz7t6PLTLHjFhgWZIm8lyF/X+oeoRZpi9zOF1oNMcscyLme
 0LVtkVa45o7AZexRfYpOcTrUZ1slPWxU4u9PhzJUjZQSqd4RDaE0j1eXlWdz2XNumYN1qYAB
 5jOJK5AEk0m5bRbICueHrhFieN6mHpnmwvuqYbHIwNLOIdyhUJ5qp9faTNilshjsMu5TPz9q
 r6zzfeixRRFS/HZaSLK64MVJl1iBSFkXcir85ENKrfafVQO9IQd5xn5m+tJl2tNxfw9qws11
 ivlBh8wJKTX2RUr1jlmmlg8MeiyDP6TXFowPDA2PEbA5pTQSd/H0UvrTLNuJeNP3LU6nZZJo
 wwtJ53o7gJnFm6WpFzwrPDV8ORfSfhcrVvfY3P4OGFnIM8Iqs6g0oaMQzYDPRImVkKf3fbSa
 ZX5vu8HafLvnzhfMfs=
IronPort-HdrOrdr: A9a23:I6Bu9KArS/zX0w3lHemg55DYdb4zR+YMi2TC1yhKJyC9Ffbo8P
 xG/c5rsSMc5wxwZJhNo7y90cq7MBbhHPxOkOos1N6ZNWGM0gaVxelZnO3fKlbbehEWmNQz6U
 4ZSdkdNOHN
X-Talos-CUID: 9a23:WXvVqm/kKMcp/gisy3yVv3EdKvkmXGHt92zdM0qYI0hID7qqd1DFrQ==
X-Talos-MUID: =?us-ascii?q?9a23=3AR1FdiAwaOsww8sFTfSC+ZdBPx5eaqIrwE00Cycs?=
 =?us-ascii?q?EgPidOCdaHQ6AkmroH4Byfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="128662991"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Roberto Bagnara
	<roberto.bagnara@bugseng.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH 0/6] xen: Enable -Wwrite-strings
Date: Mon, 20 Nov 2023 22:49:06 +0000
Message-ID: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

I got carried away and fixed all remaining -Wwrite-strings issues I could
reproduce in local builds.

Pipeline in Gitlab:

  https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1079379918

Andrew Cooper (6):
  x86/setup: Make the loader variable const
  x86/setup: Rework cmdline_cook() to be compatible with -Wwrite-strings
  xen/efi: Make efi-boot.h compile with -Wwrite-strings
  arm/duart: make dt_uart_init() compile with -Wwrite-strings
  arm/platforms: Make compatbile with -Wwrite-strings
  xen: Enable -Wwrite-strings

 xen/Makefile                     |  2 +-
 xen/arch/arm/efi/efi-boot.h      |  2 +-
 xen/arch/arm/platforms/brcm.c    |  2 +-
 xen/arch/arm/platforms/exynos5.c |  2 +-
 xen/arch/x86/efi/efi-boot.h      |  3 ++-
 xen/arch/x86/setup.c             | 21 +++++++++++----------
 xen/drivers/char/arm-uart.c      | 12 ++++++++----
 7 files changed, 25 insertions(+), 19 deletions(-)


base-commit: fa2da5bce90b3777aa7a323e1cf201c97b56d278
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 22:49:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 22:49:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637326.993062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5D56-0005bg-2k; Mon, 20 Nov 2023 22:49:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637326.993062; Mon, 20 Nov 2023 22: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 1r5D55-0005bZ-W3; Mon, 20 Nov 2023 22:49:27 +0000
Received: by outflank-mailman (input) for mailman id 637326;
 Mon, 20 Nov 2023 22:49: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5D54-0004rh-Ud
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 22:49:26 +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 0d453ff8-87f7-11ee-98e0-6d05b1d4d9a1;
 Mon, 20 Nov 2023 23:49:25 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d453ff8-87f7-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700520565;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=EVJR9V5+k1L0Xv34e64y+YGh6kPJI63dNHLzn39U6pA=;
  b=icIo2ZNdPWV0gjqVlGhvtX78q2xZMaRMYsmmWPRPn18Qdy0Ipky8SWq/
   xNkwSec/chVRf7S8sPHk6nsZ8nLwYgrcLwcr/7r5cNRE8U1Lg2sBKO+QS
   6o0xSzE9BEovptx0wXh9Hvt9M9gfKojHym1uWKGprx6/hH/U+6O2jJmh7
   M=;
X-CSE-ConnectionGUID: WaXQkFtXSsexmHBFI/oWVg==
X-CSE-MsgGUID: vYXeQnT6QZ6dKD6x9aj9UQ==
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128662993
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:7Yx7WaOvDVN+r2vvrR16l8FynXyQoLVcMsEvi/4bfWQNrUog0zECz
 GMaWmDSOavYYGWjLthxbd/ioUlX7cSGyoVgGQto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CQ6jefQAOOkVIYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/7rRC9H5qyo42pB5ARmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0tl+MVhN2
 +AoEysAfhWjrcyXh7WEdOY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEOHwwNHwsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4baG5sPzxfDz
 o7A13rIMhwjMuDB8Ajb/lGA2P+elCGqZbtHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFafpQIVUddUF+w86SmOx7DS7gLfAXILJhZDddgnuckeVTEsk
 FiTkLvBOztrt7GETGOHwZ2dpziyJCs9IHcLYGkPSg5ty9Puup0phxTDCNNqCreoj8bdECv1h
 TuNqUAWgrQYjccPkaKh713Dqzupqt7CSQtdzh/QVG+/8gQ/boeqYYWy4HDR8PlbIYCWCFKGu
 RAsncmV6+QHS4+AiDaMRuQlFqym/PuDP3vXhlsHInU6323zoTj5J9kWuWwvYhgxWioZRdP3S
 HDaiTpSyoNjB2CnfapXSayQTMMV86e1QLwJScvogspyjolZLVDfpH0/OxTJgQjQfF4QfbbT0
 Kp3kPpA7l5AUMyLNBLsG48gPUYDn0jSP1/7S5Hh1AiA2rGDfnOTQrptGALRNrhktP7e/FyMr
 Ig32y62J/N3CrWWjs7/q9Z7ELz3BSJjWcCeRzJ/KoZv3TaK6El+UqSMkNvNiqRunrhPl/egw
 51OchYw9bYLvlWecV/iQik6ONvSsWNX8SpT0doEYQz5hBDOoO+HsM8iSnfAVeB2qLU+lacsE
 KhtlgfpKq0ndwkrMg81NfHVxLGOvjzy7e5SF0JJuAQCQqM=
IronPort-HdrOrdr: A9a23:NgNX+ai79DJOlJx7BX2/oURwDXBQXuIji2hC6mlwRA09TySZ//
 rBoB19726MtN9xYgBHpTnuAsm9qB/nmaKdpLNhWItKPzOW31dATrsSjrcKqgeIc0aVm9K1l5
 0QF5SWYOeAdWSS5vya3ODXKbkdKaG8gcKVuds=
X-Talos-CUID: =?us-ascii?q?9a23=3Ajsly/2sWA5XPJ2tPQJv9A9+36Isae03kz1nME3S?=
 =?us-ascii?q?jBHZsaJe7aBiXx51rxp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3AAkEUMg4FyJ26Mo7pnZGtscHYxox20pSjMUYxz6w?=
 =?us-ascii?q?05cWnGXJgaj6f3QmOF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="128662993"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Roberto Bagnara
	<roberto.bagnara@bugseng.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH 5/6] arm/platforms: Make compatbile with -Wwrite-strings
Date: Mon, 20 Nov 2023 22:49:11 +0000
Message-ID: <20231120224912.1421916-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

GCC complains:

  arch/arm/platforms/brcm.c: In function ‘brcm_populate_plat_regs’:
  arch/arm/platforms/brcm.c:76:27: error: passing argument 1 of ‘brcm_get_dt_node’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
     76 |     rc = brcm_get_dt_node("brcm,brcmstb-cpu-biu-ctrl", &node, &reg_base);
        |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~

and

  arch/arm/platforms/exynos5.c: In function ‘exynos5_smp_init’:
  arch/arm/platforms/exynos5.c:109:20: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
    109 |         compatible = "samsung,exynos4210-sysram-ns";
        |                    ^

In both cases, just make the relevant variable const.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/arm/platforms/brcm.c    | 2 +-
 xen/arch/arm/platforms/exynos5.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/platforms/brcm.c b/xen/arch/arm/platforms/brcm.c
index 951e4d6cc328..43a07ab1a69d 100644
--- a/xen/arch/arm/platforms/brcm.c
+++ b/xen/arch/arm/platforms/brcm.c
@@ -35,7 +35,7 @@ static u32 brcm_boot_continuation_pc;
 
 static struct brcm_plat_regs regs;
 
-static __init int brcm_get_dt_node(char *compat_str,
+static __init int brcm_get_dt_node(const char *compat_str,
                                    const struct dt_device_node **dn,
                                    u32 *reg_base)
 {
diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
index c48093cd4fa4..f7c09520675e 100644
--- a/xen/arch/arm/platforms/exynos5.c
+++ b/xen/arch/arm/platforms/exynos5.c
@@ -96,7 +96,7 @@ static int __init exynos5_smp_init(void)
 {
     struct dt_device_node *node;
     void __iomem *sysram;
-    char *compatible;
+    const char *compatible;
     paddr_t sysram_addr;
     paddr_t size;
     paddr_t sysram_offset;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 22:49:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 22:49:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637327.993072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5D59-0005vN-CD; Mon, 20 Nov 2023 22:49:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637327.993072; Mon, 20 Nov 2023 22:49: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 1r5D59-0005vD-8I; Mon, 20 Nov 2023 22:49:31 +0000
Received: by outflank-mailman (input) for mailman id 637327;
 Mon, 20 Nov 2023 22:49: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5D57-0005pp-BF
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 22:49:29 +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 0cdfd9a8-87f7-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 23:49:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0cdfd9a8-87f7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700520566;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=fXKH+lmodmLPygRsUw8ADaKchTw1j5k6JR9llmINrLo=;
  b=XhzxsYNbETJpZqQHJyRyLACtcZ0P7u4YMUVE7MSv0peB4hAmu0IEUuu5
   RVa5Zmf6LbM6/BUkmPKDj7Y/qh0UsKgMPXK06rzGrXdxS774qmjawUZaQ
   CAshBu6EsepUIhGZWEpZFL6WCbAc/vrCuQ87l1HPSVKaVvY7gxw4eEsdD
   w=;
X-CSE-ConnectionGUID: LtYo8xJLRvC+jqiF6E23hw==
X-CSE-MsgGUID: bUpW3/HoQGi4hHSN83IxsA==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127436304
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:NRCWsKPWwwIoxHjvrR2ll8FynXyQoLVcMsEvi/4bfWQNrUpx0jAHm
 2AcUDzXafaNN2LyLttzbduy8BkA75LXx9ZjSwto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CQ6jefQAOOkVIYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/7rRC9H5qyo42pB5ARmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0sJrMGYe5
 d48Ei4mLRKahszo7ejgSvY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEOHwwNHwsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4bVGZ4LxR7Ez
 o7A127EGi5Bc/yY8BWErnKMvcmfxgLrQ6tHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6xGWwsXjNHLts8u6ceQz0h0
 VuA2c3kGSZutry9Q2+S7bqSonW5Pi19BXUFbyIeUQxD6dDspogphzrFU9l4Hai6yNbyHFnNL
 yui9XZkwe9J1IhSivT9ogivby+QSobhahIE4VXHfEaf8Cg6ZpekSdKFswPb8qMVRGqGdWVtr
 EToiuDHs7hWUcDTznXTKNjhCo1F8BpsDdE9vbKMN8N4n9hV0yT/Fb28GRknTKuTDu4KeCXyf
 GjYsh5L6ZlYMROCNPAvO9/pVp52lPG/S7wJs8w4iPIUOvCdkyfdpElTibO4hTixwCDAb4ljU
 XtkTSpcJSlDUvk2pNZHb+wczaUq1kgDKZD7HPjGI+Cc+ePGPha9EO5VWGZim8hltMtoVi2Jq
 YcAXyZLoj0DONDDjt7/qN9PdA1SdCBkVPgbaaV/L4a+H+avI0l5Y9e5/F/rU9UNc3h9/gsQw
 kyAZw==
IronPort-HdrOrdr: A9a23:/82i1aPMKG9BnsBcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3gqy
 nOpoV86faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrZ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-Talos-CUID: 9a23:4OQ3wW7pNSFkW19Rmtss0FIlHZA1UFnn0lyTIVa5JzhEEuaVVgrF
X-Talos-MUID: 9a23:fvtYYQWPqreOFqPq/DXRnA45c+dv2ouvVEAtqrNW4OiULgUlbg==
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="127436304"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>, Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Roberto Bagnara <roberto.bagnara@bugseng.com>
Subject: [PATCH 1/6] x86/setup: Make the loader variable const
Date: Mon, 20 Nov 2023 22:49:07 +0000
Message-ID: <20231120224912.1421916-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

It is never written to, but has a string literal assigned, and needs to be
const to support -Wwrite-strings

Suggested-by: Nicola Vetrini <nicola.vetrini@bugseng.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: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/setup.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index a3d3f797bb1e..c41dfdb2bdf8 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -971,8 +971,8 @@ static struct domain *__init create_dom0(const module_t *image,
 /* SAF-1-safe */
 void __init noreturn __start_xen(unsigned long mbi_p)
 {
-    const char *memmap_type = NULL;
-    char *cmdline, *kextra, *loader;
+    const char *memmap_type = NULL, *loader;
+    char *cmdline, *kextra;
     void *bsp_stack;
     struct cpu_info *info = get_cpu_info(), *bsp_info;
     unsigned int initrdidx, num_parked = 0;
@@ -1023,8 +1023,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
         mod = __va(mbi->mods_addr);
     }
 
-    loader = (mbi->flags & MBI_LOADERNAME)
-        ? (char *)__va(mbi->boot_loader_name) : "unknown";
+    loader = (mbi->flags & MBI_LOADERNAME) ? __va(mbi->boot_loader_name)
+                                           : "unknown";
 
     /* Parse the command-line options. */
     cmdline = cmdline_cook((mbi->flags & MBI_CMDLINE) ?
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 22:49:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 22:49:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637328.993078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5D59-0005yz-Qu; Mon, 20 Nov 2023 22:49:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637328.993078; Mon, 20 Nov 2023 22:49: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 1r5D59-0005yU-Il; Mon, 20 Nov 2023 22:49:31 +0000
Received: by outflank-mailman (input) for mailman id 637328;
 Mon, 20 Nov 2023 22:49: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5D58-0005pp-0G
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 22:49:30 +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 0d40d0f7-87f7-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 23:49:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d40d0f7-87f7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700520566;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=KkoH8o86oD3O0Ak+wVVUBX4N9gH8HsFtd6JZOUHqS1o=;
  b=c09Exnye5lku1hWOJRPzaKZfyY1Tmv9FR37eZjlRO8FgQVezXdQ+6TsH
   0+Od9eQCr93rJex1VUvxmyc9K4Z/7jJe2V4kYf1fK9BPU6pONsUQVqYUi
   0GmladJGPzG9M0Tq1B/WHFTBuEskn4w1tZsWc+Muvpo+kiWdQB44E/YDT
   E=;
X-CSE-ConnectionGUID: LtYo8xJLRvC+jqiF6E23hw==
X-CSE-MsgGUID: 6O6XcPceSZ2koK5f5Nn6tg==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127436305
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:3MPTDq+LoP2SHNuUIsiQDrUDX36TJUtcMsCJ2f8bNWPcYEJGY0x3m
 GJLWGuAbPiLN2qgf9wgboTg8U4D75aEm4NhTAJs+yA8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjVAOK6UKidYnwZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ksz1BjOkGlA5AdnPKoT5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklq6
 c0feCAvSiqdrKG02bOVFMQ23cQ8eZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUWGPEUn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwPwRrD+
 DmeogwVBDlEE4KvwgKO/0me3OzIvn71BaQUSqG3o6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0QMFMGuc37AWMzKv84AuDAGUACDlbZ7QOttIyRDEs/
 k+EmZXuHzMHmIOSTXWR57KFtwSYMCIeLXIBTSIcRA5D6N7myKk5gwjTVN9lHOiwh8fsBDDr6
 zmQqW41gLB7pcsK3KWy+RbAmSChorDASwJz7QLSNkq/6Ql0fpKiIYah5l7S9/9oJpuWVVSHs
 z4PnM32xOYPBpaJnWqTTfkXHbeoz/yYPybRh1EpFJ4knwlB4Fb6I9oWumsnYh40Y4BbIVcFf
 XM/pyt1+K5UbGuISZVpSMGzEsUEk4W6TtT6A6W8gsV1XnRhSOOW1HgxPRbMjj63yRZErE0pB
 XuMnS+R4Zcm5UdPlmPeqx81i+ND+8zH7Tq7qWrH5xqmy6GCQ3WeVK0INlCDBshgs/vc/V2Iq
 YoGbpTUo/m6bAEYSnOPmWL0BQpSRUXX+Lis85AHHgJ9ClYO9J4d5w/5nup6Jt0Nc1V9nebU5
 HCtMnK0O3Km7UAr3T6iMyg5AJu2BMYXkJ7OFXB0Vbpe8yR5MNnHAWZ2X8dfQITLA8Q6nKItE
 qFcI5rRahmNIxyekwkggVDGhNQKXHyWacimZkJJvBBXk0ZcejH0
IronPort-HdrOrdr: A9a23:rRuryKuMF6MG75yJeqwIG/u67skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpHnJYVcqKQkdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyIMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-Talos-CUID: 9a23:gxaWTW7h4b5VFXWyf9ss0FIlHZA1UFnn0lyTIVa5JzhEEuaVVgrF
X-Talos-MUID: 9a23:Nr5UswmcUORqbrt/l8Sfdno8E5lY6JylBXs/y5YBmJSKaAp2ZSuS2WE=
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="127436305"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Roberto Bagnara
	<roberto.bagnara@bugseng.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH 4/6] arm/duart: make dt_uart_init() compile with -Wwrite-strings
Date: Mon, 20 Nov 2023 22:49:10 +0000
Message-ID: <20231120224912.1421916-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

GCC complains:

  drivers/char/arm-uart.c: In function 'dt_uart_init':
  drivers/char/arm-uart.c:81:17: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
     81 |         options = "";
        |                 ^

The problem is using the options string for both splitting opt_duart, and to
hold a token "" for no options.

Use two variables; one mutable one one const.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/drivers/char/arm-uart.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/xen/drivers/char/arm-uart.c b/xen/drivers/char/arm-uart.c
index 8098a968c285..91f13a41368d 100644
--- a/xen/drivers/char/arm-uart.c
+++ b/xen/drivers/char/arm-uart.c
@@ -42,7 +42,8 @@ static void __init dt_uart_init(void)
     struct dt_device_node *dev;
     int ret;
     const char *devpath = opt_dtuart;
-    char *options;
+    const char *options;
+    char *split;
 
     if ( !console_has("dtuart") )
         return; /* Not for us */
@@ -74,9 +75,12 @@ static void __init dt_uart_init(void)
         return;
     }
 
-    options = strchr(opt_dtuart, ':');
-    if ( options != NULL )
-        *(options++) = '\0';
+    split = strchr(opt_dtuart, ':');
+    if ( split )
+    {
+        split[0] = '\0';
+        options = split + 1;
+    }
     else
         options = "";
 
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 22:49:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 22:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637329.993086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5D5A-0006BT-Fk; Mon, 20 Nov 2023 22:49:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637329.993086; Mon, 20 Nov 2023 22:49: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 1r5D5A-00069C-6x; Mon, 20 Nov 2023 22:49:32 +0000
Received: by outflank-mailman (input) for mailman id 637329;
 Mon, 20 Nov 2023 22:49: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=Uh/B=HB=citrix.com=prvs=681f0548f=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5D59-0005pp-0K
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 22:49:31 +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 0fd74cc1-87f7-11ee-9b0e-b553b5be7939;
 Mon, 20 Nov 2023 23:49:29 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0fd74cc1-87f7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700520568;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=3sQs0NPyCIz2F9DlyYtFEywO02GaqviYPBmMjYsQYss=;
  b=dLHAXekwU4/8cDc8QBozO3tlmyc6zRMxWzD+rhWzcaAuoi/3ZebGK2uA
   SZUq/woY/PZBKbvfR0VDcwJzE7c6OFQvwpTh9Nj2VMOi9+r1Mj26vRoRe
   tmMpPgrqnUOxdVKa6Wk55xkcZjnLU4/0SsExL8NmSMxFLO+ukJ0VP9oHr
   Y=;
X-CSE-ConnectionGUID: LtYo8xJLRvC+jqiF6E23hw==
X-CSE-MsgGUID: MYjbWUHGQ3Of01rMr+BAKQ==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127436306
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:ViszRKnytzLpQl+33q/RHQLo5gx9JkRdPkR7XQ2eYbSJt1+Wr1Gzt
 xIbW22CafaMYmD0KNElaonk9xlT6pDUxtI2SwVrqy41RSMWpZLJC+rCIxarNUt+DCFhoGFPt
 JxCN4aafKjYaleG+39B55C49SEUOZmgH+e6UKicfHkpGWeIcQ954Tp7gek1n4V0ttawBgKJq
 LvartbWfVSowFaYCEpNg064gE0p5KiaVA8w5ARkPqkS5geGzRH5MbpETU2PByqgKmVrNrbSq
 9brlNmR4m7f9hExPdKp+p6TnpoiG+O60aCm0xK6aoD66vRwjnVaPpUTbZLwXXx/mTSR9+2d/
 f0W3XCGpaXFCYWX8AgVe0Ew/yiTpsSq8pefSZS0mZT7I0Er7xIAahihZa07FdRwxwp5PY1B3
 dgEGTddfjKnvfydg7CiS8cyq554LNa+aevzulk4pd3YJfMvQJSFSKTW/95Imjw3g6iiH96HO
 ZBfM2A2Kk2dMlsQYj/7C7pn9AusrlD5fydVtxS+oq0v7nKI5AdwzKLsIJzefdniqcB9xxzH+
 jmYpDynav0cHPmuyzC6z1KDv7Tok3uiQqcIV5eR1cc/1TV/wURMUUZLBDNXu8KRmkO4Ht5SN
 UEQ0i4vtrQpslymSMHnWB+1q2LCuQQTM/JyOeAn7ACGyoLP/h2UQGMDS1Zpc8c6vcU7QTgr0
 F6hnN7zAzFr9rqPRhq16bO8vT60fy8PIgcqZzIATAYDy8nupsc0lB2nZuhkFKm5n9jkAwbay
 jqBrDU9r7gLhMtN3KK+lXjNjiiwvJHPQkgw7x/OQ2O+xgpjYciuYInAwV3a5vZJKMCeVEuMu
 FANnsTY5+cLZbmXkyaAWvkKWrug6PCMKjT0i0NgBJQn+HKm/HvLVYZR6zZ6LQF3P9oeeDnoS
 EXOthhc4pAVN3yvBZKbeKroVZ5sl/K5U424B7aLNrKif6Sdaiej4BBpNV6y+1rzuwsuiKARZ
 7rBKsazWCNy5btc8NamewsM+eZ0nnhilD2JHM6T8vix7VaJiJeopVY53LimNLlRAFus+lm9z
 jqmH5LiJ+9jeOP/eDLL1oUYMEoHK3M2bbiv9JQPK7beeFY/QT5/YxM0/V/HU9Y990iyvr2Ql
 kxRp2cCkAav7ZE5AVniho9fhEPHAs8k8CNT0d0ENle0wXkzCbtDH49GH6bbiYIPrbQ5pdYtF
 qltRil1KqgXItgx02hHPMaVQU0LXEjDuD9iyAL8MWRmIsY5H1OYkjImFyO2nBQz4uOMnZNWi
 9WdOsnzGPLvmywK4B7qVc+S
IronPort-HdrOrdr: A9a23:HeWtGK4ZLHCFQbq/1QPXwPDXdLJyesId70hD6qhwISY6TiX+rb
 HWoB17726TtN9/YhEdcLy7VJVoBEmskKKdgrNhWotKPjOW21dARbsKheCJrgEIWReOktK1vZ
 0QC5SWY+eQMbEVt6nHCXGDYrQd/OU=
X-Talos-CUID: =?us-ascii?q?9a23=3AXzENrGiZe9EO+Vz12OZbakUkGjJuVmHsyyfAAWu?=
 =?us-ascii?q?CF00qSqSUZwG9ovhkjJ87?=
X-Talos-MUID: =?us-ascii?q?9a23=3AhQ7Htg5xisfcDZK0sJ6dIuetxoxN0qakN30tvqx?=
 =?us-ascii?q?dnMfcbDZVIXS3pReOF9o=3D?=
X-IronPort-AV: E=Sophos;i="6.04,214,1695700800"; 
   d="scan'208";a="127436306"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Roberto Bagnara
	<roberto.bagnara@bugseng.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH 6/6] xen: Enable -Wwrite-strings
Date: Mon, 20 Nov 2023 22:49:12 +0000
Message-ID: <20231120224912.1421916-7-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The codebase is now -Wwrite-strings clean.  Activate the option to cause
string literals to have a const type, and prevent any violations of MISRA Rule
7.4 being reintroduced.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 7b869f4b3037..ca571103c868 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -392,7 +392,7 @@ endif
 CFLAGS-$(CONFIG_CC_SPLIT_SECTIONS) += -ffunction-sections -fdata-sections
 
 CFLAGS += -nostdinc -fno-builtin -fno-common
-CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith
+CFLAGS += -Werror -Wredundant-decls -Wwrite-strings -Wno-pointer-arith
 $(call cc-option-add,CFLAGS,CC,-Wvla)
 CFLAGS += -pipe -D__XEN__ -include $(srctree)/include/xen/config.h
 CFLAGS-$(CONFIG_DEBUG_INFO) += -g
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 20 23:00:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 23:00:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637363.993102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5DFk-00036N-FS; Mon, 20 Nov 2023 23:00:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637363.993102; Mon, 20 Nov 2023 23:00: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 1r5DFk-00036G-B7; Mon, 20 Nov 2023 23:00:28 +0000
Received: by outflank-mailman (input) for mailman id 637363;
 Mon, 20 Nov 2023 23:00: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=6jYu=HB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5DFj-00036A-0Y
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 23:00:27 +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 9694c068-87f8-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 00:00:24 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4083dbc43cfso17358155e9.3
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 15:00:24 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 e1-20020adff341000000b0032f79e55eb8sm12386764wrp.16.2023.11.20.15.00.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Nov 2023 15:00:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9694c068-87f8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700521223; x=1701126023; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=tCZteYtcx6Bf2EYxgfVfjuHXGrnlKMu4MSVXIiARH4M=;
        b=P8LMcj1a/AFenYqaKz6f0P81MJ9YkyRZBVRGyIUsSZyoldUXlh7LAfkwbEfF1hvN89
         sDCPI6+CTOSTDErN7xcG1+dYYkhycpQpz1nszrZJM5W2TsAyfCTkyRxI1xsu348YRvDK
         fUWGxW7vP/yohEsymWa43SEMB6MqjGFVW0hyE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700521223; x=1701126023;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=tCZteYtcx6Bf2EYxgfVfjuHXGrnlKMu4MSVXIiARH4M=;
        b=VJVOVb6ByqG54RuHHS7OTfWNmoQICkcw66fAFHlqbyKQeR6TW7NfhhqDp2vPRi1lRZ
         qo66sKAjc1zfLczciYH4Qc8gNnb9cwDJNOhay3HuPuMxwuWtxJ49+z13wlF9vYmeiBAw
         ks3vLuzqsekygYOcjXMojOPF44zLWT6Aqk9JjwXfkYjS4XSIgp4NhoASoR9lC0J+DxJK
         hKFHKGa/A70TQkaR0ErclPXDmHw0Lz0wn1auq/i4BKE2T+Escx66BuMlXgvSvdT4PXj0
         vY1SjN4O4MqXZ3NKnDN9BShIPSWKrcnMR1z0SIJ7kcio8XM0PPl8SJkY/kGR5k6WAM8p
         JrPw==
X-Gm-Message-State: AOJu0YxyHLQ8oClY6Ac4J0LuN76BBruGIJwn2wGOT0z98YB1ATK5C2AC
	0ViRVYigHGw/F3f3S/zeWLSbbU3zqW/g0Fkdf7Q=
X-Google-Smtp-Source: AGHT+IHZ0hVaCztCC9TvDWWcSabxh7M20juU/yvMPtyzD5TPpGvF91zn+fNVqCCP3cVuxYDGhL2W+Q==
X-Received: by 2002:a05:600c:3b8c:b0:407:5b54:bb10 with SMTP id n12-20020a05600c3b8c00b004075b54bb10mr6998025wms.8.1700521223131;
        Mon, 20 Nov 2023 15:00:23 -0800 (PST)
Message-ID: <8ce4c91f-ca49-476e-b413-3d45e8638f98@citrix.com>
Date: Mon, 20 Nov 2023 23:00:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/6] arm/duart: make dt_uart_init() compile with
 -Wwrite-strings
Content-Language: en-GB
To: Xen-devel <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>,
 Michal Orzel <michal.orzel@amd.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-5-andrew.cooper3@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231120224912.1421916-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/11/2023 10:49 pm, Andrew Cooper wrote:
> GCC complains:
>
>   drivers/char/arm-uart.c: In function 'dt_uart_init':
>   drivers/char/arm-uart.c:81:17: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
>      81 |         options = "";
>         |                 ^
>
> The problem is using the options string for both splitting opt_duart, and to
> hold a token "" for no options.
>
> Use two variables; one mutable one one const.

This should say "and one const".  Fixed up locally.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 23:02:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 23:02:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637371.993111 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5DHR-0003li-PK; Mon, 20 Nov 2023 23:02:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637371.993111; Mon, 20 Nov 2023 23: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 1r5DHR-0003lb-MK; Mon, 20 Nov 2023 23:02:13 +0000
Received: by outflank-mailman (input) for mailman id 637371;
 Mon, 20 Nov 2023 23:02: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 1r5DHR-0003lR-8X; Mon, 20 Nov 2023 23:02: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 1r5DHR-0001bQ-6c; Mon, 20 Nov 2023 23:02: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 1r5DHQ-0005TV-Qz; Mon, 20 Nov 2023 23:02:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5DHQ-0001Yx-Qa; Mon, 20 Nov 2023 23: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=bWvICCcaEBbba4j/mFSuCHaIiOMfalwlyzvTWuDN2r0=; b=j85y8nDdGbZIAuY+zwqiKRVoGx
	Ygt1W70hkxD1IfhMYet/JSYvwGSNaGHVs0FO1sH6qeQ7J0N23z4/ANxuKwZHcORZ9l23wNOqK9k30
	q1kaxDzJqSVwlryOLZGduY/HtTSWXBJOJ5Ifj4AleAo+l23gEUIYCej/9Gk/bcWe0RIw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183802-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183802: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=fa2da5bce90b3777aa7a323e1cf201c97b56d278
X-Osstest-Versions-That:
    xen=cfb777791d39e025cf625ba1fa080597d4defef6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 20 Nov 2023 23:02:12 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  fa2da5bce90b3777aa7a323e1cf201c97b56d278
baseline version:
 xen                  cfb777791d39e025cf625ba1fa080597d4defef6

Last test of basis   183798  2023-11-20 10:00:29 Z    0 days
Testing same since   183802  2023-11-20 20:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <jgrall@amazon.com>
  Penny Zheng <penny.zheng@arm.com>
  Wei Chen <wei.chen@arm.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   cfb777791d..fa2da5bce9  fa2da5bce90b3777aa7a323e1cf201c97b56d278 -> smoke


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 23:03:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 23:03:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637376.993122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5DIs-0004Pi-4N; Mon, 20 Nov 2023 23:03:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637376.993122; Mon, 20 Nov 2023 23:03: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 1r5DIs-0004Pb-14; Mon, 20 Nov 2023 23:03:42 +0000
Received: by outflank-mailman (input) for mailman id 637376;
 Mon, 20 Nov 2023 23:03: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=6jYu=HB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5DIp-0004Nr-SR
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 23:03:39 +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 09e1be87-87f9-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 00:03:37 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-4083f61322fso20900485e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 15:03:37 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 h1-20020a05600004c100b00318147fd2d3sm12409891wri.41.2023.11.20.15.03.36
 for <xen-devel@lists.xenproject.org>
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Nov 2023 15:03:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09e1be87-87f9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700521417; x=1701126217; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=QZMppLi9CWYzq1KxqgypSZyXywBsbab4mfCOmXG4VJY=;
        b=Iyx6feGMqO9ZW+rU+QbIUICl4kqJ89bD45UndLosJEof4EOipM5rEwkvGAO4T06AeL
         F693jayTH2Mk2MHvAp+HiM6gXs36REXgzhpKKOmAr9HBFqPFIpsZKwB0EX5v59vacG1i
         lQDErYIHbnxjEshF0wAv/uk5M67SUWwjTjtp8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700521417; x=1701126217;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=QZMppLi9CWYzq1KxqgypSZyXywBsbab4mfCOmXG4VJY=;
        b=OKjf6DyFT6LuzKCWakSdG8a3ElnZnHYBcUKRkfUwg1kwvSf1N7qp56P06wtWq4SHLN
         0lWvPkL4CLh7DL/K+K4tMLSj1HB44VI8hhNUTNVqJMUvz9k7NNTdJA5am62zOtsmnFkS
         8ByVqq/dAvz9iwzhiwdZQ1jrMGdEVfovjFu+oPkNNZIasGDoQivRJ0GYhdikOOtpKTnY
         v+n3OaqtVHHUUfg75TyGW3yTNPPvn/CTfTqT+H7RVPm2M1A1e7GZkpaxxdx/Sd789b2c
         Z4kyL4XwsfYisU4sTBvT9Wmla5x2+1QkUiXdZoLDb4dpMPYNlpnzCh2zbuLF6+dK6wHJ
         u0Qg==
X-Gm-Message-State: AOJu0Ywo3Z04IwkJSOYE0eYm+RPn7Z0JaRLI4BnDZ8tEhK/sdNEgGpnX
	Apbj5pt474H8Oj9l4bv5ShwGpFhBKSOKlu8IVJU=
X-Google-Smtp-Source: AGHT+IFeftjlXOr5B28/q0NsFIvt277uqzbhZtPChtWQGPoSwoRoSjR3bfH4VkD0iDkw5moISXWkww==
X-Received: by 2002:a05:600c:4507:b0:408:55f8:7de with SMTP id t7-20020a05600c450700b0040855f807demr6337241wmo.28.1700521416643;
        Mon, 20 Nov 2023 15:03:36 -0800 (PST)
Message-ID: <95241e67-9320-4c4f-8002-2e74958b9306@citrix.com>
Date: Mon, 20 Nov 2023 23:03:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] xen: Enable -Wwrite-strings
Content-Language: en-GB
To: xen-devel@lists.xenproject.org
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-7-andrew.cooper3@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231120224912.1421916-7-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/11/2023 10:49 pm, Andrew Cooper wrote:
> The codebase is now -Wwrite-strings clean.  Activate the option to cause
> string literals to have a const type, and prevent any violations of MISRA Rule
> 7.4 being reintroduced.
>
> 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: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/Makefile b/xen/Makefile
> index 7b869f4b3037..ca571103c868 100644
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -392,7 +392,7 @@ endif
>  CFLAGS-$(CONFIG_CC_SPLIT_SECTIONS) += -ffunction-sections -fdata-sections
>  
>  CFLAGS += -nostdinc -fno-builtin -fno-common
> -CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith
> +CFLAGS += -Werror -Wredundant-decls -Wwrite-strings -Wno-pointer-arith
>  $(call cc-option-add,CFLAGS,CC,-Wvla)
>  CFLAGS += -pipe -D__XEN__ -include $(srctree)/include/xen/config.h
>  CFLAGS-$(CONFIG_DEBUG_INFO) += -g

I meant to say.  I've checked our minimum compiler versions, and
-Wwrite-strings is supported by everything.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 23:08:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 23:08:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637385.993132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5DNK-0005gD-Pk; Mon, 20 Nov 2023 23:08:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637385.993132; Mon, 20 Nov 2023 23: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 1r5DNK-0005g6-Lo; Mon, 20 Nov 2023 23:08:18 +0000
Received: by outflank-mailman (input) for mailman id 637385;
 Mon, 20 Nov 2023 23:08: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=6jYu=HB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5DNK-0005g0-75
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 23:08:18 +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 afc38ee5-87f9-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 00:08:16 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-32d895584f1so3526195f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 15:08:16 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 d16-20020adfe2d0000000b003316a2aedadsm12087799wrj.36.2023.11.20.15.08.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Nov 2023 15:08:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afc38ee5-87f9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700521695; x=1701126495; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Ha5D/Q/yqNUz9A/aVWSCNPq+91m0UVj1KOw/S8qoB0U=;
        b=cBQUi19l+6IalwmAPR9BE9SME67GH7Qt7uaRgumOFe9bjW02WJFA+pTX64ogeFvMx5
         nKMWtqZ5ev2el1ayKoO8TxjEYiDeJFNbuthR1E6aWEUt6T8GYlNdYTk10rwqH5GtrXWp
         cs3DHRtrQx0gCu/pkxSmoh8cfBPSOEP1rzc5A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700521695; x=1701126495;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Ha5D/Q/yqNUz9A/aVWSCNPq+91m0UVj1KOw/S8qoB0U=;
        b=XX1pJGKGtmw9sOwzBruaAhZgfdjC+faYeUigq/99itb7o9qU/7qgAbxmXAXVftmYOS
         XaEoAwlyLN0kmej6jFQjwmWWdcL6xtqTSOiwjbJymeJt1/7bhpe2L21YwPUkzUkc+yVj
         LJdZAUdNP+aJEZES8m7Jr3qw5AysUKHz+zzEkbLg9dI1mTC9cH5qd2hSVBle5n6LeL4z
         h1MmPMEV8rnTjtZxbcpyK3DGTAWblp11jXVcPGUIrepfqtoSKtxn+iSAs4eZRWCYQL9U
         PUgQ4VbPpDVXMrQtkKDbW+l0LhV9FnIF2uvD0E+wKF7HO4esewLssSGmvVIYnK9POm/+
         Xljw==
X-Gm-Message-State: AOJu0Yxm5Xx+iFCasln/HQBkZNk2tsGRa70qMoiUeArRtqdIulaVn6bt
	NHr+QvWNPTCdLCs9Wxow0DEsKA==
X-Google-Smtp-Source: AGHT+IE1VH/lv5w6GrhWph1C3WD85a6JVx5U5hWWFtpBK5xo12wD2fIMRiJSqHphCIIIidMX1gknpA==
X-Received: by 2002:a5d:5f90:0:b0:32d:967d:1baf with SMTP id dr16-20020a5d5f90000000b0032d967d1bafmr6301554wrb.1.1700521695582;
        Mon, 20 Nov 2023 15:08:15 -0800 (PST)
Message-ID: <df193960-b808-46fc-9361-b3850c249833@citrix.com>
Date: Mon, 20 Nov 2023 23:08:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Remaining violations of MISRA Rule 7.4
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Xen Devel <xen-devel@lists.xenproject.org>, Julien Grall
 <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Jbeulich <jbeulich@suse.com>, Roger Pau <roger.pau@citrix.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Consulting <consulting@bugseng.com>
References: <21761f2a6633a08ceb2b70a46013486a@bugseng.com>
 <bdb7efb1-b8b2-4426-a46d-e8f5afdba0f6@citrix.com>
 <edd14ce515721eebf5a897ae0e5b61c4@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <edd14ce515721eebf5a897ae0e5b61c4@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/11/2023 4:40 pm, Nicola Vetrini wrote:
>> I've just rebased and pushed the residual from the past work (although I
>> missed the ARM EFI fix.)
>>
>> https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=0f06bab762f5201f3e00aaaee704c3c01f516b51
>>
>> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1065699873
>>
>> I'm going to make a firm request that we fix this by activating
>> -Wwrite-strings Xen wide, because that's by far and away the best way to
>> stop regressions creeping back in.
>>
>> In start_xen(), basically whatever goes.  All that's doing is processing
>> of one command line into another, and your version looks a bit neater
>> than mine.
>>
>> The name.s cases (it's duplicated in x86 and ARM) are more tricky.  The
>> compiler warning can be silenced by swapping name.s for name.cs but I
>> have no idea whether Eclair can see through that piece of blatent lying.
>>
>> ~Andrew
>
> Just to avoid any misunderstanding: do you have the intention of
> evaluating and then perhaps integrate the fixes that at the moment
> block the introduction of -Wwrite-strings and then respin your patch,
> or should I do something specifically?
>

Hopefully you'll find
https://lore.kernel.org/xen-devel/20231120224912.1421916-1-andrew.cooper3@citrix.com/T/#u
to your liking.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 20 23:31:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 20 Nov 2023 23:31:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637393.993141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5DjY-0003Jj-I4; Mon, 20 Nov 2023 23:31:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637393.993141; Mon, 20 Nov 2023 23: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 1r5DjY-0003Jc-FZ; Mon, 20 Nov 2023 23:31:16 +0000
Received: by outflank-mailman (input) for mailman id 637393;
 Mon, 20 Nov 2023 23:31: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=6jYu=HB=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5DjX-0003Hb-3m
 for xen-devel@lists.xenproject.org; Mon, 20 Nov 2023 23:31:15 +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 e48a132b-87fc-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 00:31:13 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40b2979a74eso387505e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 20 Nov 2023 15:31:13 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 c7-20020adffb47000000b00332c0aace23sm7692017wrs.105.2023.11.20.15.31.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 20 Nov 2023 15:31:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e48a132b-87fc-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700523072; x=1701127872; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=GZsp1iS9lufMKEOOnvV1BhNRVC5EP+QClewItX9GZE0=;
        b=lOyL3HEsSMAOyqrB3w9Hse5J/axWhBmq1DjVNoRkhpn9zyHe4rGAIE5cUsDjL4W2Ar
         Jdcnbc/KJEmMy12V5m/ui4T628DzUBIPK6uIdDCerMq4DLazIZaR8arx+aT7XKR3fIxM
         mTepxdO979DDke74qpZdys8vrH4dWeRXpM0vA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700523072; x=1701127872;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GZsp1iS9lufMKEOOnvV1BhNRVC5EP+QClewItX9GZE0=;
        b=upsMdWvEPKLeEcOdYtNEsNn4Sw9ky3rEOWyj1+jgIEuQprIchtnG4pcgn+TtG0fwqW
         oEGbvlxTYyoDQ46mHCEduM5+u1AfVCLMC5YLajeUmnMOeAfpBUl1vjX9IFKbVNdB/Ot5
         NLs5RJfW9gUoSPdHoz497KEPp+avn2nqeZPvHYJnXQnvC6+8S5RJK6h8qtcL/2XLrF15
         vGuHFgbQ4i7p0DIcWPGRFEJRILj1ViHjA71beV07Z4LWLit6oTpf2pv7GX9FvE4BqnDM
         V53ePzTtjxTHsNzfc8wTeNOk4f7dqILpzag2vzxO+xA6alnzbL/Sgo9PIbMwaNAQaqWr
         MqWw==
X-Gm-Message-State: AOJu0Yzxz/OYPtosH/mnVbI4rgz5s9i4QJPVCiDuIMTeXSxJ5jVGK2qj
	mMhlZeYqAaNSBPwXxceP89Gh3S/g+P7Qsd7zFkM=
X-Google-Smtp-Source: AGHT+IF3Nendwxe6yj04ihLdF0q7SV9ljS1KOSUry2IWBSSUypjuh0XPZvdEaWyyMLnXa0oUfOLqHQ==
X-Received: by 2002:a5d:64af:0:b0:331:3c88:6fcd with SMTP id m15-20020a5d64af000000b003313c886fcdmr7009520wrp.53.1700523071810;
        Mon, 20 Nov 2023 15:31:11 -0800 (PST)
Message-ID: <8f52b3d7-1a4c-4e9e-80ef-63f148c4392e@citrix.com>
Date: Mon, 20 Nov 2023 23:31:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/6] xen: Enable -Wwrite-strings
Content-Language: en-GB
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/11/2023 10:49 pm, Andrew Cooper wrote:
> I got carried away and fixed all remaining -Wwrite-strings issues I could
> reproduce in local builds.
>
> Pipeline in Gitlab:
>
>   https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1079379918

Randconfig found:

https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/5580160813

which looks to be the ACPI support.

diff --git a/xen/arch/arm/acpi/domain_build.c
b/xen/arch/arm/acpi/domain_build.c
index ed824c017882..b58389ce9e9f 100644
--- a/xen/arch/arm/acpi/domain_build.c
+++ b/xen/arch/arm/acpi/domain_build.c
@@ -245,7 +245,7 @@ static int __init acpi_create_rsdp(struct domain *d,
struct membank tbl_add[])
 
 static void __init acpi_xsdt_modify_entry(u64 entry[],
                                           unsigned long entry_count,
-                                          char *signature, u64 addr)
+                                          const char *signature, u64 addr)
 {
     int i;
     struct acpi_table_header *table;


should fix it, and it probably wants to merge into patch 5.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:03:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:03:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637401.993152 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5EEK-00033U-Dz; Tue, 21 Nov 2023 00:03:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637401.993152; Tue, 21 Nov 2023 00: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 1r5EEK-00033N-9t; Tue, 21 Nov 2023 00:03:04 +0000
Received: by outflank-mailman (input) for mailman id 637401;
 Tue, 21 Nov 2023 00:03: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5EEI-00033H-QQ
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:03:02 +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 550c1721-8801-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 01:03:01 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 55E6F615C6;
 Tue, 21 Nov 2023 00:02:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CA3B3C433C7;
 Tue, 21 Nov 2023 00:02:57 +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: 550c1721-8801-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700524979;
	bh=oVA62WBvEgQ8V+5S/PwHm28Az+1LTi+tFg8xgHi+U/8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=KO5gGHSwVQhcja41h2THoBXvqdQmTDTgm57pEQNEo9xR4mu25wMgz6k6oOqHTr2Ow
	 XKgq8JeA3aSuTnNz0j2LYBJgajYanpLb42ko0I8rT7Xg6ROTWdvo27YEWfAyhz8AUg
	 ZXv2We6ify5IBwWDkQdkl7SOLNPynepzfEiI/j0BaJ1AWpl+rOtxbyQv33DA/hOK2x
	 5vCEYTtbzrV08hftEH9E7Tb2i8IGj/ZHfcl9wtc8ZMP+vDz9ZsGdSOXofIdR16hOuT
	 rtRO8yntiOLXIfmFcyFxICFzI0oZ9Ev9rVy0LdGK8ycizGRkQUuRf07EzJUWlxnl8X
	 JtGySY6YtFmDw==
Date: Mon, 20 Nov 2023 16:02:56 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, 
    Wei Liu <wl@xen.org>
Subject: Re: [XEN PATCH 1/5] xen/common: address violations of MISRA C:2012
 Rule 8.2
In-Reply-To: <a03a8d60-5e46-4ef2-9e35-cc6892d229ee@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311201602500.773207@ubuntu-linux-20-04-desktop>
References: <cover.1700209834.git.federico.serafini@bugseng.com> <ccc8b4bea515360e448f1975dadb326ad2e6c918.1700209834.git.federico.serafini@bugseng.com> <alpine.DEB.2.22.394.2311171851260.773207@ubuntu-linux-20-04-desktop>
 <a03a8d60-5e46-4ef2-9e35-cc6892d229ee@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 19 Nov 2023, Federico Serafini wrote:
> On 18/11/23 03:59, Stefano Stabellini wrote:
> > On Fri, 17 Nov 2023, Federico Serafini wrote:
> > > diff --git a/xen/common/stop_machine.c b/xen/common/stop_machine.c
> > > index 3adbe380de..398cfd507c 100644
> > > --- a/xen/common/stop_machine.c
> > > +++ b/xen/common/stop_machine.c
> > > @@ -46,7 +46,7 @@ struct stopmachine_data {
> > >         unsigned int fn_cpu;
> > >       int fn_result;
> > > -    int (*fn)(void *);
> > > +    int (*fn)(void *data);
> > >       void *fn_data;
> > >   };
> > 
> > At least one of the possible function used here calls the parameter
> > "arg", see take_cpu_down. But I don't think it is a MISRA requirement to
> > also harmonize those?
> > 
> > 
> > > @@ -73,7 +73,7 @@ static void stopmachine_wait_state(void)
> > >    * mandatory to be called only on an idle vcpu, as otherwise active core
> > >    * scheduling might hang.
> > >    */
> > > -int stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu)
> > > +int stop_machine_run(int (*fn)(void *data), void *data, unsigned int cpu)
> > >   {
> > >       unsigned int i, nr_cpus;
> > >       unsigned int this = smp_processor_id();
> > > diff --git a/xen/common/tasklet.c b/xen/common/tasklet.c
> > > index 3ad67b5c24..3649798e6b 100644
> > > --- a/xen/common/tasklet.c
> > > +++ b/xen/common/tasklet.c
> > > @@ -199,7 +199,7 @@ static void migrate_tasklets_from_cpu(unsigned int
> > > cpu, struct list_head *list)
> > >       spin_unlock_irqrestore(&tasklet_lock, flags);
> > >   }
> > >   -void tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
> > > +void tasklet_init(struct tasklet *t, void (*func)(void *data), void
> > > *data)
> > >   {
> > >       memset(t, 0, sizeof(*t));
> > >       INIT_LIST_HEAD(&t->list);
> > > @@ -208,7 +208,8 @@ void tasklet_init(struct tasklet *t, void (*func)(void
> > > *), void *data)
> > >       t->data = data;
> > >   }
> > >   -void softirq_tasklet_init(struct tasklet *t, void (*func)(void *), void
> > > *data)
> > > +void softirq_tasklet_init(struct tasklet *t,
> > > +                          void (*func)(void *data), void *data)
> > >   {
> > >       tasklet_init(t, func, data);
> > >       t->is_softirq = 1;
> > > diff --git a/xen/common/timer.c b/xen/common/timer.c
> > > index 0fddfa7487..bf7792dcb3 100644
> > > --- a/xen/common/timer.c
> > > +++ b/xen/common/timer.c
> > > @@ -291,7 +291,7 @@ static bool active_timer(const struct timer *timer)
> > >     void init_timer(
> > >       struct timer *timer,
> > > -    void        (*function)(void *),
> > > +    void        (*function)(void *data),
> > >       void         *data,
> > >       unsigned int  cpu)
> > >   {
> > > @@ -441,7 +441,7 @@ void kill_timer(struct timer *timer)
> > >     static void execute_timer(struct timers *ts, struct timer *t)
> > >   {
> > > -    void (*fn)(void *) = t->function;
> > > +    void (*fn)(void *data) = t->function;
> > >       void *data = t->data;
> > >         t->status = TIMER_STATUS_inactive;
> > > diff --git a/xen/include/xen/rangeset.h b/xen/include/xen/rangeset.h
> > > index 135f33f606..390f7b6082 100644
> > > --- a/xen/include/xen/rangeset.h
> > > +++ b/xen/include/xen/rangeset.h
> > > @@ -68,7 +68,7 @@ bool_t __must_check rangeset_overlaps_range(
> > >       struct rangeset *r, unsigned long s, unsigned long e);
> > >   int rangeset_report_ranges(
> > >       struct rangeset *r, unsigned long s, unsigned long e,
> > > -    int (*cb)(unsigned long s, unsigned long e, void *), void *ctxt);
> > > +    int (*cb)(unsigned long s, unsigned long e, void *data), void *ctxt);
> > 
> > Also here some of the functions use "arg" instead of ctxt
> > 
> > 
> > >   /*
> > >    * Note that the consume function can return an error value apart from
> > > @@ -77,7 +77,7 @@ int rangeset_report_ranges(
> > >    */
> > >   int rangeset_consume_ranges(struct rangeset *r,
> > >                               int (*cb)(unsigned long s, unsigned long e,
> > > -                                      void *, unsigned long *c),
> > > +                                      void *ctxt, unsigned long *c),
> > >                               void *ctxt);
> > 
> > Also here some of the functions use "dom" like irq_remove_cb.
> > 
> > 
> > But I actually like the patch as is, so if that's OK from a MISRA point
> > of view then I would give my reviewed-by.
> 
> Yes, this is OK for MISRA.


Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:04:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:04:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637403.993161 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5EFh-0003aH-Md; Tue, 21 Nov 2023 00:04:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637403.993161; Tue, 21 Nov 2023 00: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 1r5EFh-0003aA-K9; Tue, 21 Nov 2023 00:04:29 +0000
Received: by outflank-mailman (input) for mailman id 637403;
 Tue, 21 Nov 2023 00: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5EFg-0003a4-Qv
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:04:28 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 887f48dd-8801-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 01:04:27 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 8150ACE1853;
 Tue, 21 Nov 2023 00:04:23 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A225DC433C8;
 Tue, 21 Nov 2023 00:04: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: 887f48dd-8801-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700525062;
	bh=pk5Iy/4G5TiEwClhN3GiuVV0qRqvavgm608FBwovgdM=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ZjouLuMrWDAVxN+HUPz3jHWcZh13N+IR4127tl36WqTOE2CO4ylBJEBTxfVh5im6z
	 UFH7e9+Ear/N+0rJ9Iwzjfn9cieBgglp7PZLOGTyDoJv446vXHQh1u1sEO/c9sXpuz
	 DpRlnMkY2ecfZq3sPdbqMGA5oAzzpvo0Q2rPMG9h3Syq8wjfsqK3B04R/j2AAl3WQ0
	 lgqqSslzcft6UKowN5hMYTDfdKGb7Nb2ejhqH0BCgBic+mNA+/toGyI1YvIXJ28HJw
	 1EmpRfg0uw/abGKUDX/E16bLj/nQbKnjliuXIZZ8P3TZUN+l4POmJAtCwMlJQBoSgM
	 iJtTAmqaYwVLw==
Date: Mon, 20 Nov 2023 16:04:20 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Federico Serafini <federico.serafini@bugseng.com>, consulting@bugseng.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: [XEN PATCH 3/5] xen/sort: address violations of MISRA C:2012
 Rule 8.2
In-Reply-To: <51010cec-596a-4249-82dc-ac711c3962c3@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311201603220.773207@ubuntu-linux-20-04-desktop>
References: <cover.1700209834.git.federico.serafini@bugseng.com> <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com> <19d887e6-8c07-43f3-a2de-88ce0a0c99ba@suse.com> <b481a966-4f29-4b05-8246-d3f1eec19d0c@bugseng.com>
 <51010cec-596a-4249-82dc-ac711c3962c3@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 20 Nov 2023, Jan Beulich wrote:
> On 20.11.2023 14:13, Federico Serafini wrote:
> > On 20/11/23 10:02, Jan Beulich wrote:
> >> On 17.11.2023 09:40, Federico Serafini wrote:
> >>> --- a/xen/include/xen/sort.h
> >>> +++ b/xen/include/xen/sort.h
> >>> @@ -23,8 +23,8 @@
> >>>   extern gnu_inline
> >>>   #endif
> >>>   void sort(void *base, size_t num, size_t size,
> >>> -          int (*cmp)(const void *, const void *),
> >>> -          void (*swap)(void *, void *, size_t))
> >>> +          int (*cmp)(const void *key, const void *elem),
> >>
> >> Why "key" and "elem" here, but ...
> >>
> >>> +          void (*swap)(void *a, void *b, size_t size))
> >>
> >> ... "a" and "b" here? The first example of users of sort() that I'm
> >> looking at right now (x86/extable.c) is consistent in its naming.
> >>
> > 
> > On the Arm side there are {cmp,swap}_memory_node() and
> > {cmp,swap}_mmio_handler(): "key"/"elem" are used for the comparison
> > and "_a"/"_b" for the swap.
> 
> So - re-raising a question Stefano did raise - is Misra concerned about
> such discrepancies? If yes, _all_ instances need harmonizing. If not, I
> see no reason to go with misleading names here.

Federico confirmed that the answer is "no".

I think we can use "key" and "elem" in this patch as they are more
informative than "a" and "b"


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:21:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:21:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637410.993172 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5EVh-0008Tm-2k; Tue, 21 Nov 2023 00:21:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637410.993172; Tue, 21 Nov 2023 00:21: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 1r5EVg-0008Tf-WA; Tue, 21 Nov 2023 00:21:00 +0000
Received: by outflank-mailman (input) for mailman id 637410;
 Tue, 21 Nov 2023 00:21: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 1r5EVg-0008TV-4D; Tue, 21 Nov 2023 00:21: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 1r5EVg-0003bV-0w; Tue, 21 Nov 2023 00:21: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 1r5EVf-0001Xz-HJ; Tue, 21 Nov 2023 00:20:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5EVf-0007GH-Gn; Tue, 21 Nov 2023 00:20: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=pJi4BpaTWvqnnHXf5yVAgmvsruRo5THfT7qBlMIMzdA=; b=j4joJd/nK+0qWocc5erQ9iszio
	92Hv5IiW7iqC9z/BsYAKBXQaiKimkWBhl5nSKUKJz0p9lRf9XbVMeIAYfgbbG1iyaR6TKVZKgprTy
	/FW2j7F1aVWQUwA2mzMaH4ueEcRgcaTsmSXc39SYWCWgLOGkYeCuWyvItl6WIsnyeyIQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183799-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183799: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=98b1cc82c4affc16f5598d4fa14b1858671b2263
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Nov 2023 00:20:59 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 17 guest-start/debian.repeat fail in 183796 pass in 183799
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail pass in 183796

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                98b1cc82c4affc16f5598d4fa14b1858671b2263
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    5 days
Failing since        183773  2023-11-16 13:12:48 Z    4 days   11 attempts
Testing same since   183796  2023-11-20 02:25:43 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Simon Glass <sjg@chromium.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                 fail    
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 8175 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:27:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:27:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637416.993183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5EbW-0000p7-TY; Tue, 21 Nov 2023 00:27:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637416.993183; Tue, 21 Nov 2023 00: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 1r5EbW-0000p0-Op; Tue, 21 Nov 2023 00:27:02 +0000
Received: by outflank-mailman (input) for mailman id 637416;
 Tue, 21 Nov 2023 00: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5EbV-0000ou-Mf
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:27:01 +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 add21521-8804-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 01:26:59 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 235A4CE135B;
 Tue, 21 Nov 2023 00:26:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E38F8C433C7;
 Tue, 21 Nov 2023 00:26: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: add21521-8804-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700526412;
	bh=RYq+DMRFtOrBP75j2yVKChP2f+fOdENmpakXTodpx2M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YVdUA2tWjndnC/dmrxrZFInD6VjQzYWCpbOB8EcdAoqXLxE/COxbTbWceLRvmhjZJ
	 9wbTiEosiXyhePPNfeJ3fG8eb62UqBeRsQ96Me3E/sfL2/4dR4pQQv5YeuDzPpJTsP
	 pk6yEL5soEds1/dy1T+fQTCKLRjGid1KRzXG9uvdKMoJ0QL+/WwYMiIts0kDu+hQR6
	 7DnXA+b79nuxjRSU0sywOO+jniW8W4UMXc8Jp722AFxRYbDYkL/0oBLVUL+Yw/EAIq
	 7VAZaFME8IGnaqJekvN4WlZvVHuVKhWIL7sXlvQOtD6Oyvvc1sUPdPiTHJznzQU8O3
	 W8YdmxXbWr3Qg==
Date: Mon, 20 Nov 2023 16:26:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org
Subject: Re: [ImageBuilder] uboot-script-gen: use size from arm32 zImage
 header
In-Reply-To: <20231120151315.92119-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2311201626440.773207@ubuntu-linux-20-04-desktop>
References: <20231120151315.92119-1-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 20 Nov 2023, Michal Orzel wrote:
> Take an example from commit 8bf401c99035 ("uboot-script-gen: use size from
> arm64 Image header") and add support for calculating the effective image
> size from arm32 zImage header.
> 
> Introduce get_image_size() function and use it to to probe the supported
> header magic values and to retrieve the effective image size. Use this
> value in add_size(), whenever it's bigger than the one obtained using
> 'stat -L'.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> This patch together with 'bootz' support will allow us to enable testing Xen
> on arm{32,64} in gitlab CI with UBSAN enabled.
> ---
>  scripts/uboot-script-gen | 38 ++++++++++++++++++++++++++++----------
>  1 file changed, 28 insertions(+), 10 deletions(-)
> 
> diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
> index 9e3d86e4743a..078a667c61ab 100755
> --- a/scripts/uboot-script-gen
> +++ b/scripts/uboot-script-gen
> @@ -431,23 +431,41 @@ function device_tree_editing()
>      fi
>  }
>  
> -function add_size()
> +# Read effective image size from a header, which may be larger than the filesize
> +# due to noload sections, e.g. bss.
> +function get_image_size()
>  {
> -    local filename=$1
> -    local size=`stat -L --printf="%s" $filename`
> +    local image=$1
> +    local effective_size=0
>      # Read arm64 header magic (https://www.kernel.org/doc/Documentation/arm64/booting.txt)
> -    local arm64_header_magic=$(od -j 56 -N 4 -t x4 ${filename} | awk 'NR==1 {print $2}')
> +    local arm64_header_magic=$(od -j 56 -N 4 -t x4 ${image} | awk 'NR==1 {print $2}')
> +    # Read arm32 header magic (http://www.simtec.co.uk/products/SWLINUX/files/booting_article.html)
> +    local arm32_header_magic=$(od -j 36 -N 4 -t x4 ${image} | awk 'NR==1 {print $2}')
>  
>      # Check for valid arm64 header magic value 0x644d5241
>      if [ "${arm64_header_magic}" = "644d5241" ]
>      then
> -        # Read effective size, which may be larger than the filesize due to noload sections, e.g. bss
> -        local arm64_header_size=$(od -j 16 -N 8 -t u8 ${filename} | awk 'NR==1 {print $2}')
> +        effective_size=$(od -j 16 -N 8 -t u8 ${image} | awk 'NR==1 {print $2}')
> +    # Check for valid arm32 header magic value 0x016f2818
> +    elif [ "${arm32_header_magic}" = "016f2818" ]
> +    then
> +        local start=$(od -j 40 -N 4 -t u4 ${image} | awk 'NR==1 {print $2}')
> +        local end=$(od -j 44 -N 4 -t u4 ${image} | awk 'NR==1 {print $2}')
> +        effective_size=$(( end - start ))
> +    fi
>  
> -        if [ "${arm64_header_size}" -gt "${size}" ]
> -        then
> -            size=${arm64_header_size}
> -        fi
> +    printf "%u" $effective_size
> +}
> +
> +function add_size()
> +{
> +    local filename=$1
> +    local size=`stat -L --printf="%s" $filename`
> +    local image_size=`get_image_size $filename`
> +
> +    if [ "${image_size}" -gt "${size}" ]
> +    then
> +        size=${image_size}
>      fi
>  
>      memaddr=$(( $memaddr + $size + $offset - 1))
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:40:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:40:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637421.993191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Eo7-0004yh-UI; Tue, 21 Nov 2023 00:40:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637421.993191; Tue, 21 Nov 2023 00: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 1r5Eo7-0004y8-QZ; Tue, 21 Nov 2023 00:40:03 +0000
Received: by outflank-mailman (input) for mailman id 637421;
 Tue, 21 Nov 2023 00:40: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5Eo6-0004Su-Cz
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:40: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 7eee9bee-8806-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 01:39:58 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 22E2660DC4;
 Tue, 21 Nov 2023 00:39:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEAA3C433C8;
 Tue, 21 Nov 2023 00:39: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: 7eee9bee-8806-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700527196;
	bh=XIsJX7YvOZKqotHm+J5/cuXbBZH9QdBVJaWrUgC+Zus=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=A8/TgOvJOlt3/M1v7WbczkhPBcMOoOZHffTNmYV7+5fTC5hCfHxq1VULehndYF3qK
	 YINksseq2X8j5g209wgn5t23D3ln8SrwX82r69kjOzWnIUJ5c+FcXmIlKRgFdSgWnH
	 C2SbE0RwLJNIA8jEtjgEBjzXKOamqAyKxMOoVzICjbOBliiiIidOZyIrC6qJH1KlOJ
	 UIeSOM2yKscwB72BE0UUap1xIEZUu8UrTmYy4WST9zIq5ZXgOo7oMQCoyjAHngcKm2
	 7Jz3bYePkODz/6QHe++dPomltX0lUXBsLV0kGoO/J1PGW2DQtz5S9k5ghw912CJP4i
	 9qFdjloC3lkSA==
Date: Mon, 20 Nov 2023 16:39:54 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Jan Beulich <JBeulich@suse.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Wei Liu <wl@xen.org>, Roberto Bagnara <roberto.bagnara@bugseng.com>
Subject: Re: [PATCH 1/6] x86/setup: Make the loader variable const
In-Reply-To: <20231120224912.1421916-2-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311201639000.773207@ubuntu-linux-20-04-desktop>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com> <20231120224912.1421916-2-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 20 Nov 2023, Andrew Cooper wrote:
> It is never written to, but has a string literal assigned, and needs to be
> const to support -Wwrite-strings
> 
> Suggested-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:43:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:43:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637424.993212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ErB-00068H-Jk; Tue, 21 Nov 2023 00:43:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637424.993212; Tue, 21 Nov 2023 00: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 1r5ErB-00068A-Fu; Tue, 21 Nov 2023 00:43:13 +0000
Received: by outflank-mailman (input) for mailman id 637424;
 Tue, 21 Nov 2023 00:43: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=/eqD=HC=epam.com=prvs=5689374ac6=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5Er9-0005t0-R9
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:43:12 +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 f05aab08-8806-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 01:43:09 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AL0OCqg028597; Tue, 21 Nov 2023 00:42:57 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ug3tmuhrq-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 21 Nov 2023 00:42:57 +0000
Received: from AM0PR03MB3699.eurprd03.prod.outlook.com (2603:10a6:208:4b::31)
 by PAXPR03MB8143.eurprd03.prod.outlook.com (2603:10a6:102:2bb::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Tue, 21 Nov
 2023 00:42:51 +0000
Received: from AM0PR03MB3699.eurprd03.prod.outlook.com
 ([fe80::8e16:90d9:e422:f352]) by AM0PR03MB3699.eurprd03.prod.outlook.com
 ([fe80::8e16:90d9:e422:f352%7]) with mapi id 15.20.7002.027; Tue, 21 Nov 2023
 00:42: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: f05aab08-8806-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C6IIWs5jVqXEaokbFu53TDZtrcmZD9beYxqNQPZ8iG0cUYMM9wPyKV0hzvb86HOyMzoxNm7t4AT7wkKl8PoYRw9QDDElFS60860bxzTr7BAA/J3dUtmoclLNgEhr6ShM2qoJzYww9jDCTgf+jXiXyBsoELPW4cCz3or/64sym0VCFHyTkQ6LCeNHyCsI+x59s0ADBcDkVgvqkgRdfPNaHykBgpxk7Z/+GKjjPFC4s3W+v5v7O7gaKn2IPH7n/JaGmI0Yu//Z4aew0PBtJHh4nonIcxhK6BXVIMk92je1Wc+kxtvJoe1ehWFzjv9kvthbj2mSSlTv/IvQsFIICu1SOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NlqiU2KpMUfzMqvO05ohk5EBTPYD7tyvu4/9yTd/ico=;
 b=RYPi8ZjCe59FWzJin2X1Jj4g60HYzZCLnV69s3+u89AxPoBYcPouAhXqzYLyQOYmMJd0KruN5BKVsB9zSEv2hRYi8QYSjKzwCVznhK19RXAk/oqrNLBJM7xboa9Dzd+hoXf9bPvMXHuQktmU6B8dEB4ZKmbM7KALq1HUW0BVT5alb6Ag0/Br9Dx4XkIr7u7WlBGUtUumYixu4smpPjzn48vETS+cZ9QpnRuxu+KW8DkFvFSB34alGxDr4FJbPDsWxwxOmy/IYTaHWCuHz3Le8o0PBMGd32fA41yYyhkaa9xu7MWynQJTRkNfJElASC+rLqw5T2OL39QAT2znrD8+Zw==
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=NlqiU2KpMUfzMqvO05ohk5EBTPYD7tyvu4/9yTd/ico=;
 b=FEigqpKGZn199k5Dzm7yfSHX74POIFvRLrPLiaY1+bMOyeJhUf2ZIUzo0IZWd4z60UG6YaaUDh0rsqLIjDJ/Y/tNvGUO6/UpFGsprd0iGk0iKebk5Yy3Y/iDJ2IT/7Kjn01hXmXIS/32n9jim2KrSYP0tlBx+QB68x/p/N6k1JqGSH3uP2Tcae/fKyK28IZsOzfRPo3j9LJl4XtvzlC/s+4jQLj67NYyJcW9e4T675ibSitILlGXsNA3Nig+8vGvtbT3vfU4zMoqZJmgfpkkheRKf3bHSvioCT0JscoiaKTA6/qtLdlkp43Ip+9o1EzxSxbXtIL9tvRo5IY2m8y6bA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>,
        Stewart Hildebrand
	<stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@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 v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Topic: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Index: 
 AQHZ/Vi+wP3QsyKZ0EartcLXqtnBRLB9UyCAgAB7YgCAAAiUAIAAEHKAgADZXQCAAEyPgIAAGSwAgAAczgCAAAOwAIAALzmAgASxF4A=
Date: Tue, 21 Nov 2023 00:42:51 +0000
Message-ID: <87ttpg0wdx.fsf@epam.com>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
 <d6a58e73-da51-40f1-a2f7-576274945585@xen.org>
 <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop>
 <87o7ft44bv.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop>
 <87a5rc4gk7.fsf@epam.com> <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org>
 <8734x43zxi.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
 <87edgo2f6j.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: AM0PR03MB3699:EE_|PAXPR03MB8143:EE_
x-ms-office365-filtering-correlation-id: dd0a33e3-2cb7-43ca-2ccb-08dbea2acadf
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 vESx8LSo8c3BSNSoxw8MDAwTfruhhiqNrpJfKuKMZHrsYgKPHnioEcg0hmp0OU8ABdpKN5dnHwTeqcV1vLvy4k/7EuN44A3Qo7pVaFZEYBPfYc/ms7E8KM8QiWOi2HA09+XF3Y2mgI4tCtWSazZgDz4x1qSIKz4EuwQSqNwCTXGe9K3wt9BgClIW0fTCFgDTyTahHjSU45JyPcBvQemeOTLQ1driaxs7yVddg3bxnD3RfQfBW0hr9zjIIGP6JwJLRppkJ49rJEBRezswfihnJrBQjCb43dsEhDf7UC/ov3gnp0uwLyxAsZYIJS+b6q9ab75MJLCPsh7uSt0Gmge9POpTP99qkjOTK/IAKyf6LXNy8CMm9m6g6/hUDwZkLzRZ+BeksepqLYPCqys7VeOD9XRRkk1B9ChNQCZcEKZZ06CuoG7Fw1Ge/G0UWLGkb+YW9TqvBxct/LWYprnYnhDF2sdK7QPx/5ZjIJKEhGVSsr5E/yxcwoCJZ2dfqmQ6beI0/hLNBn15GmtHC3OcsY/e/WFy02vn1VHHgAOrLwYj9TAThLCJvlmIGqvVPxhVBMlR325sNgNobEiv7o0CRJju2umqW81QeIYHx97M0AdJ1+nu7oB1n7+qZcj706hxjRmn
x-forefront-antispam-report: 
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR03MB3699.eurprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(39860400002)(396003)(136003)(376002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(2616005)(38070700009)(86362001)(71200400001)(91956017)(6486002)(6506007)(76116006)(66556008)(66476007)(66446008)(64756008)(6916009)(66946007)(316002)(54906003)(36756003)(122000001)(66899024)(53546011)(6512007)(55236004)(26005)(83380400001)(2906002)(5660300002)(478600001)(41300700001)(8936002)(38100700002)(8676002)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?fcpD8eWnZ6108rNOdmaBnt1jsc7baqIdt4btwG4Wu23UEm+NsEyxV5syaU?=
 =?iso-8859-1?Q?rHysoi1KQLKHNvJE9UUIHgGOgb6boVXFSqRCgDYBjiY+LiyFEaPd2qZQTP?=
 =?iso-8859-1?Q?xBiZx67b2UyE6LaiCHqUeIXVU+hQU8Muc3JpodHGG4D2pQXqykxJYfPJFF?=
 =?iso-8859-1?Q?9DlLt1xYtOnl2AHjRiCQwqnlGfQYuZRG3ApL1md92XeJyzIlsnseA4z09O?=
 =?iso-8859-1?Q?yxH/zacmK68/TO0Xxd8vSY7RBGJ/PIclF3yWL7MoQeCPMh0ULKA095c46N?=
 =?iso-8859-1?Q?ll6+4RBQbREwPYznscV6snCWwvHO9hT0pUytZCnXyLLL2bzjPCVm3Ci3EL?=
 =?iso-8859-1?Q?hSO63wJH4+wkm/xgR8jyg7MWoF2sv9cAFmf+QUY9gJ4BFh5FNzjyFO6bnF?=
 =?iso-8859-1?Q?5zzTphz4mzPrhCjpyOh8jLq/6Kmw+Ar6KnrYEZkg2NZ16WY4tBnXVjX6An?=
 =?iso-8859-1?Q?ZnmA3rsQU67HtVPJNkNjI/vhF0w5wIZTaip8P4v/oX02BpOnHMvxwdYQM9?=
 =?iso-8859-1?Q?xgS0ys4IZM/qKOeo46A7fcEwqmeQm8Bhx9q94j2y0yBbD4B4VNDPAhUYFd?=
 =?iso-8859-1?Q?flhdDaDDahJkqRzWJgtY7JncOqW3zXRmc97Lcf3pa4YJXb5vHpcxIQxkFv?=
 =?iso-8859-1?Q?G/yR4E5CwKP45bVJoSTMl4HMmipTvz1c0XvLC6UpmfvuHA4fRu8zKIzgkq?=
 =?iso-8859-1?Q?1Z4mR8t9tq2mip85X//QI7pduzJ8r7X7nO71JifnYH84bMTApyqaLpl43z?=
 =?iso-8859-1?Q?1qsxp8M2OUcSsVuO6Bz5DYJFXqQzn13Bhx5LAu930lh+tfgTpKhmATNq5e?=
 =?iso-8859-1?Q?g0fJm3+SSckaZmrTxwKZ35H+1RRTI7aCs+fOaEqOoy/wLScSSrXp4SrZHC?=
 =?iso-8859-1?Q?IeHp+/jnyFi2pmKI3zpJwUc5NVjSEt4V+4YakvOnCifjmT0VNm8Ws0vfTk?=
 =?iso-8859-1?Q?MvyeGLed7yvEP/k/QASkAPsXzxDYTQhnSvJ4yarHy8GY6icbljjVTtEllr?=
 =?iso-8859-1?Q?DV8AVRjqcQqDSsYX+83DljhRv/MwXmVzSDEpIN0tFubwlklo52ImAVAbn8?=
 =?iso-8859-1?Q?K1fLe7mjZko/fuXNdJSpFqFRquYZq2RoDzdq7VphtFKuTMmzeFuS/2uY+W?=
 =?iso-8859-1?Q?Dwp3BEZBtz4RcZwSVm4P0i5568isSOIkQUP18uSSTMg6hbE0ougZakvQTA?=
 =?iso-8859-1?Q?TlPMxnxvvzheBdxS8X3M+X7hPlVJ1lr/TnhiylIh76LPoVkDG9u2Ys5x5d?=
 =?iso-8859-1?Q?l5T61CPuCh+8GaRDX9yahrDA+L4EqW+khi4NUsOplQ7+mW304F2Tji1oga?=
 =?iso-8859-1?Q?UM2XqLnZJ9fDmXQ+1Juqjy9gmxTusZr98tLf3UdAkUCi8wedBb8xTfK5jj?=
 =?iso-8859-1?Q?E1DEEU2JYVc1cKRApRUgPK4EDGVzhjcm3CO9Wl1QXywwplg4ojZhLxTIVe?=
 =?iso-8859-1?Q?HekraTJ/M6gKRYO63pA1Z2r7fuUpH4uKxja8n1YRiNEr9nb8ROKByoYnwK?=
 =?iso-8859-1?Q?IgXGkDpyRbZdvZC+GbVI2kvADOmImMq42GJ9/YFc6N0w+ZTIML/XZwEv/h?=
 =?iso-8859-1?Q?gVG4SE7yDPZ7tFaPJ0ck5apEyB6lLbaHu1XZ9gVN3pkBG2Ccya5OEwfo4C?=
 =?iso-8859-1?Q?HmsScIob11tkj2E6MYevV4SDZuZhJtPkFm8HR8W09K26fcluQ5ZUCuXw?=
 =?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: AM0PR03MB3699.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dd0a33e3-2cb7-43ca-2ccb-08dbea2acadf
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2023 00:42:51.6018
 (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: 7kJclyQ4OVZebg0k19YXCs5Hq54GhaN/us91cVgWl2+Pru+MG16eAIfw+Rmmf/tsGNYvEvW9rjk5aV2pv5tYJ4xW3MayzZ6qVf4H4tWMuQ8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB8143
X-Proofpoint-GUID: oXxfyi1AJzXitjFXzkZRTVzdrKHU__jV
X-Proofpoint-ORIG-GUID: oXxfyi1AJzXitjFXzkZRTVzdrKHU__jV
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-20_22,2023-11-20_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0
 mlxlogscore=999 suspectscore=0 bulkscore=0 spamscore=0 impostorscore=0
 mlxscore=0 lowpriorityscore=0 priorityscore=1501 clxscore=1015
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311210001


Hi Stefano,

Stefano Stabellini <sstabellini@kernel.org> writes:

> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
>> > On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
>> >> Hi Julien,
>> >>=20
>> >> Julien Grall <julien@xen.org> writes:
>> >>=20
>> >> > Hi Volodymyr,
>> >> >
>> >> > On 17/11/2023 14:09, Volodymyr Babchuk wrote:
>> >> >> Hi Stefano,
>> >> >> Stefano Stabellini <sstabellini@kernel.org> writes:
>> >> >>=20
>> >> >>> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
>> >> >>>>> I still think, no matter the BDF allocation scheme, that we sho=
uld try
>> >> >>>>> to avoid as much as possible to have two different PCI Root Com=
plex
>> >> >>>>> emulators. Ideally we would have only one PCI Root Complex emul=
ated by
>> >> >>>>> Xen. Having 2 PCI Root Complexes both of them emulated by Xen w=
ould be
>> >> >>>>> tolerable but not ideal.
>> >> >>>>
>> >> >>>> But what is exactly wrong with this setup?
>> >> >>>
>> >> >>> [...]
>> >> >>>
>> >> >>>>> The worst case I would like to avoid is to have
>> >> >>>>> two PCI Root Complexes, one emulated by Xen and one emulated by=
 QEMU.
>> >> >>>>
>> >> >>>> This is how our setup works right now.
>> >> >>>
>> >> >>> If we have:
>> >> >>> - a single PCI Root Complex emulated in Xen
>> >> >>> - Xen is safety certified
>> >> >>> - individual Virtio devices emulated by QEMU with grants for memo=
ry
>> >> >>>
>> >> >>> We can go very far in terms of being able to use Virtio in safety
>> >> >>> use-cases. We might even be able to use Virtio (frontends) in a S=
afeOS.
>> >> >>>
>> >> >>> On the other hand if we put an additional Root Complex in QEMU:
>> >> >>> - we pay a price in terms of complexity of the codebase
>> >> >>> - we pay a price in terms of resource utilization
>> >> >>> - we have one additional problem in terms of using this setup wit=
h a
>> >> >>>    SafeOS (one more device emulated by a non-safe component)
>> >> >>>
>> >> >>> Having 2 PCI Root Complexes both emulated in Xen is a middle grou=
nd
>> >> >>> solution because:
>> >> >>> - we still pay a price in terms of resource utilization
>> >> >>> - the code complexity goes up a bit but hopefully not by much
>> >> >>> - there is no impact on safety compared to the ideal scenario
>> >> >>>
>> >> >>> This is why I wrote that it is tolerable.
>> >> >> Ah, I see now. Yes, I am agree with this. Also I want to add some
>> >> >> more
>> >> >> points:
>> >> >> - There is ongoing work on implementing virtio backends as a
>> >> >> separate
>> >> >>    applications, written in Rust. Linaro are doing this part. Righ=
t now
>> >> >>    they are implementing only virtio-mmio, but if they want to pro=
vide
>> >> >>    virtio-pci as well, they will need a mechanism to plug only
>> >> >>    virtio-pci, without Root Complex. This is argument for using si=
ngle Root
>> >> >>    Complex emulated in Xen.
>> >> >> - As far as I know (actually, Oleksandr told this to me), QEMU has
>> >> >> no
>> >> >>    mechanism for exposing virtio-pci backends without exposing PCI=
 root
>> >> >>    complex as well. Architecturally, there should be a PCI bus to =
which
>> >> >>    virtio-pci devices are connected. Or we need to make some chang=
es to
>> >> >>    QEMU internals to be able to create virtio-pci backends that ar=
e not
>> >> >>    connected to any bus. Also, added benefit that PCI Root Complex
>> >> >>    emulator in QEMU handles legacy PCI interrupts for us. This is
>> >> >>    argument for separate Root Complex for QEMU.
>> >> >> As right now we have only virtio-pci backends provided by QEMU and
>> >> >> this
>> >> >> setup is already working, I propose to stick to this
>> >> >> solution. Especially, taking into account that it does not require=
 any
>> >> >> changes to hypervisor code.
>> >> >
>> >> > I am not against two hostbridge as a temporary solution as long as
>> >> > this is not a one way door decision. I am not concerned about the
>> >> > hypervisor itself, I am more concerned about the interface exposed =
by
>> >> > the toolstack and QEMU.
>> >
>> > I agree with this...
>> >
>> >
>> >> > To clarify, I don't particular want to have to maintain the two
>> >> > hostbridges solution once we can use a single hostbridge. So we nee=
d
>> >> > to be able to get rid of it without impacting the interface too muc=
h.
>> >
>> > ...and this
>> >
>> >
>> >> This depends on virtio-pci backends availability. AFAIK, now only one
>> >> option is to use QEMU and QEMU provides own host bridge. So if we wan=
t
>> >> get rid of the second host bridge we need either another virtio-pci
>> >> backend or we need to alter QEMU code so it can live without host
>> >> bridge.
>> >>=20
>> >> As for interfaces, it appears that QEMU case does not require any cha=
nges
>> >> into hypervisor itself, it just boils down to writing couple of xenst=
ore
>> >> entries and spawning QEMU with correct command line arguments.
>> >
>> > One thing that Stewart wrote in his reply that is important: it doesn'=
t
>> > matter if QEMU thinks it is emulating a PCI Root Complex because that'=
s
>> > required from QEMU's point of view to emulate an individual PCI device=
.
>> >
>> > If we can arrange it so the QEMU PCI Root Complex is not registered
>> > against Xen as part of the ioreq interface, then QEMU's emulated PCI
>> > Root Complex is going to be left unused. I think that would be great
>> > because we still have a clean QEMU-Xen-tools interface and the only
>> > downside is some extra unused emulation in QEMU. It would be a
>> > fantastic starting point.
>>=20
>> I believe, that in this case we need to set manual ioreq handlers, like
>> what was done in patch "xen/arm: Intercept vPCI config accesses and
>> forward them to emulator", because we need to route ECAM accesses
>> either to a virtio-pci backend or to a real PCI device. Also we need
>> to tell QEMU to not install own ioreq handles for ECAM space.
>
> I was imagining that the interface would look like this: QEMU registers
> a PCI BDF and Xen automatically starts forwarding to QEMU ECAM
> reads/writes requests for the PCI config space of that BDF only. It
> would not be the entire ECAM space but only individual PCI conf
> reads/writes that the BDF only.
>

Okay, I see that there is the
xendevicemodel_map_pcidev_to_ioreq_server() function and corresponding
IOREQ_TYPE_PCI_CONFIG call. Is this what you propose to use to register
PCI BDF?

I see that xen-hvm-common.c in QEMU is able to handle only standard 256
bytes configuration space, but I hope that it will be easy fix.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:43:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:43:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637423.993201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ErA-0005tK-BH; Tue, 21 Nov 2023 00:43:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637423.993201; Tue, 21 Nov 2023 00:43: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 1r5ErA-0005tD-8b; Tue, 21 Nov 2023 00:43:12 +0000
Received: by outflank-mailman (input) for mailman id 637423;
 Tue, 21 Nov 2023 00:43: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5Er9-0005t0-4t
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:43:11 +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 efc9b5da-8806-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 01:43:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 96503CE0E12;
 Tue, 21 Nov 2023 00:43:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7F8FBC433C7;
 Tue, 21 Nov 2023 00:43: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: efc9b5da-8806-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700527383;
	bh=h4wtSY+80rcDfKzGVHrpO3CoG+FKAQSJAok3LoCTJkc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Z4xOF/Wt3YUad/wnE/TMu3zeLTBaSoPTndJVdH62E9tc30Ob++F4OZ8ohj8aHLNMT
	 LHfpOxfrzCQXpwHCZNMyTeeQgbNA8D/qokLf7wKcRPg4U3ljVAm2b/bjmrSECH3mUA
	 tVepyW+c1XxiDkEWpHndHXC4YieGaD3z6+ey7YQe3ND4J4hoyQsciatxpjGr8EJYlJ
	 uQG+zF0G9QP15DJ/d2dZnAsvw2+yOhfwN6YYNQuBudctnkIjbsf0VKcb6OEaIsRKWr
	 Ey9CeyG+O5YTudy3kEzJZpfm8FQqSeg5rVOt4/LH75PzmGPhOqPWfVyqCiRhsp5VBi
	 lQAf7gc8vRRxg==
Date: Mon, 20 Nov 2023 16:43:01 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>, Stefano Stabellini <sstabellini@kernel.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH 2/6] x86/setup: Rework cmdline_cook() to be compatible
 with -Wwrite-strings
In-Reply-To: <20231120224912.1421916-3-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311201642110.773207@ubuntu-linux-20-04-desktop>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com> <20231120224912.1421916-3-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 20 Nov 2023, Andrew Cooper wrote:
> Constify both cmdline variables in create_dom0() and __start_xen().
> Initialise Xen's variable to the empty string to simplify the parsing logic.
> 
> Update cmdline_cook() to take and return const pointers, changing it to have
> an early exit for a NULL input (which can happen if the mbi-> pointers happen
> to be 0).
> 
> Note this only compiles because strstr() launders the const off the pointer
> when assigning to the mutable kextra, but that logic only mutates the
> mbi->cmdline buffer.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:48:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:48:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637432.993222 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Ew3-0008Kp-CZ; Tue, 21 Nov 2023 00:48:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637432.993222; Tue, 21 Nov 2023 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 1r5Ew3-0008Ki-9t; Tue, 21 Nov 2023 00:48:15 +0000
Received: by outflank-mailman (input) for mailman id 637432;
 Tue, 21 Nov 2023 00:48: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5Ew2-0008KZ-70
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:48:14 +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 a5a09a8b-8807-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 01:48:12 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id A0B0F6133A;
 Tue, 21 Nov 2023 00:48:11 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C88B8C433C8;
 Tue, 21 Nov 2023 00:48: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: a5a09a8b-8807-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700527691;
	bh=LUHpDX5wqMLjvKfPjNvWlzIsD0EF2aldBVWWDZeRGV4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Hz2j2lZnHFdNAYfGVcgAHn2yHs92kYJq2YsGt+HA/GzQaTBtybXzBG92OkAI+17id
	 /3wKAg+6Zqt1j3gflICJ0BmZa2irwb9zlAznGBU46814Z/dllR1Mx0TeUK1ce2tBAa
	 cc+VFTVQO6WRg2t9evNWVsfGM40ZU3X5u8aVnO6hqUqfvCN5kZJiuTQKtZVAacFWeU
	 NLJHHyJ7gcWL2ivhEEAfemcYnu8/ZeUsw3T7jRiptJmw80C99UQ0oPwcLQVQXqGA46
	 GNEO37XjNM6bSRueqsRvegXbYcd5Du5ayt94+Oboyj/T8m+rRvr4152ITIjCYFpITK
	 rl+yQFZtJGtCw==
Date: Mon, 20 Nov 2023 16:48:08 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>, Stefano Stabellini <sstabellini@kernel.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH 3/6] xen/efi: Make efi-boot.h compile with
 -Wwrite-strings
In-Reply-To: <20231120224912.1421916-4-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311201645150.773207@ubuntu-linux-20-04-desktop>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com> <20231120224912.1421916-4-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1842415497-1700527691=:773207"

  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-1842415497-1700527691=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 20 Nov 2023, Andrew Cooper wrote:
> GCC complains:
> 
>   In file included from arch/arm/efi/boot.c:700:
>   arch/arm/efi/efi-boot.h: In function 'efi_arch_handle_cmdline':
>   arch/arm/efi/efi-boot.h:482:16: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
>     482 |         name.s = "xen";
>         |                ^
> 
> There's no easy option.  .rodata is really read-only, so the fact Xen doesn't
> crash means these strings aren't written to.
> 
> Lie to the compiler using a union.
> 
> 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: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> I *really* don't like this, but it's the only suggestion given.

Hi Andrew, I am trying to understand what is the part you don't like. I
understand that union string looks iffy due to being a union with const
and non-const. Is that your concern or you also spotted additional
problems with this?

If that is the only issue, maybe we can come up with a matter in-code
comment or commit message. (The TODO is not immediately obvious to me
what the issue to be improved is.)


> ---
>  xen/arch/arm/efi/efi-boot.h | 2 +-
>  xen/arch/x86/efi/efi-boot.h | 3 ++-
>  2 files changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> index 1c3640bb65fd..c26bf18b68b9 100644
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -479,7 +479,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>          w2s(&name);
>      }
>      else
> -        name.s = "xen";
> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
>  
>      prop_len = 0;
>      prop_len += snprintf(buf + prop_len,
> diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
> index eebc54180bf7..e2d256e0517b 100644
> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -324,7 +324,8 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>          w2s(&name);
>      }
>      else
> -        name.s = "xen";
> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
> +
>      place_string(&mbi.cmdline, name.s);
>  
>      if ( mbi.cmdline )
> -- 
> 2.30.2
> 
> 
--8323329-1842415497-1700527691=:773207--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:49:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:49:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637434.993231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Exh-0000RX-NB; Tue, 21 Nov 2023 00:49:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637434.993231; Tue, 21 Nov 2023 00: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 1r5Exh-0000RQ-Kc; Tue, 21 Nov 2023 00:49:57 +0000
Received: by outflank-mailman (input) for mailman id 637434;
 Tue, 21 Nov 2023 00:49: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5Exg-0000RI-1b
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:49:56 +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 e259bcef-8807-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 01:49:54 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id A278CB81C84;
 Tue, 21 Nov 2023 00:49:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id AD35EC433C9;
 Tue, 21 Nov 2023 00:49: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: e259bcef-8807-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700527792;
	bh=05e9fkep8pIy8QiX75uiBvfa+BpkZO+PGxJIJ9Kgdxg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=bOqM7An5PYIqDce8J+8DlFN3fA2Rctcy66oAVk28LAh7+8NxB3BShT075NzYOV2LI
	 +UQKx25FqA0URvccDe3B6vEWeutgh1zT8Cg+HOgGfKn6oTjg3fWC8tDNNzw8ZH/MKC
	 ng+JHd600X0Y2rCC2nc0wXSkWViikS6+w+yop3MzSJteFd9dLANN84A/Y8s0nlGDRS
	 5tDyAiVzugoJbmDqUvF5gXvZeOnBm7qhhWcuo2cwDvv8G6HkvmPXKeI15oZMGHPuGP
	 EE48jMP3+PYf9i2ogAftJn6w6bjLs895H2CZdnYGuT7ssOl/mBUCqUgegC/YUl5VV6
	 4qkJL8X7SxVfQ==
Date: Mon, 20 Nov 2023 16:49:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.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>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH 4/6] arm/duart: make dt_uart_init() compile with
 -Wwrite-strings
In-Reply-To: <20231120224912.1421916-5-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311201649430.773207@ubuntu-linux-20-04-desktop>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com> <20231120224912.1421916-5-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 20 Nov 2023, Andrew Cooper wrote:
> GCC complains:
> 
>   drivers/char/arm-uart.c: In function 'dt_uart_init':
>   drivers/char/arm-uart.c:81:17: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
>      81 |         options = "";
>         |                 ^
> 
> The problem is using the options string for both splitting opt_duart, and to
> hold a token "" for no options.
> 
> Use two variables; one mutable one one const.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/drivers/char/arm-uart.c | 12 ++++++++----
>  1 file changed, 8 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/drivers/char/arm-uart.c b/xen/drivers/char/arm-uart.c
> index 8098a968c285..91f13a41368d 100644
> --- a/xen/drivers/char/arm-uart.c
> +++ b/xen/drivers/char/arm-uart.c
> @@ -42,7 +42,8 @@ static void __init dt_uart_init(void)
>      struct dt_device_node *dev;
>      int ret;
>      const char *devpath = opt_dtuart;
> -    char *options;
> +    const char *options;
> +    char *split;
>  
>      if ( !console_has("dtuart") )
>          return; /* Not for us */
> @@ -74,9 +75,12 @@ static void __init dt_uart_init(void)
>          return;
>      }
>  
> -    options = strchr(opt_dtuart, ':');
> -    if ( options != NULL )
> -        *(options++) = '\0';
> +    split = strchr(opt_dtuart, ':');
> +    if ( split )
> +    {
> +        split[0] = '\0';
> +        options = split + 1;
> +    }
>      else
>          options = "";
>  
> -- 
> 2.30.2
> 
> 


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:51:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637436.993242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5EzE-0001nQ-1u; Tue, 21 Nov 2023 00:51:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637436.993242; Tue, 21 Nov 2023 00: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 1r5EzD-0001nJ-V0; Tue, 21 Nov 2023 00:51:31 +0000
Received: by outflank-mailman (input) for mailman id 637436;
 Tue, 21 Nov 2023 00:51: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5EzC-0001n6-Q6
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:51:30 +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 1987ff32-8808-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 01:51:28 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id D286DCE188B;
 Tue, 21 Nov 2023 00:51:22 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id E4AB9C433C9;
 Tue, 21 Nov 2023 00: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: 1987ff32-8808-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700527882;
	bh=Jp9kvg7yqDWkDUb+4S5zgXlzx7j4xJatYG77YG4dAP0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=sSlSBKrVHtvCKQNx9b6DLGphpw+o7yG3E3jMFR2kHt1hNAPNG2hLtV82KAhvql3iN
	 si3grdvMsNR8AMJbyAnfFXS3WurOMCIiZNTjInXEAno7r8FuOBW07mVXcd431keIBX
	 TFqOa9nfQVsRsCvfi8KXLvNZmFWXmCONdLje2zalBCfVYj9GFU10f/p1b8N3/3cL3G
	 TMoeKiP54Etp2CuvcsuLi/WpefiYrhrLThMW36jYZyK2t0C/nqF30Fox6N2yAtCpqv
	 a0Z5ecv31j7p3mgVLOijaroadgd0IGoBwpR56Abc3HvpYq0+A46OalbF+beR9Qnpcc
	 KDLnGA4a85mOw==
Date: Mon, 20 Nov 2023 16:51:19 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.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>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH 5/6] arm/platforms: Make compatbile with
 -Wwrite-strings
In-Reply-To: <20231120224912.1421916-6-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311201651110.773207@ubuntu-linux-20-04-desktop>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com> <20231120224912.1421916-6-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-2032218427-1700527882=:773207"

  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-2032218427-1700527882=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 20 Nov 2023, Andrew Cooper wrote:
> GCC complains:
> 
>   arch/arm/platforms/brcm.c: In function ‘brcm_populate_plat_regs’:
>   arch/arm/platforms/brcm.c:76:27: error: passing argument 1 of ‘brcm_get_dt_node’ discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
>      76 |     rc = brcm_get_dt_node("brcm,brcmstb-cpu-biu-ctrl", &node, &reg_base);
>         |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> 
> and
> 
>   arch/arm/platforms/exynos5.c: In function ‘exynos5_smp_init’:
>   arch/arm/platforms/exynos5.c:109:20: error: assignment discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
>     109 |         compatible = "samsung,exynos4210-sysram-ns";
>         |                    ^
> 
> In both cases, just make the relevant variable const.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/arm/platforms/brcm.c    | 2 +-
>  xen/arch/arm/platforms/exynos5.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/arch/arm/platforms/brcm.c b/xen/arch/arm/platforms/brcm.c
> index 951e4d6cc328..43a07ab1a69d 100644
> --- a/xen/arch/arm/platforms/brcm.c
> +++ b/xen/arch/arm/platforms/brcm.c
> @@ -35,7 +35,7 @@ static u32 brcm_boot_continuation_pc;
>  
>  static struct brcm_plat_regs regs;
>  
> -static __init int brcm_get_dt_node(char *compat_str,
> +static __init int brcm_get_dt_node(const char *compat_str,
>                                     const struct dt_device_node **dn,
>                                     u32 *reg_base)
>  {
> diff --git a/xen/arch/arm/platforms/exynos5.c b/xen/arch/arm/platforms/exynos5.c
> index c48093cd4fa4..f7c09520675e 100644
> --- a/xen/arch/arm/platforms/exynos5.c
> +++ b/xen/arch/arm/platforms/exynos5.c
> @@ -96,7 +96,7 @@ static int __init exynos5_smp_init(void)
>  {
>      struct dt_device_node *node;
>      void __iomem *sysram;
> -    char *compatible;
> +    const char *compatible;
>      paddr_t sysram_addr;
>      paddr_t size;
>      paddr_t sysram_offset;
> -- 
> 2.30.2
> 
> 
--8323329-2032218427-1700527882=:773207--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 00:51:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 00:51:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637438.993252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Ezb-0002FJ-8n; Tue, 21 Nov 2023 00:51:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637438.993252; Tue, 21 Nov 2023 00:51: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 1r5Ezb-0002FC-5v; Tue, 21 Nov 2023 00:51:55 +0000
Received: by outflank-mailman (input) for mailman id 637438;
 Tue, 21 Nov 2023 00: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5EzZ-0002Cs-RJ
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 00:51: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 28fe6c75-8808-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 01:51:53 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 11A06615D9;
 Tue, 21 Nov 2023 00:51:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 46DE5C433C7;
 Tue, 21 Nov 2023 00:51: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: 28fe6c75-8808-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700527911;
	bh=9lsTtT+4f+s8oUOsajJFc0Gp5Px9G3Zt7zcJ6yGu7G0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=TByt1FfgsmJVCtdqWLHVfBTNKos3Q60oZYCeZUWIQ/9ld2kv0HFaNZUqZYC95QV8W
	 G457VYXXR7Y1gVaIGDXTKPFTMRPIdYuRI+IPJTa0162Yb49txoRX69dHcA3DX7nzHr
	 9RDMGfH0/Y4USGRgP2RZfGgbNuQuEep13j3LZ6446Tq3UN1K2nqU7dx+v4i5XUBC+G
	 lLDwpIXWOOyb99386Bc6XlvE55NtxVmi4pdaPdt8Ekl2nLuxbI24IXYLJNz9nQ+6jn
	 tlFKwuPOqxlDfY6ET40x5dA6v+A+QOYzPVZIncvUoWhU7tVExXhm33E+doOHqJ+/Uk
	 sqYw/B2NZJH4w==
Date: Mon, 20 Nov 2023 16:51:48 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>, Stefano Stabellini <sstabellini@kernel.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH 6/6] xen: Enable -Wwrite-strings
In-Reply-To: <20231120224912.1421916-7-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311201651370.773207@ubuntu-linux-20-04-desktop>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com> <20231120224912.1421916-7-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-991833485-1700527911=:773207"

  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-991833485-1700527911=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 20 Nov 2023, Andrew Cooper wrote:
> The codebase is now -Wwrite-strings clean.  Activate the option to cause
> string literals to have a const type, and prevent any violations of MISRA Rule
> 7.4 being reintroduced.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Excellent!

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Roger Pau Monné <roger.pau@citrix.com>
> CC: Wei Liu <wl@xen.org>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Julien Grall <julien@xen.org>
> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> CC: Michal Orzel <michal.orzel@amd.com>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/Makefile | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/xen/Makefile b/xen/Makefile
> index 7b869f4b3037..ca571103c868 100644
> --- a/xen/Makefile
> +++ b/xen/Makefile
> @@ -392,7 +392,7 @@ endif
>  CFLAGS-$(CONFIG_CC_SPLIT_SECTIONS) += -ffunction-sections -fdata-sections
>  
>  CFLAGS += -nostdinc -fno-builtin -fno-common
> -CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith
> +CFLAGS += -Werror -Wredundant-decls -Wwrite-strings -Wno-pointer-arith
>  $(call cc-option-add,CFLAGS,CC,-Wvla)
>  CFLAGS += -pipe -D__XEN__ -include $(srctree)/include/xen/config.h
>  CFLAGS-$(CONFIG_DEBUG_INFO) += -g
> -- 
> 2.30.2
> 
> 
--8323329-991833485-1700527911=:773207--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 01:43:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 01:43:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637454.993265 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Fnd-0004U4-2M; Tue, 21 Nov 2023 01:43:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637454.993265; Tue, 21 Nov 2023 01: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 1r5Fnc-0004Tx-Vr; Tue, 21 Nov 2023 01:43:36 +0000
Received: by outflank-mailman (input) for mailman id 637454;
 Tue, 21 Nov 2023 01:43: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=JpOm=HC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r5Fnc-0004SB-ED
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 01:43:36 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on062c.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 60037e13-880f-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 02:43:33 +0100 (CET)
Received: from AS4P250CA0015.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:5df::14)
 by DU5PR08MB10657.eurprd08.prod.outlook.com (2603:10a6:10:51f::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 01:43:27 +0000
Received: from AMS0EPF00000197.eurprd05.prod.outlook.com
 (2603:10a6:20b:5df:cafe::e) by AS4P250CA0015.outlook.office365.com
 (2603:10a6:20b:5df::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28 via Frontend
 Transport; Tue, 21 Nov 2023 01:43:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF00000197.mail.protection.outlook.com (10.167.16.219) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 01:43:27 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Tue, 21 Nov 2023 01:43:27 +0000
Received: from e97995ef3bc1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 91F68714-5645-40B8-A44C-9E310855F34B.1; 
 Tue, 21 Nov 2023 01:43:20 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e97995ef3bc1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 21 Nov 2023 01:43:20 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU5PR08MB10551.eurprd08.prod.outlook.com (2603:10a6:10:525::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 01:43:17 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7002.027; Tue, 21 Nov 2023
 01:43: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: 60037e13-880f-11ee-98e0-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ARi9vDgLDLOQ4OzT+xpJT7ccFl80TcOXvPS1mMQXVYfEDbErNsswX8atXNz/VSQlsuJA1MgLi2ZueOEjBQ3fs9OHveb/ZDYtuUG2+rU/HeKrCtwLovMFyRA5LxzsuoNcuAIw9ubzgrZR9/0TgmR3kovDfuOyvFlIiO+9+23LKDx2DpCe3jHiR62f2IrJUvG2W2zeWdGE0sbSsSC+Tzu0yRCJ7QgtRfaQKkhsGL5dc3SyPqROM+ka0P+tnfCkHChTcFtUY+o6DIp/mtwQQismFhWVUf7oly1iioL6zhhDjtz7BE95IpjTxCkVfhLOKzSAAMFxbWjwlWnuX9boAJUDjQ==
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=NFfVtGVTxdrUcJ5qAF402B6mhm0FyihihlsMD+7xjv0=;
 b=M99CuhB4J13EkbT8Q2dCkldd117qtMixc6dz7QIA+yGX+HyhW5EPzT6R4J9yu1n+QMfk/8jJw8Bk+azyiHCkFODGL9kIh44RURBLKhuwJ1b7NMmqf+K9frhMS8nAebR11RACXronqSL64RBGWY6Iv3dZcbb45DeYA7qLIa5DsBuRivVJDk6EodMicyqZoHvh8zKGTJ3+qHVZrI5j+8ZCd1CBXj7VQ90fjGKRBBq411Vd48v4wPJajsiSoxaohaxriKK9tHgaufLjxh0818vVGEZHopKF17RIQqY6XQWwTrt0ATPNtoO5OAiPI3WH94lKzt/BmE2X/st7o8kVFDDQnA==
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=NFfVtGVTxdrUcJ5qAF402B6mhm0FyihihlsMD+7xjv0=;
 b=3NivU5/8fmDPjUbMcZd3UHClut78ySjDc8kPXTcfdlOZP/LxqEzVhYvTE0+mF001L+0aSv2CH2tFMdnWSwOOUGkVKG/Vhq9xNCaSg6UsL+pWxe8TTVfFqwXlQOnZvKo8wRNNna8qIHtyi7JdyApjN5gbIy9bDj7hGGyXVJZvQb4=
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: eafcf9ad8b44312b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QREO/5lf/93ePWQONY7NA6LtVP4iVftlQL9CqzpVSYwiX0uZlIUWYsu+APfDQZ3uxn3qKUqtFzURRK7fr2ISYne3OcXeRLznpg7ToA76uuhDEfKWfTTWimtU+SWYR7aJBvyk8KDSJKFqO0p8SKGsgq8AwKDlQ9vun7CEDFWQdiw4OmQCu6TPcmtA6m6eJUOK8RlRqQ3OTfrtolYJPdVOVlho2z7v63JXSWgrvjN7C1wPO/Bk0BOsicJURMFGuPiBvvIpKPQd6cy8E+sEa16DbOgKI42oPU2gsk/66qt6Vwdmml2lbdwDykjZFWkCBZCiQzZWNvz6diVE5hQjrsFGTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=NFfVtGVTxdrUcJ5qAF402B6mhm0FyihihlsMD+7xjv0=;
 b=XdjCCDfWAzL+RAghANoaGm+XDjIv2AAu3YjBITjRSNpxYSGgwTCoF6oHW2LxPszQ26O9sfRchxM4+J23pM+WpfPcsuhpc94dZ+piNHG2+dNN1R511z9+ZetrTggn3xe9MaPx1o35JXJALuu+XmaxfvF8ZQppfemhVe+KUO0RCA+QWKEEQa3sIyiOvX69DccwJrhe38IKzdYX7QJ25TWX3f00vEpY30LNlsweYyYrfOIMySL2aM5AuwSRKfVjSD7uuCAe6S8pXQIQG5NCMeBPPHwMy79bp5JBKLZIFCjLXCb4redI1H1z5t4MvrrT869njMkcZjCrDAX6neCdgoiFNw==
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=NFfVtGVTxdrUcJ5qAF402B6mhm0FyihihlsMD+7xjv0=;
 b=3NivU5/8fmDPjUbMcZd3UHClut78ySjDc8kPXTcfdlOZP/LxqEzVhYvTE0+mF001L+0aSv2CH2tFMdnWSwOOUGkVKG/Vhq9xNCaSg6UsL+pWxe8TTVfFqwXlQOnZvKo8wRNNna8qIHtyi7JdyApjN5gbIy9bDj7hGGyXVJZvQb4=
From: Henry Wang <Henry.Wang@arm.com>
To: Kelly Choi <kelly.choi@cloud.com>, Julien Grall <julien@xen.org>
CC: George Dunlap <george.dunlap@cloud.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "xen-users@lists.xenproject.org"
	<xen-users@lists.xenproject.org>, "xen-announce@lists.xenproject.org"
	<xen-announce@lists.xenproject.org>, "advisory-board@lists.xenproject.org"
	<advisory-board@lists.xenproject.org>
Subject: Re: Xen Project Releases Version 4.18
Thread-Topic: Xen Project Releases Version 4.18
Thread-Index: AQHaG722i8HK+lVrOk+jDsSodIvIfrCEAKiA
Date: Tue, 21 Nov 2023 01:43:17 +0000
Message-ID: <56F8B2A2-87DF-4AE5-986C-16E9A8D0D68F@arm.com>
References:
 <CAO-mL=x0wpaERs7jTK2GmfEhq-EJ4X4wyHERVyoQpfQXQYjUcA@mail.gmail.com>
In-Reply-To:
 <CAO-mL=x0wpaERs7jTK2GmfEhq-EJ4X4wyHERVyoQpfQXQYjUcA@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU5PR08MB10551:EE_|AMS0EPF00000197:EE_|DU5PR08MB10657:EE_
X-MS-Office365-Filtering-Correlation-Id: e6f9a948-805b-48da-826b-08dbea3341f3
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:
 ArDDsGroe1+TuyFZxCngz54+kUgyvzDJJNmhQ3QdCNaz0wzrYHniRwKk+nPFKKGBmS40Pci3JerNyqoCm822FI/tMmqKHheMeTtZkTAxvQddoiIuv6IRf37Z6ymATRKsHA6+LLgcWN0dV7DIx+gfSM5fnkJSHBfL49+7DpbBrI7VMVPv7EOZKUGaRl01tGUxtixRxB8ty1S+HQ015q2HAQEa2u2dNu8uIJGnB9LeEDF1CU0h84PEBAx/sNThL9DMh5zhPhkrjsHTBlE9/thD4Rr9l/438oM5wpw5s7p9qTHARGNngs54yaiFHD+E98GYL74ez7hnZbNK4tlzwpCDCrJ7aDsQQA2fyQCQ0muht5T16TgeYYNoI3llvQFKW8eTpo/AUbas1YzHJ3Kf6REoA4FQ1CaaSLdwI1GUoUdt5zGK4AWgFm0UMW80zrj/+3DRKKfayx6h2aejeo5+1B2ZKx/20w+lZO0DuriYvrmExJ56RWBiE4GyLnR9NJHeqolSvIM1axsI/GqMgxGf6UqBuaIyiFMaPFmrcBrZ37cOjDrX29OChbBA1aFT+yHMOY8yx5cMFRT1qA3D9CXddFX3r7ygr3tNR47Fk60L8cqQicbe/nu1rgH30YfAyNDlxs+beA6CbaWeYPmg+jpKXCaH1/pefZFPQsVEGY3eXDgL8wk=
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:(13230031)(396003)(376002)(136003)(346002)(366004)(39860400002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(5660300002)(86362001)(2906002)(316002)(54906003)(76116006)(64756008)(66946007)(66556008)(66476007)(66446008)(91956017)(110136005)(8676002)(4326008)(8936002)(36756003)(38070700009)(33656002)(41300700001)(71200400001)(26005)(2616005)(83380400001)(53546011)(6506007)(122000001)(6512007)(6486002)(38100700002)(478600001)(966005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <83AFD487842EDB4B85ED313383773E0A@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10551
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:
 AMS0EPF00000197.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	06bb3a8a-710f-4bd6-d330-08dbea333c0e
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qvz6RBVhmG5KjTrCmZ3KbyUPRSJM57pROIEPY1WiQeIznd1I/mHbT4JevmzZrnbFmsZE3S4iluPr7XgtndjQbsoncNMvWXZm8UfWp9fXDKgzJBJzxHzPo6hnHLqSrA2IyZiHIrXwubEneQ9wMCURv2ukAlI/G5eEZQ7MCaOdoTSsxtytyCZ4sqUpHu4MtxXzyvPRLDYFyWMaXaEa0rmJKku9Ofn9DCvNlx+6URA8DsrwOWCQ2CK1NpXEzR0P3mD+gj1/uL8AbgHWnujBMgIEh0sg79gjYYqouARB47HAF9J5CdTp+2BTuTg/iNt9ey/sW38adA+ydi+uLnqmw4QgTVlDKcze/ypObQ5/sFZWnzPNs04PkJKWIAsmBOsfeSSl0StNOxZqrAsjZEhETPBGy62oUduGAapiWMJrBioq+luc9PQGJR5xP1HB4rP9sicABTVx3dzjQMggN7ZHUh5ssEbj0IZdSaLTq4OgjIpCG1gj1txpsrT5tBhiQTAp4j6rgU3lkSyX/S7V6fqiVkrMoUhZcNrTfEwGNNBDUsTK+FnQRrFKNrygaDN2vRaooYU+qifRGZa0sGWdwvzOXr52HZqJ/ltiBNqfUmkMYLt9NB7QPwXn6Tpf9kMp4HsJDW106Zjt1FAssQSftaES37BTy4cp6a5fScIqxzhoNJ3mTOoN8jWdJ7zl9+LxS6rLZVc/jxENN7rMVFJPvOUQOJopl3GxV5SafV3en/VUzBz8Wz0P5z/1Tu7QZ6VPspd7NEVD0wng6ktBMnWeNoX45y8f7g==
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:(13230031)(4636009)(136003)(39860400002)(376002)(346002)(396003)(230922051799003)(1800799012)(82310400011)(186009)(451199024)(64100799003)(36840700001)(46966006)(40470700004)(5660300002)(2906002)(8936002)(4326008)(8676002)(316002)(41300700001)(450100002)(54906003)(70586007)(70206006)(110136005)(40480700001)(966005)(6486002)(6506007)(478600001)(53546011)(26005)(2616005)(6512007)(83380400001)(336012)(40460700003)(36860700001)(81166007)(356005)(47076005)(82740400003)(33656002)(36756003)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 01:43:27.2829
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e6f9a948-805b-48da-826b-08dbea3341f3
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:
	AMS0EPF00000197.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10657

SGksDQoNCj4gT24gTm92IDIwLCAyMDIzLCBhdCAyMjoyNiwgS2VsbHkgQ2hvaSA8a2VsbHkuY2hv
aUBjbG91ZC5jb20+IHdyb3RlOg0KPiANCj4gSGkgZXZlcnlvbmUsDQo+IA0KPiBJdCdzIHdpdGgg
Z3JlYXQgcGxlYXN1cmUgdGhhdCBJIGFubm91bmNlIG91ciA0LjE4IFBSIHJlbGVhc2UhIA0KPiAN
Cj4gUGxlYXNlIGZpbmQgdGhlIFBSIGFydGljbGUgYXR0YWNoZWQgaGVyZSwgYW5kIGluZm9ybWF0
aW9uIG9uIG91ciBibG9nIGhlcmUuDQoNCkFkZGluZyBhIGJpdCBtb3JlIGluZm9ybWF0aW9uIGhl
cmUsDQoNClBsZWFzZSBmaW5kIHRoZSB0YXJiYWxsIGFuZCBpdHMgc2lnbmF0dXJlIGF0Og0KDQpo
dHRwczovL3hlbnByb2plY3Qub3JnL2Rvd25sb2Fkcy94ZW4tcHJvamVjdC1hcmNoaXZlcy94ZW4t
cHJvamVjdC00LTE4LXNlcmllcy94ZW4tcHJvamVjdC00LTE4LTAvDQoNCllvdSBjYW4gYWxzbyBj
aGVjayBvdXQgdGhlIHRhZyBpbiB4ZW4uZ2l0Og0KDQpnaXQ6Ly94ZW5iaXRzLnhlbi5vcmcveGVu
LmdpdCBSRUxFQVNFLTQuMTguMA0KDQpHaXQgY2hlY2tvdXQgYW5kIGJ1aWxkIGluc3RydWN0aW9u
cyBjYW4gYmUgZm91bmQgYXQ6DQoNCmh0dHBzOi8vd2lraS54ZW5wcm9qZWN0Lm9yZy93aWtpL1hl
bl9Qcm9qZWN0XzQuMThfUmVsZWFzZV9Ob3RlcyNCdWlsZF9SZXF1aXJlbWVudHMNCg0KUmVsZWFz
ZSBub3RlcyBjYW4gYmUgZm91bmQgYXQ6DQoNCmh0dHBzOi8vd2lraS54ZW5wcm9qZWN0Lm9yZy93
aWtpL1hlbl9Qcm9qZWN0XzQuMThfUmVsZWFzZV9Ob3Rlcw0KDQpBIHN1bW1hcnkgZm9yIDQuMTgg
cmVsZWFzZSBkb2N1bWVudHMgY2FuIGJlIGZvdW5kIGF0Og0KDQpodHRwczovL3dpa2kueGVucHJv
amVjdC5vcmcvd2lraS9DYXRlZ29yeTpYZW5fNC4xOA0KDQo+IEkgd2FudCB0byB0aGFuayB0aGUg
d2hvbGUgY29tbXVuaXR5IGZvciB0aGVpciBlZmZvcnRzIGluIGdldHRpbmcgdGhpcyByZWxlYXNl
IHB1Ymxpc2hlZC4NCj4gDQo+IEluIHBhcnRpY3VsYXIsIEknZCBsaWtlIHRvIGV4cHJlc3MgZ3Jh
dGl0dWRlIHRvIEBIZW5yeSBXYW5nIGZvciBoaXMgaGVscCBhcyB0aGUgcmVsZWFzZSBtYW5hZ2Vy
LCBAR2VvcmdlIER1bmxhcCBmb3IgY29sbGF0aW5nIHRoZSBkb3dubG9hZHMsIGFuZCB0aGUgQWR2
aXNvcnkgQm9hcmQgZm9yIHRoZWlyIGNvbnRpbnVlZCBzdXBwb3J0IGFuZCBxdW90ZXMgaW4gdGhl
IGFydGljbGUuIA0KDQpBcyB3ZSBhcmUgbGlzdGluZyB0aGUgbmFtZXMsIEkgd291bGQgbGlrZSB0
byBzcGVjaWZpY2FsbHkgdGhhbmsgSnVsaWVuIGZvciB0aGUgZ3JlYXQgd29yayBhcyB0aGUNCnJl
bGVhc2UgdGVjaG5pY2lhbi4gVGhlIHJlbGVhc2Ugd291bGRuJ3QgaGF2ZSBiZWVuIHBvc3NpYmxl
IHdpdGhvdXQgSnVsaWVu4oCZcyBlZmZvcnQgYW5kIHN1cHBvcnQgOikNCg0KS2luZCByZWdhcmRz
LA0KSGVucnkNCg0K


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 01:45:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 01:45:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637479.993294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5FpZ-0006DR-2Z; Tue, 21 Nov 2023 01:45:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637479.993294; Tue, 21 Nov 2023 01:45: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 1r5FpY-0006DK-VZ; Tue, 21 Nov 2023 01:45:36 +0000
Received: by outflank-mailman (input) for mailman id 637479;
 Tue, 21 Nov 2023 01:45: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5FpX-0006BD-Pr
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 01:45:35 +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 a810d161-880f-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 02:45:34 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id DA60CCE13CA;
 Tue, 21 Nov 2023 01:45:30 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9F131C433C7;
 Tue, 21 Nov 2023 01:45: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: a810d161-880f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700531130;
	bh=/KzoCEs8D5qEoss0E3LSwt+/32lHJT7kV70/L/cMnZY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pKIcB9RgClVxhhcpMovGdUassibXgFIYphorAKR9k+N/HmwOlaUE8t6h1tdwyBl1v
	 BHs34RaZFPrcVlinNbWkvgQIj/hiXScF93GAD0BcBq//Bb7lY+coTPQ4zdHVJ+8nz6
	 yBwOYzRkfNajQDWb2HPj7JLeoGA05Efv1zlF6kbcmh0WH046jw4PN3GmuHDh414a9z
	 SD1WnyD8BZsE19DZYdsTntclhPdzZMUL4jquPa/pQLatNyAozKosdYK+vK25maH4KR
	 tcgKm/mjv/NKFNm0gEat93W8XIdq54O+zIoa5mhcaR6xDvvHKiJYkTa/9z5DAO0Lsz
	 R1PNgFL85Pq+A==
Date: Mon, 20 Nov 2023 17:45:27 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>, Stefano Stabellini <sstabellini@kernel.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH 0/6] xen: Enable -Wwrite-strings
In-Reply-To: <8f52b3d7-1a4c-4e9e-80ef-63f148c4392e@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311201744371.773207@ubuntu-linux-20-04-desktop>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com> <8f52b3d7-1a4c-4e9e-80ef-63f148c4392e@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1996054475-1700531130=:773207"

  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-1996054475-1700531130=:773207
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 20 Nov 2023, Andrew Cooper wrote:

> On 20/11/2023 10:49 pm, Andrew Cooper wrote:
> > I got carried away and fixed all remaining -Wwrite-strings issues I could
> > reproduce in local builds.
> >
> > Pipeline in Gitlab:
> >
> >   https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1079379918
> 
> Randconfig found:
> 
> https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/5580160813
> 
> which looks to be the ACPI support.
> 
> diff --git a/xen/arch/arm/acpi/domain_build.c
> b/xen/arch/arm/acpi/domain_build.c
> index ed824c017882..b58389ce9e9f 100644
> --- a/xen/arch/arm/acpi/domain_build.c
> +++ b/xen/arch/arm/acpi/domain_build.c
> @@ -245,7 +245,7 @@ static int __init acpi_create_rsdp(struct domain *d,
> struct membank tbl_add[])
>  
>  static void __init acpi_xsdt_modify_entry(u64 entry[],
>                                            unsigned long entry_count,
> -                                          char *signature, u64 addr)
> +                                          const char *signature, u64 addr)
>  {
>      int i;
>      struct acpi_table_header *table;
> 
> 
> should fix it, and it probably wants to merge into patch 5.


Acked-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-1996054475-1700531130=:773207--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 01:48:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 01:48:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637488.993304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5FsT-0008TL-FY; Tue, 21 Nov 2023 01:48:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637488.993304; Tue, 21 Nov 2023 01:48: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 1r5FsT-0008TE-CX; Tue, 21 Nov 2023 01:48:37 +0000
Received: by outflank-mailman (input) for mailman id 637488;
 Tue, 21 Nov 2023 01:48: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=JpOm=HC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r5FsR-0008SY-BL
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 01:48:35 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20623.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14a7c965-8810-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 02:48:34 +0100 (CET)
Received: from DUZPR01CA0130.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4bc::25) by AS2PR08MB10350.eurprd08.prod.outlook.com
 (2603:10a6:20b:57a::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 01:48:31 +0000
Received: from DB5PEPF00014B89.eurprd02.prod.outlook.com
 (2603:10a6:10:4bc:cafe::7d) by DUZPR01CA0130.outlook.office365.com
 (2603:10a6:10:4bc::25) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Tue, 21 Nov 2023 01:48:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B89.mail.protection.outlook.com (10.167.8.197) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 01:48:30 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Tue, 21 Nov 2023 01:48:30 +0000
Received: from b6f63852ef03.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CEDE5A61-068F-4310-B7E8-1F115C53AE9B.1; 
 Tue, 21 Nov 2023 01:48:23 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b6f63852ef03.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 21 Nov 2023 01:48:23 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DU5PR08MB10551.eurprd08.prod.outlook.com (2603:10a6:10:525::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 01:48:22 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7002.027; Tue, 21 Nov 2023
 01:48: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: 14a7c965-8810-11ee-98e0-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=eOMgsYZR8cBw8JBooz922l0e1ZFS2d4GpR20hXcZjybnmnB+bHPJdygNYSp7KvU5NQtWLbuMyALHxaHscQzbTRVyoKGQdObQw99j+8JKyLFSwYJJCgCSknUVHmE+aaW0yeklodPHU16YnaR5XFduggpjrSZ4bzo466SVklt4Y5Th06x1kXeoECbycgLldSo31DdMkjQVqDO8LJr7337HOeYIb0gNcMkEGvlWdxE7cdX5ZaGIlb1LQXaD3+KSMRqN8DlpdJwJv/BCrGJaqPNDxe4Ab6fpgXYHWvph8pGMNxvb2gqu5akSAweg1rn8ezFr2RW1tJsRFZw4UdOhAlWKEw==
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=VefzFxbKnmIG0LKKDI/jJyL+PevigPQAQzRNMOEJ5hw=;
 b=GyANyWMJ5iO2RLqk8pkDO/K9NaN94YFwANpI2xFxK5Gs5Y58SeAzUQl0Q/oFCD+5/rfrv+42H5w2Dgl9sNyL4uSm/Uw2KgwoNIlcvauSvSxVLQrbix6fdb1YhDY7GfTYZSY16PN8DI26OTbHmVfrJRhp3J5hoIYLbkMlf0FBv3/AkLKibgo2XPAk4pAocJRUrDEfB+321F1a8GXhPEqZGyaiCheskdwOPxRzPhS8aXw4ZUrWKLNTX2jpbcUQEslCV3m7P+CPRPjJ/3UvsaNY4TWRpoluI/XiDXPbcu3l3lHmzJ4PseFHv4KMPbKens9tmGqG136Zxs7i2ONQSGKoAA==
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=VefzFxbKnmIG0LKKDI/jJyL+PevigPQAQzRNMOEJ5hw=;
 b=fw1V0TXKJ2Fah9mOCIlUlxMa+sAhFlDY8CQWUSudFS5dcvpAuKQT/g9llunnx+rbarTkyW3svaJTZUIpZ8AHjAq0Th/GGSOu13mS3lmaTfr4450mFGtQckCLXPQPAOYnR1Wz4C94poFTROTePmYBbon2OAdDpsD1bMBaVtevc+8=
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: 702d44e4ddb273cd
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mXroTrDPfw5bWCWqKC06Vg1MfERS8JUnD0yJmDCWpcwq/hsjtVEmHrh1BTdhW54JqrIl55SF7Dpl57HO+31iw4O8eLWim3bdmt0zRWyYAJ5/KfW65NIWMjRjGk+vCNLTHr09y+lcwoakMEK9tRLNvBdB+BICa0Bu3HYGyuJhoFEOKDlsVEb3AYyPPKvlgurLAc8wlgJlX5zUEpqnR3m0UxwQnzlUwgoT/w2+oUTvTViQzTBmE9S4wrBsiDq23d6iq9UxP5Jlafxo4S62I5e20UmWCPXEVIvINnxmMhCC88dOXlDo+cmdJ2XAnQH7aqll/BoD73weCWq+Dmk8lTQ70A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VefzFxbKnmIG0LKKDI/jJyL+PevigPQAQzRNMOEJ5hw=;
 b=Prmfwc8vNFA+ZVtTGMV5AULnNw82Xa4zUdN1D/97B1SZDjFh+5UquXW1s8TPMcxsFpFjaxiz2mdcMR3o356ZuxEgMiuG9O/0zs2dNP/1nwOBb6qGph7nA6L4kS0l56RUHVjeWpPzzKFyLy6d2VGlE10V0WDjpJZmvG3UF5MNECLLPNnhzXD9LrjcpdeFKrxyHVfHqc/lsQDRR5af50phQXXMu0Ig01ReCzJTXKrrsgY1eiwonuOuhNosRNKd199xxKcGsVrcgG1JrAIxrV2PgcBwKj47Ao2coXrL5txlRf2MhVixMSKAelxT0EtEVxcGkpThcy2xFDMg4frbA5qYGw==
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=VefzFxbKnmIG0LKKDI/jJyL+PevigPQAQzRNMOEJ5hw=;
 b=fw1V0TXKJ2Fah9mOCIlUlxMa+sAhFlDY8CQWUSudFS5dcvpAuKQT/g9llunnx+rbarTkyW3svaJTZUIpZ8AHjAq0Th/GGSOu13mS3lmaTfr4450mFGtQckCLXPQPAOYnR1Wz4C94poFTROTePmYBbon2OAdDpsD1bMBaVtevc+8=
From: Henry Wang <Henry.Wang@arm.com>
To: Oleksii <oleksii.kurochko@gmail.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Kelly Choi
	<kelly.choi@cloud.com>, "marc.ungeschikts@vates.tech"
	<marc.ungeschikts@vates.tech>, "olivier.lambert@vates.fr"
	<olivier.lambert@vates.fr>, "marc.ungeschikts@vates.fr"
	<marc.ungeschikts@vates.fr>
Subject: Re: Interest in Release Manager Role
Thread-Topic: Interest in Release Manager Role
Thread-Index: AQHaG7q/4Smwh/BADkqpFBh5xoW8dbCEAhuA
Date: Tue, 21 Nov 2023 01:48:22 +0000
Message-ID: <ED06FBCD-A346-4B73-A88A-E52F8080AF1F@arm.com>
References: <0cb1254f433536a9995c278c919372e226059934.camel@gmail.com>
In-Reply-To: <0cb1254f433536a9995c278c919372e226059934.camel@gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DU5PR08MB10551:EE_|DB5PEPF00014B89:EE_|AS2PR08MB10350:EE_
X-MS-Office365-Filtering-Correlation-Id: a9e899a5-719c-4944-5e35-08dbea33f6b8
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:
 sgH9esQ68lO8Sc/A7+B8uLemu7ORygBYa0u6puUtOhnlJxHsUTqw6u+OWCNAKG0eI/w4r/0IZoNCD/iaiktpO1kdDE6/OObkQ+cmCieSwoAZ0CMspbJzL4CEpMvslqtQoGeRFk854S+mbKPTu/VzgdyJrjc+pGDYwkQmTFTByy37hLZDNrVUk6cG33y0q3ivUXilgVCnHQ1jFA/Xz0MjB9sjwX255cIliH1GeW9qN8FiQ91gpO2EfLEiQfrdHARsEa/xnBmXnjJiq2nX7na0EcjD+L5CP5k38mAog+rM9AWmeoEhNzhws3TQHJTekqlvqjuyDrW6vloxB36dQW1I2qNmcIYN+PP8erZTlKeZoRmOKNfhuRdjm2UAAF8x311+FUDaPccmVYJOVb3topT4av4JZe5UNHT4d8KplwEKOlpuPaNmFehDFsb+g7m+uIewI3xRDdhnJhUZ9gnVYLKrdS9SbW+8D7Ar/w76g6cetWiDQaGq+vXXIok19BQLoVV3Xgcc3zG+Jj/0YklOzykCkm/EMPjJutDKOisXvUjaA0Jx+1ktqJ55gHcqwSjXKcCbg9W3uvNfXyfzi2hnbEBT5mzMDHweuX0dMzDrrJpL3e+4nEDfhDpIB1Y4ATV3qsFF9BExiEgCv7BmWMPb8YQv/A==
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:(13230031)(396003)(376002)(136003)(346002)(366004)(39860400002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(5660300002)(86362001)(2906002)(4744005)(316002)(6916009)(54906003)(76116006)(64756008)(66946007)(66556008)(66476007)(66446008)(91956017)(8676002)(4326008)(8936002)(36756003)(38070700009)(33656002)(41300700001)(71200400001)(26005)(2616005)(83380400001)(53546011)(6506007)(122000001)(6512007)(6486002)(38100700002)(478600001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <0ABA5D3DBE3CA14BA539530B280E2BBF@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU5PR08MB10551
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:
 DB5PEPF00014B89.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	225f5a65-e544-43a8-bca9-08dbea33f1af
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tpn+AnEGOuGDgargVPT3gPV47GSlG4diCdQlFTn4yPSjwhKlSLZEaPcXaV4FGS8iNE0gpkcmywU3dWqLBN314ITMw79+7s5oqP780VkNb+swQbN2ryL8ifg0XEr/qbmUBTUxZ0Fy876vkbYTz3GOUfOCEYkWoY4F8Uno8CoUFR3L6s21NplDbhB7CgjRSPuWImQaA+83dJ116UnertwPxbW719JF8DLbyEIE7kBEZvGiTjDhrr1Ow7OicV0+UzjnsFp1P+fUzf/Xz9jCfYa5d8VX+zUDMMGva5qw7HYVqG4Pbi1EX7YWpU+2me9k4TaDMygqLypVdWTViRegRaY5KFY/g4AGUhxbcu9Lct+iSPtA9JstIzUnPt8lOeW0Jhfl082vUUVb6fTPXRZOhL7lh62FkrrevD4QdFn63a9grrssumHNAzX6LAI4e6Ia2FZlHFygTGY3vAJdmJ/JoXCeQtfpRXWDNBkGTgmRymwJdoKJDMzyxaMBLoXR6oxreMCqiMjYb2CC0alFoq3vbioLFsQgtRb0fPZuOIn9cfREhNUmZ2qGvRaTbo7QrmpKfeCeYJrlvbA9j+mwgGTFov+b/lZQ/R2Ntvcqj+rsCwclU+RleXf3hife3DjVkkGnkqJMp036VaNegWYpmB8VwcNbbfKhlPneTBh1Jam5cGJkLIu46ytwEjJPeoWfPvKq8MFBOGxABFMyTP0TA8Iw2DtEu/QrNqreWPDjaOoANKfuRgqlwarffoac6So8yzBEKFz8
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:(13230031)(4636009)(376002)(396003)(39860400002)(346002)(136003)(230922051799003)(186009)(1800799012)(82310400011)(64100799003)(451199024)(46966006)(40470700004)(36840700001)(2616005)(107886003)(336012)(82740400003)(26005)(6512007)(83380400001)(53546011)(6506007)(356005)(81166007)(70586007)(70206006)(40480700001)(6486002)(478600001)(47076005)(36860700001)(54906003)(316002)(86362001)(5660300002)(4744005)(40460700003)(2906002)(4326008)(8936002)(8676002)(6862004)(33656002)(41300700001)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 01:48:30.6566
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a9e899a5-719c-4944-5e35-08dbea33f6b8
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:
	DB5PEPF00014B89.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10350

Hi Oleksii,

> On Nov 20, 2023, at 22:06, Oleksii <oleksii.kurochko@gmail.com> wrote:
>=20
> Dear Xen Community,
>=20
> I am keen on stepping into the role of a Release Manager for our next
> release.

Thanks for the email! This sounds good to me and as Kelly says, please
mention this in December community call and we can formalise this.

> Despite not having direct experience yet, I am eager to learn,
> adapt, and grow into this role with your guidance and support.

I will help on that, no worries.

Kind regards,
Henry

>=20
> Have a nice week.
>=20
> Best regards,
> Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 02:13:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 02:13:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637494.993314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5GG0-0006oh-CR; Tue, 21 Nov 2023 02:12:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637494.993314; Tue, 21 Nov 2023 02: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 1r5GG0-0006oa-8G; Tue, 21 Nov 2023 02:12:56 +0000
Received: by outflank-mailman (input) for mailman id 637494;
 Tue, 21 Nov 2023 02:12: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=GQYN=HC=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5GFz-0006oU-Kb
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 02:12:55 +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 7ac4d460-8813-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 03:12:54 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 8BC4AB81D6F;
 Tue, 21 Nov 2023 02:12:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D077CC433C9;
 Tue, 21 Nov 2023 02:12: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: 7ac4d460-8813-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700532772;
	bh=WZbixmRwgFvSxPQlluvGrcVzM9rnh4Au36ZyLd8vCp0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=cPUw7aPlnwIIMvcn9d4YWA/D+ltdvNVK++k8p7ISbeNrZW+Q/PZZrtHapIkiWspZ7
	 2Tj/bon5uEY39anlltJu4lUnMevQ0K2Yofyxl4QiarwHPrmoYAxxxDb/N08Olek2Ub
	 Igeajw5E0RoX/RV2KdkC+kec6r56NJLd2hh76nWe9BOfPpGH/oCfUh7eFxlb9xK3GO
	 BZDXaDdPbAa6a4XcAKrZ0i1v7B4OoRlStLBvJz8OoIAXvUsJuGewyQg3EdViLvOV8n
	 YDv2pPOioCwqAWSEtdBWtQhyIuJzlbKfkPL+XiSWHVdPgglciiiKaURwnmmGIQ3TIZ
	 LMdvd47kj6Wcg==
Date: Mon, 20 Nov 2023 18:12:50 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Juergen Gross <jgross@suse.com>
cc: osstest service owner <osstest-admin@xenproject.org>, 
    xen-devel@lists.xenproject.org, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, oleksandr_tyshchenko@epam.com
Subject: Re: [linux-linus test] 183794: regressions - FAIL
In-Reply-To: <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311201631140.773207@ubuntu-linux-20-04-desktop>
References: <osstest-183794-mainreport@xen.org> <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1103216914-1700526908=:773207"
Content-ID: <alpine.DEB.2.22.394.2311201811500.773207@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-1103216914-1700526908=:773207
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311201811501.773207@ubuntu-linux-20-04-desktop>

On Mon, 20 Nov 2023, Juergen Gross wrote:
> On 20.11.23 03:21, osstest service owner wrote:
> > flight 183794 linux-linus real [real]
> > http://logs.test-lab.xenproject.org/osstest/logs/183794/
> > 
> > Regressions :-(
> > 
> > Tests which did not succeed and are blocking,
> > including tests which could not be run:
> >   test-arm64-arm64-examine      8 reboot                   fail REGR. vs.
> > 183766
> 
> I'm seeing the following in the serial log:
> 
> Nov 20 00:25:41.586712 [    0.567318] kernel BUG at
> arch/arm64/xen/../../arm/xen/enlighten.c:164!
> Nov 20 00:25:41.598711 [    0.574002] Internal error: Oops - BUG:
> 00000000f2000800 [#1] PREEMPT SMP
> 
> The related source code lines in the kernel are:
> 
> ········err = HYPERVISOR_vcpu_op(VCPUOP_register_vcpu_info, xen_vcpu_nr(cpu),
> ································ &info);
> ········BUG_ON(err);
> 
> I suspect commit 20f3b8eafe0ba to be the culprit.
> 
> Stefano, could you please have a look?

The original email somehow escaped my email filters and managed to skip
my inbox. Hence, this is the first time I am seeing this commit. Today I
ran out of time but I'll look at it tomorrow.
--8323329-1103216914-1700526908=:773207--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 04:14:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 04:14:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637509.993364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5I95-00055g-Dj; Tue, 21 Nov 2023 04:13:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637509.993364; Tue, 21 Nov 2023 04:13: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 1r5I95-00055Z-7r; Tue, 21 Nov 2023 04:13:55 +0000
Received: by outflank-mailman (input) for mailman id 637509;
 Tue, 21 Nov 2023 04:13: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 1r5I94-00055P-7B; Tue, 21 Nov 2023 04:13: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 1r5I94-0006bi-4s; Tue, 21 Nov 2023 04:13: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 1r5I93-00043v-Jz; Tue, 21 Nov 2023 04:13:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5I93-0005de-JZ; Tue, 21 Nov 2023 04:13: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=LAjGQ4/jKHFQIXuG6kt9/lTfOTa2hEe444R7dujpEco=; b=t4jBV5TzyUUpmxbAPSiOP4FkVD
	8qDCCH+Is7sphPSv7DTT23yKlEqmsY5c9A9HaqlhGSevaaZTumN8sg/lqHAMHZZ6ZEibvfXFSJFLQ
	rNQ8BWkbaC3wRfMNRhHUrKE9sROycwubEBCtrDjrQTk+WIc1a9AKLJg0yIAZPZ0umlmg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183800-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183800: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-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-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: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-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
X-Osstest-Versions-This:
    xen=cfb777791d39e025cf625ba1fa080597d4defef6
X-Osstest-Versions-That:
    xen=98758ae48974d6d24f999e4d9324e463d326f66f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Nov 2023 04:13:53 +0000

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

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 183795
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183795
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183795
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183795
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183795
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183795
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183795
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183795
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183795
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183795
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183795
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183795
 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-amd64-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-i386-xl-pvshim    14 guest-start                  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-credit1  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit1  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-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-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-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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-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                  cfb777791d39e025cf625ba1fa080597d4defef6
baseline version:
 xen                  98758ae48974d6d24f999e4d9324e463d326f66f

Last test of basis   183795  2023-11-20 01:53:42 Z    1 days
Testing same since   183800  2023-11-20 14:09:32 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.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-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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   98758ae489..cfb777791d  cfb777791d39e025cf625ba1fa080597d4defef6 -> master


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 05:38:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 05:38:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637516.993377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5JSH-0001zT-Ie; Tue, 21 Nov 2023 05:37:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637516.993377; Tue, 21 Nov 2023 05: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 1r5JSH-0001zM-Eg; Tue, 21 Nov 2023 05:37:49 +0000
Received: by outflank-mailman (input) for mailman id 637516;
 Tue, 21 Nov 2023 05:37: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=JpOm=HC=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r5JSG-0001zD-Rm
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 05:37:49 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060b.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 17cb6d4f-8830-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 06:37:43 +0100 (CET)
Received: from DB8PR06CA0019.eurprd06.prod.outlook.com (2603:10a6:10:100::32)
 by AM9PR08MB5873.eurprd08.prod.outlook.com (2603:10a6:20b:2dd::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 05:37:40 +0000
Received: from DB1PEPF00039233.eurprd03.prod.outlook.com
 (2603:10a6:10:100:cafe::7) by DB8PR06CA0019.outlook.office365.com
 (2603:10a6:10:100::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Tue, 21 Nov 2023 05:37:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF00039233.mail.protection.outlook.com (10.167.8.106) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 05:37:39 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Tue, 21 Nov 2023 05:37:39 +0000
Received: from 2270785e4b20.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 7D0D3086-870B-41F7-B976-12038AE2B1D8.1; 
 Tue, 21 Nov 2023 05:37:33 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2270785e4b20.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 21 Nov 2023 05:37:33 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB8PR08MB5337.eurprd08.prod.outlook.com (2603:10a6:10:11e::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 05:37:29 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7002.027; Tue, 21 Nov 2023
 05: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: 17cb6d4f-8830-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=gI5vrG3XuxcvjSGNTf6/yJjsC0ycYVBx+bnWJnuJBuvwk6ONkHWN1zZ+g+rdTcux3PDkOzXZqMEstCA2axQrlKjPxxTJQej/W+Eb0UAd4QukyjAj6eR86pIWNM6e+yL/HTWh0+9s3pQ8dtlZCd0OfWJlDBMs/rkeZZjfxxcfRNiR2/ZPUDdiqugXXZTkMxFpIctaCmRMzSE2k1927yCd/CYB1osJDyv0FqeI/PR14FrfFIMxpGdRCK5lIchaeoeevgIqanEvjcUhDcC5KZ5xt3u7WtlaEm4yR55YrixEt0+a23BOf9qRjM0I/PTWvtAzv4sQ9SGEeXpTHRLKPAz0Bw==
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=32mADRKRm8fo9qKN+qbt2P8uuEmT5VrBGZIGTBS8z8o=;
 b=eiONJiS5QKe9BlnMfM1amw8ZkCNaFZasCvyhDQR1IW/KkO9/QqVZQ5s97C9V7wq7tFjImXwkz/2Hp4WddUajTPdcmdK6e3ZHu8KdWWEtI9kkySCM7Ov6znGNEd8kmF4yHrsnBu017sT5oYWBX3qdwZU6286MI771PytsQMflZSXAnUxowxtFlgUaEIzz9oy/vGxU3NV5xp2zBzxNQ92ZZr5gS7bdPYIwtJcpHFxrv2NfSruzyDjWHf/J9I6xRuDT7MLoRZMSZ7uT9tm5PQzMtdp/TR1/HNYCpaalwhIGHcYkyFTKpm2sCL6bqyiQcEdCqhM80redl4ahulDfW4Mg8Q==
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=32mADRKRm8fo9qKN+qbt2P8uuEmT5VrBGZIGTBS8z8o=;
 b=RtgTTm/oYp2yKgb7BurqCn8VjJrnnSsfjrvfwnlnHPnbyuG+zE9a4UJPFiQCkbKO5h9rkLahLOr/LxJGZ4z1C/E/4AHh1FHjey6OwQ5ojFK9xSt5Lk+2P58qVqHMBIkgCpcAbwg+p3otAc4ykv4RWUw4GGYqWVrY1i38xXvygEU=
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: 729c880dc38d115a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ABjLtpaTnbg7KY9gaBubPH3IcUzR4JW6+BGBQcaZGfwnm60hWQWHT0qDN4cVWN8AESsL39ogjEFYfxKN95Eic2nm7kANCPm7DR64MaV3BtZJYgBIt4Hg/GeYG4eFzaTG3J00mK2JW5+Ol5wh9okupd00ILBMYOe9KF/yTXKQotQlIy3PT34KuVfEOE2oCMKUAk2vk1QXa5FH3T3c3BYjO2j3OtK93rrCp9sQH47Q5jlHAB/N0a2qYlWyr6T1CZw4W4jAnz9wIcoGQeIGteU8aXIhSmGp6if9Bxql8GunBopfossB1mJVeQyI+o/WNhi0uA3Gc6NmbnT85cuZr4TFog==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=32mADRKRm8fo9qKN+qbt2P8uuEmT5VrBGZIGTBS8z8o=;
 b=KIaE3sFpV+AQWn7I6qjt7YY20uzKgIowW3/dVwicLE9iTq6Wqpu3nuPnIKG7r7zGFGMqHCVAafUriit0J4eCZ4Fl2QV+eE7BLKoCMcFKWme+30CjsHxNcADucqx2I31Gy38rrn/pl+MjxX3pG3hNbB5LU2ekPmQqmr5LZsDi5qst4gNstSUQP+UteDXMUYPyeT9DJew+GKbornKrVYU+ukEHvXmSmDT8jEzX6DEdMwPiRgPHbDRlzbH2iMq5vCLoPvB5rzsLGVTH5fFJA/HrejlufU4+Igy25L0brbbWvo83Ye7ZzNx46xXNbGiGIS/AEUh+ODIKq4nDG/t2F99o4Q==
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=32mADRKRm8fo9qKN+qbt2P8uuEmT5VrBGZIGTBS8z8o=;
 b=RtgTTm/oYp2yKgb7BurqCn8VjJrnnSsfjrvfwnlnHPnbyuG+zE9a4UJPFiQCkbKO5h9rkLahLOr/LxJGZ4z1C/E/4AHh1FHjey6OwQ5ojFK9xSt5Lk+2P58qVqHMBIkgCpcAbwg+p3otAc4ykv4RWUw4GGYqWVrY1i38xXvygEU=
From: Henry Wang <Henry.Wang@arm.com>
To: Julien Grall <julien@xen.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Wei
 Chen <Wei.Chen@arm.com>, Penny Zheng <Penny.Zheng@arm.com>, Ayan Kumar Halder
	<ayan.kumar.halder@amd.com>, Michal Orzel <michal.orzel@amd.com>, Volodymyr
 Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [PATCH v9 0/8] xen/arm: Split MMU code as the prepration of MPU
 work
Thread-Topic: [PATCH v9 0/8] xen/arm: Split MMU code as the prepration of MPU
 work
Thread-Index: AQHaGJxQgg3lstnvQka6Dm+hT/jRzLCDmRKAgACvSIA=
Date: Tue, 21 Nov 2023 05:37:28 +0000
Message-ID: <982462DC-6272-4836-A714-BB09D6FF08DA@arm.com>
References: <20231116145032.1651305-1-Henry.Wang@arm.com>
 <f27fc7bb-c61a-45e1-acbe-780c13ed66d4@xen.org>
In-Reply-To: <f27fc7bb-c61a-45e1-acbe-780c13ed66d4@xen.org>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DB8PR08MB5337:EE_|DB1PEPF00039233:EE_|AM9PR08MB5873:EE_
X-MS-Office365-Filtering-Correlation-Id: 5a3868f1-def8-4c7c-c3c3-08dbea53f9da
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:
 VlbpfJKsWj1KE33QwtpqUSLTCzoE6RH3NBoybKGhDUeWvhvie9DmAKR2BD0ZyhAFc92fmiSsKxOK7E/MEKHniowXFlOm4kI2ENGHBQ/aNZ2ePGGDek5+cTwuMjAI2cKlNAzwa1aOeBZF1otycxK451jE3jioKveZa7LbXa8lTfNXcJDdKBl+73t3WrZjJWLBTAH4HmjuZsAp/hEMg4OllolY/1918TQri8QPAF8zXQz0ybxA4glw7tc1keNBoD3ulKmP8leLmcxeJYx40kylw+6wCXiI4c9AvTa4H6EybzWwN9ojeRWoSKHb7SPPIhX4aPPDCo7JJSd509yCpuj13E1rjJjPzoVs4G1nQ7/xAkImBKFvLAWnroqR6Vteuq8Xekvs4wVHDaUvX8dHLIaPOHOC4nfEFySoiYlek3VEZO4e2qwFzhHoYCx8l08a66CoazztM37WQFlEFypeCaFTztcmOnji1HT8ycUaTlCMGs7Nuo92QyrSniYUcobUq7Kffdhx1i4GFruLmGheaNm46IPFmlMMFbanbCZDFfIC0cP2vHNuUdOhiCD2fcltl7zgkC+BtUM2Cx0S/Maw0fQ79gX9v/RYt2Jd+T+krtn+Mk6JOtUqF5RgVpe+jvPwosy+wwncPWk149jUWIiFl3r4Yi3+rq2o/EMX87tL8dN4scxMDrtSgefIMnkY5JGiySV+
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:(13230031)(39860400002)(346002)(376002)(366004)(396003)(136003)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(41300700001)(64756008)(76116006)(66556008)(66476007)(2906002)(66946007)(66446008)(54906003)(122000001)(316002)(6916009)(38100700002)(53546011)(6486002)(45080400002)(966005)(6506007)(6512007)(478600001)(2616005)(83380400001)(26005)(71200400001)(91956017)(5660300002)(36756003)(33656002)(86362001)(8936002)(8676002)(4326008)(38070700009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <94410E1247B6364EA33C0CF39374CDDD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5337
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:
 DB1PEPF00039233.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a0762930-cad2-4e50-f6eb-08dbea53f367
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/LkNW+SL93dXz0oaxBMPxQmEhohJOmtIJcpgGcJ593a7BRfl08j6haVID4ZPu0FT9vknwU3QCJB4RXhN3Gkc8N5guGXWHR6AvxH5YECDz3mCnYkw1W8/XuHeQGTtGleKHfr3Y249uH1jGjnxJMiIDymnGDfCwfmh7NgEZQTxpnqyFoaUGMEQML7r+WT6qvlt/bWW+fO3Gjbht+XkXmB+jQkDj13CLRr2BhWud3SqQ79k/P7mjk/YqH49t02ghmFreKS6g+fwMFpvZC87G2A3kR+MKn+alLOvtzblzOm3Eue6YGM+vG10MCeJL7Mc2ur1wUZiJZ8A7x2DelRq27GLYGtsnlKIVOm0q9LSv7cG/oZmZz/fOll0i7A2fPKVE8TNdcbinNJBmNj92whUOnYfp7vmSz3p2yr7LEotHlGQx0eRP3T+b+aLyATRijN9JOFHeQWUwt2sAwgt5S94EYLlajZyXESSCr3yc/kUUvezMLz1RXM8qNZsOpPyC7zN3hL9QN6dADjr1jg1SV7QRx8Yd7zvGZhTfUx04oegUEupwt3/6IS4yloLzHX+Jtiy04lN5vevXXAy/reF9j3cpN8A9wHVEmo6hi88zRVfx5Tvll/WAaErhndcI6HYg0ezwrgaBsp+Wi0/OUyvZUxTN5OpF6BMvi1LXPmvlfpUn+NPZNCfcc2Nbt00t87i6AsI5kWNkCGTUQTDsc6fjOEBEXULGFVmIZL7SWU07T2G7Tws4w2BsIm3T9X+KrD+oINqNm2Rx3KLhd1f8Hfb3JqHUVMQSQ==
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:(13230031)(4636009)(136003)(376002)(396003)(39860400002)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(82310400011)(46966006)(36840700001)(40470700004)(40480700001)(83380400001)(81166007)(356005)(45080400002)(478600001)(2616005)(6506007)(53546011)(966005)(6486002)(336012)(82740400003)(26005)(316002)(70206006)(70586007)(47076005)(54906003)(36860700001)(107886003)(6512007)(8936002)(6862004)(4326008)(8676002)(40460700003)(5660300002)(2906002)(33656002)(41300700001)(86362001)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 05:37:39.8106
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a3868f1-def8-4c7c-c3c3-08dbea53f9da
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:
	DB1PEPF00039233.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB5873

Hi Julien,

> On Nov 21, 2023, at 03:09, Julien Grall <julien@xen.org> wrote:
>=20
> Hi Henry,
>=20
> On 16/11/2023 14:50, Henry Wang wrote:
>> Based on the discussion in the Xen Summit [1], sending this series out a=
fter
>> addressing the comments in v8 [2] as the preparation work to add MPU sup=
port.
>> Mostly code movement and function folding, with some of Kconfig and buil=
d
>> system (mainly Makefiles) adjustment.
>> This series is based on:
>> 6cd046c501 xen/arm: Enlarge identity map space to 10TB
>> [1] https://lore.kernel.org/xen-devel/AS8PR08MB799122F8B0CB841DED64F4819=
226A@AS8PR08MB7991.eurprd08.prod.outlook.com/
>> [2] https://lore.kernel.org/xen-devel/20231023021345.1731436-1-Henry.Wan=
g@arm.com/
>> Henry Wang (6):
>>   xen/arm: Split page table related code to mmu/pt.c
>>   xen/arm: Split MMU system SMP MM bringup code to mmu/smpboot.c
>>   xen/arm: Fold mmu_init_secondary_cpu() to head.S
>>   xen/arm: Extract MMU-specific MM code
>>   xen/arm: Split MMU-specific setup_mm() and related code out
>>   xen/arm: Fold pmap and fixmap into MMU system
>> Penny Zheng (2):
>>   xen/arm: Rename init_secondary_pagetables() to prepare_secondary_mm()
>>   xen/arm: mmu: move MMU specific P2M code to mmu/p2m.{c,h}
>=20
> I have committed the series. Thanks for the series. Looking forward to re=
view the rest of the MPU support!

Thanks for committing the series. We will rebase the MPU series on top of l=
atest staging, address the
remaining comments from you and send the updated series soon.

Kind regards,
Henry

>=20
> Cheers,
>=20
> --=20
> Julien Grall



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 06:51:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 06:51:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637523.993387 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Kb9-00052w-0I; Tue, 21 Nov 2023 06:51:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637523.993387; Tue, 21 Nov 2023 06:51: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 1r5Kb8-00052p-Th; Tue, 21 Nov 2023 06:51:02 +0000
Received: by outflank-mailman (input) for mailman id 637523;
 Tue, 21 Nov 2023 06:51: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5Kb7-00051S-7F
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 06:51:01 +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 531f92ce-883a-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 07:50:58 +0100 (CET)
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 7D86621941;
 Tue, 21 Nov 2023 06:50: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 44808139FD;
 Tue, 21 Nov 2023 06:50:57 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SDTWDlFTXGX8WQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 06:50: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: 531f92ce-883a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700549457; 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:autocrypt:autocrypt;
	bh=+4bl23GQvrqDxt9hAFVXOpwzFRrOC/j+QJZMn2Vlu1E=;
	b=AktX7C0FMFthGuXf/Jl1IJB6KY76igicYIrdiM0XXPYmHzMkj8BLB+BewLe9eQ1korMOey
	hpdJdnTEaaKS0WUdZvzWluUgOOYTlHw5XK8kqkIVRMNcwx3v69vpABpk8n/EAaObtLkG9k
	K6DMxMh+YVl94SXQ/2ncNTP5JaIqo90=
Message-ID: <75bc1a42-2a2d-4a20-b45e-11cc57875a81@suse.com>
Date: Tue, 21 Nov 2023 07:50:56 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xenstored: use correct conversion specifier in the
 tracing function
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231120175357.219142-1-volodymyr_babchuk@epam.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <20231120175357.219142-1-volodymyr_babchuk@epam.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ZUs564BHl6sewBqX5GUy8lCg"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -5.17
X-Spamd-Result: default: False [-5.17 / 50.00];
	 ARC_NA(0.00)[];
	 TO_DN_EQ_ADDR_SOME(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-3.00)[99.99%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.18)[-0.919];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ZUs564BHl6sewBqX5GUy8lCg
Content-Type: multipart/mixed; boundary="------------SjuLRQGTxwHmCxKGIqWPhtl9";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <75bc1a42-2a2d-4a20-b45e-11cc57875a81@suse.com>
Subject: Re: [PATCH] xenstored: use correct conversion specifier in the
 tracing function
References: <20231120175357.219142-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231120175357.219142-1-volodymyr_babchuk@epam.com>

--------------SjuLRQGTxwHmCxKGIqWPhtl9
Content-Type: multipart/mixed; boundary="------------xLAIc3gx8A4blsZQxXjrdOBA"

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

T24gMjAuMTEuMjMgMTg6NTQsIFZvbG9keW15ciBCYWJjaHVrIHdyb3RlOg0KPiBQcmV2aW91
cyBjaGFuZ2UgdG8geGVuc3RvcmVkIHVzZWQgIiVkIiB0byBmb3JtYXQgY29ubi0+aWQgd2hp
bGUgaW4gZmFjdA0KPiBjb25uLT5pZCBoYXMgInVuc2lnbmVkIGludCIgdHlwZSwgc28gIiV1
IiBzaG91bGQgYmUgdXNlZC4NCj4gDQo+IEZpeGVzOiA5N2Y4NTU1YWNiZjMgKCJ4ZW5zdG9y
ZWQ6IHByaW50IGRvbWFpbiBpZCBpbiB0cmFjZXMiKQ0KPiBTaWduZWQtb2ZmLWJ5OiBWb2xv
ZHlteXIgQmFiY2h1ayA8dm9sb2R5bXlyX2JhYmNodWtAZXBhbS5jb20+DQoNClJldmlld2Vk
LWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQoNCg0KSnVlcmdlbg0KDQo=

--------------xLAIc3gx8A4blsZQxXjrdOBA
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------xLAIc3gx8A4blsZQxXjrdOBA--

--------------SjuLRQGTxwHmCxKGIqWPhtl9--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVcU1AFAwAAAAAACgkQsN6d1ii/Ey+A
Qgf/WCvtJT5tzVep8bl4SytCmr0sE7ywmR2wc1LV1ZOpA/tX4MW2JOsjHHUKOh4kreJdRr08M0L8
YBX97G4m2XDOh1KJmzFo1IORxwe7uPmi3BFrVeYnHy3yxdbxkda/IcKwRd/thuzFGt1/Axl+Ret5
T5P09gHcKniiviZBuss6Zx1K2QeyXkFJBbtUnJUvo4tZle9b9wL1Jq8tO4NIAxMz3vEDUF7dhnYX
JuKntNcazoLxtWo0NNCFRnRVTbKAz7lbc22Y16XCKXA510J+GVOkAluOEKiafAIS/Acyl4NYIiRj
oINCyPRYFEkvoiL1wt3i/eHqm2bPc+WO5l2+7ds8xw==
=BwVB
-----END PGP SIGNATURE-----

--------------ZUs564BHl6sewBqX5GUy8lCg--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 07:08:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 07:08:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637526.993397 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5KsI-0007vD-DT; Tue, 21 Nov 2023 07:08:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637526.993397; Tue, 21 Nov 2023 07: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 1r5KsI-0007v6-Am; Tue, 21 Nov 2023 07:08:46 +0000
Received: by outflank-mailman (input) for mailman id 637526;
 Tue, 21 Nov 2023 07:08: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5KsG-0007ug-Gu
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 07:08: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 ca3a1d97-883c-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 08:08:36 +0100 (CET)
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 BACF721940;
 Tue, 21 Nov 2023 07:08:35 +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 88BD6138E3;
 Tue, 21 Nov 2023 07:08:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id N0r4H3NXXGUsYQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 07:08: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: ca3a1d97-883c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700550515; 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:autocrypt:autocrypt;
	bh=qZKhPEPWmZmvzkettVlPpQiMq97BvlwUDXfM2/Vt7pw=;
	b=QjRwgwzgg5V/br6jOgbNzssq2CixnCnSQdg3dvznF/5S+ztLeFlSOlYRLnan7XNj455TBM
	JB+NLAgs28HCLE9dAW7nLHdSwh4Hfp1sWlYHAEcaYsKwh9+u/qy0wqznBsZ+ucXuEvGQPq
	JEXe35rQ4iCq/XqziqvJxtxzaqQ4dnA=
Message-ID: <ed4eb46f-3e32-4c5d-930e-41bd7df3eb3a@suse.com>
Date: Tue, 21 Nov 2023 08:08:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 03/29] tools/xenlogd: connect to frontend
Content-Language: en-US
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-4-jgross@suse.com>
 <CAKf6xpvb33Om8pQp-iv92r3LFU50Rn1yBiMbJ4R1eufVyx=Tag@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpvb33Om8pQp-iv92r3LFU50Rn1yBiMbJ4R1eufVyx=Tag@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------96npfEkBRLb5meH8iaiRMBD2"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -6.19
X-Spamd-Result: default: False [-6.19 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 TO_DN_SOME(0.00)[];
	 BAYES_HAM(-3.00)[100.00%];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.999];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FREEMAIL_TO(0.00)[gmail.com];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------96npfEkBRLb5meH8iaiRMBD2
Content-Type: multipart/mixed; boundary="------------Mv4INSU0oVlGlnOG02p2sTIe";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jason Andryuk <jandryuk@gmail.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <ed4eb46f-3e32-4c5d-930e-41bd7df3eb3a@suse.com>
Subject: Re: [PATCH v2 03/29] tools/xenlogd: connect to frontend
References: <20231110160804.29021-1-jgross@suse.com>
 <20231110160804.29021-4-jgross@suse.com>
 <CAKf6xpvb33Om8pQp-iv92r3LFU50Rn1yBiMbJ4R1eufVyx=Tag@mail.gmail.com>
In-Reply-To: <CAKf6xpvb33Om8pQp-iv92r3LFU50Rn1yBiMbJ4R1eufVyx=Tag@mail.gmail.com>

--------------Mv4INSU0oVlGlnOG02p2sTIe
Content-Type: multipart/mixed; boundary="------------2O2ZQX0vqP0qiGRWq0NBknIu"

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

T24gMjAuMTEuMjMgMTY6NDksIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIEZyaSwgTm92
IDEwLCAyMDIzIGF0IDE6MDTigK9QTSBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+
IHdyb3RlOg0KPj4NCj4+IEFkZCB0aGUgY29kZSBmb3IgY29ubmVjdGluZyB0byBmcm9udGVu
ZHMgdG8geGVubG9nZC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxq
Z3Jvc3NAc3VzZS5jb20+DQo+IA0KPj4gZGlmZiAtLWdpdCBhL3Rvb2xzL3hlbi05cGZzZC94
ZW4tOXBmc2QuYyBiL3Rvb2xzL3hlbi05cGZzZC94ZW4tOXBmc2QuYw0KPj4gaW5kZXggYzM2
NWIzNWZlNS4uY2M1NzM0NDAyZCAxMDA2NDQNCj4+IC0tLSBhL3Rvb2xzL3hlbi05cGZzZC94
ZW4tOXBmc2QuYw0KPj4gKysrIGIvdG9vbHMveGVuLTlwZnNkL3hlbi05cGZzZC5jDQo+IA0K
Pj4NCj4+ICtzdGF0aWMgaW50IGNoZWNrX2hvc3RfcGF0aChkZXZpY2UgKmRldmljZSkNCj4+
ICt7DQo+PiArICAgIHN0cnVjdCBzdGF0IHN0YXRidWY7DQo+PiArICAgIGNoYXIgKnBhdGgs
ICpwOw0KPj4gKyAgICBpbnQgcmV0ID0gMTsNCj4+ICsNCj4+ICsgICAgaWYgKCAhZGV2aWNl
LT5ob3N0X3BhdGggKQ0KPj4gKyAgICAgICAgcmV0dXJuIDE7DQo+PiArDQo+PiArICAgIGlm
ICggZGV2aWNlLT5ob3N0X3BhdGhbMF0gIT0gJy8nICkNCj4+ICsgICAgICAgIHJldHVybiAx
Ow0KPj4gKw0KPiANCj4gIEZyb20gdjEsIHlvdSBzdGF0ZWQgZm9yIGFsbG9jX2ZpZF9tZW0o
ZGV2aWNlLCBmaWQsIHBhdGgpOg0KPj4gTm8sICJwYXRoIiBpcyBhbHdheXMgc3RhcnRpbmcg
d2l0aCBhICIvIiBpZiBpdCBpcyBub3QgZW1wdHkuDQo+IA0KPiBBbmQgdGhlbg0KPiBzbnBy
aW50ZihmaWRwLT5wYXRoLCBwYXRobGVuLCAiJXMlcyIsIGRldmljZS0+aG9zdF9wYXRoLCBw
YXRoKTsNCj4gDQo+IFdoaWxlIGFsbG9jX2ZpZF9tZW0oKSB1c2VzICIlcyVzIg0KPiANCj4g
QW5kIHA5X2NyZWF0ZSgpIHVzZXMgIiVzLyVzIg0KDQpPZiBjb3Vyc2UgaXQgZG9lcywgYXMg
dGhpcyBpcyB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgY3VycmVudCBwYXRoIHdpdGgNCnRo
ZSBuZXcgZmlsZSBuYW1lLCB3aGljaCBpcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBwYXRo
Lg0KDQo+IHA5X3dhbGsgZG9lczoNCj4gY29uc3QgY2hhciAqcmVsX3BhdGggPSBwYXRoICsg
c3RybGVuKGRldmljZS0+aG9zdF9wYXRoKQ0KPiAuLi4NCj4gYWxsb2NfZmlkX21lbShkZXZp
Y2UsIGZpZCwgcmVsX3BhdGgpOw0KPiANCj4gU28gaG9zdF9wYXRoIGlzIGV4cGVjdGVkIG5v
dCB0byBoYXZlIGEgdGFpbGluZyAnLycgdG8gZW5zdXJlIHRoYXQNCj4gcmVsX3BhdGggc3Rh
cnRzIHdpdGggYSAnLycuICBTbyB5b3Ugd2FudCB0byBlcnJvciBvdXQgZm9yIGEgdHJhaWxp
bmcNCj4gJy8nIChvciBvdmVyd3JpdGUgd2l0aCAnXDAnKT8NCg0KSSBjYW4gYWRkIHRoYXQu
DQoNCj4gSXQgc2VlbXMgbGlrZSBhbGxvY19maWRfbWVtKCkgc2hvdWxkIGFsc28gY2hlY2sg
dG8gZW5zdXJlIHBhdGggaXMgIicvJw0KPiBpZiBpdCBpcyBub3QgZW1wdHkiLg0KDQpJJ2xs
IGFkZCBhbiBhc3NlcnQoKS4NCg0KPiBUaGlzIGlzIGFsbCBzdWJ0bGUgYW5kIHNlY3VyaXR5
IHJlbGV2YW50LCBzbyBpdCdzIGltcG9ydGFudCB0byBnZXQNCj4gdGhpcyByaWdodC4gIEEg
Y29kZSBjb21tZW50IGV4cGxhaW5pbmcgdGhlIGV4cGVjdGF0aW9uIG9mIHBhdGhzIGZvcg0K
PiBob3N0X3BhdGggdnMuIGZpZHMgd291bGQgYmUgZ29vZC4NCg0KQWdyZWVkLg0KDQo+IEFs
c28sIG1heWJlIHVzaW5nIG9wZW5hdCgpIHdvdWxkIGJlIGEgYmV0dGVyIGFwcHJvYWNoPyAg
Q3JlYXRlIHRoZQ0KPiBkaXJmZCBwb2ludGluZyBhdCB0aGUgOXBmcyBleHBvcnQgYW5kIHRo
ZW4gdXNlIHJlbGF0aXZlIHBhdGhzIGZvciB0aGUNCj4gcGF0aHMgaW5zaWRlLiAgVGhpcyB3
b3VsZCBjdXQgZG93biBvbiB0aGUgbWFudWFsIHBhdGggbWFuaXB1bGF0aW9ucy4NCg0KSSds
bCBsb29rIGludG8gdGhhdC4gSSdsbCBoYXZlIHRvIHRyYWRlIHNwZWNpYWwgY2FzaW5nIGFj
Y2Vzc2luZyB0aGUgcm9vdA0KZGlyZWN0b3J5IHZzLiByZWR1Y2luZyBwYXRoIG9wZXJhdGlv
bnMuDQoNCj4gDQo+PiArICAgIHBhdGggPSBzdHJkdXAoZGV2aWNlLT5ob3N0X3BhdGgpOw0K
Pj4gKyAgICBpZiAoICFwYXRoICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgc3lzbG9nKExP
R19DUklULCAibWVtb3J5IGFsbG9jYXRpb24gZmFpbHVyZSEiKTsNCj4+ICsgICAgICAgIHJl
dHVybiAxOw0KPj4gKyAgICB9DQo+PiArDQo+PiArICAgIGZvciAoIHAgPSBwYXRoOyBwOyAp
DQo+PiArICAgIHsNCj4+ICsgICAgICAgIHAgPSBzdHJjaHIocCArIDEsICcvJyk7DQo+PiAr
ICAgICAgICBpZiAoIHAgKQ0KPj4gKyAgICAgICAgICAgICpwID0gMDsNCj4+ICsgICAgICAg
IGlmICggIXN0YXQocGF0aCwgJnN0YXRidWYpICkNCj4+ICsgICAgICAgIHsNCj4+ICsgICAg
ICAgICAgICBpZiAoICEoc3RhdGJ1Zi5zdF9tb2RlICYgU19JRkRJUikgKQ0KPj4gKyAgICAg
ICAgICAgICAgICBicmVhazsNCj4+ICsgICAgICAgICAgICBpZiAoICFwICkNCj4+ICsgICAg
ICAgICAgICB7DQo+PiArICAgICAgICAgICAgICAgIHJldCA9IDA7DQo+PiArICAgICAgICAg
ICAgICAgIGJyZWFrOw0KPj4gKyAgICAgICAgICAgIH0NCj4+ICsgICAgICAgICAgICAqcCA9
ICcvJzsNCj4+ICsgICAgICAgICAgICBjb250aW51ZTsNCj4+ICsgICAgICAgIH0NCj4+ICsg
ICAgICAgIGlmICggbWtkaXIocGF0aCwgMDc3NykgKQ0KPj4gKyAgICAgICAgICAgIGJyZWFr
Ow0KPj4gKyAgICAgICAgaWYgKCBwICkNCj4+ICsgICAgICAgICAgICAqcCA9ICcvJzsNCj4+
ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBmcmVlKHBhdGgpOw0KPj4gKyAgICByZXR1cm4gcmV0
Ow0KPj4gK30NCj4+ICsNCj4gDQo+PiArDQo+PiArc3RhdGljIGludCB3cml0ZV9iYWNrZW5k
X25vZGUoZGV2aWNlICpkZXZpY2UsIGNvbnN0IGNoYXIgKm5vZGUsIGNvbnN0IGNoYXIgKnZh
bCkNCj4+ICt7DQo+PiArICAgIHN0cnVjdCBwYXRoIHA7DQo+PiArICAgIHN0cnVjdCB4c19w
ZXJtaXNzaW9ucyBwZXJtc1syXSA9IHsNCj4+ICsgICAgICAgIHsgLmlkID0gMCwgLnBlcm1z
ID0gWFNfUEVSTV9OT05FIH0sDQo+IA0KPiBUaGlzIGhhcmQgY29kZXMgZG9tMC4gIElmIHhz
X3Blcm1pc3Npb25zIHN1cHBvcnRlZCBET01JRF9TRUxGLCBpdA0KPiB3b3VsZG4ndCBuZWVk
IHRvIGJlIGxvb2tlZCB1cC4NCg0KRE9NSURfU0VMRiBpc24ndCBzdXBwb3J0ZWQuIEJ1dCB5
b3UgYXJlIHJpZ2h0LCBJIG5lZWQgdG8gYXZvaWQgaGFyZCBjb2RpbmcgZG9tMA0KaGVyZS4g
VGhpcyBjYW4gYmUgYWNoaWV2ZWQgYnkgcmVhZGluZyB0aGUgcGVybWlzc2lvbnMgYWZ0ZXIg
Y3JlYXRpbmcgdGhlIG5vZGUNCmFuZCB1c2UgdGhlIHJlc3VsdCBmb3IgdGhlIGZpcnN0IHBl
cm1pc3Npb24gZW50cnkuDQoNCj4gDQo+PiArICAgICAgICB7IC5pZCA9IGRldmljZS0+ZG9t
aWQsIC5wZXJtcyA9IFhTX1BFUk1fUkVBRCB9DQo+PiArICAgIH07DQo+PiArDQo+PiArICAg
IGNvbnN0cnVjdF9iYWNrZW5kX3BhdGgoZGV2aWNlLCBub2RlLCAmcCk7DQo+PiArICAgIGlm
ICggIXhzX3dyaXRlKHhzLCBYQlRfTlVMTCwgcC5wYXRoLCB2YWwsIHN0cmxlbih2YWwpKSAp
DQo+PiArICAgIHsNCj4+ICsgICAgICAgIHN5c2xvZyhMT0dfRVJSLCAiZXJyb3Igd3JpdGlu
ZyBiYWPhuLFlbmQgbm9kZSBcIiVzXCIgZm9yIGRldmljZSAldS8ldSIsDQo+PiArICAgICAg
ICAgICAgICAgbm9kZSwgZGV2aWNlLT5kb21pZCwgZGV2aWNlLT5kZXZpZCk7DQo+PiArICAg
ICAgICByZXR1cm4gMTsNCj4+ICsgICAgfQ0KPj4gKw0KPj4gKyAgICBpZiAoICF4c19zZXRf
cGVybWlzc2lvbnMoeHMsIFhCVF9OVUxMLCBwLnBhdGgsIHBlcm1zLCAyKSApDQo+PiArICAg
IHsNCj4+ICsgICAgICAgIHN5c2xvZyhMT0dfRVJSLCAiZXJyb3Igc2V0dGluZyBwZXJtaXNz
aW9ucyBmb3IgXCIlc1wiIiwgcC5wYXRoKTsNCj4+ICsgICAgICAgIHJldHVybiAxOw0KPj4g
KyAgICB9DQo+PiArDQo+PiArICAgIHJldHVybiAwOw0KPj4gK30NCj4+ICsNCj4gDQo+PiAr
DQo+PiArc3RhdGljIHZvaWQgY29ubmVjdF9kZXZpY2UoZGV2aWNlICpkZXZpY2UpDQo+PiAr
ew0KPj4gKyAgICB1bnNpZ25lZCBpbnQgdmFsOw0KPj4gKyAgICB1bnNpZ25lZCBpbnQgcmlu
Z19pZHg7DQo+PiArICAgIGNoYXIgbm9kZVsyMF07DQo+PiArICAgIHN0cnVjdCByaW5nICpy
aW5nOw0KPj4gKyAgICB4ZW5ldnRjaG5fcG9ydF9vcl9lcnJvcl90IGV2dGNobjsNCj4+ICsN
Cj4+ICsgICAgdmFsID0gcmVhZF9mcm9udGVuZF9ub2RlX3VpbnQoZGV2aWNlLCAidmVyc2lv
biIsIDApOw0KPj4gKyAgICBpZiAoIHZhbCAhPSAxICkNCj4+ICsgICAgICAgIHJldHVybiBj
b25uZWN0X2VycihkZXZpY2UsICJmcm9udGVuZCBzcGVjaWZpZXMgaWxsZWdhbCB2ZXJzaW9u
Iik7DQo+PiArICAgIGRldmljZS0+bnVtX3JpbmdzID0gcmVhZF9mcm9udGVuZF9ub2RlX3Vp
bnQoZGV2aWNlLCAibnVtLXJpbmdzIiwgMCk7DQo+PiArICAgIGlmICggZGV2aWNlLT5udW1f
cmluZ3MgPCAxIHx8IGRldmljZS0+bnVtX3JpbmdzID4gTUFYX1JJTkdTICkNCj4+ICsgICAg
ICAgIHJldHVybiBjb25uZWN0X2VycihkZXZpY2UsICJmcm9udGVuZCBzcGVjaWZpZXMgaWxs
ZWdhbCByaW5nIG51bWJlciIpOw0KPj4gKw0KPj4gKyAgICBmb3IgKCByaW5nX2lkeCA9IDA7
IHJpbmdfaWR4IDwgZGV2aWNlLT5udW1fcmluZ3M7IHJpbmdfaWR4KysgKQ0KPj4gKyAgICB7
DQo+PiArICAgICAgICByaW5nID0gY2FsbG9jKDEsIHNpemVvZigqcmluZykpOw0KPj4gKyAg
ICAgICAgaWYgKCAhcmluZyApDQo+PiArICAgICAgICAgICAgcmV0dXJuIGNvbm5lY3RfZXJy
KGRldmljZSwgImNvdWxkIG5vdCBhbGxvY2F0ZSByaW5nIG1lbW9yeSIpOw0KPj4gKyAgICAg
ICAgZGV2aWNlLT5yaW5nW3JpbmdfaWR4XSA9IHJpbmc7DQo+PiArICAgICAgICByaW5nLT5k
ZXZpY2UgPSBkZXZpY2U7DQo+PiArICAgICAgICBwdGhyZWFkX2NvbmRfaW5pdCgmcmluZy0+
Y29uZCwgTlVMTCk7DQo+PiArICAgICAgICBwdGhyZWFkX211dGV4X2luaXQoJnJpbmctPm11
dGV4LCBOVUxMKTsNCj4+ICsNCj4+ICsNCj4gDQo+IGV4dHJhIGJsYW5rIGxpbmUuDQoNCldp
bGwgcmVtb3ZlIGl0Lg0KDQoNClRoYW5rcywNCg0KSnVlcmdlbg0KDQo=
--------------2O2ZQX0vqP0qiGRWq0NBknIu
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------2O2ZQX0vqP0qiGRWq0NBknIu--

--------------Mv4INSU0oVlGlnOG02p2sTIe--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVcV3MFAwAAAAAACgkQsN6d1ii/Ey/q
uAf9E03cMKgoCVOKKpJYdXYpjoBIMYNx68Ikfv+AY8pLs+nruiJ8UOyIlY+3rZg5YwVUkGtidXSv
YPimxuzdgRdJWEzQi0sa9j3uv9ODDt9dASZ5CnVBHqx7IbmpwXiSncRN8NwNPyqZjnV5lxKrcPg5
fhbtovQA7NbFt0I4piHGN1KI0B411dtFXEi/4S3kpGGbube3bR7zyuK566izpjksjutAlDMcZQZy
eopIJxa/XScpyTezHl1xbTM/KtCeWkLhekKY2JHUNZtOeZP9pGbaQ6Zs/ZvFoeSuHduXG5bZxM7C
QMcgjstPYsqI1kckLhOTXRBiTq+0qk6YeM1wJMrvAQ==
=szX0
-----END PGP SIGNATURE-----

--------------96npfEkBRLb5meH8iaiRMBD2--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 07:20:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 07:20:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637531.993407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5L3p-0002R0-J0; Tue, 21 Nov 2023 07:20:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637531.993407; Tue, 21 Nov 2023 07:20: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 1r5L3p-0002Qt-FU; Tue, 21 Nov 2023 07:20:41 +0000
Received: by outflank-mailman (input) for mailman id 637531;
 Tue, 21 Nov 2023 07: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5L3o-0002Qn-H5
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 07:20:40 +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 7888b278-883e-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 08:20:39 +0100 (CET)
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 133D91F8AA;
 Tue, 21 Nov 2023 07:20: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 C5E73138E3;
 Tue, 21 Nov 2023 07:20:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id v1vtLkVaXGV4ZgAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 07:20: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: 7888b278-883e-11ee-98e0-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700551238; 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=IoTAqFPXtrydpOhzaoq9rK4oO0dLKtWTd80AkbGuZT4=;
	b=ihFGWK5eHcgQAzAoHFiTqc5q4Ev7FHcphqUyHpJFXt9eGjlEsCjJO8pUhw7Bvgd927TPvU
	Tt9x5/firfgISaf8ywTqU9rkNF8eguRMgqYeUcAzt6s8Oub0o/JMxgfoKIn/o6r/k5A4zS
	W6Cl5r45hjJbyHqpI1BLC/fdG6EOfD8=
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] SUPPORT.md: change current version to 4.19-unstable
Date: Tue, 21 Nov 2023 08:20:36 +0100
Message-Id: <20231121072036.12133-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: ***
X-Spam-Score: 3.60
X-Spamd-Result: default: False [3.60 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[8];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.10)[65.75%]
X-Spam-Flag: NO

The version in SUPPORT.md is still "4.18-rc".

Change it to "4.19-unstable".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 SUPPORT.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/SUPPORT.md b/SUPPORT.md
index fff4b4c5ba..a90d1108c9 100644
--- a/SUPPORT.md
+++ b/SUPPORT.md
@@ -9,7 +9,7 @@ for the definitions of the support status levels etc.
 
 # Release Support
 
-    Xen-Version: 4.18-rc
+    Xen-Version: 4.19-unstable
     Initial-Release: n/a
     Supported-Until: TBD
     Security-Support-Until: Unreleased - not yet security-supported
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 07:33:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 07:33:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637537.993417 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5LFw-0004xW-HW; Tue, 21 Nov 2023 07:33:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637537.993417; Tue, 21 Nov 2023 07:33: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 1r5LFw-0004xP-ES; Tue, 21 Nov 2023 07:33:12 +0000
Received: by outflank-mailman (input) for mailman id 637537;
 Tue, 21 Nov 2023 07: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5LFv-0004xJ-9e
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 07:33:11 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2061d.outbound.protection.outlook.com
 [2a01:111:f400:fe13::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3887a36b-8840-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 08:33:10 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS5PR04MB9969.eurprd04.prod.outlook.com (2603:10a6:20b:67c::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 07:33:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 07:33: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: 3887a36b-8840-11ee-98e0-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iUFfQDfsNQDP/QLNHDvlm2qsxHAx+quo9DbTOA04pCL4skWlVy0Lr0DlWrg7NZ7B+A8MF2xB2oSDRzMuxGk8JguBdok2Zd0DQfbiZsIgnLjw1yKi3q7TmFZswPXrGWNcnD3/402m1u6y/G752112Yy3C4peFPecXGYALukZOydL0kUFq9PU1yQSJUUhLN3/1CYhuVy4H9C0XZLNrFzJD2a0dsf8mlnVjcasLGm7J1owRIAnvFVDNNBy+r6dFZs5fTbE8RZ/CJJEyNJig+duZA38tZ5dnCKNswidrAxVV8xb7x31uDP33nah3Ky01iLhlsg/vtGtAOEArfIPUr4f5Og==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cbc0NTo8XWnPFreyw6Jpx7UNGoBpKx7nYdeSqYdiVS8=;
 b=eqvNt7NO/6O8UZqhb0VbNx9SMEZ/bgs4LqziM1YeuscieoTKof1TFwXEhO5ebLV3HH3kYZv8opKyqcdNp6UVsfy+zZ5X4qhjAkhD+VbgWiV//Wfjcms5UsyY0nHJG0pXDhH3kpBJGi1YqzNpq+wH3Dd+UXO1+t8HDOHV1+ctjFRzOz4SScfwLqYs3aM84lcq463AWNnbw3yoWiI9zZjr6IxdZzAdehU0BHF9UxmsO+D6QJ0/4C3F2gp/MQI7jWySAhU+qrgvCkWmK9W7pwbr/QRdWfP4IsgHkLd/YPGb99SB5DJ8ZABkc4jNcYMP05erJGeqXfgcwU7W/tYiMIz9ug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=cbc0NTo8XWnPFreyw6Jpx7UNGoBpKx7nYdeSqYdiVS8=;
 b=fdwT3ZTR1mJ9uQajsKMs7RUBjsmRKPu8IwnjNx/D5Q2jx0fL7lonFvyVMn3Pn1NQN86XaW+yCYRXcCnedG3QE13Wn1UFG297evH+9UF5FcbW7nmN6FmIJcVLvi71/3NHHde7IStuPD+VJMBL9GZzkP8csaf+Ie3ujLx12LZaa0Rd5uqtdq9tXtE96M1ThWjaq2fmwlsdD5iqOUQLK7WbeqQykmFMpV1bP/1O7G/nY3/xGJx3DCkf9B1vR6ORUx5UAHsSZ+hoBkVBX4pRmvrOayYU5g7W8KSr4uTvHwtaEzpmpAS1pa81tUU5S+CfTqSkG7tIj8GNaHAX4EZdpiPmbA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dc07af2c-c011-4c06-a573-6aa95deb9ec6@suse.com>
Date: Tue, 21 Nov 2023 08:33:04 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/5] xen/sort: address violations of MISRA C:2012 Rule
 8.2
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 consulting@bugseng.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: <cover.1700209834.git.federico.serafini@bugseng.com>
 <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
 <19d887e6-8c07-43f3-a2de-88ce0a0c99ba@suse.com>
 <b481a966-4f29-4b05-8246-d3f1eec19d0c@bugseng.com>
 <51010cec-596a-4249-82dc-ac711c3962c3@suse.com>
 <alpine.DEB.2.22.394.2311201603220.773207@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311201603220.773207@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0165.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS5PR04MB9969:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e6e4aed-6ab6-4cc2-f779-08dbea641a32
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	h7OF/GjyaxEnfkKgJSmTJ0y7yzsY1RU98aWGDjKz4qJUZb7mgz5g++ynWt2AO0BLD/vMfJg58tK8XkgcOlxz4LOswbZyIAkwxWo9CmecTizjivU0XOWIpBcTB3zBkDFffX4EnivEb0/blcJl31e/xXlgMgKGsYCVNDwMgdzXFb1HrxGy/QGLticf40xJjeT5RKoxXHtffJ6W0F7NC+RsqRTijEqCfqMqSGNPoO/A44jVT9b9O/DxoWJmfM6FfCkoMIvifkK6uU9fP+EZGR+3eHx7XHwAMVfa1NVcLEoynyPJ9OtDsczkWT+70bBc7TqTsswfNLU+wptEBEe+vnTKPiEpUWR88b6VWZnciS9jmB7Ri0mfO3IRM2YzETVphMc0EzPyrPFHr88V6niOJCBW3aCaPSQ5+3ITz42hWS3XAe6q+TFgEdjoQ43e6ImsSdko7VvHqZq/aFHoFJfhoQ4n+83kSRz97rIbr4Aiq0exp7kcSULjy9TuDvRC0vozD7cv06IELexyye8jkAd/sY9zH2NPtEEbfaUbAiMvQkrl4ttZKLFbmsVMsin2IbhBVaiEu2UbMZUif2nKe2+bpU/X5mr9GWC3QyE3u8e7RyFcIgwkQBK5IOgSIa2Nt70x6iAf259EczYvxbrq7DQXd74nhw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(396003)(136003)(39860400002)(366004)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(6486002)(83380400001)(6506007)(6512007)(478600001)(31686004)(2616005)(26005)(53546011)(38100700002)(54906003)(66946007)(6916009)(316002)(66476007)(66556008)(31696002)(86362001)(5660300002)(2906002)(41300700001)(8676002)(8936002)(4326008)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M0pRQ044SzRZQ08xVWhHSjhOckRwMnk2OERJaEQ2RXF5VzhVejFzMkR3c0E4?=
 =?utf-8?B?b3VBMGV5V05FMWhiN20wRmlWSnNBeDdJdFo1V28zd1pvd2pPZ3BOMzlLMFBZ?=
 =?utf-8?B?dkU5a2JGZnl5aXZDdnZzYnhROVZIU2tXd2t6dFcwcTBNVlFyd0VRMFdiTzVk?=
 =?utf-8?B?ZXArQm5yQkdXeGhYM3pNa01DdTNwS2VZMWtRcFhBVTI1ZDFLZGFsbXF6WDll?=
 =?utf-8?B?Y0QrZUxCOWdoQmFJUUJacTAzdEozU0tzdDBueU85SnQwTTVnNTVPUVNnVkd5?=
 =?utf-8?B?OWxJaHhhYWFLdHJGMFB3em9xcXorTjVMVUdSYnJSejJ6czBmaitKZVkwdHBE?=
 =?utf-8?B?U1lHNkpzOE9ycXBnNDdQbCs0d01mU3RsT0psS3RGaFVMckUxSk8wWWRrNllr?=
 =?utf-8?B?bXFTSUJBUTFiZkNIeHVBRkdoczVxN1RQRFhLeWRVWWdyamp6NUpSb0ttNVRP?=
 =?utf-8?B?ZXFMSzZhenFROFlnL25PeElNYzR0ZUdYMWRCSWgyYzFyQ3A0ZXoreVRtL25L?=
 =?utf-8?B?K0JRQ000d0VLZ1N5SjV1MVVWV3FwRDNiZkNxaEoxeUpjRDhBeCtPaVFyTmNl?=
 =?utf-8?B?VUxOQ3E5OXpZc21PZDFIWnVTOGovb0F0ZW92RTVXQjMyaUd0OWlvWlE3TmxE?=
 =?utf-8?B?R1k0SkFmZW9wejNqbnM5YkxWd1ZwLzlIeVNQR28xV0ltN2cwUFhrQzcrVjBl?=
 =?utf-8?B?aDdWVmpRNTFSQVAyNWE5VkNxcjhzQ0w4RTN1b3RTMkhrRlAzc052Uko3cVda?=
 =?utf-8?B?T1VjYkYzTjY1VEtYV01NOUJINUxmczZjdU4ralVKUVh0dnQ4MXRqbnM0YmxX?=
 =?utf-8?B?MlJhdUtwNkFTSXFIeUdpNy90VlJ4SWpSdXZsQkU4S014bkFsLzI0Y3YyVlN3?=
 =?utf-8?B?WjlTUUVkWWdvOTdiRXZIc3U4VXErWlZJVmNXY21UUVpUY0p4WmloMlVOQkVW?=
 =?utf-8?B?bkNra0ZxZVowUmNzMnpIRWVhS3h2WENndSttTVJqVzJ2QzczemhoWmc4OExJ?=
 =?utf-8?B?eHN2QkwrR0pDZWNkYlRMMFVCVUFSUnIydURwVm1Sci9sMkMyU1JPN0F5WS9Y?=
 =?utf-8?B?WWRIZ29mZXVjNDM0Y0RLRC9vVis1cUdFVG11OFgwT2ErZE5lUW5nK2xlODRW?=
 =?utf-8?B?US81R1k3SGNKNzM5dWF3MUorMEdKclBDVlFVeXdqd1A2YjJNZTNZdk1EQUM4?=
 =?utf-8?B?TkxUdHpKNEQzWlpqSEpBMjhsY0ZGWXd2aDdSbUE2RmZYOVZEMTJXV0tqMDlm?=
 =?utf-8?B?eWZ3enc3UXdscXNXa0F0T3g1aGlrSmsyUVRDV2VFdUY5LytpYW9kdUg4bDYy?=
 =?utf-8?B?VG5iZTJoVVlLRjNqY282VkpqOXhFWk5GUmdFeFZsSWpKNnVhN0xhb1ltd2Zl?=
 =?utf-8?B?S283Tk0xMGhVbWVzcmQ5T2tXTWFtZkh2NFFWR3A5ck5iR2ZFOWhWcFFVWWNh?=
 =?utf-8?B?V3l0MHg2WDNHdDZxQTI5RllxN0Fudzk5RHc5OUxFbmRzdDBBTlZEYmFmblp6?=
 =?utf-8?B?RGJDT2dicFZzRU1sTE9WeWJLVThUZE9ZNTg3N0xPVVlrMENlQkYxZmJ4Zmp1?=
 =?utf-8?B?a1lOQWlPa2hvNDZKRyttSWhUdjg5N0RKQ08rRDZ4ME94YW9RZHpSVHV3OGZE?=
 =?utf-8?B?bGZ1Ny9xdHFMUEtZVkhCZEgwdmZvY2lvZERBa3BaNjZDelpaMGFwUzNwQ2hP?=
 =?utf-8?B?OVEyYk5mNDNhaGExeGYxMXNHYjBmYTNIeXJYeXg4SDFuM0RiOVVyZHBmMVhJ?=
 =?utf-8?B?blB2WTNiTWhJL1ZVaHhORHpET0RQbzJsZ1B6WnBlSWVSMVNlYjN4dUtKcGJD?=
 =?utf-8?B?MkVJa3gydnVDV2p6YjdWdW5RdFkrVU9sMzRjMXhaQlp5blB2d0JjSDZhOUVS?=
 =?utf-8?B?YXZRaEdjTWdVb2dmOXRPbHViWERCMU5QVXR6NzFxUHhuMzBGelFBNzN5Tzhi?=
 =?utf-8?B?c0liUUhDeEVPS2NzT2c4STJNVjRFWGdhVnRMZ0k5YWQzY0owT1pVdElhRjBZ?=
 =?utf-8?B?K21YV1RXc2dPWFJ3S3MyZit1bFlRbUJSeVpLUEFsalZrZ0hULzdxVnF2UkVn?=
 =?utf-8?B?dW5RblBjb282alZmTTBSblNvOGFBUUpwZ3NNbU04bHNVckFHMHpjdmx4MnBR?=
 =?utf-8?Q?7EIizG3TD+65/pRh2irN/9EbX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e6e4aed-6ab6-4cc2-f779-08dbea641a32
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 07:33:06.2721
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: h6wVSbvbPpW0R+IWUsp5BRjjLLqx1i6pERAFEVF96FqgBdyiyjUltT01BdNgxs9FhHqA2PQGFaguN9wNGdAQpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB9969

On 21.11.2023 01:04, Stefano Stabellini wrote:
> On Mon, 20 Nov 2023, Jan Beulich wrote:
>> On 20.11.2023 14:13, Federico Serafini wrote:
>>> On 20/11/23 10:02, Jan Beulich wrote:
>>>> On 17.11.2023 09:40, Federico Serafini wrote:
>>>>> --- a/xen/include/xen/sort.h
>>>>> +++ b/xen/include/xen/sort.h
>>>>> @@ -23,8 +23,8 @@
>>>>>   extern gnu_inline
>>>>>   #endif
>>>>>   void sort(void *base, size_t num, size_t size,
>>>>> -          int (*cmp)(const void *, const void *),
>>>>> -          void (*swap)(void *, void *, size_t))
>>>>> +          int (*cmp)(const void *key, const void *elem),
>>>>
>>>> Why "key" and "elem" here, but ...
>>>>
>>>>> +          void (*swap)(void *a, void *b, size_t size))
>>>>
>>>> ... "a" and "b" here? The first example of users of sort() that I'm
>>>> looking at right now (x86/extable.c) is consistent in its naming.
>>>>
>>>
>>> On the Arm side there are {cmp,swap}_memory_node() and
>>> {cmp,swap}_mmio_handler(): "key"/"elem" are used for the comparison
>>> and "_a"/"_b" for the swap.
>>
>> So - re-raising a question Stefano did raise - is Misra concerned about
>> such discrepancies? If yes, _all_ instances need harmonizing. If not, I
>> see no reason to go with misleading names here.
> 
> Federico confirmed that the answer is "no".
> 
> I think we can use "key" and "elem" in this patch as they are more
> informative than "a" and "b"

Except that "key" and "elem" are (imo) inapplicable to sort() callbacks
(and inconsistent with the naming in the 2nd callback here); they _may_
be applicable in bsearch() ones. Note also how in the C99 spec these
parameters of callback functions don't have names either.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 07:42:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 07:42:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637540.993426 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5LOP-00078e-BG; Tue, 21 Nov 2023 07:41:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637540.993426; Tue, 21 Nov 2023 07: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 1r5LOP-00078X-8G; Tue, 21 Nov 2023 07:41:57 +0000
Received: by outflank-mailman (input) for mailman id 637540;
 Tue, 21 Nov 2023 07: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5LON-00078R-S1
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 07:41:55 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0615.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::615])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71074847-8841-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 08:41:54 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9656.eurprd04.prod.outlook.com (2603:10a6:20b:478::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 07:41:51 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 07: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: 71074847-8841-11ee-98e0-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CQs+PQo1oarl5RJhtew27/WXyDkWRJeQuP/v8NYeQTqWURJj9CSoXBsQgy5n91dskyZVlJ6AtER4CCwv8YTsAUdAckd5X1Ok312O74PnWb8AUHmbVLARDVGupOMv+Qjbpk8XpMNlMQcA2JBWD6pNI+5RVqjB+7FgnTHSx5vHesQ89pVqx/NeqgnfY5aULN/5NfzGZPz/JNeNjmGp87z3f6Dpp9Lc6h3OhlDCCKjdGTC2MJ4Q19wODRu0NiY0tHwaGPdA8qPpjNM3PhN1fW5yfpfXKKqVtjSo0xvlVWj9EQTmCaXEkTkSqUg6mcCGi2tPR5YZXnw76+PpHHNC0lPxXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2loGK6MAuknY1tavKJD2NDfB2NmZ6S95sbqdNBb51+I=;
 b=HvqSEPTYpCG0aCQ+uzoA7awD86z4HLgHwMX2PBObQRhniMaUlUucf1iVE1h1ER2KsvyL5rQMnhURKnVRF+w+EpRlKGp3LhDekcrphCypZjvSFR8eqDiHUwlUoHSh9hCXtPHM5qy7GHllQvxbjlB7igWxXzXsmM/9Km+CP5VO+BI8s6pVCpWTsgj8HthqOkVzaTLITAyxqv6NiIU01pcGHiYLOHu2pZ5D0AIstGS5AwK4CRO/za7z8Gy6+phFC4uNZZD46if1DxWlFXboSHsPD5PUVJ/9iKgoQ3gDH2ZOjSYjUOwD6W21nt5DOeiQUeh3HnHXZ0DJ2b/LvsWFjCm9qA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2loGK6MAuknY1tavKJD2NDfB2NmZ6S95sbqdNBb51+I=;
 b=2+n8YMzU4XO3R2AR2afuBROFqePfpPsKIsUeLO1Vd11HJP9ywzBesO+opctF+8wufI36TNaLzBtpqsd2rFFMnce1OvHpZNktLmD0cUmM+fm2+sU9khsqYz7f+lCvpudCV80wLPNq/ggaJmJ0gWsJ+ZauYIfNgO5tCsOoVcBherGCrwYOaxM2R8dj6/eA6eLzpHVxvGUTCFbU1rkKCX+OmKa0IZe/ioCZQxzDAlD36qbFGlOGo9S/XnCxcJc+FJ1I+S3nJVF773eHw5Fo42xC06M5r5soO3mnAP5fWUew7GTyTxZB29hSzqF/tON29hLsUyiW164bBOnLdpUXO3rBsQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c7be04e2-8851-45f7-bf80-83c8d6f88899@suse.com>
Date: Tue, 21 Nov 2023 08:41:48 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] SUPPORT.md: change current version to 4.19-unstable
Content-Language: en-US
To: Juergen Gross <jgross@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: <20231121072036.12133-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231121072036.12133-1-jgross@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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9656:EE_
X-MS-Office365-Filtering-Correlation-Id: 19cad30f-b7fa-427b-8fb4-08dbea6552fd
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:
	8vI0XPxbuOUJVVMVMPIDGh25AXOqF86CgEl8iRrWX31hGxYaud8FFyA1luCU5o5Ftdm8pTFdaoECyQJiGDgNzz94xRQ4F8gKa+Ovtc/bt6dBoD0YgJ/csU9ht/0WEqcosv6WKI5jcjAbKRisMSifdVQ4W6t+cUTeVD96yBAKyqmh/iH3Ro8NQXtooL3VdZ7EiOE4KPk6nIZP339t7eryiD3e/lp4KKwLwOpiGomMt/AQqeMjbG18JTpT9IOAu/1vtviHMAWuQyKMSY+hvOE+xGlYKaQZ8Jb+Oazcc/XdIdG/aw9HrtklOFlxLdfP+G3inIiA93KEYAUXKZ1ONWVkXzeRX64cEsv+ZVr6qhkm72F/ihW0CUjOU/Dz6cYxoCBMTk27EQZLHrmZH5M+mcPyJHpPVIJynNOuBCJElHHWsQsZYC2ptIDQhAG5MGI5PBRGicjLnq8hUxsvE6+479yePVVDg9CJtGzv/bdlkfvS6/Vzt1Vn1YjBCGR8sQ9bUXomJoV+GJxqqsJa8MoV7E1lJCKcCNrw3wwC2qg/5mdOj/FwvOfufM9J0536I5jhup14ZeWlqG93LlMpH30s0yXHzZjFauO3c60H+DPzeGwqe3C+lAiMdMtuqxeQaj+kE7iLtTZAlvZGHFGqeecZV7fydw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(366004)(39860400002)(346002)(376002)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(38100700002)(36756003)(31686004)(31696002)(86362001)(6512007)(6506007)(53546011)(6666004)(2616005)(478600001)(6486002)(6636002)(5660300002)(6862004)(4326008)(54906003)(66556008)(66476007)(66946007)(8936002)(316002)(37006003)(8676002)(26005)(558084003)(41300700001)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3o1N0tzMU4vMEpGRUlxYmR4cHFSU3BGMFFXb3BtSG5aUVdjWHhzRHluNGFH?=
 =?utf-8?B?akNSaEhNekxkdU8rYVkvczNQTGZ5UWlTUTFOd3pGYWxFY2tYdjdYVDF4TzE0?=
 =?utf-8?B?UVpXU1VPZDZ0ck1FNjFZdlhjNVhsWTEwOERZWFR6VUdubzIrK1lTSS9JL25N?=
 =?utf-8?B?aUJ5NEFPT3JqNHRuZDFwaTBOcXlRUStpNzJ4VE9DYk8wYml6V3lXeXY4TzZl?=
 =?utf-8?B?ZC93bDV5VmthZDhFNTZuOVB5TDFpZlNCamUvRUJnMDVMR1dBSC9PODAycklQ?=
 =?utf-8?B?Y0IvOGd6OVkzcEZIUEEzeGM0NnVmNVVZK1MvYWM4bjdxQ2FjZ3krMThyc2ww?=
 =?utf-8?B?QWxocnphTDhVekZSMEtSYVUzWmtPVndCLzJhR2dEcmd6Z1dTY3NKYmF0dllJ?=
 =?utf-8?B?dUhCakY3ZUFGN3c3aGk4blFDNktaQ3Q0WUd2Mnd5RHlOVUw2d003cENsdThH?=
 =?utf-8?B?QUo1Rm1HazhTdGdoOEVEaWxmdjQ1T3Zlb0ZMNVZ1LzVPamh4M3RUb1VoV200?=
 =?utf-8?B?c21yWnBZaEU1VnFQa0pXR015NDNKdXIwUDFaSEVNaWpneitrUmpIY2hIZTMr?=
 =?utf-8?B?QzdlakNBcmVyeEQ1cEJPdHVjY2piOFdaNENyL2UxNmtmbEczRkZ1YkNJelZX?=
 =?utf-8?B?a2dFOVkydS9KNzk3NjVuNkZvOWk5Qm9nRjE2NVZNK2tIdnExbCszWEJVYmw1?=
 =?utf-8?B?eFpjVVJWRVJ2UThYaUJKSUt6OVIwZFZ3eGgwZGpSMGx1NW9ZTjZzbU9LdkNQ?=
 =?utf-8?B?NVVBMGkwUGkxc0ZFaktjRUFlOXpNUFZrN1M3VFN4Vjhoc0dzb3FVL0J2SE9s?=
 =?utf-8?B?eEI5T0h4U2lkc1NPNDlTSUZpVlB2RldYNS9Ic1VWeWxNQTdqbWx4dHB2YXA5?=
 =?utf-8?B?bjdCRTFtQjUvbFZHVHJtNjdxa1lwc0FyQkQ3TldkblE1ZGVkazgwY2pCR3pD?=
 =?utf-8?B?Vk9aWlF0OHJXbVpTQUd6WkhMbEsxUDRpNjJncmorZ29URnhFd083NmMzV0tt?=
 =?utf-8?B?cis5VDBHNkxwYUZxbVVVemtTZ2hXaUZvMkkrdkNnMFVEVVk1TUh5RWRIeUJZ?=
 =?utf-8?B?WFg5YkhNMzl2RTJUYWxTSnVVQVVDNVo4Qmg4N2xleGxOZnhEZFZ4OFhiMVhz?=
 =?utf-8?B?b054Yjc0UjBVRWRvdGhyZmNXRWw2R3RqdFFzUTgzVStWN2hiMUY2TS9HaXEy?=
 =?utf-8?B?SVZXMDRWVmxaQmxKSWVYcHhyTUpiVWJxZUhJN05DcjQyR2I4TEgxWWUvNkIy?=
 =?utf-8?B?cVNUK2gra0lBVjhsa0FUYlNBUUx5RDh2RzZQbjB6VGZSY0tRN25aT2lDdHVh?=
 =?utf-8?B?bG9MUmdQTlROYXE0NzZzL29NMnFJY1RiV3VScU9GRmpKc1lUVXltUEtjNklY?=
 =?utf-8?B?amdBbzdYVnQxQ0p0WDdMMzdsUjk2OUtNZ253b05vM0gwSjlCRFVETURBUkE4?=
 =?utf-8?B?RkNRT1h6NUI1TkZMb0lseVF5WDJnSHNIVmFaWGt0NXF5bXBueW94SWNaZzFL?=
 =?utf-8?B?ZTFQRUd3VEZPckR5Zkh6ZHFEdmhWTFJIK3FIZ3M0QjNHOXprZzI5QlNyRFJD?=
 =?utf-8?B?dUxUYUpTTHFkcTdGTytDY3lqRlpuV09rUnZaZEZjMSt3N0lSK0JUUWtlS2dj?=
 =?utf-8?B?Z204S3IxT2taNVZpcm5PUWNwcmNRb1FtNzV2QTI0ZWVBWU9DVzFwVDIrY1lv?=
 =?utf-8?B?NnlzcEtnTUFuR0w4cVQybzdnMjgvdXVBV04rUk1NelhUNElwSjlVeTRGbXFG?=
 =?utf-8?B?aEpqY0ZlVXk5Ukk4Q0hMUUNKLzlqdXdLQmpPRm5xMDd2U3Nobkd1ckhielhR?=
 =?utf-8?B?U0lldnB0UGxWWWlyWXRleUllbS9RS21NNWNDSGdzOHVSV0UzR0txZ0tqMlgx?=
 =?utf-8?B?UysvcHVpQ1VVRkxhV3lVbzNCaGcrRE9OMXdEWWJzbDJuWTBzSC9EeXdiRFVk?=
 =?utf-8?B?c2RWV0EzVWxwalhYSitSWHpXSzZsZXZVUzI3UGU5UGxPL0hDdkxLVGVlQ1JL?=
 =?utf-8?B?ZXYzSUZHaXFTM3htVmc0ekRmYko3MzZXaGt6QXp4SllNUU9hbkhSQ25FNFhk?=
 =?utf-8?B?b2ZWalBtVmdFTDE2ZG5QZmQvMGVYOXJ3R3JpN0dMSFN4cUV4aG1TZ2RoTUhx?=
 =?utf-8?Q?4MJSR2Ccvyr4tB8+H2tfhMGdC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 19cad30f-b7fa-427b-8fb4-08dbea6552fd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 07:41:50.9271
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4BrCYkkL80F9KgjbbtAeKalOfdz5aVAeMyXKGToYtVY7/vBMbAY11YsEEWPXvc/8HLFhpPVzp3V8a+EHa6TgwA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9656

On 21.11.2023 08:20, Juergen Gross wrote:
> The version in SUPPORT.md is still "4.18-rc".
> 
> Change it to "4.19-unstable".
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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

Presumably something missing from some checklist.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 07:51:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 07:51:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637543.993437 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5LXq-0000yi-1t; Tue, 21 Nov 2023 07:51:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637543.993437; Tue, 21 Nov 2023 07: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 1r5LXp-0000yb-UW; Tue, 21 Nov 2023 07:51:41 +0000
Received: by outflank-mailman (input) for mailman id 637543;
 Tue, 21 Nov 2023 07: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5LXo-0000yV-Tq
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 07:51:40 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20601.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cda3d2bf-8842-11ee-98e0-6d05b1d4d9a1;
 Tue, 21 Nov 2023 08:51:39 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7845.eurprd04.prod.outlook.com (2603:10a6:20b:2a7::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 07:51:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 07: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: cda3d2bf-8842-11ee-98e0-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CvtAUhjKncNx3pZChXX5sH7ZhEjsNiRgXr5CbMvrQ4O6Df9SU3upunyd/KFpFpN8l2bzdkZ6KeJFHZF3dvRtNC1Ey7nMZIziloMRJCca5etsj6Cl8kl3hdh7sYY74Y8WpQpZmKHyizhvnHDfF1NfKoFrGKYTcDs03KYv+UlYIQxfphtF/+9GGLg5dMKY+QdcaBy5ddFd4L4445qiP0RU/vgoN8bmUR64CMgUIbDsx/LR2CnUbNXQRbJv9FqpmAM4NTIwFWISvjxq/MXHLzeYaY7UeVuFwAggVF1On75jgB8bVo5hYkZRBt3FgNCjqBqP+YNW/OIwqg5NMnnFHvfzdg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+Pawjvh5SRvBlXq9dDwKAkGRDL48PudhnjDk1gP2p8=;
 b=kWd/MWim/0f0kVc1fguzrGKkgeslZ8qBZRz2PywMB1MDsR0MYTahdA8siH/wJ/AWcGCY6P1EU64Dn4XHk0dpVlYlXVbHuZj3GyilyvvctHBOHtkJPEsQNRu5UN06LciJxdAXbXjSY+Lg+5/c2SMQfY83JDqivsHnH0kgVIds4YWpFYqV23olvAzmIc7CMB9w6j6yhgMkxmNwCEeIy2n7v53I9HKDCRc2SFCoqITwJG6HWb9ZS4fxlvpN6DY7yOLoIXIrZ0cotfCXaA7y5N4n0YU2/uLlivl8Rna6ich12JS24+P5MG9Z4JVYqr4FJ8T5bZYiFiS4/SEWgH2UxbAkBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=g+Pawjvh5SRvBlXq9dDwKAkGRDL48PudhnjDk1gP2p8=;
 b=Es1+U+eh2k8ir2YU505QK0UMV7zy2EvFxVldIM92E6SpcYDc4JfJJdlgBCNbZN3a8de8IvDd847jIQyHv8s5VOmAbQGSJUuodpuPvEFmQDZNUF4avqPHNg6gJt742OTNs4+Dq4a9hq6CLesZq1ShyUimN9rEdMB9+F9y4eCtMG7v+hxRz7TMvzZfsOwOpOZ1F1kj5iJQrK6doEqXfJeBGe8RCf5V3lTuBq4HRuey+N8OZt+42hvjDdpMoInmB/dc6/kPfBe+sUQ/bUYL3znDztSgrUBPRDiV0xpZWBuHqJrPlKZnl1z3+jtZDVUFnK87VHyGGCQNN373FDsa3c57Kw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6dab17c7-2363-491b-a3ef-46b6c4ea206f@suse.com>
Date: Tue, 21 Nov 2023 08:51:34 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] x86/setup: Make the loader variable const
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120224912.1421916-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0014.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::24) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7845:EE_
X-MS-Office365-Filtering-Correlation-Id: 4cb3cd08-63f8-4337-5dc6-08dbea66b06c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TRKDVBYr8njsWJ5SQxfAlyg3ghmyqe3+nWXpY3qM1YYk1gdxAq/7tTSVyEE0AIcUo0CnRKKQAUiq0wYw4/4XyG/bgfQFiiilB1sIIoeZU4hvtGn5lI/P0XavOk9vKkfH85bbTjFqFnoXyZZ0XmpT3iEvaQuYlq91bmES88U890BylxLa5KtYO0iUxKwKRJ9cSUjWXW+PlPoIUoVLZ6MTa83igeXp6TCL/qc+rfjKwg/8MrwM0N+3Fs4nyKocYOK11H/v+L7/LrS1lAUp9BeseE1XayqxoyEOSUGomkM2/d8LaXhpG1zrntxyyyZEc/7AZNxVUHMpG+riWUM0NdMWVw6/GT8TaCfZS5hzMme2fTHTrd5f4D0obq+lu9T0WNSMv9yePu2g0IGSc5L68lsiPqXnjZp+emLcsu3C8SSgBm93/RGERel/+kui/bTqP14dWlmLkn2OSR1IXKTk+4JFLMN/tE+jsIJn9JV+JG569D0A4+s6A6ZJYeS+gGpXYO5GoaV1hglREma/QGxrdyDkaD+KH5gbhr8ijks4BCWHs7BkhJzF/IBFB8GNGWvM9//6pXKjxr89KBVmB7u3Mu5i9rawHruDOeOCsR8D5sCR3ya+y2mwKTy9AiIDPubie636KM44gaRrZXHXCBhm5sWn0Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(366004)(346002)(396003)(136003)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(478600001)(6512007)(6486002)(2616005)(53546011)(31686004)(6666004)(6506007)(26005)(54906003)(66946007)(66556008)(66476007)(316002)(6916009)(86362001)(31696002)(4744005)(2906002)(41300700001)(5660300002)(38100700002)(36756003)(8676002)(4326008)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SWQxS1grY0U3ZUwxaFJiNkRYa2NIbHdGeE5iV2Y0VUh4S0JVb1lPZlA1S05a?=
 =?utf-8?B?Qy8xUHUrN1MrVGIyNGFNOFlldkF1Wm11cGtsdUdHeGRGQ2VhTlNtNGhGR2pk?=
 =?utf-8?B?K0tIUHFMTWkvZEx6b3BQNjFjZVdUaHp3allKOEhNSHJGOVpleW1yc1dvWW5k?=
 =?utf-8?B?UDk4bGtOZkxBRWdKbTVEL1NZbnFEUFZSZFZpN0JnYUljSWRyY1lyNWE3SUEx?=
 =?utf-8?B?eW4wOHdnVXNaMEFJdGlWclg5ckQ5RmlRS3VoWVpVNUZ1SExmdmt1VkFKdFQ2?=
 =?utf-8?B?LytzUGRrUnR3V0ovbmlpWTVVV3pocWwxTElxc0llTkw3bGE4c2VTTmw3akxE?=
 =?utf-8?B?WWxzSytFc0dNbUNpYWRoQkgrNlN2Vm9pMWcwUm9UUEY5dnBNODZQWCtmR2Yr?=
 =?utf-8?B?QjZ4RE9sRG81eTE5S3FKZks2N2hsVkVqZzdSNWNhdllYOWo5NnhMK3lxSW52?=
 =?utf-8?B?VWo3Z2dQZFR5Y050ZEFLdS95NVBMMklEdTA0K3Q4TzNQcmRhdXVwL0NPc1Ew?=
 =?utf-8?B?c3ZSTkt4ZlUwSW5QV3Q4N1o2U3B0TDJzaEFkZklMc3B6eCtMSVpONW9XbzdB?=
 =?utf-8?B?NWlCcG5LdUlJOEttem9FSVpYV05YRzJoQ3I5MEh4azYwR1kwR0h1NnM4eW44?=
 =?utf-8?B?Zm9tTzdLaExkOWl6MHZpZnZzRTJJZ1Y3bzVXOFVzUHJPalVSMWlsblppZ2hz?=
 =?utf-8?B?bnIycVJwVDdTUlBFcnhkelpMa2poc3VyTmdLYlJib0RyY29EcjBSb3Q1NUli?=
 =?utf-8?B?Ry9tbngyWlIzZTRPbW13bGlrdWtralFJdEUzS28vaWRDWDNOR2FvcjlQTUhM?=
 =?utf-8?B?Yi9wTEhYZTliVjI3b3RaZFo4SmdGaWd5UXphSFZpRXlleUJmL1laWjhpV05a?=
 =?utf-8?B?bURyV3RTTmYwaEtaYlM0YzVNc0RkYkQ2ZWlTL3p3TnZNbmg1V3hUVjd5TlB2?=
 =?utf-8?B?Q0VieW50T2VHSzI2VXY0ZC90NWpwWkVaeGVkbVZlOWNsb1h4Y01yU1g4NXh4?=
 =?utf-8?B?aGY3bUpPS3VyOEgyTHRNTU1wRVZhd2hIVW9heXVXcHRZMGhTUDY2aDlxUkpt?=
 =?utf-8?B?VEZURGdiOGZTd0l6Y0pBRTcrTXZOTjFQbHIrb3p5NW5UaWhsSm5POGVDbU9V?=
 =?utf-8?B?QXdPNVM1OWI5MHNnbDkzNFNpMFowNkZUMkw1Q2Urb3pjL25Ibm0yWlloOXAy?=
 =?utf-8?B?bkxhWDFkT2ZlcURMOE00dlNLZTJ1OFBwM2tBdE5neUpsalEwZUxUYmVYeU5V?=
 =?utf-8?B?RmRVenpMMHNxc0htUWUzdXprcUV2d1kzTys2SWVyL2FlQzI4WjlUYnhXbFlQ?=
 =?utf-8?B?OGFiM252YWZSbE5HcjYwdktab3NpaS9OMWhGKzIweG9ybXZqT0pjRGl4cHhs?=
 =?utf-8?B?eFhCVHVSWUVka0xDUWV6RkE2aXNVZEFFdG12d0VheVl6a3NmakNqUndUOCta?=
 =?utf-8?B?WkEyWmJmVy9KVEZQbVFwdGx6Unl3L0hIbzJwaGp3dGFrS3JjMDlkbUpjL0Mv?=
 =?utf-8?B?ZFlleTA1dXNBOXNrRmMvb1FtMWdFbWh0R2gvNEFFdWRHaXBHV21UZTBmeHNZ?=
 =?utf-8?B?TGhlQWpxdkZwNFdxWHl3RWM4bzBCNjZ5Kzd0MzBPblYzcHZPU3dCdi9BZzk4?=
 =?utf-8?B?VVJ0bzhWQy9IREoySHYzd0xyaloyMDl3Vk5ZU2g2Q3hxc1E2OTk0TW4vQk03?=
 =?utf-8?B?UldVVU5EVnFyMk84RGVTSHI5WDBuZmxtVEtKQVRvdElaNkU1RjFyUTJ5eVVC?=
 =?utf-8?B?RFJxb2YrYUFibmlsc0VnTFZYQURKdEliQkJRR0VnVlYrOU8xcDhMRUtUU2Q1?=
 =?utf-8?B?UVI4WDZ0NUcrK1Z2STBNL291TFowSlU4TmxOUDR3YnphTE1KbW5xbUR6WUVk?=
 =?utf-8?B?SmhqcHJPM2FuTVowSll2eFhGVkZUQ2VBS29vcjJUQWxIT1VzZlRPMUxmUWta?=
 =?utf-8?B?WGNpamt6TXE5NDRBSTRqOUxHNXM3RzNqZi9PSjI2Skt5dXJDck1RQStaVXFj?=
 =?utf-8?B?MjZIdDRCUTJlSFEyTS9ETVNqNG1zclpPeE14S3FsNS9JQ0hsWGpQUmNib3RY?=
 =?utf-8?B?ZHduZThCYVRTU25SeU5HWnJZdE5lYVFrTVMzODl3MnJuVytyTmpxenhHZ0Vi?=
 =?utf-8?Q?E/aO4WPb321+3NIYIjhcjAczp?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4cb3cd08-63f8-4337-5dc6-08dbea66b06c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 07:51:37.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: 1enrOwTpZGP2q3YBfrFgPJXD3yclO4c2TVCFe3lgq+WSGeQxK3QkvzsHzszA0WLPOnD5cgklxodEfoMpmrTClA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7845

On 20.11.2023 23:49, Andrew Cooper wrote:
> It is never written to, but has a string literal assigned, and needs to be
> const to support -Wwrite-strings
> 
> Suggested-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Yet maybe "written through" rather than "written to" in the description?

Jan



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 08:00:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 08:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637552.993446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5LgS-0003xY-BN; Tue, 21 Nov 2023 08:00:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637552.993446; Tue, 21 Nov 2023 08: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 1r5LgS-0003xR-8h; Tue, 21 Nov 2023 08:00:36 +0000
Received: by outflank-mailman (input) for mailman id 637552;
 Tue, 21 Nov 2023 08:00: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=f+q9=HC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r5LgR-0003xK-Sp
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 08:00:35 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0bcf28fa-8844-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 09:00:33 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 10F814EE0C96;
 Tue, 21 Nov 2023 09:00:33 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0bcf28fa-8844-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Tue, 21 Nov 2023 09:00:33 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Xen Devel <xen-devel@lists.xenproject.org>, Julien Grall
 <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Jbeulich
 <jbeulich@suse.com>, Roger Pau <roger.pau@citrix.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, Consulting
 <consulting@bugseng.com>
Subject: Re: Remaining violations of MISRA Rule 7.4
In-Reply-To: <df193960-b808-46fc-9361-b3850c249833@citrix.com>
References: <21761f2a6633a08ceb2b70a46013486a@bugseng.com>
 <bdb7efb1-b8b2-4426-a46d-e8f5afdba0f6@citrix.com>
 <edd14ce515721eebf5a897ae0e5b61c4@bugseng.com>
 <df193960-b808-46fc-9361-b3850c249833@citrix.com>
Message-ID: <25692da69361422af82d088df066539f@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-21 00:08, Andrew Cooper wrote:
> On 20/11/2023 4:40 pm, Nicola Vetrini wrote:
>>> I've just rebased and pushed the residual from the past work 
>>> (although I
>>> missed the ARM EFI fix.)
>>> 
>>> https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=0f06bab762f5201f3e00aaaee704c3c01f516b51
>>> 
>>> https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1065699873
>>> 
>>> I'm going to make a firm request that we fix this by activating
>>> -Wwrite-strings Xen wide, because that's by far and away the best way 
>>> to
>>> stop regressions creeping back in.
>>> 
>>> In start_xen(), basically whatever goes.  All that's doing is 
>>> processing
>>> of one command line into another, and your version looks a bit neater
>>> than mine.
>>> 
>>> The name.s cases (it's duplicated in x86 and ARM) are more tricky.  
>>> The
>>> compiler warning can be silenced by swapping name.s for name.cs but I
>>> have no idea whether Eclair can see through that piece of blatent 
>>> lying.
>>> 
>>> ~Andrew
>> 
>> Just to avoid any misunderstanding: do you have the intention of
>> evaluating and then perhaps integrate the fixes that at the moment
>> block the introduction of -Wwrite-strings and then respin your patch,
>> or should I do something specifically?
>> 
> 
> Hopefully you'll find
> https://lore.kernel.org/xen-devel/20231120224912.1421916-1-andrew.cooper3@citrix.com/T/#u
> to your liking.
> 
> ~Andrew

Definitely. Thank you for the effort you put on this.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 08:17:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 08:17:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637557.993456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5LwI-0006sc-NW; Tue, 21 Nov 2023 08:16:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637557.993456; Tue, 21 Nov 2023 08:16: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 1r5LwI-0006sV-Kz; Tue, 21 Nov 2023 08:16:58 +0000
Received: by outflank-mailman (input) for mailman id 637557;
 Tue, 21 Nov 2023 08:16: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=f+q9=HC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r5LwI-0006sP-4Z
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 08:16:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 559fcc3e-8846-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 09:16:56 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id C59A94EE073A;
 Tue, 21 Nov 2023 09:16:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 559fcc3e-8846-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Tue, 21 Nov 2023 09:16:55 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com,
 roger.pau@citrix.com, bertrand.marquis@arm.com, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <f14ac7c8-0584-40ea-ad7a-2f3c6c7692b2@xen.org>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <991883873b73e644ccaf8114a80331c0@bugseng.com>
 <40a3918e-730f-48b9-924f-d8707b197e14@xen.org>
 <c4ff5ecc8f4e11cae4a8e282d87c4e14@bugseng.com>
 <f14ac7c8-0584-40ea-ad7a-2f3c6c7692b2@xen.org>
Message-ID: <feed9b4194203697f4cfa734f1f7977b@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-20 11:27, Julien Grall wrote:
> Hi Nicola,
> 
> On 20/11/2023 08:39, Nicola Vetrini wrote:
>> On 2023-11-17 20:15, Julien Grall wrote:
>>> Hi Nicola,
>>> 
>>> On 16/11/2023 09:15, Nicola Vetrini wrote:
>>>> On 2023-11-16 10:08, Nicola Vetrini wrote:
>>>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are 
>>>>> replaced
>>>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>>>> 
>>>>> Add missing 'xen/compiler.h' #include-s where needed.
>>>>> 
>>>>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>>>>> is modified to reflect this change.
>>>>> 
>>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>> ---
>>>>> This patch should be applied after patch 2 of this series.
>>>>> The request made by Julien to update the wording is
>>>>> contained in the present patch.
>>>>> https://lore.kernel.org/all/9ad7f6210c15f520297aac00e8af0e64@bugseng.com/
>>>>> 
>>>>> Concerns about efi_multiboot2 will be dealt with separately.
>>>>> 
>>>>> Changes in v2:
>>>>> - Edit safe.json.
>>>>> - Remove mention of SAF-1-safe in deviations.rst.
>>>>> Changes in v3:
>>>>> - Sorted #include-s and rebased against
>>>>> 7ad0c774e474 ("x86/boot: tidy #include-s")
>>>>> ---
>>>>>  docs/misra/deviations.rst   |  5 ++---
>>>>>  docs/misra/safe.json        |  2 +-
>>>>>  xen/arch/arm/cpuerrata.c    |  7 +++----
>>>>>  xen/arch/arm/setup.c        |  5 ++---
>>>>>  xen/arch/arm/smpboot.c      |  3 +--
>>>>>  xen/arch/arm/traps.c        | 21 +++++++--------------
>>>>>  xen/arch/x86/boot/cmdline.c |  5 +++--
>>>>>  xen/arch/x86/boot/reloc.c   |  6 +++---
>>>>>  xen/arch/x86/extable.c      |  3 +--
>>>>>  xen/arch/x86/setup.c        |  3 +--
>>>>>  xen/arch/x86/traps.c        | 27 +++++++++------------------
>>>>>  xen/common/efi/boot.c       |  5 ++---
>>>>>  12 files changed, 35 insertions(+), 57 deletions(-)
>>>>> 
>>>> 
>>>> In hindsight I should have added an
>>>> 
>>>> Acked-by: Julien Grall <jgrall@amazon.com>
>>>> 
>>>> given that the comment has been addressed in my opinion.
>>> 
>>> I am a bit confused how you considered it was addressed. I see no 
>>> update in safe.json when I clearly asked for some (I wouldn't have 
>>> bothered to comment in v2 otherwise and just gave an ack).
>>> 
>> 
>> I did update safe.json like so:
>> 
>> -            "text": "Functions and variables used only by asm modules 
>> do not need to have a visible declaration prior to their definition."
>> +            "text": "Not used anymore."
>> 
>> but given what you wrote below, maybe you wanted this in the series 
>> [1], right?
> 
> No. In series [1], we still need a proper description for SAF-1 as 
> there are still some use in the codebase. So it was correct to have 
> this hunk in this series.
> 
> What I was asking in series [1], it to reword:
> 
> +     - Functions and variables used only by asm modules are either 
> marked with
> +       the `asmlinkage` macro or with a SAF-1-safe textual deviation
> +       (see safe.json).
> 
> 
> to something like:
> 
> - Functions and variables used only by asm modules are marked with the 
> `asmlinkage macro``. This may also be marked with the now deprecated 
> SAF-1-safe textual deviation (see safe.json).
> 
>> 
>>> To be explicit, I requested to:
>>>   1. update the description in [2] to clarify that SAF-1 is 
>>> deprecated.
>>>   2. This patch is rebased on top and therefore remove completely the 
>>> mention of SAF-1.
>>> 
>>> I am well-aware that the end result is technically the same. But 
>>> patches are meant to be self-contained so if we revert the latest, 
>>> then the meaning is still the same.
>>> 
>>> This patch is unlikely to be removed and this is now the nth time I 
>>> asked it the same (maybe it was not clear enough?). So I am going to 
>>> content with the current proposal because this is not worth to go 
>>> further. But I will at least express my discontent how this is 
>>> handled.
>>> 
>> 
>> I misunderstood your previous comments then. When you commented on v2 
>> I surmised that you were ok with this patch condensing all the 
>> shuffling. Clearly this was not the case, but I also want to point out 
>> that. Given that [2] hasn't been committed yet either, then I can do 
>> what you asked.
> 
> No need for this time.
> 
> Cheers,

Ok, thanks for the patience.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 08:22:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 08:22:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637562.993466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5M1B-0000OH-9N; Tue, 21 Nov 2023 08:22:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637562.993466; Tue, 21 Nov 2023 08:22: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 1r5M1B-0000OA-6q; Tue, 21 Nov 2023 08:22:01 +0000
Received: by outflank-mailman (input) for mailman id 637562;
 Tue, 21 Nov 2023 08:22: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5M1A-0000O4-8L
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 08:22:00 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062f.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0988bbf2-8847-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 09:21:58 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7575.eurprd04.prod.outlook.com (2603:10a6:20b:29c::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 08:21:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 08:21: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: 0988bbf2-8847-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Lo/u7/a79FvguutA4atTzr56zrEgpx2WlTP+qEgzH8SCGZ4vT4bcwLMC5o65auVPbYASP6z8WoJXj5CNC6yf5sFwNwFNJzqycux9nwVIAMIwQZQ+t/Txnm1bwa0GwBrxS5OsdeKn4klHS/6PMe78pyXQ3JFO2QmM6sLk3AlLeB3RIAuHvqGczwOLCCzS5FvrEBGZPmGWoyXxvxSjXtep/eghitY5h7EtkvQ9eYo9wM0Lj25jqmBfhbiyybK6JkyrbGdUfPUbhcA5+2PdiC0KMGxLRnhRBYpGoTHxpcJR80cXPitLX+nuRXXNg9+hcqkVbtFd70szbAw+Vx2QxV8xbw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dtrFhYKpz0Xt6o9hu6G05oYg8fotudtKjQzc2U+NLg8=;
 b=aM2Q8OuzGg7j33IyK/zoF/bzFGKoKj12cUmVakKP09wDgTRVP33pyENFQ0e8eUTQUqaIjGZ5lNygZNi3+8F8eEGIwxggCvr+c1zqNyL0X9JKEm+8+3hgePvRFuE1KjOo/wkx1TxTGT7xolb1RzJGbDcgC/hnulPV7ojQPKOPDyVuXD3/hhDgciE5rtmR5C7JdFeRqAWulBwf99BEPt2XBsyKNkYCcBhfiTV20Fp6evrh3baUSkKDKGO5hdeMFXmeq+DHH6GEXW6lwNtNnXp7gIo0uOo9Lc44rWMnk9wRyvIFQspVPkr2k+zqzg89nGJeB48widyIM0RuSc5Pp5fSyg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dtrFhYKpz0Xt6o9hu6G05oYg8fotudtKjQzc2U+NLg8=;
 b=50uEJTSl611YIhCEIHXQCa2hQYOJyVN/GTh4QaNj7jeKhAL+y/fyPWBF9h1N/MRjsB6/fEVcAkgsZXEjDp71IwUhP7PKp7KfpJo5FSutozXXwXQOlTlGNU3c/jWZAIGbPFhJ1gucobaQ/aiD48YEiB/yirz4YY2s37iVXjT+8u30whHY+xt3lD3jxQQT6nN40NwvV003/wlfxndpUz/uJPDM+5mHJFcpzIeT106D62Entq7ZI8bGEr5RHCHRWWm/SE1F1UT1K2KUs+79UkpUrmXAzJNPMepZWwCFt82apYiDCZGy4X8snvSrQTn3UeprVgpuXY4saAiky8MGCJhPsQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7c954d5a-b2dd-4a8a-8b3f-2ec398bf5a25@suse.com>
Date: Tue, 21 Nov 2023 09:21:53 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] x86/setup: Rework cmdline_cook() to be compatible
 with -Wwrite-strings
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120224912.1421916-3-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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7575:EE_
X-MS-Office365-Filtering-Correlation-Id: ef178a9b-24c2-4ce0-4eff-08dbea6aec30
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lV/45WO0WRnYqbdAo+uSALb5iPRaLWrd/g0477pWsaV6gwv8VOjUwyuhFXJi8qKWHWJ3NlMxQZE1YdOPd4vtL/pBng1jGmkDTItPMytFstr7T8naHJ1CFISJq+ys7Gh+5mP7ugY2DBgCfiwR26xLteOOsH2DVIKh0HGm3kyExck8owD8p6OOpl49EK0GRiAnMkOVunhwd0FvpzDGpmW7apS+HOoQ1z65ZLhOvWjgYS93PchPXRP+7gdy9LvFZYs3V8pKweZFIaNSbjTHMJHB+UfJjF1SwV4SosAlG2lIKFbJaW4M9g0Qe0B/ES/cEUMvlxUMG7Ic1KJE47Q1P0WwE0emknBfRdUMUzyRpyiLSNSVPVSu/jsjw3BeYsVYj/aea9vFJH4U8lBFs9SQnpkxlGjRie7TsVWYqrEIi1mRzh/op5Nj68s6BjulyJchvIMSqa6tR6DCLp2rJT/RG4uVD7vtq5vtxHlpVANOAmtaMkzUs1IpzTSEVShiwpTLv1gd/VAIPTlwFeGZmQi/XxZdLXINK0GHMECwsL47jONKPTOp/C4ghnOKBl1Wjt75S3X7x8lLUOFZoV4fQ5Ew30gMf1bh2Sr7w5pAyya4Iy6VDTsRQLBmQyYHbVhR6ZWzAaU+cKBJgAChR80Jz0PNx9/Tnw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(366004)(136003)(396003)(346002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(31686004)(83380400001)(6512007)(478600001)(6506007)(66946007)(6916009)(54906003)(66476007)(66556008)(316002)(38100700002)(8936002)(4326008)(8676002)(6486002)(53546011)(26005)(2616005)(31696002)(86362001)(7416002)(5660300002)(41300700001)(36756003)(2906002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VUppQ0gwR200ZEFCdFhCN2g2S3BYdncrUGh4U3RjZXZrVXl1cElqNHdqRm9J?=
 =?utf-8?B?bDk5T2xzUy9MQUZUQ0kzTlF1Q3FsNm5IdzZmaW41VitDUUoxc0RPalRySW13?=
 =?utf-8?B?aldGakVPbHZZVUkwVzU3L2ZwbnJISXdMMlVPbEZjd3dhMTN6MURJeFc4aGZQ?=
 =?utf-8?B?ZUIxSVQrajRWT1d6VHRnYkM1SnpyUXRka1k1MHNWR2o0cHV1UzFxTjFDd0F2?=
 =?utf-8?B?OXcybUxLUVIwdUFPa2RhUjVPdWJUNTZPbXY2Q3QySnYzdWZ1c2duVi9ML2k0?=
 =?utf-8?B?M2tjSmI5dzZyQ2pDZEJJNUJ4SGZRdkZCV1FSRzEzanUyNU1KV1RKTDBTZEFN?=
 =?utf-8?B?YTRORGwrbEl6WS9PNElrTEZiaFozcEExZnFaME5BcjlOQ0M0V0E1OGFkaENm?=
 =?utf-8?B?R3ZzSWs5RXVPaUkvbTREMk96ZDF3ekNPSzFsUk5Nd25nQWRRMlZsQlFURE1k?=
 =?utf-8?B?dG1lQVpYUXExdWNiWVVrVWVjTkhYU2ZENktTckpaZUFQaVNYdGlNTWtXdFlz?=
 =?utf-8?B?WlJUYzBOZ1hNVmJJb0NQdlJSSTlSb1ZFdkJvRTc3NFZhTjkzZkMwR2tZajZM?=
 =?utf-8?B?elJzWFdabTd2YkczTFlkaEphM3dTS0VBRDh0dis2RTJ2UXpiRG5Sblk1S2pR?=
 =?utf-8?B?K2FPNXhzY2RsTHNJY096ak9oTDMrZjNNSXVUaE9Kb2dFc1BNTS8rZmRUL1hi?=
 =?utf-8?B?cEI5M1dKeUQyK3BhdTd6SnVTZzRhQnF0VHlXelNzNXVGU0FqTGUyV1BsMTlX?=
 =?utf-8?B?OGo1azQ2ejdQdFJKTFlFQ0VFNWUybnA0MWo2VXF2M0RrTmZvSytmUG5LLzdS?=
 =?utf-8?B?WDVweVUrRFIxc2J6ZHNvcTB3UDdhQUpwK1ZUN2JvLy9BdlVXUkZibmpONVZS?=
 =?utf-8?B?U3pYYnhZbW1iOTMwVWJWSUNRZzdOZlJiWFlIZ2ZYcHplczROc2Nmb0cvVDZx?=
 =?utf-8?B?N0pPdnorMTRNcmFGeEk5SE1oY2tNUHEzL1c2Q1dMN1YzZzVmcjJGZmZ5bXVO?=
 =?utf-8?B?K2ZuaDVuSmhsMEEySlBCREpyS0pZU1plRUdNQjJRQ3FnMlQ0SUpObkV5b3Jw?=
 =?utf-8?B?RzltVWhhL0ZJNEZKbHpRK1p5UURZTXlMclhGdGFBY25neWQ0eEhmVTliRzlF?=
 =?utf-8?B?VnVMSnI2TlM3ajFmbFgvZ0p3U05QSSs4Y2VNU1pjeDJKR3ZoUkplNWtUYWRn?=
 =?utf-8?B?V2JsVC9jNGZYSWRWbWpKYnpkVFRqTkhHZVhKMVAwMDQvSVFuT1YyNHBWNnBX?=
 =?utf-8?B?bTQ5emFjMmdlMTlVWnN4amtHMG5aeGh2L0V2dW9VQTQ1U2dyZnhpckM0cEZx?=
 =?utf-8?B?TjVWbUtqSFRSUStjU1FTYUh5cm95bEpzbVhSWGRFQzZvNXRWOTNHWWxrRldq?=
 =?utf-8?B?Z0NqS01vSVlVN1N0L0xNSlpmMGYzc1VxdGh3dEtvcm1ZaERVdTg4dWFaM3ov?=
 =?utf-8?B?b3VaRzF5bmJIQ2JQN0VDMjV1OEZvMERCNHBpRWFXaFllOUJVRWIxdWd5cThl?=
 =?utf-8?B?UXRMSEdndzdrTjhhQWdMSkNyMmxSMW4vYnpZZGNBL1FCaUU3ZTVucStNTHZv?=
 =?utf-8?B?K0UrbHpub1pvRGpGQ2s5Y0gyYlIyNEUvd0h5eEVEdTloMUpHYWdIZDh1cmhn?=
 =?utf-8?B?WEpGbVRZWGlqeXRkZE1lMU9MM3ZMdmxZbWVTQXpjZVUvNGVPNHpCcjM2akMr?=
 =?utf-8?B?U3dqZXYxM0I1QjczSzd5U004RFBvSTVSUjlaM2ZOYzJmSThuZzlyZVhGUFpw?=
 =?utf-8?B?ZG4vNUpFV2hBcElRUTRvR2VuaHoxbkZKd0xlc1BNUDA2VUs3WmxDTHVHb200?=
 =?utf-8?B?SkFJSVgxczRQaFNTSnAxNHlDbzBRUDFGNzlaRzhYTGpBR2R1ZUYyUnJiNkhl?=
 =?utf-8?B?Z3pGK1plQzRoZVozUGFXZXlEWTI0TmpnbGVGQnpYcjVqeXZRQVJpNnYvRGhs?=
 =?utf-8?B?QUdBeFlvQjF1QUxNZUhMQjBMSUFrcGIxaFJHS3B2Z3FKNW55YXBEMStPTk5Y?=
 =?utf-8?B?Y3pUc2dKZitWRS9aMk9wbThxNmdWdUdrODBjNldieXZ5M014ZFVFOHVDbkxt?=
 =?utf-8?B?Z1g2WHc5Y3c4aGd0WGtYN1A2UDY0TzZiZzFhY00xb1N5aG1JZ2xyU0MzTDVO?=
 =?utf-8?Q?wPBmZlUSNaWNWnKAIw8FmBN9f?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ef178a9b-24c2-4ce0-4eff-08dbea6aec30
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 08:21:55.4368
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NefcZxNfSY6sOEodBMjReitXRGdebSBeI2Dqf+wBuPPxz1NUDo2e414wzsg4kMxOcNFx2kG4Ut8AacCYgAlyhw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7575

On 20.11.2023 23:49, Andrew Cooper wrote:
> Constify both cmdline variables in create_dom0() and __start_xen().
> Initialise Xen's variable to the empty string to simplify the parsing logic.
> 
> Update cmdline_cook() to take and return const pointers, changing it to have
> an early exit for a NULL input (which can happen if the mbi-> pointers happen
> to be 0).
> 
> Note this only compiles because strstr() launders the const off the pointer
> when assigning to the mutable kextra, but that logic only mutates the
> mbi->cmdline buffer.

And a good static analyzer would spot this. At the very least I think this
warrants a comment next to that code. But really I'm inclined to re-write
this to eliminate the issue altogether; I'll try to remember to do so once
your change has gone in.

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -837,9 +837,10 @@ static bool __init loader_is_grub2(const char *loader_name)
>      return (p != NULL) && (p[5] != '0');
>  }
>  
> -static char * __init cmdline_cook(char *p, const char *loader_name)
> +static const char *__init cmdline_cook(const char *p, const char *loader_name)
>  {
> -    p = p ? : "";
> +    if ( !p )
> +        return "";

This change is now needed only for create_dom0(), whereas the call site
change to __start_xen() is redundant with the change here. Did you
consider doing a similar transformation in create_dom0(), thus
eliminating the need for this check altogether? Alternatively I'd like
to ask that ...

> @@ -885,7 +886,7 @@ static struct domain *__init create_dom0(const module_t *image,
>          },
>      };
>      struct domain *d;
> -    char *cmdline;
> +    const char *cmdline;
>      domid_t domid;
>  
>      if ( opt_dom0_pvh )
> @@ -971,8 +972,8 @@ static struct domain *__init create_dom0(const module_t *image,
>  /* SAF-1-safe */
>  void __init noreturn __start_xen(unsigned long mbi_p)
>  {
> -    const char *memmap_type = NULL, *loader;
> -    char *cmdline, *kextra;
> +    const char *memmap_type = NULL, *loader, *cmdline = "";
> +    char *kextra;
>      void *bsp_stack;
>      struct cpu_info *info = get_cpu_info(), *bsp_info;
>      unsigned int initrdidx, num_parked = 0;
> @@ -1027,9 +1028,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>                                             : "unknown";
>  
>      /* Parse the command-line options. */
> -    cmdline = cmdline_cook((mbi->flags & MBI_CMDLINE) ?
> -                           __va(mbi->cmdline) : NULL,
> -                           loader);
> +    if ( mbi->flags & MBI_CMDLINE )
> +        cmdline = cmdline_cook(__va(mbi->cmdline), loader);
> +
>      if ( (kextra = strstr(cmdline, " -- ")) != NULL )
>      {
>          /*

... this last hunk be dropped, along with cmdline's initializer. No need
for extra code churn when not gaining us anything. (Also but not only
because the reformatting here is actually beneficial from a readability
pov imo, the variant with applying the same transformation to create_dom0()
would seem preferable to me.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 08:40:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 08:40:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637566.993477 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5MIx-0004Ul-Js; Tue, 21 Nov 2023 08:40:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637566.993477; Tue, 21 Nov 2023 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 1r5MIx-0004Ue-Go; Tue, 21 Nov 2023 08:40:23 +0000
Received: by outflank-mailman (input) for mailman id 637566;
 Tue, 21 Nov 2023 08: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5MIw-0004UY-9T
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 08:40:22 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe12::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a4ec4f4-8849-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 09:40:20 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6804.eurprd04.prod.outlook.com (2603:10a6:208:189::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 08:40:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 08:40: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: 9a4ec4f4-8849-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aXVfdqC+kG//MlMEllNyYzqOXXghxkRItGKqnGdWBe5PcGhMW8gxfJDzUAY03Mb9TfaRei8d79pK06eSWDxewoyJ8AJY1KZWgl96jgemR6qsGLc2KVxTIBZPmETxqWWBQkQ0jaRlh9DFdlapXsk0U76jh8LOugCHqU31yJZmGS/AddLad9yveBnnDvX0dBQLoK82dIY2f4delyodgtXGmlVOBSQGVjbDD59N0wT/Qft0MxFBkGtk3DQkaqxlOrIfKGTISuadVli+Ex5Z8dbktxCqjhd1Lbp14a1N7oaNKthtPGUl/r6Zi+jK192AKPjjFVlCMwohGU8LvVyjw79tGg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BfOT8zcnlQVCODiVrp6A4d73eIGTJ0tE4fy1SXn5yNY=;
 b=U7dsLO5Q8de/IClB20qBZGyaufv3G5OyNS4Eht4aEhTun5y6gVVUcR1GiplF0MvvD0ZYLypaH4t0PcC4mO+m+xxShphhod1zQHOod+MYw8az0n34HtA4Etqc6usz5HW0CiQyVprhsOXpWJvyHVi+VginFu1TVkwA8ePzs3WR5zR7whMdzmjrVIHgIEGnZFH8hoEUjZZPAiJCgnK8Y+VN8fvy3lbgheKqYYdduHziltYg125OnSzpr+SK9n3SNZtZTWSazp2SSjl6lVSa5kV/Lcv6cIomKni6kZV9tC2XuHIMNCuEF17imAq9lv/177igjvV6AFlEox3/bvIryFeJ9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BfOT8zcnlQVCODiVrp6A4d73eIGTJ0tE4fy1SXn5yNY=;
 b=cf+DSu17hFEmCjbKuK+sSwz/qLPXshRZpwH49lSwtC/JRLNdOSe7SsYm2n99HGh7uVlT9ja5R9A/F/WYjuaRPHhus/lmfa2gopMdJy4X+UB2wMSsCAL1a2nN/adbWmzAxRkiuIrGi/MJT/TbhtTdRt8+RG//9XUyIlWSpRaODwKx9/yN0EFNQ9FBc1UyLCBu5tIdyE5fQQXaswEzNCtJgMEAkoFo9FjTRHMX23SZDpZP7ImjZnac3e4dwdaDRnzSMtO7W55jOpmQtnAln+tX/ocKhW7soM3vUL9Wa7RyzVNTiDHlv92LslW/w2zCM23ueTD/VW0AVOdf+iLyAoXecw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a17c5268-fcb8-49bc-af68-a6df2227d48b@suse.com>
Date: Tue, 21 Nov 2023 09:40:15 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] xen/efi: Make efi-boot.h compile with -Wwrite-strings
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120224912.1421916-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0134.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6804:EE_
X-MS-Office365-Filtering-Correlation-Id: 10dde8a6-bbc0-49f2-9b3b-08dbea6d7cef
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8uDIE4h6Uc0dITTwQQuI24JDsgq2z3LyYf2QOrogbZgOA8ps+s7HUBFh3JbrAODgq0LB5UdV8/QFp78Ryk6AF9GY45/LdP0PmH8QscfcVWcU4nuu4KDfAWAkWwE/A/LeKSrpyfdjOTGOTQK2uE2Xj8YtydlnIPX9+yrQYmMRGaHfRMk0dXOi4EKG7m7l8uPUR8BoEqGn7/eX8sZJUnnpYzyDL40ZlWFAUYD6+6Cw5W2gUL8uf0On2Nrbw1WC8u6Y6yVZsofyrQLSImFHsuFlWkvW3T4wsvczTZFUYGt1F2xCpCTYuM7LIma+OM9nhjU2Q5zLk00dT6HUNUXRUEk5FrO+eIzuhmiynSsUDvzKlv6CGQzk6jVRwQYgot2v6laDZaawn0pTU9ryFIA3Jgp4z9wqdszYekmiUeTKL5SGuTD/UPCZJEcWcB8F+ebA9QJPeKK07DPVh2gr8cE3iEtYwEDd7b5uukD216TOj/hnZ1xQGymU+JY83vgSrDU1P9g1wN8CjIGZUiKoux5WCdnLqJYkVB61KAZ1ROKB3j385/osnNaliK44KPWLUfEpgZSwpd6zmR5FEAuVUOtYBIgTsck/G4/7ANG3lZKS2Kc8erTWpdpyEdBC9+df9bo/vOax26IBigqv3ds11uafBQXtGg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(366004)(396003)(39860400002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(478600001)(6512007)(83380400001)(6486002)(2616005)(53546011)(31686004)(6506007)(26005)(54906003)(66946007)(66556008)(66476007)(316002)(6916009)(86362001)(31696002)(2906002)(41300700001)(5660300002)(7416002)(38100700002)(36756003)(8676002)(4326008)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L2ZnRDBNZ0I1bUNPZklvazVSR1NNbWRjN29SVXhzSGJuN1h4dStlSWduZGdn?=
 =?utf-8?B?ZTdGOWI3SklYOHZkYlp4YlVGTXFSRDhWZStwR3E5Zms0eGloYmFFeFc3eWg1?=
 =?utf-8?B?LzlpWmo0VE9MV1hHaXVYMkVuaDhzTEkyZ3dhR1l6UnJEby9ZZDdMcFRabll5?=
 =?utf-8?B?TFpISXdVRkxHeG5MWnREMEZvMzhMSDhUTDlnTVd2bjBEaGwrbXJKSGlQR3Rw?=
 =?utf-8?B?a1NSN083ZXRXNlQ1UzhYR2REU2c3eXY0TCtkdUppTERzZCtoZjFqb08ydStl?=
 =?utf-8?B?V1dtY2NqT2p6T2IrUStNL203SXZGV2duK0QzczhRV2IxTng3L09kS3RnOTND?=
 =?utf-8?B?MDNmN05HVXh2QUZtL3VCNWN3L1lpc3pLZGNBbURnd1NkeSsvaWhrR0VIZUls?=
 =?utf-8?B?alJCM2dIcTVHRXNVb2dSaTdvem5RaG1RTVhaS0RwU0Q3QnF4TTRnczBKaCtp?=
 =?utf-8?B?aVJaRS9tbzY3YWZVVUdYaDJKcnlaUFdydXUxWjh5eW5seFNLY05yQ2dlT1lr?=
 =?utf-8?B?dkJqWnB5bXV0cW1EeGxFZXhlS3paK21SeWVTSDNra0RBaE1ycFo3OWFVeStT?=
 =?utf-8?B?QVJCYi9sRnJvZU5kUlJ0WXYvdVQzcEhqUGtWaWtQa3gzQ040M1Zjc2Y4RVVW?=
 =?utf-8?B?WjNuWTBLcjBqdUh1ajdQZ2phS2xPemVjaTZ6ejNmTWhyaDdoR1VJa2YxSlR1?=
 =?utf-8?B?YTAyV3VCekJrNGROc1lwa2d6UTZZZ1pGRTUxKzFxRERWSkhKODh2S1kyS3ds?=
 =?utf-8?B?L0UxT3ByVVJTV0dqN3BNcTlINGRyWUpGc1lXOXgrcXB5SGRlb2xOTVNHa3pX?=
 =?utf-8?B?OExJdUFuamZRL3EvQWhNSGg4NW5FbHJlbVRNcDExMjBXUjM5T295TTU5OVlK?=
 =?utf-8?B?dytrR3M3RkdYeE5TZGlpS2sxUUJUdHBYTmYwTHlFSVBKcTYxSEpTMVJ1SUY1?=
 =?utf-8?B?dzVRZFRuYi9nUnlTT2RKN3kxNXc1VnRTKy9PVEptNFZMalVRNHFhV2ZKMTVH?=
 =?utf-8?B?QU41cTVFMGFyOEpYMmxwRWg4MHJteFprYzd3S3pDa3l0Q0hwQ1R5ajgrVEgv?=
 =?utf-8?B?a1JRM29SK2pkVUZqUFhkZXpZaCtGK0hlVzFzRnI0LzE4WnBzZ0hzeGovSSs0?=
 =?utf-8?B?WnBOdDhhSWFjRVgzTVgyb0psWTBUbjMwZ2x1NW8vd3J3a1JPOUtBTGdxZ0Q0?=
 =?utf-8?B?Q1NsRXN6UC9SVmRkRnBnSE9RdVlnYkNqMFFUZ1FXZWJ5UmJSUFh3bHZIZlNu?=
 =?utf-8?B?ZUdiYm5wYmEvLzU5UUtHZXpPc0w2SVFCS1cxeVRkSzZOVTJnYm9zbmhFSHhD?=
 =?utf-8?B?bDBLNW5QRDRBSW9rNzdLL0UrZDhwV3R6TW00Q2hMQ2ZRdTUyVnEycWJKVGFl?=
 =?utf-8?B?MXBqZS9OV0llUWZYaENVSlc3NzRzTnhGbE5YZmNJaEJFdy9lVmthak1kRGdC?=
 =?utf-8?B?d0pOQm9sRk85U2QwN3BTcDlTempTZncwdnBSK2FmNElaNUNBV0t3SmpMSW0z?=
 =?utf-8?B?Zk9jMmxGWVEyelplVXpaUnBEUlo1Qy9EMGtOQU9YemlyUU5ZajR5TlQycEZ3?=
 =?utf-8?B?Rlk0WTBiSmRjcXgyNGhWUUZEWVUrTVd5ZmVVZWdJanpUNWFCa2Z6YXRwYkc0?=
 =?utf-8?B?emk1Vmtxa3FCeFloVVB4SW5TWVNrbk5HNHdKdGNuYk0vZXdxYzF1emwwVUYy?=
 =?utf-8?B?VnowL3dBOXVVcWpRNjVVSDdTVGV2bndNMDZlaHQrV3V4NVpZczVDOW1XVm55?=
 =?utf-8?B?dkQySkswOUpCcTc5K3ZWUjJOSDVoTmF4MGhkeDhmUGFycUl4cXYxMHdPdVMx?=
 =?utf-8?B?Y05CWXNSWmZoU2tPaTU3K2IyYlQ2NFltSFMrcyswYnd1Ni9Td0RCODVNM3lx?=
 =?utf-8?B?K3huWnkrYnF0Zm9MKzZQSWE2TDJISXpZNHJ4Y3RqZHcvV3prOEFCUEVZcG4r?=
 =?utf-8?B?YWx6OUxTaU84WGhod0RoMWhENTNoU1ZNTEFrblVZSEpYS0JnM1BvR0wwbTMr?=
 =?utf-8?B?YXVDSHRoK2R2YjFaVTduUEdXV1V2MHpRUEtPUGZHMmNKbGVBS0V3MitHTkhk?=
 =?utf-8?B?TVlrQjNrUFZwQzZaRk5FVVF6Y0xPR00zdlU5OGhYckRrRnVuTkxMNFhZdkNV?=
 =?utf-8?Q?TLrgz0b+5h31kk7eaG4b98rBF?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 10dde8a6-bbc0-49f2-9b3b-08dbea6d7cef
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 08:40:17.2953
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1rY2KC2DX8Ar/Ll4yXoZe3L0fxBAKbpl1iJTugDx1x4CI6rjQ5oVQeQMZ4L4RL/SfVddW0kEhdUCsd486n1taw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6804

On 20.11.2023 23:49, Andrew Cooper wrote:
> GCC complains:
> 
>   In file included from arch/arm/efi/boot.c:700:
>   arch/arm/efi/efi-boot.h: In function 'efi_arch_handle_cmdline':
>   arch/arm/efi/efi-boot.h:482:16: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
>     482 |         name.s = "xen";
>         |                ^
> 
> There's no easy option.  .rodata is really read-only, so the fact Xen doesn't
> crash means these strings aren't written to.

And the consuming sites confirm this being the case. Hence ...

> Lie to the compiler using a union.

... to at least slightly limit the lying, how about ...

> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -479,7 +479,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>          w2s(&name);
>      }
>      else
> -        name.s = "xen";
> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
>  
>      prop_len = 0;
>      prop_len += snprintf(buf + prop_len,

... you also switch to using name.cs down below here and ...

> --- a/xen/arch/x86/efi/efi-boot.h
> +++ b/xen/arch/x86/efi/efi-boot.h
> @@ -324,7 +324,8 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>          w2s(&name);
>      }
>      else
> -        name.s = "xen";
> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
> +
>      place_string(&mbi.cmdline, name.s);

... here?

An alternative would be to introduce 'char xen[4] = "xen";' in both
cases, and use them instead of plain string literals.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 08:50:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 08:50:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637576.993486 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5MSV-0006z7-Jo; Tue, 21 Nov 2023 08:50:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637576.993486; Tue, 21 Nov 2023 08:50: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 1r5MSV-0006z0-H8; Tue, 21 Nov 2023 08:50:15 +0000
Received: by outflank-mailman (input) for mailman id 637576;
 Tue, 21 Nov 2023 08:50: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5MSU-0006yu-BP
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 08:50:14 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060d.outbound.protection.outlook.com
 [2a01:111:f400:fe13::60d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fb993323-884a-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 09:50:12 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8364.eurprd04.prod.outlook.com (2603:10a6:10:24c::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 08:50:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 08:50: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: fb993323-884a-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MqI2/mPLoxCR94ap3vOL+D2sICp8bOXuNtAhsTwd4tqj0h8KTKevTX/brQswCecpg/qYvmpd45ZsihslCeXy+V/961ZwLIAStYFRLtU2CCcoSF4wpm0CkrM0xJDeEz3qpTpa/50chb0yK0Hm6vyBknEC2o1kGnrloZRYv6SWRHvE9cCi7XmpsnDYV6+4Sn4gtEW8vIhUmtQjWFOMwBSkkdKgzsOBYVQTRaPDaq2XtC2IHQeWJYLnVCzPbwcnYfI2ZuJajhK/c5M5Larlkr8qJkS8W/fIKk/dB3gVfUGa772nfsUYhy6animYUtS7QwEupfgKJ+5VBB4+QoGGdGkdRw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IFv3Y5+dqr6SqLam5jaL3GHMtolX+8gQ1BghAQWZrgQ=;
 b=E4YDplDZuq0qCQ38djEJ7uTMuvztIhqK9ZU38PfmoPBgQVC4jA75hl+gthWWniFeRVCQNHJjlxnR+emWrZfieWrnAgfegu+I65hp0QRvUYZ/2oUvfFc8NM08nAL9mCzR0RmQgPb0MNlR4OyVhgMByCVbLqf8eR1vxSRmzPV11TJrAwrw2/7qrD/stJIc0A4gqLdFZxpKM7Bd0xloRv3BBoW5fhH3oknJQi6H+HXfMsLZef8Ax5XrTUmqH9cPqZb2zBzPNzdOQinDsPK1CJfIqjDfGYUQjGMrMu5cajIeSNAHX4QJmU0Tym5hp0rFq5nWlzj8cdFrkX9rVrIY9r/v0g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=IFv3Y5+dqr6SqLam5jaL3GHMtolX+8gQ1BghAQWZrgQ=;
 b=juVGceu99ll/8ZK9lD01512kOQ/bD9pZ6OXirLecOhK+IMsomEBOOJtnO5daQpcJytofBzqNKqDRU05QR0DYymkkDU1aymfFdf4h2cc84b4LW2+c3CUiZaYYZHJ0/SSWO4n2SV9Skv55O0jch15gcqgVHo97ywYDa0RJ2iSRM8Q36oXi4+uBJDhAl1Fgg2FOg5iFuzFgnMor/B2KMH/VyNTJCCYnJVq4E3K9NmhyqiZd4hTeJKMyJTveNcl6k9cUhzW3UdGksbEZQr0z/t7VjwpoVgiIBG/qg+InmNQDjh6wSTyV2l0uLZk6h+A8jg5/dZoz0pzM2MOu/uNfPX1/lQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2caaa971-5f36-47d6-8a94-e2ca2e28d21f@suse.com>
Date: Tue, 21 Nov 2023 09:50:07 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19 v6 1/8] xen: modify or add declarations for
 variables where needed
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
 <03ff750e9580c2de8ce3d1211562a03f663d678c.1698829473.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <03ff750e9580c2de8ce3d1211562a03f663d678c.1698829473.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0385.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f7::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8364:EE_
X-MS-Office365-Filtering-Correlation-Id: f6f8a12c-8121-422b-2f47-08dbea6eddce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zYIn0UZ5atd+e/TTUVybSap0UCLc38k+/nhP/31kA8TLT27Aru1kicoICoMTApGP5Qy/viPnaLFGpaZmMma7YbrpbP5W7lmijYpNUMZjC2jg2/Wdx/s0q0DnHYT5s7s/elGhgiNhw1V804Q89Uu/wXDV3aLVELk6aEqYgOyC9udiAAIGJoMkehSnbVadQHcF1WdbAq6txZO+E+GKV4taaFm6NWLT2lLZ5ZZMXnNsdh02NO5mRAUimyfHWszU4mq9Nn8fixzRr1dRv0+5TWJ3TjANKSOWNIzYFJ6/EEeFk8Ztbecjj7hAC+8Muz5snsgmmNvuZc+C2kkFBY2mIj0EOLXxdvs/8jR0onoenJWNg04YFYqZw1rwzMULIEd9dRnvnbGrFvBVOgK6IT1m8JZ9dMO81Mek0NLqcFwC1JHEx25+1F+f7dUAtR/ZHjwp70RNiYlI1EoCjkA2sqVm9Qw8KvhsXQdk78vj/i7zb9mYuP77lccvN3oPzp+A7kLrj4H+X1xb4Cv43k4/hNWYEbz+z7FBaCYCANFTvloUyqT0K62G5UvLMTNu/fXTPHXiVtcuJ5qPMtiI0Iz9fOGzu1RGfDUq/3+SGVLlJ/nXI17+aQ2Bm4brEX+PkhyMSSbS1frcD46Y5mf0+TiSVsIeUdqDVnDBiS6ykp0uUrmbARntwM//c19y4nprl3dk8Bsmd8fS
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(396003)(136003)(366004)(376002)(230922051799003)(230273577357003)(230173577357003)(64100799003)(1800799012)(186009)(451199024)(478600001)(6512007)(6486002)(2616005)(53546011)(31686004)(6506007)(26005)(54906003)(66556008)(66476007)(66946007)(316002)(6916009)(86362001)(31696002)(2906002)(41300700001)(5660300002)(7416002)(38100700002)(8676002)(4326008)(8936002)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Ukp0ODZENWZZa3VHYjJUTmRLRjBFL1B2ZmxyMmJvT3VvQitHaW1HMTgwdENw?=
 =?utf-8?B?b2xWdkw4RE5ybVUrQnBFdXJFaGJlOXhBUUNQdGc1di9kY0RXV1J0T0xtVGRn?=
 =?utf-8?B?VHhtUzA4dGpJODdtaWZZT1J5QlQrSyt2ckI5U0J2MFhNRzY2MEhrMGxjWVp4?=
 =?utf-8?B?YkMrSUhMU3NoekhuRFpraUI2cHhrTmIxS2ZKTzAxNjYyY1FZdlhYQ1pqZFhD?=
 =?utf-8?B?c2Uycm9FanBjeU9IV0RpcDdjTGFYazRJV29QKzM1Q1hpS3JzbFVzbml5RHMw?=
 =?utf-8?B?ZlFJazBSVG1ZNkhSYmZoZkpNSFBMTU5HQTl6R1NXN3RQNEVGUzBESzExSlVK?=
 =?utf-8?B?N29qcE9vYmwxVnVvbUNxTE9xeFdjaGJzUDY3SEJwZk1PSkhpdnpBNWxkOXpP?=
 =?utf-8?B?N0NRUyt4MDBxeGxuVWUvT05JVWZvOWFEU3JNRHp5WE9zeWRSUUxyWGFLN09w?=
 =?utf-8?B?V3FuLy9LSmo0emNIOFdYYjJxbFA1VjJWaGtrUFJtOTduRjZJK3Z0NWtuQkJZ?=
 =?utf-8?B?RS80YU1uMWdrRHFjOWcvRy9FMDRRUEJzamhxc0xOdGhLTGVkR2VwcWw4MUFO?=
 =?utf-8?B?WldlaEJ0WE02RWJrcTlTV3h1WkhsdmhyZm52VzNGOEtRM0lhQWMwcUpDTHBw?=
 =?utf-8?B?YWhtRXlZVForOUdkOE44ZWp2NTR6eStCVDB5NzlqR2t1WFptSUdyMklYbi9Y?=
 =?utf-8?B?Yis1ZGJ1RUVjVFVuekpkSlZFVTBVUzd0N3pucjBSMHowUXdFV0VxeFY1eXFv?=
 =?utf-8?B?TzhPQlVRM1pEUHl5V29KcW4zRWFOZjRQYWwvaWhMT091VlpCdVdpc09rYkE4?=
 =?utf-8?B?dUxGL2wydGwyUVdVYUwwTzgremg5WUJGSmdhei9OSThmVCtJSytmVmFKaWZR?=
 =?utf-8?B?NTlVL2luK0ZXOWRaSHdMeGhkZEFSSFA1dkVHeWozZkdCdllKa290R0duOEdI?=
 =?utf-8?B?Q25tNEZwRkRER25Ka3FzdEtKU0YrUlBDMWlpNGdOSlg5NUh6emZQb2VCWmUv?=
 =?utf-8?B?Q2lESTd0dm1DY1pLTWFTS1NpM0VMZldUQW1yaWE5bGpJMjI5L091emM2dEM2?=
 =?utf-8?B?RklDc0ZlVVhLY055Q3hSc0s1b3FORnVqTUJUYXhLcDd6RXZ3UnB1SG05TG5l?=
 =?utf-8?B?dTNyUWgxVHQ2T3RkcUorY1I2bXFxY3p0aWtGRXptdHZBSUxyMVNNT0R1RnM5?=
 =?utf-8?B?WjdmRXQ0WFVvMzlIbnZ5WDBXOEpQT2phQnF1c3hDL3JMMWF3bHYzbHQvMEJW?=
 =?utf-8?B?OU5CVENHVXNvaGpoTDQxQkJDeGVENFdVVWJsamtrV1psQ3lSckZyTWIxTENY?=
 =?utf-8?B?WFRCMCt5YTJWczFWK1A4K2JtRXB6K1B3anhCaXEwb2RkTDBlRE4xbXNPQW5C?=
 =?utf-8?B?ajNHODM4d2N5RVBucHVxaXNkZ2dPenlmRDBINUZ0anhmVnZIMzB3WG5Cd3dB?=
 =?utf-8?B?QWxuODdEUnJyV2lCMGpSMUVjZGxhaWFsTlIybm1JVjFpUHA3ZXBBQU9NMFBa?=
 =?utf-8?B?U3Nqa1VzSGNyV3FQN1h6UktFZnhPM2pUZzJtNkhaWG9hNDNqM0F0THdnb2Rs?=
 =?utf-8?B?YVBhejUxRHN6YlJXN3ZlWEpXL3V1WENqUjYzbDZXclNTWFhjNmFaYTJoNVBX?=
 =?utf-8?B?TTJiQjFSbi9YYURoOC9YS3RvWHhiUnpseHY2Y3p2eVJEU1U1cVpmUmdtV09t?=
 =?utf-8?B?QXFXVHhrY2JzU3lGaUV2VkdpaW4xL3JUMnhrYjBYQUdyb2dNaUhKWVVDSE5Y?=
 =?utf-8?B?MU0wK2lWU1VNMVB0Q2xJWmpCSlhDc0RiY3FhK3hqV2NuYWtEQW9zTWZDSGlI?=
 =?utf-8?B?TnhaMTRCdkJkL002Ly93NDQ3R29SQzBlRHc1TmxiQWF6bGVRZklIV1J2SHhx?=
 =?utf-8?B?c2x3bURTK3IyYTdpMjBVU004ZnoxRDlCR3I3d2RjaTlFQzFRK0Z2UWVKOHAz?=
 =?utf-8?B?TElkU05tQk4xN09tUEsxU0Q3Vlg1dVlaWG5LZlllN2w4L0RuRUExU2dXYmJN?=
 =?utf-8?B?QTR3WWwrUVB0V1kzZmt0Nmk5ZTVSTG5pRHVMUTNiSlMrV2ErOUpqRjlVTXA3?=
 =?utf-8?B?bTZGRzhwMWxhdG0weXhFeE4vVy9ESVVmMmdoc3ROKzZudml3cW5veVVROVlP?=
 =?utf-8?Q?8bqJhWFXOlMFy7E49S9ZEBBtu?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f6f8a12c-8121-422b-2f47-08dbea6eddce
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 08:50:09.3393
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: vrkIBTQ/6x5L+cwFkc3ceBLecRT+kgem3W9Hx/6TgaEHXAcorzpbUvKUPmNqCPqSRRTaNnNWFG8Hq7SzTbCF+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8364

On 01.11.2023 10:30, Nicola Vetrini wrote:
> Some variables with external linkage used in C code do not have
> a visible declaration where they are defined. Other variables
> can be made static, thereby eliminating the need for a declaration.
> Doing so also resolves violations of MISRA C:2012 Rule 8.4.
> 
> Fix typo s/mcinfo_dumpped/mcinfo_dumped/ while making
> the variable static.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> Acked-by: Jan Beulich <jbeulich@suse.com>
> ---
> Jan's ack is for the x86 part, but no other concerns have been
> raised for the arm files.

Actually, there is one:

> --- a/xen/include/xen/symbols.h
> +++ b/xen/include/xen/symbols.h
> @@ -33,4 +33,5 @@ struct symbol_offset {
>      uint32_t stream; /* .. in the compressed stream.*/
>      uint32_t addr;   /* .. and in the fixed size address array. */
>  };
> +
>  #endif /*_XEN_SYMBOLS_H*/

This is a stray change, and wants dropping here no matter that there indeed
wants to be a blank line there. I'll take the liberty of doing so while
committing.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 08:52:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 08:52:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637578.993497 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5MUe-0007YM-08; Tue, 21 Nov 2023 08:52:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637578.993497; Tue, 21 Nov 2023 08: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 1r5MUd-0007YF-SJ; Tue, 21 Nov 2023 08:52:27 +0000
Received: by outflank-mailman (input) for mailman id 637578;
 Tue, 21 Nov 2023 08:52: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5MUc-0007Y7-Ay
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 08:52:26 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20622.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a57b343-884b-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 09:52:25 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8666.eurprd04.prod.outlook.com (2603:10a6:20b:43d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 08:52:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 08: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: 4a57b343-884b-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I9UDxEvcK+HXLFT84w5i0oqHl7vhDUXtCIGAtMOOKA/p2CXI+0pne4Q6U+Q2IR+ZXBTh5p3CnGgHZFyz3bfwMVvgln+bmGhj/WO+GId4bWGAUPeML+lz7nsrU93Fiuz3WSAz5rNBQRVpmPzc4uteGxFtJBT30R39mYU46jfqLZhB06Q3hoy0bq9D1V2Bc1raqEGh8r+D8HAnKyNAx6w9TCHTnbD4WX5ICgoTYMxWcCe5Ia8NhyBBLwBEeFxEcDGVYc7axE6svR/M7u7jhnkzLJRv+uZA21uSzT0hqd3rYcf4dlTVBvlTLzNxiGWJlpV4oJBPyp1dsiJpiO8K/qzEvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/om9C876igB3pduHGj2H1MKCzA5wuXePJYAXj22CI=;
 b=ni82ubaXmug/Hir+wxEK2EVfVDAH8rsJltz4KRRNHnftTMr3ZN0qv16B6gZyO3n6si8SKl64SHjwKZSPQzWAQWVxLc/rY21YKFFWHhN5DVHTJ6lo3lH4Zwl+f50chq88nTmjc5zBSEkhyGPPipFrYKDAzk+QGE+jC+plFHVZfDeobMp/l3X0/8mwwrdluX3MIss2efyl3MGUt/u1ecYevhahtNhOgNu4KStghOXvKB6ogpNU43EUIo9C6HsM3U/M3D85dqROVmw1xCStrV93EdEJmtJWYCsz/tbaKeIgdZMyDiCSK3JuFoEsPErSc9T7SBpkA642NoAO6hBD+BxorA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/V/om9C876igB3pduHGj2H1MKCzA5wuXePJYAXj22CI=;
 b=Ro3TyBFr1sQ4wb/KKaruOVavZj/9tCIh0BamL+djgJ3Xp3oCzcTj4V3xm2zJwtMIlhrmpIe99iK2ri1pQlyrRcMv3yMb17kFA2Oc9dxf02dF7t6xz3Cf7kOi1o6wedZ8coqQQnEIIFZUNOLbhqXxkkPNmQKrbw70IxV77v6w6e8798cckjtHdm0MPUFfGlvDXA0guptLVpCqVnIarNU3AqrEId/S/JumgOIrfAxhmQDFa2APhdul2z4dk8fiWAUlkiGYQyAvnaMaPRDUWPDT+PnrTUAGKQ02fKfIwoiosKCkAsRmfEVnvbXecGJlfA8+ygZziVPSwB9CqrzIwneX4A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ad117bbb-890e-4387-bb5a-cfd226c68bd2@suse.com>
Date: Tue, 21 Nov 2023 09:52:21 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/traps: More use of nocall
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: <20231120194537.1341452-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120194537.1341452-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0269.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8666:EE_
X-MS-Office365-Filtering-Correlation-Id: 40f727f7-753a-43be-0eed-08dbea6f2da5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	AEOY2XrArJJ/j9JUEtlGt6kNJsohny0ORbBXcy8YtpF2KAYHbM0Hbhk1yNiSgA6AESTOU+MIS08Xu7y+5QW71RnRwHu8tzUIEcdgB8ePrPrWg5q/enVFYoLO+9x1+dtIiPeQlluoi4ysUeqbZBeidJW+F8sbzdfB+L7MCMY5SlkJgk2U66KIwlWoS8sKksn15ptqWpLbC9uQMjqaZ6vxJnsotmcJZWF02tzYckqhOwpW2kDNr1QNBL6t8q82+JuSFVb6i5/VMzZ/mHWLSX6e56CgNQtqGg1HKFKQrfKlDFNBcMPb3Tj95emxafTPK1XurBX4vT/0lsB6Cxmr3gxekk4yjbtTdjwK2PzhWLYGLwDGr3aeyti+fDiLOeLYAMx1EvtIPYOcTOWLzccgXUWG5El88IHDc6pTCrYCKddR/t+4XbWUtufd1oMmeM7dRaA22W3lcxlPN7BZfyAAvESshp+pFrI530o1xzbu46r6BHAt7XCkAlUIW5CRSW5lTgw0fIT1T+gCmGuE5pglXSD+UKMz6kefa1cWnC42N4dj+rfE7puNiu/yCx489IbfjLyEvkA/VY7fBre4oX237FNHRAzgy/p+yvcjEyQUbQuuohUIWnjMlQFBzHq2vUHi6vYyhgHuA7po8bD1lCEHyByPSA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(136003)(346002)(366004)(39860400002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(2616005)(6512007)(66946007)(31686004)(66556008)(66476007)(54906003)(4326008)(6916009)(316002)(8676002)(8936002)(478600001)(26005)(6506007)(53546011)(83380400001)(6486002)(38100700002)(31696002)(5660300002)(2906002)(4744005)(41300700001)(86362001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cXh1bzZGN2pheVJwOUsrc21OWmljUjR1aS9ReWwzYkhEY3ZpUHN3bS9nbTRq?=
 =?utf-8?B?Z3h0d0JoVUFqdmRzYTJvaHFQbGcxdWE5cXhnaVdVZnQ2NStqbUVuT0JINmsz?=
 =?utf-8?B?YlJBcEJBTEJmV2lJeEdadFh6VEhBRlNhclJXajl0Z2F1cDFOQ2Nka29KSU4y?=
 =?utf-8?B?YzFJeEV6RG90eHB6NjZ3c00rUWRCUElxQWptYnVwbTdwRTNxUFZnZXVtTVpS?=
 =?utf-8?B?MWlib096TnY4a3MyeEQ1YVhRODVzUzhKeVhtNnVLMFpRdTNia2JxQ0FGRDh1?=
 =?utf-8?B?WXNqd24xd3BTTXhOcVh2TWN6QmFBaVlxcWVkejZQZVF0MEV0WXVqZXFBS2Y3?=
 =?utf-8?B?RzNTSGgvL2FKOUdYdHpIZzM0bWRzTEk5UEp1djdFTEpjTmk3M2JXeHNGNXVC?=
 =?utf-8?B?dmVCZ3ZvVkRBUVkyL0lmYjJmcklTbjJ4NzMwVWVLRVVmSTNXd2xMZTV4Rm1C?=
 =?utf-8?B?WjN5bUJCN242aGUzVkJyWG1NQ294OVA2dFdNUkpUUXVzT3FNalFhNFVyMk1S?=
 =?utf-8?B?Y3FxU1BmNnphWVI1a2YwVitXWEJRN05uSGVqc2Q2TW55WXNkZEZxeEV2VkZX?=
 =?utf-8?B?M01sSmtmQ2ZpL0I1aUk5dEdYRUx4RnNwMVZielJHREE1TnB2UGJURjlTeFZu?=
 =?utf-8?B?R2dzOGRzQyttb09jN3lHbXVONitHWkRtTWtKbnF2RzQ3alVHRjBvcDdpZW05?=
 =?utf-8?B?YWNXM2JvWUd5b0ZYN1NLRGFIWnF1NTViR0x3S0twS0Mwa3VEaURhNk4xNFpJ?=
 =?utf-8?B?MUFqMHVHanBPUWxyK29kN2lRdzdhWDNHcnJReTFGRmRMdTRzS2dqdkdEYmls?=
 =?utf-8?B?ci92cTkyQ1VHNzIraVdwQTBKbitpRXBSRmQxZmVSTHc3bUNEODBwZHdUbDZU?=
 =?utf-8?B?MFNhYkw3SUtTUUVxQndhSTlBU0I4ZHBaUzRPQkkxTDVOZzdQOWFSbnRFKzJk?=
 =?utf-8?B?YXpEZzhSaHRPbEt3ek5oQytoMllHbHVJcnppUE92eG1RVGpaT3cwWVUvYWx4?=
 =?utf-8?B?QXgwbWZ0VnpMa3NqQlhJcXArUEpOc01mVFBWMG0rMHptNW00UmRkWGJORWdq?=
 =?utf-8?B?bTVnc1AzeWlIalRHNGl1SDhZRUNwMHRINWF1Y3lQZU9GZHFsSUZnSDBHengw?=
 =?utf-8?B?ekFyRnM4QnhhOGxzS090Nks2UlkzSU1EeW9jT3Q4OXN2M1VvVnZKTStoWWl0?=
 =?utf-8?B?ZHIvVVlXZ3p4VmlJTDNqOFB3VFg1TVkrMHhBMmJjR1JBbDJBeWlobW5Bd1dK?=
 =?utf-8?B?YUlPMDA3Y0FpNkFaQi9pZG04aGNWZUR2TmQwZnJWSWN3S1FQUWlrVk1JQTRK?=
 =?utf-8?B?UUtGQnBoWnBGTWtmQnJlalY5VW9uK3hRckNUL3dCdlBMWUtUN2F3Z29mekNK?=
 =?utf-8?B?NUFnZWZuS1NXVW01ZTZwL2gvVmc1SGx5RFBKY0RBdWU2bkIwdVBrMUFDbUpq?=
 =?utf-8?B?RS8yOGs5Rzg4WkVISkVlNW1TZm1JSDRpbUo2QlZQS0pIVUZNbGFCRGNteWxq?=
 =?utf-8?B?Y3duMFZodkc0QS8zUHlRVGQwZHVjMWZhYWZma2FNK3BSMVFRcnF4N3l5c0cx?=
 =?utf-8?B?M3VGTTYyMlFZSjFUY0cwOC9wZVFzK1ZIWm9CcHpkSWpicjJTcW8vbVFncHJW?=
 =?utf-8?B?R0pkclhUMWdLLzYrTW9tb3BBUW9HVWlrUGoxWWMrWmtWZlEzcWk0eWxkSTFT?=
 =?utf-8?B?ckR2cHVFK1lBZCt6OE96d3lGZTEwQmtTemxadnFmb09JYi90bnJjLzRSUFF2?=
 =?utf-8?B?dGpKelQyRXNZdHJmZlArRlBlNy8wNHRuaWJvZFAxc2hXR0hHbHpaNzZtcDFx?=
 =?utf-8?B?Z3V4REt6VkNEZ0V5TnRPeEZQMDdwVWZqLzlCRjRLYUNLd2cyVEZTK212ZStF?=
 =?utf-8?B?RFZKVVk3RUFtRjBqTmxVYjdXSlpUck9zcjFIMTV3WGdYRFg2K2tkNjZEbklr?=
 =?utf-8?B?ZUJoWkd1RGpaSmFkcTdhVUdkWkJ4QnJIcmxqVnZ0WkpONWNqS3Q0UXEzNHBo?=
 =?utf-8?B?MUp4RHlIUDVjdVZQczNjSHVLaGNzU0szTVM2WWlDK1FzdTk2dWtZd3J4UDF5?=
 =?utf-8?B?dkNuU09QMTNncHA5TFRwblV0TDJ0cjB4ek5ieCtFMGNjcXdYMFc3b3d4MlBv?=
 =?utf-8?Q?MQcovFp5vSPMx2lgQkZ/GPEMr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40f727f7-753a-43be-0eed-08dbea6f2da5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 08:52:23.2201
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: SAQIz+UqZT7/6f9AyMIkaflzdH1+IPKbxCWYAU4Uh58TxxXpdCfLFsk89gmYlTBKPn+J8SrsxAgd2Ju/jvjrnQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8666

On 20.11.2023 20:45, Andrew Cooper wrote:
> sysenter_eflags_saved() and int80_direct_trap() are now only used by a single
> translation unit.  Move the declarations into the respective traps.c, renaming
> int80_direct_trap() to entry_int80() to match the style elsewhere.
> 
> Annotate all 3 with nocall like all other entry paths.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

Nevertheless I wonder if this wouldn't better be deferred until asmlinkage
has appeared in the code base, such that along with nocall that could be
added at the same time. (Even then it's not entirely clear to me whether
Misra is going to be happy with declarations not living in headers. But
imo limiting exposure trumps Misra's possible pickiness.)

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 08:57:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 08:57:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637583.993507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5MZ5-0008Vn-H0; Tue, 21 Nov 2023 08:57:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637583.993507; Tue, 21 Nov 2023 08:57: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 1r5MZ5-0008Vg-EV; Tue, 21 Nov 2023 08:57:03 +0000
Received: by outflank-mailman (input) for mailman id 637583;
 Tue, 21 Nov 2023 08:57: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5MZ4-0008Tq-4y
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 08:57:02 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed41268b-884b-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 09:56:58 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8666.eurprd04.prod.outlook.com (2603:10a6:20b:43d::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 08:56:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 08:56: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: ed41268b-884b-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MAAT85VsDpZ+9aQPvmhzP32aASVbDrelogK8ovG0UPDgYSk8fw8UGqGpsr7K1aC9bSRKvUbfGNG7l8KtqsvipQ+EXOVVUzfTEltrHuuJmf1VY3LbXnlOEH3fMBb9P/2KOMPumiK26D8g+6p8t5/VgkSBMOYJPDj5duP9Gq7nrkGr5ZXFGsDTSj0xRQG8Tj34lOV2ZSww5sFH5DNHnLKcKiV65q52j2fVNnNKpryBUgioavr1mqH9hcjZyV84vlNzwZpwZVvvOeKlNyHIEUPqbaWl52bjjhob12dO6rBVTMBYvzIzi3UizYtV1o9IV+JqjZhzgaDneUWPnrrVs0ijcw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UnlC8UA23/ciCSqNa6QeI7CuWezKAUNAbchrvMk+qnA=;
 b=hDCazU/9NoYMkxxLmCJc9NCIrLR4UgzeZFyvzCxBgQusQt5a/lG82N4nzBXcAKYeHj59NhemShgzOsQhfMPmxHPlSgBXbxUgBXRx4Od4dDRN/Np67qBq2GIqvSQQc0UAtrEhHt3pEue3TzN3AzCgzrOV6vSmISKlVwDuR7VulcLKkvN1dyVs8xZCleqGFxDvuiKlkBUasTXHdjSLXtph/8JVSl2mjaEkFzfHJaNi0YSlf2t+ZnUkqQ9LCeHaiZpzwq5fRP4l64bRlF7TRq6sCIA3m4GFtBQSKjqtlnEF3ef9zJ6++PmIIX+iUo6nRAg2KqOFRgnNFV7wzezoV/amNg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=UnlC8UA23/ciCSqNa6QeI7CuWezKAUNAbchrvMk+qnA=;
 b=XL4o18IxgUO44QCWfCpTKIO5DDAIOsNyxNHr7Yh24hUp3xd2do6yq5Y49pGPji/OCSkpF9daNGgT9cpa1tlAJyaaoQBg1HR1KzXfX/v17Q1eIu2DAev3ws3/ZdSJRgHeHJMYD+tFEDl+F6baZ0uJ3jWI3ztMS5dI0TCgugmaUV06yyBKMkehewsY3UlPY7OQA5b+iZg55Yt0tnI0WGzzGcmzEzVnZpntXJJxaOC+E60hkDz484nYvDaW50CpSFRIOSy14zfB72gbNvrUnn97cp2lMeA45LP1y9CRmeYz0CK3IEUMQUaJLlQ+0gubyZT/t1la2icJyFrcLG9J+uGL8A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <28128f10-1381-462f-9eeb-7c43aec6abb9@suse.com>
Date: Tue, 21 Nov 2023 09:56:55 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/entry: Use 32bit XOR in handle_ist_exception
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: <20231120195742.1343677-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120195742.1343677-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0050.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4a::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8666:EE_
X-MS-Office365-Filtering-Correlation-Id: 42f66a69-b1d6-4f6b-2078-08dbea6fd09a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EsyCdG6avpps2q9vE5BLw+m1qhYxFQIHTR/jGns8PLLf7HcY6nplOhBlN4DG0+wBk4ogaHLuEnWwih/F/0uqwtEYUB6p30jXtZJt70AYAIyukTp+ocJk+jLHqrgMv21JnqWignqYOlHvC5lAUVR3Cw8u30y4jGAzAHgxkQp3C3R1GG3swRrg9Jj00KfHWuRUu+w/o02w9/7IuQU43d7m0D1HIaFqry/4e5odVebNelXH55eXsLVpXEn6gle+HIneRJxyEaUOr5JmDz5aqJSZnouyfHnpd81x3lAaS5v2vfu6R29EyGekaA6+f0dSproqusOrALB7hMSDKjJZUETzPRwOpsbahLhZAQ7UJufEjMH69hvJ3mGb3XORrTWreEIlpZ3DX14UQ/HC03ReuOk9jY1ezP8B6XQJjLIRMOokHN/w7lA3SCVEobmDgY64YwakH2AIoomGifN34onmVpBueR5nEb2pg9jDZYbR1aoZgO0gow/v2XwcfAKYSQW5wvpldLMv+nkFQyO+ML52Yy4273RziIoQBQf1rKY1q0/oN4JBEkjDjXF37LNij1SR6td65V0YO8fbfhd2iDUmYmGR/Wxp25RTklMyBBf9CzcNbAgXoZdLnW8Nt44TZD35WRYLZL8WWaEkXSTy3sFe5A2ZKA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(366004)(136003)(396003)(376002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(41300700001)(36756003)(86362001)(5660300002)(31696002)(2906002)(2616005)(6512007)(6506007)(53546011)(6486002)(83380400001)(478600001)(26005)(38100700002)(66476007)(66556008)(31686004)(66946007)(6916009)(316002)(54906003)(4326008)(8676002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MmV4M1pFZ0ZxbGptbnU4M1NzT3czSm51YmVxYXA0RmVpOVpnWk55WDBvYUJk?=
 =?utf-8?B?allrUHpVOXo5a2tIaHZWK1lxdEI0eEIxV0M4aFUxektEaDNyTmxjNmdOVnUy?=
 =?utf-8?B?QW9SanJFMkVNU3pYL21pZ3RiU0lzdkhpVEppc2t6WFlGTHlXcHRjenlBVHd2?=
 =?utf-8?B?dGxjU2JQNjBtZ2YvMU9ONW5vWGpjcHNOOUtiSHFVbjh3YzBCeHA0UVY0OS9Q?=
 =?utf-8?B?R0RwcTEwcEpHb3pEYnIyamdHcHRPSFlTN1MwRlFTbzMrOStkZDBlYjAwQmlI?=
 =?utf-8?B?YUlkYzRJSFVNZnk3V2lnWGlrMUtZSzRwcmtRb3g2Z0d4eklKb3BiOFY0VjRL?=
 =?utf-8?B?dGJ3WVBIamYwZ0E5SmdsNjdndFB3TEIzelpDUlQ5SWFqVDFXOTlDUzU2cFF0?=
 =?utf-8?B?Tkl4NnhWd0NoeHhtbm9XOWI0ZSt2RDZmUWpPM2drRko1TVhtdktsd1VTQ2N5?=
 =?utf-8?B?REF5ZXRZbVhPTVNCTENRL3hwaUNvK1BVRGRDTWovcmlJaUx4USttSEplQita?=
 =?utf-8?B?QnVwemhxQmRJMGNZOUZ5VmpEZ2VRcmp6ck1hVENlZlluNXhLOTF0YUlqYVUv?=
 =?utf-8?B?YlF1VkU0cFVuYmRqL2gxS2pDakJlakZYWldTMUp4K3RNZFZWN0tMcWYzbXpM?=
 =?utf-8?B?Tm9VUHZkcXR1bnZDS25SMElSd1RucWZUMGJ3V2RGdU9YMjg0dVh3M0pVS0Mx?=
 =?utf-8?B?Ym5VbjU1SklNdHZXejN1b1NRVDk0aTB0TDh1WFJvSS91Tk5oMWdKeFBYNHZH?=
 =?utf-8?B?aDRmK2d6dUV3SUJGS3AvL2ZUcUY2N2JGVWNlWWNEdVZoM2FIRVNNZml6bkZY?=
 =?utf-8?B?cTUxL0hESStZTmt0RWZ4UmFBZTgwN05nVXZueGY1UTIzMUZSR1BhMXNBcmFO?=
 =?utf-8?B?ZEZHb0xXYlpveUFYN2o0YVpQS3Y3c25QRVlJRmZhQVlTaURJMmhwKzZuam9D?=
 =?utf-8?B?RjBYZGJGVmJtT0dKUGNYWXFiNGFWc0phRzR5SjZtdXRGejdSbExBRGR5Sk1h?=
 =?utf-8?B?a2Rka3Y3V3R5b2ZlcmFTWFdZSk43OXZlSjJGanFCVXREU0hlUGtkWkI5Vnl4?=
 =?utf-8?B?ektYemZxcGRvWTRNTkJhNmJMaVFFVGtmWnhmMDFvYVhlNWlXbzNUL0d5YkVv?=
 =?utf-8?B?MExiY3dQVi9SRWtKWFdNbzZvaFJ6Y2h0cXVqR3BTUU9GeC8xTTR2V0p3MU5z?=
 =?utf-8?B?ZlZPc2FlOG5tSWtsRm5SK3gydWJZTitEM1dlOVdXRENVVWU1dXhlQW1qR3ho?=
 =?utf-8?B?c1d1VWtUMUw5N0VpNXoxUmx0bCtTU1dhQUtoeTl6Y0MvNTY5N0xMZFZFQXlJ?=
 =?utf-8?B?a291T3RyU3dYS1M1RTNWSndSSXdkdVV1cTdBTSttVDNBLzZ6MXUwQVU5ZmJx?=
 =?utf-8?B?MzF3eUJNZTRRNzBHMjNtVGRSay9mZkQxUHdDY1kxei9UUGorR2lqNmszRUE1?=
 =?utf-8?B?aXo3djNab2VJYTE4amNTSGdvL2Q5NldnYnIydzBGdmM1c21UdytKZ21zbzl5?=
 =?utf-8?B?eERTdnJFa3hUY2VqZ3FlMkY4RGdERU8xcEJzcGhQMnlwRjhJMmxUME9VRGNr?=
 =?utf-8?B?K0FBdmZRRmtGRmUwYlY5eXRjdzZkNVpVNy9GeWFwWFA3NWswMXVuL3hIOU5T?=
 =?utf-8?B?aVc1akVURDI2cm8vNGl1TEVrNEFPeDBZTGF3MjJvM3puN0tNUnJoa1lBVTQ3?=
 =?utf-8?B?cDkzOFJteE1uN3pNSUc0TVVVRm1vVHdnSEVDaE1jTkVSODBmNG5oUDgzQU1a?=
 =?utf-8?B?ejA5QW5SeHk5dkllNFBxdUUrbytqUTJia2QrbEtjZFNyR05VTFZCbThOaXNY?=
 =?utf-8?B?ejdDU2hyb2VWbTRycVRDOG9lenA3QmthU2NlTTdkSStzWXJFQ1ppVFV0UFFM?=
 =?utf-8?B?Y0RhcWR5TUFjNE5TeE1iaWN2bU9iWEFMZ3E3djUzUnp3THdRdFAzMWhlLzBz?=
 =?utf-8?B?bkxDd25sdE5Cck90RHhYYUJqWjEwZ0Y4eEQ5aGc5RXBhKzhKRkdsRnJxVUVj?=
 =?utf-8?B?TitOUDMvaEtsRVB2enNpdDJ1TmR4dWdKRmNseFpJOTZCR3ZCTG9IaDJTR1dF?=
 =?utf-8?B?eVZMaVlTUHZOMXpNT2JTaXpkY1FlUzR3ZDltamdFcWhJcjBLNm4zd0tsTyt6?=
 =?utf-8?Q?1W/JB+4aDktUmL+FQW2xKJyNG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 42f66a69-b1d6-4f6b-2078-08dbea6fd09a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 08:56:56.6709
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hA/JcIp5n7ABAd8vkc0lXhhlcnsVzQIS8G8wMoGPTQoiWUz1hiollC9oXyp7xEd2BnlWSb61YpzcvihVNivfsw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8666

On 20.11.2023 20:57, Andrew Cooper wrote:
> This is a micro-optimsiation for Silvermont microarchitectures, which don't
> recognise the 64bit form as a zeroing idiom.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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

For my education, ...

> --- a/xen/arch/x86/x86_64/entry.S
> +++ b/xen/arch/x86/x86_64/entry.S
> @@ -1027,7 +1027,7 @@ handle_ist_exception:
>           * Interrupted guest context. Clear the restore value for xen_cr3
>           * and copy the context to stack bottom.
>           */
> -        xor   %r15, %r15
> +        xor   %r15d, %r15d
>          xor   %ebx, %ebx
>          GET_CPUINFO_FIELD(guest_cpu_user_regs,di)
>          movq  %rsp,%rsi
> 
> base-commit: fa2da5bce90b3777aa7a323e1cf201c97b56d278

... while I understand this, what ...

> prerequisite-patch-id: a9e4e1e34d08e876d1fcb3299c6d563086768722
> prerequisite-patch-id: 703590f2c99382f6509c94bb5955f47ab2d7c57d

... are these about? They look like they would be naming prereq changes
which aren't committed yet, but (a) base-commit names the tip of the
staging branch and (b) the hashes would be meaningless without a repo
reference if they pointed at something that wasn't committed yet.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:03:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:03:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637592.993517 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Met-0002JG-Bn; Tue, 21 Nov 2023 09:03:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637592.993517; Tue, 21 Nov 2023 09:03: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 1r5Met-0002J9-8x; Tue, 21 Nov 2023 09:03:03 +0000
Received: by outflank-mailman (input) for mailman id 637592;
 Tue, 21 Nov 2023 09:03: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=zFE0=HC=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r5Mes-0002J1-Di
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:03:02 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5dc9f98-884c-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 10:03:01 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c873cf9f74so40309471fa.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 01:03:01 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 u12-20020a2e9b0c000000b002c0055834b3sm1206603lji.4.2023.11.21.01.02.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 01:03:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5dc9f98-884c-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700557381; x=1701162181; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=rkqE2vAMpCme+7MSuqc1jcHLQoQnu4z8xbZxABhX6II=;
        b=OEBVa4xO6ayJv+LSRtbS0VjVU9/y8m4gp9fh2yCOeJWT+VCNjxmeEmpSVfoeHgJNnM
         L5hSCzXdGvbn7Z0VqUlTflEa9jJ2N1bTtr+B9+k9/AXawPt2LqaygR15uDpyUq47iF0Y
         atxE+J8kj4X1aLbXS8AUnbGPnYFe2Ohlym+oWwRuKoykDin+hDcoSUYvwI8v4mZQrYDA
         1QqUv+x2cugN/sUxgONHjpEGlvVYGEJWsOxUURJ7KsViM1+5fVwAsnBuwhXLdS2T2G1F
         jB5fhEoPXBLbLa14qMdMasHusSu225Tyl0nUd6ndgbDyR7ANEQAM9qOCUOjVo4Ok4n1Y
         JATg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700557381; x=1701162181;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rkqE2vAMpCme+7MSuqc1jcHLQoQnu4z8xbZxABhX6II=;
        b=dqKPXzLrgYIW4+vnb6dsVYDs5+hOubcWcLgx097sboF+MElWzf4o4PFbGKPpCWFUGq
         O+G2oD6Q3BZq+14q9VMT3xFJc/PRWCyvH3Ns2cVxsx/vN3YiDB45SNouov7Hw3uyh5au
         hFHjGg4RFdqCeGaaN6o5lO3bcDmo0B3KLLBXfvRFBEJtqE1PnMrToBHxECKt+HYx9HKI
         JhliK/pSRyOtLi1kHGYcsKhHP6Au7Ul29rRm0R8vslKdocsCcaLFYWCe9w2k41BkPcAh
         hNxkzO4uI548QPHm1GSCx2V/eSPfO3xKcfAIDgHUT/gXN8uJMkK8jEGuXKv9JrE3JTx8
         C8IA==
X-Gm-Message-State: AOJu0YyCOd9NH4yu+EJr5RiLOzvveRtASN/9up3NsvBj+MkMPfvvOmY+
	7F9uky1nJAvbW3SY/1AInLU=
X-Google-Smtp-Source: AGHT+IHNTq2tELsTSglFvRkbrETn5F8AC93pA4qVJv6pqd7hRn+EIupGO8cz9Qyxt/GpxKx1jE3ADA==
X-Received: by 2002:a2e:b282:0:b0:2c4:fe14:a85 with SMTP id 2-20020a2eb282000000b002c4fe140a85mr8333214ljx.18.1700557380675;
        Tue, 21 Nov 2023 01:03:00 -0800 (PST)
Message-ID: <9e31e7fc6f5957b0cdc30dc8937d5dd6bd1d345d.camel@gmail.com>
Subject: Re: Interest in Release Manager Role
From: Oleksii <oleksii.kurochko@gmail.com>
To: Henry Wang <Henry.Wang@arm.com>, Kelly Choi <kelly.choi@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 "marc.ungeschikts@vates.tech" <marc.ungeschikts@vates.tech>,
 "olivier.lambert@vates.fr" <olivier.lambert@vates.fr>,
 "marc.ungeschikts@vates.fr" <marc.ungeschikts@vates.fr>
Date: Tue, 21 Nov 2023 11:02:58 +0200
In-Reply-To: <ED06FBCD-A346-4B73-A88A-E52F8080AF1F@arm.com>
References: <0cb1254f433536a9995c278c919372e226059934.camel@gmail.com>
	 <ED06FBCD-A346-4B73-A88A-E52F8080AF1F@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

Hello Henry and Kelly,

On Tue, 2023-11-21 at 01:48 +0000, Henry Wang wrote:
> Hi Oleksii,
>=20
> > On Nov 20, 2023, at 22:06, Oleksii <oleksii.kurochko@gmail.com>
> > wrote:
> >=20
> > Dear Xen Community,
> >=20
> > I am keen on stepping into the role of a Release Manager for our
> > next
> > release.
>=20
> Thanks for the email! This sounds good to me and as Kelly says,
> please
> mention this in December community call and we can formalise this.
>=20
> > Despite not having direct experience yet, I am eager to learn,
> > adapt, and grow into this role with your guidance and support.
>=20
> I will help on that, no worries.

Thanks for your support. I'll mention my interest in the December call.
Appreciate your guidance as I step into the role.

Best regards,
 Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:16:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:16:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637596.993527 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Mrd-000581-Dx; Tue, 21 Nov 2023 09:16:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637596.993527; Tue, 21 Nov 2023 09:16: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 1r5Mrd-00057u-As; Tue, 21 Nov 2023 09:16:13 +0000
Received: by outflank-mailman (input) for mailman id 637596;
 Tue, 21 Nov 2023 09:16: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5Mrb-00057o-OW
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:16:11 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20621.outbound.protection.outlook.com
 [2a01:111:f400:7d00::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9beca89f-884e-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 10:16:10 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8919.eurprd04.prod.outlook.com (2603:10a6:10:2e2::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 09:16:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 09: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>
X-Inumbo-ID: 9beca89f-884e-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dY4UlhtETJ1S3LnIGN6i24XBJh+8UZIzulqqYdtvX8y8sFBdsIAyXZVe0+K25A2+dyYTRpIuZtcpqYFbH3N3/1mxRyMD3I/PFyheabjT3bq0DCfsPsKlU7bPWwRkFpzTkiWRJHLGJe4BfLqO57cGOeRGJCTCKVDwNpW4bn/JewXPj9mYNCCTAcI+wrkSziWzeHbxnxJz1a91FnNPA/kGwFbAXXRtn5BXOpvjZ3bVIat9wISpH1IAEhGVuMwbb3cXpdwp5K2bPZr7BoHCyeYso/24O5MyRZD9faWr6ymZgAsRoNm9E7iJytmaVkMB6cwNzZescZTIY37rcEE1yguTHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/E1Rie20joB8kbv7MDueDirxr1Pd6jAGY4z4G6Jd23U=;
 b=fVkafofqpP9XF2F3nHHxjNN7Iqn99rC2FOM5NdQx3vPBUCOzKt9aA7TwNNiPBYCA7LtenYgwC24by/BpwKqUSWS1sa4X3cwpaJJ2qZSHO0Y6haFvzSAodTg2FEYZJoUIOKrBlOXcq6TDoPfO/CB/rqFWtjyRc/UR9aCYUYX7w4MeRZS/j2BEa2AuiLmtx2HFHisfQ0v510MAOFWD7xKzSiGXiNK+vtdQN3r0nlYnG0F2nRahF7klHZyEp0iju7Gt5ZT1YjFX1u/zumfZbZNyY4PM5OCLBrZ1ddIObiOZeuRmPi3OktcZqsz+SE3a51l9wbu/zWGxbgL4rjFtteNUnA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/E1Rie20joB8kbv7MDueDirxr1Pd6jAGY4z4G6Jd23U=;
 b=micmiNY6nhwuTymhkGFdFB/0laei6wpODcnxGQUl58SsMX7MXPbg5s8wiBcKdK+3qkKjUEdwByr55vyw6MOJQNasRxIHFVJvox/JelvmltV74wEVEg55B/EEoBc4iydWSmpP+je127irOJECf2kvXA9ekdhHC1TRb0UOMZo4gExQVcH+po9CPcuwCDRpQbe9Zqu81yE/mk4YnIZ57xv6++dMlpbJWiXrLXoL82NetTBgxBKxHTSlHs7SIfYehTVfgBTjZn/fGNzufYVUIiYVORt5LZ8uCPjzZUKF4CHsgGOE7vTWPY5e1raP6bZn9ORKTHnadDo32CV4CEgUFd4k6g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <732f722b-fcdd-4a69-9c32-5c306e81c998@suse.com>
Date: Tue, 21 Nov 2023 10:16:04 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>,
 Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0202.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8919:EE_
X-MS-Office365-Filtering-Correlation-Id: b9d780ad-c067-496d-7861-08dbea727e4e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wck4LrIZWyKOLmNnDetFdy8FJ+R7GA7cQbcPcBnAqM9BoPlYCY7loEIWd5YlKgmrOAwKfgRbRAtsoVEzr2kiiAivq88qULyW3lggjbFg9hzfaN5XiryHnrdmNmx78MGfDcgokVIdWUg9MsB84jm9wykpAzPaptTZSUX6FPQf+WNtjjNnKeEs/CSTi+kqgSSEX09wtKIOakQWBG7cJ+KvAZQHfcp0Ld8DuRutfi+zMaT1C2qrxiQt5yNZkqvWySaCWIzlLjf0kpbzuj7HZZLqnyIU+DfdANxyorwTxBp7t1GykH1JLidJAIB53viDnITo8rxKaYqMzRkQBa29YeB7YiCGCo2vZBIKG1zjrA+YbYjKMHYo5Wm7+tq0ztybQrgcW47kC7ju8FrWBINzjxy8ogS5WZwrFTIn5s8O/yvxBYvJBTXCKv23WQaCJ9CBJ4VFBptqjsOm5yB2bxHBaqvnY4DdqgE37rYZ5pPSUX+2h7sOJRJxD3Wq7YrLIdtKfQeSn6/llnPEY3s7tbop3u/2hVHGp+BdcU4iBwvvUBsLSn/L73PyPJWiQVNp1bV4O18fMyc5W8nUjKphRyNgXt+s9bq6DH/Vt7bmT2b99GLpu/ckc9a4PnTuvp91ZPRZ7TIA9vP8tiQ2Ai/6o/UgJCuL4g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(366004)(376002)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(41300700001)(36756003)(86362001)(5660300002)(31696002)(2906002)(4744005)(7416002)(2616005)(6666004)(6512007)(6506007)(53546011)(6486002)(478600001)(26005)(38100700002)(66556008)(66476007)(31686004)(66946007)(6916009)(316002)(54906003)(4326008)(8676002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWhDUTA2NXVaeFRFanBWN1B1RUpRSUZiSlhVWWY0WFoyV01uSnVia09SY1VT?=
 =?utf-8?B?cC9jUktRSjlxQ0NXemRJeHR3WVZxS2xzbDNKT0JYdHZoZThUbDBLTlcrN1pq?=
 =?utf-8?B?QitVckJ6SDVFNVhONDBFNXdVRERsUGREeUZESTd4Q1laTVZQVFhLL2dUcmhh?=
 =?utf-8?B?TElrZlNVckhrdzVyS2Y4OUVaU2hiSGNLK1pyeVdHeUtnQjVmWHllT1dyVU9L?=
 =?utf-8?B?UDlyRlk1TTVLbi9VdExBQ0lscEFDMTVkcG1TRFhmZWYrcVFCSXlXdG9OQ2JQ?=
 =?utf-8?B?RDVoK0NCTm5zT1p0bDk2SVlZNWJtR2EyQ09paFZrekVjSnluYVNzNkpsVkJt?=
 =?utf-8?B?elJISUVSb0JSQWZUVzl6S29SckY4K3FBek5PNTl3VXl0Mm5Jbks1TkpxL3BO?=
 =?utf-8?B?NCtGNlRzVTJyTEVhLzVSa2FHcFRFdDh1NjVRSzI2U2tOam5QVVBvOHFiaWts?=
 =?utf-8?B?LythdVkrKzYweENzWVZ6SmxRYnBBWUNvTExCMkhkVG04ckJzUEt0dUlkNkYz?=
 =?utf-8?B?VzFvbFpRVGlaNncrSXpqY0FUOWtVemdEalo2WEZNNEtPUXNqdXRaQnJPMUhY?=
 =?utf-8?B?bHNmTjN2c1NTUEprbTFGRUREQUVVV20rS1dETy82bEtOTHNWam1CTG13cVpk?=
 =?utf-8?B?NzZEYm5TTmNBSTFnMXlYeWN5cXZvSVAxY01iYVdxQTAyd0pyRFBFZkdkdTVH?=
 =?utf-8?B?Y29Ic2RIMXJNRC9xalFkU2luSXJEcEw1MHJDc2crYklCUkY1bUp5ck5mUlFx?=
 =?utf-8?B?aStuY0ZSV1VpTzA0ZWl3ZjZxZ2pKNjBzeUpLYVNOMHRCZENuVjY5V1RINWlE?=
 =?utf-8?B?WS9FZHpvaERERmJHR0tIWFRLbUtvQWhSeklOR0lndHBCQkFTZ1hzMCtLSjN3?=
 =?utf-8?B?ODlndWRLeHBlMERxR0JFV2VnU1hMbCtzajBKdSszblFKTXdhMERuNGlBNm5W?=
 =?utf-8?B?a2VNZ1gyMExVL0RQb3dtbnlqb0NoZmxqd1hodGQvS3lKNXhvZzhhK0NZRk9L?=
 =?utf-8?B?eEF0YlV2eEJkSVV4NkovL2g2ZlAxRXBJai9OOG80YVBpVElPVUhnSCtRQlBy?=
 =?utf-8?B?QjR6N2I1ZzRLelJkczU0cmZZTDIxTklJREJmMjYxZWZ4ME53UmJlQ0dkaFMr?=
 =?utf-8?B?YnJPaXIyOGk1cGxTSWdpZ2JMZlFBNlBXRHJkQkdQUWxwS2I5Qkwrc1dNb285?=
 =?utf-8?B?WEhsdk9VZXViTGlEWVoybFZQUUFwUUFiYnYrbnkxMEQ4Z1FNaU1ERGoya1Zh?=
 =?utf-8?B?bkZneHNGd3NnMWJwS3ZIdjN0SExvS0J0cWNYVG9hdTlKVHR5Rnd5aHR0dWoy?=
 =?utf-8?B?UWlZeG4zYmFpck5OWlZxdXUyVDdOZ1FQZHd2ZDVEcXIxNnFUdGtYcGxUVytN?=
 =?utf-8?B?a3VZM1VJVTBrRXNkQm1WTXdxOFZQSjZoanBaOGFGSTdqcFMyeVpxS0R6c01L?=
 =?utf-8?B?bDhCWUlZNjRnMit5emtKN21oN0dLUlBNSGhIQk02NzVrZDY0QzNnV0pONFZQ?=
 =?utf-8?B?VWg4V2hTOEkxV0krMndxakNhai9HRjd4anBmL1ZORkJuTUlGQkpybHVSQTM2?=
 =?utf-8?B?OFNKZWUyM05Kb0VHSUpqS1UreW5QTDJsY1FqWDlGM1ZFS1RQbkIvRWgvZm5V?=
 =?utf-8?B?WmFTUWhnazRkUnJOam1VK25MRWNoSmpGUklHckJlNjkzS2pxYVg2OFY2Smww?=
 =?utf-8?B?L1g1eUE3Wlh2UFJKTDZLUmxUbm9UdmlBWnlocUhxbzQ0VzlqOUxyT2g1Tldn?=
 =?utf-8?B?aGE1NDdTaHZRYU5ZdEZhdzExTFlxWDRuWXZhYjVlR2xueGlGbVZjaDBqRnpx?=
 =?utf-8?B?dlMrc0NhMzFqWldmYlBuL1U3RjNHMXF3R1YvSnFLK25ZR2xkNHNaVWlnejV4?=
 =?utf-8?B?Smh1SzQzNWdublZDSmZXZHoxcjhhYlFNdXFkNzZsTFBLZEhhcW45TmUxWE1o?=
 =?utf-8?B?MTdEVndhd1JtU3VwSERWMElvVnV1OXBrcUE3VjZZemtwSVdROVdTbERzRW9J?=
 =?utf-8?B?K0VWNVZ4SHlFenVRZk9RUzV2UjNBeEYrbHlqKzlxVVNYN0xvZFNRU25Nc3JV?=
 =?utf-8?B?K1ZlNUhZdDJqMEJ3SmZObFl2VjVhMG4xQkRHRVowR0M3dHJnc204TzA2c1BY?=
 =?utf-8?Q?KIlfjpl/QbE4g/58fB0IQIfZK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b9d780ad-c067-496d-7861-08dbea727e4e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 09:16:07.2281
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fos6Ha/dIju3GvGn+unnvQ6Rbfu++iQs/8B75dLmRUvBENywVprk+idEi+n3m9MdqzjStJfWRscCQIoPdaaa/Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8919

On 16.11.2023 10:08, Nicola Vetrini wrote:
> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
> by the asmlinkage pseudo-attribute, for the sake of uniformity.
> 
> Add missing 'xen/compiler.h' #include-s where needed.
> 
> The text in docs/misra/deviations.rst and docs/misra/safe.json
> is modified to reflect this change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> This patch should be applied after patch 2 of this series.

Code changes look okay to me, but I'm afraid I don't understand the remark
above, and hence I fear I might be missing something.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:19:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:19:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637598.993537 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5MuT-0006P7-S4; Tue, 21 Nov 2023 09:19:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637598.993537; Tue, 21 Nov 2023 09:19: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 1r5MuT-0006P0-Og; Tue, 21 Nov 2023 09:19:09 +0000
Received: by outflank-mailman (input) for mailman id 637598;
 Tue, 21 Nov 2023 09:19: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5MuR-0006Ou-PM
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:19:07 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 048df118-884f-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 10:19:05 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7972.eurprd04.prod.outlook.com (2603:10a6:20b:236::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 09:19:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 09:19: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: 048df118-884f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y8ET9DJty47f59QxfivFKWjDSqRMUu+gzQUrZrHUr6zsOgxl7Sw8dYzbOQRrNwXhUIGZPgP5bvOBZPfXN8+J/678k53dSQTEcgeZSZ3proGlV6Gucq9Yt51qyYWbA1EwsiUnEJMfY02r7g10IK5q5+Qa/cnaQFANJ0Ukc+rxwBj+3CSWr2VOJBzeqJLHNIHhviRk4eZrZfZMmeoxlMmYCgnwuxljKFsSkybA2OyYfxZEIRLfrErXHCeFFNAq4Y0WEqeIMNRt5A6CgEIy58pTx4v0Cfj0vFmw7i2FuB2Uj8Z/gh5Rjn+ct8mYdtx8lxQs92K8ZqHzQLTHinnbf51ybA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=plSxdD726QpEYDfLtNqC2N8l5l2hj7GgEmui1PqxoRY=;
 b=E/l4PQ1bnLaXvylyI22VC2mIqVDKlWWJ+zlMvpWLC1UzEGLGNaspjb44MXeXmhqmyO1D+zazLO34J12HjV6NNfVqNqSZVx2ldhHLV+nsXkcvGZZvrfqaM6u19j+bRvJuyu6N0ae4QIDMaPlraiU6YFyMmplb+MX3AJxKIGrREJdR64q190dF16e/JTgZnDPstKQpyHN3MjvUCN9+JzmVZ9cc/1zGaWiss0rCwmeVIfo4CZvFqTe6AZV3CTDIhO+NYOtZj2aq12zrkIoptz6Hj1LD9sNbEJvYkPWPiE0l9KgM3sIPiGNMwRs3l0gcBTajSFXOTdMv1+TLrPsqXcByTw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=plSxdD726QpEYDfLtNqC2N8l5l2hj7GgEmui1PqxoRY=;
 b=CWAZ/eIVqS8lJ6ptTQ3agZCN1moZTqaA5aM/WFxcQ/zhEVWxr8wCaCo8Gg0SyTX3SkfRPwXDvjnftJxeHCQ0et2td6Op+6LgmRxrj0AlS2+0ArYD3xMTvqPsdh1sxV201g1UE40+OWW/F8f8/eWBSfYqnzeUmVI9/J9d0h5NJ/rcIguIu8wd+q/jbqUyauNcIwMvoHrswP7wB2GfVfI9HOYSzTDJ6j9hYb+O48TYYngixYREya1qvEJJB9XAqV3MKpZbxRADAu/E9SdTIEUg0Cx/XJaxY0bFAmLObcSmduhuefBEK/A+iieK62rz7O34/0qtgfnP8TiKMT1wze0JgQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ec649a67-63c9-4275-a228-c14dea558eb0@suse.com>
Date: Tue, 21 Nov 2023 10:19:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH][for-4.19 v6 0/8] Fix or deviate various instances of
 missing declarations
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>, sstabellini@kernel.org
Cc: michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>, Jun Nakajima <jun.nakajima@intel.com>,
 Kevin Tian <kevin.tian@intel.com>, Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <cover.1698829473.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cover.1698829473.git.nicola.vetrini@bugseng.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7972:EE_
X-MS-Office365-Filtering-Correlation-Id: 9034ad3b-3a1f-46af-19d5-08dbea72e795
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	JtKxSSV7MgQtelzaE0bfN2BOLtmoldwS+aZ90KaYk7vEck+ALf6X2U6PJL7wFJSti1QOLoavfiCSyT1TPGuZzPAP7Hcad6TjYY7axcvZq8kQzpZG4Hbr3Kc5N9fKaktkWIBtxF5goMB/7zFgBGTf5VJBLLmmmA7+ynZyh8Cn3WXXCzOpvyS3kvNpPvfirF/G/pEvtTs3LC60YKaZPf+WUYO1pCOu6XuvA2daUuxMcz082cITR8LeM/nMGPi56HZGgfkx+PMRecLRxQkHOVBtNoFYOTw2XnPUZEtIz7T5W2//dI/qAXmwoLwW3XzqjKthYn3pWrU/vv9cV4kGjPsshEmweqCENsEWduktusXIXVJnYu1tcGAT4RoP/2hTcYAT/W13BcS1+/bvtT7zVTolcAY3PY0tJdRnuDwO7/wo1Hmm3QulZwX0v9jDyXwoPpFJmg0na91yme9XM9blNL8F9FAkK1r9PJ+yt30nSCSowSvarH/h53edqlJbwMG0kaVgvt4QnDefYGXvuP+6yBtjgY99umP7CCdzUZ3W8by09WMMGFKlCyRjxCkpq2ICMvU34kroaQNGSKCWgZUwTGePAhjzYc6UiJtuUs2w/QelHTZfWwlotTQe4yEUQ2vokfoyS7y41XpGB1Qosmcv/BNM7w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(366004)(376002)(136003)(39860400002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(478600001)(6512007)(83380400001)(6486002)(2616005)(53546011)(31686004)(6506007)(26005)(54906003)(66946007)(66556008)(66476007)(316002)(86362001)(31696002)(2906002)(41300700001)(5660300002)(7416002)(38100700002)(36756003)(8676002)(4326008)(8936002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WDliSWh2Mi9kWlU2RmZmMHkzbVJrN2l1RkNIT1NXeEtzODVwUXpQdnUvZVFO?=
 =?utf-8?B?Sk13a1hpcHlmc3d6K3Irdm8vUXFJZUNQN2FOY1RUMy93ZDU4eEs3Z3lhdlZo?=
 =?utf-8?B?OERQeVFubkRYL2NyazN3TmVUU2daWi9RNWhSR08zbXo5Q25FUlowN2RSeVNm?=
 =?utf-8?B?Q2NIbDRCenBCVlF4dERGMVcyTlgyaDZFd2tpa1RjSk91WEZ2SWhlaG9DRG5V?=
 =?utf-8?B?TnlEU0pFUXI0SUd6Y2FoZlJjak1KVWNGVTRNc3hNR29VTUMzQW1yK0J5YVBE?=
 =?utf-8?B?Sk9UOTdheEE1dWZzUytuQXpBRkQ3dm53SWlQcXJkM2FZcmw2SjBGMCtUaGNr?=
 =?utf-8?B?UnJvZlpkSitPbkdNWTM3c0tvcGVTOXFkM0FybDUvTlVJMHg5N2h2c2wwOE1M?=
 =?utf-8?B?bWR3bTN6ekd1YThtZHpBVnF0MDhWQWNBdW16R0k1QjFUTmliTEVncEFWWXJ6?=
 =?utf-8?B?dVRIM3B3N0N1Y3dLdkNVZmJxWWFPVnRwQVoyQTVheW5EdUVxbXhiUzVDVGhs?=
 =?utf-8?B?QW5saGRndDI1TEpDcHVrdmhtNUJsdGliWHlHVzFqRk42YTVHYTEweHM2M2Q2?=
 =?utf-8?B?dk8yKzZCYTRrdGtvZkFQSExROEtrUzdrNy9OMFNKNGd4NHFjV1JpRm5CaXJR?=
 =?utf-8?B?SWZibGZjVU50Y1FLcktheGlOdVI3OUJhcENHck13eElUNlRsZ3BrQ2V6dHFP?=
 =?utf-8?B?ZzViZ3hWWHAwOU1neVFQd29HVHdtYlhPdFR6OVdOamJUdngxNW5LcDkveWtm?=
 =?utf-8?B?Qm5wTVNyamJnMkxEWVJYYlZFdlNhV3QyR2N5b2xwZmF4bWZlaFZpa0w0bWFx?=
 =?utf-8?B?eFFtbnJkY2dRYzZZRDdFVDBvendnZzVjUzhIejNTWEwrMit6aCt1Q0FjYzVt?=
 =?utf-8?B?VzFJbEZFRmJlOHdrbGY2WC9GT3BMNUpqYVI4aGRWTjl5UVdXdHZseXdSb290?=
 =?utf-8?B?Y1A0emcreVdvK2hoZ25sSUNVRUVTMUt0cDVtOXc3SzA3SUtPeVUwRUlNVS84?=
 =?utf-8?B?bUMzcUlZTHgyL3h5Z09LakxvUXpWallFa0I2dWdpWWRQcHczT1BIeHRXRlZC?=
 =?utf-8?B?Uk1PRHh3SHhvT25mNFBiY2hlZDYxYzllY09vRVBSajk0aDI2cE0wNHE1bjlL?=
 =?utf-8?B?TlNxZ0tFVDJFSVloZmVoRUFoMU03V25XQi8rU2JKS0xlMXVEYU5OWWR3Nzcz?=
 =?utf-8?B?YU5GbWZHNG1memhWR1dkY2JqbFFvdDd2TmdjaDQ1Um9zSVkyR0h2cXVBaXU4?=
 =?utf-8?B?aysyMkNQemg0R3ArM2dnYU1BM0F6dU5Ka1Nma0ladGRQZTkrNk9VdXdNa3Vq?=
 =?utf-8?B?ZjQ5WVB3NjJDMktQTjMvdVhINktGcitmcUhaZGx3VzFoMEYyMVVlelhUQjRs?=
 =?utf-8?B?YTVZU29mOVBaNENqcVVFRzVKWXI3SWRHVi90MVp6UDlyWUd4T3dLMFlBeURZ?=
 =?utf-8?B?Y0s1eG4vby8veStmdEJLaDZ2c0VZeThCUzAvai9hZmQ3TDViRWlmYlJPbm11?=
 =?utf-8?B?N2tKbFZ3TTdQT3BYazhxbEMrMHhvVXkzeExRYXpYYWlKTFRja2huTGZ3d1kv?=
 =?utf-8?B?QUVaaHlET3plYmJGMkNQODkrQ3ZqSzV3RGlHMEllTTRvMDlOUnQrcjZDWEV1?=
 =?utf-8?B?cTFiUGtpMTM4VFd3OTJlaHU0SHE5QUZaSkxSUFBHWGNhazZvMmsrR2tyVitp?=
 =?utf-8?B?ZEZEblZLaUZUSnYzMFNyeXlMZ281MjFZQ2JVTG15Sisrek4wejR4VWh1WnY2?=
 =?utf-8?B?eXpZLyt5MWVBbTNTUGliQ3dseTJyeFFQdmpkbklPY0VYTFZOOW92aVh2YXcy?=
 =?utf-8?B?V2F5cmNaRkdHNUJXVDJkSXBpTFljZFpldGlCWFpFd1lFSy9LclVtU1k3Tmlv?=
 =?utf-8?B?K1RrbG1yajFFd3BrN1IwQlJEVzJGUG9rMUo0bjYvYnE5M3hmbmM1MHd2dmVX?=
 =?utf-8?B?ZTFKamk0WTh1eHRWYUZFQ2lwU0F0RGNURUZNOVhHeDRNRDVTYUxObWRHa3M1?=
 =?utf-8?B?R2kxWXdjNVhXbURpRGgvd0xocTJ2MWkyMTFUMmJtZUJpdUlobFVCUS8ySEVr?=
 =?utf-8?B?MEhXdTlJa1ZTTVJUU29HL1JXWWpHWWlJRVVTTVhCLzJLZzc4S1hvaFBaTDEz?=
 =?utf-8?Q?3UB9o8yOkLh/zWluHgGIHnUB5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9034ad3b-3a1f-46af-19d5-08dbea72e795
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 09:19:03.6616
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ktm75nt8F/R0xjstJ53imNDrOZ0k7KFgxBOksVHReD/Bp+s4iwb0hwXMxKXUy5JffDK32chqHGPXUqf9zwGfhQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7972

On 01.11.2023 10:30, Nicola Vetrini wrote:
> The patches in this series aim to fix or deviate various instances where a
> function or variable do not have a declaration visible when such entity is
> defined (in violation of MISRA C:2012 Rule 8.4).
> An exception listed under docs/misra/rules.rst allows asm-only functions and
> variables to be exempted, while the other instances are either changed
> (e.g., making them static) or a missing header inclusion is added.
> 
> Nicola Vetrini (8):
>   xen: modify or add declarations for variables where needed
>   x86: add deviation for asm-only functions
>   x86: add asmlinkage macro to variables only used in asm code
>   x86/grant: switch included header to make declarations visible
>   x86/vm_event: add missing include for hvm_vm_event_do_resume
>   xen/console: remove stub definition in consoled.h
>   x86/mem_access: make function static
>   docs/misra: exclude three more files

While I committed most of the patches from this series, the situation with
patch 2 has become sufficiently unclear to me, such that I refrained from
committing that and the dependent patch 3.

Stefano, assuming you know what exact massaging it wants done while
committing, please can I leave that to you? Or else there may want to be
a re-submission.

Thanks, Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:45:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637608.993577 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NKF-0004i5-M3; Tue, 21 Nov 2023 09:45:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637608.993577; Tue, 21 Nov 2023 09:45: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 1r5NKF-0004hy-J9; Tue, 21 Nov 2023 09:45:47 +0000
Received: by outflank-mailman (input) for mailman id 637608;
 Tue, 21 Nov 2023 09:45: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=rqtY=HC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5NKD-0004CN-TT
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:45:45 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2060d.outbound.protection.outlook.com
 [2a01:111:f400:7eab::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bc620642-8852-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 10:45:43 +0100 (CET)
Received: from BLAPR03CA0066.namprd03.prod.outlook.com (2603:10b6:208:329::11)
 by CY5PR12MB6573.namprd12.prod.outlook.com (2603:10b6:930:43::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.30; Tue, 21 Nov
 2023 09:45:39 +0000
Received: from MN1PEPF0000ECD8.namprd02.prod.outlook.com
 (2603:10b6:208:329:cafe::43) by BLAPR03CA0066.outlook.office365.com
 (2603:10b6:208:329::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Tue, 21 Nov 2023 09:45:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD8.mail.protection.outlook.com (10.167.242.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 09:45:38 +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.2507.34; Tue, 21 Nov
 2023 03:45:37 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Tue, 21 Nov 2023 03:45:36 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc620642-8852-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oFZsSNPkl1Kxpv75CybbHDRm3RLYKhnMsGTAcEFvUk0WfU/Fr8qB54ugtpjf916L4Ft2UcFxo2WtfI+9Q8EHTqlkQYvvk2fEOOf1Rb1sQkJOol+lXRkr2UuaOITEV5Ma6efvaqx3o1pgmgX2ArZlCitCIeESxvCBexYW9K6Fymnv4+bvbNX1+5KODyj57Q7y5SCYSNDeQPoFS6iSrqH8+MnRyOrc3DX4LgNqpmTOwkG9QtUvWLpQ+29emwWyrbSOxmiTqvAXiFIH1/J42pC90tXlZLKof6cIpU8HmyJtJvbSF9noujH1VbARJN6CTddmfwpGO8pEgURFi8ntYzjL4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UQB4kMys3NHsmr+0I1e6qowHc6xEtQRyK9lAZRDr8Go=;
 b=UF+35IGjIAt0AxDOYdmEv7tBOSV3Mu46O1OCznaOcc/1K0tw+EB3p8ppZNNAuAJhmcvEPbn2rFNccdhQyyYrhdfypyFS3W8y/hr2OHbh48TalcvYg8bJ159fpAmvtdN427YQfk09neOlPQiRQcS3kT0AD+qgD0yroIrs64BVbapBBlj0crEVwKMQ79UcvVzsfMUc5VU10IE3ncVZJprc+PacJWEZwVSzitUfVSndbQ/4EGx+HBhJR9ebKW4cPoIaRa1Ewsfn9EwNsTOgfnfStRgAwyHN6lvv2ofUSn8wdg4KWg4u0Eo3f0kNz/HGcEt5f8HCxHv7wgMlH9Jg7wp4EQ==
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 (0)
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=UQB4kMys3NHsmr+0I1e6qowHc6xEtQRyK9lAZRDr8Go=;
 b=mwNwugPZ2eiMBae1mhS1F/mdDnW2Inl8VpYH/kbsruX4Q0dBB7cHqoyB1EiVH7TwLEDSOGkZgpJl/MwrOkccABRXGs4KLVb4esH9qqSc5NUo01sMCcNww851FGswiO9kOMrpqvCMZUaV+STZN5roYjO69SXqC2O7E7rL6aYKBfY=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 2/3] xen/arm64: Move print_reg macro to asm/arm64/macros.h
Date: Tue, 21 Nov 2023 10:45:15 +0100
Message-ID: <20231121094516.24714-3-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231121094516.24714-1-michal.orzel@amd.com>
References: <20231121094516.24714-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD8:EE_|CY5PR12MB6573:EE_
X-MS-Office365-Filtering-Correlation-Id: dc33c694-241e-49db-7693-08dbea769e6d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	meXwaICaO/p/gVP8HBStiSRKhm5FpCLVmw8OJKihTTzE46EeXbPiQS5jr+Rq4RiAxAde6R/iVwJCMRP+Se1aGM/GWlhd7XMgkOnX/FO4a0I2MgtHfPOBNVTTNVQ05MnU+ATB9IH6N0xB1swgaO7A2qFqkD1xWvOBIIODJuAzaysUoO6rnFQPdjlNLp+BjVf1vhFl/QSDFdSPTQbyH15kTpYIbIwVmvHIh8EaN2R/GpGnwlfBGSa6joALDI6eHt9Q7Ep1A9aTtkXeuy4c8KIySTpPeMiIYa30SoH3ocJiGKd8V+WaFbEFIscMiwT4aidOS24m5jk8c/yYBCDsHFEn25vrXHqLYamxq9KTlz4zUYrvHbydD1DuXZzR04ZOv0UkUdJTVga1irtEq/WHWKoxDE301PVfD1pSvI1hmuX8o3jXxZh/xFldv/8yhQJ6NJ13d6BY6ENVn0nRLKiat80297AHrSTR8VeLZkEIwBU9Xi82t3zgWkL5OQgoYCEOhuoO7Vbbt5X9E2/3QIYLU7NQ68Lik61zlsCmz3Hpp8SE1aFRFC0ggWboStelWWGGnHU0gQz2yfJBvFssslm+6NwzlYnM+6ES2D+5cYq0E25FUJ3HQi5rV/9VMNk2MTRbdSbI7u+UIYUCHE76jd7eElioT2SerzHMJ48k8Mv+vU6F/Px24fGh+a5SoKfdZ+Cee/AWtE+aECd6nF4e/drWk5UVyIpq54ETNjL9GCg3Rst+7ALV52wE2L9lsau7yF2Wkv3malIiKF/ed4mAFG1XqS5gTA==
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:(13230031)(4636009)(346002)(39860400002)(396003)(376002)(136003)(230922051799003)(82310400011)(64100799003)(186009)(1800799012)(451199024)(46966006)(40470700004)(36840700001)(356005)(83380400001)(478600001)(81166007)(47076005)(36860700001)(2616005)(6666004)(1076003)(26005)(40480700001)(82740400003)(426003)(336012)(54906003)(6916009)(316002)(44832011)(70586007)(70206006)(86362001)(5660300002)(2906002)(41300700001)(8936002)(8676002)(40460700003)(4326008)(36756003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 09:45:38.7134
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dc33c694-241e-49db-7693-08dbea769e6d
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:
	MN1PEPF0000ECD8.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY5PR12MB6573

Macro print_reg is used to print a value of a register passed as an
argument. While today it is only used from within the common head.S,
in the future we might want to make use of it from other files, just
like PRINT(). It also serves as a great aid when debugging.

Expose print_reg macro by moving it to asm/arm64/macros.h and:
 - rename putn to asm_putn to denote the usage from assembly only,
 - use ENTRY() for asm_putn to make it globally visible,
 - get rid of unneeded stubs for early_puts, init_uart and putn since
   the calls to them are already protected by #ifdef CONFIG_EARLY_PRINTK.

This way the behavior will be consistent with what we already do on arm32.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/arm64/head.S               | 32 ++++---------------------
 xen/arch/arm/include/asm/arm64/macros.h | 15 ++++++++++++
 2 files changed, 19 insertions(+), 28 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index b6111399e766..a3dbf81ab515 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -74,25 +74,6 @@
  *  x30 - lr
  */
 
- #ifdef CONFIG_EARLY_PRINTK
-/*
- * Macro to print the value of register \xb
- *
- * Clobbers x0 - x4
- */
-.macro print_reg xb
-        mov   x0, \xb
-        mov   x4, lr
-        bl    putn
-        mov   lr, x4
-.endm
-
-#else /* CONFIG_EARLY_PRINTK */
-.macro print_reg xb
-.endm
-
-#endif /* !CONFIG_EARLY_PRINTK */
-
 .section .text.header, "ax", %progbits
 /*.aarch64*/
 
@@ -493,11 +474,12 @@ ENDPROC(asm_puts)
 
 /*
  * Print a 64-bit number in hex.
+ * Note: This function must be called from assembly.
  * x0: Number to print.
  * x23: Early UART base address
  * Clobbers x0-x3
  */
-putn:
+ENTRY(asm_putn)
         adr_l x1, hex
         mov   x3, #16
 1:
@@ -510,17 +492,11 @@ putn:
         subs  x3, x3, #1
         b.ne  1b
         ret
-ENDPROC(putn)
+ENDPROC(asm_putn)
 
 RODATA_STR(hex, "0123456789abcdef")
 
-#else  /* CONFIG_EARLY_PRINTK */
-
-ENTRY(early_puts)
-init_uart:
-putn:   ret
-
-#endif /* !CONFIG_EARLY_PRINTK */
+#endif /* CONFIG_EARLY_PRINTK */
 
 /* This provides a C-API version of __lookup_processor_type
  * TODO: For now, the implementation return NULL every time
diff --git a/xen/arch/arm/include/asm/arm64/macros.h b/xen/arch/arm/include/asm/arm64/macros.h
index fb9a0602494d..d108dc3a3a71 100644
--- a/xen/arch/arm/include/asm/arm64/macros.h
+++ b/xen/arch/arm/include/asm/arm64/macros.h
@@ -45,9 +45,24 @@
         mov   lr, x3 ;     \
         RODATA_STR(98, _s)
 
+/*
+ * Macro to print the value of register \xb
+ *
+ * Clobbers x0 - x4
+ */
+.macro print_reg xb
+        mov   x0, \xb
+        mov   x4, lr
+        bl    asm_putn
+        mov   lr, x4
+.endm
+
 #else /* CONFIG_EARLY_PRINTK */
 #define PRINT(s)
 
+.macro print_reg xb
+.endm
+
 #endif /* !CONFIG_EARLY_PRINTK */
 
 /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:45:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637605.993546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NK9-0003x9-Td; Tue, 21 Nov 2023 09:45:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637605.993546; Tue, 21 Nov 2023 09: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 1r5NK9-0003x2-R9; Tue, 21 Nov 2023 09:45:41 +0000
Received: by outflank-mailman (input) for mailman id 637605;
 Tue, 21 Nov 2023 09:45: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=rqtY=HC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5NK8-0003ww-Mj
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:45:40 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20626.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9c8fc30-8852-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 10:45:39 +0100 (CET)
Received: from SN4PR0501CA0017.namprd05.prod.outlook.com
 (2603:10b6:803:40::30) by BL1PR12MB5780.namprd12.prod.outlook.com
 (2603:10b6:208:393::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 09:45:36 +0000
Received: from SA2PEPF00001509.namprd04.prod.outlook.com
 (2603:10b6:803:40:cafe::d4) by SN4PR0501CA0017.outlook.office365.com
 (2603:10b6:803:40::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16 via Frontend
 Transport; Tue, 21 Nov 2023 09:45:35 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.13 via Frontend Transport; Tue, 21 Nov 2023 09:45:35 +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.2507.34; Tue, 21 Nov
 2023 03:45:19 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Tue, 21 Nov 2023 03:45:18 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9c8fc30-8852-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P/40THl0N7xPzy46O7eH/PGV2aN80eyqWlV1RXL1Iw5z07wrlLOuGO4oIR8PMR85oTiTOBmsVV8C2vh7+xAhwTXi+anIqrIpIYst2uGL+Dsajv5jzrxN75vzcKp1jnKDR/BxiF6lgCLvVRvcXY8f45p82sE6dKYNKfatSIOamlamoCOMShf32Qk4Giit7QFBnE5VIWZELF5BuptknwUrfEFsxXO5vcgckPoiHOFB34FgpMyNgpdRV/gfyeyeqObJX+kJMh/xGGkRdcsQ9aIzb7cWkZelmDXByWaCIGHh2E0kq5sQZ27dfSHib41jO1vYfIXvOKq3bGPGUOmBv5vaJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cd1z/kiXuVHj6ejWQQOTzFWBSK5cwd3D/NCuyKV1pGc=;
 b=mOKb5fEd/OAMtn2NqmARTDfa8181GBFZ3AVcD4jIjb305axXIx/AWQPyOQwvE2NUHWkKpQMxMyGYzn/QIAJ021pvm+kQqE62WzEDdi+WV5SIIaP4LnboQblTn3zLssXoD0WXsCqYQtFCcA8/xJBmy+gEIVLGUryHzw14QRyKan2Fhj12ZF/SyZig8qAJfqy+IWtwYs29Q6VcUc9U2MBsyJY2c7+RcD+ywxz04AtCmPfwyxehZAHSqnDzYoSRCb8T0MiHEcdLsnZ9QlpJS3f05f/ZpqqW2LaPw7SVzfSGqwHD9QVwR5OoqHTvDRnmcs0dMTNTHcV4NU1vVwLbtqh58Q==
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 (0)
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=cd1z/kiXuVHj6ejWQQOTzFWBSK5cwd3D/NCuyKV1pGc=;
 b=BoiTEP1LRIQJ728kujnqFfAJhjdI8GpBev5WDb3+By/cLxQZjFNL/8CCBn4e+sqkoAefpa3QmV5QLDCM365KCbj221D26LeqFXiPLTG45Z1cPsnWyOS3BK4LfpT9QnoXCymxvRc3TBxYk266fSKicOFbIUk/RYT7BzcogXgWiCw=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/3] xen/arm64: head: misc cleanup
Date: Tue, 21 Nov 2023 10:45:13 +0100
Message-ID: <20231121094516.24714-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|BL1PR12MB5780:EE_
X-MS-Office365-Filtering-Correlation-Id: b12c9ff2-4d16-4ddf-b0a9-08dbea769c5e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TrTNCv+VVHV5lJNJ0xSmDq116JCA0LdAcICnp1tp1fptVC2+ZEdECJXq+BHEfRs/Pc3V0RR0Th0pP3Txi1E9sQ8r4g0imfuUAUUevAPZepH23rriAnmWK7WENK4vEPSr1YtOthYP8Crw8/XY2dfeh+bz0VI9z88RHLV5Gs/73nn19tKBPwVhiTwA04BmIbsTMu+Nyqr7+iMA4Lk+0N9FY8MeFY2Z7LRzrzptS2kmj/sN4mEZbno+EDUBAUctw0mh7WiRjSHkJcitk48a55PUuJAr3F+ak+/7jjyWF058FcSFnOzhp0tBXqXdxHvttYfYcXWFDOpMKxZhDgMVh/R526I7Qt7hIh1HLZ4WM3tE6lhKf2X/3jIqC2arKXjHF9Ro4hovJ3LOu2RILjwCGS6BZtND3pJq/cK8AwnSFKpqgmOQscHFrQZ7ywHfYdkWB4eldLNEKie5lmNbbFDyC22FeOHKPLxiYka03Slc7sIquVfOQ522hSDpaqpmUaMEGxiZNOZ1AI6dMy3iPcPSDAj9pjJebp9Q2JAWWdzABCv26Yz77PQb05X/O5lTDoR2wfwkNH4m41XFNLCJuqz6GWGnEV5fRT1qShWQU1UsNBIcEveIPRuI/qbuKRfCFuIv1yXoTPonK8GFo+n/tIn9rEs4zMfFdNv0qaA06PCQ+VOud/jIoZZmCfQmXl8uDXscKU19iyBI2vOjw1K17rwx6q25D+RhTHScy+UewtLQKDo5QbNy4xQ3xwizQQfhOXwvgK7gznnfmOGgvDQZPgPEWkadYg==
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:(13230031)(4636009)(396003)(346002)(376002)(39860400002)(136003)(230922051799003)(451199024)(64100799003)(186009)(82310400011)(1800799012)(46966006)(40470700004)(36840700001)(40460700003)(1076003)(83380400001)(426003)(336012)(26005)(36860700001)(41300700001)(8676002)(4326008)(8936002)(47076005)(2906002)(4744005)(44832011)(5660300002)(478600001)(6666004)(70586007)(70206006)(6916009)(54906003)(316002)(36756003)(81166007)(86362001)(82740400003)(2616005)(356005)(40480700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 09:45:35.2923
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b12c9ff2-4d16-4ddf-b0a9-08dbea769c5e
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:
	SA2PEPF00001509.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5780

Some cleanup and improvements for the assembly boot code to make the behavior
more consistent between arm32 and arm64.

Michal Orzel (3):
  xen/arm64: head: Move earlyprintk 'hex' string to .rodata.str
  xen/arm64: Move print_reg macro to asm/arm64/macros.h
  xen/arm64/mmu: head: Replace load_paddr with adr_l where appropriate

 xen/arch/arm/arm64/head.S               | 37 ++++---------------------
 xen/arch/arm/arm64/mmu/head.S           |  8 +++---
 xen/arch/arm/include/asm/arm64/macros.h | 15 ++++++++++
 3 files changed, 25 insertions(+), 35 deletions(-)

-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:45:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637606.993557 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NKD-0004CY-7g; Tue, 21 Nov 2023 09:45:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637606.993557; Tue, 21 Nov 2023 09: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 1r5NKD-0004CR-4R; Tue, 21 Nov 2023 09:45:45 +0000
Received: by outflank-mailman (input) for mailman id 637606;
 Tue, 21 Nov 2023 09:45: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=rqtY=HC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5NKB-0003ww-L6
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:45:43 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e88::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bc1b9a9e-8852-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 10:45:43 +0100 (CET)
Received: from BLAPR03CA0071.namprd03.prod.outlook.com (2603:10b6:208:329::16)
 by PH7PR12MB7938.namprd12.prod.outlook.com (2603:10b6:510:276::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 09:45:39 +0000
Received: from MN1PEPF0000ECD8.namprd02.prod.outlook.com
 (2603:10b6:208:329:cafe::b9) by BLAPR03CA0071.outlook.office365.com
 (2603:10b6:208:329::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28 via Frontend
 Transport; Tue, 21 Nov 2023 09:45:39 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD8.mail.protection.outlook.com (10.167.242.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 09:45:39 +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.2507.34; Tue, 21 Nov
 2023 03:45:39 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Tue, 21 Nov 2023 03:45:37 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc1b9a9e-8852-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Bt1JdNZNCbjBK8RG5mq7rT1/lIteO54wdcTHZxnKOoSJSq1S5jtDZuPuaKW0C095mB1wuM688lHcgPB43BIwdzScHT5gbFLqaZMtQIchnXY4n1MBRGv0qD3V27c5iUJ5hhEnclsqaLOjYtKZVU+bU3Rmjdik+vLvnVP5f4pEmH8QKNefV/NW+hP0JaOB/jqe4fkn9oqzbVc7zd8gaIxYGZOZg+KfWMxld/fiaAev+W1tBCy4pwnVI5FIxGCHljd8rWvpsQnU4jU4xRAg6IyCgzUmsL1LpJDpUByk7HWTwIftk2mse64FgOS8RTR9xPERuRMQ5T2vQdREBYm7YoAdlw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Xa7a57P4d78oZLu4ZDZT+8vnzMYOT8JAEc+nQCvZbW8=;
 b=CwOGPCt+H1M8ZbWuEijciLNehF/o+F8FezXur5MFo61tHt+UGE2e4BOply8J2HWtBsvi5dbOzLjgQ9sdaeZWxXa0bNltLymW0GJlosuQGIKLsLbY4pQAm1w1eAAyUbjGBeW6qNwV0g6Lyy82NF2uclk7prhL8a9Vq6C54exXNAoZmBeFPKeh4J7hSImtrJqRP44IJXE2NGAbDmjszOfpji+/kihjHqoA0wPCMUlBnH7IP1ryvdXZ3Rl04onyqK2ZtGHPD19leSI4pDWVsF0ibrlApsdmBIZMg1o4eWZ5/pQitSu9NMa7UX9O/4jvMsm4UzY1yuw+b5fbiPP7ECkWRA==
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 (0)
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=Xa7a57P4d78oZLu4ZDZT+8vnzMYOT8JAEc+nQCvZbW8=;
 b=JQbhMeA/IPr5XeJAMIyJ8G5mDB4+n/qCD2aQKQ4RvX0zAuBpc15Di2U3jWNA3H1icLESW3cVA0nf8YNG59n72aBIoqbQh8IVnuvuvyD7MOyc0Baceebn3e/lReFmb5vQc8Yr9kjArgTe5SmuCe9Uml4XZp8ior2Z3Gg6/Otjlew=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 3/3] xen/arm64/mmu: head: Replace load_paddr with adr_l where appropriate
Date: Tue, 21 Nov 2023 10:45:16 +0100
Message-ID: <20231121094516.24714-4-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231121094516.24714-1-michal.orzel@amd.com>
References: <20231121094516.24714-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD8:EE_|PH7PR12MB7938:EE_
X-MS-Office365-Filtering-Correlation-Id: 0323ef13-c75b-4fdf-bed3-08dbea769ef7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	O2dryDuifX1LugebhSwQiZOxtLqMUfSbuULr1R814KfMpXItZQVA9X1rDB2wXMmPA2mggdzRAHVSrWxKptchptEn7J6XVBxatgrhxYdBx59rROY69pQSay4VYYmkOOGDvyjINZQQHpcDeJyobbiMitb1y4OD1LaJ6UnE8LKzBxNLhSbRA2B8fEC15nCJ7r2mdTuZYBgKEmox16gW5azDnBwdkfcaQi6wnik/1sx9Y79a9edCUpABNVNdcVzgy1MNbs/gRUXNUejRGkAH7tO+dQ2DCXpRcz75ks7Khy02XWZiRDePEzn30bbf2GYaEjsRDuk6Lhe8ZTtrPdzQknbVWkigXOy9G44n8OLnz1uOhL76ClVmZ6GtUkISES2xzvyPtBAi+1qR0ZSmuYgl7INjumZgFO+qjUq2E/xUUCxhoVgEsLjmiM9XTZFhc9dYR+P2GCkGKJRqO9/8L8Fh5YHPXJTHGsWMksNMUZu8lmESmfJ6G0kq5sUgKFZBFe7IELumWqdkEoSZDgYIcpS+TeToHkbD1NUS/iwXc6vLlNvyXY+K+IlWSk+NGalPwzeRMH4ge/oxl2JmjBerxs/ZEm453Zcs3b+42UzkBbezStQYCOScssDRZ8tXHbs15t3pNrDAKAE8ulz5AgK4r1sh46mOo+Ub9fNJK3/fflRWx3lDm7ONjrVEo76vvONicegqh9QL5v0ab9Yr/AIATcbPS7UI1YDQca7cLjuXe35enZfHoRrNNKGIALPbzbIiR7QHQdsx5Z0azS03xmjhUKL9Z3pGEw==
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:(13230031)(4636009)(136003)(39860400002)(376002)(346002)(396003)(230922051799003)(186009)(64100799003)(82310400011)(1800799012)(451199024)(36840700001)(46966006)(40470700004)(2616005)(82740400003)(86362001)(40480700001)(356005)(40460700003)(6666004)(6916009)(70206006)(70586007)(316002)(54906003)(36756003)(81166007)(26005)(83380400001)(336012)(426003)(1076003)(2906002)(44832011)(5660300002)(478600001)(36860700001)(41300700001)(8936002)(47076005)(4326008)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 09:45:39.5727
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0323ef13-c75b-4fdf-bed3-08dbea769ef7
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:
	MN1PEPF0000ECD8.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7938

Macros load_paddr and adr_l are equivalent when used before the MMU is
enabled, resulting in obtaining physical address of a symbol. The former
requires to know the physical offset (PA - VA) and can be used both before
and after the MMU is enabled. In the spirit of using something only when
truly necessary, replace all instances of load_paddr with adr_l, except
in create_table_entry macro. Even though there is currently no use of
load_paddr after MMU is enabled, this macro used to be call in such a
context and we can't rule out that it won't happen again.

This way, the logic behind using load_paddr/adr_l is consistent between
arm32 and arm64, making it easier for developers to determine which one
to use and when.

Take the opportunity to fix a comment with incorrect function name.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/arm64/mmu/head.S | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/arm64/mmu/head.S b/xen/arch/arm/arm64/mmu/head.S
index 10774f30e40e..41779020eb4d 100644
--- a/xen/arch/arm/arm64/mmu/head.S
+++ b/xen/arch/arm/arm64/mmu/head.S
@@ -146,10 +146,10 @@ create_page_tables:
 
         /*
          * We need to use a stash register because
-         * create_table_entry_paddr() will clobber the register storing
+         * create_table_entry_from_paddr() will clobber the register storing
          * the physical address of the table to point to.
          */
-        load_paddr x4, boot_third
+        adr_l x4, boot_third
         ldr   x1, =XEN_VIRT_START
 .rept XEN_NR_ENTRIES(2)
         mov   x0, x4                            /* x0 := paddr(l3 table) */
@@ -311,7 +311,7 @@ ENDPROC(enable_mmu)
 ENTRY(enable_secondary_cpu_mm)
         mov   x6, lr
 
-        load_paddr x0, init_ttbr
+        adr_l x0, init_ttbr
         ldr   x0, [x0]
 
         mov   x1, #SCTLR_Axx_ELx_WXN        /* Enable WxN from the start */
@@ -336,7 +336,7 @@ ENTRY(enable_boot_cpu_mm)
         mov   x6, lr
 
         bl    create_page_tables
-        load_paddr x0, boot_pgtable
+        adr_l x0, boot_pgtable
 
         mov   x1, #0        /* No extra SCTLR flags */
         bl    enable_mmu
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:45:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:45:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637607.993566 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NKE-0004S4-EP; Tue, 21 Nov 2023 09:45:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637607.993566; Tue, 21 Nov 2023 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 1r5NKE-0004Rt-BA; Tue, 21 Nov 2023 09:45:46 +0000
Received: by outflank-mailman (input) for mailman id 637607;
 Tue, 21 Nov 2023 09:45: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=rqtY=HC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5NKD-0004CN-84
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:45:45 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba907ba0-8852-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 10:45:40 +0100 (CET)
Received: from BLAPR03CA0090.namprd03.prod.outlook.com (2603:10b6:208:329::35)
 by DM4PR12MB6232.namprd12.prod.outlook.com (2603:10b6:8:a5::7) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7002.27; Tue, 21 Nov 2023 09:45:37 +0000
Received: from MN1PEPF0000ECD8.namprd02.prod.outlook.com
 (2603:10b6:208:329:cafe::5a) by BLAPR03CA0090.outlook.office365.com
 (2603:10b6:208:329::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28 via Frontend
 Transport; Tue, 21 Nov 2023 09:45:37 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000ECD8.mail.protection.outlook.com (10.167.242.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 09:45:36 +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.2507.34; Tue, 21 Nov
 2023 03:45:35 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Tue, 21 Nov 2023 03:45:34 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba907ba0-8852-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NgwMNT0fEu8IPCKtGfYxM6WHbTPe2AnrlDZbhLrcAZ3iZOSZEMPzZyDpMGSfuAo5312y2dBXReOhdqCSmbo3rSRkheoRevFBwPB8zGgn+lmV894Dm1EL91vJc5D0C74Hd9mrCPUlpP/2j0hmWFus/pXd6qHRir2zpMOtkSA6ZXIM5sQ3zxjsrr2r5h2mRkANvZCgI15GC5NTCGHDxlT/1IFWzewrebbCz04IFpwv/sPkd4/dD4Ep6AkmJCVXpqoWM3fuK6JpNE9f2wtV11QpApjmED6YcpcrCNbWJoAdfsGko3qqSJ4bpFzYMLjtJGvTv0DKJHuS3U3r7EImJrF1TQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eX7gUvzVwKqyo6vs+snwslITqoB77c3y+bXgXNG97pE=;
 b=fUv2utuoY5zp9EJKtfb6Qt3UOuW0jN7bwunLfVms//Xw+0cdWBNBGTsubbjDAbmCniJPGzrCv+FLfwmBT2EzOG3ECtwaRCeAFJOi8IAwzLOwOsepVjYZQezI9b8EcRqF5cAyDRPFdieH7MbAr2obHvDl2X2+SRKZQgCbY0Y/TEdJeSZEs0skfze3gjPd6iU5dxAMh6Wj8LuTj0mdzRyfqdLMf5XgL7GonTX1RW03mIcFp/qoOcLRh3tOmIyefxyg6peDq2y2FRQnwfC38QXnrW2vPxEzXz1i3DGPpT7qW0oqJFaKGv/5OWr9fAbprtrxv7AdyN1B3sN38diibOIcLw==
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 (0)
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=eX7gUvzVwKqyo6vs+snwslITqoB77c3y+bXgXNG97pE=;
 b=N0cgLRS803yAP9Jmdj6G6TMowmOlhmrd0HqOkaibxaKvhpCsZ5RdVqtiuRx9GIWpyXcAzcprFUqg38/rPbCdr1jZqbpLEjU9vPzu2QgdhfysivE0p2DLe58iC95e6G4/Riu1TLImm2KdSnT89LC9e+so/VQtW0dnUnS2YcBeN7s=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, 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/3] xen/arm64: head: Move earlyprintk 'hex' string to .rodata.str
Date: Tue, 21 Nov 2023 10:45:14 +0100
Message-ID: <20231121094516.24714-2-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231121094516.24714-1-michal.orzel@amd.com>
References: <20231121094516.24714-1-michal.orzel@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000ECD8:EE_|DM4PR12MB6232:EE_
X-MS-Office365-Filtering-Correlation-Id: b81c3e5d-426a-41c1-fb22-08dbea769d2d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QAawCmonysYyZRy4GSjhFVz50WGC3VQyHobIKimZHxcsdyXKznSCWuVSgJHYpMqbLcZxBfq00kRNSntuip9d8kyanOQ317gXf7ymTwQXizTCxUyoh/BeG0/dxHeKLflnwiQ1EfxX647PKCt+1v+H5UpNf1lT5/memchHgoy1W4sPsqaOs6P2G0vVArnZ1WdSj+voNTYhC36dMxmfTHV4UG8gRzpC9gJUUaytnnngBCn40MMSfSsXsOXc0Oqz9t2BGjECYqRSA1GhDENm9j4AcExGUE1v3tNmwwWLuIurc6ENwQ7agvIzDGMMehBAoZmlZ/VmXz9TQzDS/sYnk7al4L2vmVPJ6b62KadG69WEhVJJ2SCMtBz7XMdYjBhEZSQkcbu1LxQhTOR/whzWkNTKU0re/xO2LUlgVXLFzI7kjYjz0/3piwz+kyI4PI9WXfp4g8YFBI766+CSsRMsnVhK3SUJBBVv/haNpdawXod+HsQXrCHcUCWTxIblyhd3NC+Q/ZuTpSEh5iPcxlBxUpSaaHrQg4TCscfn3B29af8iTTjBJZ1Ws+qJFB6EnT9coFJus1IQC6C0wkS3aQgvoUrbwNP9cBIVmQPXFoAIMefaWbZ/14+xQ2Q/1gML287XdHu7QUqcQVQZ/TRFv/eeiOjRjq00ElaalWrKA6V34KZNZPuvnYaMn8qY44MYxmkUJBLezjkx1OroKG9jolh2TYamRVjovog4q6zYfjs7BzJsQ5zPSKk9hf9Jfylfa90+2CZqrqANZAV1twQxLG+5yW2GbYOGJDJT6Eg6vTJwfq2UF/4=
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:(13230031)(4636009)(376002)(396003)(39860400002)(136003)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(82310400011)(46966006)(40470700004)(36840700001)(2906002)(5660300002)(4326008)(8936002)(8676002)(36860700001)(40460700003)(82740400003)(86362001)(36756003)(41300700001)(81166007)(356005)(478600001)(54906003)(70586007)(70206006)(6916009)(316002)(40480700001)(1076003)(426003)(336012)(26005)(2616005)(83380400001)(47076005)(6666004)(44832011)(142923001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 09:45:36.6665
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b81c3e5d-426a-41c1-fb22-08dbea769d2d
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:
	MN1PEPF0000ECD8.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6232

At the moment, the 'hex' string is placed right after the 'putn'
function in the .text section. This is because of the limited range
(+/- 1MB) of PC relative 'adr' instruction 'putn' uses. Modify it to use
'adr_l' instead (range extended to +/- 4GB) and move the string to
.rodata.str. This way all the earlyprintk messages will be part of .rodata
and the behavior will be consistent with what we already do on arm32.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/arm64/head.S | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 8dbd3300d89f..b6111399e766 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -498,7 +498,7 @@ ENDPROC(asm_puts)
  * Clobbers x0-x3
  */
 putn:
-        adr   x1, hex
+        adr_l x1, hex
         mov   x3, #16
 1:
         early_uart_ready x23, 2
@@ -512,8 +512,7 @@ putn:
         ret
 ENDPROC(putn)
 
-hex:    .ascii "0123456789abcdef"
-        .align 2
+RODATA_STR(hex, "0123456789abcdef")
 
 #else  /* CONFIG_EARLY_PRINTK */
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:46:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:46:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637614.993587 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NKl-00063d-VP; Tue, 21 Nov 2023 09:46:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637614.993587; Tue, 21 Nov 2023 09:46: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 1r5NKl-00063W-Rp; Tue, 21 Nov 2023 09:46:19 +0000
Received: by outflank-mailman (input) for mailman id 637614;
 Tue, 21 Nov 2023 09:46: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=f+q9=HC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r5NKk-0004CN-HV
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:46:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0399d3f-8852-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 10:46:15 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 35BC84EE073A;
 Tue, 21 Nov 2023 10:46:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0399d3f-8852-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Tue, 21 Nov 2023 10:46:15 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <732f722b-fcdd-4a69-9c32-5c306e81c998@suse.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <732f722b-fcdd-4a69-9c32-5c306e81c998@suse.com>
Message-ID: <5fdbf9db5f45272bd25cf1b4b3184357@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-21 10:16, Jan Beulich wrote:
> On 16.11.2023 10:08, Nicola Vetrini wrote:
>> The comment-based justifications for MISRA C:2012 Rule 8.4 are 
>> replaced
>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>> 
>> Add missing 'xen/compiler.h' #include-s where needed.
>> 
>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>> is modified to reflect this change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> This patch should be applied after patch 2 of this series.
> 
> Code changes look okay to me, but I'm afraid I don't understand the 
> remark
> above, and hence I fear I might be missing something.
> 
> Jan

Since on v2 it was observed that I forgot to state the dependency of 
this patch on the R8.4 series, I added that comment here (otherwise 
there would be no definition of asmlinkage).

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:50:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:50:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637625.993597 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NOL-00080E-JY; Tue, 21 Nov 2023 09:50:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637625.993597; Tue, 21 Nov 2023 09:50: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 1r5NOL-0007zd-Fr; Tue, 21 Nov 2023 09:50:01 +0000
Received: by outflank-mailman (input) for mailman id 637625;
 Tue, 21 Nov 2023 09:50: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5NOK-0007zB-UZ
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:50: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 54082444-8853-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 10:49:57 +0100 (CET)
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 4979E1F8A8;
 Tue, 21 Nov 2023 09:49: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 125D8138E3;
 Tue, 21 Nov 2023 09:49:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id yl2SAkR9XGVANQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 09: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>
X-Inumbo-ID: 54082444-8853-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700560196; 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=ylFzla17ZuFkKrStBDr86fu1z6MjOBaS8pzO54PvtZw=;
	b=HaIPAVDr8RG17bKJyvCYWq7J3D6WgQ6SyKtbExR1DrQtsmJgXHtlunw6z3SkZD16ASaY3v
	E+LKUolngUzh9stF/g7xOKiTxiDMqlzta+j+qzzV2aVkY7M/lzs+jJU6sS7bsDJJaTwV3E
	6J3bMuXtMTbIS66GVqta+hGFvntBCnU=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 0/5] Mini-OS: preparations for 9pfs in xenstore-stubdom
Date: Tue, 21 Nov 2023 10:49:48 +0100
Message-Id: <20231121094953.22430-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: **
X-Spam-Score: 2.51
X-Spamd-Result: default: False [2.51 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-1.19)[89.10%]
X-Spam-Flag: NO

This small patch series is doing some preparations for being able to
use 9pfs in Xenstore-stubdom.

Changes in V2:
- added patches 2 and 5

Changes in V3:
- rename function to get own domid (patch 2)

Juergen Gross (5):
  Mini-OS: make xenstore_buf externally visible
  Mini-OS: get own domid
  Mini-OS: don't crash if no shutdown node is available
  Mini-OS: fix 9pfs stat receive format
  Mini-OS: fix 9pfs response receiving

 9pfront.c        | 13 ++++++++-----
 events.c         | 33 +++++++++++++++++++++++++++++++++
 include/lib.h    |  3 +++
 include/xenbus.h |  2 ++
 shutdown.c       | 12 ++++--------
 xenbus.c         |  2 +-
 6 files changed, 51 insertions(+), 14 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:50:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:50:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637628.993615 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NOP-0000Zr-VL; Tue, 21 Nov 2023 09:50:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637628.993615; Tue, 21 Nov 2023 09:50: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 1r5NOP-0000ZI-RS; Tue, 21 Nov 2023 09:50:05 +0000
Received: by outflank-mailman (input) for mailman id 637628;
 Tue, 21 Nov 2023 09:50: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5NOO-00008u-Lv
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:50:04 +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 571c7c69-8853-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 10:50:03 +0100 (CET)
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 D6BE51F8A8;
 Tue, 21 Nov 2023 09:50: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 B1271138E3;
 Tue, 21 Nov 2023 09:50:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 6KwTKkl9XGVcNQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 09:50: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: 571c7c69-8853-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700560201; 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=3t0G5pmc2tLtGKnSz0jnViu11fvXLpv0iet8qXj51Qc=;
	b=ImnKRcdwceNKjdDVCKv+HrhuMRTPVTqJczF/AtYyDP3XK/aZDyn0FlYb7ChrOcf94ZKzeP
	tb5tdFC6UJqrHNieZjr9spJrp6QpLY87KQaoQTBz4G38P7xOdZygnyyAkEB5Hw+Dqaf3d8
	T3Ew9bDLM0otCXSHIxk0V+Qk5OdxedU=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v3 1/5] Mini-OS: make xenstore_buf externally visible
Date: Tue, 21 Nov 2023 10:49:49 +0100
Message-Id: <20231121094953.22430-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121094953.22430-1-jgross@suse.com>
References: <20231121094953.22430-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.60
X-Spamd-Result: default: False [-0.60 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_HAM(-0.30)[75.12%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 MIME_GOOD(-0.10)[text/plain];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[6];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 FREEMAIL_CC(0.00)[ens-lyon.org,xen.org,suse.com,gmail.com];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

For support of the 9pfs frontend in Xenstore-stubdom xenstore_buf
needs to be externally visible.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 include/xenbus.h | 2 ++
 xenbus.c         | 2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/xenbus.h b/include/xenbus.h
index c0fc0ac5..542ee456 100644
--- a/include/xenbus.h
+++ b/include/xenbus.h
@@ -8,12 +8,14 @@ typedef unsigned long xenbus_transaction_t;
 
 #ifdef CONFIG_XENBUS
 extern uint32_t xenbus_evtchn;
+extern struct xenstore_domain_interface *xenstore_buf;
 
 /* Initialize the XenBus system. */
 void init_xenbus(void);
 void get_xenbus(void *p);
 #else
 #define xenbus_evtchn ~0
+#define xenstore_buf NULL
 
 static inline void init_xenbus(void)
 {
diff --git a/xenbus.c b/xenbus.c
index 923e8181..8bfd5bd4 100644
--- a/xenbus.c
+++ b/xenbus.c
@@ -44,7 +44,7 @@
 #define DEBUG(_f, _a...)    ((void)0)
 #endif
 
-static struct xenstore_domain_interface *xenstore_buf;
+struct xenstore_domain_interface *xenstore_buf;
 static DECLARE_WAIT_QUEUE_HEAD(xb_waitq);
 DECLARE_WAIT_QUEUE_HEAD(xenbus_watch_queue);
 static __DECLARE_SEMAPHORE_GENERIC(xb_write_sem, 1);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:50:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:50:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637630.993629 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NOV-00017I-86; Tue, 21 Nov 2023 09:50:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637630.993629; Tue, 21 Nov 2023 09:50: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 1r5NOV-00017B-4l; Tue, 21 Nov 2023 09:50:11 +0000
Received: by outflank-mailman (input) for mailman id 637630;
 Tue, 21 Nov 2023 09:50: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5NOT-00008u-Eb
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:50:09 +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 5a711029-8853-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 10:50:07 +0100 (CET)
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 82EC321979;
 Tue, 21 Nov 2023 09:50: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 4D18B138E3;
 Tue, 21 Nov 2023 09:50:07 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id n6yPEU99XGVxNQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 09:50: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: 5a711029-8853-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700560207; 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=v1odbQaI2Gr+IB2DF9QOM7VdackHo1o2+QYsBMZ4bdY=;
	b=KfLurMQ4BH9ZlhxVuC+1e+vLr0vYONRl4iXWBkaynG9Z7bfUaO4P1xNdCOD9UOacQQLsAI
	zTpGlS3ZaK7AbJSmwdygH959eIAlFyzRk3e/NsDZmKamfMPFYoGXsA7jymLIW71o3ghiKL
	OerhNh/G/0uOnNeB1Hkm1nVZpKMswKE=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 2/5] Mini-OS: get own domid
Date: Tue, 21 Nov 2023 10:49:50 +0100
Message-Id: <20231121094953.22430-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121094953.22430-1-jgross@suse.com>
References: <20231121094953.22430-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.83
X-Spamd-Result: default: False [-0.83 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.53)[80.55%]
X-Spam-Flag: NO

Get the own domid via creation of a temporary event channel. There is
no "official" way to read the own domid in PV guests, so use the event
channel interface to get it:

- allocate an unbound event channel specifying DOMID_SELF for the
  other end

- read the event channel status which will contain the own domid in
  unbound.dom

- close the event channel

Signed-off-by: Juergen Gross <jgross@suse.com
---
V2:
- new patch
V3:
- rename function to get_domid() (Julien Grall)
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 events.c      | 33 +++++++++++++++++++++++++++++++++
 include/lib.h |  3 +++
 2 files changed, 36 insertions(+)

diff --git a/events.c b/events.c
index cdae90f4..4683e8e1 100644
--- a/events.c
+++ b/events.c
@@ -261,6 +261,39 @@ int evtchn_get_peercontext(evtchn_port_t local_port, char *ctx, int size)
     return rc;
 }
 
+/* Replace below when a hypercall is available to get the domid. */
+domid_t get_domid(void)
+{
+    int rc;
+    domid_t domid = DOMID_INVALID;
+    evtchn_alloc_unbound_t op;
+    struct evtchn_status status;
+    struct evtchn_close close;
+
+    op.dom = DOMID_SELF;
+    op.remote_dom = DOMID_SELF;
+    rc = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &op);
+    if ( rc )
+    {
+        printk("ERROR: alloc_unbound failed with rc=%d", rc);
+        return domid;
+    }
+
+    status.dom = DOMID_SELF;
+    status.port = op.port;
+    rc = HYPERVISOR_event_channel_op(EVTCHNOP_status, &status);
+    if ( rc )
+        printk("ERROR: EVTCHNOP_status failed with rc=%d", rc);
+    else
+        domid = status.u.unbound.dom;
+
+    close.port = op.port;
+    rc = HYPERVISOR_event_channel_op(EVTCHNOP_close, &close);
+    if ( rc )
+        printk("WARN: close_port %d failed rc=%d. ignored\n", close.port, rc);
+
+    return domid;
+}
 
 /*
  * Local variables:
diff --git a/include/lib.h b/include/lib.h
index fd8c36de..dd68985a 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -154,6 +154,9 @@ do {                                                           \
 /* Consistency check as much as possible. */
 void sanity_check(void);
 
+/* Get own domid. */
+domid_t get_domid(void);
+
 #ifdef HAVE_LIBC
 extern struct wait_queue_head event_queue;
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:50:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:50:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637633.993643 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NOa-0001Xr-JR; Tue, 21 Nov 2023 09:50:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637633.993643; Tue, 21 Nov 2023 09: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 1r5NOa-0001Xk-Es; Tue, 21 Nov 2023 09:50:16 +0000
Received: by outflank-mailman (input) for mailman id 637633;
 Tue, 21 Nov 2023 09:50: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5NOY-00008u-PU
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:50:14 +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 5dc3f73e-8853-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 10:50:13 +0100 (CET)
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 0F1111F8A8;
 Tue, 21 Nov 2023 09:50: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 D7941138E3;
 Tue, 21 Nov 2023 09:50:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3wJuM1R9XGV9NQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 09:50: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: 5dc3f73e-8853-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700560213; 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=UMM1Ggz+vBiGVJdcd2QMUJ1ZGIfkpwMwpm/gMVXFLeQ=;
	b=phAppV4EtZF0Z3rNx4++xXTxpsVGKl2OMvyHuw2nsrHhk8IYRMThKWX5ZIDV0mdkApKgPH
	Y0jkNgcwq5SOHnDkjjPZrypWT3TkSVIrNSZbKhf4GLMEmWrZ//GfAzSXHiaZYSZwVU6m+E
	WlLe8nboqcgT6YEz9yQ8n2mpkSx2Muo=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v3 3/5] Mini-OS: don't crash if no shutdown node is available
Date: Tue, 21 Nov 2023 10:49:51 +0100
Message-Id: <20231121094953.22430-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121094953.22430-1-jgross@suse.com>
References: <20231121094953.22430-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -1.16
X-Spamd-Result: default: False [-1.16 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_HAM(-0.86)[85.56%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[6];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 FREEMAIL_CC(0.00)[ens-lyon.org,xen.org,suse.com,gmail.com];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

It might be perfectly fine not to have a control/shutdown Xenstore
node. If this is the case, don't crash, but just terminate the
shutdown thread after issuing a message that shutdown isn't available.

In fini_shutdown() clearing the watch can result in an error now, in
case the early exit above was taken. Just ignore this error now.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 shutdown.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/shutdown.c b/shutdown.c
index bb2c6f11..ded6b64d 100644
--- a/shutdown.c
+++ b/shutdown.c
@@ -75,7 +75,9 @@ static void shutdown_thread(void *p)
         xenbus_wait_for_watch(&events);
         if ((err = xenbus_read(XBT_NIL, path, &shutdown))) {
             free(err);
-            do_exit();
+            free(xenbus_unwatch_path_token(XBT_NIL, path, token));
+            printk("Shutdown Xenstore node not available.\n");
+            return;
         }
 
         if (end_shutdown_thread)
@@ -117,15 +119,9 @@ void init_shutdown(void)
 
 void fini_shutdown(void)
 {
-    char *err;
-
     end_shutdown_thread = 1;
     xenbus_release_wait_for_watch(&events);
-    err = xenbus_unwatch_path_token(XBT_NIL, path, token);
-    if (err) {
-        free(err);
-        do_exit();
-    }
+    free(xenbus_unwatch_path_token(XBT_NIL, path, token));
 }
 #endif
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:50:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:50:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637636.993657 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NOf-000206-RT; Tue, 21 Nov 2023 09:50:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637636.993657; Tue, 21 Nov 2023 09:50: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 1r5NOf-0001zx-Of; Tue, 21 Nov 2023 09:50:21 +0000
Received: by outflank-mailman (input) for mailman id 637636;
 Tue, 21 Nov 2023 09:50: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5NOe-00008u-FJ
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:50:20 +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 6118832b-8853-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 10:50:18 +0100 (CET)
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 9DE341F8A8;
 Tue, 21 Nov 2023 09:50: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 72D45138E3;
 Tue, 21 Nov 2023 09:50:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hTaZGlp9XGWINQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 09:50: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: 6118832b-8853-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700560218; 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=iyiJvbdzxfjlxXumjIe2Le5NJ94QuV7U0Z18Or31ob0=;
	b=PrGDdahfNfQ3H/Q9PXDL+f81pggJATumNSVFeTSO2T9il7ghf+LrZzKq4DU0RFMi5YzVe0
	/h2Brqh+I+HP1CJPTrmqtZ99DOYWXSdY6QZ0M8WkojzogWFRUUVztFETSrGsT20q6JeLSM
	O+WmoaI6kQew/eh8pSRzO4Upmsnch5Q=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>,
	Jason Andryuk <jandryuk@gmail.com>
Subject: [PATCH v3 4/5] Mini-OS: fix 9pfs stat receive format
Date: Tue, 21 Nov 2023 10:49:52 +0100
Message-Id: <20231121094953.22430-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121094953.22430-1-jgross@suse.com>
References: <20231121094953.22430-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.30
X-Spamd-Result: default: False [-0.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_HAM(-0.00)[41.57%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[6];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 FREEMAIL_CC(0.00)[ens-lyon.org,xen.org,suse.com,gmail.com];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

The format string of the received data for the 9pfs stat command is
missing the initial 2 byte total length specifier. Add it.

Fixes: 2d1dfccd3aa3 ("Mini-OS: add read and write support to 9pfsfront")
Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
---
 9pfront.c | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/9pfront.c b/9pfront.c
index 5da8a365..43c7409f 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -711,6 +711,7 @@ static int p9_create(struct dev_9pfs *dev, uint32_t fid, char *path,
 static int p9_stat(struct dev_9pfs *dev, uint32_t fid, struct p9_stat *stat)
 {
     struct req *req = get_free_req(dev);
+    uint16_t total;
     int ret;
 
     if ( !req )
@@ -719,10 +720,10 @@ static int p9_stat(struct dev_9pfs *dev, uint32_t fid, struct p9_stat *stat)
     memset(stat, 0, sizeof(*stat));
     req->cmd = P9_CMD_STAT;
     send_9p(dev, req, "U", fid);
-    rcv_9p(dev, req, "uuUQUUULSSSSSUUU", &stat->size, &stat->type, &stat->dev,
-           stat->qid, &stat->mode, &stat->atime, &stat->mtime, &stat->length,
-           &stat->name, &stat->uid, &stat->gid, &stat->muid, &stat->extension,
-           &stat->n_uid, &stat->n_gid, &stat->n_muid);
+    rcv_9p(dev, req, "uuuUQUUULSSSSSUUU", &total, &stat->size, &stat->type,
+           &stat->dev, stat->qid, &stat->mode, &stat->atime, &stat->mtime,
+           &stat->length, &stat->name, &stat->uid, &stat->gid, &stat->muid,
+           &stat->extension, &stat->n_uid, &stat->n_gid, &stat->n_muid);
 
     ret = req->result;
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 09:50:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 09:50:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637639.993667 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NOm-0002Zy-5R; Tue, 21 Nov 2023 09:50:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637639.993667; Tue, 21 Nov 2023 09: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 1r5NOm-0002Zk-1X; Tue, 21 Nov 2023 09:50:28 +0000
Received: by outflank-mailman (input) for mailman id 637639;
 Tue, 21 Nov 2023 09: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5NOl-0007zB-4D
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 09:50:27 +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 646fbeb5-8853-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 10:50:24 +0100 (CET)
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 4E93521979;
 Tue, 21 Nov 2023 09:50:24 +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 17BA9138E3;
 Tue, 21 Nov 2023 09:50:24 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id K/VuBGB9XGWhNQAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 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>
X-Inumbo-ID: 646fbeb5-8853-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700560224; 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=pEEtaKVN/DMgZvS8wiA2rruIly8+jtG6pBEpyWM89Hs=;
	b=RwGWhfyB9qHCNw/w/9VaTGkxHfDfaHsS9buPKleCEVZxZFi6Of4UNX9lKsw7wtebD8ospa
	sPio5H9udGcRmQPzsPlHFoMbKot97nyE9JkTbAyU0kblakLFSPb6gGkxSwOQcd1fJgvbP+
	RBdGieVswBdRpuWvN5xeye5Od5pkF8U=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 5/5] Mini-OS: fix 9pfs response receiving
Date: Tue, 21 Nov 2023 10:49:53 +0100
Message-Id: <20231121094953.22430-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121094953.22430-1-jgross@suse.com>
References: <20231121094953.22430-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -2.89
X-Spamd-Result: default: False [-2.89 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-2.59)[98.19%]
X-Spam-Flag: NO

When copying a 9pfs response chunk from the ring buffer across the
ring end, the local ring pointer and length field are not updated
correctly. Fix that.

Fixes: 0924fec1de58 ("Mini-OS: add 9pfs transport layer")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- new patch
---
 9pfront.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/9pfront.c b/9pfront.c
index 43c7409f..35c5552b 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -386,7 +386,9 @@ static void copy_bufs(unsigned char **buf1, unsigned char **buf2,
             printk("9pfs: short copy (dropping %u bytes)\n", len - *len1);
             len = *len1;
         }
-        memcpy(target, *buf1, *len1);
+        memcpy(target, *buf1, len);
+        *buf1 += len;
+        *len1 -= len;
     }
 }
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 10:19:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 10:19:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637675.993680 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5NqG-0003CX-MY; Tue, 21 Nov 2023 10:18:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637675.993680; Tue, 21 Nov 2023 10:18: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 1r5NqG-0003CQ-Js; Tue, 21 Nov 2023 10:18:52 +0000
Received: by outflank-mailman (input) for mailman id 637675;
 Tue, 21 Nov 2023 10:18: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5NqE-0003B3-CD
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 10:18:50 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe16::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ba1c730-8857-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 11:18:47 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9139.eurprd04.prod.outlook.com (2603:10a6:102:22e::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16; Tue, 21 Nov
 2023 10:18:45 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 10:18: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: 5ba1c730-8857-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kc6ILKPo5FJMRjw3WRb/YPji8kxXTb40SJA7FQ3/xvBBKBgd2hw2pAivDj5wTevLZUfXGTuMpopUSMzl8Cj4zNc0g/Sej4U+j8bB3X8N8f5muIpGz8YpBZodh/RCmQHPrGlXBWXqI+rVhl+AaA2/sTEm502Y5Busdgw9//jwJ2z0U+tWHAr28GyZ0krT+IepNIGb6vbD9HLSI9pj6t05w5Px2SiTlMHODC6Dpv+KgGYpzkDW/F7jLU8qyd93UVT5589EbNwI1Yy17awKG7N9MDFcBBdZ4HYxwdqP/Af9WvArA36CwlAzuj/m1MzMqGU08qVQKVMz5u0Qh0yG5j9Pag==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vQeS1ZoJ3k2wUTiC0cWnVta5QX9gq/h+9UUaSXk2kig=;
 b=dGV5Ryug1EXt9F/fD7xFvKvNjFKDtq+nDzB5YjBz5m/m+hql4UIs67Er07Dd0zKxa2iRJ69ypQEJ0/M0ZbcfdMgsbfk747v7GghcbXIBP5cc267ZW6TopY9zNwkCSAgybmO0orYcyltZxxXxl3j53wlaE9zcRENczp5UaDIFMunQZQyN5QJimC/u9f6//X13uRkhnTCM7DR58rbAVecNf2ydJSLgnEdYwEb13gSMLQkzCrihHZbk3VLPAP5d//O2W/WtwQj3YBLB4c87RrXxt1gdo+X+aDQKpKEmxI3AKTSjbjaOIQh18nxQ8hivQZfUIgJUuIQmn/Ca1EniGJKaig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vQeS1ZoJ3k2wUTiC0cWnVta5QX9gq/h+9UUaSXk2kig=;
 b=xePs7nXU/1eupUmHWnNfDIaz4PuTMagBqIPKumHAPXXNZi8kkoff3L303PGAnzVUGOUFFmqwuqt0vViUGgIHqbPH3+QKEfTeNm5l23wc0HhIPMSS7VbT3BqHvJQFWO+J6LAWX2zObsRxl/ncgCDCr619vAddjXsjJ8EDQ97voGdE8lNNs8Q+XE2xZIUztqP+3yruC9P0yp1aH2pGgrQyIPzJkEkhwyhGgZpMnSle6M3w7uc58HCdzFauZ1DpgywGY4eY2SP3TwssSQJyx71BWjYh2apUpBVZDjseymRwZ8kSikVLPFylksn3xQT5tXF8dOLRZIoND6fAIZW6/eViEg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <764e7329-166a-4399-9e59-f69feca80137@suse.com>
Date: Tue, 21 Nov 2023 11:18:42 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>,
 Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <732f722b-fcdd-4a69-9c32-5c306e81c998@suse.com>
 <5fdbf9db5f45272bd25cf1b4b3184357@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5fdbf9db5f45272bd25cf1b4b3184357@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0197.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e5::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9139:EE_
X-MS-Office365-Filtering-Correlation-Id: edd22964-1dcf-4749-b20f-08dbea7b3e2d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	uynKmWSI4Fq1KXlzIHcu9sRtd1ujXbPgyzIldK9AozvCjeywHX77Ym7mpS7Rwhcgoh5lNE3F7ZHzJC+CGksFErBkY3g85h24tI4k5ZTqveHkpvkvrVSDhduR176GW1fmGDn4yDpgyPWgumUJPmtSARPWT1j6Tlcr2zrOrcxaoHOGcwI1NrMlcVmM2IUKaitNw99UROV/39pMFXvWnQEdFrFTVp5yG00df9rstj6LjiUhBOzJz/G9mI9ElJ/PRh+19/xcsEmyXPxm/nORCS5T90rG8D1X17pixQOkMsbzFjFYWAyvLqF8M7BMFy2aw/rB/Yizk5xSl/OD2XYyMF1D8KS8aEFMdoSvIHAVWxs7rO9vFO9/bAT44OW8+o+X/7W5JOfvAsy2Wqjorlv5G1ThqcImmqXSmd8Bafg2fkVNzwHNvZb+boz1ATSE+RpQi8PaCbsturXh+hfOYpNw7kRFOoyoi8k1YqnJ6uWQLs7a5NAoMsIsc3NKA2l8iNId4k6vipDyzSBTFjrgv5QKmc81oycnHiWOXOQAjylakMnmL3g5u0lfW6w02MJHju5n+MK9OGcm58P6QqRy9ErDdMJLQB89k5TxWKHcRg8+NjUNJ0FxB3gLRE7n5/YHWjk8BArVXwHpRY1IyJvuyEzd51e0Ag==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(136003)(346002)(39860400002)(366004)(230922051799003)(186009)(1800799012)(451199024)(64100799003)(26005)(478600001)(53546011)(6512007)(6666004)(6486002)(6506007)(31686004)(316002)(6916009)(2616005)(66946007)(66556008)(66476007)(54906003)(7416002)(8676002)(8936002)(4326008)(38100700002)(5660300002)(86362001)(2906002)(4001150100001)(41300700001)(31696002)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Wk1SU3NzQjRHem1Sd0tCTkwxYTBqdGNQTjlEUXVPNXJhY2t6MThPekpjbDA5?=
 =?utf-8?B?VEVKRG9zbGdoQ2VwemZac0I2Z0ZXWUhZVTh6MGtoS1ZwVFJ1TUhaUkg5MnBl?=
 =?utf-8?B?ZGZiNmMvUHRKOWUvdTlXSmJidW03c3c2dGZKQmpEZGZBQkVhS2xOVlFMR1N2?=
 =?utf-8?B?WEZ6eHM1V1lqUThObzZNM3VxNUU0NTJxS1RBeHcycjhxSXZmTERlUFJxdmxi?=
 =?utf-8?B?QVJWV1FCajhYallwS0FLQzlpZ1dnZ1JzNEpsVUZXcWZoZjdkd1lLcldWSVF5?=
 =?utf-8?B?OE1haldsR09GaG9PRzBXRmdEcmIwVTV6UStDeE9haXRVTjkyQ0tMV3Z6ejAy?=
 =?utf-8?B?c3pUQlhNczZsSjNsbDBmcWJldW5VWlZhMnhFS3Z0RFZZbEJMOVp4aG9CczJi?=
 =?utf-8?B?d2RQclNaOTd3cllFdzB3ejlYMG10R3EwV2ZKc3FMZ0NkeG5XakUvSWdYTE1G?=
 =?utf-8?B?cTFkek9GV3pmdzBmVE9zVDExZFBxZ0o5SGIxZkNGWCtYMC96L09XcFhXQVJv?=
 =?utf-8?B?NE9NbG1MeEZ4MGtZdHU5R2dLd1hraEtKTGFXbHRmZldRd0tWNHFRVFQyZ2FL?=
 =?utf-8?B?N0p6R1hKazJoeS9mOUJ2ZWwycm5RdmFDWUZEdDRjU3NIWFBWb0JGQVdvZzVI?=
 =?utf-8?B?czFxYTZvNytFTk5rekVYcC9lbDAvZ2FYSDdBQmRFTGF3Rk92YUtxVmx3MWxn?=
 =?utf-8?B?d1RVQWpiZ1VvOElIbXd6NVozaXlDRTNYZlRINThLTXI0YTA2bFpXeDZnenRK?=
 =?utf-8?B?bFdiTUhiSzlPcWoydzN2UGZZVTI4TzFKZDFDU0pHREo5VHBEZ2JwemhyM0Ey?=
 =?utf-8?B?RDNMNnI3a1NsMEdxSUM3OHcwdnJqdjBBbjhVb0o0UkFPRU42dStxWXR5Z0R6?=
 =?utf-8?B?RVk0dVNORzdmbjM5MTNLUHFsTlg2dGtXemQwQ3VnRHdBN0x6UWFiTVJhbkRH?=
 =?utf-8?B?aFhjaUl0amRKOTVRTFZwVjZ3ZjBOTlFTbkN0U3BxblNEQldBb0ZjQnRucDB1?=
 =?utf-8?B?QW5ZZkFhVWk0d1RkeFVtdkMyK1psQllZOGNsL2lKL0RaMFRwQmN1Zm0ra0tu?=
 =?utf-8?B?Sm5tQkRucEorbXAxK2pLcEpCZTAwNmsxUkRVWFFrTmlXY0s1eW9FOEhoKzZY?=
 =?utf-8?B?ZFlxYkVTc0FMWnF6RjRZM21WVGg4NWRTRTFCWS92S3RhcndTWnZScG5rczd4?=
 =?utf-8?B?OUQzNitIL1FLdUhHSDcvSUhwcTYzTDVISGlrUG5ndWRmZ21ZdlNXV0M4Y3JF?=
 =?utf-8?B?K2NoRmV6K1U3eTVkZXhWeDl4M0wzVXN6c3pNV1p4bzAvSHZ1VHVucktFbTBm?=
 =?utf-8?B?aHArbnlOWG00cjdlSVF1QmlMSThSYkpMcExWUGprT2c3SDg0Ni9rd2xKM0Qy?=
 =?utf-8?B?dG9LQXlVVDVsSGZrT0tIbXhXU0gzYVMvanNzR1ZiUDZMb0FtYllyVnZnUU50?=
 =?utf-8?B?WHhGY0hsZkZPdUE0dGhNa1kyYWxNc3czNnVtbzNydFRiTjQ2NCs1aHU0UDhS?=
 =?utf-8?B?QkRlVkQwbXhGemNOUUwvZS9xdlBkdFhDbFM5T3hQb0R0OVVkcitoYUxQWFVI?=
 =?utf-8?B?UUVZejhScDhYaG94WE9XS25JemRXZEZranA4L0hjOEJyQXUzcmk0QnRBSEc1?=
 =?utf-8?B?R0FObWU4R3VHMFdQZ1FuNGVhcDFoenVYVHBNUTFyWDAzc2M0TXVqd0tqcXFq?=
 =?utf-8?B?ZktvcFdaSFN6QVg4eWs4SitYa1V6SlJtQWFkdFMrZEFPZklWZnIraGpBd05O?=
 =?utf-8?B?cC9xeDNrZytOSERCdTcvZVdMYWMvMHIwcmpuWitTaXExOUtzVXRKcGNLdG1Z?=
 =?utf-8?B?VHVNdUtSVlZUYWFBUHZCNENYN2FINWVWWmN4TTJmYnc0bUFDNWRZeldJQTFE?=
 =?utf-8?B?QmdDNndVa0l5S2djcWFSTk9OdTlvcGg4ZlJDVkhSb2FQdmFIUUdxUTJDaUNs?=
 =?utf-8?B?eDNnWFRpdmRYcUk2M2xtditIak9wb09zb2pGZGxYdzkwaGVHTEg1QkhwcWhW?=
 =?utf-8?B?Nm5lbFY0K1ZsYlF5TTdmOFN0SVM3R0VvSnRpa3dVd3Y2MXZFNmVBVDJ2aXU1?=
 =?utf-8?B?NmtUMDdtZjNVOU9OQmRlVk5ZZ2ZkTkxLcUwwL0VxdUlsbjdmc2lIRktRR3lv?=
 =?utf-8?Q?qU7M8Hh2G41a3hWhk5CVrNkeq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: edd22964-1dcf-4749-b20f-08dbea7b3e2d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 10:18:45.0732
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ma2jgnoi9mmtNsmMCTmUfjJ/792vyTqgQIe9C1V+op/bXO0m7rJXEYrUI0IKBpUqCf/Rq8v09+aw/6fb8EfZAw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9139

On 21.11.2023 10:46, Nicola Vetrini wrote:
> On 2023-11-21 10:16, Jan Beulich wrote:
>> On 16.11.2023 10:08, Nicola Vetrini wrote:
>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are 
>>> replaced
>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>>
>>> Add missing 'xen/compiler.h' #include-s where needed.
>>>
>>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>>> is modified to reflect this change.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> This patch should be applied after patch 2 of this series.
>>
>> Code changes look okay to me, but I'm afraid I don't understand the 
>> remark
>> above, and hence I fear I might be missing something.
> 
> Since on v2 it was observed that I forgot to state the dependency of 
> this patch on the R8.4 series, I added that comment here (otherwise 
> there would be no definition of asmlinkage).

IOW instead of "this series" you really meant to quote the title of that
other series?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 10:23:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 10:23:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637678.993691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Nv6-0005P7-8H; Tue, 21 Nov 2023 10:23:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637678.993691; Tue, 21 Nov 2023 10:23: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 1r5Nv6-0005P0-5f; Tue, 21 Nov 2023 10:23:52 +0000
Received: by outflank-mailman (input) for mailman id 637678;
 Tue, 21 Nov 2023 10:23: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=efIu=HC=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r5Nv4-0005Ot-Vu
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 10:23:51 +0000
Received: from m35-190.mailgun.net (m35-190.mailgun.net [69.72.35.190])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 0f004bbd-8858-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 11:23:49 +0100 (CET)
Received: from mg.gitlab.com (74.90.74.34.bc.googleusercontent.com
 [34.74.90.74]) by
 35a85e7eb705 with SMTP id 655c853309e91a88b6476503 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 21 Nov 2023 10:23:47 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 0f004bbd-8858-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700562227; x=1700569427; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=jqA74Gy3D/vBN/CZVDvgzjIm2eaY3pqE2brcJ2wNJas=;
 b=DhsWD4q3kxGvLcYJMOpeGjNDO+S2e5uUQvIPnWWvyDbUOfbsxunJ9oGfTD9h+jGcrBJUgne9IfR2SmDv2YUcG3kfaHYRxTySs5a8dNU98dUMbACvwaPETUizniCOq/vnlqIqCEOvInrYI+Oag75rZNbhzUfAPZlRgwM3gmEYjEM=
X-Mailgun-Sending-Ip: 69.72.35.190
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 21 Nov 2023 10:23:47 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655c8533a0eba_2c9b37037228a@gitlab-sidekiq-catchall-v2-7bfc476c5-hphjp.mail>
Subject: xen | Successful pipeline for staging | a1f9490c
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655c85339665a_2c9b370372148";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1079835976
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655c85339665a_2c9b370372148
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1079835976 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: a1f9490c ( https://gitlab.com/xen-project/xen/-/commit/a1f9490cccb7bda80d736cd439be4611286d2042 )
Commit Message: docs/misra: exclude three more files

These fil...
Commit Author: Nicola Vetrini
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1079835976 ( https://gitlab.com/xen-project/xen/-/pipelines/1079835976 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655c85339665a_2c9b370372148
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | a1f9490c</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1079835976 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/a1f9490cccb7bda80d=
736cd439be4611286d2042" style=3D"color: #3777b0; text-decoration: none;">=
a1f9490c</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
docs/misra: exclude three more files

These fil...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/23d68b797e165570c641942285dfe06e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Nicola Vetrini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/107983=
5976" style=3D"color: #3777b0; text-decoration: none;">#1079835976</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655c85339665a_2c9b370372148--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 10:31:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 10:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637718.993701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5O27-0008NI-UM; Tue, 21 Nov 2023 10:31:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637718.993701; Tue, 21 Nov 2023 10:31: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 1r5O27-0008NB-Rq; Tue, 21 Nov 2023 10:31:07 +0000
Received: by outflank-mailman (input) for mailman id 637718;
 Tue, 21 Nov 2023 10:31: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=f+q9=HC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r5O27-0008N5-7L
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 10:31:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11abf2d7-8859-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 11:31:02 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 1CE144EE073A;
 Tue, 21 Nov 2023 11:31:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11abf2d7-8859-11ee-98e1-6d05b1d4d9a1
MIME-Version: 1.0
Date: Tue, 21 Nov 2023 11:31:02 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <764e7329-166a-4399-9e59-f69feca80137@suse.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <732f722b-fcdd-4a69-9c32-5c306e81c998@suse.com>
 <5fdbf9db5f45272bd25cf1b4b3184357@bugseng.com>
 <764e7329-166a-4399-9e59-f69feca80137@suse.com>
Message-ID: <3f148318b3d642200761e6e18aba7957@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-21 11:18, Jan Beulich wrote:
> On 21.11.2023 10:46, Nicola Vetrini wrote:
>> On 2023-11-21 10:16, Jan Beulich wrote:
>>> On 16.11.2023 10:08, Nicola Vetrini wrote:
>>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are
>>>> replaced
>>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>>> 
>>>> Add missing 'xen/compiler.h' #include-s where needed.
>>>> 
>>>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>>>> is modified to reflect this change.
>>>> 
>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>> ---
>>>> This patch should be applied after patch 2 of this series.
>>> 
>>> Code changes look okay to me, but I'm afraid I don't understand the
>>> remark
>>> above, and hence I fear I might be missing something.
>> 
>> Since on v2 it was observed that I forgot to state the dependency of
>> this patch on the R8.4 series, I added that comment here (otherwise
>> there would be no definition of asmlinkage).
> 
> IOW instead of "this series" you really meant to quote the title of 
> that
> other series?
> 
> Jan

I pasted the link to the mentioned series a couple of lines below. I 
should have put a reference to make this clearer.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 10:43:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 10:43:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637725.993711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ODz-0003ap-5f; Tue, 21 Nov 2023 10:43:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637725.993711; Tue, 21 Nov 2023 10:43: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 1r5ODz-0003ai-1M; Tue, 21 Nov 2023 10:43:23 +0000
Received: by outflank-mailman (input) for mailman id 637725;
 Tue, 21 Nov 2023 10: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 1r5ODx-0003aY-Bj; Tue, 21 Nov 2023 10: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 1r5ODx-0006mx-75; Tue, 21 Nov 2023 10: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 1r5ODw-0005YD-On; Tue, 21 Nov 2023 10:43:20 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5ODw-0003X0-OM; Tue, 21 Nov 2023 10:43: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=QlVG0laQjLcVLWjclOuUMccTlfwRF85YXLmpVHi88VM=; b=0NyzbZCd9bcHWCyRWxuJTJLhgS
	4kohEjouie7ha2QFCnNQGItB9H2zOWmkWLhA8umhzwdxDE8wWusqKCGHaecRa8SJJ7bwAP+c01Bzi
	6MgbPMzUVRe/FvgVYf59M0DM4WXIYRfhWXXICEjrRbfhGuknnNBxh8VND5bT/9BbKHQw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183803-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 183803: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start:fail:heisenbug
    linux-5.4:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:debian-hvm-install:fail:heisenbug
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-amd64-i386-qemuu-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-xl-qemut-win7-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-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemuu-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-qemut-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-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-pvshim:guest-start: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-amd64-amd64-libvirt-xsm:migrate-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-i386-libvirt-raw:migrate-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-amd64-amd64-libvirt-vhd: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-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-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-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-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl: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:saverestore-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-arndale: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-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-rtds: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:saverestore-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-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-amd64-amd64-libvirt:migrate-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
    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=ef379773e2e76d6470a907ae36c3d12f65a6ecdb
X-Osstest-Versions-That:
    linux=87e8e7a7aa1f96276252a90373de1d56add31918
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Nov 2023 10:43:20 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1  14 guest-start      fail in 183797 pass in 183803
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm 12 debian-hvm-install fail in 183797 pass in 183803
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 183797 pass in 183803
 test-amd64-i386-qemuu-rhel6hvm-amd 14 guest-start/redhat.repeat fail pass in 183797

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 183797 like 183714
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183714
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183714
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183714
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183714
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 183714
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183714
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183714
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183714
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183714
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183714
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183714
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183714
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183714
 test-amd64-i386-xl-pvshim    14 guest-start                  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-xsm 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-raw  14 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-amd64-amd64-libvirt-vhd 14 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-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-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-thunderx 15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-thunderx 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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-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-libvirt     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-rtds     15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  16 saverestore-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-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:
 linux                ef379773e2e76d6470a907ae36c3d12f65a6ecdb
baseline version:
 linux                87e8e7a7aa1f96276252a90373de1d56add31918

Last test of basis   183714  2023-11-08 10:46:25 Z   12 days
Testing same since   183797  2023-11-20 09:44:45 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Aananth V <aananthv@google.com>
  Abel Vesa <abel.vesa@linaro.org>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander A. Klimov <grandmaster@al2klimov.de>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Alexandru Ardelean <alexandru.ardelean@analog.com>
  Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
  Amit Kumar Mahapatra <amit.kumar-mahapatra@amd.com>
  Andrii Staikov <andrii.staikov@intel.com>
  Armin Wolf <W_Armin@gmx.de>
  Arnd Bergmann <arnd@arndb.de>
  Arseniy Velikanov <adomerlee@gmail.com>
  Barnabás Pőcze <pobrn@protonmail.com>
  Ben Wolsieffer <ben.wolsieffer@hefring.com>
  Benjamin Gray <bgray@linux.ibm.com>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Andersson <bjorn.andersson@linaro.org>
  Cezary Rojewski <cezary.rojewski@intel.com>
  Chao Yu <chao@kernel.org>
  Chen Ni <nichen@iscas.ac.cn>
  Chen Yu <yu.c.chen@intel.com>
  Chenyuan Mi <michenyuan@huawei.com>
  Christian Brauner <brauner@kernel.org>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  D. Wythe <alibuda@linux.alibaba.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Mentz <danielmentz@google.com>
  Danila Tikhonov <danila@jiaxyga.com>
  Danny Kaehn <danny.kaehn@plexus.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  Dennis Dalessandro <dennis.dalessandro@cornelisnetworks.com>
  Devi Priya <quic_devipriy@quicinc.com>
  Dhruva Gole <d-gole@ti.com>
  Dinghao Liu <dinghao.liu@zju.edu.cn>
  Dmitry Antipov <dmantipov@yandex.ru>
  Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
  Dmitry Torokhov <dmitry.torokhov@gmail.com>
  Dominik Brodowski <linux@dominikbrodowski.net>
  Dominique Martinet <dominique.martinet@atmark-techno.com>
  Eric Dumazet <edumazet@google.com>
  Erik Kurzinger <ekurzinger@nvidia.com>
  Felix Fietkau <nbd@nbd.name>
  Filipe Manana <fdmanana@suse.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Furong Xu <0x1207@gmail.com>
  Gaurav Jain <gaurav.jain@nxp.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  George Shuklin <george.shuklin@gmail.com>
  Gou Hao <gouhao@uniontech.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Guenter Roeck <linux@roeck-us.net>
  GUO Zihua <guozihua@huawei.com>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiko Stuebner <heiko@sntech.de>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Ira Weiny <ira.weiny@intel.com>
  Jaegeuk Kim <jaegeuk@kernel.org>
  Jakub Kicinski <kuba@kernel.org>
  Javier Carrasco <javier.carrasco.cruz@gmail.com>
  Jeff LaBundy <jeff@labundy.com>
  Jeremy Sowden <jeremy@azazel.net>
  Jia-Ju Bai <baijiaju@buaa.edu.cn>
  Jiasheng Jiang <jiasheng@iscas.ac.cn>
  Jinjie Ruan <ruanjinjie@huawei.com>
  Jiri Kosina <jkosina@suse.cz>
  John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
  Jonas Blixt <jonas.blixt@actia.se>
  Jonas Gorski <jonas.gorski@gmail.com>
  Jonas Karlman <jonas@kwiboo.se>
  Jonathan Cameron <Jonathan.Cameron@huawei.com>
  Jonathan Neuschäfer <j.neuschaefer@gmx.net>
  Juhee Kang <claudiajkang@gmail.com>
  Kalle Valo <kvalo@kernel.org>
  Katya Orlova <e.orlova@ispras.ru>
  Konstantin Meskhidze <konstantin.meskhidze@huawei.com>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
  Kuniyuki Iwashima <kuniyu@amazon.com>
  Kursad Oney <kursad.oney@broadcom.com>
  Lee Jones <lee.jones@linaro.org>
  Lee Jones <lee@kernel.org>
  Leon Romanovsky <leon@kernel.org>
  Leon Romanovsky <leonro@nvidia.com>
  Linus Walleij <linus.walleij@linaro.org>
  Linux Kernel Functional Testing <lkft@linaro.org>
  Maciej Żenczykowski <zenczykowski@gmail.com>
  Marc Kleine-Budde <mkl@pengutronix.de>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  Matti Vaittinen <mazziesaccount@gmail.com>
  Michael Ellerman <mpe@ellerman.id.au>
  Neal Cardwell <ncardwell@google.com>
  NeilBrown <neilb@suse.de>
  Nishanth Menon <nm@ti.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Patrick Thompson <ptf@google.com>
  Paul Moore <paul@paul-moore.com>
  Pavel Machek <pavel@ucw.cz>
  Peter Ujfalusi <peter.ujfalusi@gmail.com>
  Ping-Ke Shih <pkshih@realtek.com>
  Radhey Shyam Pandey <radhey.shyam.pandey@amd.com>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Randy Dunlap <rdunlap@infradead.org>
  Reuben Hawkins <reubenhwk@gmail.com>
  Rob Herring <robh@kernel.org>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Santosh Shilimkar <santosh.shilimkar@oracle.com>
  Sasha Levin <sashal@kernel.org>
  Sebastian Andrzej Siewior <bigeasy@linutronix.de>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Simon Ser <contact@emersion.fr>
  Stephen Boyd <sboyd@kernel.org>
  Sudeep Holla <sudeep.holla@arm.com>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Thomas Gleixner <tglx@linutronix.de>
  Timur I. Davletshin <timur.davletshin@gmail.com>
  Tomas Glozar <tglozar@redhat.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Uwe Kleine-König <uwe@kleine-koenig.org>
  Vinod Koul <vkoul@kernel.org>
  Vivek Gautam <vivek.gautam@codeaurora.org>
  Wang Yufen <wangyufen@huawei.com>
  Willem de Bruijn <willemb@google.com>
  Yan Zhai <yan@cloudflare.com>
  Yang Yingliang <yangyingliang@huawei.com>
  Yi Yang <yiyang13@huawei.com>
  Yuchung Cheng <ycheng@google.com>
  Zhang Rui <rui.zhang@intel.com>
  Zheng Wang <zyytlz.wz@163.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                           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                                  fail    
 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                                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-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


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
   87e8e7a7aa1f..ef379773e2e7  ef379773e2e76d6470a907ae36c3d12f65a6ecdb -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 10:57:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 10:57:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637731.993721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ORp-0007Ou-Dp; Tue, 21 Nov 2023 10:57:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637731.993721; Tue, 21 Nov 2023 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 1r5ORp-0007On-AX; Tue, 21 Nov 2023 10:57:41 +0000
Received: by outflank-mailman (input) for mailman id 637731;
 Tue, 21 Nov 2023 10: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=dasP=HC=gmail.com=marcandre.lureau@srs-se1.protection.inumbo.net>)
 id 1r5ORo-0007NR-6k
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 10:57:40 +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 c835c077-885c-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 11:57:37 +0100 (CET)
Received: by mail-qk1-x732.google.com with SMTP id
 af79cd13be357-77891c236fcso354791385a.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 02:57:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c835c077-885c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700564256; x=1701169056; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SJ+WDl7ap9d4Irav98OxABBWtmFBGJ/2Lqy/4Q7WP2A=;
        b=PqSvbztLPAGvi/zIw9kekwmi27dZIHSJNKJX8Wu2XwS3FOFunbzA/rjeNVoZse4TyX
         TBP3AONhorFLUrQvmrdw8ex03TVwEaCuQnmzdqE5oUm57dFJJ5BzjHRcJ0DRhwwNR+Y3
         /g+gq+26iI410itsPwAudaNXvE8ZLf7q1HxnRji0DzXPxueXtHolvnLsHjSn5tUqVWRt
         NtvKPBM50ntsa1tyeq5ywN19y9E4P+Z9fBnhKyDlmq9ui4+8NxMgHiJE6wKKWjIt+95T
         CNEy3D7wJuAef+ix0BYLuaGwSfraAUEE1zXYrwENSSGij+sPZ9uQ0TxukkjsQkervl6e
         AicA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700564257; x=1701169057;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SJ+WDl7ap9d4Irav98OxABBWtmFBGJ/2Lqy/4Q7WP2A=;
        b=izx3wlcaCb7L4T0Nkkn2swfc+KOKv+xqgNON8F+WzZgp/d/k2PSyUUKWa0rb87HBtT
         OJCJr2Cw0Hryr5MrfOGE1a2zkTEYlh9DrcZODjeGLQ/JCXqci/A4AeUHLXbU3nmmICK/
         hwID8lcTxpwANojFZXnqAgwLYqstkibLzCJBEusLEcijNHOsHr55NwRwfJwaHffY3Ij9
         H/7a4uFXZkldJNDYeenucYOvXs4P3Os2y0qNF3fz4kRaFKcoFCUej4VLvMFQqGOtDVCU
         4/Uod3RNB04TKYhffyhUrVmAmBb952CqAcmIQv5g1APEbOfP2O+hbyMJrft6SufovThg
         FxhQ==
X-Gm-Message-State: AOJu0YypbcBTf/iOS1Q0z0XHjpRL7uh3RB9BlRVXXewlK/EebGgHKe6Z
	JUrkUgK4ZecHqwwYsEgjWkW9L5DznFP83EpTgew=
X-Google-Smtp-Source: AGHT+IG+itVYM+AUOUqIeSoVw3MEvxDfAeTADoEcqgXVo4VkDVOdQ4BHWwfgSF73Uec0ZBPWnWk4VjPJcH4sqs7rtw0=
X-Received: by 2002:a05:620a:8388:b0:778:9ac2:5a9f with SMTP id
 pb8-20020a05620a838800b007789ac25a9fmr12609093qkn.11.1700564256669; Tue, 21
 Nov 2023 02:57:36 -0800 (PST)
MIME-Version: 1.0
References: <20231115172723.1161679-1-dwmw2@infradead.org> <20231115172723.1161679-3-dwmw2@infradead.org>
In-Reply-To: <20231115172723.1161679-3-dwmw2@infradead.org>
From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@gmail.com>
Date: Tue, 21 Nov 2023 14:57:25 +0400
Message-ID: <CAJ+F1C+3UQoEEvFgg8ENjR0xv-LTiPckx4XkCjVqOe2Jnx1EeA@mail.gmail.com>
Subject: Re: [PATCH 2/3] vl: disable default serial when xen-console is enabled
To: David Woodhouse <dwmw2@infradead.org>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Kevin Wolf <kwolf@redhat.com>, 
	Hanna Reitz <hreitz@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, xen-devel@lists.xenproject.org, qemu-block@nongnu.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi

On Wed, Nov 15, 2023 at 9:28=E2=80=AFPM David Woodhouse <dwmw2@infradead.or=
g> wrote:
>
> From: David Woodhouse <dwmw@amazon.co.uk>
>
> If a Xen console is configured on the command line, do not add a default
> serial port.
>
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>  system/vl.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/system/vl.c b/system/vl.c
> index 5af7ced2a1..8109231834 100644
> --- a/system/vl.c
> +++ b/system/vl.c
> @@ -198,6 +198,7 @@ static const struct {
>      const char *driver;
>      int *flag;
>  } default_list[] =3D {
> +    { .driver =3D "xen-console",          .flag =3D &default_serial    }=
,
>      { .driver =3D "isa-serial",           .flag =3D &default_serial    }=
,
>      { .driver =3D "isa-parallel",         .flag =3D &default_parallel  }=
,
>      { .driver =3D "isa-fdc",              .flag =3D &default_floppy    }=
,

Consistent with the rest of the lines (no conditional compilation nor
driver #define..)
Reviewed-by: Marc-Andr=C3=A9 Lureau <marcandre.lureau@redhat.com>

btw, while quickly testing this (do we have any test for xen-console?):

$ qemu --accel kvm,xen-version=3D0x40011,kernel-irqchip=3Dsplit -device
xen-console,chardev=3Dfoo -chardev stdio,id=3Dfoo
(and close gtk window)

Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
0x0000555555c11695 in qemu_free_net_client (nc=3D0x0) at ../net/net.c:387
387        if (nc->incoming_queue) {
(gdb) bt
#0  0x0000555555c11695 in qemu_free_net_client (nc=3D0x0) at ../net/net.c:3=
87
#1  0x0000555555c11a14 in qemu_del_nic (nic=3D0x555558b6f930) at ../net/net=
.c:459
#2  0x00005555559e398b in xen_netdev_unrealize (xendev=3D0x555558b6b510)
at ../hw/net/xen_nic.c:550
#3  0x0000555555b6e22f in xen_device_unrealize (dev=3D0x555558b6b510) at
../hw/xen/xen-bus.c:973
#4  0x0000555555b6e351 in xen_device_exit (n=3D0x555558b6b5e0, data=3D0x0)
at ../hw/xen/xen-bus.c:1002
#5  0x00005555560bc3fc in notifier_list_notify (list=3D0x5555570b5fc0
<exit_notifiers>, data=3D0x0) at ../util/notify.c:39
#6  0x0000555555ba1d49 in qemu_run_exit_notifiers () at ../system/runstate.=
c:800



--
Marc-Andr=C3=A9 Lureau


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 10:58:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 10:58:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637734.993730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5OSu-0008WA-PT; Tue, 21 Nov 2023 10:58:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637734.993730; Tue, 21 Nov 2023 10:58: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 1r5OSu-0008W3-Ma; Tue, 21 Nov 2023 10:58:48 +0000
Received: by outflank-mailman (input) for mailman id 637734;
 Tue, 21 Nov 2023 10:58: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=dasP=HC=gmail.com=marcandre.lureau@srs-se1.protection.inumbo.net>)
 id 1r5OSt-0008U3-3K
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 10:58:47 +0000
Received: from mail-qt1-x835.google.com (mail-qt1-x835.google.com
 [2607:f8b0:4864:20::835])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f0e67ae5-885c-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 11:58:46 +0100 (CET)
Received: by mail-qt1-x835.google.com with SMTP id
 d75a77b69052e-41feb963f60so45035011cf.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 02:58:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f0e67ae5-885c-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700564325; x=1701169125; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PEaONqdOt2Eyq+HE+uFwNnlWxug0GrbxQFhqUJNirOQ=;
        b=cuEQyQgfbCZlOkfkZNjeuWWN7MrQRUuorRUWKxYbic7yeIe7gv/UsekaQDx6u//QpL
         L3CCKTahNNDqxddkvlMBtHWihTFvW7jq+BtHy4NgUG3cKJ/GRB9v+jMs3FSfk9PD333v
         uCuSd6v1mQRvwyWBQk4vbkhS/Us1E2JEfZ3PkaNL1T5LZ4tgGwECeZwb+XJzv4MpLyuB
         tGhbhRzTwO/YFDLdtXRi2ou+LrJtuTMm0qJ1V4RgC93kmEOEp4enfiaQCMfUAW5tlBT5
         KCGdODCkDUYLzcc/n2znzXvc/rezISGeev5WB1eb8te4EkhACBjL4DvYUMrTbHi/AvYv
         xVkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700564325; x=1701169125;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=PEaONqdOt2Eyq+HE+uFwNnlWxug0GrbxQFhqUJNirOQ=;
        b=Y3La1wnrh6lQkeQXRft+GmKkqIv9n2ZVIP+nw0TuPglZj9lWATBM+MN4vUO6zN1FYz
         mMiSuWBmrG+ars6iXe08oBoFmn2JeGaw1z/r00o/Djejs8QOQA1UjmgiMMsDAVkQwud8
         EbQCUwgcwADZvcYtXUA5K+iWMRERRTSCT2UAIeoG9yo59KGpfeR/WCi4s+sShwRFq23e
         IypcjB/rkSZG4zaKF8nCy1SE90ZcP5ZAMIC9+LHJKqhV9KHfiX5NG2ScSj4AzpMar8SS
         nCjRqWDa1Qk7NK0bj0UWWklw2uH6MRH9sr8xyuOJQIxlSVkDTTbmuEXl+NQHn1vcl3mv
         Htrw==
X-Gm-Message-State: AOJu0YwOEFLyCsk8GIO9Gb/PNJxMT2MHduumEsaIN790gN13F9XB1oWi
	EgM9SELMfJdqOsxbWi8LqHN1VclaBfPHKFpTZzosqtaFO7N8QA==
X-Google-Smtp-Source: AGHT+IHBbREzLOIE6nFdzvpoaPkUDaqOq3VkvAP3+FMAblmioHciJ9MM77weoABuaqSRzDWhDYmGJ0HvV+WwDJlHN7A=
X-Received: by 2002:ac8:4655:0:b0:423:7637:149c with SMTP id
 f21-20020ac84655000000b004237637149cmr92946qto.4.1700564325006; Tue, 21 Nov
 2023 02:58:45 -0800 (PST)
MIME-Version: 1.0
References: <20231115172723.1161679-1-dwmw2@infradead.org> <20231115172723.1161679-3-dwmw2@infradead.org>
 <CAJ+F1C+3UQoEEvFgg8ENjR0xv-LTiPckx4XkCjVqOe2Jnx1EeA@mail.gmail.com>
In-Reply-To: <CAJ+F1C+3UQoEEvFgg8ENjR0xv-LTiPckx4XkCjVqOe2Jnx1EeA@mail.gmail.com>
From: =?UTF-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@gmail.com>
Date: Tue, 21 Nov 2023 14:58:33 +0400
Message-ID: <CAJ+F1CLA-gxmwuMqzjF-dhVqoTqpx1dsC5zNtoh4geLUzpbbVg@mail.gmail.com>
Subject: Re: [PATCH 2/3] vl: disable default serial when xen-console is enabled
To: David Woodhouse <dwmw2@infradead.org>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>, 
	Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Kevin Wolf <kwolf@redhat.com>, 
	Hanna Reitz <hreitz@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Paolo Bonzini <pbonzini@redhat.com>, xen-devel@lists.xenproject.org, qemu-block@nongnu.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi

On Tue, Nov 21, 2023 at 2:57=E2=80=AFPM Marc-Andr=C3=A9 Lureau
<marcandre.lureau@gmail.com> wrote:
>
> Hi
>
> On Wed, Nov 15, 2023 at 9:28=E2=80=AFPM David Woodhouse <dwmw2@infradead.=
org> wrote:
> >
> > From: David Woodhouse <dwmw@amazon.co.uk>
> >
> > If a Xen console is configured on the command line, do not add a defaul=
t
> > serial port.
> >
> > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > ---
> >  system/vl.c | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/system/vl.c b/system/vl.c
> > index 5af7ced2a1..8109231834 100644
> > --- a/system/vl.c
> > +++ b/system/vl.c
> > @@ -198,6 +198,7 @@ static const struct {
> >      const char *driver;
> >      int *flag;
> >  } default_list[] =3D {
> > +    { .driver =3D "xen-console",          .flag =3D &default_serial   =
 },
> >      { .driver =3D "isa-serial",           .flag =3D &default_serial   =
 },
> >      { .driver =3D "isa-parallel",         .flag =3D &default_parallel =
 },
> >      { .driver =3D "isa-fdc",              .flag =3D &default_floppy   =
 },
>
> Consistent with the rest of the lines (no conditional compilation nor
> driver #define..)
> Reviewed-by: Marc-Andr=C3=A9 Lureau <marcandre.lureau@redhat.com>
>
> btw, while quickly testing this (do we have any test for xen-console?):
>
> $ qemu --accel kvm,xen-version=3D0x40011,kernel-irqchip=3Dsplit -device
> xen-console,chardev=3Dfoo -chardev stdio,id=3Dfoo
> (and close gtk window)
>
> Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
> 0x0000555555c11695 in qemu_free_net_client (nc=3D0x0) at ../net/net.c:387
> 387        if (nc->incoming_queue) {
> (gdb) bt
> #0  0x0000555555c11695 in qemu_free_net_client (nc=3D0x0) at ../net/net.c=
:387
> #1  0x0000555555c11a14 in qemu_del_nic (nic=3D0x555558b6f930) at ../net/n=
et.c:459
> #2  0x00005555559e398b in xen_netdev_unrealize (xendev=3D0x555558b6b510)
> at ../hw/net/xen_nic.c:550
> #3  0x0000555555b6e22f in xen_device_unrealize (dev=3D0x555558b6b510) at
> ../hw/xen/xen-bus.c:973
> #4  0x0000555555b6e351 in xen_device_exit (n=3D0x555558b6b5e0, data=3D0x0=
)
> at ../hw/xen/xen-bus.c:1002
> #5  0x00005555560bc3fc in notifier_list_notify (list=3D0x5555570b5fc0
> <exit_notifiers>, data=3D0x0) at ../util/notify.c:39
> #6  0x0000555555ba1d49 in qemu_run_exit_notifiers () at ../system/runstat=
e.c:800

Ok, I found related "[PATCH 1/3] net: do not delete nics in net_cleanup()"



--=20
Marc-Andr=C3=A9 Lureau


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 10:59:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 10:59:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637736.993741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5OTp-0000rp-2G; Tue, 21 Nov 2023 10:59:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637736.993741; Tue, 21 Nov 2023 10: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 1r5OTo-0000rh-VM; Tue, 21 Nov 2023 10:59:44 +0000
Received: by outflank-mailman (input) for mailman id 637736;
 Tue, 21 Nov 2023 10:59: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=iVyF=HC=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r5OTn-0000rR-Hp
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 10:59:43 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 12d11931-885d-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 11:59:42 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-40859dee28cso26655945e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 02:59:42 -0800 (PST)
Received: from [10.95.175.211] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 v21-20020a05600c429500b0040a4cc876e0sm16479782wmc.40.2023.11.21.02.59.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 02:59:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12d11931-885d-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700564382; x=1701169182; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=0aBbFlNNIGjyQCXLjrh92AJeZxwPUBKAFPiK1JRzuDE=;
        b=e8QTsEnT/O44sTeLLy3toH0D0lOsLtpkPpMQ1GnnthQalsnB1NvSyUC7JQuXAXWE8v
         +RsquxrD/FRIJ1pnXIbkWRJP9fQU2sNE83KpsbW7RafoBO6uK4vdMNjgNvN2H/371GOL
         WDnDKJ9VlJhMc1KHvjB2M2tIH0/Ibjha8Fq+kibr+rzmalV3yqkFhyRPqnqnj3fskBOH
         yAHJ9lO12535rd8cqUtZsdUxzThFACGBD8nXfLhfkBl/kdY9p0UKYOCu9QmmPiWg6eEM
         IpyYjW4gsU7WUQn1vffwDp6VgmHzAvxN02SaeEKYxD97xnKqT/HIPX7ZipfT3Cic5pDD
         bl2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700564382; x=1701169182;
        h=content-transfer-encoding:in-reply-to:organization:content-language
         :references:cc:to:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0aBbFlNNIGjyQCXLjrh92AJeZxwPUBKAFPiK1JRzuDE=;
        b=Lv3TN3mgkFxWcWfQ8PuAlyeeXe5gw/55rh/rcOIdtcR5w+y3F9lskX6j252ZWKp3P6
         qBCEVPEJSGJTXdg9Or/ybZmeUqmVeDdYwM0AmixE9/3YVEad6GjIosc5ULzqIsM/ZF8u
         yFremHFf3STIVU6KGqYuNWY0KPdOktWZCU1M5a3X8SX66vFhu835rS5QJFNpiOYOnQTE
         bQg43YY60ux/pSujdMm5ULgC+QwQFRgMnGPq981cpj27O00vstMHnHs21c0IWkd7bzyg
         gNeHoBE80wegYN4ysDuh+kPhfg9hCUhfOqYaCSiM1jea5GIrlDcLVLyMBqGnGcHA55v7
         ahEA==
X-Gm-Message-State: AOJu0Yzlxi40cbbdnwEsIt6UM947FABoP2iaRcloKRpY5XcmDR5qguzh
	gCYmH1kKW8z+7yPN1nxgBP8=
X-Google-Smtp-Source: AGHT+IGlIetHxet5t4JoCfSOc3aRa0aU712VgafZ6O28U+VrbIAHSvlMGOBLHgze6oP5stvgX5rjlg==
X-Received: by 2002:a05:600c:1d23:b0:40a:4c7e:6f3e with SMTP id l35-20020a05600c1d2300b0040a4c7e6f3emr8048958wms.21.1700564381817;
        Tue, 21 Nov 2023 02:59:41 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <edeb4a60-0011-41ed-9998-25ab1a439b62@xen.org>
Date: Tue, 21 Nov 2023 10:59:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/3] vl: disable default serial when xen-console is
 enabled
To: David Woodhouse <dwmw2@infradead.org>, qemu-devel@nongnu.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Anthony Perard <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>, Jason Wang <jasowang@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>, xen-devel@lists.xenproject.org,
 qemu-block@nongnu.org
References: <20231115172723.1161679-1-dwmw2@infradead.org>
 <20231115172723.1161679-3-dwmw2@infradead.org>
Content-Language: en-US
Organization: Xen Project
In-Reply-To: <20231115172723.1161679-3-dwmw2@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 15/11/2023 17:24, David Woodhouse wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> If a Xen console is configured on the command line, do not add a default
> serial port.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   system/vl.c | 1 +
>   1 file changed, 1 insertion(+)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 11:22:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 11:22:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637744.993751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Opf-00075q-NA; Tue, 21 Nov 2023 11:22:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637744.993751; Tue, 21 Nov 2023 11:22: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 1r5Opf-00075j-J2; Tue, 21 Nov 2023 11:22:19 +0000
Received: by outflank-mailman (input) for mailman id 637744;
 Tue, 21 Nov 2023 11:22: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5Ope-00075d-Bf
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 11:22: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 39248695-8860-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 12:22:15 +0100 (CET)
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 DE1B91F8B8;
 Tue, 21 Nov 2023 11:22: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 BE441139FD;
 Tue, 21 Nov 2023 11:22:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id yTj/LOWSXGVBagAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 11:22: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: 39248695-8860-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700565733; 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:autocrypt:autocrypt;
	bh=5BN8NZJnsCm7mz3aoGPaHKGOXPh0J+Jvt/sj2a7sYFI=;
	b=iQ2UOgbMdcJGHVfbKiNYsddcNA5nXdzHXneuCfjTiFmNqVK347ICK8MUC6+iWEA64vHSoZ
	yLUG4i7P701uAW4Zn2w9Moti4RjTmSIh4EElRElJ8+sPe3GVlb+jRDhPrA13J8iJK8Iclb
	fyWJOg7gB0wlplUuz0ZGfOY0pfcm5No=
Message-ID: <bcce4434-ee56-45b8-9d01-46cd1972f864@suse.com>
Date: Tue, 21 Nov 2023 12:22:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] tools/xenstored: remove "-V" command line option
Content-Language: en-US
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-3-jgross@suse.com>
 <b0b4f6d8-75b4-4256-a9e2-0a9fdee81f33@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <b0b4f6d8-75b4-4256-a9e2-0a9fdee81f33@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------cmS0lhAD7os1w7MBGDdSijQW"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.84
X-Spamd-Result: default: False [-3.84 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 BAYES_HAM(-1.65)[92.80%];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------cmS0lhAD7os1w7MBGDdSijQW
Content-Type: multipart/mixed; boundary="------------kfBOaDBaL00hL1xsFcvs88Az";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <bcce4434-ee56-45b8-9d01-46cd1972f864@suse.com>
Subject: Re: [PATCH 2/5] tools/xenstored: remove "-V" command line option
References: <20231113124309.10862-1-jgross@suse.com>
 <20231113124309.10862-3-jgross@suse.com>
 <b0b4f6d8-75b4-4256-a9e2-0a9fdee81f33@xen.org>
In-Reply-To: <b0b4f6d8-75b4-4256-a9e2-0a9fdee81f33@xen.org>

--------------kfBOaDBaL00hL1xsFcvs88Az
Content-Type: multipart/mixed; boundary="------------OMLDL4jyGepRiWb948CteZuC"

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

T24gMTQuMTEuMjMgMjI6MDEsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDEzLzExLzIwMjMgMTI6NDMsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBU
aGUgIi1WIiAodmVyYm9zZSkgY29tbWFuZCBsaW5lIG9wdGlvbiBpcyBuZWFybHkgY29tcGxl
dGVseSByZWR1bmRhbnQNCj4+IHdpdGggImlvIiB0cmFjaW5nLiBKdXN0IHRoZSB0aW1lIG9m
IHRoZSBwcmludGVkIGRhdGEgaXMgYSBsaXR0bGUgYml0DQo+PiBkaWZmZXJlbnQsIHdoaWxl
IHRoZSB0cmFjaW5nIGlzIG1vcmUgaW5mb3JtYXRpdmUuDQo+IA0KPiBUaGUgY3VycmVudCBw
b3NpdGlvbiBvZiB0cmFjZV9pbygpIGlzIGEgYml0IGFubm95aW5nIGluIHdyaXRlX21lc3Nh
Z2VzKCkgYmVjYXVzZSANCj4gaXQgd2lsbCBvbmx5IGJlIGNhbGxlZCBvbmNlIHRoZSBtZXNz
YWdlIGhhcyBiZWVuIGZ1bGx5IHdyaXR0ZW4gdG8gdGhlIHJpbmcuIENhbiANCj4gd2UgY29u
c2lkZXIgYWRkaW5nIGEgdHJhY2VfKigpIHdoZW4gd2UgYXJlIGFib3V0IHRvIHdyaXRlPyAo
T3IgbWF5YmUgcXVldWUgdGhlIA0KPiBtZXNzYWdlPykNCg0KSSdsbCBhZGRyZXNzIHRoYXQg
aW4gYSBmdXR1cmUgcGF0Y2ggYnkgbWFraW5nIHRyYWNlX2lvKCkgYSBsaXR0bGUgYml0IG1v
cmUNCmZsZXhpYmxlLiBJbiB3cml0ZV9tZXNzYWdlcygpIEknbSBwbGFubmluZyB0byBlaXRo
ZXIgd3JpdGUgYSBzaW5nbGUgdHJhY2UNCnJlY29yZCBpbiBjYXNlIHRoZSBtZXNzYWdlIGNv
dWxkIGJlIHNlbnQgaW4gb25lIGdvLCBvciBzcGxpdCBlbnRyaWVzIGZvciB0aGUNCnN0YXJ0
IGFuZCB0aGUgZW5kIG9mIHdyaXRpbmcgdGhlIG1lc3NhZ2UuDQoNCj4gSW4gYW55IGNhc2Us
IEkgdGhpbmsgaXQgaXMgb2RkIHRvIGVuYWJsZSB2ZXJib3NlIGFuZCB0cmFjaW5nIHNlcGFy
YXRlbHkuIFNvIHdpdGggDQo+IG9yIHdpdGhvdXQ6DQo+IA0KPiBSZXZpZXdlZC1ieTogSnVs
aWVuIEdyYWxsIDxqZ3JhbGxAYW1hem9uLmNvbT4NCg0KVGhhbmtzLA0KDQoNCkp1ZXJnZW4N
Cg0K
--------------OMLDL4jyGepRiWb948CteZuC
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------OMLDL4jyGepRiWb948CteZuC--

--------------kfBOaDBaL00hL1xsFcvs88Az--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVckuUFAwAAAAAACgkQsN6d1ii/Ey/4
bQf/dALhEaBFYkQpFmD4vdi80vau2nO+BL3XOCdTopJBKSlZl4UgsA7fu2KqJbU8IHWMO32CV9CW
5kxzhEeFnPeBu1wsIEko66OlhMN03mXXsmAybwi8SywQeXp9WOwCk8sD1i//cOoLT9bKQUpIlQYm
xDNBOH0sCvmHQFtojFww4QflRKnJ4dK4WuF61ZZyL7h+t1aXpYTYnwdidleFDyLOGTGWcnEAMqoV
zoKyK9wc+v2l6DCp6L0w/JEgBav9b8cNuicqiaHm0fjLeXlIOQdwLsl+5ZihRGM/nS1b4U6g6/5Z
9P50Oh46reBXAq7ojSOcnMOLYC+IJ7F0dAqZ7TQNaA==
=yR7f
-----END PGP SIGNATURE-----

--------------cmS0lhAD7os1w7MBGDdSijQW--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 11:41:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 11:41:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637747.993760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5P7e-0003mf-5W; Tue, 21 Nov 2023 11:40:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637747.993760; Tue, 21 Nov 2023 11: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 1r5P7e-0003mY-30; Tue, 21 Nov 2023 11:40:54 +0000
Received: by outflank-mailman (input) for mailman id 637747;
 Tue, 21 Nov 2023 11:40: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5P7d-0003mS-HK
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 11:40:53 +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 d24d2ec1-8862-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 12:40:51 +0100 (CET)
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 A2E6D1F8B9;
 Tue, 21 Nov 2023 11:40: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 737C8138E3;
 Tue, 21 Nov 2023 11:40:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Uw/gGkKXXGXscwAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 11:40: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: d24d2ec1-8862-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700566850; 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=a7y/wxv+N116JoU0Fers1UC7fVNEd7gYr2U9LeWhEqE=;
	b=AMhsUckPIe/KmvRFzYibqYNriFpj3fcT6Fec/WB9WmXjp9n4RI+ZDQikFcYa/uFTnVWeVD
	Xnc7wQ9HpPieKFAcSD+1meYlwNzVhmIGLTOVI6Tp0c2qdCw181hH7AozldN1jpjSLnAlzm
	xCGN6QrbYonGk7bDBXJgPoyXPbxj/14=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 0/5] tools/xenstored: remove some command line options
Date: Tue, 21 Nov 2023 12:40:43 +0100
Message-Id: <20231121114048.31294-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: ***
X-Spam-Score: 3.63
X-Spamd-Result: default: False [3.63 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.07)[62.99%]
X-Spam-Flag: NO

Remove some command line options which have no real use case.

Changes in V2:
- moved removal of "-N" into last patch of the series, as this is the
  only option which seems to have a use case (OTOH using it has some
  downsides as well).

Juergen Gross (5):
  tools/xenstored: remove "-D" command line parameter
  tools/xenstored: remove "-V" command line option
  tools/xenstored: remove the "-P" command line option
  tools/xenstored: remove the "-R" command line option
  tools/xenstored: remove "-N" command line option

 tools/xenstored/core.c | 81 +++++++-----------------------------------
 1 file changed, 12 insertions(+), 69 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 11:41:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 11:41:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637748.993771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5P7k-00042X-Ez; Tue, 21 Nov 2023 11:41:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637748.993771; Tue, 21 Nov 2023 11: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 1r5P7k-00042O-Ah; Tue, 21 Nov 2023 11:41:00 +0000
Received: by outflank-mailman (input) for mailman id 637748;
 Tue, 21 Nov 2023 11:40: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5P7j-00041h-0A
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 11:40: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 d6032bb1-8862-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 12:40:57 +0100 (CET)
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 43D6A1F8BD;
 Tue, 21 Nov 2023 11:40: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 14154138E3;
 Tue, 21 Nov 2023 11:40:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id y5GFA0iXXGUTdAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 11:40: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: d6032bb1-8862-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700566856; 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=3kffZ5HEaRzPIhSAhjp1pFj/sXobLeFjpgKZB+hLBr4=;
	b=VwCJsnSN0JL+V5uN5KeTb6BHohyex6hn1ExTYCjDQfgLxoYXV6NOxR3FlZX0U8uqKQVQDA
	B4qDzPuWsQqgoMdxGqaPRy9xkVYwQoiQWrLeh1ClWZVm7TTjGq1glG9FF3ldwqV82pB+XT
	ZK/r4a6h+yBnDyjF/vjUuL8I9rnu/Gg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 1/5] tools/xenstored: remove "-D" command line parameter
Date: Tue, 21 Nov 2023 12:40:44 +0100
Message-Id: <20231121114048.31294-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121114048.31294-1-jgross@suse.com>
References: <20231121114048.31294-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.30
X-Spamd-Result: default: False [-0.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[6];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Remove the "-D" command parameter, which is disabling initialization of
the mandatory domain data handling.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstored/core.c | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 311764eb0c..3465b7ecf1 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2661,7 +2661,6 @@ static void usage(void)
 "\n"
 "where options may include:\n"
 "\n"
-"  -D, --no-domain-init    to state that xenstored should not initialise dom0,\n"
 "  -F, --pid-file <file>   giving a file for the daemon's pid to be written,\n"
 "  -H, --help              to output this message,\n"
 "  -N, --no-fork           to request that the daemon does not fork,\n"
@@ -2708,7 +2707,6 @@ static void usage(void)
 
 
 static struct option options[] = {
-	{ "no-domain-init", 0, NULL, 'D' },
 	{ "entry-nb", 1, NULL, 'E' },
 	{ "pid-file", 1, NULL, 'F' },
 	{ "event", 1, NULL, 'e' },
@@ -2841,7 +2839,6 @@ int main(int argc, char *argv[])
 	int sock_pollfd_idx = -1;
 	bool dofork = true;
 	bool outputpid = false;
-	bool no_domain_init = false;
 	bool live_update = false;
 	const char *pidfile = NULL;
 	int timeout;
@@ -2850,12 +2847,9 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "DE:F:H::KNPS:t:A:M:Q:q:T:RVW:w:U",
+				  "E:F:H::KNPS:t:A:M:Q:q:T:RVW:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
-		case 'D':
-			no_domain_init = true;
-			break;
 		case 'E':
 			hard_quotas[ACC_NODES].val = get_optval_uint(optarg);
 			break;
@@ -2964,7 +2958,7 @@ int main(int argc, char *argv[])
 	init_pipe(reopen_log_pipe);
 
 	/* Listen to hypervisor. */
-	if (!no_domain_init && !live_update) {
+	if (!live_update) {
 		domain_init(-1);
 		dom0_init();
 	}
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 11:41:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 11:41:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637749.993781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5P7o-0004KV-OC; Tue, 21 Nov 2023 11:41:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637749.993781; Tue, 21 Nov 2023 11: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 1r5P7o-0004KO-LE; Tue, 21 Nov 2023 11:41:04 +0000
Received: by outflank-mailman (input) for mailman id 637749;
 Tue, 21 Nov 2023 11: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5P7m-00041h-OV
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 11:41:02 +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 d8c5c014-8862-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 12:41:02 +0100 (CET)
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 E633D218B5;
 Tue, 21 Nov 2023 11:41: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 A84FE138E3;
 Tue, 21 Nov 2023 11:41:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id swa/J02XXGUhdAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 11: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: d8c5c014-8862-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700566861; 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=ixUKxwXwvgJI13MFOVkZeKVDZtbxXeO2DXr+/EHH4pk=;
	b=ffLet7GrL/rEYuhg/59te0ik6SbvshhL4c958B5cyyXDm7iAPHl4VwYaWcpyDQuEEWJU8P
	30QUKTQun4UuTRpeWTjsO8+XHhg5tI9X7mVfA+SzECMEBjaB0qCxOu3skfqbg5+neTghpj
	GspJTEabEIdCjU6uV4b+mp0HIp+x/MA=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 2/5] tools/xenstored: remove "-V" command line option
Date: Tue, 21 Nov 2023 12:40:45 +0100
Message-Id: <20231121114048.31294-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121114048.31294-1-jgross@suse.com>
References: <20231121114048.31294-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.30
X-Spamd-Result: default: False [-0.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[6];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

The "-V" (verbose) command line option is nearly completely redundant
with "io" tracing. Just the time of the printed data is a little bit
different, while the tracing is more informative.

Remove the verbose option.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstored/core.c | 20 ++------------------
 1 file changed, 2 insertions(+), 18 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 3465b7ecf1..194e24238b 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -76,7 +76,6 @@ static int sock = -1;
 int orig_argc;
 char **orig_argv;
 
-static bool verbose = false;
 LIST_HEAD(connections);
 int tracefd = -1;
 static bool recovery = true;
@@ -329,11 +328,6 @@ static bool write_messages(struct connection *conn)
 		return true;
 
 	if (out->inhdr) {
-		if (verbose)
-			xprintf("Writing msg %s (%.*s) out to %p\n",
-				sockmsg_string(out->hdr.msg.type),
-				out->hdr.msg.len,
-				out->buffer, conn);
 		ret = conn->funcs->write(conn, out->hdr.raw + out->used,
 					 sizeof(out->hdr) - out->used);
 		if (ret < 0)
@@ -2134,11 +2128,6 @@ static bool process_delayed_message(struct delayed_request *req)
 
 static void consider_message(struct connection *conn)
 {
-	if (verbose)
-		xprintf("Got message %s len %i from %p\n",
-			sockmsg_string(conn->in->hdr.msg.type),
-			conn->in->hdr.msg.len, conn);
-
 	conn->is_stalled = false;
 	/*
 	 * Currently, Live-Update is not supported if there is active
@@ -2701,8 +2690,7 @@ static void usage(void)
 "  -R, --no-recovery       to request that no recovery should be attempted when\n"
 "                          the store is corrupted (debug only),\n"
 "  -K, --keep-orphans      don't delete nodes owned by a domain when the\n"
-"                          domain is deleted (this is a security risk!)\n"
-"  -V, --verbose           to request verbose execution.\n");
+"                          domain is deleted (this is a security risk!)\n");
 }
 
 
@@ -2726,7 +2714,6 @@ static struct option options[] = {
 	{ "timeout", 1, NULL, 'w' },
 	{ "no-recovery", 0, NULL, 'R' },
 	{ "keep-orphans", 0, NULL, 'K' },
-	{ "verbose", 0, NULL, 'V' },
 	{ "watch-nb", 1, NULL, 'W' },
 #ifndef NO_LIVE_UPDATE
 	{ "live-update", 0, NULL, 'U' },
@@ -2847,7 +2834,7 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "E:F:H::KNPS:t:A:M:Q:q:T:RVW:w:U",
+				  "E:F:H::KNPS:t:A:M:Q:q:T:RW:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
 		case 'E':
@@ -2884,9 +2871,6 @@ int main(int argc, char *argv[])
 		case 'K':
 			keep_orphans = true;
 			break;
-		case 'V':
-			verbose = true;
-			break;
 		case 'W':
 			hard_quotas[ACC_WATCH].val = get_optval_uint(optarg);
 			break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 11:41:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 11:41:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637750.993791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5P7t-0004er-VH; Tue, 21 Nov 2023 11:41:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637750.993791; Tue, 21 Nov 2023 11:41: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 1r5P7t-0004ei-SC; Tue, 21 Nov 2023 11:41:09 +0000
Received: by outflank-mailman (input) for mailman id 637750;
 Tue, 21 Nov 2023 11:41: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5P7s-00041h-9O
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 11:41:08 +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 dc2193b8-8862-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 12:41:07 +0100 (CET)
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 8B38121923;
 Tue, 21 Nov 2023 11:41: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 54EED138E3;
 Tue, 21 Nov 2023 11:41:07 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id HSuRE1OXXGUvdAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 11:41: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: dc2193b8-8862-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700566867; 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=KvlJrXDiW9tZqlu8RFLLAE1oGWnA1kYBF6QNlBpYHK8=;
	b=VxdGkqvuPNJlmjlQX3kaFIMfrMl7iNwUyfITgCky8ixUQquY5jBaz9zJZ8+1ag9g5a261G
	wdL9xFV+SmrI1ZV3lZl8vD0D/mqseJEoqDsuUpB9A+BeyEtNvNDikK7bVUlBmAXE5bTLBQ
	CIWw/Qn1KQDnqVnOB4OkL+AeM5PvJRg=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 3/5] tools/xenstored: remove the "-P" command line option
Date: Tue, 21 Nov 2023 12:40:46 +0100
Message-Id: <20231121114048.31294-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121114048.31294-1-jgross@suse.com>
References: <20231121114048.31294-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.30
X-Spamd-Result: default: False [-0.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[6];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[15.98%]
X-Spam-Flag: NO

The "-P" command line option just results in printing the PID of the
xenstored daemon to stdout before stdout is being closed. The same
information can be retrieved from the PID file via the "-F" option.

Remove the redundant "-P" option.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstored/core.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 194e24238b..3ce50b313b 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2653,7 +2653,6 @@ static void usage(void)
 "  -F, --pid-file <file>   giving a file for the daemon's pid to be written,\n"
 "  -H, --help              to output this message,\n"
 "  -N, --no-fork           to request that the daemon does not fork,\n"
-"  -P, --output-pid        to request that the pid of the daemon is output,\n"
 "  -T, --trace-file <file> giving the file for logging, and\n"
 "      --trace-control=+<switch> activate a specific <switch>\n"
 "      --trace-control=-<switch> deactivate a specific <switch>\n"
@@ -2702,7 +2701,6 @@ static struct option options[] = {
 	{ "help", 0, NULL, 'H' },
 	{ "no-fork", 0, NULL, 'N' },
 	{ "priv-domid", 1, NULL, 'p' },
-	{ "output-pid", 0, NULL, 'P' },
 	{ "entry-size", 1, NULL, 'S' },
 	{ "trace-file", 1, NULL, 'T' },
 	{ "trace-control", 1, NULL, 1 },
@@ -2825,7 +2823,6 @@ int main(int argc, char *argv[])
 	int opt;
 	int sock_pollfd_idx = -1;
 	bool dofork = true;
-	bool outputpid = false;
 	bool live_update = false;
 	const char *pidfile = NULL;
 	int timeout;
@@ -2834,7 +2831,7 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "E:F:H::KNPS:t:A:M:Q:q:T:RW:w:U",
+				  "E:F:H::KNS:t:A:M:Q:q:T:RW:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
 		case 'E':
@@ -2849,9 +2846,6 @@ int main(int argc, char *argv[])
 		case 'N':
 			dofork = false;
 			break;
-		case 'P':
-			outputpid = true;
-			break;
 		case 'R':
 			recovery = false;
 			break;
@@ -2947,11 +2941,6 @@ int main(int argc, char *argv[])
 		dom0_init();
 	}
 
-	if (outputpid) {
-		printf("%ld\n", (long)getpid());
-		fflush(stdout);
-	}
-
 	/* redirect to /dev/null now we're ready to accept connections */
 	if (dofork && !live_update)
 		finish_daemonize();
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 11:41:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 11:41:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637751.993801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5P7z-00056E-7e; Tue, 21 Nov 2023 11:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637751.993801; Tue, 21 Nov 2023 11: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 1r5P7z-000558-49; Tue, 21 Nov 2023 11:41:15 +0000
Received: by outflank-mailman (input) for mailman id 637751;
 Tue, 21 Nov 2023 11:41: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5P7x-00041h-Uy
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 11:41:13 +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 df7a62ef-8862-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 12:41:13 +0100 (CET)
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 1CF1E1F8B8;
 Tue, 21 Nov 2023 11:41: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 E3B66138E3;
 Tue, 21 Nov 2023 11:41:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id hVs+NliXXGU4dAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 11: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: df7a62ef-8862-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700566873; 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=heCKLHEovjITn1/bJzQ4zeWzaVwCVa71/Mq7z/0Cys8=;
	b=tvAg9wARHDX6VxzWVocu3dRql4BsGfqgKwpTX6RSve6Djww5cLhGYcphpKzpcnWKmRoDeV
	yi8rAupjDiLaZk3nNTT7L7Ln/bt4dROHuEkCLOAVYvXbDY1xflkfpFPNjDnP8l2WXDSeGJ
	JrYDu5tq6UcFTqFcPk5sc7TyWqO6u0o=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2 4/5] tools/xenstored: remove the "-R" command line option
Date: Tue, 21 Nov 2023 12:40:47 +0100
Message-Id: <20231121114048.31294-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121114048.31294-1-jgross@suse.com>
References: <20231121114048.31294-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[6];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

The "-R" (no recovery) command line option enables to omit fixing the
node store in case of detected inconsistencies.

This might have been of interest in the past, when the node data base
was kept in a file, but now the usability of this option is zero.

Remove the "-R" option.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
---
 tools/xenstored/core.c | 20 ++++----------------
 1 file changed, 4 insertions(+), 16 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 3ce50b313b..43be89c4fc 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -78,7 +78,6 @@ char **orig_argv;
 
 LIST_HEAD(connections);
 int tracefd = -1;
-static bool recovery = true;
 bool keep_orphans = false;
 static int reopen_log_pipe[2];
 static int reopen_log_pipe0_pollfd_idx = -1;
@@ -2443,9 +2442,6 @@ int remember_string(struct hashtable *hash, const char *str)
  * have a corresponding child node (and if so, delete them).  Each valid child
  * is then recursively checked.
  *
- * No deleting is performed if the recovery flag is cleared (i.e. -R was
- * passed on the command line).
- *
  * As we go, we record each node in the given reachable hashtable.  These
  * entries will be used later in clean_store.
  */
@@ -2462,8 +2458,7 @@ static int check_store_step(const void *ctx, struct connection *conn,
 
 	if (hashtable_search(data->reachable, (void *)node->name)) {
 		log("check_store: '%s' is duplicated!", node->name);
-		return recovery ? WALK_TREE_RM_CHILDENTRY
-				: WALK_TREE_SKIP_CHILDREN;
+		return WALK_TREE_RM_CHILDENTRY;
 	}
 
 	if (remember_string(data->reachable, node->name))
@@ -2479,7 +2474,7 @@ static int check_store_enoent(const void *ctx, struct connection *conn,
 {
 	log("check_store: node '%s' not found", name);
 
-	return recovery ? WALK_TREE_RM_CHILDENTRY : WALK_TREE_OK;
+	return WALK_TREE_RM_CHILDENTRY;
 }
 
 
@@ -2504,8 +2499,7 @@ static int clean_store_(const void *key, void *val, void *private)
 	}
 	if (!hashtable_search(reachable, name)) {
 		log("clean_store: '%s' is orphaned!", name);
-		if (recovery)
-			db_delete(NULL, name, NULL);
+		db_delete(NULL, name, NULL);
 	}
 
 	talloc_free(name);
@@ -2686,8 +2680,6 @@ static void usage(void)
 "  -w, --timeout <what>=<seconds>   set the timeout in seconds for <what>,\n"
 "                          allowed timeout candidates are:\n"
 "                          watch-event: time a watch-event is kept pending\n"
-"  -R, --no-recovery       to request that no recovery should be attempted when\n"
-"                          the store is corrupted (debug only),\n"
 "  -K, --keep-orphans      don't delete nodes owned by a domain when the\n"
 "                          domain is deleted (this is a security risk!)\n");
 }
@@ -2710,7 +2702,6 @@ static struct option options[] = {
 	{ "quota", 1, NULL, 'Q' },
 	{ "quota-soft", 1, NULL, 'q' },
 	{ "timeout", 1, NULL, 'w' },
-	{ "no-recovery", 0, NULL, 'R' },
 	{ "keep-orphans", 0, NULL, 'K' },
 	{ "watch-nb", 1, NULL, 'W' },
 #ifndef NO_LIVE_UPDATE
@@ -2831,7 +2822,7 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "E:F:H::KNS:t:A:M:Q:q:T:RW:w:U",
+				  "E:F:H::KNS:t:A:M:Q:q:T:W:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
 		case 'E':
@@ -2846,9 +2837,6 @@ int main(int argc, char *argv[])
 		case 'N':
 			dofork = false;
 			break;
-		case 'R':
-			recovery = false;
-			break;
 		case 'S':
 			hard_quotas[ACC_NODESZ].val = get_optval_uint(optarg);
 			break;
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 11:41:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 11:41:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637756.993811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5P85-0005Yz-HP; Tue, 21 Nov 2023 11:41:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637756.993811; Tue, 21 Nov 2023 11:41: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 1r5P85-0005Yn-DQ; Tue, 21 Nov 2023 11:41:21 +0000
Received: by outflank-mailman (input) for mailman id 637756;
 Tue, 21 Nov 2023 11:41: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=AdV8=HC=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5P83-00041h-UK
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 11:41:19 +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 e2d1a7a6-8862-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 12:41:19 +0100 (CET)
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 B9A96218F2;
 Tue, 21 Nov 2023 11:41: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 82BEF138E3;
 Tue, 21 Nov 2023 11:41:18 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id uB6RHl6XXGVOdAAAMHmgww
 (envelope-from <jgross@suse.com>); Tue, 21 Nov 2023 11:41: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: e2d1a7a6-8862-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700566878; 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=QJ2+NXd89caogZEaF0ZqIYFijCKoRqJHe0UD7PTMHYc=;
	b=jtADvQ6zfkEcbVv5+hh18xK8b2WKli5edwLx66fXpH+4W/U6GzJIGcC3N9CXFnZ+MjgOXM
	ZuIiEaMTR8UhxkhUAhLwz+IJYjuiURGBgUQN93BlaaEhSkZZagk6nRtAAdVF9w8qTifMhO
	L1mc+aRECbRCthf3k/DbkZMUKYP/x2s=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 5/5] tools/xenstored: remove "-N" command line option
Date: Tue, 21 Nov 2023 12:40:48 +0100
Message-Id: <20231121114048.31294-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231121114048.31294-1-jgross@suse.com>
References: <20231121114048.31294-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.30
X-Spamd-Result: default: False [-3.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

The "-N" (do not daemonize) command line option is of questionable use:
its sole purpose seems to be to aid debugging of xenstored by making it
easier to start xenstored under gdb, or to see any debug messages
easily.

Debug messages can as well be sent to syslog(), while gdb can be
attached to the daemon easily. The only not covered case is an error
while initializing xenstored, but this could be handled e.g. by saving
a core dump, which can be analyzed later.

The call of talloc_enable_leak_report_full() done only with "-N"
specified is no longer needed, as the same can be achieved via
"xenstore-control memreport".

Signed-off-by: Juergen Gross <jgross@suse.com>
---
Slightly RFC, as this is making debugging a little bit harder in
specific cases. OTOH I didn't use this option since years, in spite of
having done a _lot_ of xenstore hacking.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 tools/xenstored/core.c | 26 +++++++-------------------
 1 file changed, 7 insertions(+), 19 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 43be89c4fc..f5766452fe 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -2646,7 +2646,6 @@ static void usage(void)
 "\n"
 "  -F, --pid-file <file>   giving a file for the daemon's pid to be written,\n"
 "  -H, --help              to output this message,\n"
-"  -N, --no-fork           to request that the daemon does not fork,\n"
 "  -T, --trace-file <file> giving the file for logging, and\n"
 "      --trace-control=+<switch> activate a specific <switch>\n"
 "      --trace-control=-<switch> deactivate a specific <switch>\n"
@@ -2691,7 +2690,6 @@ static struct option options[] = {
 	{ "event", 1, NULL, 'e' },
 	{ "master-domid", 1, NULL, 'm' },
 	{ "help", 0, NULL, 'H' },
-	{ "no-fork", 0, NULL, 'N' },
 	{ "priv-domid", 1, NULL, 'p' },
 	{ "entry-size", 1, NULL, 'S' },
 	{ "trace-file", 1, NULL, 'T' },
@@ -2813,7 +2811,6 @@ int main(int argc, char *argv[])
 {
 	int opt;
 	int sock_pollfd_idx = -1;
-	bool dofork = true;
 	bool live_update = false;
 	const char *pidfile = NULL;
 	int timeout;
@@ -2822,7 +2819,7 @@ int main(int argc, char *argv[])
 	orig_argv = argv;
 
 	while ((opt = getopt_long(argc, argv,
-				  "E:F:H::KNS:t:A:M:Q:q:T:W:w:U",
+				  "E:F:H::KS:t:A:M:Q:q:T:W:w:U",
 				  options, NULL)) != -1) {
 		switch (opt) {
 		case 'E':
@@ -2834,9 +2831,6 @@ int main(int argc, char *argv[])
 		case 'H':
 			usage();
 			return 0;
-		case 'N':
-			dofork = false;
-			break;
 		case 'S':
 			hard_quotas[ACC_NODESZ].val = get_optval_uint(optarg);
 			break;
@@ -2899,18 +2893,13 @@ int main(int argc, char *argv[])
 	/* Errors ignored here, will be reported when we open files */
 	mkdir(xenstore_daemon_rundir(), 0755);
 
-	if (dofork) {
-		openlog("xenstored", 0, LOG_DAEMON);
-		if (!live_update)
-			daemonize();
-	}
+	openlog("xenstored", 0, LOG_DAEMON);
+	if (!live_update)
+		daemonize();
+
 	if (pidfile)
 		write_pidfile(pidfile);
 
-	/* Talloc leak reports go to stderr, which is closed if we fork. */
-	if (!dofork)
-		talloc_enable_leak_report_full();
-
 	/* Don't kill us with SIGPIPE. */
 	signal(SIGPIPE, SIG_IGN);
 
@@ -2930,11 +2919,10 @@ int main(int argc, char *argv[])
 	}
 
 	/* redirect to /dev/null now we're ready to accept connections */
-	if (dofork && !live_update)
+	if (!live_update)
 		finish_daemonize();
 #ifndef __MINIOS__
-	if (dofork)
-		xprintf = trace;
+	xprintf = trace;
 #endif
 
 	signal(SIGHUP, trigger_reopen_log);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 11:42:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 11:42:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637760.993821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5P9L-00072g-TA; Tue, 21 Nov 2023 11:42:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637760.993821; Tue, 21 Nov 2023 11:42: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 1r5P9L-00072Z-P1; Tue, 21 Nov 2023 11:42:39 +0000
Received: by outflank-mailman (input) for mailman id 637760;
 Tue, 21 Nov 2023 11:42: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=3FOU=HC=casper.srs.infradead.org=BATV+dd65dc28b6171b1f8060+7394+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r5P9J-00072B-Sc
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 11:42:38 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10c682ed-8863-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 12:42:36 +0100 (CET)
Received: from [2001:8b0:10b:5:9608:1c8b:df8c:28f9]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r5P9A-005XoR-Cv; Tue, 21 Nov 2023 11:42: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: 10c682ed-8863-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=9ew9MH0xzFIFMJHJYXzynNycQ9kyMj0KLU/EzCwX4Oc=; b=b37CHl22aUKeBT1CKQ2Lg+V6WX
	fILlAQ0cOts05JEs379xn9uzSJwyFOo31F58cVECAFQOu6biT3pjucMTBNEl4E1BIEo81CUtKvl8A
	nRGEBfzPsCAMO36Wnv/UndNJRPpILzudgjanzWKXaL9/lFMtjaNUh70JQrbYNAPUPtSso8UMWGwcB
	C+yeGVTzXGbXiirFZ750TKFGw0Zav4X6HnsJqaH4w0Ue+RipnUq83zQAH5R9VI9AstSLa456ePeJZ
	nFX3MF6MnPJOuGR92bucfVhSvn7adrsN45X0JpB7Ut9j2iypTAJMVmrdG0iAp5wnLeGThUJSyX1f2
	PcD0i6Mw==;
Message-ID: <dde438c74190be1013079a82dc7cfa17f66a9450.camel@infradead.org>
Subject: Re: [PATCH 2/3] vl: disable default serial when xen-console is
 enabled
From: David Woodhouse <dwmw2@infradead.org>
To: =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@gmail.com>
Cc: qemu-devel@nongnu.org, Stefano Stabellini <sstabellini@kernel.org>, 
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Jason Wang
 <jasowang@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, 
 xen-devel@lists.xenproject.org, qemu-block@nongnu.org
Date: Tue, 21 Nov 2023 11:42:27 +0000
In-Reply-To: <CAJ+F1CLA-gxmwuMqzjF-dhVqoTqpx1dsC5zNtoh4geLUzpbbVg@mail.gmail.com>
References: <20231115172723.1161679-1-dwmw2@infradead.org>
	 <20231115172723.1161679-3-dwmw2@infradead.org>
	 <CAJ+F1C+3UQoEEvFgg8ENjR0xv-LTiPckx4XkCjVqOe2Jnx1EeA@mail.gmail.com>
	 <CAJ+F1CLA-gxmwuMqzjF-dhVqoTqpx1dsC5zNtoh4geLUzpbbVg@mail.gmail.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-A/gs8wUD5X2Txxj5KQPV"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Tue, 2023-11-21 at 14:58 +0400, Marc-Andr=C3=A9 Lureau wrote:
>=20
> > Consistent with the rest of the lines (no conditional compilation nor
> > driver #define..)
> > Reviewed-by: Marc-Andr=C3=A9 Lureau <marcandre.lureau@redhat.com>

Thanks.

> > btw, while quickly testing this (do we have any test for xen-console?):
> >=20
> > $ qemu --accel kvm,xen-version=3D0x40011,kernel-irqchip=3Dsplit -device
> > xen-console,chardev=3Dfoo -chardev stdio,id=3Dfoo
> > (and close gtk window)
> >=20
> > Thread 1 "qemu-system-x86" received signal SIGSEGV, Segmentation fault.
> > 0x0000555555c11695 in qemu_free_net_client (nc=3D0x0) at ../net/net.c:3=
87
> > 387=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 if (nc->incoming_queue) {
> > (gdb) bt
> > #0=C2=A0 0x0000555555c11695 in qemu_free_net_client (nc=3D0x0) at ../ne=
t/net.c:387
> > #1=C2=A0 0x0000555555c11a14 in qemu_del_nic (nic=3D0x555558b6f930) at .=
./net/net.c:459
> > #2=C2=A0 0x00005555559e398b in xen_netdev_unrealize (xendev=3D0x555558b=
6b510)
> > at ../hw/net/xen_nic.c:550
> > #3=C2=A0 0x0000555555b6e22f in xen_device_unrealize (dev=3D0x555558b6b5=
10) at
> > ../hw/xen/xen-bus.c:973
> > #4=C2=A0 0x0000555555b6e351 in xen_device_exit (n=3D0x555558b6b5e0, dat=
a=3D0x0)
> > at ../hw/xen/xen-bus.c:1002
> > #5=C2=A0 0x00005555560bc3fc in notifier_list_notify (list=3D0x5555570b5=
fc0
> > <exit_notifiers>, data=3D0x0) at ../util/notify.c:39
> > #6=C2=A0 0x0000555555ba1d49 in qemu_run_exit_notifiers () at ../system/=
runstate.c:800
>=20
> Ok, I found related "[PATCH 1/3] net: do not delete nics in net_cleanup()=
"

Yep, and I think I saw that go by in a pull request not many hours ago,
so it should be fixed by -rc1. Thanks for testing.

--=-A/gs8wUD5X2Txxj5KQPV
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIxMTE0MjI3WjAvBgkqhkiG9w0BCQQxIgQgmF+H6FQ1
YEqfF9zwYRrK36MFj3LqtIKknWE2538AjVEwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAXHsn21rVomCHeO8uyKZAZtX9gOl9c4u8M
5RU3eyga8+sgYHUjQdmi1U46Qti/bgbTQJvtnBpa3/kopt6KlDOASwKVB6zupNCULRLDd4vYBEye
rWf83ZB9srfRZEzcV/p1v6G5/+ic+wTmwCC4AuZbCyjiOzZLnWuntkHEm6vJiOgUBIz3qNs8tE7L
/IdvUBc8zp3xHdqRL7wKlRwPeZcmLRI90bvemVJxa6sDltipnlvAW/Wmyp4oky2fMIWC8mZOTyZm
s9EGYYrKiyetFYdg4PPTNl/E+nodXkI2slJErScGizsCQtpeZgacB4sS+d/Tw1rIKCeD8xymMf1q
XZAdKAEmxEeY9ZEQZEwRw/kActwMIUPfvoGMOtNJHNZ3OjHqMKr+X2ugqkFosxfvDmE9xI9Bo1IE
AgskmWE7HlwNZHMtYAhf2BK6NtzCoJKjbxx3b0UjjpXJOZk3X/WjFcTrqq/jkm0IZuIMYMI0sCK6
TF7Z7UDHZNp3U+tEki0vkeGMYS948e/iYXizxlfTa//PepBWj2LWbfSi/i6zt7ZiDKwZOQF8sSBI
+9JsZ2uxY36Z2d20VufQMxD5SsUkYLoK3k/5exNGExeywgrh50Bz04Z0qd4uw/OJR/Z/nNI1ZZeF
v05HMHVr07v9dRM2QZdgaQ8nwkiAuGXBhu2PIvXazwAAAAAAAA==


--=-A/gs8wUD5X2Txxj5KQPV--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 12:21:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 12:21:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637793.993831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5PkN-0001Nd-Sd; Tue, 21 Nov 2023 12:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637793.993831; Tue, 21 Nov 2023 12:20: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 1r5PkN-0001NW-Pa; Tue, 21 Nov 2023 12:20:55 +0000
Received: by outflank-mailman (input) for mailman id 637793;
 Tue, 21 Nov 2023 12:20: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5PkN-0001Lf-C3
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 12:20:55 +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 69fa6490-8868-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 13:20:53 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4083f61322fso24771395e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 04:20:53 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 f19-20020a1c6a13000000b0040a4751efaasm16501776wmc.17.2023.11.21.04.20.52
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 04:20:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69fa6490-8868-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700569252; x=1701174052; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=MahRkEGNfJPBGAlUAnhnOpqCYt9BpTnl59IRNr4aPsM=;
        b=OGRrIGIBFA6kAENvjCY8ddBLXtiU7cX4V7vhM0o7z3+wEfonVHImesTtL9ZAx4OAtX
         rc2w2xMZhpuQi6Kg9h/RNhdcPwHJ6XLfRk1Zur+hwiPxQ1iuz8cr5XNob7xutgHf+Na9
         1ephUoODQz2pfhb0b+sHbx3iATKEO66b8dmZY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700569252; x=1701174052;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=MahRkEGNfJPBGAlUAnhnOpqCYt9BpTnl59IRNr4aPsM=;
        b=bHI5ZF/2Wg9TNls4CzaG+lhep4mgj9p03RdgNafi4EGGlgPIPDXOLJ+6cWDm96/6Cb
         nnLW5sbun2fLvqoL5o7qC9/2kyR04FezirSEUUrYubP+ucOLDPCqargk4WGGoJyC58u2
         lIsWjiD9tMZ1gDTW/zg/FRiyWYbAp76zXbnO5WD3nCorjjZeqQsGL5do71tMwyk9mEBG
         onWgUgMNxLJ0wt5hmPTLdQJq0PrRul0Kh/BJniIQvxbH7BIHKwlxOVBwJgRW4F6PBvJ/
         ADpNwWbEeoLd5qN3yHH1oFcqLLfu2oZ2VxwGnl2i5mWTwprX00AQPnza5xtxtFNVLy2x
         kzqg==
X-Gm-Message-State: AOJu0Yxbj5+sI/11BmlD+DehlincIS8hWo4uQ7Ye+lQCC9Ytlj6+u5oX
	QsTd0Im0hnR5TSH0h/gSUUAFHw==
X-Google-Smtp-Source: AGHT+IHbANNujRxzYh+bJo8gwAe4fLim1Zj8GHeO+ZjrphnQo0SbUkCXlO/JTsDKKlaa0REeHFVHWg==
X-Received: by 2002:a05:600c:46c6:b0:40a:3750:46ff with SMTP id q6-20020a05600c46c600b0040a375046ffmr8040675wmo.11.1700569252646;
        Tue, 21 Nov 2023 04:20:52 -0800 (PST)
Message-ID: <7b7338de-7d34-4f27-b1ec-05bee833844d@citrix.com>
Date: Tue, 21 Nov 2023 12:20:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/entry: Use 32bit XOR in handle_ist_exception
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.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: <20231120195742.1343677-1-andrew.cooper3@citrix.com>
 <28128f10-1381-462f-9eeb-7c43aec6abb9@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <28128f10-1381-462f-9eeb-7c43aec6abb9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21/11/2023 8:56 am, Jan Beulich wrote:
> On 20.11.2023 20:57, Andrew Cooper wrote:
>> This is a micro-optimsiation for Silvermont microarchitectures, which don't
>> recognise the 64bit form as a zeroing idiom.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

>
> For my education, ...
>
>> --- a/xen/arch/x86/x86_64/entry.S
>> +++ b/xen/arch/x86/x86_64/entry.S
>> @@ -1027,7 +1027,7 @@ handle_ist_exception:
>>           * Interrupted guest context. Clear the restore value for xen_cr3
>>           * and copy the context to stack bottom.
>>           */
>> -        xor   %r15, %r15
>> +        xor   %r15d, %r15d
>>          xor   %ebx, %ebx
>>          GET_CPUINFO_FIELD(guest_cpu_user_regs,di)
>>          movq  %rsp,%rsi
>>
>> base-commit: fa2da5bce90b3777aa7a323e1cf201c97b56d278
> ... while I understand this, what ...
>
>> prerequisite-patch-id: a9e4e1e34d08e876d1fcb3299c6d563086768722
>> prerequisite-patch-id: 703590f2c99382f6509c94bb5955f47ab2d7c57d
> ... are these about? They look like they would be naming prereq changes
> which aren't committed yet, but (a) base-commit names the tip of the
> staging branch and (b) the hashes would be meaningless without a repo
> reference if they pointed at something that wasn't committed yet.

It's a slightly irritating side-effect of the functionality that
generates base-commit.

What it means was that this patch was 2 commits deep into a branch and I
haven't sent out the other two patches.

In this case, misc debugging that's not relevant to the change at all.

I try to strip it when I remember, but I forgot in this case.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 12:24:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 12:24:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637799.993841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Po1-0002Ak-Cg; Tue, 21 Nov 2023 12:24:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637799.993841; Tue, 21 Nov 2023 12:24: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 1r5Po1-0002Ad-9L; Tue, 21 Nov 2023 12:24:41 +0000
Received: by outflank-mailman (input) for mailman id 637799;
 Tue, 21 Nov 2023 12:24: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5Po0-0002AX-AW
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 12:24:40 +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 f085e3b4-8868-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 13:24:39 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40842752c6eso25061955e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 04:24:39 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 k21-20020a7bc415000000b004042dbb8925sm20988119wmi.38.2023.11.21.04.24.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 04:24:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f085e3b4-8868-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700569478; x=1701174278; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=RQeT6KKUkQy9CM8Hn9Dp8XvubCgVcIJ6EBj14432r1s=;
        b=EXBMcYGpTnGW2j/WFZgUJIWBb52+fywjnNTBAmJ0tf4BloSeiFVW/qP7Duw7X8hWTT
         xyYGtcoDO+0zYHSz17duLYHG8+WlE+4i7KiYE2kG+yvcjsI3xexCY0S025QLa314wGvC
         xJOHiC8mEr51vMf/SmLyatIjywd8Zhb8Kt9N8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700569478; x=1701174278;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RQeT6KKUkQy9CM8Hn9Dp8XvubCgVcIJ6EBj14432r1s=;
        b=PGxJx+QhHlJkheXoVsM6LUEZwJueEtkYPSI62rBgaTgubwQ7ATwbON4uGqf57Kc6G6
         xL+jnbL71BE8v3oRvHzdIUTiR0W9BZddZ8BgYKYXiUkCWumNaPUvAfH8pKjvpR6Hed+F
         /vsaqs5G/vBBVxs6YknJjG9acr0uqBcYp2rTl1NtRV1YX7UuaMLrtQU34xpDdUtWhCIM
         llDnwbkqdEkLabxG5CmdcuqSaUp6PzZcnIDElGS9dmSCZGIde6S2QFo2kMNp0Wal/GaQ
         oTrWTUUv+/lbdUsOyqxRciOpX3pzMSjl/hVJpqD57LeYwYICE4ceBiCgmWksq4N4sdZh
         ZDNg==
X-Gm-Message-State: AOJu0Ywtkp730T6QCMLTd4+TIPh59xQBfJMMWbelHaY+d2L8XfsPOfyW
	FU31MnDhDDB/zPxvu070VyRHZF4D7WEXssjbzWY=
X-Google-Smtp-Source: AGHT+IH8v9ni+jzRsBZ4FEmzQoOBeJSAqPmC98tu7Hht1uR8MKuUijARUOJOMi/nvzNSd5hjrw0jPw==
X-Received: by 2002:a05:600c:4ec8:b0:409:5580:bc9f with SMTP id g8-20020a05600c4ec800b004095580bc9fmr8118656wmq.34.1700569478387;
        Tue, 21 Nov 2023 04:24:38 -0800 (PST)
Date: Tue, 21 Nov 2023 13:24:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v10 11/17] vpci/header: program p2m with guest BAR view
Message-ID: <ZVyhhcJagG-OCMNn@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-12-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231012220854.2736994-12-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:17PM +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Take into account guest's BAR view and program its p2m accordingly:
> gfn is guest's view of the BAR and mfn is the physical BAR value.
> This way hardware domain sees physical BAR values and guest sees
> emulated ones.
> 
> Hardware domain continues getting the BARs identity mapped, while for
> domUs the BARs are mapped at the requested guest address without
> modifying the BAR address in the device PCI config space.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
> In v10:
> - Moved GFN variable definition outside the loop in map_range()
> - Updated printk error message in map_range()
> - Now BAR address is always stored in bar->guest_addr, even for
>   HW dom, this removes bunch of ugly is_hwdom() checks in modify_bars()
> - vmsix_table_base() now uses .guest_addr instead of .addr
> In v9:
> - Extended the commit message
> - Use bar->guest_addr in modify_bars
> - Extended printk error message in map_range
> - Moved map_data initialization so .bar can be initialized during declaration
> Since v5:
> - remove debug print in map_range callback
> - remove "identity" from the debug print
> Since v4:
> - moved start_{gfn|mfn} calculation into map_range
> - pass vpci_bar in the map_data instead of start_{gfn|mfn}
> - s/guest_addr/guest_reg
> Since v3:
> - updated comment (Roger)
> - removed gfn_add(map->start_gfn, rc); which is wrong
> - use v->domain instead of v->vpci.pdev->domain
> - removed odd e.g. in comment
> - s/d%d/%pd in altered code
> - use gdprintk for map/unmap logs
> Since v2:
> - improve readability for data.start_gfn and restructure ?: construct
> Since v1:
>  - s/MSI/MSI-X in comments
> ---
>  xen/drivers/vpci/header.c | 53 ++++++++++++++++++++++++++++-----------
>  xen/include/xen/vpci.h    |  3 ++-
>  2 files changed, 41 insertions(+), 15 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 5c056923ad..efce0bc2ae 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -33,6 +33,7 @@
>  
>  struct map_data {
>      struct domain *d;
> +    const struct vpci_bar *bar;
>      bool map;
>  };
>  
> @@ -40,11 +41,21 @@ static int cf_check map_range(
>      unsigned long s, unsigned long e, void *data, unsigned long *c)
>  {
>      const struct map_data *map = data;
> +    /* Start address of the BAR as seen by the guest. */
> +    unsigned long start_gfn = PFN_DOWN(map->bar->guest_addr);
> +    /* Physical start address of the BAR. */
> +    mfn_t start_mfn = _mfn(PFN_DOWN(map->bar->addr));
>      int rc;
>  
>      for ( ; ; )
>      {
>          unsigned long size = e - s + 1;
> +        /*
> +         * Ranges to be mapped don't always start at the BAR start address, as
> +         * there can be holes or partially consumed ranges. Account for the
> +         * offset of the current address from the BAR start.
> +         */
> +        mfn_t map_mfn = mfn_add(start_mfn, s - start_gfn);
>  
>          if ( !iomem_access_permitted(map->d, s, e) )

This check must be switched to use host physical addresses (mfns), not
the guest ones, same for the xsm_iomem_mapping() check just below.

>          {
> @@ -72,8 +83,8 @@ static int cf_check map_range(
>           * - {un}map_mmio_regions doesn't support preemption.
>           */
>  
> -        rc = map->map ? map_mmio_regions(map->d, _gfn(s), size, _mfn(s))
> -                      : unmap_mmio_regions(map->d, _gfn(s), size, _mfn(s));
> +        rc = map->map ? map_mmio_regions(map->d, _gfn(s), size, map_mfn)
> +                      : unmap_mmio_regions(map->d, _gfn(s), size, map_mfn);
>          if ( rc == 0 )
>          {
>              *c += size;
> @@ -82,8 +93,9 @@ static int cf_check map_range(
>          if ( rc < 0 )
>          {
>              printk(XENLOG_G_WARNING
> -                   "Failed to identity %smap [%lx, %lx] for d%d: %d\n",
> -                   map->map ? "" : "un", s, e, map->d->domain_id, rc);
> +                   "Failed to %smap [%lx %lx] -> [%lx %lx] for %pd: %d\n",
> +                   map->map ? "" : "un", s, e, mfn_x(map_mfn),
> +                   mfn_x(map_mfn) + size, map->d, rc);
>              break;
>          }
>          ASSERT(rc < size);
> @@ -162,10 +174,6 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
>  bool vpci_process_pending(struct vcpu *v)
>  {
>      struct pci_dev *pdev = v->vpci.pdev;
> -    struct map_data data = {
> -        .d = v->domain,
> -        .map = v->vpci.cmd & PCI_COMMAND_MEMORY,
> -    };
>      struct vpci_header *header = NULL;
>      unsigned int i;
>  
> @@ -184,6 +192,11 @@ bool vpci_process_pending(struct vcpu *v)
>      for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>      {
>          struct vpci_bar *bar = &header->bars[i];
> +        struct map_data data = {
> +            .d = v->domain,
> +            .map = v->vpci.cmd & PCI_COMMAND_MEMORY,
> +            .bar = bar,
> +        };
>          int rc;
>  
>          if ( rangeset_is_empty(bar->mem) )
> @@ -234,7 +247,6 @@ bool vpci_process_pending(struct vcpu *v)
>  static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
>                              uint16_t cmd)
>  {
> -    struct map_data data = { .d = d, .map = true };
>      struct vpci_header *header = &pdev->vpci->header;
>      int rc = 0;
>      unsigned int i;
> @@ -244,6 +256,7 @@ static int __init apply_map(struct domain *d, const struct pci_dev *pdev,
>      for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>      {
>          struct vpci_bar *bar = &header->bars[i];
> +        struct map_data data = { .d = d, .map = true, .bar = bar };
>  
>          if ( rangeset_is_empty(bar->mem) )
>              continue;
> @@ -311,12 +324,16 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>       * First fill the rangesets with the BAR of this device or with the ROM
>       * BAR only, depending on whether the guest is toggling the memory decode
>       * bit of the command register, or the enable bit of the ROM BAR register.
> +     *
> +     * For non-hardware domain we use guest physical addresses.
>       */
>      for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
>      {
>          struct vpci_bar *bar = &header->bars[i];
>          unsigned long start = PFN_DOWN(bar->addr);
>          unsigned long end = PFN_DOWN(bar->addr + bar->size - 1);
> +        unsigned long start_guest = PFN_DOWN(bar->guest_addr);
> +        unsigned long end_guest = PFN_DOWN(bar->guest_addr + bar->size - 1);
>  
>          if ( !bar->mem )
>              continue;
> @@ -336,11 +353,11 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>              continue;
>          }
>  
> -        rc = rangeset_add_range(bar->mem, start, end);
> +        rc = rangeset_add_range(bar->mem, start_guest, end_guest);

I think you will have to add a check here to ensure that guest and
host address use the same page offset, as it's AFAICT not possible to
do so from the BAR write handler like you have it in patch 10.

>          if ( rc )
>          {
>              printk(XENLOG_G_WARNING "Failed to add [%lx, %lx]: %d\n",
> -                   start, end, rc);
> +                   start_guest, end_guest, rc);
>              return rc;
>          }
>  
> @@ -357,7 +374,7 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>              {
>                  gprintk(XENLOG_WARNING,
>                         "%pp: failed to remove overlapping range [%lx, %lx]: %d\n",
> -                        &pdev->sbdf, start, end, rc);
> +                        &pdev->sbdf, start_guest, end_guest, rc);

Don't you need to also adjust the call to rangeset_remove_range()
above this error message to use {start,end}_guest instead of
{start,end}?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 12:26:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 12:26:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637805.993850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5PpM-0002tX-Nj; Tue, 21 Nov 2023 12:26:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637805.993850; Tue, 21 Nov 2023 12:26: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 1r5PpM-0002tQ-Ka; Tue, 21 Nov 2023 12:26:04 +0000
Received: by outflank-mailman (input) for mailman id 637805;
 Tue, 21 Nov 2023 12:26: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=3FOU=HC=casper.srs.infradead.org=BATV+dd65dc28b6171b1f8060+7394+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r5PpL-0002tK-BP
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 12:26:03 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1fa2847b-8869-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 13:26:00 +0100 (CET)
Received: from [2001:8b0:10b:5:9608:1c8b:df8c:28f9]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r5PpE-005ZwI-AI; Tue, 21 Nov 2023 12: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: 1fa2847b-8869-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=YbnoFbHOJP34t98n8U9xwnthCBmbFv/PCkdcF4geYfE=; b=VEaBr5MDsdTaZkklfcru5V5N02
	mCvvR1hAk1cYeQllDatwRfHux8cZ5hw8LTB+PZkj71of+mPTI8bYWURLDP9H/DKkyeKV0VLz+zEiK
	+EZtVOizhPjO9LkkDA6FZJOJ+iHPuGXCB0kUUqEK0G4/+Z7ZxZbkE56nCg9LkxDD+Lm1HPTwJHLvW
	2M02SI2nvEnVPEoctI+QQrDVsMQ/e0185hnoap1BDproR2tSVUnVkIvnf8hlQlH+m0KrcFjcxmGS+
	puJgFNkYYWluTZlNnn8CWf7N7YluR0ArbPIsPq35JxAR5ISv5i+wUc4Q25srXHftivbtA8/0h7rMl
	BQfKbk0A==;
Message-ID: <708be5bf6573aadb73f9ac1be4a3adae304586c3.camel@infradead.org>
Subject: Re: [PATCH 06/12] hw/xen: add get_frontend_path() method to
 XenDeviceClass
From: David Woodhouse <dwmw2@infradead.org>
To: paul@xen.org, qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Stefano
 Stabellini <sstabellini@kernel.org>, Anthony Perard
 <anthony.perard@citrix.com>,  =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau
 <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 "Michael S. Tsirkin" <mst@redhat.com>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Richard Henderson
 <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>, 
 Marcelo Tosatti <mtosatti@redhat.com>, qemu-block@nongnu.org,
 xen-devel@lists.xenproject.org, kvm@vger.kernel.org
Date: Tue, 21 Nov 2023 12:25:55 +0000
In-Reply-To: <4d059cb96a92004fe25fdb140a6c0b12e91b4d7e.camel@infradead.org>
References: <20231016151909.22133-1-dwmw2@infradead.org>
	 <20231016151909.22133-7-dwmw2@infradead.org>
	 <5ef43a7c-e535-496d-8a14-bccbadab3bc0@xen.org>
	 <d43b900a6c7987c6832ceeede9b4c5ab65d5bacd.camel@infradead.org>
	 <55bb6967-9499-45ef-b4c8-00fbfaccef0d@xen.org>
	 <4d059cb96a92004fe25fdb140a6c0b12e91b4d7e.camel@infradead.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-3F9/wyoYYAMsi6WYTL8o"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Tue, 2023-10-24 at 14:29 +0100, David Woodhouse wrote:
>=20
> > > As a general rule (I'll be doing a bombing run on xen-bus once I get =
my
> > > patch queue down into single digits) we should never check 'if (*errp=
)'
> > > to check if a function had an error. It should *also* return a succes=
s
> > > or failure indication, and we should cope with errp being NULL.
> > >=20
> >=20
> > I'm pretty sure someone told me the exact opposite a few years back.
>=20
> Then they were wrong :)


cf. https://gitlab.com/qemu-project/qemu/-/commit/e3fe3988d7

"Whenever practical, also return a value that indicates success / failure"

--=-3F9/wyoYYAMsi6WYTL8o
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIxMTIyNTU1WjAvBgkqhkiG9w0BCQQxIgQgT12EB9I0
U/TDp0Kowg+uOgI5GoTLkW/fxOi6LzePicUwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgAWr/HhmFhoqSkHS/1GjX0d3ShqkY/Bo3DN
d/w3ryr2pbdGDQb1P18J2OvdwJcytcJJOZps1ru2G5Zy5T6pt3ORZtaDdPTIbKJCvet6MyYeAF47
2+16xJXvK9zuN1xApV35Ah1UKkdCNaYEnXKJfkqk4sMG9/dA1b8Gkkz7IT9XPMoZfUD4YjpNe4r+
bxjWkiVnTejXEnMrtAo2/3q4yB0RYF2SKzFmaLfrvWd1NeW8BCcmw3AOx4POLLmNdhLWSvkhWMcb
AIRDUYe3sI33Qrwa4tVZmrFT0PlmBb4vKaD1f4xKJztCJk2pdvrdJXva5x0dyGlpZbFo4eC56olj
mxgVYDK8tgf3hEg5qgZng0rXh5p3jQzYG/0MesZUygkD9t/cbjVVGjf1OU9q7ADVgOklrHHQkZko
4bNH153MCUFZPLtdWQAb4xXzCSF4gcv7t0xKEIMMhEjPJAolevW6eb0ymWmCaUT4eQoqHIdKg4B7
A61HzxdD4ksF4Oj903+WCHk1LvEmr2qu0OuRAgMrSL0vWvWVFLyYTFIkzjEeSfudE1eiwql8wKV3
BNhpgokLVVaVVGq9Be2oEznRyFHPe9R0AgqvhS4bOQFqFdCUlYAO2ZMrk/3UhbdSXglZ4tkk0ieq
LYvvM1VUFn5o8jrrvHE4olxDKs21v7F0273oWLWJpAAAAAAAAA==


--=-3F9/wyoYYAMsi6WYTL8o--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 12:39:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 12:39:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637825.993861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Q2B-0006hD-W1; Tue, 21 Nov 2023 12:39:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637825.993861; Tue, 21 Nov 2023 12:39: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 1r5Q2B-0006h6-T7; Tue, 21 Nov 2023 12:39:19 +0000
Received: by outflank-mailman (input) for mailman id 637825;
 Tue, 21 Nov 2023 12:39: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5Q2A-0006h0-12
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 12:39:18 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fbbb5969-886a-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 13:39:16 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-4084de32db5so28602735e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 04:39:16 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 p2-20020a5d4582000000b003316d1a3b05sm13014525wrq.78.2023.11.21.04.39.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 04:39:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fbbb5969-886a-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700570356; x=1701175156; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AmgnFCQ1TsuKnJtkTYLuPYqC0gRqMFI3ZJkxy1O/ikA=;
        b=Hw0/yxkXKK6gYGX54LLhxMtQkWqjAIx7AMTg1cRd1CTwwLFzajwlSfi4eE9jisvRQx
         pApdxOEcDFpGcyXk13bhon+e+X0s9nyLBd0iTFJ6KNBxxTVpL7zTprrMg2PK5+bCLAYS
         1kDHtsbVXNiJO/a6LctUv/auSoLzjS3ddhgY4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700570356; x=1701175156;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=AmgnFCQ1TsuKnJtkTYLuPYqC0gRqMFI3ZJkxy1O/ikA=;
        b=meCD/MeYNQdDLCtNR9mX776a1K8zKX4//D8vJ2zBInc5l6ieRrZDFDasOZuU3MngPn
         s6BxEh1K76gM8fIFQiaeLd2Cppl3vK0U5vx/RE99Qv7+ZZVD6V2xRdMlyQ7ObaFoIqwA
         Nw+0fVNV/PVOBA9ARb8PrO1Cul9TujaLLGtxDd9nFeIIc6ItRTssqfdr4xXUQOFpQuVf
         DwRQPLUDVlg/1H753JqLb/f+uGmCGMLCR6/llr0AQfTcKSupM1L7uYAAgFGeJutAeH+R
         AAdNRnu4nOJFuD0wAyGEhrdGXvDYmKxIdG0hY72GHzWTC8yiL4w4vmU35AFktHpjpLSM
         iD0Q==
X-Gm-Message-State: AOJu0Ywl5uwBGzMRVIhqme6yEOar2tBb/1vRnaMQadhTGCMt04utO7Pv
	a5hzR6G2zj3FPijndaFStrxcog==
X-Google-Smtp-Source: AGHT+IGNJAjdd02m8R9CrJstTtZ1EFPeGG3LPJ+EiMHlUeLGoHIBkLZlxbCIkZz4KIlarbVkmGYBRA==
X-Received: by 2002:a05:6000:156c:b0:32d:9fc9:d14a with SMTP id 12-20020a056000156c00b0032d9fc9d14amr11112101wrz.12.1700570356224;
        Tue, 21 Nov 2023 04:39:16 -0800 (PST)
Message-ID: <7ef0e3bc-5832-4b58-8649-75d88262cdca@citrix.com>
Date: Tue, 21 Nov 2023 12:39:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/traps: More use of nocall
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.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: <20231120194537.1341452-1-andrew.cooper3@citrix.com>
 <ad117bbb-890e-4387-bb5a-cfd226c68bd2@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ad117bbb-890e-4387-bb5a-cfd226c68bd2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21/11/2023 8:52 am, Jan Beulich wrote:
> On 20.11.2023 20:45, Andrew Cooper wrote:
>> sysenter_eflags_saved() and int80_direct_trap() are now only used by a single
>> translation unit.  Move the declarations into the respective traps.c, renaming
>> int80_direct_trap() to entry_int80() to match the style elsewhere.
>>
>> Annotate all 3 with nocall like all other entry paths.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> Nevertheless I wonder if this wouldn't better be deferred until asmlinkage
> has appeared in the code base, such that along with nocall that could be
> added at the same time. (Even then it's not entirely clear to me whether
> Misra is going to be happy with declarations not living in headers. But
> imo limiting exposure trumps Misra's possible pickiness.)

We've been over this many times.

MISRA demands that it is declared only once.  It *does not* demand that
the declaration is in a header file.

And this has been confirmed by our MISRA experts previously.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 12:47:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 12:47:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637831.993870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Q9X-0000YF-Lm; Tue, 21 Nov 2023 12:46:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637831.993870; Tue, 21 Nov 2023 12: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 1r5Q9X-0000Y8-JK; Tue, 21 Nov 2023 12:46:55 +0000
Received: by outflank-mailman (input) for mailman id 637831;
 Tue, 21 Nov 2023 12: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 1r5Q9W-0000Xy-6L; Tue, 21 Nov 2023 12: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 1r5Q9W-0000nv-3Q; Tue, 21 Nov 2023 12: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 1r5Q9V-0001fn-Nm; Tue, 21 Nov 2023 12:46:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5Q9V-0000eZ-NG; Tue, 21 Nov 2023 12: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=dbmtDJaNxAATzzUkLP9EoxAtAK5emspPWFULOKM0Eoo=; b=qmVdsuK9aib85cIrAtAmtUna7D
	s4i34QNnK1khiFb5SeBlb50zIVqfaM4XWo89ObDRuj4lcjX1+JxoYzzrqnzwwoqyQjdSDoeadCzuL
	Y8jrSoO3hSoomRnD5RdKb2mUtMvmVNcz1jJmQC7AQl2oNTC0UCfJbdD7Pfqqc+WVrUT8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183809-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183809: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=a1f9490cccb7bda80d736cd439be4611286d2042
X-Osstest-Versions-That:
    xen=fa2da5bce90b3777aa7a323e1cf201c97b56d278
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Nov 2023 12:46:53 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  a1f9490cccb7bda80d736cd439be4611286d2042
baseline version:
 xen                  fa2da5bce90b3777aa7a323e1cf201c97b56d278

Last test of basis   183802  2023-11-20 20:00:27 Z    0 days
Testing same since   183809  2023-11-21 10:02:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>
  Volodymyr Babchuk <volodymyr_babchuk@epam.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   fa2da5bce9..a1f9490ccc  a1f9490cccb7bda80d736cd439be4611286d2042 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 13:52:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 13:52:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637851.993881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5RAg-0006p8-DO; Tue, 21 Nov 2023 13:52:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637851.993881; Tue, 21 Nov 2023 13: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 1r5RAg-0006p1-Ac; Tue, 21 Nov 2023 13:52:10 +0000
Received: by outflank-mailman (input) for mailman id 637851;
 Tue, 21 Nov 2023 13:52: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5RAe-0006ov-OL
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 13:52:08 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2838f1f9-8875-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 14:52:06 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB7651.eurprd04.prod.outlook.com (2603:10a6:20b:280::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 13:52:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 13:52: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: 2838f1f9-8875-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EprfpCcc/fX3rp+nEuxrqR79kAW460ykmatKS5N7k2A77QhH66mBA3Fptc/JL9WDacqvi32w8kMY3E/yx1UTXOEjcuO98lqlpLUYneMsnE1UUrZ3rhzR0fOgKnDJX/rYeMEmdHAil9jOx/WDjGl3tUmYzUEtHYql+2AhKgL7jAe3S8wNfMTru/FjF48RlOFcpCQYnFiX+1cv+BAlT5DWNSW3q5AJnq/f2X9hbevQBLivi+t7ruxs5ArOOXUXYxF7ItuOpFtLVg9MJYt9PpCPxqFOO4fV6q47CdfQwrkxgc4gWK3Q99KUV+8xlods8XfAptP513DI3dct8qF7Qeyl2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5F5YCi1yVZWlpas+ceLImFf3IaH4ucz+ZF73lPmOuXw=;
 b=LwMx5fFD55/mNahyGhgtzzV4nnGt72rvA8zZh+Zn12eyOqvU9x1BIEqiQw+oajdO//ul5iHpxFTdCEZXdMQTp6vtndWdYUsZvYHNxTBEwvPbCKP6rgJbvGUo5KcxQ1WLRqEESoEdpjNumNwGlzUHyTPVWfVidvKkpTkmQRg6qiRoxGvCf3usm0D2ejFJgboeMnCfSsZ6fRILL9HFx+bekCqXiLjEU/otjZ8BvZuxpUzDGKVYL/1LeO9BhE9b1+udm7LsmmI/tF8mtw6enrHBPvCfAYtAGCXI3SCtn5OdoIrrwYLxUyl90w0xENznGDOOaLbYzQoULA6lI0ir/Xu0Eg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5F5YCi1yVZWlpas+ceLImFf3IaH4ucz+ZF73lPmOuXw=;
 b=Sr79KG4H8zQARFHQJGCX1Htr3D7aCPHWOMDnG/NBy10rerK1Q4W/xNNBErSjZSBORbWrTQUK6Dp9Em8eNmbQ752YszugKtMipCgy5wFwZ7x1VI5xQ9/mtSaFhLHlGpHTl2/zpfqmmxxyQrd2Rx1huTF9N6p0iyhMgZX4TG9Zve6ChAQ+zODqIYq5vcFT+P9v+OnuzPjdMXU0yvbUJjI7YEYyriTH3divg0GVwmHupabCTUeOBjYiRgaf2iuyyqC8AiKq5mGMw2VdgRlC02CRUfDzpxsLBuVDnElrxr1iKMGF8Csp0HCVx0n/UHqLg6WOAHzIyK3Q0/GTJq9/LGybhQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d5bfc0d7-148e-4d49-85a0-e23387635daf@suse.com>
Date: Tue, 21 Nov 2023 14:52:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 1/4] xen/vsprintf: replace backwards jump with loop
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, xen-devel@lists.xenproject.org
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
 <9fbc2bcfa1ee019a8ac1cd1a3d29c38b59b8edff.1699295113.git.nicola.vetrini@bugseng.com>
 <8d9c85db-5afd-4299-8f05-e74628c1f67b@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8d9c85db-5afd-4299-8f05-e74628c1f67b@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0112.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB7651:EE_
X-MS-Office365-Filtering-Correlation-Id: afbf37a2-7bf6-4aca-4ac1-08dbea990ac8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	bOgr62wsyv6BTAqSnWDE3s0TCgudUPxUQOlW5eRajhqhH4uqL3si6haK6aed5Ek5/mGzj/NdUHQDEhA6JtgwZntrQksheZi7/DDgGPd8NAMXvjDjkWkIkwia7L/icRAQRCT4pPWzfXpsZfyzQhf1LUXKfLtTH7aKDw7psWz9euZAaYH0WW67cTU3IWvqjY34Mt8uOtUW4okX8l2wUqL2KWJGktGIgIKutz8MjuakSDFHolH7bOPgcX27PQ5mZfz83T8yd8jfEP7iMqYIOIUEhk+Uv2Kpi6qPKwR4yhB5r+G1OEfrkobiLoq9yxgQ5YTd/NNBm+bFQ9DhOUPU889KrLRcDOD2kCEORhgupNTWxoVEdm87PAjLVl8+8a9wiSAPXiA+5QMSLBo5+Q23puhm74kOI3n/cEKiVjWzZ8cqrvlUD8vBD3Ytn/1jmKEvMLwymafCyIlUVtxB8cVrlYIzl3AZSQBbtDyjorllutx0kTS7HyPW1WN4sh2ge2oKfYBW4GdJpeo+wThYz5cw21PIcb0rJVAaNAK1ibR/I/dzEt6HgE+zCFohZLNjSTgzQb2JB5YuMyXdiuJ+iBieGEXve9qBD5cbM4jV+4uGQxNiwr71l4AC7+vNc0lYHzpnVWZ922EI8RY6Snefdb+8WIccmA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(136003)(376002)(39860400002)(346002)(230922051799003)(186009)(1800799012)(451199024)(64100799003)(2906002)(5660300002)(7416002)(41300700001)(4326008)(8936002)(8676002)(31686004)(316002)(54906003)(66476007)(66556008)(110136005)(53546011)(86362001)(478600001)(26005)(6486002)(6512007)(36756003)(6506007)(2616005)(66946007)(83380400001)(31696002)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RXV1SHNabWlPTFRDYWZSTTVoSXhUeWExcW5aR1llM0VOWG53SitDVGYwNjVE?=
 =?utf-8?B?THlzaGpQZGN2bEZXNWNJcTRvWkJ3RElRQ0IxaldHb3ZFQ09pRmNFQUtqUm5F?=
 =?utf-8?B?RDRxM21mOFBQQjNaQ0lRRFNHUXJxMENFSFNsUzdMRCtGZmxEZFNYMXBkM0JD?=
 =?utf-8?B?MUJlb0EyeHpsSjBWSWFoMTdONDUwTEp3WC9WMVNCTDBvQmxpTUlvUHlPYVVN?=
 =?utf-8?B?MlhqaFp4cE4yWlVCM05rSndETE5PUHNYRFVnVlE4b2Y4ZVZqZ292TlQ2Z0Vs?=
 =?utf-8?B?aU15ZVVIYkhHem5yZFBNVDVnbFZFS0FoU1JnT0xyUUNCQW1sSGNnTjVuVVVm?=
 =?utf-8?B?TzFMWDJXTnBudFltVFFmM3RoK0NOeXNOTWx1MXlOSjhwR0haN1djenFCTElH?=
 =?utf-8?B?M001YXp5VWVqZ3JWNGlhZjFsamtDTWFmRjFrdmVXckZ5T2hFa3dveFdHT0Mv?=
 =?utf-8?B?Wk1SUnR3WkhOMkxFbzBZK1EydkFJNUlEc29oeVZQMERHa2Npd09ZMjFaZDVh?=
 =?utf-8?B?MWYvVUd5YWFZT0g1UkR3L3N6bndGVXZUYTN5SnkyYVBBbklsZ3VtTnJJU1dS?=
 =?utf-8?B?UnREUzhVS210dllSZXZpU3JTY2tLZk9HTWpHWkkrM0U0OUhONlVYUUdHM3E4?=
 =?utf-8?B?eDdVTEd3aTlzNytjYzlHWEl2NnE5THZVbnpibDIxQm9nUHpBQ09XeElzTnc1?=
 =?utf-8?B?REIydG9ScGxvMjlqY0hraWE2OW56THhBdCsyUzFRekNGdytwTXhXTU9UeEg5?=
 =?utf-8?B?eW5RNFV6VkVVWHhXR0dTdm9rbXB0UFRBOXZpZUVuTWg3YWFyVmtRYWEvQ1U4?=
 =?utf-8?B?TGtnUzQxM1JzZHpqWTlLZzRiZ215a0U4allDUjdyYTJybTdoYkJta3Rudkpp?=
 =?utf-8?B?UzIxelFFWklhRkpQMzE0Zmh1Wkh5MlQ1V0NOcE54UGxkT2pmYUJJMUhqYWlj?=
 =?utf-8?B?REc0alV5OHQxZjVqamZqM2R3YXFsdGxhdGlidnlTVGEzbW11eFZPd0lLaFZS?=
 =?utf-8?B?bDJqS0pKSDZaTXdMODFnNEgwcHZrL3NqMTFwTmd0MElrV1FneE5JNTc2RkRE?=
 =?utf-8?B?c01oMCtTdUpQWENiT0NSSHdGQ1U3Vmx6TlRFK25McU5jQmF1STY4Q09va1Nz?=
 =?utf-8?B?ZGV3eUVZYWtlRkpuVUUvcndlakwyUENPSjQxNHo3amFWaFNsNkdraDlrMEFo?=
 =?utf-8?B?SHVaR1pPd2dBTjlJYlhtaHlFSksrdTEvYVY4N3lkRFRsdUk5d0R5Vm9QVzl6?=
 =?utf-8?B?Nm5ZZldiVU15Q1Z3NjRWYlE2SitsWHdEa05mUWxyTmxaamtkaDk0ZzMzWXFw?=
 =?utf-8?B?U0VuU3g1MURRK2hyQjRPTjQ4SUFXbGpLWVpUdmVsOGtOYUh6SkVGdk5NM3hi?=
 =?utf-8?B?L21EUWNYQjhjK2FnaFRFQ3B5Ty9RQTg5ditNMEtaMTE0R3NHMTcyMnpLQ3dE?=
 =?utf-8?B?KzVXRkpuaC95RFdEU0NDb0JJZTB0TzVWMmdBaVJJZ3ZVdkc5bHlCTkR0QkRO?=
 =?utf-8?B?b0R6a0d1OG5FZ1o0RkdGVzlSQjlnRG5qN1lLenV5MFFuSzFVVGVrdUJiUGJX?=
 =?utf-8?B?TzVyVjFYR3ZrbTZ4bWM4YkVNcGhTQnBDRm1XVUpMWnJreFdQcHAvTGczbDNr?=
 =?utf-8?B?U3hmejhncWFkWGVqM2xFWm9Qa0MvdEJTK0tBUmQzbGRkOHRTVnB2Y05HU2VD?=
 =?utf-8?B?WHFQYkpWaWs4a1VqQW1YQkJ1KzMvdU13YUlkMVRhWjVFWVMxb1ZwQ01Ralo0?=
 =?utf-8?B?VUR0MkZQYmRLQ1FHa2NxeFkxRnNCRUhDNFZTRUI5QnFmUUhYY0dSbVhKZ1RL?=
 =?utf-8?B?ekxSNTdIMkM0N0JuT3c3bFkrbElyWXlwR3FEMzBNVGhLeDd6WE9GT3RQZzBQ?=
 =?utf-8?B?ZXM4VitEUndOSVRFeGxnR2tnUXpWUWZhWnNEenYxc2Vxc2tmcE9LaWRidlFK?=
 =?utf-8?B?NUtXVWgyVmFQTFVDbzRBRHBoOE5VQUNMWGRuQzRNQUZRcTc3REJMT0NpVkRM?=
 =?utf-8?B?MnB4citDQkVUcGw2UmV3YzdML0lwMU9zUk5XNTZ4dGRpQjdBeFV4T25IZUwz?=
 =?utf-8?B?WGVvUCt6eFBDYlZxZUlCRXNjb2xZSDdwV1NqQjBIZGZmYXpBQ3hSMVp0Unlo?=
 =?utf-8?Q?tA0mEL3FMPsRazFYBu2U3+G5G?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: afbf37a2-7bf6-4aca-4ac1-08dbea990ac8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 13:52:03.6631
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ndxIOHvoL4B387PmIw+JliPiUPq3IAuMbE0XDQyLkKa1LgtT5pQEvck4CjR1CGBPlraJuEHhjWXoe6/rIPLMnQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7651

On 07.11.2023 12:36, Andrew Cooper wrote:
> On 07/11/2023 10:33 am, Nicola Vetrini wrote:
>> The backwards goto in the vsnprintf function can be replaced
>> with a loop, thereby fixing a violation of MISRA C:2012 Rule 15.2.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>>  xen/common/vsprintf.c | 20 ++++++++++++--------
>>  1 file changed, 12 insertions(+), 8 deletions(-)
>>
>> diff --git a/xen/common/vsprintf.c b/xen/common/vsprintf.c
>> index c49631c0a4d8..603bae44177a 100644
>> --- a/xen/common/vsprintf.c
>> +++ b/xen/common/vsprintf.c
>> @@ -495,6 +495,8 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
>>      }
>>  
>>      for (; *fmt ; ++fmt) {
>> +        bool repeat = true;
>> +
>>          if (*fmt != '%') {
>>              if (str < end)
>>                  *str = *fmt;
>> @@ -504,14 +506,16 @@ int vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
>>  
>>          /* process flags */
>>          flags = 0;
>> -    repeat:
>> -        ++fmt;          /* this also skips first '%' */
>> -        switch (*fmt) {
>> -        case '-': flags |= LEFT; goto repeat;
>> -        case '+': flags |= PLUS; goto repeat;
>> -        case ' ': flags |= SPACE; goto repeat;
>> -        case '#': flags |= SPECIAL; goto repeat;
>> -        case '0': flags |= ZEROPAD; goto repeat;
>> +        while ( repeat ) {
>> +            ++fmt;          /* this also skips the first '%' */
>> +            switch (*fmt) {
>> +            case '-': flags |= LEFT; break;
>> +            case '+': flags |= PLUS; break;
>> +            case ' ': flags |= SPACE; break;
>> +            case '#': flags |= SPECIAL; break;
>> +            case '0': flags |= ZEROPAD; break;
>> +            default: repeat = false; break;
>> +            }
> 
> I'm firmly against this change.  It takes a simple and clear piece of
> code and replaces it with something harder to follow because you have to
> look elsewhere to figure how the variable works.

While I don't really like that change either, I also don't like uses of
goto (at some point we said using it for error handling is okay, but
the case here is clearly not in that category). So at least for
consideration, how about getting away without a new variable:

        for ( ; ; )
        {
            ++fmt;          /* this also skips the first '%' */
            switch ( *fmt )
            {
            case '-': flags |= LEFT; continue;
            case '+': flags |= PLUS; continue;
            case ' ': flags |= SPACE; continue;
            case '#': flags |= SPECIAL; continue;
            case '0': flags |= ZEROPAD; continue;
            }
            break;
        }

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 13:57:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 13:57:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637853.993890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5RFg-0008Lk-0Z; Tue, 21 Nov 2023 13:57:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637853.993890; Tue, 21 Nov 2023 13: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 1r5RFf-0008Lb-UG; Tue, 21 Nov 2023 13:57:19 +0000
Received: by outflank-mailman (input) for mailman id 637853;
 Tue, 21 Nov 2023 13:57: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5RFf-0008LV-JF
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 13:57:19 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1756379-8875-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 14:57:17 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 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.7025.17; Tue, 21 Nov
 2023 13:57:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 13:57: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: e1756379-8875-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bmQI4ssDa0xmKet+MyS+zfqbsU3RT2OX55Fgl9+yCoKJ8VAhfgoaJgguF9yobTNbP4PvD++AnvUAku98xfURqFBzffJ2cc2U/vAKuFRI9zwfIQqKIaHnQOGi57D+r1afsySD3FnVj4/IstQkowcH11xALB1tLunwcLvJwro1wKcLlCeP6A33oridQUJNlLDKQJrbS7cVtv62aPgwNP/+0VsQw7vap6wibdiDdobhM6MDV851d7UpZtmuL3sKDZ0Z6kCtET8vXu7BKgBC7gLJrZqiHeCk8xQ1NcxKmJtAa1yUI0ulgjszm9zv6buEx+FsJCR+bYJMri86t3RVOKt2xw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HPnfLifzmQXdDOmJ34PtzdyvoTqXOAvCoRd8tIU+Cl4=;
 b=n90hIdEx4N8jMoRaUlO8rZ2w76pK76PlbYRc0xMf4JEIlKX8b/+/QSU1Z/C8wXM7cEDIg4PTlJBx26BXNFyLWrCgbfBraA7iJIXR4B6h/8T0+o9wYJ+0WFgfqV33nlw5MDEYEumJewIVz2xDwkzAaAGvztsru+gi4vObnobgyMDQ/4q3LNA7BvwnVO1ohQujBXGwAc0ZH/7ENLy2wYY7MxWAr7BYZICgEdV3jEv/GbVUAFmOSDeXZqkuhI1asKdbVfkm2o2kR4jJOPrRgkUmU/ONfJaUrEes68SKVWPwmffhZvt//ZGXHhLc7o2mETv3sbNMVOnW3gVkVR/HpyO/2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HPnfLifzmQXdDOmJ34PtzdyvoTqXOAvCoRd8tIU+Cl4=;
 b=qhl7rZQbxfVWw3R/5JZ+66f2uPX4BMZ1Nl+HdSHhzyAUP/EJAvrX/5SvzT3zgtMXC67sSUwt0WVV7K0398g7GB4gtf/Yj+C3ItbZFF+M+oDzlpjY/lKMesQFXLt2MnqqJDXJGqLlJVgEads/XdSLTEtxPUy6dKmfXMhgtqI+zneWht+ZA4yq2k8idh4HiDvkl3TB0HRWS5V/YFIYeoXTzy8FaEHCpG5XahwmSHKFWW2UdnlIzsbGx4wJelt4erV+g3N53m2ypOTHGjTB/87qyzUYLialXsdbzOnC+c7tCmSZVZCbPNSv1VzKgLsftJaXKr3xgbhtgVOOpawtZVZUsg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6b2a1e7c-cf8e-4ac7-a2fb-f9e74f051312@suse.com>
Date: Tue, 21 Nov 2023 14:57:12 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/4] x86/dom0: make goto jump forward
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
 <fcc14cb3859e4904f4a17e14fc41b5e05ae1f05f.1699295113.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <fcc14cb3859e4904f4a17e14fc41b5e05ae1f05f.1699295113.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0272.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e6::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8649:EE_
X-MS-Office365-Filtering-Correlation-Id: 1bdf389b-3215-412e-abdc-08dbea99c41c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7otpnmviPPlQDqc8kZeS7OPsUfu/n2cPWwttTBrZRBfc2QG+CKYeYClklK/C1pogszEI6mrkOuHKUTA4iJiwoAV9Zls5zbDyQnQtQ4PDlyXk3KupurSkZMCS6eHhMdv4LJGzGG0R4F922swwUG2bK2fsUdh3ZqBT5CWN8FU6bnWvZkQi+ZUeh14+KBILRArV95yHvcfGp17/rYHgxnK/RJPG8y7rmSmEAhcNtQMNbVdb9IXGLZLOwTzC5DIMLd+hmDighYS3GAbnNE2vzHHFJkTOSY7GxGY7xI7S/qKAPDyr7kRYWane2ZQ4lLPTG4A6lmyTUnNOzNkopYTTdwgBf1wPKHMaz4/c6FJxsimeOE3CUoQOgUQuo8U45InIgSV39xa6/o7fU/uFi1/YS6QCpbMHiY5OH7M+VP5D15NY/ij7m0gyj3ZBIAj332TvoKVqz46bio7qL1pSf1Oo+GnX8IwGMi4RiWFde7TDYKmiikbgSx9fVeDhbcB/9X9nBVo+PH9hBk07BbI36bRPrWoNHArbp525Zux3NcohuLRPVt0bJgnVPM5wTBEm6jxkcOeGfvSS2/n/StM7I5If4z/I4Ld2mZAd3goJoEmDZYA71/AT6La/p0rFLUVeu1bcCwHDS/LGmS2AAmgpXvZhmpaXDA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(366004)(346002)(376002)(39860400002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(316002)(66556008)(6916009)(66946007)(66476007)(26005)(4326008)(8676002)(8936002)(36756003)(38100700002)(41300700001)(31696002)(86362001)(2906002)(5660300002)(7416002)(6486002)(83380400001)(478600001)(6512007)(31686004)(53546011)(6506007)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGVsVDdCVU9OYktnbVYrNlAwS3dHb1F1WS9PbVEydlNoMTNHTW9tOGljVW5B?=
 =?utf-8?B?OTRYTlVsbm1INVpVM243R2VaZEhMcWt1TnBNaVpCUmNnZDNrZWVyYlFSTFpv?=
 =?utf-8?B?eUlZc0VkcGd6dDlIL29jeFVRYnQxTks2Y1g1SXZuRlAzWlRsMTJINGkwVmdP?=
 =?utf-8?B?SVRCWG1lUUhXUGIyZ0x4V0d3cWN5M2xSUk1BdVZTTkdxVlpUWXQzYnNBeWxE?=
 =?utf-8?B?OGl5ekR0cSs2czVqVEhpQy84QTIwd1FnWkZMUm5SUXZ4Zk51Rjl4TUw4b3Ju?=
 =?utf-8?B?U0pKS091eFlyNXJFMDM2RXBpL3ZIbHVDZ3A3bG9XWjB2QStabHVtcnJzYjll?=
 =?utf-8?B?K094b2x0bnJqRm5pT0ovWXJrVHFjTHAyVE9wbU1KZXNjU2VHT1VWWVhZWEFZ?=
 =?utf-8?B?QnZ2MHhzUUNqZUplZVJPejNvN1ArYmNZcUtuWmxiU1RJY0dCVkJSMkoxVDFE?=
 =?utf-8?B?RXoraDREWm1oSlpMeC85V2JuSit2NjFZcTh6WVJORFpEa2xrSEI4a0MxYkhs?=
 =?utf-8?B?TWRNa2UycnB2ZEk1VWhxQmdHVkorZkQ5NXFUVldmTGRJR0kzK095UitrWEtM?=
 =?utf-8?B?VTlVSGR0ZmdqbWx6VlExM2dsUWJQM3UxSUFHN0UwVW1ZRTBGQjMzcTdKcEFw?=
 =?utf-8?B?YWhOb29UemgxYmV4T1lrTUR0TU4zTHVxcjB1aDI0OWEwSklIbk5EQUNSYXB6?=
 =?utf-8?B?ekxFZVNIT2tOZFMvMXBxaVNoUGRxNUdFS2JjVGtkZTNyMWtPdW82cG9vTUwr?=
 =?utf-8?B?bjJRR05pS3lxR3ZFSXhtdUo4VTNKZDdBcEExajFUcGNlYjl2TzJ0N2RrUUlj?=
 =?utf-8?B?VE80S0NOYTdmcndrRmpCbC9yQ2ZzYnVlVFQweGxxTm5VWk82RW5VdDF5L1hK?=
 =?utf-8?B?VFgwc1RNckFDRDNlQitYdFl0dG02OTUyTUE2bG5uMEFQS1JMMGt6azlqcFFa?=
 =?utf-8?B?RVU2czVpSHZYWVpoY2xTaFYxMURENkJoZ1pBbm9HMW1xekpIb2pqRjlITTZX?=
 =?utf-8?B?amRYQ0dFYTRIL0RJZHhFd3JnQ3JvdGtDalRjYXE3MjFSS1V2WDljMFpIV0dn?=
 =?utf-8?B?RlZqNm1GUFgxNDM0VTg4OUdYcVQ4Tk56TFVUNzE2TTlSd2pGVUh0K1hZZVBz?=
 =?utf-8?B?WEZDV1BybnlxUWYzMStUQVVkekpieFVSU2RGT29qaGMzeXdqNmlNME1RQnQx?=
 =?utf-8?B?aWtvc2tZUE1OaHlwZDlnRy9NQWtiWHRpeGhxMFVUNndrNzFhbkdsUGdwQTAx?=
 =?utf-8?B?eTFYWTZENHFIMUx4UzQ2OTZzbm1rTUIrTGhUa0pJUnQ1UU5XeHgwMlhnc3Vz?=
 =?utf-8?B?bUluYWRmZ3ZURUVVcFFUMitmT1VsVWtKWG02c1oxUmFjcFBtb3lnSTA5Q0V2?=
 =?utf-8?B?Q09WN2FWYm51bHlPZ3lPV2RDZ2NXZUNkWHBVZmc5ZENHdkxwVGY1SVlwM2Yv?=
 =?utf-8?B?NUpPbS9HZXIyMG0rUng5Sk1XdnFRSW9DYks4ZHUwT1M1S3lhWXpSUzQwS0Nz?=
 =?utf-8?B?VFEyTWlJNER4TGFQaTRaZG5SNThCRm4ybnFXalNJbUNuQmtqRzVrcU5WVDQv?=
 =?utf-8?B?MEFKZE9JRC9BZ0xEdCtVSU1raDV0OTRyWlBUMHVWWVJrbG5PTlR2L2w0aml6?=
 =?utf-8?B?QnlEaW0wejU0cUV5cFdRcDhiN1ByWXBTU1grVXRaL25GUGlFczVzQlRYb29x?=
 =?utf-8?B?VmJRUHZ4bmFMSnBmaVVyLzlhUWtEMTdHOU9VckNIeGFORHJ6a2NtWUVJYkRn?=
 =?utf-8?B?aUx5YjJkU0NUSWEwSy9IaUREbEowSzc4a00zZlpiWHJjcDZUQm16Nk1LcVYv?=
 =?utf-8?B?ZFhEMldCaDZ1MDZ1S3VwOHZnQTFtaGVkUXJ3SnlJRHZWTllockJNdTZCbUFO?=
 =?utf-8?B?aWo4Nms1U1puazRZeWt5YlZ4YkIrQWxVaHVrMEJGS3BIaHMwNFRNSGMrMVhq?=
 =?utf-8?B?ckRWczlDNmlUZFNXOElpZ2NCcGJVaWNDaEkyUHcwVlpIU1d6d20zeDQyaGlG?=
 =?utf-8?B?bXNIeHZldWhHK05kWHBpMFZlMmZ5Y3BUNFErNjlqTHAwRjlhc3BOdlBvYlJs?=
 =?utf-8?B?TTZXeTF5VHVNY3VNWXZRSzJjUko3djBJaXJkVXprUjBBci9lRkk1MTRSSGRZ?=
 =?utf-8?Q?/YW7dpnF5OpKdljyY0x5eOCIX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bdf389b-3215-412e-abdc-08dbea99c41c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 13:57:14.6360
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dOlD3RWw8m9n1mWPUPrYm79xxEzLKxo6CmvgzUmRbWQe6ndNPz72CQwQCrMRD7XD//d6MEXKjPjFDlKETP9+eg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8649

On 07.11.2023 11:33, Nicola Vetrini wrote:
> The jump to the label 'parse_error' becomes forward, rather
> than backward; at the same time, the else branch can be eliminated.

What "else branch" is this referring to?

> This also fixes a violation of MISRA C:2012 Rule 15.2.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
>  xen/arch/x86/dom0_build.c | 14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)
> 
> diff --git a/xen/arch/x86/dom0_build.c b/xen/arch/x86/dom0_build.c
> index 09fb8b063ae7..f0191dc148a2 100644
> --- a/xen/arch/x86/dom0_build.c
> +++ b/xen/arch/x86/dom0_build.c
> @@ -439,12 +439,7 @@ static void __init process_dom0_ioports_disable(struct domain *dom0)
>      {
>          io_from = simple_strtoul(t, &u, 16);
>          if ( u == t )
> -        {
> -        parse_error:
> -            printk("Invalid ioport range <%s> "
> -                   "in dom0_ioports_disable, skipping\n", t);
> -            continue;
> -        }
> +            goto parse_error;
>  
>          if ( *u == '\0' )
>              io_to = io_from;
> @@ -454,7 +449,12 @@ static void __init process_dom0_ioports_disable(struct domain *dom0)
>              goto parse_error;
>  
>          if ( (*u != '\0') || (io_to < io_from) || (io_to >= 65536) )
> -            goto parse_error;
> +        {
> +        parse_error:
> +            printk("Invalid ioport range <%s> "
> +                   "in dom0_ioports_disable, skipping\n", t);
> +            continue;
> +        }
>  
>          printk("Disabling dom0 access to ioport range %04lx-%04lx\n",
>              io_from, io_to);

While purely from how the change looks I think I could live with this kind
of code adjustment (not a lot of churn, in particular no re-indentation,
no potentially harder to follow use of [new] local variables), this is
precisely one of the cases where I think having the label appear before
the goto is actually better, for matching how the language works otherwise
(things you want to use first need to be declared / defined).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 14:17:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 14:17:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637860.993900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5RYp-0003Pf-NT; Tue, 21 Nov 2023 14:17:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637860.993900; Tue, 21 Nov 2023 14:17: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 1r5RYp-0003PY-Kc; Tue, 21 Nov 2023 14:17:07 +0000
Received: by outflank-mailman (input) for mailman id 637860;
 Tue, 21 Nov 2023 14:17: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5RYo-0003PS-HM
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 14:17:06 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a589bc68-8878-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 15:17:05 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-331733acbacso2655474f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 06:17:05 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 f18-20020adfdb52000000b00332cbda1970sm3897396wrj.30.2023.11.21.06.17.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 06:17:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a589bc68-8878-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700576224; x=1701181024; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=62y2ZmDLdSX/ETrDEr7kJ6JPCn7l30tfvH0bjcp2XU4=;
        b=riaOG9ZvPcDMWD4IOEP2+H8340ffeARfPvif2WE4Fdxvri7uuDT6i9gUM4AhX5KiOH
         MI+WRRo6prUQcqs5zQDil9EABs96lJjxKZKZdKOKcrgwuwn2qfTGtLx3j194hvtEDcVD
         sG0P9PtJRr3h9OL0w6iMHERDqQO6/HJHcPqv0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700576224; x=1701181024;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=62y2ZmDLdSX/ETrDEr7kJ6JPCn7l30tfvH0bjcp2XU4=;
        b=b5qDcCdrgCGiTIxZkSUk+51a6ncVlymcQJ49rwYpRIOAenouHcxnigMpKqtYaiF/X5
         zHpjaIMRjT5SR6sHu+GbVTa6iQrHWqr7eCh9wkoSg22eiP1Vdm2gRcEyyYsfTXKYw0DB
         KsGpLERLam8n2ByMwCc+vSI9mI6OYxKCsUdPxqZEegfPuYgF6iz6Z3DZuUnMi853icfc
         Y/Ck45FGjMFqEAq+eJO/bCSrjE7SYhJ9AtApTfHu1JZ516P+MLxk5IHJ8Foh75qqsFvH
         bdVhmBS9deqaJkzslm59OxktNbYC7mL7E8e6UKYi/8ngqN+5TYcgZvlvJDCrdYHanr2n
         FVGg==
X-Gm-Message-State: AOJu0Yz30kt5oif6mKYxRtWj1FBIpgnof+W1YVQsTZGbDhM39c7AG67I
	3OGXZqhk2mwe2UAQqYlOqF+4eA==
X-Google-Smtp-Source: AGHT+IHCTSbM5Yp+s8QNJf0VZJCGYw8WD0T2ekOikTn7s1zGetgmeVO0vJJNgYUOZIC0xjpxH7goOw==
X-Received: by 2002:adf:d1e8:0:b0:32d:87e1:c349 with SMTP id g8-20020adfd1e8000000b0032d87e1c349mr9561911wrd.57.1700576224504;
        Tue, 21 Nov 2023 06:17:04 -0800 (PST)
Date: Tue, 21 Nov 2023 15:17:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>
Subject: Re: [PATCH v10 12/17] vpci/header: emulate PCI_COMMAND register for
 guests
Message-ID: <ZVy73iJ3E8nJHvgf@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-13-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231012220854.2736994-13-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:18PM +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Xen and/or Dom0 may have put values in PCI_COMMAND which they expect
> to remain unaltered. PCI_COMMAND_SERR bit is a good example: while the
> guest's view of this will want to be zero initially, the host having set
> it to 1 may not easily be overwritten with 0, or else we'd effectively
> imply giving the guest control of the bit. Thus, PCI_COMMAND register needs
> proper emulation in order to honor host's settings.
> 
> According to "PCI LOCAL BUS SPECIFICATION, REV. 3.0", section "6.2.2
> Device Control" the reset state of the command register is typically 0,
> so when assigning a PCI device use 0 as the initial state for the guest's view
> of the command register.
> 
> Here is the full list of command register bits with notes about
> emulation, along with QEMU behavior in the same situation:
> 
> PCI_COMMAND_IO - QEMU does not allow a guest to change value of this bit
> in real device. Instead it is always set to 1. A guest can write to this
> register, but writes are ignored.
> 
> PCI_COMMAND_MEMORY - QEMU behaves exactly as with PCI_COMMAND_IO. In
> Xen case, we handle writes to this bit by mapping/unmapping BAR
> regions. For devices assigned to DomUs, memory decoding will be
> disabled and the initialization.
> 
> PCI_COMMAND_MASTER - Allow guest to control it. QEMU passes through
> writes to this bit.
> 
> PCI_COMMAND_SPECIAL - Guest can generate special cycles only if it has
> access to host bridge that supports software generation of special
> cycles. In our case guest has no access to host bridges at all. Value
> after reset is 0. QEMU passes through writes of this bit, we will do
> the same.
> 
> PCI_COMMAND_INVALIDATE - Allows "Memory Write and Invalidate" commands
> to be generated. It requires additional configuration via Cacheline
> Size register. We are not emulating this register right now and we
> can't expect guest to properly configure it. QEMU "emulates" access to
> Cachline Size register by ignoring all writes to it. QEMU passes through
> writes of PCI_COMMAND_INVALIDATE bit, we will do the same.
> 
> PCI_COMMAND_VGA_PALETTE - Enable VGA palette snooping. QEMU passes
> through writes of this bit, we will do the same.
> 
> PCI_COMMAND_PARITY - Controls how device response to parity
> errors. QEMU ignores writes to this bit, we will do the same.
> 
> PCI_COMMAND_WAIT - Reserved. Should be 0, but QEMU passes
> through writes of this bit, so we will do the same.
> 
> PCI_COMMAND_SERR - Controls if device can assert SERR. QEMU ignores
> writes to this bit, we will do the same.
> 
> PCI_COMMAND_FAST_BACK - Optional bit that allows fast back-to-back
> transactions. It is configured by firmware, so we don't want guest to
> control it. QEMU ignores writes to this bit, we will do the same.
> 
> PCI_COMMAND_INTX_DISABLE - Disables INTx signals. If MSI(X) is
> enabled, device is prohibited from asserting INTx as per
> specification. Value after reset is 0. In QEMU case, it checks of INTx
> was mapped for a device. If it is not, then guest can't control
> PCI_COMMAND_INTX_DISABLE bit. In our case, we prohibit a guest to
> change value of this bit if MSI(X) is enabled.

FWIW, bits 11-15 are RsvdP, so we will need to add support for them
after the series from Stewart that adds support for register masks is
accepted.

> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
> In v10:
> - Added cf_check attribute to guest_cmd_read
> - Removed warning about non-zero cmd
> - Updated comment MSI code regarding disabling INTX
> - Used ternary operator in vpci_add_register() call
> - Disable memory decoding for DomUs in init_bars()
> In v9:
> - Reworked guest_cmd_read
> - Added handling for more bits
> Since v6:
> - fold guest's logic into cmd_write
> - implement cmd_read, so we can report emulated INTx state to guests
> - introduce header->guest_cmd to hold the emulated state of the
>   PCI_COMMAND register for guests
> Since v5:
> - add additional check for MSI-X enabled while altering INTX bit
> - make sure INTx disabled while guests enable MSI/MSI-X
> Since v3:
> - gate more code on CONFIG_HAS_MSI
> - removed logic for the case when MSI/MSI-X not enabled
> ---
>  xen/drivers/vpci/header.c | 44 +++++++++++++++++++++++++++++++++++----
>  xen/drivers/vpci/msi.c    |  6 ++++++
>  xen/drivers/vpci/msix.c   |  4 ++++
>  xen/include/xen/vpci.h    |  3 +++
>  4 files changed, 53 insertions(+), 4 deletions(-)
> 
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index efce0bc2ae..e8eed6a674 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -501,14 +501,32 @@ static int modify_bars(const struct pci_dev *pdev, uint16_t cmd, bool rom_only)
>      return 0;
>  }
>  
> +/* TODO: Add proper emulation for all bits of the command register. */
>  static void cf_check cmd_write(
>      const struct pci_dev *pdev, unsigned int reg, uint32_t cmd, void *data)
>  {
>      struct vpci_header *header = data;
>  
> +    if ( !is_hardware_domain(pdev->domain) )
> +    {
> +        const struct vpci *vpci = pdev->vpci;
> +        uint16_t excluded = PCI_COMMAND_PARITY | PCI_COMMAND_SERR |
> +            PCI_COMMAND_FAST_BACK;

You could implement those bits using the RsvdP mask also.

You seem to miss PCI_COMMAND_IO?  In the commit message you note that
writes are ignored, yet here you seem to pass through writes to the
underlying device (which might be OK, but needs to be coherent with
the commit message).

> +
> +        header->guest_cmd = cmd;

I'm kind of unsure whether we want to fake the guest view by returning
what the guest writes.

> +
> +        if ( (vpci->msi && vpci->msi->enabled) ||
> +             (vpci->msix && vpci->msi->enabled) )

The typo that you mentioned about msi vs msix.

> +            excluded |= PCI_COMMAND_INTX_DISABLE;
> +
> +        cmd &= ~excluded;
> +        cmd |= pci_conf_read16(pdev->sbdf, reg) & excluded;
> +    }
> +
>      /*
> -     * Let Dom0 play with all the bits directly except for the memory
> -     * decoding one.
> +     * Let guest play with all the bits directly except for the memory
> +     * decoding one. Bits that are not allowed for DomU are already
> +     * handled above.

I think this should be: "Let Dom0 play with all the bits directly ..."
as you mention both Dom0 and DomU.

>       */
>      if ( header->bars_mapped != !!(cmd & PCI_COMMAND_MEMORY) )
>          /*
> @@ -522,6 +540,14 @@ static void cf_check cmd_write(
>          pci_conf_write16(pdev->sbdf, reg, cmd);
>  }
>  
> +static uint32_t cf_check guest_cmd_read(
> +    const struct pci_dev *pdev, unsigned int reg, void *data)
> +{
> +    const struct vpci_header *header = data;
> +
> +    return header->guest_cmd;
> +}
> +
>  static void cf_check bar_write(
>      const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
>  {
> @@ -737,8 +763,9 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      }
>  
>      /* Setup a handler for the command register. */
> -    rc = vpci_add_register(pdev->vpci, vpci_hw_read16, cmd_write, PCI_COMMAND,
> -                           2, header);
> +    rc = vpci_add_register(pdev->vpci,
> +                           is_hwdom ? vpci_hw_read16 : guest_cmd_read,
> +                           cmd_write, PCI_COMMAND, 2, header);
>      if ( rc )
>          return rc;
>  
> @@ -750,6 +777,15 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      if ( cmd & PCI_COMMAND_MEMORY )
>          pci_conf_write16(pdev->sbdf, PCI_COMMAND, cmd & ~PCI_COMMAND_MEMORY);
>  
> +    /*
> +     * Clear PCI_COMMAND_MEMORY for DomUs, so they will always start with
> +     * memory decoding disabled and to ensure that we will not call modify_bars()
> +     * at the end of this function.
> +     */
> +    if ( !is_hwdom )
> +        cmd &= ~PCI_COMMAND_MEMORY;

Just for symmetry I would also disable PCI_COMMAND_IO.

I do wonder in which states does SeaBIOS or OVMF expects to find the
devices.

> +    header->guest_cmd = cmd;
> +
>      for ( i = 0; i < num_bars; i++ )
>      {
>          uint8_t reg = PCI_BASE_ADDRESS_0 + i * 4;
> diff --git a/xen/drivers/vpci/msi.c b/xen/drivers/vpci/msi.c
> index 2faa54b7ce..0920bd071f 100644
> --- a/xen/drivers/vpci/msi.c
> +++ b/xen/drivers/vpci/msi.c
> @@ -70,6 +70,12 @@ static void cf_check control_write(
>  
>          if ( vpci_msi_arch_enable(msi, pdev, vectors) )
>              return;
> +
> +        /*
> +         * Make sure guest doesn't enable INTx while enabling MSI.
> +         */
> +        if ( !is_hardware_domain(pdev->domain) )
> +            pci_intx(pdev, false);
>      }
>      else
>          vpci_msi_arch_disable(msi, pdev);
> diff --git a/xen/drivers/vpci/msix.c b/xen/drivers/vpci/msix.c
> index b6abab47ef..9d0233d0e3 100644
> --- a/xen/drivers/vpci/msix.c
> +++ b/xen/drivers/vpci/msix.c
> @@ -97,6 +97,10 @@ static void cf_check control_write(
>          for ( i = 0; i < msix->max_entries; i++ )
>              if ( !msix->entries[i].masked && msix->entries[i].updated )
>                  update_entry(&msix->entries[i], pdev, i);
> +
> +        /* Make sure guest doesn't enable INTx while enabling MSI-X. */
> +        if ( !is_hardware_domain(pdev->domain) )
> +            pci_intx(pdev, false);

Note that if both new_enabled and new_masked are set, you won't get
inside of this condition, and that could lead to MSIX being enabled
with INTx set in the command register (albeit with the maskall bit
set).

You might have to add a new check before the pci_conf_write16() that
disables INTx if `new_enabled && !msix->enabled`.

>      }
>      else if ( !new_enabled && msix->enabled )
>      {
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index c5301e284f..60bdc10c13 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -87,6 +87,9 @@ struct vpci {
>          } bars[PCI_HEADER_NORMAL_NR_BARS + 1];
>          /* At most 6 BARS + 1 expansion ROM BAR. */
>  
> +        /* Guest view of the PCI_COMMAND register. */

Maybe we want to add '(domU only)' to the comment.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 14:41:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 14:41:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637869.993911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Rvs-00016m-IC; Tue, 21 Nov 2023 14:40:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637869.993911; Tue, 21 Nov 2023 14: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 1r5Rvs-00016f-EX; Tue, 21 Nov 2023 14:40:56 +0000
Received: by outflank-mailman (input) for mailman id 637869;
 Tue, 21 Nov 2023 14:40: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5Rvr-00016Z-GU
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 14:40:55 +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 f973d2ee-887b-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 15:40:54 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40b2c8e91afso1913425e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 06:40:54 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 z7-20020a05600c0a0700b003fc0505be19sm17677097wmp.37.2023.11.21.06.40.53
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 06:40:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f973d2ee-887b-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700577654; x=1701182454; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=5piXL3MfwdAeGGjCII4Ez9Yi2W6IULKwDiak3ZKKEu4=;
        b=V0CRjQxoSRPPCNTNmZtc2IsOfSKYG1uwhO371jDjb2y33Ry4bkbXPyVcGjylU+a1up
         PXkI15YuBsR7bn5eqLjKRm6jJxglaRz0BvbstUn2a/Ov7A8LUf7KcUI66t5JawTqwtGz
         1xxlrIT56ujjxjNg9Fq/02rQjvOq9ZUzDuCzk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700577654; x=1701182454;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=5piXL3MfwdAeGGjCII4Ez9Yi2W6IULKwDiak3ZKKEu4=;
        b=KT83DwWHvulqvjym+OapZHxEM5alYX60P9cgNGktsrLRfU709rR2q0KypfmfTt8a8f
         zE7mvkA/O+pJ48FEOyeR7yUVCHEGMq/u0l21uE5FArY2J2YG90Z9yUEERea6zSSVFUW9
         lUlzAn6KOYPW7U+aTPBqaiFH/aS+6b1AGl+R4wprIRQZy72Mr8XM8RNWYTrg92soNiSL
         KmISiLsVI8Gn2lHlKQw1KLhyhw1aH0dBNgAgw+bUTSgtiZFbGUqRF9t+kMnrjLcoYBaV
         9a3NeOmCvTLBU4CcVin9HeoUn8aPZ2jOFQxvzisk8MKtMODAFATp/YNfwBAcIqcd/DZV
         rZSQ==
X-Gm-Message-State: AOJu0YxYlwATQ92nQ8DcHUrRq+d2Rsck3JOwx29x7ICL/8z4HVYwXZX+
	BVoK3W36eLrrby3k93XYnjhUKQ==
X-Google-Smtp-Source: AGHT+IE8LwvDBIZTC+9I6tKRV0XGiEM2oj8HRv6ptyyipd2nwmOH/8z4xypwVIFoaVcp0bWo2l8CWA==
X-Received: by 2002:a05:600c:1548:b0:405:3dbc:8823 with SMTP id f8-20020a05600c154800b004053dbc8823mr8690887wmg.12.1700577653845;
        Tue, 21 Nov 2023 06:40:53 -0800 (PST)
Date: Tue, 21 Nov 2023 15:40:52 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@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: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Message-ID: <ZVzBdBQNcBg9dKwT@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-14-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231012220854.2736994-14-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:18PM +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> Assign SBDF to the PCI devices being passed through with bus 0.
> The resulting topology is where PCIe devices reside on the bus 0 of the
> root complex itself (embedded endpoints).
> This implementation is limited to 32 devices which are allowed on
> a single PCI bus.
> 
> Please note, that at the moment only function 0 of a multifunction
> device can be passed through.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> In v10:
> - Removed ASSERT(pcidevs_locked())
> - Removed redundant code (local sbdf variable, clearing sbdf during
> device removal, etc)
> - Added __maybe_unused attribute to "out:" label
> - Introduced HAS_VPCI_GUEST_SUPPORT Kconfig option, as this is the
>   first patch where it is used (previously was in "vpci: add hooks for
>   PCI device assign/de-assign")
> In v9:
> - Lock in add_virtual_device() replaced with ASSERT (thanks, Stewart)
> In v8:
> - Added write lock in add_virtual_device
> Since v6:
> - re-work wrt new locking scheme
> - OT: add ASSERT(pcidevs_write_locked()); to add_virtual_device()
> Since v5:
> - s/vpci_add_virtual_device/add_virtual_device and make it static
> - call add_virtual_device from vpci_assign_device and do not use
>   REGISTER_VPCI_INIT machinery
> - add pcidevs_locked ASSERT
> - use DECLARE_BITMAP for vpci_dev_assigned_map
> Since v4:
> - moved and re-worked guest sbdf initializers
> - s/set_bit/__set_bit
> - s/clear_bit/__clear_bit
> - minor comment fix s/Virtual/Guest/
> - added VPCI_MAX_VIRT_DEV constant (PCI_SLOT(~0) + 1) which will be used
>   later for counting the number of MMIO handlers required for a guest
>   (Julien)
> Since v3:
>  - make use of VPCI_INIT
>  - moved all new code to vpci.c which belongs to it
>  - changed open-coded 31 to PCI_SLOT(~0)
>  - added comments and code to reject multifunction devices with
>    functions other than 0
>  - updated comment about vpci_dev_next and made it unsigned int
>  - implement roll back in case of error while assigning/deassigning devices
>  - s/dom%pd/%pd
> Since v2:
>  - remove casts that are (a) malformed and (b) unnecessary
>  - add new line for better readability
>  - remove CONFIG_HAS_VPCI_GUEST_SUPPORT ifdef's as the relevant vPCI
>     functions are now completely gated with this config
>  - gate common code with CONFIG_HAS_VPCI_GUEST_SUPPORT
> New in v2
> ---
>  xen/drivers/Kconfig     |  4 +++
>  xen/drivers/vpci/vpci.c | 63 +++++++++++++++++++++++++++++++++++++++++
>  xen/include/xen/sched.h |  8 ++++++
>  xen/include/xen/vpci.h  | 11 +++++++
>  4 files changed, 86 insertions(+)
> 
> diff --git a/xen/drivers/Kconfig b/xen/drivers/Kconfig
> index db94393f47..780490cf8e 100644
> --- a/xen/drivers/Kconfig
> +++ b/xen/drivers/Kconfig
> @@ -15,4 +15,8 @@ source "drivers/video/Kconfig"
>  config HAS_VPCI
>  	bool
>  
> +config HAS_VPCI_GUEST_SUPPORT
> +	bool
> +	depends on HAS_VPCI
> +
>  endmenu
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 5e34d0092a..7c46a2d3f4 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -36,6 +36,52 @@ extern vpci_register_init_t *const __start_vpci_array[];
>  extern vpci_register_init_t *const __end_vpci_array[];
>  #define NUM_VPCI_INIT (__end_vpci_array - __start_vpci_array)
>  
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +static int add_virtual_device(struct pci_dev *pdev)
> +{
> +    struct domain *d = pdev->domain;
> +    unsigned long new_dev_number;

Why unsigned long?  unsigned int seems more than enough to account for
all possible dev numbers [0, 31].

> +
> +    if ( is_hardware_domain(d) )
> +        return 0;
> +
> +    ASSERT(rw_is_write_locked(&pdev->domain->pci_lock));
> +
> +    /*
> +     * Each PCI bus supports 32 devices/slots at max or up to 256 when
> +     * there are multi-function ones which are not yet supported.
> +     */
> +    if ( pdev->info.is_extfn && !pdev->info.is_virtfn )
> +    {
> +        gdprintk(XENLOG_ERR, "%pp: only function 0 passthrough supported\n",
> +                 &pdev->sbdf);
> +        return -EOPNOTSUPP;
> +    }
> +    new_dev_number = find_first_zero_bit(d->vpci_dev_assigned_map,
> +                                         VPCI_MAX_VIRT_DEV);
> +    if ( new_dev_number == VPCI_MAX_VIRT_DEV )
> +    {
> +        write_unlock(&pdev->domain->pci_lock);

This write_unlock() looks bogus, as the lock is not taken by this
function.  Won't this create an unlock imbalance when the caller of
vpci_assign_device() also attempts to write-unlock d->pci_lock?

> +        return -ENOSPC;
> +    }
> +
> +    __set_bit(new_dev_number, &d->vpci_dev_assigned_map);
> +
> +    /*
> +     * Both segment and bus number are 0:
> +     *  - we emulate a single host bridge for the guest, e.g. segment 0
> +     *  - with bus 0 the virtual devices are seen as embedded
> +     *    endpoints behind the root complex
> +     *
> +     * TODO: add support for multi-function devices.
> +     */
> +    pdev->vpci->guest_sbdf = PCI_SBDF(0, 0, new_dev_number, 0);
> +
> +    return 0;
> +}
> +
> +#endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
> +
>  void vpci_deassign_device(struct pci_dev *pdev)
>  {
>      unsigned int i;
> @@ -46,6 +92,13 @@ void vpci_deassign_device(struct pci_dev *pdev)
>          return;
>  
>      spin_lock(&pdev->vpci->lock);
> +
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +    if ( pdev->vpci->guest_sbdf.sbdf != ~0 )
> +        __clear_bit(pdev->vpci->guest_sbdf.dev,
> +                    &pdev->domain->vpci_dev_assigned_map);
> +#endif

This chunk could in principle be outside of the vpci->lock region
AFAICT.

> +
>      while ( !list_empty(&pdev->vpci->handlers) )
>      {
>          struct vpci_register *r = list_first_entry(&pdev->vpci->handlers,
> @@ -101,6 +154,13 @@ int vpci_assign_device(struct pci_dev *pdev)
>      INIT_LIST_HEAD(&pdev->vpci->handlers);
>      spin_lock_init(&pdev->vpci->lock);
>  
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +    pdev->vpci->guest_sbdf.sbdf = ~0;
> +    rc = add_virtual_device(pdev);
> +    if ( rc )
> +        goto out;
> +#endif
> +
>      for ( i = 0; i < NUM_VPCI_INIT; i++ )
>      {
>          rc = __start_vpci_array[i](pdev);
> @@ -108,11 +168,14 @@ int vpci_assign_device(struct pci_dev *pdev)
>              break;
>      }
>  
> + out:
> +    __maybe_unused;

Can you place it in the same line as the out: label please?

>      if ( rc )
>          vpci_deassign_device(pdev);
>  
>      return rc;
>  }
> +

Stray newline?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 14:41:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 14:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637874.993922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Rwp-0001dk-Sj; Tue, 21 Nov 2023 14:41:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637874.993922; Tue, 21 Nov 2023 14: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 1r5Rwp-0001dd-OZ; Tue, 21 Nov 2023 14:41:55 +0000
Received: by outflank-mailman (input) for mailman id 637874;
 Tue, 21 Nov 2023 14:41: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=f+q9=HC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r5Rwo-00016Z-8I
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 14:41:54 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c9e4563-887c-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 15:41:53 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id CF78F4EE073A;
 Tue, 21 Nov 2023 15:41:52 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1c9e4563-887c-11ee-98e1-6d05b1d4d9a1
MIME-Version: 1.0
Date: Tue, 21 Nov 2023 15:41:52 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [RFC PATCH 0/4] address MISRA C:2012 Rule 15.2
In-Reply-To: <cover.1699295113.git.nicola.vetrini@bugseng.com>
References: <cover.1699295113.git.nicola.vetrini@bugseng.com>
Message-ID: <7e2993c68fda95d1eda6fd136750fcba@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-07 11:33, Nicola Vetrini wrote:
> This series is aimed at presenting some strategies that can be used to 
> deal with
> violations of Rule 15.2:
> "The goto statement shall jump to a label declared later in the same 
> function".
> 
> The rule's rationale is about possible developer confusion, therefore 
> it could
> be argued that there is no substantial gain in complying with it, given 
> the
> torough review process in place.
> 
> Nonetheless, the proposed resolution strategies are the following:
> - use a loop instead of a goto (see patch 1 and 3)
> - make the jump due to the goto forward, rather than backward (see 
> patch 2)
> - unconditionally allow certain constructs, such as "goto retry", whose 
> presence
>   in the codebase typically signifies that all other reasonable 
> approaches (e.g,
>   loops, forward jumps) have been considered and deemed inferior in 
> terms of
>   code readability.
> 
> The latter strategy may be postponed until all goto-s with a certain 
> label have
> been examined. An alternative strategy could be to allow certain files
> (most notably those under x86/x86_emulate) to have backward jumps, and 
> resolve
> the remaining violations.
> 
> Any feedback on this matter is welcome.
> 
> Nicola Vetrini (4):
>   xen/vsprintf: replace backwards jump with loop
>   x86/dom0: make goto jump forward
>   xen/arm: GICv3: address MISRA C:2012 Rule 15.2
>   automation/eclair: add deviation for certain backwards goto
> 
>  .../eclair_analysis/ECLAIR/deviations.ecl     | 10 +++
>  docs/misra/deviations.rst                     | 10 +++
>  xen/arch/arm/gic-v3-its.c                     | 81 ++++++++++---------
>  xen/arch/x86/dom0_build.c                     | 14 ++--
>  xen/common/vsprintf.c                         | 20 +++--
>  5 files changed, 81 insertions(+), 54 deletions(-)

Cc: all involved maintainers

In concert with Stefano, and given the feedback received on this RFC 
series, it has been decided to deviate globally this rule, on the 
grounds that there are already guidelines on the usage of goto-s within 
Xen, so it was deemed not worth pursuing the resolution of these 
violations. Therefore, the patches contained here can be ignored for the 
purposes of MISRA compliance.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 14:45:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 14:45:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637879.993931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5S0j-0002Jr-BG; Tue, 21 Nov 2023 14:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637879.993931; Tue, 21 Nov 2023 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 1r5S0j-0002Jk-7i; Tue, 21 Nov 2023 14:45:57 +0000
Received: by outflank-mailman (input) for mailman id 637879;
 Tue, 21 Nov 2023 14:45: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5S0h-0002IR-OK
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 14:45:55 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id abeaf724-887c-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 15:45:53 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4084de32db5so29829825e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 06:45:53 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 t8-20020a05600c198800b0040531f5c51asm17594664wmq.5.2023.11.21.06.45.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 06:45:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abeaf724-887c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700577953; x=1701182753; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=B10FEUkPquyYJVao+8x8hkDKra7t28rf6e/rn+u3em4=;
        b=JS/X0Id4dPCgP2pqsTq5NjLHGEQw4GORbXa0FcPC69TAp9X7hGEtAnqVu4FLkEtYn5
         UohQE1EPk6PVu3liHLaW3KN++Ch/Kn4Vpz04YXZUURW+kI2aA1t12fHBrGpovG2/VZ+R
         LvQK2QiJHXWDiNoFx9HvZbihBH3N1oijHXjV0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700577953; x=1701182753;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=B10FEUkPquyYJVao+8x8hkDKra7t28rf6e/rn+u3em4=;
        b=IyAGeFXEWDr2pmGQU/3Qdmeh/yQtrbXxnLXT9XPtoge1cHOR/xxNxxjto9qB6jkmZs
         HH72/1HscCtb0B9u0D9s6FWWfH3Q1RMD7dGoa+ELdUlAKS3708ykwP5xHjb8QxqBTg3I
         1/wX0LZb/RnAz0WqNGD68Np4Jy1NLbDnTfrqFjj03JVnKF+Ut7S9ajX1BT9JmqAhmcU6
         6UMwd09431JGrcTIT5pE0l3PfseXhuKYY5YPItwss+PQtoFg6GH+QwYZcHH3tOwItcJ+
         xgJnkl7nfSl6/+o9w9LI+mi67oS1BGlMoyZAnvqwfcMbexx09OSe3S1i0sCkHTlZDjEJ
         iHBg==
X-Gm-Message-State: AOJu0YzW+prkjzkMXyy/V76d9Ndtgd5+VZRAxi3X4uSYWU02DIBYFe0g
	ie3qTDdtz4ruRHrfP9MSYgXRnQ==
X-Google-Smtp-Source: AGHT+IHeGTYD9wX9V3tDIBHZhKzPw27YNUiyY8fM7rY+/Sml4aJ6dmJkIismof+fMFvWgPKcydhx2w==
X-Received: by 2002:a05:600c:19d4:b0:40b:2a85:d7ae with SMTP id u20-20020a05600c19d400b0040b2a85d7aemr1195261wmq.16.1700577953241;
        Tue, 21 Nov 2023 06:45:53 -0800 (PST)
Date: Tue, 21 Nov 2023 15:45:51 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.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 v7 1/2] xen/vpci: header: status register handler
Message-ID: <ZVzCn60-qvdRsi3q@macbook.local>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20230913143550.14565-2-stewart.hildebrand@amd.com>

On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
> @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>  
>  /*
>   * Perform a maybe partial write to a register.
> - *
> - * Note that this will only work for simple registers, if Xen needs to
> - * trap accesses to rw1c registers (like the status PCI header register)
> - * the logic in vpci_write will have to be expanded in order to correctly
> - * deal with them.
>   */
>  static void vpci_write_helper(const struct pci_dev *pdev,
>                                const struct vpci_register *r, unsigned int size,
>                                unsigned int offset, uint32_t data)
>  {
> +    uint32_t val = 0;
> +
>      ASSERT(size <= r->size);
>  
> -    if ( size != r->size )
> +    if ( (size != r->size) || r->ro_mask )
>      {
> -        uint32_t val;
> -
>          val = r->read(pdev, r->offset, r->private);
> +        val &= ~r->rw1c_mask;
>          data = merge_result(val, data, size, offset);
>      }
>  
> +    data &= ~(r->rsvdz_mask | r->ro_mask);
> +    data |= val & r->ro_mask;

I've been thinking about this, and the way the ro_mask is implemented
(and the way we want to handle ro bits) is the same behavior as RsvdP.
I would suggest to rename the ro_mask to rsvdp_mask and note
that for resilience reasons we will handle RO bits as RsvdP.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 14:46:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 14:46:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637880.993940 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5S0t-0002hG-Lv; Tue, 21 Nov 2023 14:46:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637880.993940; Tue, 21 Nov 2023 14: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 1r5S0t-0002h9-J8; Tue, 21 Nov 2023 14:46:07 +0000
Received: by outflank-mailman (input) for mailman id 637880;
 Tue, 21 Nov 2023 14:46: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=f+q9=HC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r5S0s-0002IR-Cm
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 14:46:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b28be2a8-887c-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 15:46:04 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 9E8CB4EE073A;
 Tue, 21 Nov 2023 15:46:04 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b28be2a8-887c-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Tue, 21 Nov 2023 15:46:04 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>, Paul
 Durrant <paul@xen.org>, George Dunlap <george.dunlap@citrix.com>, Julien
 Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [RFC PATCH] x86/vlapic: address a violation of MISRA C:2012 Rule
 16.2
In-Reply-To: <99114c15a4256e6a0f39bd6de232ee4b8ad9b587.1698239734.git.nicola.vetrini@bugseng.com>
References: <99114c15a4256e6a0f39bd6de232ee4b8ad9b587.1698239734.git.nicola.vetrini@bugseng.com>
Message-ID: <0d67fdc30190bc8f3dfbf13b2d7e818b@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-10-25 15:22, Nicola Vetrini wrote:
> The clauses of a switch should be enclosed directly by a switch
> statement to make the code more easily understandable and less
> prone to errors.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> This patch is mainly indended to probe how the community, especially 
> the
> maintainers, would receive such modifications to the code, and whether 
> there
> would be consensus on the rule's adoption. Anyone is welcome to
> give feedback on this, especially on the x86 side, where this pattern
> is used more frequently.
> ---
>  xen/arch/x86/hvm/vlapic.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 

Cc: all the relevant maintainers (mostly x86)

An update on the status of this rule's adoption. It has been deemed not 
beneficial to go after violations in xen/arch/x86/x86_emulate/.* , 
therefore the only patches to be expected for this rule will be about 
the few remaining violations in both arm, x86 and common code.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:03:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:03:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637890.993951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5SHR-0007DU-Vd; Tue, 21 Nov 2023 15:03:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637890.993951; Tue, 21 Nov 2023 15:03: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 1r5SHR-0007DN-T0; Tue, 21 Nov 2023 15:03:13 +0000
Received: by outflank-mailman (input) for mailman id 637890;
 Tue, 21 Nov 2023 15:03: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=J/0D=HC=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r5SHQ-0007DH-V3
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:03:13 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e83::60e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 15e199e8-887f-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:03:10 +0100 (CET)
Received: from PH8PR21CA0010.namprd21.prod.outlook.com (2603:10b6:510:2ce::10)
 by MN2PR12MB4390.namprd12.prod.outlook.com (2603:10b6:208:26e::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 15:03:06 +0000
Received: from SA2PEPF000015C6.namprd03.prod.outlook.com
 (2603:10b6:510:2ce:cafe::b1) by PH8PR21CA0010.outlook.office365.com
 (2603:10b6:510:2ce::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.3 via Frontend
 Transport; Tue, 21 Nov 2023 15:03:06 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015C6.mail.protection.outlook.com (10.167.241.196) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 15:03:06 +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.2507.34; Tue, 21 Nov
 2023 09:03:03 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 21 Nov 2023 09:03:02 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15e199e8-887f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N3F5HVEJmdOE6S/Iwc7o/T1H5p7eu1e1diTD1gQsf24i0SEt0TRcjKhrMtSagm7wX1b1UUFcZ3b4Pjrt+vweCFqEQw96wO6vHCmyt4L4mS3LWhzFC4ONkhm8iofq41+0ZkinA6433LwE10TRPEG9l+03UNsl0bVawl34GWh+UzKiXl2Ya/91f9gUio1tT2trIHGro+jM8AEz0PeIhCOExjiSGeOj3Z/uMk70U2SINB1DrG5u/3ESGIzxwNigtRG2yyGD9MCfoEvUs7X3AFgF5O+vx6iszeScz9URCoAMw86GTiZIEzzyMcbY2q3FdDZt3ix8dg0LhrPHwHmbGLMd6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AZjCeIViNFPBeWOfwkFNr1a8tUg1r3zE/BcwzWJzM4U=;
 b=bV/wzm/db4TAyfm/pFMUTawLpZbSGIGeKqks4J/Azk7eIZvJdOW16bxlGoIxuXYVAAJfuNaJXRGfXxNBnf8DowOJbi8kHgWVaTReOxMtFmMb6PMP8kctjxl3P7Az/9UW+hjsKHETRJs3NmK8sXbv9uibFbPXQom/5vBpuxMnQ1YxxSSsTaoYf1rAytI2CPRbQyvZASkp4lCVQKHtvPILW8dnvMVM6ibUC+60/YPY46TbB2x6s9xQ0Rkisy5wHat7otDfVsEYLF/idKIxj36iaQNUWJvptvKc0ObxyM+/4ftVIdxOngb72J0IQt3UWiho0ALq/Y/Jia5KzAaHj1tRZA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=AZjCeIViNFPBeWOfwkFNr1a8tUg1r3zE/BcwzWJzM4U=;
 b=X1aLYRzD8OxqHabk1D71AoIylZlOIOcDhqoz6viBSPWfeOLrmPJK2JitZlPZhPa99HmCxZxRpvEhbm6cszyWmBTybAVpFtWzpvwHWDC/OiTIxxDxOV/FsYvpBFpQ/vuJ1A05+0L7zGeOBgMwylNLFRNu8hAmM+HTnbs9Iy2szlg=
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: <081547e8-696b-4741-b9b6-bc92c221f01a@amd.com>
Date: Tue, 21 Nov 2023 10:03:01 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] xen/vpci: header: status register handler
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@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>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVzCn60-qvdRsi3q@macbook.local>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <ZVzCn60-qvdRsi3q@macbook.local>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C6:EE_|MN2PR12MB4390:EE_
X-MS-Office365-Filtering-Correlation-Id: 65b82333-b551-4bfa-f414-08dbeaa2f782
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zFl7VGUm1bFE/nMOn9YBs3q9Ix/fPluDkcaCLpaVZnHi2iuwbPCWaLPC/X3gA+lJM/Ob1dA7y26Vy5pWxLoveLTpiIzgZlr4LAetuVUlq5RT6rpKD4rdqbLNr2LluCVZz4pskzT3+soaGGEsnk71zwyOhkAjS6Z1VOhfZvmCqEMk9q9cXpDb9d1Q3mzlxod/xKVpZpGaSweBbDxByfg47c5arrRz1qUx2l3NSmEdBvSk5AUzujiw5sFnkQokGH/lDDEWFeYgDWlgRZ37EQc4cTr/IfCPashjH6Jk55vqwZg9xf3pzsKd7Sx4dYq3sqqlrPLNkXfJ5YTiX0tzqNust866A/8+DcurM4ntBkHJWgUKX+xr3XZoJAyP6AW5nFn/m4kfaDQ1mz0+qW8ciGgpLAcQK0gp6xRFkZvLPyhhBCHHc+OSR+WXFlqNLqTRIs2Z6jHLj15tHtzcmMiARORbIBkVzyUWlGXdOGk4yjxbqk659o1Db6UvLnBfBXhNjtwoSuKit2/csl5vxUIPwnOaPGoIONuKOh7M84yK8AJOJEs7m10nWjE4kLK1u67N8Nm5LOyuI8Ejgi0EoZYFmdb07XUFJtP+Ls4w6v1B7lg7b+hoUqJKWTVF+ns80xNL4DfGHHa7TTwW4kmV9APZlmJrnwz84Aescj/A62Ev7ZBE2A4j1s5NQETUkMFsaCJsoMIqxQ//LaDoKgZ82TfbxN8o8J0ljJZ1e12bAcjevyl65gTPBofg38MA6Eft2fahqbFuE03bd3CeP1xAnCqZXCxrIZuaC6DKwcbiDULRzb/uViK6EL4ldh3njsOBIuUukwzGOcy0g1CyolTDHLr4qS91cQ==
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:(13230031)(4636009)(396003)(136003)(346002)(376002)(39860400002)(230922051799003)(451199024)(82310400011)(186009)(64100799003)(1800799012)(36840700001)(40470700004)(46966006)(41300700001)(66899024)(36756003)(86362001)(5660300002)(31696002)(44832011)(40460700003)(2906002)(47076005)(356005)(31686004)(40480700001)(81166007)(26005)(82740400003)(336012)(426003)(2616005)(478600001)(83380400001)(53546011)(4326008)(70586007)(8676002)(36860700001)(8936002)(16576012)(316002)(6916009)(70206006)(54906003)(43740500002)(36900700001)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 15:03:06.0588
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 65b82333-b551-4bfa-f414-08dbeaa2f782
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:
	SA2PEPF000015C6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4390

On 11/21/23 09:45, Roger Pau Monné wrote:
> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
>> @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>>  
>>  /*
>>   * Perform a maybe partial write to a register.
>> - *
>> - * Note that this will only work for simple registers, if Xen needs to
>> - * trap accesses to rw1c registers (like the status PCI header register)
>> - * the logic in vpci_write will have to be expanded in order to correctly
>> - * deal with them.
>>   */
>>  static void vpci_write_helper(const struct pci_dev *pdev,
>>                                const struct vpci_register *r, unsigned int size,
>>                                unsigned int offset, uint32_t data)
>>  {
>> +    uint32_t val = 0;
>> +
>>      ASSERT(size <= r->size);
>>  
>> -    if ( size != r->size )
>> +    if ( (size != r->size) || r->ro_mask )
>>      {
>> -        uint32_t val;
>> -
>>          val = r->read(pdev, r->offset, r->private);
>> +        val &= ~r->rw1c_mask;
>>          data = merge_result(val, data, size, offset);
>>      }
>>  
>> +    data &= ~(r->rsvdz_mask | r->ro_mask);
>> +    data |= val & r->ro_mask;
> 
> I've been thinking about this, and the way the ro_mask is implemented
> (and the way we want to handle ro bits) is the same behavior as RsvdP.
> I would suggest to rename the ro_mask to rsvdp_mask and note
> that for resilience reasons we will handle RO bits as RsvdP.

But the reads behave differently. RO should return the value, RsvdP should return 0 when read (according to the PCIe Base Spec 4.0).


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:12:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:12:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637893.993960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5SPv-0000kz-RF; Tue, 21 Nov 2023 15:11:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637893.993960; Tue, 21 Nov 2023 15: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 1r5SPv-0000ks-Og; Tue, 21 Nov 2023 15:11:59 +0000
Received: by outflank-mailman (input) for mailman id 637893;
 Tue, 21 Nov 2023 15:11: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5SPu-0000jf-PH
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:11:58 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f727012-8880-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:11:56 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40b27726369so7311535e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 07:11:56 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p11-20020adfcc8b000000b0032d9337e7d1sm14702466wrj.11.2023.11.21.07.11.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 07:11:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f727012-8880-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700579516; x=1701184316; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=fqL8gzSxI5AUNBfi2ag+AXUm45VP8GmQPWCZvSXfysU=;
        b=NRPO+pHumBlhGiThZnc7Lrcu8E3rSiYHmnLWhCIpYpNPsQcelgDpZAVDSORspUzdBV
         3StkqnMXQKtPiLY2L4QE7NQzrW5UIljmGyN6H/s/HOuUWulm/h7EQ6Yzz46Vs1wxn7DN
         f0S7tHjIepLbXVG+9mnLATjpD9hEhKQhmIU04=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700579516; x=1701184316;
        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:subject:date:message-id:reply-to;
        bh=fqL8gzSxI5AUNBfi2ag+AXUm45VP8GmQPWCZvSXfysU=;
        b=fTXWTgNZ/TSAPeSiiCPYUto3+7bGKsojinJ5yU4CdgPlkhKTizqRBDCBMVG5cSDEdN
         uXha00nc3eIgMoEhwyVb3RaDFET2ipeiqTrL96bmguDesJRJpo77U/UEkMVI5pcjUtvL
         ovauNZgoxPKdQHm7SgYQSVYb5az/BKA2zdaZYZDvZdgRsWjrwR2qrGeeuUOOGFcZTISu
         x4zAWMfKkXM6RSEC91KtDhwaWaRpikVuo5/k9Y0Plo+22xuiPz2xyVEbUwl5WAnU0PoG
         Eks+4+V6Lau1/yiib7gfOgdfh9btMTIL133qKLjI49I7173XWS2tkd3ZaJYM+DukueJP
         401A==
X-Gm-Message-State: AOJu0YzYD5vGLYQ9zayS5l+VjJt/dL40csWO1B5kOpSjWZxKFIA7RHKd
	cXB++fGWP9YbV6Qauy1Xe3XqHQ==
X-Google-Smtp-Source: AGHT+IEGR9SuOzmpUb6Mftzv09Hh1tdN4gUhRXU70GDQalhdJup5sofYz7LsMp5wTAnJRrn15TsIww==
X-Received: by 2002:a5d:47cf:0:b0:32f:99f4:ebb5 with SMTP id o15-20020a5d47cf000000b0032f99f4ebb5mr8841586wrc.19.1700579516071;
        Tue, 21 Nov 2023 07:11:56 -0800 (PST)
Date: Tue, 21 Nov 2023 16:11:54 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>
Subject: Re: [PATCH v10 14/17] xen/arm: translate virtual PCI bus topology
 for guests
Message-ID: <ZVzIul9HbSMbWkXW@macbook.local>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-15-volodymyr_babchuk@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231012220854.2736994-15-volodymyr_babchuk@epam.com>

On Thu, Oct 12, 2023 at 10:09:18PM +0000, Volodymyr Babchuk wrote:
> From: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> 
> There are three  originators for the PCI configuration space access:
> 1. The domain that owns physical host bridge: MMIO handlers are
> there so we can update vPCI register handlers with the values
> written by the hardware domain, e.g. physical view of the registers
> vs guest's view on the configuration space.
> 2. Guest access to the passed through PCI devices: we need to properly
> map virtual bus topology to the physical one, e.g. pass the configuration
> space access to the corresponding physical devices.
> 3. Emulated host PCI bridge access. It doesn't exist in the physical
> topology, e.g. it can't be mapped to some physical host bridge.
> So, all access to the host bridge itself needs to be trapped and
> emulated.
> 
> Signed-off-by: Oleksandr Andrushchenko <oleksandr_andrushchenko@epam.com>
> ---
> Since v9:
> - Commend about required lock replaced with ASSERT()
> - Style fixes
> - call to vpci_translate_virtual_device folded into vpci_sbdf_from_gpa
> Since v8:
> - locks moved out of vpci_translate_virtual_device()
> Since v6:
> - add pcidevs locking to vpci_translate_virtual_device
> - update wrt to the new locking scheme
> Since v5:
> - add vpci_translate_virtual_device for #ifndef CONFIG_HAS_VPCI_GUEST_SUPPORT
>   case to simplify ifdefery
> - add ASSERT(!is_hardware_domain(d)); to vpci_translate_virtual_device
> - reset output register on failed virtual SBDF translation
> Since v4:
> - indentation fixes
> - constify struct domain
> - updated commit message
> - updates to the new locking scheme (pdev->vpci_lock)
> Since v3:
> - revisit locking
> - move code to vpci.c
> Since v2:
>  - pass struct domain instead of struct vcpu
>  - constify arguments where possible
>  - gate relevant code with CONFIG_HAS_VPCI_GUEST_SUPPORT
> New in v2
> ---
>  xen/arch/arm/vpci.c     | 51 ++++++++++++++++++++++++++++++++---------
>  xen/drivers/vpci/vpci.c | 25 +++++++++++++++++++-
>  xen/include/xen/vpci.h  | 10 ++++++++
>  3 files changed, 74 insertions(+), 12 deletions(-)
> 
> diff --git a/xen/arch/arm/vpci.c b/xen/arch/arm/vpci.c
> index 3bc4bb5508..58e2a20135 100644
> --- a/xen/arch/arm/vpci.c
> +++ b/xen/arch/arm/vpci.c
> @@ -7,31 +7,55 @@
>  
>  #include <asm/mmio.h>
>  
> -static pci_sbdf_t vpci_sbdf_from_gpa(const struct pci_host_bridge *bridge,
> -                                     paddr_t gpa)
> +static bool_t vpci_sbdf_from_gpa(struct domain *d,

s/bool_t/bool/

> +                                 const struct pci_host_bridge *bridge,
> +                                 paddr_t gpa, pci_sbdf_t *sbdf)
>  {
> -    pci_sbdf_t sbdf;
> +    ASSERT(sbdf);
>  
>      if ( bridge )
>      {
> -        sbdf.sbdf = VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
> -        sbdf.seg = bridge->segment;
> -        sbdf.bus += bridge->cfg->busn_start;
> +        sbdf->sbdf = VPCI_ECAM_BDF(gpa - bridge->cfg->phys_addr);
> +        sbdf->seg = bridge->segment;
> +        sbdf->bus += bridge->cfg->busn_start;
>      }
>      else
> -        sbdf.sbdf = VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
> -
> -    return sbdf;
> +    {
> +        bool translated;
> +
> +        /*
> +         * For the passed through devices we need to map their virtual SBDF
> +         * to the physical PCI device being passed through.
> +         */
> +        sbdf->sbdf = VPCI_ECAM_BDF(gpa - GUEST_VPCI_ECAM_BASE);
> +        read_lock(&d->pci_lock);
> +        translated = vpci_translate_virtual_device(d, sbdf);
> +        read_unlock(&d->pci_lock);
> +
> +        if ( !translated )
> +        {
> +            return false;
> +        }
> +    }
> +    return true;
>  }

I would make translated a top-level variable:

{
    bool translated = true;

    if ( bridge )
        ...
    else
        ...
        translated = vpci_translate_virtual_device(d, sbdf);
        ....

    return translated;
}

As that IMO makes the logic easier to follow.

>  
>  static int vpci_mmio_read(struct vcpu *v, mmio_info_t *info,
>                            register_t *r, void *p)
>  {
>      struct pci_host_bridge *bridge = p;
> -    pci_sbdf_t sbdf = vpci_sbdf_from_gpa(bridge, info->gpa);
> +    pci_sbdf_t sbdf;
>      /* data is needed to prevent a pointer cast on 32bit */
>      unsigned long data;
>  
> +    ASSERT(!bridge == !is_hardware_domain(v->domain));
> +
> +    if ( !vpci_sbdf_from_gpa(v->domain, bridge, info->gpa, &sbdf) )
> +    {
> +        *r = ~0ul;

Uppercase suffixes.

> +        return 1;
> +    }
> +
>      if ( vpci_ecam_read(sbdf, ECAM_REG_OFFSET(info->gpa),
>                          1U << info->dabt.size, &data) )
>      {
> @@ -48,7 +72,12 @@ static int vpci_mmio_write(struct vcpu *v, mmio_info_t *info,
>                             register_t r, void *p)
>  {
>      struct pci_host_bridge *bridge = p;
> -    pci_sbdf_t sbdf = vpci_sbdf_from_gpa(bridge, info->gpa);
> +    pci_sbdf_t sbdf;
> +
> +    ASSERT(!bridge == !is_hardware_domain(v->domain));
> +
> +    if ( !vpci_sbdf_from_gpa(v->domain, bridge, info->gpa, &sbdf) )
> +        return 1;
>  
>      return vpci_ecam_write(sbdf, ECAM_REG_OFFSET(info->gpa),
>                             1U << info->dabt.size, r);
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 7c46a2d3f4..0dee5118d6 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -80,6 +80,30 @@ static int add_virtual_device(struct pci_dev *pdev)
>      return 0;
>  }
>  
> +/*
> + * Find the physical device which is mapped to the virtual device
> + * and translate virtual SBDF to the physical one.
> + */
> +bool vpci_translate_virtual_device(const struct domain *d, pci_sbdf_t *sbdf)
> +{
> +    const struct pci_dev *pdev;
> +
> +    ASSERT(!is_hardware_domain(d));
> +    ASSERT(rw_is_locked(&d->pci_lock));
> +
> +    for_each_pdev ( d, pdev )
> +    {
> +        if ( pdev->vpci && (pdev->vpci->guest_sbdf.sbdf == sbdf->sbdf) )
> +        {
> +            /* Replace guest SBDF with the physical one. */
> +            *sbdf = pdev->sbdf;
> +            return true;
> +        }
> +    }
> +
> +    return false;
> +}
> +
>  #endif /* CONFIG_HAS_VPCI_GUEST_SUPPORT */
>  
>  void vpci_deassign_device(struct pci_dev *pdev)
> @@ -175,7 +199,6 @@ int vpci_assign_device(struct pci_dev *pdev)
>  
>      return rc;
>  }
> -
>  #endif /* __XEN__ */
>  
>  static int vpci_register_cmp(const struct vpci_register *r1,
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index 4a53936447..e9269b37ac 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -282,6 +282,16 @@ static inline bool __must_check vpci_process_pending(struct vcpu *v)
>  }
>  #endif
>  
> +#ifdef CONFIG_HAS_VPCI_GUEST_SUPPORT
> +bool vpci_translate_virtual_device(const struct domain *d, pci_sbdf_t *sbdf);
> +#else
> +static inline bool vpci_translate_virtual_device(const struct domain *d,
> +                                                 pci_sbdf_t *sbdf)
> +{

I think you want to add an ASSERT_UÇNREACHABLE() here, as I would
expect if there's no build in vPCI guest support we would never get
here?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:18:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:18:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637899.993971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5SWI-0002Rm-HI; Tue, 21 Nov 2023 15:18:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637899.993971; Tue, 21 Nov 2023 15:18: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 1r5SWI-0002Rf-E6; Tue, 21 Nov 2023 15:18:34 +0000
Received: by outflank-mailman (input) for mailman id 637899;
 Tue, 21 Nov 2023 15:18: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5SWG-0002QA-WF
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:18:33 +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 39caba02-8881-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:18:29 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40b2c8e91afso2257695e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 07:18:29 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 o2-20020a5d4a82000000b003196b1bb528sm14644971wrq.64.2023.11.21.07.18.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 07:18:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 39caba02-8881-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700579909; x=1701184709; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=IkE+bEYXu7pei1PCewmve9LAmxkfMn4ZZ8ddfsZf94E=;
        b=uKQG8bnvvI+7mqOD4SDugBIzmX2iH3DQt1aRBNOLytYvhHj3+ftkMxn+2YQXj3REjW
         ZN6iSUi7zmIvhI6lEpVwf5rIXBQ9RH8cDVeTnSC8bX1jGRM1QuYoYgnbHyBxtDaFcJhO
         7SRD5QXnOoPQzw1ueZaia2TGkIreDS9dBawxc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700579909; x=1701184709;
        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:subject:date:message-id:reply-to;
        bh=IkE+bEYXu7pei1PCewmve9LAmxkfMn4ZZ8ddfsZf94E=;
        b=ChuzMDd/eG5tDkopEsqahgCK9jj/bXSItyCna4l/BG7eAuHKo+9xCD3VSiHd16ionq
         /2mvCBELKKXjv5rpl3NnRuFrN+SjlFQVRW6UnHSQh9ivV+Z7ERycImUmkX3R3PSb/P7E
         f1HlsRxnxZMFD3vm8TnCar1dwTs8lmuevdyPBmGoxPc/3XSpqYDZnHsSAnluZKQEFTQz
         ftSnAwU2JcJiWWyO5sZFLHssRKt2KDRBxKfexsRlJWkP0GTfbVrwS3RaRgVQfvLE1TSw
         2Tkq+onDzTroBB4JBDvG1YLzLKSZPRju6nfhUuK3zozI4Y8hLD6depgKqpA7bnOa1WqF
         S18g==
X-Gm-Message-State: AOJu0YybmdjcuxY2Ic8kUpVSzD64f+IZQQyNQBge3Lx+NvXmvFSfKr1R
	kEBBb1fZujRWFP9HB/1cs67Trg==
X-Google-Smtp-Source: AGHT+IGE6Itrr48Rr0b+EjPW1OlZkovWkHHs3Gbn17g6YkX38NwvKLB7xrYmupZj02OOmiHiEXl8/Q==
X-Received: by 2002:adf:d1eb:0:b0:32f:92f3:dbbb with SMTP id g11-20020adfd1eb000000b0032f92f3dbbbmr8445665wrd.70.1700579909202;
        Tue, 21 Nov 2023 07:18:29 -0800 (PST)
Date: Tue, 21 Nov 2023 16:18:28 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.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 v7 1/2] xen/vpci: header: status register handler
Message-ID: <ZVzKROAwS25DMGbb@macbook.local>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVzCn60-qvdRsi3q@macbook.local>
 <081547e8-696b-4741-b9b6-bc92c221f01a@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <081547e8-696b-4741-b9b6-bc92c221f01a@amd.com>

On Tue, Nov 21, 2023 at 10:03:01AM -0500, Stewart Hildebrand wrote:
> On 11/21/23 09:45, Roger Pau Monné wrote:
> > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
> >> @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
> >>  
> >>  /*
> >>   * Perform a maybe partial write to a register.
> >> - *
> >> - * Note that this will only work for simple registers, if Xen needs to
> >> - * trap accesses to rw1c registers (like the status PCI header register)
> >> - * the logic in vpci_write will have to be expanded in order to correctly
> >> - * deal with them.
> >>   */
> >>  static void vpci_write_helper(const struct pci_dev *pdev,
> >>                                const struct vpci_register *r, unsigned int size,
> >>                                unsigned int offset, uint32_t data)
> >>  {
> >> +    uint32_t val = 0;
> >> +
> >>      ASSERT(size <= r->size);
> >>  
> >> -    if ( size != r->size )
> >> +    if ( (size != r->size) || r->ro_mask )
> >>      {
> >> -        uint32_t val;
> >> -
> >>          val = r->read(pdev, r->offset, r->private);
> >> +        val &= ~r->rw1c_mask;
> >>          data = merge_result(val, data, size, offset);
> >>      }
> >>  
> >> +    data &= ~(r->rsvdz_mask | r->ro_mask);
> >> +    data |= val & r->ro_mask;
> > 
> > I've been thinking about this, and the way the ro_mask is implemented
> > (and the way we want to handle ro bits) is the same behavior as RsvdP.
> > I would suggest to rename the ro_mask to rsvdp_mask and note
> > that for resilience reasons we will handle RO bits as RsvdP.
> 
> But the reads behave differently. RO should return the value, RsvdP should return 0 when read (according to the PCIe Base Spec 4.0).

Hm, right, sorry for the wrong suggestion.  We should force bits to 0
for guests reads, but make sure that for writes the value on the
hardware is preserved.

So we need the separate mask for RsvdP, which will be handled like
ro_mask in vpci_write_helper() and like rsvdz_mask in vpci_read().

Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:36:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:36:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637908.993980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Snh-0006Oi-3G; Tue, 21 Nov 2023 15:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637908.993980; Tue, 21 Nov 2023 15: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 1r5Snh-0006Ob-0a; Tue, 21 Nov 2023 15:36:33 +0000
Received: by outflank-mailman (input) for mailman id 637908;
 Tue, 21 Nov 2023 15:36: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5Snf-0006OV-Nw
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:36:31 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0613.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bcc050d9-8883-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:36:28 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6971.eurprd04.prod.outlook.com (2603:10a6:10:113::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.13; Tue, 21 Nov
 2023 15:36:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 15:36: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: bcc050d9-8883-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BbQDIY1VZd9aWA+P397qmlPkBKiWTKjIfAEeV384c+wuTBOu1p5vEEW/gKRrY5MUeKLdqq80cPel4Yj+T9/f5AElOpY7UUFEwzpLZn09wryNtdmvFJBYB3wh5wutJGiuEnzElTtj6Yze/8G2v63y3M8w2F5b777gDQqJmNfBKkTO/FEe5ymJ1nRx4svgPX8yGwOZ2p4ASuSpQA5lWKLEkHqmY/CUGZIbanZAVmFmOxhFV6opjRYfy7cp4/lsytIwYJoNY4uxwK/nyOZsmGEjCP5llnNcpZxUO2o4GK0Dtn7y6ti9yGm6TvGTfraXAatGfS+g8ZfEwZWS0PYdHA1zVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mL+QmS734wylK+keqCeXWiz2n93rpRMnOk/+cHnj4/c=;
 b=aqiOgiH5ZROp+KQAY46VNaRirvTLUJfsukfMrhQub6HpASVyh0Fp3W+moNiHBQ2TBTbUH7e6ac5YGY7aQBmHt6pk7sIamYbf3GCGj/wFTO/ZwrmHY+lWSq77qGOj0GyO/iCGSLzBBo/JxFmk/nKcITjECRmClW/gnLFoUOuxC4BCw2OtF0Kt8Ki3+UMQSa3pLM2U/TkAbgV1RsZagzxepScCGPAn8OYlS/t0lWL5nrDqSmLsfCh80IID7h1cXtbmxbX0D3C1gDayrQ/z8qXa+GrZplp2NMc5XL6zhLPuJoYum+QMzMKk0e+PwD19x2VmAOJCeQ/hhOdjnhpoE9PDUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mL+QmS734wylK+keqCeXWiz2n93rpRMnOk/+cHnj4/c=;
 b=Wg5exixIkljfZx/CUArIPBUlhqynD5nt01EoEppIA5275gA1DcT/hmjOi9I4s2kdRbNaZn5Gz0HP7r4Hmu0R3GxzCH6eH6OwmVhhLUVDj922SrNZDT7zh9DGsS8x4vu9lEHpIPj+oHW5EwTUsMblEM6Lgmhl6Aa7kMHw9T5txhYVecBCfWPSzXMUGKopt85fwAshEPGG6+OfubG5S1fSHyh0lT5AjOiy+dCfiJVm1tohDcX2MCemOF2vTMUxpF83SmiUY6ESerq6NEpZ7RV5ufFRqKm2DzMGE2m26oDoRlHdqd1o/5tndp2X7HGa6ccl7tbX8QZ12Y93ZcMvmcdtkw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e40579ba-acae-4c11-bea1-a5b83208db10@suse.com>
Date: Tue, 21 Nov 2023 16:36:22 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH] x86/vlapic: address a violation of MISRA C:2012 Rule
 16.2
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>,
 Paul Durrant <paul@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
References: <99114c15a4256e6a0f39bd6de232ee4b8ad9b587.1698239734.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <99114c15a4256e6a0f39bd6de232ee4b8ad9b587.1698239734.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:cb::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6971:EE_
X-MS-Office365-Filtering-Correlation-Id: 75783703-e340-4f26-ef0d-08dbeaa79ed4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RubctDYBIAKrAcE9UU9m+nKZRs2nW0L5qJvQFnY4rX/ecTkBmJA1FBjsz9uKXh4cq9P/FfKjoZ43NN4wQaNKEbV4KvwVigsDwCuiVIJdKYlW42Decn5PVYbicbUpbUoptAT3w+qd9urDP5RyW45cRuMiOSu6I7unnsssjIu1ucvj6mqnV5r0zTp3EbomPJXLHuL72JhhDMz4Im5uouvDkgpXkPhAwckq234KSNuMbs9YUrJ2JHBx7ZaBIbYMDiynTuFWa3gMHuToNFaESqDqq2VP0WaWkicHnMZs4s+dSpeHUv3GoiisQruTByYN4NrR1PHNfTktHQ3j4y3wwc0Bm/uVcJ896mLC1HsKrUcLdJUlVGSBIgRrvpESYAtlxgNgi1xgH6l91CzVvbsp+Y2q65QdnBQreVKkahZwW437idvFrK1Tt2meb3E32a0xiKH829r4pIIifEgIb9n3cH8wDUwNP6Axi5ZxUDqlaH1ve2wM3h+oMSziRD2/8gMde7YB52ZTK9PBAdKeRxUYCmGTU81yM6k7T+400lbRCMh1XjD/GouOiTrn60PKRVGvDYgWbO3vwvyQnbRt81QaxJpysJAJjlOtkvxezxVu+CXiBOTYXrGidPtnuwXr+0Z6T1wJEummWWEjWSy+e6lsmjBPCQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(396003)(136003)(366004)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(7416002)(5660300002)(4326008)(2906002)(26005)(2616005)(8936002)(8676002)(31696002)(86362001)(41300700001)(83380400001)(36756003)(66946007)(66556008)(316002)(53546011)(54906003)(66476007)(6916009)(6506007)(478600001)(6486002)(6512007)(38100700002)(31686004)(6666004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dkNPZEp5d0xzaWpqYVdYNEprMVUzRDk1bElaWTNsdUFhOG5PaHNWZVBFTWdv?=
 =?utf-8?B?ckI1MUtxcmZNWC91NEhJbmNVV1VndkQvZmpNSFJsWTlvN2hLL05CT0tFTmpY?=
 =?utf-8?B?TnlxTmc0cWpXYzFGSWhqMWttcUwrWXhWQVpRWFpmaUxiQVkrclNoM1Vkc0to?=
 =?utf-8?B?dGJYNWtUTTdvcjYwU0gyeHdHSDErZ3lqN3NCTWZ5dVNJb01ubStzTU04RVkv?=
 =?utf-8?B?UFhROEhFSEhLMTcxR0MrQlRnbWp0ZHVJN243Y0huZkpKMTY1RHovTmMzNGFG?=
 =?utf-8?B?MjZiKzJ4MGRKdDlYcmpZWGVrcUhMTTB0MDJ1MHYzNkNReW5zSlI3SnNNMjZs?=
 =?utf-8?B?ZjFGTk04MVJNRENwVXFMLzZUcVoxS0RTNHFxcmtyTzhHbUt0L1hoTFljOXI5?=
 =?utf-8?B?WXNXT2Vzd2VOTnNweHhXTWZkTE9acGNPTlZEaERrOVJKSnpzcEc3S2RjcktF?=
 =?utf-8?B?YWg1dklNWS9mZTJST0lvZ3dhbmJvUk9ONmNYQVRyb1VpaWRJcjJZazF0b3Jq?=
 =?utf-8?B?Z1VCU3Fuem1YcXp6SFNUQzRwVWRodjlwRHBBaEZGb05XUyttUmZHc0sxbTF0?=
 =?utf-8?B?T0Nkdy83Ulh4S282bjhXckQ4a3pPOFhFYWh3UEtmOGhBNDBxSWp0MVYxVjZz?=
 =?utf-8?B?aElJWGM3NlBhK1B4M3R2Tkl3RzNLbkNsSzg1R2hnTDRBR3dnQmVEWUJsWDhw?=
 =?utf-8?B?azNjc1MrOFc1VXlDdmpic1d0ejVVYVE4N2dUTWFUVG9ISTQ1VEtSbnZBOEFy?=
 =?utf-8?B?S251U1V5OGdKQU1URFF0TEl4WlFXeFRLSFpEaTU2SXdaVTB2bzVhQXdNaEJq?=
 =?utf-8?B?dEF2aW02OXU0bmF6NHk2eDJTbzJkUDZaSFB6RkJuQ29JYTNLQWpheWdtbW1x?=
 =?utf-8?B?UmpydFUyQkRjdlhNN1lhcCtoOGhPNWRBV21VbTJWOXIvZVlNMWlUTHI5azZV?=
 =?utf-8?B?Wldxb2VwbGVwS3VhUGNZRUlYNW83V0ZleWlubzU0Z1piUjRBRXpIcmZ4L1hD?=
 =?utf-8?B?eWFSdU5LbkxZRncrSnFHcW9hNk9JSnVPRVJ4QzlFRkJPQ2FFOWtZRGR2YzRp?=
 =?utf-8?B?MzNhQnhscVZQclk2Q0Ezb2hBUFBBdmxGYlM1cTAwTmRRVlBtZjU1NThCMGVs?=
 =?utf-8?B?VHl5NWV4bkNBMFVIUjdZeitKT1RxT0xRb2FMYlFDY2VOVmM5amkvSFlDS0hX?=
 =?utf-8?B?Tkw5V0dQZVo0VFpNYzFrUlZFcnkrV2NoZVhEVXlXdGUvVmlkcjRwamVOS21L?=
 =?utf-8?B?RXllSXpFa1Z4aHp1V2R2OGtaNWpBV2ZQMWNHMmpKM3dCdVYwdlVJSUZvd0lo?=
 =?utf-8?B?V04zOGxOK3ZKaERQZWtSMERDdk52N1o1UmpnMm5keWNkcElrTU1ZQnJIUmVX?=
 =?utf-8?B?UG5oMW9rUlhER1ZJNWZJV3YzR0wvbTFzRjY0TEhTaUpFVWZtU21vVEhEVndo?=
 =?utf-8?B?eHdHV0ptRloycE8xZjYwN290ZkpIWTBGU2FEVnp1dU5JS0ovTU93aG1oVkpH?=
 =?utf-8?B?UE9YcDdBWWI1blhzSHdnZlJ1WXcxUjNleERYSVZEZldaUUtkR00vMmk5TXNy?=
 =?utf-8?B?NW9NbE1JYjlndmZXWkJCdTMvekZyaE1jWk96bG9ZZXR0VThFSlAvUUVPa0hx?=
 =?utf-8?B?dE8zWTBOWTRhWVBSQ0k2VEtlN1h2NTFrUG9aWVREZlY5bzYvN2JKdHVNREx4?=
 =?utf-8?B?REVXUGZTUGs3bFRUUDFoL3JZbTk5d1cxZFhlTFNjZFdEVzVYM25KT1VZSEVS?=
 =?utf-8?B?ZlFQRXhxaDAvQU9QUDU3dDV2cHpDa3BEcVNUTW15bkJQMGtRM3dlVkVTSHdy?=
 =?utf-8?B?bVVKNFdoYm9idXRoaDhTaEQzSXE2SldvUDh6OWpCVTJpTVJxbk8xWXdrOEww?=
 =?utf-8?B?OXoyQkc3R0ZlaDFYMTdHcGgrTDFDaUhoR1NRUnFnL2s4aVh2NUs4SGFCQTRa?=
 =?utf-8?B?NEs1elk5OU5oTlgzQURCcnNvQitIbVk0TXZIVzFFMTZFRGhvb04vRHhFMkhw?=
 =?utf-8?B?TE9lZFNBZEI2MnduWTNUdks3Y2t0Q0xEeVFUemVDdmEyZ1dCWm41VUlxWVJ5?=
 =?utf-8?B?YzNMVmpUdWNoU3BxOWZCeE0zOU1wNmQ1SmphSXRvUkZaK0t4TDFMcllFdTBX?=
 =?utf-8?Q?vdUL0yT1FwUr2PUKUW85sXE3m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 75783703-e340-4f26-ef0d-08dbeaa79ed4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 15:36:25.0195
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 95CQzP3YiALnkJoXI/w7tq1cvi5qk/QQX+OgcbN2u/doO2tsc73SCw5bBCTDaKfLEKIdG1pFIjBJaY0ehlJ+Ag==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6971

On 25.10.2023 15:22, Nicola Vetrini wrote:
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -1034,10 +1034,10 @@ int guest_wrmsr_x2apic(struct vcpu *v, uint32_t msr, uint64_t val)
>      case APIC_EOI:
>      case APIC_ESR:
>          if ( val )
> -        {
> -    default:
>              return X86EMUL_EXCEPTION;
> -        }
> +        break;
> +    default:
> +        return X86EMUL_EXCEPTION;
>      }
>  
>      vlapic_reg_write(v, array_index_nospec(offset, PAGE_SIZE), val);

Considering the plan to confine applicability of the rule, one style aspect
which would need to be taken into account is that the entire rest of this
switch() has blank lines between case blocks.

The other is that imo the overall result would be closer to what we have
right now if the new code was

    case APIC_EOI:
    case APIC_ESR:
        if ( !val )
            break;
        fallthrough;
    default:
        return X86EMUL_EXCEPTION;
     }

at which point the need for the blank line would also disappear.

As to the description - isn't this change (whichever way done) also
addressing another violation, requiring "break" (or alike according to
our interpretation) at the end of each case block?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:43:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:43:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637914.993991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Su8-0000MM-Q6; Tue, 21 Nov 2023 15:43:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637914.993991; Tue, 21 Nov 2023 15:43: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 1r5Su8-0000MF-NC; Tue, 21 Nov 2023 15:43:12 +0000
Received: by outflank-mailman (input) for mailman id 637914;
 Tue, 21 Nov 2023 15:43: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5Su7-0000M9-H9
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:43:11 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id abadbf7b-8884-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:43:09 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7509.eurprd04.prod.outlook.com (2603:10a6:20b:23e::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 15:43:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 15:43: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: abadbf7b-8884-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D17z74/kHrt51xUSjNLRdIgmiVqYkHli1r/CK+KXesMbV1UcHbKdN1hB0Z7Hy84Tzr5GvOBFPVn6YCMb91iHkwV1Uh5BTAKUI28WZGvKp9bilKIk7Ys67LaTpSiNLCFPs9zUhmes6NDsp+LcgvEsA+GkXWuAleaB25NsNMCmb3IEoqn+AimgvsLjijbOWogalirf3oeM8n1nIf0Nuz/TocXoduIXAWVcYpDJ15o88C6JiUyTnk2xJ/ntQAeY0143KvqdPArZohjNPN2URI1xzte6kNgbEsC3Fwh/rQPyP8Lz7fSg0X+H8JmlSVi/0Q9ZCW6c20U4ULaqXIv4kcmmaQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4Fvw6HrU4euVNGuATkzRPVFzf1X0Aq9HS4z9az5eUsM=;
 b=Br3AWfppBJwCwcOKexMhj2stJqznBpttn/iASAaiQwig5PLKkdmHJ6vSsF0kaq9jV1N69PAahklOiq2/JNYEOnCQGPAoj7n3eBMU4RJsCh7OgUh3c1pcrSqlIQvA/vgK2wW+ZikZdL0HgPJh63i6msrCOu+Rnp5721st3uwG0BFHmB8bkJBjVwvhA1JDRbMsBaxqs9vhmIumk/DYjaSt9LtZHmH0Utav6RLaNKWKVKV9zpUK3XllWi5iQuiE0i1JWx09Bzh3bdZ9QoSz+z6/hJw86driRQ/oYJgBgVHYQetJ9R4Q04mHN/nPNZSvK37UO73gjdmeyli0jOQZC0k2Ew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4Fvw6HrU4euVNGuATkzRPVFzf1X0Aq9HS4z9az5eUsM=;
 b=OYW+znKmagcqT0L7yfEw+dzjF2xN9dhtpjOurkvM3ABHyZiPYtvcTT6ZmoCBYoxNgu4ZrRquES+NEVoKRQi7SGpUEQ0tM0azjkGiv96/YuQUeXRBc/Wh6ibomE79/b4P5cdtw2W2PJieauz3oyoSTJNxuUb+/YwkLPuErkEhsfJyExOvVX/QYLajr78r+uGfIvRwWvfPVWhOZAUkNuCFdJp/4sanyIAWk6XRKxNkGU5visvQwl/oxY8Fe1Gz8ETN/qffbdSWTtfKhz1d+FNy410v5wbwiq2khT3FAnaSMrnksn9Sb+RQTc8iRKsBxvfqN1Xx8KcSHS/ttMfRryBbQQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f2fc40bc-15b7-4810-b3da-f7ef64b6e798@suse.com>
Date: Tue, 21 Nov 2023 16:43:05 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/14] xen/asm-generic: introduce generic device.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@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: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <65b267137539704df7f22b37e3b0a9b372a82b33.1700221559.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <65b267137539704df7f22b37e3b0a9b372a82b33.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0003.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f2::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7509:EE_
X-MS-Office365-Filtering-Correlation-Id: aa7695de-6235-45c2-8fb2-08dbeaa88ea3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qZNuh4InyenkIPVZGgA7YwefPFNDl47Vo5szGbbBdB3V7UutNX+B3BLmUabQsVA2erW3HcDOGg/TqaQv3bBbnO3ZR1GeC9QjcuZiw0NjONl/cRjmirRFut5+xNqlEtvvAVEijhiT6AZMVQDZRunMD7Ex8XoZzetvIdoTtvgmYHi4uGLdHdtoV7HaRnYzlZC2UMeNLf7LpmnP3DkOfsQDnbFiaPEDIqsgMvAxctqoyE9PsWU6IN3PVlvP+Qkh1NyWm/MtIU1tSkvMv3CNICnnGkkeK8v/K1RvuxnD3Nn0+qZScLkSCO2GDD8y23Oq8nE5Xc0MHmXlM5tfRQXjVuPRF0LpYwDMIoyOXsG74dIDD2Ulsa/VqkwJT9J2loz3dEhY3rLqqA7bVmBO6lgxeyyKKEu5lf7BNR67VVuF6kNPm1L2NcpkzEwR83AbzEpvE3RQbO2vx9deKN4mRxt3JRt1hi3TMk1DL26p0r1GkU8yAPqceM6siIek7xlJCEzFX1r1mGTVoUnAZBEKE55kw57T2T1w7pT9srHyasUpxNQn1Lxts+DrmG0tiqw9y+aSaBX+9cgWJccE62ABteNgXP9gHgVyv3Hfccimw32amvg4sIKNZ2vz6W6dqIvDaNw4dZ3bKddsdinHjxHEhUPj8m61VNlr1FKwFHe7c2uMQ8cVY/k=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(346002)(136003)(376002)(39860400002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(478600001)(6512007)(83380400001)(6486002)(2616005)(53546011)(31686004)(6506007)(26005)(54906003)(316002)(66946007)(66556008)(66476007)(6916009)(86362001)(31696002)(2906002)(41300700001)(5660300002)(38100700002)(36756003)(8676002)(4326008)(8936002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N0JNN1JUSzlranVOLzVTaWNEa01RNnByeUhiT0NmOXY2TU42a0h2R0pvZzVt?=
 =?utf-8?B?Vk1ORDI1M2o1NVpyQzhXKzV6TTlzL0dNWlJ2UzZhbm1RNkFZUlQ1R09yUWJz?=
 =?utf-8?B?WENYN09kOWJZaW9IcVJsVkY3QWxIK0xHRzZJOC9pNHVWai9kTS9ySDF2NmZY?=
 =?utf-8?B?UmpMU2NXUWpoc203VEtqSVh1cjJ6aGZISVRNa2VWWmJ6V3VWU3hzb2lFZlVL?=
 =?utf-8?B?NVpMbXR1eWhwVnl4ODVxY1RiR0d6ODA5T0t6c1R6ZXpuT041dmRmZ2JKRVZW?=
 =?utf-8?B?cnU0RklMRHRYQUhEc3VtUkdOckRQZmg0NW41Ulg1K25jUFFqdzkvbE5NT0Rt?=
 =?utf-8?B?V2ltd2ZGWVFUUUFkKzVnQVV2MUg3SEJ4QnpSTnBuNTdrVlduV2RZdzNXWWhi?=
 =?utf-8?B?dU4yNXlldEhkZ1A5OXFGWSt4UjF0M00wQXNMRkpQRUh2bGl5SGRSaHRIMFpi?=
 =?utf-8?B?UDJPbmpNZlR1VFV5Vmg1dkUvU1JrSHlKcG9nM01EUkRSSnByQjJIcFBVc3Jk?=
 =?utf-8?B?MzVHSDVjd3d3UG05QVM4aEZuVWxDYW1zcGVTTllUd3BlN2VZei9rWFgxd3lE?=
 =?utf-8?B?cTZnSFJxbkF1VEhWSS8wRHZsbTk5WlFTcjUzQ3lZeTQ2cXBkYnBhd3FOT0Ri?=
 =?utf-8?B?MUZKanJMdjk1MTcxTkZjcU4xYjhPeGt2c1Z2VlpJbG1rdnVEVnQycGpWWDMy?=
 =?utf-8?B?dkpWaEF5VDYveS9SMk9PYmI1WFM4YnVQTFE5YTFOTWVDb0FCUjVqYXBTbUlI?=
 =?utf-8?B?eFNLUll4dHhkQ05waUlXTWx2MzNtcjhLa0R3cHg1Z0Foc0JYTnBmUG5qNllD?=
 =?utf-8?B?RVJzK0ZkZXZObHZ3emxHRUozMlRYVzg1cjRDWjJRRGdWUVJLZzd4WE9NRXFi?=
 =?utf-8?B?TlpZQkRROEhMdDV5c1pybWpoM1VPSENYWGx2K004eVNmNll6UDJWQU9SUjhr?=
 =?utf-8?B?QjJKTGVaMTFiNGs4eE1lMHhIVHBQbldTRDQ5S3dJd1hGSzdDZGQ4blZpcGc3?=
 =?utf-8?B?QUp3dTQ2WmNjbWVwUGlHaFRqQXVCb1diS09GZWs3SU1ZclhkQ0ZSOHhGRi9O?=
 =?utf-8?B?VFU1WVl1RktzYUVBUE1pNDE0dmF1N2hCaWlJTUtNanMxTSsyVnlLcnhvcG5q?=
 =?utf-8?B?b1lGUFhBY0RDa2xiL0p1bTNlZGZ5bnJpNlFENUFDUzltMnlLZnc4akU0M0N3?=
 =?utf-8?B?YU5lbTdzM2FhNWQvc1BEY0h4TEhVV095U01TaGVIN2RFVGFIcUZBdGk4am1a?=
 =?utf-8?B?dHFxM0NuSXYvVTZkVE1jeVovcG9HVEZTdVcveUxNb3dFUW9BT2hnNzNTeUx1?=
 =?utf-8?B?cGZKY2QyYlhONWh0RWVyamFYcDRiQ2UxZHR6cVh4K3ZmSWw2cnlyd0pySVBk?=
 =?utf-8?B?YndpNmQrRlJ4dWFzM3Z1VXdIVHg2dHlXSFk1T1Y0VjYycVdLYnZiK0lFQVNO?=
 =?utf-8?B?Q1VzeWF2WU9pSE9nT0M1WS91ekR1WkVwVDJRbWVKNVBaSHdxdHhNaGkvTTBa?=
 =?utf-8?B?cWFvOXVJMlhjcW1Md2hOb3VyRjhlZFNmQmlQN2NiQVRnVXgwaVh4QmZlaFJV?=
 =?utf-8?B?dTlubzBucHRaL2dROTVVN2Q1Uk54K3V3OE1raE1ZdVFyYnI4U2RHdzkxNWZO?=
 =?utf-8?B?L0J4aDJzOExHbW04aHJOZXhjNmZZRmhqdW53Nis4M01URWU4cnU5eWlIVjdY?=
 =?utf-8?B?S1hoaDRDSWo5VmIxMmdOT290V0ZycVRyWWppMTUrVjlFVkVSTWlCZ0IyVzU4?=
 =?utf-8?B?bzJVTnBPb1VSc2w1ZGs1c3piU2pIdjhVcStFZjAxbXJMZEIzWE94SHpTWUJH?=
 =?utf-8?B?YVdzQ1kvQnM3WXVHdStRQ3FuemhmOG1HMzRLTmhSQ0hDMkJzYzZ0b0t4dHA2?=
 =?utf-8?B?WElTa2pCSzRDZ2owL0pxamJmZG9jbFJZd1BHQVpDRHdYT1NmbnJWVTlPRzVt?=
 =?utf-8?B?V254Zys0YkhVSWJHWVBoWmw2b21LQzlVRXVyMk01RmNQdkQ4NnNOeGRkT0Nv?=
 =?utf-8?B?L0xjYk5YczA2WHpLckFpQjYxSUx4QTZ2YjI0dEhtcXdaZmJyTkllTXdyN0J3?=
 =?utf-8?B?RDVOcURrZnArR1hNUE82MVhvd1RyZS85MUdIcm1xTmpKbTNxL2dPOXNLNkFp?=
 =?utf-8?Q?H4qb48o6y+jp5CpynfIMPpVcq?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: aa7695de-6235-45c2-8fb2-08dbeaa88ea3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 15:43:07.2785
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NVqVlR0BOqZGo2rLkB0PKrXVI85VO/WmJVn0uv6yeJs3R/Rk2PBpeBtrjAlMJvNQymOz5VyDTKanb+xYsa9EIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7509

On 17.11.2023 13:24, Oleksii Kurochko wrote:
> --- /dev/null
> +++ b/xen/include/asm-generic/device.h
> @@ -0,0 +1,147 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_DEVICE_H__
> +#define __ASM_GENERIC_DEVICE_H__
> +
> +enum device_type
> +{
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +    DEV_DT,
> +#endif
> +
> +#ifdef HAS_PCI

CONFIG_HAS_PCI?

> +    DEV_PCI,
> +#endif
> +};
> +
> +struct dev_archdata {
> +    void *iommu;    /* IOMMU private data */

#ifdef CONFIG_HAS_PASSTHROUGH around this field?

> +};
> +
> +/* struct device - The basic device structure */
> +struct device
> +{
> +    enum device_type type;
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
> +#endif
> +    struct dev_archdata archdata;
> +    struct iommu_fwspec *iommu_fwspec; /* per-device IOMMU instance data */

Same here then?

> +};
> +
> +typedef struct device device_t;
> +
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +#include <xen/device_tree.h>
> +#endif
> +
> +#ifdef HAS_PCI
> +#define dev_is_pci(dev) ((dev)->type == DEV_PCI)
> +#endif
> +
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +#define dev_is_dt(dev)  ((dev)->type == DEV_DT)
> +#endif
> +
> +enum device_class
> +{
> +    DEVICE_SERIAL,
> +    DEVICE_IOMMU,
> +    DEVICE_IC,

What is IC here? (And thus: Is this generic enough to live here?)

> +#ifdef HAS_PCI
> +    DEVICE_PCI_HOSTBRIDGE,
> +#endif
> +    /* Use for error */
> +    DEVICE_UNKNOWN,
> +};
> +
> +struct device_desc {
> +    /* Device name */
> +    const char *name;
> +    /* Device class */
> +    enum device_class class;
> +    /* List of devices supported by this driver */
> +    const struct dt_device_match *dt_match;

This and ...

> +    /*
> +     * Device initialization.
> +     *
> +     * -EAGAIN is used to indicate that device probing is deferred.
> +     */
> +    int (*init)(struct dt_device_node *dev, const void *data);

... this look to be DT-specific.

> +};
> +
> +#ifdef CONFIG_ACPI
> +
> +struct acpi_device_desc {
> +    /* Device name */
> +    const char *name;
> +    /* Device class */
> +    enum device_class class;
> +    /* type of device supported by the driver */
> +    const int class_type;
> +    /* Device initialization */
> +    int (*init)(const void *data);
> +};
> +
> +/**
> + *  acpi_device_init - Initialize a device
> + *  @class: class of the device (serial, network...)
> + *  @data: specific data for initializing the device
> + *
> + *  Return 0 on success.
> + */
> +int acpi_device_init(enum device_class class,
> +                     const void *data, int class_type);
> +
> +#endif /* CONFIG_ACPI */
> +
> +/**
> + *  device_init - Initialize a device
> + *  @dev: device to initialize
> + *  @class: class of the device (serial, network...)
> + *  @data: specific data for initializing the device
> + *
> + *  Return 0 on success.
> + */
> +int device_init(struct dt_device_node *dev, enum device_class class,
> +                const void *data);

As is this, simply from its first parameter's type.

> +/**
> + * device_get_type - Get the type of the device
> + * @dev: device to match
> + *
> + * Return the device type on success or DEVICE_ANY on failure
> + */
> +enum device_class device_get_class(const struct dt_device_node *dev);
> +
> +#define DT_DEVICE_START(_name, _namestr, _class)                    \
> +static const struct device_desc __dev_desc_##_name __used           \
> +__section(".dev.info") = {                                          \
> +    .name = _namestr,                                               \
> +    .class = _class,                                                \
> +
> +#define DT_DEVICE_END                                               \
> +};

And all of these.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:45:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:45:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637916.994001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Swa-0000uT-7N; Tue, 21 Nov 2023 15:45:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637916.994001; Tue, 21 Nov 2023 15: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 1r5Swa-0000uM-3T; Tue, 21 Nov 2023 15:45:44 +0000
Received: by outflank-mailman (input) for mailman id 637916;
 Tue, 21 Nov 2023 15:45: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5SwZ-0000uG-2E
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:45:43 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20622.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 060e71b8-8885-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:45:41 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7509.eurprd04.prod.outlook.com (2603:10a6:20b:23e::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 15:45:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 15: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>
X-Inumbo-ID: 060e71b8-8885-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EKp5jXSxluM/GcjbSkj9Wx1FaZGQFe6KLv+//VBjGc+Pse5oYPapvzX4wBcrBrusTUbBnfOi7ZQI7J7d0uZ2CaJdX5cuovFd98By37y+UMEmJA0Dq9PA6HBSFTpL/mUQzuFq0He/+cRVdk7KojCZJ1JJt5OliJZ7i70i4JOHxLRnk7PYvNmpAvj0lYqsGDXXaIttzTm5mA8N08q3Hu8hg4eHen19z40fbEhHdTQ04T8t3InUIwWANEJlGYZx1uH/THVz8ZB8jtA6lZrVo7jMb/uYsqWQJICn/ad2ubISuWslQjhcb1dPIBN+Afxe7teEa2Xnan7F6vJ/8CSu73tZ/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=h03q3jSbkxkSIBmuV+w127ee1i2542UYiGAkGRwVJno=;
 b=UBDTms4v/RyZ7rUncGS655HNcPiXincyiQM5C9sFML/hSpywiKm5Ob6PuHb0p4p/HBz4enmny6NRi5Wr7poh6RRZfA9RyJpNaAIuh43G42uWqxUKel4ngbn3aLziDliQY23L0EWW0hXfwyRuRi5KkZerEhboYTfcl16rnrFFvZ5MidWWq6JwAS9XnT2qWLXU5J4MX22ppDiCrxkq7fC1rlBxfRHPLiJj8s+QJfKzzjrQo+VsL5wlI55JLuq0mz7TFJp1L+u4HmdKHFaO15BAS/NRykLqJw59LXrgE7qCIpx6OnHbdDi8VVvizXiPsQr0QcY0fCYImG23Fi8QDG198Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=h03q3jSbkxkSIBmuV+w127ee1i2542UYiGAkGRwVJno=;
 b=zQGmAITJ2AeYO0AmC5gVf+4cMaHX3BUx0wpOwkTV/qJHnmRUcjeBsEc0jptCuaCJoV1A7cDtZSV1m0EO2ruFed7WZb2HRtUHh8brvC+HdWR+tRQFmC0eKcekVSdB2PuLQ2Y47mB+D5li28r1kjfaROYiP10GYPUvAixiD2eXYfO2JYIOKdI/BJ55OGLo6QXKxuwK9tT7Vv0p3yP5zDGQpVNti5XfnJlnPpjpvyB9fI8lDY9KwT/3BV4MXLJcUqpFCNzTKhL/pzV3Do6RljdgN+okqeyP2o8AAdQ24c5wu+Apz8K5uBdNMznP1NzS8JGCJ+tox+E7hU/rM86XtLGMIg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2702d1fe-1f72-4ab8-a7a4-902dd0e2ca99@suse.com>
Date: Tue, 21 Nov 2023 16:45:36 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/14] xen/asm-generic: introduce generic header
 iocap.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <3f6a80241a2c98477eaca5fa3bf80ff6c0df3f39.1700221559.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3f6a80241a2c98477eaca5fa3bf80ff6c0df3f39.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0422.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d1::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7509:EE_
X-MS-Office365-Filtering-Correlation-Id: 73aa0536-d31f-414c-59e1-08dbeaa8e90a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4ebbkCuUx9h9BwdBx2AxRs0+a4X6kGfcsTbBgDyw9vR5MUuPHmj8l9GRrMln+9MVY50J+rXFUgx+cYcIq/PA3ib6BJxmTn+ZqxLc0MnVxwkqu1Nli8DjXhE2DrK2nzNOqsRpJpwiO0Xl1TRH+fjvOxlaqO49uD1VE4hKM1BY7cV1LIlpx0fMeqfbpcwQ/0qo3Ko7X3jH4DVowfi3g3SUctPGE1l+zFdYYB/rUrKS+UJ6UZHPP72x1EJSKEmVsIW9gzcR/FgtWnngL8R3+xqJSpsXoxNucOyA557G4jIVamu4tsj95IscOAIMgUzSCkEsZDixyWAYQorjMElPNzlwEYobtW0MInHZ7CC3cDkg4riZh1zSxEOGSKP+0VBktJwPQGSWmAfYcpbQs+FijDL4BSSD0rXGi7I4I+QfG9qU3jHoBFRpuUpXNNJ4lSLYi3pbcmSTw+6Z0Uy7njaMYLE6xaobN0c8yavPuGpOkqNPSPOgg8l9KUDUNpZxSp3lgugAF3QfigyEYwRVa5zIMWmq5R2/AyWvo9mniOp7ItDIKyUN4p2YvMagurIo3jIdo60opmFMODBNAzeuFneDHX79SXNPLSjYaRtebXtFAvJegXL2gi74SeDsTPfPMiUBxp5duEarQkZXZb9mDTll+e+sgQoGF5cOq1vU1FiG56ieqNQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(346002)(136003)(376002)(39860400002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(478600001)(6512007)(6486002)(2616005)(53546011)(31686004)(6506007)(26005)(54906003)(316002)(66946007)(66556008)(66476007)(6916009)(86362001)(31696002)(4744005)(2906002)(41300700001)(5660300002)(7416002)(38100700002)(36756003)(8676002)(4326008)(8936002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UmtJMDk5dnFMaHpPa3RvSVNici8yL1lITGc0RTJLTEs2V0JDcGpZamNvdDBB?=
 =?utf-8?B?MFNlL2hHQVNrVGt2K2F6M202aVdZYXJDZmJ6SFBWM0NNYVJkQk9ydHpGdUM5?=
 =?utf-8?B?QWtmcCs5UnhuVW41NndMWUVPVDNud0gzRE4waXNGazR6cUdqbXpvUkg1YjJD?=
 =?utf-8?B?TWxEYXE3RlFOaDRMUzV1dmZvcU1xUE9nelUxa2x4b25FQWxYRHQ5Zk94YWZi?=
 =?utf-8?B?ckpOYmEwNzhxUVBDZml0cjJvSUtKY0NuN2FuUW5lNERKeFJXK2lNY0FmdG9q?=
 =?utf-8?B?anFEK0U2VEY5SnFhKzlteVc2bU4rUnhyR2dxMzRjYmptTDVMdDdrWVRHWGZY?=
 =?utf-8?B?UjZQaWd6K3gvZ2lFQ2R3d2ltV2t6KzBkS2I0VW5NeVU5ZFh4RkRyak51KzB6?=
 =?utf-8?B?UExkQlVJR21Db2dxYzJqaG80eHpXWGlFdnhjUlM4WGlVeXlsWmFNWmJxNUtn?=
 =?utf-8?B?d0xTNTMyeHFpZnVKM2Zjd1lZN2hmemRzMnU1L0VCZkRIMi9oK29EZmJLaFdX?=
 =?utf-8?B?WmorK3JSNkhFVE5pN29wTmtpdEVvS3lhRkJQSDRpbmIxYkFBbDNtRkRObzdT?=
 =?utf-8?B?OHB2aVUzSzI5cnN1Ly91d2xjSWdJWEtNN0NjRkZGd1BiSVc3TVZaS1Q3czly?=
 =?utf-8?B?ZnU1SHNkN2RVTkdrem5SQUl3ZnRrT3BHMjdQaE9yZHlhQSt6L3d1cFZzTTNZ?=
 =?utf-8?B?eGNyZnNza1krMUE1UXFTZjlINGY0Y28wMjRBTE03UkVaeENEeVhOU3VxWFNF?=
 =?utf-8?B?TXNGNFJkM00zQXNlYzVhMzJZWnV2MVFPYzBrRmVRVEFlWmtTUHNxVkdvL3Zr?=
 =?utf-8?B?bHVHdWFEbEF3cWRzb3V6Q0QvNjVFT3d1Nms4eHkwclFWbkZIcU9xYTZJN3li?=
 =?utf-8?B?SW9TNmxFTnhTM2VYWmlkQlB1dGpwZ3VTdG1tSWcxMWhEaWxWdDMrNmE5dG4z?=
 =?utf-8?B?RTRqOGtkL0FZMnozamRCK05Xbmg4MzB4TGhtRWhjRHpTYWlrQ1I3clZBQlYr?=
 =?utf-8?B?Y1NBVHJaS3M3RHVsM1pyQmxsUVZ3ZzUzRU5kVkV5RDAvSnlXV0xWTVRpZU5P?=
 =?utf-8?B?RUI3TFhwclVyQTFIenozeU1XTWM0dW4vVjFyZTBzTlB1YW12UDBETkJJZndF?=
 =?utf-8?B?Y1ZJVnhwVlZDcmFKQ2FXcndNN1luQ2RGUHFBY2FkU3VyWW1adndaM0c2QzlP?=
 =?utf-8?B?eTZHdFV1Yzl4VXNHZFBCQ0s1WUgzdzZFM1RMWkRLSHdrYWRSeTRUTkN4dkNX?=
 =?utf-8?B?UHlveGlIREFIVFo3UGh3cGdkd1ZyZ2tRTHpESVZOOGRubGg3S2hxakQ1Wm52?=
 =?utf-8?B?N3IyVElmMms3T3FwT1JHNkdoM2tUNFkyb3hpWDJCdzg5aEtGYkIrRGNnZHl4?=
 =?utf-8?B?R3liWVlOb2RLczNIQ3ZZZnV1TmMzRVdKazA4N3VBZXRuMnR1RjdUbGtJNk5j?=
 =?utf-8?B?TzgzaXM1SU5WSFQzT1MzcERITnMrbFpjMUJUUFUvMTZRdGEzOU9zYlhnVEZU?=
 =?utf-8?B?aW01TW94c2lBWUE1bVdTQk1kQmprUWxpOGw5S2VCLzJVak9uVVBUamo0MVUz?=
 =?utf-8?B?dk9OaEcrUE9SMHBPMGFyOStVbi9IRStKaUNpQTJuUk1keGIyWE5wcmx5OU1Z?=
 =?utf-8?B?SHpmam1OZVYvWkhNckpwalM3eSt3SVBPNFR6alpaZHVEM3ZHWWFZR29WbHFP?=
 =?utf-8?B?eXdiT09HVnNtbkpZdE4zZ09IenFvSStGYytoT1Y3VFZYRDNjK3p1Wjl1OEJV?=
 =?utf-8?B?UFd6eG9tL3Z3TU96c1F4Y2wxTzZzWFZCNm5iS2ZnM0lUM3BrNXlhaXZxR2pB?=
 =?utf-8?B?ays3eDcwZWRsSmxpOHRPSDkvZ2V0UTRSR05lKzdlL2ZoemJBNGZmSHRTcUg0?=
 =?utf-8?B?YVFsUVFVVDRtanVIeGR4V2xzOXFZNnIzdHdobmlLZHFHaHc2cjA1MFR4dmkr?=
 =?utf-8?B?TWhHTytLckt0UmR5NnJqdW9Gc1VGSDBOeUFZWlJRYnE1Mzlsdm94YWpacktX?=
 =?utf-8?B?clYyY1JGMkNyKzAyeitCSkVCQTEvMDVtcGhVV2hSeEdkdUp5NDJRRytrdkl4?=
 =?utf-8?B?Tk1mbVNtUWpEbkZxem00cHU4UDY0U1RvSytmNWJJSUlEREErZ25sS0J1cVI2?=
 =?utf-8?Q?k9Z/eRgapdqLFY2GBNT8bJ5ZG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 73aa0536-d31f-414c-59e1-08dbeaa8e90a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 15:45:38.9362
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 3KYjylc4LBB0bSy691tghNEqmwpWWVu5bR5zULdS3Nkz8aZtX8mcpN7Kfzk8L9sKiW+PfuTB+0pwPd2vn6KqWQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7509

On 17.11.2023 13:24, Oleksii Kurochko wrote:
> iocap.h is common for Arm, PPC and RISC-V architectures thereby
> it was moved to asm-generic.
> 
> Also Arm and PPC were switched to asm-generic version of iocap.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:47:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:47:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637920.994011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5SyA-0002eL-MV; Tue, 21 Nov 2023 15:47:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637920.994011; Tue, 21 Nov 2023 15:47: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 1r5SyA-0002eE-JU; Tue, 21 Nov 2023 15:47:22 +0000
Received: by outflank-mailman (input) for mailman id 637920;
 Tue, 21 Nov 2023 15:47: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5Sy9-0002e8-HK
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:47:21 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0611.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 40bb183d-8885-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:47:19 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6971.eurprd04.prod.outlook.com (2603:10a6:10:113::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.13; Tue, 21 Nov
 2023 15:47:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 15:47: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: 40bb183d-8885-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RUPhMSFnfTelg6rO4g3KBivgahbpgEsr7AyLL89eodDE0aKHbupy9pISZ44GDJ6AqfIHzSqSMueb3474jS47nDqy83WURgNuJQveD2my2Wvsf5d8jLcxIq8jb7v4wreH+inw6pJr+R4yhsMrcWPaBRb7nvReTgjc7KjskbIP/ZSBN8lt8IeloDf6JsRhiyPRBSSd2F2JMquYYRfACwiaQyC1M8nzBXoYZDwwHIdkAD/+B9H+iDEbuGe2yr+YoAEvEqZ7aWF7QaEjqA8/z3FXXR3RqNuJPt6lNMM8aua6OKCBo/hAt8SmrxNTYScGwdPDBh/A+CvZ1RH+GhNEJW6TVQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YoW3MA7IaiU5pC5iVJRA2U5jJgglhERYQvHCcGt2oFc=;
 b=BmT5EEpi+ShMNr02fHGk6E+SjSwfUDum9E17tl5fPsyjX4SzEexPgVK2lcsmI7Copdfx9WOxQdGUOaUgmZkdZbBatqZSSreJMjuXa6HuaKV+/3Wry3PGum0QMbxplHSOjAwtP+PeCqW0RvLOSy4hzIiqmy1cu4rz9XQFY5HsA9jCYUmoLukR4giofF2jq8guTGgJNkgtrTpKOPhcLytkpFdwDEAd0e2gHz55RoVMuErZUHM2o2NyvN1HwbTvUa9S50V7YEe+vBjHG+UKbZqDs65F/4mlPDTPwUnId2R/U4+UmleXFDgflErYr3ZTLGHVXyhMo6eg3yZxi2Hg28mtWQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YoW3MA7IaiU5pC5iVJRA2U5jJgglhERYQvHCcGt2oFc=;
 b=BifoIKW+E8DIwYyz+ZqQmAmqn6nzWc/sisVrjkrVII2gO4IX9JLEsjQDE/zrtPBjLCArWz9D0iHw26CJzBvZj4EOk8kqrwk0WtLEpPdyAdtOKjNtAiXXwg1w5Pc8HTOM9OvrL1IaT5ownT2tgu9CMvfn8RkXcJ1B+AZ2DQkRm9KgZMXbGHu1oyufhSG+eXqhgSAHlbN/2Xsnm0qQC7PqUIxBDCngF2NmORbHWdMIG9lemsrV6lQIAfC5PVmqbj1IAkL1OC85qeUiCfLU8b8OLqXuXdlzvSChdVhpkXbuHER2t543Leefjx68gT9HambIQ53otPmI+Z7CYIp2pWGgcQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e8f2f588-f033-4112-a5b7-66a85c6fbe58@suse.com>
Date: Tue, 21 Nov 2023 16:47:16 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/14] xen/asm-generic: introduce stub header
 <asm/random.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <9a2b8920df291915ac6be0d14e6e9896e81ea9bd.1700221559.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9a2b8920df291915ac6be0d14e6e9896e81ea9bd.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0422.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d1::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6971:EE_
X-MS-Office365-Filtering-Correlation-Id: 042f172e-0583-41ba-deae-08dbeaa92385
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	edE7B14hMy51iSCUQBQw2G7S37N1vBZXkMAXtZFmRjsfkphR3jKcYdTq/7BiB09PvnYDmTZ18Nq3G9RFlecH2p7Nq3YNF8XzS/VfySt++d2/6Jm3LKxd3k+7+TraL08iI4U5ecS01JzUZl09gScPSQbnjx0b+LeTwEU3ISLLUDXu1FIWRlBJrogjeuOqwrJdiKPTSa/4o22qSY8hNb961cqnQR7FDGX4O34MWa018pjmQ0T6wtW8iM8WcrX6v/pBuyDUjj3Te36vt2VR9LhOnoP7v/ygwrswnvHJAVGug7KQLRFtG43zXVKsUOs4GaUd0d/pJd0S2EVsiZBHkay4icACUHGad2UmQBvK3sUmWYB8GoKQBmTXJWLwi2GiaAsQNFX/rYkq1lUd1EtWTw0U4kY8Dja72tPz1XTOfgM2WA82XlZAi4p1R7rtopk/topqFjpTpf7rqhtpe7uWe6ytA/dnA/v1H7DW0IHpVBW8tBYru0pfz7Fk0o8Lf3+56DO5XqfGX3TeGRwUh0HUARdN7OmPch6DyM+R4EguCEwTwtcuJdS2q9mR1Pe3LzbXaZ5nJ9R/UrDhkk1DkyeWPYoGlrbxph4r+4DHOx9r2fVLGeJhZu+lJRtGgO0vqmWC/2nfWqhIc2rhxcuX8KeEOHb/+Qm20nD6bqYKhmMvQ6yoqj4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(396003)(376002)(346002)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(66476007)(54906003)(53546011)(6506007)(6916009)(66556008)(316002)(66946007)(478600001)(6486002)(31686004)(6512007)(38100700002)(26005)(2906002)(2616005)(8676002)(8936002)(31696002)(4744005)(4326008)(5660300002)(7416002)(36756003)(86362001)(41300700001)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YzM2TU12dHpqOHFJVnZaakNQdGlDVk1wQXVJQ2Fpd3k2Qy9jR0VBUWtmRUhq?=
 =?utf-8?B?M1hBSEFoMFJtQmJLNE5WSGN4RERhTlJPWHZVaVNXZm5QYXlzdTU2ZjBKblB4?=
 =?utf-8?B?Yi91N2UzYiszSWFORjRIaHZjckNoQ1Y2ajg4eUFNRlpuODU0OG53a2grWjVV?=
 =?utf-8?B?YmhOUjdtNTdVZEFudXYwVk9FS0crOGJFVXBJeHQwdDgyTjI4OXc1QUh6NTdH?=
 =?utf-8?B?V2svRjVJVGprMlREQ2lOQm5xZzM2WGxpQ2IvZFNXc3gwQkNqZTcwN01rV2tp?=
 =?utf-8?B?aTcyM1FFRkF5QWFTMkl0M2NhaVVwWVY1dTNiMVpxYngvWEZ6ZS8wS3NLc1p6?=
 =?utf-8?B?M1Y2WW1GVi9KbVAzcWxUeDU0ZzhHV1pwak1BOExZRWhVak9yS081eVkrd2JL?=
 =?utf-8?B?Q0J4VXNUNXpheUNlKzNWbmxzdmNMTDlnK3dyZE00VUZsSXE4NEJiRklpbVRm?=
 =?utf-8?B?dGZvajNBMGhYdWN6WmNFV3BnSk1XV0ZuRlVBWlFWS21RNS85YkN5VEwySFNY?=
 =?utf-8?B?eHdybW95N1VmdG4vV0p2THlldmtTWTljVGpyOEcwWGpYSlZwRUFpdzJ4S1Z0?=
 =?utf-8?B?M3YrQ0dXMXc3clYxdHNvL2ZmS1lCb0hCQXJlZ1ZLZ25WSndVeUQzNjFxZFds?=
 =?utf-8?B?bjJDdlA5L1l2dUM3UWthTVJxc2ptVjgwZzAzVnVIKytoL2llcmttSXN4Vmc4?=
 =?utf-8?B?MFdXTDhJdyttTDBsUllmV1BPNjhHeGVNUWNJNFZKMnp0blRma1cvUXJuUFA1?=
 =?utf-8?B?S1dhTHFTQk5HY3BkVXNTSWdsdXFnSlpJTUxUblYyaTZVaVF2VlM4bkpTZGZm?=
 =?utf-8?B?VjRFUloxQjZCU1FOOG56QkJhYkxQTm1qazZ1aVF5NlVVbGNRY0plTzY1TXJD?=
 =?utf-8?B?L1lzc3UraTkrSTQ2dE9MaWZ3aEp4ZDIwV1hpRnBsME5aL3FQVEFIb3FYdDhV?=
 =?utf-8?B?VlNIbG1ualZoYkVxSzFFZmpNNDNEVTVFL3B6S3QrY2k5SlkwcGlrZWpMMjhj?=
 =?utf-8?B?eTc4eGxnUXFFQXFwdE1LNUxyTkdIU1FKWEd3WUo5UTZ2TGJsOXNtNGR4bWdS?=
 =?utf-8?B?cDFvTXVnS3QvR2lTeFVCRE1DSG5jZ2g0N3NPS05VSVBtSFkzV0tvTWZ0RkNs?=
 =?utf-8?B?WldGSHl4NlJWSW5UcWlkZmhWTXl2UEgvdGI0K1lybjhUcUw5dXU0ZEVQbElS?=
 =?utf-8?B?ZjdhN1ZKQ0svcEFVSEV4bDJYL20vSlVSVnJjVytsWXUraHdnbGZkSzZlRFJ6?=
 =?utf-8?B?ZUQ4a0JjNWFJWkZNdUNUbnRXYVQzdzltWnNrTzgxTC9keVV2VWZwa0lUcjJ4?=
 =?utf-8?B?RloxdnZZa2tEL3VnRE85dTQwUFQwQ3N0dFlYdGhrMTczVktuVHVJd3UzcU91?=
 =?utf-8?B?R0pGbm1sL1lqcEZ1Q0R5Q3F4R3J0MjV4U1VqcW0za1Q3ZFdjMitIT2dianJX?=
 =?utf-8?B?MzVXVzBTbXFMYnprSTlXT3Zkek5vZVd3UjZHMDJwTkVTVGJrQ2dZYWRxRE5q?=
 =?utf-8?B?ZkJkM2VGNThXVmNtMmp2MVZnN0trQ0cvazVmUkJVdkpDZ0ZIemtZVGFIME1F?=
 =?utf-8?B?Zjc1OTdzbGk3SlhheDJOQ2VWRENNaUt6MFVFNzFpeGl1cSszVHBkZGRmNzZM?=
 =?utf-8?B?WFZYSlE0bFlLREVwYWpwMkJQU3dBbkR0Qk81NThrSTR6UldtODlFSEtueGh4?=
 =?utf-8?B?bHJ1ZFhNd0pVY3JkMTdDVEQ2M2MwK0w5SkRHZk9LbU5hblJYMDVUdmVpRFRW?=
 =?utf-8?B?UzFvWkhKWTVnY2hyalhabTFtOGNNRm0rM3NYYVk0U2NpakNUbTBxRzVlZGV5?=
 =?utf-8?B?Mjg3aEJha3FMZncyZEFFL0hpa2Z3MTU4WFU1cjVCcXUwcUxneHFvaDkzdFUw?=
 =?utf-8?B?K3pmb0cwWlI0NnhWVHBjeVViREVIeS8yOCsvT1NmakRTcGh0TTRzeTdpc2kz?=
 =?utf-8?B?S2JIZUJjZXNBWWcva1JjZ0dobmpEVGxWUWtmcS9Zc1NRM25NRFNacFRlMnlR?=
 =?utf-8?B?VDZNV1U2ZUtBVGh4WkVvQTlFeHFES2FObG1DSWpUUGdSNURVajF3dDNBT1NI?=
 =?utf-8?B?SllaMUdqb2lPNFBlYk1tTjJ6VUNZTDlFbmhsV0ZqbkdYSVZpYmF0cnAyNzEr?=
 =?utf-8?Q?rqHnv+oDDPyICMFuiCulPCP9f?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 042f172e-0583-41ba-deae-08dbeaa92385
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 15:47:17.0594
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aFflMmThelp0L+snFnR0q+rs6UPRc/0+6W7NTtEccpcGA0o2C8m/icXqnTDnVta1up8doXDOKm4u2SSRocAE9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6971

On 17.11.2023 13:24, Oleksii Kurochko wrote:
> <asm/random.h> is common for Arm, PPC and RISC-V thereby it
> is moved to asm-generic.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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

> --- /dev/null
> +++ b/xen/include/asm-generic/random.h
> @@ -0,0 +1,20 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_RANDOM_H__
> +#define __ASM_GENERIC_RANDOM_H__
> +
> +static inline unsigned int arch_get_random(void)
> +{
> +    return 0;
> +}
> +
> +#endif /* __ASM_GENERIC_RANDOM_H__ */
> +
> +
> +/*

... the double blank lines above here shrunk to a single one. Can likely
be done while committing.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:48:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637922.994021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Sz0-0003CI-VY; Tue, 21 Nov 2023 15:48:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637922.994021; Tue, 21 Nov 2023 15:48: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 1r5Sz0-0003CB-Ro; Tue, 21 Nov 2023 15:48:14 +0000
Received: by outflank-mailman (input) for mailman id 637922;
 Tue, 21 Nov 2023 15:48: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5Syz-0003Bn-Jt
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:48:13 +0000
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
 [2a00:1450:4864:20::22b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5fd200d3-8885-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:48:11 +0100 (CET)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2c88750e7d1so20912981fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 07:48:11 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p4-20020a05600c468400b00405959bbf4fsm17643150wmo.19.2023.11.21.07.48.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 07:48:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5fd200d3-8885-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700581691; x=1701186491; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=HqIFDC7sw9FrFrkiQN6BhvfYvQBHh1SHDXc9ULlRUL8=;
        b=MSZyFd4PA4M/FgsziFQkPmxx2nZMIBz7Z2sMq2wWToge/JjM7na8YpGexKcvbOBijQ
         +Zpp9gG1g4ufDkL/O0Xj2IpCqAcblVpJtMDISKlUAeEis5aAm7CWMUPhV89kvmqaBinW
         Xdt3LoZPclO/5NnciKAwKiNVrdmQvPbvQ9fIY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700581691; x=1701186491;
        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:subject:date:message-id:reply-to;
        bh=HqIFDC7sw9FrFrkiQN6BhvfYvQBHh1SHDXc9ULlRUL8=;
        b=P9TP6s4WpkwNX6uJv9wZJwOapnt1Lv9KwThGtX2M5shIt4S1u0WTwR9kPkjdkcWMgZ
         +XEGdXpa0tDEo6zsfAHnNMa1ndBefVNxjfb8wTp9Z7EM30pRcnf+M28tO+45jAnReod0
         qIUUH+zbotP3gpMKjLQAyP/K2QO3dT5UQwAwyICwhi7p4i9uMEl8xRlNgbilVL4/jMmI
         k5lSbF3/kgXpJVF3qRuDUZAU2jOLXtZ54qkHCJnxqHLnkVoAc8/83gQZGjhBpcNyK5hI
         +8RVnsdh8UW6XVJi8Vr6bh2uxMXKvwkfZYA9potWBYWI5vCfb2XpKmvDmanyWMMUMcC9
         YqFg==
X-Gm-Message-State: AOJu0YyNsKJVrkgdbS28qtTOf9tpUu7raHfypeBlQXev9ZPOjyUHhbRS
	mwcGxFdPeKPzWbZ6C9HaV83B7Q==
X-Google-Smtp-Source: AGHT+IEaKtrk9t/a08zPYEN191u5MGbb8/k5FVQr9Izc6FtTnlM5aHANZK8JHE6zVJ2w+lAfVYOdHQ==
X-Received: by 2002:a05:651c:1507:b0:2c8:8ba8:afa7 with SMTP id e7-20020a05651c150700b002c88ba8afa7mr1675228ljf.39.1700581691015;
        Tue, 21 Nov 2023 07:48:11 -0800 (PST)
Date: Tue, 21 Nov 2023 16:48:09 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [PATCH 1/5] VMX: drop vmx_virt_exception and make vmx_vmfunc
 static
Message-ID: <ZVzROZu9Afs-mEah@macbook.local>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <fd9d6043-4877-4156-97d9-4bdf7cc8fe04@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <fd9d6043-4877-4156-97d9-4bdf7cc8fe04@suse.com>

On Thu, Nov 16, 2023 at 02:30:41PM +0100, Jan Beulich wrote:
> The variable was introduced by 69b830e5ffb4 ("VMX: VMFUNC and #VE
> definitions and detection") without any use and - violating Misra C:2012
> rule 8.4 - without a declaration. Since no use has appeared, drop it.
> 
> For vmx_vmfunc the situation is similar, but not identical: It at least
> has one use. Convert it to be static (and make style adjustments while
> there).

I think you could also remove the sole user of vmx_vmfunc, as it's
just a cap_check() usage (unless there are more hidden usages).

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

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

> ---
> In how far the sole vmx_vmfunc use is actually meaningful (on its own)
> I'm not really sure.
> 
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -167,8 +167,7 @@ u32 vmx_secondary_exec_control __read_mo
>  u32 vmx_vmexit_control __read_mostly;
>  u32 vmx_vmentry_control __read_mostly;
>  u64 vmx_ept_vpid_cap __read_mostly;
> -u64 vmx_vmfunc __read_mostly;
> -bool_t vmx_virt_exception __read_mostly;
> +static uint64_t __read_mostly vmx_vmfunc;

I'm quite sure this should be __ro_after_init, but I guess we cannot
be sure give the current code in vmx_init_vmcs_config().

Any CPU hot plugged that has a different set of VMX controls should
not be onlined, the more that migrating an already running VMCS to
such CPU will lead to failures if non-supported features are used.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:48:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:48:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637927.994031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5SzQ-0003fU-7T; Tue, 21 Nov 2023 15:48:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637927.994031; Tue, 21 Nov 2023 15:48: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 1r5SzQ-0003fL-3g; Tue, 21 Nov 2023 15:48:40 +0000
Received: by outflank-mailman (input) for mailman id 637927;
 Tue, 21 Nov 2023 15:48: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=U+4w=HC=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r5SzP-0003Bn-EE
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:48:39 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6eed820f-8885-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:48:37 +0100 (CET)
Received: from AS8PR04CA0012.eurprd04.prod.outlook.com (2603:10a6:20b:310::17)
 by AM9PR08MB6657.eurprd08.prod.outlook.com (2603:10a6:20b:308::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 15:48:33 +0000
Received: from AMS0EPF000001B0.eurprd05.prod.outlook.com
 (2603:10a6:20b:310:cafe::73) by AS8PR04CA0012.outlook.office365.com
 (2603:10a6:20b:310::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28 via Frontend
 Transport; Tue, 21 Nov 2023 15:48:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001B0.mail.protection.outlook.com (10.167.16.164) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 15:48:33 +0000
Received: ("Tessian outbound e243565b0037:v228");
 Tue, 21 Nov 2023 15:48:33 +0000
Received: from acce25e3130d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F4B5B3CD-6B17-4CF6-AE5B-42808E32EBB7.1; 
 Tue, 21 Nov 2023 15:48:26 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id acce25e3130d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 21 Nov 2023 15:48:26 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB4PR08MB8005.eurprd08.prod.outlook.com (2603:10a6:10:38f::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 15:48:24 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%6]) with mapi id 15.20.7002.027; Tue, 21 Nov 2023
 15: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: 6eed820f-8885-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=cq3WOlGJipK+tkvRSdH5FSZ2aOqGW/M8f4XIJV13sieaKcGOKYSpZD5XRUbwQGR/NFNOU5ZeL2Xvhif4JoDxhtm4KnJt6UGvnIDhOGQGyaxZogzxDagffGcZyDkPFMY1y5fmer78JZRQDzICR092y1BonHapJotnRgZHjWBn0Rs9NcMJrdyxZyNTqfWiyIhoGMtLgWTJ3+u7n8zcbih3Jre0ZuqkYf42YnKZCx6XEHjjcMDU2t5J4qL2gBOgulJKjTQBWBCED4ezJFsxSgSOsOkat9oxFQdJt1gFcGQYtGmj4XUwxy216St91QDUtfYx6olL448wvVV3kFaVnWl/0A==
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=m76lJLSH6aD07eGDeHvC7c73SwE8YmWn99suPYmv2YA=;
 b=cqwpEMiEJb0MWIoLn+GQr21/ud868f+Kow8Rv7dnSMBjOCNW2kbFVRvS6tUDLRhYcCS3napQCl//J+frDyyDF0EGLOc1bqYfo7HuyQzEaghxj+Ckq6WCwiX/J7YdUb9dgv1erltOZIhoODWe2xGV0c3VrD8W6tHm46cU9Xbp+C+mdpNE6nImqPDhRvs4l45jkyHolbJCN1YrWeS5eeN8ANDtClDNh4h3a6AnMwdplMEZQw2GZoJXJVJTtnRzw0ncrEt3M+RRGgSXyvLkLEP0Ysh+4KlvxXqRpbJgieE4mgDpabdd2BPt8MeH00d6la5uNS87/4yQN4yfmnw95xh3fA==
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=m76lJLSH6aD07eGDeHvC7c73SwE8YmWn99suPYmv2YA=;
 b=6n1Pau4dWIPY80e+QDcZf4RcEEpEE6tN6El8+ScepIMrlECKqj+FELzOKcDITF5FlY1ozeFTh0scd2PdUwdJVHb5cs4cSOAR1C5vTsPcuHLn6nF0Njudo6qPo/PqNivaB+b6Pkm8QIB0ScbK1ypWF7cThxO1f+9JS7d10DS19kM=
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: 743943516cf1ae76
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KzTnzwvlG7XzQR+7sTUk2bfcYSiKaCLBgWNRQmIT+TI4eaVx4+BZxWNhVPbzuu0AUZtDPBcnDCjda77whDDlzJfv9g32+ew9abSo+DY6rZKWIY03sTqz4avvIgSoA6FUErx3TRAtwNlT4FcB2YG7CuthEIVAAEV3cXjhC86aWakM1ecMe8+shExsiO/QV5uDB9eel/EOQJemH8aQKdCAAAJ+WVtrq89428IrFpMrjdb1Ne3H/esojUsTiir3yujPYKK/eaN8Qb0FTyZjyk8y0Kof0qowFPVz0Z87ywsR0pyGpSpRw1c3+aTzTrmJBvAldl/1a+gR3Kuvrwt9F3CWYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=m76lJLSH6aD07eGDeHvC7c73SwE8YmWn99suPYmv2YA=;
 b=gavrI+IVwhvCMO+zlDYUP7SpTYW7hEksI/lZGFtgFItVo8SXUquwTcgee2qH921WUsvY92Ql4LmN2MvOckoNJGqW/Vqs+c1ROtzzDUJKn8jH9mKEpjlH0c63o+X2ND5LW29zPwDJkTTMO4jbZP3OaFcqpd9fSaPojT3zo2ja/ZPRgHsAnVZWqOZ1CjaWHzOZOkRIuEHrmRTNvv5DoFMWgjt+BFw+gqoCy3wBCxyM6NyEt5uuN3JhErCTB/ppwmOhCkOxHHoY2ZOhYvYOPQ0+Zius+2i0VWaUGcGda3LZvDe9d3SGGbwRLrUgmDRDTU3n1G1Sotap1ktbytRos3AsRA==
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=m76lJLSH6aD07eGDeHvC7c73SwE8YmWn99suPYmv2YA=;
 b=6n1Pau4dWIPY80e+QDcZf4RcEEpEE6tN6El8+ScepIMrlECKqj+FELzOKcDITF5FlY1ozeFTh0scd2PdUwdJVHb5cs4cSOAR1C5vTsPcuHLn6nF0Njudo6qPo/PqNivaB+b6Pkm8QIB0ScbK1ypWF7cThxO1f+9JS7d10DS19kM=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 1/3] xen/arm64: head: Move earlyprintk 'hex' string to
 .rodata.str
Thread-Topic: [PATCH 1/3] xen/arm64: head: Move earlyprintk 'hex' string to
 .rodata.str
Thread-Index: AQHaHF+ZLfO2ZZCzYUW7XLxi+lBn+LCE64WA
Date: Tue, 21 Nov 2023 15:48:24 +0000
Message-ID: <C751BB71-A166-4485-B7AC-75304764997B@arm.com>
References: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-2-michal.orzel@amd.com>
In-Reply-To: <20231121094516.24714-2-michal.orzel@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DB4PR08MB8005:EE_|AMS0EPF000001B0:EE_|AM9PR08MB6657:EE_
X-MS-Office365-Filtering-Correlation-Id: 2b19f00e-98a9-4f73-a72f-08dbeaa95125
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:
 NTBTspH2uxFq4KQgIcuaG4c/QpuOcS2csfAgTvB4zZ6KKdmnCp4+E/jrX02pZx27mhgbpZ8zht5qPiwk2YOtkAOJnp+ogCZs0WV7h4kb11MTWpvRKFyac+ACLnAWLfQzrxjtnWvNZEOp2RnyWr79Le1EYMRdCmntca0xysUu0ctmJUYhTaEj9j2SKS81e2UPlneam1lKwOZ5N9O1i+3tbhk3Tiam+9w+DtX4kZqqr6JBIi5SxGG+Uv5cC2v09pW6DKogUVGm83HcOYiScvwhx6rKBXlJS4lSbVSIl8jhaLlKP3RUOqmo9LzJFAxthyO0Ekw2dj3MC16wrEWjfMpXASoe5/QL7ehJ44nPH7MvBUugfnXd7oNIvYQVNdeSq02C6coPhkBb1o8pOZ9r5fldxLpA2OP7d4q12+rua+eLvvd9zGPaKyi3cdCMC0eZYASyqBTdUrWpZzowRh3WsKj/nllIgTAvYc6bJZScQZQ3RgFkj7iACZ+e6M1XtUnJMrhnOqnNe8M98rZWX8jTvuQzHcz9Tt+jkNTwJ/w65aWi8F+lHPJbEYB6aWKbsxgES6iVtoVvEptK9f1Ne+wzz8rnX72p+kOUIWTbk7gHvTUeUD1fmlEF+5jXQYEhPgK2FKm+6VyCPpwdTSzueSWTKoYD8goBaXvGUo/oAA6FYo3297KPU0UH9+Y9V62RodWSro7Q
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(136003)(39850400004)(376002)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(83380400001)(38100700002)(38070700009)(36756003)(33656002)(86362001)(122000001)(6916009)(76116006)(66946007)(91956017)(66556008)(66476007)(66446008)(64756008)(54906003)(4326008)(8676002)(8936002)(316002)(41300700001)(5660300002)(4744005)(2906002)(53546011)(6512007)(26005)(2616005)(6486002)(71200400001)(478600001)(6506007)(142923001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <34BEF732DA26134D8895B231D035058D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB8005
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:
 AMS0EPF000001B0.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	932469c3-51bf-42f9-4510-08dbeaa94bb7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oL0XXpfJKf6SwZsvWtG0ZAL0RsF65qwSj9ri+r5v+zXAS/AGdtlabpXITV2RUfO/KLmW8smWOj7dfe4JmXTqxynTa8dd0KQiYq3MxVZ5jRto64Vjdy4EzyKUtqO/3gtuHop4/iXEIYSZfNrG9aTYvclQ0JskfnQDaed/H8MAKq1CReZBD1B6H1uF4IDdeN8F08XV0hbeuUoG4KlACeBRub4rGQLaepNNaVdtQ3nh6hxBDJtxZSfblTx8RqoScsgvEFUkUrqwuJYlSsu37zs4D6LimSDMpbotVz2AOxuT6kcLMKnTH2MrZNQCtXz6kmN9Rt2qQXxih1w5OzR7v7MkpF1S4KUBH9dD6YnD68Hp2qktcqKXIQGCKmW+CJ+cBWHyTB4mGfkoqVeAVwcqiCcYVdQc4GwMmfNBZTSbtYh36aSmNl4A7+sOZY/s1dv60MvzSJMY+zb08Cr/8+JcNdGrMvdPrzeLpddJxqMQ8EzNOAjLToczqA/DOKMirgr3QuJHrt430lNTdvBLOaLUXnldzXy2m93/MiP1LfdoLGAX3pCWSsK7rP/64nza/fZ0Ofuuu5piZvlpdtnumJaBpsdZ4Y1vGJWrK1t7x8lt67jLKSDwEJl48OCfL8BB/ULdFv+biMa7UJeMbVa9JzY9yIfmfosGdWJv7Nvkyn5q1qEtCbuVyMFWM1lpfRQDsXSp3wOCKjNeX/pYSBiMO5ge/wrz/ksIpG4X4R1O9OAio5mBl7jnK3bg6T/D34hr106tCqdcSTkH+OEdGz6eF+Eoim8EsQ==
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:(13230031)(4636009)(396003)(136003)(376002)(39860400002)(346002)(230922051799003)(82310400011)(451199024)(1800799012)(64100799003)(186009)(46966006)(36840700001)(40470700004)(41300700001)(33656002)(36756003)(40460700003)(4744005)(2906002)(86362001)(5660300002)(81166007)(47076005)(356005)(40480700001)(107886003)(2616005)(26005)(478600001)(6512007)(6486002)(83380400001)(336012)(82740400003)(8936002)(8676002)(6862004)(4326008)(316002)(54906003)(53546011)(70206006)(70586007)(6506007)(36860700001)(142923001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 15:48:33.4383
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2b19f00e-98a9-4f73-a72f-08dbeaa95125
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:
	AMS0EPF000001B0.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6657

DQoNCj4gT24gMjEgTm92IDIwMjMsIGF0IDA5OjQ1LCBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnpl
bEBhbWQuY29tPiB3cm90ZToNCj4gDQo+IEF0IHRoZSBtb21lbnQsIHRoZSAnaGV4JyBzdHJpbmcg
aXMgcGxhY2VkIHJpZ2h0IGFmdGVyIHRoZSAncHV0bicNCj4gZnVuY3Rpb24gaW4gdGhlIC50ZXh0
IHNlY3Rpb24uIFRoaXMgaXMgYmVjYXVzZSBvZiB0aGUgbGltaXRlZCByYW5nZQ0KPiAoKy8tIDFN
Qikgb2YgUEMgcmVsYXRpdmUgJ2FkcicgaW5zdHJ1Y3Rpb24gJ3B1dG4nIHVzZXMuIE1vZGlmeSBp
dCB0byB1c2UNCj4gJ2Fkcl9sJyBpbnN0ZWFkIChyYW5nZSBleHRlbmRlZCB0byArLy0gNEdCKSBh
bmQgbW92ZSB0aGUgc3RyaW5nIHRvDQo+IC5yb2RhdGEuc3RyLiBUaGlzIHdheSBhbGwgdGhlIGVh
cmx5cHJpbnRrIG1lc3NhZ2VzIHdpbGwgYmUgcGFydCBvZiAucm9kYXRhDQo+IGFuZCB0aGUgYmVo
YXZpb3Igd2lsbCBiZSBjb25zaXN0ZW50IHdpdGggd2hhdCB3ZSBhbHJlYWR5IGRvIG9uIGFybTMy
Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWljaGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNv
bT4NCg0KSGkgTWljaGFsLA0KDQpJ4oCZdmUgYWxzbyB0ZXN0ZWQgb24gRlZQDQoNClJldmlld2Vk
LWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+DQpUZXN0ZWQtYnk6IEx1
Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNvbT4NCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:57:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:57:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637935.994041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5T7q-0005mA-6i; Tue, 21 Nov 2023 15:57:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637935.994041; Tue, 21 Nov 2023 15:57: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 1r5T7q-0005m3-3e; Tue, 21 Nov 2023 15:57:22 +0000
Received: by outflank-mailman (input) for mailman id 637935;
 Tue, 21 Nov 2023 15:57: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5T7o-0005lx-WC
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:57:21 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2070.outbound.protection.outlook.com [40.107.7.70])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a5f03c98-8886-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:57:18 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7396.eurprd04.prod.outlook.com (2603:10a6:20b:1da::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 15:56:49 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 15: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: a5f03c98-8886-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i078C2MGPvcZBjKQPscFeQhSnVMjOfm/YgTDS/soFfpvEgOVNARoD70nlGoBCgYp5abVKHmSnC6HGprcsHjk0ogCXFHWjzYFT07ONyYZFuGftSBOCXm7NrxIdSd9IssOUsm2vNX1sj1uYdkkNo7T02fnu6w9jbhI7pPwMMeZJ89dV0MQnd0p1KSd8d8XGV+nWS7zkbNYKO7V0pAHYeJP1G6Bn7U2sN+h00ml/gJ+EMaNt5YzmIyp5S2BALC4qiez8HDpEd1wiDQVMveOR8kuJxdD1BYgdKqaW5O0Kjae6enwBOZN4PJ4JqedciZj0rfPV1V+cucZNAFajOOFqgfsFw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eBCj/EXm57kn1zsgTctsCCYf1FJwiCaUDCsegUb90x8=;
 b=h+Q74LQFUQT5lsZMZ0Aci2SiRbYBn+CGYATW7YhvQCl9Z1Wcdu/BiP6+OLx/iYc20MBHzCsZ2TTezw1oGlQrxHK3ua25CX9dqUwXn8gdwcIG4iGSZUCIvoLPgIBPe4B2M7SCiUBQsK9f1wEQQbamQswYy3lUv+7hdkwF3uqE4JZVaB2plTlQr33eAvPNUbS16XGKpeJmcigm2FWQlNqUAcB1pB/1wzlQXXViawYy0SJRsKHNQ0fDHfYX1stbtIVXxjetfP7L09L3xjmwxJh/Jypzy7btD/uBAGbVYAcDEqAhGgm6BrhR1GmnpFFqsmhPa3ieDQ0Lh0U7iEMR1+1pPw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eBCj/EXm57kn1zsgTctsCCYf1FJwiCaUDCsegUb90x8=;
 b=st2JqOD2MZKAtUBKLqJS6tq1RIvNoJjWVsth/BJQGez0UZsHxwX2mqTyEKZzogGy8caUOr0RbBwVWHR8pS/ZnhcFCLG3H9ExrdSmVFLhtfmjHOvj8XaJAreju7gWdljZDJxXUzBFsOzVlq04IY8sfUHWVoiiTfaHmO+AoyabpqGMh1bhheAmwsAzyY5kBWGZSU3EpM0eSEanVaTQWrg28bjpCDUNoVsz1dzGSABD4tuX47VwEwVouJ6mFPN6SKTcd25EZq4vyUibm3jmpf48Y4gReS5TPEoQw03lI8GtsZqM7rt+B3Dq/KeYH2hnaxY5ABf66tHn8vm4OGIHo5BeEQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dcad55a5-2582-41df-a2bf-6e83ddfbc0a3@suse.com>
Date: Tue, 21 Nov 2023 16:56:46 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/14] xen/asm-generic: introduce generic header
 percpu.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <51ce486a825a1654998db01c4e07c127e4b1b38b.1700221559.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <51ce486a825a1654998db01c4e07c127e4b1b38b.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7396:EE_
X-MS-Office365-Filtering-Correlation-Id: 5a7a985c-b42e-44cc-4de4-08dbeaaa7871
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N7VXin8G+Br15S9USq6LghluW4hByHWCAX8nZ69Ix/S9BRzcm5Yw+KtXubhsShOnnqN1gXe3224/e3/hyOOFawfn8DV8zv6dVlZzVkVJ5zbBNbto2ASe3lvUZ6IG0N2UpI+MtNInFoZ9nyhMHylKzTALSk3vWYOl+qOBSUr6gSHiRmU3Xr+na/bD4FIZJ+VH7/nZhg5kZJPrSqhHz91fhsWr9vGTGRXrt764O+IVzbKeLdJgj0drBxcpejHcXA4z6yzK43up6d+KefRS5mH2z1ZN6EPAPQg4wgW0XsBPi4sxnZHSxhImxtsjC9TN3wOLqe96uVrx4xtPFhTIbrqOwvkLObvWA8vIa5ejGEVGRhIKFwWbjGYNAwxREsYkEq3dcG8aLPsV4uZEF+12Bfs210mknYy8vqlbSauoAtfqeN7wHy1nOkQaZXgPeKCri0LNTqSj0e3VbviOvf+M9YIl3fAMswnej4R/lLwMe8fW8qGS/e/Q3BJg7LKdXPke9JvDrWmF5zJdnS7Pe7Bt2UQUBU71xhDXKoKqUsl8UyIQMT1jE7b3eULPWcQti9Ia6KZ3XzmlSdhWZLPYi7HMaRFmbOw45L6Ecd9+dQTRPE3etZfLv8rky2V6qBgDSBihr6FH/sPnuLU1kegH8v8sym0Ly01d0hcIKX80Hos49j4qsp8=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(136003)(376002)(39860400002)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6512007)(31686004)(6506007)(6666004)(6486002)(478600001)(316002)(6916009)(8676002)(8936002)(66946007)(38100700002)(2616005)(66476007)(66556008)(54906003)(53546011)(4326008)(2906002)(5660300002)(7416002)(31696002)(26005)(41300700001)(86362001)(36756003)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Lzk1WGFCOVR5SitrRW1MOW4zN3pLQjNhaU04aU5Ja0ZWaHZjVm5xeDBHNkw0?=
 =?utf-8?B?OFR2UU41MndXcmdscWI2Z1BaT3RtNE5FZG00WkRSSkYyL0ttaEFYS3VwMHk1?=
 =?utf-8?B?ZUpvTWtkbkwyQnEyRVVyRjJmc0lHM0FlcURsd3FXVC9kUzVtRFNwRlA3MDBB?=
 =?utf-8?B?UDA4RmE5YTdadnJrY3Bubkk5ZmpYOGtUcVUwdm1hOFpvS3V2akdPQ0QveUJI?=
 =?utf-8?B?WDVodVMvNjVUNEFPVm5jQVo3d0lLeGY3NG9WTTB2WlZEVjN5dGpEOUpQV3dn?=
 =?utf-8?B?a0RMVExSaWlpcjVQdlkrZnN6czYxd0ttcGJ2R3RGckNUajVvb2xUM0lNbStl?=
 =?utf-8?B?Qm42RHpmbWV0UXlkZE9BOWFOMW1MWjFMeTIzVkZCMWlTWGhoYjdqRVoxc0Q5?=
 =?utf-8?B?clloNU9ObmdmcHdPcGYwNVc5WHhGK1pWbDVFQWtPYVFTT21TdTRGdGdqOGxW?=
 =?utf-8?B?SEV4Z0RpazVoTVVlYXBOVFRNSlV2OGJ4V2ZRemtERUpWUDhMK1BnVHg1V1Jv?=
 =?utf-8?B?M2ZVMHRUeUtrZGdTeUdzUTIvVmJEMTVrRnZyOVpYS1BuR2ptTC9PdjVXWG9X?=
 =?utf-8?B?UnJCNFhtODhkaTE3ZTFlaEZWUTMxdFQ0QTFzbXFSUFVQS1IxOS9Za3pNcHlY?=
 =?utf-8?B?MVZMMko2SzFraUJldUZhMmszL0VTa0dXUWVZbW1FNnJ2bkpQQ2RVelNVTVNn?=
 =?utf-8?B?YVVjL3UrSldTL09FdzBQbkdjakg0MzVoc1k5MkNOZ2l1TU8xWldVTElHS0M2?=
 =?utf-8?B?RmdMN0UvOTJsR25nMXA5c0tEand4UEo1WFpHNFQzY0RRSFczMkpFS1U0bHMx?=
 =?utf-8?B?Q0NjU01ZdkVpUXMrS0ZlN0hKK1Q1ZStqL0NTY2lwTVhDeGlidUkyVG05aU5H?=
 =?utf-8?B?ZlpyUkJDSFd3bTdnNytqcURhY0ZSb29XOHpVNk1Ka2g2ZXIrS29pdlZobDdQ?=
 =?utf-8?B?azl6ajRxWm1NbXFkempwQmJMcmlveCszNW50MFh6TWJXeUJLOEZKMHU3TkxZ?=
 =?utf-8?B?M2ZTMW9Cb0VXblZySHF0U28rM0xibTlOZXRGcC9JTDAyT3hjQVVOMWJ3UkNP?=
 =?utf-8?B?MUlvOEVWT3FuNmdjMkE0cUw3S212MkxhbTRrUHJ0OFJ6QTNEOXFuMTNseksr?=
 =?utf-8?B?Q2NCZlhHMzR4cVF0T3UxSFFubWM2ZHhCMDNTZ2J4b1I1RmV5dHlrd3ErNmtH?=
 =?utf-8?B?WVlmN1EyMm5iMnRiMDEzTWx0UEVjaXpmeWlxNFNDMHd5OHRCUFY1ODVHVnpu?=
 =?utf-8?B?YUw3elhPakJYUkxSWEpUc3N6dlpwdDVNTlIyeWYwUXc0bk5PTjRSZVVZWVlD?=
 =?utf-8?B?enBTTHBtQWdKUURzSmZCMHRPc0FHaHI2TkorYnFZMVFjMnd6TW5LVXdxWGlH?=
 =?utf-8?B?ZWtRVWgwRlRrZ0xNS0tNK0w2YjBsNDFFM3lYYWUxM1ltUEdlWnJsVlRBZVBK?=
 =?utf-8?B?bWY5UXQwVlZnb0RRQ21MZllJY1YxUEx3VG1XQkF4R1AzS3VGaW5peXVmZk83?=
 =?utf-8?B?NUpvRW9Vd2ZKOGJSRjZyQk1uRDBWck5lWGpaWk13dzkvS0dSMDR1L3pJZ0FD?=
 =?utf-8?B?STU2c2UxWHRGM0xzaUNtTzRDZ1dqYWhlMkwzU1dFSzVUZEhybHk0ZkNNcVFs?=
 =?utf-8?B?K29GUFNoODNveExQS0hjRm1sVENYZittY1oraktUWU92TVh4bkdoRVAvN1U5?=
 =?utf-8?B?Z1NZN2VvTmtmcmN0bVFnYjVmV0E4U05IREMreUlNQkNidWxaVmcrOURaNUdP?=
 =?utf-8?B?REt3RE8zcUlZMUw2KzFzSGY5anhzNjUzQkRMYVg0MUNvMm4veHplK1FKS2dp?=
 =?utf-8?B?SlNkR28yTStJSEY4OGNuNFJMNml3Z28renZJNmt5TXB6Q3ArQjJWSXhucDJw?=
 =?utf-8?B?UVJ1UlhEeFEvWlBYVnRxckFmR21UZTJNN3pyMVJDMTlNNVczTFIxTjlXSnFZ?=
 =?utf-8?B?TEUwMURNMHJaYWJLczd3Y0dpL09wQVBya0YxS2VkbzZjNW1jczJmV2RPRit6?=
 =?utf-8?B?TE1CSE9xZjFpYVBIWW9VTnZRUXo5SkNXQWhsUEdKTHg2OGU1YTNyS2pWRWs0?=
 =?utf-8?B?TFFmSGhaYThuTHh0VlJuYXJmNkhXSG81bUNqZjM3YmRjYmJYZXNiWjNBOTd2?=
 =?utf-8?Q?zpc91aTCZIgjYD2r0tf4tgDfR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5a7a985c-b42e-44cc-4de4-08dbeaaa7871
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 15:56:49.0523
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Hc+lVkXmZ/tQWTeg1Tmds9qz0wOks/xLnf0VuIqLm6Ztzn8046lwvZRAGQz29N5txVHFEqtL92Lc6HdfKzE98A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7396

On 17.11.2023 13:24, Oleksii Kurochko wrote:
> --- a/xen/arch/ppc/include/asm/current.h
> +++ b/xen/arch/ppc/include/asm/current.h
> @@ -4,6 +4,8 @@
>  
>  #include <xen/percpu.h>
>  
> +#include <asm/processor.h>
> +
>  #ifndef __ASSEMBLY__
>  
>  struct vcpu;
> @@ -38,6 +40,10 @@ static inline struct cpu_info *get_cpu_info(void)
>  
>  #define guest_cpu_user_regs() (&get_cpu_info()->guest_cpu_user_regs)
>  
> +#define smp_processor_id()      0 /* TODO: Fix this */
> +
> +#define get_per_cpu_offset()    smp_processor_id()

This 2nd item can't be quite right either, so likely also wants a FIXME comment.
Shawn will have the ultimate say here anyway.

> --- a/xen/include/xen/percpu.h
> +++ b/xen/include/xen/percpu.h
> @@ -1,8 +1,6 @@
>  #ifndef __XEN_PERCPU_H__
>  #define __XEN_PERCPU_H__
>  
> -#include <asm/percpu.h>
> -
>  #define DECLARE_PER_CPU(type, name) \
>      extern __typeof__(type) per_cpu__ ## name
>  
> @@ -29,6 +27,8 @@
>  
>  #define get_per_cpu_var(var)  (per_cpu__##var)
>  
> +#include <asm/percpu.h>
> +
>  /* Linux compatibility. */
>  #define get_cpu_var(var) this_cpu(var)
>  #define put_cpu_var(var)

While you explain the reason for this movement, it still feels a little
fragile to me.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:58:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:58:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637937.994050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5T8r-0006V5-FL; Tue, 21 Nov 2023 15:58:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637937.994050; Tue, 21 Nov 2023 15:58: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 1r5T8r-0006Uy-Cm; Tue, 21 Nov 2023 15:58:25 +0000
Received: by outflank-mailman (input) for mailman id 637937;
 Tue, 21 Nov 2023 15:58: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5T8q-0006Dc-9J
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:58:24 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2071.outbound.protection.outlook.com [40.107.7.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cc09dd03-8886-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 16:58:22 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7396.eurprd04.prod.outlook.com (2603:10a6:20b:1da::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 15:57:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 15:57: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: cc09dd03-8886-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h57DdFgUJGcNHlCxPHgOjFiHb/Kdev8/4Ld0edC/+PTTA4iRH8KadbqELQ5LtqUGQUbUXsy6lmyGDBv9JoL1/KF3P27KrKtDDc+21EQaQOmfnSQwv7i2AaRcUvsTxkF0WU/2nwknuxx9/K958sC8rZUfi7mRtNJsHdVFg9+8t4+krbhZCWWY1kihAysF/X2ZQrR7WQAI55HQL2o3FEXWSbDXQMn4voc1i8Xi0o3ATTM0DU7wbxs12VA3o7j5fLWbLmroPgkD9uo0zo7Pwd6asbb9KFKWqlhm3UtnRvci/54rVJ+lsL1OiXdlSqMhRCUkUQHdodHArNEcYsJ4Svv6GA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6CKHwxVd/ZzegVYOeez9p5sKEfobBTc7HBLaaeUE/OY=;
 b=gmT8LmvKIVEqj/j7b7GlHqK3c0+Y8GnuKm3MNzbefm2Htx1mtXEFdLPJKYe8q7rYobjdbs3YQCDrYwQDtjgBxOcSlbb7UMCnk1TI31Xr7FvxbSswDXfNhJ4SwlGaHC7bNOoXtFiIRsQDhe4Hqzz9ojk81NNthGBMCQ6tB21bk4MI4iDs6JC/cfYgoFESisSWmXCWTfUbZTu72gKZqFumHbClht3mcJXkgUj3xGH9dVtXSauXGG1VqSNMAwPcU2yOWg/E+yedKqP4E9uxDuesTzBmNKt2pfYGixlh7VAMt+MjZ8WjSpWhx4IY+d2hsZW2vMweQpIyAesNg4NqNALoRQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6CKHwxVd/ZzegVYOeez9p5sKEfobBTc7HBLaaeUE/OY=;
 b=a3o4RqTwyjbo84jOXlpR+/dCuD5riHeBcMsEHPN0xsyDRmISiPrDsL5PuVozJuo16s9fqQYrml0sDgmUUYPYnkvAT5DTDt28jf6sCuqG/k/N3ARLTTHrKOkKZg8OJWfZX0BfNda4BQkxQM8N6vUjxFpTLsJEQz/BMNRhLRuPywl+xZ2x3JfSCg+ZFTKJ85l6uYmp1dcJEPWsw9MARR/JZANxGF4GN3MCohdaDYmbfdpbE0ueQVflftB4zQUsXN2JW8i4LcFPSuj1/DhGP+hPRSZjEQh4/QHKTKnLVe/J9pn8S9CEODhnzn3vrMy5h3w7sKbUvBiofVx1MdHe2Jw73A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2b41fb02-e2be-456f-a9e8-9c5dbb8890d6@suse.com>
Date: Tue, 21 Nov 2023 16:57:52 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/14] xen/asm-generic: introduce generalized hardirq.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <3e5334809f5efa78eebe8e8ff342f10851f107f9.1700221559.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3e5334809f5efa78eebe8e8ff342f10851f107f9.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7396:EE_
X-MS-Office365-Filtering-Correlation-Id: 200bb42b-56a4-4034-18bf-08dbeaaa9ef7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jM/1XAZ9FpfTDMWC2hFdfkLIZ87BhnQGnYTqQGeMzXcV03aOIuJEs5KiwwxE71ALmvmVOistxAWDkfnaiSbFhQ3973FzaJ5HIjt2AUFRZCxRmjIlb0jDrVR5gVoBWjmX4KN3aX2v1NS7p2uXjumhqzV9iwPhVWzrZY4M+AdwlR6aQuACfbykUhqaNpxju1hKig3F9oXyFJECpqhExDinHjK666v9iok5XM/JtYkTvRxCAUyxOWyYrLp8Mlhk+e4STpJERGS+IytbCh6Q64aAdm2+YymhTLUMMN1l6EpDbagdWuAfnhXnjXkpHenU+oeqkbo04JNd7NTZeaa6eLoevXxbcoVkUoyM0WxHLufugCYZtZuZQfGWcqGxGdzwCIgpIdVIRI2IMjrk/7yHJrkkZijHLJr8a3vP6Y7ymAFdKIIIvsAQGh3SNlaoAiKvf+UTUH3InEs9XynPi7/GbfQO9TvYPVjrsa7YAPoikd+u9CPfTBHGd2SlmqX82dm2ltuiRFMCXcseKVov5gLdyuAJ7Lwwi+xENGqcspLxAz0X6oef0YoQGruuZHuYoS2Qr9oHbVoLUxDsMpHP4/X6lk2ZhbuhZ4S8bZ2zphzeW/gfbmgbujxsq+Mn1a15DEcuewnA4uFrNkoUTljr/KEmuhX9CwFajt9RR8arLCTx5oJ5FIY=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(136003)(366004)(396003)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(26005)(41300700001)(36756003)(86362001)(5660300002)(4744005)(31696002)(7416002)(2906002)(6512007)(31686004)(6486002)(478600001)(6506007)(4326008)(53546011)(8936002)(38100700002)(66946007)(316002)(8676002)(6916009)(66476007)(54906003)(66556008)(2616005)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RHJOVHZCUFEwTWZWVExYN2V4Q3dHUWNkZEMvWEkwMnY2R3ZzWWRPMWFFeHVt?=
 =?utf-8?B?S2RXcHhRSWxZZzZDMVVicjN0OUphcFNsZzN3V2huK203MU1UdzRwTkw2NVhy?=
 =?utf-8?B?Y1A3KzZRSjlLQkV2V3Z3alkzbEZGM0JxSm5oRkh4ak1lcG1DYUpoc0xlUHNt?=
 =?utf-8?B?ekJWdlN2R05OenVYQmFDSHRnMmhrek82M2hqdGhHMDZZTklSZWI5dEJYOENS?=
 =?utf-8?B?UGljbGlpaHgwa3dtcnpmWFo4cEYxM09HSmpnR2dLWEFwRXZaenNPNENWU0du?=
 =?utf-8?B?UDNLVm9xOUNkWXd0YVZOQjd6Z05xTml1dFc5RkNsR2FZOThiMW91YU9JY093?=
 =?utf-8?B?N1pPOWt0MTRnU1M4NUl0MWlmY0FJRnlMaCtKNHdsMzF3WVo0OHVCZ0JGbms1?=
 =?utf-8?B?THZtbGZDL01WdElEYVlPcXpyUEZaRWFHQUNyOTd4MXJuRjRxM1VoRkdsWG5P?=
 =?utf-8?B?Wk9qaW5nTFY4SmNleW5HU0ZtYVFqNnhoRWkrekZCRXlxVEtQVVYwVXFhTzhz?=
 =?utf-8?B?UGJQcE54VjdtYmJHbzVIWklXcDNaZGppSjBxcVBFUWxvanA3Vk0zcmtQVFJp?=
 =?utf-8?B?SDJWajY2U2wwdWdUeWw1YU5TbFR4QTJRbU54eTFxR3V4RHZ3b0JBTG1KcUdZ?=
 =?utf-8?B?KzA2S21ISkpaeHV0U0wyTjNRRkFZOHJnOElBV01TSlZwSElIUHRZQVVOb3FD?=
 =?utf-8?B?djV5NTY3VFZqWlQ0a3h4cVh5enJIaXBqNmZxcDVaZTcwb2ZHT0FYdXN2eUcy?=
 =?utf-8?B?dENpTEN0VGdBRC9GRllpT0FjZnJ1YmtodlBzQ05aVnQ2RU5kRDFRZWxwY29x?=
 =?utf-8?B?cUloNVZNaWh2NXFvMXFpTk9YSDcvWHo2eUgyb0laVTRsQTM0dVYxVUFrVmsx?=
 =?utf-8?B?QjlCYkFtZDNVb3IyMkIxRjZ4WHRxN2s0NnlLRUp0TmFPZ0YrakUvRE5nRmhJ?=
 =?utf-8?B?SzF2UkRlMUh6OXdiTXFNbXpPN1JrSlBVM3o2bHBzWnVqUDdLWEI5OXV5QTc1?=
 =?utf-8?B?YTRTRjNvKzdOeDV3ZzFMV0xWWUNFbHU1MFh3TzdqY3hIM0FpQ2hPZ2tuYm9L?=
 =?utf-8?B?QVczaGJWeWgrTzZHMGREbklMK0hjcEJKcGp6Zklhc0hEM0JFWmtkMW9UTkh2?=
 =?utf-8?B?NUJ5eXc4RlVqNmM0d3RrVDNtTlhMT1AzYTc0MHBpc0VpaS9yNnJITGFXbkhw?=
 =?utf-8?B?NWpTSFF4bDVWbDZnNm11b25MVjM1T2FWM2pmV3JXb0ZqbWVkT0hURzNzN1Z3?=
 =?utf-8?B?SXdyZm44R3lmSUlnNUtGNHRQYmtwY1lPcmZ4VDl2TFY0V3k5K1FQS0dDanI0?=
 =?utf-8?B?YytKRW53WlpUWVpOcUZPTm5hVmlSYTA0N1V6Q3BKb0xyMVVhb3JBV0NuNW1O?=
 =?utf-8?B?M1E4b09rQ0FCZ2dhZVBEdm5PcHBMUWpDOEZLYWFDV2lKWmJtOWZXU0s0VUZO?=
 =?utf-8?B?eTdRdVNZaklyenNZYk1BN0dHZkc3dHlBM0oyazF6Y05YMXpiRWtzL21PZ1BP?=
 =?utf-8?B?cE5NSVozTGFvdk9LZnZuRHdHV29oYjFENzBXZ0ZNVTBlRyt1OU9xQVFuTnE2?=
 =?utf-8?B?WFBWYnQvSUltM0dlN0hEMGEzUXNUVnlGVGI1VFYvRHZPZEVVdFA0WmNlM2tn?=
 =?utf-8?B?aVRqUXpxU1BFbS9kQ01LbjFFOVZQam4wN1RYUEcrQWpxZ0JSa3hleENyNWxM?=
 =?utf-8?B?THJIWE93V0NseTM4MGlJV0dPVjd0OUZzWjJEWUtwTUkzdFBMaGpZVzU1Q2px?=
 =?utf-8?B?YkdJUVViMjMyYmY0dUpYRmtPYzJOTU5jWmY3eWNNYzRSVEJLdnUvS2xqMndi?=
 =?utf-8?B?ei9JRFRjbHZHQmhGcXY5SEpZVTVtWTk1MUV5VXpkWFZIWTNRY0FXVFMzOTBO?=
 =?utf-8?B?d2s0T3R3a3c5MGdDS3Y5ZUtvemFRUGVSY3ZwVnpzN2FCYnUvYVQ1U3dKOS9h?=
 =?utf-8?B?SDJUYXd2QlFSb1Z3Z2l4VUlCZkw2SFlDYzRrN3N1anlHT0kxQ3BGMEM3YmlT?=
 =?utf-8?B?RDB1b2xBL29jM1FUVEs2SmdYYkxWY1Q3cGZxTEYwR3EyVmlPdTRrZGNMbXB3?=
 =?utf-8?B?RnZXb2VBZnBoL1VSOGRLejBlb3Z2a3hQR01nS1kvdDRubHFYalI3WjZxRUF5?=
 =?utf-8?Q?knj6GelSO/rMScTkm9n2Ij5VA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 200bb42b-56a4-4034-18bf-08dbeaaa9ef7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 15:57:53.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: q7gKUhf/5pSR1DuVH69+4U2YvFX6cCnR5EN7X4AEvIBiY6SVP6CueLLylU9OFGVMch7OUL6iZxs15frnVBvVjA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7396

On 17.11.2023 13:24, Oleksii Kurochko wrote:
> <asm/hardirq.h> is common through archs thereby it is moved
> to asm-generic.
> 
> Arm and PPC were switched to asm generic verstion of hardirq.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Nov 21 15:59:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 15:59:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637939.994061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5T9W-00078n-PL; Tue, 21 Nov 2023 15:59:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637939.994061; Tue, 21 Nov 2023 15:59: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 1r5T9W-00078g-Ly; Tue, 21 Nov 2023 15:59:06 +0000
Received: by outflank-mailman (input) for mailman id 637939;
 Tue, 21 Nov 2023 15:59: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5T9V-000774-AL
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 15:59:05 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2072.outbound.protection.outlook.com [40.107.7.72])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e4a67ca2-8886-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 16:59:04 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7396.eurprd04.prod.outlook.com (2603:10a6:20b:1da::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 15:59:02 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 15:59: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: e4a67ca2-8886-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WqicUxu6SgWzWncMKe+mOTJW+RsKodDMp+EFQSfxGUidF/EkMe59rtkUpNRUkTEq2znjo6m6ZNrOXYwRyooCLKZUVoYOL7a9pmUQ9DK2r9F5lhn38BzSr9jnUXqF2oRRf6eeeYScsLoLw624Srci8UkcuBO+afJyS767xdore0uI8HDLzJLcERfaVgf4Di2pNFOqmxyryZXCvQZKqJtysId63pXLFpDs4XD1mpWn9EAjUJR/1nVUJpAMwUQRhAIAQGhRgjKMgQS6yHnRll8YuyfHWmtz/Dr2swndIiQNBfHM+CkPMClhq+6R6MuNVeiRCpD/QHNuV6BZFA7HEs0vnw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Nbniaed8oJVQiYFXzwkKjYo88w0s+o7OLfhaTesp88c=;
 b=h0dCVHhLpT722BynpobeAJPh+9hku4bE+qeHSGSpqKwLDMRPHo+eNMhh3q+iEaN4c4v6wRVtvveIovz4h+Mh5CmPVHNr0w3335NoDW/DR5wEOChcGj8XkL58b7hzyEG5fcyM1NpFXdzFTr+u6xmu6wvQhx0TcNQLaH4brZpGSX5hIFrBlQWn+IPaeZBk3bXBl28XincLHMO5T1DoH0U9ovlwHGlBmdgEVrGPIFH9fTp2WjqziDVBGxRaj4mwcAgiOzTu+MsWnfsLRvUYYEq7Qy7rvhV8smaG0VJ++FY8VFtGWuL94tshSVpa8Robz/5di4q8gebHz4OFuBcTBsuRpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Nbniaed8oJVQiYFXzwkKjYo88w0s+o7OLfhaTesp88c=;
 b=KebHr9aH2GTnnfF/FDml2COHflmSP6j96iWnxllpV3KFEy/jTe4AmVVq9uBU3JdfilnSmNdGhO2EnmlRtbC6aVeoaKpj9D9VUtRVoevbhb9gPSBOdFESucVJe+XXV5rYlabLXapiZg5C0Rk89iD1wQc529WwQWl5ccmRFRLAM/v3dHotF7c19OmpGljw3Ql15Kr9GGYnhDOYewRP19+D8u12isfN8J6lH0QjrNGJb/ZdjrQbukgZGTF9w26zgid+0FuGSASVBCReZraLZ/K9j0mYH2Cw+rHB3Jzxq9nztGGnjdAMcNSKGk0XTOSIqn4PtUOrv+woaY8z+llWp/M2kA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8a486065-75d9-43a0-8c9e-5af26c1e76d0@suse.com>
Date: Tue, 21 Nov 2023 16:59:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/14] xen/asm-generic: introduce generic div64.h
 header
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Shawn Anastasio <sanastasio@raptorengineering.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: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <13bf409f3191d066af9caef417011b6ea039dbd9.1700221559.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <13bf409f3191d066af9caef417011b6ea039dbd9.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0091.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7396:EE_
X-MS-Office365-Filtering-Correlation-Id: a148918e-4b15-4288-aeef-08dbeaaac800
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SLj9l2nbE3lnoqnFExkXbKPYIIa41Ht/q07tYCWQgp6FhocjZ11sifsHWW+MWvAQErPODsE3oReKP4I6yeye8d+yejm9wcfOvyKQ80fx3KbLhuTtw7WHsaRPx4aejiwzWdyVyETGq2g5goODjEzNgKRU4Fmd0LVbBmlFF+KCkIBGAk83vUhr/ASgn1MHP9ER75SactOEb47+gvagGQ1rnn6+B8DTYvvIQww9wwU2y9CHBFjcVKKJEFrDJT4D3Xc1eNEzmmMPTm0rJL4Cyh3Dpj9hD6On/pN3ky8+AhWcSVrZQIfSpZ6XdYkC/+m9jBn6fFDWHKbetb04rv1Zvqay8dq9ghTQkT3nYq2BQd5w/RlMO2GavgEwHGfvNtlu0S0kVxVxm3bgRAFrdTBpzOvW0l22Tc2qfnbV/uPZnBtpUURHLLym2zm+tb45E8ylLGTOnH5fjibP/VHo5X6sloH9f/qmJ3OiADoCJzYXv8lygHA1oTsBcNlg9rXQ64fGNAq85RnDRPWfWWik53tbTcWr9Mz4em7AZaXyQrtDctCYzat5H9yTtk8rdwCzKTd+cav1WbOcOFCwsA1T+mpzwZ9l75U2z0Z6Orl9VmssPvLr+oaWQq4F95A0xRMwDPy93c/lVQ+80JLwWkV2CBY52POxrMEau0u8wziHCL9iS9A0AGg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(136003)(366004)(396003)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(26005)(41300700001)(36756003)(86362001)(5660300002)(4744005)(31696002)(2906002)(6512007)(31686004)(6486002)(478600001)(6506007)(4326008)(53546011)(8936002)(38100700002)(66946007)(316002)(8676002)(6916009)(66476007)(54906003)(66556008)(2616005)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHhEa2tlaENFeGUwaFh4RE1yMnJEMERFc095aWxTWGJ2OFNDNHpFWTg1U3l2?=
 =?utf-8?B?czNZYnZuOXdUZGY4eHA2ZXU2T2tYWTB3QzNDM2M0VDNnYkpRbnBnRUJpZlhM?=
 =?utf-8?B?bTZsN1hMdk1EYTJTUXA2ZTYvaWtnMGxWVW1nTm1ydHBUdFhFRE1SRDRrVXVw?=
 =?utf-8?B?dE5PZDJWTzk0SHRYTldMS1J5WHBsRkNDSzYzTWR1VWY4d3l2Q0l6anROc3lo?=
 =?utf-8?B?R3hFZmdhc1NzdEh2cVM3VkhiNDJNWFRhbW0xT3dmb0ZsQ09kWkNmSDRlNUQ4?=
 =?utf-8?B?UzhTekg5ckNpdGJURkQwSXNIN2FBZnJ2QjB5Y2ZPRE5PRTdLYlgwZzNDWWZs?=
 =?utf-8?B?SWJWN2F4Q3hWSjhVSmtBOU1EM21nbjFhaCt1bHFUUDNQeXRudlZqc0V1T2FG?=
 =?utf-8?B?bUFkd1FZQ0NNR080ZkI2MkQzbzRsTE5xNkpzZjNnQmx1eGMzTzdZOEpLcGQ5?=
 =?utf-8?B?bUFrOTZEWi9NcEpZT0ZpdjFuUmIzYW1pM1dBMU9zNmxBYzc0ekpYMG5OZFY2?=
 =?utf-8?B?RU9NOW0xdm8vTjdSdnlsOTgvR05sbnRJam5vRDNvL1c1SXdBa1c0UXpUUUhW?=
 =?utf-8?B?clZjUlkrU3k5V3ZDaTRWalJaeHBKRzhUVUtmTmRGc2hZazJyWUhaR0dHSEd3?=
 =?utf-8?B?NVUrYU1aMnJjUVhXaDliQUgrRHp3VENhazhvSklNdU04SEZvb1RuV2pDb3dy?=
 =?utf-8?B?anZrRmpDVVQ2WDhQRW5tdVpTN05EYThOSXdRdFBiRUZoZU9PNm4vc0ZTTHNn?=
 =?utf-8?B?VnZ6T2hiVWl3eTEreEhvTEs4UlY1eEFhNkRPendteTdkbkhCb1d1NXFkSFlG?=
 =?utf-8?B?SGJXaUYxWnF0RmZ1TlFIeVJadklrb0F2cnMyaFQ1ZXFxekY5QVZKUGYzWjN1?=
 =?utf-8?B?aVlTUjVrdjZ5U1BMakZIbFdPWjcwc3ZpdjdySTkxWUp4eFBaNXlUNGZNaEZi?=
 =?utf-8?B?MFJpU3czYmVQWUl1UWkwQ0c0em5aTEh0U29RVlMrdGp0TExIZEZOWEpkb1kz?=
 =?utf-8?B?cnFhY3BYeCtGYm9KeGlWUkVmWGRUUm04Rk1VS0RPcks0c1B4TlNtYVpXQVF2?=
 =?utf-8?B?S3FLY08rK0FTWE1SMksyQnJDeDJsQjN0Vk91cmlXQm5yQlQrbW9vY0ZkMkNs?=
 =?utf-8?B?aXFrRWlzZXl4KzEzN2lQWHJSblgrTkhxN0NnT2ExU3RqendBbXM0ckxYeVU0?=
 =?utf-8?B?bENhTTNkZzhPMDUwVWdFQUhXY1pMZlB2MHJ3ZVM2TTgzaFJwMXlWUFMyN3M5?=
 =?utf-8?B?ZHNURDM5Nk96M1IvbnBVL2xCVnh3NkxvMmtiUkF0bzJGcUZwQ0xOczh6a0FK?=
 =?utf-8?B?bjNUZjRqSDRpTWQ1WHBrZWlNTDZRR2thOC9jWXNHMnRvYXhyYUdCNFlpSXZo?=
 =?utf-8?B?NTA0WjNGNVVSc2N0OGx2SGpKcmtzclBTazI3UjBNeHVqZWJkSU5ZeTBrWjJ6?=
 =?utf-8?B?Sjl4NTFkbHpTNCswSURzbUNwL0dlK29paW5HRlY0ak1sOXpRNzQvU0c1WDhG?=
 =?utf-8?B?eVNJbFVBcVpnYWU0SnZjQUY0amRCeXNuSHJrTGx3V0JuUExPSUtrbWtEWm9N?=
 =?utf-8?B?RjdtdGhLbDV4NmVDOEEwWmxjbS9WbjgycXpoNmpYRG9BeUFTM2g3a2oxdEs2?=
 =?utf-8?B?b1crY2tRVGxNVnlkQ0dsM2IyeEUxMFk2SU52c2RmMlZIQWpRaU1FSkFRb0dT?=
 =?utf-8?B?ZVBadWhNR29lN0dzRnJxeDMzbTdYYmlwQlU5TkZBdzNPRDM0d1JoVGt4T0NC?=
 =?utf-8?B?a25yOE9JbHhMOW5sb2NPMTRsVEZOZVdPVUJNNWxCSUFLL2xqc3lmay9LTVJa?=
 =?utf-8?B?eUN5U043ZWRoaWtvVEJTUHhDRHRLVFUxWklIc2pQVzdzT2FxRGtlVEViUExM?=
 =?utf-8?B?R0l0aksySllsQ1R2V3h1ZVZVcTVyT0JqN21MRVNYMVlSUkc1QUx6SWRuQ0xC?=
 =?utf-8?B?QlRRU09ETXNuYTdhQVBUS1ZzNUhmUnNGazNEMmE5YVg4cjRhU2hQR1dDd09u?=
 =?utf-8?B?OUIzMml6bHBHNzBKVllQMG5idXdDaDZlbnpoNm0rNEFWTjhkVUc0MTB1Zzc1?=
 =?utf-8?B?eFlsbXU5ZlNuMlVIQjdzMmpNaW1rck82MVhYd0hSVVN5TENISmlkVEpTWDNE?=
 =?utf-8?Q?ZCAoiwT8lYqVjnx50rjWW+MkI?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a148918e-4b15-4288-aeef-08dbeaaac800
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 15:59:02.5125
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: StETC6HWrKDwsj0VIcusLBtnE0T+eEFSw99iWieDA2GRTbF1Tc/iYR8bdWijgklV8tIjumY6J+CXv9oZnJBquA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7396

On 17.11.2023 13:24, Oleksii Kurochko wrote:
> All archs have the do_div implementation for BITS_PER_LONG == 64
> so do_div64.h is moved to asm-generic.
> 
> x86 and PPC were switched to asm-generic version of div64.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:06:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637945.994070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TGT-0001R8-JJ; Tue, 21 Nov 2023 16:06:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637945.994070; Tue, 21 Nov 2023 16: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 1r5TGT-0001R1-GY; Tue, 21 Nov 2023 16:06:17 +0000
Received: by outflank-mailman (input) for mailman id 637945;
 Tue, 21 Nov 2023 16:06: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=U+4w=HC=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r5TGS-0001Qv-Mv
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:06:16 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20628.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e54c45d3-8887-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 17:06:14 +0100 (CET)
Received: from DB8P191CA0003.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:130::13)
 by GV2PR08MB8076.eurprd08.prod.outlook.com (2603:10a6:150:7a::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Tue, 21 Nov
 2023 16:06:09 +0000
Received: from DB5PEPF00014B95.eurprd02.prod.outlook.com
 (2603:10a6:10:130:cafe::c7) by DB8P191CA0003.outlook.office365.com
 (2603:10a6:10:130::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Tue, 21 Nov 2023 16:06:09 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B95.mail.protection.outlook.com (10.167.8.233) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.13 via Frontend Transport; Tue, 21 Nov 2023 16:06:07 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Tue, 21 Nov 2023 16:06:07 +0000
Received: from 968c50e7dfbb.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6BCF1A21-F45E-44E6-AE0B-7F4000E29B79.1; 
 Tue, 21 Nov 2023 16:05:57 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 968c50e7dfbb.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 21 Nov 2023 16:05:57 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by VE1PR08MB5693.eurprd08.prod.outlook.com (2603:10a6:800:1a5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 16:05:54 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%6]) with mapi id 15.20.7002.027; Tue, 21 Nov 2023
 16:05: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: e54c45d3-8887-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=TmKTjeVytJRpZOl1WpU59BrTEuczTkpllgFuitqGuwuq/yw13/oBUh3TtQW4WpIKcwyM2MlDZJH4jFbe2bhrxHUxkdB44LlEu9WA/KTGe2l043sHMfvC7GP/pqcNqtf85KysRYdSwL2xGXNt3XX+11SC8y1KGym0LSq5WtOGS1R5f0kq2j8XZ8iTJRh6CIiB31ja7fO88WG4huRa6OiOu1pQZzemCdbQeBQayIMjTWIdiBOHpfGxz39t51jajYoKt3/S84XQWgZ7GdWZMWnsmSgaQPD2tlrNk2TGyyQCGaWWFKAlazgqS5F0k3UB7mSWS9DX8Tyj6me3M0coui6sWA==
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=j2uoBRXBnqR95i1/bOvWv7MTcVU7IQa7bBw6rm7ixrQ=;
 b=j/Rsorc+bHYTAP2qUmTkj7nNjxpAW7ifBmqxVnaL9H5g9IMEHfgEXXmfFH65PA9Q+rt/ZrGZpD2bzEYZHMQUDO8F4QjmFwEoBsAKLVVm6loxUuLum8KysETB5C2vSSTb5BWiCAKDYLslr8HKINW6/rTNAEaERgOVC0rvk86fGxoC5mQjSmJuRF1E9DUvMl35NouqKg97XLxWt4LNOB09l7fXQZV5EqK8k1QlqdAzk46cxokWzHdXpMJSEmnDikRvezMgb0gnGTTa/NmDtDFYfDt7fn2ovDsr9Lt3C6kK6clOp2f/q9g/TVJ+UtWY8IPE0uxlYX1isuALofMTSuRwGg==
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=j2uoBRXBnqR95i1/bOvWv7MTcVU7IQa7bBw6rm7ixrQ=;
 b=VYdpQDge9ak9DVQNJwn0DcNyIA9LDjHSl++ANX2qVRSAPmCVKxVt+QpFFj6/cu0ixaYyu03yrBvtt+3L0zlKIPiPycmvvTPudjs0jwaKitCGUUMDccI4Hidnc8vxUgMV3CtwHuD/OmPZXes3VUs/HhregovFZ20KMGk6uPEx5OA=
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: 13ffe192c9f0026b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BYsq3t49tKgvjagNdvT5/2sCUB5JjCWNwszK5wSxSq7Z46HyvAr6ZtMqitjYAZXCexynGTM1fj3gWskwT0UDh9AoWJvUGjiQI8Mm2i9rlfkEJZQQeFOcsnwjazhqS04bqHoBmdlSu3dihJMF0UZAvV8PDvLKpHXSr3U1r+ABgXQ9lphDh7WgNGNWtCs742jXDGPJgnJBWP8/sYbcx6iI3p4aTCYQQrRQUYEUsDvFE0oKI7nd58vRajoTxGAE5j+dSkW8GHrd7LDfnAlNqInrlUR+Vf2AZF5Tb/fOVeD/L8TCxPLUv2dGvGxd7WoniPzcRH/ebfgeaC8hHdZlnazPsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=j2uoBRXBnqR95i1/bOvWv7MTcVU7IQa7bBw6rm7ixrQ=;
 b=mpIfDJ70kjjBxmCEV1VBo2A4Zcc29/z67BPwR9ZjVzaBjnR00lDf9Olw8VQwmEDnQ0lUsQw/mlmNhuBhyzj0bcwOc4yvZqYLQmubbAkKXz5+aDnmcEzLFBUyWW4FApViO3LBBQWT+vJIXZNpHLinNrvBtCcCOHr1nkl8l/CL82EJ05NIAjI/ZsSMKtB1Md53NcEGWNMr90o/d4g2p6Ylz2tCAFfoYJmSKPSer3sCnKOpC09UdFT5bN7LLHIVcqe41eU6Jrx9LRPRHIyyfaJzsBlcmt/jw8djrjU8wkQ1PAAWqQUKeIkeTyq/60H2GCFNkYumSwVYENiHm9Vw2ymnqA==
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=j2uoBRXBnqR95i1/bOvWv7MTcVU7IQa7bBw6rm7ixrQ=;
 b=VYdpQDge9ak9DVQNJwn0DcNyIA9LDjHSl++ANX2qVRSAPmCVKxVt+QpFFj6/cu0ixaYyu03yrBvtt+3L0zlKIPiPycmvvTPudjs0jwaKitCGUUMDccI4Hidnc8vxUgMV3CtwHuD/OmPZXes3VUs/HhregovFZ20KMGk6uPEx5OA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 2/3] xen/arm64: Move print_reg macro to asm/arm64/macros.h
Thread-Topic: [PATCH 2/3] xen/arm64: Move print_reg macro to
 asm/arm64/macros.h
Thread-Index: AQHaHF+S9b0wSZeiakukBngLLnFSxrCE8GoA
Date: Tue, 21 Nov 2023 16:05:54 +0000
Message-ID: <2D871DDF-8B3F-4F80-9D1F-1A341B1C60C7@arm.com>
References: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-3-michal.orzel@amd.com>
In-Reply-To: <20231121094516.24714-3-michal.orzel@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|VE1PR08MB5693:EE_|DB5PEPF00014B95:EE_|GV2PR08MB8076:EE_
X-MS-Office365-Filtering-Correlation-Id: 4f577bfd-f33d-4903-9bba-08dbeaabc587
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:
 Nuk6sm0DsPRc4UmYf4/heDd20wz3FnFfQcabmUT54Irji+28kkc3UyY6Pte38mt7aFGXVbJBMfEKQ+58ubNusIQf8hmqR0e3huAErrFtOHQtdyI4wQHju3pZLOcx1al8ufrSdri8KvIj7H0NJ8Y5GZ/a7as3z3TWH4xDZT+3PYYhYYAmGYb3qOoTHlE4SHGM1+dill//TPX5lO5AsVHUZYZSXZfKHfaardpoKVRSyhlQM9nuLOqcvM/D9wUa/rxItX4JD8Cjy2KHYC8zckVjoqtzJTz2WNgUlnMnqq7TX03CdKqLbb9d8DUq/kCndEvqcC/hD9+gDtf/WgZRTXJ/Qj09QfLR/faUI9Ezv8UHcGHpvXD76CNyJn5+z434EyWt4oXW6WQpOq5ZdS6Ah33/Q02dR6D4fto5JbExFZ1rFSiKilBcW7DtdJ8ZIoITWqYYiMq6yTv6zcq6w0mXXjF26ZRSnXSC8rtqGHfErWQj05FstTjy0LzjYmq+ETGgx7veUtXoUUe3VRN3rvq/S3gDwO5zCwQFBKmmdDOLWZudbp0wvA3FKJFs12Rh9xEjZqMakq+MbZrBlIo3sl7UnhHT0K1kKc0KtK5Sq8UkFbPJblkFYQKxzJgDn/Gjs+lcZsZSxHbISzR0Uso+dwWG6EwLXA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39850400004)(376002)(396003)(366004)(136003)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(316002)(6916009)(91956017)(66946007)(54906003)(66476007)(64756008)(66556008)(76116006)(66446008)(53546011)(36756003)(6512007)(71200400001)(6506007)(2616005)(6486002)(38070700009)(26005)(478600001)(38100700002)(122000001)(33656002)(86362001)(2906002)(5660300002)(4744005)(8936002)(4326008)(8676002)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <D62314924F3F9942AC82223EB3677BAC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5693
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:
 DB5PEPF00014B95.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	9593a2a0-fd6f-4f4f-24b7-08dbeaabbdd5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	5PaQgdeYl0Rxa0FCwYDWjQjV8dHTYSJZrvaXbMJ686Kg3l773AZXaJwdsvWGUgdRIIMbdsMjB8+JXRa5UZYs9ViFoVlDsZ5bqwM+wsWcXseMCTGUuot05f/RGsfu8TzpeyU8xoxRFsNCDLRKLPsrHFPK6a39lQuRjZ6DD7bt8XF+K5RYUV5br54BpyEv8ViDDdsixyHvWtpNLWARj6tRHTrFFyy//fKzW4pKEz56YdLHgy5W0s7uGBa+LWCuo6qHi9PmqtAK+wQ6q2y9y8YXS3Zk1tCyzgx0DtyKI6jmgtA11TDj/o2L4ewaC1hVRO1FDitYT+0AYEMIa/iur+8u+umaEyx00zVBSGrE5fNg558doMevll4amwCzT1N32E9h7vmQ5dC48TsZFUMDYIuTJ7Ue9VLNbSG+j1mL9YyP0TLoxbxdyltHG/tqBh0l3KRlv7c9nw23UtIKOr9quP5MGplxj2Rs1U9dPYRATl79OHRANRTl7iyLsg5/rKiP+PpU9xx7CeWW3QD/7WNodPSPePiup3nKdIrdgQzvGOHxulwXCM06jpUlRAR0IX+WErqtYyd5O2+7YuAcmAwD1Go8tCYe3ZKpygqcP3UWTrDNs8WMGyYPuy5suDT2DqrQKAQ1lrFbHsqwgDT/IQfS/79hW3vh5hut+oe2xJz/5Dk+gR+VUvVKsoitPrEhWQu0bv4goOkaHzaJ04vYnQ7XE/Is0aWuarLc6kIoOCxaHRBssw95YUbrCdGX6CQl1YKNDIh/
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:(13230031)(4636009)(396003)(136003)(346002)(376002)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(82310400011)(1800799012)(40470700004)(46966006)(36840700001)(4744005)(107886003)(5660300002)(4326008)(2906002)(26005)(2616005)(8676002)(8936002)(6862004)(86362001)(41300700001)(33656002)(40460700003)(47076005)(36756003)(356005)(81166007)(336012)(36860700001)(82740400003)(70586007)(316002)(53546011)(70206006)(54906003)(6506007)(40480700001)(478600001)(6486002)(6512007);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 16:06:07.7363
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4f577bfd-f33d-4903-9bba-08dbeaabc587
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:
	DB5PEPF00014B95.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8076

DQoNCj4gT24gMjEgTm92IDIwMjMsIGF0IDA5OjQ1LCBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnpl
bEBhbWQuY29tPiB3cm90ZToNCj4gDQo+IE1hY3JvIHByaW50X3JlZyBpcyB1c2VkIHRvIHByaW50
IGEgdmFsdWUgb2YgYSByZWdpc3RlciBwYXNzZWQgYXMgYW4NCj4gYXJndW1lbnQuIFdoaWxlIHRv
ZGF5IGl0IGlzIG9ubHkgdXNlZCBmcm9tIHdpdGhpbiB0aGUgY29tbW9uIGhlYWQuUywNCj4gaW4g
dGhlIGZ1dHVyZSB3ZSBtaWdodCB3YW50IHRvIG1ha2UgdXNlIG9mIGl0IGZyb20gb3RoZXIgZmls
ZXMsIGp1c3QNCj4gbGlrZSBQUklOVCgpLiBJdCBhbHNvIHNlcnZlcyBhcyBhIGdyZWF0IGFpZCB3
aGVuIGRlYnVnZ2luZy4NCj4gDQo+IEV4cG9zZSBwcmludF9yZWcgbWFjcm8gYnkgbW92aW5nIGl0
IHRvIGFzbS9hcm02NC9tYWNyb3MuaCBhbmQ6DQo+IC0gcmVuYW1lIHB1dG4gdG8gYXNtX3B1dG4g
dG8gZGVub3RlIHRoZSB1c2FnZSBmcm9tIGFzc2VtYmx5IG9ubHksDQo+IC0gdXNlIEVOVFJZKCkg
Zm9yIGFzbV9wdXRuIHRvIG1ha2UgaXQgZ2xvYmFsbHkgdmlzaWJsZSwNCj4gLSBnZXQgcmlkIG9m
IHVubmVlZGVkIHN0dWJzIGZvciBlYXJseV9wdXRzLCBpbml0X3VhcnQgYW5kIHB1dG4gc2luY2UN
Cj4gICB0aGUgY2FsbHMgdG8gdGhlbSBhcmUgYWxyZWFkeSBwcm90ZWN0ZWQgYnkgI2lmZGVmIENP
TkZJR19FQVJMWV9QUklOVEsuDQo+IA0KPiBUaGlzIHdheSB0aGUgYmVoYXZpb3Igd2lsbCBiZSBj
b25zaXN0ZW50IHdpdGggd2hhdCB3ZSBhbHJlYWR5IGRvIG9uIGFybTMyLg0KPiANCj4gU2lnbmVk
LW9mZi1ieTogTWljaGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNvbT4NCg0KSGkgTWljaGFs
LA0KDQpJ4oCZdmUgYWxzbyB0ZXN0ZWQgb24gRlZQDQoNClJldmlld2VkLWJ5OiBMdWNhIEZhbmNl
bGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+DQpUZXN0ZWQtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1
Y2EuZmFuY2VsbHVAYXJtLmNvbT4NCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:07:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637947.994080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5THa-000227-SQ; Tue, 21 Nov 2023 16:07:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637947.994080; Tue, 21 Nov 2023 16:07: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 1r5THa-000220-Px; Tue, 21 Nov 2023 16:07:26 +0000
Received: by outflank-mailman (input) for mailman id 637947;
 Tue, 21 Nov 2023 16:07: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5THZ-00021p-RL
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:07: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 0eac61dd-8888-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 17:07:23 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-507a55302e0so8277874e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:07:23 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 g6-20020a05600c310600b0040651505684sm17695960wmo.29.2023.11.21.08.07.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:07:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0eac61dd-8888-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700582843; x=1701187643; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=NF9Xc1vQVIRBbaoOjGN8yfS/Xm06izcWm1wb8FArGYU=;
        b=iamSxzRo9gjmhq3Th4el/IFtLNOg0SaCj8K8QyAJQyKsFtp5ms/m6Lqtx5yRxuMTRT
         GcZLavxCAWAhLaIeio/SGwWJpPEHuExZc05fgLAiE7mDm8LeVZy7zixgBiCMMFgjU22a
         K6IHBTb+NgLvadZH96j2VJ7YX0oOt+PX7BSLg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700582843; x=1701187643;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=NF9Xc1vQVIRBbaoOjGN8yfS/Xm06izcWm1wb8FArGYU=;
        b=QJgOkoe0eFljIkm7TLZao+yXFLdsubaxJMT3DF0d3xJAaFT0wIBrgqroldiosmY+p0
         xoLdysrOujJB39g+ae6aiPA0loH/Fo0NrLgv8igWwg3N8yrA+m44NYw/Vz1Twu8RpBuY
         FBHQIrELRKJSVDKH6gw3dhWzSdtx3X7xl/jASE434Fx1LJhpExaAhTKdOzuC9KA51zeD
         wxDy8cwRpb8rmAfqjNy+eOgoSuRbzZ1wDzLtm6s+iw0biKJVZXFoiQ3JRtMDMtLPnxS1
         ASXaA1Y2DS8J2i6GL0r7EXOTQpUlqjmRUTsmKuWQHtBR+X0FdjCe8/qcS5BerTSUf30V
         tRwQ==
X-Gm-Message-State: AOJu0YzcZ8UhuU82t+s4mtYJSwIm6BEDUvghsi2rts6V2MXD/ei4t1oZ
	9D4A3BYsND2Y8oTrVkmPX7pe5BxE2B5/w8GdUno=
X-Google-Smtp-Source: AGHT+IGJ/K0h/8JuUtXqeEexoyhoFFkIO3Nuhbj864r/ARJFFyJfiuh4180efykxo8aolLHoDcCsfA==
X-Received: by 2002:a19:c219:0:b0:50a:71e1:e1c9 with SMTP id l25-20020a19c219000000b0050a71e1e1c9mr7545356lfc.42.1700582843102;
        Tue, 21 Nov 2023 08:07:23 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 0/7] automation: minor fixes and improvements
Date: Tue, 21 Nov 2023 17:03:51 +0100
Message-ID: <20231121160358.8080-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

Some assorted minor fixes and improvements, as a result of work I'm
doing to expand the tests.

I've done a full run with the updated containers, and found no issues:

https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1080250168

Thanks, Roger.

Roger Pau Monne (7):
  automation: remove CR characters from serial output
  automation: remove com1= parameter on QEMU smoke tests
  automation: add Xen timestamps to all tests
  automation: fix jessie/stretch images to use archive.debian.org apt
    repos
  automation: update tests to use Debian Bookworm
  automation: set architecture in docker files
  automation: switch to multi-platform images when possible

 automation/build/alpine/3.18-arm64v8.dockerfile          | 2 +-
 automation/build/alpine/3.18.dockerfile                  | 2 +-
 automation/build/archlinux/current-riscv64.dockerfile    | 2 +-
 automation/build/archlinux/current.dockerfile            | 2 +-
 automation/build/centos/7.dockerfile                     | 2 +-
 .../build/debian/bookworm-arm64v8-arm32-gcc.dockerfile   | 2 +-
 automation/build/debian/bookworm-arm64v8.dockerfile      | 2 +-
 automation/build/debian/bookworm-cppcheck.dockerfile     | 4 ++--
 automation/build/debian/bookworm-i386.dockerfile         | 2 +-
 automation/build/debian/bookworm.dockerfile              | 7 ++++++-
 automation/build/debian/bullseye-ppc64le.dockerfile      | 2 +-
 automation/build/debian/buster-gcc-ibt.dockerfile        | 4 ++--
 automation/build/debian/jessie-i386.dockerfile           | 7 +++++++
 automation/build/debian/jessie.dockerfile                | 9 ++++++++-
 automation/build/debian/stretch-i386.dockerfile          | 9 ++++++++-
 automation/build/debian/stretch.dockerfile               | 9 ++++++++-
 automation/build/fedora/29.dockerfile                    | 2 +-
 automation/build/suse/opensuse-leap.dockerfile           | 2 +-
 automation/build/suse/opensuse-tumbleweed.dockerfile     | 2 +-
 automation/build/ubuntu/bionic.dockerfile                | 2 +-
 automation/build/ubuntu/focal.dockerfile                 | 2 +-
 automation/build/ubuntu/trusty.dockerfile                | 2 +-
 automation/build/ubuntu/xenial-xilinx.dockerfile         | 2 +-
 automation/build/ubuntu/xenial.dockerfile                | 2 +-
 automation/gitlab-ci/test.yaml                           | 4 ++--
 automation/scripts/qemu-alpine-x86_64.sh                 | 7 +++++--
 automation/scripts/qemu-smoke-dom0-arm32.sh              | 5 +++--
 automation/scripts/qemu-smoke-dom0-arm64.sh              | 5 +++--
 automation/scripts/qemu-smoke-dom0less-arm32.sh          | 5 +++--
 automation/scripts/qemu-smoke-dom0less-arm64.sh          | 5 +++--
 automation/scripts/qemu-smoke-riscv64.sh                 | 2 +-
 automation/scripts/qemu-smoke-x86-64.sh                  | 3 +--
 automation/scripts/qemu-xtf-dom0less-arm64.sh            | 5 +++--
 automation/scripts/qubes-x86-64.sh                       | 4 ++--
 automation/scripts/xilinx-smoke-dom0less-arm64.sh        | 4 ++--
 .../tests-artifacts/alpine/3.18-arm64v8.dockerfile       | 2 +-
 automation/tests-artifacts/alpine/3.18.dockerfile        | 2 +-
 .../tests-artifacts/kernel/5.19-arm64v8.dockerfile       | 2 +-
 automation/tests-artifacts/kernel/6.1.19.dockerfile      | 2 +-
 .../qemu-system-aarch64/6.0.0-arm64v8.dockerfile         | 2 +-
 .../qemu-system-ppc64/8.1.0-ppc64.dockerfile             | 2 +-
 41 files changed, 92 insertions(+), 52 deletions(-)

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:07:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:07:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637948.994091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5THd-0002Ht-5U; Tue, 21 Nov 2023 16:07:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637948.994091; Tue, 21 Nov 2023 16:07: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 1r5THd-0002He-28; Tue, 21 Nov 2023 16:07:29 +0000
Received: by outflank-mailman (input) for mailman id 637948;
 Tue, 21 Nov 2023 16:07: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5THb-00021p-GH
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:07:27 +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 0fbbaa00-8888-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 17:07:25 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40b2ad4953cso4230995e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:07:25 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 x18-20020a05600c421200b00406443c8b4fsm21325335wmh.19.2023.11.21.08.07.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:07:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0fbbaa00-8888-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700582845; x=1701187645; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vyHczbYeLDFcodZOosw2Bsnn9YyQbUPtyKgez7lH334=;
        b=cx9HQl6YymxWGOHPi5oF6bgbJi53aFxDVmkqDi6gLZZiH3PWUrAINCsHJLsy4er+4p
         zkR0hblAWhMJlCW5Lei+mEmmXPiq4KnkX2/PIejI8qR82rQV0cETY7YdGmnt4QzeJDZx
         zeN1iinRPHp6ulOERWzWYx6iX7c5XOc01yHMI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700582845; x=1701187645;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=vyHczbYeLDFcodZOosw2Bsnn9YyQbUPtyKgez7lH334=;
        b=bDKp7OrN/fffyRyEVwkw1acfKmdg8Ulc/5xHWIXrUQE2LMyf8w+rvETobXvetw+F2a
         bRm2sbZvnUO2jn2dmLGmIBlU+hrwZrNxh2x9nKHwHOTm+FUgGkgqUGmPyfWEMJNxZ6YX
         AWbbj1TZ3Qro/Hw+Fme9bs5nVfQmL+ZBogOy0iSqtgFHc5b6hMkmMa5n7JoAKP2i0gzK
         UKRNiTZHfyvzpkOqE7a7OM+/TYev4ek/lHKhpaP30kf9GiDKOguvq5Y1H6sCDqRpBOd1
         IYahMwHTgawar+tRrQVXe4RBdM0ZAFtMwpUuBshntz+GJd+8olCMCoyaN3wofKQTDVTI
         GuOQ==
X-Gm-Message-State: AOJu0YwrbKKWn6QS96NkusiM8xfjEtYV6K8TZFvtsZC9UTWlfmP7XgoK
	tBQZJUH96LJiHO4j+5/vJByzKqvUs6guOKxSzQQ=
X-Google-Smtp-Source: AGHT+IGF3zGNzPN2SUkbkGYb+XSaNlHF+zriNTQCshiisKof9rgKjrHKyQblHwnsxukotcqyYKYNtA==
X-Received: by 2002:a05:600c:4743:b0:406:51a0:17ea with SMTP id w3-20020a05600c474300b0040651a017eamr2817864wmo.10.1700582844881;
        Tue, 21 Nov 2023 08:07:24 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 1/7] automation: remove CR characters from serial output
Date: Tue, 21 Nov 2023 17:03:52 +0100
Message-ID: <20231121160358.8080-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231121160358.8080-1-roger.pau@citrix.com>
References: <20231121160358.8080-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The gitlab CI webpage seems to have issues displaying the \CR\CR\LF "\r\r\n"
sequence on the web interface used as line returns by the Linux kernel serial
output.  This leads to the QEMU tests output looking like:

(XEN) Guest Loglevel: Nothing (Rate-limited: Errors and warnings)
(XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch input)
(XEN) Freed 664kB init memory
mapping kernel into physical memory
about to get started...
qemu-system-x86_64: terminating on signal 15 from pid 52 (timeout)

This not helpful, so strip the CR characters from the output that goes to
stdout, leaving the output in the serial output file untouched.

All usages of `tee` are adjusted to strip CR from the output.

Fixes: 3030a73bf849 ('automation: add a QEMU based x86_64 Dom0/DomU test')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v1:
 - Attempt to fix all usages of tee.
---
 automation/scripts/qemu-alpine-x86_64.sh          | 5 ++++-
 automation/scripts/qemu-smoke-dom0-arm32.sh       | 3 ++-
 automation/scripts/qemu-smoke-dom0-arm64.sh       | 3 ++-
 automation/scripts/qemu-smoke-dom0less-arm32.sh   | 3 ++-
 automation/scripts/qemu-smoke-dom0less-arm64.sh   | 3 ++-
 automation/scripts/qemu-smoke-riscv64.sh          | 2 +-
 automation/scripts/qemu-xtf-dom0less-arm64.sh     | 3 ++-
 automation/scripts/qubes-x86-64.sh                | 2 +-
 automation/scripts/xilinx-smoke-dom0less-arm64.sh | 2 +-
 9 files changed, 17 insertions(+), 9 deletions(-)

diff --git a/automation/scripts/qemu-alpine-x86_64.sh b/automation/scripts/qemu-alpine-x86_64.sh
index 8c8d0b0cd759..a1c41c030a47 100755
--- a/automation/scripts/qemu-alpine-x86_64.sh
+++ b/automation/scripts/qemu-alpine-x86_64.sh
@@ -84,7 +84,10 @@ qemu-system-x86_64 \
     -monitor none -serial stdio \
     -nographic \
     -device virtio-net-pci,netdev=n0 \
-    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& tee smoke.serial
+    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& \
+        # Remove carriage returns from the stdout output, as gitlab
+        # interface chokes on them
+        tee smoke.serial | sed 's/\r//'
 
 set -e
 (grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1
diff --git a/automation/scripts/qemu-smoke-dom0-arm32.sh b/automation/scripts/qemu-smoke-dom0-arm32.sh
index e6f303064a83..281cae38b4bd 100755
--- a/automation/scripts/qemu-smoke-dom0-arm32.sh
+++ b/automation/scripts/qemu-smoke-dom0-arm32.sh
@@ -91,7 +91,8 @@ timeout -k 1 720 \
    -no-reboot \
    -device virtio-net-pci,netdev=n0 \
    -netdev user,id=n0,tftp=./ \
-   -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee ${serial_log}
+   -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& \
+      tee ${serial_log} | sed 's/\r//'
 
 set -e
 (grep -q "Domain-0" ${serial_log} && grep -q "^/ #" ${serial_log}) || exit 1
diff --git a/automation/scripts/qemu-smoke-dom0-arm64.sh b/automation/scripts/qemu-smoke-dom0-arm64.sh
index 0bf5cfdc61f9..bb3d3a6a816e 100755
--- a/automation/scripts/qemu-smoke-dom0-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0-arm64.sh
@@ -104,7 +104,8 @@ timeout -k 1 720 \
     -no-reboot \
     -device virtio-net-pci,netdev=n0 \
     -netdev user,id=n0,tftp=binaries \
-    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
+    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& \
+        tee smoke.serial | sed 's/\r//'
 
 set -e
 (grep -q "Domain-0" smoke.serial && grep -q "BusyBox" smoke.serial) || exit 1
diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh b/automation/scripts/qemu-smoke-dom0less-arm32.sh
index fb8f044a51f6..737adaf1a9ad 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm32.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh
@@ -137,7 +137,8 @@ timeout -k 1 240 \
     -no-reboot \
     -device virtio-net-pci,netdev=n0 \
     -netdev user,id=n0,tftp=./ \
-    -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& tee ${serial_log}
+    -bios /usr/lib/u-boot/qemu_arm/u-boot.bin |& \
+        tee ${serial_log} | sed 's/\r//'
 
 set -e
 (grep -q "${dom0_prompt}" ${serial_log} && grep -q "${passed}" ${serial_log}) || exit 1
diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index 75f575424a4e..b5ce7efdd44e 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -201,7 +201,8 @@ timeout -k 1 240 \
     -no-reboot \
     -device virtio-net-pci,netdev=n0 \
     -netdev user,id=n0,tftp=binaries \
-    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
+    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& \
+        tee smoke.serial | sed 's/\r//'
 
 set -e
 (grep -q "^Welcome to Alpine Linux" smoke.serial && grep -q "${passed}" smoke.serial) || exit 1
diff --git a/automation/scripts/qemu-smoke-riscv64.sh b/automation/scripts/qemu-smoke-riscv64.sh
index 4008191302f9..f90df3c051e9 100755
--- a/automation/scripts/qemu-smoke-riscv64.sh
+++ b/automation/scripts/qemu-smoke-riscv64.sh
@@ -13,7 +13,7 @@ qemu-system-riscv64 \
     -nographic \
     -m 2g \
     -kernel binaries/xen \
-    |& tee smoke.serial
+    |& tee smoke.serial | sed 's/\r//'
 
 set -e
 (grep -q "All set up" smoke.serial) || exit 1
diff --git a/automation/scripts/qemu-xtf-dom0less-arm64.sh b/automation/scripts/qemu-xtf-dom0less-arm64.sh
index 3ec9cf74e129..0c4578eda66e 100755
--- a/automation/scripts/qemu-xtf-dom0less-arm64.sh
+++ b/automation/scripts/qemu-xtf-dom0less-arm64.sh
@@ -61,7 +61,8 @@ timeout -k 1 120 \
     -no-reboot \
     -device virtio-net-pci,netdev=n0 \
     -netdev user,id=n0,tftp=binaries \
-    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& tee smoke.serial
+    -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin |& \
+        tee smoke.serial | sed 's/\r//'
 
 set -e
 (grep -q "${passed}" smoke.serial) || exit 1
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index 51323b1ae040..adec0f1f25c7 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -200,7 +200,7 @@ cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
 # the console
 mkfifo /tmp/console-stdin
 cat /tmp/console-stdin |\
-ssh $CONTROLLER console | tee smoke.serial &
+ssh $CONTROLLER console | tee smoke.serial | sed 's/\r//' &
 
 # start the system pointing at gitlab-ci predefined config
 ssh $CONTROLLER gitlabci poweron
diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
index 075305241c8d..2bf786f6ee86 100755
--- a/automation/scripts/xilinx-smoke-dom0less-arm64.sh
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -136,7 +136,7 @@ cd $START
 # connect to serial
 set +e
 stty -F /dev/ttyUSB0 115200
-timeout -k 1 120 nohup sh -c "cat /dev/ttyUSB0 | tee smoke.serial"
+timeout -k 1 120 nohup sh -c "cat /dev/ttyUSB0 | tee smoke.serial | sed 's/\r//'"
 
 # stop the board
 cd /scratch/gitlab-runner
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:07:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637949.994101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5THe-0002Xm-Fo; Tue, 21 Nov 2023 16:07:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637949.994101; Tue, 21 Nov 2023 16:07: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 1r5THe-0002Xb-Ca; Tue, 21 Nov 2023 16:07:30 +0000
Received: by outflank-mailman (input) for mailman id 637949;
 Tue, 21 Nov 2023 16:07: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5THd-0002HT-0p
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:07:29 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 109b63d6-8888-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:07:27 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-32ddfb38c02so3846201f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:07:27 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 d16-20020adfe2d0000000b003316a2aedadsm14407752wrj.36.2023.11.21.08.07.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:07:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 109b63d6-8888-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700582846; x=1701187646; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iJZficHD89x4cEJe0EHwd87oUHCMM3lzh4Y4wqUEu3Q=;
        b=l9VAqEQpjoB+gyz75WfqPRkoIBG7614lQa0Yc5izp1AjYY8su0stG8vbeexj0vlCcU
         CMPKRcLwDSYR/YqQwS4wtIY6EAS6BTz/p6BdSRNoUGU/5r0HZ/08P5nPnzYaEsEe6y6I
         1GoNJ23NSM9D1A0dLSTcN4R/jIam13rI/ZStc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700582846; x=1701187646;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iJZficHD89x4cEJe0EHwd87oUHCMM3lzh4Y4wqUEu3Q=;
        b=a1EVC4/MN5CtG1k7661AE6jKvCoHvkwtkcO5ryopcXBRABgWL4OLwSElVx3lN6aZDA
         O5gaTKGHMQer/D3etNELk58XBvE4KtRN5xNUFyay3GaAr88lfwLrznNnSjnNIH0y7Lya
         uEhKwhEPvBQWRNNa5paMXXwSBOCZ1VPafq0hV2yNmfjohd3BGeVd+3v7RoS8Bt08xnt6
         x6gjAXxEFAUJbYckX3jnIC6MgpO30I8XRMMa9s5DVw6GlWrXTPjheXApQjhGznUwLH9c
         e/3KHJFL5CTOP4ww7uUAsiltOdmXfGU8zptealVregu5N4zTyvoi59zEZf8ZAETuV/En
         PomA==
X-Gm-Message-State: AOJu0Yx0HCBs5jVLzGUr7fGWEr4kNOZ4QBhPuO/GZ0bDK2iMDN1xF/BE
	7RcBlp/uaGQdCRhLgAGd8W6CzhUx4UCNfuZT7II=
X-Google-Smtp-Source: AGHT+IH7cKHvp9kQ5KXLOWumVBLQF/PDgqIFuk4ArUeuEBBFhUOM4SrpBmaYA1loyOj3TMHAHnRHrA==
X-Received: by 2002:adf:ce0c:0:b0:331:6c7a:73f with SMTP id p12-20020adfce0c000000b003316c7a073fmr7526716wrn.17.1700582846459;
        Tue, 21 Nov 2023 08:07:26 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 2/7] automation: remove com1= parameter on QEMU smoke tests
Date: Tue, 21 Nov 2023 17:03:53 +0100
Message-ID: <20231121160358.8080-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231121160358.8080-1-roger.pau@citrix.com>
References: <20231121160358.8080-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The serial is already setup by the firmware, be consistent with the rest of the
QEMU tests and don't specify a com1 setup.

Note it's also bogus, as the extra ',' will make the intended DPS argument to
be parsed as the io-base.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes in v2:
 - New in this version
---
 automation/scripts/qemu-smoke-x86-64.sh | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/automation/scripts/qemu-smoke-x86-64.sh b/automation/scripts/qemu-smoke-x86-64.sh
index 188ff8e3d658..3014d07314b9 100755
--- a/automation/scripts/qemu-smoke-x86-64.sh
+++ b/automation/scripts/qemu-smoke-x86-64.sh
@@ -19,8 +19,7 @@ set +e
 timeout -k 1 30 \
 qemu-system-x86_64 -nographic -kernel binaries/xen \
         -initrd xtf/tests/example/$k \
-        -append "loglvl=all com1=115200,,8n1 console=com1 noreboot \
-                 console_timestamps=boot $extra" \
+        -append "loglvl=all console=com1 noreboot console_timestamps=boot $extra" \
         -m 512 -monitor none -serial file:smoke.serial
 set -e
 grep -q 'Test result: SUCCESS' smoke.serial || exit 1
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:07:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637950.994110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5THf-0002ob-Pn; Tue, 21 Nov 2023 16:07:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637950.994110; Tue, 21 Nov 2023 16: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 1r5THf-0002oK-Ln; Tue, 21 Nov 2023 16:07:31 +0000
Received: by outflank-mailman (input) for mailman id 637950;
 Tue, 21 Nov 2023 16: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5THe-0002HT-5q
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:07:30 +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 11f26ba8-8888-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:07:29 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-409299277bbso23519455e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:07:29 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 m26-20020a05600c3b1a00b0040b2b38a1fasm1950957wms.4.2023.11.21.08.07.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:07:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11f26ba8-8888-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700582849; x=1701187649; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=/lNDRCElyOb258n1fKG7QxMoPmJ1R7ayXwBT54m1Rig=;
        b=FdQfT8Wu7jWhmvf3tNO4wsZ2chmhKoUmnlZGXM/d12gCF4KlYgRUuW0as6xfpgUaMR
         LV3SzN+dDjV6CIjb/Fhy0QyaQC74Ys9X4Qbz3Nnp6DonEEaGhPabmoch4npogbNoUqvx
         NIAySYR6uuz8M5aVFdF1gh+aVqTe0WtF84ihQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700582849; x=1701187649;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=/lNDRCElyOb258n1fKG7QxMoPmJ1R7ayXwBT54m1Rig=;
        b=E+2IL5kl05MWLFFfhQ2eASQHXE1jOW9onsOD8pfJlnQKMxhnzK96Nv7OeOE8/cl6zZ
         /irbVGKKQRg2GZfq5zRaPKkpmHxCgfGucw5zOips4LJ+CcDnn00L5y0YZRujliehLobE
         lxWV5rFCCTI38SF/dkqXg0RNGOJFpuJgYtZI9Ej/VXnRiByMUpQFJ/YyQ1Qwuo4nf5Fr
         xAwaO4R0PjLSXQJNspVkBHCfd7UjzLP7QXdxLyVVAgegS0g1yyJtvVGdsSZ8c/bWAWem
         k4z5dVN0kTQtMYR0YFndQY51GBnMO39lPS2nl1xeyRmaMx3qqNOMkhfj+kK4Ibtl/ChB
         mepw==
X-Gm-Message-State: AOJu0YyvfmOslf2d8QWe/Cv+S++gXoXo2k9l1Ht3Slrn5bFzJYsWsDEK
	9K7pJr0Ice4tArBPSoQs3RXHWP7M+plI2X2kFLM=
X-Google-Smtp-Source: AGHT+IG0JGH0X74kjT9rB/dTBZWAPOVFSXyvwrZVVW6hWpoBZM4xQMBtn0zfd+xCt195lg7P2JfNTQ==
X-Received: by 2002:a05:600c:3b25:b0:407:3b6d:b561 with SMTP id m37-20020a05600c3b2500b004073b6db561mr7605929wms.9.1700582848784;
        Tue, 21 Nov 2023 08:07:28 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 3/7] automation: add Xen timestamps to all tests
Date: Tue, 21 Nov 2023 17:03:54 +0100
Message-ID: <20231121160358.8080-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231121160358.8080-1-roger.pau@citrix.com>
References: <20231121160358.8080-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes since v1:
 - Expand to all tests.
---
 automation/scripts/qemu-alpine-x86_64.sh          | 2 +-
 automation/scripts/qemu-smoke-dom0-arm32.sh       | 2 +-
 automation/scripts/qemu-smoke-dom0-arm64.sh       | 2 +-
 automation/scripts/qemu-smoke-dom0less-arm32.sh   | 2 +-
 automation/scripts/qemu-smoke-dom0less-arm64.sh   | 2 +-
 automation/scripts/qemu-xtf-dom0less-arm64.sh     | 2 +-
 automation/scripts/qubes-x86-64.sh                | 2 +-
 automation/scripts/xilinx-smoke-dom0less-arm64.sh | 2 +-
 8 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/automation/scripts/qemu-alpine-x86_64.sh b/automation/scripts/qemu-alpine-x86_64.sh
index a1c41c030a47..8e398dcea34b 100755
--- a/automation/scripts/qemu-alpine-x86_64.sh
+++ b/automation/scripts/qemu-alpine-x86_64.sh
@@ -68,7 +68,7 @@ cd ../..
 cat >> binaries/pxelinux.0 << EOF
 #!ipxe
 
-kernel xen console=com1
+kernel xen console=com1 console_timestamps=boot
 module bzImage console=hvc0
 module xen-rootfs.cpio.gz
 boot
diff --git a/automation/scripts/qemu-smoke-dom0-arm32.sh b/automation/scripts/qemu-smoke-dom0-arm32.sh
index 281cae38b4bd..a4b487b08055 100755
--- a/automation/scripts/qemu-smoke-dom0-arm32.sh
+++ b/automation/scripts/qemu-smoke-dom0-arm32.sh
@@ -63,7 +63,7 @@ XEN="xen-qemuarm"
 DOM0_KERNEL="zImage"
 DOM0_RAMDISK="initrd.gz"
 DOM0_CMD="console=hvc0 earlyprintk clk_ignore_unused root=/dev/ram0 rdinit=/sbin/init"
-XEN_CMD="console=dtuart dom0_mem=1024M bootscrub=0"
+XEN_CMD="console=dtuart dom0_mem=1024M bootscrub=0 console_timestamps=boot"
 
 NUM_DOMUS=0
 
diff --git a/automation/scripts/qemu-smoke-dom0-arm64.sh b/automation/scripts/qemu-smoke-dom0-arm64.sh
index bb3d3a6a816e..e0bb37af3610 100755
--- a/automation/scripts/qemu-smoke-dom0-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0-arm64.sh
@@ -79,7 +79,7 @@ DEVICE_TREE="virt-gicv2.dtb"
 XEN="xen"
 DOM0_KERNEL="Image"
 DOM0_RAMDISK="xen-rootfs.cpio.gz"
-XEN_CMD="console=dtuart dom0_mem=1024M"
+XEN_CMD="console=dtuart dom0_mem=1024M console_timestamps=boot"
 
 NUM_DOMUS=0
 
diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh b/automation/scripts/qemu-smoke-dom0less-arm32.sh
index 737adaf1a9ad..7e3cfbe9c4d0 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm32.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh
@@ -89,7 +89,7 @@ MEMORY_END="0xC0000000"
 
 DEVICE_TREE="virt.dtb"
 XEN="xen"
-XEN_CMD="console=dtuart dom0_mem=512M bootscrub=0"
+XEN_CMD="console=dtuart dom0_mem=512M bootscrub=0 console_timestamps=boot"
 
 DOM0_KERNEL="vmlinuz"
 DOM0_RAMDISK="initrd.gz"
diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh
index b5ce7efdd44e..e748b8ef1699 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh
@@ -137,7 +137,7 @@ DEVICE_TREE="virt-gicv2.dtb"
 XEN="xen"
 DOM0_KERNEL="Image"
 DOM0_RAMDISK="dom0-rootfs.cpio.gz"
-XEN_CMD="console=dtuart dom0_mem=512M"
+XEN_CMD="console=dtuart dom0_mem=512M console_timestamps=boot"
 
 NUM_DOMUS=1
 DOMU_KERNEL[0]="Image"
diff --git a/automation/scripts/qemu-xtf-dom0less-arm64.sh b/automation/scripts/qemu-xtf-dom0less-arm64.sh
index 0c4578eda66e..a667e0412c92 100755
--- a/automation/scripts/qemu-xtf-dom0less-arm64.sh
+++ b/automation/scripts/qemu-xtf-dom0less-arm64.sh
@@ -33,7 +33,7 @@ MEMORY_END="0xC0000000"
 XEN="xen"
 DEVICE_TREE="virt-gicv2.dtb"
 
-XEN_CMD="console=dtuart"
+XEN_CMD="console=dtuart console_timestamps=boot"
 
 DOMU_KERNEL[0]="xtf-test"
 DOMU_MEM[0]="128"
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index adec0f1f25c7..d81ed7b931cf 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -185,7 +185,7 @@ TFTP=/scratch/gitlab-runner/tftp
 CONTROLLER=control@thor.testnet
 
 echo "
-multiboot2 (http)/gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G $extra_xen_opts
+multiboot2 (http)/gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G console_timestamps=boot $extra_xen_opts
 module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen
 module2 (http)/gitlab-ci/initrd-dom0
 " > $TFTP/grub.cfg
diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
index 2bf786f6ee86..4a071c6ef148 100755
--- a/automation/scripts/xilinx-smoke-dom0less-arm64.sh
+++ b/automation/scripts/xilinx-smoke-dom0less-arm64.sh
@@ -94,7 +94,7 @@ DEVICE_TREE="mpsoc_smmu.dtb"
 XEN="xen"
 DOM0_KERNEL="Image"
 DOM0_RAMDISK="dom0-rootfs.cpio.gz"
-XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=1024M"
+XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=1024M console_timestamps=boot"
 
 NUM_DOMUS=1
 DOMU_KERNEL[0]="Image"
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:07:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:07:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637951.994121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5THh-00035N-3K; Tue, 21 Nov 2023 16:07:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637951.994121; Tue, 21 Nov 2023 16: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 1r5THg-00035A-Vq; Tue, 21 Nov 2023 16:07:32 +0000
Received: by outflank-mailman (input) for mailman id 637951;
 Tue, 21 Nov 2023 16:07: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5THf-0002HT-Sj
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:07:31 +0000
Received: from mail-wr1-x436.google.com (mail-wr1-x436.google.com
 [2a00:1450:4864:20::436])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13103ef7-8888-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:07:31 +0100 (CET)
Received: by mail-wr1-x436.google.com with SMTP id
 ffacd0b85a97d-32deb2809daso3806328f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:07:31 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 s5-20020a5d6a85000000b0032d9f32b96csm14853384wru.62.2023.11.21.08.07.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:07:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13103ef7-8888-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700582850; x=1701187650; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Zve9S/zNHdwBw2V30BXX0bI9hFa3laVbPQCXzgAwKZY=;
        b=azPRsnV+JIiizgLQB8SbiL3mOOeueurCv3iZiiR6VrU4dug2YnuvO+Wr5YxV005ZDs
         Lk4xRDgsdhr4EETJSxr3snmgiNovjeSfxQfwFhJ40UE5EuZ30dkWt2XucGnUzjINMgAr
         B4VQsmPxzUl3GZMktJ0tpgE7MzL6A0EslEU9U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700582850; x=1701187650;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Zve9S/zNHdwBw2V30BXX0bI9hFa3laVbPQCXzgAwKZY=;
        b=K3W+M4jfmuGB1mVLIsbXDSoU+dgl+hEsjA4pto/M9Tk/2qP2YNNJdrYJgLx30/lt+o
         sIW9zDSrx5QibXCJ4Mbo45bZLlfm0PuyLJcE2EMBn1+K3choGKGeMwlBjifxzJLQCU1f
         gCTnP0PDsmhmomfOcXjt4vi+Z6p4vHnl2M2eQxfJqN3qnAejVbbn830G7w8/YGcAmFV+
         sVaQSCJgpGuY2cghBgmNMhaALRxfngJCwxD64jO2fka4W5v3K7DK5Hzte7Ie3aX4uFwJ
         Yg8syDkE6B9x5p6QJ4rouKZ9EsLSSyaVdGJz33C0qxF6qYLedv8Xw/+7YyJWo2UzmBfa
         q/QA==
X-Gm-Message-State: AOJu0YxkU4EFtbQ2WKvTL0pyT8ocPMjHyyrvqY62ml38EDc91akB3LIU
	WR8yLDrjtWX+HFR1eybRDG0DFydf2yHiIoIw83s=
X-Google-Smtp-Source: AGHT+IErMobG9xL0h/z8EpKFSlRL3LMKoISqgo9hKlJGkrTges2KLrZlwxs2ppW3XLytsTXK8kRhYg==
X-Received: by 2002:adf:d1c3:0:b0:332:c60a:95b5 with SMTP id b3-20020adfd1c3000000b00332c60a95b5mr4203509wrd.54.1700582850088;
        Tue, 21 Nov 2023 08:07:30 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 4/7] automation: fix jessie/stretch images to use archive.debian.org apt repos
Date: Tue, 21 Nov 2023 17:03:55 +0100
Message-ID: <20231121160358.8080-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231121160358.8080-1-roger.pau@citrix.com>
References: <20231121160358.8080-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Otherwise it's impossible to build the images.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
 automation/build/debian/jessie-i386.dockerfile  | 7 +++++++
 automation/build/debian/jessie.dockerfile       | 7 +++++++
 automation/build/debian/stretch-i386.dockerfile | 7 +++++++
 automation/build/debian/stretch.dockerfile      | 7 +++++++
 4 files changed, 28 insertions(+)

diff --git a/automation/build/debian/jessie-i386.dockerfile b/automation/build/debian/jessie-i386.dockerfile
index c9ac15a3ffd6..a8dec82bb299 100644
--- a/automation/build/debian/jessie-i386.dockerfile
+++ b/automation/build/debian/jessie-i386.dockerfile
@@ -10,6 +10,13 @@ WORKDIR /build
 
 ENTRYPOINT ["linux32"]
 
+# replace repos in archive as release is EOL
+RUN cat <<"END" > /etc/apt/sources.list
+deb http://archive.debian.org/debian/ jessie main contrib non-free
+deb http://archive.debian.org/debian/ jessie-backports main contrib non-free
+deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
+END
+
 # build depends
 RUN apt-get update && \
     apt-get --quiet --yes install \
diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
index 63b2c1e5b771..5c71c3e3ea75 100644
--- a/automation/build/debian/jessie.dockerfile
+++ b/automation/build/debian/jessie.dockerfile
@@ -8,6 +8,13 @@ ENV USER root
 RUN mkdir /build
 WORKDIR /build
 
+# replace repos in archive as release is EOL
+RUN cat <<"END" > /etc/apt/sources.list
+deb http://archive.debian.org/debian/ jessie main contrib non-free
+deb http://archive.debian.org/debian/ jessie-backports main contrib non-free
+deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
+END
+
 # build depends
 RUN apt-get update && \
     apt-get --quiet --yes install \
diff --git a/automation/build/debian/stretch-i386.dockerfile b/automation/build/debian/stretch-i386.dockerfile
index d93f74c979ef..9739651e25dd 100644
--- a/automation/build/debian/stretch-i386.dockerfile
+++ b/automation/build/debian/stretch-i386.dockerfile
@@ -10,6 +10,13 @@ WORKDIR /build
 
 ENTRYPOINT ["linux32"]
 
+# replace repos in archive as release is EOL
+RUN cat <<"END" > /etc/apt/sources.list
+deb http://archive.debian.org/debian/ stretch main contrib non-free
+deb http://archive.debian.org/debian/ stretch-backports main contrib non-free
+deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
+END
+
 # build depends
 RUN apt-get update && \
     apt-get --quiet --yes install \
diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
index 1af6c691f8f4..2f1a99f45017 100644
--- a/automation/build/debian/stretch.dockerfile
+++ b/automation/build/debian/stretch.dockerfile
@@ -8,6 +8,13 @@ ENV USER root
 RUN mkdir /build
 WORKDIR /build
 
+# replace repos in archive as release is EOL
+RUN cat <<"END" > /etc/apt/sources.list
+deb http://archive.debian.org/debian/ stretch main contrib non-free
+deb http://archive.debian.org/debian/ stretch-backports main contrib non-free
+deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
+END
+
 # build depends
 RUN apt-get update && \
     apt-get --quiet --yes install \
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:07:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:07:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637952.994130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5THi-0003Mf-B8; Tue, 21 Nov 2023 16:07:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637952.994130; Tue, 21 Nov 2023 16:07: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 1r5THi-0003Lg-6z; Tue, 21 Nov 2023 16:07:34 +0000
Received: by outflank-mailman (input) for mailman id 637952;
 Tue, 21 Nov 2023 16:07: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5THh-0002HT-D1
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:07:33 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 13cd31ab-8888-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:07:32 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-32f7c44f6a7so3812416f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:07:32 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 z5-20020adff745000000b0032d829e10c0sm14716194wrp.28.2023.11.21.08.07.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:07:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 13cd31ab-8888-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700582852; x=1701187652; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OCV+1zq9A+e30W/W/psof5muStM/6Aej39H0kYZVYUo=;
        b=KvUMJ5HEJnAoolT8OLtvG2dlX9Rrr1kZAY1v1gRHaOaoXamPG9BjEuBMwtpPgRpc46
         fBTCASG5i30v8pUCgm/uVmerxam1tGjTjK11jSj1kJB3Q6Z2QRu0MUp5F6uIg+yxPlTS
         P/WrmIwJ76HChz/svm2c6l/+UGFFWYU9tHoWw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700582852; x=1701187652;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OCV+1zq9A+e30W/W/psof5muStM/6Aej39H0kYZVYUo=;
        b=fH7jBATMR+eV5/SVQD+NUtghkfeVLCDBbGBXAGekLb9pX+oEQtPJhajKwoFiyilr3y
         aafqsplSdvmuP/U0142QTMmTA9fEuh+k2Axh0ykZUqKFmMkppN51gIKTM/6xpWsPJO6Y
         W2EoK+Tkl/+L5L/eak3AXzdZULi1f+lqGP1agQgaEeZFhPzrpv3l21t/g0Tz7LKNmLiV
         b6XbFaavKMN6qwosXh00ZQFHuCMcdZkX90k3LMpqJ7MrcHIEzEM7ymIwAt64bO+UW4Px
         Sqxfnyfg4dpiQpSOhNGssOYE0yt+6ROPzFjCEFYjtilR2Ky4/j+/VTJAKqmvWOS+NMR1
         h5wg==
X-Gm-Message-State: AOJu0YwMGCCN/MHckMIX98/PmyWbR0LfkSmYdolg7+vOawzDmJgX4ZGz
	0J0QD/7kVYgIPLF+DiHHPlQ/bFljifHLfKsbVtE=
X-Google-Smtp-Source: AGHT+IEQOv5XNaEPXVRMBZRZpRyl/CclL+IqVyae19Y0xgnqPjj+yBrIQEFhxFR0gPwVKEttSpeonQ==
X-Received: by 2002:a5d:5f56:0:b0:332:c9ed:cc2c with SMTP id cm22-20020a5d5f56000000b00332c9edcc2cmr5672108wrb.3.1700582851919;
        Tue, 21 Nov 2023 08:07:31 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 5/7] automation: update tests to use Debian Bookworm
Date: Tue, 21 Nov 2023 17:03:56 +0100
Message-ID: <20231121160358.8080-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231121160358.8080-1-roger.pau@citrix.com>
References: <20231121160358.8080-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Switch tests using Stretch to Bookworm, as Stretch is EOL.

Note the packages are not removed from the Stretch dockerfile, because the
tests in stable branches will run using the old containers.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
The Bookworm container needs to be updated to contain the required tools before
pushing this change.
---
 automation/build/debian/bookworm.dockerfile | 5 +++++
 automation/gitlab-ci/test.yaml              | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
index ae008c8d46e5..7aea081c13a9 100644
--- a/automation/build/debian/bookworm.dockerfile
+++ b/automation/build/debian/bookworm.dockerfile
@@ -46,6 +46,11 @@ RUN apt-get update && \
         gnupg \
         apt-transport-https \
         golang \
+        # for test phase, qemu-smoke-* jobs
+        qemu-system-x86 \
+        # for test phase, qemu-alpine-* jobs
+        cpio \
+        busybox-static \
         && \
         apt-get autoremove -y && \
         apt-get clean && \
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 61e642cce0cc..6aabdb9d156f 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -43,7 +43,7 @@
 .qemu-x86-64:
   extends: .test-jobs-common
   variables:
-    CONTAINER: debian:stretch
+    CONTAINER: debian:bookworm
     LOGFILE: qemu-smoke-x86-64.log
   artifacts:
     paths:
@@ -130,7 +130,7 @@
 build-each-commit-gcc:
   extends: .test-jobs-common
   variables:
-    CONTAINER: debian:stretch
+    CONTAINER: debian:bookworm
     XEN_TARGET_ARCH: x86_64
     CC: gcc
   script:
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:07:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:07:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637953.994141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5THk-0003h6-LX; Tue, 21 Nov 2023 16:07:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637953.994141; Tue, 21 Nov 2023 16: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 1r5THk-0003gp-HR; Tue, 21 Nov 2023 16:07:36 +0000
Received: by outflank-mailman (input) for mailman id 637953;
 Tue, 21 Nov 2023 16:07: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5THj-0002HT-9A
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:07:35 +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 14a11839-8888-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:07:34 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2c5b7764016so69543181fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:07:34 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 e22-20020a5d5956000000b0032dbf6bf7a2sm14749789wri.97.2023.11.21.08.07.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:07:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14a11839-8888-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700582853; x=1701187653; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=8kmM/w/9TaHESzZwKotfNmIgZaxyBapwmYFaInyE/7U=;
        b=uMcSeF/wmhtKFVH608Sq/Hv+D7By8XCNaCPHkMlFLauc9lkwkUxxWxFZwFZnety0GL
         ftYxGNk2PDzShTA2TitKfFXlChRwYMiIgmM+XfyCu+dPlRko7Eat/v1ZYQbWagOGqdtc
         bC0/Erp7V+1UUUxEwrXpBem0FcqEaea5dtz+Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700582853; x=1701187653;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=8kmM/w/9TaHESzZwKotfNmIgZaxyBapwmYFaInyE/7U=;
        b=OudTBkfBuZDKJMVtmYJEtWbL9WKmYNNLJRU12dZnb+9RhNOuxxF77qsvbekKHAZLM+
         4wWJro5dmKgFLJGSDrg2rivzPotrSEtHVRHmIm66k/83osxrZaRfV13P1hRFrM8awr4q
         LTuTWcM9Zoy4r2Ehk2yUhciCd0B1/hWm3YFBCLTVh5fEosHEqA78Cr+4K54EweT8FyUd
         rn5XY16POu3k2fO5I+DXK7HPHyvw+/4pekoSjgqqS8Tz9NHN81gtJyBUB3p/uxrJcP6r
         M4S4PY2eYBf2YWnFps7Nmd00+9+6vH59bL2yH9SoRsxapysMmowE4i+Z44RArup+8sy8
         MDyQ==
X-Gm-Message-State: AOJu0YzG6zcxn7OFnOrzp7herFJW+Sh9/hCNHTTyh3uZckUY/wmKKTLb
	JW1IXrYZEj7SZAVRxbp9bBXqTfeTPjrwKkle0mU=
X-Google-Smtp-Source: AGHT+IEti2nzUVhLiGjNIqWupHd4+A2qCCmv+0UoxlYvYGtBpB0v4kKRNlfFBufraWVlyrAflSYKWA==
X-Received: by 2002:a2e:2e10:0:b0:2c5:12c4:5ff with SMTP id u16-20020a2e2e10000000b002c512c405ffmr6899344lju.17.1700582853198;
        Tue, 21 Nov 2023 08:07:33 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 6/7] automation: set architecture in docker files
Date: Tue, 21 Nov 2023 17:03:57 +0100
Message-ID: <20231121160358.8080-7-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231121160358.8080-1-roger.pau@citrix.com>
References: <20231121160358.8080-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Pass the desired architecture of the image in the FROM instruction if the
image is possibly multi-platform.

This allows using the x86 Dockerfiles on OS X on arm64 hardware.

No functional change intended.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
I haven't touched the Yocto dockerfile because I'm not sure how it's used.
---
 automation/build/alpine/3.18.dockerfile                       | 2 +-
 automation/build/archlinux/current-riscv64.dockerfile         | 2 +-
 automation/build/archlinux/current.dockerfile                 | 2 +-
 automation/build/centos/7.dockerfile                          | 2 +-
 automation/build/debian/bookworm.dockerfile                   | 2 +-
 automation/build/debian/bullseye-ppc64le.dockerfile           | 2 +-
 automation/build/debian/buster-gcc-ibt.dockerfile             | 4 ++--
 automation/build/debian/jessie.dockerfile                     | 2 +-
 automation/build/debian/stretch.dockerfile                    | 2 +-
 automation/build/fedora/29.dockerfile                         | 2 +-
 automation/build/suse/opensuse-leap.dockerfile                | 2 +-
 automation/build/suse/opensuse-tumbleweed.dockerfile          | 2 +-
 automation/build/ubuntu/bionic.dockerfile                     | 2 +-
 automation/build/ubuntu/focal.dockerfile                      | 2 +-
 automation/build/ubuntu/trusty.dockerfile                     | 2 +-
 automation/build/ubuntu/xenial-xilinx.dockerfile              | 2 +-
 automation/build/ubuntu/xenial.dockerfile                     | 2 +-
 automation/tests-artifacts/alpine/3.18.dockerfile             | 2 +-
 automation/tests-artifacts/kernel/6.1.19.dockerfile           | 2 +-
 .../tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile  | 2 +-
 20 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/automation/build/alpine/3.18.dockerfile b/automation/build/alpine/3.18.dockerfile
index 5d2a69a06010..4ae9cb5e9e30 100644
--- a/automation/build/alpine/3.18.dockerfile
+++ b/automation/build/alpine/3.18.dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.18
+FROM --platform=linux/amd64 alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/archlinux/current-riscv64.dockerfile b/automation/build/archlinux/current-riscv64.dockerfile
index abf8e7bf0b88..af75b5c720ce 100644
--- a/automation/build/archlinux/current-riscv64.dockerfile
+++ b/automation/build/archlinux/current-riscv64.dockerfile
@@ -1,4 +1,4 @@
-FROM archlinux
+FROM --platform=linux/amd64 archlinux
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
index 47e79637a4a6..d974a1434fd5 100644
--- a/automation/build/archlinux/current.dockerfile
+++ b/automation/build/archlinux/current.dockerfile
@@ -1,4 +1,4 @@
-FROM archlinux:base-devel
+FROM --platform=linux/amd64 archlinux:base-devel
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/centos/7.dockerfile b/automation/build/centos/7.dockerfile
index 69dcefb2f011..ab450f0b3a0e 100644
--- a/automation/build/centos/7.dockerfile
+++ b/automation/build/centos/7.dockerfile
@@ -1,4 +1,4 @@
-FROM centos:7
+FROM --platform=linux/amd64 centos:7
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
index 7aea081c13a9..459f8e30bdc6 100644
--- a/automation/build/debian/bookworm.dockerfile
+++ b/automation/build/debian/bookworm.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bookworm
+FROM --platform=linux/amd64 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bullseye-ppc64le.dockerfile b/automation/build/debian/bullseye-ppc64le.dockerfile
index 4de8458445ae..6fdfb6bc2b40 100644
--- a/automation/build/debian/bullseye-ppc64le.dockerfile
+++ b/automation/build/debian/bullseye-ppc64le.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bullseye-slim
+FROM --platform=linux/amd64 debian:bullseye-slim
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/buster-gcc-ibt.dockerfile b/automation/build/debian/buster-gcc-ibt.dockerfile
index 96ab4fe8a2f1..6a3e50ef6b3f 100644
--- a/automation/build/debian/buster-gcc-ibt.dockerfile
+++ b/automation/build/debian/buster-gcc-ibt.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:buster-slim AS builder
+FROM --platform=linux/amd64 debian:buster-slim AS builder
 
 ENV DEBIAN_FRONTEND=noninteractive
 ENV USER root
@@ -41,7 +41,7 @@ RUN ./configure \
 RUN make -j`nproc` && make -j`nproc` install
 
 
-FROM debian:buster-slim
+FROM --platform=linux/amd64 debian:buster-slim
 COPY --from=builder /opt/gcc-11-ibt /opt/gcc-11-ibt
 
 LABEL maintainer.name="The Xen Project" \
diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
index 5c71c3e3ea75..32fc952fbc2d 100644
--- a/automation/build/debian/jessie.dockerfile
+++ b/automation/build/debian/jessie.dockerfile
@@ -1,4 +1,4 @@
-FROM debian/eol:jessie
+FROM --platform=linux/amd64 debian/eol:jessie
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
index 2f1a99f45017..e2706a8f3589 100644
--- a/automation/build/debian/stretch.dockerfile
+++ b/automation/build/debian/stretch.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:stretch
+FROM --platform=linux/amd64 debian:stretch
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/fedora/29.dockerfile b/automation/build/fedora/29.dockerfile
index e55b06a4517e..42a87ce6c84b 100644
--- a/automation/build/fedora/29.dockerfile
+++ b/automation/build/fedora/29.dockerfile
@@ -1,4 +1,4 @@
-FROM fedora:29
+FROM --platform=linux/amd64 fedora:29
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/suse/opensuse-leap.dockerfile b/automation/build/suse/opensuse-leap.dockerfile
index 7010b71acaa0..e1ec38a41445 100644
--- a/automation/build/suse/opensuse-leap.dockerfile
+++ b/automation/build/suse/opensuse-leap.dockerfile
@@ -1,4 +1,4 @@
-FROM opensuse/leap
+FROM --platform=linux/amd64 opensuse/leap
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/suse/opensuse-tumbleweed.dockerfile b/automation/build/suse/opensuse-tumbleweed.dockerfile
index 959e1f6939f0..38f6fda2ff1b 100644
--- a/automation/build/suse/opensuse-tumbleweed.dockerfile
+++ b/automation/build/suse/opensuse-tumbleweed.dockerfile
@@ -1,4 +1,4 @@
-FROM opensuse/tumbleweed
+FROM --platform=linux/amd64 opensuse/tumbleweed
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/bionic.dockerfile b/automation/build/ubuntu/bionic.dockerfile
index e15f54431efb..77d7f933860c 100644
--- a/automation/build/ubuntu/bionic.dockerfile
+++ b/automation/build/ubuntu/bionic.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:18.04
+FROM --platform=linux/amd64 ubuntu:18.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
index e3d11194ee2f..30a9b8e84ffe 100644
--- a/automation/build/ubuntu/focal.dockerfile
+++ b/automation/build/ubuntu/focal.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:20.04
+FROM --platform=linux/amd64 ubuntu:20.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/trusty.dockerfile b/automation/build/ubuntu/trusty.dockerfile
index 22e294c20cac..0d33578c4e1d 100644
--- a/automation/build/ubuntu/trusty.dockerfile
+++ b/automation/build/ubuntu/trusty.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:14.04
+FROM --platform=linux/amd64 ubuntu:14.04
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
index 5f7087135213..49f27b322995 100644
--- a/automation/build/ubuntu/xenial-xilinx.dockerfile
+++ b/automation/build/ubuntu/xenial-xilinx.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
+FROM --platform=linux/amd64 ubuntu:16.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile
index 2d2ba3e31f63..e8035434f804 100644
--- a/automation/build/ubuntu/xenial.dockerfile
+++ b/automation/build/ubuntu/xenial.dockerfile
@@ -1,4 +1,4 @@
-FROM ubuntu:16.04
+FROM --platform=linux/amd64 ubuntu:16.04
 LABEL maintainer.name="The Xen Project " \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/tests-artifacts/alpine/3.18.dockerfile b/automation/tests-artifacts/alpine/3.18.dockerfile
index 5f521572b8fb..f1b4a8b7a191 100644
--- a/automation/tests-artifacts/alpine/3.18.dockerfile
+++ b/automation/tests-artifacts/alpine/3.18.dockerfile
@@ -1,4 +1,4 @@
-FROM alpine:3.18
+FROM --platform=linux/amd64 alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
index d5b787c1cbb5..3a4096780d20 100644
--- a/automation/tests-artifacts/kernel/6.1.19.dockerfile
+++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bookworm
+FROM --platform=linux/amd64 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile b/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile
index 7376ca46ff8e..65857147bf4f 100644
--- a/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile
+++ b/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile
@@ -1,4 +1,4 @@
-FROM debian:bullseye-slim
+FROM --platform=linux/amd64 debian:bullseye-slim
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:07:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:07:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637954.994148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5THl-0003pZ-CF; Tue, 21 Nov 2023 16:07:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637954.994148; Tue, 21 Nov 2023 16: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 1r5THl-0003nc-4K; Tue, 21 Nov 2023 16:07:37 +0000
Received: by outflank-mailman (input) for mailman id 637954;
 Tue, 21 Nov 2023 16:07: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5THk-0002HT-1d
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:07:36 +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 15733784-8888-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:07:35 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-332c82400a5so1480015f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:07:35 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 m17-20020adfe0d1000000b0033130644c87sm14801636wri.54.2023.11.21.08.07.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:07:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15733784-8888-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700582854; x=1701187654; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uEHkZfP8Vk93WUZy/CvbiKHsPZUEyAKQIBsJDl8fhZA=;
        b=ARgAfC65YO2TaSzWnhArNwfwfTo+mx8+c1zpqfGHMi+8HoRUj7eKjDwr0ZC2YgmFAF
         ZHg1r7l/myVAUeRIjOje5u6NdQzJMTQUb9xF+LjSGJ96sqJl7nUUpJU+J3alMz6EsXmQ
         xJ1hd5l3HK9Ko7p/ejE61yqk1LwlJW5HjElT8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700582854; x=1701187654;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=uEHkZfP8Vk93WUZy/CvbiKHsPZUEyAKQIBsJDl8fhZA=;
        b=gc449QrB917dqc8sEIo17c9jL7hKXPnkZdWu7vfSBlMITNSWVsVCA3kflfhQiqAxBi
         aJ95/Wv2+uz5zlrn9YBplCp2AeLHVmrJJ5mL6v3iHiLGO8oWotmGjOa3IMeVgHVggB3W
         crfDxCdqiyHA6Ewd62Douy4oXa2SghJ0SgZiqOY0tXmauoqvxFxwkPKkjLN3hrH10TKY
         AiOYxy9sn6aCIoFMpzz1tRMK8QmFm5dhYLvx04R5+0+SsNwHEv1D8EKP/1AW8NpDZczN
         rMpZvWYeWZqU1z+U7GSh0HluvAozpKUBQvwzTqgFj9R6u2k3NT0JJBgQiy4B6X08KaPu
         niNQ==
X-Gm-Message-State: AOJu0YzDEFHauUbBWnE6b33ukVszhE52beilRJ79IZL1DehtaHV+81ek
	ZXk1o8iSas52Hpi8fKFY+mts/m9wLo/fRIGnEMM=
X-Google-Smtp-Source: AGHT+IGkrtAyvOGWa6GXLFYjUAB5u29bqv+S2LJhB5SrZlwIViqvtnMwT3R2dFPw6HJLE0pZ0kXbfA==
X-Received: by 2002:a05:6000:4028:b0:32f:7fe4:45f2 with SMTP id cp40-20020a056000402800b0032f7fe445f2mr8713276wrb.4.1700582854590;
        Tue, 21 Nov 2023 08:07:34 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 7/7] automation: switch to multi-platform images when possible
Date: Tue, 21 Nov 2023 17:03:58 +0100
Message-ID: <20231121160358.8080-8-roger.pau@citrix.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <20231121160358.8080-1-roger.pau@citrix.com>
References: <20231121160358.8080-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Instead of using specific architecture image, switch to using multi-arch ones
and specify the desired architecture using the --platform option.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
I haven't touched the Yocto dockerfile because I'm not sure how it's used.
---
 automation/build/alpine/3.18-arm64v8.dockerfile               | 2 +-
 automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile | 2 +-
 automation/build/debian/bookworm-arm64v8.dockerfile           | 2 +-
 automation/build/debian/bookworm-cppcheck.dockerfile          | 4 ++--
 automation/build/debian/bookworm-i386.dockerfile              | 2 +-
 automation/build/debian/stretch-i386.dockerfile               | 2 +-
 automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile     | 2 +-
 automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile     | 2 +-
 .../qemu-system-aarch64/6.0.0-arm64v8.dockerfile              | 2 +-
 9 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/automation/build/alpine/3.18-arm64v8.dockerfile b/automation/build/alpine/3.18-arm64v8.dockerfile
index 470f5d72a921..91e90220240f 100644
--- a/automation/build/alpine/3.18-arm64v8.dockerfile
+++ b/automation/build/alpine/3.18-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/alpine:3.18
+FROM --platform=linux/arm64/v8 alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
index b3295c435ed5..a05ffeac04f9 100644
--- a/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
+++ b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:bookworm
+FROM --platform=linux/arm64/v8 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bookworm-arm64v8.dockerfile b/automation/build/debian/bookworm-arm64v8.dockerfile
index 640b1e0eadf2..2c432aacb765 100644
--- a/automation/build/debian/bookworm-arm64v8.dockerfile
+++ b/automation/build/debian/bookworm-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:bookworm
+FROM --platform=linux/arm64/v8 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/bookworm-cppcheck.dockerfile b/automation/build/debian/bookworm-cppcheck.dockerfile
index d64fb7b18c66..633268376d56 100644
--- a/automation/build/debian/bookworm-cppcheck.dockerfile
+++ b/automation/build/debian/bookworm-cppcheck.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:bookworm AS builder
+FROM --platform=linux/arm64/v8 debian:bookworm AS builder
 
 ENV DEBIAN_FRONTEND=noninteractive
 ENV CPPCHECK_VERSION=2.7
@@ -24,7 +24,7 @@ RUN curl -fsSLO https://github.com/danmar/cppcheck/archive/"$CPPCHECK_VERSION".t
         FILESDIR=/usr/share/cppcheck \
         HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"
 
-FROM arm64v8/debian:bookworm
+FROM --platform=linux/arm64/v8 debian:bookworm
 COPY --from=builder /usr/bin/cppcheck /usr/bin/cppcheck
 COPY --from=builder /usr/share/cppcheck /usr/share/cppcheck
 
diff --git a/automation/build/debian/bookworm-i386.dockerfile b/automation/build/debian/bookworm-i386.dockerfile
index 559bf670f0f1..89a650338566 100644
--- a/automation/build/debian/bookworm-i386.dockerfile
+++ b/automation/build/debian/bookworm-i386.dockerfile
@@ -1,4 +1,4 @@
-FROM i386/debian:bookworm
+FROM --platform=linux/i386 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/build/debian/stretch-i386.dockerfile b/automation/build/debian/stretch-i386.dockerfile
index 9739651e25dd..da93fed8ea68 100644
--- a/automation/build/debian/stretch-i386.dockerfile
+++ b/automation/build/debian/stretch-i386.dockerfile
@@ -1,4 +1,4 @@
-FROM i386/debian:stretch
+FROM --platform=linux/i386 debian:stretch
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile b/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile
index cbd96d9bc6b0..94f69621f40e 100644
--- a/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile
+++ b/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/alpine:3.18
+FROM --platform=linux/arm64/v8 alpine:3.18
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
index a53a97d7277e..b0875ca0ddd1 100644
--- a/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
+++ b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:bookworm
+FROM --platform=linux/arm64/v8 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
diff --git a/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile b/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile
index e277e13b60b9..fb7b7b506e94 100644
--- a/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile
+++ b/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile
@@ -1,4 +1,4 @@
-FROM arm64v8/debian:bookworm
+FROM --platform=linux/arm64/v8 debian:bookworm
 LABEL maintainer.name="The Xen Project" \
       maintainer.email="xen-devel@lists.xenproject.org"
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:09:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:09:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637967.994160 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TJA-0006pE-KS; Tue, 21 Nov 2023 16:09:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637967.994160; Tue, 21 Nov 2023 16:09: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 1r5TJA-0006p7-HU; Tue, 21 Nov 2023 16:09:04 +0000
Received: by outflank-mailman (input) for mailman id 637967;
 Tue, 21 Nov 2023 16:09: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 1r5TJ9-0006nf-Py
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:09: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 1r5TJ9-0005ih-El; Tue, 21 Nov 2023 16:09:03 +0000
Received: from [15.248.3.117] (helo=[10.24.67.37])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r5TJ9-000293-8r; Tue, 21 Nov 2023 16: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>
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=9ZXEIuSLPZsqgdgEWEiHJCdGLgjBe8uQCip13yaTszM=; b=yHqMb8AkUjNWcMenXlK/CR2/gc
	oApSUDhsoiwgTeLUhJscQwtyTylhhsE0Zu5XGisIEDGZOrp3O1cJuAtajEe1hejEEf+40GxP23H96
	2gU22Ps+vWEkoWVdGnT7jSaTLOCZkSaBCDDb0h40xqo/SXegn7nsUlZ4dwp2h9ebTOLE=;
Message-ID: <cbe5470e-2017-4c4f-bd32-987da72aaf44@xen.org>
Date: Tue, 21 Nov 2023 16:09:01 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/arm64: head: Move earlyprintk 'hex' string to
 .rodata.str
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-2-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231121094516.24714-2-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 21/11/2023 09:45, Michal Orzel wrote:
> At the moment, the 'hex' string is placed right after the 'putn'
> function in the .text section. This is because of the limited range
> (+/- 1MB) of PC relative 'adr' instruction 'putn' uses. Modify it to use
> 'adr_l' instead (range extended to +/- 4GB) and move the string to
> .rodata.str. This way all the earlyprintk messages will be part of .rodata
> and the behavior will be consistent with what we already do on arm32.

This will be correct today, but I am actually thinking to move 'hex' to 
.rodata.idmap so it can be used while we are on the 1:1 mapping and/or 
temporary mapping.

So I would consider to drop this patch for now.

Cheers,

> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>   xen/arch/arm/arm64/head.S | 5 ++---
>   1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
> index 8dbd3300d89f..b6111399e766 100644
> --- a/xen/arch/arm/arm64/head.S
> +++ b/xen/arch/arm/arm64/head.S
> @@ -498,7 +498,7 @@ ENDPROC(asm_puts)
>    * Clobbers x0-x3
>    */
>   putn:
> -        adr   x1, hex
> +        adr_l x1, hex
>           mov   x3, #16
>   1:
>           early_uart_ready x23, 2
> @@ -512,8 +512,7 @@ putn:
>           ret
>   ENDPROC(putn)
>   
> -hex:    .ascii "0123456789abcdef"
> -        .align 2
> +RODATA_STR(hex, "0123456789abcdef")
>   
>   #else  /* CONFIG_EARLY_PRINTK */
>   

[1] https://lore.kernel.org/20231101233011.83098-3-julien@xen.org

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:16:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:16:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637980.994171 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TQ3-0001No-BX; Tue, 21 Nov 2023 16:16:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637980.994171; Tue, 21 Nov 2023 16:16: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 1r5TQ3-0001Nh-7o; Tue, 21 Nov 2023 16:16:11 +0000
Received: by outflank-mailman (input) for mailman id 637980;
 Tue, 21 Nov 2023 16:16: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 1r5TQ1-0001Nb-Qn
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:16: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 1r5TQ1-0005rN-IB; Tue, 21 Nov 2023 16:16:09 +0000
Received: from [15.248.3.117] (helo=[10.24.67.37])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r5TQ1-0002Vw-CB; Tue, 21 Nov 2023 16: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>
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=0k/dmhmxeKl5bd1+nyTbC5KvgF2oZrBPZBrurcD0JrQ=; b=SMdkE9aMZ5RFN1mI0hPO+TvKEf
	qXYC7Fnm3G/zwInFfvxp444owsaVsEfIhFzWd+gzlxmlkCyWrzJuACOf7niIFxaXimz5XrnG/0YSD
	WQWKL77aOy/HX7WBBVQM+PrwsXh1WfdM+8eNYgrT8J6Bu+jD0WnZ2vd5r+eofU71JLz8=;
Message-ID: <efbca156-948f-4fcb-98b9-05f13f8c076b@xen.org>
Date: Tue, 21 Nov 2023 16:16:08 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm64: Move print_reg macro to asm/arm64/macros.h
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-3-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231121094516.24714-3-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 21/11/2023 09:45, Michal Orzel wrote:
> Macro print_reg is used to print a value of a register passed as an
> argument. While today it is only used from within the common head.S,
> in the future we might want to make use of it from other files, just
> like PRINT(). It also serves as a great aid when debugging.
> 
> Expose print_reg macro by moving it to asm/arm64/macros.h and:
>   - rename putn to asm_putn to denote the usage from assembly only,
>   - use ENTRY() for asm_putn to make it globally visible,
>   - get rid of unneeded stubs for early_puts, init_uart and putn since
>     the calls to them are already protected by #ifdef CONFIG_EARLY_PRINTK.

NIT: The last one read as this is necessary to move print_reg() to 
asm/arm64/macros. But really, this is just a clean-up. So I would add 
something like "Take the opportunity to..." or similar to make it clearer.

Other than that:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:16:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:16:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.637981.994181 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TQJ-0001lm-IY; Tue, 21 Nov 2023 16:16:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 637981.994181; Tue, 21 Nov 2023 16:16: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 1r5TQJ-0001lf-Fv; Tue, 21 Nov 2023 16:16:27 +0000
Received: by outflank-mailman (input) for mailman id 637981;
 Tue, 21 Nov 2023 16:16: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 1r5TQH-0001lF-Kz; Tue, 21 Nov 2023 16:16: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 1r5TQH-0005s4-IU; Tue, 21 Nov 2023 16:16: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 1r5TQH-00073H-78; Tue, 21 Nov 2023 16:16:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5TQH-0004kS-6n; Tue, 21 Nov 2023 16:16: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=FsOYKiGmVeFdZscdZMMIAvybn2xHBZgvyTPgZqq5aW4=; b=578EFq6BmhLrJpDigXwPPi6WLd
	s57YHHrV+b4f0g0QxNFMtym5PF5uhzlTTLgjVqtKhYNalCk5z0VzytQtmQRvhUNTjg4JmVPD963lG
	fsKyZNYw84I8mnSOP1ojnkmrxp7mucOQyXikZSPRSwk/tz0B6/g/TkfQ6jqobGSzCN/c=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183805-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183805: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:migrate-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-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=98b1cc82c4affc16f5598d4fa14b1858671b2263
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Nov 2023 16:16:25 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                98b1cc82c4affc16f5598d4fa14b1858671b2263
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    5 days
Failing since        183773  2023-11-16 13:12:48 Z    5 days   12 attempts
Testing same since   183796  2023-11-20 02:25:43 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Simon Glass <sjg@chromium.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 8175 lines long.)


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:22:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:22:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638000.994191 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TVU-0004fd-9l; Tue, 21 Nov 2023 16:21:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638000.994191; Tue, 21 Nov 2023 16:21: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 1r5TVU-0004fW-6O; Tue, 21 Nov 2023 16:21:48 +0000
Received: by outflank-mailman (input) for mailman id 638000;
 Tue, 21 Nov 2023 16:21: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=f+q9=HC=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r5TVT-0004fQ-0D
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:21:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0eed4f14-888a-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 17:21:43 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id EA45F4EE073A;
 Tue, 21 Nov 2023 17:21:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0eed4f14-888a-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Tue, 21 Nov 2023 17:21:42 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, Wei Liu <wl@xen.org>, Paul
 Durrant <paul@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH] x86/vlapic: address a violation of MISRA C:2012 Rule
 16.2
In-Reply-To: <e40579ba-acae-4c11-bea1-a5b83208db10@suse.com>
References: <99114c15a4256e6a0f39bd6de232ee4b8ad9b587.1698239734.git.nicola.vetrini@bugseng.com>
 <e40579ba-acae-4c11-bea1-a5b83208db10@suse.com>
Message-ID: <da124cb67821884d76bab8e3a8e5a7dd@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-21 16:36, Jan Beulich wrote:
> On 25.10.2023 15:22, Nicola Vetrini wrote:
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -1034,10 +1034,10 @@ int guest_wrmsr_x2apic(struct vcpu *v, 
>> uint32_t msr, uint64_t val)
>>      case APIC_EOI:
>>      case APIC_ESR:
>>          if ( val )
>> -        {
>> -    default:
>>              return X86EMUL_EXCEPTION;
>> -        }
>> +        break;
>> +    default:
>> +        return X86EMUL_EXCEPTION;
>>      }
>> 
>>      vlapic_reg_write(v, array_index_nospec(offset, PAGE_SIZE), val);
> 
> Considering the plan to confine applicability of the rule, one style 
> aspect
> which would need to be taken into account is that the entire rest of 
> this
> switch() has blank lines between case blocks.
> 
> The other is that imo the overall result would be closer to what we 
> have
> right now if the new code was
> 
>     case APIC_EOI:
>     case APIC_ESR:
>         if ( !val )
>             break;
>         fallthrough;
>     default:
>         return X86EMUL_EXCEPTION;
>      }
> 
> at which point the need for the blank line would also disappear.
> 

This is also a fine solution. I'll keep this in mind when this patch 
will be revisited.

> As to the description - isn't this change (whichever way done) also
> addressing another violation, requiring "break" (or alike according to
> our interpretation) at the end of each case block?
> 

Correct. It's probably a good idea to mention that, but the 
"fallthrough" is also a candidate for a deviation from R16.3, so we'll 
see about that.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:24:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:24:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638015.994200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TYN-0006VE-NA; Tue, 21 Nov 2023 16:24:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638015.994200; Tue, 21 Nov 2023 16:24: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 1r5TYN-0006V7-KX; Tue, 21 Nov 2023 16:24:47 +0000
Received: by outflank-mailman (input) for mailman id 638015;
 Tue, 21 Nov 2023 16:24: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5TYL-0006V1-Rc
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:24:45 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b12783b-888a-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:24:44 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-32d895584f1so4067744f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:24:44 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 j3-20020a056000124300b0032f7e832cabsm14814210wrx.90.2023.11.21.08.24.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:24:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b12783b-888a-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700583884; x=1701188684; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=bqiesDvo4kLuIVNtEPM9rOdv7pmWMXtSj6dc9QiBJtI=;
        b=Newp2b8MZets2nVYEfTJd7nhKROtVYza9HmhuLvyLD9b0od+2Jx0w1bg95vNajkSX1
         SYG5AeqHzkPoR3WKrO17OPZupttyzzF8uErOphOTHIivyrt8s07bHj5y+Ty0/E9hf8D6
         7E1BVeUInLzTVzY0/TQbFOeVdhmf7BlpViurs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700583884; x=1701188684;
        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:subject:date:message-id:reply-to;
        bh=bqiesDvo4kLuIVNtEPM9rOdv7pmWMXtSj6dc9QiBJtI=;
        b=v8kjQOhyps/WhLfdCU8hdde7dGX6HXoHrq8Sg/CczGjDMPLINWXb4X3LcUwPmAa2KN
         xphAA+0BCYhXKkI8+PmrBeDvc8RLd1+1bz3qyz5+RE5+rljDcWN0DQ9BqvDlVtShm0HH
         S4Rq8t8A9GJFW5MN3own11B7zAb9p+VuZ46EmQMsHytehfLpHwiOeSZxVCr4fFSsFGmT
         vFfWSkhldTh3kBG3A4HqNhu0fF98qQ7N+yESW86winOrafxIhkN/H9cu3eY9Fw1Lf9Vh
         IZQzq3GchwYsKU6hCCllMGeh0Z30bKEM2iX2EURm47S9XkWYAM+fMVLdIrK+MRsz284G
         8mzw==
X-Gm-Message-State: AOJu0Yz4UUXhh5KTvbaymlpZC5hjl5/5VGCxnzaCWzdKPQsGtYivSyh5
	HIQIU5BPqHAdv6Pbz/KlaxYbZA==
X-Google-Smtp-Source: AGHT+IFLYJ6y8uS0p/tqLG+SyGRDWt6F7JKryU+PimKYbUKVdfi4me1qTY/MNAFO2QlSy1KMigNjJw==
X-Received: by 2002:a05:6000:1acc:b0:331:762e:6b0c with SMTP id i12-20020a0560001acc00b00331762e6b0cmr7630771wry.19.1700583884283;
        Tue, 21 Nov 2023 08:24:44 -0800 (PST)
Date: Tue, 21 Nov 2023 17:24:43 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [PATCH 2/5] x86/HVM: hide SVM/VMX when their enabling is
 prohibited by firmware
Message-ID: <ZVzZy-KYgdAsqRE3@macbook.local>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <b16802f5-13ae-47a0-b12d-604928f4cf7e@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b16802f5-13ae-47a0-b12d-604928f4cf7e@suse.com>

On Thu, Nov 16, 2023 at 02:31:05PM +0100, Jan Beulich wrote:
> ... or we fail to enable the functionality on the BSP for other reasons.
> The only place where hardware announcing the feature is recorded is the
> raw CPU policy/featureset.
> 
> Inspired by https://lore.kernel.org/all/20230921114940.957141-1-pbonzini@redhat.com/.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

> 
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -2543,6 +2543,7 @@ const struct hvm_function_table * __init
>  
>      if ( _svm_cpu_up(true) )
>      {
> +        setup_clear_cpu_cap(X86_FEATURE_SVM);
>          printk("SVM: failed to initialise.\n");
>          return NULL;
>      }
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -2163,6 +2163,23 @@ int __init vmx_vmcs_init(void)
>  
>      if ( !ret )
>          register_keyhandler('v', vmcs_dump, "dump VT-x VMCSs", 1);
> +    else
> +    {
> +        setup_clear_cpu_cap(X86_FEATURE_VMX);
> +
> +        /*
> +         * _vmx_vcpu_up() may have made it past feature identification.
> +         * Make sure all dependent features are off as well.
> +         */
> +        vmx_basic_msr              = 0;
> +        vmx_pin_based_exec_control = 0;
> +        vmx_cpu_based_exec_control = 0;
> +        vmx_secondary_exec_control = 0;
> +        vmx_vmexit_control         = 0;
> +        vmx_vmentry_control        = 0;
> +        vmx_ept_vpid_cap           = 0;
> +        vmx_vmfunc                 = 0;

Are there really any usages of those variables if VMX is disabled in
CPUID?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:25:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:25:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638021.994210 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TYx-000718-0C; Tue, 21 Nov 2023 16:25:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638021.994210; Tue, 21 Nov 2023 16:25: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 1r5TYw-000711-Tk; Tue, 21 Nov 2023 16:25:22 +0000
Received: by outflank-mailman (input) for mailman id 638021;
 Tue, 21 Nov 2023 16:25: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=zFE0=HC=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r5TYw-0006qb-22
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:25:22 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9031ed7c-888a-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 17:25:20 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5094727fa67so8068734e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:25:20 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 o28-20020a056512051c00b0050803043fc6sm1550579lfb.265.2023.11.21.08.25.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:25:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9031ed7c-888a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700583919; x=1701188719; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=47yycUsoKmn4Gh8IfmaxV44dJhmZh8poZtbNozqLB24=;
        b=GJNjHsq/arzvvB47JehbnjwD9DArwYGXrJ/LSy4M2YFq3yiiw1mgWBm9U7B+Y1bI0D
         vpUWzxB0SiQGYbVmcAzvkuUg+WxtZJuE1E7NFUzwfPz4t2tMgzxyvvyeYaP6sRLmeYcn
         MteFhsqEPY2MaEcM1HFExQIXiJToyKsNGtlrA1uQ26EjrBefT5vVC0/HiAkBzIymwKq0
         RBzpUQ62gioEL4GP9D/hTmCXR8L4vNaJiwVAIgyckfy5BkGcwCY6/wi8nrJqB3AXI5wA
         NtaMd1tVQAdSjq2NRgggWEiYDVLPnYt4kAGAZ42jdyzsY2zRrme303ol1VPyI529FcMc
         3NUg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700583919; x=1701188719;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=47yycUsoKmn4Gh8IfmaxV44dJhmZh8poZtbNozqLB24=;
        b=QoaGlZPSUTB5cJNUqKXE9ce1I96QWyvVoSU35vX3UOZdwXkr86sfTNx1dlvpIP760A
         L9tc7NZ0hIS6tBPZpo5+Wpp8BQ085EgKhLDdwwqTwe7TjANvF6ihVsJbvZQJyVzpFwaC
         3SlLyEegIAhJGQt+666mDWZ1arAw7+2Xt5gtO/Fh5Bco3otBeqSQ7IHiySVp61bTBnjJ
         2Kvf/z1VnCcagjxd7E6bm51xqfpGCgfkYyU/5tgSLB9T8SAxEQcIAHVMguRliM8pvetK
         ntsg8bfEl3mYiU/P6o/X5JKKHW/Dn9bCMU4BCa/ySCIAWyjCHWaOHmOzLXZCraBaI8pH
         AOEw==
X-Gm-Message-State: AOJu0Yx6MEtTxBc9tG9VGsA+YtLkUD2/n0odcYXWmJurO4w9PGVLqe19
	XvSrAklEP9Qn85UrClp/bFQ=
X-Google-Smtp-Source: AGHT+IE0EZryTku4UbHKMy4+a/nJN0XCSRzQhCIbvbrSTfhKh8QPg3xUbxw/EwkHEnU64wr3sNgu1A==
X-Received: by 2002:ac2:549c:0:b0:509:46ff:6e57 with SMTP id t28-20020ac2549c000000b0050946ff6e57mr8037689lfk.8.1700583919379;
        Tue, 21 Nov 2023 08:25:19 -0800 (PST)
Message-ID: <86606d584d55a29a27649f422fd086945727217b.camel@gmail.com>
Subject: Re: [PATCH v3 02/14] xen/asm-generic: introduce generic device.h
From: Oleksii <oleksii.kurochko@gmail.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
Date: Tue, 21 Nov 2023 18:25:17 +0200
In-Reply-To: <f2fc40bc-15b7-4810-b3da-f7ef64b6e798@suse.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
	 <65b267137539704df7f22b37e3b0a9b372a82b33.1700221559.git.oleksii.kurochko@gmail.com>
	 <f2fc40bc-15b7-4810-b3da-f7ef64b6e798@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Tue, 2023-11-21 at 16:43 +0100, Jan Beulich wrote:
> On 17.11.2023 13:24, Oleksii Kurochko wrote:
> > --- /dev/null
> > +++ b/xen/include/asm-generic/device.h
> > @@ -0,0 +1,147 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +#ifndef __ASM_GENERIC_DEVICE_H__
> > +#define __ASM_GENERIC_DEVICE_H__
> > +
> > +enum device_type
> > +{
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +=C2=A0=C2=A0=C2=A0 DEV_DT,
> > +#endif
> > +
> > +#ifdef HAS_PCI
>=20
> CONFIG_HAS_PCI?
Should be CONFIG_HAS_PCI. Thanks.

>=20
> > +=C2=A0=C2=A0=C2=A0 DEV_PCI,
> > +#endif
> > +};
> > +
> > +struct dev_archdata {
> > +=C2=A0=C2=A0=C2=A0 void *iommu;=C2=A0=C2=A0=C2=A0 /* IOMMU private dat=
a */
>=20
> #ifdef CONFIG_HAS_PASSTHROUGH around this field?
It makes sense to #ifdef iommu and iommu_fwspec fields. I'll add it.

>=20
> > +};
> > +
> > +/* struct device - The basic device structure */
> > +struct device
> > +{
> > +=C2=A0=C2=A0=C2=A0 enum device_type type;
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +=C2=A0=C2=A0=C2=A0 struct dt_device_node *of_node; /* Used by drivers =
imported
> > from Linux */
> > +#endif
> > +=C2=A0=C2=A0=C2=A0 struct dev_archdata archdata;
> > +=C2=A0=C2=A0=C2=A0 struct iommu_fwspec *iommu_fwspec; /* per-device IO=
MMU
> > instance data */
>=20
> Same here then?
>=20
> > +};
> > +
> > +typedef struct device device_t;
> > +
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +#include <xen/device_tree.h>
> > +#endif
> > +
> > +#ifdef HAS_PCI
> > +#define dev_is_pci(dev) ((dev)->type =3D=3D DEV_PCI)
> > +#endif
> > +
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +#define dev_is_dt(dev)=C2=A0 ((dev)->type =3D=3D DEV_DT)
> > +#endif
> > +
> > +enum device_class
> > +{
> > +=C2=A0=C2=A0=C2=A0 DEVICE_SERIAL,
> > +=C2=A0=C2=A0=C2=A0 DEVICE_IOMMU,
> > +=C2=A0=C2=A0=C2=A0 DEVICE_IC,
>=20
> What is IC here? (And thus: Is this generic enough to live here?)
It is Interrupt Controller. I think yes, it should live here and is
expected to use by Arm, RISC-V and PPC.

>=20
> > +#ifdef HAS_PCI
> > +=C2=A0=C2=A0=C2=A0 DEVICE_PCI_HOSTBRIDGE,
> > +#endif
> > +=C2=A0=C2=A0=C2=A0 /* Use for error */
> > +=C2=A0=C2=A0=C2=A0 DEVICE_UNKNOWN,
> > +};
> > +
> > +struct device_desc {
> > +=C2=A0=C2=A0=C2=A0 /* Device name */
> > +=C2=A0=C2=A0=C2=A0 const char *name;
> > +=C2=A0=C2=A0=C2=A0 /* Device class */
> > +=C2=A0=C2=A0=C2=A0 enum device_class class;
> > +=C2=A0=C2=A0=C2=A0 /* List of devices supported by this driver */
> > +=C2=A0=C2=A0=C2=A0 const struct dt_device_match *dt_match;
>=20
> This and ...
>=20
> > +=C2=A0=C2=A0=C2=A0 /*
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * Device initialization.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 *
> > +=C2=A0=C2=A0=C2=A0=C2=A0 * -EAGAIN is used to indicate that device pro=
bing is
> > deferred.
> > +=C2=A0=C2=A0=C2=A0=C2=A0 */
> > +=C2=A0=C2=A0=C2=A0 int (*init)(struct dt_device_node *dev, const void =
*data);
>=20
> ... this look to be DT-specific.
They are. I'll ifdef it.

>=20
> > +};
> > +
> > +#ifdef CONFIG_ACPI
> > +
> > +struct acpi_device_desc {
> > +=C2=A0=C2=A0=C2=A0 /* Device name */
> > +=C2=A0=C2=A0=C2=A0 const char *name;
> > +=C2=A0=C2=A0=C2=A0 /* Device class */
> > +=C2=A0=C2=A0=C2=A0 enum device_class class;
> > +=C2=A0=C2=A0=C2=A0 /* type of device supported by the driver */
> > +=C2=A0=C2=A0=C2=A0 const int class_type;
> > +=C2=A0=C2=A0=C2=A0 /* Device initialization */
> > +=C2=A0=C2=A0=C2=A0 int (*init)(const void *data);
> > +};
> > +
> > +/**
> > + *=C2=A0 acpi_device_init - Initialize a device
> > + *=C2=A0 @class: class of the device (serial, network...)
> > + *=C2=A0 @data: specific data for initializing the device
> > + *
> > + *=C2=A0 Return 0 on success.
> > + */
> > +int acpi_device_init(enum device_class class,
> > +=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 const void *data, int c=
lass_type);
> > +
> > +#endif /* CONFIG_ACPI */
> > +
> > +/**
> > + *=C2=A0 device_init - Initialize a device
> > + *=C2=A0 @dev: device to initialize
> > + *=C2=A0 @class: class of the device (serial, network...)
> > + *=C2=A0 @data: specific data for initializing the device
> > + *
> > + *=C2=A0 Return 0 on success.
> > + */
> > +int device_init(struct dt_device_node *dev, enum device_class
> > class,
> > +=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 const void *data);
>=20
> As is this, simply from its first parameter's type.
I missed to take changes related to ifdef-ing DT related things to this
version of device.h. So I'll update that.

>=20
> > +/**
> > + * device_get_type - Get the type of the device
> > + * @dev: device to match
> > + *
> > + * Return the device type on success or DEVICE_ANY on failure
> > + */
> > +enum device_class device_get_class(const struct dt_device_node
> > *dev);
> > +
> > +#define DT_DEVICE_START(_name, _namestr,
> > _class)=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 \
> > +static const struct device_desc __dev_desc_##_name
> > __used=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > +__section(".dev.info") =3D
> > {=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=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 .name =3D
> > _namestr,=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=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 .class =3D
> > _class,=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=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 \
> > +
> > +#define
> > DT_DEVICE_END=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=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 \
> > +};
>=20
> And all of these.

Probably it also make sense to swtich Arm and PPC to asm-generic
device.h file.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:26:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:26:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638023.994221 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TZj-0007tX-8j; Tue, 21 Nov 2023 16:26:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638023.994221; Tue, 21 Nov 2023 16:26: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 1r5TZj-0007tQ-6I; Tue, 21 Nov 2023 16:26:11 +0000
Received: by outflank-mailman (input) for mailman id 638023;
 Tue, 21 Nov 2023 16:26: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=nYOq=HC=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r5TZi-0007U8-2C
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:26:10 +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 ac91bae3-888a-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:26:08 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-40b2979a74eso6256595e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:26:08 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net
 (default-46-102-197-194.interdsl.co.uk. [46.102.197.194])
 by smtp.gmail.com with ESMTPSA id
 l6-20020a05600c4f0600b004068495910csm22075842wmq.23.2023.11.21.08.26.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:26:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac91bae3-888a-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700583967; x=1701188767; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=I1C7a1pkmGRwzeNuLxH4QVvzRovP/wLpstV7Vt6zuKM=;
        b=SlZstvm/kIu9IMDcuozI7UmhXnL3a/rz3C+79vBeOJOnZw/Uf09CHC9/zzaZZh9gFW
         4CH97DTEv0v61hC1uUBQpLjKtR27Bs8Ls3+bxN4Pz2MxKREks19B/lwBEalAxbzGDb+g
         M8/heyhSHB34n1g7KIEEugkUokyIDvmN0PEfA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700583967; x=1701188767;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=I1C7a1pkmGRwzeNuLxH4QVvzRovP/wLpstV7Vt6zuKM=;
        b=ZSn7EVXG8hmBKgLLAfzyzBULcg5hFug0nn8GhKY9noD5vu0HGKbj2mph6DN4vtjIOW
         X+PueKCo83zd2E2cSqeB8NPkMwE8K1YVhxQJJn/o/oRN4C+kNTU3lb1wE+fsxmo9dXlo
         rcBeEvb/bgfPYXhbG4cAdCIQA72gzyAzwyYkdaniN/zt+jGvs2W4yG4VNIhNiGPZFqXw
         BF9O82E5A2b3bLHUuZR5HPwIZTpnszc2zD4+qmr84c2K3q2c6KCN8CUCHkHJSvd9cR8t
         XFWfjb/RhqT7m7UuDak/nmEg6dxaxN+7lGRUdmoLu7kHquWOyh9Oa0Dqdo6fOThvuKWP
         lOlA==
X-Gm-Message-State: AOJu0YzEN4Ji00Y2xGtL2m02AWtB+XjZgCfM7DEn8itoy1W0lKA2I/sv
	/6Lt29yyNm5tKpHLTPGeVhb2gyFwlsprF8h5uXY=
X-Google-Smtp-Source: AGHT+IFKuOX39eTxGssV95yCbj/UIZcFyttx2q8x8VeauYjMZmR9eBX1ezf1CxhpFIFutVMI2H8NlA==
X-Received: by 2002:a05:600c:510d:b0:408:3bbd:4a82 with SMTP id o13-20020a05600c510d00b004083bbd4a82mr7582283wms.15.1700583967064;
        Tue, 21 Nov 2023 08:26:07 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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/x86: On x2APIC mode, derive LDR from APIC_ID
Date: Tue, 21 Nov 2023 16:26:04 +0000
Message-Id: <20231121162604.19405-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
registers are derivable from each other through a fixed formula.

Xen uses that formula, but applies it to vCPU IDs (which are sequential)
rather than x2APIC_IDs (which are not, at the moment). As I understand it,
this is an attempt to tightly pack vCPUs into clusters so each cluster has
16 vCPUs rather than 8, but this is problematic for OSs that might read the
x2APIC_ID and internally derive LDR (or the other way around)

This patch fixes the implementation so we follow the rules in the x2APIC
spec(s).

The patch also covers migrations from broken hypervisors, so LDRs are
preserved even for hotppluggable CPUs and across APIC resets.

Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
I tested this by creating 3 checkpoints.
 1. One with pre-4.4 broken state (every LDR=1, by hacking save_regs)
 2. One with 4.4 onwards broken state (LDRs packed in their clusters)
 3. One with correct LDR values

(1) and (3) restores to the same thing. Consistent APIC_ID+LDR
(2) restores to what it previously had and hotplugs follow the same logic
---
 xen/arch/x86/hvm/vlapic.c             | 81 +++++++++++++++++++--------
 xen/arch/x86/include/asm/hvm/domain.h | 13 +++++
 2 files changed, 72 insertions(+), 22 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index a8e87c4446..7f169f1e5f 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1061,13 +1061,23 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
     .write = vlapic_mmio_write,
 };
 
+static uint32_t x2apic_ldr_from_id(uint32_t id)
+{
+    return ((id & ~0xF) << 12) | (1 << (id & 0xF));
+}
+
 static void set_x2apic_id(struct vlapic *vlapic)
 {
-    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
-    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
+    uint32_t vcpu_id = vlapic_vcpu(vlapic)->vcpu_id;
+    uint32_t apic_id = vcpu_id * 2;
+    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
 
-    vlapic_set_reg(vlapic, APIC_ID, id * 2);
-    vlapic_set_reg(vlapic, APIC_LDR, ldr);
+    /* This is a migration bug workaround. See wall of text in lapic_load_fixup() */
+    if ( vlapic_domain(vlapic)->arch.hvm.has_inconsistent_x2apic_ldr_bug )
+        apic_ldr = x2apic_ldr_from_id(vcpu_id);
+
+    vlapic_set_reg(vlapic, APIC_ID, apic_id);
+    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
 }
 
 int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
@@ -1495,30 +1505,57 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
 /*
  * Following lapic_load_hidden()/lapic_load_regs() we may need to
  * correct ID and LDR when they come from an old, broken hypervisor.
+ *
+ * Xen <= 4.4 had a bug by which all the APICs configured in x2APIC mode
+ * got LDR = 1. This was fixed back then, but another bug was introduced
+ * causing APIC ID and LDR to break the consistency they are meant to have
+ * according to the specs (LDR was derived from vCPU ID, rather than APIC
+ * ID)
+ *
+ * Long story short, we can detect both cases here. For the LDR=1 case we
+ * want to fix it up on migrate, as IPIs just don't work on non-physical
+ * mode otherwise. For the other case we actually want to preserve previous
+ * behaviour so that existing running instances that may have already read
+ * the LDR at the source host aren't surprised when IPIs stop working as
+ * they did at the other end.
+ *
+ * Note that "x2apic_id == 0" has always been correct and can't be used to
+ * discriminate these cases.
+ *
+ * Yuck!
  */
 static void lapic_load_fixup(struct vlapic *vlapic)
 {
-    uint32_t id = vlapic->loaded.id;
+    /*
+     * This LDR would be present in broken versions of Xen 4.4 through 4.18.
+     * It's correct for the cpu with x2apic_id=0 (vcpu0), but invalid for
+     * any other.
+     */
+    uint32_t bad_ldr = x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id);
 
-    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
-    {
+    /*
+     * No need to perform fixups in non-x2apic mode, and x2apic_id == 0 has
+     * always been correct.
+     */
+    if ( !vlapic_x2apic_mode(vlapic) || !vlapic->loaded.id )
+        return;
+
+    if ( vlapic->loaded.ldr == 1 )
+       /*
+        * Migration from a broken Xen 4.4 or earlier. We can't leave it
+        * as-is because it assigned the same LDR to every CPU. We'll fix
+        * the bug now and assign LDR values consistent with the APIC ID.
+        */
+        set_x2apic_id(vlapic);
+    else if ( bad_ldr == vlapic->loaded.ldr )
         /*
-         * This is optional: ID != 0 contradicts LDR == 1. It's being added
-         * to aid in eventual debugging of issues arising from the fixup done
-         * here, but can be dropped as soon as it is found to conflict with
-         * other (future) changes.
+         * This is a migration from a broken Xen between 4.4 and 4.18 and we
+         * must _PRESERVE_ LDRs so new vCPUs use consistent derivations. In
+         * this case we set this domain boolean so future CPU hotplugs
+         * derive an LDR consistent with the older Xen's broken idea of
+         * consistency.
          */
-        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
-             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
-            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
-                   vlapic_vcpu(vlapic), id);
-        set_x2apic_id(vlapic);
-    }
-    else /* Undo an eventual earlier fixup. */
-    {
-        vlapic_set_reg(vlapic, APIC_ID, id);
-        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
-    }
+        vlapic_domain(vlapic)->arch.hvm.has_inconsistent_x2apic_ldr_bug = true;
 }
 
 static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 6e53ce4449..a42a6e99bb 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -61,6 +61,19 @@ struct hvm_domain {
     /* Cached CF8 for guest PCI config cycles */
     uint32_t                pci_cf8;
 
+    /*
+     * Xen had a bug between 4.4 and 4.18 by which the x2APIC LDR was
+     * derived from the vcpu_id rather than the x2APIC ID. This is wrong,
+     * but changing this behaviour is tricky because guests might have
+     * already read the LDR and used it accordingly. In the interest of not
+     * breaking migrations from those hypervisors we track here whether
+     * this domain suffers from this or not so a hotplugged vCPU or an APIC
+     * reset can recover the same LDR it would've had on the older host.
+     *
+     * Yuck!
+     */
+    bool has_inconsistent_x2apic_ldr_bug;
+
     struct pl_time         *pl_time;
 
     struct hvm_io_handler *io_handler;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:28:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:28:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638026.994231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TbR-0000m1-Ng; Tue, 21 Nov 2023 16:27:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638026.994231; Tue, 21 Nov 2023 16:27: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 1r5TbR-0000lu-Ki; Tue, 21 Nov 2023 16:27:57 +0000
Received: by outflank-mailman (input) for mailman id 638026;
 Tue, 21 Nov 2023 16:27: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=J/0D=HC=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r5TbQ-0000bD-8g
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:27:56 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebf754d3-888a-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:27:55 +0100 (CET)
Received: from DS7PR06CA0024.namprd06.prod.outlook.com (2603:10b6:8:2a::8) by
 PH7PR12MB5901.namprd12.prod.outlook.com (2603:10b6:510:1d5::19) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Tue, 21 Nov
 2023 16:27:49 +0000
Received: from CY4PEPF0000EE3C.namprd03.prod.outlook.com
 (2603:10b6:8:2a:cafe::4b) by DS7PR06CA0024.outlook.office365.com
 (2603:10b6:8:2a::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28 via Frontend
 Transport; Tue, 21 Nov 2023 16:27:49 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE3C.mail.protection.outlook.com (10.167.242.16) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 16:27: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.2507.34; Tue, 21 Nov
 2023 10:27:48 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 21 Nov 2023 10:27:47 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebf754d3-888a-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nNc+T+AqjmaACL+aqRWnOWxls+m8RMsLvTunysHpjlpYnFvOvhAQzavAJKMgR4UjuMialZpsNnvoGT0AUsiipx5DTgecUuSOrkt6vcNVAbRSfm37nIebRO+b7rn8pVBdjS5JNAY/IXWpXOTkfUXlRvgWaQEmQSbdMz3mbMv9f9A0A7JDM35IjDvpKfE8CeciHOqsfKleT3r1Mv6jTDYbn8WtgC4eNMcoELMxcA90KcTnX/hawE9e1mdqXrc65/krLK0dDRUa3LssN0j8TyuziuTQadN4uj89ZDefRvyU+Ddlyy+vEE0q+FkyX23EFkh2Kv/ixAgy4VTgezARYgKTfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0mr0FnRwhvmvSk2fjhAMzO7oWemcZMVK1AwugUkrPzA=;
 b=K4GO/ybtxdaHGkV59k9I+Ot1ARUvV9BUKxODeruHFKYx0a0rt1UefmGPxZf2paHuT1B/eiwW2xvu5S/EpMLBxwH5o5WqWvEDjYrCZSsYkjqxrVoW/ZOBJCwf4511cznG6So46rCHL/AXbhVCvK0DnmrNleGvijQFM2z8UW9UJkEGYJ8jp9uqW79QM91CFA+T2OVmX6ceQbBW0vKOpQO/rP3t2BWX+UzOFZbWv9RvJma/b7+WqX+aQv+OTAoX9Icx7mmKrHK2AU8hXcGW0mXVyJDOPt5DJOtS1DSabVnqpGRA8WvoOareMmjEQLIIEInXSKXliNdO49SNRJROJRJLKg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=0mr0FnRwhvmvSk2fjhAMzO7oWemcZMVK1AwugUkrPzA=;
 b=xr6EHll3IsLgO4Pj/SBmKD/asKh8giPpP8KUT/aY7a3Vf3KktJTcrEe8OSuJDyhLDWzsjrd8+dR1KDBPvxLPKg4Joh1HaNbnFdKnlccBmiAP7V25q8T1xkOxz/iJzMulcPcWaCrsnQ5Ufwh4W0D+sxMh0qK5n4NTLwOBACNeZ4s=
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: <64c7349c-a342-41e2-82ab-db422f5961ce@amd.com>
Date: Tue, 21 Nov 2023 11:27:46 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] xen/vpci: header: status register handler
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@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>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVzCn60-qvdRsi3q@macbook.local>
 <081547e8-696b-4741-b9b6-bc92c221f01a@amd.com>
 <ZVzKROAwS25DMGbb@macbook.local>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <ZVzKROAwS25DMGbb@macbook.local>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3C:EE_|PH7PR12MB5901:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b336a1b-1e19-439b-277a-08dbeaaecd0d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vKYV+lN75A/C6bStZrvJxrxv5wLFAd9RABKpOKFPLuF1DCiD2u6bq0p1cVYqkWzyc8VS/6zVM8/PiAhn6Z13HsSkdOxaZs5T6mPXsCk3FppwHkaZDXa8ylhXg3w9pSx/FSImRoRCgW8+pN/JoEz1lhCusU/arddSsyLcwcyCKgJQoSHwD4XTJD0nD3TMSwy9Oo0/fy5L6xi/2HnjyO1Xa1dPEBQXFV69Xe7i6z/n2BTfpJVoAD4vwyvZHfP8anB49XwObCidyDchoIOb0N/SGmGWWTS0wjcIBZNkKEgJ4hBpeihhatD7vfLOpACX3iBQSpGlP5tzBQJNbxWe9CYRs/GEkthBAz4KIj/zkJYgn0BQW0HptpWq4ldtEoTPqUucofTRvp2LftNEkKB74FvAdHZTGcSh/xRXaDpPsUWNnAAfJGYsnhrvjHJ8ozOdq1Vm7U9kR48vC6Wb+8ltJ+5i5ZKK2fHuCj2SX1l/ZZdEFgkBSet/NBLEMcTUDtLWmvyMQxQv5HQshP9S8/h6inSLiakyAff7Ho0PkYNLyoES1RXpXNy9OVtr65oFhHGbxYIrcqZXYwJ0Fctz/cMMzP70WiDi8G8jvMXctR/yVM02gcbv4gb6DNOoG4X6MlB01iIiB46Z0xY2T+E1GggN8mL4M6370uNFADCLsWEDN7ruCV5YaziQfk7YwjYe9I69j0hshLAjvRB270Z6IK7TaFwUU8OM548B2YhJV6NNmNYtGHna/lu3fAg+BizB49sArTZTbMwjKgb4iKgAD9N8/V30dIrfnr5bk0tNdp/8MPDV68bbxXILp5jntRTH67wCgKZl56ptL0SOWvRCuzVEIRfR/w==
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:(13230031)(4636009)(346002)(136003)(396003)(376002)(39860400002)(230922051799003)(186009)(82310400011)(451199024)(64100799003)(1800799012)(36840700001)(40470700004)(46966006)(40460700003)(5660300002)(41300700001)(47076005)(44832011)(66899024)(2906002)(356005)(81166007)(82740400003)(26005)(36756003)(31696002)(86362001)(426003)(83380400001)(336012)(53546011)(8676002)(70586007)(2616005)(36860700001)(478600001)(8936002)(4326008)(70206006)(54906003)(16576012)(6916009)(31686004)(316002)(40480700001)(36900700001)(43740500002)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 16:27:48.7520
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b336a1b-1e19-439b-277a-08dbeaaecd0d
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:
	CY4PEPF0000EE3C.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5901

On 11/21/23 10:18, Roger Pau Monné wrote:
> On Tue, Nov 21, 2023 at 10:03:01AM -0500, Stewart Hildebrand wrote:
>> On 11/21/23 09:45, Roger Pau Monné wrote:
>>> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
>>>> @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>>>>  
>>>>  /*
>>>>   * Perform a maybe partial write to a register.
>>>> - *
>>>> - * Note that this will only work for simple registers, if Xen needs to
>>>> - * trap accesses to rw1c registers (like the status PCI header register)
>>>> - * the logic in vpci_write will have to be expanded in order to correctly
>>>> - * deal with them.
>>>>   */
>>>>  static void vpci_write_helper(const struct pci_dev *pdev,
>>>>                                const struct vpci_register *r, unsigned int size,
>>>>                                unsigned int offset, uint32_t data)
>>>>  {
>>>> +    uint32_t val = 0;
>>>> +
>>>>      ASSERT(size <= r->size);
>>>>  
>>>> -    if ( size != r->size )
>>>> +    if ( (size != r->size) || r->ro_mask )
>>>>      {
>>>> -        uint32_t val;
>>>> -
>>>>          val = r->read(pdev, r->offset, r->private);
>>>> +        val &= ~r->rw1c_mask;
>>>>          data = merge_result(val, data, size, offset);
>>>>      }
>>>>  
>>>> +    data &= ~(r->rsvdz_mask | r->ro_mask);
>>>> +    data |= val & r->ro_mask;
>>>
>>> I've been thinking about this, and the way the ro_mask is implemented
>>> (and the way we want to handle ro bits) is the same behavior as RsvdP.
>>> I would suggest to rename the ro_mask to rsvdp_mask and note
>>> that for resilience reasons we will handle RO bits as RsvdP.
>>
>> But the reads behave differently. RO should return the value, RsvdP should return 0 when read (according to the PCIe Base Spec 4.0).
> 
> Hm, right, sorry for the wrong suggestion.  We should force bits to 0
> for guests reads, but make sure that for writes the value on the
> hardware is preserved.
> 
> So we need the separate mask for RsvdP, which will be handled like
> ro_mask in vpci_write_helper() and like rsvdz_mask in vpci_read().

Agreed. The only reason I didn't add RsvdP support in this patch was that it wasn't needed for the status register... Since RsvdP will be needed for the command register, I think I may as well implement it as part of this series, perhaps in a separate patch following this one. Stay tuned for v8.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:30:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:30:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638029.994240 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TdR-0001vr-4B; Tue, 21 Nov 2023 16:30:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638029.994240; Tue, 21 Nov 2023 16:30: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 1r5TdR-0001vk-1O; Tue, 21 Nov 2023 16:30:01 +0000
Received: by outflank-mailman (input) for mailman id 638029;
 Tue, 21 Nov 2023 16: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=nYOq=HC=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r5TdP-0001uW-Fa
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:29:59 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 35733a84-888b-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 17:29:57 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4079ed65582so24861245e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:29:57 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j7-20020a05600c190700b004064cd71aa8sm17742352wmq.34.2023.11.21.08.29.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:29:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 35733a84-888b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700584196; x=1701188996; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=6DJpdM5d9S0E1CiGcKNC375HvkiyrVyxHnhQzk9A3Fw=;
        b=NymCCwEUU2iSjUcap5AlNhSfVDF6FojrCv01Zm8E7rA2Mj4IuIawSy3RJUZWVgcmhc
         sd4Us8tdS3Wn0B96yRWVew61HjHz1aUXr/KW1F0P+CjZagdc3YkC70CgdQp2GFnxi7xK
         mgpPQnjO5WCdQK2qKGgjy1TaUPGq9VyVDXxwc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700584196; x=1701188996;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6DJpdM5d9S0E1CiGcKNC375HvkiyrVyxHnhQzk9A3Fw=;
        b=CDlSFv+9Uhh3Co8fO5LEu3REc3EmNHuiR5vtinH2nwNSab0Py14lAFllOwyMrcYyeZ
         3X7RDfF63X4kSRsdhzVelhs//bJt40MLcEfXQ+cucBaGRyELx0eMGXv7uJysZ7Hb4CS6
         ssP2Hvyh5R+9hT9tsRJTgXKGJLnEUgLL01o+R3SvIrtZVjjAvudHzE3s9rhd7ZUbh954
         8idjBx9iJX9appLujI+ybWrviKCr+nxAcSNuZfrlO6o6Wfw2/GtABoEd/W8C0h4YdtbW
         gIZGU6sabIygTckDvAISnv2Bd2FQj4PBUS8QSwKubfsXKNK/p02m1SAo+cMHJAwDFd99
         +DEw==
X-Gm-Message-State: AOJu0Yw1V89tnW5XglyGa9U7IlV5HiHKAdkBuhm5spyZD2yhZqXqmSYk
	BBYa6eHwjA9ny/EZN6IR4kefACaC/YE0N/+IhMM=
X-Google-Smtp-Source: AGHT+IHLjZFluaYMo+naLcOHJ2KfwbZ82SxUz8ECDlMZdZuj4g2wk9y99fsxMd3V0F0lQJ52W8fIiQ==
X-Received: by 2002:a05:600c:5247:b0:408:fe93:a2f7 with SMTP id fc7-20020a05600c524700b00408fe93a2f7mr9019712wmb.37.1700584196209;
        Tue, 21 Nov 2023 08:29:56 -0800 (PST)
Message-ID: <655cdb04.050a0220.8c71d.d7e5@mx.google.com>
X-Google-Original-Message-ID: <ZVzbAVeAKqSEiPCB@EMEAENGAAD19049.>
Date: Tue, 21 Nov 2023 16:29:53 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] xen/x86: On x2APIC mode, derive LDR from APIC_ID
References: <20231121162604.19405-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231121162604.19405-1-alejandro.vallejo@cloud.com>

On Tue, Nov 21, 2023 at 04:26:04PM +0000, Alejandro Vallejo wrote:
> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> registers are derivable from each other through a fixed formula.
> 
> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> rather than x2APIC_IDs (which are not, at the moment). As I understand it,
> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> x2APIC_ID and internally derive LDR (or the other way around)


Ugh, forgot about Roger's commit message request
>I would replace the underscore from x2APIC ID with a space instead.
Happy for that to happen on commit if the rest looks ok.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:30:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638032.994251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Tdv-0003Ok-D5; Tue, 21 Nov 2023 16:30:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638032.994251; Tue, 21 Nov 2023 16:30: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 1r5Tdv-0003Od-AV; Tue, 21 Nov 2023 16:30:31 +0000
Received: by outflank-mailman (input) for mailman id 638032;
 Tue, 21 Nov 2023 16:30: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 1r5Tdv-0003OV-2D
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:30: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 1r5Tdu-00069Q-ND; Tue, 21 Nov 2023 16:30:30 +0000
Received: from [15.248.3.117] (helo=[10.24.67.37])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r5Tdu-00031p-Hm; Tue, 21 Nov 2023 16:30: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=d+hdjoT7G+jTLO/zptHQLHXIx6n3uh99iJEdz/zENrQ=; b=z+8sZkW1jjyfNc3Uy5zuQMgaMY
	rvhYC0LjDO4bawPl59HSoWP390ku0nVNOdTD7rAXHZNiSU3q7TC4+cS9oBWuv7+vOGadEosBq+wIF
	nCfeS4cWPfhPv9AQ8AtxnIWvT07XPa1JSAK+/rufz8Qf/V+9Ta+Nsd7JX7ubwsfUVvRU=;
Message-ID: <d015e81d-16cd-4e93-80c9-ba6418a23b1d@xen.org>
Date: Tue, 21 Nov 2023 16:30:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/arm64/mmu: head: Replace load_paddr with adr_l
 where appropriate
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-4-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231121094516.24714-4-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 21/11/2023 09:45, Michal Orzel wrote:
> Macros load_paddr and adr_l are equivalent when used before the MMU is
> enabled, resulting in obtaining physical address of a symbol. The former
> requires to know the physical offset (PA - VA) and can be used both before
> and after the MMU is enabled. In the spirit of using something only when
> truly necessary, replace all instances of load_paddr with adr_l, except

I don't buy this argument. The advantage with using "load_paddr" is that 
it is pretty clear what you get from the call. With "adr_l" you will 
need to check whether the MMU is on or off.

> in create_table_entry macro. Even though there is currently no use of
> load_paddr after MMU is enabled, this macro used to be call in such a
> context and we can't rule out that it won't happen again.
> 
> This way, the logic behind using load_paddr/adr_l is consistent between
> arm32 and arm64, making it easier for developers to determine which one
> to use and when.

Not really. See above. But there is also no documentation stating that 
"load_paddr" should not be used before the MMU is on. And as I said 
above, I find it easier to work with compare to "adr_l".

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:32:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:32:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638036.994260 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TfN-0004Qk-NV; Tue, 21 Nov 2023 16:32:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638036.994260; Tue, 21 Nov 2023 16:32: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 1r5TfN-0004Qd-Km; Tue, 21 Nov 2023 16:32:01 +0000
Received: by outflank-mailman (input) for mailman id 638036;
 Tue, 21 Nov 2023 16:32: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=zFE0=HC=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r5TfM-0004P2-Ky
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:32:00 +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 7da9337e-888b-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 17:31:58 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-507bd64814fso8099128e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 08:31:58 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 q22-20020a056512211600b005030cef433esm1547994lfr.94.2023.11.21.08.31.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 08:31:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7da9337e-888b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700584318; x=1701189118; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=s8qc/XsNcpf3RUepejICQGWg9KVaFo8U2oIctRmpP70=;
        b=E6mxZ23cNVSU57RhFWtyGi86ZuwlIfXTll+aP2tRyA+JCJtfO1pCgRZyGX+J6Ll4xk
         FCdy/okhrsodKhnQSIQhS1bf74EHFp0oHgjYxwGH/0pV8chtLt6snyLCShwzaytLMfoq
         2PTjzoBTjsDpVKV2i2qxCvSbQZabe8jL5YnpKApwVVp5CoNXyR1F/pkrHS8PSa+OaaZi
         3P350gM6gN8KaYtShpNceVMSnYxqAg7BGpFmj8K5K4WHsH9lOyEyJb9WqaHqtE8Gf5Vs
         QqmXHcz4ztI2QvM5fUdGdBgM9MPFEtl8EGfFQYXaJe7unohQZsyBK9GL0aofOmr6dRep
         zMHg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700584318; x=1701189118;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=s8qc/XsNcpf3RUepejICQGWg9KVaFo8U2oIctRmpP70=;
        b=qjtpMD8ZpyTs/hlESFLYBA4QCB3Q07O9FtvyzzgFWnSNKusqzHa6lFtS/Qrzoh8Glj
         aBlWBKqklh0GUAw4iBhZuupBpuaokar0Ke0tBZ8u4nsfHvPK/dELrKklpJV96UAhVgwG
         8CAZF7hiDw5vGFLN/jXxM3LnJsn06vhJT5EXQouNxofY08GCSV3X0MXkVK/vOSAbkcnv
         oEIWPgajTdc2ThBtBgniIq5SIeCUhFkPJ4a0/A/QdmWIW4JIygd98sLezWNaLGD1WG7a
         uVtQvMDY+tlC2Qib5QpMe6LrBurFd9lY5ZmwCspdUjScevGfCIUaNmKec4dntQP4ACYy
         Mq4Q==
X-Gm-Message-State: AOJu0Yw1m3EsjL/8MHhyHF5hr/Eo611CxEiitcyJmCILrog6J7w7ZpCz
	bGglZyS5YJ9glEeFOHfNwz0=
X-Google-Smtp-Source: AGHT+IGHxqpWT3tQQ2TYrUCftLcmUge+wMfsJCTvHVBYkUwuHy+FAMRJko/U8AoKnznZJJAFg3vEjg==
X-Received: by 2002:ac2:5bc7:0:b0:509:fc7:884a with SMTP id u7-20020ac25bc7000000b005090fc7884amr7430145lfn.19.1700584317846;
        Tue, 21 Nov 2023 08:31:57 -0800 (PST)
Message-ID: <c7e3617894a5482c95dc4bfa53fa44966b2b22cd.camel@gmail.com>
Subject: Re: [PATCH v3 06/14] xen/asm-generic: introduce generic header
 percpu.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, Roger Pau
 =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
Date: Tue, 21 Nov 2023 18:31:48 +0200
In-Reply-To: <dcad55a5-2582-41df-a2bf-6e83ddfbc0a3@suse.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
	 <51ce486a825a1654998db01c4e07c127e4b1b38b.1700221559.git.oleksii.kurochko@gmail.com>
	 <dcad55a5-2582-41df-a2bf-6e83ddfbc0a3@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0

On Tue, 2023-11-21 at 16:56 +0100, Jan Beulich wrote:
> On 17.11.2023 13:24, Oleksii Kurochko wrote:
> > --- a/xen/arch/ppc/include/asm/current.h
> > +++ b/xen/arch/ppc/include/asm/current.h
> > @@ -4,6 +4,8 @@
> > =C2=A0
> > =C2=A0#include <xen/percpu.h>
> > =C2=A0
> > +#include <asm/processor.h>
> > +
> > =C2=A0#ifndef __ASSEMBLY__
> > =C2=A0
> > =C2=A0struct vcpu;
> > @@ -38,6 +40,10 @@ static inline struct cpu_info
> > *get_cpu_info(void)
> > =C2=A0
> > =C2=A0#define guest_cpu_user_regs() (&get_cpu_info()-
> > >guest_cpu_user_regs)
> > =C2=A0
> > +#define smp_processor_id()=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 0 /* TODO: Fi=
x this */
> > +
> > +#define get_per_cpu_offset()=C2=A0=C2=A0=C2=A0 smp_processor_id()
>=20
> This 2nd item can't be quite right either, so likely also wants a
> FIXME comment.
> Shawn will have the ultimate say here anyway.
I did so because it is how percpu stuff was implemented before
get_per_cpu_offset was introduced.

>=20
> > --- a/xen/include/xen/percpu.h
> > +++ b/xen/include/xen/percpu.h
> > @@ -1,8 +1,6 @@
> > =C2=A0#ifndef __XEN_PERCPU_H__
> > =C2=A0#define __XEN_PERCPU_H__
> > =C2=A0
> > -#include <asm/percpu.h>
> > -
> > =C2=A0#define DECLARE_PER_CPU(type, name) \
> > =C2=A0=C2=A0=C2=A0=C2=A0 extern __typeof__(type) per_cpu__ ## name
> > =C2=A0
> > @@ -29,6 +27,8 @@
> > =C2=A0
> > =C2=A0#define get_per_cpu_var(var)=C2=A0 (per_cpu__##var)
> > =C2=A0
> > +#include <asm/percpu.h>
> > +
> > =C2=A0/* Linux compatibility. */
> > =C2=A0#define get_cpu_var(var) this_cpu(var)
> > =C2=A0#define put_cpu_var(var)
>=20
> While you explain the reason for this movement, it still feels a
> little
> fragile to me.

The reason for that is #include <asm/processor.h> was added to
<asm/percpu.h>. <asm/processor.h> uses DECLARE_PER_CPU(...) so it
should be defined before inclusion of <asm/percpu.h>. Otherwise the
following error will occur:
./arch/riscv/include/asm/current.h:13:32: error: unknown type name
'curr_vcpu'
   13 | DECLARE_PER_CPU(struct vcpu *, curr_vcpu);                   =20
      |                                ^~~~~~~~~       =20
In file included from ././include/xen/config.h:17,
                 from <command-line>:                             =20
./include/xen/sched.h: In function 'rcu_unlock_domain':
./include/asm-generic/percpu.h:19:19: error: 'per_cpu__curr_vcpu'
undeclared (first use in this function)
   19 |     (*RELOC_HIDE(&per_cpu__##var, get_per_cpu_offset()))
      |                   ^~~~~~~~~                                  =20
./include/xen/compiler.h:146:37: note: in definition of macro
'RELOC_HIDE'
  146 |     __asm__ ("" : "=3Dr"(__ptr) : "0"(ptr));      \
      |                                     ^~~                      =20
./arch/riscv/include/asm/current.h:15:29: note: in expansion of macro
'this_cpu'
   15 | #define current            (this_cpu(curr_vcpu))
      |                             ^~~~~~~~                         =20
./include/xen/sched.h:726:15: note: in expansion of macro 'current'
  726 |     if ( d !=3D current->domain )    =20
      |               ^~~~~~~                                     =20
./include/asm-generic/percpu.h:19:19: note: each undeclared identifier
is reported only once for each function it appears in
   19 |     (*RELOC_HIDE(&per_cpu__##var, get_per_cpu_offset()))
      |                   ^~~~~~~~~             =20
./include/xen/compiler.h:146:37: note: in definition of macro
'RELOC_HIDE'
  146 |     __asm__ ("" : "=3Dr"(__ptr) : "0"(ptr));      \
      |                                     ^~~
./arch/riscv/include/asm/current.h:15:29: note: in expansion of macro
'this_cpu'
   15 | #define current            (this_cpu(curr_vcpu))
      |                             ^~~~~~~~
./include/xen/sched.h:726:15: note: in expansion of macro 'current'
  726 |     if ( d !=3D current->domain )

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:32:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:32:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638037.994271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Tfa-0004kY-VS; Tue, 21 Nov 2023 16:32:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638037.994271; Tue, 21 Nov 2023 16: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 1r5Tfa-0004kP-SQ; Tue, 21 Nov 2023 16:32:14 +0000
Received: by outflank-mailman (input) for mailman id 638037;
 Tue, 21 Nov 2023 16:32: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=U+4w=HC=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r5TfZ-0004jn-R6
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:32:13 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85f5854f-888b-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:32:12 +0100 (CET)
Received: from AS9PR06CA0223.eurprd06.prod.outlook.com (2603:10a6:20b:45e::11)
 by DU0PR08MB8905.eurprd08.prod.outlook.com (2603:10a6:10:47d::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 16:32:05 +0000
Received: from AMS0EPF0000019E.eurprd05.prod.outlook.com
 (2603:10a6:20b:45e:cafe::5) by AS9PR06CA0223.outlook.office365.com
 (2603:10a6:20b:45e::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Tue, 21 Nov 2023 16:32:05 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019E.mail.protection.outlook.com (10.167.16.250) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.13 via Frontend Transport; Tue, 21 Nov 2023 16:32:04 +0000
Received: ("Tessian outbound e243565b0037:v228");
 Tue, 21 Nov 2023 16:32:04 +0000
Received: from 7849e32de779.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 493ED6EA-41FF-4EF1-83C3-7BB7DE827214.1; 
 Tue, 21 Nov 2023 16:31:58 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7849e32de779.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 21 Nov 2023 16:31:58 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAWPR08MB9661.eurprd08.prod.outlook.com (2603:10a6:102:2ec::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 16:31:57 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%6]) with mapi id 15.20.7002.027; Tue, 21 Nov 2023
 16: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>
X-Inumbo-ID: 85f5854f-888b-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=XkrdOo1bRgEeOp6nTbevT2sI3mJIuPYkZxHX+FGh/443j1FN3uKcQKbcgK0vddf9FButd9lWzle/p9q14bNCeK5D5oe3y0fDSa/r9fy+0NvGhQDyNwoZszzkA9mxQ/OPWAGyB65VigfAN927Z4f4zWmwm2x8374Hn+6Kw17npaN1VK0kcKlB9S43I3Aeje1cXV5yoli6Ktc3P7SYTGclJ8furWC4BbZid48tjFgjcaZ/WO/l7zlOxAWUjJGIb7Z+wUmRz2RcVvE4E40l1lGWZ3w+ZErJg7q8p0McPfYx5n8tjlzmb94MRTg/NS5iiOhTAlJrYkQUV1MVQopZUuQotw==
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=uHPfD/1DF3FkTM9MqpRrTxtfkT7bLAM9o/SymS0IXEw=;
 b=J4ffzWddGN0Qt3VDWIc/13Atl+sThAooWtdICOp8iutsra9VFajaaKj8Pf1fy9BVhi8r3YxDk3Cd3mWjfBYGOx40ZKJ4wHu9/1cA55c5y7K0IM+1hcFtm1GwJG0TeYk0U/8ZZ2Mqwa5nSRF9HExFyJB/Iqpl/XDxdw/Gw3WQLk/zFrURnInaVVce5aBVxMGhocaZRX0LmsUojYynfX5vE0CfSte2VRQ1RJo0HL1YaIzk5HZ3Rqf9loyyuPeLr8VS7A3SbebPh3zKvd3BDfMTMojDAXCneFPtIv2P0zzKwXlpwDXox9O27MRNRuXpSedewRhCH+XRMh+XsjWVDjQOMQ==
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=uHPfD/1DF3FkTM9MqpRrTxtfkT7bLAM9o/SymS0IXEw=;
 b=EDUNAUHMhiwqopgvcoEp3qt0tAn/tarR824eyDeFvyuJ0rIcZBrlRyNusr0cLdoEP2rNHc5CNjHodNHM+CZ8yJCi0IN0AbLPxLT6FokgYrn44/sW9t1GBgqKZfIirK11lMBOIDczPSkz4HEwLGO8gJkCcM9AtRhdQyJH/2Pdxeg=
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: 65328c179dbd240f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GWXRm4dcvaELyjZxqcGimldyhFWga8IagQC/UYYkJqArq1LyNXORi0Kz8b6FiTSXJpZqngmN7a/YdC8MKZGbyd6sMA0Yf/S8kaZZK5KfJC0sOF9SmjOJjeJdu3O+fs1uvBZ5mIPAtw7HCOlqmHWCl6TUmjKYXy6SVt7eXrm5auPyb9OKtuDQZtZfn43fitLNkspeLI7uRb2k5wfOHveMy7xLtW5ehhsomOVnQE1agEo14y/L+1xewiVtTdU+JcBjGR2Ieow3Vb1sps9pcyiS1WRtTO8dyNX8fCnv4AkGX1ZPxMyYdOw3cH00kP9EA9B7ziQOB1ga3QbSqaKy2Rd0Pw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=uHPfD/1DF3FkTM9MqpRrTxtfkT7bLAM9o/SymS0IXEw=;
 b=B5jkYZoPHWVUIgF1D160jaG/R2BWwxOYko6Avf50aL9ziavdXTam7+r+0yEVMdQE+PIu5tshUyjWSG7DGHzQLBXjHiKE/bDv+5mLPkapMjGt5WTPqFhvd4n0NoJSFG7LkC6V28dv//tuQC+EShls2lTBVthF+mz++ms9XcgArAJI9Ku3r974EZGh67kvOtysbKNjS30EVctiUKQ7vq55FFBDzQk6QuB/pP9wkwwSulIYNfV+MLEwhEAC2OOlzMJKkr9o9weMwVyCWm07SWfajOTajIRwaDrZ0CEJsmpQAYz/lU/h4PtZOVofGqgBKs1sLG387AwMFnWk4hnLT6jNoQ==
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=uHPfD/1DF3FkTM9MqpRrTxtfkT7bLAM9o/SymS0IXEw=;
 b=EDUNAUHMhiwqopgvcoEp3qt0tAn/tarR824eyDeFvyuJ0rIcZBrlRyNusr0cLdoEP2rNHc5CNjHodNHM+CZ8yJCi0IN0AbLPxLT6FokgYrn44/sW9t1GBgqKZfIirK11lMBOIDczPSkz4HEwLGO8gJkCcM9AtRhdQyJH/2Pdxeg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 3/3] xen/arm64/mmu: head: Replace load_paddr with adr_l
 where appropriate
Thread-Topic: [PATCH 3/3] xen/arm64/mmu: head: Replace load_paddr with adr_l
 where appropriate
Thread-Index: AQHaHF+NDAu4l/eqYUG7NR9h/u0zY7CE97AA
Date: Tue, 21 Nov 2023 16:31:56 +0000
Message-ID: <9DE3C0CF-4B31-477E-99AE-66798FF5554C@arm.com>
References: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-4-michal.orzel@amd.com>
In-Reply-To: <20231121094516.24714-4-michal.orzel@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAWPR08MB9661:EE_|AMS0EPF0000019E:EE_|DU0PR08MB8905:EE_
X-MS-Office365-Filtering-Correlation-Id: 4207bca7-9bbd-4608-de51-08dbeaaf65b7
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:
 2UBkX+VyK2LWsiV22WTU8CGMvUK4Gx0VH0n3xqjohddtOTeB3YUMH+dK6UInYcKlZuU2l8vvdybzRVOXRksxvMthSDTTZDNdMrSshLw8VZaxYsdWxsGFrBTlAAxA3DR5naKlfTAR9te3O0IvSWCv3LimXq7anVnwLFr3/wS4fm55Ma8eatjd4Y31mNIggnbedyfL91dO76CC+eshkLPPFPjKJUm3AI18K8kQtdYjFuNJTThBHb7o3L+kd4UvEeR4W/g6beovNslqTZRiHW7tZNEJrOpFgGWxebq5FMoZkmVQiniB8AxjNFXEsTiLd1S17aOHVaAlmIdRlKBwLlTduhXrbEm/Q35hnTPPX9j9q9AJY81XDMUFmbcADbXyAHYf2fsbNxkaGZ0ou1wzhg4dyW4OwZ6QK6NXzXGT3MDTRITs7TW1h02XBubl2xDPhUMMmlSc56NtkQuLVXEM6oDqrG6YbT2AH1nusUQOO2xRoPWnOpqfyibKUgbnZguvHb8JHBE1QMOiH2qv+5tCBO9W/v81g+HZtzneI2aHHgJNmzPtSW6/QWAVPWs8PT9wOnzcwg53evc6//tOhg1tXKNc9wXWN1Dr8HsN3Av6GmYe1CBzQmqtNUQydiDiCWZr+XmIgDSq3EHkwi40dr0HDzEYEA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(376002)(346002)(366004)(396003)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(5660300002)(2906002)(4744005)(8676002)(4326008)(8936002)(41300700001)(6916009)(316002)(66476007)(66556008)(54906003)(64756008)(66446008)(76116006)(66946007)(91956017)(71200400001)(6486002)(6506007)(478600001)(53546011)(26005)(2616005)(6512007)(38100700002)(122000001)(38070700009)(36756003)(33656002)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9A62A88AE55BEC4B9FD9474452FC022B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9661
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:
 AMS0EPF0000019E.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	23e5742c-8b52-4e4a-2431-08dbeaaf60c5
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qBIVHqAAXpTHNDex+oA3BBbIUVWP+IsxrJ10lt41kT9uPZiutQUvdpLnScjEUpVDuBiv7uW9Uo3vY4E3PbfH5M04dtlbpPSiADIUNUBuK68CxIRrFd7aFW65kmCJDCSRVBPzpxjXuL2YCzBjgBl3j2aGeqz06u89GRugsKtJWheqt1HYcZmFxRrfQmexplBqm+n+lTKpnR0+Ve40RImCUxuwP2wvPEK7aC948DpjKdodoUqhz8RffFuJETs78BCjDuQVvGPBFF5GvivzXFAPPq1CdtUUmm9QdEhaQpQPjLsNA0lhFMBl8+64UilE8IbAA1U1qMLSAVqtqB+IzAUC356J2UCrCFTsMc0x9ICEixUXXwgQQbca+Y18MswaUmrPZVgt6OaxUN61cuaDvuF29NUw92ZO3ge1OMRbpj7xPqIICYYwV9j/TZpkSrpx8KDau81ZLwlmanMDBfx/nvMOkrt5SXhJLaF2PQuxys09Z3h1lKzYTpuPkP42Wt0QHtzGMwt5Br+HRG4YDMJ5wJ1XuCDYE28R/PbXm5lUBIBU7ZPtJGW06mIskqQDKtYzr7AWqMWc6co/yPRAyDReEvN1QDn56HPQI1ViVVOY6gCIIbmAdl0NNgkNHsPOFfrXuenPJf5e7Em3iaq/+xyZfTu8O24lE0ChJPp1yEGDTaO1q9up0GJqt9MJBK2hQMNJhX3VekSMxfiNX9lrjIx26h9bBmlBV5rxE1pHbYVaYpli4gzG+UVJePcVLdG7QWD98L8i
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:(13230031)(4636009)(376002)(136003)(39860400002)(346002)(396003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(40470700004)(36840700001)(46966006)(40480700001)(356005)(47076005)(6512007)(478600001)(6486002)(107886003)(2616005)(26005)(81166007)(70586007)(54906003)(53546011)(70206006)(316002)(6506007)(36860700001)(82740400003)(336012)(8936002)(4326008)(6862004)(8676002)(2906002)(40460700003)(33656002)(5660300002)(86362001)(41300700001)(36756003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 16:32:04.9001
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4207bca7-9bbd-4608-de51-08dbeaaf65b7
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:
	AMS0EPF0000019E.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB8905

DQoNCj4gT24gMjEgTm92IDIwMjMsIGF0IDA5OjQ1LCBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5vcnpl
bEBhbWQuY29tPiB3cm90ZToNCj4gDQo+IE1hY3JvcyBsb2FkX3BhZGRyIGFuZCBhZHJfbCBhcmUg
ZXF1aXZhbGVudCB3aGVuIHVzZWQgYmVmb3JlIHRoZSBNTVUgaXMNCj4gZW5hYmxlZCwgcmVzdWx0
aW5nIGluIG9idGFpbmluZyBwaHlzaWNhbCBhZGRyZXNzIG9mIGEgc3ltYm9sLiBUaGUgZm9ybWVy
DQo+IHJlcXVpcmVzIHRvIGtub3cgdGhlIHBoeXNpY2FsIG9mZnNldCAoUEEgLSBWQSkgYW5kIGNh
biBiZSB1c2VkIGJvdGggYmVmb3JlDQo+IGFuZCBhZnRlciB0aGUgTU1VIGlzIGVuYWJsZWQuIElu
IHRoZSBzcGlyaXQgb2YgdXNpbmcgc29tZXRoaW5nIG9ubHkgd2hlbg0KPiB0cnVseSBuZWNlc3Nh
cnksIHJlcGxhY2UgYWxsIGluc3RhbmNlcyBvZiBsb2FkX3BhZGRyIHdpdGggYWRyX2wsIGV4Y2Vw
dA0KPiBpbiBjcmVhdGVfdGFibGVfZW50cnkgbWFjcm8uIEV2ZW4gdGhvdWdoIHRoZXJlIGlzIGN1
cnJlbnRseSBubyB1c2Ugb2YNCj4gbG9hZF9wYWRkciBhZnRlciBNTVUgaXMgZW5hYmxlZCwgdGhp
cyBtYWNybyB1c2VkIHRvIGJlIGNhbGwgaW4gc3VjaCBhDQo+IGNvbnRleHQgYW5kIHdlIGNhbid0
IHJ1bGUgb3V0IHRoYXQgaXQgd29uJ3QgaGFwcGVuIGFnYWluLg0KPiANCj4gVGhpcyB3YXksIHRo
ZSBsb2dpYyBiZWhpbmQgdXNpbmcgbG9hZF9wYWRkci9hZHJfbCBpcyBjb25zaXN0ZW50IGJldHdl
ZW4NCj4gYXJtMzIgYW5kIGFybTY0LCBtYWtpbmcgaXQgZWFzaWVyIGZvciBkZXZlbG9wZXJzIHRv
IGRldGVybWluZSB3aGljaCBvbmUNCj4gdG8gdXNlIGFuZCB3aGVuLg0KPiANCj4gVGFrZSB0aGUg
b3Bwb3J0dW5pdHkgdG8gZml4IGEgY29tbWVudCB3aXRoIGluY29ycmVjdCBmdW5jdGlvbiBuYW1l
Lg0KPiANCj4gU2lnbmVkLW9mZi1ieTogTWljaGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNv
bT4NCj4gLS0tDQoNCkhpIE1pY2hhbCwNCg0KSeKAmXZlIGFsc28gdGVzdGVkIG9uIEZWUA0KDQpS
ZXZpZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxsdUBhcm0uY29tPg0KVGVzdGVk
LWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+DQoNCg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:35:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:35:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638045.994281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TiW-0005wU-Ir; Tue, 21 Nov 2023 16:35:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638045.994281; Tue, 21 Nov 2023 16:35: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 1r5TiW-0005wN-FA; Tue, 21 Nov 2023 16:35:16 +0000
Received: by outflank-mailman (input) for mailman id 638045;
 Tue, 21 Nov 2023 16:35: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 1r5TiU-0005wD-IW; Tue, 21 Nov 2023 16:35: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 1r5TiU-0006Fk-He; Tue, 21 Nov 2023 16:35: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 1r5TiU-0007W5-1b; Tue, 21 Nov 2023 16:35:14 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5TiU-0003ia-1C; Tue, 21 Nov 2023 16:35: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=EAouZo0oFQAZMCy6fPNQ5EvbD1GKpFuyupqaqcY0WQ0=; b=YEDe5yykU8WKP6n+JBIrbU1nJC
	o++zniKrugFZqtwG6tiT5ZTL4/VWY0M90X7j88FCu8YH3pa95ntnK1CCw14L/ZyJkBT0q1tnLENqF
	6PLi4dik9djLxnnOfdBtSmx8NMDy6SldAeq2PLkFR0o/H5pItHPn2lbcwz4VaU2iVjhs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183810-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183810: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=23dbb8a07d108a7b8589e31639b6302b70445b9f
X-Osstest-Versions-That:
    ovmf=3db76e6476e493d3cda45b81bba99a645180cf35
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Nov 2023 16:35:14 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 23dbb8a07d108a7b8589e31639b6302b70445b9f
baseline version:
 ovmf                 3db76e6476e493d3cda45b81bba99a645180cf35

Last test of basis   183758  2023-11-15 04:11:08 Z    6 days
Testing same since   183810  2023-11-21 14:42:50 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ashish Singhal <ashishsingha@nvidia.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
   3db76e6476..23dbb8a07d  23dbb8a07d108a7b8589e31639b6302b70445b9f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 16:46:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 16:46:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638050.994291 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5TtV-0000qN-LY; Tue, 21 Nov 2023 16:46:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638050.994291; Tue, 21 Nov 2023 16:46: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 1r5TtV-0000qG-HN; Tue, 21 Nov 2023 16:46:37 +0000
Received: by outflank-mailman (input) for mailman id 638050;
 Tue, 21 Nov 2023 16:46: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=J/0D=HC=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r5TtU-0000pG-1g
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 16:46:36 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 87ad0fbf-888d-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 17:46:35 +0100 (CET)
Received: from BL0PR05CA0021.namprd05.prod.outlook.com (2603:10b6:208:91::31)
 by IA0PR12MB8837.namprd12.prod.outlook.com (2603:10b6:208:491::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 16:46:31 +0000
Received: from BL02EPF0001A105.namprd05.prod.outlook.com
 (2603:10b6:208:91:cafe::52) by BL0PR05CA0021.outlook.office365.com
 (2603:10b6:208:91::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.16 via Frontend
 Transport; Tue, 21 Nov 2023 16:46:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A105.mail.protection.outlook.com (10.167.241.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 16:46:30 +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.2507.34; Tue, 21 Nov
 2023 10:46:29 -0600
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.2507.32; Tue, 21 Nov
 2023 08:46:29 -0800
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 21 Nov 2023 10:46:28 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87ad0fbf-888d-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=X6XTvLhdE0akYRHKVh7afRuej25WWcd4EstRpUKgULRp7ha78gdFc3rWDxzdjaozCvhpm4WR9hG6tbzr3SV4Neqh8toWQ7MkIuxFg6kHnUBomZAJYkbWL0EZqGV6ZaUppab2vHbsxW7QFVFYvjGbmIXCp1ffHyfJo2L0INSleY7NMiGsvbguQbmlaWBI6xchaEW7sCY6GIku4by4KhYm861p6XQKZ+/H0QEQTrUs1o/XEpPBvdijoo2ir6CZICAS5pWaF1qfbr76O+0bv4WX+uNPk2ySqkzZFqSPYZxitJtiQ3xfYiyEZ817RA3Mv5axO5Oh79LSVFaZ2Xz4lg1zxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=51h6ikenRbA7/yvAIBigL3HsbnsM7f4fXylpyQ4Whw8=;
 b=a9tavqT1x2fDm6QOdQ+axYdLJ5J4aY9aHHpFULHEYIWWRmi2hHDutLwAPHBy0ongFOdTqA4SZmXwjiAek5GxhoTwaI4q7EyWU22MUZE9lfwOny0L1Wd69thCyOKNKy8PkBiufkO0T9DY5zc8StqlrDL9pJKP6tt96WG6DluVmGpimLYUNg3+sfssBsL9G4uxlhuBtC2cXs+hj3XJgFHDSGI6PZ1kcjUN4J6yYw52Q7ADdNMpjkFWQmVO2jEGr2K29d4piECxogsULq7CfPzsYnJmorysdNMgeTy+UTz37iFVMvzkWopTqz0huAdCyKbqlmLyN1HPrVbCjHHyMGb4oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=51h6ikenRbA7/yvAIBigL3HsbnsM7f4fXylpyQ4Whw8=;
 b=FQ5tzGZIHoMXo4BY40PazNnBkP8mlbALKZdM8+PepJh1p13rk6t3ziII6nQEocBfzARkZxdXwxMvO0BmYRFaFTMXfKlBAyPENvXr+52n/L5hOXu6pLdlA9yIsw3fjsJSfN63txMU8sr4MaozWadDIVtOFFhJjSsZkBFA7HMvXOk=
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: <4a65d203-290c-4bd8-99bc-8ae65a166bf3@amd.com>
Date: Tue, 21 Nov 2023 11:46:27 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] xen/vpci: header: status register handler
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@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>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVzCn60-qvdRsi3q@macbook.local>
 <081547e8-696b-4741-b9b6-bc92c221f01a@amd.com>
 <ZVzKROAwS25DMGbb@macbook.local>
 <64c7349c-a342-41e2-82ab-db422f5961ce@amd.com>
In-Reply-To: <64c7349c-a342-41e2-82ab-db422f5961ce@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A105:EE_|IA0PR12MB8837:EE_
X-MS-Office365-Filtering-Correlation-Id: 3dc7de0e-c123-4a12-caca-08dbeab16a6c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	w1jdGGtPPfkxtdaDsu/ftf9cgJM8E8MV5ruyx0+/5g5YXeIBRKmxwowsr0fTSItNyeG+8oCIzjBwb0e6z7TJjVQLelSsyU0r3PQsBy9UmM26U0x3ly9mxsuNBqSasC80eUcKIVJ9jyXzZY6608F0ryN7dnJJkbF0EZkWiKROJ0UJpKH1GeuCswf/EGTyXuum2N5gMiDCmYputJcTm5G15Y/UbkTguBE6iEqhltGGVpMgSnPdCKLpFJWl3H51YGqEjHiWqXPLcf/mIUmvJlqBkG9M86iXgn8w8JQM77fGn+HVPjFP+NEWyOCjEQ0nKEssvrr/DGVM9ebZf077noFPmersp9pE2G+LiaJomacoigOJVwdrw6VZQ0GUOz/Vavv6g4zhHUw3Uq+E8o8D8YzOjp/LZkY0Bfu3LJBdGR072Tz+Id0+l3YeJUvEchQfDQQP/Q6uftXa3itTTr6Q0/JG8+2exDxIQRatkHQTln0C+S8Nt7v6vYqNmha32agaB13gK8t8xoYZnPBQHbCH1Fr5O7YVj6/+8BjL5925NxJczo+bGelGQ2yp7ynVSuq1HwGfiXlncHC0ssnmURYSPFuDPUpf+1d1I5h/KWK5r/BaX7A/J5vXVd2u/UUAfjdyGtRX3TKDwT5iVb6zyaENB39p2VdZBZ6NanyzAEGHZ1HkgSu8EnSSrU0LwdhJi8jSV/RJ1G0qR6J5tBYkE5CVXa+jb3ecgBQN/dPkC+MkzAtNp+iOM9zWY9kNP555oUQqNRDPPIXgnYlBrLl0FUxjXUy8ILNFRJuPmcHVhFe9UcSRCfi8YKuoHJ4N5e2ulc5HrT5mSEHpFuc9ptGji/I7/MwezA==
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:(13230031)(4636009)(396003)(39860400002)(376002)(136003)(346002)(230922051799003)(1800799012)(82310400011)(64100799003)(186009)(451199024)(40470700004)(46966006)(36840700001)(5660300002)(44832011)(2906002)(8936002)(8676002)(4326008)(41300700001)(6916009)(16576012)(316002)(54906003)(70206006)(70586007)(40480700001)(478600001)(53546011)(26005)(31686004)(2616005)(83380400001)(336012)(426003)(40460700003)(66899024)(36860700001)(81166007)(356005)(47076005)(36756003)(31696002)(82740400003)(86362001)(36900700001)(43740500002)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 16:46:30.9464
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3dc7de0e-c123-4a12-caca-08dbeab16a6c
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:
	BL02EPF0001A105.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8837

On 11/21/23 11:27, Stewart Hildebrand wrote:
> On 11/21/23 10:18, Roger Pau Monné wrote:
>> On Tue, Nov 21, 2023 at 10:03:01AM -0500, Stewart Hildebrand wrote:
>>> On 11/21/23 09:45, Roger Pau Monné wrote:
>>>> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
>>>>> @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>>>>>  
>>>>>  /*
>>>>>   * Perform a maybe partial write to a register.
>>>>> - *
>>>>> - * Note that this will only work for simple registers, if Xen needs to
>>>>> - * trap accesses to rw1c registers (like the status PCI header register)
>>>>> - * the logic in vpci_write will have to be expanded in order to correctly
>>>>> - * deal with them.
>>>>>   */
>>>>>  static void vpci_write_helper(const struct pci_dev *pdev,
>>>>>                                const struct vpci_register *r, unsigned int size,
>>>>>                                unsigned int offset, uint32_t data)
>>>>>  {
>>>>> +    uint32_t val = 0;
>>>>> +
>>>>>      ASSERT(size <= r->size);
>>>>>  
>>>>> -    if ( size != r->size )
>>>>> +    if ( (size != r->size) || r->ro_mask )
>>>>>      {
>>>>> -        uint32_t val;
>>>>> -
>>>>>          val = r->read(pdev, r->offset, r->private);
>>>>> +        val &= ~r->rw1c_mask;
>>>>>          data = merge_result(val, data, size, offset);
>>>>>      }
>>>>>  
>>>>> +    data &= ~(r->rsvdz_mask | r->ro_mask);
>>>>> +    data |= val & r->ro_mask;
>>>>
>>>> I've been thinking about this, and the way the ro_mask is implemented
>>>> (and the way we want to handle ro bits) is the same behavior as RsvdP.
>>>> I would suggest to rename the ro_mask to rsvdp_mask and note
>>>> that for resilience reasons we will handle RO bits as RsvdP.
>>>
>>> But the reads behave differently. RO should return the value, RsvdP should return 0 when read (according to the PCIe Base Spec 4.0).
>>
>> Hm, right, sorry for the wrong suggestion.  We should force bits to 0
>> for guests reads, but make sure that for writes the value on the
>> hardware is preserved.
>>
>> So we need the separate mask for RsvdP, which will be handled like
>> ro_mask in vpci_write_helper() and like rsvdz_mask in vpci_read().
> 
> Agreed. The only reason I didn't add RsvdP support in this patch was that it wasn't needed for the status register... Since RsvdP will be needed for the command register, I think I may as well implement it as part of this series, perhaps in a separate patch following this one. Stay tuned for v8.

I just remembered that RsvdP would actually be useful for the PCI_STATUS_CAP_LIST bit in the status register. So I'll implement it directly in this patch afterall, not a separate one.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:00:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:00:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638055.994301 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5U6g-00009M-SG; Tue, 21 Nov 2023 17:00:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638055.994301; Tue, 21 Nov 2023 17:00: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 1r5U6g-00009F-P2; Tue, 21 Nov 2023 17:00:14 +0000
Received: by outflank-mailman (input) for mailman id 638055;
 Tue, 21 Nov 2023 17:00: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=rqtY=HC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5U6f-000099-Do
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:00:13 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e83::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e2e746a-888f-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 18:00:11 +0100 (CET)
Received: from CY5PR19CA0054.namprd19.prod.outlook.com (2603:10b6:930:1a::15)
 by CYXPR12MB9319.namprd12.prod.outlook.com (2603:10b6:930:e8::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Tue, 21 Nov
 2023 17:00:08 +0000
Received: from CY4PEPF0000E9D0.namprd03.prod.outlook.com
 (2603:10b6:930:1a:cafe::d6) by CY5PR19CA0054.outlook.office365.com
 (2603:10b6:930:1a::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18 via Frontend
 Transport; Tue, 21 Nov 2023 17:00:08 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9D0.mail.protection.outlook.com (10.167.241.143) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 17:00:08 +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.2507.34; Tue, 21 Nov
 2023 11:00:07 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 21 Nov 2023 11:00:06 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e2e746a-888f-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IF1Lmr+dd2DwyTq7lGhRN9aZvLj3EVoLvS3CVUKv7ibpV+4Z95ToAQQcDNbrUpxJ4KeLcIKDxp5AkmMMTfXlZmXj11DyJqAPrNqCwLOn+jzK0S1Q2WzvEqQl34pqqpGNGnXYHBlfLFq4G9Lj/G0ShvD29nSy+wBx7Z6sSm8al8ohobxkJ9TnCyseHs/lA4kHIw431dE6LvuM3TP5PttNa9fmMzwOPozFcQFz2f38Ji54AlJ71K9YdN2P3AMiY28uMwtmGtVU7ogrgNVzbf9T2S+uI3/1ghMkTGoRMjgNZM2lGIbEWKM/Rx12AiDPETXf97xnjku9ianZ+7j+UtiK9A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p2DtZCfTxvSpWr0hbq2RadosLP0CREHWT5Q0fDnOS+Y=;
 b=mY6wSro9n4Hjy6lQkgX6agfHvS+d/OfeUlmW79hrfTB593wCSxIIdZCc/30+1tyUziZBiQBLx4xgF3FfycLslEJp/BBw5YHbn76WELbke1iXzgDc0rjaAagqet/Xb8wRZohVv2qhmQe5ZVcuJONehsCJWs+8bLx3s/XcolgamfowTq/LHn9r97XuWIctWYjQCGbocCGDYqLJcOsu7hVI2/NagWxBXszOFRjhIbrspUYGio1nYI9FeKz3pQHTXtzfRT3tYy4uVCyWBe0bCpcR+bb28f54UOHyM/KEmhhPAo43Y8m3GaytNTu8qaTPS6TMUAbQSNq8ZZgSm/bG2zUbfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=p2DtZCfTxvSpWr0hbq2RadosLP0CREHWT5Q0fDnOS+Y=;
 b=Sz+5ewM1lqTu0pHO7oF/BvE87SLhD8e6LDWQmZAHgUEkbnkXoHrWyi6RQ65kmhHCqCFflMVbWqsnmpRsc1OQmQpDtcdsact09CMj6LXQyNkvxTuxJbWoOoLl5QzgxlXEUKlvzzUSlVNVyh8tOGpR2gek0CYQCewAzLgY3qycVtE=
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: <5b4ac8af-98a6-4757-9946-d520baa6a2a7@amd.com>
Date: Tue, 21 Nov 2023 18:00:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/arm64: head: Move earlyprintk 'hex' string to
 .rodata.str
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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-2-michal.orzel@amd.com>
 <cbe5470e-2017-4c4f-bd32-987da72aaf44@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <cbe5470e-2017-4c4f-bd32-987da72aaf44@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D0:EE_|CYXPR12MB9319:EE_
X-MS-Office365-Filtering-Correlation-Id: a40a4d66-25a4-4202-6d9b-08dbeab350f6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SsH8PShngre1PIqQUZz9B62vBkR9ClnpYBFz+eMiVYN3nBGFPFa0pUESHEpk7dRjnJEyt3HI+aQkO/OHiNOOH7k9WcEyPVwF7y2U3XfrfSt8rr5aU1I5boDLI+jMmh+AawgzseXnXBV2hSwU6KTTDl+5jGolHrjpU8oNC4uNXwHdrNu8Y3N1Ol7mfIOPAt6m0rlTF2dbXpqsPxiGR4ND3Cth0uxyx0NntLon8U9Y4uKwsz4ZOzBxDZ7hKEHs/wiHEyL6QfgUI4fruZor+X1KPKOWS2OgFox3S7Ei9QXCGgUjbalThdef4gpuhRQFTku+zo8iR9Z6J9z8aRWhrhR1PCzEcsqF4BdiuCmndPNH7BGiOoNKi+EUIonkNqWwowW5H9szWrOLt5cvJw6yKKMCx2TBwSWC02Tx7etNZ34/XiT4PakBzPQ0x2qLfQDD0jhfOjjvrE1X/WDQqUHdnteO0vzqunYdis9LBfylAnmbU9i9wgaiydpuifzVxJzITsmBBr5JvTD+0iU7EFh1f8qzCQFW0TJvjDXBdmPN+a7IpUxiIaC/6w1kZbCbI2VUU811BgF/7Jk5tkoAWweOEcNnAzlfjwAJYHudbUmJDb099ODBYYS005ZEsIA215hVQ5B3Rl1XZH69W8wkqJGLJjkQ7VrIik/+P6XOxUGXYNKPlXy4q6ASDgZBt2mSf80fxtT/Vtzdq73JzzhqRFXOY1mbqvhGVtmm+dWbwpQHZH9I8QYBc4vMenOmA+23z07eeuYccyNZ4//ZWoOYYycDgupiQ1hZADhROwg+WaaZgqfKigCLt662zAerobMMnX/Y9d3frEfmnvIAVIYXBDrkFtCfFQ==
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:(13230031)(4636009)(39860400002)(376002)(136003)(346002)(396003)(230922051799003)(451199024)(82310400011)(186009)(1800799012)(64100799003)(40470700004)(46966006)(36840700001)(41300700001)(36756003)(86362001)(5660300002)(31696002)(2906002)(4744005)(44832011)(40460700003)(81166007)(356005)(40480700001)(47076005)(2616005)(53546011)(82740400003)(83380400001)(426003)(336012)(478600001)(26005)(31686004)(70586007)(70206006)(316002)(16576012)(54906003)(4326008)(8676002)(110136005)(8936002)(36860700001)(142923001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 17:00:08.0179
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a40a4d66-25a4-4202-6d9b-08dbeab350f6
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:
	CY4PEPF0000E9D0.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYXPR12MB9319

Hi Julien,

On 21/11/2023 17:09, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 21/11/2023 09:45, Michal Orzel wrote:
>> At the moment, the 'hex' string is placed right after the 'putn'
>> function in the .text section. This is because of the limited range
>> (+/- 1MB) of PC relative 'adr' instruction 'putn' uses. Modify it to use
>> 'adr_l' instead (range extended to +/- 4GB) and move the string to
>> .rodata.str. This way all the earlyprintk messages will be part of .rodata
>> and the behavior will be consistent with what we already do on arm32.
> 
> This will be correct today, but I am actually thinking to move 'hex' to
> .rodata.idmap so it can be used while we are on the 1:1 mapping and/or
> temporary mapping.
So you are planning on extending your series to also cover arm64?
If that is the case, then I'm ok on postponing/dropping this patch.

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:02:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:02:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638057.994310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5U8g-0000nI-9Q; Tue, 21 Nov 2023 17:02:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638057.994310; Tue, 21 Nov 2023 17: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 1r5U8g-0000nB-6K; Tue, 21 Nov 2023 17:02:18 +0000
Received: by outflank-mailman (input) for mailman id 638057;
 Tue, 21 Nov 2023 17:02: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=rqtY=HC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5U8f-0000n5-7y
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:02:17 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20622.outbound.protection.outlook.com
 [2a01:111:f400:fe59::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b8731b05-888f-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 18:02:16 +0100 (CET)
Received: from BN9PR03CA0210.namprd03.prod.outlook.com (2603:10b6:408:f9::35)
 by SN7PR12MB8003.namprd12.prod.outlook.com (2603:10b6:806:32a::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Tue, 21 Nov
 2023 17:02:11 +0000
Received: from SA2PEPF000015C7.namprd03.prod.outlook.com
 (2603:10b6:408:f9:cafe::96) by BN9PR03CA0210.outlook.office365.com
 (2603:10b6:408:f9::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28 via Frontend
 Transport; Tue, 21 Nov 2023 17:02:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015C7.mail.protection.outlook.com (10.167.241.197) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 17:02:11 +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.2507.34; Tue, 21 Nov
 2023 11:02:05 -0600
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.2507.34; Tue, 21 Nov
 2023 11:02:05 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 21 Nov 2023 11:02:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8731b05-888f-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cT2NdHKO63QpDAlwUkMrqymPvcJFSBg0jMsIPUs/48W/OJ/pFjkxaWShJGGzEV5l8gtTPhgoFQdpDMJ8S+50ItAyxLIZGqwlUFNI5eR0TMyOTAzm3mRc3AQ8IaFIAGZpRBnKEDLXIroA8mWRhJfaIgAygROTwZW4UsRbWyx1UCoI3vG7E1AWX2opN4I3bL5JKaSLX8/Jl8kLfDQyM0LmznmkOjS9xwwjU3cgb4QSAtZ8DSEnGmFS3a4mjXGIfX2GvoXXsuqyo+/WgHe5U3ZPGDg/PTe2Z4oYptSnaVIuoxxanLFH5c7mttQ8UApAY6mi0Z4Qty/jzSa6X4nBTktyBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hcomW10rOYplO63Jlr9+7f0u0719wmUy6o0yDWVuVQ8=;
 b=RrX+EEvt6mpTidZw2/1XUfUxCVoXjnwbVkGpYFL26c4PT7ZWQ6TQD+caeZvKlHsUJHsJpdi+zWapRZdBL+caRL0HrLF7Y/GD6bLIuKycxa8FS9UxJqQQNkKGuVR/9wipBSemWWTSP9E2Xo1cn2SzrwTPn0bkeZRt5/P99XQXxrsVNTbp4VGjLnSw10+KwsQgvFhSGaHDAsyQVZaa0rQIJEfhabzoxqNd1ZklNAZUJbwK1I2EvmQocubrE7+tDMX4FYy4p7LYhB0KjyUa8RWdljyRpu7dzl8nXOIL3XANcyCFaEVh8IbMDSatBFDXHKdtb6sR/LfWvo1XIviKvEtyEw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=hcomW10rOYplO63Jlr9+7f0u0719wmUy6o0yDWVuVQ8=;
 b=OXcYn6cqHMCP1l8cZ8nwiWTclniQjECatEBhuejcoxBcxcwuHEypAT/hmc5A/J0OODx4vXpZy9oDxF8qGKSVFRpqG/LJV1QCP/IiywN+3vu32mKEr0/SFha+ROQ0OSEMqtjl2XD00dH+Zj7A9ygahRbrX8Flstsemsv8D376VYg=
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: <1d4201d5-c28d-4f35-9c11-19b3b52cc015@amd.com>
Date: Tue, 21 Nov 2023 18:02:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/3] xen/arm64: Move print_reg macro to asm/arm64/macros.h
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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-3-michal.orzel@amd.com>
 <efbca156-948f-4fcb-98b9-05f13f8c076b@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <efbca156-948f-4fcb-98b9-05f13f8c076b@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C7:EE_|SN7PR12MB8003:EE_
X-MS-Office365-Filtering-Correlation-Id: a1ab8c43-8f48-4c2a-f4bd-08dbeab39a45
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BoCtjkU9RbVUpN0S3PrUNdynGNSpUIHLPDYt5QfuJuKV+HSPhndmuNyUIjC2dOVJZ9nTeD2Oxv8B9gVoWHYulL0/Jcu00fA9ypFxj6b6Su6Y4rGhra26L68QnN09OYWtO9sDJUYxl1p8XFZHjErPh2GHB9xtoHYypn8Ik3Y5GMq3VKKzzKGzybdm6PFurN7Es20WwQ2+25baAmDYpJHsYColqKjvsyFXkQrbRjZELHZKgAVg11RAnd/70p8oi05F9SSUqFXxXfiYmzVuqEcnSTAg5bOW8WC2O+jvMZ11oTEBbkil0b142OJffnVFmqURSxf34elR1I6RXlF+zetwQaEnskFe7LQSYs1TPNQqHdAgtPQA4Cqh21GPMsOEvaZe0fU+tylhj0dRgX9KKIzaSz1IbDkmYtUQOIFH9tR8PUYQ9hIjpN7px4ZXcGQqmmz08hDxwgADQ3I/E7CGumCsBXgiqexdOnTnVj9EdQl9DADSQVdtCGzEY5cbxodNsefyBhuULMlF9zXPKdsH0w92PNndu3UUOqC317gzzOhvwSRyoCrDE/wSqJ5HYH2pvi9ml7Vt07Kt8q0r6LL6dHqgvMrVL7Gms9C4m1E85ctVVPZYZaaKnBAGJI2fYia7OR/OSb24pUoYJ4Pc+cx2rrRmf09ge5+PHh1o+cMrtaoB1hGLFJY8lJqFaWo5lR7oTIcAca0HE+LEIgATp5plgWhBbxF/h5egjvo+p5L2R2XXzrn4Ks3+lj0+K+Wp5LdwIXJ9Zwruz1O5bBYgwlKFWm2eEjYWKUrJqyJUA6x5F/NioCVw60hNdTRCnvdHPloxIW4F
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:(13230031)(4636009)(39860400002)(136003)(376002)(346002)(396003)(230922051799003)(451199024)(186009)(82310400011)(1800799012)(64100799003)(36840700001)(46966006)(40470700004)(82740400003)(86362001)(31696002)(356005)(81166007)(40460700003)(36756003)(110136005)(316002)(16576012)(54906003)(70586007)(70206006)(26005)(2616005)(426003)(336012)(478600001)(5660300002)(53546011)(44832011)(2906002)(4744005)(4326008)(8676002)(41300700001)(8936002)(31686004)(36860700001)(47076005)(40480700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 17:02:11.0441
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a1ab8c43-8f48-4c2a-f4bd-08dbeab39a45
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:
	SA2PEPF000015C7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8003

Hi Julien,

On 21/11/2023 17:16, Julien Grall wrote:
> 
> 
> On 21/11/2023 09:45, Michal Orzel wrote:
>> Macro print_reg is used to print a value of a register passed as an
>> argument. While today it is only used from within the common head.S,
>> in the future we might want to make use of it from other files, just
>> like PRINT(). It also serves as a great aid when debugging.
>>
>> Expose print_reg macro by moving it to asm/arm64/macros.h and:
>>   - rename putn to asm_putn to denote the usage from assembly only,
>>   - use ENTRY() for asm_putn to make it globally visible,
>>   - get rid of unneeded stubs for early_puts, init_uart and putn since
>>     the calls to them are already protected by #ifdef CONFIG_EARLY_PRINTK.
> 
> NIT: The last one read as this is necessary to move print_reg() to
> asm/arm64/macros. But really, this is just a clean-up. So I would add
> something like "Take the opportunity to..." or similar to make it clearer.
Ok, I can do that.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:05:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:05:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638061.994321 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5UBH-0001Zd-Px; Tue, 21 Nov 2023 17:04:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638061.994321; Tue, 21 Nov 2023 17:04: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 1r5UBH-0001ZW-NH; Tue, 21 Nov 2023 17:04:59 +0000
Received: by outflank-mailman (input) for mailman id 638061;
 Tue, 21 Nov 2023 17:04: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 1r5UBG-0001ZK-5f
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:04: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 1r5UBF-0006sv-QP; Tue, 21 Nov 2023 17:04:57 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.19.28]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r5UBF-0001xS-Jw; Tue, 21 Nov 2023 17:04: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=Q3pbh1ynVW28rGqHUo+qRU7/t2557DH/xid4lvFVKJ8=; b=tjLKgboCUrQWOBHkjlIpXnWzoP
	i0F5gGt2QtUAEEfkuulKv6fytt4N451Upa86/3yDtxNFWPyyQexBXtz/Ylg9bIaSreAQtVnr16i59
	WIQm8U0pzVfPrRSi2mJaK6HvoscXcUmuq/9Zja9ysx7Pu26ZR6+sO/sqqRx6E751hcds=;
Message-ID: <20135dd2-d36e-4c83-bdb6-b987174f18f2@xen.org>
Date: Tue, 21 Nov 2023 17:04:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/arm64: head: Move earlyprintk 'hex' string to
 .rodata.str
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-2-michal.orzel@amd.com>
 <cbe5470e-2017-4c4f-bd32-987da72aaf44@xen.org>
 <5b4ac8af-98a6-4757-9946-d520baa6a2a7@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <5b4ac8af-98a6-4757-9946-d520baa6a2a7@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 21/11/2023 17:00, Michal Orzel wrote:
> Hi Julien,

Hi,

> On 21/11/2023 17:09, Julien Grall wrote:
>>
>>
>> Hi Michal,
>>
>> On 21/11/2023 09:45, Michal Orzel wrote:
>>> At the moment, the 'hex' string is placed right after the 'putn'
>>> function in the .text section. This is because of the limited range
>>> (+/- 1MB) of PC relative 'adr' instruction 'putn' uses. Modify it to use
>>> 'adr_l' instead (range extended to +/- 4GB) and move the string to
>>> .rodata.str. This way all the earlyprintk messages will be part of .rodata
>>> and the behavior will be consistent with what we already do on arm32.
>>
>> This will be correct today, but I am actually thinking to move 'hex' to
>> .rodata.idmap so it can be used while we are on the 1:1 mapping and/or
>> temporary mapping.
> So you are planning on extending your series to also cover arm64?

It is not in my soonish plan. But you are arguing that this patch is for 
consistency with arm32. This will not be after my series.

And I would not change arm64 just for consistency because I don't view 
it as necessary. The boot code is already not the same.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:18:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:18:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638065.994331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5UOV-0006YV-Vw; Tue, 21 Nov 2023 17:18:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638065.994331; Tue, 21 Nov 2023 17:18: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 1r5UOV-0006YO-SN; Tue, 21 Nov 2023 17:18:39 +0000
Received: by outflank-mailman (input) for mailman id 638065;
 Tue, 21 Nov 2023 17:18: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=rqtY=HC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5UOU-0006YI-M2
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:18:38 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20621.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ff8189b3-8891-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 18:18:34 +0100 (CET)
Received: from CY5PR22CA0090.namprd22.prod.outlook.com (2603:10b6:930:65::12)
 by MW6PR12MB8959.namprd12.prod.outlook.com (2603:10b6:303:23c::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 17:18:31 +0000
Received: from CY4PEPF0000E9CF.namprd03.prod.outlook.com
 (2603:10b6:930:65:cafe::66) by CY5PR22CA0090.outlook.office365.com
 (2603:10b6:930:65::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18 via Frontend
 Transport; Tue, 21 Nov 2023 17:18:31 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000E9CF.mail.protection.outlook.com (10.167.241.142) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 17:18: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.2507.34; Tue, 21 Nov
 2023 11:18:30 -0600
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.2507.34; Tue, 21 Nov
 2023 11:18:29 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 21 Nov 2023 11:18:28 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff8189b3-8891-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JgksNS888DMA1Vf0uLJS5Jn/QTXXzFIgZxdtdJG+FjHwKKSwHn0hI8bXjeY8PWY3fZBXwLZo0GB/P2p5o38u1ZofJuvpH6DKAnpGBmfkE0udPDqA6TfIAQUocXLYxDvJzvbdGxegmfMDI+VgBu/GhH0AwuEf8yiRtF+1e+0CSJB2FWhQTiaiKxmInJ45dF/HE9hKWSZwo1XB3Lwjln6+4NoEcvXG6oiKMXOQtFAc6KQlCIc9ZAMikCAdbIUIWZ3bYWq7N1ur+nb5kY2i76uxaXu2WweOMgrxxrpMY6TkCWydKdnDTeZTI/rmOAXugfQYaRMMq/0YOZjV213dNlUGBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qnOskI6WWO0cXC48DYa5rmbPVghd5aU+26T/jbeh1iM=;
 b=FmeQHEMrQFEzoHCmxnbDz1t/BGDoBFILR48ZUlha1DSdCSOlYzqa/50Ndrb3/TDhqOggF7x/cDCz1jn4f1ybw+JOoixSrYiYhN8zTEzSyisfjoP/c0NWjx+9H1rCb1ZDwCuEo3nJUlnW/wn917g5o/cy2PX4GjUsraFrBJPKKMgfwJvAGVGEgV6cR5S0TPGCPogSPwwRpHYe7Of7xRmJf55UBPBaOpkJ7gwD/fQqGUSvrbzJrc/ddyaMO974csfeYdTa9O8xru103oYloA5dZ2OEPZSALkHn2OEtpTa5AtX7VZ7IJO1SAT0J4YeFFbvhf4JM9ejfGvstQc+oSBs/qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=qnOskI6WWO0cXC48DYa5rmbPVghd5aU+26T/jbeh1iM=;
 b=Owa2McDqp2KdQj8VDNL4S3jpmqAQ/tY6mlqSWqvO0IXKalJD39egpK0eR3KUrkVUoqc77Zu5C/QT1Pz/cY1fqVi1PilLf/LIO4AvyjNTT+THmo22T7AtNyfhGfnehyqVIgU149Y114AuPMGkwCwH1NOvEi0CkAIYUhCaTWx+o+A=
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: <609e34d9-654b-4dcd-8be7-15aa10fe3a25@amd.com>
Date: Tue, 21 Nov 2023 18:18:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/arm64: head: Move earlyprintk 'hex' string to
 .rodata.str
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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-2-michal.orzel@amd.com>
 <cbe5470e-2017-4c4f-bd32-987da72aaf44@xen.org>
 <5b4ac8af-98a6-4757-9946-d520baa6a2a7@amd.com>
 <20135dd2-d36e-4c83-bdb6-b987174f18f2@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20135dd2-d36e-4c83-bdb6-b987174f18f2@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9CF:EE_|MW6PR12MB8959:EE_
X-MS-Office365-Filtering-Correlation-Id: 7acb22b2-d817-4a92-a5e3-08dbeab5e21d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0I4UiBSHKVIb1JGgnwWH9Eg/DUlZ1yOZ78CMdWMAwx3MnJ2TzkRZgqdubqdVjA0us7nhZ/mNOUxNI5NbrTN0c17A0tYpP4gXBJvtUepHcJoCvrngO7mmPJsL9faVWqe1mgRJhpwwcjfmBie0ZksgwT/Ibly6YLdDSvCDIALluKxlbZzbMQtItTPN7GXLaAq44qM6Vn2jqSmfusZAQo8nzt8NYnP9plfoPTKsVvkogsO8BQUcWyc6fo3Ilop30bfLMYh6dxVdYzc5tDSCv1pycBVtv3cQbUce80PfXGU41oAFxz+aYKd0o3LvYGjRlL7ENdy+l7jPFjKE/Sy6ojBDu6HpRaiLh87PGhYOlZfeIHwYqVejf29VnhNRW7ZCS5lrKQjST4rtsgdtaw5QzSCdHklbo3A66SAug2/k8BS0PSrwX0ABW1P9frXRTn8YbQOajIg+Ph/uH/vpN/pjN4NMaz5sStq6PmZdZYZZdEPM21XgrfrBUqdMHqY8XPejkbRyYssiA/DeOC9zkCM5uoyuKeLEiQKt6mfQPl6psINRQOClKmGitTzULPpmISVlS1Fbnq+IKeNeDhaCGEvnAT9wrYrx7vShKcgVMcU+kf9/6hfOTQZNgvNP9pO0M2nkNcrHxiJKdlBrvHJ1Ntstt3e0OJ/fLyuIpOqjT6qOqbe9RX9T0BRFJJfpc07R4ALWbc5emIM+XSa8+6BPy5vclZmbmOTEDtij7ihIg6g4yBs/c4DespoKZ8Pkp3+6EdcE5kffDuiwUNrOvsku6DlqccImkUJmsji5jeUpvAFqgeUReQLUXhOmUM4js2/RrZ4/nBnApHr8hKPibQPfIQ6y0nWUBg==
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:(13230031)(4636009)(396003)(39860400002)(376002)(346002)(136003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(82310400011)(46966006)(36840700001)(40470700004)(2906002)(5660300002)(44832011)(40480700001)(41300700001)(8936002)(4326008)(8676002)(31686004)(316002)(70206006)(16576012)(54906003)(70586007)(110136005)(40460700003)(66899024)(47076005)(86362001)(478600001)(26005)(36756003)(53546011)(2616005)(426003)(336012)(36860700001)(83380400001)(31696002)(356005)(81166007)(82740400003)(142923001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 17:18:30.5537
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7acb22b2-d817-4a92-a5e3-08dbeab5e21d
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:
	CY4PEPF0000E9CF.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW6PR12MB8959



On 21/11/2023 18:04, Julien Grall wrote:
> 
> 
> On 21/11/2023 17:00, Michal Orzel wrote:
>> Hi Julien,
> 
> Hi,
> 
>> On 21/11/2023 17:09, Julien Grall wrote:
>>>
>>>
>>> Hi Michal,
>>>
>>> On 21/11/2023 09:45, Michal Orzel wrote:
>>>> At the moment, the 'hex' string is placed right after the 'putn'
>>>> function in the .text section. This is because of the limited range
>>>> (+/- 1MB) of PC relative 'adr' instruction 'putn' uses. Modify it to use
>>>> 'adr_l' instead (range extended to +/- 4GB) and move the string to
>>>> .rodata.str. This way all the earlyprintk messages will be part of .rodata
>>>> and the behavior will be consistent with what we already do on arm32.
>>>
>>> This will be correct today, but I am actually thinking to move 'hex' to
>>> .rodata.idmap so it can be used while we are on the 1:1 mapping and/or
>>> temporary mapping.
>> So you are planning on extending your series to also cover arm64?
> 
> It is not in my soonish plan. But you are arguing that this patch is for
> consistency with arm32. This will not be after my series.
Hmm, consistency was not the only reason for sending this patch. It's a beneficial side effect
given that putn implementations are very similar on arm32/arm64. Are you saying that
moving a string that is const from .text to .rodata is not a good change?

> 
> And I would not change arm64 just for consistency because I don't view
> it as necessary. The boot code is already not the same.
I don't recall trying to make the entire boot code consistent. But if there are parts that
are almost identical, I think symmetry is welcomed. It helps reading the code, at least for me.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:23:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:23:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638068.994341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5USx-0002OJ-Gz; Tue, 21 Nov 2023 17:23:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638068.994341; Tue, 21 Nov 2023 17:23: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 1r5USx-0002OC-DZ; Tue, 21 Nov 2023 17:23:15 +0000
Received: by outflank-mailman (input) for mailman id 638068;
 Tue, 21 Nov 2023 17:23: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5USv-0002O3-DC
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:23:13 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2042.outbound.protection.outlook.com [40.107.7.42])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a444877e-8892-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 18:23:10 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9454.eurprd04.prod.outlook.com (2603:10a6:20b:4d9::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 17:22:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 17:22: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: a444877e-8892-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=enNS52afnS63SxlDWovPieDeDz6wQ2l7WDMKZO1l+Xb8zwICgxJG5Xq23SykSLSGHq767Mr5Abf1loM7USAxL77Z2DXvyVJZi8Cltf05Ach7kxcLsaPxqvxsgiuQLONqNK01LcCd2IP8g0XFFRimiKnPIMdPZbYQk2s3idrOd/oDTat0WHM1T6hwFXrvvJMhtefhWauGIVl+pJiRrWAmqZ+v9dRV9S2bZgm6blneKcy4lELv8FWALZTWiumKxj2TDmqe54YXR8d4+8+5/qIKMWatKvPNLvRLYsGcBaY8NCLoKuqNpP/LE+X+/598HzLAXz2vXEmYxYdfsXF9/WN7BA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=DGevIx+P3bFvuUAu1cGXEWumND3x1C29q42wN6RmLEY=;
 b=PWU7UPzO2pvTKYtSypi+BLCZwprojgGPfrb9q+UfFmOoou0MZMQZkjSfZChlOVxB/T921HeC7x6HIJuyf4wYt0G8zcfpJPuJmRkHRI5f2qTgCzvOnbS7zmgtf+HvGC6Ky1OynsbaEwTaYXZljII0Fo7v62TQocbKv5uEs0Ni2VHZB20S0lf/WyIqqcnLPz+DTfd3vLJNF+5v9OvQYgwyxr0lasgSVArCaRFvjb3koYo+6/QLj1l86adpuBeDHCdkFXjmmu5cYDbgAV3h9MYv2Q37ySmpTmF1qvA0NMopSURKeDSvfkdWmit2vN5FIcid5MFXQ1BHOXYGLX4GR3wauw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=DGevIx+P3bFvuUAu1cGXEWumND3x1C29q42wN6RmLEY=;
 b=ZfCMcOsVuq0A7dDlpzGKyMZp35fqreFPDq3HojZOW837ZXiUyytnMl76Z/GMcOxC7yVSmyogo/6y5dwaM2DaQUKqZ7YwF7U+LeXeIEZnzLqcmPZMhLSQFqR0uY+ORqN5b1zH9bj7HnkeXQoMOmBvJBfc/Thibf561IOn6HRyKNg+RKgC/j5JqJ0EHumJgcFBW1wWNS8yJxa/e2O6OxAC3F6QOmu+D4pA28/sia/6c7p/+YNFK9S4jFxeG0RqSmRG2hEyvS3ntOtRWwzk4WjI/VQpgUdu0Mbh46RmIWGkJouFpDs+yvb3E0MULBfpAtfzF6vft5p8QdcQPGZhr0YTAg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a058b837-82da-4b93-be5c-b616511d24f9@suse.com>
Date: Tue, 21 Nov 2023 18:22:37 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/5] VMX: drop vmx_virt_exception and make vmx_vmfunc
 static
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <fd9d6043-4877-4156-97d9-4bdf7cc8fe04@suse.com>
 <ZVzROZu9Afs-mEah@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVzROZu9Afs-mEah@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9454:EE_
X-MS-Office365-Filtering-Correlation-Id: d8c4d462-62f3-4c4b-9cc4-08dbeab6766c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DLIu3Pko/I5azU32VjfHJi7hlX/TslOjp8q4lCQwA5EH4Bcl1lZscxQK8Jn418xrRD6YAQwPFbmPNbP2kwd6fpHkNJtaInUj9nOhry1TJnTie41ztapUg5Vv7Llbu3cWJHadtLOGmUodU1CF1i8I9/sHPaid/0szod6mYIz1VLftTPmzpQksEdc+cXZfOydzf5zSU/69glgrIWmie9OL7SfAmaMUXkgolK4TbLZXw7I0LG3ZtZ5xWspL8ghjQmfwzEpocoTtXJ6fqls/S8gzuvHDtcFY8TMypUWXnaulX/yo/Y9z+3NqlUoeukZTrSSgnBrUVwDyAKCG/7KiLRb7XzjQgPiE17VROXIuYa2Pa5VY71qUljhwKW2BIKFSCpcvUofPnvRpTo3F2rOWhUJMuOLvrv1yiq601GY3ORjF9VR1pNRrS/hr4Nj1Gtr+EYwC4YM8SK4Zj3wYgy3lfaY3nnQNl7+t/AmLQo4qqDud5v1/WL+QJxblNDBe9ARBLJIzUCXGFzDEMUSHsz0TPv6kG13mWVl/fA0WUsOJQiGArgxO+KD/R87kaGpWDcvf6S1atvijzlf+DvOdDili1ibMoSYVeLfhB+eY2qE/Y+ichJrRp0YwKk06LhHgsyQu+jprsYtDkBkZy3BYvy3/2RduDg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(39860400002)(366004)(136003)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(86362001)(83380400001)(6512007)(53546011)(26005)(41300700001)(4326008)(8676002)(38100700002)(8936002)(2906002)(5660300002)(478600001)(6486002)(6506007)(66946007)(66476007)(6916009)(66556008)(54906003)(316002)(36756003)(31696002)(31686004)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TFZyOUR1SFJESEVHZlJFamhWZHhWc1p3YjFGc0JYbXREcFB0SmxUU2QxYmh3?=
 =?utf-8?B?Y2hMYWdUSlQ4b0JQcGhZL0Nrc0UvbHJPQzk0Qis4TUtnaUJZRlY1UHBZYmhK?=
 =?utf-8?B?K0R3Uzkza0RPbE5RbWF4Yy83SUo2cExxcmEyaWVVeHd3MHJiNnJVMnpJNjN1?=
 =?utf-8?B?dm1ZSGNwdEFyS251Q0JhQm5SRkJybi9JS3F6cWNja2NWdXFkSG10MVFsMXhu?=
 =?utf-8?B?MWlSY3FDeWxZTUlQS3NaZjBENnE2QkpvalE3NlEyYUpldEszY05XQVVkWTlG?=
 =?utf-8?B?blBlUExIa0tGSWRadDl0YUNmRndLMHpTbkwyenJwL0ZpQlh6aEhndnNiUGt1?=
 =?utf-8?B?MVJvK3JHZ0VwOFQraEpOL2tZVVV1OWxnc3RhSDQzWUdiNUlCQnFkTzV3cTJC?=
 =?utf-8?B?dXI1dGJDWjRId0tING8wdWhmY0kwdm05ZkZpWDZqSVNoVUxqVVlBM0NjT2Rw?=
 =?utf-8?B?VmNnOEJocFpPSUtOanlRVEJjRjBvMk9nR2Q5c1d1M0VVQmZsRVBoVStUTGJ1?=
 =?utf-8?B?b281U3VYQkFqT1NqMFczditabGloMnlpemxIeForcEtuVk1JbDBIRkthWGlm?=
 =?utf-8?B?NHgxOVRuU1pTQmJRMG5CdEllYTl2RlMwV0d0MjR2VUtrUW8rK0xvbGxYaHZK?=
 =?utf-8?B?U29ZZjM1a0lFQlM1MFRQV0o1YmFGWlhIZWdIcjd2WXJrbk1aYmNkUmtXVTYv?=
 =?utf-8?B?SzZ3a0VyaDQ2aXJVUmFURG9tZUlOSFpqMi9GM01OVFlCTTFBSWlNb2ZUbnhJ?=
 =?utf-8?B?SGgxL3Z5MlZDZ21xUGYzUFJ6aXFIalpuYzhJeGJJcXZYQko3SzZobm4yWFdz?=
 =?utf-8?B?RXkvZncwcWN4U2JPSUVYd2hybzBkbitBRk5YbnUwRUdWelRqbThUMUtkeVpF?=
 =?utf-8?B?bGpxVGFIdFo4RjRVM2kwM2tLa0YvTEdEMjRpRnNFbHZuTW5EN0FCUFJ2dFVT?=
 =?utf-8?B?SUJnUGVkWEJLQ0FkalZQMXlMU3Y2N0RQRWxNbGRXelhsOFVFcHlPc3V6MmY3?=
 =?utf-8?B?VVdKTmFlMDdzclhBelFvM2MzRHUxNTcvMWNweWgrUFM0NGV4cWtDWGN3Vk9W?=
 =?utf-8?B?UkQ0NUNhQnBGREQrekhSTDBnemlqVG9GVFk3azBObWUwY3dsYzF2cDZraTFi?=
 =?utf-8?B?dWhUWkVoUlpqcS9jMjJhTnZwRENETDRLeDV2OWZuTnZvYjhCb3BQcWl6OWdB?=
 =?utf-8?B?NDBlQjFmdTljSzE5Sm5pWkFBUGZJbWVTMVdwN1V2dnF3VmZEbVdyQmtrcWxG?=
 =?utf-8?B?RkNXUENaWW1ROVg3RVJlZm8wWjFXY0JodHdVNXdoWkE1WXRGT1hZbVV2VXBN?=
 =?utf-8?B?aHNQWmFZSmZUbmlTSjhXdzlsK09kSmlraGpxUVQzZnhGYndqZ2hWQzhQS2xT?=
 =?utf-8?B?SGp4aUU4RVdndkdURHFUS0F5QlplR2R2L0gzQXZkcnNBWVZWU1E5V3ltekZC?=
 =?utf-8?B?WmQzMzBLMWZDUjJOV1FkcklyR1VBYlg1cDBxaEViR0g0am5xU2s0cU53RzZa?=
 =?utf-8?B?eXR3Wm9FMW5NNTdXb2pNK2V1amZSNTNPTUFteWxMTVhZNVhtdGtrbmpCM09C?=
 =?utf-8?B?SDViaC9uc0F3TEZja0R0ajZyUHFkMWpRcWwwMmJ1OCs2Skx5SGttMmg4aW9R?=
 =?utf-8?B?Q25tbDVBMTg3MS9rb0FCRk9WYjhOanMwREt5MDlBbmc0MXc4bnlIWGlEVE1H?=
 =?utf-8?B?VXdPS0laU0RqdXM5QVFnSWhBWjUrcHFjUjhNWk12VXZLbkJ4dVgwOHVMUCtl?=
 =?utf-8?B?UFQ0RG1ZYWM2WmZpYkZBUEw3UDNSNElxQlp5akhJdGVmUWlzMmhCekp4Z2E2?=
 =?utf-8?B?UU00NXRMZjNFbFpOeHQzT3UyWGRyWWhUWDhQaXQ5eWZ4UjFMTFJrYmtNMWVo?=
 =?utf-8?B?UjVQSjBaYjAyZkFFdUFpRU5RSUdsUytENS9jY1dwd2IxcEY0a1dZM0hZUWdt?=
 =?utf-8?B?VlNSdkp3WjJORHQ4bDlYUUFWb1A0T0k5M1E0NzV2dmU2MndOOWNZTHBrb3E3?=
 =?utf-8?B?bUZCNHpUZ1hadHlnRVVJRXJweE5WOEhKZFNRM1BzS21VT3dKZWxkUnQwM0pL?=
 =?utf-8?B?WHhBNmM3MXVLS2JyZVBtbTdsODBvckk0TzNMN3FxNDJxTTR3cmNjaEZoTFd3?=
 =?utf-8?Q?LkeXeRuula8sTym3XOozWVK17?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d8c4d462-62f3-4c4b-9cc4-08dbeab6766c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 17:22:39.7969
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: AsDx7V98qIHLqveu506p2LNXlLACWlo+k7N6Mb2UWYAgNpfnSJiTWuxWoahVbZRqmDM1M8mAwPuVAzr28KJT2Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9454

On 21.11.2023 16:48, Roger Pau Monné wrote:
> On Thu, Nov 16, 2023 at 02:30:41PM +0100, Jan Beulich wrote:
>> The variable was introduced by 69b830e5ffb4 ("VMX: VMFUNC and #VE
>> definitions and detection") without any use and - violating Misra C:2012
>> rule 8.4 - without a declaration. Since no use has appeared, drop it.
>>
>> For vmx_vmfunc the situation is similar, but not identical: It at least
>> has one use. Convert it to be static (and make style adjustments while
>> there).
> 
> I think you could also remove the sole user of vmx_vmfunc, as it's
> just a cap_check() usage (unless there are more hidden usages).

Well, perhaps (and hence my post-commit-message remark in the original
submission). Yet then I thought we permitted vmfunc use for altp2m, at
which point the cap_check() is meaningful.

>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

>> ---
>> In how far the sole vmx_vmfunc use is actually meaningful (on its own)
>> I'm not really sure.

(Here ^^^)

>> --- a/xen/arch/x86/hvm/vmx/vmcs.c
>> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
>> @@ -167,8 +167,7 @@ u32 vmx_secondary_exec_control __read_mo
>>  u32 vmx_vmexit_control __read_mostly;
>>  u32 vmx_vmentry_control __read_mostly;
>>  u64 vmx_ept_vpid_cap __read_mostly;
>> -u64 vmx_vmfunc __read_mostly;
>> -bool_t vmx_virt_exception __read_mostly;
>> +static uint64_t __read_mostly vmx_vmfunc;
> 
> I'm quite sure this should be __ro_after_init, but I guess we cannot
> be sure give the current code in vmx_init_vmcs_config().

I think we can be sure. But if we were to switch, I think all the
related variables should also be switched at the same time.

> Any CPU hot plugged that has a different set of VMX controls should
> not be onlined, the more that migrating an already running VMCS to
> such CPU will lead to failures if non-supported features are used.

That's the intention of that code, yes.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:23:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:23:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638069.994351 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5UTD-0002ne-Qo; Tue, 21 Nov 2023 17:23:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638069.994351; Tue, 21 Nov 2023 17:23: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 1r5UTD-0002nX-NH; Tue, 21 Nov 2023 17:23:31 +0000
Received: by outflank-mailman (input) for mailman id 638069;
 Tue, 21 Nov 2023 17:23: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5UTC-0002n3-Is
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:23:30 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id afda5fba-8892-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 18:23:29 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40907b82ab9so18820495e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 09:23:29 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 fc16-20020a05600c525000b004054dcbf92asm17662853wmb.20.2023.11.21.09.23.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 09:23:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afda5fba-8892-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700587409; x=1701192209; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=V6MVjz21MkAYciOQfLcyNdlSyQV1QXuslEw7sigZlAk=;
        b=pNbNEzYZX1Q5dgX+5xOqjZGkKY05DU2+6Pk0Eo43P70cr/mRaEfgGFY8orc4sDTPAt
         DMU+T1QcIViJMi9GsfNlkcMm/58y2GyD/xPMT+7bRZo41yBFYwWL5AcwbrrZAdjXQ9L7
         4IlXrrn431SStMFsnpb5ol0PA5RsgYenVBHT4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700587409; x=1701192209;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=V6MVjz21MkAYciOQfLcyNdlSyQV1QXuslEw7sigZlAk=;
        b=wJw1PTS6exc1Eb9dc+67uVWuhRAP8zigraC84h2Fcg4vL0Q9D4UIlDWCfcVcN0qtld
         NGn9OWm9OMaHn+/EuVMPFfFkre1Nz+zeDxnxtY2heVvKVyAV/pUgCPfzOYcqSluAWeKa
         59E0s7+SH+iVzhRy3xXnHx2eJAl2xX7DDYtWU2FMcsSqG/ddtDyZl2tK/1MuVTXBz+Qp
         U55GJI0xPXygBVdgeJ21F4X3TBfkj/tH7VVJZjC5IM9UJNLZATPInL3P9dVU82AAtufD
         dvHu2ubuQN3efj/xfSQ+AN+qBCaKRwNl+vPYpdhrgM2L1UMBtCMj3l1bQ992GYjZ/Uf5
         ystA==
X-Gm-Message-State: AOJu0Yz0k8SngG6YUtNcZDrQazwGhJQaNGJdtFjsxAx4/s14n26GddpT
	PluDe6B6Th21bnlJk7r5MnC59Q==
X-Google-Smtp-Source: AGHT+IFWzbK479gtl9NlYu85YvAa8SjAUmYAaXa0S4OU13snzpPrwL1Q5W8MVuRUQ/SljWeJOqiKZQ==
X-Received: by 2002:a05:600c:3b8d:b0:408:411c:4f6d with SMTP id n13-20020a05600c3b8d00b00408411c4f6dmr2803254wms.14.1700587408700;
        Tue, 21 Nov 2023 09:23:28 -0800 (PST)
Message-ID: <e613b1f0-c79e-446d-a93c-827c098b43ec@citrix.com>
Date: Tue, 21 Nov 2023 17:23:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] x86/setup: Rework cmdline_cook() to be compatible
 with -Wwrite-strings
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-3-andrew.cooper3@citrix.com>
 <7c954d5a-b2dd-4a8a-8b3f-2ec398bf5a25@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <7c954d5a-b2dd-4a8a-8b3f-2ec398bf5a25@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21/11/2023 8:21 am, Jan Beulich wrote:
> On 20.11.2023 23:49, Andrew Cooper wrote:
>> Constify both cmdline variables in create_dom0() and __start_xen().
>> Initialise Xen's variable to the empty string to simplify the parsing logic.
>>
>> Update cmdline_cook() to take and return const pointers, changing it to have
>> an early exit for a NULL input (which can happen if the mbi-> pointers happen
>> to be 0).
>>
>> Note this only compiles because strstr() launders the const off the pointer
>> when assigning to the mutable kextra, but that logic only mutates the
>> mbi->cmdline buffer.
> And a good static analyzer would spot this. At the very least I think this
> warrants a comment next to that code. But really I'm inclined to re-write
> this to eliminate the issue altogether; I'll try to remember to do so once
> your change has gone in.

This string handling leaves a lot to be desired.

>
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -837,9 +837,10 @@ static bool __init loader_is_grub2(const char *loader_name)
>>      return (p != NULL) && (p[5] != '0');
>>  }
>>  
>> -static char * __init cmdline_cook(char *p, const char *loader_name)
>> +static const char *__init cmdline_cook(const char *p, const char *loader_name)
>>  {
>> -    p = p ? : "";
>> +    if ( !p )
>> +        return "";
> This change is now needed only for create_dom0(), whereas the call site
> change to __start_xen() is redundant with the change here. Did you
> consider doing a similar transformation in create_dom0(), thus
> eliminating the need for this check altogether? Alternatively I'd like
> to ask that ...

It occurs to me that __va(0) != 0, so this path isn't actually taken,
even when there is a bad mbi-> pointer.

But the mbi information is already processed by us earlier on boot so we
have reasonable expectation that the pointer is good if MBI_CMDLINE is set.

>
>> @@ -885,7 +886,7 @@ static struct domain *__init create_dom0(const module_t *image,
>>          },
>>      };
>>      struct domain *d;
>> -    char *cmdline;
>> +    const char *cmdline;
>>      domid_t domid;
>>  
>>      if ( opt_dom0_pvh )
>> @@ -971,8 +972,8 @@ static struct domain *__init create_dom0(const module_t *image,
>>  /* SAF-1-safe */
>>  void __init noreturn __start_xen(unsigned long mbi_p)
>>  {
>> -    const char *memmap_type = NULL, *loader;
>> -    char *cmdline, *kextra;
>> +    const char *memmap_type = NULL, *loader, *cmdline = "";
>> +    char *kextra;
>>      void *bsp_stack;
>>      struct cpu_info *info = get_cpu_info(), *bsp_info;
>>      unsigned int initrdidx, num_parked = 0;
>> @@ -1027,9 +1028,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>>                                             : "unknown";
>>  
>>      /* Parse the command-line options. */
>> -    cmdline = cmdline_cook((mbi->flags & MBI_CMDLINE) ?
>> -                           __va(mbi->cmdline) : NULL,
>> -                           loader);
>> +    if ( mbi->flags & MBI_CMDLINE )
>> +        cmdline = cmdline_cook(__va(mbi->cmdline), loader);
>> +
>>      if ( (kextra = strstr(cmdline, " -- ")) != NULL )
>>      {
>>          /*
> ... this last hunk be dropped, along with cmdline's initializer. No need
> for extra code churn when not gaining us anything. (Also but not only
> because the reformatting here is actually beneficial from a readability
> pov imo, the variant with applying the same transformation to create_dom0()
> would seem preferable to me.)

I'll see what I can do.  I definitely do prefer this form, from a
clarity point of view.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:27:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638078.994361 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5UWi-0004mD-DO; Tue, 21 Nov 2023 17:27:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638078.994361; Tue, 21 Nov 2023 17: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 1r5UWi-0004m6-A4; Tue, 21 Nov 2023 17:27:08 +0000
Received: by outflank-mailman (input) for mailman id 638078;
 Tue, 21 Nov 2023 17:27: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=GR51=HC=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5UWh-0004m0-4S
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:27:07 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on2062a.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::62a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30f739d7-8893-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 18:27:06 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9454.eurprd04.prod.outlook.com (2603:10a6:20b:4d9::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Tue, 21 Nov
 2023 17:27:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 17:27: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: 30f739d7-8893-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ApqOYzZLzQgCv8Rx4lCzwIUmjhWba5IRjTT2UY9xGWgaE3zqnvHnArlL/g6H4Mpmrz7D9f/J0AqiuwsRLvLrS4EwXVscRr/eN/2hCf+N4VthzMim4lgSMjRgbIo+re7oMlM1J6F68k6ek6p43cDlU9LAAlBSbv9hlgT6fQCLpWXeWUHTHfTxzwBQkzim48bpLsPG6g1mGAr2E5UlVIYf1b/zJTE2TASqx/e3gyu4bSfHD8RVZcX0dZiHajlqfSupUub1sQEp41BGFO7uiOVSKLsO46FoAlNgemQX7nSPwnlZRm0IrPDZRppvEkg95rNLzJFU7wwcATuInupSmk8ZAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AztCK9YvTIowAQp3pevVNinOJ8bdaPDeMOPaiVVA4dY=;
 b=d6Ih1mZ/gfS0MoUAfcv7sInG274yy0L/brT7bwLo+j8Ps8OfwcnFo3xbvA06mgKBs0GP5c6I4/f3XIqC54LkP/2o2sLroFot/5oaIm6ljXMWYF8DAXr6GH9aDDqaSuwUfo4J0jy/cXB2EQaMTT/DaxNkDDPnMAGdSSvzPsA/4KyoPTokhFoUKwrRdToA8CRcq+mdHxkNs8QRdi3qM8GsbrUpC3cYyXoAyODB5PvFHW6e3Im/xHkOkJqQCrd9mEQ6tP/7AXr3tjicuxgssbjiDLq3DbCI5bebVuTGRfQdZjrMfNMfE4aS8XCnLL9gr2FsHyejByPEsuN1PPdX4grjdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AztCK9YvTIowAQp3pevVNinOJ8bdaPDeMOPaiVVA4dY=;
 b=NeYtsploOOqLFNGxy50E5cpBaWj0evQuBD62FbXh9EVwXqS+gOzh31Dodd/fqgkw2hR00cQuXWHeNa7v+JRsIX0huR8KgMMFuLpwwAnqr8oXrf1BM0ub5bmsQV7z1LKzsMQ4REteQTbe1+VbSuXtG8O7DidfKjaOMxf2BjmiiDeUTn8hUill7bvrt4EBSIAWjvbhGw+fMLq9drLOZ3yZZrzLd3HUYoa1HjkykCYDcr76PLpHPC4tzHf8Q4WnTUJlcucxiiulkwTrLu+bZhLTrk3hIvjZSQvBlK2bZN1tPy33WtoU7FL9cJrN7Nwcskt6qsiH2y4/AK6dB/rPEEaFGQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d63dfc54-cf89-44b7-ab7e-983037892833@suse.com>
Date: Tue, 21 Nov 2023 18:27:02 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/HVM: hide SVM/VMX when their enabling is
 prohibited by firmware
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <b16802f5-13ae-47a0-b12d-604928f4cf7e@suse.com>
 <ZVzZy-KYgdAsqRE3@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVzZy-KYgdAsqRE3@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0031.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9454:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b6c8175-f406-44ca-e66d-08dbeab71401
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6kJ4XEAdZT6EaqzEPwIHvbrxBE510RW9w5ZnWQZWCw4Dt4DcGhF13xnwygL7RLrgTxDJ+aHi2J+bdfDZFL7lKkYecp+tk2wVuVMTK0dKNTzl5sInaPchnvQ3DztowqklFgDyIPP3my6EIA3pD25sDxXlqoRRzK6SYjH3JiQyCnZKrgAdXxRwVd7yaYIdlxoURy7UluanEBQo30/N2JamcxX0qIlNsGztJAiSpdNsyHgBx7A34LdYk+RywiCGajsCORWk1ajOBqBjlkCB0I3oLXJYxInV45By8bpgT5VSPAp780J0lyqCSK1RPJkCCL6R/YbP9BrYt+7XX31Jz2encr5/geZxsbr5J8xijPoL5xC66lIqN5tSs0aH5E0YPu01bRHwbXP6a9HmCgV6yIMBEJG35xkS0r5Q3mX3YL8mbtROhxmmkcdjTaG8/ANV3/eHFEyUl7Aj/H65tXlbe+2qFKzTOT7KhnIDkclpVuGOBwWYvicZQ8jhycuB/Wu8fg9pDwOk1gWoHs0sndfs+LaMiGktHo54G8ds4q2+OTZDag4gLS/Vk1kTp7+3Es17q13w/AnmtJmL52mmJcY6rbLjQDM7ZsZQMMTJsIxH+7o9fzYdZgJT0xGMUvYeH0MQWcFrgNWmgSBX6uknAMK2044Hng==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(366004)(376002)(396003)(346002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(2616005)(31696002)(31686004)(86362001)(6486002)(966005)(6506007)(66946007)(66476007)(66556008)(6916009)(54906003)(316002)(36756003)(6512007)(53546011)(26005)(83380400001)(2906002)(478600001)(5660300002)(8936002)(41300700001)(4326008)(38100700002)(8676002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TVdkaXluNnVTS3NjanNjUjdGYzh6K1R0MFc4aUR4N0RvcG1lVkFFWjNlQlBa?=
 =?utf-8?B?Y1hsV1UyaVRVdm1OYmFTNmp6T0lqTnkyRHkrNURQK0ROZFFGN29Sb2lIeEVG?=
 =?utf-8?B?dGdxWml5dm9QUm9oTXNiU2E5bG1xalh0aVZ3SUs1OWZCSkl2Q0dWWGMxNHFp?=
 =?utf-8?B?QmpJTHhIQVp3OFkrVW5PaWJzZkdKQkM0bkhaMDhnYnArbUlnNXZOYlRyOGs1?=
 =?utf-8?B?YUlNWWhORk16b1JhRXE0OVJWN2c3VnIrbDlHT3RWeisrd2VTa05GejlOb1Ex?=
 =?utf-8?B?MXNPcCs2MHduRGdmQXVpV3QrQnVXcFJQeTlQd3ZvUEUrUWhoZFR3cHlyM05y?=
 =?utf-8?B?REsxRXUxdm10c2tKNkpkV1NOTS9XczFNLzM2b1RnY1ArL2JtdEQvdWNnM0V3?=
 =?utf-8?B?bVBvTmtReUtWbkNBQWE0bk1wVnJ6LzZYVUFZZ0l2K1c5UWprTUllNisyQXJh?=
 =?utf-8?B?WXhQK0VpNHZlT1N2WnFVblVDVHEyVFVMQWt3THlVWE5tU0RIZ1ViOHUrQkNI?=
 =?utf-8?B?TE5EbU9USzVYMHlEQmxmK3ViczhMVHkza2ZkVWQzMFA3YkpoUzdibUlGWVRn?=
 =?utf-8?B?ZlFZdk1GVERPT0ZFeGsyUTRMUUpvdVF4Vlk1aTcxVzhYcEF1aWRzNlJTVVNR?=
 =?utf-8?B?SEs3OXVkemx5S3E4WjMxTnhnbTFEZHN2cUJzalY0elhDaWFLc2IvQUFLNi9N?=
 =?utf-8?B?akMxbHBLTlhEYnhWbkZHMHp0SjBaVGgxNnlaWFJNWjFaK3dLTnNsN0t1L1Nn?=
 =?utf-8?B?RmNSNFhFNmNzQm9UcGJMcTRGZEJyVCt1cGRsMEZGcXAyY3hMQ3RXRmpqejRv?=
 =?utf-8?B?cXhVN0N2eS96V2hsbWN2MXhCUlNubWhvTWg2d3hITkdZQXhJcEN2OGVJZC9D?=
 =?utf-8?B?VytqVjUrTjZlUG5ONExFbGxXMmJYZUpnRituMjNqOEIzUkpQanRkSi9NTEY5?=
 =?utf-8?B?R2ZNZ1FsZnRWWlk5UzgxLzNzcTkyZVRFelMxK2p5RVVUVE5iMHhPZU9SbTYz?=
 =?utf-8?B?WkxqdHNiNmo4TzNLa1dESU1TNmZqN21ZVnhiakJoTFZJVEhFZmR1VksxSDI2?=
 =?utf-8?B?QXNCL3dJQXQ0cG5ndkx6QkczeTQ3SlNlaW1FRnN3a01rMHNYbFp3OHhoYlJZ?=
 =?utf-8?B?NTJRYjJ6SlFRTjZsOVFBdmRManNxSjY3ZyswbU1CcnJmNWVZb1RDZG9OcXE3?=
 =?utf-8?B?cWVHbEpsZ2sxbW9hMHVoOEdRK3d1N1BabVVjSjBjeHhJS2VDWWRjUm92Qnc1?=
 =?utf-8?B?MVk5eWI4LzJQVmZCVDNXUHlmNlRmQWU2Q3h1a3ZLT1R3bVU5VkkrQk1EeEFE?=
 =?utf-8?B?ZTNjNGl2WG4rd1J1Q1QwL0Y4aXhoV3o3S0VWelJkK1pWekxybmxra1VXb1dY?=
 =?utf-8?B?TlFpc0o5VW16WGlSSE9zT0tOamwzVWxpbk92L1ZBUC9qTzBsSG12N0ZjaGI1?=
 =?utf-8?B?cmRKV2oxMHR2NXQyT2JWV1dQTlVFOGg1dHc3dVh1ZGVDUEwwcjk4cFhxWTB0?=
 =?utf-8?B?VTNPdk5LbUdWcEdBM0k2VDdnMDZ4RTdMT1BzaG5EREI2MCtrNVRic09RQTZP?=
 =?utf-8?B?SkJmTXNFQThMKzRkMjUvOXNjNGtnVS9mdkFaT2cwbFdRclMrbFRiVVd0b2h1?=
 =?utf-8?B?djZBc1F4V3VlVHhNZmlZYkcrc2tRa3FwSVdIcExxMTJ5QlQ0NmFpQWZlZ1ox?=
 =?utf-8?B?bk02WmpXaGM2S2pHRHlPMml2UWwrVm5OeC8yN0tSTFBUVkNIbUlzU2FKVHc5?=
 =?utf-8?B?eENieCtLMDVXaG1uU3AxZDMyZi94YzliSnozbnhpeTF5dURZeFRqN0dPMEZy?=
 =?utf-8?B?amkzRytKTW5sbnR4YnRZNUpoKzRjVklCc2Ewak85QWtKUVVuQ1ZhTzRLUG91?=
 =?utf-8?B?MUVIRXFtUUhZOWRYQWEvSmFxL1Rtayt3Nnd3MUJWQ1NWaHlJaWhHaGJIUEFP?=
 =?utf-8?B?c3pZbmVTS01oT1ppVE5SUjFCdDV5UzhYLzE5SkRIanUzNndVWUNNanhOcTJl?=
 =?utf-8?B?NUhFaXlZdW43eHU4RXE5L3Z1cFVaRW9wbWhPSDNWN2dLTEN1ZnZvNk9wVUFj?=
 =?utf-8?B?R3puVFgxYnpCKytXZ21PRC9aaVpyZXNHa1d3NnZGbGxtRVIxeWxOWmZBR1BB?=
 =?utf-8?Q?fxaywaszJqyGH/QaFbz4DS16I?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b6c8175-f406-44ca-e66d-08dbeab71401
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 17:27:04.0327
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: S4f7zhMHK+DAHQArXubPgixElvn2LGWbZA1GyE4+m/Sv8sAKpiA4odsPfUu+l/84359O4ZjsTNPqKbJK6YH8LA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9454

On 21.11.2023 17:24, Roger Pau Monné wrote:
> On Thu, Nov 16, 2023 at 02:31:05PM +0100, Jan Beulich wrote:
>> ... or we fail to enable the functionality on the BSP for other reasons.
>> The only place where hardware announcing the feature is recorded is the
>> raw CPU policy/featureset.
>>
>> Inspired by https://lore.kernel.org/all/20230921114940.957141-1-pbonzini@redhat.com/.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

>> --- a/xen/arch/x86/hvm/vmx/vmcs.c
>> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
>> @@ -2163,6 +2163,23 @@ int __init vmx_vmcs_init(void)
>>  
>>      if ( !ret )
>>          register_keyhandler('v', vmcs_dump, "dump VT-x VMCSs", 1);
>> +    else
>> +    {
>> +        setup_clear_cpu_cap(X86_FEATURE_VMX);
>> +
>> +        /*
>> +         * _vmx_vcpu_up() may have made it past feature identification.
>> +         * Make sure all dependent features are off as well.
>> +         */
>> +        vmx_basic_msr              = 0;
>> +        vmx_pin_based_exec_control = 0;
>> +        vmx_cpu_based_exec_control = 0;
>> +        vmx_secondary_exec_control = 0;
>> +        vmx_vmexit_control         = 0;
>> +        vmx_vmentry_control        = 0;
>> +        vmx_ept_vpid_cap           = 0;
>> +        vmx_vmfunc                 = 0;
> 
> Are there really any usages of those variables if VMX is disabled in
> CPUID?

I wanted to be on the safe side, as to me the question was "Are there really
_no_ uses anywhere of those variables if VMX is disabled in CPUID?" And I
couldn't easily convince myself of this being the case, seeing how all of
vmcs.h's cpu_has_* are defined (and I'm pretty sure we have uses outside of
arch/x86/hvm/vmx/).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:30:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:30:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638081.994372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5UZn-0007hE-UV; Tue, 21 Nov 2023 17:30:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638081.994372; Tue, 21 Nov 2023 17:30: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 1r5UZn-0007h7-Pd; Tue, 21 Nov 2023 17:30:19 +0000
Received: by outflank-mailman (input) for mailman id 638081;
 Tue, 21 Nov 2023 17: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5UZm-0007h1-K8
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:30:18 +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 a326b2ce-8893-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 18:30:17 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40a4848c6e1so24023605e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 09:30:17 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 u26-20020a05600c211a00b0040775501256sm17224253wml.16.2023.11.21.09.30.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 09:30:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a326b2ce-8893-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700587817; x=1701192617; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=FZjXqqURqtDq+Etj4zDfP9uuVjcXOunUPSV3UQvYD8s=;
        b=ov+WaldeziQKHK9F5+0B10G8j/RkwgAVfSfUEQ5ZyneAHVtsu6jf/p1RCZJOaT9hh1
         3xxalxag1gyV7JeEA3zyxIquDka8Qy37jt8tH3Qp6+9PMdk9Cy8aNVWG2ECLZMFS3mze
         3Riez5iHBgzY8/pWiFsd1wxHAXT7PYrcg5JGQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700587817; x=1701192617;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=FZjXqqURqtDq+Etj4zDfP9uuVjcXOunUPSV3UQvYD8s=;
        b=MCFUsebjKM/TyrpM8b70D0Q/5II/fkFCEPUoyLZqMpgC7+Y8Svi7Aq/hmPGY3N82dS
         SEjH1hBw+sFUYWNBmK7/syAygnVgDAHdItexyBzRdH/FL3/oVCoh1F9ha/aZYUTin/3R
         wedeZgdCu1kx8ntLUVVHoyAxqi+YTU0UNgcskFltiCk48e+zxbDcSEVETAFG0MMftuq/
         7xAMgdX9vO+76+ToMeN7xU0D+nBzz+xcVxK1BiPn1yXzqznatxorF/fbA+NdWamO4V8p
         VqZnOkeIxsOA8zlNbwU2/smUkaDEyZZLC+TDV2pwcGc3tjtWcisT3dQv8W9fb5rMm5jl
         h38Q==
X-Gm-Message-State: AOJu0YzTQGHRsLS40jWDYFgjU0r/WUk7uzLzzqCr1dxbu/nYAIey2d0R
	LBtoOx+kTiaPWC1qeisuPnhp3w==
X-Google-Smtp-Source: AGHT+IHjRUBRVXyRnZ+t+Vd4vRUY+ElMYf8dvwLs0TWXUqfaNmUCDTl5rUS0AjGw93IobRFxjp2jDg==
X-Received: by 2002:a7b:c015:0:b0:40a:5c71:2c3e with SMTP id c21-20020a7bc015000000b0040a5c712c3emr22530wmb.19.1700587816912;
        Tue, 21 Nov 2023 09:30:16 -0800 (PST)
Date: Tue, 21 Nov 2023 18:30:15 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [PATCH 3/5] VMX: don't run with CR4.VMXE set when VMX could not
 be enabled
Message-ID: <ZVzpJ8Ldu3jAH2bu@macbook.local>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <d6a8ce0e-fcd9-4391-83c1-d9f709ada3f1@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <d6a8ce0e-fcd9-4391-83c1-d9f709ada3f1@suse.com>

On Thu, Nov 16, 2023 at 02:32:07PM +0100, Jan Beulich wrote:
> While generally benign, doing so is still at best misleading.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Using set_in_cr4() seems favorable over updating mmu_cr4_features
> despite the resulting redundant CR4 update. But I certainly could be
> talked into going the alternative route.

Hm, yes I wondered the same, overall I guess it's safer to just use
set_in_cr4() and do the redundant CR4 write. It's just for the BSP
anyway.

> 
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -2959,7 +2959,7 @@ static bool __init has_if_pschange_mc(vo
>  
>  const struct hvm_function_table * __init start_vmx(void)
>  {
> -    set_in_cr4(X86_CR4_VMXE);
> +    write_cr4(read_cr4() | X86_CR4_VMXE);
>  
>      if ( vmx_vmcs_init() )
>      {
> @@ -2967,6 +2967,9 @@ const struct hvm_function_table * __init
>          return NULL;

Do we want to also clear VMXE from CR4 here?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:31:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:31:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638086.994382 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Uaf-0008DF-6z; Tue, 21 Nov 2023 17:31:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638086.994382; Tue, 21 Nov 2023 17: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 1r5Uaf-0008D8-2V; Tue, 21 Nov 2023 17:31:13 +0000
Received: by outflank-mailman (input) for mailman id 638086;
 Tue, 21 Nov 2023 17: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5Uad-0007h1-6y
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:31:11 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c2d4012e-8893-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 18:31:10 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-3316bd84749so2863124f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 09:31:10 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 v11-20020adfe28b000000b0032d09f7a713sm15049973wri.18.2023.11.21.09.31.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 09:31:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2d4012e-8893-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700587870; x=1701192670; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WG3CpO8GGSOx8ROiV6YhOUkLfmA8nltY0tnQdpEYci4=;
        b=ajINeXb/+tL8/K6CG+etff7rX8YS54iPLLHB42XNlbM4QvuvXEutSOpLaj1shFDr0O
         KLJOiuMEU5BktC87eEDQWXKlAH0zrH1YIocqqem8kCMEjn06LyL6urIgR2EijL+qCE3d
         AZFMPO48048KW+J5poYaQdBrvRWFWB2P49Jyo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700587870; x=1701192670;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=WG3CpO8GGSOx8ROiV6YhOUkLfmA8nltY0tnQdpEYci4=;
        b=loPqYF/viyx1y9CDSFgCR6B3glPnGfOE4rM6kgNj8JViB4epCROkGfXxhZnSp82kZd
         zZPvVLNHww1j7Vf9g2JOL4BGwO50p9ORlvwRWKNsUy4Dc26R4xlthuH312WLXzY75HFo
         UsnpDaUcLCSOVQLqIxDB6bYSpV87x6HzMr7YnhiDu5DC0OwkrZ3tp9R/zZtCAkuIp2zR
         UjxwvMs1UarJ1af5WQjVNfuSIZykRbyjzHz3rgl/yOoUutqQEP96oX5eQm9r6Lp46J1r
         kLQfiuyJBSHwC8DISohh2+Igg2X4y68yoWIRa5o8QRJ8g2shp5EMnDQAfOJLF6qGKgzp
         rF0A==
X-Gm-Message-State: AOJu0Yw8Zia6psq+Ye4DVDwYZJFn8Vhtr9cupC0NLZnffA4nea9fOMQU
	rmQU+QCLQpm/kIR3T+m8DxkJxQ==
X-Google-Smtp-Source: AGHT+IFNjbadjIOemi/C4HGF9dkpGtGBHIRawNVHYOTzvIsSYmAF34Y/ES9VSmgy5Nr//KC6Hc3kYw==
X-Received: by 2002:a05:6000:402a:b0:332:c4f7:1f83 with SMTP id cp42-20020a056000402a00b00332c4f71f83mr5839057wrb.7.1700587870141;
        Tue, 21 Nov 2023 09:31:10 -0800 (PST)
Message-ID: <b75a4d31-260c-4377-b68c-c8153dfd948e@citrix.com>
Date: Tue, 21 Nov 2023 17:31:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/HVM: hide SVM/VMX when their enabling is
 prohibited by firmware
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <b16802f5-13ae-47a0-b12d-604928f4cf7e@suse.com>
 <ZVzZy-KYgdAsqRE3@macbook.local>
 <d63dfc54-cf89-44b7-ab7e-983037892833@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <d63dfc54-cf89-44b7-ab7e-983037892833@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21/11/2023 5:27 pm, Jan Beulich wrote:
> On 21.11.2023 17:24, Roger Pau Monné wrote:
>> On Thu, Nov 16, 2023 at 02:31:05PM +0100, Jan Beulich wrote:
>>> --- a/xen/arch/x86/hvm/vmx/vmcs.c
>>> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
>>> @@ -2163,6 +2163,23 @@ int __init vmx_vmcs_init(void)
>>>  
>>>      if ( !ret )
>>>          register_keyhandler('v', vmcs_dump, "dump VT-x VMCSs", 1);
>>> +    else
>>> +    {
>>> +        setup_clear_cpu_cap(X86_FEATURE_VMX);
>>> +
>>> +        /*
>>> +         * _vmx_vcpu_up() may have made it past feature identification.
>>> +         * Make sure all dependent features are off as well.
>>> +         */
>>> +        vmx_basic_msr              = 0;
>>> +        vmx_pin_based_exec_control = 0;
>>> +        vmx_cpu_based_exec_control = 0;
>>> +        vmx_secondary_exec_control = 0;
>>> +        vmx_vmexit_control         = 0;
>>> +        vmx_vmentry_control        = 0;
>>> +        vmx_ept_vpid_cap           = 0;
>>> +        vmx_vmfunc                 = 0;
>> Are there really any usages of those variables if VMX is disabled in
>> CPUID?
> I wanted to be on the safe side, as to me the question was "Are there really
> _no_ uses anywhere of those variables if VMX is disabled in CPUID?" And I
> couldn't easily convince myself of this being the case, seeing how all of
> vmcs.h's cpu_has_* are defined (and I'm pretty sure we have uses outside of
> arch/x86/hvm/vmx/).

Before you commit, are you sure that VT-d will continue to be happy
using IOMMU superpages when the EPT features are cleared like this?

That's the only linkage I'm aware of that might cause issues.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:41:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:41:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638093.994391 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5UkK-00023g-1Q; Tue, 21 Nov 2023 17:41:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638093.994391; Tue, 21 Nov 2023 17: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 1r5UkJ-00023Z-UO; Tue, 21 Nov 2023 17:41:11 +0000
Received: by outflank-mailman (input) for mailman id 638093;
 Tue, 21 Nov 2023 17:41: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=T8a9=HC=citrix.com=prvs=682c61bdb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5UkI-00023T-G5
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:41:10 +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 210ab505-8895-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 18:41:00 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 210ab505-8895-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700588460;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=7sQBvGrzPAdz2hLvp1ZfmS+2Ui7XE8YmjVh+zVlLuxI=;
  b=IBYqSkru/UG1VvdApyRlfkvsueS98e3gj/YdxnXnNcJEAx1/WbzC0gva
   5AjET/GS5Vi9Jy7R+XXukIA7aYNCEuID+v3ZtDQbh8V6edqArl+IKXRyH
   9hG9e2GZDJTJH1VNJQqKtBEH9K+2WiO+mHN35CHij2cobqkYrm3dq1wkD
   M=;
X-CSE-ConnectionGUID: sAH0mqliSUWIBz1fVCftTQ==
X-CSE-MsgGUID: R0so3EzmRuqMWmxtQPWjRg==
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128243828
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:v5t0lK+maK2e2BeYeKfNDrUDyX6TJUtcMsCJ2f8bNWPcYEJGY0x3x
 mIcXzuHOKyKN2qnKY11b9y+8xwFvpXRzNY1QQRrrHg8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjVAOK6UKidYnwZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ksz1BjOkGlA5AdnPKoS5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklV3
 NxALSkJbyu+uMOc0uu1dMJimvgaeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUWGPEUn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwPzhzE/
 TKcrwwVBDkgbMeYkheX90ixn8rwmDPnYbotFoe3o6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0efBdDuk74wGl0bfP7kCSAW1sZiFFQMwrsokxXzNC6
 7OSt4q3X3o16uTTEC/MsOjMxd+vBcQLBXQrRXcBVA8E2OTcgash1xzxZdh/LJfg27UZBgrML
 yC2QDkW3upL1ZNbjfjkrTj6bySQSo8lpzPZBzk7vUr/t2uVnKb/O+SVBaHztJ6s1rqxQFibp
 2QjkMOD9u0IBpzlvHXSGL1QROzzu6/cb2O0bbtT838JrWzFF5mLJ9g43d2DDB0xbpZslcHBP
 Cc/Rj+9FLcMZSD3PMebkqq6CtgwzLiIKDgWfqm8Uza6WbAoLFXv1Hg3NSatM5XFzBBEfVcXZ
 c3KLq5BzB8yVcxa8dZBb75GjedzmHFumT+7qFKS503P7IdyrUW9Ed8tWGZipMhjhE9YiG05K
 +piCvY=
IronPort-HdrOrdr: A9a23:uBnM+qgDDL3bNFrElqCifuP8Y3BQXtYji2hC6mlwRA09TySZ//
 rBoB19726StN9xYgBFpTnuAsm9qB/nmaKdgrNhWItKPjOW21dARbsKheCJrgEIcxeOkNK1vp
 0AT0ERMrLN5CBB/KTH3DU=
X-Talos-CUID: 9a23:+Pd2VmwgqRxYc5U7oTI2BgUPM+B9d2TZzUztHG6SGz9ndpabVWOprfY=
X-Talos-MUID: 9a23:mF+UIQgj5RkoffFku+ErHMMpDp9z5P+DGkU3jIwjhMyUKRVIBDWng2Hi
X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; 
   d="scan'208";a="128243828"
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/hvm: Trivial style cleanup in vlapic.c
Date: Tue, 21 Nov 2023 17:40:54 +0000
Message-ID: <20231121174054.1486631-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

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>

Another patch I've found hidden away in my pile of unfinished branches...
This one collided with the bool_t cleanup.
---
 xen/arch/x86/hvm/vlapic.c | 27 +++++++++++++--------------
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index a54010d71ea1..5cb87f864908 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -191,8 +191,7 @@ uint32_t vlapic_set_ppr(struct vlapic *vlapic)
    return ppr;
 }
 
-static bool vlapic_match_logical_addr(const struct vlapic *vlapic,
-                                      uint32_t mda)
+static bool vlapic_match_logical_addr(const struct vlapic *vlapic, uint32_t mda)
 {
     bool result = false;
     uint32_t logical_id = vlapic_get_reg(vlapic, APIC_LDR);
@@ -208,11 +207,11 @@ static bool vlapic_match_logical_addr(const struct vlapic *vlapic,
     {
     case APIC_DFR_FLAT:
         if ( logical_id & mda )
-            result = 1;
+            result = true;
         break;
     case APIC_DFR_CLUSTER:
         if ( ((logical_id >> 4) == (mda >> 0x4)) && (logical_id & mda & 0xf) )
-            result = 1;
+            result = true;
         break;
     default:
         printk(XENLOG_G_WARNING "%pv: bad LAPIC DFR value %08x\n",
@@ -244,7 +243,7 @@ bool vlapic_match_dest(
         return (target == source);
 
     case APIC_DEST_ALLINC:
-        return 1;
+        return true;
 
     case APIC_DEST_ALLBUT:
         return (target != source);
@@ -254,7 +253,7 @@ bool vlapic_match_dest(
         break;
     }
 
-    return 0;
+    return false;
 }
 
 static void vlapic_init_sipi_one(struct vcpu *target, uint32_t icr)
@@ -462,7 +461,7 @@ static bool is_multicast_dest(struct vlapic *vlapic, unsigned int short_hand,
                               uint32_t dest, bool dest_mode)
 {
     if ( vlapic_domain(vlapic)->max_vcpus <= 2 )
-        return 0;
+        return false;
 
     if ( short_hand )
         return short_hand != APIC_DEST_SELF;
@@ -837,7 +836,7 @@ void vlapic_reg_write(struct vcpu *v, unsigned int reg, uint32_t val)
 
     case APIC_LVTT:         /* LVT Timer Reg */
         if ( vlapic_lvtt_tdt(vlapic) !=
-             ((val & APIC_TIMER_MODE_MASK) == APIC_TIMER_MODE_TSC_DEADLINE))
+             ((val & APIC_TIMER_MODE_MASK) == APIC_TIMER_MODE_TSC_DEADLINE) )
         {
             vlapic_set_reg(vlapic, APIC_TMICT, 0);
             vlapic->hw.tdt_msr = 0;
@@ -1163,7 +1162,7 @@ int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
     return X86EMUL_OKAY;
 }
 
-uint64_t  vlapic_tdt_msr_get(struct vlapic *vlapic)
+uint64_t vlapic_tdt_msr_get(struct vlapic *vlapic)
 {
     if ( !vlapic_lvtt_tdt(vlapic) )
         return 0;
@@ -1184,7 +1183,7 @@ void vlapic_tdt_msr_set(struct vlapic *vlapic, uint64_t value)
         HVM_DBG_LOG(DBG_LEVEL_VLAPIC_TIMER, "ignore tsc deadline msr write");
         return;
     }
-    
+
     /* new_value = 0, >0 && <= now, > now */
     guest_tsc = hvm_get_guest_tsc(v);
     if ( value > guest_tsc )
@@ -1539,8 +1538,8 @@ static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
         return -EINVAL;
     }
     s = vcpu_vlapic(v);
-    
-    if ( hvm_load_entry_zeroextend(LAPIC, h, &s->hw) != 0 ) 
+
+    if ( hvm_load_entry_zeroextend(LAPIC, h, &s->hw) != 0 )
         return -EINVAL;
 
     s->loaded.hw = 1;
@@ -1573,8 +1572,8 @@ static int cf_check lapic_load_regs(struct domain *d, hvm_domain_context_t *h)
         return -EINVAL;
     }
     s = vcpu_vlapic(v);
-    
-    if ( hvm_load_entry(LAPIC_REGS, h, s->regs) != 0 ) 
+
+    if ( hvm_load_entry(LAPIC_REGS, h, s->regs) != 0 )
         return -EINVAL;
 
     s->loaded.id = vlapic_get_reg(s, APIC_ID);

base-commit: 10081c2dc571775b538bb00982606a39832ad7e3
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 17:46:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 17:46:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638101.994400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Upj-0003cq-MD; Tue, 21 Nov 2023 17:46:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638101.994400; Tue, 21 Nov 2023 17:46: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 1r5Upj-0003cj-Ja; Tue, 21 Nov 2023 17:46:47 +0000
Received: by outflank-mailman (input) for mailman id 638101;
 Tue, 21 Nov 2023 17:46: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=MZRi=HC=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5Upj-0003bR-4g
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 17:46:47 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id efdba605-8895-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 18:46:45 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-332ce3fa438so545000f8f.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 09:46:45 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 dh18-20020a0560000a9200b00332cb1bcd01sm5241564wrb.86.2023.11.21.09.46.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 21 Nov 2023 09:46:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: efdba605-8895-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700588804; x=1701193604; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=5v0GsRSLbXtnzUX+/gz5SxkzE/xYlrq7LkIqrPSj1Oc=;
        b=SVwLugPDQK7Rb1d0+VDYj4J1+s0U2jelaFqiJxg92mlGgvsphKavKHwFibWQwFHwcN
         MnCxils1LhyRFptS64eIogl12ma8P7IxacWsK7Yu5gv00uJQcN1BqyNQ+fW4GITTnL0l
         35yHdQ5pHgBrWd/2dqvnV7zKLsSjrVd1Qb0eE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700588804; x=1701193604;
        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:subject:date:message-id:reply-to;
        bh=5v0GsRSLbXtnzUX+/gz5SxkzE/xYlrq7LkIqrPSj1Oc=;
        b=TYmkJaFxemFCDpMDBHubrt0El/sSt1PdVTN0OCn5ixDTWHnM11UQ5F6TW3IafQllAc
         5j6roNLJ6brlPa9jHU+574RRTqzxpf/bi0SDIq7S0IvTB07w09y7+Jag88RLd4WZJyfw
         aLi7ItCyoWyXo+uewJm81mLmsswS08ZK7YTxrsaEtpPitBVJZ7QLc/CvOJOZuva98v5Z
         O0HyyJz3+y1pT84s5iH8kp4NO9I2pQIjtVGSFrl8bi+OASKH6sv7AFLmrazNWlQkNwIB
         e63qwO6InEyE8grwLBuYdfz2fmlmrtQMoNtzdlSt9YeTDgt3XWSi2OUM/nWdjsbFxNQy
         FQZw==
X-Gm-Message-State: AOJu0YwQXnv2wHTV2HgPTzlQkLCi9jwyc/ZkWsetvrdR5XFSv35D9wVB
	T0kOjN1r65y45o/LC1Q6cq21fg==
X-Google-Smtp-Source: AGHT+IHVVGSnwv3z+r+ZQ5313nZLltOwG7Ll1HYB/rBx+fiK/M9tZD5VFBG/KBmhIDNyeK9w11N/gQ==
X-Received: by 2002:a5d:5f4d:0:b0:32f:7ff9:b731 with SMTP id cm13-20020a5d5f4d000000b0032f7ff9b731mr7541wrb.1.1700588804602;
        Tue, 21 Nov 2023 09:46:44 -0800 (PST)
Date: Tue, 21 Nov 2023 18:46:43 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [PATCH 1/5] VMX: drop vmx_virt_exception and make vmx_vmfunc
 static
Message-ID: <ZVztAzdwDTnJuJE4@macbook.local>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <fd9d6043-4877-4156-97d9-4bdf7cc8fe04@suse.com>
 <ZVzROZu9Afs-mEah@macbook.local>
 <a058b837-82da-4b93-be5c-b616511d24f9@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a058b837-82da-4b93-be5c-b616511d24f9@suse.com>

On Tue, Nov 21, 2023 at 06:22:37PM +0100, Jan Beulich wrote:
> On 21.11.2023 16:48, Roger Pau Monné wrote:
> > On Thu, Nov 16, 2023 at 02:30:41PM +0100, Jan Beulich wrote:
> >> The variable was introduced by 69b830e5ffb4 ("VMX: VMFUNC and #VE
> >> definitions and detection") without any use and - violating Misra C:2012
> >> rule 8.4 - without a declaration. Since no use has appeared, drop it.
> >>
> >> For vmx_vmfunc the situation is similar, but not identical: It at least
> >> has one use. Convert it to be static (and make style adjustments while
> >> there).
> > 
> > I think you could also remove the sole user of vmx_vmfunc, as it's
> > just a cap_check() usage (unless there are more hidden usages).
> 
> Well, perhaps (and hence my post-commit-message remark in the original
> submission). Yet then I thought we permitted vmfunc use for altp2m, at
> which point the cap_check() is meaningful.

Right, I see now that we do only enable VMFUNC if EPTP switching is
supported, and hence we need to assert it's present on any other
CPUs, so yes, we must keep vmx_vmfunc.

> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Acked-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Thanks.
> 
> >> ---
> >> In how far the sole vmx_vmfunc use is actually meaningful (on its own)
> >> I'm not really sure.
> 
> (Here ^^^)
> 
> >> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> >> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> >> @@ -167,8 +167,7 @@ u32 vmx_secondary_exec_control __read_mo
> >>  u32 vmx_vmexit_control __read_mostly;
> >>  u32 vmx_vmentry_control __read_mostly;
> >>  u64 vmx_ept_vpid_cap __read_mostly;
> >> -u64 vmx_vmfunc __read_mostly;
> >> -bool_t vmx_virt_exception __read_mostly;
> >> +static uint64_t __read_mostly vmx_vmfunc;
> > 
> > I'm quite sure this should be __ro_after_init, but I guess we cannot
> > be sure give the current code in vmx_init_vmcs_config().
> 
> I think we can be sure. But if we were to switch, I think all the
> related variables should also be switched at the same time.

OK, IIRC in the past we have switched those kind of attributes as we
changed the code for other reasons I think, but I won't insist.
Coherency of attributes might be more valuable here.

> 
> > Any CPU hot plugged that has a different set of VMX controls should
> > not be onlined, the more that migrating an already running VMCS to
> > such CPU will lead to failures if non-supported features are used.
> 
> That's the intention of that code, yes.

Hm, yes, since we do require PIN_BASED_EXT_INTR_MASK and
PIN_BASED_NMI_EXITING on pin_based_exec_control the setting of the
vmx_ fields is only done on the BSP, or else VMX is not enabled.  It
would be IMO clearer to do the initial setting of the vmx_ fields
based on the function `bsp` parameter.  Anyway, not for this patch.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 18:03:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 18:03:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638107.994411 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5V5r-0003Z7-0T; Tue, 21 Nov 2023 18:03:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638107.994411; Tue, 21 Nov 2023 18:03: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 1r5V5q-0003Z0-T0; Tue, 21 Nov 2023 18:03:26 +0000
Received: by outflank-mailman (input) for mailman id 638107;
 Tue, 21 Nov 2023 18:03: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5V5q-0003Yu-3J
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 18:03:26 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4312480d-8898-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 19:03:23 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4083cd3917eso28004065e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 10:03:23 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 21-20020a05600c229500b004090798d29csm17453669wmf.15.2023.11.21.10.03.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 10:03:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4312480d-8898-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700589803; x=1701194603; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2sx3CjrIEKnkCxO2YcDSuz1G0N5LW//qnZTmQUxz3Gg=;
        b=FqwKkcpEIODC73Kd3LjJ2GPpAsTaVwO2w2moOW9NxjyKDhq/Q04eonnKFrD9p0nZd7
         90f3j8VWy57xhk1LAzhxsjqVpJiCVK2UG/VHZWc5xeCAixkP3dqdDYyuAFZk7PNuvznd
         I5duAOWP9nX9d5gKA1NY5b2VEHKKqBz62rFrA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700589803; x=1701194603;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=2sx3CjrIEKnkCxO2YcDSuz1G0N5LW//qnZTmQUxz3Gg=;
        b=iC8IFnkEASbPmpdEnA0OODPl0aAHz5QjnGBpLd4CrxPRb+n4bC9mmO9NmJ/OhAJpN6
         nxz/mLFWI6L91DM0P+Ct7zQtUUCLvShguMGgDtzQGDxvba5Zqxa+upuBhQyJ6EDHGcDP
         ftOftxX39Ke983/RTL7iVibQJluY7M9tMo2LTvMnHYr2mMAViNh6GH9gjPuGustxoQWv
         hRVIgimHyAizoZPnKXI6iM6XJWAjjHrBchY/YkNhu83W4PS3W7ltKV6QPuXloCfKsmMG
         azoQJp1/78FaP5r56OoxiIRQDdN0EgNdB9YVUe1Ylbgf50FLTf2/H5jX/5/Nu/9+3j6j
         19vw==
X-Gm-Message-State: AOJu0YxIwQJxMQdT8n5ikKO4s7FIogBxLHQkON+OVJPMMEAimX46Z5rY
	P5yYQlnkMYi2GHdNrxMXFZKkWA==
X-Google-Smtp-Source: AGHT+IEljxGl+qcUNF5zOXsLFdOHWlYh2fnvUt+S8o1WD71A0CVIc8l1jJhuyIgR974tYndoHvq3nQ==
X-Received: by 2002:a05:600c:5487:b0:409:5580:bc9f with SMTP id iv7-20020a05600c548700b004095580bc9fmr76848wmb.34.1700589803241;
        Tue, 21 Nov 2023 10:03:23 -0800 (PST)
Message-ID: <c9ce3570-c4ea-4f0d-b8ec-9a74d2c0e569@citrix.com>
Date: Tue, 21 Nov 2023 18:03:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] xen/efi: Make efi-boot.h compile with -Wwrite-strings
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-4-andrew.cooper3@citrix.com>
 <a17c5268-fcb8-49bc-af68-a6df2227d48b@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <a17c5268-fcb8-49bc-af68-a6df2227d48b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21/11/2023 8:40 am, Jan Beulich wrote:
> On 20.11.2023 23:49, Andrew Cooper wrote:
>> GCC complains:
>>
>>   In file included from arch/arm/efi/boot.c:700:
>>   arch/arm/efi/efi-boot.h: In function 'efi_arch_handle_cmdline':
>>   arch/arm/efi/efi-boot.h:482:16: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
>>     482 |         name.s = "xen";
>>         |                ^
>>
>> There's no easy option.  .rodata is really read-only, so the fact Xen doesn't
>> crash means these strings aren't written to.
> And the consuming sites confirm this being the case. Hence ...
>
>> Lie to the compiler using a union.
> ... to at least slightly limit the lying, how about ...
>
>> --- a/xen/arch/arm/efi/efi-boot.h
>> +++ b/xen/arch/arm/efi/efi-boot.h
>> @@ -479,7 +479,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>>          w2s(&name);
>>      }
>>      else
>> -        name.s = "xen";
>> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
>>  
>>      prop_len = 0;
>>      prop_len += snprintf(buf + prop_len,
> ... you also switch to using name.cs down below here and ...
>
>> --- a/xen/arch/x86/efi/efi-boot.h
>> +++ b/xen/arch/x86/efi/efi-boot.h
>> @@ -324,7 +324,8 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>>          w2s(&name);
>>      }
>>      else
>> -        name.s = "xen";
>> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
>> +
>>      place_string(&mbi.cmdline, name.s);
> ... here?
>
> An alternative would be to introduce 'char xen[4] = "xen";' in both
> cases, and use them instead of plain string literals.

They'd have to be static, or dynamically allocated or they'll end up out
of scope, wont they?

I have to admit I find this logic very hard to follow.

Furthermore, I note:

mbi.boot_loader_name = (long)"EFI";

which is exactly the kind of pointer which is liable to end up being
edited via kextra in the other patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 18:13:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 18:13:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638113.994422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5VFt-0005j6-Ut; Tue, 21 Nov 2023 18:13:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638113.994422; Tue, 21 Nov 2023 18:13: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 1r5VFt-0005iz-QI; Tue, 21 Nov 2023 18:13:49 +0000
Received: by outflank-mailman (input) for mailman id 638113;
 Tue, 21 Nov 2023 18:13: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=rqtY=HC=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5VFs-0005it-Hl
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 18:13:48 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20622.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5ed4f01-8899-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 19:13:47 +0100 (CET)
Received: from BL0PR1501CA0001.namprd15.prod.outlook.com
 (2603:10b6:207:17::14) by DM4PR12MB6566.namprd12.prod.outlook.com
 (2603:10b6:8:8d::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 18:13:42 +0000
Received: from BL02EPF0001A0FB.namprd03.prod.outlook.com
 (2603:10b6:207:17:cafe::d) by BL0PR1501CA0001.outlook.office365.com
 (2603:10b6:207:17::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26 via Frontend
 Transport; Tue, 21 Nov 2023 18:13:41 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A0FB.mail.protection.outlook.com (10.167.242.102) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 18:13:41 +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.2507.34; Tue, 21 Nov
 2023 12:13:40 -0600
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.2507.34; Tue, 21 Nov
 2023 12:13:40 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 21 Nov 2023 12:13:39 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5ed4f01-8899-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BH9uWCTMphyIlh4PTJsdx+NSTg3Pv4NlGTaOKyzQjT6xMLyWinBjlaXT40WADtZQ36/Z9BqIDqccfhYoAyykOOWRqDq+7RDMFE2uS/9S11cw4aJGge8zZ9Muie+7VRaUDXn65l9Sshwx0t4YraUzPJULCf6LoGndIumOE2LvGojrHxeandophWVp7V8iUyuJlhKapmfq/8uXPIclgSa+cUMMDN2igKn1jYBwN2WWZ3SpMAQgJvyZEf/BH2vBgGBBtYGQOdXgxu576emXNVK3CQWDaSWklCHXGljCwaWJ6/o4OBqgj2WbO+UtTlw2VxFJZKqqCnZ5g50fOS/wsuwx4w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OWvDDmf+MlGd3n6JlABwV6dqDBkeEKlElvoX0caSkUI=;
 b=XaCwpd73lQ47ZXxOurPeXqEaqLI2kE0g8bTdxwcXZTIy+m+cWKfOtkPJBC5GI7vuQb5uHgeDYHafX08HB/OclSS5i0ujY8ZnlMuX4bkkvsNMop6y01qurh3sNB5pBGBM6WwDL/eF22YYV+EglOTT3P2BwpR4K69eLw2hpqiqyAoa9Zy5a5Wj/6067G3aJPE1IeQolYah+DqowE+OyCofpbVs2JOd0PCP64Y0wrBwN4CkfXt3uP6SVt7O8kqpQMLNuGCv4Km+LNI4i19R7onG9BtivFNtZgVOduP1gd5UR8+VfnHyJ5UcLFmU+Lcow6Pum8KooBQTgDfKaJX2YsXS+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=OWvDDmf+MlGd3n6JlABwV6dqDBkeEKlElvoX0caSkUI=;
 b=dl+XguSj8klN7ypi11kZMqI0YiSjFlIWhyovk4nrffH+MV02Q0UbapBX6npLPubWE0TU74X+7Q+LPhqUYKrW6TdCerr00RhC5SQ1FosfnPM3dkLfxphrD6RYUBX/SS7f8dUd7Oaq84KDuTQebAMmGePruZSrgWcBE6E/j7astmU=
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: <c32253c7-6907-4bfd-8a3a-9488539d19b8@amd.com>
Date: Tue, 21 Nov 2023 19:13:38 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/arm64/mmu: head: Replace load_paddr with adr_l
 where appropriate
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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-4-michal.orzel@amd.com>
 <d015e81d-16cd-4e93-80c9-ba6418a23b1d@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <d015e81d-16cd-4e93-80c9-ba6418a23b1d@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FB:EE_|DM4PR12MB6566:EE_
X-MS-Office365-Filtering-Correlation-Id: 9dac7d2f-3ecd-4c7c-6c1d-08dbeabd9790
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WPR4JGmpcL6Gb9JdkL7YYZElVBlW3w5jCMEtm7YMLORi5hRHw7uv5P0yCIhemxP+Gdaxu2/X7YtUjtEFWWMBd7Vd+eYYOby7vAnVGsR8MbEP0qSng2EQkHCO8dsapfATdHZhdStfjqxNISizTKTFgb+nsCUncvLd5lP6ewYbgj8YwMh8RUePpXbQCU3j3Kl1PMvaZVO2LxV01L+36JeuZmCLyqBQfmA+t8OKJUn35FzXektamd3y4SuOkmvJPP00or1zXfGn/QxFh5NTxat77fOA8CIBg94BCcU55ZFV9JkLjRwpQlakoW7M6R5z9YbKEHrvnDgEIzvyMfOGQtrWIhw+iSHlICftIuL2FJlK5UQaZMKx4kBGhRl6rIKKQbhe2ALrILip0y+JC5mR+n1/ctv6Poro5+DrjCl09Ds3SlWn6Tj8JwiIxX3f7TtS8+vNsNbKzqCZijqY7eR7kg+SLnpK4tZ3219zggF5FOFmDvrh4VKHVFiiL/X0tvX2vHmxTCh9WbOI94v+e6z5mrUXeck0BJhazsPNmRpm5LjYYvOL4nEHiby5UKrOQEW92Fl5WWMMBS8i515yye1iArarDdpRod0omvWekpO2zSLFBhxzUqJ+du6yi6cRvyt1NQjfHisIdz+IxzTgdH1fD73LSlxT/6xsDhpyeq7OflHIK246w75GfRvaQ3++nCYFl1OUE2fpv9roh0F+utXGcidB4MEidoFmmIDMs/gTLjdNoJUgBquNYQYbYx4mbDp595a1li/tHpMzKL1T07Esw/b10RWNTweZcyltrErQrxqOvEE=
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:(13230031)(4636009)(396003)(346002)(39860400002)(376002)(136003)(230922051799003)(82310400011)(186009)(1800799012)(451199024)(64100799003)(36840700001)(40470700004)(46966006)(41300700001)(36756003)(86362001)(5660300002)(31696002)(40460700003)(44832011)(2906002)(966005)(82740400003)(336012)(426003)(26005)(81166007)(356005)(40480700001)(53546011)(478600001)(2616005)(8676002)(4326008)(8936002)(16576012)(70586007)(47076005)(70206006)(316002)(110136005)(54906003)(36860700001)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 18:13:41.5131
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9dac7d2f-3ecd-4c7c-6c1d-08dbeabd9790
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:
	BL02EPF0001A0FB.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB6566

Hi Julien,

On 21/11/2023 17:30, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 21/11/2023 09:45, Michal Orzel wrote:
>> Macros load_paddr and adr_l are equivalent when used before the MMU is
>> enabled, resulting in obtaining physical address of a symbol. The former
>> requires to know the physical offset (PA - VA) and can be used both before
>> and after the MMU is enabled. In the spirit of using something only when
>> truly necessary, replace all instances of load_paddr with adr_l, except
> 
> I don't buy this argument. The advantage with using "load_paddr" is that
> it is pretty clear what you get from the call. With "adr_l" you will
> need to check whether the MMU is on or off.
> 
>> in create_table_entry macro. Even though there is currently no use of
>> load_paddr after MMU is enabled, this macro used to be call in such a
>> context and we can't rule out that it won't happen again.
>>
>> This way, the logic behind using load_paddr/adr_l is consistent between
>> arm32 and arm64, making it easier for developers to determine which one
>> to use and when.
> 
> Not really. See above. But there is also no documentation stating that
> "load_paddr" should not be used before the MMU is on. And as I said
> above, I find it easier to work with compare to "adr_l".
I guess it is a matter of taste. load_paddr requires adding a physical offset to
calculate an address, where in fact we have no places in the code where this is truly needed.
Seeing an instance of this macro makes me think that this piece of code runs with MMU enabled.
We could in fact remove it completely and the only reason I did not is because you told me [1] that
one day we might want to use it.

[1] https://lore.kernel.org/xen-devel/2b10267a-514c-4c9b-b715-f65c26d7f757@xen.org/

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 18:31:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 18:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638117.994431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5VWc-0005F0-AD; Tue, 21 Nov 2023 18:31:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638117.994431; Tue, 21 Nov 2023 18: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 1r5VWc-0005Et-7E; Tue, 21 Nov 2023 18:31:06 +0000
Received: by outflank-mailman (input) for mailman id 638117;
 Tue, 21 Nov 2023 18:31: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 1r5VWa-0005En-P4
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 18:31: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 1r5VWa-0000Em-FG; Tue, 21 Nov 2023 18:31:04 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227]
 helo=[192.168.19.28]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r5VWa-0005mx-9r; Tue, 21 Nov 2023 18: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=dAeXztvdqzvcGf6i9FOl4XsvwVvp792FM2N/z5bpMdQ=; b=JQ8bWr9MYfmbIDH7wDcCWqBHN7
	kQwF7rzU0qJ2mdoN0rcfF4J5w30jeYDP0MoZmnPVL9Qsa3Wvjt60iYSzsT9XARGK/H+AkzJI8YHcD
	cBoFEwM9jfJrpw6zAK1uO85muuviMQNYJKEusDxNDsV6bzuRJsac9ezXUO56gG6boIvY=;
Message-ID: <fa76ef0e-7150-4dab-a4ca-f8d42addc228@xen.org>
Date: Tue, 21 Nov 2023 18:31:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/arm64: head: Move earlyprintk 'hex' string to
 .rodata.str
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-2-michal.orzel@amd.com>
 <cbe5470e-2017-4c4f-bd32-987da72aaf44@xen.org>
 <5b4ac8af-98a6-4757-9946-d520baa6a2a7@amd.com>
 <20135dd2-d36e-4c83-bdb6-b987174f18f2@xen.org>
 <609e34d9-654b-4dcd-8be7-15aa10fe3a25@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <609e34d9-654b-4dcd-8be7-15aa10fe3a25@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 21/11/2023 17:18, Michal Orzel wrote:
> 
> 
> On 21/11/2023 18:04, Julien Grall wrote:
>>
>>
>> On 21/11/2023 17:00, Michal Orzel wrote:
>>> Hi Julien,
>>
>> Hi,
>>
>>> On 21/11/2023 17:09, Julien Grall wrote:
>>>>
>>>>
>>>> Hi Michal,
>>>>
>>>> On 21/11/2023 09:45, Michal Orzel wrote:
>>>>> At the moment, the 'hex' string is placed right after the 'putn'
>>>>> function in the .text section. This is because of the limited range
>>>>> (+/- 1MB) of PC relative 'adr' instruction 'putn' uses. Modify it to use
>>>>> 'adr_l' instead (range extended to +/- 4GB) and move the string to
>>>>> .rodata.str. This way all the earlyprintk messages will be part of .rodata
>>>>> and the behavior will be consistent with what we already do on arm32.
>>>>
>>>> This will be correct today, but I am actually thinking to move 'hex' to
>>>> .rodata.idmap so it can be used while we are on the 1:1 mapping and/or
>>>> temporary mapping.
>>> So you are planning on extending your series to also cover arm64?
>>
>> It is not in my soonish plan. But you are arguing that this patch is for
>> consistency with arm32. This will not be after my series.
> Hmm, consistency was not the only reason for sending this patch. It's a beneficial side effect
> given that putn implementations are very similar on arm32/arm64. 
> Are you saying that
> moving a string that is const from .text to .rodata is not a good change?

.rodata is better but I would rather prefer if this is moved to 
.rodata.idmap directly.

> 
>>
>> And I would not change arm64 just for consistency because I don't view
>> it as necessary. The boot code is already not the same.
> I don't recall trying to make the entire boot code consistent. But if there are parts that
> are almost identical, I think symmetry is welcomed. It helps reading the code, at least for me.

If you want symmetry, then I am happy to switch to .rodata.idmap. But I 
would rather not first move to .rodata and then in a month time switch 
to .rodata.idmap.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 18:43:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 18:43:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638122.994441 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Vid-0008G6-Hx; Tue, 21 Nov 2023 18:43:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638122.994441; Tue, 21 Nov 2023 18: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 1r5Vid-0008Fz-FT; Tue, 21 Nov 2023 18:43:31 +0000
Received: by outflank-mailman (input) for mailman id 638122;
 Tue, 21 Nov 2023 18:43: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 1r5Vic-0008Fl-2Q
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 18:43: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 1r5Vib-0000Uk-MY; Tue, 21 Nov 2023 18:43:29 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227]
 helo=[192.168.19.28]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r5Vib-0006Tv-Fo; Tue, 21 Nov 2023 18: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=RbSG12YnPK0YYG6wsraIypDQ7wBn8B6bIs+d7cKamqU=; b=RfoqGP/orJwLhiyuBXGpkqNGKh
	9u2GLu/1dDu57rQEFIZ4KVXK+4jNdL/F5z6ZfJIGRqGS9hKC3weLxiUL0Zf2nHQrwChm3WmZ9pfrn
	GMrgrgcVRRDAtp95nasU7z+Qs3wGjeExXMqcGhsieKuXXutqssSJL+a9w5c+pLP4F/Ss=;
Message-ID: <b2706623-15bf-4ea6-9742-83a199ecf4f9@xen.org>
Date: Tue, 21 Nov 2023 18:43:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/arm64/mmu: head: Replace load_paddr with adr_l
 where appropriate
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-4-michal.orzel@amd.com>
 <d015e81d-16cd-4e93-80c9-ba6418a23b1d@xen.org>
 <c32253c7-6907-4bfd-8a3a-9488539d19b8@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <c32253c7-6907-4bfd-8a3a-9488539d19b8@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 21/11/2023 18:13, Michal Orzel wrote:
> On 21/11/2023 17:30, Julien Grall wrote:
>>
>>
>> Hi Michal,
>>
>> On 21/11/2023 09:45, Michal Orzel wrote:
>>> Macros load_paddr and adr_l are equivalent when used before the MMU is
>>> enabled, resulting in obtaining physical address of a symbol. The former
>>> requires to know the physical offset (PA - VA) and can be used both before
>>> and after the MMU is enabled. In the spirit of using something only when
>>> truly necessary, replace all instances of load_paddr with adr_l, except
>>
>> I don't buy this argument. The advantage with using "load_paddr" is that
>> it is pretty clear what you get from the call. With "adr_l" you will
>> need to check whether the MMU is on or off.
>>
>>> in create_table_entry macro. Even though there is currently no use of
>>> load_paddr after MMU is enabled, this macro used to be call in such a
>>> context and we can't rule out that it won't happen again.
>>>
>>> This way, the logic behind using load_paddr/adr_l is consistent between
>>> arm32 and arm64, making it easier for developers to determine which one
>>> to use and when.
>>
>> Not really. See above. But there is also no documentation stating that
>> "load_paddr" should not be used before the MMU is on. And as I said
>> above, I find it easier to work with compare to "adr_l".
> I guess it is a matter of taste. load_paddr requires adding a physical offset to

I agree this is a matter of taste.

> calculate an address, where in fact we have no places in the code where this is truly needed.

I added adr_l only recently (2019). Before hand, we were using 
open-coded adrp and load_paddr (which was introduced in 2017).

> Seeing an instance of this macro makes me think that this piece of code runs with MMU enabled.

Fair enough. But how do you know when 'adr_l' effectively returns a 
physical address or virtual address? You could go through the functions 
call but that's fairly cumbersome.

This is why I don't particularly like this change and I am afraid, I 
will not ack it.

> We could in fact remove it completely and the only reason I did not is because you told me [1] that
> one day we might want to use it.

Yes I still have plan to use it.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 19:13:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 19:13:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638125.994450 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5WB9-0008Mm-O6; Tue, 21 Nov 2023 19:12:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638125.994450; Tue, 21 Nov 2023 19:12: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 1r5WB9-0008Mf-LU; Tue, 21 Nov 2023 19:12:59 +0000
Received: by outflank-mailman (input) for mailman id 638125;
 Tue, 21 Nov 2023 19:12: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=J/0D=HC=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r5WB8-0008MZ-G7
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 19:12:58 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2061a.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8bb5e98-88a1-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 20:12:55 +0100 (CET)
Received: from MN2PR07CA0023.namprd07.prod.outlook.com (2603:10b6:208:1a0::33)
 by PH7PR12MB8013.namprd12.prod.outlook.com (2603:10b6:510:27c::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Tue, 21 Nov
 2023 19:12:46 +0000
Received: from BL6PEPF0001AB75.namprd02.prod.outlook.com
 (2603:10b6:208:1a0:cafe::e0) by MN2PR07CA0023.outlook.office365.com
 (2603:10b6:208:1a0::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Tue, 21 Nov 2023 19:12:45 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL6PEPF0001AB75.mail.protection.outlook.com (10.167.242.168) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 19:12:45 +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.2507.34; Tue, 21 Nov
 2023 13:12:44 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 21 Nov 2023 13:12:43 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8bb5e98-88a1-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h7Dwh2NhJg8WSeqJH0+j91qera9iiII1uEQiaYoUN1Ns+BYhsWz3WQ3rRICIpYA/ia85SsrcCdAQU06mdjD0IAsEltELQa9EfgnWcAxUgrPEhpA+3G8OPqLMnQiEDvIL/iQLyYjYSxN8P0X++uqlogkSQVQmLt+4IIUn9XK1mHn4cJeaGMmRaz8N1UgEIziIenOLWLzZeHjXUccoTmjjTLYnuNatBm588vh0vyDob+X09aAmuvsxwe5KbqmPM9hzP0NhQW+6xpjjDiHEgcZIvzJjrL2LYlrZKaW0Zl3+fo4RtEfvuEM0CGHm69Z3RClsxQF9Gr4crlSi8aOM8HF2gg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=L3WJgwiZ/bCWh4OmX+UYiRM2a7J7Qi4PhjkLtwxxxVQ=;
 b=jd13nVAO3CSqwCkFNJFYUK+q+ixCzr5cNKebilTKUE4yHWIInf9LewlnzLFnLLDQUppjDvyz65r3UXvWbyPHixksG8yhRkHVT1b1RS5MjAqnhO9oAklzM5uxpSzIE556OZ2EhYh0WTXGfrDEEcLcd+SO7fLnClzTO1BnJVUujCnZa9S6iBYkxzAn9jN+wuWCLPxisSBqKQfEXUOWemgy1RsJqrlao+Sr3IsuwEA1lZdt4sRSt62r/ER1aISA/MGeiN/Em32FJjLzYrSssnZDmxQnPXahJU9OP1AH7resLZv7Ahz0f2TpoRlK6coKxnCLhuFuJ+pp+/+i4CMpxw6bKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=epam.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 (0)
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=L3WJgwiZ/bCWh4OmX+UYiRM2a7J7Qi4PhjkLtwxxxVQ=;
 b=XqM9p+tlIVpXuGJpE5XWcyzKsvtiaIFI3oxcXPbxVTHfX844HnOIEUWPqrOHxxHa8AgzweBLeTzHaexij86xxeUZz36DC8dhfZ2PzFTWwBkwTgv4r8ceglqtWtakC3qvkzC+EkQA0/1g/ZkX8gWsV0trQBa5d1i3xw7KiokVz5M=
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: <54294601-76fe-4994-9500-e6a9999dba73@amd.com>
Date: Tue, 21 Nov 2023 14:12:43 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
Content-Language: en-US
To: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>
CC: Julien Grall <julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Bertrand
 Marquis" <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "vikram.garhwal@amd.com"
	<vikram.garhwal@amd.com>, Stefano Stabellini <sstabellini@kernel.org>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com>
 <20231115112611.3865905-3-Sergiy_Kibrik@epam.com>
 <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org>
 <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com>
 <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <78c59979-5110-4fa3-855d-e0fa6df116f0@amd.com>
 <a96732c2-cdfb-43fb-9e88-1cd54994eab4@epam.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <a96732c2-cdfb-43fb-9e88-1cd54994eab4@epam.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB75:EE_|PH7PR12MB8013:EE_
X-MS-Office365-Filtering-Correlation-Id: 549eeb41-2a49-4666-a484-08dbeac5d7ee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sESaOU6veG/YPk2ajaYFsi9AKlStEe9kjY/CnXMPP4V+3ah8XPKAjAbHvN/KBawNvyoZkANyH8D3asQ0iuNg0Srr/hOi2zxu2BRUpzAE6BAsR4EHVywVuRFe48D4pup/tABCq4SHbbsJ2B0QEGK+T8Y4GbvBR4gnOaWqfy29v+MOVHLRf5L9XgZLpxZxYDbGczOEBgeFIxLGfDK5ZGOQ12C7Gu/CwwFNKg6pig9VcTQzaT8NnGuYEzOpsqmjEn705KBiFq/lqOPhr759aOz3mR685HVGgHOhnwaBSnca8nhXJe4IwnfX1+SXydhFrmqBwu/sgKeJx9/gCt60DgAkhviEiQPK0XBOMHb+Kl3YqBrDu5JiEilzF0kCkqzNDxh7YrJ2gPoe7FHWv/y4CCCfU0R+L3QBBBZnqJd0Xw+ipieBd0VbHYD779JMJeBiPqLbxaEXxbq2PTAqgmxWGNw/mhVFX2XpuSEVz3mLAZuA2g2QE6CkSqueHobxaGi0RV/iHIALSsSzpefMVzHdu0404SADdmB/bvKy/FwXG1c4Me1TMBRNtp0TZllvL4nt4fmugM7n/MdHMeY5+Dx45HR+pwL4GWls2KIYTyxkrU6BIOHk9LX6UTw91vxNFZGQd31IeYOai6SCQTJl3/TGfV3iicolGkA2+wKGq9jNy8ZJiaLi7QzPsdSIPC8+nqvOBCgP02j7zwSk631TPiVjhtUYoTGe3AHT3cZ3HBoWb8Xr7iyuGMAv2VtrORzpKuxbmMTEdwG+r/Nuyss2ft/8qZwOS8q34KPQsVtLOqaaIYfYJ2QRn6xdaZ1jdZstLnWiDm24TRfMHuR8GM5CKe0oDvSg4g==
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:(13230031)(4636009)(346002)(39860400002)(396003)(376002)(136003)(230922051799003)(451199024)(82310400011)(64100799003)(186009)(1800799012)(40470700004)(46966006)(36840700001)(6916009)(40460700003)(70586007)(70206006)(54906003)(316002)(16576012)(53546011)(36756003)(426003)(336012)(478600001)(2616005)(26005)(966005)(31696002)(81166007)(82740400003)(356005)(83380400001)(36860700001)(47076005)(86362001)(5660300002)(40480700001)(44832011)(31686004)(2906002)(41300700001)(8676002)(8936002)(4326008)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 19:12:45.4942
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 549eeb41-2a49-4666-a484-08dbeac5d7ee
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:
	BL6PEPF0001AB75.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8013

On 11/17/23 03:11, Oleksandr Tyshchenko wrote:
> 
> 
> On 17.11.23 05:31, Stewart Hildebrand wrote:
> 
> Hello Stewart
> 
> [answering only for virtio-pci bits as for vPCI I am only familiar with 
> code responsible for trapping config space accesses]
> 
> [snip]
> 
>>>
>>>
>>> Let me start by saying that if we can get away with it, I think that a
>>> single PCI Root Complex in Xen would be best because it requires less
>>> complexity. Why emulate 2/3 PCI Root Complexes if we can emulate only
>>> one?
>>>
>>> Stewart, you are deep into vPCI, what's your thinking?
>>
>> First allow me explain the moving pieces in a bit more detail (skip ahead to "Back to the question: " if you don't want to be bored with the details). I played around with this series, and I passed through a PCI device (with vPCI) and enabled virtio-pci:
>>
>> virtio = [ "type=virtio,device,transport=pci,bdf=0000:00:00.0,backend_type=qemu" ]
>> device_model_args = [ "-device", "virtio-serial-pci" ]
>> pci = [ "01:00.0" ]
>>
>> Indeed we get two root complexes (2 ECAM ranges, 2 sets of interrupts, etc.) from the domU point of view:
>>
>>      pcie@10000000 {
>>          compatible = "pci-host-ecam-generic";
>>          device_type = "pci";
>>          reg = <0x00 0x10000000 0x00 0x10000000>;
>>          bus-range = <0x00 0xff>;
>>          #address-cells = <0x03>;
>>          #size-cells = <0x02>;
>>          status = "okay";
>>          ranges = <0x2000000 0x00 0x23000000 0x00 0x23000000 0x00 0x10000000 0x42000000 0x01 0x00 0x01 0x00 0x01 0x00>;
>>          #interrupt-cells = <0x01>;
>>          interrupt-map = <0x00 0x00 0x00 0x01 0xfde8 0x00 0x74 0x04>;
>>          interrupt-map-mask = <0x00 0x00 0x00 0x07>;
> 
> 
> I am wondering how you got interrupt-map here? AFAIR upstream toolstack 
> doesn't add that property for vpci dt node.

You are correct. I'm airing my dirty laundry here: this is a hack to get a legacy interrupt passed through on a ZCU102 board (Zynq UltraScale+), which doesn't have GICv3/ITS. In a system with a GICv3/ITS, we would have an msi-map property (this is also not yet upstream, but is in a couple of downstreams).

> 
>>      };
>>
>>      pcie@33000000 {
>>          compatible = "pci-host-ecam-generic";
>>          device_type = "pci";
>>          reg = <0x00 0x33000000 0x00 0x200000>;
>>          bus-range = <0x00 0x01>;
>>          #address-cells = <0x03>;
>>          #size-cells = <0x02>;
>>          status = "okay";
>>          ranges = <0x2000000 0x00 0x34000000 0x00 0x34000000 0x00 0x800000 0x42000000 0x00 0x3a000000 0x00 0x3a000000 0x00 0x800000>;
>>          dma-coherent;
>>          #interrupt-cells = <0x01>;
>>          interrupt-map = <0x00 0x00 0x00 0x01 0xfde8 0x00 0x0c 0x04 0x00 0x00 0x00 0x02 0xfde8 0x00 0x0d 0x04 0x00 0x00 0x00 0x03 0xfde8 0x00 0x0e 0x04 0x00 0x00 0x00 0x04 0xfde8 0x00 0x0f 0x04 0x800 0x00 0x00 0x01 0xfde8 0x00 0x0d 0x04 0x800 0x00 0x00 0x02 0xfde8 0x00 0x0e 0x04 0x800 0x00 0x00 0x03 0xfde8 0x00 0x0f 0x04 0x800 0x00 0x00 0x04 0xfde8 0x00 0x0c 0x04 0x1000 0x00 0x00 0x01 0xfde8 0x00 0x0e 0x04 0x1000 0x00 0x00 0x02 0xfde8 0x00 0x0f 0x04 0x1000 0x00 0x00 0x03 0xfde8 0x00 0x0c 0x04 0x1000 0x00 0x00 0x04 0xfde8 0x00 0x0d 0x04 0x1800 0x00 0x00 0x01 0xfde8 0x00 0x0f 0x04 0x1800 0x00 0x00 0x02 0xfde8 0x00 0x0c 0x04 0x1800 0x00 0x00 0x03 0xfde8 0x00 0x0d 0x04 0x1800 0x00 0x00 0x04 0xfde8 0x00 0x0e 0x04>;
>>          interrupt-map-mask = <0x1800 0x00 0x00 0x07>;
> 
> 
> that is correct dump.
> 
> BTW, if you added "grant_usage=1" (it is disabled by default for dom0) 
> to virtio configuration you would get iommu-map property here as well 
> [1]. This is another point to think about when considering combined 
> approach (single PCI Host bridge node -> single virtual root complex), I 
> guess usual PCI device doesn't want grant based DMA addresses, correct? 
> If so, it shouldn't be specified in the property.

Right, a usual PCI device doesn't want/need grant based DMA addresses. The iommu-map property [2] is flexible enough to make it apply only to certain vBDFs or ranges of vBDFs. Actually, it looks like ("libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices") already has the logic for doing exactly this. So it should be fine to have the iommu-map property in the single root complex and still do regular PCI passthrough.

Presumably, we would also want msi-map [3] to apply to some vBDFs, not others. msi-map has the same flexible BDF matching as iommu-map (these two bindings actually share the same parsing function), so we should be able to use a similar strategy here if needed.

We would also want interrupt-map [4] to apply to some vBDFs, not others. The BDF matching with interrupt-map behaves slightly differently, but I believe it is still flexible enough to achieve this. In this case, the function create_virtio_pci_irq_map(), added in ("libxl/arm: Add basic virtio-pci support"), would need some re-thinking.

In summary, with a single virtual root complex, the toolstack needs to know which vBDFs are virtio-pci, and which vBDFs are passthrough, so it can create the [iommu,msi,interrupt]-map properties accordingly.

[2] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-iommu.txt
[3] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/pci-msi.txt
[4] https://www.kernel.org/doc/Documentation/devicetree/bindings/pci/host-generic-pci.yaml

> 
> 
>>      };
>>
>> Xen vPCI doesn't currently expose a host bridge (i.e. a device with base class 0x06). As an aside, we may eventually want to expose a virtual/emulated host bridge in vPCI, because Linux's x86 PCI probe expects one [0].
>>
>> Qemu exposes an emulated host bridge, along with any requested emulated devices.
>>
>> Running lspci -v in the domU yields the following:
>>
>> 0000:00:00.0 Network controller: Ralink corp. RT2790 Wireless 802.11n 1T/2R PCIe
>>          Subsystem: ASUSTeK Computer Inc. RT2790 Wireless 802.11n 1T/2R PCIe
>>          Flags: bus master, fast devsel, latency 0, IRQ 13
>>          Memory at 23000000 (32-bit, non-prefetchable) [size=64K]
>>          Capabilities: [50] MSI: Enable- Count=1/128 Maskable- 64bit+
>>          Kernel driver in use: rt2800pci
>>
>> 0001:00:00.0 Host bridge: Red Hat, Inc. QEMU PCIe Host bridge
>>          Subsystem: Red Hat, Inc. QEMU PCIe Host bridge
>>          Flags: fast devsel
>>
>> 0001:00:01.0 Communication controller: Red Hat, Inc. Virtio console
>>          Subsystem: Red Hat, Inc. Virtio console
>>          Flags: bus master, fast devsel, latency 0, IRQ 14
>>          Memory at 3a000000 (64-bit, prefetchable) [size=16K]
>>          Capabilities: [84] Vendor Specific Information: VirtIO: <unknown>
>>          Capabilities: [70] Vendor Specific Information: VirtIO: Notify
>>          Capabilities: [60] Vendor Specific Information: VirtIO: DeviceCfg
>>          Capabilities: [50] Vendor Specific Information: VirtIO: ISR
>>          Capabilities: [40] Vendor Specific Information: VirtIO: CommonCfg
>>          Kernel driver in use: virtio-pci
>>
>> 0000:00:00.0 is a real passed through device (corresponding to 0000:01:00.0 in dom0).
>> 0001:00:00.0 is the qemu host bridge (base class 0x06).
>> They are on different segments because they are associated with different root complexes.
> 
> 
> Glad to hear this patch series doesn't seem to break PCI passthrough in 
> your environment.
> 
> 
>>
>>
>> Back to the question: Sure, avoiding reserving more memory from the preciously small lowmem virtual memory layout is probably a good idea. With everything in a single virtual root complex (segment), it's probably possible to come up with some vBDF-picking algorithm (+ user ability to specify) that works for most use cases as discussed elsewhere. It will always be in a single fixed segment as far as I can tell.
>>
>> Some more observations assuming a single virtual root complex:
>>
>> We should probably hide the qemu host bridge(s) from the guest. In other words, hide all devices with base class 0x06, except eventually vPCI's own virtual host bridge. If we don't hide them, we would likely end up with multiple emulated host bridges on a single root complex (segment). That sounds messy and hard to manage.
>>
>> We have a need to control the vBDF exposed to the guest - can we force qemu to use particular BDFs for its emulated devices?
> 
> 
> Yes, it is possible. Maybe there is a better way, but at
> least *bus* and *addr* can be specified and Qemu indeed follows that.
> 
> device_model_args=[ '-device', 
> 'virtio-blk-pci,scsi=off,disable-legacy=on,iommu_platform=on,bus=pcie.0,addr=2,drive=image', 
> '-drive', 'if=none,id=image,format=raw,file=/dev/mmcblk1p3' ]
> 
> virtio=[ "backend=Domain-0, type=virtio,device, transport=pci, 
> bdf=0000:00:02.0, grant_usage=1, backend_type=qemu" ]
> 
> root@h3ulcb-domd:~# dmesg | grep virtio
> [   0.660789] virtio-pci 0000:00:02.0: enabling device (0000 -> 0002)
> [   0.715876] virtio_blk virtio0: [vda] 4096 512-byte logical blocks 
> (2.10 MB/2.00 MiB)
> 
> root@h3ulcb-domd:~# lspci
> 00:00.0 Host bridge: Red Hat, Inc. QEMU PCIe Host bridge
> 00:02.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01)
> 
> Also there is one moment for current series: bdf specified for 
> virtio-pci device only makes sense for iommu-map property. So 
> bdf=0000:00:02.0 in virtio property and bus=pcie.0,addr=2 in 
> device_model_args property should be in sync.
> 
> [1] 
> https://patchwork.kernel.org/project/xen-devel/patch/20231115112611.3865905-5-Sergiy_Kibrik@epam.com/
> 
> 
> [snip]


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 19:13:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 19:13:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638126.994460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5WBc-0000KN-21; Tue, 21 Nov 2023 19:13:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638126.994460; Tue, 21 Nov 2023 19:13: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 1r5WBb-0000KG-VV; Tue, 21 Nov 2023 19:13:27 +0000
Received: by outflank-mailman (input) for mailman id 638126;
 Tue, 21 Nov 2023 19:13: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5WBa-0008MZ-Pn
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 19:13:26 +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 0b45e939-88a2-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 20:13:25 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-332cb136335so1377087f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 11:13:25 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 l6-20020a5d5606000000b00331698cb263sm15006251wrv.103.2023.11.21.11.13.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 11:13:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b45e939-88a2-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700594004; x=1701198804; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=wdBK/yKj4juET0RPtiec9VCTl11eiJJ4fOM2MiDm6EM=;
        b=Z3WayP6Im4x0xc+AqH6OsrHifplPtiUqhTmzAu3+bsL7GprsWumvN5dp+QNVXDwUJb
         gp5lTifb24m9IHLfo4/wwnv1yEv8aBEg/z9hf8KbTHE9R4nAiWEmN4j5FfUvDIZYncvf
         dnRqVD9Fb+pP9YiYRpqFuL613pVTqh2FQZyCA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700594004; x=1701198804;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=wdBK/yKj4juET0RPtiec9VCTl11eiJJ4fOM2MiDm6EM=;
        b=YGwek4OokJ5KmmfOGQ/bBV0eXqD8I7fmAGxSRbryAnoTkxW0ScZ9TgBHP3a75faKH/
         3rSVtNx/gnoYixjlxi3ylJPFtVNnuEzhQjp/Ix8I8ZJ6SZhm2P0VJ5HPeBExKIzW202r
         58nUQo0idQUpStpAAZXSzxNB+muJnAfTsQTLE65v8ojznennJ6clG7WlN7SKSNIIPTPb
         1nsBHK+QO/PJ7630v9uySwYuNkTxJU33oyOnquCLLGbzf+4vrwfKwblF4q4rmBdqxuM8
         ysFbBXxDD/jE7D2DuE0UA9gHPY+dOki4n/JiAV8x+Yrb76RR56obrm4l/YVmrGinO0Gg
         CitQ==
X-Gm-Message-State: AOJu0YyRGogo9M5tcwE8NAnpdb1GzMcMWVva6pM592OR1DpOQns1ZGj1
	JSDE4tF9JPBepz6LNOP2r/4HcQ==
X-Google-Smtp-Source: AGHT+IEiM7ivlqmc2cxX1byxeDPf04hZ1PCqlQld9C8QAlRLpKbAU5HvtXyo0kWzvBkXyndAap6JlQ==
X-Received: by 2002:a5d:570e:0:b0:32f:7ae6:64a7 with SMTP id a14-20020a5d570e000000b0032f7ae664a7mr7766716wrv.55.1700594004654;
        Tue, 21 Nov 2023 11:13:24 -0800 (PST)
Message-ID: <679b8fde-1d58-4ae2-8b22-3f9c50ff8f1a@citrix.com>
Date: Tue, 21 Nov 2023 19:13:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] xen/efi: Make efi-boot.h compile with -Wwrite-strings
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-4-andrew.cooper3@citrix.com>
 <a17c5268-fcb8-49bc-af68-a6df2227d48b@suse.com>
 <c9ce3570-c4ea-4f0d-b8ec-9a74d2c0e569@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <c9ce3570-c4ea-4f0d-b8ec-9a74d2c0e569@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21/11/2023 6:03 pm, Andrew Cooper wrote:
> On 21/11/2023 8:40 am, Jan Beulich wrote:
>> On 20.11.2023 23:49, Andrew Cooper wrote:
>>> GCC complains:
>>>
>>>   In file included from arch/arm/efi/boot.c:700:
>>>   arch/arm/efi/efi-boot.h: In function 'efi_arch_handle_cmdline':
>>>   arch/arm/efi/efi-boot.h:482:16: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
>>>     482 |         name.s = "xen";
>>>         |                ^
>>>
>>> There's no easy option.  .rodata is really read-only, so the fact Xen doesn't
>>> crash means these strings aren't written to.
>> And the consuming sites confirm this being the case. Hence ...
>>
>>> Lie to the compiler using a union.
>> ... to at least slightly limit the lying, how about ...
>>
>>> --- a/xen/arch/arm/efi/efi-boot.h
>>> +++ b/xen/arch/arm/efi/efi-boot.h
>>> @@ -479,7 +479,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>>>          w2s(&name);
>>>      }
>>>      else
>>> -        name.s = "xen";
>>> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
>>>  
>>>      prop_len = 0;
>>>      prop_len += snprintf(buf + prop_len,
>> ... you also switch to using name.cs down below here and ...
>>
>>> --- a/xen/arch/x86/efi/efi-boot.h
>>> +++ b/xen/arch/x86/efi/efi-boot.h
>>> @@ -324,7 +324,8 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>>>          w2s(&name);
>>>      }
>>>      else
>>> -        name.s = "xen";
>>> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
>>> +
>>>      place_string(&mbi.cmdline, name.s);
>> ... here?
>>
>> An alternative would be to introduce 'char xen[4] = "xen";' in both
>> cases, and use them instead of plain string literals.
> They'd have to be static, or dynamically allocated or they'll end up out
> of scope, wont they?
>
> I have to admit I find this logic very hard to follow.
>
> Furthermore, I note:
>
> mbi.boot_loader_name = (long)"EFI";
>
> which is exactly the kind of pointer which is liable to end up being
> edited via kextra in the other patch.

Hang on.  place_string()'ing here is just to prepend a piece of data we
go to other lengths to strip and ignore later in boot.

On x86 we can just delete it and make our lives simpler.  I hope the
same is true on ARM too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 19:28:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 19:28:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638137.994475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5WPh-000440-Ci; Tue, 21 Nov 2023 19:28:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638137.994475; Tue, 21 Nov 2023 19:28: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 1r5WPh-00043t-A1; Tue, 21 Nov 2023 19:28:01 +0000
Received: by outflank-mailman (input) for mailman id 638137;
 Tue, 21 Nov 2023 19:27: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=+imu=HC=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r5WPf-00041z-EF
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 19:27:59 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 11bd7c03-88a4-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 20:27:55 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id ACF2B20116;
 Tue, 21 Nov 2023 20:27:54 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id IoVr3EtTTkq8; Tue, 21 Nov 2023 20:27:54 +0100 (CET)
Received: from begin (unknown [46.231.241.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 7108020103;
 Tue, 21 Nov 2023 20:27:54 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r5WPZ-0000000GRES-304N; Tue, 21 Nov 2023 20:27:53 +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: 11bd7c03-88a4-11ee-9b0e-b553b5be7939
Date: Tue, 21 Nov 2023 20:27:53 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 2/5] Mini-OS: get own domid
Message-ID: <20231121192753.6sd6gcwu76w6lez3@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231121094953.22430-1-jgross@suse.com>
 <20231121094953.22430-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231121094953.22430-3-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le mar. 21 nov. 2023 10:49:50 +0100, a ecrit:
> Get the own domid via creation of a temporary event channel. There is
> no "official" way to read the own domid in PV guests, so use the event
> channel interface to get it:
> 
> - allocate an unbound event channel specifying DOMID_SELF for the
>   other end
> 
> - read the event channel status which will contain the own domid in
>   unbound.dom
> 
> - close the event channel
> 
> Signed-off-by: Juergen Gross <jgross@suse.com

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

Thanks!

> ---
> V2:
> - new patch
> V3:
> - rename function to get_domid() (Julien Grall)
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  events.c      | 33 +++++++++++++++++++++++++++++++++
>  include/lib.h |  3 +++
>  2 files changed, 36 insertions(+)
> 
> diff --git a/events.c b/events.c
> index cdae90f4..4683e8e1 100644
> --- a/events.c
> +++ b/events.c
> @@ -261,6 +261,39 @@ int evtchn_get_peercontext(evtchn_port_t local_port, char *ctx, int size)
>      return rc;
>  }
>  
> +/* Replace below when a hypercall is available to get the domid. */
> +domid_t get_domid(void)
> +{
> +    int rc;
> +    domid_t domid = DOMID_INVALID;
> +    evtchn_alloc_unbound_t op;
> +    struct evtchn_status status;
> +    struct evtchn_close close;
> +
> +    op.dom = DOMID_SELF;
> +    op.remote_dom = DOMID_SELF;
> +    rc = HYPERVISOR_event_channel_op(EVTCHNOP_alloc_unbound, &op);
> +    if ( rc )
> +    {
> +        printk("ERROR: alloc_unbound failed with rc=%d", rc);
> +        return domid;
> +    }
> +
> +    status.dom = DOMID_SELF;
> +    status.port = op.port;
> +    rc = HYPERVISOR_event_channel_op(EVTCHNOP_status, &status);
> +    if ( rc )
> +        printk("ERROR: EVTCHNOP_status failed with rc=%d", rc);
> +    else
> +        domid = status.u.unbound.dom;
> +
> +    close.port = op.port;
> +    rc = HYPERVISOR_event_channel_op(EVTCHNOP_close, &close);
> +    if ( rc )
> +        printk("WARN: close_port %d failed rc=%d. ignored\n", close.port, rc);
> +
> +    return domid;
> +}
>  
>  /*
>   * Local variables:
> diff --git a/include/lib.h b/include/lib.h
> index fd8c36de..dd68985a 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -154,6 +154,9 @@ do {                                                           \
>  /* Consistency check as much as possible. */
>  void sanity_check(void);
>  
> +/* Get own domid. */
> +domid_t get_domid(void);
> +
>  #ifdef HAVE_LIBC
>  extern struct wait_queue_head event_queue;
>  
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 19:30:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 19:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638145.994489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5WSI-00065f-SK; Tue, 21 Nov 2023 19:30:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638145.994489; Tue, 21 Nov 2023 19:30: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 1r5WSI-00065H-Ov; Tue, 21 Nov 2023 19:30:42 +0000
Received: by outflank-mailman (input) for mailman id 638145;
 Tue, 21 Nov 2023 19:30: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=+imu=HC=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r5WSI-00064n-Ak
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 19:30:42 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 748144ba-88a4-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 20:30:40 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 7827D20116;
 Tue, 21 Nov 2023 20:30:40 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 60VFFbQzFzMD; Tue, 21 Nov 2023 20:30:40 +0100 (CET)
Received: from begin (unknown [46.231.241.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 61E1A20103;
 Tue, 21 Nov 2023 20:30:40 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r5WSF-0000000GRHO-36JS; Tue, 21 Nov 2023 20:30:39 +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: 748144ba-88a4-11ee-98e1-6d05b1d4d9a1
Date: Tue, 21 Nov 2023 20:30:39 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 5/5] Mini-OS: fix 9pfs response receiving
Message-ID: <20231121193039.2ewgrf6s6mvmprpj@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231121094953.22430-1-jgross@suse.com>
 <20231121094953.22430-6-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231121094953.22430-6-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le mar. 21 nov. 2023 10:49:53 +0100, a ecrit:
> When copying a 9pfs response chunk from the ring buffer across the
> ring end, the local ring pointer and length field are not updated
> correctly. Fix that.
> 
> Fixes: 0924fec1de58 ("Mini-OS: add 9pfs transport layer")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

Thanks!

> ---
> V2:
> - new patch
> ---
>  9pfront.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/9pfront.c b/9pfront.c
> index 43c7409f..35c5552b 100644
> --- a/9pfront.c
> +++ b/9pfront.c
> @@ -386,7 +386,9 @@ static void copy_bufs(unsigned char **buf1, unsigned char **buf2,
>              printk("9pfs: short copy (dropping %u bytes)\n", len - *len1);
>              len = *len1;
>          }
> -        memcpy(target, *buf1, *len1);
> +        memcpy(target, *buf1, len);
> +        *buf1 += len;
> +        *len1 -= len;
>      }
>  }
>  
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 20:14:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 20:14:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638153.994499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5X8r-0006aj-4v; Tue, 21 Nov 2023 20:14:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638153.994499; Tue, 21 Nov 2023 20: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 1r5X8r-0006ac-1D; Tue, 21 Nov 2023 20:14:41 +0000
Received: by outflank-mailman (input) for mailman id 638153;
 Tue, 21 Nov 2023 20: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=efIu=HC=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r5X8p-0006aW-I8
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:14:39 +0000
Received: from do158-143.mg.gitlab.com (do158-143.mg.gitlab.com
 [192.237.158.143]) by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 97f3f146-88aa-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 21:14:37 +0100 (CET)
Received: from mg.gitlab.com (74.90.74.34.bc.googleusercontent.com
 [34.74.90.74]) by
 1e90be7af010 with SMTP id 655d0fab47f908ea8a30254c (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 21 Nov 2023 20:14:35 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 97f3f146-88aa-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700597675; x=1700604875; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=hTnx4KCUqDiK9uFu0k3RVa10e9fxvkic9XDG4qQG6jE=;
 b=AxVjGjCSR9g1WAG4VuMQmryy7oBp1qVLTlFqYrwAKQUjdJFE1qpKOiVqdyK+huFBkfNWgkeB0lG4T4oLSzlOiHy1vs7vEDjpJMsbNYty2paI/KO1PL4wU7XvZoSBIcr72uId/zbSYJOwqxG5pZDOHm0cND2d7HWkg8UR/OYIrhE=
X-Mailgun-Sending-Ip: 192.237.158.143
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 21 Nov 2023 20:14:35 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655d0faba8fb5_2c9c4a07717b@gitlab-sidekiq-catchall-v2-76fc6fccc5-8t9g9.mail>
Subject: xen | Successful pipeline for staging | 10081c2d
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655d0faba14ad_2c9c4a0770c9";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1080516886
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655d0faba14ad_2c9c4a0770c9
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1080516886 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 10081c2d ( https://gitlab.com/xen-project/xen/-/commit/10081c2dc571775b538bb00982606a39832ad7e3 )
Commit Message: arm/platforms: Make compatbile with -Wwrite-str...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1080516886 ( https://gitlab.com/xen-project/xen/-/pipelines/1080516886 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655d0faba14ad_2c9c4a0770c9
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 10081c2d</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1080516886 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/10081c2dc571775b53=
8bb00982606a39832ad7e3" style=3D"color: #3777b0; text-decoration: none;">=
10081c2d</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
arm/platforms: Make compatbile with -Wwrite-str...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108051=
6886" style=3D"color: #3777b0; text-decoration: none;">#1080516886</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655d0faba14ad_2c9c4a0770c9--


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 20:15:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 20:15:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638180.994509 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5XA6-0007CJ-F2; Tue, 21 Nov 2023 20:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638180.994509; Tue, 21 Nov 2023 20: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 1r5XA6-0007CC-Bs; Tue, 21 Nov 2023 20:15:58 +0000
Received: by outflank-mailman (input) for mailman id 638180;
 Tue, 21 Nov 2023 20: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=T8a9=HC=citrix.com=prvs=682c61bdb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5XA5-0007Bx-BF
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:15:57 +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 c5e7804c-88aa-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 21:15:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5e7804c-88aa-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700597755;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=SMthb4NtkNO2RAGaFUKKyekiWRpIMs0yeackPSSJ3Nc=;
  b=VfD5t2hsDMSClkAICzWKTQf08hWf3LOSUF/vVy0p7chzOJTqhf3iZ9RO
   41yZWjkIkJ9MYsgj6Ns3bQQ9iLcvmjJuxlgkCDJnmsri4j/6VCxnbEY5l
   y6kZ3h026+VzlvetAG25Gl5430LIgHaIrOTEdOx9vScq7GPMcrxKSKkDV
   w=;
X-CSE-ConnectionGUID: +GZ+UsK9SGatMSUbv7Cxvg==
X-CSE-MsgGUID: eEvee9pQQCazgXO2Vt1ohA==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127464600
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:IFo2MKN8Rs/+wvfvrR1Dl8FynXyQoLVcMsEvi/4bfWQNrUpw0jxSm
 mMXXmiPO/beYGX8KthzOo2x/UoOsJ7RndYxTwto+SlhQUwRpJueD7x1DKtS0wC6dZSfER09v
 63yTvGacajYm1eF/k/F3oDJ9CQ6jefQAOOkVIYoAwgpLSd8UiAtlBl/rOAwh49skLCRDhiE/
 Nj/uKUzAnf8s9JPGjxSs/7rRC9H5qyo42pB5AVmP5ingXeF/5UrJMNHTU2OByOQrrl8RoaSW
 +vFxbelyWLVlz9F5gSNy+uTnuUiG9Y+DCDW4pZkc/HKbitq/0Te5p0TJvsEAXq7vh3S9zxHJ
 HehgrTrIeshFvWkdO3wyHC0GQkmVUFN0OevzXRSLaV/ZqAJGpfh66wGMa04AWEX0qVYMyJz7
 t9JEx8EcjW4uuion5mrVOY506zPLOGzVG8eknRpzDWfBvc6W5HTBa7N4Le03h9p2JoIR6yHI
 ZNEOHwwNHwsYDUWUrsTILs4kP2lmT/UdDpApUjOjaE2/3LS3Ep6172F3N/9I4bVGZsJwB7Az
 o7A12nUHBwXZcSm8BGM4H2cobXxgXr8WKtHQdVU8dY12QbOlwT/EiY+RVa95PW0lEO6c9ZeM
 FAPvDojq7Ao806mRcW7WAe3yFamlBMBX9tbE8Uh9RqAjKHT5m6xHXMYRzRMbNgnss4eRjEw0
 FKN2dTzClRHr7m9WX+bsLCOoluaOzURLGIETT8JS00C+daLiL80ihXDX9NyCpmfh9f+GSzz6
 z2SpS14jLIW5eYB2r+n51nBj3Spr4LQUw8uzgzNWySu6QYRTJSibYGy9V+d5/9PKo+DR3GLo
 Xcfls6RqusJCPmlki2GR+EEWq+k++yENjz0i0NgBJQn+HKm/HvLQGxLyGggfgEzaJ9CIGK4J
 hCL0e9M2HNNFDiFX+xKeKHgMOsj0Y3bKN77CdvEcNUbN/CdazS7EDFSiV+4hj+1yBV8y/xga
 f+mndCQ4WH24JmLLQZapM9HiNfHPghkmQvuqWnTlnxLK4a2an+PUqsiO1CTdO0/567siFyKq
 44CZpLUlkUGCbGWjszrHWg7dwhiwZ8TXMCeliCqXrTbfloO9J8JV5c9Po/Ni6Q6xv8Ix48kD
 1m2W1NCyUqXuJE0AVziV5yXU5u2BcwXhStibUQR0aOAhyBLjXCHsP1OKPPavNAPqIRe8BKDZ
 6BcIJ3ZWqQWF2ivFvZ0RcCVkbGOvS+D3WqmVxdJqhBmF3K8b2QlIuPZQzY=
IronPort-HdrOrdr: A9a23:toMCjK4pDH3eDlY4FwPXwf+BI+orL9Y04lQ7vn2ZHyYlPfBw8P
 re6sjztCWE/wr5PUtQ4+xoV5PwP080y6QFmLX5UY3SLTUPlgOTXeZfBKHZsl/d8xSXzJ846U
 +LG5IObuEYdGIK6PoSgjPIYerIseP3hJxA3t2ut0uFJDsCA8oMg2gWa2am+ytNNXl77LUCZe
 WhD6F81k+dkBosH7eG71A+Lqb+TxyiruOEXTc2QzAm9SyHhneQ6Kf3Fhie0lM/Xlp0sP0f2F
 mAvQzlw62p98i60xPY12jeq69bl7Lau5Z+Lf3JpMgJDz3mzj+pfYhlW7qP+AopqPyy8j8R4Z
 XxiiZlEcRvznvbOlivpxjg0RSI6kdm11bSjXGZnF7qqojBXzQ4B8BdwaJVGyGpo3YIjZVT0L
 9v12ncjoFQDh/LgWDF78XIPisa3XackD4DlvIWhHoacaZ2Us4rkWRWlHklbavpVkrBmfwaOd
 grKt3A6/NfdlHfS3jYu21mx7WXNEgOIg==
X-Talos-CUID: =?us-ascii?q?9a23=3A2riqdmjCpUro7ISMMsq7mXSuKjJuMVLvj0rLAB6?=
 =?us-ascii?q?DJm91bYaoQ0HP07N6nJ87?=
X-Talos-MUID: 9a23:vLR/9guwDWOE0LzpB82niRx8Oco5+52XI0kfnqUh4feYbCtwEmLI
X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; 
   d="scan'208";a="127464600"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>
Subject: [PATCH v2 1/5] x86/setup: Clean up cmdline handling in create_dom0()
Date: Tue, 21 Nov 2023 20:15:36 +0000
Message-ID: <20231121201540.1528161-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

There's a confusing mix of variables; a static dom0_cmdline[], and a cmdline
pointer which points to image->string before being pointed at the static
buffer in order to be passed into construct_dom0().  cmdline being a mutable
pointer falls over -Wwrite-strings builds.

Delete the cmdline pointer, and rename dom0_cmdline[] to cmdline extending it
to have full function scope.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>

v2:
 * New.  This unravelled a bit, so I pulled it into a separate patch, but the
   end result is much clearer to follow IMO.
---
 xen/arch/x86/setup.c | 28 +++++++++++++---------------
 1 file changed, 13 insertions(+), 15 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index c41dfdb2bdf8..c0302c6bdd62 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -873,6 +873,8 @@ static struct domain *__init create_dom0(const module_t *image,
                                          module_t *initrd, const char *kextra,
                                          const char *loader)
 {
+    static char __initdata cmdline[MAX_GUEST_CMDLINE];
+
     struct xen_domctl_createdomain dom0_cfg = {
         .flags = IS_ENABLED(CONFIG_TBOOT) ? XEN_DOMCTL_CDF_s3_integrity : 0,
         .max_evtchn_port = -1,
@@ -885,7 +887,6 @@ static struct domain *__init create_dom0(const module_t *image,
         },
     };
     struct domain *d;
-    char *cmdline;
     domid_t domid;
 
     if ( opt_dom0_pvh )
@@ -913,33 +914,30 @@ static struct domain *__init create_dom0(const module_t *image,
         panic("Error creating d%uv0\n", domid);
 
     /* Grab the DOM0 command line. */
-    cmdline = image->string ? __va(image->string) : NULL;
-    if ( cmdline || kextra )
+    if ( image->string || kextra )
     {
-        static char __initdata dom0_cmdline[MAX_GUEST_CMDLINE];
-
-        cmdline = cmdline_cook(cmdline, loader);
-        safe_strcpy(dom0_cmdline, cmdline);
+        if ( image->string )
+            safe_strcpy(cmdline, cmdline_cook(__va(image->string), loader));
 
         if ( kextra )
             /* kextra always includes exactly one leading space. */
-            safe_strcat(dom0_cmdline, kextra);
+            safe_strcat(cmdline, kextra);
 
         /* Append any extra parameters. */
-        if ( skip_ioapic_setup && !strstr(dom0_cmdline, "noapic") )
-            safe_strcat(dom0_cmdline, " noapic");
+        if ( skip_ioapic_setup && !strstr(cmdline, "noapic") )
+            safe_strcat(cmdline, " noapic");
+
         if ( (strlen(acpi_param) == 0) && acpi_disabled )
         {
             printk("ACPI is disabled, notifying Domain 0 (acpi=off)\n");
             safe_strcpy(acpi_param, "off");
         }
-        if ( (strlen(acpi_param) != 0) && !strstr(dom0_cmdline, "acpi=") )
+
+        if ( (strlen(acpi_param) != 0) && !strstr(cmdline, "acpi=") )
         {
-            safe_strcat(dom0_cmdline, " acpi=");
-            safe_strcat(dom0_cmdline, acpi_param);
+            safe_strcat(cmdline, " acpi=");
+            safe_strcat(cmdline, acpi_param);
         }
-
-        cmdline = dom0_cmdline;
     }
 
     /*
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 20:15:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 20:15:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638181.994519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5XA7-0007Rl-Q0; Tue, 21 Nov 2023 20:15:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638181.994519; Tue, 21 Nov 2023 20: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 1r5XA7-0007Re-NJ; Tue, 21 Nov 2023 20:15:59 +0000
Received: by outflank-mailman (input) for mailman id 638181;
 Tue, 21 Nov 2023 20:15: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=T8a9=HC=citrix.com=prvs=682c61bdb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5XA6-0007Bx-1J
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:15:58 +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 c5c81c9d-88aa-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 21:15:55 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5c81c9d-88aa-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700597755;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=r+o6oETfRoLUaoMxN0EAjgPAjp4KWInoqOVukWaKJ9c=;
  b=GQ2HIE+jxtUTGmxdd/E4qr2bFPX1uSfBqNJbhxSKaTuLxYfNlAId9TDn
   er3s5d9CQxsUvpK/FgUwAE3o0SQ+D+f1Sq6XAgs4dtryLnJnHykIhSdbi
   GTvrLZLF5WhU7NityjCXtOyXGTZ8oYp/SOJqXYAZOBvfk8R3OcwKaybo8
   4=;
X-CSE-ConnectionGUID: Kx3BjExzTHqqzSgoe6KDkA==
X-CSE-MsgGUID: aCRa83ClSFWBUEh0roJy8Q==
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128691934
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:tNO4Iq+sZamhhAIkPbh3DrUDfH6TJUtcMsCJ2f8bNWPcYEJGY0x3z
 GtOUGuGPPmMY2Wmfo1wPNvk8UkAup6Az4RmG1c/+Cs8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s
 5hBMImowOQcFCK0SsKFa+C5xZVE/fjVAOK6UKidYnwZqTZMEE8JkQhkl/MynrlmiN24BxLlk
 d7pqojUNUTNNwRcawr40Ird7ksz1BjOkGlA5AdnPKoS5AW2e0Q9V/rzG4ngdxMUfaEMdgKKb
 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk
 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklt5
 acyKh0dfCyjnvuk+728R7dPqscKeZyD0IM34hmMzBncBPciB5vCX7/L9ZlT2zJYasJmRKiEI
 ZBDMHw2MUWGPEUn1lQ/UfrSmM+BgHXlfiIeg1WSvactuEDYzRBr0airO93QEjCPbZwPzhjJ/
 zOdowwVBDkTH+aWmWGu9kmCucXysCOjQoUwBe2Bo6sCbFq7mTVIVUx+uUGAiem0jAuyVsxSL
 2QQ+zEytu4i+UqzVN7/Uhak5nmesXY0efBdDuk74wGl0bfP7kCSAW1sZiVadNUsucsyRDor/
 lyEhdXkAXpoqrL9YW2Z3qeZq3W1Iyd9BW0fYS4JSyMV7t+lp5s85jrxSdJkHL+wn8fCMzj6y
 DCXrwAzn7wWy8UM0s2T913dnyiloJSPSwcv/xjWRUqs9AY/b4mgD6St6FPb5PIGK5yLQ12pt
 X0I3cOZ6YgmF5aHmTaRR6MHFb6v7uyMGDfBjkViGZZn/DOok1alfItX5Dg4Okp1KMcCeBfjf
 UDItAVeopRUOROXgbRfOtzrTZ5wlO65SIWjCai8gsdyjoZZVx/c1iNDdVys/3n0gnMjlqxhG
 ruYWJP5ZZoFMpiL3AZaVs9Ejudzm3BkmDyDLa0X2ShLxlZ3WZJ0dVvmGAHXBgzBxPnYyDg5C
 v4GXydw9z1RUfflfg7c+pMJIFYBIBATXM+u85EGL7DeclM/RAnN7sM9J5t7I+SJeIwMxo/1E
 oyVABcEmDITe1WbQel1VpyTQOy2BssuxZ7KFSctIUypyxAejXWHtc8im28MVeB/roRLlKckJ
 8Tpju3cWpyjvByboWVCBXQ8xaQ+HCmWafWmZnP+OGFnL8c9G2QkOLbMJ2PSycXHNQLv3eNWn
 lFq/lqzrUYrL+i6MPvrVQ==
IronPort-HdrOrdr: A9a23:oa0qdq2BCm8zoFNh/UryUgqjBL4kLtp133Aq2lEZdPRUGvb3qy
 nIpoV96faUskd0ZJhOo7C90cW7LU80lqQFhLX5X43SPzUO0VHAROoJgLcKqweQfREWndQ96U
 4PScdD4aXLfDpHsfo=
X-Talos-CUID: =?us-ascii?q?9a23=3AdTIu1mr1QS0FxrgpGWiagDvmUeM1KVff4WfCH2+?=
 =?us-ascii?q?hEHRSR7qYF3y8+4oxxg=3D=3D?=
X-Talos-MUID: 9a23:hUa89Al9uMzuOIxjtqGxdnprH/1hs/+FDHsjrr87lsncLytSKmek2WE=
X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; 
   d="scan'208";a="128691934"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Roberto Bagnara
	<roberto.bagnara@bugseng.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH v2 0/5] xen: Enable -Wwrite-strings
Date: Tue, 21 Nov 2023 20:15:35 +0000
Message-ID: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Some patches from v1 committed.  This is the rest, and they're mostly
rewritten from scratch.

CI:
  https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1080695374
  https://cirrus-ci.com/build/5494986230202368

Andrew Cooper (5):
  x86/setup: Clean up cmdline handling in create_dom0()
  x86/setup: Rework cmdline_cook() to be compatible with -Wwrite-strings
  x86/efi: Simplify efi_arch_handle_cmdline()
  arm/efi: Simplify efi_arch_handle_cmdline()
  xen: Enable -Wwrite-strings

 xen/Makefile                |  2 +-
 xen/arch/arm/efi/efi-boot.h | 16 +----------
 xen/arch/x86/efi/efi-boot.h | 10 +------
 xen/arch/x86/setup.c        | 56 ++++++++++++++++++++-----------------
 4 files changed, 34 insertions(+), 50 deletions(-)


base-commit: 10081c2dc571775b538bb00982606a39832ad7e3
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 20:16:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 20:16:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638182.994529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5XA9-0007hX-0Y; Tue, 21 Nov 2023 20:16:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638182.994529; Tue, 21 Nov 2023 20:16: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 1r5XA8-0007hK-Te; Tue, 21 Nov 2023 20:16:00 +0000
Received: by outflank-mailman (input) for mailman id 638182;
 Tue, 21 Nov 2023 20:15: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=T8a9=HC=citrix.com=prvs=682c61bdb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5XA7-0007Bx-1G
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:15:59 +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 c7a0f2a2-88aa-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 21:15:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7a0f2a2-88aa-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700597757;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=zhFqeBE6+dVJCflG9ZGRRYk/WpALPCbVG60q2etK4II=;
  b=BW7A2YyFmjWN24+UDkmP12zTh8dNbOAI6w/AEURezRjJ3e5dJ6PERoY9
   jomYta76/Qt9kB15yUCaI8AtSVO/t2PA8ZgeXsX6lcLwtUzDmQ2ULzefs
   ++nSSYaArZczJ2w4WlrdEJzrwFhY+iFHIDrjhTrwfyIa7OMRx1MHATHVX
   I=;
X-CSE-ConnectionGUID: +GZ+UsK9SGatMSUbv7Cxvg==
X-CSE-MsgGUID: H2Ia19A2RQmFFwSxh4AdHQ==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127464601
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:/FnTPKuUYR9imAmGJy+qrLoIpufnVLBeMUV32f8akzHdYApBsoF/q
 tZmKW2GafuMMTfye94gbo+080sE7JXUm9RnHgZu/31mH3gS+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVaicfHg3HFc4IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq5Fv0gnRkPaoQ5QaEziFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwax8/LS2YpLON77unb9JRjNp8B9n1M9ZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkAefAhPYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 D2aoTinWkhy2Nq36WCk+yv9r7X1pCbVdp0pBL3k3/JKuQjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ9r9M/TzEu0
 l6PnvvqCCZpvbnTTmiSnp+LqRuiNC5TKnUNDQcGUA8E7t/LsIw1yBXVQb5LLqmxidHkHCDq9
 BqDpiM+mrY7gNYC0uOw+lWvqzihvITTRwg5oADeRHu47xhRbZSgIYev7DDz9/FKIZyFSR+Lt
 XcCktKXxOoTAoqAkiPLS+IIdJmv5v2CNDSan1NzBZgn9hyn5nG4cIZfpjp5IS9U3t0sIGGzJ
 hWJ4EUIuc4VYyPCgbJLj5yZSOsYjpX7NoXeefnIS+FzaIYuXx+Z83Q7DaKP5FwBgHTAgIlmZ
 s/DLJb2UClKYZmL2gZaUAv07FPK+szd7TmKLXwD5077uYdynVbMIVv/DHOAb/oi8ISPqxjP/
 tBUOqOikkoHCLCvO3eKoddKcTjmyETX47is86S7kcbacmJb9JwJUaeNkdvNhaQ590iqqgs41
 i7kARIJoLYOrXbGNR+LehhehEDHBP5CQYYAFXV0Zz6AgiFzCbtDGY9DL/Pbi5F7rr08pRO1J
 tFZE/i97gNnE22co21FPcCg8OSPtn2D3GqzAsZsWxBnF7YIeuAD0oaMktfHnMXWMheKiA==
IronPort-HdrOrdr: A9a23:vM7XkK/YPps46ETq925uk+Hvdb1zdoMgy1knxilNoEpuA4Olfq
 eV7YImPH7P+UEssRQb6Kq90ca7MA3hHKBOkPAs1NuZLXjbUEXBFvAE0WLJ+UyDJ8XGntQtsZ
 uJmcBFebvN5CFB/KPHCWuDYqQdKai8gdSVbLzlvg9QpGhRAskKgmsXZGf6LqQRfng3OXMXLu
 vi2iMtnUvURZ14VLXJOpAtZZmMmzUL/KiWAiIuNloI6BSqhTjt0b7iHx2Z2Rtbcz4n+8ZpzU
 H11yL4+4CquLWDygbR0m/V49BslNSJ8KoPOOW8zuYUNxDlgUKQZJ1sXr2EsHQOvemz9ExCqq
 iBnz4Qe+py9lbYdSWNuh3v1wP8uQxeokPK+Bu3gWbHqce8fSk9CMZKmMZ4f3LimgIdleA5/q
 JX+mqT86NNCxDNljm43tDUVnhR5wGJiEtnsekOi3dYFasyAYUh1rD2tCtuYeo99GiT0vFaLM
 BeSOfB+flSeVSZK1TQvmxqyNvEZB4OIis=
X-Talos-CUID: =?us-ascii?q?9a23=3Aog0zG2mjVcoHell2OC0bblIbR6TXOT7y/jTtOGz?=
 =?us-ascii?q?pMklgVJiudFWOp4h0jcU7zg=3D=3D?=
X-Talos-MUID: 9a23:D141jAnqhRS0Xh9Kjj1adnpCbuZhuvWHUno0lLsopPKUNXBZNxek2WE=
X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; 
   d="scan'208";a="127464601"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>
Subject: [PATCH v2 3/5] x86/efi: Simplify efi_arch_handle_cmdline()
Date: Tue, 21 Nov 2023 20:15:38 +0000
Message-ID: <20231121201540.1528161-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

-Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but all
this work is useless; it's making a memory allocation just to prepend the
image name which cmdline_cook() intentionally strips back out.

Simply forgo the work and identify EFI_LOADER as one of the loaders which
doesn't prepend the image name.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>

v2:
 * Brand new.

I can't find anything which cares about the image name in the slightest.  This
logic is from bf6501a62e80 ("x86-64: EFI boot code") when EFI was introduced,
at whcih point GRUB2 was the only excluded loader in cmdline_cook().
---
 xen/arch/x86/efi/efi-boot.h | 10 +---------
 xen/arch/x86/setup.c        |  7 +++++--
 2 files changed, 6 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index eebc54180bf7..1a2a2dd83c9b 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -309,6 +309,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
 {
     union string name;
 
+    /* NB place_string() prepends, so call in reverse order. */
     if ( cmdline_options )
     {
         name.w = cmdline_options;
@@ -317,15 +318,6 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
     }
     if ( cfgfile_options )
         place_string(&mbi.cmdline, cfgfile_options);
-    /* Insert image name last, as it gets prefixed to the other options. */
-    if ( image_name )
-    {
-        name.w = image_name;
-        w2s(&name);
-    }
-    else
-        name.s = "xen";
-    place_string(&mbi.cmdline, name.s);
 
     if ( mbi.cmdline )
         mbi.flags |= MBI_CMDLINE;
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index b171a8f4cf84..200520392481 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -850,8 +850,11 @@ static const char *__init cmdline_cook(const char *p, const char *loader_name)
     while ( *p == ' ' )
         p++;
 
-    /* GRUB2 and PVH don't not include image name as first item on command line. */
-    if ( xen_guest || loader_is_grub2(loader_name) )
+    /*
+     * PVH, our EFI loader, and GRUB2 don't not include image name as first
+     * item on command line.
+     */
+    if ( xen_guest || efi_enabled(EFI_LOADER) || loader_is_grub2(loader_name) )
         return p;
 
     /* Strip image name plus whitespace. */
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 20:16:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 20:16:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638183.994539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5XAA-0007zR-8S; Tue, 21 Nov 2023 20:16:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638183.994539; Tue, 21 Nov 2023 20: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 1r5XAA-0007zE-4h; Tue, 21 Nov 2023 20:16:02 +0000
Received: by outflank-mailman (input) for mailman id 638183;
 Tue, 21 Nov 2023 20: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=T8a9=HC=citrix.com=prvs=682c61bdb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5XA9-0007Bx-0j
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:16:01 +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 c8d1d8ff-88aa-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 21:15:59 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8d1d8ff-88aa-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700597759;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=nNPFHrgxp9pbQ7IeeSDyd3YSSCnHXwpkDDz03xLZZ0Y=;
  b=eszsf461HSGmtNP+BXu+7/JC0U6e1ftnH+KNlIYDk5NOQfcSjk70uRpf
   lRb2/NE/OiaQmRkrXWIkYFhdJgBeCn+kbHouusn4Iqes1En2crjemE8nl
   GF8d+2M1IKXjO6dtPnFJHsbQm9e8v/S/7F9nXSMtMOvWJzlMChgXXGQws
   4=;
X-CSE-ConnectionGUID: BxdPn14FSKGZsTscOECGPg==
X-CSE-MsgGUID: mpsQ+mzbStynQezYRkbRFQ==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127464603
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:GBbuEq2dKvZbLGtYufbD5TVxkn2cJEfYwER7XKvMYLTBsI5bpzACy
 mocD2+HP/uDamT2fdt1aozn9UMO7JXUx9RhQQc+pC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliOfQAOK6UbaYUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb9HuDgNyo4GlD5wVkPKgR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfK3FCz
 fpBdB42TT+xnN6ty5WWYcZUiZF2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGc+KkuYC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTH5oJwBrG/
 jmuE2LRBwkBDZ+a2zC+7mOqv+LdrBn4Urg8LejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHsljw2VsdUEuY6wBqQ0aeS6AGcbkAfVSJIYtEisM4wRBQp2
 0WPktevAiZg2JWKTVqN+7HSqim9UQAXMGsDaCksXQYDpd75r+kbsBXLSdpyFb+vuff8Ezrw3
 jOioTA3gvMYistj/6+250zdijSg4J3AVBco5x7/V3igqAh+YeaNfYui5ELH6rBKJYmfR0OIl
 HIZlNOT6u9IBpaI/ASLQe4KGLjv+fuZKjzagHZlApY6+jKivXWkeOhtDCpWfRkzdJxeIHmwP
 R6V5ls5CIJv0GWCR797W4ToV+oR7ofSDuj+Xdf5RfV2bc0kHOOYxx2CdXJ8zki0zxB0zPFlZ
 MjLGftAG0r2HkiO8dZXewv++eVyrszG7TmPLa0XNjz+uVZkWFabSK0eLHyFZf0j4aWPrW39q
 okHb5bbkksCALSnPkE7FLL/y3hQdRDX4riv+6RqmhOreFI6SAnN9deNqV/eR2CVt/sMzbqZl
 p1MckRZ1ED+lRX6xfaiMxhehEfUdc8n9xoTZHV8VWtELlB/Oe5DGo9DLcpoFVTmncQ/pcNJo
 w4tIpzbWq0XGm2ap1zwr/DV9eRfSfhivirWVwLNXdT1V8cIq9DhkjM8QjbSyQ==
IronPort-HdrOrdr: A9a23:zoRAa6kDfY3CTFmNXPHkWMirhnXpDfMbimdD5ihNYBxZY6Wkfp
 aV7bsmPHjP+UAssRAb6Ke90cy7MAnhHPFOkPcs1ImZLXDbUQeTXfBfBaWL+UyGJ8TVzJ8+6U
 9YG5IObOEZ5zBB/KDHCXCDYrMdKbu8gdKVbJblvgNQpFpRGtldBm5CY27xfyEYKmgnOXNeLu
 vt2iNpnUveRZ19VLXPOpBqZZmxmzTjruOpXfbGbyRXizWmvHeH6KPeGxPd5xcGXzZOxrtn0W
 WtqX2y2oyT99+61zrV3Cvr741bndvnxp95CMPksLlZFhzcziipeaFoUPm6vCk4peGp5BIRjd
 HQvw1IBbU+11rhOk+0vD7k0E3YyzAs53X+oGXoyEfLkIjWRC8eA8EEvJlecRfS9g4BsbhHoe
 p29lPcmZpLKBvK2B3n4dvFXQwvr0KooBMZ4KUupk0acYwDbLRW6awzlXkla6vpVErBmf0a+K
 MHNrCh2N9mNXWHcn/dtm5shPilXnE2FhDueCI/hvA=
X-Talos-CUID: 9a23:CErM2G914nEtJqSshCSVv2QEFvgjKyHz91T/EVSEEm1OZZa6cVDFrQ==
X-Talos-MUID: 9a23:jOKeQQuah1bq4WNNzc2ngSl5DYRt8a6VFFELqJgUivOHPxZeAmLI
X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; 
   d="scan'208";a="127464603"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>
Subject: [PATCH v2 2/5] x86/setup: Rework cmdline_cook() to be compatible with -Wwrite-strings
Date: Tue, 21 Nov 2023 20:15:37 +0000
Message-ID: <20231121201540.1528161-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Rework the logic in __start_xen() to not potentially pass NULL into
cmdline_cook().  This makes the logic easier to follow too, and the rest of
__start_xen() is safe when initialising cmdline to the empty string.

Update cmdline_cook() to take and return const pointers, and write a
description of what it does.  It now requires a non-NULL input and guarentees
to return a pointer somewhere in the 'p' string.

Note this only compiles because strstr() launders the const off the pointer
when assigning to the mutable kextra, but that logic only mutates the
mbi->cmdline buffer.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>

v2:
 * create_dom0() changes split out into a previous patch
 * Remove the logic for a NULL input, now that all callers have been adjusted
---
 xen/arch/x86/setup.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index c0302c6bdd62..b171a8f4cf84 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -837,10 +837,15 @@ static bool __init loader_is_grub2(const char *loader_name)
     return (p != NULL) && (p[5] != '0');
 }
 
-static char * __init cmdline_cook(char *p, const char *loader_name)
+/*
+ * Clean up a command line string passed to us by a bootloader.  Strip leading
+ * whitespace, and optionally strip the first parameter if our divination of
+ * the bootloader suggests that it prepended the image name.
+ *
+ * Always returns a pointer within @p.
+ */
+static const char *__init cmdline_cook(const char *p, const char *loader_name)
 {
-    p = p ? : "";
-
     /* Strip leading whitespace. */
     while ( *p == ' ' )
         p++;
@@ -969,8 +974,8 @@ static struct domain *__init create_dom0(const module_t *image,
 /* SAF-1-safe */
 void __init noreturn __start_xen(unsigned long mbi_p)
 {
-    const char *memmap_type = NULL, *loader;
-    char *cmdline, *kextra;
+    const char *memmap_type = NULL, *loader, *cmdline = "";
+    char *kextra;
     void *bsp_stack;
     struct cpu_info *info = get_cpu_info(), *bsp_info;
     unsigned int initrdidx, num_parked = 0;
@@ -1025,9 +1030,9 @@ void __init noreturn __start_xen(unsigned long mbi_p)
                                            : "unknown";
 
     /* Parse the command-line options. */
-    cmdline = cmdline_cook((mbi->flags & MBI_CMDLINE) ?
-                           __va(mbi->cmdline) : NULL,
-                           loader);
+    if ( mbi->flags & MBI_CMDLINE )
+        cmdline = cmdline_cook(__va(mbi->cmdline), loader);
+
     if ( (kextra = strstr(cmdline, " -- ")) != NULL )
     {
         /*
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 20:26:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 20:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638208.994548 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5XKW-00035k-9w; Tue, 21 Nov 2023 20:26:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638208.994548; Tue, 21 Nov 2023 20: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 1r5XKW-00035d-7P; Tue, 21 Nov 2023 20:26:44 +0000
Received: by outflank-mailman (input) for mailman id 638208;
 Tue, 21 Nov 2023 20:26: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=T8a9=HC=citrix.com=prvs=682c61bdb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5XA8-0006aW-D0
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:16:00 +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 c8f4c279-88aa-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 21:15:59 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8f4c279-88aa-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700597759;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=h72RGL0wBeTp69VGUdWNFI72/Va5/mOVad612sj0U0Y=;
  b=UXLJgQO4VsJYfcf8NLXV7gwqw3mFiLVsbWJHJqscvaRiuQNnpB3RK3lm
   gjNCQMBElgAI/sVfwOH4IJ05ZSMcWLUSiJvREotZcPaqNn4TRS0tP47kZ
   VEmwkTdiNCpvwBDnZaemk55ZsBLl7mnbm0HxMz8jTiJmX8AlRC3a5liAc
   8=;
X-CSE-ConnectionGUID: BxdPn14FSKGZsTscOECGPg==
X-CSE-MsgGUID: KCcTuWliSAmd0KYlcd8jzQ==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127464604
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:2DIThqqwhsqCBxbA7XebtHi81kNeBmL+ZRIvgKrLsJaIsI4StFCzt
 garIBmFPPjbYDbxf4hzad6+8U0FupLTy9JgHVNvpCpmEiwb95uZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbOCYmYpA1Y8FE/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04G9wUmAWP6gR5waHzSBNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXABodYiiF3r6Y+5GUePJQnc8EAeLEBIxK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSaxFIUPrSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/
 ziZozqlXElGXDCZ4Rmu+U6xuevOpgr+VNoxJbmz+q5okmTGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQOr9QqTDYn0
 luImdLBBjF1trCRD3WH+d+8sjeaKSUTa2gYakcsTxYB4tTliJE+iFTIVNkLOJCyitr5CDTh2
 QegpSI1h6gQpcMT3qD99lfC6xqmq4LVVAcz6kPSV3i88wJiTIe/Ysqj7l2zxexHJouDUl7Ht
 nELncGE5cgEEJ6WmSqCBu4KGdmB4feONznVx0BiA4Mg8TWF8WOsZo1W73d1I0IBDyofUWa3O
 gmJ41oXvcICeiTyBUNqX26vI+46wZDmTIjLbdP7XMFyeZNWWSSoxC47MCZ8wFvRfFgQfbAXY
 MjDKZv8VytFWcxaICyKq/DxOILHJxzSJkuJHPgXNzz9jdKjiIe9EN/pymemYOEj97+jqw7I6
 dtZPMbi40wACLWjM3CJrN5KdAxiwZ0H6Xbe8ZQ/mgmre1oOJY3cI6WJneNJl3JNw8y5adskD
 lniAxQFmTITdFXMKBmQa2ALVV8cdc8XkJ7PBgR1ZQzA8yF6Me6SAFI3K8NfkU8PqLYykpaZj
 pAtJ629Pxi4Ym2eoGxENcmk8dAKmdbCrVvmAhdJqQMXJ/ZILzElMPe9Fucz3EHi1haKiPY=
IronPort-HdrOrdr: A9a23:KdwwAKtt6CL7MDSRsPcG2+mE7skCQYMji2hC6mlwRA09TyXPrb
 HgoB19726DtN9xYgBWpTnkAtj7fZqyz+8K3WAuB8baYOCLghrYEGlNhbGSpAEIMReOlNK07M
 9bAsxD4DeZNykdsS+C2njcLz9D+qj0zEnYv5ar8543d3ATV0gI1W4QYWv2fSMWJDWuY6BJZK
 Z0yfA32AZIEk5nG/hTaEN1LNQrjue72q4PoHY9dn0awTjLozO0zbbwVyGZxxsaUzRChZcumF
 K12TDR1+GMs+yfwhSZ7m/L45FXn9ek8ddNbfb8x/Q9G3HDihuMbI8kYr2asDU0p+3q0ksjjc
 XXyi1Qc/hb2jf+fnyRqRCo4hLn0zol9hbZuBalqEqmj8zlYTowT/Nbg4FUeAacy0dIhqA17I
 t7m0yYqr9eBlf4hyL/69LUEyhji0vcmwtorccjy1xZTY8UbvtwgOUkjTho+N9pJlOG1GhseN
 MecP301bJxbU6UanjfvC1KyNyoWnw1dy3tfnQ/
X-Talos-CUID: =?us-ascii?q?9a23=3AcfEDrGssQNguq/RYovAvZDMy6IsPYnHlyi6MDXS?=
 =?us-ascii?q?bJlRydKaebnK715trxp8=3D?=
X-Talos-MUID: 9a23:ZBJCTwhp+fBEYwUQ+LWh2sMpF+xj37mRDEE2uJAK4+q1MSd8azWPtWHi
X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; 
   d="scan'208";a="127464604"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>
Subject: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Date: Tue, 21 Nov 2023 20:15:39 +0000
Message-ID: <20231121201540.1528161-5-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

-Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but this
logic looks incorrect.  It was inherited from the x86 side, where the logic
was redundant and has now been removed.

In the ARM case it inserts the image name into "xen,xen-bootargs" and there is
no logic at all to strip this before parsing it as the command line.

The absence of any logic to strip an image name suggests that it shouldn't
exist there, or having a Xen image named e.g. "hmp-unsafe" in the filesystem
is going to lead to some unexpected behaviour on boot.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>

v2:
 * New.

I'm afraid that all of this reasoning is based on reading the source code.  I
don't have any way to try this out in a real ARM UEFI environment.
---
 xen/arch/arm/efi/efi-boot.h | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 1c3640bb65fd..59d217667ff3 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -461,7 +461,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
     union string name;
     char *buf;
     EFI_STATUS status;
-    int prop_len;
+    int prop_len = 0;
     int chosen;
 
     /* locate chosen node, which is where we add Xen module info. */
@@ -473,20 +473,6 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
     if ( EFI_ERROR(status) )
         PrintErrMesg(L"Unable to allocate string buffer", status);
 
-    if ( image_name )
-    {
-        name.w = image_name;
-        w2s(&name);
-    }
-    else
-        name.s = "xen";
-
-    prop_len = 0;
-    prop_len += snprintf(buf + prop_len,
-                           EFI_PAGE_SIZE - prop_len, "%s", name.s);
-    if ( prop_len >= EFI_PAGE_SIZE )
-        blexit(L"FDT string overflow");
-
     if ( cfgfile_options )
     {
         PrintMessage(L"Using bootargs from Xen configuration file.");
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 20:27:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 20:27:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638215.994559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5XKv-0003dE-Hm; Tue, 21 Nov 2023 20:27:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638215.994559; Tue, 21 Nov 2023 20:27: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 1r5XKv-0003d5-FA; Tue, 21 Nov 2023 20:27:09 +0000
Received: by outflank-mailman (input) for mailman id 638215;
 Tue, 21 Nov 2023 20:27: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=T8a9=HC=citrix.com=prvs=682c61bdb=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5XA7-0006aW-86
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:15:59 +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 c7b7f944-88aa-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 21:15:58 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c7b7f944-88aa-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700597758;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=5uiIRow6rh0vRvX5ViEOdcJuUhRBpUj5Jr2b1aBEl6g=;
  b=GlMeY4vTxkb18wvHkPmJQo4J/xW606ppGZLetB/Gbakda79v44z920ZO
   o4p5uamRLj1ruHCpj2tvtc4DmeJjTdFyvfMa87TGqj6XNrapBH2+ya+UO
   XkTKQWJV1i6Xg7wu9lm40jR6wInsF4PyZIa4T8sYI76ZalH4Apat3ZaEf
   c=;
X-CSE-ConnectionGUID: +GZ+UsK9SGatMSUbv7Cxvg==
X-CSE-MsgGUID: CqveYOQkQuCdJAkr8aVIhg==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127464602
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:+k3rQaAFvWjUHBVW/9Xjw5YqxClBgxIJ4kV8jS/XYbTApG5w3jZUz
 TYXC26EaPmIYGv9fIogPYmzoEIC7J/XyYVrQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48D8kk/nOH+KgYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMt8pvlDs15K6p4WpC5wRkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwuclFQlxV1
 q0jBzkRSyu+jfzp66KlRbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdIL2U3BPjDS0Qn1lM/IZQyhuq3wFL4dCVVsgm9rqsr+WnDigd21dABNfKMIIPWG5kLxhzwS
 mTu1H3nDyA9Dd+m1BGJ0FuvnL/GowL7V9dHfFG/3qEz2wDCroAJMzUGWF3+rfSnh0qWX9NEN
 1dS6icotbI19kGgUp/6RRLQiGWfohcWVt5UEus7wAKA0KzZ50CeHGdsZhxrZcEitcQ2bSc3z
 VLPlNTsbRRwtJWFRHTb8a2bxRuwJCwUIGkqdSICCwwf7LHLnoY3iR7eS8d5J4S8hNb1BDLYz
 iiDqW41gLB7pcQGzbmh9FbLxTelvIHUTxUd7x/SGGmi62tRYY+uZ4Wsr1/B//tEBI+cQh+Ku
 31ss9KZ5u0UEZbLniWCRuwXFZmj+vmePTvTx1VoGvEJ8TWm/HqqO55d/Ct/IkZBONsLYjLvb
 wnYvgY52XNIFCL0N+ktOdv3Upl7i/e4fTj4ahzKRplhUNtMbyzWxw5neWur4mrzz2M8j65qb
 P93bv2Q4WYm5bVPlWXuH7pNi+J0lkgDKXXvqYcXJilLMIZyh1bPEN/pyHPUMogEAFqs+W05C
 ep3OcqQ0Al4W+bjeCTR+oN7BQlVdSBmVMmo9pwOL7Lrzu9a9IcJUae5LVQJItwNokiovr2Qo
 iHVtrFwlDITekEr2S3VMys+OdsDrL50rG4hPDxEALpb8yFLXGpb149GL8FfVeB+pIReIQtcE
 6FtlzOoXq4eFVwqOl01MfHAkWCVXE3y3lrXZ3r8PWRXklwJb1Whx+IItzDHrEEmZhdbf+Nny
 1F8/ms3maY+ejk=
IronPort-HdrOrdr: A9a23:+gZxO6BU4IwoRZjlHeibsceALOsnbusQ8zAXPhZKOFNom6uj5r
 aTdZUgpGjJYVMqKQsdcL+7Sde9qE3nhOdICOUqTMaftCePghrOEGhJ1/qB/9XYcxeOktK0P8
 9bAs5D4aTLfD1HZKTBkXuF+qcbsa26GfuT9J/jJh5WJGkABs0OgWYYNu/8KDwHeOBoP+tHKH
 P23Lszm9PPQwVlUi2TPAhKYwADz+e7967OUFopBwMD4ALLtDOw5Lv7FBTd/hp2aUIE/Z4StU
 bEjinw7eGbs+i2zx/a2yvp45s+oqqt9vJzQOKNl+0cIXHUih+lYYRnV/m5oTgpvPvH0idnrP
 D85zkhIuF64DfpZWe3rRHxsjOQmQoG2jvNyUK8iXCmmNf+Rz4xFo5giOtiA1PkwntlktFg9a
 pBm1uDsZlaBw6FpSzh5rHzJlpXv3vxgX0/leUUy1xzOLFuE4O45eQkjT5o+N1pJlOH1KkXVM
 9zEc7Y7PFVNXeTb3Xctm4H+raRYkg=
X-Talos-CUID: =?us-ascii?q?9a23=3AFcgXCGt56C9WCmr6hjoAK5se6ItmXU+e8WzzcnS?=
 =?us-ascii?q?XAHpMc4CfVwC76L1rxp8=3D?=
X-Talos-MUID: 9a23:lI9pJgYfkKies+BTnCbyiQBFDcRR/o+iKmkOi8UPheiEOnkl
X-IronPort-AV: E=Sophos;i="6.04,216,1695700800"; 
   d="scan'208";a="127464602"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Jan Beulich <JBeulich@suse.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>, Roberto Bagnara
	<roberto.bagnara@bugseng.com>, Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: [PATCH v2 5/5] xen: Enable -Wwrite-strings
Date: Tue, 21 Nov 2023 20:15:40 +0000
Message-ID: <20231121201540.1528161-6-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The codebase is now -Wwrite-strings clean.  Activate the option to cause
string literals to have a const type, and prevent any violations of MISRA Rule
7.4 being reintroduced.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Roger Pau Monné <roger.pau@citrix.com>
CC: Wei Liu <wl@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/Makefile b/xen/Makefile
index 7b869f4b3037..ca571103c868 100644
--- a/xen/Makefile
+++ b/xen/Makefile
@@ -392,7 +392,7 @@ endif
 CFLAGS-$(CONFIG_CC_SPLIT_SECTIONS) += -ffunction-sections -fdata-sections
 
 CFLAGS += -nostdinc -fno-builtin -fno-common
-CFLAGS += -Werror -Wredundant-decls -Wno-pointer-arith
+CFLAGS += -Werror -Wredundant-decls -Wwrite-strings -Wno-pointer-arith
 $(call cc-option-add,CFLAGS,CC,-Wvla)
 CFLAGS += -pipe -D__XEN__ -include $(srctree)/include/xen/config.h
 CFLAGS-$(CONFIG_DEBUG_INFO) += -g
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Tue Nov 21 20:34:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 20:34:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638232.994568 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5XRc-0005na-Dv; Tue, 21 Nov 2023 20:34:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638232.994568; Tue, 21 Nov 2023 20:34: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 1r5XRc-0005nT-BK; Tue, 21 Nov 2023 20:34:04 +0000
Received: by outflank-mailman (input) for mailman id 638232;
 Tue, 21 Nov 2023 20:34: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=U+4w=HC=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r5XRa-0005nN-Jt
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:34:02 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::609])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4d8789c6-88ad-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 21:34:00 +0100 (CET)
Received: from AM5PR0101CA0010.eurprd01.prod.exchangelabs.com
 (2603:10a6:206:16::23) by PAXPR08MB6464.eurprd08.prod.outlook.com
 (2603:10a6:102:df::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 20:33:51 +0000
Received: from AMS0EPF000001A9.eurprd05.prod.outlook.com
 (2603:10a6:206:16:cafe::81) by AM5PR0101CA0010.outlook.office365.com
 (2603:10a6:206:16::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28 via Frontend
 Transport; Tue, 21 Nov 2023 20:33:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A9.mail.protection.outlook.com (10.167.16.149) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Tue, 21 Nov 2023 20:33:51 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Tue, 21 Nov 2023 20:33:51 +0000
Received: from 262eecaef7c5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F92F95B9-060D-4D8E-8130-8A2AA46699DD.1; 
 Tue, 21 Nov 2023 20:33:45 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 262eecaef7c5.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 21 Nov 2023 20:33:45 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS4PR08MB7556.eurprd08.prod.outlook.com (2603:10a6:20b:4fe::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Tue, 21 Nov
 2023 20:33:43 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.017; Tue, 21 Nov 2023
 20: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: 4d8789c6-88ad-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=bNvpE3p7q7tiBwjZKVK4HjqhYeI/44gh1x3txNMCmCGyu0rhnmubZyWOgacJXFzLV8OAoToMHIkU+fkLn24sGaevCQ+UR8dwNfZIzEMtjI5i79TzOg1Py7U4BhdiQ6iak990DO4hREveV3nnIl3R0J96N98mumRa1r/C3BC9mdS2gm0RU49dql9LI+vrfgXzDhFxrogf8a/v9cP23pg3mnQd6hGafAqrn4bj4+0vfcEOOis0/Cu86chY7LvHIyuUGKy1zPmReMsyxlKUb2j9cKe2So1q3iREOH71mzyp5U7tCoOCBit3gMVbbxvs4DxP3zq6CoSaldcTgUJ9c3ebbQ==
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=S/o9OzXkc3QTL7NZ2EPElr5LfwbIjZamn9aUs9pNXPk=;
 b=MTNATq+Ju6GdSJhTaBr1UBjK+WGJqVBr7zTEKYYqfg0WuZGf49Y87gbNprEm9sXLGVBHw+B8clLDRPe3LEdsmdJcC2YYlQSJRdUdy6zuEOVAjB8O5xfpqGWJjCkgKzrLL7bE+SimugdG0NCCWDDnRZ89Wcj3Gvr0PFgjCng/nzfPTmf0BRNyKvgulmtpCu/U/jUmI9TfDfh4OfJx0rOdquMVIofLPcgOyHrs2NqkLpZNplQ+x2whiblQBwC8ySk+R3Fjgj8Z9xWe5/UML85E03Q7EWgB7qcTQu9vhgXGeh4Lzguv0wgQ3kt0r2kIJRUZKHFegYHE59bjIsoBIlaudw==
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=S/o9OzXkc3QTL7NZ2EPElr5LfwbIjZamn9aUs9pNXPk=;
 b=9rRhPknQ6FjMPBILVQg3IUqo4kIUUB/PMSv42TPmTyXmseteu0sID2bN14mpuP83m2CMbwCHdYrpUHUB4Yvnc8a1L7jVvo0tuDmQ/3vUqeXWks3Z5mem3LfWQYPCQBbPX9bsTLi+VQWVCbVHK2KkBaYuZiccZpOacMAaQCR387A=
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: 39663df1bffdc560
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dXSWlxBjUa2vKPrVilrAaMNUsmsCIWVfv4jOCtFpopg72v+A0FiOSYxrxiOekuexfz/ohI0nNyxd8oQGDdaodXRdCPqforVikHXyIR2HgBQkO+T00U9sMi8qMiqPrY2wDMk4POIrttDfcSyTf1KX6I6pAJ3vrKGY9G4JHNx3gAljqqS18jECzULA5Bh2lULCURSwRR3oNaPO5fnNYBsDbuzctI3IoYcxvhk0upJ9TAq8/YfOsQ2GX79Mxzh4qkD90C8+u0RAs+6Rd4hFiJ8fIcAXxB4/S9H2cDYzVxNakwqrYHJMZ/bQg0uErMRR/uLOHOJ4F8FUVwCs6uBEEeFfoA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S/o9OzXkc3QTL7NZ2EPElr5LfwbIjZamn9aUs9pNXPk=;
 b=UbDG0yIbKnvTtUyYT4Ho29UjEwR7Nr0ovI6RajAk3lIUKQ9WEa+eXBNTU79+FIthP0DtGBOTk10Fu4wvDOu1YwMTyjM+d+1Ic79XgfECxw4KFhlt9+shZOWOok6gJh2iCitJfBzJY8uoG90GcRm2dJaXe0dKGXYBKSe7rXRAUG+X4X5o7xsyCv9qzJO+6iZgIz84A0Fr7QJVMPiWBHkFDSS6Q6s8g5+MktNgxX7vl6KMRY8GlPMDNkDJrr8Wz6Vixvc2AT4YLRubXbel+M2C5taaPkfuLkeKhdngUc4nuzLjYFNwFqoqi+oN/3PTtMCksaZywCUyRqbEwUE8edwLkA==
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=S/o9OzXkc3QTL7NZ2EPElr5LfwbIjZamn9aUs9pNXPk=;
 b=9rRhPknQ6FjMPBILVQg3IUqo4kIUUB/PMSv42TPmTyXmseteu0sID2bN14mpuP83m2CMbwCHdYrpUHUB4Yvnc8a1L7jVvo0tuDmQ/3vUqeXWks3Z5mem3LfWQYPCQBbPX9bsTLi+VQWVCbVHK2KkBaYuZiccZpOacMAaQCR387A=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Topic: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Index: AQHaHLkYgzDzOjzraUK+7wQZW0TenrCFOoGA
Date: Tue, 21 Nov 2023 20:33:36 +0000
Message-ID: <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
In-Reply-To: <20231121201540.1528161-5-andrew.cooper3@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS4PR08MB7556:EE_|AMS0EPF000001A9:EE_|PAXPR08MB6464:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d25295f-e297-4dae-dc08-08dbead12c6b
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:
 +yw3biNZua7JG70Aejrk17yYGNkscMlD/v3mWLjWi2n39WM8JTPDhMliR3BK6iwGDp9ECnSgsIowJY2Mt0mDwShrnzPlc1VCUrZ/5M6rHAd6QCkcByIdfX/7ccRVjiccPEmGIAR3IWfV+0cnw+OLQFx281ksmDtspuEijBM47IJ0EOuGaAlT13ahfjpUlmFY62bpFQLJoRiMu4fMBJeI8fjg44IAxCCBq6Dd24OB4bx+MVL0Rg8qN+gUWWwfb81pIFrdkwNjbFk6q6iKVBaw9I0vgQ9f1xHpdPnqQOadku10fe1fthO2SB6HZIABcoIR29soJvltdI98+K18zM15wE3NAOZ/YvfFcbKCEc7rDOFkRXZ5JGt4UftOKAm4rfdDIGzrYRNi2DJsUWc/P6VYMxX/PiHfYM1SEqvpm5VturEUZWugidgKrVv7SUZ3q5xkMbXmvGkNHzCw1XdAbzhyfe3ymGuvzKzfXuII+jqFXOn9dXI8DlvzyAzQZBTHyk/tD0aVWKH2/f9nHYm6kKwQ0gEDsElP7o62z5ji/1o8KSB6xnZzH8zv5vOiV3dDYPGOXZnSrkv6JJKf+2WSopdvgJTcGnV6ONEcRXnAxwO9SGl6zAZafaXCCUrAIshvP0TM/GK3LFfTkUY9EjYLCoRU0w==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(41300700001)(36756003)(7416002)(2906002)(5660300002)(86362001)(33656002)(38070700009)(26005)(6512007)(53546011)(6506007)(2616005)(83380400001)(6486002)(478600001)(122000001)(71200400001)(38100700002)(91956017)(4326008)(66946007)(66556008)(76116006)(66476007)(8676002)(316002)(6916009)(8936002)(66446008)(54906003)(64756008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <C9F2C4C04CA5974BAE866F05C6725DB5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7556
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:
 AMS0EPF000001A9.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	7d0ddc4c-e3ab-4487-ceed-08dbead12352
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DyJm+eMQVnRursTHmAl36byslUP26bZ6kl34SuebaVjD68a1OGdAv8TyK39yFUiN6HeLg8vOC7o3W7WntFx2F0Uybm5JDRM4wIeV3pjYWylY5Dlr0SIYPkQQkN1mdZzTTdwOw8onABFrEiF7uTbPJeIiba42tW1X5KWGCv0YNmF1bqiiCL4EorZrJ175a04Ur4zDjLcvCMKWEHoNJ/IaayKcGhXNDHxMyToGVmSfAnwbvNYclSuX8wj3Jochb0uhIHYazYSXN28soJDTR2d470hxkG0zXqJRVANKpc8V1gCujVMD8o2Vp++9CO3a/HG3TgQnevPDCnQsEUm/LV5OP5GLM9lI4CHTo3onTgGfaUcMqrUtPICt2/ETBBl4dC5JdE93/Fac7v1GJ03IAVJJQbK0tigG9w9JyJhi4stYs/oCOgAnh4lmFBcsjhRNg3GtJZAN8wFQlBU6AGN3xuKms/R2gMKy2Yagjng7iKeCiAaTgsqmNxebJfL2WeUSD38u23c+eXldHebtwQG7qOGtNBUojE1qxqrfqMTpaVgPIJM5BOFjRwjSct/UvXuWVHhThoHOfKKD4SXpMVO9n8X3D+OzIg7tSt1LLummeLHbN5+m4GVjY+fJOOtmgve/+TzhcPAmVwDwPJjLs/esA7ZcbK37Q3bqP7485MuDurHx7q7XKqb/Ozchzpo0AWKyKtLW3qM2ERisn+4K/GBVnU43/ZerZ6P+Pw+8IiWOdHXsetCUmRhDs2idjoyIWDwD3x3Y
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:(13230031)(4636009)(346002)(396003)(376002)(39860400002)(136003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(82310400011)(40470700004)(46966006)(36840700001)(356005)(41300700001)(81166007)(82740400003)(36860700001)(6512007)(2906002)(86362001)(5660300002)(47076005)(36756003)(478600001)(33656002)(6486002)(8936002)(8676002)(4326008)(6862004)(53546011)(2616005)(40480700001)(6506007)(54906003)(316002)(70586007)(83380400001)(26005)(40460700003)(70206006)(336012);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2023 20:33:51.6762
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d25295f-e297-4dae-dc08-08dbead12c6b
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:
	AMS0EPF000001A9.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6464

KyBDQyBoZW5yeQ0KDQo+IE9uIDIxIE5vdiAyMDIzLCBhdCAyMDoxNSwgQW5kcmV3IENvb3BlciA8
YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6DQo+IA0KPiAtV3dyaXRlLXN0cmluZ3Mg
aXMgdW5oYXBweSB3aXRoIGFzc2lnbmluZyAieGVuIiB0byBhIG11dGFibGUgcG9pbnRlciwgYnV0
IHRoaXMNCj4gbG9naWMgbG9va3MgaW5jb3JyZWN0LiAgSXQgd2FzIGluaGVyaXRlZCBmcm9tIHRo
ZSB4ODYgc2lkZSwgd2hlcmUgdGhlIGxvZ2ljDQo+IHdhcyByZWR1bmRhbnQgYW5kIGhhcyBub3cg
YmVlbiByZW1vdmVkLg0KPiANCj4gSW4gdGhlIEFSTSBjYXNlIGl0IGluc2VydHMgdGhlIGltYWdl
IG5hbWUgaW50byAieGVuLHhlbi1ib290YXJncyIgYW5kIHRoZXJlIGlzDQo+IG5vIGxvZ2ljIGF0
IGFsbCB0byBzdHJpcCB0aGlzIGJlZm9yZSBwYXJzaW5nIGl0IGFzIHRoZSBjb21tYW5kIGxpbmUu
DQo+IA0KPiBUaGUgYWJzZW5jZSBvZiBhbnkgbG9naWMgdG8gc3RyaXAgYW4gaW1hZ2UgbmFtZSBz
dWdnZXN0cyB0aGF0IGl0IHNob3VsZG4ndA0KPiBleGlzdCB0aGVyZSwgb3IgaGF2aW5nIGEgWGVu
IGltYWdlIG5hbWVkIGUuZy4gImhtcC11bnNhZmUiIGluIHRoZSBmaWxlc3lzdGVtDQo+IGlzIGdv
aW5nIHRvIGxlYWQgdG8gc29tZSB1bmV4cGVjdGVkIGJlaGF2aW91ciBvbiBib290Lg0KPiANCj4g
Tm8gZnVuY3Rpb25hbCBjaGFuZ2UuDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPiAtLS0NCj4gQ0M6IEphbiBCZXVsaWNoIDxK
QmV1bGljaEBzdXNlLmNvbT4NCj4gQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRy
aXguY29tPg0KPiBDQzogV2VpIExpdSA8d2xAeGVuLm9yZz4NCj4gQ0M6IFN0ZWZhbm8gU3RhYmVs
bGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4NCj4gQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVu
QHhlbi5vcmc+DQo+IENDOiBWb2xvZHlteXIgQmFiY2h1ayA8Vm9sb2R5bXlyX0JhYmNodWtAZXBh
bS5jb20+DQo+IENDOiBCZXJ0cmFuZCBNYXJxdWlzIDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+
DQo+IENDOiBSb2JlcnRvIEJhZ25hcmEgPHJvYmVydG8uYmFnbmFyYUBidWdzZW5nLmNvbT4NCj4g
Q0M6IE5pY29sYSBWZXRyaW5pIDxuaWNvbGEudmV0cmluaUBidWdzZW5nLmNvbT4NCj4gDQo+IHYy
Og0KPiAqIE5ldy4NCj4gDQo+IEknbSBhZnJhaWQgdGhhdCBhbGwgb2YgdGhpcyByZWFzb25pbmcg
aXMgYmFzZWQgb24gcmVhZGluZyB0aGUgc291cmNlIGNvZGUuICBJDQo+IGRvbid0IGhhdmUgYW55
IHdheSB0byB0cnkgdGhpcyBvdXQgaW4gYSByZWFsIEFSTSBVRUZJIGVudmlyb25tZW50Lg0KDQpJ
IHdpbGwgdGVzdCB0aGlzIG9uZSB0b21vcnJvdyBvbiBhbiBhcm0gYm9hcmQNCg0KDQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 20:41:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 20:41:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638235.994578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5XZ3-0008R6-6u; Tue, 21 Nov 2023 20:41:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638235.994578; Tue, 21 Nov 2023 20:41: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 1r5XZ3-0008Qz-4R; Tue, 21 Nov 2023 20:41:45 +0000
Received: by outflank-mailman (input) for mailman id 638235;
 Tue, 21 Nov 2023 20:41: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5XZ2-0008Qt-JN
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 20:41:44 +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 607a5620-88ae-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 21:41:42 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-32dff08bbdbso4577681f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 12:41:42 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 e1-20020adff341000000b0032f79e55eb8sm15244004wrp.16.2023.11.21.12.41.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 12:41:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 607a5620-88ae-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700599301; x=1701204101; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=tExk3hsqIuVrnXkevypD4dx5ha5mp95KSrRr8yGJ/Nk=;
        b=EQgKEty6wAmQZQfKnt9mIVyXyyWheFEp2BhSr9VxMdD9lTAKRN80iKIkWbDHRlKojn
         t0ll1FTMwoLb4/Qf/QAQzdqR/80/ZC0rOe4wftjkpaVGIXvdg02TA0C7k1NTUJK8flOG
         XWqk/0GmbWxav/Cl77HXUgsM0IjmrDXq8s+Zo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700599301; x=1701204101;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=tExk3hsqIuVrnXkevypD4dx5ha5mp95KSrRr8yGJ/Nk=;
        b=WEczQ8mp8Ndr0gV2JpdQXbiuuIedlymNywJr9Ye+LQu7kZ14QIZ/R81db3mZ+5tJj9
         r3pYR7W8kGMT7cfNZRTB2dAPfmwMmmEiWjOJeqrp7LxTAmxWrmQaM9szdQGL8hTrepus
         Dfp6Btuh5nk/1tSeX4Bn7twZ0b5sHU9sOapN+MVnHcmeprIlW/LUh4WbHG9PFpZPZXKZ
         TWyoRCc+mj5iC93GpompY6TTj8/o2gYKGh+ghOy05mmOjeCGnJhCgdeoC0+/3jYFnszY
         2olomOiZ/U03kdZ9eI9CXWBh82CcP5O5nAzQqBV4ablOkZ47uchfKEcKG4hPesx9SffT
         TuYw==
X-Gm-Message-State: AOJu0Yyo+ycPDYpa2w1D3bR3KyPCYxZpul7l9KyeaNG3mvhbzLt83Gh5
	O4pmjMhZX2a1TkNKd09Da1LQxA==
X-Google-Smtp-Source: AGHT+IEHrOh4c+S9bXHzypH3Pyt8HadP375az/nScvUpYaKZOy6rP4YiRXPyAXDujkcG4bTmECRkGw==
X-Received: by 2002:a5d:4c4c:0:b0:32f:b419:6ec2 with SMTP id n12-20020a5d4c4c000000b0032fb4196ec2mr102313wrt.34.1700599301519;
        Tue, 21 Nov 2023 12:41:41 -0800 (PST)
Message-ID: <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
Date: Tue, 21 Nov 2023 20:41:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.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>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>, Henry Wang <Henry.Wang@arm.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
 <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 21/11/2023 8:33 pm, Luca Fancellu wrote:
> + CC henry
>
>> On 21 Nov 2023, at 20:15, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>
>> -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but this
>> logic looks incorrect.  It was inherited from the x86 side, where the logic
>> was redundant and has now been removed.
>>
>> In the ARM case it inserts the image name into "xen,xen-bootargs" and there is
>> no logic at all to strip this before parsing it as the command line.
>>
>> The absence of any logic to strip an image name suggests that it shouldn't
>> exist there, or having a Xen image named e.g. "hmp-unsafe" in the filesystem
>> is going to lead to some unexpected behaviour on boot.
>>
>> 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: Stefano Stabellini <sstabellini@kernel.org>
>> CC: Julien Grall <julien@xen.org>
>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
>> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>
>> v2:
>> * New.
>>
>> I'm afraid that all of this reasoning is based on reading the source code.  I
>> don't have any way to try this out in a real ARM UEFI environment.
> I will test this one tomorrow on an arm board

Thanks.  I have a sneaking suspicion that:

diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 9b9018574919..8bca5b9a1523 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -46,6 +46,12 @@
 #include <xsm/xsm.h>
 #include <asm/acpi.h>
 
+static int __init parse_ucode(const char *s)
+{
+    panic("Xen image name interpreted as a cmdline parameter\n");
+}
+custom_param("xen.efi", parse_xen);
+
 struct bootinfo __initdata bootinfo;
 
 /*

will trigger.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 21:07:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 21:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638242.994594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5XyB-0005Oc-BY; Tue, 21 Nov 2023 21:07:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638242.994594; Tue, 21 Nov 2023 21: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 1r5XyB-0005OV-6M; Tue, 21 Nov 2023 21:07:43 +0000
Received: by outflank-mailman (input) for mailman id 638242;
 Tue, 21 Nov 2023 21:07: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5XyA-0005K2-5j
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 21:07:42 +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 00a93036-88b2-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 22:07:39 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-4083ac51d8aso29317475e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 13:07:39 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 u26-20020a05600c211a00b0040775501256sm17713704wml.16.2023.11.21.13.07.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 13:07:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00a93036-88b2-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700600859; x=1701205659; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jgNO5LRmGdsG/v6mlyGGtMlD9QQ0M9jAkocWQA2QnGE=;
        b=kZNHc/S6+umnLX29YK0tNoOyjzrxwREqFD7Gb6zbOhozt76I82GCmJNPwh7EGXkz6n
         wneiUX3WyoH0rgow8BlhtGsX2H8w2CI3rAKle64rMh8esns3nVRqVMRW9VK+dszPFvac
         xF3Uth+KpuY2bVAFtD6WaL4KeurCiCNy19ITA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700600859; x=1701205659;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=jgNO5LRmGdsG/v6mlyGGtMlD9QQ0M9jAkocWQA2QnGE=;
        b=kC2g6GVKG2lIJ/WOuqyEQaWE2pi+8aZHntK6uVzha34klvc3BODR4WJRPipF1xdWXn
         0pUs5AvxFPlH/n4IepT6EIrZV/xMo7kc9A2Mmwd6h/DZJt82/71qGMmRBWaKQ7nv/CB/
         XdJRPslzHj6wy4k9ZfSmeyle8Es4WbddMWyHnGuREBCxMrNhHGaEjnAT7NRRIXvaWwHs
         BGA1y2NwNNJymjRn8zyar7TyAZh8sDWyX9ACeWTP6KnDh7z6ytFybxTTKwLTmBOCfJjr
         zCwIydxbZh50hPIOJGuLTbneNveGjvPTBQTxzQZbx+pUwLB2XwboNUfIjyIgtYEZJYKL
         wBoQ==
X-Gm-Message-State: AOJu0Yy/OqpAE4IKKPld69pZ53BWh6vk93BEQcG281hjNTJPfDbJLr+p
	wPyqoA6SDQ2BBUqe8kMWbkpmcg==
X-Google-Smtp-Source: AGHT+IE+g28waaWWIBR6YLYdBMDhVjYxDwUUTt8vYdI+2rpDD2DFRenjDKF7Gnxmz6qcEWcZ85IOFg==
X-Received: by 2002:a05:600c:46d5:b0:408:4d0e:68b2 with SMTP id q21-20020a05600c46d500b004084d0e68b2mr372261wmo.36.1700600858661;
        Tue, 21 Nov 2023 13:07:38 -0800 (PST)
Message-ID: <e496ec5b-f498-4617-adc0-7291e76a1665@citrix.com>
Date: Tue, 21 Nov 2023 21:07:37 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 0/5] Mini-OS: preparations for 9pfs in xenstore-stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231121094953.22430-1-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231121094953.22430-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 21/11/2023 9:49 am, Juergen Gross wrote:
> This small patch series is doing some preparations for being able to
> use 9pfs in Xenstore-stubdom.
>
> Changes in V2:
> - added patches 2 and 5
>
> Changes in V3:
> - rename function to get own domid (patch 2)
>
> Juergen Gross (5):
>   Mini-OS: make xenstore_buf externally visible
>   Mini-OS: get own domid
>   Mini-OS: don't crash if no shutdown node is available
>   Mini-OS: fix 9pfs stat receive format
>   Mini-OS: fix 9pfs response receiving

Committed.

I guess you want to patch xen.git to use minios master now?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 21:15:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 21:15:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638256.994624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Y56-0007oI-BS; Tue, 21 Nov 2023 21:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638256.994624; Tue, 21 Nov 2023 21:14: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 1r5Y56-0007oB-6q; Tue, 21 Nov 2023 21:14:52 +0000
Received: by outflank-mailman (input) for mailman id 638256;
 Tue, 21 Nov 2023 21:14: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5Y54-0007o5-SX
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 21:14:50 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0124d737-88b3-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 22:14:49 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4079ed65582so26841625e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 13:14:49 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 19-20020a05600c025300b004053e9276easm22240825wmj.32.2023.11.21.13.14.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 13:14:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0124d737-88b3-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700601289; x=1701206089; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=LbhToocL/NPh7/WphDs4BwLUSo96QT9wEyvu8CnugKE=;
        b=ktFBWgdRdjDqIMGVqrQKLDEbrHOMzDBAVOvQCt/q3MbaMThUVq1iHUXnhsQu5NHhCi
         OpFF269gkM8iWVSXNRcnRtPB54SfVTt9enaTcnrYyE+Qo5P5zQrMwrAuXdpr1hGxdD52
         MoL8m2Ost7OSEJ99DKSpLPx5V5skgNJOibHZw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700601289; x=1701206089;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=LbhToocL/NPh7/WphDs4BwLUSo96QT9wEyvu8CnugKE=;
        b=s57NQb1qZNc8QcrF/GdofekQmGZCVgodcnFvtw+mL9zHx5aGVJ55InNTIziYmiCGl+
         bJInq/uZyqyzb1Xlw74K5WP/D1HOgE2pIgQ41bqSh4fR4bPAnAGCAmszRZR8OK0iXzXU
         LwUHzX7nZkikxAYcjx+vflkgvthpRr0XvZ/tF/Z6liBFB2h7IeB0i80cSh95r9OBObgT
         3NHj213xSWjU+fX2A4l41vLZDrVNPx280adZe8cu19IMP9xfbYNpBY82oXltPso8hkgm
         E+nRVowqoFf44t/f0HUxdldRXdtSaKYZk3y9r4LWUIx/fJEOHYIfHNkwehimd80NXhVK
         Jlbg==
X-Gm-Message-State: AOJu0YwSArVi1EA/acr3avVlaWyci2AX9LOpKW0Sz/Ezl+cgFNG08T6+
	XyvQ359TVn7u6P5D6f6W6w1Svw==
X-Google-Smtp-Source: AGHT+IE0sBYyWtxX8DuC6U9n6axwYcoO9bwmBo32kKM/yiv4FcQmBsYnLc37kJwEBBzT8MSOneB+1g==
X-Received: by 2002:a1c:7c01:0:b0:405:1c19:b747 with SMTP id x1-20020a1c7c01000000b004051c19b747mr429173wmc.15.1700601289064;
        Tue, 21 Nov 2023 13:14:49 -0800 (PST)
Message-ID: <b45d743e-2ed4-49a5-92d9-1811d7be0188@citrix.com>
Date: Tue, 21 Nov 2023 21:14:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] stubdom: remove caml-stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20231101160837.32241-1-jgross@suse.com>
 <7b6658b4-cd36-4d52-991b-f4b94b6fb172@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <7b6658b4-cd36-4d52-991b-f4b94b6fb172@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 20/11/2023 10:36 am, Juergen Gross wrote:
> On 01.11.23 17:08, Juergen Gross wrote:
>> In order to build caml-stubdom, it must be explicitly enabled via
>> "configure --enable-caml-stubdom". The build process is failing due to
>> stubdom/ocaml.patch failing to apply. Since the patched file has been
>> modified in 2014 the last time, it seems nobody cares for caml-stubdom
>> since at least then.
>>
>> Remove caml-stubdom from the build system.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>
> Any comments?

I'd say the tumbleweeds from the Ocaml folks says enough.

Any chance you can resend with the Changelog adjustment, and with the
option stripped out of ./configure ?  Might as well clean up everything
as we go.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 21:24:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 21:24:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638262.994633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5YDw-00029W-6B; Tue, 21 Nov 2023 21:24:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638262.994633; Tue, 21 Nov 2023 21: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 1r5YDw-00029P-2G; Tue, 21 Nov 2023 21:24:00 +0000
Received: by outflank-mailman (input) for mailman id 638262;
 Tue, 21 Nov 2023 21: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 1r5YDv-00029E-K7; Tue, 21 Nov 2023 21: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 1r5YDv-0003OX-HN; Tue, 21 Nov 2023 21: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 1r5YDv-0001Hf-5e; Tue, 21 Nov 2023 21:23:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5YDv-0008RB-58; Tue, 21 Nov 2023 21: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=79AlKRLW6PujlmeW1D/SCCHgzslWam2zHL9q87QXVMc=; b=dM4BpmgAupiDSLkF2s/A503yLv
	rbAOvkdRx7PQnToeg+1Pj6xYivvitNVIff2AEBZDkzqaxOMsiHcQyeg36xs/BqT1g8mc14Y0n3czI
	WVIzEVQ6PY2WyQFYDEn31Samr4CUXINCyeQTop76FNaWClshdK0Z1NNbKxRbE6qCXlfo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183814-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183814: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=10081c2dc571775b538bb00982606a39832ad7e3
X-Osstest-Versions-That:
    xen=a1f9490cccb7bda80d736cd439be4611286d2042
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Nov 2023 21:23:59 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  10081c2dc571775b538bb00982606a39832ad7e3
baseline version:
 xen                  a1f9490cccb7bda80d736cd439be4611286d2042

Last test of basis   183809  2023-11-21 10:02:16 Z    0 days
Testing same since   183814  2023-11-21 18:02:08 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>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   a1f9490ccc..10081c2dc5  10081c2dc571775b538bb00982606a39832ad7e3 -> smoke


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 21:30:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 21:30:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638269.994642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5YK9-0004ig-Ru; Tue, 21 Nov 2023 21:30:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638269.994642; Tue, 21 Nov 2023 21:30: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 1r5YK9-0004iZ-PH; Tue, 21 Nov 2023 21:30:25 +0000
Received: by outflank-mailman (input) for mailman id 638269;
 Tue, 21 Nov 2023 21:30: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5YK8-0004iT-3B
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 21:30:24 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2d59e694-88b5-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 22:30:22 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-32f8441dfb5so4608943f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 13:30:22 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 b15-20020a056000054f00b0031980294e9fsm15404876wrf.116.2023.11.21.13.30.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 13:30:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d59e694-88b5-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700602222; x=1701207022; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ogqx5kCPLAzs8ge6jpWbGjToEvSWqgEPSAKmO64U1mY=;
        b=axF1bxl970AmXOMIq8u3TAawfGgQwNUCYXexY8lwvpM2F6v8FuZLgBBTht0Q9Vr5pP
         W74Xs2rsf2vNHTr6np2rPWgLihUtFEeQgsliPFFhwmqI3sdCW1zZ/7wSVS4VxUuPIYnn
         7KLdUwJXOTwadK186JwyryfEiUzjoFtB6kB14=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700602222; x=1701207022;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ogqx5kCPLAzs8ge6jpWbGjToEvSWqgEPSAKmO64U1mY=;
        b=vDZTf0hEX9yf8sKFJgvfj03Qj+YZwkhxOQXQGQJRCNa8fgnExvnqOYDfB1UtZ3CZJa
         r169EvkKJUHHwZCfDSW4Pxal78X5iTTJk6GcAwccxgtM5ZFD00neCat7U9JuJBZDas6c
         pujMv7HvvgCokIumi7K+rdmmHGU0GsF2cXmqWpJHmpnROTLRoWa8o5U+gUzKJALOHCHT
         i2D/2RNwC5f7PIJ//8r6G0mSlWo+Reae2xsCxjU1mcdpGySdZPS5WRF5eQUG8gJBtVtq
         zcbPwwsAsfuFwMrmXBR6F7re37xUXqlCOl6m0qKJRd2SOpB29PNvkUAvnsIGcHnUI6Gc
         Hvpg==
X-Gm-Message-State: AOJu0Yz2DLRl6bC21TDVl6TniX/ApxDxeR7PzlovVY3poPYn/ux+cGsW
	19JTBnlJ7JGn/O/VaAdpzpBtlg==
X-Google-Smtp-Source: AGHT+IGR0SSwpa6ygjzhrS8iXEp25PPjiA4mv09J4dBtfRw90RqB0siNcBLq5oKw7iAd0ZY2SbSgtw==
X-Received: by 2002:a05:6000:1f04:b0:332:cbd4:31f9 with SMTP id bv4-20020a0560001f0400b00332cbd431f9mr161652wrb.20.1700602222208;
        Tue, 21 Nov 2023 13:30:22 -0800 (PST)
Message-ID: <8573291e-9c0b-4be0-a633-05906026c7b6@citrix.com>
Date: Tue, 21 Nov 2023 21:30:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86/HVM: introduce hvm_point_entry()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <9810305d-4b36-4e23-b807-a7a00f0ba6b6@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <9810305d-4b36-4e23-b807-a7a00f0ba6b6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/11/2023 1:46 pm, Jan Beulich wrote:
> ... to accompany hvm_read_entry() when actual copying isn't desirable.
> This allows to remove open-coded stream accesses from hpet_load(),
> along with using the helper in hvm_load() itself.
>
> Since arch_hvm_load()'s declaration would need changing, and since the
> function is not used from elsewhere, purge the declaration. With that it
> makes little sense to keep arch_hvm_save()'s around; convert that
> function to static then at the same time.
>
> In hpet_load() simplify the specific case of error return that's in
> context anyway: There's no need to hold the lock when only updating a
> local variable.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I really do hate all of this logic and most of it wants to live in
userspace, but this an improvement.

The only thing I'm a little concerned with is the name. 
hvm_read_entry() clearly consumes an entry, while hvm_point_entry()
does, but doesn't obviously convey this at a glance.

Ideally I'd say that hvm_{get,copy}_entry() would be better nomeclature,
as both have at least a vague implication of unmarshalling and one
clearly is making a separate copy.

Thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 21:35:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 21:35:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638285.994693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5YP1-0005oa-5p; Tue, 21 Nov 2023 21:35:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638285.994693; Tue, 21 Nov 2023 21: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 1r5YP1-0005oT-2g; Tue, 21 Nov 2023 21:35:27 +0000
Received: by outflank-mailman (input) for mailman id 638285;
 Tue, 21 Nov 2023 21:35: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 1r5YOz-0005oJ-LB; Tue, 21 Nov 2023 21:35: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 1r5YOz-0003bF-Il; Tue, 21 Nov 2023 21:35: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 1r5YOz-0001Yv-6A; Tue, 21 Nov 2023 21:35:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5YOz-0005QQ-5b; Tue, 21 Nov 2023 21:35: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=XsqhLVWjSSvWDYxBG+AnoXXy/PkpDAGvyFjvHqtvZkE=; b=HUW+/zha7gSX/F3XgdD6gybHOb
	vmDtybJxnBwied3pqly+q27HRsx7D6IuaV7q7NsSRJMrL5wVetZFNdyqFy/jy3Zzq3kmqrjgl/Np7
	jaUNhccFMuHaSFaB3h7HYthfNfNw13vpr8wzKkXGkR1+xHjxCCZauA7zcMMi3EgLLQNI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183807-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183807: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-arndale:xen-boot:fail:heisenbug
    xen-unstable:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    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-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm: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-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:migrate-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-libvirt: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
X-Osstest-Versions-This:
    xen=fa2da5bce90b3777aa7a323e1cf201c97b56d278
X-Osstest-Versions-That:
    xen=cfb777791d39e025cf625ba1fa080597d4defef6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Nov 2023 21:35:25 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-arndale   8 xen-boot            fail pass in 183815-retest
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail pass in 183815-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-arndale 15 migrate-support-check fail in 183815 never pass
 test-armhf-armhf-xl-arndale 16 saverestore-support-check fail in 183815 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183800
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183800
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183800
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183800
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183800
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183800
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183800
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183800
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183800
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183800
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183800
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183800
 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-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     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-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-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-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          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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-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-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-libvirt     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

version targeted for testing:
 xen                  fa2da5bce90b3777aa7a323e1cf201c97b56d278
baseline version:
 xen                  cfb777791d39e025cf625ba1fa080597d4defef6

Last test of basis   183800  2023-11-20 14:09:32 Z    1 days
Testing same since   183807  2023-11-21 04:17:59 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ayan Kumar Halder <ayan.kumar.halder@amd.com>
  Henry Wang <Henry.Wang@arm.com>
  Julien Grall <jgrall@amazon.com>
  Penny Zheng <penny.zheng@arm.com>
  Wei Chen <wei.chen@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                                          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                                  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                                  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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   cfb777791d..fa2da5bce9  fa2da5bce90b3777aa7a323e1cf201c97b56d278 -> master


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 22:08:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 22:08:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638292.994702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Yv7-0004fg-Kf; Tue, 21 Nov 2023 22:08:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638292.994702; Tue, 21 Nov 2023 22:08: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 1r5Yv7-0004fZ-I9; Tue, 21 Nov 2023 22:08:37 +0000
Received: by outflank-mailman (input) for mailman id 638292;
 Tue, 21 Nov 2023 22:08: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5Yv6-0004fT-GX
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 22:08:36 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 838bccdf-88ba-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 23:08:34 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-32f7abbb8b4so4099619f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 14:08:34 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 q1-20020a5d61c1000000b00332cb8fd5b7sm5215018wrv.67.2023.11.21.14.08.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 14:08:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 838bccdf-88ba-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700604514; x=1701209314; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wDL9htsDHeynmoWH0epGZfnNAXUKOakCP+zQcrx4kyA=;
        b=tX0FFuZ1v1TRwp8tqntdEnoZqyfRqpFIEnROFzvjvjmiRiN2IMTvA+bK1fEs7Sqe+s
         WyKMPe38uJ2/QMosUZAd53ZRN6vLLvMzFtv8TZZzalv/tJ0+s65F/7Vs/9XSu/C6kmHL
         tIdK7HLKhzXDPrjgFs4xCVy2Yf8DKkX4cwgeo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700604514; x=1701209314;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=wDL9htsDHeynmoWH0epGZfnNAXUKOakCP+zQcrx4kyA=;
        b=sVmoLaG363F+OIejMiM2sRXB94YNO24+8AXHzgqO9ijBX9U0+CFmaNJbEO7IhCMMG0
         um7FxzshlOj3cdYcsTM0+wPiVDvsLIqZJL9GH05aiMONO06iOL3aVn0sE0wCLcyOr+Px
         88CP/1O0wDxpFZLZUNTpJcKprnXrG/+0jtFGNzNzSYot+EWQiehQ8vHfnhN8a40qSmH/
         FiJuqSNGD+chNb4VD8BEO82nGvxhIzg+Iri6vRZcGJs/125HphHyV1yOsVbFyF+P+hqD
         fe/mzDnkHgTUqWaDigJH3uZhMFOWjMDh78jRPxtT1v2oWtm3qRu6/4qsEouqHTkOcOV1
         FZiw==
X-Gm-Message-State: AOJu0Yy5x2m+s0xGcIX8KMGlnREN/EjgqqE7HhiXmArlCs7roUl6VkjX
	vkjImWkyqrpvddYKUBYpVaFreg==
X-Google-Smtp-Source: AGHT+IEEq4HfYuNmsRLPlylf3BgAgNV5aBNs3ckXNmiPm2jfd4JoMRIeBmA9qRtjIiM3mFAMPFPjKA==
X-Received: by 2002:adf:f70f:0:b0:331:6c7a:73f with SMTP id r15-20020adff70f000000b003316c7a073fmr123441wrp.17.1700604514345;
        Tue, 21 Nov 2023 14:08:34 -0800 (PST)
Message-ID: <62939263-5492-491b-8077-984ab3707800@citrix.com>
Date: Tue, 21 Nov 2023 22:08:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86/HVM: split restore state checking from state
 loading
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <822a6328-36d3-43e9-9fc4-36d01a6b9ef2@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <822a6328-36d3-43e9-9fc4-36d01a6b9ef2@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/11/2023 1:46 pm, Jan Beulich wrote:
> ..., at least as reasonably feasible without making a check hook
> mandatory (in particular strict vs relaxed/zero-extend length checking
> can't be done early this way).
>
> Note that only one of the two uses of hvm_load() is accompanied with
> hvm_check(). The other directly consumes hvm_save() output, which ought
> to be well-formed. This means that while input data related checks don't
> need repeating in the "load" function when already done by the "check"
> one (albeit assertions to this effect may be desirable), domain state
> related checks (e.g. has_xyz(d)) will be required in both places.
>
> Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Do we really need all the copying involved in use of _hvm_read_entry()
> (backing hvm_load_entry()? Zero-extending loads are likely easier to
> handle that way, but for strict loads all we gain is a reduced risk of
> unaligned accesses (compared to simply pointing into h->data[]).

Pointless copying is best avoided, but it would mean that we either need
to enforce proper alignment within the buffer (hard, but at least it's
page aligned to start with), or __pack all of the structures so they get
an alignment of 1.

Not that I expect things to break in practice, but UB is UB and in some
copious free time it might be nice to re-activate the unaligned checking
in UBSAN on x86.

> Would the hvm_sr_handlers[] better use array_access_nospec()?

It's control plane only, and we have speculative protections for domU
entering domctls much earlier.  I wouldn't worry.

> --- a/xen/arch/x86/hvm/save.c
> +++ b/xen/arch/x86/hvm/save.c
> @@ -291,9 +369,8 @@ int hvm_load(struct domain *d, hvm_domai
>      if ( !hdr )
>          return -ENODATA;
>  
> -    rc = arch_hvm_load(d, hdr);
> -    if ( rc )
> -        return rc;
> +    ASSERT(!arch_hvm_check(d, hdr));

You're normally the proponent of not having side effects in ASSERT()s
like this.

But our caller did this anyway, so why re-assert it here?

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 22:10:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 22:10:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638297.994713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5YwZ-00064d-Vo; Tue, 21 Nov 2023 22:10:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638297.994713; Tue, 21 Nov 2023 22: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 1r5YwZ-00064W-Si; Tue, 21 Nov 2023 22:10:07 +0000
Received: by outflank-mailman (input) for mailman id 638297;
 Tue, 21 Nov 2023 22:10: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=qy+O=HC=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5YwY-0005zW-B4
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 22:10:06 +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 b8c2e718-88ba-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 23:10:04 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40b2fa4ec5eso1699175e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 14:10:04 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 q1-20020a5d61c1000000b00332cb8fd5b7sm5215018wrv.67.2023.11.21.14.10.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 14:10:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b8c2e718-88ba-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700604603; x=1701209403; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=CpQ3J+xA2uZXvAgA9C8OmO72RbYtAnJUl0wPZ4DPutk=;
        b=oC4Es49skFEv0VPxEts5zDh1wMgw8jUOUdQwN+Ntl0oluITTeCfZR2T4T7eEyHsq92
         77LdNvh8RsuXJDVDIVFKPGt9Mb4+nfb5CwiLFybvjHLnKLkOb7KWXarxs4WtI4YJa18J
         YwBQbrz0Eg+Nz4fOS+0hGO09WfiX0b+zG0ylI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700604603; x=1701209403;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=CpQ3J+xA2uZXvAgA9C8OmO72RbYtAnJUl0wPZ4DPutk=;
        b=AP0KFRXq+Pws5eWwGXUC4jmdLVxFJu0OiGqpgDVTHZYUQr+YlFlZrFTT7Dd71PUB9/
         Y/FVHcvFLLnXE2jk2rm9txZaw8qGQ8PF1Yo68cfy+0xTiQoDkiMVYZo+gMttQJ5SovWj
         PU/MwWsFgcW6XxDZDXnJ6/OaPnXpaGXIPprai2GLZJYkB3rqSKdSdb4HzTrLuGobgwWA
         R8zz2Xo/HwKpoaw94jtpEDWWfxeYn5+MFtDDTNo1//YUlJORspxFOUoRPhCBDuiiS7if
         +D2GKoITQpyoI+XzlzBqCIKW9xRQ+AwRrTXtG3CVXQA5bCQbt6qGkLdTAEsmCqpOzncF
         el6A==
X-Gm-Message-State: AOJu0YwWPB0LzFElu0CTjFG8obupbmhUQQmPuiEbkVec4SYAjYx/p8RP
	zAurcedw/Fz6nuH3wOlO49PYvQ==
X-Google-Smtp-Source: AGHT+IHtbmktJLsG9sVP/Yw1mklroWU1RubrSf1K4HOYYzvyuOwNraITPFW7g/cnBl47kNgnYuFdmg==
X-Received: by 2002:a5d:6d0d:0:b0:332:c5ff:1ba5 with SMTP id e13-20020a5d6d0d000000b00332c5ff1ba5mr335946wrq.13.1700604603666;
        Tue, 21 Nov 2023 14:10:03 -0800 (PST)
Message-ID: <f2f0009e-69f0-4b2b-bee0-c1d3eb9fb73d@citrix.com>
Date: Tue, 21 Nov 2023 22:10:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86/HVM: adjust save/restore hook registration for
 optional check handler
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Paul Durrant <paul@xen.org>
References: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <3627a561-939c-472e-840c-6925f4774631@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <3627a561-939c-472e-840c-6925f4774631@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16/11/2023 1:47 pm, Jan Beulich wrote:
> Register NULL uniformly as a first step.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 22:10:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 22:10:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638302.994722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5Yx8-0006Yl-84; Tue, 21 Nov 2023 22:10:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638302.994722; Tue, 21 Nov 2023 22: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 1r5Yx8-0006YV-5X; Tue, 21 Nov 2023 22:10:42 +0000
Received: by outflank-mailman (input) for mailman id 638302;
 Tue, 21 Nov 2023 22:10: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=/eqD=HC=epam.com=prvs=5689374ac6=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5Yx6-0006PS-PB
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 22:10:40 +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 cd2f4c23-88ba-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 23:10:39 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ALJcd1A031085; Tue, 21 Nov 2023 22:10:32 GMT
Received: from eur03-am7-obe.outbound.protection.outlook.com
 (mail-am7eur03lp2233.outbound.protection.outlook.com [104.47.51.233])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uh0hhgrv3-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 21 Nov 2023 22:10:32 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB8836.eurprd03.prod.outlook.com (2603:10a6:10:40c::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 22:10:27 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.028; Tue, 21 Nov 2023
 22:10: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: cd2f4c23-88ba-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HByi4MtSScepWAnhzE8y+/4h0THflXulvTUFJqhAD+QSqN5zxAPOkl84Q/BkmjmQAKXN63K5LsYmfYlFqdCwSycK/QtRzTM8ZJV7/bUlXtiU87HNNJJ3dQUJy67rXh3KcxljQvmyVG0eWevis4xKDBysIC+W9Qamf1WvXkRnQnqiO5yAeaUht3AkASL64mNQWAfZgw5L9kVV6MvVVcRp6PdDM/Yp6La/Knmq5zbwJ7bu3iZhzgrGnzhMXV2QtHNoibRnh+c8uMCZnoyrNCqU0W3/GNakCREwPZ7rne6IR3DoNS/7ZfSyvH4Y2Dn0dhnEfwdb2JB3TG4W5FMraZ5PUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YErD+LGkHLSIfKpC2tq04iqgbrsR/yANlnnAZGoF1mU=;
 b=eN1PHoRE375H63c7Wsn8OtvDFl0XpEpT9ERhCx5Diohmcg2C6CmOwdRrjWBzfaP2GwOxx/ZDSgeMOaeeiFYxyrpMy+r7WsF4e/JdQ7WSS3tkuWsnLb2gQi0LrUorSYqFQOfgF+fNy6kOWfo9RcK2rGJ9uVSHfG6jzs6/96q+BLv1dMRj2TN9R8CWBFDcbAuBeZz4/3rU+I3MKI2aFNjedeaM4d6q58XtQhJ6o/TF8D2eEzDRcJ/M/hgmWnT248+AMmFlFmG4lYELSvGCwTL6CXefPVegIW/QnBThGz+dz/bdnOShPYswpzUgf8QHGM16lFLpCVWIMPIS6fnsR/1OGQ==
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=YErD+LGkHLSIfKpC2tq04iqgbrsR/yANlnnAZGoF1mU=;
 b=VkyrI6wPK2QBU/CpfXJUHHX6hFOg8xP8DREfZHfPhW7d9y/u47oWr2er43qSCWqemmnPNfWDWn5X60ykBt7KuCXhD46Rvou6fSHdzXp88i1IlU7IRYUcgUGGH10nOmobycqR+KnMZ2Ox7SYbEfOzsKVnTPdyOf9Hcjqe/G6n9NNcZfkAs9tbiW7fQO0wEJbpmqmcKZJDha0RCW1AQZdZc4Tt+hUfXCPjjuaiZhJCX5vFwovZWKifLfve6AKjl4jGMq34n4bhuLK2EfFULwoYSCVpSNUoMJuaeFtzQ6pK5PwdgzveVDEoFco4FouOs5Qdzu9lFYfqQCyJYLUTFBMrTA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: David Woodhouse <dwmw@amazon.co.uk>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Anthony Perard
	<anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>, Kevin Wolf
	<kwolf@redhat.com>,
        Hanna Reitz <hreitz@redhat.com>,
        =?iso-8859-1?Q?Marc-Andr=E9_Lureau?= <marcandre.lureau@redhat.com>,
        Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
        "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
        "open list:Block layer
 core" <qemu-block@nongnu.org>
Subject: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice before
 realizing it
Thread-Topic: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Thread-Index: AQHaHMeI32LlpkxN1EiN6kyRHznaJg==
Date: Tue, 21 Nov 2023 22:10:26 +0000
Message-ID: <20231121221023.419901-2-volodymyr_babchuk@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231121221023.419901-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB8836:EE_
x-ms-office365-filtering-correlation-id: 31116187-0174-41d9-844a-08dbeadeab25
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 1sL4Mkp3NnUFobtaE2EhfIOQQtT8YyOfGOTpmqFqIajGEeZSSlHpc2ItNIjyhri+WsNtmIRySM5SB1JfMdrLV6b5oWUq287YtEywmON8FurewElTrcv2RTjYTyW8cKl8erW4auG/YasfByrDpJqR3YdX82+6ZqCA0NnaHqYcgr/+HtoYGN0tvaVxvNPsIrQBi56CDbsLPtdcn4KS507nfDFZx5oDSQ3W0gda/s/Iwsx3YQFv9AS2lZDTci6hMdNeQBtpO2XwnwTMVT7vXOeh5OapnH1c0UIntcbcTjXMOm8D6W84SPCOqVqK1T8TwxskXQQu2HDgdcR47xeLijy0gzgmAR8P/+RORTj2h9pdoIpHMuDIn1LwmaL/dd/Rjjen81/4Rt5qv7CRgAJw8ri4P1JPtnqIg9NuBR5Fkug+YzZb+ZZyEDGFyrDh7qv8VNYAj6Zsovkw+nHOtI8Y586H/mTX47AT1WMSBQSK2GhoAci+2WtRpmLOBQeKkwr3WLeNOhR/BYgeA8CZJ8IFGL1gFHI8id5KVEpAP/ROZArRIA+DNLZeo48Tc/87bFARmUffMAbSTKA87VXZGzsMdj/t5T2Iyte1LxymabnyA95Tx5FHdDPjer2sbL+y1hfQAb1Z
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:(13230031)(366004)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(41300700001)(86362001)(36756003)(7416002)(5660300002)(2906002)(38070700009)(122000001)(6512007)(2616005)(6506007)(55236004)(6486002)(83380400001)(71200400001)(1076003)(478600001)(26005)(38100700002)(91956017)(66556008)(66446008)(316002)(66946007)(6916009)(64756008)(54906003)(4326008)(8676002)(66476007)(76116006)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?JuLA2Hn7jFhlkk9wc7smzueOc0Lt4aKTk8KWY68kzpZxd80M60sEXISQWg?=
 =?iso-8859-1?Q?JfGVl7lqYO4mLVszCcZtOcEcbQD9B8NH0x7c+4it0sBWem9IKKmt7CqRMu?=
 =?iso-8859-1?Q?/RW8DZH9qhvnj3jC9zYEPk9mB6ni7P27EPVrnB0xvNTVZCLndh/J3WO0zV?=
 =?iso-8859-1?Q?S4Wt00oi5P7j7Wkj5huO/nmLi5JYEC7o5e8HWAyxv7bGtR6p/dHb2lK1+B?=
 =?iso-8859-1?Q?n0J2HlcmyOG0PiJ/xAVUupLObZUWM+KHJZz5DuMzUdskRNkWC1xRBo0N1v?=
 =?iso-8859-1?Q?BQ1EQCsrpq7uzgVMqd83mzfY1/1Hs1u91K6Mfal4gUhESrORThQUBDHdZS?=
 =?iso-8859-1?Q?g6HJbrJ2m3/m3Pq0vp6ptxJF2QZo3XB0+R/3/wVAyT2aDIBnDtGO8vnprB?=
 =?iso-8859-1?Q?3QWPCfipxEduxw9WVVd5sVrIbvirD33umYbVNe9YYD3NZuZwFyyr8/vTb5?=
 =?iso-8859-1?Q?5hsbuk9wSjehpFs5JyZ5DT7JdMTmnftPSUFFX8Qb+FdIsjqMNnsH4w9sEX?=
 =?iso-8859-1?Q?2FjQTywkvunjolMaPM3WYVXv8ZxB+rqnmMacO8zeKww18POYboDTYUa6xN?=
 =?iso-8859-1?Q?S6mULSRmIvJiggg6dWo2Nxd2pFNZMcsBn5JBpT/91wPhhJo4ErQZmmmCM2?=
 =?iso-8859-1?Q?J8pb2NLyoDfZk/Xk9NJhieYtkBIqppIFQ/ooVpykgVFKu+JfrDYwKuD6oI?=
 =?iso-8859-1?Q?5c7qFi2tzDWOBOQtQSUFcFxc4c+lKuz9Oear04gH5Ohp0Abt8rriibMlYz?=
 =?iso-8859-1?Q?n7xpOLHtqsWr9PAtsPxNy3g5W402AUnDQOrTh+99yjlCi8cQ/8gHhvxyLC?=
 =?iso-8859-1?Q?mjkv4cgrmb2419uVl/D4P7ctP1cjLx0w6L4r4xk6ofmjFbWOj4Vi987jiU?=
 =?iso-8859-1?Q?YMIs2M4BgCWh/EEgnmyPiUy4kSVnKh5xEy2L/DipE3fx5+/+uL5hNhiQfP?=
 =?iso-8859-1?Q?Ts3kqiykhnuczez8vnhSZMbFsAwtl/Eo0Z0Mfq3v3YFUDV8n2jDzEoFHuE?=
 =?iso-8859-1?Q?RFva/PrsgWUAz9l8Y60ojzOPACBm5bzPvwTAjzHqRKq8w5k38qfHiNL5Pa?=
 =?iso-8859-1?Q?RNPU1AbRgjUCMtTndJbOCO4lR2997Ai6n7XyCkBDqNuSTnVf1RRPPBnFzv?=
 =?iso-8859-1?Q?5CkOt1WI4bnxYGqy8XSHI7uXiLFh+i+eR/iaPbgZHYJVFOGO+EqJgpsF9A?=
 =?iso-8859-1?Q?xR4h9MmBYMo2KZomTZCwGQPtpgjvtPib+D0MRHU34ILllsab96SLGV0erV?=
 =?iso-8859-1?Q?zJBi0mfjrtJABQC9S4xFo3w23lYiNvJO8tnIZ3m5jRmHlbwRT1TG39AuR0?=
 =?iso-8859-1?Q?INqlQiakoROLbYmPqXBDj/15i5sYIXaN3V8hsu/f0JLyqSDMqjw6cQTMuk?=
 =?iso-8859-1?Q?ZAiZaulkjm2V6SD9vUMJYOYW30TFPGL2s/dW7BIlV9Sk/iU9YSqMGjv2sO?=
 =?iso-8859-1?Q?Kf6wZ05KCDSLGT5UE9ZTjk/arLaMiYYJtQXB0ZpRSR8WQcXTbrxMS1aSvQ?=
 =?iso-8859-1?Q?rLddiRDcoegewS4z79GUMx/UNHdo3ONpyTb3jbYWmwMpX9qXmcfOvYuooQ?=
 =?iso-8859-1?Q?ZsQb8YbWtbLUjPzaOwoaa0Fntc4DcCALn/HN4l9/acLUggsLOmkvE7gVIQ?=
 =?iso-8859-1?Q?+oxGdMaoXBAEq/Npm3ZV8UKx1TBtRsIsoXPni5XWyJPNoHbRR8VzvNYw?=
 =?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: 31116187-0174-41d9-844a-08dbeadeab25
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2023 22:10:26.9832
 (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: 41t4TtKmBF8iKvvhz9tiMEGlIQqpEffeS3v/4MLxJ/nqkDzkREgINQ1N3tHPBnvbomqNMOcA5N/Sa3h2rIxdCAjMRjK8X3j7kHedx/2AImQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8836
X-Proofpoint-GUID: PaMsyu57w84Zy9TsAHeKAC4aHDDWw3M6
X-Proofpoint-ORIG-GUID: PaMsyu57w84Zy9TsAHeKAC4aHDDWw3M6
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-21_12,2023-11-21_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 suspectscore=0
 phishscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0
 mlxlogscore=482 bulkscore=0 impostorscore=0 spamscore=0 mlxscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311210173

From: David Woodhouse <dwmw@amazon.co.uk>

This allows a XenDevice implementation to know whether it was created
by QEMU, or merely discovered in XenStore after the toolstack created
it. This will allow us to create frontend/backend nodes only when we
should, rather than unconditionally attempting to overwrite them from
a driver domain which doesn't have privileges to do so.

As an added benefit, it also means we no longer have to call the
xen_backend_set_device() function from the device models immediately
after calling qdev_realize_and_unref(). Even though we could make
the argument that it's safe to do so, and the pointer to the unreffed
device *will* actually still be valid, it still made my skin itch to
look at it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
---
 hw/block/xen-block.c         | 3 +--
 hw/char/xen_console.c        | 2 +-
 hw/net/xen_nic.c             | 2 +-
 hw/xen/xen-bus.c             | 4 ++++
 include/hw/xen/xen-backend.h | 2 --
 include/hw/xen/xen-bus.h     | 2 ++
 6 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 6d64ede94f..c2ac9db4a2 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -1081,13 +1081,12 @@ static void xen_block_device_create(XenBackendInsta=
nce *backend,
=20
     blockdev->iothread =3D iothread;
     blockdev->drive =3D drive;
+    xendev->backend =3D backend;
=20
     if (!qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
         error_prepend(errp, "realization of device %s failed: ", type);
         goto fail;
     }
-
-    xen_backend_set_device(backend, xendev);
     return;
=20
 fail:
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 5cbee2f184..bef8a3a621 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -600,8 +600,8 @@ static void xen_console_device_create(XenBackendInstanc=
e *backend,
         goto fail;
     }
=20
+    xendev->backend =3D backend;
     if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
-        xen_backend_set_device(backend, xendev);
         goto done;
     }
=20
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index af4ba3f1e6..afa10c96e8 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -627,8 +627,8 @@ static void xen_net_device_create(XenBackendInstance *b=
ackend,
     net->dev =3D number;
     memcpy(&net->conf.macaddr, &mac, sizeof(mac));
=20
+    xendev->backend =3D backend;
     if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
-        xen_backend_set_device(backend, xendev);
         return;
     }
=20
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 4973e7d9c9..dd0171ab98 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1079,6 +1079,10 @@ static void xen_device_realize(DeviceState *dev, Err=
or **errp)
         }
     }
=20
+    if (xendev->backend) {
+        xen_backend_set_device(xendev->backend, xendev);
+    }
+
     xendev->exit.notify =3D xen_device_exit;
     qemu_add_exit_notifier(&xendev->exit);
     return;
diff --git a/include/hw/xen/xen-backend.h b/include/hw/xen/xen-backend.h
index 0f01631ae7..ea080ba7c9 100644
--- a/include/hw/xen/xen-backend.h
+++ b/include/hw/xen/xen-backend.h
@@ -10,8 +10,6 @@
=20
 #include "hw/xen/xen-bus.h"
=20
-typedef struct XenBackendInstance XenBackendInstance;
-
 typedef void (*XenBackendDeviceCreate)(XenBackendInstance *backend,
                                        QDict *opts, Error **errp);
 typedef void (*XenBackendDeviceDestroy)(XenBackendInstance *backend,
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 334ddd1ff6..7647c4c38e 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -14,9 +14,11 @@
 #include "qom/object.h"
=20
 typedef struct XenEventChannel XenEventChannel;
+typedef struct XenBackendInstance XenBackendInstance;
=20
 struct XenDevice {
     DeviceState qdev;
+    XenBackendInstance *backend;
     domid_t frontend_id;
     char *name;
     struct qemu_xs_handle *xsh;
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 22:10:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 22:10:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638303.994732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5YxA-0006qF-Mc; Tue, 21 Nov 2023 22:10:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638303.994732; Tue, 21 Nov 2023 22: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 1r5YxA-0006q4-Jm; Tue, 21 Nov 2023 22:10:44 +0000
Received: by outflank-mailman (input) for mailman id 638303;
 Tue, 21 Nov 2023 22: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=/eqD=HC=epam.com=prvs=5689374ac6=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5Yx9-0005zW-C7
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 22:10:43 +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 ce2e17ca-88ba-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 23:10:41 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ALJcd1B031085; Tue, 21 Nov 2023 22:10:33 GMT
Received: from eur03-am7-obe.outbound.protection.outlook.com
 (mail-am7eur03lp2233.outbound.protection.outlook.com [104.47.51.233])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uh0hhgrv3-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 21 Nov 2023 22:10:33 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB8836.eurprd03.prod.outlook.com (2603:10a6:10:40c::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 22:10:28 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.028; Tue, 21 Nov 2023
 22:10: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: ce2e17ca-88ba-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kqD8g3kmSLyK4d2zD3OC0nRgxxwpsegsYvelEwZQ8SUbOIeneYQMjNEms5kFvMgPzKHUB6zEo/gIBAZT6y92jXQknT9XgKNKX4ij9+mP4CuwK80BjIIs4hil03QW2ypPHeIhAEfm2ASe217yDnV0uriDxVNHlumzyQDKkMZQ8uxh+VHvdU5qXRxNJYXVhiCehJJ2T5Gd/B1D6+Pg3RAtzih3uiB9B/9DN9+Gri1b+5gfvEi/LFwLgvHr7lKTzLSrzr0qFEr0vu//qIilwN6LJ7GWJGbAmGP3Zb2pKdk7i/Rma+VF1zoLDQgn73dmoZqIekHOu15yieEY18YVP5SaAw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zFvL92IcoplPsyb+IhBJ7P1+li1JaQbeI0VTPaCVCCg=;
 b=T8t1w/V3+5+ZsY/Bg+3y3y0egwy+wQxNLXxRlk9BfFMAIY/IAqHDxad4uksVLOi4G5dnT1bDy7DCHgoohxnNpOnDyMkcAqhRaynd2V6v2oNyexbw6QSG9cqfUpxGOnfKZs8qktnnXrVtTOxuaxQbS+ZEKju2yHqP4YSM0jJhu4V9x5M69YGtpahbTmAklpYj8U0f/fsGsy4ZM0Cxkc5L4jEwvHNaNJAG0WyFw+RD4ikrp/uIiwUGcHC3gLI1j8f7tiXLqAp8LwF3+EZyVSYx8+Hs2zBG8D3wqHf0al1flG/8drDJECDLBzdbdEA20FnUNKUtuTVgeoDemVetJ8Mi7g==
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=zFvL92IcoplPsyb+IhBJ7P1+li1JaQbeI0VTPaCVCCg=;
 b=dvIeoRvoq1fJOUt/D1jJuWqaDym/E7I8E2mrWqU1LhAtMPso3ueno5C8n1/akkVp2JBYHS93q3nAN6pv0Eg2V7Ns/224TteFmDSeIfQLB6NaCbftAR0J9AXMWdABlRqhcdQHQ5Y/+yWbyUjxkgyplN3ysAlN25rqtF/76I1wRgt6TZT50wb+3WLeo6QaxyY0h1iNyOFu6Zzxs5s2HauUgXCICyBdUizdEm5OMq4aOTXKiwI2AZvPLHgRSh0eve5W1YjgsngACn1xHcIbUjwaATLKnZtoV1LnD7BO+2EagwDmO15obJN2xf0SiOkKsryplOFOv6JpSK/rhmaBSA3orw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: David Woodhouse <dwmw@amazon.co.uk>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Paul Durrant <xadimgnik@gmail.com>,
        Oleksandr
 Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard
	<anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>, Kevin Wolf
	<kwolf@redhat.com>,
        Hanna Reitz <hreitz@redhat.com>,
        =?iso-8859-1?Q?Marc-Andr=E9_Lureau?= <marcandre.lureau@redhat.com>,
        Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
        "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
        "open list:Block layer
 core" <qemu-block@nongnu.org>
Subject: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Thread-Topic: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Thread-Index: AQHaHMeI7KczK4z02kGE/beB6udNwg==
Date: Tue, 21 Nov 2023 22:10:27 +0000
Message-ID: <20231121221023.419901-3-volodymyr_babchuk@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231121221023.419901-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB8836:EE_
x-ms-office365-filtering-correlation-id: 5b371bf4-3d14-4840-959a-08dbeadeab57
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 MAFD4wOPot0LeQgz+Y+W/txTYvQtn0TdqM2DhHslmzoGnA+wo43LdBitlj2fqiAT50+thIFk4mCdF01pxyFyjX7ugskRFwyTR9k6c+n+E93hAEX4eRB8Gs8tIS+YAruSTz7AAMeb6l7ciILZvdq/6TMI3hMuPt4ppsO7CCqyO3ApyWNlYXsjDNbySk9B+RaiX/xiuzLhmOnT0WMNs2wTXMuF4rgCiajb/d4340YC7LOI4Pfut77nP0QICQW7SlfsBUq8J6tSbHJVWriniayKNmadc0l8nZjfwUd+jO+OW0PmLE2GZhb3toebep8hlC9kD5RojliPJmPjlzozi2VAoiUYxuJdxjBamPC7Sc64n3mPy430seXD8LmTSLRWbxzgj8/stA4dxgeFPaQNIjph1xVihUjDHrME5xlnqB/Vh/O2RYohE8hPmiEparCMgi2R6vSocYFglA8n35uvG7sXSISWNauKKhkXC8QWJO2Efa3m4cvlJjT//9NId5CtHM7c4tj+/Xly19HUw5NLCjpuwOz3yfZp/cb+E9zpld9e3boMesJYZdQbasHPRPRjwA4+py3fHLmXTkLI/NraM1oMC2kXjcTbL8w1jAo7pfRURs1tP7TV2F4jQ6EYPL1Y+uIN
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:(13230031)(366004)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(41300700001)(86362001)(36756003)(7416002)(5660300002)(2906002)(38070700009)(122000001)(6512007)(2616005)(6506007)(55236004)(6486002)(83380400001)(71200400001)(1076003)(478600001)(26005)(38100700002)(91956017)(66556008)(66446008)(316002)(66946007)(6916009)(64756008)(54906003)(4326008)(8676002)(66476007)(76116006)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?KWXIHuKvpmWQ2ZwtAt+v98nc4nReKWzxwVyg3uxPxddiID0KIy0etDTToV?=
 =?iso-8859-1?Q?p41Dv9wTHhFLX7bfJg+VQ56rvq+JgXmyXS7gn4cFtA6CXIwi/VeOAL/zSK?=
 =?iso-8859-1?Q?q8g+KOSY5Q9Bai0JgXX5l9K8+8vzPSk86l/klX6aSumnRl+QUjkQwkaTqJ?=
 =?iso-8859-1?Q?MSFV22QQdBvn4CRq+QCD2mQFd6O028TuOk0KpLq3mLhKmbL4HBUkA9JcrD?=
 =?iso-8859-1?Q?0ZcMJlQdZ708cibLPHEhWIq6jQk9nyDD90W4Rb/cmiC6sH9/dJq2190cLY?=
 =?iso-8859-1?Q?kGzjT401MaeZuHM/5aqmFlJMfemAvlSeTW828OlGwDvR7bfjq2wrtRR+5D?=
 =?iso-8859-1?Q?4xR/Cta33E6jLCVjJoLY+XYlgzw9+rIZjCMzVXXUxl97rE8eJnX8Jm6kVP?=
 =?iso-8859-1?Q?HmXLPhKPN7CEzgyWj6+N3PdWYiMwERfmnixJXAo9b35210BdMz4luFDYCQ?=
 =?iso-8859-1?Q?j0aC8wiyHEcoGkuY6vEaI6zu7mdvnkmntd86Dn8Kp4n3nQL+/aK58rEA6Z?=
 =?iso-8859-1?Q?YNGDKfDeO2/9zokQ+gkWdkYmZ3kiVsje/n1+Zx0rFyXK3HW7MYos91otKf?=
 =?iso-8859-1?Q?E/EuvKdLdzGsIsXdS9PLwn28n5Ki2Vy+K5NGofFMON0tk6uHYiVeGAhuG5?=
 =?iso-8859-1?Q?992gi4qcr+kpWQhAUmTJ08Tyz6SX1pa5rAYAWcdLVwV9KulnOag1p4rGn/?=
 =?iso-8859-1?Q?jInGabQWMlWyTcWHyUjPRINSdyYfVSVDYTcIEdAUYQNdkLaTPu3a5uSEDn?=
 =?iso-8859-1?Q?YZuS1aiu628FyCMH6ET5kJLUDY8K5dAH9kGGFFMadDUEe4WHniYlc7ouUW?=
 =?iso-8859-1?Q?0N24J3+yGfwv646UK6t1uDy4A1H+CpZZeOEWK68DPzDU3njZxKD7OFEG/f?=
 =?iso-8859-1?Q?kiPPKggVkG2IFVih63b71duNXsZ1DF52uR7gC1XOu891uCZVAIWnPgXL4r?=
 =?iso-8859-1?Q?NpWg936m9ekoBl3Z/riYPWwR0flBeoA7OPBt+Hd8ZJUghbK8Y1rcUIuPse?=
 =?iso-8859-1?Q?NCW1GIvsm4bi69uFlr40LMDoxa7UdwJaygFSCZHKOsq7Vv06k6zA2utO++?=
 =?iso-8859-1?Q?pKtgusjuweo3E1WOnehSSK+E7xozjPJxTlzWsso3ExcIp1eMuLD/FppJPv?=
 =?iso-8859-1?Q?K1GyfDMf8wpTmto59oSJg09hhai3GRGLKYKDdRnKXqJEfODHcGXUxJ25jj?=
 =?iso-8859-1?Q?wmDHE0lchAg/fIrUMjqpS+jF7vrF+o2ArELMWCZb5drk3eChJDs8orTIOe?=
 =?iso-8859-1?Q?g/iXW7bKiF9cfL3IAYvKg7kV/55UEBp/5huGDaWKYcBVCzNCGAgo+r/0vM?=
 =?iso-8859-1?Q?5AMpCZuq+5Qh1IHL8lJsRJUcgMiAmqPkzjzUu0LTxG76Xw6n5T05V5Blyw?=
 =?iso-8859-1?Q?ks2ph7VY11Bw0hBHwlkynW6eAV0oZPEguUVwAfgxw3XQKL5q3zRCkEhoSm?=
 =?iso-8859-1?Q?PPv/3up5O1XvUXLkmtlqsGTO9EXURkTM4TtEw7rgh1cF3vgO02AmJDngD4?=
 =?iso-8859-1?Q?5HA3lN+B98zSgSqUEQ3Q7E86d4dToZWICLQSaVZGQ3BzqULbLSR08x5lJm?=
 =?iso-8859-1?Q?9rd44Gm/c5sLyfrkCQyvEZKguOXulKkP0Y+/emGgaE9WmqrzNRrC5+30jU?=
 =?iso-8859-1?Q?EuoM/MA2E6gXij5aJPWEEWgIupn/IxGGLxSamFQZfoAQ+7HnQnihdBNA?=
 =?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: 5b371bf4-3d14-4840-959a-08dbeadeab57
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2023 22:10:27.4220
 (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: +ISod+EsVypTm/werNxj3/BT+ZxuKzwUDvtZGaeivXT3Ee7NHpGOY7GhmMLV/uzc9qsErugmMSdlakrxTDwCsaljqpV+lv8NI2sCpT8zCp4=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8836
X-Proofpoint-GUID: tFZ2s2ZHAOtMNhJXcFHDga0jlcMu7mQa
X-Proofpoint-ORIG-GUID: tFZ2s2ZHAOtMNhJXcFHDga0jlcMu7mQa
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-21_12,2023-11-21_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 suspectscore=0
 phishscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0
 mlxlogscore=999 bulkscore=0 impostorscore=0 spamscore=0 mlxscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311210173

was created by QEMU

Xen PV devices in QEMU can be created in two ways: either by QEMU
itself, if they were passed via command line, or by Xen toolstack. In
the latter case, QEMU scans XenStore entries and configures devices
accordingly.

In the second case we don't want QEMU to write/delete front-end
entries for two reasons: it might have no access to those entries if
it is running in un-privileged domain and it is just incorrect to
overwrite entries already provided by Xen toolstack, because toolstack
manages those nodes. For example, it might read backend- or frontend-
state to be sure that they are both disconnected and it is safe to
destroy a domain.

This patch checks presence of xendev->backend to check if Xen PV
device is acting as a backend (i.e. it was configured by Xen
toolstack) to decide if it should touch frontend entries in XenStore.
Also, when we need to remove XenStore entries during device teardown
only if they weren't created by Xen toolstack. If they were created by
toolstack, then it is toolstack's job to do proper clean-up.

Suggested-by: Paul Durrant <xadimgnik@gmail.com>
Suggested-by: David Woodhouse <dwmw@amazon.co.uk>
Co-Authored-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 hw/block/xen-block.c  | 16 +++++++++-------
 hw/char/xen_console.c |  2 +-
 hw/net/xen_nic.c      | 18 ++++++++++--------
 hw/xen/xen-bus.c      | 14 +++++++++-----
 4 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index c2ac9db4a2..dac519a6d3 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -390,13 +390,15 @@ static void xen_block_realize(XenDevice *xendev, Erro=
r **errp)
=20
     xen_device_backend_printf(xendev, "info", "%u", blockdev->info);
=20
-    xen_device_frontend_printf(xendev, "virtual-device", "%lu",
-                               vdev->number);
-    xen_device_frontend_printf(xendev, "device-type", "%s",
-                               blockdev->device_type);
-
-    xen_device_backend_printf(xendev, "sector-size", "%u",
-                              conf->logical_block_size);
+    if (!xendev->backend) {
+        xen_device_frontend_printf(xendev, "virtual-device", "%lu",
+                                   vdev->number);
+        xen_device_frontend_printf(xendev, "device-type", "%s",
+                                   blockdev->device_type);
+
+        xen_device_backend_printf(xendev, "sector-size", "%u",
+                                  conf->logical_block_size);
+    }
=20
     xen_block_set_size(blockdev);
=20
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index bef8a3a621..b52ddddabf 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -450,7 +450,7 @@ static void xen_console_realize(XenDevice *xendev, Erro=
r **errp)
=20
     trace_xen_console_realize(con->dev, object_get_typename(OBJECT(cs)));
=20
-    if (CHARDEV_IS_PTY(cs)) {
+    if (CHARDEV_IS_PTY(cs) && !xendev->backend) {
         /* Strip the leading 'pty:' */
         xen_device_frontend_printf(xendev, "tty", "%s", cs->filename + 4);
     }
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index afa10c96e8..27442bef38 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -315,14 +315,16 @@ static void xen_netdev_realize(XenDevice *xendev, Err=
or **errp)
=20
     qemu_macaddr_default_if_unset(&netdev->conf.macaddr);
=20
-    xen_device_frontend_printf(xendev, "mac", "%02x:%02x:%02x:%02x:%02x:%0=
2x",
-                               netdev->conf.macaddr.a[0],
-                               netdev->conf.macaddr.a[1],
-                               netdev->conf.macaddr.a[2],
-                               netdev->conf.macaddr.a[3],
-                               netdev->conf.macaddr.a[4],
-                               netdev->conf.macaddr.a[5]);
-
+    if (!xendev->backend) {
+        xen_device_frontend_printf(xendev, "mac",
+                                   "%02x:%02x:%02x:%02x:%02x:%02x",
+                                   netdev->conf.macaddr.a[0],
+                                   netdev->conf.macaddr.a[1],
+                                   netdev->conf.macaddr.a[2],
+                                   netdev->conf.macaddr.a[3],
+                                   netdev->conf.macaddr.a[4],
+                                   netdev->conf.macaddr.a[5]);
+    }
     netdev->nic =3D qemu_new_nic(&net_xen_info, &netdev->conf,
                                object_get_typename(OBJECT(xendev)),
                                DEVICE(xendev)->id, netdev);
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index dd0171ab98..d0f17aeb27 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -599,8 +599,10 @@ static void xen_device_backend_destroy(XenDevice *xend=
ev)
=20
     g_assert(xenbus->xsh);
=20
-    xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->backend_path,
-                    &local_err);
+    if (!xendev->backend) {
+        xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->backend_path,
+                        &local_err);
+    }
     g_free(xendev->backend_path);
     xendev->backend_path =3D NULL;
=20
@@ -764,8 +766,10 @@ static void xen_device_frontend_destroy(XenDevice *xen=
dev)
=20
     g_assert(xenbus->xsh);
=20
-    xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->frontend_path,
-                    &local_err);
+    if (!xendev->backend) {
+        xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->frontend_path,
+                        &local_err);
+    }
     g_free(xendev->frontend_path);
     xendev->frontend_path =3D NULL;
=20
@@ -1063,7 +1067,7 @@ static void xen_device_realize(DeviceState *dev, Erro=
r **errp)
     xen_device_backend_set_online(xendev, true);
     xen_device_backend_set_state(xendev, XenbusStateInitWait);
=20
-    if (!xen_device_frontend_exists(xendev)) {
+    if (!xen_device_frontend_exists(xendev) && !xendev->backend) {
         xen_device_frontend_printf(xendev, "backend", "%s",
                                    xendev->backend_path);
         xen_device_frontend_printf(xendev, "backend-id", "%u",
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 22:10:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 22:10:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638304.994739 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5YxB-0006tT-2x; Tue, 21 Nov 2023 22:10:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638304.994739; Tue, 21 Nov 2023 22:10: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 1r5YxA-0006sm-SA; Tue, 21 Nov 2023 22:10:44 +0000
Received: by outflank-mailman (input) for mailman id 638304;
 Tue, 21 Nov 2023 22:10: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=/eqD=HC=epam.com=prvs=5689374ac6=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5Yx9-0006PS-Le
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 22:10:43 +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 cf526bfa-88ba-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 23:10:42 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ALJcd1E031085; Tue, 21 Nov 2023 22:10:36 GMT
Received: from eur03-am7-obe.outbound.protection.outlook.com
 (mail-am7eur03lp2233.outbound.protection.outlook.com [104.47.51.233])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uh0hhgrv3-5
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 21 Nov 2023 22:10:35 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB8836.eurprd03.prod.outlook.com (2603:10a6:10:40c::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 22:10:29 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.028; Tue, 21 Nov 2023
 22:10: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: cf526bfa-88ba-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e/nCgCGfDFB+pyl2Msj2sfxyVSL0n32Dm8DxFyF2p0ObjzcPj8Lg6v5aWlUuyq5VT8fVd4UswncalgIrzw92R/7uUs4lcZpFmYcds+uppvGqW/KWmUWg8CJqV6ecCm4+WQhlSbLMU05AabCV/ztQjxcYk6xHr90XV7JJks+zHsTC4ptspemH2CFx5DAD4WvyZ8lPVbeYAn+WL3UXUv5sIWTX9cGCeqEgs98dxeYf0GPazrvuzzU5XnxP61oyiSb8DbhDG9tXzMVfOj1xj63bboAc9WydcqRRy/j5bqO4eoFP38Gme2fHiVOk87qrRwbddW5YNYi+lw0NnBbO3Swp4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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+d1SEM81t/9S27BacM21vX5GsG+JjE3MpWm4AA9xKg=;
 b=oZ8DOJx3Vvp8MG46/jrzRmCBKzeq8v5YxpsPsGpG6v4ygrz4GhviapdO/fuvfVTg+pBE2C9JpQf+hYCnYdf+raJ+rjkic+Cvj+YKu5K7yHFLGpqNp2uW1KvWSdw5lbvPRVHRcjP+qr4ZNIHxB/XROA7LVRJ9MVJ629R1NV8Hz1lIpU86P3m0VStqQRa308i8nbJkkfBCWeROJzqHNFovzHJ1naVdHRLcGe6DoTOxPwgT2cVYw56WWec5Vzemu4/BNSbrjfc7h2ZFib7r4742b6QN56JQErIqH4/xw3jtin4sczBfTYMiLSBGmwkP4aArDOiblYVIbM1QPTxjCtCblw==
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+d1SEM81t/9S27BacM21vX5GsG+JjE3MpWm4AA9xKg=;
 b=jxjQTw2fJojzkMJ+iXQhd6rUfoZPejwMN6y6/+dnTuTSgUOinNrZij7hYwdLjogCVG7qCpdvtAXAAFKBgIAYcS/k3Im5NZf7e/qS2zHX+6yAlBXqzBYG7YI9J8MOqYoKB2FQBYcPn+iDWUCIGso3e8zzCPMUS8/9IKPbzKwPbFkh/zOE+ewb6MPFYgagBnNr4kvCvA3lK4pGoa2jt6rjbLKCaBDWmbECmZAGkhzghEgkCFMAI/NwGJWfoYJ06uReEVslG8lGjJ+DbdDZLBG69MeMiVeCAxm4A4dM9O4B+sFpTkrPh91VJn0buMWgDT2Ki+Q3habrdhdZXX9/mmSyRw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: David Woodhouse <dwmw@amazon.co.uk>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Topic: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Index: AQHaHMeIsCU+MAEGAkSnPoa9ThBNzw==
Date: Tue, 21 Nov 2023 22:10:28 +0000
Message-ID: <20231121221023.419901-5-volodymyr_babchuk@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231121221023.419901-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB8836:EE_
x-ms-office365-filtering-correlation-id: 545a00d4-deca-4314-2d77-08dbeadeabd1
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 cIHSB6AFD2DGneJBmtsW5+mDO6ubkuXeZx/61Yg/DQcHfi/ZGJxgb5SwMMnmcVjCHmzRKmVHTKyglKEm2lUkl1MQTefLh6UOJ/DBGTJgSDgELQv2mgEI1fnTvUX0HzD6xE+mQ8TKo6mSMZVZO2Z5uPo1y//EE4FJm2UnXrAD816+ngKA6v7ZqJTUEnBcEUNT3vW2LxeejMEbhing4ACKHjduUMW8ktbisJB13xshjD67HF7/BSa4ZK/dcz15YMZO1InyPbj9ox8HEeKVT+uZxihT0s5kAjpc1K/TzUEVURChGxfw8qQ8bgoVAi7cKehOxNoAqg1HsLlHtMnFLvF1K2VHj2tGrvmHMBlVJkPDiBcNVdVpUcIMxSqzvHqF01Ts01v7ANwKQTTVkx9FxzCnjtkArmtodbgzwMY34Y2cVo79sWzY12fE8/9qhEauZizOeRlF1SEULC5HeYuifjOOR+FHNE0JZq2h8Y0EQsXaCtUB9iCf4Fj46n+3Om/hvyXjsJCao2FpyYb9LIn0SrXDgFeblmMZUKUMVWga/7SNqYY2gezy9NX+poY0EO33pZfYQzrr7Yyxiy/t5NJSqfuDexPk7XOk/qyUort6K/nPBhM1h/IGcH61swxuUT12oPRd
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:(13230031)(366004)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(41300700001)(86362001)(36756003)(4744005)(5660300002)(2906002)(38070700009)(122000001)(6512007)(2616005)(6506007)(55236004)(6486002)(83380400001)(71200400001)(1076003)(478600001)(26005)(38100700002)(91956017)(66556008)(66446008)(316002)(66946007)(6916009)(64756008)(54906003)(4326008)(8676002)(66476007)(76116006)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?G4Jv0XESz3TozlyoYvkV0ymZDP24gPbUsPL/Z0eJvav2WndcnaVdXxA+rT?=
 =?iso-8859-1?Q?BW7OcZ81/7qKmBnKvymh4sZ2bNQt8Y+l9kerXfpjXGpAZsgzOXG/GIWM3O?=
 =?iso-8859-1?Q?pButV0nFSyB0T8SQrxi61qMbx1XUEVRpjLPk6txiqtsPDcBEKUSV2tXTKY?=
 =?iso-8859-1?Q?U9h788j1iT3vy6EB1G8CoI/Yy0TYBuiE7kC0EhylLznD1cX6mlHhhC/3YC?=
 =?iso-8859-1?Q?48hkNe2tfVntJgG8Mhaq1XOXZXv0xrtLm/4dM3e05WUsbjWzS41xzG2ZzG?=
 =?iso-8859-1?Q?3lyBYmg/sSqShcFY7tSSIkfMyhyOT4IHdAUqcbZURNUGjhyaZtDQ9OGGqt?=
 =?iso-8859-1?Q?ORhETj0nio53802GQPs5HAcfTrEyxA0KpeJGKDXnBOR5bSy8moMn4bcnB2?=
 =?iso-8859-1?Q?86ClVwwuIkB6jibiKxmqhLRBLkz8nUJtdxHRq35l+767ffN9qQqLHrDrxR?=
 =?iso-8859-1?Q?fgc6zarRAgJg8tsq4kZJy4cnlJg4ZBJjTBw7wRGXKg53QekooJsr+YqA4u?=
 =?iso-8859-1?Q?v09qc7fxDDO0vTY4K5wxF5RKfclVThBbHOg+/9lqSYU2vOsbjESUpPE2XK?=
 =?iso-8859-1?Q?ez4zKQuKzcziAQ3aT7Bog6/HAyn4MCL63Dp8tMKZchh988UKtjgZcWjV04?=
 =?iso-8859-1?Q?zhPx5I9kqj01xdKW4MGhPdxicy8wamQ8c6ZZEkatWC7ECOy1vLBivEsD4h?=
 =?iso-8859-1?Q?22x2zHFzum1s4MTg84vqEHKgykE7zYwPAQO6gDj+YEfEJqPyKkrRmRKT09?=
 =?iso-8859-1?Q?G4bSJtwwmfQL/J58nIhsNGaF2gAQG/kTuqEV9go3X3ucRl3qMaDTGtv3RF?=
 =?iso-8859-1?Q?qD5k9b/YJV3bR8ZCxPkXNa5AksLPPBk/QF40WC2t2SO6PQ4wCbCi09GwPJ?=
 =?iso-8859-1?Q?zuEZ+3fGShDfPIcwfcATJfpDtDObWOY+pUQxl1mx9mfYrKeRWKU2NFAv3o?=
 =?iso-8859-1?Q?809sPYiuzTOpz/XwGQqQGHf8GvaSF84WNUhI2lP/3GcqkCoh+AnUDvv8y0?=
 =?iso-8859-1?Q?wHlG2DplClHlMzEwfKziwpBHazU1KM9XGOJXxfQLYmwTz/WS6ZdKpT9awO?=
 =?iso-8859-1?Q?1vVsgIU2xQ3IxvzNGsvhJX2HfONphuMQbOrYtp3tPO2/LpbW1dELnMnqis?=
 =?iso-8859-1?Q?5aMERlasr23+ISHGfDKfGDRNrWxYSr7PQQhoEeUF4WbpLh1kEkOm4I1Irv?=
 =?iso-8859-1?Q?0tEPVBC8tygZYx6HkO7itMYB7fOEDPFbxlfyHVflA0hKWAaoC/hmkluigt?=
 =?iso-8859-1?Q?apfW5cORQLz5VrKNYTt+tzM+Cbf1eF3fObvoFsfP0xnX4pVhnOyNwV233b?=
 =?iso-8859-1?Q?92wMwXlMnmQL4UK9k4+XI2jtIZVXzXUxfcLRfbScsdpL2gAj1d+l47SDv4?=
 =?iso-8859-1?Q?PxIoHC5ER4V7WAdOrAPN4MrieRDg6FnzS7EXfkV2bwPfOb+YWQdybDoHp1?=
 =?iso-8859-1?Q?V6BdFupayKmJmipgzD+HbEUc/mZwtKe2cCEMOX9U0xPyPBhETN8o7OSldq?=
 =?iso-8859-1?Q?hB3/ruhQMK3f0EDfraCBwZcM3SCXtk1B2F0ReR8Fl3uS52TTNJ+uLhVxtr?=
 =?iso-8859-1?Q?eGIRkLIlV1NKb44NgnIHwig9xw1U5HjYzp0E+Gl8I3MmiXH1NOIyOP44Sz?=
 =?iso-8859-1?Q?PkrXWMuPx25d+G/1XVT4S/UNni2GQmsdJxKePi15DehtvZcGRyXREhmQ?=
 =?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: 545a00d4-deca-4314-2d77-08dbeadeabd1
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2023 22:10:28.1210
 (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: uW7UMPLSQQyji7xe6iFZORqUN6bSmHCUVn3iypn1D7SnJKcRFUufVAjZgj0QSB2t3lCuX4ZMqEB0rWUkeBtdMb34Uy5q+W89uSv6PYk06x8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8836
X-Proofpoint-GUID: Qg0I4U_gvcCHDfg6Jlr6NmZzciR1x0UY
X-Proofpoint-ORIG-GUID: Qg0I4U_gvcCHDfg6Jlr6NmZzciR1x0UY
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-21_12,2023-11-21_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0
 phishscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0
 mlxlogscore=624 bulkscore=0 impostorscore=0 spamscore=0 mlxscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311210173

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to
inherit the owner of the directory.

Note that for other than Dom0 domain (non toolstack domain) the
"driver_domain" property should be set in domain config file for the
toolstack to create required directories in advance.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
---
 hw/xen/xen_pvdev.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
index c5ad71e8dc..42bdd4f6c8 100644
--- a/hw/xen/xen_pvdev.c
+++ b/hw/xen/xen_pvdev.c
@@ -60,7 +60,8 @@ void xen_config_cleanup(void)
=20
 int xenstore_mkdir(char *path, int p)
 {
-    if (!qemu_xen_xs_create(xenstore, 0, 0, xen_domid, p, path)) {
+    if (!qemu_xen_xs_create(xenstore, 0, XS_PRESERVE_OWNER,
+                            xen_domid, p, path)) {
         xen_pv_printf(NULL, 0, "xs_mkdir %s: failed\n", path);
         return -1;
     }
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 22:10:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 22:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638305.994753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5YxE-0007O8-AE; Tue, 21 Nov 2023 22:10:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638305.994753; Tue, 21 Nov 2023 22: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 1r5YxE-0007Nx-73; Tue, 21 Nov 2023 22:10:48 +0000
Received: by outflank-mailman (input) for mailman id 638305;
 Tue, 21 Nov 2023 22:10: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=/eqD=HC=epam.com=prvs=5689374ac6=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5YxC-0005zW-Ul
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 22:10:47 +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 d092cf49-88ba-11ee-9b0e-b553b5be7939;
 Tue, 21 Nov 2023 23:10:45 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ALJcd1G031085; Tue, 21 Nov 2023 22:10:37 GMT
Received: from eur03-am7-obe.outbound.protection.outlook.com
 (mail-am7eur03lp2233.outbound.protection.outlook.com [104.47.51.233])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uh0hhgrv3-7
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 21 Nov 2023 22:10:37 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB8836.eurprd03.prod.outlook.com (2603:10a6:10:40c::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 22:10:29 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.028; Tue, 21 Nov 2023
 22:10: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: d092cf49-88ba-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QX3ln/gaH4iCkGvOG3Hg7dTzsgvUZNFdBN/XvUSAjS7bGgptkeiYtrG7rERiKhogUfCDmuNVuuQvuFJOaVSO1BD+HIVZOWnkPF+6tPquXE9+i4ApOa7NE/h7R6lhJr2dWMoH1+4YQ0QJb7cZIJl8pgrfpYadjxTo5t0c1ruM2UZ6svq34+M47JQXZtXz8ZMhDCY02L2E02AjvxHfFGmMM8qEeu4MLCEsVRNf48bZnE1fkZiLEGimB7Y8By1bRnSMx4vJE48dP36sR/4AC14yXOt4ftyx5GpU8jUOUQJuTnZDPhgwKyDym773zoneYQHtaNcxgEyThSBjbum4Q6Tc8g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/fLYQ9fFiiDzgzvoIB754+ETMkPOQmFAJYlsPG/PY=;
 b=UFKwSUgz5lO5DLcVMa8pfV2bkHDgozrRmTuqqrFdd813w6o0B9pIrlyAn7JIZo8A+Ajl7IXs85i9arj7ESXrLQuhN4foHT7q442kJlUtMMbV1dsqt43LwEGP1sHXcpseljbg8iE4Gzn2RJ3boZJSH6d9hMi0iLW36KqzKHajPzSjHQySLN1RKntM/7OoAXAxsDwMHKPY99NAobQFCSXQm9AiaQx3LwXl5zzgqLdu4NS1XRnVHzF204ji61VMg7mMqbq1Edr96YoVN1w4k7N3T/pDJlsewlW4Yr1CkCnTK4XHgWxAgV56XD7Kshh4VazTYjbrMpd+oQ+qpdv6h6aHAA==
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=KT/fLYQ9fFiiDzgzvoIB754+ETMkPOQmFAJYlsPG/PY=;
 b=amevb7n8hxqYpFi6UwB5P94xDa484amZPMdBw35ylSAo+9xqr/HfXvL/UGthOpDZsFjocPrBttuBIqB7lX//Sd9A6ASgC05DRrAI15zK6rzA+Deom0LzY//Mh+rbXI48Vfu/7pc6uwJtGgrT9/AmkG99gz0veZoDtdZOZR33tCMJbYd3t5yfGfhM7xe5jmkS1L28QIN6pNMuQzFC+pmjAxCZC9yifWl56hRQ0rUcG9S5K0U8PVQFjAqp1w1ylMzWJ/OZ40zH98OUXqdKgt3qFsi+qXlKCwCt3L5Po2V2CgP/Ser1bu71OgguAkjaP/eoB0ZlMxST8Z7LCqN9K8EWhQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: David Woodhouse <dwmw@amazon.co.uk>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Peter Maydell <peter.maydell@linaro.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support
Thread-Topic: [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support
Thread-Index: AQHaHMeJqHnam8LJkECFe490J2r1JA==
Date: Tue, 21 Nov 2023 22:10:28 +0000
Message-ID: <20231121221023.419901-7-volodymyr_babchuk@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231121221023.419901-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB8836:EE_
x-ms-office365-filtering-correlation-id: 48ecf155-e2c1-43b8-8a0d-08dbeadeac4f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 PZ11tRi6O1zWULc0iNQLn3CLjxUwlfvAzP6sJOyI9HsEjI/5mJ6zK4Q9UIVmE2TFCpUN4fRKZQV2WOSV6J3V3LJD6LlS/5yOwsEKe+K9cVJwUHDkUVRQ0A+5RbKYJz3TIpWwlAdevd2Vq5J6ZkymfoxCPcrTimWRus5+AOf4Kn7WhHhojz7W9YZFPf7X1L/Tb0+hXsIDQm/37DGxcxlr3h1QNv0vQXWfGO3EOvY4uaJgMn852zjWKzze7J5GX+MD3dD/qS9ULbWq7W3mcopxk44qgMWAUA8dPVXX4947RuDHyGSBv13Vp1z8vJ66wLFPlrQCwVSY1apgozSkFgte+i+jC+PLWoW1hJ0MGhKG5ci+V4G5wj5dHyzD3lFCooJWuzwKcSGW59IqQ8WQBIsKpGF8ckz+VABgRYjlZiGSVxkyvgc48fj9wB0bP7ZjSOUeGofKXHoWZkjoXyvlwE5WDFaFINUs85iWhlwZ0Q7+BINhQkPGy6TaZ9Rp0Sm2zic5Jrl/Hz7PuZNMexQod4cS9f0RdLCBskcPjFU8VaBdAG9sQTumC3mjiP7b4JQz3+7Br0Z7uPcu4Evs4nJYMxR6PB2B71q7JauimVwMsqgG4hK2JTHok0pSxebLu1j+YSYu
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:(13230031)(366004)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(41300700001)(86362001)(36756003)(5660300002)(2906002)(38070700009)(122000001)(6512007)(2616005)(6506007)(55236004)(6486002)(83380400001)(71200400001)(1076003)(478600001)(26005)(38100700002)(91956017)(66556008)(66446008)(316002)(66946007)(6916009)(64756008)(54906003)(4326008)(8676002)(66476007)(76116006)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?4cjwrqnKrg8523Z5oL/N5GkkeLhyfkE9UbrwB+DEIVZaHKGUcUECobEtVa?=
 =?iso-8859-1?Q?xEZQZhebB85B3nuu4AUAwCQwcHTM7H8HCYOdetIq098rHbh3ApII26Yfko?=
 =?iso-8859-1?Q?rqpPc09rqYbElGB2Cc/7zPSrqXvb3hH7hxQNhFJrkNzDsyqp/d6vNgzHEd?=
 =?iso-8859-1?Q?4CSoTk04HEEYIglriXqoRHCNTng0ozLvwCZY+mp9CEJ8p8IIs8u3ZDqU+P?=
 =?iso-8859-1?Q?3hevZjj4B0MkFzBRxtX9eGRYnyJhYjATBFmhVfGCs+t+TZuzceP1pI6/M1?=
 =?iso-8859-1?Q?YzHs1nWe1szJx+CHhtq/XnGy4cLT5m/u7TM+Y5V+fbvjMimHmdfZZgstP2?=
 =?iso-8859-1?Q?e+0lZRgdpZ3NGvqNjhyz+2fkFxs/1krs16WHdBM1oDVzFvotegSnegth6h?=
 =?iso-8859-1?Q?RRS4afZJXWJRrWQ2pQoCVdvpGVbZ9pvd0eAks2pWVYUf73dhUX1+nsDjY6?=
 =?iso-8859-1?Q?cWnUl/isAz2G66YGhk0mIDiD667n4vrNyug/jLi5KHSSE8h9SBhhrITTp5?=
 =?iso-8859-1?Q?jmgI5b8LsIgi7qpcgpP9xo1o9E00cz73bnv1AjnhBeZgLkW0o/B4k8hlNW?=
 =?iso-8859-1?Q?oKiwXvj2mJcCf4/xiUJDx3giCvGvb4VcYVvhcckyyBtLRUkQB8EeDYQEzT?=
 =?iso-8859-1?Q?pa05VJ7d8Wp7MEVTo4gi/SaxWF9Agrs8g4A+h+LnYN7jh/zKcGFccALMOm?=
 =?iso-8859-1?Q?Vw4n8wmiI6YoG+cbXPDE1Ss9wNtLxXz9psgzflW0jGcsKKpYxI2BsPDX+e?=
 =?iso-8859-1?Q?/HHu5lrBhf0TwUxNYpFUtLFD/favdZbyeVc5TjT87wkRCZTE33UbeIRB3/?=
 =?iso-8859-1?Q?TQ6JedwxSueXdHUeh4GQU+D+vjE8lhy6cD1zl8Nx9N9dn9OQuN0RHXi6Y6?=
 =?iso-8859-1?Q?ezvGuEH0AuuUh/WIkUMWU/JnP6VuJ61yh/R/y0PqujcIw0P5+QnogoIOul?=
 =?iso-8859-1?Q?+Z4uiPviua+DUkwUds+dUR87ERad1+HUncSYjFPGIQ95tAj5oBmk67mxAA?=
 =?iso-8859-1?Q?c3lxDTC4VuM393zG8BBC6tHzPd1bA4QNAUq6ZPsA3pF6qLv2vBdShNIFup?=
 =?iso-8859-1?Q?ha4tAVkyFCMsnqDt4TK07F7WY27/yYP3WsSIWfrN8d+4vNsRLkTdNs2lPN?=
 =?iso-8859-1?Q?SNQuihIFIjCGYcb2x237DHF8ewdxjiaBhdCSwB1GbV9zNs5IvB8RWQOG7Z?=
 =?iso-8859-1?Q?EpEroAy96bIryj2RPjwu0VjmCPF8xUXkntJAJZSTWJ6VJsBAZPWhFZip3N?=
 =?iso-8859-1?Q?0Lh163mY5biJQfP6Qr65NJYGO9A9TUhnJvXbpgQlqkN0HrNYim9hwlKuqr?=
 =?iso-8859-1?Q?9tplYiKD0Bn24KNpuHxwMx63Vm4LQNrWamR2PsSl6GTiz7Fa1O//wzK1Pk?=
 =?iso-8859-1?Q?vN5kCHsOcfegRz7eDNebaJX9N4vwcgOBCzVpXaXG1KeMgUkUlMOJN7k5RX?=
 =?iso-8859-1?Q?fcxYhoZ8I/0Jub0KsEVbbDZZgktoykgB+rFd5jPKNOJytwVc/bG/uUbR37?=
 =?iso-8859-1?Q?DkPex4NTY1I89RTllZxDhSdaX4bJB+sxJm6Y2MiqIz1jSAsLr0YPiiNCB1?=
 =?iso-8859-1?Q?v9NMmBEkRKjGetijyFfeEI3R3QGOAfPhp66cBzaw1GivYQ4s75i8J6gGTN?=
 =?iso-8859-1?Q?jpMy3l4bJnfZx4TmJG+1YGQClBE+3ROILBKPdPZ9dAL+QnNYYrKM5kUA?=
 =?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: 48ecf155-e2c1-43b8-8a0d-08dbeadeac4f
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2023 22:10:28.8471
 (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: 7fbYNrbwYkBiGBLZzwcq02Hjyn6GknN7vHEKK3b3Dh4tWRLZyyvvSUNfPyTNYKQhB+XPV6A23/zRBxWHzIDvyC5Dcc9hYaQtPGlEHjAJYRU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8836
X-Proofpoint-GUID: 71kriaRaYKayEQ3I8ucEsnwH5hDVrM_V
X-Proofpoint-ORIG-GUID: 71kriaRaYKayEQ3I8ucEsnwH5hDVrM_V
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-21_12,2023-11-21_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0
 phishscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0
 mlxlogscore=999 bulkscore=0 impostorscore=0 spamscore=0 mlxscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311210173

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

The bridge is needed for virtio-pci support, as QEMU can emulate the
whole bridge with any virtio-pci devices connected to it.

This patch provides a flexible way to configure PCIe brige resources
with xenstore. We made this for several reasons:

- We don't want to clash with vPCI devices, so we need information
  from Xen toolstack on which PCI bus to use.
- The guest memory layout that describes these resources is not stable
  and may vary between guests, so we cannot rely on static resources
  to be always the same for both ends.
- Also the device-models which run in different domains and serve
  virtio-pci devices for the same guest should use different host
  bridge resources for Xen to distinguish. The rule for the guest
  device-tree generation is one PCI host bridge per backend domain.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

Changes from v1:

 - Renamed virtio_pci_host to pcie_host entries in XenStore, because
 there is nothing specific to virtio-pci: any PCI device can be
 emulated via this newly created bridge.
---
 hw/arm/xen_arm.c            | 186 ++++++++++++++++++++++++++++++++++++
 hw/xen/xen-hvm-common.c     |   9 +-
 include/hw/xen/xen_native.h |   8 +-
 3 files changed, 200 insertions(+), 3 deletions(-)

diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index b9c3ae14b6..d506d55d0f 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -22,6 +22,7 @@
  */
=20
 #include "qemu/osdep.h"
+#include "qemu/cutils.h"
 #include "qemu/error-report.h"
 #include "qapi/qapi-commands-migration.h"
 #include "qapi/visitor.h"
@@ -34,6 +35,9 @@
 #include "hw/xen/xen-hvm-common.h"
 #include "sysemu/tpm.h"
 #include "hw/xen/arch_hvm.h"
+#include "exec/address-spaces.h"
+#include "hw/pci-host/gpex.h"
+#include "hw/virtio/virtio-pci.h"
=20
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
 OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
@@ -58,6 +62,11 @@ struct XenArmState {
     struct {
         uint64_t tpm_base_addr;
     } cfg;
+
+    MemMapEntry pcie_mmio;
+    MemMapEntry pcie_ecam;
+    MemMapEntry pcie_mmio_high;
+    int         pcie_irq;
 };
=20
 static MemoryRegion ram_lo, ram_hi;
@@ -73,6 +82,7 @@ static MemoryRegion ram_lo, ram_hi;
 #define NR_VIRTIO_MMIO_DEVICES   \
    (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST)
=20
+/* TODO It should be xendevicemodel_set_pci_intx_level() for PCI interrupt=
s. */
 static void xen_set_irq(void *opaque, int irq, int level)
 {
     if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
@@ -129,6 +139,176 @@ static void xen_init_ram(MachineState *machine)
     }
 }
=20
+static void xen_create_pcie(XenArmState *xam)
+{
+    MemoryRegion *mmio_alias, *mmio_alias_high, *mmio_reg;
+    MemoryRegion *ecam_alias, *ecam_reg;
+    DeviceState *dev;
+    int i;
+
+    dev =3D qdev_new(TYPE_GPEX_HOST);
+    sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
+
+    /* Map ECAM space */
+    ecam_alias =3D g_new0(MemoryRegion, 1);
+    ecam_reg =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0);
+    memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam",
+                             ecam_reg, 0, xam->pcie_ecam.size);
+    memory_region_add_subregion(get_system_memory(), xam->pcie_ecam.base,
+                                ecam_alias);
+
+    /* Map the MMIO space */
+    mmio_alias =3D g_new0(MemoryRegion, 1);
+    mmio_reg =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1);
+    memory_region_init_alias(mmio_alias, OBJECT(dev), "pcie-mmio",
+                             mmio_reg,
+                             xam->pcie_mmio.base,
+                             xam->pcie_mmio.size);
+    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio.base,
+                                mmio_alias);
+
+    /* Map the MMIO_HIGH space */
+    mmio_alias_high =3D g_new0(MemoryRegion, 1);
+    memory_region_init_alias(mmio_alias_high, OBJECT(dev), "pcie-mmio-high=
",
+                             mmio_reg,
+                             xam->pcie_mmio_high.base,
+                             xam->pcie_mmio_high.size);
+    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio_high.b=
ase,
+                                mmio_alias_high);
+
+    /* Legacy PCI interrupts (#INTA - #INTD) */
+    for (i =3D 0; i < GPEX_NUM_IRQS; i++) {
+        qemu_irq irq =3D qemu_allocate_irq(xen_set_irq, NULL,
+                                         xam->pcie_irq + i);
+
+        sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, irq);
+        gpex_set_irq_num(GPEX_HOST(dev), i, xam->pcie_irq + i);
+    }
+
+    DPRINTF("Created PCIe host bridge\n");
+}
+
+static bool xen_read_pcie_prop(XenArmState *xam, unsigned int xen_domid,
+                               const char *prop_name, unsigned long *data)
+{
+    char path[128], *value =3D NULL;
+    unsigned int len;
+    bool ret =3D true;
+
+    snprintf(path, sizeof(path), "device-model/%d/pcie_host/%s",
+             xen_domid, prop_name);
+    value =3D xs_read(xam->state->xenstore, XBT_NULL, path, &len);
+
+    if (qemu_strtou64(value, NULL, 16, data)) {
+        error_report("xenpv: Failed to get 'pcie_host/%s' prop",
+                     prop_name);
+        ret =3D false;
+    }
+
+    free(value);
+
+    return ret;
+}
+
+static int xen_get_pcie_params(XenArmState *xam)
+{
+    char path[128], *value =3D NULL, **entries =3D NULL;
+    unsigned int len, tmp;
+    int rc =3D -1;
+
+    snprintf(path, sizeof(path), "device-model/%d/pcie_host",
+             xen_domid);
+    entries =3D xs_directory(xam->state->xenstore, XBT_NULL, path, &len);
+    if (entries =3D=3D NULL) {
+        error_report("xenpv: 'pcie_host' dir is not present");
+        return -1;
+    }
+    free(entries);
+    if (len !=3D 9) {
+        error_report("xenpv: Unexpected number of entries in 'pcie_host' d=
ir");
+        goto out;
+    }
+
+    snprintf(path, sizeof(path), "device-model/%d/pcie_host/id",
+             xen_domid);
+    value =3D xs_read(xam->state->xenstore, XBT_NULL, path, &len);
+    if (qemu_strtoui(value, NULL, 10, &tmp)) {
+        error_report("xenpv: Failed to get 'pcie_host/id' prop");
+        goto out;
+    }
+    free(value);
+    value =3D NULL;
+    if (tmp > 0xffff) {
+        error_report("xenpv: Wrong 'pcie_host/id' value %u", tmp);
+        goto out;
+    }
+    xen_pci_segment =3D tmp;
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_base",
+                            &xam->pcie_ecam.base)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_size",
+                            &xam->pcie_ecam.size)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "mem_base",
+                            &xam->pcie_mmio.base)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "mem_size",
+                            &xam->pcie_mmio.base)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_base",
+                            &xam->pcie_mmio_high.base)) {
+        goto out;
+    }
+
+    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_size",
+                            &xam->pcie_mmio_high.size)) {
+        goto out;
+    }
+
+    snprintf(path, sizeof(path), "device-model/%d/pcie_host/irq_first",
+             xen_domid);
+    value =3D xs_read(xam->state->xenstore, XBT_NULL, path, &len);
+    if (qemu_strtoi(value, NULL, 10, &xam->pcie_irq)) {
+        error_report("xenpv: Failed to get 'pcie_host/irq_first' prop");
+        goto out;
+    }
+    free(value);
+    value =3D NULL;
+    DPRINTF("PCIe host bridge: irq_first %u\n", xam->pcie_irq);
+
+    snprintf(path, sizeof(path), "device-model/%d/pcie_host/num_irqs",
+             xen_domid);
+    value =3D xs_read(xam->state->xenstore, XBT_NULL, path, &len);
+    if (qemu_strtoui(value, NULL, 10, &tmp)) {
+        error_report("xenpv: Failed to get 'pcie_host/num_irqs' prop");
+        goto out;
+    }
+    free(value);
+    value =3D NULL;
+    if (tmp !=3D GPEX_NUM_IRQS) {
+        error_report("xenpv: Wrong 'pcie_host/num_irqs' value %u", tmp);
+        goto out;
+    }
+    DPRINTF("PCIe host bridge: num_irqs %u\n", tmp);
+
+    rc =3D 0;
+out:
+    if (value) {
+        free(value);
+    }
+
+    return rc;
+}
+
 void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     hw_error("Invalid ioreq type 0x%x\n", req->type);
@@ -189,6 +369,12 @@ static void xen_arm_init(MachineState *machine)
     xen_register_ioreq(xam->state, machine->smp.cpus, &xen_memory_listener=
);
=20
     xen_create_virtio_mmio_devices(xam);
+    if (!xen_get_pcie_params(xam)) {
+        xen_create_pcie(xam);
+    } else {
+        DPRINTF("PCIe host bridge is not available,"
+                "only virtio-mmio can be used\n");
+    }
=20
 #ifdef CONFIG_TPM
     if (xam->cfg.tpm_base_addr) {
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 565dc39c8f..0f78f15057 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -47,6 +47,8 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, =
MemoryRegion *mr,
     g_free(pfn_list);
 }
=20
+uint16_t xen_pci_segment;
+
 static void xen_set_memory(struct MemoryListener *listener,
                            MemoryRegionSection *section,
                            bool add)
@@ -382,7 +384,12 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_=
t *req)
     }
=20
     QLIST_FOREACH(xendev, &state->dev_list, entry) {
-        if (xendev->sbdf !=3D sbdf) {
+        /*
+         * As we append xen_pci_segment just before forming dm_op in
+         * xen_map_pcidev() we need to check with appended xen_pci_segment
+         * here as well.
+         */
+        if ((xendev->sbdf | (xen_pci_segment << 16)) !=3D sbdf) {
             continue;
         }
=20
diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
index 6f09c48823..2b1debaff4 100644
--- a/include/hw/xen/xen_native.h
+++ b/include/hw/xen/xen_native.h
@@ -431,6 +431,8 @@ static inline void xen_unmap_io_section(domid_t dom,
                                                     0, start_addr, end_add=
r);
 }
=20
+extern uint16_t xen_pci_segment;
+
 static inline void xen_map_pcidev(domid_t dom,
                                   ioservid_t ioservid,
                                   PCIDevice *pci_dev)
@@ -441,7 +443,8 @@ static inline void xen_map_pcidev(domid_t dom,
=20
     trace_xen_map_pcidev(ioservid, pci_dev_bus_num(pci_dev),
                          PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->devfn=
));
-    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid, 0,
+    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid,
+                                              xen_pci_segment,
                                               pci_dev_bus_num(pci_dev),
                                               PCI_SLOT(pci_dev->devfn),
                                               PCI_FUNC(pci_dev->devfn));
@@ -457,7 +460,8 @@ static inline void xen_unmap_pcidev(domid_t dom,
=20
     trace_xen_unmap_pcidev(ioservid, pci_dev_bus_num(pci_dev),
                            PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->dev=
fn));
-    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid,=
 0,
+    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid,
+                                                  xen_pci_segment,
                                                   pci_dev_bus_num(pci_dev)=
,
                                                   PCI_SLOT(pci_dev->devfn)=
,
                                                   PCI_FUNC(pci_dev->devfn)=
);
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 22:10:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 22:10:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638306.994763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5YxH-0007jF-Rl; Tue, 21 Nov 2023 22:10:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638306.994763; Tue, 21 Nov 2023 22: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 1r5YxH-0007j2-NG; Tue, 21 Nov 2023 22:10:51 +0000
Received: by outflank-mailman (input) for mailman id 638306;
 Tue, 21 Nov 2023 22: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=/eqD=HC=epam.com=prvs=5689374ac6=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5YxG-0006PS-Qg
 for xen-devel@lists.xenproject.org; Tue, 21 Nov 2023 22:10:50 +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 d37d086d-88ba-11ee-98e1-6d05b1d4d9a1;
 Tue, 21 Nov 2023 23:10:49 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ALJcd1C031085; Tue, 21 Nov 2023 22:10:34 GMT
Received: from eur03-am7-obe.outbound.protection.outlook.com
 (mail-am7eur03lp2233.outbound.protection.outlook.com [104.47.51.233])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uh0hhgrv3-4
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 21 Nov 2023 22:10:34 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB8836.eurprd03.prod.outlook.com (2603:10a6:10:40c::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 21 Nov
 2023 22:10:28 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7002.028; Tue, 21 Nov 2023
 22:10: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: d37d086d-88ba-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z+oTrug03bO6QMDVE2fZb4n6QkQkiYtc7LUvlIWe6QIW4Q7Morj3kHkdflWv/WRoC1fRSGUeA6PmLyZfchw7sjECTyimw/dfx6eKOoA5mzG8BkJNRSeZXgAyj9dzBs8RKpj66iuzVN0tvs9T5y9xXG23STbeWXmNva+pQp6QW48H1EUC0GD4HGzdYceEJcZcTDDG0mtR4zDPFidDk3ud7LhoFkoazm+hu/4aviKZmly9MXqa/bBdLOAUMJtUxSHLO4Uae8gH8DjjmLmB2nCkdgaRITi5lHcfq1i6pW719RLUU+u2dhXy4xzYBeLATprh64ELMG3V8JRyhdCnVnEk9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ffYRx7XuJDukcGSWHJ7JKVQ+d8C2usuIHgJipHrngZ4=;
 b=YEtTuGWyIcbvsJ9f0YRazOenepm2HF8GQmFy2d59F/JiyCY8ccDv33vq20lJeSO33rh/rctmuioIrLl+v1Hrvh/yzP4OE3ePJdbo6YHAzRrcCiyuvA2Jh1I06Q3LEzbPLtgPEK0bvV+6ybT+intalSzDibrETMKfcH+tKWOBb7mAUIzrOmDxt3SrhQD83Ixz2LfKIjWJlAnLz/Aunkxq0qKtl6GIoX0zoYCQ3kh/6rDNHJPJvzMtvKSAluodt2fMqdQRSVPK9PZStWDNydhSUFSiXyS+/Ug4CodR9+fKOjj0fzbsRzjfz3BIo7/JAm5cthFyTQPF56QkzUK6JMDmww==
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=ffYRx7XuJDukcGSWHJ7JKVQ+d8C2usuIHgJipHrngZ4=;
 b=gKASjAqHwMmv0ZXPeRtLBFyp5DC6FQBknfHiNZKoUIzQGWyYnRZa+Pw8YED71UM16CzEY8g9wB4boMhDLfAUe+Kp1q76qRoGontVHfbXF5hu1AKCg9U10D8H+lVrkbLfdBikI1ttjAlH8Dq8fuJCFLNt6blp0HoaK8YodQkiqKDtEcl+HirBTAzXdNNINp6MIz5jJMlbrsSyaAm78P+1A6wQK4wTJiZdXdZP2Mjk3kU03B5YAvYFIKi8MPSr6EwxtqvPMXnOO3xC/eXJ72CQq4OKvqGL1oNe+LzCZeOwVsOrtNMyUxmzX78tJZyTgzFLHOMD8EueMqlRYOUdtc1IAw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: David Woodhouse <dwmw@amazon.co.uk>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        David Woodhouse <dwmw2@infradead.org>, Paul
 Durrant <paul@xen.org>,
        "Michael S. Tsirkin" <mst@redhat.com>,
        Marcel
 Apfelbaum <marcel.apfelbaum@gmail.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Richard Henderson <richard.henderson@linaro.org>,
        Eduardo Habkost
	<eduardo@habkost.net>,
        Anthony Perard <anthony.perard@citrix.com>,
        "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: [PATCH v2 3/6] xen: xenstore: add possibility to preserve owner
Thread-Topic: [PATCH v2 3/6] xen: xenstore: add possibility to preserve owner
Thread-Index: AQHaHMeI3Gf8Xs6dHUOphRyadMs2ow==
Date: Tue, 21 Nov 2023 22:10:27 +0000
Message-ID: <20231121221023.419901-4-volodymyr_babchuk@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231121221023.419901-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB8836:EE_
x-ms-office365-filtering-correlation-id: 0b5b5819-1eae-4f49-92f7-08dbeadeab95
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 8SyCokp/FW7dJRKCZQZyv9CgiMYc8TV9VtzrtN8Lg9XgIMamyC6+Yo/2/2xKYRziteRPrYXknLhsoU3of6ssWYlw11O98+Ukb+Dp3VUeDCdvyUxCrPk7ExEz5sv4iltZjYkk7zy4Jppr4yIsTJuAAJSQMIWHiOgv+rUD0lTH4JxpqpEnhhvpyYc7o+YTrvmvmNLWunq6CvOlw4Hpi63/525DfKrOhnc+2nVvFbDxaSSd4/ppquOE5XB5VnJxPZ0HmKaInRNk/rnQ8Dc337Q8SstdmG/pyK6DuEA/sb1Q4lKkdUmx5lfIrYEYgJ2ngDhKJAzsN9tullFhUTTmPBl8HiZ6iUKpQnCb6pCa42emnomi7Urni2C9Cyv8MICim91ersiBLCLQDk/fL0sIs590CE066ZlhckoUAe6TxWKwtwQtBToSMT0dQau3Z32/CUfAzjZpseh+9MYIF/UEPODsiktmut00YV1kWKDvGyNZNF0uS9WY3h5w2CNCF+xnYPnM2pPUVZhfd5P2yB7ExLi7ForBB5v1M8jeAru9kDLe3ooYYFr9/IAEUMqegwvM4zIpWuXV26Gvi5S7ZRz2xub8vQ1uT8rG8ykmXzrW14iE64/+NDQbAmDZ96POAGseZaOY
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:(13230031)(366004)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(41300700001)(86362001)(36756003)(7416002)(5660300002)(2906002)(38070700009)(122000001)(6512007)(2616005)(6506007)(55236004)(6486002)(83380400001)(71200400001)(1076003)(478600001)(26005)(38100700002)(91956017)(66556008)(66446008)(316002)(66946007)(6916009)(64756008)(54906003)(4326008)(8676002)(66476007)(76116006)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?XUXoy6WLSuy2I/xwBQMOTplQFonOYjE+lTe4Lw0/Hv8WxpzFe3TT8R44l8?=
 =?iso-8859-1?Q?tBefqDfsdRaCs5rTSTM4Dc21cwj5ASiB/PR5CxiWv/JiAIXXX/nHSqQwSX?=
 =?iso-8859-1?Q?VQPjWttinkA+qEXxrnnEuJ93tG4QzCdQFEuotTwq18RkXyT5eLx9IIwLlP?=
 =?iso-8859-1?Q?0cGIr/zi3FTyFMtUwhMZyK4nzWKcyg7VOlXNGw7Dir76/EsLlGF4wMRHJ3?=
 =?iso-8859-1?Q?wMwb7XZ1dnaSH/SaR3/wgioPRJAC/YFdNTfaIHP9e6WElJhDR9KW1/Pmmh?=
 =?iso-8859-1?Q?lhsJjwiB400g3tWYP+zD8TwcYBRfOAglpULWc0pdQbYjHbMb/Cx8YYMpq7?=
 =?iso-8859-1?Q?AzTqZYhuZGcC+ru2hIY4GH39Z5AtDrnw2jbaFTdg3DZISAdRBBOfyX1iRu?=
 =?iso-8859-1?Q?qDmHcsskmCzDbgq2XmVHVbwpHA/2Mr37W0Gq7E93Wtn57XCBiQ/be/e5ZP?=
 =?iso-8859-1?Q?rCXfkPIENLXFu8REUWgEcKy1YZST/3vN9zGNE1W75RC4SoKYATVZtOm6CW?=
 =?iso-8859-1?Q?8RaJsjDIn1nYVdvqiPJJ17ky/rLNFrMbWP8B3/OEoe1dPqfj+F4SAEPSc2?=
 =?iso-8859-1?Q?ORhsbOCbYz3ERHdmm5/vQu+k/gIukuLvhOXGUSncJHQmC8uFDuJy+Ov2L3?=
 =?iso-8859-1?Q?UlDHhFSY1rkYWb64rk/USKy1d6MOKlUhtMc7eNcXFh+3F7hqK6PBa2xZFZ?=
 =?iso-8859-1?Q?6MQxCMe/oyvgD8lhdpqHbCiZPTKLgfwXVROgobqkWDfLOXOLupC9/LChij?=
 =?iso-8859-1?Q?yFR4pScCO03bm2CpUwHsFr++mKV1zwhgiUQryankVYeGlXvHkDf9hvB3hf?=
 =?iso-8859-1?Q?Uh54IAop4siQ4QF/NKaa8D6YcgjA9dl4gJIu43cJf63IBkTlm+S7hJEEnf?=
 =?iso-8859-1?Q?UJ+9apljErrTIYe2EPPasqNsGti8wffQhGiew6COBmCF6X45GU3WpbSC5N?=
 =?iso-8859-1?Q?KM42hpkecXckNzGwg+EaM3SpLnA7ZNa4u7YMrHVlb6vhgEXgR/xVCVk4ug?=
 =?iso-8859-1?Q?pEVbc1QDH/99Nl3S32PscN0tzVihujXkWKn1DCqsXO79XaZjA6DX2a2les?=
 =?iso-8859-1?Q?+ulgHz4Jhnj6RuifNtXbHTgUEcN7aWnGPSeA3weecNoI+GblsjR2GdVObm?=
 =?iso-8859-1?Q?ObGljcAFyWespgR4Qm3+LLX3GhZDqbxUM91b4YEDX7NgL4pYG1uXusYRP5?=
 =?iso-8859-1?Q?vu0O8YvBdkrz4ylrdUG6fJdeGPMthzwZLLMgQ7Fouh26NlHcFKx8Wa+TMg?=
 =?iso-8859-1?Q?H6dUmQunkEgM03IdjxOMMxs93NK8W/V9PUT8ryowi+6qdA7toyu/tCs4/O?=
 =?iso-8859-1?Q?1bIdUPGQD/XHk22gZTU6Kw5aW7p7/MkyDsHQlWB/wuA9Lu9jsqYQOSDTLv?=
 =?iso-8859-1?Q?I7f3GRXHP+Oy9YX14SpawBvhUwJzlPQ69AwMm7Zsi/UGdXAdhN9u7CNJ22?=
 =?iso-8859-1?Q?JH1sfOunSHtRfKveMWr9j9UMYVLz0X6da/ykpOG7VemJlYndRSS8m3naMG?=
 =?iso-8859-1?Q?QS4GC73AEQ1Gi2ee+fzVnxPPV8GdIYNqkR2lyzIHS39ODvQISz3NFFWXLy?=
 =?iso-8859-1?Q?wYyTC+Y5sGVZ5U6hsuB0epukWfKr8CTd1skeK/tslRYOzkp/ZzdVP1wqYm?=
 =?iso-8859-1?Q?4zlxcS0rV17krshRXJcw6T0DZwQLAhWpmXl57h22ug3aNlV0P04T/hiw?=
 =?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: 0b5b5819-1eae-4f49-92f7-08dbeadeab95
X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Nov 2023 22:10:27.7937
 (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: BEVgIfVgeiTu73ik19OyXyA8m6UD0BdLwEuXVifPPf8sfRMnihbq+VgcI+/RqiL6cWCoOzNPs/RmWKw61WvmxLfgUt0mX+OaSEPZU1zi1ac=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8836
X-Proofpoint-GUID: W2bYEx-fBJEg5TRa3Y--B4-uviAGyo8_
X-Proofpoint-ORIG-GUID: W2bYEx-fBJEg5TRa3Y--B4-uviAGyo8_
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-21_12,2023-11-21_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 suspectscore=0
 phishscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0
 mlxlogscore=999 bulkscore=0 impostorscore=0 spamscore=0 mlxscore=0
 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311210173

Add option to preserve owner when creating an entry in Xen Store. This
may be needed in cases when Qemu is working as device model in a
domain that is Domain-0, e.g. in driver domain.

"owner" parameter for qemu_xen_xs_create() function can have special
value XS_PRESERVE_OWNER, which will make specific implementation to
get original owner of an entry and pass it back to
set_permissions() call.

Please note, that XenStore inherits permissions, so even if entry is
newly created by, it already has the owner set to match owner of entry
at previous level.

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

--

In v2:

 - Pass transaction to xs_get_permissions() in libxenstore_create()
 - Added comment before XS_PRESERVE_OWNER defintion
 - Extended the commit message
---
 hw/i386/kvm/xen_xenstore.c       | 18 ++++++++++++++++++
 hw/xen/xen-operations.c          | 12 ++++++++++++
 include/hw/xen/xen_backend_ops.h |  7 +++++++
 3 files changed, 37 insertions(+)

diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 6e651960b3..d0fd5d4681 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -1595,6 +1595,24 @@ static bool xs_be_create(struct qemu_xs_handle *h, x=
s_transaction_t t,
         return false;
     }
=20
+    if (owner =3D=3D XS_PRESERVE_OWNER) {
+        GList *prev_perms;
+        char letter;
+
+        err =3D xs_impl_get_perms(h->impl, 0, t, path, &prev_perms);
+        if (err) {
+            errno =3D err;
+            return false;
+        }
+
+        if (sscanf(prev_perms->data, "%c%u", &letter, &owner) !=3D 2) {
+            errno =3D EFAULT;
+            g_list_free_full(prev_perms, g_free);
+            return false;
+        }
+        g_list_free_full(prev_perms, g_free);
+    }
+
     perms_list =3D g_list_append(perms_list,
                                xs_perm_as_string(XS_PERM_NONE, owner));
     perms_list =3D g_list_append(perms_list,
diff --git a/hw/xen/xen-operations.c b/hw/xen/xen-operations.c
index e00983ec44..ae8265635f 100644
--- a/hw/xen/xen-operations.c
+++ b/hw/xen/xen-operations.c
@@ -300,6 +300,18 @@ static bool libxenstore_create(struct qemu_xs_handle *=
h, xs_transaction_t t,
         return false;
     }
=20
+    if (owner =3D=3D XS_PRESERVE_OWNER) {
+        struct xs_permissions *tmp;
+        unsigned int num;
+
+        tmp =3D xs_get_permissions(h->xsh, t, path, &num);
+        if (tmp =3D=3D NULL) {
+            return false;
+        }
+        perms_list[0].id =3D tmp[0].id;
+        free(tmp);
+    }
+
     return xs_set_permissions(h->xsh, t, path, perms_list,
                               ARRAY_SIZE(perms_list));
 }
diff --git a/include/hw/xen/xen_backend_ops.h b/include/hw/xen/xen_backend_=
ops.h
index 90cca85f52..79021538a3 100644
--- a/include/hw/xen/xen_backend_ops.h
+++ b/include/hw/xen/xen_backend_ops.h
@@ -266,6 +266,13 @@ typedef uint32_t xs_transaction_t;
 #define XS_PERM_READ  0x01
 #define XS_PERM_WRITE 0x02
=20
+/*
+ * This is QEMU-specific special value used only by QEMU wrappers
+ * around XenStore. It can be passed to qemu_xen_xs_create() to
+ * inherit owner value from higher-level XS entry.
+ */
+#define XS_PRESERVE_OWNER        0xFFFE
+
 struct xenstore_backend_ops {
     struct qemu_xs_handle *(*open)(void);
     void (*close)(struct qemu_xs_handle *h);
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Tue Nov 21 22:47:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 21 Nov 2023 22:47:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638322.994772 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ZW9-00008u-Iu; Tue, 21 Nov 2023 22:46:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638322.994772; Tue, 21 Nov 2023 22:46: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 1r5ZW9-00008n-GG; Tue, 21 Nov 2023 22:46:53 +0000
Received: by outflank-mailman (input) for mailman id 638322;
 Tue, 21 Nov 2023 22:46: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 1r5ZW8-00008d-FU; Tue, 21 Nov 2023 22:46: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 1r5ZW8-0004w1-AD; Tue, 21 Nov 2023 22:46: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 1r5ZW7-0003K4-R4; Tue, 21 Nov 2023 22:46:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5ZW7-0008Ln-QR; Tue, 21 Nov 2023 22:46: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=64O2tjCQ3pks4LQfSTVf9WMSnf9JMCKU5QxD+BhNfLs=; b=evqDx2+1Qi2MQnaJqM+EJu+OpJ
	7kestN3SAJamPGduJjcmsMKW0su8EGFBUUKSj1X8cZLoH8BxvfqoV2PSzzEr3bl+cfpBjd8otn/vj
	meN5Cmp5vc/Jz1C5+LWN+IBGil+Ik5iM9UKWEuVHhTILQgITyyY87SmvLpitqHhla8/E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183808-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183808: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=b31380c7583d144380e3a3b7affccfefccff41f9
X-Osstest-Versions-That:
    libvirt=3ad5817053aa779c9536a624f260774b7afb64f6
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 21 Nov 2023 22:46:51 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183779
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183779
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183779
 test-amd64-i386-libvirt-xsm  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     15 migrate-support-check        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-amd64-amd64-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-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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              b31380c7583d144380e3a3b7affccfefccff41f9
baseline version:
 libvirt              3ad5817053aa779c9536a624f260774b7afb64f6

Last test of basis   183779  2023-11-17 04:20:32 Z    4 days
Testing same since   183808  2023-11-21 04:18:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   3ad5817053..b31380c758  b31380c7583d144380e3a3b7affccfefccff41f9 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 00:38:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 00:38:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638328.994783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5bFe-0006ew-KF; Wed, 22 Nov 2023 00:37:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638328.994783; Wed, 22 Nov 2023 00:37: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 1r5bFe-0006ep-Gn; Wed, 22 Nov 2023 00:37:58 +0000
Received: by outflank-mailman (input) for mailman id 638328;
 Wed, 22 Nov 2023 00:37: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5bFc-0006eO-Qd
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 00:37:56 +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 6016b822-88cf-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 01:37:54 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4083ac51d8aso30512575e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 16:37:54 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 l19-20020a05600c089300b004080f0376a0sm318242wmp.42.2023.11.21.16.37.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 16:37:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6016b822-88cf-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700613474; x=1701218274; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nB2LDbE3P1q+lYK7Rw1XZuQRMktjRTI8WM+Mp9sGJ9o=;
        b=lAal4tW6tnxWV2Z+ndEwBBe7PkBd+Kk7LdH/BGpPCmkpYWrHf3PzmccDWJqxuUPhzn
         VphTGog/gVBcR7mdhi31tV7/1kuoKg8hgVt3Ty4OS2DUaPW7R78nqeIfijojM5quBe9c
         I4aYgAaQKgGJwqmQifjUMroZ6SugTmVff83VY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700613474; x=1701218274;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nB2LDbE3P1q+lYK7Rw1XZuQRMktjRTI8WM+Mp9sGJ9o=;
        b=f8h2phHGu7Po8axRqF30Mu/iVNlM/InGkObedwXd8KtXlBkN1HcgmTy347kn1taoGj
         ae/YnhUP7lFNaH0KU4xXFuMgd9z+jIlg0mUbgvMGGY9OAS3X2xrr+EmIVXQqPvejjJS0
         MraUIyjzt1yqz7Q8HmugMKoo0YJK9ZA5/Rj9CgYIuPePSFvdXxKFy+eUAGFpzTUeXvZ3
         8/TdqVD1vrmr8pOUDglE2rm2D9oaIYmusKZBU3Fp/XUwcKKl4Vm4WYWoLD/IoQCXTIB6
         y2xniwck9+f0qc548oJSAMNL2zfQrVtP+TFxx17tu0ARlPatPSFwPIfKFxPENMI8WHby
         uSEQ==
X-Gm-Message-State: AOJu0Yxft7apZDCOulvaATca0cA042i68Uq5Tp3o8hJxZyPEOAVTuaPX
	Ui6jaCrgsx3zNlOHnBHmiiJ2AKTWANs5hgIQ5gE=
X-Google-Smtp-Source: AGHT+IGgYm67tzb3DIj8WUmvS9470ZAaWbBNHZ3lYhQ2BRZSqgw25kgOcE5sUZWchR63z+2mOMpGmQ==
X-Received: by 2002:a05:600c:4c94:b0:40b:2b12:1463 with SMTP id g20-20020a05600c4c9400b0040b2b121463mr660510wmp.9.1700613474190;
        Tue, 21 Nov 2023 16:37:54 -0800 (PST)
Message-ID: <804bc3be-256b-4a07-8779-06a5c2be1cef@citrix.com>
Date: Wed, 22 Nov 2023 00:37:52 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] x86/vPIT: check values loaded from state save
 record
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <584f566f-a0c9-49b5-b592-89ac4f1ecd05@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <584f566f-a0c9-49b5-b592-89ac4f1ecd05@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 16/11/2023 1:47 pm, Jan Beulich wrote:
> In particular pit_latch_status() and speaker_ioport_read() perform
> calculations which assume in-bounds values. Several of the state save
> record fields can hold wider ranges, though. Refuse to load values which
> cannot result from normal operation, except mode, the init state of
> which (see also below) cannot otherwise be reached.
>
> Note that ->gate should only be possible to be zero for channel 2;
> enforce that as well.
>
> Adjust pit_reset()'s writing of ->mode as well, to not unduly affect
> the value pit_latch_status() may calculate. The chosen mode of 7 is
> still one which cannot be established by writing the control word. Note
> that with or without this adjustment effectively all switch() statements
> using mode as the control expression aren't quite right when the PIT is
> still in that init state; there is an apparent assumption that before
> these can sensibly be invoked, the guest would init the PIT (i.e. in
> particular set the mode).

Looking in the datasheet, we have:

---8<---
After power-up, the state of the 8254 is undefined.  The Mode, count
value and output of all Counters are undefined.

How each Counter operates is determined when it is programmed.  Each
Counter must be programmed before it can be used.  Unused counters need
not be programmed.
---8<---

So software is required to explicitly configure a mode before using it.

As long as mode 7 doesn't behave unsafely, I think we're good.

>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> For mode we could refuse to load values in the [0x08,0xfe] range; I'm
> not certain that's going to be overly helpful.
>
> For count I was considering to clip the saved value to 16 bits (i.e. to
> convert the internally used 0x10000 back to the architectural 0x0000),
> but pit_save() doesn't easily lend itself to such a "fixup". If desired
> perhaps better a separate change anyway.

I suspect that at this point, it's not worth trying to fix this.  We
can't change the stream format without a giant overhaul.

> ---
> v2: Introduce separate checking function; switch to refusing to load
>     bogus values. Re-base.
>
> --- a/xen/arch/x86/emul-i8254.c
> +++ b/xen/arch/x86/emul-i8254.c
> @@ -47,6 +47,7 @@
>  #define RW_STATE_MSB 2
>  #define RW_STATE_WORD0 3
>  #define RW_STATE_WORD1 4
> +#define RW_STATE_NUM 5
>  
>  #define get_guest_time(v) \
>     (is_hvm_vcpu(v) ? hvm_get_guest_time(v) : (u64)get_s_time())
> @@ -427,6 +428,47 @@ static int cf_check pit_save(struct vcpu
>      return rc;
>  }
>  
> +static int cf_check pit_check(const struct domain *d, hvm_domain_context_t *h)
> +{
> +    const struct hvm_hw_pit *hw;
> +    unsigned int i;
> +
> +    if ( !has_vpit(d) )
> +        return -ENODEV;
> +
> +    hw = hvm_point_entry(PIT, h);
> +    if ( !hw )
> +        return -ENODATA;
> +
> +    /*
> +     * Check to-be-loaded values are within valid range, for them to represent
> +     * actually reachable state.  Uses of some of the values elsewhere assume
> +     * this is the case.  Note that the channels' mode fields aren't checked;
> +     * older Xen might save them as 0xff.

"older Xen" goes stale very quickly.  "Xen prior to 4.19", or "Xen prior
to the time of writing (Nov 2023)" if you're planning to backport this.

> +     */
> +    if ( hw->speaker_data_on > 1 || hw->pad0 )
> +        return -EDOM;
> +
> +    for ( i = 0; i < ARRAY_SIZE(hw->channels); ++i )
> +    {
> +        const struct hvm_hw_pit_channel *ch = &hw->channels[i];
> +
> +        if ( ch->count > 0x10000 ||
> +             ch->count_latched >= RW_STATE_NUM ||
> +             ch->read_state >= RW_STATE_NUM ||
> +             ch->write_state >= RW_STATE_NUM ||
> +             ch->rw_mode > RW_STATE_WORD0 ||
> +             ch->gate > 1 ||
> +             ch->bcd > 1 )
> +            return -EDOM;
> +
> +        if ( i != 2 && !ch->gate )
> +            return -EINVAL;
> +    }
> +
> +    return 0;
> +}
> +
>  static int cf_check pit_load(struct domain *d, hvm_domain_context_t *h)
>  {
>      PITState *pit = domain_vpit(d);
> @@ -443,6 +485,14 @@ static int cf_check pit_load(struct doma
>          goto out;
>      }
>      
> +    for ( i = 0; i < ARRAY_SIZE(pit->hw.channels); ++i )
> +    {
> +        struct hvm_hw_pit_channel *ch = &pit->hw.channels[i];
> +
> +        if ( (ch->mode &= 7) > 5 )
> +            ch->mode -= 4;

How does this work?  If we get in an 0xff, we'll turn it into 0xfb
rather than 7.

> +    }
> +
>      /*
>       * Recreate platform timers from hardware state.  There will be some 
>       * time jitter here, but the wall-clock will have jumped massively, so 
> @@ -458,7 +508,7 @@ static int cf_check pit_load(struct doma
>      return rc;
>  }
>  
> -HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, NULL, pit_load, 1, HVMSR_PER_DOM);
> +HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, pit_check, pit_load, 1, HVMSR_PER_DOM);
>  #endif
>  
>  /* The intercept action for PIT DM retval: 0--not handled; 1--handled. */
> @@ -575,7 +625,7 @@ void pit_reset(struct domain *d)
>      for ( i = 0; i < 3; i++ )
>      {
>          s = &pit->hw.channels[i];
> -        s->mode = 0xff; /* the init mode */
> +        s->mode = 7; /* the init mode */

I think it would be helpful to modify the comment to say /* unreachable
sentinel */ or something.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 00:57:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 00:57:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638336.994792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5bYO-00020q-8w; Wed, 22 Nov 2023 00:57:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638336.994792; Wed, 22 Nov 2023 00:57: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 1r5bYO-00020j-6N; Wed, 22 Nov 2023 00:57:20 +0000
Received: by outflank-mailman (input) for mailman id 638336;
 Wed, 22 Nov 2023 00:57: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=0ttS=HD=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1r5bYN-00020d-6v
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 00:57:19 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 139db6ca-88d2-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 01:57:16 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3AM0unSn029547
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 21 Nov 2023 19:56:54 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3AM0ul0f029546;
 Tue, 21 Nov 2023 16:56:47 -0800 (PST) (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: 139db6ca-88d2-11ee-9b0e-b553b5be7939
Date: Tue, 21 Nov 2023 16:56:47 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        xen-devel@lists.xenproject.org,
        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>,
        Neowutran <xen@neowutran.ovh>
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZV1Rz+FmmyWFHiM9@mattapan.m5p.com>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
 <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Sat, Nov 18, 2023 at 11:33:55AM +0000, Andrew Cooper wrote:
> On 18/11/2023 3:04 am, Elliott Mitchell wrote:
> > On Fri, Nov 17, 2023 at 11:12:37AM +0100, Neowutran wrote:
> >> On 2023-11-07 11:11, Elliott Mitchell wrote:
> >>> On Mon, Oct 30, 2023 at 04:27:22PM +01
> >>>> On Mon, Oct 30, 2023 at 07:50:27AM -0700, Elliott Mitchell wrote:
> >>>>> On Tue, Oct 24, 2023 at 03:51:50PM +0200, Roger Pau Monne wrote:
> >>>>>> diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
> >>>>>> index 707deef98c27..15632cc7332e 100644
> >>>>>> --- a/xen/arch/x86/genapic/x2apic.c
> >>>>>> +++ b/xen/arch/x86/genapic/x2apic.c
> >>>>>> @@ -220,38 +239,56 @@ static struct notifier_block x2apic_cpu_nfb = {
> >>>>>>  static int8_t __initdata x2apic_phys = -1;
> >>>>>>  boolean_param("x2apic_phys", x2apic_phys);
> >>>>>>  
> >>>>>> +enum {
> >>>>>> +   unset, physical, cluster, mixed
> >>>>>> +} static __initdata x2apic_mode = unset;
> >>>>>> +
> >>>>>> +static int __init parse_x2apic_mode(const char *s)
> >>>>>> +{
> >>>>>> +    if ( !cmdline_strcmp(s, "physical") )
> >>>>>> +        x2apic_mode = physical;
> >>>>>> +    else if ( !cmdline_strcmp(s, "cluster") )
> >>>>>> +        x2apic_mode = cluster;
> >>>>>> +    else if ( !cmdline_strcmp(s, "mixed") )
> >>>>>> +   
> >>>>>> +    else
> >>>>>> +        return EINVAL;
> >>>>>> +
> >>>>>> +    return 0;
> >>>>>> +}
> >>>>>> +custom_param("x2apic-mode", parse_x2apic_mode);
> >>>>>> +
> >>>>>>  const struct genapic *__init apic_x2apic_probe(void)
> >>>>>>  {
> >>>>>> -    if ( x2apic_phys < 0 )
> >>>>>> +    /* x2apic-mode option has preference over x2apic_phys. */
> >>>>>> +    if ( x2apic_phys >= 0 && x2apic_mode == unset )
> >>>>>> +        x2apic_mode = x2apic_phys ? physical : cluster;
> >>>>>> +
> >>>>>> +    if ( x2apic_mode == unset )
> >>>>>>      {
> >>>>>> -        /*
> >>>>>> -         * Force physical mode if there's no (full) interrupt remapping support:
> >>>>>> -         * The ID in clustered mode requires a 32 bit destination field due to
> >>>>>> -         * the usage of the high 16 bits to hold the cluster ID.
> >>>>>> -         */
> >>>>>> -        x2apic_phys = iommu_intremap != iommu_intremap_full ||
> >>>>>> -                      (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
> >>>>>> -        
> >>>>>> -    }
> >>>>>> -    else if ( !x2apic_phys )
> >>>>>> -        switch ( iommu_intremap )
> >>>>>> +        if ( acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL )
> >>>>>>          {
> >>>>> Could this explain the issues with recent AMD processors/motherboards?
> >>>>>
> >>>>> Mainly the firmware had been setting this flag, but Xen was previously
> >>>>> ignoring it?
> >>>> No, not unless you pass {no-}x2apic_phys={false,0} on the Xen command
> >>>> line to force logical (clustered) destination mode.
> >>>>
> >>>>> As such Xen had been attempting to use cluster mode on an
> >>>>> x2APIC where that mode was broken for physical interrupts?
> >>>> No, not realy, x2apic_phys was already forced to true if
> >>>> acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL is set on the FADT (I
> >>>> just delete that line in this same chunk and move it here).
> >>> Okay, that was from a quick look at the patch.  Given the symptoms and
> >>> workaround with recent AMD motherboards, this looked
> >>>
> >>> In that case it might be a bug in what AMD is providing to motherboard
> >>> manufacturers.  Mainly this bit MUST be set, but AMD's implementation
> >>> leaves it unset.
> >>>
> >>> Could also be if the setup is done correctly the bit can be cleared, but
> >>> multiple motherboard manufacturers are breaking this.  Perhaps the steps
> >>> are fragile and AMD needed to provide better guidance.
> >>>
> >>>
> >>> Neowutran, are you still setup to and interested in doing
> >>> experimentation/testing with Xen on your AMD computer?  Would you be up
> >>> for trying the patch here:
> >>>
> >>> https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw
> >>>
> >>> I have a suspicion this *might* fix the x2APIC issue everyone has been
> >>> seeing.
> >>>
> >>> How plausible would it be to release this as a bugfix/workaround on 4.17?
> >>> I'm expecting a "no", but figured I should ask given how widespread the
> >>> issue is.
> >> I just applied the patch on my setup ( https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw ) 
> >> It seems to fix the x2APIC issue I was having. 
> >>
> >> I only did some quick tests: 
> >>
> >> I tried all the differents values in my bios for the X2APIC settings. 
> >> Now the system successfully boot in all the cases, without needing
> >> manual override of the x2apic_phys/x2apic_mode parameter in boot commandline .
> > In light of this issue effecting a large number of people with recent
> > hardware, I formally request the patch
> > "x86/x2apic: introduce a mixed physical/cluster mode" be considered for
> > backport release on the 4.17 and 4.18 branches.
> >
> > (I'm unsure whether it is realistic for a 4.17 update, but I figure I
> > should ask)
> 
> This is an unreasonable ask.
> 
> I believe you when you say there is (or at least was) an x2apic bug (or
> bugs), but not once did you provide the logging requested, nor engage
> usefully with us in debugging.

It was insisted that full logs be sent to xen-devel.  Perhaps I am
paranoid, but I doubt I would have been successful at scrubbing all
hardware serial numbers.  As such, I was willing to post substantial
sections, but not everything.

Since the two were at loggerheads, there was nothing I could do.

Problem is the x86 machine is trying to remain close to a Linux
distribution and that distribution has been sluggish with that update.
I plan to double-check later when things are ready.

> Now you come along guessing alone at x2apic in a patch name that it
> fixes your problem, on a patch which is not a bugfix - it's a
> performance optimisation.

It was created as a performance optimization, but I had hopes it might
also workaround the problem which was occurring.


Has it been given proper consideration by the Release Manager?  As long
as the answer to that is "yes", then I will accept the decision of the
Release Manager.  I was under no illusion it was likely to be accepted
for backport.


-- 
(\___(\___(\______          --=> 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 Wed Nov 22 01:12:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:12:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638340.994803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5bn8-0003JI-HM; Wed, 22 Nov 2023 01:12:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638340.994803; Wed, 22 Nov 2023 01: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 1r5bn8-0003JB-EI; Wed, 22 Nov 2023 01:12:34 +0000
Received: by outflank-mailman (input) for mailman id 638340;
 Wed, 22 Nov 2023 01:12: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5bn7-0003J5-CY
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:12:33 +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 342ab051-88d4-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 02:12:30 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 642B0CE1E91;
 Wed, 22 Nov 2023 01:12:27 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 30A4FC433C7;
 Wed, 22 Nov 2023 01:12: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: 342ab051-88d4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700615546;
	bh=+BROR+QS3r0GPbPxzNB/D/UwRDl6uwVB9j+aJRysZfw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=oDQYwYWOBfI5PzGsfYOCt6i3whjYbByt4ACej2bu0ztwfYQ7WgaQtmBzADF5UXG59
	 U5luAa+TdO3TnVSZH6hvWbrxFUNPNuFE3GXn1ZtCcgbCBSAg+EqFZiBUJGAxFv1hfs
	 3a3fOn1jXPCNLH+zTv6eOnNV6F203HOiXODZZr04QAUqYrfBsb/ZQ9gqCv0ysSYrDr
	 mjDXXZAEqWqHZg6fL2my09ieNXPkrH3dZmVoD7vC5qX91Nq9fAHqvWrzJN+ABAg8vN
	 oRjNeFHSCnG+v20pC3qwbKWlc1YRFijMCiptPgC9B5tXwg3qedq7CkYfI1FxSdWZSo
	 2Ri7vAtJEMx6A==
Date: Tue, 21 Nov 2023 17:12:15 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.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>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
In-Reply-To: <87ttpg0wdx.fsf@epam.com>
Message-ID: <alpine.DEB.2.22.394.2311211712090.2053963@ubuntu-linux-20-04-desktop>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com> <20231012220854.2736994-14-volodymyr_babchuk@epam.com> <d6a58e73-da51-40f1-a2f7-576274945585@xen.org> <alpine.DEB.2.22.394.2311161513210.773207@ubuntu-linux-20-04-desktop> <87o7ft44bv.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop> <87a5rc4gk7.fsf@epam.com> <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org> <8734x43zxi.fsf@epam.com> <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop> <87edgo2f6j.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop> <87ttpg0wdx.fsf@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 20 Nov 2023, Volodymyr Babchuk wrote:
> Stefano Stabellini <sstabellini@kernel.org> writes:
> > On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> >> > On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> >> >> Hi Julien,
> >> >> 
> >> >> Julien Grall <julien@xen.org> writes:
> >> >> 
> >> >> > Hi Volodymyr,
> >> >> >
> >> >> > On 17/11/2023 14:09, Volodymyr Babchuk wrote:
> >> >> >> Hi Stefano,
> >> >> >> Stefano Stabellini <sstabellini@kernel.org> writes:
> >> >> >> 
> >> >> >>> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> >> >> >>>>> I still think, no matter the BDF allocation scheme, that we should try
> >> >> >>>>> to avoid as much as possible to have two different PCI Root Complex
> >> >> >>>>> emulators. Ideally we would have only one PCI Root Complex emulated by
> >> >> >>>>> Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
> >> >> >>>>> tolerable but not ideal.
> >> >> >>>>
> >> >> >>>> But what is exactly wrong with this setup?
> >> >> >>>
> >> >> >>> [...]
> >> >> >>>
> >> >> >>>>> The worst case I would like to avoid is to have
> >> >> >>>>> two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
> >> >> >>>>
> >> >> >>>> This is how our setup works right now.
> >> >> >>>
> >> >> >>> If we have:
> >> >> >>> - a single PCI Root Complex emulated in Xen
> >> >> >>> - Xen is safety certified
> >> >> >>> - individual Virtio devices emulated by QEMU with grants for memory
> >> >> >>>
> >> >> >>> We can go very far in terms of being able to use Virtio in safety
> >> >> >>> use-cases. We might even be able to use Virtio (frontends) in a SafeOS.
> >> >> >>>
> >> >> >>> On the other hand if we put an additional Root Complex in QEMU:
> >> >> >>> - we pay a price in terms of complexity of the codebase
> >> >> >>> - we pay a price in terms of resource utilization
> >> >> >>> - we have one additional problem in terms of using this setup with a
> >> >> >>>    SafeOS (one more device emulated by a non-safe component)
> >> >> >>>
> >> >> >>> Having 2 PCI Root Complexes both emulated in Xen is a middle ground
> >> >> >>> solution because:
> >> >> >>> - we still pay a price in terms of resource utilization
> >> >> >>> - the code complexity goes up a bit but hopefully not by much
> >> >> >>> - there is no impact on safety compared to the ideal scenario
> >> >> >>>
> >> >> >>> This is why I wrote that it is tolerable.
> >> >> >> Ah, I see now. Yes, I am agree with this. Also I want to add some
> >> >> >> more
> >> >> >> points:
> >> >> >> - There is ongoing work on implementing virtio backends as a
> >> >> >> separate
> >> >> >>    applications, written in Rust. Linaro are doing this part. Right now
> >> >> >>    they are implementing only virtio-mmio, but if they want to provide
> >> >> >>    virtio-pci as well, they will need a mechanism to plug only
> >> >> >>    virtio-pci, without Root Complex. This is argument for using single Root
> >> >> >>    Complex emulated in Xen.
> >> >> >> - As far as I know (actually, Oleksandr told this to me), QEMU has
> >> >> >> no
> >> >> >>    mechanism for exposing virtio-pci backends without exposing PCI root
> >> >> >>    complex as well. Architecturally, there should be a PCI bus to which
> >> >> >>    virtio-pci devices are connected. Or we need to make some changes to
> >> >> >>    QEMU internals to be able to create virtio-pci backends that are not
> >> >> >>    connected to any bus. Also, added benefit that PCI Root Complex
> >> >> >>    emulator in QEMU handles legacy PCI interrupts for us. This is
> >> >> >>    argument for separate Root Complex for QEMU.
> >> >> >> As right now we have only virtio-pci backends provided by QEMU and
> >> >> >> this
> >> >> >> setup is already working, I propose to stick to this
> >> >> >> solution. Especially, taking into account that it does not require any
> >> >> >> changes to hypervisor code.
> >> >> >
> >> >> > I am not against two hostbridge as a temporary solution as long as
> >> >> > this is not a one way door decision. I am not concerned about the
> >> >> > hypervisor itself, I am more concerned about the interface exposed by
> >> >> > the toolstack and QEMU.
> >> >
> >> > I agree with this...
> >> >
> >> >
> >> >> > To clarify, I don't particular want to have to maintain the two
> >> >> > hostbridges solution once we can use a single hostbridge. So we need
> >> >> > to be able to get rid of it without impacting the interface too much.
> >> >
> >> > ...and this
> >> >
> >> >
> >> >> This depends on virtio-pci backends availability. AFAIK, now only one
> >> >> option is to use QEMU and QEMU provides own host bridge. So if we want
> >> >> get rid of the second host bridge we need either another virtio-pci
> >> >> backend or we need to alter QEMU code so it can live without host
> >> >> bridge.
> >> >> 
> >> >> As for interfaces, it appears that QEMU case does not require any changes
> >> >> into hypervisor itself, it just boils down to writing couple of xenstore
> >> >> entries and spawning QEMU with correct command line arguments.
> >> >
> >> > One thing that Stewart wrote in his reply that is important: it doesn't
> >> > matter if QEMU thinks it is emulating a PCI Root Complex because that's
> >> > required from QEMU's point of view to emulate an individual PCI device.
> >> >
> >> > If we can arrange it so the QEMU PCI Root Complex is not registered
> >> > against Xen as part of the ioreq interface, then QEMU's emulated PCI
> >> > Root Complex is going to be left unused. I think that would be great
> >> > because we still have a clean QEMU-Xen-tools interface and the only
> >> > downside is some extra unused emulation in QEMU. It would be a
> >> > fantastic starting point.
> >> 
> >> I believe, that in this case we need to set manual ioreq handlers, like
> >> what was done in patch "xen/arm: Intercept vPCI config accesses and
> >> forward them to emulator", because we need to route ECAM accesses
> >> either to a virtio-pci backend or to a real PCI device. Also we need
> >> to tell QEMU to not install own ioreq handles for ECAM space.
> >
> > I was imagining that the interface would look like this: QEMU registers
> > a PCI BDF and Xen automatically starts forwarding to QEMU ECAM
> > reads/writes requests for the PCI config space of that BDF only. It
> > would not be the entire ECAM space but only individual PCI conf
> > reads/writes that the BDF only.
> >
> 
> Okay, I see that there is the
> xendevicemodel_map_pcidev_to_ioreq_server() function and corresponding
> IOREQ_TYPE_PCI_CONFIG call. Is this what you propose to use to register
> PCI BDF?

Yes, I think that's best.

Let me expand on this. Like I wrote above, I think it is important that
Xen vPCI is the only in-use PCI Root Complex emulator. If it makes the
QEMU implementation easier, it is OK if QEMU emulates an unneeded and
unused PCI Root Complex. From Xen point of view, it doesn't exist.

In terms if ioreq registration, QEMU calls
xendevicemodel_map_pcidev_to_ioreq_server for each PCI BDF it wants to
emulate. That way, Xen vPCI knows exactly what PCI config space
reads/writes to forward to QEMU.

Let's say that:
- 00:02.0 is PCI passthrough device
- 00:03.0 is a PCI emulated device

QEMU would register 00:03.0 and vPCI would know to forward anything
related to 00:03.0 to QEMU, but not 00:02.0.



> I see that xen-hvm-common.c in QEMU is able to handle only standard 256
> bytes configuration space, but I hope that it will be easy fix.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:14:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:14:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638342.994813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5bp5-0003qm-Sy; Wed, 22 Nov 2023 01:14:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638342.994813; Wed, 22 Nov 2023 01:14: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 1r5bp5-0003qf-QO; Wed, 22 Nov 2023 01:14:35 +0000
Received: by outflank-mailman (input) for mailman id 638342;
 Wed, 22 Nov 2023 01:14: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5bp4-0003qX-N3
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:14: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 7dc81526-88d4-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 02:14:33 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 51F3161BD1;
 Wed, 22 Nov 2023 01:14:31 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C0024C433C9;
 Wed, 22 Nov 2023 01:14: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: 7dc81526-88d4-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700615671;
	bh=fva6UkXo8yJFzKn+8NB5CkzT6L9wTtbwWCv/BmrGO3k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=nlOzqkLadcY70GMBrv0WjnQZD9pbeNDSgvX+aJfrIRzzzTuPzmbz7rQEXOYtgEJnS
	 +Hq8yXcU0H9q6nnL96MhHSBh1QJPQ6l8HLoPhcG7qKTKm7x9wHhXkT4rZSypMRdBjR
	 4LryoRRiRBPsUl6MTTS+RKwlYBe2mhMQUHDs5Amv/TU64s48osdkUdseTyrbwz430y
	 1c5fv/UieKEJVjSzKrmcOEP/D8/osk8DB5AjUmYgLpfq18l96imDFvuIzmQTItKU6S
	 uTSlryw+SvDsEN4kaU64XqZjezbhOU69qGcKsDKgTL0m1EO0GKEV2bYnD9aDPYFil2
	 FpbKDoHM9l8Aw==
Date: Tue, 21 Nov 2023 17:14:28 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
cc: Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, 
    Julien Grall <julien@xen.org>, Sergiy Kibrik <Sergiy_Kibrik@epam.com>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "vikram.garhwal@amd.com" <vikram.garhwal@amd.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [RFC PATCH 2/6] xen/public: arch-arm: reserve resources for
 virtio-pci
In-Reply-To: <54294601-76fe-4994-9500-e6a9999dba73@amd.com>
Message-ID: <alpine.DEB.2.22.394.2311211713560.2053963@ubuntu-linux-20-04-desktop>
References: <20231115112611.3865905-1-Sergiy_Kibrik@epam.com> <20231115112611.3865905-3-Sergiy_Kibrik@epam.com> <f4523916-f8aa-4f3c-a148-2fc73b0c5fa4@xen.org> <a5ce647b-f372-41ee-b1d2-b6ff16c3d1a0@epam.com> <alpine.DEB.2.22.394.2311151518500.160649@ubuntu-linux-20-04-desktop>
 <78c59979-5110-4fa3-855d-e0fa6df116f0@amd.com> <a96732c2-cdfb-43fb-9e88-1cd54994eab4@epam.com> <54294601-76fe-4994-9500-e6a9999dba73@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 21 Nov 2023, Stewart Hildebrand wrote:
> On 11/17/23 03:11, Oleksandr Tyshchenko wrote:
> > 
> > 
> > On 17.11.23 05:31, Stewart Hildebrand wrote:
> > 
> > Hello Stewart
> > 
> > [answering only for virtio-pci bits as for vPCI I am only familiar with 
> > code responsible for trapping config space accesses]
> > 
> > [snip]
> > 
> >>>
> >>>
> >>> Let me start by saying that if we can get away with it, I think that a
> >>> single PCI Root Complex in Xen would be best because it requires less
> >>> complexity. Why emulate 2/3 PCI Root Complexes if we can emulate only
> >>> one?
> >>>
> >>> Stewart, you are deep into vPCI, what's your thinking?
> >>
> >> First allow me explain the moving pieces in a bit more detail (skip ahead to "Back to the question: " if you don't want to be bored with the details). I played around with this series, and I passed through a PCI device (with vPCI) and enabled virtio-pci:
> >>
> >> virtio = [ "type=virtio,device,transport=pci,bdf=0000:00:00.0,backend_type=qemu" ]
> >> device_model_args = [ "-device", "virtio-serial-pci" ]
> >> pci = [ "01:00.0" ]
> >>
> >> Indeed we get two root complexes (2 ECAM ranges, 2 sets of interrupts, etc.) from the domU point of view:
> >>
> >>      pcie@10000000 {
> >>          compatible = "pci-host-ecam-generic";
> >>          device_type = "pci";
> >>          reg = <0x00 0x10000000 0x00 0x10000000>;
> >>          bus-range = <0x00 0xff>;
> >>          #address-cells = <0x03>;
> >>          #size-cells = <0x02>;
> >>          status = "okay";
> >>          ranges = <0x2000000 0x00 0x23000000 0x00 0x23000000 0x00 0x10000000 0x42000000 0x01 0x00 0x01 0x00 0x01 0x00>;
> >>          #interrupt-cells = <0x01>;
> >>          interrupt-map = <0x00 0x00 0x00 0x01 0xfde8 0x00 0x74 0x04>;
> >>          interrupt-map-mask = <0x00 0x00 0x00 0x07>;
> > 
> > 
> > I am wondering how you got interrupt-map here? AFAIR upstream toolstack 
> > doesn't add that property for vpci dt node.
> 
> You are correct. I'm airing my dirty laundry here: this is a hack to get a legacy interrupt passed through on a ZCU102 board (Zynq UltraScale+), which doesn't have GICv3/ITS. In a system with a GICv3/ITS, we would have an msi-map property (this is also not yet upstream, but is in a couple of downstreams).
> 
> > 
> >>      };
> >>
> >>      pcie@33000000 {
> >>          compatible = "pci-host-ecam-generic";
> >>          device_type = "pci";
> >>          reg = <0x00 0x33000000 0x00 0x200000>;
> >>          bus-range = <0x00 0x01>;
> >>          #address-cells = <0x03>;
> >>          #size-cells = <0x02>;
> >>          status = "okay";
> >>          ranges = <0x2000000 0x00 0x34000000 0x00 0x34000000 0x00 0x800000 0x42000000 0x00 0x3a000000 0x00 0x3a000000 0x00 0x800000>;
> >>          dma-coherent;
> >>          #interrupt-cells = <0x01>;
> >>          interrupt-map = <0x00 0x00 0x00 0x01 0xfde8 0x00 0x0c 0x04 0x00 0x00 0x00 0x02 0xfde8 0x00 0x0d 0x04 0x00 0x00 0x00 0x03 0xfde8 0x00 0x0e 0x04 0x00 0x00 0x00 0x04 0xfde8 0x00 0x0f 0x04 0x800 0x00 0x00 0x01 0xfde8 0x00 0x0d 0x04 0x800 0x00 0x00 0x02 0xfde8 0x00 0x0e 0x04 0x800 0x00 0x00 0x03 0xfde8 0x00 0x0f 0x04 0x800 0x00 0x00 0x04 0xfde8 0x00 0x0c 0x04 0x1000 0x00 0x00 0x01 0xfde8 0x00 0x0e 0x04 0x1000 0x00 0x00 0x02 0xfde8 0x00 0x0f 0x04 0x1000 0x00 0x00 0x03 0xfde8 0x00 0x0c 0x04 0x1000 0x00 0x00 0x04 0xfde8 0x00 0x0d 0x04 0x1800 0x00 0x00 0x01 0xfde8 0x00 0x0f 0x04 0x1800 0x00 0x00 0x02 0xfde8 0x00 0x0c 0x04 0x1800 0x00 0x00 0x03 0xfde8 0x00 0x0d 0x04 0x1800 0x00 0x00 0x04 0xfde8 0x00 0x0e 0x04>;
> >>          interrupt-map-mask = <0x1800 0x00 0x00 0x07>;
> > 
> > 
> > that is correct dump.
> > 
> > BTW, if you added "grant_usage=1" (it is disabled by default for dom0) 
> > to virtio configuration you would get iommu-map property here as well 
> > [1]. This is another point to think about when considering combined 
> > approach (single PCI Host bridge node -> single virtual root complex), I 
> > guess usual PCI device doesn't want grant based DMA addresses, correct? 
> > If so, it shouldn't be specified in the property.
> 
> Right, a usual PCI device doesn't want/need grant based DMA addresses. The iommu-map property [2] is flexible enough to make it apply only to certain vBDFs or ranges of vBDFs. Actually, it looks like ("libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices") already has the logic for doing exactly this. So it should be fine to have the iommu-map property in the single root complex and still do regular PCI passthrough.
> 
> Presumably, we would also want msi-map [3] to apply to some vBDFs, not others. msi-map has the same flexible BDF matching as iommu-map (these two bindings actually share the same parsing function), so we should be able to use a similar strategy here if needed.
> 
> We would also want interrupt-map [4] to apply to some vBDFs, not others. The BDF matching with interrupt-map behaves slightly differently, but I believe it is still flexible enough to achieve this. In this case, the function create_virtio_pci_irq_map(), added in ("libxl/arm: Add basic virtio-pci support"), would need some re-thinking.
> 
> In summary, with a single virtual root complex, the toolstack needs to know which vBDFs are virtio-pci, and which vBDFs are passthrough, so it can create the [iommu,msi,interrupt]-map properties accordingly.

That should be fine given that the toolstack also knows all the PCI
Passthrough devices too.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:19:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:19:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638346.994822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5bth-0005Bw-Dm; Wed, 22 Nov 2023 01:19:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638346.994822; Wed, 22 Nov 2023 01:19: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 1r5bth-0005Bp-Aq; Wed, 22 Nov 2023 01:19:21 +0000
Received: by outflank-mailman (input) for mailman id 638346;
 Wed, 22 Nov 2023 01:19: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5btf-0005Bj-PW
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:19:19 +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 27ad3f73-88d5-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 02:19:18 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 749CFCE0ED6;
 Wed, 22 Nov 2023 01:19:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7EC75C433C8;
 Wed, 22 Nov 2023 01:19: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: 27ad3f73-88d5-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700615952;
	bh=u+Z70qG3H/P4SUymInSLy+GRkfzCz0bgm0m35byb8JU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=mDocNKsTnCe4es8DDcjz+z7p2dWeiK+6PBwFZCRfgZhA66wff4dHljxEdj4wbjhK3
	 DKCa16vyoNK/BqyF6LgAbVuBzipaaA2Yck62Q1j8bHuw7NJuog09YjmBsiiZXrqjAT
	 /f3OPEABF3JtVSCKz4eYKEI1Pgt++Fdx7nQ9nRevIZcEYRwUYW0VCpGl5jGIboHSSN
	 3T5uYit9b4ytDMxScWfJlD/zadF4GklgXc7M9ji3ePI2O0mHOLYIKuXhB/zqyrKWag
	 sYx5BwvfIO3x/958v1WFtxLeym5iAdHKoUnY5HZaJt4HxUQt553HnqOjMTKXALqj7S
	 rNii/z6xRIEfQ==
Date: Tue, 21 Nov 2023 17:19:09 -0800 (PST)
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>, 
    Federico Serafini <federico.serafini@bugseng.com>, consulting@bugseng.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
Subject: Re: [XEN PATCH 3/5] xen/sort: address violations of MISRA C:2012
 Rule 8.2
In-Reply-To: <dc07af2c-c011-4c06-a573-6aa95deb9ec6@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311211716240.2053963@ubuntu-linux-20-04-desktop>
References: <cover.1700209834.git.federico.serafini@bugseng.com> <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com> <19d887e6-8c07-43f3-a2de-88ce0a0c99ba@suse.com> <b481a966-4f29-4b05-8246-d3f1eec19d0c@bugseng.com>
 <51010cec-596a-4249-82dc-ac711c3962c3@suse.com> <alpine.DEB.2.22.394.2311201603220.773207@ubuntu-linux-20-04-desktop> <dc07af2c-c011-4c06-a573-6aa95deb9ec6@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, 21 Nov 2023, Jan Beulich wrote:
> On 21.11.2023 01:04, Stefano Stabellini wrote:
> > On Mon, 20 Nov 2023, Jan Beulich wrote:
> >> On 20.11.2023 14:13, Federico Serafini wrote:
> >>> On 20/11/23 10:02, Jan Beulich wrote:
> >>>> On 17.11.2023 09:40, Federico Serafini wrote:
> >>>>> --- a/xen/include/xen/sort.h
> >>>>> +++ b/xen/include/xen/sort.h
> >>>>> @@ -23,8 +23,8 @@
> >>>>>   extern gnu_inline
> >>>>>   #endif
> >>>>>   void sort(void *base, size_t num, size_t size,
> >>>>> -          int (*cmp)(const void *, const void *),
> >>>>> -          void (*swap)(void *, void *, size_t))
> >>>>> +          int (*cmp)(const void *key, const void *elem),
> >>>>
> >>>> Why "key" and "elem" here, but ...
> >>>>
> >>>>> +          void (*swap)(void *a, void *b, size_t size))
> >>>>
> >>>> ... "a" and "b" here? The first example of users of sort() that I'm
> >>>> looking at right now (x86/extable.c) is consistent in its naming.
> >>>>
> >>>
> >>> On the Arm side there are {cmp,swap}_memory_node() and
> >>> {cmp,swap}_mmio_handler(): "key"/"elem" are used for the comparison
> >>> and "_a"/"_b" for the swap.
> >>
> >> So - re-raising a question Stefano did raise - is Misra concerned about
> >> such discrepancies? If yes, _all_ instances need harmonizing. If not, I
> >> see no reason to go with misleading names here.
> > 
> > Federico confirmed that the answer is "no".
> > 
> > I think we can use "key" and "elem" in this patch as they are more
> > informative than "a" and "b"
> 
> Except that "key" and "elem" are (imo) inapplicable to sort() callbacks
> (and inconsistent with the naming in the 2nd callback here); they _may_
> be applicable in bsearch() ones. Note also how in the C99 spec these
> parameters of callback functions don't have names either.

Yes, reading the example in extable.c I think you are right. Maybe it is
better to use "a" and "b" in both cmp and swap if you agree.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:23:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:23:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638350.994832 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5bxR-0006gX-1e; Wed, 22 Nov 2023 01:23:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638350.994832; Wed, 22 Nov 2023 01: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 1r5bxQ-0006gQ-VS; Wed, 22 Nov 2023 01:23:12 +0000
Received: by outflank-mailman (input) for mailman id 638350;
 Wed, 22 Nov 2023 01: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5bxQ-0006gK-8b
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:23:12 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b264f463-88d5-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 02:23:11 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 47F87CE1E93;
 Wed, 22 Nov 2023 01:23:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EB821C433C7;
 Wed, 22 Nov 2023 01:23:07 +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: b264f463-88d5-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700616188;
	bh=2bLnMTXhyZM+R/a1tHoAFr/QLK+ZQeaCAXn1fuY6U7A=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kBIna9pRUzLKK+j7qmiuSc3rJFl2x577EC/0+9vQkDPE9ses4A//uNNc01l8abBoY
	 EvRugzrfeK1ZEjHv3G3YqAt+437wUwYjRnncLuy8mzqIQ/ZX+broxV0rICvyweL+vN
	 LcEFgkd4OX1CU1EJ3W70qL/wFqW9++6pc4AgIWURUylEWFAuTGhR/KFDAl9Z7qap+A
	 LuBryOQhnGd+Zkp4AWxJHjsM3WN0MbRLEd/DU0PvoztgQSKf08s190CQdKwlrGtfcI
	 /7nUa5XRCPmMIZFUGbpScF3QSW4dYatoSPJV41i1tlIa1uQiqlXby+nYpzlhtTqvde
	 gWFduc/rZTi6A==
Date: Tue, 21 Nov 2023 17:23:06 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 2/7] automation: remove com1= parameter on QEMU smoke
 tests
In-Reply-To: <20231121160358.8080-3-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311211723000.2053963@ubuntu-linux-20-04-desktop>
References: <20231121160358.8080-1-roger.pau@citrix.com> <20231121160358.8080-3-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1669872003-1700616188=:2053963"

  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-1669872003-1700616188=:2053963
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 21 Nov 2023, Roger Pau Monne wrote:
> The serial is already setup by the firmware, be consistent with the rest of the
> QEMU tests and don't specify a com1 setup.
> 
> Note it's also bogus, as the extra ',' will make the intended DPS argument to
> be parsed as the io-base.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

> ---
> Changes in v2:
>  - New in this version
> ---
>  automation/scripts/qemu-smoke-x86-64.sh | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/automation/scripts/qemu-smoke-x86-64.sh b/automation/scripts/qemu-smoke-x86-64.sh
> index 188ff8e3d658..3014d07314b9 100755
> --- a/automation/scripts/qemu-smoke-x86-64.sh
> +++ b/automation/scripts/qemu-smoke-x86-64.sh
> @@ -19,8 +19,7 @@ set +e
>  timeout -k 1 30 \
>  qemu-system-x86_64 -nographic -kernel binaries/xen \
>          -initrd xtf/tests/example/$k \
> -        -append "loglvl=all com1=115200,,8n1 console=com1 noreboot \
> -                 console_timestamps=boot $extra" \
> +        -append "loglvl=all console=com1 noreboot console_timestamps=boot $extra" \
>          -m 512 -monitor none -serial file:smoke.serial
>  set -e
>  grep -q 'Test result: SUCCESS' smoke.serial || exit 1
> -- 
> 2.42.0
> 
--8323329-1669872003-1700616188=:2053963--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:26:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:26:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638353.994843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5c0Q-0007Wu-Ge; Wed, 22 Nov 2023 01:26:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638353.994843; Wed, 22 Nov 2023 01: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 1r5c0Q-0007Wn-Cx; Wed, 22 Nov 2023 01:26:18 +0000
Received: by outflank-mailman (input) for mailman id 638353;
 Wed, 22 Nov 2023 01:26: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5c0P-0007Vb-8u
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:26:17 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21753feb-88d6-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 02:26:16 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-4083f613275so30391405e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 21 Nov 2023 17:26:16 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 q1-20020a5d61c1000000b00332cb8fd5b7sm5477168wrv.67.2023.11.21.17.26.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 21 Nov 2023 17:26:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21753feb-88d6-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700616376; x=1701221176; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=houFHBNzhX5fo5r9OcCkSwEG6ICg6TON+t4NlDtgrtc=;
        b=XG0nWECdsY8YlZeOiKI9suITYJE8cHXq1RM6PEQMiDIyICtt2bITXPAwbdVpeWd6xL
         hOzqWYxjTraH/wHCg/FrltS+JIWtccTiBqI2CpPqkgyavmo6vFdHWKPwruCKNzTwA3Fx
         6CUtumfhh/xHV5Wtb1oYGc8LY9DUmaOuVa5IY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700616376; x=1701221176;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=houFHBNzhX5fo5r9OcCkSwEG6ICg6TON+t4NlDtgrtc=;
        b=WCLLMDnTEkJCziN6IdxFy8YKeP0U36wAfs3/sH4QVCHcpMeRhbD+x40G4fG4nmXzsb
         0Pu+xZKd5L5RlXfY+Yc+45FpNiEPlwxcZL+a8gopVDXLqp3egZaOasWRTX49HUpl3Te4
         y4GBFrsg2tzBZD3RD2oJBx+Ta7Fof9JjeLJofuq7EKNlgq6YqXeVWMhu/BNHU6Dyuh4B
         VAswgyWAN/VhenX+tQvh0ZzCFlaRKIRpjBjAN1OLgSc576knzN1tS+8o25VYWeclI9My
         yYaiHxDkJsZLJWGAfoiwQvZ6iQSe0kymhqRe1qaWlSxQKNYj23tBv/pvrksCS2uYD1yU
         rnuw==
X-Gm-Message-State: AOJu0YxuHxH/HK2Vj8Ih5DuTH85fcwO7gZlgtpSgxFRjpX/29vkIwHwC
	XOYR9l3o6C+/5aHcM3+68/DdMg==
X-Google-Smtp-Source: AGHT+IG6rnYZEhQeteDmusyc5gajgo3P6dfQbhR8ifcAD4xujwIEJXkRAy/7BHDMm4y3+N6R18kr6w==
X-Received: by 2002:a05:600c:4ed0:b0:405:95ae:4a94 with SMTP id g16-20020a05600c4ed000b0040595ae4a94mr359016wmq.5.1700616375581;
        Tue, 21 Nov 2023 17:26:15 -0800 (PST)
Message-ID: <52ec938a-053f-4f73-b4d9-984547497e16@citrix.com>
Date: Wed, 22 Nov 2023 01:26:14 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] x86/vPIC: check values loaded from state save
 record
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <976532e6-9514-4a46-8ca1-edf66f22659b@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <976532e6-9514-4a46-8ca1-edf66f22659b@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 16/11/2023 1:48 pm, Jan Beulich wrote:
> Loading is_master from the state save record can lead to out-of-bounds
> accesses via at least the two container_of() uses by vpic_domain() and
> __vpic_lock(). Make sure the value is consistent with the instance being
> loaded.
>
> For ->int_output (which for whatever reason isn't a 1-bit bitfield),
> besides bounds checking also take ->init_state into account.
>
> For ELCR follow what vpic_intercept_elcr_io()'s write path and
> vpic_reset() do, i.e. don't insist on the internal view of the value to
> be saved. Adjust vpic_elcr_mask() to allow using it easily for the new
> case, but still also especially in the 2nd of the uses by
> vpic_intercept_elcr_io()).

I'm afraid I'm totally lost trying to follow this change.

What is mb2 and why is it variable?

This does look like a logically unrelated change (the only overlap is
using the new vpic_elcr_mask() form to audit the incoming data), so I
think it needs breaking out simply for review-ability.

>
> Move the instance range check as well, leaving just an assertion in the
> load handler.
>
> While there also correct vpic_domain() itself, to use its parameter in
> both places.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: Introduce separate checking function; switch to refusing to load
>     bogus values. Re-base.
>
> --- a/xen/arch/x86/hvm/vpic.c
> +++ b/xen/arch/x86/hvm/vpic.c
> @@ -35,13 +35,13 @@
>  #include <asm/hvm/save.h>
>  
>  #define vpic_domain(v) (container_of((v), struct domain, \
> -                        arch.hvm.vpic[!vpic->is_master]))
> +                                     arch.hvm.vpic[!(v)->is_master]))

This appears to have only compiled before because both callers have vpic
as their parameter.

I think this is worthy of breaking out into a separate change, because
it wants backporting further than I expect you're likely to want to
backport this patch in general.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:29:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:29:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638358.994853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5c36-0000Ks-Tu; Wed, 22 Nov 2023 01:29:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638358.994853; Wed, 22 Nov 2023 01: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 1r5c36-0000Kl-Qf; Wed, 22 Nov 2023 01:29:04 +0000
Received: by outflank-mailman (input) for mailman id 638358;
 Wed, 22 Nov 2023 01:29: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5c35-0000Kf-Ih
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:29:03 +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 8335b102-88d6-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 02:29:01 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id AF0CECE1E06;
 Wed, 22 Nov 2023 01:28:55 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5CB48C433C7;
 Wed, 22 Nov 2023 01:28: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: 8335b102-88d6-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700616535;
	bh=5SSQDIRXfY5abYgW4pOVXXGfv25hfcrN/rwWKMcqPGs=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=spaJ2uAkebbdemlqtHDLf92Zt099WpzJbynq89Fu4gCHE28OPIuvMs6BAW5Gs+cSB
	 Fq54vrH3/iHHWg8sGhd/3agF7EvbZwZuTMEgUVxQXU0QJT2JzHpmE1NIzRg7vW/EMT
	 XFjFDwMnQdVuWXvP8M3rkOanVqH5jn0CRzHZ/kVa9pR25KCHT676RrGLsjP0X5kf72
	 xT5JtV2g9ePyUBO9/1Q+hm5IGnKziuF7GovXeBSaUQztSlT1aAfx/7GO/vszw2epMN
	 WWT5tOZnEzO2ZRlbn0xS7QherMlNS4WdxwsMU+TpuJI/qmm26jDIwAKusWgASEPljW
	 QAg4oqMWpKQlQ==
Date: Tue, 21 Nov 2023 17:28:52 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 6/7] automation: set architecture in docker files
In-Reply-To: <20231121160358.8080-7-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311211728460.2053963@ubuntu-linux-20-04-desktop>
References: <20231121160358.8080-1-roger.pau@citrix.com> <20231121160358.8080-7-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1719195801-1700616534=:2053963"

  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-1719195801-1700616534=:2053963
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 21 Nov 2023, Roger Pau Monne wrote:
> Pass the desired architecture of the image in the FROM instruction if the
> image is possibly multi-platform.
> 
> This allows using the x86 Dockerfiles on OS X on arm64 hardware.
> 
> No functional change intended.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

> ---
> I haven't touched the Yocto dockerfile because I'm not sure how it's used.
> ---
>  automation/build/alpine/3.18.dockerfile                       | 2 +-
>  automation/build/archlinux/current-riscv64.dockerfile         | 2 +-
>  automation/build/archlinux/current.dockerfile                 | 2 +-
>  automation/build/centos/7.dockerfile                          | 2 +-
>  automation/build/debian/bookworm.dockerfile                   | 2 +-
>  automation/build/debian/bullseye-ppc64le.dockerfile           | 2 +-
>  automation/build/debian/buster-gcc-ibt.dockerfile             | 4 ++--
>  automation/build/debian/jessie.dockerfile                     | 2 +-
>  automation/build/debian/stretch.dockerfile                    | 2 +-
>  automation/build/fedora/29.dockerfile                         | 2 +-
>  automation/build/suse/opensuse-leap.dockerfile                | 2 +-
>  automation/build/suse/opensuse-tumbleweed.dockerfile          | 2 +-
>  automation/build/ubuntu/bionic.dockerfile                     | 2 +-
>  automation/build/ubuntu/focal.dockerfile                      | 2 +-
>  automation/build/ubuntu/trusty.dockerfile                     | 2 +-
>  automation/build/ubuntu/xenial-xilinx.dockerfile              | 2 +-
>  automation/build/ubuntu/xenial.dockerfile                     | 2 +-
>  automation/tests-artifacts/alpine/3.18.dockerfile             | 2 +-
>  automation/tests-artifacts/kernel/6.1.19.dockerfile           | 2 +-
>  .../tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile  | 2 +-
>  20 files changed, 21 insertions(+), 21 deletions(-)
> 
> diff --git a/automation/build/alpine/3.18.dockerfile b/automation/build/alpine/3.18.dockerfile
> index 5d2a69a06010..4ae9cb5e9e30 100644
> --- a/automation/build/alpine/3.18.dockerfile
> +++ b/automation/build/alpine/3.18.dockerfile
> @@ -1,4 +1,4 @@
> -FROM alpine:3.18
> +FROM --platform=linux/amd64 alpine:3.18
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/archlinux/current-riscv64.dockerfile b/automation/build/archlinux/current-riscv64.dockerfile
> index abf8e7bf0b88..af75b5c720ce 100644
> --- a/automation/build/archlinux/current-riscv64.dockerfile
> +++ b/automation/build/archlinux/current-riscv64.dockerfile
> @@ -1,4 +1,4 @@
> -FROM archlinux
> +FROM --platform=linux/amd64 archlinux
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/archlinux/current.dockerfile b/automation/build/archlinux/current.dockerfile
> index 47e79637a4a6..d974a1434fd5 100644
> --- a/automation/build/archlinux/current.dockerfile
> +++ b/automation/build/archlinux/current.dockerfile
> @@ -1,4 +1,4 @@
> -FROM archlinux:base-devel
> +FROM --platform=linux/amd64 archlinux:base-devel
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/centos/7.dockerfile b/automation/build/centos/7.dockerfile
> index 69dcefb2f011..ab450f0b3a0e 100644
> --- a/automation/build/centos/7.dockerfile
> +++ b/automation/build/centos/7.dockerfile
> @@ -1,4 +1,4 @@
> -FROM centos:7
> +FROM --platform=linux/amd64 centos:7
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bookworm.dockerfile b/automation/build/debian/bookworm.dockerfile
> index 7aea081c13a9..459f8e30bdc6 100644
> --- a/automation/build/debian/bookworm.dockerfile
> +++ b/automation/build/debian/bookworm.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:bookworm
> +FROM --platform=linux/amd64 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bullseye-ppc64le.dockerfile b/automation/build/debian/bullseye-ppc64le.dockerfile
> index 4de8458445ae..6fdfb6bc2b40 100644
> --- a/automation/build/debian/bullseye-ppc64le.dockerfile
> +++ b/automation/build/debian/bullseye-ppc64le.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:bullseye-slim
> +FROM --platform=linux/amd64 debian:bullseye-slim
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/buster-gcc-ibt.dockerfile b/automation/build/debian/buster-gcc-ibt.dockerfile
> index 96ab4fe8a2f1..6a3e50ef6b3f 100644
> --- a/automation/build/debian/buster-gcc-ibt.dockerfile
> +++ b/automation/build/debian/buster-gcc-ibt.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:buster-slim AS builder
> +FROM --platform=linux/amd64 debian:buster-slim AS builder
>  
>  ENV DEBIAN_FRONTEND=noninteractive
>  ENV USER root
> @@ -41,7 +41,7 @@ RUN ./configure \
>  RUN make -j`nproc` && make -j`nproc` install
>  
>  
> -FROM debian:buster-slim
> +FROM --platform=linux/amd64 debian:buster-slim
>  COPY --from=builder /opt/gcc-11-ibt /opt/gcc-11-ibt
>  
>  LABEL maintainer.name="The Xen Project" \
> diff --git a/automation/build/debian/jessie.dockerfile b/automation/build/debian/jessie.dockerfile
> index 5c71c3e3ea75..32fc952fbc2d 100644
> --- a/automation/build/debian/jessie.dockerfile
> +++ b/automation/build/debian/jessie.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian/eol:jessie
> +FROM --platform=linux/amd64 debian/eol:jessie
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/stretch.dockerfile b/automation/build/debian/stretch.dockerfile
> index 2f1a99f45017..e2706a8f3589 100644
> --- a/automation/build/debian/stretch.dockerfile
> +++ b/automation/build/debian/stretch.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:stretch
> +FROM --platform=linux/amd64 debian:stretch
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/fedora/29.dockerfile b/automation/build/fedora/29.dockerfile
> index e55b06a4517e..42a87ce6c84b 100644
> --- a/automation/build/fedora/29.dockerfile
> +++ b/automation/build/fedora/29.dockerfile
> @@ -1,4 +1,4 @@
> -FROM fedora:29
> +FROM --platform=linux/amd64 fedora:29
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/suse/opensuse-leap.dockerfile b/automation/build/suse/opensuse-leap.dockerfile
> index 7010b71acaa0..e1ec38a41445 100644
> --- a/automation/build/suse/opensuse-leap.dockerfile
> +++ b/automation/build/suse/opensuse-leap.dockerfile
> @@ -1,4 +1,4 @@
> -FROM opensuse/leap
> +FROM --platform=linux/amd64 opensuse/leap
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/suse/opensuse-tumbleweed.dockerfile b/automation/build/suse/opensuse-tumbleweed.dockerfile
> index 959e1f6939f0..38f6fda2ff1b 100644
> --- a/automation/build/suse/opensuse-tumbleweed.dockerfile
> +++ b/automation/build/suse/opensuse-tumbleweed.dockerfile
> @@ -1,4 +1,4 @@
> -FROM opensuse/tumbleweed
> +FROM --platform=linux/amd64 opensuse/tumbleweed
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/bionic.dockerfile b/automation/build/ubuntu/bionic.dockerfile
> index e15f54431efb..77d7f933860c 100644
> --- a/automation/build/ubuntu/bionic.dockerfile
> +++ b/automation/build/ubuntu/bionic.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:18.04
> +FROM --platform=linux/amd64 ubuntu:18.04
>  LABEL maintainer.name="The Xen Project " \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/focal.dockerfile b/automation/build/ubuntu/focal.dockerfile
> index e3d11194ee2f..30a9b8e84ffe 100644
> --- a/automation/build/ubuntu/focal.dockerfile
> +++ b/automation/build/ubuntu/focal.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:20.04
> +FROM --platform=linux/amd64 ubuntu:20.04
>  LABEL maintainer.name="The Xen Project " \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/trusty.dockerfile b/automation/build/ubuntu/trusty.dockerfile
> index 22e294c20cac..0d33578c4e1d 100644
> --- a/automation/build/ubuntu/trusty.dockerfile
> +++ b/automation/build/ubuntu/trusty.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:14.04
> +FROM --platform=linux/amd64 ubuntu:14.04
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/xenial-xilinx.dockerfile b/automation/build/ubuntu/xenial-xilinx.dockerfile
> index 5f7087135213..49f27b322995 100644
> --- a/automation/build/ubuntu/xenial-xilinx.dockerfile
> +++ b/automation/build/ubuntu/xenial-xilinx.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:16.04
> +FROM --platform=linux/amd64 ubuntu:16.04
>  LABEL maintainer.name="The Xen Project " \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/ubuntu/xenial.dockerfile b/automation/build/ubuntu/xenial.dockerfile
> index 2d2ba3e31f63..e8035434f804 100644
> --- a/automation/build/ubuntu/xenial.dockerfile
> +++ b/automation/build/ubuntu/xenial.dockerfile
> @@ -1,4 +1,4 @@
> -FROM ubuntu:16.04
> +FROM --platform=linux/amd64 ubuntu:16.04
>  LABEL maintainer.name="The Xen Project " \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/tests-artifacts/alpine/3.18.dockerfile b/automation/tests-artifacts/alpine/3.18.dockerfile
> index 5f521572b8fb..f1b4a8b7a191 100644
> --- a/automation/tests-artifacts/alpine/3.18.dockerfile
> +++ b/automation/tests-artifacts/alpine/3.18.dockerfile
> @@ -1,4 +1,4 @@
> -FROM alpine:3.18
> +FROM --platform=linux/amd64 alpine:3.18
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
> index d5b787c1cbb5..3a4096780d20 100644
> --- a/automation/tests-artifacts/kernel/6.1.19.dockerfile
> +++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:bookworm
> +FROM --platform=linux/amd64 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile b/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile
> index 7376ca46ff8e..65857147bf4f 100644
> --- a/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile
> +++ b/automation/tests-artifacts/qemu-system-ppc64/8.1.0-ppc64.dockerfile
> @@ -1,4 +1,4 @@
> -FROM debian:bullseye-slim
> +FROM --platform=linux/amd64 debian:bullseye-slim
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> -- 
> 2.42.0
> 
--8323329-1719195801-1700616534=:2053963--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:29:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:29:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638359.994862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5c3F-0000cT-4J; Wed, 22 Nov 2023 01:29:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638359.994862; Wed, 22 Nov 2023 01: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 1r5c3F-0000cM-1Q; Wed, 22 Nov 2023 01:29:13 +0000
Received: by outflank-mailman (input) for mailman id 638359;
 Wed, 22 Nov 2023 01: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5c3D-0000br-RJ
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:29:11 +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 8860259d-88d6-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 02:29:09 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id F292A61BF5;
 Wed, 22 Nov 2023 01:29:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9A43FC4339A;
 Wed, 22 Nov 2023 01:29: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: 8860259d-88d6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700616547;
	bh=nred4UrM0Q5eIGc6o0ITGx2xNxbGbsPGw2PO1rovoHo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=HfhZj4YQR1DcK1DXuavhQWP1EbMHEJGmUKeaPpyFTJ1eEhXCDqoJMgNXs7gXzzGiu
	 I+EVtVstXCG2frzt+x8q984Jqz+8VTM9nZRd55NTYQzEeF6gJK8f2oIACd4InxlMZI
	 XHGCIt4fZaJdV/aecWxx6xtyqccC22PIX9sre+1s7A2bLicHMDt0YxcAtD9a5igsYP
	 sGxNWsJg+v/pwCfYfZTuF17+v7QtmHTYdfrlX4WFvfAzxShJIOYE1pYv/6F0XMJEIv
	 h8S8gin1b1fzmhToCvdZRhHuDhr5ueCLJTYwhsdtEEm2I0CleuvF+xog9ZORdEXe+o
	 7HQxa/vt0UBug==
Date: Tue, 21 Nov 2023 17:29:05 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 7/7] automation: switch to multi-platform images when
 possible
In-Reply-To: <20231121160358.8080-8-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311211728580.2053963@ubuntu-linux-20-04-desktop>
References: <20231121160358.8080-1-roger.pau@citrix.com> <20231121160358.8080-8-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-637223006-1700616547=:2053963"

  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-637223006-1700616547=:2053963
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 21 Nov 2023, Roger Pau Monne wrote:
> Instead of using specific architecture image, switch to using multi-arch ones
> and specify the desired architecture using the --platform option.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> I haven't touched the Yocto dockerfile because I'm not sure how it's used.
> ---
>  automation/build/alpine/3.18-arm64v8.dockerfile               | 2 +-
>  automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile | 2 +-
>  automation/build/debian/bookworm-arm64v8.dockerfile           | 2 +-
>  automation/build/debian/bookworm-cppcheck.dockerfile          | 4 ++--
>  automation/build/debian/bookworm-i386.dockerfile              | 2 +-
>  automation/build/debian/stretch-i386.dockerfile               | 2 +-
>  automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile     | 2 +-
>  automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile     | 2 +-
>  .../qemu-system-aarch64/6.0.0-arm64v8.dockerfile              | 2 +-
>  9 files changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/automation/build/alpine/3.18-arm64v8.dockerfile b/automation/build/alpine/3.18-arm64v8.dockerfile
> index 470f5d72a921..91e90220240f 100644
> --- a/automation/build/alpine/3.18-arm64v8.dockerfile
> +++ b/automation/build/alpine/3.18-arm64v8.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/alpine:3.18
> +FROM --platform=linux/arm64/v8 alpine:3.18
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
> index b3295c435ed5..a05ffeac04f9 100644
> --- a/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
> +++ b/automation/build/debian/bookworm-arm64v8-arm32-gcc.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/debian:bookworm
> +FROM --platform=linux/arm64/v8 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bookworm-arm64v8.dockerfile b/automation/build/debian/bookworm-arm64v8.dockerfile
> index 640b1e0eadf2..2c432aacb765 100644
> --- a/automation/build/debian/bookworm-arm64v8.dockerfile
> +++ b/automation/build/debian/bookworm-arm64v8.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/debian:bookworm
> +FROM --platform=linux/arm64/v8 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/bookworm-cppcheck.dockerfile b/automation/build/debian/bookworm-cppcheck.dockerfile
> index d64fb7b18c66..633268376d56 100644
> --- a/automation/build/debian/bookworm-cppcheck.dockerfile
> +++ b/automation/build/debian/bookworm-cppcheck.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/debian:bookworm AS builder
> +FROM --platform=linux/arm64/v8 debian:bookworm AS builder
>  
>  ENV DEBIAN_FRONTEND=noninteractive
>  ENV CPPCHECK_VERSION=2.7
> @@ -24,7 +24,7 @@ RUN curl -fsSLO https://github.com/danmar/cppcheck/archive/"$CPPCHECK_VERSION".t
>          FILESDIR=/usr/share/cppcheck \
>          HAVE_RULES=yes CXXFLAGS="-O2 -DNDEBUG -Wall -Wno-sign-compare -Wno-unused-function"
>  
> -FROM arm64v8/debian:bookworm
> +FROM --platform=linux/arm64/v8 debian:bookworm
>  COPY --from=builder /usr/bin/cppcheck /usr/bin/cppcheck
>  COPY --from=builder /usr/share/cppcheck /usr/share/cppcheck
>  
> diff --git a/automation/build/debian/bookworm-i386.dockerfile b/automation/build/debian/bookworm-i386.dockerfile
> index 559bf670f0f1..89a650338566 100644
> --- a/automation/build/debian/bookworm-i386.dockerfile
> +++ b/automation/build/debian/bookworm-i386.dockerfile
> @@ -1,4 +1,4 @@
> -FROM i386/debian:bookworm
> +FROM --platform=linux/i386 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/build/debian/stretch-i386.dockerfile b/automation/build/debian/stretch-i386.dockerfile
> index 9739651e25dd..da93fed8ea68 100644
> --- a/automation/build/debian/stretch-i386.dockerfile
> +++ b/automation/build/debian/stretch-i386.dockerfile
> @@ -1,4 +1,4 @@
> -FROM i386/debian:stretch
> +FROM --platform=linux/i386 debian:stretch
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile b/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile
> index cbd96d9bc6b0..94f69621f40e 100644
> --- a/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile
> +++ b/automation/tests-artifacts/alpine/3.18-arm64v8.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/alpine:3.18
> +FROM --platform=linux/arm64/v8 alpine:3.18
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
> index a53a97d7277e..b0875ca0ddd1 100644
> --- a/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
> +++ b/automation/tests-artifacts/kernel/5.19-arm64v8.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/debian:bookworm
> +FROM --platform=linux/arm64/v8 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> diff --git a/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile b/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile
> index e277e13b60b9..fb7b7b506e94 100644
> --- a/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile
> +++ b/automation/tests-artifacts/qemu-system-aarch64/6.0.0-arm64v8.dockerfile
> @@ -1,4 +1,4 @@
> -FROM arm64v8/debian:bookworm
> +FROM --platform=linux/arm64/v8 debian:bookworm
>  LABEL maintainer.name="The Xen Project" \
>        maintainer.email="xen-devel@lists.xenproject.org"
>  
> -- 
> 2.42.0
> 
--8323329-637223006-1700616547=:2053963--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:31:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638364.994872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5c5p-0002MN-PN; Wed, 22 Nov 2023 01:31:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638364.994872; Wed, 22 Nov 2023 01: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 1r5c5p-0002MG-Me; Wed, 22 Nov 2023 01:31:53 +0000
Received: by outflank-mailman (input) for mailman id 638364;
 Wed, 22 Nov 2023 01:31: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=d996=HD=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r5c5o-0002M8-O1
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:31:52 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2082.outbound.protection.outlook.com [40.107.13.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e975e169-88d6-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 02:31:51 +0100 (CET)
Received: from AS8PR04CA0044.eurprd04.prod.outlook.com (2603:10a6:20b:312::19)
 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.7025.18; Wed, 22 Nov
 2023 01:31:20 +0000
Received: from AMS1EPF00000044.eurprd04.prod.outlook.com
 (2603:10a6:20b:312:cafe::ff) by AS8PR04CA0044.outlook.office365.com
 (2603:10a6:20b:312::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Wed, 22 Nov 2023 01:31:20 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000044.mail.protection.outlook.com (10.167.16.41) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.14 via Frontend Transport; Wed, 22 Nov 2023 01:31:20 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Wed, 22 Nov 2023 01:31:19 +0000
Received: from 14fdb663e4fc.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 EF92CC20-59DC-46A1-8E3C-CA9A9B04375F.1; 
 Wed, 22 Nov 2023 01:31:12 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 14fdb663e4fc.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Nov 2023 01:31:12 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS2PR08MB8382.eurprd08.prod.outlook.com (2603:10a6:20b:559::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 01:31:10 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7002.027; Wed, 22 Nov 2023
 01:31: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: e975e169-88d6-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=aScLD5cn87gxnrzKp0i3olQ7umL4tjmB+FeE0iXcu8PYQ21U378boHLPlz5oRYAgy/J07JcpW6loJYSJ6285SDvkmnOD/aI7kA8YfP3056Y2C7+12MiWcgLuHPvi5TRmEzvabqOGhKYCrNO1qm5I8HEPvyKebU6UEPyujktE62Hzwd5ipkDUlPjHaLpk6eRJqal7AMJ2lgKd0iUxwlEVTapndYaQdQLzS4Wk8+p855OLhgA7YUN8Wxtlm5zP/gSPkHS+flZQJ0gjjyXJGjevNUXwlsZMQD+4bTDWT0OLjMpPmfiApmP36ZCGxGv4QtNzxwA68Bpp5mF8rTxNfescVA==
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=2NeEvXvgiFb9cKJ0ps5RkrwdrOx4jX3PP5/CeFgbPlk=;
 b=XInnceH64J6tC9pmAR2BiuRcMxIV6fQMtLMrzOH1LHZQix8mREIg8VFVCDiToryuO55LV9oiYHqL705YnVqmTwDwsKyaqrr04xuW646i3XrgskRlJDAeGxxmeBi02L+yZqFcSVMw99LPiwCEKquEMqB6wMGBdYvKqb2MEm0CuBi3TQ3eBGWxenr55vcdDc0lZzxL2Ktav7ca/Q2oiqxcw00AkysV9Oli6g4ZGI1Ytcb6+1S0zBk4xNgyORkcowYTwlemQ3fWa1a7caikUUNH6kL8DnaxAZhlPXGmXVvSXsCDPZVUrlWUf4WGn9cE5OdOhRXE4qN+yjbiaKppRpbYlg==
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=2NeEvXvgiFb9cKJ0ps5RkrwdrOx4jX3PP5/CeFgbPlk=;
 b=PHN1+Hi733GZQDrqHqeOpbPDpBQfj9hdt083eEIc/2VQDNsNmaylDvO4ccmrZ2dvK2Jr+ZcLC05DU1sKir6A7V9Mp/UcAF8sgjwoxEhfIYgFbUt3fqmlLCgcDU0jO1nemwm1EQErA6XBgjDxZbi/B1En22eidV74yQ1ODt7yxn4=
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: 88de4e1721a526b6
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SDGxxGfedS+1UD8cB0sewkK8iLQyIqSBrQYYfav8m675mbXhXQovDNw/jnrGmy16p+1/htaqvjXiTO1ZrgOVYFLrAu3Qtsskbx5bcV6Kb82onZ/ocCKlCHk5E96F82PTxBcMq1EK6k6OkiIR31AK7i0weTqsAQyBDfBsLUjpjtasp4pD5KjBWxEY7r12N+4kV8b0MM7k1iGvciWlyEF9X6T6h9Z34RsGX/yszBj9ldPXBABbxFRTT5rUjFoC4bdDTPz2zyqcq5nZ5ZD1E3bjzf/oQnaczCMMPCWRxmQymn09ykxM37AyRXDoibAUyXk21kS88eqOGjfs5NRiDgSMNA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2NeEvXvgiFb9cKJ0ps5RkrwdrOx4jX3PP5/CeFgbPlk=;
 b=brHMw+HSHCExCw/shg77zFUr8pjKygFpuYkhGe3ulb4YLnvVSnJsXRidd8kScFyAHKGke3vrlXMs83PLLkx24R4l5MSxOwHN0cdtcnah93Cqh0KIob7a24/fM+KvyIBD6obwN71wfgyWDd+Iad/43aGJzFSTdb6gUoRadM6zibTy00h4qGVYaPKsp/8cyqgBFjRPk6qKcmU8XcLgtpB0JY4hBePvwMWtuCbgTOBHItiTPYU1IC5SJF9AHdRtgsAzlMNALnMMGe8DR5f621zUGf2a5k4tNEW6K3+PL8/xX5RoWZxgKl7wfoeeskYM7rKi8irC/IM33W+9GvCmqzEnXA==
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=2NeEvXvgiFb9cKJ0ps5RkrwdrOx4jX3PP5/CeFgbPlk=;
 b=PHN1+Hi733GZQDrqHqeOpbPDpBQfj9hdt083eEIc/2VQDNsNmaylDvO4ccmrZ2dvK2Jr+ZcLC05DU1sKir6A7V9Mp/UcAF8sgjwoxEhfIYgFbUt3fqmlLCgcDU0jO1nemwm1EQErA6XBgjDxZbi/B1En22eidV74yQ1ODt7yxn4=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Luca Fancellu
	<Luca.Fancellu@arm.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Topic: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Index: AQHaHLke0d1pJZFGt0mE36h4hBLGpbCFOo4AgAACQQCAAFDVAA==
Date: Wed, 22 Nov 2023 01:31:10 +0000
Message-ID: <FEF56E45-6A0E-4B04-A7E1-CC753A9ED7BF@arm.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
 <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
 <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
In-Reply-To: <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS2PR08MB8382:EE_|AMS1EPF00000044:EE_|AS8PR08MB6278:EE_
X-MS-Office365-Filtering-Correlation-Id: 853a3e78-f84b-465e-ae45-08dbeafabb31
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:
 X/8QTOnqHgsmv/z30e5hHOONxEGb8oU7HMytieLotHQIh/muW/nrvmVgjL3YMveJop59qF4xeWgAEx8UTcWaKMsbZqtpYsbTA1XQ6ZpqwNRJPhg4S1LmzVMwSHk24d541PfbCM49/EfMBCCmI0YI9daKhehDBQOkopHWvN3VB2vTvKnGUzzUVnf37+jSXKHUXlnmoSMH/iwYDkY4VFufuPhDAL/UoQN4rzkIBVDFEMKqhfr2UAGM3tvEbm+JwnYJShjq6gN3hQ0a29W6NVJpP9YW+SEsqmXR7moFo4YRfbm9L4uip7a1ZqL/IFEd/jAFHMgevbeCrWAWoS0rgYv0J+e1PyfhGDNr3M2NesW9WwSWeHM+prQ+UnwRBN2k6Hy74iGbHuWLenoUKk150aUEFVchRWXeXnA5b/GaYF+/1IwMpeHqpE6u5hFH7lmVRUDI4AUJ7fzl2C2u+e4DyyqScDVD2H5oVrk5V5WtZ9r8eUTO1D+b3v7LPaF1A79SzVu3BROTiwC0ct5xaYWmLQ2zuoRwH35/gYvNEcs+vES6V7drA3akURxH1qtVv6d7vQ2K7SEiZb7PFa38TgosYhiH92Hm3vfvc3twcKem+iCH1qLx8JOsLKKlJykDtS21k8C1amgxJi1yFRyVJBVk98wGUA==
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:(13230031)(366004)(39860400002)(346002)(376002)(136003)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(38070700009)(36756003)(86362001)(33656002)(6512007)(2616005)(6506007)(4326008)(8936002)(8676002)(83380400001)(53546011)(26005)(5660300002)(7416002)(2906002)(91956017)(110136005)(66946007)(76116006)(6636002)(316002)(54906003)(66446008)(66476007)(66556008)(64756008)(71200400001)(478600001)(6486002)(38100700002)(122000001)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <A0EC494C3754074CB547DF47872ED096@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB8382
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:
 AMS1EPF00000044.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	c651bb7e-bb11-4194-07c4-08dbeafab520
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sRgZ5kw5Giovr2KNe7nyQMgyA0+DmTGOjR6wwn6Cw565yzVIinLFVckoJTGGY308xVxkBiAaTDETwa81pXIPTJRnACQVgwEk7N8T1B9fhnh43akFt/WWgoZ4fccIYXGAkGL5RFLckoGnvOmb0iT9A9Le1gjatHUyG+qgHsTmhXs0adbzGMMNlU6aMDWqqxFgz764RK9i/YtF1qsrRufhs0j567EgjqFMiKDZ9+MXVyGd1My7EJMPjJXPPH4y2jwQiUwn/iHKQCfErAawIvuV+m2r5A5gs2fT8JnXMhi5EDtIMFlHMimyonCR4OTBZS6S1uH4TL0xnnGtRJ80qPG8lBbaBV6d64xyuur8xQKPgKR3cUHfX2ze1A7DwztqxPVxnIB5Jxrt3cZmAoelN4Vheghwq9CoxEo1eddkv6DrrHKWVlPje/pK8hzEZe5suIWVxPAOb2MSobqBhWbvIBL5TkkGMkXupr1MZLMWSJBMIWh84KG4uFoxKSCritjw8ci4n5WWebD/lZ6v0XmOMNMDibAFbOhPzqaQjyV23rEosk4F8O5cYBquBNO99lE9VDyO1J77V913nnPujBTvq6YpoXyNKoqOmOrEVwur7Py36llct4G999rlp6fL5+NDU9lGOOYb7DPZ3wO9G16CiW1JIpyOF8A7Aiox/2m0RzEDMTVPBRnBq3255NOnDyzt7hAERJ7BhXHbDACtSmCmtV28f5ZLCoLIUv4/RSYhIamicSu2YLOR7WZEq7gcFzBjbsDx
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:(13230031)(4636009)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(64100799003)(82310400011)(1800799012)(451199024)(186009)(36840700001)(40470700004)(46966006)(5660300002)(2906002)(40460700003)(6486002)(478600001)(4326008)(8676002)(8936002)(54906003)(70206006)(6636002)(70586007)(316002)(110136005)(86362001)(356005)(41300700001)(81166007)(83380400001)(33656002)(40480700001)(36860700001)(47076005)(26005)(82740400003)(336012)(36756003)(2616005)(53546011)(6506007)(6512007)(107886003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 01:31:20.5594
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 853a3e78-f84b-465e-ae45-08dbeafabb31
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:
	AMS1EPF00000044.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6278

SGkgQm90aCwNCg0KPiBPbiBOb3YgMjIsIDIwMjMsIGF0IDA0OjQxLCBBbmRyZXcgQ29vcGVyIDxh
bmRyZXcuY29vcGVyM0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IE9uIDIxLzExLzIwMjMgODoz
MyBwbSwgTHVjYSBGYW5jZWxsdSB3cm90ZToNCj4+ICsgQ0MgaGVucnkNCj4+IA0KPj4+IE9uIDIx
IE5vdiAyMDIzLCBhdCAyMDoxNSwgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4
LmNvbT4gd3JvdGU6DQo+Pj4gDQo+Pj4gLVd3cml0ZS1zdHJpbmdzIGlzIHVuaGFwcHkgd2l0aCBh
c3NpZ25pbmcgInhlbiIgdG8gYSBtdXRhYmxlIHBvaW50ZXIsIGJ1dCB0aGlzDQo+Pj4gbG9naWMg
bG9va3MgaW5jb3JyZWN0LiAgSXQgd2FzIGluaGVyaXRlZCBmcm9tIHRoZSB4ODYgc2lkZSwgd2hl
cmUgdGhlIGxvZ2ljDQo+Pj4gd2FzIHJlZHVuZGFudCBhbmQgaGFzIG5vdyBiZWVuIHJlbW92ZWQu
DQo+Pj4gDQo+Pj4gSW4gdGhlIEFSTSBjYXNlIGl0IGluc2VydHMgdGhlIGltYWdlIG5hbWUgaW50
byAieGVuLHhlbi1ib290YXJncyIgYW5kIHRoZXJlIGlzDQo+Pj4gbm8gbG9naWMgYXQgYWxsIHRv
IHN0cmlwIHRoaXMgYmVmb3JlIHBhcnNpbmcgaXQgYXMgdGhlIGNvbW1hbmQgbGluZS4NCj4+PiAN
Cj4+PiBUaGUgYWJzZW5jZSBvZiBhbnkgbG9naWMgdG8gc3RyaXAgYW4gaW1hZ2UgbmFtZSBzdWdn
ZXN0cyB0aGF0IGl0IHNob3VsZG4ndA0KPj4+IGV4aXN0IHRoZXJlLCBvciBoYXZpbmcgYSBYZW4g
aW1hZ2UgbmFtZWQgZS5nLiAiaG1wLXVuc2FmZSIgaW4gdGhlIGZpbGVzeXN0ZW0NCj4+PiBpcyBn
b2luZyB0byBsZWFkIHRvIHNvbWUgdW5leHBlY3RlZCBiZWhhdmlvdXIgb24gYm9vdC4NCj4+PiAN
Cj4+PiBObyBmdW5jdGlvbmFsIGNoYW5nZS4NCj4+PiANCj4+PiBTaWduZWQtb2ZmLWJ5OiBBbmRy
ZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPj4+IC0tLQ0KPj4+IENDOiBK
YW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+DQo+Pj4gQ0M6IFJvZ2VyIFBhdSBNb25uw6kg
PHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPj4+IENDOiBXZWkgTGl1IDx3bEB4ZW4ub3JnPg0KPj4+
IENDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+Pj4gQ0M6
IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+Pj4gQ0M6IFZvbG9keW15ciBCYWJjaHVr
IDxWb2xvZHlteXJfQmFiY2h1a0BlcGFtLmNvbT4NCj4+PiBDQzogQmVydHJhbmQgTWFycXVpcyA8
YmVydHJhbmQubWFycXVpc0Bhcm0uY29tPg0KPj4+IENDOiBSb2JlcnRvIEJhZ25hcmEgPHJvYmVy
dG8uYmFnbmFyYUBidWdzZW5nLmNvbT4NCj4+PiBDQzogTmljb2xhIFZldHJpbmkgPG5pY29sYS52
ZXRyaW5pQGJ1Z3NlbmcuY29tPg0KPj4+IA0KPj4+IHYyOg0KPj4+ICogTmV3Lg0KPj4+IA0KPj4+
IEknbSBhZnJhaWQgdGhhdCBhbGwgb2YgdGhpcyByZWFzb25pbmcgaXMgYmFzZWQgb24gcmVhZGlu
ZyB0aGUgc291cmNlIGNvZGUuICBJDQo+Pj4gZG9uJ3QgaGF2ZSBhbnkgd2F5IHRvIHRyeSB0aGlz
IG91dCBpbiBhIHJlYWwgQVJNIFVFRkkgZW52aXJvbm1lbnQuDQo+PiBJIHdpbGwgdGVzdCB0aGlz
IG9uZSB0b21vcnJvdyBvbiBhbiBhcm0gYm9hcmQNCj4gDQo+IFRoYW5rcy4gIEkgaGF2ZSBhIHNu
ZWFraW5nIHN1c3BpY2lvbiB0aGF0Og0KPiANCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9z
ZXR1cC5jIGIveGVuL2FyY2gvYXJtL3NldHVwLmMNCj4gaW5kZXggOWI5MDE4NTc0OTE5Li44YmNh
NWI5YTE1MjMgMTAwNjQ0DQo+IC0tLSBhL3hlbi9hcmNoL2FybS9zZXR1cC5jDQo+ICsrKyBiL3hl
bi9hcmNoL2FybS9zZXR1cC5jDQo+IEBAIC00Niw2ICs0NiwxMiBAQA0KPiAgI2luY2x1ZGUgPHhz
bS94c20uaD4NCj4gICNpbmNsdWRlIDxhc20vYWNwaS5oPg0KPiAgDQo+ICtzdGF0aWMgaW50IF9f
aW5pdCBwYXJzZV91Y29kZShjb25zdCBjaGFyICpzKQ0KPiArew0KPiArICAgIHBhbmljKCJYZW4g
aW1hZ2UgbmFtZSBpbnRlcnByZXRlZCBhcyBhIGNtZGxpbmUgcGFyYW1ldGVyXG4iKTsNCj4gK30N
Cj4gK2N1c3RvbV9wYXJhbSgieGVuLmVmaSIsIHBhcnNlX3hlbik7DQo+ICsNCj4gIHN0cnVjdCBi
b290aW5mbyBfX2luaXRkYXRhIGJvb3RpbmZvOw0KPiAgDQo+ICAvKg0KPiANCj4gd2lsbCB0cmln
Z2VyLg0KDQpJIHNhdyBJIGFtIENDZWQgZm9yIHRoaXMgcGF0Y2gsIHNvIEkgdGhpbmsgSSBhbSBu
b3cgZ29pbmcgdG8gdGhyb3cgdGhpcyBzZXJpZXMNCnRvIG91ciBDSSBhbmQgc2VlIGlmIGl0IGV4
cGxvZGVzLiBEbyB5b3Ugd2FudCBtZSB0byBhbHNvIGluY2x1ZGUgYWJvdmUgaHVuaz8NCg0KS2lu
ZCByZWdhcmRzLA0KSGVucnkNCg0KDQo+IA0KPiB+QW5kcmV3DQoNCg==


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:35:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:35:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638369.994882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5c90-0002wJ-8D; Wed, 22 Nov 2023 01:35:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638369.994882; Wed, 22 Nov 2023 01: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 1r5c90-0002wC-5Y; Wed, 22 Nov 2023 01:35:10 +0000
Received: by outflank-mailman (input) for mailman id 638369;
 Wed, 22 Nov 2023 01:35: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5c8z-0002w6-EW
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:35:09 +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 5dcf15ae-88d7-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 02:35:07 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 85253B823DD;
 Wed, 22 Nov 2023 01:35:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EC423C433C7;
 Wed, 22 Nov 2023 01:35: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: 5dcf15ae-88d7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700616905;
	bh=iEhdKoweXCyufyWBnbSMoo8FLTaYNDAG+98bk1bDOAE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Mb33ajDd0tHJaMJ66bzj7sFaSyx8qrLhjQTmwj0T4tst8RglLX09xCfzkpF9DRDUs
	 3H1DEXpQ9SbtOKIpmAWu09k6DkQHRSP6/QI0LvZtolIRjJMmznxB3kScW8I5OLuoTj
	 TbaxGCrlDxxaTWPiZYfdun4Ur3W7goXxRNUJbGqzVeaHI5tSUAD8Ix7MJL13a8YVSY
	 Zeu/3WxmaKJXOl218JCGOgehQoyzkh/tbGKQ7aebsbHw5OO0Qgkj1b4qR8eDFa/Ird
	 9pEQ+E5PWxtSelwG/i/+pOLw4nCjdwsudj8tZL5suVlAIeLz08xLf2CEDwUY3ekseL
	 ZRMFDqFc0Ky7Q==
Date: Tue, 21 Nov 2023 17:35:03 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Simone Ballarin <simone.ballarin@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH] automation/eclair: improve scheduled analyses
In-Reply-To: <54204ba682f4a5dc6fb8202b593d9562caff6d06.1700486902.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311211733330.2053963@ubuntu-linux-20-04-desktop>
References: <54204ba682f4a5dc6fb8202b593d9562caff6d06.1700486902.git.simone.ballarin@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 20 Nov 2023, Simone Ballarin wrote:
> The scheduled analyses are intended to maintain an overall vision
> of the MISRA complaince of the entire project. For this reason,
> the file exclusions in "out_of_scope.ecl" should not be applied.
> 
> This patch amends ECLAIR settings to prevent exempting files for
> scheduled analyses and prevents scheduled pipelines from triggering
> non-analysis jobs.

The last sentence...


> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> ---
>  .../eclair_analysis/ECLAIR/action.settings     |  2 +-
>  automation/eclair_analysis/ECLAIR/analysis.ecl | 12 ++++++++++--
>  automation/gitlab-ci/analyze.yaml              |  2 ++
>  automation/gitlab-ci/build.yaml                |  4 ++++
>  automation/gitlab-ci/test.yaml                 | 18 ++++++++++++------
>  5 files changed, 29 insertions(+), 9 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
> index f96368ffc7..3cba1a3afb 100644
> --- a/automation/eclair_analysis/ECLAIR/action.settings
> +++ b/automation/eclair_analysis/ECLAIR/action.settings
> @@ -134,7 +134,7 @@ push)
>      badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
>      ;;
>  auto_pull_request)
> -    git remote remove autoPRRemote || true
> +    git remote remove autoPRRemote 2>/dev/null || true
>      git remote add autoPRRemote "${autoPRRemoteUrl}"
>      git fetch -q autoPRRemote
>      subDir="${ref}"
> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
> index fe418d6da1..2507a8e787 100644
> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl
> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
> @@ -2,7 +2,13 @@
>  -project_name=getenv("ECLAIR_PROJECT_NAME")
>  -project_root=getenv("ECLAIR_PROJECT_ROOT")
>  
> --setq=data_dir,getenv("ECLAIR_DATA_DIR")
> +setq(data_dir,getenv("ECLAIR_DATA_DIR"))
> +setq(analysis_kind,getenv("ANALYSIS_KIND"))
> +setq(scheduled_analysis,nil)
> +
> +strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t))
> +strings_map("scheduled-analysis",500,"","^.*$",0)
> +map_strings("scheduled-analysis",analysis_kind)
>  
>  -verbose
>  
> @@ -15,7 +21,9 @@
>  
>  -eval_file=toolchain.ecl
>  -eval_file=public_APIs.ecl
> --eval_file=out_of_scope.ecl
> +if(scheduled_analysis,
> +    eval_file("out_of_scope.ecl")
> +)
>  -eval_file=deviations.ecl
>  -eval_file=call_properties.ecl
>  -eval_file=tagging.ecl
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index bd9a68de31..6631db53fa 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -28,6 +28,8 @@
>    extends: .eclair-analysis
>    allow_failure: true
>    rules:
> +    - if: $CI_PIPELINE_SOURCE == "schedule"
> +      when: never
>      - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>        when: manual
>      - !reference [.eclair-analysis, rules]
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 32af30cced..6b2ac97248 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -1,6 +1,10 @@
>  .build-tmpl: &build
>    stage: build
>    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> +  rules:
> +    - if: $CI_PIPELINE_SOURCE == "schedule"
> +      when: never
> +    - when: always

...does it mean that we are going to stop all the build jobs...


>    script:
>      - ./automation/scripts/build 2>&1 | tee build.log
>    artifacts:
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 61e642cce0..47fc8cb3eb 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -1,6 +1,10 @@
>  .test-jobs-common:
>    stage: test
>    image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> +  rules:
> +    - if: $CI_PIPELINE_SOURCE == "schedule"
> +      when: never
> +    - when: always

...and also stop all the test jobs?

So basically the only thing left is .eclair-analysis:on-schedule ?


>  .arm64-test-needs: &arm64-test-needs
>    - alpine-3.18-arm64-rootfs-export
> @@ -90,9 +94,10 @@
>        - '*.log'
>        - '*.dtb'
>      when: always
> -  only:
> -    variables:
> -      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> +  rules:
> +    - if: $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> +      when: always
> +    - !reference [.test-jobs-common, rules]
>    tags:
>      - xilinx
>  
> @@ -110,9 +115,10 @@
>        - smoke.serial
>        - '*.log'
>      when: always
> -  only:
> -    variables:
> -      - $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> +  rules:
> +    - if: $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
> +      when: always
> +    - !reference [.test-jobs-common, rules]
>    tags:
>      - qubes-hw2
>  
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:44:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:44:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638372.994893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5cHf-0005qj-3L; Wed, 22 Nov 2023 01:44:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638372.994893; Wed, 22 Nov 2023 01:44: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 1r5cHf-0005qc-0D; Wed, 22 Nov 2023 01:44:07 +0000
Received: by outflank-mailman (input) for mailman id 638372;
 Wed, 22 Nov 2023 01:44: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5cHd-0005qW-C9
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:44:05 +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 9d18d9e3-88d8-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 02:44:03 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id DBE6C61BBA;
 Wed, 22 Nov 2023 01:44:01 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 06F35C433C8;
 Wed, 22 Nov 2023 01:43:59 +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: 9d18d9e3-88d8-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700617441;
	bh=5fOu1pZgD1y7xjBKjw+sBy32vzhbQLL7EI7BWLuNOD0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Pg/6ay/mDdklsCF/ewMMOncYOluy+deeiTIvI1W0rBPBYLZrz5+xc3yt5Fe7QZ8ZC
	 RA9gz805+kNSQ8YZQL6W09We5E8yV+tUgtxHjb+blL5u++iuH6nBWFquK6LJerHpnu
	 S07bdJPbi1e384SjiGDcnTNuhhiLu2U3EYcVnstEovvmMjWC7rw9AmtbAgc2GM/0yg
	 d8wTMKJVKSFoCXo4TXHz6DdiVWOCALPnFiE0DAqutGQnqsvq69YQ5gGuwYrcXnGxyQ
	 8IbZwfQOtFql6oDFNFllMJzFJlme57AwSsSbZ5B71An+PrRxCjYlfjVK6WgPDfuWLG
	 zfiYB3e1FQzmQ==
Date: Tue, 21 Nov 2023 17:43:58 -0800 (PST)
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>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Xen Devel <xen-devel@lists.xenproject.org>, 
    Consulting <consulting@bugseng.com>, Jbeulich <jbeulich@suse.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Roger Pau <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: Re: Devise macros to encapsulate (x & -x)
In-Reply-To: <da1d557a-6030-4dd8-a875-af733572fc48@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311211742400.2053963@ubuntu-linux-20-04-desktop>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com> <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com> <alpine.DEB.2.22.394.2311171845440.773207@ubuntu-linux-20-04-desktop> <da1d557a-6030-4dd8-a875-af733572fc48@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1797147024-1700617401=:2053963"
Content-ID: <alpine.DEB.2.22.394.2311211743320.2053963@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-1797147024-1700617401=:2053963
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311211743321.2053963@ubuntu-linux-20-04-desktop>

On Mon, 20 Nov 2023, Julien Grall wrote:
> On 18/11/2023 02:46, Stefano Stabellini wrote:
> > On Fri, 17 Nov 2023, Andrew Cooper wrote:
> > > On 17/11/2023 10:17 am, Nicola Vetrini wrote:
> > > > Hi all,
> > > > 
> > > > As discussed in this thread [1], which is about complying with MISRA C
> > > > Rule 10.1,
> > > > a macro was introduced to encapsulate a well-known construct:
> > > > 
> > > > /*
> > > >   * Given an unsigned integer argument, expands to a mask where just
> > > > the least
> > > >   * significant nonzero bit of the argument is set, or 0 if no bits are
> > > > set.
> > > >   */
> > > > #define ISOLATE_LSB(x) ((x) & -(x))
> > > > 
> > > > This macro has a gained some calls in the subsequent patches in that
> > > > thread, but concerns were raised around the fact that it would be
> > > > better to devise a macro that evaluates its argument only once. A
> > > > proposed solution is this (thanks to Jan Beulich):
> > > > 
> > > > #define ISOLATE_LSB(x) ({ \
> > > >       typeof(x) x_ = (x); \
> > > >       x_ & -x_; \
> > > > })
> > > 
> > > Of course this was going to explode.
> > > 
> > > This isn't even the first time an unwise attempt to do single-evaluation
> > > has needed to be reverted because it doesn't work with Integer Constant
> > > Expressions.
> > > 
> > > Switch it back to the first form.  It's obviously a macro to begin with,
> > > and not likely to be used in cases that have side effects.
> > 
> > +1
> 
> FWIW +1. I don't much like the idea to have two different versions of the
> helper if there is no real need for it.

Jan, would you be willing to accept that other maintainers have a
preference for having a single MACRO even if suboptimal?

If so, can we go ahead and commit the original patches?
--8323329-1797147024-1700617401=:2053963--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 01:52:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 01:52:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638375.994902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5cPe-0000Qj-SP; Wed, 22 Nov 2023 01:52:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638375.994902; Wed, 22 Nov 2023 01:52: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 1r5cPe-0000Qc-Pd; Wed, 22 Nov 2023 01:52:22 +0000
Received: by outflank-mailman (input) for mailman id 638375;
 Wed, 22 Nov 2023 01:52: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5cPd-0000QW-KD
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 01:52:21 +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 c58230a7-88d9-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 02:52:20 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 0657C61BCE;
 Wed, 22 Nov 2023 01:52:19 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D9540C433C8;
 Wed, 22 Nov 2023 01:52: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: c58230a7-88d9-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700617938;
	bh=YIb2PJeHkp6aweW4KT3j/3v3Ht0T9weeGLRThzbFXDQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=k0f9IuK/KQsItk2W2gU0x7w+FtWXbVMnbAIatVVUB7nmo24il0yubXBdUuXnxCxNn
	 MawegR5NCzXC690FzZyfnv1h24LQWm8EvRJ8bOVuEtl1AH1erRkPGitjKjY5fKuQs3
	 FeyBKZaSOEZk9cFxagvuLuDVk+bUQghPY6rX120uVCW1E8mB+BuNe7qw0MS2LgJGn9
	 ODOzh+h/q/rGSUwWAFBlOfh3qKIgjvaUuzuss+hAYj9VFIGcVIYpdgb/zFk/AUe3N/
	 WOX5rVXDZZLuNFc5IrydSUbAll0KUdxzdUfok/QejJCoctVbnmQz+LX+5J1qRJG5cl
	 B1mdtYmFGyVIg==
Date: Tue, 21 Nov 2023 17:52:14 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jan Beulich <jbeulich@suse.com>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>, Jun Nakajima <jun.nakajima@intel.com>, 
    Kevin Tian <kevin.tian@intel.com>, Tamas K Lengyel <tamas@tklengyel.com>, 
    Alexandru Isaila <aisaila@bitdefender.com>, 
    Petre Pircalabu <ppircalabu@bitdefender.com>, 
    xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH][for-4.19 v6 0/8] Fix or deviate various instances
 of missing declarations
In-Reply-To: <ec649a67-63c9-4275-a228-c14dea558eb0@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311211751530.2053963@ubuntu-linux-20-04-desktop>
References: <cover.1698829473.git.nicola.vetrini@bugseng.com> <ec649a67-63c9-4275-a228-c14dea558eb0@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, 21 Nov 2023, Jan Beulich wrote:
> On 01.11.2023 10:30, Nicola Vetrini wrote:
> > The patches in this series aim to fix or deviate various instances where a
> > function or variable do not have a declaration visible when such entity is
> > defined (in violation of MISRA C:2012 Rule 8.4).
> > An exception listed under docs/misra/rules.rst allows asm-only functions and
> > variables to be exempted, while the other instances are either changed
> > (e.g., making them static) or a missing header inclusion is added.
> > 
> > Nicola Vetrini (8):
> >   xen: modify or add declarations for variables where needed
> >   x86: add deviation for asm-only functions
> >   x86: add asmlinkage macro to variables only used in asm code
> >   x86/grant: switch included header to make declarations visible
> >   x86/vm_event: add missing include for hvm_vm_event_do_resume
> >   xen/console: remove stub definition in consoled.h
> >   x86/mem_access: make function static
> >   docs/misra: exclude three more files
> 
> While I committed most of the patches from this series, the situation with
> patch 2 has become sufficiently unclear to me, such that I refrained from
> committing that and the dependent patch 3.
> 
> Stefano, assuming you know what exact massaging it wants done while
> committing, please can I leave that to you?

Done


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 02:45:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 02:45:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638384.994912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5dFF-0004ch-V6; Wed, 22 Nov 2023 02:45:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638384.994912; Wed, 22 Nov 2023 02: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 1r5dFF-0004ca-SL; Wed, 22 Nov 2023 02:45:41 +0000
Received: by outflank-mailman (input) for mailman id 638384;
 Wed, 22 Nov 2023 02:45: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 1r5dFF-0004cQ-HY; Wed, 22 Nov 2023 02:45: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 1r5dFF-0000sL-Cw; Wed, 22 Nov 2023 02:45: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 1r5dFE-00084d-Rv; Wed, 22 Nov 2023 02:45:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5dFE-0001Te-QV; Wed, 22 Nov 2023 02:45: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=qC3gPb6xdLTk502vSBFQ5i79gNJ7GKuRa5UTjs0HoGQ=; b=2EZhyKAc9y3BlwCLuBWzRmEKqp
	zcZ2rGg2Yr/AZcz6ZVItMMbBvC9nBzzYrTam1dWfNOdJCWQnp/6q3s+5deLmCrW5tsJVKXPg8mhb8
	WZMJ4oQ5n2nuFIQv/10jmxuM1SPa5smJiKnCGkFXCSQ+wcVIoXqrpK1sSibFGZx5kGXw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183812-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183812: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=98b1cc82c4affc16f5598d4fa14b1858671b2263
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Nov 2023 02:45:40 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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
 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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                98b1cc82c4affc16f5598d4fa14b1858671b2263
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    6 days
Failing since        183773  2023-11-16 13:12:48 Z    5 days   13 attempts
Testing same since   183796  2023-11-20 02:25:43 Z    2 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Gal Pressman <gal@nvidia.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Simon Glass <sjg@chromium.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 8175 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 03:07:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 03:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638397.994922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5daF-0001T3-Ms; Wed, 22 Nov 2023 03:07:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638397.994922; Wed, 22 Nov 2023 03:07: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 1r5daF-0001Sw-Jz; Wed, 22 Nov 2023 03:07:23 +0000
Received: by outflank-mailman (input) for mailman id 638397;
 Wed, 22 Nov 2023 03:07: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5daE-0001Sq-4x
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 03:07:22 +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 3e68c95c-88e4-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 04:07:17 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 23286B80FE1;
 Wed, 22 Nov 2023 03:07:17 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 72C25C433C7;
 Wed, 22 Nov 2023 03:07: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: 3e68c95c-88e4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700622436;
	bh=SgzZgSgQ3QYJT82sPJhnHOwxYNLpM41BnfzrqCGDSw8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=QKpzd/RENQUaCw0HwqAjX2uiZXBGGr1ovax6dvNvlFBYN91TJoEb0dDpOuYwu1X1n
	 seMLG73rRXVwbVBC/fgl4jAvoqgQDf62PqyNBF/Lq1JIWqcrsEJSEDW17gDBZikWoe
	 oSATku+UjaDLdI+XAGcJniP7dzwEoF49uV6MGFy4h5+Z2jy1VYlXkzoIwhCSLAiRr6
	 uhBFpdHNBczvs1gjNT7baZL/kH+i+B27vjZ3trrJ4nqFeW4+m2Ui3Q7ZaBXvaHR7VV
	 uq6rKuBZxNyXNVMgcih8vQFlhfgPpVxAEGRNrYmhTMc/5VCmeduSjOwtSS8zzqBVYu
	 T1xqM2FuayXEA==
Date: Tue, 21 Nov 2023 19:07:13 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Juergen Gross <jgross@suse.com>, 
    osstest service owner <osstest-admin@xenproject.org>, 
    xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, oleksandr_tyshchenko@epam.com
Subject: Re: [linux-linus test] 183794: regressions - FAIL
In-Reply-To: <alpine.DEB.2.22.394.2311201631140.773207@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2311211823110.2053963@ubuntu-linux-20-04-desktop>
References: <osstest-183794-mainreport@xen.org> <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com> <alpine.DEB.2.22.394.2311201631140.773207@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-941497147-1700620947=:2053963"
Content-ID: <alpine.DEB.2.22.394.2311211845100.2053963@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-941497147-1700620947=:2053963
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311211845101.2053963@ubuntu-linux-20-04-desktop>

On Mon, 20 Nov 2023, Stefano Stabellini wrote:
> On Mon, 20 Nov 2023, Juergen Gross wrote:
> > On 20.11.23 03:21, osstest service owner wrote:
> > > flight 183794 linux-linus real [real]
> > > http://logs.test-lab.xenproject.org/osstest/logs/183794/
> > > 
> > > Regressions :-(
> > > 
> > > Tests which did not succeed and are blocking,
> > > including tests which could not be run:
> > >   test-arm64-arm64-examine      8 reboot                   fail REGR. vs.
> > > 183766
> > 
> > I'm seeing the following in the serial log:
> > 
> > Nov 20 00:25:41.586712 [    0.567318] kernel BUG at
> > arch/arm64/xen/../../arm/xen/enlighten.c:164!
> > Nov 20 00:25:41.598711 [    0.574002] Internal error: Oops - BUG:
> > 00000000f2000800 [#1] PREEMPT SMP
> > 
> > The related source code lines in the kernel are:
> > 
> > ········err = HYPERVISOR_vcpu_op(VCPUOP_register_vcpu_info, xen_vcpu_nr(cpu),
> > ································ &info);
> > ········BUG_ON(err);
> > 
> > I suspect commit 20f3b8eafe0ba to be the culprit.
> > 
> > Stefano, could you please have a look?

The good news and bad news is that I cannot repro this neither with nor
without CONFIG_UNMAP_KERNEL_AT_EL0. I looked at commit 20f3b8eafe0ba but
I cannot see anything wrong with it. Looking at the register dump, from:

x0 : fffffffffffffffa

I am guessing the error was -ENXIO which is returned from map_guest_area
in Xen.

Could it be that the struct is crossing a page boundary? Or that it is
not 64-bit aligned? Do we need to do something like the following?

diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
index 9afdc4c4a5dc..5326070c5dc0 100644
--- a/arch/arm/xen/enlighten.c
+++ b/arch/arm/xen/enlighten.c
@@ -484,7 +485,7 @@ static int __init xen_guest_init(void)
 	 * for secondary CPUs as they are brought up.
 	 * For uniformity we use VCPUOP_register_vcpu_info even on cpu0.
 	 */
-	xen_vcpu_info = alloc_percpu(struct vcpu_info);
+	xen_vcpu_info = __alloc_percpu(struct vcpu_info, PAGE_SIZE);
 	if (xen_vcpu_info == NULL)
 		return -ENOMEM;
 
--8323329-941497147-1700620947=:2053963--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 03:25:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 03:25:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638402.994932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5drB-0004jJ-1b; Wed, 22 Nov 2023 03:24:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638402.994932; Wed, 22 Nov 2023 03:24: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 1r5drA-0004jC-VE; Wed, 22 Nov 2023 03:24:52 +0000
Received: by outflank-mailman (input) for mailman id 638402;
 Wed, 22 Nov 2023 03:24: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=8FPV=HD=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r5dr9-0004j6-Nk
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 03:24:51 +0000
Received: from so254-136.mailgun.net (so254-136.mailgun.net [198.61.254.136])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id b0d173c6-88e6-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 04:24:49 +0100 (CET)
Received: from mg.gitlab.com (78.90.74.34.bc.googleusercontent.com
 [34.74.90.78]) by
 8491b2d3da17 with SMTP id 655d747f2f439efa6e53024c (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 22 Nov 2023 03:24:47 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: b0d173c6-88e6-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700623487; x=1700630687; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=NLIjWtfmJ0H3y7O2lbNiE2VECYvU/5jxiVEWXq8JMW8=;
 b=XR4FCAdqr4jJP5khX5YE9RgQkguSZ76k+W62/c+WFVBVKCZZQk8DaWkMAkFRfInMe9VH8F3z1Ngc6deBkKDCdaWyC4q/Ts28nSczH8GDAbgGg9MYnt5bM67EArlSZuXlUl+PZ2ZezYvFHbZ2nlkHcXQSxnJ3pBmipWXBt9kjagI=
X-Mailgun-Sending-Ip: 198.61.254.136
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 22 Nov 2023 03:24:47 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655d747f75ca6_2c9afd8126fb@gitlab-sidekiq-catchall-v2-64b665998c-nswkz.mail>
Subject: xen | Failed pipeline for staging | 820ee3ec
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655d747f68f9e_2c9afd812525";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1080914423
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: failed
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655d747f68f9e_2c9afd812525
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1080914423 has failed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 820ee3ec ( https://gitlab.com/xen-project/xen/-/commit/820ee3ec4dd5679715bd49a1d12b81cb1502260c )
Commit Message: x86: add deviation for asm-only functions

As s...
Commit Author: Nicola Vetrini
Committed by: Stefano Stabellini


Pipeline #1080914423 ( https://gitlab.com/xen-project/xen/-/pipelines/1080914423 ) triggered by Ganis ( https://gitlab.com/ganis )
had 2 failed jobs.

Job #5591340479 ( https://gitlab.com/xen-project/xen/-/jobs/5591340479/raw )

Stage: analyze
Name: eclair-ARM64
Job #5591340982 ( https://gitlab.com/xen-project/xen/-/jobs/5591340982/raw )

Stage: test
Name: qemu-smoke-dom0less-arm32-gcc-without-dom0

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655d747f68f9e_2c9afd812525
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Failed pipeline for staging | 820ee3ec</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"alert">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#d22f57">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px; line-height: 1;" align=3D"center" valig=
n=3D"middle">
<img alt=3D"&#10006;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-inverted-06edddd39ba2a7f9a32f6201e420=
175db85a4b6ac0348203fdc069001b440149.gif" style=3D"display: block;" width=
=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1080914423 has failed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/820ee3ec4dd5679715=
bd49a1d12b81cb1502260c" style=3D"color: #3777b0; text-decoration: none;">=

820ee3ec
</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86: add deviation for asm-only functions

As s...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/23d68b797e165570c641942285dfe06e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Nicola Vetrini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">Committed by</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/50b82a64e2a9f930cabefa3948871101?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Stefano Stabellini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"pre-section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
Pipeline <a style=3D"color: #3777b0; text-decoration: none;" href=3D"http=
s://gitlab.com/xen-project/xen/-/pipelines/1080914423">#1080914423</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px; padding-left: 5px;" =
width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; font-weight: 500; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 14px; font-weight: 400; line-heigh=
t: 1.4; padding: 0 8px 16px;" align=3D"center">
had 2 failed jobs
</td>
</tr>
<tr class=3D"table-warning">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 4px 4px 0 0; overflow: hidden; color: #d22852; font-size: 14=
px; line-height: 1.4; padding: 8px 16px; border-color: #ededed; border-st=
yle: solid; border-width: 1px 1px 0;" align=3D"center" bgcolor=3D"#fdf4f6=
">
Failed jobs
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 0 0 4px 4px; overflow: hidden; padding: 0 16px; border-color=
: #ededed; border-style: solid; border-width: 0 1px 1px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"builds" =
style=3D"width: 100%; border-collapse: collapse;">
<tbody>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
analyze
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5591340479" style=3D=
"color: #3777b0; text-decoration: none;">
eclair-ARM64
</a>

</td>
</tr>
<tr class=3D"build-state">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px; padding: 16px 0;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #d22f57; font-weight: 500; font-size: 16px; padding-right: 8px; line=
-height: 10px;" valign=3D"middle">
<img alt=3D"&#10006;" height=3D"10" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-x-red-67056b7b99899e30453df79abfbe16162f6a2=
6ed789d8236f81afcaea216ffe6.gif" style=3D"display: block;" width=3D"10" /=
>
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #8c8c8c; font-weight: 500; font-size: 14px;" valign=3D"middle">
test
</td>
</tr>
</tbody>
</table>
</td>
<td align=3D"right" style=3D"font-family: 'Helvetica Neue',Helvetica,Aria=
l,sans-serif; color: #8c8c8c; font-weight: 500; font-size: 14px; padding:=
 16px 0;">
<a href=3D"https://gitlab.com/xen-project/xen/-/jobs/5591340982" style=3D=
"color: #3777b0; text-decoration: none;">
qemu-smoke-dom0less-arm32-gcc-without-dom0
</a>

</td>
</tr>
</tbody>
</table>
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655d747f68f9e_2c9afd812525--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 04:29:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 04:29:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638444.994943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5era-0006od-Od; Wed, 22 Nov 2023 04:29:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638444.994943; Wed, 22 Nov 2023 04:29: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 1r5era-0006oW-KB; Wed, 22 Nov 2023 04:29:22 +0000
Received: by outflank-mailman (input) for mailman id 638444;
 Wed, 22 Nov 2023 04:29: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 1r5erZ-0006oM-Qo; Wed, 22 Nov 2023 04:29: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 1r5erZ-000350-PC; Wed, 22 Nov 2023 04:29: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 1r5erZ-0005C6-CE; Wed, 22 Nov 2023 04:29:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5erZ-00009J-Bt; Wed, 22 Nov 2023 04:29: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=SS2RqAjLAo346dSgqzfiT3bbzOoJyYJeJKGCP1hKMHo=; b=1shBU+6tiz/+eE7zmEMqBgkYMT
	T165kTT8U3h5JWuYtK/7jwDNzSqFVztAAisOi1JKRhDEr5i04uFWXN0MOSYKXCmKmCE7ho6TmIixO
	2t0AZDGbDJijaQ1RFCOy9ZGn1OnZwH0wRuafWdMPHYmfEhs/rt8x2935Zc4d5/NumbiQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183817-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183817: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=820ee3ec4dd5679715bd49a1d12b81cb1502260c
X-Osstest-Versions-That:
    xen=10081c2dc571775b538bb00982606a39832ad7e3
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Nov 2023 04:29:21 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  820ee3ec4dd5679715bd49a1d12b81cb1502260c
baseline version:
 xen                  10081c2dc571775b538bb00982606a39832ad7e3

Last test of basis   183814  2023-11-21 18:02:08 Z    0 days
Testing same since   183817  2023-11-22 02:03:46 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Stefano Stabellini <stefano.stabellini@amd.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   10081c2dc5..820ee3ec4d  820ee3ec4dd5679715bd49a1d12b81cb1502260c -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 07:20:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 07:20:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638452.994953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5hX7-0004KQ-JB; Wed, 22 Nov 2023 07:20:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638452.994953; Wed, 22 Nov 2023 07: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 1r5hX7-0004KJ-GQ; Wed, 22 Nov 2023 07:20:25 +0000
Received: by outflank-mailman (input) for mailman id 638452;
 Wed, 22 Nov 2023 07:20: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5hX7-0004KD-2E
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 07:20:25 +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 99e7b503-8907-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 08:20:23 +0100 (CET)
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 CA8D22193C;
 Wed, 22 Nov 2023 07:20: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 941DE13461;
 Wed, 22 Nov 2023 07:20:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id esrfIrarXWUvNwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 07:20: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: 99e7b503-8907-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700637622; 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:autocrypt:autocrypt;
	bh=/nk6K+DIlyuoeUWRIzH7MteenrbfAKBO+UVsUrRLS/s=;
	b=WvjY1fbu1Llotaug8LWRAv6vaqOYk+EbRgUGDOpKiP8h3Fl7npisNHV+X1mVJw3hfIIwrs
	qdvaM80IiiW2NBVadC4iAnAzvDHos6guN1Z99zxMHmHvj4WH8IELuw4dzF3hs16+GvhpG7
	qS38KsXB9z+anQ7Zm7fw4ooeykgGMqI=
Message-ID: <be27f207-47d5-4795-812b-4af82f734ba8@suse.com>
Date: Wed, 22 Nov 2023 08:20:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] stubdom: remove caml-stubdom
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20231101160837.32241-1-jgross@suse.com>
 <7b6658b4-cd36-4d52-991b-f4b94b6fb172@suse.com>
 <b45d743e-2ed4-49a5-92d9-1811d7be0188@citrix.com>
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <b45d743e-2ed4-49a5-92d9-1811d7be0188@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------7ThM4Qslg0WgxfXZ8t0S0LgY"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -5.20
X-Spamd-Result: default: False [-5.20 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-2.01)[95.13%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCPT_COUNT_FIVE(0.00)[5];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.999];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------7ThM4Qslg0WgxfXZ8t0S0LgY
Content-Type: multipart/mixed; boundary="------------PG1TJbaQxauo0R2ogFiluFPK";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-ID: <be27f207-47d5-4795-812b-4af82f734ba8@suse.com>
Subject: Re: [PATCH] stubdom: remove caml-stubdom
References: <20231101160837.32241-1-jgross@suse.com>
 <7b6658b4-cd36-4d52-991b-f4b94b6fb172@suse.com>
 <b45d743e-2ed4-49a5-92d9-1811d7be0188@citrix.com>
In-Reply-To: <b45d743e-2ed4-49a5-92d9-1811d7be0188@citrix.com>

--------------PG1TJbaQxauo0R2ogFiluFPK
Content-Type: multipart/mixed; boundary="------------NYYqU2zOCGmGqTolu089PWFY"

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

T24gMjEuMTEuMjMgMjI6MTQsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDIwLzExLzIw
MjMgMTA6MzYgYW0sIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBPbiAwMS4xMS4yMyAxNzow
OCwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+PiBJbiBvcmRlciB0byBidWlsZCBjYW1sLXN0
dWJkb20sIGl0IG11c3QgYmUgZXhwbGljaXRseSBlbmFibGVkIHZpYQ0KPj4+ICJjb25maWd1
cmUgLS1lbmFibGUtY2FtbC1zdHViZG9tIi4gVGhlIGJ1aWxkIHByb2Nlc3MgaXMgZmFpbGlu
ZyBkdWUgdG8NCj4+PiBzdHViZG9tL29jYW1sLnBhdGNoIGZhaWxpbmcgdG8gYXBwbHkuIFNp
bmNlIHRoZSBwYXRjaGVkIGZpbGUgaGFzIGJlZW4NCj4+PiBtb2RpZmllZCBpbiAyMDE0IHRo
ZSBsYXN0IHRpbWUsIGl0IHNlZW1zIG5vYm9keSBjYXJlcyBmb3IgY2FtbC1zdHViZG9tDQo+
Pj4gc2luY2UgYXQgbGVhc3QgdGhlbi4NCj4+Pg0KPj4+IFJlbW92ZSBjYW1sLXN0dWJkb20g
ZnJvbSB0aGUgYnVpbGQgc3lzdGVtLg0KPj4+DQo+Pj4gU2lnbmVkLW9mZi1ieTogSnVlcmdl
biBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4NCj4+IEFueSBjb21tZW50cz8NCj4gDQo+
IEknZCBzYXkgdGhlIHR1bWJsZXdlZWRzIGZyb20gdGhlIE9jYW1sIGZvbGtzIHNheXMgZW5v
dWdoLg0KPiANCj4gQW55IGNoYW5jZSB5b3UgY2FuIHJlc2VuZCB3aXRoIHRoZSBDaGFuZ2Vs
b2cgYWRqdXN0bWVudCwgYW5kIHdpdGggdGhlDQo+IG9wdGlvbiBzdHJpcHBlZCBvdXQgb2Yg
Li9jb25maWd1cmUgP8KgIE1pZ2h0IGFzIHdlbGwgY2xlYW4gdXAgZXZlcnl0aGluZw0KPiBh
cyB3ZSBnby4NCg0KSSBjYW4gZG8gdGhlIENoYW5nZWxvZyBhZGp1c3RtZW50LCBidXQgSSBk
b24ndCBzZWUgd2hhdCBlbHNlIGNvdWxkIGJlIHJlbW92ZWQNCmZyb20gY29uZmlndXJlLiBU
aGUgcGF0Y2ggYWxyZWFkeSBfaXNfIHJlbW92aW5nIHRoZSAtLWVuYWJsZS1jYW1sLXN0dWJk
b20NCm9wdGlvbiBmcm9tIHN0dWJkb20vY29uZmlndXJlLg0KDQoNCkp1ZXJnZW4NCg0K
--------------NYYqU2zOCGmGqTolu089PWFY
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------NYYqU2zOCGmGqTolu089PWFY--

--------------PG1TJbaQxauo0R2ogFiluFPK--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVdq7YFAwAAAAAACgkQsN6d1ii/Ey9f
nwgAhQBDePIIIqXtAuXJzanXF4CeiS5IWgV89WdtKC4dzfQ7p1rP/Bmhrdp2p/7MQA32cgIWOV87
NZLQEAMyT+LhCVKAEG/0G6r62FW3f8ICZ1ZDtB1BrD1mRzEl/N52ueBb1z/fxzjkrRbJbj9ibqmA
kqeF+TJpYSU6K/bfSOGANVXO+GeA4ipkRCwzlvErByEN64/slsawd18pVPDn04Lz5M1IHOtQ4/dH
q+EnHxV8yv8lv2gbtx67OpgP3zxjTd1uV8FSB83UPFnmxeHAyCKi1/JvTSj8FnwZDqJjZ2AiVlhz
RqVpKeny9WXOQL2mUJPyRmfr3wSxU8Nm1pRZnLl6Nw==
=ksen
-----END PGP SIGNATURE-----

--------------7ThM4Qslg0WgxfXZ8t0S0LgY--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 07:21:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 07:21:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638454.994962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5hXw-0004or-SS; Wed, 22 Nov 2023 07:21:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638454.994962; Wed, 22 Nov 2023 07:21: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 1r5hXw-0004ok-Pl; Wed, 22 Nov 2023 07:21:16 +0000
Received: by outflank-mailman (input) for mailman id 638454;
 Wed, 22 Nov 2023 07:21: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5hXw-0004oe-8O
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 07:21:16 +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 b7a31c29-8907-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 08:21:13 +0100 (CET)
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 B70801F85D;
 Wed, 22 Nov 2023 07:21: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 67CEC13461;
 Wed, 22 Nov 2023 07:21:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id aAkHGOirXWV9NwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 07:21: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: b7a31c29-8907-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700637672; 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=MnXdZpA9KWX08AMPs4kn4UmUpg1zNTQfrmsAZOIqgxA=;
	b=DMzhpjR0DrW/wSigRGCxodUow5q/atzCL9rB1XNsYj63eQ1FU/kve6kEZygaLTZOwX21FO
	qfgYZT54JFsgggVBD8PfiIh2YCNYfA86/0nvzuSKGMEFH5YbtJE0zyQGmILc82vqgXMySe
	BRf+ndTbch1GGofqwX3/4qqJ38dtQIM=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Henry Wang <Henry.Wang@arm.com>,
	Community Manager <community.manager@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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: [PATCH v2] stubdom: remove caml-stubdom
Date: Wed, 22 Nov 2023 08:21:10 +0100
Message-Id: <20231122072110.22413-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: 0.70
X-Spamd-Result: default: False [0.70 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.989];
	 RCPT_COUNT_TWELVE(0.00)[12];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

In order to build caml-stubdom, it must be explicitly enabled via
"configure --enable-caml-stubdom". The build process is failing due to
stubdom/ocaml.patch failing to apply. Since the patched file has been
modified in 2014 the last time, it seems nobody cares for caml-stubdom
since at least then.

Remove caml-stubdom from the build system.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- add CHANGELOG entry (Andrew Cooper)
---
 CHANGELOG.md             |  2 ++
 INSTALL                  |  1 -
 stubdom/Makefile         | 52 -------------------------------------
 stubdom/caml/Makefile    | 24 -----------------
 stubdom/caml/hello.ml    |  4 ---
 stubdom/caml/main-caml.c | 42 ------------------------------
 stubdom/caml/minios.cfg  |  0
 stubdom/configure        | 56 ----------------------------------------
 stubdom/configure.ac     |  2 --
 stubdom/ocaml.patch      | 19 --------------
 10 files changed, 2 insertions(+), 200 deletions(-)
 delete mode 100644 stubdom/caml/Makefile
 delete mode 100644 stubdom/caml/hello.ml
 delete mode 100644 stubdom/caml/main-caml.c
 delete mode 100644 stubdom/caml/minios.cfg
 delete mode 100644 stubdom/ocaml.patch

diff --git a/CHANGELOG.md b/CHANGELOG.md
index c341c9d0bf..bbb3cd5beb 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -14,6 +14,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
      for IPIs and Physical addressing mode for external interrupts.
 
 ### Removed
+- caml-stubdom has been removed. It didn't build since 2014, so nobody seems
+  to care.
 
 ## [4.18.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.18.0) - 2023-11-16
 
diff --git a/INSTALL b/INSTALL
index 3816c17dcd..88c1464816 100644
--- a/INSTALL
+++ b/INSTALL
@@ -163,7 +163,6 @@ Build various stubom components, some are only example code. Its usually
 enough to specify just --enable-stubdom and leave these options alone.
   --enable-ioemu-stubdom
   --enable-c-stubdom
-  --enable-caml-stubdom
   --disable-pv-grub
   --disable-xenstore-stubdom
   --enable-vtpm-stubdom
diff --git a/stubdom/Makefile b/stubdom/Makefile
index 0ddfce1ba2..71c9b2200e 100644
--- a/stubdom/Makefile
+++ b/stubdom/Makefile
@@ -257,37 +257,6 @@ $(TPMEMU_STAMPFILE): tpm_emulator-$(XEN_TARGET_ARCH) $(GMP_STAMPFILE)
 .PHONY: cross-tpmemu
 cross-tpmemu: $(TPMEMU_STAMPFILE)
 
-#############
-# Cross-ocaml
-#############
-
-CAMLLIB = $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/lib/ocaml
-OCAML_STAMPFILE=$(CAMLLIB)/.dirstamp
-
-ocaml-$(OCAML_VERSION).tar.gz:
-	$(FETCHER) $@ $(OCAML_URL)/$@
-
-ocaml-$(XEN_TARGET_ARCH)/.dirstamp: ocaml-$(OCAML_VERSION).tar.gz ocaml.patch
-	tar xzf $<
-	cd ocaml-$(OCAML_VERSION) && patch -p0 < ../ocaml.patch
-	rm -rf ocaml-$(XEN_TARGET_ARCH)
-	mv ocaml-$(OCAML_VERSION) ocaml-$(XEN_TARGET_ARCH)
-	touch $@
-
-MINIOS_HASNOT=IPV6 INET_ATON
-
-.PHONY: cross-ocaml
-cross-ocaml: $(OCAML_STAMPFILE)
-$(OCAML_STAMPFILE): ocaml-$(XEN_TARGET_ARCH)/.dirstamp
-	cd ocaml-$(XEN_TARGET_ARCH) &&  ./configure -prefix $(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf \
-		-no-pthread -no-shared-libs -no-tk -no-curses \
-		-cc "$(CC) -U_FORTIFY_SOURCE -fno-stack-protector -mno-red-zone"
-	$(foreach i,$(MINIOS_HASNOT),sed -i 's,^\(#define HAS_$(i)\),//\1,' ocaml-$(XEN_TARGET_ARCH)/config/s.h ; )
-	$(MAKE) DESTDIR= -C ocaml-$(XEN_TARGET_ARCH) world
-	$(MAKE) DESTDIR= -C ocaml-$(XEN_TARGET_ARCH) opt
-	$(MAKE) -C ocaml-$(XEN_TARGET_ARCH) install
-	touch $@
-
 #######
 # Links
 #######
@@ -419,17 +388,6 @@ ioemu: cross-zlib cross-libpci libxenguest ioemu-minios-config.mk
 	    $(QEMU_ROOT)/xen-setup-stubdom )
 	$(MAKE) DESTDIR= -C ioemu -f $(QEMU_ROOT)/Makefile
 
-######
-# caml
-######
-
-caml-minios-config.mk: $(CURDIR)/caml/minios.cfg
-	MINIOS_CONFIG="$<" CONFIG_FILE="$(CURDIR)/$@" $(MAKE) DESTDIR= -C $(MINI_OS) config
-
-.PHONY: caml
-caml: $(CROSS_ROOT)
-	CPPFLAGS="$(TARGET_CPPFLAGS) $(shell cat caml-minios-config.mk)" CFLAGS="$(TARGET_CFLAGS)" $(MAKE) DESTDIR= -C $@ LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) OCAMLC_CROSS_PREFIX=$(CROSS_PREFIX)/$(GNU_TARGET_ARCH)-xen-elf/bin/
-
 ###
 # C
 ###
@@ -516,10 +474,6 @@ ioemu-stubdom: APP_OBJS=$(CURDIR)/ioemu/i386-stubdom/qemu.a $(CURDIR)/ioemu/i386
 ioemu-stubdom: mini-os-$(XEN_TARGET_ARCH)-ioemu lwip-$(XEN_TARGET_ARCH) libxenguest ioemu
 	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/ioemu-minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(APP_OBJS)"
 
-.PHONY: caml-stubdom
-caml-stubdom: mini-os-$(XEN_TARGET_ARCH)-caml lwip-$(XEN_TARGET_ARCH) libxenguest cross-ocaml caml
-	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/caml/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS="$(CURDIR)/caml/main-caml.o $(CURDIR)/caml/caml.o $(CAMLLIB)/libasmrun.a"
-
 .PHONY: c-stubdom
 c-stubdom: mini-os-$(XEN_TARGET_ARCH)-c lwip-$(XEN_TARGET_ARCH) libxenguest c
 	DEF_CPPFLAGS="$(TARGET_CPPFLAGS)" DEF_CFLAGS="$(TARGET_CFLAGS)" DEF_LDFLAGS="$(TARGET_LDFLAGS)" MINIOS_CONFIG="$(CURDIR)/c/minios.cfg" $(MAKE) DESTDIR= -C $(MINI_OS) OBJ_DIR=$(CURDIR)/$< LWIPDIR=$(CURDIR)/lwip-$(XEN_TARGET_ARCH) APP_OBJS=$(CURDIR)/c/main.a
@@ -580,8 +534,6 @@ endif
 
 install-c: c-stubdom
 
-install-caml: caml-stubdom
-
 install-xenstore: xenstore-stubdom
 	$(INSTALL_DIR) "$(DESTDIR)$(XENFIRMWAREDIR)"
 	$(INSTALL_DATA) mini-os-$(XEN_TARGET_ARCH)-xenstore/mini-os.gz "$(DESTDIR)$(XENFIRMWAREDIR)/xenstore-stubdom.gz"
@@ -642,13 +594,11 @@ clean: $(foreach lib,$(STUB_LIBS),clean-libxen$(lib))
 clean:
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-ioemu
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-c
-	rm -fr mini-os-$(XEN_TARGET_ARCH)-caml
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-grub
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstore
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-xenstorepvh
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpm
 	rm -fr mini-os-$(XEN_TARGET_ARCH)-vtpmmgr
-	$(MAKE) DESTDIR= -C caml clean
 	$(MAKE) DESTDIR= -C c clean
 	$(MAKE) -C vtpm clean
 	$(MAKE) -C vtpmmgr clean
@@ -672,7 +622,6 @@ crossclean: clean
 	rm -fr polarssl-$(XEN_TARGET_ARCH)
 	rm -fr tpm_emulator-$(XEN_TARGET_ARCH)
 	rm -f mk-headers-$(XEN_TARGET_ARCH)
-	rm -fr ocaml-$(XEN_TARGET_ARCH)
 	rm -fr include
 
 # clean patched sources
@@ -695,7 +644,6 @@ downloadclean: patchclean
 	rm -f pciutils-$(LIBPCI_VERSION).tar.bz2
 	rm -f grub-$(GRUB_VERSION).tar.gz
 	rm -f lwip-$(LWIP_VERSION).tar.gz
-	rm -f ocaml-$(OCAML_VERSION).tar.gz
 	rm -f polarssl-$(POLARSSL_VERSION)-gpl.tgz
 
 .PHONY: distclean
diff --git a/stubdom/caml/Makefile b/stubdom/caml/Makefile
deleted file mode 100644
index f550de1680..0000000000
--- a/stubdom/caml/Makefile
+++ /dev/null
@@ -1,24 +0,0 @@
-XEN_ROOT = $(CURDIR)/../..
-
-ifeq (,$(findstring clean,$(MAKECMDGOALS)))
-include $(XEN_ROOT)/Config.mk
-endif
-
-CAMLLIB = $(shell $(OCAMLC_CROSS_PREFIX)ocamlc -where)
-DEF_CPPFLAGS += -I$(CAMLLIB)
-
-OCAMLOPT=$(OCAMLC_CROSS_PREFIX)ocamlopt
-
-OBJS := hello.cmx
-LIBS := 
-
-all: main-caml.o caml.o
-
-%.cmx: %.ml
-	$(OCAMLOPT) -c $< -o $@
-
-caml.o: $(OBJS)
-	$(OCAMLOPT) $(LIBS) $^ -output-obj -o $@
-
-clean:
-	rm -f *.a *.o *.cmx *.cmi
diff --git a/stubdom/caml/hello.ml b/stubdom/caml/hello.ml
deleted file mode 100644
index 3a7181134a..0000000000
--- a/stubdom/caml/hello.ml
+++ /dev/null
@@ -1,4 +0,0 @@
-let main arg =
-  Printf.printf "Hello, world!\n%!."
-
-let _ = Callback.register "main" main
diff --git a/stubdom/caml/main-caml.c b/stubdom/caml/main-caml.c
deleted file mode 100644
index dd55aca38f..0000000000
--- a/stubdom/caml/main-caml.c
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Caml bootstrap
- *
- * Samuel Thibault <Samuel.Thibault@eu.citrix.net>, January 2008
- */
-
-#include <stdio.h>
-#include <errno.h>
-
-#include <caml/mlvalues.h>
-#include <caml/callback.h>
-#include <unistd.h>
-
-/* Ugly binary compatibility with Linux */
-FILE *_stderr asm("stderr");
-int *__errno_location;
-/* Will probably break everything, probably need to fetch from glibc */
-void *__ctype_b_loc;
-
-int main(int argc, char *argv[], char *envp[])
-{
-    value *val;
-
-    /* Get current thread's value */
-    _stderr = stderr;
-    __errno_location = &errno;
-
-    printf("starting caml\n");
-
-    /* Wait before things might hang up */
-    sleep(1);
-
-    caml_startup(argv);
-    val = caml_named_value("main");
-    if (!val) {
-        printf("Couldn't find Caml main");
-        return 1;
-    }
-    caml_callback(*val, Val_int(0));
-    printf("callback returned\n");
-    return 0;
-}
diff --git a/stubdom/caml/minios.cfg b/stubdom/caml/minios.cfg
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/stubdom/configure b/stubdom/configure
index 9a2226c3b7..6d41be91b6 100755
--- a/stubdom/configure
+++ b/stubdom/configure
@@ -600,8 +600,6 @@ POLARSSL_VERSION
 POLARSSL_URL
 GMP_VERSION
 GMP_URL
-OCAML_VERSION
-OCAML_URL
 GRUB_VERSION
 GRUB_URL
 LWIP_VERSION
@@ -633,7 +631,6 @@ debug
 xenstorepvh
 xenstore
 grub
-caml
 c
 host_os
 host_vendor
@@ -687,7 +684,6 @@ ac_user_opts='
 enable_option_checking
 enable_ioemu_stubdom
 enable_c_stubdom
-enable_caml_stubdom
 enable_pv_grub
 enable_xenstore_stubdom
 enable_xenstorepvh_stubdom
@@ -711,7 +707,6 @@ LIBPCI_URL
 NEWLIB_URL
 LWIP_URL
 GRUB_URL
-OCAML_URL
 GMP_URL
 POLARSSL_URL
 TPMEMU_URL'
@@ -1341,7 +1336,6 @@ Optional Features:
   --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]
   --enable-ioemu-stubdom  Build and install ioemu-stubdom
   --enable-c-stubdom      Build and install c-stubdom (default is DISABLED)
-  --enable-caml-stubdom   Build and install caml-stubdom (default is DISABLED)
   --enable-pv-grub        Build and install pv-grub (default is DISABLED)
   --disable-xenstore-stubdom
                           Build and install xenstore-stubdom (default is
@@ -1371,7 +1365,6 @@ Some influential environment variables:
   NEWLIB_URL  Download url for newlib
   LWIP_URL    Download url for lwip
   GRUB_URL    Download url for grub
-  OCAML_URL   Download url for ocaml
   GMP_URL     Download url for libgmp
   POLARSSL_URL
               Download url for polarssl
@@ -2061,44 +2054,6 @@ fi
 
 
 
-# Check whether --enable-caml-stubdom was given.
-if test "${enable_caml_stubdom+set}" = set; then :
-  enableval=$enable_caml_stubdom;
-
-if test "x$enableval" = "xyes"; then :
-
-
-caml=y
-STUBDOM_TARGETS="$STUBDOM_TARGETS caml"
-STUBDOM_BUILD="$STUBDOM_BUILD caml-stubdom"
-STUBDOM_INSTALL="$STUBDOM_INSTALL install-caml"
-STUBDOM_UNINSTALL="$STUBDOM_UNINSTALL install-caml"
-
-
-else
-
-if test "x$enableval" = "xno"; then :
-
-
-caml=n
-
-
-fi
-
-fi
-
-
-else
-
-
-caml=n
-
-
-fi
-
-
-
-
 # Check whether --enable-pv-grub was given.
 if test "${enable_pv_grub+set}" = set; then :
   enableval=$enable_pv_grub;
@@ -3600,17 +3555,6 @@ GRUB_VERSION="0.97"
 
 
 
-if test "x$OCAML_URL" = "x"; then :
-
-	OCAML_URL="https://caml.inria.fr/pub/distrib/ocaml-4.02"
-
-fi
-OCAML_VERSION="4.02.0"
-
-
-
-
-
 if test "x$GMP_URL" = "x"; then :
 
 	if test "x$extfiles" = "xy"; then :
diff --git a/stubdom/configure.ac b/stubdom/configure.ac
index 471e371e14..fc736c0387 100644
--- a/stubdom/configure.ac
+++ b/stubdom/configure.ac
@@ -20,7 +20,6 @@ m4_include([../m4/fetcher.m4])
 # Enable/disable stub domains
 AX_STUBDOM_CONDITIONAL([ioemu-stubdom], [ioemu])
 AX_STUBDOM_DEFAULT_DISABLE([c-stubdom], [c])
-AX_STUBDOM_DEFAULT_DISABLE([caml-stubdom], [caml])
 AX_STUBDOM_DEFAULT_DISABLE([pv-grub], [grub])
 AX_STUBDOM_DEFAULT_ENABLE([xenstore-stubdom], [xenstore])
 AX_STUBDOM_DEFAULT_ENABLE([xenstorepvh-stubdom], [xenstorepvh])
@@ -60,7 +59,6 @@ AX_STUBDOM_LIB([LIBPCI], [libpci], [2.2.9], [https://mirrors.edge.kernel.org/pub
 AX_STUBDOM_LIB([NEWLIB], [newlib], [1.16.0], [https://sourceware.org/ftp/newlib])
 AX_STUBDOM_LIB([LWIP], [lwip], [1.3.0], [https://download.savannah.gnu.org/releases/lwip])
 AX_STUBDOM_LIB([GRUB], [grub], [0.97], [https://alpha.gnu.org/gnu/grub])
-AX_STUBDOM_LIB_NOEXT([OCAML], [ocaml], [4.02.0], [https://caml.inria.fr/pub/distrib/ocaml-4.02])
 AX_STUBDOM_LIB([GMP], [libgmp], [4.3.2], [https://gmplib.org/download/gmp/archive])
 AX_STUBDOM_LIB([POLARSSL], [polarssl], [1.1.4])
 AX_STUBDOM_LIB([TPMEMU], [berlios tpm emulator], [0.7.4])
diff --git a/stubdom/ocaml.patch b/stubdom/ocaml.patch
deleted file mode 100644
index 50db4869dd..0000000000
--- a/stubdom/ocaml.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- byterun/Makefile.orig	2009-04-07 12:14:02.000000000 +0100
-+++ byterun/Makefile	2009-04-07 12:13:50.000000000 +0100
-@@ -22,14 +22,14 @@
- DOBJS=$(OBJS:.o=.d.o) instrtrace.d.o
- PICOBJS=$(OBJS:.o=.pic.o)
- 
--#ifeq ($(SUPPORTS_SHARED_LIBRARIES),true)
-+ifeq ($(SUPPORTS_SHARED_LIBRARIES),true)
- 
- all:: libcamlrun_shared.so
- 
- install::
- 	cp libcamlrun_shared.so $(LIBDIR)/libcamlrun_shared.so
- 
--#endif
-+endif
- 
- ocamlrun$(EXE): libcamlrun.a prims.o
- 	$(MKEXE) $(BYTECCLINKOPTS) -o ocamlrun$(EXE) \
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 07:25:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 07:25:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638457.994973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5hc6-0005Wg-Ge; Wed, 22 Nov 2023 07:25:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638457.994973; Wed, 22 Nov 2023 07:25: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 1r5hc6-0005WZ-Dz; Wed, 22 Nov 2023 07:25:34 +0000
Received: by outflank-mailman (input) for mailman id 638457;
 Wed, 22 Nov 2023 07:25: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=d996=HD=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r5hc5-0005WP-5g
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 07:25:33 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51295842-8908-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 08:25:31 +0100 (CET)
Received: from AM6P192CA0027.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:83::40)
 by DU0PR08MB7565.eurprd08.prod.outlook.com (2603:10a6:10:316::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 07:25:22 +0000
Received: from AMS1EPF00000049.eurprd04.prod.outlook.com
 (2603:10a6:209:83:cafe::33) by AM6P192CA0027.outlook.office365.com
 (2603:10a6:209:83::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Wed, 22 Nov 2023 07:25:22 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF00000049.mail.protection.outlook.com (10.167.16.133) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Wed, 22 Nov 2023 07:25:21 +0000
Received: ("Tessian outbound 26ee1d40577c:v228");
 Wed, 22 Nov 2023 07:25:21 +0000
Received: from 77c170e0ade4.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 2BE1A6AE-360D-4102-9F74-46EA9C8BFBF3.1; 
 Wed, 22 Nov 2023 07:25:15 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 77c170e0ade4.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Nov 2023 07:25:15 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by AS4PR08MB7854.eurprd08.prod.outlook.com (2603:10a6:20b:51d::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 07:25:09 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7002.027; Wed, 22 Nov 2023
 07: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>
X-Inumbo-ID: 51295842-8908-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=fkOmPtoFu4V+QwDOXpUSI67hw+W91eZy+8yfhwv7zuxc6CYNF3XKC9prWZdbEGGhC+niRDOWCtCpeDR2VQ2G2ltfdL7Kd6VauQQTBb9WjaoE0nk5Vf43WqCqH0LC8y4eKHBD+2A8ocot63CBV00CDm3vOuj1oZ1XZWcpkFdUW/AjwIBoc/J9RSbNO9yLfhivP5eYayBc6x3bkhX/WwNxOOVLxyqxM0G+m39maiicArlTo2ueLJ3i8Q/FZkYUlY064CQ3LSMekOIU79yN727i6+jfxulZmVCYBlCwYsWBXnlgZN9sEWkMnw3EYgkJpd1eEmjuJ6oPxRFGlaY6RDGlMg==
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=IwkdA+/UVLHP0vBZBpNmKdGXKJYSDcxN7vw+GbZDFg8=;
 b=fSAWVSJjrVHf5RlCgnLnp7aH1beJukNs0pF14u31Yz0e9wpAIZnQHQWJ84HjDgR+sxZCLvLR5nL9GfdAe4nksNPnSIeDUD4LskJkatkOjkKyxDzL3JTZ2vuZqwz0v8TfcwoFF+Q8Kz+ggIUBbv6+ovbB44dP9Aul3kcRi6gZ4b+UylPPgwjAibCz54Kf5+njGbQCDpqODPrCZVIQHzeE/rz4wZu8WHn8VgEIQSw42cQa838s9TS1D/klstPm3oMPfHkjMr5cm2zRk+gxNseKIVsMBtmOI75LCMRpxLb7eG4SKrZo7jasfgBkMocGOXDW7ZtrDTVD3LIpC68z8UZWQA==
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=IwkdA+/UVLHP0vBZBpNmKdGXKJYSDcxN7vw+GbZDFg8=;
 b=tlbpfYPtNuQNJDRN7q8BxbTWwZxCEOvchXAOOohVmtWYepY7aJlVu5i99NytU6VJRF9foh5Pk50Ek2gqfL6vLgEnu3qD6IlOVYCJDL6Z2JjjJ4BYkWhB2+yug6kUxKBu2kqpKRbGg3yk9+G1V783suwH61qP+jyXXL3Z85EFIyc=
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: c77d31cd0c372e56
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KL+OaJGlaJ9PoPvqDfjs6fOVrGb2+d5wo3ZZIM+6j/Yf4ODx7FhxP336mB5e7lLCOoQsu8zHwAVt4BGCMdsjddryQmKpn4QxCGcf6Os5MfZsYJDHv6rAQ3/m7Z1sQU0NX727azQVeHQ5aX4yD2pq5kLUOdg5ED4EN1KufgulVWPrVzunLxdLGd6px/Yfns1eD859QyS8c1Hxqx03VBKLOl2NlttheWQm9+6Npl5yljTAE/F46X+/bMPGshx4n8F2Uau81Ya+5lYvQPXdflqO0DLV0iZna2GoqlADzW8R+3pHwIGROABpkN7rgKnjb6V/KZsC6aVMSe24v/8faHv76g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IwkdA+/UVLHP0vBZBpNmKdGXKJYSDcxN7vw+GbZDFg8=;
 b=KrcRYMLpH/eEZMfzb4vrPsVoPey6znF0RzhM/GrMgWjBRVs23v9Q1+ipSkHDlqVjZTx1FN9ToBimwYmquvcrWndnvSnx+ZGH7yI8OPRehdLJaAj06YJyIqtX13YEQcf46KsIjuCKD2/43NtX6zxrTO58r5kh8shgfVINJbSZBX9lKG04AEZroCNVyoM1QFrPmLDJSJsE7dGx/JDUHvWRd071JXe9OG/6Xy9M7m+1LLw6ZofWS21xFSpJ1ZMyW+miYmOECHKMPriRQeBrJm9/m5IDoYrppurkufwIs08MhJ9eQfbwtP5Ab06HKANUBQD++KKHk4koTmQd6jFGRvyd8g==
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=IwkdA+/UVLHP0vBZBpNmKdGXKJYSDcxN7vw+GbZDFg8=;
 b=tlbpfYPtNuQNJDRN7q8BxbTWwZxCEOvchXAOOohVmtWYepY7aJlVu5i99NytU6VJRF9foh5Pk50Ek2gqfL6vLgEnu3qD6IlOVYCJDL6Z2JjjJ4BYkWhB2+yug6kUxKBu2kqpKRbGg3yk9+G1V783suwH61qP+jyXXL3Z85EFIyc=
From: Henry Wang <Henry.Wang@arm.com>
To: Juergen Gross <jgross@suse.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Community Manager
	<community.manager@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>, Anthony PERARD
	<anthony.perard@citrix.com>, Samuel Thibault <samuel.thibault@ens-lyon.org>
Subject: Re: [PATCH v2] stubdom: remove caml-stubdom
Thread-Topic: [PATCH v2] stubdom: remove caml-stubdom
Thread-Index: AQHaHRSAQgxp/yEYoE29tMVtjHxyKbCF79SA
Date: Wed, 22 Nov 2023 07:25:09 +0000
Message-ID: <B6CE7706-7417-4EF0-A699-93B97ECBD247@arm.com>
References: <20231122072110.22413-1-jgross@suse.com>
In-Reply-To: <20231122072110.22413-1-jgross@suse.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|AS4PR08MB7854:EE_|AMS1EPF00000049:EE_|DU0PR08MB7565:EE_
X-MS-Office365-Filtering-Correlation-Id: 75a15f0c-0df3-4330-fb50-08dbeb2c2ff9
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:
 iqyiDlty5bgJDieniUWjQnbByuSkOOfm6jUqA/flJ6KUatNLoMD4KNbmy1xCZyLQa/4J26QfhYDGn74QiEoeOrgw0o9UWQAglgm9Z7d+pQwTSCzkANFz5jCTyEZv9SpuJmpSoyQlWaCd6MCYHG5AYZXx0ojYPgMMjl3JrKT4MztEmIx1U0+pInZHoptVTy1kYjbR9L8h67Fdv224cAC4FFw8UJ9+vNckhe7Ir8kVxxAJ3/wfyh2PKqyNbrawnB3p3g4Ap18yoem7kUKgMcZ2uEfV+vp20KWR4KJ2TkmQqLOSvmL6doiBhjOuG0IsHxoD2N+pZ5p+pqdYwYJcunLWcfFrAhRdo2cIBDeC+4fqMnaUzootjKu55r+N4q1/rOsXIAKMpofFlYy9YOULCVvW7Jdql9QprWQ+BzRThy4bY24DtAZEFXrUrZsXUlAu6MsimI+lQVflAx8xacOT51w1FqtJI9PdYpEGtiCOJSB7bLP68VO1+ge+w8vGGakVI2Lgcda3pn2r6p88nmxXj+QJPdVgOtZ/Xw6ws+TiZ3fIG8Swu5tLdobBVnjPcX58LNs46U7c0T4yTW1CrUzHe/ZsODJ1BDJS4LZ8eGAi8iIqmIJOrkt2bVgoy1AxEGyw9ssePVz4vVn7TsNpemd/+G4saA==
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:(13230031)(366004)(396003)(39860400002)(136003)(346002)(376002)(230922051799003)(64100799003)(1800799012)(451199024)(186009)(5660300002)(7416002)(71200400001)(2906002)(4744005)(6486002)(478600001)(4326008)(8676002)(8936002)(66556008)(64756008)(54906003)(66946007)(66476007)(6916009)(316002)(76116006)(66446008)(91956017)(86362001)(122000001)(41300700001)(83380400001)(33656002)(26005)(38100700002)(36756003)(2616005)(53546011)(6506007)(38070700009)(6512007)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <FF2B32D9D29F07468D20FADA29B0D4A6@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB7854
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:
 AMS1EPF00000049.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	62a833c7-78b4-454a-31ee-08dbeb2c289d
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/uX51REubECGqX3HnidJWix5X0rBYXTCPeCUJZqpmKugvroHIT75hhmWlkEbI1KPA77sVzNBCQnUrDU1XQyi+daoKBR668qFl+i5RlI7czBPinMUjIV5SXTCs5aW8kQoTNEcq5oQLwU4R0SDM/Ni+dRUFBmAyowuI9pipEwFUjzUWeZUwRxnzG9XW+5VwZrIrCRn9ZsuuF8c06sERrFdrvRG45dg7cF5kbZPUJ1mByndtB3AXCjiafQ1zHaz3ycNVdHVcd/TPRwpg4RnbKBQexF2ijxZ/Wsx0oYc19znhwNLF5o//wHRKAqOQWDPxMFp72iNS4reEQKOtjTWgHYeaQhAi8zpdH6F7582r6/UYPLPTblLemJFeIGGBWIpyPKtX12+wtFmd2W18sbxnmEbLQvgkwlPWvc6zpN9nFn5peVRDPkA1vPiAOzxNB4PJXkbcjRMt9QrrzgCrWvG7Lyi8pfwG2EJoHs+iolkZhWJvR4iXGSaMykf9BiQh0FFBEemkRQ3+9weXvosVIrDwrnohvH/VUD+r4+yAD7bO+3W2j0nqOu1Pdy7UMLcaai4Bgav2qa6Vxe/btoundnQBaibGTPNCEHS8GJcSYqdJVqlzYR+tiJVqz0VjHY+hcRKBSKvNMfQPIwMgrOkijKteU8pxcu8Pg7SE2cCvbJgR5ogbNh8P9VYqeQsFCfHqGHzf/n0isYX9WTnTF2VCVv9WhfUJg+kE3GHQquG0mvJ0hCjkp1+bIPJZwmGwegX5COsQgUB
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:(13230031)(4636009)(346002)(39860400002)(376002)(136003)(396003)(230922051799003)(64100799003)(186009)(82310400011)(451199024)(1800799012)(46966006)(40470700004)(36840700001)(40480700001)(41300700001)(2906002)(4744005)(5660300002)(6862004)(4326008)(8676002)(8936002)(316002)(54906003)(70586007)(70206006)(26005)(336012)(2616005)(40460700003)(478600001)(6486002)(6506007)(6512007)(53546011)(81166007)(356005)(83380400001)(107886003)(47076005)(36756003)(86362001)(33656002)(36860700001)(82740400003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 07:25:21.8588
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 75a15f0c-0df3-4330-fb50-08dbeb2c2ff9
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:
	AMS1EPF00000049.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7565

Hi Juergen,

> On Nov 22, 2023, at 15:21, Juergen Gross <jgross@suse.com> wrote:
>=20
> In order to build caml-stubdom, it must be explicitly enabled via
> "configure --enable-caml-stubdom". The build process is failing due to
> stubdom/ocaml.patch failing to apply. Since the patched file has been
> modified in 2014 the last time, it seems nobody cares for caml-stubdom
> since at least then.
>=20
> Remove caml-stubdom from the build system.
>=20
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - add CHANGELOG entry (Andrew Cooper)
> ---
> CHANGELOG.md             |  2 ++

Acked-by: Henry Wang <Henry.Wang@arm.com> # CHANGELOG

Kind regards,
Henry



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 07:27:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 07:27:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638459.994982 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5hdW-0006YZ-Rt; Wed, 22 Nov 2023 07:27:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638459.994982; Wed, 22 Nov 2023 07: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 1r5hdW-0006YS-P8; Wed, 22 Nov 2023 07:27:02 +0000
Received: by outflank-mailman (input) for mailman id 638459;
 Wed, 22 Nov 2023 07: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5hdU-0006Y6-Uf
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 07:27:01 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 856657c8-8908-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 08:26:58 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB7553.eurprd04.prod.outlook.com (2603:10a6:20b:2d5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 07:26:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 07: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: 856657c8-8908-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WUuYPJ03XiXAKCeiRU0MDcSZm2gAgpGopnyJxfy7pc8NWlmAKDN971E98bBXuMUl9pPI+6YmJtV8ewPyEGaN0/zDuz3hiCRwo6v5hsO6CPR4gGBId3B7imV+bj6pj7cj2/PCLSdBr7AAMymIRWTnm8/wklN2sxmMq3ufgwYn3SdA0H6jcHsPN4unSZ6ziFeoXgQSa0UHwtsuhQ2+AA116RghgJClcvlkrjZBJZRhksQ0ppFjZ7giMiXPH5guyLmJnMdrS80ke+JIdE2WWyEe2gSme+WSRevHPqvAvJQ+ZY1r078Mdz94EPeg4BqNFRHXmzEhpOvQiPy7DD5TCzj+ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OrRT2d6nhLuczwYoReeGVYFpUDdj/NqW5AyC00HBsBI=;
 b=iy0C/j7RGg3ub6Wq3VEJHDc3zWHYhDw/Sgof2gDRoeveljYAYae90RClgluGD2szRLSr+xf3xlw07SdNs9hrNTwOTQJHjin3B2VVwHagRB3YkkDnU22AnLCuU7NNr8TLcU+wxtwu0GcM+Do16TothcmUQSaIwLa+7N9CufnVReQlmh1VCT9JB/xFexmBd2fhihaV4wHIoZe1qLRFjpkWzmvH6X2KN1MlS56CKOS/e24Y4jM737lLUNIfWBIn3wUYo4UPKmyqnSxj+9R57egQ1yirxtams1tQPKei94ybt35m188tb3qwIIbfrykOjfy7+bvxm6vhILwE3C3zXC99Og==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OrRT2d6nhLuczwYoReeGVYFpUDdj/NqW5AyC00HBsBI=;
 b=FQLDVYzP1su8Ql6X/GYbBCuHnWbfnqT3g5ifKGumASGYEPiydiVF50zhNSQHfFor3jzSdWYI7n/LqUVnE0o7Grs0wV6yigiXIzch1t/iAxYvcN/mW239rV9vlTDInNZFUrEmXQzkfsVk0BoYirxnI3Q+9oS2hAH8q90u912btYkWO6+VU1mVcqTCdc+IrNKfvP4DiQZCIlTRZPFyOl7/SAjDG7/txEjxsge8E2hrffgLGxhhtukBCLrFdLDp3gZBbp7V1Bk65FDG6gdEUEG0yvdjbNHlMnLptg/bbh6UhDJHFHAmq2TJq9tLonp3dZv2fwwuOFnpRluZz55JDa2YlA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aef9579b-f32d-4bc2-8be9-f875605d17a6@suse.com>
Date: Wed, 22 Nov 2023 08:26:54 +0100
User-Agent: Mozilla Thunderbird
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] x86emul: deal with decode failure in predicates test
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB7553:EE_
X-MS-Office365-Filtering-Correlation-Id: e3a53913-a2ee-497e-d2f0-08dbeb2c67e6
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	k+U9sZlIucHCV0VGhDLbB75HU0YcgARzgpVs0ngsL9q+NtrcGYZQ6yalkRpVm2ikREi/fNcdGY+Xzex8QNwJ2YVmCmQkebjRyGbb0gYVtXfgvh8/fgAISHWg541jamVLyvEGusxDvEWSlVK4P6Us32iAyUxJp7hucDbfy2w6UxRHxRES7bGvWVc4vG3Z80BB5h4MPZZ16gDfCvTW0S4pMppX1FgPj4NfDUVA7AS52iF8xm/nJVjDObRqAxbu4ppqaaQ4rAZ1CucdU3HBb10vwdaMN4OQVQTymbihWvqQYwKXXWjBXOc4U+8qLGXY9heVNZnOybvWiRstLNdu/7bfFixIodo3i7o9v1DS2WJRTgnrfqjl+eoGPnSvBT+g/sg45MdqNNsP70ZUMGmRJ1BRazSF07PyR8XVHIOfJqWZYpFKi7iOe1EpxF/uo2ctfpsOwoc4ZM/6/dkkekB3oVVBZsR0MdxPdEsnt8kArNHVsFD4Zef7Sv9vpa0E0fUAf8XgOp4mCsJ0+IxzomFf7BlYdJBfr46OQReX2hbP5f0htL3AEaYYJmCRSdvkIMDT6GFcdRdzv/3cKhZEftmEwbdaSPVRr7DBhZuAMj+BXKYj4tGYh6CeCDLh65jW9EZFZH5rwTd4kSshYkSzmm9TAs+o3g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(136003)(396003)(346002)(376002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(54906003)(316002)(6916009)(66556008)(66946007)(6506007)(4326008)(8676002)(8936002)(6486002)(478600001)(6512007)(2906002)(4744005)(36756003)(41300700001)(38100700002)(31686004)(2616005)(26005)(86362001)(31696002)(66476007)(5660300002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEJoMHlrNHp1V3hFVWE5VnYzT2ZkUTRhYmVsK1liMUx2bFZRcEJSdmNPZXgv?=
 =?utf-8?B?RXpTRzRUejd1djV2UnU1V09zMm5ndmdGM1N6TXBpSG56Z3RZZCtVVVN3YVdU?=
 =?utf-8?B?b2FDbG16cGE4WnZiWVlFL3NHY2xMR1QxY2xNTHN4dllLWlZza3NHeUY4a1FL?=
 =?utf-8?B?RmdGUVVyaGVoeFpUV1hpQjMrYi9CcVdNaFFFYTh1MnZEWXBKOHIvYWk2cVZv?=
 =?utf-8?B?SThUTFkyYTZTNmlNaWdiVjMyTDIxcGlOMU9XWERPQjdWUWFhNXQvY1FWNW5p?=
 =?utf-8?B?ZVpWNGI0cnpLVlZ2a1NITVNpeHdBSk10WDdzRHQ5ZHZJMWFJbzQzTThjQ2VD?=
 =?utf-8?B?VlVHS0dKTjZxTVV1SzVqMUxqNENHMlJiV2NlcENqaVVjaGRVcFh2NDFacWxo?=
 =?utf-8?B?dHpEUFlRbXhhS1RMeXA4aGlpRU04U0RkWEpNSTFsMldlUXEyWGJTSjc5U0la?=
 =?utf-8?B?cjVtRG5sazJHanR6NkcxTVpHNWtvUngwSmxYZUR1aVd1dVBRdUsyVTFEbHdK?=
 =?utf-8?B?dTNSTFRQTlc1SmZFZmcySDQ4UUZCOFZhWThaUHdzZmpoSHFEMTlvdEJrNE0y?=
 =?utf-8?B?RndEQXNQZXNNNlBkSFZrQkhEZit0ODdpbTA3REtMa1Rnc28rbVVlWGpZbmx1?=
 =?utf-8?B?U0tqSVFYV2dEWWxPMFFHdUlyRW8wbXJPMC9NV0NWOFNadEErSzF2VEhnN0Vh?=
 =?utf-8?B?WFUrQ2d4QzE0U2dhRTdUQlhycmxTQS9mWnNFODJWeGZRWlpOekNRaVV2UVg2?=
 =?utf-8?B?SzBOcmRCSXVONXZGZ1Fyanp5WEhMNjE3dXJWeE5rbU55Vmc4U3g0UUxlK2c1?=
 =?utf-8?B?Q1Q5RW9DSTRrNVlSV1IvbngrRUJCcGdhMFFSeGpjSm5FdUJjQnIzN0JDb1NL?=
 =?utf-8?B?YTlQREtwdHZiV2tjNTQyeVFtWlR6TnQrdHhha1FLcFE0QXg3TWp3UFJCc2RP?=
 =?utf-8?B?VnRzait1ZVNtRThvNkFaNWFiSzUyNUZlOVJtS2dxLy83V1dZNWlKOUQ0ODA3?=
 =?utf-8?B?c2d2OC9TcCtRTjVjY2Y3OEtEM2FrQzlyYUkxV0gwNnhCTmV3MWVuY1JGc0J4?=
 =?utf-8?B?Sk1oTWxWVkRSb1NBRkZwSmk1NXVRcWVKdllxRFBDTU1KMU51V2lpK3VSOWFj?=
 =?utf-8?B?ZjI2WExkRjVTRWp1WDBOcFo3ZGR5bTBsMWtTVzdGL0YwYTNpV1hSell5eHBk?=
 =?utf-8?B?U0hVQ080WXlhaHVPc1lIL1NkOXNnNmU5YkgwRFZweDJYdmw5bzVISi9wQ0Zn?=
 =?utf-8?B?MmN0bSs2NFdpR3NPWFFPRFJ4LzRnbXpYR244NjBockVNNmNPU3UrS2Y1Wi8z?=
 =?utf-8?B?bjJldG5oLzk2Zm1UNXhubzZ2d0FsbUxXSnZNV093N2hHaUFYNlp5UFV2Tkti?=
 =?utf-8?B?dHRzMk9iL082c1NTUWVWNkxVTXlEU29VV2pURU9uNEs5Q1A4ZVQ4WTFkUGln?=
 =?utf-8?B?K0ozRFkwNVp5SmJzTVVxRExxZ3hla3ZGcEdkejdGU2ZXT1A2cHJUMmhwbzhp?=
 =?utf-8?B?aFFPVmY5SGU0TmhDb3J3OEQ1Y0J2c1p2NkFrUDNoSDUrZ3ZPdHB6WVZscXhp?=
 =?utf-8?B?OW9aRzdDR29Xazh6cXhQMytJVVNoMERCenVXUnduOXpnSHlCOHAvMk0zY3Qv?=
 =?utf-8?B?VjRhOHo0dXViUFcrTng2YlZKbFFBaWkzUmtuQVYxdEVqc29pTS9GYkpqbXpF?=
 =?utf-8?B?ZUl4aFpaRjZKVGtBcWpqbm9vMlhLdXJFSjlhTjZ2SFZwc2dwcDZURGhNTkFV?=
 =?utf-8?B?YUl5TktMR25WTlVMcG42bFQvQzVkcXgyWStHK3cvR0lZbkJkUk11czY0alQv?=
 =?utf-8?B?SUlNbHhaSHdGVENpN2w4aFZNYXBwRGtOQlRiaDg0ZTgvMzBwRkNMRHVQeVI0?=
 =?utf-8?B?NUoxWDNQRmtLM3Q3UnJjbTRQNzQ3RXd0M0Vza0ZhYkJMRjZHNWlCYzFQUG03?=
 =?utf-8?B?aS9FZ3FwWTc1U1RnWmxPS1dGVlhXamNRR00yT2ZGdzJBWHh3VGVjaCs0TnVG?=
 =?utf-8?B?NWVqdHpMM3VBTng3bEZ4Sys2M0ZQcEtvdkxZcVBpY1ZSM0krUG93TVIvQ0R3?=
 =?utf-8?B?RHdLdWw4aDdBOGlPVHhqOE9RZWJpT2RaTmFxd2NablFLMm4yWGN5N29NSTRY?=
 =?utf-8?Q?vITQovsvzJd2RL34igZsLcjkU?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e3a53913-a2ee-497e-d2f0-08dbeb2c67e6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 07:26:55.8555
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G3xmgb3aRsTFJv+67zLxhx5dOkNtBPUqEcMjpc5y8gUW+EbQlqjgldUVZ0ict+XvyoFAc/SBU3/7YR9PxR/LLQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7553

Don't let this end in SEGV, due to the subsequent NULL deref.

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

--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -2189,6 +2189,13 @@ void do_test(uint8_t *instr, unsigned in
     {
         s = x86_decode_insn(ctxt, fetch);
 
+        if ( !s )
+        {
+            print_insn(instr, len);
+            printf(" failed to decode\n");
+            return;
+        }
+
         if ( x86_insn_length(s, ctxt) != len )
         {
             print_insn(instr, len);
@@ -2218,6 +2225,13 @@ void do_test(uint8_t *instr, unsigned in
 
         s = x86_decode_insn(ctxt, fetch);
 
+        if ( !s )
+        {
+            print_insn(instr, len);
+            printf(" failed to decode\n");
+            return;
+        }
+
         if ( x86_insn_length(s, ctxt) != len )
         {
             print_insn(instr, len);


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 07:43:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 07:43:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638465.994993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5hte-000189-6o; Wed, 22 Nov 2023 07:43:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638465.994993; Wed, 22 Nov 2023 07:43: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 1r5hte-000182-2A; Wed, 22 Nov 2023 07:43:42 +0000
Received: by outflank-mailman (input) for mailman id 638465;
 Wed, 22 Nov 2023 07:43: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5htc-00017w-V4
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 07:43:40 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d983ca3a-890a-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 08:43:39 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9859.eurprd04.prod.outlook.com (2603:10a6:800:1d9::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 07:43:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 07: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>
X-Inumbo-ID: d983ca3a-890a-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dvQ3VSJFR4Xcf1iG5Nk55+pIWyMWxyjsSWpvHfnmDGe7UmMk+wrBLmWhy1ldQLlc0noHmri8LGgidbmtmgNZLIQNR3FhfPIxa7v2wFo/dLS3t/MSIKUaB47jrfE3DXIaaRcTZJlyqVjUB7aB9GsfNgnMI3Kb2T9ORs0a8oXbpy/g0fyHU84qA8ytszZJ29fgQ4+3baFXVjizYLLT988/k0Ea4NCVPMJnwUIoLKnDtaKrVnWaudOk0NUDx+LbIArTSmPGUftdqGB+r+uaPRu3G6uzYVKbjoczDkmDFrAYsvw7O89cFnc+uG8zxMR2e0rhkJ9hwitCE0Al1boJ91Tl9g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wrlPF5MN7NH0C6bG6eJdQezjUMoAaUeRdlpm18KoPYM=;
 b=MxUdZPNwcHxusni4P5wehOU6gFWTXoC075M86b84Mit3SMiLbPf+hJe7AAGOXDWvVRXCEVaHQLxdASgg9oCm6hiQMJGHAYyQIE5+tmNq4cujg47gVYqOlVmCLNt/lxc2qh21QLz5cPWoXZp0Gdadi8MSfeiJQETqa17pOMCaOTPx++RACkgjZz5TIX8lGrHrf8EzSUsJ/oOsxLrwLE7ytBVxHEYR1q2POW3Hozk1q6J9TpCdMQClGp12PXNhZLRPsmO3+sVnCik0wkwMu2IISlYkbD/YyV4n/UTuGtRaZ9vEFGCXzJvP2B1+kf22SVcrXkOEWX8kcIzCgfshZ4nTBA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wrlPF5MN7NH0C6bG6eJdQezjUMoAaUeRdlpm18KoPYM=;
 b=bw5KIIdBDqYrYpQnjqzTqTuvUACmGDKJ67Ta27Fo9LjsKFisngJwsMYk40zIdSUUbVeoGbgMte6HsCcFt5fucr3uE0nFTNJpfRaSM6gAM7Ax2dax7lqJogbNcrQNhN7ks6tFekujIJ3+AxX3uNxnTw5n1L+VM2QxP7FdMQ1hUs30HfK1IbnJdWsG6SeHD+SL6rKNKRUtm5U/zH588l2RNe8QCdhp/de2LOmpkNNaIkjGYv9zg4A1O3tAHbM1p7sqFD+IJ+hkVRe3QwKSx/vkLkWkvmPMLGVXN/nADwrYG0lZavsH3pDIzFNiqt3JBGvfzWs35Wh9V0r67E0pb3p0mg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2736e884-4b28-4ee9-b23e-24e763355d1f@suse.com>
Date: Wed, 22 Nov 2023 08:43:06 +0100
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2] x86/cpuid: enumerate and expose PREFETCHIT{0,1}
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
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0066.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ce::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9859:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b981998-1b25-4ae6-a1e9-08dbeb2eab50
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HHkmd1OmMQ7T7po+baXMC3jb7egLhh2Cvqo1Vx++p+SnBUttTtGBo9uT+BKor7odfwKgyM9zgMFHXqQJK+wLJ91VTw+Ysvy/VJuGoIY39yeB9kSTzXCeTRC2GbMWvUFD0bcGayNMwfj2GeMjExNdnDpDYg44A2iSsRxjeESVzGDyS+ReJHapzZLZ2jOtTI5AjqV/YVEvIN7t+Dg1jFEanMWcgGqocHk1vfW86ueyaddeKpUvC1DjkSKSA0P/uF/GdF34/Ep2plceBMUlodM2dQia4tivml2PclrziNp3UqqM9uf/OothnBLFFMESQH4uoSJhOHVWWzIbmasqFVWm31LBcj9ue4YwOrnB0Cl6UHBB5nh16Zyrn0pxMDOZVrMjFsUcbijfj3ytFKDDZWvNqRa1fVkbL7GsIKfDW5zUY3Bk0kHRV+BfZm/aHwnkKCeUuOlJ9c/AQWYgp2A1h85Bi+IslW+zsFjeIaGaNEloHV0i3mt9RvdBCB5yNrP6IEyO+0K2fTpaRTZJWo5UxM4RrtpV0vM3w3pimFVZ99Cmsk69IdA//pxFxecnVL1PYdCMbZaDKnH1/vJrbVuX5148Oqb3k9zRW+KL9L3MedjwHlbFWqBGhahsW+RKj5GJLWqw3Fm/g6GTGrcBq5qTJzK9CQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(376002)(366004)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(2616005)(6512007)(26005)(6506007)(83380400001)(478600001)(2906002)(5660300002)(41300700001)(6486002)(4326008)(8676002)(8936002)(6916009)(54906003)(66476007)(66556008)(66946007)(316002)(38100700002)(36756003)(31696002)(86362001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y0dCVkxyZjZ3US90QVlHUlZ3N2xMYUFQQjl1K2svVkhvSlRKekxyUm9zeVNL?=
 =?utf-8?B?b0IvazIrVm5RemZSckZNdThzRndxWmdqK0NrUWxjeDlpWXpEZGpXcEVrSCtB?=
 =?utf-8?B?WjhUZkhjWFNuaHFKQndzSVZGaVFhNWNReHZ3UG5hOFYvSjVuVExGL3RZaGtP?=
 =?utf-8?B?NTdCTzNQbVhyK1pMZUdFMm93ZFFXeWNNQXp5MkJoaHBzbFQ2MnpDUXNocyt5?=
 =?utf-8?B?YzZNRW5Ub2NlbUdLWUk5b1JuYlNXKytxZmRxcjJ2cWExYkpsTVUwT0s2Nkph?=
 =?utf-8?B?WEdmZHNqN0QvOHp1WFhIZTV4dUVFb2toMmNPMEVYeWlnYkptZ3YrcHY3TVFU?=
 =?utf-8?B?T3lUdVk1VnFjVDdCUDdRL251aG00dFJDUTEwY2xDUUQrRmY2M3IxeUZuNXZX?=
 =?utf-8?B?VzhYSHgwWjlmeUp2Ukp4VjRuQjB3VnRNTE83Q0hOcitZdWRNemlYeGNZQlZS?=
 =?utf-8?B?Z1dtNmExNkpOOVRxL01zandwTWh1bFdZRHNISFVNbDRlS25pbGtqRFdRZHd3?=
 =?utf-8?B?eWhCcUxoWm5mekd6Y3kzM1lXem9laUxCSVZYQk5kZnNLa0ltOVVFSzlZa0lx?=
 =?utf-8?B?WDE1TEJRamdTNHQvbW03OHlpOUc4ci9jQmhuSFc3UWJWZDRFRm45YWxFeE43?=
 =?utf-8?B?NXlic1VaYy9uNm9iSExmaG80U3Y2cXE3bmhrNzV0YzUxKzBxSi96NWNTNkQ5?=
 =?utf-8?B?SUxWa0dYQnZNTU1kRnkvbDRCNnFmeXR0VTZnTXE5Si91TTU2UjVLb0F2TURN?=
 =?utf-8?B?aHBmLy9XVE1PZkRGTkI5bE5aVEU3R01LdlRaOHNXSjRWaU5KNjNIaDJYN0Nx?=
 =?utf-8?B?MlYxaCtyVFpBMkxTK2taSnpoN0NSSjVRZzFnQnFJb0xmTEtlUFJ3bnlkdURZ?=
 =?utf-8?B?TU5qL3RHTThtdkZlYVNUMlN0ZTZSTDM5Ti9tWUhSREJVOERFMXYycVlkWkhl?=
 =?utf-8?B?SnZXWk5FQjB0dG9seHhrVnVlS2pFdGtUTUMyYWgrdDRuVHAvWDRHa1BOY3lC?=
 =?utf-8?B?RUluMlJZQ04wQytqbDlraVBFeTFyTjRBczg4SGFpNHg3aC9UaVY4TC9kSzZ4?=
 =?utf-8?B?MkVycEsyZUV2ZFFSV1loaXRKZnIzMjJnd3B0TmVYM2N5UHo5SVJkUWtReUR5?=
 =?utf-8?B?T2VUamFPU2tTbWhqZE1YdXNDSHBNeHNZU2VRWjZMcVpvUVIxWjFqSzhueXRz?=
 =?utf-8?B?THN2WEZBWmJBY2lNMnpTUXNiQ0lqRitZMFRNRlloeWZWWEpFQUJrWGZQbGRP?=
 =?utf-8?B?bVJNTWppWDRRNXY4d1Roc1RCQUdHY1FzZkhMckZrQ2wyM3lmNTA2VGRBR2kz?=
 =?utf-8?B?NklmRUZtcnFGSW1TQU9FVkE1REJsaThtaGRsTjV6Q1ZkRW84TCtPajdzRVJq?=
 =?utf-8?B?ekVUQWN0cnNpa1FrWHhicDdYNFBaTlJuWkhYNERMQzM4NHlYa2xlaHdiYlZG?=
 =?utf-8?B?RDNPNmthSjVzVDFFRzJKOVIvcDlmN3VoOWc0UG1LVzNVTzdYaE5pZUVoM2xK?=
 =?utf-8?B?S1V3bGl0M2w1NFJ1S0QyQ1QwWEhzWWJpQmUvRHBKZUhWQ1ZMVkE4TUdHeXVX?=
 =?utf-8?B?N25wUy9ubDF3SmRTTG5paEdWSXk3YTBTQm02dWhuRHFyQnpXRUhsUElHakxa?=
 =?utf-8?B?cU5QYVduQ2pDVXc4YW1ZY0I2dXdnS28wczAyRW1ZUklVc1N5dnBMU3dFanRj?=
 =?utf-8?B?UVNGaTBzWUF3Y0FwK1U4RWNWc24rbkorbVhZcFhWNEhUMTdLUXNxZTF5enI4?=
 =?utf-8?B?WGEyTEtWRjRxVEFBQU1kRlJJY2hBdHBJM3pqZzRXL1JVdHYvQU1hcGZUbVRm?=
 =?utf-8?B?UUtLaXNwK1crL3VuSmZKRFlMbGtFc2dud3lNVmlBNG5Ga0o0cHc3dCtEOTBN?=
 =?utf-8?B?RjR1M0REcjJNNzZnTGwrSGFlZWovWUZZb2plNGVzVkY3L3dHd1NYbTQ5Vlh6?=
 =?utf-8?B?blZJVkVOMlVNdFpoa2dDeFFDZWFCL2VuZ21IRW5IWmNJcVJUa3U4S2pDTTcx?=
 =?utf-8?B?UjBCMVpZdW4rcEl3Yy82NytET0NTVnRCOHNCTHNuRENsTDdtQVJIZ0FXS2Ez?=
 =?utf-8?B?WGNxOGlrRGRlZE1qcUxITWJJYzV0TGpVS3F6ak5HaS9JUnRUalh4UXgvNlhR?=
 =?utf-8?Q?FcJXZfJG5hBkARRLUSmWjJRUz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b981998-1b25-4ae6-a1e9-08dbeb2eab50
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 07:43:07.9295
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: llV+xNJikG3kJ9UtrHtAKETnTCDWQJVLoANKSSe27o0TiwtE40VWdeFN7JRW3nTvcU+9D8EDmvb0xDpgGZUyGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9859

There's nothing else that should need doing in order for guests to be
able to use these insns, as the encodings are in what's otherwise NOP
space.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: gen-cpuid adjustment.

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -220,6 +220,8 @@ static const char *const str_7d1[32] =
 {
     [ 4] = "avx-vnni-int8",       [ 5] = "avx-ne-convert",
 
+    [14] = "prefetchi",
+
     [18] = "cet-sss",
 };
 
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -310,6 +310,7 @@ XEN_CPUFEATURE(AVX_VNNI_INT8,      15*32
 /* Intel-defined CPU features, CPUID level 0x00000007:1.edx, word 15 */
 XEN_CPUFEATURE(AVX_VNNI_INT8,      15*32+ 4) /*A  AVX-VNNI-INT8 Instructions */
 XEN_CPUFEATURE(AVX_NE_CONVERT,     15*32+ 5) /*A  AVX-NE-CONVERT Instructions */
+XEN_CPUFEATURE(PREFETCHI,          15*32+14) /*A  PREFETCHIT{0,1} Instructions */
 XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.eax, word 16 */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -274,7 +274,7 @@ def crunch_numbers(state):
         # superpages, PCID and PKU are only available in 4 level paging.
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL],
+        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, PREFETCHI],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 07:52:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 07:52:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638469.995003 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5i2U-0003L3-5j; Wed, 22 Nov 2023 07:52:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638469.995003; Wed, 22 Nov 2023 07:52: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 1r5i2U-0003Kw-1X; Wed, 22 Nov 2023 07:52:50 +0000
Received: by outflank-mailman (input) for mailman id 638469;
 Wed, 22 Nov 2023 07:52: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5i2T-0003Kp-3v
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 07:52:49 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on062d.outbound.protection.outlook.com
 [2a01:111:f400:fe02::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2021aa52-890c-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 08:52:47 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7248.eurprd04.prod.outlook.com (2603:10a6:800:1aa::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Wed, 22 Nov
 2023 07:52:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 07:52: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: 2021aa52-890c-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fvddIeMpPoxPItWe+XDSwySb8kNZN7pjyrqtzNHG4EuxuQGhxMWNcGd8mEw75FSm30Ax0qHq52Kt2BAHgmaM0ZV8jxkvx+liE3pCzyJiQP0HH1UrwxfcMbTAiM1wZj0SYysisJJ+M0SXbv3W5mWfd0XkjpQzhDfusoYtWo6go6UgkQdmUphTvXAkRCWs0SiegtT9bYrkrCi6yUuQ+/W4XDdIohmOQfgVnChq1ViuZgoqxaRSKL7pu51JyZIzL3qAlseiJEkGzIeHCYjY8xc0760tf5T4gnIGaNA2ML5Kqvj00aJPxAMjCbxpFtZl89TICVZYGi8/p690elqCH+Qezg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7q4ZF8gCc/7gDZGwVFKqF3sfQnsb7NFM9eVOknlZWjo=;
 b=OzXoHzUnbg0QwMAMaCC81FOr046oZTkZynkyPhSVlhUkm8ny+T74ADnx9sjcQ5cXHENVOibc6iw4joLUSvczJ1BT1NkCQBZSfFFE9zTNnc4M7R8xpE/Vi6raEFErwftT7YySjrIoXqIZ2PNfMMmybVBCz9Js0I8WDl1usl4Jo/FYOv/ttj50YUmrB7+oS9ofevmEBNljglWgecwWt8HNi3OLgrZtj/DxLnAwIWVFIbl9EfQiRd8SPSh++NI0IKbsfAjFfkChqI3uOQn2+gALVd6fEgeYxbOooEiLRLX/OUQmaybqN1PNlSgrNiIHGvtI2bqxKw3CTEG6Fn4rPYvwCA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7q4ZF8gCc/7gDZGwVFKqF3sfQnsb7NFM9eVOknlZWjo=;
 b=yDc220cZw3gW87iO4gy7i038e8qyKMt2VsE8rN1sz3k9WvEt6fC6MOG8XpSBlR1OYPA1jhBL7v9e8mad44QNcq4g0VO4vHo5nasWOYhJah9Vg3HDHDBfqfxV2D+5LoBLQfULIC5tHHyfPyDonJiLgBrh5tDeVXvWJbTB19pcmKEYgWFUL6EAQLqoX+A+MDxkBCsozfuot1NOpEuGKN+DShnw+B5DbJjTu4C/j+EROn8Crce/IEazE5xROT04JJDb9IYWC2Sgmqpj5kjYDE9kS35Na6Om69I7OsVKsCyjYdVea4Yi9dSfxDXiXS/Dt1qSuunT11g0yCDx+/XB9QTEzA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <33f43b2b-985b-4417-ba27-b7691deaa8b8@suse.com>
Date: Wed, 22 Nov 2023 08:52:41 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/HVM: hide SVM/VMX when their enabling is
 prohibited by firmware
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>, Kevin Tian <kevin.tian@intel.com>,
 Jun Nakajima <jun.nakajima@intel.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <b16802f5-13ae-47a0-b12d-604928f4cf7e@suse.com>
 <ZVzZy-KYgdAsqRE3@macbook.local>
 <d63dfc54-cf89-44b7-ab7e-983037892833@suse.com>
 <b75a4d31-260c-4377-b68c-c8153dfd948e@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b75a4d31-260c-4377-b68c-c8153dfd948e@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7248:EE_
X-MS-Office365-Filtering-Correlation-Id: 7a4d8a25-c32d-492f-4ee8-08dbeb300297
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dau0fyDLLqmx8g6oODOFrzZHpPPd0rZumHPidWGEpuJFcL/aQ/ZYrHsh2WsbLFT3JgmHEZ3XzSd1BqNBhJY+Kj8JECBXICj04ui/bwrKqeW61L5zdSkInxNbznCfVml/fZvs9FejQKolULnmGchLeINtAOfcZhxOydOq9z7PM+2e1Eg+ImpdUX+J18VTOssvArXjQ5z8bSEG1TTb4yOwwavrLfuG1WOvCRtyCa79wqOgmpb7qqgqoW17gx3O9kv3viBRSJbLP7AZa3oN5L/fombP4gtK5+jfxHxRuaGUBOuvZeojsYTHgaE8vVQu2BS/Vy/Hxyq09L1wRGscIwlJkxZmbDg2NgqpvjefMgpighFI/pkC8LKr1Jq2/85LWutL/Xtfd0BRGrsCUAgH7kodQz6J+ptP0Zna0BxgxMmh4Wsj+Oud+zoUE9KZu21vXWa49T/a34tkcgFLYxxTkg7J8HNZZEr0FteQfdG4ufGg99XWC/AZz0ZNLZ/eZ0fjOmCsMsNS85ATuBuK7k93xqBDRN50DbnpzG8QgKG+kflP/NigUBpVRg8L1P3ykgvGs6HqBHDG4EHSXu2wOJMJ+ET+wXzOUetCrGmTnoBV0QWDcVjdXBVFCnJBQIWl0lKDGq+iiJzQ2YEwCPp1Ygo+qsfO1w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(366004)(396003)(346002)(39860400002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(6916009)(66556008)(66476007)(316002)(54906003)(66946007)(26005)(41300700001)(36756003)(8936002)(4326008)(8676002)(38100700002)(86362001)(31696002)(2906002)(5660300002)(83380400001)(6486002)(6512007)(478600001)(53546011)(31686004)(6506007)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WXZNNHhmamFmVlovS1FSSmhhSyswcWRRaVlweEFQNEZXU1NOOXhWdGNSc1RD?=
 =?utf-8?B?R0lsK0VONzJQbEtCUkVKU2tKNS9Oelh0NW9FTW9UQjZlSCtoYlR2TnZDU21i?=
 =?utf-8?B?VENoQ3lqZVFzSmsxcldZejM4RmNwV0Z4R2pjMm83QnVaV0FHeS9ZZzRVWWpr?=
 =?utf-8?B?YkpmM2hDSFIxU2hwTUZ2eEk2U0tac0htVlI4Q0lBOSs5NWlkWHpDUVJKMHEx?=
 =?utf-8?B?VjUwVXphS0dhcXVYZ0JweHA0Vy9FMEJnME5mNXpTSDhXRGJieElQeHRjUlJU?=
 =?utf-8?B?bFE2c05WVWxLQm9BTDZhVUFrMVdLVldySXg0TVkyMm1zZ3Q0SFZZRE04cWRu?=
 =?utf-8?B?dFZ4Y0FoZDJuU2pwY1poMXBjTy96bkZFNVRRKytQZHc0c0c5bUZ6aTM1RkZH?=
 =?utf-8?B?QTlZd0ltV1o2cUlTdmlNd3g4N3liNUhEdVV0dnFsVjJBc2dxdXVrWiswV0pk?=
 =?utf-8?B?SmNrMGdwdjBacWJVenAxWlhrWElVSUJTRHRCcEpNc3F4MHROWGtpek93MFJw?=
 =?utf-8?B?OExTcXBEejNsZ2dzcFlaVTlobVpjRUtaV2xPZWE2LzRJZGowYUZvRHJ2ZE1a?=
 =?utf-8?B?T0V4amx4MHRpU3hWaWdGTnVKR0pVVjdseFhHem1CVWp0eUNaSzF5UGhZWW5i?=
 =?utf-8?B?MkFFWUNOaTA1STVYajJYR2NnemRTSFg1c1Z0UTd6N1ltYStZRm9rVDl5bE9k?=
 =?utf-8?B?eVQvNU1RVVBIb0tKSUJhYklNc3c4bFI1bkxrUFYzVE44bTE0WjVsVmpLazNw?=
 =?utf-8?B?d3lZdldhYzNtY2tIMWM1Nm5aekJEM0ZCZ2grUGQ4TjdMMW1zd3J2M0lnUWIv?=
 =?utf-8?B?b2E2RTlhVk0xOGthb0xxbzdxY2pWUlZNdXRRM0h6UWhVaVVoeUR3b05qQ0Fz?=
 =?utf-8?B?Qm9MSUpUZnM0YXJMeklORVdDT3dEU01VLzdNME10aUZ6b290UkNVRVBteTc4?=
 =?utf-8?B?SnNPQVhwSFAyMGgvRUdDa2xiUERxL2RrQ0RZajZwVm1pNkR0YzRpc3ozZk9t?=
 =?utf-8?B?eldFRzZheDMycFJ1cEtlZDZkZDFKTFUyRnNjR2ZnaVlwZ1p4OEFZS2R1Wk00?=
 =?utf-8?B?MWlUK1RuU3Q0dFBDdU42bUxqOWhIRmYrUjl4eTRQOVVXcU1vdzQxNkNuNDVj?=
 =?utf-8?B?SUJHc0hlMXN0U3hBamlOR1p5Q1NJNlJaUmtCY0tqZTNtb0xpR3RpcmlZVGQv?=
 =?utf-8?B?UEtGb3c1L0ZaVytydUxYMDNZOG5xeHdQdTZVZG1wWDd3eTdhUlo1M3VqVzFj?=
 =?utf-8?B?dU4xVUd3S3ZZREhKcElSVm1VRHlwZkxEWUU4Y3NpVkozaC80M05pcThrbDAz?=
 =?utf-8?B?Q2hCN2UzanAwaExXK01ycHEwU1d0am0xN1hSUzdYdVVqcHIwSVJtMHYvdVRj?=
 =?utf-8?B?NG83OGNDeG90d0dVU2c2Uk9yNnBoTmlrYmNYM3ZTSFJjbkpXd3g5ZWJNSW15?=
 =?utf-8?B?amw2ZzhhRVhpR1dXRlNiTElTZVRtaWpkbXBxN0V1a2NQNkZhZFhrb3JWeE1H?=
 =?utf-8?B?VmphR25GUEx4SEJMYVJFOGNDbkJiZG1Cc3paU2pxeDQvVWtlZlNkditzeDNp?=
 =?utf-8?B?bUVZaUJKV1BLdmFHN2UyQXNyVU9tM2VESVdPdmFneGFTY1ZnVVk5NytTakNY?=
 =?utf-8?B?VkgvRWEwZlNxb2c2QXVpcDVLbFFKTHNIajVQL2FacG44bHZXTjZSMXFKOXpO?=
 =?utf-8?B?a1JGbFE0TW9Cd05QMEFiZm96KytZOXNrYjVhUjFzUkRGYUQweVRhSkhOVlZH?=
 =?utf-8?B?RjlUTHZBamg1KzhWc3RRVnFCM2huSHhEb0pLNzYyVGI0TFhFeW1NaUZWN2I0?=
 =?utf-8?B?M2RIWUxrallFQ3VjdFk0UHJpWk5YemgvbU9Fak8rMzJCcEYzYTZVUElBNjQx?=
 =?utf-8?B?bkQ2d1ZPRHhKVnl5VEI5ZDdSdzNiNGpoZGM5UDhBVWFrcGwwT2Q2eFhsTTZk?=
 =?utf-8?B?eDhBUGxFc1pyL1lka2dac1VZSURkVklRV1UzWHlPaVFqUk96ZlZtMEZPODAw?=
 =?utf-8?B?YVVzSk5mcGR1OUlSQUZ1SmlubERWNC9IN1lBZVBnL1FJY3BCd0QwNW9hN3Nn?=
 =?utf-8?B?YzlDbzlMNk4rQUU4ZjI3SWM1cmlCWEhrWER5Qm9CYUt2cUsxRjVKZzJpazJR?=
 =?utf-8?Q?f7duyJ6QemX/HtRKIq/mfDT72?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7a4d8a25-c32d-492f-4ee8-08dbeb300297
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 07:52:43.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: 7kPWBjbrFRcO3KbVxBZLGV4OKmV0gVIqydK+8ZZUKapuZLHf5BxPg0EyPdtMOYsV79iTpfLSim3fuhCfAevoQw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7248

On 21.11.2023 18:31, Andrew Cooper wrote:
> On 21/11/2023 5:27 pm, Jan Beulich wrote:
>> On 21.11.2023 17:24, Roger Pau Monné wrote:
>>> On Thu, Nov 16, 2023 at 02:31:05PM +0100, Jan Beulich wrote:
>>>> --- a/xen/arch/x86/hvm/vmx/vmcs.c
>>>> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
>>>> @@ -2163,6 +2163,23 @@ int __init vmx_vmcs_init(void)
>>>>  
>>>>      if ( !ret )
>>>>          register_keyhandler('v', vmcs_dump, "dump VT-x VMCSs", 1);
>>>> +    else
>>>> +    {
>>>> +        setup_clear_cpu_cap(X86_FEATURE_VMX);
>>>> +
>>>> +        /*
>>>> +         * _vmx_vcpu_up() may have made it past feature identification.
>>>> +         * Make sure all dependent features are off as well.
>>>> +         */
>>>> +        vmx_basic_msr              = 0;
>>>> +        vmx_pin_based_exec_control = 0;
>>>> +        vmx_cpu_based_exec_control = 0;
>>>> +        vmx_secondary_exec_control = 0;
>>>> +        vmx_vmexit_control         = 0;
>>>> +        vmx_vmentry_control        = 0;
>>>> +        vmx_ept_vpid_cap           = 0;
>>>> +        vmx_vmfunc                 = 0;
>>> Are there really any usages of those variables if VMX is disabled in
>>> CPUID?
>> I wanted to be on the safe side, as to me the question was "Are there really
>> _no_ uses anywhere of those variables if VMX is disabled in CPUID?" And I
>> couldn't easily convince myself of this being the case, seeing how all of
>> vmcs.h's cpu_has_* are defined (and I'm pretty sure we have uses outside of
>> arch/x86/hvm/vmx/).
> 
> Before you commit, are you sure that VT-d will continue to be happy
> using IOMMU superpages when the EPT features are cleared like this?

There aren't going to be HVM guests in the case the clearing above happens.
And the only thing that happens when vtd_ept_page_compatible() returns
false is that page table sharing is suppressed, which is relevant only for
HVM guests.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 07:55:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 07:55:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638471.995013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5i4i-0003t3-HA; Wed, 22 Nov 2023 07:55:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638471.995013; Wed, 22 Nov 2023 07: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 1r5i4i-0003sw-E3; Wed, 22 Nov 2023 07:55:08 +0000
Received: by outflank-mailman (input) for mailman id 638471;
 Wed, 22 Nov 2023 07:55: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=kbX3=HD=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5i4h-0003so-0N
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 07:55:07 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72c1c7b6-890c-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 08:55:05 +0100 (CET)
Received: from MN2PR04CA0015.namprd04.prod.outlook.com (2603:10b6:208:d4::28)
 by DS7PR12MB8370.namprd12.prod.outlook.com (2603:10b6:8:eb::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 07:55:00 +0000
Received: from BL02EPF0001A0FE.namprd03.prod.outlook.com
 (2603:10b6:208:d4:cafe::f8) by MN2PR04CA0015.outlook.office365.com
 (2603:10b6:208:d4::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18 via Frontend
 Transport; Wed, 22 Nov 2023 07:55:00 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0001A0FE.mail.protection.outlook.com (10.167.242.105) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Wed, 22 Nov 2023 07:54:59 +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.2507.34; Wed, 22 Nov
 2023 01:54:59 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Tue, 21 Nov
 2023 23:54:59 -0800
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 22 Nov 2023 01:54:57 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72c1c7b6-890c-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LSCJTn8sInPYq9dfsZbNkTfjZ+1FC0uME8AZrba/r6+4HKHZaIr26h7g9vOrfP+aevyBF3PzOEi8yY9UC2VY/4EFAsbQugeM+Lg3c3B2cdEvyapUYtV6rCh5dpqY+mBcJeeTFsc3S8Hvdi5eAYpVB/4mW6PU4+gsJb3u+YKCLVXq+zUOx18j8ex2ebPLN8x6j1Pv3YbRPGFf50erDKAVEZXYMiqZKpIAcF0LZ4ETsKyN6anCcPuRX5iQY6KwqvLQdXAj53JkFwMVAnPN+7PeFAYQe8IzGKbgD97mKhGwOeq6dD0cQ0B5+L6cMLgFz9tNBbe7Z/tId/Jc9lraiSG9QQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8ytBlivuCZKQdBZz6Sk2+hSBkBvIwKeydrGsVB+kWIc=;
 b=DC9+Nuf5fF/hsQZICTTdkaVWB9myCzps0bJg59H7rOQdVlk9ZPSrTrGt0FRJoa7m0ZB8Mh+qko0b9nq79GH7LE/LHq6bsA3vgSMmvwtxol+QMG8fuZbGGiARY1GY7L2ApZ9azpmwiFfGJmjgt+JtgbGlaYe0klbyQAebuS21G/Lyihcz0P7FbCSONy1cK4ofKm1n41IXJdqmRZxjfydQ+LMHfgHWjHQgmEK1efKL06pPufP+hsnbyQ32kCA5zA+my99FSseLi3hcoVXQcq8prFnQ+bRuHC0CwgDgRfO9EySoDNY628oktdfCN889T6YEiTJJ7441nivb5edvv85iNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=8ytBlivuCZKQdBZz6Sk2+hSBkBvIwKeydrGsVB+kWIc=;
 b=NMm8Yio0ZuBicsA83QkhRY8vASdWMXgP5krB3nq5kslV0ao0AUNsegdBRlz/pjq/lITJas0imc1N+LELmT8vhPkiwqGUejvPDXHtqoAQu/k4TEadAHvba2zh7yWLsNkW1wVBNXK5E19iWURAR334jQawIOjNvFj7L+5kXKadbSQ=
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: <f6a4ede4-b39f-4866-87f8-f35a85ee75a9@amd.com>
Date: Wed, 22 Nov 2023 08:54:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] xen/arm64: head: Move earlyprintk 'hex' string to
 .rodata.str
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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-2-michal.orzel@amd.com>
 <cbe5470e-2017-4c4f-bd32-987da72aaf44@xen.org>
 <5b4ac8af-98a6-4757-9946-d520baa6a2a7@amd.com>
 <20135dd2-d36e-4c83-bdb6-b987174f18f2@xen.org>
 <609e34d9-654b-4dcd-8be7-15aa10fe3a25@amd.com>
 <fa76ef0e-7150-4dab-a4ca-f8d42addc228@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <fa76ef0e-7150-4dab-a4ca-f8d42addc228@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FE:EE_|DS7PR12MB8370:EE_
X-MS-Office365-Filtering-Correlation-Id: cad65b96-4324-4d0c-e32a-08dbeb305392
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zHB+2mjRAiiEtvL4yYrKI2V+yGriKdfmK7GAOJuvxrGoPzQmisFX8Ixig4y8KTA80VZtKmXy7U/XMUiKuewqm3MphowwtPofH2JxEs+TY3rupNWqWCBG2b3HI0cu7yBwLjQ86U2yQiVKHa1HpDKb+iuSM2EGskSty1SALxnaAawMNi6yAuR6uanCB6ejNzjabv8dZS6Jnf5oG5zbiicqrJfPQjChxfl4DGDIMqE87lxsSop1a4k/DeB27x3SJb47u5OUHWyLMwhEUuW4MIrypHcgPJfY+aDSS5eOr1YTN0k5Abrqc/FaqN8ZGWNZZ96tu1NcMC4fVqSCayZzMiIJteWm7/lTJXCYe2AJEfrOipoKL01q9Z5Fla8LnKRzhk8hywJyBbcgBcxgbANXRSbW6ReqyILn7F/VF5m0qrbRzOux79Ae1BURxDrrai41jVzMrUorfjasAyHfbsCPPy39hUdnBw08GD6AQirfXXA6QqtSuARqHfaolXv9qb8i5f566/A627LVnARrkWRzJ6putkUbbJkHenAeUJ5m7OmrfcGwT+uwIbmAJs2SsyUSdI+HqTv3TOjDRvEmUb/uefKmi8WK8EYLtnfro61cMZNBEb84RBb8uYST0iUyFUCenPilUQ3OVPeT1GB28rnO+E7tjh7dXUtV0+SeLO7SIWvcWide7bkJtE7X1e6zg6ZU9hBniGWq7cTIMkkc0ma1ONMv8FDppcaOmHwavtjJCrB354Y3Hv6atC5Bmd0GtA4C4RrvDHfyCLrFgZGiJVoBqWSD070IkNqOkmrqKBo5sZx6KcoGdX5hCFJ8ySr1yeFJy/cR7id5zDPhIJKgvoYA74HLpQ==
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:(13230031)(4636009)(39860400002)(136003)(346002)(396003)(376002)(230922051799003)(186009)(64100799003)(82310400011)(1800799012)(451199024)(46966006)(40470700004)(36840700001)(336012)(82740400003)(426003)(83380400001)(478600001)(26005)(53546011)(40480700001)(2616005)(8936002)(110136005)(8676002)(316002)(70206006)(54906003)(4326008)(16576012)(70586007)(31686004)(36860700001)(47076005)(5660300002)(356005)(81166007)(2906002)(40460700003)(41300700001)(86362001)(31696002)(66899024)(44832011)(36756003)(142923001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 07:54:59.5681
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: cad65b96-4324-4d0c-e32a-08dbeb305392
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:
	BL02EPF0001A0FE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB8370

Hi,

On 21/11/2023 19:31, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 21/11/2023 17:18, Michal Orzel wrote:
>>
>>
>> On 21/11/2023 18:04, Julien Grall wrote:
>>>
>>>
>>> On 21/11/2023 17:00, Michal Orzel wrote:
>>>> Hi Julien,
>>>
>>> Hi,
>>>
>>>> On 21/11/2023 17:09, Julien Grall wrote:
>>>>>
>>>>>
>>>>> Hi Michal,
>>>>>
>>>>> On 21/11/2023 09:45, Michal Orzel wrote:
>>>>>> At the moment, the 'hex' string is placed right after the 'putn'
>>>>>> function in the .text section. This is because of the limited range
>>>>>> (+/- 1MB) of PC relative 'adr' instruction 'putn' uses. Modify it to use
>>>>>> 'adr_l' instead (range extended to +/- 4GB) and move the string to
>>>>>> .rodata.str. This way all the earlyprintk messages will be part of .rodata
>>>>>> and the behavior will be consistent with what we already do on arm32.
>>>>>
>>>>> This will be correct today, but I am actually thinking to move 'hex' to
>>>>> .rodata.idmap so it can be used while we are on the 1:1 mapping and/or
>>>>> temporary mapping.
>>>> So you are planning on extending your series to also cover arm64?
>>>
>>> It is not in my soonish plan. But you are arguing that this patch is for
>>> consistency with arm32. This will not be after my series.
>> Hmm, consistency was not the only reason for sending this patch. It's a beneficial side effect
>> given that putn implementations are very similar on arm32/arm64.
>> Are you saying that
>> moving a string that is const from .text to .rodata is not a good change?
> 
> .rodata is better but I would rather prefer if this is moved to
> .rodata.idmap directly.
> 
>>
>>>
>>> And I would not change arm64 just for consistency because I don't view
>>> it as necessary. The boot code is already not the same.
>> I don't recall trying to make the entire boot code consistent. But if there are parts that
>> are almost identical, I think symmetry is welcomed. It helps reading the code, at least for me.
> 
> If you want symmetry, then I am happy to switch to .rodata.idmap. But I
> would rather not first move to .rodata and then in a month time switch
> to .rodata.idmap.
Ok, fair enough.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:01:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:01:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638479.995023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5iAo-0006ih-Ib; Wed, 22 Nov 2023 08:01:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638479.995023; Wed, 22 Nov 2023 08:01: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 1r5iAo-0006ia-Fb; Wed, 22 Nov 2023 08:01:26 +0000
Received: by outflank-mailman (input) for mailman id 638479;
 Wed, 22 Nov 2023 08:01: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5iAn-0006iU-DY
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:01:25 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20628.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 53d5b496-890d-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:01:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB7174.eurprd04.prod.outlook.com (2603:10a6:20b:11a::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 08:01:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 08:01: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: 53d5b496-890d-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MMCJLftFiiwTZhz3XsE4elQOOg+XIXNu10RblEjul4Jy/W3d49lVPle6qxiaOkRygmFM2JQb0pVqFQGJechJS8OzUYuYX4TDP2iRTGxqzg+WQRHrtcH/+Z5Z0PZ+Lmi0mSjtcj/xUjQsxALliwrUZRXpV1QWpzky+ej2JfK1DVh47HvTvvfTnU930bjjr5kmZPWcFUVRM7tXZF/Rz+Km5jq7/5nneiHeDH/xd0pHR4fMKXJBZyz+C1cexM0iwFn+ipIcvCP043SFTVUlcQXqwaPbgB46Ylsps2uEeU6y94n896ZUPZJVryQZP1ZHQd5+bv81qpn/oR6FPoOqYfwQIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3m70eU5viI0Vn3R0U+8t5JtOiWSmSULrF3y2kFn+MLs=;
 b=Jde+DFD8CRhf4ZkdMW/iWPSNfyat3Uj5MO1KZ5LJoqHT1ikpyVB8ri0gBu1q8KNClae5xorbgpKqbtPbka5DV2A76MctzI+Yl8gemGxYV8UrJtuONrx+kdPI3gPUHdKC+3BvVsqigRlZjYvIJet1ZkOiDfuRmwI3miatgAnKSlJC5DrW/zImx07G60xG4kzO1ctQuRSMg6+RmbsH4Wimum4nnjjNxGVJvQINWG+Z4/7nSMNVcqRkF7JQYJeIoWl6BRV5dPjA1+I22Zo+ylaQWFCXeXP0Bn4iLu11dT/GavcksI7AwwXzi+yTh7JtXRVzm22haSMR1MUBPrFCReo97g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3m70eU5viI0Vn3R0U+8t5JtOiWSmSULrF3y2kFn+MLs=;
 b=jPMqIwYMrnDrYdmI0JRZANBRtpoYWo7WjUrY22eTyFiBsYtPeeedT8FyyzSnR/f8a0P50XUryl+/VXymxMljLhvYjRGRK9vnW4VGzWOIJCnu93R9gvbvHzwvw2bKWRJ/j5SlBwcfr0ZXECV5GUzWxofuqIfHElT5Z5O6d8Iphnwg1NH6RSLa8TceggWMbO8M9nCfqEqU9lkX7EbvcXs0q3iXwWsJL5rkf91/FQ6VIRi9uG8J3Mh1nH0YFXhrLAJEUKko8gsnTdBTbIPpSijeXgQEzBRzxdJgtWltUMi8+6NlEWXC/z/aB7INxf0HzPjv47ZpI4SUUafaSNGnu+K2HQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <109256b1-f18c-4c3c-a433-979e020270b8@suse.com>
Date: Wed, 22 Nov 2023 09:01:18 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/5] xen/sort: address violations of MISRA C:2012 Rule
 8.2
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Federico Serafini <federico.serafini@bugseng.com>,
 consulting@bugseng.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: <cover.1700209834.git.federico.serafini@bugseng.com>
 <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
 <19d887e6-8c07-43f3-a2de-88ce0a0c99ba@suse.com>
 <b481a966-4f29-4b05-8246-d3f1eec19d0c@bugseng.com>
 <51010cec-596a-4249-82dc-ac711c3962c3@suse.com>
 <alpine.DEB.2.22.394.2311201603220.773207@ubuntu-linux-20-04-desktop>
 <dc07af2c-c011-4c06-a573-6aa95deb9ec6@suse.com>
 <alpine.DEB.2.22.394.2311211716240.2053963@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311211716240.2053963@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB7174:EE_
X-MS-Office365-Filtering-Correlation-Id: 0425a411-2082-4b55-1170-08dbeb313640
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/aLfSMHjHHN+uuCG4qzb9+nEq9ZJUH6haWQKez443jOoDPOLG8KUzHXUU9MLqnNM7e2h7WrvYgAGZ2pNTCWC1AWitgWEXK6x/j4C1QfVlS2uKb325GNdpmCi0jMaLOR3V1uD9cd1YgoWjsrB6nkSWG0CFXnZjoK9yKuAg45QPR6hrrtD0ytuFUfRk2eSbKv4z2Jvs99zZNlgJxyHO5lVkqjYJu46WpIiEBTNVFhmQDBnYPhQpGf8UydYpMWi8GWmh/FHQgvJgWafxaakcPUDw+o6Mltyso1PCHfNlEujEXta4nLdOC1XutXtnSCW+bLkcZ/qe3aPg7LZh8fCRi/EcVAU/1LV0Gvxt8FNdYd94u1WutkUYhSLI64+HsYLXcY3BLR982P7QuB0gJ0yBdZzSevP7DS0f5pNppJ0yv1m9b4oDf91fJtPLyHo8KSh4kFrG+hQ6OrefwVX1LNUYeyAYhlEKlRbLbS3GLJtiaO9kSTj4u4iVb1iep5FXpxnqMKse4iW7JSzBZhT5BF25dR/9hEz5n3B2N5Q7qINPA3EhEROYMO5QRs8Ray1JW/VT29ej17VT8r18+pb4wD64j6KEqJ1SCDAKepDH+Hg5cHRsxNEyYTfiqbM+24u2AR1nZhC6yZ/PIKFWxc5EwD2qImWug==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(39860400002)(376002)(366004)(136003)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(31686004)(2616005)(26005)(6512007)(36756003)(86362001)(31696002)(38100700002)(83380400001)(5660300002)(2906002)(6506007)(478600001)(53546011)(54906003)(6916009)(8676002)(316002)(4326008)(41300700001)(8936002)(66476007)(6486002)(66946007)(66556008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZWJRVXBhVnBUK0x4VFV0V2YyN2hVeDIvRkFaWDREY0thMlp4QjlCVFVISTBz?=
 =?utf-8?B?dVN2MEhML1JKajV3RUFtanByMGVjK1pxN1NDd3djM3pQR1NCOGloaWZuVGMz?=
 =?utf-8?B?U2pYNHo1b1lRaDlvNk0rMitJY2lleFNmZ0NYeDUwcjEwMCtCQWNBWlBKTi9l?=
 =?utf-8?B?Umx5emJ4R1pMVEdwQkY2cU95cml5THRoNVBtRSt6cStLTjdodjAyWjdJRkdG?=
 =?utf-8?B?WVcrc3hCQmpFUTlhTUZQRG03MlZlSUZNMDBHK1hMOEwrbThYNGFLZncyRm5u?=
 =?utf-8?B?U0diejB0ekw1OFB1Ujh4N2M1RXRvemZWOEQwdFVFQUQxQUE5NS9XYzFIU1lO?=
 =?utf-8?B?ZEVTQ2NoR21rVGVma0dqYitUK2VCMTBDNGxTeTlrLzRVUUM2dVBITEU1UFVN?=
 =?utf-8?B?QlozMHVQRnlvU1BJMldHaWFCUnpSMjY1SllCQWw0RGNqSmQwMURqWmo2dkpp?=
 =?utf-8?B?VGNhUE9OV2lVc1Zjbzh6MWNyT3QwbEt6UFVJS1lkWXhXaXdqcGY3VTQ4UE1B?=
 =?utf-8?B?di9NTHpWTnkzaVY0bVdaazV1T2RtZE5OMTVnQXRwZi8vWTNhT3FxOG92UUtK?=
 =?utf-8?B?Q0tsNTdYVTVRWHdwZ1R3UENEeWlKSXA2Zk51RFR0dGR0d2hCWVBIc1llcGMr?=
 =?utf-8?B?UDk3eFB5cGFZa1pqTHVxTUZmNURVelc0Q3h2a2pjM3I5TXdPbFhjSUZ6RlJI?=
 =?utf-8?B?Q3g3Nkp4aGxFbmNpeklwTUR4cVFXR3lFTG9LWStRTi93MnBYNnJIbUNOYnFt?=
 =?utf-8?B?b1ZDVGlDdUV6eUNtT1J2T1lOMk1WeEFENndvczdIaGRPSEtQNTlHQjd1ZkdG?=
 =?utf-8?B?eHBoWVh0WnRVSFJnZTFSVUxpME43MmdDK0UrVm5xVXRzZEdEczl3TGFiUVl4?=
 =?utf-8?B?QnJMNmhObjg4c2Y3cUZRNzM3VjAzQVlmcWsralNZZmJaT1RDM3BXY2NaUWF1?=
 =?utf-8?B?WkZ4Y2o5Y25DREtVeGNNd0ZraGVNcTJtcFlwQVFTV3ZKdGxoQ2lHaHZwU1Jy?=
 =?utf-8?B?cVNmeE1GTDBuR29wb2h3dmhHdkFqSXNITmRNTGsvdUh5U2x0bkpiVy85dHpW?=
 =?utf-8?B?bVpEWnFEZkw1ZUs3czBaOHJ0VFNmSGFqb3UreVVwMXQydGo1cU40bFpUWnM0?=
 =?utf-8?B?WHdYcCtlWERuSVc4ZjB2dVRrVGt3amJ1VjM0NDg2a2lhM0xCUXRZSGNtQXFw?=
 =?utf-8?B?Zy9HWEF4bytQTTJaUkxtYUk5OTR4SXlGRzR4SG1ibzdJaC9GTytHSUV0blIv?=
 =?utf-8?B?SUo4SGlUUURCUU4ybTNsdVZyRlBraDdSU0lUTFpHTW14VUVXZkFheE92K0tN?=
 =?utf-8?B?QmpzdjVHbTN6ajNZdnlhOGkwQ0JoeUJJUWN0YndJS2lVWTg0WTB1VHkxZ2tQ?=
 =?utf-8?B?cmdsSEtqY0pBZERiSklueTY3VEc0L3BIcGh5VW85Y1VrZXFRWUdVWFBqdmI2?=
 =?utf-8?B?U3lVdmk4SENkYlFNZzRTVThiYjc5Wk9jTzZ2N1dLb2lSQVRla0NIVFJuQXAv?=
 =?utf-8?B?T2Z0aUpCaGtEeEllcmdMT3JiZnhiYVZ0eHZjMFVFREljQ1dIMytENWduc1lo?=
 =?utf-8?B?b1ZNVkpiSDEwd0hKOEt0ZFFqVlpnSUd2RE5rL2RqWE42VGMvQ3Y3aU9kMC9P?=
 =?utf-8?B?aFZYdFI3Kyt4akZnV09XSUg2dS9GT0tjRk5jck8zckdEejYwVG1oMVppVHBj?=
 =?utf-8?B?ZFZwMXRObmkvOVdENHkxOWRxNnhvanhDV2pEU2JsQ1NKUEcxTjc4WnNsdDR1?=
 =?utf-8?B?b2JSWGxVeUhvK0wyb2Uvb2wyQWNrNFN5VityRmtwVndlNTZGbnk2cit6M0JY?=
 =?utf-8?B?ejB0YmM5OFI2VXVsU1lTS3o3SmJiZGxCNE1udng4emN5enozSFdtSnlYdzlv?=
 =?utf-8?B?emwzUEVpZTZUSi9EMjRDd3FsS1YvRkhuYmV5d2QwMVNHdWI4Mm9KejVyUzdK?=
 =?utf-8?B?SUpkTG1HOHpWdEdjZTFCMjNOU3lYREFhZzlpdkdRa2dpSjZOMDQzQXkwL3VD?=
 =?utf-8?B?WktzTk1sVGp2QzRBZkU3SzA2YmlpWTFPWVprWVhtb284UlIzQ3hvc2t1R3R0?=
 =?utf-8?B?OW9nT05VQU5tV01hb2o1TVlUVWFQWS9lQjNsbUxITXNOSm9zTjlYenRGUnl2?=
 =?utf-8?Q?pfLecxxHFr/8vSu3lEHfMGuFA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0425a411-2082-4b55-1170-08dbeb313640
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:01:20.0284
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tTfmar69Arah+ToT8vEhYYs7ojS/xxWqJ2R9HOtgAEmwQE2z/RqILlLxa3D36yO/AxSqL8Z+rW53yHaRiDxMvA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7174

On 22.11.2023 02:19, Stefano Stabellini wrote:
> On Tue, 21 Nov 2023, Jan Beulich wrote:
>> On 21.11.2023 01:04, Stefano Stabellini wrote:
>>> On Mon, 20 Nov 2023, Jan Beulich wrote:
>>>> On 20.11.2023 14:13, Federico Serafini wrote:
>>>>> On 20/11/23 10:02, Jan Beulich wrote:
>>>>>> On 17.11.2023 09:40, Federico Serafini wrote:
>>>>>>> --- a/xen/include/xen/sort.h
>>>>>>> +++ b/xen/include/xen/sort.h
>>>>>>> @@ -23,8 +23,8 @@
>>>>>>>   extern gnu_inline
>>>>>>>   #endif
>>>>>>>   void sort(void *base, size_t num, size_t size,
>>>>>>> -          int (*cmp)(const void *, const void *),
>>>>>>> -          void (*swap)(void *, void *, size_t))
>>>>>>> +          int (*cmp)(const void *key, const void *elem),
>>>>>>
>>>>>> Why "key" and "elem" here, but ...
>>>>>>
>>>>>>> +          void (*swap)(void *a, void *b, size_t size))
>>>>>>
>>>>>> ... "a" and "b" here? The first example of users of sort() that I'm
>>>>>> looking at right now (x86/extable.c) is consistent in its naming.
>>>>>>
>>>>>
>>>>> On the Arm side there are {cmp,swap}_memory_node() and
>>>>> {cmp,swap}_mmio_handler(): "key"/"elem" are used for the comparison
>>>>> and "_a"/"_b" for the swap.
>>>>
>>>> So - re-raising a question Stefano did raise - is Misra concerned about
>>>> such discrepancies? If yes, _all_ instances need harmonizing. If not, I
>>>> see no reason to go with misleading names here.
>>>
>>> Federico confirmed that the answer is "no".
>>>
>>> I think we can use "key" and "elem" in this patch as they are more
>>> informative than "a" and "b"
>>
>> Except that "key" and "elem" are (imo) inapplicable to sort() callbacks
>> (and inconsistent with the naming in the 2nd callback here); they _may_
>> be applicable in bsearch() ones. Note also how in the C99 spec these
>> parameters of callback functions don't have names either.
> 
> Yes, reading the example in extable.c I think you are right. Maybe it is
> better to use "a" and "b" in both cmp and swap if you agree.

Using a and b is (as it looks) in line with at least some uses we have, so
less code churn than going with some other, more descriptive names (like
left/right). So yes, I'm okay with using a/b.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:08:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:08:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638483.995032 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5iH7-0007kM-EO; Wed, 22 Nov 2023 08:07:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638483.995032; Wed, 22 Nov 2023 08:07: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 1r5iH7-0007kF-BW; Wed, 22 Nov 2023 08:07:57 +0000
Received: by outflank-mailman (input) for mailman id 638483;
 Wed, 22 Nov 2023 08:07: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5iH6-0007iI-SD
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:07:56 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2048.outbound.protection.outlook.com [40.107.7.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3ba49b31-890e-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:07:52 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9575.eurprd04.prod.outlook.com (2603:10a6:20b:4fd::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Wed, 22 Nov
 2023 08:07:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 08: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>
X-Inumbo-ID: 3ba49b31-890e-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MRNFuVhHOTgVJ5o6c4NsT+b5WjtDC186c/hpn58Mpix//BCH0yp34Owsshyjl/Wld9ccHiQ/Ula0kGU8ZK73Owem7Iv1iAQ1fmV3pQT/OuGXPPPrs9gyVQRrOopnXRAUHMTAkCrszAPKTem4bJ/mVpe3VeR7Dpgadpag1OvdbvHyWOEDtngS4zq6PseMref8Liron0vJ4AXyyGB4TmxKlfaXJlK7MBAba2f1DzvAPXGNufpvdoVP8ZU5qianCgWtIiqTKjUZ1qIcSmRjUjdfVr49Jj/ew4g5i7mCpELbrRkYkMuhR0c+QpWewnuePEldZHuy1ejB2SAJcTFgt/8WUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+1XrfPEnuVrH8r1ZHQb9+B/Rks/Hw2c3rcgUogUkmYQ=;
 b=h8OkKuu5TAstk2zisYgDhH8yViMpEmoy+LKCRD96GS0wvatwgr2GxxTpB5xZSpVguhG8wIOhOfvGE3QfzmrIeMqfdG0aJaXCb4DbPon+cBH+FHMbtIQBSfTo9Irxs7dWAu/TCsSlTt65U4jLCw72ln2rUDNVG6NPgwrnahJ7ptj28rASRdNDf5kSI6MegwDHWPOVOrIvVvnIfPKlg5DHZG/v9J/AZAA3dRTGuR9Nu0/e1irmqDcAgbpuGRADoghYpHRSRIDGimUEajafvy2yPjDlBeMZeyRdOObYRxSKGr0Ikhy8g6WGm364XPjrjkGBgKab9MzkxIqZSJC+Gesg1Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+1XrfPEnuVrH8r1ZHQb9+B/Rks/Hw2c3rcgUogUkmYQ=;
 b=nc9oeAZoO7srZ8R/thYFT4oObvf3nPRXthJ/WtXI5mc3nOMZExUppt64QRYcfxYwF66JZzvHSxBnboogwz9G/pJguXqRYoEuvIcSJwo54CpSp3w9WFSBh2gBuTYAD99OHFxrm7NXMLnjnfOL4f2vzDA/uAY9IZw+iQnia6Sw7NPe8WcncM6O23TxCKg6CW0fEbfxWOuTvLJZIyKB6EBgFWoMC9/qII17lZTPuh4RhkaFG0IYx4kdXDmALaOFd+ZVVDSTzb+vn8NkZ1tumKQtYPk5yuzTKFJor8LeurWj1YUN/WUMsk5mgrugghz+NyAcRXBIHf7A/amyoVRUQiORVw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1799e5c8-ab8a-453f-96f0-c3b66ae446e1@suse.com>
Date: Wed, 22 Nov 2023 09:07:19 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Devise macros to encapsulate (x & -x)
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen Devel <xen-devel@lists.xenproject.org>,
 Consulting <consulting@bugseng.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Roger Pau <roger.pau@citrix.com>, Bertrand Marquis
 <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>,
 Julien Grall <julien@xen.org>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
 <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com>
 <alpine.DEB.2.22.394.2311171845440.773207@ubuntu-linux-20-04-desktop>
 <da1d557a-6030-4dd8-a875-af733572fc48@xen.org>
 <alpine.DEB.2.22.394.2311211742400.2053963@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311211742400.2053963@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0144.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9575:EE_
X-MS-Office365-Filtering-Correlation-Id: 9869aa3c-40b8-429a-863c-08dbeb320df1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	12SrBZG6DGfalVfEPJqlgxq8R24af7WlZyNs5/HLul6V5me8735NOc6VIgpA0wlua/bq0G+yhEIiAVy6JtNO38rSIaag/UrtZ2t89y5zvYbGzG7dq0Dunubdmr8r1IpBHIGd07rgt33eHz5J3A+emPZ/5mC0P+O6zu+EdIxE+3Pixfyj2aFfXMwiFdyeU8Lpcr5r84SpW3dxUvWtHdDRz2IEmwJCcxSXBVFhcoEJVh8ZlJYArO6rw3eLZyEhJ10GAWX70yKZGUVUZStmuBHY09CITWqIA7no0r8jRmSU6kV0kjTQpAVP8OSrMx7ChkZmbshG0jdSrK6GhRs+2PeiFn23HJbIg1YyT0zyV1tlbNXCRvJPNPYb3F6VkvsbE39X/xqAbb2IESZZ9X/qlo5zsLmVi6PObM+4LztnHrnQ52RwHhF68dyYGcTPjcYFvlwoCxZqvlBZe4QviYiTHF7uaVe+tPengBPUt90wVbGJSpF9TMYOwCdjYae7N1R20sdFH9VG+tiHjfFY+GpBsSyqT7MSDYOZVKR4de/6LYSd+jRZMCrNio3E8wXJPJ1SxUJ3XMJKT/vy24kM26TEP79kBeywpMc4nihH8Slr2jC+xnGbC0TQkafJxhMTOi438duZOw0/O3e3BALnuMXRKnPB9Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(39860400002)(136003)(366004)(376002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(41300700001)(36756003)(86362001)(7416002)(5660300002)(31696002)(2906002)(6486002)(26005)(53546011)(478600001)(6506007)(2616005)(6512007)(4326008)(8676002)(38100700002)(8936002)(316002)(6916009)(54906003)(66476007)(66946007)(66556008)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eWxldUw1eVlITU1pd2JyWlR1Q3lNMWh5Tjkrb2tPNGd1ZUovU0RIeDNoM2FX?=
 =?utf-8?B?b0JOaWZTYm5LazRCT0xITkxYeDFaK2t6NHpsdGVQTFU0THpwYXJZSkJzajRW?=
 =?utf-8?B?S3BKMzl6RENrNEE4cGttbFlLTlRmVS9rc0JGOTdBV2ptdXJFN2xYeDdiUzNP?=
 =?utf-8?B?dy9KOE04aGRaVnhLMG1LeWZJUEsxRHM4a2lTd2p1anVKSm5vY2UzdjlSLzcz?=
 =?utf-8?B?eHdHRXNTTlhEMDlqUGRZS2l4Vm03ako5ZHVMUkVMY0FGWFJJTXFxT0lmQzBk?=
 =?utf-8?B?OEJHeDRqR2RBaC9WU3k0RG1YVlJwdEVrRmIxcjV5QUlCcXNDc1I4Unkvd1FS?=
 =?utf-8?B?TzdUQi84NWVldnZuTHV3dVZKS1NHR2xGOWU5ZGFSOUg3c25oaUlRVW1Dbnkz?=
 =?utf-8?B?NlVjVnpEc0ZzRkloWGdIR3hYZXZMV1U5K2d6WTBmZGM4RENrZnkvSlZzekR2?=
 =?utf-8?B?ek96eXpReTFQQmtHdkRHRG9BZHJHZHdJUW1XMEJad0h2Vis1MUJyUlAvVkls?=
 =?utf-8?B?TzBzNjJBV2ZheDJGS2t3ZEMrS2pIWmR3V0kzWnhOZmxwa244T3ZSQ1hRVVdw?=
 =?utf-8?B?WkdwSUxTQXpxMlVuWU1nRnNIay9iMGNoTEtValMvN1ZSQXZkVlhZbVZ5YjJs?=
 =?utf-8?B?bHlhR2JGTStmOGF2emtqeG9KcnB5QUhMaHdJOVdqOUloVWtRSzV1Qk85dFBx?=
 =?utf-8?B?SHQvVVNqNTJ1ZkhIY09zc3Vpd2NhbnVYNTdCSG9ySVFYcFMwK0hqWFg2cnUx?=
 =?utf-8?B?RXArNlk5MnUzWTJ4QXNDMlJWY0hsaHlMTTRZVCt5cDh2amxReHlEYmtobkVk?=
 =?utf-8?B?YVZxdngwU3h5SFJwSmpUUGtXZE9iektHY2dJdGtLeHhwcWp6VVRpN2lyNklI?=
 =?utf-8?B?U0Z5U2M4ZW41NWlsQ1EwTUVhWnlhbllNMHByTGJDREYydHpDd2pLdHExc2Yz?=
 =?utf-8?B?NkpJZ0tTNStaa1lEUzVwVkZONVpWU0xHRkZaN3NJYjR3cFRySDVjM0ZVK1BV?=
 =?utf-8?B?ZDI2T0NDNG9kMWZKTWVBdkN3QklMUENJMU1YRnJkMExaKzYxQjZDL2phcWdG?=
 =?utf-8?B?WDh3enlEQ1lybk90Vzg5amJoUmI4YUo0Z09TZEpFTW9wSEZaVmI5dGR5c3Zl?=
 =?utf-8?B?bjRoY0RZU0oyRHNsZUlCSlhManlNdlAvVU9nWVVvbithcTdPQW5tTHJqTjdJ?=
 =?utf-8?B?ZnhuMHorRVptNGNwK1NQN3puakw5OERlNnFGQ2cxU2hGUHNXSEFScFdwRSto?=
 =?utf-8?B?aFF5SFlSejNXNGpLNXoyd3JzMUJOaDJkWmRDQWkyekUyZW41WDVpWDVEM1hP?=
 =?utf-8?B?K0V5SDkvL1lUQ2dGdmhXVTV4MG5TR1FwU3crU2tjWGU2QjE5M1Iwb3FZWFJE?=
 =?utf-8?B?NTlJQXRSRDZabjhvSit0YW5HOWVwSTUzNVJoR0oxK2N2UVlyeEF1a3EvRUNm?=
 =?utf-8?B?cUdRYjNMNTlmMC8yMGJVdmtZdHZscjVHVXNPUWlwSXlXdm9EWlJsclY4L0lZ?=
 =?utf-8?B?Z3VLMGhmNjdpQ1ZHWm5EeEQ5RlkyUllLN0hpcnRkSFREV0hsK296bVFSSkpM?=
 =?utf-8?B?aDA0VWh0dE16WGFSM0tFRGphY1dsclgreWh3K2NSY2loRGlRYkF2bndkRTRl?=
 =?utf-8?B?Z3k1d3RQeTlDWkNWMStMWGdkempQY0VFaFZRS2xDa3dEYTJiM3I0V3F0elBM?=
 =?utf-8?B?S2Q3bFhmZllXd2lCWEpDRE9OQytNYUlKdS9VRmVweHp6ci80STY2V3NPWWNT?=
 =?utf-8?B?Q0ZDSjR2UVBlM3k1VGJPYUQyY3kxTGtTak1oVFRPRm9od0crNHVLMWhiOGRy?=
 =?utf-8?B?VUlwMHFyYzRhcnBYL2xOZ0FwczA1U2NXMzdwZjFPMm91L01NbjdXbG56K0RW?=
 =?utf-8?B?cERrRk5Da0NDOVVjMDh2WHdUekRiblQxVzhQeUdkQkI2V1I1N1ZHOGkxY3ky?=
 =?utf-8?B?N1FWUmx2cnBuQnE1dEtFYkVzMjZwSGJPQzI5NEdIRmszckxORVJtckU4RlVL?=
 =?utf-8?B?MnBwblJPQ3RUelZ2OHY2YWZETmhrR3dHMml2RkhML21MNloxcXBLemd3OXFj?=
 =?utf-8?B?N2wwbEJqTEJyMGNYbnR2VGRwTXA2bU9HWmptUVc3ZmFHdlNLZHdwY2FyMFRT?=
 =?utf-8?Q?AHepmwi+h6HCqK/lpNPlyC/ox?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9869aa3c-40b8-429a-863c-08dbeb320df1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:07:21.9408
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CdKv3nmyeMAb5RWg2y7AyCu9LyBO1qaGz3ys2J+D0ydgI8+nyiR+fA3eHluy905BMtMDET+DbOoWMYu05JbkHA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9575

On 22.11.2023 02:43, Stefano Stabellini wrote:
> On Mon, 20 Nov 2023, Julien Grall wrote:
>> On 18/11/2023 02:46, Stefano Stabellini wrote:
>>> On Fri, 17 Nov 2023, Andrew Cooper wrote:
>>>> On 17/11/2023 10:17 am, Nicola Vetrini wrote:
>>>>> Hi all,
>>>>>
>>>>> As discussed in this thread [1], which is about complying with MISRA C
>>>>> Rule 10.1,
>>>>> a macro was introduced to encapsulate a well-known construct:
>>>>>
>>>>> /*
>>>>>   * Given an unsigned integer argument, expands to a mask where just
>>>>> the least
>>>>>   * significant nonzero bit of the argument is set, or 0 if no bits are
>>>>> set.
>>>>>   */
>>>>> #define ISOLATE_LSB(x) ((x) & -(x))
>>>>>
>>>>> This macro has a gained some calls in the subsequent patches in that
>>>>> thread, but concerns were raised around the fact that it would be
>>>>> better to devise a macro that evaluates its argument only once. A
>>>>> proposed solution is this (thanks to Jan Beulich):
>>>>>
>>>>> #define ISOLATE_LSB(x) ({ \
>>>>>       typeof(x) x_ = (x); \
>>>>>       x_ & -x_; \
>>>>> })
>>>>
>>>> Of course this was going to explode.
>>>>
>>>> This isn't even the first time an unwise attempt to do single-evaluation
>>>> has needed to be reverted because it doesn't work with Integer Constant
>>>> Expressions.
>>>>
>>>> Switch it back to the first form.  It's obviously a macro to begin with,
>>>> and not likely to be used in cases that have side effects.
>>>
>>> +1
>>
>> FWIW +1. I don't much like the idea to have two different versions of the
>> helper if there is no real need for it.
> 
> Jan, would you be willing to accept that other maintainers have a
> preference for having a single MACRO even if suboptimal?

I can live with that, even if I'm surprised by this perspective that others
take. How can we, in reviews, tell people to make sure arguments are
evaluated only once, when then we deliberately do otherwise in a case like
the one here? The criteria of "not likely to be used in cases that have
side effects" is an extremely fuzzy and sufficiently weak one, imo. I for
one am even worried about the uses in MASK_EXTR() / MASK_INSR(), and would
have considered introducing single-evaluation forms there as well.

> If so, can we go ahead and commit the original patches?

Well, the renaming needs to be done there anyway.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:12:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:12:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638487.995042 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5iLn-0001Lw-Vr; Wed, 22 Nov 2023 08:12:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638487.995042; Wed, 22 Nov 2023 08: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 1r5iLn-0001Lp-TG; Wed, 22 Nov 2023 08:12:47 +0000
Received: by outflank-mailman (input) for mailman id 638487;
 Wed, 22 Nov 2023 08:12: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=kbX3=HD=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5iLm-0001Lj-ND
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:12:46 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20626.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::626])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ea26ec85-890e-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 09:12:45 +0100 (CET)
Received: from SN7PR04CA0062.namprd04.prod.outlook.com (2603:10b6:806:121::7)
 by IA0PR12MB8255.namprd12.prod.outlook.com (2603:10b6:208:404::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Wed, 22 Nov
 2023 08:12:40 +0000
Received: from SN1PEPF000252A0.namprd05.prod.outlook.com
 (2603:10b6:806:121:cafe::53) by SN7PR04CA0062.outlook.office365.com
 (2603:10b6:806:121::7) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Wed, 22 Nov 2023 08:12:40 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF000252A0.mail.protection.outlook.com (10.167.242.7) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Wed, 22 Nov 2023 08:12:39 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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.2507.34; Wed, 22 Nov
 2023 02:12:39 -0600
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.2507.34; Wed, 22 Nov
 2023 02:12:39 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 22 Nov 2023 02:12:38 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea26ec85-890e-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JC7nwJsXsTGktogV+tEz+8rH8o8zWpsQM6g4sXmdClc99gTRHKkTIBUwMuRY9AGWZT4aD5/kIsiruq1hPLwAQNrWs5ssd88bJ8BxAXhaZB9HBF8jDMAuqjfcc/tfx5ByMFZq4uOgjOt54+X5VikMuwNRHV9Y5uMXogJmizlBEYJl7HRI2gH+uljoGaJ7W4Gdxs1PmdNHSeCoEStwpuO7jqjZO7hhHJrJjaxljALQOJi+h8KWYCJCy9Re2ryNqh6D3HCweoMyb0OD9ispNXn3nbNOOeRWYUlAHHoCe5ZMn5qYHluQgM3F3cfT8dsk6pjiTGx/H6mKEDm2/swBv2S10Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=R8ERJNeRfxxQwgauL22aQuOgUX8ltsqn+hFYwIHtRYI=;
 b=Sd7DJ2F11tDGqlHWKMufkMQm33FR0BdZTZjbJr7xmS7fVFwWLiqYDb0ma2fskB6EiS0KLgw+YwI8mrBNFEaZXDX5IOiLdU1FFExaD74ukE9w0cPNyPopVwCdXdi4m2g7M/WqkgH4wPWhcsagdMF/0OZYnGdctF1n9My/fmNbynSmXAQkQigujITPumFGx58IAZfzC2o748dvsjFUeoD6Qr0PXrtohuPfEMRGM4y9T5VLmtnatlorQ4Gmzhd2pXGIR9+mKT9E4cwpXhVxpSjy32T9fc8J+rPWVoTfmN871iTSe/uW+NWI1ktsds2IfT3MN1xKT5tBg5gHI5APfspYVg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=R8ERJNeRfxxQwgauL22aQuOgUX8ltsqn+hFYwIHtRYI=;
 b=NJWNayR6LYaX5XjzlHkiyO4+pgu5c+yGqTAmOs7khLply4obIoAt3MV8WhMqKy+cEkyAGtG7QqYXi7SpPGh6QOBbyC13JtvW1RZZm0acrxwlk5YAduh77Xz0OcfyWqf2uzV4cTVYaQ0H1yICIwdsE1DudcKJeWS21r0PtZO1a6s=
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: <d7e76b58-d6ac-4b89-99a0-5cb77e4ffe31@amd.com>
Date: Wed, 22 Nov 2023 09:12:37 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/arm64/mmu: head: Replace load_paddr with adr_l
 where appropriate
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: <20231121094516.24714-1-michal.orzel@amd.com>
 <20231121094516.24714-4-michal.orzel@amd.com>
 <d015e81d-16cd-4e93-80c9-ba6418a23b1d@xen.org>
 <c32253c7-6907-4bfd-8a3a-9488539d19b8@amd.com>
 <b2706623-15bf-4ea6-9742-83a199ecf4f9@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <b2706623-15bf-4ea6-9742-83a199ecf4f9@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A0:EE_|IA0PR12MB8255:EE_
X-MS-Office365-Filtering-Correlation-Id: 168f90b8-ebec-4ad3-0764-08dbeb32cb8f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jUuUUxNJVV9E5Iwq8gn4i/6BrRFSlntIR6DOU7FVVJxWcqeaD3zkBNeFT8SCVD51/liaz/NzswUyeR1yplo7laPNZr0ho/1jM3OK0ttMPTuXECjvGuPRtGSuEERQMnQSMiXyd1idoMiO1IgoV74oUr4UUMiVl0GCpwATxRTu9IYbpr+cnabspZvvfaXNpd1b2CjSVE5qrbhjDmT5Tboc+xj141BVA7+89MvQ5i2/vJUXxx1te84Gchh0eSOsrYXsRwofNSBGwv0nzp2Rl5cAESP+d07DQHbSfbLZuY4QB4ETrQoe0E1wZXixR/LPovPb8d6VSmrZFzvmuNY4nkTB1CLqjD0rClZEVtbIHQG8l/FpSB9LRf9ZkOWXGYzorjGP2eKlXAwPqq+LqxVmoonrsFEqHXN7M+QTtZ7oWI6se6NMKteIcl7oT3Vg7nQmsZTnFC+j0g/n5A8lpuVe4avY9sMHUn3HU9KJA4R2YZfHcbCEGaaFo2OPlovhA6AldSRNKj9HaQodjvDrAXlBeyzkTF+mFLkbWVSxjF4WOybg8F92KZRfdVdVnG5XY3GF19RCUtWFBQVAXzaqFa70OO9y6fPTeI26wFmvWnL00ZWsZ1Ttu+p1Tb1WMUjltcGL1X0CG8u7PKhs9ao+vw51Ze1rqYQ1DJqRSt7vHC9p/6+zY+A6LpeV1z+U12Nu5znuxpIaO6JRJRDmfN3Rq5vGwFVP8bGA3Eunj/aFJlP3w+l1pguc085q6O4Id6nY1KJ3pjuXda5yrxmKfdgg4OErIVWGAYrC5mCCJ6JvB5pvtSSelkvhPlGJkVuVDt6TAwPbug1D
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:(13230031)(4636009)(136003)(346002)(396003)(39860400002)(376002)(230922051799003)(186009)(451199024)(1800799012)(82310400011)(64100799003)(46966006)(36840700001)(40470700004)(5660300002)(2906002)(44832011)(40480700001)(41300700001)(8936002)(8676002)(31686004)(4326008)(16576012)(54906003)(70206006)(110136005)(316002)(70586007)(40460700003)(47076005)(86362001)(26005)(478600001)(426003)(36756003)(2616005)(336012)(83380400001)(81166007)(356005)(36860700001)(31696002)(53546011)(82740400003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:12:39.8472
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 168f90b8-ebec-4ad3-0764-08dbeb32cb8f
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:
	SN1PEPF000252A0.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8255

Hi,

On 21/11/2023 19:43, Julien Grall wrote:
> 
> 
> Hi,
> 
> On 21/11/2023 18:13, Michal Orzel wrote:
>> On 21/11/2023 17:30, Julien Grall wrote:
>>>
>>>
>>> Hi Michal,
>>>
>>> On 21/11/2023 09:45, Michal Orzel wrote:
>>>> Macros load_paddr and adr_l are equivalent when used before the MMU is
>>>> enabled, resulting in obtaining physical address of a symbol. The former
>>>> requires to know the physical offset (PA - VA) and can be used both before
>>>> and after the MMU is enabled. In the spirit of using something only when
>>>> truly necessary, replace all instances of load_paddr with adr_l, except
>>>
>>> I don't buy this argument. The advantage with using "load_paddr" is that
>>> it is pretty clear what you get from the call. With "adr_l" you will
>>> need to check whether the MMU is on or off.
>>>
>>>> in create_table_entry macro. Even though there is currently no use of
>>>> load_paddr after MMU is enabled, this macro used to be call in such a
>>>> context and we can't rule out that it won't happen again.
>>>>
>>>> This way, the logic behind using load_paddr/adr_l is consistent between
>>>> arm32 and arm64, making it easier for developers to determine which one
>>>> to use and when.
>>>
>>> Not really. See above. But there is also no documentation stating that
>>> "load_paddr" should not be used before the MMU is on. And as I said
>>> above, I find it easier to work with compare to "adr_l".
>> I guess it is a matter of taste. load_paddr requires adding a physical offset to
> 
> I agree this is a matter of taste.
> 
>> calculate an address, where in fact we have no places in the code where this is truly needed.
> 
> I added adr_l only recently (2019). Before hand, we were using
> open-coded adrp and load_paddr (which was introduced in 2017).
> 
>> Seeing an instance of this macro makes me think that this piece of code runs with MMU enabled.
> 
> Fair enough. But how do you know when 'adr_l' effectively returns a
> physical address or virtual address? You could go through the functions
> call but that's fairly cumbersome.
I see your point but we already use adr_l in MMU code. Also, recently we accepted a patch from Ayan
for arm32 that does exactly the same - load_paddr is used only in one place in MMU head.S where it is required
(I thought we are aligned on this subject + I shared my plan some weeks ago). Ayan's change together with my patch
would make it obvious that we use load_paddr only in MMU enabled context. That is why I struggle to understand why nacking this patch
if you let the other one go. IMO this can create confusion for a future developer \wrt which one to use.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:14:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:14:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638489.995053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5iNn-0001tf-Bh; Wed, 22 Nov 2023 08:14:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638489.995053; Wed, 22 Nov 2023 08:14: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 1r5iNn-0001tY-98; Wed, 22 Nov 2023 08:14:51 +0000
Received: by outflank-mailman (input) for mailman id 638489;
 Wed, 22 Nov 2023 08:14: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5iNm-0001tQ-CT
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:14:50 +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 33b45aea-890f-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:14:48 +0100 (CET)
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 64664218E4;
 Wed, 22 Nov 2023 08:14: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 0DB62139FD;
 Wed, 22 Nov 2023 08:14:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id Of3fAXe4XWWdTwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 08:14: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: 33b45aea-890f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700640887; 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=YJk8saYbOPgsoRFARhQbEABdOYtcveDgy8HVbqMFVqE=;
	b=ucm7HWRyAA269usUymbJQcj9FHol/jJNJMKF20SxSnBe5CfLG2Wnmq9Hy+kPLNODhO1n4u
	/4KIWxSkXh+7lxn671bhPygZ2V/7diq7620+MO8UnOItNJe6lh1S82PRhiLhabxj2mLzBz
	dwQqxrzZ/vqiaddl21oxvXGpnpu7bTM=
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] config: update Mini-OS commit
Date: Wed, 22 Nov 2023 09:14:45 +0100
Message-Id: <20231122081445.22581-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: *
X-Spam-Score: 1.84
X-Spamd-Result: default: False [1.84 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-0.99)[-0.990];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[8];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-1.87)[94.26%]
X-Spam-Flag: NO

Update the used commit for Mini-OS in order to be able to use the
9pfs frontend.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Config.mk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Config.mk b/Config.mk
index 29c29f8d7f..2c43702958 100644
--- a/Config.mk
+++ b/Config.mk
@@ -226,7 +226,7 @@ QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
 QEMU_UPSTREAM_REVISION ?= master
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
-MINIOS_UPSTREAM_REVISION ?= 5bcb28aaeba1c2506a82fab0cdad0201cd9b54b3
+MINIOS_UPSTREAM_REVISION ?= b08019f0b2fbc30c75169a160acb9fd9af5d68f4
 
 SEABIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/seabios.git
 SEABIOS_UPSTREAM_REVISION ?= rel-1.16.2
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:16:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:16:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638492.995063 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5iP3-0002Xd-OE; Wed, 22 Nov 2023 08:16:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638492.995063; Wed, 22 Nov 2023 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 1r5iP3-0002XI-KO; Wed, 22 Nov 2023 08:16:09 +0000
Received: by outflank-mailman (input) for mailman id 638492;
 Wed, 22 Nov 2023 08:16: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5iP1-0002Vp-TB
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:16:07 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe16::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5fed6aec-890f-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:16:02 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7023.eurprd04.prod.outlook.com (2603:10a6:800:12f::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 08:15:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 08:15: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: 5fed6aec-890f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ng7fOeWjrtUSomfvc2hOEbG/3n43P0hjD3ANPxZ59AaveF7xDE+rRryCyG4lz49dkiw6vHGRmCzuky6R4r9iBxWh87+f9XUR/edumrdDifrdb7V0hEovIRHzO6acNYrLcnrWuPigg36KJBFrhWsZl8aGG0QgnbH+CbK7BQu7xg3WCWAF7drfMp5RW0oLq1uQ67ok3WwYt/0GGSnWOfz55gtigE50CjHCDTIXBlBObwDBPQYWpSO7CKZYZQLS6zy1FuqaYz0j+g/QWqQgOARbjnfSS+3zSYG5zcC6w+mC0Ca8YgI2JjxieeMiMJMXANUZRncbHToeKkh5QlvcMk+1OA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1o/V6zEugCE2LeSV9BqR+NJ0f+oYfuC8zF2IQomH2BA=;
 b=BA+l4NsTGvcy4Xt3agsIxyQArqif0V0hl2DUBxDM+7Cca485XG3DwSNf7m0sEruqlK8+CCZOUweuEPn9y+gdWQPFMZCNTycmtw+I8JMZ3ZKwsjAiftsGE4xdaHPnaaeYVmBsY1dmp0WFegtPIc6CghuF+/fHaI62ZmeJKVfC9O/UBSbTIEjjXrbjRcVlj6RjqEQFEohLNUjvvaz75xDwmDS/q0j7P0xSsvClPhd12N85+KfH3o4i3H41Zj4oi2OqH/Cb3DWCSrxY3Hhzf/adoKJXl4pcA7X2dSZJXNV6OCpL704PB3EBaBtU62SXBleRfR/aEqWt/+YqDruldK5Y8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1o/V6zEugCE2LeSV9BqR+NJ0f+oYfuC8zF2IQomH2BA=;
 b=mRYMqhAsnBj8/U6apCbldoP5+zDS6d8Q3HB4kujnYfwdey+H5Z+sdjt0OSj2WpeaKCWcjc6do3yVOmpVP5nH5zJweKEWRhZQq/FfP2+KufCojzKN4WrlsimP8O0OxdPEMhgPjBbdNER6vMh60nsfZLHUplZ9szCCQbldC7BoLgW8U6EsZMa0tw9I8jYoAskXuCeKcZ2mxXQsMI/aj9iBfajtVvh8GK+dYf6SpX2vXLQY35DzAHNNa3Pz998YTN5QBdeJz4JMvagR7F/tPA9a6NJV/A6mp7I1sNe376I7dPOjvF2IDcR96TE2KnVmQ4JSxssXSqK+G1ME557mekF17w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4678fbeb-144c-4bfd-8e0d-1fc58e967164@suse.com>
Date: Wed, 22 Nov 2023 09:15:56 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] config: update Mini-OS commit
Content-Language: en-US
To: Juergen Gross <jgross@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: <20231122081445.22581-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231122081445.22581-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0123.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7023:EE_
X-MS-Office365-Filtering-Correlation-Id: 1d87ea23-ecc9-4364-ab84-08dbeb3341af
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:
	/e0a4nIzLsIxrIcOff3WXTEH0py0sa1x2CkvFJLqfMvn4HGPSWARrlyQyvUjAtlbs/Nt7nFIeKOd1QX7l1XtxZHvUq6eq4AJ8pKPcIjQP/JQK081+VOlpLvd5gaR2Wuw9mRamud0dMkaw60XM1SGbj1H0hK4moX0hfy43D0SKuZLpIBsnpdR9YEnn+ybpE2RxT3Ik43Mncn8dydPmpUDfbw+LtINrjbXY8ytI8iKQZJaa5YyxyYKkHwcNh9w9/IRFHqaU2U3BvaRVuIZ1dIMoLpqUFKC7m956DC/K23aR5FZm3Uq3lqdXEve5iWX1Czm3GsYXvtfw4wnGgEcIyk5gqenjEi6UXoVhPthMmgGoWgYc2sRLIC5pNfU9iIfLKvJUST+fDCw8PJSxYz8EI5wZFFJz4SSDW2oN3tAyjiWeQSUP6tI4EaaoY4XGd6s4LQaGd7Jsz1+79ANBUX+IiN7+T0PaZRhGMGzCH+AbSXU7p/HZAJuZlI0ZO2NMY4idlsQEKEJ4Cc6jNljP/t7Hipc6t+oUhCz8N3/sHpHrO+uyurAeSZLMm/XK8tHcFD9kjbuf8TwsIytRL7vsiBg1UqbCwJ0b2hjZjn1UkgjAcY/UdPRJpelFBGEACQfEG17gpYoZ/WMagABl5rSKq7C10Qrlg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(39860400002)(346002)(366004)(396003)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(26005)(53546011)(6506007)(83380400001)(2616005)(6512007)(5660300002)(4326008)(6862004)(8936002)(41300700001)(8676002)(15650500001)(2906002)(6486002)(478600001)(316002)(6636002)(54906003)(66476007)(66556008)(66946007)(37006003)(31696002)(86362001)(558084003)(36756003)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dlFRMDR1VzVmcFVYRk9HdHZkOUpETzB2QXEzNklIcmRzSk8rMG1pdU9LYWc2?=
 =?utf-8?B?Q2dhSERuWGFBeldMclZIS1RiZGVZWDJJZDVWMDFXLy9IR0lqem5oZ25XaXR6?=
 =?utf-8?B?WFJHZEVhVnBMMmw5cDR2bVVldlZqcnZFaW8vKzFWbDFHMTVZek81L1ExVHBE?=
 =?utf-8?B?MWVicmhqUDVQck01RFJvVHBUczd4RjdTM0Z6ZW9RUUxON3Q3ZlNaS1hQRFdI?=
 =?utf-8?B?aFkrYzJNa3hDM3dLKytVd25xUysxUUcwWW9QdCtVSTB2NEFhWkp4NWpLMG1K?=
 =?utf-8?B?K2I0WW0wNzBudWFRdUVaR0VERlVsWUtpU2w0cTBLNmZiSWRPb1N6SXI4RDFj?=
 =?utf-8?B?dm0yeDRDNy9Qdm83UG5rUmFMTlVsQWtoVDY1OWRqVEUwNTdUVEpXWW5tc3RX?=
 =?utf-8?B?enZEQmdGMzhjN3VpL0dVUnAyUFlVUldlQml5aDErRHV0cWx6TG1heEd2MTN0?=
 =?utf-8?B?OVA5UE95MWdyelFOWXBWaXh4ZTI2QkZXN1FVSmpnSWZ2WG9yaGxlajhWU3JS?=
 =?utf-8?B?Qktod25SMUhCY3d6VDlLM000UERxV0tWMTVWUjNCbFZGdlpvNmtUY1ArSUds?=
 =?utf-8?B?UThkUVlWdS9yUFlsd2N0REZLV1IzVXBleXJHbm4yWTFtQ3dwS1dqZ21DVS83?=
 =?utf-8?B?dXg3cVAzeEZkb1AzNW1HampTMEVBNHNDM25wU1h0UUV4NGg4c1hUcWoweTJQ?=
 =?utf-8?B?cnV6ZEw5Qmh4a2dUMEJYQTd5ODVsZFBONGJ1aTZvakVjNkROelcxUDVjYVBV?=
 =?utf-8?B?WFBIMW5hbWZ5Yzl3ODQ5clJvUVNYajVFNlpmenNWSWY4VVYxRHVIM0QyRFpD?=
 =?utf-8?B?Y0RBcFBBWEtzVFNuMWZOREFwbTQ2SEEwQ1Q2eThkeDNWUmJzSS9rUHpJZENo?=
 =?utf-8?B?MW5nMHFHVVVGblo1a05kci9na3BKaFF0eEhTWjBDZXliRGRoVWdKRTJ5SEFS?=
 =?utf-8?B?cFN6NjBGekRpS3E2RDFaUXJTQUJvSU9SV0ZWbzEvazFwcHFFS0ZtUzhuemJs?=
 =?utf-8?B?cXFhQTVZVTU2dE9BSkpOKy9OTUlCK1M5MWlGdHRwYmN0cjI0V3lkL2hHSWQ0?=
 =?utf-8?B?TWFNYkpJVXZDWVVNUVhRYW9kTTFJMkdEVmM0MzBnRnRyU1gwNGMwbWVNeXBG?=
 =?utf-8?B?dlVPVDlKbG5iWWdiR2VCaE03VFYzRzNsRmhWSjZWZ3puTVFLNG9KVUhKZnpK?=
 =?utf-8?B?NlRvSU9zamlUVEtVamZocVFOMWJISnJlYnpWRDF4NzRrMlZwRHM1UEpGbWJM?=
 =?utf-8?B?ZktScUtPQzE2MU90aEIyeDJkaE5SQnFwOWV4QVREazFyN1FHUUNLMTFaQmJW?=
 =?utf-8?B?eHMxenpDSklodjBIVlFwZU13dDhXd0NmbTdWc3EzLzVhRXRlaEMxamtnTlNy?=
 =?utf-8?B?clkrYmo3Z1lFckh6NVp2dWZOWWlWd2MrQlVHNlNGb0YyUVgzSy9wK1BWT0xK?=
 =?utf-8?B?N2JoOGU3RzA1dDc1Q0FsV01Lck5lcmxBNHNEWisySkVpWjlSR2dPcG1zcng4?=
 =?utf-8?B?MWo4ZDRJUDdCSmI1bmdZWTNQU0VPNjFKc3RHVjdwbmRBVU9PK1NiMThyVUNH?=
 =?utf-8?B?MTltc2lNeWx4OUtPRnpET1ZrYm9SQlJ5OWJjeUkxeWc5anRraStkMDlIaFJr?=
 =?utf-8?B?UGdKVFNOdTV5L29zVXhEeE03ZGNSVnFuRVZiRlhObi9iMlZmMWpxYVZsN1hW?=
 =?utf-8?B?b2NJUDRsUGozZ2ZlaXNHVnRWRkROTjl4WG8rT3RNSkFxNCtCN0Z5V1hITTYw?=
 =?utf-8?B?VXh2M203Ykk5WllFclhjWjZPcTljNTB1VFBOUnRnUGkzSXdrRFFtZklQdXEv?=
 =?utf-8?B?RW1zYU9HcWdhbGpYS1REcUdWNkZOSDN4SytNUG1VK29vZXFGOWIzcXhEdEVC?=
 =?utf-8?B?ckJWSHlRdEcrQkpva1BBOWtYWURSdnh3eTJaWUJqYjNuVmZzekVvYlVuNXVS?=
 =?utf-8?B?K0FzbCttL0VBL3NTVktPZHZEMmpEQ1g1RHl1akp2RFhpU05KVTBEY2FzZW9I?=
 =?utf-8?B?UHg2NkJsRkk0RjdlQzRTcDNtckliMXZXc0MyWmZNVGJmNUlQWUp5MVFYZnBm?=
 =?utf-8?B?WDF5bjI0clVhR0pqZjM4T0R0SDd3TmRCeTVnd0VJMkVqUXdKRjJnWkFDT3pv?=
 =?utf-8?Q?rSyWcgoaWLgORXXK1ualuz9tA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d87ea23-ecc9-4364-ab84-08dbeb3341af
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:15:58.2069
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FnllW3p7q+K7nkoKKdlQ4s1y6ZUWVwA9I22fQrstvE8oSxQfku9ysFvqom93slagjPtV3Xi37kFEUnZkx6c09Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7023

On 22.11.2023 09:14, Juergen Gross wrote:
> Update the used commit for Mini-OS in order to be able to use the
> 9pfs frontend.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:17:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:17:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638495.995073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5iQl-0003X1-9H; Wed, 22 Nov 2023 08:17:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638495.995073; Wed, 22 Nov 2023 08:17: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 1r5iQl-0003Wu-5E; Wed, 22 Nov 2023 08:17:55 +0000
Received: by outflank-mailman (input) for mailman id 638495;
 Wed, 22 Nov 2023 08:17: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5iQk-0003Wm-0W
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:17:54 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0611.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a121528c-890f-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:17:52 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB10024.eurprd04.prod.outlook.com (2603:10a6:150:117::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Wed, 22 Nov
 2023 08:17:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 08: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: a121528c-890f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Y09A/6MK0KL7q9ZR4FIZxZdXBQ12QE47yRo+wS1U/FAW0iXpVWXBMXS/Mrvk9lRhP29A1Z0UR5YKwQSHSr4u8Qc1Qa81g3281fa5TVTw9xbaCthssrDnY7vzoABKux9txVOtvxljT0yYlOzokk58RcCIUM7pa7SejgjPG0yUJgmZ1tebsVj568MsW7EmMebqmwSen5uwkHzVpfR9eAvg7LFqF+WdPgKMG8tahwtG+W/oahFnTxqjRU+HJYBDRc9nlxIlefAn93vNi/hn5qc0RAE6lT00W3RsoKRlVtTujwP7njeGsXiWwkGlAm0qi3fYdSvbgncJe++fi4TQ8IpNzg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b8SBeJw/pAokfoZ+EhsRYPTd5uRbwwN0dPoECBXD4C0=;
 b=IQGRgd1z7PUxRip+GDiUfW63H8Dp1QvyO9wdv+A21qDnt0Tjn4+woIu2cR3qVgRSL2B0C35mgouigUKKLtIkv3fcVRi0GeyIzZt73ITtygMXegSxjFrnVSb+20K69QMSvT1qRGqnkPrsu+EmyzZoJ8S/qvy9nnOqBWwNjq4tv/0NlpOQpZAHeyPa3wcuaKaDuwz5kiH3GiGrZsxVcMxC/nw5gwXfCN9SBntIKr0w1lxO76yVyE/BsDuOWIUqe9+C99GdjJ6KOp7u2WpEEe3AyolQYhwuqDHPu+GO/xMZVbi4lffnYKNpkiVUn1+WNa0UTJlvba163Ehps0cjvAXtzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=b8SBeJw/pAokfoZ+EhsRYPTd5uRbwwN0dPoECBXD4C0=;
 b=aZLlJebP/HZ226sTfi/OSwyZPLJHKpSlEmrM5c21Z22gRGBpS/IwFEU99HQzLmB15gHkjIYV/snXAylG12Gt8YDAHgfZqCq0FXxLJU4ZlkqIAOISm9umTkb7K8o5lYJhJ4u6jCGQr3tPeoIQFZ31g3wpoFSstDyD18lfQPppx9ZrpDkmx87GMpCxES5SfWonNj/8ceWegyWK5OJ3diyng/l5rNxztsUpH7jJpq+hgvriQ8iG4lga5cF2Sm5B5VFXIoUP6hS1E2CD462K+AQvJOI8NlJQxxw77H8uPSOPQWlv+dssLe/KZzoHPA5cVNkLin8foH5bQJu9s5l+0TECdQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <83860936-b308-40c2-8120-bb143c20d0e2@suse.com>
Date: Wed, 22 Nov 2023 09:17:45 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/hvm: Trivial style cleanup in vlapic.c
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: <20231121174054.1486631-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231121174054.1486631-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0174.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b7::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB10024:EE_
X-MS-Office365-Filtering-Correlation-Id: 3266b678-9c57-438a-5059-08dbeb3382e2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	E8ePDUusqzuEYFyr5gfdCTs+qCeiKSHf/3vVT+25xcL/h3zcM2OkNjoCOQavUxo+Cdp++N2De0aAT1iV1lIaCtkIRKMCeD5w8d2x1vRy9h5ba1CFBNQAQ4KoRbA9JX/85ZKXvJQsXEBgCBRBV5+SgMYC/g+CMHoHEGwZqTAdCFvfBFjEEkPHCjMIvdYcZNMojprb60SUrTC1Z27dBMGCw3Si2SfWdJVZ7H1Pg9XvvXpcKJYytBAgwaXpZaL22mmpKg2ZjunZKMMUhmZViLvKM7FXK/H+B/10hak8Qj9YYMY7QsFMaOBGnMv2j2mgGYCifitFWDzuvFDcvXDxfwhCm4MdjAQtKb7Z1qP7NinsCMUu9ujta2G2IJiARlJ7n5381PSiG04uYyA+lUcMh2vAUIWEn75nYT3gnDf07plhpuMDDkyO76EDFY1bAxB5Rm2U/59i6yQA6N5Jb6rWZgIYppL0/IUmJyZbrroFReuTEDjFKGjvYf4FrsShAUSsCOeTrPJSUV5XO5T5TGUA1W0BqJw8J+z7gZO4jI99Efx2/6fHEnRE06iCJxPWkWxgXSIoulbiR4okmJnFtA3XXVlkK9vc/RhXqIbQDD3WbDFEAQ1s5sbUUlHlIZwI/1Bayvlc/SKXyfRk4zHTtYb20imknA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(136003)(376002)(39860400002)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(38100700002)(558084003)(36756003)(86362001)(31696002)(66946007)(66476007)(8676002)(4326008)(54906003)(66556008)(8936002)(316002)(41300700001)(5660300002)(2906002)(26005)(31686004)(53546011)(6512007)(2616005)(478600001)(6486002)(6916009)(6506007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dHJZeGdxWUgrUkV6SGxnRlp5S0w4SU42K0gwM2NLVjhRS3IycitaZmE5dXBq?=
 =?utf-8?B?TTNuYTNSWFo2V3NkelJVSDBsSkxNUGtlWjZKMWY2eGN2KzZhREJyR296ZndS?=
 =?utf-8?B?Y2pZaEVWOUQyQmtuT0N4SjFMb3VHS09RNjcvV0F2NWFIUHNwV0FtTmxFUnds?=
 =?utf-8?B?WW9zNXJDYzAybkxIWmxwUngxMXBabmd2bWJzL3ZsQUxTTmZuRUczVjN0QmN5?=
 =?utf-8?B?cktJdFZEdGhVaDlRNTdQMCsvaXVjZlh1dkxtYlRGM296WkJRdTVFVWRCMm9U?=
 =?utf-8?B?b29zVzFTZE5Ya0FlTGNTcndiQ1pNaDdjZ1B4QTQ0bjkvaGZwelZ1aE11Zm0z?=
 =?utf-8?B?NWNPWEpEbmhWRUZ6NVJSNjI4Z3JjdkJnSFZLRXR1WjMzNFNoYUR2a0JidWhE?=
 =?utf-8?B?YlV5cDRvNU05RFNTMWFtU2dhcGl2N3IwU0tRb3Fid0g1cGM4MXVvRnNmZVFw?=
 =?utf-8?B?TDB2VzYrTXRWL3dUdG1FU2djcXJIRXBsbnZueU5oNE9tSlhXUkFjeTk1WTVD?=
 =?utf-8?B?WVBMQWhYUUtNaVdvSUpBVFNDejd2OHdqR0lXTExlSzFrNTBPU2lMTEhPQk1O?=
 =?utf-8?B?MEVoM2w1L1E3ZVlpSUYxY2I0ZUlWUHBZaHRZZWhFV2xrSmcxVjJWbXVhS0xW?=
 =?utf-8?B?bE9tZzQ2Ulc5U09CZ0lyWWZWTmV6bkRZcTN2WG9RbHQ1RC9pbm9TQStBdFNH?=
 =?utf-8?B?cVVxaVdyVEJUZmYzVXVjK1A3dDFwLzFyR3lKQ21ITWJOMWZnWXZOU3FaMzJL?=
 =?utf-8?B?T3l3cHZ3OGRaaE1WVkhQS3VZK1llemdUZnRoNEZjSjlYcWtCanBsNG95QnJX?=
 =?utf-8?B?eEFtQm1GeGRJYVNVR3NXQ3NmV281KzVEUHF3c2xzamI2OXNWakN4dDRvOSt4?=
 =?utf-8?B?VEk0Q1pJMVNEKzlVZjkvR3FmSXdzWVgxR1RWSUpjZVJIQ0FWRm5heExmeDBa?=
 =?utf-8?B?ZXpGcW94Vm8vOWFVSGJ3Ty9HNkRwemsvS0NnOUIwbzhTbHpZUThFYTlLbzVu?=
 =?utf-8?B?VXEzTTBkenFaUEw0a1ZmZWZ3dm9keHFOVmZJaXBTVmRCZ0VEQXYrQzRjS3BK?=
 =?utf-8?B?bVN2UmhXMDhoOHU0T2RwMUpDZ2lteTJQd3REemd3ZHZDQWF4R0FUQm8xb2Ir?=
 =?utf-8?B?R0xnQjJsa3p4bVhqUkRxT29hMXRaMmd5a2J4RWVsQmQ5TDZxeDcyMkpUUEQw?=
 =?utf-8?B?SVRCemNxeTdwMFU0VGJBWU5XRVUxcWxyL1dqc1pZK2FnaE5NY0dubjBpSEtL?=
 =?utf-8?B?YWdHZzEydGJxK0NjcFFyRnp3MnlWRXV2c2Q5K1BkTS9RRzRaVG9MdWtHSnhz?=
 =?utf-8?B?YytGa0h1OWV3bFM5a2doY2R2N3RRUDBJLzcvMmQ2ck16aDhadWJwaDllaXNr?=
 =?utf-8?B?alAzNHB4RVFNMXJPRkM1UFpSM2FrK0RiaW84YVhRS0dBNEN5cW82RmhpQ1Iw?=
 =?utf-8?B?L2Y0c3pRaE95cGN1SzdCQVJYSldXU3Vod2NING1KRlVDZ0lzWFpGOW1Ga0xQ?=
 =?utf-8?B?KzUrVXFCbXIxRkVZZ2F2UEl3b2hueURydndwcStpc1ZveDRuOTZObW15dllJ?=
 =?utf-8?B?eG5Bem9BT2QzdERXRjlqc0VXODBPTC9TaU9POWN0S0o4ZDVQdHQzNENYOWQw?=
 =?utf-8?B?c213Y2VoZ2U0K0VWall5SC9NL0VKb0FnN3FPRCtRRi9xU05UNkllK3dFVm9K?=
 =?utf-8?B?WmVVa1RWVGZOOGZiV1ViTFJUcG9mQXFKYWZEOWxUdkwxS0Yrc2F5amZ6Zm00?=
 =?utf-8?B?K0tYTFpLcnJnQ2VCdk5sSFg2MXlCd1dEM3JJcVM0Qi9jdjk5dVNrUVlJU01K?=
 =?utf-8?B?NGEvQlRnMEFIeUlvVm03cXdlak9UbzlCbUF1ZVF4SjdnMzRtSU5OQjI5c3JB?=
 =?utf-8?B?alJtVzBPVnBvRGNOVFVKeEZtcUZzcURyVWNQU25nQnRNNks0UmErZ2F5YUpW?=
 =?utf-8?B?SFVZTmN5aFU0RXNnTGc5bG9QZi9iMWFsVG9ZS1BCdmd5MFNnMllJNUxVOVo0?=
 =?utf-8?B?ZHluWlRSeVNrQXhUMHFBeTUyK3JKaU1rQUtDOWFKZlNQMlNxL0t5VnJPaEVk?=
 =?utf-8?B?b3VxaDY4UGpmTUlpWndobDFIMm9tbmdoU01tdy9wOFo1N0lDTlpUbnh5SUx1?=
 =?utf-8?Q?CDM/BHed1Gtezv1y+0FDEq4zz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3266b678-9c57-438a-5059-08dbeb3382e2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:17:47.5704
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lwzIvWtt98ZDyjhieTtegrDckB5e/xVlIiYLWFd5jot2Umv4JgPX6izqIBgymJjob+GBBwicvMekDfkh/ADgXA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB10024

On 21.11.2023 18:40, Andrew Cooper wrote:
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:20:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:20:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638499.995083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5iSw-0005dQ-LD; Wed, 22 Nov 2023 08:20:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638499.995083; Wed, 22 Nov 2023 08:20: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 1r5iSw-0005dJ-HN; Wed, 22 Nov 2023 08:20:10 +0000
Received: by outflank-mailman (input) for mailman id 638499;
 Wed, 22 Nov 2023 08:20: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=E1Gm=HD=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r5iSv-0005dC-92
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:20:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f1549591-890f-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:20:06 +0100 (CET)
Received: from [192.168.1.9] (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id C63604EE073C;
 Wed, 22 Nov 2023 09:20:05 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f1549591-890f-11ee-9b0e-b553b5be7939
Message-ID: <fc51fe5b-3e2f-4a62-8078-a86d064c9ef1@bugseng.com>
Date: Wed, 22 Nov 2023 09:20:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: improve scheduled analyses
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Doug Goldstein <cardoe@cardoe.com>
References: <54204ba682f4a5dc6fb8202b593d9562caff6d06.1700486902.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2311211733330.2053963@ubuntu-linux-20-04-desktop>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <alpine.DEB.2.22.394.2311211733330.2053963@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 22/11/23 02:35, Stefano Stabellini wrote:
> On Mon, 20 Nov 2023, Simone Ballarin wrote:
>> The scheduled analyses are intended to maintain an overall vision
>> of the MISRA complaince of the entire project. For this reason,
>> the file exclusions in "out_of_scope.ecl" should not be applied.
>>
>> This patch amends ECLAIR settings to prevent exempting files for
>> scheduled analyses and prevents scheduled pipelines from triggering
>> non-analysis jobs.
> 
> The last sentence...
> 
> 
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> ---
>>   .../eclair_analysis/ECLAIR/action.settings     |  2 +-
>>   automation/eclair_analysis/ECLAIR/analysis.ecl | 12 ++++++++++--
>>   automation/gitlab-ci/analyze.yaml              |  2 ++
>>   automation/gitlab-ci/build.yaml                |  4 ++++
>>   automation/gitlab-ci/test.yaml                 | 18 ++++++++++++------
>>   5 files changed, 29 insertions(+), 9 deletions(-)
>>
>> diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
>> index f96368ffc7..3cba1a3afb 100644
>> --- a/automation/eclair_analysis/ECLAIR/action.settings
>> +++ b/automation/eclair_analysis/ECLAIR/action.settings
>> @@ -134,7 +134,7 @@ push)
>>       badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
>>       ;;
>>   auto_pull_request)
>> -    git remote remove autoPRRemote || true
>> +    git remote remove autoPRRemote 2>/dev/null || true
>>       git remote add autoPRRemote "${autoPRRemoteUrl}"
>>       git fetch -q autoPRRemote
>>       subDir="${ref}"
>> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
>> index fe418d6da1..2507a8e787 100644
>> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
>> @@ -2,7 +2,13 @@
>>   -project_name=getenv("ECLAIR_PROJECT_NAME")
>>   -project_root=getenv("ECLAIR_PROJECT_ROOT")
>>   
>> --setq=data_dir,getenv("ECLAIR_DATA_DIR")
>> +setq(data_dir,getenv("ECLAIR_DATA_DIR"))
>> +setq(analysis_kind,getenv("ANALYSIS_KIND"))
>> +setq(scheduled_analysis,nil)
>> +
>> +strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t))
>> +strings_map("scheduled-analysis",500,"","^.*$",0)
>> +map_strings("scheduled-analysis",analysis_kind)
>>   
>>   -verbose
>>   
>> @@ -15,7 +21,9 @@
>>   
>>   -eval_file=toolchain.ecl
>>   -eval_file=public_APIs.ecl
>> --eval_file=out_of_scope.ecl
>> +if(scheduled_analysis,
>> +    eval_file("out_of_scope.ecl")
>> +)
>>   -eval_file=deviations.ecl
>>   -eval_file=call_properties.ecl
>>   -eval_file=tagging.ecl
>> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
>> index bd9a68de31..6631db53fa 100644
>> --- a/automation/gitlab-ci/analyze.yaml
>> +++ b/automation/gitlab-ci/analyze.yaml
>> @@ -28,6 +28,8 @@
>>     extends: .eclair-analysis
>>     allow_failure: true
>>     rules:
>> +    - if: $CI_PIPELINE_SOURCE == "schedule"
>> +      when: never
>>       - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>>         when: manual
>>       - !reference [.eclair-analysis, rules]
>> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
>> index 32af30cced..6b2ac97248 100644
>> --- a/automation/gitlab-ci/build.yaml
>> +++ b/automation/gitlab-ci/build.yaml
>> @@ -1,6 +1,10 @@
>>   .build-tmpl: &build
>>     stage: build
>>     image: registry.gitlab.com/xen-project/xen/${CONTAINER}
>> +  rules:
>> +    - if: $CI_PIPELINE_SOURCE == "schedule"
>> +      when: never
>> +    - when: always
> 
> ...does it mean that we are going to stop all the build jobs...
> 
> 
>>     script:
>>       - ./automation/scripts/build 2>&1 | tee build.log
>>     artifacts:
>> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
>> index 61e642cce0..47fc8cb3eb 100644
>> --- a/automation/gitlab-ci/test.yaml
>> +++ b/automation/gitlab-ci/test.yaml
>> @@ -1,6 +1,10 @@
>>   .test-jobs-common:
>>     stage: test
>>     image: registry.gitlab.com/xen-project/xen/${CONTAINER}
>> +  rules:
>> +    - if: $CI_PIPELINE_SOURCE == "schedule"
>> +      when: never
>> +    - when: always
> 
> ...and also stop all the test jobs?
> 
> So basically the only thing left is .eclair-analysis:on-schedule ?

Yes, you're right. I don't know if this is the indented behavior,
but without these changes all jobs run implicitly.

If test and build stages are supposed to run on scheduled pipelines,
I suggest making it explicit by reversing the guard.

> 
> 
>>   .arm64-test-needs: &arm64-test-needs
>>     - alpine-3.18-arm64-rootfs-export
>> @@ -90,9 +94,10 @@
>>         - '*.log'
>>         - '*.dtb'
>>       when: always
>> -  only:
>> -    variables:
>> -      - $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
>> +  rules:
>> +    - if: $XILINX_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
>> +      when: always
>> +    - !reference [.test-jobs-common, rules]
>>     tags:
>>       - xilinx
>>   
>> @@ -110,9 +115,10 @@
>>         - smoke.serial
>>         - '*.log'
>>       when: always
>> -  only:
>> -    variables:
>> -      - $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
>> +  rules:
>> +    - if: $QUBES_JOBS == "true" && $CI_COMMIT_REF_PROTECTED == "true"
>> +      when: always
>> +    - !reference [.test-jobs-common, rules]
>>     tags:
>>       - qubes-hw2
>>   
>> -- 
>> 2.34.1
>>
> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:23:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:23:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638503.995092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5iVX-0006IW-2q; Wed, 22 Nov 2023 08:22:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638503.995092; Wed, 22 Nov 2023 08:22: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 1r5iVW-0006IP-WD; Wed, 22 Nov 2023 08:22:51 +0000
Received: by outflank-mailman (input) for mailman id 638503;
 Wed, 22 Nov 2023 08:22: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=0DV9=HD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5iVV-0006IG-IE
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:22:49 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50f85efa-8910-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:22:46 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40b2c9ee8ecso7743915e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 00:22:46 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 e1-20020adff341000000b0032f79e55eb8sm16366242wrp.16.2023.11.22.00.22.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 00:22:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50f85efa-8910-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700641366; x=1701246166; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=9YFKNBjfD/PkQhA9VIQbKBAC9DnXe1BmDgX7SOX2CKU=;
        b=YoLIUsltcEUkswFXOLvThGwOSRnIUBmmYHRAaUs4lJSQVAkZBBes41U8gB6kIkEuIx
         WcU26S2VD0u6xzrVy/JglivovlYBeQYwLgWL8rdF2emriLVM2irykKOiU3AEEfcQW97q
         xIRElUlBCe6JajxmzSpR35EwJDJ8AZEYwUyds=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700641366; x=1701246166;
        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:subject:date:message-id:reply-to;
        bh=9YFKNBjfD/PkQhA9VIQbKBAC9DnXe1BmDgX7SOX2CKU=;
        b=dV6UUDewu+ThQpSPwH/6EmkOwiJYuYtqjKXqpioYdJqiRarrTZALYx1U8x9KzM1RAs
         rxZEVWIJEBsQkLiCVEsj/5ddEOiJx4MA3XU0g8g5e4bav1jRker/wAzI544LwLR29BG7
         vlZmEaCHho/iRNUwW6V6A/5tn5p0XnkV13u87Dnxvtu97Jt9FMIrDgqlB6dzf92A2KMe
         qQjO3x4Us+sejtf991TTUpiFsuxh+4KwwNiPgz1NryV/cUplS5HTN2mbFzPjzd0uBfJJ
         DLPjlxl0+QEfIPWPezdZx4aqR9CdqxD+6DxSX7ErvpsapjYhbA+GynZwGLV0IJkGJCG5
         mDYA==
X-Gm-Message-State: AOJu0Ywd0gE1IFsl1RnMntmuafJBKfH/LlA0CIMZqs67koGdqCiJr8HK
	BtaTZI3w68qn/60mWvZA219jUg==
X-Google-Smtp-Source: AGHT+IF3YpJXIxLFu+wO0o2tssM3r5rKecX2ziTwt8R71kqcE0EokJ0Gpd1q05AYLm8TuCSjnbv4hg==
X-Received: by 2002:a05:600c:1c06:b0:3fe:2a98:a24c with SMTP id j6-20020a05600c1c0600b003fe2a98a24cmr1076689wms.26.1700641366106;
        Wed, 22 Nov 2023 00:22:46 -0800 (PST)
Date: Wed, 22 Nov 2023 09:22:44 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [PATCH 2/5] x86/HVM: hide SVM/VMX when their enabling is
 prohibited by firmware
Message-ID: <ZV26VGxA6ZZS7LAZ@macbook.local>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <b16802f5-13ae-47a0-b12d-604928f4cf7e@suse.com>
 <ZVzZy-KYgdAsqRE3@macbook.local>
 <d63dfc54-cf89-44b7-ab7e-983037892833@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d63dfc54-cf89-44b7-ab7e-983037892833@suse.com>

On Tue, Nov 21, 2023 at 06:27:02PM +0100, Jan Beulich wrote:
> On 21.11.2023 17:24, Roger Pau Monné wrote:
> > On Thu, Nov 16, 2023 at 02:31:05PM +0100, Jan Beulich wrote:
> >> ... or we fail to enable the functionality on the BSP for other reasons.
> >> The only place where hardware announcing the feature is recorded is the
> >> raw CPU policy/featureset.
> >>
> >> Inspired by https://lore.kernel.org/all/20230921114940.957141-1-pbonzini@redhat.com/.
> >>
> >> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> > 
> > Acked-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Thanks.
> 
> >> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> >> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> >> @@ -2163,6 +2163,23 @@ int __init vmx_vmcs_init(void)
> >>  
> >>      if ( !ret )
> >>          register_keyhandler('v', vmcs_dump, "dump VT-x VMCSs", 1);
> >> +    else
> >> +    {
> >> +        setup_clear_cpu_cap(X86_FEATURE_VMX);
> >> +
> >> +        /*
> >> +         * _vmx_vcpu_up() may have made it past feature identification.
> >> +         * Make sure all dependent features are off as well.
> >> +         */
> >> +        vmx_basic_msr              = 0;
> >> +        vmx_pin_based_exec_control = 0;
> >> +        vmx_cpu_based_exec_control = 0;
> >> +        vmx_secondary_exec_control = 0;
> >> +        vmx_vmexit_control         = 0;
> >> +        vmx_vmentry_control        = 0;
> >> +        vmx_ept_vpid_cap           = 0;
> >> +        vmx_vmfunc                 = 0;
> > 
> > Are there really any usages of those variables if VMX is disabled in
> > CPUID?
> 
> I wanted to be on the safe side, as to me the question was "Are there really
> _no_ uses anywhere of those variables if VMX is disabled in CPUID?" And I
> couldn't easily convince myself of this being the case, seeing how all of
> vmcs.h's cpu_has_* are defined (and I'm pretty sure we have uses outside of
> arch/x86/hvm/vmx/).

Wouldn't that have exploded already if initialization of _vmx_cpu_up()
failed? (regardless of whether the CPUID flag is cleared or not)

My main concern is that it's very easy for the variables here getting
out of sync with the ones used by vmx_init_vmcs_config().

It might have been nice to place all those fields in an array that we
could just zero here without having to account for each individual
variable.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:27:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:27:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638509.995103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5iaP-0007PY-Mr; Wed, 22 Nov 2023 08:27:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638509.995103; Wed, 22 Nov 2023 08: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 1r5iaP-0007PR-J6; Wed, 22 Nov 2023 08:27:53 +0000
Received: by outflank-mailman (input) for mailman id 638509;
 Wed, 22 Nov 2023 08:27: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5iaO-0007PL-9i
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:27:52 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0613.outbound.protection.outlook.com
 [2a01:111:f400:fe02::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 06358579-8911-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 09:27:51 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB7198.eurprd04.prod.outlook.com (2603:10a6:800:126::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 08:27:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 08: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>
X-Inumbo-ID: 06358579-8911-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EodwYK6x7L2dVYbhy9h157Hb61cpRQJUJ5WiUhh5T+8gLoBLlx8xN7Aj5ofOb0yZA+Bgcs6zz8plzE5zIFbhyXRKDThJOZLcnoKjGplErRzvNgo8QYdIy/JKIgd40vRWU25hkaeuD0u+GHpoSL28hlvJ9koAnTOfMdseNeLgOOIqzMp7AmyqNQGmGmWXcFxTK639w0hDD1kZvUsbafdWornjWs7pmCzmWJw99QnKBEEwtBbK/4Pk05qQes3S3OG0ecaHG7rePpJCj5k0vl49AVofaU73wBVs2CDcu96PrCJ8EedMp8at1RnTePdA8z9UunNS5zXgHuxPILwVS3YOxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=c3pwoEl2bKXKiKu/E6NEdgXX6cggIDZiHIpa0Y4XAaM=;
 b=b+G9rdj69AWLlHoK8E7npbCfJ6lHQhf2Wfz7PHwsIrwPWgmfu9DqbmSP14eRSkEXA2LK6LZ43wbn6LSzBnk9j61rEIO0BqqX4qLbBgdDR4zw49hyWxL/8deH21ECdHEwhMJvOEjdpFIDuQXbgQfSPhkaYQkqdbSUSaHNyaFGtYasig3tWVPEEjk6yeCFQXvcRJQzyWyLbVlWBVmGo+2jUaSa4KXK8mlDaZqnNZK870KKM+J0MOKnDI43id6d+7T+hhvWs23S1kiJwsFeChltI2tlJkdQwm7tAyhBEM0xLMi7vnJWHoQ97X2tmDCHXW+aVAUS7mKU8cGlBHuLPerYFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=c3pwoEl2bKXKiKu/E6NEdgXX6cggIDZiHIpa0Y4XAaM=;
 b=tW1/AS0nbsTfm64Ga9prswsQ/YzK/TQ2coTKCfX079Wsn4uub/HOaRk/0dD9dT4bx+WrB3/T0BJxq/TlLeSFsfpKakqEV8yU6qQsU9dkMm7haa59S51nFQPrOVd7sn2BhXSp0qHki4IStZJkhD2MXBPq7kqquAXMTU6LtwUA2dhfv6Er2UpCQdP9zoRPNiy+C2K4nWZ7njp5ACgBsNbacgP0LL1sydaOwe972TKe2J6/mecMWRIyByiKgoIwu/dkYfqNz1N6gf7SCxQ5zpnFCx254xQGEOf7QO8pDB3Bu26Mhc38GwMBfXTTASsetH1kAJ9oa26FlMFnyki/Ov/3nA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b2875c4c-c099-4349-97af-255c6a76c1e2@suse.com>
Date: Wed, 22 Nov 2023 09:27:44 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] VMX: don't run with CR4.VMXE set when VMX could not
 be enabled
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <d6a8ce0e-fcd9-4391-83c1-d9f709ada3f1@suse.com>
 <ZVzpJ8Ldu3jAH2bu@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZVzpJ8Ldu3jAH2bu@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0421.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d1::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB7198:EE_
X-MS-Office365-Filtering-Correlation-Id: 3d9e1189-bce1-4703-371a-08dbeb34e7f4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	08r/VwDMc+O9V3EoyrmDztHcRs4Fsl3zHt+Jx/p4q/vj7Wf2X8CspsyDHwzFLrCz7RKo3N3iIjzJLSD3njFSuIyvA1NK90o51l5KFPxtGKvPj6920DVMieyoJ0VuHlIlKVtdA29R8tkqd0Td3ZH33S1x61p0Rg64ADuoOiB+mtQHOHBSoCDQbuB8a509sd6sx3mYXmiq/0Gmna0BWYR7l9+tPYyHka7D8wYuPtcBTSIRhwFwhHnPUzmKlC5ibI8SOGw/aQUZMHf+5SkbD91RGyd4QthAAg9ILoM+OHz0eMOfLKu9qOjgG9RP/vm02+lHWjdvUHEwBRwSiAtZvzWnLZlB5mk+4ehcqiibA1AA54e8+gx4R1tF0eGuly/5LaxKPmlqCzUm1dvg9zqpxJ4/bWtydUzBP7WUVknXZmzDCdRFg0PMTCtggVxb7lNft6kMYOobSEJTtye3LIcKCdhtwuno/6Fm2nPSt9TpFc8ojP0dPQWpwCJXe6eKVnVON1Qc8Jz8PfXAUvEe9YF9/IDM+/LuhO1tv8LNxhmmNf8sCLqu6a5ECqo9sxP+tWAIYtABAPz428NwtS8sGuCxJ1b9ddguwoRieKtX8yEUd6IqTFu12WR3y/jh/SzAqAE0RsGmUC6Xz4jZ33uUNB/Fch2L4w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(376002)(366004)(39860400002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(6512007)(5660300002)(2616005)(478600001)(6506007)(53546011)(8936002)(8676002)(4326008)(54906003)(66476007)(6916009)(66556008)(66946007)(316002)(26005)(38100700002)(31696002)(4744005)(2906002)(6486002)(31686004)(86362001)(41300700001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NzdYSjBRaHBUVHljUEpqYS80dU0yYzcyNVRQNzRjV2RjNnp6YytuaFpNSXBN?=
 =?utf-8?B?czlNbEZtWFVNUHVJalorZjkwMnlSUFg4bUlmRHpaNjJTUTRPQ3JSWURvVHdL?=
 =?utf-8?B?T2dDSGhhL1kwb1JxbG1Ka2YzV3h2WlVEWEpGVFdORk1lNXlBWUQ5ckVua2xS?=
 =?utf-8?B?a1Ftd1h3NUJ6eGh5RHJCYUZYQk9LV3ZVcC9DN0dXalJVQW9HeS85NTZseEx6?=
 =?utf-8?B?SVBiMWRMS2MwbXFEWEhGREt2VUNmNHJXZ3l1cHNRMWUrTXpkbGR0UkpDUGgz?=
 =?utf-8?B?ZHNyL1g1QlVPazNoVDY1SUlNQ1crOEc3SmJzeEJKRkJGaG9vZ25HVUVpZjNM?=
 =?utf-8?B?WEJTci9YSlIza3hjRUk3Q3VtbUFlQmZWbEJjdTQ5dW40dTRZR1RUK2RMOVpS?=
 =?utf-8?B?UGs3cUlkUWNwYUNCSTc1Wmd0MlpyMGVGRnFmem5tVFU3OHhBL2tWcFN5RTVs?=
 =?utf-8?B?bzdZajM2OGpCUlMvZ3dLbStPNGhDNVNGR0lXZlNvcUh3eEowS3VFN2FtcWpS?=
 =?utf-8?B?NnNVT01xa2RwK2M4OGhkMjJiQ3dJcDVGZEJ6OGo1bTNaaEN0QWprYVprZlYw?=
 =?utf-8?B?aVVsajBibzVubnZubWJ3bjR2ayt1TGZGQlk0QmxaUWZVNjI0YlUvQ3pFK1B6?=
 =?utf-8?B?UUdoRXZHU08rSEFMcllPSUZBUXZybnZialVmN3NSeU55Syt4UVJ3UzJ2dCtW?=
 =?utf-8?B?eVUwOS8zTVdmSW1hb0hwMVFETGxRV0ZpcmFmSzE0T2IxYU5xL3J4NU9oUXQz?=
 =?utf-8?B?bWphaFhwRzltb3BxU1QyTFRMQ2ZjbnlyOGNhb25IQzBYbmZGREhVcWwwWEEv?=
 =?utf-8?B?SVR1VmcwZmxOWGMweWhjTUlFUzYxcUM3cDNsZHByMWZKaElReVBKSE03MFF2?=
 =?utf-8?B?N1hLd1lpTGxRYituQXBrN0l4ZlJjZGtjcjZWNjdQWVJnODA5VS9yOW96RjFE?=
 =?utf-8?B?dFJ1aVNwSU1qQ3BNSC9TU1U0SVFnTHNWMVJEN3g3RWhUM0FvY2NRd0NnZlgy?=
 =?utf-8?B?S1dibDdlMWJUdndJVEFaNzRGSFRvOFUvV21xZUg4L29SMVBiakdYV01pOG9v?=
 =?utf-8?B?cE5ZdmNNRWVWK0pOVG1rdVJVazJSTmgvTFNRNUxCMVV2U1VkSGwvR2c3VUlT?=
 =?utf-8?B?bC8vNWdabEE2eDJsK25DYnZBN2JmQWRNOEFOeXQ0K3R0VTFxdGNlZXlkQllm?=
 =?utf-8?B?ZzVNQUd0TGc2TGo2R3JITHdnYjNRazAzcC84aFQxaXJtTS9uNHlSZmVtVFVR?=
 =?utf-8?B?am53cE5DL0s3Uy80bTVvdXlpMDVpaWt6NXBXVCsvdElZV1F0VVp2YU5tMC9F?=
 =?utf-8?B?dWQyMWFueGpEVExhaDRFenB3YU1wT09LVExnbk5xemoyNnpueXhFOTNIbjRv?=
 =?utf-8?B?eGFPdDBJdlg1ZUJ0RHhXNXhzWTAvU2hLNlI0UXIxUzluWFU4TEFxcndZeitJ?=
 =?utf-8?B?cVlJT2hrYzloVTkwcFpwTHZORi9hakRROTR1blZwRURoWEVZV3dTWFpvQm1w?=
 =?utf-8?B?QTdxeWdrU1NQRm4wREZuTkk5TjR6VEMvZ3BUa0txWlk3NTJ5TVEzcVZVMi82?=
 =?utf-8?B?eWFyWkkwakR4YmFJcFJkTVlUQ1hocVF1UzR3VkViVnZaQndFZGZHbUltU2Rt?=
 =?utf-8?B?bVY3K3VZM0lNTXRIemJReDBhYzA3aDdWc3hhdVFCWlY1NXhTSm1pS0dRTGha?=
 =?utf-8?B?a1JRV2xhYzk5aXJ4a2s2b1VKN3NjVzN4RExFUXFIZWxFdnIzcmY4Vzk2SERR?=
 =?utf-8?B?NnRVNUR4QzZWMGdpVUtOZWM1VWZsR21Od1czL0w3ZUx1dUxXMVcwZE52WUU5?=
 =?utf-8?B?aCtBWll0cWszRFp2eXlPNnBLRVdoa0hIM2FodnQ3U2VjS0lUYmp2MDd3ekNY?=
 =?utf-8?B?TGNveWdhaURlaUY2K0VRNnRyM0lTWUtzU0tVOTdLbjVlV01ZRzRGS1dXQ1hB?=
 =?utf-8?B?NWRiT2ozVnV1K3QzUzhPWEtKN3FjTW5zRjMreHZRRk1pSkhyck0zVEJtQnBu?=
 =?utf-8?B?Y28wUTdmdVNralZ4VjE1Zk85VG93NDFEWWVyVFpkdTlLNTFtNHVsZWR2U1pl?=
 =?utf-8?B?UUxFYW9KM09zbnB0RlRjY0JGZjg3cnpJR3dUM2R5ODdPbVdacDZoNjc5QUpy?=
 =?utf-8?Q?sViIPOKfMsqd+9iDCjetgTGrR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3d9e1189-bce1-4703-371a-08dbeb34e7f4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:27:46.8375
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: iJCMwU56LzHLsJ7/UKZwdY7K44kEMByxTNqI8niY+UzFxJoZVeKat+nbo+p9u5EavBZISl/TicpSW0KcOYteQQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB7198

On 21.11.2023 18:30, Roger Pau Monné wrote:
> On Thu, Nov 16, 2023 at 02:32:07PM +0100, Jan Beulich wrote:
>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -2959,7 +2959,7 @@ static bool __init has_if_pschange_mc(vo
>>  
>>  const struct hvm_function_table * __init start_vmx(void)
>>  {
>> -    set_in_cr4(X86_CR4_VMXE);
>> +    write_cr4(read_cr4() | X86_CR4_VMXE);
>>  
>>      if ( vmx_vmcs_init() )
>>      {
>> @@ -2967,6 +2967,9 @@ const struct hvm_function_table * __init
>>          return NULL;
> 
> Do we want to also clear VMXE from CR4 here?

Yes, definitely. That was the point of the patch (as far as the BSP is
concerned); I clearly meant to have that there, but then didn't put it
there.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:32:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:32:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638512.995113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ieM-0001Ra-Aa; Wed, 22 Nov 2023 08:31:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638512.995113; Wed, 22 Nov 2023 08:31: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 1r5ieM-0001RT-7O; Wed, 22 Nov 2023 08:31:58 +0000
Received: by outflank-mailman (input) for mailman id 638512;
 Wed, 22 Nov 2023 08:31: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5ieL-0001RN-J1
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:31:57 +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 981fdeca-8911-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:31:55 +0100 (CET)
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 099591F85D;
 Wed, 22 Nov 2023 08:31:55 +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 B0ABA139FD;
 Wed, 22 Nov 2023 08:31:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id mVHRKXq8XWXAWAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 08:31: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: 981fdeca-8911-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700641915; 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=WNhNMS6GfERY2fdXHxREhOBl3zkUHstZfa5puZf/0sM=;
	b=XDCskOTTH7fu73SgpEOMIkosqsxumzKlHiwMkaHTkhclbJa0krzXi4N24+lZiAhH75vwzh
	SyHO2KEo/peAtNBey72iJerDHHkVlcYN+PZ6DhHpfl/vkpCqVit/uOmmEFPk1oCE9kFC64
	b3jJRLWETVHPSmVWmqrhBWc5HulXgd8=
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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH 0/2] tools: add two local .gitignore files
Date: Wed, 22 Nov 2023 09:31:51 +0100
Message-Id: <20231122083153.24101-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: ***
X-Spam-Score: 3.71
X-Spamd-Result: default: False [3.71 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-0.99)[-0.994];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[10];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[30.00%]
X-Spam-Flag: NO

After a new build on my system (OpenSUSE Leap 15.5) "git status" will
print out:

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        tools/pygrub/pygrub.egg-info/
        tools/python/xen.egg-info/

This small patch series fixes that by adding the related entries to
local .gitignore files, while moving the existing global entries for
those directories to them.

Juergen Gross (2):
  tools/pygrub: add .gitignore file
  tools/python: add .gitignore file

 .gitignore              | 4 ----
 tools/pygrub/.gitignore | 2 ++
 tools/python/.gitignore | 4 ++++
 3 files changed, 6 insertions(+), 4 deletions(-)
 create mode 100644 tools/pygrub/.gitignore
 create mode 100644 tools/python/.gitignore

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:32:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:32:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638513.995122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ieR-0001hs-H5; Wed, 22 Nov 2023 08:32:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638513.995122; Wed, 22 Nov 2023 08: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 1r5ieR-0001hl-EE; Wed, 22 Nov 2023 08:32:03 +0000
Received: by outflank-mailman (input) for mailman id 638513;
 Wed, 22 Nov 2023 08: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5ieQ-0001RN-Hh
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:32: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 9b5b4648-8911-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:32:01 +0100 (CET)
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 BB5DD2192D;
 Wed, 22 Nov 2023 08:32: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 7210F139FD;
 Wed, 22 Nov 2023 08:32:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wPKAGoC8XWXMWAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 08:32: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: 9b5b4648-8911-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700641920; 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=tAbYSXvGgNPLYRwje0RB8GEL5yOks4UU+D1AOaC21WE=;
	b=e2l2h5g0rXZGGAgMMLWcJoC6Yhegs51d2UT6J78YXb/x7bXe1R+GzrD0z7PkZQFPSp8KRZ
	KJRbDODOr8XZfBd2AdIK1UKdIuLbxjPLq8taQ6b8hzPqovy9JsOEZFy+uhRPwMAaBr9RLl
	2l/XW6EMD4B8cfUaTwixIqF/N85E49I=
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>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 1/2] tools/pygrub: add .gitignore file
Date: Wed, 22 Nov 2023 09:31:52 +0100
Message-Id: <20231122083153.24101-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231122083153.24101-1-jgross@suse.com>
References: <20231122083153.24101-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.30
X-Spamd-Result: default: False [-0.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-0.996];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[43.10%]
X-Spam-Flag: NO

Add a local .gitignore file for tools/pygrub.

As at least on some systems (e.g. OpenSUSE Leap 15.5) the build will
produce a tools/pygrub/pygrub.egg-info directory, add it to the new
.gitignore file, too.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 .gitignore              | 1 -
 tools/pygrub/.gitignore | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 tools/pygrub/.gitignore

diff --git a/.gitignore b/.gitignore
index 2cea994934..3009545af2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -213,7 +213,6 @@ tools/misc/xencov
 tools/pkg-config/*
 tools/qemu-xen-build
 tools/xentrace/xenalyze
-tools/pygrub/build/*
 tools/python/build/*
 tools/tests/depriv/depriv-fd-checker
 tools/tests/x86_emulator/*.bin
diff --git a/tools/pygrub/.gitignore b/tools/pygrub/.gitignore
new file mode 100644
index 0000000000..8c64b5dfeb
--- /dev/null
+++ b/tools/pygrub/.gitignore
@@ -0,0 +1,2 @@
+build/*
+pygrub.egg-info/*
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:32:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:32:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638514.995133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ieW-00020Z-QI; Wed, 22 Nov 2023 08:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638514.995133; Wed, 22 Nov 2023 08: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 1r5ieW-00020O-Mt; Wed, 22 Nov 2023 08:32:08 +0000
Received: by outflank-mailman (input) for mailman id 638514;
 Wed, 22 Nov 2023 08:32: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5ieV-0001zJ-KS
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:32:07 +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 9eb2bdea-8911-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 09:32:06 +0100 (CET)
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 594821F85D;
 Wed, 22 Nov 2023 08:32: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 1BF5D139FD;
 Wed, 22 Nov 2023 08:32:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id xkd6BYa8XWXbWAAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 08:32: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: 9eb2bdea-8911-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700641926; 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=OZXGIvs860A1OXmMIwGKtEn6mzTWfeL0TAPGoZmgBkM=;
	b=eyW+GC3HQB0uNy2Lq4U4NdxwCWEqyvj4GWUwspN30I74AWgMzvPn1p+8uUGqfVk23sSvFK
	E9dGBxrHuNSfsE3wwT2XnEVOjbhVhSqW1Fm3es91j1cvOh+nrs1zXvhTgqZdlJw+ldLKfe
	WhtLbPTHUIxhByVvKbH4KTeGGEFM8uY=
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH 2/2] tools/python: add .gitignore file
Date: Wed, 22 Nov 2023 09:31:53 +0100
Message-Id: <20231122083153.24101-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231122083153.24101-1-jgross@suse.com>
References: <20231122083153.24101-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.30
X-Spamd-Result: default: False [-0.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-0.995];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[10];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[16.83%]
X-Spam-Flag: NO

Add a local .gitignore file for tools/python.

As at least on some systems (e.g. OpenSUSE Leap 15.5) the build will
produce a tools/python/xen.egg-info directory, add it to the new
.gitignore file, too.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 .gitignore              | 3 ---
 tools/python/.gitignore | 4 ++++
 2 files changed, 4 insertions(+), 3 deletions(-)
 create mode 100644 tools/python/.gitignore

diff --git a/.gitignore b/.gitignore
index 3009545af2..5b8f23271e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -213,7 +213,6 @@ tools/misc/xencov
 tools/pkg-config/*
 tools/qemu-xen-build
 tools/xentrace/xenalyze
-tools/python/build/*
 tools/tests/depriv/depriv-fd-checker
 tools/tests/x86_emulator/*.bin
 tools/tests/x86_emulator/*.tmp
@@ -370,8 +369,6 @@ tools/ocaml/test/raise_exception
 tools/debugger/kdd/kdd
 tools/firmware/etherboot/ipxe.tar.gz
 tools/firmware/etherboot/ipxe/
-tools/python/xen/lowlevel/xl/_pyxl_types.c
-tools/python/xen/lowlevel/xl/_pyxl_types.h
 tools/xl/xl
 
 docs/txt/misc/*.txt
diff --git a/tools/python/.gitignore b/tools/python/.gitignore
new file mode 100644
index 0000000000..ffee7b4c4b
--- /dev/null
+++ b/tools/python/.gitignore
@@ -0,0 +1,4 @@
+build/*
+xen.egg-info/*
+xen/lowlevel/xl/_pyxl_types.c
+xen/lowlevel/xl/_pyxl_types.h
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:33:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:33:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638518.995142 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ifq-00031Z-3X; Wed, 22 Nov 2023 08:33:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638518.995142; Wed, 22 Nov 2023 08: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 1r5ifq-00031S-0w; Wed, 22 Nov 2023 08:33:30 +0000
Received: by outflank-mailman (input) for mailman id 638518;
 Wed, 22 Nov 2023 08:33: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5ifo-00031M-Ui
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:33:28 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf0a8e90-8911-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 09:33:28 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9670.eurprd04.prod.outlook.com (2603:10a6:10:31e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 08:33:24 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 08:33: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: cf0a8e90-8911-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dUAwvzyr/iSRCSQX+Ucc9WUSJ8XZ9/t/iMTvq2hLtxkAbXzGjBm8rup9O1ujcC8sYyiEloOi3Jiu2Rax6anLTPzrjWvHsW/j5LfjYTJgLiQ8KtjEX3q+hSVHG/Ddb07p8QkJkGGTQ4da7j5sgp5zdsaTPziFrMXrqbVLP2Oc4DHdT57K5ROS29+ydWPkaYQVn6cdUjC8d4BMJp8sHlE1d2r93P9neU4rvhEj8Xh+hSRYA/RlkV8uz0cgDsk2eoT543fRuHR4Q7v8fyI8wFNA4WXhsVZZEvcUXdz2UTvDj8CRn2kgveNz+0oU44eFx6WjMh653h3CQAoRboc5bQMYBQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SLIAZg9r66lCTnyGSE2qu1/31wYlJ+YC4zCllUzgVhc=;
 b=bcrs2zkKCLFiDy4fl8jzZnPTzj/bWX8WDWsB61bG+eam/v0NOmh/XndCDkiV/MlUW0D2g1D+mTwJ6RNkqTalrNztoPZZEk4BmA9o0PnWMsVJJWBhIInw2OoAOjeIpIOfJh28OPQJUslcxJgRxDBn69Mts2e3yxx6ybLpaiT/pjT+1PLJj7YoxOoWxqoibiKECWz0EyF5VuEP9jgggrUQ2QUAlkf1LkX6AaxzGrJNi3rgLh1fMUYIsAmuhqBZzn1ozSLuEkj2f0DUyS+8V0o+tKe8CpU4lXTyUWFc7pEftNUjtj7Jl69TgK8jHSZ0IYtt1wnBBTzYns00uneQ0lQeKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SLIAZg9r66lCTnyGSE2qu1/31wYlJ+YC4zCllUzgVhc=;
 b=JIqPZHQG2n5TcmkRb4I55b8zMsogHsXHR6+i9txwVkWDEo99nS7Ckf4TD5V9jXREUl0LOSJI0mSyi+hTaYKiGK3UatkNibOfa9AjAZ7g3+xNQB9xaSySXUdWIZbj0S6dWgfKbUCO/TY4ERszngbqHZlkH/mCRjZthkC9g1teMTc3l7IqXYmcwJAz41n6S1W0iAlmruQZYCPDmlThjV4YioXpxB6Jhk0p9peA5AuP8rbRuVaoQeQikyqs9h7CGa+torj76v+CkJkE2k0HigkoAa1pW7VTSlKvMNar6kF+k8d958bmXeRxAH2S55VozS/vfAeoqF9PBJZhl1Np4v2c9Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0c1720be-e0f6-46c2-a99f-97cf1bc747d0@suse.com>
Date: Wed, 22 Nov 2023 09:33:22 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/5] x86/HVM: hide SVM/VMX when their enabling is
 prohibited by firmware
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <b16802f5-13ae-47a0-b12d-604928f4cf7e@suse.com>
 <ZVzZy-KYgdAsqRE3@macbook.local>
 <d63dfc54-cf89-44b7-ab7e-983037892833@suse.com>
 <ZV26VGxA6ZZS7LAZ@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZV26VGxA6ZZS7LAZ@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0281.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e6::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9670:EE_
X-MS-Office365-Filtering-Correlation-Id: e93296ec-628a-4215-ec2c-08dbeb35b13c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VsVImtXTHGITtmALXHSjWfX/zmBEM0MNL2VoTPV6b0P+GeZxcMaEX0xzHw99RZs76wLjPm3jIo8loH2pI2h1aqPR4zfwi2ymnFppOlUP6d8e1jfut2eEaVzb8IKxsbSOw4YStSfX7I8xzu16bOh+jjs47nqOOv9+zH3KOxr1FpjL5gC09oqTyWmQa+aiCoRK7Lm1bOF/ZSNLqGRwP0NgXTsP+5Yfeyowg8JiQ5/hH/XMlwWEGrP4o2SKk+UBqSBPlj6VENM7TFJRROUD/2afvY4SAw1RCd/VPYXSdbE3OOJinyVOpBArNozV/xu9kH6frRqCUw/ZfBTCP4v0Mn7opaN5lR7/XTbAcIi4lKklrGEgS9x760QbTvxmeMKsGQp1F+fYAtUodKIfgHh9CnoREDzCjaOlvNd16blopq5NOoGd4o46t9a8EXglIgXbU88oW7JyUBrSc3INdhVIDykeYfs6cZ0uD87ZlXmBR7YJQvEKVngZa/eqfkEEdJ4lzVMrrPoruKi4CCyYHTnsMvwkTart9noYDXC7bQ7wZIb+iHwprpI/qFIvnvC60WTA4ZpD5BtErf0GPnGSgC6XFR0bhbSSWXK0kybNQ1xyOpKNi87FiBDtKRJ0dfw8ROvAigv+5MZJcpNG+EO+21vIugImgg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(346002)(366004)(39860400002)(230922051799003)(64100799003)(1800799012)(451199024)(186009)(66899024)(31686004)(2616005)(6512007)(53546011)(6506007)(966005)(478600001)(6486002)(38100700002)(36756003)(31696002)(86362001)(5660300002)(2906002)(41300700001)(66946007)(66556008)(26005)(83380400001)(66476007)(6916009)(4326008)(54906003)(8676002)(8936002)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cFg2aVY0RDZjSkQ2enhYRmszR1hGaldzL2R1eGthK1pZNkwvZVYzY1FLZzdS?=
 =?utf-8?B?N0VxelVSNTZmbWhlem9icUFSa2RhNDFZSUg2R2pleFlNcnZLSll3aXVBTHhM?=
 =?utf-8?B?MHVINFo4cTMvVVBud1g4OE52THVtc3lWQkVYb1BNcnFla2I1cWxkclVJbllG?=
 =?utf-8?B?dVRWckZQT2dKendGbnd3M0syb3VCR1ltczBXQXFuQjl1ZTg0Q1ZTMVIrWWZp?=
 =?utf-8?B?L1IwOTQ2UEFUci9paEJ4ZUd1MWsvcVZSaDJRQzdUZnZlOVB1UlZqZ25FcHRE?=
 =?utf-8?B?b2l1aFJ2MTFMRXNCWTdGbzRrS1lYTnBQVnVlRVRYL2hOMUJtc0s5eUN2RE5k?=
 =?utf-8?B?YmYvaWdsYkxIeEFvYzVubXJIOHAydFc0dlAwNm04MEwvZHBSMldNS0pFOURJ?=
 =?utf-8?B?NFdGbEljMExXbFRQME0wQ0ZrTjNTaC9jSytoMDI2cEtCSFJVa0hVMFovc21H?=
 =?utf-8?B?bGw1QnZuVTVTNHJ0T01ZbmtLREtNS05tc29vV25pZnVOeWpQc0ZvdGlWMkFn?=
 =?utf-8?B?OEV1dEZnV1E3SEtxclR5U2FUeXY2VnBNYXVQWUE4TFdMMEh1RlgrWEROSU8y?=
 =?utf-8?B?ODNJQTJ5QWcwRkI4dGlEd2ZmMk02TkIxaFpSRWhrWU1uTXZwV0RlbG5pc25K?=
 =?utf-8?B?Lyt5S3plVUdnQ1lUSk5RZUxyczhqVUtpem54eVUvZzhtRDk3ZEpwbXVDZzl2?=
 =?utf-8?B?eGZ1VmtlbHkzc1FyQmZPTjhzQ01VektTc3MxZkZyZXlYOTYzalAzRG1wcWpO?=
 =?utf-8?B?ZHpEbEdvc2Q3c3c4VHp5WHdPQ3Z3NnA4enNUTENJQWdCdTlIUTZIMVFyTFVP?=
 =?utf-8?B?MzEySi8wcUpUcGhnTUcwYTMxR2krMFB3TWJWUzMzcDlVdURZTXFXZFlucXJG?=
 =?utf-8?B?WmM0dzNibmsvYm04a1BtSjVGMDBTMlRIL1cyQ3lwampqajVjS1VYS3J5cmpO?=
 =?utf-8?B?VkhDZzd5WlY1SW5HalBscFZPcjZFM01Ib1RKTGJtT2hUeTByUGQvK1lLdGZw?=
 =?utf-8?B?UVc5bnRCMG4wN1FEWEMxb2Nqa0ZmVWxlUjdKNEhNeTZwVTZ2V1VCWU90SmpH?=
 =?utf-8?B?dGs5V2x5YWpJWlFFbmVsdXkwUGJZV2hUT2hIWDEvWE1Mb2F1OE5WSjQ0Mm1v?=
 =?utf-8?B?SjhEVFZxdEpyclZucUc1b1ZaeFBmMENRd1BPRU1hRGhxUlR4b2NxN3UvZkYv?=
 =?utf-8?B?REhOUHpybU4xZzNzdlc3cE13MnlyRU5iWERMdVBoZzRBZXFTNzRXdG1rWlJJ?=
 =?utf-8?B?QUV4ajdaS0ZCWHQ3am55RjIxbVp2QnB3MFhleVVuTjhvQU1xVUxrd1d0YUsr?=
 =?utf-8?B?dWprT296UGF6ZkVnN3llN0hSM3NwNlcwelJXY2RLdU1WOVpMa0NrTUg4Y1Rz?=
 =?utf-8?B?VjQyUGVvYkpSNjlYWm1XN2hoVElyREN1U2pOem1Rc1V1ZXZ5Qk41cCtCQm8x?=
 =?utf-8?B?QlVsQVUrNUhrc0x3eEs0Qy9RQWR6bGZxUWYxUk5qMk1qUk5qdTJUd3RXZTVw?=
 =?utf-8?B?Tm90bTN2cTNDQ3o2bjViL1F1czNtMnR6aXRWREpxM3JPL0dNY2cwWXc3cTBx?=
 =?utf-8?B?RmNGb24wMzJHZEZrQXFTcjJicXZtYUZUTlBIYmNxelFyQUhaTUZPTnUrNlA1?=
 =?utf-8?B?aDRpdkRJUUJpZU9ueURONXpFZG0yaDhuYjNqSXhNdXIyMFFWNUYwVzFsNnR6?=
 =?utf-8?B?bHZuSnRWVldTejJsQmZGUmZtWEVSaUZkVFBNeC8zUHc5K1N5bUFUZk5YcnVr?=
 =?utf-8?B?N2cvZkF1Y2g5SXZLZHcwWDIvWURZd2NXRVdtVWk4bkplOEtnSTZ2amVMeTlk?=
 =?utf-8?B?NEJiWkpxZzUyeGVMaHE2Q0o4S1Awa1l1R1h3S2FMaU9RV3ZVL0NXRFpBVGpu?=
 =?utf-8?B?Unh1NldPckZaOWVvQm1rY0hiZGpOQVJtZ0xkaGV0c1VtRmVDcEhMYWJjd1Er?=
 =?utf-8?B?ajAzS0hXdk5oZHlQTTU5SmxzS015YkgweGxaaE5Qc3RZSjVCKy95cjVWdEwx?=
 =?utf-8?B?SGsxaWl2RG1wSk9oOXF4azFjbHpwQUE3YWlPRWJuV1ZqbFRuYnRzREk5OEJp?=
 =?utf-8?B?SkRRblB2bXN4dnVvQjNpdkpnREgzL2pXVDBmVmFRNkdRNlA1ZERiMWw1SHpB?=
 =?utf-8?Q?uTX3qLRTwudstXlhkbYaaSvKX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e93296ec-628a-4215-ec2c-08dbeb35b13c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:33:24.5650
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XH1o+/V58vHHSEZMfdZMxs4Et8TW45Lv4Ckv+fH+0UV21Vlb2TWYGnXpi+uL2Vhqwck1zL5uaifDlQK1MSFZKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9670

On 22.11.2023 09:22, Roger Pau Monné wrote:
> On Tue, Nov 21, 2023 at 06:27:02PM +0100, Jan Beulich wrote:
>> On 21.11.2023 17:24, Roger Pau Monné wrote:
>>> On Thu, Nov 16, 2023 at 02:31:05PM +0100, Jan Beulich wrote:
>>>> ... or we fail to enable the functionality on the BSP for other reasons.
>>>> The only place where hardware announcing the feature is recorded is the
>>>> raw CPU policy/featureset.
>>>>
>>>> Inspired by https://lore.kernel.org/all/20230921114940.957141-1-pbonzini@redhat.com/.
>>>>
>>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>>
>>> Acked-by: Roger Pau Monné <roger.pau@citrix.com>
>>
>> Thanks.
>>
>>>> --- a/xen/arch/x86/hvm/vmx/vmcs.c
>>>> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
>>>> @@ -2163,6 +2163,23 @@ int __init vmx_vmcs_init(void)
>>>>  
>>>>      if ( !ret )
>>>>          register_keyhandler('v', vmcs_dump, "dump VT-x VMCSs", 1);
>>>> +    else
>>>> +    {
>>>> +        setup_clear_cpu_cap(X86_FEATURE_VMX);
>>>> +
>>>> +        /*
>>>> +         * _vmx_vcpu_up() may have made it past feature identification.
>>>> +         * Make sure all dependent features are off as well.
>>>> +         */
>>>> +        vmx_basic_msr              = 0;
>>>> +        vmx_pin_based_exec_control = 0;
>>>> +        vmx_cpu_based_exec_control = 0;
>>>> +        vmx_secondary_exec_control = 0;
>>>> +        vmx_vmexit_control         = 0;
>>>> +        vmx_vmentry_control        = 0;
>>>> +        vmx_ept_vpid_cap           = 0;
>>>> +        vmx_vmfunc                 = 0;
>>>
>>> Are there really any usages of those variables if VMX is disabled in
>>> CPUID?
>>
>> I wanted to be on the safe side, as to me the question was "Are there really
>> _no_ uses anywhere of those variables if VMX is disabled in CPUID?" And I
>> couldn't easily convince myself of this being the case, seeing how all of
>> vmcs.h's cpu_has_* are defined (and I'm pretty sure we have uses outside of
>> arch/x86/hvm/vmx/).
> 
> Wouldn't that have exploded already if initialization of _vmx_cpu_up()
> failed? (regardless of whether the CPUID flag is cleared or not)

Quite likely, or in other words the clearing added here likely was missing
before already.

> My main concern is that it's very easy for the variables here getting
> out of sync with the ones used by vmx_init_vmcs_config().
> 
> It might have been nice to place all those fields in an array that we
> could just zero here without having to account for each individual
> variable.

Yeah, that might (have been) better. Indeed I already need to remember to
correctly deal with vmx_tertiary_exec_control either here or in the patch
introducing it. I guess I should make a follow-on patch converting to a
struct and at the same time moving to __ro_after_init.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:39:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:39:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638525.995153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ilR-0004fw-Nr; Wed, 22 Nov 2023 08:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638525.995153; Wed, 22 Nov 2023 08: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 1r5ilR-0004fp-LB; Wed, 22 Nov 2023 08:39:17 +0000
Received: by outflank-mailman (input) for mailman id 638525;
 Wed, 22 Nov 2023 08:39: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5ilP-0004fj-RE
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:39:15 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9dabf0fb-8912-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 09:39:14 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8940.eurprd04.prod.outlook.com (2603:10a6:20b:40b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 08:39:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 08: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: 9dabf0fb-8912-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d8xpwHLAKaT8CflGbDMHNZkBKkWAJl1AZSeYOuLtrhre6fWtO7QXpuI24Zo/h91Lif4pvupFKchx8vKkLhBj0Lsbl6h2FSVJ0IR3zxcabH90hvxIz4hyqookLLAF6AUffiDrkYwVox/rxdcbDg0lchI3GGxxAlgvHt1uJ1334h1na46BX+kSxxnZ60kkKTTp1vLnZ++zFsRFc5dL0srBttS4aQFx4u+PMbbDsN+9CkHeTnT93lSJxefueuvLufO9DqX19/TAgLIiYDMUTayvPJUCkdEnyw8cSiJHlrZ8l4ZEkn/cN6thPL5TgGlr3k1IulPiO+asyXOLd1Kwd0UIvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZXtJDx/JLtcJKNSVzQit/PkT1VM0RyYHU4jvSxa+sVo=;
 b=d/YXmuce8AIRdDAd/nRXC04QyXej4bW0VKGKXx8Xbvm2BmbSfJ2JccQkqN5c0PqB7jLN3NNzypxvc7adh4da48Sq3NJb3YHseYayyg1xzek4dLqgHS6jPxfSNjmUTagFABfFXYKsQOUm9T0qXwF82qRFEozfCLrxthfgVSeevMThMpiPEs1nGjGiF1mpFTmI9Qvi1eBO8dcYpqKThzJlW/lb7Q2cAFZN3C4gcrSxhAilHtDYstbUat+c+ehfpyBg/REaQeneQcwrTyJsX85t9EsKx4Xdb5nc2Vxu+C3Zem/TQ65i22udvfzGCUI/OFX/eZltFeVzghgqKJwYbXsN0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZXtJDx/JLtcJKNSVzQit/PkT1VM0RyYHU4jvSxa+sVo=;
 b=Ue4jyA6/EyK9bMPYFxli+Jh7NxDiE8FeHH2+oq+iHPKL/lgjNU2F9d35UWuOLljWl+rDBCM+fScsuMT9EAUcO3VCqZ+gOXqByrLbosV41PEp4ctjK8Z/KBsbmvcxovo+llQUaG5VBeEe9266RnimoTmRaj98GZnCtMIyq+/qVD1n4WqPWN3d4HsrFAPVjaMF3cvQPTlkU4XlI8DpQWQ4Y5RATHYfIXZ8qmAYdVZATQSF83yXfU4GVMx2UqB7BFlTZCUifCH0DJP9tYwZxhJ0+IWqFdbi07rI+o4QG9Hpz1Xk1BmNmPo3SnW+RsUlzfI+VBAnKRdbvas8JMeQjoS8lw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
Date: Wed, 22 Nov 2023 09:39:09 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
Content-Language: en-US
To: Juergen Gross <jgross@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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231122083153.24101-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0253.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f5::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8940:EE_
X-MS-Office365-Filtering-Correlation-Id: dedcd655-5a0e-4b64-424e-08dbeb368047
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:
	XCieeDFySZQo1pkPMtT0eRmC92nnT7Yev0u/5NpoUVBgLrpUHZbQmk/QKonxMZYh/aYHzIRQu82/KF49dGnypnWAlPIAThmr5zhIrgYasXZmy0Q8LaLCh53OW3O5GoOwr5expsBKEixFKbrc8sx2r/c//loplkfGFs7O2pqnSkBWLxGPYi6JG9djIMhkrMd9rJWrTcSM5tLqRXNREGm5nIgpWjibEcCvznKENctbRFsxE81jQPFlvJWb/UzX5yCibru/COthPz41p4X7rwTr8T0d8pfMVA4oC4i/eJ84T/mbpuHSAW8kUcwU3F0XM15CdM+8I6VPEP8QaXNSw0GEjmLKVH0+3mn81jvY2cFHJDCmVCB8/FMpKK6stD7UEbE6THhPhZyFxSO70CMQLzDKFut06pQj3qkxI5ZX3jrTFuibrxsxVgaHbhVDd+MmSFbUKPk1B8nifOrKIu1mmqDbwjcmQSSOz7mEAN8Va0B1o3GL4Njwuf1+ypHYuYtjCmpPhYHd9QWkPIHVwsJuDfHdi9YciH3M6YTnSQQXj12250Nu+4Mhb487VzQrUMsK1/TMsJeprfUkeTkKc1qJ4Tr+k98i8pD+Ch52x3JkDdF6YXCGCrs0ipwvLoPkqxwBFei8e/NMAYgdhLNRJ98BQgtqBg08knGJzLKrlesXDt4aGBOTHezy2gSiQTaUHdykSFE8
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(136003)(376002)(366004)(396003)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(26005)(2616005)(6506007)(53546011)(6486002)(478600001)(6512007)(4326008)(86362001)(5660300002)(8676002)(8936002)(6862004)(31696002)(31686004)(36756003)(41300700001)(38100700002)(2906002)(316002)(6636002)(54906003)(66946007)(66556008)(4744005)(66476007)(37006003)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VDFWT0FnU3FyZG5jT0ZaSjM5UlFlUTJHSHRJbng0clI5TG1JdGxpOHVkaXFG?=
 =?utf-8?B?ZjQ5dW91SUhMbjVrcW1VVXBOdEp6WWpKaGw3RmdKV1JPdHkwR0I3VStTRldW?=
 =?utf-8?B?cVVLeEdkN3V2RVZSTUNKa2dSV2ZwL0xtOVJ0MGtUWktUUWtldmdYSlJlblo5?=
 =?utf-8?B?aTd3MWVwZnYxQk9vaXJzT2RqVXUyZVE1MFl6YmtYK25XdFBnNFBZVUhiWW0w?=
 =?utf-8?B?d1d2eGRaZkRjRDUzSG8wSDk5WTkzZW1DN05iUlczOVJiVWxqblFJWFhkNW12?=
 =?utf-8?B?aWNjQ05mNVdIOXFPRnM5TzVIbnhqYytiSlF6MW96ZzUwU1J3M1VJY21EcGZ5?=
 =?utf-8?B?UGkxcHdBbHRPbE9NSVdBcnNCYVo3c3hBQnFYN0V5Y2p4SHVnOS81YWhzNUZK?=
 =?utf-8?B?ajhhcVhXaTNFTUI2ZlppM1VBVjhKSU8yYWlISEFEWktsVERwdFdBQVRDNi9w?=
 =?utf-8?B?NWpuQTY5akdEaGVwT1QvcHlRcDQvOE1iY2M4Z1NtVUFVVUJONEs2OVQ2Mmpi?=
 =?utf-8?B?eDBsTDZaUTRURVl2ZmliOGFwQ0RNUUNFRVFzdkJHK1RnYzRoSTJVbmw0b3BI?=
 =?utf-8?B?aHJYQ2tSM1IzVENtVFZheEkrSjNnYjlPTXdtdlltcTI5Rnl4V0UzNUs2RTRK?=
 =?utf-8?B?UURlYlZXMGdBdnZSa0V6czFMTmJNenBFTUFDMjNUYVNKT0ZMM2ZvcWpvK1Vq?=
 =?utf-8?B?RmtrSVduU2lrVjUxSWRRM2ZsT3VLS25ybkp4bE9KU1hYS0ljTnhQOVBHNFdJ?=
 =?utf-8?B?UE43bk1udEFQeTMvTXlvaFZlWGN1Z0ZuSEtuQzFxSFBvNVhLMDkyNXdGUkd4?=
 =?utf-8?B?VWViWTNybW5QUzZWQnkzNUI0SXdHNFBqR2MrME9nSDZjbEFSOTFPN3FFdlM2?=
 =?utf-8?B?LzRKUUhDUlBweFkrVkJVeHI4aDd0M0ZuajFNcTF3dFN4dEVEaEs1eUs2OENC?=
 =?utf-8?B?N2g0SFFyN3FVZHAxVzBjckJmdjJEZElCbDhGVzBtTGFTMndJZGdseU5ZYjEz?=
 =?utf-8?B?TU13MldsZGxkanFCTzJDQnhPbS84Ums1ZHY1NDY3WGxSSWFjSllBaDJwSEdJ?=
 =?utf-8?B?dWRibkgrb1lHQ3B0WTBJR21oL2hzVFQwTXd6c2VCaXlDN0JCaytCaUNKWDhw?=
 =?utf-8?B?ZHV6cDNlNHNqWEhnSlFoUjdwTUFRVXhxMWQ1cUlOVEFabnpDSUwwOG51NFlL?=
 =?utf-8?B?RE1YWnZXMTJuVkI0eWp3SGplSlFXRGRuWlVDYitxRWVQa0VocVNKcXpGUUti?=
 =?utf-8?B?Vk1GL3FjZ2tFZVBLMjNIajRsbTBpTTNsdTN5cEJ4cWhMMzZuNC9SRHZHcTNO?=
 =?utf-8?B?WFhHeXFaU0ltYkdDWjV6LzU2L1lqS0lqVnZGZC81QVl6Mzdid2krQ09Paklu?=
 =?utf-8?B?RkttcElGMDlIbGZ0YTJHdFVFa0tjMjJhUnQ1U29NQ1lqR3pTZzduZEcybm8z?=
 =?utf-8?B?NzQrcnEvOUdsT3VSb0NUUnl6MWQ2bDFZRVlEK016RDRtL0tyTWVhRFRTUnZw?=
 =?utf-8?B?T0dCcjRmZ05oUGd3VllZMXQvMnk4cG42SFR2dmhScU04d0RtRHMzdjduM3VJ?=
 =?utf-8?B?UlQ1R0g2RmlVTkNzU0o5MGQ4T2lHU05LSmhRMmNUbGdvQjJMUTFmV1pzaERu?=
 =?utf-8?B?RHhWWDR0S2JCM2FnZGxyT0o0S0d1OFNBNDdRS0RYNzh1blJxUzZSWU04QkFz?=
 =?utf-8?B?SDMxZEpZWVBpSGdSczFxK2FGT3hqWTA2U0FnNy9DL3l5eU9xSk9uMWp0c01a?=
 =?utf-8?B?Sm4xT3JZVC9KRjY2aWpsMnowM1FEdUVFeHpVV3FzSGl2ZHIxUWNvMytqQnNs?=
 =?utf-8?B?NWhjZmQ4Z08zMmJMRFJ4VGc2Ukw0QWZYU1RLOXNwdDZzU1p3cVlKMmdLMXV0?=
 =?utf-8?B?ZXVXKzBkdWpIS3RqR3RzSFIzUlltNWlvdkVoT0liK0pNRThrSzZJWGp3bktQ?=
 =?utf-8?B?UVgrNzFCT3JiaWZrcXE0YnpocUlQU2lmQjRtWGtEdk53QS82dG1hOTIyVjgv?=
 =?utf-8?B?RU5GRXUxdTRMS3VqQ1VOWGZsMU5hSENta1l5YVdtUGl3TlNYekpWclgxNWhN?=
 =?utf-8?B?dUpENEQzKzVMQncrbm84TWkzUnNXaXFuTEZCckdmampPNWtxVW9laEttelZv?=
 =?utf-8?Q?QQYu04+XvkiudTyHzjqY9wSoR?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dedcd655-5a0e-4b64-424e-08dbeb368047
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:39:11.7053
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PZAckpXS5+u4m6cKLBYnaOnRJaTu1RpTrqcqAv0D0A2rM+vb8Lvt05n/W4gaHLv77UvbqI/eAtBNTy5c7uSSKA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8940

On 22.11.2023 09:31, Juergen Gross wrote:
> --- /dev/null
> +++ b/tools/python/.gitignore
> @@ -0,0 +1,4 @@
> +build/*

Are this and just build/ actually equivalent? Looking at our top-level
.gitignore, I see e.g. extras/ and install/*, which I would expect want
both treating the same? The form with a wildcard, to me at least,
doesn't obviously include the directory itself ...

> +xen.egg-info/*
> +xen/lowlevel/xl/_pyxl_types.c
> +xen/lowlevel/xl/_pyxl_types.h

Since wildcards can be used here, how about just

xen/lowlevel/xl/_pyxl_types.[ch]

?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:43:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:43:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638530.995162 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ipC-00070G-D6; Wed, 22 Nov 2023 08:43:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638530.995162; Wed, 22 Nov 2023 08: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 1r5ipC-000709-A8; Wed, 22 Nov 2023 08:43:10 +0000
Received: by outflank-mailman (input) for mailman id 638530;
 Wed, 22 Nov 2023 08:43: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5ipB-000703-N1
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:43:09 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28bb1205-8913-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:43:07 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8156.eurprd04.prod.outlook.com (2603:10a6:10:246::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 08:43:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 08:43: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: 28bb1205-8913-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q5bn/dhuYY6j0M/Uvq3towBjv6MUeZxdN1jLu96bBXK1vR49PhgbfPWZ7SOpBVcWZVesAaQkn+F+YfCIQ8QvftpHgQ6OEUFUkYEJ9NfREVF5tLq+iJrJshTk4kSLW2sxKzbm5hc/Nf54JVXejkxE4wa+PRgopUoPYMVYCKjFeSK+NoaHECqxVSCQHsUfpXuvRuHjYOpu6hFmM9H0xs+ZF+7JbfmqdlLpk3eYSuTk1YlI2A49IZXIaS3CMDLt5z30W8pQN1uo1X5jJoxYiB4az6kF80lif6+2JPZ7NVv2p8lPPFhl0FhGQ7QIXLrgVa9kSct5V9RdbxPxjxcUr2Lt+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=BkmRKl8OWhGoJS/Y6UWeexAT73MQ14/re1M7OfwA/dw=;
 b=DZ/CKB7Vzi7urwNKAG43ya2fulu2x0wFf+JWwDPr2e9R/hWQmIlwQwwd4+0PSAOag8Obz9GRb7yjO115U2lwS5NFBgFDZ4QCg/KBxAssgG6FzYgehKVUbPRUloSvCBpiTiaJD2i5jpWGVLTq9htxMjrFIHXjhMM3NX2R8p6U9NfiOjinSp8HM3+RXdfgbiCYhZ6XRJRMa4JGRiOheHIOwsV6LyV5aMFTpwAEPIRrrJbzqAQ6L9z0LS0RFf5FqYgcpG37Wpdr0PiD2ka6Fch4T9ILcFoTpCCgpVs7O6UoJ4KXAv48uGL6fm9w3/eYhr6B4D9Sc66PpBswUMGEw73/YA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BkmRKl8OWhGoJS/Y6UWeexAT73MQ14/re1M7OfwA/dw=;
 b=kommmrKqeUTipOlhV0L1N6WWwTz0IrykBwVW5EmFOGIesdwWbhVMnACHEDrVPQRuxQY6NWjm+HxDx1ZzO8LhJzehvc2yU68C/87wOZB+8ezT+bkRUiG/J1o7w8BghjIWGZOOHJriuAueFkBWW7ZOomqyswrDSLGIZKxixfnOwAJT3SYlxIxu/HZ1H/WbMg6PpJ+POtGPxAHBjpBIJAOLewGnYdwGTYY98C/bbFGsxosOI4tphW38gK6SOWlV1AuyhlWraEGXCtnYJDFi68x4eR++8GrIuhQrqrlKz5L16ALZHwogYe7R74NcSavI6g6mHaRrqJQSDR3ZRxMNOSV5UQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1aa12433-99c2-469b-b36a-93c99539d42d@suse.com>
Date: Wed, 22 Nov 2023 09:43:03 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] x86/setup: Rework cmdline_cook() to be compatible
 with -Wwrite-strings
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-3-andrew.cooper3@citrix.com>
 <7c954d5a-b2dd-4a8a-8b3f-2ec398bf5a25@suse.com>
 <e613b1f0-c79e-446d-a93c-827c098b43ec@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e613b1f0-c79e-446d-a93c-827c098b43ec@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0262.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8156:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d2c50ce-0d72-4fe7-8599-08dbeb370ba2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LmimlUm1/5kiY3evblILLtgg2VAVDplUAAcXFF/0lJruaXuKmC+60jBcTldQYLJH5cqV3HWNzzNy2nULKSppXVNg8SUb0CPecRJ1Ci2yiL1mlaM6mnJ/MHI0Ak3FYwGpA/DYqCbWajUAjMaSN8PpAAdIdVkx+vHuKbVPOsUVe7ToXZT3zIXgD11mkdAqHRitNcgg1dCEGvFfz38vSsLw+OQrnXEcselx64P/ssEmf5Vopf1qV7LDD2sMkvRx0RijDMQfEg96YfBkpNiiHpAUmZPRt9fus7COdFBIs0J/tVPRNRgVUEAyzb6Kdz1Fz8hmyhFmoEQb+4tO6NWFurK7X8VJ9c8pEel76o4YKwahY/49hvgqzdaCg4tTE3zec5qCZFBPqQqlYrA8imSqn/6USk6w3mQF3c/p3CVGxs4/aXnO4UgXAEZA605M2Pvy7mQ/kDAJOXIGh37x0GOeHe1eJb7Cqb0UxuVVnZ+mzKPuIvY9JbjQ/welBRYKQhwpBQFSuqarCXP2MLY12thb6rBdrycvYuZ+uu/HLeeEmPp02D9sbVHcK4HE3e3QrWi9Ys4It6TUnlHlWEsoPsurkdR0nrsecgjTT3JM3MFJXrGA3eB2NaO6i9JVqrPbUM/Q33gVk1YXeZbwK5vwAoOJ6vOUaA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(136003)(39860400002)(366004)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(5660300002)(7416002)(86362001)(2906002)(8936002)(316002)(6916009)(54906003)(8676002)(4326008)(66946007)(31696002)(41300700001)(36756003)(31686004)(6486002)(478600001)(6506007)(53546011)(26005)(6512007)(66556008)(66476007)(38100700002)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aktPdTZzb0duL1ErOXp5aFd2R29ISzVXaGc5ZzVaL2Evd08yUmZ0NzVQQmhP?=
 =?utf-8?B?VGp5dVZXTnBuV0VpdzdUOUtaTFo3cmNXWjZnazc2NkVGdlYvdnFxcWRzd0V0?=
 =?utf-8?B?WE5aclZhRTRFcU1iRHNwbmhMM0dhSGJGSTgxRnRVWHdGMVZTcm5MUUtSTEFu?=
 =?utf-8?B?MXFIVWZVaGJMemU3M0xnY3hWT3hXL1ZFSDBManYvNVpJM0NtRndBT1JJdko1?=
 =?utf-8?B?Z1dEcjkvL0Y4cWwyaHdESi9uYzh0cW1nTXdBTFV2bWlXVHluSGJzaUZ2TGdy?=
 =?utf-8?B?VTBGQjZPV3hqNFlGOUpEUWhkdytqSHZiTTFQY1JUNmZXeDY3OE9QYUtzVFJs?=
 =?utf-8?B?RFZCS1dyTi9nblFaZDM0RTl4R3o5NDBoQTNqWDNwdDhaNzZPWWFPWWdDeTRM?=
 =?utf-8?B?bHFQcmVBVzQrL3BFWG1tbDEveGhocFV0aUxoVFlEdnJzV0RrV1F0YkprSnpO?=
 =?utf-8?B?aHlFOHppeWhqSGhtMnVwc05ZV0tvVnVSbHcwWnZDTi9kTXg0dUptNFhpNUpC?=
 =?utf-8?B?M09UQy9kcFN0Uy9rMGZFVElOUEhtR3JtTE5ha0g3eGk0T1ZQdjlUU05Dci9z?=
 =?utf-8?B?TE9JSFpDSU9XZGoxV2hMSytsKzdUTzJkcTN6MGYxOUQ0b3NRZE1zbWZTbWVF?=
 =?utf-8?B?b1ZBMW1sUmxXY2VRRkJMR2tEbmVMZ0g5SXVQejhISmdKcGVYeElMSUlMT0p5?=
 =?utf-8?B?R1pRVXBJNUFiTFFUbmxmUVVTNCtQN2M2c1pjWVJlUGVXbUlJQUhKVVh4bnA0?=
 =?utf-8?B?TFJsdTBGeGNMcVh4WkhZYXRZTU8zRDR1elVWbEorZmw0WDdGTXhjd3Axdmhv?=
 =?utf-8?B?cUtPVWdyMnhSZmdPVU0wZXczWHRaWHF1cnVkb1JsOXFIVmhaUzkySXBQc05h?=
 =?utf-8?B?bUtaU3FJbDh5WDd0NStEWUhjeGdrVm5mKzd4ZisxbW45VU1UbUE1Z0hoc3la?=
 =?utf-8?B?aWNWdDhuYk5BQWdJZGkyVWI3WHFFU2tFSVBQaWFCSmJRWUNUUjBTa05hMjlz?=
 =?utf-8?B?NEVyRXQvamxNY2ZLYng3ZkJzcHRFVmR6Y3pvYkdVTytTV3FHcnhGTW8wVGo2?=
 =?utf-8?B?QWVLcU84Sm5sUlhCWGVFbW4zZ1lPOExZN0tlMTJML3EzQXZ3eFVBcFRSNVha?=
 =?utf-8?B?Q2Ryay93VFJOejB5SXUzMFVxSER3aWxicy8xOUZBMlB1UDBSSFlWVE9wdjdI?=
 =?utf-8?B?eXFBd3JMVmFEaWwvWndlUkRGUEVHZDhJTndNdVRVV3FZdURQU3hZQ2kyS0FB?=
 =?utf-8?B?RmxycXp3SitkNHNUZ255YWRZd2Z4d0MrK0JndGtzYTM4SGVJQUttSDFQM3pN?=
 =?utf-8?B?a0RXU0lDYlREN3VrcDExYVBpM3pKS3JVV0lPSllNNUxObmZxTWltY3NjL296?=
 =?utf-8?B?S3QxQnAwTnVQcVh5VW92SFUzZDAvdVhCS2w3VVczYit4aWZBVHNidzc4RE9D?=
 =?utf-8?B?VWljT1B4WW96UURyQjhMM1o0VEQ0SGxEdnpYTG5ka3BIUVBxVjd2UjYwS3ZS?=
 =?utf-8?B?UHhwdlZRUnlCbUFsSEJOTTBOYXJZVUh1empEMlRRM0xIL2hFVG1BK1Q1ZGtv?=
 =?utf-8?B?YkZzWEFTbFNCYVplU09ENGFuSzBLc3oram1ZVTlGdXFrZDdoTHRvVUNLTnJQ?=
 =?utf-8?B?amRpTDZneVZDdVRnckhUVVpBNkxUNGlXSnlYMURYVitIM2xRSFgwVWNiY3Mr?=
 =?utf-8?B?M1lZR3owVE9CNkhNQ3c1ZURGV0ZaOE5GYjcwZVFyc1hnNmVpRXdycjJCemto?=
 =?utf-8?B?TDkyV3llY2Mzcm1QbEw1aXNObzQ4QUw0OW8vVExQczVtQ2g5Zm9tY2YvQ2F1?=
 =?utf-8?B?ajU3MWpFVUlQN2JGbTN2aHVSS1h6dlJsL3RyT3d0ZUp3VHplb3NCT0ZHa3RR?=
 =?utf-8?B?MjNHZ1lTQTd2bzdCU25RMFRUTzNzNDlUZDU1ZDdod1YyY1Y2cWdmVXFRaDFa?=
 =?utf-8?B?S2t4WnlVVUkrWVRiUzRmSzFDU2E0TUxuZUl2OXh0YzVHc1dWaERLdUtwQW9p?=
 =?utf-8?B?Ym8vZzJDUWwwRnZVWlI3cnE3NzFRVzI2dVpwK1BtNzJTWDFBSHZoam9CMkJ2?=
 =?utf-8?B?V0htMjVXWjFMdmxXb1ZLb1IzTTc1bGZRUkNBd2tDNFJ6bnBydGpIdkVkNUJK?=
 =?utf-8?Q?cS73ua5adGHdcLRTMf3pvw33R?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d2c50ce-0d72-4fe7-8599-08dbeb370ba2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:43:05.5408
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Y1HwchHFeks3c0y1eek7xNVVKoqoYTamDlupdl9O79YImHNbIy6XnjqyenOkR2EsCgPU8KQeU7g8Aq8xv1UL2w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8156

On 21.11.2023 18:23, Andrew Cooper wrote:
> On 21/11/2023 8:21 am, Jan Beulich wrote:
>> On 20.11.2023 23:49, Andrew Cooper wrote:
>>> --- a/xen/arch/x86/setup.c
>>> +++ b/xen/arch/x86/setup.c
>>> @@ -837,9 +837,10 @@ static bool __init loader_is_grub2(const char *loader_name)
>>>      return (p != NULL) && (p[5] != '0');
>>>  }
>>>  
>>> -static char * __init cmdline_cook(char *p, const char *loader_name)
>>> +static const char *__init cmdline_cook(const char *p, const char *loader_name)
>>>  {
>>> -    p = p ? : "";
>>> +    if ( !p )
>>> +        return "";
>> This change is now needed only for create_dom0(), whereas the call site
>> change to __start_xen() is redundant with the change here. Did you
>> consider doing a similar transformation in create_dom0(), thus
>> eliminating the need for this check altogether? Alternatively I'd like
>> to ask that ...
> 
> It occurs to me that __va(0) != 0, so this path isn't actually taken,
> even when there is a bad mbi-> pointer.

But it is taken when the (remaining) caller passes in NULL explicitly (from
the conditional operator ahead of the function invocation). But anyway, I'll
go look at v2.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:46:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:46:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638533.995173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5isZ-0007wG-Rl; Wed, 22 Nov 2023 08:46:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638533.995173; Wed, 22 Nov 2023 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 1r5isZ-0007w9-Oq; Wed, 22 Nov 2023 08:46:39 +0000
Received: by outflank-mailman (input) for mailman id 638533;
 Wed, 22 Nov 2023 08:46: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5isY-0007vH-Ac
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:46:38 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on2060a.outbound.protection.outlook.com
 [2a01:111:f400:fe13::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a50cc19a-8913-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:46:36 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8940.eurprd04.prod.outlook.com (2603:10a6:20b:40b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 08:46:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 08: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>
X-Inumbo-ID: a50cc19a-8913-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HhE0H/wHbIXkgv/LpVmIH82FOYG2QlS0B+J8j40CiyHf/EKy9BSWH/F2S2UYr5h+spd5O1WzxDqS63n3gPYjnXoEfjo9QUKHFSgFqyYTcGvvEe87T47i0LeypobKKp03R3NkQgPhbisf5g+IZob+zbPUvPV/CTa48veiU1F4T+TWiwqTeBmTd/i0ERmWk/qx6WEg2Tqp39ZVbL+NimkWJbaEbCHun8HVqUdRYznfGAHL513VFqStnShQDysU8LwpCWigdJxaCLurEEd1RQP3K1c7vysvnhiEgmkspxgr8YD6nIbwSrM9c2RBgnpTlTrZhe+MrmFrkZePdH3M8iPFlQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3Ag/W+3cXpV5c6W32UxHMkxy+4hgfufiUKjIJ493JMk=;
 b=CiIgBEYah48Dy5tdMQfTkmTj8J3IPQLV1E+MSkGkGuUSSf3M+Yr+TygWhJsHuD99dZoscAmGrH72uwIeMWwMo3vX+E6OxJluG7B5P6p1U4Iz/KNuxDwDN1ZVm9Ti4RNwiYR8iNlqBKy8D+a1FlZ9E4zCAECmc0uXvxGZDw9ai+Ar1ks5Rps8i4JdcruD2d01a8vxq06e0qI5mcSm1nUmnoUYA6UAg44gU39/7V/iaVsy3CfbjiCn/YCkyMqM19hs971g/G4nKTh+JDQJJJtDgcFuhLqLnu5G2Hb1b/lWNbEOaBzHu60Cuwq2hAgH7JUTRvPPTuL9jOB5WH8WuaLgpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3Ag/W+3cXpV5c6W32UxHMkxy+4hgfufiUKjIJ493JMk=;
 b=3SlASFpjAYESMFh1a9EzFfbd4IthN/wDerbh/pxP9Pde8oEfqNNmoriY6GLMmi+yQxPXXC87yymiXdiXeBcxFeRF2aAXWZGiKxRvMYHK/pHoOWqmukT8PJOJedhhNWLko2RNd3mpjbwhLVrcMDwiUXs/sdlTrJXWGmoLCbZanbYToX2X85Ycqyg1qNe9ZL6TO/SAUJfHfnni3vNsUF1aNlODXTbBpCAGYT7Ozlf4G4f7L+I+kqfXm3baLXWwTFZF4eUPu0KrRTS2hv+nyvN89dXag77W9CBYvUhIIv3XVV8k12Q4Pqsuph2p32UGJqSI8lQ6tKPbfRd4YyKCr/i7ng==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <df7fc33f-4d2f-4087-b2ee-67cb2573a515@suse.com>
Date: Wed, 22 Nov 2023 09:46:32 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] xen/efi: Make efi-boot.h compile with -Wwrite-strings
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120224912.1421916-1-andrew.cooper3@citrix.com>
 <20231120224912.1421916-4-andrew.cooper3@citrix.com>
 <a17c5268-fcb8-49bc-af68-a6df2227d48b@suse.com>
 <c9ce3570-c4ea-4f0d-b8ec-9a74d2c0e569@citrix.com>
 <679b8fde-1d58-4ae2-8b22-3f9c50ff8f1a@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <679b8fde-1d58-4ae2-8b22-3f9c50ff8f1a@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0120.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a8::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8940:EE_
X-MS-Office365-Filtering-Correlation-Id: 82bd6c3f-651d-431f-b558-08dbeb378830
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UkMh4I/fWV1+RcAcJKgIT96vRSxq70+dCnn0KtiQwxtQU3YRPwQnI7yuDA6kMqF+wal1wEMGpmiyE2hEGwXelSZLI1CEegeMA04lSLzds7U1BMF0MDUU8NXCu367LuL4T1hVuekal2QT2AXfkhRr9ehEopWxJm0np22iZ8Ah2o2CdlieiwFTdh88k27s8xQc5iuj7zUfgTCyKbicBzeMeNgvaKKwkHJqEICd5kg7qhuAC/C8PKHWuKpng+sNqnW2dtS+iAUtDqeIfpTtmp9snCeGn62xA9t6oK1yhObXyiwtxGudSc1PDRBWUuTRwgh47f/NOFMUn6BQ/th8PHqaRNEhJbQePlIucL8uYqkKyS7rgl/uaoQCCiMnzJcblkpfQu0CblSV+dAiT0yAyI9ZGri7WOpPInMTwITCgXWpe3WyiESk49mC71FR0GouMSFBpMPOof1EO5Fd2JgFEZHuUzduGozSaVP6/revUprn11J3ywg00RsJhKaFhqdGg4VIQmjy6+luz0C6DjSQazXbI6RFZ1coKlZ8oCzLtMB7yf8s8XvVqNT5PfHOeHMA9CrBCF8+G2Cd6En58M0hJsSOHCAdwvFIiN3isNXLxZn1u0cCiIP4Nj6j6H75Q147MdfY2q0KHT2rx/lVFYzTAonZKg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(366004)(376002)(136003)(346002)(230922051799003)(186009)(1800799012)(451199024)(64100799003)(5660300002)(7416002)(31686004)(36756003)(8936002)(8676002)(31696002)(478600001)(6486002)(86362001)(4326008)(6512007)(316002)(6916009)(66476007)(66946007)(54906003)(66556008)(41300700001)(38100700002)(2906002)(83380400001)(26005)(2616005)(6506007)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WFJLUEd4NzF6Z1ZROE9rdW9QTEF3eVA2elhnWjZnTlNDRk5SRDRwOEtVOUwy?=
 =?utf-8?B?bTl0eG5GQWV4Q2RMaWtadHJjcEt4QVM4djZQTHRaTmhENlYvUDEyVHJ0TUZ0?=
 =?utf-8?B?RFowWE9JTnpYbEZWekRPYmFCY0ZkOEtuRkx2clhyWjdrTWZMaWZrY3B4MU5M?=
 =?utf-8?B?OFZFU3ZGRE5wTklSaVA5M3RSZUh6b0ZOUWI5Mk9SYmNFTDdJK0R5THFON2I5?=
 =?utf-8?B?dVB2QWkxTWpFVWRLWDVzb2tsTWFidElzbGhERTJtYVRmUGJLNnFkNlRjYW9X?=
 =?utf-8?B?cDFjNGoxRWZmMk95czJoMEd6Vld1cHR6clhzTkdCUm5mcTkzY2RMZ0lQcWkx?=
 =?utf-8?B?Rk1oTldoeE5Zd3UvUUZlcTVoa0dwc1duby92NE1RRk00ZlJuVm43SVNQcVBI?=
 =?utf-8?B?dk0wRml0dTk2bG5acUc1K2hZczRUcms4UnpTOWM1UjRaYWJlZlRBU21OSDhB?=
 =?utf-8?B?WVdaYzBlYUozK0IzejlLbVc3UGZjMVdHbFJwbW43dkJDNTVtNnpNNXFaVDZD?=
 =?utf-8?B?cFRvMFNyUEppU0s3Yjg3TDQvMmN1aDU5Y0hmeFlOY3NMKzd3eFZKTm8zVWxG?=
 =?utf-8?B?ZmM3NnduWm1qT0habENVQityM0pIaTcwamhrbUFTVW1PRCswTE40RDNaSUxy?=
 =?utf-8?B?WmxSRWk2NXk1Z2FXVEdxd1dIZmFmQkx5bWZpQWo1VHNaUmcrTHJidEw4Zytz?=
 =?utf-8?B?SU1TTzcraW1UYm9mSkhTUEg5U2N0cGpaTGwwTkFrUEJyYWhjZzFGK3JncEE5?=
 =?utf-8?B?d1lnTTJ6Mm5ZUHo4S1ZlQ2kzRTBpLzFsQmg3KzVZOTc1ZStramRoc0hnU2lv?=
 =?utf-8?B?Nko2UTF3Zm1nbjYyZk96cVBsMldic1RpbFhRdUtIaWdPempBOWl5ZSs1YXBB?=
 =?utf-8?B?ZlFqUzNtN2UvRHFXWDFJdlBaWU85QytvSkN5MlRDcGJrdzJjZlYxREQvck15?=
 =?utf-8?B?R1UyQ0REOE5mdVFVNmtDVm9LVTljVTVMcjZaV1ZpN3NRV3k2cHN0d0pyUmhR?=
 =?utf-8?B?VGZ4djVWQlhaR2VQV2dWRmpKT2VCUVVVRnhtQWN4SlFWa0kwaEFKSTN4ZkMx?=
 =?utf-8?B?bC96UmFQTG1pTlA0SVpsRkc2V1BIZXVyMkxLdGZmK2FRMDdRbVFndEw2SEV4?=
 =?utf-8?B?a3dyZlhadEJVendKNlZzVmJ2UWIzcm0xWUpLbGV6WXVtd0x6M0M3RzdzZjJS?=
 =?utf-8?B?NHh5cXk0VDdienlVcllCTk5ZQU5qbkN2eXlKU1ZtVURUeXltd3UxZ09odHJu?=
 =?utf-8?B?emI2bGZrOC9wWVlKUklmdCtxbGFIbWJkRGowMXZ1eFJyVFE3eWpsRStkWjd0?=
 =?utf-8?B?Q29oRzFBandTa0U2RGFIK24zbmUxOWtabDBDM3pMV1Y3Q2swYjdXaHVlR0M0?=
 =?utf-8?B?QitqZW5aRVlLWmNpdE41OU9LbjNrU3gyNVpiWW5hVkhRV3RsVStIKzNzRVcr?=
 =?utf-8?B?Yll6L3l3VXpOZS9iQkRJcDMxVVFlbnJXb0NDUHZwZ253QnZjRGplcjY3WmNO?=
 =?utf-8?B?dkpFUnVlRkZEZUhZV3pJaE5nVXBzMDNWMFdFWnNqQWlNVHFiKzBZYmJNcTVa?=
 =?utf-8?B?bG93Z2Y2MlB6b2ladCtKMjZEUldjSThSMTNNV054K29oUHpubjdtS0VOZG9k?=
 =?utf-8?B?Mjhqc2ZUV0dpMkpNZ2QvL0tjeGVqNkdqeUlEYXd0UlVnOStxYVcxMVJKTXp0?=
 =?utf-8?B?WHhIUER5TnB2bURWY1R0UGx4V29pNGVEdVBZcmExc3R1SE05em51OVFybWlX?=
 =?utf-8?B?ckxlOFR5K3lmZmw5T2hMYkxOTmtUVndSY0M2OFhhdE5SOXk0Yk03SUZqN2ZH?=
 =?utf-8?B?L1NNY1pRNUxzZXdTcytsajZzdzhtTUg4RUg1K3ErZ3EzZ3YySldOSFZ1TTUx?=
 =?utf-8?B?RGREaHJZMk9vek1yNHArTmNaL0JTd0tHSHo3MU5xMUJGNnJ2WWRuSmJwYnBT?=
 =?utf-8?B?WUhmNm9OZStETHdINytKdm5iNERSUnN3NDQvSWZ1aWk2bjZNNlBBc1p1bXFr?=
 =?utf-8?B?UXhhNWxPMVZxbk9nMUJ0emF2NXhyZDNvTzlMeUlXVWFjZDNSYlE4QjAvL21X?=
 =?utf-8?B?cUdjZ1BTWDluaUJsdXFEU2F2YnVlMUtxKzdiY0VLN0tnRW9Dc2N4ejQ3TmlS?=
 =?utf-8?Q?UBuR7E97j1ssi0omjn+lC2zrD?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82bd6c3f-651d-431f-b558-08dbeb378830
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 08:46:34.5168
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cl/3yr3BnTzbqh4i2K1jQC3fkGz3qYzcbSDFQNS3vtEVUQ14ph84d1IztgtnHuMUyYNE9L+E32nnU9NhRtqkxQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8940

On 21.11.2023 20:13, Andrew Cooper wrote:
> On 21/11/2023 6:03 pm, Andrew Cooper wrote:
>> On 21/11/2023 8:40 am, Jan Beulich wrote:
>>> On 20.11.2023 23:49, Andrew Cooper wrote:
>>>> GCC complains:
>>>>
>>>>   In file included from arch/arm/efi/boot.c:700:
>>>>   arch/arm/efi/efi-boot.h: In function 'efi_arch_handle_cmdline':
>>>>   arch/arm/efi/efi-boot.h:482:16: error: assignment discards 'const' qualifier from pointer target type [-Werror=discarded-qualifiers]
>>>>     482 |         name.s = "xen";
>>>>         |                ^
>>>>
>>>> There's no easy option.  .rodata is really read-only, so the fact Xen doesn't
>>>> crash means these strings aren't written to.
>>> And the consuming sites confirm this being the case. Hence ...
>>>
>>>> Lie to the compiler using a union.
>>> ... to at least slightly limit the lying, how about ...
>>>
>>>> --- a/xen/arch/arm/efi/efi-boot.h
>>>> +++ b/xen/arch/arm/efi/efi-boot.h
>>>> @@ -479,7 +479,7 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>>>>          w2s(&name);
>>>>      }
>>>>      else
>>>> -        name.s = "xen";
>>>> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
>>>>  
>>>>      prop_len = 0;
>>>>      prop_len += snprintf(buf + prop_len,
>>> ... you also switch to using name.cs down below here and ...
>>>
>>>> --- a/xen/arch/x86/efi/efi-boot.h
>>>> +++ b/xen/arch/x86/efi/efi-boot.h
>>>> @@ -324,7 +324,8 @@ static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
>>>>          w2s(&name);
>>>>      }
>>>>      else
>>>> -        name.s = "xen";
>>>> +        name.cs = "xen"; /* TODO, find a better way of doing this. */
>>>> +
>>>>      place_string(&mbi.cmdline, name.s);
>>> ... here?
>>>
>>> An alternative would be to introduce 'char xen[4] = "xen";' in both
>>> cases, and use them instead of plain string literals.
>> They'd have to be static, or dynamically allocated or they'll end up out
>> of scope, wont they?

No, place_string() copies into the target area. The input string then
isn't further used.

>> I have to admit I find this logic very hard to follow.
>>
>> Furthermore, I note:
>>
>> mbi.boot_loader_name = (long)"EFI";
>>
>> which is exactly the kind of pointer which is liable to end up being
>> edited via kextra in the other patch.
> 
> Hang on.  place_string()'ing here is just to prepend a piece of data we
> go to other lengths to strip and ignore later in boot.
> 
> On x86 we can just delete it and make our lives simpler.  I hope the
> same is true on ARM too.

Well, yes, the prepending is just to allow uniform handling later on.
Surely this can be done differently. Again - I'll go look at v2.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:55:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:55:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638536.995182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5j18-0002Z8-La; Wed, 22 Nov 2023 08:55:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638536.995182; Wed, 22 Nov 2023 08:55: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 1r5j18-0002Z1-Iw; Wed, 22 Nov 2023 08:55:30 +0000
Received: by outflank-mailman (input) for mailman id 638536;
 Wed, 22 Nov 2023 08:55: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5j17-0002Yv-1V
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:55:29 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e1059dee-8914-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 09:55:26 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40b31232bf0so3715155e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 00:55:26 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 fj9-20020a05600c0c8900b00407b93d8085sm1504562wmb.27.2023.11.22.00.55.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 00:55:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1059dee-8914-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700643326; x=1701248126; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=7RlEWLScUoeK3Cjh4QWmJ4FGF97MM4VI1Hm8l1IB030=;
        b=BznRMLVQYnz5P5AQxCf8hDW/DLinpSSZTfYvYhNseCESekaXbqSVopK0HiXuwUgL/J
         gX+tqWfBs4DEzKdSqFkzEaHA334uf/Tdz59NA29io1QlSK0Bf5bZnmBfN1uyTCFz98it
         4/0IM4c1PiDU2fSB/xweKl2kG7zWJ4dl+yRcU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700643326; x=1701248126;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=7RlEWLScUoeK3Cjh4QWmJ4FGF97MM4VI1Hm8l1IB030=;
        b=X0vP2WGXnjm9sJl5MLmLgLgqtp+erF4B2/PDqJR//AwnURfMi0vv3KPXIQB21S8XRL
         qTG+w7LGEDbY1E1MFVnlk8nsKTjoA9MQTqP+88GVhXAUqPglZYIoebNW9CQk3IdBwwp+
         h2OmKQIXGYIyZxvMioNKliEvH+vmiXSL3noJQtLNm5nF8f4kkZeERpPIMJdfe+jaj2p5
         JMXZr/S83AM6L1pLdiUrGnwYQC/0ABbqDeWWqNwOtkh0KsodCGoot1w5eY6/+82R5Ct+
         N5CEYND2AeRxdSWaXl3MDCZ0wrj6OLiCfHjUpcQfVlLmSQU6kjGY6T4gNjlfR6gaPL+e
         di3w==
X-Gm-Message-State: AOJu0YylruBzdMGnP9sL+6Ryi6kHT9rVMTjj3CpgoDpDYPDNQWOgh8kP
	YX3ubLEak0rgAflNazOxOi5gBw==
X-Google-Smtp-Source: AGHT+IG1SJLi/CqLoMMcZ0MRHHmtawwPkGQsqM+t68piahTUAfUg87UmRrAbSlNaXqmBG1E/wIAS1w==
X-Received: by 2002:a05:600c:158a:b0:409:19a0:d26f with SMTP id r10-20020a05600c158a00b0040919a0d26fmr1215686wmf.23.1700643325845;
        Wed, 22 Nov 2023 00:55:25 -0800 (PST)
Message-ID: <61834620-3831-41fe-b870-00e80cf4697e@citrix.com>
Date: Wed, 22 Nov 2023 08:55:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Content-Language: en-GB
To: Henry Wang <Henry.Wang@arm.com>, Luca Fancellu <Luca.Fancellu@arm.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>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
 <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
 <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
 <FEF56E45-6A0E-4B04-A7E1-CC753A9ED7BF@arm.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <FEF56E45-6A0E-4B04-A7E1-CC753A9ED7BF@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 1:31 am, Henry Wang wrote:
> Hi Both,
>
>> On Nov 22, 2023, at 04:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>
>> On 21/11/2023 8:33 pm, Luca Fancellu wrote:
>>> + CC henry
>>>
>>>> On 21 Nov 2023, at 20:15, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>>
>>>> -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but this
>>>> logic looks incorrect.  It was inherited from the x86 side, where the logic
>>>> was redundant and has now been removed.
>>>>
>>>> In the ARM case it inserts the image name into "xen,xen-bootargs" and there is
>>>> no logic at all to strip this before parsing it as the command line.
>>>>
>>>> The absence of any logic to strip an image name suggests that it shouldn't
>>>> exist there, or having a Xen image named e.g. "hmp-unsafe" in the filesystem
>>>> is going to lead to some unexpected behaviour on boot.
>>>>
>>>> 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: Stefano Stabellini <sstabellini@kernel.org>
>>>> CC: Julien Grall <julien@xen.org>
>>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>>> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
>>>> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>
>>>> v2:
>>>> * New.
>>>>
>>>> I'm afraid that all of this reasoning is based on reading the source code.  I
>>>> don't have any way to try this out in a real ARM UEFI environment.
>>> I will test this one tomorrow on an arm board
>> Thanks.  I have a sneaking suspicion that:
>>
>> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
>> index 9b9018574919..8bca5b9a1523 100644
>> --- a/xen/arch/arm/setup.c
>> +++ b/xen/arch/arm/setup.c
>> @@ -46,6 +46,12 @@
>>  #include <xsm/xsm.h>
>>  #include <asm/acpi.h>
>>  
>> +static int __init parse_ucode(const char *s)
>> +{
>> +    panic("Xen image name interpreted as a cmdline parameter\n");
>> +}
>> +custom_param("xen.efi", parse_xen);
>> +
>>  struct bootinfo __initdata bootinfo;
>>  
>>  /*
>>
>> will trigger.
> I saw I am CCed for this patch, so I think I am now going to throw this series
> to our CI and see if it explodes. Do you want me to also include above hunk?

Depends - up to you.  It needs tailoring for the name of the Xen binary
used, if it doesn't end up as a plain "xen.efi".

And to be more specific, it ought to trigger before this patch but cease
triggering after it.

It's probably better suited to a manual dev test in a real ARM UEFI
environment.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 08:57:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 08:57:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638542.995193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5j3T-0003vs-6k; Wed, 22 Nov 2023 08:57:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638542.995193; Wed, 22 Nov 2023 08:57: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 1r5j3T-0003vl-2W; Wed, 22 Nov 2023 08:57:55 +0000
Received: by outflank-mailman (input) for mailman id 638542;
 Wed, 22 Nov 2023 08: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5j3Q-0003uG-V8
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 08:57: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 363dba9a-8915-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 09:57:49 +0100 (CET)
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 9CA8C1F8D6;
 Wed, 22 Nov 2023 08:57: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 5C6B6139FD;
 Wed, 22 Nov 2023 08:57:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id IovCFIzCXWXMZQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 08:57: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: 363dba9a-8915-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700643468; 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:autocrypt:autocrypt;
	bh=mzKBTgCsvlcXsiTMNVcl1G/9ExwzP/IREZlw48qkDqo=;
	b=sgEgl7/YRtFEOEYq+g92JFcSGHdhiSBKqPIp1GYDk7aXJgWK5yMvmNdfjgjTy9gSFXbtPt
	fWnOIviyFCNXxub1d243x1/UuCA43H+yTtFZUqT0nLM3+6CtgB5j8AwvguVSMatM6mORPc
	mMMzvNsxNGsWJ7U9z2R4za0kaNsBVOo=
Message-ID: <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
Date: Wed, 22 Nov 2023 09:57:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------6sj06n02OAoJQmjIsH1IDfBG"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -2.57
X-Spamd-Result: default: False [-2.57 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-0.38)[77.14%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------6sj06n02OAoJQmjIsH1IDfBG
Content-Type: multipart/mixed; boundary="------------YDhrlZeeurvnDcnMNK0w3xhz";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Message-ID: <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
In-Reply-To: <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>

--------------YDhrlZeeurvnDcnMNK0w3xhz
Content-Type: multipart/mixed; boundary="------------PXmAMmoEAukc4nMZ7f3fbmNE"

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

T24gMjIuMTEuMjMgMDk6MzksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMi4xMS4yMDIz
IDA5OjMxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysr
IGIvdG9vbHMvcHl0aG9uLy5naXRpZ25vcmUNCj4+IEBAIC0wLDAgKzEsNCBAQA0KPj4gK2J1
aWxkLyoNCj4gDQo+IEFyZSB0aGlzIGFuZCBqdXN0IGJ1aWxkLyBhY3R1YWxseSBlcXVpdmFs
ZW50PyBMb29raW5nIGF0IG91ciB0b3AtbGV2ZWwNCj4gLmdpdGlnbm9yZSwgSSBzZWUgZS5n
LiBleHRyYXMvIGFuZCBpbnN0YWxsLyosIHdoaWNoIEkgd291bGQgZXhwZWN0IHdhbnQNCj4g
Ym90aCB0cmVhdGluZyB0aGUgc2FtZT8gVGhlIGZvcm0gd2l0aCBhIHdpbGRjYXJkLCB0byBt
ZSBhdCBsZWFzdCwNCj4gZG9lc24ndCBvYnZpb3VzbHkgaW5jbHVkZSB0aGUgZGlyZWN0b3J5
IGl0c2VsZiAuLi4NCg0KVGhlIC5naXRpZ25vcmUgc3BlY2lmaWNhdGlvbiBbMV0gc3VnZ2Vz
dHMgdGhhdCB3ZSBzaG91bGQgdXNlIGJ1aWxkLyAoc2FtZSBmb3INCnRoZSBuZXcgZW50cnkp
LCBhcyBvdGhlcndpc2UgZW50cmllcyBpbiBzdWJkaXJlY3RvcmllcyB3b3VsZCBub3QgbWF0
Y2guDQoNCkknbSBub3Qgc3VyZSB3aHkgImdpdCBzdGF0dXMiIGRvZXNuJ3Qgc2hvdyB0aG9z
ZSBmaWxlcyBpbiBkZWVwZXIgbGV2ZWxzLCBidXQNCm1heWJlIEkndmUgbWlzcmVhZCB0aGUg
ZG9jLg0KDQo+IA0KPj4gK3hlbi5lZ2ctaW5mby8qDQo+PiAreGVuL2xvd2xldmVsL3hsL19w
eXhsX3R5cGVzLmMNCj4+ICt4ZW4vbG93bGV2ZWwveGwvX3B5eGxfdHlwZXMuaA0KPiANCj4g
U2luY2Ugd2lsZGNhcmRzIGNhbiBiZSB1c2VkIGhlcmUsIGhvdyBhYm91dCBqdXN0DQo+IA0K
PiB4ZW4vbG93bGV2ZWwveGwvX3B5eGxfdHlwZXMuW2NoXQ0KDQpGaW5lIHdpdGggbWUuDQoN
Cg0KSnVlcmdlbg0KDQpbMV06IGh0dHBzOi8vZ2l0LXNjbS5jb20vZG9jcy9naXRpZ25vcmUN
Cg==
--------------PXmAMmoEAukc4nMZ7f3fbmNE
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------PXmAMmoEAukc4nMZ7f3fbmNE--

--------------YDhrlZeeurvnDcnMNK0w3xhz--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVdwosFAwAAAAAACgkQsN6d1ii/Ey+o
Xgf/dU6R1JwdITiVe5DHYMmOx7reuJluD+mK9vjio5cU7a4Bpni7EDMotVrVJcxteYdw6G8rNaKj
osIQjKArNeY01U633BkPj3dIwxgohScyyHZobAhggnPdRYynN/YcHd1Z4UN7/yuaFWEypTcGkT5w
3Umld6Ai1yN0g7B6uA851w4u7qmk3S9mmrbrNmTTXoxwYUgOhxxOJXKEiKrpg0vRunZitQCyno/e
iEJ24lFVE9rm2yvUQ6HRXod29CGa8KLJR6vfGqmymvp+oaJO8fu/sFa8bjsJgX8MlNnO68KSnZIn
76NBs3VLrrxVQPqc5wIhePO3A+YrWjWK/i32WvhtPA==
=0a1U
-----END PGP SIGNATURE-----

--------------6sj06n02OAoJQmjIsH1IDfBG--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:02:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:02:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638545.995203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5j80-0006Lz-PV; Wed, 22 Nov 2023 09:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638545.995203; Wed, 22 Nov 2023 09:02: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 1r5j80-0006Ls-Lb; Wed, 22 Nov 2023 09:02:36 +0000
Received: by outflank-mailman (input) for mailman id 638545;
 Wed, 22 Nov 2023 09:02: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5j7z-0006Lm-Bx
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:02:35 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id df817cbc-8915-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 10:02:33 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6884.eurprd04.prod.outlook.com (2603:10a6:208:183::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 09:02:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 09:02: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: df817cbc-8915-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nq4nYbHUSLajTaeGcFBmH2SXRFP1Ff/Vy6xsfFHB1yAVz+XVmilpHE4sK/RZxzrwdIDDAD+Jpal+0GffuLajoEWbK3M5kaWIgFyOqDI8j/+D91yh123diVvOwoonb+J0cbifmQxTn8w5cmRxxrRNGfYOfs8jmqgcco+fFF+pj3cj84oY7fPKhx01joKS3R9KVAiMMIblv6ouEOFw+wgZ2PDOGUm7dH0K4ZiJZLB700l76Zxv5arYkTM9sIYHU4i7a9edOpgxilXpaeplnHoVDp5TjkuOjXKRga8EDyYR4Ft6VrPzy5UYCZ8wMeqclm+YQYJsu364/qwzG1EMF8H+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=zj3X/6Jmr6zaeIXBU8E2HyfA91/z3ErQzvS2XyJClCY=;
 b=QcIeTuFzFsjOHE9xy95c+ixaz5E7mtkvmZcvzt+NQFaOfd64SA2k4WORb0AAoGg05qJkQNjeYmO1taJ8uSmLBP2ktoxUyGTVJuNjVA3uiwx5O0oBqSNDoL6WYvP+vqa0MrNHF+xQ6ly9kY8j6kEhmFp+GuBUsdJAfAgQyDELUCxCvYXVepKGNyi18QQtnHRzM2yRMHeo3e21wOZSSOcnaV/rdOsayx2+a+e8l0bwcKYTmedwbSsDKP2jwTFoZqKEdhnG/J9DQDgHR5wiolk6g1baG9dSFHl5pi1QbfTPWWK99JeY3Ni45KqjwWePjyDvvmmvv8WIJIkyUcPP/hDstg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zj3X/6Jmr6zaeIXBU8E2HyfA91/z3ErQzvS2XyJClCY=;
 b=LWFrhe4Pwpb9ilvxRw1oT6f67ugZrXh9cfzxm0ycT2TjymwVPmhak9JBv1zZIa6QSwrgjAPGOBmzqobiaeFt2SvRBE8oHW4XudPCee4U4WrNupNQWRzJjhCI8GxPqzbZYLw83NWikc1M30QJUFK9RcQbEmUfTxZWzJ6o+r9ZEs3GDMUXGzmFsDytON1tzXaVAPONNVu26h0xv2rz6w83ZOZ7JOmUFWuTMfPKnLAfQK6j9SD/NwkpZ1al7D9ZwIHtOHYpBAD2woAmkNaPWT2ZD7yVWq2qqlucYKHEliVMoYXEOvJHx79vhx2AFICMvmsjH2vCsY8bUu2NHEIZBOQh5g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a6c8bac9-5bbd-44cc-b516-51a8a57d360f@suse.com>
Date: Wed, 22 Nov 2023 10:02:28 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86/setup: Clean up cmdline handling in
 create_dom0()
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231121201540.1528161-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0012.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6884:EE_
X-MS-Office365-Filtering-Correlation-Id: edd2fefb-d34c-4381-4680-08dbeb39c239
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	RChRQMOUcnPEVPD/mg6MehGVK07EDf2H1GffEgZq712xjE+s2V8oFScNnZR7gXaBKYfsgLxeqIgI7+9DyTORlW7B+31+CVeS90weSJ0YG72R2GaCbzwVthsQNzjzHjY406I9zTk+OFXPQl5km7kPdXgwsoxQRLypIG/tGScE1u2+htJcJYCFaQY5k7UhTUZbrPcPTI5vXq68QM3LJL6c4FYVM7kjtvLlkmq4qnQs9RJ7EGuL08pPHcgs4ZqmYt+XzRfBT4CKwrStxvsx44RbwIY5+EfpL3I8mw1dUHiJulqcBEXEXR66DkQsmhzSq+Ff4Lsa420VVYzy/yj7AwRumI4u02wT1KG5UX0rDgSKxQ/Jv8oKeNQd2ZZOuehsaovfzFyE+qah0syoaJrKC+PbLmRN3adbJury5owEs2mfoXPH13J5+QxogPlIpaNC5+aGYWfN8b9VKwd4quc+che0e8PDSMwJDR1aK0Xjk2/kRAfDCLKwXCuplMx4aO7VBJYeKWJABJE/OaRMXNF7ZIiH0AwX17Gli/PJSPoD1RkaDU/5HiuP1T4YexS8/vCf8V9LsdwJ3fgdVI9/h9hwvOzMOG7YOwxLBi3Q/ylLuyWu1MSt+bJAx1ILlao+R3nhpqjZt9n5/5VlAP58eydUPSdEbA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(136003)(396003)(39860400002)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(31686004)(66556008)(41300700001)(86362001)(4326008)(5660300002)(7416002)(2906002)(31696002)(38100700002)(66476007)(36756003)(316002)(6916009)(66946007)(54906003)(8936002)(6486002)(83380400001)(8676002)(53546011)(6512007)(2616005)(6506007)(26005)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGYvUUE0NVN6WGZiT3RwaHZIRjJKMGpxUVQveklzTnJ3cVpuNGsyU1cybFNK?=
 =?utf-8?B?UTRYS0QzaU5wMzQ4WVgwSXhCTjJFUUhUSldGMTU2TVRCMGxLeitCWnYvNUxr?=
 =?utf-8?B?bU5zMSsrQzNra3ptV0Z4NjNsckxlRWtTclZxTDFIZHREeXR2SkFxbWFtTmpi?=
 =?utf-8?B?UjFHbnl0angvalNqOFAzcWhyY1FuSVNsVFVmTGlnQllLb0dKVjMvUy95dTQw?=
 =?utf-8?B?SjMvQld2OXI3a2ZqMUtxeVVYVmxtSFl1NjY5TUZsU3lGRk1EVVltUjJGbGhl?=
 =?utf-8?B?L09GV2l1VVRpR29OMW9wVjEzdkdueTU3TFR0akRzQW9zcWFZcFcyamNGejlx?=
 =?utf-8?B?NXFpMGxsZGp2aUtremYyY05IYXp4elJxdFpPSkpMWEp3ZnJsdThqUUpGUXhL?=
 =?utf-8?B?cTJDd1FhdnA3Rm9xMlc3eXFON2JsV2pqZjVzVjhjY2ZoUTdQSGs5MWhmbWZR?=
 =?utf-8?B?U0ozUXYvOTlkYTlqcE55M0c2WmNUbGNtbitQbjZLYVRrNjZ4cmVkUWRoK0JU?=
 =?utf-8?B?WXdtZWNNU0VMMjJzOW9qMkVZcGtSSzRrNkkrZDhSWCt3YW1ERkUvUi8vUG12?=
 =?utf-8?B?NmpvQjliTXhsNEdhQlNRNDNndlVpRDlrTkJkWGwwd1UyamFCVFc2S082NlhS?=
 =?utf-8?B?NTdqRS9sNjJjT2FjdE15NkZ5TTJhcUU5bTk2cXJ4cS9wN0N5QmJvK212QTIy?=
 =?utf-8?B?ZU4waU9DZzVDNU5CLzE3bkdyMVZJWmhOQzcrc0UxMTR6NE9ac2VRcENWUWQv?=
 =?utf-8?B?c0RTRXpERWlMUmVhTmFkVkxJYitQRGZkMkZZSElxSWVoOUtPU2pUY3VYWVdB?=
 =?utf-8?B?dXpBc2IvZE43Q3JkcGR3aXhMQksxRm1lVWZ5T0hkVnN1bEFPRmNVS09pSjha?=
 =?utf-8?B?NXFNeDVMMDMvN3NOd0dYS0F5NlVScGdTUEV0a25oajNORFlUTkx0SmdnQVha?=
 =?utf-8?B?NE5OMGlHbDNzQ3VtTkNRelFteXRTUnYyOHJIb1Fhd05mMlRvMHNZM2Y1dWFU?=
 =?utf-8?B?b2ZaVzI4RkhKc3pBOEx4QWZVYktOcnJ5QnNUSXplRzVpck1CRXhYeVpPanZJ?=
 =?utf-8?B?N3RwQm1HbCtHTlRQZXVQQ3lpVjUvZ0s5NGtzQ1RSd2plVlNoRFlSay9mT3hG?=
 =?utf-8?B?MHJHZ3BBbnYrNFV5OE52VGQzRUUvdFUxOUpSbzZscWRqOHFiTktjcFRNdnNT?=
 =?utf-8?B?TlZzKy8yRnRVL0IvTm95SHNDUGJ2eURTejJqdTA1VytvNlBRanB2QVV0UXJ0?=
 =?utf-8?B?RGlacGw0c0ZqRlkxYm9NbS9NcGR6VFdhZVp4VjY1NTZpMVlhcDloMjgrdVBs?=
 =?utf-8?B?eE9KOWtNeXN3RDNCeVhVMWVmRUsvVDdrOXhTMkhQc0ZoNDZrU3JmczdRWFBh?=
 =?utf-8?B?OXg0TjdzeWFqUDhZeTJWWE5vZGxhTXJaUkxKcW1ON3hIbk5TWGlTb2Z5cWV5?=
 =?utf-8?B?Tkt0Q3oxTFFQQ0pjL3RhZHJzY3dpTlVubU1iTTFtVzBEL1FuNkRnT05MMWo5?=
 =?utf-8?B?ajc0YWZRUGZqN0cxWXFEUUVWRmxPdUNJbzNCQjdTWHMvdXI0Z0hsRGNXVm5T?=
 =?utf-8?B?dUVJb1VlNXM1ejVNK0FvM0hlQXhEV0NqU1BFWGlRb0VGaTVpQ29KVHR1eGVm?=
 =?utf-8?B?Y3ozWEVRV3NET3BkWC9nYlhZVEgvdFZQckx5RERycWJ6WHVuaUZsK2V4MmV0?=
 =?utf-8?B?bVF2Mk8vV0U2YU5TT0Y2R3JWQy93ZnFKMURBcHVtOGhKeEtNeXF3TEdyN3V0?=
 =?utf-8?B?VGlDcXpqVWExY08waU9pSHpidkNzcEdlQXNhZDd4bEFuZitQSHZ5d1NkbEcv?=
 =?utf-8?B?cUd4WnhiTkFnc09nL0JpY1o2bkdBd0dwQnJTT3lyYUFLYW9KM1FLY2tlOFF1?=
 =?utf-8?B?ZzFNRnllQUFIVXR0OWJMMmxMcGhPMHZiK1ZvdjEvVjMxRzZISGROR0FKeVRq?=
 =?utf-8?B?WTNOenRvbmdUcXErbVZiNlFlUmpwNkRjc1Q1bDlFc256TytiMHowS1dOYVRv?=
 =?utf-8?B?NTk3aGsxZHFERDZOQUNnWGkzeSt2dURUTUlYeDh0NmRRbll0VnQvK0F5d0ZX?=
 =?utf-8?B?RkRyRkhER3drSGlrMG9TOVc4bEU1d2J6YUlJbXdjK2hSTHdpMHpEMmErVGVW?=
 =?utf-8?Q?r1/7iWiSjPBkzEiOddTb+askO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: edd2fefb-d34c-4381-4680-08dbeb39c239
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 09:02:30.8829
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lq9fdIO3l3hTGx81C6ZrQBLVme1Q/BD16Iibxz9PbDsK/lt6SSCCSmzHmY44PH66fV5rV53WreL/dWEN/bMbXw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6884

On 21.11.2023 21:15, Andrew Cooper wrote:
> There's a confusing mix of variables; a static dom0_cmdline[], and a cmdline
> pointer which points to image->string before being pointed at the static
> buffer in order to be passed into construct_dom0().  cmdline being a mutable
> pointer falls over -Wwrite-strings builds.
> 
> Delete the cmdline pointer, and rename dom0_cmdline[] to cmdline extending it
> to have full function scope.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with two remarks:

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -873,6 +873,8 @@ static struct domain *__init create_dom0(const module_t *image,
>                                           module_t *initrd, const char *kextra,
>                                           const char *loader)
>  {
> +    static char __initdata cmdline[MAX_GUEST_CMDLINE];
> +
>      struct xen_domctl_createdomain dom0_cfg = {

While I think I see why you're adding the blank line there, I'm not overly
happy about you doing so: Our usual use of blank lines after declarations
is to separate from statements, not from other (in this case non-static)
declarations. (And really, just a remark, leaving it to you to keep as is
or adjust.)

> @@ -913,33 +914,30 @@ static struct domain *__init create_dom0(const module_t *image,
>          panic("Error creating d%uv0\n", domid);
>  
>      /* Grab the DOM0 command line. */
> -    cmdline = image->string ? __va(image->string) : NULL;
> -    if ( cmdline || kextra )
> +    if ( image->string || kextra )
>      {
> -        static char __initdata dom0_cmdline[MAX_GUEST_CMDLINE];
> -
> -        cmdline = cmdline_cook(cmdline, loader);
> -        safe_strcpy(dom0_cmdline, cmdline);
> +        if ( image->string )
> +            safe_strcpy(cmdline, cmdline_cook(__va(image->string), loader));
>  
>          if ( kextra )
>              /* kextra always includes exactly one leading space. */
> -            safe_strcat(dom0_cmdline, kextra);
> +            safe_strcat(cmdline, kextra);
>  
>          /* Append any extra parameters. */
> -        if ( skip_ioapic_setup && !strstr(dom0_cmdline, "noapic") )
> -            safe_strcat(dom0_cmdline, " noapic");
> +        if ( skip_ioapic_setup && !strstr(cmdline, "noapic") )
> +            safe_strcat(cmdline, " noapic");
> +
>          if ( (strlen(acpi_param) == 0) && acpi_disabled )
>          {
>              printk("ACPI is disabled, notifying Domain 0 (acpi=off)\n");
>              safe_strcpy(acpi_param, "off");
>          }
> -        if ( (strlen(acpi_param) != 0) && !strstr(dom0_cmdline, "acpi=") )
> +
> +        if ( (strlen(acpi_param) != 0) && !strstr(cmdline, "acpi=") )

As you're touching this anyway, how about replacing the strlen() by just
*acpi_param? We don't really care exactly how long the string is. (As an
aside, strstr() uses like the one here are of course also pretty fragile.
But of course that's nothing to care about in this change.)

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:06:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:06:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638548.995212 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jBy-0007T9-9V; Wed, 22 Nov 2023 09:06:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638548.995212; Wed, 22 Nov 2023 09:06: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 1r5jBy-0007T2-6u; Wed, 22 Nov 2023 09:06:42 +0000
Received: by outflank-mailman (input) for mailman id 638548;
 Wed, 22 Nov 2023 09:06: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=0DV9=HD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5jBx-0007Sw-4d
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:06:41 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72095b34-8916-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 10:06:39 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40839652b97so29739175e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 01:06:39 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 o5-20020a05600c4fc500b0040a5e69482esm1500682wmq.11.2023.11.22.01.06.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 01:06:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72095b34-8916-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700643998; x=1701248798; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=nyfehAvDs1a7UP28726nOsokn+9IAkiWNm3KTOoYYmc=;
        b=a04g2ApXsoJ5BzkNVPWy5n1uPVMoVQ3KrFJJ1bGxsxph4tJh9C4g4G1kvWswvnepMk
         AtF9pF8cd+UV9MSXXwkIP6jzrR5ju9m4e5y7QGKE5MUqz4NxJZq22FhapICNOJYUMGka
         zvzfLamBhcdLQZriwgxocBXULhZkOux49haCk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700643998; x=1701248798;
        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:subject:date:message-id:reply-to;
        bh=nyfehAvDs1a7UP28726nOsokn+9IAkiWNm3KTOoYYmc=;
        b=CIORh38prBK/X2aNd2BaBKOYP3yNgMRZzASlHqffguyf1KewcXWSDeZFv9+5i6XtYK
         d6CWdEZCD4SotTwMDovo0aihK8Dt+MF9vyh5loANQMTVqURewUIh7fVGEWjL9MCZHA0R
         4Rf7vrKKujs84TMAtLlw4VUlRe9I0lePfTTrvFzKupQDIKNh52d0iSywT4X4P08H1zJV
         k17MNrbgbSBMneUcUSNGt2JZVNHoem8hKXIVILTb6D0kx3Iu8aJJyBa3X8tORbXamxsD
         T+wXDDPjiCflgEcEjHypvCBYTC5hUhhyfuTAlF8La1Nprw2aPnOrgPuTnB0kYITKMlvR
         b+Rg==
X-Gm-Message-State: AOJu0YyJbXRAXOdzrFAPdp824ApUjMLiQcwEWE5ND7K8hujWXJK1ybr+
	3c5Q042W4NvbJv2avITulnsmBw==
X-Google-Smtp-Source: AGHT+IE/zY5HSomJu5EwcONEnkua7WegyhZnScS8fN6uugrXj5sfSh5655VKwNiGpP62K2PJJ2nTQA==
X-Received: by 2002:a05:600c:45d3:b0:408:5ba9:d707 with SMTP id s19-20020a05600c45d300b004085ba9d707mr1445743wmo.16.1700643998477;
        Wed, 22 Nov 2023 01:06:38 -0800 (PST)
Date: Wed, 22 Nov 2023 10:06:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [PATCH 4/5] x86/HVM: drop tsc_scaling.setup() hook
Message-ID: <ZV3EnVFk7DtlLyXS@macbook.local>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <d5b7124f-b7cd-4a3a-b12f-e8e315e9f89d@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <d5b7124f-b7cd-4a3a-b12f-e8e315e9f89d@suse.com>

On Thu, Nov 16, 2023 at 02:32:47PM +0100, Jan Beulich wrote:
> This was used by VMX only, and the intended VMCS write can as well
> happen from vmx_set_tsc_offset(), invoked (directly or indirectly)
> almost immediately after the present call sites of the hook.
> vmx_set_tsc_offset() isn't invoked frequently elsewhere, so the extra
> VMCS write shouldn't raise performance concerns.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

I would be lying if I told you I understand guest TSC management in
Xen, but patch does keep the previous call sites with adding others
that are indeed not hot paths.

I do wonder whether it would be possible to set this before the domain
is started, as AFAICT the TSC scaling ratio is only set before the
domain is started (either by domain create or other toolstack
hypercalls).

Could we maybe further limit the write to the case where the vCPU is
not running?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:06:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:06:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638549.995223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jC8-0007od-Nc; Wed, 22 Nov 2023 09:06:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638549.995223; Wed, 22 Nov 2023 09: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 1r5jC8-0007oU-JU; Wed, 22 Nov 2023 09:06:52 +0000
Received: by outflank-mailman (input) for mailman id 638549;
 Wed, 22 Nov 2023 09: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5jC6-0007Sw-LZ
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:06:50 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 77dd52f6-8916-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 10:06:49 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9260.eurprd04.prod.outlook.com (2603:10a6:10:370::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 09:06:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 09:06: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: 77dd52f6-8916-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ae/7qzrfX+JzabHXTH1w+0BzuH4yqSjCP2jSOFe4cDLpXhPbwChUYJknVnV2CVnI1GGh7YnGhMewW8Dc+VVDJ6yv4mqFUaO7UNZI8R0YSTk76gDxwau2IVvShGX77IxsDwlsf6Nk36PNNO7NwBOXmZP1oxZWny24XyxuAwYoS0VC8l4pehIj1W8e7k7TLSzRil4Vn/09StMmyGaRogxm2FeViOnNNcNzUR6Y27/26ybAC61LKiSFFt0iwi3DCm1kL6sTeDg+I3ID7a7KR5nX4+5Yfd0D7XaWI4fZGVGW3n674Umsxm6wc3Cw9gPxrQkEN+tP7B5q3FY2D01RIERykg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Bx690dq/FPkK0bJJxOX335H5TKt2xHffKz7ZCxII3kk=;
 b=YBFuiNvhGw4iYRqBWEGRc6rtBjE9vnxs1ThxIh01F4BcsiGA4DSVGlQu8avvzVk8yIm8T/m5C508eWjPuxjHPlTRnSY3iZM/19lJ1aX89/C8pRpj0JAEHt8rhvTBkCfXCPWLVgyZCcLJEIfdMQPf2HGORPWBcZCSWhBigA6e+xnfntN2fB9hjxhd/xWVQoKuPPSOxTMYULmzRxE01XL/ztwmyj/XqxsIRWx9Yvq92otcvO/s1ztB4B5BsLKZ2SqBgPS6DkTaZdQJ5O6K6k0FnyKDOtoTXpJgKFlfTKAiJnSUNupUb4gWj/kKcsAkrWFXUQQV0gl6aHFtuzwTJkAcIw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Bx690dq/FPkK0bJJxOX335H5TKt2xHffKz7ZCxII3kk=;
 b=5atYRrBqTEITuquJ9381SnMk+z75ndhCSHTiUmhSjEWn1sfEUn6oIetsHigPdyMZri7hJ6txNeOgMqtcfsXX9Ik9AzXfMOuvwKQJQoCnumrcgMs0aSURN+JkQWAA/OTQC1gmNxx6KlD7lJHFAhzaYMdHu6zT8xFtCilqDkseoYHgdsZtwhNnR5BBGg4dBU46DQgnOMHXm2A+XYn6SJe0hiEiXInvHCW2mdpPY4UI3PaAnFG2Pg3l3jt53/UE66obMaWKUf1MPa1NIj2kOaeQsUT7F9YRIMAPpvIeQ2VdKUDPJH4mUfGhvUR4RyRXWhO1kUN6fFDRSuge27863Bj/Qw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <211e3b07-0018-414e-a950-4984109d1702@suse.com>
Date: Wed, 22 Nov 2023 10:06:44 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86/setup: Rework cmdline_cook() to be compatible
 with -Wwrite-strings
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-3-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231121201540.1528161-3-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0252.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:af::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9260:EE_
X-MS-Office365-Filtering-Correlation-Id: 08fdfed4-257a-4ae8-241d-08dbeb3a5a84
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Wo++yWT/faQDojDQeax0zBCD5Vx0Pyww7IU2ROvRy2SayDPC0TLAyJIEJYWN+77tahaiihFM2gkNhYFMqDDUoMCtrBufltEobu6EHcgMQMvZ71LhaxmkAuXi7UGa44roHrB2QjQfFOda8chl509bHsfnfo1EGRWjHxD7Z07GpJjtKX6+OWdUF1/Y1XR2XMb+1/clb60YG6CUqT8dBgb5E+Z6JhH1TN06JYgSR12f+xOmzvCegbyX8L6oWcSiJlGnYvjFfVQLgtq2Wh4aNa1vHmL6E2sbpdBM+6+3HDoIzm1wnyOVPybnSEDovJdhDCjhRIdz11MfR06RLSKMN2/cg6o0ZNXJh2XRarqkE1ftuBQ9XHL9Q14B+iM24Fx6Q/9D0CX9om6xAW6foSEYCdwCi5pxr8OUsbvxRy7VQFk+kjC70SnXPS/XdA7GQWzCvpaPbbo47rBkBHOJKbK8gW46aG6GsSSPS2UlNGuIuFYM0LdyIXb/OHHmQ6kFeE8CzzCZSSKxB8wcQnz+C7GILsSB9nWY73j2AE20DVpN74IsOlGMMukXzGgte+V64OllI9yyEeP24P4lG8nma9PVARaPQUvqaTxso21vQofcyQmDAPlKHlWXcStQYHk6BxuZLLlptqkrYz3lhqE4yP6RchQteQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(346002)(396003)(376002)(366004)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(31686004)(2616005)(31696002)(5660300002)(7416002)(36756003)(2906002)(4744005)(86362001)(41300700001)(66476007)(38100700002)(8936002)(4326008)(8676002)(316002)(6486002)(54906003)(6916009)(6512007)(26005)(66946007)(83380400001)(6506007)(66556008)(478600001)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?R1NUVjhKUXN6dUhuaVNFd3g4b2RTRDkxYXNteE9ZRTduRWFlRll5S1g2NWJD?=
 =?utf-8?B?UnJnV0N3VWgrbVhvV210Wnd6bWhGcjQ0bHlVaXBtYTRBRWNTRnV5TTlLL3NC?=
 =?utf-8?B?TUFHOER0Zno4SVYxU2plTXVuWXBldEJBZU0vTW1KazgvR00yMWMzeG5LYnFC?=
 =?utf-8?B?NmlGUVFaOWE2Y1dwTkhMeC9lak56RFgxL3I2aWlJbXIvUEQvTEFRYnNoWEFv?=
 =?utf-8?B?UityRGM2TGJvMFZUbUd4MTlJQStCbU9Ed0Z3a1FPc0NKNTBGOGprb2xOL2xP?=
 =?utf-8?B?L1FQd0lRd21hMUgvZnczaVFWZkxxNXNjeFM0MEFIdmdOb25DUjRsaEJjSGh6?=
 =?utf-8?B?djBMZEhDeFN2VVUyUGtkNFZZUldpcEU2YlJVbktmT1pDWjVZejkreG03Yitq?=
 =?utf-8?B?ZUJXUklYRlBhcmtTeUdINWJpS2pRK2ZIQW9MUExrdWRWTGdpYTF5Z3RRMitw?=
 =?utf-8?B?cUpmbEJLZHR2OVhzVEFqSEs2STJna0tWeVora21rd01BeGhQWGowZzM0RDAv?=
 =?utf-8?B?SXpyZ3J2Wk92YTIxV2RhblNvL1VFN2NvZHh5UFVjODlsKy9WcHVWVkJabUhn?=
 =?utf-8?B?OUJrR01xalRlaDFLb0RlYytsT2g4R0lpZmdGTU1JeGoraThDY3BKbWxDUkZt?=
 =?utf-8?B?MVFZaEtGb290ZTZlRDFVZC9VVW9TZzNDSnJFaUhUMm13YUlCYTRGK1RjeEda?=
 =?utf-8?B?OXlKbG90WjNTNisxSTB2T0xjZXpBd3BoVFFLMXl6U0pqVERNOUxVSi9uTitI?=
 =?utf-8?B?d0NtNUloeVF1ay9tdkdwaW9mSHRCcm1hclc2M0dCRXFUU0xNRlJ5R29BYUJx?=
 =?utf-8?B?V2J4OTdqZkpKMTNoUVMyOWJzUDRrSnhlc3lrd3IwRFNJcnRBMjRWV3YycWdD?=
 =?utf-8?B?VHV6dHhGYUVaOUorWFhQS1QrQ0RCczlrRlgzM3R3QXEwMUp1Ujg4bDkvREJ1?=
 =?utf-8?B?a3dvQjR2NFV3SmlKV3JJUkx1SDZuTEJtaU54dU5SWUphMnNlbVRDaFljb3VV?=
 =?utf-8?B?NUczR2hLbVAwenNURVlFY0NsNnZxSDJUUlRWZnVzdzNiVkRoTXQ5UHF3cUpz?=
 =?utf-8?B?MVRmd2U0VWhodkVHaTd6MEhmbUd2NDBpdXlBU2t2Z05sN0NIMENDY2FRdk1z?=
 =?utf-8?B?ZmJqNVBHSmhCTWltbUFNOXp1R2wzdkxtblhqdmRzS1lMRCt2MzRFcGZGUm94?=
 =?utf-8?B?SlJnSFBJVE43ZW96YWZMTEhoNktNdEJpRUFoSS9JRk5CZkZCUEJ1NmlHb2dR?=
 =?utf-8?B?SVk0WkEyUzVlUmIwdVJJZHM0Wm9sdHpFbW1rUmJnd016c2pBbndwYmhieTN1?=
 =?utf-8?B?bVowOFgxYzVubExyZlBYblBtQkYzbFFvWEhmMnNFUkdFQ2JWcUZRNHZvTmlO?=
 =?utf-8?B?cVV2aWJsblRDcUFZalEyaTh4ZEJHWm5telArZjBNNEphZXRGRzdrcW1IUWVp?=
 =?utf-8?B?N20zam9TVVFPeG15UmNCZ2RKOFA5Umw4WldCQjdTYmFnR3p6NnZ1eGIrTkVO?=
 =?utf-8?B?d1ZiZjVtVnhiWUtlQi9NOXBsTjFZSHBxanRqNVc4Q2hYUGR0M3J6M3oyaEdR?=
 =?utf-8?B?WHZEb3JKR052blhVNHd5MlgrVys0Q04xVVBjWGlDby9SQXVjYlBWUEFMQ1hB?=
 =?utf-8?B?Nm5jZ051Q2taU21MelRXbzdqRmQ4Qzd1T1FDblNybXZ1alZEMEU5ZG9BUDFa?=
 =?utf-8?B?YXZkc3puaFpoSm1yWDdoTHNReGg2cThLdkEzZjlEL0dsUWwyNlhiMjd6cXBL?=
 =?utf-8?B?aTlrRHhWWDAzVG9hTnQyeS8zTGxETS9SZGlWZ1UvbG8xSFlzTE1LdHd2U3pm?=
 =?utf-8?B?MEtRRVQra3FlQXBjUm9WTUZXa1d2dmZvZkIzdzlOdHdaSGpDZ2ljNHM4eVpu?=
 =?utf-8?B?TTVmSk9PTEhBNkJ2elV3OHhmeWpCeTBhaGlrbnJGamhrUy8rK29WQVBGS3c1?=
 =?utf-8?B?MDJOZWUrWmtGMUlMNlNQK3ExN05Md0lkNDJCUG8wN1FkLzhZQVpvNlR4M25R?=
 =?utf-8?B?aFBBbGdJUmg2WnQ5TVFodFhwZXVrVDJqSHNuQkpQcitNOExFUGc1K0lGc2lD?=
 =?utf-8?B?VVVQMkk5azdZcS9PVlZLYW5lQW1NZ2kzUURtUEVTeVNzSWNjUE5acGp4TDRm?=
 =?utf-8?Q?I6BUuqbyiMtCKaQyGHJVFxSIl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 08fdfed4-257a-4ae8-241d-08dbeb3a5a84
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 09:06:46.3458
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: YLokne/gQkx9KMDyq5/a4j2/Ex1iDvn/0QxvPA9E3AQn+RMT4DqllTEaPF7zoZSgcs7pFCDUbyk+a20KWG/Qvw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9260

On 21.11.2023 21:15, Andrew Cooper wrote:
> Rework the logic in __start_xen() to not potentially pass NULL into
> cmdline_cook().  This makes the logic easier to follow too, and the rest of
> __start_xen() is safe when initialising cmdline to the empty string.
> 
> Update cmdline_cook() to take and return const pointers, and write a
> description of what it does.  It now requires a non-NULL input and guarentees
> to return a pointer somewhere in the 'p' string.
> 
> Note this only compiles because strstr() launders the const off the pointer
> when assigning to the mutable kextra, but that logic only mutates the
> mbi->cmdline buffer.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:13:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:13:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638559.995233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jIK-0002hE-CK; Wed, 22 Nov 2023 09:13:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638559.995233; Wed, 22 Nov 2023 09:13: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 1r5jIK-0002h7-9G; Wed, 22 Nov 2023 09:13:16 +0000
Received: by outflank-mailman (input) for mailman id 638559;
 Wed, 22 Nov 2023 09:13: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5jII-0002gy-JU
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:13:14 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5ce86be4-8917-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 10:13:13 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9260.eurprd04.prod.outlook.com (2603:10a6:10:370::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 09:13:10 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 09:13: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: 5ce86be4-8917-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=O6JGwymI/q96F2c/hsDnQWTINcqclX6yjy1NURuUxRkT0Cr/Kz0BKsk88jNmPTvrKf7E0jZM2TAR9c9UbzKWhsO1EqWvolSRN2S6pCr0cPJVrhXVXHvUPR03+0q9Bc1fnF59aYT6QhtcBcts7Ou0zeDjZU4F1pOTN0ACJRFENzs82p/1o1sSN1f2G72E/IMXhY8PvadTNq6J3iE3+9HiCSf+HuBIrGGfHuFS2j0noXZH5jDKotYYpkg23cjnK20VrsyMjTk/zyzp+VEf0CKyfIM6Zc18kRmO9gb2iwG0vXt7zwVZMQJxKt5U/lUJ/vXF2nECEeQRvdBI0l+tuwzf0g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Avj3hv9hWwGChRxIuZX7GBJy3AIYABhO8tPPDCoxDt0=;
 b=iiTXsDizGM2zl4FivStIkOVVlJmzuA4AwmaiqseVLZjdhG0N8yJoP6AVWnM2eHpRbfVCLVMprMqP/VCJf3TjOZa74D0vtxENEaGcylEwib5LZjj52dNkcnBKDz090XPG6s44lfJCVO84gzY2TXtlh7PGG6OthUiLyYFg7qKFsUfgy0+lyS8qyvUSgDnZqwfD7S1srrgGojHjSsioRvY3Mi8I0xWGNr+HgcbANNmJSwmZrd59DKFImMaxVDUAsGTxDd92vr2aNkcGW9eQ0o104/K4KGyCHn2hX/X1ZEi0QHTeqou8W2FpUbhvLG60JjJ490cyXCamkoVwiWvY1pr3sg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Avj3hv9hWwGChRxIuZX7GBJy3AIYABhO8tPPDCoxDt0=;
 b=WSlE8E04CjI3mYJOSlmURw5KwzgCpqIldAUqgBJSd10pDkQkHJYg/OXebggYxTD2vJOQx9TQp4dkOXgzaObORhsOIJldM+6o6v+CY+rjCJAxFnr/aXhrAck40aVtCrSIYC5RV/Sj7Ff31CoRnztI7fImES3f33Z4QmVcWlnSBh1FTwovmJKgho7KOU3yuW9bfhxgsewH66SYeNfe5aQZeODPePJbmoENT52oysDlC2tGeoYQ42nn4xdGFivxnlPLg6CmgcJu7lF+EBE2Jh6P+A3Mv0LS3W7X2EQ7xCR6tTG2LZvruOHxt8mtpWJMKnWbr1ofML6DW5tWQUB+nOP2Dw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <72b6d1f4-a766-4f30-ae99-12583cc11214@suse.com>
Date: Wed, 22 Nov 2023 10:13:08 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/5] x86/HVM: drop tsc_scaling.setup() hook
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <d5b7124f-b7cd-4a3a-b12f-e8e315e9f89d@suse.com>
 <ZV3EnVFk7DtlLyXS@macbook.local>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZV3EnVFk7DtlLyXS@macbook.local>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::23) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9260:EE_
X-MS-Office365-Filtering-Correlation-Id: 3970624c-f2c9-4f4e-a99f-08dbeb3b3f9c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mtyFz8OeSRWLBBOK1oLcDzUWle0cIDFxpfs8TFfJVeMQLdniqrfCgXq2NbRhOA4c03geoKkyDlUPYmQ3Khzd7ZwHr3vHlmsgNsERKJtEvV8HLEyCsxJ/RBivfng/GZw8qM88O0w8IwLZm4kMNjPFT1W2Lc2STRqrYSssSiY7rbFsyuMFLoDAHVBgAWBJFv56vG1vfYRQEGhB/2wxrUcLXct3H8kcGeoGhL6VXublVwZAHuVsRfMunQVqHe51QePAkFX4oUWhhFA/5lX1RFYssKsM/z03N7cJ/EFGWJ7+KW6t2B6tY3DsrCuHo1O7u22XSLz3WpzhW9AmrS8okdP+ZlYjyarDQTUDc6/sZPg6Y+9RfOTG8Rk40c8MptyipDG/HZ1EnzqssI1Z59EFIkmOlNyMOZmZvX9a0brC07sCJYBtRBNoAMElHndEpjujodZVUw0ZrarOzUO70jDfp0JwIKLWZ44plhMOOhGf57gcGZa+/CKBAyEUQ3VAh+neWnHplZOxobJJYVjbJjTAc1wiZTc03jya7GLLaGFNxZqk8PRdmZUbgmpKhO6aDWD0FFDXmNBIHcVZ9SaouXb1ZYBs8QW4if7fdTRFojiObnBEmD9VhyNCTX7lxU6jXbOmCma4pEQK5mJyto4mLBDui/y6yg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(346002)(396003)(376002)(366004)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(31686004)(2616005)(31696002)(5660300002)(36756003)(2906002)(86362001)(41300700001)(66476007)(38100700002)(8936002)(4326008)(8676002)(316002)(6486002)(54906003)(6916009)(6512007)(26005)(66946007)(83380400001)(6506007)(66556008)(478600001)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MHlNNkRheWUxQWh5MEQ0elRNdW9JMHJhMllKRUoveUZoTW9Ja3hSSGVqZHR4?=
 =?utf-8?B?TThHcGcxMEZ1V0xwa2dTTFlQZXFUZ244WWh3V2RuMEY2TlFXenpxQytNWFFH?=
 =?utf-8?B?WXBVRlZvMHNlWFJ2U1V4a0VLc2ZWWE5SOVlGcDZxRlg0M2IycWZLRk01cENB?=
 =?utf-8?B?OUFTTUZCdG9yK2RJMUpNeE8rZWxrb3dGcGd4a1pudStFTTZ0RVl5cjNsM1pj?=
 =?utf-8?B?OURaTFhTdEJtQmQxa0ErVjZtSGV4QVBJMy83VWxFRmdxbmxyaCtCSVFYQXl0?=
 =?utf-8?B?TjQwOCt5UzEwNDBtdkpwOHBWVHVaK0ZRVHFaSlBaMUxJWG8wcjYyKzNMZnRM?=
 =?utf-8?B?czJ6bnMzSkprdEk2Y3dxSUhjU3p0anJUWURNcUdLWTVQdjNaanBUMXBRRHIx?=
 =?utf-8?B?QUVNNFdVM1owL1JFSTM4WTN3aUZYSEd4Mk5GWWVUTWRManhUT2w2RXJzcllR?=
 =?utf-8?B?bTBWN0tsSEJRMm5EeU5Zbnp0K1RyNXdJUFVFYW4vVzlHMGFnTUsxYzRZdEhO?=
 =?utf-8?B?OE5GUkIyRGdsck4vWlN1d3VUSjRNQ0FsdE9kWk1ycXpodUhESDVWcFQzaHBD?=
 =?utf-8?B?a3lnYTRMSS9Mb2ZPZWVOVVoydkRBbDZtNFNGUjZvS2xmNVI1WXpHY2YvanNj?=
 =?utf-8?B?VkhINEIyZHBJbE45b0ZVNGlkdkZRQityditFQWxMaExldTJRUU55R3FYWlF1?=
 =?utf-8?B?Mng2R25UVW54TlJWRFRKZVVYSDYvTlNkTk1MZnF0d0pJTVhkNjR3TEo4SUg1?=
 =?utf-8?B?NHpMYkFzWTRDbUdZcEd5Q0k0bUsxR3g1a2dqN1VWWHZkb2w5cTNBeURNcnNE?=
 =?utf-8?B?SGxJUjlOaTRwa1pEM2JnVEZWRUgvM0VDM3lJVHdZVnh4VGlpUHJ1bEFCSW5X?=
 =?utf-8?B?UUlDc1JnWnRzanVia2dZcHZreEo3QzltcklZRXZCYjZUNCtsUGFHUGF0Nnov?=
 =?utf-8?B?QWN6U09PRXBOWURXdjBoSUVzMGtQSnY4b1hMUXZ1YXpBUmdsWTBIR3VSTnV5?=
 =?utf-8?B?VzZzWThlTHl1VDZqemZzVDRyRXNBbTF4L1Q2azNOVzBreUhYa1B6dXFvTDA0?=
 =?utf-8?B?anJRbHRYV25yUVEyWUdPRUNQVVovWnliT3FBd2x2NVhzOEpoby94aklHNmxw?=
 =?utf-8?B?SldqMStVM2lPeU5GdThlS0NaN1R6WHZvNGxxU2ZmV3VHZnBsU284ajFmdDd6?=
 =?utf-8?B?U2pPUVh0M3ljWHlpWHJYYXhVTXpoalo4akgyVWhkdXRLczRpL093M3NVRW9U?=
 =?utf-8?B?a3hIbFFVeGVTRHVUVENrZzYwcmpGdHpFZW1TU05Zc0JldGFNNWxJMCsyeWJ1?=
 =?utf-8?B?MzVZT05mUWx5VXdCeUw0QjRDT3NCc2tRR1FuVWEwMlYxS0d4Zng0Z3hSeGZm?=
 =?utf-8?B?WUJFejR3QnY4ZDEvRm5laFB0WnNEY3FXaGxWQ0RvUTR1YVlMaVN2ZWJ2Q0xz?=
 =?utf-8?B?aDFiQ205ZUFiZW9iZlNvVW04cXFOZmtKYlJLRWp6VTBwZWJkQ3FlQVkyVW44?=
 =?utf-8?B?Vk5xY2NmSmowMzVlQVNlc3MvMzRWMWpISEM1ZmszZWs2ZTJyMG43R0NnS3dJ?=
 =?utf-8?B?aElMOTNvMmM0aWwwS0pTZ2hOQlovS3NKUXVHaDZRRjNyY2wzSWtBdktYZFU4?=
 =?utf-8?B?Q0luU0ZFUCtJZ05JOHg0bURVZDdnWVdlcFh6dUJKYmZqV0dzdFgwY0I1bmtL?=
 =?utf-8?B?dU53MWUzdjE4Qy9XUW96WitDN2p0RTFWanRIOURkTUorbUdkU25iYzRGdThT?=
 =?utf-8?B?SHZnd1pWWWEyMmtwWTBHMkdDRGhPdCthdTlVaEltOTBqMG8rRnJZVnhPQ2pU?=
 =?utf-8?B?dWFsRUN3TDBuMS9YakVTaVAzbm5oRmpRWG8zTXFsL3F1bjNiQ0IwL1VIMUFG?=
 =?utf-8?B?Q21uNERkMDRxSlFnS2s4UllXUlAzMUllK2VWOHA2MytHdUJFYy9LZ1ZsV2VF?=
 =?utf-8?B?OG1NRTA5RkptcUhwTHRVL1VnWHV2MFhuVThuUml1QmQwa3ZyUnFsbktMN0Z1?=
 =?utf-8?B?MSs1OTNKMFV4UG9pY0lzY1dQY1B5R2lVaUlRN1pZR3EwWHRKWFFZM3lNNURy?=
 =?utf-8?B?bk9ON0JlcnYwV1FFNDNPWmRwYVI2bTdRV1ozZ2lyNFpjZS9TcWJ0OGVSRWVN?=
 =?utf-8?Q?R/ZqiaMb0RxjFUIrO+86cEPgG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3970624c-f2c9-4f4e-a99f-08dbeb3b3f9c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 09:13:10.7053
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dawduF3iE3wkU98CpAaoX0w9TMss9UsfwiabwsJUZjE6gUmCf79VkgoY2u+BTUGNgNeJ93u/mhIyQy0oTyqkQA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9260

On 22.11.2023 10:06, Roger Pau Monné wrote:
> On Thu, Nov 16, 2023 at 02:32:47PM +0100, Jan Beulich wrote:
>> This was used by VMX only, and the intended VMCS write can as well
>> happen from vmx_set_tsc_offset(), invoked (directly or indirectly)
>> almost immediately after the present call sites of the hook.
>> vmx_set_tsc_offset() isn't invoked frequently elsewhere, so the extra
>> VMCS write shouldn't raise performance concerns.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks.

> I would be lying if I told you I understand guest TSC management in
> Xen, but patch does keep the previous call sites with adding others
> that are indeed not hot paths.
> 
> I do wonder whether it would be possible to set this before the domain
> is started, as AFAICT the TSC scaling ratio is only set before the
> domain is started (either by domain create or other toolstack
> hypercalls).
> 
> Could we maybe further limit the write to the case where the vCPU is
> not running?

Possibly, but not straightforwardly: E.g. I think we'd need to actually
enforce tsc_set_info() to only ever act on non-running (perhaps even
not-yet-started) domains. And I mean not by looking where it's being
called from at present (which may already provide such kind-of-
guarantees), but in the function itself.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:15:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638561.995243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jKP-0003aZ-Pg; Wed, 22 Nov 2023 09:15:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638561.995243; Wed, 22 Nov 2023 09: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 1r5jKP-0003aS-LP; Wed, 22 Nov 2023 09:15:25 +0000
Received: by outflank-mailman (input) for mailman id 638561;
 Wed, 22 Nov 2023 09:15: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 1r5jKP-0003aG-6N; Wed, 22 Nov 2023 09:15: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 1r5jKP-0000pM-0d; Wed, 22 Nov 2023 09:15: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 1r5jKO-0006mL-JI; Wed, 22 Nov 2023 09:15:24 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5jKO-0001dF-Ir; Wed, 22 Nov 2023 09:15: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=o4kYloVp6C3MKTPfZ8NZ7l5PLzXE1mk8sIzYhAmt0Vk=; b=Q8KkrAlCLdPniky9+/HoU4XyC5
	xh6s5RJXEZRAdSpkENpzIiuurnzU6eYRSJR2w9wZCZWohdLpvN13xZy969Lolfbftk9pfHyx5NpoB
	i4KycdUo4K++sxLZqZ7lPK5lEoOyWjgftETsq0z0Eyi+ka60/cDvQ48h6JrWFm5mlqAo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183816-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183816: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    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-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-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-qemuu-ws16-amd64:guest-stop: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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-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-libvirt-qcow2:migrate-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-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=10081c2dc571775b538bb00982606a39832ad7e3
X-Osstest-Versions-That:
    xen=fa2da5bce90b3777aa7a323e1cf201c97b56d278
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Nov 2023 09:15:24 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 183807

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install fail pass in 183820-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 183820 like 183807
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183807
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183807
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183807
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183807
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183807
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183807
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183807
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183807
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183807
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183807
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183807
 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-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-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-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-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          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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  16 saverestore-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-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
 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-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  10081c2dc571775b538bb00982606a39832ad7e3
baseline version:
 xen                  fa2da5bce90b3777aa7a323e1cf201c97b56d278

Last test of basis   183807  2023-11-21 04:17:59 Z    1 days
Testing same since   183816  2023-11-21 21:39:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>
  Volodymyr Babchuk <volodymyr_babchuk@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                                          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-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                                     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-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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:22:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:22:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638568.995252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jQg-0007QN-KH; Wed, 22 Nov 2023 09:21:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638568.995252; Wed, 22 Nov 2023 09:21: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 1r5jQg-0007QG-Hi; Wed, 22 Nov 2023 09:21:54 +0000
Received: by outflank-mailman (input) for mailman id 638568;
 Wed, 22 Nov 2023 09:21: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5jQg-0007QA-4o
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:21:54 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91f3babc-8918-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 10:21:52 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7767.eurprd04.prod.outlook.com (2603:10a6:20b:288::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 09:21:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 09:21: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: 91f3babc-8918-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dVR9Mz9Zqia59Gw14m5So/GXzPEmaIAw+TcIXRkiucNyQdF6nZV+76uSTOGzgYoIRBipMSkVVhvlBv33PmIO9j5ITHhTRJjn9XMYCeO3IuE/Jdy1RFJ/aUZS7dDAbe484jZvP4RlDYqqRGdZIUtkmUlYnO+wZGIiKEM/4S/BLlEgOj2VUPeUD7RmK0RA4s9BBOKBupjw3eMri8tpHRos7BlLwBS6hkV0LnRLTtbnNxshbnL4DjX22BuR2b02JHec4RUXf2DoaXBPy5sdiO7EIEkG1GY+25JtDiYA0kEhr05xZHs/glYLJVrPjehrYr4w0pgWuRkDWpKuIkxqetsa6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i/Su3ZnaRpQTCP54yq3CJnLHKzPwQ6ku1Y8p1YiTP90=;
 b=fePP3FTuAuS1urvETL75gT0fb2s0UWt1Xgt89DiVVaWYRAfUDdfeAqCXcT2ge7qzINKIsKAcOrFrH/fegMDIPIj14LOWxeUMKdK4CKLyDBoCt2xF+zOsI8/TiFRxKnk6JGqIeW+MXQpZqLWDO54sHlYT7cmtlZIMCna/+6hjitKLG1kTYdhccucCoPjHwzKSnh763hMscZqW8kn9jGtpvlkWh4LvXuX5kBIBW/j9GPfYiX4uOozZXHweHlCLtBtDpgmtKIiV4uWZl4qxFKPvytaiYsTZ/5/KIs4ulFrLr0NwIQHBQ3wxkorNOiTfxVlahsgxkFbu9FFnLKNKQAeLaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i/Su3ZnaRpQTCP54yq3CJnLHKzPwQ6ku1Y8p1YiTP90=;
 b=YcmtVmtmEI6P5hwIasbuA/FAMlQwyhP60q56yFdZZdWIG1vUNXeLkr283D5Y7VAEM02OXgU86H9uFr25bJfNgLnTq9hbUpg16givKc+uyjRp1t3UQBBNgQb2vPSJHxI9pDwpd+J3Vu+fPpwwGj6Rke9uoFhdCUFN6QI0qlliTUu+pT9NOs8QTpMmchLIMxNsTdIjIqWEw/8oWIqrdFaOyS7EkV4EVZKAfF6Op4IGpC8pqS9ATYQA3umiBJm3MFcOrLZRWRONwTsxyrtJb44IkxaKiQ4u03Oi1IW4yMO5t+u/XiYmOqzlA3eyqCjCrlhApIPnGQT6h1OxqHLGpF4ctA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
Date: Wed, 22 Nov 2023 10:21:45 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
Content-Language: en-US
To: Juergen Gross <jgross@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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
 <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0215.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e4::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7767:EE_
X-MS-Office365-Filtering-Correlation-Id: 1b1b9abd-ad15-4084-2737-08dbeb3c735d
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:
	SOxfivYxGWigwCwZj56E/MP2tpfR64LcVzXfcaP2r7o0mdefw9VzuWtqkj18jIim1pJ0y2nZHWI214L/B4S9btVLYpslRxIx9iHsat5R7CTxd/uX2GAkj1Uy6TeKWT1dN52d6DKgUuej6Z5skyS0u/yebTzmWkz0HKtF4t92Qz+Qrb1ojYQzETtpITEwCy+SPtM/3lXFqZdtZyQdBoow9teqcnWhFf5/46hrtzSM4jGYCLPgvifalRCoG+JngsROfbE1mD0EoxhKbwIShM1Ksnk+rCyN90wrngqT6rxTHul1bfYJDcd3iyPxpFG0rizGP8sTGqXm9VTp/n80b/ugx414+CIijDGA7ctjDFL2/6hXS/FrOyhIMgXLoAA2NGKk3bBc/wII04bDgQ+4ZElx5hUfFKq2NIfomDcGJ6l3Se5Haq+G8ty2ZDowkRn7XZlbS4kdA0abettw3/F4V3M+0qNqVxNQlw7xkyNO2eND/f1ZcpE3Mm0DmlMDNCx2AgUu9Q8sCQFxRrPv4Oct6WF9k3pmhWiPh6YTnee0W+NcUG0YbPvd8eB9WVdnMeUPvQ/vK4533Vn91GGSIVM6TVXZEHIPNkr7djaZSkcU4VwKQg7WM5+DEciNDzWqX474xXJuSXoGXyuBJiBbUluxHS/4QVfTkzlaQvPLxeISaLbD2HBe8JiFe/PCmWVsVShPFJfn
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(376002)(136003)(39860400002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(66556008)(54906003)(66476007)(37006003)(66946007)(6636002)(316002)(8676002)(8936002)(6486002)(4326008)(478600001)(6512007)(2906002)(31686004)(83380400001)(6506007)(53546011)(2616005)(26005)(41300700001)(38100700002)(6862004)(86362001)(31696002)(36756003)(5660300002)(142923001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Yk14N1NUVHdkQmFkY3dIUGNCdkY5ajRNU1lVdENxR1BFOHNzQjArNVN3OFJy?=
 =?utf-8?B?TkhFWnc3Si8wUlg4NmpXTTE2MXdjYWx2bDRHY1M2SnFIdG5aWEFLSEhvMkVl?=
 =?utf-8?B?SFlZd0FQbGkvTUw1aXZvNUVEMjVvTEp0emtSRGQ3dGdraDhuZ3I5TWJLWUNU?=
 =?utf-8?B?am1HMUlOZFhJaDhVakEyamdHL0V3OVRSczJ2WFJFSFhQZElqUkQ5TnA0Nm1F?=
 =?utf-8?B?bktBSDB6ZEJrbkFaNjNDV0w2VzZoRnpqTm83ejY5WFpYc1VFKzJsNVZMTFlK?=
 =?utf-8?B?VVdyRHo2YzE1ZEZQdWNIVlBCQzZiNzBWVWhWTGw1bzM0S3lJc004a0FxcDRW?=
 =?utf-8?B?RTErdWVMa0pJeHZ5U2RRZ1g0bjBPSERmb0U4bTVlV0JvcVVid1RsRDZqNFNx?=
 =?utf-8?B?Vzl2SURpS0tYY1I3Q3ZPV280eFdhY25FWEo3MjNUck0rU0NoZm94TXAzUzRz?=
 =?utf-8?B?Nkc2ZWN6clNDOTBLcTB2cU9rQWxrdmlUMElVeCtYZ1RSbW1IQ21wM212MmY1?=
 =?utf-8?B?RnVTZzBEbmJkd0NNc3VEV0x0ZlJhcm8yN0dtRjh0ekJaY2FqM000WWY4YmQw?=
 =?utf-8?B?cjVieTNMNisrR1N0SzRJZ2ZnY2NtbWUxZUU1UmtVOVVPbE53U01MU1FQOUxN?=
 =?utf-8?B?d1pFTVVqeFlaUFpleGNFRE9FeTRyN25rL0VEb3R5YWZsQlBqV3NUMHdhSEVk?=
 =?utf-8?B?NFpBZHNHcndiaVRCazZEbDZGRFNQVHJWa0xjZU5TVUdSUkZSTWZpd0trbjBU?=
 =?utf-8?B?VXA1SmRDcHlNUGlvd0VTaTZqb2p6UXJnOEw4dWZMSmkyVENJUjdRZ3lqcXFj?=
 =?utf-8?B?NGorbUl0M1hqODduOGJ3NHlNelZ5NENBUGtUbWx3TlFTaGJRaEJ1MWwxemo1?=
 =?utf-8?B?VVl3WkZBOWRVRkZuV2t0K2JDZCsrM1k4NGNJKzczK1NTTklhNkdDV1RrL3dr?=
 =?utf-8?B?MzRaYWlxVnR0ZHVJRGhaU05CZitqVm1mdEFmbWc2ZHpCdjl0RUhSVnJCRVpD?=
 =?utf-8?B?NHBFUFRGMnhua0NpV1g1WGdjYmRDSjFLcUFHLzRmT2Y0bHhPaGpidFN2UVBR?=
 =?utf-8?B?U1U3RDZVSWJnVDNVMG0zd0xJazVrdkRzNmZlclhkSUtSNm1kYUdUajNzZ2Nt?=
 =?utf-8?B?QlRVTzloU09sNkhCdGFiV0dtQ0NObFU0c1dvQUN3YWk2L0RsMitheUlobWFN?=
 =?utf-8?B?WFBnaWhOalJaMXJ2bWU1TWpJazRLVHlxd2dHSGtjZ1h1VmtKQkRkVUxiV1hi?=
 =?utf-8?B?dENlZDc1ajRJUHl1U1ZMTFdCR0NZcENxblZybzR1SUZFM0Q5YzdQUnNaRG4w?=
 =?utf-8?B?VkhvTGhZaUpWeXBvSEo0U3lVeEt5TEdQNEFLZjUxeTRFdFZITFJ5cnk5ckVY?=
 =?utf-8?B?MnFaNnRmMG9weFdyTVZ0VEh5dG9JMEY1ZVlZb2YvZFJpbm9EbENuTXM1bjFJ?=
 =?utf-8?B?WG9RSmRHajJYN1MwZGJNNGs0aHMrbE9hUEVnTjR4c1E2cTVkeDdPZCtwN0RV?=
 =?utf-8?B?eHJZcWdESGYxUnpZZHFPdFl4ZmtNVTF1VStEN2RjcWhreVpZR1pjSG12ZjMv?=
 =?utf-8?B?QVdCNkJveTF5bzJOUmdmMVBKSjlWNEE3anVwZ3NtRkhQQ01lakZGV0UxTk9q?=
 =?utf-8?B?dHVVaWpURDJ3b2Q1L0tsUHRQKzRjRzlDUUc2amtacCtHS2tubXhaT0pzQmZF?=
 =?utf-8?B?ZFlkd2F3VkVCNW9SSURSdTZtekRIaVR5YlcyOWVVamVvK2s0dCs3a080Mk4w?=
 =?utf-8?B?Q0xzcnh1RVJtcUFjdTNhVnNMT2cxcE1SczBKblE4WjRsVEpaektvOFlOT3cr?=
 =?utf-8?B?T1Z1NVZWVldDZWFOeXVVSVlYZ0s1SWREZXZod2RUQ2hFWGgrYjM4QmhkVTN5?=
 =?utf-8?B?aGYzUmY5ZmRzNDN2S0N6SUZDR2FIa0lBTmlGZGhvbTFaQkFxNm1zTWtmWTVx?=
 =?utf-8?B?ZGNGV25YU1NBRlUyaWR6cUdsSzFpempJWFdJN1VydzhjUGZSYVB6WFl4b0Ew?=
 =?utf-8?B?VGFQZWI1UUlJYlJmV3RsVjQ3WEFTdVRPcFpIdjJsMmtDcW45VVVlRVh1WVdV?=
 =?utf-8?B?TjlGM3Z1NTFjY1FaK0h0MXlvOVl5UEtZNEtSVjFUL09SSUZKT1hDZUp3UjR6?=
 =?utf-8?Q?gAcBG3s/2LrOY4dYkN4gVwRgx?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1b1b9abd-ad15-4084-2737-08dbeb3c735d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 09:21:47.0698
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: s8101z40PjFnkPc9Nv2QohzxDwoxCMTH3fDUuSnEYgzQzDLwerW0Y1ABaadW4dtpt0CNFSY2rwR+BnUZEE8cNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7767

On 22.11.2023 09:57, Juergen Gross wrote:
> On 22.11.23 09:39, Jan Beulich wrote:
>> On 22.11.2023 09:31, Juergen Gross wrote:
>>> --- /dev/null
>>> +++ b/tools/python/.gitignore
>>> @@ -0,0 +1,4 @@
>>> +build/*
>>
>> Are this and just build/ actually equivalent? Looking at our top-level
>> .gitignore, I see e.g. extras/ and install/*, which I would expect want
>> both treating the same? The form with a wildcard, to me at least,
>> doesn't obviously include the directory itself ...
> 
> The .gitignore specification [1] suggests that we should use build/ (same for
> the new entry), as otherwise entries in subdirectories would not match.

The description there of what a trailing slash means isn't really clear.
Nothing is said about anything underneath the specified directory. Also
nothing is said about what a trailing /* means towards the named directory.

What _is_ said is that all the new entries here should start with a slash,
to avoid matching similarly named subdirectories further into tools/python/.
Unless I misunderstand the intention of this .gitignore entry and the goal
is to match anywhere in the subtree.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:28:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:28:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638571.995263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jWa-0000Qn-A4; Wed, 22 Nov 2023 09:28:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638571.995263; Wed, 22 Nov 2023 09:28: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 1r5jWa-0000Qg-6P; Wed, 22 Nov 2023 09:28:00 +0000
Received: by outflank-mailman (input) for mailman id 638571;
 Wed, 22 Nov 2023 09:27: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=Xj/n=HD=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r5jWZ-0000Qa-E7
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:27:59 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c0a2aef-8919-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 10:27:57 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 0BD754EE073C;
 Wed, 22 Nov 2023 10:27:57 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c0a2aef-8919-11ee-98e1-6d05b1d4d9a1
MIME-Version: 1.0
Date: Wed, 22 Nov 2023 10:27:57 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Andrew Cooper
 <andrew.cooper3@citrix.com>, Xen Devel <xen-devel@lists.xenproject.org>,
 Consulting <consulting@bugseng.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Roger Pau
 <roger.pau@citrix.com>, Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>
Subject: Re: Devise macros to encapsulate (x & -x)
In-Reply-To: <1799e5c8-ab8a-453f-96f0-c3b66ae446e1@suse.com>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com>
 <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com>
 <alpine.DEB.2.22.394.2311171845440.773207@ubuntu-linux-20-04-desktop>
 <da1d557a-6030-4dd8-a875-af733572fc48@xen.org>
 <alpine.DEB.2.22.394.2311211742400.2053963@ubuntu-linux-20-04-desktop>
 <1799e5c8-ab8a-453f-96f0-c3b66ae446e1@suse.com>
Message-ID: <054ccbe1173f4a9ec27ca4201e6d74a2@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit


>> 
>> Jan, would you be willing to accept that other maintainers have a
>> preference for having a single MACRO even if suboptimal?
> 
> I can live with that, even if I'm surprised by this perspective that 
> others
> take. How can we, in reviews, tell people to make sure arguments are
> evaluated only once, when then we deliberately do otherwise in a case 
> like
> the one here? The criteria of "not likely to be used in cases that have
> side effects" is an extremely fuzzy and sufficiently weak one, imo. I 
> for
> one am even worried about the uses in MASK_EXTR() / MASK_INSR(), and 
> would
> have considered introducing single-evaluation forms there as well.
> 
>> If so, can we go ahead and commit the original patches?
> 
> Well, the renaming needs to be done there anyway.
> 

I can do the renaming if you don't feel particularly safe doing it on 
commit. I already modified my local version to do experiments with 
single evaluation anyway.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:28:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638574.995273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jX2-00013C-HL; Wed, 22 Nov 2023 09:28:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638574.995273; Wed, 22 Nov 2023 09:28: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 1r5jX2-000133-EO; Wed, 22 Nov 2023 09:28:28 +0000
Received: by outflank-mailman (input) for mailman id 638574;
 Wed, 22 Nov 2023 09:28: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5jX1-000110-5W
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:28:27 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2088.outbound.protection.outlook.com [40.107.7.88])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7cbcc626-8919-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 10:28:25 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7638.eurprd04.prod.outlook.com (2603:10a6:20b:291::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Wed, 22 Nov
 2023 09:27:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 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: 7cbcc626-8919-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gZaFY7qPMxhkfAss7Xk+uk7tBYSXnU7W5a0N8cGlrnRHezBF4VW/CZ2Wtbh79x5YApoIxfkq3q9foxaDQXQUC+YoI4kiWzSb54jHfsuxhSr6lR2x/bSAzUCQtY2Z53R9DtIiTuh3/989KX1gyHCa49tm21jb+P8/cTBmbFScncsx8NZaJpfidBnV0hxq/vN36FKpG2OmLXFrqjpBQpSZ4EqYe95Px2goPN8eeq8GrTBhJwrP5N72cpcZDcOsHZcJKdMaGn6qbm6YcywfCpsoe9VBRFCUpnAqqa6VXOPzzc+DG7WLxaGjbuYzIo4eMUurXfbWF6yz37vjrUHeFmpdKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0W5NzzdO2jdWmXCM0q4ifQDJzK+iugxnr0gkDesol8o=;
 b=YTqRXVqQEouZIvsdRaeKIiFtuYaXGBu/eO3bUEUU3FocQVM6FTFD7yEEiwQc7lHFF1UmeEBWTaDPMoJp6KhxfEO8aAI0zc7pAj9Pyi2yvYYcD6N2Wx4n8TZmAebF8tuXUSckTz0El3X7T5Y5G4DxgZfVVlrPnRcnb8hBYUifPd4ynx5fq1sltWOoMsYxrGLr/kYEOC+x7djx3ZZT13C7S8MEpt+SlHWdmb6Fzj9PLf2ZAEOk1b/0iPDq9RlkuZbf66/5yDYAOnvGg2hdzDqFKvYmkRaBsUAOM2uKmisKbB06drDvTKigzt75SIpMcqj2FhD7yUbSt4zzee3qAHyPZg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=0W5NzzdO2jdWmXCM0q4ifQDJzK+iugxnr0gkDesol8o=;
 b=5CKBrIC8kz2kphcBGgztXZLj276e9LrrTCzNutdfwjukMcIbvvlkUy+RRUyRuq/dTA+CWxoUme9XKY21szOD1wuzkvDSayZZVkCMHCgzDylr0zh9yu+mWXDjLjuxMtfARVvmX+uBB3bY9UjsEftLrUjgZH18GzPJZnQHA4mxkYNFOxDfPbj88Ovhu0PH8EhHICDbHAe5zH+zdbL66jymU2VHyETl8zpetPOijOrXogauKFReONQ9xMvy4V0Yjoayz4Y82W8AdR1f4iXoelh83h/Wy+b9aYFear36uJtDPFFEMeqZmiKCblJ9hSRLRzpJ7BzZo82uH2HPZO2uzpIQrA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d4c54e6b-baf2-4141-890c-7b62462971d9@suse.com>
Date: Wed, 22 Nov 2023 10:27:54 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86/efi: Simplify efi_arch_handle_cmdline()
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-4-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231121201540.1528161-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0122.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7638:EE_
X-MS-Office365-Filtering-Correlation-Id: 48e2240c-c3d4-48be-ca66-08dbeb3d4f4d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TG+i4aON94bYjMz9jQMN6vJedPdmXcjoGctkCAKzrj6NaBwurnrBFE0kYj5wDdB5BIRMUVSJcMyZAdeZ8KKo72y2gTo3mx0/PfPUBoK8q2PTr0B2X9KBZwRwA1rGjI2PVZEATP92gVuhcsoUIH36vL8qGCTPytNByBUt1jq5+wtqJbEn84foyHSKGhOStZz6XI0m9EbbRLi3P1/RoH0KeaWqnInG7Ip6pax8bV9iD0y64ExS0pon0DoXTLHJjXNyJwZQupHtMnhh567OBj6TijE3dFX+ObpZ9C+cnUmdlVB3CK9E+wiQhYSVIJQ2QynwkJYsxTw7gtzLeN/asVPEvE2C0Hn3QxInqMMBQ/mnU2lCZZGqnEKtzcgsBru3zPhtiVIYnIxkZdL4/gqBY6A0BBInepMO2EEWo/2yLsIsBaGWEjXHfggi3dIhNrcfcMuWpnz8IRI94x6JvWO8pMPaUioJnnpdJTJWy+XBMkE9pcQHGqtHZsBzYSBQs3XzyWXD8bMrXbXZ26DQLJV5ikS+44CJtoBlmX9z4YttE2PlWb+fUPOmC1N972UYsdOLHQRgkj6srTJXDoEo/co9Si1QWvq83daqoqEmWTs+jSEXM55BQpmkW671kXgmB8W7NNoLSQggARpTyWb+eHraNiIYxQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(366004)(376002)(396003)(39860400002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(38100700002)(2616005)(83380400001)(26005)(6512007)(6506007)(6486002)(53546011)(478600001)(66556008)(31686004)(66476007)(54906003)(66946007)(316002)(6916009)(8936002)(8676002)(4326008)(5660300002)(2906002)(31696002)(86362001)(7416002)(41300700001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d2QvNkVPMTJDS3BYSmRtRm9vd0Z2TEdDUWZnZWtxelRZM1hSUnFLeHZHR1Zk?=
 =?utf-8?B?NzA1OXByWFZvUDhZOGdUQTBqbWszV2NUN0dyZzF1RVpDelZ5eW9UQVBNZnBE?=
 =?utf-8?B?Z1lRRDMyTlN3Y052bzN5bVRWc1BGZndnNTdQSk0vZGhzVGExTWhoYUQvQUpP?=
 =?utf-8?B?WDJGTUJqWU9PY1d4VXVBNjZ0NWIrTU9abFJ4dFpnbDAvakVvaG83WXEvMVJI?=
 =?utf-8?B?NUJVWnUrTDBTWkJaUVVTRkdacjdVK01PeWYvbzhEZXZsMjdFMG5WcFV4bkJk?=
 =?utf-8?B?QVc5NDVleDIrdTByN294Y1l4OVVqeS9UTlcvUEd6TytHdW9WeElLeUxrTEFF?=
 =?utf-8?B?UVNva2tDMmpGMWJ5dGJlMU9VMk9FV3Q4T3RPSlI2Q0F2VXlzMHNxdUxWOGht?=
 =?utf-8?B?ZWNDUkxiR3B4eHlqRXdFc3F0bkxSQXAwcE5aUWswR29uTTZRaWI2ZzkxdVhD?=
 =?utf-8?B?QXQ1ZEZzVGdwdDFoMkF3UWI5OHJjVkMrQUIya25WUklkNTdTOG90NVIvNEZI?=
 =?utf-8?B?YzhDLzZJZVhsaTU1b0tOUUFkOVFMZW1MMXNBOVNQZ2hhREFpSXRpQUp3cEZr?=
 =?utf-8?B?dVJraTR4THVJM29FVlVDdHFyR2NueHEwa1JmRUpYUEdNMkk1SForaEk0eE9t?=
 =?utf-8?B?ODNxUnF2d1h2M2s1MXdaVDBodjVVZjVHcGtMeDl0ekdWNmt2MUg5UW9ROU5v?=
 =?utf-8?B?WlhXSHIzUTFyVGpYVVpWV2F3RFVTcnQzRlhkWXBGZ3UwcGs2ZWErYTAyb1Rk?=
 =?utf-8?B?dXpKRUlDbE1QQVBUWkpLWVdwbmVjSzEyUzBNbGM4c0I1ajQxTGltSEtXRm9h?=
 =?utf-8?B?U0djZkZpNE5iaEttaC9XZzFIY2gxR1FGSVlIWFIxcUsxRktDVUMzV3A2R0dt?=
 =?utf-8?B?MXRDdVN6VUo1enlUN1dPUjRXbDdMdWdkYTdheTJzYWtZTlZwa3hDTWUyQXcr?=
 =?utf-8?B?VmFmNWk1aWhKamRKdGFQWVRwVGdxQnVtSzVoQk83YW1HZkJlU0lTaEMvWXhJ?=
 =?utf-8?B?MUcvbmxxRlRRcEo5QzUwd0QyaU93b2xGOTlmK0lmaXpONSt3R3lMY3ZQeG43?=
 =?utf-8?B?RUJtSS81T3gvNk5wSnUyWTNTd0VvT0lTYVc5ZkJyRWdxaHMraytiQ3hRVHdx?=
 =?utf-8?B?dHA2MXRETm42RmlDS042ZTB2RnczUklRNG02OTBsNjZnaUgyRDVGT3FZNUVW?=
 =?utf-8?B?dGM4ajZxb2NPR2w0MktqdTd5S1I4QVM4cEJJdk50R2R4Ym5ZNnk2aVZlNzM3?=
 =?utf-8?B?cC9CREtaNm1jdGx2bUcyWTNFM2lMNnRyaDFEa25abFRRSFQwMURpTFhmeEJ1?=
 =?utf-8?B?VndsdFhpQU5hRkxnV2Juak1oekw1U28xdU5OQjBkMnBFU0UybHFhQmJXM0Ur?=
 =?utf-8?B?ZU0wb1I4TUNUV1QrYjNhc3VEY1M0NHVsWnd6UTdJSXV0cGUzbDJnWk5ZVnhI?=
 =?utf-8?B?Z2lYRkFhZVJUZHZuOXoyTUp6WXBocnpESXRBbnk1WE4ybVhzVGtkSWl3TmM4?=
 =?utf-8?B?anZVK2xUdkxBU0hxb09Va0ZVUnlFbnBmblRCTTNYYVhqMktTWk16VzhYQy9M?=
 =?utf-8?B?b3FrRmMzOUtYTzdOQkY4M0h6cXR4ZWtRYmNYRVIrR3FMa29od2VKRDZqQngv?=
 =?utf-8?B?WTJmYldWWGRLNm5CY1Y2UFd1REtrY1dSQTFoS1doSXFNMlF1d2J1UndmSmRI?=
 =?utf-8?B?Um5reFRzS0c5amo0VnNzNExvaTRRb1FPUmQwa0VWa1Bjd0JkYStCZ2V2bytx?=
 =?utf-8?B?VzQ3amlmQVRuMThvQWtuSEJMWm1meDd2T2xjbHROcStkdis2UEtvY05kNzd4?=
 =?utf-8?B?MnZKVWRLM1oxRnVraC91bTdGeTJ3RTFnUkFOV08zYU5uV1FENlFuMC9OWEtr?=
 =?utf-8?B?Zmw5N29FRGpKbHFiY3hOVGU5SHVpZDEyUG0rcE1BWEpTV3FlbzJPS2haRkt5?=
 =?utf-8?B?TU55dGJCSEtrQ2U0ZC9tVmdvK1J0TWdDRGRzRmtPMFNTVWFFMHp6VDZBQmZu?=
 =?utf-8?B?MUF5eU9WQWlKRW00bUIzeUpoNENTMFgwUFdLenBjeVRTUWRBZno1ZkhWQURV?=
 =?utf-8?B?MmNwUCs0dEhuYVlTTTlGU0tVUytBWWdvaHg2Z2s3NnB1NlFvREM4VzBlYXNP?=
 =?utf-8?Q?lYLOjZNRJQuq2jz8NJWtueIZ8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 48e2240c-c3d4-48be-ca66-08dbeb3d4f4d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 09:27:56.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: iFMhObpSGxEADo7jx39uTorktW9dGy33NvpgEYAIGbdiy0JgkQMTdo5eQT2j8ZdvopVJf2uAfnL4njzgwlAmBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7638

On 21.11.2023 21:15, Andrew Cooper wrote:
> -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but all
> this work is useless; it's making a memory allocation just to prepend the
> image name which cmdline_cook() intentionally strips back out.
> 
> Simply forgo the work and identify EFI_LOADER as one of the loaders which
> doesn't prepend the image name.
> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
with one nit:

> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -850,8 +850,11 @@ static const char *__init cmdline_cook(const char *p, const char *loader_name)
>      while ( *p == ' ' )
>          p++;
>  
> -    /* GRUB2 and PVH don't not include image name as first item on command line. */
> -    if ( xen_guest || loader_is_grub2(loader_name) )
> +    /*
> +     * PVH, our EFI loader, and GRUB2 don't not include image name as first

Just "don't", or "do not"? (I realize it was this way before, but perhaps a
good chance to tidy.)

Jan

> +     * item on command line.
> +     */
> +    if ( xen_guest || efi_enabled(EFI_LOADER) || loader_is_grub2(loader_name) )
>          return p;
>  
>      /* Strip image name plus whitespace. */



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:34:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:34:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638578.995283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jd6-0003v7-7M; Wed, 22 Nov 2023 09:34:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638578.995283; Wed, 22 Nov 2023 09: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 1r5jd6-0003v0-42; Wed, 22 Nov 2023 09:34:44 +0000
Received: by outflank-mailman (input) for mailman id 638578;
 Wed, 22 Nov 2023 09:34: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5jd4-0003uu-MD
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:34:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5c24f9cd-891a-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 10:34:40 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9705.eurprd04.prod.outlook.com (2603:10a6:102:24b::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Wed, 22 Nov
 2023 09:34:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 09: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: 5c24f9cd-891a-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FTwGx12AVJmwU2EZ7YpVg2AabBNxd+EVDWEcDnMN/bRps2GV5Y4NKJRmrHbII8ywCBnDo0KL7pbujLb0ASsVjQl30+1Erf+2TDsb4F50xIIR+L/Xp57YHyxzctqdGgD2q0bKvPCpjZWVMAtusI+zOLuqJmI02rOFo1mZyru+QT6pQCYNPa3Q7DrsBiE87VqDdRkQDjO23G7Fmf0EGoIpUE3Ea4PCg2KUDZMSkXraLHp4TVmNuyg+md5z5YxfwOEHw1u7vpx5gq4MWsRwlwZB6LIi49hP75xnCqtwT9gHlnz3/FQiu408cLXl4tgvp24uoicrX+eXTgknr0MVTrSVew==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=J4fK8ycZr52LDtg5ZMoF9ysbb6U2RTCw4jSs7GlOUy4=;
 b=USMqxUnzjxpesICIIsnkEg4LGYBanMJi103QYtumjuEG2PUoEgHIjBBmQx9mrTm21wVEcgRjo4HzQwMGgRNXnm5mxqD6tnAynftbXXJ+DdsYdr9xLejayau6cqf70yHv7fu6yvsWeJPB/rwFhXuX3qSgiQsjHgdQQEREIR1MjSf14zgaSPwKj9mw/s22dlyFvKwKtxw2p/CzPzXigvCq99zMFVt37ncwJwTJLQOzBaDIUnpmDJ0auAwbbF3C8Q9uyEabdpx4yM4L4F/ab2QWcA3xY1f7bjaboT+VsgORiMTU3pcaw3zYe5QxDnlqqnaG3OzZwovwjgFRlMtXzYWGCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=J4fK8ycZr52LDtg5ZMoF9ysbb6U2RTCw4jSs7GlOUy4=;
 b=Vx+1BifykEelaiN/Nz+/gj6J31Fre01I1PjieaYzf/GZWf6qcwqZ3eXnH9UtiGwCykmJsBIF6gyTT70nWB8IJm4xswMOSh0eynT9KIfAqSOFlKDPrUg5VyZM1owoOwdtI5O5fWTy0WGje4nxKzj6WztFGU/ocsNXDhZeAxDC/U/zc7ER81iilmCGaZKo9gsxCrPMpQREDm9kGaLnb40DK9GJOBD5bOpLcvffJpJPI0yZ4l4e5okMjS9QZ6n9Ry5tmNRXAZnGKV1G2IOTFn9NTeuygkI9vpGO6gIC7zXHM9QxS6Sm/kQh5jnS6xUqE6rc0IH5PL3fc/1DXBliSSDiSQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2a0f2f07-5d4c-438c-a333-336288206a61@suse.com>
Date: Wed, 22 Nov 2023 10:34:35 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86/HVM: introduce hvm_point_entry()
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: 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: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <9810305d-4b36-4e23-b807-a7a00f0ba6b6@suse.com>
 <8573291e-9c0b-4be0-a633-05906026c7b6@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8573291e-9c0b-4be0-a633-05906026c7b6@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0129.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9705:EE_
X-MS-Office365-Filtering-Correlation-Id: 120f403f-c293-41d6-cb82-08dbeb3e3e64
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MT9uIBOzrYa8PVlqbcV2H3cwdsgIYjQX108fGpLYN895hCTDu7r1ohqQf5fJ0WxPIG5OZANQNfklBX/ncLWoeXpm9L/KmhtpQooYpHiJHNwXHEEKkC+je1lAldfYQNGEZSqBtbXqew90Vfj3P2EYiApG0wNt9xsEmMqGqnYOMshl0MjSrxQwPzJyU2FbZy6Z+atMCFSW2IW5v9C6n49unl+d5R8ckmjQ6Q7htOOzssXUtjs8T+wP2wfM8Q/tK2lw1IN+Pk59OPjxt7TDijcHmf5AWMq53JNVhexV0+nOwvNX7j4L3gni/U4XooZMTmFdHBAVHr8V0NJ8FDp1FTlLY6FKVgABctPYr0v2vHJbL5N24XZVS4kr8sFG0Kz5TibwTBAuu0uAgmK8PMBso+Nye2J3mC1VJRz7nrv2gBsioLcWy34BjiH5fwd6tcy89j9eX7mOI3aFBq3/ohsJL1bllyAkjRxMd9bxZZ00UL5ySSBjEds04v1Z7MTxd2cdYdc7UazJA9i6hN7uB6XKgsTBZ+liIxn5nWeWkOyjTbVuZuRXvc1hSpKV9BvXEdQDJC3c7z2zFHhRfk8aq7eBmhCkgkqQ9MoTOJC70DnpRtOe2HCrDkDIMYC14Edz8Pule9bIs8P4XGqNaMZ5EW2v4mLBr+tyAmKWLTxbq3T1sPeyBHy2Hk7wwdrOwZ3gOq4h0iztXtR70unpTdUd1bybUaUWYg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(396003)(39860400002)(346002)(136003)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(66899024)(316002)(54906003)(66556008)(6916009)(66476007)(36756003)(6506007)(53546011)(2616005)(6486002)(478600001)(26005)(6512007)(38100700002)(83380400001)(31696002)(66946007)(86362001)(5660300002)(2906002)(31686004)(8936002)(41300700001)(8676002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TFRDQUtaUVdTOUJkS3YxUEVoZzRGZTlnR3hrckg1SlJ4MitHZUFtdFJFSnhz?=
 =?utf-8?B?VGx6cDVQWmQyNmIrWnMxWUpOc01SMWY5MEgvUVlacUJMNjc4aXFBVUNZcUtJ?=
 =?utf-8?B?aVRYQ2hHS1FkMmMvYXh6MGlHbFlTazVaaFNuTTRtS21POFB5Q2tOMElKMnlq?=
 =?utf-8?B?cnJKeDMvMHpmaVpRYlBsbTF6OWdkdnExSTE5QStFY3ZGcHpLVlp1UXNYcUNG?=
 =?utf-8?B?TThJQmFqa2hFWldDalc2VjZJcWlWb3VlTzRDdU1Rd2czbENyTk10U0dwOENm?=
 =?utf-8?B?WjMrKzgzRUxKOS9jYVVvTFdxcWZ5NUp4UmFMdTR5VFU4ZUxQYUYrTUxtZHU3?=
 =?utf-8?B?NFJ2TEYvRUZLckhnaVA4aS84OXdQN2JjTTNVQ3RNQlJSckh2aWxNWHZJMXdM?=
 =?utf-8?B?Mk9WZ0IwR2dBZTlJOVhhQklkYS9jRjd5ZnR6ZXlMQUdMVVZBRUhNWVk2dVIr?=
 =?utf-8?B?YTlhVjA3WjZaOUhXSEJuZGZ0NkVMYmdUUWJTMFdENEVqV0szbEtWSzQxSVRy?=
 =?utf-8?B?eUFtaUozZlByaXZycmFmMkFad3lmNXd6RVZkYlVaWWVIRXI0SDNDbjVDU3Jk?=
 =?utf-8?B?NWRpSlJYY3pmSXhiMDgxbkZlZ0J2bWppVWtEMktvY1Z1MkhzdjFaL1dWMFBo?=
 =?utf-8?B?dDRjYktEcXlhYkhNVXNISzlpZHlGVmpPL2NtbUhqYzlSaGhTMWNhaUw0NUhX?=
 =?utf-8?B?NUdiQ3VIaVhwUHVtMjBEMlVMZ0E0WXpaQ0ZSdHEwaDJlRHFIYml4TTRnNitp?=
 =?utf-8?B?SURSV21WN3lFQ1hnRjVPSVRrcjdpU1JBdVFEVWFuQm4rdmswYXJHTzJwQ1Uz?=
 =?utf-8?B?dE1zdlM1bElFbGJzSlRhQ0c4QmZnZ3oyTys4bXpmemQvdXNEWFJpZ051NkJ6?=
 =?utf-8?B?OEVRTkp1UjBEUGdpVkw1dms4S05YaVNnYVZpZ016RUFYdVFITjl1TE1rMUFz?=
 =?utf-8?B?QkQrbVhUazlBUUljTENxanpseTJMbHp2WVdpSHpjbndBN0plYU5vQW5WQ0E1?=
 =?utf-8?B?eUdZNHhiNkFhUUFCblAxaW5ycm1STVpkSGxQR0xmOTJ4WVlmUDlZN3JuNzJj?=
 =?utf-8?B?OFJhQnBqVFpoeG5NTjNNYU1DMFN6MTRyODRWRGJkb2Y2SG5zVW5IWWxnSEpj?=
 =?utf-8?B?OXEwUEd0OVJBZjY0cVRtNXVPYnZaT2xUalpXWExTaDRTaitlOHBCOHZ5alF5?=
 =?utf-8?B?STJqU015ZWh0d1RUSEhrbGh1b2w2T0dxWXhBN3BYeUdlbkRyYnNIQ1p6UFNz?=
 =?utf-8?B?OVRmdFhuT2xNYnpCVzZNdmR1UzRlcUpic24ramtpbHVwMHlaZStzVW5pNVAv?=
 =?utf-8?B?ako4Rk01MFFSMVlCQzBaNm5ZNGdUV3NlcFdNT3ZwWjROT3QzR2JJQXphamwy?=
 =?utf-8?B?MitoV3pBR0pwaFNxQWY2Q2puVDdOMHNSV0FqNU5HdldldWdkUGpHbS9jVm9H?=
 =?utf-8?B?OVRSQXJVTnI5dVhOenhLZFFpeSt4YlY3SlVLSDduWXpUb25RYURvQkQ1NzFv?=
 =?utf-8?B?a3FURXQxb2ttSEZoUFZzSEtERnJ6NE9KNXBYVnVod0pRdUNNWWc1ekg3cUln?=
 =?utf-8?B?b2tLcjRMWlh2NEtLNDBPb1ZkOHJXb0s1cCtUbkRHUWQxb3BJVlpncU13MDBx?=
 =?utf-8?B?OElodVBQUlJYbHV6Mzdoem9ZL1NIRURnT3FYcVlHYWJmTFI5TWFhRkZvdGRZ?=
 =?utf-8?B?TFNnRmFxOTJVUStzY2MrQzBTT2NnVWdMOXdEN2R5ZE9BOUlEY2Nsalo3Q2di?=
 =?utf-8?B?d0d0a0p2cTJBa1hXNnMzYzAyU05zNEt3QmMyekNxUWhXcDZqUjU0UkRyYXRj?=
 =?utf-8?B?cjJSV0ZGc2VMOXlVNEY1aXhCeW1pM3c2VDhuQnMycGRpQW80WGk1UlZ4Vzlp?=
 =?utf-8?B?eGkyQ1VHWlZXMGZJeFYrQ0lqN1NYa3pkY0IrM1hOWDVLQUMxQ1Erclh5c0Vz?=
 =?utf-8?B?ZEZ3eUlnNTRCcnFDS2RsWlZjNGlQZjVud0VOTDFFdXZ0VVJ0bGtqeHlJZC9v?=
 =?utf-8?B?VitTcHRlVWVPWGxoRHlpaUMvRnhaL0FMdUJwdXl0S0VNSXNzYmc4SXdGSHlx?=
 =?utf-8?B?a3lYb2U5bFpBRXVqUzVheml1T3hmaW9yeGhOSjhoMG5pcW5UV1ZCTUlyWjlS?=
 =?utf-8?Q?sz/JMG7e7Hpgz5TCwhhpOVWSC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 120f403f-c293-41d6-cb82-08dbeb3e3e64
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 09:34:37.1370
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: dZ3AKA0lollzFEjFXDqpF6Lt1XB5Z95YIr+b832q8ActglYSCF1jWZrRaXxYH9+P+zXdEOJlIHi4j1d0aO2cCA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9705

On 21.11.2023 22:30, Andrew Cooper wrote:
> On 16/11/2023 1:46 pm, Jan Beulich wrote:
>> ... to accompany hvm_read_entry() when actual copying isn't desirable.
>> This allows to remove open-coded stream accesses from hpet_load(),
>> along with using the helper in hvm_load() itself.
>>
>> Since arch_hvm_load()'s declaration would need changing, and since the
>> function is not used from elsewhere, purge the declaration. With that it
>> makes little sense to keep arch_hvm_save()'s around; convert that
>> function to static then at the same time.
>>
>> In hpet_load() simplify the specific case of error return that's in
>> context anyway: There's no need to hold the lock when only updating a
>> local variable.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

> I really do hate all of this logic and most of it wants to live in
> userspace, but this an improvement.
> 
> The only thing I'm a little concerned with is the name. 
> hvm_read_entry() clearly consumes an entry, while hvm_point_entry()
> does, but doesn't obviously convey this at a glance.
> 
> Ideally I'd say that hvm_{get,copy}_entry() would be better nomeclature,
> as both have at least a vague implication of unmarshalling and one
> clearly is making a separate copy.

I'm fine renaming the new one to hvm_get_entry(). For the existing one,
"copy" may be marginally better than "read" / "load", but then it doesn't
indicate direction (i.e. somewhat collides with hvm_{write,load}_entry()).
So I'd want to leave those as they are.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:51:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:51:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638586.995316 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jte-0002kx-80; Wed, 22 Nov 2023 09:51:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638586.995316; Wed, 22 Nov 2023 09:51: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 1r5jte-0002kq-5I; Wed, 22 Nov 2023 09:51:50 +0000
Received: by outflank-mailman (input) for mailman id 638586;
 Wed, 22 Nov 2023 09:51: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=vowI=HD=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r5jtc-0002Gw-TK
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:51:48 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c0c47e92-891c-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 10:51:48 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.203.136])
 by support.bugseng.com (Postfix) with ESMTPSA id 820B74EE0C92;
 Wed, 22 Nov 2023 10:51:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c0c47e92-891c-11ee-98e1-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH v4 2/2] xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
Date: Wed, 22 Nov 2023 10:51:29 +0100
Message-Id: <9a73c479f3a9b2a3f796f8f65de3b3feb735c56d.1700645120.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700645120.git.federico.serafini@bugseng.com>
References: <cover.1700645120.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names and uniform the interfaces of
modify_xen_mappings() and modify_xen_mappings_lite().

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
This patch depends on patch 1/2 of the same series.
---
 xen/arch/arm/mmu/pt.c   |  4 ++--
 xen/arch/ppc/mm-radix.c |  2 +-
 xen/arch/x86/mm.c       |  4 ++--
 xen/include/xen/mm.h    | 16 +++++++++-------
 4 files changed, 14 insertions(+), 12 deletions(-)

diff --git a/xen/arch/arm/mmu/pt.c b/xen/arch/arm/mmu/pt.c
index e6fc5ed45a..a7755728ae 100644
--- a/xen/arch/arm/mmu/pt.c
+++ b/xen/arch/arm/mmu/pt.c
@@ -718,12 +718,12 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
     return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, 0);
 }
 
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags)
+int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf)
 {
     ASSERT(IS_ALIGNED(s, PAGE_SIZE));
     ASSERT(IS_ALIGNED(e, PAGE_SIZE));
     ASSERT(s <= e);
-    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, flags);
+    return xen_pt_update(s, INVALID_MFN, (e - s) >> PAGE_SHIFT, nf);
 }
 
 /*
diff --git a/xen/arch/ppc/mm-radix.c b/xen/arch/ppc/mm-radix.c
index 11d0f27b60..daa411a6fa 100644
--- a/xen/arch/ppc/mm-radix.c
+++ b/xen/arch/ppc/mm-radix.c
@@ -271,7 +271,7 @@ void __init setup_initial_pagetables(void)
  */
 unsigned long __read_mostly frametable_base_pdx;
 
-void put_page(struct page_info *p)
+void put_page(struct page_info *page)
 {
     BUG_ON("unimplemented");
 }
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 42c957c40e..0a66db10b9 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5901,14 +5901,14 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
  * a problem.
  */
 void init_or_livepatch modify_xen_mappings_lite(
-    unsigned long s, unsigned long e, unsigned int _nf)
+    unsigned long s, unsigned long e, unsigned int nf)
 {
     unsigned long v = s, fm, flags;
 
     /* Set of valid PTE bits which may be altered. */
 #define FLAGS_MASK (_PAGE_NX|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW|_PAGE_PRESENT)
     fm = put_pte_flags(FLAGS_MASK);
-    flags = put_pte_flags(_nf & FLAGS_MASK);
+    flags = put_pte_flags(nf & FLAGS_MASK);
 #undef FLAGS_MASK
 
     ASSERT(flags & _PAGE_PRESENT);
diff --git a/xen/include/xen/mm.h b/xen/include/xen/mm.h
index 8b9618609f..d0682c9da5 100644
--- a/xen/include/xen/mm.h
+++ b/xen/include/xen/mm.h
@@ -71,9 +71,10 @@
 
 struct page_info;
 
-void put_page(struct page_info *);
-bool __must_check get_page(struct page_info *, const struct domain *);
-struct domain *__must_check page_get_owner_and_reference(struct page_info *);
+void put_page(struct page_info *page);
+bool __must_check get_page(struct page_info *page,
+                           const struct domain *domain);
+struct domain *__must_check page_get_owner_and_reference(struct page_info *page);
 
 /* Boot-time allocator. Turns into generic allocator after bootstrap. */
 void init_boot_pages(paddr_t ps, paddr_t pe);
@@ -110,8 +111,9 @@ int map_pages_to_xen(
     unsigned long nr_mfns,
     unsigned int flags);
 /* Alter the permissions of a range of Xen virtual address space. */
-int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int flags);
-void modify_xen_mappings_lite(unsigned long s, unsigned long e, unsigned int flags);
+int modify_xen_mappings(unsigned long s, unsigned long e, unsigned int nf);
+void modify_xen_mappings_lite(unsigned long s, unsigned long e,
+                              unsigned int nf);
 int destroy_xen_mappings(unsigned long s, unsigned long e);
 /* Retrieve the MFN mapped by VA in Xen virtual address space. */
 mfn_t xen_map_to_mfn(unsigned long va);
@@ -135,7 +137,7 @@ void free_domheap_pages(struct page_info *pg, unsigned int order);
 unsigned long avail_domheap_pages_region(
     unsigned int node, unsigned int min_width, unsigned int max_width);
 unsigned long avail_domheap_pages(void);
-unsigned long avail_node_heap_pages(unsigned int);
+unsigned long avail_node_heap_pages(unsigned int nodeid);
 #define alloc_domheap_page(d,f) (alloc_domheap_pages(d,0,f))
 #define free_domheap_page(p)  (free_domheap_pages(p,0))
 unsigned int online_page(mfn_t mfn, uint32_t *status);
@@ -528,7 +530,7 @@ static inline unsigned int get_order_from_pages(unsigned long nr_pages)
     return order;
 }
 
-void scrub_one_page(struct page_info *);
+void scrub_one_page(struct page_info *pg);
 
 #ifndef arch_free_heap_page
 #define arch_free_heap_page(d, pg) \
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:51:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:51:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638585.995306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jtd-0002Vx-26; Wed, 22 Nov 2023 09:51:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638585.995306; Wed, 22 Nov 2023 09:51: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 1r5jtc-0002Vm-U9; Wed, 22 Nov 2023 09:51:48 +0000
Received: by outflank-mailman (input) for mailman id 638585;
 Wed, 22 Nov 2023 09: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=vowI=HD=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r5jtb-0002Gw-T8
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:51:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bfbc5062-891c-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 10:51:46 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.203.136])
 by support.bugseng.com (Postfix) with ESMTPSA id 95A834EE0C91;
 Wed, 22 Nov 2023 10:51:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bfbc5062-891c-11ee-98e1-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 1/2] x86/mm: preparation work to uniform modify_xen_mappings* interfaces
Date: Wed, 22 Nov 2023 10:51:28 +0100
Message-Id: <8f318ade9277b316a6f91df3b75a593d662ac586.1700645120.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700645120.git.federico.serafini@bugseng.com>
References: <cover.1700645120.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The objective is to use parameter name "nf" to denote "new flags"
in all the modify_xen_mappings* functions.
Since modify_xen_mappings_lite() is currently using "nf" as identifier
for a local variable, bad things could happen if new uses of such
variable are committed while a renaming patch is waiting for the
approval.
To avoid such danger, as first thing rename the local variable from
"nf" to "flags".

No functional change.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/mm.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 39544bd9f9..42c957c40e 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -5903,15 +5903,15 @@ int destroy_xen_mappings(unsigned long s, unsigned long e)
 void init_or_livepatch modify_xen_mappings_lite(
     unsigned long s, unsigned long e, unsigned int _nf)
 {
-    unsigned long v = s, fm, nf;
+    unsigned long v = s, fm, flags;
 
     /* Set of valid PTE bits which may be altered. */
 #define FLAGS_MASK (_PAGE_NX|_PAGE_DIRTY|_PAGE_ACCESSED|_PAGE_RW|_PAGE_PRESENT)
     fm = put_pte_flags(FLAGS_MASK);
-    nf = put_pte_flags(_nf & FLAGS_MASK);
+    flags = put_pte_flags(_nf & FLAGS_MASK);
 #undef FLAGS_MASK
 
-    ASSERT(nf & _PAGE_PRESENT);
+    ASSERT(flags & _PAGE_PRESENT);
     ASSERT(IS_ALIGNED(s, PAGE_SIZE) && s >= XEN_VIRT_START);
     ASSERT(IS_ALIGNED(e, PAGE_SIZE) && e <= XEN_VIRT_END);
 
@@ -5925,7 +5925,7 @@ void init_or_livepatch modify_xen_mappings_lite(
 
         if ( l2e_get_flags(l2e) & _PAGE_PSE )
         {
-            l2e_write_atomic(pl2e, l2e_from_intpte((l2e.l2 & ~fm) | nf));
+            l2e_write_atomic(pl2e, l2e_from_intpte((l2e.l2 & ~fm) | flags));
 
             v += 1UL << L2_PAGETABLE_SHIFT;
             continue;
@@ -5943,7 +5943,8 @@ void init_or_livepatch modify_xen_mappings_lite(
 
                 ASSERT(l1f & _PAGE_PRESENT);
 
-                l1e_write_atomic(pl1e, l1e_from_intpte((l1e.l1 & ~fm) | nf));
+                l1e_write_atomic(pl1e,
+                                 l1e_from_intpte((l1e.l1 & ~fm) | flags));
 
                 v += 1UL << L1_PAGETABLE_SHIFT;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:51:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:51:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638584.995296 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jtb-0002H9-QX; Wed, 22 Nov 2023 09:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638584.995296; Wed, 22 Nov 2023 09: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 1r5jtb-0002H2-NJ; Wed, 22 Nov 2023 09:51:47 +0000
Received: by outflank-mailman (input) for mailman id 638584;
 Wed, 22 Nov 2023 09: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=vowI=HD=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r5jtb-0002Gw-7U
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:51:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf4c23fa-891c-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 10:51:45 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.203.136])
 by support.bugseng.com (Postfix) with ESMTPSA id C75E14EE073C;
 Wed, 22 Nov 2023 10:51:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf4c23fa-891c-11ee-98e1-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [XEN PATCH v4 0/2] xen/mm: address violatios of MISRA C:2012 Rules 8.2 and 8.3
Date: Wed, 22 Nov 2023 10:51:27 +0100
Message-Id: <cover.1700645120.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Patch 1/2 does some preparation work, hence it needs to be committed as first.
Patch 2/2 is the one that effectively address the violations adding
missing parameter names and uniforming function declarations and definitions.

Federico Serafini (2):
  x86/mm: preparation work to uniform modify_xen_mappings* interfaces
  xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3

 xen/arch/arm/mmu/pt.c   |  4 ++--
 xen/arch/ppc/mm-radix.c |  2 +-
 xen/arch/x86/mm.c       | 13 +++++++------
 xen/include/xen/mm.h    | 16 +++++++++-------
 4 files changed, 19 insertions(+), 16 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:52:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:52:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638593.995325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5juf-0003qN-H5; Wed, 22 Nov 2023 09:52:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638593.995325; Wed, 22 Nov 2023 09:52: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 1r5juf-0003qG-EX; Wed, 22 Nov 2023 09:52:53 +0000
Received: by outflank-mailman (input) for mailman id 638593;
 Wed, 22 Nov 2023 09: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5jud-0003pm-TL
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:52:51 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0612.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e5de0bbc-891c-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 10:52:50 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8258.eurprd04.prod.outlook.com (2603:10a6:20b:3e2::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 09:52:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 09:52: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: e5de0bbc-891c-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XzC35nUyp0S0KJ3S1dZqHH62H1yEUXhILMBFOc8KAtKDiNtZapzWLX5unSFnFffhTYffHuWsJdEFoERTXVitFeyJlIPWO82nkxLVdtvkg8MsrJJT50uZETZEA5gQpmmFsGhvCde0q0B5SjAPHgW3p0eejypLa2cIRialx+eNIQynegMbZIgTfT4JdA35YJUVOY1n374PkwaTeKbG94daY2l9n7VdfWFpb659W0ZAY1h/REWDWmOb++VbesmwmtYcM6mZOrN90IsCVPo0ceF/vKB1WsFLVWhEkJ8X/jAZOQ+lx9J3rmFfa2rvDrGwHs0osSZDGoDfqmXALselmQ4/2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KQ2GRyzhXOwDdQcA+nptB/p5R2IM2RPXxBusJnJs3Uw=;
 b=assm1+ZvmvYv+LHLMhcSExOKHM3AyUD2jHvclLPJ4m4dA9kOg1dIMXyfZwXdvOj6H9bURbR2oEi7lOKg2a5KUOlS/0JwB2csLoupicFX1HI9r/9XSnAsw6BhTLOQ3st9DadG4GBryFA1J2a2fk6ZqrEsHV9i9LM3xZZLsjBX65IBlhajBZy6IWsOacTiYqXi1QZTelScJYIpNcl6+SzlO+86Hv9mU2s2YIXCD8DEj0JSZ0x1Hfr5XP0XjyM4MSXkS2BTxdwihneJBilnsAn2n2T7k7JCv3xZo7Ce86Eitv94CmFzMdbZGl+xDM50VWOryADD6aIGXS7VVwdaRrHC+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=KQ2GRyzhXOwDdQcA+nptB/p5R2IM2RPXxBusJnJs3Uw=;
 b=yP7O8m/jOu3/m/LMSNd2lXqcg9PsqBFkwM5tbaMlECRW+zezu7mPwGSHiEcNStN0t4aCrxCnioBykCmli9EO/rIMppTpyLCRBleFZh74pKwzh8jsc1xhX/Rk31SHDI0UzdyEj2KSd7uz8/7QLzfG/go14kMGdauzq08ubnzR0W2++QJRZrJ4kuw5QzLMGvvZO+q038vBHOKqofurtmVjCHuKUg3Sv7UL5VlYmLdRveU0vP2zITOwsUxAVTnj1glycPJvIuafBBQpYzW1MJcZMgdSQX7zcWZi8Ho0whBST0CtoPjWOxG/C+lKAxdoVpcZQilIfXtIXG1Zt7Z0u7hICQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e9aa3b92-6250-4bae-8770-5afb63a17a39@suse.com>
Date: Wed, 22 Nov 2023 10:52:46 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/5] x86/HVM: split restore state checking from state
 loading
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: 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: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <822a6328-36d3-43e9-9fc4-36d01a6b9ef2@suse.com>
 <62939263-5492-491b-8077-984ab3707800@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <62939263-5492-491b-8077-984ab3707800@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0073.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8258:EE_
X-MS-Office365-Filtering-Correlation-Id: 64527a7e-22c4-4a49-8365-08dbeb40c890
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wtZ10BLedPIgPoZhewNyVAQW5gc8H9QpDuLt/dSeo6A40jCX7ohEuOZEquKL1HKUZ4YCD91NVB/VSieY59KaHX3yDr0FYpSjyLNVFBdVQaxoKuzn1F9e+4LnqdujsmAzXB5ANVKTlRePs+OjlaGAYuAjDmi35nUqkcZOYoS8io0T7EjxVD7GDelb7iJJYL5GYUaYNVUSLIoZh2UbshEKnq3gEG3lqLRklD0iHJ3N0IMeYBZNKLi+c03CseGAuWI5z9q9XiZA9MmyQ3zxo4th1uY9URCPL6nz7+g6wwNyVvR4yDdJskmPglHL6sWaQkYBW1C6fKNrVQr3OVyFiyok3DfTX6RM3LCOKO9W5xNH5zXGsLWtOOXmmoOYurlDpSZQfRFJ1UHDn60veiqhQEPM5d6/WtuzmEcvhqMtx+YqcBiKQhT1uK4e4/wRWNunoRlkrMydSieidydZGitNVgH0daOWsWAhIq9PxLIAWMdynO51FV0Fl818EComO9gz1p2Q9YBa0vgXWuX0Pq530PyYqQCCaRE4mkkJrMug/sJHQMGiDIts5HGjaLa+KLsUzfor+Dz4+v5synvXzCL9hTqjDQWsHWXJB/m2DPTEvTHO/3/1eL4MOr40mTFMv2nQCji1v8ZorN9FFRQ5DGAxdRa2bA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(346002)(396003)(376002)(366004)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(31686004)(2616005)(54906003)(2906002)(31696002)(86362001)(5660300002)(41300700001)(36756003)(38100700002)(4326008)(8936002)(8676002)(316002)(83380400001)(478600001)(6512007)(26005)(6916009)(66556008)(66476007)(66946007)(6506007)(6486002)(53546011)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVdLSjMweU5yTlh5elpNSldwQ3N4WWswWEdBdG1hRklDV0llc2dzWkFCK3Jv?=
 =?utf-8?B?WFdSWENMaUxqMjZCMzVvNFFXWld4TnQ4VEtNY2xjS0pEN0U3d1dGMG9EL1Ez?=
 =?utf-8?B?VFM0OTVwV1BocXRXR0dPdStsUDBXR1gwSG9lL1A2Y2lQUUcwNnpQVk43bmVl?=
 =?utf-8?B?YWNYcWtIYll2MWVnT1ZLK2tsNnNYbmYxL2FuZlVyUkRpeWdVMnJlTzRtUDhz?=
 =?utf-8?B?aS8wUjBTaEgzSGFGeklCSlpSYnNFT0t2UCs2N0VaK3B4N0Q1NjNiWDJqSk1i?=
 =?utf-8?B?Ym5MaWJrcWdTcndJVnE1T1YxK0wyeDc5bkJwVytxK094WWcyOWc2RnVUZEsz?=
 =?utf-8?B?OXc1Y2U4Z0U0bnNoMnh1MzRtQVdFSjduemV2MW10M0NSSjZ3RDEwaUNiYkF6?=
 =?utf-8?B?VlpIMFV5dDgzVGdWSUFYcUpIUVA5VCtBeWxTM0U0UXdKWDNuSVZjMmVVcWtq?=
 =?utf-8?B?VG0yOXdVNUswb0k2azVydmNFNWtUTmFYTXlNeVJ4a2RhajErSDhDeVc5dFRD?=
 =?utf-8?B?YzUxNDdmNUxKOWtHcGQ2Tm5BOElSTWVKMURaN0NPRjYxVUs4SkVhUlpDMHZj?=
 =?utf-8?B?Q0tERzZIeHNKYUZmb3FzeW1jZExrcStHM1F4ck91NU9weXR1R3lhYU9Tcnlu?=
 =?utf-8?B?U250aytlTXJUcFFWcGtlYys0MU9NUzJNVUhPV2lPcDJLUzVtQzlIdHhNZy9R?=
 =?utf-8?B?MHczQTgzNFdWR2JKbExTOCt4VGlla1VmZ1dtOWtxRnhuaENWcmFWOFROdWEx?=
 =?utf-8?B?MlZ5SlhRamQzSjIxOVgrV0VablJ4a1d0YWhwdlAra2ZJWC9pMTVqQk9oYnhZ?=
 =?utf-8?B?cXg3bncvdnJ4eE0vdWRyM2VQUFlJYmxXZkIvTjBtS09Sb3NHQ01JcFBrS3Jw?=
 =?utf-8?B?WHduZVBWUjdjRW10U2xJSVRUTFN2OG0zUDkzeXBFaFpjMzJNQTFQMmdFVlhq?=
 =?utf-8?B?YjBBaHd2L3V3aXRDSzFiRE4rTFFCUE5MWGJURUI1OHNkWnVIOVBqOXJHOTA2?=
 =?utf-8?B?NWE4a1MvUytUME9IZzBONjB2WXJ1Wm1CSFpvZC82alVhV1h3MUhpOWwycEVx?=
 =?utf-8?B?d2FxeFplZEo4am92K1dpczVkUURRK0Y5dEdTTmxDblAxRDg0UlVPa2JmdG8w?=
 =?utf-8?B?Z3ZVQ2MwOGw2cEs5bkdVYWVqR1d1SmRqNWlUZHZVS0J3UlZDbzFZSHZsR25n?=
 =?utf-8?B?TklCSWFDTmV5NkFRZ0x4UThnVWg3ZkxleDVJYmEvS09uRWhubVI3TlgxVE5R?=
 =?utf-8?B?QjJrVldpSHRMVWszZkx4NXA1cnNMVjBaQjZ5bFVZYzhTV29DUzBhVkN3dUgv?=
 =?utf-8?B?S2FSN01qUnVqZW56Zk5ZQ0ZnUkNPOTVwRmt2SlkyRU1PQlh0UmE2aUZFQWo0?=
 =?utf-8?B?aUk0aVVJQVBUYTFKbHlVa0d2aVQvMDhKTi9WRUlPZ3ZpTTN6OVNvT1ZOS3lv?=
 =?utf-8?B?YTVsSk8vTkc3N04rci9oTlI3cGQzUGVTTXFPRkMvakZKc3FFbE9sMk5vRHZi?=
 =?utf-8?B?WWhFWGpPRTEraEVvM3NDRDd3dmtJUnVXY3FjWElzTnZ6WGtiZ1dxTkliOGZY?=
 =?utf-8?B?VklkTmsxd0pwN20zOGhtTXIyRnlIcVZieEp3VHp4RytoNmZkT3p2Nm0zMkZU?=
 =?utf-8?B?cWtKSFVia3R1THBaV2hnaW9iUnYzOWwvRmMrZVY1ZzVYdFkzY0NuM3VHbU1v?=
 =?utf-8?B?RDV0YnlQTmpoZU8vZWV6ZDFlcjRaUUU5bFdMM21VRFA1OU5ERFF2aU81bmpN?=
 =?utf-8?B?N1Q0ZEw1RUVJd05KSTZkRUdvTytXZUNzYk0xdnZuL3lkaXJKb1Y4bTlBSUhV?=
 =?utf-8?B?SEhKU2FpQWxqdmgrY00vUnpvREw0Qk9STGxNOEx6QzloTVNQelpDekQrMXZy?=
 =?utf-8?B?QkJpLyt1UFFBYW50MTYrbE9LR2c1QTk0RE1meE90cUhWOUZjQmZyZk9JVEhC?=
 =?utf-8?B?YkRpRDh5aHBDeEZPaExESEkwNkQ2NkducStNZU5OeHZ2VW1pUHVEbmFMZlgv?=
 =?utf-8?B?ZjRPZHpxcFhKWmNiWEUrMmR1UWVtNkZTUUVwYWtaYXN3bi85VTVkYnZLSDV6?=
 =?utf-8?B?T1FpeGNPRUFiUitLK0M0REpzR1RnZ3RsWWpEd1UxbnhJMXJ0d2VicVRzN0lm?=
 =?utf-8?Q?oOUiltDlHPMLvk0LdGjLvk/0d?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 64527a7e-22c4-4a49-8365-08dbeb40c890
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 09:52:47.9485
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tlfE4+JNq9ZsP/j+Vh880ZCgK9gLuFgzCyA1fuXND4wuq3FG71U/rm6PijFD/krIhAQFwrZAB506em+jBlcGTg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8258

On 21.11.2023 23:08, Andrew Cooper wrote:
> On 16/11/2023 1:46 pm, Jan Beulich wrote:
>> ..., at least as reasonably feasible without making a check hook
>> mandatory (in particular strict vs relaxed/zero-extend length checking
>> can't be done early this way).
>>
>> Note that only one of the two uses of hvm_load() is accompanied with
>> hvm_check(). The other directly consumes hvm_save() output, which ought
>> to be well-formed. This means that while input data related checks don't
>> need repeating in the "load" function when already done by the "check"
>> one (albeit assertions to this effect may be desirable), domain state
>> related checks (e.g. has_xyz(d)) will be required in both places.
>>
>> Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Do we really need all the copying involved in use of _hvm_read_entry()
>> (backing hvm_load_entry()? Zero-extending loads are likely easier to
>> handle that way, but for strict loads all we gain is a reduced risk of
>> unaligned accesses (compared to simply pointing into h->data[]).
> 
> Pointless copying is best avoided, but it would mean that we either need
> to enforce proper alignment within the buffer (hard, but at least it's
> page aligned to start with), or __pack all of the structures so they get
> an alignment of 1.

Ugly, when they're part of the public interface.

> Not that I expect things to break in practice, but UB is UB and in some
> copious free time it might be nice to re-activate the unaligned checking
> in UBSAN on x86.

The C99 standard only ever mentions "alignment appropriate for its type".
I didn't even find any explicit mentioning of UB there. My understanding
is that it's all down to the psABI. That, in turn, allows for unaligned
accesses: "Misaligned data accesses are slower than aligned accesses but
otherwise behave identically. The only exceptions are ..."

>> --- a/xen/arch/x86/hvm/save.c
>> +++ b/xen/arch/x86/hvm/save.c
>> @@ -291,9 +369,8 @@ int hvm_load(struct domain *d, hvm_domai
>>      if ( !hdr )
>>          return -ENODATA;
>>  
>> -    rc = arch_hvm_load(d, hdr);
>> -    if ( rc )
>> -        return rc;
>> +    ASSERT(!arch_hvm_check(d, hdr));
> 
> You're normally the proponent of not having side effects in ASSERT()s
> like this.

The function could be marked pure, if it didn't log a message. I don't
consider this logging a true side effect here. And I truly want the
function call eliminated in release builds (i.e. I wouldn't want this
to become "if() ASSERT_UNREACHABLE();").

> But our caller did this anyway, so why re-assert it here?

One of the callers did, the other (hvm_copy_context_and_params()) didn't
but still ought to meet the assumption.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:54:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:54:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638595.995336 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jvj-0004PF-Rw; Wed, 22 Nov 2023 09:53:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638595.995336; Wed, 22 Nov 2023 09:53: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 1r5jvj-0004P8-P0; Wed, 22 Nov 2023 09:53:59 +0000
Received: by outflank-mailman (input) for mailman id 638595;
 Wed, 22 Nov 2023 09:53: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5jvi-0004Ow-CM
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:53:58 +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 0db8c61f-891d-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 10:53:57 +0100 (CET)
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 97F911F85D;
 Wed, 22 Nov 2023 09:53: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 579FF13461;
 Wed, 22 Nov 2023 09:53:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id dAILFLTPXWVTBQAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 09: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: 0db8c61f-891d-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700646836; 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:autocrypt:autocrypt;
	bh=07bUMxPH1OAXI0i6MAOvEb1USCyIuY6cycdHyNOH740=;
	b=oyRkdWR1VduWJ6QN+ixBio4i+YS/lT8ODN6eT0bNtdRC7l0dN4/2UrIpFwCIDomJP55qK9
	hiL0RIM1zKBQh51xc+Jt9VskVz+Zwwod9xm1Zdy4ZM/BmhHmB/oPLrfos0fdOIflqRufpn
	2qK9PXrg74m2FlQDb6dx0Sjr63Oa44M=
Message-ID: <84234983-f811-4e5a-b01a-0a68f2e73447@suse.com>
Date: Wed, 22 Nov 2023 10:53:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
 <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
 <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Y7LO0NEA0Z7eu901Dfd0C4TV"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.17
X-Spamd-Result: default: False [-0.17 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-1.18)[88.97%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Y7LO0NEA0Z7eu901Dfd0C4TV
Content-Type: multipart/mixed; boundary="------------RMB03lQjWqoDdeODTT4kQxJF";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Message-ID: <84234983-f811-4e5a-b01a-0a68f2e73447@suse.com>
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
 <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
 <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
In-Reply-To: <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>

--------------RMB03lQjWqoDdeODTT4kQxJF
Content-Type: multipart/mixed; boundary="------------JDIri9qCoHAoyLvq8cHFWFv1"

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

T24gMjIuMTEuMjMgMTA6MjEsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMi4xMS4yMDIz
IDA5OjU3LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjIuMTEuMjMgMDk6MzksIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDIyLjExLjIwMjMgMDk6MzEsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IC0tLSAvZGV2L251bGwNCj4+Pj4gKysrIGIvdG9vbHMvcHl0aG9u
Ly5naXRpZ25vcmUNCj4+Pj4gQEAgLTAsMCArMSw0IEBADQo+Pj4+ICtidWlsZC8qDQo+Pj4N
Cj4+PiBBcmUgdGhpcyBhbmQganVzdCBidWlsZC8gYWN0dWFsbHkgZXF1aXZhbGVudD8gTG9v
a2luZyBhdCBvdXIgdG9wLWxldmVsDQo+Pj4gLmdpdGlnbm9yZSwgSSBzZWUgZS5nLiBleHRy
YXMvIGFuZCBpbnN0YWxsLyosIHdoaWNoIEkgd291bGQgZXhwZWN0IHdhbnQNCj4+PiBib3Ro
IHRyZWF0aW5nIHRoZSBzYW1lPyBUaGUgZm9ybSB3aXRoIGEgd2lsZGNhcmQsIHRvIG1lIGF0
IGxlYXN0LA0KPj4+IGRvZXNuJ3Qgb2J2aW91c2x5IGluY2x1ZGUgdGhlIGRpcmVjdG9yeSBp
dHNlbGYgLi4uDQo+Pg0KPj4gVGhlIC5naXRpZ25vcmUgc3BlY2lmaWNhdGlvbiBbMV0gc3Vn
Z2VzdHMgdGhhdCB3ZSBzaG91bGQgdXNlIGJ1aWxkLyAoc2FtZSBmb3INCj4+IHRoZSBuZXcg
ZW50cnkpLCBhcyBvdGhlcndpc2UgZW50cmllcyBpbiBzdWJkaXJlY3RvcmllcyB3b3VsZCBu
b3QgbWF0Y2guDQo+IA0KPiBUaGUgZGVzY3JpcHRpb24gdGhlcmUgb2Ygd2hhdCBhIHRyYWls
aW5nIHNsYXNoIG1lYW5zIGlzbid0IHJlYWxseSBjbGVhci4NCg0KIklmIHRoZXJlIGlzIGEg
c2VwYXJhdG9yIGF0IHRoZSBlbmQgb2YgdGhlIHBhdHRlcm4gdGhlbiB0aGUgcGF0dGVybiB3
aWxsIG9ubHkNCm1hdGNoIGRpcmVjdG9yaWVzLCBvdGhlcndpc2UgdGhlIHBhdHRlcm4gY2Fu
IG1hdGNoIGJvdGggZmlsZXMgYW5kIGRpcmVjdG9yaWVzLiINCg0KIlRoZSBwYXR0ZXJuIGZv
by8gd2lsbCBtYXRjaCBhIGRpcmVjdG9yeSBmb28gYW5kIHBhdGhzIHVuZGVybmVhdGggaXQs
IGJ1dCB3aWxsIA0Kbm90IG1hdGNoIGEgcmVndWxhciBmaWxlIG9yIGEgc3ltYm9saWMgbGlu
ayBmb28iDQoNCj4gTm90aGluZyBpcyBzYWlkIGFib3V0IGFueXRoaW5nIHVuZGVybmVhdGgg
dGhlIHNwZWNpZmllZCBkaXJlY3RvcnkuIEFsc28NCj4gbm90aGluZyBpcyBzYWlkIGFib3V0
IHdoYXQgYSB0cmFpbGluZyAvKiBtZWFucyB0b3dhcmRzIHRoZSBuYW1lZCBkaXJlY3Rvcnku
DQoNCiJUaGUgcGF0dGVybiBmb28vKiwgbWF0Y2hlcyBmb28vdGVzdC5qc29uIChhIHJlZ3Vs
YXIgZmlsZSksIGZvby9iYXIgKGEgDQpkaXJlY3RvcnkpLCBidXQgaXQgZG9lcyBub3QgbWF0
Y2ggZm9vL2Jhci9oZWxsby5jIChhIHJlZ3VsYXIgZmlsZSksIGFzIHRoZSANCmFzdGVyaXNr
IGluIHRoZSBwYXR0ZXJuIGRvZXMgbm90IG1hdGNoIGJhci9oZWxsby5jIHdoaWNoIGhhcyBh
IHNsYXNoIGluIGl0LiINCg0KPiBXaGF0IF9pc18gc2FpZCBpcyB0aGF0IGFsbCB0aGUgbmV3
IGVudHJpZXMgaGVyZSBzaG91bGQgc3RhcnQgd2l0aCBhIHNsYXNoLA0KPiB0byBhdm9pZCBt
YXRjaGluZyBzaW1pbGFybHkgbmFtZWQgc3ViZGlyZWN0b3JpZXMgZnVydGhlciBpbnRvIHRv
b2xzL3B5dGhvbi8uDQo+IFVubGVzcyBJIG1pc3VuZGVyc3RhbmQgdGhlIGludGVudGlvbiBv
ZiB0aGlzIC5naXRpZ25vcmUgZW50cnkgYW5kIHRoZSBnb2FsDQo+IGlzIHRvIG1hdGNoIGFu
eXdoZXJlIGluIHRoZSBzdWJ0cmVlLg0KDQpZb3UgYXJlIHJpZ2h0LCBJIHNob3VsZCBjaGFu
Z2UgdGhhdC4NCg0KDQpKdWVyZ2VuDQo=
--------------JDIri9qCoHAoyLvq8cHFWFv1
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------JDIri9qCoHAoyLvq8cHFWFv1--

--------------RMB03lQjWqoDdeODTT4kQxJF--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVdz7MFAwAAAAAACgkQsN6d1ii/Ey9R
jQf/Uwn7EpgsGW3iKo14f9rgUc7QnTvE1npd2e9x9oAMsPg1ovNYCSY7ic0YqCiUgEVGS0ZFYAqU
5xrwQLKkOaTiQKvDsoDUMmE5i5XWxB3R39zw73hu5ozpa6TfDeFGdJ8QKM3pdzB+jPhRYz/OyruA
BewT1F36GxwzWNr+NyYOpiyCKkdoFu9Pvj5Il253Ey5XEZ7mpmmrT0eS74iNs+yWyTbyr2JREu0S
LfMJ+o/mVPycj//KK9qq0cr0oSUi+FuWhfAtm9+224zvBymM08cNw1mENbdNzsu55TaVW7HMGGjv
/+0Ehgf76mE8j9layWlX6iPT+/A6Ps1dbanUyHC/IQ==
=fcer
-----END PGP SIGNATURE-----

--------------Y7LO0NEA0Z7eu901Dfd0C4TV--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 09:54:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 09:54:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638598.995345 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5jwK-00050h-7K; Wed, 22 Nov 2023 09:54:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638598.995345; Wed, 22 Nov 2023 09:54: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 1r5jwK-00050a-4N; Wed, 22 Nov 2023 09:54:36 +0000
Received: by outflank-mailman (input) for mailman id 638598;
 Wed, 22 Nov 2023 09:54: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5jwJ-0004Ow-5F
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:54:35 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 22d7f46f-891d-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 10:54:32 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-50aab3bf71fso4863207e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 01:54:32 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 v18-20020a05600c471200b0040a5290dceesm1682007wmo.0.2023.11.22.01.54.31
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 01:54:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 22d7f46f-891d-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700646872; x=1701251672; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=YGTNPiloLMYSvwBHdC680VXhqwNJh/+/+7ciI8lxexA=;
        b=EtB66EIG2/15k2LS3IK4cWcABKI6CqcFD7Me98Oj3HEMQjujProYzhvm4xo4J4UbNB
         A64yPHATGVJiRTNt5n98ameCdSaHTxzcvVFscSTnHpSEs1VYit8/DzRS6rI3eva4S9vb
         GGx3sPISnSaMD+nV1lQEWzazRE1h1ceVkSqHI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700646872; x=1701251672;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YGTNPiloLMYSvwBHdC680VXhqwNJh/+/+7ciI8lxexA=;
        b=AEue9uK/CG5eau0PWJh39K7dyn6StcmaJfmGumxmSKrrbaQOpHUDpW1eQ//hpfDTUP
         oYme3DeyONgcr/xyR6q13rSsCoJSf6geBd2rHp7sUEvGLeS0w8huSAo/pUe6TO1Wd9ak
         ljih5l5z60qp4rEzL3aj+j048qq6X0zUkP0idjiJdZbpTYC/rK9xT0bgxnfhkfSFsQ2l
         tt66Xr0QGLpgDgjGa6HsJDrRuGJfZLj+bLEPqwokL+wS+31KBgTTajJjmyfaJSeSKJKI
         oDXAIFU1N4pcSKUScaMOfwwCUvzkQ4uToEaip0VsRYEIv7WwY87wFU9GYciOW/GUhsfx
         Oorg==
X-Gm-Message-State: AOJu0YzLUyX+UhO/W1XAhXtRy0mRJztL77siiDi9IKUi4JrfZl3I5bJ7
	LK2qjAM84+m2asnq8JAebvzNrg==
X-Google-Smtp-Source: AGHT+IGSIdAS3ZnG0TxZBGADzN9wWtf9/4caVwsp0aFo940Pfi/FH8XbSHsSIBkfDTywe6GVni1Y3Q==
X-Received: by 2002:a05:6512:2c92:b0:509:4599:f2bc with SMTP id dw18-20020a0565122c9200b005094599f2bcmr1463740lfb.14.1700646872183;
        Wed, 22 Nov 2023 01:54:32 -0800 (PST)
Message-ID: <8ada5516-5c1f-4c77-8f26-caa9ec314d1f@citrix.com>
Date: Wed, 22 Nov 2023 09:54:31 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86/HVM: introduce hvm_point_entry()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: 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: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <9810305d-4b36-4e23-b807-a7a00f0ba6b6@suse.com>
 <8573291e-9c0b-4be0-a633-05906026c7b6@citrix.com>
 <2a0f2f07-5d4c-438c-a333-336288206a61@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2a0f2f07-5d4c-438c-a333-336288206a61@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 9:34 am, Jan Beulich wrote:
> On 21.11.2023 22:30, Andrew Cooper wrote:
>> On 16/11/2023 1:46 pm, Jan Beulich wrote:
>>> ... to accompany hvm_read_entry() when actual copying isn't desirable.
>>> This allows to remove open-coded stream accesses from hpet_load(),
>>> along with using the helper in hvm_load() itself.
>>>
>>> Since arch_hvm_load()'s declaration would need changing, and since the
>>> function is not used from elsewhere, purge the declaration. With that it
>>> makes little sense to keep arch_hvm_save()'s around; convert that
>>> function to static then at the same time.
>>>
>>> In hpet_load() simplify the specific case of error return that's in
>>> context anyway: There's no need to hold the lock when only updating a
>>> local variable.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Thanks.
>
>> I really do hate all of this logic and most of it wants to live in
>> userspace, but this an improvement.
>>
>> The only thing I'm a little concerned with is the name. 
>> hvm_read_entry() clearly consumes an entry, while hvm_point_entry()
>> does, but doesn't obviously convey this at a glance.
>>
>> Ideally I'd say that hvm_{get,copy}_entry() would be better nomeclature,
>> as both have at least a vague implication of unmarshalling and one
>> clearly is making a separate copy.
> I'm fine renaming the new one to hvm_get_entry(). For the existing one,
> "copy" may be marginally better than "read" / "load", but then it doesn't
> indicate direction (i.e. somewhat collides with hvm_{write,load}_entry()).
> So I'd want to leave those as they are.

Ok, get/read/write make a reasonably-ok set of names.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:00:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:00:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638609.995355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5k1X-0007WG-Qm; Wed, 22 Nov 2023 09:59:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638609.995355; Wed, 22 Nov 2023 09:59: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 1r5k1X-0007W9-O2; Wed, 22 Nov 2023 09:59:59 +0000
Received: by outflank-mailman (input) for mailman id 638609;
 Wed, 22 Nov 2023 09: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5k1W-0007W3-F6
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 09:59:58 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2057.outbound.protection.outlook.com [40.107.7.57])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e43b86bd-891d-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 10:59:57 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8999.eurprd04.prod.outlook.com (2603:10a6:10:2e2::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Wed, 22 Nov
 2023 09:59:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 09:59: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: e43b86bd-891d-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iltpC+tILz/cSvgE//TSB/j3yZxlVfiM3WzeILENih55ARB80ekn7XN+Tz3P33N7O9Kq6bhWx/Lr4uFXJGPRrLi/ef3fOvtoqS/hyue/FmKynqB/3XLd+jIotN9jqijoIMz1PQVX8CUA+tQkHwhnUFxQM+4+did7xhJ3EZzdr6s4sPZyZ/+cEQnl6FZ4n6bqbKOC7tTyv8sOJTcObgu2G3D+kasnKe5NaiwyWPkOtVWCJp+wJ3ibG8DkPFiMCwhXM+JCcoVpj5FUPjg1UbO1J3sSRg20757PCvk00bJU/9YmB7gWsLPp/o2MbWAXn2UzPOeC/4AR9USukj2o5l5DlA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d6Z/4WQCzv6H16+oNybb/zJlsDnm4vSATftKXSdUvy4=;
 b=ZZhlSg8bLvzdrnjn3LaVmteUE1WqRqvUo3w8B8gMalHxlEMxcDuDUmXFqdLD8e6znNwqk9TfFTbekN+ZdalIQ2Ni1vBe0b1qx+KY2M0XwLp6OqJ+62Gl/OS4Olt544PL1WsorNiViVNrvqRCj7iAhymJjeMHLKictoDrJQi2zYqWBSR9fpZjHMqtyUP8VTY/gsKpT3ScE990QBtbi0zLAKzPqMHLn9C1aJHBGRIVkSZl6kxKhLTR5Dt7TtpX8ii5BlgrKDYG9hur8sxzWa9O0l7ni7SiIv3cJq78dx2kjVTkT3reB+4s2Lel+ikrWitIn0gB0VBdp10R9xh8IgaQiw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=d6Z/4WQCzv6H16+oNybb/zJlsDnm4vSATftKXSdUvy4=;
 b=nRzchTNTkh5HlqpwL2cO/tFeG7Cx7g2V5RjjpFMpv7FqNft2z/yuPPjrMGXbp1Euu/6NJJkZjzOapEHqfiSiLZ8+BSsBwfvAbzgAbgrsHM9knQO6dXT+JMCcJxJ63A4iETutG+ara9SbSGKdhzUsCIO8EouK4VyZP/fCcRi8QyDkW+l1t23x5q816XFd/A1N8Og1MwbqQssgEZiijFmyHHzyNqKnmmBLl+xyRyCaMkypd4vpa0i3/sP9Bk5sM7D6Wfj1nCcf3VAlTrhJOxQIfa0UmPxkRxrFZyjZ+1bd7n1QbSLbOSC9h8Kp8yWrIOGG1Wp6VDWmtkONAirjtKIerg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>
Date: Wed, 22 Nov 2023 10:59:25 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
Content-Language: en-US
To: Juergen Gross <jgross@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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
 <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
 <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
 <84234983-f811-4e5a-b01a-0a68f2e73447@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <84234983-f811-4e5a-b01a-0a68f2e73447@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0235.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e9::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8999:EE_
X-MS-Office365-Filtering-Correlation-Id: 63b6ab0e-12a9-436c-dca6-08dbeb41b67a
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:
	Tx2VQGbfOsbXlVNUjlWps/W2AXnnItyTTKy/r9J2lz2NaU75mtdhplW5ho9t2gF5c3xkUjOps4iTEYNdH8OQDLsIp3j3lsxF6Oj/4NFnw1IBp76JvYNIHlFvgF5CgQLDnvIhtj50BHAPjkAsKOsy8+nWLGOFCTWVgWWW+KES2eUmNJNId7apBBEWnWPCjwbfp5bgYjucaqus0kmUl+uvROA08oF4F5HUTbnEv67Rf9z7mpZD1x/Bjo6vSgT68ILlKjdz/VamEoEy0u0i4d5xr1RngtN/qkcuNMqA23awfj2kiuc65TeUKPhdzwQ0xTuZbqYVwBrFrHZHv/qa6Fd/AunSyLCIWKox/xxfBSf6k7cqunv8aX8EBEySGJJf1ojvdbZYgXtCVmAa4CxKHdv70MbxOKNCQICMxmOwSr3t25/SwdaPYDh8yxuXD2ALf7p+G26CY+KfG7DxMKUxTMYTaXpcvU4xiaVrBpxkrXuQTcn68vEhGiTkfiSMkf6/AaKHUpwEufzG6TmiTNCkmGsujTS9WJk98p8T7qKLjns6PUB4dDyLD0VHXvZEbwf1MaDGHJJupJ0N6vfs2vkBaAGI2szVH5+2M7VQuaBSaSYnqYuRpvV4W6o2j0xiCwDRS+K0uiYeVeGxhMDVSW8rfXebGsrDcdwJ19rPHiz3TRyH8xuOdXwa+lCOxeEKhm6OMCF9
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(136003)(39860400002)(376002)(366004)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(83380400001)(53546011)(6486002)(478600001)(26005)(6512007)(6506007)(37006003)(54906003)(316002)(66556008)(66476007)(66946007)(31686004)(6636002)(6862004)(2616005)(38100700002)(8936002)(8676002)(4326008)(2906002)(5660300002)(31696002)(41300700001)(86362001)(36756003)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZWRYSVBDQTd2MWd1QUZxUzh3T3prNlRHVVhiUXo1b1N3a3M0L2NzSWsxdmln?=
 =?utf-8?B?VXBJTmlNM3V2MG1VMS9FN3Z1Y2IrNzh2Q2VFMUc0ZFBwSjVMYVI5aURVQlVi?=
 =?utf-8?B?L2ZuZHpaYWEwYTk5QzNtQ3prMG9tNnZBRmFhY3hpdE0vQTRBNzJocG04QWNN?=
 =?utf-8?B?dytSRTdKV3VCMjczcHUxV29scHlNUmdSL3IzdjgvdEhlaXZjb0VXWnBzNmp4?=
 =?utf-8?B?Tld6c0ptS3g4c0NBNHZ0SGcvYkUweG1oVnhIUWovM0dvSjVnWXJkeFFzMzdL?=
 =?utf-8?B?WkZoNUhGTlI3Uy9sSzlYa1hmY2tQTHBVdjJ3WUtKNkM1eWU0dWZzMEFUS1pH?=
 =?utf-8?B?TDRyTVljWFJ3T2FkSVJhN1NQV3dpdWxjcklSdC9UODhHTHk5TFJFR0JUU1Ay?=
 =?utf-8?B?ZWtWcVJKNENEWkw0UCtscnRrS3QvamhPVFJEc2VHMy91eTM0cXd4eHlSN2NN?=
 =?utf-8?B?a0xaSnhJMWI0QURwMnI4eWV6NG53V0NTWE9zeFUxVzVvNlZzOXNJOWQwejZY?=
 =?utf-8?B?TnRCS0tmU3dTQlZ2a0xDWEgwbDgzU1lpbnNlM1BjeGloa3cyVHZjcDdaNUY2?=
 =?utf-8?B?OStlZUdLVEdVNWxtWTcwRGNvNGtndUJwSTQrdHpUTzd6RUt5NXdJNU0wa0Fw?=
 =?utf-8?B?Y051enZWbGt5SGRvVmZ2VjVXQWlCcCtEUjRKbG5JUDRmb2Nqc2JpYVhxblh0?=
 =?utf-8?B?dzBncm5uYm9PZWhmQXBjNEZxRG1KT2FqcUxIazNGWU9ISUp6b1B1cnFUa1VL?=
 =?utf-8?B?bGkrbFd2NXJyckFFMWlMNEZiL3ZBMkt1SG0vS0J0RnJndjFodWJ6c21IN25n?=
 =?utf-8?B?ZUxRSnRraDV2N0RhMTkzT1N5RkUrei9VZStCNEt0NmduaVFyaUNIVVdsNVcw?=
 =?utf-8?B?U0RRaG96VFQxNUk0c210WWhaRkUwZzVOQmVxSkMrY1NQSmltaStRNk5YZ2ky?=
 =?utf-8?B?TDVGdnpCTDlWZ2lEWHBvK3dUdXdSbFpBR3lwdDU0QjZOeTZEOVFDZ3lCc2lN?=
 =?utf-8?B?OWZGb3VrRDRMVENndS9CcURDUS93d1h4U1dZUUl4VDFYbzJDZUJoSklWVWVB?=
 =?utf-8?B?NWdqbnVoaE9oU2diYzB0a3hGZ2l4NEd6Rk9NUm0zeTVRa0Jyanp5L3NTeTVG?=
 =?utf-8?B?Zy9wT3hNQnNtQ3FRMCtYSTI1T0poU21aOFVHSXZKakVycGg0ZFZlZzBQWDZn?=
 =?utf-8?B?VWFTTjVaWlEvVlBQVUZBTlZCQk5aMVFsZ0dzNlVFVkdHSTR2V1JSUVFoQ0Z1?=
 =?utf-8?B?emQvNy95b2dROE9kR3JaNVV0RDhBN20wVVA5akJNUkxXdmE1UnBvaWJzSmZQ?=
 =?utf-8?B?SXVLa2tKNVRiQXlwdzA3aWpuVjNCK3lRV1NlWnhGQUlrWlMxZjdmbmhuRG5i?=
 =?utf-8?B?dmdOWEhyNVlrelI3RDlZYVNqdElBNVgzbzF3clZQR0U5allZeEVZN2MyM3dv?=
 =?utf-8?B?T2UxMkhvWkxTUHh6Y1plY2xyb3ArSTh0QVlRcDY1cUlWaEcrb0FoL0ZUZk5o?=
 =?utf-8?B?TzRwTVBYczk3L3BFYmVraEVzSit1RCtTK0JIdzkxKzV3U0MxM0NOa3pqK1Js?=
 =?utf-8?B?S0VZK1hvUmNLMGRNdHJaMkNaajgxdldpUExjcGJUT0t4K2t0Y0lnUzNDY2JH?=
 =?utf-8?B?SzlmdzhkYWtsMXNPeDU1QWc2WXpQNURZZE90ei9yMXRGZk94VmtmM3ByMW9D?=
 =?utf-8?B?a0t1eEczTTl6ZFlIa2xXWTlVOS9TN3Bva1hQd3hYVitSVThyZmcvZjB0LzFm?=
 =?utf-8?B?TUZINWk0QjhKbDY0cDQ2ZmRQTzhuYlNmczJjdDNVZHZld3JGRVdBQ2NndEJC?=
 =?utf-8?B?c2ZJRFpMT0o5ZzJTTG52WEsyNjBMUCtOZEZSYjBpLzN2N2tTSDZQME0rRHJu?=
 =?utf-8?B?SWdIS21MS3RsRGZLektVeUYzUXgzdi9qdWlYMzF5QnJnc2l4RHNZNTVsVE5T?=
 =?utf-8?B?ZjVTdVNRd28yWWFRWFJGUHpFdDllT0Z4alpsMnRZUkpCbnBsdGtNUUQyU2kr?=
 =?utf-8?B?bU5lMFIvWk1LMWdyOTQ0T2d5OW1pSmVPUndjQ2pkVjNwSnp6Q09QeXp5V05w?=
 =?utf-8?B?ajZETXJwdWc4b3QwMUNiSjhsd3UwY2pEaHNjV0NPOWlYaFhZTFNPQVA0cE5K?=
 =?utf-8?Q?D5wtD2QS1XUV8JBGLuN8dxt5l?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 63b6ab0e-12a9-436c-dca6-08dbeb41b67a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 09:59:27.0945
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: JRlLhRliXM21SInEX/yYddLIJKvA4OeTWNJQUSdTw+Bfg/mlEb3SVPlMXmJ0dKM99KAws3/xkGa3ZQdjWIA13Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8999

On 22.11.2023 10:53, Juergen Gross wrote:
> On 22.11.23 10:21, Jan Beulich wrote:
>> On 22.11.2023 09:57, Juergen Gross wrote:
>>> On 22.11.23 09:39, Jan Beulich wrote:
>>>> On 22.11.2023 09:31, Juergen Gross wrote:
>>>>> --- /dev/null
>>>>> +++ b/tools/python/.gitignore
>>>>> @@ -0,0 +1,4 @@
>>>>> +build/*
>>>>
>>>> Are this and just build/ actually equivalent? Looking at our top-level
>>>> .gitignore, I see e.g. extras/ and install/*, which I would expect want
>>>> both treating the same? The form with a wildcard, to me at least,
>>>> doesn't obviously include the directory itself ...
>>>
>>> The .gitignore specification [1] suggests that we should use build/ (same for
>>> the new entry), as otherwise entries in subdirectories would not match.
>>
>> The description there of what a trailing slash means isn't really clear.
> 
> "If there is a separator at the end of the pattern then the pattern will only
> match directories, otherwise the pattern can match both files and directories."
> 
> "The pattern foo/ will match a directory foo and paths underneath it, but will 
> not match a regular file or a symbolic link foo"

But this is all about entries named "foo". Nothing is said about whether
foo/ also includes foo/bar.c.

>> Nothing is said about anything underneath the specified directory. Also
>> nothing is said about what a trailing /* means towards the named directory.
> 
> "The pattern foo/*, matches foo/test.json (a regular file), foo/bar (a 
> directory), but it does not match foo/bar/hello.c (a regular file), as the 
> asterisk in the pattern does not match bar/hello.c which has a slash in it."

Similarly here - nothing is said about foo itself. Yet from us successfully
using foo/* entries I derive that they actually cover foo as well, no matter
whether that's actually sensible.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:00:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:00:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638610.995367 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5k1k-0000OZ-4a; Wed, 22 Nov 2023 10:00:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638610.995367; Wed, 22 Nov 2023 10:00: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 1r5k1j-0000OQ-Vo; Wed, 22 Nov 2023 10:00:11 +0000
Received: by outflank-mailman (input) for mailman id 638610;
 Wed, 22 Nov 2023 10:00: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5k1i-0007W3-W5
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:00:10 +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 ec0cff92-891d-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 11:00:10 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-40b31232bf0so4182885e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 02:00:10 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 v9-20020a05600c444900b0040836519dd9sm1680416wmn.25.2023.11.22.02.00.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 02:00:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ec0cff92-891d-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700647210; x=1701252010; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JwboJve+NnWYazpjvoy1l3Fmapvi/cNmoLbs/tPpc/k=;
        b=Z9ZzotFMd85RGcPGeP95JY3lQVLriIaaAcXxSqt7N2lU1/xNAl7CZpuy55dI5gobg+
         DU4ysyaemQlcSMOT2RBztbexSIFgV405Res34viyGYBkwOX16mY9RJE9SCCCPwDkGe6W
         doiKe2fILEVSGqpPwhDW8Op4QRJ/39VNTvYw0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700647210; x=1701252010;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=JwboJve+NnWYazpjvoy1l3Fmapvi/cNmoLbs/tPpc/k=;
        b=AmlB5srDdbR429uWLSHZcLlc+T6JZADUVVVGTgx/uL5KNfRYyeOYNg/Kymic7s9qAf
         2q56lrJA6uOAvmI1lLD01Phq+0zU6+MWWAUUD08PDJFuZ5ZG93aOWEmf6c7WTWJ/7xne
         Wa75phUy4I+2TOS4bBkr8uYFKlP1Ybz8lZli1ps9CG5ebzqModn+2JMZj21fLFUYrpMI
         u6FaUwgvoAXwOdhzY2v+Tm/PrLuRrFNmQQu8walJIrNZkS10G6tK30M3bXmu+solWtAW
         1qlSGtv/5JlaFPl8L6W1LWVm0wVp2XtY6IiUi2bS9JlRuct4L5njKIZrjI1wtY6kDX3r
         iWfA==
X-Gm-Message-State: AOJu0YypLB8HvYI+lX3HBsXKElY78h51tk64GLmywKcGSlmZ5O9A/0eN
	sc7zQRcCZvFFPmPSgJ/ffGQVCA==
X-Google-Smtp-Source: AGHT+IGi2r/wxjkAgrOwDmC8y7eBdt+JyMNxUIeJjoIZvO8oWuRhssivOsm5N9QLla85bel8+vNkvQ==
X-Received: by 2002:a05:600c:4295:b0:408:3a67:f6f5 with SMTP id v21-20020a05600c429500b004083a67f6f5mr1420780wmc.18.1700647209820;
        Wed, 22 Nov 2023 02:00:09 -0800 (PST)
Message-ID: <95872c39-a375-4c0a-b22f-a0798634e86b@citrix.com>
Date: Wed, 22 Nov 2023 10:00:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] stubdom: remove caml-stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20231101160837.32241-1-jgross@suse.com>
 <7b6658b4-cd36-4d52-991b-f4b94b6fb172@suse.com>
 <b45d743e-2ed4-49a5-92d9-1811d7be0188@citrix.com>
 <be27f207-47d5-4795-812b-4af82f734ba8@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <be27f207-47d5-4795-812b-4af82f734ba8@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 7:20 am, Juergen Gross wrote:
> On 21.11.23 22:14, Andrew Cooper wrote:
>> On 20/11/2023 10:36 am, Juergen Gross wrote:
>>> On 01.11.23 17:08, Juergen Gross wrote:
>>>> In order to build caml-stubdom, it must be explicitly enabled via
>>>> "configure --enable-caml-stubdom". The build process is failing due to
>>>> stubdom/ocaml.patch failing to apply. Since the patched file has been
>>>> modified in 2014 the last time, it seems nobody cares for caml-stubdom
>>>> since at least then.
>>>>
>>>> Remove caml-stubdom from the build system.
>>>>
>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>
>>> Any comments?
>>
>> I'd say the tumbleweeds from the Ocaml folks says enough.
>>
>> Any chance you can resend with the Changelog adjustment, and with the
>> option stripped out of ./configure ?  Might as well clean up everything
>> as we go.
>
> I can do the Changelog adjustment, but I don't see what else could be
> removed
> from configure. The patch already _is_ removing the --enable-caml-stubdom
> option from stubdom/configure.

Oh, so it does.  I'd assumed it would be in the root ./configure.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:05:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638619.995376 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5k6Z-0001aU-Qg; Wed, 22 Nov 2023 10:05:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638619.995376; Wed, 22 Nov 2023 10: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 1r5k6Z-0001aN-MH; Wed, 22 Nov 2023 10:05:11 +0000
Received: by outflank-mailman (input) for mailman id 638619;
 Wed, 22 Nov 2023 10: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=vowI=HD=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r5k6Y-0001aH-1t
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:05:10 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9d8833d6-891e-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 11:05:08 +0100 (CET)
Received: from [172.20.10.2] (unknown [37.163.203.136])
 by support.bugseng.com (Postfix) with ESMTPSA id 255154EE073C;
 Wed, 22 Nov 2023 11:05:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d8833d6-891e-11ee-9b0e-b553b5be7939
Message-ID: <a012398a-cd92-416e-ac8b-da0588acf334@bugseng.com>
Date: Wed, 22 Nov 2023 11:05:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/5] xen/sort: address violations of MISRA C:2012 Rule
 8.2
Content-Language: en-US, it
To: Jan Beulich <jbeulich@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: consulting@bugseng.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: <cover.1700209834.git.federico.serafini@bugseng.com>
 <de68f8220fbb97ae6a3382138c23e81d0988a472.1700209834.git.federico.serafini@bugseng.com>
 <19d887e6-8c07-43f3-a2de-88ce0a0c99ba@suse.com>
 <b481a966-4f29-4b05-8246-d3f1eec19d0c@bugseng.com>
 <51010cec-596a-4249-82dc-ac711c3962c3@suse.com>
 <alpine.DEB.2.22.394.2311201603220.773207@ubuntu-linux-20-04-desktop>
 <dc07af2c-c011-4c06-a573-6aa95deb9ec6@suse.com>
 <alpine.DEB.2.22.394.2311211716240.2053963@ubuntu-linux-20-04-desktop>
 <109256b1-f18c-4c3c-a433-979e020270b8@suse.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <109256b1-f18c-4c3c-a433-979e020270b8@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 22/11/23 09:01, Jan Beulich wrote:
> On 22.11.2023 02:19, Stefano Stabellini wrote:
>> On Tue, 21 Nov 2023, Jan Beulich wrote:
>>> On 21.11.2023 01:04, Stefano Stabellini wrote:
>>>> On Mon, 20 Nov 2023, Jan Beulich wrote:
>>>>> On 20.11.2023 14:13, Federico Serafini wrote:
>>>>>> On 20/11/23 10:02, Jan Beulich wrote:
>>>>>>> On 17.11.2023 09:40, Federico Serafini wrote:
>>>>>>>> --- a/xen/include/xen/sort.h
>>>>>>>> +++ b/xen/include/xen/sort.h
>>>>>>>> @@ -23,8 +23,8 @@
>>>>>>>>    extern gnu_inline
>>>>>>>>    #endif
>>>>>>>>    void sort(void *base, size_t num, size_t size,
>>>>>>>> -          int (*cmp)(const void *, const void *),
>>>>>>>> -          void (*swap)(void *, void *, size_t))
>>>>>>>> +          int (*cmp)(const void *key, const void *elem),
>>>>>>>
>>>>>>> Why "key" and "elem" here, but ...
>>>>>>>
>>>>>>>> +          void (*swap)(void *a, void *b, size_t size))
>>>>>>>
>>>>>>> ... "a" and "b" here? The first example of users of sort() that I'm
>>>>>>> looking at right now (x86/extable.c) is consistent in its naming.
>>>>>>>
>>>>>>
>>>>>> On the Arm side there are {cmp,swap}_memory_node() and
>>>>>> {cmp,swap}_mmio_handler(): "key"/"elem" are used for the comparison
>>>>>> and "_a"/"_b" for the swap.
>>>>>
>>>>> So - re-raising a question Stefano did raise - is Misra concerned about
>>>>> such discrepancies? If yes, _all_ instances need harmonizing. If not, I
>>>>> see no reason to go with misleading names here.
>>>>
>>>> Federico confirmed that the answer is "no".
>>>>
>>>> I think we can use "key" and "elem" in this patch as they are more
>>>> informative than "a" and "b"
>>>
>>> Except that "key" and "elem" are (imo) inapplicable to sort() callbacks
>>> (and inconsistent with the naming in the 2nd callback here); they _may_
>>> be applicable in bsearch() ones. Note also how in the C99 spec these
>>> parameters of callback functions don't have names either.
>>
>> Yes, reading the example in extable.c I think you are right. Maybe it is
>> better to use "a" and "b" in both cmp and swap if you agree.
> 
> Using a and b is (as it looks) in line with at least some uses we have, so
> less code churn than going with some other, more descriptive names (like
> left/right). So yes, I'm okay with using a/b.

I'll send a new version.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:05:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:05:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638622.995386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5k78-00025C-1U; Wed, 22 Nov 2023 10:05:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638622.995386; Wed, 22 Nov 2023 10: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 1r5k77-000255-Ud; Wed, 22 Nov 2023 10:05:45 +0000
Received: by outflank-mailman (input) for mailman id 638622;
 Wed, 22 Nov 2023 10:05: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5k77-0001xQ-8Y
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:05:45 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b323920e-891e-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 11:05:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GVXPR04MB9949.eurprd04.prod.outlook.com (2603:10a6:150:112::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Wed, 22 Nov
 2023 10:05:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 10: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>
X-Inumbo-ID: b323920e-891e-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Fu4yLsyVVPvNpHrwK3r3vAS4eK3VZX5vWu0A6dBlkON9XLDTCCGTwS9jsi2Ne8LsmykmUt1Nl/N0KepqSyVWhGcEriaIei1IhpmvwtY1izOWb24NApXtJYt8+dy+W6I+V9kZ60tRmqOu4+IXBIk3aet0LUXdBMQKrTe3g4W6WsSFaUQPb0r1jRY0bPY17hN+hCUPaseLbDzfb+gKICD6ekvXb+0riohu/OMqsvPGecg7xDgj7zy47aeJZETw/1Js9/n8pD9TSXIRGR3KHVHbwUl4VAPXkx2p7yjnEFsicHs5UKCEOX0Eyy6DSwXTwoqOZtCwn9wj3gJaZzazgcJT/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=FE9fi3BGSx25RwjXXTEVChPHWRpgUYrihs3Qg4Qlac0=;
 b=I3K4Pjy7upOd+vlJ7Oi6ZYjfjvyCMLSljvRQx37Dwku4b+4NrMkdMA38nYvPFG0IBUdQwtuLwuOLm1JoapqeI7xJ2tm85+CB73+Gv7fQOX0culFCplEXckIe2ctM4wonrwL2PrbRCZio+fDYe7zGAUWzm/dUhsibd14nIPbtHwwL5ctPTXFo5Cp/pYjvQ3+jJ/KH/pTN/KKV/nChVYlsnuEu+LNAgPsH5anHyZiRlrVyPe69vO/UyvVQqh24o1i9YZRPfojruIAXzXl+Ogz129SW3BrtfzgspYuqcJNk174n1FlQBi1FTvpxvGn/XfyVxhj+KNZnJ9IVTmbbBedGVA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FE9fi3BGSx25RwjXXTEVChPHWRpgUYrihs3Qg4Qlac0=;
 b=5lFb37a18oeuiLNW6/vhID9bi3pqBSW5UfH/ZCSOw9CnEjx8xQIkw1kPYjcRZHIZwGQ9LrkusXzNxo54BvWoh4Bv19YRrbcNd+mvGGGvMgNGN4V3HRaqaMeaMwk0Ys7MxhUH+yKMkgIqFrzwv58vG8l3iG8BXo6tH16349IzhEhYQMOfpeEmhrxZSdCfom6kok1idKZccDhySIuYNoJAjNq94gz5Hhm7rwQXlGK6SmNgCuiMJhTEAegwyA/uC4qji/zk7n7y+MPnufTENeQiOX0vwocQSoQRwuVTrVq0ZDWG6ghlmjV4iZVaUr+jXCdagelV3DLw5PxTY+GRjBBlDg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ec2cda2a-3997-42d8-b059-fc202cad5b35@suse.com>
Date: Wed, 22 Nov 2023 11:05:39 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/treewide: Switch bool_t to bool
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
 <20231120145623.167383-2-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231120145623.167383-2-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GVXPR04MB9949:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a0ff926-a146-4618-d959-08dbeb429555
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	BC+vMHV4iD0PoVYeUj08P3YzbYkAM0dwvwGgwkQe8KhmBIkw5iD51WhGK4S0Hi6S5J0nt80nhhUwSRrzXzWWdUSAZaDp/tF5iGRvIyF8nfpso0vDM+swWox3LZmhwcriykxDSQhzuNkzQytg3z2dITg8kmyY2ppfWCBeyxxTeVB/iqA8IF9XQynhoVKIMmY36DEo28PV2IRyB/Z9nyGYs4H4W04pRwzALaBkGcNcTAFtvw0Bx21spM9DuekXUs5icOKKwbP83LG7LG3TpQgH8py0373y7E00JSGvmd0EzJ2fF1nCAkJnnaN+9ViPzWqvjzab1XgmFiyVS6QkbuTIiqD+dEiCvapFeTvdx3tjSp7iDCykNm4ESec4P18JKnB5ao4+80L3ujgB4fc6bnn+sjzGjL4cT4E2AKWLbV/1fNfzbYQh+/P8LQz+C5MGKr9g4hPi0gM2LhKrWy6F94dheX34uQT1LFDO5O4a60+qa35AJC6SvmOVPG9bpT5dgT9XlX5zO1NdBdgBUgCN2YmVspLKrkPOAbeM+ww8Vxg9UhNVuJsVswyaBVT9ennc/fyK2oZLv+sqV017rvHa0mtFKAxef4FrcAZstihEwysqP7jtKCooGu4rA0bnA7jZgAGFZNN/B8YHmJscvb5dLJUvQg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(376002)(366004)(136003)(346002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(5660300002)(2906002)(8936002)(4326008)(316002)(41300700001)(8676002)(66946007)(66476007)(54906003)(66556008)(4744005)(6486002)(6506007)(478600001)(53546011)(31686004)(26005)(2616005)(6512007)(6916009)(83380400001)(38100700002)(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?TjlaRy9nNHJwdWlGZitURGZZN0kxZHViUngyRmpramhkcmU4RWdyY1lJckVB?=
 =?utf-8?B?eWFIRXpleWJpVnFpMkpTakUyR0tVNlZHdXhYZ0cwckROUnBpbnp5V2ZJUjZh?=
 =?utf-8?B?SVpsVm9mR3phbTV4Ti93aHcxYUdiTmpoSjVORzAxd1FtNkVjMDVzb242dUpK?=
 =?utf-8?B?b3FNTERZZmV0a0FaNHl4QTFtc0tVM1RJMUxxR0FHL0lEeERhWjArUGZiTDlL?=
 =?utf-8?B?SVg2ekkrblAvdWZydUdFNkZGOWszRUpJMGhSQkZNcGg3a0JjYjZoV1RjUjlu?=
 =?utf-8?B?SEtOZ2ZMVjRxVWtWbER3K3ViOVVMM3FyeW92QUs0M21xQk9MTDEzdlpXNDFp?=
 =?utf-8?B?TisxRWVFVVFhSElCZ1NOQTlUbHFmMkNvbXp3dFN1SEwzWkFhVXFUcXB6Z3E2?=
 =?utf-8?B?ZWMvaUxVV1JSVS9TNnZMMVNKSVRXQ0pmVkdhZEV0SDVOSjJNR1R5Y0xnR1F0?=
 =?utf-8?B?VCttTktSRVBralZLZ3BFZ3FuUTdoc2RHUHhJSUkrOVY1b2EwUUxqUTNWTWk4?=
 =?utf-8?B?V3dmRW56K1Mya1lEQ08vZkxJTTVyZGdpL1RiMCtielJTdkdDRlQwNi9QQ0h1?=
 =?utf-8?B?alRXSmV3RFJWWlBLd2x2bGZ1SzBKc3NsODVhM254ZlVWVXYvVWlHRUJBWFpn?=
 =?utf-8?B?bXlocXZvUVFSWHhPQW4xZ0NVZVZjTHpqVGVUdUJNbWJWaVloTGFheXBwenp0?=
 =?utf-8?B?ZlB5Wmc5L2xHekNlOWVpeTREVDJhRngyY1dMb0pOMXlYM1d4amMwTjhOb0xP?=
 =?utf-8?B?NFYyVWRpUG5idWJaekpjSmhScFhxSjlhWS9RZUErbEtWZ1IxSWRFT3AreGNR?=
 =?utf-8?B?YkxaR0pmeGFwUFJaVHk0aDZKcHVaR2duSEtMOTVzaW4rbVVtWW8yNmJZZkZS?=
 =?utf-8?B?MGpLSFRCWHdUL2ZOMnNRRDZQZUtZSWZmblRxdHliSEJJbURHTnNScXZOQ3ZB?=
 =?utf-8?B?TjRta0RtUlVoZzF4ZzVYeHpEQ3Q3ZW9IODlGZHc5SUNyVG5WcklRY25rMW1Z?=
 =?utf-8?B?YXBKcDdwNXFNMTJOVUgwZUhNeDc5VCtqNDFTTGROUVM0MWh0c2Q0T1pxMzM5?=
 =?utf-8?B?NXhiTkVZMkhGUGV6U1BOU3cwUzRaU3RNOHRoejZoc1dYZzg3K3Z4U1dNLzF0?=
 =?utf-8?B?dU9ydmxuTXp6N2I1QXFabVFFRlY3ZWlRQUdSbTVFUHJxRi9GMjlLam85N1Bq?=
 =?utf-8?B?MjBjTWM2TWJyaFJUdFRFWjBuOGdMa3ZHQnVzT2w0cUh0d0UwVEtCZWFSa0Fu?=
 =?utf-8?B?OUFReTMySFVLbVh6UEZvRnFWQlcwQVhEVjFTd3ltQ2VlZFBzTTM2N0laWGhU?=
 =?utf-8?B?WTgwUFlLams0WkQ5N0ZDR2NncnJVM0NWZEdNZHdDSm5LRE51Nzd1V1lGM2xD?=
 =?utf-8?B?NS9HUGZkbHZpNjVGRDVlMWFsU2IyTTdmdXR0eDdqdlVyanpPdkVoNGlxd0dY?=
 =?utf-8?B?MVlWNlVyekFNTHdyM1RqNTNEVzNjY08yMjYxK3haaGNrWmRleFNmTDZRKzlv?=
 =?utf-8?B?WXJETW5XVEZGUE5KdkVXTVJ1QmZCdUNnRzYrZnJ2NW51aUV4bVgxRFV5ek0v?=
 =?utf-8?B?aWIvV1dXRkk2REJqY2Y5V01oQ3hGK3NNQmRDNW56NDR5alFqMEl2NEtzNFE2?=
 =?utf-8?B?blUxOUdUR0ZxY3Q3VnFTY1FEb01BUG01WllKZHE2dlJ2c1VLVXloWHVYTkhK?=
 =?utf-8?B?VUZuWkZNNFp2MW5KdkNVRUdBQlZZdW00RnozSCsyZVZUOW5DTytudjNLOHh2?=
 =?utf-8?B?S0oxYkZRRGphckd4U2RmdC9lQ0hjeVgzTGJ1TTRDa0JBZmdKUGo4TVhBQ0xn?=
 =?utf-8?B?OFBkeHFFZ0NudWZ1cTkxa3YwK1JzbEZTa2k4RkgybVA2ZXRVNlJDd25JZlpK?=
 =?utf-8?B?NzYvdGlSRUZISXM5Um90RzFFN0xDRjJvSjZpTGVBa3QzdkVhT1RTRElmRGNI?=
 =?utf-8?B?Wk9CMjJLRGx3V3ZXYmMwRjBXbWQvUUwwUFY0UStoSkNIWm55M1NqcUtBdXRB?=
 =?utf-8?B?TmMzRkMrdlZyclFFN3M4NWltTTJYQnlNTXQ1UEdiaXMrcHErTHhvcU5yS3hR?=
 =?utf-8?B?U2ZBcC8rUU9nTXQ1UnVPNU1Kd1o2aUtzd3AzVUhzN1NlSEQvYjE2ekFPMVZj?=
 =?utf-8?Q?LOfgHzzAoaAHra1S4F1OUe4+i?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a0ff926-a146-4618-d959-08dbeb429555
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 10:05:41.0104
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IVnCvW9in7oGelCdKqKTVaxGDNfYvuKwqjzrGkrt0mSPDCNUUTFCkGBQmreVVha8U8Pz3m3ELfbucijTCIlUkw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR04MB9949

On 20.11.2023 15:56, Andrew Cooper wrote:
> @@ -798,11 +799,11 @@ ept_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn,
>      unsigned int i, target = order / EPT_TABLE_ORDER;
>      unsigned long fn_mask = !mfn_eq(mfn, INVALID_MFN) ? (gfn | mfn_x(mfn)) : gfn;
>      int ret, rc = 0;
> -    bool_t entry_written = 0;
> -    bool_t need_modify_vtd_table = 1;
> -    bool_t vtd_pte_present = 0;
> +    bool entry_written = false;
> +    bool need_modify_vtd_table = true;
> +    bool vtd_pte_present = false;
>      unsigned int iommu_flags = p2m_get_iommu_flags(p2mt, p2ma, mfn);
> -    bool_t needs_sync = 1;
> +    bool needs_sync = false;

Coverity has just (indirectly) spotted this mistake. I hope no others are
lurking anywhere.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:06:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:06:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638624.995396 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5k7e-0002kS-AJ; Wed, 22 Nov 2023 10:06:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638624.995396; Wed, 22 Nov 2023 10:06: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 1r5k7e-0002kL-6R; Wed, 22 Nov 2023 10:06:18 +0000
Received: by outflank-mailman (input) for mailman id 638624;
 Wed, 22 Nov 2023 10:06: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5k7d-0001xQ-Bw
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:06:17 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c662e15b-891e-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 11:06:16 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40b2c9ee8ecso8315045e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 02:06:16 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 u1-20020a05600c138100b004068495910csm1680959wmf.23.2023.11.22.02.06.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 02:06:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c662e15b-891e-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700647576; x=1701252376; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Pd/RjUAbFb53Ow7fn4mAhfuECq5SBzdJP4KxOdfAwSI=;
        b=ptZPkCxxj85fDVDABezDoL9xXMiXe9uJUtj/Ru7Dqj8OB+L2xhBASx4Idxl5Z0mq8a
         Axq+AsP185NxLDeR5OqDUnoLb+uQEEOp6S3LlwFcck0elUVoB+vo521Nrg8FpKKki1w4
         Hkx5jHUp30XT8v0J3iYLNlIUu/n9B5a5+V9CQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700647576; x=1701252376;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Pd/RjUAbFb53Ow7fn4mAhfuECq5SBzdJP4KxOdfAwSI=;
        b=FoM/SaiLV/YjwzHyl3SIblampeD0JeOXy/XH+szflT469lJZZZLgzNNGXIlmVZmlIa
         3xIqUTGiOjt8CmkXuqehPYX7kesnbvBuHT5Awn41iYckxBEq5qlRkO01yQf1M3qcmYaO
         aIHdVBN1Pr2NKqbY23qtSem/cU+DoS5MrW2/mC1mfGBhvJ0B28vAfUWhvdtYcG36oG1+
         RjIG1FsIQ0LHt/nYtleBRkoSUVBieV6LL63cGub6Hp3nw1YTrt+eTniZ7hb1MAFJnZcd
         VORVLHnA0xrYpcSRazXJYSxAQ2EN7ob/rXF7sbsV3/AHPRICao99YI30JOtpqk1MfNg6
         ipWw==
X-Gm-Message-State: AOJu0YzHxUBSKDvExb9+gxyRqwiMM6eQc2xfsjhj2ofEsG+J6PFGpCog
	5+FIVBZRYBrsEBSvtnJiS4Yt1g==
X-Google-Smtp-Source: AGHT+IEtJVlP9jrkvgaROMF6XHg7DjHSDPDYZaim7Z8rZOkhvPp0eHzMhL0iHH2SEyDEj6wK7HFUYg==
X-Received: by 2002:a05:600c:444a:b0:401:bdd7:49ae with SMTP id v10-20020a05600c444a00b00401bdd749aemr1479680wmn.18.1700647576104;
        Wed, 22 Nov 2023 02:06:16 -0800 (PST)
Message-ID: <b36d5838-28cd-4b76-9597-b77df3812439@citrix.com>
Date: Wed, 22 Nov 2023 10:06:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] stubdom: remove caml-stubdom
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
 Edwin Torok <edvin.torok@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20231122072110.22413-1-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231122072110.22413-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 7:21 am, Juergen Gross wrote:
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index c341c9d0bf..bbb3cd5beb 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -14,6 +14,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
>       for IPIs and Physical addressing mode for external interrupts.
>  
>  ### Removed
> +- caml-stubdom has been removed. It didn't build since 2014, so nobody seems
> +  to care.

May I suggest some different phrasing.

"caml-stubdom.  It hasn't built since 2014, was pinned to Ocaml 4.02,
and has been superseded by the MirageOS/SOLO5 projects."

Also, one last ping to anyone Ocaml folks for any comment whatsoever.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:07:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:07:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638629.995406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5k8w-0003e1-Le; Wed, 22 Nov 2023 10:07:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638629.995406; Wed, 22 Nov 2023 10:07: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 1r5k8w-0003du-Hv; Wed, 22 Nov 2023 10:07:38 +0000
Received: by outflank-mailman (input) for mailman id 638629;
 Wed, 22 Nov 2023 10:07: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5k8v-0003cg-DM
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:07:37 +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 f5e91f13-891e-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 11:07:36 +0100 (CET)
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 E518221961;
 Wed, 22 Nov 2023 10:07:35 +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 9440E13461;
 Wed, 22 Nov 2023 10:07:35 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id OnnGIufSXWXMCwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 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>
X-Inumbo-ID: f5e91f13-891e-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700647655; 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:autocrypt:autocrypt;
	bh=3ut/uFEENtaUNF1R1C14POsUXd+MP9LZ4LF8SLK9MZM=;
	b=nyFL7YRxAuy7fYeVZUVBxJ9oXpEqvFB4ThBqKT2LdNU7xLbl7lPfrPT0ajSaLbMNJbYpOT
	hzJztmND9G0Vsaf84yebvfP7PR3Ozv6nyFxSF00FsvJvxH1xjP5MmkR4ZbR1TUHc5SOq0u
	AES0YkzBrgpzzk5c5CWHi7w6ngiTjXc=
Message-ID: <5d293743-59ef-4a98-b018-cc7e92d76b29@suse.com>
Date: Wed, 22 Nov 2023 11:07:34 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
 <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
 <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
 <84234983-f811-4e5a-b01a-0a68f2e73447@suse.com>
 <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------nlE2yskLte4dZLMh0sA3VIcE"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -1.99
X-Spamd-Result: default: False [-1.99 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------nlE2yskLte4dZLMh0sA3VIcE
Content-Type: multipart/mixed; boundary="------------mG9E8GScp0nLllVYWctQvBP0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Message-ID: <5d293743-59ef-4a98-b018-cc7e92d76b29@suse.com>
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
 <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
 <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
 <84234983-f811-4e5a-b01a-0a68f2e73447@suse.com>
 <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>
In-Reply-To: <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>

--------------mG9E8GScp0nLllVYWctQvBP0
Content-Type: multipart/mixed; boundary="------------yhK880MynfbWH7El10dBSsji"

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

T24gMjIuMTEuMjMgMTA6NTksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMi4xMS4yMDIz
IDEwOjUzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjIuMTEuMjMgMTA6MjEsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDIyLjExLjIwMjMgMDk6NTcsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IE9uIDIyLjExLjIzIDA5OjM5LCBKYW4gQmV1bGljaCB3cm90ZToN
Cj4+Pj4+IE9uIDIyLjExLjIwMjMgMDk6MzEsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+
Pj4gLS0tIC9kZXYvbnVsbA0KPj4+Pj4+ICsrKyBiL3Rvb2xzL3B5dGhvbi8uZ2l0aWdub3Jl
DQo+Pj4+Pj4gQEAgLTAsMCArMSw0IEBADQo+Pj4+Pj4gK2J1aWxkLyoNCj4+Pj4+DQo+Pj4+
PiBBcmUgdGhpcyBhbmQganVzdCBidWlsZC8gYWN0dWFsbHkgZXF1aXZhbGVudD8gTG9va2lu
ZyBhdCBvdXIgdG9wLWxldmVsDQo+Pj4+PiAuZ2l0aWdub3JlLCBJIHNlZSBlLmcuIGV4dHJh
cy8gYW5kIGluc3RhbGwvKiwgd2hpY2ggSSB3b3VsZCBleHBlY3Qgd2FudA0KPj4+Pj4gYm90
aCB0cmVhdGluZyB0aGUgc2FtZT8gVGhlIGZvcm0gd2l0aCBhIHdpbGRjYXJkLCB0byBtZSBh
dCBsZWFzdCwNCj4+Pj4+IGRvZXNuJ3Qgb2J2aW91c2x5IGluY2x1ZGUgdGhlIGRpcmVjdG9y
eSBpdHNlbGYgLi4uDQo+Pj4+DQo+Pj4+IFRoZSAuZ2l0aWdub3JlIHNwZWNpZmljYXRpb24g
WzFdIHN1Z2dlc3RzIHRoYXQgd2Ugc2hvdWxkIHVzZSBidWlsZC8gKHNhbWUgZm9yDQo+Pj4+
IHRoZSBuZXcgZW50cnkpLCBhcyBvdGhlcndpc2UgZW50cmllcyBpbiBzdWJkaXJlY3Rvcmll
cyB3b3VsZCBub3QgbWF0Y2guDQo+Pj4NCj4+PiBUaGUgZGVzY3JpcHRpb24gdGhlcmUgb2Yg
d2hhdCBhIHRyYWlsaW5nIHNsYXNoIG1lYW5zIGlzbid0IHJlYWxseSBjbGVhci4NCj4+DQo+
PiAiSWYgdGhlcmUgaXMgYSBzZXBhcmF0b3IgYXQgdGhlIGVuZCBvZiB0aGUgcGF0dGVybiB0
aGVuIHRoZSBwYXR0ZXJuIHdpbGwgb25seQ0KPj4gbWF0Y2ggZGlyZWN0b3JpZXMsIG90aGVy
d2lzZSB0aGUgcGF0dGVybiBjYW4gbWF0Y2ggYm90aCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMu
Ig0KPj4NCj4+ICJUaGUgcGF0dGVybiBmb28vIHdpbGwgbWF0Y2ggYSBkaXJlY3RvcnkgZm9v
IGFuZCBwYXRocyB1bmRlcm5lYXRoIGl0LCBidXQgd2lsbA0KPj4gbm90IG1hdGNoIGEgcmVn
dWxhciBmaWxlIG9yIGEgc3ltYm9saWMgbGluayBmb28iDQo+IA0KPiBCdXQgdGhpcyBpcyBh
bGwgYWJvdXQgZW50cmllcyBuYW1lZCAiZm9vIi4gTm90aGluZyBpcyBzYWlkIGFib3V0IHdo
ZXRoZXINCj4gZm9vLyBhbHNvIGluY2x1ZGVzIGZvby9iYXIuYy4NCg0KIi4uLiBhbmQgcGF0
aHMgdW5kZXJuZWF0aCBpdCIgaXMgcmF0aGVyIGNsZWFyIElNSE8uDQoNCj4gDQo+Pj4gTm90
aGluZyBpcyBzYWlkIGFib3V0IGFueXRoaW5nIHVuZGVybmVhdGggdGhlIHNwZWNpZmllZCBk
aXJlY3RvcnkuIEFsc28NCj4+PiBub3RoaW5nIGlzIHNhaWQgYWJvdXQgd2hhdCBhIHRyYWls
aW5nIC8qIG1lYW5zIHRvd2FyZHMgdGhlIG5hbWVkIGRpcmVjdG9yeS4NCj4+DQo+PiAiVGhl
IHBhdHRlcm4gZm9vLyosIG1hdGNoZXMgZm9vL3Rlc3QuanNvbiAoYSByZWd1bGFyIGZpbGUp
LCBmb28vYmFyIChhDQo+PiBkaXJlY3RvcnkpLCBidXQgaXQgZG9lcyBub3QgbWF0Y2ggZm9v
L2Jhci9oZWxsby5jIChhIHJlZ3VsYXIgZmlsZSksIGFzIHRoZQ0KPj4gYXN0ZXJpc2sgaW4g
dGhlIHBhdHRlcm4gZG9lcyBub3QgbWF0Y2ggYmFyL2hlbGxvLmMgd2hpY2ggaGFzIGEgc2xh
c2ggaW4gaXQuIg0KPiANCj4gU2ltaWxhcmx5IGhlcmUgLSBub3RoaW5nIGlzIHNhaWQgYWJv
dXQgZm9vIGl0c2VsZi4gWWV0IGZyb20gdXMgc3VjY2Vzc2Z1bGx5DQo+IHVzaW5nIGZvby8q
IGVudHJpZXMgSSBkZXJpdmUgdGhhdCB0aGV5IGFjdHVhbGx5IGNvdmVyIGZvbyBhcyB3ZWxs
LCBubyBtYXR0ZXINCj4gd2hldGhlciB0aGF0J3MgYWN0dWFsbHkgc2Vuc2libGUuDQoNCkkg
Z3Vlc3MgdGhpcyBpcyBjb3ZlcmVkIGJ5ICIqIiBtYXRjaGluZyBhbiBlbXB0eSBzdHJpbmcs
IHRvby4gSSBhZ3JlZSB0aGF0IHRoaXMNCmlzbid0IHNwZWxsZWQgb3V0IGV4cGxpY2l0bHkg
YW55d2hlcmUsIGJ1dCBpdCBjYW4gYmUgaW1wbGllZCBmcm9tOg0KDQoiVGhlIHBhdHRlcm4g
aGVsbG8uKiBtYXRjaGVzIGFueSBmaWxlIG9yIGRpcmVjdG9yeSB3aG9zZSBuYW1lIGJlZ2lu
cyB3aXRoDQpoZWxsby4iDQoNCkkgYWdyZWUgdGhpcyBzaG91bGQgYmUgbWVudGlvbmVkIGV4
cGxpY2l0bHkgdG8gYmUgdGhlIGNhc2UuDQoNCg0KSnVlcmdlbg0K
--------------yhK880MynfbWH7El10dBSsji
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------yhK880MynfbWH7El10dBSsji--

--------------mG9E8GScp0nLllVYWctQvBP0--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVd0ucFAwAAAAAACgkQsN6d1ii/Ey/2
kAf+JCp6VhHwKP+2L1kH/6TmthRF4Pm2DJU96wEGcivfRIRni9BYmaQkyjeS3wIZY6TWP8QybMXA
f2BpG6WdT3+HYFKkNmtsnpgOilBunwIltzbCwids3dCDA8n9gJ8oKPV6DO+05CjFu+Jeco5MNR9V
kkCHeFHGzWluAxdYCNwk5ayv9rljn5WSUnaDhvO2ssbhWLLTJohGPxqVkZWZqEbphlW1nvUzkYsf
jDlWb2tmUeeTO1tPKKuV76w54sNCXMp/D7rIvO2Z3q6TxjzXoiK9kEusqEybYMRC+nEgsy7LlqU7
T+UUc7jH5lCQROST3jDSoynhYGEwRa+RfVWx3C4Kog==
=ZNtf
-----END PGP SIGNATURE-----

--------------nlE2yskLte4dZLMh0sA3VIcE--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:07:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:07:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638631.995416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5k9G-0004BB-1v; Wed, 22 Nov 2023 10:07:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638631.995416; Wed, 22 Nov 2023 10: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 1r5k9F-0004B4-VB; Wed, 22 Nov 2023 10:07:57 +0000
Received: by outflank-mailman (input) for mailman id 638631;
 Wed, 22 Nov 2023 10:07: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5k9E-00049S-EU
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:07:56 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 00cbd387-891f-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 11:07:54 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2c5071165d5so82027321fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 02:07:54 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 u1-20020a05600c138100b004068495910csm1680959wmf.23.2023.11.22.02.07.53
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 02:07:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 00cbd387-891f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700647674; x=1701252474; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=yCH9GcR4YF+gUH98DItyecWoPKTZxmriz3VClO5A4ok=;
        b=uq67mu1zp5wCMpZ5843b11yFYPOjK190EgwuyAXH0Z8jzc2hkApUyP3lvvsPO4HtXi
         eTMXpvE1BaRLbyzp606S0uYQtza2HyKpJbIgsFF0rxAPSpJGpYOXVFYdVxuyXAPvJoBe
         2BfoOHmeF8aUb0f294sIT847+RQF8cNnh5J9c=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700647674; x=1701252474;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=yCH9GcR4YF+gUH98DItyecWoPKTZxmriz3VClO5A4ok=;
        b=ArAq8eFd+xaJlqqwxq1sf43A8r7fS5H1gQOdzg/aETqwAByOSDtQOcfRulFLb8eWWL
         JPwidSQ4o3PMdJKW0xKsktg5CjP703AV1CPB3QkoiWYzEseH09oIV0z14P7skjB/LOMT
         7AuRMHwK+c8iNW3dd9AwapSqtZjBBVklZc/J4nGrhc5rNCPZmz8td2mfEGGkCludjvxF
         qqWs5gpo0Jc+XFyD6oSZ2RolzIAMdR+s+nMztE0VyJhGxO62oejK7V51Yo3Xl/7pfrCD
         R9YY1sMsgQiWo8LGMt7MhaWWp8xlRT6q5iXE2wbXxXVb1U1GU/viaaeMuAfZp1en/Lyv
         osUg==
X-Gm-Message-State: AOJu0Yx/r+R5rw6uR3g4AAWYxfddkzM+xB10wRblFcw3qWs2mE0caXCj
	rJIRoH/Dx2fN0Yjolae9YTboTA==
X-Google-Smtp-Source: AGHT+IG+UjwJr8HWppVU+Y8KqCKxkbdmgpY7ziZyE3e1v6F7yQ0bhPXyxH5dceQsiUhayMiaRMItPw==
X-Received: by 2002:a2e:145c:0:b0:2c6:f625:cc61 with SMTP id 28-20020a2e145c000000b002c6f625cc61mr1174679lju.31.1700647674082;
        Wed, 22 Nov 2023 02:07:54 -0800 (PST)
Message-ID: <7959b2cf-aa0d-4d40-bc03-c0bb37eac94d@citrix.com>
Date: Wed, 22 Nov 2023 10:07:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] x86/treewide: Switch bool_t to bool
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: George Dunlap <George.Dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Julien Grall <julien@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Xen-devel <xen-devel@lists.xenproject.org>
References: <20231120145623.167383-1-andrew.cooper3@citrix.com>
 <20231120145623.167383-2-andrew.cooper3@citrix.com>
 <ec2cda2a-3997-42d8-b059-fc202cad5b35@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ec2cda2a-3997-42d8-b059-fc202cad5b35@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 10:05 am, Jan Beulich wrote:
> On 20.11.2023 15:56, Andrew Cooper wrote:
>> @@ -798,11 +799,11 @@ ept_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn,
>>      unsigned int i, target = order / EPT_TABLE_ORDER;
>>      unsigned long fn_mask = !mfn_eq(mfn, INVALID_MFN) ? (gfn | mfn_x(mfn)) : gfn;
>>      int ret, rc = 0;
>> -    bool_t entry_written = 0;
>> -    bool_t need_modify_vtd_table = 1;
>> -    bool_t vtd_pte_present = 0;
>> +    bool entry_written = false;
>> +    bool need_modify_vtd_table = true;
>> +    bool vtd_pte_present = false;
>>      unsigned int iommu_flags = p2m_get_iommu_flags(p2mt, p2ma, mfn);
>> -    bool_t needs_sync = 1;
>> +    bool needs_sync = false;
> Coverity has just (indirectly) spotted this mistake. I hope no others are
> lurking anywhere.

:-/

Now I want to figure out why my side-by-side builds didn't show up a
change...

But yes - that was clearly a mistake.  Sorry.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:08:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:08:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638637.995425 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5k9k-0004xi-9K; Wed, 22 Nov 2023 10:08:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638637.995425; Wed, 22 Nov 2023 10:08: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 1r5k9k-0004xb-6a; Wed, 22 Nov 2023 10:08:28 +0000
Received: by outflank-mailman (input) for mailman id 638637;
 Wed, 22 Nov 2023 10:08: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5k9i-00049S-GP
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:08:26 +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 12d13608-891f-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 11:08:25 +0100 (CET)
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 7ABF821907;
 Wed, 22 Nov 2023 10:08:24 +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 150EE13461;
 Wed, 22 Nov 2023 10:08:24 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id wI5OAxjTXWXMCwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 10:08: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: 12d13608-891f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700647704; 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:autocrypt:autocrypt;
	bh=FNvZD4qP2QqczF2sDoqWEJcsRQjXXphEtHKCFQxbows=;
	b=JZ9N+RylZZDfSAmiQ5BBlUkjjivITbghXIzIIDwEa1tJSDVAlTB08+E4EcQD9rVrPXB6vI
	ldvlkblAH1xgmEyt6crbtuhFx5AVqnCNRC5EDnxgXKBJEHPAhshC9rxfD2ocSQtKlulLL/
	DIzHcBFXTK1zVsuu8JjyJRMsYWzrDlI=
Message-ID: <c476207c-229d-4f0c-9993-92ec4b2b7b6e@suse.com>
Date: Wed, 22 Nov 2023 11:08:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] stubdom: remove caml-stubdom
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Edwin Torok <edvin.torok@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
References: <20231122072110.22413-1-jgross@suse.com>
 <b36d5838-28cd-4b76-9597-b77df3812439@citrix.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <b36d5838-28cd-4b76-9597-b77df3812439@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------Waqz9JGxMYrGmcbnOWitkPgO"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -2.74
X-Spamd-Result: default: False [-2.74 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-2.75)[98.89%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_TWELVE(0.00)[13];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------Waqz9JGxMYrGmcbnOWitkPgO
Content-Type: multipart/mixed; boundary="------------nWOQZd945pvxd9yDj75ZdZ0g";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 xen-devel@lists.xenproject.org, Edwin Torok <edvin.torok@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>
Cc: Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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>, Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-ID: <c476207c-229d-4f0c-9993-92ec4b2b7b6e@suse.com>
Subject: Re: [PATCH v2] stubdom: remove caml-stubdom
References: <20231122072110.22413-1-jgross@suse.com>
 <b36d5838-28cd-4b76-9597-b77df3812439@citrix.com>
In-Reply-To: <b36d5838-28cd-4b76-9597-b77df3812439@citrix.com>

--------------nWOQZd945pvxd9yDj75ZdZ0g
Content-Type: multipart/mixed; boundary="------------0qymzyMyg3lMZxw1s3GO0WGN"

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

T24gMjIuMTEuMjMgMTE6MDYsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDIyLzExLzIw
MjMgNzoyMSBhbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IGRpZmYgLS1naXQgYS9DSEFO
R0VMT0cubWQgYi9DSEFOR0VMT0cubWQNCj4+IGluZGV4IGMzNDFjOWQwYmYuLmJiYjNjZDVi
ZWIgMTAwNjQ0DQo+PiAtLS0gYS9DSEFOR0VMT0cubWQNCj4+ICsrKyBiL0NIQU5HRUxPRy5t
ZA0KPj4gQEAgLTE0LDYgKzE0LDggQEAgVGhlIGZvcm1hdCBpcyBiYXNlZCBvbiBbS2VlcCBh
IENoYW5nZWxvZ10oaHR0cHM6Ly9rZWVwYWNoYW5nZWxvZy5jb20vZW4vMS4wLjAvKQ0KPj4g
ICAgICAgIGZvciBJUElzIGFuZCBQaHlzaWNhbCBhZGRyZXNzaW5nIG1vZGUgZm9yIGV4dGVy
bmFsIGludGVycnVwdHMuDQo+PiAgIA0KPj4gICAjIyMgUmVtb3ZlZA0KPj4gKy0gY2FtbC1z
dHViZG9tIGhhcyBiZWVuIHJlbW92ZWQuIEl0IGRpZG4ndCBidWlsZCBzaW5jZSAyMDE0LCBz
byBub2JvZHkgc2VlbXMNCj4+ICsgIHRvIGNhcmUuDQo+IA0KPiBNYXkgSSBzdWdnZXN0IHNv
bWUgZGlmZmVyZW50IHBocmFzaW5nLg0KPiANCj4gImNhbWwtc3R1YmRvbS7CoCBJdCBoYXNu
J3QgYnVpbHQgc2luY2UgMjAxNCwgd2FzIHBpbm5lZCB0byBPY2FtbCA0LjAyLA0KPiBhbmQg
aGFzIGJlZW4gc3VwZXJzZWRlZCBieSB0aGUgTWlyYWdlT1MvU09MTzUgcHJvamVjdHMuIg0K
DQpGaW5lIHdpdGggbWUuDQoNCg0KSnVlcmdlbg0K
--------------0qymzyMyg3lMZxw1s3GO0WGN
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------0qymzyMyg3lMZxw1s3GO0WGN--

--------------nWOQZd945pvxd9yDj75ZdZ0g--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVd0xgFAwAAAAAACgkQsN6d1ii/Ey+r
CAf9GADgclcSd+PrU4riLCZjnIs5jt/9etM0mFlPH/2ddmjJ6tCu37FSg2aks4THiGc04tWuH21S
2n4wtOYS2+1rRFALWZHMVbr9uYBobQSRd9/4/j+YA1tSzEcSvszouQ54iiqJ33TBOyqma/oY6msw
4ubGajnoI51KyAGxLAsmRKzncMqIqRYFLE2jGHqGSUi8TU1j1nnGeNQxtM2kU+fPbtQjgDTWJZ3Y
1V6halAm4Srool/sko05L+EbHnEKWwe4crLWw/3rdzFuPC74TVKhoUD8RYP8HsBF0kvHvt+kDh5Q
qAZ9QO8u80fsW3RLzABFMTsjZuJ2ENqIhyMHDx6hOw==
=PJgX
-----END PGP SIGNATURE-----

--------------Waqz9JGxMYrGmcbnOWitkPgO--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:08:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:08:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638640.995436 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5kA7-0005UT-Hu; Wed, 22 Nov 2023 10:08:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638640.995436; Wed, 22 Nov 2023 10:08: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 1r5kA7-0005UM-El; Wed, 22 Nov 2023 10:08:51 +0000
Received: by outflank-mailman (input) for mailman id 638640;
 Wed, 22 Nov 2023 10:08: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=0DV9=HD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5kA6-0005P7-R3
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:08:50 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21dc6033-891f-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 11:08:50 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-507b9408c61so9068298e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 02:08:50 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 n4-20020a5d4004000000b003316b3d69b3sm15906855wrp.46.2023.11.22.02.08.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 02:08:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21dc6033-891f-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700647729; x=1701252529; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=A5ri/afd9l7K9gJ4ID7RYwGNxuD67yELjRyPBNv+Ryg=;
        b=P3dngzCvqXDv6mv0vZoWudg7YzNJFO17wXbPFB6xKbOULIhk58Ux0HjObzyPl8h/FT
         ojtCdMQcimd2nQfCAEhfc2cRvsyb6b76hCgsvMvbgxReCkxeXOtOpgH5tndBgt7ULlq3
         9HdIadB9r5fXjoDV7WaFho8IKocpFqX1/ZgJ4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700647729; x=1701252529;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=A5ri/afd9l7K9gJ4ID7RYwGNxuD67yELjRyPBNv+Ryg=;
        b=CwXnExzaowPmdZ2wQuPcJC6Ok8SX0fc/zi2PZ3ijuxeQRWeGJROq40xza5ewpdh+JC
         xUnbsO0ODJeo1NbE0RI9LJZZu5VqrwZBd2MwNCxZmIlY/h/1qnYNM+Dxr72hrC7Djoo9
         LXVti/pPUiQZulFKTi9LcFc44upcdQ32tikSto0a5dh2e8IRzUiP2lRgdcVxaAspBU2z
         5kgCknVCby05oRW7bgdClvWW2vX+VvJBH6q1gUzUvdbUQVfDVL9VI6RgsM3j2DtpJby7
         XiAiIiRo7WPGGin/9TGgdK9WAjMFxunz6kCwpyClEB9MbTLA7SHbiMEVeo1o799cEL1X
         /Grw==
X-Gm-Message-State: AOJu0YyKOQ56uBOoa1L+isnpPDLllXkYmwQoOaP90ikvyJ/buqIroi2v
	mZYykgOv/ijTYZBvZ6zVVcjerw==
X-Google-Smtp-Source: AGHT+IGs0am0dOuYiyug+92WeHnWkaclLsIWIkKm/ld8+mW2dF3g74VGZrmS5nz6izzEB6INXm3OMg==
X-Received: by 2002:ac2:54a4:0:b0:509:f45c:fae6 with SMTP id w4-20020ac254a4000000b00509f45cfae6mr1395138lfk.10.1700647729507;
        Wed, 22 Nov 2023 02:08:49 -0800 (PST)
Date: Wed, 22 Nov 2023 11:08:47 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [PATCH 5/5] x86/HVM: improve CET-IBT pruning of ENDBR
Message-ID: <ZV3TL7BtSxC-sv7z@macbook>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <40585213-99ac-43b4-9432-03d739ec452c@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <40585213-99ac-43b4-9432-03d739ec452c@suse.com>

On Thu, Nov 16, 2023 at 02:33:14PM +0100, Jan Beulich wrote:
> __init{const,data}_cf_clobber can have an effect only for pointers
> actually populated in the respective tables. While not the case for SVM
> right now, VMX installs a number of pointers only under certain
> conditions. Hence the respective functions would have their ENDBR purged
> only when those conditions are met. Invoke "pruning" functions after
> having copied the respective tables, for them to install any "missing"
> pointers.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> This is largely cosmetic for present hardware, which when supporting
> CET-IBT likely also supports all of the advanced VMX features for which
> hook pointers are installed conditionally. The only case this would make
> a difference there is when use of respective features was suppressed via
> command line option (where available). For future hooks it may end up
> relevant even by default, and it also would be if AMD started supporting
> CET-IBT; right now it matters only for .pi_update_irte, as iommu_intpost
> continues to default to off.
> 
> Originally I had meant to put the SVM and VMX functions in presmp-
> initcalls, but hvm/{svm,vmx}/built_in.o are linked into hvm/built_in.o
> before hvm/hvm.o. And I don't think I want to fiddle with link order
> here.
> 
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -161,10 +161,15 @@ static int __init cf_check hvm_enable(vo
>      else if ( cpu_has_svm )
>          fns = start_svm();
>  
> +    if ( fns )
> +        hvm_funcs = *fns;
> +
> +    prune_vmx();
> +    prune_svm();
> +
>      if ( fns == NULL )
>          return 0;
>  
> -    hvm_funcs = *fns;
>      hvm_enabled = 1;
>  
>      printk("HVM: %s enabled\n", fns->name);
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -2587,6 +2587,19 @@ const struct hvm_function_table * __init
>      return &svm_function_table;
>  }
>  
> +void __init prune_svm(void)
> +{
> +    /*
> +     * Now that svm_function_table was copied, populate all function pointers
> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
> +     * much of an effect as possible.
> +     */
> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )

Shouldn't this better use cpu_has_xen_ibt?

Otherwise the clobbering done in _apply_alternatives() won't be
engaged, so it's pointless to set the extra fields.

> +        return;
> +
> +    /* Nothing at present. */
> +}
> +
>  void svm_vmexit_handler(void)
>  {
>      struct cpu_user_regs *regs = guest_cpu_user_regs();
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -3032,6 +3032,30 @@ const struct hvm_function_table * __init
>      return &vmx_function_table;
>  }
>  
> +void __init prune_vmx(void)
> +{
> +    /*
> +     * Now that vmx_function_table was copied, populate all function pointers
> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
> +     * much of an effect as possible.
> +     */
> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
> +        return;
> +
> +    vmx_function_table.set_descriptor_access_exiting =
> +        vmx_set_descriptor_access_exiting;
> +
> +    vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
> +    vmx_function_table.process_isr            = vmx_process_isr;
> +    vmx_function_table.handle_eoi             = vmx_handle_eoi;
> +
> +    vmx_function_table.pi_update_irte = vmx_pi_update_irte;
> +
> +    vmx_function_table.deliver_posted_intr = vmx_deliver_posted_intr;
> +    vmx_function_table.sync_pir_to_irr     = vmx_sync_pir_to_irr;
> +    vmx_function_table.test_pir            = vmx_test_pir;

Hm, I find this quite fragile, as it's easy to add a new handler
without realizing that addition here might also be required.

I don't really have good ideas about how to handle this, unless we
populate unused handlers with some poison and loop over the structure
as an array of pointers and choke on finding one of them pointing to
NULL.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:11:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:11:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638649.995446 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5kCa-0008JQ-Ve; Wed, 22 Nov 2023 10:11:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638649.995446; Wed, 22 Nov 2023 10: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 1r5kCa-0008JJ-Rk; Wed, 22 Nov 2023 10:11:24 +0000
Received: by outflank-mailman (input) for mailman id 638649;
 Wed, 22 Nov 2023 10: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5kCZ-0008J9-CI
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:11:23 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0627.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c79d5ba-891f-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 11:11:22 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8160.eurprd04.prod.outlook.com (2603:10a6:102:1cb::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Wed, 22 Nov
 2023 10:11:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 10: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>
X-Inumbo-ID: 7c79d5ba-891f-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BUl71msbM4DexiATdhS7d6ZNh+gp+VuC+gzHXVJ96nVCCT2R0oRNQi5xSXBvvySavKfPP1D4dwHxyL/0FIxPWjEdbFHUCVwiJeQWbbaK5m+X/TLRiPrs4+F+LAtPwXh4tZ3CwMp7ikK4ckdbeRxaa/mphcsxltB9bnqCyoF9ROcbEXXuFlVWhvvKDHcSaOoV0syeipwvIhmcedShDR9pulFUBWM3W7YnUjhd/OcTw6kF75dbT1JckwJLTBXLt71lKDo3umzzdDG9cpUnCm23a/En0E8IVD2Jf8lQ2rXHoisQTT14RIQpPZbjcKXLNi79O7B43MOiW2kjAFvGDRQY9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6AfuVueQU6tpmR6J1P/Q38UrAnnQZZVz/Zcx8rFDMHI=;
 b=bnMCvwdbaOOdfKdVA1fPtHXsg8WU3CD6HPFe8f5Rd13boF2jPNTnkrxVB0DlD7naaXl65ykUY+9/lCValXjknNtnp9a07VDsjCPprDDf44HG3sHJLV244J6xsnxg3LsO6i41riu0DQt8ONId8DOvyJyKU4lV8WXTozBQsLOLEva+NyXG6YrKmtaTSn5vvPqSOlMocOugMr8eSJknROOpWsak1/jry5VbGqI1ltXVoVAfZUch6L79nTq/HucRex3aGgb80cPKJYrvmU2ckRuofeov0ZrWljGKsnhzxDewbx/ls3SzqgUkMZx+TYC5otVHZWNL77HHTvtiXlYuEjVUtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6AfuVueQU6tpmR6J1P/Q38UrAnnQZZVz/Zcx8rFDMHI=;
 b=oPz4p0Tx/6sMlSYEsV6M1deJKVyxyyJJHpywWgyjkjEreu8iKLtmZ713gUAxm7Uj3BuEd50VbJWR1a3QlmEUCCj/3r4whQnj7EJEPuP8xFqX4a9SUCujRpapnO/KXEkRkhKP1XQl58mAX1V9vunqIfjKcCtB2H3K1MibQvtemUdsEyMhjIw2s0EmcH8JSzNreyTqQDPa6F0hiyUVsvIVePOXLx8RpTXQGwToGBfF3MfHiDL6g6Fk1LYo3dU/jUn1kpdlbPIy4iCCWilFqqshq48+AceSfJLWJdyVW2z+gocM5QAZ/BxbXa/WNz4ul+JpjRcD6nwPrAI5kpJLpgOKwQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6f68bada-5db2-4b88-bf04-c77d527789f2@suse.com>
Date: Wed, 22 Nov 2023 11:11:18 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] x86/vPIT: check values loaded from state save
 record
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: 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: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <584f566f-a0c9-49b5-b592-89ac4f1ecd05@suse.com>
 <804bc3be-256b-4a07-8779-06a5c2be1cef@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <804bc3be-256b-4a07-8779-06a5c2be1cef@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0195.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ca::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8160:EE_
X-MS-Office365-Filtering-Correlation-Id: 14b1e476-3b69-41bf-9aeb-08dbeb435f2d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LTijSaKsVGfMi0slEGPy2PwxXAsUNXgoockfd/ta6Q8AdSwro+GV69w7er0bTqhcvhgTMiZQpymYA0NU2ytMgExZ2xXUpQ4R9fBtNJj+co17ur0+505yxkvkOI2a0Nn5kGPZQiWjz0oKE1lbdoBEelcTk5/IyvQpC8kI0zsttCk2v9xAZ/MYcveEY5CnLAqudFYHyIIK5E+B44ole+tKhp7msWOc75vz7Ew8JbevH1feg2zZSBjYPKjXJ0D8oD3tp3BCEYfrUl1SjnsaDrYQEyws4z1TZLpKkKBNAKPd51HTMBA9Zf0QTcoEb53USCx2ZO7m4+CZZrMkQxqZ/6ntV7U5ZZtojw1vuLEeE6duHwApbAgHzEOiGJ3gqJjVrotWjdPBZjgLiSeADCG/kesXjCEA69/i9IzxEZRJ84ViEu7ugqEqV765xHi89zKCPw0l+lf1il1aD14foRxGMX7EZdviJCr1JDgl3x4SRd8eiHHnM5gmdDqu3YhhHmNW3xf7Kh6I1yan9FdynvCbjlf2DDJh8n/VxNioId6v35XWKzhiNboZN4YwxknW9lna4YL7WcGJKlIWW4NyxEAo0g211q66Aq1sx+k7fuIr20p7mZSGLhdQSyWneSSeK1t73zjX0IYDk7pbHuOxYkBDbvL15w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(39860400002)(136003)(366004)(346002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(53546011)(6506007)(31686004)(2616005)(26005)(6512007)(316002)(6486002)(478600001)(6916009)(66556008)(66946007)(66476007)(54906003)(4326008)(8676002)(5660300002)(38100700002)(86362001)(8936002)(2906002)(41300700001)(36756003)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WjNUVk5OMlpOQk05TXRMRUpSTEhYb1NqbXpQYkYraVRZekU5c21lcWp0M1RT?=
 =?utf-8?B?RkRGckZ5bCtSYzJ6YjMySi9rWmgwUVRoSzExY0pORFF1WHNwSDI5a1VHOS9v?=
 =?utf-8?B?eThuOGIxVllJREZRWWdmbnhna1VOVXhCb2V6RTB3aTc3UGorTjM0ai8vVlBw?=
 =?utf-8?B?Wlg1YkFhcDZsNk5tdVFPemlsNzhNN0lNWmdLRGJRUzlyTlZvQ243ellsUk5T?=
 =?utf-8?B?QlplUm1JVE14V1M1R1hDby9CbFdhK0tsMm44SFdUNzFXSDFsQ2dwbThUdUh2?=
 =?utf-8?B?NFVLWEx4NndKYnMwc0o3dUxpaWlBSUVRSW5WdklIQlcreUU5Z1ZvNUs5ckc5?=
 =?utf-8?B?clJxNXA5djFJOFdxdEJyY3A2L0o3MkdwMlFRNU9acmg1cWhQcDJlRWZVaHhm?=
 =?utf-8?B?YnNyK0crbmFOOVlKMFZxWHA2TzByY2ZrRXJEbGFxN2FzN0xpaUJaU3pvaFNx?=
 =?utf-8?B?cTFWR0dHK0FSYS9hWk1GTG40by9LZ29jdi9YVTN2empMbTB5UTByVUJvRm9p?=
 =?utf-8?B?Uk5XLzRLRTVIUGIwM1hCQXlRVm84eEw4dEJ1V3Y2bGZrTzA2T1VkZmIxb011?=
 =?utf-8?B?SEQ2bWJndFVQbGEyb25qMXBWTjBxK0hGNlFScEFPRDdMbHZraForV3RjM2l6?=
 =?utf-8?B?NXhLWjUreDkyYmE0cUFrK05nTFlrYU9qa0JzaGphWmc1NzdtSVlWSDRHWDdi?=
 =?utf-8?B?L0dtWi9qYzVoQ0JIZDRsc1pxekt4SWJ6WnRlNDdwdXVVazhxczAxRmNzWGRK?=
 =?utf-8?B?OHJNWGNlU2dNdWRSS2diY3lNTHZkYlNuQitHWjVDK2VrVU1JRzhXVmNhNDZy?=
 =?utf-8?B?N3lRZUVuaEZlM0dDcU1pZFdCOWFrd0czYWVSTi9RUTF2bnhFa1I4WFJJTHRz?=
 =?utf-8?B?MkJPbXRLeW42a00zNkVKbjlVY2VPd1dSeGJXNmxVNjRMQUtFM0RrL2hLQ1BO?=
 =?utf-8?B?MFNDOFFnVUZDVWhkczRuVEFKOVprVDN0ajNKUFpQNzNDVWN0OUhQM08xb1Vr?=
 =?utf-8?B?a045UFc3aUpTRWZNOHhlRzl6aVpDUkRQTzFzY1l4ZVZOSW9OVnVlYzBtSzFS?=
 =?utf-8?B?T25QcmZWNGpVV3ZzVGtuRS9TMnEzTUxqTmdMRjJwcDdwTFUxM0ZacXZwRk4y?=
 =?utf-8?B?bUtVUTd2WmdUMmNKQnJwQWNzandwNUNNVEFRNDRXcFhLVEtJQVF4SUNIcTUz?=
 =?utf-8?B?MzFlUzdHWU1Ndytoc1M5TmJaRHVUSXdNVW8veG1DaEpHZjNadFZNRkd0UzFO?=
 =?utf-8?B?Nk5sV05ORmJzMnRteEtLYlZYSE41Z3RCZklMcDR5YzRxdy9PUTBxT3ExME0v?=
 =?utf-8?B?WFIwTDVjUVd6anE0WXZGNGJuNnlEQWFCOG5pVk9pRUxpQ1lqY0JZdFF3UUR1?=
 =?utf-8?B?SUI4M3k5eWVFeDNtVVdoN0I5bHl2ME5qOGxXRTlmQmUwMUdIM3ZiVHpaYUhh?=
 =?utf-8?B?TjIvRnpFVXlMa1JZdEVFbC8wRUVidDdsblltYTcvZkxPZk9KclpYZit3cSsy?=
 =?utf-8?B?NjdPUjBYRkJFMG5DaEpVNVlxRUp6bzMrRk92T2o1RXJHajE5VUdpZElHV1px?=
 =?utf-8?B?QUZCNlQyNloxeWt0VGlFNFRSS0RDMEtFbGt1YnZlaFpoUWM3SHh6YU15dG5O?=
 =?utf-8?B?K0diYXFFOTcxVTdiS29iMkZGSWtZNVlDcDdkNktzRVNWMUk4RkNyRmJhUWZW?=
 =?utf-8?B?MlVsNXRKWGpPS3pzNG5mSVpBa0RWUEh6WGE4cFRkM2dZMWlxZ1JzSGtQOFZV?=
 =?utf-8?B?bnJQN3czcTVkeUZkZmlENXJEQ1dKQWJ2K25Kd0NFVmdSRW11cEhRRGU4MXBz?=
 =?utf-8?B?Ymtjdm1qNmJxemgxTEhMNHl3YjRiMGNmQ1NDUUhtRlA4cjdCSkxVWnViRVhY?=
 =?utf-8?B?cE5MUEs5M3FPbXZGbkNCUmZiMDdQMTdzK0xSbEpvcXBBTE9xTDBhaHMyQXFJ?=
 =?utf-8?B?SE83dGFFalF6T0o5ckxDTmYvcmhwWDZBcW84WjJVMDlaRUJOQ2hGMVN1QVB4?=
 =?utf-8?B?L1Y1THZPMWgzUVNRdWY4ZmxTTFBYZytrTWlDcVkvZTMzVTV2Nkw4emZMZm9D?=
 =?utf-8?B?SndIQ0RHK28xTHMxZ0dTeGpCT1M1eGgyNlYzNUJpWWlrWENLalVuOC9icUVx?=
 =?utf-8?Q?9XexYik/iOpT+AQ78mstrPuGK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 14b1e476-3b69-41bf-9aeb-08dbeb435f2d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 10:11:19.6650
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CGt4nc0l3xppMzAtGLOt+grHylkus9TPirInzzxwRcl6EZ+KN/fkLYJVv7CoiwSsV96C+HyS4UyCm0/t1yqKMA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8160

On 22.11.2023 01:37, Andrew Cooper wrote:
> On 16/11/2023 1:47 pm, Jan Beulich wrote:
>> @@ -427,6 +428,47 @@ static int cf_check pit_save(struct vcpu
>>      return rc;
>>  }
>>  
>> +static int cf_check pit_check(const struct domain *d, hvm_domain_context_t *h)
>> +{
>> +    const struct hvm_hw_pit *hw;
>> +    unsigned int i;
>> +
>> +    if ( !has_vpit(d) )
>> +        return -ENODEV;
>> +
>> +    hw = hvm_point_entry(PIT, h);
>> +    if ( !hw )
>> +        return -ENODATA;
>> +
>> +    /*
>> +     * Check to-be-loaded values are within valid range, for them to represent
>> +     * actually reachable state.  Uses of some of the values elsewhere assume
>> +     * this is the case.  Note that the channels' mode fields aren't checked;
>> +     * older Xen might save them as 0xff.
> 
> "older Xen" goes stale very quickly.  "Xen prior to 4.19", or "Xen prior
> to the time of writing (Nov 2023)" if you're planning to backport this.

Can certainly adjust. And no, I don't think I intend to backport this.

>> @@ -443,6 +485,14 @@ static int cf_check pit_load(struct doma
>>          goto out;
>>      }
>>      
>> +    for ( i = 0; i < ARRAY_SIZE(pit->hw.channels); ++i )
>> +    {
>> +        struct hvm_hw_pit_channel *ch = &pit->hw.channels[i];
>> +
>> +        if ( (ch->mode &= 7) > 5 )
>> +            ch->mode -= 4;
> 
> How does this work?  If we get in an 0xff, we'll turn it into 0xfb
> rather than 7.

Did you overlook the &= ?

>> @@ -575,7 +625,7 @@ void pit_reset(struct domain *d)
>>      for ( i = 0; i < 3; i++ )
>>      {
>>          s = &pit->hw.channels[i];
>> -        s->mode = 0xff; /* the init mode */
>> +        s->mode = 7; /* the init mode */
> 
> I think it would be helpful to modify the comment to say /* unreachable
> sentinel */ or something.

Can change, sure.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:11:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:11:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638653.995456 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5kD7-0000bu-C7; Wed, 22 Nov 2023 10:11:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638653.995456; Wed, 22 Nov 2023 10:11: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 1r5kD7-0000bn-8A; Wed, 22 Nov 2023 10:11:57 +0000
Received: by outflank-mailman (input) for mailman id 638653;
 Wed, 22 Nov 2023 10:11: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=HdNt=HD=cloud.com=christian.lindig@srs-se1.protection.inumbo.net>)
 id 1r5kD5-0000bZ-Uc
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:11:55 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8f789d1e-891f-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 11:11:54 +0100 (CET)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2c87adce180so45092371fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 02:11:54 -0800 (PST)
Received: from smtpclient.apple (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u12-20020a05600c138c00b0040472ad9a3dsm1667203wmf.14.2023.11.22.02.11.52
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 22 Nov 2023 02:11:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f789d1e-891f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700647913; x=1701252713; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=X32I1qDaBWsvKQMJH+9/U78hLuZ01vavJ3x6hlm/z70=;
        b=SPMI/4rE4/02JCwOwYhn9+nyre/jWQA3Qnqk2DltwR3++QAciv1aq04Jmi/bhyzNE8
         WUex4ddsleBfTbuLSj+q3lBz9shIFe6hD2qGdCgshsO3L2+paDPaissmczyB4vGCd+CS
         wohgkYh2+NodGr1wNC8wpIWqx/GbcKkhewOJ8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700647913; x=1701252713;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=X32I1qDaBWsvKQMJH+9/U78hLuZ01vavJ3x6hlm/z70=;
        b=FlXeuLu2Yd+K89pzl54YWk2QB0LiQncyFNBx49ZEOX/7LVIge6RJcKeUtanTn1QtoW
         H45cRkXN/Q0G9aijPbJMddwuM2i/ebjGqhoEBxci0ucOuCsyCExRTNzRldq7Rc4SW96M
         KCyBalxV5D02bK0BOWSpdf8LrtiipncTydCeBV39Zl3MojSh4PVTongxfpi0dKY9Ukca
         n9PDLaH1rEoY9S5bG7Ruou+pmCS/9pVOgHdwHA8fjUtaxCbDhZuXfms8XHOV65DoFMKR
         f8BwRuI4KRGz7iUy7eBSAzM6iNQc4MtRT0+GgsgQohVD8PiWFwDkoVNCZQRRdl4kvG6V
         dzrw==
X-Gm-Message-State: AOJu0Yy6n+PdX54jDqirK5s5zXJ+YcRydUxpvktkXtZiIz23ZF1VPHlY
	EFd/gGmcwMA+bNwE/WjABPtn9A==
X-Google-Smtp-Source: AGHT+IED1Y4b/ZWWUFWg7+FFh3UiuASf0S5CEuj8xvX4gzGF9kzgnX1WTU7OSjwHyZf7W0pP+4uIqA==
X-Received: by 2002:a05:651c:199f:b0:2c8:7192:817 with SMTP id bx31-20020a05651c199f00b002c871920817mr1540982ljb.15.1700647913525;
        Wed, 22 Nov 2023 02:11:53 -0800 (PST)
Content-Type: text/plain;
	charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.3\))
Subject: Re: [PATCH v2] stubdom: remove caml-stubdom
From: Christian Lindig <christian.lindig@cloud.com>
In-Reply-To: <c476207c-229d-4f0c-9993-92ec4b2b7b6e@suse.com>
Date: Wed, 22 Nov 2023 10:11:51 +0000
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Edwin Torok <edvin.torok@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <42855D0F-D2F3-47A4-BFC4-2A3241244790@cloud.com>
References: <20231122072110.22413-1-jgross@suse.com>
 <b36d5838-28cd-4b76-9597-b77df3812439@citrix.com>
 <c476207c-229d-4f0c-9993-92ec4b2b7b6e@suse.com>
To: Juergen Gross <jgross@suse.com>
X-Mailer: Apple Mail (2.3696.120.41.1.3)



> On 22 Nov 2023, at 10:08, Juergen Gross <jgross@suse.com> wrote:
>=20
> On 22.11.23 11:06, Andrew Cooper wrote:
>> On 22/11/2023 7:21 am, Juergen Gross wrote:
>>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>>> index c341c9d0bf..bbb3cd5beb 100644
>>> --- a/CHANGELOG.md
>>> +++ b/CHANGELOG.md
>>> @@ -14,6 +14,8 @@ The format is based on [Keep a =
Changelog](https://keepachangelog.com/en/1.0.0/)
>>>       for IPIs and Physical addressing mode for external interrupts.
>>>    ### Removed
>>> +- caml-stubdom has been removed. It didn't build since 2014, so =
nobody seems
>>> +  to care.
>> May I suggest some different phrasing.
>> "caml-stubdom.  It hasn't built since 2014, was pinned to Ocaml 4.02,
>> and has been superseded by the MirageOS/SOLO5 projects."
>=20
> Fine with me.
>=20
>=20
> Juergen
> <OpenPGP_0xB0DE9DD628BF132F.asc>

Acked-by: Christian Lindig <christian.lindig@cloud.com>

I am fine with removing it as well.

=E2=80=94 C=


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:16:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:16:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638658.995466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5kH4-0001RI-Qr; Wed, 22 Nov 2023 10:16:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638658.995466; Wed, 22 Nov 2023 10: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 1r5kH4-0001RB-O7; Wed, 22 Nov 2023 10:16:02 +0000
Received: by outflank-mailman (input) for mailman id 638658;
 Wed, 22 Nov 2023 10: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5kH3-0001Qm-FX
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:16:01 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0613.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 219240b1-8920-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 11:15:59 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8684.eurprd04.prod.outlook.com (2603:10a6:20b:43f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 10:15:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 10:15: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: 219240b1-8920-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MNpHR2pWcsg+oDfGtds8UxaXRr1JXUhYUXEwnGZLmKRZLBFvwHrUpiUVkeBZVyCXvnyx6lC2zloh9RtTjjc/Eq3hQQsmnLdv5Vyyg6KuruQ66e7zCqcncIWR0pzrrN6ZhqOVVBOPqivHZHnCfrGgib9YCylzI6lZXJ1xSJiV660Rg6tWwqHm1lc8cS3suCwvofPcOnUbqrAsmjad9MSFzNmpnk/E4DSt7tLNU02UPsNajG2FW/Hm3xHzrD4FGhN8A9o/WSRY2idybyxMVYTuKY8pWYQgTahfb6ffA8coMwpBCBaWk9o3d19flc7IlRzJX/q30Jjg5W6UUhzpS+KfPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ij8OSWwPUG94LjOI4L94nIiV/APZhctvqMzTAW6wQI0=;
 b=KPdZ7o1YRU7mrwYPazKCT6YqgYbYRVTfZ570sGJyD2mTzOx+YYJjY06qHAgKNT+fOiKb6RftrM67E0JTM6wwr/8BJcZ6gke503obBr52u0HAK14qpNeZlaqwtTc/t/7rys5/IZr92wNW+1oYk0VykONNz3Dzv2xN8telK5+fJI4UmjwqpDYLemIgwP6qMkaa/7DiPyO2EJ6MLe31s0x/zH4TLi7WcMO0L6eW841O3/iyngqtN5z0Njbwk9zVb0u7jalcRzAElVwzGGfPKdhdtJxnkDCvfgnbU25jiJ/oEvxFwMIW0LwxwmfpHKZbyVOyQXFdtRR/lXal4exqSY501Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ij8OSWwPUG94LjOI4L94nIiV/APZhctvqMzTAW6wQI0=;
 b=w3mjE3iaqirIgzgtVkaDBKJ2pKITm5YD5c/0dMtpTxQ/NLeiYyLE+0s0Zz587GHudQOUyhkVXw/KWMlhoCxdisafGNt9VCsXRuo/EzsQLKYlDidMFZp3okTcPPT+QeDWhINsJ85XCcdvaji0ykvxzoMw33FcUxn77qLiGilmuHcNRTspLKfOA33g6A3GABoH0jT42H+PX4yZwraaBP+A7fK8s86n097rO13q6fi+K+bqXK/6vU/CAj1iSMjljMYWw+yBWwHQ3MvwxTrDyHvD849G5ShdorKLG2sRYodqasPPOawJ6nPOcV7DSR2EJQPjxO7SAn4OAwsXHLaprcZ5BA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <130e0ed9-fa40-4622-9637-98d326cb740f@suse.com>
Date: Wed, 22 Nov 2023 11:15:54 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
Content-Language: en-US
To: Juergen Gross <jgross@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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
 <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
 <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
 <84234983-f811-4e5a-b01a-0a68f2e73447@suse.com>
 <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>
 <5d293743-59ef-4a98-b018-cc7e92d76b29@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5d293743-59ef-4a98-b018-cc7e92d76b29@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0160.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ba::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8684:EE_
X-MS-Office365-Filtering-Correlation-Id: 2402faf3-ec3f-4285-a9a6-08dbeb440457
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:
	rIq/frVrKW59/UA2I2nHByzHAQpQ+4aC0g2UiEs1Oa5Tr1YBY/p9kQVo+wkebRZchaNkyBvSak6q0JChDitd/BMvBGum0Zj11Ccpsyd40AcCLuNL1ttPzdUjSicsEoHwb8wEmJTgIkb5lHnYsj7HGdE7Kg9Pzp/5Oh2CMY+VJhXTCZraUaqqQGXSYpQ5T0faLmjFDLGPZdpnkiiAi3jY4dzE3HTeKWExZto7rHhjceY4/Za8YRyq20CGkoQcP42DQBtSyZ+3zL3VkFdNZDEMnZUON+9APK6aUUZkwgHUbadWWqAd2kNvPDqWKkKNdWPoD+5BfkbEuidTYmY/rtF+rxbU9l16WYbI7LkM98yoPHfljBGiXUKZUOVEva9HCBqYfbNY2He3EYC3pnLQYVqItituDobLm8GtaOCtVw/9aqr7hQSkkOGgmn8xgarBThM8deAjaT7AlNYSwOeTyokE+Zk62xLF6Rc83AYnVBHoFBqWm3YUbL43Im1y24M5wjJw3iD7I0vAOzX35BbuinUQaTAWLLNgL+hCrInoHrHkghzCqmM6U/Gd72V/fOcqMO7Qz/K7F6ubJHbQXfQm+FOvg6EIaa8JvUzgni13/m6gV/QTwv3t3ClAvhcL3QtQC+6n0Su9cIRzdCMCkj+lB/peEqThU9GjuCNhFWzq8TsvApvPsYN5K9J1BcBhDukLgKS8
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(396003)(376002)(366004)(346002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(5660300002)(4326008)(31686004)(8936002)(6862004)(8676002)(31696002)(478600001)(6486002)(6512007)(86362001)(6636002)(316002)(66476007)(37006003)(54906003)(66946007)(66556008)(36756003)(2906002)(41300700001)(38100700002)(26005)(2616005)(53546011)(6506007)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?c3RvZjVheWQ0d2prTW9HYXYxT2hsVk5qMEJaQ2ljLzlsZ1p2UjdtaVcwVUR3?=
 =?utf-8?B?cjFqcitWRzlOMWRmSkxuQ05VVFdoSUs4RFFKR0FxVkJ1bXY0OURFc0toMGQr?=
 =?utf-8?B?U09VY3lvREpUQk9FVzNxVDFzemlzUXp1Q05Ud1ZTWlRnM1BwYzFvMHIxNmRu?=
 =?utf-8?B?WDZqZWQ2anZXQjFmZ3J0OEp0OWZSYmhaVzU5eG10cXAwWnJXbTVubCtYQ1Z5?=
 =?utf-8?B?OHlHMzUwNHlnbVU2azA2Y1djTHBWVENHYzk5WUUyMzhvcmhTOXRwcnhyK0c4?=
 =?utf-8?B?QjRTS2RnTE0rM3pEbXdNa2lWeU1Fdzd0dHdFRUxoc2ZSTjM4a0Y4dE5JME9K?=
 =?utf-8?B?ckxCT1lETm1zcitTZTZQRkpNMDFpb3MwZi9ua0kzY1gvMTZVYnNXTnZEa3hV?=
 =?utf-8?B?S2pGWXF3czdJaGwzY2dNcUVHeDJPYUFrZjBabklodUhRYjNqTzVrdktYV251?=
 =?utf-8?B?VXNXS1BmUm9IaWNQWFFXSWxvK1IwditkeHl4RmJ3eVlhUDAwNU4rSjBOVEFy?=
 =?utf-8?B?Zmdkc2lNaEo3dFBibS9xMjBidVRHb1Rxc3BCN0QwSE5KV2dRd0ZoU0xZcEtO?=
 =?utf-8?B?c2Z4TWRwWC9pdDY2SEpwMi9OUXdxWWJ1MHdCWldPU09KWXV0TmhTNXlTdXQ1?=
 =?utf-8?B?MjF1M3I1eHdoSXNlZmhtOVJsb2x3Y25RZFl3RnNubW45SmJMMWk2RnVsT1Zw?=
 =?utf-8?B?ZnVvZUkxcDZLUkJaSWkxUld5d0FnQ3pJd1Q3a1g0eDBtWGIwc01Fb1d0TzV6?=
 =?utf-8?B?VFRTenJYVmZjRXRNQm9UMVpWYVZpSU1CNnFnbUtMYnVvcnMyQVowSDAzVHM3?=
 =?utf-8?B?a29Wc3Z3TnY1NFVXcVZSOTRwSVBJZWxjZzVCYUtYeS8wZXMzazVhSU83VFYw?=
 =?utf-8?B?cThqZ2NoT3B2OCtDUmx2MHBEKy9CTWVZd1Z1cTdOWTJqUFA2cHhGNXNBVWMx?=
 =?utf-8?B?VFA0cTdQOER1dnJIL2tWMlBXa3d1anV2L2U5cGgzbndOU1BKR2RCSVJRTzFq?=
 =?utf-8?B?Nm1ZWTIxTXlwWGNycDhVTEJRWDhZUFFrQnNtMDY3T1dUekNEUlBPOHhNakNV?=
 =?utf-8?B?djhRb0c2K2c4Z2VmZXBaMml1bmdQR1o1OUFTeWpqbzhQQ2d3UjV5OTYrQ3ZL?=
 =?utf-8?B?MXhNNStqU2dlZlhseEhmNFNCSDRqdWJNWHZBYmc5T3FHSldLdjcvdDY0M1Za?=
 =?utf-8?B?dU53NUFkUmhKZUlEdXFUMGxxY3htZ08xbGltOHdBWlBDMVZuVXlSeVgzNkFV?=
 =?utf-8?B?WUJzbzF0OWV4TUJzSmNMZDI4T09Na1dkU2tYTFczaVJaWnJGekxQSGg5cUh2?=
 =?utf-8?B?ZzRBR2Z1Qk91VUFTNXBZR0Q1TjFwUkYvWUdnUjhIdkl4MTR2TTlIeitiRWlG?=
 =?utf-8?B?Sk1SRDc0VzRrS0dhL2F5M3IxYTFqb3F0Rm9WWG1Rc1lrcWlXNzhjbkZodTBq?=
 =?utf-8?B?ZXNya3JtL3FLa2Jld01nTFVPdGM1bGVCa0F4VjRzWW1hQnNsdHdPSms3VHNX?=
 =?utf-8?B?SWVmMWQ5L1JrdWkxbUZrL1FpWXBDMU5qWXNhQ1Q1QVJuQ0ZyZnluaDRJSEVk?=
 =?utf-8?B?TktPTFBONW50WGhmdTJkN0tKMjladTMwU0o1YkJJN2NjUjJ5TWJNci9PRThj?=
 =?utf-8?B?Tm04ZHZhNHdwbXc4VFJiOTNCMSt6WGVxTkFCR1RDeTRWNTRDVFpYaEY2NHcv?=
 =?utf-8?B?OU1CK3BEdDY3ZUk3aVNEeW9jYk56V3dpR1dCWlFWT2hlWjQxeTdCMTNyYVpu?=
 =?utf-8?B?QytOTXdNazlhQ0ZqTDJIM0ZGNUsrdVMzaDVmUFkvckUzZTlhZStqeVpjaGRO?=
 =?utf-8?B?NnZzWmZLVExZUUFnSzJLeHBncG83R3FWOExTdm1MRXVmV3NOVmVjdEdlbkto?=
 =?utf-8?B?Z1I1MnlsVHFaWFpzSlIrYlZRVSt3Ti81RytYKy9VQVhMT2dWREJ0MGRESkU4?=
 =?utf-8?B?QmRWSW9STFRmRC8zOU5oT3BxK0x2Nk1ram85K0JqYjFyUzBaR2I0QUNZbC9n?=
 =?utf-8?B?OWpxQU1DVDJ3andKTDNwa1VVSCtzcXl5OFVEOHRnT0U4ZWpUYW9ua1BMd0Nt?=
 =?utf-8?B?QmFMQ3JWMVJxQ3NMckgxc2llOXluSVdLUUw5L0RabjlEZXNIWUFIS3dEK1lP?=
 =?utf-8?Q?Hyp6Od4S0S+E2aia8+hqCPY+O?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2402faf3-ec3f-4285-a9a6-08dbeb440457
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 10:15:56.7129
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qTD8ZkRxr6hhHJhgjxwGtzywhtX+kIM5SlbyoZpEpfWqftd4j9cK/P3wMUwDfI4tWkmjd8PqD6+KNZHb7sYRGA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8684

On 22.11.2023 11:07, Juergen Gross wrote:
> On 22.11.23 10:59, Jan Beulich wrote:
>> On 22.11.2023 10:53, Juergen Gross wrote:
>>> On 22.11.23 10:21, Jan Beulich wrote:
>>>> On 22.11.2023 09:57, Juergen Gross wrote:
>>>>> On 22.11.23 09:39, Jan Beulich wrote:
>>>>>> On 22.11.2023 09:31, Juergen Gross wrote:
>>>>>>> --- /dev/null
>>>>>>> +++ b/tools/python/.gitignore
>>>>>>> @@ -0,0 +1,4 @@
>>>>>>> +build/*
>>>>>>
>>>>>> Are this and just build/ actually equivalent? Looking at our top-level
>>>>>> .gitignore, I see e.g. extras/ and install/*, which I would expect want
>>>>>> both treating the same? The form with a wildcard, to me at least,
>>>>>> doesn't obviously include the directory itself ...
>>>>>
>>>>> The .gitignore specification [1] suggests that we should use build/ (same for
>>>>> the new entry), as otherwise entries in subdirectories would not match.
>>>>
>>>> The description there of what a trailing slash means isn't really clear.
>>>
>>> "If there is a separator at the end of the pattern then the pattern will only
>>> match directories, otherwise the pattern can match both files and directories."
>>>
>>> "The pattern foo/ will match a directory foo and paths underneath it, but will
>>> not match a regular file or a symbolic link foo"
>>
>> But this is all about entries named "foo". Nothing is said about whether
>> foo/ also includes foo/bar.c.
> 
> "... and paths underneath it" is rather clear IMHO.

Considering other text - no. To me is means other directories named foo/,
e.g. bar/foo/.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:23:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:23:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638661.995475 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5kNv-0005QE-IZ; Wed, 22 Nov 2023 10:23:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638661.995475; Wed, 22 Nov 2023 10:23: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 1r5kNv-0005Q7-Fi; Wed, 22 Nov 2023 10:23:07 +0000
Received: by outflank-mailman (input) for mailman id 638661;
 Wed, 22 Nov 2023 10:23: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5kNt-0005Oo-ML
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:23:05 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20604.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1e81f983-8921-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 11:23:03 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PR3PR04MB7290.eurprd04.prod.outlook.com (2603:10a6:102:82::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 10:23:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 10: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>
X-Inumbo-ID: 1e81f983-8921-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VCWfh/DFNxSQocyRbxstjejBCDV6TwYMKTHh+QO2YMbUAm8y3WuFqm8JUVPELrV5QttQnlFeZ0laQOmLd+vHK8dJybWZA9qom/JK+2p4PwlJ/00KGOoTRZeSu3280+Csp8jEhOHW9XvkrP8XV08K6XcEe7EKasBYC8z9ibH6NQxZuYDBR1a8SvTIsC7uAAoPUguYCNMsCpC7TsghKt50ncAIAQb0oNA4Bx6LweroVrO0QR7BmuIUnzeOkrfAYO9/1oOBp5+aNCnO0+Vqty7A6emoOkP0uTfInER290/RHhrHAEzIA9/UskkgY16kCWzddRjzsccbyDc92ZrzThezvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Dt+eH6WhvJViIB34I4PFCE4faK683QNMVq2grwObIPo=;
 b=kx+ZXSpFayPYfCr1l0RrZitmZJVVIeadOK8yezoAoqlTGy+ffxfjJqCkQpjKLz1U7XG5VlumN+c/IjIcuTz4Uxj5+9G4THuMQV+qp7DNvqLSiFcEI51f7FmnuoVjtBWU17f/n5Rtq6pP9sDvSPaNTIAd1Ya2q4l7y2QfhAnuu27O9qoXUj9n+7aol9ReSStFMCOPOEwTch2OHZEvMSd9DBEgx8UOjB5PFc2dSstVtWNPNSJanS3CASZnkwIgiqpxmamrFG0zEQmnepXgvlrWBjcOya3dbVcE5k63DLDHOoER7cVy3Pacze4KWAe/yEmA8GLC1PjycQZYOY+K3b9M3Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Dt+eH6WhvJViIB34I4PFCE4faK683QNMVq2grwObIPo=;
 b=puvNwTIGZFKdTIwC32yfMgtBsX1m172tFMTp0XJRhiTdiV1r+VjVxqzLUddh7Pl9Jjuo2DDLSgxs0jQM4ELm4zvorK8sBpOBC4p+OznLanJvJGi3kOUPb5eYOlXXfhDK1xoRDNflv+TE52m1y6CP3wAS80PNi/o2WU/oYsPCruH40VpZv9qrHUMhqAQ3OdY14u/0LigQ32BT8UZG2S4+ZDhhpRpZwM2SRnrHAXWoWom76B+gJMSOVhnHPpsS2d19GY2Yb7mhYybQf/OzkBxXbGdX+tNiGaTSXaPDI9xIudYzXcYGqiahC9eHgXlXwz1nHF4JQmoYPqKBVEgROoOP2w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fee36c33-e6dd-4573-9173-0bb93231f90f@suse.com>
Date: Wed, 22 Nov 2023 11:22:58 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 5/5] x86/vPIC: check values loaded from state save
 record
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: 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: <08e0708c-17e2-4a5e-aaf7-5f60a40f76db@suse.com>
 <976532e6-9514-4a46-8ca1-edf66f22659b@suse.com>
 <52ec938a-053f-4f73-b4d9-984547497e16@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <52ec938a-053f-4f73-b4d9-984547497e16@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0180.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b7::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PR3PR04MB7290:EE_
X-MS-Office365-Filtering-Correlation-Id: 45e7d0fb-d381-44a6-d01a-08dbeb4500c9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HU0pxCBZfCypsnGcUTdyfl0oJhsc8s8/vxwKUYBiRWXnruOnnRHQuB9cwoc4u3xfjSauk2nXc0T16rmbTadzl8NTE+H3j51UlB8u4fGisrI2ZY0c3Q3/odEzKNcQ07/Uo9roCmFBNOOAjM4WcLhHZH/+buSAZQ+mgS8jMbB5MfIapSqCBJeggB1f5gQU6B6zTcv+HsDa/rB6bystAB/TNp33HAFMP+nS6MlVjoAMF4zGCME7rDA+Jb54bbuGfG8cfb/UADsaZ7DjggAc/23ROi3fKI5qMro1VqmBjVilRSTu5HUe85WCf99zDU40H9BjAmYBwm/weD7vqdEEe0ffR1ZR3Pg+I3psymR6MfJAUC6agm4Ks7gm/9lJleW3tBh9uqj+B0IbXMgz/yyyToHHd7z4zKzDyeTlXAeSIZshTV9vTh0c+u28ZIqbk+G5MpRX/41l7Pfg5mkvkfQ2w5oj39HnmfT2iKO3S6j1w3dBu/XXGiLgjcIPe/xR6XUCtQqQgwsh5xZ6uKoC3mOzgAQATr0WmmiWgMwoH3EMHc3PB5ds55y4QHSz7ER9C1CJ15BwwEdO3V39CWfIXqDyzdIIuyE3dmJvS01ZcTurZebGqJ1XUkYaPuuLMnzPiXvUptVpWI4IAsb0dKmQr0tlB7l4ew==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(376002)(366004)(396003)(346002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(66899024)(36756003)(8936002)(8676002)(4326008)(2906002)(38100700002)(5660300002)(6486002)(478600001)(26005)(2616005)(83380400001)(54906003)(66476007)(66556008)(31686004)(66946007)(6916009)(316002)(86362001)(31696002)(6506007)(53546011)(6512007)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Sk84ekxHTUpMdkpBMjQ5OU92eC9OYzkwOVJHNnM2Y3dEWWI4Q0RhU3g3dnlO?=
 =?utf-8?B?RDlWOXUvSTBubjl2VmN3Mzd3dXIwV1dSNS9vNkU1TjNUMzZGK1ZHSS9NNllY?=
 =?utf-8?B?L29zUTk0Z3JjY2pPS2l0emxWU3MxSGpjNGc1NW5udFBBalY5S3VoYXF6NGtN?=
 =?utf-8?B?dlRYTjJuTzRiNzY4dlNWL0t0RllkdkpzOGg1dU9hUERoVFliWEE1eWloNmtu?=
 =?utf-8?B?RDhvSkd0UktVanpWczVVYWpsTDVMbmpZN2VGbzZiNXkyUGlKNndsQ2hHNVI4?=
 =?utf-8?B?YzJralR5NlZod1pOQ3liZ29KcXZUWG14V2pFamt1UnBtcldvMWZNeTFpSVJs?=
 =?utf-8?B?RnRkaWl4dlRhcE9lK0NKZ1cxUE5DL3pqNTU2K1RkdzBBeEhha3h1MytuMnNn?=
 =?utf-8?B?NldPSG13SnhvYXlUdS9CMERHcDRRQVYvWExGMExKRWpwV3NJelVUZE1sY2xS?=
 =?utf-8?B?WllVY3BNekJHcHRCNXM3Q3V6eDJSbzhVME9Vb1ZvUjZIKzNpY01oSHo0bmdP?=
 =?utf-8?B?STJEL0pCVE0wdjdZeGxvTnFTWjB5Tml1UUVDNTlidWtmdVBPZ3F2b3VXdmx6?=
 =?utf-8?B?SkZMRHVzcVhKdGN1SFNyZnRkaVEzbHpMK05SK3RoYXVTMzVTeHpjSGhhUlk3?=
 =?utf-8?B?ViszZEZ4YnVNeHMvaG95OXY1ZmdMWWh5ci9KYWlzY3Zydno0Mzk5ZS9mVkJS?=
 =?utf-8?B?MTdXUDkrUCs0MXNVSlMzbWRUdlVURS83dHdPaTFiT000WU9OeEhweTNyd2xY?=
 =?utf-8?B?dDY2UDZvNHpVZC9RYVdVYnNMUXllQXBoZUNSbGxHSEEwc2FDQyttTDRoWXRS?=
 =?utf-8?B?RERBenEwRkE5UFNtMnY5cmpweVpiUFZ6ZFRjc3hxQmVLMG1UVU5ldWp6ZGlw?=
 =?utf-8?B?NElmSENOSHpxL25PYWRuUlpldmxwakpuQ1RhTC84NDdXYXNXeXB0RitsTnR6?=
 =?utf-8?B?ZndvSVNzdG5nTGd2VjUvMjZoa2lPN1V4UjRVbUZtVTRob0F3UWZGbUFNUGFZ?=
 =?utf-8?B?eXJRTUVkeVdjSlVwUkhRZm5iM2NlUnNWOWtUSHZ4c1ZwUDlvc3pxS2xzUENw?=
 =?utf-8?B?S2VzdWpMMnYvMUVNS0w5dmZUY3gyRzBLTVVySXZrNjViRm9UNGdWUm9oMXJN?=
 =?utf-8?B?RmF3KzR6QjAyZUxTY3ZQOHNYM2l1cGxEKzUvRFRRNDRLRXdWSnlFVUpRZ3d6?=
 =?utf-8?B?a2JZZVRHNDhxei95bVQ1TnlrQTRSQ1Jlak9SNDBTM0JGaXNzZ0pmaWpqRkJL?=
 =?utf-8?B?Ni8rZmF0VGFpeTlGWnlwRzMwQS93YWE1TnNVeUlIOXc3RkQ5ZHlWWk5wd3h1?=
 =?utf-8?B?NDA5TjNXbmdvbjBBS0F0SGJuN21TU0pzSzRVRmtOcVdkMU1pZ2JNOHNEVW1H?=
 =?utf-8?B?TWhTeU5TMDFFclR0ZDlaN1VvU2l0bnl1d0tCR25mSkZGRnJDZ3ZNYTl1bzFh?=
 =?utf-8?B?NHdHbjZpRzlJWnFNZ2hyckJjVmRmT1VtRUo0MUtBS3pVTnBVWTFTRWpUUkVp?=
 =?utf-8?B?czJLZm5tRGttL1BqVmVoMmdZdDBjLzdxanBCalRKeFhDNG8vUFdhTFo0RDBJ?=
 =?utf-8?B?UUFVZG9uMlJITEpONUtkRG9LMVlOanhTblFxTWVDYWgvRXpzUTdXWEpVWitu?=
 =?utf-8?B?Ri81SGtORjNiSmlpdWR6NU5SOGFia2s5emNRdVB4cythbVBSOUhvTmVaVnVD?=
 =?utf-8?B?VVBLcXptbmNhKzBiK0V2K2MzWGF2Q0FFK1hWWko3UlJLMk5MSWkwajU3UDRx?=
 =?utf-8?B?NEVnUEdJZEdyQkJjZ01FeXZaaEV2Q3BTNUhTQU5rRVdpdEJyeW4xWjc4ZjdM?=
 =?utf-8?B?T2xHQzIzMVFVV0ZnbTU4Y1dRRUovRFpVcFFDeU9lVTZHcGdsU211VWJkS1o3?=
 =?utf-8?B?Mmlpc3RuQlFwRGlFWHZ2eFpPYUR0d1IwVTZZOTByZEhQaTBXbWc2cEtpcGRP?=
 =?utf-8?B?amtuZnJTRVMyL1RSeklEN3M2NFNFQUlLMXcxOWJ2dXNuVXhScWphclRka282?=
 =?utf-8?B?bEJLRVIvMU5iOS9xRE1TQnJJRlU2Q3ZQR3B5OWk1VUlVZmh1cTdaU0JVUXBD?=
 =?utf-8?B?L3ZyMFhUZmdxZHh0dXcxWWxLeHlJck9mZ3pSYXNzblFHRVNuOTVCa1owcTJB?=
 =?utf-8?Q?9d84xUlpgE/O+dT4mdwY/xXPg?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 45e7d0fb-d381-44a6-d01a-08dbeb4500c9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 10:23:00.2712
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OhJn8tSl7cGiHpApWLIZkOK2CDGPJzU0GNKD4FHrx7i5D+uJFu6hVXXUDbCW0vt+aD6iLip0wkd1nomuHvW0SQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7290

On 22.11.2023 02:26, Andrew Cooper wrote:
> On 16/11/2023 1:48 pm, Jan Beulich wrote:
>> Loading is_master from the state save record can lead to out-of-bounds
>> accesses via at least the two container_of() uses by vpic_domain() and
>> __vpic_lock(). Make sure the value is consistent with the instance being
>> loaded.
>>
>> For ->int_output (which for whatever reason isn't a 1-bit bitfield),
>> besides bounds checking also take ->init_state into account.
>>
>> For ELCR follow what vpic_intercept_elcr_io()'s write path and
>> vpic_reset() do, i.e. don't insist on the internal view of the value to
>> be saved. Adjust vpic_elcr_mask() to allow using it easily for the new
>> case, but still also especially in the 2nd of the uses by
>> vpic_intercept_elcr_io()).
> 
> I'm afraid I'm totally lost trying to follow this change.
> 
> What is mb2 and why is it variable?

Master bit 2 (i.e. the value for bit 2 iff dealing with the master PIC).
I'm afraid I couldn't think of anything better that wouldn't be unduly
long.

> This does look like a logically unrelated change (the only overlap is
> using the new vpic_elcr_mask() form to audit the incoming data), so I
> think it needs breaking out simply for review-ability.

I can split it out, but I'm afraid it makes little sense when split. So
I'd first like to double check with you that with the naming choice
clarified, you still think you'd see this making sense as a change on
its own.

>> --- a/xen/arch/x86/hvm/vpic.c
>> +++ b/xen/arch/x86/hvm/vpic.c
>> @@ -35,13 +35,13 @@
>>  #include <asm/hvm/save.h>
>>  
>>  #define vpic_domain(v) (container_of((v), struct domain, \
>> -                        arch.hvm.vpic[!vpic->is_master]))
>> +                                     arch.hvm.vpic[!(v)->is_master]))
> 
> This appears to have only compiled before because both callers have vpic
> as their parameter.

Indeed.

> I think this is worthy of breaking out into a separate change, because
> it wants backporting further than I expect you're likely to want to
> backport this patch in general.

Can do. Since there's no breakage from this, I wouldn't have thought of
backporting the change, though. Hence also why I folded it into here.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:28:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:28:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638665.995485 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5kT7-00077l-7M; Wed, 22 Nov 2023 10:28:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638665.995485; Wed, 22 Nov 2023 10: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 1r5kT7-00077e-4n; Wed, 22 Nov 2023 10:28:29 +0000
Received: by outflank-mailman (input) for mailman id 638665;
 Wed, 22 Nov 2023 10:28: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=Dm5i=HD=citrix.com=prvs=683e23acf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5kT5-00077Y-U9
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:28:27 +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 dd369304-8921-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 11:28:24 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd369304-8921-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700648904;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=cZmur+XL/exnr6PEDDb8dLH9OoOne6ibOU5ReLuVUwY=;
  b=aLD27eWOI0VWtd3KAVCyy4xum1yxX4y6wqltEEYo4inkVMrl7WXjSLvl
   w4tZqE3VFpkSuOcDY/gGt6cfTS1Hl+KoJ8MeIDVX61x8duwyO8n69vtoL
   JXS1T+dG93MzL9D3aeiQKzHdFPWtlB5HK1uYiXNcs58HCxwT+liAegqzC
   Y=;
X-CSE-ConnectionGUID: j6rE86mdTv2jwYyZ8+kOTg==
X-CSE-MsgGUID: n4fB5TQnReCXt1qu9d5Ncg==
Authentication-Results: esa6.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 127481865
X-Ironport-Server: esa6.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:JAIrs64rTAfjeZYbK4MhMgxRtHHHchMFZxGqfqrLsTDasY5as4F+v
 mAYCGiObqnbN2r2eth1aNmzo0gOsZOBxoMwSFM+r3s8Hi5G8cbLO4+Ufxz6V8+wwm8vb2o8t
 plDNYOQRCwQZiWBzvt4GuG59RGQ7YnRG/ykTraCY3gtLeNdYH9JoQp5nOIkiZJfj9G8Agec0
 fv/uMSaM1K+s9JOGjt8B5mr9lU34JwehBtC5gZlPKkR5geH/5UoJMl3yZ+ZfiOQrrZ8RoZWd
 86bpJml82XQ+QsaC9/Nut4XpWVTH9Y+lSDX4pZnc/DKbipq/0Te4Y5iXBYoUm9Fii3hojxE4
 I4lWapc6+seFvakdOw1C3G0GszlVEFM0OevzXOX6aR/w6BaGpdFLjoH4EweZOUlFuhL7W5m9
 6ICBWBTaxy/mbi034OqeLkvheMfI5y+VG8fkikIITDxCP8nRdbIQrnQ5M8e1zA17ixMNa+AP
 YxDM2MpNUmRJUIXUrsUIMtWcOOAr3/zaTBH7nmSorI6+TP7xw1tyrn9dtHSf7RmQO0MxBnE9
 juWoTmR7hcyMoCR42e5y3SWi8T/gXriRdMeSZuz+as/6LGU7jNKU0BHPbehmtGph0j7V99BJ
 kg8/is1sbN05EGtVsP6XRCzvDiDpBF0c/h6HvA+6QqN4rHJ+AvfDW8BJhZebPQ2uclwQiYlv
 mJlhPuwW2Yp6ufMDyvAp/HL9VteJBT5M0cAOzUpHVUA7+X9+oMsvwP9HpVgN5K624id9S7L/
 9yakMQvr+xM1ZZWh//mogCvvt66mnTeoucICuTrsoGNtFoRiHaNPdDA1LQixa8owHylZleAp
 mMYvMOV8foDC5qA/ATUH71VQeDwuavVaWSA6bKKI3XH3271k5JEVdkAiAyS2W8zappUEdMXS
 BO7VfxtCG97YyLxMP4fj3OZAMU216nwfekJpdiNBueilqNZLVfdlAk3PB744owYuBR0+U3JE
 cvBIJnE4LdzIfgP8QdasM9HieBynHtjmDOLLX05pjz+uYejiLeuYe9tGDOzgioRtctofC29H
 w5jCva3
IronPort-HdrOrdr: A9a23:bvnJ96ApX1nMLdHlHemg55DYdb4zR+YMi2TC1yhKJyC9Ffbo8P
 xG/c5rsSMc5wxwZJhNo7y90cq7MBbhHPxOkOos1N6ZNWGM0gaVxelZnO3fKlbbehEWmNQz6U
 4ZSdkdNOHN
X-Talos-CUID: 9a23:JtTCrG6qV7sq5L55wdss9hAON5B7d3Hh0i3SPH6pOzYqS5qpRgrF
X-Talos-MUID: =?us-ascii?q?9a23=3AgmgC6QzORHOl6qPhKyoj0/ZT0l2aqKLyBmpQraw?=
 =?us-ascii?q?AgcSvBTApIirMgGmRSYByfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.04,218,1695700800"; 
   d="scan'208";a="127481865"
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/mm: Fix up bad bool conversion in ept_set_entry()
Date: Wed, 22 Nov 2023 10:28:08 +0000
Message-ID: <20231122102808.1763303-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

This accidentally turned a 1 into false.

Noticed by Coverity.

Reported-by: Jan Beulich <JBeulich@suse.com>
Fixes: de577618c285 ("x86/treewide: Switch bool_t to bool")
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/mm/p2m-ept.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/p2m-ept.c b/xen/arch/x86/mm/p2m-ept.c
index 227bdf7c2433..f83610cb8cd8 100644
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -803,7 +803,7 @@ ept_set_entry(struct p2m_domain *p2m, gfn_t gfn_, mfn_t mfn,
     bool need_modify_vtd_table = true;
     bool vtd_pte_present = false;
     unsigned int iommu_flags = p2m_get_iommu_flags(p2mt, p2ma, mfn);
-    bool needs_sync = false;
+    bool needs_sync = true;
     ept_entry_t old_entry = { .epte = 0 };
     ept_entry_t new_entry = { .epte = 0 };
     struct ept_data *ept = &p2m->ept;

base-commit: 10081c2dc571775b538bb00982606a39832ad7e3
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:32:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:32:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638671.995495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5kXP-0001QF-Ns; Wed, 22 Nov 2023 10:32:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638671.995495; Wed, 22 Nov 2023 10: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 1r5kXP-0001Q8-LL; Wed, 22 Nov 2023 10:32:55 +0000
Received: by outflank-mailman (input) for mailman id 638671;
 Wed, 22 Nov 2023 10:32: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5kXN-0001Q2-W6
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:32:54 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20604.outbound.protection.outlook.com
 [2a01:111:f400:7d00::604])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d393191-8922-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 11:32:52 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7631.eurprd04.prod.outlook.com (2603:10a6:102:e1::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.17; Wed, 22 Nov
 2023 10:32:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 10:32: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: 7d393191-8922-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kOS7jaC9qZNVi8cwRJaQsCKSUNwxIS5aBcSUjyAL4JKEqB+8ihekG06Y39+2OP+d+Ehy2cBxX4WLYdzcbF8p1tOkH1fwaRrNWtOGyFLihvvV2L8dfOp63ymieK0n8mKD5aD9j+R4OaAIUDqtEPJAnHbW6OEN7Ox11q8/XAPM1yPVovm9G/PHZ4aZgfhlGxJ98eZ7UhXhWz4t3JTFao1nHBIClP+gqbtfZ9lpfCXmij29O30D+SWAviVpaOt7uac0lij4WfIkBMQTlETxLErpDGCoYOhp2/gqvEbWMpfHmQURNVOBgzEzwMWftepWTijBLRrbDRPHYrVoyZqXteKZjw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=X9+A5HezxqoVt3BMHeafxyyG7D7uXnaNSh+dpjuUhYc=;
 b=W5wAw7YePYq6vgTqB1PI7wHC6y/pTMHYmpDnbzJ0b0SX9B+zbDqf5Lp04iOXz6Lp4PU2eTIOzenxFAJyo9CFJXKWsNRhSohIqp9gXb4GQH6YFMqwguNU0wjw4xk5Ykg+9d0pFaG8k1mvSDuWvL+ZDoAMNb93c3eHaTvqOFy3HKANroIAtvh/PrCELUart4FHrF/qz60t2nt5r853u4IzTsXVeGnaQpbnm+i0Djn3oBqkbXGLXmD6DmvDINaJcI2JYk+bbuPacLzdOXas8aQKr51Jf5ZRW2MRqugo0aqLkLsqe+E0Dqe/o5qCOzE3OOo2yJ/I0F8AecmJJCkLRwk3YQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=X9+A5HezxqoVt3BMHeafxyyG7D7uXnaNSh+dpjuUhYc=;
 b=Q04J0Oh7VL/0R9OoejW9yQ4LFIblJjIsiYM/fwsRFtfEHObR1A7bPACKRUGsL3cTx9NMtJ6uHJ/InFkPzLKHZerhAjYNQ/rfphROaNRGTRtk5qAkwmEwQXHRo1JVvo9OHm5RoK4lHHDd5MPyTehTwQIkhXx26wlZ/QdyGphVqtbJLhjW+XWGWPKZXhockC5zgpoFwjnDIQ+dUp4fmWzyNeeHhLFiRlBjV7c27L8w+6Mdjz26MBMe8GhwLvwS6rKUappwQN7q596zK6jFicnnJYVMP5pTH1scd/6txCmjcEDMPlftnzO/YYh5mDDCC2UQD/e++2hnMZSBybiRylOX9A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6ff99250-ca6e-464a-b8e0-b46c20764d3e@suse.com>
Date: Wed, 22 Nov 2023 11:32:48 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/mm: Fix up bad bool conversion in ept_set_entry()
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: <20231122102808.1763303-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231122102808.1763303-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0047.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f0::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7631:EE_
X-MS-Office365-Filtering-Correlation-Id: fbc6d5bf-db66-4ca3-f9e7-08dbeb466057
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6E0JS90/uf4Uf2QmAv4TWOt3+muXQbL8e84FPoVaBDEmrRfd2VdYWmQl0oljDplDjeh43kF7cOyPRluGDJWdmIV61FNT5lksDZ9nQTyqV9kqYLgfxGwoPEF7XIX6jzOpmX7rBIE67MOVVPvqqX6WaL4WobIwUjGe+2TlL7nL5Ua4AKXn2U+OsGoEcu2Ac4JTvIz7L4dKhiBzXNV43diKrFaFnHhcAdN9nkEmTGstMDdRqTTyyB29Hb8i4VWw6iHne2+3ncj1IC5Ye1iCYlt4HwXK57uZTCfwaUjVxsWEYcmejW8B0Vrc09aIzGjEibJ5/r/bePZwFTgTmp2u1rFOwHq0KpigMzwt9Fmp88cK0ldFKcT9GgVg/tl9Fl7dtC7NW4izVH2ZFLHsC2Nj6gOObwNG87glsDiOytQUxF+GTqnXHckZMgm1fjZxdJQ3Jfooq4yih9iyqNc/WwNQfiGciPI82f8J/48VSyAUC2tzzKvz7GnF5zqdZ7iPCHqGhYhtkBc+Ijf3aHPpW/fIF+VbgyAgPq9ydhcA5mXKxPvZKaEPKLiVjo6n074rEFkuyWIIKIsQz16U7KQZ2rxnK+XZgLp4VUM5UmbSoJr2ULTpBqgdowDYIlutjRvIah6Vl5t6eOT9NBAeX4jWxinIOGQLHA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(136003)(39860400002)(376002)(346002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(5660300002)(86362001)(31696002)(2906002)(4744005)(66476007)(66946007)(316002)(66556008)(6916009)(54906003)(4326008)(8676002)(8936002)(36756003)(41300700001)(6512007)(6486002)(83380400001)(478600001)(6506007)(53546011)(2616005)(26005)(38100700002)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bW95Y3pRQitvTnpJSUZvWmZaeXBrdTg2TEN2YWt2Nk5zaElvSEE4Q2N0WTBI?=
 =?utf-8?B?YnVvQzFOdWxKUm8yRmlWeTlZa1JPWDB6YnlWc3lVOWU3VWh1TWF4Y0Y2eWs4?=
 =?utf-8?B?YWZxcjQxTDFVUlk5MEJRaHBhTUYvZXBCcG90V1NJOUVRSjVVVVhTaUYvYmhB?=
 =?utf-8?B?cUd5TXUwemlua1F1U0VCa2t2a0ZTNSs0Qk85bXdmcGd6TTR0K3VQQlJjZjE4?=
 =?utf-8?B?aXZMaDhIYWRWQzRRUllTU3YxdiszVmEwTjg5SHBFSCtzWXRQVUdGOU9sNXVl?=
 =?utf-8?B?akswcHFLOG9acXVieUVwRmI5UjFCSGFITmhnaVJacjM0RjNFKzZsRitJeUZU?=
 =?utf-8?B?VWJ3NG8zcTNEUjhOYlFRZFppd3pBcmZ2UHo3dVViU1FtOUh1RXBxeTBhUTE2?=
 =?utf-8?B?OGhDS3FSbU1XYnZmMlc1eUxkNk9vZ2dYRlhGbldrOElSMmE3b1hxWU1jcEt3?=
 =?utf-8?B?dGpNc1dKMVk5RlNWRndTSGRkZWV0dFozRDlscXlWOTBsRzJzYXpTWm5MVUtM?=
 =?utf-8?B?RmlTWDNPczdONlZHSkU3RW14SU9Bb0w2OW5WMkxFeW91Qy9ZNmF6Tm8vSTND?=
 =?utf-8?B?MFlJMS9GTGJPRjloMmVZbDhrOUtQZlNLZkkzMFFsNnN6cDF5dWx4NlcrSlph?=
 =?utf-8?B?ZmNXa3A3RW5IYWdCR2d2T0k5L3cxS2E3MVA4OStRYkFZZXBqY0dLb0FJa3Er?=
 =?utf-8?B?TS9IbUd3QXZVZ1VXVXA1a09CV1cxcFFEbEZoTENqOGdFL1plT3MyYlptcy9r?=
 =?utf-8?B?RXpCaklwZVhKUkpLd0ZlTVFUZEtEWSs1UlBESHdyUzRoLy9nekdVQ09UcUps?=
 =?utf-8?B?dUQvSFdTWE4ySDVVUVJ2YnJDenpRUm5hVllXQnJsRjFsSWo4dkhWNUwwb3RP?=
 =?utf-8?B?QUozcnFyMlM5WmR6QnZFNFhZTDV2cEY0OUkwNlhqRGFyc0h4aUo2aUxTWW45?=
 =?utf-8?B?aHdibDcvWEFkSVRxNDFiUmNHOVo2aTk2UzJHYzMwemU3djEvV1FTc1RhUDVM?=
 =?utf-8?B?NU8yZHdrUno2bFc4UTF2Mmp0NGcxR2R4M3Z3ZzZHRkhCZFA0RThtQVAvQ0J5?=
 =?utf-8?B?ZWdDK3ErR1dITll3ZldGN3ZXWnVUYmQ1eW96RWpsd1ZWbXRjZndvbVhWRng5?=
 =?utf-8?B?L0M3K0dUc285OFFCdUlVdUVUeVpiZEQ5SU5MRDVTekhIVGdPZWdsUjlqSEVj?=
 =?utf-8?B?bzQyMlBTNTIrOUZDOTNXY0RHbEhQVzQyUytxSFJiZnpkMkZBWDVYR1V0WVB1?=
 =?utf-8?B?WEhUNVJEZUY4bU1adGUrQkwrRUd4NjRBdE51ckZ5MWRkK1c3M0Q1c3U2NTBW?=
 =?utf-8?B?UXVac1dXQUx1aGlhaVZQRG9YMUo5emVhd3BKR0I5UUdUWEN3WldSQmxEU3lU?=
 =?utf-8?B?cG9aSTJhWXFQbXZaUGkxR1NuUlZiVEFmVEUyeWlXalBObmpzamYwbEdqQU84?=
 =?utf-8?B?YWJmU01LejFTSXJLUUxFckQ5UnF6OXpHdG9oOE5yaDRma0ZEaGp2emFrdjc2?=
 =?utf-8?B?cWswd2I2a25WclZqRm5Cckh5ZlBNUW51emtCTDNDVXB5QWRXenJFQ0FEeThn?=
 =?utf-8?B?N3ZrbWx2SlBkYWFKTXpCTWgyUXF4MDhCeTEzdVRGTmwrR28yTzJPQjl4RHNC?=
 =?utf-8?B?VHdPdWNFNGduODFGUm9Tb01kZm1YaU5RZkxzdGpiU1ZKY2VYSkhjZk1JYnNG?=
 =?utf-8?B?cEMweDNvZ1ZENTRZUHdWcnlWT1BxMzhGMjEvSm9raisxQzIwaGx2Y3prOTFB?=
 =?utf-8?B?MFFicmVmbCsvWE1VQkVCbkZKZStobG16L3N6ZnQxSlF1djNtR2twVHp0cmth?=
 =?utf-8?B?NkNLaGtudVdxTXFnV2xIVjhFbmRRWE1TVGhsVERYbHBqY1VjdlpLL1lSemVu?=
 =?utf-8?B?SlRGOHpoeWM1L09HbFdXUFYwbmdTNkY2aWcwQ1Aza1VsekRHNzNRT09QTFkr?=
 =?utf-8?B?ZU0zdkxwa0lLczlqRHE4a0ZPSjN0YlBBdkFOWUVEaGxwTUZCYVFJcDJMVURL?=
 =?utf-8?B?alkyeERsaGtrU1hzMjQ2Ymd2RFIzd0ZqTVdlNXA4bCtoYzh5RHZqeUdPUWhQ?=
 =?utf-8?B?SmZ1a0dDQTRIY0JCWWxzREdyZTh2bUd1NnRIdTQyRmRKSis0bXAxTG5WTHU0?=
 =?utf-8?Q?aesd/SV9sNvwb+a2RZyAsuIN+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fbc6d5bf-db66-4ca3-f9e7-08dbeb466057
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 10:32:50.1369
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZEyHgS4Mgm/OpEzpqvhWwQ5UHLRIHM5G5KuCNABYIdl3+XtaifWwFCGPpnGP82f8S2uCefZufLCtRoVj77Y2lg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7631

On 22.11.2023 11:28, Andrew Cooper wrote:
> This accidentally turned a 1 into false.
> 
> Noticed by Coverity.
> 
> Reported-by: Jan Beulich <JBeulich@suse.com>
> Fixes: de577618c285 ("x86/treewide: Switch bool_t to bool")
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:41:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:41:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638674.995505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5kfA-0005Mk-DJ; Wed, 22 Nov 2023 10:40:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638674.995505; Wed, 22 Nov 2023 10: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 1r5kfA-0005Md-Al; Wed, 22 Nov 2023 10:40:56 +0000
Received: by outflank-mailman (input) for mailman id 638674;
 Wed, 22 Nov 2023 10:40: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=ypHP=HD=cloud.com=edwin.torok@srs-se1.protection.inumbo.net>)
 id 1r5kf9-0005MX-93
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:40:55 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c2b9dc9-8923-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 11:40:53 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-40842752c6eso33499355e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 02:40:53 -0800 (PST)
Received: from smtpclient.apple (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 g6-20020a05600c4ec600b0040b303d0dcfsm1794213wmq.36.2023.11.22.02.40.52
 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);
 Wed, 22 Nov 2023 02:40:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c2b9dc9-8923-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700649653; x=1701254453; darn=lists.xenproject.org;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WBscqDCAUhGijH4/Syb6sQF8j6XXVoCWoYLv0GZdoi8=;
        b=BOafXdF59O6ykrMx1rVL4Gw9hstQ6xoetylphPXkGSxYDa2eQcFmvWs7B8nTpJpJcd
         8zZsUwRqLWUVjgMbt0vg/DJSFf0873t8WJLyfvNjd80F82KcnpfIOSNvYGpZsxFrcXZh
         12ZWcgy5sM1brHMhp7VinOwgUK03V9GQx+kRQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700649653; x=1701254453;
        h=to:references:message-id:content-transfer-encoding:cc:date
         :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=WBscqDCAUhGijH4/Syb6sQF8j6XXVoCWoYLv0GZdoi8=;
        b=e0Pa9UMA79I1Ome1mJV7vzI3WV2kxKif55IPQxz3DR5YtAFUr1tbsY46EiVCsblsKJ
         9OtBH8gvtQOGthp3kZ/8v955MG1OIiu6NL1ktYfyNvXLv/7TA3Nz6QeWvzdL+JYPM7w7
         9h8sPGGVr8ryF1d5sMxx1miEbF4CHnRwxRet07AyBdFrJNhc4rK9inX1QHA5KNE+MWX+
         JUVYMaamrI2234qxU5pU4QDYxOpuvmEiy6sSMWp6MkOkleR7kRk/Tx8dX1grwYb3Xi/N
         ty0ki/aKR9fltamY28SX6m1Vt7HpuZRLnNcF+ggIKEx/vjD/mP+q5pMtKT/3YXlr8CNm
         M0BA==
X-Gm-Message-State: AOJu0YwBEd0ioQvCi5R+uFoVSbPT01bUoXEuTe/HeB57g5iTlpV6CINd
	2hnuPu3785LUcYCM3GgpLWO3DA==
X-Google-Smtp-Source: AGHT+IFdhYrROBbEsfQqOWqdnjTRVCP7U5UaS2iUWukEZ8L7lrhCtSs2wJR8t/19DXfRwk/6v2hfGw==
X-Received: by 2002:a05:600c:a49:b0:406:53c0:3c71 with SMTP id c9-20020a05600c0a4900b0040653c03c71mr1483966wmq.37.1700649652702;
        Wed, 22 Nov 2023 02:40:52 -0800 (PST)
Content-Type: text/plain;
	charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.100.2.1.4\))
Subject: Re: [PATCH v2] stubdom: remove caml-stubdom
From: Edwin Torok <edwin.torok@cloud.com>
In-Reply-To: <b36d5838-28cd-4b76-9597-b77df3812439@citrix.com>
Date: Wed, 22 Nov 2023 10:40:41 +0000
Cc: Juergen Gross <jgross@suse.com>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Edwin Torok <edvin.torok@citrix.com>,
 Christian Lindig <christian.lindig@citrix.com>,
 Henry Wang <Henry.Wang@arm.com>,
 Community Manager <community.manager@xenproject.org>,
 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>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Samuel Thibault <samuel.thibault@ens-lyon.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <BDE25109-57E5-4BCB-B91D-F085FDF316C0@cloud.com>
References: <20231122072110.22413-1-jgross@suse.com>
 <b36d5838-28cd-4b76-9597-b77df3812439@citrix.com>
To: Andrew Cooper <Andrew.Cooper3@citrix.com>
X-Mailer: Apple Mail (2.3774.100.2.1.4)



> On 22 Nov 2023, at 10:06, Andrew Cooper <Andrew.Cooper3@citrix.com> =
wrote:
>=20
> On 22/11/2023 7:21 am, Juergen Gross wrote:
>> diff --git a/CHANGELOG.md b/CHANGELOG.md
>> index c341c9d0bf..bbb3cd5beb 100644
>> --- a/CHANGELOG.md
>> +++ b/CHANGELOG.md
>> @@ -14,6 +14,8 @@ The format is based on [Keep a =
Changelog](https://keepachangelog.com/en/1.0.0/)
>>      for IPIs and Physical addressing mode for external interrupts.
>>=20
>> ### Removed
>> +- caml-stubdom has been removed. It didn't build since 2014, so =
nobody seems
>> +  to care.
>=20
> May I suggest some different phrasing.
>=20
> "caml-stubdom.  It hasn't built since 2014, was pinned to Ocaml 4.02,
> and has been superseded by the MirageOS/SOLO5 projects."
>=20
> Also, one last ping to anyone Ocaml folks for any comment whatsoever.
>=20

I'm fine with removing it, seems to predate the Lwt based Mirage, and =
the way to cross-compile OCaml to unikernels is completely different =
now.

I think the latest way to use Mirage under Xen is to use Solo5 (which =
has Xen support and gives you a PVH domain).
https://mirage.io/blog/announcing-mirage-39-release
"The Xen backend has been re-written from scratch to be based on Solo5, =
and now supports PVHv2 on Xen 4.10 or higher, and QubesOS 4.0."

The mirage version of xenstore is here (a functor that can be =
instantiated on both Unix and Unikernel implementations and doesn't =
depend on Irmin): https://github.com/mirage/ocaml-xenstore
And I think the Unikernel instantiation of the Xenstore Server functor =
is here =
https://github.com/djs55/ocaml-xenstore-xen/blob/master/xen/src/server_xen=
.ml, but probably needs to be updated to work with newer versions of =
Mirage. I haven't got around to trying it out yet.

I never tried to use the unikernel build inside the Xen tree, it seems =
to be completely undocumented so I wouldn't know where to start.

The new way is shown here, and dune has some builtin support to make =
this easier: https://mirage.io/blog/2022-03-30.cross-compilation

Best regards,
--Edwin=


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:42:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638676.995516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5kgZ-0006Il-Nw; Wed, 22 Nov 2023 10:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638676.995516; Wed, 22 Nov 2023 10:42: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 1r5kgZ-0006Ie-L1; Wed, 22 Nov 2023 10:42:23 +0000
Received: by outflank-mailman (input) for mailman id 638676;
 Wed, 22 Nov 2023 10:42: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5kgY-0006IY-5x
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:42:22 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cffcc9b0-8923-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 11:42:20 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8384.eurprd04.prod.outlook.com (2603:10a6:20b:3e8::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 10:42:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 10:42: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: cffcc9b0-8923-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SAvhYEomGMHbvwUXt49v3qOz6vZUe3bGIJhFybeDGHDpQU8ZCORuh/x0PTLdkQP06XhF8p6HMbko7qO1yVHrUssaBl77+wzi+IWtMLgqmYNwdcpGhUs7uhaZae850zvzUd0HQB9AhKQ9Czqgns3KbMy/R3jZRKnzkZ3Tk7b1FYyhCvpLzBraUpDTcC3h2i58pU5oUUTr18SL1U9cJkeOZTuZfauaf7hVO1GjHTWkjeconv9QzIgs88f23/0QUUpFabPjeJgWxSqSZw1x8L5cT7E8h0W40u2voE4AJGd3vfY6+N5nVsWJ+JtQ64VZNEI7h69+kOH/7fBg+GooDRvv1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SDeAhrtDGl8fL7t9Chp+iJBISEnKJtQt+V9+uWdtvlE=;
 b=GcVpvpNIFUyYmW6XgkZVTyuq5OylFEfm9ZlP+5Z/rvWI9E8B6c8GHOHE9Kc7P5biOZ0RkWrOpXgBXpB9V8bscgDR9E7+DC+QYa3s85By+toEoNgCyglT1A0rKGqKb4syHsAMLs3FgJeD5yiarqhGZjml+mSrOU0u8PGZ/7siMMnu2EYnAYX22fhyBdy9MJQ0AKP0MU8aqGZK5wd6L8An+De0IVBRkVyzwPEstb4oOJY7WImv+Ap6wcv6AoUvfoxSPNjpLaeUuna+xTmUt+/o/hcjxTZbjwXcOk5fXfsXPRZKrwoxwRO63A8+7ZTUbT7RCzkBl1jcy0aJAocYwm9lUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SDeAhrtDGl8fL7t9Chp+iJBISEnKJtQt+V9+uWdtvlE=;
 b=GWnJgKP3AtrRaPxbDGoGl6bsnNFhDJLCQHO/tDU8llYzzd/4lV1oEV/enciH7dSMVpbUZujqRRGW8s0irsPCYTfUUB9DSHDVwTQ0XIV4GTybVwgfTcOeuGXpWT5Np+ZnrtV8bopJwBh/8OAhCgw8M/WUPyAOAke1sHw7f3yZn8Tr+IDWh0gJoq9g8OE2npUH13MGohscJ8SSknq4S7eio+FeDQel0ofblz4dkD9ku72anNOQdJd8feKcb++SXfEOl6XUsQOKo04ugDmqa5DMaaRnU60giIg0Vj1QXayv71QLMd2c+eb+/pHX+mff50qLahyyzIgloAsgEABMt/ikwg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <700ab3e1-0bd3-421b-8bc3-482ea2c84861@suse.com>
Date: Wed, 22 Nov 2023 11:42:16 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/HVM: improve CET-IBT pruning of ENDBR
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <40585213-99ac-43b4-9432-03d739ec452c@suse.com> <ZV3TL7BtSxC-sv7z@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZV3TL7BtSxC-sv7z@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0002.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:15::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8384:EE_
X-MS-Office365-Filtering-Correlation-Id: b524f8ec-59c6-4ecf-3fc8-08dbeb47b2d0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3aFDjRx02tssQwxaLfVxzE2anYo/lJBlLvZyzg0d2fwMSDLSe3kP6yZu+OXiVWYgjapDdRiJ71kUjdhwnR3L+hLsQ/ZOO6p8KIl1D9ztb9vKHTLzL2axU7UokIiJYw4ytTJPA8GwjTsCYLNsgn8PAbw3CoKs+1MhfiJqykdvQ6gLY8rhA89dke38SePZqfdGJ1yClDaGwnIy6yj3jWuDheUl/1Sz9+Rct1W4oPeefI6m8d61yHwghf8X69Qnw3HhISR4dPDWAaf+W8vUxXdgMskal1FENnlWkqBLsR7Iuqv2ewk9xJzor+2VEe14NUEn5oOrRp2DERln2VqAbjx+LPDETIj2qDubypEiAySTN+f0zo6ivqenli9dz2VbHvRG29F5KrzIaN583nTlc4PawDmnOm5Lhc4TzJ+cEmYj9U+XIYmef0gMIkcyqWWTLI72p0flclpcjPGhWSgMeD2TNvchCax3BZEcZR06IqfHopz5AvxkihSP4o4XQ2fQJBcpQ6wqctzC2zzZ0Ik2X0fageXVrbsA5/mr7znboq6iCrnyihFKX8+djhUNy0rAKUlBkksD07PUXMQLazY+QTXC2r/CrLtrWulYeIkssoVOXw7YxeuaK7V6xDyYxxfj+muWXj61rwfeAUwSxCqVez0VvQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(396003)(366004)(376002)(39860400002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(6916009)(316002)(66476007)(66556008)(54906003)(2906002)(5660300002)(66946007)(8936002)(4326008)(8676002)(6506007)(2616005)(6512007)(26005)(53546011)(83380400001)(38100700002)(41300700001)(31686004)(478600001)(6486002)(31696002)(36756003)(86362001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VnN1bmxLSDRpc00xeUZGa0pWdXBHc205UGlNMXFmNk1hdDJHMk1YVlhqNGNv?=
 =?utf-8?B?UTFMOVBoTVNMWFgzWU54YmJpcm1QSUxPK1ZnR05IV0xPNi9UbWJBb1RzSkJy?=
 =?utf-8?B?a20yN2xnbTF6VDdvdGl2eEkyU2VCRUFUaCtFdDlXaEFWZFpQMWpYZklCNVVH?=
 =?utf-8?B?RE9mV3g4a1RyVGM3ckFlM0trRjlJYldUekJ0RVgzeSs2SU5BREdBZ1FMNkRQ?=
 =?utf-8?B?bWxJNTgyRGdCSURYYVE5TkF5V2JLK2xVZmc0SHhDNFVvUUQyd2IyMGp6NlRo?=
 =?utf-8?B?Rm5YbjVEZnlJbUp0WXBMUEhtMlovNy9JMk80cFFydDlPMm14RDJoZVZrU1pI?=
 =?utf-8?B?MjVLNmJwc25ZeWtJOWxUNFVEZ3BXMlN3djhnYjlOb2tIMWU1WDZ1dVNIL1NR?=
 =?utf-8?B?V0NzanIvbVlHMmkzcFFHL0pyMWoxQ1VTc2NCZ2tVcmFnaGdCbnBUb01tUHJ2?=
 =?utf-8?B?WWEvNWd3VFJGU1c3YU1JUnQyZTJPcXNKQnAyZThYTlZ6UmlLQ0NGblQwbFhz?=
 =?utf-8?B?YUJyYTVQNjNjYmhkdlVnajMvV3pqQWZKN0Z6RFdiYkhzT0t5S1RRNHp4UWhM?=
 =?utf-8?B?V1NtQzNiNjdnZ1pQc3RnMytWZVorQWJQUFczMUNjTXRVWWE4SllSaXB4S2JS?=
 =?utf-8?B?S2UzN0Y5WnQ2bjJUOFpMcmk1QlpHM09LK1J5L1NhbGRhdS9tTXFLdFRMNmh0?=
 =?utf-8?B?QUZ6amxBdzRCbjFoeFJGYVgwQ1dnUDB1bGN5bnRGQklObjdCVnh2R1N2Qmts?=
 =?utf-8?B?SWZmRVphK0hlWDFhMVBBQmwzV3lTeGlyd0FJZml3ZHFmOUVGRDVJeWU5cDVM?=
 =?utf-8?B?VmM5dEwxSkl6RFRXQW5nVWNvNXN5VDFiUm42QlBMalF1alc5cXBpMmIrai9I?=
 =?utf-8?B?Y0FPTlFRangrcy9Dbk1HVUEvVEhrMWU1a25Wdm9tdE5JcGdDaHpKUGJYTXlL?=
 =?utf-8?B?SFU1bXVNQzFqR1orRllJNWJKdlcxUmp4OEtQZnYwUVI1am1RU3RDWS9wZ2VL?=
 =?utf-8?B?K3lYQ0trK04ybUc3cE5Oc2RlVGJ5bEpFcUd3eXdVUWR2Y3E1Tm9ENlYzdkhI?=
 =?utf-8?B?TnRKR040L01YNEpVdS9YUVBGNkZDUGU0a0hUVHN1VlRERHNqWDF3b3BZYmFZ?=
 =?utf-8?B?STI2Q0NLaW1uV2VBRlJraWpqVlJ1OEE2NGR6QUdLV1YzKzlSemFYV3g2RlNN?=
 =?utf-8?B?cnc2RCtjTHJPTWwybTBFa3dzcmJITk1UTXQ1NXlzN0NWWTVXYWlkSUkzeXdX?=
 =?utf-8?B?bUg3dFFoSVdyRkdXZ2JRSlpnWHhDOWtadXpZV1Q3UUYrdDF1VnFyRzdvanZU?=
 =?utf-8?B?Q3BWNldJTVZRdmpWSTMvZE9uWFNldmZYcjRLUmQrZHVmc3FlT3g4SVdCT2NE?=
 =?utf-8?B?UlZLMmVkQWhNdytOYXRvMFdVdGNWaVdhOWpreUpDNEtoVVpsSjRrVnRENjRZ?=
 =?utf-8?B?TWFZdUVtUW1kcExxNDY0c09VMFlCWlFWV0xyc0Njemp6NnVsUDgwejBtbnNQ?=
 =?utf-8?B?MXhIMkg4Q1U0UXNUTEFpZDltT0VmdCt2TkM2a2ZLRFhJdm5qWmpVMzZnWE9r?=
 =?utf-8?B?RkFuTFlMa1FqQVdWeHBOMk9LTDhKVjNTajZpLzNJMmFGTVpuRmlRSXZDUktD?=
 =?utf-8?B?K0lDOHZrb2J6M2wzbzQ0aXNnTVZhTGlhR1lzUFpuMWMveE5MRm00VnREbW9w?=
 =?utf-8?B?OGN6S1ZGd01URHJIbGJxSlhlQ2RQRDFyek5UT1JydHpNNXYybnZpeFlzVXdW?=
 =?utf-8?B?NUs0MldnVTlVcTBYMFUwUlJ2WXhSdDJKbk5TZHc3eTVaRlMwcWxIVmpRN2s5?=
 =?utf-8?B?NmNZUXhUQUlhQmg3MEtweEVzaHRWTlBxT0NaREp4d0VmZ244NUZhd21HTDNw?=
 =?utf-8?B?dEd1UEQxZmNlWkVXTWg2K0VwbUpKVG9LZW5nM2h1Q3RGQzlKWVFRVlN4Tkcw?=
 =?utf-8?B?cmVmVTliL09uVG96bi9oRVlVdlY3OUtTUFBBM3NzYkY2ZnV2RjMxcXZkbmU2?=
 =?utf-8?B?QlBibVBON1ZZTXZqMERjaVhWalprYVhuK3VSWHZOQkVLbzF4SjVzckVVS1M3?=
 =?utf-8?B?UGNmQXpHTjRDbm5ZUHJpaTRKWmthQ3FJdTI0aDZxNGhKUHdxMHVacXoxUXNY?=
 =?utf-8?Q?2Sk93d7pvIsg2EdcA3cXB2+Bi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b524f8ec-59c6-4ecf-3fc8-08dbeb47b2d0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 10:42:17.9354
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fNIv2A77XGASc4Gh2bxHpHtSi+we/bAYTmYU0nD0Pv/mF+CDXngrR/Wys/Imh4BLkkR2vEwqYDmcZEA6gk2Rzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8384

On 22.11.2023 11:08, Roger Pau Monné wrote:
> On Thu, Nov 16, 2023 at 02:33:14PM +0100, Jan Beulich wrote:
>> --- a/xen/arch/x86/hvm/svm/svm.c
>> +++ b/xen/arch/x86/hvm/svm/svm.c
>> @@ -2587,6 +2587,19 @@ const struct hvm_function_table * __init
>>      return &svm_function_table;
>>  }
>>  
>> +void __init prune_svm(void)
>> +{
>> +    /*
>> +     * Now that svm_function_table was copied, populate all function pointers
>> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
>> +     * much of an effect as possible.
>> +     */
>> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
> 
> Shouldn't this better use cpu_has_xen_ibt?
> 
> Otherwise the clobbering done in _apply_alternatives() won't be
> engaged, so it's pointless to set the extra fields.

That's better answered in the context of ...

>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -3032,6 +3032,30 @@ const struct hvm_function_table * __init
>>      return &vmx_function_table;
>>  }
>>  
>> +void __init prune_vmx(void)
>> +{
>> +    /*
>> +     * Now that vmx_function_table was copied, populate all function pointers
>> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
>> +     * much of an effect as possible.
>> +     */
>> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
>> +        return;
>> +
>> +    vmx_function_table.set_descriptor_access_exiting =
>> +        vmx_set_descriptor_access_exiting;
>> +
>> +    vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
>> +    vmx_function_table.process_isr            = vmx_process_isr;
>> +    vmx_function_table.handle_eoi             = vmx_handle_eoi;
>> +
>> +    vmx_function_table.pi_update_irte = vmx_pi_update_irte;
>> +
>> +    vmx_function_table.deliver_posted_intr = vmx_deliver_posted_intr;
>> +    vmx_function_table.sync_pir_to_irr     = vmx_sync_pir_to_irr;
>> +    vmx_function_table.test_pir            = vmx_test_pir;

... this: The goal of having a compile time conditional was to have the
compiler eliminate the code when not needed. Otherwise there's no real
reason to have a conditional there in the first place - we can as well
always install all these pointers.

> Hm, I find this quite fragile, as it's easy to add a new handler
> without realizing that addition here might also be required.

Indeed, but that's not the end of the world (as much as so far it
wasn't deemed necessary at all to try and also purge unused hooks'
ENDBR).

> I don't really have good ideas about how to handle this, unless we
> populate unused handlers with some poison and loop over the structure
> as an array of pointers and choke on finding one of them pointing to
> NULL.

The looping over the resulting section is already somewhat fragile,
when considering other non-pointer data in there. A specific poison
value would further increase the risk of mistaking a value for what
it doesn't represent, even if just a tiny bit.

Populating unused handlers with some poison value would also have the
same problem of being easy to forget when adding a new hook.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 10:50:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 10:50:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638683.995525 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ko0-0000e2-Ke; Wed, 22 Nov 2023 10:50:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638683.995525; Wed, 22 Nov 2023 10:50: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 1r5ko0-0000dP-Hd; Wed, 22 Nov 2023 10:50:04 +0000
Received: by outflank-mailman (input) for mailman id 638683;
 Wed, 22 Nov 2023 10:50: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5knz-0000Lw-7m
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 10:50: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 e3246798-8924-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 11:50:01 +0100 (CET)
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 57DA421961;
 Wed, 22 Nov 2023 10:50: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 031DB139FD;
 Wed, 22 Nov 2023 10:50:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 3PKbOtjcXWXUHwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 10:50: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: e3246798-8924-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700650201; 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:autocrypt:autocrypt;
	bh=W4CSGw4FGehKfwyjMkzrYtIF5+wXDEd39knSFeWOgKk=;
	b=ZbTD/P7N/xweUDNS8icAquI54BgIAdyL4U7XSmNvCHOx84sGQ86b0rjZtYgrWL3YssJ/JX
	O7oIpKINAMgKCLlqGaPL+rbJSKmzbkUOfX+X5bOkP0QpTBJ42ySP6J5SSr7qTl4p+IvTrs
	TMxWFmHR4nmK6J0wLAYyzCGbSvbtzs4=
Message-ID: <e19b7790-413f-40cf-b9a6-57e4d6a40640@suse.com>
Date: Wed, 22 Nov 2023 11:50:00 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
 <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
 <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
 <84234983-f811-4e5a-b01a-0a68f2e73447@suse.com>
 <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------1kW1gJgdsa2jf7uhvLyJ6XTA"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -5.19
X-Spamd-Result: default: False [-5.19 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------1kW1gJgdsa2jf7uhvLyJ6XTA
Content-Type: multipart/mixed; boundary="------------1YHss0JKdoLMcZKleAtn0pJa";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.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>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, Anthony PERARD
 <anthony.perard@citrix.com>, xen-devel@lists.xenproject.org
Message-ID: <e19b7790-413f-40cf-b9a6-57e4d6a40640@suse.com>
Subject: Re: [PATCH 2/2] tools/python: add .gitignore file
References: <20231122083153.24101-1-jgross@suse.com>
 <20231122083153.24101-3-jgross@suse.com>
 <5471227c-40d9-4b85-b4f6-d0a41c471166@suse.com>
 <2016455e-6bbf-400a-82c9-05128487c5d4@suse.com>
 <a00b32eb-002a-4a5e-bc2e-6e9482a17520@suse.com>
 <84234983-f811-4e5a-b01a-0a68f2e73447@suse.com>
 <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>
In-Reply-To: <1ff6aaca-af90-4982-a8a1-a9d8c8e2934f@suse.com>

--------------1YHss0JKdoLMcZKleAtn0pJa
Content-Type: multipart/mixed; boundary="------------zt9gv0zvoU265b0HoyRZTBi4"

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

T24gMjIuMTEuMjMgMTA6NTksIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyMi4xMS4yMDIz
IDEwOjUzLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMjIuMTEuMjMgMTA6MjEsIEph
biBCZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDIyLjExLjIwMjMgMDk6NTcsIEp1ZXJnZW4gR3Jv
c3Mgd3JvdGU6DQo+Pj4+IE9uIDIyLjExLjIzIDA5OjM5LCBKYW4gQmV1bGljaCB3cm90ZToN
Cj4+Pj4+IE9uIDIyLjExLjIwMjMgMDk6MzEsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4+
Pj4gLS0tIC9kZXYvbnVsbA0KPj4+Pj4+ICsrKyBiL3Rvb2xzL3B5dGhvbi8uZ2l0aWdub3Jl
DQo+Pj4+Pj4gQEAgLTAsMCArMSw0IEBADQo+Pj4+Pj4gK2J1aWxkLyoNCj4+Pj4+DQo+Pj4+
PiBBcmUgdGhpcyBhbmQganVzdCBidWlsZC8gYWN0dWFsbHkgZXF1aXZhbGVudD8gTG9va2lu
ZyBhdCBvdXIgdG9wLWxldmVsDQo+Pj4+PiAuZ2l0aWdub3JlLCBJIHNlZSBlLmcuIGV4dHJh
cy8gYW5kIGluc3RhbGwvKiwgd2hpY2ggSSB3b3VsZCBleHBlY3Qgd2FudA0KPj4+Pj4gYm90
aCB0cmVhdGluZyB0aGUgc2FtZT8gVGhlIGZvcm0gd2l0aCBhIHdpbGRjYXJkLCB0byBtZSBh
dCBsZWFzdCwNCj4+Pj4+IGRvZXNuJ3Qgb2J2aW91c2x5IGluY2x1ZGUgdGhlIGRpcmVjdG9y
eSBpdHNlbGYgLi4uDQo+Pj4+DQo+Pj4+IFRoZSAuZ2l0aWdub3JlIHNwZWNpZmljYXRpb24g
WzFdIHN1Z2dlc3RzIHRoYXQgd2Ugc2hvdWxkIHVzZSBidWlsZC8gKHNhbWUgZm9yDQo+Pj4+
IHRoZSBuZXcgZW50cnkpLCBhcyBvdGhlcndpc2UgZW50cmllcyBpbiBzdWJkaXJlY3Rvcmll
cyB3b3VsZCBub3QgbWF0Y2guDQo+Pj4NCj4+PiBUaGUgZGVzY3JpcHRpb24gdGhlcmUgb2Yg
d2hhdCBhIHRyYWlsaW5nIHNsYXNoIG1lYW5zIGlzbid0IHJlYWxseSBjbGVhci4NCj4+DQo+
PiAiSWYgdGhlcmUgaXMgYSBzZXBhcmF0b3IgYXQgdGhlIGVuZCBvZiB0aGUgcGF0dGVybiB0
aGVuIHRoZSBwYXR0ZXJuIHdpbGwgb25seQ0KPj4gbWF0Y2ggZGlyZWN0b3JpZXMsIG90aGVy
d2lzZSB0aGUgcGF0dGVybiBjYW4gbWF0Y2ggYm90aCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMu
Ig0KPj4NCj4+ICJUaGUgcGF0dGVybiBmb28vIHdpbGwgbWF0Y2ggYSBkaXJlY3RvcnkgZm9v
IGFuZCBwYXRocyB1bmRlcm5lYXRoIGl0LCBidXQgd2lsbA0KPj4gbm90IG1hdGNoIGEgcmVn
dWxhciBmaWxlIG9yIGEgc3ltYm9saWMgbGluayBmb28iDQo+IA0KPiBCdXQgdGhpcyBpcyBh
bGwgYWJvdXQgZW50cmllcyBuYW1lZCAiZm9vIi4gTm90aGluZyBpcyBzYWlkIGFib3V0IHdo
ZXRoZXINCj4gZm9vLyBhbHNvIGluY2x1ZGVzIGZvby9iYXIuYy4NCj4gDQo+Pj4gTm90aGlu
ZyBpcyBzYWlkIGFib3V0IGFueXRoaW5nIHVuZGVybmVhdGggdGhlIHNwZWNpZmllZCBkaXJl
Y3RvcnkuIEFsc28NCj4+PiBub3RoaW5nIGlzIHNhaWQgYWJvdXQgd2hhdCBhIHRyYWlsaW5n
IC8qIG1lYW5zIHRvd2FyZHMgdGhlIG5hbWVkIGRpcmVjdG9yeS4NCj4+DQo+PiAiVGhlIHBh
dHRlcm4gZm9vLyosIG1hdGNoZXMgZm9vL3Rlc3QuanNvbiAoYSByZWd1bGFyIGZpbGUpLCBm
b28vYmFyIChhDQo+PiBkaXJlY3RvcnkpLCBidXQgaXQgZG9lcyBub3QgbWF0Y2ggZm9vL2Jh
ci9oZWxsby5jIChhIHJlZ3VsYXIgZmlsZSksIGFzIHRoZQ0KPj4gYXN0ZXJpc2sgaW4gdGhl
IHBhdHRlcm4gZG9lcyBub3QgbWF0Y2ggYmFyL2hlbGxvLmMgd2hpY2ggaGFzIGEgc2xhc2gg
aW4gaXQuIg0KPiANCj4gU2ltaWxhcmx5IGhlcmUgLSBub3RoaW5nIGlzIHNhaWQgYWJvdXQg
Zm9vIGl0c2VsZi4gWWV0IGZyb20gdXMgc3VjY2Vzc2Z1bGx5DQo+IHVzaW5nIGZvby8qIGVu
dHJpZXMgSSBkZXJpdmUgdGhhdCB0aGV5IGFjdHVhbGx5IGNvdmVyIGZvbyBhcyB3ZWxsLCBu
byBtYXR0ZXINCj4gd2hldGhlciB0aGF0J3MgYWN0dWFsbHkgc2Vuc2libGUuDQoNClRoaXMg
Y2FuIGFsbCBiZSB0ZXN0ZWQgcmF0aGVyIGVhc2lseSB3aXRoICJnaXQgY2hlY2staWdub3Jl
IiAoYXNzdW1pbmcgdGhhdCBnaXQNCml0c2VsZiBpcyB0cnVzdGVkIHRvIGFjdCBjb3JyZWN0
bHkpLg0KDQpNeSB0ZXN0cyB3ZXJlIGRvbmUgd2l0aCBnaXQgdmVyc2lvbiAyLjM1LjMNCg0K
VGhpcyB0ZXN0IHN1Z2dlc3RzIHRoYXQgIi9idWlsZC8qIiB3b24ndCBtYXRjaCB3aXRoICJi
dWlsZCIsIGJ1dCB3aXRoICJidWlsZC94Ig0KYW5kICJidWlsZC94L3kiLg0KDQoiL2J1aWxk
LyIgbWF0Y2hlcyB3aXRoICJidWlsZCIsICJidWlsZC94IiBhbmQgImJ1aWxkL3gveSIuDQoN
ClNvIHVzaW5nICIvYnVpbGQvIiBzZWVtcyB0byBiZSB0aGUgcGF0dGVybiB0byB1c2UuDQoN
Cg0KSnVlcmdlbg0K
--------------zt9gv0zvoU265b0HoyRZTBi4
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------zt9gv0zvoU265b0HoyRZTBi4--

--------------1YHss0JKdoLMcZKleAtn0pJa--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVd3NgFAwAAAAAACgkQsN6d1ii/Ey9y
WAf9EfffF7Lp6p4ugxtJ5If8JWZY+UE3FG4zXUALkRloNWF1G0JV7BYy5h1Sg+tPVwVLcSx1olr4
18g2d17vOV4EMcTYeutJd+Llltlr8Wj/Itqww8YkI6Hfmyql6fabgrSuNaLpVBL44DpRS2iWa3dA
v2gCPVTiddNitDyB2SORUyGXXSfuWonmT+CfjqEKE6o+UodF/QNtRqVo0rTKkqCIF2ga/jj0LFDr
wytL9ovlLrj49EG16+/4bAPTTyCA7MlZHITGuaZcgV4xiPHeLkaVoK7cHMa/g7WDtGfIrakkB7dX
wpEk6vdTln2AjE1AbRqHznUVluZAqD6zkhQBJdJ9Xw==
=Lt/j
-----END PGP SIGNATURE-----

--------------1kW1gJgdsa2jf7uhvLyJ6XTA--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 11:06:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 11:06:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638686.995536 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5l3e-0005mI-VI; Wed, 22 Nov 2023 11:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638686.995536; Wed, 22 Nov 2023 11: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 1r5l3e-0005mB-RU; Wed, 22 Nov 2023 11:06:14 +0000
Received: by outflank-mailman (input) for mailman id 638686;
 Wed, 22 Nov 2023 11:06: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5l3d-0005m4-PF
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 11:06: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 2519b4a3-8927-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 12:06:11 +0100 (CET)
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 B2F8D218BB;
 Wed, 22 Nov 2023 11:06:10 +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 75F03139FD;
 Wed, 22 Nov 2023 11:06:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id fuA+G6LgXWVoJwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 11:06: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: 2519b4a3-8927-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700651170; 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:autocrypt:autocrypt;
	bh=3rT3KRkLtQdUHsSypE/8xdzTH91W850dUGO6TiG/aik=;
	b=QKVDgZUmCLWNYj6SedIgL1coHwuBupmhHcV5JnaOxJcBRdPWK7CxCnLWoq3+wY7vFqlE46
	haOJDvlOiSvdH5ELdRphHtKulwYsBxhsaQUoKTMmpjXwugRABvrOpG85WUPtJSbA2HbcyZ
	9GcZtCrY31wcSxvSCKSO39rcFFU0t5A=
Message-ID: <ff31f5a6-396e-48cc-8b1b-6941369c620b@suse.com>
Date: Wed, 22 Nov 2023 12:06:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [linux-linus test] 183794: regressions - FAIL
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, oleksandr_tyshchenko@epam.com
References: <osstest-183794-mainreport@xen.org>
 <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com>
 <alpine.DEB.2.22.394.2311201631140.773207@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311211823110.2053963@ubuntu-linux-20-04-desktop>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <alpine.DEB.2.22.394.2311211823110.2053963@ubuntu-linux-20-04-desktop>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------5yYp1j11r4S2zg2hXKKH0YbW"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -6.19
X-Spamd-Result: default: False [-6.19 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[7];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------5yYp1j11r4S2zg2hXKKH0YbW
Content-Type: multipart/mixed; boundary="------------H6SO5tFDlt3BH0tPGPxcyzt0";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, oleksandr_tyshchenko@epam.com
Message-ID: <ff31f5a6-396e-48cc-8b1b-6941369c620b@suse.com>
Subject: Re: [linux-linus test] 183794: regressions - FAIL
References: <osstest-183794-mainreport@xen.org>
 <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com>
 <alpine.DEB.2.22.394.2311201631140.773207@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311211823110.2053963@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2311211823110.2053963@ubuntu-linux-20-04-desktop>

--------------H6SO5tFDlt3BH0tPGPxcyzt0
Content-Type: multipart/mixed; boundary="------------l0wvTHvJfSFe9nbBzDmh8pVQ"

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

T24gMjIuMTEuMjMgMDQ6MDcsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToNCj4gT24gTW9u
LCAyMCBOb3YgMjAyMywgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4gT24gTW9uLCAy
MCBOb3YgMjAyMywgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+PiBPbiAyMC4xMS4yMyAwMzoy
MSwgb3NzdGVzdCBzZXJ2aWNlIG93bmVyIHdyb3RlOg0KPj4+PiBmbGlnaHQgMTgzNzk0IGxp
bnV4LWxpbnVzIHJlYWwgW3JlYWxdDQo+Pj4+IGh0dHA6Ly9sb2dzLnRlc3QtbGFiLnhlbnBy
b2plY3Qub3JnL29zc3Rlc3QvbG9ncy8xODM3OTQvDQo+Pj4+DQo+Pj4+IFJlZ3Jlc3Npb25z
IDotKA0KPj4+Pg0KPj4+PiBUZXN0cyB3aGljaCBkaWQgbm90IHN1Y2NlZWQgYW5kIGFyZSBi
bG9ja2luZywNCj4+Pj4gaW5jbHVkaW5nIHRlc3RzIHdoaWNoIGNvdWxkIG5vdCBiZSBydW46
DQo+Pj4+ICAgIHRlc3QtYXJtNjQtYXJtNjQtZXhhbWluZSAgICAgIDggcmVib290ICAgICAg
ICAgICAgICAgICAgIGZhaWwgUkVHUi4gdnMuDQo+Pj4+IDE4Mzc2Ng0KPj4+DQo+Pj4gSSdt
IHNlZWluZyB0aGUgZm9sbG93aW5nIGluIHRoZSBzZXJpYWwgbG9nOg0KPj4+DQo+Pj4gTm92
IDIwIDAwOjI1OjQxLjU4NjcxMiBbICAgIDAuNTY3MzE4XSBrZXJuZWwgQlVHIGF0DQo+Pj4g
YXJjaC9hcm02NC94ZW4vLi4vLi4vYXJtL3hlbi9lbmxpZ2h0ZW4uYzoxNjQhDQo+Pj4gTm92
IDIwIDAwOjI1OjQxLjU5ODcxMSBbICAgIDAuNTc0MDAyXSBJbnRlcm5hbCBlcnJvcjogT29w
cyAtIEJVRzoNCj4+PiAwMDAwMDAwMGYyMDAwODAwIFsjMV0gUFJFRU1QVCBTTVANCj4+Pg0K
Pj4+IFRoZSByZWxhdGVkIHNvdXJjZSBjb2RlIGxpbmVzIGluIHRoZSBrZXJuZWwgYXJlOg0K
Pj4+DQo+Pj4gwrfCt8K3wrfCt8K3wrfCt2VyciA9IEhZUEVSVklTT1JfdmNwdV9vcChWQ1BV
T1BfcmVnaXN0ZXJfdmNwdV9pbmZvLCB4ZW5fdmNwdV9ucihjcHUpLA0KPj4+IMK3wrfCt8K3
wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3
wrcgJmluZm8pOw0KPj4+IMK3wrfCt8K3wrfCt8K3wrdCVUdfT04oZXJyKTsNCj4+Pg0KPj4+
IEkgc3VzcGVjdCBjb21taXQgMjBmM2I4ZWFmZTBiYSB0byBiZSB0aGUgY3VscHJpdC4NCj4+
Pg0KPj4+IFN0ZWZhbm8sIGNvdWxkIHlvdSBwbGVhc2UgaGF2ZSBhIGxvb2s/DQo+IA0KPiBU
aGUgZ29vZCBuZXdzIGFuZCBiYWQgbmV3cyBpcyB0aGF0IEkgY2Fubm90IHJlcHJvIHRoaXMg
bmVpdGhlciB3aXRoIG5vcg0KPiB3aXRob3V0IENPTkZJR19VTk1BUF9LRVJORUxfQVRfRUww
LiBJIGxvb2tlZCBhdCBjb21taXQgMjBmM2I4ZWFmZTBiYSBidXQNCj4gSSBjYW5ub3Qgc2Vl
IGFueXRoaW5nIHdyb25nIHdpdGggaXQuIExvb2tpbmcgYXQgdGhlIHJlZ2lzdGVyIGR1bXAs
IGZyb206DQo+IA0KPiB4MCA6IGZmZmZmZmZmZmZmZmZmZmENCj4gDQo+IEkgYW0gZ3Vlc3Np
bmcgdGhlIGVycm9yIHdhcyAtRU5YSU8gd2hpY2ggaXMgcmV0dXJuZWQgZnJvbSBtYXBfZ3Vl
c3RfYXJlYQ0KPiBpbiBYZW4uDQo+IA0KPiBDb3VsZCBpdCBiZSB0aGF0IHRoZSBzdHJ1Y3Qg
aXMgY3Jvc3NpbmcgYSBwYWdlIGJvdW5kYXJ5PyBPciB0aGF0IGl0IGlzDQo+IG5vdCA2NC1i
aXQgYWxpZ25lZD8gRG8gd2UgbmVlZCB0byBkbyBzb21ldGhpbmcgbGlrZSB0aGUgZm9sbG93
aW5nPw0KPiANCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYyBiL2Fy
Y2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYw0KPiBpbmRleCA5YWZkYzRjNGE1ZGMuLjUzMjYwNzBj
NWRjMCAxMDA2NDQNCj4gLS0tIGEvYXJjaC9hcm0veGVuL2VubGlnaHRlbi5jDQo+ICsrKyBi
L2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYw0KPiBAQCAtNDg0LDcgKzQ4NSw3IEBAIHN0YXRp
YyBpbnQgX19pbml0IHhlbl9ndWVzdF9pbml0KHZvaWQpDQo+ICAgCSAqIGZvciBzZWNvbmRh
cnkgQ1BVcyBhcyB0aGV5IGFyZSBicm91Z2h0IHVwLg0KPiAgIAkgKiBGb3IgdW5pZm9ybWl0
eSB3ZSB1c2UgVkNQVU9QX3JlZ2lzdGVyX3ZjcHVfaW5mbyBldmVuIG9uIGNwdTAuDQo+ICAg
CSAqLw0KPiAtCXhlbl92Y3B1X2luZm8gPSBhbGxvY19wZXJjcHUoc3RydWN0IHZjcHVfaW5m
byk7DQo+ICsJeGVuX3ZjcHVfaW5mbyA9IF9fYWxsb2NfcGVyY3B1KHN0cnVjdCB2Y3B1X2lu
Zm8sIFBBR0VfU0laRSk7DQo+ICAgCWlmICh4ZW5fdmNwdV9pbmZvID09IE5VTEwpDQo+ICAg
CQlyZXR1cm4gLUVOT01FTTsNCj4gICANCg0KTWF5IEkgc3VnZ2VzdCB0byB1c2UgYSBzbWFs
bGVyIGFsaWdubWVudD8gV2hhdCBhYm91dDoNCg0KMSA8PCBmbHMoc2l6ZW9mKHN0cnVjdCB2
Y3B1X2luZm8pIC0gMSkNCg0KDQpKdWVyZ2VuDQo=
--------------l0wvTHvJfSFe9nbBzDmh8pVQ
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------l0wvTHvJfSFe9nbBzDmh8pVQ--

--------------H6SO5tFDlt3BH0tPGPxcyzt0--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVd4KIFAwAAAAAACgkQsN6d1ii/Ey+r
Wgf/aRl9nAsG06CFKeT4WUxbB4HzzHfgvoJ6oSiMlJIFnz8DwrU/zv/ELkvsQE1CTjAI7aWz1a2o
IZ4kcY9G9kRVbR7J/ifpn3q/wG4tfvJopR8U6jydJ2SteWC5nDfXvQnLSL43No3aV5/TNQLf4brj
CowpznhgKcmtCGkRzZ4jwphcQmTRHbvt8ShUKB+Pu9C7VDfMDm7H/faTCF0+I32TgL1jYOuTvTiP
c4CQYsQ9n7VqrIVPmx7+Yy2c9b+Zp7DPu9i3/KFbZdVDZGFk2k6fmn61wuzvUNrBF0Ee7zBE2Pe4
PvkaaOGAPvpQeiGa3ROCfOxJJGXjvheK4CUTdTh4Ig==
=dnd5
-----END PGP SIGNATURE-----

--------------5yYp1j11r4S2zg2hXKKH0YbW--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 11:07:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 11:07:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638689.995546 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5l4u-0006tJ-CJ; Wed, 22 Nov 2023 11:07:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638689.995546; Wed, 22 Nov 2023 11:07: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 1r5l4u-0006tC-8q; Wed, 22 Nov 2023 11:07:32 +0000
Received: by outflank-mailman (input) for mailman id 638689;
 Wed, 22 Nov 2023 11: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=CF+8=HD=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r5l4s-0006t6-P4
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 11:07:30 +0000
Received: from mail-lf1-x131.google.com (mail-lf1-x131.google.com
 [2a00:1450:4864:20::131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 53e0f46c-8927-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 12:07:30 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-507bd19eac8so8703406e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 03:07:29 -0800 (PST)
Received: from [192.168.69.100] (pas38-h02-176-184-5-64.dsl.sta.abo.bbox.fr.
 [176.184.5.64]) by smtp.gmail.com with ESMTPSA id
 v11-20020adfe28b000000b0032d09f7a713sm16962331wri.18.2023.11.22.03.07.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 03:07:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53e0f46c-8927-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1700651249; x=1701256049; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=hNxDhhCIH8NlpH8XHPURRCmGBLxe0AMGsttC4hlkS4g=;
        b=Wo4LxOWf5s/ovtYHF3hoscdzqoagmmUNwQfOOA/ia6vsVRbJPW5NGVs0uVqMXCN/wE
         +nshJWiYZKyMICEXT8Dw/arkZgu+g5AuFdDM7jvndK12Gfmv/wwVVDQHqZoidtYRTTCa
         Pa3/YvXEZLsCVhDLLf54q1xf5y7dfkQY8A/4WXzfzK25ZZNmqZGywwHRLxxkJ642dROb
         TWpckY2LV9FDGk+NgG//7kISXtEF8z6OAPk33E8QLH7dBO9+lCo4TLDCNDMeb9PXoOZq
         +9FGlBMR99GwnuLMbB1JDxoh1bUB6tnK4T9qQWjDSrDutX13juMDsFybPDvKCl/lCQV1
         8lwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700651249; x=1701256049;
        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:subject:date:message-id:reply-to;
        bh=hNxDhhCIH8NlpH8XHPURRCmGBLxe0AMGsttC4hlkS4g=;
        b=KI/m77arThcN7jMJJfFkxSFu5Hiwr+u6RgSfzHb7ZQwaNu9E54XsJmI0ssKLTEWiOw
         Q5cDtvvwJlRvB0RaNaOG7hZU6WCVZKi40UL3IQf8sNfgHsI0sromSatP4myF83c2Ix69
         9DD6BZRjbX2L1+iM824a/qk33K62EKHdG92i58Kit0pAQ95MHPb802Nzc7rPO+nSgOa7
         7bWvcLnVv0KalE9Wvfmft06zV5qlbu/vzTjrtA6YnrNBCZ1L4X8SviU7jptVciX+DNnA
         XtqAjVEcEros9qKxfyaK5QJys88dCBYkGqYac2j3r8yauwqv2SS6Zc88amGUeUnK2r0V
         btpw==
X-Gm-Message-State: AOJu0Yyl6DE8prPll4bQbYdGuwDZvdW7sNz1/Yz2HkbxoDSw6mLER7yx
	66vYyWbZGAXVj6L6t/JOep3qBQ==
X-Google-Smtp-Source: AGHT+IGYNLvrEeIf4l5dhNfo9PLr/A5Ox6GzMWAevPIallmwrkFlAOq4+ezPJDEfyMf13hLwgxpTjQ==
X-Received: by 2002:a05:6512:1591:b0:50a:bb04:2321 with SMTP id bp17-20020a056512159100b0050abb042321mr1582427lfb.1.1700651249433;
        Wed, 22 Nov 2023 03:07:29 -0800 (PST)
Message-ID: <19f6fcaf-ac2b-4cc3-b226-27ec659d7478@linaro.org>
Date: Wed, 22 Nov 2023 12:07:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: David Woodhouse <dwmw@amazon.co.uk>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Paul Durrant <xadimgnik@gmail.com>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:Block layer core" <qemu-block@nongnu.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-3-volodymyr_babchuk@epam.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20231121221023.419901-3-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Volodymyr,

On 21/11/23 23:10, Volodymyr Babchuk wrote:
> was created by QEMU

Please do not split lines between subject and content. Rewrite the
full line. Preferably restrict the subject to 72 chars. Otherwise
your patch isn't displayed correctly in git tools.

Thanks,

Phil.

> Xen PV devices in QEMU can be created in two ways: either by QEMU
> itself, if they were passed via command line, or by Xen toolstack. In
> the latter case, QEMU scans XenStore entries and configures devices
> accordingly.
> 
> In the second case we don't want QEMU to write/delete front-end
> entries for two reasons: it might have no access to those entries if
> it is running in un-privileged domain and it is just incorrect to
> overwrite entries already provided by Xen toolstack, because toolstack
> manages those nodes. For example, it might read backend- or frontend-
> state to be sure that they are both disconnected and it is safe to
> destroy a domain.
> 
> This patch checks presence of xendev->backend to check if Xen PV
> device is acting as a backend (i.e. it was configured by Xen
> toolstack) to decide if it should touch frontend entries in XenStore.
> Also, when we need to remove XenStore entries during device teardown
> only if they weren't created by Xen toolstack. If they were created by
> toolstack, then it is toolstack's job to do proper clean-up.
> 
> Suggested-by: Paul Durrant <xadimgnik@gmail.com>
> Suggested-by: David Woodhouse <dwmw@amazon.co.uk>
> Co-Authored-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>   hw/block/xen-block.c  | 16 +++++++++-------
>   hw/char/xen_console.c |  2 +-
>   hw/net/xen_nic.c      | 18 ++++++++++--------
>   hw/xen/xen-bus.c      | 14 +++++++++-----
>   4 files changed, 29 insertions(+), 21 deletions(-)



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 11:54:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 11:54:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638710.995569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5lnu-00057I-NS; Wed, 22 Nov 2023 11:54:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638710.995569; Wed, 22 Nov 2023 11:54: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 1r5lnu-00057B-K6; Wed, 22 Nov 2023 11:54:02 +0000
Received: by outflank-mailman (input) for mailman id 638710;
 Wed, 22 Nov 2023 11:54: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=0DV9=HD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5lnt-000572-6s
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 11:54:01 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2c84c42-892d-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 12:53:59 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-50abbb23122so609582e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 03:53:59 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 b10-20020a05600c4e0a00b0040684abb623sm1995426wmq.24.2023.11.22.03.53.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 03:53:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2c84c42-892d-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700654039; x=1701258839; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=VVIC7NjGK8GO/i7DQ3EHUUoLn1x3wUPZITAKwxRZq/0=;
        b=SQvk/wjF4sdKNBHHz0HY7+eADnRbksQAnxlCGPqFx8Xvj+ba8QluH4eX3JJeJg9Vuk
         0yJFIC0L1JlaQFUH1i7tsdLGKSyRhz0WD2s7WxJYpiI4H/bd5IA0iui9RqEcTVgeOkBo
         YXYoM8vhdXVVRbme7xcXe71td8TDJyTYQuFVo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700654039; x=1701258839;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VVIC7NjGK8GO/i7DQ3EHUUoLn1x3wUPZITAKwxRZq/0=;
        b=D5KMPryWJztY/K+ewWVrgatbOdszVHRn4r5n5Hgzr/yXXrqvUFtqQeegHqMmNGnV92
         P5Oc7rnLazF3pTwg9yAlCUZCM3eFhvZYNAA9R5GjD1kFLaIKZyAWZch0IveEOpIBOc1m
         F8bP6mNyWgGIlNrFziLt0Kvu3C4jihKFPKV83TEztQXGv8sfMMSK2+vjegFe9mquSJ6x
         AE/0/uYQzzZ3+5onJlsDu7RepOPgjqcTXxC+NrGihABns31Tvw87o9NPeXjtUHG41JI+
         V9lCoxB9rDZGRrvcHOhr/d0abWP9yXysDa6QS7LcJKd9+Dt4cgw6ricXur2ciJ2041D3
         X3gQ==
X-Gm-Message-State: AOJu0YzK6mjHbqKNNpTrKl1i2rte7rYujVRcronz5tn1BdQ5SVS5792g
	cY6jgwWt8bc1Q1wLzZ1ck6hV+w==
X-Google-Smtp-Source: AGHT+IFgzB/eedKMM8NuBiQuA3uq3ayYqax9NLEJcRxmkUCDS3JUrR4bfpfx0UeHTdxBPIEc3v0XoQ==
X-Received: by 2002:ac2:5108:0:b0:509:458a:6c1 with SMTP id q8-20020ac25108000000b00509458a06c1mr1436021lfb.19.1700654039304;
        Wed, 22 Nov 2023 03:53:59 -0800 (PST)
Date: Wed, 22 Nov 2023 12:53:58 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <julien@xen.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Message-ID: <ZV3r1uc3av1wQu4W@macbook>
References: <87o7ft44bv.fsf@epam.com>
 <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop>
 <87a5rc4gk7.fsf@epam.com>
 <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org>
 <8734x43zxi.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
 <87edgo2f6j.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop>
 <87ttpg0wdx.fsf@epam.com>
 <alpine.DEB.2.22.394.2311211712090.2053963@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2311211712090.2053963@ubuntu-linux-20-04-desktop>

On Tue, Nov 21, 2023 at 05:12:15PM -0800, Stefano Stabellini wrote:
> On Tue, 20 Nov 2023, Volodymyr Babchuk wrote:
> > Stefano Stabellini <sstabellini@kernel.org> writes:
> > > On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> > >> > On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> > >> >> Hi Julien,
> > >> >> 
> > >> >> Julien Grall <julien@xen.org> writes:
> > >> >> 
> > >> >> > Hi Volodymyr,
> > >> >> >
> > >> >> > On 17/11/2023 14:09, Volodymyr Babchuk wrote:
> > >> >> >> Hi Stefano,
> > >> >> >> Stefano Stabellini <sstabellini@kernel.org> writes:
> > >> >> >> 
> > >> >> >>> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> > >> >> >>>>> I still think, no matter the BDF allocation scheme, that we should try
> > >> >> >>>>> to avoid as much as possible to have two different PCI Root Complex
> > >> >> >>>>> emulators. Ideally we would have only one PCI Root Complex emulated by
> > >> >> >>>>> Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
> > >> >> >>>>> tolerable but not ideal.
> > >> >> >>>>
> > >> >> >>>> But what is exactly wrong with this setup?
> > >> >> >>>
> > >> >> >>> [...]
> > >> >> >>>
> > >> >> >>>>> The worst case I would like to avoid is to have
> > >> >> >>>>> two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
> > >> >> >>>>
> > >> >> >>>> This is how our setup works right now.
> > >> >> >>>
> > >> >> >>> If we have:
> > >> >> >>> - a single PCI Root Complex emulated in Xen
> > >> >> >>> - Xen is safety certified
> > >> >> >>> - individual Virtio devices emulated by QEMU with grants for memory
> > >> >> >>>
> > >> >> >>> We can go very far in terms of being able to use Virtio in safety
> > >> >> >>> use-cases. We might even be able to use Virtio (frontends) in a SafeOS.
> > >> >> >>>
> > >> >> >>> On the other hand if we put an additional Root Complex in QEMU:
> > >> >> >>> - we pay a price in terms of complexity of the codebase
> > >> >> >>> - we pay a price in terms of resource utilization
> > >> >> >>> - we have one additional problem in terms of using this setup with a
> > >> >> >>>    SafeOS (one more device emulated by a non-safe component)
> > >> >> >>>
> > >> >> >>> Having 2 PCI Root Complexes both emulated in Xen is a middle ground
> > >> >> >>> solution because:
> > >> >> >>> - we still pay a price in terms of resource utilization
> > >> >> >>> - the code complexity goes up a bit but hopefully not by much
> > >> >> >>> - there is no impact on safety compared to the ideal scenario
> > >> >> >>>
> > >> >> >>> This is why I wrote that it is tolerable.
> > >> >> >> Ah, I see now. Yes, I am agree with this. Also I want to add some
> > >> >> >> more
> > >> >> >> points:
> > >> >> >> - There is ongoing work on implementing virtio backends as a
> > >> >> >> separate
> > >> >> >>    applications, written in Rust. Linaro are doing this part. Right now
> > >> >> >>    they are implementing only virtio-mmio, but if they want to provide
> > >> >> >>    virtio-pci as well, they will need a mechanism to plug only
> > >> >> >>    virtio-pci, without Root Complex. This is argument for using single Root
> > >> >> >>    Complex emulated in Xen.
> > >> >> >> - As far as I know (actually, Oleksandr told this to me), QEMU has
> > >> >> >> no
> > >> >> >>    mechanism for exposing virtio-pci backends without exposing PCI root
> > >> >> >>    complex as well. Architecturally, there should be a PCI bus to which
> > >> >> >>    virtio-pci devices are connected. Or we need to make some changes to
> > >> >> >>    QEMU internals to be able to create virtio-pci backends that are not
> > >> >> >>    connected to any bus. Also, added benefit that PCI Root Complex
> > >> >> >>    emulator in QEMU handles legacy PCI interrupts for us. This is
> > >> >> >>    argument for separate Root Complex for QEMU.
> > >> >> >> As right now we have only virtio-pci backends provided by QEMU and
> > >> >> >> this
> > >> >> >> setup is already working, I propose to stick to this
> > >> >> >> solution. Especially, taking into account that it does not require any
> > >> >> >> changes to hypervisor code.
> > >> >> >
> > >> >> > I am not against two hostbridge as a temporary solution as long as
> > >> >> > this is not a one way door decision. I am not concerned about the
> > >> >> > hypervisor itself, I am more concerned about the interface exposed by
> > >> >> > the toolstack and QEMU.
> > >> >
> > >> > I agree with this...
> > >> >
> > >> >
> > >> >> > To clarify, I don't particular want to have to maintain the two
> > >> >> > hostbridges solution once we can use a single hostbridge. So we need
> > >> >> > to be able to get rid of it without impacting the interface too much.
> > >> >
> > >> > ...and this
> > >> >
> > >> >
> > >> >> This depends on virtio-pci backends availability. AFAIK, now only one
> > >> >> option is to use QEMU and QEMU provides own host bridge. So if we want
> > >> >> get rid of the second host bridge we need either another virtio-pci
> > >> >> backend or we need to alter QEMU code so it can live without host
> > >> >> bridge.
> > >> >> 
> > >> >> As for interfaces, it appears that QEMU case does not require any changes
> > >> >> into hypervisor itself, it just boils down to writing couple of xenstore
> > >> >> entries and spawning QEMU with correct command line arguments.
> > >> >
> > >> > One thing that Stewart wrote in his reply that is important: it doesn't
> > >> > matter if QEMU thinks it is emulating a PCI Root Complex because that's
> > >> > required from QEMU's point of view to emulate an individual PCI device.
> > >> >
> > >> > If we can arrange it so the QEMU PCI Root Complex is not registered
> > >> > against Xen as part of the ioreq interface, then QEMU's emulated PCI
> > >> > Root Complex is going to be left unused. I think that would be great
> > >> > because we still have a clean QEMU-Xen-tools interface and the only
> > >> > downside is some extra unused emulation in QEMU. It would be a
> > >> > fantastic starting point.
> > >> 
> > >> I believe, that in this case we need to set manual ioreq handlers, like
> > >> what was done in patch "xen/arm: Intercept vPCI config accesses and
> > >> forward them to emulator", because we need to route ECAM accesses
> > >> either to a virtio-pci backend or to a real PCI device. Also we need
> > >> to tell QEMU to not install own ioreq handles for ECAM space.
> > >
> > > I was imagining that the interface would look like this: QEMU registers
> > > a PCI BDF and Xen automatically starts forwarding to QEMU ECAM
> > > reads/writes requests for the PCI config space of that BDF only. It
> > > would not be the entire ECAM space but only individual PCI conf
> > > reads/writes that the BDF only.
> > >
> > 
> > Okay, I see that there is the
> > xendevicemodel_map_pcidev_to_ioreq_server() function and corresponding
> > IOREQ_TYPE_PCI_CONFIG call. Is this what you propose to use to register
> > PCI BDF?
> 
> Yes, I think that's best.
> 
> Let me expand on this. Like I wrote above, I think it is important that
> Xen vPCI is the only in-use PCI Root Complex emulator. If it makes the
> QEMU implementation easier, it is OK if QEMU emulates an unneeded and
> unused PCI Root Complex. From Xen point of view, it doesn't exist.
> 
> In terms if ioreq registration, QEMU calls
> xendevicemodel_map_pcidev_to_ioreq_server for each PCI BDF it wants to
> emulate. That way, Xen vPCI knows exactly what PCI config space
> reads/writes to forward to QEMU.
> 
> Let's say that:
> - 00:02.0 is PCI passthrough device
> - 00:03.0 is a PCI emulated device
> 
> QEMU would register 00:03.0 and vPCI would know to forward anything
> related to 00:03.0 to QEMU, but not 00:02.0.

I think there's some work here so that we have a proper hierarchy
inside of Xen.  Right now both ioreq and vpci expect to decode the
accesses to the PCI config space, and setup (MM)IO handlers to trap
ECAM, see vpci_ecam_{read,write}().

I think we want to move to a model where vPCI doesn't setup MMIO traps
itself, and instead relies on ioreq to do the decoding and forwarding
of accesses.  We need some work in order to represent an internal
ioreq handler, but that shouldn't be too complicated.  IOW: vpci
should register devices it's handling with ioreq, much like QEMU does.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 12:01:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 12:01:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638722.995579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5lur-0007Ui-Jy; Wed, 22 Nov 2023 12:01:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638722.995579; Wed, 22 Nov 2023 12:01: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 1r5lur-0007Ub-HI; Wed, 22 Nov 2023 12:01:13 +0000
Received: by outflank-mailman (input) for mailman id 638722;
 Wed, 22 Nov 2023 12:01: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=0DV9=HD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5luq-0007T1-1M
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 12:01: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 d2c022cd-892e-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 13:01:09 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-32faea0fa1fso444649f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 04:01:09 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 cp33-20020a056000402100b00332c6a52040sm9641566wrb.100.2023.11.22.04.01.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 04:01:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2c022cd-892e-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700654469; x=1701259269; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=GpAplLU4uuf1ZX5Di5L1A6+oqv2xpsS/Lb1cUCHqNBw=;
        b=Hbhg8cc954Bfk/HZPmSo2R5KlI+gLUllEDs3w2lry9rVznX+3nwLbQJB7lgIeLNOUY
         0N1eZ3a/6SpTfSo6A3kmW8f8GmbprR9xHCr8XlUUCrPL3uJTAtxAFi0eVPiiVVfqgoIj
         7nt+zZUl5vlxJIIi/81UrwUMvkQTPSNKKvjTY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700654469; x=1701259269;
        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:subject:date:message-id:reply-to;
        bh=GpAplLU4uuf1ZX5Di5L1A6+oqv2xpsS/Lb1cUCHqNBw=;
        b=QJZQ96vTNkikXhe6x95NuTz73mi5iy2yzBqx4Qpm7pQ4BYs3OIaOHc6RMKo55KL+Bu
         ul+W0EcLAO+sLgwbH3pPxqr39xKJYYo2uPe6AYIlqzCT4KCQpEVaO8xgHOnDSwqYT/eI
         bDdGh6FRkh06YJX1DK9X7HnUuntUp3Yewva3ghKMrKIW7qAh6wTJVXe7yANU7KuJg/Jp
         CCFU7hY9SyiOxRrS1f6oHS1XHkrnkTdtGzkGp58aCRonbshdy36NGmhsuBc3FWTqb2z2
         Kt6WPrSXH/rqOVtgQZpxMt2h42g5HdIZSdczmyqJIqyRExaX0myWUwWtLZJ0EjyOGU4r
         gZ2w==
X-Gm-Message-State: AOJu0YxPCiA4+vz7IKRKmr4SsVhiUPZVQOz4KhxicIpqNWkbvLw7DFbZ
	yctty5RqlOWPK7gPgxg04h9+yA==
X-Google-Smtp-Source: AGHT+IHvtZRPu7+j+Wcl95RMy5ANCKhwzBje5eN1KUqSiZEn9u7/i3NFHkQnWvRqvVB4rvyPVRfs3Q==
X-Received: by 2002:a5d:47a6:0:b0:332:c9ee:32ab with SMTP id 6-20020a5d47a6000000b00332c9ee32abmr1810755wrb.5.1700654468818;
        Wed, 22 Nov 2023 04:01:08 -0800 (PST)
Date: Wed, 22 Nov 2023 13:01:07 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [PATCH 5/5] x86/HVM: improve CET-IBT pruning of ENDBR
Message-ID: <ZV3tg_FjPP3ybJFp@macbook>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <40585213-99ac-43b4-9432-03d739ec452c@suse.com>
 <ZV3TL7BtSxC-sv7z@macbook>
 <700ab3e1-0bd3-421b-8bc3-482ea2c84861@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <700ab3e1-0bd3-421b-8bc3-482ea2c84861@suse.com>

On Wed, Nov 22, 2023 at 11:42:16AM +0100, Jan Beulich wrote:
> On 22.11.2023 11:08, Roger Pau Monné wrote:
> > On Thu, Nov 16, 2023 at 02:33:14PM +0100, Jan Beulich wrote:
> >> --- a/xen/arch/x86/hvm/svm/svm.c
> >> +++ b/xen/arch/x86/hvm/svm/svm.c
> >> @@ -2587,6 +2587,19 @@ const struct hvm_function_table * __init
> >>      return &svm_function_table;
> >>  }
> >>  
> >> +void __init prune_svm(void)
> >> +{
> >> +    /*
> >> +     * Now that svm_function_table was copied, populate all function pointers
> >> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
> >> +     * much of an effect as possible.
> >> +     */
> >> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
> > 
> > Shouldn't this better use cpu_has_xen_ibt?
> > 
> > Otherwise the clobbering done in _apply_alternatives() won't be
> > engaged, so it's pointless to set the extra fields.
> 
> That's better answered in the context of ...
> 
> >> --- a/xen/arch/x86/hvm/vmx/vmx.c
> >> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> >> @@ -3032,6 +3032,30 @@ const struct hvm_function_table * __init
> >>      return &vmx_function_table;
> >>  }
> >>  
> >> +void __init prune_vmx(void)
> >> +{
> >> +    /*
> >> +     * Now that vmx_function_table was copied, populate all function pointers
> >> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
> >> +     * much of an effect as possible.
> >> +     */
> >> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
> >> +        return;
> >> +
> >> +    vmx_function_table.set_descriptor_access_exiting =
> >> +        vmx_set_descriptor_access_exiting;
> >> +
> >> +    vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
> >> +    vmx_function_table.process_isr            = vmx_process_isr;
> >> +    vmx_function_table.handle_eoi             = vmx_handle_eoi;
> >> +
> >> +    vmx_function_table.pi_update_irte = vmx_pi_update_irte;
> >> +
> >> +    vmx_function_table.deliver_posted_intr = vmx_deliver_posted_intr;
> >> +    vmx_function_table.sync_pir_to_irr     = vmx_sync_pir_to_irr;
> >> +    vmx_function_table.test_pir            = vmx_test_pir;
> 
> ... this: The goal of having a compile time conditional was to have the
> compiler eliminate the code when not needed. Otherwise there's no real
> reason to have a conditional there in the first place - we can as well
> always install all these pointers.

Maybe do:

if ( !IS_ENABLED(CONFIG_XEN_IBT) || !cpu_has_xen_ibt )

then?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 12:03:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 12:03:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638732.995589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5lx3-00086E-0L; Wed, 22 Nov 2023 12:03:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638732.995589; Wed, 22 Nov 2023 12:03: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 1r5lx2-000867-TB; Wed, 22 Nov 2023 12:03:28 +0000
Received: by outflank-mailman (input) for mailman id 638732;
 Wed, 22 Nov 2023 12:03: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5lx2-000861-5i
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 12:03:28 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 246cd495-892f-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 13:03:26 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c59a4dd14cso79990741fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 04:03:26 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 w10-20020a05600c474a00b0040b2c195523sm2005563wmo.31.2023.11.22.04.03.25
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 04:03:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 246cd495-892f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700654606; x=1701259406; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=gZpjFw6v80gPwWwzU/+/QSJ6sBg0kWAQZBwKS18MeWM=;
        b=FzVkcML7ZRZtAoZP7Vkg5e+sg6mLWe90H83IFes5yHOQz23KDUsYrGCmqabJBBnuyI
         baDhmk50VenN2y2RxCv+GLyvzo84Hx7rwnPB7WnVUcINYj36Z3wQpK/rjqgCUaqzQv11
         au5zctCkvDMY4RwRSFWyySs8tYNlC/zTzxyOQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700654606; x=1701259406;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=gZpjFw6v80gPwWwzU/+/QSJ6sBg0kWAQZBwKS18MeWM=;
        b=T6X09sKX8/I7aMzwvLR7ixnk+4AmPUUO8xn/PbZBklLzXClL13GWZl+qbGj/wuC110
         w5ntIplc1nz8AI6zfURkpZYXu0S9eJeMZww8qND3ShDAW9JeEoBVkqEceFlC6i5LZHRG
         niOwB1Uk3PKsBMqIaqTtZe/3GXEommzum7R/GD0j95J4vTq4Ch+lSZgQJ8BnEL6HZm5B
         CGsWaG85E8RycxJsqE/DSRuWsdTWcQ78sfFqi4fajsIg9/+IUJSMUDerVjBDGCGE8crm
         fT9OpkaqjvEbdZZPh4Et8DI3z/T6LOsFVQbmyaZTouaIHKPEx4DfpphLmYxORyjK7sXH
         tKxw==
X-Gm-Message-State: AOJu0YyR5IqOTGyKEHP47awJwRzqJ+fb7l69eFnv9Lq2Pz75HtiZvoMG
	8tSyPeU7E5oo2rnoc1SGGt3GHw==
X-Google-Smtp-Source: AGHT+IHPU4bsBMIwgVkYbbVyoacQSgsFjcTzDcFXGbj+HcLUHSgwclcFMBVpQ1scNhgXPza1QiomnQ==
X-Received: by 2002:a2e:3002:0:b0:2c5:23f8:1111 with SMTP id w2-20020a2e3002000000b002c523f81111mr138635ljw.41.1700654605788;
        Wed, 22 Nov 2023 04:03:25 -0800 (PST)
Message-ID: <25f042cd-6899-4d9f-954e-e9e712289097@citrix.com>
Date: Wed, 22 Nov 2023 12:03:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86emul: deal with decode failure in predicates test
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <aef9579b-f32d-4bc2-8be9-f875605d17a6@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <aef9579b-f32d-4bc2-8be9-f875605d17a6@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22/11/2023 7:26 am, Jan Beulich wrote:
> Don't let this end in SEGV, due to the subsequent NULL deref.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 12:11:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 12:11:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638740.995599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5m52-000397-Ph; Wed, 22 Nov 2023 12:11:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638740.995599; Wed, 22 Nov 2023 12: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 1r5m52-000390-N3; Wed, 22 Nov 2023 12:11:44 +0000
Received: by outflank-mailman (input) for mailman id 638740;
 Wed, 22 Nov 2023 12:11: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=4N3t=HD=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r5m51-00038u-82
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 12:11:43 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060e.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4b923f9c-8930-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 13:11:41 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8781.eurprd04.prod.outlook.com (2603:10a6:102:20c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 12:11:38 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7025.019; Wed, 22 Nov 2023
 12:11: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: 4b923f9c-8930-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bGpisNx487tKRJmk1Vyy7hgjEEmWr0P1VkDz+EGGwAqhLP7Xo177Mop9euysPx6haUii8yXPyTUtIjvHboyvhHjW0FBiICipBWnk6EwffvIv3hkHlA2n1A8UmpbFT5EhA6nfa4Y0mj4uO4z1hcyjKGhFz/K/asJJI5x/RpwH34NeI3V3fTMqa2Z8XJ/H7kbiZOOBrZNZin6cFRWh+MnNWgPCTe7aJxbfY/2s6PPEqZML0hwtBhkcP0GzliFR4qkF8EdDw1pYbGjN6InwMs5DN07OneNEfBIOMwa/elCMC53KMC2z4Pfn/IKDHzhIhuo8f36H0dODLU/3xZw4LOQ1sg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+lSILnCcXEp+ZMf0zSzNPRJfy1/RaAY6jXaCSke3q6w=;
 b=OQmx3aqt78MvOBw7EGtjLJ9k8JARdvqZec7W3Imgk7kpbsoU9UTix9H3RyeT60JSMnbW5cT8I2Xj0eQiFwX6QZqcskGUtYI0ej9Qmij+ivTHX4ZDhJFyGvqWWvyfm5MGRcvN408wvWHEwiIAuogVQ4mBLlphy+uQcDMyPQoqX/nlJuvknPzf/xoX1HzHAkffD4MwPQqEnHn0ASfYn+n/n8ok4YaKXaOJVyARw/5O4/nqr+vBv4eRe33X77zjk0z5x2M/1ZYKeUXtgF9le3yOTr42yYPykdaCtf543weTb3sMaSb32IxUWjnCybPepqpT0XRYNokHObbS6jd7vH0tMQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+lSILnCcXEp+ZMf0zSzNPRJfy1/RaAY6jXaCSke3q6w=;
 b=yYy1GJmBmPteb8eTBse4ekaNw1LLrrd9pXL+dQSrXejCfdf174tFgacuTAqYZUNHYf7JqbjeiMO5vS9HOXWIT8H/bIBIN3KWuSvbVMyxzuX/s53gWtg1yZAOI2bWXDRvMTTrbwK/17MbGACT94H8m46XlM+36rRJsKhkjNO5mTwfdnwB3vDboC4zx75HQi3hnate7wpvDyDvmsQ1LIcXHNkJMku5v9XNO4MwhwqfQhqzXmiLrRlwGPv9a74xLmOWY87T4cudNDbvC9LPsGATEIGPYlokGlxXuYe+FPxWMGMXdYBuqfMcZYQLJModi9T08zXMYIeRxDsHpitw3/33rA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <12100118-b442-4cba-a8c3-5bfd33de0081@suse.com>
Date: Wed, 22 Nov 2023 13:11:36 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] x86/HVM: improve CET-IBT pruning of ENDBR
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <40585213-99ac-43b4-9432-03d739ec452c@suse.com> <ZV3TL7BtSxC-sv7z@macbook>
 <700ab3e1-0bd3-421b-8bc3-482ea2c84861@suse.com> <ZV3tg_FjPP3ybJFp@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZV3tg_FjPP3ybJFp@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0127.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8781:EE_
X-MS-Office365-Filtering-Correlation-Id: 8e6c5f6a-e789-4709-7f32-08dbeb542e17
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	wFWTW+/1js3GoSUhCmHmX6dQZ+K0FA6bJQH28nM8xXlyguCd29rf79vZbce0Q10cRbKBhz3oPAAYzAN8WTHjI/W5OrDJkkV64DE4MA3jxlqbYS+vVQaXg3JUuT2TlZ7id/VyQvCtF9j5BWinncC9LTh28Ru14ypqEV/HsOhcUriMB82/504grO/K51eiXPJ1pqkoYe5ER0/5Nz79hVGf1qKxZoZD9+OIs5HfYatUs8CplNX4JHUD0pHrCvwjEH6e0gfRvIrAi+Xt5BslyW5X7QTw7nlt2ca0YPP9bRZTwdUKrSjxjU21IzEkvuurt1sXX9goPJ1IJJx/sALeIzVvg4XQyCi/Hp2MeiG3wCnB7Dw4G7e0oGaxIb4dNIp2TF77zfASh86ko2RBsG1y5eMueJ8NfnKvAK1kSIqM0+Ovf45tMwknOpeL5MTtAg8LzPyaRH3rhlS8r8sc4o681TirfAbTMnftd5W1Tk6Aeqs8irmi5OdPi6F+hz40BD9B9Wpjl36+jFDB/mjjyxB0fmTcBI+XHGprt/BuVbt/diIBEEaLLcyWVmCTF++lLHJmVc2zgqmD/g6bjySjUfNnw/4BbnPuy8w2oRK46Gp0kNsvFu6UYwKAdoXWH/eTdpxhW42rsFoTqDGCKMyOklB5rfvoyA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(376002)(136003)(396003)(346002)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(31686004)(2616005)(26005)(6512007)(83380400001)(36756003)(86362001)(31696002)(38100700002)(5660300002)(2906002)(478600001)(53546011)(6506007)(54906003)(6916009)(8676002)(316002)(4326008)(41300700001)(66946007)(8936002)(66476007)(66556008)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bWdZMXdQd2Mrbnh3Nm5TYVBHYVNBSXIxTk5UeU1vdlJVdWxPV3F3eVpuQ3cx?=
 =?utf-8?B?bDZXNkJ4ZDFoM0JIQTlya290ZWpkbHV0R244L3NYd2sySjVRWmJHUG5uOUNG?=
 =?utf-8?B?ZVpxcU1kU3NlVk43RlhpYk1FbFg4YVdpVW9YYnlnRXdZU3Z1Smsrd0x1em4z?=
 =?utf-8?B?cXNZUnFmSmdlaTdjOFVONnpKbEtQb3R6eUgvZ2x6SVVFOU1HM0R1TmxJVXB0?=
 =?utf-8?B?R1M5T1NlMmZ5anM4VDB3a3YwVFZsYnZHNlpaU2o1bWNIdmkzYU5VMysxODVw?=
 =?utf-8?B?Q21hOTRjcHIwMkt6ZUhSVEgzYXEvYWFWcDFTWFFkUHdGUDIyR3R4SStzcGVv?=
 =?utf-8?B?cHBMSndnY2RIMnFrS1BzVjRSeVlLakxDd3ZMc0Eza0VaS2hHZzlaZWd3eDRQ?=
 =?utf-8?B?WFRVc01YMHZqVGJ4aXBNajZpL1lTZXJ3SVlLbGJSdzZzNWtIa3dJbkNBaHNI?=
 =?utf-8?B?TWpZdEdBRHdpTmpITE5WMmtNR2w1UjlHQi9SazVaVVNrcFUzWHdCRVpkT09w?=
 =?utf-8?B?cXBPNVkyQzVSOTdkWDlhUCtxdS9YTmRlV1NRNmxVVE5qNzdqRXpsYnZkUzZI?=
 =?utf-8?B?SFVQQVpscG05SjRUQUlZM3dZOFFqd21Yc2VwMnkweUwrbmZuS3NOQ3pjektC?=
 =?utf-8?B?UzIzN0NKdzQ5NDBKVEU2NUExVFhpeWxzdHdzWWs3bFBIYVFvb01BYWFvZkVu?=
 =?utf-8?B?S2ZhQkRpWXRUcDQ5aTVLTU1QeE1uMFRTNTlxY1I2UjRXZVhMZnBuc0JTVEhK?=
 =?utf-8?B?cEQvTjNhQk1LTHR5NUlkQ25DWVR5cFlnN0MvMVdDUWNqejJjOFY0STBPUXNK?=
 =?utf-8?B?ZkxjMW5xaVBXS2dDMG1pTmxML2hzdTJnaHlWRGRkU0VnUmZxTTRLSTU5cEdy?=
 =?utf-8?B?aSt1U1l3UUhwQnFEOWpUT2pRWXJJRTdoaVYyUEhvQU5uVDk4NktpQmdTclQ2?=
 =?utf-8?B?b3lma3NXWHlVdUt0MlVBaVlXRTVONWVTSEx2eTEwMm45MzBIcWxQZzk0ZEtt?=
 =?utf-8?B?czJtNDdNd0h4MEhVUnRlMkRmM1JlZFYyWWJzdnh2ME1iY2lKT29UbkZTV0Fp?=
 =?utf-8?B?V2lReXBhYnB0NjlFTmp6b25NODgwKzFRb0J2YTNTVCtOS3VxY0Qwb2cvVTN1?=
 =?utf-8?B?d044QlAveXhUZ3BJcXlIQVBwTHhYa1ZqVGhvTmNiRFMya1hYVXJNZkN5c1o5?=
 =?utf-8?B?WWNLaitLb21xaWlINzd0YXZFaFhGaDA3Tm5qS0JyZENuc0k5YkI1U3R3WjZn?=
 =?utf-8?B?ZTJhQXVhTmR0UVpWS05hcGs4eUhwYlVqWHVzbzk4THRQRHNWWS8vNm9Hc1da?=
 =?utf-8?B?VzJEajZZVVR1eHpiUGJkYjN2R2dJRE5WYVZqZ1JUUS9sS3diTkg1eUJCckN2?=
 =?utf-8?B?eGg3SGYwd2x5Snl5d3llOG5HRzFEZ1c5cDhkMlZ1c1hWSGR3amFoLzgwMnUy?=
 =?utf-8?B?VHZQM3RJZmRLZHNNeEdHenFPeUtFUkRaODB5QkMxUHlGYzZ5ajFXQUFIREZi?=
 =?utf-8?B?Q1U0RTZqTnovdmNKVVUwaEhoR2tlUkRGK2pnZEoxWVoyVHhCQy94UUNHMHU4?=
 =?utf-8?B?WEFMTzlCbWc4RlJSSHduYlZMelRHWFhkZnBhVjBxZWtmUVppRG5QUFJFWDN4?=
 =?utf-8?B?aHJKK25kTWJZZ3pUNmMwS2k2cjRkcVdIMFFqTHdDRitRTFF5Z3hCbkI3ckdB?=
 =?utf-8?B?VC9pYzl2cXpMM0trYUNTR3hDL0QvVE9vZFFQZTNaRDhEVHNndWlmMmIraGVz?=
 =?utf-8?B?S2pCemxUeGh3NUpjOWZlVTVFbkJwSE5pV25lVGdwSnlYZDhqSzF0Z3EwK1hB?=
 =?utf-8?B?emYwNmVrTDFMUHoreEF1c054MFR4STdTdm9FMzFTMFVQZ2lRbGNPWXVyK3BS?=
 =?utf-8?B?MEhvdFFjM25UdnhmU2tmbWlYUnlkeVRCUm1uQXQ5dUp1bHFqK3ptSmJXTktx?=
 =?utf-8?B?TStYaTR5eDEzdDNrRlA3K1h2VmdKaVZlZ3lZRTJMUVZaeG9lYWxEcnBkaFZG?=
 =?utf-8?B?T2cwUzg5RXBUeFZtdHY4TFpKNEt6UjRybzFnSGNDWWdDU21zSHNSR25XQ0xJ?=
 =?utf-8?B?bUZ0YWQ4QzhXR1hCbENmZFEvdFlnVnVWbHNxZDVOSUU2VGRRZzdzdVp2amIr?=
 =?utf-8?Q?Gp/PEUvGnmgm83PQU020Jzz7p?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8e6c5f6a-e789-4709-7f32-08dbeb542e17
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 12:11:38.7613
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: msG7eUSMVroai8qrNAfKGloEHt5uXVsLJ78CBN021bF18R4P9WhJ2v62q1W1pTli9yu1u3m27xXKHwcg/jP4HA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8781

On 22.11.2023 13:01, Roger Pau Monné wrote:
> On Wed, Nov 22, 2023 at 11:42:16AM +0100, Jan Beulich wrote:
>> On 22.11.2023 11:08, Roger Pau Monné wrote:
>>> On Thu, Nov 16, 2023 at 02:33:14PM +0100, Jan Beulich wrote:
>>>> --- a/xen/arch/x86/hvm/svm/svm.c
>>>> +++ b/xen/arch/x86/hvm/svm/svm.c
>>>> @@ -2587,6 +2587,19 @@ const struct hvm_function_table * __init
>>>>      return &svm_function_table;
>>>>  }
>>>>  
>>>> +void __init prune_svm(void)
>>>> +{
>>>> +    /*
>>>> +     * Now that svm_function_table was copied, populate all function pointers
>>>> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
>>>> +     * much of an effect as possible.
>>>> +     */
>>>> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
>>>
>>> Shouldn't this better use cpu_has_xen_ibt?
>>>
>>> Otherwise the clobbering done in _apply_alternatives() won't be
>>> engaged, so it's pointless to set the extra fields.
>>
>> That's better answered in the context of ...
>>
>>>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>>>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>>>> @@ -3032,6 +3032,30 @@ const struct hvm_function_table * __init
>>>>      return &vmx_function_table;
>>>>  }
>>>>  
>>>> +void __init prune_vmx(void)
>>>> +{
>>>> +    /*
>>>> +     * Now that vmx_function_table was copied, populate all function pointers
>>>> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
>>>> +     * much of an effect as possible.
>>>> +     */
>>>> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
>>>> +        return;
>>>> +
>>>> +    vmx_function_table.set_descriptor_access_exiting =
>>>> +        vmx_set_descriptor_access_exiting;
>>>> +
>>>> +    vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
>>>> +    vmx_function_table.process_isr            = vmx_process_isr;
>>>> +    vmx_function_table.handle_eoi             = vmx_handle_eoi;
>>>> +
>>>> +    vmx_function_table.pi_update_irte = vmx_pi_update_irte;
>>>> +
>>>> +    vmx_function_table.deliver_posted_intr = vmx_deliver_posted_intr;
>>>> +    vmx_function_table.sync_pir_to_irr     = vmx_sync_pir_to_irr;
>>>> +    vmx_function_table.test_pir            = vmx_test_pir;
>>
>> ... this: The goal of having a compile time conditional was to have the
>> compiler eliminate the code when not needed. Otherwise there's no real
>> reason to have a conditional there in the first place - we can as well
>> always install all these pointers.
> 
> Maybe do:
> 
> if ( !IS_ENABLED(CONFIG_XEN_IBT) || !cpu_has_xen_ibt )
> 
> then?

Maybe. Yet then perhaps cpu_has_xen_ibt might better include the build-time
check already?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 12:26:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 12:26:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638745.995609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5mIo-0005hV-0u; Wed, 22 Nov 2023 12:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638745.995609; Wed, 22 Nov 2023 12:25: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 1r5mIn-0005hO-Ty; Wed, 22 Nov 2023 12:25:57 +0000
Received: by outflank-mailman (input) for mailman id 638745;
 Wed, 22 Nov 2023 12:25: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5mIm-0005g1-8Z
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 12:25:56 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4881b976-8932-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 13:25:55 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2c875207626so51536091fa.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 04:25:55 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 g15-20020a05600c310f00b00401b242e2e6sm2031502wmo.47.2023.11.22.04.25.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 04:25:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4881b976-8932-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700655955; x=1701260755; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0egr1bmaF/PMvEo2sAxdzaWRi6Uu7Blp4L2g1fV0jBw=;
        b=sVe36iex7y/nTM4Ae4RPtrkPwPU9/8Q0ArTP+Jlv5Spo2TBs1B4ANRTwsSLKsmoRrI
         BCbGYsiYo7eTeoD9LexEaDO8uRi9J5inZBYDHFISyySDyTG/0NGRViHliVS4eLe+KLtf
         Zs7ry/6MnUCanO1hyANM/f/2THp0I1ZP+XqG8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700655955; x=1701260755;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0egr1bmaF/PMvEo2sAxdzaWRi6Uu7Blp4L2g1fV0jBw=;
        b=gjTitEskrpu5bPPM3TELj8WMdo+1KDRHpVd7bITYjGStip4gNn36DaVQYbQ6uVLxU3
         Zs1xlHgUvyZexrs0DtBhbeNud9hDlDbvP+wQ1HtcWvaBdpPAsx68fUX31k9hg9au0MOl
         ruArIrj3mP8GYpPztqSARqOAl8owKbuJR0kcHBek7autAmoQKWTKtUL2RQ/aJxJCp0M9
         wnStKFlmDHkOa5cA5G5RGjCuhGT/Adl5J3ao26SOXiIgJJXd9w5IKsKNq3OF3hU56P2I
         rC9B++4DM07izp5YdtqkfMUxd71EEutj3jeXhWBw7J7EGQ5qInwLvAphVqupCTEuBl3Q
         Z6oQ==
X-Gm-Message-State: AOJu0YygIYFgVtAJcj4HuenqDGfp9lqkefHe9p284P7Yvap8e/n2A+WL
	xbgEP+D1Q6JahtYSNqCZNpsR5A==
X-Google-Smtp-Source: AGHT+IFBRR7D7uzmo35VO4YNdj27O7BiVnYWTOqu/ZRVD+/+6PSdEB0tVjZtXRLC+9eXLA7n7RiPIw==
X-Received: by 2002:a2e:9e87:0:b0:2c5:32b:28fa with SMTP id f7-20020a2e9e87000000b002c5032b28famr1898732ljk.30.1700655954875;
        Wed, 22 Nov 2023 04:25:54 -0800 (PST)
Message-ID: <a09c90f3-d720-41d7-8b21-42cab58bd0b8@citrix.com>
Date: Wed, 22 Nov 2023 12:25:53 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/cpuid: enumerate and expose PREFETCHIT{0,1}
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <2736e884-4b28-4ee9-b23e-24e763355d1f@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2736e884-4b28-4ee9-b23e-24e763355d1f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 7:43 am, Jan Beulich wrote:
> --- a/xen/tools/gen-cpuid.py
> +++ b/xen/tools/gen-cpuid.py
> @@ -274,7 +274,7 @@ def crunch_numbers(state):
>          # superpages, PCID and PKU are only available in 4 level paging.
>          # NO_LMSL indicates the absense of Long Mode Segment Limits, which
>          # have been dropped in hardware.
> -        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL],
> +        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, PREFETCHI],

I know this is what the ISE says, but I'm not sure it's a legitimate
dependency.

It is an implementation detail that Intel depend on a RIP-relative
address, but there are no architectural reason why other implementations
couldn't make this work in 32bit too.

The worst that happens without this dependency is that 32bit-only VMs
see a hint bit about certain NOPs having uarch side effects, which
they'll ignore for other reasons.

So I recommend dropping the dependency.  If you're happy, then
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 13:02:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 13:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638756.995645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5msG-00075j-Bg; Wed, 22 Nov 2023 13:02:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638756.995645; Wed, 22 Nov 2023 13:02: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 1r5msG-00075Y-8a; Wed, 22 Nov 2023 13:02:36 +0000
Received: by outflank-mailman (input) for mailman id 638756;
 Wed, 22 Nov 2023 13: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5msE-0006Z6-TY
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 13:02: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 6722a356-8937-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 14:02:34 +0100 (CET)
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 03F781F8D9;
 Wed, 22 Nov 2023 13:02: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 B4CA913467;
 Wed, 22 Nov 2023 13:02:33 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id W0zGKun7XWUhXwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 13:02: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: 6722a356-8937-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700658154; 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=eV7Y6hFZNDmw9PF0suRHLNPlYtrcxG1rZVve947RUWY=;
	b=N4GcT9DKH2y/vryVNnDrWqd3YPzTgI2LPW8c8+bMilDf4ueLCxI5MGan28o3poIr6YgdeS
	cQJ12dUJY1pY4Ku5l9BCjdHoXk06ZNa4eWxFnKnqGtCaX+n/Oqat6EeL0fpHvpzjuZlkcG
	VkOujaRJIK/TQGhPtkjsAitJr4B86FU=
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>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 2/2] tools/python: add .gitignore file
Date: Wed, 22 Nov 2023 14:02:20 +0100
Message-Id: <20231122130220.10247-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231122130220.10247-1-jgross@suse.com>
References: <20231122130220.10247-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.30
X-Spamd-Result: default: False [-0.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[10];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[26.56%]
X-Spam-Flag: NO

Add a local .gitignore file for tools/python.

As at least on some systems (e.g. OpenSUSE Leap 15.5) the build will
produce a tools/python/xen.egg-info directory, add it to the new
.gitignore file, too.

Use "/dir/" as pattern for ignoring a directory and its contents, as
the "/dir/*" pattern won't ignore the directory itself (git just
doesn't complain when seeing a directory without any not ignored file
in it).

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 .gitignore              | 3 ---
 tools/python/.gitignore | 3 +++
 2 files changed, 3 insertions(+), 3 deletions(-)
 create mode 100644 tools/python/.gitignore

diff --git a/.gitignore b/.gitignore
index 3009545af2..5b8f23271e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -213,7 +213,6 @@ tools/misc/xencov
 tools/pkg-config/*
 tools/qemu-xen-build
 tools/xentrace/xenalyze
-tools/python/build/*
 tools/tests/depriv/depriv-fd-checker
 tools/tests/x86_emulator/*.bin
 tools/tests/x86_emulator/*.tmp
@@ -370,8 +369,6 @@ tools/ocaml/test/raise_exception
 tools/debugger/kdd/kdd
 tools/firmware/etherboot/ipxe.tar.gz
 tools/firmware/etherboot/ipxe/
-tools/python/xen/lowlevel/xl/_pyxl_types.c
-tools/python/xen/lowlevel/xl/_pyxl_types.h
 tools/xl/xl
 
 docs/txt/misc/*.txt
diff --git a/tools/python/.gitignore b/tools/python/.gitignore
new file mode 100644
index 0000000000..e8545df68b
--- /dev/null
+++ b/tools/python/.gitignore
@@ -0,0 +1,3 @@
+/build/
+/xen.egg-info/
+/xen/lowlevel/xl/_pyxl_types.[ch]
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 13:02:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 13:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638755.995635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5msC-0006oU-4P; Wed, 22 Nov 2023 13:02:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638755.995635; Wed, 22 Nov 2023 13:02: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 1r5msC-0006oN-1g; Wed, 22 Nov 2023 13:02:32 +0000
Received: by outflank-mailman (input) for mailman id 638755;
 Wed, 22 Nov 2023 13:02: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5msA-0006nv-Th
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 13:02:30 +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 63b89c56-8937-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 14:02:28 +0100 (CET)
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 566C721963;
 Wed, 22 Nov 2023 13:02: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 0A2BC13467;
 Wed, 22 Nov 2023 13:02:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id FYwKAeT7XWUbXwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 13: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>
X-Inumbo-ID: 63b89c56-8937-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700658148; 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=jiOxPL4BgbCdTD9PsC/V2+VgALOSvOhXgYDIvoCewV4=;
	b=DXAY9OMdRTfn1e8Vk0R3b+4Sf6HBRg2tz8aY3OPDwntt7N6HlyohL5vxNVg+EKv7Hc0leZ
	lTW4vWy3nac5VXYSoeC8+VduuhlQzs6RsrKR6kuy6Wdysx48eyhZOz3BGA8JqMl0+FTd2a
	wdRGUnswxsIB88HaICQbB9mUDZh6eaQ=
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>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH v2 1/2] tools/pygrub: add .gitignore file
Date: Wed, 22 Nov 2023 14:02:19 +0100
Message-Id: <20231122130220.10247-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231122130220.10247-1-jgross@suse.com>
References: <20231122130220.10247-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -0.30
X-Spamd-Result: default: False [-0.30 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[43.21%]
X-Spam-Flag: NO

Add a local .gitignore file for tools/pygrub.

As at least on some systems (e.g. OpenSUSE Leap 15.5) the build will
produce a tools/pygrub/pygrub.egg-info directory, add it to the new
.gitignore file, too.

Use "/dir/" as pattern for ignoring a directory and its contents, as
the "/dir/*" pattern won't ignore the directory itself (git just
doesn't complain when seeing a directory without any not ignored file
in it).

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 .gitignore              | 1 -
 tools/pygrub/.gitignore | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)
 create mode 100644 tools/pygrub/.gitignore

diff --git a/.gitignore b/.gitignore
index 2cea994934..3009545af2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -213,7 +213,6 @@ tools/misc/xencov
 tools/pkg-config/*
 tools/qemu-xen-build
 tools/xentrace/xenalyze
-tools/pygrub/build/*
 tools/python/build/*
 tools/tests/depriv/depriv-fd-checker
 tools/tests/x86_emulator/*.bin
diff --git a/tools/pygrub/.gitignore b/tools/pygrub/.gitignore
new file mode 100644
index 0000000000..4fdf23ed8e
--- /dev/null
+++ b/tools/pygrub/.gitignore
@@ -0,0 +1,2 @@
+/build/
+/pygrub.egg-info/
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 13:02:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 13:02:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638754.995624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ms6-0006ZJ-UC; Wed, 22 Nov 2023 13:02:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638754.995624; Wed, 22 Nov 2023 13:02: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 1r5ms6-0006ZC-RO; Wed, 22 Nov 2023 13:02:26 +0000
Received: by outflank-mailman (input) for mailman id 638754;
 Wed, 22 Nov 2023 13:02: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=9zcJ=HD=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r5ms5-0006Z6-Hq
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 13:02:25 +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 60839b0e-8937-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 14:02:24 +0100 (CET)
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 AAF9421921;
 Wed, 22 Nov 2023 13:02: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 555C313467;
 Wed, 22 Nov 2023 13:02:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id 9rFGE977XWUOXwAAMHmgww
 (envelope-from <jgross@suse.com>); Wed, 22 Nov 2023 13:02: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: 60839b0e-8937-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700658142; 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=W7Jg779A262xK9zb2ycdsDbH9lUDE1jIdfthK/QlVao=;
	b=CA20GQv/pQP7CjS3vmC/PmnFHWI1I/Yjf2/8xob76QLOebQkDzJQpgO7IyBDqGIaKAD7Hm
	HzGjIzceL1dn7MRZPg/9GNZ4p1L2wAAm6hEgLnDuBsq8h1KpQv9EuYXBIT7kOTyPmkG6qs
	JY4nnJn8Hd3it9P8auXDcYSbjaq+DuM=
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>,
	Anthony PERARD <anthony.perard@citrix.com>,
	=?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: [PATCH v2 0/2] tools: add two local .gitignore files
Date: Wed, 22 Nov 2023 14:02:18 +0100
Message-Id: <20231122130220.10247-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ***
X-Spam-Score: 3.70
X-Spamd-Result: default: False [3.70 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[10];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[33.71%]
X-Spam-Flag: NO

After a new build on my system (OpenSUSE Leap 15.5) "git status" will
print out:

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        tools/pygrub/pygrub.egg-info/
        tools/python/xen.egg-info/

This small patch series fixes that by adding the related entries to
local .gitignore files, while moving the existing global entries for
those directories to them.

Changes in V2:
- use "/dir/" as matching pattern for directories

Juergen Gross (2):
  tools/pygrub: add .gitignore file
  tools/python: add .gitignore file

 .gitignore              | 4 ----
 tools/pygrub/.gitignore | 2 ++
 tools/python/.gitignore | 3 +++
 3 files changed, 5 insertions(+), 4 deletions(-)
 create mode 100644 tools/pygrub/.gitignore
 create mode 100644 tools/python/.gitignore

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 13:03:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 13:03:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638760.995655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5mt0-0007n9-KP; Wed, 22 Nov 2023 13:03:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638760.995655; Wed, 22 Nov 2023 13:03: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 1r5mt0-0007n2-HF; Wed, 22 Nov 2023 13:03:22 +0000
Received: by outflank-mailman (input) for mailman id 638760;
 Wed, 22 Nov 2023 13:03: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 1r5msz-0007ms-PG; Wed, 22 Nov 2023 13:03: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 1r5msz-0006Cj-Kl; Wed, 22 Nov 2023 13:03: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 1r5msz-0007gv-8k; Wed, 22 Nov 2023 13:03:21 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5msz-0000JD-8J; Wed, 22 Nov 2023 13:03: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=IPNKW9mxvPEVnY2V31bqPiHCXWFeSdOs4MK7FofKemg=; b=MYCZaCNWnKKQvx8j1uRfiSHyBU
	phf/9M0EIMbPNzCdpTOpa72qWKrSmixbxacSdbrhAGsERgoMGG0YGVsFM/Xl+N/iVfpAF7AU1GHBt
	7nzVpxiXgOam5CgOf6+CiBw+N8dVYoBt2/rJJs2U3sQ9XswSUNmAOlua7vGPXO4imv7g=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183818-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183818: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-armhf-armhf-xl-multivcpu:host-ping-check-xen:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c2d5304e6c648ebcf653bace7e51e0e6742e46c8
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Nov 2023 13:03:21 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-armhf-armhf-xl-multivcpu 10 host-ping-check-xen     fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-qcow2 14 migrate-support-check        fail never pass
 test-amd64-amd64-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-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     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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                c2d5304e6c648ebcf653bace7e51e0e6742e46c8
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    6 days
Failing since        183773  2023-11-16 13:12:48 Z    5 days   14 attempts
Testing same since   183818  2023-11-22 02:48:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Ferry Meng <mengferry@linux.alibaba.com>
  Gal Pressman <gal@nvidia.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Jingbo Xu <jefflexu@linux.alibaba.com>
  Jithu Joseph <jithu.joseph@intel.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Simon Glass <sjg@chromium.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Stuart Hayhurst <stuart.a.hayhurst@gmail.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 8473 lines long.)


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 13:40:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 13:40:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638770.995666 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5nSZ-0008Bf-Ly; Wed, 22 Nov 2023 13:40:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638770.995666; Wed, 22 Nov 2023 13: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 1r5nSZ-0008BR-GY; Wed, 22 Nov 2023 13:40:07 +0000
Received: by outflank-mailman (input) for mailman id 638770;
 Wed, 22 Nov 2023 13:40: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=0DV9=HD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5nSY-00081m-0C
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 13:40:06 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a443be18-893c-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 14:40:04 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-40b344101f2so941355e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 05:40:04 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 m6-20020a05600c3b0600b0040b2b86c712sm2261014wms.30.2023.11.22.05.40.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 05:40:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a443be18-893c-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700660404; x=1701265204; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=bi4rG5j2IbjTZ/QvvHMWXbtzgBdCRmqNjxczb6NydiI=;
        b=ObQdDdTUO4dwXV9DERkRuIx48hEGE2VyQBFERgbYxMr4X/uw1EmathckFUV433qUWJ
         95yUubFNmnZ1TrmhiXskoWa+bdho3NtUpIJEsW4oWscCKTedrbPP5icoKRTGAwm0AKJC
         KtXk+MC89Y9Da1jJZn5/g70uGyCSvE3qvjIaQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700660404; x=1701265204;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bi4rG5j2IbjTZ/QvvHMWXbtzgBdCRmqNjxczb6NydiI=;
        b=vjcnj8kSPtqOBIukMdf2yP1lVJ6iSm8/jQ2KZBWJN8TsQmkm6sEv7dqqCHs8H7y6Yb
         zUwZlHcUAQrFv5s28Z6mcqDRt8vDaCf7EOXSzZHUOXrfZi/u59jmkYxAyQNHPm6JsJxD
         ZbHFuAYNY+c8yJWWVWbGT80/G8asrjk8mhmhpA96xp8hSt+hKFGsiPNEZhF3JK92r7uu
         mmM1BAYzDQMHSL0qiT9Ls7sFMtGsl0y2JTFMCXzSlCGg84RN6pnJccYM1+jDV9mWrNcX
         ixUDPa1kQMyPRUbAiF//y1NRa+2mr3fybkfY3xyZ7YX6PDsGOvBWRXhXzEJGwx5SBYpT
         NmOA==
X-Gm-Message-State: AOJu0YzUyhMvmvYUBRdpjKmL+eyxMGrdlu8jXh7AKl+QHWsTstAkSME9
	cSlS962CXqCummDuYPBc/wLSxw==
X-Google-Smtp-Source: AGHT+IGejTdKONEyD2aOiy12H/Z3YzHOYN91hqd7rXHDa0DPXFdVf3VnIcFU47iBN30MqN9An3+Aog==
X-Received: by 2002:a05:600c:3b02:b0:40b:29e7:c150 with SMTP id m2-20020a05600c3b0200b0040b29e7c150mr2489412wms.0.1700660403682;
        Wed, 22 Nov 2023 05:40:03 -0800 (PST)
Date: Wed, 22 Nov 2023 14:40:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Message-ID: <ZV4EsjpoPThN5YME@macbook>
References: <20231121162604.19405-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231121162604.19405-1-alejandro.vallejo@cloud.com>

On Tue, Nov 21, 2023 at 04:26:04PM +0000, Alejandro Vallejo wrote:
> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> registers are derivable from each other through a fixed formula.
> 
> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> rather than x2APIC_IDs (which are not, at the moment). As I understand it,
> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> x2APIC_ID and internally derive LDR (or the other way around)
> 
> This patch fixes the implementation so we follow the rules in the x2APIC
> spec(s).
> 
> The patch also covers migrations from broken hypervisors, so LDRs are
> preserved even for hotppluggable CPUs and across APIC resets.
> 
> Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

LGTM, just a couple of style comments.

> ---
> I tested this by creating 3 checkpoints.
>  1. One with pre-4.4 broken state (every LDR=1, by hacking save_regs)
>  2. One with 4.4 onwards broken state (LDRs packed in their clusters)
>  3. One with correct LDR values
> 
> (1) and (3) restores to the same thing. Consistent APIC_ID+LDR
> (2) restores to what it previously had and hotplugs follow the same logic
> ---
>  xen/arch/x86/hvm/vlapic.c             | 81 +++++++++++++++++++--------
>  xen/arch/x86/include/asm/hvm/domain.h | 13 +++++
>  2 files changed, 72 insertions(+), 22 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> index a8e87c4446..7f169f1e5f 100644
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -1061,13 +1061,23 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
>      .write = vlapic_mmio_write,
>  };
>  
> +static uint32_t x2apic_ldr_from_id(uint32_t id)
> +{
> +    return ((id & ~0xF) << 12) | (1 << (id & 0xF));

Seeing other usages in vlapic.c I think the preference is to use lower
case for hex numbers.

> +}
> +
>  static void set_x2apic_id(struct vlapic *vlapic)
>  {
> -    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
> -    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
> +    uint32_t vcpu_id = vlapic_vcpu(vlapic)->vcpu_id;
> +    uint32_t apic_id = vcpu_id * 2;
> +    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
>  
> -    vlapic_set_reg(vlapic, APIC_ID, id * 2);
> -    vlapic_set_reg(vlapic, APIC_LDR, ldr);
> +    /* This is a migration bug workaround. See wall of text in lapic_load_fixup() */
> +    if ( vlapic_domain(vlapic)->arch.hvm.has_inconsistent_x2apic_ldr_bug )
> +        apic_ldr = x2apic_ldr_from_id(vcpu_id);
> +
> +    vlapic_set_reg(vlapic, APIC_ID, apic_id);
> +    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
>  }
>  
>  int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
> @@ -1495,30 +1505,57 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
>  /*
>   * Following lapic_load_hidden()/lapic_load_regs() we may need to
>   * correct ID and LDR when they come from an old, broken hypervisor.
> + *
> + * Xen <= 4.4 had a bug by which all the APICs configured in x2APIC mode
> + * got LDR = 1. This was fixed back then, but another bug was introduced
> + * causing APIC ID and LDR to break the consistency they are meant to have
> + * according to the specs (LDR was derived from vCPU ID, rather than APIC
> + * ID)
> + *
> + * Long story short, we can detect both cases here. For the LDR=1 case we
> + * want to fix it up on migrate, as IPIs just don't work on non-physical
> + * mode otherwise. For the other case we actually want to preserve previous
> + * behaviour so that existing running instances that may have already read
> + * the LDR at the source host aren't surprised when IPIs stop working as
> + * they did at the other end.
> + *
> + * Note that "x2apic_id == 0" has always been correct and can't be used to
> + * discriminate these cases.
> + *

I think it's best if this big comment was split between the relevant
parts of the if below used to detect the broken states, as that makes
the comments more in-place with the code.

> + * Yuck!
>   */
>  static void lapic_load_fixup(struct vlapic *vlapic)
>  {
> -    uint32_t id = vlapic->loaded.id;
> +    /*
> +     * This LDR would be present in broken versions of Xen 4.4 through 4.18.
> +     * It's correct for the cpu with x2apic_id=0 (vcpu0), but invalid for
> +     * any other.
> +     */
> +    uint32_t bad_ldr = x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id);
>  
> -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
> -    {
> +    /*
> +     * No need to perform fixups in non-x2apic mode, and x2apic_id == 0 has
> +     * always been correct.
> +     */
> +    if ( !vlapic_x2apic_mode(vlapic) || !vlapic->loaded.id )

You could replace the !vlapic->loaded.id check and instead use:

vlapic->loaded.ldr == x2apic_ldr_from_id(vlapic->loaded.id)

As that will allow returning early from the function if the LDR is
correct.  Then if none of the fixups below apply we could print a
warning message that the LDR is incorrect, but cannot be fixed up.

> +        return;
> +
> +    if ( vlapic->loaded.ldr == 1 )
> +       /*
> +        * Migration from a broken Xen 4.4 or earlier. We can't leave it
> +        * as-is because it assigned the same LDR to every CPU. We'll fix
> +        * the bug now and assign LDR values consistent with the APIC ID.
> +        */
> +        set_x2apic_id(vlapic);

Previous code also did some checks here related to APIC ID sanity,
which are now dropped?

Might be worth mentioning in the commit message, if that was intended.

> +    else if ( bad_ldr == vlapic->loaded.ldr )
>          /*
> -         * This is optional: ID != 0 contradicts LDR == 1. It's being added
> -         * to aid in eventual debugging of issues arising from the fixup done
> -         * here, but can be dropped as soon as it is found to conflict with
> -         * other (future) changes.
> +         * This is a migration from a broken Xen between 4.4 and 4.18 and we
> +         * must _PRESERVE_ LDRs so new vCPUs use consistent derivations. In
> +         * this case we set this domain boolean so future CPU hotplugs
> +         * derive an LDR consistent with the older Xen's broken idea of
> +         * consistency.
>           */
> -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
> -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
> -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
> -                   vlapic_vcpu(vlapic), id);
> -        set_x2apic_id(vlapic);
> -    }
> -    else /* Undo an eventual earlier fixup. */
> -    {
> -        vlapic_set_reg(vlapic, APIC_ID, id);
> -        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
> -    }
> +        vlapic_domain(vlapic)->arch.hvm.has_inconsistent_x2apic_ldr_bug = true;
>  }
>  
>  static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
> diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
> index 6e53ce4449..a42a6e99bb 100644
> --- a/xen/arch/x86/include/asm/hvm/domain.h
> +++ b/xen/arch/x86/include/asm/hvm/domain.h
> @@ -61,6 +61,19 @@ struct hvm_domain {
>      /* Cached CF8 for guest PCI config cycles */
>      uint32_t                pci_cf8;
>  
> +    /*
> +     * Xen had a bug between 4.4 and 4.18 by which the x2APIC LDR was
> +     * derived from the vcpu_id rather than the x2APIC ID. This is wrong,
> +     * but changing this behaviour is tricky because guests might have
> +     * already read the LDR and used it accordingly. In the interest of not
> +     * breaking migrations from those hypervisors we track here whether
> +     * this domain suffers from this or not so a hotplugged vCPU or an APIC
> +     * reset can recover the same LDR it would've had on the older host.
> +     *
> +     * Yuck!
> +     */
> +    bool has_inconsistent_x2apic_ldr_bug;

Could you place the new field after the existing boolean fields in the
struct? (AFAICT there's plenty of padding left there)

I also think the field name is too long, I would rather use
x2apic_ldr_vcpu_id for example (to note that LDR is calculated from
vCPU ID rather than APIC ID).

I think it would be good if we could trim a bit the comments, as I get
the impression it's a bit repetitive.

So I would leave the big explanation in lapic_load_fixup(), and just
comment here:

/* Compatibility setting for a bug in x2APIC LDR format. */

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 13:41:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 13:41:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638775.995675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5nU0-0000KY-V8; Wed, 22 Nov 2023 13:41:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638775.995675; Wed, 22 Nov 2023 13:41: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 1r5nU0-0000KR-RC; Wed, 22 Nov 2023 13:41:36 +0000
Received: by outflank-mailman (input) for mailman id 638775;
 Wed, 22 Nov 2023 13:41: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=0DV9=HD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5nTz-0000KH-J0
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 13:41:35 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d96c9e07-893c-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 14:41:33 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-40838915cecso33045325e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 05:41:33 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 g6-20020a05600c4ec600b0040b303d0dcfsm2285146wmq.36.2023.11.22.05.41.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 05:41:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d96c9e07-893c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700660493; x=1701265293; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=2egLIwhgYAa4I++2P3xUUAdfMQ7VhMUmfJSWaM8iFnw=;
        b=cIjeaBGgQYQGTo3ArdjSTKJ38MBmH2/z54KMMuHrnk9St05kBmC/6r6ivsQWkfnEEy
         I+GtoTPhIoW8pgRmh7CON0BYeeNetQKUfFxiLA56X9x1ac9980ZZ0+b5yz0ujpFMGIlX
         IqbrX7iPacnLTtb8VSpCbvk+EoroUA5rcKmg4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700660493; x=1701265293;
        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:subject:date:message-id:reply-to;
        bh=2egLIwhgYAa4I++2P3xUUAdfMQ7VhMUmfJSWaM8iFnw=;
        b=XMLah9nOIKeQdAX8JLe59R+c+0noXOq7bg0QjQxRKgUrv2zTBqic8rDWEKEJbIxA66
         +56sMJxpYEepH1kllXSFi9tyS9tGxpWbKzF84krSrJqlm+J6cqmS/ioTbGgjU9AJ6WND
         t9TfYPCklslEixoMgOU6VOHNkXqUjC5A0QA73lX/S7Z6XdGE+ePHCppvuP277NKdJbd8
         P9Rw+p3EE720l1thxai0lzcX4Fucc8mhGKs5xBbxmQZH31ljGPAuUVwm54Q+rWFt1jCa
         fOpVwCIZ5rmbah1wn4qH4qIngtQXAXtsQSZFL8PeOImURt4YbrNgU4MVEPOPAstXOuls
         YnIA==
X-Gm-Message-State: AOJu0Yzf3yq9maqQq4lRkmYmFrJYt5VFfDCga+mtiwT+G8jEftQKDLfT
	iDn1OI7ebpEdzYTbGVioiBJ3V+92D4fEbm1Pi54=
X-Google-Smtp-Source: AGHT+IESdK2Gpb0W45RKZuLynGyofX4DhsDme8nDjh8o19ShtVQZTW4fET0Ofba2p9jxVA2R1fFnsQ==
X-Received: by 2002:a05:600c:524a:b0:40b:3373:abbd with SMTP id fc10-20020a05600c524a00b0040b3373abbdmr1087348wmb.32.1700660492919;
        Wed, 22 Nov 2023 05:41:32 -0800 (PST)
Date: Wed, 22 Nov 2023 14:41:31 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Kevin Tian <kevin.tian@intel.com>,
	Jun Nakajima <jun.nakajima@intel.com>
Subject: Re: [PATCH 5/5] x86/HVM: improve CET-IBT pruning of ENDBR
Message-ID: <ZV4FC8yHchdaCuxf@macbook>
References: <791a9f45-2bed-48f9-af6a-9fbde65bcc71@suse.com>
 <40585213-99ac-43b4-9432-03d739ec452c@suse.com>
 <ZV3TL7BtSxC-sv7z@macbook>
 <700ab3e1-0bd3-421b-8bc3-482ea2c84861@suse.com>
 <ZV3tg_FjPP3ybJFp@macbook>
 <12100118-b442-4cba-a8c3-5bfd33de0081@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <12100118-b442-4cba-a8c3-5bfd33de0081@suse.com>

On Wed, Nov 22, 2023 at 01:11:36PM +0100, Jan Beulich wrote:
> On 22.11.2023 13:01, Roger Pau Monné wrote:
> > On Wed, Nov 22, 2023 at 11:42:16AM +0100, Jan Beulich wrote:
> >> On 22.11.2023 11:08, Roger Pau Monné wrote:
> >>> On Thu, Nov 16, 2023 at 02:33:14PM +0100, Jan Beulich wrote:
> >>>> --- a/xen/arch/x86/hvm/svm/svm.c
> >>>> +++ b/xen/arch/x86/hvm/svm/svm.c
> >>>> @@ -2587,6 +2587,19 @@ const struct hvm_function_table * __init
> >>>>      return &svm_function_table;
> >>>>  }
> >>>>  
> >>>> +void __init prune_svm(void)
> >>>> +{
> >>>> +    /*
> >>>> +     * Now that svm_function_table was copied, populate all function pointers
> >>>> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
> >>>> +     * much of an effect as possible.
> >>>> +     */
> >>>> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
> >>>
> >>> Shouldn't this better use cpu_has_xen_ibt?
> >>>
> >>> Otherwise the clobbering done in _apply_alternatives() won't be
> >>> engaged, so it's pointless to set the extra fields.
> >>
> >> That's better answered in the context of ...
> >>
> >>>> --- a/xen/arch/x86/hvm/vmx/vmx.c
> >>>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> >>>> @@ -3032,6 +3032,30 @@ const struct hvm_function_table * __init
> >>>>      return &vmx_function_table;
> >>>>  }
> >>>>  
> >>>> +void __init prune_vmx(void)
> >>>> +{
> >>>> +    /*
> >>>> +     * Now that vmx_function_table was copied, populate all function pointers
> >>>> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
> >>>> +     * much of an effect as possible.
> >>>> +     */
> >>>> +    if ( !IS_ENABLED(CONFIG_XEN_IBT) )
> >>>> +        return;
> >>>> +
> >>>> +    vmx_function_table.set_descriptor_access_exiting =
> >>>> +        vmx_set_descriptor_access_exiting;
> >>>> +
> >>>> +    vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
> >>>> +    vmx_function_table.process_isr            = vmx_process_isr;
> >>>> +    vmx_function_table.handle_eoi             = vmx_handle_eoi;
> >>>> +
> >>>> +    vmx_function_table.pi_update_irte = vmx_pi_update_irte;
> >>>> +
> >>>> +    vmx_function_table.deliver_posted_intr = vmx_deliver_posted_intr;
> >>>> +    vmx_function_table.sync_pir_to_irr     = vmx_sync_pir_to_irr;
> >>>> +    vmx_function_table.test_pir            = vmx_test_pir;
> >>
> >> ... this: The goal of having a compile time conditional was to have the
> >> compiler eliminate the code when not needed. Otherwise there's no real
> >> reason to have a conditional there in the first place - we can as well
> >> always install all these pointers.
> > 
> > Maybe do:
> > 
> > if ( !IS_ENABLED(CONFIG_XEN_IBT) || !cpu_has_xen_ibt )
> > 
> > then?
> 
> Maybe. Yet then perhaps cpu_has_xen_ibt might better include the build-time
> check already?

I was wondering about this, yes, might be a better route.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 14:27:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 14:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638783.995690 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5oCf-0000kz-JV; Wed, 22 Nov 2023 14:27:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638783.995690; Wed, 22 Nov 2023 14:27: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 1r5oCf-0000kO-E9; Wed, 22 Nov 2023 14:27:45 +0000
Received: by outflank-mailman (input) for mailman id 638783;
 Wed, 22 Nov 2023 14:27: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=Dm5i=HD=citrix.com=prvs=683e23acf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5oCe-0000hs-DG
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 14:27:44 +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 4b390046-8943-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 15:27:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b390046-8943-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700663262;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=Eo9I9xj2i1asipixg+7dapGveAPDIU1R2uPCcdM0R2Y=;
  b=GCxzrjBgwRPw8qNtEAFQrMQJoHTspioDRlUXa+fEaF2cm/zh/0wDYfV0
   E8XRJ7+IAcbVkkEkwA4NJ02JzwtVTYmPxiH3+p8MZ3G+jp/Y0dm8O6wBw
   NFe86WSYv+MCGGAnKLw2kO126352c8cq0oFI5Y1uW2PexrOFFebVHjoW8
   c=;
X-CSE-ConnectionGUID: A7Pmy9+tTLqezMZ4wur+xw==
X-CSE-MsgGUID: pFEMKUvSTMybE3FAFWRJYg==
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128141616
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:8Fr396ubJ4dNWxKhcGTaQSabMefnVGpeMUV32f8akzHdYApBsoF/q
 tZmKWGHaP6CZ2PxeYonPt6090kGu5/Uy9c3GQA4qCwxFCJE+JbJXdiXEBz9bniYRiHhoOCLz
 O1FM4Wdc5pkJpP4jk3wWlQ0hSAkjclkfpKlVaicfHg3HFc4IMsYoUoLs/YjhYJ1isSODQqIu
 Nfjy+XSI1bg0DNvWo4uw/vrRChH4rKq5Fv0gnRkPaoQ5QaEzSFPZH4iDfrZw0XQE9E88tGSH
 44v/JnhlkvF8hEkDM+Sk7qTWiXmlZaLYGBiIlIPM0STqkAqSh4ai87XB9JFAatjsB2bnsgZ9
 Tl4ncfYpTHFnEH7sL91vxFwS0mSNEDdkVPNCSDXXce7lyUqf5ZwqhnH4Y5f0YAwo45K7W9yG
 fMwAW81awHSxP6K5Ku2WMxe2ts+Nor7I9ZK0p1g5Wmx4fcORJnCR+PB5MNC3Sd2jcdLdRrcT
 5NHM3w1Nk2GOkAefAhPYH49tL7Aan3XWjtUsl+K44Ew5HDe1ldZ27nxKtvFPNeNQK25m27B/
 DKfoz2nW09y2Nq30RSo11GRmNTzuDLxddk8PZOHzNxbjwjGroAUIEJPDgbqyRWjsWauVtQaJ
 0EK9y4Gqakp6FftXtT7Rwe/onOPolgbQdU4O88Q5RyJy6HUyx2EHWVCRTlEAPQ5sOcmSDps0
 UWG9/vyHiBmurCRTXOb95+XoCm0NCxTKnUNDQceSgEI+cXk5os6gRTGVN9LGrO6ldDzFnf7x
 DXihC4/jLIXhIgV2rmh/FbGqzixqYPESAFz7QLSNkq+7wZ+YoPjbYWs7VHB7PBoJpuWVVSHs
 z4PnM320QwVJcjTzmrXGrxLRez4oandWNHBvbJxN7B+zzG8qj2/QaRJ7SNbFht2L9xHaSC8N
 Sc/pjhtCI9v0GqCNPAvO9/hUZl1ncDd+cLZuuc4h+eig6SdlyfdpUmCnWbKgwjQfLEEyMnTw
 6uzf8e2Fmo9Aq961jewTOp1+eZ0nnhjlDqNGMCilkjPPV+iiJi9E+9t3LymN7BR0U95iF+Nr
 4Y32zWil32zr9ESkgGIqNVOfDjm3FAwBIzsqtw/SwJwClMOJY3VMNeImelJU9U8z8xoehLgo
 inVtrlwlACu2hUq6GyiNhheVV8Ydcwl8yhjZnd8Zj5FGRELOO6S0UvWTLNvFZFPyQCp5a4co
 yUtEylYPslydw==
IronPort-HdrOrdr: A9a23:S6Kso6roVDCQLh5rfvLwl2IaV5oneYIsimQD101hICG8cqSj+f
 xG+85rsiMc6QxhPE3I9urhBEDtex/hHP1OkOws1NWZLWrbUQKTRekIh+bfKlXbakvDH4VmtJ
 uIHZIQNDSJNykZsfrH
X-Talos-CUID: =?us-ascii?q?9a23=3AJ4i4dWnaL5IEAeYYsLXTGuAiFTjXOVSC9HLBcgy?=
 =?us-ascii?q?kNUJwRa+wewOP5bkng9U7zg=3D=3D?=
X-Talos-MUID: 9a23:lTYgJQXKy/jHFFfq/CfCqRRBCdlT34G/Am1Wv7wohPOmBCMlbg==
X-IronPort-AV: E=Sophos;i="6.04,219,1695700800"; 
   d="scan'208";a="128141616"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>, Simone Ballarin
	<simone.ballarin@bugseng.com>
Subject: [PATCH 0/3] xen/MISRA: Remove nonstandard inline keywords
Date: Wed, 22 Nov 2023 14:27:30 +0000
Message-ID: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Along with two minor pieces of cleanup in x86/apic found while doing this
work.

Gitlab CI:
  https://gitlab.com/xen-project/people/andyhhp/xen/-/pipelines/1081682400

Andrew Cooper (3):
  x86/apic: Drop atomic accessors
  x86/apic: Drop the APIC_MSR_BASE constant
  xen/MISRA: Remove nonstandard inline keywords

 .../eclair_analysis/ECLAIR/toolchain.ecl      |  6 +--
 docs/misra/C-language-toolchain.rst           |  2 +-
 xen/arch/x86/include/asm/apic.h               | 37 ++++++-------------
 xen/arch/x86/include/asm/apicdef.h            |  3 --
 xen/include/acpi/cpufreq/cpufreq.h            |  4 +-
 xen/include/xen/bitops.h                      |  4 +-
 xen/include/xen/compiler.h                    |  7 ++--
 7 files changed, 23 insertions(+), 40 deletions(-)


base-commit: c22fe7213c9b1f99cbc64c33e391afa223f9cd08
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 14:27:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 14:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638785.995714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5oCi-0001R3-6N; Wed, 22 Nov 2023 14:27:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638785.995714; Wed, 22 Nov 2023 14:27: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 1r5oCi-0001Qs-3X; Wed, 22 Nov 2023 14:27:48 +0000
Received: by outflank-mailman (input) for mailman id 638785;
 Wed, 22 Nov 2023 14:27: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=Dm5i=HD=citrix.com=prvs=683e23acf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5oCg-0000hs-DU
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 14:27:46 +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 4d156d13-8943-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 15:27:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d156d13-8943-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700663264;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=bRZw8HpOnQzzkA1q6rwNIIhXyAnBfhvT+l0gq9/kgVI=;
  b=IWcb0lVytB+Dd8YW7KdJtRI3F1dfhjs7sK32UmdZNlHt8ATmyBIKZg61
   X7TkNhthDJQI0UB1t6a0VQMaBxjTS5Ap/WJe6N8fIg32diQgBQ+tbAHxL
   m2EMQrRgrvzeQ/8ii90rZJbiGVvzMf3AePCviXDzrDQlBWakoLtCiIfmT
   g=;
X-CSE-ConnectionGUID: RU2enJTNQOWXW12FekJHvg==
X-CSE-MsgGUID: rtqloiI4T9mMZ5N9CyigFQ==
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128141619
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:GwdU7KBIA6DjoBVW/2fjw5YqxClBgxIJ4kV8jS/XYbTApD90hmFUz
 mMXWTqEM/jZNjenfYpzYNyz9hgH6pTWztZjQQY4rX1jcSlH+JHPbTi7wuUcHAvJd5GeExg3h
 yk6QoOdRCzhZiaE/n9BCpC48D8kk/nOH+KgYAL9EngZbRd+Tys8gg5Ulec8g4p56fC0GArIs
 t7pyyHlEAbNNwVcbCRMt8pvlDs15K6p4WpC5ARkDRx2lAS2e0c9Xcp3yZ6ZdxMUcqEMdsamS
 uDKyq2O/2+x13/B3fv8z94X2mVTKlLjFVDmZkh+AsBOsTAbzsAG6Y4pNeJ0VKtio27hc+ada
 jl6ncfYpQ8BZsUgkQmGOvVSO3kW0aZuoNcrLZUj2CA6IoKvn3bEmp1T4E8K0YIwwNstDGdsy
 dohDw89UUnZqe+14pKlRbw57igjBJGD0II3v3hhyXfSDOo8QICFSKLPjTNa9G5u3IYUR6+YP
 pdIL2U3BPjDS0Qn1lM/IZQyhuq3wFL4dCVVsgm9rqsr+WnDigd21dABNfKMIIzTGZwLxxfwS
 mTu5XjgBhYbFYCjmD+gwC+K18TenCzVYddHfFG/3qEz2wDCroAJMzUGWF3+rfSnh0qWX9NEN
 1dS6icotbI19kGgUp/6RRLQiFyuswMYWtFQO/Yn8wzLwa3Riy6GAkAUQzgHb8Yp3PLaXhRzi
 AXPxYmwQ2Uy4fvKERpx64t4sxuIBHIYK00+QxYjcjs6uoPNrYIRrgzAG4ML/LGOsjHlJd3h6
 2nV9HBj1+9O0p5j6kmtwbzQb9uRSnn1ou0dvFy/spqNtF8RWWJcT9XABaLnxfhBNp2FaVKKo
 WIJncOThMhXUsnVyX3UHrhdRej1jxpgDNE6qQQ3d3XG3239k0NPgKgKuG0uTKuXGppslcDVj
 L/75loKuc470IqCZq5reYOhY/nGPoC5fekJosv8N4IUCrAoLV/vwc2bTRLIt4wbuBR2wP5X1
 FbyWZrEMEv2/ow9lmTsH7xGgeRDK+JX7Tq7eK0XBi+PidK2DEN5g59cWLdSRojVNJ+5nTg=
IronPort-HdrOrdr: A9a23:uao38KOTr9egFcBcTvmjsMiBIKoaSvp037Eqv3oedfUzSL3gqy
 nOpoV86faaslYssR0b9exofZPwJE80lqQFhrX5X43SPzUO0VHAROoJgLcKgQeQfxEWntQtrZ
 uIGJIeNDSfNzdHZL7BkWuFL+o=
X-Talos-CUID: =?us-ascii?q?9a23=3Aycfi7mtAr8rnts+672Mqw/0g6IsfTyfQylXsBXa?=
 =?us-ascii?q?fNlZWEee7RFyy2L1rxp8=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3Abpd68AxjU5AU4QuG+X/FpzHCxcCaqL6yEUQKkLR?=
 =?us-ascii?q?ah5iBEB4tHWa2nTW4bLZyfw=3D=3D?=
X-IronPort-AV: E=Sophos;i="6.04,219,1695700800"; 
   d="scan'208";a="128141619"
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/3] x86/apic: Drop the APIC_MSR_BASE constant
Date: Wed, 22 Nov 2023 14:27:32 +0000
Message-ID: <20231122142733.1818331-3-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Use MSR_X2APIC_FIRST from msr-index.h instead.

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/apic.h    | 4 ++--
 xen/arch/x86/include/asm/apicdef.h | 3 ---
 2 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/include/asm/apic.h b/xen/arch/x86/include/asm/apic.h
index 288b4933eb38..486d689478b2 100644
--- a/xen/arch/x86/include/asm/apic.h
+++ b/xen/arch/x86/include/asm/apic.h
@@ -69,7 +69,7 @@ static __inline void apic_wrmsr(unsigned long reg, uint64_t msr_content)
         reg == APIC_LVR)
         return;
 
-    wrmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
+    wrmsrl(MSR_X2APIC_FIRST + (reg >> 4), msr_content);
 }
 
 static __inline uint64_t apic_rdmsr(unsigned long reg)
@@ -79,7 +79,7 @@ static __inline uint64_t apic_rdmsr(unsigned long reg)
     if (reg == APIC_DFR)
         return -1u;
 
-    rdmsrl(APIC_MSR_BASE + (reg >> 4), msr_content);
+    rdmsrl(MSR_X2APIC_FIRST + (reg >> 4), msr_content);
     return msr_content;
 }
 
diff --git a/xen/arch/x86/include/asm/apicdef.h b/xen/arch/x86/include/asm/apicdef.h
index 8d1b0087d4ef..c4068ccc10f4 100644
--- a/xen/arch/x86/include/asm/apicdef.h
+++ b/xen/arch/x86/include/asm/apicdef.h
@@ -124,9 +124,6 @@
 
 #define APIC_BASE __fix_to_virt(FIX_APIC_BASE)
 
-/* It's only used in x2APIC mode of an x2APIC unit. */
-#define APIC_MSR_BASE 0x800
-
 #define MAX_IO_APICS 128
 
 extern bool x2apic_enabled;
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 14:27:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 14:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638782.995685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5oCf-0000iA-9g; Wed, 22 Nov 2023 14:27:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638782.995685; Wed, 22 Nov 2023 14:27: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 1r5oCf-0000i3-64; Wed, 22 Nov 2023 14:27:45 +0000
Received: by outflank-mailman (input) for mailman id 638782;
 Wed, 22 Nov 2023 14:27: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=Dm5i=HD=citrix.com=prvs=683e23acf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5oCd-0000hs-NG
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 14:27:43 +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 48edbeb6-8943-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 15:27:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48edbeb6-8943-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700663261;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ywvep0L7wFEFiubA9y2BEnjTlV89Gf8x0DSPJfdKTgM=;
  b=NI2dATF/OIJSNZoNf1Jubuz77lGEulhMrOQmcyqxn+fhspvRtL4e3jDa
   DsU5SZz+vxQRT5HBE5nlnIYbQd4/g4VzkOYL+TgxX8PmmTEolmm7cl6wn
   NDTQw0BbuSqpd7oaqrPR4+2hCM2mfGYZjI4kZUD/nyL3LCIz6cUw04V0D
   I=;
X-CSE-ConnectionGUID: FUgGcfvZQFCj8jqu50I/5A==
X-CSE-MsgGUID: So+pkNaeR22uRJ7GcsGH5A==
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128715170
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:dWJi1a3azst0+oJrE/bD5Z1xkn2cJEfYwER7XKvMYLTBsI5bp2dRy
 2dOXmjVb/feYmP3Ko8lOYXkpBwH6JKDnYAxSwFrpC1hF35El5HIVI+TRqvS04F+DeWYFR46s
 J9OAjXkBJppJpMJjk71atANlVEliOfQAOK6UbaYUsxIbVcMYD87jh5+kPIOjIdtgNyoayuAo
 tq3qMDEULOf82cc3lk8teTb9HuDgNyo4GlD5wVkP6gR1LPjvyJ94Kw3dPnZw0TQGuG4LsbiL
 87fwbew+H/u/htFIrtJRZ6iLyXm6paLVeS/oiI+t5qK23CulQRrukoPD9IOaF8/ttm8t4sZJ
 OOhF3CHYVxB0qXkwIzxWvTDes10FfUuFLTveRBTvSEPpqFvnrSFL/hGVSkL0YMkFulfL1xB2
 vcWNgI0QDuB1+Cv3e/ja64xr5F2RCXrFNt3VnBIyDjYCbAtQIzZQrWM7thdtNsyrpkQR7CEP
 ZNfMGc+KkuYC/FMEg5/5JYWteGknHTgNRZfr0qYv/Ef6GnP1g1hlrPqNbI5f/TTH5UKxxvB+
 TquE2LRORZZLN+5wDe/qCixvM2Qsijgd6JPPejtnhJtqALKnTFCYPEMbnOrrP/8hkOgVtZ3L
 00P5jFovaU07FasTNT2Q1u/unHsljw2VsdUEuY6wBqQ0aeS6AGcbkAbShZRZdpgs9U5LQHGz
 XfQwYmvX2Y29uTIGDTCrt94sA9eJwA7EGAtbiEafzIryNuzopgu00ruCYtKRfvdYsLOJd3g/
 9ybhHFh3+1O3ZRWiPXTwLzRv967SnH0ou8JCub/BDvNAvtRPtLNWmBRwQGzAQx8BIiYVEKdm
 3MPhtKT6usDZbnUy3TVHbRUQuz5vq/ZWNE5vbKJN8N5n9hK0yfzFb28HRkkfBs5Wir6UWOBj
 LDvVfN5u8YIYSrCgV5faIOtEcU6pZUM5vy8Ps04muFmO8ArHCfepXEGWKJl9zy1+KTauf1la
 MjznAfFJSpyNJmLOxLsHblHieRwlntWKKG6bcmT8ilLGIG2PBa9IYrp+nPXBgzlxMtoeDnoz
 us=
IronPort-HdrOrdr: A9a23:cseX0auhqx3XIcHa8AxtN5RO7skDTtV00zEX/kB9WHVpmszxra
 6TdZMgpGbJYVcqKRcdcL+7WJVoLUmxyXcx2/h1AV7AZniAhILLFvAA0WKK+VSJcEeSygce79
 YFT0EXMqyJMbEQt6fHCWeDfOrIuOP3kpyVuQ==
X-Talos-CUID: =?us-ascii?q?9a23=3AfaLF8mmgz0ru7bxjCyTjKQNgpQnXOVPgw1jbLVG?=
 =?us-ascii?q?KMEhCSu2XUELNoIIjzuM7zg=3D=3D?=
X-Talos-MUID: =?us-ascii?q?9a23=3ApLZs0Q1+3WwvlCVPfCXW4kWWSzUj2KPtEEMrmJg?=
 =?us-ascii?q?84ZOZDw4vFDyGoxTqa9py?=
X-IronPort-AV: E=Sophos;i="6.04,219,1695700800"; 
   d="scan'208";a="128715170"
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/3] x86/apic: Drop atomic accessors
Date: Wed, 22 Nov 2023 14:27:31 +0000
Message-ID: <20231122142733.1818331-2-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The last users were dropped in commit 413e92e9bf13 ("x86/apic: Drop
workarounds for Pentium/82489DX erratum").

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/apic.h | 13 -------------
 1 file changed, 13 deletions(-)

diff --git a/xen/arch/x86/include/asm/apic.h b/xen/arch/x86/include/asm/apic.h
index f7ad7b20dd80..288b4933eb38 100644
--- a/xen/arch/x86/include/asm/apic.h
+++ b/xen/arch/x86/include/asm/apic.h
@@ -54,11 +54,6 @@ static __inline void apic_mem_write(unsigned long reg, u32 v)
 	*((volatile u32 *)(APIC_BASE+reg)) = v;
 }
 
-static __inline void apic_mem_write_atomic(unsigned long reg, u32 v)
-{
-	(void)xchg((volatile u32 *)(APIC_BASE+reg), v);
-}
-
 static __inline u32 apic_mem_read(unsigned long reg)
 {
 	return *((volatile u32 *)(APIC_BASE+reg));
@@ -97,14 +92,6 @@ static __inline void apic_write(unsigned long reg, u32 v)
         apic_mem_write(reg, v);
 }
 
-static __inline void apic_write_atomic(unsigned long reg, u32 v)
-{
-    if ( x2apic_enabled )
-        apic_wrmsr(reg, v);
-    else
-        apic_mem_write_atomic(reg, v);
-}
-
 static __inline u32 apic_read(unsigned long reg)
 {
     if ( x2apic_enabled )
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 14:27:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 14:27:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638784.995704 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5oCg-0001Bu-VB; Wed, 22 Nov 2023 14:27:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638784.995704; Wed, 22 Nov 2023 14: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 1r5oCg-0001Bn-SW; Wed, 22 Nov 2023 14:27:46 +0000
Received: by outflank-mailman (input) for mailman id 638784;
 Wed, 22 Nov 2023 14: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=Dm5i=HD=citrix.com=prvs=683e23acf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5oCf-0000hs-AK
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 14:27:45 +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 4c53bd41-8943-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 15:27:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4c53bd41-8943-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700663263;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=eWMLgFqdH7Iqx1Wkq82bGSFuLQyTpCILNGF4xDEO1u4=;
  b=DBWCxsaPC5lJm579Pz5pRGLAfLMzxAxiLwo3TgX2m5tbzxX1TN3z1ScE
   QW5jTdQIHBc2PWYFxjYdjRoZHwDG3J3jhy8jmsnXu/Bxe6gDccykTWBL+
   Ov3iKD8GlVz70J2+PGO80405Xp6M4k9pZ51oi/WwU/21W6nJGO27NOuIQ
   g=;
X-CSE-ConnectionGUID: FUgGcfvZQFCj8jqu50I/5A==
X-CSE-MsgGUID: hLgLiIS5RtaW7Gp6T0LDYA==
Authentication-Results: esa1.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128715171
X-Ironport-Server: esa1.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:6gJkG6J6jIvPL61EFE+R7ZUlxSXFcZb7ZxGr2PjKsXjdYENS32BVx
 jAXCm3TPvaINGf2KY9zOo/i8UoHvJWEmtRkHgtlqX01Q3x08seUXt7xwmUcnc+xBpaaEB84t
 ZV2hv3odp1coqr0/0/1WlTZhSAhk/nOHvylULKs1hlZHWdMUD0mhQ9oh9k3i4tphcnRKw6Ws
 Jb5rta31GWNglaYCUpKrfrfwP9TlK6q4mhB5wZkPaojUGL2zBH5MrpOfcldEFOgKmVkNrbSb
 /rOyri/4lTY838FYj9yuu+mGqGiaue60Tmm0hK6aYD76vRxjnVaPpIAHOgdcS9qZwChxLid/
 jnvWauYEm/FNoWU8AgUvoIx/ytWZcWq85efSZSzXFD6I+QrvBIAzt03ZHzaM7H09c5ZPG5h/
 vIGGgkjRRLThfurneqaDbRF05FLwMnDZOvzu1llxDDdS/0nXYrCU+PB4towMDUY354UW6yEP
 oxANGspM0yojx5nYz/7DLoXmuuyi2a5WDpfsF+P/oI84nTJzRw327/oWDbQUoXQFZoMwx/H/
 woq+Uz5Jh4+Nf2klACZ+03zqfeRoXvfdLM7QejQGvlC3wTImz175ActfUu2p7y1h1CzX/pbK
 lcI4Ww+oK4q7kupQ9LhGRqirxasnDQRRt5RGO0S8xyWx+zf5APxLncAZi5MbpohrsBebScxy
 laDktftBDpumL6YU3SQ8vGTtzzaETISJ2IYeShCRwIK5dD5qak5kx3UQ9BsVqWyi7XdHzD7x
 DSD6jYzm68Si88j3bi05l3BjHSnoZ2hZhU04wLRUySv5wd9bZSkYaSi9FfA4PBPao2eSzG8U
 GMswpbEqrpUVNfUyX3LH71l8KyVC+itHgDTrlVhAasY2R+vq3y6YN0IwXYjDRI8WiobQgMFc
 HM/qCsIu8cLYSvwMPAnC79dHfjG2kQJKDgEahw3RoAXCnSJXFXblByCnGbJt4wXrGAikLskJ
 bCQetu2AHARBMxPlWXuH7pMiOF2lnlnmQs/oKwXKTz9idJyg1bMGd843KamNLhlvMtoXi2Jm
 zqgCyd640oGC7CvCsUm2YUSMUoLPRAG6WPe8qRqmhq4ClM+QgkJUqaBqY7NjqQ5x8y5YM+Up
 CDiMqKZoXKj7UD6xfKiMCo9Muu0BsYkxZ/5VAR1VWuVN7EYSd7HxM8im1EfJNHLKMQLISZIc
 sQ4
IronPort-HdrOrdr: A9a23:r8OLvKwBVcJSKZ6qGAXwKrPwFL1zdoMgy1knxilNoRw8SKKlfq
 eV7Y0mPH7P+VAssR4b+exoVJPtfZqYz+8R3WBzB8bEYOCFghrKEGgK1+KLqFeMJ8S9zJ846U
 4JSdkHNDSaNzlHZKjBjzVQa+xQouW6zA==
X-Talos-CUID: 9a23:2Q93Tm7BhUCpEmGqxtss2nMbNcsrbE/k4lzSc02hFDsxafrIYArF
X-Talos-MUID: 9a23:NwbsOwZTMpX6guBTtxvjoDBDD5pS/62RV28Vz6len+W1HHkl
X-IronPort-AV: E=Sophos;i="6.04,219,1695700800"; 
   d="scan'208";a="128715171"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>, Simone Ballarin
	<simone.ballarin@bugseng.com>
Subject: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
Date: Wed, 22 Nov 2023 14:27:33 +0000
Message-ID: <20231122142733.1818331-4-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

The differences between inline, __inline and __inline__ keywords are a
vestigial remnant of older C standards, and in Xen we use inline almost
exclusively.

Replace __inline and __inline__ with regular inline, and remove their
exceptions from the MISRA configuration.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
CC: Simone Ballarin <simone.ballarin@bugseng.com>

I'm entirely guessing at the Eclair configuration.
---
 .../eclair_analysis/ECLAIR/toolchain.ecl      |  6 +++---
 docs/misra/C-language-toolchain.rst           |  2 +-
 xen/arch/x86/include/asm/apic.h               | 20 +++++++++----------
 xen/include/acpi/cpufreq/cpufreq.h            |  4 ++--
 xen/include/xen/bitops.h                      |  4 ++--
 xen/include/xen/compiler.h                    |  7 +++----
 6 files changed, 21 insertions(+), 22 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl b/automation/eclair_analysis/ECLAIR/toolchain.ecl
index e6cd289b5e92..71a1e2cce029 100644
--- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
+++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
@@ -15,7 +15,7 @@
     _Static_assert: see Section \"2.1 C Language\" of "GCC_MANUAL".
     asm, __asm__: see Sections \"6.48 Alternate Keywords\" and \"6.47 How to Use Inline Assembly Language in C Code\" of "GCC_MANUAL".
     __volatile__: see Sections \"6.48 Alternate Keywords\" and \"6.47.2.1 Volatile\" of "GCC_MANUAL".
-    __const__, __inline__, __inline: see Section \"6.48 Alternate Keywords\" of "GCC_MANUAL".
+    __const__ : see Section \"6.48 Alternate Keywords\" of "GCC_MANUAL".
     typeof, __typeof__: see Section \"6.7 Referring to a Type with typeof\" of "GCC_MANUAL".
     __alignof__, __alignof: see Sections \"6.48 Alternate Keywords\" and \"6.44 Determining the Alignment of Functions, Types or Variables\" of "GCC_MANUAL".
     __attribute__: see Section \"6.39 Attribute Syntax\" of "GCC_MANUAL".
@@ -23,8 +23,8 @@
     __builtin_va_arg: non-documented GCC extension.
     __builtin_offsetof: see Section \"6.53 Support for offsetof\" of "GCC_MANUAL".
 "
--config=STD.tokenext,behavior+={c99, GCC_ARM64, "^(_Static_assert|asm|__asm__|__volatile__|__const__|__inline__|typeof|__typeof__|__alignof__|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
--config=STD.tokenext,behavior+={c99, GCC_X86_64, "^(_Static_assert|asm|__asm__|__volatile__|__const__|__inline__|__inline|typeof|__typeof__|__alignof__|__alignof|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
+-config=STD.tokenext,behavior+={c99, GCC_ARM64, "^(_Static_assert|asm|__asm__|__volatile__|__const__|typeof|__typeof__|__alignof__|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
+-config=STD.tokenext,behavior+={c99, GCC_X86_64, "^(_Static_assert|asm|__asm__|__volatile__|__const__|typeof|__typeof__|__alignof__|__alignof|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
 -doc_end
 
 -doc_begin="Non-documented GCC extension."
diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
index 2866cb191b1a..b7c2000992ac 100644
--- a/docs/misra/C-language-toolchain.rst
+++ b/docs/misra/C-language-toolchain.rst
@@ -84,7 +84,7 @@ The table columns are as follows:
           see Sections "6.48 Alternate Keywords" and "6.47 How to Use Inline Assembly Language in C Code" of GCC_MANUAL.
        __volatile__:
           see Sections "6.48 Alternate Keywords" and "6.47.2.1 Volatile" of GCC_MANUAL.
-       __const__, __inline__, __inline:
+       __const__:
           see Section "6.48 Alternate Keywords" of GCC_MANUAL.
        typeof, __typeof__:
           see Section "6.7 Referring to a Type with typeof" of GCC_MANUAL.
diff --git a/xen/arch/x86/include/asm/apic.h b/xen/arch/x86/include/asm/apic.h
index 486d689478b2..b20fae7ebc6a 100644
--- a/xen/arch/x86/include/asm/apic.h
+++ b/xen/arch/x86/include/asm/apic.h
@@ -49,12 +49,12 @@ const struct genapic *apic_x2apic_probe(void);
  * Basic functions accessing APICs.
  */
 
-static __inline void apic_mem_write(unsigned long reg, u32 v)
+static inline void apic_mem_write(unsigned long reg, u32 v)
 {
 	*((volatile u32 *)(APIC_BASE+reg)) = v;
 }
 
-static __inline u32 apic_mem_read(unsigned long reg)
+static inline u32 apic_mem_read(unsigned long reg)
 {
 	return *((volatile u32 *)(APIC_BASE+reg));
 }
@@ -63,7 +63,7 @@ static __inline u32 apic_mem_read(unsigned long reg)
  * access the 64-bit ICR register.
  */
 
-static __inline void apic_wrmsr(unsigned long reg, uint64_t msr_content)
+static inline void apic_wrmsr(unsigned long reg, uint64_t msr_content)
 {
     if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
         reg == APIC_LVR)
@@ -72,7 +72,7 @@ static __inline void apic_wrmsr(unsigned long reg, uint64_t msr_content)
     wrmsrl(MSR_X2APIC_FIRST + (reg >> 4), msr_content);
 }
 
-static __inline uint64_t apic_rdmsr(unsigned long reg)
+static inline uint64_t apic_rdmsr(unsigned long reg)
 {
     uint64_t msr_content;
 
@@ -83,7 +83,7 @@ static __inline uint64_t apic_rdmsr(unsigned long reg)
     return msr_content;
 }
 
-static __inline void apic_write(unsigned long reg, u32 v)
+static inline void apic_write(unsigned long reg, u32 v)
 {
 
     if ( x2apic_enabled )
@@ -92,7 +92,7 @@ static __inline void apic_write(unsigned long reg, u32 v)
         apic_mem_write(reg, v);
 }
 
-static __inline u32 apic_read(unsigned long reg)
+static inline u32 apic_read(unsigned long reg)
 {
     if ( x2apic_enabled )
         return apic_rdmsr(reg);
@@ -100,7 +100,7 @@ static __inline u32 apic_read(unsigned long reg)
         return apic_mem_read(reg);
 }
 
-static __inline u64 apic_icr_read(void)
+static inline u64 apic_icr_read(void)
 {
     u32 lo, hi;
 
@@ -115,7 +115,7 @@ static __inline u64 apic_icr_read(void)
     return ((u64)lo) | (((u64)hi) << 32);
 }
 
-static __inline void apic_icr_write(u32 low, u32 dest)
+static inline void apic_icr_write(u32 low, u32 dest)
 {
     if ( x2apic_enabled )
         apic_wrmsr(APIC_ICR, low | ((uint64_t)dest << 32));
@@ -126,13 +126,13 @@ static __inline void apic_icr_write(u32 low, u32 dest)
     }
 }
 
-static __inline bool apic_isr_read(uint8_t vector)
+static inline bool apic_isr_read(uint8_t vector)
 {
     return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
             (vector & 0x1f)) & 1;
 }
 
-static __inline u32 get_apic_id(void) /* Get the physical APIC id */
+static inline u32 get_apic_id(void)
 {
     u32 id = apic_read(APIC_ID);
     return x2apic_enabled ? id : GET_xAPIC_ID(id);
diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
index b0c860f0ec21..3456d4c95f98 100644
--- a/xen/include/acpi/cpufreq/cpufreq.h
+++ b/xen/include/acpi/cpufreq/cpufreq.h
@@ -148,7 +148,7 @@ extern int cpufreq_driver_getavg(unsigned int cpu, unsigned int flag);
 extern int cpufreq_update_turbo(int cpuid, int new_state);
 extern int cpufreq_get_turbo_status(int cpuid);
 
-static __inline__ int 
+static inline int
 __cpufreq_governor(struct cpufreq_policy *policy, unsigned int event)
 {
     return policy->governor->governor(policy, event);
@@ -179,7 +179,7 @@ extern struct cpufreq_driver cpufreq_driver;
 
 int cpufreq_register_driver(const struct cpufreq_driver *);
 
-static __inline__
+static inline
 void cpufreq_verify_within_limits(struct cpufreq_policy *policy,
                                   unsigned int min, unsigned int max)
 {
diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
index edd6817d5356..a88d45475c40 100644
--- a/xen/include/xen/bitops.h
+++ b/xen/include/xen/bitops.h
@@ -127,7 +127,7 @@ static inline int generic_fls64(__u64 x)
 # endif
 #endif
 
-static __inline__ int get_bitmask_order(unsigned int count)
+static inline int get_bitmask_order(unsigned int count)
 {
     int order;
     
@@ -135,7 +135,7 @@ static __inline__ int get_bitmask_order(unsigned int count)
     return order;   /* We could be slightly more clever with -1 here... */
 }
 
-static __inline__ int get_count_order(unsigned int count)
+static inline int get_count_order(unsigned int count)
 {
     int order;
 
diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
index 04b8bc18df0e..16d554f2a593 100644
--- a/xen/include/xen/compiler.h
+++ b/xen/include/xen/compiler.h
@@ -20,9 +20,8 @@
 #define likely(x)     __builtin_expect(!!(x),1)
 #define unlikely(x)   __builtin_expect(!!(x),0)
 
-#define inline        __inline__
-#define always_inline __inline__ __attribute__ ((__always_inline__))
-#define gnu_inline    __inline__ __attribute__ ((__gnu_inline__))
+#define always_inline inline __attribute__((__always_inline__))
+#define gnu_inline    inline __attribute__((__gnu_inline__))
 #define noinline      __attribute__((__noinline__))
 
 #define noreturn      __attribute__((__noreturn__))
@@ -83,7 +82,7 @@
  * inline functions not expanded inline get placed in .init.text.
  */
 #include <xen/init.h>
-#define __inline__ __inline__ __init
+#define inline inline __init
 #endif
 
 #define __attribute_pure__  __attribute__((__pure__))
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 14:34:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 14:34:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638805.995725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5oJP-0004Qc-Up; Wed, 22 Nov 2023 14:34:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638805.995725; Wed, 22 Nov 2023 14: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 1r5oJP-0004QV-RD; Wed, 22 Nov 2023 14:34:43 +0000
Received: by outflank-mailman (input) for mailman id 638805;
 Wed, 22 Nov 2023 14:34: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 1r5oJO-0004QL-8l; Wed, 22 Nov 2023 14:34: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 1r5oJO-00083z-4z; Wed, 22 Nov 2023 14:34: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 1r5oJN-0003pZ-Ib; Wed, 22 Nov 2023 14:34:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5oJN-0006W0-I9; Wed, 22 Nov 2023 14: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=HC1MSfDHg8eG1DYjePN6XL/o55RbnNQzDn+vmdO2iJc=; b=YV6I3Ffr9fhRBUgkX4aR60t6sp
	oQ7DXAZJtfqXvHnj1qMwePshaztaKvohuhHNFTvashh1YuCoNgUWBSXT8/UwGl68KWV25iBuSsuy6
	ylSr1YfwJqaAQK5BEycKQMWoxNTud8/YCerLPzDh0Kh7kItvZhrU3sOmLMOQ4XW5OjoM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183819-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183819: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=7f31ee5cf5b137275697bd8ca17c7ae591261b87
X-Osstest-Versions-That:
    libvirt=b31380c7583d144380e3a3b7affccfefccff41f9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Nov 2023 14:34:41 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183808
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183808
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183808
 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-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-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-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    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-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              7f31ee5cf5b137275697bd8ca17c7ae591261b87
baseline version:
 libvirt              b31380c7583d144380e3a3b7affccfefccff41f9

Last test of basis   183808  2023-11-21 04:18:56 Z    1 days
Testing same since   183819  2023-11-22 04:20:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Daniel P. Berrangé <berrange@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Michal Privoznik <mprivozn@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   b31380c758..7f31ee5cf5  7f31ee5cf5b137275697bd8ca17c7ae591261b87 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 14:46:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 14:46:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638812.995735 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5oUX-0007BL-V7; Wed, 22 Nov 2023 14:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638812.995735; Wed, 22 Nov 2023 14: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 1r5oUX-0007BE-SF; Wed, 22 Nov 2023 14:46:13 +0000
Received: by outflank-mailman (input) for mailman id 638812;
 Wed, 22 Nov 2023 14: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=SF1Q=HD=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r5oUW-0007B8-Gv
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 14:46:12 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2060e.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dfd8be97-8945-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 15:46:10 +0100 (CET)
Received: from DS7PR03CA0150.namprd03.prod.outlook.com (2603:10b6:5:3b4::35)
 by CYYPR12MB8870.namprd12.prod.outlook.com (2603:10b6:930:bb::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 14:46:07 +0000
Received: from CY4PEPF0000EDD6.namprd03.prod.outlook.com
 (2603:10b6:5:3b4:cafe::e2) by DS7PR03CA0150.outlook.office365.com
 (2603:10b6:5:3b4::35) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19 via Frontend
 Transport; Wed, 22 Nov 2023 14:46:07 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EDD6.mail.protection.outlook.com (10.167.241.210) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Wed, 22 Nov 2023 14:46:06 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Wed, 22 Nov
 2023 08:46:05 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 22 Nov 2023 08:46:05 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfd8be97-8945-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=l/pkeZeaA4v7mLHqRSpuBrpYRr3dEIpUhb+RXVFGR+fIdQxVThkruuiknL+VAbf7s2ewFR8wz2RR10i9ha0kIGJV6+qqPHfyq8ah3ARduO88IYDjlyqCQpVbVyUGd0nYeZQe/o2JpTscH8uCpjBs/FtrrTUENOcPM60Absg3/Q4vxbfynUbWD4JXEcLaxEUV8kriLzPZWVD48rCC1lQfCA6sWdNy05mfE+WonuaYEfhFhcSv0SFB/ZF+nxS1SADnTAvc4bAnmLCvxTzHNv6poFPUC/kvrH0aVWdaJBbPcXLzQREfHtnPhly0sULbLfJOW7UZ19j2u2bdad0iQt8Liw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ND3kpUc/XG/zhQFrLsJ9EU9dpoeoL3DZZammnY73ba4=;
 b=Y0vNBGJ87vn+nY1T1P7pX8Gtyg08DULamDjgf4S7vRP6KPuLz2TVSuCLLBf8wt1Z478u4qtj+OxQsFRZXRhfaXa1smPIkJgmgljpS0ffQsnFlzRus3NhhgdMPKumuBVPIXi1PTD5tWDnH8CZj45wsEakGQ0MKUtF9a8FZamLP4dscj4P4zypm1M1qhJ/xt7OrSlgmzr/NpPDFCVMjHXdUNf2zaT6pkvU38Vg5ba8WlaCGsVaqOqTa6OzSjs/95KERSeP5jDa9tnx9DDvnB85vgK6VXELntDcI2/3xjSXmAm8+Dahu6BcalqQGa1SkM7CfiwaUJRgbYwh7ZGmHM46Aw==
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 (0)
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=ND3kpUc/XG/zhQFrLsJ9EU9dpoeoL3DZZammnY73ba4=;
 b=fuw3oJa7y9yCx+72q3nXeoVOIKvk/Gq2RH0eOwX88hxve6pSheY1sqShp3xP0SH+AK+mnfvvu64Xw/T/gEz6SbTzCqGfDnFVrCx7yX/4uELWLc0rSzvNM58Kx6u1YDejbt2RDyCWZd5BA4W0uX9raPgD7FusTVDhYWMrLsLjzuw=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>
Subject: [PATCH] xen/arm: gicv3: clean up GICD_CTRL write
Date: Wed, 22 Nov 2023 09:46:00 -0500
Message-ID: <20231122144602.2282417-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD6:EE_|CYYPR12MB8870:EE_
X-MS-Office365-Filtering-Correlation-Id: a8e4ea03-3a0f-464a-4311-08dbeb69c256
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	9GS7gF1bq3MwNqWzudu7ubjwxp+aaJKyj4VClxpTwk4rnWIYFrRpnw4B0sYP8PJLeffCCfTsIdc15hT3OHuNizJus2vIj04085ddaMI7u1l0JzNS7LN0BttwVmycFjTDMsTsjLbZsLfFtAHrlMD/45BT4keuHA/xRBwGp+AhP/4vKud//2WNe5b0h0nhhbefLRrcbsglqo8+eIg4h7ICnqersSJ/n7VaWy4oZ+A/jzRVmaYuel5LZ6oNiOjplJQ7Nwb+z0+nmDmTFUH3Ziaf4sQ51tYNWvl/lAkqjawJAD/ZAASuV6PhuYAAO9TzLvGbrbpE/mzOXkQAu8VXEhWZnLFcSgMb/9HisNKeMBa1hiLxgh1NNbv4MfZPh586ZoUGmf7wpLcuc+4l6nhgN7kf6wIwQrmMZnYbQxbPFiTmqCGihPYK4GOngWo3+Mmn0So8fKyApN3DCUE7eXZ1yh9TKQECUS9gCHaXMvyMlWblsggWPzz5YLB/3FlArge6bNhEJT2W1mj7yzTV2mZd/uePycFsms75svjPjAFAV7tDyYK3Uo4oBcPmQIThtaARnGj4di97c56qC3jRpHrvorS1/aXsBd5+24Q26SjKHZgeF4lySJp3YulA2/XFgG2HNmcbhIFzI2EU8LnzFhzVOgCYuZe0uD54n3Mkt0T3H4KmCZKksBfhLaMFRup2MmLO2gQTlir74o6j76vA8Cj6+h473ZINQJJZ3a/kVOu85OMgj5gYPcLgDs+bkNQ3Q6HJDuHVaCfMXz5eQ8oKe/cn/SmOiQ==
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:(13230031)(4636009)(39860400002)(376002)(136003)(346002)(396003)(230922051799003)(186009)(64100799003)(82310400011)(1800799012)(451199024)(46966006)(40470700004)(36840700001)(40480700001)(2616005)(26005)(1076003)(83380400001)(82740400003)(356005)(81166007)(40460700003)(36756003)(86362001)(5660300002)(44832011)(2906002)(4744005)(6666004)(47076005)(426003)(36860700001)(54906003)(6916009)(4326008)(8676002)(316002)(478600001)(336012)(41300700001)(70586007)(8936002)(70206006)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 14:46:06.6490
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a8e4ea03-3a0f-464a-4311-08dbeb69c256
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:
	CY4PEPF0000EDD6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8870

GICD_CTL_ENABLE is a GICv2 bit. Remove it. The definitions of
GICD_CTL_ENABLE and GICD_CTLR_ENABLE_G1 are identical, so the value
written is unchanged.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
 xen/arch/arm/gic-v3.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 172ff8c005ff..9b35a8c8a735 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -633,8 +633,8 @@ static void __init gicv3_dist_init(void)
     gicv3_dist_wait_for_rwp();
 
     /* Turn on the distributor */
-    writel_relaxed(GICD_CTL_ENABLE | GICD_CTLR_ARE_NS |
-                GICD_CTLR_ENABLE_G1A | GICD_CTLR_ENABLE_G1, GICD + GICD_CTLR);
+    writel_relaxed(GICD_CTLR_ARE_NS | GICD_CTLR_ENABLE_G1A |
+                   GICD_CTLR_ENABLE_G1, GICD + GICD_CTLR);
 
     /* Route all global IRQs to this CPU */
     affinity = gicv3_mpidr_to_affinity(smp_processor_id());

base-commit: c22fe7213c9b1f99cbc64c33e391afa223f9cd08
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 15:12:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 15:12:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638816.995745 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5otT-0004aO-2E; Wed, 22 Nov 2023 15:11:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638816.995745; Wed, 22 Nov 2023 15: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 1r5otS-0004aH-Vx; Wed, 22 Nov 2023 15:11:58 +0000
Received: by outflank-mailman (input) for mailman id 638816;
 Wed, 22 Nov 2023 15: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=f1AL=HD=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r5otR-0004aB-UH
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 15:11:57 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 79a5a4c9-8949-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 16:11:56 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40b31232bf0so6622155e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 07:11:56 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 je4-20020a05600c1f8400b004094d4292aesm2474213wmb.18.2023.11.22.07.11.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 07:11:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 79a5a4c9-8949-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700665916; x=1701270716; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=YlRXJcOcg86B5FeODMCbWgJVq9mSDyoMuAUjyQGn5TQ=;
        b=Rwn7LKNmwqzfbDS9Uk6Fg3RswE0kukzkRB23nhqwQKZotpIK2ojzhMeyvRDzjzgFsv
         HKDtQ0g+Jz+Jcon4FuSPAmDEFCwfDKn9KKZeX9u4AmvQz4sioFQV5g2LBJM/CzfaCYbf
         I3RTnJDdOSvmfHyLphtqfnubjrAlpMZaSSpHo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700665916; x=1701270716;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=YlRXJcOcg86B5FeODMCbWgJVq9mSDyoMuAUjyQGn5TQ=;
        b=clIv4YYGym1oJ86RESrAnhjS/lVa5vLrTKiEgUZqqM0x1ZNXh31fbqGuIKxMkr3KGm
         f9GqI6qej9Wv+NbpXmO0AaPqrWLIzw4PF2igakFnCQ3jRPUDBl7N3byfpujzZ/8bd0y0
         h1t/XSwWdp1sJyt7/6XkuQOiG8DlqYP7zySgvcHw+S6FaOMh7M54ivxH4UOrM9pl6BkK
         P3SY2pPR4obsURBdptr/BKKDPs1FUajXzGCA6GGfOe4hx+9YvAJjLD5FSMi1ml9z5TEy
         hKLgUJ90+5pRE+P3SsHdaNUwJdIXHTQ1o44pKJ4bVTuqQwIaabKPeVdypWxRbPI6qjRx
         AV9A==
X-Gm-Message-State: AOJu0Yz/ymsEiec69oz3bT5FM+GMe+HLGExkMZuzB6E8p3R4yGTsTmqX
	iDan8Q3Ftu/6elXg0mDb2TZXhQ==
X-Google-Smtp-Source: AGHT+IEC1M2wBCvQbevAApM2RSBCZAMZW5mOnhkw9ueCIHr5Ud6ZpP4EJz+c744wwfSfPi1lU4PwvA==
X-Received: by 2002:a05:600c:4510:b0:3fe:1b4e:c484 with SMTP id t16-20020a05600c451000b003fe1b4ec484mr520176wmo.5.1700665915580;
        Wed, 22 Nov 2023 07:11:55 -0800 (PST)
Message-ID: <655e1a3a.050a0220.137b8.9238@mx.google.com>
X-Google-Original-Message-ID: <ZV4aOL21DpdHdROm@EMEAENGAAD19049.>
Date: Wed, 22 Nov 2023 15:11:52 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] xen/x86: On x2APIC mode, derive LDR from APIC_ID
References: <20231121162604.19405-1-alejandro.vallejo@cloud.com>
 <ZV4EsjpoPThN5YME@macbook>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZV4EsjpoPThN5YME@macbook>

On Wed, Nov 22, 2023 at 02:40:02PM +0100, Roger Pau Monn wrote:
> On Tue, Nov 21, 2023 at 04:26:04PM +0000, Alejandro Vallejo wrote:
> > Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> > registers are derivable from each other through a fixed formula.
> > 
> > Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> > rather than x2APIC_IDs (which are not, at the moment). As I understand it,
> > this is an attempt to tightly pack vCPUs into clusters so each cluster has
> > 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> > x2APIC_ID and internally derive LDR (or the other way around)
> > 
> > This patch fixes the implementation so we follow the rules in the x2APIC
> > spec(s).
> > 
> > The patch also covers migrations from broken hypervisors, so LDRs are
> > preserved even for hotppluggable CPUs and across APIC resets.
> > 
> > Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
> > Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> 
> LGTM, just a couple of style comments.
> 
> > ---
> > I tested this by creating 3 checkpoints.
> >  1. One with pre-4.4 broken state (every LDR=1, by hacking save_regs)
> >  2. One with 4.4 onwards broken state (LDRs packed in their clusters)
> >  3. One with correct LDR values
> > 
> > (1) and (3) restores to the same thing. Consistent APIC_ID+LDR
> > (2) restores to what it previously had and hotplugs follow the same logic
> > ---
> >  xen/arch/x86/hvm/vlapic.c             | 81 +++++++++++++++++++--------
> >  xen/arch/x86/include/asm/hvm/domain.h | 13 +++++
> >  2 files changed, 72 insertions(+), 22 deletions(-)
> > 
> > diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> > index a8e87c4446..7f169f1e5f 100644
> > --- a/xen/arch/x86/hvm/vlapic.c
> > +++ b/xen/arch/x86/hvm/vlapic.c
> > @@ -1061,13 +1061,23 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
> >      .write = vlapic_mmio_write,
> >  };
> >  
> > +static uint32_t x2apic_ldr_from_id(uint32_t id)
> > +{
> > +    return ((id & ~0xF) << 12) | (1 << (id & 0xF));
> 
> Seeing other usages in vlapic.c I think the preference is to use lower
> case for hex numbers.
I thought it was covered by a MISRA rule, but it seems to apply only to the
literal suffixes. Fair enough, I'll revert to lowercase.

> 
> > +}
> > +
> >  static void set_x2apic_id(struct vlapic *vlapic)
> >  {
> > -    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
> > -    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
> > +    uint32_t vcpu_id = vlapic_vcpu(vlapic)->vcpu_id;
> > +    uint32_t apic_id = vcpu_id * 2;
> > +    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
> >  
> > -    vlapic_set_reg(vlapic, APIC_ID, id * 2);
> > -    vlapic_set_reg(vlapic, APIC_LDR, ldr);
> > +    /* This is a migration bug workaround. See wall of text in lapic_load_fixup() */
> > +    if ( vlapic_domain(vlapic)->arch.hvm.has_inconsistent_x2apic_ldr_bug )
> > +        apic_ldr = x2apic_ldr_from_id(vcpu_id);
> > +
> > +    vlapic_set_reg(vlapic, APIC_ID, apic_id);
> > +    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
> >  }
> >  
> >  int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
> > @@ -1495,30 +1505,57 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
> >  /*
> >   * Following lapic_load_hidden()/lapic_load_regs() we may need to
> >   * correct ID and LDR when they come from an old, broken hypervisor.
> > + *
> > + * Xen <= 4.4 had a bug by which all the APICs configured in x2APIC mode
> > + * got LDR = 1. This was fixed back then, but another bug was introduced
> > + * causing APIC ID and LDR to break the consistency they are meant to have
> > + * according to the specs (LDR was derived from vCPU ID, rather than APIC
> > + * ID)
> > + *
> > + * Long story short, we can detect both cases here. For the LDR=1 case we
> > + * want to fix it up on migrate, as IPIs just don't work on non-physical
> > + * mode otherwise. For the other case we actually want to preserve previous
> > + * behaviour so that existing running instances that may have already read
> > + * the LDR at the source host aren't surprised when IPIs stop working as
> > + * they did at the other end.
> > + *
> > + * Note that "x2apic_id == 0" has always been correct and can't be used to
> > + * discriminate these cases.
> > + *
> 
> I think it's best if this big comment was split between the relevant
> parts of the if below used to detect the broken states, as that makes
> the comments more in-place with the code.
Ack
> 
> > + * Yuck!
> >   */
> >  static void lapic_load_fixup(struct vlapic *vlapic)
> >  {
> > -    uint32_t id = vlapic->loaded.id;
> > +    /*
> > +     * This LDR would be present in broken versions of Xen 4.4 through 4.18.
> > +     * It's correct for the cpu with x2apic_id=0 (vcpu0), but invalid for
> > +     * any other.
> > +     */
> > +    uint32_t bad_ldr = x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id);
> >  
> > -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
> > -    {
> > +    /*
> > +     * No need to perform fixups in non-x2apic mode, and x2apic_id == 0 has
> > +     * always been correct.
> > +     */
> > +    if ( !vlapic_x2apic_mode(vlapic) || !vlapic->loaded.id )
> 
> You could replace the !vlapic->loaded.id check and instead use:
> 
> vlapic->loaded.ldr == x2apic_ldr_from_id(vlapic->loaded.id)
> 
> As that will allow returning early from the function if the LDR is
> correct.  Then if none of the fixups below apply we could print a
> warning message that the LDR is incorrect, but cannot be fixed up.
Sounds good.

> 
> > +        return;
> > +
> > +    if ( vlapic->loaded.ldr == 1 )
> > +       /*
> > +        * Migration from a broken Xen 4.4 or earlier. We can't leave it
> > +        * as-is because it assigned the same LDR to every CPU. We'll fix
> > +        * the bug now and assign LDR values consistent with the APIC ID.
> > +        */
> > +        set_x2apic_id(vlapic);
> 
> Previous code also did some checks here related to APIC ID sanity,
> which are now dropped?
> 
> Might be worth mentioning in the commit message, if that was intended.
> 
It was intentional, yes. And it's true it warrants something in the commit
message. For reference, the checks previously done where...

> > +    else if ( bad_ldr == vlapic->loaded.ldr )
> >          /*
> > -         * This is optional: ID != 0 contradicts LDR == 1. It's being added
> > -         * to aid in eventual debugging of issues arising from the fixup done
> > -         * here, but can be dropped as soon as it is found to conflict with
> > -         * other (future) changes.
> > +         * This is a migration from a broken Xen between 4.4 and 4.18 and we
> > +         * must _PRESERVE_ LDRs so new vCPUs use consistent derivations. In
> > +         * this case we set this domain boolean so future CPU hotplugs
> > +         * derive an LDR consistent with the older Xen's broken idea of
> > +         * consistency.
> >           */
> > -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
> > -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
> > -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
> > -                   vlapic_vcpu(vlapic), id);
... these. But they _seem_ bogus for several reasons. And I just got rid of
them on these grounds:

  * It's using the GET_xAPIC_ID() macro on the register, but the LAPIC is
    not in xAPIC mode (due to the previous check), so the legacy APIC must
    be derived from the lowest octet, not the highest. That macro is meant
    to be used on the MMIO register, not the MSR one.
  * The printk (wants to be) triggered when the ID field is not "canonical"
    OR the x2APIC ID is not a pure xAPIC ID. Neither of these things are
    problems per se, the former just happens to be true at the moment, but
    the latter may very well not be, and that shouldn't trigger a scary
    printk.
  * The error message seems to imply the effective APIC ID eventually left
    loaded is the bogus one, but that's not the case.

Actually, I might just move the printk into a separate else in line with
your previous suggestion.

> > -        set_x2apic_id(vlapic);
> > -    }
> > -    else /* Undo an eventual earlier fixup. */
> > -    {
> > -        vlapic_set_reg(vlapic, APIC_ID, id);
> > -        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
> > -    }
> > +        vlapic_domain(vlapic)->arch.hvm.has_inconsistent_x2apic_ldr_bug = true;
> >  }
> >  
> >  static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
> > diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
> > index 6e53ce4449..a42a6e99bb 100644
> > --- a/xen/arch/x86/include/asm/hvm/domain.h
> > +++ b/xen/arch/x86/include/asm/hvm/domain.h
> > @@ -61,6 +61,19 @@ struct hvm_domain {
> >      /* Cached CF8 for guest PCI config cycles */
> >      uint32_t                pci_cf8;
> >  
> > +    /*
> > +     * Xen had a bug between 4.4 and 4.18 by which the x2APIC LDR was
> > +     * derived from the vcpu_id rather than the x2APIC ID. This is wrong,
> > +     * but changing this behaviour is tricky because guests might have
> > +     * already read the LDR and used it accordingly. In the interest of not
> > +     * breaking migrations from those hypervisors we track here whether
> > +     * this domain suffers from this or not so a hotplugged vCPU or an APIC
> > +     * reset can recover the same LDR it would've had on the older host.
> > +     *
> > +     * Yuck!
> > +     */
> > +    bool has_inconsistent_x2apic_ldr_bug;
> 
> Could you place the new field after the existing boolean fields in the
> struct? (AFAICT there's plenty of padding left there)
Sure. I placed it somewhere with unused padding. (that u32 is sandwiched
between an "unsigned long" and a pointer), but I'm happy to stash it with
the other booleans.

> 
> I also think the field name is too long, I would rather use
> x2apic_ldr_vcpu_id for example (to note that LDR is calculated from
> vCPU ID rather than APIC ID).
I made it intentionally long so it can't be missed that it's a workaround
and not architectural behaviour. Would you consider
"x2apic_ldr_bug_vcpu_id" acceptable? I'd rather keep at least the "bug"
part of the identifier around so it's not lost to time that this is a
workaround marker and nothing else.

> 
> I think it would be good if we could trim a bit the comments, as I get
> the impression it's a bit repetitive.
> 
> So I would leave the big explanation in lapic_load_fixup(), and just
> comment here:
> 
> /* Compatibility setting for a bug in x2APIC LDR format. */
Sure, I'll put that comment on a diet

> 
> Thanks, Roger.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 15:31:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 15:31:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638819.995755 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5pCZ-0000tw-Hk; Wed, 22 Nov 2023 15:31:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638819.995755; Wed, 22 Nov 2023 15:31: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 1r5pCZ-0000tp-Er; Wed, 22 Nov 2023 15:31:43 +0000
Received: by outflank-mailman (input) for mailman id 638819;
 Wed, 22 Nov 2023 15:31: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=8FPV=HD=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r5pCX-0000tj-RW
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 15:31:41 +0000
Received: from do158-143.mg.gitlab.com (do158-143.mg.gitlab.com
 [192.237.158.143]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 398e4bc3-894c-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 16:31:37 +0100 (CET)
Received: from mg.gitlab.com (74.90.74.34.bc.googleusercontent.com
 [34.74.90.74]) by
 9691b5986cf9 with SMTP id 655e1ed8008c3fb47a1c1146 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 22 Nov 2023 15:31:36 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 398e4bc3-894c-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700667096; x=1700674296; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=lEUTGOOCv2RMJVH304+WF2urBazqfA8ItzjiDwxwKsY=;
 b=ENLjYjHWenGCd1jE5Ot/OilfXEj4Hjlfd8lQ58pWvbRa7ZddjeY9BDBxuvn9BoBaodyt+JkwbbwzCyGsDqYqyz6CYecMGT4Vh50Wv22DGirfmU7CEKXK5JgN2et5RNReARFhTrrVwL2j2fg9lUezCVtp8VipsYbUtnBm1+aJ8v4=
X-Mailgun-Sending-Ip: 192.237.158.143
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 22 Nov 2023 15:31:35 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655e1ed7b018f_2d9adbc12497a@gitlab-sidekiq-catchall-v2-7469d8f69c-fpjrm.mail>
Subject: xen | Successful pipeline for staging | c22fe721
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655e1ed7a8841_2d9adbc1248e1";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1081610073
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655e1ed7a8841_2d9adbc1248e1
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1081610073 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: c22fe721 ( https://gitlab.com/xen-project/xen/-/commit/c22fe7213c9b1f99cbc64c33e391afa223f9cd08 )
Commit Message: automation: switch to multi-platform images whe...
Commit Author: Roger Pau Monne
Committed by: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1081610073 ( https://gitlab.com/xen-project/xen/-/pipelines/1081610073 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655e1ed7a8841_2d9adbc1248e1
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | c22fe721</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1081610073 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/c22fe7213c9b1f99cb=
c64c33e391afa223f9cd08" style=3D"color: #3777b0; text-decoration: none;">=
c22fe721</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
automation: switch to multi-platform images whe...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/a8e7984f7692e6b8c12ff2d6f17f1bb6?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Roger Pau Monne
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108161=
0073" style=3D"color: #3777b0; text-decoration: none;">#1081610073</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655e1ed7a8841_2d9adbc1248e1--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 15:50:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 15:50:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638862.995768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5pUG-00041E-7s; Wed, 22 Nov 2023 15:50:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638862.995768; Wed, 22 Nov 2023 15:50: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 1r5pUG-000417-54; Wed, 22 Nov 2023 15:50:00 +0000
Received: by outflank-mailman (input) for mailman id 638862;
 Wed, 22 Nov 2023 15:49: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=5yt0=HD=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r5pUF-000411-0X
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 15:49:59 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::607])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c879415e-894e-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 16:49:56 +0100 (CET)
Received: from AM9P250CA0017.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:21c::22)
 by AS8PR08MB9291.eurprd08.prod.outlook.com (2603:10a6:20b:5a6::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 15:49:41 +0000
Received: from AM4PEPF00027A5F.eurprd04.prod.outlook.com
 (2603:10a6:20b:21c:cafe::9e) by AM9P250CA0017.outlook.office365.com
 (2603:10a6:20b:21c::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18 via Frontend
 Transport; Wed, 22 Nov 2023 15:49:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A5F.mail.protection.outlook.com (10.167.16.74) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Wed, 22 Nov 2023 15:49:41 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Wed, 22 Nov 2023 15:49:41 +0000
Received: from b778e6f6b8ff.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 173A525E-519F-463B-96C4-587923630C57.1; 
 Wed, 22 Nov 2023 15:49:34 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b778e6f6b8ff.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Wed, 22 Nov 2023 15:49:34 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU0PR08MB7923.eurprd08.prod.outlook.com (2603:10a6:10:3ca::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 15:49:32 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.017; Wed, 22 Nov 2023
 15:49: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: c879415e-894e-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=mj8lEYuGmdUJ5t2MfRXXE76qz4rR24vHvj/QskukTgQR/xHFRfccbfQxD61urRwmx1Swjvn0NZfu3gsImGfynWY4NML47qXlrm72EyX7tIbwhJM5vCYXQYanfSgLQktLFxz1WHPP3Ymw6vZ3UVHeq0quHrKjoglsr6KOivshqQDVITqNbCJHnjYPl+MAhYeH3bpW4OyTjunO/zHItvX/OYH3mJW3HNQ4EKHrZVmwp9mOPIDpm0NCJ+hT3lZbx/9AiXMbxaUyVcSqo8ogOnWQX4GFqNRB8Y1DxQO45Yb3usY7n693jorR9bUrCIfQPoEhcxnnW29Lhl1SFaR36QXmyw==
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=LQRbVzVpwk8rv532XHLH7JbjbPGzTCtp+bSvWpzmbPA=;
 b=hbNVSF5I8T+0sXbefkHc+Wou6laulNDC/XXzoimsF1D5EEWRNwhJlynBxxy3h+ZLbNYskhGkkdtUzfghPdvTfWHsu1TsLTxMW0t005jjcHUO41DQYF0E30Xr6zifyTxpu3QjxWdOBMXXK+mmOxa7xuOiMHfQkAtzTTsRejL2iyVhhU3xDDHivCdg9LN0x1yARHx6zjbQnGmQxBayKZH/AyCe7d45K3/w7TqmNIu0W1XsWeY5SdCOFMZBxNAWqsmvt7mms43dF7iQTX4Do8jyTwZSPQkgQVu65uucRjPpoFJ8vqiI6+CAJocB+QlJRsethzJn+TMwYjSmFFpsr1WRqQ==
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=LQRbVzVpwk8rv532XHLH7JbjbPGzTCtp+bSvWpzmbPA=;
 b=7/f8e2D5OCc85nPF8VD21CKrcmmt/y/kwG4uvvy2FhX3XKW+kXXAIsd0SVwtEYLRUa4BYVnEcFm9Zgt/JKc5sbfQCI/rXcuNLA1Zo8vfywe5AVerRBJiQx9RSpcYijGkYDlPkQcqwIB1qQLP2j7Fpn04K4xk3cSXII2LrnqYxLY=
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: e8a34bde76e218cf
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lVPtiG9sB6wcOT60QuWTKkx+5burEDTJpnv4GDFDnp2S4putbqOymZqya8KcFoTzvlpLB+U2zkXvqWa1GBpq3ezpE3ANQqmKC1/HGaMnKXFbBPlz6SN2myRnk7wpEqKylugr+3OTu0EQbB3xJaLs4za2L4qk1dgQz2EMVJGvq9BWPysISXqJivWlf2LcV/MVLEtZHxSrh+hHukb3i9scYV8iLOpTBRCYCH+Aw2HV7Kycrp3N/yrnwLo3uhEBkSqDyPoKnkIttzARDmvcvNwjjgx9RiybX86bSxQbJcOeX11gi9eqMVUlKVdMclpq+F4m1Gekp/0a2qX64h7cRNAceA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LQRbVzVpwk8rv532XHLH7JbjbPGzTCtp+bSvWpzmbPA=;
 b=E/sHO2BNufbvrFp6MI2cl6DojnGptgwO8uflZKLzq7XmtBpQs8hmPOYExvm01lSWNSHXogZX5wa8jKcl/Us2n0ycMEThfnyjK3xU2W3LhnS3bFK5Knt2sQiq8ofMEt3yzHY2WPcbctHOUy/Ec2vPLWNIRuFHlUPxrSYo+ZfDglviOYNpyvQzeDxoujrCjZSP1/ah+55fOcoKyx0fmlVH59fO9i3gw+F48b7RBcoIxlPY7KdrroMEpPOJ3MHIIYxDm2VkiodoBDmgkDJtLMGL16aJz/W9XWLR9qsraNa8qhmEv5GTstTUCy5KkxHrP6MP+bkZPB5nMQ3NPhFNpPwANw==
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=LQRbVzVpwk8rv532XHLH7JbjbPGzTCtp+bSvWpzmbPA=;
 b=7/f8e2D5OCc85nPF8VD21CKrcmmt/y/kwG4uvvy2FhX3XKW+kXXAIsd0SVwtEYLRUa4BYVnEcFm9Zgt/JKc5sbfQCI/rXcuNLA1Zo8vfywe5AVerRBJiQx9RSpcYijGkYDlPkQcqwIB1qQLP2j7Fpn04K4xk3cSXII2LrnqYxLY=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Topic: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Index: AQHaHLkYgzDzOjzraUK+7wQZW0TenrCFOoGAgAACTgCAAUCpgA==
Date: Wed, 22 Nov 2023 15:49:32 +0000
Message-ID: <3222AE09-B511-490E-8298-8808261DEFAE@arm.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
 <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
 <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
In-Reply-To: <03c6aa83-6c8f-4d40-9f36-d89725bd614b@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU0PR08MB7923:EE_|AM4PEPF00027A5F:EE_|AS8PR08MB9291:EE_
X-MS-Office365-Filtering-Correlation-Id: b6a8d8d2-0785-4213-7fb3-08dbeb72a40e
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:
 Jkl5jLjLXr3tUN37pxHphn4R4uaUrvD0u4h+VkLBOg3Th0TmhmhULsaV3+pKMloN2zD34R+NPS9H1hx9XX8vBNt7zc/QhTnvlHfgfGjmwto0JGUvVEclMwdevFCPrts+zLsqnafMcYb4rPZcreU28TAYz6vAGzv2ygj4OsJJiZD3kzS/mPfADPqYo6lfjEupyY5jO2lFvofQJQZmeH9Squbb81o0M2MTLywhkJXN0mffm+o/H5kfyajfycpHyqkSkl0XHFR+nUEOofIBLeVjRXUXtUbASzbw2R9zhwV0ZES6o2OdVvPFYRqwpOojplc7CFLKvpaf28iobolPSm5Dzs4UEWRhGmcHazVEGHS/4fYbs6sok8tGBBD4g825yaATKiY7SckFHk1MmdiFSeYCBk/tDpFa0CYu5cW9BC9tC/SfCbBjC4cuBhYT5tedD/bg2zupp4DrM+3c5GpDbG5+r/rWR5hf3WA3EzZuaKh5D4do56jyth/eEo/kcLcJQB+gGsFge8uCKTsK3zLUpvjhTisIrlOOoDO0iS8yrAokpnLFPA+0Jyh6WYkkqB43I5MZyqfG79SMBuR8QC/+S2o0M2k/o/zpPvTtJyJUsDxNROp12R7lejkUcDxT2jHPsMK/mN7yE0O2dN42cN53iAEElQ==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(366004)(39860400002)(376002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(38070700009)(76116006)(66556008)(66476007)(66446008)(66946007)(64756008)(54906003)(91956017)(38100700002)(36756003)(122000001)(33656002)(86362001)(83380400001)(6512007)(26005)(2616005)(6506007)(53546011)(6486002)(2906002)(478600001)(7416002)(316002)(6916009)(5660300002)(4326008)(71200400001)(8936002)(8676002)(41300700001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9941B4612198814682A8173F5BDFB0A5@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB7923
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:
 AM4PEPF00027A5F.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	79e1b08e-190c-49b8-90e0-08dbeb729e80
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	4yenan8gC/mpy7Dqg6a51bxTqvd03U7a55dCfgyW4hRH5TeA5oB8NZA+A+BGatl+/El6Kapg6/mORDIHoAY5ANTDuTco0wqwnexg/PGkgAT+kr5AifXPeiDMeLbyb/6Hp2wQl+IMa6GutgUL9/KEVHDKNo1QpF2XkbhFvHPzCMxby/Q+0Hc4zZGAuZQo+oJCjdKNHWqz2Wo/hNumRQGZD7UuMbGw3DS63qhnjxKKZwVO1xWEhRTaBVq3ZmmHaSEaEXux2zdbWU2MopnEi6Md2SQB7lEEnRlmmB+ygUfU1JRIi+mE6altr6eJSj8fRT2DJnRj8UAAG4bv+Wp/7EO9PIYGnLiwrRMNTd5EjXL5+/P2nNeXB97pjTeFfaixZMm3ARMC+8jSeXXtFdc+iL63Px7Yr6M5ahHkzcQe/nbV48CI4/JfYb6+SgcnFnlQeIllycEI2wYr1ix0xPruMOzndSkypbzv5Z/0yGvJmLq6VH8XawqF4Fk3HFanMF+OInXgB4j/Ggpo0PS9yWZCKRvSdEUaCzq1o8XBHy309IeIMB7trd/W6jAVFzxAdBfi+434lNPaFHIjn1jBqVPsxLHW/WEnQpBLHcM6ieUxjS/25xjVoRX5VbARh2fge77z/0OIxIvbj8vpBs60BW8dmRz4g0h/Au4K7srpl8nORnPn4ekTKSYM5PrTCAQuNpjiRR9IMF0LYy/4uRZBxl2a2+V0Lio3n8nW9B1i7wks4AALO8nU6LKXXxCulJK/XwBP7DjC
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:(13230031)(4636009)(39860400002)(376002)(396003)(346002)(136003)(230922051799003)(1800799012)(186009)(82310400011)(451199024)(64100799003)(40470700004)(46966006)(36840700001)(41300700001)(47076005)(81166007)(36756003)(5660300002)(70586007)(54906003)(86362001)(70206006)(316002)(36860700001)(356005)(83380400001)(26005)(40480700001)(2616005)(336012)(82740400003)(6512007)(53546011)(40460700003)(6506007)(8936002)(6486002)(2906002)(478600001)(6862004)(33656002)(4326008)(8676002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 15:49:41.3801
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b6a8d8d2-0785-4213-7fb3-08dbeb72a40e
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:
	AM4PEPF00027A5F.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9291

DQoNCj4gT24gMjEgTm92IDIwMjMsIGF0IDIwOjQxLCBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IE9uIDIxLzExLzIwMjMgODozMyBwbSwgTHVj
YSBGYW5jZWxsdSB3cm90ZToNCj4+ICsgQ0MgaGVucnkNCj4+IA0KPj4+IE9uIDIxIE5vdiAyMDIz
LCBhdCAyMDoxNSwgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3Jv
dGU6DQo+Pj4gDQo+Pj4gLVd3cml0ZS1zdHJpbmdzIGlzIHVuaGFwcHkgd2l0aCBhc3NpZ25pbmcg
InhlbiIgdG8gYSBtdXRhYmxlIHBvaW50ZXIsIGJ1dCB0aGlzDQo+Pj4gbG9naWMgbG9va3MgaW5j
b3JyZWN0LiAgSXQgd2FzIGluaGVyaXRlZCBmcm9tIHRoZSB4ODYgc2lkZSwgd2hlcmUgdGhlIGxv
Z2ljDQo+Pj4gd2FzIHJlZHVuZGFudCBhbmQgaGFzIG5vdyBiZWVuIHJlbW92ZWQuDQo+Pj4gDQo+
Pj4gSW4gdGhlIEFSTSBjYXNlIGl0IGluc2VydHMgdGhlIGltYWdlIG5hbWUgaW50byAieGVuLHhl
bi1ib290YXJncyIgYW5kIHRoZXJlIGlzDQo+Pj4gbm8gbG9naWMgYXQgYWxsIHRvIHN0cmlwIHRo
aXMgYmVmb3JlIHBhcnNpbmcgaXQgYXMgdGhlIGNvbW1hbmQgbGluZS4NCj4+PiANCj4+PiBUaGUg
YWJzZW5jZSBvZiBhbnkgbG9naWMgdG8gc3RyaXAgYW4gaW1hZ2UgbmFtZSBzdWdnZXN0cyB0aGF0
IGl0IHNob3VsZG4ndA0KPj4+IGV4aXN0IHRoZXJlLCBvciBoYXZpbmcgYSBYZW4gaW1hZ2UgbmFt
ZWQgZS5nLiAiaG1wLXVuc2FmZSIgaW4gdGhlIGZpbGVzeXN0ZW0NCj4+PiBpcyBnb2luZyB0byBs
ZWFkIHRvIHNvbWUgdW5leHBlY3RlZCBiZWhhdmlvdXIgb24gYm9vdC4NCj4+PiANCj4+PiBObyBm
dW5jdGlvbmFsIGNoYW5nZS4NCj4+PiANCj4+PiBTaWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPj4+IC0tLQ0KPj4+IENDOiBKYW4gQmV1bGlj
aCA8SkJldWxpY2hAc3VzZS5jb20+DQo+Pj4gQ0M6IFJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBh
dUBjaXRyaXguY29tPg0KPj4+IENDOiBXZWkgTGl1IDx3bEB4ZW4ub3JnPg0KPj4+IENDOiBTdGVm
YW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+Pj4gQ0M6IEp1bGllbiBH
cmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+Pj4gQ0M6IFZvbG9keW15ciBCYWJjaHVrIDxWb2xvZHlt
eXJfQmFiY2h1a0BlcGFtLmNvbT4NCj4+PiBDQzogQmVydHJhbmQgTWFycXVpcyA8YmVydHJhbmQu
bWFycXVpc0Bhcm0uY29tPg0KPj4+IENDOiBSb2JlcnRvIEJhZ25hcmEgPHJvYmVydG8uYmFnbmFy
YUBidWdzZW5nLmNvbT4NCj4+PiBDQzogTmljb2xhIFZldHJpbmkgPG5pY29sYS52ZXRyaW5pQGJ1
Z3NlbmcuY29tPg0KPj4+IA0KPj4+IHYyOg0KPj4+ICogTmV3Lg0KPj4+IA0KPj4+IEknbSBhZnJh
aWQgdGhhdCBhbGwgb2YgdGhpcyByZWFzb25pbmcgaXMgYmFzZWQgb24gcmVhZGluZyB0aGUgc291
cmNlIGNvZGUuICBJDQo+Pj4gZG9uJ3QgaGF2ZSBhbnkgd2F5IHRvIHRyeSB0aGlzIG91dCBpbiBh
IHJlYWwgQVJNIFVFRkkgZW52aXJvbm1lbnQuDQo+PiBJIHdpbGwgdGVzdCB0aGlzIG9uZSB0b21v
cnJvdyBvbiBhbiBhcm0gYm9hcmQNCj4gDQoNCkkgY29uZmlybSB0aGF0IGJvb3RpbmcgdGhvdWdo
IFVFRkkgb24gYW4gYXJtIGJvYXJkIHdvcmtzDQoNClJldmlld2VkLWJ5OiBMdWNhIEZhbmNlbGx1
IDxsdWNhLmZhbmNlbGx1QGFybS5jb20+DQpUZXN0ZWQtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2Eu
ZmFuY2VsbHVAYXJtLmNvbT4NCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 15:54:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 15:54:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638865.995778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5pYl-0005U7-PV; Wed, 22 Nov 2023 15:54:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638865.995778; Wed, 22 Nov 2023 15: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 1r5pYl-0005U0-MR; Wed, 22 Nov 2023 15:54:39 +0000
Received: by outflank-mailman (input) for mailman id 638865;
 Wed, 22 Nov 2023 15:54: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=aeb/=HD=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r5pYj-0005Tu-Ka
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 15:54:37 +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 6f13b3d0-894f-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 16:54:35 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4094301d505so32275675e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 07:54:35 -0800 (PST)
Received: from [10.95.134.92] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id
 m3-20020a05600c4f4300b0040b297fce5fsm2622058wmq.10.2023.11.22.07.54.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 07:54:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f13b3d0-894f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700668475; x=1701273275; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=oNuaujgkfiBu0D3cBBFv01kMivKccYiWE/OU0x8Hvjg=;
        b=jTWg4l00eSGFAP9fShHha1fpN45mZB/Aye3bvYzY9Yz4t6y+JX6t5CqOEJX3E/H9uR
         K9kikxLSeGkx4UHTV6k8Szi6fyPUuucJop44b6ONdFTNwGsPXQKDBvU8KzhQXPV0RH0Q
         WvhQW7svXtVkv3EDBU0Q11WnS35w+EyBz5KXKSE7aG8WT3A7VMvMJWJQrbDH4gJq8osJ
         DbhkvdNF4hKj0FrRnM6iPOb5ECCgOGiM4I7CJRLB1THSWablM4rbIwrckgkLN4Gww5Tv
         GTM691AA8RWw5ze43ZDnehpLXsaQuZHPG5CLrqBy8ZTh9VLZzd+8wWmH8Y2ah9CIvIz0
         +nag==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700668475; x=1701273275;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oNuaujgkfiBu0D3cBBFv01kMivKccYiWE/OU0x8Hvjg=;
        b=n47tnO8uFO3pmvC4MMMA0lUnJUO8Uve0duZLoBrs/CaQZMNtMGDOxxc6q3zMMetk0C
         kbEuHG65w1D/TdUA1I2dQHXMOhZxt6MdML+s09tGTGtw5P79O/DJQTuQKnt0eg6a9nTV
         3DjNyZr2rzlRKCWs6+Uyv1n9wMpJOUYIEOOsVWmIzMzEgCpXw1eNC9jCYXCAPUs+1z3s
         CYd4lILXE0tWlPB0EXdY8vvUotEuJALK4bPweb4YSytMwS5vGzWMO80ksWyRmHAl6lzu
         pOOUB3jb9cM2msGmdwVdce6pxMIu0kn34Md4Ssc+NVYcWugp3sqwLDMfK896wntDrTr0
         OHRw==
X-Gm-Message-State: AOJu0YwG6aWHw2Evmy5nXty/X0BnUsGkuNd8tK0plY6mxag06edgOe4/
	MKyQEHzgx9V3AsELKQT0JTM=
X-Google-Smtp-Source: AGHT+IF+NU9imeSVoGdzlL8QTTPC502lMgEP/qmUPOwdJnpB0DB0k1UIS4J7qULNnyd+Cqp0H3sq3w==
X-Received: by 2002:a05:600c:a43:b0:401:a0b1:aef6 with SMTP id c3-20020a05600c0a4300b00401a0b1aef6mr2594869wmq.2.1700668474803;
        Wed, 22 Nov 2023 07:54:34 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <dcb3f2ef-e05b-4636-8a85-d9864cf619d4@xen.org>
Date: Wed, 22 Nov 2023 15:54:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: David Woodhouse <dwmw@amazon.co.uk>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:Block layer core" <qemu-block@nongnu.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-2-volodymyr_babchuk@epam.com>
Organization: Xen Project
In-Reply-To: <20231121221023.419901-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> This allows a XenDevice implementation to know whether it was created
> by QEMU, or merely discovered in XenStore after the toolstack created
> it. This will allow us to create frontend/backend nodes only when we
> should, rather than unconditionally attempting to overwrite them from
> a driver domain which doesn't have privileges to do so.
> 
> As an added benefit, it also means we no longer have to call the
> xen_backend_set_device() function from the device models immediately
> after calling qdev_realize_and_unref(). Even though we could make
> the argument that it's safe to do so, and the pointer to the unreffed
> device *will* actually still be valid, it still made my skin itch to
> look at it.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/block/xen-block.c         | 3 +--
>   hw/char/xen_console.c        | 2 +-
>   hw/net/xen_nic.c             | 2 +-
>   hw/xen/xen-bus.c             | 4 ++++
>   include/hw/xen/xen-backend.h | 2 --
>   include/hw/xen/xen-bus.h     | 2 ++
>   6 files changed, 9 insertions(+), 6 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 15:59:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 15:59:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638869.995791 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5pdo-0006p2-CO; Wed, 22 Nov 2023 15:59:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638869.995791; Wed, 22 Nov 2023 15: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 1r5pdo-0006ov-9l; Wed, 22 Nov 2023 15:59:52 +0000
Received: by outflank-mailman (input) for mailman id 638869;
 Wed, 22 Nov 2023 15:59: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5pdn-0006op-8F
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 15:59:51 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2aa5c6cd-8950-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 16:59:50 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-407da05f05aso31709175e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 07:59:50 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 bs13-20020a056000070d00b00332d3c78e11sm1430339wrb.85.2023.11.22.07.59.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 07:59:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2aa5c6cd-8950-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700668789; x=1701273589; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=U+jgbpo+qq8y0chu3tFqIjgyUtqZ2g2HsW1rHQMGpl0=;
        b=KaDP1pF14cq9NXwQOz65A0ap5XRsgzr1jtpu31ooaMgDxFhrazjPZgfd5Ohqw6KVkz
         hXc3iM59G4vERSqIw52cAFE6UiNiUVu7Zx1Ao3cVEgingRoA4ftembtwHVL9z8oc08U4
         nPibyg+Le7zal0jUIaEU+aS4BHwTx4XD18UrU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700668789; x=1701273589;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=U+jgbpo+qq8y0chu3tFqIjgyUtqZ2g2HsW1rHQMGpl0=;
        b=GubcScrkPGxfYQXw6OEXsC3dlclMvIXH6MxGU8XFGPHXhli4mv0KQmardvKSZNZW+Z
         4vTm7KpG6sPPOsBdXNO1ZlRREgzwnTVz6PuaYDXRCAhnlYOXHKvDqBEZkY7OX0opp01Z
         tIPFLhAy6IvFxtGo14q51ZHR19hmR9TYea1yyS6BVJnai+DFvLouLXLqajZcUj6pF+rp
         T3lOWesl55Wbw8mMyI9at9bCJNfVF8nzueR/HjLNARyrtNwDcsQo1Qg1Czo1bz8vYS8L
         fjojscI3KLjDmwvGY/F3zanLwlgTCE8kt4n0fVI73t1b7M9Ao9Pq5svj7EBH6ptyAh78
         FzvA==
X-Gm-Message-State: AOJu0YzmIN1OuxTvzdMo54iaT63zQNwQ39tL+yO1dkL9luK4fmrPSuST
	IGCj3PW1sBwsQ0F9UHLJeDxttzKOrmH3Y/A28GY=
X-Google-Smtp-Source: AGHT+IFahS82uqUXLik6IUo1wHdeorVKPkaq8UDUrtmdJ289t4gPelGJsodyLq6eepgkluOS6kQLmw==
X-Received: by 2002:a05:600c:4f89:b0:40b:2a53:7913 with SMTP id n9-20020a05600c4f8900b0040b2a537913mr2252642wmq.13.1700668789350;
        Wed, 22 Nov 2023 07:59:49 -0800 (PST)
Message-ID: <881c94ff-4d71-4c07-90cc-9e3a82871c26@citrix.com>
Date: Wed, 22 Nov 2023 15:59:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
Content-Language: en-GB
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Simone Ballarin <simone.ballarin@bugseng.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
 <20231122142733.1818331-4-andrew.cooper3@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231122142733.1818331-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 2:27 pm, Andrew Cooper wrote:
> The differences between inline, __inline and __inline__ keywords are a
> vestigial remnant of older C standards, and in Xen we use inline almost
> exclusively.
>
> Replace __inline and __inline__ with regular inline, and remove their
> exceptions from the MISRA configuration.
>
> 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: Stefano Stabellini <sstabellini@kernel.org>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> CC: Simone Ballarin <simone.ballarin@bugseng.com>
>
> I'm entirely guessing at the Eclair configuration.

https://gitlab.com/xen-project/people/andyhhp/xen/-/jobs/5596360097 is
Eclair running on this change, and it came back green

But I'll have to defer to bugsend to judge whether it was correctly
configured.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:08:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:08:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638875.995801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5pm5-0000rf-6R; Wed, 22 Nov 2023 16:08:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638875.995801; Wed, 22 Nov 2023 16:08: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 1r5pm5-0000rY-3g; Wed, 22 Nov 2023 16:08:25 +0000
Received: by outflank-mailman (input) for mailman id 638875;
 Wed, 22 Nov 2023 16:08: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=f1AL=HD=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r5pm3-0000rQ-Vi
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 16:08:24 +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 5b5b0443-8951-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 17:08:21 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40b344101f2so2058885e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 08:08:21 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net
 (default-46-102-197-194.interdsl.co.uk. [46.102.197.194])
 by smtp.gmail.com with ESMTPSA id
 z16-20020adfe550000000b0032db4e660d9sm17520712wrm.56.2023.11.22.08.08.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 08:08:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5b5b0443-8951-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700669301; x=1701274101; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=WlOzmEGGIobJ3lpXFLaNZf6H36XuGl3WrF8R2PCpfWQ=;
        b=IErFsDxa4fdGdzCG9YvKK9T+pbqc5jMe0W8Jp3YqCvu/QoIb1NEYgRKlGguRsKhQe4
         fKyhU+hAlweUES/L2V6MK6nqXaPDcOcYFQlTsoVBrwdiuE9UWu8eXmLDNZuJAvutXR/b
         P4GkaE5agNGSC4iXilbC3XxqKfQbVxj6ArTDA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700669301; x=1701274101;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=WlOzmEGGIobJ3lpXFLaNZf6H36XuGl3WrF8R2PCpfWQ=;
        b=QEc/4Gn6Gp933ZlQw+22oT0ymvcFeducazlT/LU+ZTvSedLqR26D7ouSij6OcfcKKR
         Wp1PSrRvZdiK8ef3Dx7dMW8fm0N+fNM8LnfL16zmSS4aUmqBvbWXZBqmMpODyun8hD0I
         GvTVKQrfZWYMtIKUHB5ReEih8qd0dB+ZcvtrvHMMu2wfxtqU7XxLmWYmiwhJLpLQqG3l
         AqH74lw5lgF8BVfD/ffWem1hhJmDdc8tzEQRGn78O3YcGa9HtDjXLi89lDhlIwitmvzc
         caapmV4ScGFpfNqg8DoC0ii9jYdGz6rhPcei+AfjUUulSTF1tAdTlMc8j/HfuUq/OxMU
         mD+A==
X-Gm-Message-State: AOJu0YyNoCYT6IwOHZ1F/uCdVrYd1MNXFfZCWRyFfWsF5ltysAFtxW0v
	cQqMChqhnw8zx3T/LJe9+u9/2797dl0NLlipk+4=
X-Google-Smtp-Source: AGHT+IGoZLvI9kxp+SK35C5Ly9Z68wbHpUo4aZZZLlUiPUWB2QhzKYzjr6jnJgLi5kwUqeC/njzi+g==
X-Received: by 2002:a05:600c:5ca:b0:408:36bb:5b0c with SMTP id p10-20020a05600c05ca00b0040836bb5b0cmr5851348wmd.7.1700669300636;
        Wed, 22 Nov 2023 08:08:20 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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] xen/x86: On x2APIC mode, derive LDR from APIC ID
Date: Wed, 22 Nov 2023 16:08:17 +0000
Message-Id: <20231122160817.15266-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
registers are derivable from each other through a fixed formula.

Xen uses that formula, but applies it to vCPU IDs (which are sequential)
rather than x2APIC IDs (which are not, at the moment). As I understand it,
this is an attempt to tightly pack vCPUs into clusters so each cluster has
16 vCPUs rather than 8, but this is problematic for OSs that might read the
x2APIC ID and internally derive LDR (or the other way around)

This patch fixes the implementation so we follow the rules in the x2APIC
spec(s) and covers migrations from broken hypervisors, so LDRs are
preserved even for hotppluggable CPUs and across APIC resets.

While touching that area, I removed the existing printk statement in
vlapic_load_fixup() (as the checks it performed didn't make sense in x2APIC
mode and wouldn't affect the outcome) and put another printk as an else
branch so we get warnings trying to load nonsensical LDR values we don't
know about.

Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
v3:
  * Removed underscores from (x2)APIC_ID in commit message
  * Added commit msg explaining the removal of the vlapic_load_fixup() printk
  * Restored lowercase to hex "F"s
  * Refactored a bit vlapic_load_fixup() so it has a trailing printk in
    case of spotting a nonsensical LDR it doesn't understand.
  * Moved field in domain.h with the other booleans
  * Trimmed down field name in domain.h
  * Trimmed down field comment in domain.h

If the field name in domain.h still seems too long I'm happy for it to be
trimmed further down, but I do want to preserve the "_bug_" part of it.
---
 xen/arch/x86/hvm/vlapic.c             | 62 +++++++++++++++++----------
 xen/arch/x86/include/asm/hvm/domain.h |  3 ++
 2 files changed, 43 insertions(+), 22 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 5cb87f8649..cd929c3716 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1061,13 +1061,23 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
     .write = vlapic_mmio_write,
 };
 
+static uint32_t x2apic_ldr_from_id(uint32_t id)
+{
+    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
+}
+
 static void set_x2apic_id(struct vlapic *vlapic)
 {
-    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
-    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
+    uint32_t vcpu_id = vlapic_vcpu(vlapic)->vcpu_id;
+    uint32_t apic_id = vcpu_id * 2;
+    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
+
+    /* This is a migration bug workaround. See wall of text in lapic_load_fixup() */
+    if ( vlapic_domain(vlapic)->arch.hvm.x2apic_ldr_bug_with_vcpu_id )
+        apic_ldr = x2apic_ldr_from_id(vcpu_id);
 
-    vlapic_set_reg(vlapic, APIC_ID, id * 2);
-    vlapic_set_reg(vlapic, APIC_LDR, ldr);
+    vlapic_set_reg(vlapic, APIC_ID, apic_id);
+    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
 }
 
 int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
@@ -1498,27 +1508,35 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
  */
 static void lapic_load_fixup(struct vlapic *vlapic)
 {
-    uint32_t id = vlapic->loaded.id;
+    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
+    if ( !vlapic_x2apic_mode(vlapic) ||
+         (vlapic->loaded.ldr == x2apic_ldr_from_id(vlapic->loaded.id)) )
+        return;
 
-    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
-    {
+    if ( vlapic->loaded.ldr == 1 )
+       /*
+        * Xen <= 4.4 had a bug by which all the APICs configured in x2APIC
+        * mode got LDR = 1. We can't leave it as-is because it assigned the
+        * same LDR to every CPU.  We'll fix fix the bug now and assign an
+        * LDR value consistent with the APIC ID.
+        */
+        set_x2apic_id(vlapic);
+    else if ( vlapic->loaded.ldr ==
+              x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id) )
         /*
-         * This is optional: ID != 0 contradicts LDR == 1. It's being added
-         * to aid in eventual debugging of issues arising from the fixup done
-         * here, but can be dropped as soon as it is found to conflict with
-         * other (future) changes.
+         * This is a migration from a broken Xen between 4.4 and 4.18 and
+         * we must _PRESERVE_ LDRs so new vCPUs use consistent derivations.
+         * This is so existing running guests that may have already read
+         * the LDR at the source host aren't surprised when IPIs stop
+         * working as they did at the other end. To address this, we set
+         * this domain boolean so future CPU hotplugs derive an LDR
+         * consistent with the older Xen's broken idea of consistency.
          */
-        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
-             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
-            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
-                   vlapic_vcpu(vlapic), id);
-        set_x2apic_id(vlapic);
-    }
-    else /* Undo an eventual earlier fixup. */
-    {
-        vlapic_set_reg(vlapic, APIC_ID, id);
-        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
-    }
+        vlapic_domain(vlapic)->arch.hvm.x2apic_ldr_bug_with_vcpu_id = true;
+    else
+        printk(XENLOG_G_WARNING
+               "%pv: bogus x2APIC loaded id=%#x ldr=%#x\n",
+               vlapic_vcpu(vlapic), vlapic->loaded.id, vlapic->loaded.ldr);
 }
 
 static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 6e53ce4449..2fee3874cd 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -106,6 +106,9 @@ struct hvm_domain {
 
     bool                   is_s3_suspended;
 
+    /* Compat setting for a bug in x2APIC LDR. See vlapic_load_fixup() */
+    bool x2apic_ldr_bug_with_vcpu_id;
+
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:20:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:20:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638879.995810 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5pxn-0004Se-Ah; Wed, 22 Nov 2023 16:20:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638879.995810; Wed, 22 Nov 2023 16:20: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 1r5pxn-0004SX-7n; Wed, 22 Nov 2023 16:20:31 +0000
Received: by outflank-mailman (input) for mailman id 638879;
 Wed, 22 Nov 2023 16:20: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5pxl-0004SI-OT
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 16:20:29 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0c319f9a-8953-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 17:20:27 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-3316c6e299eso3321188f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 08:20:27 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 p14-20020a5d59ae000000b0032f7cc56509sm11894171wrr.98.2023.11.22.08.20.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 08:20:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0c319f9a-8953-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700670027; x=1701274827; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=fVNqdDo79oFbehNswTSM9zIKl9E9+nWQNS9DtE4S/eA=;
        b=UEY+4aoKMsB8CwmaylhkS2ka6YT1M6/LKBC/mQPXhZt5yoAIb4WGbWYST8Pxu5Bmei
         XTCaIsv8k4KZ8n1kTG7CI41NIh2CDaFwmsxjTzhZJ6vjYbYM6H2oB47aWlqAxJwNMbIo
         0uA1JCUNFrALDXDknmBuHFAGogPHPYUXqfYHY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700670027; x=1701274827;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=fVNqdDo79oFbehNswTSM9zIKl9E9+nWQNS9DtE4S/eA=;
        b=MaGos99XpU/IciCTWtkKchL4ROweXKofWhErO9bPQ4bbNgqcW5J35mdl1cZ7AHJM3E
         v6kPQFV3B+xDHGcnbY268g62pvi1qHBf5HtwZSgBvZyFLGk0ieoML6A06Huf31bhxJ0E
         Ixs0Jh6b/jxjfZd4dHX+EWtNjm5xwNt9kwXQJ6CrcvSTFHGSZGZhcezNVqdV2pIhaeV2
         JX7fMjuHWmtAcwFv9xAC1wftdG/uKj9pAOXyvTMpTCqUm9nutf/wAoyDzzDEG+PH6nWs
         7DAA0+oCIwuTU+PdJBlwfmePjh3HO3vbXP8zRvIg/d/1ObVo+lBKEdM1G2auPY9fMv/q
         krHQ==
X-Gm-Message-State: AOJu0YyOtais1aoS06bFf2Ku72J4Bdv4I8KMluoXoslh9cwe2aTM1CFa
	g+hTptTefFYcgS3PDheqvAQ5mQ==
X-Google-Smtp-Source: AGHT+IGO6IlSsTIyt5Ibrh9vtrf4T+3p/5MFH9dacGT2Kk0pBSPw293CxdjaNhG12md+NXL2fd9Mkw==
X-Received: by 2002:a5d:457c:0:b0:32f:dcce:bf38 with SMTP id a28-20020a5d457c000000b0032fdccebf38mr1907491wrc.62.1700670027038;
        Wed, 22 Nov 2023 08:20:27 -0800 (PST)
Message-ID: <b190898e-2c10-49cd-9dc5-40ddd8c71c74@citrix.com>
Date: Wed, 22 Nov 2023 16:20:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86/setup: Clean up cmdline handling in
 create_dom0()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-2-andrew.cooper3@citrix.com>
 <a6c8bac9-5bbd-44cc-b516-51a8a57d360f@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <a6c8bac9-5bbd-44cc-b516-51a8a57d360f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 9:02 am, Jan Beulich wrote:
> On 21.11.2023 21:15, Andrew Cooper wrote:
>> There's a confusing mix of variables; a static dom0_cmdline[], and a cmdline
>> pointer which points to image->string before being pointed at the static
>> buffer in order to be passed into construct_dom0().  cmdline being a mutable
>> pointer falls over -Wwrite-strings builds.
>>
>> Delete the cmdline pointer, and rename dom0_cmdline[] to cmdline extending it
>> to have full function scope.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> with two remarks:
>
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -873,6 +873,8 @@ static struct domain *__init create_dom0(const module_t *image,
>>                                           module_t *initrd, const char *kextra,
>>                                           const char *loader)
>>  {
>> +    static char __initdata cmdline[MAX_GUEST_CMDLINE];
>> +
>>      struct xen_domctl_createdomain dom0_cfg = {
> While I think I see why you're adding the blank line there, I'm not overly
> happy about you doing so: Our usual use of blank lines after declarations
> is to separate from statements, not from other (in this case non-static)
> declarations. (And really, just a remark, leaving it to you to keep as is
> or adjust.)

We have plenty of examples of this pattern in the codebase already.  Not
quite half of the cases with both static and local variable
declarations, but not far off either.

>From a clarity point of view it is helpful to separate the stack locals
from the globals-with-local-scope.

>
>> @@ -913,33 +914,30 @@ static struct domain *__init create_dom0(const module_t *image,
>>          panic("Error creating d%uv0\n", domid);
>>  
>>      /* Grab the DOM0 command line. */
>> -    cmdline = image->string ? __va(image->string) : NULL;
>> -    if ( cmdline || kextra )
>> +    if ( image->string || kextra )
>>      {
>> -        static char __initdata dom0_cmdline[MAX_GUEST_CMDLINE];
>> -
>> -        cmdline = cmdline_cook(cmdline, loader);
>> -        safe_strcpy(dom0_cmdline, cmdline);
>> +        if ( image->string )
>> +            safe_strcpy(cmdline, cmdline_cook(__va(image->string), loader));
>>  
>>          if ( kextra )
>>              /* kextra always includes exactly one leading space. */
>> -            safe_strcat(dom0_cmdline, kextra);
>> +            safe_strcat(cmdline, kextra);
>>  
>>          /* Append any extra parameters. */
>> -        if ( skip_ioapic_setup && !strstr(dom0_cmdline, "noapic") )
>> -            safe_strcat(dom0_cmdline, " noapic");
>> +        if ( skip_ioapic_setup && !strstr(cmdline, "noapic") )
>> +            safe_strcat(cmdline, " noapic");
>> +
>>          if ( (strlen(acpi_param) == 0) && acpi_disabled )
>>          {
>>              printk("ACPI is disabled, notifying Domain 0 (acpi=off)\n");
>>              safe_strcpy(acpi_param, "off");
>>          }
>> -        if ( (strlen(acpi_param) != 0) && !strstr(dom0_cmdline, "acpi=") )
>> +
>> +        if ( (strlen(acpi_param) != 0) && !strstr(cmdline, "acpi=") )
> As you're touching this anyway, how about replacing the strlen() by just
> *acpi_param? We don't really care exactly how long the string is. (As an
> aside, strstr() uses like the one here are of course also pretty fragile.
> But of course that's nothing to care about in this change.)

There's the same pattern just above it, not touched, and this patch is
already getting complicated.

I think there's other cleanup to do here, so I'll defer it to later.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:21:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:21:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638884.995821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5pyI-0004um-Jo; Wed, 22 Nov 2023 16:21:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638884.995821; Wed, 22 Nov 2023 16:21: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 1r5pyI-0004uf-FB; Wed, 22 Nov 2023 16:21:02 +0000
Received: by outflank-mailman (input) for mailman id 638884;
 Wed, 22 Nov 2023 16:21: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5pyH-0004SI-33
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 16:21:01 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f49394f-8953-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 17:20:59 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2c501bd6ff1so87461771fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 08:20:59 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 p14-20020a5d59ae000000b0032f7cc56509sm11894171wrr.98.2023.11.22.08.20.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 08:20:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f49394f-8953-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700670059; x=1701274859; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=JqyOpbcPcjMSUf+cCBQGQ4wLGNpOMcVn2Kq4BNKk858=;
        b=v5CzqArWvw+qINrYtLbqHgyLYdE2ipDcU/oD97pOTj0z9/E+yXXa9RFysqy4aRRLYA
         013ts922tEMTrLK4VLMxX814/b05/GI8EDx4GFPNjym+9Qme9X6aKKcOVFEdhCZtEOnd
         kOMxDETjtfvyp2rfBFzDmuc0io0hbzNi8akQs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700670059; x=1701274859;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=JqyOpbcPcjMSUf+cCBQGQ4wLGNpOMcVn2Kq4BNKk858=;
        b=PhWxjuuWSeTfymOzeqL8QHiH64Vn3Mab5MHtAANldNRgeG5mwP/wcZOGf3Lb7d6AnI
         75lk2+rkyQyzT3mYvB994kUp+VyOwNC7M4RLeQsf5knRO/V5b0kkolXdko5A2p7Xj8s8
         IQqxlM/eDQHYQsatTMjUEbn3pE3eAvzzkp5xPlMSUbkdy9/RGaOD9ueX8iMTohJodvD2
         7b5+r9Kji8fjkFQaF7Iw8+FQ30kLaE1EdcxY86LNW36bE+/IVvNJsfUNquzwnL7UD8CY
         nHaXLbPBrAzDBugqjwAUYuXy4pkrOtzmC23QvGrwlZgGZ1DejSFPYdhDwxsqnbYFDaKF
         9Y3A==
X-Gm-Message-State: AOJu0Yyj3K7NqlKQ9LHZDbf7N39d6/BNI7FV/bWvZAwZTNjs4xLrdyBJ
	HmY5jOqmMWWXsJO+6VBZphqf2w==
X-Google-Smtp-Source: AGHT+IH6gQhpO/QaswbA+a6M5SU2Rr8G1rfw7o3duHrWSiZ4mkeVhyicw2oXMzseOHfiE3KTbzLkbg==
X-Received: by 2002:a2e:7a02:0:b0:2c5:12b:6ef2 with SMTP id v2-20020a2e7a02000000b002c5012b6ef2mr1986470ljc.33.1700670059085;
        Wed, 22 Nov 2023 08:20:59 -0800 (PST)
Message-ID: <95e23c13-541f-41be-9f1f-6a35cefc4b8f@citrix.com>
Date: Wed, 22 Nov 2023 16:20:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] x86/efi: Simplify efi_arch_handle_cmdline()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-4-andrew.cooper3@citrix.com>
 <d4c54e6b-baf2-4141-890c-7b62462971d9@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <d4c54e6b-baf2-4141-890c-7b62462971d9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 9:27 am, Jan Beulich wrote:
> On 21.11.2023 21:15, Andrew Cooper wrote:
>> -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but all
>> this work is useless; it's making a memory allocation just to prepend the
>> image name which cmdline_cook() intentionally strips back out.
>>
>> Simply forgo the work and identify EFI_LOADER as one of the loaders which
>> doesn't prepend the image name.
>>
>> No functional change.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

> with one nit:
>
>> --- a/xen/arch/x86/setup.c
>> +++ b/xen/arch/x86/setup.c
>> @@ -850,8 +850,11 @@ static const char *__init cmdline_cook(const char *p, const char *loader_name)
>>      while ( *p == ' ' )
>>          p++;
>>  
>> -    /* GRUB2 and PVH don't not include image name as first item on command line. */
>> -    if ( xen_guest || loader_is_grub2(loader_name) )
>> +    /*
>> +     * PVH, our EFI loader, and GRUB2 don't not include image name as first
> Just "don't", or "do not"? (I realize it was this way before, but perhaps a
> good chance to tidy.)

Will fix.  I completely missed that while rewording it.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:23:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:23:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638889.995831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5q0f-0005rx-Tb; Wed, 22 Nov 2023 16:23:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638889.995831; Wed, 22 Nov 2023 16: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 1r5q0f-0005rq-Qe; Wed, 22 Nov 2023 16:23:29 +0000
Received: by outflank-mailman (input) for mailman id 638889;
 Wed, 22 Nov 2023 16:23: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 1r5q0e-0005rZ-9t; Wed, 22 Nov 2023 16:23: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 1r5q0e-0002kU-7s; Wed, 22 Nov 2023 16:23: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 1r5q0d-0001Fz-Re; Wed, 22 Nov 2023 16:23:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5q0d-0005Cr-R9; Wed, 22 Nov 2023 16:23: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=lIEE4LkvTdOUTmsFdKSSU+nrrikgDxrmlT03n+9IDJ8=; b=NmqONI8sV2J2v3lLDiEcP9c1GA
	0IFokG4n7kJVwu7NV8pOqO1SY5OhYtRQYLDJwk5hYuicjp02DeDMrz9cgimzUMoWNzI8qeDo2Kv8Q
	OPJK75K1xAnq2gkVVTn/EDPj7H4nq3UCObpkn40ozf9DvGh0FUFj9RRJ/x9T88Sj7jxE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183825-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183825: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=8736b8fdca85e02933cdb0a13309de14c9799ece
X-Osstest-Versions-That:
    ovmf=23dbb8a07d108a7b8589e31639b6302b70445b9f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Nov 2023 16:23:27 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 8736b8fdca85e02933cdb0a13309de14c9799ece
baseline version:
 ovmf                 23dbb8a07d108a7b8589e31639b6302b70445b9f

Last test of basis   183810  2023-11-21 14:42:50 Z    1 days
Testing same since   183825  2023-11-22 13:41:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Igor Kulchytskyy <igork@ami.com>
  Leif Lindholm <quic_llindhol@quicinc.com>
  Liming Gao <gaoliming@byosoft.com.cn>

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
   23dbb8a07d..8736b8fdca  8736b8fdca85e02933cdb0a13309de14c9799ece -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:26:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:26:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638895.995840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5q3u-0006Uq-CM; Wed, 22 Nov 2023 16:26:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638895.995840; Wed, 22 Nov 2023 16:26: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 1r5q3u-0006Uj-9w; Wed, 22 Nov 2023 16:26:50 +0000
Received: by outflank-mailman (input) for mailman id 638895;
 Wed, 22 Nov 2023 16:26: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=y6Xs=HD=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1r5q3t-0006Ud-7i
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 16:26:49 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ef1d8571-8953-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 17:26:48 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-32f7abbb8b4so4693519f8f.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 08:26:48 -0800 (PST)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 l15-20020a5d6d8f000000b00332cb23ccbdsm7700520wrs.81.2023.11.22.08.26.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 08:26:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ef1d8571-8953-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700670407; x=1701275207; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=wFeIE8kGuQCYuzDUsYE523mlGLItNa6RGc94ggrfe9A=;
        b=eyXQe98Py3UcJ8tGUSvuK6DM2BZqFXOb/rZv02mHfA9Pr+Z/2X/Y+uZOyE+nL6GHx6
         sjGhM8uCRwRlZbGgjb5NRTwx+thCI4W6wnltJsOkDd1Ync7b1bo3PNIwdW38aLlHjK1K
         BUW0u7fMzt5wtcNNExD2CiS26zdjdnKCul6jc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700670407; x=1701275207;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=wFeIE8kGuQCYuzDUsYE523mlGLItNa6RGc94ggrfe9A=;
        b=q6stMd+eiZ3gQ9he3UmXXbUGqtbT2iMjGXunvrZUliJ8byCpXOG7Gotq2ZowElLuRH
         svsYHCc7RqAhB5DcQZ/OsBCLj4Yp1kGIJM/8zcJLclmR4qmQeIDRYUhEI8CvKxrYoaZO
         AourveuOl6hiyU5lvRI1G7T4wiibtQkB9mIsHknA+tlTKZJHYXGbaZ+6RIdNWTxsa5bg
         GQWyYX1RRLfC0QZMWC68Rrjc5ObMo/f/s8vgS3EvZDE8Hps3kJlGy1e0O3oevKQQy1hP
         0PkSkDbSXr22ILB5nIBIm0hx2ojlAK7z+oAInYzWwTymgq7L0RadXtLmkez6YCzBZL/f
         7uJA==
X-Gm-Message-State: AOJu0YwCi+mK6QDYI9+e0qBlRcL6ZOCIBUnzAjVIcy037AZU22JUuidg
	kuZNAwmQvQzfHnwBqKA0pl9i4bSiFUBBLBGNUOYQ2g==
X-Google-Smtp-Source: AGHT+IEWYcQQXqcy3HU5n0lbo4Sp1tN4ZK4JTiJgmtid1PU0xV7GqvCgjpnOX4tr5IEKAY6Y+EXQuA==
X-Received: by 2002:a5d:47ab:0:b0:332:c648:c657 with SMTP id 11-20020a5d47ab000000b00332c648c657mr1815771wrb.4.1700670407555;
        Wed, 22 Nov 2023 08:26:47 -0800 (PST)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] x86/mem_sharing: Fix typo in comment
Date: Wed, 22 Nov 2023 16:26:20 +0000
Message-Id: <20231122162620.4354-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

ambigious -> ambiguous

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/mm/mem_sharing.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 142258f16a..9647e651f9 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -1123,7 +1123,7 @@ err_out:
 /*
  * This function is intended to be used for plugging a "hole" in the client's
  * physmap with a shared memory entry. Unfortunately the definition of a "hole"
- * is currently ambigious. There are two cases one can run into a "hole":
+ * is currently ambiguous. There are two cases one can run into a "hole":
  *  1) there is no pagetable entry at all
  *  2) there is a pagetable entry with a type that passes p2m_is_hole
  *
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:27:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:27:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638897.995850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5q4S-0006zM-LO; Wed, 22 Nov 2023 16:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638897.995850; Wed, 22 Nov 2023 16:27: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 1r5q4S-0006zF-Ik; Wed, 22 Nov 2023 16:27:24 +0000
Received: by outflank-mailman (input) for mailman id 638897;
 Wed, 22 Nov 2023 16:27: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5q4Q-0006Ud-QC
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 16:27:22 +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 03519c3d-8954-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 17:27:22 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-40b2c9ee8ecso10946265e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 08:27:22 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 w21-20020a05600c475500b004063ea92492sm2703316wmo.22.2023.11.22.08.27.21
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 08:27:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 03519c3d-8954-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700670442; x=1701275242; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=L9We5AnjwZbMe8bZTgQsbYNfcdtMLgQaroRFfGbcuTw=;
        b=jQfvCgfbd32kW7JrtDQqgQ+t9ivk0tloxsT+88+IvDDfRLj9F0q+4niZmP/bSgebj3
         YRpQ7uR1BgOHGUCT4G6KIwVW792AJ7FnctTV+yQe6k73IQvWTTgWXDLw+OE1hVeKMkcV
         fhnXnB1Wq1FGAXSXLLx5mmldRjsQjE7nfKq7I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700670442; x=1701275242;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=L9We5AnjwZbMe8bZTgQsbYNfcdtMLgQaroRFfGbcuTw=;
        b=ipYL4qxRx/LEZz1l2AX63k+pSVR1WqysfK3Uk0Qu+G7uLvTldJy1MciifJ1RrgBfX0
         AI4N50OTPveh9+QzLJtV6gjcHJ1o8uBu/HRvrcUPLMhw7/ByzIwa+uB5kYT4TsRn4bbj
         m/quhkSnWtz2Q9sFISfnnksKIr8zCsJ7Sz+loGCMZpmpDCxVbE3rRmS31lKKe5e9mN00
         QuZYarYQOlR7kcgTtTpHUlKbi2w3QA0SNsK8CtmrewophEWWTxTJS/ZqmrlO1V4C3wbO
         1PymKEfzrlUNDDRRDchqIsNbx831QvBUIAdpUepH/kZxVMcg71J2In20y/WP7tNh8usl
         xvKA==
X-Gm-Message-State: AOJu0Ywr1LYMjn2jMOwypzeKbgPG0iRAX109cxXrXvLQ0caZPT6q3K3t
	zxCW47eY6sQ5egCW0rZ/lFRiXw==
X-Google-Smtp-Source: AGHT+IFdkTAlzSL6Mp2f3CYAUroyu+BM5mOSao0XotY4NKLs+ME72b1B8qhZ6XFatMUiDBv2Z6B7Lg==
X-Received: by 2002:a05:600c:474f:b0:409:231e:2a69 with SMTP id w15-20020a05600c474f00b00409231e2a69mr2271348wmo.28.1700670441724;
        Wed, 22 Nov 2023 08:27:21 -0800 (PST)
Message-ID: <55fb9f8d-8834-414a-b789-7fcff76950c5@citrix.com>
Date: Wed, 22 Nov 2023 16:27:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/mem_sharing: Fix typo in comment
Content-Language: en-GB
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas@tklengyel.com>, Jan Beulich <jbeulich@suse.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20231122162620.4354-1-frediano.ziglio@cloud.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231122162620.4354-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22/11/2023 4:26 pm, Frediano Ziglio wrote:
> ambigious -> ambiguous
>
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:31:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:31:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638908.995861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5q8I-0000iK-9Y; Wed, 22 Nov 2023 16:31:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638908.995861; Wed, 22 Nov 2023 16: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 1r5q8I-0000iD-6g; Wed, 22 Nov 2023 16:31:22 +0000
Received: by outflank-mailman (input) for mailman id 638908;
 Wed, 22 Nov 2023 16: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=SplL=HD=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1r5q8H-0000i7-4H
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 16:31:21 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9088ef9f-8954-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 17:31:19 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2c6b30aca06so86403881fa.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 08:31:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9088ef9f-8954-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700670678; x=1701275478; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xZjXjbJLvS85ELtACuewF8Ry2/WObRnhQy9tqgKovCg=;
        b=hr2fiJ71N8VS+fIYmahDjh3l8mUJNmnv/nI+z+znai/1fyD1r8k1Pb2pv9t3EIso2m
         kIaTcuNKwjB1UOkyqZRxdkemPLWch7OadLeA3OVnYU0DOR/XAzzB1Z2eZuyQyEVN60At
         EdBWhmliDSG9lOJCkgd6IjFAO0X+80kpNOrsw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700670678; x=1701275478;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xZjXjbJLvS85ELtACuewF8Ry2/WObRnhQy9tqgKovCg=;
        b=mCYSRDjw7rlXPm2wDbsHMEMwBc69pNZeHkYwr1rX+Wlh4mDAS5OVv3uaoNAwlR8J7R
         USzbVmiVb6U8SrArH9Dcep0ERpJbdPMJdWWIeRNGxH4IFCIMXyP8gHOX9E1HNigBfa0U
         SiGx4KO76I9snRsugataGd7XGlPR6b1pXapeJ9Ol2Gieldjv3scJch752urxt3H488zC
         TcCPREZFNiceEkKMb+6qP/WTeS+5AEzlM4JUGOQPk12xiOAjcVTRgEFBpRg1mHC0jRi8
         66+WAt4HhSbJEmhe/huhVes3JFjKcue11Nuy9NgSRPR37KgRMK6T7g6N+U4rWvTrF9H9
         WvNQ==
X-Gm-Message-State: AOJu0YwuHdvV3zPRkeJv/YwD2J7Fd+69hw2ZaENVlxj9qXxWdgnd51vT
	4r/bcCHFUoHu7YhmEOZ/vaKGHyal1XtzMIqPtI3K
X-Google-Smtp-Source: AGHT+IHSFqgCQfZIIdiEd2IzP5hhoABndMUfCegQV5DWfUcTTTerQ7dr/J1Kd5xOqDGTxDuCHzcrKmOitdYoNun4e7Y=
X-Received: by 2002:a2e:9f4e:0:b0:2c8:7ffe:573f with SMTP id
 v14-20020a2e9f4e000000b002c87ffe573fmr1942084ljk.5.1700670678622; Wed, 22 Nov
 2023 08:31:18 -0800 (PST)
MIME-Version: 1.0
References: <20231116115841.71847-1-roger.pau@citrix.com> <d6634601-5006-475c-b386-97a1e53c5279@suse.com>
 <ZVYfHQD1AEmNVY3h@macbook.local>
In-Reply-To: <ZVYfHQD1AEmNVY3h@macbook.local>
From: Ross Lagerwall <ross.lagerwall@cloud.com>
Date: Wed, 22 Nov 2023 16:31:07 +0000
Message-ID: <CAG7k0Eo=p6sn0-p=JWGDTuN9u8B2=d9K13qpWUoAqJfX0uhcLA@mail.gmail.com>
Subject: Re: [PATCH] livepatch: do not use .livepatch.funcs section to store
 internal state
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, 
	Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
	Bertrand Marquis <bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.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
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 16, 2023 at 1:54=E2=80=AFPM Roger Pau Monn=C3=A9 <roger.pau@cit=
rix.com> wrote:
>
> On Thu, Nov 16, 2023 at 01:39:27PM +0100, Jan Beulich wrote:
> > On 16.11.2023 12:58, Roger Pau Monne wrote:
> > > --- a/xen/include/public/sysctl.h
> > > +++ b/xen/include/public/sysctl.h
> > > @@ -991,10 +991,7 @@ struct livepatch_func {
> > >      uint32_t new_size;
> > >      uint32_t old_size;
> > >      uint8_t version;        /* MUST be LIVEPATCH_PAYLOAD_VERSION. */
> > > -    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
> > > -    uint8_t applied;
> > > -    uint8_t patch_offset;
> > > -    uint8_t _pad[6];
> > > +    uint8_t _pad[39];
> >
> > Should this be LIVEPATCH_OPAQUE_SIZE+8 and ...
>
> Hm, I'm not sure that's any clearer.  In fact I think
> LIVEPATCH_OPAQUE_SIZE shouldn't have leaked into sysctl.h in the first
> place.
>
> If we later want to add more fields and bump the version, isn't it
> easier to have the padding size clearly specified as a number?

I prefer using the number as it makes it clear that this padding is not
(anymore) related to the size of the instruction buffer in livepatch_fstate=
.

Do you think it would be better to call livepatch_fstate.opaque
something like livepatch_fstate.insn_buffer instead (and rename
the constant accordingly) since it is internal to Xen and is not
hiding something from tools building live patches?

(Otherwise this patch looks generally fine to me.)

Ross


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:39:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:39:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638912.995870 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qFn-0002jT-16; Wed, 22 Nov 2023 16:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638912.995870; Wed, 22 Nov 2023 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 1r5qFm-0002jM-Um; Wed, 22 Nov 2023 16:39:06 +0000
Received: by outflank-mailman (input) for mailman id 638912;
 Wed, 22 Nov 2023 16:39: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=Xj/n=HD=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r5qFl-0002j0-EY
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 16:39:05 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a4b2daf4-8955-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 17:39:02 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 0A1234EE073C;
 Wed, 22 Nov 2023 17:39:02 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4b2daf4-8955-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Wed, 22 Nov 2023 17:39:02 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
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>, Stefano Stabellini
 <sstabellini@kernel.org>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Simone Ballarin <simone.ballarin@bugseng.com>
Subject: Re: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
In-Reply-To: <20231122142733.1818331-4-andrew.cooper3@citrix.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
 <20231122142733.1818331-4-andrew.cooper3@citrix.com>
Message-ID: <e5476808dbef67bea7ce3902d4d8b3c1@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-22 15:27, Andrew Cooper wrote:
> The differences between inline, __inline and __inline__ keywords are a
> vestigial remnant of older C standards, and in Xen we use inline almost
> exclusively.
> 
> Replace __inline and __inline__ with regular inline, and remove their
> exceptions from the MISRA configuration.
> 
> 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: Stefano Stabellini <sstabellini@kernel.org>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> CC: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> I'm entirely guessing at the Eclair configuration.
> ---

The configuration changes are ok. One observation below.

>  .../eclair_analysis/ECLAIR/toolchain.ecl      |  6 +++---
>  docs/misra/C-language-toolchain.rst           |  2 +-
>  xen/arch/x86/include/asm/apic.h               | 20 +++++++++----------
>  xen/include/acpi/cpufreq/cpufreq.h            |  4 ++--
>  xen/include/xen/bitops.h                      |  4 ++--
>  xen/include/xen/compiler.h                    |  7 +++----
>  6 files changed, 21 insertions(+), 22 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl 
> b/automation/eclair_analysis/ECLAIR/toolchain.ecl
> index e6cd289b5e92..71a1e2cce029 100644
> --- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
> +++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
> @@ -15,7 +15,7 @@
>      _Static_assert: see Section \"2.1 C Language\" of "GCC_MANUAL".
>      asm, __asm__: see Sections \"6.48 Alternate Keywords\" and \"6.47 
> How to Use Inline Assembly Language in C Code\" of "GCC_MANUAL".
>      __volatile__: see Sections \"6.48 Alternate Keywords\" and 
> \"6.47.2.1 Volatile\" of "GCC_MANUAL".
> -    __const__, __inline__, __inline: see Section \"6.48 Alternate 
> Keywords\" of "GCC_MANUAL".
> +    __const__ : see Section \"6.48 Alternate Keywords\" of 
> "GCC_MANUAL".
>      typeof, __typeof__: see Section \"6.7 Referring to a Type with 
> typeof\" of "GCC_MANUAL".
>      __alignof__, __alignof: see Sections \"6.48 Alternate Keywords\" 
> and \"6.44 Determining the Alignment of Functions, Types or Variables\" 
> of "GCC_MANUAL".
>      __attribute__: see Section \"6.39 Attribute Syntax\" of 
> "GCC_MANUAL".
> @@ -23,8 +23,8 @@
>      __builtin_va_arg: non-documented GCC extension.
>      __builtin_offsetof: see Section \"6.53 Support for offsetof\" of 
> "GCC_MANUAL".
>  "
> --config=STD.tokenext,behavior+={c99, GCC_ARM64, 
> "^(_Static_assert|asm|__asm__|__volatile__|__const__|__inline__|typeof|__typeof__|__alignof__|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
> --config=STD.tokenext,behavior+={c99, GCC_X86_64, 
> "^(_Static_assert|asm|__asm__|__volatile__|__const__|__inline__|__inline|typeof|__typeof__|__alignof__|__alignof|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
> +-config=STD.tokenext,behavior+={c99, GCC_ARM64, 
> "^(_Static_assert|asm|__asm__|__volatile__|__const__|typeof|__typeof__|__alignof__|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
> +-config=STD.tokenext,behavior+={c99, GCC_X86_64, 
> "^(_Static_assert|asm|__asm__|__volatile__|__const__|typeof|__typeof__|__alignof__|__alignof|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
>  -doc_end
> 
>  -doc_begin="Non-documented GCC extension."
> diff --git a/docs/misra/C-language-toolchain.rst 
> b/docs/misra/C-language-toolchain.rst
> index 2866cb191b1a..b7c2000992ac 100644
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -84,7 +84,7 @@ The table columns are as follows:
>            see Sections "6.48 Alternate Keywords" and "6.47 How to Use 
> Inline Assembly Language in C Code" of GCC_MANUAL.
>         __volatile__:
>            see Sections "6.48 Alternate Keywords" and "6.47.2.1 
> Volatile" of GCC_MANUAL.
> -       __const__, __inline__, __inline:
> +       __const__:
>            see Section "6.48 Alternate Keywords" of GCC_MANUAL.
>         typeof, __typeof__:
>            see Section "6.7 Referring to a Type with typeof" of 
> GCC_MANUAL.

> diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
> index 04b8bc18df0e..16d554f2a593 100644
> --- a/xen/include/xen/compiler.h
> +++ b/xen/include/xen/compiler.h
> @@ -20,9 +20,8 @@
>  #define likely(x)     __builtin_expect(!!(x),1)
>  #define unlikely(x)   __builtin_expect(!!(x),0)
> 
> -#define inline        __inline__
> -#define always_inline __inline__ __attribute__ ((__always_inline__))
> -#define gnu_inline    __inline__ __attribute__ ((__gnu_inline__))
> +#define always_inline inline __attribute__((__always_inline__))
> +#define gnu_inline    inline __attribute__((__gnu_inline__))
>  #define noinline      __attribute__((__noinline__))
> 
>  #define noreturn      __attribute__((__noreturn__))
> @@ -83,7 +82,7 @@
>   * inline functions not expanded inline get placed in .init.text.
>   */
>  #include <xen/init.h>
> -#define __inline__ __inline__ __init
> +#define inline inline __init

The violation of Rule 20.4 (A macro shall not be defined with the same 
name as a keyword) is still present due to this macro.


>  #endif
> 
>  #define __attribute_pure__  __attribute__((__pure__))

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:40:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:40:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638915.995880 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qH1-0004PD-AQ; Wed, 22 Nov 2023 16:40:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638915.995880; Wed, 22 Nov 2023 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 1r5qH1-0004P6-7t; Wed, 22 Nov 2023 16:40:23 +0000
Received: by outflank-mailman (input) for mailman id 638915;
 Wed, 22 Nov 2023 16:40: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=y6Xs=HD=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1r5qGz-0004Oy-PN
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 16:40:21 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d2463a55-8955-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 17:40:19 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-409299277bbso32051005e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 08:40:18 -0800 (PST)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 h12-20020a05600c314c00b004097881d5f0sm2738278wmo.29.2023.11.22.08.40.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 08:40:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2463a55-8955-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700671218; x=1701276018; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=jXWcMm/8odrIcxiJ9CXHuimpsKLfHzIzG2IXV9cswfk=;
        b=bqQkDEd2CRmclsHtMjQFxwQw4hzeNUnYLUpqsAbJWWEeSR3+o8bEXCJovgVIr7koKv
         qJOqzG9Jh8ArOus+u8JqjgJdEc4Wwb2aziZMIywF9hwuPJHXC15ekBKCSAZCxfnMXAC9
         b3gUckipFDcBDtLrpRKrWNsrZwhUdgbjb81Kc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700671218; x=1701276018;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=jXWcMm/8odrIcxiJ9CXHuimpsKLfHzIzG2IXV9cswfk=;
        b=WTHfCDWz07Qxle7otzkl8R1ePTx9fRD3ujoL3WrQAaeO+ZtA96IbeIDi5sWQvH1nV9
         OHShSEpoUN6AEdykmTOw2KzLNZ9BzXRcLaQozPF1z+8fO8QNpcXv7DbrwwewoUJ04FUh
         9dxQQuo7HWn5H0/bN5SHTGGBl0g36VA44VuTLft1lEMAscVtphe8XfMzTjNLNhxvaEr4
         M7ZOFfgrPnfBGrW8cUV19t1g9SK3l+6qSAE+kBPEDV/pgH59aXgxBFy1tOyY1d5azDFc
         TumjUYra867vfMSMADXjUJhFO79592JavtmlGgLL2iUijk1U9BVFQ1cbxTiMCmatYKuQ
         JdUQ==
X-Gm-Message-State: AOJu0YyHw7yHw23lY1S+ESHkrIERZpTRws112QcSN6Lh9NTwtAVuIO3u
	866h6yML98FpzV2sUE3f2/jBwMAfPsNEOxisGIo=
X-Google-Smtp-Source: AGHT+IHYHRFdWfMb61OIANFU0EqkEyDLhsEofGRtunOL90YwG1dC8VzWTp1hTSw9/BJovaviM8I7yw==
X-Received: by 2002:a05:600c:4ecd:b0:40a:4436:e037 with SMTP id g13-20020a05600c4ecd00b0040a4436e037mr2180544wmq.35.1700671218210;
        Wed, 22 Nov 2023 08:40:18 -0800 (PST)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH] x86/mem_sharing: Release domain if we are not able to enable memory sharing
Date: Wed, 22 Nov 2023 16:39:55 +0000
Message-Id: <20231122163955.14555-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

In case it's not possible to enable memory sharing (mem_sharing_control
fails) we just return the error code without releasing the domain
acquired some lines above by rcu_lock_live_remote_domain_by_id.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
--
I didn't manage to check the change, I was just looking at the code
for different purposes.
---
 xen/arch/x86/mm/mem_sharing.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/mm/mem_sharing.c b/xen/arch/x86/mm/mem_sharing.c
index 9647e651f9..4f810706a3 100644
--- a/xen/arch/x86/mm/mem_sharing.c
+++ b/xen/arch/x86/mm/mem_sharing.c
@@ -2013,7 +2013,7 @@ int mem_sharing_memop(XEN_GUEST_HANDLE_PARAM(xen_mem_sharing_op_t) arg)
 
     if ( !mem_sharing_enabled(d) &&
          (rc = mem_sharing_control(d, true, 0)) )
-        return rc;
+        goto out;
 
     switch ( mso.op )
     {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 16:46:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 16:46:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638919.995891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qMr-0005FF-0e; Wed, 22 Nov 2023 16:46:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638919.995891; Wed, 22 Nov 2023 16:46: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 1r5qMq-0005F8-TW; Wed, 22 Nov 2023 16:46:24 +0000
Received: by outflank-mailman (input) for mailman id 638919;
 Wed, 22 Nov 2023 16:46: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5qMp-0005F2-Jq
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 16:46:23 +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 aa6bd8c8-8956-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 17:46:21 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40b2c9ee8ecso11088985e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 08:46:21 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 f18-20020adfdb52000000b00332cbda1970sm6997169wrj.30.2023.11.22.08.46.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 08:46:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa6bd8c8-8956-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700671581; x=1701276381; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0nBr/HxEZmBTuCjyQkeGq4JfG7qaAlLFHTaKsmjpPvw=;
        b=M+MJ5AeGKewnpPGCKZlIp43/lAMwmWe/udX+mOH51V4qU7WP5K1XudOUAgTyQKQhb0
         sMERoevENHRibx65OCiN8vfyX5JNiF4ZfoB6jDmr3nbfegdKwaY6rfvyHa0E06PcpDz3
         fbXQPFcdoYK3mEofpKamVgSdPhr3I6SFqyDRQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700671581; x=1701276381;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0nBr/HxEZmBTuCjyQkeGq4JfG7qaAlLFHTaKsmjpPvw=;
        b=cbxmEn3yT8sLECaP90NtL5dMPXpIvMGAwijQCKsNQhtgMykazP09FeKFW8GtKU8N+s
         ACe3lW97BwLsg8nw1bU9zdbJO+UFwVtqHfAHBUi8XGaFvlRciplMnBn82/wH+gG1tuo9
         5F82mqf5O3lZg3qpEg82Bptg6M0gbquw5WEateWrrIzbR1MiJKKmlJxIO6/SRuOQmdUy
         /CZ9WaJzg1uwEkiGpMD4WLJkIIgZ8KU/bgDeoBhfMphCJuHOhUdbROxm/q5HTH45DN+C
         kLhX2AuK+dk7adIic1QAqzh0zcf9vKX375QsGiQlTxqoaMmjeBzeD7f8ettwgG6KdayZ
         8NwA==
X-Gm-Message-State: AOJu0YyQf75q1aaMmQSthKzH7UcmFAT25eWXA7qk9p042bxZTPFmRhK7
	zjmI96a/vrc/RHCunR7x9shbxA==
X-Google-Smtp-Source: AGHT+IGMSlqm9ZwhEXCNxcdxWwKscVi2qoco7jDt+T9PYF1YgxIVFI3XdMLGiHTy6KwXtcWwwW+X8A==
X-Received: by 2002:a5d:64cb:0:b0:332:cbe4:8b0c with SMTP id f11-20020a5d64cb000000b00332cbe48b0cmr2303057wri.58.1700671581023;
        Wed, 22 Nov 2023 08:46:21 -0800 (PST)
Message-ID: <adaa6d55-266d-4df8-8967-9340080d17e4@citrix.com>
Date: Wed, 22 Nov 2023 16:46:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.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>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Simone Ballarin <simone.ballarin@bugseng.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
 <20231122142733.1818331-4-andrew.cooper3@citrix.com>
 <e5476808dbef67bea7ce3902d4d8b3c1@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <e5476808dbef67bea7ce3902d4d8b3c1@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 4:39 pm, Nicola Vetrini wrote:
> On 2023-11-22 15:27, Andrew Cooper wrote:
>> The differences between inline, __inline and __inline__ keywords are a
>> vestigial remnant of older C standards, and in Xen we use inline almost
>> exclusively.
>>
>> Replace __inline and __inline__ with regular inline, and remove their
>> exceptions from the MISRA configuration.
>>
>> 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: Stefano Stabellini <sstabellini@kernel.org>
>> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
>> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> CC: Simone Ballarin <simone.ballarin@bugseng.com>
>>
>> I'm entirely guessing at the Eclair configuration.
>> ---
>
> The configuration changes are ok. One observation below.

Thanks.  Can I take that as an Ack/Reviewed-by ?

>> diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
>> index 04b8bc18df0e..16d554f2a593 100644
>> --- a/xen/include/xen/compiler.h
>> +++ b/xen/include/xen/compiler.h
>> @@ -83,7 +82,7 @@
>>   * inline functions not expanded inline get placed in .init.text.
>>   */
>>  #include <xen/init.h>
>> -#define __inline__ __inline__ __init
>> +#define inline inline __init
>
> The violation of Rule 20.4 (A macro shall not be defined with the same
> name as a keyword) is still present due to this macro.

I was expecting this to come up.

There's a comment half out of context above, but to expand on it, we
have a feature in the build system where if you say obj-y += foo.init.o
then it gets compiled as normal and then all symbols checked for being
in the relevant .init sections.  It's a safeguard around init-only code
ending up in the runtime image (which is good for other goals of safety).

This particular define is necessary to cause out-of-lined static inlines
to end up in the right section, without having to invent a new
__inline_or_init macro and rewriting half the header files in the project.

I think it's going to need a local deviation.  It's deliberate, and all
we're doing is using the inline keyword to hook in an extra __section()
attribute.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:02:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:02:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638925.995901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qc8-0000V5-6O; Wed, 22 Nov 2023 17:02:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638925.995901; Wed, 22 Nov 2023 17:02: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 1r5qc8-0000Uy-3f; Wed, 22 Nov 2023 17:02:12 +0000
Received: by outflank-mailman (input) for mailman id 638925;
 Wed, 22 Nov 2023 17:02: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=y6Xs=HD=cloud.com=frediano.ziglio@srs-se1.protection.inumbo.net>)
 id 1r5qc6-0000Us-KS
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 17:02:10 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de3e1db7-8958-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 18:02:07 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-40891d38e3fso32239865e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 09:02:07 -0800 (PST)
Received: from localhost.localdomain ([185.25.65.68])
 by smtp.gmail.com with ESMTPSA id
 n28-20020a05600c3b9c00b0040772934b12sm51897wms.7.2023.11.22.09.02.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 09:02:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de3e1db7-8958-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700672526; x=1701277326; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=c9oKcdk6bcbM8+ucFOrKoFcZ4qLybvfsm9K7gyn2qAM=;
        b=ON+u/kGe70jhxOHpqzpSWV912SQdrns0ShowhvB/zkVL0wwlmoURqRLovRQxe7YkEd
         rTR9rzIp12nP966TsShgxeXk6XPS2k7m4XnpdRPSXZBfSns6rFV+6QrjOUzlPrO8LzCn
         pJb4lGpux7p+jjUND+8a1I0WP9NIJ+cnf4D8M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700672526; x=1701277326;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=c9oKcdk6bcbM8+ucFOrKoFcZ4qLybvfsm9K7gyn2qAM=;
        b=KVRtUjRxGBdw0W7g13yrT9UZmn8aC3A9Omk7iaxEBtjtK3cZitk+Mi42SX9E9IqGpz
         FkBTFZHwFPLtY9fcSveyt7K+QV8s7kR76+Vwnb0H4bGa69JBQ3RW2bw0b4usoOgY8oBl
         TU3idZsV4CXdB1F/o9JxyxYGrdK9Y1RB45UAgXXNHTFNJCbCongecCms55kwwHFVh0y6
         Mik3BgwigtVEiVfwZjBPHGgwoXKjSqvuMfoT/CXhnUpAUhAHYdj04+MZfUgZ3ubPMjQu
         YRNdxFmz+KceG3KrmroDK3o+19+yYgDicTh/gf4agSwejpJJGHo0/Y9VW0kTd4VrKhrA
         xXSQ==
X-Gm-Message-State: AOJu0Yz0477Euqxm95Qi1LbGm6uaFc/dnu0QcNwuTYyhlboZ4FTD0YMM
	YwpwZOsO/RgRh+rg3pohdAUkxFXFjk6idPwTtO8=
X-Google-Smtp-Source: AGHT+IHuzp7rL8bYJuh0tk6OPWuVdJzVSlhWjocn/IX6fusfKAzC6Vnd6tw2QxhguUVRavM60MyyBg==
X-Received: by 2002:a05:600c:19c6:b0:406:54e4:359c with SMTP id u6-20020a05600c19c600b0040654e4359cmr2249962wmq.19.1700672525647;
        Wed, 22 Nov 2023 09:02:05 -0800 (PST)
From: Frediano Ziglio <frediano.ziglio@cloud.com>
To: xen-devel@lists.xenproject.org
Cc: Frediano Ziglio <frediano.ziglio@cloud.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] x86/ACPI: constify acpi_enter_sleep argument
Date: Wed, 22 Nov 2023 17:01:42 +0000
Message-Id: <20231122170142.15038-1-frediano.ziglio@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Minor style change, structure is not changed.
No functional change.

Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
---
 xen/arch/x86/acpi/power.c       | 2 +-
 xen/arch/x86/include/asm/acpi.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/acpi/power.c b/xen/arch/x86/acpi/power.c
index 81233738b1..861d12aab0 100644
--- a/xen/arch/x86/acpi/power.c
+++ b/xen/arch/x86/acpi/power.c
@@ -342,7 +342,7 @@ static long cf_check enter_state_helper(void *data)
  * Dom0 issues this hypercall in place of writing pm1a_cnt. Xen then
  * takes over the control and put the system into sleep state really.
  */
-int acpi_enter_sleep(struct xenpf_enter_acpi_sleep *sleep)
+int acpi_enter_sleep(const struct xenpf_enter_acpi_sleep *sleep)
 {
     if ( sleep->sleep_state == ACPI_STATE_S3 &&
          (!acpi_sinfo.wakeup_vector || !acpi_sinfo.vector_width ||
diff --git a/xen/arch/x86/include/asm/acpi.h b/xen/arch/x86/include/asm/acpi.h
index 6ce79ce465..68cee10f9a 100644
--- a/xen/arch/x86/include/asm/acpi.h
+++ b/xen/arch/x86/include/asm/acpi.h
@@ -106,7 +106,7 @@ extern s8 acpi_numa;
 extern struct acpi_sleep_info acpi_sinfo;
 #define acpi_video_flags bootsym(video_flags)
 struct xenpf_enter_acpi_sleep;
-extern int acpi_enter_sleep(struct xenpf_enter_acpi_sleep *sleep);
+extern int acpi_enter_sleep(const struct xenpf_enter_acpi_sleep *sleep);
 extern int acpi_enter_state(u32 state);
 
 struct acpi_sleep_info {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:03:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:03:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638928.995911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qdI-00010v-LG; Wed, 22 Nov 2023 17:03:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638928.995911; Wed, 22 Nov 2023 17: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 1r5qdI-00010o-Hz; Wed, 22 Nov 2023 17:03:24 +0000
Received: by outflank-mailman (input) for mailman id 638928;
 Wed, 22 Nov 2023 17:03: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=aeb/=HD=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r5qdH-00010i-M8
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 17:03:23 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a89efc4-8959-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 18:03:21 +0100 (CET)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2c871890c12so64180531fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 09:03:21 -0800 (PST)
Received: from [10.95.134.92] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id
 o7-20020a05600c4fc700b003fefaf299b6sm24729wmq.38.2023.11.22.09.03.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 09:03:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0a89efc4-8959-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700672601; x=1701277401; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:reply-to
         :references:cc:to:content-language:subject:user-agent:mime-version
         :date:message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=kEtUeZ8IRcomJX3U5boVELiXEWRp5E8uCIfp4rw0dVo=;
        b=CYf+5yHVXOi1JGzJCrBtDAahj5q8022leGp42TsKauw4BTdAfPlwt+fJQnkrVb52mV
         9a8W5fJln5lZU6FTG3gFnUUZocB8r3yVU00sRBoLzGzFcvf0yot/7glF5pJlW9u8gLh2
         uz9/ENDds4CNl+O/aPVORM9sTlAFPwH24X2dYoVXOu6CLZ0HV/fQMxnS0WTlNFMdTEJT
         aq0+Ick8f5awImu5koOz9wV5JduFImdMRbeoFtMfj+jmpaoFS+ZYLzb6Gyqo7kxUbdlY
         vfuCWnTY/8MYGx6QIhRJcWD6fvb3P5CWpB+sMJDvF6xt/uwl4EQ34/2czOkXv7Mu8Wae
         n6fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700672601; x=1701277401;
        h=content-transfer-encoding:in-reply-to:organization:reply-to
         :references:cc:to:content-language:subject:user-agent:mime-version
         :date:message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=kEtUeZ8IRcomJX3U5boVELiXEWRp5E8uCIfp4rw0dVo=;
        b=r0ndtUlPj24Jh24eGdCeaw+D5Kdh34j5rYmiMBOajsbXuxHLaAuH4VCns/Qhbj1usf
         CkKhd9qOcn29HMRrzosJIcxwjZLgpZMqsOQOAR5Ae3T+0uCNvSssLPuQU+TZ1IfBfLI3
         zjEIVHQXUkRZdiIgifIX3VqpI3uRLmxViEHFnkCF/8sautOiEGwBrBI2Ob/2pLcLi+fQ
         Vd5rSiYlhuv49kFirpsC0zYIQM8a9uAxYP09GuCe2y2axhZBujlFC3q4Ci8sp4Epm26j
         kq15A8y/c+m1UXM8uNldljzmGfvJ/NhP5tNwpTSu4u6qbeF1VwpniCzQgrr64xd/jGEo
         PUyQ==
X-Gm-Message-State: AOJu0YwujeMCsUeQSrj1jiquhdjI5ZsTuE3k7i57YTrBDsGR4uW/kVGh
	CMsJ9KknWzDpXB1GKe58VJ4=
X-Google-Smtp-Source: AGHT+IGVFrYCPl+0WYrNSHYpgKmNNL26tpHJL5ZgVWSHvOaQgH6SJCnZv7LvHlPBLONBP4Vyt6XHeQ==
X-Received: by 2002:a2e:3a11:0:b0:2c5:3139:2d04 with SMTP id h17-20020a2e3a11000000b002c531392d04mr2181461lja.47.1700672601055;
        Wed, 22 Nov 2023 09:03:21 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <02fcd3c2-afe2-43f4-8a15-7caa85a147f5@xen.org>
Date: Wed, 22 Nov 2023 17:03:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: David Woodhouse <dwmw@amazon.co.uk>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:Block layer core" <qemu-block@nongnu.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-3-volodymyr_babchuk@epam.com>
Reply-To: paul@xen.org
Organization: Xen Project
In-Reply-To: <20231121221023.419901-3-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> was created by QEMU
> 
> Xen PV devices in QEMU can be created in two ways: either by QEMU
> itself, if they were passed via command line, or by Xen toolstack. In
> the latter case, QEMU scans XenStore entries and configures devices
> accordingly.
> 
> In the second case we don't want QEMU to write/delete front-end
> entries for two reasons: it might have no access to those entries if
> it is running in un-privileged domain and it is just incorrect to
> overwrite entries already provided by Xen toolstack, because toolstack
> manages those nodes. For example, it might read backend- or frontend-
> state to be sure that they are both disconnected and it is safe to
> destroy a domain.
> 
> This patch checks presence of xendev->backend to check if Xen PV
> device is acting as a backend (i.e. it was configured by Xen

Technally *all* XenDevice objects are backends.

> toolstack) to decide if it should touch frontend entries in XenStore.
> Also, when we need to remove XenStore entries during device teardown
> only if they weren't created by Xen toolstack. If they were created by
> toolstack, then it is toolstack's job to do proper clean-up.
> 



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:04:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:04:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638930.995921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qe1-0001Wq-T8; Wed, 22 Nov 2023 17:04:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638930.995921; Wed, 22 Nov 2023 17: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 1r5qe1-0001Wj-QK; Wed, 22 Nov 2023 17:04:09 +0000
Received: by outflank-mailman (input) for mailman id 638930;
 Wed, 22 Nov 2023 17:04: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=0DV9=HD=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r5qe0-0001PV-MD
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 17:04:08 +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 25e986d6-8959-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 18:04:07 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-4083f61312eso39540355e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 09:04:07 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 j3-20020a056000124300b0032f7e832cabsm17666878wrx.90.2023.11.22.09.04.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 09:04:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25e986d6-8959-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700672647; x=1701277447; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=tC8eRiwVKQ/6nA/DQub9aamqJlUsebUP0HNGF+qN6Gk=;
        b=ZuI//xYdxtf4HxhJ8bH66wVZDPG9eQ9o3yifI5O+I1VQfJX/mqSP+iwXpfB3ClAdSX
         jXSDIhgb54tOGoKoylP+9Pbuk1VlUeSooZZGdukWWxHKuZMPLyIeqA8uWGsq8luqUKj7
         vZmrg5Pajp0IVT7vS18e1LSwae9sMMbi5Z/Sk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700672647; x=1701277447;
        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:subject:date:message-id:reply-to;
        bh=tC8eRiwVKQ/6nA/DQub9aamqJlUsebUP0HNGF+qN6Gk=;
        b=SW45UjvaecaYiQF8i9j9UihajwezeKOVq/9vCLJ6Li/CS8Gn10/7gri8RQ/xVrUL6J
         iGcen35Fp3Hl/h2V6q7I0pGZuFIqdUxvj2JAJs38A952DLLn22zIFrVS3yj19tbT2M7h
         SlRpIqhIZ4uoXCsqsNGhy9nc/UjioylwYzAbHT665sNxUL/OVZpw5/HrsoDrF6UrO5Ry
         RolX2Ie+oTS6TJlt28FaRMQXhq4+8ISp8O2QHxK4+DM/NgaejKFymHopiS/ylTFNEARM
         +HvPT60crCizbkj5LsLSYXzvvZjIPIDTC9sU80/ajUpS77OKFNA6N/WRst1mVa0FyVsl
         8BpQ==
X-Gm-Message-State: AOJu0YwcmkX4m8VQXiY6q1rWYrtGP+rV/DbRYmNQJPa48YeNdyDfQKMF
	rm1f44dZJccrI9dE0eu+jXSDTw==
X-Google-Smtp-Source: AGHT+IEtIeeVD6vhiSN7rHYZbAhwN31kK+OfiRf8RXZ9BDCjDZi7Lbqjxrzz5tYhSSt1prf5DiGJkw==
X-Received: by 2002:a5d:6e55:0:b0:332:d71f:3be8 with SMTP id j21-20020a5d6e55000000b00332d71f3be8mr308253wrz.4.1700672647162;
        Wed, 22 Nov 2023 09:04:07 -0800 (PST)
Date: Wed, 22 Nov 2023 18:04:06 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v2] xen/x86: On x2APIC mode, derive LDR from APIC_ID
Message-ID: <ZV40hlVVvt5pyk26@macbook>
References: <20231121162604.19405-1-alejandro.vallejo@cloud.com>
 <ZV4EsjpoPThN5YME@macbook>
 <655e1a3a.050a0220.137b8.9238@mx.google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <655e1a3a.050a0220.137b8.9238@mx.google.com>

On Wed, Nov 22, 2023 at 03:11:52PM +0000, Alejandro Vallejo wrote:
> On Wed, Nov 22, 2023 at 02:40:02PM +0100, Roger Pau Monné wrote:
> > On Tue, Nov 21, 2023 at 04:26:04PM +0000, Alejandro Vallejo wrote:
> > > diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> > > index a8e87c4446..7f169f1e5f 100644
> > > --- a/xen/arch/x86/hvm/vlapic.c
> > > +++ b/xen/arch/x86/hvm/vlapic.c
> > > @@ -1061,13 +1061,23 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
> > >      .write = vlapic_mmio_write,
> > >  };
> > >  
> > > +static uint32_t x2apic_ldr_from_id(uint32_t id)
> > > +{
> > > +    return ((id & ~0xF) << 12) | (1 << (id & 0xF));
> > 
> > Seeing other usages in vlapic.c I think the preference is to use lower
> > case for hex numbers.
> I thought it was covered by a MISRA rule, but it seems to apply only to the
> literal suffixes. Fair enough, I'll revert to lowercase.

FWIW, I'm thinking that I want to move x2apic_ldr_from_id() to a
header file, so that it can also be used by the native APIC driver in
order to detect when the LDR field is not configured according to the
spec (so adding a consistency check in
init_apic_ldr_x2apic_cluster()).

Anyway, might look into doing that after this patch is in.

> > > +    else if ( bad_ldr == vlapic->loaded.ldr )
> > >          /*
> > > -         * This is optional: ID != 0 contradicts LDR == 1. It's being added
> > > -         * to aid in eventual debugging of issues arising from the fixup done
> > > -         * here, but can be dropped as soon as it is found to conflict with
> > > -         * other (future) changes.
> > > +         * This is a migration from a broken Xen between 4.4 and 4.18 and we
> > > +         * must _PRESERVE_ LDRs so new vCPUs use consistent derivations. In
> > > +         * this case we set this domain boolean so future CPU hotplugs
> > > +         * derive an LDR consistent with the older Xen's broken idea of
> > > +         * consistency.
> > >           */
> > > -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
> > > -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
> > > -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
> > > -                   vlapic_vcpu(vlapic), id);
> ... these. But they _seem_ bogus for several reasons. And I just got rid of
> them on these grounds:
> 
>   * It's using the GET_xAPIC_ID() macro on the register, but the LAPIC is
>     not in xAPIC mode (due to the previous check), so the legacy APIC must
>     be derived from the lowest octet, not the highest. That macro is meant
>     to be used on the MMIO register, not the MSR one.
>   * The printk (wants to be) triggered when the ID field is not "canonical"
>     OR the x2APIC ID is not a pure xAPIC ID. Neither of these things are
>     problems per se, the former just happens to be true at the moment, but
>     the latter may very well not be, and that shouldn't trigger a scary
>     printk.
>   * The error message seems to imply the effective APIC ID eventually left
>     loaded is the bogus one, but that's not the case.
> 
> Actually, I might just move the printk into a separate else in line with
> your previous suggestion.

Sounds good.  And I agree that using {GET,SET}_xAPIC_ID() on the
x2APIC 32bit width IDs looks to be wrong.

> > >  static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
> > > diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
> > > index 6e53ce4449..a42a6e99bb 100644
> > > --- a/xen/arch/x86/include/asm/hvm/domain.h
> > > +++ b/xen/arch/x86/include/asm/hvm/domain.h
> > > @@ -61,6 +61,19 @@ struct hvm_domain {
> > >      /* Cached CF8 for guest PCI config cycles */
> > >      uint32_t                pci_cf8;
> > >  
> > > +    /*
> > > +     * Xen had a bug between 4.4 and 4.18 by which the x2APIC LDR was
> > > +     * derived from the vcpu_id rather than the x2APIC ID. This is wrong,
> > > +     * but changing this behaviour is tricky because guests might have
> > > +     * already read the LDR and used it accordingly. In the interest of not
> > > +     * breaking migrations from those hypervisors we track here whether
> > > +     * this domain suffers from this or not so a hotplugged vCPU or an APIC
> > > +     * reset can recover the same LDR it would've had on the older host.
> > > +     *
> > > +     * Yuck!
> > > +     */
> > > +    bool has_inconsistent_x2apic_ldr_bug;
> > 
> > Could you place the new field after the existing boolean fields in the
> > struct? (AFAICT there's plenty of padding left there)
> Sure. I placed it somewhere with unused padding. (that u32 is sandwiched
> between an "unsigned long" and a pointer), but I'm happy to stash it with
> the other booleans.

Yes, there's plenty of padding but I feel it's better to place it with
the rest of the booleans, as there's also padding there.

> > 
> > I also think the field name is too long, I would rather use
> > x2apic_ldr_vcpu_id for example (to note that LDR is calculated from
> > vCPU ID rather than APIC ID).
> I made it intentionally long so it can't be missed that it's a workaround
> and not architectural behaviour. Would you consider
> "x2apic_ldr_bug_vcpu_id" acceptable? I'd rather keep at least the "bug"
> part of the identifier around so it's not lost to time that this is a
> workaround marker and nothing else

OK, if you think mentioning `bug` is helpful, I think it would be best
placed as a prefix: bug_x2apic_ldr_vcpu_id.  Having it in the middle
of the field name makes it harder to spot.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:05:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:05:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638935.995931 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qfI-0002Gn-7S; Wed, 22 Nov 2023 17:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638935.995931; Wed, 22 Nov 2023 17:05: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 1r5qfI-0002Gg-4y; Wed, 22 Nov 2023 17:05:28 +0000
Received: by outflank-mailman (input) for mailman id 638935;
 Wed, 22 Nov 2023 17:05: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=aeb/=HD=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r5qfG-0002GR-K9
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 17:05:26 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 54669d9f-8959-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 18:05:25 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-40b344101f2so248825e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 09:05:25 -0800 (PST)
Received: from [10.95.134.92] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id
 je19-20020a05600c1f9300b004090798d29csm41802wmb.15.2023.11.22.09.05.23
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 09:05:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 54669d9f-8959-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700672725; x=1701277525; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=I0J5fqyt8wQQyv6C5hr9LFPK+QBnNAlvdW52k/8SMic=;
        b=D7crWWrdOlcz+TGhu2J/x98+0roKq+Vw65cC2V+wqqNW0Fyk8m4P0SoVIzs9Zfkure
         U1tBntJsRPtdULffwgjTHqxY6zcASNmw/nASqoXPnwds2Fp3Kh3hHi2++jsoThahX+vM
         LnfGLoDnBscln2x5Ts+c3t8VF/iUzmErdcxd3At5+9rlA9buQaLL33hSFvBE8NgePyPS
         rtXSAtAG7XmhZ67vG5jMl/ZloI6zh43Hb1fbl/a2acvNbtCKare920z4Ep3uHNlqc0vm
         MCewb6Wh1DM9wrSrFLYCMKaQGqnwsfhqIC1khWWGFcb/EEeqYIyN9MaWdObityAtHAks
         1FOw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700672725; x=1701277525;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=I0J5fqyt8wQQyv6C5hr9LFPK+QBnNAlvdW52k/8SMic=;
        b=VUDuONyx0sT2GhOd3GcVdCaVJ8P5E3JpJ2cpqQpNvDTSKECIWJCg62DhodKKHI+xZk
         AMu53fEEjmcO5wHkI91GOvy5g6MljyxqZ5AQ8OIQf0kSeFJEWzJZmAjbRzhRFyyN1CHf
         6dWQSjhkp3SauesZb2a+6r20CHep5JmziUxAB8VlyjRhitqTPwyfRzppyYiQD125+eXH
         Mpmj32/YCC4Gaj69Wjo9S2pasBQFx4TOOzzqCECf9BcDEyN115FgEc9uZqTE1aPcJAh8
         FwWBvQLeFx80sE4qo/66RczOVfnOQ6melrTQdA7uApS1yGqJW0OEt/r58e0u8GWBaByi
         WHew==
X-Gm-Message-State: AOJu0YzbkEs7IiouV4OBHJa2lb+hD8x4ZM/ZbxPoJ0e/ayF0hlSh1BTt
	Oz9L7Ii84XNuDFsKqlnxEB8=
X-Google-Smtp-Source: AGHT+IEekpdm4N30KUcOe9rHlR/EVEZelxqqJbkx9shFbPTurKDYLNG5QWTqQ/mqdsgflEk5QYRwpw==
X-Received: by 2002:a05:600c:1d12:b0:40b:2a62:a2b6 with SMTP id l18-20020a05600c1d1200b0040b2a62a2b6mr85353wms.1.1700672724957;
        Wed, 22 Nov 2023 09:05:24 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <e1663064-247d-41e3-9a36-16f81303fb94@xen.org>
Date: Wed, 22 Nov 2023 17:05:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: David Woodhouse <dwmw@amazon.co.uk>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
 "open list:Block layer core" <qemu-block@nongnu.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-2-volodymyr_babchuk@epam.com>
Organization: Xen Project
In-Reply-To: <20231121221023.419901-2-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> From: David Woodhouse <dwmw@amazon.co.uk>
> 
> This allows a XenDevice implementation to know whether it was created
> by QEMU, or merely discovered in XenStore after the toolstack created
> it. This will allow us to create frontend/backend nodes only when we
> should, rather than unconditionally attempting to overwrite them from
> a driver domain which doesn't have privileges to do so.
> 
> As an added benefit, it also means we no longer have to call the
> xen_backend_set_device() function from the device models immediately
> after calling qdev_realize_and_unref(). Even though we could make
> the argument that it's safe to do so, and the pointer to the unreffed
> device *will* actually still be valid, it still made my skin itch to
> look at it.
> 
> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> ---
>   hw/block/xen-block.c         | 3 +--
>   hw/char/xen_console.c        | 2 +-
>   hw/net/xen_nic.c             | 2 +-
>   hw/xen/xen-bus.c             | 4 ++++
>   include/hw/xen/xen-backend.h | 2 --
>   include/hw/xen/xen-bus.h     | 2 ++
>   6 files changed, 9 insertions(+), 6 deletions(-)
> 

Actually, I think you should probably update 
xen_backend_try_device_destroy() in this patch too. It currently uses 
xen_backend_list_find() to check whether the specified XenDevice has an 
associated XenBackendInstance.

   Paul



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:07:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:07:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638939.995941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qhI-00037l-Hq; Wed, 22 Nov 2023 17:07:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638939.995941; Wed, 22 Nov 2023 17:07: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 1r5qhI-00037e-F0; Wed, 22 Nov 2023 17:07:32 +0000
Received: by outflank-mailman (input) for mailman id 638939;
 Wed, 22 Nov 2023 17: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=aeb/=HD=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r5qhG-00037Y-Sa
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 17:07:30 +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 9e6cd5eb-8959-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 18:07:30 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3316c6e299eso3357371f8f.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 09:07:29 -0800 (PST)
Received: from [10.95.134.92] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id
 j3-20020a056000124300b0032f7e832cabsm17673508wrx.90.2023.11.22.09.07.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 09:07:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e6cd5eb-8959-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700672849; x=1701277649; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=6fGZPxbwGMY3QWkow4475z+MXvadUM3v7KWn5MxJLcs=;
        b=RKAE16f8jvtbIqHWMzlHP8WJJ8q4htT63vKklXo6pR7Rldw6aLcYj5oQ6gpPzzFJcV
         V/d4ZT4kTfcjzNcNOFKVcMWdHY+hY5ECU+uFDZXwe6d9L9uPUJkpa1ZJ2w2hTW3VRcm1
         AUb2JH5G0fYd+1INVvaW+gfkePpCI4Pngi8eK1Or+A1en1lbFUFEv3gzc0YkDlBB1B2k
         upTga8VPUcwdtKy+6LErmGwS8QioY7HNjpLxw115QHIFk3MRiuWdwajH1Eo6alTfuWuy
         Tt8ILkym13G3WUhgzQ8ouaTUQEiG9pv2lKlz0Ec1S9O69hDjXBv/5dRTaR94ApmEMuA9
         GTXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700672849; x=1701277649;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=6fGZPxbwGMY3QWkow4475z+MXvadUM3v7KWn5MxJLcs=;
        b=rbWaiJ4eScJzVaGetZDbXDX/8gj0qi+zASp4/8KHSuVq33DwB1pYh9vOrOoqyPCop6
         ohpjnrm+o4WXXqsePqZ0Vuufg3wHgttVdOLb8TNer5l+Jv+uaWRH0l7c0MrNgkjKHwZh
         xfRDM/kXcnoNkAt9MOhelJVaP+Xl0NognWzR3MPmYZ+XuQ8H2Bei7zjqkhbE32tshGnF
         xNFmZRNuDmBP5be8znQYpR4Wdmr0srLu9PBqq8SjDZz+QkUB5XrgrufdgulnlcLq7MBT
         kqzyu+z3VgCZZvTyAO48olqg30lp2ehLEQBJAgkxQeK27VP8vfBeuPiC0Cib0gSnI/w+
         1few==
X-Gm-Message-State: AOJu0YwPosA+XkLCoVK8lrcdvkiVdpALqrCGMlEPwvxPNQsBHyE5wwVG
	qH+b2S4eYTiY6W1gtWXQulw=
X-Google-Smtp-Source: AGHT+IFsCnypPtHuEh0bNMMwNDbRPFPmk2JKHo2KVYW81JB+V3OGjDLa5vUOmIkzPbDLF5Q1hxT3Yw==
X-Received: by 2002:a05:6000:b87:b0:331:6a36:a05f with SMTP id dl7-20020a0560000b8700b003316a36a05fmr1950659wrb.65.1700672849171;
        Wed, 22 Nov 2023 09:07:29 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <c9b15b1c-e86b-45b4-b348-8c9edde5e60d@xen.org>
Date: Wed, 22 Nov 2023 17:07:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 3/6] xen: xenstore: add possibility to preserve owner
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: David Woodhouse <dwmw@amazon.co.uk>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 David Woodhouse <dwmw2@infradead.org>, "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
 Paolo Bonzini <pbonzini@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>,
 Anthony Perard <anthony.perard@citrix.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-4-volodymyr_babchuk@epam.com>
Organization: Xen Project
In-Reply-To: <20231121221023.419901-4-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> Add option to preserve owner when creating an entry in Xen Store. This
> may be needed in cases when Qemu is working as device model in a

*may* be needed?

I don't undertstand why this patch is necessary and the commit comment 
isn't really helping me.

> domain that is Domain-0, e.g. in driver domain.
> 
> "owner" parameter for qemu_xen_xs_create() function can have special
> value XS_PRESERVE_OWNER, which will make specific implementation to
> get original owner of an entry and pass it back to
> set_permissions() call.
> 
> Please note, that XenStore inherits permissions, so even if entry is
> newly created by, it already has the owner set to match owner of entry
> at previous level.
> 
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:10:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:10:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638943.995950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qjg-0003uU-VU; Wed, 22 Nov 2023 17:10:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638943.995950; Wed, 22 Nov 2023 17: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 1r5qjg-0003uM-Su; Wed, 22 Nov 2023 17:10:00 +0000
Received: by outflank-mailman (input) for mailman id 638943;
 Wed, 22 Nov 2023 17:09: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 1r5qjf-0003u3-Bc; Wed, 22 Nov 2023 17:09: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 1r5qjf-000413-7O; Wed, 22 Nov 2023 17:09: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 1r5qje-0003hZ-Ry; Wed, 22 Nov 2023 17:09:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5qje-0004gI-RU; Wed, 22 Nov 2023 17: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=jFEgGaH+qv0SLguTDgrrfv6TQWWUUnl4F8fRLr6YN6k=; b=3OSOFDhHTPjb/OAX3jVqD143h1
	P0D9XWzE5lIvtQhNXxjnevoQJhj8fsu082QKho2DmwNx1MYIdQg056ASWHQPQtsPy10v/qgkWvmHx
	6l/HO1ncZmx89ZFZ8FuTjYmV1Z0NIdJRVG5DjJNdDubr+ulruBwPuhDq3zfqGqy8MMlg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183826-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183826: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=c22fe7213c9b1f99cbc64c33e391afa223f9cd08
X-Osstest-Versions-That:
    xen=820ee3ec4dd5679715bd49a1d12b81cb1502260c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Nov 2023 17:09:58 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  c22fe7213c9b1f99cbc64c33e391afa223f9cd08
baseline version:
 xen                  820ee3ec4dd5679715bd49a1d12b81cb1502260c

Last test of basis   183817  2023-11-22 02:03:46 Z    0 days
Testing same since   183826  2023-11-22 14:00:36 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   820ee3ec4d..c22fe7213c  c22fe7213c9b1f99cbc64c33e391afa223f9cd08 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:11:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:11:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638949.995960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5qlU-0005U7-Dv; Wed, 22 Nov 2023 17:11:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638949.995960; Wed, 22 Nov 2023 17:11: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 1r5qlU-0005U0-BS; Wed, 22 Nov 2023 17:11:52 +0000
Received: by outflank-mailman (input) for mailman id 638949;
 Wed, 22 Nov 2023 17:11: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=aeb/=HD=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r5qlS-0005Tu-B5
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 17:11: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 390bee8d-895a-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 18:11:49 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40b2ad4953cso6541055e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 09:11:49 -0800 (PST)
Received: from [10.95.134.92] (54-240-197-234.amazon.com. [54.240.197.234])
 by smtp.gmail.com with ESMTPSA id
 i16-20020a05600c355000b003fc0505be19sm44748wmq.37.2023.11.22.09.11.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 09:11:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 390bee8d-895a-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700673109; x=1701277909; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=wD1Osv68moY2wmNYERX6SE0aq7IXfRHUNiLz0dpPw9w=;
        b=gVuOsBd+LA2SLqEF3HAShijqCSdvJPtwVwjvRxvYkJgyrl3XEAGw5KvJlU486+h2rG
         8op6fMz28nUZgAAV2lORZh305Z1nMMm8wqdhP2O4KBfMGzQc4+Xwgjy9Hp9fkBPkDjSz
         /kPVxfQr8zAIaGcCSJiJ33WBGlOhdTguw9ZOs3ltXDJgVG/TH/YNYAQ8RIF+wklZhqKo
         k5InTmRC5FnU4kXkBAUbCxkc+O8mEqG/fT/AJnHUWsKJPsyq73hxCigPYxX12IayRs6E
         d1Kav+YTm43AQLecJm5Cdn3Q/4lCa9WJ7v2/+ixs+hrK2Hh9GcXrsMOS1DIY4m5ATk1X
         l2PQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700673109; x=1701277909;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wD1Osv68moY2wmNYERX6SE0aq7IXfRHUNiLz0dpPw9w=;
        b=Lq4jf3hy5e1WW6V0qsq/OxFn6/wr+8sC2H9sn/KaLy0q20ynTJKPyQWJIMFueCJmvH
         /BhDrgrR3FSjYZ3mwFcacrDJpUaLZzYDD9H96fMs66ZSgi9FPPM4WGhELvms1q5DQQTn
         QxLUuPT5qhDVUdyuhU4o7KSp/IMRNrZ1gdmu+jl+T7vxiepSO6HY5MbB8QcQoBw3cT+6
         L8gKqNY4NYTKKJ892UcJ5MQgk7tXJKpFC71PwdfhcQzIaI8Q/SprUn+8A9INgDxgprMA
         RH21wGax1Kds5niUKb6EE5C4qsresDIyBlKb78/Az4/1hD9fPiShx2EeVmsa91r+vmDp
         Gj7A==
X-Gm-Message-State: AOJu0Yw2Zmh9nUc7R+Z1eEZVkccg7gzAbo7QhxAoi7qnxcLVVFeW4TTa
	qca4teMAHOHB9+jD/MQ398M=
X-Google-Smtp-Source: AGHT+IHlFn1oy68B82kGrutJ1vBhDlOH4mto5RqdBz1ZBta1MhC8vRAp0CKHAUcgl2mg05DpKVubbA==
X-Received: by 2002:a05:600c:1c9f:b0:40b:2a08:c45e with SMTP id k31-20020a05600c1c9f00b0040b2a08c45emr104751wms.3.1700673108689;
        Wed, 22 Nov 2023 09:11:48 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
Date: Wed, 22 Nov 2023 17:11:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Cc: David Woodhouse <dwmw@amazon.co.uk>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
Organization: Xen Project
In-Reply-To: <20231121221023.419901-5-volodymyr_babchuk@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to
> inherit the owner of the directory.

Ah... so that's why the previous patch is there.

This is not the right way to fix it. The QEMU Xen support is *assuming* 
that QEMU is either running in, or emulating, dom0. In the emulation 
case this is probably fine, but the 'real Xen' case it should be using 
the correct domid for node creation. I guess this could either be 
supplied on the command line or discerned by reading the local domain 
'domid' node.

> 
> Note that for other than Dom0 domain (non toolstack domain) the
> "driver_domain" property should be set in domain config file for the
> toolstack to create required directories in advance.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> ---
>   hw/xen/xen_pvdev.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
> index c5ad71e8dc..42bdd4f6c8 100644
> --- a/hw/xen/xen_pvdev.c
> +++ b/hw/xen/xen_pvdev.c
> @@ -60,7 +60,8 @@ void xen_config_cleanup(void)
>   
>   int xenstore_mkdir(char *path, int p)
>   {
> -    if (!qemu_xen_xs_create(xenstore, 0, 0, xen_domid, p, path)) {
> +    if (!qemu_xen_xs_create(xenstore, 0, XS_PRESERVE_OWNER,
> +                            xen_domid, p, path)) {
>           xen_pv_printf(NULL, 0, "xs_mkdir %s: failed\n", path);
>           return -1;
>       }



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:36:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:36:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638958.995971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5r9Z-0004Fh-Fa; Wed, 22 Nov 2023 17:36:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638958.995971; Wed, 22 Nov 2023 17: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 1r5r9Z-0004Fa-CL; Wed, 22 Nov 2023 17:36:45 +0000
Received: by outflank-mailman (input) for mailman id 638958;
 Wed, 22 Nov 2023 17:36: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=f1AL=HD=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r5r9Y-0004FU-Ud
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 17:36:44 +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 b3b118a0-895d-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 18:36:43 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40b344101f2so459885e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 09:36:43 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 fk4-20020a05600c0cc400b004068495910csm130148wmb.23.2023.11.22.09.36.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 09:36:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b3b118a0-895d-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700674603; x=1701279403; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=qdaaiWiaeEeZMUMcYPxtcc3iXmAuzpoGBdoaGAL9Y6Y=;
        b=lk+ARGzUljosHRSLQyx9A1JUmw4/1RLyK+xTerCHyQ1GuoxxDmAENpdyQwcpVDENc0
         q/PzW+ePCUS9tcK0r4d3NF7VB4gvrmA7ZF1U1uYa7O94kD8GAqrBVxu2Wlazguzk3Nlz
         tGYopevbY0a9KNHucVHQKEN9ZNsxy6Gqi/WL4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700674603; x=1701279403;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=qdaaiWiaeEeZMUMcYPxtcc3iXmAuzpoGBdoaGAL9Y6Y=;
        b=peD9TdO88RHe01VFsyj2A7lVbs52qrAGJqmHAP6mQa2h/+90+2MDOsIGYxR00N6ngu
         /ZyiFwedspPtJYGVLBEiQ5u9oLT9ruysHUPcLEp14CTaIe10y+MC+NnfF//w/GB1oUeq
         gjyMTfZwWvLdjyg96D1LbosmaHvZKDytUJvnL7M7NMbl9b+/4Hx5qtIGDmd4U8l3UcF3
         KUPEQq95wLrZ+5gxuskV3UefzqdmNXBxM0WoX2vq5xAHKyxcKlk/kUcaN9zAdzFf3xYN
         9I1t3b1p/jS07+vDc+zZRE1YgxD3n40hskYvTRN9/QB7MIreXjQXFbKNX1B2z7qN4jZ8
         QmGw==
X-Gm-Message-State: AOJu0Yz4fzaf1BBHcb3QSE8CTk6dH5SiujzILHMM+xG1w+z2FXBswv2e
	hnzrsy6B7M4uQBDGurRpy1qoyZ633DnwezP6GUk=
X-Google-Smtp-Source: AGHT+IGx/rLKU1wJk4wNRfuLPdtPCTgHgCYzKKnuwORqkDqH6NsXMoUTuZrpim8VN83S1iIgbJFi3A==
X-Received: by 2002:a05:600c:45d2:b0:405:19dd:ad82 with SMTP id s18-20020a05600c45d200b0040519ddad82mr144244wmo.16.1700674602710;
        Wed, 22 Nov 2023 09:36:42 -0800 (PST)
Message-ID: <655e3c2a.050a0220.eedc6.0b67@mx.google.com>
X-Google-Original-Message-ID: <ZV48JyxD06zs9CfV@EMEAENGAAD19049.>
Date: Wed, 22 Nov 2023 17:36:39 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3] xen/x86: On x2APIC mode, derive LDR from APIC ID
References: <20231122160817.15266-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231122160817.15266-1-alejandro.vallejo@cloud.com>

On Wed, Nov 22, 2023 at 04:08:17PM +0000, Alejandro Vallejo wrote:
> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> registers are derivable from each other through a fixed formula.
> 
> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> rather than x2APIC IDs (which are not, at the moment). As I understand it,
> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> x2APIC ID and internally derive LDR (or the other way around)
> 
> This patch fixes the implementation so we follow the rules in the x2APIC
> spec(s) and covers migrations from broken hypervisors, so LDRs are
> preserved even for hotppluggable CPUs and across APIC resets.
> 
> While touching that area, I removed the existing printk statement in
> vlapic_load_fixup() (as the checks it performed didn't make sense in x2APIC
> mode and wouldn't affect the outcome) and put another printk as an else
> branch so we get warnings trying to load nonsensical LDR values we don't
> know about.
> 
> Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
> v3:
>   * Removed underscores from (x2)APIC_ID in commit message
>   * Added commit msg explaining the removal of the vlapic_load_fixup() printk
>   * Restored lowercase to hex "F"s
>   * Refactored a bit vlapic_load_fixup() so it has a trailing printk in
>     case of spotting a nonsensical LDR it doesn't understand.
>   * Moved field in domain.h with the other booleans
>   * Trimmed down field name in domain.h
>   * Trimmed down field comment in domain.h
> 
> If the field name in domain.h still seems too long I'm happy for it to be
> trimmed further down, but I do want to preserve the "_bug_" part of it.
I sent this one before Roger had a chance to reply to my reply on v2, which was...

> 
> OK, if you think mentioning `bug` is helpful, I think it would be best
> placed as a prefix: bug_x2apic_ldr_vcpu_id.  Having it in the middle
> of the field name makes it harder to spot.
> 
> Thanks, Roger.
... and I'm fine with that adjustment here.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:40:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:40:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638961.995980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5rDM-0007W6-W6; Wed, 22 Nov 2023 17:40:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638961.995980; Wed, 22 Nov 2023 17: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 1r5rDM-0007Vz-T6; Wed, 22 Nov 2023 17:40:40 +0000
Received: by outflank-mailman (input) for mailman id 638961;
 Wed, 22 Nov 2023 17:40: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=E1Gm=HD=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r5rDM-0007Vt-8e
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 17:40:40 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3ec89aca-895e-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 18:40:37 +0100 (CET)
Received: from [192.168.1.9] (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id EC25C4EE073C;
 Wed, 22 Nov 2023 18:40:35 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3ec89aca-895e-11ee-9b0e-b553b5be7939
Message-ID: <2519be0c-6198-4cbe-85eb-829f7b2f2a17@bugseng.com>
Date: Wed, 22 Nov 2023 18:40:35 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
 <20231122142733.1818331-4-andrew.cooper3@citrix.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <20231122142733.1818331-4-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 22/11/23 15:27, Andrew Cooper wrote:
> The differences between inline, __inline and __inline__ keywords are a
> vestigial remnant of older C standards, and in Xen we use inline almost
> exclusively.
> 
> Replace __inline and __inline__ with regular inline, and remove their
> exceptions from the MISRA configuration.
> 
> 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: Stefano Stabellini <sstabellini@kernel.org>
> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> CC: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> I'm entirely guessing at the Eclair configuration.
> ---
>   .../eclair_analysis/ECLAIR/toolchain.ecl      |  6 +++---
>   docs/misra/C-language-toolchain.rst           |  2 +-
>   xen/arch/x86/include/asm/apic.h               | 20 +++++++++----------
>   xen/include/acpi/cpufreq/cpufreq.h            |  4 ++--
>   xen/include/xen/bitops.h                      |  4 ++--
>   xen/include/xen/compiler.h                    |  7 +++----
>   6 files changed, 21 insertions(+), 22 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/toolchain.ecl b/automation/eclair_analysis/ECLAIR/toolchain.ecl
> index e6cd289b5e92..71a1e2cce029 100644
> --- a/automation/eclair_analysis/ECLAIR/toolchain.ecl
> +++ b/automation/eclair_analysis/ECLAIR/toolchain.ecl
> @@ -15,7 +15,7 @@
>       _Static_assert: see Section \"2.1 C Language\" of "GCC_MANUAL".
>       asm, __asm__: see Sections \"6.48 Alternate Keywords\" and \"6.47 How to Use Inline Assembly Language in C Code\" of "GCC_MANUAL".
>       __volatile__: see Sections \"6.48 Alternate Keywords\" and \"6.47.2.1 Volatile\" of "GCC_MANUAL".
> -    __const__, __inline__, __inline: see Section \"6.48 Alternate Keywords\" of "GCC_MANUAL".
> +    __const__ : see Section \"6.48 Alternate Keywords\" of "GCC_MANUAL".
>       typeof, __typeof__: see Section \"6.7 Referring to a Type with typeof\" of "GCC_MANUAL".
>       __alignof__, __alignof: see Sections \"6.48 Alternate Keywords\" and \"6.44 Determining the Alignment of Functions, Types or Variables\" of "GCC_MANUAL".
>       __attribute__: see Section \"6.39 Attribute Syntax\" of "GCC_MANUAL".
> @@ -23,8 +23,8 @@
>       __builtin_va_arg: non-documented GCC extension.
>       __builtin_offsetof: see Section \"6.53 Support for offsetof\" of "GCC_MANUAL".
>   "
> --config=STD.tokenext,behavior+={c99, GCC_ARM64, "^(_Static_assert|asm|__asm__|__volatile__|__const__|__inline__|typeof|__typeof__|__alignof__|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
> --config=STD.tokenext,behavior+={c99, GCC_X86_64, "^(_Static_assert|asm|__asm__|__volatile__|__const__|__inline__|__inline|typeof|__typeof__|__alignof__|__alignof|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
> +-config=STD.tokenext,behavior+={c99, GCC_ARM64, "^(_Static_assert|asm|__asm__|__volatile__|__const__|typeof|__typeof__|__alignof__|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
> +-config=STD.tokenext,behavior+={c99, GCC_X86_64, "^(_Static_assert|asm|__asm__|__volatile__|__const__|typeof|__typeof__|__alignof__|__alignof|__attribute__|__builtin_types_compatible_p|__builtin_va_arg|__builtin_offsetof)$"}
>   -doc_end
>   
>   -doc_begin="Non-documented GCC extension."
> diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
> index 2866cb191b1a..b7c2000992ac 100644
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -84,7 +84,7 @@ The table columns are as follows:
>             see Sections "6.48 Alternate Keywords" and "6.47 How to Use Inline Assembly Language in C Code" of GCC_MANUAL.
>          __volatile__:
>             see Sections "6.48 Alternate Keywords" and "6.47.2.1 Volatile" of GCC_MANUAL.
> -       __const__, __inline__, __inline:
> +       __const__:
>             see Section "6.48 Alternate Keywords" of GCC_MANUAL.
>          typeof, __typeof__:
>             see Section "6.7 Referring to a Type with typeof" of GCC_MANUAL.
> diff --git a/xen/arch/x86/include/asm/apic.h b/xen/arch/x86/include/asm/apic.h
> index 486d689478b2..b20fae7ebc6a 100644
> --- a/xen/arch/x86/include/asm/apic.h
> +++ b/xen/arch/x86/include/asm/apic.h
> @@ -49,12 +49,12 @@ const struct genapic *apic_x2apic_probe(void);
>    * Basic functions accessing APICs.
>    */
>   
> -static __inline void apic_mem_write(unsigned long reg, u32 v)
> +static inline void apic_mem_write(unsigned long reg, u32 v)
>   {
>   	*((volatile u32 *)(APIC_BASE+reg)) = v;
>   }
>   
> -static __inline u32 apic_mem_read(unsigned long reg)
> +static inline u32 apic_mem_read(unsigned long reg)
>   {
>   	return *((volatile u32 *)(APIC_BASE+reg));
>   }
> @@ -63,7 +63,7 @@ static __inline u32 apic_mem_read(unsigned long reg)
>    * access the 64-bit ICR register.
>    */
>   
> -static __inline void apic_wrmsr(unsigned long reg, uint64_t msr_content)
> +static inline void apic_wrmsr(unsigned long reg, uint64_t msr_content)
>   {
>       if (reg == APIC_DFR || reg == APIC_ID || reg == APIC_LDR ||
>           reg == APIC_LVR)
> @@ -72,7 +72,7 @@ static __inline void apic_wrmsr(unsigned long reg, uint64_t msr_content)
>       wrmsrl(MSR_X2APIC_FIRST + (reg >> 4), msr_content);
>   }
>   
> -static __inline uint64_t apic_rdmsr(unsigned long reg)
> +static inline uint64_t apic_rdmsr(unsigned long reg)
>   {
>       uint64_t msr_content;
>   
> @@ -83,7 +83,7 @@ static __inline uint64_t apic_rdmsr(unsigned long reg)
>       return msr_content;
>   }
>   
> -static __inline void apic_write(unsigned long reg, u32 v)
> +static inline void apic_write(unsigned long reg, u32 v)
>   {
>   
>       if ( x2apic_enabled )
> @@ -92,7 +92,7 @@ static __inline void apic_write(unsigned long reg, u32 v)
>           apic_mem_write(reg, v);
>   }
>   
> -static __inline u32 apic_read(unsigned long reg)
> +static inline u32 apic_read(unsigned long reg)
>   {
>       if ( x2apic_enabled )
>           return apic_rdmsr(reg);
> @@ -100,7 +100,7 @@ static __inline u32 apic_read(unsigned long reg)
>           return apic_mem_read(reg);
>   }
>   
> -static __inline u64 apic_icr_read(void)
> +static inline u64 apic_icr_read(void)
>   {
>       u32 lo, hi;
>   
> @@ -115,7 +115,7 @@ static __inline u64 apic_icr_read(void)
>       return ((u64)lo) | (((u64)hi) << 32);
>   }
>   
> -static __inline void apic_icr_write(u32 low, u32 dest)
> +static inline void apic_icr_write(u32 low, u32 dest)
>   {
>       if ( x2apic_enabled )
>           apic_wrmsr(APIC_ICR, low | ((uint64_t)dest << 32));
> @@ -126,13 +126,13 @@ static __inline void apic_icr_write(u32 low, u32 dest)
>       }
>   }
>   
> -static __inline bool apic_isr_read(uint8_t vector)
> +static inline bool apic_isr_read(uint8_t vector)
>   {
>       return (apic_read(APIC_ISR + ((vector & ~0x1f) >> 1)) >>
>               (vector & 0x1f)) & 1;
>   }
>   
> -static __inline u32 get_apic_id(void) /* Get the physical APIC id */
> +static inline u32 get_apic_id(void)
>   {
>       u32 id = apic_read(APIC_ID);
>       return x2apic_enabled ? id : GET_xAPIC_ID(id);
> diff --git a/xen/include/acpi/cpufreq/cpufreq.h b/xen/include/acpi/cpufreq/cpufreq.h
> index b0c860f0ec21..3456d4c95f98 100644
> --- a/xen/include/acpi/cpufreq/cpufreq.h
> +++ b/xen/include/acpi/cpufreq/cpufreq.h
> @@ -148,7 +148,7 @@ extern int cpufreq_driver_getavg(unsigned int cpu, unsigned int flag);
>   extern int cpufreq_update_turbo(int cpuid, int new_state);
>   extern int cpufreq_get_turbo_status(int cpuid);
>   
> -static __inline__ int
> +static inline int
>   __cpufreq_governor(struct cpufreq_policy *policy, unsigned int event)
>   {
>       return policy->governor->governor(policy, event);
> @@ -179,7 +179,7 @@ extern struct cpufreq_driver cpufreq_driver;
>   
>   int cpufreq_register_driver(const struct cpufreq_driver *);
>   
> -static __inline__
> +static inline
>   void cpufreq_verify_within_limits(struct cpufreq_policy *policy,
>                                     unsigned int min, unsigned int max)
>   {
> diff --git a/xen/include/xen/bitops.h b/xen/include/xen/bitops.h
> index edd6817d5356..a88d45475c40 100644
> --- a/xen/include/xen/bitops.h
> +++ b/xen/include/xen/bitops.h
> @@ -127,7 +127,7 @@ static inline int generic_fls64(__u64 x)
>   # endif
>   #endif
>   
> -static __inline__ int get_bitmask_order(unsigned int count)
> +static inline int get_bitmask_order(unsigned int count)
>   {
>       int order;
>       
> @@ -135,7 +135,7 @@ static __inline__ int get_bitmask_order(unsigned int count)
>       return order;   /* We could be slightly more clever with -1 here... */
>   }
>   
> -static __inline__ int get_count_order(unsigned int count)
> +static inline int get_count_order(unsigned int count)
>   {
>       int order;
>   
> diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
> index 04b8bc18df0e..16d554f2a593 100644
> --- a/xen/include/xen/compiler.h
> +++ b/xen/include/xen/compiler.h
> @@ -20,9 +20,8 @@
>   #define likely(x)     __builtin_expect(!!(x),1)
>   #define unlikely(x)   __builtin_expect(!!(x),0)
>   
> -#define inline        __inline__
> -#define always_inline __inline__ __attribute__ ((__always_inline__))
> -#define gnu_inline    __inline__ __attribute__ ((__gnu_inline__))
> +#define always_inline inline __attribute__((__always_inline__))
> +#define gnu_inline    inline __attribute__((__gnu_inline__))
>   #define noinline      __attribute__((__noinline__))
>   
>   #define noreturn      __attribute__((__noreturn__))
> @@ -83,7 +82,7 @@
>    * inline functions not expanded inline get placed in .init.text.
>    */
>   #include <xen/init.h>
> -#define __inline__ __inline__ __init
> +#define inline inline __init
>   #endif
>   
>   #define __attribute_pure__  __attribute__((__pure__))

Reviewed-by: Simone Ballarin <simone.ballarin@bugseng.com>

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 17:41:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 17:41:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638964.995990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5rDy-00080x-8V; Wed, 22 Nov 2023 17:41:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638964.995990; Wed, 22 Nov 2023 17: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 1r5rDy-00080q-5U; Wed, 22 Nov 2023 17:41:18 +0000
Received: by outflank-mailman (input) for mailman id 638964;
 Wed, 22 Nov 2023 17: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=f1AL=HD=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r5rDw-0007Vt-JG
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 17:41:16 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 55767143-895e-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 18:41:15 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-409299277bbso32479615e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 09:41:15 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t16-20020a05600c199000b0040a44179a88sm116125wmq.42.2023.11.22.09.41.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 22 Nov 2023 09:41:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 55767143-895e-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700674874; x=1701279674; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=O4MP/QKQiUr9Us9shiH9LsImv1txtNTDolAbelf0X1M=;
        b=hTBTaDF3pLkGjBm4Lf4HTBvQnVneRjzaliG98iXAAAnyzYqWuUMlDl12o/dadiLx63
         CQD7il1tYwi7ub+SH37yNODpzY43Nny6gzzvSO1vW4+Q2uirqtEtOjKvcgCoYHYRKyBo
         uz6ExQHlLiz4QQZ0qnpfhtxgoIQL5mtbcffBQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700674874; x=1701279674;
        h=in-reply-to:content-disposition:mime-version:references:subject:cc
         :to:from:date:message-id:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=O4MP/QKQiUr9Us9shiH9LsImv1txtNTDolAbelf0X1M=;
        b=TW6M+NIDr6C9hgtvzYwwwwAnOKU7yUFFhn5k9Fa8Q25TtjHKMl+/mpYGoF4MJcrsD0
         ux0NNZpHVolS/YukZ7+Fu78rdowqFW4v46aQF1gk+XCRi8TGfZ741QSPpBHAST3vRfDB
         ug/A9V/7s06bMX21bQfJv66p76FEwtoVbLZ8+pLLPVvhWn6Usb30zJXdjx957fpTySbe
         by2IhVA/iXFfPm1PHTTJWoUyhymd9JUCWxJgYth/aVtmGB/sXsPr9YWTe1XJlXrKPiUw
         yxx5J7QyqF3OsbOAFnek+9uQCbae9oKfeEL8rr4/kyy5fq7Uas68i9XdQs6wSgDtIYC2
         nJxg==
X-Gm-Message-State: AOJu0YwD2qPl99WDYz7p2JpAkiggdI638xoyePcg7EhLgM+7L5szd/Tt
	ibXxI+oSEjlnGz1da2zQcA87Jy2d4/wauB43OW0=
X-Google-Smtp-Source: AGHT+IHGSyqB5/yP2fUUIrRpWuujjLu/yn6cNGVzu4hny178uywvB+EVAErDgyKxmOgdtw49i35wWA==
X-Received: by 2002:a05:600c:3b0c:b0:40a:5806:a617 with SMTP id m12-20020a05600c3b0c00b0040a5806a617mr2166582wms.14.1700674873843;
        Wed, 22 Nov 2023 09:41:13 -0800 (PST)
Message-ID: <655e3d39.050a0220.44374.0cc4@mx.google.com>
X-Google-Original-Message-ID: <ZV49Nz+zYEuARl+5@EMEAENGAAD19049.>
Date: Wed, 22 Nov 2023 17:41:11 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH 6/7] tools/xg: Simplify xc_cpuid_xend_policy() and
 xc_msr_policy()
References: <20231107154921.54979-1-alejandro.vallejo@cloud.com>
 <20231107154921.54979-7-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231107154921.54979-7-alejandro.vallejo@cloud.com>

Hi, while rebasing with something else I noticed that...

On Tue, Nov 07, 2023 at 03:49:20PM +0000, Alejandro Vallejo wrote:
> Remove all duplication in CPUID and MSR xend-style overrides. They had an
> incredible amount of overhead for no good reason.
> 
> After this patch, CPU policy application takes a number of hypercalls to
> recover the policy state and then those are passed to the xend-style
> override code so it can avoid them.
> 
> Furthermore, the ultimate reapplication of the policy to the domain in Xen
> is done only once after both CPUID and MSRs have been fixed up.
> 
> BUG!!! apply_policy is sending the policy after deserialise when it poked
> at it in its serialised form.
> 
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
>  tools/libs/guest/xg_cpuid_x86.c | 261 +++++---------------------------
>  1 file changed, 38 insertions(+), 223 deletions(-)


there's a blunder in the commit message. This was a note to myself to fix
something while in mid-dev, and I did, but then didn't remove the paragraph
from the commit message.

Obviously those last 2 lines before the S-by shouldn't be there.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 18:03:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 18:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638968.996002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5rZB-0004eB-31; Wed, 22 Nov 2023 18:03:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638968.996002; Wed, 22 Nov 2023 18:03: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 1r5rZA-0004e4-TD; Wed, 22 Nov 2023 18:03:12 +0000
Received: by outflank-mailman (input) for mailman id 638968;
 Wed, 22 Nov 2023 18:03: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5rZ9-0004dy-Gp
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 18:03:11 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 65635ddf-8961-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 19:03:10 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2c59a4dd14cso603941fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 10:03:10 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 w18-20020ac87192000000b00421c272bcbasm4594623qto.11.2023.11.22.10.03.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 10:03:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 65635ddf-8961-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700676189; x=1701280989; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qMFIi5C7RD/cST2HmPG2LdSWEdygJSKxWBQ2LmspGB4=;
        b=WZZqJbCXuuZaDkwu7AGM5DVXCr/sjZ7fVk4f6JboAosKnn4ba8UTbbDhzRygHJC+Cq
         ietTp800auXttrcuvX8Bzxp9TJI5ZA9qswn+y8S64H3T/lcbijvVlPPbOG6GeclIxI6D
         j5PWkcaWtFCkk+nHNK7mRLgMKq9CzS8xdlcZo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700676189; x=1701280989;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qMFIi5C7RD/cST2HmPG2LdSWEdygJSKxWBQ2LmspGB4=;
        b=qPH2gleEUbJwKvp+Dzmp6iA4WZNvtX3rcXBjVzKE8569usUOfT4H6hWswZqb9Jt0/D
         DbW7UvHQ26sOdg0XZidJCirSlw3hZikc+JKfkpA7XrkgGjphsNCmhUSU7MAW7xgWVOQ/
         SsAYDi8i4F3vZsRobZlh5dwfz8Dqpw5vPdA6DaBv1wxeundA6dB3ZxYqh+KFVnPM/R5e
         7KNnqzH3t47OjzXTi0GVniJMzHCGxVvJM+4akTXbqIm3ak0lY7ITYHPjT8nsBQ0R6u7l
         r5fy7Nr3X57HmKQ8Bkg2nuF2/kUR4iaRg/c+g/mQy+4wDQjznBTeBZzxg+K0T9T7Cgn2
         T90Q==
X-Gm-Message-State: AOJu0YyQcCHxgdcJLgwrY820CzmNWk4cmmBalURsut5pFxYRhn1QCmZp
	CgG7bMuv0gYrKnDy55Jx1IOAVw==
X-Google-Smtp-Source: AGHT+IFq926xaUtzAiSkiHLu1GjISp8BdkKP5MNpmB85tmLnS+gDdUZjfOBxSewcVoRk1pO3lu4ADw==
X-Received: by 2002:a2e:7e04:0:b0:2c6:f276:34bf with SMTP id z4-20020a2e7e04000000b002c6f27634bfmr786345ljc.45.1700676189429;
        Wed, 22 Nov 2023 10:03:09 -0800 (PST)
Message-ID: <0eb64ed9-a56c-491e-b9b8-a03e90c4c2f1@citrix.com>
Date: Wed, 22 Nov 2023 18:03:06 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.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>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>, Henry Wang <Henry.Wang@arm.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
 <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
 <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
 <3222AE09-B511-490E-8298-8808261DEFAE@arm.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <3222AE09-B511-490E-8298-8808261DEFAE@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 3:49 pm, Luca Fancellu wrote:
>
>> On 21 Nov 2023, at 20:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>
>> On 21/11/2023 8:33 pm, Luca Fancellu wrote:
>>> + CC henry
>>>
>>>> On 21 Nov 2023, at 20:15, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>>
>>>> -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but this
>>>> logic looks incorrect.  It was inherited from the x86 side, where the logic
>>>> was redundant and has now been removed.
>>>>
>>>> In the ARM case it inserts the image name into "xen,xen-bootargs" and there is
>>>> no logic at all to strip this before parsing it as the command line.
>>>>
>>>> The absence of any logic to strip an image name suggests that it shouldn't
>>>> exist there, or having a Xen image named e.g. "hmp-unsafe" in the filesystem
>>>> is going to lead to some unexpected behaviour on boot.
>>>>
>>>> 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: Stefano Stabellini <sstabellini@kernel.org>
>>>> CC: Julien Grall <julien@xen.org>
>>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>>> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
>>>> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>
>>>> v2:
>>>> * New.
>>>>
>>>> I'm afraid that all of this reasoning is based on reading the source code.  I
>>>> don't have any way to try this out in a real ARM UEFI environment.
>>> I will test this one tomorrow on an arm board
> I confirm that booting though UEFI on an arm board works
>
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> Tested-by: Luca Fancellu <luca.fancellu@arm.com>

Thanks, and you confirmed that the first cmdline parameter is still usable?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 18:03:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 18:03:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.638953.996011 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5rZV-0004zO-BV; Wed, 22 Nov 2023 18:03:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 638953.996011; Wed, 22 Nov 2023 18: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 1r5rZV-0004zF-8M; Wed, 22 Nov 2023 18:03:33 +0000
Received: by outflank-mailman (input) for mailman id 638953;
 Wed, 22 Nov 2023 17:16: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=WFg3=HD=gmail.com=dzyuzin21@srs-se1.protection.inumbo.net>)
 id 1r5qpl-0006na-WB
 for xen-devel@lists.xen.org; Wed, 22 Nov 2023 17:16:18 +0000
Received: from mail-qk1-x72d.google.com (mail-qk1-x72d.google.com
 [2607:f8b0:4864:20::72d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d836ed4a-895a-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 18:16:17 +0100 (CET)
Received: by mail-qk1-x72d.google.com with SMTP id
 af79cd13be357-77d55e986ecso139486385a.2
 for <xen-devel@lists.xen.org>; Wed, 22 Nov 2023 09:16:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d836ed4a-895a-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700673375; x=1701278175; darn=lists.xen.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=MELkYOzplcPTEttvjP3Ol7h0KPf50HYqmemdYhuL/aA=;
        b=EMEFRFJjP4028F8PPfQ182NWXVVhTjWksyE1A/PThDb+z1U2FIgUkPFvA3GsR5ZseK
         52hjBzyIcwBUr0Efb04jySp3DkKqj8IqEK3/UHFcXvgTm03jt5gKCJlNJT4kh4O1Mw7p
         9QABYW0I4CE7+Nv8fXd76oT7Zv9uvpGbLC9aBKTEProzxlwUOX30f6Qw1xVmG8+ecTUb
         8VcDv/r5RdGWTA0lZZB5aK5KcjRz4pbcNgm/jMFOQ9hEtoKoZv5v4t38yl1NBkqzDX+j
         6sPpv8n5ZzT0bFhva/SFjxYJTI11r60ghEg5bTWFzmFva4qypsAhoakuNwTd6VztVTuh
         vI3g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700673375; x=1701278175;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=MELkYOzplcPTEttvjP3Ol7h0KPf50HYqmemdYhuL/aA=;
        b=sBw+Y4K7R5RQKtW9B7KG1GEC6rIWrlaaa/NTB4XrXnCbKLSH28o92r4xkhHaXAwlt1
         afgs80XOZeYI6UpkN65HwcjKka30zZJ11+xlCUaneQ3CCHj2sZ7P/o49TvliKvlgRF+I
         TMCprlcjPjjrdRoVbS07b1o9kV58BBSvnaCzZTD6oatV4Z88aR9ayDVo2tgVEEPlAE7A
         sR49MnJdw1ZkEkeepZORKhN5oGpEKUp2dFyXIIhqaPXCt6cVjUifxCLjZr7LaSjyk2Ue
         8mgtWyBeSNqgU4bs0wxsaG93kg/rpNGG1YBYoW4NC66GY7AysFPD2HG+pOLPDd53OAg3
         VDDw==
X-Gm-Message-State: AOJu0YysU/AvOsiSSlSNF85S4mdH5TA5NRvmXavtyX9IWHI/OZ/bb45p
	uvwzAkUXNdMLTxshu31iAGLZiedrORiDw9DxdhS7psknrkdmQw==
X-Google-Smtp-Source: AGHT+IEh/8yNJ9mgd3IsfqntqvwCJd8wseekweF5wlFhwoxl5u0yYSdhtHt34Iwo+S0/7FFGnz+cfyObBI9TAAhiZvg=
X-Received: by 2002:a05:6214:2a88:b0:679:f299:620d with SMTP id
 jr8-20020a0562142a8800b00679f299620dmr3677990qvb.4.1700673375490; Wed, 22 Nov
 2023 09:16:15 -0800 (PST)
MIME-Version: 1.0
From: Dmitry Zyuzin <dzyuzin21@gmail.com>
Date: Wed, 22 Nov 2023 20:16:04 +0300
Message-ID: <CAPAcLADsTDNSw-vka=x25YdGSPi2P+YGZyjcECVoKqo-rJ+UkA@mail.gmail.com>
Subject: Testing Xen v4.17 on ARMv8
To: xen-devel@lists.xen.org
Content-Type: multipart/alternative; boundary="0000000000006cd901060ac0e067"

--0000000000006cd901060ac0e067
Content-Type: text/plain; charset="UTF-8"

Dear Sir or Madam,

I am a firmware developer working on ARM-based SoC. We have recently added
Xen support (v4.17) to our firmware. Now I am trying to find a test
framework for routine testing of Xen on our SoCs.

Unfortunately, wiki.xenproject.org is not very up-to-date, and the
situation with tests (https://wiki.xenproject.org/wiki/Testing_Xen,
https://wiki.xenproject.org/wiki/Category:Test_Day) is even worse.  As far
as I can see, the latest tested version of Xen mentioned there is 4.15. I
found the Smoke test (
https://wiki.xenproject.org/wiki/Xen_ARM_Manual_Smoke_Test). It passes
successfully, but its coverage is quite low.
Besides that, I have found the Xen OSSTest framework (
http://xenbits.xen.org/gitweb/?p=osstest.git;a=summary). If I'm not
mistaken, it was written for internal use approximately in 2013. But
currently, I have not managed to make the framework usable for individual
ad-hoc testing in standalone mode for ARM64.
Also there is mentioned XenRT test (
https://wiki.xenproject.org/wiki/Category:XenRT), but there are no *working*
links for its source code.

Could you kindly tell me:
1. Which tests or test suites would you recommend for testing Xen
(including regression tests)?
2. Where can I find source code of the XenRT test framework?
3.  Is there any clear and up-to-date manual on using and porting the
Osstest?

Sincerely yours,
Dmitry Zyuzin, firmware developer.

--0000000000006cd901060ac0e067
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><font size=3D"4"><span style=3D"font-family:arial,san=
s-serif">Dear Sir or Madam,</span></font></div><div><font size=3D"4"><span =
style=3D"font-family:arial,sans-serif"><br></span></font></div><div><font s=
ize=3D"4"><span style=3D"font-family:arial,sans-serif"><span>I am a firmwar=
e developer working on ARM-based SoC</span>. We have recently added Xen sup=
port (v4.17) to our firmware. Now I am trying to find a test framework for =
routine testing of Xen on our SoCs.</span></font></div><div><font size=3D"4=
"><span style=3D"font-family:arial,sans-serif"><br></span></font></div><div=
><font size=3D"4"><span style=3D"font-family:arial,sans-serif">Unfortunatel=
y, <a href=3D"http://wiki.xenproject.org">wiki.xenproject.org</a> is not ve=
ry up-to-date, and the situation with tests (<a href=3D"https://wiki.xenpro=
ject.org/wiki/Testing_Xen">https://wiki.xenproject.org/wiki/Testing_Xen</a>=
, <a href=3D"https://wiki.xenproject.org/wiki/Category:Test_Day">https://wi=
ki.xenproject.org/wiki/Category:Test_Day</a>) is even worse.=C2=A0<font siz=
e=3D"4"><span style=3D"font-family:arial,sans-serif"> As far as I can see, =
the latest tested version of Xen<span class=3D"gmail-Lm gmail-ng gmail-Vt g=
mail-Vs"> mentioned</span> there is 4.15. </span></font> I found the Smoke =
test (<a href=3D"https://wiki.xenproject.org/wiki/Xen_ARM_Manual_Smoke_Test=
">https://wiki.xenproject.org/wiki/Xen_ARM_Manual_Smoke_Test</a>). It passe=
s successfully, but its coverage is quite low.</span></font></div><div><fon=
t size=3D"4"><span style=3D"font-family:arial,sans-serif">Besides that, I h=
ave found the Xen OSSTest framework (<a href=3D"http://xenbits.xen.org/gitw=
eb/?p=3Dosstest.git;a=3Dsummary">http://xenbits.xen.org/gitweb/?p=3Dosstest=
.git;a=3Dsummary</a>). If I&#39;m not mistaken, it was written for internal=
 use approximately in 2013. But currently, I have not managed to make the f=
ramework usable for individual ad-hoc testing in standalone mode for ARM64.=
 <br></span></font></div><div><font size=3D"4"><span style=3D"font-family:a=
rial,sans-serif">Also there is mentioned XenRT test (<a href=3D"https://wik=
i.xenproject.org/wiki/Category:XenRT">https://wiki.xenproject.org/wiki/Cate=
gory:XenRT</a>), but there are no <b>working</b> links for its source code.=
<br></span></font></div><div><font size=3D"4"><span style=3D"font-family:ar=
ial,sans-serif"><br></span></font></div><font size=3D"4"><span>Could you ki=
ndly tell me:</span></font><div><font size=3D"4"><span style=3D"font-family=
:arial,sans-serif">1. Which tests or test suites would you recommend for te=
sting Xen (including regression tests)?</span></font></div><div><font size=
=3D"4"><span style=3D"font-family:arial,sans-serif">2. Where can I find sou=
rce code of the XenRT test framework?</span></font></div><div><font size=3D=
"4"><span style=3D"font-family:arial,sans-serif">3.=C2=A0 Is there any clea=
r and up-to-date manual on using and porting the Osstest?<br><br></span></f=
ont></div><div><font size=3D"4"><span style=3D"font-family:arial,sans-serif=
">Sincerely yours,</span></font></div><div><font size=3D"4"><span style=3D"=
font-family:arial,sans-serif">Dmitry Zyuzin, firmware developer.</span></fo=
nt><br></div></div>

--0000000000006cd901060ac0e067--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 19:00:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 19:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639083.996037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5sSe-0003U6-Ml; Wed, 22 Nov 2023 19:00:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639083.996037; Wed, 22 Nov 2023 19:00: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 1r5sSe-0003Tz-Jc; Wed, 22 Nov 2023 19:00:32 +0000
Received: by outflank-mailman (input) for mailman id 639083;
 Wed, 22 Nov 2023 19:00: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=e6OV=HD=amd.com=ayan.kumar.halder@srs-se1.protection.inumbo.net>)
 id 1r5sSc-0003T4-Op
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 19:00:30 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20622.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6629d340-8969-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 20:00:28 +0100 (CET)
Received: from SN6PR12MB2621.namprd12.prod.outlook.com (2603:10b6:805:73::15)
 by MW4PR12MB6825.namprd12.prod.outlook.com (2603:10b6:303:20d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 19:00:21 +0000
Received: from SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::517a:f65:688e:c4b1]) by SN6PR12MB2621.namprd12.prod.outlook.com
 ([fe80::517a:f65:688e:c4b1%7]) with mapi id 15.20.7025.017; Wed, 22 Nov 2023
 19:00: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: 6629d340-8969-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FS3BikAmEUdHk/YYN/8JfHiOb+ba3InZRmL3U1YgUnDBGprfJR/5TTHY13Yze+HfUqtZTtB1vF9jM8uo+ZuATyyBNysHAXmxNKDt0btHUGJ/y+ktqJE0O4GO5STDlEOVxtGjrqo6JNaC3tOm3x3RVWNtrWeju1qYgaJoO/0ImTIZl42TtmHQ3dIQZ9wnVMdOJw4fGIlKse2IjvpFmLSM4DZeHtsd3EEDO+mz6HUV4ezLDXbfVX9eFji6OEuGE7EAPUXpWmzT6mNwHghcLbNNst9np2fjfW6pZctDpUhPpMWp/BRovX4t9tQX/RUDU4iMjTbLw18vxWErW1DmtPW8yg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eZWDflHyvSXyxnLDpVXI3Lh4doEAtVUGqRgZZsjAyCY=;
 b=KC0B4GZhfDrcJ8Wf76jBEkbxpzu7c+EIllN9d0rzRY13fmOSqZu2c+9r1rHX3FB7WaX8uKNt40c7X6lYhTs9br8GlXsz8VxZuwMxbN0aNky9ULLpvi2KEKte/EFK0NR1I7nvtSg3ChEjfVEmxJ2IF8hq4eaQAr0zD4IVR/VwoOLNGhatiB02SsEsIfbSnKVWDrmkvvbM086L79jG2ehFXtRQ8APr4TV3TrJOGkBl65x/QxW0ddaISwB+ye8Ct50AcbK6c7zGka4bCHFrHcCDLAY3WPNMSvcw5r7GwXrrOCrmjKPQh26vn56akVgjb/myC0ErqiimO66THlqR0ERLzQ==
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=eZWDflHyvSXyxnLDpVXI3Lh4doEAtVUGqRgZZsjAyCY=;
 b=bPMXSA4qT8uUjXtoGhm5qEUxw4Lb4E1Fk05FX+3Vwx+3bmMmCkD178GUlnxwdhgCOT8J03MD57BgKVXKKS2txHrsN/E+Nr9qgNSUiwBKjvIdSY2HPNVEiQc8udAVmog4t5ArDZigLq8GyFg0NtbfLSXkn+W+WcnZVDZl9S2xx78=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Message-ID: <f0b93b4d-b3b3-43b9-bff1-54399311a977@amd.com>
Date: Wed, 22 Nov 2023 19:00:16 +0000
User-Agent: Mozilla Thunderbird
From: Ayan Kumar Halder <ayankuma@amd.com>
Subject: Enabling more than one HVC console on Arm64 platform
To: amit@kernel.org, Julien Grall <julien@xen.org>,
 Michal Orzel <michal.orzel@amd.com>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>
Cc: arnd@arndb.de, virtualization@lists.linux-foundation.org,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Content-Language: en-GB
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0220.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e4::15) To SN6PR12MB2621.namprd12.prod.outlook.com
 (2603:10b6:805:73::15)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN6PR12MB2621:EE_|MW4PR12MB6825:EE_
X-MS-Office365-Filtering-Correlation-Id: c4797dc4-294b-4a7e-883d-08dbeb8d46b0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M8DZd347f76xnuenAD/0Xh3k4P4cMSB5McbR457Ol4PuAzaPUMOPtZD+meZgX5QiE3+Uo5JTv00kDOE2kKIc1vZ0yV9aEY8/lNR9doQtcjZynan01L6nf3uXdeQC1omTgzC7N/Dxvm22EILD+Hfv1uuJ43PK6AWdme8yIEzDv4eqS2oIrjmOugGmjPQ7m2Ipsmqfx5bAVHafxtwLRjmXOGw0WBRL/huJRTrlFsTYf1hSZXgaDISs/dBT3ramZQqO51j+zVWt6iHxqK66I/U1ILg7QAFqB+xfvfhO8HK7dfFWDu+JO5/CS8mDxgo6cP7AsDVE8Y7PLCXDZ88ZuI/dcpjbGxVYNs141TaG4r3UzLDJovsZ9RJiluwqy/czmC9wvbrI5yBaVjKz/z+SZHw3NErX3ydvNw0hEMgAVM14JM7C6WEq9Nxp4VCW6huYqXbO9kohh0Nt/xVQU+4PKepn3wgY4bwUtgSPH3oydRJeDyYHZtoiuFhgC0Re5Rdwhi60fH4BseUvptDBfIO4ZGo+zp2un1bYSVhSumfAM08gSnFADZN++RDid53JACuepxSrcVRBk6BFHG/diccNBg9NVrYcLFsPvt0dOBtZOz0rWrfF3q7b2+WA+hj+yzqyBxdH
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:(13230031)(396003)(136003)(366004)(376002)(346002)(39860400002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(6512007)(6506007)(26005)(8676002)(966005)(6486002)(478600001)(2616005)(31696002)(2906002)(36756003)(8936002)(4326008)(5660300002)(41300700001)(66556008)(316002)(66946007)(6636002)(66476007)(110136005)(6666004)(38100700002)(31686004)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NUN5a1l2eXQvcVZ5VTdRaGR6eVBVNDRRMVQ4S2NXNGpDWmZUYUZlQkZ4OVU4?=
 =?utf-8?B?aHY4dlNMaVFSM2Z1aXNlTytGT0JuSUlOVzZVcU9UU3BTNVpzRE9zdG03VHlG?=
 =?utf-8?B?R045bERNU0JkaGQ2TmRlcjBHdzhhOGt2S2k2UnhwTm9mQjhVOVlCTEl4WG9h?=
 =?utf-8?B?UlI3NS83SGREZ0wrTjFnNUlNQWx3RXg3bFoybFREUlJlcWQ4NnBLcktHWlVB?=
 =?utf-8?B?a3QwK0xtZTlOdUtJRytlaXA3Q3hmckg0U2FNaXRmMy8rN045Vzl2aHNOMlc3?=
 =?utf-8?B?RkZscUEyU3QramVvL2pJOEhHTk9XbW9zVkx6eFd0c08xdGFkYys4L3BreWNH?=
 =?utf-8?B?Slc3UksxUXZhc3hEOEM5OEpmTld0WXdSVE9hZEVEY3A2K3F0UWllSkhPOHcv?=
 =?utf-8?B?ZGh1eWhkSm9mYW4yWW41Y0hoNHZZL0VRU0xwd0Zpa01Mc3FObWZqbmNFdE4z?=
 =?utf-8?B?S0pnK0JUTkhodVlQNTI2OGVWNGY0eTY5bjVmRVdCbkVvVm9OakMvMlVVTmFP?=
 =?utf-8?B?Y3dmRFEwaXpVakNDeUgxYUs5MlhYRlY2YUgweGI0ZjBhc1VvMjJQS3hTZEpm?=
 =?utf-8?B?Nk90VFZDNDVlOFUyMkJybWJjN3B4TVFmK3J3dm9iZ3B3bzFpTnJwT0ptZ2Zp?=
 =?utf-8?B?THJqRjFKZHMxYnJCZ1M3VVpiVk5aMFN5OVBIUmY2VDlXbTIyazMxQnJiZE8r?=
 =?utf-8?B?VnFSaTllc0d6bkVxYUF0ZTh5dDFNdms0UzF6NVBBQlF2TTRyeUIyQXJXbzcx?=
 =?utf-8?B?NWRKZ21PamllYmxuUUJvQ2d3UFYwOUpKb1lBbFRtUXFxQnU5UENwd0t6SkJ6?=
 =?utf-8?B?NWFMK2RMN3lab3VBMUhGb0FOWHJHOWZ0eFhmTkpDRlFEVUtQMVo5cm5mYTFC?=
 =?utf-8?B?MGRvd2hTWktXK1NjVzZGRG5aeERwdFpUV2tmQndnNEFXbkgxbFJHQXAvVXAw?=
 =?utf-8?B?eW1ocTRpdTNaL0NEVWY3Q0ZUYUNkOHBFV2oxaG0welB0aTVOWGNSd3dGUVAz?=
 =?utf-8?B?dVp5eWx4SVRoUm5kMmFsdXNCVnFpQ25QWFkrZGFlQWYzanJDNkJiV1pQOHR5?=
 =?utf-8?B?VG1GQm50WGxQMzYxOGVpR2Y5NWZ0ZnZUc1Z5UzdadlVSbk8zUjFTR2p1dFZl?=
 =?utf-8?B?M0ZYRjVOc1Z4Qi9hOWtHQlZLUXRzeDFMcUIvMlVvaVRxdm9JOEhBcVFkNWQx?=
 =?utf-8?B?QUpQY0pzYnpTOEJsS21oejRBcEZUdkdPUS95VWtxRE5HcTJ4ejkyMHhhYS82?=
 =?utf-8?B?elBCTlFVazFNaTRkdVRXSUpUSk1MdUtVcUU3NS8zTkNCL2t3b3JOb21NMHkz?=
 =?utf-8?B?ajMxRjdSSE1VMHIyNHZvT3p6VEJMTWNwT3IzSTdOVGRJUmxBNkZRb3ZZYWEy?=
 =?utf-8?B?MGRXN3g5L0xKNmIxOTVxblhwQWVMWVFmWmcxUTdSVGtBR3B1Q240NXFjaDh0?=
 =?utf-8?B?OHB4L2M5dTV0dGNtRHRweHZsc0ErYkVJRnVFV3dZSk5YeVRNV0RKbWl3bmlP?=
 =?utf-8?B?QThNaEhIMVEvSGtHY0JaOWR4aWxnQ05lN3BpbFJ0WWYzSW50TFNKbUJ2ZTFp?=
 =?utf-8?B?Y1U1N2FBdGJXZUZmcTVpOVNrWElvYUZUQndjSTRZdFRBbHZUeStkMDA4bUJs?=
 =?utf-8?B?emREY3RabkFDazZDYzE4Uy8xZFkyendFV3dNVzJ3NGY3YmVuQ2k0YnlvdGJX?=
 =?utf-8?B?bDZ2T1hiTnJFU2pDamVsVDk0R1M3aGE4dDVCdFVBZnRRWDdjZklHeWR4RnBh?=
 =?utf-8?B?dXE4ZW9VbmtQc0o5NmFoaWhZNVduMFFtSzduVnNiSzZuQURhcnZvbHI2NFl5?=
 =?utf-8?B?QWFEenQwUVpxVGNMVFRRNWVLTkdjb1dHSzhBcjJKemtBbXM1MDdZdy84NE16?=
 =?utf-8?B?aUFZbkx6TVErd1hkSGRScnJuODBYSXFpcjI2L0Zsd1Uxd0N3YmtqVWFJVzZT?=
 =?utf-8?B?bFdXRjMrQ3NPNmhTWlMyTEF2dGhreXJEUnZzMElhbnJCdkZ3aXNSeUREcFpP?=
 =?utf-8?B?S3pKdVZzZG0yUm52QUpoZTEyc1c3dDJDbnl0UkhISUdqdFlGdEY1REp5cXJG?=
 =?utf-8?B?eWNhTytYem56MlJ2Nml6Z1VvRGRScGVOMjhrVllzWGd2OWgxZll5ZW13UXdD?=
 =?utf-8?Q?A/R2D7Ko4ylPE9Sby6l71xMaD?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c4797dc4-294b-4a7e-883d-08dbeb8d46b0
X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2621.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 19:00:21.4649
 (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: WbHA2M4JrWGeAJAUlRitrYNpkIj5F0Ie8gbqVNkJIu4N2Lb432LalSHu2Bbt4llvFA01UbOnKPYUWHuUE1CdMA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6825

Hi Amit/All,

We came across this scenario and would be helpful if you can provide 
some pointers


Linux running as Dom0 on Xen hypervisor with HVC_DCC = y and HVC_XEN = y 
on Arm64 platform.

This causes a crash when Dom0 tries to access "DBGDTRTX_EL0" register, 
it traps to Xen.

Xen does not emulate this register so it crashes.

|Logs - https://paste.debian.net/1298983/|

|
|

|My aim is to avoid the crash and let Xen boot Dom0 even though there 
might not be a debug console available.|

|So, I am trying to add emulation for |"DBGDTRTX_EL0" register in Xen.


As a quick trial (may be not the perfect solution), I am trying to 
emulate this register as "read as zero/write ignore" (similar to KVM).

However, I could not see logs to the Xen console (ie HVC0).


So my question is

1. Is it possible in Linux to probe more than one HVC console so that 
Linux can put the same logs in HVC_DCC and HVC_XEN drivers ?

So that the user can always see the logs in the default Xen console (ie 
hvc0) even if the debug console is not present.


Another possible alternative I am exploring is to enable trapping for 
read of MDCCSR_EL0 in Xen, so that Xen returns with MDCCSR_EL0.TXfull 
set to 1.

static int hvc_dcc_put_chars(uint32_t vt, const char *buf, int count)
{
     int i;

     for (i = 0; i < count; i++) {
         while (__dcc_getstatus() & DCC_STATUS_TX)
             cpu_relax(); <<<<<<<<<<----------- So this will be invoked.

         __dcc_putchar(buf[i]);
     }

     return count;
}

Any pointers are highly appreciated.


Kind regards,

Ayan



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 19:00:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 19:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639082.996026 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5sSP-0003CU-Ee; Wed, 22 Nov 2023 19:00:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639082.996026; Wed, 22 Nov 2023 19:00: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 1r5sSP-0003CN-C6; Wed, 22 Nov 2023 19:00:17 +0000
Received: by outflank-mailman (input) for mailman id 639082;
 Wed, 22 Nov 2023 19:00: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5sSO-0003CH-5a
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 19:00:16 +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 5d146a33-8969-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 20:00:12 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40b2ad4953cso7122155e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 11:00:12 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 z9-20020a5d4c89000000b003316b38c625sm91443wrs.99.2023.11.22.11.00.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 11:00:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d146a33-8969-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700679612; x=1701284412; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=eibnohzY/uXEThlXa13ukcz7hoDNtYrvQ9qR1ZWk0Fc=;
        b=FTxkpAtXA/BdSoYdihTO7+h8b4MtBY8e8AYNT4CC81A7F1IDdYERWNvjVvN834XgRV
         U2CoiYUS4c1CYFwEzfUJCxK4UJ2lNvdIDyw04cl2pjILrXRdo1W7Xjhyj++QqzlFeCo4
         UkJYi3afeB4Lh+INVM9gsfmMls9Z4kD5wdlpk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700679612; x=1701284412;
        h=content-transfer-encoding:in-reply-to:autocrypt:references:cc:to
         :from:content-language:subject:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=eibnohzY/uXEThlXa13ukcz7hoDNtYrvQ9qR1ZWk0Fc=;
        b=Pe0syhI6UnfWrq9jDUqZj0Sg30/suR42YP4u8PsSSMuYqN5KEr5A53n1x2/zq6BH2u
         PElJdO86ewlJ680lncgu3WNt1sX9t4dnfNNgmUX/B/CMd3sYCTFXGGikDw0QjqKNeTAJ
         l8zmSWJSpFZCfQ8xWKO78E0dc3HyzY8iX462hLpkgmBRd5RNAB1wyHqgy18HdAl38MLs
         ytSqD3B1nQ5yhCV71zH154LuSOH8hkAmQ6ZvV39iw1f0PpdP3MVWTNAhU7QowpEfWlN2
         792GoLUEYuRGycE5SUCDmVhkeJnyNloCV7FodHCvCmTKeXDY+ibwWFMXyW24T2BgYkSq
         WrCg==
X-Gm-Message-State: AOJu0Yxx4qiC5vdL0LeFu2w3RbCsAtqTfZcICmvLOhFUc4uOXwVYCRNE
	0dlREEo72Ebh8nVqk40tvm00yg==
X-Google-Smtp-Source: AGHT+IHIMQjGmwWASXl0fCzJpn2Tt9JXTD/DsmoBlZuIHSwSvl2dtIKcMFT9gtlJRVPP/N0h6ZU+KQ==
X-Received: by 2002:a05:6000:b50:b0:32f:7260:1220 with SMTP id dk16-20020a0560000b5000b0032f72601220mr347624wrb.17.1700679611427;
        Wed, 22 Nov 2023 11:00:11 -0800 (PST)
Message-ID: <13979260-36d9-49f5-9b0e-0147c75780a5@citrix.com>
Date: Wed, 22 Nov 2023 19:00:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86/setup: Clean up cmdline handling in
 create_dom0()
Content-Language: en-GB
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-2-andrew.cooper3@citrix.com>
 <a6c8bac9-5bbd-44cc-b516-51a8a57d360f@suse.com>
 <b190898e-2c10-49cd-9dc5-40ddd8c71c74@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <b190898e-2c10-49cd-9dc5-40ddd8c71c74@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22/11/2023 4:20 pm, Andrew Cooper wrote:
> On 22/11/2023 9:02 am, Jan Beulich wrote:
>> On 21.11.2023 21:15, Andrew Cooper wrote:
>>> @@ -913,33 +914,30 @@ static struct domain *__init create_dom0(const module_t *image,
>>>          panic("Error creating d%uv0\n", domid);
>>>  
>>>      /* Grab the DOM0 command line. */
>>> -    cmdline = image->string ? __va(image->string) : NULL;
>>> -    if ( cmdline || kextra )
>>> +    if ( image->string || kextra )
>>>      {
>>> -        static char __initdata dom0_cmdline[MAX_GUEST_CMDLINE];
>>> -
>>> -        cmdline = cmdline_cook(cmdline, loader);
>>> -        safe_strcpy(dom0_cmdline, cmdline);
>>> +        if ( image->string )
>>> +            safe_strcpy(cmdline, cmdline_cook(__va(image->string), loader));
>>>  
>>>          if ( kextra )
>>>              /* kextra always includes exactly one leading space. */
>>> -            safe_strcat(dom0_cmdline, kextra);
>>> +            safe_strcat(cmdline, kextra);
>>>  
>>>          /* Append any extra parameters. */
>>> -        if ( skip_ioapic_setup && !strstr(dom0_cmdline, "noapic") )
>>> -            safe_strcat(dom0_cmdline, " noapic");
>>> +        if ( skip_ioapic_setup && !strstr(cmdline, "noapic") )
>>> +            safe_strcat(cmdline, " noapic");
>>> +
>>>          if ( (strlen(acpi_param) == 0) && acpi_disabled )
>>>          {
>>>              printk("ACPI is disabled, notifying Domain 0 (acpi=off)\n");
>>>              safe_strcpy(acpi_param, "off");
>>>          }
>>> -        if ( (strlen(acpi_param) != 0) && !strstr(dom0_cmdline, "acpi=") )
>>> +
>>> +        if ( (strlen(acpi_param) != 0) && !strstr(cmdline, "acpi=") )
>> As you're touching this anyway, how about replacing the strlen() by just
>> *acpi_param? We don't really care exactly how long the string is. (As an
>> aside, strstr() uses like the one here are of course also pretty fragile.
>> But of course that's nothing to care about in this change.)
> There's the same pattern just above it, not touched, and this patch is
> already getting complicated.
>
> I think there's other cleanup to do here, so I'll defer it to later.

It turns out that the optimiser already makes this transformation.

I shan't admit to how long I've just spent thinking I had a problem with
my build...

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 19:20:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 19:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639092.996046 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5slq-0000S8-8x; Wed, 22 Nov 2023 19:20:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639092.996046; Wed, 22 Nov 2023 19:20: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 1r5slq-0000S1-6B; Wed, 22 Nov 2023 19:20:22 +0000
Received: by outflank-mailman (input) for mailman id 639092;
 Wed, 22 Nov 2023 19:20: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5slo-0000Rm-9e
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 19:20:20 +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 2b89c597-896c-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 20:20:18 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id CAB2C61F15;
 Wed, 22 Nov 2023 19:20:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CA4DAC433C7;
 Wed, 22 Nov 2023 19:20: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: 2b89c597-896c-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700680816;
	bh=jJTDm6D0sEdrDOknMXFrQ1138SbaCgdI4zrMGwOu82U=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=SXWzGZAjYS4ULOd3T5y99BQqV73KN9lHg0tGygUWkfzwbh/JWCbhu0OJh+0emffcN
	 yT8Zq5lxfKNi9ZwgUnvD9z7VcMHVjyi+XFf71EXN6gfWKTH1Q3Onz4xabo57rCFZZ7
	 s0tReXhAUk0L5QiQymHwpAKPJb/Y/tvNnbTLkPLDxPRYZdRCAKF0q72BjqDwVcrSoC
	 VWshpsI4X4S3NoxELad3ddN50SGW8zoV/Y6cjCwocTINqQqNZgS6dD+VcakJOhBSpb
	 xfiDvxpUVcHxB6zY8cHrgBQ4eFtB4e3AbdjLX61E81caEopSMBYM3vDN7Ob3vMoPZG
	 jipZb2JRGTleA==
Date: Wed, 22 Nov 2023 11:20:13 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Luca Fancellu <Luca.Fancellu@arm.com>, 
    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>, Stefano Stabellini <sstabellini@kernel.org>, 
    Julien Grall <julien@xen.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
In-Reply-To: <0eb64ed9-a56c-491e-b9b8-a03e90c4c2f1@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311221118500.2053963@ubuntu-linux-20-04-desktop>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com> <20231121201540.1528161-5-andrew.cooper3@citrix.com> <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com> <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com> <3222AE09-B511-490E-8298-8808261DEFAE@arm.com>
 <0eb64ed9-a56c-491e-b9b8-a03e90c4c2f1@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1705390966-1700680816=:2053963"

  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-1705390966-1700680816=:2053963
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 22 Nov 2023, Andrew Cooper wrote:
> On 22/11/2023 3:49 pm, Luca Fancellu wrote:
> >
> >> On 21 Nov 2023, at 20:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> >>
> >> On 21/11/2023 8:33 pm, Luca Fancellu wrote:
> >>> + CC henry
> >>>
> >>>> On 21 Nov 2023, at 20:15, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> >>>>
> >>>> -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but this
> >>>> logic looks incorrect.  It was inherited from the x86 side, where the logic
> >>>> was redundant and has now been removed.
> >>>>
> >>>> In the ARM case it inserts the image name into "xen,xen-bootargs" and there is
> >>>> no logic at all to strip this before parsing it as the command line.
> >>>>
> >>>> The absence of any logic to strip an image name suggests that it shouldn't
> >>>> exist there, or having a Xen image named e.g. "hmp-unsafe" in the filesystem
> >>>> is going to lead to some unexpected behaviour on boot.
> >>>>
> >>>> 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: Stefano Stabellini <sstabellini@kernel.org>
> >>>> CC: Julien Grall <julien@xen.org>
> >>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
> >>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
> >>>> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
> >>>> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
> >>>>
> >>>> v2:
> >>>> * New.
> >>>>
> >>>> I'm afraid that all of this reasoning is based on reading the source code.  I
> >>>> don't have any way to try this out in a real ARM UEFI environment.
> >>> I will test this one tomorrow on an arm board
> > I confirm that booting though UEFI on an arm board works
> >
> > Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> > Tested-by: Luca Fancellu <luca.fancellu@arm.com>
> 
> Thanks, and you confirmed that the first cmdline parameter is still usable?

Assuming Luca or Henry come back with a confirmation that the first
command line parameter is still passed through correctly:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-1705390966-1700680816=:2053963--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 19:23:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 19:23:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639096.996057 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5spI-0001MC-W6; Wed, 22 Nov 2023 19:23:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639096.996057; Wed, 22 Nov 2023 19:23: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 1r5spI-0001M5-S3; Wed, 22 Nov 2023 19:23:56 +0000
Received: by outflank-mailman (input) for mailman id 639096;
 Wed, 22 Nov 2023 19:23: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=kbX3=HD=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r5spH-0001Lw-QC
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 19:23:55 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7e88::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id acee9b63-896c-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 20:23:54 +0100 (CET)
Received: from BYAPR06CA0013.namprd06.prod.outlook.com (2603:10b6:a03:d4::26)
 by SN7PR12MB7156.namprd12.prod.outlook.com (2603:10b6:806:2a7::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Wed, 22 Nov
 2023 19:23:48 +0000
Received: from DS2PEPF0000343A.namprd02.prod.outlook.com
 (2603:10b6:a03:d4:cafe::b9) by BYAPR06CA0013.outlook.office365.com
 (2603:10b6:a03:d4::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19 via Frontend
 Transport; Wed, 22 Nov 2023 19:23:48 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF0000343A.mail.protection.outlook.com (10.167.18.37) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.13 via Frontend Transport; Wed, 22 Nov 2023 19:23:47 +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.2507.34; Wed, 22 Nov
 2023 13:23:46 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 22 Nov 2023 13:23:45 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acee9b63-896c-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hg6lLqOu13vJ/QgkURszhT+tty0gMHoBZ3g8SwXW+LNXa3l37dDgfYF8r3sIBnyO2N9/r0opyKfvviApsLMPHKP3kP4rbKpnvkvqC1PsMh4eIn/PG3hvN1b3tZxy7H7vx90gmips49DMsA7KF23iRr0tiajeMOpTIdPxmm0jojpASnDqy/I9VzGsSJIF4wPn7+XF3Go+UjKqW4xy+4s34bnSNhnrhZl2k8bn0yMkZRFW4Q4MiHhyE9fg4Knqb3oM8FUodxDxhjE+cLydFZ5N6lWlaAf+YxsrvaC+5Jq7WTSgD1J+yvf5rO7ijTWnJYUk2LrIg35EcMdeCa8STkjjJw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qNpYG+a2kMrDUQObCCjTTDBLvgmOmmMMjG0iUbmmIis=;
 b=HPR7u3s+vyIxfr5uvYJgKJL3Srw6ZvgKztdcucVSgrWuo96sp5Lb0htnsOrA+am/vAs3F6wYq9LFAJP3Y6XJcVsnanRMou5hTBG9wrZ0O5ZSbA3exmC0/ZjKDyyVVjF3STTpP8EIV48rzLACceofr1yshhkIlO3k8V94x5fx9z6aBcfE/j4ENGufv3XYa5ysVYWj6rmtXn/wgmfs8uFKHGv8KeadN+snVWKTy0oBJfxftf45bNI6TqSVtfUZEaevD63RMa8GoA3ij5d+HmEZ6jHo3Dc/JL00WneuOlTaN/ScXCtnjmzMUrPM7LgzYbPSEeQZCrSNmIHRpwpflgPP+w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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 (0)
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=qNpYG+a2kMrDUQObCCjTTDBLvgmOmmMMjG0iUbmmIis=;
 b=Ko3Id8AvciGe7291aHYMOxhKFgC4Qo2qHJcUeVOMH6gewTeDOwfqqCdUP8+JPy6k3Ttbuza7Q+sUo6ELVV2tnytTd+9yxLd6owGS0JAmeUm0Akw4WYOBGqTOgMFgAA5SKio/hXiwBxmINxQWBGccp36/prffp1sxP9gYQcM8PZw=
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: <13d384e4-852a-4144-8738-6692defebbae@amd.com>
Date: Wed, 22 Nov 2023 20:23:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: Enabling more than one HVC console on Arm64 platform
Content-Language: en-US
To: Ayan Kumar Halder <ayankuma@amd.com>, <amit@kernel.org>, Julien Grall
	<julien@xen.org>, "Stabellini, Stefano" <stefano.stabellini@amd.com>
CC: <arnd@arndb.de>, <virtualization@lists.linux-foundation.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <f0b93b4d-b3b3-43b9-bff1-54399311a977@amd.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <f0b93b4d-b3b3-43b9-bff1-54399311a977@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF0000343A:EE_|SN7PR12MB7156:EE_
X-MS-Office365-Filtering-Correlation-Id: 486db3e2-0232-42e8-c415-08dbeb908d40
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1IcWLxcV41iIaOcCGcYJFWbn/RGOnRM8lnnXnqBpgsOahnGBVm9S/vvesrFfIgXxzREnUQzW1pat6RMuGCT9j7iQs/HQnm28GCClRmIUGXNXdUjQ3fRUsrU1Gw+hDaUb9nem/nBiLKt1ZAbaH4nIc8GLYADvfGBmSxi/fEnh5GRJ1Z1uUkzpL2FIkk7mhRr6x009/Uk5s0pYvK+zxajZX5ojFU6IFxUp22jBk2keKZQxrz/ns/P+sWMHwOUSgFdby/4yRmuc6V7gzyzhbZk2AIkA/rqZ3HffpVFgNNruQhgmoVsiubvS7zcZGRJkcN3rNpJpHgmxhRUQRXWPu3Kk6XybYemwq70Dbkwx4q7PR+6phoMKPpIjmtXA9IMFJo7PBW6/Ut/tEe4lEjo+83wN6v0T/KLH067UsBsEZqSY1dtN4ePRS08ujCGiTpZlMrkyGO0QQyB1WCmEBJ1CdZyihZKcwMJinKZwWdt4/EazqWeHL7DH5ezwsRrBmt+cKKZN+Wzp6v8EsShPlP7epwqtMuyzKjvaTGFpsJGwhbIuJnHzU0CNwS54YVzsmagbIByNeyOrAkcEynX+59oTKg+AvCSudw196GTwU24t3FGlyL3ziK0c7w6DQMJQroKMp00ePLO8m1u7uUaIT/sampDFrB4mtu3qMo9IWSJmZLhk595Ylj/8P//WbFb8elxcxvSx7IwBsPlfdkiXRuIjk/jM4PdnAkXhx736A9STvcmR7TppMPIDcLTEbxaQUDGZV0I2o1NYmgR2RYC7o4v/rloHRMiYoYoy2lBMF7k4SpVLJrT++O36FYTFzygrV821kwka
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:(13230031)(4636009)(39860400002)(136003)(376002)(396003)(346002)(230922051799003)(451199024)(82310400011)(1800799012)(186009)(64100799003)(46966006)(40470700004)(36840700001)(5660300002)(2906002)(16576012)(8936002)(4326008)(8676002)(70586007)(110136005)(316002)(6636002)(26005)(478600001)(966005)(40480700001)(31686004)(44832011)(54906003)(70206006)(53546011)(2616005)(36756003)(336012)(426003)(86362001)(83380400001)(82740400003)(40460700003)(81166007)(47076005)(356005)(41300700001)(36860700001)(31696002)(36900700001)(43740500002)(2101003);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 19:23:47.9925
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 486db3e2-0232-42e8-c415-08dbeb908d40
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:
	DS2PEPF0000343A.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7156

Hi Ayan,

On 22/11/2023 20:00, Ayan Kumar Halder wrote:
> Hi Amit/All,
> 
> We came across this scenario and would be helpful if you can provide 
> some pointers
> 
> 
> Linux running as Dom0 on Xen hypervisor with HVC_DCC = y and HVC_XEN = y 
> on Arm64 platform.
> 
> This causes a crash when Dom0 tries to access "DBGDTRTX_EL0" register, 
> it traps to Xen.
> 
> Xen does not emulate this register so it crashes.
> 
> |Logs - https://paste.debian.net/1298983/|
> 
> |
> |
> 
> |My aim is to avoid the crash and let Xen boot Dom0 even though there 
> might not be a debug console available.|
> 
> |So, I am trying to add emulation for |"DBGDTRTX_EL0" register in Xen.
> 
> 
> As a quick trial (may be not the perfect solution), I am trying to 
> emulate this register as "read as zero/write ignore" (similar to KVM).
> 
> However, I could not see logs to the Xen console (ie HVC0).
> 
> 
> So my question is
> 
> 1. Is it possible in Linux to probe more than one HVC console so that 
> Linux can put the same logs in HVC_DCC and HVC_XEN drivers ?
> 
> So that the user can always see the logs in the default Xen console (ie 
> hvc0) even if the debug console is not present.
If you have both HVC DCC and Xen enabled and DCC gets assigned hvc0, just use console=hvc1
to see the messages from Xen.
> 
> 
> Another possible alternative I am exploring is to enable trapping for 
> read of MDCCSR_EL0 in Xen, so that Xen returns with MDCCSR_EL0.TXfull 
> set to 1.
> 
> static int hvc_dcc_put_chars(uint32_t vt, const char *buf, int count)
> {
>      int i;
> 
>      for (i = 0; i < count; i++) {
>          while (__dcc_getstatus() & DCC_STATUS_TX)
>              cpu_relax(); <<<<<<<<<<----------- So this will be invoked.
FWICS, this won't be invoked given that in init call hvc_dcc_check() will return false
due to condition "if (!(__dcc_getstatus() & DCC_STATUS_TX))" being false. This is the whole
point to make Linux return -ENODEV quickly.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 19:42:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 19:42:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639117.996067 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5t7F-0006YW-Fa; Wed, 22 Nov 2023 19:42:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639117.996067; Wed, 22 Nov 2023 19: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 1r5t7F-0006YP-BR; Wed, 22 Nov 2023 19:42:29 +0000
Received: by outflank-mailman (input) for mailman id 639117;
 Wed, 22 Nov 2023 19:42: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5t7E-0006YJ-9J
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 19:42:28 +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 43f334d5-896f-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 20:42:27 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-4084b0223ccso691985e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 11:42:27 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 ay12-20020a05600c1e0c00b0040588d85b3asm426939wmb.15.2023.11.22.11.42.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 11:42:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43f334d5-896f-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700682146; x=1701286946; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=okcCgabQFbwgZRWA+qEW5PF4U9VRwnL+t0nE8DCCnIU=;
        b=gfIQhLs5Wvw6zeqtlazMHUMzi7STzW3DvE1IdvdDRwCDlpIrfqjEf/YPMK/nG3o8Wx
         3M5UWThE3gREvdtcZf310P37w1k3wvh+/3+6uNXS8cWYCpr03PU4ycvzJnsCqq1go670
         uQMQaRXiuwywin40IW+91lvn0ZTrgQEr9qztM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700682146; x=1701286946;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=okcCgabQFbwgZRWA+qEW5PF4U9VRwnL+t0nE8DCCnIU=;
        b=bO1cpr8x2O2+ZWLdR4M4U235p9d8iWkbIXNfzmKr9Sz+NfhLBwL9ArpDpAsHCg0ClG
         kJU4xLnBhNlcaoRSSyefybc6GMNDhhNkLtsFclE35yhQRax9yEp2y7dwVX2EmKvCQfrk
         WMbEuXiMBGRU4yjKAvCjZTWD0OadmJpSIKRxt09cTvin8i3rs0C6SIcUEG1lDa0HCHKB
         Be7kSoZH6PqH8dMPRcqcXU0jxBfqhDFpfR/o9RHx+vGqKVC3T29eJncUi55CC7vXZLdx
         uqhXgzTsVAlMXEP7XncA3606tRqGWekIM67G1ePq3LoR+etv7QVdSvi367H8T1l5YXXs
         opxQ==
X-Gm-Message-State: AOJu0YzuKP/+ap9txkDAXzimwOzzpWXQ55Y9u2ZxLfrcR8veMnCrkvg1
	lJc3G/i4o4gReQRHd083d1RVHg==
X-Google-Smtp-Source: AGHT+IF+/w7LMi5gA1dbATbySGmPxBil8QebuXuYUidOF4RLRBRssg0TqshjFOHpQTVXOYVvB03jrw==
X-Received: by 2002:a05:600c:474a:b0:40a:44b9:e9e3 with SMTP id w10-20020a05600c474a00b0040a44b9e9e3mr2510588wmo.19.1700682146599;
        Wed, 22 Nov 2023 11:42:26 -0800 (PST)
Message-ID: <03d5e381-1444-4ac0-9feb-3f46948e31b8@citrix.com>
Date: Wed, 22 Nov 2023 19:42:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/mem_sharing: Release domain if we are not able to
 enable memory sharing
Content-Language: en-GB
To: Frediano Ziglio <frediano.ziglio@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas@tklengyel.com>, Jan Beulich <jbeulich@suse.com>,
 George Dunlap <george.dunlap@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20231122163955.14555-1-frediano.ziglio@cloud.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231122163955.14555-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22/11/2023 4:39 pm, Frediano Ziglio wrote:
> In case it's not possible to enable memory sharing (mem_sharing_control
> fails) we just return the error code without releasing the domain
> acquired some lines above by rcu_lock_live_remote_domain_by_id.

Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")

> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

That was simply a broken transformation in the patch.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 19:46:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 19:46:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639123.996077 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5tB7-0007Nt-UW; Wed, 22 Nov 2023 19:46:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639123.996077; Wed, 22 Nov 2023 19:46: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 1r5tB7-0007Nm-RW; Wed, 22 Nov 2023 19:46:29 +0000
Received: by outflank-mailman (input) for mailman id 639123;
 Wed, 22 Nov 2023 19:46: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5tB6-0007Ng-5C
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 19:46:28 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d2ff915f-896f-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 20:46:27 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-32deb2809daso58204f8f.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 11:46:27 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 f11-20020a5d664b000000b0032d96dd703bsm180452wrw.70.2023.11.22.11.46.26
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 11:46:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d2ff915f-896f-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1700682386; x=1701287186; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/g9UaOlveAGyu7gb9Q0pn2i6ELlJ8AiD0KXn4w1/KK4=;
        b=DorLRqXkWCMWntlWZPN7lvIZOj2osd+1CZS1FBg/5K2qxZZnHuj/HkI/LATDZSO3Pe
         RNu5sex91IgZ+zbKwToUFsoKUnv55ZMNjoiV09642FTjHYnczLfy+z4rLwW5vCIr7Jix
         xUDUPoHAR0yIFYBF95anSu0ccoGw89xYP9aJsrauAwSrTftuHGghaWgR0BTdJ92Ft60j
         2lk7/tbWCCH0/qtox/UikqAUmL2dffHTwkwsOD9UcoqtJEOJGQm0oCt57WHX8QG6fpKG
         3IkihpOlPbeo3wA7oCTvia/z2HXTaajOSP1+ejqVZ36hPMvTyypgjJ0zurThdz+0auAj
         cJpw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700682386; x=1701287186;
        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:subject:date:message-id:reply-to;
        bh=/g9UaOlveAGyu7gb9Q0pn2i6ELlJ8AiD0KXn4w1/KK4=;
        b=qlX+cpr3bQ/uq3jN7EKN6IaB4NLBgDTcmJTpctgQ5pFPLmfYx2TISqVm7fnwPM5EiQ
         GGdDWQdYyDzayndK7r2FbiIuCdscXbgJvl6Kc25M/TK6I1Dnd7KzeXfY7GSnJv2gblnp
         Cp9T90XCkhm4oXs7k24uMRm7fMuZG7W3oqfDbu8Fq0wgMVLgPBlHDxLZXKW/gpBach0/
         peEqst2+PB8ND0ZMrTit+4FViXz9UNXqy7RDC5niMRiBJKsZ81sbaP+9T944057Nw1b3
         I41hNUj/WrOVI0re8h7i+aLMr5p2ZMVDdGmZFi+Yft6LFpqHUqHvJI2aW/Fet4/H/mWE
         B3dQ==
X-Gm-Message-State: AOJu0YxPSe8gYtRkxym1l56lsbBx3C+Pnu8unernCmrwKKzc6/VPewfJ
	dS+B6vyIZtpnzr4hJwwLbpxjmw==
X-Google-Smtp-Source: AGHT+IF4wKLO6QgXZ2SexWeuXeTUpo3S3qY6tv2IEcx9prKERa5g04g9x/1og8rlTH/d0EKtNEPP1w==
X-Received: by 2002:a5d:5987:0:b0:332:c585:400d with SMTP id n7-20020a5d5987000000b00332c585400dmr2231904wri.10.1700682386576;
        Wed, 22 Nov 2023 11:46:26 -0800 (PST)
Message-ID: <4d31c9f5-faf3-47f7-976e-2d5665ba446d@tibco.com>
Date: Wed, 22 Nov 2023 19:46:25 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] tools/pygrub: Set mount propagation to private
 recursively
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-2-alejandro.vallejo@cloud.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <20231106150508.22665-2-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
> This is important in order for every mount done inside a mount namespace to
> go away after the namespace itself goes away. The comment referring to
> unreliability in Linux 4.19 was just wrong.
>
> This patch sets the story straight and makes the depriv pygrub a bit more
> confined should a layer of the onion be vulnerable.
>
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 19:48:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 19:48:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639132.996086 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5tDE-0008Vf-9h; Wed, 22 Nov 2023 19:48:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639132.996086; Wed, 22 Nov 2023 19:48: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 1r5tDE-0008VY-73; Wed, 22 Nov 2023 19:48:40 +0000
Received: by outflank-mailman (input) for mailman id 639132;
 Wed, 22 Nov 2023 19:48: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5tDC-0008VS-Q9
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 19:48:38 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2102d243-8970-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 20:48:38 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-4084de32db5so862485e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 11:48:37 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 k1-20020adfe8c1000000b00331733a98ddsm172859wrn.111.2023.11.22.11.48.37
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 11:48:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2102d243-8970-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1700682517; x=1701287317; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0JtE1vGAP7hNulnSVZ+f6hZT9VlM+/K446//+sLJ6zE=;
        b=dJkHU/pjDmTIvUGI+0w81l+SKJgnDjjIFBQMeCzDmTHyYM+5KGVEvqnrbSOVJxO/S0
         RDRKfYUodS25zYuOG7KxRyqs4i+3c44sTOWdpRS3+PwpPJl4/fIrDSy0Oiyq+D1iJpcP
         CDoctoF/FoYmV7yTLUAyoJOl0m98LxIDobrSI3gy6kpRMWLxeNYiAP0fWIQSis3h3Lfa
         p2K3EYK1K90EfRp3tslzMdK872qKVg/k/cD1nsDepQDhmeVIRCPnw6NN3LulGqctFbai
         hgtxwEffPpU3fvEWzvCCleiDhQcxKXMexnLfrUNoW5sl7OT2ecVt5zAmpojP1O49tWcT
         2OnA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700682517; x=1701287317;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0JtE1vGAP7hNulnSVZ+f6hZT9VlM+/K446//+sLJ6zE=;
        b=vMYAfyeJS3zQlZDom6cAIILN4ippHF9H+gtCQ3d/AUjuo1gavJXtJkwAeByxnfWXze
         w/Xqu+G2ikxuagfJ/UkIJLiIG1WAYElBKNTygD7QACVW9yhbMhq3KNWqb/nWGA8/jjBT
         mts/MilvEClgtXEJSsCF6BqCtwwiSkO4322SWm59/eGVTjtREr5VRSsZ6oLO6qtu4Isq
         bzYEnN3guod1MAHchqHPh5QAQvuOvXS5jzyeL+klMthpwhmv1BB+uiT2kAwepLgmNV4u
         lGxytmkKZnPMO4IxWbFXYSLJugRuvVkV+c9V8hvHRIUHVRsMBgwpqFUrrFisA06Io7oT
         5BxQ==
X-Gm-Message-State: AOJu0Yz98fQRhKKWhxXSW2UzZe+KvSs/muDj0zemLLyDqmdAOb/jc5/f
	7tkUlq6/MmR4wLFwOuep7ieodQ==
X-Google-Smtp-Source: AGHT+IGuSijG7TZsnIXKGSGaDY8xoEeX5nYYuxdZJ1TBgBO4kgAuJkR89OTHPE93OqjGw1ZcxqmZNg==
X-Received: by 2002:adf:fdc7:0:b0:331:6daf:edc4 with SMTP id i7-20020adffdc7000000b003316dafedc4mr2357398wrs.11.1700682517399;
        Wed, 22 Nov 2023 11:48:37 -0800 (PST)
Message-ID: <e077f551-f4d4-4fe3-9726-2a877f9f718b@tibco.com>
Date: Wed, 22 Nov 2023 19:48:36 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] tools/pygrub: Set mount propagation to private
 recursively
Content-Language: en-GB
From: Andrew Cooper <andcooper@tibco.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-2-alejandro.vallejo@cloud.com>
 <4d31c9f5-faf3-47f7-976e-2d5665ba446d@tibco.com>
In-Reply-To: <4d31c9f5-faf3-47f7-976e-2d5665ba446d@tibco.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 7:46 pm, Andrew Cooper wrote:
> On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
>> This is important in order for every mount done inside a mount namespace to
>> go away after the namespace itself goes away. The comment referring to
>> unreliability in Linux 4.19 was just wrong.
>>
>> This patch sets the story straight and makes the depriv pygrub a bit more
>> confined should a layer of the onion be vulnerable.
>>
>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Sorry, wants

Fixes: e0342ae5556f ("tools/pygrub: Deprivilege pygrub")

too.  Will fix on commit.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 20:07:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 20:07:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639136.996096 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5tVX-0004JD-Ql; Wed, 22 Nov 2023 20:07:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639136.996096; Wed, 22 Nov 2023 20: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 1r5tVX-0004J6-O2; Wed, 22 Nov 2023 20:07:35 +0000
Received: by outflank-mailman (input) for mailman id 639136;
 Wed, 22 Nov 2023 20:07: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=Dm5i=HD=citrix.com=prvs=683e23acf=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r5tVW-0004J0-3t
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 20:07: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 c2b0c3b6-8972-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 21:07:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2b0c3b6-8972-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700683650;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ajR47PI9+A7vbmq9LHaRu4S2BE2fqTbEVy8/SGUdSYM=;
  b=HbvF8fxg7S+RjNBSiQohAOJT83z39LF+IARHhXUZf+xh8GuPtaxuQJY3
   suKb2KpdGtWaNVaewCMPZGX18ZbWIcN4zGLlG53S+u1uKctI/OWc00ze/
   JF87LqTBtIfOV7E1JbaRO0CK0B3wujqzFavgElFFdK3HazhB8cV1P4HB+
   U=;
X-CSE-ConnectionGUID: HLBBH2xvSKCGcElpimFhrQ==
X-CSE-MsgGUID: 0Bgk/KD4SdWfjkk8NF8BsQ==
Authentication-Results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128275789
X-Ironport-Server: esa3.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:+MhQaayMRycxq8aMCbV6t+eKxyrEfRIJ4+MujC+fZmUNrF6WrkVVy
 WoYCjqFPvzbZzH9Kd91adiy8EtQ7MKDyoM3GgRvriAxQypGp/SeCIXCJC8cHc8wwu7rFxs7s
 ppEOrEsCOhuExcwcz/0auCJQUFUjPzOHvykTrecZkidfCc8IA85kxVvhuUltYBhhNm9Emult
 Mj75sbSIzdJ4RYtWo4vw/zF8E8HUMja4mtC5QVnP6oT5jcyqlFOZH4hDfDpR5fHatE88t6SH
 47r0Ly/92XFyBYhYvvNfmHTKxBirhb6ZGBiu1IOM0SQqkEqSh8ai87XAME0e0ZP4whlqvgqo
 Dl7WT5cfi9yVkHEsLx1vxC1iEiSN4UekFPMCSDXXcB+UyQq2pYjqhljJBheAGEWxgp4KUFq3
 9Y4ciATVTOoqOmbxKq6T8dsnP12eaEHPKtH0p1h5TTQDPJgSpHfWaTao9Rf2V/chOgXQ6yYP
 ZBAL2MyPVKfO3WjOX9OYH46tM6uimPybHtzr1WNqLBsy2PS0BZwwP7mN9+9ltmiHJ8FxBnF+
 TKXl4j/KkkwO9/Y6hbZyX6TiO3MnnPddtI4D4Tto5aGh3XMnzdOWXX6T2CTsfS/z0KzRd9bA
 0gV4TY167g/8lSxSdvwVAH+p2SL1jYDX/JAHut87xuCopc4+C7AWDJCFGQYLoV75YlpHVTGy
 2NlgfvJIRZFkOeFV0m+3ZifgDeqOC07LXU7MHpsoRQ+3zXznG0ipkuQFo49Tv7k0YadJN3m/
 9ydQMEDa1QvYS0jjfzTEajv2W7Em3QwZlddCv/rdmyk9BhlQ4Wuepal71PWhd4Zc97BEAbe7
 ClfxJbBhAzrMX1rvHbWKAnqNOj5j8tpzRWG2QI/d3Xf32jFF4GfkXB4v2gleRYB3jcscj71e
 k7D0T69F7cKVEZGmZRfOtrrY+xzlPiIKDgQfqyMBja4SsQrJVDvEeAHTRL44l0BZ2B9wPhvY
 sjDIJbE4LRzIf0P8Qdajtw1idcDrh3SD0uILXwn53xLCYajWUM=
IronPort-HdrOrdr: A9a23:n6UdOKrMO/QG+UKsSx6eOREaV5oTeYIsimQD101hICG8cqSj+f
 xG+85rsyMc6QxhIE3I9urhBEDtex/hHNtOkOws1NSZLW7bUQmTXeJfBOLZqlWKcUDDH6xmpM
 NdmsBFeaTN5DNB7PoSjjPWLz9Z+qjkzJyV
X-Talos-CUID: 9a23:96DyUW3yAUonsKPLqbQRubxfOuQPWF2H3GnrAGSXAkttULyQZ1+KwfYx
X-Talos-MUID: 9a23:DAqkegt9yqEmzaF0BM2n3BttN4BLz/iVBH8Dk5YF6++qZQZrAmLI
X-IronPort-AV: E=Sophos;i="6.04,219,1695700800"; 
   d="scan'208";a="128275789"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>, "Anthony
 PERARD" <anthony.perard@citrix.com>, Alejandro Vallejo
	<alejandro.vallejo@cloud.com>
Subject: [PATCH v2.5/6] tools/pygrub: Fix expression before it's copied elsewhere
Date: Wed, 22 Nov 2023 20:07:02 +0000
Message-ID: <20231122200702.1874420-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
In-Reply-To: <20231106150508.22665-3-alejandro.vallejo@cloud.com>
References: <20231106150508.22665-3-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This has an identical meaning, and is the more pythonic way of writing it.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Wei Liu <wl@xen.org>
CC: Anthony PERARD <anthony.perard@citrix.com>
CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/pygrub/src/pygrub | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
index 327cf51774fc..2c06684d6532 100755
--- a/tools/pygrub/src/pygrub
+++ b/tools/pygrub/src/pygrub
@@ -88,7 +88,7 @@ def downgrade_rlimits():
     # filesystem we set RLIMIT_FSIZE to a high bound, so that the file
     # write permissions are bound.
     fsize = LIMIT_FSIZE
-    if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ.keys():
+    if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ:
         fsize = int(os.environ["PYGRUB_MAX_FILE_SIZE_MB"]) << 20
 
     resource.setrlimit(resource.RLIMIT_FSIZE, (fsize, fsize))
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 20:12:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 20:12:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639143.996106 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5tae-00079I-J7; Wed, 22 Nov 2023 20:12:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639143.996106; Wed, 22 Nov 2023 20: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 1r5tae-00079B-Fy; Wed, 22 Nov 2023 20:12:52 +0000
Received: by outflank-mailman (input) for mailman id 639143;
 Wed, 22 Nov 2023 20:12: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5tad-000795-3f
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 20:12:51 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81f188ac-8973-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 21:12:49 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-3316a4bc37dso73214f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 12:12:49 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 q4-20020a5d61c4000000b00332cb846f21sm245750wrv.27.2023.11.22.12.12.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 12:12:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 81f188ac-8973-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1700683968; x=1701288768; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Kp3/DE0tKgatPjpvnLbIqk+LaKclpl8a78v385uA4CY=;
        b=hGiAMGwgMqKup4Z2xM3TcFGoqH2dxXqnsPVAEIciwTDFUxp6URivCe7aAhrrR9KN8z
         PO7tfIYvU6cd1kf9fdLaXVZCc5ysF2YYp1bS1RSZwYWejJKm/z81XH5+JYNpQ6+OTrFn
         55mtJBpb9K8OwHSruEJdgd+bILhc4fhobfblOy4T/lAmGZb810BiYIlTgFHE7ajz3FOX
         S17PxMb1SaQOmyBscFZO150qoC8rE0OJpqp+FG/RcoetFQUygtd9dGfuHMRxom7mpi6c
         u2bY2TIgAXSjLBRfe2s7KXUCc1QWX9KfcrXFuQVGEevo835GYvSGCt2/8PtqrRlJmRBU
         Wqzw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700683968; x=1701288768;
        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:subject:date:message-id:reply-to;
        bh=Kp3/DE0tKgatPjpvnLbIqk+LaKclpl8a78v385uA4CY=;
        b=oE1It8a5TdLB2OlaYuWC7Sec/MLHFoybC49dhQXA/g4J3FwufKFWmdShLTXNZcjbR7
         8RuiXbTLYKz4sIpQ/bFffBKRqCLhX3tNRpJEXn9PQIYPF4syA8rDkda7hSgSYlRASeqG
         Ld0DEvWnYoXMr9vW41w/Tk8N8dwcHwwR/Bh+Qbczgt/aDi/htZv5ScAhGQvGZ8NDd7iQ
         fwO8cA8qbURvY7ZSrH7bYjgMNAKH6KcX2QGf+RwcjtfCjYRkN1GO4Z+/l3dZ/aNBcs/x
         IzI8hWjSqcxsSzjF8Rwe9Smf+daltiTpl2HY6+z+gtQALldImVfqAO/C0bhVo42HMjIa
         Ermw==
X-Gm-Message-State: AOJu0YwHX9kQNusRguiO1m5N6E6MRdOEqtkVL5x2yiDoutGNKmWhDDIS
	CksD6m49knVYoUQkBfaliSjeSw==
X-Google-Smtp-Source: AGHT+IHEVBjTdXFO82U/NBuU0/zxBDJWgvoUgewPRlsVsXd4WizCZX8CK2FYOmifhFmidaQ6mQAy1Q==
X-Received: by 2002:adf:ec4e:0:b0:332:c5bd:1d9e with SMTP id w14-20020adfec4e000000b00332c5bd1d9emr2216525wrn.4.1700683968514;
        Wed, 22 Nov 2023 12:12:48 -0800 (PST)
Message-ID: <3b679c0f-0fd2-4efd-a4ba-6ce6e4d1289b@tibco.com>
Date: Wed, 22 Nov 2023 20:12:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] tools/pygrub: Fix bug in LIMIT_FSIZE env variable
 override
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-3-alejandro.vallejo@cloud.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <20231106150508.22665-3-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
> The env variable must be interpreted as an integer. As it is, the override
> logic simply causes an exception.

Fixes: e0342ae5556f ("tools/pygrub: Deprivilege pygrub")

> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
>  tools/pygrub/src/pygrub | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
> index 08540ad288..327cf51774 100755
> --- a/tools/pygrub/src/pygrub
> +++ b/tools/pygrub/src/pygrub
> @@ -89,7 +89,7 @@ def downgrade_rlimits():
>      # write permissions are bound.
>      fsize = LIMIT_FSIZE
>      if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ.keys():
> -        fsize = os.environ["PYGRUB_MAX_FILE_SIZE_MB"] << 20
> +        fsize = int(os.environ["PYGRUB_MAX_FILE_SIZE_MB"]) << 20
>  
>      resource.setrlimit(resource.RLIMIT_FSIZE, (fsize, fsize))
>  

This change on its own is correct, so Acked-by: Andrew Cooper
<andrew.cooper3@citrix.com>

However, there's a bug/misfeature which you've copied in patch 3, so
I've inserted a patch 2.5 to try and fix it in a nice order.  It's
probably a little rude to merge the pythonic-fix into this functional fix.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 20:16:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 20:16:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639146.996117 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5te0-0007nM-1v; Wed, 22 Nov 2023 20:16:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639146.996117; Wed, 22 Nov 2023 20: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 1r5tdz-0007nF-VS; Wed, 22 Nov 2023 20:16:19 +0000
Received: by outflank-mailman (input) for mailman id 639146;
 Wed, 22 Nov 2023 20: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5tdy-0007n9-7z
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 20:16:18 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fd7114b4-8973-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 21:16:16 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4083f61322fso950745e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 12:16:16 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 q19-20020a05600c46d300b004064e3b94afsm499121wmo.4.2023.11.22.12.16.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 12:16:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd7114b4-8973-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1700684176; x=1701288976; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=63umfG6ROvXrows/LhUD3BHDisBQC0AuPxoDkYko8vc=;
        b=S/FXh3b8/QpUXmLLVv3tzvm7MXfh8QlAFTE8sUFjpel9I0s0DPPFuoZSCrtcDZzCFj
         xJCAzLsqb12EsEOr0IYWgCxBNFWIGQvFFsFnukKYkcW01Xt4CUnU756hiBZwPA00aTfh
         bDy/H9NHeGbCMReJ1AI4yHPU0SpE1CjmJ4wFDsjhIWu6r1iXqD6SYogVpZ9cvwjPR8DQ
         Av9Z3cPrnfFu36xEjJs3jcIEA9qSP3FTBSaL5GYgW2aNiK+jnTf2WZ9n45rEnOCTXEM2
         exU8LLyZ+tPHBZIfp52Etfy9rVzF8Ssih2cf6VrWMJeERKW5fPdpUEPiHYOci6Ff7InW
         uihQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700684176; x=1701288976;
        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:subject:date:message-id:reply-to;
        bh=63umfG6ROvXrows/LhUD3BHDisBQC0AuPxoDkYko8vc=;
        b=I4Gsc9Iew5JnKGTkkAccZ8VuJmLGHeenvZ+HM0zEl2Wd+5qws0uIx3SlUqIPXQQQwv
         pUFoip1zfrONJkfk/JYFcZYJp0vHOLgeuW5IYg76CzHLTtBk10DarTA+qITZJ+0Kwl6w
         EpcBO7vovxiB1/0vlABkvuHIYTDbYnMrs502/MdBvey+tuJv4Z5RuHDcpKQ/rVrnZ0Vx
         +/h/+li/DJzoqAwAqqMoShlOnnMjKut8A128JNzLGzdveJtPxWNQH+pR/WLHXDBefej9
         SkjyTBvJY9lHOFvQ6wgC8e1TLVQQWSq1sy7IbOj3CXANtnTqfB2BvgnvcBmX7vsRXxPG
         LmtQ==
X-Gm-Message-State: AOJu0YwAq9XdgJgrgsiQ9u7WjJL35r96D0sGT3eujN+RJc4PB6q0snd9
	tRLRRBhCHerLEXnYYC3qmN9EpQ==
X-Google-Smtp-Source: AGHT+IEG3lXF3pWNgKUZCkTYECoP4oBlmVclFSskGE8w/AdLdKGGjFA1YA1No5Gjit0OyNKNPHG/5g==
X-Received: by 2002:a05:600c:46cd:b0:408:4083:fbf2 with SMTP id q13-20020a05600c46cd00b004084083fbf2mr2804299wmo.22.1700684175788;
        Wed, 22 Nov 2023 12:16:15 -0800 (PST)
Message-ID: <72585cdd-756b-49f6-b97f-7bb739217e6c@tibco.com>
Date: Wed, 22 Nov 2023 20:16:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] tools/pygrub: Restrict depriv operation with
 RLIMIT_AS
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-4-alejandro.vallejo@cloud.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <20231106150508.22665-4-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
> diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
> index 327cf51774..b96bdfd849 100755
> --- a/tools/pygrub/src/pygrub
> +++ b/tools/pygrub/src/pygrub
> @@ -75,6 +80,11 @@ def downgrade_rlimits():
>      resource.setrlimit(resource.RLIMIT_CORE,     (0, 0))
>      resource.setrlimit(resource.RLIMIT_MEMLOCK,  (0, 0))
>  
> +    max_ram_usage = LIMIT_AS
> +    if "PYGRUB_MAX_RAM_USAGE_MB" in os.environ.keys():

With the .keys() dropped as per patch 2.5/6,

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Happy to do this on commit.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 20:17:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 20:17:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639148.996127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5tef-0008LV-Az; Wed, 22 Nov 2023 20:17:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639148.996127; Wed, 22 Nov 2023 20: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 1r5tef-0008LO-8E; Wed, 22 Nov 2023 20:17:01 +0000
Received: by outflank-mailman (input) for mailman id 639148;
 Wed, 22 Nov 2023 20:16: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=SF1Q=HD=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r5ted-0008L7-9j
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 20:16:59 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20600.outbound.protection.outlook.com
 [2a01:111:f400:7e89::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14425af2-8974-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 21:16:56 +0100 (CET)
Received: from DM6PR08CA0037.namprd08.prod.outlook.com (2603:10b6:5:1e0::11)
 by SA1PR12MB9001.namprd12.prod.outlook.com (2603:10b6:806:387::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 20:16:51 +0000
Received: from CY4PEPF0000EDD1.namprd03.prod.outlook.com
 (2603:10b6:5:1e0:cafe::ef) by DM6PR08CA0037.outlook.office365.com
 (2603:10b6:5:1e0::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18 via Frontend
 Transport; Wed, 22 Nov 2023 20:16:51 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD1.mail.protection.outlook.com (10.167.241.205) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Wed, 22 Nov 2023 20:16:51 +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.2507.34; Wed, 22 Nov
 2023 14:16:48 -0600
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.2507.32; Wed, 22 Nov
 2023 12:16:31 -0800
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 22 Nov 2023 14:16:30 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14425af2-8974-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hxyp7lRYM/KubtxE7jnHCiILCVe75GCeSHpaXooBbMKYN34a9oVxvsHcx/vMqP8mPcz28dxBjeRwCnRiKfQu73k6SS/21G9EEoHutpj+8mjKyawOWBykJVgv+FPjKIuVdAEUMI/qo0iTy7qIe5SmYEUFblP5V5rBraqDewfzV6RI6koCSylpZAhQPLncEfzPsmnt9r1cmvWd/tOaNat5tpLjLO2d4VYjakO1aYNycWzzYy+QZwMMSO+9nr6TyrC9y+qdbud6JHckL5d6YRN5ScICK5D/EYcPGLxdBMcJz5LB7yRgRsXq4NOBmWwt9xubZLK89qfmWz6Y62ZZN9dRHw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CwLj5iaY+kpPnGMvF56MlxZ08zsJdWZ/yt+YAtwIdE8=;
 b=ib6uFo2ZWYyCXJ3wDTVhVpVbAh3DCQgjOLu02EvRjStnTpc79/s0qtPlbWTR1QWklfiRQ8exThVzXKmzX6wjzAsixBQ3siAS35IeZXPPZOJ3DLTdFtG9Fj/ONXFgqzrTw0jdWn1ebpasipGaV+nea2EHo1iqhhudn4cYRAQT70Xev/cVnfnZI504JI7ZW6M44pzFa0oOg8Myzcr8FvJCO0+dXJbtApsFCDUysXwlKKcqtCajn9VOG2H5P+TnHEnErgO0G84kl0G6fWPPAZAR15YqhdWYZWrTMeEWsb7/pcbKZ95dCfoyz0F6DIcdcbefzXSfAVuIr2al0g631CFVvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=CwLj5iaY+kpPnGMvF56MlxZ08zsJdWZ/yt+YAtwIdE8=;
 b=j8R5ywSsPA+5OJhDlmvC38P8STlvp69rKNqFOK0wS/OAPi5tbT3boJlVVeWet7TxSYNbwDjheX4+iKBxDriPEObA/k2g+JM3kJD8HMZfq0qQh815ZFbuYEUKqC4ydJO9mSJAV+ydt1SWiibz1QB6fl1CG8RsMrLI9bFqqw+BNgg=
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: <a28239cd-e94e-4e0e-b415-a7ae32befd40@amd.com>
Date: Wed, 22 Nov 2023 15:16:29 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] xen/vpci: header: status register handler
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@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>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVdfRQpGFSU1OIkh@macbook.local>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <ZVdfRQpGFSU1OIkh@macbook.local>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD1:EE_|SA1PR12MB9001:EE_
X-MS-Office365-Filtering-Correlation-Id: 87298c5e-94b1-4cec-c36e-08dbeb97f693
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jcN/nCkwqoTMXDTMMKTqqsr968GX2N5vRQcuEeefcc7LAaWLH1xGmnpK+VxFi6cN3oRGq/d4arxZCNW1fgAzG7SfkT3kXllJlzDph0WRix5GDOCvhHFOsQ5Sd/ZYO6PUIi6ekFOgmCcwyO+LdGx9q3FhFNrulIa8XGEyFBMv/dRK3tOT+p+7qgxbEECZNas+3pKFdApk3d9Sula4/CAlqQrcbqWZkI+Om2+VXU8F20POlKcsePBWDropYUoPLnOHdSLaqyWVqBatqjQ//e/z9r2ah5EP/s8btPk0Etdmv4gPwnc9IYopaX/Ii1SKF9+oi5MqX3alYGH5um6etTNR3Z63aNB1apZkWmiODsedxvicv4u9VBSzd5Hqvr9jVRIY90S8tXSMBnxwnMRyiQEFEBth5UL7hObvXrefB5eVJn2MNc36Y4TlgaZmJHHpl2RW/kGC/G+JEV8yM/a5HpBt9MVzpd3Ob2kLtT5Sc6vD3bkqnBa6MEOwcUjcZY5U3wRxYcU+WatSMnLcgg5v8johy1p36/vjKoRT+GGw9ljGahKgLXQFbYbKCwooXES1MwJg9/nigMfSA3jeLaz/q7RX6L76jleZcT93SoCQ53ahwJ10e72AqB1GqThJkSmAJJvMozxGxfFbzndadLe5hobxZRxrzi8rjktzNDuDpJ/DCkjp8puBninZC6H5GIP/0ZAYi7+OKnhim4IDHtelzYSAJkDvC92U8PY2U19DC5p3jtJH1KfRg2BmMKQTLBHMaXXPnyHrKSO6XXJqy2W33Q+SjkRVPYbQENDj4jd0CkkvqC7nvDzY+zoDVL65ZVCmueEg
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:(13230031)(4636009)(396003)(376002)(136003)(39860400002)(346002)(230922051799003)(1800799012)(82310400011)(451199024)(186009)(64100799003)(46966006)(36840700001)(40470700004)(83380400001)(2616005)(53546011)(40480700001)(26005)(82740400003)(336012)(426003)(478600001)(966005)(31686004)(47076005)(81166007)(356005)(36860700001)(70206006)(8676002)(316002)(8936002)(4326008)(30864003)(44832011)(31696002)(6916009)(16576012)(54906003)(86362001)(5660300002)(66899024)(2906002)(70586007)(41300700001)(40460700003)(36756003)(36900700001)(43740500002)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 20:16:51.0181
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 87298c5e-94b1-4cec-c36e-08dbeb97f693
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:
	CY4PEPF0000EDD1.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB9001

On 11/17/23 07:40, Roger Pau Monné wrote:
> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
>> Introduce a handler for the PCI status register, with ability to mask the
>> capabilities bit. The status register contains RsvdZ bits, read-only bits, and
>> write-1-to-clear bits, so introduce bitmasks to handle these in vPCI. If a bit
>> in the bitmask is set, then the special meaning applies:
>>
>>   rsvdz_mask: read as zero, guest write ignore (write zero to hardware)
>>   ro_mask: read normal, guest write ignore (preserve on write to hardware)
>>   rw1c_mask: read normal, write 1 to clear
>>
>> The RsvdZ naming was borrowed from the PCI Express Base 4.0 specification.
>>
>> Xen preserves the value of read-only bits on write to hardware, discarding the
>> guests write value.
>>
>> The mask_cap_list flag will be set in a follow-on patch.
>>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> ---
>> v6->v7:
>> * re-work args passed to vpci_add_register_mask() (called in init_bars())
>> * also check for overlap of (rsvdz_mask & ro_mask) in add_register()
>> * slightly adjust masking operation in vpci_write_helper()
>>
>> v5->v6:
>> * remove duplicate PCI_STATUS_CAP_LIST in constant definition
>> * style fixup in constant definitions
>> * s/res_mask/rsvdz_mask/
>> * combine a new masking operation into single line
>> * preserve r/o bits on write
>> * get rid of status_read. Instead, use rsvdz_mask for conditionally masking
>>   PCI_STATUS_CAP_LIST bit
>> * add comment about PCI_STATUS_CAP_LIST and rsvdp behavior
>> * add sanity checks in add_register
>> * move mask_cap_list from struct vpci_header to local variable
>>
>> v4->v5:
>> * add support for res_mask
>> * add support for ro_mask (squash ro_mask patch)
>> * add constants for reserved, read-only, and rw1c masks
>>
>> v3->v4:
>> * move mask_cap_list setting to the capabilities patch
>> * single pci_conf_read16 in status_read
>> * align mask_cap_list bitfield in struct vpci_header
>> * change to rw1c bit mask instead of treating whole register as rw1c
>> * drop subsystem prefix on renamed add_register function
>>
>> v2->v3:
>> * new patch
>> ---
>>  xen/drivers/vpci/header.c  | 16 +++++++++++
>>  xen/drivers/vpci/vpci.c    | 55 +++++++++++++++++++++++++++++---------
>>  xen/include/xen/pci_regs.h |  9 +++++++
>>  xen/include/xen/vpci.h     |  8 ++++++
>>  4 files changed, 76 insertions(+), 12 deletions(-)
>>
>> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
>> index 767c1ba718d7..af267b75ac31 100644
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -521,6 +521,7 @@ static int cf_check init_bars(struct pci_dev *pdev)
>>      struct vpci_header *header = &pdev->vpci->header;
>>      struct vpci_bar *bars = header->bars;
>>      int rc;
>> +    bool mask_cap_list = false;
>>  
>>      switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
>>      {
>> @@ -544,6 +545,21 @@ static int cf_check init_bars(struct pci_dev *pdev)
>>      if ( rc )
>>          return rc;
>>  
>> +    /*
>> +     * Utilize rsvdz_mask to hide PCI_STATUS_CAP_LIST from the guest for now. If
>> +     * support for rsvdp (reserved & preserved) is added in the future, the
>> +     * rsvdp mask should be used instead.
>> +     */
>> +    rc = vpci_add_register_mask(pdev->vpci, vpci_hw_read16, vpci_hw_write16,
>> +                                PCI_STATUS, 2, NULL,
>> +                                PCI_STATUS_RSVDZ_MASK |
>> +                                    (mask_cap_list ? PCI_STATUS_CAP_LIST : 0),
>> +                                PCI_STATUS_RO_MASK &
>> +                                    ~(mask_cap_list ? PCI_STATUS_CAP_LIST : 0),
>> +                                PCI_STATUS_RW1C_MASK);
>> +    if ( rc )
>> +        return rc;
>> +
>>      if ( pdev->ignore_bars )
>>          return 0;
>>  
>> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
>> index 3bec9a4153da..b4cde7db1b3f 100644
>> --- a/xen/drivers/vpci/vpci.c
>> +++ b/xen/drivers/vpci/vpci.c
>> @@ -29,6 +29,9 @@ struct vpci_register {
>>      unsigned int offset;
>>      void *private;
>>      struct list_head node;
>> +    uint32_t rsvdz_mask;
>> +    uint32_t ro_mask;
>> +    uint32_t rw1c_mask;
> 
> I understand that we need the rw1c_mask in order to properly merge
> values when doing partial writes, but the other fields I'm not sure we
> do need them.  RO bits don't care about what's written to them, and
> RsvdZ are always read as 0 and written as 0, so the mask shouldn't
> affect the merging.

See discussions at [1] and [2]. I'll keep ro_mask/rsvdz_mask, add rsvdp_mask, and expand the commit message. For another data point, qemu (hw/xen/xen_pt_config_init.c:xen_pt_emu_reg_header0) also has a similar way of masking bits.

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01398.html
[2] https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01693.html

> 
>>  };
>>  
>>  #ifdef __XEN__
>> @@ -145,9 +148,16 @@ uint32_t cf_check vpci_hw_read32(
>>      return pci_conf_read32(pdev->sbdf, reg);
>>  }
>>  
>> -int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>> -                      vpci_write_t *write_handler, unsigned int offset,
>> -                      unsigned int size, void *data)
>> +void cf_check vpci_hw_write16(
>> +    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
>> +{
>> +    pci_conf_write16(pdev->sbdf, reg, val);
>> +}
>> +
>> +static int add_register(struct vpci *vpci, vpci_read_t *read_handler,
>> +                        vpci_write_t *write_handler, unsigned int offset,
>> +                        unsigned int size, void *data, uint32_t rsvdz_mask,
>> +                        uint32_t ro_mask, uint32_t rw1c_mask)
>>  {
>>      struct list_head *prev;
>>      struct vpci_register *r;
>> @@ -155,7 +165,8 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>>      /* Some sanity checks. */
>>      if ( (size != 1 && size != 2 && size != 4) ||
>>           offset >= PCI_CFG_SPACE_EXP_SIZE || (offset & (size - 1)) ||
>> -         (!read_handler && !write_handler) )
>> +         (!read_handler && !write_handler) || (rsvdz_mask & ro_mask) ||
>> +         (rsvdz_mask & rw1c_mask) || (ro_mask & rw1c_mask) )
>>          return -EINVAL;
>>  
>>      r = xmalloc(struct vpci_register);
>> @@ -167,6 +178,9 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>>      r->size = size;
>>      r->offset = offset;
>>      r->private = data;
>> +    r->rsvdz_mask = rsvdz_mask & (0xffffffffU >> (32 - 8 * size));
>> +    r->ro_mask = ro_mask & (0xffffffffU >> (32 - 8 * size));
>> +    r->rw1c_mask = rw1c_mask & (0xffffffffU >> (32 - 8 * size));
>>  
>>      spin_lock(&vpci->lock);
>>  
>> @@ -193,6 +207,23 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>>      return 0;
>>  }
>>  
>> +int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>> +                      vpci_write_t *write_handler, unsigned int offset,
>> +                      unsigned int size, void *data)
>> +{
>> +    return add_register(vpci, read_handler, write_handler, offset, size, data,
>> +                        0, 0, 0);
>> +}
>> +
>> +int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler,
>> +                           vpci_write_t *write_handler, unsigned int offset,
>> +                           unsigned int size, void *data, uint32_t rsvdz_mask,
>> +                           uint32_t ro_mask, uint32_t rw1c_mask)
>> +{
>> +    return add_register(vpci, read_handler, write_handler, offset, size, data,
>> +                        rsvdz_mask, ro_mask, rw1c_mask);
>> +}
>> +
>>  int vpci_remove_register(struct vpci *vpci, unsigned int offset,
>>                           unsigned int size)
>>  {
>> @@ -376,6 +407,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>>          }
>>  
>>          val = r->read(pdev, r->offset, r->private);
>> +        val &= ~r->rsvdz_mask;
>>  
>>          /* Check if the read is in the middle of a register. */
>>          if ( r->offset < emu.offset )
>> @@ -407,26 +439,25 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>>  
>>  /*
>>   * Perform a maybe partial write to a register.
>> - *
>> - * Note that this will only work for simple registers, if Xen needs to
>> - * trap accesses to rw1c registers (like the status PCI header register)
>> - * the logic in vpci_write will have to be expanded in order to correctly
>> - * deal with them.
>>   */
>>  static void vpci_write_helper(const struct pci_dev *pdev,
>>                                const struct vpci_register *r, unsigned int size,
>>                                unsigned int offset, uint32_t data)
>>  {
>> +    uint32_t val = 0;
>> +
>>      ASSERT(size <= r->size);
>>  
>> -    if ( size != r->size )
>> +    if ( (size != r->size) || r->ro_mask )
> 
> Hm, I'm not sure this specific handling for read-only bits is
> required, software is allowed to write either 0 or 1 to read-only
> bits, but the write will be ignored.

See [1].

> 
>>      {
>> -        uint32_t val;
>> -
>>          val = r->read(pdev, r->offset, r->private);
>> +        val &= ~r->rw1c_mask;
>>          data = merge_result(val, data, size, offset);
>>      }
>>  
>> +    data &= ~(r->rsvdz_mask | r->ro_mask);
>> +    data |= val & r->ro_mask;
> 
> You cannot apply the register masks directly into the final value, you
> need to offset and mask them as necessary, likewise for val, see
> what's done in merge_result().

See [3].

[3] https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg01412.html

> 
> Regardless of the offset issue, I think the usage of val with the
> ro_mask is bogus here, see above.

See [1].

> 
>> +
>>      r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
>>               r->private);
>>  }
>> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
>> index 84b18736a85d..b72131729db6 100644
>> --- a/xen/include/xen/pci_regs.h
>> +++ b/xen/include/xen/pci_regs.h
>> @@ -66,6 +66,15 @@
>>  #define  PCI_STATUS_REC_MASTER_ABORT	0x2000 /* Set on master abort */
>>  #define  PCI_STATUS_SIG_SYSTEM_ERROR	0x4000 /* Set when we drive SERR */
>>  #define  PCI_STATUS_DETECTED_PARITY	0x8000 /* Set on parity error */
>> +#define  PCI_STATUS_RSVDZ_MASK		0x0006
> 
> In my copy of the PCIe 6 spec bit 6 is also RsvdZ, so the mask should
> be 0x46.

Right, mine too. It's probably safer to follow the newer version of the spec, so I'll make the change. For completeness / archaeology purposes, I just want to document some relevant data points here.

In PCIe 4 spec, it says this about bit 6:
"These bits were used in previous versions of the programming model. Careful consideration should be given to any attempt to repurpose them."

Going further back, PCI (old school PCI, not Express) spec 3.0 says this about bit 6:
"This bit is reserved. *"
"* In Revision 2.1 of this specification, this bit was used to indicate whether or not a device supported User Definable Features."

Just above in our pci_regs.h (and equally in Linux include/uapi/linux/pci_regs.h) we have this definition for bit 6:
#define  PCI_STATUS_UDF         0x40    /* Support User Definable Features [obsolete] */

Qemu hw/xen/xen_pt_config_init.c treats bit 6 as RO:
        .ro_mask    = 0x06F8,

> 
> But I'm unsure we really need this mask.
> 
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 20:31:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 20:31:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639153.996136 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5tsF-0004uS-FJ; Wed, 22 Nov 2023 20:31:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639153.996136; Wed, 22 Nov 2023 20:31: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 1r5tsF-0004uL-Cb; Wed, 22 Nov 2023 20:31:03 +0000
Received: by outflank-mailman (input) for mailman id 639153;
 Wed, 22 Nov 2023 20:31: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5tsD-0004uF-Ut
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 20:31:01 +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 0ccb5db4-8976-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 21:31:01 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40b2a8c7ca9so1118885e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 12:31:01 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 jg28-20020a05600ca01c00b004063cd8105csm525862wmb.22.2023.11.22.12.30.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 12:31:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0ccb5db4-8976-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700685060; x=1701289860; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3L4iceppBlJDY1M1tRK/b6wiq/1ukaRWMlXyD+wqzKE=;
        b=tMmkzCO2Vb7tkM5YH3FA0hxK5iVf0CHzG3qggD2LPGw52gXpVwByoNwBVWuGDO2CP2
         dxl67omYXLMCLRpRpb7kRzqoEEwoRlaKzodJH9bdNGKg3DkOb+4nf4P16DllPETHm4sP
         MEo4XDooQkB3kxOypx5MHeZXrG+usckGapUA0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700685060; x=1701289860;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3L4iceppBlJDY1M1tRK/b6wiq/1ukaRWMlXyD+wqzKE=;
        b=MP9vZdggonIz3IbfOIG0c4dAKBvDbtLMQfxIbIl/t2xQtDiJ1vnxuJeyDjXiUDSdMG
         yqu4X+qBRzDHY2uFFZ0sw4Cujmc0CcMlTBD0OO5aJ75orNM4CwK6m7bbxy8HFFk3PVMu
         kHHaA6IeOJ76RO+lX7I/3jQ9dEo+vx89U7Tyj1lyns8Vfw7KK6ROxbrNfRbkX3BYo+nX
         WXmHkm5lBsiXaPPkib9YNOys/A3IyeM6t/lAjx/PN/NftZTb2BXK2HbGWAFnELwgBH0K
         b6PFL9mB2tS0UIo6NnXRVi3O3fDNfd6v+bf3O8TeYI4u+ot5PmtLTrgD7wxTUokcTI2e
         QJMQ==
X-Gm-Message-State: AOJu0YzIjdUWldGW8Fbmd5SNcU5BsH4s6+HQ6H5eJYUJuw8aAAtc7LAh
	aUdv/7cJbN5s/8cBTNE7mF1iTA==
X-Google-Smtp-Source: AGHT+IEfWrhUD+0S2uMccNxdmoYPzkbLrlYThFWS8J8UVSmPgkElr+kpaxwQLMMrPFVDgy/RNt05fw==
X-Received: by 2002:a05:600c:4311:b0:404:4b6f:d70d with SMTP id p17-20020a05600c431100b004044b6fd70dmr1115952wme.17.1700685060411;
        Wed, 22 Nov 2023 12:31:00 -0800 (PST)
Message-ID: <b46b276d-4df0-4c28-ba4c-e0147d0b98fd@citrix.com>
Date: Wed, 22 Nov 2023 20:30:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/xenpvboot: remove as unable to convert to Python 3
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Olaf Hering <olaf@aepfle.de>, Juergen Gross <jgross@suse.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231006145046.98450-1-roger.pau@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231006145046.98450-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/10/2023 3:50 pm, Roger Pau Monne wrote:
> The script heavily relies on the urlgrabber python module, which doesn't seem
> to be packaged by all distros, it's missing from newer Debian versions at
> least.
>
> Also the usage of the commands module has been deprecated since Python 2.6, and
> removed in Python 3, so the code would need to be re-written to not rely on
> urlgrabber and the commands modules.
>
> Arguably the purpose of the xenpvnetboot bootloader can also be achieved with
> an isolated script that fetches the kernel and ramdisk before attempting to
> launch the domain, without having to run in libxl context.  There are no xl.cfg
> options consumed by the bootloader apart from the base location and the
> subpaths of the kernel and ramdisk to fetch.
>
> Any interested parties in keeping such functionality are free to submit an
> updated script that works with Python 3.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

I've just found
https://build.opensuse.org/package/view_file/openSUSE:Leap:15.5:Update/xen/bin-python3-conversion.patch?expand=1

Which includes the modifications to make this work with Python 3.

Does this mean there are SLES/OpenSUSE users of xenpvboot ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 20:44:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 20:44:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639160.996147 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5u4i-0007vP-OI; Wed, 22 Nov 2023 20:43:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639160.996147; Wed, 22 Nov 2023 20: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 1r5u4i-0007vI-LP; Wed, 22 Nov 2023 20:43:56 +0000
Received: by outflank-mailman (input) for mailman id 639160;
 Wed, 22 Nov 2023 20:43: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=AOK2=HD=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1r5u4h-0007vC-3B
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 20:43:55 +0000
Received: from mo4-p00-ob.smtp.rzone.de (mo4-p00-ob.smtp.rzone.de
 [81.169.146.220]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8adae74-8977-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 21:43:52 +0100 (CET)
Received: from sender by smtp.strato.de (RZmta 49.9.1 AUTH)
 with ESMTPSA id g1b15czAMKhnsMH
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Wed, 22 Nov 2023 21:43:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d8adae74-8977-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1700685829; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=oHwnrdCOCkELk78QRCynYD99+vJxOGQcTt4rKC9uiTwfnrvm+P8R5RZ2vMSsLdDXBC
    5hcuMY2WWLWVBJc08VGjmv09T4aPNJ9W3r3WV3ZhXB1eVQQlm3KYTtir8iLe9Y5rXqDk
    6b+bLigI8qspmOv6M9Puzn5Nz12DsTBAk5gh1hM+LjqPynV5we0VA7FKqnCqpZvrsV2f
    W3kNlLRMvz8TThgqOqZKLbvt3BOjTUZ92X0PxwC2xDCuq+HUMWi6J0kgxAD9RYBfHCUX
    k/Elk/KzqiX7sHjlMgAIUR3Mty4Ap3d2/zQ7oWNk+LAaabEEe5lZoQNk1iX4cZJsYsmm
    bEDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1700685829;
    s=strato-dkim-0002; d=strato.com;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=o8RbQ7UT2N94YmuJsi0wN8zKs4jduT8EtdlxcwsUVCY=;
    b=UjuijLKxpw+9cock20busDzmrgREVJwGbOj52DIGjlY1mq+zUPAZvUSXkNR0UCA2YC
    fUXc23tB97lvs/+A3+PERCYBAAGFrCu/h1ArqYZPIb/0TO5RyJ2bFTuqAsnfFAbyjx9u
    z6907c/OFTL/rp6LmfRmW0E6IrdFnrY0rcKeUpU9RTKc7aOez8qOkznoj/H2aNZzRzC1
    C71LcJy/ebV/hx/qZJDHY/1i4ti3/+Ik/nk8AiAhgWUI/F8ZZdQLLA3+yNQ9wLhFtDuG
    7pJugBWpFLf+aHZ7Z68kVWJCMCP/xk0VDGSR+57bhySw0vLd94RCQpgG8ZFzmGs0WinR
    bfRw==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo00
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1700685829;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=o8RbQ7UT2N94YmuJsi0wN8zKs4jduT8EtdlxcwsUVCY=;
    b=kR1I9x9LWnFqo2Jj3OJtIHJCW0JE7g+Y6gWIxSlRuF64hT0wrwdonDW51Ow+Qqtwdr
    5LdMPRl+Gff8MVq8FDqBQEAJWOU1TajVwgtxXN6Zh6585joo5cuT+jSRhsSPTzAOhXNh
    oDzyIl0iytlGHFNRYiXuQSYkaqkLdC/KRQFgjF3WuZ8CkdUj+4aRGuClExCuCNMUUP+Y
    ym2QL9mv3c6U021wgUJjWHEbeZkPpySd4I1fN1XjVtNSK18dyOtRRLTrJiWH3UXK+OYX
    enESvL82O/HA4WN1Z3wG+FZs1mgexbBujp7yqYABRNsjXKv1nEwiW0VyWu72lKK/mUoj
    6ftA==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1700685829;
    s=strato-dkim-0003; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=o8RbQ7UT2N94YmuJsi0wN8zKs4jduT8EtdlxcwsUVCY=;
    b=YrbzV6Zqb8QB9ZxqUnx5ORJBKZv3Uogrw4LmKzg4kASw3Kq1j8rulPbtj0W2eLdRmo
    8fHKFj2u410p+UMFhJCg==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR5VxOIOx7sW7Yq7k+0gzUhLCSnSrvMYFPvEI3Cdw=="
Date: Wed, 22 Nov 2023 21:43:42 +0100
From: Olaf Hering <olaf@aepfle.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>, Anthony PERARD
 <anthony.perard@citrix.com>
Subject: Re: [PATCH] tools/xenpvboot: remove as unable to convert to Python
 3
Message-ID: <20231122214342.66d40d6c.olaf@aepfle.de>
In-Reply-To: <b46b276d-4df0-4c28-ba4c-e0147d0b98fd@citrix.com>
References: <20231006145046.98450-1-roger.pau@citrix.com>
	<b46b276d-4df0-4c28-ba4c-e0147d0b98fd@citrix.com>
X-Mailer: Claws Mail 20230817T113819.a897c59c hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/8gGv=m3XpvbQ14lQ=BVenXw";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/8gGv=m3XpvbQ14lQ=BVenXw
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Wed, 22 Nov 2023 20:30:59 +0000 Andrew Cooper <andrew.cooper3@citrix.com>:

> Does this mean there are SLES/OpenSUSE users of xenpvboot ?

We do not know. It is gone by now, in 4.18:

https://build.opensuse.org/request/show/1126897


Olaf

--Sig_/8gGv=m3XpvbQ14lQ=BVenXw
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

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

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmVeZ/4ACgkQ86SN7mm1
DoDCLw//TIxURzq5iiloV7xTzMS4F+kHVxSf1HEUpOTLHrHO/UxNY+KWf7Lhnuk7
9xb822TJ8ttZJlARsiA3XEAQELkODoENVUcl0apNVM9UUDG6AJ1SNZrptxFuQ8UX
UgQny6JLQ0iAHgXiKlSliUB5EjKGLtJU+xxWqK74X/mknKZX11AKENxSqmrsag8D
3jdTahSm853QeBCls6rjwEX+sOAYkoTRpajsUtnl0WTuwYB+UZyFAGMZ7GAzWyyP
Ra6VaTlX2FX+ur1S5IlxiqjhQCeLtaFDLI5Tar7s0lOLOewbGmmwf+QgGrRUta8d
HmbOb3vxcQQhMQPEpMmEsF56SKOlOZIv4rmAs+s/SxfElmM+5LfyjxI1uRMz6sPU
MNz9UBQvCo+Xyi0TS3Q8uoAQmtbx7Fdd2X5fSWVNHoz8wNriTXpX82MVErEuEt/U
nRqMkDB14Ent5bOcsC0O2fuIBfVGy9H21amUpI+uSUT6TrhFt0B7cgKsoBQNPVQo
1mZk7NyyIjAM8S4TkQlAm2FBvlVCSGgQav77mHlKkmrWEQS7dxFQ/WSwb+yROzI3
4hXxmxur4TGXrf5zITBTcfTHMtyOV7cKK0veHclQzjdzgqLh09UXuJgfXU9vKxQs
Xh27Oi7ieJHkNl1s6M5iA7P4b2WW1gPe6K186k9GurtYlfrLRRw=
=6CSs
-----END PGP SIGNATURE-----

--Sig_/8gGv=m3XpvbQ14lQ=BVenXw--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 20:46:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 20:46:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639163.996158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5u71-000084-5l; Wed, 22 Nov 2023 20:46:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639163.996158; Wed, 22 Nov 2023 20:46: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 1r5u71-00007u-19; Wed, 22 Nov 2023 20:46:19 +0000
Received: by outflank-mailman (input) for mailman id 639163;
 Wed, 22 Nov 2023 20:46: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5u6z-00007m-Mq
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 20:46:17 +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 2ea7ebba-8978-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 21:46:16 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-4094301d505so951485e9.2
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 12:46:16 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 e6-20020a5d5946000000b00332c36b6563sm269791wri.101.2023.11.22.12.46.15
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 12:46:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2ea7ebba-8978-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700685976; x=1701290776; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=5CCnMDItFYpBJqgA5iPVkAqT8XBVZoV9AbPn/QCCFgE=;
        b=C4l3BtZFuhvRbyg6vI2DSnGltSRrf96DtsGoeeURyvFjV22dl1rPmvtZdOuk42oqEl
         WKty//wlIL43n7qxKd2vc2eozsWKl6G209k4VeP2vZqB1JtWH/VJuy1a9S+E5LOsN0Uy
         9QiZwCkEpL+ojUwYGcWwxBmYrbHp/1iVijZ8w=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700685976; x=1701290776;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=5CCnMDItFYpBJqgA5iPVkAqT8XBVZoV9AbPn/QCCFgE=;
        b=sHjphZkVDP4oAB6nvZUQZ0bnxxQRg0A/qDz4D3RzuYgBjBFBlnLtAi3z2Vksbj7+IY
         GgohvVyDSU1THe9QmTtVJFnkEE/YD/futV8Dwq83zoCrhDVNb5H0/7OqDZwau8RrBM+A
         N3F7u0U7z+3bhEKpKgVaKDVwflmdMI9k9WaC9RHqSAbHpXuyEZKGOx7N1E6G+cgI1Wbe
         U3JHPBrnQFaL2PtCYugtcGk+yTiFZH68kKV0kn2tHC4lRZM3TwQkOj9F+ODJWtBgHVQj
         Jp6pY7j8SvUZ67TOdVKD77HSQf87fPmHoh73sfZAXd+mReFID6/bIU5yh5DxTHCbtzXh
         7fmw==
X-Gm-Message-State: AOJu0Yz8IRLA1OdYDfMvv23kWysSP4wgR/pmqWdwDIKXz+FWuSac5M+c
	/PGPUiUEz97vmAxAaDYr7EtTeQ==
X-Google-Smtp-Source: AGHT+IH5MysLvzXO4lS26blKN4j/5/ROjGaTJGmDUrXlVn3Fx7/kJHw0BvBPQPfalDbeSKCHaLargQ==
X-Received: by 2002:a05:600c:19ca:b0:407:8f23:cf3 with SMTP id u10-20020a05600c19ca00b004078f230cf3mr2655036wmq.26.1700685976331;
        Wed, 22 Nov 2023 12:46:16 -0800 (PST)
Message-ID: <32049b29-39eb-4031-b5ef-45d591208686@citrix.com>
Date: Wed, 22 Nov 2023 20:46:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/xenpvboot: remove as unable to convert to Python 3
Content-Language: en-GB
To: Olaf Hering <olaf@aepfle.de>
Cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231006145046.98450-1-roger.pau@citrix.com>
 <b46b276d-4df0-4c28-ba4c-e0147d0b98fd@citrix.com>
 <20231122214342.66d40d6c.olaf@aepfle.de>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231122214342.66d40d6c.olaf@aepfle.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 8:43 pm, Olaf Hering wrote:
> Wed, 22 Nov 2023 20:30:59 +0000 Andrew Cooper <andrew.cooper3@citrix.com>:
>
>> Does this mean there are SLES/OpenSUSE users of xenpvboot ?
> We do not know. It is gone by now, in 4.18:
>
> https://build.opensuse.org/request/show/1126897

Yes.  The email I replied to was the patch we merged into 4.18 deleting
it because we thought noone had ever made it function for Py3, with the
implication being that if this was going to be a problem, we could
reinstate it with the fixes from your patch.

But that entirely depends on whether you think anyone is using it or not.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 21:18:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 21:18:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639170.996166 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ucM-0000H2-Ax; Wed, 22 Nov 2023 21:18:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639170.996166; Wed, 22 Nov 2023 21: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 1r5ucM-0000Gv-8S; Wed, 22 Nov 2023 21:18:42 +0000
Received: by outflank-mailman (input) for mailman id 639170;
 Wed, 22 Nov 2023 21:18: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5ucK-0000CD-C0
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 21:18:40 +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 b2f6000a-897c-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 22:18:38 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id D6A35B829A4;
 Wed, 22 Nov 2023 21:18:35 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id D525CC433C7;
 Wed, 22 Nov 2023 21:18: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: b2f6000a-897c-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700687915;
	bh=EewVR80HMkkioeqsh2flkjPAQSyl9mvD4SiueovGads=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ZSETPo+5ya2Nl+LF6MRenfRdH3VBCzCRRx7w3acVcUGEl9tUIo+gZRKMttj5Z4boT
	 813NDJeUSLTLYmCwNtJtwDmHxzaWTWN4h84AdBm1et56xEOEfltxLSHirIh/SCyEGi
	 WVY7sFpConU+7fivxDoHjrsHzi/FCtSVq+NcjEwhjGfW7z/bH/0oNUM/n9/bQlKw9s
	 o+RUDxMw9d42PQMop/Uc/1x9Ftu9bDRcKLpEFZK+fQD6ARvAmo7jyCBIxvPz+PW64D
	 P4Xf3td2WZstLcoSMZtn6pYNU6TYSyXJbeX3Kts98aZRlANyjfemD8j6ZM7rUuRIdQ
	 X1Je/y1AbVxAQ==
Date: Wed, 22 Nov 2023 13:18:32 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Julien Grall <julien@xen.org>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
In-Reply-To: <ZV3r1uc3av1wQu4W@macbook>
Message-ID: <alpine.DEB.2.22.394.2311221306060.2053963@ubuntu-linux-20-04-desktop>
References: <87o7ft44bv.fsf@epam.com> <alpine.DEB.2.22.394.2311161651090.773207@ubuntu-linux-20-04-desktop> <87a5rc4gk7.fsf@epam.com> <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org> <8734x43zxi.fsf@epam.com> <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
 <87edgo2f6j.fsf@epam.com> <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop> <87ttpg0wdx.fsf@epam.com> <alpine.DEB.2.22.394.2311211712090.2053963@ubuntu-linux-20-04-desktop> <ZV3r1uc3av1wQu4W@macbook>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1579814357-1700687241=:2053963"
Content-ID: <alpine.DEB.2.22.394.2311221307320.2053963@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-1579814357-1700687241=:2053963
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311221307321.2053963@ubuntu-linux-20-04-desktop>

On Wed, 22 Nov 2023, Roger Pau Monné wrote:
> On Tue, Nov 21, 2023 at 05:12:15PM -0800, Stefano Stabellini wrote:
> > On Tue, 20 Nov 2023, Volodymyr Babchuk wrote:
> > > Stefano Stabellini <sstabellini@kernel.org> writes:
> > > > On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> > > >> > On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> > > >> >> Hi Julien,
> > > >> >> 
> > > >> >> Julien Grall <julien@xen.org> writes:
> > > >> >> 
> > > >> >> > Hi Volodymyr,
> > > >> >> >
> > > >> >> > On 17/11/2023 14:09, Volodymyr Babchuk wrote:
> > > >> >> >> Hi Stefano,
> > > >> >> >> Stefano Stabellini <sstabellini@kernel.org> writes:
> > > >> >> >> 
> > > >> >> >>> On Fri, 17 Nov 2023, Volodymyr Babchuk wrote:
> > > >> >> >>>>> I still think, no matter the BDF allocation scheme, that we should try
> > > >> >> >>>>> to avoid as much as possible to have two different PCI Root Complex
> > > >> >> >>>>> emulators. Ideally we would have only one PCI Root Complex emulated by
> > > >> >> >>>>> Xen. Having 2 PCI Root Complexes both of them emulated by Xen would be
> > > >> >> >>>>> tolerable but not ideal.
> > > >> >> >>>>
> > > >> >> >>>> But what is exactly wrong with this setup?
> > > >> >> >>>
> > > >> >> >>> [...]
> > > >> >> >>>
> > > >> >> >>>>> The worst case I would like to avoid is to have
> > > >> >> >>>>> two PCI Root Complexes, one emulated by Xen and one emulated by QEMU.
> > > >> >> >>>>
> > > >> >> >>>> This is how our setup works right now.
> > > >> >> >>>
> > > >> >> >>> If we have:
> > > >> >> >>> - a single PCI Root Complex emulated in Xen
> > > >> >> >>> - Xen is safety certified
> > > >> >> >>> - individual Virtio devices emulated by QEMU with grants for memory
> > > >> >> >>>
> > > >> >> >>> We can go very far in terms of being able to use Virtio in safety
> > > >> >> >>> use-cases. We might even be able to use Virtio (frontends) in a SafeOS.
> > > >> >> >>>
> > > >> >> >>> On the other hand if we put an additional Root Complex in QEMU:
> > > >> >> >>> - we pay a price in terms of complexity of the codebase
> > > >> >> >>> - we pay a price in terms of resource utilization
> > > >> >> >>> - we have one additional problem in terms of using this setup with a
> > > >> >> >>>    SafeOS (one more device emulated by a non-safe component)
> > > >> >> >>>
> > > >> >> >>> Having 2 PCI Root Complexes both emulated in Xen is a middle ground
> > > >> >> >>> solution because:
> > > >> >> >>> - we still pay a price in terms of resource utilization
> > > >> >> >>> - the code complexity goes up a bit but hopefully not by much
> > > >> >> >>> - there is no impact on safety compared to the ideal scenario
> > > >> >> >>>
> > > >> >> >>> This is why I wrote that it is tolerable.
> > > >> >> >> Ah, I see now. Yes, I am agree with this. Also I want to add some
> > > >> >> >> more
> > > >> >> >> points:
> > > >> >> >> - There is ongoing work on implementing virtio backends as a
> > > >> >> >> separate
> > > >> >> >>    applications, written in Rust. Linaro are doing this part. Right now
> > > >> >> >>    they are implementing only virtio-mmio, but if they want to provide
> > > >> >> >>    virtio-pci as well, they will need a mechanism to plug only
> > > >> >> >>    virtio-pci, without Root Complex. This is argument for using single Root
> > > >> >> >>    Complex emulated in Xen.
> > > >> >> >> - As far as I know (actually, Oleksandr told this to me), QEMU has
> > > >> >> >> no
> > > >> >> >>    mechanism for exposing virtio-pci backends without exposing PCI root
> > > >> >> >>    complex as well. Architecturally, there should be a PCI bus to which
> > > >> >> >>    virtio-pci devices are connected. Or we need to make some changes to
> > > >> >> >>    QEMU internals to be able to create virtio-pci backends that are not
> > > >> >> >>    connected to any bus. Also, added benefit that PCI Root Complex
> > > >> >> >>    emulator in QEMU handles legacy PCI interrupts for us. This is
> > > >> >> >>    argument for separate Root Complex for QEMU.
> > > >> >> >> As right now we have only virtio-pci backends provided by QEMU and
> > > >> >> >> this
> > > >> >> >> setup is already working, I propose to stick to this
> > > >> >> >> solution. Especially, taking into account that it does not require any
> > > >> >> >> changes to hypervisor code.
> > > >> >> >
> > > >> >> > I am not against two hostbridge as a temporary solution as long as
> > > >> >> > this is not a one way door decision. I am not concerned about the
> > > >> >> > hypervisor itself, I am more concerned about the interface exposed by
> > > >> >> > the toolstack and QEMU.
> > > >> >
> > > >> > I agree with this...
> > > >> >
> > > >> >
> > > >> >> > To clarify, I don't particular want to have to maintain the two
> > > >> >> > hostbridges solution once we can use a single hostbridge. So we need
> > > >> >> > to be able to get rid of it without impacting the interface too much.
> > > >> >
> > > >> > ...and this
> > > >> >
> > > >> >
> > > >> >> This depends on virtio-pci backends availability. AFAIK, now only one
> > > >> >> option is to use QEMU and QEMU provides own host bridge. So if we want
> > > >> >> get rid of the second host bridge we need either another virtio-pci
> > > >> >> backend or we need to alter QEMU code so it can live without host
> > > >> >> bridge.
> > > >> >> 
> > > >> >> As for interfaces, it appears that QEMU case does not require any changes
> > > >> >> into hypervisor itself, it just boils down to writing couple of xenstore
> > > >> >> entries and spawning QEMU with correct command line arguments.
> > > >> >
> > > >> > One thing that Stewart wrote in his reply that is important: it doesn't
> > > >> > matter if QEMU thinks it is emulating a PCI Root Complex because that's
> > > >> > required from QEMU's point of view to emulate an individual PCI device.
> > > >> >
> > > >> > If we can arrange it so the QEMU PCI Root Complex is not registered
> > > >> > against Xen as part of the ioreq interface, then QEMU's emulated PCI
> > > >> > Root Complex is going to be left unused. I think that would be great
> > > >> > because we still have a clean QEMU-Xen-tools interface and the only
> > > >> > downside is some extra unused emulation in QEMU. It would be a
> > > >> > fantastic starting point.
> > > >> 
> > > >> I believe, that in this case we need to set manual ioreq handlers, like
> > > >> what was done in patch "xen/arm: Intercept vPCI config accesses and
> > > >> forward them to emulator", because we need to route ECAM accesses
> > > >> either to a virtio-pci backend or to a real PCI device. Also we need
> > > >> to tell QEMU to not install own ioreq handles for ECAM space.
> > > >
> > > > I was imagining that the interface would look like this: QEMU registers
> > > > a PCI BDF and Xen automatically starts forwarding to QEMU ECAM
> > > > reads/writes requests for the PCI config space of that BDF only. It
> > > > would not be the entire ECAM space but only individual PCI conf
> > > > reads/writes that the BDF only.
> > > >
> > > 
> > > Okay, I see that there is the
> > > xendevicemodel_map_pcidev_to_ioreq_server() function and corresponding
> > > IOREQ_TYPE_PCI_CONFIG call. Is this what you propose to use to register
> > > PCI BDF?
> > 
> > Yes, I think that's best.
> > 
> > Let me expand on this. Like I wrote above, I think it is important that
> > Xen vPCI is the only in-use PCI Root Complex emulator. If it makes the
> > QEMU implementation easier, it is OK if QEMU emulates an unneeded and
> > unused PCI Root Complex. From Xen point of view, it doesn't exist.
> > 
> > In terms if ioreq registration, QEMU calls
> > xendevicemodel_map_pcidev_to_ioreq_server for each PCI BDF it wants to
> > emulate. That way, Xen vPCI knows exactly what PCI config space
> > reads/writes to forward to QEMU.
> > 
> > Let's say that:
> > - 00:02.0 is PCI passthrough device
> > - 00:03.0 is a PCI emulated device
> > 
> > QEMU would register 00:03.0 and vPCI would know to forward anything
> > related to 00:03.0 to QEMU, but not 00:02.0.
> 
> I think there's some work here so that we have a proper hierarchy
> inside of Xen.  Right now both ioreq and vpci expect to decode the
> accesses to the PCI config space, and setup (MM)IO handlers to trap
> ECAM, see vpci_ecam_{read,write}().
> 
> I think we want to move to a model where vPCI doesn't setup MMIO traps
> itself, and instead relies on ioreq to do the decoding and forwarding
> of accesses.  We need some work in order to represent an internal
> ioreq handler, but that shouldn't be too complicated.  IOW: vpci
> should register devices it's handling with ioreq, much like QEMU does.

I think this could be a good idea.

This would be the very first IOREQ handler implemented in Xen itself,
rather than outside of Xen. Some code refactoring might be required,
which worries me given that vPCI is at v10 and has been pending for
years. I think it could make sense as a follow-up series, not v11.

I think this idea would be beneficial if, in the example above, vPCI
doesn't really need to know about device 00:03.0. vPCI registers via
IOREQ the PCI Root Complex and device 00:02.0 only, QEMU registers
00:03.0, and everything works. vPCI is not involved at all in PCI config
space reads and writes for 00:03.0. If this is the case, then moving
vPCI to IOREQ could be good.

On the other hand if vPCI actually needs to know that 00:03.0 exists,
perhaps because it changes something in the PCI Root Complex emulation
or vPCI needs to take some action when PCI config space registers of
00:03.0 are written to, then I think this model doesn't work well. If
this is the case, then I think it would be best to keep vPCI as MMIO
handler and let vPCI forward to IOREQ when appropriate.

I haven't run any experiements, but my gut feeling tells me that we'll
have to follow the second approach because the first is too limiting.
--8323329-1579814357-1700687241=:2053963--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 21:22:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 21:22:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639172.996177 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ugI-0001z1-Sj; Wed, 22 Nov 2023 21:22:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639172.996177; Wed, 22 Nov 2023 21: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 1r5ugI-0001yu-Ou; Wed, 22 Nov 2023 21:22:46 +0000
Received: by outflank-mailman (input) for mailman id 639172;
 Wed, 22 Nov 2023 21:22: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5ugH-0001ym-3X
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 21:22:45 +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 45f32b3f-897d-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 22:22:43 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id E6A5FB8294A;
 Wed, 22 Nov 2023 21:22:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CD40FC433C7;
 Wed, 22 Nov 2023 21:22: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: 45f32b3f-897d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700688162;
	bh=bDAfhEPHzjlzjMoZSvWFqcBnRX6fVs7/i5GdDg5IL4Q=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=G/cB3mAnUJIE1Jbb7qAZoNtYssoqPXhqUANXxvj0JIYpjCkUFcBPmMBYf8QwxBFBt
	 pxYqRyRMIZ6xfVoG1HEXRqnFLYh+UHe2vd4Du6zWzdSRB2uzusxW+r9G9cdMJTJFb4
	 Yl82hNBJ3XUOshVbqJ4+CXhJx4aw7D070DNUWFMfzXE11GwSlJpATNDOmJl/aReamZ
	 +TV/mhOd1Bl2MJe16gljXB+f1YJbIF5QxWvtomeYat1eE3sGGHDje18e0sGzIfL3Cg
	 x9uRAj35ZK4R+pGj6wIkzokPmE5YLo7b1tPIowdVsgUhAtihuwwLmnNlTni04E6g4D
	 1gnFhfcMcS4wA==
Date: Wed, 22 Nov 2023 13:22:39 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    Xen Devel <xen-devel@lists.xenproject.org>, 
    Consulting <consulting@bugseng.com>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Roger Pau <roger.pau@citrix.com>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>
Subject: Re: Devise macros to encapsulate (x & -x)
In-Reply-To: <054ccbe1173f4a9ec27ca4201e6d74a2@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311221322270.2053963@ubuntu-linux-20-04-desktop>
References: <08e6cb27d65250d109df0ef8a49dc80a@bugseng.com> <ddb70b8e-e014-4389-9572-8d5272a73ec3@citrix.com> <alpine.DEB.2.22.394.2311171845440.773207@ubuntu-linux-20-04-desktop> <da1d557a-6030-4dd8-a875-af733572fc48@xen.org>
 <alpine.DEB.2.22.394.2311211742400.2053963@ubuntu-linux-20-04-desktop> <1799e5c8-ab8a-453f-96f0-c3b66ae446e1@suse.com> <054ccbe1173f4a9ec27ca4201e6d74a2@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, Nicola Vetrini wrote:
> > > 
> > > Jan, would you be willing to accept that other maintainers have a
> > > preference for having a single MACRO even if suboptimal?
> > 
> > I can live with that, even if I'm surprised by this perspective that others
> > take. How can we, in reviews, tell people to make sure arguments are
> > evaluated only once, when then we deliberately do otherwise in a case like
> > the one here? The criteria of "not likely to be used in cases that have
> > side effects" is an extremely fuzzy and sufficiently weak one, imo. I for
> > one am even worried about the uses in MASK_EXTR() / MASK_INSR(), and would
> > have considered introducing single-evaluation forms there as well.
> > 
> > > If so, can we go ahead and commit the original patches?
> > 
> > Well, the renaming needs to be done there anyway.
> > 
> 
> I can do the renaming if you don't feel particularly safe doing it on commit

Please resend


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 21:27:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 21:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639177.996186 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5ukl-0003bU-Hc; Wed, 22 Nov 2023 21:27:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639177.996186; Wed, 22 Nov 2023 21:27: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 1r5ukl-0003bN-F0; Wed, 22 Nov 2023 21:27:23 +0000
Received: by outflank-mailman (input) for mailman id 639177;
 Wed, 22 Nov 2023 21:27: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=AOK2=HD=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1r5ukk-0003bH-Qo
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 21:27:22 +0000
Received: from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de
 [81.169.146.166]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebe5d368-897d-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 22:27:21 +0100 (CET)
Received: from sender by smtp.strato.de (RZmta 49.9.1 AUTH)
 with ESMTPSA id g1b15czAMLRIsQS
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Wed, 22 Nov 2023 22:27:18 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebe5d368-897d-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; t=1700688439; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=r+tqHCtbtCmApSvipIm1/8KHbfVAzRLLot/AXWrQ6246M4abd/ifSVUN45qiAp8lRH
    v9EA4xkmhIeVTJDQiezUzyuhPremQk6TNEFub18rIz3OuKwNGlwSXh1idAdxaK4CviHI
    0d2+2B3iv/OU2L/Wj9WWYd7w1KB9s5G8mFDvZ1S0MYv4zeAZ7YiFGjx0x9HQJpo/M6sF
    53bxmGOldnvP5kMv1gTmAWkxE01+H6spX1/M0A6IjhXyWk0fD4xltPJiT28bEtsc9dYL
    TCLqJbXF2NsZxfMBcFN6mm89uoqYpa42w/e6pgI8p7Kv46TTnHzJQr6FzHYWZHXg+9q3
    u4CQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1700688439;
    s=strato-dkim-0002; d=strato.com;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=foTJpU454EL4ah/g/oxUuKjnhAc7F+3XC0RxCXsR93s=;
    b=UKDtVp2lIgcDZ34a2j4kRLYeMJL/z0vhb4HDpV7Lf2ulYQIoWCXhkPj8rxs6vXUVho
    5fHbhgfIJPJiKGLxn/QS4nHZLPixlqlOjJFbAHAbbGXd+UYZhOPBGUXK3GwQGD8gwHvd
    1A5NydEdRJ7tPhmnu8xyy8YLwitaaRgFgPVRAg1A+9/VTdKNMULDc0cf9mjuhJVMmMzw
    2zdEo3QnCjglKVIsEUVzcSGrpUhzCEfUJ0EVW/UUFmEE4zDnjBZA+1Sdkg5+b3rTWWYa
    byKJeIfxagr2WLkM4nDOkqocSf6EIbp8CXqPxS4V8Dl5/GAuJQx+3iu1ZOuzln0OKlK1
    Ql9w==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo01
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1700688439;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=foTJpU454EL4ah/g/oxUuKjnhAc7F+3XC0RxCXsR93s=;
    b=fm8vlGF06puq9F+pUaix6XA+obL87NbX3E8upVWwE6Y1z9nJvBo14AfBWYGLNU6+E3
    /Hi7+M6IZ+5ZoulWFfu9CdnMeMOm9YyWXJqlSB6LQT1fLYJZ9ag4rWjCyBhtIWDdicd9
    gXL2dNlRwZxSL4HaIWUfGVEWX5MLJuv7kWIr9+UMDLZH75bSWTbmm6mYns/S2ZRELgel
    T6PPlzYiHAtwee2JMHbiN54zMyRqyvB/1zeUfP2zg8ZBSbbMJFN3jOYC62k2T0qdE2M2
    t/yD7Ubk3YqbzQ9Vwa1kVbktDNEMtyUWNhowncmsraE7D/fIYZwTgSjbCCh6U4UcMj0A
    OBiw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1700688439;
    s=strato-dkim-0003; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=foTJpU454EL4ah/g/oxUuKjnhAc7F+3XC0RxCXsR93s=;
    b=fAUlbszEOldEnDrFp4czJERQYEQLvi966W4ugS89+62yGKkDQIf7tAEnzrjfogiav+
    Y30838dmtAiphZkN8ECg==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR5VxOIOx7sW7Yq7k+0gzUhLCSnSrvMYFPvEI3Cdw=="
Date: Wed, 22 Nov 2023 22:27:09 +0100
From: Olaf Hering <olaf@aepfle.de>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>, Anthony PERARD
 <anthony.perard@citrix.com>
Subject: Re: [PATCH] tools/xenpvboot: remove as unable to convert to Python
 3
Message-ID: <20231122222709.68904661.olaf@aepfle.de>
In-Reply-To: <32049b29-39eb-4031-b5ef-45d591208686@citrix.com>
References: <20231006145046.98450-1-roger.pau@citrix.com>
	<b46b276d-4df0-4c28-ba4c-e0147d0b98fd@citrix.com>
	<20231122214342.66d40d6c.olaf@aepfle.de>
	<32049b29-39eb-4031-b5ef-45d591208686@citrix.com>
X-Mailer: Claws Mail 20230817T113819.a897c59c hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/0kiu05xIrxGj/67VmJuJDM0";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/0kiu05xIrxGj/67VmJuJDM0
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Wed, 22 Nov 2023 20:46:15 +0000 Andrew Cooper <andrew.cooper3@citrix.com>:

> But that entirely depends on whether you think anyone is using it or not.

We never got any bugreport, nor have we any indication for actual usage.
The script was in the sources. Python3 is supposed to be the default
interpreter since a number of years, so something had to be done with
every installed python script in the sources.

I think if anyone shows up and demands this script, it could be restored.
Otherwise it is one less thing to worry about.


Olaf

--Sig_/0kiu05xIrxGj/67VmJuJDM0
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

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

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmVeci0ACgkQ86SN7mm1
DoAb+A/5AVENxx+ypDaOlDmfF264Lksgh+rgcrhUDU8qb3h63X+6xgWwu0bmoqqN
+diaJRU4HkDv2zM7f2hcyCq1D0VBGwiJr66kiok3GnSqLyxminQWG90E5oDwvVp8
jiBdfnQSDHwTLS2YCqaW6RT4Uz0zQHIGHBWvj9keVk/xnDaCaf7egypkdjvuODEO
/xUXjK2IrXU0PldNtTpyOP7/rVNtYC+59pMOjTN79Rd9ZgkdLG+oHsN5Eq3B2pQR
Yv7bJRElu05SsRNn5gGe1NORcdJV1yWVgMVoJ/edvW/K44Pq1UuLXQ3JeokpZ0Ex
zbzCLBGOVm0H3w86dFGrEvlLm9kXIYd2CWtH94FxFaxSPwyvL5rJwMubCvPZc++H
cVEzmKbcc46HT+uNYfl7XYKLygx98qthdBD36Vgx4MTEj8vSX3iIAHDgupBHRx0R
b/e5j59Z4uxO3w0v1WMc/6bqSGfKwG80Ww2jRBG4cQUEx7zuBfZIIQZAejrt0Dgd
33nSz4Ndpv5jUwiflGomJdOU304mOX+nITqvK8DB6FJiG7HOQkvwVm5adleEqEHT
Djkw6ZU5yC7J2fiq8aIHmdwH6+mgv+GMJ+g+peDDb3dfwHqWrpFOzKK/NCAKLbZe
Anz3IWWQ3UBjF85lcbh0KVH4Qj/go3QSxcoUgF5S0/WtRJaJfeQ=
=YSm/
-----END PGP SIGNATURE-----

--Sig_/0kiu05xIrxGj/67VmJuJDM0--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 21:29:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 21:29:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639180.996196 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5un1-0004XL-Tz; Wed, 22 Nov 2023 21:29:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639180.996196; Wed, 22 Nov 2023 21: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 1r5un1-0004XE-RA; Wed, 22 Nov 2023 21:29:43 +0000
Received: by outflank-mailman (input) for mailman id 639180;
 Wed, 22 Nov 2023 21:29: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5un0-0004X6-Nj
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 21:29:42 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e84523d-897e-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 22:29:40 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-40b36339549so21095e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 13:29:40 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 k26-20020a05600c1c9a00b0040a487758dcsm550690wms.6.2023.11.22.13.29.39
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 13:29:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e84523d-897e-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700688580; x=1701293380; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=8GY8DOY9bzckqDt9i2OHY0rG1CpJnQnrL7Hypndphc0=;
        b=XN57cyJOy3ZcQiYrlqUOUdwVV4qNOw/UYuic2I0hQEuoX8s+eO96qTkkK9I2GGbL7F
         IE5ZGvWYw7ERnjh7AQu6UEc+Po0tDLyYOUI5fHGIW0xAkCE2BND9Tq34O9GNYkKAODNe
         r81EUn2iqMw9Ur1vD/lPNbCkw6pz+BxXrJK4Y=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700688580; x=1701293380;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=8GY8DOY9bzckqDt9i2OHY0rG1CpJnQnrL7Hypndphc0=;
        b=pD3yCkzmH9UHW7UAR4NQ3+TEyfNnKftOQkeq05azAdTu6RXPk0YihzoWKKWn2Ny461
         oDdl/dWLfwzb6CVOzSFZRiuMDTog+DYaygzBm28KiTMhM+W1TWKbLGlDgSJBMgD1nqXk
         VW0i/Ye/IdbKeF3/XsSoETVhhn6+xnQRoukviVN6YST2AKbqtwW3YIw542hCDw63z8ZV
         eSCVGfuLGGrjKMLAwL0YpgVB1cjV6ow2wtGb/3L2w22FBrTqrZ0qiTItsrcenQtRad7p
         87JDUg3BJCtJt/lmn5PW3bRfFVgdJphcInigP4y9xt2K7mtvFwG9HcDtd814ehHvoYaI
         w+vg==
X-Gm-Message-State: AOJu0YzRREh84X2EJlWWUoUJ54o+GGdc80+lSl9/c3VpRMmy7XnpyC8H
	5ro8f53/MOZDAjBvuevzvh1XGQ==
X-Google-Smtp-Source: AGHT+IGUimytNmlYk2aCBVLydocWOmum7V6Rdbcotr7p5o96UiqwLUR9ViVQsDdW873bTWDhtS/4Lg==
X-Received: by 2002:a05:600c:4707:b0:404:fc52:a3c6 with SMTP id v7-20020a05600c470700b00404fc52a3c6mr2574433wmo.25.1700688579876;
        Wed, 22 Nov 2023 13:29:39 -0800 (PST)
Message-ID: <f66e64c9-900b-4d39-bdc8-e2c0e97d1303@citrix.com>
Date: Wed, 22 Nov 2023 21:29:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] tools/xenpvboot: remove as unable to convert to Python 3
Content-Language: en-GB
To: Olaf Hering <olaf@aepfle.de>
Cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org,
 Juergen Gross <jgross@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>
References: <20231006145046.98450-1-roger.pau@citrix.com>
 <b46b276d-4df0-4c28-ba4c-e0147d0b98fd@citrix.com>
 <20231122214342.66d40d6c.olaf@aepfle.de>
 <32049b29-39eb-4031-b5ef-45d591208686@citrix.com>
 <20231122222709.68904661.olaf@aepfle.de>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231122222709.68904661.olaf@aepfle.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 22/11/2023 9:27 pm, Olaf Hering wrote:
> Wed, 22 Nov 2023 20:46:15 +0000 Andrew Cooper <andrew.cooper3@citrix.com>:
>
>> But that entirely depends on whether you think anyone is using it or not.
> We never got any bugreport, nor have we any indication for actual usage.
> The script was in the sources. Python3 is supposed to be the default
> interpreter since a number of years, so something had to be done with
> every installed python script in the sources.
>
> I think if anyone shows up and demands this script, it could be restored.
> Otherwise it is one less thing to worry about.

Ok.  Lets leave it to rest as it is.

If we need to resurrect it, there's enough context on this thread to get
a Py3 compatible one.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 21:47:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 21:47:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639201.996207 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5v3e-00006S-AW; Wed, 22 Nov 2023 21:46:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639201.996207; Wed, 22 Nov 2023 21:46: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 1r5v3e-00006L-7o; Wed, 22 Nov 2023 21:46:54 +0000
Received: by outflank-mailman (input) for mailman id 639201;
 Wed, 22 Nov 2023 21:46: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5v3c-00006F-Av
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 21:46:52 +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 a3f3d083-8980-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 22:46:50 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id D9EFCB827AC;
 Wed, 22 Nov 2023 21:46:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DA7AFC433C8;
 Wed, 22 Nov 2023 21:46: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: a3f3d083-8980-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700689607;
	bh=LRkoP6ih25g5CenKtlE7D41MaEgKKhlp0jpndEkCi6E=;
	h=Date:From:To:cc:Subject:From;
	b=liK0uIN1h4qos8kNOaTH60qNMnRT6VlvZAYbS1/S1ARosiMTKpFJkVWsS8tvK6JQP
	 vJi4jZg5m2fBucqpYIjJGQytUdfY7BTpEM+ayqs+7nzr9xtKCVQo3LsuVNLamDiVA6
	 mLx07tSWe4lifANRiAp7dUwCK0vwVWV96Dl7BvcNgEH8ehFmTd1ocgXGqy5nv0nUCW
	 BcCN9ZDfruWYQ5UtaZAVhPvp4mmyC7sH0IcOZwXNaFN8WnLNhFxao9tprH+1kgVlqA
	 r6kopx+PYBmbTNIO7nhbb1u03NzAH9fqav5Vxt9cdc/7udrQh4lf4vKK8IhKKEKnl+
	 AM1W3rYdJJ+1g==
Date: Wed, 22 Nov 2023 13:46:45 -0800 (PST)
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, federico.serafini@bugseng.com, 
    Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>
Subject: [PATCH] do_multicall and MISRA Rule 8.3
Message-ID: <alpine.DEB.2.22.394.2311221331130.2053963@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

Two out of three do_multicall definitions/declarations use uint32_t as
type for the "nr_calls" parameters. Change the third one to be
consistent with the other two. 

Link: https://lore.kernel.org/xen-devel/7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com/
Link: https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2308251502430.6458@ubuntu-linux-20-04-desktop/
Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
---
Note that a previous discussion showed disagreement between maintainers
on this topic. The source of disagreements are that we don't want to
change a guest-visible ABI and we haven't properly documented how to use
types for guest ABIs.

As an example, fixed-width types have the advantage of being explicit
about their size but sometimes register-size types are required (e.g.
unsigned long). The C specification says little about the size of
unsigned long and today, and we even use unsigned int in guest ABIs
without specifying the expected width of unsigned int on the various
arches. As Jan pointed out, in Xen we assume sizeof(int) >= 4, but
that's not written anywhere as far as I can tell.

I think the appropriate solution would be to document properly our
expectations of both fixed-width and non-fixed-width types, and how to
use them for guest-visible ABIs.

In this patch I used uint32_t for a couple of reasons:
- until we have better documentation, I feel more confident in using
  explicitly-sized integers in guest-visible ABIs
- 2/3 of the do_multicall definition/declaration are using uint32_t

diff --git a/xen/include/hypercall-defs.c b/xen/include/hypercall-defs.c
index 6d361ddfce..8b8ee16074 100644
--- a/xen/include/hypercall-defs.c
+++ b/xen/include/hypercall-defs.c
@@ -172,7 +172,7 @@ console_io(unsigned int cmd, unsigned int count, char *buffer)
 vm_assist(unsigned int cmd, unsigned int type)
 event_channel_op(int cmd, void *arg)
 mmuext_op(mmuext_op_t *uops, unsigned int count, unsigned int *pdone, unsigned int foreigndom)
-multicall(multicall_entry_t *call_list, unsigned int nr_calls)
+multicall(multicall_entry_t *call_list, uint32_t nr_calls)
 #ifdef CONFIG_PV
 mmu_update(mmu_update_t *ureqs, unsigned int count, unsigned int *pdone, unsigned int foreigndom)
 stack_switch(unsigned long ss, unsigned long esp)


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:04:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:04:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639206.996223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vKf-0004jK-P9; Wed, 22 Nov 2023 22:04:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639206.996223; Wed, 22 Nov 2023 22: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 1r5vKf-0004jD-MF; Wed, 22 Nov 2023 22:04:29 +0000
Received: by outflank-mailman (input) for mailman id 639206;
 Wed, 22 Nov 2023 22: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=SF1Q=HD=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r5vKe-0004j7-80
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:04:28 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e89::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 195625ba-8983-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 23:04:26 +0100 (CET)
Received: from DS7PR03CA0224.namprd03.prod.outlook.com (2603:10b6:5:3ba::19)
 by DM6PR12MB4219.namprd12.prod.outlook.com (2603:10b6:5:217::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 22:04:22 +0000
Received: from DS2PEPF0000343C.namprd02.prod.outlook.com
 (2603:10b6:5:3ba:cafe::d4) by DS7PR03CA0224.outlook.office365.com
 (2603:10b6:5:3ba::19) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Wed, 22 Nov 2023 22:04:22 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF0000343C.mail.protection.outlook.com (10.167.18.39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Wed, 22 Nov 2023 22:04:22 +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.2507.34; Wed, 22 Nov
 2023 16:04:21 -0600
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.2507.34; Wed, 22 Nov
 2023 16:04:21 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 22 Nov 2023 16:04:20 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 195625ba-8983-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FUwMIIDa1D+j0dLRMAGx030s79N16aqn1cBdXzIt3J5lqJLz0kd2a2dCg/1kifalWofRKlAkp6cslkBxFwtKU9Ow3SnEni8lzg/oz8C3QXVhqfiICF+aabVH8fauPRTHv9yQXYRCg6u7e840lNjU9vsWjM8eq5m5nY1F/8Up0vIXb0x+SGb3lMPOfztCgxBwNPyx4nCfyLW/W8W575iHz6/ZHey5EZwDz7C9Ad0UwtgTtra1VcWQWwcrWaIvRiurtnSuowTebKKQWruxRxbSpW8NBB/k5PIO/oBG/Re51jc3ESdRGjHEXDNhTPZ/mWthoEsZ7r4xe1dsZefQAdEG1A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1bFTDEX9ni1HvXW1C3ekUleWSyiRUl0tug/LRkLOJAY=;
 b=ZKdvsGfaGDzcW27GhW6Cd9TosHptq2h4sWKkcb/WRRI+hQHkBa9KhSFKCT2+PhvPLNC2KNvVS18d6p/BKY9NOfCOnkbhj/wcq0kYp48gHfmnW6LVvMT5nucGckQ7Fl2J8n0sNlYPkFHjDgd09ZHfOpqicDR0TJyW2Guy84Q0BSjA8y3MFJSvww5pAAJC1cJxcgtvKKbEmjzVnpo8xfxlLGlB2e0VXk1TrfqMB2IuxSxUnXNzePcl2utZU8OwlHwz568TITbpXTprOz0LvLkxBeK84VaiDI9o1et6/iChkuoIHi3f3MIZpuGiPbJKUc6KX4ciaMOct/g6NNqSvuiufQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=1bFTDEX9ni1HvXW1C3ekUleWSyiRUl0tug/LRkLOJAY=;
 b=KY9iVT3xhfkfPeA1z46z5GiOOfmj8PlZBBro3sMWA4sbTOueWJNMbQNyiayduYW1Bv4ZnughVpIcIzuSUV3CExHpuQkBzVKeOM0IPCfk/aAxsX5J8GteMyaA2FykPAJ1yJVSdJHvQpJtVFCZvg1cSeBH2KMUZXDJR41mxXCAG1w=
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: <3218335a-45fd-4a8a-9b6b-f902018a941f@amd.com>
Date: Wed, 22 Nov 2023 17:04:19 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] xen/vpci: header: status register handler
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@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>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVdrqg4rc_B4sxfu@macbook.local>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <ZVdrqg4rc_B4sxfu@macbook.local>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF0000343C:EE_|DM6PR12MB4219:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c2ae2dc-5498-4a5b-c6d9-08dbeba6fc00
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xm0Wkd/VOKL2IoNxkvqdr4I94tiNV6yauvjtuUGmDNXqG+MCfNQEj5GXYWxH0EQwwUscf7SOybzEpVAduiDDKqRBBPzoHPjZglhF/0sbPf+VY0/vEtmCMKd7q4t6mGEp6J6/0sfQMbX4hZeTxWUaf9ovW3u0vPpgRzQwaK6EnR1gFCapxZgtLE66yiVX8ZlV+P0snHdtFnWXoE6RqQ+eJt4yzy+TJnJbXDigBEdpBMcubweKTIcgeIwyVaNU2hSplnHKJrb9DQVe4zu5NnWwQzBwNNSUyoyxgXcFxUAJbkCSdG3gLsIzhX9zUkR91j4sRrRAdmA/oILTIAfKK3SYjih4opNU7w3gnYybajhTRGJ0VOQiw6A8a2Obizt1Hj7JSbsdz36QkAiqInhaOZvyZCPJ31wJycoWDfqazdGPovCfAlRMrQvjPhQSBIZV/x35eKQNEZfCkrb6PSI28glsyCgkZ2OJKnYKTLEogJ165kg3rz3s9qZRlBjkb+dnlfUXyYhzRn5CP/I6JvAzHq1CrV9QOS6OHgSm3p0qjjbkCrM7TK1dEGINevdadGumC/Vgr9C7aE/6r8vO/v6CMSKz1dN1GazoG/Jkh5gr/7j9vJjjFN5lOQfZ9AGAkWeK74LMOoPwh/RFvaLDu3wm/vkIPi1dJt8N8G+liZmchkP0XZUGO65wt/Tyeaej3T44VjScP5b6+CaVDRiEJJJYaCYWa1ZGV3sygWFTRi0HqaPyFAzHLo4t/nw/uLCqObz0v/SKa3eNlLtD4pXetSxmNFUEZz0lXhydRtNK123W606NHu7l6fI6s3mA1MJtuFKGoGE5
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:(13230031)(4636009)(346002)(136003)(396003)(376002)(39860400002)(230922051799003)(1800799012)(186009)(82310400011)(64100799003)(451199024)(36840700001)(46966006)(40470700004)(6916009)(41300700001)(4744005)(31686004)(2906002)(5660300002)(44832011)(8936002)(316002)(54906003)(16576012)(4326008)(70586007)(70206006)(8676002)(478600001)(53546011)(40480700001)(426003)(36860700001)(336012)(26005)(2616005)(40460700003)(47076005)(81166007)(36756003)(31696002)(86362001)(356005)(82740400003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 22:04:22.6658
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c2ae2dc-5498-4a5b-c6d9-08dbeba6fc00
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:
	DS2PEPF0000343C.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4219

On 11/17/23 08:33, Roger Pau Monné wrote:
> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
>> +int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler,
>> +                           vpci_write_t *write_handler, unsigned int offset,
>> +                           unsigned int size, void *data, uint32_t rsvdz_mask,
>> +                           uint32_t ro_mask, uint32_t rw1c_mask)
> 
> Forgot to mention, it would be good if you can add some tests in
> tools/tests/vpci that ensure the masks work as expected.

Will do

> 
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:05:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:05:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639208.996233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vM1-0005GQ-49; Wed, 22 Nov 2023 22:05:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639208.996233; Wed, 22 Nov 2023 22:05: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 1r5vM1-0005GJ-1W; Wed, 22 Nov 2023 22:05:53 +0000
Received: by outflank-mailman (input) for mailman id 639208;
 Wed, 22 Nov 2023 22:05: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5vM0-0005Fw-0X
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:05:52 +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 4b317a2b-8983-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 23:05:50 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 010D3CE1F37;
 Wed, 22 Nov 2023 22:05:48 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8DD82C433C7;
 Wed, 22 Nov 2023 22:05: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: 4b317a2b-8983-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700690747;
	bh=bDIj9KpfgTAV7YviTLCLOhggb7tm5rONg9eD0NYuaDw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=e1DLkD6sz9/095QOGLd/lTf3k8EtEMQbaom34hz3ujAQQm2BuAfiBUVlpHOikUPNN
	 nYzQKdj/MRoVj0inopr9RlQjUnoRDwj5ez5SIAiFS2vl73FlWexcUu2KhKfKqzjlA9
	 7+n0HTQlM2IjMZ43tPixaeZqKC1dwXVTfTWtqmoRExdaKfVsQaUKYr2N+N3PPE/bq8
	 TAru6KcxFj+EFNvVFpsp/+A1TWbwGTGDcqGc3ygeWSvaCx4q+gVXdPeLmZ6zfk//JI
	 Xk3WYcpCjyNAsjHvy6PstcmSPKGgVXZbs2Z20eE2NH+ULhS0PE/8LiNizHe3gXmeDv
	 hxNSgrD8ymapw==
Date: Wed, 22 Nov 2023 14:05:45 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>
Subject: Re: [PATCH 1/3] x86/apic: Drop atomic accessors
In-Reply-To: <20231122142733.1818331-2-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311221405390.2053963@ubuntu-linux-20-04-desktop>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com> <20231122142733.1818331-2-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-218783354-1700690747=:2053963"

  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-218783354-1700690747=:2053963
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 22 Nov 2023, Andrew Cooper wrote:
> The last users were dropped in commit 413e92e9bf13 ("x86/apic: Drop
> workarounds for Pentium/82489DX erratum").
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> 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/apic.h | 13 -------------
>  1 file changed, 13 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/apic.h b/xen/arch/x86/include/asm/apic.h
> index f7ad7b20dd80..288b4933eb38 100644
> --- a/xen/arch/x86/include/asm/apic.h
> +++ b/xen/arch/x86/include/asm/apic.h
> @@ -54,11 +54,6 @@ static __inline void apic_mem_write(unsigned long reg, u32 v)
>  	*((volatile u32 *)(APIC_BASE+reg)) = v;
>  }
>  
> -static __inline void apic_mem_write_atomic(unsigned long reg, u32 v)
> -{
> -	(void)xchg((volatile u32 *)(APIC_BASE+reg), v);
> -}
> -
>  static __inline u32 apic_mem_read(unsigned long reg)
>  {
>  	return *((volatile u32 *)(APIC_BASE+reg));
> @@ -97,14 +92,6 @@ static __inline void apic_write(unsigned long reg, u32 v)
>          apic_mem_write(reg, v);
>  }
>  
> -static __inline void apic_write_atomic(unsigned long reg, u32 v)
> -{
> -    if ( x2apic_enabled )
> -        apic_wrmsr(reg, v);
> -    else
> -        apic_mem_write_atomic(reg, v);
> -}
> -
>  static __inline u32 apic_read(unsigned long reg)
>  {
>      if ( x2apic_enabled )
> -- 
> 2.30.2
> 
> 
--8323329-218783354-1700690747=:2053963--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:07:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639211.996242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vN7-0006MC-H2; Wed, 22 Nov 2023 22:07:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639211.996242; Wed, 22 Nov 2023 22: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 1r5vN7-0006M5-E2; Wed, 22 Nov 2023 22:07:01 +0000
Received: by outflank-mailman (input) for mailman id 639211;
 Wed, 22 Nov 2023 22: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5vN6-0006KU-8j
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:07:00 +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 73e781e3-8983-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:06:58 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id CB03561F7E;
 Wed, 22 Nov 2023 22:06:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CF620C433C8;
 Wed, 22 Nov 2023 22:06: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: 73e781e3-8983-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700690816;
	bh=367D35biwRM29XuEyL+78D6/Jg8pPF3hKdRgUO5o3w0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=irF43FRk1lgi2I0l2orWwdX6GOKRG5p2qdylwAQwq/Kyg2SjLpzfHdms+iy7ewnyT
	 UMn7G6b42G+6Civ3SpodXlCOZ4JVi1CWdR6ZdISQYpUwdTE+0zOtpmXEcCk+q4DCl3
	 TUN1aD+XZrAs3F9flgZCfWVhDHgsCry6829eBoogEgxccVLCj3BMeijUTwl+BDC06J
	 rJ18doqsMN5gYHON8yroHqzWeP7fpaUR8KkyE/Ql7RQq6dH3gcUvwfwBnuSmJUaAbi
	 Jkj1D8Wr7UNIgcC6vge5CvlJ7p/Yv9c5ePuZGVf+aEyqp4AENiyQvxqflUMsy4tqkm
	 QHzyJvmZIinFQ==
Date: Wed, 22 Nov 2023 14:06:54 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>
Subject: Re: [PATCH 2/3] x86/apic: Drop the APIC_MSR_BASE constant
In-Reply-To: <20231122142733.1818331-3-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311221406480.2053963@ubuntu-linux-20-04-desktop>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com> <20231122142733.1818331-3-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, Andrew Cooper wrote:
> Use MSR_X2APIC_FIRST from msr-index.h instead.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:14:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:14:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639216.996253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vTr-0008Tb-7D; Wed, 22 Nov 2023 22:13:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639216.996253; Wed, 22 Nov 2023 22: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 1r5vTr-0008TU-3x; Wed, 22 Nov 2023 22:13:59 +0000
Received: by outflank-mailman (input) for mailman id 639216;
 Wed, 22 Nov 2023 22:13: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5vTp-0008TM-Bc
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:13:57 +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 6bb83d8c-8984-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:13:54 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 37B66CE1EC8;
 Wed, 22 Nov 2023 22:13:49 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 504E9C433C8;
 Wed, 22 Nov 2023 22:13: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: 6bb83d8c-8984-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700691228;
	bh=M8Tl3ON+zp5daS+e97ebO8BwuGUFkccW38TlFP6aaxg=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=T5zomco9I/N3EDnr5LE2PSkLcMboN11sISZDLdWDhuVjnhWzJ4t4hChpQZcJUfnin
	 uxotfTVr2xXt6cDmiHUXObPn/56bNeoHCsKGEEN/lNuXn3EDd+djwvkzEMUVmC8D2I
	 RKyxSfV7TiEkbpP+eMapBRCr05+4hEJV7fZyB7cn01QYyHsWREMNm5c+u7SiwQao/X
	 wJi1/0q8W5XUF/qVGye5/du3kuL69ddNFlLpFhgVwN9uZd5bYExJa494QsT9YB9w5I
	 5fu3blHau/dcs27EofYuk763fARYGHEIOTj+ruXvosT0e8ji92sCJ06IucSFtKcaK8
	 TUSnK7YbMbIDQ==
Date: Wed, 22 Nov 2023 14:13:45 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
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>, Stefano Stabellini <sstabellini@kernel.org>, 
    Roberto Bagnara <roberto.bagnara@bugseng.com>, 
    Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    Simone Ballarin <simone.ballarin@bugseng.com>
Subject: Re: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
In-Reply-To: <20231122142733.1818331-4-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311221410400.2053963@ubuntu-linux-20-04-desktop>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com> <20231122142733.1818331-4-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, Andrew Cooper wrote:
> The differences between inline, __inline and __inline__ keywords are a
> vestigial remnant of older C standards, and in Xen we use inline almost
> exclusively.
> 
> Replace __inline and __inline__ with regular inline, and remove their
> exceptions from the MISRA configuration.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>
> diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
> index 2866cb191b1a..b7c2000992ac 100644
> --- a/docs/misra/C-language-toolchain.rst
> +++ b/docs/misra/C-language-toolchain.rst
> @@ -84,7 +84,7 @@ The table columns are as follows:
>            see Sections "6.48 Alternate Keywords" and "6.47 How to Use Inline Assembly Language in C Code" of GCC_MANUAL.
>         __volatile__:
>            see Sections "6.48 Alternate Keywords" and "6.47.2.1 Volatile" of GCC_MANUAL.
> -       __const__, __inline__, __inline:
> +       __const__:
>            see Section "6.48 Alternate Keywords" of GCC_MANUAL.
>         typeof, __typeof__:
>            see Section "6.7 Referring to a Type with typeof" of GCC_MANUAL.

Asking the Bugseng guys as well, do we need to add to
C-language-toolchain.rst:
inline __attribute__((__always_inline__))
inline __attribute__((__gnu_inline__))

Given that the problem was also present before this patch:

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
> index 04b8bc18df0e..16d554f2a593 100644
> --- a/xen/include/xen/compiler.h
> +++ b/xen/include/xen/compiler.h
> @@ -20,9 +20,8 @@
>  #define likely(x)     __builtin_expect(!!(x),1)
>  #define unlikely(x)   __builtin_expect(!!(x),0)
>  
> -#define inline        __inline__
> -#define always_inline __inline__ __attribute__ ((__always_inline__))
> -#define gnu_inline    __inline__ __attribute__ ((__gnu_inline__))
> +#define always_inline inline __attribute__((__always_inline__))
> +#define gnu_inline    inline __attribute__((__gnu_inline__))
>  #define noinline      __attribute__((__noinline__))
>  
>  #define noreturn      __attribute__((__noreturn__))

This is where they are used.


> @@ -83,7 +82,7 @@
>   * inline functions not expanded inline get placed in .init.text.
>   */
>  #include <xen/init.h>
> -#define __inline__ __inline__ __init
> +#define inline inline __init
>  #endif
>  
>  #define __attribute_pure__  __attribute__((__pure__))
> -- 
> 2.30.2
> 
> 


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:20:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:20:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639219.996263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vZs-00028D-Rp; Wed, 22 Nov 2023 22:20:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639219.996263; Wed, 22 Nov 2023 22: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 1r5vZs-000286-Ot; Wed, 22 Nov 2023 22:20:12 +0000
Received: by outflank-mailman (input) for mailman id 639219;
 Wed, 22 Nov 2023 22:20: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5vZr-00027h-L4
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:20:11 +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 4b59c6b2-8985-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:20:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id C16D0B829F2;
 Wed, 22 Nov 2023 22:20:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3EC41C433C7;
 Wed, 22 Nov 2023 22:20: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: 4b59c6b2-8985-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700691607;
	bh=cj8UHk9HT2c8Xyppk5t9rIaWeC6pFdz5b+WsGsK03hk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=JAioIA2EoJ7ksJtETRfQQtRTcuQrzS28FoxnHnyZ2V53xf5IMghWSsaurc99on1Wo
	 unzK4FlSxYVELMtxTVztbXvYSzw6Pq0k6p8U/6gnoo4lbCrFNhiJFkRX/h3c4FlalK
	 6apDsJHyRLADHGGDk3JBbt6G0iyjHF89Rrhf7TjeCis+RhfCD2IC+QOSxJF/SZK7jp
	 oha+EMlRyeV7ylGYA9bA6kuBAXPoI4FRyXLsNTqEcxTry96oojVEJW/3TqNxKzRWDC
	 lqrsJIxjUpjBsvmlXh+PUPLp4rSwLmm2cspoAKeSP8P4EWa1NZHYBKz500zBfXplyZ
	 dd7Z4iKkDziQQ==
Date: Wed, 22 Nov 2023 14:20:04 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.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>
Subject: Re: [XEN PATCH v4 1/2] x86/mm: preparation work to uniform
 modify_xen_mappings* interfaces
In-Reply-To: <8f318ade9277b316a6f91df3b75a593d662ac586.1700645120.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311221419530.2053963@ubuntu-linux-20-04-desktop>
References: <cover.1700645120.git.federico.serafini@bugseng.com> <8f318ade9277b316a6f91df3b75a593d662ac586.1700645120.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, Federico Serafini wrote:
> The objective is to use parameter name "nf" to denote "new flags"
> in all the modify_xen_mappings* functions.
> Since modify_xen_mappings_lite() is currently using "nf" as identifier
> for a local variable, bad things could happen if new uses of such
> variable are committed while a renaming patch is waiting for the
> approval.
> To avoid such danger, as first thing rename the local variable from
> "nf" to "flags".
> 
> No functional change.
> 
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:20:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:20:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639222.996273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vaU-0002ii-45; Wed, 22 Nov 2023 22:20:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639222.996273; Wed, 22 Nov 2023 22: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 1r5vaU-0002ib-1O; Wed, 22 Nov 2023 22:20:50 +0000
Received: by outflank-mailman (input) for mailman id 639222;
 Wed, 22 Nov 2023 22:20: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5vaS-0002Py-Bn
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:20:48 +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 62bead5e-8985-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 23:20:47 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-4083f61322fso1648995e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 14:20:47 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 n6-20020a05600c3b8600b0040b2ab2b352sm3196123wms.1.2023.11.22.14.20.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 14:20:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 62bead5e-8985-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700691647; x=1701296447; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=G9raULir2dgben/YcbJbK6kGZC9HhCFlRoGO7hdozqU=;
        b=IlcoBQ0mum4KXsKNJFaJZbQen3aR+BL5Y+ycHGf3u1wMbY9Nkc12ZSFH/G5vPDmJmr
         qiq/MQZfqe9ETlTShuQD5bfNFkDb0mvxkOmhxmxw7zQSIBBVNrPC9qGqWmP95W2AW1PR
         Sp03m1ertmuVDESzLjoR5WTZDbY6WLlrt0fhM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700691647; x=1701296447;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=G9raULir2dgben/YcbJbK6kGZC9HhCFlRoGO7hdozqU=;
        b=Q3xcSM88LMuBUhT62PblriXlENCj4M/PSgD/cwhNuBmm7D8qOzoASco0/jQZ7wEyW1
         iPr+qFxylYhP0gopbTrnXIuV9MzQgZkYOjGMRQZUdI2PrGu2+XfBkmzlNs/kUeGsfKPO
         HQjesUJIJadxgFj9JYGuaLLmzLkCac3cOtlKswnIoNJuE1yDhu1Bg0ZepzHZri+zEmyk
         NYFwFaxtvlLyGGSW4YbF5I50NIjoTOFABn0KoDVSpwXdRkKDHIxbVxt4Pos0U/M2cQzW
         cUQzN0//8Z98kDf4kbymmhG4NBcGm64HEOn5QKZLPLTY+H10Zt3o70FNhqbEJfN5YFni
         BU9w==
X-Gm-Message-State: AOJu0YzhQZOpD2iva2oi9HltfBluSAJCS3AqbvUqP42ZkJ1yRS5PcFvk
	wlV2z6G9jsGUA4rzfhI3BErP1w==
X-Google-Smtp-Source: AGHT+IEIDzfYZyvLRJngoDKTg72mL5JQ8tMRHSxsJWqNelaYyFSx5p/Hi34kJLdeh24dUTiSRo8lPw==
X-Received: by 2002:a05:600c:1550:b0:405:3a3b:2aa2 with SMTP id f16-20020a05600c155000b004053a3b2aa2mr2707033wmg.37.1700691647126;
        Wed, 22 Nov 2023 14:20:47 -0800 (PST)
Message-ID: <2c7d33e8-9605-4ff6-ac23-fda43ae69199@citrix.com>
Date: Wed, 22 Nov 2023 22:20:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>
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>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Simone Ballarin <simone.ballarin@bugseng.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
 <20231122142733.1818331-4-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2311221410400.2053963@ubuntu-linux-20-04-desktop>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <alpine.DEB.2.22.394.2311221410400.2053963@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 22/11/2023 10:13 pm, Stefano Stabellini wrote:
> On Wed, 22 Nov 2023, Andrew Cooper wrote:
>> The differences between inline, __inline and __inline__ keywords are a
>> vestigial remnant of older C standards, and in Xen we use inline almost
>> exclusively.
>>
>> Replace __inline and __inline__ with regular inline, and remove their
>> exceptions from the MISRA configuration.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>
>> diff --git a/docs/misra/C-language-toolchain.rst b/docs/misra/C-language-toolchain.rst
>> index 2866cb191b1a..b7c2000992ac 100644
>> --- a/docs/misra/C-language-toolchain.rst
>> +++ b/docs/misra/C-language-toolchain.rst
>> @@ -84,7 +84,7 @@ The table columns are as follows:
>>            see Sections "6.48 Alternate Keywords" and "6.47 How to Use Inline Assembly Language in C Code" of GCC_MANUAL.
>>         __volatile__:
>>            see Sections "6.48 Alternate Keywords" and "6.47.2.1 Volatile" of GCC_MANUAL.
>> -       __const__, __inline__, __inline:
>> +       __const__:
>>            see Section "6.48 Alternate Keywords" of GCC_MANUAL.
>>         typeof, __typeof__:
>>            see Section "6.7 Referring to a Type with typeof" of GCC_MANUAL.
> Asking the Bugseng guys as well, do we need to add to
> C-language-toolchain.rst:
> inline __attribute__((__always_inline__))
> inline __attribute__((__gnu_inline__))

__attribute__ itself is in the list of permitted non-standard tokens, in
both files.

However, neither file has anything concerning the parameter(s) to the
__attribute__, and we do use an awful lot of them.

If they want discussing, then that's going to be a lot of work.

> Given that the problem was also present before this patch:
>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

Thanks.


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:23:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:23:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639227.996283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vcb-0003ln-FD; Wed, 22 Nov 2023 22:23:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639227.996283; Wed, 22 Nov 2023 22:23: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 1r5vcb-0003lg-CW; Wed, 22 Nov 2023 22:23:01 +0000
Received: by outflank-mailman (input) for mailman id 639227;
 Wed, 22 Nov 2023 22:23: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5vca-0003la-2U
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:23:00 +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 affe0be2-8985-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:22:58 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 9A74A61F9C;
 Wed, 22 Nov 2023 22:22:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 85143C433C7;
 Wed, 22 Nov 2023 22: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: affe0be2-8985-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700691776;
	bh=gX+ZWOEDdXr6yb1WIejQZL1ucNpcjlQ2UdwLDR7bXz4=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ufu+xjHIqUXxAODsDfNoweUt+aIJIwn/FoTY6dzxkl4c6aDvG0YevLlJ1zHT8u8CB
	 oHtTAqzx4WzlvhvzgSs1Uj9IJ+ojnP3UF+kU7u92b6RUT4GzulZcom6ESR3bLRiKYa
	 9mkfBvZKfThiKzOHHQwv+L8mKl9iiEihRRx6QV4ualKVYtyXkbBfee62QBEAB0J5H0
	 jgKGo+ux5RelAYFux1/6HBvwIUx8Na3U9Jz+qki7FMlQ90sTGEmH9VcfpDp8rGNym4
	 wM4+6ALQ4JKF84xySg6Jo+QA77HW+NS92zf959ebxPvqRcRazm/CByUClMAv/jGBSL
	 jfqW563Cr6VZQ==
Date: Wed, 22 Nov 2023 14:22:53 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Federico Serafini <federico.serafini@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.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>, Shawn Anastasio <sanastasio@raptorengineering.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [XEN PATCH v4 2/2] xen/mm: address violations of MISRA C:2012
 Rules 8.2 and 8.3
In-Reply-To: <9a73c479f3a9b2a3f796f8f65de3b3feb735c56d.1700645120.git.federico.serafini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311221422440.2053963@ubuntu-linux-20-04-desktop>
References: <cover.1700645120.git.federico.serafini@bugseng.com> <9a73c479f3a9b2a3f796f8f65de3b3feb735c56d.1700645120.git.federico.serafini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, Federico Serafini wrote:
> Add missing parameter names and uniform the interfaces of
> modify_xen_mappings() and modify_xen_mappings_lite().
> 
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:28:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:28:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639233.996292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vhp-0005Av-23; Wed, 22 Nov 2023 22:28:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639233.996292; Wed, 22 Nov 2023 22:28: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 1r5vho-0005Ao-VC; Wed, 22 Nov 2023 22:28:24 +0000
Received: by outflank-mailman (input) for mailman id 639233;
 Wed, 22 Nov 2023 22:28: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5vho-0005Ai-5z
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:28:24 +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 71121fb8-8986-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:28:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 6A43961FA2;
 Wed, 22 Nov 2023 22:28:20 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 583C0C433C9;
 Wed, 22 Nov 2023 22:28:18 +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: 71121fb8-8986-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700692100;
	bh=IYEbm+Te2s+3DVqYAnCSl9Rjj8b4SlzdeOGto+Ex/FI=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=baWp3gnUCvW9zxP7t9Ri1KuhZHnGF56bClQ5fcKtGoxqihiU4eUKDZpRFSVHtikrX
	 TBCEZBnRTlIu6ooMmq5Co0gdzNCea4wZ3FtgDSwgqCTQUnUAF8TJx/nECoQR6xgqro
	 np4xoQpdchz109+FmyROJvufcrGxFmICt4cCkd/NqbsmIl5Pf6vgE79IGLzjZxpzGj
	 7dDaIjlGrWOdiqUZJ+BeYJSy2WFo7VMvgNMkd5PkeRNRd44c2KX0OQxWUqCN3MgAeH
	 FfxtpKM3Z07yPKxXmH8kPkheCh0WyygDbXxM9SeolcNgPh4ofxNqMf4e15hCmUDbu5
	 KtJ8MagnbLdyQ==
Date: Wed, 22 Nov 2023 14:28:16 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: paul@xen.org
cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, 
    David Woodhouse <dwmw@amazon.co.uk>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    David Woodhouse <dwmw2@infradead.org>, 
    "Michael S. Tsirkin" <mst@redhat.com>, 
    Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, 
    Paolo Bonzini <pbonzini@redhat.com>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Eduardo Habkost <eduardo@habkost.net>, 
    Anthony Perard <anthony.perard@citrix.com>, 
    "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/6] xen: xenstore: add possibility to preserve
 owner
In-Reply-To: <c9b15b1c-e86b-45b4-b348-8c9edde5e60d@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311221427220.2053963@ubuntu-linux-20-04-desktop>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com> <20231121221023.419901-4-volodymyr_babchuk@epam.com> <c9b15b1c-e86b-45b4-b348-8c9edde5e60d@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, Paul Durrant wrote:
> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> > Add option to preserve owner when creating an entry in Xen Store. This
> > may be needed in cases when Qemu is working as device model in a
> 
> *may* be needed?
> 
> I don't undertstand why this patch is necessary and the commit comment isn't
> really helping me.
> 
> > domain that is Domain-0, e.g. in driver domain.

I think Volodymyr meant: 

domain that is *not* Domain-0

So I am guessing this patch is needed otherwise QEMU will run into
permissions errors doing xenstore operations



> > "owner" parameter for qemu_xen_xs_create() function can have special
> > value XS_PRESERVE_OWNER, which will make specific implementation to
> > get original owner of an entry and pass it back to
> > set_permissions() call.
> > 
> > Please note, that XenStore inherits permissions, so even if entry is
> > newly created by, it already has the owner set to match owner of entry
> > at previous level.
> > 
> > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:29:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:29:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639235.996303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vil-0005nf-B6; Wed, 22 Nov 2023 22:29:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639235.996303; Wed, 22 Nov 2023 22: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 1r5vil-0005nY-7p; Wed, 22 Nov 2023 22:29:23 +0000
Received: by outflank-mailman (input) for mailman id 639235;
 Wed, 22 Nov 2023 22:29: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5vik-0005nM-B9
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:29:22 +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 93d64979-8986-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 23:29:21 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 9F0B0CE1F1B;
 Wed, 22 Nov 2023 22:29:16 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9B24FC433C7;
 Wed, 22 Nov 2023 22:29: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: 93d64979-8986-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700692155;
	bh=HiAjdtJ9Q3O/24aAaSUDJali+UJfkuj+MUFwp85nKKQ=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=CK3hC+wVrqkz9wOSgZF0jIgV75hmhJXunCrNUeeBtuzMmiZVQQJs2sXHgGCh1yvle
	 u6V7JMXYOwAoQ5MSgrew1F42unXL3WwRcmzhGgZwVw1+XPWP5I3hJ7u2bpL7VeShvw
	 JDDlywSdA2MeS9gbDfijnJ/YDii5gNp7+F2B+AyOLACA7nDK7YRKPGLCmf1fOq3+2i
	 DXZA3rggec+wwYtZlt+egO9eoINGS5n50JjNrloLwEAc42kuPSos1eMFJueh5SuDZP
	 PVcKAqOdlJmFaCd3PZXXj8LJFBobHkKd3irEhRdXAOheGjZS+O838DiiHYJKWhYHwX
	 XPit5o+WjeXuQ==
Date: Wed, 22 Nov 2023 14:29:13 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: paul@xen.org
cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, 
    David Woodhouse <dwmw@amazon.co.uk>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, 
    Anthony Perard <anthony.perard@citrix.com>, 
    "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
In-Reply-To: <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com> <20231121221023.419901-5-volodymyr_babchuk@epam.com> <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, Paul Durrant wrote:
> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > 
> > Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to
> > inherit the owner of the directory.
> 
> Ah... so that's why the previous patch is there.
> 
> This is not the right way to fix it. The QEMU Xen support is *assuming* that
> QEMU is either running in, or emulating, dom0. In the emulation case this is
> probably fine, but the 'real Xen' case it should be using the correct domid
> for node creation. I guess this could either be supplied on the command line
> or discerned by reading the local domain 'domid' node.

yes, it should be passed as command line option to QEMU

 
> > Note that for other than Dom0 domain (non toolstack domain) the
> > "driver_domain" property should be set in domain config file for the
> > toolstack to create required directories in advance.
> > 
> > Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> > ---
> >   hw/xen/xen_pvdev.c | 3 ++-
> >   1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/hw/xen/xen_pvdev.c b/hw/xen/xen_pvdev.c
> > index c5ad71e8dc..42bdd4f6c8 100644
> > --- a/hw/xen/xen_pvdev.c
> > +++ b/hw/xen/xen_pvdev.c
> > @@ -60,7 +60,8 @@ void xen_config_cleanup(void)
> >     int xenstore_mkdir(char *path, int p)
> >   {
> > -    if (!qemu_xen_xs_create(xenstore, 0, 0, xen_domid, p, path)) {
> > +    if (!qemu_xen_xs_create(xenstore, 0, XS_PRESERVE_OWNER,
> > +                            xen_domid, p, path)) {
> >           xen_pv_printf(NULL, 0, "xs_mkdir %s: failed\n", path);
> >           return -1;
> >       }
> 


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:29:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:29:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639236.996313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vip-000659-L9; Wed, 22 Nov 2023 22:29:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639236.996313; Wed, 22 Nov 2023 22:29: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 1r5vip-000652-IQ; Wed, 22 Nov 2023 22:29:27 +0000
Received: by outflank-mailman (input) for mailman id 639236;
 Wed, 22 Nov 2023 22:29: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5vin-00063c-Qx
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:29:25 +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 966d918b-8986-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:29:23 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40859c466efso1651175e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 14:29:23 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 g9-20020a05600c310900b004094e565e71sm45734wmo.23.2023.11.22.14.29.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 14:29:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 966d918b-8986-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700692163; x=1701296963; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3xBLE/mbfJdHz6sZVR4UZF3jmQzSTJE2y3sDa2qMA/k=;
        b=qULVwGd77h4WAcyff1v2fPPdkrmnuV0YykLweMOB/gGxqMYbmJSJYNJ0IYRJJVJnX7
         nWDY3YhwDuomTUt4xrgyE9GYwp8tVCI2pIoCOJXIlc1TBF8GPEsFTsCchIb0GBKNEw6Z
         OCqAskG4uljLD6bkWyjJh7CsvCbIbafd9qT1k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700692163; x=1701296963;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3xBLE/mbfJdHz6sZVR4UZF3jmQzSTJE2y3sDa2qMA/k=;
        b=fBEkow2F4ceOkt24OAsz48fw/59YESv5IRXAsPu+66tJdEDs//yqvptamRV6w0Vumt
         BABEyx+g09/EytGQqYZgHohIq4HUCOrl1rhaCGv8k032pTPbadvYW4aYd+3tqfvlKYH2
         vy+2llxNKHjhnpLuQ9aYK4nEHCLPkfc/abC5iNzbbV8853qR0h61BNjOS901ZURqqOhA
         Pz3odLpczxcTKvRxFFO4MWCx+HLE3DdCFR3YCdjVWwKVIPLxbpZNolkhAyJd5KyCLDCS
         HCwa1bCTJFL50A/ktHd6rT44N2IjA7bsqsCzhW+t1UihHweHwjKbiZ2x2rvouM+GrzlA
         zaMg==
X-Gm-Message-State: AOJu0YyTu8EGG3IMQyT1LGdZDHB6evAjKr6M4nNh3DgQ9/NBJ8oTKqqP
	t8SP4ZkvnAvHD4TKhkKfFGQw81w1nob1nxS33E0=
X-Google-Smtp-Source: AGHT+IEDQQeazRpqw4ix1ayRKRaQxNjyDwYWMOsxWB7zsHYc2wAueNLPCZnj+TD9nQr8hPqn6a4k1g==
X-Received: by 2002:a05:600c:3590:b0:404:f9c1:d5d7 with SMTP id p16-20020a05600c359000b00404f9c1d5d7mr2601958wmq.25.1700692163299;
        Wed, 22 Nov 2023 14:29:23 -0800 (PST)
Message-ID: <f1a4d1ac-abc3-410e-a171-581b074b8155@citrix.com>
Date: Wed, 22 Nov 2023 22:29:22 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/6] tools/libfsimage: Add an fdopen() interface to
 libfsimage
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-5-alejandro.vallejo@cloud.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231106150508.22665-5-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
> diff --git a/tools/libfsimage/common/fsimage_priv.h b/tools/libfsimage/common/fsimage_priv.h
> index 2274403557..779e433b37 100644
> --- a/tools/libfsimage/common/fsimage_priv.h
> +++ b/tools/libfsimage/common/fsimage_priv.h
> @@ -29,6 +29,7 @@ extern C {
>  #endif
>  
>  #include <sys/types.h>
> +#include <stdbool.h>
>  
>  #include "xenfsimage.h"
>  #include "xenfsimage_plugin.h"
> @@ -54,7 +55,7 @@ struct fsi_file {
>  	void *ff_data;
>  };
>  
> -int find_plugin(fsi_t *, const char *, const char *);
> +int find_plugin(fsi_t *, const char *);
>  
>  #ifdef __cplusplus
>  };

These are the only two hunks in this file.  Is the stdbool include stale?

It seems to compile fine with it removed.

> diff --git a/tools/libfsimage/ext2fs-lib/ext2fs-lib.c b/tools/libfsimage/ext2fs-lib/ext2fs-lib.c
> index 864a15b349..9f07ea288f 100644
> --- a/tools/libfsimage/ext2fs-lib/ext2fs-lib.c
> +++ b/tools/libfsimage/ext2fs-lib/ext2fs-lib.c
> @@ -25,15 +25,25 @@
>  #include INCLUDE_EXTFS_H
>  #include <errno.h>
>  #include <inttypes.h>
> +#include <stdio.h>
>  
>  static int
> -ext2lib_mount(fsi_t *fsi, const char *name, const char *options)
> +ext2lib_mount(fsi_t *fsi, const char *options)
>  {
>  	int err;
>  	char opts[30] = "";
>  	ext2_filsys *fs;
>  	uint64_t offset = fsip_fs_offset(fsi);
>  
> +	/*
> +	 * We must choose unixfd_io_manager rather than unix_io_manager in
> +	 * order for the library to accept fd strings instead of paths. It
> +	 * still means we must pass a string representing an fd rather than
> +	 * an int, but at least this way we don't need to pass paths around
> +	 */
> +	char name[32] = {0};

For an int?  12 will do fine including a terminator, and practical
system limits leave it far smaller than that generally.

Given that it is guaranteed long enough, you don't need to zero it just
to have snprintf() write a well-formed string in.

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:36:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:36:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639246.996322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vp0-0000L5-AJ; Wed, 22 Nov 2023 22:35:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639246.996322; Wed, 22 Nov 2023 22:35: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 1r5vp0-0000Ky-7j; Wed, 22 Nov 2023 22:35:50 +0000
Received: by outflank-mailman (input) for mailman id 639246;
 Wed, 22 Nov 2023 22:35: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=Q+k4=HD=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r5voy-0000Jd-GG
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:35:48 +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 7af759fd-8987-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 23:35:47 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4084de32db5so1746255e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 22 Nov 2023 14:35:47 -0800 (PST)
Received: from [192.168.1.10] (host-92-26-107-252.as13285.net. [92.26.107.252])
 by smtp.gmail.com with ESMTPSA id
 f18-20020a05600c4e9200b00403b63e87f2sm40521wmq.32.2023.11.22.14.35.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 22 Nov 2023 14:35:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7af759fd-8987-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1700692547; x=1701297347; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=cxwBEItUcZsrg5eAe3C4X1FSVhfqBB7ITeGtM8ovgX8=;
        b=ne94HwtjMHJrJxZLtoFUbH1PtxJulpEjJpv1Jj9gCHjZ5rsUs3A/trsMTwSs8RJ0rj
         ZeAAZL3O6Gh5hZDpug1/5qf4BGg6C5wITE8ME+YAfaZ/PY11ciOA33y1Ej2ven/Eu9p6
         x9yo4u9YOf11UThdmIhqNM8Ri6KqctUv50WpRA8SewgXu7XPTBdjj1MiLZ0V31n44dkI
         PRpqk5ugt9Hh/kIXslgR/ZFoXpm+3nxhlsO2pmd+oXwSTGgr1G0F7R+kT4gOA1p7qMuI
         B6jGmnUOg0paSbVn5BEpdy4g47bCxrC7AJQTgmYVCQmFlUsnB+41/qICexQ8TIuzVvHq
         t0kQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700692547; x=1701297347;
        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:subject:date:message-id:reply-to;
        bh=cxwBEItUcZsrg5eAe3C4X1FSVhfqBB7ITeGtM8ovgX8=;
        b=gcdnKp4N/BlVR9xclTRqEAtEmGMBVmI1tgs3qFW2TfW5IYNs1eyV9U05umKGgCyxU9
         6Gt2iAgF7hfuB5Xft2cfJ15/yBbF68jcmOeUJxvJJ8M8FdoUBH2NPIJ2VnL7qik8dMiy
         CMvD42TbL2OLhYpVcxhnAhKUwlLkSduiUZq3HuvJ8gpkMAqEZGa6fpnhgIz8deA/f+ts
         lYdN/EI0cVeX0CLJgHXZrbVAujseYgfKs6gZ+Iy/XvBvuVi76xHP1QaeX+30M7XdBNQL
         X0IgtdXnK5foqCqbzWtOyBdFx9xCWowoeshAoCwKVCJY/v/kg1fYeCdTaEnvLvXB9qSx
         dvlA==
X-Gm-Message-State: AOJu0Yw/eZiAYvmWWTJS0aHQzFTKbNwkEP3hZ0RByp4ELE2PRY8Oh7oW
	FRVa5dVrwLjYfTDybe458EekkqZtFoO/tf+NCM4=
X-Google-Smtp-Source: AGHT+IG5HNygPkQQKMMQaiMgR88CNdn/bH0hggezZV1y7Bn4FBsYZN2by4CgyicXvm7gPzQnGdOutA==
X-Received: by 2002:a05:600c:4453:b0:404:4b6f:d705 with SMTP id v19-20020a05600c445300b004044b6fd705mr2791079wmn.17.1700692546798;
        Wed, 22 Nov 2023 14:35:46 -0800 (PST)
Message-ID: <48d6adeb-eb2d-40ac-949b-b6676dcab4f9@tibco.com>
Date: Wed, 22 Nov 2023 22:35:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] tools/pygrub: Expose libfsimage's fdopen() to python
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-6-alejandro.vallejo@cloud.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <20231106150508.22665-6-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
> Create a wrapper for the new fdopen() function of libfsimage.
>
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

I'd appreciate it if Marek would cast his eye (as python maintainer)
over it.

That said, ...

> diff --git a/tools/pygrub/src/fsimage/fsimage.c b/tools/pygrub/src/fsimage/fsimage.c
> index 12dfcff6e3..216f265331 100644
> --- a/tools/pygrub/src/fsimage/fsimage.c
> +++ b/tools/pygrub/src/fsimage/fsimage.c
> @@ -270,6 +270,30 @@ fsimage_open(PyObject *o, PyObject *args, PyObject *kwargs)
>  	return (PyObject *)fs;
>  }
>  
> +static PyObject *
> +fsimage_fdopen(PyObject *o, PyObject *args, PyObject *kwargs)
> +{
> +	static char *kwlist[] = { "fd", "offset", "options", NULL };
> +	int fd;
> +	char *options = NULL;
> +	uint64_t offset = 0;
> +	fsimage_fs_t *fs;
> +
> +	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i|Ls", kwlist,
> +	    &fd, &offset, &options))
> +		return (NULL);
> +
> +	if ((fs = PyObject_NEW(fsimage_fs_t, &fsimage_fs_type)) == NULL)
> +		return (NULL);
> +
> +	if ((fs->fs = fsi_fdopen_fsimage(fd, offset, options)) == NULL) {
> +		PyErr_SetFromErrno(PyExc_IOError);

Don't we need a Py_DECREF(fs) here to avoid leaking it?

~Andrew

> +		return (NULL);
> +	}
> +
> +	return (PyObject *)fs;
> +}
> +
>  static PyObject *
>  fsimage_getbootstring(PyObject *o, PyObject *args)
>  {
> @@ -302,6 +326,13 @@ PyDoc_STRVAR(fsimage_open__doc__,
>      "offset - offset of file system within file image.\n"
>      "options - mount options string.\n");
>  
> +PyDoc_STRVAR(fsimage_fdopen__doc__,
> +    "fdopen(fd, [offset=off]) - Use the file provided by the given fd as a filesystem image.\n"
> +    "\n"
> +    "fd - File descriptor to use.\n"
> +    "offset - offset of file system within file image.\n"
> +    "options - mount options string.\n");
> +
>  PyDoc_STRVAR(fsimage_getbootstring__doc__,
>      "getbootstring(fs) - Return the boot string needed for this file system "
>      "or NULL if none is needed.\n");
> @@ -315,6 +346,8 @@ static struct PyMethodDef fsimage_module_methods[] = {
>  	    METH_VARARGS, fsimage_init__doc__ },
>  	{ "open", (PyCFunction)fsimage_open,
>  	    METH_VARARGS|METH_KEYWORDS, fsimage_open__doc__ },
> +	{ "fdopen", (PyCFunction)fsimage_fdopen,
> +	    METH_VARARGS|METH_KEYWORDS, fsimage_fdopen__doc__ },
>  	{ "getbootstring", (PyCFunction)fsimage_getbootstring,
>  	    METH_VARARGS, fsimage_getbootstring__doc__ },
>  	{ NULL, NULL, 0, NULL }



From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:40:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:40:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639249.996334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vsz-0002Oz-SO; Wed, 22 Nov 2023 22:39:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639249.996334; Wed, 22 Nov 2023 22:39: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 1r5vsz-0002Os-Nb; Wed, 22 Nov 2023 22:39:57 +0000
Received: by outflank-mailman (input) for mailman id 639249;
 Wed, 22 Nov 2023 22:39: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5vsz-0002Om-7x
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:39:57 +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 0df2210a-8988-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 23:39:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 588AECE2602;
 Wed, 22 Nov 2023 22:39:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CC668C433C8;
 Wed, 22 Nov 2023 22:39: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: 0df2210a-8988-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700692789;
	bh=C9Y8hgu2wt52JIIUQ1QYsv7sBZwK6T04PUmGmTA0MFA=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=a0lbyz09olyizfr75zoRN3iq3Ls8Yf9MRVRmqIQgP1GBN+PMZjr497Qn5FrVbYq1q
	 iS0Ci1U035TjaHH6I/72ZatQypxpn9Ntng3QQ9wrahuGVtdcu37a/jQRCOCY3SNw3s
	 t7MHlMC+mjG9UCikemA68EgKVtv7s0zS+pyVrgkWHw5ewNWDDvNMZuC5+/W8NUq3Rv
	 WyUnR88oXQLzGzwvm/WP/MOfnAy/hk+qOf5ivs5JY+JOsVAhGzDQn/KErdxbD6Wcm/
	 cPjE3jc4rB+RVdQ0JcMeNPboPibrZAEjuW34lR0XgvBzlflduCPlV6ok+pYb8nlj5W
	 rbB6RHgEUcrJQ==
Date: Wed, 22 Nov 2023 14:39:46 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, 
    David Woodhouse <dwmw@amazon.co.uk>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, 
    Peter Maydell <peter.maydell@linaro.org>, 
    Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, 
    "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>, 
    "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>, 
    vikram.garhwal@amd.com
Subject: Re: [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support
In-Reply-To: <20231121221023.419901-7-volodymyr_babchuk@epam.com>
Message-ID: <alpine.DEB.2.22.394.2311221436430.2053963@ubuntu-linux-20-04-desktop>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com> <20231121221023.419901-7-volodymyr_babchuk@epam.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

+Vikram

On Tue, 21 Nov 2023, Volodymyr Babchuk wrote:
> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> The bridge is needed for virtio-pci support, as QEMU can emulate the
> whole bridge with any virtio-pci devices connected to it.
> 
> This patch provides a flexible way to configure PCIe brige resources
> with xenstore. We made this for several reasons:
> 
> - We don't want to clash with vPCI devices, so we need information
>   from Xen toolstack on which PCI bus to use.
> - The guest memory layout that describes these resources is not stable
>   and may vary between guests, so we cannot rely on static resources
>   to be always the same for both ends.
> - Also the device-models which run in different domains and serve
>   virtio-pci devices for the same guest should use different host
>   bridge resources for Xen to distinguish. The rule for the guest
>   device-tree generation is one PCI host bridge per backend domain.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

There is still a discussion ongoing on xen-devel if / how to register a
PCI Root Complex or individual BDFs. In the meantime a couple of
comments.

Typically emulated devices are configured in QEMU via QEMU command line
parameters, not xenstore. If you are running QEMU in a domU (instead of
Dom0) you can always read config parameters from xenstore from a wrapper
bash script (using xenstore-read) and then pass the right command line
options to QEMU.

If you need help in adding new QEMU command line options, Vikram (CCed)
can help.


> ---
> 
> Changes from v1:
> 
>  - Renamed virtio_pci_host to pcie_host entries in XenStore, because
>  there is nothing specific to virtio-pci: any PCI device can be
>  emulated via this newly created bridge.
> ---
>  hw/arm/xen_arm.c            | 186 ++++++++++++++++++++++++++++++++++++
>  hw/xen/xen-hvm-common.c     |   9 +-
>  include/hw/xen/xen_native.h |   8 +-
>  3 files changed, 200 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
> index b9c3ae14b6..d506d55d0f 100644
> --- a/hw/arm/xen_arm.c
> +++ b/hw/arm/xen_arm.c
> @@ -22,6 +22,7 @@
>   */
>  
>  #include "qemu/osdep.h"
> +#include "qemu/cutils.h"
>  #include "qemu/error-report.h"
>  #include "qapi/qapi-commands-migration.h"
>  #include "qapi/visitor.h"
> @@ -34,6 +35,9 @@
>  #include "hw/xen/xen-hvm-common.h"
>  #include "sysemu/tpm.h"
>  #include "hw/xen/arch_hvm.h"
> +#include "exec/address-spaces.h"
> +#include "hw/pci-host/gpex.h"
> +#include "hw/virtio/virtio-pci.h"
>  
>  #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
>  OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
> @@ -58,6 +62,11 @@ struct XenArmState {
>      struct {
>          uint64_t tpm_base_addr;
>      } cfg;
> +
> +    MemMapEntry pcie_mmio;
> +    MemMapEntry pcie_ecam;
> +    MemMapEntry pcie_mmio_high;
> +    int         pcie_irq;
>  };
>  
>  static MemoryRegion ram_lo, ram_hi;
> @@ -73,6 +82,7 @@ static MemoryRegion ram_lo, ram_hi;
>  #define NR_VIRTIO_MMIO_DEVICES   \
>     (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST)
>  
> +/* TODO It should be xendevicemodel_set_pci_intx_level() for PCI interrupts. */
>  static void xen_set_irq(void *opaque, int irq, int level)
>  {
>      if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
> @@ -129,6 +139,176 @@ static void xen_init_ram(MachineState *machine)
>      }
>  }
>  
> +static void xen_create_pcie(XenArmState *xam)
> +{
> +    MemoryRegion *mmio_alias, *mmio_alias_high, *mmio_reg;
> +    MemoryRegion *ecam_alias, *ecam_reg;
> +    DeviceState *dev;
> +    int i;
> +
> +    dev = qdev_new(TYPE_GPEX_HOST);
> +    sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
> +
> +    /* Map ECAM space */
> +    ecam_alias = g_new0(MemoryRegion, 1);
> +    ecam_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0);
> +    memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam",
> +                             ecam_reg, 0, xam->pcie_ecam.size);
> +    memory_region_add_subregion(get_system_memory(), xam->pcie_ecam.base,
> +                                ecam_alias);
> +
> +    /* Map the MMIO space */
> +    mmio_alias = g_new0(MemoryRegion, 1);
> +    mmio_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1);
> +    memory_region_init_alias(mmio_alias, OBJECT(dev), "pcie-mmio",
> +                             mmio_reg,
> +                             xam->pcie_mmio.base,
> +                             xam->pcie_mmio.size);
> +    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio.base,
> +                                mmio_alias);
> +
> +    /* Map the MMIO_HIGH space */
> +    mmio_alias_high = g_new0(MemoryRegion, 1);
> +    memory_region_init_alias(mmio_alias_high, OBJECT(dev), "pcie-mmio-high",
> +                             mmio_reg,
> +                             xam->pcie_mmio_high.base,
> +                             xam->pcie_mmio_high.size);
> +    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio_high.base,
> +                                mmio_alias_high);
> +
> +    /* Legacy PCI interrupts (#INTA - #INTD) */
> +    for (i = 0; i < GPEX_NUM_IRQS; i++) {
> +        qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL,
> +                                         xam->pcie_irq + i);
> +
> +        sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, irq);
> +        gpex_set_irq_num(GPEX_HOST(dev), i, xam->pcie_irq + i);
> +    }
> +
> +    DPRINTF("Created PCIe host bridge\n");
> +}
> +
> +static bool xen_read_pcie_prop(XenArmState *xam, unsigned int xen_domid,
> +                               const char *prop_name, unsigned long *data)
> +{
> +    char path[128], *value = NULL;
> +    unsigned int len;
> +    bool ret = true;
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/%s",
> +             xen_domid, prop_name);
> +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> +
> +    if (qemu_strtou64(value, NULL, 16, data)) {
> +        error_report("xenpv: Failed to get 'pcie_host/%s' prop",
> +                     prop_name);
> +        ret = false;
> +    }
> +
> +    free(value);
> +
> +    return ret;
> +}
> +
> +static int xen_get_pcie_params(XenArmState *xam)
> +{
> +    char path[128], *value = NULL, **entries = NULL;
> +    unsigned int len, tmp;
> +    int rc = -1;
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host",
> +             xen_domid);
> +    entries = xs_directory(xam->state->xenstore, XBT_NULL, path, &len);
> +    if (entries == NULL) {
> +        error_report("xenpv: 'pcie_host' dir is not present");
> +        return -1;
> +    }
> +    free(entries);
> +    if (len != 9) {
> +        error_report("xenpv: Unexpected number of entries in 'pcie_host' dir");
> +        goto out;
> +    }
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/id",
> +             xen_domid);
> +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> +    if (qemu_strtoui(value, NULL, 10, &tmp)) {
> +        error_report("xenpv: Failed to get 'pcie_host/id' prop");
> +        goto out;
> +    }
> +    free(value);
> +    value = NULL;
> +    if (tmp > 0xffff) {
> +        error_report("xenpv: Wrong 'pcie_host/id' value %u", tmp);
> +        goto out;
> +    }
> +    xen_pci_segment = tmp;
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_base",
> +                            &xam->pcie_ecam.base)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_size",
> +                            &xam->pcie_ecam.size)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "mem_base",
> +                            &xam->pcie_mmio.base)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "mem_size",
> +                            &xam->pcie_mmio.base)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_base",
> +                            &xam->pcie_mmio_high.base)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_size",
> +                            &xam->pcie_mmio_high.size)) {
> +        goto out;
> +    }
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/irq_first",
> +             xen_domid);
> +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> +    if (qemu_strtoi(value, NULL, 10, &xam->pcie_irq)) {
> +        error_report("xenpv: Failed to get 'pcie_host/irq_first' prop");
> +        goto out;
> +    }
> +    free(value);
> +    value = NULL;
> +    DPRINTF("PCIe host bridge: irq_first %u\n", xam->pcie_irq);
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/num_irqs",
> +             xen_domid);
> +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> +    if (qemu_strtoui(value, NULL, 10, &tmp)) {
> +        error_report("xenpv: Failed to get 'pcie_host/num_irqs' prop");
> +        goto out;
> +    }
> +    free(value);
> +    value = NULL;
> +    if (tmp != GPEX_NUM_IRQS) {
> +        error_report("xenpv: Wrong 'pcie_host/num_irqs' value %u", tmp);
> +        goto out;
> +    }
> +    DPRINTF("PCIe host bridge: num_irqs %u\n", tmp);
> +
> +    rc = 0;
> +out:
> +    if (value) {
> +        free(value);
> +    }
> +
> +    return rc;
> +}
> +
>  void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
>  {
>      hw_error("Invalid ioreq type 0x%x\n", req->type);
> @@ -189,6 +369,12 @@ static void xen_arm_init(MachineState *machine)
>      xen_register_ioreq(xam->state, machine->smp.cpus, &xen_memory_listener);
>  
>      xen_create_virtio_mmio_devices(xam);
> +    if (!xen_get_pcie_params(xam)) {
> +        xen_create_pcie(xam);
> +    } else {
> +        DPRINTF("PCIe host bridge is not available,"
> +                "only virtio-mmio can be used\n");
> +    }
>  
>  #ifdef CONFIG_TPM
>      if (xam->cfg.tpm_base_addr) {
> diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> index 565dc39c8f..0f78f15057 100644
> --- a/hw/xen/xen-hvm-common.c
> +++ b/hw/xen/xen-hvm-common.c
> @@ -47,6 +47,8 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
>      g_free(pfn_list);
>  }
>  
> +uint16_t xen_pci_segment;
> +
>  static void xen_set_memory(struct MemoryListener *listener,
>                             MemoryRegionSection *section,
>                             bool add)
> @@ -382,7 +384,12 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_t *req)
>      }
>  
>      QLIST_FOREACH(xendev, &state->dev_list, entry) {
> -        if (xendev->sbdf != sbdf) {
> +        /*
> +         * As we append xen_pci_segment just before forming dm_op in
> +         * xen_map_pcidev() we need to check with appended xen_pci_segment
> +         * here as well.
> +         */
> +        if ((xendev->sbdf | (xen_pci_segment << 16)) != sbdf) {
>              continue;
>          }
>  
> diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
> index 6f09c48823..2b1debaff4 100644
> --- a/include/hw/xen/xen_native.h
> +++ b/include/hw/xen/xen_native.h
> @@ -431,6 +431,8 @@ static inline void xen_unmap_io_section(domid_t dom,
>                                                      0, start_addr, end_addr);
>  }
>  
> +extern uint16_t xen_pci_segment;
> +
>  static inline void xen_map_pcidev(domid_t dom,
>                                    ioservid_t ioservid,
>                                    PCIDevice *pci_dev)
> @@ -441,7 +443,8 @@ static inline void xen_map_pcidev(domid_t dom,
>  
>      trace_xen_map_pcidev(ioservid, pci_dev_bus_num(pci_dev),
>                           PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->devfn));
> -    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid, 0,
> +    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid,
> +                                              xen_pci_segment,
>                                                pci_dev_bus_num(pci_dev),
>                                                PCI_SLOT(pci_dev->devfn),
>                                                PCI_FUNC(pci_dev->devfn));
> @@ -457,7 +460,8 @@ static inline void xen_unmap_pcidev(domid_t dom,
>  
>      trace_xen_unmap_pcidev(ioservid, pci_dev_bus_num(pci_dev),
>                             PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->devfn));
> -    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid, 0,
> +    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid,
> +                                                  xen_pci_segment,
>                                                    pci_dev_bus_num(pci_dev),
>                                                    PCI_SLOT(pci_dev->devfn),
>                                                    PCI_FUNC(pci_dev->devfn));
> -- 
> 2.42.0
> 


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:44:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:44:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639253.996343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vxS-00044y-G6; Wed, 22 Nov 2023 22:44:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639253.996343; Wed, 22 Nov 2023 22:44: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 1r5vxS-00044r-Cl; Wed, 22 Nov 2023 22:44:34 +0000
Received: by outflank-mailman (input) for mailman id 639253;
 Wed, 22 Nov 2023 22: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=EnF+=HD=amazon.co.uk=prvs=6830d628d=dwmw@srs-se1.protection.inumbo.net>)
 id 1r5vxQ-00044l-Tl
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:44:33 +0000
Received: from smtp-fw-6001.amazon.com (smtp-fw-6001.amazon.com [52.95.48.154])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b2a1ef27-8988-11ee-98e1-6d05b1d4d9a1;
 Wed, 22 Nov 2023 23:44:31 +0100 (CET)
Received: from iad12-co-svc-p1-lb1-vlan2.amazon.com (HELO
 email-inbound-relay-pdx-2a-m6i4x-1cca8d67.us-west-2.amazon.com) ([10.43.8.2])
 by smtp-border-fw-6001.iad6.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2023 22:44:27 +0000
Received: from smtpout.prod.us-east-1.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan3.pdx.amazon.com [10.39.38.70])
 by email-inbound-relay-pdx-2a-m6i4x-1cca8d67.us-west-2.amazon.com (Postfix)
 with ESMTPS id 8505A803C1; Wed, 22 Nov 2023 22:44:25 +0000 (UTC)
Received: from EX19MTAUEB001.ant.amazon.com [10.0.29.78:23688]
 by smtpin.naws.us-east-1.prod.farcaster.email.amazon.dev [10.0.47.126:2525]
 with esmtp (Farcaster)
 id 7fe55016-f93d-4488-b783-cbe6f4c76cb0; Wed, 22 Nov 2023 22:44:24 +0000 (UTC)
Received: from EX19D008UEC004.ant.amazon.com (10.252.135.170) by
 EX19MTAUEB001.ant.amazon.com (10.252.135.108) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Wed, 22 Nov 2023 22:44:24 +0000
Received: from EX19D008UEC001.ant.amazon.com (10.252.135.232) by
 EX19D008UEC004.ant.amazon.com (10.252.135.170) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.39;
 Wed, 22 Nov 2023 22:44:24 +0000
Received: from EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797]) by
 EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797%3]) with mapi id
 15.02.1118.039; Wed, 22 Nov 2023 22: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b2a1ef27-8988-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt;
  s=amazon201209; t=1700693072; x=1732229072;
  h=from:to:cc:date:message-id:references:in-reply-to:
   subject;
  bh=3xMfyZaGNKUZXY6J9RAacwbWahOUcmHquHqcJeXeqtQ=;
  b=MSmk7+j7mHQ+5BNCCAyq3nNnnxOfOoP9nzjHeUR+nk5Xlxi/f1vSu5P+
   BqheOEXDN0BdjLo6qTIaLfIIM/YWx9D3nDrtwD0T/aWs8FiS/xh/QRZtR
   G3NMnL8nKMfwTlkPWMEp2gwF264YusTqi+sYeqLlV01vvb786t5G9wDFd
   E=;
X-Amazon-filename: smime.p7s
X-IronPort-AV: E=Sophos;i="6.04,219,1695686400"; 
   d="p7s'?scan'208";a="372029929"
Subject: Re: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice before
 realizing it
Thread-Topic: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice before
 realizing it
Content-Type: multipart/mixed; boundary="===============6888344725671669387=="
MIME-Version: 1.0
X-Farcaster-Flow-ID: 7fe55016-f93d-4488-b783-cbe6f4c76cb0
From: "Woodhouse, David" <dwmw@amazon.co.uk>
To: "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, "paul@xen.org"
	<paul@xen.org>
CC: "julien@xen.org" <julien@xen.org>, "hreitz@redhat.com"
	<hreitz@redhat.com>, "anthony.perard@citrix.com" <anthony.perard@citrix.com>,
	"marcandre.lureau@redhat.com" <marcandre.lureau@redhat.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, "qemu-block@nongnu.org"
	<qemu-block@nongnu.org>, "kwolf@redhat.com" <kwolf@redhat.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>, "jasowang@redhat.com"
	<jasowang@redhat.com>
Thread-Index: AQHaHMezmCau/R+6yESi3gnmA/l9g7CGkpmAgABetgA=
Date: Wed, 22 Nov 2023 22:44:23 +0000
Message-ID: <c715df296cef35bd67ede0cfdec8f5cd294f0db2.camel@amazon.co.uk>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	 <20231121221023.419901-2-volodymyr_babchuk@epam.com>
	 <e1663064-247d-41e3-9a36-16f81303fb94@xen.org>
In-Reply-To: <e1663064-247d-41e3-9a36-16f81303fb94@xen.org>
Accept-Language: en-GB, en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.106.83.18]
MIME-Version: 1.0
Precedence: Bulk

--===============6888344725671669387==
Content-Language: en-US
Content-Type: multipart/signed; micalg=sha-256;
	protocol="application/pkcs7-signature"; boundary="=-4HxZNZF5ZSWudBV0ZC1y"

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

On Wed, 2023-11-22 at 17:05 +0000, Paul Durrant wrote:
> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> > From: David Woodhouse <dwmw@amazon.co.uk>
> >=20
> > This allows a XenDevice implementation to know whether it was created
> > by QEMU, or merely discovered in XenStore after the toolstack created
> > it. This will allow us to create frontend/backend nodes only when we
> > should, rather than unconditionally attempting to overwrite them from
> > a driver domain which doesn't have privileges to do so.
> >=20
> > As an added benefit, it also means we no longer have to call the
> > xen_backend_set_device() function from the device models immediately
> > after calling qdev_realize_and_unref(). Even though we could make
> > the argument that it's safe to do so, and the pointer to the unreffed
> > device *will* actually still be valid, it still made my skin itch to
> > look at it.
> >=20
> > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > ---
> > =C2=A0 hw/block/xen-block.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 | 3 +--
> > =C2=A0 hw/char/xen_console.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
| 2 +-
> > =C2=A0 hw/net/xen_nic.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 | 2 +-
> > =C2=A0 hw/xen/xen-bus.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 | 4 ++++
> > =C2=A0 include/hw/xen/xen-backend.h | 2 --
> > =C2=A0 include/hw/xen/xen-bus.h=C2=A0=C2=A0=C2=A0=C2=A0 | 2 ++
> > =C2=A0 6 files changed, 9 insertions(+), 6 deletions(-)
> >=20
>=20
> Actually, I think you should probably update
> xen_backend_try_device_destroy() in this patch too. It currently uses
> xen_backend_list_find() to check whether the specified XenDevice has an
> associated XenBackendInstance.

I think I did that in
https://git.infradead.org/users/dwmw2/qemu.git/commitdiff/94f1b474478ce0ede
but didn't get round to sending it out again because of travel.

--=-4HxZNZF5ZSWudBV0ZC1y
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEjww
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhAwggT4oAMCAQICEQC/QgfpbUT3q2fHshU/ReqfMA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowIjEgMB4GCSqGSIb3DQEJARYRZHdtd0BhbWF6b24uY28udWsw
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZgnzd4h6STv/MQcUPixvDN/dNtp4yVSdc
xz9mB1OcA7HXd4WdPyYagmkcH0WguDYaQnOszkSdElI+2XRFSlGXhY7U9tktvdWuY1zAY1UWES8e
3BUHqSKbIKx4SX6GuctCcPnyagVZ9Hk21YUElx9cdmrqt0bGoydgxAspEx56J9Q5a48WfvFYjLBF
NL1dw+P1eUeAljco30+Xggf5faawKfPArUX0cmU4VIh5DMUyv4d0xxfNN6cK1GMj/HGUg2T9OTHW
nbTdq+OHJwHGi/37mCWx1O3uV0hbZzA1fNklaqlsr1Acg0elPeCFXLb8dSkMgQZHNJVjn+mBvG4d
MG4FS3ntipApytA+a5IaMP3LNAo0EoBd5/xVy0M6TXbiYesYLq9rhnrLgO1qcw7+if0jH9YoEJ6a
Je1m7omfEXh2XpospSLaohmAqaBKlyhXDXbTnUVnIf79zU5ohHZof0cP2amnnvYUVD72iuf9qe7X
4L1Rj589qEWYROKiMil5X7l/smE1dAmxhKxx6YWvWkXH9u7JOcmLGdKST0voaY7j3Wk0lxK3NKsk
q0G3BpqbPz3P8BYtn38BvbkFnwVW7F7Qzus3KZJgP62eN25QHxoFj44x3sppx4I5WlYG4lxdFZsY
smQdj64c7MaJ7cp8RJN+eO32RKrkndEkihzxevl11wIDAQABo4IByjCCAcYwHwYDVR0jBBgwFoAU
CcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFJ418HpIgZaPnwpWdCNSvm4XgH/lMA4GA1Ud
DwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjBA
BgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28u
Y29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29S
U0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3JsMIGKBggrBgEFBQcBAQR+
MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1
dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3Nw
LnNlY3RpZ28uY29tMBwGA1UdEQQVMBOBEWR3bXdAYW1hem9uLmNvLnVrMA0GCSqGSIb3DQEBCwUA
A4IBAQCSez7gtf1wlWJr568crX21nm6QFWRdJ/YxMOReeqYtGs8QZf2zm2vIEFab61MrgJFJcFJL
sRhVHwnH/hvax3ZldDpUhM0ODpA9soUjYsvKJ0boFAHPtI1BL0yrZNCBdsUGxMv0t64Acj2ovxQ+
OxPd5ngHu0MzYIKLDvTSehxkh/qW23X7Ey/fPR0sgnAK4IV7clidmuWBbrqX+WKEyEP2kaEvLsRg
8plzYbVVFJl37rX2waKnGaWYnJ3BrvcMMgDSQCuoxMThWAOr7wxOh0ni0K3rW7CwDIAjUSk+fFmS
2EacUvIv/0xUW1nXzGJ12/Qyi+Mw65m0qE776qfcftg3MIIGEDCCBPigAwIBAgIRAL9CB+ltRPer
Z8eyFT9F6p8wDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVy
IE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE+
MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1h
aWwgQ0EwHhcNMjIwMTA3MDAwMDAwWhcNMjUwMTA2MjM1OTU5WjAiMSAwHgYJKoZIhvcNAQkBFhFk
d213QGFtYXpvbi5jby51azCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJmCfN3iHpJO
/8xBxQ+LG8M39022njJVJ1zHP2YHU5wDsdd3hZ0/JhqCaRwfRaC4NhpCc6zORJ0SUj7ZdEVKUZeF
jtT22S291a5jXMBjVRYRLx7cFQepIpsgrHhJfoa5y0Jw+fJqBVn0eTbVhQSXH1x2auq3RsajJ2DE
CykTHnon1DlrjxZ+8ViMsEU0vV3D4/V5R4CWNyjfT5eCB/l9prAp88CtRfRyZThUiHkMxTK/h3TH
F803pwrUYyP8cZSDZP05MdadtN2r44cnAcaL/fuYJbHU7e5XSFtnMDV82SVqqWyvUByDR6U94IVc
tvx1KQyBBkc0lWOf6YG8bh0wbgVLee2KkCnK0D5rkhow/cs0CjQSgF3n/FXLQzpNduJh6xgur2uG
esuA7WpzDv6J/SMf1igQnpol7WbuiZ8ReHZemiylItqiGYCpoEqXKFcNdtOdRWch/v3NTmiEdmh/
Rw/Zqaee9hRUPvaK5/2p7tfgvVGPnz2oRZhE4qIyKXlfuX+yYTV0CbGErHHpha9aRcf27sk5yYsZ
0pJPS+hpjuPdaTSXErc0qySrQbcGmps/Pc/wFi2ffwG9uQWfBVbsXtDO6zcpkmA/rZ43blAfGgWP
jjHeymnHgjlaVgbiXF0VmxiyZB2PrhzsxontynxEk3547fZEquSd0SSKHPF6+XXXAgMBAAGjggHK
MIIBxjAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUnjXwekiBlo+f
ClZ0I1K+bheAf+UwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYB
BQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEW
F2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2Vj
dGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5j
cmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9T
ZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEF
BQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHAYDVR0RBBUwE4ERZHdtd0BhbWF6b24uY28u
dWswDQYJKoZIhvcNAQELBQADggEBAJJ7PuC1/XCVYmvnrxytfbWebpAVZF0n9jEw5F56pi0azxBl
/bOba8gQVpvrUyuAkUlwUkuxGFUfCcf+G9rHdmV0OlSEzQ4OkD2yhSNiy8onRugUAc+0jUEvTKtk
0IF2xQbEy/S3rgByPai/FD47E93meAe7QzNggosO9NJ6HGSH+pbbdfsTL989HSyCcArghXtyWJ2a
5YFuupf5YoTIQ/aRoS8uxGDymXNhtVUUmXfutfbBoqcZpZicncGu9wwyANJAK6jExOFYA6vvDE6H
SeLQretbsLAMgCNRKT58WZLYRpxS8i//TFRbWdfMYnXb9DKL4zDrmbSoTvvqp9x+2DcxggTHMIIE
wwIBATCBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdv
IFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAL9CB+ltRPer
Z8eyFT9F6p8wDQYJYIZIAWUDBAIBBQCgggHrMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJ
KoZIhvcNAQkFMQ8XDTIzMTEyMjIyNDQyMlowLwYJKoZIhvcNAQkEMSIEIJOuU9TqQ3EgHfiN92/V
f6iFBgb8IGfIlmYfdY/2mxdjMIG9BgkrBgEEAYI3EAQxga8wgawwgZYxCzAJBgNVBAYTAkdCMRsw
GQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1Nl
Y3RpZ28gTGltaXRlZDE+MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9u
IGFuZCBTZWN1cmUgRW1haWwgQ0ECEQC/QgfpbUT3q2fHshU/ReqfMIG/BgsqhkiG9w0BCRACCzGB
r6CBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJT
QSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAL9CB+ltRPerZ8ey
FT9F6p8wDQYJKoZIhvcNAQEBBQAEggIAFMR7WCJnQz2E0urV+aommhX99QWjP6y97UDgXzFujzjr
Gz6HCyguuUu0Wby6H/83oT5EQmOyYXZ3nJYTvIpsfRvs1SxMbqsUIyIT5IFgwDKCwjBxbQ6AmWEU
gs++fhWf0ulk+cxzXa06SuZtTAGmvaY9IdnMPGWj3KM6XVMdtGcmTaxiHiGlbnqdeohM/QLGOnwT
ugz6B3UE9u0/ftazoQ2ZMBL1fuTK/VmWmWyerbRG2PrSZflkDKoPLPliwtq1HiLwfqoAOgzdXliI
Vg05cq0eBZQy2CjrxT1aA1Y1+ABguaRCK6XU9XB7FaF16o4oBbhskrvAsyvqNjOy5PfasMqTfxu8
wnAkSDkyZL0AUolkuDNenKjA2iqNKSI7O6lCRRb5W/cqmwIykMnTg5NL3ETKHqY7DidEkDcWwwAY
2qUpWhvsl2IsWFUg3VCro7rFvwF3CIYdKBiUEMzEvV/4ATIZrvuwWD41iVe4ik/V50BcfzU1Ans8
CnODoBBOgfqu54+7KKdbf0nMWDGxEgLsMUja0peDZlapHoJDtHQJZGUVrZj5hSsC04+K9Fyh6qMv
7lLEV9S1tQzcy/wE+heyjHR4c4vbqzFFr1Ae9li+ljeDLgZ3Shqg0muLkeP5dFwU++MsGbFEAeQk
tMmiDnJTbld5FaiapdiIGpMqY8894PcAAAAAAAA=


--=-4HxZNZF5ZSWudBV0ZC1y--

--===============6888344725671669387==
Content-Type: multipart/alternative; boundary="===============3362504651177648591=="
MIME-Version: 1.0
Content-Disposition: inline

--===============3362504651177648591==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable




Amazon Development Centre (London) Ltd. Registered in England and Wales wit=
h registration number 04543232 with its registered office at 1 Principal Pl=
ace, Worship Street, London EC2A 2FA, United Kingdom.



--===============3362504651177648591==
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

<br><br><br>Amazon Development Centre (London) Ltd.Registered in England an=
d Wales with registration number 04543232 with its registered office at 1 P=
rincipal Place, Worship Street, London EC2A 2FA, United Kingdom.<br><br><br>

--===============3362504651177648591==--
--===============6888344725671669387==--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:46:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:46:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639255.996353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5vzg-00058W-TK; Wed, 22 Nov 2023 22:46:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639255.996353; Wed, 22 Nov 2023 22:46: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 1r5vzg-00058P-QF; Wed, 22 Nov 2023 22:46:52 +0000
Received: by outflank-mailman (input) for mailman id 639255;
 Wed, 22 Nov 2023 22:46: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=EnF+=HD=amazon.co.uk=prvs=6830d628d=dwmw@srs-se1.protection.inumbo.net>)
 id 1r5vzf-00055B-2P
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:46:51 +0000
Received: from smtp-fw-9106.amazon.com (smtp-fw-9106.amazon.com
 [207.171.188.206]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 043a1697-8989-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:46:48 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO
 email-inbound-relay-pdx-2c-m6i4x-b1c0e1d0.us-west-2.amazon.com)
 ([10.25.36.210]) by smtp-border-fw-9106.sea19.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2023 22:46:41 +0000
Received: from smtpout.prod.us-east-1.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan3.pdx.amazon.com [10.39.38.70])
 by email-inbound-relay-pdx-2c-m6i4x-b1c0e1d0.us-west-2.amazon.com (Postfix)
 with ESMTPS id 123A980E6E; Wed, 22 Nov 2023 22:46:40 +0000 (UTC)
Received: from EX19MTAUEC002.ant.amazon.com [10.0.44.209:37335]
 by smtpin.naws.us-east-1.prod.farcaster.email.amazon.dev [10.0.93.120:2525]
 with esmtp (Farcaster)
 id 23a927f1-40ae-457a-96a3-4944dacd7816; Wed, 22 Nov 2023 22:46:39 +0000 (UTC)
Received: from EX19D008UEC004.ant.amazon.com (10.252.135.170) by
 EX19MTAUEC002.ant.amazon.com (10.252.135.253) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Wed, 22 Nov 2023 22:46:39 +0000
Received: from EX19D008UEC001.ant.amazon.com (10.252.135.232) by
 EX19D008UEC004.ant.amazon.com (10.252.135.170) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.39;
 Wed, 22 Nov 2023 22:46:39 +0000
Received: from EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797]) by
 EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797%3]) with mapi id
 15.02.1118.039; Wed, 22 Nov 2023 22:46: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 043a1697-8989-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt;
  s=amazon201209; t=1700693209; x=1732229209;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to;
  bh=ZNus4MNDWH9zvdQFbx0y4aBO6KcLzPt3p8zCCp44DF4=;
  b=gMc4jWQgrCx82RG6Zfs/xuG4nYb8d4XcBdlr7YvFHjDFE6/A1gaxvTfe
   AcGVtmNDxxphhl7AVjBytHd7EwAUNiKJHY8XZTdGQ0MQi2UVlmX1pInbp
   a+4XXJOsqtzzNXxZoBzknqX4uE0RSn6oObd/+yq1kAbdVIFc6z1lJE5nT
   4=;
X-Amazon-filename: smime.p7s
X-IronPort-AV: E=Sophos;i="6.04,219,1695686400"; 
   d="p7s'?scan'208";a="685919465"
Content-Type: multipart/mixed; boundary="===============4348891245300251586=="
MIME-Version: 1.0
X-Farcaster-Flow-ID: 23a927f1-40ae-457a-96a3-4944dacd7816
From: "Woodhouse, David" <dwmw@amazon.co.uk>
To: "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, "paul@xen.org"
	<paul@xen.org>
CC: "julien@xen.org" <julien@xen.org>, "hreitz@redhat.com"
	<hreitz@redhat.com>, "anthony.perard@citrix.com" <anthony.perard@citrix.com>,
	"Oleksandr_Tyshchenko@epam.com" <Oleksandr_Tyshchenko@epam.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, "qemu-block@nongnu.org"
	<qemu-block@nongnu.org>, "marcandre.lureau@redhat.com"
	<marcandre.lureau@redhat.com>, "kwolf@redhat.com" <kwolf@redhat.com>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>, "jasowang@redhat.com"
	<jasowang@redhat.com>
Subject: Re:  [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Thread-Topic: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Thread-Index: AQHaHZXBy3TgSmEg1EqB/qkwqHzB+g==
Date: Wed, 22 Nov 2023 22:46:39 +0000
Message-ID: <e9bec5052be942021b9d28432173d8a7ce987f8b.camel@amazon.co.uk>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	 <20231121221023.419901-3-volodymyr_babchuk@epam.com>
	 <02fcd3c2-afe2-43f4-8a15-7caa85a147f5@xen.org>
In-Reply-To: <02fcd3c2-afe2-43f4-8a15-7caa85a147f5@xen.org>
Accept-Language: en-GB, en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.106.83.18]
MIME-Version: 1.0
Precedence: Bulk

--===============4348891245300251586==
Content-Language: en-US
Content-Type: multipart/signed; micalg=sha-256;
	protocol="application/pkcs7-signature"; boundary="=-SG96OccgDQ0z6HS++6Hc"

--=-SG96OccgDQ0z6HS++6Hc
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2023-11-22 at 17:03 +0000, Paul Durrant wrote:
>=20
> > This patch checks presence of xendev->backend to check if Xen PV
> > device is acting as a backend (i.e. it was configured by Xen
>=20
> Technally *all* XenDevice objects are backends.

Right. The key criterion is whether the backend was created by QEMU, or
merely discovered by QEMU after the toolstack created it.

--=-SG96OccgDQ0z6HS++6Hc
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEjww
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhAwggT4oAMCAQICEQC/QgfpbUT3q2fHshU/ReqfMA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowIjEgMB4GCSqGSIb3DQEJARYRZHdtd0BhbWF6b24uY28udWsw
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZgnzd4h6STv/MQcUPixvDN/dNtp4yVSdc
xz9mB1OcA7HXd4WdPyYagmkcH0WguDYaQnOszkSdElI+2XRFSlGXhY7U9tktvdWuY1zAY1UWES8e
3BUHqSKbIKx4SX6GuctCcPnyagVZ9Hk21YUElx9cdmrqt0bGoydgxAspEx56J9Q5a48WfvFYjLBF
NL1dw+P1eUeAljco30+Xggf5faawKfPArUX0cmU4VIh5DMUyv4d0xxfNN6cK1GMj/HGUg2T9OTHW
nbTdq+OHJwHGi/37mCWx1O3uV0hbZzA1fNklaqlsr1Acg0elPeCFXLb8dSkMgQZHNJVjn+mBvG4d
MG4FS3ntipApytA+a5IaMP3LNAo0EoBd5/xVy0M6TXbiYesYLq9rhnrLgO1qcw7+if0jH9YoEJ6a
Je1m7omfEXh2XpospSLaohmAqaBKlyhXDXbTnUVnIf79zU5ohHZof0cP2amnnvYUVD72iuf9qe7X
4L1Rj589qEWYROKiMil5X7l/smE1dAmxhKxx6YWvWkXH9u7JOcmLGdKST0voaY7j3Wk0lxK3NKsk
q0G3BpqbPz3P8BYtn38BvbkFnwVW7F7Qzus3KZJgP62eN25QHxoFj44x3sppx4I5WlYG4lxdFZsY
smQdj64c7MaJ7cp8RJN+eO32RKrkndEkihzxevl11wIDAQABo4IByjCCAcYwHwYDVR0jBBgwFoAU
CcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFJ418HpIgZaPnwpWdCNSvm4XgH/lMA4GA1Ud
DwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjBA
BgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28u
Y29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29S
U0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3JsMIGKBggrBgEFBQcBAQR+
MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1
dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3Nw
LnNlY3RpZ28uY29tMBwGA1UdEQQVMBOBEWR3bXdAYW1hem9uLmNvLnVrMA0GCSqGSIb3DQEBCwUA
A4IBAQCSez7gtf1wlWJr568crX21nm6QFWRdJ/YxMOReeqYtGs8QZf2zm2vIEFab61MrgJFJcFJL
sRhVHwnH/hvax3ZldDpUhM0ODpA9soUjYsvKJ0boFAHPtI1BL0yrZNCBdsUGxMv0t64Acj2ovxQ+
OxPd5ngHu0MzYIKLDvTSehxkh/qW23X7Ey/fPR0sgnAK4IV7clidmuWBbrqX+WKEyEP2kaEvLsRg
8plzYbVVFJl37rX2waKnGaWYnJ3BrvcMMgDSQCuoxMThWAOr7wxOh0ni0K3rW7CwDIAjUSk+fFmS
2EacUvIv/0xUW1nXzGJ12/Qyi+Mw65m0qE776qfcftg3MIIGEDCCBPigAwIBAgIRAL9CB+ltRPer
Z8eyFT9F6p8wDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVy
IE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE+
MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1h
aWwgQ0EwHhcNMjIwMTA3MDAwMDAwWhcNMjUwMTA2MjM1OTU5WjAiMSAwHgYJKoZIhvcNAQkBFhFk
d213QGFtYXpvbi5jby51azCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJmCfN3iHpJO
/8xBxQ+LG8M39022njJVJ1zHP2YHU5wDsdd3hZ0/JhqCaRwfRaC4NhpCc6zORJ0SUj7ZdEVKUZeF
jtT22S291a5jXMBjVRYRLx7cFQepIpsgrHhJfoa5y0Jw+fJqBVn0eTbVhQSXH1x2auq3RsajJ2DE
CykTHnon1DlrjxZ+8ViMsEU0vV3D4/V5R4CWNyjfT5eCB/l9prAp88CtRfRyZThUiHkMxTK/h3TH
F803pwrUYyP8cZSDZP05MdadtN2r44cnAcaL/fuYJbHU7e5XSFtnMDV82SVqqWyvUByDR6U94IVc
tvx1KQyBBkc0lWOf6YG8bh0wbgVLee2KkCnK0D5rkhow/cs0CjQSgF3n/FXLQzpNduJh6xgur2uG
esuA7WpzDv6J/SMf1igQnpol7WbuiZ8ReHZemiylItqiGYCpoEqXKFcNdtOdRWch/v3NTmiEdmh/
Rw/Zqaee9hRUPvaK5/2p7tfgvVGPnz2oRZhE4qIyKXlfuX+yYTV0CbGErHHpha9aRcf27sk5yYsZ
0pJPS+hpjuPdaTSXErc0qySrQbcGmps/Pc/wFi2ffwG9uQWfBVbsXtDO6zcpkmA/rZ43blAfGgWP
jjHeymnHgjlaVgbiXF0VmxiyZB2PrhzsxontynxEk3547fZEquSd0SSKHPF6+XXXAgMBAAGjggHK
MIIBxjAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUnjXwekiBlo+f
ClZ0I1K+bheAf+UwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYB
BQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEW
F2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2Vj
dGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5j
cmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9T
ZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEF
BQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHAYDVR0RBBUwE4ERZHdtd0BhbWF6b24uY28u
dWswDQYJKoZIhvcNAQELBQADggEBAJJ7PuC1/XCVYmvnrxytfbWebpAVZF0n9jEw5F56pi0azxBl
/bOba8gQVpvrUyuAkUlwUkuxGFUfCcf+G9rHdmV0OlSEzQ4OkD2yhSNiy8onRugUAc+0jUEvTKtk
0IF2xQbEy/S3rgByPai/FD47E93meAe7QzNggosO9NJ6HGSH+pbbdfsTL989HSyCcArghXtyWJ2a
5YFuupf5YoTIQ/aRoS8uxGDymXNhtVUUmXfutfbBoqcZpZicncGu9wwyANJAK6jExOFYA6vvDE6H
SeLQretbsLAMgCNRKT58WZLYRpxS8i//TFRbWdfMYnXb9DKL4zDrmbSoTvvqp9x+2DcxggTHMIIE
wwIBATCBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdv
IFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAL9CB+ltRPer
Z8eyFT9F6p8wDQYJYIZIAWUDBAIBBQCgggHrMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJ
KoZIhvcNAQkFMQ8XDTIzMTEyMjIyNDYzOFowLwYJKoZIhvcNAQkEMSIEIL2CGScqsCri7T8i1EiB
nkVDSib+7y6jnQJwTyew1EEXMIG9BgkrBgEEAYI3EAQxga8wgawwgZYxCzAJBgNVBAYTAkdCMRsw
GQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1Nl
Y3RpZ28gTGltaXRlZDE+MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9u
IGFuZCBTZWN1cmUgRW1haWwgQ0ECEQC/QgfpbUT3q2fHshU/ReqfMIG/BgsqhkiG9w0BCRACCzGB
r6CBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJT
QSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAL9CB+ltRPerZ8ey
FT9F6p8wDQYJKoZIhvcNAQEBBQAEggIAXhp8SGJ5fcg4I6OMpvZ0cEl18+BaIaV6tVsHoZ3tlOcC
/LRj2/ybNJYLEHW6DXXTjAE28rIMQXuHs4Eo75PWeb/mOqV5SmJvx4KMYyAf9Gl0jlYscr9v8NA1
udSN2QRLofL9yzV09Ymwq9QOMKiWNp9UWQmejba+5WKl78A7rYkhl50rX2y34/8sG4d0iPPN1GB3
15bMCkSs9NBY/440M4o52YNgkgp5e5UEAAp/DRxYYq533Fyml7UvIK+3rqwv3wnCoqZbFViVRFSV
zk+mAEoAYwD9920k3NhFicVVLOI6zASpngdhDBrqvDfpyo7AP0cgU20Ms2x1QrznHGUmao7h6qsU
5Fvpv4g8Svd2nBSqHmRplckXKZ8vBgNfcvdUmiImxn1reETpun0tSJXh0ALcc9JaJzEMU66TDgCU
hYf9jQdphcI7pgH/12AQco+QYBLLEdQ916Bj8EhcoyvybqNdhg62gBhlCA9vCxGcrY/3G1hzvaOZ
mgooMkWRsdQbEBizW1H50CV3UWW4p/xc1AD2QOSDmiwF7SkKQKrcWo4KFi8fBArf4Z2s+EqgHuBn
PtGJXb2Id/SpVEup9BKImFiWTSAbq/XZF/tT/Y5NMsevErrFPMiP3XyJw8oMxHK4OC41ZCI8671r
mVSpae6QsTZdEXUyELaLKJxFHLUHFHoAAAAAAAA=


--=-SG96OccgDQ0z6HS++6Hc--

--===============4348891245300251586==
Content-Type: multipart/alternative; boundary="===============8724680922320975902=="
MIME-Version: 1.0
Content-Disposition: inline

--===============8724680922320975902==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable




Amazon Development Centre (London) Ltd. Registered in England and Wales wit=
h registration number 04543232 with its registered office at 1 Principal Pl=
ace, Worship Street, London EC2A 2FA, United Kingdom.



--===============8724680922320975902==
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

<br><br><br>Amazon Development Centre (London) Ltd.Registered in England an=
d Wales with registration number 04543232 with its registered office at 1 P=
rincipal Place, Worship Street, London EC2A 2FA, United Kingdom.<br><br><br>

--===============8724680922320975902==--
--===============4348891245300251586==--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:50:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:50:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639260.996363 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5w2n-0007Jc-Fq; Wed, 22 Nov 2023 22:50:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639260.996363; Wed, 22 Nov 2023 22:50: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 1r5w2n-0007Io-CM; Wed, 22 Nov 2023 22:50:05 +0000
Received: by outflank-mailman (input) for mailman id 639260;
 Wed, 22 Nov 2023 22:50: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=hBnL=HD=epam.com=prvs=56903895d3=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5w2l-0006wv-Ri
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:50:03 +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 77a45472-8989-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:50:01 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AMMcJYf030777; Wed, 22 Nov 2023 22:49:48 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uhet1afc2-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 22 Nov 2023 22:49:48 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6354.eurprd03.prod.outlook.com (2603:10a6:20b:1b0::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Wed, 22 Nov
 2023 22:49:45 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Wed, 22 Nov 2023
 22:49: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: 77a45472-8989-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dy9+GtYdotcK8R99kCm2Y0VI5qkAVti2L9sUzcXLjWyoHEJwYJVBe5ALA2zf7RUG0Fsr2WT1Gd3OeA8LnV/yncoN101r9IZXVQxnwphazh6Dve71QI5hsOt2lmE7oIpiOZiNa4QIioXLwG8HaehgQIaUdOkjTcHsuL6zGPVsYxFbpWPx2riliOEwQuFJOrbANmiBbT63xWWjYkOH4VKDkcI98Ht7iULopb94cbmj2cEIHFVnRSBPAVD9vPLWgouH9/8aK/IjRzuRRh3EKF9jt20aUZVqyVPR9S00CVr+M330zC2U1VgVyGQ2WX6KPN2f0eE1lvCKDeEYlnwahh81Tw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GALFRJg55jt6JiEZfRw+xo/FTGLqR3bGnHTe36biIuQ=;
 b=HWgPgDVATnlsc9nOB4BveR24O3Lfowm4PHvkY2WdWXNW/raxqLbt8qeMSae16WF3MgEm6GXDOIkqKxAuksJFX8smikeqseKM6yzJ+1B/jdpHWB61hCI6aKn/t337j0zX1ruVpJM3dKzzmVFYICIi5JL13Mwmhc5KttYHFLtpQvgJoHhZshtXg5tYLhcORWgJVXiQzzyOECQN7mZMBxDdQrnKG/04vVYhn9UGdfYT3KQE6+t85X/YhDjDAh9EceNig1ppNDmbircNl8jimdwrND5PMAraL8IBuL0ASv3M4YykdHjDMHOBEx/2VGPpSfVLfRq6WZnMsvUwWshBzs4zqg==
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=GALFRJg55jt6JiEZfRw+xo/FTGLqR3bGnHTe36biIuQ=;
 b=JJKlnFpihG6vcggTa0SPNYDLBGqg0Vdy+4s0yAh/zuT6GRebndVuS1qlaPtyPxi8whwk3P01MHLL1r5LykzA8QUV1VaGAJZij6HZ/I9r2P4Rl6XTAjoTHmiUlOwIzQL/p5PDkkIMvyoEvhmshCWrgYGBCaAfr8iYCAPMMQpV8RmpVs4svjKgOces6C1XWoB+McKD5Gme74dB3CoLlbs73I/xYRJBWtDsyN77SvAPBzg1l/6Odm0RwBjN9vRx89z20YnApsEyl+TLs5kS/gIrqfiL8G/A1JLKIe7VYL5ECnYRAYQbwpbmXDm+WaqT8zI2/pkZ4Zpmffd5RWXvtL9vQw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= <philmd@linaro.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        David Woodhouse
	<dwmw@amazon.co.uk>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Julien
 Grall <julien@xen.org>, Paul Durrant <xadimgnik@gmail.com>,
        Oleksandr
 Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard
	<anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>, Kevin Wolf
	<kwolf@redhat.com>,
        Hanna Reitz <hreitz@redhat.com>,
        =?utf-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@redhat.com>,
        Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
        "open
 list:Block layer core" <qemu-block@nongnu.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Thread-Topic: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Thread-Index: AQHaHMeI7KczK4z02kGE/beB6udNwrCGLpiAgADDwYA=
Date: Wed, 22 Nov 2023 22:49:44 +0000
Message-ID: <87msv51jzu.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-3-volodymyr_babchuk@epam.com>
 <19f6fcaf-ac2b-4cc3-b226-27ec659d7478@linaro.org>
In-Reply-To: <19f6fcaf-ac2b-4cc3-b226-27ec659d7478@linaro.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6354:EE_
x-ms-office365-filtering-correlation-id: 747e80bf-822b-43c8-b85a-08dbebad5286
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 xpAdNMpjfOIlWWe/YfCvFf3oFiLkbpqrb2RD97fYyxqGH5tpRM0SGBq25KFR1z9pfuRC2oTLtZcHo5t5kRVR5T/VjCU0O6tY24dcpPEyRYrqsFAsrxhe211kNe+tP6c7TMbLGgilezluRfxTCQQ7MKQO2wEMRAwOFSmthKY7HNg6OmJSbex4Sj10cbryycUB5ANI0Np194tL93jxC/gBucAUbTmsQEGaXp7q4FUC0QnRb88qvPIhu5+DmWwi5SuSyfB3IFfKboihi44WRpZtRi84Ypp1gq2ClT9DQuBbUciKbnWapHMcmWonBcOJqMvoyE/sZomA9scuzbXOk2oAtOhY3oIT5m4vmHZx5JPL8WQ5JqktaYhIUCPI0MoVLL8Zexp2di4vxKfCQ9190FsYrHKiGJ3g9HfQDQv6o6Kwp7gHBHL5ntj35NN6jFIpA+Pkv/CevS6cCTnpNfns3drquDIpCQeXj5MmRKTtMBhCZ/AoI2nPNaz7HypBvWoN6j+Mw6mFDfKMamdzD9wpIqo6HskJfNUXFd53l86gb0hCbhtqIsIc6OdS/XVE7/XRitPauPgQG/m+pgZ7syIjUhEFZoggApTxG0/QIlbdaMSSD/CHPHrMu2yzEhMZUiy6Bgcz
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:(13230031)(366004)(396003)(376002)(39860400002)(346002)(136003)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(7416002)(2906002)(4744005)(71200400001)(86362001)(6506007)(478600001)(2616005)(26005)(55236004)(53546011)(6512007)(66556008)(66476007)(66446008)(64756008)(316002)(54906003)(6916009)(8676002)(4326008)(8936002)(36756003)(66946007)(6486002)(91956017)(76116006)(122000001)(38100700002)(5660300002)(38070700009)(41300700001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?WVZqQWR5SEpFcE1HbHdsZjdDek81MEh6eU8zV01zQTRiRjZhbi9GbFpWblRo?=
 =?utf-8?B?VEFDWll1M3dmT1Vha1MzbTBXUjROYWJTbXFTdzNodjdoZzcxWGkzZHNZWC9p?=
 =?utf-8?B?TTEycTUyZG1OUUgxUFppbFlNcnBJY3pod0h6aml4MXFpZjBQYTdOcjN4ZTU3?=
 =?utf-8?B?WUdiMlNOSUZOUmpib1VNak51SC9SVGhzVWduR3BPN3ZkV3cxZ05lZ051RDEz?=
 =?utf-8?B?REl5bzJJM05YSndsamJnelRGMHdaV3JZVVUzYjBQN3ZUTDRBTFNHZHYxQ0I0?=
 =?utf-8?B?NTBFdnpGYUMyeFcvYnRMdE9Kd05kb1JmRGd2OUszRDZPNWFXL01BL3QvYWV0?=
 =?utf-8?B?TE5VSkFDOG02cmhEdmxJUEtkWVdoZ1A4K0luTDRjQ2E0am5CaUJYN1F3dVpQ?=
 =?utf-8?B?UFVkYUFwd1QxUDJBNjJxOFVXVUwrL1ZLcXdiWUZBelV1VjZML3Y3KzlzVnJK?=
 =?utf-8?B?Yzd2OFRWY1BKcFYyZ0xoVXhSUGsxVGg5N3hCQTNtdHl1bjBhdWpIVk5OSkRt?=
 =?utf-8?B?dUtlSk9KQW5FbFNYRmVibjJpZjVqUmc0bEs5L24xQllnb3ZKNng0dHZUUHA3?=
 =?utf-8?B?TWpjRStpV2lkdEliR09PczQwY2ZOUWxoaXZLRS9BaEhxTEhnWUZ3d3hlL0tl?=
 =?utf-8?B?VVJ2d0dESElRaXhvV1NtdFFxWUk1MTQ3L2pmUjNJOWlKQVZBSk5hZ1NsQ21L?=
 =?utf-8?B?bWVoOUExK1M0dkpUVkVMeUNyK25uK3h5SzJwWFdjV1JFb0dmaTNNREpwNEtH?=
 =?utf-8?B?bG95TkhLRzZQYUp3bXJMcG95WGxpSDdPTCtxZDIyaWNNT1h5clArUDJwelI2?=
 =?utf-8?B?Tld3dURpMER5aVZEUGF3MXgyS2h0endzZmZqWVprVmlrK1pOaWZvUUxkTzdH?=
 =?utf-8?B?S1JpdC9FRVlUK1lwdTZLNDJGMC9tanRWZWZnTkVQZkZoOXg2YWVDcmg3NFdv?=
 =?utf-8?B?NERNeGlmWjhSUlUvZkp3TFJ3N3gxMEd1S2ZpeFZsYWxhNWlXcXBMMHp1Umg2?=
 =?utf-8?B?cWkxSEUyNVNSUXVYWE56U2haU29UTlR2V3NHTkhiSmdMUmw5Q0NqVFJVcmNt?=
 =?utf-8?B?NVJiZmpZZVZ3RFBFYWJZdjVrNHlRQkVldlBURDlha2JiUk1aMWJSTTJ3WHh5?=
 =?utf-8?B?L04rdDhYYTNzcndZMjliSXZRa3hRTG54emc3a3podGxrTS8wYXJjU3d0a3Iy?=
 =?utf-8?B?OWU1aFlNMmlLOW01UmFkWmFQZFJXSGZHaEZBQ1VCclNzamx3ZExIOFJDWndl?=
 =?utf-8?B?WWZoV1haWnp6aG92Sm5SNmlsc3pWbXM4T25xZWJMSi9oUFUxbitaVjRBM3RU?=
 =?utf-8?B?NnFKWjl1c2RHK09NOEFBNGVaOFBZNHlSSGYyTWtoWUxLaHEwbG9FeGhGNXZ4?=
 =?utf-8?B?cDhjb0QyRjczNnpvMUxiMWZnclNsQ2tWaDlpZVRlL2F4K2g3akVCK2xpRXp3?=
 =?utf-8?B?TDF2bStjTTAxbXZSNS9mOEZKS3ZHajBzc3BOazVSd1MrbEJscDZZQm5YbytZ?=
 =?utf-8?B?Y25DRml5SHFTSFZGanlkQVRkc3V3bUU1S0J5OVl6Uk5mejYvaUltNDZTbnN3?=
 =?utf-8?B?bTBGSUo3a1ZFRFFRcmlOWGZXUE9LWGQvamkyanU4UmcySU0rcW5HZndkcFpt?=
 =?utf-8?B?MXdWSGEzTURPRGdwQUg1clppeEROYXpnczAvbTR6TVlmNDFQOHR2Sm5jS0dS?=
 =?utf-8?B?RVgvT3p4SkJ5bjZtV3ZEM2VtOWsra3Q4ejAvOXdIYlY5UG4rZEEzRjBocVNr?=
 =?utf-8?B?dXU4M2dCdWNoTkRTa1NacXNZVVI5YVBDOXg4ZW40OVhIVzFTMFJQb1BQdnlS?=
 =?utf-8?B?Qy9YSzFhWHN5ZnRUQjNORi9RRHQwTnpWaCtCNXRKMU5zMlNORkprSkpocWZT?=
 =?utf-8?B?QkxmclMrcHRLYzhJNFdDVVVJSUFhZHZFd1h5WSswRW9qLzlCOXdxZGZiUlNv?=
 =?utf-8?B?NnBqZXo3UUFLcENYS1kzZGZzWkllYmlpL0h6T0lEZlAvMDQ0cHdoOVRqZms2?=
 =?utf-8?B?UENqcUhBVlNiSVp3Qlh6dzBsSGU5eFBDOE5TeXhOOE9oOFprNHp6M1hXQVpx?=
 =?utf-8?B?OUZ6RmUzR3dwQVRmMmNUbVhFVEZUTHFxL05vSWNxZ2VtT3YyM2dsbm9rWHJ6?=
 =?utf-8?B?bEFmbUFBb0hKWEFFM2dwQXdWaVptTFVTakRBaTVENi9OSFV2Y0I1SVJQd3NF?=
 =?utf-8?B?akE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <558673417E63B54794723FA5361A733C@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 747e80bf-822b-43c8-b85a-08dbebad5286
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2023 22:49:44.9113
 (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: Upao47tIkFHEI3P5cGQ21Dw7lyxI4iEgB4ivSdhWjT1dfdNkqUDHiroo9yvJvbZapRd+91IaH8nX6Y97pWdKWtfXTgPP4mBhXu/soD6B+cs=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6354
X-Proofpoint-GUID: dz3GyM25Aie6dJIaASEcMMoHQf1dbo_-
X-Proofpoint-ORIG-GUID: dz3GyM25Aie6dJIaASEcMMoHQf1dbo_-
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-22_18,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1011 phishscore=0
 spamscore=0 mlxscore=0 suspectscore=0 bulkscore=0 impostorscore=0
 mlxlogscore=935 priorityscore=1501 adultscore=0 malwarescore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311220167

DQpIaSBQaGlsaXBwZSwNCg0KUGhpbGlwcGUgTWF0aGlldS1EYXVkw6kgPHBoaWxtZEBsaW5hcm8u
b3JnPiB3cml0ZXM6DQoNCj4gSGkgVm9sb2R5bXlyLA0KPg0KPiBPbiAyMS8xMS8yMyAyMzoxMCwg
Vm9sb2R5bXlyIEJhYmNodWsgd3JvdGU6DQo+PiB3YXMgY3JlYXRlZCBieSBRRU1VDQo+DQo+IFBs
ZWFzZSBkbyBub3Qgc3BsaXQgbGluZXMgYmV0d2VlbiBzdWJqZWN0IGFuZCBjb250ZW50LiBSZXdy
aXRlIHRoZQ0KPiBmdWxsIGxpbmUuIFByZWZlcmFibHkgcmVzdHJpY3QgdGhlIHN1YmplY3QgdG8g
NzIgY2hhcnMuDQoNCkkgdHJpZWQgdG8gY29tZSB3aXRoIHNob3J0ZXIgZGVzY3JpcHRpb24sIGJ1
dCBmYWlsZWQuIEknbGwgcmV3cml0ZSBpdCBpbg0KdGhlIG5leHQgdmVyc2lvbi4NCg0KLS0gDQpX
QlIsIFZvbG9keW15cg==


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:51:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:51:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639262.996373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5w3z-0008Ts-Pm; Wed, 22 Nov 2023 22:51:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639262.996373; Wed, 22 Nov 2023 22:51: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 1r5w3z-0008Tl-Lu; Wed, 22 Nov 2023 22:51:19 +0000
Received: by outflank-mailman (input) for mailman id 639262;
 Wed, 22 Nov 2023 22:51: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=hBnL=HD=epam.com=prvs=56903895d3=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5w3z-0008Tf-1t
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:51:19 +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 a455fe5c-8989-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:51:16 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AMMdC3N015332; Wed, 22 Nov 2023 22:51:04 GMT
Received: from eur03-dba-obe.outbound.protection.outlook.com
 (mail-dbaeur03lp2169.outbound.protection.outlook.com [104.47.51.169])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uhkw3152t-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 22 Nov 2023 22:51:03 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6354.eurprd03.prod.outlook.com (2603:10a6:20b:1b0::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Wed, 22 Nov
 2023 22:50:59 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Wed, 22 Nov 2023
 22: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>
X-Inumbo-ID: a455fe5c-8989-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DpCr3EcZzWgvT3Sy7H6nx7eSIVDMAHC0wFXIHNa3+MbpjiALJtFxh0MkMwt7GRgij2XwI9L4o8VNlwHnBfh+XrW52RXxg1fsq87UNem9fCJ4kTN2AUegLBB1SQkPN+Swn7fTGNWRjLJHapiT4dbmDnx/zG01j6C/RhiaeTnA5vu2SRJ2YyXOs7z7vlqbyOK3ZUbIWeCRvQ0zxo1hwHkNSuwg/POqReHKJyJa5lJhs8jo9hagbVOPx72PrFkbN4UgT5JVIXav1icbqS7cHTOM45DqTFb8kDGQfv7bRJLYNcAiMUC+iW4tIgDhuR0OSEoI7SLc3wHHVWVCLyMFdEq5NA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Fu6XQbDtjyOpbQ5xLRtKKFWfHV+6B+hlHG+VdzqjaKQ=;
 b=X1eO6yT6kdNCo4oo122VRA/E/a2CCEH4/1gWrPsdPjZ3Tm89zPfCQUMVXExb8WdvNDAdXBnCtiLRxpNauWRjjMU8iGrJjvTEP3mc3965CcON5iFJS6XcbuTAmi9eoWiGsycmSgUFvfkffdkL7ooglUiz46wq+WH+M0s+L3hfsSOoCpq8SSNfYZRkImKQ1RHLDZphwtYeJ1Lec5INt04cau2VIRqTVeMQXOKTto91QNhQ2FKwOEMVJmA6uqZkVr2bpeDWzK3KkJ6wlBz3xpFuA+0dASo3LrT5F+dMweXDSriDbE3xQo0kSde4HjFn4rVFjjkVtxUV8e2IltDOorSbfw==
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=Fu6XQbDtjyOpbQ5xLRtKKFWfHV+6B+hlHG+VdzqjaKQ=;
 b=VA/7x3z1QDtawAxWp4FQ7L9CFwtprcI/A8pZ5qBzylV9UnNMrnmJAAhyV+py5MxW5QdU5KIy2x8XCW5fhgTbzscQjA7cv8dOXepQ6tsoJj7KAOoi/4mzE2BvR+oiLVGdrNOPXg/9bxhI/20NLmO+4vGlFLTyDLS+u9+8lxFtmcUnA79fyox1JM752pRz4iq0oL2GwUGnkkzdnIA9V1KcfkQx8uMvSueYy/73oDaEN94FlFJUkJ7g8GpEjRTdie/Yn1v4dC9FAqWVYAI3bkg2UbQMR0BV1gNo/ydQLYZWoRsk2pjMhOmzso/SA+8hAqWcacYrL0ptgGi3PM0S3RkNJg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "paul@xen.org" <paul@xen.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        David Woodhouse
	<dwmw@amazon.co.uk>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Julien
 Grall <julien@xen.org>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
        =?iso-8859-1?Q?Marc-Andr=E9_Lureau?=
	<marcandre.lureau@redhat.com>,
        Paolo Bonzini <pbonzini@redhat.com>, Jason
 Wang <jasowang@redhat.com>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>,
        "open list:Block layer core"
	<qemu-block@nongnu.org>
Subject: Re: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Thread-Topic: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
Thread-Index: AQHaHMeI7KczK4z02kGE/beB6udNwrCGkgaAgABg54A=
Date: Wed, 22 Nov 2023 22:50:59 +0000
Message-ID: <87fs0x1jxp.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-3-volodymyr_babchuk@epam.com>
 <02fcd3c2-afe2-43f4-8a15-7caa85a147f5@xen.org>
In-Reply-To: <02fcd3c2-afe2-43f4-8a15-7caa85a147f5@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6354:EE_
x-ms-office365-filtering-correlation-id: 4c74207c-3b30-465f-d588-08dbebad7edd
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 L4nzxN0at5FdR5hMfsSzIyfqiQds8AB4LuwU2MXzqvEa9b7Wz+02i+JaVYmaEb2kMIrHuNnijSF2vzJfHL29UNCHgtEJUClAqroqiuH27a4xktvNnSzAqZk/ycP10t952LcYr4/Bs61fV1hi9kXMJHCZuSzmri2duM0rPV97gFTfzS70Lj2hIg5A3wvkOp2U8Nqhm/PeHbytMgxMzjtd0REiuIfcGBmfZHwaGomg6nrLzRY3HVd/O3UrJOWTWxYIfAgsb4k2VIBlsInzpcBXlqSNGSqReEq2ji+8AuWKVy2nFxbTE5Rzqp+dJPCr4OphUS3sHNKgnSRBASlBscVyxvUWvvgHpd6ywWEjjbDyioOQrWSSRARMb39yQk9cpRQJzNB1RwkmVbW0W40eX/6yIJkMtQG+CmN6L0+Rgfby6+tX94VLDEGB0CbidAVZI225+ZbgTVtlWeZp1CVYl8KGNfialdS8ZDvKMCVXzvxS0HVXf6kL3NsUNotoam++8y6PH1OBZKwsKrZUFRqucypYIFi0VmvO3egQgUr3mZNteA0ug2w/j2o28iSAa3b67xwxJaSi6lj3wjW9mmOd93GCfLx5f4N3h7f0uk12t6U6uyrjAPOEBHa0LnPXpx3m7Vih
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:(13230031)(366004)(396003)(376002)(39860400002)(346002)(136003)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(7416002)(2906002)(71200400001)(86362001)(6506007)(478600001)(2616005)(26005)(55236004)(53546011)(6512007)(66556008)(66476007)(66446008)(64756008)(316002)(54906003)(6916009)(8676002)(4326008)(8936002)(36756003)(66946007)(6486002)(91956017)(76116006)(122000001)(38100700002)(83380400001)(5660300002)(38070700009)(41300700001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?YknbYz9NTEt73koG4aY87fZYnT7NIa2ctA+cTW1Jvg/qVjWyH9jBNONwsB?=
 =?iso-8859-1?Q?NMFrWb+RJcfkmGO0JB8jIaEyzTRhOglj+hcwTZp7UJD3NePbaS3kJBwnZu?=
 =?iso-8859-1?Q?16vqvEBsAxX0JddrgAmCb0UVsI4TVsL8DWnYNPcWvOZSSQQNZzaLWLda0+?=
 =?iso-8859-1?Q?SQQwHtoQrqoZ7Jj+T1YjmkWpFGIjKrOL2973QOue9GsENkK83NCkk3b2XX?=
 =?iso-8859-1?Q?/E9zgHhTRWpKAqfswR5VpJkb7VxBE7iydCJD86RL81uOAY92V6vu47V+ao?=
 =?iso-8859-1?Q?TipBn+MSADEg0/nIVTba6YRa9XczeHdzoPmqJuNlludsZ8au1hlpycMVs2?=
 =?iso-8859-1?Q?EtPskGpYp/DdET7rGRhjlvacHHnIJItgNDqVu6unT8It6mU+CUE2qxb5j/?=
 =?iso-8859-1?Q?JTHSvt8L4mxrqM7s20qOkC7R4pFVLlC4YW1aKKkqLgRIokH2Z+RaOviY6e?=
 =?iso-8859-1?Q?zfVE5Z0b9cDPmKN/e9F0qd98EVdFjz7GBJ3B1Vv6kuSbxdsUnwlPW/296+?=
 =?iso-8859-1?Q?C4Ggki65n4H8rGDqaM2wmyDKT9DJd8ug+keJlRa7nDwBVb/UgXcZRV4oSw?=
 =?iso-8859-1?Q?gkaDlKVBy2q6xAsd/RyV9ZlDXj1iq/2Lr0Ft4rjNSsbEL82rfdtc0hlQtH?=
 =?iso-8859-1?Q?ae+mUjvQ4sJtCgmiL7vDySZRABYllNElm9Yyb23zOijCg5dV4jfGVqZPou?=
 =?iso-8859-1?Q?ROEUw0HrNn5PTOyba/pHysdKpAlsThrmDxH/QLP1KSaEv8n5LpdW5loNWJ?=
 =?iso-8859-1?Q?PKKkUjSNscHkmorrhHJc8td4EVEUs1klYPO4vYLzmjkPVNPmJiz6mYI5K2?=
 =?iso-8859-1?Q?WxT27cdrciljwNcxpoZL3oGhIo9PDl4DW/b8Rm4Iv7pjkvLHpcY6eSyMvO?=
 =?iso-8859-1?Q?zTlq8VLJJhyaZ+lP2C/bcKKopFPCbzbUdTvSZk5C9XxPsyOqU13ge+McFH?=
 =?iso-8859-1?Q?pam1Vb5RvZQ8kBk8d85jRFMB+s/TbiXlPhsAWJ4D6/QkY9/1YoVfz4Enu9?=
 =?iso-8859-1?Q?IXtQSC4XQ9aosSFBgVxnmW3xZMEZvopUMyjrYHJAIoVdZdSHVp5+zEQr2/?=
 =?iso-8859-1?Q?Q5dIBSLdQdjD/RIimEX7Iz0hQtErRA43Vc3r3oqRZxDV/w/m2poRrIJpvN?=
 =?iso-8859-1?Q?YHbsdLYXJEoNRqrnfsJih2KyvL3OpQ5iIRJKMb9KhxHEfAn/U6dZmU63Ex?=
 =?iso-8859-1?Q?6Gt3ixLtxF9nSbxOZaVK1/mYRkBwjpRBSEAc5Qtaq3KAkiV7vunukigHhP?=
 =?iso-8859-1?Q?DMRuQ4nen6nT+wO+z4WpurH6G6yBEYhUU/IBBiLxpG3fKUOn9veS0atb3r?=
 =?iso-8859-1?Q?dder1d3WgIzTBw2v6XYDyUmpW7dUs3W1dg7VW8objE+XdBU2/KYz5/Ig88?=
 =?iso-8859-1?Q?oD5r8rCMyfdSKCBdZeFW4/IOUT91GpUVK+cUt7pVi3pP22ZKmIpt+zW/z/?=
 =?iso-8859-1?Q?Qh/2LESqwtJPt3fXW4s3hOoQeYgLkz2hw4Cc/O3nqAww7294MJbSYO3S5E?=
 =?iso-8859-1?Q?mNifrCwAJlS0CoV45/JS/+9WM2R4eD9GVS3iXVi4MXgtlHqFamej/4Yesj?=
 =?iso-8859-1?Q?Jh+tjpF7JvpEEebLYhODYYrZ6SMqkq8eICERodf7p1GgmZzSGnPTnC2JqZ?=
 =?iso-8859-1?Q?/QbzoLdbZU1s4qAj5ACdVsmJa+Ybri3NCzUKpitl/jv7IqVxMnarEceA?=
 =?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: 4c74207c-3b30-465f-d588-08dbebad7edd
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2023 22:50:59.2907
 (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: eCLUVjJVrgAM0TD8IhxGNvnI/2SL/DOGVZezbgMNrbN96oTgVZ9lQfhPewhCchYgnHe+Z3ey70If0euvV5UInyOQeli1cmWLIEuyNm72YWI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6354
X-Proofpoint-ORIG-GUID: Qjx8yhmtka4ON3rEmWgfzSzT2wYnNRwZ
X-Proofpoint-GUID: Qjx8yhmtka4ON3rEmWgfzSzT2wYnNRwZ
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-22_18,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0
 adultscore=0 mlxlogscore=948 priorityscore=1501 bulkscore=0
 impostorscore=0 spamscore=0 clxscore=1015 phishscore=0 suspectscore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311220166


Hi Paul,

Paul Durrant <xadimgnik@gmail.com> writes:

> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>> was created by QEMU
>> Xen PV devices in QEMU can be created in two ways: either by QEMU
>> itself, if they were passed via command line, or by Xen toolstack. In
>> the latter case, QEMU scans XenStore entries and configures devices
>> accordingly.
>> In the second case we don't want QEMU to write/delete front-end
>> entries for two reasons: it might have no access to those entries if
>> it is running in un-privileged domain and it is just incorrect to
>> overwrite entries already provided by Xen toolstack, because toolstack
>> manages those nodes. For example, it might read backend- or frontend-
>> state to be sure that they are both disconnected and it is safe to
>> destroy a domain.
>> This patch checks presence of xendev->backend to check if Xen PV
>> device is acting as a backend (i.e. it was configured by Xen
>
> Technally *all* XenDevice objects are backends.
>

Yes, you are right of course. I'll rephrase this paragraph in the next
version.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:56:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:56:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639266.996383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5w8t-0000uc-A2; Wed, 22 Nov 2023 22:56:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639266.996383; Wed, 22 Nov 2023 22: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 1r5w8t-0000uV-6G; Wed, 22 Nov 2023 22:56:23 +0000
Received: by outflank-mailman (input) for mailman id 639266;
 Wed, 22 Nov 2023 22: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=hBnL=HD=epam.com=prvs=56903895d3=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5w8r-0000uP-UM
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:56:21 +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 59377c80-898a-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:56:19 +0100 (CET)
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 3AMMbwSj007642;
 Wed, 22 Nov 2023 22:56:14 GMT
Received: from eur03-am7-obe.outbound.protection.outlook.com
 (mail-am7eur03lp2232.outbound.protection.outlook.com [104.47.51.232])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uh4u5btgf-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 22 Nov 2023 22:56:14 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6354.eurprd03.prod.outlook.com (2603:10a6:20b:1b0::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Wed, 22 Nov
 2023 22:56:09 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Wed, 22 Nov 2023
 22: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: 59377c80-898a-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FVK0Hvc67DeCJYR9W5yfaA8dXd/ToawqTU8iFK438c0YBB5y3JKnPCq9JsBdTRsBXwQCDcHjh0EbAP0/gL3IWNHRvH6tD/aGMEdfsY97fpMVcq9foyvgPBSvCx0cS0XD0/zquDa8ZWyemGYrI9uqIe4AjA8ANdjGj+Ozb38F0MBiYJYOalY62pQTvEDEZruAh+6p8ogjkMs5FjPxGUuLtca3N4MOCYonUZZLDoDpG7OMI5q2F+cV/wW++gRyiYVEL8ciEQRMccB+0ZccMtQzdbiQt2ytPNwAog65ayqwRz/P5jbWPk7yPRwb77PKkFmp713zKnhTqy/uHf8JSTROxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xgVT4rtx4sDyaqAQgUh6a1OE8aBuIehIj85TllrI8kY=;
 b=hMiE8JXrTSyY+6dppUM8NNalaSGiGdWnn/nEg6GCWAs9cNx18pT9S7dOHlu6ugXx2SSDr1yI4Flz/FDzZLilmg7E14Us356WpsP7RroWly3++x+S3mVsDjqH0RVw21zHSj++C3HUQiCvpBINAyj28AkguV9nA7NFqSGKcVzq7EceZ81nFpQ5Tz3Cijz8xhCsWKhPBn3lbX2hZnkGaUSUPmdLWQK7DgHmgl9AJU0p31/gojL9MgmdoIir35wsWH1Hf09W2ztORgnLQ9corG/2yxr/E9mhZZvpMVfXROnZg5L+YN5FJzr0wXcj1rmxwKnHan2Ps7PgBKcPedHwdYA81w==
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=xgVT4rtx4sDyaqAQgUh6a1OE8aBuIehIj85TllrI8kY=;
 b=JY+atU6cKyHuALznaITQQb/aE7EojwYNxTErYFqqOWPIjjAU56wVOTw8luJFneggKhpOfx2zFfsbq54uDzjdN6E2Atj7ilCBYD3IcXVHwqp+sFwDOnL7toNKI5VLhIOeE5/hZjYLoxDlNeeajbtU/LwyWDwrm+aJZX3gX62Rm/aW00Eb91zhCOrcsNRmkAT/DpH8XT1n7Z6n9WIPZA6xVccImASQQ2t7PbOp3rf1XEj8psnbwMdVkMzdlh7T2ssL2T531zrtYEqnEIqx4nrTQXV9I7I5AfEPHmeoU8XS4Ys0jlyM0tRiVL7o8p2qkHXDTNV1HL+nDMdNnF8JVU2IUw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "paul@xen.org" <paul@xen.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        David Woodhouse
	<dwmw@amazon.co.uk>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Julien
 Grall <julien@xen.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Kevin
 Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
        =?iso-8859-1?Q?Marc-Andr=E9_Lureau?= <marcandre.lureau@redhat.com>,
        Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
        "open
 list:Block layer core" <qemu-block@nongnu.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Thread-Topic: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Thread-Index: AQHaHMeI32LlpkxN1EiN6kyRHznaJrCGkpqAgABhOIA=
Date: Wed, 22 Nov 2023 22:56:09 +0000
Message-ID: <878r6p1jp2.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-2-volodymyr_babchuk@epam.com>
 <e1663064-247d-41e3-9a36-16f81303fb94@xen.org>
In-Reply-To: <e1663064-247d-41e3-9a36-16f81303fb94@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6354:EE_
x-ms-office365-filtering-correlation-id: e68f9ea7-291a-417f-d541-08dbebae37d3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 f3ezOciVlJ3nqovjzRZQ4MF0aBCsP+jSEMKV1X5WoAX0v8u2J6RdCxPLQZI6spGKG8z7d4yceP5qsjJyRfSIgUKXXiFmfhWdTHKZUNDd+6zstVuFDTyegKB3wydt3ToAiP+f7/5ByhAJX1o6FlaG9dCtHtQEfem3b7l8ARmxQpKt87qIRA5n/IW1qkQYdLJxNs1dFcsZty0rJB2eSf4cf6PGwZazl+ONLQssAXJC3SfFc94XswpqnCi3wO1vhZ8RDp06jCDZCI9ib2wEWXg17BSSqhhgXC123STonw4nA0Wqb70iUTozzvjs2mVjRsdJtzme1ei0xD6VKRuG+LZu1cia1TS5dg8B+UNqBtxHzUNj0tUaB+u/QbN/dCxhPi6BcJQbaxlaIOQiBJOrMLH28Tn1ylxfNA2eoIqeIqk3KSqi4Jo/7fmb9ahNqPeBd1F71EBmkGjbqY3tmS3qsWspcrmT6WAzi+heMhEm+4oLLa9a73MPJpPn0y2W02ccUxg3QZQFVk7TaUnSKf050WqF5F6P5E0z/HcWfPfWFC8bbyppy8JYq82ktTp7AsXWtQwimPJ0d/HeyjH6Fc8e+v5g4BjQ90bZe+PR1+tEBsV8K34wewLfqKTnCGDdr1XALfq9
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:(13230031)(366004)(396003)(376002)(39860400002)(346002)(136003)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(7416002)(2906002)(71200400001)(86362001)(6506007)(478600001)(2616005)(26005)(55236004)(53546011)(6512007)(66556008)(66476007)(66446008)(64756008)(316002)(54906003)(6916009)(8676002)(4326008)(8936002)(36756003)(66946007)(6486002)(91956017)(76116006)(122000001)(38100700002)(83380400001)(5660300002)(38070700009)(41300700001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?9rlGkwT/fRAsQKot+gvVs0NMM4qwCBuxE3g0TO6x7pMJ3ffyN2eAV+msBD?=
 =?iso-8859-1?Q?lAsW+t/VwJy5SOAz5t8eeiYOD6KGRr31BvrXHdIYNV/qxJ3Q3i+Qr0rSZ5?=
 =?iso-8859-1?Q?UAngXUFv0LwUyU6FyTanDfB4pkmlVjUtpwp31RbBqE/zVdmSrKvB76aHDu?=
 =?iso-8859-1?Q?UazPh8meOsLVUaQaAL2I5H+pc6vEBhySvB1qpioKmZvndENGdu50VcBhnv?=
 =?iso-8859-1?Q?vJ+K/M1u4J+W5Z8NUsrWEZTdhcGdQPkiiZk8w7nyIhmMV66FiwG1X3Xu3l?=
 =?iso-8859-1?Q?dS/EgzvlcnOjKbzY+WmV+qJzWtJn9bWkfjpkLRISIpwiMhoxmiUYNmbZPK?=
 =?iso-8859-1?Q?hOZF4rQPZdY3ygmN7pI54OKXPGhjBxYHXuYx/zv9iE2zt6i/fhxPbGb6Ag?=
 =?iso-8859-1?Q?6zDSj/l0AX5moTnWlchTcWBSSYGVsIp6HpWdM2wDg5f3SU4+saTPck16iy?=
 =?iso-8859-1?Q?W7LJkIjaD7R2bdTEmAwnFH4/jNLFZanOPfmN7tHd5hNR4ugclCrPLWzBrp?=
 =?iso-8859-1?Q?XOw0R3Fj6BggSrNPswXTczCM07btBozOoxQ1Npb1wA+/Yzfbs60gH/wZur?=
 =?iso-8859-1?Q?+sm5u/UihMC7iD085QA94kigyUhaSycykmkwJgniB3mlvVieaxvyiVi4Lk?=
 =?iso-8859-1?Q?if72ZEiGEBZdN0vNQsbSqw/S7UfbbaTERpEKmhbKDNW0IwLliIScxKpvwA?=
 =?iso-8859-1?Q?ULptCj+u7+q+L8Bkz1FHJ53EiieC6q2GIXsFJqgL27gXgifNll1lsBbLAj?=
 =?iso-8859-1?Q?coFQpl2ks5l9+VsQytz8WVAAmWwQP53AMbJ07g0+FDMKmvaoCc/j1euOv4?=
 =?iso-8859-1?Q?E1/K6xuL5GJ0KZB/NAhralphgk09lO+xF5Arhdm21HLVV30ClULiVZLNkd?=
 =?iso-8859-1?Q?Rw87fczJx3Qq/HOYNCEhz8UxUZK2jXHr3LcGt5g/ej47A2djb7ZOx/J1pH?=
 =?iso-8859-1?Q?RT/ZWJu1igNGvF8TMW2Fg5MHkaIs2h6/QjEaS2MUL7VBwLRG6BFFtvpibs?=
 =?iso-8859-1?Q?zrolTEuNcvwCarmo2GJKgLtezFvT9/Y7zfGNUjlSGAwylXYrohopdJODVr?=
 =?iso-8859-1?Q?2ppKXCEJ4bTY49ESVeMUcIPpMls1ttSh/kRwrr1QWydqW73eCeR8P7RQMb?=
 =?iso-8859-1?Q?74zoYxN9bCT5EcoVXI2ify6XvR/F4A1s6YH/3dlfyZR+N/ln9TdkMKXNWK?=
 =?iso-8859-1?Q?jPd0bSMr1mJH766q2KHCV7UyHTEg216QE01wr08wPG/nCwEN2LfLZ8IDFY?=
 =?iso-8859-1?Q?AcmnxcWHDebNF8QhinF9XJa5qncgtDjdelqOnW2pa015uhDO7lf33ewyIg?=
 =?iso-8859-1?Q?BEXNWf+YTDafbYcTBQgzz1LnYbzRWj9a61N25XmlW6LI6dFlbprGWvLktf?=
 =?iso-8859-1?Q?snOsBKqXnjFyi357XMhnesJgfj1W9tX8rwrb+J4cdjr5jtvlSqKPvViVs7?=
 =?iso-8859-1?Q?drxtij3dxOjCii6YBsZQv1U9RuWWAriumiCjPWNJ3IIVPpZ0lvEmnVBKWO?=
 =?iso-8859-1?Q?iULBrr2z1OVHaOR+Cne8HXIYtdprt5Eg3y9SbgJ+LyXifBmwyJTJ4Ayb3v?=
 =?iso-8859-1?Q?/t4nZlO/k1G0fkxcjiJxPOuM2wrULFFqNygnjf50nPCT/B/vaUfMjrNvwt?=
 =?iso-8859-1?Q?L1WglNOhU9M1cIQ6Xauw4lLXXvRaMxHvUyAZoql4ymk1JtbLBStl1hcw?=
 =?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: e68f9ea7-291a-417f-d541-08dbebae37d3
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2023 22:56:09.6316
 (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: vQbOTEJ7Gj/rw2cDsD3U9JCGHMTUljn6g9AizomJvqPfNEGqdWtHpzPsMmsAvtqtbXZ2QuLbkfgoal9Mc8vVUpBmASLx+iu1XnlBlly2IGc=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6354
X-Proofpoint-GUID: q13b_9xBRvl8DD0XlGH9LaUgtzxPsCSt
X-Proofpoint-ORIG-GUID: q13b_9xBRvl8DD0XlGH9LaUgtzxPsCSt
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-22_17,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=13 impostorscore=0
 clxscore=1015 bulkscore=0 mlxscore=13 priorityscore=1501
 lowpriorityscore=0 adultscore=0 spamscore=13 suspectscore=0 malwarescore=0
 mlxlogscore=82 phishscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311220168



Paul Durrant <xadimgnik@gmail.com> writes:

> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>> From: David Woodhouse <dwmw@amazon.co.uk>
>> This allows a XenDevice implementation to know whether it was
>> created
>> by QEMU, or merely discovered in XenStore after the toolstack created
>> it. This will allow us to create frontend/backend nodes only when we
>> should, rather than unconditionally attempting to overwrite them from
>> a driver domain which doesn't have privileges to do so.
>> As an added benefit, it also means we no longer have to call the
>> xen_backend_set_device() function from the device models immediately
>> after calling qdev_realize_and_unref(). Even though we could make
>> the argument that it's safe to do so, and the pointer to the unreffed
>> device *will* actually still be valid, it still made my skin itch to
>> look at it.
>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
>> ---
>>   hw/block/xen-block.c         | 3 +--
>>   hw/char/xen_console.c        | 2 +-
>>   hw/net/xen_nic.c             | 2 +-
>>   hw/xen/xen-bus.c             | 4 ++++
>>   include/hw/xen/xen-backend.h | 2 --
>>   include/hw/xen/xen-bus.h     | 2 ++
>>   6 files changed, 9 insertions(+), 6 deletions(-)
>>=20
>
> Actually, I think you should probably update
> xen_backend_try_device_destroy() in this patch too. It currently uses
> xen_backend_list_find() to check whether the specified XenDevice has
> an associated XenBackendInstance.

Sure. Looks like it is the only user of xen_backend_list_find(), so we
can get rid of it as well.

I'll drop your R-b tag, because of those additional changes in the new
version.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 22:57:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 22:57:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639269.996393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5w9c-0001Zy-Ld; Wed, 22 Nov 2023 22:57:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639269.996393; Wed, 22 Nov 2023 22:57: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 1r5w9c-0001Zr-Iv; Wed, 22 Nov 2023 22:57:08 +0000
Received: by outflank-mailman (input) for mailman id 639269;
 Wed, 22 Nov 2023 22:57: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5w9b-0000uP-JA
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 22:57:07 +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 75249b8d-898a-11ee-9b0e-b553b5be7939;
 Wed, 22 Nov 2023 23:57:06 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 5B388B829CB;
 Wed, 22 Nov 2023 22:57:05 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F0143C433C8;
 Wed, 22 Nov 2023 22:57: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: 75249b8d-898a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700693824;
	bh=xRSABOPimkruIhnojy34S2rdFT8BG80gt5EZHEfktV0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=aO1G0FjD2pePl1QAJFZxP3SbLK/s/jNXm8Cr0j3yPDtsouw9zCA/iX1J2u7X0vdmj
	 //XoZ1xpmdlgZuSha8ZokfNkOxB922u2hrE2xpsiHkJDxjwI1Zbxr2VWYWpuiT/QU8
	 kTh38XdO/lRjMzakTiqFveRg/kDoDRPGZouXsDf495AVlks7y858DFQfYaeZZZl1Q7
	 byfnd0QrQKjdLKt0oRObJ6n7foTKDFGegwkgfx7+MFO091yRcLTXF+duYx9z5S/Dhv
	 UMy1AcWo+ymO8Xt97Y8agRMizVW85OVX+eOtWJjnlV1aUcbQurAJd5IJh4EmF1qUN8
	 J4Ue2ejVWIFPQ==
Date: Wed, 22 Nov 2023 14:57:02 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Simone Ballarin <simone.ballarin@bugseng.com>
cc: Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH] automation/eclair: improve scheduled analyses
In-Reply-To: <fc51fe5b-3e2f-4a62-8078-a86d064c9ef1@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311221455530.2053963@ubuntu-linux-20-04-desktop>
References: <54204ba682f4a5dc6fb8202b593d9562caff6d06.1700486902.git.simone.ballarin@bugseng.com> <alpine.DEB.2.22.394.2311211733330.2053963@ubuntu-linux-20-04-desktop> <fc51fe5b-3e2f-4a62-8078-a86d064c9ef1@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, Simone Ballarin wrote:
> > > diff --git a/automation/gitlab-ci/build.yaml
> > > b/automation/gitlab-ci/build.yaml
> > > index 32af30cced..6b2ac97248 100644
> > > --- a/automation/gitlab-ci/build.yaml
> > > +++ b/automation/gitlab-ci/build.yaml
> > > @@ -1,6 +1,10 @@
> > >   .build-tmpl: &build
> > >     stage: build
> > >     image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> > > +  rules:
> > > +    - if: $CI_PIPELINE_SOURCE == "schedule"
> > > +      when: never
> > > +    - when: always
> > 
> > ...does it mean that we are going to stop all the build jobs...
> > 
> > 
> > >     script:
> > >       - ./automation/scripts/build 2>&1 | tee build.log
> > >     artifacts:
> > > diff --git a/automation/gitlab-ci/test.yaml
> > > b/automation/gitlab-ci/test.yaml
> > > index 61e642cce0..47fc8cb3eb 100644
> > > --- a/automation/gitlab-ci/test.yaml
> > > +++ b/automation/gitlab-ci/test.yaml
> > > @@ -1,6 +1,10 @@
> > >   .test-jobs-common:
> > >     stage: test
> > >     image: registry.gitlab.com/xen-project/xen/${CONTAINER}
> > > +  rules:
> > > +    - if: $CI_PIPELINE_SOURCE == "schedule"
> > > +      when: never
> > > +    - when: always
> > 
> > ...and also stop all the test jobs?
> > 
> > So basically the only thing left is .eclair-analysis:on-schedule ?
> 
> Yes, you're right. I don't know if this is the indented behavior,
> but without these changes all jobs run implicitly.
> 
> If test and build stages are supposed to run on scheduled pipelines,
> I suggest making it explicit by reversing the guard.

Yes I think it is OK to run build and test jobs on scheduled pipelines,
it is not worth optimized them out. I would reduce this patch to the
below. Would that work?

If so, please resend with only the below, and you can add my
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
index f96368ffc7..3cba1a3afb 100644
--- a/automation/eclair_analysis/ECLAIR/action.settings
+++ b/automation/eclair_analysis/ECLAIR/action.settings
@@ -134,7 +134,7 @@ push)
     badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
     ;;
 auto_pull_request)
-    git remote remove autoPRRemote || true
+    git remote remove autoPRRemote 2>/dev/null || true
     git remote add autoPRRemote "${autoPRRemoteUrl}"
     git fetch -q autoPRRemote
     subDir="${ref}"
diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
index fe418d6da1..2507a8e787 100644
--- a/automation/eclair_analysis/ECLAIR/analysis.ecl
+++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
@@ -2,7 +2,13 @@
 -project_name=getenv("ECLAIR_PROJECT_NAME")
 -project_root=getenv("ECLAIR_PROJECT_ROOT")
 
--setq=data_dir,getenv("ECLAIR_DATA_DIR")
+setq(data_dir,getenv("ECLAIR_DATA_DIR"))
+setq(analysis_kind,getenv("ANALYSIS_KIND"))
+setq(scheduled_analysis,nil)
+
+strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t))
+strings_map("scheduled-analysis",500,"","^.*$",0)
+map_strings("scheduled-analysis",analysis_kind)
 
 -verbose
 
@@ -15,7 +21,9 @@
 
 -eval_file=toolchain.ecl
 -eval_file=public_APIs.ecl
--eval_file=out_of_scope.ecl
+if(scheduled_analysis,
+    eval_file("out_of_scope.ecl")
+)
 -eval_file=deviations.ecl
 -eval_file=call_properties.ecl
 -eval_file=tagging.ecl
diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index bd9a68de31..6631db53fa 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -28,6 +28,8 @@
   extends: .eclair-analysis
   allow_failure: true
   rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"
+      when: never
     - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
       when: manual
     - !reference [.eclair-analysis, rules]


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:01:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:01:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639273.996402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wDk-00047L-4G; Wed, 22 Nov 2023 23:01:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639273.996402; Wed, 22 Nov 2023 23: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 1r5wDk-00047E-1p; Wed, 22 Nov 2023 23:01:24 +0000
Received: by outflank-mailman (input) for mailman id 639273;
 Wed, 22 Nov 2023 23:01: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=u3EM=HD=casper.srs.infradead.org=BATV+90b6cdb086a81a73aad6+7395+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r5wDg-00045r-PX
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:01:22 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 086e24ee-898b-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 00:01:15 +0100 (CET)
Received: from [2001:8b0:10b:5:aa35:270f:6b3d:6d64]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r5wDN-006vE0-AH; Wed, 22 Nov 2023 23: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: 086e24ee-898b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=dn6n38p+1RlbrhuYYXSPhee9dfd4gwqiyjVvhla9KpI=; b=dD6OjKuV5holwLT9Vk3N5QUh0B
	sFCDty+opG3nBOjujndKzwk+fCkQpp+Kh5xunZ3CodXekEEmbhDW9PfJoyw/1zoPb3u8Mn1Evvcoy
	8ExpePSWrJ0mLpZ5wIQmzht2azUZByecqP0J3SHlkBajfLISeKSiLO4wiMmEr2N2q4/jgrI7DbfJr
	7wEMPG3+a7LT/AcoEzs6TzjXesXuAImZ/tNC34B6nDiaemg7KZeWjdG1y30Mxg4ZjCR6tBnUFrnhI
	tOHZ4+wLdZGhBC/nnkIvanzopxGk11kqAu+EOzb7NEheeHzn6rQ/l9eA/K9k+ZpE699wRSPfjPTlZ
	Ey6fIOpg==;
Message-ID: <777dd8fb393464bcac2130210ef2a538a2e606f9.camel@infradead.org>
Subject: Re: [PATCH v2 3/6] xen: xenstore: add possibility to preserve owner
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "qemu-devel@nongnu.org"
	 <qemu-devel@nongnu.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Paul Durrant <paul@xen.org>, "Michael S. Tsirkin"
 <mst@redhat.com>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Paolo
 Bonzini <pbonzini@redhat.com>, Richard Henderson
 <richard.henderson@linaro.org>, Eduardo Habkost <eduardo@habkost.net>,
 Anthony Perard <anthony.perard@citrix.com>, "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>
Date: Wed, 22 Nov 2023 23:01:00 +0000
In-Reply-To: <20231121221023.419901-4-volodymyr_babchuk@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	 <20231121221023.419901-4-volodymyr_babchuk@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-z54sDm+tHJmxmiVUzMQw"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-z54sDm+tHJmxmiVUzMQw
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64

T24gVHVlLCAyMDIzLTExLTIxIGF0IDIyOjEwICswMDAwLCBWb2xvZHlteXIgQmFiY2h1ayB3cm90
ZToKPiAKPiAtLS0gYS9ody94ZW4veGVuLW9wZXJhdGlvbnMuYwo+ICsrKyBiL2h3L3hlbi94ZW4t
b3BlcmF0aW9ucy5jCj4gQEAgLTMwMCw2ICszMDAsMTggQEAgc3RhdGljIGJvb2wgbGlieGVuc3Rv
cmVfY3JlYXRlKHN0cnVjdCBxZW11X3hzX2hhbmRsZSAqaCwgeHNfdHJhbnNhY3Rpb25fdCB0LAo+
IMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJuIGZhbHNlOwo+IMKgwqDCoMKgIH0KPiDCoAo+ICvCoMKg
wqAgaWYgKG93bmVyID09IFhTX1BSRVNFUlZFX09XTkVSKSB7Cj4gK8KgwqDCoMKgwqDCoMKgIHN0
cnVjdCB4c19wZXJtaXNzaW9ucyAqdG1wOwo+ICvCoMKgwqDCoMKgwqDCoCB1bnNpZ25lZCBpbnQg
bnVtOwo+ICsKPiArwqDCoMKgwqDCoMKgwqAgdG1wID0geHNfZ2V0X3Blcm1pc3Npb25zKGgtPnhz
aCwgdCwgcGF0aCwgJm51bSk7Cj4gK8KgwqDCoMKgwqDCoMKgIGlmICh0bXAgPT0gTlVMTCkgewo+
ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsKPiArwqDCoMKgwqDCoMKgwqAg
fQo+ICvCoMKgwqDCoMKgwqDCoCBwZXJtc19saXN0WzBdLmlkID0gdG1wWzBdLmlkOwo+ICvCoMKg
wqDCoMKgwqDCoCBmcmVlKHRtcCk7Cj4gK8KgwqDCoCB9Cj4gKwo+IMKgwqDCoMKgIHJldHVybiB4
c19zZXRfcGVybWlzc2lvbnMoaC0+eHNoLCB0LCBwYXRoLCBwZXJtc19saXN0LAo+IMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBBUlJB
WV9TSVpFKHBlcm1zX2xpc3QpKTsKPiDCoH0KCklmIHRoZSBleGlzdGluZyB0cmFuc2FjdGlvbiBp
cyBYQlRfTlVMTCBJIHRoaW5rIHlvdSB3YW50IHRvIGNyZWF0ZSBhCm5ldyB0cmFuc2FjdGlvbiBm
b3IgaXQsIGRvbid0IHlvdT8K


--=-z54sDm+tHJmxmiVUzMQw
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIyMjMwMTAwWjAvBgkqhkiG9w0BCQQxIgQg8QlSiIHx
VRLDrp2UzepRUGM0yEpcv8KVVmpwrGygiaMwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBnbwYrpO6cnF3i0rDelnungpjHorJU3Myi
2sOa7uPfQCnSl3prb8uB2hu4ZIDGBPrMO+Hy9J97VJFc8/YUECJhbQ+qr4NfQHqa9UVmJ5xQgyhJ
rwel117UhyznFIGFQSrRG4PWzJk/+B1uActwxsmIjutpUaOYyx+4fYguM/565Rs9b+ZMNDu6yqkL
Nv8ZxmNVK646ykZQqWnR2/4sBbv7cWyHkqijEbF5x5FsXKiUvk5+bqx1wcpeB92Mkx6xEHeP3yHN
dsaHlbg6jEsG8Nqh4YsV61JVz3OCGOSA7GlhItUs0vXApZU5qxNVRZGUIoRS28pNmMC18KRM6OJU
r1aur1QslTKm3bKlJhQ4dM5fy86WewTzlXGyDvfLkiBW2WLJs73I/s30lwT3oMWE3Gwlx0AAGYa5
H77H/55AtZr6bKjgX1aMTRzvgYTZ8o1um54d42RHi0FonxzHCLxpJiJKtXJgErAC60QBwLHZRNUm
qRgVOhspl6/eiMDiwCVU5vFu0UJWSaV9z6JGCPmwPaJpOa81TqinTPIbAPR/PbvIX10BsXQXzzxT
XITzx9E+kmR5WJHB6Zd6mn9jsFk2oxpirEodadHGfHStB25xQ/gPIQ2LZqSwkDxYR4l4dibOg3yJ
Z8DezD/DM5WKVyqJoBjgxBVMAp238pRi83EzVAtJ0AAAAAAAAA==


--=-z54sDm+tHJmxmiVUzMQw--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:03:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639275.996413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wFZ-0004lk-Fl; Wed, 22 Nov 2023 23:03:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639275.996413; Wed, 22 Nov 2023 23: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 1r5wFZ-0004ld-Cw; Wed, 22 Nov 2023 23:03:17 +0000
Received: by outflank-mailman (input) for mailman id 639275;
 Wed, 22 Nov 2023 23:03: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=u3EM=HD=casper.srs.infradead.org=BATV+90b6cdb086a81a73aad6+7395+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r5wFX-0004lX-RM
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:03:15 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 50dc8993-898b-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 00:03:14 +0100 (CET)
Received: from [2001:8b0:10b:5:aa35:270f:6b3d:6d64]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r5wFV-006vJM-JS; Wed, 22 Nov 2023 23:03: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: 50dc8993-898b-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=5WIpXF2aHggxMYj8LQLOVyFmY+jwiEqoc/pAchYsU3g=; b=qqvWhNsRJHAZTCozPXzVDH650u
	n7KC1x5NZwThvF7fgT10DdF2Az4HM9qGzoJczXsPbKct/povlJipDoh5OXTgv3xZKFKyNoTpNXhi8
	LpgF+fTWEf1bBU8IP6jnvzDDoqGhjyequhqp/XiJftTYkDHA0UfWe/hl37tbrNA589luPFmGoinij
	++rU7ZAdR8RAVBGNZLdT7FYOl8zndIiEGkikRD7//k1ZNtmV2DDVEaMrRzg15BtNX882/QMnSEzAd
	/Il8L5eOiQ2fWxAAWj5RfTOOQi5MO1O7F3/uZDVJiYwbJo0TlDmTCe+esicPTuSJWuZlqhd3IZGW4
	sO2m33jw==;
Message-ID: <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
From: David Woodhouse <dwmw2@infradead.org>
To: Stefano Stabellini <sstabellini@kernel.org>, paul@xen.org
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "qemu-devel@nongnu.org"
 <qemu-devel@nongnu.org>, Julien Grall <julien@xen.org>, Oleksandr
 Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Anthony Perard
 <anthony.perard@citrix.com>,  "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>
Date: Wed, 22 Nov 2023 23:03:13 +0000
In-Reply-To: <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
	 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
	 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-jrDz7aFPr2R2FDdbziWA"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
> On Wed, 22 Nov 2023, Paul Durrant wrote:
> > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > >=20
> > > Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to
> > > inherit the owner of the directory.
> >=20
> > Ah... so that's why the previous patch is there.
> >=20
> > This is not the right way to fix it. The QEMU Xen support is *assuming*=
 that
> > QEMU is either running in, or emulating, dom0. In the emulation case th=
is is
> > probably fine, but the 'real Xen' case it should be using the correct d=
omid
> > for node creation. I guess this could either be supplied on the command=
 line
> > or discerned by reading the local domain 'domid' node.
>=20
> yes, it should be passed as command line option to QEMU

I'm not sure I like the idea of a command line option for something
which QEMU could discover for itself.

--=-jrDz7aFPr2R2FDdbziWA
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIyMjMwMzEzWjAvBgkqhkiG9w0BCQQxIgQgt/yqhZVc
fGifBA0bmmct8wyab7gevtmf+PfOzmcf4Nswgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgB2EvEsTm8Q2u8qc85TAFPWGE0mO1QKyccS
D6iHNXqK97aEOFqryMFYtFGuAEjXJEd2uyouRnAvc+KHpjd01gKwko/EaWaAUID84kOuBBy5y1ms
LG4BF2pvRruV+gICyG8Shu0I8UecYsDyRzxrDjVT+isWlF6ZTqj2mFVuUp0SdKHDS7mvo9qVwDB0
KjH0MdgI35fCBU7w1G3TlopLvEACTLnqIHZi1DGn1hl+XFeDNC4B3mX3ZeBsiHoT75M2CtoW1/FS
6OCWPqsXlNAhIamM0I4qnln/h0WD1zcwpOJOyidyLNb9Pc8RoyXcBfCtqyE3mdlrd9atnD0WNbMy
PVakD30Ra8peRY6szywLqmLRAE1qBHW0jO2r05YrLTPMzqUhPGqTy1+HrjGPaslZyZarXb7cyc4S
mBpImh6Z5I48iiJg5mRixros+Yy16aeHOTJ6LBrnKbgT/yA70PeFDXw7n7DH3GhH+10YZgqYC5e6
xBlbVgQiy6tgdJF186CukeaqsHRlQOauV8MitsurDOzunoKo6CH36sunRIXT5+QvcKcl5I/Vyl6p
2SIszwNAKiMRTfzkY4220zBSq4GcRWcUJ8dhtK9B72SIrinTZepEwpKVyFxRfJS5jgwzqp6yiJE9
8R8DJOwRpJDl0SEhisO3LwqyOdv3GirLlg3hBcGG/QAAAAAAAA==


--=-jrDz7aFPr2R2FDdbziWA--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:04:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:04:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639279.996422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wGW-0005RY-TD; Wed, 22 Nov 2023 23:04:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639279.996422; Wed, 22 Nov 2023 23: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 1r5wGW-0005RP-Qk; Wed, 22 Nov 2023 23:04:16 +0000
Received: by outflank-mailman (input) for mailman id 639279;
 Wed, 22 Nov 2023 23: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=u3EM=HD=casper.srs.infradead.org=BATV+90b6cdb086a81a73aad6+7395+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r5wGV-0005R8-LX
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:04:15 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 749d76b4-898b-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 00:04:14 +0100 (CET)
Received: from [2001:8b0:10b:5:aa35:270f:6b3d:6d64]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r5wGT-006vLJ-EH; Wed, 22 Nov 2023 23: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: 749d76b4-898b-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=cWlNBEZuUOwNyxaNA4RsifPBZBH2WUyoII676qWcvuw=; b=sAr7VxAOlc+yi6pUViPxiVfDjA
	lwFlbC/T/320HBvZTVzCcRTXrfOYvctH23KP+B5BPrpsR9wO4/el9qn5LtzXNw3hBXoC1iIPFaIil
	GOEaRt5kALOUawBx5Uaptw+yKxB3h4hIU/Dvn9jahWNdOxOThk13RlAvxeM6cHrtPJIOxpA6A3nfA
	hitRkdfg4it4h+IBP+2KttEC0ZLJqBTRjB8t7YolOmAvNItk6W2o3spT2VvyC6TFyD+YRTLmBZVlP
	KoqRTU1Cb/b2ESaiZvgESeTUOPKiVaP6BT5+LPk5yYN5PsoyFiO1E8Y2pIxKbEtv/ssEmSUY31y2Q
	HTT8TwdA==;
Message-ID: <67e06eae161072e05f4b0990dbde1da869241670.camel@infradead.org>
Subject: Re: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "paul@xen.org"
	 <paul@xen.org>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Anthony Perard
 <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz
 <hreitz@redhat.com>, =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau
 <marcandre.lureau@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, Jason
 Wang <jasowang@redhat.com>, "open list:Block layer core"
 <qemu-block@nongnu.org>,  "xen-devel@lists.xenproject.org"
 <xen-devel@lists.xenproject.org>
Date: Wed, 22 Nov 2023 23:04:12 +0000
In-Reply-To: <878r6p1jp2.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	 <20231121221023.419901-2-volodymyr_babchuk@epam.com>
	 <e1663064-247d-41e3-9a36-16f81303fb94@xen.org> <878r6p1jp2.fsf@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-xoeWM6RJaxUfxqijXzdk"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Wed, 2023-11-22 at 22:56 +0000, Volodymyr Babchuk wrote:
>=20
>=20
> Paul Durrant <xadimgnik@gmail.com> writes:
>=20
> > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> > > From: David Woodhouse <dwmw@amazon.co.uk>
> > > This allows a XenDevice implementation to know whether it was
> > > created
> > > by QEMU, or merely discovered in XenStore after the toolstack created
> > > it. This will allow us to create frontend/backend nodes only when we
> > > should, rather than unconditionally attempting to overwrite them from
> > > a driver domain which doesn't have privileges to do so.
> > > As an added benefit, it also means we no longer have to call the
> > > xen_backend_set_device() function from the device models immediately
> > > after calling qdev_realize_and_unref(). Even though we could make
> > > the argument that it's safe to do so, and the pointer to the unreffed
> > > device *will* actually still be valid, it still made my skin itch to
> > > look at it.
> > > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
> > > ---
> > > =C2=A0 hw/block/xen-block.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0 | 3 +--
> > > =C2=A0 hw/char/xen_console.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 | 2 +-
> > > =C2=A0 hw/net/xen_nic.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 2 +-
> > > =C2=A0 hw/xen/xen-bus.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 | 4 ++++
> > > =C2=A0 include/hw/xen/xen-backend.h | 2 --
> > > =C2=A0 include/hw/xen/xen-bus.h=C2=A0=C2=A0=C2=A0=C2=A0 | 2 ++
> > > =C2=A0 6 files changed, 9 insertions(+), 6 deletions(-)
> > >=20
> >=20
> > Actually, I think you should probably update
> > xen_backend_try_device_destroy() in this patch too. It currently uses
> > xen_backend_list_find() to check whether the specified XenDevice has
> > an associated XenBackendInstance.
>=20
> Sure. Looks like it is the only user of xen_backend_list_find(), so we
> can get rid of it as well.
>=20
> I'll drop your R-b tag, because of those additional changes in the new
> version.

I think it's fine to keep. He told me to do it :)

--=-xoeWM6RJaxUfxqijXzdk
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIyMjMwNDEyWjAvBgkqhkiG9w0BCQQxIgQglJ/aMyqB
pIYY4moZe1gwGuUj6K3VXMO72YnsWjN9GLkwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCfaReQKcyJssKvpxMs33WFPChnqgED2TF9
NH/aOczm/3KWT5ZFLE0NZcAsqtBuKmIu3E+96b5YFSSY0jYEOt6zfcF+9solsjFRtOzMnFhRAL1K
AqEWJo41Jdc2SsgX6v0d7f9vZNWbCoO49JIC8V0KtdC/mRN+1LxGstuMO7/LnkEAwFlCli5d5cww
HZeoN/cUIp8AGly1o66htitQQ8Lg17LLZ0rnyOlgNJGzJkyRRzu24TR2i8XkDipPBg5VZ6EM/GIF
r2ZYdNPfjr1NLVRXMwO0j6hxlbWo+/+WPK+HKgp/prHj2WZ/lGLBAhXVQ0/Jgs4/Lfqcfi3+YXvF
rG/QVknW6izEwnFYzmgpxlzEv/UKrTOfVSUeOj+cMscozp7jP7QqIwN9nDea6l6HbAYDqCej13nA
r7K7dTDgLWCXMq46B0cyyBRSypUAUHXtHdqtNBqOufdtp8cIIXeNzoiIsmXySbBpvd/v/uNCvWyD
jf7wd7MSGPeJ8vbRK6enpp6TTWreaEdDqaAAa5iZQkNN1yB3vUPkuxjnKFpEZEIIqz2iL7nRTud/
tXYIAWVDDU6wiNjFrvz5d/PSv9wmfhPVpoizkgKuYSEcX3EabsEkGvr+Gq8xVIK+DYl+x5swhzc2
mS5SlkGoBWRuz+zojwXDRax/+HzwTfsYtiCa+tnuzwAAAAAAAA==


--=-xoeWM6RJaxUfxqijXzdk--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:04:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:04:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639282.996432 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wGl-0005np-5e; Wed, 22 Nov 2023 23:04:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639282.996432; Wed, 22 Nov 2023 23:04: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 1r5wGl-0005mr-2r; Wed, 22 Nov 2023 23:04:31 +0000
Received: by outflank-mailman (input) for mailman id 639282;
 Wed, 22 Nov 2023 23:04: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=hBnL=HD=epam.com=prvs=56903895d3=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5wGk-0005mH-9r
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:04: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 7c3d4cb7-898b-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 00:04:28 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AMMcNqb004531; Wed, 22 Nov 2023 23:03:45 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uh207481d-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 22 Nov 2023 23:03:45 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by VI1PR03MB9900.eurprd03.prod.outlook.com (2603:10a6:800:1c3::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Wed, 22 Nov
 2023 23:03:42 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Wed, 22 Nov 2023
 23:03: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: 7c3d4cb7-898b-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QsIdvIhwuv0KCMQJj9IISzVNOn35ZmM0p2NbP0Mz8IoHt3bp9/ROK7AnPEcweTEOS4JipHYf7v75lJKN95OPixAFh+5sMgwelXnNQZVkYn+31ys6+8NKb85HrM/UUoK5coPGAS5qDafm+QJ9TpSQAFrIHOHtbhYCp9gYyIIQoNkW6x8EC1Nr++YHTW9FujsZhUiyYzminY7xTngXVXFngb84HGd783ufez+kqqWEOOXIAgFf9OT9Pr6g10S9NkSZ3YcdZWXTzxGwk61r5naOYIce3E1Qm1IYrgR3lqTAmatiBzLsewhzM4ueKDp74s2gSRVLTWzNwBaP3ZzUgTcvOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KKQStBJ0n34/GtNYI3bkE9Ujumx7nqq7ddAEpl7PQAI=;
 b=DMgmmHx5VjAyne23HkJEqBH4nzghJDhtGUnwTgOrx+yykn04IWCsH147N4CN93J/l/ZrBmEX1Iy96CTo46dGK3m+dGNnykO0KEeOE1+4yo2PEzeYFh/9ZwS551Rww8qg+q47fHC7KhBidN9KnQtXHumbKhjYV47XWIbTcA1u1RuOBX8gLHf7Iol4swMKiccAeWU4L8sGHHWkZ8HQhEw66NlPiBi2nmBYHabm4dU7YyjY4wN8cMkFAQmHqRrTaNFV9nH3JcT05nRO/Yd1CMv1hBCQuLDedGp1+r9lUTKjIT/hPgt9UjwTiY3gcKpEx6Kwta3f5+zolHtV/9YQ0QC5Mg==
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=KKQStBJ0n34/GtNYI3bkE9Ujumx7nqq7ddAEpl7PQAI=;
 b=R+QFmSDmuT08PiR6JSQcD4ho5Z8DixIgcxpNyB4JSHFxQAWZ3Ax7pBITSgFR8b4ighmDDrdOUfYlXeD/zP0tMx2UNz6rFxMe9Y4sO8iIzdx/NJHWuXQWywbDEHtSWmBUG8Z3PcgnBFtDkE9Yn8cgOBkFeXMwYm8jbG7fylyoAf2Qt/nLGZejdOQ5bXEpTKf7mvaZA4h+J1aAxKOvWSv8iNINES/KrRejdXN3rbCi9f/62EqShsPu5Vf9dcmO+KU+qR5lC0qHEA8mRWgY8S8RBq8hGPQHKTYCPl1+sXmml+hisOg6kZC/O6pyC+Gv3GX4Sv+TYUi1rgCS0IIG3ZuIXQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>, Paul Durrant
	<paul@xen.org>,
        "Michael S. Tsirkin" <mst@redhat.com>,
        Marcel Apfelbaum
	<marcel.apfelbaum@gmail.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Richard
 Henderson <richard.henderson@linaro.org>,
        Eduardo Habkost
	<eduardo@habkost.net>,
        Anthony Perard <anthony.perard@citrix.com>,
        "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/6] xen: xenstore: add possibility to preserve owner
Thread-Topic: [PATCH v2 3/6] xen: xenstore: add possibility to preserve owner
Thread-Index: AQHaHMeI3Gf8Xs6dHUOphRyadMs2o7CG9fUAgAAASgA=
Date: Wed, 22 Nov 2023 23:03:41 +0000
Message-ID: <87y1epz8z7.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-4-volodymyr_babchuk@epam.com>
 <777dd8fb393464bcac2130210ef2a538a2e606f9.camel@infradead.org>
In-Reply-To: <777dd8fb393464bcac2130210ef2a538a2e606f9.camel@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|VI1PR03MB9900:EE_
x-ms-office365-filtering-correlation-id: fd3edadf-20ce-402b-ce20-08dbebaf4563
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 gq/IfvgdrWs9RYMMXoHGhgQ+Xcgs0HX9iK1fZyyrLrd5I45h/aiDsu1/5nLm7E+ImhYqHbbWgnWj1V3hGQWxSg5LyN2XR3A7mt3KWJ+d5MwSdxMIsW0/2Drb4t3Vx7REuF2RhpdSjinJiMieuD/49NXvcI1yYDu4L38R7f/gsGssrJUhaK0off7OTafEiHKHXnbcTPTj4Prz4rJYe46nzMK1MZk6Bj/oLAORJc1RYCVWM2BCIAdbQEWfy49HXSK6HgdJm0lgUDo5Tp4GPA/eiEYtX29PTlwOQPBEzzz3gwzNV1GLZBngE6d4uB68MySgtRQFiSY9WAG3CGNV4StieLM/TSmcgIRAruizB+/OZS2B8GDSptvs+LjJUW2wqOnw8WhHaAf0S8zpmwzn++iRu0rC8x7U3r8EJ0Nw6oMwqs2h3PbADe+GeQmrZE3DkNP2cl/z3BioqOQz1TJt5klrhXhSg1Uobr7QsTRxqEI9p7TcqNmyblHdiAKyuCmTwpbH+AgP8ZdTwgD2A+AD0vqHXuttdmv1jgr5XGs6vwi3HD4ewCtXT6ZwbhBSSP2gy9STUeeu3fxDFnQZtI3/UvYSS/CZlzg9eNlUzlrRGGVsnCCkQlRBnz/ZSMIdzkHgWeOk
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:(13230031)(366004)(376002)(39860400002)(396003)(136003)(346002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(4744005)(2906002)(4001150100001)(7416002)(5660300002)(6512007)(71200400001)(36756003)(38070700009)(41300700001)(38100700002)(478600001)(8676002)(4326008)(6486002)(122000001)(8936002)(64756008)(86362001)(66476007)(55236004)(76116006)(6506007)(66946007)(6916009)(54906003)(66446008)(91956017)(66556008)(316002)(2616005)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?VHhuaUZqY25TaURQRUxiSVliMnlrVXlOQnIvRlVTcTRTV3hacnZ6ZjhKK1Nt?=
 =?utf-8?B?eWk0TzRHd0ZNNkZZZ1pabkNIK09qSVc1Rm5DWmV4TFpMd1RVVzhObzdRM2Fs?=
 =?utf-8?B?WG0rZWZBVDJUZUNtNkhaNmV0cjR6Y09la3Nzd1lxaU9FckR0QlZUOGc5T3BZ?=
 =?utf-8?B?aUxYdzJTeUY4VkhhdTJ3YzNKaGlPMEVoMVdqTGFYTFdFQWdCQXk1N2MvOWEv?=
 =?utf-8?B?SFowRk1KWlE3dW41TFNFdEUvMXRHamdSZ2QveEk4Tm5Ec3JhdUdvU3E2VGk0?=
 =?utf-8?B?NlhvNFFZQ1o0V2lueTM4c3JvQXpPdFJFSDZjRU1na1RqUFZKdnV6MmVkODhX?=
 =?utf-8?B?NFBCUHBTR0Yreit3c0RPNFlDUVJ3Y3M1aUF4OElpVjJTZ1hQYkJ4aUJ6Z1lv?=
 =?utf-8?B?UVdmU0xNek80OWptWUsybDNRUGhJV3E4Q0I0Zy8zSzM0Ym02RW5JVVdMV21G?=
 =?utf-8?B?QVRlUis1WEY0THN1MTlHMWFieGUzTitLR0wvU3ptSWVrYTJTWjFNbWRkQnJu?=
 =?utf-8?B?SzdlYndtTGdPOW9vRHVlMzg3bjA2RVl4K3BjYUJIOTRvbDZyRTVMVDhXdzV5?=
 =?utf-8?B?SWljSmNPYkZ0WFU2ai9XZjh6bjkzYS9jZmNPc1NpVlp5alZCWE9zSEFrdEQz?=
 =?utf-8?B?bkZzVW9pb3l4MGZwRGxnaDNRYUdRem1pYmtCUWtGazY1N2t0VDdJWXBWb084?=
 =?utf-8?B?SXJJRWhjelFzK2dtTDh4dW1QZmJweGtkMSsrK1ZjSGEvcWhMMEFBcFBRTHRq?=
 =?utf-8?B?amhVekNvaDlvZmJKdFRGMW1vdjhiclZxU1FjTlI2MEVVRmFFalV2OER0UEJS?=
 =?utf-8?B?MkZPNS9iVUN6QkhJS0d1RkxubzFlR0N1cFVPV1ZiMExrUG5SaHFwRFhSRHFv?=
 =?utf-8?B?cHpwbkhWZzNLS1R1UnFPVEQzakdSUmZWL0ZPTHh0YTlRTXVMaUZzQzZQc1Zx?=
 =?utf-8?B?TlNSQzJYUHZDOW56b1ZGTUNFQkFDZ2ZqeERJb1RORlVJdVloaTdQS2loWlJB?=
 =?utf-8?B?WGlTVnVoQVNzVG85Q1FWRk9UOWkxUjRMVVUyNmJjVkdXQ0xwNHp1RHlqMWpU?=
 =?utf-8?B?Q2JscXdSVGtYRUVHaE14RnVEWmJ4L0o5TGJhSmh1SElrRDA2ckN0NTV2eHdT?=
 =?utf-8?B?NjQzaHNrY1BSUFdnVWZ3ZlRZMGp6WWoyTDVFc2lHMXhsSS9PQVVKeXg4NmZY?=
 =?utf-8?B?bC9CQjFMZ09Id0RSc0hxbFpkbktZT1JJN2V0bWZRa1dVWGlBVjJZS1dyRGFT?=
 =?utf-8?B?N3o5ZjhMdnRnN1RRUmxsRU1yNXMrOEIwWmdsSHlSbDdLNG5HL0hzTTBsbXIv?=
 =?utf-8?B?a29WbEVKSmljSDlva2dWSU1LOTVvS1M0c0Rkc1JDWmJjazhLZSs1OWc3TFMv?=
 =?utf-8?B?aGR6T3lZMEgwNTRuUG8wZzJ2N2tFSW02TUxnL0hIaC9JRzF2emdmcVJNWHlM?=
 =?utf-8?B?VlRKZjVXL3VKMHNZdUszSytZZVBsRTZBYWpYM1BVVnFQS0pJSXRXQmlUZHh2?=
 =?utf-8?B?Y1gzcnpkRFJZeCtmZmVtZHFoUnA5MmVneWJZM3FXSlpOcnlZa1RQSXlsdVp3?=
 =?utf-8?B?OUIvQW02RGtUWnJuYno4eDVFVTlET2RuNVIreVFDcUJFWlBjTEgzYTNQNEUw?=
 =?utf-8?B?M0U0Ym9UN2k3czk0Qk1kRnRWS2x0aVJYVDU2T21jTitGd2FpaVFKNnVFRURQ?=
 =?utf-8?B?ZlBWeUlJaHZzR2gzRGVyemVRSURIcFdMTGlZTGs3QWV2K2VVL3pFWHEzQ0Fi?=
 =?utf-8?B?bDIwWDFtT2oxUnErVEFYa3hqVUNvckJ4bGs5aFRheG96emFsbDZRSFhYRlNL?=
 =?utf-8?B?cHBzV0RiZzhiczNBS0FkbG5HWjlkZFoyTUZnazlhRDAydWpSc3pYSkNERUFI?=
 =?utf-8?B?dEFxRDhzcFFYSTI3Y1B1Z3ljdGF2eGNOeWJqVnIxTHVhT241cFR0bm5jTUth?=
 =?utf-8?B?QWVDOTg3YSt0K0o3dzdlZFZCZmg0TTg1YTAzaFR6c3ZpU1RiTzBOQkF2ZDUr?=
 =?utf-8?B?TlBrcGhVSE4wNE1UZ1IrNUo0ZHhNelhOdFZJWk1IaWZjL0hmWUlVbkJtTHdR?=
 =?utf-8?B?ejBoNzI3MHpyb2RTNFVyR2tCbU91OWo3Tm45ay9FNmk5NktaNUtOWFV3aWF1?=
 =?utf-8?B?ckFEUzU0dkFOcnlOOGZLdnFUUnJIQXM2MVJkN3JYbERBSWtFdjVzYWhyQzNY?=
 =?utf-8?B?MXc9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <9682277B083A2D4DAB8200DC75746779@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fd3edadf-20ce-402b-ce20-08dbebaf4563
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2023 23:03:41.8778
 (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: d0siXJer+bxBf/XRsrlQMiIyP7o5oRDLI6sy32Sla8ammd+oaGHphnzCPiAeWXmJDQs5KeHL9mefgRGljkCwXyT865bCzTsoXi5mWXIQcOY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR03MB9900
X-Proofpoint-ORIG-GUID: lc8Ti-n4ITjWqTp5a3jVRzn6TfpZafiN
X-Proofpoint-GUID: lc8Ti-n4ITjWqTp5a3jVRzn6TfpZafiN
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-22_18,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 impostorscore=0
 adultscore=0 spamscore=0 suspectscore=0 mlxlogscore=926 phishscore=0
 priorityscore=1501 bulkscore=0 lowpriorityscore=0 malwarescore=0
 clxscore=1015 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311220169

DQpIaSBEYXZpZCwNCg0KRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPiB3cml0
ZXM6DQoNCj4gW1tTL01JTUUgU2lnbmVkIFBhcnQ6VW5kZWNpZGVkXV0NCj4gT24gVHVlLCAyMDIz
LTExLTIxIGF0IDIyOjEwICswMDAwLCBWb2xvZHlteXIgQmFiY2h1ayB3cm90ZToNCj4+IA0KPj4g
LS0tIGEvaHcveGVuL3hlbi1vcGVyYXRpb25zLmMNCj4+ICsrKyBiL2h3L3hlbi94ZW4tb3BlcmF0
aW9ucy5jDQo+PiBAQCAtMzAwLDYgKzMwMCwxOCBAQCBzdGF0aWMgYm9vbCBsaWJ4ZW5zdG9yZV9j
cmVhdGUoc3RydWN0IHFlbXVfeHNfaGFuZGxlICpoLCB4c190cmFuc2FjdGlvbl90IHQsDQo+PiDC
oMKgwqDCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsNCj4+IMKgwqDCoMKgIH0NCj4+IMKgDQo+PiAr
wqDCoMKgIGlmIChvd25lciA9PSBYU19QUkVTRVJWRV9PV05FUikgew0KPj4gK8KgwqDCoMKgwqDC
oMKgIHN0cnVjdCB4c19wZXJtaXNzaW9ucyAqdG1wOw0KPj4gK8KgwqDCoMKgwqDCoMKgIHVuc2ln
bmVkIGludCBudW07DQo+PiArDQo+PiArwqDCoMKgwqDCoMKgwqAgdG1wID0geHNfZ2V0X3Blcm1p
c3Npb25zKGgtPnhzaCwgdCwgcGF0aCwgJm51bSk7DQo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKHRt
cCA9PSBOVUxMKSB7DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gZmFsc2U7DQo+
PiArwqDCoMKgwqDCoMKgwqAgfQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHBlcm1zX2xpc3RbMF0uaWQg
PSB0bXBbMF0uaWQ7DQo+PiArwqDCoMKgwqDCoMKgwqAgZnJlZSh0bXApOw0KPj4gK8KgwqDCoCB9
DQo+PiArDQo+PiDCoMKgwqDCoCByZXR1cm4geHNfc2V0X3Blcm1pc3Npb25zKGgtPnhzaCwgdCwg
cGF0aCwgcGVybXNfbGlzdCwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBBUlJBWV9TSVpFKHBlcm1zX2xpc3QpKTsNCj4+IMKg
fQ0KPg0KPiBJZiB0aGUgZXhpc3RpbmcgdHJhbnNhY3Rpb24gaXMgWEJUX05VTEwgSSB0aGluayB5
b3Ugd2FudCB0byBjcmVhdGUgYQ0KPiBuZXcgdHJhbnNhY3Rpb24gZm9yIGl0LCBkb24ndCB5b3U/
DQoNCkFzIHBlciBTdGVmYW5vJ3MgYW5kIFBhdWwncyBjb21tZW50cyBJJ2xsIGRyb3AgdGhpcyBw
YXRjaA0KY29tcGxldGVseS4gVGhhbmtzIGZvciByZXZpZXcsIHRob3VnaHQuDQoNCi0tIA0KV0JS
LCBWb2xvZHlteXINCg==


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:08:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:08:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639288.996443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wK3-00078I-KO; Wed, 22 Nov 2023 23:07:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639288.996443; Wed, 22 Nov 2023 23:07: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 1r5wK3-00078B-HH; Wed, 22 Nov 2023 23:07:55 +0000
Received: by outflank-mailman (input) for mailman id 639288;
 Wed, 22 Nov 2023 23:07: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5wK2-000778-8G
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:07:54 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5aacc80-898b-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 00:07:52 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 3C094CE2610;
 Wed, 22 Nov 2023 23:07:47 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6824AC433C8;
 Wed, 22 Nov 2023 23:07: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
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f5aacc80-898b-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700694466;
	bh=XsOeMMLZQkt0CjbzD+cP5LkjiKiDaq5AYuVBW/oLvck=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=lVW/qh3Q9C3cZTQSFQQ9GtyvW49DNjAw+BuYPepvTVO47pEKbt2Mx3Fq6HxLxJBxu
	 WZ1EVdsvMmbQ1TcO5B137PA3hro61yOhBWfqFTG466+Nes2JU/jyemqABOanQee96x
	 emS44ESVBa3uV4XWthGuzzjPdWrNL3iVspsjvXVF5e3mVwBs+nwNQ3kmCTa/CgFoMR
	 cRJNmyu6XpxfHSkd/yeXu+ExElBI4zxzUrEhnOnETAI/GCLgyZQCtod6GMJDhRDgnl
	 ZUIjoFmEoGyQ4MLElL4T8B+F3eAjil7P5bg9XLm3VbuJrTzJ7m0AYqHq3G/UEjwaEE
	 BzhMfyfXKg2kA==
Date: Wed, 22 Nov 2023 15:07:41 -0800 (PST)
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>, 
    osstest service owner <osstest-admin@xenproject.org>, 
    xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, oleksandr_tyshchenko@epam.com
Subject: Re: [linux-linus test] 183794: regressions - FAIL
In-Reply-To: <ff31f5a6-396e-48cc-8b1b-6941369c620b@suse.com>
Message-ID: <alpine.DEB.2.22.394.2311221501340.2053963@ubuntu-linux-20-04-desktop>
References: <osstest-183794-mainreport@xen.org> <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com> <alpine.DEB.2.22.394.2311201631140.773207@ubuntu-linux-20-04-desktop> <alpine.DEB.2.22.394.2311211823110.2053963@ubuntu-linux-20-04-desktop>
 <ff31f5a6-396e-48cc-8b1b-6941369c620b@suse.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1782199463-1700694299=:2053963"
Content-ID: <alpine.DEB.2.22.394.2311221507290.2424505@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-1782199463-1700694299=:2053963
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311221507291.2424505@ubuntu-linux-20-04-desktop>

On Wed, 22 Nov 2023, Juergen Gross wrote:
> On 22.11.23 04:07, Stefano Stabellini wrote:
> > On Mon, 20 Nov 2023, Stefano Stabellini wrote:
> > > On Mon, 20 Nov 2023, Juergen Gross wrote:
> > > > On 20.11.23 03:21, osstest service owner wrote:
> > > > > flight 183794 linux-linus real [real]
> > > > > http://logs.test-lab.xenproject.org/osstest/logs/183794/
> > > > > 
> > > > > Regressions :-(
> > > > > 
> > > > > Tests which did not succeed and are blocking,
> > > > > including tests which could not be run:
> > > > >    test-arm64-arm64-examine      8 reboot                   fail REGR.
> > > > > vs.
> > > > > 183766
> > > > 
> > > > I'm seeing the following in the serial log:
> > > > 
> > > > Nov 20 00:25:41.586712 [    0.567318] kernel BUG at
> > > > arch/arm64/xen/../../arm/xen/enlighten.c:164!
> > > > Nov 20 00:25:41.598711 [    0.574002] Internal error: Oops - BUG:
> > > > 00000000f2000800 [#1] PREEMPT SMP
> > > > 
> > > > The related source code lines in the kernel are:
> > > > 
> > > > ········err = HYPERVISOR_vcpu_op(VCPUOP_register_vcpu_info,
> > > > xen_vcpu_nr(cpu),
> > > > ································ &info);
> > > > ········BUG_ON(err);
> > > > 
> > > > I suspect commit 20f3b8eafe0ba to be the culprit.
> > > > 
> > > > Stefano, could you please have a look?
> > 
> > The good news and bad news is that I cannot repro this neither with nor
> > without CONFIG_UNMAP_KERNEL_AT_EL0. I looked at commit 20f3b8eafe0ba but
> > I cannot see anything wrong with it. Looking at the register dump, from:
> > 
> > x0 : fffffffffffffffa
> > 
> > I am guessing the error was -ENXIO which is returned from map_guest_area
> > in Xen.
> > 
> > Could it be that the struct is crossing a page boundary? Or that it is
> > not 64-bit aligned? Do we need to do something like the following?
> > 
> > diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
> > index 9afdc4c4a5dc..5326070c5dc0 100644
> > --- a/arch/arm/xen/enlighten.c
> > +++ b/arch/arm/xen/enlighten.c
> > @@ -484,7 +485,7 @@ static int __init xen_guest_init(void)
> >   	 * for secondary CPUs as they are brought up.
> >   	 * For uniformity we use VCPUOP_register_vcpu_info even on cpu0.
> >   	 */
> > -	xen_vcpu_info = alloc_percpu(struct vcpu_info);
> > +	xen_vcpu_info = __alloc_percpu(struct vcpu_info, PAGE_SIZE);
> >   	if (xen_vcpu_info == NULL)
> >   		return -ENOMEM;
> >   
> 
> May I suggest to use a smaller alignment? What about:
> 
> 1 << fls(sizeof(struct vcpu_info) - 1)

See below

---
[PATCH] arm/xen: fix xen_vcpu_info allocation alignment

xen_vcpu_info is a percpu area than needs to be mapped by Xen.
Currently, it could cross a page boundary resulting in Xen being unable
to map it:

[    0.567318] kernel BUG at arch/arm64/xen/../../arm/xen/enlighten.c:164!
[    0.574002] Internal error: Oops - BUG: 00000000f2000800 [#1] PREEMPT SMP

Fix the issue by using __alloc_percpu and requesting alignment for the
memory allocation.

Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
index 9afdc4c4a5dc..09eb74a07dfc 100644
--- a/arch/arm/xen/enlighten.c
+++ b/arch/arm/xen/enlighten.c
@@ -484,7 +484,8 @@ static int __init xen_guest_init(void)
 	 * for secondary CPUs as they are brought up.
 	 * For uniformity we use VCPUOP_register_vcpu_info even on cpu0.
 	 */
-	xen_vcpu_info = alloc_percpu(struct vcpu_info);
+	xen_vcpu_info = __alloc_percpu(sizeof(struct vcpu_info),
+			                       1 << fls(sizeof(struct vcpu_info) - 1));
 	if (xen_vcpu_info == NULL)
 		return -ENOMEM;
 
--8323329-1782199463-1700694299=:2053963--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:09:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:09:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639291.996454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wLP-0007xW-5I; Wed, 22 Nov 2023 23:09:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639291.996454; Wed, 22 Nov 2023 23:09: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 1r5wLP-0007xP-0L; Wed, 22 Nov 2023 23:09:19 +0000
Received: by outflank-mailman (input) for mailman id 639291;
 Wed, 22 Nov 2023 23:09: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5wLN-0007xJ-Rj
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:09:17 +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 279997a0-898c-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 00:09:16 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id DEF3ACE2614;
 Wed, 22 Nov 2023 23:09:13 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C4019C433C7;
 Wed, 22 Nov 2023 23: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: 279997a0-898c-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700694553;
	bh=jbEf94vZjnt1ft+0DraBckmmhHqyjxnBrsZ3QbKpMmk=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=BKNXlCBfrsq5dJhimLywsAIzyr0J08eJzpVDZeH+UpDkb5OvDK1LOj6hkYoj3OddH
	 Yhd6NXh1CWzUS5UsxVGDIhyWmR6ssf6TXZ8DcPNABC7Ka0odaXdecZeFPDKmbTrsLT
	 4I2zftEuq2Ii3Us2JIFvUEVM7ldf6sVKVvg8e5x7CkZ6tC2Gx3j9Ypnnr4GqkTl37b
	 J81hU39mOdTbmekbkakWxq+A+6684MAOLEs+PtFk3fEezbdZXz5y3CgN+BJGrduVjN
	 CiwA04Xe8X8CdnSeIkLszgJ70wOcfHTr9G93XQMkOt35Fg1HZh4FTLdHJZyWvByR6s
	 Ah+Ut3C/WtiWA==
Date: Wed, 22 Nov 2023 15:09:10 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: David Woodhouse <dwmw2@infradead.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, paul@xen.org, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, 
    Julien Grall <julien@xen.org>, 
    Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, 
    Anthony Perard <anthony.perard@citrix.com>, 
    "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
In-Reply-To: <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
Message-ID: <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>  <20231121221023.419901-5-volodymyr_babchuk@epam.com>  <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>  <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, David Woodhouse wrote:
> On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
> > On Wed, 22 Nov 2023, Paul Durrant wrote:
> > > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> > > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > > > 
> > > > Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to
> > > > inherit the owner of the directory.
> > > 
> > > Ah... so that's why the previous patch is there.
> > > 
> > > This is not the right way to fix it. The QEMU Xen support is *assuming* that
> > > QEMU is either running in, or emulating, dom0. In the emulation case this is
> > > probably fine, but the 'real Xen' case it should be using the correct domid
> > > for node creation. I guess this could either be supplied on the command line
> > > or discerned by reading the local domain 'domid' node.
> > 
> > yes, it should be passed as command line option to QEMU
> 
> I'm not sure I like the idea of a command line option for something
> which QEMU could discover for itself.

That's fine too. I meant to say "yes, as far as I know the toolstack
passes the domid to QEMU as a command line option today".


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:12:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:12:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639294.996463 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wO7-0002HE-HR; Wed, 22 Nov 2023 23:12:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639294.996463; Wed, 22 Nov 2023 23:12: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 1r5wO7-0002H7-Dk; Wed, 22 Nov 2023 23:12:07 +0000
Received: by outflank-mailman (input) for mailman id 639294;
 Wed, 22 Nov 2023 23:12: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=u3EM=HD=casper.srs.infradead.org=BATV+90b6cdb086a81a73aad6+7395+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r5wO6-0002H1-MS
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:12:06 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8b81d4bd-898c-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 00:12:02 +0100 (CET)
Received: from [2001:8b0:10b:5:aa35:270f:6b3d:6d64]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r5wO0-006vhQ-JJ; Wed, 22 Nov 2023 23:12: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: 8b81d4bd-898c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=ca6dZriRRY7QbK2IhNnfrWr9/HmEFIbKdW/4GMi74UM=; b=bW+pqOfOoH9StWkPxTMhi4XYj9
	z+1MyYEc1oTg49rXyy3Y4X4FZ5NOojtg0N5m19yGgMHfWHQd7kp70TQfIMLwioHm9Di3rznijyJPz
	6z3uflSaGvtS2j6eJgbpEa+zrgKems9KiYAYuBA0jMlGZNOuWRHuXPAPDz+iKU81pzGW5mvr5Va02
	mEDBtngtakKPk51t5GxZA2EDr+xlBy9N7CnBkSBL8H6EXPVVCUyG4yimUWQbWp9AFcaYGIdfp+1ed
	aKcpGXDqAN/VDVBJSwvmYd2o+LCF7sn9BRauIfQUuJmsPsnF42RwO9EHvKRvi0gEhEM3an88hU/6V
	l+Re3eTQ==;
Message-ID: <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
From: David Woodhouse <dwmw2@infradead.org>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: paul@xen.org, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, Julien Grall
 <julien@xen.org>, Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>,  "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>
Date: Wed, 22 Nov 2023 23:11:59 +0000
In-Reply-To: <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	  <20231121221023.419901-5-volodymyr_babchuk@epam.com>
	  <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
	  <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
	 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
	 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-YwA5v9j06Jr6H8N7A9FB"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
> On Wed, 22 Nov 2023, David Woodhouse wrote:
> > On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
> > > On Wed, 22 Nov 2023, Paul Durrant wrote:
> > > > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> > > > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > > > >=20
> > > > > Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to
> > > > > inherit the owner of the directory.
> > > >=20
> > > > Ah... so that's why the previous patch is there.
> > > >=20
> > > > This is not the right way to fix it. The QEMU Xen support is *assum=
ing* that
> > > > QEMU is either running in, or emulating, dom0. In the emulation cas=
e this is
> > > > probably fine, but the 'real Xen' case it should be using the corre=
ct domid
> > > > for node creation. I guess this could either be supplied on the com=
mand line
> > > > or discerned by reading the local domain 'domid' node.
> > >=20
> > > yes, it should be passed as command line option to QEMU
> >=20
> > I'm not sure I like the idea of a command line option for something
> > which QEMU could discover for itself.
>=20
> That's fine too. I meant to say "yes, as far as I know the toolstack
> passes the domid to QEMU as a command line option today".

The -xen-domid argument on the QEMU command line today is the *guest*
domain ID, not the domain ID in which QEMU itself is running.

Or were you thinking of something different?


--=-YwA5v9j06Jr6H8N7A9FB
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIyMjMxMTU5WjAvBgkqhkiG9w0BCQQxIgQgUy5aVpCb
MU0pLLpuoDSA5So+fVS3qitTPqBV0JrSerkwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCHlVf4ZV/wxaWTU4vLdOsCwqQ9paEaU+Vu
R4nqTPlhOiTdYWCQ4Bhh850zSStRi1GSXOdFDaLQ9kAUpYPUtWvPHejpKv+DAWPFtEzq6VWY0oT1
iZ7qQEWnqN6qBts4GFpgNkhP8+FKGB/PhdekJ8k96VFlZY6b17k2iIPB598eV/HfglyKOQvHfTw2
W//2vYVWUV8EgWnf1tCA7F1r2mPwNXN4ls61B6issAeRCNaSPwKYAyLJ+qiAJm3JKRmw/Ewqo2cP
fco8akBg6io+ZI4iHPdaXNfqHvSNby2hJWOLEiDAcP2PdOcUuVOeRcraHsOm/2+9T8FEVDiZZK6p
QQFlhp2KFayZIQRE0XFeHdhDkxU+/GiGHujq21WXFwsH3h7RytgQufjWuyAL7h0SEXlWjmSX1ewr
Aqx8+nqpfG/bstmHcFwn0glvTPtBF44lyyuWaqgAovLRX1OgGp+okVtc5sPBmy4TRQijK+VkOOSp
6iDjrVAUIgXJAzxsg9x56wvptaw+Jeurqs+kypiPrdse4qXusxY+rwv7dHc+Juiq60WfRBr7CUuR
SQjsEmdfolkXPKSoBP7BiNIj64I0efOUmWD2ucoLZq9EovpwIjaWS0m/6AGqFeDO8SadmtsRS4iR
kgkh3ukQk6ae7oN8lYb9CWUVPLVzAXfvksQEP8c6DgAAAAAAAA==


--=-YwA5v9j06Jr6H8N7A9FB--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:20:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639299.996472 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wVt-0005oy-7X; Wed, 22 Nov 2023 23:20:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639299.996472; Wed, 22 Nov 2023 23: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 1r5wVt-0005or-4s; Wed, 22 Nov 2023 23:20:09 +0000
Received: by outflank-mailman (input) for mailman id 639299;
 Wed, 22 Nov 2023 23:20: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=u3EM=HD=casper.srs.infradead.org=BATV+90b6cdb086a81a73aad6+7395+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r5wVs-0004tZ-I3
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:20:08 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ab024879-898d-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 00:20:05 +0100 (CET)
Received: from [2001:8b0:10b:5:aa35:270f:6b3d:6d64]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r5wVf-006w1v-Su; Wed, 22 Nov 2023 23:19: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: ab024879-898d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=5aOdWFlHS9gnfYebgTbBWOCPhONE86nenqnH6jzJYAc=; b=E7W3KlPUiemmEl6n86Dc2ed2Mf
	x4a0TsdRS85uxXBi+brp1FVXb/bohpuIk8X5Zd4xXsUXk0xKg+s55g8R+Kl9lwO/txjd4XBSGuQri
	gxiPtl7JaHpYs2HFTtdiifXB/mzkhQs8XYdzQWFWom5oltiHQXzBE40GEJgwYqTDvI3rADLfZBM4f
	w1SKqqcNIZbq2mxoBPTxK1ESVz2hhOOWryhmiokTRR6cYC4ctWuAyZCx8q8UsMpcQEsrnEPdZGT6e
	gRhgj4q/E/uD2xq8hidy605GJSftoNuthb4/fVc6nl/P/2h7FVEUfkxwGgKD2UAuGMcOkfBa2t37r
	LAgjsyxQ==;
Message-ID: <4543cb85b2d93570316437597c5e62f9050deb86.camel@infradead.org>
Subject: Re: [PATCH v2 2/6] xen: backends: touch some XenStore nodes only if
 device...
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Philippe
	=?ISO-8859-1?Q?Mathieu-Daud=E9?=
	 <philmd@linaro.org>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Paul Durrant
 <xadimgnik@gmail.com>, Oleksandr Tyshchenko
 <Oleksandr_Tyshchenko@epam.com>,  Anthony Perard
 <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Kevin Wolf
 <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>,  Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>, "open
 list:Block layer core" <qemu-block@nongnu.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Date: Wed, 22 Nov 2023 23:19:55 +0000
In-Reply-To: <87msv51jzu.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	 <20231121221023.419901-3-volodymyr_babchuk@epam.com>
	 <19f6fcaf-ac2b-4cc3-b226-27ec659d7478@linaro.org> <87msv51jzu.fsf@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-Xz6131rTXMEb046HZ9/1"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Wed, 2023-11-22 at 22:49 +0000, Volodymyr Babchuk wrote:
>=20
> > On 21/11/23 23:10, Volodymyr Babchuk wrote:
> > > was created by QEMU
> >=20
> > Please do not split lines between subject and content. Rewrite the
> > full line. Preferably restrict the subject to 72 chars.
>=20
> I tried to come with shorter description, but failed. I'll rewrite it in
> the next version.

Even if you just put those last four words *into* the subject, it's
only 75 characters once the leaving [PATCH...] is stripped.=C2=A0

xen: backends: touch some XenStore nodes only if device was created by QEMU

And this would be 9 characters fewer:

xen: backends: don't overwrite XenStore nodes created by toolstack

--=-Xz6131rTXMEb046HZ9/1
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIyMjMxOTU1WjAvBgkqhkiG9w0BCQQxIgQgFI1KTxMP
cIsd080AoGsIFykZ2WENUJbGweT5b04Dw5Ewgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCt5cgxJf8KFketC2AvHr4w1J9Ox3MuKMgF
c8XDEZjQoPAnRMZZvM3Vt78OGUtBJM8aMbWujA1UUGWQR3eakPHCyVmhuInhQ6onANYIyEId3hk3
10qLPlPnp07tSPBkAng2wOKY1LfPd1m5OG7Lnr4sAHZv5gNCpuP5EuZ7bLBCcQ+CGST4bGJs6okp
6uuRr04T+pxsAobBtv0Pyf2WvynG7Q19p37noK0AmNIFsjOgOtzXNoNEUVrbSD6HA85quT0g6hyx
wFijPYWSpdleDiw0RV04KfzYadFGKtfYvf1/FSUgERH4xBf9BYVt5rVGZK1Dqur90g4RHsxtFLZF
vWVXUpPQK5OWbmn/sX6tQvR8kxISRQNjE1I7nln2v1EdcU4MI5bzTvsA6+m5syLJCLoVLxGcGZqw
2aY5a0ax5rD/p7qlV+j9qj6wTKem+qM9M7buXmQdGMfeJNLeOTsVZg4RpTmp+01fsGgmjFLM4X8Q
iHs90dT2RT2fjHTuzRXZiKYfEQZ7fUEWJHpugGezxfCzKCzOnwsR/mYAEieR2aXCeECauYJEotu6
rwxKFAzX0cK5X8iyiXnXezOVyqLyp8NqdBkOotf0UG/k0Mkrf1TubvMVo3g3rYe2P09fU4vm3Mdr
Xvi4bZUg1NppfRbdxHnX2dpsOm2H2Bl+jr19fcO5rwAAAAAAAA==


--=-Xz6131rTXMEb046HZ9/1--


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:21:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:21:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639303.996482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wWd-0006SO-JL; Wed, 22 Nov 2023 23:20:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639303.996482; Wed, 22 Nov 2023 23:20: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 1r5wWd-0006SH-Gh; Wed, 22 Nov 2023 23:20:55 +0000
Received: by outflank-mailman (input) for mailman id 639303;
 Wed, 22 Nov 2023 23:20: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=lIMN=HD=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r5wWc-0006Dj-Ah
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:20:54 +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 c7885cfa-898d-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 00:20:53 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 4BB9361F9F;
 Wed, 22 Nov 2023 23:20:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C40DCC433C7;
 Wed, 22 Nov 2023 23:20: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: c7885cfa-898d-11ee-98e1-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700695251;
	bh=EEYtzj0+nfya6v3Kw0qnMvZAxTcazaLCuWPCEcjlLPY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rHVdGQ4wIyQ1gJmV1l6jIxdqDIjm5h/cE6Hh6LupBd0MoaFVdnGSNJk4ZtF3m0jni
	 85Xhpt+zYqAzv6rxZxryJJunTi0TwOWSb+IhuZaVrKZKXUJhpiSI5eiUxJ3wE/7Ai3
	 rDXS/Jju2sX4XhLTf41gzwAkSq8iGzw/cj1jmdC4COyYRuV3D1srDyk/utpmgUL17A
	 2p3qqgk3dzKfls73MVzKoB2/ibz+azxcc0OklLjo6wiI5wqpWDWcoNz8VIWiScFxGD
	 qf62PwSqFFmkXMUuM9ErRu4ZOQ+ZDkHQSWGzeTkRKotnx654x/0vp74t/Nd05uLdCa
	 YY+cuXRzZonAg==
Date: Wed, 22 Nov 2023 15:20:49 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: David Woodhouse <dwmw2@infradead.org>
cc: Stefano Stabellini <sstabellini@kernel.org>, paul@xen.org, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, 
    Julien Grall <julien@xen.org>, 
    Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>, 
    Anthony Perard <anthony.perard@citrix.com>, 
    "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
In-Reply-To: <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
Message-ID: <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>   <20231121221023.419901-5-volodymyr_babchuk@epam.com>   <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>   <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop> 
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>  <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop> <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Wed, 22 Nov 2023, David Woodhouse wrote:
> On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
> > On Wed, 22 Nov 2023, David Woodhouse wrote:
> > > On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
> > > > On Wed, 22 Nov 2023, Paul Durrant wrote:
> > > > > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> > > > > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > > > > > 
> > > > > > Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to
> > > > > > inherit the owner of the directory.
> > > > > 
> > > > > Ah... so that's why the previous patch is there.
> > > > > 
> > > > > This is not the right way to fix it. The QEMU Xen support is *assuming* that
> > > > > QEMU is either running in, or emulating, dom0. In the emulation case this is
> > > > > probably fine, but the 'real Xen' case it should be using the correct domid
> > > > > for node creation. I guess this could either be supplied on the command line
> > > > > or discerned by reading the local domain 'domid' node.
> > > > 
> > > > yes, it should be passed as command line option to QEMU
> > > 
> > > I'm not sure I like the idea of a command line option for something
> > > which QEMU could discover for itself.
> > 
> > That's fine too. I meant to say "yes, as far as I know the toolstack
> > passes the domid to QEMU as a command line option today".
> 
> The -xen-domid argument on the QEMU command line today is the *guest*
> domain ID, not the domain ID in which QEMU itself is running.
> 
> Or were you thinking of something different?

Ops, you are right and I understand your comment better now. The backend
domid is not on the command line but it should be discoverable (on
xenstore if I remember right).


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:28:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:28:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639307.996492 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wdW-0000hI-9U; Wed, 22 Nov 2023 23:28:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639307.996492; Wed, 22 Nov 2023 23:28: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 1r5wdW-0000hB-6d; Wed, 22 Nov 2023 23:28:02 +0000
Received: by outflank-mailman (input) for mailman id 639307;
 Wed, 22 Nov 2023 23:28: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 1r5wdU-0000h1-BM; Wed, 22 Nov 2023 23:28: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 1r5wdU-0003Ai-5z; Wed, 22 Nov 2023 23:28: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 1r5wdT-0005gL-NU; Wed, 22 Nov 2023 23:27:59 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5wdT-0008NI-Mq; Wed, 22 Nov 2023 23: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=StaZ2jT71hRS8alsdi1FJ2DCDuWOvUQHHGUoHNM3OzM=; b=T6z0+nVD4zttqj1/z73ivTVYoY
	n0FLUlE2iLArocLTJouBj4XqydnJN87ver3OZzpBnedZE47shHnbO21pTW1ASLcvyi6CwupLt4ij3
	SGZlMKxsHCQG+HJitg2fIpJUVWwJQtOQC2WNzIoYweTvN9WN4pfjrlxYfYwElpg9njh0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183821-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183821: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate:fail:regression
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:debian-hvm-install/l1/l2:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-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-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm: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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-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-libvirt-qcow2:migrate-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-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=820ee3ec4dd5679715bd49a1d12b81cb1502260c
X-Osstest-Versions-That:
    xen=fa2da5bce90b3777aa7a323e1cf201c97b56d278
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 22 Nov 2023 23:27:59 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel 18 guest-localmigrate  fail REGR. vs. 183807
 test-amd64-amd64-qemuu-nested-intel 20 debian-hvm-install/l1/l2 fail REGR. vs. 183807

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183807
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183807
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183807
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183807
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183807
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183807
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183807
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183807
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183807
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183807
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183807
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183807
 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-i386-libvirt-xsm  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-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-libvirt-xsm 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-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          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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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
 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-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 xen                  820ee3ec4dd5679715bd49a1d12b81cb1502260c
baseline version:
 xen                  fa2da5bce90b3777aa7a323e1cf201c97b56d278

Last test of basis   183807  2023-11-21 04:17:59 Z    1 days
Failing since        183816  2023-11-21 21:39:08 Z    1 days    2 attempts
Testing same since   183821  2023-11-22 09:17:48 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Tamas K Lengyel <tamas@tklengyel.com>
  Volodymyr Babchuk <volodymyr_babchuk@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                                          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-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                            fail    
 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-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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:45:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:45:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639312.996503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wu8-00074l-KV; Wed, 22 Nov 2023 23:45:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639312.996503; Wed, 22 Nov 2023 23: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 1r5wu8-00074e-Hz; Wed, 22 Nov 2023 23:45:12 +0000
Received: by outflank-mailman (input) for mailman id 639312;
 Wed, 22 Nov 2023 23: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=HQf+=HD=amd.com=vikram.garhwal@srs-se1.protection.inumbo.net>)
 id 1r5wu7-00074I-4X
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:45:11 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20610.outbound.protection.outlook.com
 [2a01:111:f400:fe59::610])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a661262-8991-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 00:45:08 +0100 (CET)
Received: from MW3PR12MB4409.namprd12.prod.outlook.com (2603:10b6:303:2d::23)
 by SJ2PR12MB9189.namprd12.prod.outlook.com (2603:10b6:a03:55b::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Wed, 22 Nov
 2023 23:45:00 +0000
Received: from MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::5aa3:9748:d8d0:87e1]) by MW3PR12MB4409.namprd12.prod.outlook.com
 ([fe80::5aa3:9748:d8d0:87e1%5]) with mapi id 15.20.7025.017; Wed, 22 Nov 2023
 23:45: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: 2a661262-8991-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fJnYph2PHUxnuS9aZQmPSnhof15H5DoTxqGJi9JwrGSx298l/3ldioFaZFouiyTpN9JO3bGtge0xA0NMkxF2jCNOHiEQELJ2DtvhS+qpUkLimsa98lvTzZblhl7PRddd2xnr6G4c3tPsJx6ntESX/8WqgVpGgf48mGmk5DlWp2vPR1Vq3ODjthCWnB0ytKwQnbJ5Ohf1wpsX13ppkX9OEBPGXC++BkhlZIF2aREFgak4E9wMKsrpMEpI/Lkn/J/Qw5zAOSIaOVLnwAKMnBA9TJZvIpPAGRFT8i0XtmRlZSTpVUC+9pN4XzppvBqJ0e+ztmu6YOY1suRFTz8rUi1JGA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bHvIOruygj/Ewos3yNdLkF2v8uWcQpnz0MeyV+3Pv3U=;
 b=XE9AKphg2aQQhrO/fMJ3HbYnu6kmfkqohtfmmEtJNNSb4qYpvmwwHLQWGrv6hI6epkm57Fdd0TTCdJf9Lm9P6ka+CC6OM967RiQ5QRQPfMKIxqUehPPl/2PH3n5ICRSeCJvuqWpVzftf0Fvhx77a2RtkEngLKHUpfsdKQXoZ5axWRVUv/FvBrzqwMUaMJ/YrM7Xd7sUYgtnWpI8U94UjVX04uPFOcVw481UemDhXUPTeXgdRzWyve25unfdyqQE8joGXDF32nyO9ap5ZpoTg64Cif5PIUB5/xE4kXOrmJeRwvskaVOtP7k33nFkvNQbzMBJUKu1xHq0Y8ThucwzXqQ==
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=bHvIOruygj/Ewos3yNdLkF2v8uWcQpnz0MeyV+3Pv3U=;
 b=VH6c9hS3JMmCeco7PSgahB+rgwk+jcZYWSTNgDlD8wM5cIE3LXtzyE/znZT6WYUQuF+qLgZa1OHMcifeXSYn7qcQgB9wYjkiuwdWubCpQYOuRJR2W69nuIxBBzirt8Agl5St9G0wEXwTFDG64tbt9uvrUSbEgA5+auxU3ovInio=
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
Date: Wed, 22 Nov 2023 15:44:53 -0800
From: Vikram Garhwal <vikram.garhwal@amd.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	David Woodhouse <dwmw@amazon.co.uk>, Julien Grall <julien@xen.org>,
	Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	"open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
	"open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support
Message-ID: <ZV6SdQZ7ZuN-xZKF@amd.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-7-volodymyr_babchuk@epam.com>
 <alpine.DEB.2.22.394.2311221436430.2053963@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2311221436430.2053963@ubuntu-linux-20-04-desktop>
X-ClientProxiedBy: BYAPR04CA0033.namprd04.prod.outlook.com
 (2603:10b6:a03:40::46) To MW3PR12MB4409.namprd12.prod.outlook.com
 (2603:10b6:303:2d::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MW3PR12MB4409:EE_|SJ2PR12MB9189:EE_
X-MS-Office365-Filtering-Correlation-Id: 67e01c66-f108-49f1-ad0e-08dbebb50ab4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3Y+eqqpO0ewrqaaVzpsjKOfGF6MdGCq4Eymo9k/R2kJjet0dad82L+EWYHYELlcgK5qd91BhtWTL6wmUgAE+VOFPyGxAAr40IBWPMJ8yPXIgKZ1Kxu2W4ql0OvJLlgvJk4WfVurgy0RHwbmEIE4nZled4pxccBINXe7wFCKCUzpe8XvvOpdolYovk2V4HI8UEyQoew+M2ah5JrfhXjDDmSrE0vQh963IPy+Vx9hq6qhWbQ93BpBrv+IL06NubqxmVNB+evbFbcYOjAP/vhZoF1EE66nEhj0TbKYEXhdxtUZ+wkB+5eg4kzqRFGTJ+ZEeExlwDITOlsP6fa8h2rYwE/BbeTN9yZBnyRNwN0Aweel+1SYO2xNDWiS/GQrK9Wbm+Cmoec9oL0MMyHvydmXPC7zfgyu6YBF9cbSYdexhwlgJxNt+Iz+QbdRsPo+2GKaNQtpwS357sbeDkcUtFRKhxAM/umIkPLgkpF+kMTC9cL+KyyIqpZeEvxEBGpq4YDzmr/85YQmby0pYso7OYlbkSV5DwWL2UOwY9x+tb2grklIPeuy31nLTZ0pWRr9GgVUs
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW3PR12MB4409.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(136003)(376002)(396003)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(83380400001)(38100700002)(36756003)(86362001)(66946007)(66476007)(8676002)(41300700001)(66556008)(54906003)(4326008)(8936002)(316002)(7416002)(30864003)(5660300002)(2906002)(44832011)(26005)(6916009)(6512007)(2616005)(6486002)(6666004)(6506007)(478600001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WnI5V0NFZjUzVXduYWxEbmZwbzA5eGxqdTlkWUsvQmhFaEtuNkwyUTFHZTc3?=
 =?utf-8?B?Qm5Wb2lTbE02QkVvM3NldDlwQ0VNV2lIbCswb0JnK1hVc1oxVCtqeVEvSGJs?=
 =?utf-8?B?eG9SeVdKRkZldkdyVm1zNXNwU2g0Qm5yTndLWE5OV2loVUJTVmRmZmxMZ0pW?=
 =?utf-8?B?WFY3eFloUHNtMFlTNVU1YmlYTUlDL1dmR0VsSEU4VHZ6RUdKdWpLcEEyc1dR?=
 =?utf-8?B?ZEUrVDEvZUZ2bUNTN3hqb3g0aFIyYWpCZjdpM1JZZnE1RDhiVmdJNXhsc0NO?=
 =?utf-8?B?cEVmbEQzWjg5Wkx4bEVoU1ZRb1FrQ2p0OTdQbFlDME40Tll0VnhTL21Uekwz?=
 =?utf-8?B?UzFwbWRrUFpvVk9LYndsV3dHNXErOHI1cXBJcnAzRXZ5M2N0R0xRSVJiUUpW?=
 =?utf-8?B?aW9LcVk5ZjQ2OVdxU2QxYkh4UzJTckdRUnZVcUVhWXJwSUZOVm5TR3FQV1Nw?=
 =?utf-8?B?cUtzQkx5TXpRcWIwZzQrTkFDN0NJZUlXcFlYMGFTejRzZ2piNWlGcG51aW05?=
 =?utf-8?B?RUVZWUZWcFdPdkhvVFNlVXBMdlBVZW1YMS9La29CREpqbEpOL3dnWkpheko3?=
 =?utf-8?B?NmxMZjVzSElWbSt3dDdsT0VZdFc2VkJrT3RtN3o5R1UzYXRJVmpwUXRMRFpL?=
 =?utf-8?B?QWR0VENEbTlEM2RTRXNGampiUzRkbVFTYmxVa2RpdXV3TzM4eWdWRkJqU0lG?=
 =?utf-8?B?UFVmbEltQ1dVU1crSmZBTDBJaThlREVjVnJpS240d29IZGpEOHkyempjSi9X?=
 =?utf-8?B?SStOK2NMYkJMU0xDWjBvMGVCWWhFZHpIaFBVOHdNVGpOMzNrcVN6d3gxOElz?=
 =?utf-8?B?K3lpNDNlc3A2NEVGRmJwa0txZFJjSzhCWG9HWS8rVjBIdEpsbGFlQTBLdDRX?=
 =?utf-8?B?MHNHMGVjL2JUSDFtMTdzL2Y3SmEycmdrMXovYVVtT1hiczQvbTM3dXFoUGpz?=
 =?utf-8?B?TU9iSDdwRnJVTnk2UGNPbVVUb0dLbG1FZ2dlRzRDWklXWmVBMVRzbHlyWFJn?=
 =?utf-8?B?NHZVRnNKSnhGd1MxeGg5aktUZ2pYNE02ai9vQzRvUW91amZLWFpxNFhybnRB?=
 =?utf-8?B?VEZwODFCenNkMk1SQkJFNktwWHdWUlU4bmR0Ui9Fa1NXeG94aC9kNEp1OHd4?=
 =?utf-8?B?K09lWnNaVjkwYngraFV4QWdweXprQTQ0S0R3b2VrK2o1K1hCR1hpVEZ2TVJX?=
 =?utf-8?B?RHEzQUtuUkxnZzlXWlRpMTl1czFEdjZzNWtnbkZOVUdiQldIQlZZMzlNSSt1?=
 =?utf-8?B?U2EzNnpqcWVDYUFNVzlwRFY1U1BvWUQ4VThoNG5DMzJBSG5nR2FRTkZsR1F1?=
 =?utf-8?B?UFRTRUc1Q1JweURuZ3QvRWtUZWdwZzB5Q2NxWE1pU2Jqa1JoakhlNm9RWEYx?=
 =?utf-8?B?VDdIVXBNWWIrNlczQUhhalhxN2JMQzRoQXlLQjc5NmNzNGhOTXRRcEdjOFNT?=
 =?utf-8?B?SG1IMVd6eXk5QllUeGVodVczTUdhbWlaSHdVdy9LWlVYRTBJTVM1OEhvcnh4?=
 =?utf-8?B?Z3VyaWMzSk1Wa2hQMDZOdDF3MWJobGpjTEV3dDNFeHROR0FBMFEzVmV2RWU0?=
 =?utf-8?B?YjBrR0JUMDZ0S0VEdUN1RmVNZVZ3WkxNcWh2NkNFaG0rM29EWlcrbnVOTERD?=
 =?utf-8?B?cWhKdmlzbzJxYlorbUtkUzJ3Nkxod2lOSXkrdExLTS9ydmNHMzJVV0taeFVK?=
 =?utf-8?B?eVVqcmhpZXdmUml2VlFXNzJyYkFFTXBQUDlKdWcvVlNFMHBoQStlYnF1RDNJ?=
 =?utf-8?B?UEhJT2RpVU5uUzllbTQveGNNb2hGVmFpUzFOUE9JdkZteFNzNzBxeFBvU1pi?=
 =?utf-8?B?ekhNdXhWUTJobEV4MjJULzYzTFdGaEQ0b0lHUjdWdk5mWjZkNkpza3dZN1Np?=
 =?utf-8?B?dlNKSUdTNzFMOG9aUmdKdm90VGtlc0N2L1JOWmJ1cXkrMGQxckMrRDhtbnlP?=
 =?utf-8?B?ckw5b0lXVDlUV3Rib0NWWDRWS0NscGNQZUx1a2p1NWUwUFZGR1RZbnkvU3pl?=
 =?utf-8?B?RXJYZ2Mxdkd5RGVIa2EvQXNieDNKUFUyVUlRYzBrLzVNWURTbU9TWGViR3I2?=
 =?utf-8?B?amg1WUlpemxkdlJvbjhkVTZ0ZmNITU9lWUt6MU5VNFd5MnZ3OVVoa3JOekpF?=
 =?utf-8?Q?2YscQfSAD+5u48XHV1l+tfe7a?=
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 67e01c66-f108-49f1-ad0e-08dbebb50ab4
X-MS-Exchange-CrossTenant-AuthSource: MW3PR12MB4409.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Nov 2023 23:45:00.5980
 (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: SkyiXj/q8UcG9tcnS/bW8ot9ajAasBZVWXwkMMSCBskCWVOCqv9ZK5pnLFrNZKmk1LtHjzhSCHsUkEovN7Qlnw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB9189

Hi Volodymyr,
Thank you sharing this patch. I have few comments below
On Wed, Nov 22, 2023 at 02:39:46PM -0800, Stefano Stabellini wrote:
> +Vikram
> 
> On Tue, 21 Nov 2023, Volodymyr Babchuk wrote:
> > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > 
> > The bridge is needed for virtio-pci support, as QEMU can emulate the
> > whole bridge with any virtio-pci devices connected to it.
> > 
> > This patch provides a flexible way to configure PCIe brige resources
> > with xenstore. We made this for several reasons:
> > 
> > - We don't want to clash with vPCI devices, so we need information
> >   from Xen toolstack on which PCI bus to use.
> > - The guest memory layout that describes these resources is not stable
> >   and may vary between guests, so we cannot rely on static resources
> >   to be always the same for both ends.
> > - Also the device-models which run in different domains and serve
> >   virtio-pci devices for the same guest should use different host
> >   bridge resources for Xen to distinguish. The rule for the guest
> >   device-tree generation is one PCI host bridge per backend domain.
> > 
> > Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> There is still a discussion ongoing on xen-devel if / how to register a
> PCI Root Complex or individual BDFs. In the meantime a couple of
> comments.
> 
> Typically emulated devices are configured in QEMU via QEMU command line
> parameters, not xenstore. If you are running QEMU in a domU (instead of
> Dom0) you can always read config parameters from xenstore from a wrapper
> bash script (using xenstore-read) and then pass the right command line
> options to QEMU.
> 
> If you need help in adding new QEMU command line options, Vikram (CCed)
> can help.
> 
> 
I agree with Stefano here. Setting properties would be better and easier.

I have one questions here:
1. If there are multiple QEMU backends, which means xen tools will end up
creating lot of entries in xenstore and we need to remove those xenstore
entries when backend goes away. Is this already handled in Xen tools?

Regards,
Vikram

> > ---
> > 
> > Changes from v1:
> > 
> >  - Renamed virtio_pci_host to pcie_host entries in XenStore, because
> >  there is nothing specific to virtio-pci: any PCI device can be
> >  emulated via this newly created bridge.
> > ---
> >  hw/arm/xen_arm.c            | 186 ++++++++++++++++++++++++++++++++++++
> >  hw/xen/xen-hvm-common.c     |   9 +-
> >  include/hw/xen/xen_native.h |   8 +-
> >  3 files changed, 200 insertions(+), 3 deletions(-)
> > 
> > diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
> > index b9c3ae14b6..d506d55d0f 100644
> > --- a/hw/arm/xen_arm.c
> > +++ b/hw/arm/xen_arm.c
> > @@ -22,6 +22,7 @@
> >   */
> >  
> >  #include "qemu/osdep.h"
> > +#include "qemu/cutils.h"
> >  #include "qemu/error-report.h"
> >  #include "qapi/qapi-commands-migration.h"
> >  #include "qapi/visitor.h"
> > @@ -34,6 +35,9 @@
> >  #include "hw/xen/xen-hvm-common.h"
> >  #include "sysemu/tpm.h"
> >  #include "hw/xen/arch_hvm.h"
> > +#include "exec/address-spaces.h"
> > +#include "hw/pci-host/gpex.h"
> > +#include "hw/virtio/virtio-pci.h"
> >  
> >  #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
> >  OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
> > @@ -58,6 +62,11 @@ struct XenArmState {
> >      struct {
> >          uint64_t tpm_base_addr;
> >      } cfg;
> > +
> > +    MemMapEntry pcie_mmio;
> > +    MemMapEntry pcie_ecam;
> > +    MemMapEntry pcie_mmio_high;
> > +    int         pcie_irq;
> >  };
> >  
> >  static MemoryRegion ram_lo, ram_hi;
> > @@ -73,6 +82,7 @@ static MemoryRegion ram_lo, ram_hi;
> >  #define NR_VIRTIO_MMIO_DEVICES   \
> >     (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST)
> >  
> > +/* TODO It should be xendevicemodel_set_pci_intx_level() for PCI interrupts. */
> >  static void xen_set_irq(void *opaque, int irq, int level)
> >  {
> >      if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
> > @@ -129,6 +139,176 @@ static void xen_init_ram(MachineState *machine)
> >      }
> >  }
> >  
> > +static void xen_create_pcie(XenArmState *xam)
> > +{
> > +    MemoryRegion *mmio_alias, *mmio_alias_high, *mmio_reg;
> > +    MemoryRegion *ecam_alias, *ecam_reg;
> > +    DeviceState *dev;
> > +    int i;
> > +
> > +    dev = qdev_new(TYPE_GPEX_HOST);
> > +    sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
> > +
> > +    /* Map ECAM space */
> > +    ecam_alias = g_new0(MemoryRegion, 1);
> > +    ecam_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0);
> > +    memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam",
> > +                             ecam_reg, 0, xam->pcie_ecam.size);
> > +    memory_region_add_subregion(get_system_memory(), xam->pcie_ecam.base,
> > +                                ecam_alias);
> > +
> > +    /* Map the MMIO space */
> > +    mmio_alias = g_new0(MemoryRegion, 1);
> > +    mmio_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1);
> > +    memory_region_init_alias(mmio_alias, OBJECT(dev), "pcie-mmio",
> > +                             mmio_reg,
> > +                             xam->pcie_mmio.base,
> > +                             xam->pcie_mmio.size);
> > +    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio.base,
> > +                                mmio_alias);
> > +
> > +    /* Map the MMIO_HIGH space */
> > +    mmio_alias_high = g_new0(MemoryRegion, 1);
> > +    memory_region_init_alias(mmio_alias_high, OBJECT(dev), "pcie-mmio-high",
> > +                             mmio_reg,
> > +                             xam->pcie_mmio_high.base,
> > +                             xam->pcie_mmio_high.size);
> > +    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio_high.base,
> > +                                mmio_alias_high);
> > +
> > +    /* Legacy PCI interrupts (#INTA - #INTD) */
> > +    for (i = 0; i < GPEX_NUM_IRQS; i++) {
> > +        qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL,
> > +                                         xam->pcie_irq + i);
> > +
> > +        sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, irq);
> > +        gpex_set_irq_num(GPEX_HOST(dev), i, xam->pcie_irq + i);
> > +    }
> > +
> > +    DPRINTF("Created PCIe host bridge\n");
> > +}
> > +
> > +static bool xen_read_pcie_prop(XenArmState *xam, unsigned int xen_domid,
> > +                               const char *prop_name, unsigned long *data)
> > +{
> > +    char path[128], *value = NULL;
> > +    unsigned int len;
> > +    bool ret = true;
> > +
> > +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/%s",
> > +             xen_domid, prop_name);
> > +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> > +
> > +    if (qemu_strtou64(value, NULL, 16, data)) {
> > +        error_report("xenpv: Failed to get 'pcie_host/%s' prop",
> > +                     prop_name);
> > +        ret = false;
> > +    }
> > +
> > +    free(value);
> > +
> > +    return ret;
> > +}
> > +
> > +static int xen_get_pcie_params(XenArmState *xam)
> > +{
> > +    char path[128], *value = NULL, **entries = NULL;
> > +    unsigned int len, tmp;
> > +    int rc = -1;
> > +
> > +    snprintf(path, sizeof(path), "device-model/%d/pcie_host",
> > +             xen_domid);
> > +    entries = xs_directory(xam->state->xenstore, XBT_NULL, path, &len);
> > +    if (entries == NULL) {
> > +        error_report("xenpv: 'pcie_host' dir is not present");
> > +        return -1;
> > +    }
> > +    free(entries);
> > +    if (len != 9) {
> > +        error_report("xenpv: Unexpected number of entries in 'pcie_host' dir");
> > +        goto out;
> > +    }
> > +
> > +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/id",
> > +             xen_domid);
> > +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> > +    if (qemu_strtoui(value, NULL, 10, &tmp)) {
> > +        error_report("xenpv: Failed to get 'pcie_host/id' prop");
> > +        goto out;
> > +    }
> > +    free(value);
> > +    value = NULL;
> > +    if (tmp > 0xffff) {
> > +        error_report("xenpv: Wrong 'pcie_host/id' value %u", tmp);
> > +        goto out;
> > +    }
> > +    xen_pci_segment = tmp;
> > +
> > +    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_base",
> > +                            &xam->pcie_ecam.base)) {
> > +        goto out;
> > +    }
> > +
> > +    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_size",
> > +                            &xam->pcie_ecam.size)) {
> > +        goto out;
> > +    }
> > +
> > +    if (!xen_read_pcie_prop(xam, xen_domid, "mem_base",
> > +                            &xam->pcie_mmio.base)) {
> > +        goto out;
> > +    }
> > +
> > +    if (!xen_read_pcie_prop(xam, xen_domid, "mem_size",
> > +                            &xam->pcie_mmio.base)) {
> > +        goto out;
> > +    }
> > +
> > +    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_base",
> > +                            &xam->pcie_mmio_high.base)) {
> > +        goto out;
> > +    }
> > +
> > +    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_size",
> > +                            &xam->pcie_mmio_high.size)) {
> > +        goto out;
> > +    }
> > +
> > +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/irq_first",
> > +             xen_domid);
> > +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> > +    if (qemu_strtoi(value, NULL, 10, &xam->pcie_irq)) {
> > +        error_report("xenpv: Failed to get 'pcie_host/irq_first' prop");
> > +        goto out;
> > +    }
> > +    free(value);
> > +    value = NULL;
> > +    DPRINTF("PCIe host bridge: irq_first %u\n", xam->pcie_irq);
> > +
> > +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/num_irqs",
> > +             xen_domid);
> > +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> > +    if (qemu_strtoui(value, NULL, 10, &tmp)) {
> > +        error_report("xenpv: Failed to get 'pcie_host/num_irqs' prop");
> > +        goto out;
> > +    }
> > +    free(value);
> > +    value = NULL;
> > +    if (tmp != GPEX_NUM_IRQS) {
> > +        error_report("xenpv: Wrong 'pcie_host/num_irqs' value %u", tmp);
> > +        goto out;
> > +    }
> > +    DPRINTF("PCIe host bridge: num_irqs %u\n", tmp);
> > +
> > +    rc = 0;
> > +out:
> > +    if (value) {
> > +        free(value);
> > +    }
> > +
> > +    return rc;
> > +}
> > +
> >  void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
> >  {
> >      hw_error("Invalid ioreq type 0x%x\n", req->type);
> > @@ -189,6 +369,12 @@ static void xen_arm_init(MachineState *machine)
> >      xen_register_ioreq(xam->state, machine->smp.cpus, &xen_memory_listener);
> >  
> >      xen_create_virtio_mmio_devices(xam);
> > +    if (!xen_get_pcie_params(xam)) {
> > +        xen_create_pcie(xam);
> > +    } else {
> > +        DPRINTF("PCIe host bridge is not available,"
> > +                "only virtio-mmio can be used\n");
> > +    }
> >  
> >  #ifdef CONFIG_TPM
> >      if (xam->cfg.tpm_base_addr) {
> > diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> > index 565dc39c8f..0f78f15057 100644
> > --- a/hw/xen/xen-hvm-common.c
> > +++ b/hw/xen/xen-hvm-common.c
> > @@ -47,6 +47,8 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
> >      g_free(pfn_list);
> >  }
> >  
> > +uint16_t xen_pci_segment;
> > +
> >  static void xen_set_memory(struct MemoryListener *listener,
> >                             MemoryRegionSection *section,
> >                             bool add)
> > @@ -382,7 +384,12 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_t *req)
> >      }
> >  
> >      QLIST_FOREACH(xendev, &state->dev_list, entry) {
> > -        if (xendev->sbdf != sbdf) {
> > +        /*
> > +         * As we append xen_pci_segment just before forming dm_op in
> > +         * xen_map_pcidev() we need to check with appended xen_pci_segment
> > +         * here as well.
> > +         */
> > +        if ((xendev->sbdf | (xen_pci_segment << 16)) != sbdf) {
> >              continue;
> >          }
> >  
> > diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
> > index 6f09c48823..2b1debaff4 100644
> > --- a/include/hw/xen/xen_native.h
> > +++ b/include/hw/xen/xen_native.h
> > @@ -431,6 +431,8 @@ static inline void xen_unmap_io_section(domid_t dom,
> >                                                      0, start_addr, end_addr);
> >  }
> >  
> > +extern uint16_t xen_pci_segment;
> > +
> >  static inline void xen_map_pcidev(domid_t dom,
> >                                    ioservid_t ioservid,
> >                                    PCIDevice *pci_dev)
> > @@ -441,7 +443,8 @@ static inline void xen_map_pcidev(domid_t dom,
> >  
> >      trace_xen_map_pcidev(ioservid, pci_dev_bus_num(pci_dev),
> >                           PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->devfn));
> > -    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid, 0,
> > +    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid,
> > +                                              xen_pci_segment,
> >                                                pci_dev_bus_num(pci_dev),
> >                                                PCI_SLOT(pci_dev->devfn),
> >                                                PCI_FUNC(pci_dev->devfn));
> > @@ -457,7 +460,8 @@ static inline void xen_unmap_pcidev(domid_t dom,
> >  
> >      trace_xen_unmap_pcidev(ioservid, pci_dev_bus_num(pci_dev),
> >                             PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->devfn));
> > -    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid, 0,
> > +    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid,
> > +                                                  xen_pci_segment,
> >                                                    pci_dev_bus_num(pci_dev),
> >                                                    PCI_SLOT(pci_dev->devfn),
> >                                                    PCI_FUNC(pci_dev->devfn));
> > -- 
> > 2.42.0
> > 


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:46:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:46:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639315.996513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wvp-00082L-5x; Wed, 22 Nov 2023 23:46:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639315.996513; Wed, 22 Nov 2023 23:46: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 1r5wvp-00082E-2I; Wed, 22 Nov 2023 23:46:57 +0000
Received: by outflank-mailman (input) for mailman id 639315;
 Wed, 22 Nov 2023 23:46: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=hBnL=HD=epam.com=prvs=56903895d3=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5wvn-000828-4W
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:46:55 +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 6993cf13-8991-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 00:46:53 +0100 (CET)
Received: from pps.filterd (m0174682.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AMND0pO005809; Wed, 22 Nov 2023 23:46:44 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 3uh623upc9-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 22 Nov 2023 23:46:44 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU2PR03MB7848.eurprd03.prod.outlook.com (2603:10a6:10:2d3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 23:46:41 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Wed, 22 Nov 2023
 23:46: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: 6993cf13-8991-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KeDymCOvkzFm6pqmxW8akXGgK+7aIX42B6d/+vBzBUvzM+quBq1sXDc5U5+wQdDA4AKrb/gh8qblnkHuxdvKiUsCHaNyZtvtOXePnyGAe261LQELPwJUGxyIH3DZ49knmE+sxYfKBj1oVnlT6RqLKQnczoUBZ67xer1GR/RI/jNzl8DHFHhIvJFycXk7KNUNJQ/pMFOvycIJYj9kJcGowWUIYYHb04COkv7ZVlD4VjHqUhHGsuCxbeMwrNk4MvHl2iGbJ5FLJQXSUxCxOstn2zrIift1aEZWf4YZeoDUIjd58Km2YEaRfyDzCR9d9/3qNq+uQ1IT4Ko03occXdhcwA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wFy7Zq1Pjr/W3xGzJGUsXcccVYTS0R18j04v0BCr+ws=;
 b=lFFXnYxZ43mx0fdzLN2odbTtALXJ1y507rkUknN/ZxBmkT98pgf2On6YjJclhCzsaReWLKO2xgdZGUyCD8HRCuHSTLp2JMPyX0IkmZuPcx/jTtyJuGvpK3EzOsXo9tswRHCGwO5cnpt8/5wtQRm2r3qIxLGgtOMQdQdpG32AgICklm3hvpFboGLkTmCb1QF1n7DRsouzKsyrmFsG8lZFW1l0atyGpPYR5C9fYohlusLqhi2jZvVszl1zOcUirPJQVcF5+6bapRCaFcqBlrdsGY4aaD0G0/NhMCOIgIldbPncpgPRrKnfrJ8pfHXxwLj5+Ac+FnaW2+Fsk/X7ji7o9w==
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=wFy7Zq1Pjr/W3xGzJGUsXcccVYTS0R18j04v0BCr+ws=;
 b=WkheKDPCMQGoLrRv8i3zm+HCU0TzXBrq9LgKMi1SiDtWVpsp/gy5wszC7ZTOWh/jkp5Z+eUX6GZ9yA2HKMIX5kBYgc3P/R3Rwpxl0N2sqZuYLu7C1qTOKHXM30h+tW+ONVrlcz+vXN4KRXHOI55KagMi0X4XzPgRdsocLhGq+OShi76kHorLHKrNUqwAeOEFW5cW8zOLV4j4qMB6KuDL5zgPtBXRxAgMDDWJj49zUzyWNR7K86p5F19CjIovlv1E7Yso6md/YQve5icvhawHtf5JYrQmbkxdhjUVMyydBf3IbCZuetXYunjFN/EVIBJIT8/+zDAk6QB/xU0r1+CooA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: David Woodhouse <dwmw2@infradead.org>, "paul@xen.org" <paul@xen.org>,
        "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Julien Grall
	<julien@xen.org>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Topic: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Index: 
 AQHaHMeIsCU+MAEGAkSnPoa9ThBNz7CGlGOAgABYsYCAAAmAgIAAAakAgAAAyoCAAAJ4gIAABwqA
Date: Wed, 22 Nov 2023 23:46:41 +0000
Message-ID: <87r0khz6zj.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
 <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
In-Reply-To: 
 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU2PR03MB7848:EE_
x-ms-office365-filtering-correlation-id: f60830a0-39fe-4cb1-eb0c-08dbebb54703
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 IVAgmfUE4RfnGc6dtELQi+Knf7zRf/ttDje37Pau4CPWBxwgjgWytSyb/bhU8HzXptI2tkvCX8ZCNVLpYi5F28qoko+bc7VAHCqVqJRGBLwWMs2uTBz6aPb7cLa+LEOXS3K/X+zXY+dYS/LPinB5wxCNrsNp8/JGwqtLaYX6xrNKb79BouxaqdWb/VZqSKy7caOdNfjOXcoddhxH7jGZn5yWgXQ7lvtvemgNQk2Q10qszx5FVvE5jEfFcwYTm8B1at6mIFgsZuUFuwg913dy3MX4Hl6LfnYjDkk8HxCR1uSfpxuoVBs9fusGMMGbdlC5wondbIsNOqDZlU9TmS+t1Jt8cEH+A5He+7QachdfKhueSQagZZg2TmN6SIHgdwk6pmDAXHf3Nx7rrxY2AKSVy9YqD720XeAcEJfkT7BpI2/dma4S3kyUpxfi2qXPB4Z13pTSq0C+AuOz9oVPRDm/FC7LaVEKQEJYI8sq90VBSGpTtWWl4E9mge3sRcaYVN27EsMo+Y0fC5kPidLT3FusCI+P824Fn95yMle4no3QQ5IYEDNE9/LdwoebFsWFOyUTnj4MSMqHKBZ52ljANPrCRgtGBVzNrPgVYKmvQa1dSZh3QAXpguyg8fwIL2V6Dg8h
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:(13230031)(396003)(39860400002)(376002)(136003)(366004)(346002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(26005)(53546011)(6506007)(2616005)(6512007)(71200400001)(55236004)(6486002)(4326008)(8936002)(5660300002)(8676002)(41300700001)(4001150100001)(2906002)(478600001)(316002)(6916009)(91956017)(54906003)(66946007)(66476007)(66446008)(64756008)(76116006)(66556008)(86362001)(36756003)(38100700002)(122000001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?UjDyKKTDG/Eg3fgXYoKelJcPUL5auuftS6fI61C+7FjwDK1HHTlY3oUv51?=
 =?iso-8859-1?Q?93ALH7+I01ca9MPGokEW4X7xzQ3twDdOWEOACaG8dKIsApt+s0tkskuV0T?=
 =?iso-8859-1?Q?zUEZ+iVIVcIZ+rZOiMRlLujk09tqG3vwT2ExwvVypJxxh3y/kgzmIIXk4v?=
 =?iso-8859-1?Q?2mD7JoAqP68wMoANGVnCXdJF9M1kU8eQlZLewDNUQk8rZnJir3TbAq9BKu?=
 =?iso-8859-1?Q?Fym2Dn7NjyBd3CaMdgi7ztG6nckvor/Tr8geYjIsmU5IzvSohiWdyC9RVf?=
 =?iso-8859-1?Q?l9zDX2g1shhGmZ9Z8xu5yX+GgL+eFx2SIEt44ki0mb0Jo2zImUPD9HqfIi?=
 =?iso-8859-1?Q?6J7a0YY8iYyTWy90SXF1Es5J/R01g4U4PwW8yDp3uMuapec1tFfbWajUN3?=
 =?iso-8859-1?Q?+9P4Ki+MhDLrdYxvYplB9n0XcTE33/GrrX4mBs1R8h25PqB5+gDEILR6Ir?=
 =?iso-8859-1?Q?F0t1A75bZcZmQF140BTHfB+DpEKIh+iZLpt+oXrbed0p2tU0oMEyWphem6?=
 =?iso-8859-1?Q?b+HXxS/68xqLLdzXx1vDKrPHcPxTLhR6dskUVvJ0xEZ6UhBqXLG1Nhfc1w?=
 =?iso-8859-1?Q?IcJ4hxDa8yzLb9GdhT93A1eyw63KaXPFyM+nDqkooRC99JnV96sD40ScWS?=
 =?iso-8859-1?Q?hRrV1Dopqt1uMiu9V+GCVFU/2bNaKVrTQnsgpHcXC4lci8Z9gQm/MnXpk0?=
 =?iso-8859-1?Q?Yxyk5NCA8TNRo3vgrRrYdrXe0lN4+TAQ7WrGy5rkssks2Kv6xtOy4MH84x?=
 =?iso-8859-1?Q?vbHYPwuLSN+RP0J7rvtuv8avGyfMvwOUBq3PlGqaY+Nio/TtkamdnhdbjF?=
 =?iso-8859-1?Q?r7q8mMkL1M2jnxKJZIsauVzb+dqUVykizX9v3rlKq5XhUcH6uAqCQoiPWf?=
 =?iso-8859-1?Q?3Xg/zYz6yxcrJH0EkPiu0KqB3vzRA1YiJSR0IOfJ1K+nMsE9UzJr+lp1Lx?=
 =?iso-8859-1?Q?RKL0KxV6yp3U2QWWaZ2RJrqMosBQMxzVERJpUPf9UO7teuHEdG6531jDXw?=
 =?iso-8859-1?Q?MA/VyU4zJQt0fFmh9cg8v5Xf6uep5qP15DDHha85kDMl5XcFoXr8FcuXKI?=
 =?iso-8859-1?Q?JQSI/MzFsbZtKgaxakEIJpPRrSnK4l4ZkL3v/qs7dxcchACgzlCPLfEUXt?=
 =?iso-8859-1?Q?pMg75COTmM2LjSPkUGnIPCob+saqpSyKf6OeydwBofH4UX0VcQfQR2f8L9?=
 =?iso-8859-1?Q?Ik7bhQXImzjyi8BJEcvCGUZU3UQU8Ws2/6OwCDXT+pWKgmMuspueczAowh?=
 =?iso-8859-1?Q?CjcLGep3/sYjLEHUZltid2zUfGNp17gohKpxhBK1RjKy050JuGffG763WI?=
 =?iso-8859-1?Q?SXcB6Tp8C05THa+EuBh/1bIspv2gird+C/kogk5DQzGYvsd6MLhoVyVFha?=
 =?iso-8859-1?Q?L9fFjuNQgrMirM8EmIhG+JHnDE6Pxrf/8dCUf4gtVC2qW+mpes6cvuwFd1?=
 =?iso-8859-1?Q?1tso2W3qr4uQr2gE+wZnPM5MoM6tN+5l6TtZYteZmlVnU1UPxPskqKo6+1?=
 =?iso-8859-1?Q?dVRpRv9eRCyZj3MdG7ZcPiJ7mPNGZpAipxpVIaAAGfnSzM/QhnShIu87Jk?=
 =?iso-8859-1?Q?sYoeDw5FBcACjpmUPgCmLAQQtKu60zVDNkrZNcMOmfXzbn1xs7O1ennAJE?=
 =?iso-8859-1?Q?riVnS7dTJRTRe0YttzL8N1bjulRSRXjoDBGVo8QQyrIk1x84s1xieoWA?=
 =?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: f60830a0-39fe-4cb1-eb0c-08dbebb54703
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2023 23:46:41.5884
 (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: PpEC5o+b4C3M9dVgpPqern9lHoDyFgU3vIz3ze0uttC6I7WL0dWkE1ER570QNVSNjE2e9BhMDoQoT/rjNKRBN67dzBo3mlfVDfBTHSdqKeI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB7848
X-Proofpoint-GUID: qednVgVF03CHz9mJ3iIkMe-dF-Afy-qe
X-Proofpoint-ORIG-GUID: qednVgVF03CHz9mJ3iIkMe-dF-Afy-qe
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-22_18,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 malwarescore=0
 phishscore=0 lowpriorityscore=0 bulkscore=0 priorityscore=1501
 adultscore=0 mlxlogscore=829 impostorscore=0 mlxscore=0 suspectscore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311220174


Hi Stefano,

Stefano Stabellini <sstabellini@kernel.org> writes:

> On Wed, 22 Nov 2023, David Woodhouse wrote:
>> On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>> > On Wed, 22 Nov 2023, David Woodhouse wrote:
>> > > On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
>> > > > On Wed, 22 Nov 2023, Paul Durrant wrote:
>> > > > > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>> > > > > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> > > > > >=20
>> > > > > > Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER=
 to
>> > > > > > inherit the owner of the directory.
>> > > > >=20
>> > > > > Ah... so that's why the previous patch is there.
>> > > > >=20
>> > > > > This is not the right way to fix it. The QEMU Xen support is *as=
suming* that
>> > > > > QEMU is either running in, or emulating, dom0. In the emulation =
case this is
>> > > > > probably fine, but the 'real Xen' case it should be using the co=
rrect domid
>> > > > > for node creation. I guess this could either be supplied on the =
command line
>> > > > > or discerned by reading the local domain 'domid' node.
>> > > >=20
>> > > > yes, it should be passed as command line option to QEMU
>> > >=20
>> > > I'm not sure I like the idea of a command line option for something
>> > > which QEMU could discover for itself.
>> >=20
>> > That's fine too. I meant to say "yes, as far as I know the toolstack
>> > passes the domid to QEMU as a command line option today".
>>=20
>> The -xen-domid argument on the QEMU command line today is the *guest*
>> domain ID, not the domain ID in which QEMU itself is running.
>>=20
>> Or were you thinking of something different?
>
> Ops, you are right and I understand your comment better now. The backend
> domid is not on the command line but it should be discoverable (on
> xenstore if I remember right).

Yes, it is just "~/domid". I'll add a function that reads it.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:49:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:49:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639319.996522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5wyU-00015f-I0; Wed, 22 Nov 2023 23:49:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639319.996522; Wed, 22 Nov 2023 23: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 1r5wyU-00015Y-FD; Wed, 22 Nov 2023 23:49:42 +0000
Received: by outflank-mailman (input) for mailman id 639319;
 Wed, 22 Nov 2023 23: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=hBnL=HD=epam.com=prvs=56903895d3=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5wyT-00015S-Ap
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:49:41 +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 cc50509d-8991-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 00:49:39 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AMNDZur030623; Wed, 22 Nov 2023 23:49:33 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2051.outbound.protection.outlook.com [104.47.14.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uhkuk17nt-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Wed, 22 Nov 2023 23:49:32 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU2PR03MB7848.eurprd03.prod.outlook.com (2603:10a6:10:2d3::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Wed, 22 Nov
 2023 23:49:28 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Wed, 22 Nov 2023
 23:49: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: cc50509d-8991-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=AciWoT8xpCokaZDAuWHYw6NSKpf5yNt0LXWOAIIJDDIxEugoELn2Eh8k2u4iqJZ1POc8FICPpIrof8wipdmYvBlLFMcbS4sjkqJyUye2VR1yvHf9AaGZa+IeciZAx1HgFzf1H1RED5LdXm4ug5ke5PahkcLv9YLukAxv1n/loQG5EBvlq7ywSOSIZNKWACXMGOjg675JI9VieWqMF2Uy8A52Z0I4n7m6NLYBYiTF/r0W2p9Rsq/PcXojb2+RxgQJiK7+Jg+cY12MraMxH/hPQZ+nulNLOHQQUn/Rez8TPS+N7QW5pEXXy6wOaTQtatnQeyKwyee9KhkhBcVV/DQ9PQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ng9KHCSY27fs4W0E92o00gpr24norQc20LS+wnJZT9Y=;
 b=N5ymO6F3RYrXqkulrLcUnBHb4n9qIA/kqVj6IQAhrRg//bcqSJuPL6Pmzkkf3mcwc+LxpPU3CheuywZAswkGWxum+zAcZ5EUTHRt1cyLYzBofrcmqbY2lUD3gwNhvg/Q5FadiSvsv/zNSmHm1v24TYNcC6qVTkfTiP4WIvRmkM24zSGPPBlDswfzd0CBgqmM5jtFabAKNWma+hmx7ryKVYDSpCBIuj1/9wnvvlS5t4ZI0fAdVDGzOBA1fWBh2RktPwGTlXuF7Z4eaUI4nnVbdzLiuJJIpN7swpPOZnJnVSnBoZ6Ush01LQ3F8mTixt8RVVGAO9fhnb+G0D3H+6dzow==
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=ng9KHCSY27fs4W0E92o00gpr24norQc20LS+wnJZT9Y=;
 b=lBiYy7JhJGe8zpCU2vOEjNqRqWnJCcUVD8pzheUIuACnq3lMSbLFpNa/mseEeAQ1RHL13uop9YRAFa9TMqoWvr6sf/C4enlWc9zDr5s1GPEFWEz0uHRP39BpneRzZIREm0SwgMoxOnYyLqQrb+pbq9bEgZ3cwJoey9CguVcPEFJLgDIVm/pbCIqwfwGWEpaxy6/CrYTYfGeLZk8H2w5OCjGJSC7E3Wso68ehvTqoNnUc4xE/6sDBKDKGNUexmECK+m8yqa6cSfEUg27l1G9sTLH5Ty0X9u9hXo/1qI/LqNlSsB5D27Tja7M9fwHhuZHNsxLAvN+N4BSB2Gw8l1vnyg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "Woodhouse, David" <dwmw@amazon.co.uk>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        "paul@xen.org"
	<paul@xen.org>, "julien@xen.org" <julien@xen.org>,
        "hreitz@redhat.com"
	<hreitz@redhat.com>,
        "anthony.perard@citrix.com" <anthony.perard@citrix.com>,
        "marcandre.lureau@redhat.com" <marcandre.lureau@redhat.com>,
        "sstabellini@kernel.org" <sstabellini@kernel.org>,
        "qemu-block@nongnu.org"
	<qemu-block@nongnu.org>,
        "kwolf@redhat.com" <kwolf@redhat.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "pbonzini@redhat.com" <pbonzini@redhat.com>,
        "jasowang@redhat.com"
	<jasowang@redhat.com>
Subject: Re: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Thread-Topic: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Thread-Index: AQHaHMeI32LlpkxN1EiN6kyRHznaJrCGkpqAgABet4CAABHlAA==
Date: Wed, 22 Nov 2023 23:49:28 +0000
Message-ID: <87jzq9z6uw.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-2-volodymyr_babchuk@epam.com>
 <e1663064-247d-41e3-9a36-16f81303fb94@xen.org>
 <c715df296cef35bd67ede0cfdec8f5cd294f0db2.camel@amazon.co.uk>
In-Reply-To: <c715df296cef35bd67ede0cfdec8f5cd294f0db2.camel@amazon.co.uk>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU2PR03MB7848:EE_
x-ms-office365-filtering-correlation-id: 2736a687-f8e2-4be2-6244-08dbebb5aa89
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 w+pKhcYw+oO5zGARTv9+QfvM0wr+vQLB6wP1IQYORbJ5Y3NwIu2ZVWjy0CWeQvW4sEEAcgMVuFJt+fkAsYaPod1Zav6XUePSa0wAUhE8C6UtYtAxiO9SNeT7NN/PQ8kt0qROb2PSpTJPX42G9IQW91gvKDMKd1uX76j2wf2dykDDMS0KfiV65hSsYr3uxGYmqaaKssZR7SQULched7hbLiYcIUbYqsqnoJEDZBUdx/lXovsWljEzUd9/F107RI8IShC1lkO0/srQ4bBXi9pG36bGt3pkr4bhS80RNWxFZ2THyDxSWDzCFgVz8p39F4Yt9/mdgI5YMRTVnlmjzr88sVyy2WrtAhiNNrbYr9WvC9KbJx3hwbI+cddHVaM76KlAoVWjgWa7j+oWNf4LNjyTQ76hMzRttCMmVoDWyPKdhxg6izWFjlaNiagimC5mCIAB1FwlIGWcIlKCn0lQMLDqqJYAgE1Ug2Nwd+dUg/7vCYlAxg0WCEHgM+EWkUoxmT405Ig3+I+KArz1LXZINYokxFnCKAiDfBrTz81UnJL67342TgCZWmd+deNkQTdCZZOR8ZadzxeXzy5Hsff6vsObZaS3+KFLIH2RZSIeo0j/5NY=
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:(13230031)(396003)(39860400002)(376002)(136003)(366004)(346002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(26005)(53546011)(6506007)(2616005)(83380400001)(6512007)(71200400001)(55236004)(6486002)(4326008)(8936002)(5660300002)(8676002)(41300700001)(7416002)(4001150100001)(2906002)(478600001)(966005)(316002)(6916009)(91956017)(54906003)(66946007)(66476007)(66446008)(64756008)(76116006)(66556008)(86362001)(36756003)(38100700002)(122000001)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?YWd1UHROTWtaZ3ZhQncxV3diaDkzVTUwZTBhQkZ0MXJ6a0s3Y1BaajhtNlN0?=
 =?utf-8?B?NTJyNVhtdzYzUHVXVlM2Nkc2em9oZmJDeksxUFMybElKM1F5WG5Kekg3YU4v?=
 =?utf-8?B?L3hUbmI0Tmk3a3VTb0JoMUdZc2Y2VTNJNjZlVExxSzlRSWlZZUswTy9wcXFR?=
 =?utf-8?B?WktWV0p5WEhKbzN3YzVzYnhoZ1VTZ3BXT2J1WXI4ekZaTVBBaTBMNUZIamNt?=
 =?utf-8?B?Zmx4c3lIYitqN1JFK1owVENqVFljbHRBdXZublpZa005R1ByUWViQUk1NFVm?=
 =?utf-8?B?WUVSSWpGRXliNEcvWkI5NGErSFVyVDdFc3o0L01sazhrZTM5U2hDWUR4SndJ?=
 =?utf-8?B?ZUd4UWNzOHJacGo1VWhxUjNSZ2thb3k0ZGxjTW5jcGtXY1VodDI1enV0SzN4?=
 =?utf-8?B?T2RNdEFuNVN4QVVTazVpenUzS2FQVEprQWNCU2xmb09GODUzVlU0U2N5eURT?=
 =?utf-8?B?SXNYSGxjMW9zNUdjMW1yTTNxaDZkMVp3TmF1VkpCTkhjeDFrTjdWRWtlUGVD?=
 =?utf-8?B?cE4ybVRKMmJpQ00yK2IzblV4Qmo2OTJxV1ZxQldKZ2xjZ05kcFR0RFhNdW1l?=
 =?utf-8?B?UVlzMisrZG96WmduOXkrYU5Ha2FpTWVlSEcvQlRGdlVwRm1nUnFtWDdxdmF2?=
 =?utf-8?B?REFFRVYrcmp5S3FYUEVlbGxwZTRsbWUrZk1wODd0cG5GbElQQXY5ampUQ3ZU?=
 =?utf-8?B?RU5rc09KcXM1bjRyMXZFOGVtMTJxS1E1N3V6SkZkOEpXcTFnTlBhM21WSk9O?=
 =?utf-8?B?Y0hyeWlCalRCcW1MNGN3b05NN0hXVTR6dnhMQkREWWFkS0w1WCtDdDFwMThs?=
 =?utf-8?B?UDZhWDIvemtyRDMzN0F3ZTU5TldkemIzK1NLVGFNell5cjNLRkRGWG9IRS9E?=
 =?utf-8?B?aEJBU1Ayc0F3Q21Zd2MvTmE1ZXU2a3doTm84WkliUWhVRGpMdm1Za0FsWjFn?=
 =?utf-8?B?cHNoQmMwdVB4Z0Y3aUEwdTlwN010cXNuUlNFalA4VHVSNmJaVm5UalYrUVd0?=
 =?utf-8?B?NTdwR0lDTlFwdkhKR3JpallVYWpBK0N1emVGYjI2dzFneGVaZG1EZHYzSXAy?=
 =?utf-8?B?bmluSFZRV1FiKzNUY0tGeEppempTR2N3OUxGOHl3dmRDbHB0U2lxay9Xd2k2?=
 =?utf-8?B?NVA4enlUSXRKZE1yRTMzeG56bEZyTkJYbElyeE9WOTVXeFllMGN2QmF5WWh3?=
 =?utf-8?B?VHNicXhja2EyVXdaK1pjVnY1SW9wdlNxSEFqbHNpU1BheEsxY3ZLL05ITWdC?=
 =?utf-8?B?engrU3dtTUVkZEhhaElRN2JJSU1wRHVoZUJSdXowRVhaUk85Zy9nTENZTExt?=
 =?utf-8?B?V05NS0NiRStrbVk2YTdmd3NmS1RqZ1lubU1uVS9ZNlpoOENUeitMTTRJREto?=
 =?utf-8?B?Y095Ykd5b2NLbXUzZzF1M2FhYTNhT2tuTURSRWllQjNTckxBNENMa0x6TDRG?=
 =?utf-8?B?RU9zOS9RTDlPemVhZ1FpYWNrN1VxUGhsV0RBQXVqVjNTNkR2QVJvMWlLWGRz?=
 =?utf-8?B?TDdRRTdLak1ZMnJWdThxbXo2MFhDRzZUK0pvMEpHTXdlbmhHVkRyRG1QUytE?=
 =?utf-8?B?Rndna2ZGdG84K2c4R1pzTW4zcGJMc3dNOGtEdnY5Tzd5dDZRcTAxQXpMdHpz?=
 =?utf-8?B?U1hXU0NNUktsNGpIZzdZQ1g0NXlaYm9QV0U3Vjk0Z3VlRmdENjRDMlhPT0w1?=
 =?utf-8?B?R1oyZHJEamx2RU0rUzVqbjNBNzdZWWpHQVpWVGpGOCtRcFFReHI1RVE4L3VB?=
 =?utf-8?B?eHFlb1RwY21FTEY0ZXRKVGY1dEU3R0ZIdFVWZy9yN0wwOFFiVGhGNVRxOGt2?=
 =?utf-8?B?QWxrOVVlNDhPM1VWak0zM3FLclR6Z2FPamMweGFDbllCelZXbnd6U295eWU1?=
 =?utf-8?B?QkI5RkMxTDVRMGduSEFVeHJtdjNpd21ZcXVqZXpJVGlRdDJnWTNKOWJ1TGdv?=
 =?utf-8?B?QWpHVlNKUnpyOUE2a0R0cjM1QVdKdVovdUNlOXJ6OUx4K1lDdXN6cVdUNVFF?=
 =?utf-8?B?ZU5pZ1BScXBYZllKN1FEb05nc2lid05pV3ZHa2trT201R25RblhiRE1SQjNX?=
 =?utf-8?B?Q1ljUTBDUStocW9MVFpsRkZ5YXpVeEs2YTBXMXlML2srTW9WaHA1QWxYQ05z?=
 =?utf-8?B?SmtaNHJVdWJXVGNSdHBha01URWUzb3lQUjk2ZlI3NHpYWWlpYjV0d2dwdFQv?=
 =?utf-8?B?V1E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <8415FD364EB1BA429276D0140DDCAEFD@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2736a687-f8e2-4be2-6244-08dbebb5aa89
X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Nov 2023 23:49:28.5510
 (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: 3UWiH1RaCkQZwXecrbRf3666Y98CXY5RFPs97iJWWM3/+oi5HMtRfZA4Xr96t1EabkPgpUAMr2QFfkbH0fSeLTRalkDTcr3EXxQM9VdEupI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR03MB7848
X-Proofpoint-ORIG-GUID: xclC1Xd_DizfgvpxjrW2uXfazLfb1o_B
X-Proofpoint-GUID: xclC1Xd_DizfgvpxjrW2uXfazLfb1o_B
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-22_18,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 impostorscore=0 clxscore=1015 adultscore=0 mlxscore=0 lowpriorityscore=0
 phishscore=0 bulkscore=0 malwarescore=0 spamscore=0 suspectscore=0
 mlxlogscore=278 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311220175

DQpIaSBEYXZpZCwNCg0KIldvb2Rob3VzZSwgRGF2aWQiIDxkd213QGFtYXpvbi5jby51az4gd3Jp
dGVzOg0KDQo+IE9uIFdlZCwgMjAyMy0xMS0yMiBhdCAxNzowNSArMDAwMCwgUGF1bCBEdXJyYW50
IHdyb3RlOg0KPj4gT24gMjEvMTEvMjAyMyAyMjoxMCwgVm9sb2R5bXlyIEJhYmNodWsgd3JvdGU6
DQo+PiA+IEZyb206IERhdmlkIFdvb2Rob3VzZSA8ZHdtd0BhbWF6b24uY28udWs+DQo+PiA+IA0K
Pj4gPiBUaGlzIGFsbG93cyBhIFhlbkRldmljZSBpbXBsZW1lbnRhdGlvbiB0byBrbm93IHdoZXRo
ZXIgaXQgd2FzIGNyZWF0ZWQNCj4+ID4gYnkgUUVNVSwgb3IgbWVyZWx5IGRpc2NvdmVyZWQgaW4g
WGVuU3RvcmUgYWZ0ZXIgdGhlIHRvb2xzdGFjayBjcmVhdGVkDQo+PiA+IGl0LiBUaGlzIHdpbGwg
YWxsb3cgdXMgdG8gY3JlYXRlIGZyb250ZW5kL2JhY2tlbmQgbm9kZXMgb25seSB3aGVuIHdlDQo+
PiA+IHNob3VsZCwgcmF0aGVyIHRoYW4gdW5jb25kaXRpb25hbGx5IGF0dGVtcHRpbmcgdG8gb3Zl
cndyaXRlIHRoZW0gZnJvbQ0KPj4gPiBhIGRyaXZlciBkb21haW4gd2hpY2ggZG9lc24ndCBoYXZl
IHByaXZpbGVnZXMgdG8gZG8gc28uDQo+PiA+IA0KPj4gPiBBcyBhbiBhZGRlZCBiZW5lZml0LCBp
dCBhbHNvIG1lYW5zIHdlIG5vIGxvbmdlciBoYXZlIHRvIGNhbGwgdGhlDQo+PiA+IHhlbl9iYWNr
ZW5kX3NldF9kZXZpY2UoKSBmdW5jdGlvbiBmcm9tIHRoZSBkZXZpY2UgbW9kZWxzIGltbWVkaWF0
ZWx5DQo+PiA+IGFmdGVyIGNhbGxpbmcgcWRldl9yZWFsaXplX2FuZF91bnJlZigpLiBFdmVuIHRo
b3VnaCB3ZSBjb3VsZCBtYWtlDQo+PiA+IHRoZSBhcmd1bWVudCB0aGF0IGl0J3Mgc2FmZSB0byBk
byBzbywgYW5kIHRoZSBwb2ludGVyIHRvIHRoZSB1bnJlZmZlZA0KPj4gPiBkZXZpY2UgKndpbGwq
IGFjdHVhbGx5IHN0aWxsIGJlIHZhbGlkLCBpdCBzdGlsbCBtYWRlIG15IHNraW4gaXRjaCB0bw0K
Pj4gPiBsb29rIGF0IGl0Lg0KPj4gPiANCj4+ID4gU2lnbmVkLW9mZi1ieTogRGF2aWQgV29vZGhv
dXNlIDxkd213QGFtYXpvbi5jby51az4NCj4+ID4gLS0tDQo+PiA+IMKgIGh3L2Jsb2NrL3hlbi1i
bG9jay5jwqDCoMKgwqDCoMKgwqDCoCB8IDMgKy0tDQo+PiA+IMKgIGh3L2NoYXIveGVuX2NvbnNv
bGUuY8KgwqDCoMKgwqDCoMKgIHwgMiArLQ0KPj4gPiDCoCBody9uZXQveGVuX25pYy5jwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIHwgMiArLQ0KPj4gPiDCoCBody94ZW4veGVuLWJ1cy5jwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIHwgNCArKysrDQo+PiA+IMKgIGluY2x1ZGUvaHcveGVuL3hlbi1i
YWNrZW5kLmggfCAyIC0tDQo+PiA+IMKgIGluY2x1ZGUvaHcveGVuL3hlbi1idXMuaMKgwqDCoMKg
IHwgMiArKw0KPj4gPiDCoCA2IGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgNiBkZWxl
dGlvbnMoLSkNCj4+ID4gDQo+PiANCj4+IEFjdHVhbGx5LCBJIHRoaW5rIHlvdSBzaG91bGQgcHJv
YmFibHkgdXBkYXRlDQo+PiB4ZW5fYmFja2VuZF90cnlfZGV2aWNlX2Rlc3Ryb3koKSBpbiB0aGlz
IHBhdGNoIHRvby4gSXQgY3VycmVudGx5IHVzZXMNCj4+IHhlbl9iYWNrZW5kX2xpc3RfZmluZCgp
IHRvIGNoZWNrIHdoZXRoZXIgdGhlIHNwZWNpZmllZCBYZW5EZXZpY2UgaGFzIGFuDQo+PiBhc3Nv
Y2lhdGVkIFhlbkJhY2tlbmRJbnN0YW5jZS4NCj4NCj4gSSB0aGluayBJIGRpZCB0aGF0IGluDQo+
IGh0dHBzOi8vZ2l0LmluZnJhZGVhZC5vcmcvdXNlcnMvZHdtdzIvcWVtdS5naXQvY29tbWl0ZGlm
Zi85NGYxYjQ3NDQ3OGNlMGVkZQ0KPiBidXQgZGlkbid0IGdldCByb3VuZCB0byBzZW5kaW5nIGl0
IG91dCBhZ2FpbiBiZWNhdXNlIG9mIHRyYXZlbC4NCg0KSSBjYW4ganVzdCBwdWxsIGl0IGZyb20g
dGhpcyBsaW5rLCBpZiB5b3UgZG9uJ3QgbWluZC4NCg0KLS0gDQpXQlIsIFZvbG9keW15cg==


From xen-devel-bounces@lists.xenproject.org Wed Nov 22 23:56:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 22 Nov 2023 23:56:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639322.996532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5x52-0003w3-76; Wed, 22 Nov 2023 23:56:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639322.996532; Wed, 22 Nov 2023 23: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 1r5x52-0003vw-4V; Wed, 22 Nov 2023 23:56:28 +0000
Received: by outflank-mailman (input) for mailman id 639322;
 Wed, 22 Nov 2023 23: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=EnF+=HD=amazon.co.uk=prvs=6830d628d=dwmw@srs-se1.protection.inumbo.net>)
 id 1r5x51-0003vq-3U
 for xen-devel@lists.xenproject.org; Wed, 22 Nov 2023 23:56:27 +0000
Received: from smtp-fw-80006.amazon.com (smtp-fw-80006.amazon.com
 [99.78.197.217]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b22e476e-8992-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 00:56:05 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-iad-1d-m6i4x-d7759ebe.us-east-1.amazon.com)
 ([10.25.36.214]) by smtp-border-fw-80006.pdx80.corp.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Nov 2023 23:56:00 +0000
Received: from smtpout.prod.us-east-1.prod.farcaster.email.amazon.dev
 (iad7-ws-svc-p70-lb3-vlan2.iad.amazon.com [10.32.235.34])
 by email-inbound-relay-iad-1d-m6i4x-d7759ebe.us-east-1.amazon.com (Postfix)
 with ESMTPS id AF0C2493EC; Wed, 22 Nov 2023 23:55:56 +0000 (UTC)
Received: from EX19MTAUEA002.ant.amazon.com [10.0.44.209:53414]
 by smtpin.naws.us-east-1.prod.farcaster.email.amazon.dev [10.0.44.170:2525]
 with esmtp (Farcaster)
 id aa8fbec8-f95b-4505-bd98-f380309bb47b; Wed, 22 Nov 2023 23:55:56 +0000 (UTC)
Received: from EX19D008UEC004.ant.amazon.com (10.252.135.170) by
 EX19MTAUEA002.ant.amazon.com (10.252.134.9) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Wed, 22 Nov 2023 23:55:53 +0000
Received: from EX19D008UEC001.ant.amazon.com (10.252.135.232) by
 EX19D008UEC004.ant.amazon.com (10.252.135.170) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.39;
 Wed, 22 Nov 2023 23:55:53 +0000
Received: from EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797]) by
 EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797%3]) with mapi id
 15.02.1118.039; Wed, 22 Nov 2023 23:55: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b22e476e-8992-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt;
  s=amazon201209; t=1700697366; x=1732233366;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to;
  bh=pquiVqKNUSd/MBUZ7k2Bp488xMG6rr2srykLvde+wmk=;
  b=QkM4kAsCnOMNPGUmVSDVmtHt8ZWm+5X1h3HFD1aWtKeLynyL77UVpF8H
   am0XS2CxCdT5gG9hWAn71oz39EggeIaCgOVLTpofWydxmZkgLJa9gC1va
   cF6zrGkJ21Yj3rxcS04pqLLUeumRCN7gN9iJQtrKdyru7p2AsXIBs/qnt
   w=;
X-Amazon-filename: smime.p7s
X-IronPort-AV: E=Sophos;i="6.04,219,1695686400"; 
   d="p7s'?scan'208";a="254334905"
Content-Type: multipart/mixed; boundary="===============6716185397533696130=="
MIME-Version: 1.0
X-Farcaster-Flow-ID: aa8fbec8-f95b-4505-bd98-f380309bb47b
From: "Woodhouse, David" <dwmw@amazon.co.uk>
To: "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>
CC: "julien@xen.org" <julien@xen.org>, "hreitz@redhat.com"
	<hreitz@redhat.com>, "anthony.perard@citrix.com" <anthony.perard@citrix.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"marcandre.lureau@redhat.com" <marcandre.lureau@redhat.com>,
	"sstabellini@kernel.org" <sstabellini@kernel.org>, "qemu-block@nongnu.org"
	<qemu-block@nongnu.org>, "paul@xen.org" <paul@xen.org>, "kwolf@redhat.com"
	<kwolf@redhat.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "pbonzini@redhat.com"
	<pbonzini@redhat.com>, "jasowang@redhat.com" <jasowang@redhat.com>
Subject: Re:  [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Thread-Topic: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Thread-Index: AQHaHZ9tnOo34gD6v0alQXBQBdtLcA==
Date: Wed, 22 Nov 2023 23:55:53 +0000
Message-ID: <3cdfb28b2cbe67e5905f6303f9587556629a27c3.camel@amazon.co.uk>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	 <20231121221023.419901-2-volodymyr_babchuk@epam.com>
	 <e1663064-247d-41e3-9a36-16f81303fb94@xen.org>
	 <c715df296cef35bd67ede0cfdec8f5cd294f0db2.camel@amazon.co.uk>
	 <87jzq9z6uw.fsf@epam.com>
In-Reply-To: <87jzq9z6uw.fsf@epam.com>
Accept-Language: en-GB, en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.106.83.18]
MIME-Version: 1.0
Precedence: Bulk

--===============6716185397533696130==
Content-Language: en-US
Content-Type: multipart/signed; micalg=sha-256;
	protocol="application/pkcs7-signature"; boundary="=-2Nrf/eemE8f7+4WIL1Hz"

--=-2Nrf/eemE8f7+4WIL1Hz
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, 2023-11-22 at 23:49 +0000, Volodymyr Babchuk wrote:
>=20
> I can just pull it from this link, if you don't mind.

Please do; thank you!

--=-2Nrf/eemE8f7+4WIL1Hz
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEjww
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhAwggT4oAMCAQICEQC/QgfpbUT3q2fHshU/ReqfMA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowIjEgMB4GCSqGSIb3DQEJARYRZHdtd0BhbWF6b24uY28udWsw
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZgnzd4h6STv/MQcUPixvDN/dNtp4yVSdc
xz9mB1OcA7HXd4WdPyYagmkcH0WguDYaQnOszkSdElI+2XRFSlGXhY7U9tktvdWuY1zAY1UWES8e
3BUHqSKbIKx4SX6GuctCcPnyagVZ9Hk21YUElx9cdmrqt0bGoydgxAspEx56J9Q5a48WfvFYjLBF
NL1dw+P1eUeAljco30+Xggf5faawKfPArUX0cmU4VIh5DMUyv4d0xxfNN6cK1GMj/HGUg2T9OTHW
nbTdq+OHJwHGi/37mCWx1O3uV0hbZzA1fNklaqlsr1Acg0elPeCFXLb8dSkMgQZHNJVjn+mBvG4d
MG4FS3ntipApytA+a5IaMP3LNAo0EoBd5/xVy0M6TXbiYesYLq9rhnrLgO1qcw7+if0jH9YoEJ6a
Je1m7omfEXh2XpospSLaohmAqaBKlyhXDXbTnUVnIf79zU5ohHZof0cP2amnnvYUVD72iuf9qe7X
4L1Rj589qEWYROKiMil5X7l/smE1dAmxhKxx6YWvWkXH9u7JOcmLGdKST0voaY7j3Wk0lxK3NKsk
q0G3BpqbPz3P8BYtn38BvbkFnwVW7F7Qzus3KZJgP62eN25QHxoFj44x3sppx4I5WlYG4lxdFZsY
smQdj64c7MaJ7cp8RJN+eO32RKrkndEkihzxevl11wIDAQABo4IByjCCAcYwHwYDVR0jBBgwFoAU
CcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFJ418HpIgZaPnwpWdCNSvm4XgH/lMA4GA1Ud
DwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjBA
BgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28u
Y29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29S
U0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3JsMIGKBggrBgEFBQcBAQR+
MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1
dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3Nw
LnNlY3RpZ28uY29tMBwGA1UdEQQVMBOBEWR3bXdAYW1hem9uLmNvLnVrMA0GCSqGSIb3DQEBCwUA
A4IBAQCSez7gtf1wlWJr568crX21nm6QFWRdJ/YxMOReeqYtGs8QZf2zm2vIEFab61MrgJFJcFJL
sRhVHwnH/hvax3ZldDpUhM0ODpA9soUjYsvKJ0boFAHPtI1BL0yrZNCBdsUGxMv0t64Acj2ovxQ+
OxPd5ngHu0MzYIKLDvTSehxkh/qW23X7Ey/fPR0sgnAK4IV7clidmuWBbrqX+WKEyEP2kaEvLsRg
8plzYbVVFJl37rX2waKnGaWYnJ3BrvcMMgDSQCuoxMThWAOr7wxOh0ni0K3rW7CwDIAjUSk+fFmS
2EacUvIv/0xUW1nXzGJ12/Qyi+Mw65m0qE776qfcftg3MIIGEDCCBPigAwIBAgIRAL9CB+ltRPer
Z8eyFT9F6p8wDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVy
IE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE+
MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1h
aWwgQ0EwHhcNMjIwMTA3MDAwMDAwWhcNMjUwMTA2MjM1OTU5WjAiMSAwHgYJKoZIhvcNAQkBFhFk
d213QGFtYXpvbi5jby51azCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJmCfN3iHpJO
/8xBxQ+LG8M39022njJVJ1zHP2YHU5wDsdd3hZ0/JhqCaRwfRaC4NhpCc6zORJ0SUj7ZdEVKUZeF
jtT22S291a5jXMBjVRYRLx7cFQepIpsgrHhJfoa5y0Jw+fJqBVn0eTbVhQSXH1x2auq3RsajJ2DE
CykTHnon1DlrjxZ+8ViMsEU0vV3D4/V5R4CWNyjfT5eCB/l9prAp88CtRfRyZThUiHkMxTK/h3TH
F803pwrUYyP8cZSDZP05MdadtN2r44cnAcaL/fuYJbHU7e5XSFtnMDV82SVqqWyvUByDR6U94IVc
tvx1KQyBBkc0lWOf6YG8bh0wbgVLee2KkCnK0D5rkhow/cs0CjQSgF3n/FXLQzpNduJh6xgur2uG
esuA7WpzDv6J/SMf1igQnpol7WbuiZ8ReHZemiylItqiGYCpoEqXKFcNdtOdRWch/v3NTmiEdmh/
Rw/Zqaee9hRUPvaK5/2p7tfgvVGPnz2oRZhE4qIyKXlfuX+yYTV0CbGErHHpha9aRcf27sk5yYsZ
0pJPS+hpjuPdaTSXErc0qySrQbcGmps/Pc/wFi2ffwG9uQWfBVbsXtDO6zcpkmA/rZ43blAfGgWP
jjHeymnHgjlaVgbiXF0VmxiyZB2PrhzsxontynxEk3547fZEquSd0SSKHPF6+XXXAgMBAAGjggHK
MIIBxjAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUnjXwekiBlo+f
ClZ0I1K+bheAf+UwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYB
BQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEW
F2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2Vj
dGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5j
cmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9T
ZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEF
BQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHAYDVR0RBBUwE4ERZHdtd0BhbWF6b24uY28u
dWswDQYJKoZIhvcNAQELBQADggEBAJJ7PuC1/XCVYmvnrxytfbWebpAVZF0n9jEw5F56pi0azxBl
/bOba8gQVpvrUyuAkUlwUkuxGFUfCcf+G9rHdmV0OlSEzQ4OkD2yhSNiy8onRugUAc+0jUEvTKtk
0IF2xQbEy/S3rgByPai/FD47E93meAe7QzNggosO9NJ6HGSH+pbbdfsTL989HSyCcArghXtyWJ2a
5YFuupf5YoTIQ/aRoS8uxGDymXNhtVUUmXfutfbBoqcZpZicncGu9wwyANJAK6jExOFYA6vvDE6H
SeLQretbsLAMgCNRKT58WZLYRpxS8i//TFRbWdfMYnXb9DKL4zDrmbSoTvvqp9x+2DcxggTHMIIE
wwIBATCBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdv
IFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAL9CB+ltRPer
Z8eyFT9F6p8wDQYJYIZIAWUDBAIBBQCgggHrMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJ
KoZIhvcNAQkFMQ8XDTIzMTEyMjIzNTU1MlowLwYJKoZIhvcNAQkEMSIEII/eb1AoPw/8nggPO4mr
pR2/cPBMIxc6e/U3Cng8juaEMIG9BgkrBgEEAYI3EAQxga8wgawwgZYxCzAJBgNVBAYTAkdCMRsw
GQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1Nl
Y3RpZ28gTGltaXRlZDE+MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9u
IGFuZCBTZWN1cmUgRW1haWwgQ0ECEQC/QgfpbUT3q2fHshU/ReqfMIG/BgsqhkiG9w0BCRACCzGB
r6CBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJT
QSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAL9CB+ltRPerZ8ey
FT9F6p8wDQYJKoZIhvcNAQEBBQAEggIAdONcwhsPcdwA0EATx6GJZmI+lKywaFW9YBIHABi59r19
7+vhdGlsiygj6QsSrWcKNcaRIOFMpoQ/xbsZuZcFWu8c6SAJQigegO1nSfT+4poi85882sf/GZl8
2aVYpyru7BdHl8ELL0W6/Q1ycWRsmSyjBaK9uaMbspbQxwHmaxCGC6QdeOVYAVPQ9187hrhr9obM
tnYL1+kV9l64CfIrfLIxgq3bYE+HUKwhiguXnc/tsYgYlK/o2Uiq59vP97spQh0MRGiYOLcJoVqy
pyOtWMiWfYXYL1oswcm/tp89PO4DZx0IsiS+8B1aZOmXlfbSniKYM4OKoizQvNAXilVyYZoUa0RN
P4dvBcwkZCfUBgLck2YEi7f+HZVSWl0tNh+I9/mfL3FgdhbMlzGLeBJnrMs2at9bvEnOpvEmsiX1
xcApdRcZzj7PHPvRbodSdSIRStcRq9ACWNhs0JP3f8aIzEFZDXeGU29l+xabgUSaWcjjBCMyaL5s
GoY2g1U3vSZv6uu+0kMOjQnCUA0otBgBYSdoFAn0FwGRhHqYOTeJdCeaPzsH0m9QUIm8p9ib7obI
rBUv9nvxcA7Q/0mTrVgJRyBtxKWnBa5C6WQhcA0LS0Z8ZEF4Y69nkDZbRQFyICYnVXKa7rr05dCY
M19O/TlKgU4OdyNB3CwY3kjvPJVszIwAAAAAAAA=


--=-2Nrf/eemE8f7+4WIL1Hz--

--===============6716185397533696130==
Content-Type: multipart/alternative; boundary="===============2186610415863703264=="
MIME-Version: 1.0
Content-Disposition: inline

--===============2186610415863703264==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable




Amazon Development Centre (London) Ltd. Registered in England and Wales wit=
h registration number 04543232 with its registered office at 1 Principal Pl=
ace, Worship Street, London EC2A 2FA, United Kingdom.



--===============2186610415863703264==
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

<br><br><br>Amazon Development Centre (London) Ltd.Registered in England an=
d Wales with registration number 04543232 with its registered office at 1 P=
rincipal Place, Worship Street, London EC2A 2FA, United Kingdom.<br><br><br>

--===============2186610415863703264==--
--===============6716185397533696130==--


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 00:06:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 00:06:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639326.996543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5xEN-0007aa-5n; Thu, 23 Nov 2023 00:06:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639326.996543; Thu, 23 Nov 2023 00: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 1r5xEN-0007aT-2W; Thu, 23 Nov 2023 00:06:07 +0000
Received: by outflank-mailman (input) for mailman id 639326;
 Thu, 23 Nov 2023 00:06: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 1r5xEL-0007aJ-3S; Thu, 23 Nov 2023 00:06: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 1r5xEK-0004Uq-Vm; Thu, 23 Nov 2023 00:06: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 1r5xEK-0006Xj-Ma; Thu, 23 Nov 2023 00:06:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r5xEK-0006YG-M1; Thu, 23 Nov 2023 00:06: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=JLDt30XKgCNR2LpTKSdK7mhjQAMEa2eNbSqvnUdf1mY=; b=C6LavaTSOep0Vm91cd4/QuiLsp
	dzjQ6Vu0XcmPzWEL2fK53ds+yB6UZKpsbaWkeG0FfJUHCQEATpV5xK6XtrmQorUOJh2YJB6HbryH8
	ZQwe5Qa6MGBwygH4tCLmlRSlK+Y5dGbq/Zl1WMD/z8JpGMAw/KDZVfxTkBYZTzj0IOrc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183824-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183824: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=c2d5304e6c648ebcf653bace7e51e0e6742e46c8
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Nov 2023 00:06:04 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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
 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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                c2d5304e6c648ebcf653bace7e51e0e6742e46c8
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    7 days
Failing since        183773  2023-11-16 13:12:48 Z    6 days   15 attempts
Testing same since   183818  2023-11-22 02:48:47 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Ferry Meng <mengferry@linux.alibaba.com>
  Gal Pressman <gal@nvidia.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Jingbo Xu <jefflexu@linux.alibaba.com>
  Jithu Joseph <jithu.joseph@intel.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Simon Glass <sjg@chromium.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Stuart Hayhurst <stuart.a.hayhurst@gmail.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 8473 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 00:07:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 00:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639330.996553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5xFd-0008GE-Gx; Thu, 23 Nov 2023 00:07:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639330.996553; Thu, 23 Nov 2023 00: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 1r5xFd-0008G7-DQ; Thu, 23 Nov 2023 00:07:25 +0000
Received: by outflank-mailman (input) for mailman id 639330;
 Thu, 23 Nov 2023 00:07: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=B0YW=HE=epam.com=prvs=5691553e4c=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5xFc-0008Ec-8c
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 00:07:24 +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 455be179-8994-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 01:07:21 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AMND41O007335; Thu, 23 Nov 2023 00:07:11 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uhskk871k-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 23 Nov 2023 00:07:10 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AM7PR03MB6355.eurprd03.prod.outlook.com (2603:10a6:20b:1bd::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 00:07:06 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 00:07: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: 455be179-8994-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ki+U89V9lBuAtgGNS0PyrMm+5kiw/9ol/U+NXsrvTgG482gsA6aAQKMXJfhzyaazocZPQMc+IFQOQuffDpmBzHDtTpmydbYrOpIO4/DER6v5USce/NXgYsVdi0xWJRUBy0sIBC0hd9l+2blnM119pV/GPvAQnGyJaNk5NF/yBAePEL7kW1z3Hh/tDquJtQjo29p1K6Tx9pEw0HMbWPUztDJDQB3+MD4Ab3ZO8RK+7PdmoBGa9oU77VZPm5PgefUs1oXc1k68y4gx/WdAnojm78ewMh5eL22KHOMJh0X7shDXloq5ZAX61qcTfN1HDusYrlQRVhv7b+nFbsWK72kfQA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=aeBgurwzJIVKzksG+i2JHwRalCI7Eg7CX0LOmESiZ3o=;
 b=MZHZ6ji4bzjAXa/qxJegnVgS7h7xflOuDv4cSxlFUOSfGmtY/cOaV3GvCTgD2AoLP0c4pEBaXJv/kX9LRydUgWNzYEws1m62dvp93cW9BoEcM5bZxws4pShFmBcaLcNmQz07VHQm/ynOBgd5cyJmBMU5psF4kJceTL7o6Xb1qxUQl7AoaayhT2Jkpokn7r6Akk0oDB/P1dxvOVAkwEmth/l2jEyRnrjutlzHgWOho7acw0EyJvrArpsoMeP6Jj6BoJTickiI5wnDvEekjf+Js59R126/aTTKb49BqreQcfOU8rsdPzVfidCwT0NSS17T96poShytjZ6k8TO4vZ+8RQ==
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=aeBgurwzJIVKzksG+i2JHwRalCI7Eg7CX0LOmESiZ3o=;
 b=siM+hNW0oSVSfeJdh0k2WhwDzwZtNbiK6kxg3ALr/F+XYmdtOp6w2Y2j6uEfH/kZrp9WMPgvuHfh69pSfGYFcAFLp8Rz6P39fE00AHK/R0+OQFiqvBBS+ppIRjFknY1ahEM6O66PcEwc/W80Wu4QtU+HXRAubZXWpD+HXbzjXxYNmfth1h48N4ARPzuU827o432M86BBv9SuXk3b1y9lMR0+t3R3nxt9Cydr5xLuf3MfwDh6dG6M13KWjhHoW00QsTUe7nXmitnRaWSf9Y3xltsgOLkXAGCd9zgP+g4QFib0iT0CmDeSt1VxJw3YLRgIu+Ce+z7xJbFx2DTLO3/SnA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
        David Woodhouse
	<dwmw2@infradead.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        David Woodhouse
	<dwmw2@infradead.org>, "paul@xen.org" <paul@xen.org>,
        "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>,
        Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Topic: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Index: 
 AQHaHMeIsCU+MAEGAkSnPoa9ThBNz7CGlGOAgABYsYCAAAmAgIAAAakAgAAAyoCAAAJ4gIAABwqAgAAFCoA=
Date: Thu, 23 Nov 2023 00:07:05 +0000
Message-ID: <87cyw1z61i.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
 <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
 <87r0khz6zj.fsf@epam.com>
In-Reply-To: <87r0khz6zj.fsf@epam.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AM7PR03MB6355:EE_
x-ms-office365-filtering-correlation-id: 9a593823-a6d6-4cbe-f43d-08dbebb820b9
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 4XLcUYP8KoeAx4BJeJnfZR5n/7rNs+5SqIQUQaLsTfvaZJ2N0NBizDZEhq8qByog80bj5q1PD6Ynoo1jPEDUxCm8Me1QgY+mQbrWxm7d1cKDVtmmCFk8JuLTlK7a6oB142SPmHFgbzQ2R5BzOHvive3k3Qgajxyz50J8exwNDfe+I0S7PL8RJO4y7u1U9CLl3xWk4kkt1NAIdqXJ91VTtln0BAS/+F175eSG0qLzBJ5ZWM79vF2+XHd0vUOXrKxeYK6T2qhLtKyscPKpjcvA3gmYCU8KklKZHinqvd5U31kF7tOe2FcSmBL4kknbV6O5NvEKKl7uL+8qw8ZP0s532a0Pfbnm/N5JMhaiXNB1lMcFyPxHzvVo6wjGGFKVSLfnKh86g+m8QK15xeksX/tZq2rFE0SVKQNBuIsaxoIaU6CwhLHNmC8cPzplgUprUQBXV0WOhpOiIC48/p3alb+yk9UG5o8FUUHe0j1HVaV9T/WgXjoXDmjTggWLw+a8VujZ8KROq5EKzK+xF0OMeYvn5xNcSUFTatEUdfLEjXZMPZsoM8eAUY8Ue31KA3z4pl+iGT/53YzdfJyIOvFbx4YwKv2fQFPB0TUgOfn9wwC4u92QTzZCyHf8zyfQf9/v73l3
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:(13230031)(39860400002)(376002)(366004)(396003)(136003)(346002)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(38070700009)(66899024)(66556008)(110136005)(91956017)(76116006)(66476007)(66446008)(66946007)(36756003)(122000001)(86362001)(38100700002)(71200400001)(6512007)(53546011)(2616005)(55236004)(26005)(478600001)(4001150100001)(2906002)(316002)(64756008)(54906003)(6486002)(8676002)(5660300002)(4326008)(8936002)(6506007)(41300700001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?qHvEQXYJW9uNvS56grSyBL4VX24iLOPTo7h+iFsSNaAeGFBktpjvjSmvg5?=
 =?iso-8859-1?Q?8QwfnHbF1zSTlo8w9IQJ/7pXAwTzYmhorrHN0RmtjJ+lMa704gm7ywxoKp?=
 =?iso-8859-1?Q?LnESPsRzeGzrLMwP0Cg8k/VvjjTqAdhFZZuW46kRpqiqROU+HC7X1nIXWR?=
 =?iso-8859-1?Q?f3/RbgCY5w105Ne/1jONFc/f0R1lzHkHZ5Ucev5SOObnKEKDX25k+NyhMU?=
 =?iso-8859-1?Q?6P3UYvk+aI+FM00fCx+optlnbFNFAbLTwkC3DVnXcvgwC0kfmDC/1kMGUV?=
 =?iso-8859-1?Q?LM1zQ+Jqemt4Y02xP4KX270AtDNRk7iW+P5bgR65X+bQEPrtzKkH29kZBL?=
 =?iso-8859-1?Q?+b9/BzunWAgfb/fDRL0fQIIclTZ4xeqJCShtQEzwNVYwCiWFLqE3CJBlp4?=
 =?iso-8859-1?Q?iiOxUW2XhNqwHtImX6z/jleZZJopdcMh/Ra20MlVA0M8/78jRpe3IDCc4E?=
 =?iso-8859-1?Q?/F8vZx4qfKcui09tS/K3pcQzEoJXvLv7fpl3S+YcEnXNc0WStgWHB/x/U9?=
 =?iso-8859-1?Q?ySakzgqdVai1ZCKfJVaWPze7KYAqZa7gO28E+cdoq+UGkIalsho99ufiS9?=
 =?iso-8859-1?Q?ph4fwGQkJ6Bct0mNqrCSeyO0iFitEVAfw5WK2JlUAVvL5uwg5HR9TesIpI?=
 =?iso-8859-1?Q?VhOa5CILL2opfOHYEnycDgu3Kh3xJiDigeGbVdLBDLkM7ztFU2o7O08ca5?=
 =?iso-8859-1?Q?K/qpqMjq7NehDjwbI4+CIREiBLPW7fFyeI2x+ROJQ4vSdFAnTKILMFhPqk?=
 =?iso-8859-1?Q?pAtCvSsY1ImPZl8sol9lHP6LGuAYRJuGPAYC/O1reun1YMMsrFZniikRUO?=
 =?iso-8859-1?Q?NobLJ8DfpqaDXiwtx5PoaV7gZqVU4fDdMceK+OflzsiAokejPbs7pATpOh?=
 =?iso-8859-1?Q?2vi5J666z5rDX1ZIJOv+ML31ym3ejuOGqH0MAm46qEpJjkvgfelwy0b2OD?=
 =?iso-8859-1?Q?a8238vf/3xkfalw1G1M0xKQKmUmdcvr7V+vj67yK4kwDrDifl7ycaFQ5yw?=
 =?iso-8859-1?Q?s4HCbClYIIsukfse/M2qOZ6N54fm1vvCnePofGlKJJD4cd8Ms0kukSCby4?=
 =?iso-8859-1?Q?hZIfTW0ePHKtcr+n3tXeaX215XF3h2vflVO7/kB1PT2k3aTDgD9PM7R4Oc?=
 =?iso-8859-1?Q?VF9U+h6CnCGT1t0yNv1dBZzgK0cLFlPj+//oTTm/HULVngDsVvqKSTLSWv?=
 =?iso-8859-1?Q?s51v+iqW9lFWAV9iIIMjM2fPFtp8+vFF/gIDQAOlys8jtaAtIxpGNtXRw0?=
 =?iso-8859-1?Q?34AhAgt86StVCNmXW5Cd5k3BA/IVYGldY22mb5e5JS8twrsB3VnoI1XOGx?=
 =?iso-8859-1?Q?RHhHicJj/Lx3Cs3TJoGPkPnci1dlqc7q4Vu3Hb+TmzO2B/myWnRnuGDIn3?=
 =?iso-8859-1?Q?lj26TawF7JwCpkuZEJWCICKsCltw2sBsg2Qn0+mIP7ycQCGvLy2OG97TgD?=
 =?iso-8859-1?Q?0JyuIPW89Dpdaw1iP0P8RbJ0vJFTeBi/t9zwz1br/lsM2XWh5vFUlYYcCY?=
 =?iso-8859-1?Q?sZzMRHoxlZHnNVAArDY/tG9CPDL5NVft6HRO0V19PKsiqBzSFgQjwYLXhd?=
 =?iso-8859-1?Q?QtlaDUSaoDOZoKDOpAqcsGqAZQxiXQfIBs+cT2J7mq9lj27Fe2Bqf9itqy?=
 =?iso-8859-1?Q?13kkN2rYNqozmjQqF7U+krlbqS/MpFVGhV6n93uyqqmYWYBj6bso2yNA?=
 =?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: 9a593823-a6d6-4cbe-f43d-08dbebb820b9
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Nov 2023 00:07:05.8606
 (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: w+tjS9UmsO92W6qfBgHRI72LOuBLb1zN5WLVSrZ9+P1Lygepq78wJsuR8QQF8bm9Xy+aUHufEpD/mPySwOoUWYwfOAmFDxnHl61etxFSS1I=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR03MB6355
X-Proofpoint-GUID: 6JghHvzg4kpcd9DRRDrlsfdEpn6n3OPA
X-Proofpoint-ORIG-GUID: 6JghHvzg4kpcd9DRRDrlsfdEpn6n3OPA
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-22_18,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0
 priorityscore=1501 bulkscore=0 phishscore=0 impostorscore=0 mlxscore=0
 malwarescore=0 adultscore=0 mlxlogscore=999 suspectscore=0 clxscore=1015
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311220177


Hi,

Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:

> Hi Stefano,
>
> Stefano Stabellini <sstabellini@kernel.org> writes:
>
>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>> On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>>> > On Wed, 22 Nov 2023, David Woodhouse wrote:
>>> > > On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
>>> > > > On Wed, 22 Nov 2023, Paul Durrant wrote:
>>> > > > > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>>> > > > > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>> > > > > >=20
>>> > > > > > Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNE=
R to
>>> > > > > > inherit the owner of the directory.
>>> > > > >=20
>>> > > > > Ah... so that's why the previous patch is there.
>>> > > > >=20
>>> > > > > This is not the right way to fix it. The QEMU Xen support is *a=
ssuming* that
>>> > > > > QEMU is either running in, or emulating, dom0. In the emulation=
 case this is
>>> > > > > probably fine, but the 'real Xen' case it should be using the c=
orrect domid
>>> > > > > for node creation. I guess this could either be supplied on the=
 command line
>>> > > > > or discerned by reading the local domain 'domid' node.
>>> > > >=20
>>> > > > yes, it should be passed as command line option to QEMU
>>> > >=20
>>> > > I'm not sure I like the idea of a command line option for something
>>> > > which QEMU could discover for itself.
>>> >=20
>>> > That's fine too. I meant to say "yes, as far as I know the toolstack
>>> > passes the domid to QEMU as a command line option today".
>>>=20
>>> The -xen-domid argument on the QEMU command line today is the *guest*
>>> domain ID, not the domain ID in which QEMU itself is running.
>>>=20
>>> Or were you thinking of something different?
>>
>> Ops, you are right and I understand your comment better now. The backend
>> domid is not on the command line but it should be discoverable (on
>> xenstore if I remember right).
>
> Yes, it is just "~/domid". I'll add a function that reads it.

Just a quick question to QEMU folks: is it better to add a global
variable where we will store own Domain ID or it will be okay to read
domid from Xenstore every time we need it?

If global variable variant is better, what is proffered place to define
this variable? system/globals.c ?

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 00:11:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 00:11:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639335.996563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5xJp-0002dv-6S; Thu, 23 Nov 2023 00:11:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639335.996563; Thu, 23 Nov 2023 00:11: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 1r5xJp-0002do-3E; Thu, 23 Nov 2023 00:11:45 +0000
Received: by outflank-mailman (input) for mailman id 639335;
 Thu, 23 Nov 2023 00:11: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=B0YW=HE=epam.com=prvs=5691553e4c=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5xJo-0002c8-FP
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 00:11:44 +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 e14128e8-8994-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 01:11:43 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AMNDGEx029570; Thu, 23 Nov 2023 00:11:34 GMT
Received: from eur04-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur04lp2050.outbound.protection.outlook.com [104.47.14.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uhkuk18s2-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 23 Nov 2023 00:11:34 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AS8PR03MB6903.eurprd03.prod.outlook.com (2603:10a6:20b:299::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Thu, 23 Nov
 2023 00:11:30 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 00:11: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: e14128e8-8994-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ac7cqcZRB25QyYZ/jW83mDW82VFOALuLgG2s32sfBMjNo2W6YQG7jnkglQH8nu6t8dlvIaDkeCeVTjVeZnG8Et0jsq2p9Hc4dYmNFTnkKriSJk89C5yOhrFt0/KeE42NgEOa31yMrt0ySNPgLVW2b2UZIFw/GdR3L1wQG7htcUSDkUBw5DXQ6L+lHTnYYAvv/UB+tqih6fuTZnC4vOB7VF3AGDZW6+pUDXaf/dbofKeFFZ0lu4TL+4M01n8u7nbZAtgvao24QB+tw7038jJv/m6RykFx+vRt2em1FumK88nmxLd3vK96iT44ADnK4NGjWqh//T4D/daSZVIIqDOF9Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yg5IKdJ3sJaUwvbyO2HX4rr4pZeOo+2XVSWIPetYogQ=;
 b=Y47oKmjG7XXFPQzX0qG74VSQpspebMuCauIfEXHhI7S1klCgh1PrLft1bLzzs6kUzjgLazwBDb+/urVCKfYEyOrprY2lyrMB06P+jPG43BiqgfgsRMwkHRWRJplbW1Qad16GvZz08yRpjm98hIqb7sAIqmwAw3YzBsi11hhWpEcrRLz1p+mO//Kj/qf9dcHxSnlnREK+l4aKY23Xdb5A8kuXPD+mgXEVB3w3Az3m2/+TZ7jHlNLQfropbfP1KVVIegcT+D+uM/2DyDoOfLw1SjxHgCCn82V/XPBmnYDmzTrW9+cEFXx3Ylx5lx70lse678imiHAEMTqkmnceL+SMMQ==
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=Yg5IKdJ3sJaUwvbyO2HX4rr4pZeOo+2XVSWIPetYogQ=;
 b=HxfhAARTsc8/dWHEvRqZ0SZvoegf+v1y3h8sFgZVnZLwNlZNl/hPV6Ds78LFx4lhSI7HVApiOOXi18DIgfHMrOstr7S4BVfn0CJCENkx1wX/L7qR/2nDKLTkcZ5wRWKtW0/kK5eqCZBOmR5lbRivCiRFK8+pHFDgc8KfCfDHEv4KMQ04Yop+Fe2CRwDeQRg5nIC5swA491I2Q0BmG+ZU0wLXwFugyHUGaoxdJj+JNEF2ZSUbPMnNyZHeXvTAUuRV5TNto83i1MvJCeWKod/ggx9Cv/yDm53XIIt6H/3vN2HbACYO+OLHd1fChPeYShXd3uyZy44tIQ5NuQbyGsDcsA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Vikram Garhwal <vikram.garhwal@amd.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        "qemu-devel@nongnu.org"
	<qemu-devel@nongnu.org>,
        David Woodhouse <dwmw@amazon.co.uk>, Julien Grall
	<julien@xen.org>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Peter
 Maydell <peter.maydell@linaro.org>,
        Anthony Perard
	<anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:ARM TCG
 CPUs" <qemu-arm@nongnu.org>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support
Thread-Topic: [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support
Thread-Index: AQHaHMeJqHnam8LJkECFe490J2r1JLCG8AcAgAASMYCAAAZ1AA==
Date: Thu, 23 Nov 2023 00:11:30 +0000
Message-ID: <8734wxz5u6.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-7-volodymyr_babchuk@epam.com>
 <alpine.DEB.2.22.394.2311221436430.2053963@ubuntu-linux-20-04-desktop>
 <ZV6SdQZ7ZuN-xZKF@amd.com>
In-Reply-To: <ZV6SdQZ7ZuN-xZKF@amd.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AS8PR03MB6903:EE_
x-ms-office365-filtering-correlation-id: 768970b3-d05e-4ab3-f5b0-08dbebb8be57
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 OYJLi3+dQEVdP1CE9bEt0bUphzI23bUohdDnMng2R1y/p3rUt+QppEjHqAJYv0eWFBLd6DIfgOnYf67TweWppoYeQYpCAcoQEPsiMBWDUiOmsf5f5EO/Y1wDT1ynHQhI125jFpBP54cfE1zT/wpNJmMGQmAwzmZyJR6ytwB2/1qIz2sEg7O/BLTM31H5sQxhil5mNMvzvsLT8TzFmcIhLGaAqibO4UdQO3oHCEBO9bW3Jo9zMkgivbHLw1zDADC9AiX6uRJjm4tCTPCy1a7ZXd9V5UB92mY0Y6qnMasuqOTR0ynt9U8YSQFsCGKKrhI/xSkvCwefK1EacmP/jaClBSlMYhT/jZnzG2Q8FVKdtDfUMyVKPK7QK/NcirkA9buwYxgRbmMPxZWCzYTO/tUytbcBUNDR28j6vpChGQftrgPniRJer5Rlx1UdYa+twttqPb8chNlUMFx80wN3p8c5/VNY9lvaSEnQNkmwD3orHqb+PeqQWyK+l0lnSE5+sD2SfxkP6REl8HDUGhQC4v/4SUSJKSA3Mioio6laYPqVKqzWlJBvvj4DNrcUQvT4BZ8l/4i5IpXmcuLDPeo1xLFFF8h1RLLxaB7LIsjp/Zve9f8m0sOxN7CKvuYGFeVZ8PCH
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:(13230031)(39860400002)(346002)(376002)(396003)(136003)(366004)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(26005)(2906002)(2616005)(6512007)(6506007)(55236004)(71200400001)(6486002)(4326008)(8676002)(8936002)(7416002)(41300700001)(5660300002)(478600001)(6916009)(316002)(91956017)(66446008)(76116006)(66556008)(64756008)(66946007)(66476007)(86362001)(54906003)(122000001)(38100700002)(36756003)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?2SL2o2OdeXwMh1vvYoPgCvhP6Ak6KmXjDcDQdQmNb354nelrO/rMtxYtzc?=
 =?iso-8859-1?Q?f9DXxVqFk+9KDgMcfEs1+/wNljVNPTn44Og1FIq90aGpTkqS1f/1TCILA8?=
 =?iso-8859-1?Q?hs07zi07uK0StORONB3vub7MDvxc+oezkbrMQHHXHiSbmqe5oVELysseQa?=
 =?iso-8859-1?Q?MXAclwIlJPIYDB2viCZW5pqb/o4TvRBx2y5yA2Yeqz9qsIwT8i6K4Hc2af?=
 =?iso-8859-1?Q?qjFhmq9nidiUnFldSG1xysaW5ESU7NLGyO9/Sm2iIsSoCyJoZOrw6FNueP?=
 =?iso-8859-1?Q?1VxBLCRAeLTryt0CttBOvBWUxDTw8guxeg/JpKophUTyXTiPfu+ubvxbi3?=
 =?iso-8859-1?Q?oMDeJhNqUSI8Z7y/EfcWmYvedmHhYvRWHkAgh5imFiB2tMnFmxMzof8gal?=
 =?iso-8859-1?Q?vcIfcYyqzDok7EMrp7QeQdJ4XdZXRnE6rKoum5VgDMVAMPG11nZzw8oHIR?=
 =?iso-8859-1?Q?3BpTBSsj5uUYnFRMNF9JzKD0W9MteFLHOj5XBjFso9AlbN+pljGPBpvNqs?=
 =?iso-8859-1?Q?2+NpgYic6xpGRpryd91TfdQp80lmJkJim0zbUBjyxcuxpTSc0buWEgmUKa?=
 =?iso-8859-1?Q?Af5tlAycVPahjLL9Dp+Hy3HTXJyyEUPBV94dVjREEmf0DJnNN9WX6A3bgf?=
 =?iso-8859-1?Q?6gQn2TMBjm7byxv9+c043am1GH0gU8bxPrrsgf2qeceE0nt5ioYwANQE4f?=
 =?iso-8859-1?Q?QLDJ+aL3XUxjr84ygb3iT8qqjpPPreHum36Mg7rVu33Wvyjsy9YagYC0xh?=
 =?iso-8859-1?Q?sbOgHC0YFlv0GloRJ6yCwznbnp8Xc2eDcbKFkKdMMDDHm6FtXhtCbOKzMW?=
 =?iso-8859-1?Q?p9ARRl9ZwKD22ISKJ97XH4X0cZJP1xE5fbri4eGSdk2Y95EvRGb1pfyUDD?=
 =?iso-8859-1?Q?hiAnldlPoRTE5hLtpKLfHaAgqZYXZ9VwOD4baKw4EF2kwDfWcNPBjDIhQY?=
 =?iso-8859-1?Q?wQV1ZVVmy2oSbkSl1YkqbxNQz7ym/Eu07i4pbX6Rym7Yf22ncLS8SXQPMd?=
 =?iso-8859-1?Q?H0G/0aNTW+YoXbkvvFOQccOm6bvQCFrPpQi6YYwPZabH77dqL3spi6uyCM?=
 =?iso-8859-1?Q?3/xqRq/LIBiDKqW2NmkSG60vdxdjEhpwcvRI38OZRkC/HKLS/24LBinPAW?=
 =?iso-8859-1?Q?qT/l2hz6PxGoJ/9LGWXBPDLdXMR+hlazb9x4xRkkGj9unNFX5CUB3KYzie?=
 =?iso-8859-1?Q?nQbyNOQcg7Dyifp4L6lVFxT4w5IWbK/v/TOHXZXC+I4LI04MIqKLAjLVi4?=
 =?iso-8859-1?Q?ekhnvZf8Po3n2tUy31bKO1PGyUhF0w9srjYpU4eUtmcmTa8Q65+uvxvBDa?=
 =?iso-8859-1?Q?Ifkcwi2s9z/qlCYJNMNRH2MGGVdUIuRkL1Tb8/hX2etJes4ljDC0HPDaAQ?=
 =?iso-8859-1?Q?DazkP2KZSl7pi1/o99XkiTV6m1eAbno9u1TMnIhP+dF/j+ZbESZFY5GVeR?=
 =?iso-8859-1?Q?7RuuwoVvEdWLzTa5vvM7EIDewQE1JRPMNCqCJDrYvjtZrPHeHvLYXTnWFK?=
 =?iso-8859-1?Q?UwkmhZNfRceazxzI/HJa5FQapvmQo5FedvTb34QshtCxGFuEw9RK7+0qpD?=
 =?iso-8859-1?Q?VXVteUtlhgTgfYp9np/fkAyQTiQBEMI75KfTUNNTkpoStaXg5EyA5nRC2l?=
 =?iso-8859-1?Q?vKIgcB+ct2HkUyKyulby32DU27KSoT33aKlawYYCC6scNvxsgxwwW5Lg?=
 =?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: 768970b3-d05e-4ab3-f5b0-08dbebb8be57
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Nov 2023 00:11:30.2397
 (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: hCtX+Emih1Z/rUDP/ecH0b48H3VQfuRpaLmLhx7Xh7ZCZARB+0y4+53qrjUm+RQUDe3/pj8MRqL5bgqSXmaUmFnWZU6jY6LjCxUh+KkohjA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB6903
X-Proofpoint-ORIG-GUID: eeZhu0ymgN_qRLApaL3dPp88H8Xg4Lnj
X-Proofpoint-GUID: eeZhu0ymgN_qRLApaL3dPp88H8Xg4Lnj
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-22_18,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 impostorscore=0 clxscore=1015 adultscore=0 mlxscore=0 lowpriorityscore=0
 phishscore=0 bulkscore=0 malwarescore=0 spamscore=0 suspectscore=0
 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311220178


Hi Vikram,

Vikram Garhwal <vikram.garhwal@amd.com> writes:

> Hi Volodymyr,
> Thank you sharing this patch. I have few comments below
> On Wed, Nov 22, 2023 at 02:39:46PM -0800, Stefano Stabellini wrote:
>> +Vikram
>>=20
>> On Tue, 21 Nov 2023, Volodymyr Babchuk wrote:
>> > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> >=20
>> > The bridge is needed for virtio-pci support, as QEMU can emulate the
>> > whole bridge with any virtio-pci devices connected to it.
>> >=20
>> > This patch provides a flexible way to configure PCIe brige resources
>> > with xenstore. We made this for several reasons:
>> >=20
>> > - We don't want to clash with vPCI devices, so we need information
>> >   from Xen toolstack on which PCI bus to use.
>> > - The guest memory layout that describes these resources is not stable
>> >   and may vary between guests, so we cannot rely on static resources
>> >   to be always the same for both ends.
>> > - Also the device-models which run in different domains and serve
>> >   virtio-pci devices for the same guest should use different host
>> >   bridge resources for Xen to distinguish. The rule for the guest
>> >   device-tree generation is one PCI host bridge per backend domain.
>> >=20
>> > Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>=20
>> There is still a discussion ongoing on xen-devel if / how to register a
>> PCI Root Complex or individual BDFs. In the meantime a couple of
>> comments.
>>=20
>> Typically emulated devices are configured in QEMU via QEMU command line
>> parameters, not xenstore. If you are running QEMU in a domU (instead of
>> Dom0) you can always read config parameters from xenstore from a wrapper
>> bash script (using xenstore-read) and then pass the right command line
>> options to QEMU.
>>=20
>> If you need help in adding new QEMU command line options, Vikram (CCed)
>> can help.
>>=20
>>=20
> I agree with Stefano here. Setting properties would be better and easier.

Okay, I'll look at this.

> I have one questions here:
> 1. If there are multiple QEMU backends, which means xen tools will end up
> creating lot of entries in xenstore and we need to remove those xenstore
> entries when backend goes away. Is this already handled in Xen tools?

Well, this is not a classic PV backend, so common code in Xen Tools does
not handle those entries. I am not sure if tools remove entries right
now, because I am not the original author. But we definitely will remove
them in the final version of patches.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 01:20:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 01:20:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639340.996578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r5yNu-0003qX-49; Thu, 23 Nov 2023 01:20:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639340.996578; Thu, 23 Nov 2023 01: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 1r5yNu-0003pz-1X; Thu, 23 Nov 2023 01:20:02 +0000
Received: by outflank-mailman (input) for mailman id 639340;
 Thu, 23 Nov 2023 01: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=B0YW=HE=epam.com=prvs=5691553e4c=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r5yNs-0003oV-Bt
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 01:20:00 +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 69ad604d-899e-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 02:19:57 +0100 (CET)
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 3AN0fnsp011906;
 Thu, 23 Nov 2023 01:19:44 GMT
Received: from eur01-he1-obe.outbound.protection.outlook.com
 (mail-he1eur01lp2051.outbound.protection.outlook.com [104.47.0.51])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uh4u5c03k-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 23 Nov 2023 01:19:44 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PA4PR03MB7248.eurprd03.prod.outlook.com (2603:10a6:102:10e::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Thu, 23 Nov
 2023 01:19:38 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 01: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>
X-Inumbo-ID: 69ad604d-899e-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P9IY+3Fvh61NM11e2qIF7T5j8332jUFpHEeoaTeybn0olozVhAoR9TUu7QrUI1VUDVFR/FI1a3fdfcxQid5E5KlEwc/Pf1/nrTFPjbz///i31cXqoRn1vWIufX2hMxEXdXsVsoTuemEkJjsY39DSIuy2YY9nT67owExAnM+FhONRRK4f3354e3mu9yK+Gere/aJu8CmuDVhn6uCX2xeS4cWW7vWYVpGfrpDfzi5fjamXkdFMU6LkNbEKeX2YNSyiXIB7AKuXDGV1aqUXOpTyOoqvKzeT+TwQOYNjKrUBtOIDi3Gm+zisLTf1Q12nNbVCeoCxj+B0vHuGl80pKrk5ng==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5TmEmqeOWJEXSOfUhZZc+TeOdEiYVqPoGoDsR2syFO8=;
 b=CuoT0mq//FXRahmeWYFNdcCU38197v+nbV1AXIDwGm/Gnk2O8YYLAmLC/whE1JSjcWcbWzloqO1KURbfGpdmHU9tEpsmUTExnBCVD+OiZz4T/0i0Zpy5+LMDvKNwd9Fi+zkk7whZiz6rbYrW7bv9Pj/fkfDijGECja1MozfJtkXDRBAJXlcN66QZvOEdfg+aiFGvNMDCGghPhaL4wBXrqwPZ4nSxZDIQdRU87CsWlUOxICHGsGf/QIBfhLq9c/PwVPmdfNBRLkBQ1L28+t/2+P3SSWlq2AfBsjHYGHguqchllNnOOCZNRD0KbCIfdsbOcpJ7SW2SrJtJPhhFQ9dKRw==
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=5TmEmqeOWJEXSOfUhZZc+TeOdEiYVqPoGoDsR2syFO8=;
 b=mdfi7w5Ve9xRm6TnJDbqVOiPcfc28eHb7xPAKK96+oeWN5bZ50JjQfTepr0mCdKgnTHEzRihPezZXpEdyaR5muXb7BDVVzjhKdoFivK4WZ0TBynSV01fZfKauK9gowuTWLVU1eePBqIujsVR41W9c+GmESWRH07y1x+akdMPkyS+vzHim3/venzrgsNlm8fGAf13TRcMLStq0lvA0vzQewzWneMtSLBbn6k6wudGvruJ5oa6aX64B3ZphOHE0mmgv+O6N5WeOohmUdA6EdQj7DOTj9vWPzrSNtTqcsdT3QapoqhF23KiA0V2g+gAPwN3q+1w4e4yR0QTDCIxVvXsgw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>, Paul Durrant
	<paul@xen.org>,
        "Michael S. Tsirkin" <mst@redhat.com>,
        Marcel Apfelbaum
	<marcel.apfelbaum@gmail.com>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Richard
 Henderson <richard.henderson@linaro.org>,
        Eduardo Habkost
	<eduardo@habkost.net>,
        Anthony Perard <anthony.perard@citrix.com>,
        "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 3/6] xen: xenstore: add possibility to preserve owner
Thread-Topic: [PATCH v2 3/6] xen: xenstore: add possibility to preserve owner
Thread-Index: AQHaHMeI3Gf8Xs6dHUOphRyadMs2o7CG9fUAgAAktAA=
Date: Thu, 23 Nov 2023 01:19:38 +0000
Message-ID: <87v89txo46.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-4-volodymyr_babchuk@epam.com>
 <777dd8fb393464bcac2130210ef2a538a2e606f9.camel@infradead.org>
In-Reply-To: <777dd8fb393464bcac2130210ef2a538a2e606f9.camel@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PA4PR03MB7248:EE_
x-ms-office365-filtering-correlation-id: 6fea7cfc-0352-4aec-6d8e-08dbebc24303
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 RuqT1a+fbuHO8JDwj6i01Uax01rHFfOvPgaC0FlKxiRz+z3ezRr5RUBnpwOAN3knRp8FoqBOlNH8fV4rzRA31xHGK3aLDT1KTyhXcoPBz+pMT5y07P5yxEUzA3XkWlxUuUPHMuXVPhWEjqCPF5t9qJE08VOsLJ/Hta1jAr7ypJBJpTUayZtx8vHIBSUO/PkxAsyrlVV4IPa/BgDPtEV+Ly2WfXpz3mV5AZBnCsU0AHr06UDWZeoARBygNZcF9eUSklKbUvIZiAQzoTC0okd/SflSDfwUOjW0WNRAZMJn/JaadqcsTNqkTkXQ9YPq7aG3mkVjws7YgqaVyfXk/bMonoE9WQfWEOWxtvz3W+sF8LRZ/qeCvhdv1kgi94GaZY4wEJY8pc8OUKtazsKgZRJqFWisOhK1/FKlk5Lvj1KV2fvhjnrOASidIf0FnJbVj96Cy98RZ7gFVXMOXK0iih8P3iTs0Rx1w9onUUJuWAgXY3x02Now71og4rVppXZ/RJxlPVNWELNJWWzHSk8KJU5LHtYmR/JnQTp78uBK/yzhPae7sW+nqsymhljOkxkpadQf8IKzZZv6fEKEoCvoLSupQ1hvwnnrnwSQ7+etdlvA0gqAlc5DTzgHTPYYdCMjzVpE
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:(13230031)(376002)(39860400002)(366004)(396003)(346002)(136003)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(26005)(55236004)(6506007)(6512007)(2616005)(91956017)(4326008)(76116006)(66946007)(54906003)(8936002)(64756008)(66446008)(316002)(6916009)(8676002)(66476007)(38100700002)(66556008)(122000001)(478600001)(6486002)(71200400001)(7416002)(2906002)(4001150100001)(5660300002)(86362001)(41300700001)(36756003)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?TnR3eTNJWTdkejZGTHk4QUsrYW91QnJ2NnN6MnhuZ2JBR1Iyd3kyNjJTM0Q2?=
 =?utf-8?B?SG4wMkxJWXo2WTMwaEdLTXhWYXhWb2VhdTYwbHQyRkJmMFN1OXFRMWtZOEhH?=
 =?utf-8?B?eDVOcjhqZk8xY25QZG01ODMvQ3hUZGxpK3JqdlJuZ2xLRlNIM2tjZWFoTTFk?=
 =?utf-8?B?V2ViOWVkT3FLbnZySkFPR3dFZTBSR3pETTgzdmZDdzNZK3pNelF1Rnh0dkJS?=
 =?utf-8?B?L3JDR3pJRUhIQ0c5VFFUcEkxb3FHRzkyT0lSNHkvWGg5eGtGaXlHdjJiZTdQ?=
 =?utf-8?B?d0dKZVpOenU4cndtUG9qQkJiUE1OdmJaZ0NYaW8wQXU1VzdYL2RVSlR1NzF6?=
 =?utf-8?B?R0xCd0ZkTmtvRGFlWlpRR0tHR0dlbTVpUnhaYmp3ZXBLTzFmNWF6RXZIZE9M?=
 =?utf-8?B?Q1VFWllBRm0vRGlIZTJraVZRZ1VaMEdQMWdJUWtCRWFVSEt6SzVoWng3R2tr?=
 =?utf-8?B?SHpza2g2ZTdsaFRZa0RBemJxWDVBZTBCVk9OTkxQWC9LUG0xTnZhMDhMQWVJ?=
 =?utf-8?B?ZGR3dmVjR3FwMURxOTlzbWJXVTExMEVQTDZtWmxnMnJ5c1NqUUpwcm9URTdh?=
 =?utf-8?B?Zzd5MWh6dCtoWDRiYXV5UDFIQjNaMXdYdWozSytUWjdUWWppWFFtd0xRMlZR?=
 =?utf-8?B?Vlh3bUVOdktuR2NUQ2c1QjE0aWNrdjBENnJCaU1hYTV3c205Szc2U0NVT25z?=
 =?utf-8?B?TXIvYXNyMEpvWXNsbXdZME8rSG9QZ1NUdml4U3AvSFhPcFFucmZVeE9weTll?=
 =?utf-8?B?YkZ2YlJ5VWhZcG5LN1JOdFNabUlCSFdMZ2p6VTZtSWtDUmR3K2JRaUZ1SE4y?=
 =?utf-8?B?TUtTM0J5NGpvRHJvbHFtQ1Z6NC9VeVFaRmV4QVl3emxIbE9CU3l2dXJuUjVJ?=
 =?utf-8?B?eTRobkNFS2J0eDZxVk8xYWpvQ1NIbmkvellqV2V2eURHMEo2MzkwS0lUWUgw?=
 =?utf-8?B?NzljMXZQQUQ5YU9QaytEZlNndk5vallIRnVwMlB5SVY5WUxJWnNqWDQyaGNM?=
 =?utf-8?B?eXlkdG1zUkUyRzA3Njg1OC85MjQ2c2Y5NWVITXJvZjZuVXVPUkxGWFEwZm5M?=
 =?utf-8?B?Z09FRElNd1FjdTAvLzFvc3R1OHMxWUR3S3pnZHY2WWNRWXhzVWtjd2taRm5j?=
 =?utf-8?B?K05VSTk1VEJwUHNBUDhlQXRUMzN4UkhqK3c4Vm1PQ3Z1aWY1V29KRExsckpF?=
 =?utf-8?B?V1RnZHRWcjRIMVoxZ3JESVBLZEwvTU5CMTJ0NVA4WlQvUTVUQkF4blRNaEgy?=
 =?utf-8?B?NUt4WkpybHBwTmFFeXoyNUxiaUgxcnFnZXRkc3QvTG96aUQ4TXROekZoVk5n?=
 =?utf-8?B?dmVXOUpwRnUvK3RLRWdIZklZeVpERGJnRjVCV2RlL0FsampNaDhyM1lGWEh5?=
 =?utf-8?B?YjV2ZmxORnUvWjZZNWZ0bjZzOFdPQXFXaDJZTEdFMmhFTW1JWi9jMTB5Vnds?=
 =?utf-8?B?WlpoVnNablRhNUREVmhrM01LUG9YSmFQbG9YbVhPT0I2V1dpVzZNNURnZzBz?=
 =?utf-8?B?ZC9tenBzVEF1WTdIaE1pYXc4SEMwVklJVjlXcS9rYUFpVy9sSWFxSUdkSE16?=
 =?utf-8?B?K3NHeVhuZklMdEtFUjF3cXJqMHhuYy92SUZHYlRuN3J2aWVEOFBUano2eEl2?=
 =?utf-8?B?SUVTOFU4NElKdFlTWDRNYjk0WXp6ZFZic3NKMWQzb0NBZzJ0azNCeWQzQ1JB?=
 =?utf-8?B?Q1dDblRLV1piYkdNbWEvOGhmQ2ljVWR5WHhyQzArR1FTM3dnL09LNTMwNDlQ?=
 =?utf-8?B?VWM5YU1lNEFvcWprKzdlWVdPZE9NYTVmaGM2NFNmbTdENVV4eXFJRnZxa2Zi?=
 =?utf-8?B?NjJZR2g3aENhNlNHUlRBcm04ZEp3dFZSK3BsV0F1azkzTVkzMitqSmM2cS9N?=
 =?utf-8?B?QnZ1SkJURkgrV0RuWkFjb1FGclVOZkRHdlBINzhobFRrNzNRVE9uTXpCZnRm?=
 =?utf-8?B?eURoeVd6aExFOFFLNXJCWk9rOUhHM1ptNXZVcTlveWRXS3dRQnN3RVR5S29l?=
 =?utf-8?B?ZGtEWlZVSXhuaU9GUmxldGhJYTBnYW9yZWRDUFFMbkZLckM3VnNDY3Ftd2FB?=
 =?utf-8?B?T0hQUnpaMnhHUS9FcWlVMERJSFMzcDNQc2paRmhQdmd4MXZxWm9KMFl4Z2Zr?=
 =?utf-8?B?dU5FTWwyZXBvbXUrSjZWMDJkK2Z2MDcwbGl1UVNsRmtYblpHdDhRRE1sS3pw?=
 =?utf-8?B?WlE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <918AB3AA138BC54C929529B30E2706B7@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6fea7cfc-0352-4aec-6d8e-08dbebc24303
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Nov 2023 01:19:38.3516
 (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: 5IOVQtSFRMGMh4TgvGztFb/WDB1U3peZuLcuLl+qVtmqUvQj9IwqhkFn16uThHtY6WNkdFgHM/u3G68Eicx06YMT/Q/W7nm6i/k5kpfB3/Y=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR03MB7248
X-Proofpoint-GUID: 2V1gzoitA9mTMzcSZlbeW7GVizLNKw6h
X-Proofpoint-ORIG-GUID: 2V1gzoitA9mTMzcSZlbeW7GVizLNKw6h
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-22_18,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015
 bulkscore=0 mlxscore=0 priorityscore=1501 lowpriorityscore=0 adultscore=0
 spamscore=0 suspectscore=0 malwarescore=0 mlxlogscore=599 phishscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000
 definitions=main-2311230008

DQpIaSBEYXZpZCwNCg0KRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPiB3cml0
ZXM6DQoNCj4gW1tTL01JTUUgU2lnbmVkIFBhcnQ6VW5kZWNpZGVkXV0NCj4gT24gVHVlLCAyMDIz
LTExLTIxIGF0IDIyOjEwICswMDAwLCBWb2xvZHlteXIgQmFiY2h1ayB3cm90ZToNCj4+IA0KPj4g
LS0tIGEvaHcveGVuL3hlbi1vcGVyYXRpb25zLmMNCj4+ICsrKyBiL2h3L3hlbi94ZW4tb3BlcmF0
aW9ucy5jDQo+PiBAQCAtMzAwLDYgKzMwMCwxOCBAQCBzdGF0aWMgYm9vbCBsaWJ4ZW5zdG9yZV9j
cmVhdGUoc3RydWN0IHFlbXVfeHNfaGFuZGxlICpoLCB4c190cmFuc2FjdGlvbl90IHQsDQo+PiDC
oMKgwqDCoMKgwqDCoMKgIHJldHVybiBmYWxzZTsNCj4+IMKgwqDCoMKgIH0NCj4+IMKgDQo+PiAr
wqDCoMKgIGlmIChvd25lciA9PSBYU19QUkVTRVJWRV9PV05FUikgew0KPj4gK8KgwqDCoMKgwqDC
oMKgIHN0cnVjdCB4c19wZXJtaXNzaW9ucyAqdG1wOw0KPj4gK8KgwqDCoMKgwqDCoMKgIHVuc2ln
bmVkIGludCBudW07DQo+PiArDQo+PiArwqDCoMKgwqDCoMKgwqAgdG1wID0geHNfZ2V0X3Blcm1p
c3Npb25zKGgtPnhzaCwgdCwgcGF0aCwgJm51bSk7DQo+PiArwqDCoMKgwqDCoMKgwqAgaWYgKHRt
cCA9PSBOVUxMKSB7DQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gZmFsc2U7DQo+
PiArwqDCoMKgwqDCoMKgwqAgfQ0KPj4gK8KgwqDCoMKgwqDCoMKgIHBlcm1zX2xpc3RbMF0uaWQg
PSB0bXBbMF0uaWQ7DQo+PiArwqDCoMKgwqDCoMKgwqAgZnJlZSh0bXApOw0KPj4gK8KgwqDCoCB9
DQo+PiArDQo+PiDCoMKgwqDCoCByZXR1cm4geHNfc2V0X3Blcm1pc3Npb25zKGgtPnhzaCwgdCwg
cGF0aCwgcGVybXNfbGlzdCwNCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBBUlJBWV9TSVpFKHBlcm1zX2xpc3QpKTsNCj4+IMKg
fQ0KPg0KPiBJZiB0aGUgZXhpc3RpbmcgdHJhbnNhY3Rpb24gaXMgWEJUX05VTEwgSSB0aGluayB5
b3Ugd2FudCB0byBjcmVhdGUgYQ0KPiBuZXcgdHJhbnNhY3Rpb24gZm9yIGl0LCBkb24ndCB5b3U/
DQoNCkkgbXVzdCBzYXkgdGhhdCB5b3VyIGNvbW1lbnQgaXMgdmFsaWQgZXZlbiB3aXRob3V0IG15
DQpjaGFuZ2VzLiB4ZW5zdG9yZV9ta2RpcigpIGNhbGxzIHFlbXVfeGVuX3hzX2NyZWF0ZSwgcHJv
dmlkaW5nIGp1c3QgcGxhaW4NCiIwIiAobm90IGV2ZW4gWEJUX05VTEwpIGFzIGEgdHJhbnNhY3Rp
b24sIGJ1dCBhY3R1YWwgeGVuc3RvcmUgaW50ZXJmYWNlDQppbXBsZW1lbnRhdGlvbiwgbGlrZSB4
c19iZV9jcmVhdGUoKSwgaXNzdWUgbXVsdGlwbGUgY2FsbHMgdG8gbG93ZXINCmxheWVyLCBwYXNz
aW5nICJ0IiBkb3dud2FyZHMuIEZvciBleGFtcGxlLCB4c19iZV9jcmVhdGUoKSBjYWxscw0KeHNf
aW1wbF9yZWFkLCB4c19pbXBsX3dyaXRlIGFuZCB4c19pbXBsX3NldF9wZXJtcygpLiBJZiBjYWxs
ZWQgZnJvbQ0KeGVzbnRvcmVfbWtkaXIoKSwgdGhvc2UgdGhyZWUgb3BlcmF0aW9ucyB3aWxsIGJl
IG5vbi1hdG9taWMuIEkgZG9uJ3QNCmtub3cgaWYgdGhpcyBjYW4gbGVhZCB0byBhIHByb2JsZW0s
IGJlY2F1c2UgYXBwYXJlbnRseSBpdCB3YXMgc28gZm9yIGENCmxvbmcgdGltZS4uLg0KDQotLSAN
CldCUiwgVm9sb2R5bXly


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 04:20:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 04:20:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639346.996594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r61Cf-0004fZ-PB; Thu, 23 Nov 2023 04:20:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639346.996594; Thu, 23 Nov 2023 04:20: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 1r61Cf-0004fS-MR; Thu, 23 Nov 2023 04:20:37 +0000
Received: by outflank-mailman (input) for mailman id 639346;
 Thu, 23 Nov 2023 04: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=m29y=HE=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r61Cf-0004fM-11
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 04:20:37 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20630.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a5ced9f3-89b7-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 05:20:34 +0100 (CET)
Received: from AS8P189CA0008.EURP189.PROD.OUTLOOK.COM (2603:10a6:20b:31f::16)
 by AS4PR08MB8047.eurprd08.prod.outlook.com (2603:10a6:20b:587::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Thu, 23 Nov
 2023 04:20:31 +0000
Received: from AMS0EPF000001A7.eurprd05.prod.outlook.com
 (2603:10a6:20b:31f:cafe::58) by AS8P189CA0008.outlook.office365.com
 (2603:10a6:20b:31f::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19 via Frontend
 Transport; Thu, 23 Nov 2023 04:20:31 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF000001A7.mail.protection.outlook.com (10.167.16.234) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.13 via Frontend Transport; Thu, 23 Nov 2023 04:20:30 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Thu, 23 Nov 2023 04:20:30 +0000
Received: from fb1b9716e78b.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 1EE7307F-17FB-4B02-A658-4B2CFD49BA15.1; 
 Thu, 23 Nov 2023 04:20:20 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fb1b9716e78b.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 23 Nov 2023 04:20:20 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by GVXPR08MB10667.eurprd08.prod.outlook.com (2603:10a6:150:15a::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 04:20:15 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7002.027; Thu, 23 Nov 2023
 04:20: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: a5ced9f3-89b7-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=JqoaZErUhlqHcsp6JsrGCmwiDhQ4YnQiDbhdR9kVotkCd8M7p4M/VM+RC4uAy4oZURDqnfe7La4PfZpLolJMdKSVFIYoOalHqmGT2JSLJXDfKMwSnuoCH5GEF4kllfLlN343zkop+YE+ufdTwL8V1+tD3Mp+/ikSLSNdKlD6FtP7e8FvenBQisqdtq2GUVGTIxytfyGhYdgogKDH4GswN7VGA5ddtPpS7tdORVQgrAUIDtnQsmqK2rGNb8OSDVnHTqI6DTyWnqv5ZwWZxOlYsgNhs5Rrsy2vZ14N9OSLSqSMv4r6jtpjQTcHTA0OWNBvnNa3NEo0KnnDqcuDYA56Ng==
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=9rAr0A5fObGJXVvJArbZdfn7pLDwYVj5hmUUy/EP21k=;
 b=JEe0ULwCPvtLi0Blt9v/66OhEUSdyaPcoWKWzjLBa8DPaVigO5VcYif/SkHYWPNpPFysNpVkwth0S/Wnr/pKLmATZfIy4skdMwiEEK4pnBjeabWV5DoQiIDkHnYiCB8Ts/la1o9jIuKeGNJMRl3KiLzRi+jZnuC5aGwE815bGqvuknB3jlIBqC0G0RQgdSIynpRyuTwph+VG6OdJtocfvjDLkswHvIo9K2mmjkGEGqi8GB9tQZhWZVVkduftzUj16vSgZV4qHnQIk0wt9FdUGeueHYaOocUJv7u7jwUx2i7lMmYKDc94gPR4oPVLH2fTz3ndUULSLeak1ouBUyhWCg==
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=9rAr0A5fObGJXVvJArbZdfn7pLDwYVj5hmUUy/EP21k=;
 b=TOoa5zc0XAmVsNLvZxIRLsKrm+Kd91qSZ8EpT0jm0rxUu4VnZM8haiVD32TiPZMQibOph8JPG7mZV+0F3K/HHyA4kiCRli7NQgJM3SsjM4AxZe2W75pesFcugTnPxGkVEyW3wey7u0mKX3FWtHGb2nqUevHS/IXqLDXuR0k7ASU=
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: a522360f45089254
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ejeA1CS4oMzJ0vD79La8NlR2r6+F+cq8M1SqeP4pcjCL7mHlxY5HZgXJku0RoELskDHpVdl+GpDbwFR7oYGFpxeaLD31c2QM9m3xFUhoKtBrm2WU2C7AZdLn2Z4r1FgTIFlJ4wmEX0DdYcaF9/jpK5BwLrq43bo2+r+TrwsR2yrLJ3m+d+zVjbbvivKZXHIMNG6gzvtQl9ZVshJL97PEniVz9BuNjcBOrhLbqIxYFR6qxlyQB05JkJKXKTF9kmrk0/VMJCHh7wjcZzMnPsQoqB0M8OM80wWXKbKx/IkdPsCNVvQGvtZS25ERi8VoSQawXOouGiLmdFlwX5SRIQNgow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9rAr0A5fObGJXVvJArbZdfn7pLDwYVj5hmUUy/EP21k=;
 b=mXIPTGbzJXqYZhI2KbtN8THMlCcvMTHYCei+6x/g7RXsiJnd6m4K56he5AgYzSiyNBUK+PJRE+ElbK6XFq+K0fPA2IIGAgUygjhbA1B/4IqLJBtx2jM9IaMXq63wROHyMvjdqSjJnKHj+fM9SyoCnccVK+CcwNV00KFlEhxcRWA/U3miYpt7/BchaKJJhV/4CMEf2dgiKHwsTyrKPnclE+SFu48mOamygfY5hS1XEnJtNfBanp5Kc1PG50fMVyhWWMHeKR+hOuNM23HAAM4Z4QC9AO7g4SNtByPdvn5DVXhu5eMTjsvWGRDplUeGtaW8hsAK62rdHrGOSNRQt2E1RQ==
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=9rAr0A5fObGJXVvJArbZdfn7pLDwYVj5hmUUy/EP21k=;
 b=TOoa5zc0XAmVsNLvZxIRLsKrm+Kd91qSZ8EpT0jm0rxUu4VnZM8haiVD32TiPZMQibOph8JPG7mZV+0F3K/HHyA4kiCRli7NQgJM3SsjM4AxZe2W75pesFcugTnPxGkVEyW3wey7u0mKX3FWtHGb2nqUevHS/IXqLDXuR0k7ASU=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Luca Fancellu
	<Luca.Fancellu@arm.com>, Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Topic: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Index: AQHaHLke0d1pJZFGt0mE36h4hBLGpbCFOo4AgAACQQCAAUC2AIAAJVIAgACsX4A=
Date: Thu, 23 Nov 2023 04:20:15 +0000
Message-ID: <53C90A23-2C35-48F9-8F8D-42BE6DC39FA9@arm.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
 <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
 <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
 <3222AE09-B511-490E-8298-8808261DEFAE@arm.com>
 <0eb64ed9-a56c-491e-b9b8-a03e90c4c2f1@citrix.com>
In-Reply-To: <0eb64ed9-a56c-491e-b9b8-a03e90c4c2f1@citrix.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|GVXPR08MB10667:EE_|AMS0EPF000001A7:EE_|AS4PR08MB8047:EE_
X-MS-Office365-Filtering-Correlation-Id: da9f0f15-4062-4f66-339d-08dbebdb87a9
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:
 1PG2lJ1oB0Z8iA7pWfxY4V3Tfvv/IJVRgEtOastGch5ZCFwE/i6UrvhQaPXg+fcKykg0V3qfOZmCdiok4KbBpcHCxNbY2sqBOm3kFo9yJPToJ+RRUQEda3j2O83qmdv+z51jSHUA8xUoUTRi5Wj6CdE5ObauqoXuMVjAKdQqpgQVIa28nA/Z5o+8Qa5frexnle1DBCaSqF073Kd/XhFt1inoTPlDR1N7RwwBEsDmxpMEA1fNErsKdkLae9G0knN5tyi/ofPwLfL0JJFE3GZsGI2SwYKNOWxB61l6GyugyZB42Ex8/0gqnxu2t5Pd8SOolsOpvFyskNcQ3si3zCcU183ZM0mxlBsViSFOKhy0345n5RYNdhYpr8dSs38tIzh6n4wjXNSTdHW1crEV3knnS00TErX2iYLME7DKajAvRQcVVqg13N3jbeDQ5GLrfDXCbAhVdQx4aSixTUd5HrytWLCC/fjEnKr0oqaQDn2YxFMKI35l6ZTlij0vhMsV8GZ4lvljPNm0vON1X3Km+lp6RiEAJscnWy4bZdAHLAsFRDjLWxUNi4+o67JhlgDXm9YMdF59IHmMP4vvAcl+EqKmZOpcRPGNiGls7CAp8cicxEkoOrJ5esPrXPUCBx152M/s6l5kRlqCyogkprW4cIHSaf+xDSDOjPp6TusRaoE3XPYDnoIRITWCHHry/IsZ43vKrG9NincqTF3XVQM1/jezQw==
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:(13230031)(39860400002)(396003)(376002)(136003)(346002)(366004)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(2616005)(26005)(6512007)(71200400001)(53546011)(6506007)(83380400001)(7416002)(5660300002)(2906002)(41300700001)(76116006)(91956017)(110136005)(6486002)(478600001)(66946007)(8676002)(8936002)(64756008)(54906003)(66446008)(66476007)(66556008)(316002)(4326008)(122000001)(38100700002)(38070700009)(33656002)(36756003)(86362001)(45980500001)(473944003)(414714003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <5339E68F2AED6546A46BD923565EC7B2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10667
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:
 AMS0EPF000001A7.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b4ba0d97-f916-413f-0c14-08dbebdb7e72
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PYiaavGmk2zZhfJv1fDw8n+IuCAXAQjUbxUV4Wv3VjDoVbWjSDQfUubXXuPsxwfIc//HdtAvRiDyY/TpZEAk/ZBlgNzUrEQIdeIlCCruGXC4cY+DzSxBN6fIJ0rhx7sqUqLN8MS2PNP0Fz8CLIj33RWKcQe01hyWJlohUhnetrirod4vzezRsqf5bTP6tb/fMLg+ygawvGpiDd7CColCFqc5o+q7Eeyv9YIYGU3y7UKDoZ5cSn89dqKl/5ibfSyYKOSjnqUg5m/VCMG5as2WBOhGdldJmvF0pljTrdo0RKSDJc1uPNOI0MR8MGTJ4b/Eew5h8ODO0wmTZPV0URY+EB0ZKdpbDXtjx72Shno11axSk9+MZSnEdCE/KCWQ6Iy5YW9kpJ4DAKYmtsxzp/Z3P3ryntWEQ4OXR3MiwL5WCinOIXDhY81VvB8bWWk4MU+r3KadiiDMSa2cQ3UEgt+OiHqAJISnIZ8exZNNRoAL2lg0pLxeHnHXzmNxiTNez30VvDewtYQ0KlbUYCjoIYMfjhm+oxzH4th9uXG5eN8yTBGdE02ilLCcA3OGsSmxSAA/GGCFy5jF4cTw1HPkslp7hHjx7pN7+C1Fq962MXURF0t7NguMuwrq51D0AS8aThCDKXwMV42+a4oD795QVvwZ/rjOcEx91+85Z0hKdyO7HTsmy2hQSYG+/SxYV8N5TX0t2UVWNW3v1u7f8+y5JzwBVpxhqw6w66UrtfD3uCtvN2LNMB1HxPFL+dHPy00K2vETGLGFbmnjQhgoYZK9px/6hwSxm0CzJxSTg5O2HTNKPwM=
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:(13230031)(4636009)(39860400002)(136003)(376002)(396003)(346002)(230922051799003)(82310400011)(451199024)(64100799003)(186009)(1800799012)(40470700004)(46966006)(36840700001)(316002)(70586007)(70206006)(110136005)(6486002)(478600001)(54906003)(40460700003)(86362001)(5660300002)(2906002)(8676002)(8936002)(107886003)(83380400001)(336012)(81166007)(82740400003)(6512007)(40480700001)(356005)(41300700001)(26005)(4326008)(2616005)(53546011)(6506007)(36756003)(33656002)(47076005)(36860700001)(473944003)(414714003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 04:20:30.8654
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: da9f0f15-4062-4f66-339d-08dbebdb87a9
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:
	AMS0EPF000001A7.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8047

SGksDQoNCj4gT24gTm92IDIzLCAyMDIzLCBhdCAwMjowMywgQW5kcmV3IENvb3BlciA8YW5kcmV3
LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6DQo+IA0KPiBPbiAyMi8xMS8yMDIzIDM6NDkgcG0s
IEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+PiANCj4+PiBPbiAyMSBOb3YgMjAyMywgYXQgMjA6NDEs
IEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+IHdyb3RlOg0KPj4+IA0K
Pj4+IE9uIDIxLzExLzIwMjMgODozMyBwbSwgTHVjYSBGYW5jZWxsdSB3cm90ZToNCj4+Pj4gKyBD
QyBoZW5yeQ0KPj4+PiANCj4+Pj4+IE9uIDIxIE5vdiAyMDIzLCBhdCAyMDoxNSwgQW5kcmV3IENv
b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6DQo+Pj4+PiANCj4+Pj4+IC1X
d3JpdGUtc3RyaW5ncyBpcyB1bmhhcHB5IHdpdGggYXNzaWduaW5nICJ4ZW4iIHRvIGEgbXV0YWJs
ZSBwb2ludGVyLCBidXQgdGhpcw0KPj4+Pj4gbG9naWMgbG9va3MgaW5jb3JyZWN0LiAgSXQgd2Fz
IGluaGVyaXRlZCBmcm9tIHRoZSB4ODYgc2lkZSwgd2hlcmUgdGhlIGxvZ2ljDQo+Pj4+PiB3YXMg
cmVkdW5kYW50IGFuZCBoYXMgbm93IGJlZW4gcmVtb3ZlZC4NCj4+Pj4+IA0KPj4+Pj4gSW4gdGhl
IEFSTSBjYXNlIGl0IGluc2VydHMgdGhlIGltYWdlIG5hbWUgaW50byAieGVuLHhlbi1ib290YXJn
cyIgYW5kIHRoZXJlIGlzDQo+Pj4+PiBubyBsb2dpYyBhdCBhbGwgdG8gc3RyaXAgdGhpcyBiZWZv
cmUgcGFyc2luZyBpdCBhcyB0aGUgY29tbWFuZCBsaW5lLg0KPj4+Pj4gDQo+Pj4+PiBUaGUgYWJz
ZW5jZSBvZiBhbnkgbG9naWMgdG8gc3RyaXAgYW4gaW1hZ2UgbmFtZSBzdWdnZXN0cyB0aGF0IGl0
IHNob3VsZG4ndA0KPj4+Pj4gZXhpc3QgdGhlcmUsIG9yIGhhdmluZyBhIFhlbiBpbWFnZSBuYW1l
ZCBlLmcuICJobXAtdW5zYWZlIiBpbiB0aGUgZmlsZXN5c3RlbQ0KPj4+Pj4gaXMgZ29pbmcgdG8g
bGVhZCB0byBzb21lIHVuZXhwZWN0ZWQgYmVoYXZpb3VyIG9uIGJvb3QuDQo+Pj4+PiANCj4+Pj4+
IE5vIGZ1bmN0aW9uYWwgY2hhbmdlLg0KPj4+Pj4gDQo+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBBbmRy
ZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0KPj4+Pj4gLS0tDQo+Pj4+PiB2
MjoNCj4+Pj4+ICogTmV3Lg0KPj4+Pj4gDQo+Pj4+PiBJJ20gYWZyYWlkIHRoYXQgYWxsIG9mIHRo
aXMgcmVhc29uaW5nIGlzIGJhc2VkIG9uIHJlYWRpbmcgdGhlIHNvdXJjZSBjb2RlLiAgSQ0KPj4+
Pj4gZG9uJ3QgaGF2ZSBhbnkgd2F5IHRvIHRyeSB0aGlzIG91dCBpbiBhIHJlYWwgQVJNIFVFRkkg
ZW52aXJvbm1lbnQuDQo+Pj4+IEkgd2lsbCB0ZXN0IHRoaXMgb25lIHRvbW9ycm93IG9uIGFuIGFy
bSBib2FyZA0KPj4gSSBjb25maXJtIHRoYXQgYm9vdGluZyB0aG91Z2ggVUVGSSBvbiBhbiBhcm0g
Ym9hcmQgd29ya3MNCj4+IA0KPj4gUmV2aWV3ZWQtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFu
Y2VsbHVAYXJtLmNvbT4NCj4+IFRlc3RlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5mYW5jZWxs
dUBhcm0uY29tPg0KPiANCj4gVGhhbmtzLCBhbmQgeW91IGNvbmZpcm1lZCB0aGF0IHRoZSBmaXJz
dCBjbWRsaW5lIHBhcmFtZXRlciBpcyBzdGlsbCB1c2FibGU/DQoNClRvZGF5IEkgdHJpZWQgdGhp
cyBzZXJpZXMgb24gYW4gTjFTRFAgYm9hcmQgdXNpbmcgVUVGSSBib290LiBJIGhhZCBhIGRldmlj
ZSB0cmVlIHdpdGgNCnhlbix4ZW4tYm9vdGFyZ3MgPSAiY29uc29sZT1kdHVhcnQgZHR1YXJ0PXNl
cmlhbDA6MTE1MjAwbjggbm9yZWJvb3QgZG9tMF9tZW09MTAyNE0gICBib290c2NydWI9MCBpb21t
dT1ubyI7DQoNClhlbiBjYW4gYmUgc3VjY2Vzc2Z1bGx5IGJvb3Qgb24gdGhlIGJvYXJkIHdpdGgg
dGhlIHNlcmllcyBhcHBsaWVkLCBhbmQgSSBnb3QNCmBgYA0KKFhFTikgQ29tbWFuZCBsaW5lOiBj
b25zb2xlPWR0dWFydCBkdHVhcnQ9c2VyaWFsMDoxMTUyMDBuOCBub3JlYm9vdCBkb20wX21lbT0x
MDI0TSBib290c2NydWI9MCBpb21tdT1ubw0KW+KApl0NCmBgYA0KDQpBbHNvIEkgY2FuIGludGVy
YWN0IHdpdGggdGhlIGJvYXJkOg0KYGBgDQpuMXNkcCBsb2dpbjogcm9vdA0Kcm9vdEBuMXNkcDp+
IyBeQw0Kcm9vdEBuMXNkcDp+IyBeQw0Kcm9vdEBuMXNkcDp+IyBeQw0KYGBgDQoNClNvIEkgdGhp
bmsgdGhlIGZpcnN0IGNtZGxpbmUgcGFyYW1ldGVyIGlzIHN0aWxsIHVzYWJsZS4gSSB3aWxsIHdh
aXQgZm9yIEx1Y2EgdG8gY29uZmlybSBvbiBoaXMNCnNpZGUgYXMgSSBiZWxpZXZlIGhlIHVzZWQg
YSBkaWZmZXJlbnQgYm9hcmQgaW4gaGlzIHRlc3QuDQoNClRlc3RlZC1ieTogSGVucnkgV2FuZyA8
SGVucnkuV2FuZ0Bhcm0uY29tPg0KDQpLaW5kIHJlZ2FyZHMsDQpIZW5yeQ0KDQo+IA0KPiB+QW5k
cmV3DQoNCg==


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 04:28:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 04:28:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639349.996605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r61KA-00060n-NI; Thu, 23 Nov 2023 04:28:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639349.996605; Thu, 23 Nov 2023 04: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 1r61KA-00060g-Ju; Thu, 23 Nov 2023 04:28:22 +0000
Received: by outflank-mailman (input) for mailman id 639349;
 Thu, 23 Nov 2023 04: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=m29y=HE=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r61K8-00060a-M4
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 04:28:20 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20618.outbound.protection.outlook.com
 [2a01:111:f400:fe12::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba65d489-89b8-11ee-98e1-6d05b1d4d9a1;
 Thu, 23 Nov 2023 05:28:19 +0100 (CET)
Received: from AM5PR0301CA0001.eurprd03.prod.outlook.com
 (2603:10a6:206:14::14) by AM7PR08MB5302.eurprd08.prod.outlook.com
 (2603:10a6:20b:103::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 04:28:15 +0000
Received: from AM2PEPF0001C70F.eurprd05.prod.outlook.com
 (2603:10a6:206:14:cafe::30) by AM5PR0301CA0001.outlook.office365.com
 (2603:10a6:206:14::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend
 Transport; Thu, 23 Nov 2023 04:28:15 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM2PEPF0001C70F.mail.protection.outlook.com (10.167.16.203) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Thu, 23 Nov 2023 04:28:15 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Thu, 23 Nov 2023 04:28:15 +0000
Received: from f6519d6a7c9d.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 CD350051-2C0D-4CFB-B78E-FB743CF548DE.1; 
 Thu, 23 Nov 2023 04:28:04 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f6519d6a7c9d.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 23 Nov 2023 04:28:04 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by GV2PR08MB9398.eurprd08.prod.outlook.com (2603:10a6:150:df::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Thu, 23 Nov
 2023 04:27:50 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7002.027; Thu, 23 Nov 2023
 04:27: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: ba65d489-89b8-11ee-98e1-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=eZ4uuua9y1AM61UZnEeoYBRCTLs3l62j2rfPF2wUkKKhugSS4DCLBKmQ5KIydTj9IpMzg7z9wq1iaBbsbhamthkGzNbzahJFkrcFNWcoOrR/hrLacLjSOCMU+ydLMibe3pf6mR1u3GymupMzwAwA9ivc5ZNocXqNyzIaZmuYDvjLgKC+Omw2T78ylhcw5Vf466un7NhBAP9higdf3kK7KGXiP8VG3I6fPHWEXVechWmbO17wN/MwcK6zJg/v3WjwJEAYkitON/U6ZOYgruRxKtudzkJcEVWAo0XcV7ytDD0f2ESaLpCAyQz6iy8a6VxGALsdR7S2zKnE4wMVDMSoQw==
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=bwwSzmEFpTDjUkKsCDAyhfQUejIhYOg2eQ3O2CUWYwc=;
 b=HMR6L0NuowG8Iyjb6lGUIj+D5uSNB8xZIT2Xympwk1i0TeTGXz0PIZ9mShJqD6LdVjzfVeXNg1nCTjU/umhOvCRNamxUEWEShO/QpevTi1Egr3vbdxZVgg2dYHEsVpFGYlJaDHzeNXFyO6jaoW7vOZb7qQ78moqJHoAMTyJVwFRZwiJ0nTdG4fip5oQppn9b/LH/2i8oNtOUwZCMC4Vp4NP5HXwdceNxlAf7SgkWzLIAlm5kIlNoGsC91wLtN4T5wVx1WTWlwrPuqSikJ2QCrnOBZ6iiUrwoTVXM0FBiQWA3tywBWFiseJrG/ky5Y3MNPCfaZqJYLsV/ahiHOXwd5A==
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=bwwSzmEFpTDjUkKsCDAyhfQUejIhYOg2eQ3O2CUWYwc=;
 b=V6+AsrJfEwc2oeGMJ1+iyTTpAFXoUbt81VwMNPIRu22Ss7ylKnJrC4h74yoTCeoiw1/Vpj1pG4Nm7kOhUPb2yYurawe5yxAhRyr3MO6zKvPz44w9E3Em8mFYDCuBPY4Epp80adyGZ1/M78EdZ3Ub+1D7vF+ppEdVCxVVR1ASlsk=
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: fe26817394fb713b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E8CfH0bKQSuFIlOslWF+PlKqeputtVi0WvLqWvUwpDy/4g3NWH8WSkXOUzQW2H4s8WMNSgMQUXcPYM4DhP/6tHB/XixgV+jgvqIWyETJr5z0NrDt5PqCZapiUDKJiQQZk/dTWXZ5w4DEOLeYBD5fGTyVBa1jDRzWME28ltGlA/ExbxT9bdVJwM42HpoZ+dth4i8hnLyRzBp+Zee/CRq6DIIT/io5+YTi7QJGYhZeugGaU3/jQnm8eARipYf8+3Ax/dLz9kokxrJw7W2eCqr9hAFu1fiZ6oMJCPZYrJqn5QukT2WrQLtCscRHN1ud/yXTFi8gJhzqG4Ne5h2qvo36pg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bwwSzmEFpTDjUkKsCDAyhfQUejIhYOg2eQ3O2CUWYwc=;
 b=NHd9r0doYnl3uPdvR270Evy9MflbrO96bVIhWXOLbR1wprvydetfHLGLaVFLzBGNAgQrsCndYaIFlxurMHeuVCZjZohYJ1YzLf2KRD2KUetoV8+6Y4Q1T1euSrmTNsY4keJPUDhPj2HywP66hlKHBQoVy348hxg1kPUm0SwG+vbxBGR0xAsVnWEGgpYnjXi2EtyzkuwDXlmCBzgmdIBnnV0yKvD64P3yR3uYInQX7tGxxp76uy5nupLO3DW27irIg+r7l9woQDfe/TCpPZLUS3zmo/sXN4n91vjnElvg0dm+h5JUtaYNjc5VQXQ+Ej9dBnwZR0jNL7rY1mN2wiUXmg==
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=bwwSzmEFpTDjUkKsCDAyhfQUejIhYOg2eQ3O2CUWYwc=;
 b=V6+AsrJfEwc2oeGMJ1+iyTTpAFXoUbt81VwMNPIRu22Ss7ylKnJrC4h74yoTCeoiw1/Vpj1pG4Nm7kOhUPb2yYurawe5yxAhRyr3MO6zKvPz44w9E3Em8mFYDCuBPY4Epp80adyGZ1/M78EdZ3Ub+1D7vF+ppEdVCxVVR1ASlsk=
From: Henry Wang <Henry.Wang@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, Luca Fancellu
	<Luca.Fancellu@arm.com>, Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
	Nicola Vetrini <nicola.vetrini@bugseng.com>
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Topic: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Index:
 AQHaHLke0d1pJZFGt0mE36h4hBLGpbCFOo4AgAACQQCAAUC2AIAAJVIAgACsX4CAAAIggA==
Date: Thu, 23 Nov 2023 04:27:50 +0000
Message-ID: <E942B34B-905A-4342-AB67-F32CAFBC5356@arm.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
 <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
 <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
 <3222AE09-B511-490E-8298-8808261DEFAE@arm.com>
 <0eb64ed9-a56c-491e-b9b8-a03e90c4c2f1@citrix.com>
 <53C90A23-2C35-48F9-8F8D-42BE6DC39FA9@arm.com>
In-Reply-To: <53C90A23-2C35-48F9-8F8D-42BE6DC39FA9@arm.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|GV2PR08MB9398:EE_|AM2PEPF0001C70F:EE_|AM7PR08MB5302:EE_
X-MS-Office365-Filtering-Correlation-Id: ebf57a05-e7bd-46a0-0a90-08dbebdc9c7c
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:
 lfzO3EEv0D/a2jcq5Nxv+Fqo6q/al56SZ9efT5A4eYEtB/rneVirqGQMShDKiSrUrZQRCcEdGnQs7Jq3nQNDuoNSqQZA37z9QnQb5w8DHH6bobqE5NA7G61H2twQjmofNC0SOs6PjQ3w7LWPEtd2YrUqs8T+J4Cg/R5cMOKiTGduJMTuTtxr5lBVZIShQ2UjikFFKxmiBGWDyDkytHniI033HszWxsEznOrl8ek9xmR2EszBFpLT5FeYeYNAqHh5HlY1/1x9xM5PJxTxAL11+xjHUGlBujmt/um4v5gH/qzl+0BtCfbv4kY8fZk0vJnXoww/oKhGoIRq6v18DhKgwge1SjxORbWZmMGQTm8MgvXZoD/VJiuvNRNJANxOQnnwzqqlbp4+3hM9KWPgJ9M7+KvowDiclnlLMNfGpNnaVuwboxeSgmfaN094aKCbrsZ2P+f57YByQP8A9lxthun9vQ4G3zn3110bQTNv96eVetB2zz4TTrfc66dpVRlv9tzym3G8ZqZEzD2fk/h1LfKzFUhJkupIcSFqGcezupSXsmq11FRX1xpez4Vskeq/+EL1GKquPZ5DY8tLrWwRG19X6YZlec0bftAl3r/tPMeCtGYEQ+8EmpjS15fvu0BNZ5zXJbWyNkcX/qgxdwI9rqvZLtsP+vV/BlPdg/Lou3yd+cShlg+r0tI24Gsj5TiuEACMalM4NN1nbjaRzuC7GK8Uaw==
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:(13230031)(136003)(346002)(396003)(376002)(39860400002)(366004)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(38070700009)(76116006)(66476007)(66446008)(66556008)(64756008)(54906003)(91956017)(110136005)(66946007)(38100700002)(122000001)(36756003)(33656002)(86362001)(83380400001)(2616005)(6512007)(6506007)(53546011)(6486002)(2906002)(7416002)(26005)(316002)(41300700001)(8936002)(71200400001)(5660300002)(8676002)(4326008)(478600001)(45980500001)(473944003)(414714003);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <F2E145EF18BB464A904539C25C9150F2@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9398
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:
 AM2PEPF0001C70F.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b301149f-826f-4865-36f9-08dbebdc8db2
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nuzb5c9lixnOBsxXLyua9RarxeraUcCcrySq7Ep0pW7ZfSlmp01Vonq7bMYnAqmShdXfMRCIpx22BmXXXWPinsPtlBrLDclO/M0YfYdVWNwdzY5K/tVIDvhpbQeeiaz7KLLkHBde9yKwlrmALVxAslZBS2wrUkn41qgrl3gISdo35yRwUUxjxtffX/kTGMEVLs7OiWZVUBANALx8NqFjSK/sW2IS0Zud4p1TrGx02ZmakBS1xh6K3LpeWz6PSEKWvXSm+dA8EYvFtnr7lsVX6WI0WJWWjdbSdoKgE+uVi4cewuP7e7QjwQNPI5o0Q6Hyv7tkt+W55GZhL/qeOtD/WCFL9e/H1XoDlLbFecPz3ETfhPlYDuxaXluU9tRcPepe2wrHEhrbfMiKjIhw4COZqMOVYX7AUwvMXR7Uj9H5jBlUKuu/hEG+rwKuWU/296js5BjfNsobZAz+c37GwnyZu2tqEgrkOn18cBITqjdFhx4TA18Rrw1tWXsuA4rE1eIkbkilwPTOwpnCjODqQn47/HhxIQHiCTvj7JMco3ySvuHrxDIgQdEcke1w24AntUHxS64IhM6xJvPK8M+9hPiWRTRDOS1dfpl8U8jts5H8EHzur4icq0DRq1wzOuhga2UENaMG1KdZgHfYj/rixzPo21vdfH/E3GMeCSD7K35oLVH6Vv6nITF7ESDE15r6spwKc1+yYtgv3GuwN5JxGjOlP85HNRTzf01FQJxqZHg5zL3VmDljCOa24hj0F1hF/DRFVSBSrUemINcYRX9J51vVTQ==
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:(13230031)(4636009)(136003)(39850400004)(396003)(376002)(346002)(230922051799003)(82310400011)(186009)(64100799003)(451199024)(1800799012)(36840700001)(46966006)(336012)(83380400001)(82740400003)(86362001)(36756003)(33656002)(356005)(81166007)(47076005)(36860700001)(316002)(70586007)(70206006)(54906003)(41300700001)(8936002)(8676002)(4326008)(110136005)(5660300002)(2906002)(53546011)(6512007)(26005)(2616005)(40480700001)(107886003)(6486002)(478600001)(6506007)(473944003)(414714003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 04:28:15.2983
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: ebf57a05-e7bd-46a0-0a90-08dbebdc9c7c
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:
	AM2PEPF0001C70F.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5302

SGksDQoNCj4gT24gTm92IDIzLCAyMDIzLCBhdCAxMjoyMCwgSGVucnkgV2FuZyA8SGVucnkuV2Fu
Z0Bhcm0uY29tPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4+IE9uIE5vdiAyMywgMjAyMywgYXQg
MDI6MDMsIEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+IHdyb3RlOg0K
Pj4gDQo+PiBPbiAyMi8xMS8yMDIzIDM6NDkgcG0sIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4g
DQo+Pj4+IE9uIDIxIE5vdiAyMDIzLCBhdCAyMDo0MSwgQW5kcmV3IENvb3BlciA8YW5kcmV3LmNv
b3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6DQo+Pj4+IA0KPj4+PiBPbiAyMS8xMS8yMDIzIDg6MzMg
cG0sIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+PiArIENDIGhlbnJ5DQo+Pj4+PiANCj4+Pj4+
PiBPbiAyMSBOb3YgMjAyMywgYXQgMjA6MTUsIEFuZHJldyBDb29wZXIgPGFuZHJldy5jb29wZXIz
QGNpdHJpeC5jb20+IHdyb3RlOg0KPj4+Pj4+IA0KPj4+Pj4+IC1Xd3JpdGUtc3RyaW5ncyBpcyB1
bmhhcHB5IHdpdGggYXNzaWduaW5nICJ4ZW4iIHRvIGEgbXV0YWJsZSBwb2ludGVyLCBidXQgdGhp
cw0KPj4+Pj4+IGxvZ2ljIGxvb2tzIGluY29ycmVjdC4gIEl0IHdhcyBpbmhlcml0ZWQgZnJvbSB0
aGUgeDg2IHNpZGUsIHdoZXJlIHRoZSBsb2dpYw0KPj4+Pj4+IHdhcyByZWR1bmRhbnQgYW5kIGhh
cyBub3cgYmVlbiByZW1vdmVkLg0KPj4+Pj4+IA0KPj4+Pj4+IEluIHRoZSBBUk0gY2FzZSBpdCBp
bnNlcnRzIHRoZSBpbWFnZSBuYW1lIGludG8gInhlbix4ZW4tYm9vdGFyZ3MiIGFuZCB0aGVyZSBp
cw0KPj4+Pj4+IG5vIGxvZ2ljIGF0IGFsbCB0byBzdHJpcCB0aGlzIGJlZm9yZSBwYXJzaW5nIGl0
IGFzIHRoZSBjb21tYW5kIGxpbmUuDQo+Pj4+Pj4gDQo+Pj4+Pj4gVGhlIGFic2VuY2Ugb2YgYW55
IGxvZ2ljIHRvIHN0cmlwIGFuIGltYWdlIG5hbWUgc3VnZ2VzdHMgdGhhdCBpdCBzaG91bGRuJ3QN
Cj4+Pj4+PiBleGlzdCB0aGVyZSwgb3IgaGF2aW5nIGEgWGVuIGltYWdlIG5hbWVkIGUuZy4gImht
cC11bnNhZmUiIGluIHRoZSBmaWxlc3lzdGVtDQo+Pj4+Pj4gaXMgZ29pbmcgdG8gbGVhZCB0byBz
b21lIHVuZXhwZWN0ZWQgYmVoYXZpb3VyIG9uIGJvb3QuDQo+Pj4+Pj4gDQo+Pj4+Pj4gTm8gZnVu
Y3Rpb25hbCBjaGFuZ2UuDQo+Pj4+Pj4gDQo+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogQW5kcmV3IENv
b3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4NCj4+Pj4+PiAtLS0NCj4+Pj4+PiB2MjoN
Cj4+Pj4+PiAqIE5ldy4NCj4+Pj4+PiANCj4+Pj4+PiBJJ20gYWZyYWlkIHRoYXQgYWxsIG9mIHRo
aXMgcmVhc29uaW5nIGlzIGJhc2VkIG9uIHJlYWRpbmcgdGhlIHNvdXJjZSBjb2RlLiAgSQ0KPj4+
Pj4+IGRvbid0IGhhdmUgYW55IHdheSB0byB0cnkgdGhpcyBvdXQgaW4gYSByZWFsIEFSTSBVRUZJ
IGVudmlyb25tZW50Lg0KPj4+Pj4gSSB3aWxsIHRlc3QgdGhpcyBvbmUgdG9tb3Jyb3cgb24gYW4g
YXJtIGJvYXJkDQo+Pj4gSSBjb25maXJtIHRoYXQgYm9vdGluZyB0aG91Z2ggVUVGSSBvbiBhbiBh
cm0gYm9hcmQgd29ya3MNCj4+PiANCj4+PiBSZXZpZXdlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVj
YS5mYW5jZWxsdUBhcm0uY29tPg0KPj4+IFRlc3RlZC1ieTogTHVjYSBGYW5jZWxsdSA8bHVjYS5m
YW5jZWxsdUBhcm0uY29tPg0KPj4gDQo+PiBUaGFua3MsIGFuZCB5b3UgY29uZmlybWVkIHRoYXQg
dGhlIGZpcnN0IGNtZGxpbmUgcGFyYW1ldGVyIGlzIHN0aWxsIHVzYWJsZT8NCj4gDQo+IFRvZGF5
IEkgdHJpZWQgdGhpcyBzZXJpZXMgb24gYW4gTjFTRFAgYm9hcmQgdXNpbmcgVUVGSSBib290LiBJ
IGhhZCBhIGRldmljZSB0cmVlIHdpdGgNCj4geGVuLHhlbi1ib290YXJncyA9ICJjb25zb2xlPWR0
dWFydCBkdHVhcnQ9c2VyaWFsMDoxMTUyMDBuOCBub3JlYm9vdCBkb20wX21lbT0xMDI0TSAgIGJv
b3RzY3J1Yj0wIGlvbW11PW5vIjsNCj4gDQo+IFhlbiBjYW4gYmUgc3VjY2Vzc2Z1bGx5IGJvb3Qg
b24gdGhlIGJvYXJkIHdpdGggdGhlIHNlcmllcyBhcHBsaWVkLCBhbmQgSSBnb3QNCj4gYGBgDQo+
IChYRU4pIENvbW1hbmQgbGluZTogY29uc29sZT1kdHVhcnQgZHR1YXJ0PXNlcmlhbDA6MTE1MjAw
bjggbm9yZWJvb3QgZG9tMF9tZW09MTAyNE0gYm9vdHNjcnViPTAgaW9tbXU9bm8NCj4gW+KApl0N
Cj4gYGBgDQo+IA0KPiBBbHNvIEkgY2FuIGludGVyYWN0IHdpdGggdGhlIGJvYXJkOg0KPiBgYGAN
Cj4gbjFzZHAgbG9naW46IHJvb3QNCj4gcm9vdEBuMXNkcDp+IyBeQw0KPiByb290QG4xc2RwOn4j
IF5DDQo+IHJvb3RAbjFzZHA6fiMgXkMNCj4gYGBgDQo+IA0KPiBTbyBJIHRoaW5rIHRoZSBmaXJz
dCBjbWRsaW5lIHBhcmFtZXRlciBpcyBzdGlsbCB1c2FibGUuIEkgd2lsbCB3YWl0IGZvciBMdWNh
IHRvIGNvbmZpcm0gb24gaGlzDQo+IHNpZGUgYXMgSSBiZWxpZXZlIGhlIHVzZWQgYSBkaWZmZXJl
bnQgYm9hcmQgaW4gaGlzIHRlc3QuDQoNCkFsc28gSSB0cmllZCB0byBzd2l0Y2ggdGhlIG9yZGVy
IG9mIHRoZSBjbWRsaW5lIHBhcmFtZXRlciBpbiB0aGUgZGV2aWNlIHRyZWUsIGZvciBleGFtcGxl
IHVzZToNCnhlbix4ZW4tYm9vdGFyZ3MgPSDigJxkb20wX21lbT01MTJNIGNvbnNvbGU9ZHR1YXJ0
IGR0dWFydD1zZXJpYWwwOjExNTIwMG44IG5vcmVib290ICBib290c2NydWI9MCBpb21tdT1ub+KA
nTsNCg0KVGhpcyB0aW1lIEkgaGFkOg0KYGBgDQpbLi4uXQ0KKFhFTikgQ29tbWFuZCBsaW5lOiBk
b20wX21lbT01MTJNIGNvbnNvbGU9ZHR1YXJ0IGR0dWFydD1zZXJpYWwwOjExNTIwMG44IG5vcmVi
b290ICBib290c2NydWI9MCBpb21tdT1ubw0KW+KApl0NCihYRU4pIEFsbG9jYXRpbmcgMToxIG1h
cHBpbmdzIHRvdGFsbGluZyA1MTJNQiBmb3IgZG9tMDoNClvigKZdDQpgYGANCg0KU28gSSB0aGlu
ayB3ZSBhcmUgZmluZS4NCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gVGVzdGVkLWJ5
OiBIZW5yeSBXYW5nIDxIZW5yeS5XYW5nQGFybS5jb20+DQo+IA0KPiBLaW5kIHJlZ2FyZHMsDQo+
IEhlbnJ5DQo+IA0KPj4gDQo+PiB+QW5kcmV3DQo+IA0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 05:57:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 05:57:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639353.996614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r62iN-0004Xd-Tz; Thu, 23 Nov 2023 05:57:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639353.996614; Thu, 23 Nov 2023 05: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 1r62iN-0004XW-RG; Thu, 23 Nov 2023 05:57:27 +0000
Received: by outflank-mailman (input) for mailman id 639353;
 Thu, 23 Nov 2023 05: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=OBIp=HE=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r62iM-0004XQ-4v
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 05:57:26 +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 2bb3aca7-89c5-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 06:57:23 +0100 (CET)
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 349272198E;
 Thu, 23 Nov 2023 05:57: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 DA487132B3;
 Thu, 23 Nov 2023 05:57:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([192.168.254.65])
 by imap2.suse-dmz.suse.de with ESMTPSA id SZfKM8HpXmWOSgAAMHmgww
 (envelope-from <jgross@suse.com>); Thu, 23 Nov 2023 05:57: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: 2bb3aca7-89c5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700719042; 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:autocrypt:autocrypt;
	bh=taW9v6tXmgV7+CsBDfFOLOJfeGdsbGCBTkfYexiG968=;
	b=plD8ycbv5k1kzH729MJLCLACrXhQ9mR2Ul8gS+RvmH1MfeilhCNy7TzMnsD52tldmDW1Wm
	A0FBbGNsqdPKwQ7PVmW174SMgXLuEuXeY4/tZPzN8c4aOVkBpPCAyYKaP0jXhoHNo/h3pD
	3R0i09/8hNimOpyn0LPqnQoTS7T55PA=
Message-ID: <fade29d2-2383-4f99-9735-6edebc66cd87@suse.com>
Date: Thu, 23 Nov 2023 06:57:21 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [linux-linus test] 183794: regressions - FAIL
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, oleksandr_tyshchenko@epam.com
References: <osstest-183794-mainreport@xen.org>
 <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com>
 <alpine.DEB.2.22.394.2311201631140.773207@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311211823110.2053963@ubuntu-linux-20-04-desktop>
 <ff31f5a6-396e-48cc-8b1b-6941369c620b@suse.com>
 <alpine.DEB.2.22.394.2311221501340.2053963@ubuntu-linux-20-04-desktop>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <alpine.DEB.2.22.394.2311221501340.2053963@ubuntu-linux-20-04-desktop>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------QAlukW0nmNK2q1e5RZad7YEx"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -6.19
X-Spamd-Result: default: False [-6.19 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[7];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_COUNT_TWO(0.00)[2];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------QAlukW0nmNK2q1e5RZad7YEx
Content-Type: multipart/mixed; boundary="------------5wLnuhSTjhOmZnUviGeo1piC";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, oleksandr_tyshchenko@epam.com
Message-ID: <fade29d2-2383-4f99-9735-6edebc66cd87@suse.com>
Subject: Re: [linux-linus test] 183794: regressions - FAIL
References: <osstest-183794-mainreport@xen.org>
 <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com>
 <alpine.DEB.2.22.394.2311201631140.773207@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311211823110.2053963@ubuntu-linux-20-04-desktop>
 <ff31f5a6-396e-48cc-8b1b-6941369c620b@suse.com>
 <alpine.DEB.2.22.394.2311221501340.2053963@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2311221501340.2053963@ubuntu-linux-20-04-desktop>

--------------5wLnuhSTjhOmZnUviGeo1piC
Content-Type: multipart/mixed; boundary="------------kYlSgRghCseImdwhpCjyaqdd"

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

T24gMjMuMTEuMjMgMDA6MDcsIFN0ZWZhbm8gU3RhYmVsbGluaSB3cm90ZToNCj4gT24gV2Vk
LCAyMiBOb3YgMjAyMywgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IE9uIDIyLjExLjIzIDA0
OjA3LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+Pj4gT24gTW9uLCAyMCBOb3YgMjAy
MywgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4+PiBPbiBNb24sIDIwIE5vdiAyMDIz
LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4+Pj4gT24gMjAuMTEuMjMgMDM6MjEsIG9zc3Rl
c3Qgc2VydmljZSBvd25lciB3cm90ZToNCj4+Pj4+PiBmbGlnaHQgMTgzNzk0IGxpbnV4LWxp
bnVzIHJlYWwgW3JlYWxdDQo+Pj4+Pj4gaHR0cDovL2xvZ3MudGVzdC1sYWIueGVucHJvamVj
dC5vcmcvb3NzdGVzdC9sb2dzLzE4Mzc5NC8NCj4+Pj4+Pg0KPj4+Pj4+IFJlZ3Jlc3Npb25z
IDotKA0KPj4+Pj4+DQo+Pj4+Pj4gVGVzdHMgd2hpY2ggZGlkIG5vdCBzdWNjZWVkIGFuZCBh
cmUgYmxvY2tpbmcsDQo+Pj4+Pj4gaW5jbHVkaW5nIHRlc3RzIHdoaWNoIGNvdWxkIG5vdCBi
ZSBydW46DQo+Pj4+Pj4gICAgIHRlc3QtYXJtNjQtYXJtNjQtZXhhbWluZSAgICAgIDggcmVi
b290ICAgICAgICAgICAgICAgICAgIGZhaWwgUkVHUi4NCj4+Pj4+PiB2cy4NCj4+Pj4+PiAx
ODM3NjYNCj4+Pj4+DQo+Pj4+PiBJJ20gc2VlaW5nIHRoZSBmb2xsb3dpbmcgaW4gdGhlIHNl
cmlhbCBsb2c6DQo+Pj4+Pg0KPj4+Pj4gTm92IDIwIDAwOjI1OjQxLjU4NjcxMiBbICAgIDAu
NTY3MzE4XSBrZXJuZWwgQlVHIGF0DQo+Pj4+PiBhcmNoL2FybTY0L3hlbi8uLi8uLi9hcm0v
eGVuL2VubGlnaHRlbi5jOjE2NCENCj4+Pj4+IE5vdiAyMCAwMDoyNTo0MS41OTg3MTEgWyAg
ICAwLjU3NDAwMl0gSW50ZXJuYWwgZXJyb3I6IE9vcHMgLSBCVUc6DQo+Pj4+PiAwMDAwMDAw
MGYyMDAwODAwIFsjMV0gUFJFRU1QVCBTTVANCj4+Pj4+DQo+Pj4+PiBUaGUgcmVsYXRlZCBz
b3VyY2UgY29kZSBsaW5lcyBpbiB0aGUga2VybmVsIGFyZToNCj4+Pj4+DQo+Pj4+PiDCt8K3
wrfCt8K3wrfCt8K3ZXJyID0gSFlQRVJWSVNPUl92Y3B1X29wKFZDUFVPUF9yZWdpc3Rlcl92
Y3B1X2luZm8sDQo+Pj4+PiB4ZW5fdmNwdV9ucihjcHUpLA0KPj4+Pj4gwrfCt8K3wrfCt8K3
wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCt8K3wrfCtyAm
aW5mbyk7DQo+Pj4+PiDCt8K3wrfCt8K3wrfCt8K3QlVHX09OKGVycik7DQo+Pj4+Pg0KPj4+
Pj4gSSBzdXNwZWN0IGNvbW1pdCAyMGYzYjhlYWZlMGJhIHRvIGJlIHRoZSBjdWxwcml0Lg0K
Pj4+Pj4NCj4+Pj4+IFN0ZWZhbm8sIGNvdWxkIHlvdSBwbGVhc2UgaGF2ZSBhIGxvb2s/DQo+
Pj4NCj4+PiBUaGUgZ29vZCBuZXdzIGFuZCBiYWQgbmV3cyBpcyB0aGF0IEkgY2Fubm90IHJl
cHJvIHRoaXMgbmVpdGhlciB3aXRoIG5vcg0KPj4+IHdpdGhvdXQgQ09ORklHX1VOTUFQX0tF
Uk5FTF9BVF9FTDAuIEkgbG9va2VkIGF0IGNvbW1pdCAyMGYzYjhlYWZlMGJhIGJ1dA0KPj4+
IEkgY2Fubm90IHNlZSBhbnl0aGluZyB3cm9uZyB3aXRoIGl0LiBMb29raW5nIGF0IHRoZSBy
ZWdpc3RlciBkdW1wLCBmcm9tOg0KPj4+DQo+Pj4geDAgOiBmZmZmZmZmZmZmZmZmZmZhDQo+
Pj4NCj4+PiBJIGFtIGd1ZXNzaW5nIHRoZSBlcnJvciB3YXMgLUVOWElPIHdoaWNoIGlzIHJl
dHVybmVkIGZyb20gbWFwX2d1ZXN0X2FyZWENCj4+PiBpbiBYZW4uDQo+Pj4NCj4+PiBDb3Vs
ZCBpdCBiZSB0aGF0IHRoZSBzdHJ1Y3QgaXMgY3Jvc3NpbmcgYSBwYWdlIGJvdW5kYXJ5PyBP
ciB0aGF0IGl0IGlzDQo+Pj4gbm90IDY0LWJpdCBhbGlnbmVkPyBEbyB3ZSBuZWVkIHRvIGRv
IHNvbWV0aGluZyBsaWtlIHRoZSBmb2xsb3dpbmc/DQo+Pj4NCj4+PiBkaWZmIC0tZ2l0IGEv
YXJjaC9hcm0veGVuL2VubGlnaHRlbi5jIGIvYXJjaC9hcm0veGVuL2VubGlnaHRlbi5jDQo+
Pj4gaW5kZXggOWFmZGM0YzRhNWRjLi41MzI2MDcwYzVkYzAgMTAwNjQ0DQo+Pj4gLS0tIGEv
YXJjaC9hcm0veGVuL2VubGlnaHRlbi5jDQo+Pj4gKysrIGIvYXJjaC9hcm0veGVuL2VubGln
aHRlbi5jDQo+Pj4gQEAgLTQ4NCw3ICs0ODUsNyBAQCBzdGF0aWMgaW50IF9faW5pdCB4ZW5f
Z3Vlc3RfaW5pdCh2b2lkKQ0KPj4+ICAgIAkgKiBmb3Igc2Vjb25kYXJ5IENQVXMgYXMgdGhl
eSBhcmUgYnJvdWdodCB1cC4NCj4+PiAgICAJICogRm9yIHVuaWZvcm1pdHkgd2UgdXNlIFZD
UFVPUF9yZWdpc3Rlcl92Y3B1X2luZm8gZXZlbiBvbiBjcHUwLg0KPj4+ICAgIAkgKi8NCj4+
PiAtCXhlbl92Y3B1X2luZm8gPSBhbGxvY19wZXJjcHUoc3RydWN0IHZjcHVfaW5mbyk7DQo+
Pj4gKwl4ZW5fdmNwdV9pbmZvID0gX19hbGxvY19wZXJjcHUoc3RydWN0IHZjcHVfaW5mbywg
UEFHRV9TSVpFKTsNCj4+PiAgICAJaWYgKHhlbl92Y3B1X2luZm8gPT0gTlVMTCkNCj4+PiAg
ICAJCXJldHVybiAtRU5PTUVNOw0KPj4+ICAgIA0KPj4NCj4+IE1heSBJIHN1Z2dlc3QgdG8g
dXNlIGEgc21hbGxlciBhbGlnbm1lbnQ/IFdoYXQgYWJvdXQ6DQo+Pg0KPj4gMSA8PCBmbHMo
c2l6ZW9mKHN0cnVjdCB2Y3B1X2luZm8pIC0gMSkNCj4gDQo+IFNlZSBiZWxvdw0KPiANCj4g
LS0tDQo+IFtQQVRDSF0gYXJtL3hlbjogZml4IHhlbl92Y3B1X2luZm8gYWxsb2NhdGlvbiBh
bGlnbm1lbnQNCj4gDQo+IHhlbl92Y3B1X2luZm8gaXMgYSBwZXJjcHUgYXJlYSB0aGFuIG5l
ZWRzIHRvIGJlIG1hcHBlZCBieSBYZW4uDQo+IEN1cnJlbnRseSwgaXQgY291bGQgY3Jvc3Mg
YSBwYWdlIGJvdW5kYXJ5IHJlc3VsdGluZyBpbiBYZW4gYmVpbmcgdW5hYmxlDQo+IHRvIG1h
cCBpdDoNCj4gDQo+IFsgICAgMC41NjczMThdIGtlcm5lbCBCVUcgYXQgYXJjaC9hcm02NC94
ZW4vLi4vLi4vYXJtL3hlbi9lbmxpZ2h0ZW4uYzoxNjQhDQo+IFsgICAgMC41NzQwMDJdIElu
dGVybmFsIGVycm9yOiBPb3BzIC0gQlVHOiAwMDAwMDAwMGYyMDAwODAwIFsjMV0gUFJFRU1Q
VCBTTVANCj4gDQo+IEZpeCB0aGUgaXNzdWUgYnkgdXNpbmcgX19hbGxvY19wZXJjcHUgYW5k
IHJlcXVlc3RpbmcgYWxpZ25tZW50IGZvciB0aGUNCj4gbWVtb3J5IGFsbG9jYXRpb24uDQo+
IA0KPiBTaWduZWQtb2ZmLWJ5OiBTdGVmYW5vIFN0YWJlbGxpbmkgPHN0ZWZhbm8uc3RhYmVs
bGluaUBhbWQuY29tPg0KPiANCj4gZGlmZiAtLWdpdCBhL2FyY2gvYXJtL3hlbi9lbmxpZ2h0
ZW4uYyBiL2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYw0KPiBpbmRleCA5YWZkYzRjNGE1ZGMu
LjA5ZWI3NGEwN2RmYyAxMDA2NDQNCj4gLS0tIGEvYXJjaC9hcm0veGVuL2VubGlnaHRlbi5j
DQo+ICsrKyBiL2FyY2gvYXJtL3hlbi9lbmxpZ2h0ZW4uYw0KPiBAQCAtNDg0LDcgKzQ4NCw4
IEBAIHN0YXRpYyBpbnQgX19pbml0IHhlbl9ndWVzdF9pbml0KHZvaWQpDQo+ICAgCSAqIGZv
ciBzZWNvbmRhcnkgQ1BVcyBhcyB0aGV5IGFyZSBicm91Z2h0IHVwLg0KPiAgIAkgKiBGb3Ig
dW5pZm9ybWl0eSB3ZSB1c2UgVkNQVU9QX3JlZ2lzdGVyX3ZjcHVfaW5mbyBldmVuIG9uIGNw
dTAuDQo+ICAgCSAqLw0KPiAtCXhlbl92Y3B1X2luZm8gPSBhbGxvY19wZXJjcHUoc3RydWN0
IHZjcHVfaW5mbyk7DQo+ICsJeGVuX3ZjcHVfaW5mbyA9IF9fYWxsb2NfcGVyY3B1KHNpemVv
ZihzdHJ1Y3QgdmNwdV9pbmZvKSwNCj4gKwkJCSAgICAgICAgICAgICAgICAgICAgICAgMSA8
PCBmbHMoc2l6ZW9mKHN0cnVjdCB2Y3B1X2luZm8pIC0gMSkpOw0KDQpOaXQ6IG9uZSB0YWIg
bGVzcywgcGxlYXNlIChjYW4gYmUgZml4ZWQgd2hpbGUgY29tbWl0dGluZykuDQoNCj4gICAJ
aWYgKHhlbl92Y3B1X2luZm8gPT0gTlVMTCkNCj4gICAJCXJldHVybiAtRU5PTUVNOw0KPiAg
IA0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KDQoN
Ckp1ZXJnZW4NCg==
--------------kYlSgRghCseImdwhpCjyaqdd
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------kYlSgRghCseImdwhpCjyaqdd--

--------------5wLnuhSTjhOmZnUviGeo1piC--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVe6cEFAwAAAAAACgkQsN6d1ii/Ey+m
mwgAgqIwGB4/rMOl7iBiSwpyo1YscmXUrTAPYqGJS1XvCKDcSumW5zV8N0zvTVufTYaSeyKmT6uR
dFRfsQ1oibbf7S7cRjAke/42G7L3uTZVdjnjgZLUJ0P1cjj7c4+bzIvvyyo+Q4sKRKx6rjRJgnpn
BQgAoMhrwefNoFalkr0TsLBEXW9EGFdeo0aZqxX2NFPj4x73+Xf1B9RygNMWpkEVpsDEXhnhVS7C
VyYi56+Rq53Os8uL9vGrakdYOZkDegtm+Q4WyT1MIo+4nV4TwxVhFzScsAcXCqvhvM41RbFajFTd
tcZUJyMZLpeW8envNK1ygIzAv7pjfEXOBLgOHzKfCw==
=9cEj
-----END PGP SIGNATURE-----

--------------QAlukW0nmNK2q1e5RZad7YEx--


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:06:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:06:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639360.996631 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r63mV-0006rN-5M; Thu, 23 Nov 2023 07:05:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639360.996631; Thu, 23 Nov 2023 07: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 1r63mV-0006rG-23; Thu, 23 Nov 2023 07:05:47 +0000
Received: by outflank-mailman (input) for mailman id 639360;
 Thu, 23 Nov 2023 07:05: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r63mT-0006l9-MZ
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:05:45 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061c.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b82bbef1-89ce-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 08:05:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7600.eurprd04.prod.outlook.com (2603:10a6:102:f2::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.13; Thu, 23 Nov
 2023 07:05:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 07:05: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: b82bbef1-89ce-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YZYxG/JF6aOycck1rxuHpRmA4XhZVcBeq9TgFa1k+xmQy0KoIUNBXG/EfsD6kJpaKo1MgEe3JLHcYSIZwFRIjU9HixOMyJHaQ8KxtLWGR4osb7V50Qh47nEyXjRTYprw8eYzmWTosuzpVWaNRVBM5XhsAf0nHgRomaFXqmrzS3dThhDMZ+zBRaERC8/2rp1p9kJ/K4x5MIAFVBurBHCycua/vE0DCgUmSbuGrxo2bxJVq5tbmeU8PtooDw64s0Gkv6T4c3x5lKZO/l73huWPUI/FRBiLPT0l0AC2w6cMKtPmSgfXeRG2aahbAf1Tm2A6U6Iw9mUcQSfAwjBJD8kCUQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GT0iUfl/h/N6hydzBvIEoqzJgerkIUihKxNSrRI5mdo=;
 b=TyTOsjGWG+g4OPwcXd9+ZW+saVjfI+KboxSpoB0UODuumyzCGRhqz511yifCFedjy666No++803XOx0B6J/NQeDc2d5N0NRc+LbJX50t2ICgBF2TwT7FkOL9t8BWn/Z4IZ6khkgPpa4zaJgs7rCmY6DAbkprfZ5ChXxicDhwIOYtDOPu5K9tNLwLGmL/rmgWSaNU+SRSdEOVSPmkBe3mNRaZRb5VhxsH1N4hw/hGQq3Tma19D6c/7xyWeM56fNWVCekM/DOuXU3Ao11BP8qbR00pSZN+kjqogIjG2bEPvDLwOmo8mM+COjnG6TUF8kggI0pE/AUv0KPNxlxKZFshLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GT0iUfl/h/N6hydzBvIEoqzJgerkIUihKxNSrRI5mdo=;
 b=rpyc5p2ic3DBp+n4U6uuOs9ZpMT9bDAJFWVXPF2mF5Wv3hAx778AJa0YcfEgloisavF0VYVAZUgh6kMjy9NSGSvqVW8kNe/34/ew4ZGqVBIBQarUp1g16pxWsr8sJm07jdABs0IpmzOqfjj5LNNnHc7nilBnRMYyKUH3jAYGd/J5wJhR0yxyDyNcw0TVkO53GISey4uvEfz0CnjrLort6AAVsVsSWaHgsXyKpg46fSdxqs5u1lQj9iktrzFRrdBcoZNZc3DzAhUHrfpjAGw+WRcB+VMUOWYwRppcl5U1N8AejNjlpP479BMm+WSE9USk2x6lfjEyBDQCtC4lOTYgmg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7c388eba-6458-4b05-944a-f8a0b6665066@suse.com>
Date: Thu, 23 Nov 2023 08:05:38 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 0/2] tools: add two local .gitignore files
Content-Language: en-US
To: Juergen Gross <jgross@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>,
 Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.com>, xen-devel@lists.xenproject.org
References: <20231122130220.10247-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231122130220.10247-1-jgross@suse.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7600:EE_
X-MS-Office365-Filtering-Correlation-Id: 53ebe36c-6e82-4d1d-fdde-08dbebf29a4e
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:
	rdlhruYK0eN81iQGVHlv3H26fJc8huHRJIlIMfM2mDxE2eTuoIZ01kSWuYs2pQTAHFekxo0+WTRkCiAdBbQSxS9xdqtdWsPr4zkojFD5AN6zke+2QF0fWWlF94PwftaySwDmCJjlgaxJHczVYsfPWfoM3U3YNQKusHKkG0gKnPYgq0s1h82ISB70wbgDk54+GRKuRa/kpmx40UdyQOK7RyZZ0HruXljR5sVK1HHgWaGQ1t9yCJteJIOUPjbpe8yHyhb7zYISEFw9dhRNyu55KGFOywTdMG8oo+p6RQsky8ULxaFcbsuU5VzSYln9gEVZzdhPnudXam4buE4rGwMPEMG6DdIdAzAd6WHe5HeO4zAZzZNEkjprNZCr2jhypMsuJCyiwMOzHaZLGqgd8SAX7SUp2cS1B5kb+bh9nulWKjcORFGmh7TLctk1dEBfugchKEjwb+c+OoiWQabD6uf+E3YpALkynMsosHTeWxf8y8fYIzShOTjDk8qJf3GKYGsP/xtiZvQmdUlzyt6NdJovFAwitTzQBY8Tq/9Cz7j8iGrnSau3OAl/IEbOxKKYuazmRVDVlL85yrIOq1YDSlcVJUMCM9FNfMFyoIIYKhmg3914OVAbA17rq1t011wbQvhhWHhjLiTnUTdFEshb4oRRSHsWZkmOKTjUZgaA8MM089S72OG0NARpzYxgWZ1r0/U1
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(136003)(366004)(39860400002)(376002)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(5660300002)(4744005)(2906002)(4326008)(6862004)(8936002)(8676002)(66476007)(66556008)(41300700001)(37006003)(66946007)(54906003)(316002)(6636002)(478600001)(6486002)(6506007)(53546011)(31686004)(26005)(2616005)(6512007)(38100700002)(36756003)(86362001)(31696002)(142923001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S0VWQmY1Zkh0L3Y3di9uSE5DaGxjNWR5TjlnTmk5TWg3VXR1ZEdIU3lGSGZI?=
 =?utf-8?B?elFaN3pkVkJxU2Z5K2xlQzdFUFI3bVZwR2kwcXRjWGpyMS9FQ0YyN3QwUXRi?=
 =?utf-8?B?RW9jT0RrWEphWXNQeXMwKzFRTy9KcWxHMDQ4Y2JtWHk2TzI5eDBheng3WEFp?=
 =?utf-8?B?NTJ4T0g4VWZhNFBlZkZCUzV2SDQ5d29VaVRBUlJjSFpDaXNkMUlKQjhNK1pB?=
 =?utf-8?B?c3duQ00xN0hKdUhsR3kvb09PUk5la29FNzhrdDE5RHVVdXh6eTdpQjVBcEVL?=
 =?utf-8?B?VmMvV0t2MXBoNXdidkpKZWVUVnlxWHBKNUYySExhUEdjRUtyY09qQksrRTh6?=
 =?utf-8?B?d3g5YkhmUlZEVmhmNFpJM0FWc0Jvckl5K1FFTTR3bWViQjFTekg1YlJCY3F5?=
 =?utf-8?B?RGJsUG5QSkxOTVEveTg4Q2hCYlRMZnpTYUlvNXN2dVBrQTg4RnR6czI0bGEr?=
 =?utf-8?B?VU93SE10Um9OM2VGN21KMlRwS2VFck1acXBDaENSaUx2UDhhRllzT3JiSjNF?=
 =?utf-8?B?Y1hvTENzS09Bb3FvN0dvOEV0bGlBL0RuN3prUnFheVJDRkdBSUExMnQ2aVdO?=
 =?utf-8?B?U3N0bHN5NmNoUGNmWjdXeGhqalQ3UDhmWnZRaFZrbmRaWUh2cGJ1d1Zia256?=
 =?utf-8?B?SjAxTnI2UVh3ZzJTRzBrTWpLMVdRemNKWGpHQmI0eFovdXdiTWZpbHZuR2hV?=
 =?utf-8?B?eTBJbzE0ZitjOGoxUUZFcE5iam4zMHg2WS9Td2hWbjdIN1hmNmxIMHVLYlNZ?=
 =?utf-8?B?aHBKOHlHTDNWOEpCVlRDb0FESmFnYWo0NGpMbzdmenMwWldaTnJpeTFGazJJ?=
 =?utf-8?B?SW9RODYxN2JkbGtFQnNXTUVXRmkxSitDMzdiYzJUUWx3dEdqUnRUcUNZaFpT?=
 =?utf-8?B?QWZUV1R1d1E3aXc3VDFjQlBJeUxPb2xsbzZ0d2JYemovd2s4NnRsMmFMZUM1?=
 =?utf-8?B?NXJETTNGL3JwOVdjb0FhRkZrRE1WSFNuZHpQajk5cEFncVdnaWcraHJ0VWFt?=
 =?utf-8?B?amw5TXVCcmZLVHE0YnBtY2N0THZtZFFPc0xTcjFqUllWdFhtSFBlTlZyOWlI?=
 =?utf-8?B?TE1Tc1JmUStuSWNwdzlyZUFDZHBOMEhwUVdIRFBhbHh3VkFNelVqblQxcnFG?=
 =?utf-8?B?eXI0UmJZOCt2S1o1RFlyS1hjWk0yeG5tS1FhL3psWW9ZNnlLcG0zM2hWelBa?=
 =?utf-8?B?eUdDcGFNL2prL0tKWkxRSFJTaGk5MzhEWlppQ2h2Sitsc0tSbXJNbTRLRHVl?=
 =?utf-8?B?dFNvSE0xUnkrQVhZYldKN0Y2TUxiOURramhyUlFrN1JVRU9adkZDeVNaZkJJ?=
 =?utf-8?B?b0djVEQ0ejM3dWZ4NWVwYjdGVkduYTJ2MnRvREU4TGcxaCt1YTNwRk9Kd1dL?=
 =?utf-8?B?Y0RacnptUC9GdGhJdHlSdVpma1VVWlFyUFI2d3FScEp0VGJmZGJJcytyd3o1?=
 =?utf-8?B?MlBKTmQveXNVTjNXa2w5aTVINXdjdEZ5dkUvQ21HdllBelVpOFNiaXJTcGhy?=
 =?utf-8?B?T2NYN0UzU0ZLcXlzd0h5cCtCWERFaHBQM1NER0t2azY1eFErMWgwditmSk5s?=
 =?utf-8?B?NFlNYVF2RGEzUm4yZGREcXdNK3hoUGZxQTA2bXlKVDdzQzluQStXeGRPeDBy?=
 =?utf-8?B?S0dUYmRYWlJRcktkbDRIZFF2aVl1UmJJOVVVSTE0ZzFOdzhpWVhSOFlJODZS?=
 =?utf-8?B?L013RGlTQzM0R1BvNG1BM2xsN1oxckVMdWcxWXhnYmZXMStQckVVVjN4UUtp?=
 =?utf-8?B?Y2tYbnNUTCtuR01JN0psdzI1RStyUnBra3VFWFRLV3VOV0k0OVFReDZBWlMw?=
 =?utf-8?B?UVk3OUM2TUFDa2paelY2S2NZVUp3Zm1rL3FUTFoxaFQyNlFWSUtFb2RVUlZr?=
 =?utf-8?B?QU44R2VFcnRXeFFGTXczZmMzcEx1Zmg2aGxFa0pOZzRhd3NUN3VCdW5NOHBi?=
 =?utf-8?B?V2Z3OHFiREJxUW1aWU42SDB2YmtSdFYrSFJOUHhxbHZyL1VXTnB5SkRpc08z?=
 =?utf-8?B?KzYxRmZ5alVCTkhKalNiSDJNdlpWOGlnSnVnc3kzTmxwREZTOXE2cmp2bnRm?=
 =?utf-8?B?NWZ5TWVwaVIvMHU3WnpWQjJQNmFCSXJnQlU3SHZlVFV3REFsUmxoTEhsRnhu?=
 =?utf-8?Q?syEOyZSeym0/dBIk70Qs7DgaZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53ebe36c-6e82-4d1d-fdde-08dbebf29a4e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 07:05:40.8306
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: A7ssJ8fUw2p7FejMtP23sz4Eje+PnX1KENPOXKINeNHo1XKFqlUrMIHzgnAOnZeiK1iEXrXw6KBQKM+4o2a2sA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7600

On 22.11.2023 14:02, Juergen Gross wrote:
> After a new build on my system (OpenSUSE Leap 15.5) "git status" will
> print out:
> 
> Untracked files:
>   (use "git add <file>..." to include in what will be committed)
>         tools/pygrub/pygrub.egg-info/
>         tools/python/xen.egg-info/
> 
> This small patch series fixes that by adding the related entries to
> local .gitignore files, while moving the existing global entries for
> those directories to them.
> 
> Changes in V2:
> - use "/dir/" as matching pattern for directories
> 
> Juergen Gross (2):
>   tools/pygrub: add .gitignore file
>   tools/python: add .gitignore file

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:23:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:23:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639363.996641 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r643u-0001u9-Jd; Thu, 23 Nov 2023 07:23:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639363.996641; Thu, 23 Nov 2023 07:23: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 1r643u-0001u2-Gc; Thu, 23 Nov 2023 07:23:46 +0000
Received: by outflank-mailman (input) for mailman id 639363;
 Thu, 23 Nov 2023 07:23: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r643s-0001tr-JY
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:23:44 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20612.outbound.protection.outlook.com
 [2a01:111:f400:fe16::612])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3b614167-89d1-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 08:23:43 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6785.eurprd04.prod.outlook.com (2603:10a6:208:189::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.12; Thu, 23 Nov
 2023 07:23:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 07: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>
X-Inumbo-ID: 3b614167-89d1-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cAav5ZSrei3eTIl+ri+JXWCNJIiI14yy1LQHuN6XXHaRVMnG78I1HfbNP8hYjoYGSkSMFHI+sDfX+7pUImFjoJoo1rrPZfBFBXXI3tGQOJ8/lnUuHP0tPoxNEVQCZhPZh6Vu/PpZ/NJ8yfXlTubnOh60T0ra02eL8g/ydLNxm3RTj4R2oP1RGJk+U8pz4wTpNp96iwPW9BHlu3u/GLtxluvBrVXs7VarGKsv0+ph8pLAVozkpHxy91WBe2NTNU3AaEePP235DlrE5GW20lvqnhHAZvXMOESJkDvUK0qe/dWsf+2eYRLvlL+gC28pqPtuM+QoAlXShECPP7XSXoeukA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ndpmDTzy5DPBvW2271zBbDl9FN8C9aabe+09cP/JsdM=;
 b=C3IbEtydM7DKZOaVJL565LDk7AN5Uvb+r5//lNcuG/6b9MmP9l2uOhmVs8K3VXhsXT3zeToh06C0rXFFUm4h81UFog69goIpJnhVThAk4TbNNx+BVP6lnmVFot+GAufuqhQEbegJJhOD0Yx7hqP2a4SkERAJSPWoLn/Ek12AAXa0D9v85Tf3Yp5Q/pxiExTSR8sVGgiafsTq+txd+wm9k74rNMlLy1VcQsQPDDRULBhsSviM63byi8gkU/cDZ7ybPFCGtzqtqqJD8H5hVyK2W15YQ2AEKqPIOdtX/GOb7xZyuhTaVWNHSvCw7NYsWChem4pLgzwHT2cQ/uSV/ZXxaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ndpmDTzy5DPBvW2271zBbDl9FN8C9aabe+09cP/JsdM=;
 b=TXwYFrfIQlberv5q42r+r6IpHlZ2D4B63JV/OJlDGqCNs2QmTB+5dwkY1vesVkSr21w6Mz8cfj6nwgNtoCh4BYdQC/jFlFotGh5lx74pfi25swuSSINcVyOLVGgPspPI6t6RzF31BATIImvkcRBoNV5tdMHcZFKti5ynLfYGyPqfIlgFPytkrSMwGwGby+jmVJMBqkLRTaDhYZ8NZxnNCTHuZ2XI+kCN4oDqP82EdsBB9QTlgl+OiFt5FeBMRo/GWLIHVhZb7zNTO4W2lVK7yEh13EDYaVyTy5OJfIxQqSqGl10OZDwwii2Z6kf8QlUtZv8VJLqVoZCS2z7qlzu7yw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77296c34-1bd1-4fec-839a-d3e6047787c0@suse.com>
Date: Thu, 23 Nov 2023 08:23:38 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] x86/cpuid: enumerate and expose PREFETCHIT{0,1}
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: 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: <2736e884-4b28-4ee9-b23e-24e763355d1f@suse.com>
 <a09c90f3-d720-41d7-8b21-42cab58bd0b8@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a09c90f3-d720-41d7-8b21-42cab58bd0b8@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0101.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6785:EE_
X-MS-Office365-Filtering-Correlation-Id: c090017c-c42b-4d7d-f074-08dbebf51df4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mJ6lOmqWlNSgQ5UQVW/LYnltWekJNBN86heOt+t10uKfQplJZ1i3SMXYE5c59T8xDmeCd+BEfOVAhSDHRbLf+Uu8rHPek2WIbNS/or2tAkdD9BspEz/UT5+0uldzPhwrWM/eLj02cNBGBdVCyKZgWySPmr/TgOyMvHOvNHvjtQVUJzc8Txb73q8mNvao1n2g+/WxccgBd+JolrrmlHxYNimJJfy0wGUX5aN3ZGapDkICvWB2dnU0Pvz1SeEqTE/RmrCsAMGB8bUajZRFEcRlVcx8xRz41j5mgK0lI0znFFuWHp42QiYUNYlmPQMaxfVWFR6jxbDZlZaYFfmfojGIxHoEHAkCYS2vUi5Fg0Z1z+P56sIwPWTiOUHpS/YQ2MSYUz65u7cj0MHsITxolG4wOyr5j3uzq/0PDYBWAge/smC7iJNhLfwXHNYdw4+yWiWa4THLtusoEbSQJttjwhMEQWlbgYEGq+MQ3BefIU8M1yzdWgguS/ERvEIGFbSnuYX6puU9vVTInHJIDo4NxL/xzVgAT/nGX8+no0h0nXo57QkY3+cd9WKG7UsNoJGMrEMNmIklL3vm40O1EESnTYY5bwOLKFmwB6swxKEtRpylyjpsFU3BH1C0UblY1GMw2cMNiJMx1f4OTKocDdYACM1fyQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(366004)(39860400002)(396003)(136003)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(31686004)(66946007)(66556008)(54906003)(66476007)(36756003)(38100700002)(86362001)(31696002)(26005)(6506007)(6512007)(53546011)(83380400001)(2616005)(2906002)(6916009)(316002)(6486002)(478600001)(5660300002)(4326008)(8936002)(8676002)(41300700001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Nnkvb2RYSlU4TTZZZlhNY1l5VU5mamdXK0RmUlNKcklxTVhCZGZCcTZtOEVl?=
 =?utf-8?B?ODNBU21XK3pUNmNOR3BzeTcwRXpLRTBTNjk4SHNhbmlqWUJ3bWNKNVdWdGJC?=
 =?utf-8?B?a0V4SVFjMzE3NThzZDhyNnkxK0NXdk1lWVhPRXkyVytEN0xjbnNETTd5dGFa?=
 =?utf-8?B?azBBMGlZa291Y1AvU1ZDRmhpU2ZzT1ZLVVFlUXVMbldCWXRFSU4yQ09GQmJR?=
 =?utf-8?B?amlqb2szRXE3dXk3bllPdkZ5bDBqRmdYMmZqeWY2dE5BVFhFQ0dJYmtTVW9p?=
 =?utf-8?B?ZW9vWVhFOGczQnJwQURmV3NJdTVObTYxMU5Rdm5Xd2hrYXNDeEtqQWw2ZDh0?=
 =?utf-8?B?VmdPMFpaUCtOZGtmb1VVMFErSHNSaVo4U0tCTjkyYk9uZnFsZm1nNitYMndT?=
 =?utf-8?B?QVJLK0Z6RVpwK2pDeWgxUmZwZ2I0clhDUWZscWdBb3RqZ3E3czdYQ2Y0MkZK?=
 =?utf-8?B?dlBpV0pUMFlwN1N0alQ0aFBMR0t5UlVmNy9DYngvbHF1SWZSWngwVTNSTWlh?=
 =?utf-8?B?QkNoQmQxaFNTZTNFWHZ1SllrVVVBb3U2NzAzZHVjZnZHbk91akUzbGJOTGR2?=
 =?utf-8?B?YnIwOS9DV3pYQkRRZTAwL0lqangzeDZ3ZEZnYUkzSzhWZXNlaXhrZ1lKVEky?=
 =?utf-8?B?RTY4ZUFZNTBrOGhDTXBqZkJVMGZWOC9HaExxV0plajk0eE1iZ3VpenJzbDlX?=
 =?utf-8?B?a2x4b0ZEeW1BTzF2eWEwSUtSZFZHNHQ0SlhiZXlySUd5MC85eS83QWlpMmVM?=
 =?utf-8?B?RWVSbjFBWWJ1cjlnSkZCU2dmbnBxQ3k0RU94eHZiNmhMS3hNRlVzaEV5SWh1?=
 =?utf-8?B?eW9IODNFcjh0NG9YQkJ1YVduRGwvc0R6MkN4TTNKclNHNzVQTTRIQTV6ZDBz?=
 =?utf-8?B?ek5ubXhFa1BRcmdZeGlCS2t0T0VrNStuNis3V1dMRkVoS2dGb3c5WlQxUXph?=
 =?utf-8?B?SGtPcUY0eGk5Q3hwM0VMaS9WblVTeS9IUTNscHMyQkhsMXVSQ0ppSXpuNHFT?=
 =?utf-8?B?VmNWd3BrVU9VaDUzQzlnSGVCcTdCSmUvb2hyKzQzUldYV0MyOEY3RHVzZ3h0?=
 =?utf-8?B?UFRDdlZWWXN1VUp6dHppamhmQ2tNbjE0bHh2bmU0cDVXc2hsekYwcTJwdmN0?=
 =?utf-8?B?RU5yWDQ3SDdRWVJ0VXdJZGZXb3d0aDdSWkxMdGozK1czakhWZWZnQWpMWURE?=
 =?utf-8?B?OGI3VkpTT3pvMCtMZE1DNTlIdU84UGM0bGhmSkRkWDYwQmhqenZRRjQvUWoy?=
 =?utf-8?B?aGdXNk9ib25SaktVNXpzcjd3elhoaHhUdnUxbDRmcnNEMStnNFN2NjFBYzEw?=
 =?utf-8?B?REoxTU5yZ212Qy9aYzNPZVhkQnV6MGs2RHNtckNVazI5QSsyYXEzbmVsbXEx?=
 =?utf-8?B?Kzl2YXY2d1lyV2cyZzlEZVd0M2JMaXVWZy9jUUdBT3BIVVliWm1JaUt5eTMr?=
 =?utf-8?B?aUg4T3ovcEFJWEgraC9JVm5ZdTNsOUF0cjYrYkszeXgwVVppNFJncFNjaktZ?=
 =?utf-8?B?WHErMDJ4NkJ4VURSOHd6c25Gekh5cEV1YXduZHdOdlpnaCtibElaajBCTDUy?=
 =?utf-8?B?YWxqb1pyR0tuNktwRE9CdWVnc25KS3NMQUQrVmxwNTdTMm9XOThRcWZ4OTBr?=
 =?utf-8?B?YkZlRXJrcmlKL2JrMXR0ZllVc0N6WTh5RXNqcHRVN01Ea3pnUlU1eUt2a0VR?=
 =?utf-8?B?aG9tV0NDMzlhWExITmZlaHBLT3ZMbzdHWUg5YlZqajlsU2t3WXA5VkdCTEtP?=
 =?utf-8?B?UU5ENjVEL2NiME83WGxsVm5Dc25wNjIzd21JUm5Qc1BQYTdwN09QSnFNYWlt?=
 =?utf-8?B?ZkkvQ3NrdVJGVjVQZ1RWLzVQSEVjUlRLckVoWjhpNW8wYStyY3ZlSjkvRkEx?=
 =?utf-8?B?U1ZlTTM1bDVONXAxVkdpVm1SVHNFLzJKQlJRbXltMjBtdE1TVzJwRWJ6SUpP?=
 =?utf-8?B?ejNSYmJVdVQ0TVdLQkRONDM5U1M0U3dyODVEWkdXajNGVkxkL1o4cFZBMWJz?=
 =?utf-8?B?M3JsaVFvdEdFUWw1clBDTm9KZGFQZ09ZVVc2eVB2Qk1QbFBrZFVKcDk2YmZx?=
 =?utf-8?B?dDhvdG5Mb2pRaHVsc0ZEY0wwZFNwOTk3bFg2WTQrR2dEQnAxd2plVGw3Y1RK?=
 =?utf-8?Q?dI6fSdBR9fYD8YC2J//ZK+0gn?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c090017c-c42b-4d7d-f074-08dbebf51df4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 07:23:40.6876
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OtGSPYCErz8VyKYKcjZ5fykapHQ+eg+7ec98Zw0yZo2xBtvF5SiZ963OoXcE/CJGeAoibPOhYCWzXr8zIoUkMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6785

On 22.11.2023 13:25, Andrew Cooper wrote:
> On 22/11/2023 7:43 am, Jan Beulich wrote:
>> --- a/xen/tools/gen-cpuid.py
>> +++ b/xen/tools/gen-cpuid.py
>> @@ -274,7 +274,7 @@ def crunch_numbers(state):
>>          # superpages, PCID and PKU are only available in 4 level paging.
>>          # NO_LMSL indicates the absense of Long Mode Segment Limits, which
>>          # have been dropped in hardware.
>> -        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL],
>> +        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, PREFETCHI],
> 
> I know this is what the ISE says, but I'm not sure it's a legitimate
> dependency.
> 
> It is an implementation detail that Intel depend on a RIP-relative
> address, but there are no architectural reason why other implementations
> couldn't make this work in 32bit too.
> 
> The worst that happens without this dependency is that 32bit-only VMs
> see a hint bit about certain NOPs having uarch side effects, which
> they'll ignore for other reasons.

I'm okay either way. Adding the dependency was the only reason to have
a v2 ...

> So I recommend dropping the dependency.  If you're happy, then
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:37:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639368.996671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64HG-0005AB-Bn; Thu, 23 Nov 2023 07:37:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639368.996671; Thu, 23 Nov 2023 07:37: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 1r64HG-0005A4-8K; Thu, 23 Nov 2023 07:37:34 +0000
Received: by outflank-mailman (input) for mailman id 639368;
 Thu, 23 Nov 2023 07:37: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r64HF-0004g4-9g
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:37:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 292770ab-89d3-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 08:37:31 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 0DBED4EE0C8F;
 Thu, 23 Nov 2023 08:37:31 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 292770ab-89d3-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v5 3/3] x86_64/mm: express macro CNT using ISOLATE_LSB
Date: Thu, 23 Nov 2023 08:37:18 +0100
Message-Id: <9c9af1a6aeef1120541d110810dd15eb0f96d7ab.1700724350.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700724350.git.nicola.vetrini@bugseng.com>
References: <cover.1700724350.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The various definitions of macro CNT (and the related BUILD_BUG_ON)
can be rewritten using ISOLATE_LSB, encapsulating a violation of
MISRA C:2012 Rule 10.1.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v4:
- Changed macro name
Changes in v5:
- Add A-by
- Changed macro name.
---
 xen/arch/x86/x86_64/mm.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c
index c3ebb777144a..b2a280fba369 100644
--- a/xen/arch/x86/x86_64/mm.c
+++ b/xen/arch/x86/x86_64/mm.c
@@ -351,9 +351,9 @@ static int setup_compat_m2p_table(struct mem_hotadd_info *info)
                 ~((1UL << (L2_PAGETABLE_SHIFT - 2)) - 1) );
 
 #define MFN(x) (((x) << L2_PAGETABLE_SHIFT) / sizeof(unsigned int))
-#define CNT ((sizeof(*frame_table) & -sizeof(*frame_table)) / \
+#define CNT (ISOLATE_LSB(sizeof(*frame_table)) / \
              sizeof(*compat_machine_to_phys_mapping))
-    BUILD_BUG_ON((sizeof(*frame_table) & -sizeof(*frame_table)) % \
+    BUILD_BUG_ON(ISOLATE_LSB(sizeof(*frame_table)) % \
                  sizeof(*compat_machine_to_phys_mapping));
 
     for ( i = smap; i < emap; i += (1UL << (L2_PAGETABLE_SHIFT - 2)) )
@@ -410,10 +410,10 @@ static int setup_m2p_table(struct mem_hotadd_info *info)
     va = RO_MPT_VIRT_START + smap * sizeof(*machine_to_phys_mapping);
 
 #define MFN(x) (((x) << L2_PAGETABLE_SHIFT) / sizeof(unsigned long))
-#define CNT ((sizeof(*frame_table) & -sizeof(*frame_table)) / \
+#define CNT (ISOLATE_LSB(sizeof(*frame_table)) / \
              sizeof(*machine_to_phys_mapping))
 
-    BUILD_BUG_ON((sizeof(*frame_table) & -sizeof(*frame_table)) % \
+    BUILD_BUG_ON(ISOLATE_LSB(sizeof(*frame_table)) % \
                  sizeof(*machine_to_phys_mapping));
 
     i = smap;
@@ -539,7 +539,7 @@ void __init paging_init(void)
     mpt_size  = (max_page * BYTES_PER_LONG) + (1UL << L2_PAGETABLE_SHIFT) - 1;
     mpt_size &= ~((1UL << L2_PAGETABLE_SHIFT) - 1UL);
 #define MFN(x) (((x) << L2_PAGETABLE_SHIFT) / sizeof(unsigned long))
-#define CNT ((sizeof(*frame_table) & -sizeof(*frame_table)) / \
+#define CNT (ISOLATE_LSB(sizeof(*frame_table)) / \
              sizeof(*machine_to_phys_mapping))
     BUILD_BUG_ON((sizeof(*frame_table) & ~sizeof(*frame_table)) % \
                  sizeof(*machine_to_phys_mapping));
@@ -666,7 +666,7 @@ void __init paging_init(void)
         mpt_size = 0;
 
 #define MFN(x) (((x) << L2_PAGETABLE_SHIFT) / sizeof(unsigned int))
-#define CNT ((sizeof(*frame_table) & -sizeof(*frame_table)) / \
+#define CNT (ISOLATE_LSB(sizeof(*frame_table)) / \
              sizeof(*compat_machine_to_phys_mapping))
     BUILD_BUG_ON((sizeof(*frame_table) & ~sizeof(*frame_table)) % \
                  sizeof(*compat_machine_to_phys_mapping));
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:37:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639367.996656 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64HF-0004jg-3I; Thu, 23 Nov 2023 07:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639367.996656; Thu, 23 Nov 2023 07: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 1r64HE-0004iz-Ty; Thu, 23 Nov 2023 07:37:32 +0000
Received: by outflank-mailman (input) for mailman id 639367;
 Thu, 23 Nov 2023 07:37: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r64HD-0004g4-Pm
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:37:31 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28416cbe-89d3-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 08:37:30 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 89D2E4EE0747;
 Thu, 23 Nov 2023 08:37:28 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28416cbe-89d3-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v5 1/3] arm/bitops: encapsulate violation of MISRA C:2012 Rule 10.1
Date: Thu, 23 Nov 2023 08:37:16 +0100
Message-Id: <c7728964a8e6afdb1f52ed93f3d7459cc72b85ee.1700724350.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700724350.git.nicola.vetrini@bugseng.com>
References: <cover.1700724350.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The definitions of ffs{l}? violate Rule 10.1, by using the well-known
pattern (x & -x); its usage is wrapped by the ISOLATE_LSB macro.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v4:
- Changed macro name.
Changes in v5:
- Changed macro name.
---
 xen/arch/arm/include/asm/bitops.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index 71ae14cab355..673a8abae5bf 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -155,8 +155,8 @@ static inline int fls(unsigned int x)
 }
 
 
-#define ffs(x) ({ unsigned int __t = (x); fls(__t & -__t); })
-#define ffsl(x) ({ unsigned long __t = (x); flsl(__t & -__t); })
+#define ffs(x) ({ unsigned int __t = (x); fls(ISOLATE_LSB(__t)); })
+#define ffsl(x) ({ unsigned long __t = (x); flsl(ISOLATE_LSB(__t)); })
 
 /**
  * find_first_set_bit - find the first set bit in @word
-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:37:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639366.996651 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64HE-0004gM-Or; Thu, 23 Nov 2023 07:37:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639366.996651; Thu, 23 Nov 2023 07:37: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 1r64HE-0004gF-MI; Thu, 23 Nov 2023 07:37:32 +0000
Received: by outflank-mailman (input) for mailman id 639366;
 Thu, 23 Nov 2023 07:37: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r64HD-0004g4-0N
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:37:31 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 275135b7-89d3-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 08:37:28 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 404964EE073C;
 Thu, 23 Nov 2023 08:37:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 275135b7-89d3-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v5 0/3] address violations of MISRA C:2012 Rule 10.1
Date: Thu, 23 Nov 2023 08:37:15 +0100
Message-Id: <cover.1700724350.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series contains the leftover patches from [1] with the rename
s/ISOLATE_LOW_BIT/ISOLATE_LSB/ applied. All the already committed patches from
the aforementioned series are dropped.

[1] https://marc.info/?l=xen-devel&m=169841347803987

Nicola Vetrini (3):
  arm/bitops: encapsulate violation of MISRA C:2012 Rule 10.1
  xen/pdx: amend definition of PDX_GROUP_COUNT
  x86_64/mm: express macro CNT using ISOLATE_LSB

 xen/arch/arm/include/asm/bitops.h |  4 ++--
 xen/arch/x86/x86_64/mm.c          | 12 ++++++------
 xen/include/xen/pdx.h             |  2 +-
 3 files changed, 9 insertions(+), 9 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:37:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:37:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639369.996676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64HG-0005EG-M1; Thu, 23 Nov 2023 07:37:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639369.996676; Thu, 23 Nov 2023 07:37: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 1r64HG-0005DT-Hd; Thu, 23 Nov 2023 07:37:34 +0000
Received: by outflank-mailman (input) for mailman id 639369;
 Thu, 23 Nov 2023 07:37: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r64HF-0004t9-Kk
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:37:33 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 28be3168-89d3-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 08:37:31 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 4968F4EE0C89;
 Thu, 23 Nov 2023 08:37:30 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28be3168-89d3-11ee-98e2-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v5 2/3] xen/pdx: amend definition of PDX_GROUP_COUNT
Date: Thu, 23 Nov 2023 08:37:17 +0100
Message-Id: <9ae508ee09f7102b10ae742749b43d4fc9f04649.1700724350.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700724350.git.nicola.vetrini@bugseng.com>
References: <cover.1700724350.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The definition of PDX_GROUP_COUNT causes violations of
MISRA C:2012 Rule 10.1, therefore the problematic part now uses
the ISOLATE_LSB macro, which encapsulates the pattern.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v4:
- Changed macro name.
Changes in v5:
- Changed macro name.
---
 xen/include/xen/pdx.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/pdx.h b/xen/include/xen/pdx.h
index bd535009ea8f..23f3956db8db 100644
--- a/xen/include/xen/pdx.h
+++ b/xen/include/xen/pdx.h
@@ -70,7 +70,7 @@
 extern unsigned long max_pdx;
 
 #define PDX_GROUP_COUNT ((1 << PDX_GROUP_SHIFT) / \
-                         (sizeof(*frame_table) & -sizeof(*frame_table)))
+                         (ISOLATE_LSB(sizeof(*frame_table))))
 extern unsigned long pdx_group_valid[];
 
 /**
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:38:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:38:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639378.996691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64Hq-0006gr-Va; Thu, 23 Nov 2023 07:38:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639378.996691; Thu, 23 Nov 2023 07:38: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 1r64Hq-0006gk-RO; Thu, 23 Nov 2023 07:38:10 +0000
Received: by outflank-mailman (input) for mailman id 639378;
 Thu, 23 Nov 2023 07:38: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r64Hp-0004t9-FC
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:38:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3f0c32bb-89d3-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 08:38:08 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id A73B14EE0C89;
 Thu, 23 Nov 2023 08:38:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f0c32bb-89d3-11ee-98e2-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Paul Durrant <paul@xen.org>
Subject: [XEN PATCH v3 2/2] xen/iommu: use ISOLATE_LSB to wrap a violation of Rule 10.1
Date: Thu, 23 Nov 2023 08:37:55 +0100
Message-Id: <864df3cff95b6dde17ebd7af6d814f79a0ab2044.1700724699.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700724699.git.nicola.vetrini@bugseng.com>
References: <cover.1700724699.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in v2:
- Changed macro name
Changes in v3:
- Changed macro name
---
 xen/drivers/passthrough/iommu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c
index f9a9f53dbd44..996c31be1284 100644
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -560,7 +560,7 @@ int __init iommu_setup(void)
         rc = iommu_hardware_setup();
         if ( !rc )
             ops = iommu_get_ops();
-        if ( ops && (ops->page_sizes & -ops->page_sizes) != PAGE_SIZE )
+        if ( ops && (ISOLATE_LSB(ops->page_sizes)) != PAGE_SIZE )
         {
             printk(XENLOG_ERR "IOMMU: page size mask %lx unsupported\n",
                    ops->page_sizes);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:46:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:46:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639387.996700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64PW-0000Co-ME; Thu, 23 Nov 2023 07:46:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639387.996700; Thu, 23 Nov 2023 07:46: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 1r64PW-0000Ch-Ji; Thu, 23 Nov 2023 07:46:06 +0000
Received: by outflank-mailman (input) for mailman id 639387;
 Thu, 23 Nov 2023 07:46: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r64Hn-0004g4-IH
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:38:07 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d8de1da-89d3-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 08:38:06 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id DBD514EE073C;
 Thu, 23 Nov 2023 08:38:03 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d8de1da-89d3-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Paul Durrant <paul@xen.org>
Subject: [XEN PATCH v3 0/2] use the macro ISOLATE_LSB where appropriate
Date: Thu, 23 Nov 2023 08:37:53 +0100
Message-Id: <cover.1700724699.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series replaces two instances of the pattern (x & -x) with the
macro ISOLATE_LSB.

Nicola Vetrini (2):
  xen/vmap: use ISOLATE_LSB to wrap a violation of Rule 10.1
  xen/iommu: use ISOLATE_LSB to wrap a violation of Rule 10.1

 xen/common/vmap.c               | 2 +-
 xen/drivers/passthrough/iommu.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:46:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:46:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639390.996711 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64Q2-00013I-Vf; Thu, 23 Nov 2023 07:46:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639390.996711; Thu, 23 Nov 2023 07:46: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 1r64Q2-00013B-RY; Thu, 23 Nov 2023 07:46:38 +0000
Received: by outflank-mailman (input) for mailman id 639390;
 Thu, 23 Nov 2023 07:46: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r64Hp-0004g4-5G
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:38:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3e8e0aff-89d3-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 08:38:07 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.131])
 by support.bugseng.com (Postfix) with ESMTPSA id 0A8124EE0747;
 Thu, 23 Nov 2023 08:38:05 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3e8e0aff-89d3-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v3 1/2] xen/vmap: use ISOLATE_LSB to wrap a violation of Rule 10.1
Date: Thu, 23 Nov 2023 08:37:54 +0100
Message-Id: <d891af807a7d4430a2ea5e4e9aa520b14c709246.1700724699.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700724699.git.nicola.vetrini@bugseng.com>
References: <cover.1700724699.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v2:
- Changed macro name
Changes in v3:
- Changed macro name
---
 xen/common/vmap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/common/vmap.c b/xen/common/vmap.c
index 4fd6b3067ec1..330e2ba897d7 100644
--- a/xen/common/vmap.c
+++ b/xen/common/vmap.c
@@ -53,7 +53,7 @@ static void *vm_alloc(unsigned int nr, unsigned int align,
     if ( !align )
         align = 1;
     else if ( align & (align - 1) )
-        align &= -align;
+        align = ISOLATE_LSB(align);
 
     ASSERT((t >= VMAP_DEFAULT) && (t < VMAP_REGION_NR));
     if ( !vm_base[t] )
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:46:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:46:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639391.996721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64QA-0001M5-6O; Thu, 23 Nov 2023 07:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639391.996721; Thu, 23 Nov 2023 07: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 1r64QA-0001Lw-3e; Thu, 23 Nov 2023 07:46:46 +0000
Received: by outflank-mailman (input) for mailman id 639391;
 Thu, 23 Nov 2023 07:46: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r64Q8-0000Zu-RQ
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:46:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72655763-89d4-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 08:46:44 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id CF20C4EE073C;
 Thu, 23 Nov 2023 08:46:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72655763-89d4-11ee-98e2-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 23 Nov 2023 08:46:43 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
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>, Stefano Stabellini
 <sstabellini@kernel.org>, Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Simone Ballarin <simone.ballarin@bugseng.com>
Subject: Re: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
In-Reply-To: <adaa6d55-266d-4df8-8967-9340080d17e4@citrix.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
 <20231122142733.1818331-4-andrew.cooper3@citrix.com>
 <e5476808dbef67bea7ce3902d4d8b3c1@bugseng.com>
 <adaa6d55-266d-4df8-8967-9340080d17e4@citrix.com>
Message-ID: <46015f0bbb6ab57c0f18d5f7c66a3232@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-22 17:46, Andrew Cooper wrote:
> On 22/11/2023 4:39 pm, Nicola Vetrini wrote:
>> On 2023-11-22 15:27, Andrew Cooper wrote:
>>> The differences between inline, __inline and __inline__ keywords are 
>>> a
>>> vestigial remnant of older C standards, and in Xen we use inline 
>>> almost
>>> exclusively.
>>> 
>>> Replace __inline and __inline__ with regular inline, and remove their
>>> exceptions from the MISRA configuration.
>>> 
>>> 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: Stefano Stabellini <sstabellini@kernel.org>
>>> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
>>> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> CC: Simone Ballarin <simone.ballarin@bugseng.com>
>>> 
>>> I'm entirely guessing at the Eclair configuration.
>>> ---
>> 
>> The configuration changes are ok. One observation below.
> 
> Thanks.  Can I take that as an Ack/Reviewed-by ?
> 

I see that Simone already gave one; that should suffice.

>>> diff --git a/xen/include/xen/compiler.h b/xen/include/xen/compiler.h
>>> index 04b8bc18df0e..16d554f2a593 100644
>>> --- a/xen/include/xen/compiler.h
>>> +++ b/xen/include/xen/compiler.h
>>> @@ -83,7 +82,7 @@
>>>   * inline functions not expanded inline get placed in .init.text.
>>>   */
>>>  #include <xen/init.h>
>>> -#define __inline__ __inline__ __init
>>> +#define inline inline __init
>> 
>> The violation of Rule 20.4 (A macro shall not be defined with the same
>> name as a keyword) is still present due to this macro.
> 
> I was expecting this to come up.
> 
> There's a comment half out of context above, but to expand on it, we
> have a feature in the build system where if you say obj-y += foo.init.o
> then it gets compiled as normal and then all symbols checked for being
> in the relevant .init sections.  It's a safeguard around init-only code
> ending up in the runtime image (which is good for other goals of 
> safety).
> 
> This particular define is necessary to cause out-of-lined static 
> inlines
> to end up in the right section, without having to invent a new
> __inline_or_init macro and rewriting half the header files in the 
> project.
> 
> I think it's going to need a local deviation.  It's deliberate, and all
> we're doing is using the inline keyword to hook in an extra __section()
> attribute.
> 
> ~Andrew

That's fair. I also agree that an exception for this use of inline can 
be made.
-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 07:51:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 07:51:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639399.996731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64V1-00037T-PD; Thu, 23 Nov 2023 07:51:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639399.996731; Thu, 23 Nov 2023 07: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 1r64V1-00037M-MO; Thu, 23 Nov 2023 07:51:47 +0000
Received: by outflank-mailman (input) for mailman id 639399;
 Thu, 23 Nov 2023 07: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r64V0-00037G-Pj
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 07:51:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25922e1a-89d5-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 08:51:44 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 70AE24EE073C;
 Thu, 23 Nov 2023 08:51:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25922e1a-89d5-11ee-98e2-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 23 Nov 2023 08:51:44 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, 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>, Roberto Bagnara <roberto.bagnara@bugseng.com>, Simone Ballarin
 <simone.ballarin@bugseng.com>
Subject: Re: [PATCH 3/3] xen/MISRA: Remove nonstandard inline keywords
In-Reply-To: <2c7d33e8-9605-4ff6-ac23-fda43ae69199@citrix.com>
References: <20231122142733.1818331-1-andrew.cooper3@citrix.com>
 <20231122142733.1818331-4-andrew.cooper3@citrix.com>
 <alpine.DEB.2.22.394.2311221410400.2053963@ubuntu-linux-20-04-desktop>
 <2c7d33e8-9605-4ff6-ac23-fda43ae69199@citrix.com>
Message-ID: <44ee703814a611c6e0baa3ed55d09092@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-22 23:20, Andrew Cooper wrote:
> On 22/11/2023 10:13 pm, Stefano Stabellini wrote:
>> On Wed, 22 Nov 2023, Andrew Cooper wrote:
>>> The differences between inline, __inline and __inline__ keywords are 
>>> a
>>> vestigial remnant of older C standards, and in Xen we use inline 
>>> almost
>>> exclusively.
>>> 
>>> Replace __inline and __inline__ with regular inline, and remove their
>>> exceptions from the MISRA configuration.
>>> 
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> 
>>> diff --git a/docs/misra/C-language-toolchain.rst 
>>> b/docs/misra/C-language-toolchain.rst
>>> index 2866cb191b1a..b7c2000992ac 100644
>>> --- a/docs/misra/C-language-toolchain.rst
>>> +++ b/docs/misra/C-language-toolchain.rst
>>> @@ -84,7 +84,7 @@ The table columns are as follows:
>>>            see Sections "6.48 Alternate Keywords" and "6.47 How to 
>>> Use Inline Assembly Language in C Code" of GCC_MANUAL.
>>>         __volatile__:
>>>            see Sections "6.48 Alternate Keywords" and "6.47.2.1 
>>> Volatile" of GCC_MANUAL.
>>> -       __const__, __inline__, __inline:
>>> +       __const__:
>>>            see Section "6.48 Alternate Keywords" of GCC_MANUAL.
>>>         typeof, __typeof__:
>>>            see Section "6.7 Referring to a Type with typeof" of 
>>> GCC_MANUAL.
>> Asking the Bugseng guys as well, do we need to add to
>> C-language-toolchain.rst:
>> inline __attribute__((__always_inline__))
>> inline __attribute__((__gnu_inline__))
> 
> __attribute__ itself is in the list of permitted non-standard tokens, 
> in
> both files.
> 
> However, neither file has anything concerning the parameter(s) to the
> __attribute__, and we do use an awful lot of them.
> 
> If they want discussing, then that's going to be a lot of work.
> 

Just __attribute__ is fine, since we point to
Section "6.39 Attribute Syntax" of GCC_MANUAL.
which describes the syntax for the token and gives pointers to other 
relevant sections of the manual.

>> Given that the problem was also present before this patch:
>> 
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> Thanks.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:10:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:10:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639407.996741 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64nL-0007DN-MO; Thu, 23 Nov 2023 08:10:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639407.996741; Thu, 23 Nov 2023 08: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 1r64nL-0007DG-Jk; Thu, 23 Nov 2023 08:10:43 +0000
Received: by outflank-mailman (input) for mailman id 639407;
 Thu, 23 Nov 2023 08:10: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r64nK-0007D8-Gh
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:10:42 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c5ade8d9-89d7-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 09:10:32 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-409299277bbso3685165e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 00:10:32 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 a10-20020a056000050a00b0032ddf2804ccsm887539wrf.83.2023.11.23.00.10.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 00:10:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c5ade8d9-89d7-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700727032; x=1701331832; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=KKmwbA6+M4RcmFFTP/sku16AaY+V057EzNOgN2RXvrM=;
        b=kuVcpkVu0prQihuk6jXaLDLwfH3LG5/SJY1p41t5dytXb3m2Jii/LE0NW75b6e6wUa
         6B8cTHJAmeWfYURUsEVh3cUeN0HSyeSa3llsNXottOTVxFDgcLR7qfoToaK5xYU/yjMc
         virjNBJukk6IXrq0Np98/SvC1mkMiYc4yP3rM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700727032; x=1701331832;
        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:subject:date:message-id:reply-to;
        bh=KKmwbA6+M4RcmFFTP/sku16AaY+V057EzNOgN2RXvrM=;
        b=tvwx98HiwMNwvNbqqa0hOgXKmvnaDhyAXKMVVzzY5qGrx0SM3Ms2e0ZyB8PpC/t1Ct
         Hu46EPMgQk5jyRFoxFMuPbLBkJ/U0wNT1qZH4EQNj0KSqTaFKFYBY28naQNACKFHLZSS
         65VEDdAQE5NxHX5kXzSl9Icae5kfOEtr0LEhT59rTvMM2KVAdfvyHWjN3DqsspMPkdzR
         Aq3u6+t5yhf/VSbXh4QdzkSaeRFV8xG0dGHXP6XoY1C71MN0YIUkR7WBL+GmAs4BiqeU
         4zNOBgDS3lbBVGXv8nTJK25ods9cfesaCR91mOkJ4Tej8O+eqdp/v47c/vUnTzPJNFy2
         F8fQ==
X-Gm-Message-State: AOJu0YwTdBxMK3D//jcUWqdQ33Aj5o1Y4M7sra3E40qOSyXJROJrDGjg
	DrRTStN34lB6lNMaSSQVLuAqJA==
X-Google-Smtp-Source: AGHT+IF78/OewSG68sPgcP6GJQFHovzaBrmdOgvQBEIqoedX/hPXaZvvdN/TIXWg8MFOBuC9Y9KhAg==
X-Received: by 2002:a05:600c:1c9d:b0:405:4776:735a with SMTP id k29-20020a05600c1c9d00b004054776735amr3655975wms.2.1700727031893;
        Thu, 23 Nov 2023 00:10:31 -0800 (PST)
Date: Thu, 23 Nov 2023 09:10:30 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Ross Lagerwall <ross.lagerwall@cloud.com>
Cc: Jan Beulich <jbeulich@suse.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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
Subject: Re: [PATCH] livepatch: do not use .livepatch.funcs section to store
 internal state
Message-ID: <ZV8I9qSxeQ8zi9ZU@macbook>
References: <20231116115841.71847-1-roger.pau@citrix.com>
 <d6634601-5006-475c-b386-97a1e53c5279@suse.com>
 <ZVYfHQD1AEmNVY3h@macbook.local>
 <CAG7k0Eo=p6sn0-p=JWGDTuN9u8B2=d9K13qpWUoAqJfX0uhcLA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAG7k0Eo=p6sn0-p=JWGDTuN9u8B2=d9K13qpWUoAqJfX0uhcLA@mail.gmail.com>

On Wed, Nov 22, 2023 at 04:31:07PM +0000, Ross Lagerwall wrote:
> On Thu, Nov 16, 2023 at 1:54 PM Roger Pau Monné <roger.pau@citrix.com> wrote:
> >
> > On Thu, Nov 16, 2023 at 01:39:27PM +0100, Jan Beulich wrote:
> > > On 16.11.2023 12:58, Roger Pau Monne wrote:
> > > > --- a/xen/include/public/sysctl.h
> > > > +++ b/xen/include/public/sysctl.h
> > > > @@ -991,10 +991,7 @@ struct livepatch_func {
> > > >      uint32_t new_size;
> > > >      uint32_t old_size;
> > > >      uint8_t version;        /* MUST be LIVEPATCH_PAYLOAD_VERSION. */
> > > > -    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
> > > > -    uint8_t applied;
> > > > -    uint8_t patch_offset;
> > > > -    uint8_t _pad[6];
> > > > +    uint8_t _pad[39];
> > >
> > > Should this be LIVEPATCH_OPAQUE_SIZE+8 and ...
> >
> > Hm, I'm not sure that's any clearer.  In fact I think
> > LIVEPATCH_OPAQUE_SIZE shouldn't have leaked into sysctl.h in the first
> > place.
> >
> > If we later want to add more fields and bump the version, isn't it
> > easier to have the padding size clearly specified as a number?
> 
> I prefer using the number as it makes it clear that this padding is not
> (anymore) related to the size of the instruction buffer in livepatch_fstate.
> 
> Do you think it would be better to call livepatch_fstate.opaque
> something like livepatch_fstate.insn_buffer instead (and rename

That would be fine.

> the constant accordingly) since it is internal to Xen and is not
> hiding something from tools building live patches?

The constant would be needed anyway due to the usage in the livepatch
tests, see the layout of livepatch_expectation_t which is public and
part of livepatch_func.

I don't mind changing fstate->opaque to insn_buffer, but I would avoid
touching anything in livepatch_expectation_t as part of this patch.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:14:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:14:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639414.996751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64rD-0007sb-AR; Thu, 23 Nov 2023 08:14:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639414.996751; Thu, 23 Nov 2023 08: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 1r64rD-0007sU-6g; Thu, 23 Nov 2023 08:14:43 +0000
Received: by outflank-mailman (input) for mailman id 639414;
 Thu, 23 Nov 2023 08: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r64rC-0007sO-Ck
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:14:42 +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 5824fbce-89d8-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 09:14:38 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40b31232bf0so4387665e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 00:14:38 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 i18-20020a5d5592000000b003316a2aedadsm915460wrv.36.2023.11.23.00.14.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 00:14:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5824fbce-89d8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700727277; x=1701332077; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=eGikuQEnMU1wbY+Kds9GFhjxhXhIU7I3GXsmCFEGcZs=;
        b=m+RhVegeG74f7mLlDlErGQFBhEZ28SHiIUitwplxJDbCCa4ncUpuMV3tAmIUhJcK3o
         2qKqf8uIGsjDnDrA8gYr8EEZQ+gi7WO7m5x/hRE5XWCU+EjsxAsmc2ZZ5Yw/dShIWU3b
         iW9ujdz9M6w92RbYs+OHMCxdSs1ndtwjq9v4s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700727277; x=1701332077;
        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:subject:date:message-id:reply-to;
        bh=eGikuQEnMU1wbY+Kds9GFhjxhXhIU7I3GXsmCFEGcZs=;
        b=pUoYw+bhI2tcGj4mBYiT925eA6YlGmShcFHRP6JptMz47tXeZE0/fi0qlMssscnwCw
         0P9SUP9QwKcN4OLCqXqcgu5+HSSLDbpFqLEfNJeFrCor3M7Qnpy3wuh2xeG2c4jCIrec
         owUQTKCZ+ybntdMSH6bzjmrBgIFRKLI/cK9Dej3Fm4Er6Xkn+qmMqApaqDfoZwCZixvm
         l3OsT81pVceSsZiUUjPHiScnQyaaPy4TZZyBRnLh7he1YS5n+/jJknRJgIIUB6O//cgi
         Ny8CqxK/tEl+TKWX2qqIuMC+jpT2O3rovNqDx6Uqc2JHHlX3IgmfWJh0xAV7lthlkQvG
         O8kw==
X-Gm-Message-State: AOJu0YysGUllkWyRPNld7mAO7BkMUlD6/25x/laKMv54oUWq6nGBExeI
	wxRsh2ReWwa0yeWVBF3oBlnhEA==
X-Google-Smtp-Source: AGHT+IEyBuFD3hOsqB8bH0VBjvglexof08H1lbuunClqQziuXyTvQnav15pKhgIf7kQmoHgthN4Ykg==
X-Received: by 2002:a05:6000:1446:b0:32f:8248:e00 with SMTP id v6-20020a056000144600b0032f82480e00mr2246564wrx.51.1700727277570;
        Thu, 23 Nov 2023 00:14:37 -0800 (PST)
Date: Thu, 23 Nov 2023 09:14:36 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.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 v7 1/2] xen/vpci: header: status register handler
Message-ID: <ZV8J7CoFJyN9a5GO@macbook>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVdfRQpGFSU1OIkh@macbook.local>
 <a28239cd-e94e-4e0e-b415-a7ae32befd40@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a28239cd-e94e-4e0e-b415-a7ae32befd40@amd.com>

On Wed, Nov 22, 2023 at 03:16:29PM -0500, Stewart Hildebrand wrote:
> On 11/17/23 07:40, Roger Pau Monné wrote:
> > On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
> >>      r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
> >>               r->private);
> >>  }
> >> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
> >> index 84b18736a85d..b72131729db6 100644
> >> --- a/xen/include/xen/pci_regs.h
> >> +++ b/xen/include/xen/pci_regs.h
> >> @@ -66,6 +66,15 @@
> >>  #define  PCI_STATUS_REC_MASTER_ABORT	0x2000 /* Set on master abort */
> >>  #define  PCI_STATUS_SIG_SYSTEM_ERROR	0x4000 /* Set when we drive SERR */
> >>  #define  PCI_STATUS_DETECTED_PARITY	0x8000 /* Set on parity error */
> >> +#define  PCI_STATUS_RSVDZ_MASK		0x0006
> > 
> > In my copy of the PCIe 6 spec bit 6 is also RsvdZ, so the mask should
> > be 0x46.
> 
> Right, mine too. It's probably safer to follow the newer version of the spec, so I'll make the change. For completeness / archaeology purposes, I just want to document some relevant data points here.
> 
> In PCIe 4 spec, it says this about bit 6:
> "These bits were used in previous versions of the programming model. Careful consideration should be given to any attempt to repurpose them."
> 
> Going further back, PCI (old school PCI, not Express) spec 3.0 says this about bit 6:
> "This bit is reserved. *"
> "* In Revision 2.1 of this specification, this bit was used to indicate whether or not a device supported User Definable Features."
> 
> Just above in our pci_regs.h (and equally in Linux include/uapi/linux/pci_regs.h) we have this definition for bit 6:
> #define  PCI_STATUS_UDF         0x40    /* Support User Definable Features [obsolete] */
> 
> Qemu hw/xen/xen_pt_config_init.c treats bit 6 as RO:
>         .ro_mask    = 0x06F8,

Right, given the implementation of ro_mask that would likely be fine.
Reading unconditionally as 0 while preserving the value on writes
seems the safest option.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:19:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:19:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639420.996761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r64vv-0000mU-SN; Thu, 23 Nov 2023 08:19:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639420.996761; Thu, 23 Nov 2023 08:19: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 1r64vv-0000mN-PX; Thu, 23 Nov 2023 08:19:35 +0000
Received: by outflank-mailman (input) for mailman id 639420;
 Thu, 23 Nov 2023 08:19: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r64vu-0000mH-7Z
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:19:34 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20608.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::608])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 071c7973-89d9-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 09:19:32 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8493.eurprd04.prod.outlook.com (2603:10a6:10:2c5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.13; Thu, 23 Nov
 2023 08:19:29 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 08: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>
X-Inumbo-ID: 071c7973-89d9-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Z6cdYMKN7UxPse5GLl6j5vnSdsjvDVDuUBFWv67dj8ng6DK6sdezAP79hqw7HPlJMjW7XzshdzFaPIKNttQIy1Lt2WMiHH5lrT3uilm4ILiz0M74WkgdeqrG5/S74ShArPERvqKFJuHmPmLx9kt+n1a/mu0yP12xtbQsTxHP++4UVtkeqXJ1KN7+O2RzxN3BfDE5X1k0zwK1zc9sjzWcA+IRiiAc10iMhUB621b00jj0ykIasDQavTm2otycB4j6rdKm8FO0JX7VWtOunMbDjW+mDDFXUne0WgbSng6SmKJkS2Cl4xNRNna+u4Po66kbx4cxRrpdLjGPJP6PEfoWww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=02IMtu63KczNBwt8NGFFouUz3pe8jJXocvgdW90d5mg=;
 b=F73gt0EMmu33IPsKqbBiQjxuhFv8Rw+F/3Lgj3Jq9oYWWqQnw0uO5xNhLu9oJG0X1ujDjF8/Qz63h023WY8Vkh4eRhnuJZxhS1xVsZE+3hePzGWTjdW4wieVQXLJPXjJpaakPAKNCKyaYMBBg/MK7eVuItoiS3emnpBj+eqGsxU79hkWCGdFYXdd+aMPntfOpOf6EhJ269O+MXbbx2GE3Oss7+3UPwSMm1GYk8llHeoGMmZ5ESopFdUtrhRGAvxq6bh8Qh2Yizl5T58fsfb/lY6cPsncN2ApKQQCZ2lq0pRKNrR+qsTwjLKqVeWpugsIRUbjchrzHj4bmMBfHdv7wQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=02IMtu63KczNBwt8NGFFouUz3pe8jJXocvgdW90d5mg=;
 b=E2nH+1bPRU4mnK1WTpU9lQs4NUGJIcMdVT/8yxIBZw4H/w17WSlBG7vRCyzL5KvJUo62Closb3KdLBa1YrcXFS7GYdDLX5GEKdN068w2UyNuHMqehiWvoLEXSifPVbmT3WoRmZLJuGQ0gRBTy4fCizgXDKp3LFycEQ6w76vVXPDBgEvE8XL95eAP5nnpMPgYRr46z469LqB7PiTF7u50EFFUC6uTr5H7afYyqcr3uxaamuRIejcjCEhxWuKL4HG6ZFoOsJ+BXal1Iz4eWFjA86Tp+K8KG0r0TMb5PsDWv0TWKGRBzki8PBOgjkWMGDq75ep7D7gL+Zd3WILDd5ylHA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4aa80555-2c57-4470-a914-e22df497a040@suse.com>
Date: Thu, 23 Nov 2023 09:19:27 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3 0/2] use the macro ISOLATE_LSB where appropriate
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Paul Durrant <paul@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1700724699.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cover.1700724699.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0074.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8493:EE_
X-MS-Office365-Filtering-Correlation-Id: edbaf8e7-45dd-47f3-7dde-08dbebfcea3f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jRjn0NBGeEXjBJTF49Y10Nc1WdVMOk5b0x+lSLAxWTf2vstHQ6xIbXuJ7TIWLDgIdemINQVakjBetfJuo1vXRLLA3QZ6vOvtd9m5pN93yf63MqIqogbFgCvzmi04kZaavgUVy3FRRKVQQJozpIoUDg9vdUgqV4jP8GYjsZ/Hr/B0bmVKu+hTvxhl82z1HSUgU/0OjdDxDm0+CwOrVDHj+QoiWExDvUIU4wO06jVUlfKJfQPVMHTs3HELQUfpw3iQqiabdK315U7ve7OCJJoGYAuVjM4PrMsRpXC+WXPAGaOJfYSYyDfDeNIcXPQ488jXsgG+ec6cG8sIGFDG1jYCYCxf349KbITiEqRVRkw9nSlzt2WnBK4dpun5MtQx5JGMLSUVrcsri4BQQalp4SprFQYbkY4oqr2wgN+ui3YhwmEst9KIJfg3TcIgrjldVOvoAiXKZYdrGyY8APVdJ7wCZ+VMXsh5hkg1b1kQhDpwMT/x03mXTnZc440Up4OHbt0pnghxvGuVBoB3VWMCwiQ2g73XLMrnKfOgGTDFgPQS5EzDEYa4ipqaP/kQsWF/etcP2qaUGzuExe1BL7WxxPOWO2UZjgFzs0V96BHFbseFsqgT5pX5927jQ6dl9aiwSO71hBpULmXaSbtIg4PJ8Mvrxg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(39860400002)(366004)(376002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(6486002)(53546011)(6506007)(36756003)(6512007)(26005)(7416002)(4744005)(2906002)(31696002)(2616005)(5660300002)(86362001)(54906003)(8676002)(8936002)(66476007)(66946007)(66556008)(6916009)(316002)(83380400001)(4326008)(41300700001)(38100700002)(478600001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WDZwUmxpUjhQT3hNdGxNcmZWeVJCellON0NySTByVzBiaHU5a0oxejBrWmx4?=
 =?utf-8?B?SzBEVkJDN2ZnTE8vaWNNcUlMUUNPNTVxWmM4VW9LWEdpY05idVdVcjZDRzlr?=
 =?utf-8?B?RC9aYjZjbm1jS3Z6c0VrcUMvbW4zZndGMjFrb2JzTm5YYXNJdFU5NGhyd2Ir?=
 =?utf-8?B?ZmtQSmdQSE44b2EvbkNvakRCbkh6bk96VDh5eERrMFBaTlR6c3hId090ZFRu?=
 =?utf-8?B?V2VvcWdVVjZmdk9ObVBCQzI3ZE9mL0FuQnVVUkZKdlBzSGtTZlFPKy9zR3Ni?=
 =?utf-8?B?Nmc5QXNnRGExRW0xNk5NUG5vOVBpcTFVUksyZEIrV09YQ29oSC9Nb1IvSnUw?=
 =?utf-8?B?QnpCRmN0MURMUHZqUDFBdDR1OFpWRm53L2dkZTd2YmpIMFdmQ2FQd1R5cldS?=
 =?utf-8?B?eEVHM2wrUlQydVdOdVptdXRNaUdDZ2oyeUtyaG1ncDlzUXNJdUhuam0ydzNQ?=
 =?utf-8?B?TFZ2UWpuNDNrY1FTeVhnL0ZIVUUybE9KQ0pQQWphRGVveXZTTmF2b3NZU0My?=
 =?utf-8?B?L3FycnRxQkw5ZjBrS1UybnVtdGpmOFZjclFNbDdwRTdlRHNiWEpVeTF6M1Zz?=
 =?utf-8?B?dHV2N0V1R1Z1bVhabDYwM2lsL0xBamI1Si9idDRSWHliZlMrT0p6Z2pvL0xC?=
 =?utf-8?B?Ky9qOHA3cERVeUJHWDl2NHF5SGFHR1dINVdIMUIzVXVVanlJZWY0cjYzZ1lY?=
 =?utf-8?B?ckVFVmRtdkxvRGlBNkdISDEzT0pWUDJWVHJWSnhpQWl4UEdKUFZhLysyNnd2?=
 =?utf-8?B?citiTktHcW9tVzFvV1Vac3ZVMFVpZzRrVlB4Tm1kMUIyTDlhZi9HelpMNmcv?=
 =?utf-8?B?alB3T3k4cHR4c1E3MFdkaW1PR3NVQ1NQa1hxSDBGTjNSdWs1WnR1eHdmbnE2?=
 =?utf-8?B?WXVVcjlFMnErL2V1eXlzOUthY3dUN3ArSHFxSHJKdjZiK0xCTC92Y24rQTZF?=
 =?utf-8?B?M0J6WlRaZFo3cWhmQ0JUSlRzam9xc0NJaUx1ZGVvZXBDZDRVNnR0blFlaGpr?=
 =?utf-8?B?K0ZkT2h3Wkg1enpTUUZRSG9QeXpzWkZVMTFaT2QvN2o5dUo0WG96ditGTGdF?=
 =?utf-8?B?QzJ0NVN6cVEwN2NWNzQydnBWcXNmTEJOWVc2MGN4Mm5YQXpsenBlK3o1RVlz?=
 =?utf-8?B?NU5OSE0zSldrUGx4MUtRN002YlkwN21jMGZjaXNuT2t2bUUrdWJtRUhaZW5Y?=
 =?utf-8?B?YzlrQzhJTkZXWExpWFM4VGwxMHdVL2Fpbm81d00yYnRBOFR2c0hnNVZNSzBD?=
 =?utf-8?B?KzRxcEw1T3NZaFJ1VHQzLzYxV01JTFBOVEdKUDRFMExjUzhnT0kxbjhuUnc1?=
 =?utf-8?B?RjFTNSs4aTNXM0ZNb1R3aFhYU0ZQZkwzZm9BZWdnSDA4NURHK3FlQ0JBV2pN?=
 =?utf-8?B?Z2VlQnFIamt3TWRiTjgyL2g2R2lveHB4YTYvU0hiVmsxT0Y3TEIwZ1hDVnQ1?=
 =?utf-8?B?dFh1aFdNdnBjemxaVWZicXNtWHhlNUtibGdpVWFQUVB2cDFCUzBUbU9PanMx?=
 =?utf-8?B?TExrYnNIdXlmQ0tKZnNJSW5tdzlaQzZzdzEvbWNEcE5nL3RXcVFoK3NQYWJp?=
 =?utf-8?B?aTFCaHJ6RFhPaWFSMko2NHFyWldjNUoyaGRyM0xQK012azA5WWVzWklpZlI2?=
 =?utf-8?B?RFVTY0lIMTdESmlrcDdnMlRhcDZNcDlRK2dQdHVPcGw1S21lbW13cmM4dzNz?=
 =?utf-8?B?M3JxbWhqZ0NXOTZ6TFc4Vko1cE1YdDVqWm9vSzFBbk5Vb0duNFc4ZVBKUUcx?=
 =?utf-8?B?Smt1YWJRZGp4QTlDV05sbWVWZXZoa1d5Mks5YWxpbmZXYkMya2hpQngrS1A1?=
 =?utf-8?B?Q1FaRXNVWEUxb3hjaDlSVTZ3KzdIYnc3b21MQ2I2WllLWmoraFFIYXYrMlRz?=
 =?utf-8?B?VFNFWmlwV29pOUkxWWFjS0VZNkw4ZnFjVFZXd0tkOTFaZWduMmkwa0UzWGN6?=
 =?utf-8?B?aFNqMjBOY3FvS2hOUTNjeDFZbGhKVUljLzFJQ0wrMDBBZGZDYkJJVnpNdFNM?=
 =?utf-8?B?VnJ0akcxU0daV0V0dVk0c2R2YUpFaS9TbjMxTUF1NkNXNmhROFdSeEJ0OUpq?=
 =?utf-8?B?SnZzczl1S2FMdHEwa0NncTQ4VE5PcGdBT2Rud0JPTmk5TmxKMzFMN3ByYVpC?=
 =?utf-8?Q?Jw62GqCA9npgTgm0pzVBa5q7g?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: edbaf8e7-45dd-47f3-7dde-08dbebfcea3f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 08:19:29.8538
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: kThT5pkgf3GqNBTqQtrI0g6rgCnI/SuCZz9cHTDGpCMgw72zoulvSCrKeI6KjeR9epoBLv+BpGdi3GlJCfENyg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8493

On 23.11.2023 08:37, Nicola Vetrini wrote:
> This series replaces two instances of the pattern (x & -x) with the
> macro ISOLATE_LSB.
> 
> Nicola Vetrini (2):
>   xen/vmap: use ISOLATE_LSB to wrap a violation of Rule 10.1
>   xen/iommu: use ISOLATE_LSB to wrap a violation of Rule 10.1
> 
>  xen/common/vmap.c               | 2 +-
>  xen/drivers/passthrough/iommu.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)

Just to mention it: This is an example of where tracking the various pieces
of Misra work is artificially made difficult (see e.g. earlier respective
remarks by Julien). Why wasn't this combined into a single series together
with the 3-patch one sent the same minute?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:28:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639423.996771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r654S-00037m-OE; Thu, 23 Nov 2023 08:28:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639423.996771; Thu, 23 Nov 2023 08:28: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 1r654S-00037f-KP; Thu, 23 Nov 2023 08:28:24 +0000
Received: by outflank-mailman (input) for mailman id 639423;
 Thu, 23 Nov 2023 08:28: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r654R-00037W-FC
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:28:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4355a94f-89da-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 09:28:22 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id C86564EE073C;
 Thu, 23 Nov 2023 09:28:21 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4355a94f-89da-11ee-98e2-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 23 Nov 2023 09:28:21 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, George Dunlap
 <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Wei Liu
 <wl@xen.org>, Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3 0/2] use the macro ISOLATE_LSB where appropriate
In-Reply-To: <4aa80555-2c57-4470-a914-e22df497a040@suse.com>
References: <cover.1700724699.git.nicola.vetrini@bugseng.com>
 <4aa80555-2c57-4470-a914-e22df497a040@suse.com>
Message-ID: <a1d2db3d7663bdf2072e0cba211f0120@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-23 09:19, Jan Beulich wrote:
> On 23.11.2023 08:37, Nicola Vetrini wrote:
>> This series replaces two instances of the pattern (x & -x) with the
>> macro ISOLATE_LSB.
>> 
>> Nicola Vetrini (2):
>>   xen/vmap: use ISOLATE_LSB to wrap a violation of Rule 10.1
>>   xen/iommu: use ISOLATE_LSB to wrap a violation of Rule 10.1
>> 
>>  xen/common/vmap.c               | 2 +-
>>  xen/drivers/passthrough/iommu.c | 2 +-
>>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> Just to mention it: This is an example of where tracking the various 
> pieces
> of Misra work is artificially made difficult (see e.g. earlier 
> respective
> remarks by Julien). Why wasn't this combined into a single series 
> together
> with the 3-patch one sent the same minute?
> 
> Jan

I didn't think of collapsing them

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:30:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:30:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639426.996781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6562-0003gi-3c; Thu, 23 Nov 2023 08:30:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639426.996781; Thu, 23 Nov 2023 08: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 1r6561-0003gP-VZ; Thu, 23 Nov 2023 08:30:01 +0000
Received: by outflank-mailman (input) for mailman id 639426;
 Thu, 23 Nov 2023 08:30: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r6560-0003gA-Mc
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:30:00 +0000
Received: from mail-wr1-x432.google.com (mail-wr1-x432.google.com
 [2a00:1450:4864:20::432])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7cc91b88-89da-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 09:29:58 +0100 (CET)
Received: by mail-wr1-x432.google.com with SMTP id
 ffacd0b85a97d-332d2948170so374516f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 00:29:58 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 f6-20020adff586000000b00332e1c46dddsm1006616wro.98.2023.11.23.00.29.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 00:29:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7cc91b88-89da-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700728198; x=1701332998; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=vP+w6RYkjPtTtCQctLEkfhmmauSXZnrpv1vCfCCJGIA=;
        b=QkrsxxskAl6xjZ5kuBPR58jE7+Xkf6DJ4+7aQjk4lBUk7PcLZaizRwWtikGtgZHvfN
         RXuSk2pM3lLM+NK3k+T0OIN3zwWia8vUGpyZ7KBnb6k9PkYzeKfcg3ns05JaF8wcv9YX
         jjQ/0JD3SIUTVdB6vshmsrnJATwNcbWxXdpgY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700728198; x=1701332998;
        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:subject:date:message-id:reply-to;
        bh=vP+w6RYkjPtTtCQctLEkfhmmauSXZnrpv1vCfCCJGIA=;
        b=FlD+G67l9qOMIvosRP4E1aPfeh/Eam1h2lnVY27LJ5LDlCnGEmMXernMvgSVD9V70l
         aVpXfnWJG632KdUh+pLttdAB6LT3a94MYudgys4Tdqn6E1OLA60GZaJv8m2yyzuKya8s
         7T897gaswsrsZ3SRfy35Jeu58G7Nv3X1RHrKxdf+iXZlaELgTHrbKRMMmRdbS8Ocxqaw
         37FmEbdNBK++e+Gzjmz7bFyM0BaSaxsBDcJn5HMwyBj9fe2XwGqKhfsJkHeIK47NF1rE
         /8gxKH3HfoyzrNUwFPRsRh1hiG106pYj+z5y+V10tjlEBKAV74KJnTjQ9gee2din24ED
         xjSw==
X-Gm-Message-State: AOJu0YxRNul68B6TE7qC/4OQRtb7awo7+Xcnmwx6dJJPdI3+CZ/r2Vr+
	ELigGx1FM48LNpp/5Wd91+EH3A==
X-Google-Smtp-Source: AGHT+IFykie6bUjHTiwqTpYG+2mnJDivvBLuUSk5aIv9rERVGUwns40hdZmPXXGLn0Qo7ONDNcE6pA==
X-Received: by 2002:a05:6000:178c:b0:332:d07a:6fc0 with SMTP id e12-20020a056000178c00b00332d07a6fc0mr3403176wrg.10.1700728198044;
        Thu, 23 Nov 2023 00:29:58 -0800 (PST)
Date: Thu, 23 Nov 2023 09:29:56 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Julien Grall <julien@xen.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Message-ID: <ZV8NhPohwTDWXOTk@macbook>
References: <87a5rc4gk7.fsf@epam.com>
 <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org>
 <8734x43zxi.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
 <87edgo2f6j.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop>
 <87ttpg0wdx.fsf@epam.com>
 <alpine.DEB.2.22.394.2311211712090.2053963@ubuntu-linux-20-04-desktop>
 <ZV3r1uc3av1wQu4W@macbook>
 <alpine.DEB.2.22.394.2311221306060.2053963@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2311221306060.2053963@ubuntu-linux-20-04-desktop>

On Wed, Nov 22, 2023 at 01:18:32PM -0800, Stefano Stabellini wrote:
> On Wed, 22 Nov 2023, Roger Pau Monné wrote:
> > On Tue, Nov 21, 2023 at 05:12:15PM -0800, Stefano Stabellini wrote:
> > > Let me expand on this. Like I wrote above, I think it is important that
> > > Xen vPCI is the only in-use PCI Root Complex emulator. If it makes the
> > > QEMU implementation easier, it is OK if QEMU emulates an unneeded and
> > > unused PCI Root Complex. From Xen point of view, it doesn't exist.
> > > 
> > > In terms if ioreq registration, QEMU calls
> > > xendevicemodel_map_pcidev_to_ioreq_server for each PCI BDF it wants to
> > > emulate. That way, Xen vPCI knows exactly what PCI config space
> > > reads/writes to forward to QEMU.
> > > 
> > > Let's say that:
> > > - 00:02.0 is PCI passthrough device
> > > - 00:03.0 is a PCI emulated device
> > > 
> > > QEMU would register 00:03.0 and vPCI would know to forward anything
> > > related to 00:03.0 to QEMU, but not 00:02.0.
> > 
> > I think there's some work here so that we have a proper hierarchy
> > inside of Xen.  Right now both ioreq and vpci expect to decode the
> > accesses to the PCI config space, and setup (MM)IO handlers to trap
> > ECAM, see vpci_ecam_{read,write}().
> > 
> > I think we want to move to a model where vPCI doesn't setup MMIO traps
> > itself, and instead relies on ioreq to do the decoding and forwarding
> > of accesses.  We need some work in order to represent an internal
> > ioreq handler, but that shouldn't be too complicated.  IOW: vpci
> > should register devices it's handling with ioreq, much like QEMU does.
> 
> I think this could be a good idea.
> 
> This would be the very first IOREQ handler implemented in Xen itself,
> rather than outside of Xen. Some code refactoring might be required,
> which worries me given that vPCI is at v10 and has been pending for
> years. I think it could make sense as a follow-up series, not v11.

That's perfectly fine for me, most of the series here just deal with
the logic to intercept guest access to the config space and is
completely agnostic as to how the accesses are intercepted.

> I think this idea would be beneficial if, in the example above, vPCI
> doesn't really need to know about device 00:03.0. vPCI registers via
> IOREQ the PCI Root Complex and device 00:02.0 only, QEMU registers
> 00:03.0, and everything works. vPCI is not involved at all in PCI config
> space reads and writes for 00:03.0. If this is the case, then moving
> vPCI to IOREQ could be good.

Given your description above, with the root complex implemented in
vPCI, we would need to mandate vPCI together with ioreqs even if no
passthrough devices are using vPCI itself (just for the emulation of
the root complex).  Which is fine, just wanted to mention the
dependency.

> On the other hand if vPCI actually needs to know that 00:03.0 exists,
> perhaps because it changes something in the PCI Root Complex emulation
> or vPCI needs to take some action when PCI config space registers of
> 00:03.0 are written to, then I think this model doesn't work well. If
> this is the case, then I think it would be best to keep vPCI as MMIO
> handler and let vPCI forward to IOREQ when appropriate.

At first approximation I don't think we would have such interactions,
otherwise the whole premise of ioreq being able to register individual
PCI devices would be broken.

XenSever already has scenarios with two different user-space emulators
(ie: two different ioreq servers) handling accesses to different
devices in the same PCI bus, and there's no interaction with the root
complex required.

> I haven't run any experiements, but my gut feeling tells me that we'll
> have to follow the second approach because the first is too limiting.

Iff there's some case where a change to a downstream PCI device needs
to be propagated to the root complex, then such mechanism should be
implemented as part of the ioreq interface, otherwise the whole model
is broken.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:30:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:30:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639431.996790 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r656h-00052V-BG; Thu, 23 Nov 2023 08:30:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639431.996790; Thu, 23 Nov 2023 08:30: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 1r656h-00052O-8U; Thu, 23 Nov 2023 08:30:43 +0000
Received: by outflank-mailman (input) for mailman id 639431;
 Thu, 23 Nov 2023 08:30: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r656g-0004tF-2h
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:30:42 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe02::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 962cbe58-89da-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 09:30:41 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8943.eurprd04.prod.outlook.com (2603:10a6:102:20e::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Thu, 23 Nov
 2023 08:30:38 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 08: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>
X-Inumbo-ID: 962cbe58-89da-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cgm9pxSQjuBrIjIWluGAfPa2rpLjpyZZ/MhBjd9XUdq7BBuHhbCSfcJSzBhJ93D3ql0GeBQebfFhi3cE6GMWVw6mvtiJzHeS9c208r9CL4iuQM2K90Fbmtmf4SSw6+fJdQkL/ixaUgbA2K58Aph54et8FjkhgVVdcMNwJVzVZ+pnDbGSAvlH4fqMDVrOr3AZWseyZ42p8phCQ5Tu/Q7VuM2w2kBssiTyz1D9DQJTDdQK1j8XTW8XsVXoJWj0XwGjU/fNgfQj+h+4IJFdvnHbzuWPQ45ecUErWzIwpSQGAjo6CgNwQ5lfPpziAWqmySWyqPFU1JhRvZ+3FxnYrYvMhg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E6ClyfuTFA9yRI/eRw9uLOoTulkpS6bS4t2F5EmxLGc=;
 b=E9kcYOG16Jv7bNMf8H+VtDc0usQgPNqEKd3UnlX+7jtl7g5dKmSOnjJT8pOtYM21KlaFt4B29PuEpXKQbg1CQuZZIZix/qLLriNwz+TTsv9o8gnv+X2x2uwyTRe2lfGxLMtEqCFTRM874r0DfjWcbQ3JztNo+PWWLJzIlgaNNsOV4r4h0E5RguOAynpmVSnrSCPm7Jvb8oSYvZDRp/Pd/T6NkAutC1U6SMtXbJGnRIMZFtxDnkUU4/gNpUyJCbh3I/EBzH1S5+xhH6noe4kysKnO4e2fo0wNy38eNK0IUqFsW/hmkcsC3szRKz1+QKYz5fNJbUF+YRmI1pEzJcyYdQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E6ClyfuTFA9yRI/eRw9uLOoTulkpS6bS4t2F5EmxLGc=;
 b=nfUeonEX4/v1xJYArJ6FsZBC4mAMJ0oEEAOv7OLVnBEC8aLTZMnuQhsY5/a3wqOX8Z7fBQAvXGoEf9P+4QPrM0ljTxPdNDrGkpSvwANsau3WLYoUcsPJQ00X/5Q5hFSDtMOY/XA5o+E7DQL7iWwh0FiEaE7vhteArMnpnRQUhES/F9VfbK8otEf1UOOdtM22o/1lGIygRspHtVyyHh+Kr7EZGGt1zJ8sr7lXnGN+zFa8wozUe496eZj+w/T45Fb/Zw9/2CCGsMmMTJ/nh5YMt2lRww8EGr8xHuFH/ZQ951W/y+Dcv9k38qBUiT0FiNSR3D0P7V98icKu0/yjm1aEPg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5a8f90d6-6502-4d93-9fd7-45fea0ede24a@suse.com>
Date: Thu, 23 Nov 2023 09:30:36 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] do_multicall and MISRA Rule 8.3
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: federico.serafini@bugseng.com, Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 xen-devel@lists.xenproject.org
References: <alpine.DEB.2.22.394.2311221331130.2053963@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311221331130.2053963@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0227.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8943:EE_
X-MS-Office365-Filtering-Correlation-Id: 38bcfd3c-06b6-4a96-0da8-08dbebfe7892
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	IX1dgaHQyX2J4MmIPPcx9aKQsN6iCXLPLsJyMNBKLbl5/Hnias3Ge7qlscZOXQ3qGeEjnMSgnSWdpFRAxWYUr9npte0QrPus/v2XUu9/MG5a1YInbkYEYyekPMaajgvKXkF5djv42tYYIw2pLo3CHnn3+6y5Dn+RGpHtRgvh/R0tpAVT2jj7wtZvUrCZWssqv6teRizpGDPoM6MVrKPmeJexraoDJZmXvFMoHyL+VCVuQHo27LiRtZjhWEv2TdmjbZqz23jCgfg6umo6hQhwz7lcUzHR4IWmzddxOgh2LB6LxGw6p03+rxDa/sof+DUWNGWm/PYEQ+wUNo2qnX6MeaKyPQhYk3cO596EZiJ2DT5hohDAbb3vQZp+p7GcTRTOqRpWynCB7SfqY8F3ByxjcwtSnU7CWGW2c0J8ajQXQEQcpsuxcS3iI+0Ti3t24jMie38Au1F4IsKQEX5uIBdU2aVPyQcYM65WJ7SaJFnYbSHGhY56CsMhQWIKfgequ2m75qc+XoXI3mlfM6Qxw0h2vZeNupTY+XUW3/RvnzTMJGx0YMVoG4MtvO4MH5fwRWaGYL9e5PDQt6pAz2xTj5a8tusWhiJ+hbC5CK3M1R84I95N0hgUeJU8Rd9U5VDeHjKyXDlFggRWbnWsd0Wl3y8rDZlBqbOe1E99GTkKjSyfu4Xdhv7V+ChkSxcBnXcpvY69
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(396003)(346002)(39860400002)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(31686004)(26005)(6512007)(2616005)(86362001)(31696002)(36756003)(38100700002)(478600001)(2906002)(5660300002)(6506007)(53546011)(4326008)(66476007)(54906003)(66556008)(316002)(66946007)(8936002)(8676002)(6916009)(41300700001)(6486002)(966005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?czdxNGczVWpsSUZQTTBvK1VOVG5rTXNzaG82bnNLRkE0TVRZbXFicDhYYWIx?=
 =?utf-8?B?QnEvek13akFDWXRrTTQ0TGdTY3JYM2xFOTZIQUcrT01IZFc5ZVN4aTdFTzEz?=
 =?utf-8?B?TE5qaUNDM0NVdVdFeTZJOVBGb3ZpTUI1ck8rck81aVY4cmpwRkxmbXdGWEFi?=
 =?utf-8?B?L0VVbXo5dHU2N2t5VnozRE1udlFjYXk0ZktuMm9LQk5WbEl6MFVwc2Y5NUNW?=
 =?utf-8?B?VGZ5cTZjMnl6eVR5QVNJQVBxKzlsb0RLK21GUllOUjFKM1lOb0VGWFVkRE90?=
 =?utf-8?B?MzZrd2lRVDBTVUlHR0NXcTNtejFkQjhYaXlRVDJoNTBoYzRHQm1reElJSFRY?=
 =?utf-8?B?ajVOajc1U3lwQ1dOUDBuVUpTaW9LRzRualVtajB2Q0NURnhPS1hDLzZXWmIy?=
 =?utf-8?B?NDZiM2lYbm5NQUR3Z1lyNVhiT0hNNkdXMFlrMGQ3R3NvUExCYVU5SlBiMGdT?=
 =?utf-8?B?ckRZaU5BeExEUzNyV0NEei9uVFA2Z01KRGNZbmRpKzRmQjlZZkhnS3doUjEy?=
 =?utf-8?B?bnpoR0lLS1ZVdjJkTGI2dzZ5NXhpVDJidDNJc0lUanlwdHdYS1Ztc3ZzMk5x?=
 =?utf-8?B?azFnTlZoaVJoMS8wU0NFR3lOSGg4bVpRS2lvOEgwVDg5cDc3SHo2THhmdmNx?=
 =?utf-8?B?RERVYmplYVJBdjc1VWNDQ25Qam5NU3h0cHFDcTZQRWJXWEV0NXhvdy9ObDFG?=
 =?utf-8?B?RU9CZGlOa3JFYzJLRUEvOEdZSTRzbm9icGNxTU5QcFBLc3Z1R0NmbVJtV0Vv?=
 =?utf-8?B?V25QOHNQRGZKbjAycitvV0orUnprWTJRNG9WZHhGajdjNGhtNk96TkdQNktx?=
 =?utf-8?B?Zk1NbFNjSVBoODVUb0dlcmVMRTd2T2xXQ3FTSkdERmhhRGg4TjFDNk1ZYklO?=
 =?utf-8?B?MUZ3UkNEMzFId3lEeXNrN3JRMDlrRUF5UWdkTkZyb1g0QnkyZmRlZmdBczhy?=
 =?utf-8?B?V1o2bGZqWC9mRHJMZTNpVU96RTExRm01TzFOV2ZDQ0FLcGxqc1dEeDdXM3Qz?=
 =?utf-8?B?c1pwcFJPOUtLekVJbTMzMzJzWG9nRkhRalJaUTJ3amFSeThQZjRqL1BUYXV1?=
 =?utf-8?B?M25ibGhEVWg0TXlLdHNISDNtODZuR1o4WDhXRmhGaEc1RFAyaWFUYnhqRHMr?=
 =?utf-8?B?RHNTL2RNYUJOcklZOHlmMVlVQ21lTi94NWpLWXhmUURra252d0liOUo4S3FC?=
 =?utf-8?B?K0YyUWtBK3J4dTJEUFQvTzBEUlVxWW0yNng5cXc4c2tMcHI1aXJYaUd2c0hq?=
 =?utf-8?B?L2RGOGFZMHlldDF1NHhSbUtycm5qNDRUSVF4UnRVNzBxbjlWTE53YjlnU3I1?=
 =?utf-8?B?a0UvbFVFUHVTdEJsWUhzV2RyR2drRFhIeHJWNXQ0UEZjTjd6R1NmZWJQd0NP?=
 =?utf-8?B?SWxGNGhWdjBZbUxIdDR5WG4zdFVzMEJPRE1oYzhnclEwa3VOVld5d0thTmFH?=
 =?utf-8?B?SkttYklCZ05saC9GTnJNTXh2blNDWVlmRW5mSWZsTE5CNGQ4ZnFHYnJtVmxH?=
 =?utf-8?B?THk1d2tFeVQxdGg4b28xbHE3Zk84a1lxZ0dkTDE2eUl5UXdpVjVGN1hHMGI1?=
 =?utf-8?B?dHVoQ1ZhZVVkZ1ltTnBPcGVDZExZLytoQkRmRXBidDdENExTaHhHVDhWUWJq?=
 =?utf-8?B?MEJuMHhudWhBaEhNbjFMSmtvT3JIWkdiWlNFbDFieUloNlh6eFVwLzRyTkl4?=
 =?utf-8?B?QXcydDFhSzBXTWRHUTJCWmM4UEdvU29Kd250QVlZcllyc3lQUU56K2hRdnNG?=
 =?utf-8?B?cndoQTAvSFpoN0ZlMTJhVm9tcDNBb050NHhLQTh2RXJzWExPcHNKczVlc3lB?=
 =?utf-8?B?ZWhIQzU2dTFYQzZtN0RSTnpabEwyNlVKdnNSUGtNZzBFSlZ2dGFxcjhjRGRG?=
 =?utf-8?B?V1FMeXBBaHhTb1U1a0JYL1JzcXpuNXRFQ3hkRFNjZFJ1QnVEK0hkc2Zuckll?=
 =?utf-8?B?Nkt3NUJ3cjV5MjljdUFRYzhzU0NmUjY0MWI0QTA0eFREd0gwMHJHUUJpeHpv?=
 =?utf-8?B?OHZCSWVqeGIxYnJFUFg0THRleGtwTjg2VzdRY1V2d29wdEM4cnFXSTRvWFMr?=
 =?utf-8?B?QU9UWXR0ZTl3UjVhbjd4eko3MUUyWm81MUU2SEpRemtNL1oybVhiSGRFd0F5?=
 =?utf-8?Q?Bosd/VwzREoRTuUrW5GFiUkGT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 38bcfd3c-06b6-4a96-0da8-08dbebfe7892
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 08:30:38.1203
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: IoCrHed5OzOsK/2/8UVUYQfWEx9I2yoS4nerzC3tNygMt8G1beCV11nTR8I73EfnLG2aCNWz1PtLSW984b3F0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8943

On 22.11.2023 22:46, Stefano Stabellini wrote:
> Two out of three do_multicall definitions/declarations use uint32_t as
> type for the "nr_calls" parameters. Change the third one to be
> consistent with the other two. 
> 
> Link: https://lore.kernel.org/xen-devel/7e3abd4c0ef5127a07a60de1bf090a8aefac8e5c.1692717906.git.federico.serafini@bugseng.com/
> Link: https://lore.kernel.org/xen-devel/alpine.DEB.2.22.394.2308251502430.6458@ubuntu-linux-20-04-desktop/
> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>
> ---
> Note that a previous discussion showed disagreement between maintainers
> on this topic. The source of disagreements are that we don't want to
> change a guest-visible ABI and we haven't properly documented how to use
> types for guest ABIs.
> 
> As an example, fixed-width types have the advantage of being explicit
> about their size but sometimes register-size types are required (e.g.
> unsigned long). The C specification says little about the size of
> unsigned long and today, and we even use unsigned int in guest ABIs
> without specifying the expected width of unsigned int on the various
> arches. As Jan pointed out, in Xen we assume sizeof(int) >= 4, but
> that's not written anywhere as far as I can tell.
> 
> I think the appropriate solution would be to document properly our
> expectations of both fixed-width and non-fixed-width types, and how to
> use them for guest-visible ABIs.
> 
> In this patch I used uint32_t for a couple of reasons:
> - until we have better documentation, I feel more confident in using
>   explicitly-sized integers in guest-visible ABIs

I disagree with this way of looking at it. Guests don't invoke these
functions directly, and our assembly code sitting in between already is
expected to (and does) guarantee that (in the case here) unsigned int
would be okay to use (as would be unsigned long, but at least on x86
that's slightly less efficient), in line with what ./CODING_STYLE says.

Otoh structure definitions in the public interface of course need to
use fixed with types (and still doesn't properly do so in a few cases).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:32:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:32:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639435.996801 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6584-0005ix-Ph; Thu, 23 Nov 2023 08:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639435.996801; Thu, 23 Nov 2023 08: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 1r6584-0005iq-Mu; Thu, 23 Nov 2023 08:32:08 +0000
Received: by outflank-mailman (input) for mailman id 639435;
 Thu, 23 Nov 2023 08:32: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r6584-0005ii-1P
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:32:08 +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 c8d764b1-89da-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 09:32:06 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-40b358f216dso3148425e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 00:32:06 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 v19-20020adfd053000000b0032f79e55eb8sm958468wrh.16.2023.11.23.00.32.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 00:32:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c8d764b1-89da-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700728325; x=1701333125; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=gMHYJApn+ul/biwPCW3E63uVREwUCfJPZcr4em5OW5Q=;
        b=SwEshUgWbg/5lVsgoJ1r0hmYtXfVB+/ch1uQw3Nh0hQ3/PVeKaPys7/J6xN9X8XZ9x
         1K8J8kNqOZvDs7dLJA42V3VeXy+CNhL175OHwhDNzsme/U4ZmZii0ZrXKOA9ePPi1GyV
         lbLGj3W/Wt1DOaF1nIakUXQu3E8dqjl0gCqac=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700728325; x=1701333125;
        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:subject:date:message-id:reply-to;
        bh=gMHYJApn+ul/biwPCW3E63uVREwUCfJPZcr4em5OW5Q=;
        b=kcJM8WrvrQFvPWqJPOAusWKXGS53SMEjskm12rP9ZZ5waggj03+r+fuKwxa5ITuLcX
         e9ucG6qIf4fy3xVdn2DySd7W/yXronV/q0g8wETi3NjQCopPTNGBDg9fksnmGanQN0Zb
         PQI4JvA/WxRSw34jYYmzLp14PpPlruBtkHfwzr9brSdmknmocsyuN2E9LnleMWvIwFPH
         vEOrfIz3Lf6E2sB6Qeb+gDjEFs1XrBybJCVJPgylM6b+N9WdJ7fxQQ58Kc7XdVXv0tKe
         /m52gveEcUVFWFqhPubmhXMLzI9PVXSnR3MukgHIYG1fRAnJ65V69GLP+rBWhzuaIQWG
         CCAQ==
X-Gm-Message-State: AOJu0YyBLCxf1CXXueKXpnezA1sRPNhJeat60CSNfv8I4XGvB96QzYR8
	CkGbHMdwmXb1bm4nxUfThmk35A==
X-Google-Smtp-Source: AGHT+IFwvn67hH26s8zqdZITzUG8OcNhfmnvB+eJpoKmhyYbZU7NI5yNhpd00szAaYwsP+7JVsqL/Q==
X-Received: by 2002:a05:600c:45d2:b0:40b:273c:8b40 with SMTP id s18-20020a05600c45d200b0040b273c8b40mr4061330wmo.38.1700728325613;
        Thu, 23 Nov 2023 00:32:05 -0800 (PST)
Date: Thu, 23 Nov 2023 09:32:03 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel@lists.xenproject.org, Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/ACPI: constify acpi_enter_sleep argument
Message-ID: <ZV8OA8t7EAi-icx2@macbook>
References: <20231122170142.15038-1-frediano.ziglio@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231122170142.15038-1-frediano.ziglio@cloud.com>

On Wed, Nov 22, 2023 at 05:01:42PM +0000, Frediano Ziglio wrote:
> Minor style change, structure is not changed.
> No functional change.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:39:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639443.996811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r65FG-0007Ok-FT; Thu, 23 Nov 2023 08:39:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639443.996811; Thu, 23 Nov 2023 08:39: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 1r65FG-0007Od-Cn; Thu, 23 Nov 2023 08:39:34 +0000
Received: by outflank-mailman (input) for mailman id 639443;
 Thu, 23 Nov 2023 08:39: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r65FE-0007OX-Mv
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:39:32 +0000
Received: from EUR03-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur03on2062c.outbound.protection.outlook.com
 [2a01:111:f400:fe1b::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c8115d56-89db-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 09:39:14 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PR3PR04MB7259.eurprd04.prod.outlook.com (2603:10a6:102:8a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.13; Thu, 23 Nov
 2023 08:39:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 08: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: c8115d56-89db-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yq+qipWpN+t6vliASjYLozJSFsa19fNKXvUwPJte/D3zbyfHBOVVHp8F+c7rZSDX/S1CC4ItSXjd/sIYoTCOF7vY66vfo+ryhVZAz9ykh/MnKuqKH83JSgVTy+C3EGHGmnS4Nj3ccjTaaAoLZrNezXLb64on/6hqiJimQ13R4Ovzhcfk0rqp61UqwSrs7WaMoMwzGam3AU/x21fLL3W74zhO0EpFzWC4fubBgicwnFSIdA6EpvW1HwtP3vFtyZl1h8Bom2fn4IV4ZnJI7LHa4mlitzdxE4wi7obLbDrija7mJYe3w1dZnvezzVg2FQDDn/osIBSUrbe/bqUj1YS9Yg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6KnmZ/PWSQ/6mwMpdsoU3uu6C3LXnt/aNqTq7wkVGbU=;
 b=XT7+51eaz5AXA+kvaPflEe0aB+TTDjQdAPc4Px0Emyp6t4kKauPuZbu/vMfIl8HCmJg4pfNaHTaIG37Yuzb2TVsK+sLu7T+PCS+PXK7Jt6BDj3GfJHX9cERzM4j6KyYCbPCIrMVKdhHWB5k4n3+7tjWUeF0M2yNbo5E6Y/J2V1CRlVLPgeMZfiiZsu08hiNUPg42AZoQPNHyl+l98RhH8QNFF5G3kuRWH9Tv1W9/HMXNZq3FxLW1D8GfVFtN9KATLk2xsBxGIdKZGK8aj5OM+pbES6UAi3yt9WQQPImOJhFitH9iXa1ORvXdLOcpl79H45LuGaOLUWKlcq++RdN5Qw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6KnmZ/PWSQ/6mwMpdsoU3uu6C3LXnt/aNqTq7wkVGbU=;
 b=NwQE01YK3IZ5v22i+rqrTc19MwBNVHcBpoSz5tl/vIpTCNmrhDI/ZVlgYYUL7osY/iNv8JadJ9Xg8LDuR0oz+KSkBrU+LuEs3EOXFdJwwbBLecOv1gjyxVCcHQ3Uc5/4URyPyzzKs+yNXJCVYGHmrU9ZtdRP5GII0EmVCx6Zt6tsDB9iKqS6jYp/mn40gwImZfb7sjfzG7FUYoMg+b3BiBdYei0W+NZS4HR8UkppVlH/IkQTpxO2x38w3NVb16K7GXrnWUhdOhj0og5tC0zsU5DyHfQ3XyAGHorzXjbdptM5/hCS6ZJil6gOT5NtCrk7HbzXweCtkkPN5/vSuS77Tg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f36acdce-ed65-4270-a64c-103de414eacd@suse.com>
Date: Thu, 23 Nov 2023 09:39:09 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/ACPI: constify acpi_enter_sleep argument
Content-Language: en-US
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>
References: <20231122170142.15038-1-frediano.ziglio@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231122170142.15038-1-frediano.ziglio@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0316.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:eb::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PR3PR04MB7259:EE_
X-MS-Office365-Filtering-Correlation-Id: bfbaa2aa-9339-484c-d71f-08dbebffaab1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7FVsFt4HoBGpWCDWszXjBZ4TsO8+uyTAMdwIZpugCT/1vi2pWY5BAQXzhuEczfgNwj9SWQ2vj9kTNDP/R/LQXPJe4zm0Dwa5V9bY5SEqQ3uuxaeMR+cWQrsQaL3zMVIQw2YslO7beZgzxG5KjyAQUP0lNyK9OXFIcbPVPv+FpFNOKG1BlhNV+C2lguIHzDgT+Kok0u2xNGaSX0Nc5G6Qff/kb1nl6XjVyqiYRlKAj9it8pY6Lj/NhpmW1dZBjmm77NEWjl/ydbKqfoslmxmS0WlBPGlNWkmiY/4sFvV/akbLMvINqcp64hZYf262WU440SW2iiqgwU3NuReu0Hotyg8LmdsV4N9sore/22kE64AcWVMvYzL9D9yky5f7jaJMIq9v4mU3k3vzawufNLGkXfqbXRl8rxwx35nDrtkEN7AE+dpqs4sptUAIatEW4QuP7nw59TumDEbx1DXj4HbajLyN70Ij9a1K63u+fd1YG7infMlFh9BXrakl7tqChQj2FQE6W58zE8d2EyrI06GVEJSWkbDpp5F9O5sYkbwxtVqS5cKc+3dgOWJov4uV627kQgjCMuANHXpCN39uxqoadsTiI4yTLnanzimywJiUpcDbB7o1ns0k+K+6CxknOyyQJVGJpXJkOhJOQ/k2tGMpRg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(136003)(376002)(396003)(346002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(31686004)(2616005)(26005)(6512007)(31696002)(36756003)(86362001)(558084003)(38100700002)(478600001)(5660300002)(2906002)(53546011)(6506007)(6916009)(8676002)(54906003)(316002)(66556008)(66476007)(4326008)(66946007)(8936002)(6486002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWFVSmRjUnZBQ1BBa2xTMGxGRmx0bGVyaHVLQjRzNmtWUDM3TVcvL3pTc2w1?=
 =?utf-8?B?T0hoeFY2YUUwTDJGTWtvYkcrK2RqL2ZDOXVQaTYrSFJZeDhZczV5VWFrS1Nv?=
 =?utf-8?B?OEZWQVVhSW9OOTVHYTFTUWRmb0swekg2aGlNT09QSU8xQ3BVTnpXQVJvZ1No?=
 =?utf-8?B?Qk1xQ1BxdjJDeUNiU2tVZXFKYzVaUnZFNjcxRWVkbmM1YXM4aTJMVVdFNlNs?=
 =?utf-8?B?RVM2andETnhnN3JPL0dzbmczckQ5Z2tXYzZBZjcwZFZKZ3VidklkOHN5T3VG?=
 =?utf-8?B?K3VLUmhuS0M1QkFOR25xUkM3RFlOcEJoYU5qOXBPVHJDcjh3WEVpbmRnZDYy?=
 =?utf-8?B?Y3JzL1pXeENpTkI2bFJYdC9taEo0ZDhaRktKbVkzeFVOZ3pjckpXTUJsS1lK?=
 =?utf-8?B?REFqdkFBUnJFRGdNZFQ2QzIwTXlXZjNsRnBudjlPOWZ5MEprZm9OTExpZUtF?=
 =?utf-8?B?ZDYvNDY4YVpvVGdHSGEzektHWXloMGRpc0FYZmxsLzYwMUI4SG5odGdQRlJt?=
 =?utf-8?B?S3BhTjlOS1hGVkExdldEcTQ5cGdTSzZlblEzUDBMYXpOZ2RDRVJHanV6dGhK?=
 =?utf-8?B?dHZ2RUJQRlJvSGRrWkJSMWZDQlIvdkM3T0NuRlNxT0pIc240Zk10Sk9adWZa?=
 =?utf-8?B?SEFsNHN5dVBzejlkWUg1SFZNc0dNR3BFSUUvc1NHVExZcm1xMEFpdlV6YzJj?=
 =?utf-8?B?V0l4MkgybmRBbXRjZzhjeFY3STJlZzl6VkVlQXFUSzl4MUJ0eTM5Qm4rUncr?=
 =?utf-8?B?aXZlWDRaTkJaUUlYYndrRmxDeWUxSmZXQTVyZERqYklrbXhLYXJsaEdadk50?=
 =?utf-8?B?N1hSTG1ESDdYbmlxM2l0Rkx0eERjQXgzS0pHWFhPdFZqUnFLWHBzZnFwaVFW?=
 =?utf-8?B?VDRoVUxUOGRLa3FoelpRRlkxR1krRWxpLzN2VDlDMlAzOUxDd3h5Z0JDdDNL?=
 =?utf-8?B?TlRCbEZ0THdXZWMzdzBSN2hGSjRnWEpjaDBRZWFSM2VBSTBkMEFML0pYSUJ4?=
 =?utf-8?B?bXVCNGZGRGE1Qk9yczJmK2hvK2R0ZmFTWHRNZmFvWEFHQlI0clFxNTVxK1RL?=
 =?utf-8?B?QUFxcXNFVmhWdjY2SXZPbWtWMVZVVllrTWlNcTAwb3ZVTnZsamlhaVc1d3V1?=
 =?utf-8?B?S0JLaXR2YzBFUXJMbk1KaVZsRFB3SXVKdklxSFdLcFoyUWZCVVg2OXFLOUg4?=
 =?utf-8?B?YVhYcEtLQmNzb3VZbjNOOTFZbkttR1NpT25Ka3dqUFJQTlQxNGxRVGNOMllq?=
 =?utf-8?B?WExJcFZJLzEwRW9IOEFjYTVyWHZEejBrczlsRnBuelRxY2hQbXNkS0VBV0E2?=
 =?utf-8?B?eWppa3ExbE51OWJWeGFJT3IxWjBqS1dvc2xFNlNySzVRVU11d1lkZndjNC9m?=
 =?utf-8?B?Q0pMZ2tCVHVaTFYxSzVyWGlhck9CMGVTUW5ZWDNIY3NkNk5iMTZXL1VOV1BW?=
 =?utf-8?B?Y0JUZWhld3BmVzNmVDZNdTQ0MEl2WUpxUVdId1F3WTVRMmtCODZYWWxlUU9S?=
 =?utf-8?B?ak9ydExQTGU2ZkMzMVo3QzR0L0xPamV3aHgxaWJUV0VRbnl6SEM2cFRHK2hW?=
 =?utf-8?B?dWZlNVh0RVdJUWpCMXQwUllpMkZhWEh0dERqRGM1K2hUNlBzalIyY2x4dFp4?=
 =?utf-8?B?ZXhybU16ZVllaGFUb0JJZGRrWU1sQzMzUVFGVno0MW5kc3I1TFRwcWN6dkNG?=
 =?utf-8?B?RFJXTHU2a2YrUE03SUJRTGNYTW5oS2NidUFNU3ZxKzZpOWR3dFFUcXJOTXFu?=
 =?utf-8?B?UmQ3bXpSTmVHTDlZYnhId1h0YmVrMkhZQ1VWdFFjS2lhYjdPWkdXZkcwTWRi?=
 =?utf-8?B?czRRSWk1TVZjU3hFc1EzckNNSlFiRWdqRmNaZUJtYnpXT0xPTHV2dXQxZ3c4?=
 =?utf-8?B?RlJSNTZkR1FpWHYyNUdkVDJjUFp0M293VlhBNUcra1M0a2tvcWNmZjZOYXF0?=
 =?utf-8?B?eC84RUN2Q0RFcER3V0YyQkZGQ3crb1dNR2JhTEk0d3lEMzZhWERnRlZ6RnM0?=
 =?utf-8?B?TnVDQnA0c1oyMjd6ZlJCajFuc1lXVWxMeERQZFB4amwzNGsxd2ljOTJsRnNo?=
 =?utf-8?B?SEJRNmh3U08zSlNEaHBYQjhrZGFaMm5UZmhPWjRmZXpha2JxTXVlOTVFTmVY?=
 =?utf-8?Q?FuvtVhO1sqxSZXBoIUckoidRL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bfbaa2aa-9339-484c-d71f-08dbebffaab1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 08:39:11.7051
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GAtCcDpI1dXG8hp8d8zCz7/K1EffeFaqZKOGNsPwakIThWQYLw6yjORhObUL/5zz5KiV2vXt5avcF783gI7Kdw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7259

On 22.11.2023 18:01, Frediano Ziglio wrote:
> Minor style change, structure is not changed.
> No functional change.
> 
> Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:57:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:57:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639446.996820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r65Wd-0003dY-Un; Thu, 23 Nov 2023 08:57:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639446.996820; Thu, 23 Nov 2023 08: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 1r65Wd-0003dR-Rw; Thu, 23 Nov 2023 08:57:31 +0000
Received: by outflank-mailman (input) for mailman id 639446;
 Thu, 23 Nov 2023 08: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r65Wc-0003dL-P0
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:57:30 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0617.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54088e38-89de-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 09:57:28 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8940.eurprd04.prod.outlook.com (2603:10a6:20b:40b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.12; Thu, 23 Nov
 2023 08:57:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 08:57: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: 54088e38-89de-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C6F4vRjyfiOSyxRG28GORtT+/pAEbzH8P/g4sZqlfvnJ2M0le+HDsax1346AgIFVWfebagK2m3DayJiS1yWlwQ2wPDFP//rcO9MJv2UtKA0LH5wYnT4VFdfx7tLhvC40EFN04mx71owjT5f/7BoY4zB0wygrgyQrTEWNsS643CQX4JmirdzkAdU34nOgTlETjxu/OAP44LFOcHKN+qw0EQJXvvNgNm8Yjh63R/ZqSf7K2dJV6HQ57C7bDZx9/b8Uext9B3xU6ztzphoUXD/d/J1RB0OoqyqZ5xDgzLJoEajfLGe3adEiAStH0dXwm7tdUYb4KTB6OWbdqhjeDRIAWQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9Skx4qkc5pqyD5L6obXEsehgBpIFy54wqunYCNmBYGo=;
 b=iDi64vt6hoYPvdtMdmVtW0CWj9DfF9C0IJBAWkzhp30CbUkRagm42vM5w3IhkrHhBqtJ5yHt5VzhHsdrDAkkfD+Wrp9cL+Z4Zjq5fwbc1in4dDQjobv6tV0/CUQWoVR5V36YKvndgPvYctX4y3zW+x3jAmX7cNNhAXu0Jz4VIxFajEKlfA9Bv4j8FtexwmVw5vF2x9OhpvQPTf1ae1hP0CjracdvBRLrJoxqVcWg9CIJKSfKMUV3m9fKYv/pARXc1KJAs85IxfdjrXM45lxnj9jLoMU8ja4+lr7DTu0JUzaNBklTsZJAs480wMXmliIFRcOEOYzJQZmq8kFjAjE12Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9Skx4qkc5pqyD5L6obXEsehgBpIFy54wqunYCNmBYGo=;
 b=x/AyT6uq4Dy8YyvDAVpBLJHBoIjF6UwMSnfsbO5wKKqH+/UCRmOVCPjEXshTAw26pEpB5asN3G8zdfUvzxmpcNzhnJV1d2geDR0Bhv59MmEx8enq5+1ZdmHiFILauO90bTJrDdJl1ViMurCVRM2XeDUdMJrIO3/wcariTXQr8KK3gJ9EN6uCd7t6EkfZtEOZvI5Y+XpyRGN4gvW6u5xhgT1asUxrmJ95oI1tEcPgjgCNFLdYZmeRB2tcyPmz45/aQPWIn+dUoz0JlrfcWduXnknZs2EvwgFF1uIDlW65VIHeIubRbsUInWAzKffWTErSU+X0ItN7PS0pxhQ64KGDGQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
Date: Thu, 23 Nov 2023 09:57:22 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>,
 Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0047.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f0::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8940:EE_
X-MS-Office365-Filtering-Correlation-Id: 8bc7540f-3358-4c5a-c1c5-08dbec023612
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rfkXb7w7yx2cz35Ty8ia6ytDl9Qig0n+UgpwZ4WsYGXAjf1CINMUlpSfOlYyr3m+AIG9m32EpkhM8Ni495ewrey+cDZC87VxncX6cJxsPXp2oQQju8XYEVrE+0Jhk9JBZ+lcdQBGD1NaLaY1FrAKx6dD5b6d5VE3etQn6VOViLqZn6AzzkzkVxUXL636IgpneJGpMlxXong//zCutuRFWu+aYOgaUHIC8pSZbkmwzYePdSyHpCGikBetiVBsxTh0jmUf2XlBNjc/hJGD8lq9Hv+OhRyqtv0Go6WS2hVQPL9hK9Cs56xRXI2PRlTX32wmGvoGaQwQpWjqT7KjQCMePcocSLXHhB5vU0Wh1x/bCxJgeavxXp2Ez5WM7g+bksfpnz4vP0RlbSsKXYi4OZmWYEwaDQ8Idrcy7J9PzIpOnhQ1I9CmwywkEYVwkrjDv9tUa2xvUmmG2DgcKTg70nCT8tMqOekpQylXnhLLNdfPn5/2VeVkquHxUawDEuTz8AZcemOMW5k1ou5yiqH/CpcMFLYU1zoe9+k36yz4pErLTWXMqh3ZoiF6XEIB+UKJsK/cir2SE9uXdox6REDx44PekP4MXUCozH+atLETh0kjoxEXNQjxHw3mNSVEoXfZvjOGvuYaOA9QzMsGiAQeTIOJ7Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(136003)(366004)(39860400002)(396003)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(4326008)(66476007)(66946007)(66556008)(6916009)(8676002)(8936002)(54906003)(316002)(53546011)(6506007)(2616005)(6512007)(478600001)(6486002)(2906002)(36756003)(41300700001)(5660300002)(7416002)(86362001)(31696002)(38100700002)(31686004)(83380400001)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Rk1wd1pxa0l5QTlhNU5TSWlLN0FkWnY0K2lBeWtQQ1RNRWw1Vytma3pMQVpn?=
 =?utf-8?B?T2s1MGZkZGVxbEtDcTNZUWJ0RFNoUXZzVnI0UzFmSzJYN3JPMGtlc003Yktl?=
 =?utf-8?B?QWxzbVFMSTd6NXU4N01YazdKU1lSTThoRk9ZQW5TTjVCNnpCSGZxTndwOXZ6?=
 =?utf-8?B?bzh5aEFENTJsNEl5WWNTb3dzaHljZTgyeURHYkN1cmswSmdHTmlhcUFEa1Vu?=
 =?utf-8?B?VUpNOEM5a09OT2tzNlRaallGeWlvY3NaSUNXTTJKNnpjd2kxd0NlaG5rSWp2?=
 =?utf-8?B?QkF0enNjbmdRbmp1Slo0U3M2R0RGc2QrU2lDZ3NoMlkzNmVXL211eFUrb2FW?=
 =?utf-8?B?cEdNd3M0ZURjUWZtMitOV3c5dzN2UzFGVVlnbzVDZW9pQnRyK3lFMFg0Ym5a?=
 =?utf-8?B?WmVVLytmNmtuWG9jdVZaNmQ2aWhRKzRLOUZxaFFHN3luVHJEZkFhaHZXNGRy?=
 =?utf-8?B?VEJ5MjIwSHlqUjBCWldZR3oxU3B0SG1LTUpzZjFEdmxFdGtWMmhOczdaUHZq?=
 =?utf-8?B?ZEdQZzlMWkN0R0ZVTE91WjZacHZqVTNtVzQ4UFQ2M0VwSUVqcElSM3ZyMUE0?=
 =?utf-8?B?OTFtdFVaSFRibThZMFZVNTFXdU0vN3FIZUN2amNRSXpVd0M2c3dJdG93MGdB?=
 =?utf-8?B?aVFvTE1wNEJYUUg3SFlRZjg2ZGhhRzVOdm9Ta1ZPV3dxaVhxajVSaWR1MGxy?=
 =?utf-8?B?bEhUQUVwNGlLellUdzJ6NUNTSUExeGw4ZlVtN0xQdko5YnNCWmNoUEMzQjJO?=
 =?utf-8?B?ekNMVmNjcmo5U0FiSGZMQSsrcER4M2Nhckp6ekxLQU1mMlAxNEtaMkRucWVk?=
 =?utf-8?B?WUhxS1FPbWtPcEFxeXYxZExtamlRVFhCeG5FbXpwQUs1b2l3enNUSmhxZVZa?=
 =?utf-8?B?NEl1WWFsQjhvMlZoU3pjQ3ZJdHJrb1NXd2Q4Tis1cy84Z3BJTVQvQjlidTd2?=
 =?utf-8?B?R1dQUXU2Y0xuNVFQdi9PcHhXemN0R2FqUTV2WlA0Y3g0VmE0cDZ0QlhBbDRx?=
 =?utf-8?B?NHVzRkViV01EUy9DM3hSTHJ6a1VPV3ExYUtWTlpVcEoxWm0rMzR2a01zWnIy?=
 =?utf-8?B?UERKd1NycFZwdU95ejFJdE0rR0s5KzlIRTh3aTZrdzl1RUgybFNoVFpYM0Nn?=
 =?utf-8?B?blZMVHFZdkRCeHFPZm9CU2xqNDczT0JvVDYwTWVWSXNpYWlFNkc3MGZaOWdz?=
 =?utf-8?B?Unh5QWh3azRYdS9kVVhpdUFsYko2R005WDA4bjZpUFZwMUgydHFDNDdndFZG?=
 =?utf-8?B?bFNxbHpBZmdTcDBuTkF5ekhiRXlTQnZIcjU1KzJWN0RhemZYYzVNQUE4dnFh?=
 =?utf-8?B?RmxPU2dDdmZIRktyVkV4WmNCeklzWE9UdXNRSWhTS0RvL0dleVhTMklscnZW?=
 =?utf-8?B?ZUxuT3Z2dXVKWTZjcUxpenZwZUFYbkdPSEpEV3pvUWN4eTE4ZlZmYjV3aHlm?=
 =?utf-8?B?OHVDN0NZMGdkelF4U1ZlcS9STWxURzByK1dVcXBaNHFCYlVBQXlsV0xnTnhJ?=
 =?utf-8?B?T09jSTBYSXBwdFVVaitoOTQ4L2JTMU1PZG9CRkdINjVhZGd2cFhVelZnMUUv?=
 =?utf-8?B?TUlSN28wbVdOMitsZHBiNGJRZm50d0ppWmdSYlpRb3NVQWZycDh3R0NsamFN?=
 =?utf-8?B?emdzTlROVkw3N05hSTFMRmVnWkU3eGwycGxXNGRxVGVnY3RlbWZ0bysyZ1o4?=
 =?utf-8?B?aE1pQ28ybGVPcVZYS21STVh4MmF6Z1pab0wwUU1LQlNpVm1UR3pKeTBrb3Rv?=
 =?utf-8?B?Tk03TVZMNnFMME5FY1JFRkRZU3NuVWtESi9RZjBqV3RwZ2dJdGNITFhPRWdC?=
 =?utf-8?B?blRraERiUEdXZHlDVFFVd1IxeUhULzJuS0xrdUhqelA3OWlsUWNkc3V0QlMz?=
 =?utf-8?B?a0FJaUc0U1ZhOGNsaEVoQnZsWDEzVDArc0tyY0JydUQ0WkMzS1FVVTlCck4w?=
 =?utf-8?B?UkwrRm9iOVFsaEZOV29kaWtibE8wN2dTRmJPUGh6SFljUE1lZnRiNjRmMnpV?=
 =?utf-8?B?NnM0TFlZWmpCSGY3NTlGTnkrSnIyUVN1bEpJeEdWQk9lMGd3eHdQUXh5bXlR?=
 =?utf-8?B?Mi9TQy9CSm05SGFaVEszWndMRkJoaHJZNUxma3ZPa1dNQ0xTZE9PVXpQZmJS?=
 =?utf-8?Q?Wk7m3lkyHkz1nHVVMeFxnrVIY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8bc7540f-3358-4c5a-c1c5-08dbec023612
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 08:57:24.5521
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7JjDFlKGHSijelIQQ6XQDcrmWf1A9sSsRygielWHpiU+Ctp8vzBVP21vG1oonGw8aV1uFcr+ns2eV3b4BoTAxA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8940

On 16.11.2023 10:08, Nicola Vetrini wrote:
> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
> by the asmlinkage pseudo-attribute, for the sake of uniformity.
> 
> Add missing 'xen/compiler.h' #include-s where needed.
> 
> The text in docs/misra/deviations.rst and docs/misra/safe.json
> is modified to reflect this change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> ---
> This patch should be applied after patch 2 of this series.
> The request made by Julien to update the wording is
> contained in the present patch.

Along with this request he supplied you with an ack. Did you drop that
for a particular reason, or did you simply forget to record it here?

> --- a/xen/arch/x86/boot/reloc.c
> +++ b/xen/arch/x86/boot/reloc.c
> @@ -28,6 +28,7 @@ asm (
>  
>  #include "defs.h"
>  
> +#include <xen/compiler.h>
>  #include <xen/kconfig.h>
>  #include <xen/multiboot.h>
>  #include <xen/multiboot2.h>
> @@ -348,9 +349,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t mbi_in, uint32_t video_out)
>      return mbi_out;
>  }
>  
> -/* SAF-1-safe */
> -void *__stdcall reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
> -                      uint32_t video_info)
> +void *asmlinkage __stdcall reloc(uint32_t magic, uint32_t in,
> +                                 uint32_t trampoline, uint32_t video_info)
>  {

One purpose of asmlinkage is to possibly alter the default C calling convention
to some more easy to use in assembly code. At least over a period of time Linux
for example used that on ix86. If we decided to do something like this, there
would be a collision with __stdcall. Hence I'm not convinced we can put
asmlinkage here. At which point the complete removal of SAF-1-safe also would
need dropping.

> --- a/xen/common/efi/boot.c
> +++ b/xen/common/efi/boot.c
> @@ -1254,9 +1254,8 @@ static void __init efi_exit_boot(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *Syste
>      efi_fw_vendor = (void *)efi_fw_vendor + DIRECTMAP_VIRT_START;
>  }
>  
> -/* SAF-1-safe */
> -void EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
> -                                      EFI_SYSTEM_TABLE *SystemTable)
> +void asmlinkage EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
> +                                                 EFI_SYSTEM_TABLE *SystemTable)

Same here wrt EFIAPI, as that also alters the calling convention.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 08:59:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 08:59:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639448.996831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r65YS-0004At-AG; Thu, 23 Nov 2023 08:59:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639448.996831; Thu, 23 Nov 2023 08:59: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 1r65YS-0004Am-6p; Thu, 23 Nov 2023 08:59:24 +0000
Received: by outflank-mailman (input) for mailman id 639448;
 Thu, 23 Nov 2023 08:59: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r65YR-0004Ac-Nr
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 08:59:23 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062e.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97b21237-89de-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 09:59:21 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB7491.eurprd04.prod.outlook.com (2603:10a6:20b:283::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.12; Thu, 23 Nov
 2023 08:59:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 08:59: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: 97b21237-89de-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RuuJ5dkGfalmi4/yY3WKYkFM6yh2/tHZCi2eK4uf2C1k5xrWRpqt7l9g9Dn6oMJm+lhignct4jFP5p/z2gkWhPnQOkh0hkuSFKxEgp22jUyNHnJQ9wgABvtsAm+2BAyfw4I8QMNGttoQSbSo7YhAt/wBdV2gSfSZIYfrqzyA1IZVEzwaF2P7ARwTuqPwNXsca6EWrUbgWpxVMvlu4YDX7MDuT3gl+qCB6sfpytm91FtrjeZiViXfUi7Rb/Un325gSXEM+7R73ZJ7r9WhfSZp9AP8/zZ70DzzsoGqS6OBWdmIieTHRw2Dm3UU0eqZnmsufHfwZHwhvpWwklYj4FFDLg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PUwS8YtdcKR3ZozL4x8+P03QzR7X367404VRUQDFq/4=;
 b=TPRKSol8SXXpoXTBe2sbozkw6ARtPiRekYEEhBOo9q3jOypI+35df79w77rksIF+fBZ0+9Rra0FxZDjOJ5lE/pGqwnPLJp2qu1iuEHF02tvTlATu8DKgP84OkPldJU4vDTMymCJg1N5WRaq3ZjVX0sZGEQWK5CKHWBfDEpQO7S3OWswu6YfPB8Y8j9MXuJulykpNiyZ5kFKCQux5yl9p4U2E8vD8oYUo9fV31D7Yle6R6C4vVGvNvBYYitsPUrVcubeZjsquN4vh8C4Xe/R5tUbStThiTL7m6a/g/hPbqWyvWALMPtKp5YGqJ7ljRflr5/TethlCoa6tHrCg2tbEtw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=PUwS8YtdcKR3ZozL4x8+P03QzR7X367404VRUQDFq/4=;
 b=l1c6FfamB2A3fz/DuE2K2/biTI0skD4mi5X997PRbmNArYw+s0Sh7MA8T0xFv5BXSkI02O3LE+VuKC3zH6jUKEoU6rPZUzzOuAWoiNgYVKP4/H3svBH6KN2hGgvIxuuvEsLf1tctNdUBaEXHowQp6O7juChgAMgt8339cbD2FflTNslrQiathfkxJHhv96L1K5GeXgXTrHz67FMFWWxBhc6Z2E2Jgo0uJ5xHVOZNycivGxXd25sCSjoMy6yL49LaqHVt/FlQRjWK16zB4ChyUTf+IJV9gr4Sqdk0Fjp/13doMIgLUPlgiV6T7g3zvgP2Pd5WwFogF38vmHAfd6ATfw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0b700af5-52d3-4014-94b4-af8700c73465@suse.com>
Date: Thu, 23 Nov 2023 09:59:14 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 1/5] xen/common: address violations of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1700209834.git.federico.serafini@bugseng.com>
 <ccc8b4bea515360e448f1975dadb326ad2e6c918.1700209834.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2311171851260.773207@ubuntu-linux-20-04-desktop>
 <a03a8d60-5e46-4ef2-9e35-cc6892d229ee@bugseng.com>
 <alpine.DEB.2.22.394.2311201602500.773207@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311201602500.773207@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: GVYP280CA0028.SWEP280.PROD.OUTLOOK.COM
 (2603:10a6:150:f9::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB7491:EE_
X-MS-Office365-Filtering-Correlation-Id: 47cc92b1-897e-4d3d-7746-08dbec0279dd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0mvDzybyZNGjmzdYUML9crtodeDYp0SCzODy/DxSCxLwIo9wuzd3d94XoQrkPPHetOIbU5mejh8KPK175tePkPxtKmkMPNgRcF5PFHOGAKvFjO4x3B8+f10Hnb8AkctjkbLdZOVEfuuqO3IRO904n01zhVf9ytaXgms8WHBBKTa46JXtURMLIUzrcqv4kNdPwK79awzDmtnKM6kWwRHUurbqIALPrPSttaYsoTP5r5aMoLKN882aheX4f/yf0f3eXWY0RPgdrjOElVnyITN4DZrUOKTwj7FP3IJrGeadVsWgMi+5/3ot/rjpBfCVAWYpDdkObgRpRRtBqoaH7fSqv1W/anLmQTuuC2sPuPXAsODvpqZQSDQlvV8gC1jJseLsgJ/9OwF/0YnjW5WaJpFr3iGp16N4DQOWeBNx1/WARQiUfT9xnfaokcF668OWsbykXIEI9SZUkBUc/pE2f24AW/FRtES6W6XlJD7nSWjQPU3UchRwUVxeODF79Yqza12I0CjyeBbAWpK1DZvun/LipfKwgqFXBdjsfdPGVTvdgCfAOvBljSR5EWIWnPtrGQUI8Pjz3CEvcy1whN226Z5falrfPrECleeyrwyjWLvB5AfP+9MbnJyjhM7j5vX/QRvCmK/U5qj3l66eZRW+WWIprg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(366004)(346002)(376002)(136003)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(26005)(83380400001)(6666004)(6512007)(6506007)(2616005)(53546011)(5660300002)(8676002)(4326008)(41300700001)(8936002)(2906002)(6486002)(478600001)(316002)(6916009)(66946007)(66556008)(54906003)(66476007)(86362001)(31696002)(36756003)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enI3TVRoRjZpVlluVkxJeDhCckpQZXczSkN4dU4zeG5CZ3V3dDFJbWs5Mndn?=
 =?utf-8?B?UFBIQlRTaVBPUnY0YzJSL0d4TjlpZkZZcFpKSWd4akVUOCtJS0o3Sm5zYjA1?=
 =?utf-8?B?NzZCQ2FiS1RKSWFJUTE5MzRHS3VScHl6bEt3bXBpb2l5alFHOE9CMHNZMjFW?=
 =?utf-8?B?VDE0SzBTRTNMWXQ0emF5cklsWVlRMFpMa2VtVHFMbW1xcis0ZktpaDV6N1JS?=
 =?utf-8?B?V1FNRnloTEdUMnJqNHk2b0QzcGZYN0FXU0dka1p0dFZZeE4xWTVPRlJYcGNF?=
 =?utf-8?B?WEFWU0lnN2xnaXE1T1ErR01Yc0U5Z1Y5L1FycGxuemFNbWZOZEIweEx2c25a?=
 =?utf-8?B?NXZUV25HWVJOamJGVmhqWkdva2YvRjNzcWpkOTJMdnR0alVBdnNpOHRTN1Za?=
 =?utf-8?B?UDdPRHA2bCtCRU9VK1AwOFhKQ2xxZS93MCttbVF0MWFTRFVQbGhzUHlMNlY1?=
 =?utf-8?B?dlgrV0liMm5ueURESzB6WURxOGpxRVNidVZpaE50K1h1TWtOb0FVOTBTYU1K?=
 =?utf-8?B?SHhSaWRXLytiYnlRUVVJQ3I2ZitXakhlNVRyd0J5TENTQXlJMUc4RDkyVmIr?=
 =?utf-8?B?dVNRNGhBNFBQeWxJNkJPTGpYK3ljWlB5a0VrK2VXdE9qK3Q2UG5vZThqUWsx?=
 =?utf-8?B?Wmc0WGJxOStGMFl2NVZmNklCMGNzczZyZnVaTkFVUFJpeWE3VTJ3ZmNwMGx3?=
 =?utf-8?B?M01JLzNRc0VtR3BGSHMwVVFhWUkwMzNuNGg0SnIzTDd6LzVPSlFnZU5HSHlQ?=
 =?utf-8?B?TzlJVFZ1RHNjY3BLcWNjRDBTMVlPMkJLNFBLU0MwMDBTWWZFWWNJZENXOVpo?=
 =?utf-8?B?alpDSTRKV1JLZ2YxcW41dDFNZG0rNGV0UGIyUTc0bjJZTUI4bDFHaWRMby9J?=
 =?utf-8?B?UExvTGk3TUNNUHdKUEF0MnNXUkxnRlAxMVdNZ0RaQTR5TElqcU9GUFFpSldJ?=
 =?utf-8?B?WGRFc0xhZTRTN1NzWUFCMTRCQnVLQ3U0K1NYeFNKSzhqSnNEQys4WDNsWk9o?=
 =?utf-8?B?ZmhjTGN4NTFDWExzWnJ2ckxONDlWWmtIK0FVVHNQTnlPNTNJOTdxMjN5ekM0?=
 =?utf-8?B?bzA4am1GYStJdHJ5SkZJRWY4ZWxvZFdHQWJlNXRlY1p2amdUUXhwZFdaemdV?=
 =?utf-8?B?VDZWNnRhMlBTVXhtUlRhZUNMTGJ5aEhkejZtTCtqdytOaldIWmpmWk5VL0dV?=
 =?utf-8?B?ZDZvU1NlWktRb0x0ZjZBeUtjcytaZmNZMmd2OWh4cUFITGNVSjg1eVBLRlRx?=
 =?utf-8?B?aXFES05Fb2xjdXVlMFRNMTdHT0JHM3NLMDYzTHJ6WVNwSUZTMi8zRzg2M1p0?=
 =?utf-8?B?TndDSE91NzNtelpSRnorZ3Z3RERUSGMyTXhtb2JDVllPMlRuU00vbVkrT3d6?=
 =?utf-8?B?a3JaY1lQRGgyOTdTYnlJUVEvTjBSb0psL1phdTZLOG5uQ0xWUGlYZ2V5Z1U0?=
 =?utf-8?B?RVVyeWNuMStTanNMODVUajRoaU54YzBHQkszZVhmeTdzTmlPT3l1RkI2OVM4?=
 =?utf-8?B?UkxkMks0NXBqSXBRTVNacWVCay9lUkhPcERhUUFab0xEaGtMZllGd0RVT2w0?=
 =?utf-8?B?Rkl2bi9DcW5PalFORHFZazFIQ2dIdVVEbGFpYXhUYVIzQTUyVDRjYVE2MjU3?=
 =?utf-8?B?bFNLMW8zbFR3cHhyTXZIdFFqblI2TmFBa29URWJTSllvWDlNVEFyVVRza1pn?=
 =?utf-8?B?RXI4aE0yV1F5cmI4bC9xWVFrT2hvcTl4SDVQQ1oxU3VJbVV4QkNPT1gwRklY?=
 =?utf-8?B?d3RJd1Nhb1Awa042QWx1QktjdFlLRitTVGs0by84ZGVVZFZyZUd0aGlSZmtU?=
 =?utf-8?B?OEg1OXpHUWJuQkVZclZJcWhxU2Y0dktYYkFCdU9xczJWdS9DKzVDN3g3elVN?=
 =?utf-8?B?UlNDTkJweS9GR3Y2bm1FdHQ4c01KWGNLeFJiS2hpUC9TU0RkQjVtZjNicnV1?=
 =?utf-8?B?YnBzNkxWWWFlUzc0MnFXejUwZE05VHFNY3ZXb3RXMDFwOWhzY3hVVUYxUWV5?=
 =?utf-8?B?Mmd2TzhDZ0RVWCtzNnRWZXNFaDdEbmZvY0xPWXhvU09YNm1DQzEzWHlXNFFH?=
 =?utf-8?B?YUZtS004c2FNRHJIUkVlNjNaMlgwR1RMM21sT1lwYlRRQ21nRDdrb0xMZzNr?=
 =?utf-8?Q?x/S7ZIoF8aXktKnoClDsmV2eQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 47cc92b1-897e-4d3d-7746-08dbec0279dd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 08:59:18.3215
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0Yi7vGNQXS+5vH0A+5CDlD2PpGxTACR2zPiCp7FcKtMTcbNiLESlHhJI2ivDIyTeuqpeDU/mmoKQF2DWZDVi0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB7491

On 21.11.2023 01:02, Stefano Stabellini wrote:
> On Mon, 19 Nov 2023, Federico Serafini wrote:
>> On 18/11/23 03:59, Stefano Stabellini wrote:
>>> On Fri, 17 Nov 2023, Federico Serafini wrote:
>>>> diff --git a/xen/common/stop_machine.c b/xen/common/stop_machine.c
>>>> index 3adbe380de..398cfd507c 100644
>>>> --- a/xen/common/stop_machine.c
>>>> +++ b/xen/common/stop_machine.c
>>>> @@ -46,7 +46,7 @@ struct stopmachine_data {
>>>>         unsigned int fn_cpu;
>>>>       int fn_result;
>>>> -    int (*fn)(void *);
>>>> +    int (*fn)(void *data);
>>>>       void *fn_data;
>>>>   };
>>>
>>> At least one of the possible function used here calls the parameter
>>> "arg", see take_cpu_down. But I don't think it is a MISRA requirement to
>>> also harmonize those?
>>>
>>>
>>>> @@ -73,7 +73,7 @@ static void stopmachine_wait_state(void)
>>>>    * mandatory to be called only on an idle vcpu, as otherwise active core
>>>>    * scheduling might hang.
>>>>    */
>>>> -int stop_machine_run(int (*fn)(void *), void *data, unsigned int cpu)
>>>> +int stop_machine_run(int (*fn)(void *data), void *data, unsigned int cpu)
>>>>   {
>>>>       unsigned int i, nr_cpus;
>>>>       unsigned int this = smp_processor_id();
>>>> diff --git a/xen/common/tasklet.c b/xen/common/tasklet.c
>>>> index 3ad67b5c24..3649798e6b 100644
>>>> --- a/xen/common/tasklet.c
>>>> +++ b/xen/common/tasklet.c
>>>> @@ -199,7 +199,7 @@ static void migrate_tasklets_from_cpu(unsigned int
>>>> cpu, struct list_head *list)
>>>>       spin_unlock_irqrestore(&tasklet_lock, flags);
>>>>   }
>>>>   -void tasklet_init(struct tasklet *t, void (*func)(void *), void *data)
>>>> +void tasklet_init(struct tasklet *t, void (*func)(void *data), void
>>>> *data)
>>>>   {
>>>>       memset(t, 0, sizeof(*t));
>>>>       INIT_LIST_HEAD(&t->list);
>>>> @@ -208,7 +208,8 @@ void tasklet_init(struct tasklet *t, void (*func)(void
>>>> *), void *data)
>>>>       t->data = data;
>>>>   }
>>>>   -void softirq_tasklet_init(struct tasklet *t, void (*func)(void *), void
>>>> *data)
>>>> +void softirq_tasklet_init(struct tasklet *t,
>>>> +                          void (*func)(void *data), void *data)
>>>>   {
>>>>       tasklet_init(t, func, data);
>>>>       t->is_softirq = 1;
>>>> diff --git a/xen/common/timer.c b/xen/common/timer.c
>>>> index 0fddfa7487..bf7792dcb3 100644
>>>> --- a/xen/common/timer.c
>>>> +++ b/xen/common/timer.c
>>>> @@ -291,7 +291,7 @@ static bool active_timer(const struct timer *timer)
>>>>     void init_timer(
>>>>       struct timer *timer,
>>>> -    void        (*function)(void *),
>>>> +    void        (*function)(void *data),
>>>>       void         *data,
>>>>       unsigned int  cpu)
>>>>   {
>>>> @@ -441,7 +441,7 @@ void kill_timer(struct timer *timer)
>>>>     static void execute_timer(struct timers *ts, struct timer *t)
>>>>   {
>>>> -    void (*fn)(void *) = t->function;
>>>> +    void (*fn)(void *data) = t->function;
>>>>       void *data = t->data;
>>>>         t->status = TIMER_STATUS_inactive;
>>>> diff --git a/xen/include/xen/rangeset.h b/xen/include/xen/rangeset.h
>>>> index 135f33f606..390f7b6082 100644
>>>> --- a/xen/include/xen/rangeset.h
>>>> +++ b/xen/include/xen/rangeset.h
>>>> @@ -68,7 +68,7 @@ bool_t __must_check rangeset_overlaps_range(
>>>>       struct rangeset *r, unsigned long s, unsigned long e);
>>>>   int rangeset_report_ranges(
>>>>       struct rangeset *r, unsigned long s, unsigned long e,
>>>> -    int (*cb)(unsigned long s, unsigned long e, void *), void *ctxt);
>>>> +    int (*cb)(unsigned long s, unsigned long e, void *data), void *ctxt);
>>>
>>> Also here some of the functions use "arg" instead of ctxt
>>>
>>>
>>>>   /*
>>>>    * Note that the consume function can return an error value apart from
>>>> @@ -77,7 +77,7 @@ int rangeset_report_ranges(
>>>>    */
>>>>   int rangeset_consume_ranges(struct rangeset *r,
>>>>                               int (*cb)(unsigned long s, unsigned long e,
>>>> -                                      void *, unsigned long *c),
>>>> +                                      void *ctxt, unsigned long *c),
>>>>                               void *ctxt);
>>>
>>> Also here some of the functions use "dom" like irq_remove_cb.
>>>
>>>
>>> But I actually like the patch as is, so if that's OK from a MISRA point
>>> of view then I would give my reviewed-by.
>>
>> Yes, this is OK for MISRA.
> 
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 09:03:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 09:03:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639452.996841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r65cD-0005iO-S5; Thu, 23 Nov 2023 09:03:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639452.996841; Thu, 23 Nov 2023 09: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 1r65cD-0005iH-PY; Thu, 23 Nov 2023 09:03:17 +0000
Received: by outflank-mailman (input) for mailman id 639452;
 Thu, 23 Nov 2023 09:03: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r65cC-0005hv-Cy
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 09:03:16 +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 2246dc09-89df-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 10:03:14 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-40b344101f2so3499165e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 01:03:14 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p18-20020a05600c359200b0040b360cc65csm1280037wmq.0.2023.11.23.01.03.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 01:03:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2246dc09-89df-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700730194; x=1701334994; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=dDZG0Ru8F1zXYrV7g7ilvrqlP3Zf1sj77aGL6JGCDbA=;
        b=c08pw61v1CzgAXXWoqM44HCv/dmaHNItSWSU4LGDCtNxJicnY2BA+Jd0FYb8DDBTt7
         y0J68+hUd65lRS1oj4GMMZkHCWa78mHkcf1viIi3lfcQCVR0nY4HwgtotNfnaWlxqNdy
         ws1bRexueQYvh7y2V7Ayu9hb+3iWzJCVdSrmI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700730194; x=1701334994;
        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:subject:date:message-id:reply-to;
        bh=dDZG0Ru8F1zXYrV7g7ilvrqlP3Zf1sj77aGL6JGCDbA=;
        b=UTu18JaPKaRaTZxhtMWdcMxu4+j4zPT21daluEH7o4NSS+BJVnaeBMfMDe/8kcd03L
         TIlDuqdD5EDZTARZbr/kp7SglIyyUjg2ATnNZnrPnUnOvvZLr1EDFMMYA21GOT5jkueI
         BDF7tzS3qDEdTFHhzvEu/iLw/fw31FqyI3DhC9o5tJU7g2oRVZ6PIml8k6VglPpdi8eJ
         UoLJmDAjJ0cGtTylPD1kvBEfcIA7fOoycWyvRafEB+BZNxFROEqnclm+Nn7hdRaQ5ZEF
         hbFdLZp7BEFvvZOqoj6wsT9zOa0WeWZdOHM+x6vxBqk9fiCd30UjokCGplPVrSF2j877
         7gXA==
X-Gm-Message-State: AOJu0YwXdYcQqVT8c1nWUBMvJXqwVZLGUZK94J8KiR3p1Ex4L5bfjOeK
	bSwyFFHTbICSey79AGMAj8n9Bg==
X-Google-Smtp-Source: AGHT+IFJwacrcJt3bDS1qBeoRDM1XjTHQ+85W2ux5zGAY29PD28exo2RPIeO8RbvwFsMgGv131SYXQ==
X-Received: by 2002:a05:600c:3587:b0:3fe:1fd9:bedf with SMTP id p7-20020a05600c358700b003fe1fd9bedfmr1638699wmq.11.1700730193602;
        Thu, 23 Nov 2023 01:03:13 -0800 (PST)
Date: Thu, 23 Nov 2023 10:03:12 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3] xen/x86: On x2APIC mode, derive LDR from APIC ID
Message-ID: <ZV8VUFmNe30prv7_@macbook>
References: <20231122160817.15266-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231122160817.15266-1-alejandro.vallejo@cloud.com>

On Wed, Nov 22, 2023 at 04:08:17PM +0000, Alejandro Vallejo wrote:
> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> registers are derivable from each other through a fixed formula.
> 
> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> rather than x2APIC IDs (which are not, at the moment). As I understand it,
> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> x2APIC ID and internally derive LDR (or the other way around)
> 
> This patch fixes the implementation so we follow the rules in the x2APIC
> spec(s) and covers migrations from broken hypervisors, so LDRs are
> preserved even for hotppluggable CPUs and across APIC resets.
> 
> While touching that area, I removed the existing printk statement in
> vlapic_load_fixup() (as the checks it performed didn't make sense in x2APIC
> mode and wouldn't affect the outcome) and put another printk as an else
> branch so we get warnings trying to load nonsensical LDR values we don't
> know about.
> 
> Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Mostly some style nits, and one comment adjustment.

If you are OK with those:

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

> ---
> v3:
>   * Removed underscores from (x2)APIC_ID in commit message
>   * Added commit msg explaining the removal of the vlapic_load_fixup() printk
>   * Restored lowercase to hex "F"s
>   * Refactored a bit vlapic_load_fixup() so it has a trailing printk in
>     case of spotting a nonsensical LDR it doesn't understand.
>   * Moved field in domain.h with the other booleans
>   * Trimmed down field name in domain.h
>   * Trimmed down field comment in domain.h
> 
> If the field name in domain.h still seems too long I'm happy for it to be
> trimmed further down, but I do want to preserve the "_bug_" part of it.

I think the _with_ part is redundant, but it's certainly shorter than
previously :).

> ---
>  xen/arch/x86/hvm/vlapic.c             | 62 +++++++++++++++++----------
>  xen/arch/x86/include/asm/hvm/domain.h |  3 ++
>  2 files changed, 43 insertions(+), 22 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> index 5cb87f8649..cd929c3716 100644
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -1061,13 +1061,23 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
>      .write = vlapic_mmio_write,
>  };
>  
> +static uint32_t x2apic_ldr_from_id(uint32_t id)
> +{
> +    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
> +}
> +
>  static void set_x2apic_id(struct vlapic *vlapic)
>  {
> -    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
> -    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
> +    uint32_t vcpu_id = vlapic_vcpu(vlapic)->vcpu_id;
> +    uint32_t apic_id = vcpu_id * 2;
> +    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
> +
> +    /* This is a migration bug workaround. See wall of text in lapic_load_fixup() */

Line length > 80 cols.

I try to avoid referencing function names in comments, as they tend to
get out of sync without noticing.  It's much easier to use cscope to
grep for x2apic_ldr_bug_with_vcpu_id and find the comment itself.

> +    if ( vlapic_domain(vlapic)->arch.hvm.x2apic_ldr_bug_with_vcpu_id )
> +        apic_ldr = x2apic_ldr_from_id(vcpu_id);
>  
> -    vlapic_set_reg(vlapic, APIC_ID, id * 2);
> -    vlapic_set_reg(vlapic, APIC_LDR, ldr);
> +    vlapic_set_reg(vlapic, APIC_ID, apic_id);
> +    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
>  }
>  
>  int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
> @@ -1498,27 +1508,35 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
>   */
>  static void lapic_load_fixup(struct vlapic *vlapic)
>  {
> -    uint32_t id = vlapic->loaded.id;
> +    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
> +    if ( !vlapic_x2apic_mode(vlapic) ||
> +         (vlapic->loaded.ldr == x2apic_ldr_from_id(vlapic->loaded.id)) )
> +        return;
>  
> -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
> -    {
> +    if ( vlapic->loaded.ldr == 1 )
> +       /*
> +        * Xen <= 4.4 had a bug by which all the APICs configured in x2APIC
> +        * mode got LDR = 1. We can't leave it as-is because it assigned the
> +        * same LDR to every CPU.  We'll fix fix the bug now and assign an
> +        * LDR value consistent with the APIC ID.
> +        */
> +        set_x2apic_id(vlapic);
> +    else if ( vlapic->loaded.ldr ==
> +              x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id) )
>          /*
> -         * This is optional: ID != 0 contradicts LDR == 1. It's being added
> -         * to aid in eventual debugging of issues arising from the fixup done
> -         * here, but can be dropped as soon as it is found to conflict with
> -         * other (future) changes.
> +         * This is a migration from a broken Xen between 4.4 and 4.18 and
> +         * we must _PRESERVE_ LDRs so new vCPUs use consistent derivations.

Not sure if we should try to avoid mentioning specific versions in the
comments, as I this fix will be backported to stable branches (I hope),
and hence those will no longer be affected.

> +         * This is so existing running guests that may have already read
> +         * the LDR at the source host aren't surprised when IPIs stop
> +         * working as they did at the other end. To address this, we set
> +         * this domain boolean so future CPU hotplugs derive an LDR
> +         * consistent with the older Xen's broken idea of consistency.

I think this is possibly too verbose, I would be fine with just the
first sentence TBH.  If we want the full comment however, the wording
should be slightly addressed: it's not just IPIs that would possibly
fail to be delivered, but any interrupt attempting to target the APIC
using the previous LDR addressing (either an IPI or an external
interrupt).

>           */
> -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
> -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
> -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
> -                   vlapic_vcpu(vlapic), id);
> -        set_x2apic_id(vlapic);
> -    }
> -    else /* Undo an eventual earlier fixup. */
> -    {
> -        vlapic_set_reg(vlapic, APIC_ID, id);
> -        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
> -    }
> +        vlapic_domain(vlapic)->arch.hvm.x2apic_ldr_bug_with_vcpu_id = true;
> +    else
> +        printk(XENLOG_G_WARNING
> +               "%pv: bogus x2APIC loaded id=%#x ldr=%#x\n",
> +               vlapic_vcpu(vlapic), vlapic->loaded.id, vlapic->loaded.ldr);

Could you write the expected values while at it:

"%pv: bogus x2APIC loaded id=%#x ldr=%#x (expected id=%#x ldr=%#x)\n"

>  }
>  
>  static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
> diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
> index 6e53ce4449..2fee3874cd 100644
> --- a/xen/arch/x86/include/asm/hvm/domain.h
> +++ b/xen/arch/x86/include/asm/hvm/domain.h
> @@ -106,6 +106,9 @@ struct hvm_domain {
>  
>      bool                   is_s3_suspended;
>  
> +    /* Compat setting for a bug in x2APIC LDR. See vlapic_load_fixup() */
> +    bool x2apic_ldr_bug_with_vcpu_id;

I think you already mentioned in a followup reply that using
bug_x2apic_ldr_vcpu_id would be fine.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 09:25:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 09:25:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639462.996857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r65xd-0002V8-M5; Thu, 23 Nov 2023 09:25:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639462.996857; Thu, 23 Nov 2023 09: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 1r65xd-0002V1-Il; Thu, 23 Nov 2023 09:25:25 +0000
Received: by outflank-mailman (input) for mailman id 639462;
 Thu, 23 Nov 2023 09:25: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r65xc-0002Uv-OS
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 09:25:24 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3a46b398-89e2-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 10:25:23 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 6D6E64EE073C;
 Thu, 23 Nov 2023 10:25:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3a46b398-89e2-11ee-98e2-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 23 Nov 2023 10:25:22 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
Message-ID: <2123235ad5e5d18c89369b6cc1be3a4c@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-23 09:57, Jan Beulich wrote:
> On 16.11.2023 10:08, Nicola Vetrini wrote:
>> The comment-based justifications for MISRA C:2012 Rule 8.4 are 
>> replaced
>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>> 
>> Add missing 'xen/compiler.h' #include-s where needed.
>> 
>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>> is modified to reflect this change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> ---
>> This patch should be applied after patch 2 of this series.
>> The request made by Julien to update the wording is
>> contained in the present patch.
> 
> Along with this request he supplied you with an ack. Did you drop that
> for a particular reason, or did you simply forget to record it here?
> 

I forgot and added it in a reply.

>> --- a/xen/arch/x86/boot/reloc.c
>> +++ b/xen/arch/x86/boot/reloc.c
>> @@ -28,6 +28,7 @@ asm (
>> 
>>  #include "defs.h"
>> 
>> +#include <xen/compiler.h>
>>  #include <xen/kconfig.h>
>>  #include <xen/multiboot.h>
>>  #include <xen/multiboot2.h>
>> @@ -348,9 +349,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t 
>> mbi_in, uint32_t video_out)
>>      return mbi_out;
>>  }
>> 
>> -/* SAF-1-safe */
>> -void *__stdcall reloc(uint32_t magic, uint32_t in, uint32_t 
>> trampoline,
>> -                      uint32_t video_info)
>> +void *asmlinkage __stdcall reloc(uint32_t magic, uint32_t in,
>> +                                 uint32_t trampoline, uint32_t 
>> video_info)
>>  {
> 
> One purpose of asmlinkage is to possibly alter the default C calling 
> convention
> to some more easy to use in assembly code. At least over a period of 
> time Linux
> for example used that on ix86. If we decided to do something like this, 
> there
> would be a collision with __stdcall. Hence I'm not convinced we can put
> asmlinkage here. At which point the complete removal of SAF-1-safe also 
> would
> need dropping.
> 

Ok, so we can keep SAF-1 here and below and leave the wording in 
deviations.rst and safe.sjon as is.

>> --- a/xen/common/efi/boot.c
>> +++ b/xen/common/efi/boot.c
>> @@ -1254,9 +1254,8 @@ static void __init efi_exit_boot(EFI_HANDLE 
>> ImageHandle, EFI_SYSTEM_TABLE *Syste
>>      efi_fw_vendor = (void *)efi_fw_vendor + DIRECTMAP_VIRT_START;
>>  }
>> 
>> -/* SAF-1-safe */
>> -void EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
>> -                                      EFI_SYSTEM_TABLE *SystemTable)
>> +void asmlinkage EFIAPI __init noreturn efi_start(EFI_HANDLE 
>> ImageHandle,
>> +                                                 EFI_SYSTEM_TABLE 
>> *SystemTable)
> 
> Same here wrt EFIAPI, as that also alters the calling convention.
> 
> Jan

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 09:28:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 09:28:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639465.996866 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r660p-0003dw-3Z; Thu, 23 Nov 2023 09:28:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639465.996866; Thu, 23 Nov 2023 09:28: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 1r660p-0003dp-0t; Thu, 23 Nov 2023 09:28:43 +0000
Received: by outflank-mailman (input) for mailman id 639465;
 Thu, 23 Nov 2023 09:28: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=XtUW=HE=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r660n-0003cT-IN
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 09:28:41 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id afee9fdd-89e2-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 10:28:40 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-32fd7fc9f19so413148f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 01:28:40 -0800 (PST)
Received: from [192.168.13.100] (54-240-197-239.amazon.com. [54.240.197.239])
 by smtp.gmail.com with ESMTPSA id
 s15-20020adf978f000000b00332d41f0798sm1133102wrb.29.2023.11.23.01.28.38
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 01:28:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: afee9fdd-89e2-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700731720; x=1701336520; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=LhzwxHV+Bdiyx5bPUyokPHdYwQaX3xP8WnSIJkZBw6k=;
        b=O3NuCeZ06uYSMly7B/4JKN0g8gR2vtvVHGfaSB7SMaUapkoUplTo90nyxihivk6oR7
         pQ5iYjSNNPPohB+uDNEEtMEJgGCayi4bTxMY06rfp0JhUJOlDZn/QTEt92t89HOSmP3Y
         WMbnrZl3xkJkbgp3E5QTporbgjLyOpBc8188RnBFhSqqh/MGiYlFYwta6PRyxC4E9Jk9
         qy29VQKWxnGMT2po0a7AVvuDxZ1tEnh3qU50JRCYuWEkcP0EQ5hBAyBE6qeMBg3bvNqX
         UOFGTEOeDG9hB/syrysf8ifd1W1Xfl6GN9p8QOjHRlmddjbdJV4LWxSc64BKkVDgdPGJ
         3iig==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700731720; x=1701336520;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LhzwxHV+Bdiyx5bPUyokPHdYwQaX3xP8WnSIJkZBw6k=;
        b=Y3u5JGFNCWFjX5q3QllSEKUmZgrEpX2qzv58AaU2aHldUSRdA33uzEw1dCK1gweBVo
         c6sOUZ+8rU1O166u7J5Z0zB51YEbOMlRlyjmMinhzyB8z4IEHxyhEBP2+uicfpQPbmFJ
         WRbFfB7k6y9nyrRryJWmhjnqLYBydsJEotEv7r9IFnAWfhKqk3WPdoqwfOxOghOG+YkM
         k/XJGsaMiAVapGa++pRok+7s1n0br7Fi34BJ5jGHnc1wVxXueoUAvPhe+Gh/Kwf2rGIP
         ZmAOiaBm+jX+sUOHLkWPZNCBNWbqD5dYK7yiWnRy6gWTRXsqeNwbDPTrInuoXl8mYX6D
         oKmQ==
X-Gm-Message-State: AOJu0YyWedMBSflF25Gjyg5AubyxoYKQqqTpJ23HwoZVLeZEogwyRrvl
	i+BtPVCw08otQJAUlem1KL4=
X-Google-Smtp-Source: AGHT+IHQg35CBXWM7ovP6a+uuURYIDYPDMvLcCf1tCeYG05bGkoXJV359Re8tnwnd/6OVfkUgZwzIg==
X-Received: by 2002:a5d:4dc3:0:b0:31f:ef77:67e4 with SMTP id f3-20020a5d4dc3000000b0031fef7767e4mr3306792wru.37.1700731719676;
        Thu, 23 Nov 2023 01:28:39 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org>
Date: Thu, 23 Nov 2023 09:28:38 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Content-Language: en-US
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 David Woodhouse <dwmw2@infradead.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 Julien Grall <julien@xen.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
 <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
 <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com>
Organization: Xen Project
In-Reply-To: <87cyw1z61i.fsf@epam.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 23/11/2023 00:07, Volodymyr Babchuk wrote:
> 
> Hi,
> 
> Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:
> 
>> Hi Stefano,
>>
>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>
>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>> On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>>>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>>>> On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
>>>>>>> On Wed, 22 Nov 2023, Paul Durrant wrote:
>>>>>>>> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>>>>>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>>>>>
>>>>>>>>> Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER to
>>>>>>>>> inherit the owner of the directory.
>>>>>>>>
>>>>>>>> Ah... so that's why the previous patch is there.
>>>>>>>>
>>>>>>>> This is not the right way to fix it. The QEMU Xen support is *assuming* that
>>>>>>>> QEMU is either running in, or emulating, dom0. In the emulation case this is
>>>>>>>> probably fine, but the 'real Xen' case it should be using the correct domid
>>>>>>>> for node creation. I guess this could either be supplied on the command line
>>>>>>>> or discerned by reading the local domain 'domid' node.
>>>>>>>
>>>>>>> yes, it should be passed as command line option to QEMU
>>>>>>
>>>>>> I'm not sure I like the idea of a command line option for something
>>>>>> which QEMU could discover for itself.
>>>>>
>>>>> That's fine too. I meant to say "yes, as far as I know the toolstack
>>>>> passes the domid to QEMU as a command line option today".
>>>>
>>>> The -xen-domid argument on the QEMU command line today is the *guest*
>>>> domain ID, not the domain ID in which QEMU itself is running.
>>>>
>>>> Or were you thinking of something different?
>>>
>>> Ops, you are right and I understand your comment better now. The backend
>>> domid is not on the command line but it should be discoverable (on
>>> xenstore if I remember right).
>>
>> Yes, it is just "~/domid". I'll add a function that reads it.
> 
> Just a quick question to QEMU folks: is it better to add a global
> variable where we will store own Domain ID or it will be okay to read
> domid from Xenstore every time we need it?
> 
> If global variable variant is better, what is proffered place to define
> this variable? system/globals.c ?
> 

Actually... is it possible for QEMU just to use a relative path for the 
backend nodes? That way it won't need to know it's own domid, will it?

   Paul



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 09:29:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 09:29:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639468.996876 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r661z-0004Qh-Db; Thu, 23 Nov 2023 09:29:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639468.996876; Thu, 23 Nov 2023 09:29: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 1r661z-0004Qa-B3; Thu, 23 Nov 2023 09:29:55 +0000
Received: by outflank-mailman (input) for mailman id 639468;
 Thu, 23 Nov 2023 09:29: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=XtUW=HE=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r661y-0004QT-15
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 09:29:54 +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 daa74af9-89e2-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 10:29:52 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40b27b498c3so4275475e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 01:29:52 -0800 (PST)
Received: from [192.168.13.100] (54-240-197-239.amazon.com. [54.240.197.239])
 by smtp.gmail.com with ESMTPSA id
 s15-20020adf978f000000b00332d41f0798sm1133102wrb.29.2023.11.23.01.29.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 01:29:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: daa74af9-89e2-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700731791; x=1701336591; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=uUwE7u3onPGssHGYPcJFRGaN2UI16fqtGIi4M3Ht1a4=;
        b=AGxvtSS0NfxkvxwyeQmkz/Cq72Yzep5m5cfmwXhZ0ARZQDBKsFGrEMkfcLlFW+mdC9
         1rHugvaGfVJI+T4NIVXkp3k0tPAtWqiN7jYtrkEKAvmFwYL9B2AqSBPGIKQGll3Zdc4L
         nd40XVwzLZnxl9Psjr0eZ6/T6Rdu64Df182fXUYtts+/cO2XNtOxjALdl/jiht9s5sXT
         BMqnuSah04GPulHB6qIkW7cDeeTOX87VsihMlZ/sJOHejm6RcJUWnbEOugx7XYzMMnao
         XzhbosmTOzK9BpyiyFcrsGyhiTBTSOd/OaY77ruSOzo35ws/0bLsGxzbMWTM8E0B/lWI
         v3PQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700731791; x=1701336591;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=uUwE7u3onPGssHGYPcJFRGaN2UI16fqtGIi4M3Ht1a4=;
        b=HZ8LeXeNDj/BR6bhlR4+k2rnC+dlcGnWbvp2fwl+OXgN54xDtTqaYFbmJdlgqOlEnv
         qPfp0KId0PGOEWbGljZCLokAdsuwMlFujA9t0oDOpDQdwov/NCrMCetPsgItSeBK6IFk
         EuCd4CXpQtRAp7inxR62NXgXcxJYWQOwVItx4rOHgLKoQyUlQnOzuCnmTemkVjwJC7of
         +7aLutvnBWIoz3psDekqMhiMvjTH0OK3sTYPAOwfkExAYxP500fhZqzNVvzcCVKotRWZ
         /8HMg6t84cTJKSsggbOFi1UTB8eDUPqW+eULKcgl+mhgGxZ66QSqx0CroA1j8Iui0iTY
         w+VQ==
X-Gm-Message-State: AOJu0YwZ+w/mjxELlaFCOH8rRaqDdbyPESlkrbf5BjPZNRhBsdx0AdnU
	aDZebKNj3vO79KAaMOfbA3U=
X-Google-Smtp-Source: AGHT+IFlygPZqpcnr3ZfDt4tmxZcvFNUOiDOTe0AZd7sdtL0/KrfYErVCG8BikAxQK6z7g+6mdxvPQ==
X-Received: by 2002:a5d:4bc6:0:b0:32f:b1ab:ee87 with SMTP id l6-20020a5d4bc6000000b0032fb1abee87mr3685763wrt.25.1700731791454;
        Thu, 23 Nov 2023 01:29:51 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <630819c4-4343-401d-8c7b-342cfd5f50c0@xen.org>
Date: Thu, 23 Nov 2023 09:29:50 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 1/6] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Anthony Perard <anthony.perard@citrix.com>, Kevin Wolf <kwolf@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 Paolo Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
 "open list:Block layer core" <qemu-block@nongnu.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-2-volodymyr_babchuk@epam.com>
 <e1663064-247d-41e3-9a36-16f81303fb94@xen.org> <878r6p1jp2.fsf@epam.com>
 <67e06eae161072e05f4b0990dbde1da869241670.camel@infradead.org>
Organization: Xen Project
In-Reply-To: <67e06eae161072e05f4b0990dbde1da869241670.camel@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 22/11/2023 23:04, David Woodhouse wrote:
> On Wed, 2023-11-22 at 22:56 +0000, Volodymyr Babchuk wrote:
>>
>>
>> Paul Durrant <xadimgnik@gmail.com> writes:
>>
>>> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>>>> From: David Woodhouse <dwmw@amazon.co.uk>
>>>> This allows a XenDevice implementation to know whether it was
>>>> created
>>>> by QEMU, or merely discovered in XenStore after the toolstack created
>>>> it. This will allow us to create frontend/backend nodes only when we
>>>> should, rather than unconditionally attempting to overwrite them from
>>>> a driver domain which doesn't have privileges to do so.
>>>> As an added benefit, it also means we no longer have to call the
>>>> xen_backend_set_device() function from the device models immediately
>>>> after calling qdev_realize_and_unref(). Even though we could make
>>>> the argument that it's safe to do so, and the pointer to the unreffed
>>>> device *will* actually still be valid, it still made my skin itch to
>>>> look at it.
>>>> Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
>>>> ---
>>>>    hw/block/xen-block.c         | 3 +--
>>>>    hw/char/xen_console.c        | 2 +-
>>>>    hw/net/xen_nic.c             | 2 +-
>>>>    hw/xen/xen-bus.c             | 4 ++++
>>>>    include/hw/xen/xen-backend.h | 2 --
>>>>    include/hw/xen/xen-bus.h     | 2 ++
>>>>    6 files changed, 9 insertions(+), 6 deletions(-)
>>>>
>>>
>>> Actually, I think you should probably update
>>> xen_backend_try_device_destroy() in this patch too. It currently uses
>>> xen_backend_list_find() to check whether the specified XenDevice has
>>> an associated XenBackendInstance.
>>
>> Sure. Looks like it is the only user of xen_backend_list_find(), so we
>> can get rid of it as well.
>>
>> I'll drop your R-b tag, because of those additional changes in the new
>> version.
> 
> I think it's fine to keep. He told me to do it :)

I confirm that :-)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 09:39:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 09:39:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639474.996890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r66BU-00081O-G9; Thu, 23 Nov 2023 09:39:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639474.996890; Thu, 23 Nov 2023 09:39: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 1r66BU-00081G-DC; Thu, 23 Nov 2023 09:39:44 +0000
Received: by outflank-mailman (input) for mailman id 639474;
 Thu, 23 Nov 2023 09:39: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r66BT-000819-2T
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 09:39:43 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 398dbdf4-89e4-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 10:39:40 +0100 (CET)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2c5056059e0so8612371fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 01:39:40 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 h10-20020a9f3f0a000000b007c442a209d0sm174826uaj.35.2023.11.23.01.39.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 01:39:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 398dbdf4-89e4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700732380; x=1701337180; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=HKHBrK7wqpklaj5tlyf32nTbWwPH2Nb+I3aVwJSu/BI=;
        b=rpz4raAntP9cpL+87+WDDkWnbQtB3uy03Qxru6ysX2wVuGzeakZZ4DwLmbqV1WGuYs
         j6AmpNLNHLJhZjmzydgHJOxU5y9KVwMXRuk3KPRNPGdLN6A/WiTziVbDzRs1epEvNDPN
         mWWK4uYEaPS51vTZ+upUJ+DFX962+cOUdjXkA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700732380; x=1701337180;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HKHBrK7wqpklaj5tlyf32nTbWwPH2Nb+I3aVwJSu/BI=;
        b=EWx0ettU5zmOihq2QksOsfQOJhNEybNsffKJz/95RwCNxTA8N/lNtbH1AX89myxGtV
         UU/Pmz4x4IT/GFLm/j0h8hGXtc7ErH2St8Ph+/2LM8H2SFNyL5nrH9bDu6gImTbcAZfS
         NQwUp8xXUIlZTPelyKuKKK86Eqa6JeEA6bUKronI35j4lLzji3YbJHYiBJ8JTkIurdZb
         2MTex5TRIO8NvjlB57lgs4+ujROk4KP7M/LCb/SeZg3sY9WHQKrgzYTZCx1eGscWQE/g
         sbJp+txUWxBC1uvI9xkttQ4PirzFloFUZyFhJeh8hPSeZ+7ziaQE/yC8/ZcJxKk77Ggn
         g3OA==
X-Gm-Message-State: AOJu0YyGpXL/MYadzuKlS6awyCozECrawE1yWVRiJBlUMmGBPC1PZZ6l
	BcPgxHez1u5QAnri64MN/jjc7w==
X-Google-Smtp-Source: AGHT+IE2wSb/9qonnoe+/7PXzTLwJqK7k6lXMvAC9hzo8/BOxgHMzkQgBSPLbLWAbYuf2WNci6Xugw==
X-Received: by 2002:a05:651c:1214:b0:2bc:d8cb:59fe with SMTP id i20-20020a05651c121400b002bcd8cb59femr3429956lja.8.1700732380196;
        Thu, 23 Nov 2023 01:39:40 -0800 (PST)
Date: Thu, 23 Nov 2023 10:39:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org,
	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>,
	Neowutran <xen@neowutran.ovh>
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZV8d2ZiiiBBNySgc@macbook>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
 <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
 <ZV1Rz+FmmyWFHiM9@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <ZV1Rz+FmmyWFHiM9@mattapan.m5p.com>

On Tue, Nov 21, 2023 at 04:56:47PM -0800, Elliott Mitchell wrote:
> It was insisted that full logs be sent to xen-devel.  Perhaps I am
> paranoid, but I doubt I would have been successful at scrubbing all
> hardware serial numbers.  As such, I was willing to post substantial
> sections, but not everything.

Can you please point out which hardware serial numbers are you
referring to, and where are they printed in Xen dmesg?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 09:40:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 09:40:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639479.996900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r66CV-0000zB-Oe; Thu, 23 Nov 2023 09:40:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639479.996900; Thu, 23 Nov 2023 09:40: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 1r66CV-0000z4-Ls; Thu, 23 Nov 2023 09:40:47 +0000
Received: by outflank-mailman (input) for mailman id 639479;
 Thu, 23 Nov 2023 09:40: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 1r66CU-0000ys-5N; Thu, 23 Nov 2023 09:40: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 1r66CU-0006NW-2x; Thu, 23 Nov 2023 09:40: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 1r66CT-0006Cy-PM; Thu, 23 Nov 2023 09:40:45 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r66CT-0007yB-Oq; Thu, 23 Nov 2023 09:40: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=O5vkKVEclHbCs9eX7pSLGbusRFGJyZCXUGvz3OHYqag=; b=NKZ3DllfZ32L90lw64NOEhNP4o
	X+TFJ1MTY7fIYuwds7m4OF3Y7cgV0zpFFLfYeveQLJck3qgZDOM51bv6JL42nNTOaU7ITclujItu3
	qepsMGVu3Mgl12WsiIwF86yPinRMkHQeSmgzLzQbDCw7/J0GFRAGT9TUmpWLbVSww+aI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183831-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183831: regressions - FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:debian-hvm-install:fail:regression
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check: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:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-amd64-libvirt-xsm: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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-libvirt-raw:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    xen=c22fe7213c9b1f99cbc64c33e391afa223f9cd08
X-Osstest-Versions-That:
    xen=fa2da5bce90b3777aa7a323e1cf201c97b56d278
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Nov 2023 09:40:45 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm 12 debian-hvm-install fail REGR. vs. 183807

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183807
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183807
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183807
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183807
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183807
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183807
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183807
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183807
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183807
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183807
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183807
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183807
 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-i386-libvirt-xsm  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-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-libvirt-xsm 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-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-credit2  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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-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-libvirt     15 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:
 xen                  c22fe7213c9b1f99cbc64c33e391afa223f9cd08
baseline version:
 xen                  fa2da5bce90b3777aa7a323e1cf201c97b56d278

Last test of basis   183807  2023-11-21 04:17:59 Z    2 days
Failing since        183816  2023-11-21 21:39:08 Z    1 days    3 attempts
Testing same since   183831  2023-11-22 23:38:57 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Tamas K Lengyel <tamas@tklengyel.com>
  Volodymyr Babchuk <volodymyr_babchuk@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                                          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                 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                       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-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-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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 09:47:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 09:47:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639485.996910 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r66Is-0002V8-F6; Thu, 23 Nov 2023 09:47:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639485.996910; Thu, 23 Nov 2023 09:47: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 1r66Is-0002V1-CF; Thu, 23 Nov 2023 09:47:22 +0000
Received: by outflank-mailman (input) for mailman id 639485;
 Thu, 23 Nov 2023 09:47: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=ez7b=HE=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r66Iq-0002Td-Pe
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 09:47:21 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2053.outbound.protection.outlook.com [40.107.7.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 49749a19-89e5-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 10:47:17 +0100 (CET)
Received: from DB8PR04CA0001.eurprd04.prod.outlook.com (2603:10a6:10:110::11)
 by DU0PR08MB9437.eurprd08.prod.outlook.com (2603:10a6:10:42f::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Thu, 23 Nov
 2023 09:46:35 +0000
Received: from DU6PEPF0000A7E0.eurprd02.prod.outlook.com
 (2603:10a6:10:110:cafe::41) by DB8PR04CA0001.outlook.office365.com
 (2603:10a6:10:110::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend
 Transport; Thu, 23 Nov 2023 09:46:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000A7E0.mail.protection.outlook.com (10.167.8.42) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Thu, 23 Nov 2023 09:46:35 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Thu, 23 Nov 2023 09:46:35 +0000
Received: from 128257856a1f.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 533B44A1-2710-4DF6-A7A0-E7E6958867E5.1; 
 Thu, 23 Nov 2023 09:46:24 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 128257856a1f.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 23 Nov 2023 09:46:24 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB4PR08MB9382.eurprd08.prod.outlook.com (2603:10a6:10:3f2::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.31; Thu, 23 Nov
 2023 09:46:21 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 09:46: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: 49749a19-89e5-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=ZsFPFiMXrhddn+FsRr5j42iNuhm/Zcb6CfKzQWpUHBQWuhmATgxPb0tD4ICrTMXG486owAYdGXU3SwsSnpzHa7Aq17tWoVZjC1X3cZZxr94F/xzNp0bbD3hWHTqibeEEDudCa3GUuXNjCpB3vKYSDk9GlYCF6l2jFyDecZioCahpyLwRlIaLm3MQRBnINaGYtofaJxIh5hwKVg7n9n2zHn6VaxFgfbPxr1/9myLKm1+6vZIQQmXqVxZbclBr6hF7Zki4AtUQQbm/FV9m+sRCwO8zD4IhE/pCB8pef4TZVM4lLN6D+90N2cGJFriWVhDhpgvKHUNclVatZaXnp2wNXw==
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=kbf0AfxFApnp8wTmzCnkGOSjBQ1ylYdJlW2MA9a0Vuc=;
 b=Ffpo+d53dUJKMO8fiSBby3gyhG1zxHknFJ6IlxHMjEY8bwETg6dUTAH7D4sFbGOmTJDVnmzeTPNvRVm12wyDL9XMbDPG4TEYwSRIo5dK5UvtUSSdrBKWwR/CLsVcVs3EUcIr5JpUvCBAogxarqx++0pO2QtCVzlkdwJ+nx0LTAR6zRWLFJod/pvVzMcPcWbXfizw19dkyEGnjtskIlStgQ9ONYL24LEP6noVN0mleyTypHsHE9s6LdqlJVt1of9Gdp7BTQY6Oy/maVz81m3D3n82Kci96MYmejU1Ra+wgsvWkyp9TbzEgZV2ZGVNnTZstpULbjaXebYL0ttID57BVg==
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=kbf0AfxFApnp8wTmzCnkGOSjBQ1ylYdJlW2MA9a0Vuc=;
 b=qLuLqgIOPx1LfVGRUxIw3x6vlIJ4J4AZ31YY279v5jCFwgh/UU1GaUFnKHD9OtSJI2IX5MZogz4TKcYFinlV80c4jv3B7CSweYHmIQAYzFckLXC6OxZifHU931INtr/j3ffqIQNOtVAAOxx2imtvIHtcO/2u8H6Ji+UQbVfogl8=
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: f5b6f45c63f9bd20
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aPOdVMqXglUpVbrWpQY1VKGsLew/lpnGyUs4pRnTOJ8hIBSuGfdSKJ8UQfrqY1WM3flSirUAyPumEEvXYXdERpQfBA3w9qyu6VsgSk9AecLeXflr4ydqCvFe9LOZRxhFDl58Cq654r0DF85IHMrRo9iNcz7JtL1y8+dcickhucpAateLGwnpWOnZFrOlTWAy6oRqMJ+tuiTPlJuU3QJ8S2rsGGYtRTnw2UOGyYS/yp2U8NUT8N0Eatj4Cln0lW6Oo2OgVmUiOkjT2KMXaucAORNXcMlKzP17WOeMiXtG45NzarUJ4YOg+nwbtx49BxT2Yn2yOAAYeG2DQDe6xaR7Iw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kbf0AfxFApnp8wTmzCnkGOSjBQ1ylYdJlW2MA9a0Vuc=;
 b=OmtWcato3sWuBaPUD6jRnv7D86U2k7Dujx0th8FvcskPwE3oJd3MtQlKpzk605GCWTnKM4FJmgwrN4mNoKmL03GSiH4kdeCA+PMov27jXNcSS/yKCLdGI1JmifXHyZKJU3tG+qcQ6rsP6uOlx5G4a1ScF1eCOoKsmxccaKvv1+400AOqayFK0c5gFCGBfn2OlvAdp+GCTYxRG35r2nBh4CY2PAswS0ZFQTRqySAcP1Hh2MY76a6SmKiuowQnno+GpDTIFU8lqWCaKc2Er2mXBRk4p7IJavTGAddJUlagIaO5ZWrzF58tlxGOK0LFaQihXOFn2RlxrXv4IAA4jEvLFQ==
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=kbf0AfxFApnp8wTmzCnkGOSjBQ1ylYdJlW2MA9a0Vuc=;
 b=qLuLqgIOPx1LfVGRUxIw3x6vlIJ4J4AZ31YY279v5jCFwgh/UU1GaUFnKHD9OtSJI2IX5MZogz4TKcYFinlV80c4jv3B7CSweYHmIQAYzFckLXC6OxZifHU931INtr/j3ffqIQNOtVAAOxx2imtvIHtcO/2u8H6Ji+UQbVfogl8=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Roberto Bagnara <roberto.bagnara@bugseng.com>, Nicola Vetrini
	<nicola.vetrini@bugseng.com>, Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Topic: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Thread-Index: AQHaHLkYgzDzOjzraUK+7wQZW0TenrCFOoGAgAACTgCAAUCpgIAAJV8AgAEHfQA=
Date: Thu, 23 Nov 2023 09:46:20 +0000
Message-ID: <364FAA71-A00A-4D47-8210-DFE4EC590F79@arm.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
 <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
 <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
 <3222AE09-B511-490E-8298-8808261DEFAE@arm.com>
 <0eb64ed9-a56c-491e-b9b8-a03e90c4c2f1@citrix.com>
In-Reply-To: <0eb64ed9-a56c-491e-b9b8-a03e90c4c2f1@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DB4PR08MB9382:EE_|DU6PEPF0000A7E0:EE_|DU0PR08MB9437:EE_
X-MS-Office365-Filtering-Correlation-Id: 2211a822-95b9-4e3a-cfe9-08dbec09151d
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:
 Bm3AyG3DP4xL8iS2oCjvTrD0w0rFAEL3UuUQoaZnbHkx5O9g1sPjrL1Aqz/7MpyXFVM+Ih/bXyhOuzG00xnbEDmw3uhaHO4YDXSeAAZK1iwLiJ28C1mjSZ3Xw9ytEmKOQd2xX88Wvqotvc4G65AWpRBO5KYlah2SEeAge53P5RKn2fezkU83y4AqZzdvwP5q2dRMD/3FCMiZSbFza99PfHMxWp8B0rKr5uvPYiHe6Zimotpb3KLBGvSa+7xQKNKkcNB8b0a+NJeFEGUYjHcV+LSWSlxYpL2+1hXyohjauwxj7MevdDiERBnBWOQP4Q9P+Jdb5Uo/3d09FyPBjVH6j7XywGimGLYTL0G7RcEa+Y6pFSk0i6pMsRmD0StYakBlrQjk6mrwXt/5hYZPidJXP3qFAyLeKQizdqLI73Fr2yJgwGwJmZxLX3ZhPTUi8Morp6vkP8oeHp3K4HeJeMksUyQJGSCbF3dq+nqMjTmXfrDVJoA0wWfm6zjbdevOiTy765+SotQvIx8eFVEkjfyv5+sw1094ssWSa1U6dchXpUEJptsCwKOrk9c7VF33EOZH1OFNkCPk04PWCm7NPoZb1F9PBuUEbkrST2vG0jhE0kpq3i+EftofYsWX39lp3AIzgZW0W63K7dkuG803ylCTwA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39850400004)(396003)(366004)(376002)(136003)(346002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(6506007)(53546011)(26005)(6512007)(8676002)(54906003)(4326008)(76116006)(91956017)(66446008)(64756008)(6916009)(66476007)(316002)(66556008)(66946007)(122000001)(2616005)(478600001)(6486002)(83380400001)(71200400001)(38100700002)(8936002)(7416002)(5660300002)(2906002)(33656002)(41300700001)(36756003)(86362001)(38070700009)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9E3941A78B51C740A45532A29B294236@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9382
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:
 DU6PEPF0000A7E0.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	f15ed85e-b356-47e6-48b7-08dbec090c60
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2uf+0jwkJa3gEqYK0iaS3SG5mMou2SnYKnZP+ZVBQDR/VF2oWHgXdYEe0SlxWT41kjLU9no5VBWdCh2eaDYtoOP4nfAUhOa79HHPC3OnTPphwD//bQrDYII9b4srmZXQTkigTTj8M86xNhgTQbE9N9wyxPL0vcsdNW52Q3m54IgiSvJa2ioSUNG7ISYAttzMQnULwhIkzUSzbKOd+hWWh+WZrx727h8yvMZTo+3Ez27wKIRYUpjHbdn3KZzFbRettcvcGEuZNmaNPBAZIh+9QrIiZ6um9eIih0BEFsQVPdOYLxJj7aanke/5hvoJG5X7n030BMI+bXM6GslAMpeJ1az7qZdx6FXhQn9c6xig5eTKrsS6QV+eRa7rsigSPWMcZu+y12QwdEpvTsrmyYQCH+Vl6db4rdpTJOaygp6XTfsji/eCGXMxalSSu43A5nmFedAswwx0zInnFvhjIteUJtDLzzN0LmAZqBiOPC2DaxJkkcK6z+EeJ9MqT5mDeklNBNOYVMr8C4hEoZ+nSM5PqfIhAL92KSuv+lJpdh+3afjoQmpMyPy/8ueOKRKx5Qx4+tzdDxEh4LCqCYT2f6F8GiIoYv+lSrpuw3Qn7meZRpzRSgqK3KcLUmaVlBNRTNMcTTROiCQuykYVL6jLZlrNWMUpi2//T0Ddw0Blwtx8PO/gzHaGErVH/VUbTMwDQ0a+xBNCumOf8xTSH+ZcvC/YDutwKfsGa689xIW7H7VaK4snd2/dI2Se3g6lORuH8DZe
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:(13230031)(4636009)(346002)(396003)(376002)(136003)(39860400002)(230922051799003)(451199024)(82310400011)(186009)(64100799003)(1800799012)(36840700001)(40470700004)(46966006)(40460700003)(36860700001)(26005)(336012)(53546011)(2616005)(83380400001)(6506007)(6512007)(8676002)(47076005)(6862004)(4326008)(41300700001)(8936002)(2906002)(478600001)(5660300002)(6486002)(316002)(54906003)(70206006)(70586007)(33656002)(86362001)(82740400003)(36756003)(356005)(81166007)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 09:46:35.6193
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2211a822-95b9-4e3a-cfe9-08dbec09151d
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:
	DU6PEPF0000A7E0.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9437

DQoNCj4gT24gMjIgTm92IDIwMjMsIGF0IDE4OjAzLCBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IE9uIDIyLzExLzIwMjMgMzo0OSBwbSwgTHVj
YSBGYW5jZWxsdSB3cm90ZToNCj4+IA0KPj4+IE9uIDIxIE5vdiAyMDIzLCBhdCAyMDo0MSwgQW5k
cmV3IENvb3BlciA8YW5kcmV3LmNvb3BlcjNAY2l0cml4LmNvbT4gd3JvdGU6DQo+Pj4gDQo+Pj4g
T24gMjEvMTEvMjAyMyA4OjMzIHBtLCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4+PiArIENDIGhl
bnJ5DQo+Pj4+IA0KPj4+Pj4gT24gMjEgTm92IDIwMjMsIGF0IDIwOjE1LCBBbmRyZXcgQ29vcGVy
IDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPiB3cm90ZToNCj4+Pj4+IA0KPj4+Pj4gLVd3cml0
ZS1zdHJpbmdzIGlzIHVuaGFwcHkgd2l0aCBhc3NpZ25pbmcgInhlbiIgdG8gYSBtdXRhYmxlIHBv
aW50ZXIsIGJ1dCB0aGlzDQo+Pj4+PiBsb2dpYyBsb29rcyBpbmNvcnJlY3QuICBJdCB3YXMgaW5o
ZXJpdGVkIGZyb20gdGhlIHg4NiBzaWRlLCB3aGVyZSB0aGUgbG9naWMNCj4+Pj4+IHdhcyByZWR1
bmRhbnQgYW5kIGhhcyBub3cgYmVlbiByZW1vdmVkLg0KPj4+Pj4gDQo+Pj4+PiBJbiB0aGUgQVJN
IGNhc2UgaXQgaW5zZXJ0cyB0aGUgaW1hZ2UgbmFtZSBpbnRvICJ4ZW4seGVuLWJvb3RhcmdzIiBh
bmQgdGhlcmUgaXMNCj4+Pj4+IG5vIGxvZ2ljIGF0IGFsbCB0byBzdHJpcCB0aGlzIGJlZm9yZSBw
YXJzaW5nIGl0IGFzIHRoZSBjb21tYW5kIGxpbmUuDQo+Pj4+PiANCj4+Pj4+IFRoZSBhYnNlbmNl
IG9mIGFueSBsb2dpYyB0byBzdHJpcCBhbiBpbWFnZSBuYW1lIHN1Z2dlc3RzIHRoYXQgaXQgc2hv
dWxkbid0DQo+Pj4+PiBleGlzdCB0aGVyZSwgb3IgaGF2aW5nIGEgWGVuIGltYWdlIG5hbWVkIGUu
Zy4gImhtcC11bnNhZmUiIGluIHRoZSBmaWxlc3lzdGVtDQo+Pj4+PiBpcyBnb2luZyB0byBsZWFk
IHRvIHNvbWUgdW5leHBlY3RlZCBiZWhhdmlvdXIgb24gYm9vdC4NCj4+Pj4+IA0KPj4+Pj4gTm8g
ZnVuY3Rpb25hbCBjaGFuZ2UuDQo+Pj4+PiANCj4+Pj4+IFNpZ25lZC1vZmYtYnk6IEFuZHJldyBD
b29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+DQo+Pj4+PiAtLS0NCj4+Pj4+IENDOiBK
YW4gQmV1bGljaCA8SkJldWxpY2hAc3VzZS5jb20+DQo+Pj4+PiBDQzogUm9nZXIgUGF1IE1vbm7D
qSA8cm9nZXIucGF1QGNpdHJpeC5jb20+DQo+Pj4+PiBDQzogV2VpIExpdSA8d2xAeGVuLm9yZz4N
Cj4+Pj4+IENDOiBTdGVmYW5vIFN0YWJlbGxpbmkgPHNzdGFiZWxsaW5pQGtlcm5lbC5vcmc+DQo+
Pj4+PiBDQzogSnVsaWVuIEdyYWxsIDxqdWxpZW5AeGVuLm9yZz4NCj4+Pj4+IENDOiBWb2xvZHlt
eXIgQmFiY2h1ayA8Vm9sb2R5bXlyX0JhYmNodWtAZXBhbS5jb20+DQo+Pj4+PiBDQzogQmVydHJh
bmQgTWFycXVpcyA8YmVydHJhbmQubWFycXVpc0Bhcm0uY29tPg0KPj4+Pj4gQ0M6IFJvYmVydG8g
QmFnbmFyYSA8cm9iZXJ0by5iYWduYXJhQGJ1Z3NlbmcuY29tPg0KPj4+Pj4gQ0M6IE5pY29sYSBW
ZXRyaW5pIDxuaWNvbGEudmV0cmluaUBidWdzZW5nLmNvbT4NCj4+Pj4+IA0KPj4+Pj4gdjI6DQo+
Pj4+PiAqIE5ldy4NCj4+Pj4+IA0KPj4+Pj4gSSdtIGFmcmFpZCB0aGF0IGFsbCBvZiB0aGlzIHJl
YXNvbmluZyBpcyBiYXNlZCBvbiByZWFkaW5nIHRoZSBzb3VyY2UgY29kZS4gIEkNCj4+Pj4+IGRv
bid0IGhhdmUgYW55IHdheSB0byB0cnkgdGhpcyBvdXQgaW4gYSByZWFsIEFSTSBVRUZJIGVudmly
b25tZW50Lg0KPj4+PiBJIHdpbGwgdGVzdCB0aGlzIG9uZSB0b21vcnJvdyBvbiBhbiBhcm0gYm9h
cmQNCj4+IEkgY29uZmlybSB0aGF0IGJvb3RpbmcgdGhvdWdoIFVFRkkgb24gYW4gYXJtIGJvYXJk
IHdvcmtzDQo+PiANCj4+IFJldmlld2VkLWJ5OiBMdWNhIEZhbmNlbGx1IDxsdWNhLmZhbmNlbGx1
QGFybS5jb20+DQo+PiBUZXN0ZWQtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJt
LmNvbT4NCj4gDQo+IFRoYW5rcywgYW5kIHlvdSBjb25maXJtZWQgdGhhdCB0aGUgZmlyc3QgY21k
bGluZSBwYXJhbWV0ZXIgaXMgc3RpbGwgdXNhYmxlPw0KDQpZZXMsIEnigJltIHVzaW5nIGEgeGVu
LmNmZyBsaWtlIHRoaXM6DQoNCltnbG9iYWxdDQpkZWZhdWx0PXhlbg0KDQpbeGVuXQ0Kb3B0aW9u
cz1ub3JlYm9vdCBkb20wX21lbT00MDk2TSBib290c2NydWI9MCBpb21tdT1vbiBsb2dsdmw9ZXJy
b3IgZ3Vlc3RfbG9nbHZsPWVycm9yDQprZXJuZWw9SW1hZ2UgY29uc29sZT1odmMwIGVhcmx5Y29u
PXhlbmJvb3Qgcm9vdHdhaXQgcm9vdD1QQVJUVVVJRD02YTYwNTI0ZC0wNjFkLTQ1NGEtYmZkMS0z
ODk4OTkxMGVjY2QNCg0KQW5kIGluIFhlbiBib290IEkgY2FuIHNlZSB0aGlzOg0KDQpbLi4uXQ0K
KFhFTikgQ29tbWFuZCBsaW5lOiAgbm9yZWJvb3QgZG9tMF9tZW09NDA5Nk0gYm9vdHNjcnViPTAg
aW9tbXU9b24gbG9nbHZsPWVycm9yIGd1ZXN0X2xvZ2x2bD1lcnJvcg0KWy4uLl0NCg0KU28gSSB0
aGluayBpdOKAmXMgcGFzc2luZyBldmVyeSBwYXJhbWV0ZXINCg0KPiANCj4gfkFuZHJldw0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 09:52:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 09:52:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639489.996920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r66Nt-0004ZW-5H; Thu, 23 Nov 2023 09:52:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639489.996920; Thu, 23 Nov 2023 09:52: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 1r66Nt-0004ZP-1K; Thu, 23 Nov 2023 09:52:33 +0000
Received: by outflank-mailman (input) for mailman id 639489;
 Thu, 23 Nov 2023 09: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r66Nr-0004ZI-Ir
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 09:52:31 +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 044571af-89e6-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 10:52:30 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-50970c2115eso838464e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 01:52:30 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 g20-20020a05600c4c9400b004064741f855sm1368653wmp.47.2023.11.23.01.52.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 01:52:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 044571af-89e6-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700733149; x=1701337949; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=sS4R3HKC+GvMZmIS4Qhf9RmF8Jn/8ENgZIRuzqHPj4k=;
        b=IWn1qrb155cP7pGMj2opru+mS6kMAEvRONd/QAVySGXr1iGiaYvuG7XjVSFW4h5Doc
         EEDDFH6NsU/JEAIQ8wIblQ3QdrihH+k5HU8vcjyb9w8+MFoO2YHwewv+HSFaJboz7+0h
         q1mhCdQW3zp29cLQkKCRmd8IXrj4EvGRgkDFY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700733149; x=1701337949;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=sS4R3HKC+GvMZmIS4Qhf9RmF8Jn/8ENgZIRuzqHPj4k=;
        b=vu9ry1A1PiKlhCwcFZzYbm7RY/q1Op94CRt0jzvbFbfRdU3nc42oYniUEyCbKKkucD
         XAAb/Ws/iRPC8yDfd0q90/M1pIoigDTWN9/dDa/wRdEv9ejIYuMIVfVdBPiIsTFH4OGa
         1DanaIKz6NfAZYWMiAJXl83YwR+hk7tWJg1A1gixWz7G0CZTBeP9V8jXufWB/LenqvY3
         0xaftRdcTwv0ByM7lfdL/sP4cu4SXV94DSTHxdxLbxard1Ar8IIsSDMaAnkaMO0yRr39
         1P9YLrtPoKxP2TISskWJV+g/lBRy3/8Vv7Pgr5ZU05IckgPjZiH6Lp9BQJl+vXweqXjY
         JsWQ==
X-Gm-Message-State: AOJu0YwF5YqF1u9smIkCoCq2qyHm8+eZ9Y5xtHSCWALUx6dFhdS2qSKV
	Ti9XZQPI12Ih74zLHdfc5vxsE0TMqQ5cJmSahrE=
X-Google-Smtp-Source: AGHT+IFJKJOiett4eoZgsjohTECKlKyFH/HKESIntahYXdU2bCMfTuKNhGGbsfY2yf1nDOuC+awY6w==
X-Received: by 2002:a19:4f07:0:b0:502:a4f4:ced9 with SMTP id d7-20020a194f07000000b00502a4f4ced9mr2661261lfb.62.1700733148980;
        Thu, 23 Nov 2023 01:52:28 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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 v2] livepatch: do not use .livepatch.funcs section to store internal state
Date: Thu, 23 Nov 2023 10:52:24 +0100
Message-ID: <20231123095224.13720-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Currently the livepatch logic inside of Xen will use fields of struct
livepatch_func in order to cache internal state of patched functions.  Note
this is a field that is part of the payload, and is loaded as an ELF section
(.livepatch.funcs), taking into account the SHF_* flags in the section
header.

The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
are SHF_ALLOC, which leads to its contents (the array of livepatch_func
structures) being placed in read-only memory:

Section Headers:
  [Nr] Name              Type             Address           Offset
       Size              EntSize          Flags  Link  Info  Align
[...]
  [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
       0000000000000068  0000000000000000   A       0     0     8

This previously went unnoticed, as all writes to the fields of livepatch_func
happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
however WP is no longer toggled in CR0 for patch application, and only the
hypervisor .text mappings are made write-accessible.  That leads to the
following page fault when attempting to apply a livepatch:

----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
CPU:    4
RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
[...]
Xen call trace:
   [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
   [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
   [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee

Pagetable walk from ffff82d040625079:
 L4[0x105] = 000000008c6c9063 ffffffffffffffff
 L3[0x141] = 000000008c6c6063 ffffffffffffffff
 L2[0x003] = 000000086a1e7063 ffffffffffffffff
 L1[0x025] = 800000086ca5d121 ffffffffffffffff

****************************************
Panic on CPU 4:
FATAL PAGE FAULT
[error_code=0003]
Faulting linear address: ffff82d040625079
****************************************

Fix this by moving the internal Xen function patching state out of
livepatch_func into an area not allocated as part of the ELF payload.  While
there also constify the array of livepatch_func structures in order to prevent
further surprises.

Note there's still one field (old_addr) that gets set during livepatch load.  I
consider this fine since the field is read-only after load, and at the point
the field gets set the underlying mapping hasn't been made read-only yet.

Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Rename opaque state field to insn_buffer.
---
 xen/arch/arm/arm32/livepatch.c      |  9 ++++---
 xen/arch/arm/arm64/livepatch.c      |  9 ++++---
 xen/arch/arm/livepatch.c            |  9 ++++---
 xen/arch/x86/livepatch.c            | 26 +++++++++++---------
 xen/common/livepatch.c              | 25 +++++++++++++------
 xen/include/public/sysctl.h         |  5 +---
 xen/include/xen/livepatch.h         | 38 ++++++++++++++++++++---------
 xen/include/xen/livepatch_payload.h |  3 ++-
 8 files changed, 76 insertions(+), 48 deletions(-)

diff --git a/xen/arch/arm/arm32/livepatch.c b/xen/arch/arm/arm32/livepatch.c
index 3c50283b2ab7..80d2659b7861 100644
--- a/xen/arch/arm/arm32/livepatch.c
+++ b/xen/arch/arm/arm32/livepatch.c
@@ -11,23 +11,24 @@
 #include <asm/page.h>
 #include <asm/livepatch.h>
 
-void arch_livepatch_apply(struct livepatch_func *func)
+void arch_livepatch_apply(const struct livepatch_func *func,
+                          struct livepatch_fstate *state)
 {
     uint32_t insn;
     uint32_t *new_ptr;
     unsigned int i, len;
 
-    BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE > sizeof(func->opaque));
+    BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE > sizeof(state->insn_buffer));
     BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE != sizeof(insn));
 
     ASSERT(vmap_of_xen_text);
 
-    len = livepatch_insn_len(func);
+    len = livepatch_insn_len(func, state);
     if ( !len )
         return;
 
     /* Save old ones. */
-    memcpy(func->opaque, func->old_addr, len);
+    memcpy(state->insn_buffer, func->old_addr, len);
 
     if ( func->new_addr )
     {
diff --git a/xen/arch/arm/arm64/livepatch.c b/xen/arch/arm/arm64/livepatch.c
index 62d2ef373a0e..df2cebeddefb 100644
--- a/xen/arch/arm/arm64/livepatch.c
+++ b/xen/arch/arm/arm64/livepatch.c
@@ -15,23 +15,24 @@
 #include <asm/insn.h>
 #include <asm/livepatch.h>
 
-void arch_livepatch_apply(struct livepatch_func *func)
+void arch_livepatch_apply(const struct livepatch_func *func,
+                          struct livepatch_fstate *state)
 {
     uint32_t insn;
     uint32_t *new_ptr;
     unsigned int i, len;
 
-    BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE > sizeof(func->opaque));
+    BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE > sizeof(state->insn_buffer));
     BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE != sizeof(insn));
 
     ASSERT(vmap_of_xen_text);
 
-    len = livepatch_insn_len(func);
+    len = livepatch_insn_len(func, state);
     if ( !len )
         return;
 
     /* Save old ones. */
-    memcpy(func->opaque, func->old_addr, len);
+    memcpy(state->insn_buffer, func->old_addr, len);
 
     if ( func->new_addr )
         insn = aarch64_insn_gen_branch_imm((unsigned long)func->old_addr,
diff --git a/xen/arch/arm/livepatch.c b/xen/arch/arm/livepatch.c
index d646379c8c5e..bbca1e5a5ed3 100644
--- a/xen/arch/arm/livepatch.c
+++ b/xen/arch/arm/livepatch.c
@@ -69,7 +69,7 @@ void arch_livepatch_revive(void)
 int arch_livepatch_verify_func(const struct livepatch_func *func)
 {
     /* If NOPing only do up to maximum amount we can put in the ->opaque. */
-    if ( !func->new_addr && (func->new_size > sizeof(func->opaque) ||
+    if ( !func->new_addr && (func->new_size > LIVEPATCH_OPAQUE_SIZE ||
          func->new_size % ARCH_PATCH_INSN_SIZE) )
         return -EOPNOTSUPP;
 
@@ -79,15 +79,16 @@ int arch_livepatch_verify_func(const struct livepatch_func *func)
     return 0;
 }
 
-void arch_livepatch_revert(const struct livepatch_func *func)
+void arch_livepatch_revert(const struct livepatch_func *func,
+                           struct livepatch_fstate *state)
 {
     uint32_t *new_ptr;
     unsigned int len;
 
     new_ptr = func->old_addr - (void *)_start + vmap_of_xen_text;
 
-    len = livepatch_insn_len(func);
-    memcpy(new_ptr, func->opaque, len);
+    len = livepatch_insn_len(func, state);
+    memcpy(new_ptr, state->insn_buffer, len);
 
     clean_and_invalidate_dcache_va_range(new_ptr, len);
 }
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index a54d991c5f0f..ee539f001b73 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -95,7 +95,7 @@ int arch_livepatch_verify_func(const struct livepatch_func *func)
     if ( !func->new_addr )
     {
         /* Only do up to maximum amount we can put in the ->opaque. */
-        if ( func->new_size > sizeof(func->opaque) )
+        if ( func->new_size > LIVEPATCH_OPAQUE_SIZE )
             return -EOPNOTSUPP;
 
         if ( func->old_size < func->new_size )
@@ -123,13 +123,14 @@ int arch_livepatch_verify_func(const struct livepatch_func *func)
  * "noinline" to cause control flow change and thus invalidate I$ and
  * cause refetch after modification.
  */
-void noinline arch_livepatch_apply(struct livepatch_func *func)
+void noinline arch_livepatch_apply(const struct livepatch_func *func,
+                                   struct livepatch_fstate *state)
 {
     uint8_t *old_ptr;
-    uint8_t insn[sizeof(func->opaque)];
+    uint8_t insn[sizeof(state->insn_buffer)];
     unsigned int len;
 
-    func->patch_offset = 0;
+    state->patch_offset = 0;
     old_ptr = func->old_addr;
 
     /*
@@ -141,14 +142,14 @@ void noinline arch_livepatch_apply(struct livepatch_func *func)
      * ENDBR64 or similar instructions).
      */
     if ( is_endbr64(old_ptr) || is_endbr64_poison(func->old_addr) )
-        func->patch_offset += ENDBR64_LEN;
+        state->patch_offset += ENDBR64_LEN;
 
     /* This call must be done with ->patch_offset already set. */
-    len = livepatch_insn_len(func);
+    len = livepatch_insn_len(func, state);
     if ( !len )
         return;
 
-    memcpy(func->opaque, old_ptr + func->patch_offset, len);
+    memcpy(state->insn_buffer, old_ptr + state->patch_offset, len);
     if ( func->new_addr )
     {
         int32_t val;
@@ -156,7 +157,7 @@ void noinline arch_livepatch_apply(struct livepatch_func *func)
         BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE != (1 + sizeof(val)));
 
         insn[0] = 0xe9; /* Relative jump. */
-        val = func->new_addr - (func->old_addr + func->patch_offset +
+        val = func->new_addr - (func->old_addr + state->patch_offset +
                                 ARCH_PATCH_INSN_SIZE);
 
         memcpy(&insn[1], &val, sizeof(val));
@@ -164,17 +165,18 @@ void noinline arch_livepatch_apply(struct livepatch_func *func)
     else
         add_nops(insn, len);
 
-    memcpy(old_ptr + func->patch_offset, insn, len);
+    memcpy(old_ptr + state->patch_offset, insn, len);
 }
 
 /*
  * "noinline" to cause control flow change and thus invalidate I$ and
  * cause refetch after modification.
  */
-void noinline arch_livepatch_revert(const struct livepatch_func *func)
+void noinline arch_livepatch_revert(const struct livepatch_func *func,
+                                    struct livepatch_fstate *state)
 {
-    memcpy(func->old_addr + func->patch_offset, func->opaque,
-           livepatch_insn_len(func));
+    memcpy(func->old_addr + state->patch_offset, state->insn_buffer,
+           livepatch_insn_len(func, state));
 }
 
 /*
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 845340c7f398..1209fea2566c 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -260,6 +260,9 @@ static void free_payload_data(struct payload *payload)
     vfree((void *)payload->text_addr);
 
     payload->pages = 0;
+
+    /* fstate gets allocated strictly after move_payload. */
+    XFREE(payload->fstate);
 }
 
 /*
@@ -656,6 +659,7 @@ static int prepare_payload(struct payload *payload,
 {
     const struct livepatch_elf_sec *sec;
     unsigned int i;
+    struct livepatch_func *funcs;
     struct livepatch_func *f;
     struct virtual_region *region;
     const Elf_Note *n;
@@ -666,14 +670,19 @@ static int prepare_payload(struct payload *payload,
         if ( !section_ok(elf, sec, sizeof(*payload->funcs)) )
             return -EINVAL;
 
-        payload->funcs = sec->load_addr;
+        payload->funcs = funcs = sec->load_addr;
         payload->nfuncs = sec->sec->sh_size / sizeof(*payload->funcs);
 
+        payload->fstate = xzalloc_array(typeof(*payload->fstate),
+                                        payload->nfuncs);
+        if ( !payload->fstate )
+            return -ENOMEM;
+
         for ( i = 0; i < payload->nfuncs; i++ )
         {
             int rc;
 
-            f = &(payload->funcs[i]);
+            f = &(funcs[i]);
 
             if ( f->version != LIVEPATCH_PAYLOAD_VERSION )
             {
@@ -1361,7 +1370,7 @@ static int apply_payload(struct payload *data)
     ASSERT(!local_irq_is_enabled());
 
     for ( i = 0; i < data->nfuncs; i++ )
-        common_livepatch_apply(&data->funcs[i]);
+        common_livepatch_apply(&data->funcs[i], &data->fstate[i]);
 
     arch_livepatch_revive();
 
@@ -1397,7 +1406,7 @@ static int revert_payload(struct payload *data)
     }
 
     for ( i = 0; i < data->nfuncs; i++ )
-        common_livepatch_revert(&data->funcs[i]);
+        common_livepatch_revert(&data->funcs[i], &data->fstate[i]);
 
     /*
      * Since we are running with IRQs disabled and the hooks may call common
@@ -1438,9 +1447,10 @@ static inline bool was_action_consistent(const struct payload *data, livepatch_f
 
     for ( i = 0; i < data->nfuncs; i++ )
     {
-        struct livepatch_func *f = &(data->funcs[i]);
+        const struct livepatch_func *f = &(data->funcs[i]);
+        const struct livepatch_fstate *s = &(data->fstate[i]);
 
-        if ( f->applied != expected_state )
+        if ( s->applied != expected_state )
         {
             printk(XENLOG_ERR LIVEPATCH "%s: Payload has a function: '%s' with inconsistent applied state.\n",
                    data->name, f->name ?: "noname");
@@ -2157,7 +2167,8 @@ static void cf_check livepatch_printall(unsigned char key)
 
         for ( i = 0; i < data->nfuncs; i++ )
         {
-            struct livepatch_func *f = &(data->funcs[i]);
+            const struct livepatch_func *f = &(data->funcs[i]);
+
             printk("    %s patch %p(%u) with %p (%u)\n",
                    f->name, f->old_addr, f->old_size, f->new_addr, f->new_size);
 
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index f1eba784059a..9b19679caeb1 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -991,10 +991,7 @@ struct livepatch_func {
     uint32_t new_size;
     uint32_t old_size;
     uint8_t version;        /* MUST be LIVEPATCH_PAYLOAD_VERSION. */
-    uint8_t opaque[LIVEPATCH_OPAQUE_SIZE];
-    uint8_t applied;
-    uint8_t patch_offset;
-    uint8_t _pad[6];
+    uint8_t _pad[39];
     livepatch_expectation_t expect;
 };
 typedef struct livepatch_func livepatch_func_t;
diff --git a/xen/include/xen/livepatch.h b/xen/include/xen/livepatch.h
index 458eef57a7d1..df339a134e40 100644
--- a/xen/include/xen/livepatch.h
+++ b/xen/include/xen/livepatch.h
@@ -13,6 +13,9 @@ struct xen_sysctl_livepatch_op;
 
 #include <xen/elfstructs.h>
 #include <xen/errno.h> /* For -ENOSYS or -EOVERFLOW */
+
+#include <public/sysctl.h> /* For LIVEPATCH_OPAQUE_SIZE */
+
 #ifdef CONFIG_LIVEPATCH
 
 /*
@@ -51,6 +54,12 @@ struct livepatch_symbol {
     bool new_symbol;
 };
 
+struct livepatch_fstate {
+    unsigned int patch_offset;
+    enum livepatch_func_state applied;
+    uint8_t insn_buffer[LIVEPATCH_OPAQUE_SIZE];
+};
+
 int livepatch_op(struct xen_sysctl_livepatch_op *);
 void check_for_livepatch_work(void);
 unsigned long livepatch_symbols_lookup_by_name(const char *symname);
@@ -87,10 +96,11 @@ void arch_livepatch_init(void);
 int arch_livepatch_verify_func(const struct livepatch_func *func);
 
 static inline
-unsigned int livepatch_insn_len(const struct livepatch_func *func)
+unsigned int livepatch_insn_len(const struct livepatch_func *func,
+                                const struct livepatch_fstate *state)
 {
     if ( !func->new_addr )
-        return func->new_size - func->patch_offset;
+        return func->new_size - state->patch_offset;
 
     return ARCH_PATCH_INSN_SIZE;
 }
@@ -117,39 +127,43 @@ int arch_livepatch_safety_check(void);
 int arch_livepatch_quiesce(void);
 void arch_livepatch_revive(void);
 
-void arch_livepatch_apply(struct livepatch_func *func);
-void arch_livepatch_revert(const struct livepatch_func *func);
+void arch_livepatch_apply(const struct livepatch_func *func,
+                          struct livepatch_fstate *state);
+void arch_livepatch_revert(const struct livepatch_func *func,
+                           struct livepatch_fstate *state);
 void arch_livepatch_post_action(void);
 
 void arch_livepatch_mask(void);
 void arch_livepatch_unmask(void);
 
-static inline void common_livepatch_apply(struct livepatch_func *func)
+static inline void common_livepatch_apply(const struct livepatch_func *func,
+                                          struct livepatch_fstate *state)
 {
     /* If the action has been already executed on this function, do nothing. */
-    if ( func->applied == LIVEPATCH_FUNC_APPLIED )
+    if ( state->applied == LIVEPATCH_FUNC_APPLIED )
     {
         printk(XENLOG_WARNING LIVEPATCH "%s: %s has been already applied before\n",
                 __func__, func->name);
         return;
     }
 
-    arch_livepatch_apply(func);
-    func->applied = LIVEPATCH_FUNC_APPLIED;
+    arch_livepatch_apply(func, state);
+    state->applied = LIVEPATCH_FUNC_APPLIED;
 }
 
-static inline void common_livepatch_revert(struct livepatch_func *func)
+static inline void common_livepatch_revert(const struct livepatch_func *func,
+                                           struct livepatch_fstate *state)
 {
     /* If the apply action hasn't been executed on this function, do nothing. */
-    if ( !func->old_addr || func->applied == LIVEPATCH_FUNC_NOT_APPLIED )
+    if ( !func->old_addr || state->applied == LIVEPATCH_FUNC_NOT_APPLIED )
     {
         printk(XENLOG_WARNING LIVEPATCH "%s: %s has not been applied before\n",
                 __func__, func->name);
         return;
     }
 
-    arch_livepatch_revert(func);
-    func->applied = LIVEPATCH_FUNC_NOT_APPLIED;
+    arch_livepatch_revert(func, state);
+    state->applied = LIVEPATCH_FUNC_NOT_APPLIED;
 }
 #else
 
diff --git a/xen/include/xen/livepatch_payload.h b/xen/include/xen/livepatch_payload.h
index 9f5f0642057c..b9cd4f209670 100644
--- a/xen/include/xen/livepatch_payload.h
+++ b/xen/include/xen/livepatch_payload.h
@@ -52,7 +52,8 @@ struct payload {
     size_t ro_size;                      /* .. and its size (if any). */
     unsigned int pages;                  /* Total pages for [text,rw,ro]_addr */
     struct list_head applied_list;       /* Linked to 'applied_list'. */
-    struct livepatch_func *funcs;        /* The array of functions to patch. */
+    const struct livepatch_func *funcs;  /* The array of functions to patch. */
+    struct livepatch_fstate *fstate;     /* State of patched functions. */
     unsigned int nfuncs;                 /* Nr of functions to patch. */
     const struct livepatch_symbol *symtab; /* All symbols. */
     const char *strtab;                  /* Pointer to .strtab. */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 09:57:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 09:57:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639495.996930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r66SD-0005Xe-Kw; Thu, 23 Nov 2023 09:57:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639495.996930; Thu, 23 Nov 2023 09: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 1r66SD-0005XX-I5; Thu, 23 Nov 2023 09:57:01 +0000
Received: by outflank-mailman (input) for mailman id 639495;
 Thu, 23 Nov 2023 09:57: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r66SC-0005XR-60
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 09:57:00 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0626.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::626])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a404b902-89e6-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 10:56:58 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS1PR04MB9454.eurprd04.prod.outlook.com (2603:10a6:20b:4d9::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.12; Thu, 23 Nov
 2023 09:56:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 09:56: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: a404b902-89e6-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B4aAzd5Z8sCb+mtApqIC2C08/+CKYSjBlcXp1Hgf8yyJOa+0Z57rvE/xvqzdHrort8/cUd1ceBtK0YnljZ6aKOjJq17eSqmuk/Me5I2X6QaMhctauWlauO7kXIOowLvVqseUFISwkqwx2utZGxGwrQmHckkFaFt0s9bWbzTOJnD+tczNL1Ge7NOXRuuQn5FzH9MXqvcNAlUgH04/Lbmabf1g+PbkqFBo02O1/mEKKfcKZ/Cs8h68gSRQJ5SxUaIwtPiG6HT2e3B97BDS3/u6NNbOfFNa94pPIF0cc0g7KbaaB65Jk6BYn3T0yzuwYGqoun1QOV5Keq8YqQ9aUn4P1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Gfu/VNEnKZ3qqlnw+ieUfhWmAl1pdDagFz4gbB063eY=;
 b=EfKoRC1L2+EX0w2bfLkucR9Okk/xQ9pVkekh7UCrNM6TXCBdCgqlk6NarXLRVDfg+xeyVyNToErl3F9U/md2TGEj69XjJNhDDtra/wWt22tTGLBb3UBLUzV9ovwAfX5yiq7fS/IAMG/9ELQ3JS5fdr88Do2ClJJIkxIJYq6SO+9ydFBVNN+TyuvLyh4aYsPcpWzWsS5ruD4GY6VHA/BxdA4ndZLZwlNib7CNzlhJjCoNh/ljyN/Jw0xhVQXTmWA7SzC3CK+kTsszaKC/afRpq8xwVL+kaogkfkvdFs5Zl7APB5r0WIoeH/hLeC7/dZsNpPsaAmAV9OBDyrdlfEHB9w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Gfu/VNEnKZ3qqlnw+ieUfhWmAl1pdDagFz4gbB063eY=;
 b=ooDrg+HEZLzuVnKUzKgEljyZ1Twdc3e9QCR7i+zTVHZsEFKxQHXuZRDSs/r2w/xTzeX4GBoBwlvC086IedRVu6dduiB9RkzAXRyOaUtHpZEA7ttul9Z9xiYrtQmy0xSQ5jEmITktYKH/Rc+JuJ1Z4xDHFILRY88QmQJwaFPIGkri1AnjwzCB2curK6//2LU36ux0NaK+c7jcVlL9U19p8VvDYTYGpT4hFObHFiZbhifNpvqev5tyxfiEDSzRklcyrg1G05g5+shZmN35XoYpJac17ExRtvWJhqGpGkWdKO1xP1dLu/4zPiWHQ+ZScs71GOcO9Zb7ugtQz1M1a5lvZQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dda4acfb-65e6-4848-bacf-8974ee98e028@suse.com>
Date: Thu, 23 Nov 2023 10:56:53 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86emul/test: fold AVX512VL scatter/gather test blobs
 with AVX512F ones
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <002261fe-99f4-5aa4-3984-1fd7d4d250ff@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <002261fe-99f4-5aa4-3984-1fd7d4d250ff@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0143.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS1PR04MB9454:EE_
X-MS-Office365-Filtering-Correlation-Id: 4c4c963b-cbe5-4ac7-7dc2-08dbec0a8616
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	elZcwU9LgUprGGZDuziGMpygxJAp+rrkXiXA5lOIPxEsq2HjRTAPmXDvNufB55X7fzHAUlPx7E/MsdBIdDAd54YJllzrKaJzTXLRj/y/+45R10kiVhgQaCzRg1gConyaSJ4NpgtI5Yn1HpvgW/wA+BXCqY2kqna6JFP5TQs53Lg3FuruavVju+/WDCpLGUJ6O7t3wGDuGEo63kW7j3PCxVeMDwrIGkDEIrgJ4yzSgfv7FBfuZZXhSl4FshGwcZM8noEZjJh6Py0UEeoLxpGQuYMhIeTu3TdfzusQNczdcgTnAxkW2ZjTK75VwwNUwy2h0WUN7gkBiV/NE+SFiJ2GCHacKG4BuMSYZcHV/eVx7VPNLxaKG3/d2Lt0OljAcARuUpP6Z5+lZzCwFojJMQXJ8C5xN/EfCZVWWBccnXB30sRPuOA7UU7fel4A7ZN0IfWq6SzAm0mZmP+TByGqt3aEcgbcmrvoYAxtYh3itWU8gj/Ynie5cHCrsHYtJKRpJ6T2ZD5yl/uC3ALHehn9kcDLugdJ7ifj5wdKoUeU+PY4cJBb/IpFQR0t7deZIWrXnOqKhNQoN0hbmykh/YZSI6glsVLAxc9NKrh9tbQzLb0PTdNBCidheOoCKG1La3BF3TnBr1uCH9yNXpTd6VY9LZoNRA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(346002)(396003)(376002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(2906002)(86362001)(31696002)(478600001)(6506007)(2616005)(6512007)(53546011)(66556008)(8676002)(66476007)(316002)(54906003)(66946007)(4326008)(8936002)(26005)(36756003)(6486002)(110136005)(38100700002)(5660300002)(41300700001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M1M5eER0Sk9Jckg4dWRrRVF5MlVabjZyT3VSQ2VqZFhMcUx0Uk9jbHo3UEdB?=
 =?utf-8?B?eDJIRDd5ZSt4TFBmQW1tdDVZc3hDU3N2dFFaQUJuODRpbnZGTEJLcVdFL05E?=
 =?utf-8?B?MTZwV0NqR1YveWhEL3hwaU1zeGVnYkJwL0JEQ0paZGxOR0d4Wmhqc3hNVnpG?=
 =?utf-8?B?cXdFWDlYRFUzOHJJQXQxT1BrWXRBeW5vK0Y5VWhmbnVUbjh5UzBJNXFZdDcw?=
 =?utf-8?B?QWQzbCszTVhjMTdlUE5YcW5LcHJVUDcvZmxiYVhkUjBBYTRnSGJJMUdxR2kv?=
 =?utf-8?B?cXB6eTJwR2M0cUN0OEV5ZlJPeUswclc5dE8xOEdxSVY2RnYyTzBEWHdOcEM0?=
 =?utf-8?B?UVcrL2hVVHB2Z0VBRDV2K1BSZ3hoMmhmcUhQQzkrYzhrUExvMHBpMUl5QXZ1?=
 =?utf-8?B?S2RPVStWWWI0MDBQbURuak1waXhNb0t3R2Jjc25veGluZW8vWjZSUW1mYTF6?=
 =?utf-8?B?L0lhZUVSSTdHVlBYWUFpdGFiRUhxVTh6eXd1M0g1TWZwRCt6QS9RQ25OdURC?=
 =?utf-8?B?aHRER296REFHUm1ydUlZTmZGNnVyMUtaNVRzQ1E2Q09FZW5nekpyRllBc1lV?=
 =?utf-8?B?UmZRcXZoZkRuamN6WTVZWndCRXE1MHZ2UHZqNnhzM0RpUHJmZHVkK3lLQXM0?=
 =?utf-8?B?eFBvQmduRzU4SmE3ZXFkR3pOYmhhMU9Nc0hDd1V3K2g2Z0VGSURNZ2ttV2R0?=
 =?utf-8?B?M1NwVFQ5Z0RKN21kdzJzOEhuek85TlJRSkJ4MUpGZzUwbEJzek5TME1GMlV2?=
 =?utf-8?B?aU1Rd1lRMkcvQ2ZudTBldW5wTjZrRkp6YVNQNHp5QW45ZkYyQUVWd2ViM2ho?=
 =?utf-8?B?ckFmUFE0ODBuTjVuQ2RadFZEUVk1dFphRkxNakRWa29lL0JGUGZtK0NEVXl3?=
 =?utf-8?B?RDYveUVlWFdNT1Q4VHowSlBLb3FFZXE2SmhVR0tVbFBYS1ZjbkZ1bnUyMmtm?=
 =?utf-8?B?VS9RMlFvcDhYdW5GTzQrZnFENjFoNHBlNHoyVFpWd3hFK01xS0NrcTM5RUxw?=
 =?utf-8?B?VEo5QUp4VXA0QndJMW9jdkVjRmVXc2Z4T25iS3d5aEhoZjVBc2VlRkpuVUdO?=
 =?utf-8?B?NUtSeHFMRXVSOEs5TE05Z2hvaE1JRlNaNThGYmNnVnlwQVNicWJvMWFaVmcy?=
 =?utf-8?B?azJiS2xUbzgwVk92MENhSjNhQjhnNEVnNjZocGNnb3krMElTNTU5YmVKUTVK?=
 =?utf-8?B?VU1WUHl6ZXFxU2RtOW1rUXMrVkE2M2x5TnBDQ2pCSGFGWEUyeTQ5Z0krdGQ5?=
 =?utf-8?B?WFdJVkJsWGdIQjIwcGxmcXZURUs0ZGVYN2YvbEs4TnVYSEQ0Tkc4YlRtWVhq?=
 =?utf-8?B?Q2pXV0lLZjBoSzMrSGt5bWc3RW1BSHoyTFo2ZXVwbTg0VFg1cS80VWcwME1G?=
 =?utf-8?B?cjh2elVUMVQ5RmM5ajc5bE5pV1VNMTZCRVRIUmZydW10T1ZiamtkbDhDSnJo?=
 =?utf-8?B?WUtYdTBlZk5lTklWTHNEajlUclQwcHl4bzRaNXdqMzllODREazJSeHBXc0R2?=
 =?utf-8?B?SVMwUzBoT2J4UERmOWgvS0RsNENSM1pjUHU4WjdrOFFHbkF4S1JncncvQk5t?=
 =?utf-8?B?cWtGd2xvSWsyMXNRVUQ3NXcvUnZDS29JUW9uR0VtWTFWRTU2ME9SZ29Hdmw1?=
 =?utf-8?B?VEliQmlJLzJGdnlxbUpvem9wOVM5VW1GeUhwSDFPUVdXWE9KbFBsc1U5UEZp?=
 =?utf-8?B?T2JqZTVGbm1XQXNMUm52aTdkSy9xcHMyVmozMmp2dDF4ZUdQazJkYUY1Q0t1?=
 =?utf-8?B?Yk9MQnVWTE1mNnRHeUp3alovTnozbU5YK05tb1NycTBwRWVYdytFK3hCVG1J?=
 =?utf-8?B?cE4yNGtpOUc3cEJzWmFZajd0M3RxRGhuVzRDNzJ0dlB1UjVLOEEyVVA2TUda?=
 =?utf-8?B?aCtQdDhFSXBlUExWN2p6Y20zcGhnTjJ3cGZ1WDl1L2ZxRkZIMnQxeERqWUtv?=
 =?utf-8?B?TGpldEwyMk1hNkZXR0x3eUErcGY2Z2dpcmpUcUgzcmFzQ1VnM0lYYnR3b0Jw?=
 =?utf-8?B?QUtXd01kZHlHWlU2TktLSDUySllYSmVBZ0JDL1RzclpuK1lsR1BnMGJ4dm9C?=
 =?utf-8?B?MVBtcW1ZeDlGbTU5ZCt1OVgxdnZ4ZVY0YUQ4eUtPNFlhL3MrY2kvT2lPd25k?=
 =?utf-8?Q?EtkPAWjbK9JLXNxmRs32kh+as?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4c4c963b-cbe5-4ac7-7dc2-08dbec0a8616
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 09:56:54.8693
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rR0MqZnoJE7f9A3AJ90uJiBVF9wcBN8M0peyDcdh1isveyBZMnFFU1NmyV/lCzOr9ta6zJwprDPEIzr+7DSm2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS1PR04MB9454

On 29.08.2023 12:53, Jan Beulich wrote:
> Everywhere else the VL tests are grouped with the basic ones,
> distinguished simply by the "form" specifiers.
> 
> No change to the generated test blobs, and hence no functional change.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Any chance of an ack for this purely mechanical tidying?

Thanks, Jan

> --- a/tools/tests/x86_emulator/Makefile
> +++ b/tools/tests/x86_emulator/Makefile
> @@ -18,7 +18,7 @@ CFLAGS += $(CFLAGS_xeninclude)
>  
>  SIMD := 3dnow sse sse2 sse4 avx avx2 xop avx512f avx512bw avx512dq avx512er avx512vbmi avx512fp16
>  FMA := fma4 fma
> -SG := avx2-sg avx512f-sg avx512vl-sg
> +SG := avx2-sg avx512f-sg
>  AES := ssse3-aes avx-aes avx2-vaes avx512bw-vaes
>  CLMUL := ssse3-pclmul avx-pclmul avx2-vpclmulqdq avx512bw-vpclmulqdq avx512vbmi2-vpclmulqdq
>  SHA := sse4-sha avx-sha avx512f-sha
> @@ -70,14 +70,10 @@ xop-flts := $(avx-flts)
>  avx512f-vecs := 64 16 32
>  avx512f-ints := 4 8
>  avx512f-flts := 4 8
> -avx512f-sg-vecs := 64
> +avx512f-sg-vecs := $(avx512f-vecs)
>  avx512f-sg-idxs := 4 8
>  avx512f-sg-ints := $(avx512f-ints)
>  avx512f-sg-flts := $(avx512f-flts)
> -avx512vl-sg-vecs := 16 32
> -avx512vl-sg-idxs := $(avx512f-sg-idxs)
> -avx512vl-sg-ints := $(avx512f-ints)
> -avx512vl-sg-flts := $(avx512f-flts)
>  avx512bw-vecs := $(avx512f-vecs)
>  avx512bw-ints := 1 2
>  avx512bw-flts :=
> --- a/tools/tests/x86_emulator/test_x86_emulator.c
> +++ b/tools/tests/x86_emulator/test_x86_emulator.c
> @@ -34,7 +34,6 @@ asm ( ".pushsection .test, \"ax\", @prog
>  #include "avx512f.h"
>  #include "avx512f-sg.h"
>  #include "avx512f-sha.h"
> -#include "avx512vl-sg.h"
>  #include "avx512bw.h"
>  #include "avx512bw-vaes.h"
>  #include "avx512bw-vpclmulqdq.h"
> @@ -462,22 +461,22 @@ static const struct {
>      AVX512VL(VL u64x2,        avx512f,      16u8),
>      AVX512VL(VL s64x4,        avx512f,      32i8),
>      AVX512VL(VL u64x4,        avx512f,      32u8),
> -    SIMD(AVX512VL S/G f32[4x32], avx512vl_sg, 16x4f4),
> -    SIMD(AVX512VL S/G f64[2x32], avx512vl_sg, 16x4f8),
> -    SIMD(AVX512VL S/G f32[2x64], avx512vl_sg, 16x8f4),
> -    SIMD(AVX512VL S/G f64[2x64], avx512vl_sg, 16x8f8),
> -    SIMD(AVX512VL S/G f32[8x32], avx512vl_sg, 32x4f4),
> -    SIMD(AVX512VL S/G f64[4x32], avx512vl_sg, 32x4f8),
> -    SIMD(AVX512VL S/G f32[4x64], avx512vl_sg, 32x8f4),
> -    SIMD(AVX512VL S/G f64[4x64], avx512vl_sg, 32x8f8),
> -    SIMD(AVX512VL S/G i32[4x32], avx512vl_sg, 16x4i4),
> -    SIMD(AVX512VL S/G i64[2x32], avx512vl_sg, 16x4i8),
> -    SIMD(AVX512VL S/G i32[2x64], avx512vl_sg, 16x8i4),
> -    SIMD(AVX512VL S/G i64[2x64], avx512vl_sg, 16x8i8),
> -    SIMD(AVX512VL S/G i32[8x32], avx512vl_sg, 32x4i4),
> -    SIMD(AVX512VL S/G i64[4x32], avx512vl_sg, 32x4i8),
> -    SIMD(AVX512VL S/G i32[4x64], avx512vl_sg, 32x8i4),
> -    SIMD(AVX512VL S/G i64[4x64], avx512vl_sg, 32x8i8),
> +    SIMD(AVX512VL S/G f32[4x32], avx512f_sg, 16x4f4),
> +    SIMD(AVX512VL S/G f64[2x32], avx512f_sg, 16x4f8),
> +    SIMD(AVX512VL S/G f32[2x64], avx512f_sg, 16x8f4),
> +    SIMD(AVX512VL S/G f64[2x64], avx512f_sg, 16x8f8),
> +    SIMD(AVX512VL S/G f32[8x32], avx512f_sg, 32x4f4),
> +    SIMD(AVX512VL S/G f64[4x32], avx512f_sg, 32x4f8),
> +    SIMD(AVX512VL S/G f32[4x64], avx512f_sg, 32x8f4),
> +    SIMD(AVX512VL S/G f64[4x64], avx512f_sg, 32x8f8),
> +    SIMD(AVX512VL S/G i32[4x32], avx512f_sg, 16x4i4),
> +    SIMD(AVX512VL S/G i64[2x32], avx512f_sg, 16x4i8),
> +    SIMD(AVX512VL S/G i32[2x64], avx512f_sg, 16x8i4),
> +    SIMD(AVX512VL S/G i64[2x64], avx512f_sg, 16x8i8),
> +    SIMD(AVX512VL S/G i32[8x32], avx512f_sg, 32x4i4),
> +    SIMD(AVX512VL S/G i64[4x32], avx512f_sg, 32x4i8),
> +    SIMD(AVX512VL S/G i32[4x64], avx512f_sg, 32x8i4),
> +    SIMD(AVX512VL S/G i64[4x64], avx512f_sg, 32x8i8),
>      SIMD(AVX512BW s8x64,     avx512bw,      64i1),
>      SIMD(AVX512BW u8x64,     avx512bw,      64u1),
>      SIMD(AVX512BW s16x32,    avx512bw,      64i2),
> 



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:20:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:20:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639499.996939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r66oy-00047s-LX; Thu, 23 Nov 2023 10:20:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639499.996939; Thu, 23 Nov 2023 10: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 1r66oy-00047l-Io; Thu, 23 Nov 2023 10:20:32 +0000
Received: by outflank-mailman (input) for mailman id 639499;
 Thu, 23 Nov 2023 10:20: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r66ox-00047f-Bj
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:20:31 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0610.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id eccb7de0-89e9-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 11:20:29 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Thu, 23 Nov
 2023 10:20:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 10: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>
X-Inumbo-ID: eccb7de0-89e9-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D8DUm1iF7K0mxUksTmgP9X0jI+JYcX4VE4VuMdCBNbeHI56iYIzgA9B/n+p+P+6QbxBJHm+A00T/I7OBIYiXNqY8cj4Xq9ysy+aIxi25xHa8F+LCyXJMrH7rgb/7JJ4lvBIecjXhbxM+pQQTf5LZxKWc9e79rU7G24Q2HlcdXfNu2tAc6lUhppv/PvWs+M/zAAh5nIhCqpd1m3aAaw9zf7wqXOTziipIB81Jez88w/b82QvjKrUKdb9Q17R+UbHoAfCmYDIdcbUHH5n4OzkbScipPWiFfoV/Ib3kTumF4Uk7GN6MO7biRwtkYelQysa3pna9JKhZg4NJFeJsCmQswQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C+mvBM+pkezPNlqrFSNGerKaLkBxgetczVa0ZF0yAAc=;
 b=dXE61Qus9OGWaSoL9amFp02ogcOtWRwltufzb2K+SjALs39bmXx6NkrdnDwd/a7DrsVViBGOi6KyGl301k8GpYQ8y+vfTYXSfzCormGQqAcwdQdmy/uIZIlu0j3/6yPusjtEmo5PExrEafe2NSgliD09Bw1sfSMnR7Lz9i4K6ff5crSt0kI0mn0urFcGx4rbi7PXJNBIj529zaZjWArIpC4+MuepPZfXZPjLWsExlHv3kr7rKvBpzcXQ4aFjhIM14kQADkW6ot7BWUG7z1oFmFnZJCa7a78TFlTVFfrSN5C6QwZX4RI/7kUR43oluSrgq16XdwtO+H2o4GsKhGF6rg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C+mvBM+pkezPNlqrFSNGerKaLkBxgetczVa0ZF0yAAc=;
 b=DQlj/vx58knyjlfzgh6btgiwvAAkB8JgnRrpsNdfHfcVvKYgaZ9qzoGFd+TUMdMluM93PYNOxHz+kF1AHmDMAG6Ja8dH9IKmxRh33y384/5nZh4I3Fjl7fOey8Fz635iFjlLcmFLNZ1wbQY7lYZqbOMtVid2e6bBVMhEnoAE3a10HODZo90+ZmDcAS4ubOeU8Ek8dc8VRktxXtc9OWJw4/6g6U12VSAUOiYVSe7o/wM6Nr34Zd6DoGLbqXipLK/5uXto0D7NYSUYmQXFQXt9D17CsJU/zbdhsB6doG0QNBRc+GP+InlJvwP98rBUhOoiMXW6CIai+NlMPhk2uZwXJg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f7016076-19a4-4416-b7be-df16e8d4a017@suse.com>
Date: Thu, 23 Nov 2023 11:20:24 +0100
User-Agent: Mozilla Thunderbird
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/vPIC: correct vcpi_domain()
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0099.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:cb::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8951:EE_
X-MS-Office365-Filtering-Correlation-Id: 951e8e9e-0593-4d6d-299f-08dbec0dcf2c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gvBlun6Bh4Br5wXWxr5b504k40ackQstI3YcfwjZW3kshNqsADh47rzSpBw5nq80498VkjfJm+/+GxGZlXZ0rfnNxGMdqA7G8tB0dCwkTj2M3FTp7G6dF5DstoexKUXvFjqrga8An62/OYXGz/rLxbkOb5LfsIKTj7h4dlWAsVKLT+ou7He5h8Fbr7GGpXXjYjzV8LgKZrbkCPMtViSeqLEfOWUutF3q8F7UDUZqWTxPFCIhohjQD947X+pYXfKGf4moH3faen9fMNLOrw3DtIa5tYThP7q9vXxNtz3ro793RCbTsOTGmLFkBq92rhH5Nx8oR6v5xNiUhsRmW1NM5bC3tdH+6wrj736gl8vqaZfVhurpVdRA+/A0gcFPPggE+O+IgRKPXUwVI68kR5xXpL+vHptZax8a3OwPvmGPABGs2LyjBgOJxeWTclDpBaAINrUT3qS10gdPbHu0ViujtRhvdGcUTxYOd1uKUp0CcoRafa4cMJel9EXvQgryzLi9eMCpZgpX0DuFvKSW4X0Y8kGLby3LAxyawqhgAlWrUmQRRpqUIr8QC3kLZ/7kxwjFACND4VeBObcweyrTd/PEzMGOxmqRNNelKFpVWBdEu7p7eMYJ4cL/oNLO+hQWHzCuuOcxY1bRMp8UkWewASNlGQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(83380400001)(2616005)(26005)(6512007)(6506007)(2906002)(4744005)(5660300002)(41300700001)(66556008)(66946007)(6486002)(66476007)(8936002)(316002)(54906003)(4326008)(6916009)(8676002)(478600001)(38100700002)(31696002)(86362001)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NktBOTFrZWVScCszY01ubnJ5ZTMycUZJZGlJV1BPMlZwdlFCK1VWV2krUWxK?=
 =?utf-8?B?dkdMTlZCdHBjdVVobkRscSsxbmYvTG1jV25zS1JvRUhFaVhPNm5INWgvWEhz?=
 =?utf-8?B?dDVmd1RGcVd1RFNDWEhSY2llUzJzWWlUR0QwZk9GckFKcUtZSUt4a0JyWE93?=
 =?utf-8?B?U2x5UGhEZDlYK2RRSm4rR3BoVGZQaUdVS3V0SFc0bU9jcjdqeGtFNEpzRVBF?=
 =?utf-8?B?WDkyZy9Pdnl5TmxzM0R2WVREVG52YTVhOFoyQm5YWXI2SFNSbHZkN1ozT3ht?=
 =?utf-8?B?NTBlR2d3VkNVQkVoUUF0cURtYU8vbkFwWVVmaFJTUVozczRGaXFtL2ZWVU9O?=
 =?utf-8?B?eTcyUzBoNmxnTXNyMlRvTWxBSVllNllZV091ME50NmorLzZIaDRIT2Rac1hi?=
 =?utf-8?B?SUVzUkR6Ull3cGRyUUxBck01MFlvOThCWXlPcnl6aEVmQ0ZqQkRCVWZLa2wx?=
 =?utf-8?B?NlVJeTUyMmw1YThyeFptaU1Cc2V0cFVmT1BveW5VbXBZOHJFSjk0Y0dScElv?=
 =?utf-8?B?R2w3QzRqL05jOUVqUU5VbGJWTWVMejBIN3RxRjRTU3VET3dwOGQ4UUpBQWJu?=
 =?utf-8?B?bG1mRTcxNjJ2TmdOWXZUYzMvc1JMQzB1SkZNcVBEZlNBcDZUbjVLSU4wUjdZ?=
 =?utf-8?B?bjlUODJZQldLRmZOdzN5QXlraFV6anM3ME5rbmhsSGpuUFlPMUFPZzU3OGtn?=
 =?utf-8?B?Z2hVY3lJQzVPemVOS0JmWHltWlJFZmN4NWIyZnVhYVRBWStiVjgvbm02dlVj?=
 =?utf-8?B?bWNFaTJWMjc2Ykl6cm81TFNlR1ZwUUlCVlFyRU9nWldwZ0krcHU3N215ZWNQ?=
 =?utf-8?B?UzB3VWQreStQYWRuN3ZXbDVFZ0ozTmgya093UWxLaWs4MEZoYVVFb3YySzh1?=
 =?utf-8?B?eTRzREQwa3lXNlptZ2U4OXlSSStGYnB6NTJBMlBEb0VqRVdPRGlZMzc2a3A0?=
 =?utf-8?B?K1pQbFJkMmZsN2hidUlYbFdYNzRjb0QyeW9sUHQrVzRadGVrNkh6WDFCbHB5?=
 =?utf-8?B?NnI2SjJURXN1K3VXSHcvM1FrUEJoNm1sYWxJSGdkS0kvdGxwM3lNMTQwZ0d2?=
 =?utf-8?B?UURrdFZGbXlxWEwrYm0xMkEyZFpPY0xMenJUVkdvcXhpMjZ3aldYMmNrMjFh?=
 =?utf-8?B?N0NBai9idWxNekdaVk45S1pSQy9XMWN4WmdoQndNMXdJNXk0Yk9rY2ZXaFRK?=
 =?utf-8?B?MmNGYUhpTWc1c05QZ1UvZXB3NXdxb2lDYXdBalczVGh1Y2hVVVN2aVlKL3kv?=
 =?utf-8?B?NG9Oblp6bkF4RG16VkJ6Zi9YekpXNDN2bGIxanBMNzExU2NDYlF1U0M4enhP?=
 =?utf-8?B?MTlxR3ZGUDV2OHJ4WUlMeHJOM2QyQ0ttVXVLTG5NTkl5Y3RFUFJBNUxpemJF?=
 =?utf-8?B?RWQ2bzFsaU5qcHZweEkyQ2ZXejZrYkZ3ajFHSTdoS0k4bVRRNnRLSUYyRXla?=
 =?utf-8?B?bXVsRGxLdnEzU0VjeVd5Z050V2RCMDRlZGR1WlV6NHd2cEwrNkZiSkxvQWRq?=
 =?utf-8?B?bC83eThtZjJOemJiR2Z4L3VCWkxTL3ZwMW9ySXJ1M1l3OTVJYnVYRnYrTjVN?=
 =?utf-8?B?b2dHVVJiMDh1MzdRZTZTbnh4dHE3a0xMMVJVcnFoVVlkVTd5ZkFDeFRDemVi?=
 =?utf-8?B?WG9OVzhmTGlDc00wd0FwT0FLSkpGTUVZOGhkTzNYVUxDcVFFdWdybS9ybzY5?=
 =?utf-8?B?cWZpWjFJVnlKNkIzMWdNV0dkNTR4T2JSVUR1a0hhMStnbm93cVhwT2ZvYkpq?=
 =?utf-8?B?N09UYzcyUWJTanpqVGViTzVUZXZGajNmd05QZ3Y2NjB0eU5xbUl2bytrNWVy?=
 =?utf-8?B?QWZydFZRWjBaNHFvWXN0TWR6c2J3aEhQRmI4dThIdkw1NllRVEQvOXFLekN0?=
 =?utf-8?B?S29POTUxQU1ZVXlDQlhPaEt0L1Q2Zys2aUsrU2QxVjluRlNrclZaamR4V3ZW?=
 =?utf-8?B?VWVGUGJQaEo2aTAvWU1ISWI3UHQzOE9JQ3JleVRYTjFwSm9jZ2w0NmtRRVNY?=
 =?utf-8?B?eEl4VGhRTEZkZTFqelViVHFWN1pLOFhlY3hWQ1lyd0wvZ1ErSHRMRUNiSlNT?=
 =?utf-8?B?dUdudHM5cnBCZlFYbmcwM3h3TDdrRWFFZlByMlhjNmZFdi94bDRGS25qVWZD?=
 =?utf-8?Q?yGSblZd9nzl2/mXr2sdEQb/NC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 951e8e9e-0593-4d6d-299f-08dbec0dcf2c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 10:20:25.8530
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ycOYiwcSd2O0zhUNc1UvxRnst5ejdXuimaGDq9rtl7H4DRMCIZnHPygq/HwfUz2i1ydS/4DPtfg5Ing6oa6ayg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8951

Make it use its parameter in both places.

Fixes: 00a70f44a68c ("[HVM] Update VPIC device model for new interrupt delivery code")
Signed-off-by: Jan Beulich <jbeulich@suse.com>

--- a/xen/arch/x86/hvm/vpic.c
+++ b/xen/arch/x86/hvm/vpic.c
@@ -35,7 +35,7 @@
 #include <asm/hvm/save.h>
 
 #define vpic_domain(v) (container_of((v), struct domain, \
-                        arch.hvm.vpic[!vpic->is_master]))
+                                     arch.hvm.vpic[!(v)->is_master]))
 #define __vpic_lock(v) &container_of((v), struct hvm_domain, \
                                         vpic[!(v)->is_master])->irq_lock
 #define vpic_lock(v)   spin_lock(__vpic_lock(v))


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:25:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639502.996950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r66tw-0005Ql-9H; Thu, 23 Nov 2023 10:25:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639502.996950; Thu, 23 Nov 2023 10: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 1r66tw-0005Qe-4y; Thu, 23 Nov 2023 10:25:40 +0000
Received: by outflank-mailman (input) for mailman id 639502;
 Thu, 23 Nov 2023 10: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r66tv-0005QY-Mh
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:25:39 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2062d.outbound.protection.outlook.com
 [2a01:111:f400:7d00::62d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a51e94bc-89ea-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 11:25:38 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8951.eurprd04.prod.outlook.com (2603:10a6:10:2e2::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Thu, 23 Nov
 2023 10:25:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 10: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: a51e94bc-89ea-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iNr7GJsaB1NdIdKxAnW8x1zAIWEVSPoIdgmjLoK2vnJfmr0B8x/LhS0dQ8ejsWwz8CCkfMuhTudUYKRHsk6NiIerT8H1tmvVREXGkmXAjW9PbDEV1d0BdGk4hN1LYEEuviKpVIWQIosES/yElccvMd3qByNlRqFR62+PJe2DZ76qdH4gShl4TFzbmr4xgPSlL49nz4vVO1eS/6Y0HYX1yP3aCYB72RusTooxptF37hC9iHrH3P7E79yPHkVxyoS7jTTZewA16DmAIsbYwTAasl/G3j8NmR1aAdJNtTXVGbVjWvJZkHMP5pJxtS/e6p45G+JZHhBN/Q5b8CTO89+Saw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BnC3OyozHE33/JAUMUxXZfR33+rkJvqVx1YnwNe1zTI=;
 b=S7uAmw2iTv+uasOD96cqxD0Qhdeq9BhCRpO8efGX9oZDQvAAxvsbVw9LLo3+Pm9URDN4tIWW03XeKe8+hNTIZ1YfhZZyWmTl2DvcpVj3vuEjWsS3eNSXEmfVDYXt9EXzoQ/uU9+FLkdEGxYHYeYjcX88EjnpEUbNukAb1uETOOggxkPagrxheN6KcZiYIrLhEVlRDMALuy6k/n2MlK55NwELKctxtU7onBwsNbSq3NoiC9rnrdmnrC0cerVAfohkTMbD2bEw9Gd7aZwluLLEXguAfLv5wqWs6+0VgPKau/PpjBzjp37B8FcI8sHF15xeBuUeZQrHTDzCjLvp8XoRfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BnC3OyozHE33/JAUMUxXZfR33+rkJvqVx1YnwNe1zTI=;
 b=4mOiFrXZ5jpaxWEvu6GWkXdakwAVDUIc+SAivbL8HdSjhFzs9O/OVkv9eFIxG7SmeEZObEKG6kyfFL8WJjWkxacyjOQO65QVPb+Q1adRdjxPkvQST/ytEBx9186pU05g7j0FCOltzFCg3wG1JK7DgbRebuzqsg0+HYEIewc7spx62Jd7SXbhC8jTfSSG2xEhsCG6i1/ZXF4UC/npsUS9ZPtfK0edp6CrT1rSPTGbHtW7BiaU5lttZlVt+5IE1RYqgPljP5pLdIZ6KLgx/QVeHv6+dn81S7EZ/I2JSUwIreMG2SAAH56AuXZmGxnKebu0gI2xkviOySEMDc8Rv3Mn8g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8efe0fed-8533-474c-9893-e6fcb38b93ca@suse.com>
Date: Thu, 23 Nov 2023 11:25:34 +0100
User-Agent: Mozilla Thunderbird
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/HVM: limit upcall vector related verbosity
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8951:EE_
X-MS-Office365-Filtering-Correlation-Id: e3f1d4ee-56c5-4599-7376-08dbec0e8814
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	mDb+Xap7w337/WHBYiiJt3iwnDVrrFpmVV6xrODMXosOI+wVbi3sHzsJUUAYiy9/tTPkZSN5OumG9OESlM6cC25Aszu1HELzCLQqNgWe7RBDErF6O8XDm2auk/Kvpm0Mjc7i4tlc1Mkrw13vlIlxWVBeYMCycuOZsTVoUi6j7liqx/AedYdF+zU5J2vQodGBvCMktx+X/5FUkFGuXSiiH1cvAScGfjpeAA5cio8Foly2n8fn7yRruhbBjqJvZT5D9tr78Mu27yqa6TQDJjCm0vVB1Tvv5iqlQ93Wsr1lz8xQrqCB3Uy2l33+KyN6hbbHDAQDq/ZTvnuU5YFwp9UlCCQBpP8C7JZxOiemnVjuSA2BycxEdOyTwwcbqLZVM6E//8dm3vGwdgWNxqO2QejIR6jBV3kFHRWH7/FkR2dxbXgp5R7UIlkXh4zJ/KLuR2LaL9uuR45hV2AaM22v+AaCNwXmSphZ0IlrxAeyxeixp8nh97R+1Nuekfv7sSAsmv9CL97bWdjaQf4GlvWcQAmSgaMpojrJFZ29NwLo8IpkrO6gF6uXRYOUGjNkGkZUVpCJZAw/V+Y8o32A0cSrt0P9sCk1MkAQOqsIIWI6P6MPvU/lH9fIIo0prWRiAR24dB5KI6nQS1tQodljyTwhRXWvPA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(83380400001)(2616005)(26005)(6512007)(6506007)(2906002)(5660300002)(41300700001)(66556008)(66946007)(6486002)(66476007)(8936002)(316002)(54906003)(4326008)(6916009)(8676002)(478600001)(38100700002)(31696002)(86362001)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UDl4eVVuam5HRDRzdGxja2Y1aUZ2OWhhUENOM3dndVdDS3pFWHFTWUNSUTk4?=
 =?utf-8?B?Mmo1cEQvVEdFSzNUZHRxZ0xrVVJrcy9MV1pVOUl4MGx0YWgrckczZEVzeTM3?=
 =?utf-8?B?czZ6RDFNdDJWVVcvekc4UStteWZmYkVvQ2VGYXdUTG1BM0IyalR2d1JGNHY3?=
 =?utf-8?B?MEY0eWVaZlVPNllBOEZXRlJrcUFLSWNWWStJTEJFM1hWYi9mUElrRGZWbDdi?=
 =?utf-8?B?RDVuRW5FV0hBNWE5RXdKZEZ5T1huaVVjbGdueXVWQmhtdTVSMUtBT3QvSzhX?=
 =?utf-8?B?ZUFITHFLT3RLcFZDbG9xZW01UTdZUXg5aENCc2wramVBamFjZi9oejZCSWVN?=
 =?utf-8?B?L2JPcjg3NjhjNi9qazI5NkZ3bTVNcmV6TC9yaENMR0Z1RURkSzZmSjB1aEJM?=
 =?utf-8?B?TS9MUE8zVitaQTJqRG1yYTg1a2xTRW9scjErVFM5YWNQY2lFZWpmcGJERFd2?=
 =?utf-8?B?aWxmNk80RnY0S3BDdFZqZTdIUGdNcFg4UGhudGYvbmhDay9RSkJKYXNhTldu?=
 =?utf-8?B?SmxlRVpQUDBaV3ByVXNtQ1Z3ZDlzdjZlOU5VeHcrcWRqSWFnRi85WXFQQmZr?=
 =?utf-8?B?Y05WVzM1RXJlYzh2M2hxdEZGZEVGdDBhMzVBQi84SE1QZWt3a055YXh2eGFo?=
 =?utf-8?B?R21nc1Jpa3M4am41ZnhpWVRRc2JNSi9wYXFBeFI1NFBqbFViY2tSeEE1Q0k0?=
 =?utf-8?B?eGJkK1NYMmpZMlR6ekdKR01ObSs4U3NhZ1dIdncvVk13bENWL2VBTjRzRU5y?=
 =?utf-8?B?a0tTOHo2elZhU3NzaFc1b1VVSGhTNE9MQldtSk5ra1FONUVVZUNXOUdIZzg2?=
 =?utf-8?B?bVFLeDhaeHg4T2J2b1NNV3ZteGxiVklLMXgrZDNTVGJuZVpOc3UzZEQrd0d0?=
 =?utf-8?B?UjQzMFNMREFDOWV3NnRlSG5DQko2N1E3bkw1OTIyd0lzQ2NpUGc4K2NLb2tX?=
 =?utf-8?B?eTN6a1VFM3lGSXhVblBSSTNNNFBGejVVRlByRGhUeTNIZmt3dmRPdnpYaStk?=
 =?utf-8?B?MmpXVEtzSkRtM0pzN2FmNk42MFE3Qy81M3lqek5xYnNwZWlDTU9Eb3NWVVVJ?=
 =?utf-8?B?NDNaWm5PRUZqT0FRNUVVbUROSWRhQkF2MzZFdjZuRFFSRFN3WFJLOU5nNVVY?=
 =?utf-8?B?TUNiR3VXYlZDWmNwNWQ1TmxlS3cvWjFRb3czTzc0cjZERVU0akcyL1ZRU3Qy?=
 =?utf-8?B?T3JMV0RlZUorZENiNXVXdHlnZW53am1PdU5GUUZYcFhXRUdEbk1nRnhBZVpN?=
 =?utf-8?B?TmEySE56eXZJckxWMFR4RUFHY0piRW1XZnY4S1RUdzN3RC9keEFvdy9hU0ov?=
 =?utf-8?B?UEEzMjRUR1NsYkZrOVMzN1k0SUMxaUIwYkFjeXRxSGlmN0NiMTFRbjV2TG4v?=
 =?utf-8?B?UXd0QjlsQnpncnV4MUlRWVozczR5UDdtZCtSb3Q3YkRrR3FheTE1V3FxWmdN?=
 =?utf-8?B?M0ZBL250aSs1ZHd5OURsNCsrU2VUVXhmcmN1ckVrVDgwVzR6dDVuYjlMeTha?=
 =?utf-8?B?dU0rTDcwTkN2MjVldnJ2ZUNNdWNlSXJwOGJQRjZ6Q2VUeEFKKzdUM1B3bUxX?=
 =?utf-8?B?WExSbGlSKzU1OGhrNy9oRHh0b2ZKeTAvem1QRTlVMXFtdEpYanhqMkc1STVj?=
 =?utf-8?B?Ky9JUGdYNGxsS2ZTa3Z5Rm1Rd3JrY0FBaUZuTEMrWmNwbXFDNk90YmFpclhT?=
 =?utf-8?B?VUlJYURMZWxVb2FBMzNZandPWFRCOVFBaU1oTVF2azRtdUFiM3VGVEhmcWJh?=
 =?utf-8?B?QzlUYWFUVGhSNUd0OGxsZi92QnhHdmZGR0tjN0ZVTExRUDQwTEI5TTJQZVNy?=
 =?utf-8?B?cXVUbkduRkZ2YXNLZUU4aWFpaTBjMStQVmlRenEwektCZ3BTVlo3aDlFc2Jw?=
 =?utf-8?B?WU5xZFUvMFhyejlhL0I1VGYrOGUwR3VOTTdsTGJhUmdKTW01SUU4OFVob296?=
 =?utf-8?B?a0hBVHo3TEU3eVB0eXB3SEZuNkdlWGNIcnN1OUQ3am9ZZCtPRDZqQXFiWFZX?=
 =?utf-8?B?TzlSUWxSYko1S082bUxqa3NmTVo4cVVWVjJiY2ZjNEhFdW1jYy9odVhKYllC?=
 =?utf-8?B?LzRyMThrZ2J3VTJCR3pDdVM4emkvcS9FRkF6VjR1SDVRTGQ2MTlnYndOOEMr?=
 =?utf-8?Q?mxeXbUuyq4CWNy6YxZR8glqT3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e3f1d4ee-56c5-4599-7376-08dbec0e8814
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 10:25:36.0771
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 902IuKINg2fL7MMuLhach/tTgFOOfnaAGSWTVdvkW/EOJdmJzIGnecq4vrpL/79pGWc2FYaO+P+sAKH5Triovg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8951

Avoid logging all-identical messages for every vCPU, but make sure to
log unusual events like the vector differing from vCPU 0's (note that
the respective condition also makes sure vCPU 0 itself will have the
vector setting logged), or it changing after it was once set. (Arguably
a downside is that some vCPU not having its vector set would no longer
be recognizable from the logs. But I think that's tolerable as
sufficiently unlikely outside of people actively fiddling with related
code.)

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

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -4129,7 +4129,10 @@ static int hvmop_set_evtchn_upcall_vecto
     if ( (v = domain_vcpu(d, op.vcpu)) == NULL )
         return -ENOENT;
 
-    printk(XENLOG_G_INFO "%pv: upcall vector %02x\n", v, op.vector);
+    if ( op.vector != d->vcpu[0]->arch.hvm.evtchn_upcall_vector ||
+         (v->arch.hvm.evtchn_upcall_vector &&
+          op.vector != v->arch.hvm.evtchn_upcall_vector) )
+        printk(XENLOG_G_INFO "%pv: upcall vector %02x\n", v, op.vector);
 
     v->arch.hvm.evtchn_upcall_vector = op.vector;
     hvm_assert_evtchn_irq(v);


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:26:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:26:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639504.996960 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r66ux-0006JA-Hb; Thu, 23 Nov 2023 10:26:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639504.996960; Thu, 23 Nov 2023 10:26: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 1r66ux-0006J3-Ee; Thu, 23 Nov 2023 10:26:43 +0000
Received: by outflank-mailman (input) for mailman id 639504;
 Thu, 23 Nov 2023 10:26: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 1r66uw-0006It-Ia
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:26: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 1r66uq-0007MY-2q; Thu, 23 Nov 2023 10:26:36 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227]
 helo=[192.168.16.119]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r66up-0006Bl-SL; Thu, 23 Nov 2023 10:26: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=R+C8Qv+oF/FwDhE36XWAcXfaReRxTxeol2uj6t+X49I=; b=klvH7pweYRc2sxEcKBowxfV9Tr
	UNdAfJbFxbaTxBZkso6xt3AquXyOaFJsd5rsYPV1z0A5QmahXp+eTxsK7yWOqmulHU5p0Nadl4TMg
	mXv3TDPJ88RVYzQGcmUoewBkwpbF6uWy5yRQf88DPvWLEL49gDTpgcPMS7Z5gJCiE+YA=;
Message-ID: <1f5d5e07-1b34-4e4d-8904-e5463a2db919@xen.org>
Date: Thu, 23 Nov 2023 10:26:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
 <2123235ad5e5d18c89369b6cc1be3a4c@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <2123235ad5e5d18c89369b6cc1be3a4c@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Nicola,

On 23/11/2023 09:25, Nicola Vetrini wrote:
> On 2023-11-23 09:57, Jan Beulich wrote:
>> On 16.11.2023 10:08, Nicola Vetrini wrote:
>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>>
>>> Add missing 'xen/compiler.h' #include-s where needed.
>>>
>>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>>> is modified to reflect this change.
>>>
>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>> ---
>>> This patch should be applied after patch 2 of this series.
>>> The request made by Julien to update the wording is
>>> contained in the present patch.
>>
>> Along with this request he supplied you with an ack. Did you drop that
>> for a particular reason, or did you simply forget to record it here?
>>
> 
> I forgot and added it in a reply.
> 
>>> --- a/xen/arch/x86/boot/reloc.c
>>> +++ b/xen/arch/x86/boot/reloc.c
>>> @@ -28,6 +28,7 @@ asm (
>>>
>>>  #include "defs.h"
>>>
>>> +#include <xen/compiler.h>
>>>  #include <xen/kconfig.h>
>>>  #include <xen/multiboot.h>
>>>  #include <xen/multiboot2.h>
>>> @@ -348,9 +349,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t 
>>> mbi_in, uint32_t video_out)
>>>      return mbi_out;
>>>  }
>>>
>>> -/* SAF-1-safe */
>>> -void *__stdcall reloc(uint32_t magic, uint32_t in, uint32_t trampoline,
>>> -                      uint32_t video_info)
>>> +void *asmlinkage __stdcall reloc(uint32_t magic, uint32_t in,
>>> +                                 uint32_t trampoline, uint32_t 
>>> video_info)
>>>  {
>>
>> One purpose of asmlinkage is to possibly alter the default C calling 
>> convention
>> to some more easy to use in assembly code. At least over a period of 
>> time Linux
>> for example used that on ix86. If we decided to do something like 
>> this, there
>> would be a collision with __stdcall. Hence I'm not convinced we can put
>> asmlinkage here. At which point the complete removal of SAF-1-safe 
>> also would
>> need dropping.
>>
> 
> Ok, so we can keep SAF-1 here and below and leave the wording in 
> deviations.rst and safe.sjon as is.

I guess you mean without this patch applied and not including my 
proposed rewording (i.e. to deprecated SAF-1)?

If so, then we are back to the initial concern I raised. We would have 
two ways to address the deviation. From a user perspective, it would be 
unclear which one should be used.

In particular, I would rather favor asmlinkage whenever it is possible 
and only use SAF-1 when it is not possible to use it (like here).

Another possibility would be to deviate __stdcall like we do for 
asmlinkage (I will let Jan confirm if this is desirable). With this 
approach, there is less ambiguity when to use either of them.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:31:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639507.996970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r66zk-0000Uz-3e; Thu, 23 Nov 2023 10:31:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639507.996970; Thu, 23 Nov 2023 10:31: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 1r66zk-0000Us-0O; Thu, 23 Nov 2023 10:31:40 +0000
Received: by outflank-mailman (input) for mailman id 639507;
 Thu, 23 Nov 2023 10:31: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r66zj-0000U0-65
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:31:39 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0619.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::619])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a6ae1ae-89eb-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 11:31:36 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8544.eurprd04.prod.outlook.com (2603:10a6:102:217::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.13; Thu, 23 Nov
 2023 10:31:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 10:31: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: 7a6ae1ae-89eb-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H5LXVMIiZ4bsdZ6V+T4fS72ZHFLeorp9/AWyDEw7+agxxAVOwKuQRIjMk5OAq0mNbVMJFSLmYtu9tdup+W+y90Qx2CswBwHp1pncqSBwTn1U8WIVu4X3fgPDMhtSvsadoL43QYlwXJv7a7h9jKJzn/PRzPQJTTRNydEeFMcwlvRw+uXkxHAH4Pmsj/p5Vj7Bgi/ZE7RguHTi55FVpxqj2BnsRO9Dsl17oDkty14MaTo1f74E4tUdQlhrQwvu6ICHXTlg5JhdLigSL4mEJY4K/ub3u9tKgZtihfVWcFMiKm2aFENIUQuRkOPLQE95zcM8TGw4IbAEAfNIbryZhUUUHQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OrnuJU7FIhbuhk86KldU0YrTQp/Wmtb/GbBTELJs4ck=;
 b=ZEk7o7jvCX0gZmgqolOE8ei8KTcqwzjluMKdfi7xQQRjWdspZnOR8q8v/dIgLWvgsXQYy08I0p6H8T1prqiGDbkrjRZ//LhlEmLaGVyGHQtJAsqm8JUcLb5edJ1qUjhPTN4fb2KTWnrVAJPOlwmfCcOph6WZq3LhBP4+7d+KjgMGgy9F64zNrHQxdCgI0+739EBUe0eB6du2pmhr/EjjPq2q3XMbGWLQ1A9eHFseNM9FUC1FaMeVLKb2P5q1kl741s51BX9WDlpa3S7XeIwJlPm+5/JT7DtL96Dl9L1BuTibzR2oNFOKamy+11/34v3/772sSddxso02mkghR88M4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OrnuJU7FIhbuhk86KldU0YrTQp/Wmtb/GbBTELJs4ck=;
 b=5lNyLoHgHBYZUlAa169eh5mxeujWNeTgux+x43FTcayLoGnnIQqCusxbQ+CdOY/AUAumEPFkmKp+MUgSqye+LtKCFTLQehZxarkrSQNGj4xBpoehKlmzUeXfqxrHRcmFU/4IVqwZVVTugxq81IcnCuefOqz2H+rgzNpjOql2FNHRwYGzjK1CouinfUEphgylJ2b1lo6uPwbAkP+8ts7b3G13y9RfFm+Yc78fKfhMLE9p8gmHIICdybzOLRxe5ljFy4LtWnVlIQKZSHsmhblLomcR19Pij6VFOTc+OcCh4wcfERSwrnbHKFnfrNby4TrKbfaVCPE7ZbN1ovSY+f2uMw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <642e91f1-3b1c-4824-b624-e5077a09670b@suse.com>
Date: Thu, 23 Nov 2023 11:31:31 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-US
To: Julien Grall <julien@xen.org>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org, Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
 <2123235ad5e5d18c89369b6cc1be3a4c@bugseng.com>
 <1f5d5e07-1b34-4e4d-8904-e5463a2db919@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1f5d5e07-1b34-4e4d-8904-e5463a2db919@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0039.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c7::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8544:EE_
X-MS-Office365-Filtering-Correlation-Id: ba9b3342-c161-426d-d9fa-08dbec0f5d4e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6UKe/spNKmN8U+/HyuDJbSXg1ArwPaEqsCPfJoBa++t/YxHqvZsiQzGzZsCGLR+0KtQzEx/j4NmuX1JKrl6jUkA4uTpZ4rhu5R+D0dXMDwkzxGE8SE7KrZcfy+exGdrnEESOc1r+D42J4AMfB1isHd2mcI/NK0jPaduRHp08eCKvWZ/L0cYzPdfirXRcmXddQkAcSJr/6ExhG8VR8CMdHUCk+zAQIsDQsRHXzN+bavd2bD4z6X+54mVAwspknNXuoVTug4CTnGNGM1kDKTYJb9vT05zdvslZ8tjmomRRmcWlaU1iO/mbz0bCiMp5FaDHFcDWcSo+k1OpwUmDf0c65S5NXWcjMMEaLS7m/hZ8aozLUlbhyOAHxpj1Py92Md/xJsuMlmbfnQFqLzl+WzRbwsS2ohwdeH20GMkqIrtFSDRqEFbJg4UZE6FUeoNOK/OT9UUSsz3TyELOjj9Sua9LljqY+WXx5gDO1iHLi4qc2scC4OU0tLJH0MGGRi7wTG8Yt2AM0DsH/vEZnjKZOfF8fP2D/ioC3wOJdgeVMJ+V1jSPW6+U6FmwLoScEbYnRI4Padc2EZETXjk/G/IIH2C7WwxaazUpjTeD4MGoiXRm2et/1aHXbVVZ7rFzMg/ISSNoFIdZQ9IozNR6qvehZmR0RLKL6gKS856vm2sCtODHs1I8QRlcjvCuaNon/mbqON6kzTEXpieqBzpou5Y7+3GaUw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(366004)(396003)(136003)(39860400002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(26005)(83380400001)(6666004)(53546011)(6506007)(2616005)(6512007)(5660300002)(41300700001)(4744005)(6486002)(2906002)(478600001)(7416002)(4326008)(316002)(8936002)(8676002)(6916009)(66476007)(66556008)(54906003)(66946007)(31696002)(86362001)(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?akJJVGhScDNJNTRLeUg0VGNUY1Vzby81dmxoZzVqZTQ1LzFPSXJZc25paEZC?=
 =?utf-8?B?MldCZzNBaFRGZVJpT2g1YnFkYnZPVE5xUTdUdi9DZzBRVEZaZjhlR3BZWVkw?=
 =?utf-8?B?L3krVWFOUGlvYm1mTm9HcHlCbmhnaU1CME15NXBPeWhYTzYzd0k1TW0zQVBV?=
 =?utf-8?B?SEFhSDlnTThmMFRYMTBVNmFiQTJKdTBmd2doTStHa3dORjRQY1VSU0RPQmhn?=
 =?utf-8?B?dGtpRmhReUM1ZytpN1hiakp3N0cyVWZlcGJULzgrWVEzdWFnVEIvRmFJdmo5?=
 =?utf-8?B?aEtoWnB6eFpJNnJZZytpb2R2dldKWUUvbUtQSGhpS2t4T3M5Zy9TNVlzVThK?=
 =?utf-8?B?OUNMRlQ3UDNJZ2VuaEtoY2ZRTE5SSit3NVArRnVSUGlwbENRV2JQNW1kMzBG?=
 =?utf-8?B?WVF6bFM5TE9NSEhCRFQzN1IvMzVpWUZ2OFJkQlkzUDdTWHBNSDNOWDAzTjYv?=
 =?utf-8?B?RUVkUlk5ZzFPWi9keTNKU084QStJM21ZUWpsSWIzVVVXQ3JCbUp0cHZMeGFW?=
 =?utf-8?B?bHNOUUVWYlBwSzNJQ2tNb20reGh1ekNDWlZELzBtNFp2SGQvT0pjaTd1RTgv?=
 =?utf-8?B?MWpFQXZwVWhXT0tTaHhnUi9wd1NyMGtvSU9zVmpwQXJkZm1obk1SOHB2eUJm?=
 =?utf-8?B?L0xjWHBLUkw2dDNrb1NSV0w3cFNUSDdiemxhSHkyeEJUbXAzekFybXdaR3BW?=
 =?utf-8?B?ZUJ0RW90dTRITzAwSGluZ1VEUUE3a2ZOMGJETnFFUEUyVExxRGRBSXQvRlR6?=
 =?utf-8?B?OTNZam5vbHpScWIrNVJmS01xbXJpNEVVWU9WVW00UnBZZ0RRL0tOMHJ2K2x1?=
 =?utf-8?B?QnBKRkdZVWRKWDlqaTZzUjRTQnBVOTc2YWZ3ZjllSEhGTXVTZjk1WGE4eWhm?=
 =?utf-8?B?NFlRZEhJdmJwVUFjamFlcFI4VkNCa0xQVnJrUnhJcWRSazhvdndLZ0hSWnpX?=
 =?utf-8?B?OUEyTW9acW9qQTNacFNEV2w1cC9JQU5mazIvZEtjTUdVTTExeDN2c21WNG9h?=
 =?utf-8?B?cWV4SXExRmd6UUZReVAva0Nac1R3NHZGLytEU3o4WXpVM01jeGg2Q2ZGY2F0?=
 =?utf-8?B?T2hMNWpwdGxKc0NTVEdNN2RqcWVnQnF4eFdKTWJKdDUrd09vN2JadVVRd0U4?=
 =?utf-8?B?SGU3VXJCbklZdjBLazNBV1ZLRVVZSjloUE9sOXAxTVBBNHV6cUVrNW9RSVpa?=
 =?utf-8?B?ZHBENnVIdTF2S2dlbG1rOEt6UFh5NkxycjBSc2ZrYXg2WUtGa1VjeDZiSnhT?=
 =?utf-8?B?M0Fic1JiVVBhOURPZEJOWCs0ZCtSRkRRL2trM21WT2hxL3BwQUlJSlk1M3U3?=
 =?utf-8?B?cWdiWWJTc2p0aUZJRmJvRSt4a0pkd1hkY0NuNTdqcDJxTUJHWlRiT3R5bS9r?=
 =?utf-8?B?Y1Y0R2l3cG9lRTl3QkwyU0lFZHBETEpYZGg0aG53N1F4ZUFocE0vKyttdHA3?=
 =?utf-8?B?U0RYV1FrMTZsVzZ0eE8rRjZTZURQWmllWTdhOE8zalJKRi9hNDdRM25mOSs2?=
 =?utf-8?B?T0FEaWM2SFZsRmVYVFgrUWJoTlNVZGpVbTN6ckg1dnZSQ2toWEE2ZEdoTmYz?=
 =?utf-8?B?WGcwRDBIeDBvenJ6K1Z1MFZHMitKTkpWbmNNYjVGNmp3cUVSZ2JjSmUrM0FU?=
 =?utf-8?B?T1JrWElvTWJHM25JdDJVdXArSGMxbXVnNyttZkNCQjQ1a3o2eXRPSjl4eFN1?=
 =?utf-8?B?UXpZcXdrb1JPWnRjc0kvbFVxbUkrbk9US2xwVEhwNXI3MyszVE5QQzIrTXdJ?=
 =?utf-8?B?QkwxaS9KSDVCbk9kc0IybnFocEt1b1h6bWpnMUNUTWVJRlBNay9UYTRWSHh3?=
 =?utf-8?B?QU9IYWhsWjVsaEY5VDBpQTlpd2pHSEdvb2VxR0MrSW5hNHNZWHFTckV3eWph?=
 =?utf-8?B?RytOVk0wYXJsRFNaY1gzNmE3ZGliTDdURWFWR2wzc3lwQzZhVVgvY1lIUlhi?=
 =?utf-8?B?MHJ1cyt6OW00T3B1a0lQeEZWOGpsT09hTStMMWdodm1IcHNCUkhNQWFiU1Yw?=
 =?utf-8?B?eU9TYWROYWVTd3Q5bEpoQnVXUnA4S01hcldRQW0wcTB6ZXlCNThaL1ZHbCs0?=
 =?utf-8?B?L2MzelZzKzBlNHd4VnpaamM4WUxyYW56TG1odmJyaGIwTjUvN0hvcXFFN2JF?=
 =?utf-8?Q?w/gS+MuSdcObK/To/bSZIOiSj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ba9b3342-c161-426d-d9fa-08dbec0f5d4e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 10:31:33.9474
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /BGzQZYKiabEZgxib7unC6L3gvlkV3RX/25555xEcTTqJom3IBZCBWPGj0PxX4/jqeWcs4OhVKTRAjObiLtiSQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8544

On 23.11.2023 11:26, Julien Grall wrote:
> Another possibility would be to deviate __stdcall like we do for 
> asmlinkage (I will let Jan confirm if this is desirable). With this 
> approach, there is less ambiguity when to use either of them.

Attributes changing calling convention may be a sign of there being
interfacing with assembly code, but e.g. EFIAPI generally doesn't (it
only happens to be so in the specific case here).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:34:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:34:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639511.996980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r672T-00017Y-LC; Thu, 23 Nov 2023 10:34:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639511.996980; Thu, 23 Nov 2023 10:34: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 1r672T-00017R-IK; Thu, 23 Nov 2023 10:34:29 +0000
Received: by outflank-mailman (input) for mailman id 639511;
 Thu, 23 Nov 2023 10:34: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r672R-00017G-Oi
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:34:27 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id df8f7c62-89eb-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 11:34:25 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40838915cecso4462845e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 02:34:25 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j14-20020adff54e000000b0032db8cccd3asm1294939wrp.114.2023.11.23.02.34.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 02:34:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df8f7c62-89eb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700735665; x=1701340465; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=tfZNYgqkYyF0ehKVZuSW//48Wm6Gsm5reiH4JvF+SNI=;
        b=rWeK+KCkgTCU6Y+oPbMkUp6dE4nE3D1x2b+E8kIX21kyf9VInzbIav6mIcZxuQ9D+a
         uQEyhfGr/0d/8GfT0+f0yhoGK/S+6s8ohPdUFegpmjT4co+2vNd0aLFCDKmN78uuYVhV
         pXtVIl2JRP5iOy0gUE+drMEHl6L2QEzfXc2Ds=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700735665; x=1701340465;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=tfZNYgqkYyF0ehKVZuSW//48Wm6Gsm5reiH4JvF+SNI=;
        b=ub7avnMkl578WmBTvlN9YJW4VJrKO7+SzKVi8HPk09pzxCRTJH1/VXAW8GVrNvqEBD
         EUvTY9T5ZwRJHpyy+2bsE18jLqXU3W9QNW0/gy55GNDMCkAO2vVcXluoLavA5qBKdUKz
         9ALugnijdIpR6Ih+xLoSnn5QffzwOYt7Ugvud8o4QLiK0PSrUaey93BekaoHZVA50fRL
         7thPtUwwEgVBbphe6vfh7N7SgCwqXKT/CmwXz0p/OGX7x5DhVw70+EVzZZIae2TPotMf
         NdPkYd4V+gHxjhKjjWCQKradqslCYOmrWzeyhAkIkxSkBBDyQ/DwPW0b4gYRP5MsBIPL
         hLoQ==
X-Gm-Message-State: AOJu0YzNeC6bnX6qbsuFGSjHwpZh7Q7MPnvHYBCQ2g/p9WuSk0VjpxUq
	ufMJOOOcBqQa08Dq2IvqggJmjQ==
X-Google-Smtp-Source: AGHT+IEeKmhwnGLzHbccN0FYqOsYCRFI17EHWbkCLf4Rnpji/CTR7WdYsJEiJrmpuSY2f0RV4K6fUA==
X-Received: by 2002:a05:600c:3b97:b0:408:3707:b199 with SMTP id n23-20020a05600c3b9700b004083707b199mr3841688wms.3.1700735665192;
        Thu, 23 Nov 2023 02:34:25 -0800 (PST)
Message-ID: <9c896ec8-2ec9-4fa6-bad6-58591b68345f@citrix.com>
Date: Thu, 23 Nov 2023 10:34:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86emul/test: fold AVX512VL scatter/gather test blobs
 with AVX512F ones
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <002261fe-99f4-5aa4-3984-1fd7d4d250ff@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <002261fe-99f4-5aa4-3984-1fd7d4d250ff@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 29/08/2023 11:53 am, Jan Beulich wrote:
> Everywhere else the VL tests are grouped with the basic ones,
> distinguished simply by the "form" specifiers.
>
> No change to the generated test blobs, and hence no functional change.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:34:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:34:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639512.996990 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r672j-0001SN-TN; Thu, 23 Nov 2023 10:34:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639512.996990; Thu, 23 Nov 2023 10:34: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 1r672j-0001SE-Pq; Thu, 23 Nov 2023 10:34:45 +0000
Received: by outflank-mailman (input) for mailman id 639512;
 Thu, 23 Nov 2023 10:34: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r672j-00017G-8t
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:34:45 +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 ea41b1f5-89eb-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 11:34:43 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-332ce50450dso479857f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 02:34:43 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j14-20020adff54e000000b0032db8cccd3asm1294939wrp.114.2023.11.23.02.34.42
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 02:34:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ea41b1f5-89eb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700735683; x=1701340483; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ClnH6me5J6MLemqiKYkj+VSimOnfNG6wlNsGZ4gbcbI=;
        b=T4emXz9UgQZ90VejZJlWhhKSuM0XI8c8ShBX9eHI6hzU1s58UGcSs6B30rgZpqq1m8
         gcUm6mRv6ACAC/YCTdkt1Bikqe3QT+Ulzyl4dj2y+XzYSzNqHLjp/KIvjG4nyEcLZ5IE
         nQWmG6WglUUR/FH6cEsKwnyGw3dwgJaenPxBA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700735683; x=1701340483;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ClnH6me5J6MLemqiKYkj+VSimOnfNG6wlNsGZ4gbcbI=;
        b=Il27KBY6VdwN6qttEImqrKXviGdtQ50lrP6noNpfOk5u31kXN8h3wi5WdEJKCWIG5l
         efo1oU+hnwTBM2Wcdo2S0yNSysdoid69oJa4b+zBgoJtjZRLzm1W5x1t4vhXKutFTfQ2
         zlP/8c+Ael9w9Z+jUnNubrETJOJE/OqN3RfTB2XpXQu8B+YBiVJ9ukg2BGqev2rBESkz
         APQbeGL7oAPgcQVh8o7Wfhy4TdgnmXT1HgKtqqHBoYFYwRwnEba0FVjhfUKbrvsFS0Oz
         YJi5NlzVNJ79sSsfgNcuFiZLW2VTcldWfbyvXKyXZGq66Ylr0G9OOkWdPEvukxIXqZGY
         tBvQ==
X-Gm-Message-State: AOJu0YwcfBIqn0MN9h00UsSwlbBr7jV9fJb+PvqqvPaPONsLQfYPEynZ
	jqXh2EhcV6Xuc0tusQsMn6ute6Fnmt3/p2Dy7C4=
X-Google-Smtp-Source: AGHT+IHFnEA3Nkj7B0N0scbTx0Dt9MLCPBLvogmFNs0HsKXGEGEIR1B4VVr93HpfUrMc1x1FYTuNPA==
X-Received: by 2002:a05:6000:ace:b0:332:e1f0:591a with SMTP id di14-20020a0560000ace00b00332e1f0591amr979152wrb.67.1700735683167;
        Thu, 23 Nov 2023 02:34:43 -0800 (PST)
Message-ID: <8a2508e3-d3ee-46df-be0c-ab98374cce56@citrix.com>
Date: Thu, 23 Nov 2023 10:34:42 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/vPIC: correct vcpi_domain()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <f7016076-19a4-4416-b7be-df16e8d4a017@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <f7016076-19a4-4416-b7be-df16e8d4a017@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23/11/2023 10:20 am, Jan Beulich wrote:
> Make it use its parameter in both places.
>
> Fixes: 00a70f44a68c ("[HVM] Update VPIC device model for new interrupt delivery code")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:35:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:35:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639516.997000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r673o-0002Di-7N; Thu, 23 Nov 2023 10:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639516.997000; Thu, 23 Nov 2023 10: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 1r673o-0002Db-4i; Thu, 23 Nov 2023 10:35:52 +0000
Received: by outflank-mailman (input) for mailman id 639516;
 Thu, 23 Nov 2023 10:35: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r673n-0002DT-AC
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:35:51 +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 11f7b628-89ec-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 11:35:50 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3316c6e299eso471752f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 02:35:50 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j14-20020adff54e000000b0032db8cccd3asm1294939wrp.114.2023.11.23.02.35.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 02:35:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11f7b628-89ec-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700735750; x=1701340550; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=iA44kAn7NZCRNRT6spxN9UeiJp3AHVq0xMA+G5wHLRQ=;
        b=uxc+z0BTuaraR7pncLB1OAYey6KLOLid2Lf093Ip139L/2KFqhD423ZZzjIVXCfG30
         qlwWRXppZAhe6YfCfN26YHKw1HJa8VamJiPuo2gwCRnJKulaStYbqXu3/J+qWiiHFKsd
         CR3Kwg10YoYIZbRXq3tH0xn9Ub9BDP+AJQosk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700735750; x=1701340550;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=iA44kAn7NZCRNRT6spxN9UeiJp3AHVq0xMA+G5wHLRQ=;
        b=DmO83yWq2/C6AZIjht1oApB82R+UnuBAKbdryYew5Vgu6z9Nhf1oXbTmrMUWgXWV+f
         VAsz4NHMqX+EVmOBszkr9rg9aaF9mUPPWsupkWy733n7toTxEiQdIQryDilaawMIe5a2
         cL8Ds2hcGLvxHCv+FtZydbkeWtZwWf5XSmJ4vVp977uEDVD/9ZsjQeJtAEw2DQozohwE
         nZ6+ByDEqvHI05rLPoRKrhSJuu0RbsHDw8jFSxdp+pSZqFrrfkmObRwG8z4wurWdmGh8
         Edv6Cs/AY0CGkc/ZgzRc70iAtyru1e/Cmx1msFvixj4KMu33f3h9dP08SNutSn9vHyW8
         YAWQ==
X-Gm-Message-State: AOJu0Yz5x03jTv7DQp2fqwVSfnpNw2vZX9LKFQDTLd4is34oo+A9KzR0
	lqKsvFZf27wdMPuqE9JZ9KoTmg==
X-Google-Smtp-Source: AGHT+IFqiklXwDQMqODDiTQHeobMM80HJBNjffWqL7lz63EYAoK5etaf2twNc8O6taBRnqJ0d1mFmA==
X-Received: by 2002:a5d:4851:0:b0:332:c4e3:9aff with SMTP id n17-20020a5d4851000000b00332c4e39affmr3394945wrs.7.1700735749784;
        Thu, 23 Nov 2023 02:35:49 -0800 (PST)
Message-ID: <e93fe838-199e-493f-af1e-66bd618aa20f@citrix.com>
Date: Thu, 23 Nov 2023 10:35:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Content-Language: en-GB
To: Luca Fancellu <Luca.Fancellu@arm.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>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>, Henry Wang <Henry.Wang@arm.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
 <379DF4D1-8DB9-46AF-9586-861ED78DFF38@arm.com>
 <03c6aa83-6c8f-4d40-9f36-d89725bd614b@citrix.com>
 <3222AE09-B511-490E-8298-8808261DEFAE@arm.com>
 <0eb64ed9-a56c-491e-b9b8-a03e90c4c2f1@citrix.com>
 <364FAA71-A00A-4D47-8210-DFE4EC590F79@arm.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <364FAA71-A00A-4D47-8210-DFE4EC590F79@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/11/2023 9:46 am, Luca Fancellu wrote:
>
>> On 22 Nov 2023, at 18:03, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>
>> On 22/11/2023 3:49 pm, Luca Fancellu wrote:
>>>> On 21 Nov 2023, at 20:41, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>>
>>>> On 21/11/2023 8:33 pm, Luca Fancellu wrote:
>>>>> + CC henry
>>>>>
>>>>>> On 21 Nov 2023, at 20:15, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
>>>>>>
>>>>>> -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but this
>>>>>> logic looks incorrect.  It was inherited from the x86 side, where the logic
>>>>>> was redundant and has now been removed.
>>>>>>
>>>>>> In the ARM case it inserts the image name into "xen,xen-bootargs" and there is
>>>>>> no logic at all to strip this before parsing it as the command line.
>>>>>>
>>>>>> The absence of any logic to strip an image name suggests that it shouldn't
>>>>>> exist there, or having a Xen image named e.g. "hmp-unsafe" in the filesystem
>>>>>> is going to lead to some unexpected behaviour on boot.
>>>>>>
>>>>>> 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: Stefano Stabellini <sstabellini@kernel.org>
>>>>>> CC: Julien Grall <julien@xen.org>
>>>>>> CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
>>>>>> CC: Bertrand Marquis <bertrand.marquis@arm.com>
>>>>>> CC: Roberto Bagnara <roberto.bagnara@bugseng.com>
>>>>>> CC: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>>>
>>>>>> v2:
>>>>>> * New.
>>>>>>
>>>>>> I'm afraid that all of this reasoning is based on reading the source code.  I
>>>>>> don't have any way to try this out in a real ARM UEFI environment.
>>>>> I will test this one tomorrow on an arm board
>>> I confirm that booting though UEFI on an arm board works
>>>
>>> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
>>> Tested-by: Luca Fancellu <luca.fancellu@arm.com>
>> Thanks, and you confirmed that the first cmdline parameter is still usable?
> Yes, I’m using a xen.cfg like this:
>
> [global]
> default=xen
>
> [xen]
> options=noreboot dom0_mem=4096M bootscrub=0 iommu=on loglvl=error guest_loglvl=error
> kernel=Image console=hvc0 earlycon=xenboot rootwait root=PARTUUID=6a60524d-061d-454a-bfd1-38989910eccd
>
> And in Xen boot I can see this:
>
> [...]
> (XEN) Command line:  noreboot dom0_mem=4096M bootscrub=0 iommu=on loglvl=error guest_loglvl=error
> [...]
>
> So I think it’s passing every parameter

Thankyou all for the testing.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:40:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:40:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639521.997009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6786-0005HS-OK; Thu, 23 Nov 2023 10:40:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639521.997009; Thu, 23 Nov 2023 10:40: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 1r6786-0005HL-L1; Thu, 23 Nov 2023 10:40:18 +0000
Received: by outflank-mailman (input) for mailman id 639521;
 Thu, 23 Nov 2023 10:40: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r6785-0005Fv-4T
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:40:17 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b0081e57-89ec-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 11:40:15 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 1699F4EE073C;
 Thu, 23 Nov 2023 11:40:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b0081e57-89ec-11ee-98e2-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 23 Nov 2023 11:40:15 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Julien Grall <julien@xen.org>
Cc: Jan Beulich <jbeulich@suse.com>, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 bertrand.marquis@arm.com, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <1f5d5e07-1b34-4e4d-8904-e5463a2db919@xen.org>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
 <2123235ad5e5d18c89369b6cc1be3a4c@bugseng.com>
 <1f5d5e07-1b34-4e4d-8904-e5463a2db919@xen.org>
Message-ID: <1b48ead895d32fbb06a2ce67e1450f6b@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-23 11:26, Julien Grall wrote:
> Hi Nicola,
> 
> On 23/11/2023 09:25, Nicola Vetrini wrote:
>> On 2023-11-23 09:57, Jan Beulich wrote:
>>> On 16.11.2023 10:08, Nicola Vetrini wrote:
>>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are 
>>>> replaced
>>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>>> 
>>>> Add missing 'xen/compiler.h' #include-s where needed.
>>>> 
>>>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>>>> is modified to reflect this change.
>>>> 
>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>> ---
>>>> This patch should be applied after patch 2 of this series.
>>>> The request made by Julien to update the wording is
>>>> contained in the present patch.
>>> 
>>> Along with this request he supplied you with an ack. Did you drop 
>>> that
>>> for a particular reason, or did you simply forget to record it here?
>>> 
>> 
>> I forgot and added it in a reply.
>> 
>>>> --- a/xen/arch/x86/boot/reloc.c
>>>> +++ b/xen/arch/x86/boot/reloc.c
>>>> @@ -28,6 +28,7 @@ asm (
>>>> 
>>>>  #include "defs.h"
>>>> 
>>>> +#include <xen/compiler.h>
>>>>  #include <xen/kconfig.h>
>>>>  #include <xen/multiboot.h>
>>>>  #include <xen/multiboot2.h>
>>>> @@ -348,9 +349,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t 
>>>> mbi_in, uint32_t video_out)
>>>>      return mbi_out;
>>>>  }
>>>> 
>>>> -/* SAF-1-safe */
>>>> -void *__stdcall reloc(uint32_t magic, uint32_t in, uint32_t 
>>>> trampoline,
>>>> -                      uint32_t video_info)
>>>> +void *asmlinkage __stdcall reloc(uint32_t magic, uint32_t in,
>>>> +                                 uint32_t trampoline, uint32_t 
>>>> video_info)
>>>>  {
>>> 
>>> One purpose of asmlinkage is to possibly alter the default C calling 
>>> convention
>>> to some more easy to use in assembly code. At least over a period of 
>>> time Linux
>>> for example used that on ix86. If we decided to do something like 
>>> this, there
>>> would be a collision with __stdcall. Hence I'm not convinced we can 
>>> put
>>> asmlinkage here. At which point the complete removal of SAF-1-safe 
>>> also would
>>> need dropping.
>>> 
>> 
>> Ok, so we can keep SAF-1 here and below and leave the wording in 
>> deviations.rst and safe.sjon as is.
> 
> I guess you mean without this patch applied and not including my 
> proposed rewording (i.e. to deprecated SAF-1)?
> 
> If so, then we are back to the initial concern I raised. We would have 
> two ways to address the deviation. From a user perspective, it would be 
> unclear which one should be used.
> 

The wording that is now on staging (committed by Stefano).

- Functions and variables used only by asm modules are marked with
   the `asmlinkage` macro. Existing code may use a SAF-1-safe
   textual deviation (see safe.json), but new code should not use
   it.

I guess special cases can be dealt with as they arise. That may or may 
not be mentioned in the deviation.

> In particular, I would rather favor asmlinkage whenever it is possible 
> and only use SAF-1 when it is not possible to use it (like here).
> 
> Another possibility would be to deviate __stdcall like we do for 
> asmlinkage (I will let Jan confirm if this is desirable). With this 
> approach, there is less ambiguity when to use either of them.
> 
> Cheers,

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:41:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:41:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639525.997020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r678q-00064e-59; Thu, 23 Nov 2023 10:41:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639525.997020; Thu, 23 Nov 2023 10: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 1r678q-00064X-2K; Thu, 23 Nov 2023 10:41:04 +0000
Received: by outflank-mailman (input) for mailman id 639525;
 Thu, 23 Nov 2023 10:41:02 +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 1r678o-00064P-Pf
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:41:02 +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 1r678o-0007bz-81; Thu, 23 Nov 2023 10:41:02 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.119]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r678o-0006sY-0W; Thu, 23 Nov 2023 10:41: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=TPEMQialDu/qCDDuF7GqwHtQOTUz7GPkGLINYXpUtMg=; b=e5fYQz15jXYiPfZ6LQrKv6WoDz
	q3wSR10sWUfPkBoVGxk41xsSYw9+DkJRfz4xKSYE9i+gJFhVJb6eMnLRtjPILHJGvcOvvtXISb4zv
	nIHw5x4LX8bPnIntbPIZq/HWqOXq0hZG8H9xyjOKsvqvzAF30W9ABteWvOWTPEbBTWsk=;
Message-ID: <3e848cc5-622a-4a5f-bbb5-8a4455975283@xen.org>
Date: Thu, 23 Nov 2023 10:40:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 4/5] arm/efi: Simplify efi_arch_handle_cmdline()
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Roberto Bagnara <roberto.bagnara@bugseng.com>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <20231121201540.1528161-1-andrew.cooper3@citrix.com>
 <20231121201540.1528161-5-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231121201540.1528161-5-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 21/11/2023 20:15, Andrew Cooper wrote:
> -Wwrite-strings is unhappy with assigning "xen" to a mutable pointer, but this
> logic looks incorrect.  It was inherited from the x86 side, where the logic
> was redundant and has now been removed.
> 
> In the ARM case it inserts the image name into "xen,xen-bootargs" and there is
> no logic at all to strip this before parsing it as the command line.
> 
> The absence of any logic to strip an image name suggests that it shouldn't
> exist there, or having a Xen image named e.g. "hmp-unsafe" in the filesystem
> is going to lead to some unexpected behaviour on boot.

I have noticed this behavior a few years ago but never really looked why 
  we added the name. So thanks for looking at it.

> 
> No functional change.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:41:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:41:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639527.997030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r679S-0006eb-EU; Thu, 23 Nov 2023 10:41:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639527.997030; Thu, 23 Nov 2023 10: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 1r679S-0006eU-BQ; Thu, 23 Nov 2023 10:41:42 +0000
Received: by outflank-mailman (input) for mailman id 639527;
 Thu, 23 Nov 2023 10:41: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r679Q-0006Wv-OE
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:41:40 +0000
Received: from mail-wm1-x330.google.com (mail-wm1-x330.google.com
 [2a00:1450:4864:20::330])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1ceb247-89ec-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 11:41:39 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-407da05f05aso4577335e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 02:41:39 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 d21-20020adf9b95000000b003316ad360c1sm1326475wrc.24.2023.11.23.02.41.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 02:41:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1ceb247-89ec-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700736098; x=1701340898; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=FWFg81kHTOeNmvjHZbq2eLjKUMq3ECl0btiwtA0aZQ0=;
        b=v2PEszEeluZaOCsW/CrzDgCANkHw2z+HhirjlfgUKptMg7to+m3v8TNyMUnY/SnRGI
         eEB+jIfhhRY4ZD2DPjQoJNt3s4Z3R08cWqDjzbBgCBnnoTj9Qlso99/G8wD8XFhaPM0Y
         N7XhF4+FJeFIBMYAqNY+IxjyvQU26J6gbBYsU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700736098; x=1701340898;
        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:subject:date:message-id:reply-to;
        bh=FWFg81kHTOeNmvjHZbq2eLjKUMq3ECl0btiwtA0aZQ0=;
        b=OTO/73kHHLua3pRTQs/kLT0ZXadstqXZDFde6pu7mQlhT6ClUB4TR9YLPzC+nUxRDK
         js61NxgjxhagGv8KTIg3rIL3anf1vMOpR+WZ5KHoSQrilo5VgWkj7Uc+DUxsMyua71kz
         vZfVTHufwftbq9CY+BB0hoAW5VOHlkaOatfThtnMrC7IccO75D3Rekr16lf1wpU7nNuL
         J+vd3zF5IfjUy2/0vBs6D66Crzv/gUs0Svfal/7vUc+Im91TRcBJT01n4yZbJ0235S/2
         nKVS3wqY6QyV34IxChywuxRHD+3Dtwx6SlygWbz8ZfYMko6k0hxT/2ozU1OE72i1b21e
         ByPQ==
X-Gm-Message-State: AOJu0YymQRF6zfC0jWHRbqpmx4s+/HBlLDpbB4OrLFtA5nAbON/MQNRC
	nfaY0Q0frrtBSWOKvQNreshWNg==
X-Google-Smtp-Source: AGHT+IGVukoRIKKdoE+XZQ4i0Cf8GRXK0OMdjzbsrUjfxjlJMNDWOALCDcbIARj93zs8yiXQ5+uv1Q==
X-Received: by 2002:a05:600c:a46:b0:402:f55c:faee with SMTP id c6-20020a05600c0a4600b00402f55cfaeemr3591473wmq.26.1700736098437;
        Thu, 23 Nov 2023 02:41:38 -0800 (PST)
Date: Thu, 23 Nov 2023 11:41:37 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/vPIC: correct vcpi_domain()
Message-ID: <ZV8sYSbcVV6Fs_JQ@macbook>
References: <f7016076-19a4-4416-b7be-df16e8d4a017@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f7016076-19a4-4416-b7be-df16e8d4a017@suse.com>

^ typo in the subject :).

On Thu, Nov 23, 2023 at 11:20:24AM +0100, Jan Beulich wrote:
> Make it use its parameter in both places.
> 
> Fixes: 00a70f44a68c ("[HVM] Update VPIC device model for new interrupt delivery code")
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:44:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:44:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639534.997040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67Bk-0007IZ-Q6; Thu, 23 Nov 2023 10:44:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639534.997040; Thu, 23 Nov 2023 10: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 1r67Bk-0007IS-NN; Thu, 23 Nov 2023 10:44:04 +0000
Received: by outflank-mailman (input) for mailman id 639534;
 Thu, 23 Nov 2023 10:44: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 1r67Bj-0007IM-U3
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:44: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 1r67Bd-0007gQ-WD; Thu, 23 Nov 2023 10:43:58 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.119]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r67Bd-0006xr-Q3; Thu, 23 Nov 2023 10: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=JCUkkCdy17u0/FYJyNT9JmVMu7rYGhtH13faMHh1V28=; b=4/Gok73jz9C4e/xRwxr1M7+zqn
	Y7yPoNzg1qbL50FmCuDrIaAfqUSaqQ+Cwsv0zRUpdfZW+q83TjJ2Tgh5moNEKLNwhDWItVfbmvkiQ
	2Lgr/RGTihIiODntGq/Ms5F3qO7vaBkAXK34MgAz44XZIa8EMwypUA9QTnlywFLaCqLg=;
Message-ID: <d4f55448-7080-437d-be06-59caff3f9fcf@xen.org>
Date: Thu, 23 Nov 2023 10:43:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Jan Beulich <jbeulich@suse.com>, sstabellini@kernel.org,
 michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com,
 consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 bertrand.marquis@arm.com, George Dunlap <george.dunlap@citrix.com>,
 Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
 <2123235ad5e5d18c89369b6cc1be3a4c@bugseng.com>
 <1f5d5e07-1b34-4e4d-8904-e5463a2db919@xen.org>
 <1b48ead895d32fbb06a2ce67e1450f6b@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <1b48ead895d32fbb06a2ce67e1450f6b@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Nicola,

On 23/11/2023 10:40, Nicola Vetrini wrote:
> On 2023-11-23 11:26, Julien Grall wrote:
>> Hi Nicola,
>>
>> On 23/11/2023 09:25, Nicola Vetrini wrote:
>>> On 2023-11-23 09:57, Jan Beulich wrote:
>>>> On 16.11.2023 10:08, Nicola Vetrini wrote:
>>>>> The comment-based justifications for MISRA C:2012 Rule 8.4 are 
>>>>> replaced
>>>>> by the asmlinkage pseudo-attribute, for the sake of uniformity.
>>>>>
>>>>> Add missing 'xen/compiler.h' #include-s where needed.
>>>>>
>>>>> The text in docs/misra/deviations.rst and docs/misra/safe.json
>>>>> is modified to reflect this change.
>>>>>
>>>>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>>>>> ---
>>>>> This patch should be applied after patch 2 of this series.
>>>>> The request made by Julien to update the wording is
>>>>> contained in the present patch.
>>>>
>>>> Along with this request he supplied you with an ack. Did you drop that
>>>> for a particular reason, or did you simply forget to record it here?
>>>>
>>>
>>> I forgot and added it in a reply.
>>>
>>>>> --- a/xen/arch/x86/boot/reloc.c
>>>>> +++ b/xen/arch/x86/boot/reloc.c
>>>>> @@ -28,6 +28,7 @@ asm (
>>>>>
>>>>>  #include "defs.h"
>>>>>
>>>>> +#include <xen/compiler.h>
>>>>>  #include <xen/kconfig.h>
>>>>>  #include <xen/multiboot.h>
>>>>>  #include <xen/multiboot2.h>
>>>>> @@ -348,9 +349,8 @@ static multiboot_info_t *mbi2_reloc(uint32_t 
>>>>> mbi_in, uint32_t video_out)
>>>>>      return mbi_out;
>>>>>  }
>>>>>
>>>>> -/* SAF-1-safe */
>>>>> -void *__stdcall reloc(uint32_t magic, uint32_t in, uint32_t 
>>>>> trampoline,
>>>>> -                      uint32_t video_info)
>>>>> +void *asmlinkage __stdcall reloc(uint32_t magic, uint32_t in,
>>>>> +                                 uint32_t trampoline, uint32_t 
>>>>> video_info)
>>>>>  {
>>>>
>>>> One purpose of asmlinkage is to possibly alter the default C calling 
>>>> convention
>>>> to some more easy to use in assembly code. At least over a period of 
>>>> time Linux
>>>> for example used that on ix86. If we decided to do something like 
>>>> this, there
>>>> would be a collision with __stdcall. Hence I'm not convinced we can put
>>>> asmlinkage here. At which point the complete removal of SAF-1-safe 
>>>> also would
>>>> need dropping.
>>>>
>>>
>>> Ok, so we can keep SAF-1 here and below and leave the wording in 
>>> deviations.rst and safe.sjon as is.
>>
>> I guess you mean without this patch applied and not including my 
>> proposed rewording (i.e. to deprecated SAF-1)?
>>
>> If so, then we are back to the initial concern I raised. We would have 
>> two ways to address the deviation. From a user perspective, it would 
>> be unclear which one should be used.
>>
> 
> The wording that is now on staging (committed by Stefano).
> 
> - Functions and variables used only by asm modules are marked with
>    the `asmlinkage` macro. Existing code may use a SAF-1-safe
>    textual deviation (see safe.json), but new code should not use
>    it.
> 
> I guess special cases can be dealt with as they arise. That may or may 
> not be mentioned in the deviation.

Ah so the wording has been updated! It is not 100% ideal if we decide to 
keep some SAF-1 for good reason. But better than any ambiguity on when 
to use one but not the other. We can reword once we have other cases.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:46:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:46:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639537.997049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67DZ-0007xA-4J; Thu, 23 Nov 2023 10:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639537.997049; Thu, 23 Nov 2023 10: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 1r67DZ-0007x3-1i; Thu, 23 Nov 2023 10:45:57 +0000
Received: by outflank-mailman (input) for mailman id 639537;
 Thu, 23 Nov 2023 10: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=17ou=HE=casper.srs.infradead.org=BATV+6463b3cc4e0ea8740225+7396+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r67DW-0007wv-0d
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:45:56 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 773cb0d9-89ed-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 11:45:49 +0100 (CET)
Received: from [2001:8b0:10b:5:aa35:270f:6b3d:6d64]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r67DP-007ROx-VG; Thu, 23 Nov 2023 10:45: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: 773cb0d9-89ed-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=YgbOl5KVQSweppal67uN/c/tuov8oL3IO6B2TE/Nb2A=; b=Twtcs798PsgHz1n3KmV4Hfts1h
	EVrzUULWOm+8NfGN4vw8vYlm3a+6qdp2d8+rJBREp1O1fLZOnrlF8sdjd4Sss0ZETDOiUHC5Q+4HZ
	KLZK7q6wUaxBXtK8yDY/EW+fNPfiZMrYk5HJyTzsdjwtvO5FAlL0ogwVt1WQD2Qn1GiVw5DqpLSwF
	40MLofirMifnCswsoW9WblhgD3TWSzvut3hpCJu9/Eo8Fd9/70m71N+FHPpUaFx1bT9zcX9t63SO4
	tDxJ7+ikPVnfh3enozhZ976e1mXWgzgvSK0MM0k6Z+v7QPEEc9Zw4Omtc933tfZFJ9H+pUtgs5do/
	J7KWX6yA==;
Message-ID: <db7f8751c569c7cbf0049807050054071ddda0d9.camel@infradead.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
From: David Woodhouse <dwmw2@infradead.org>
To: paul@xen.org, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, "qemu-devel@nongnu.org"
 <qemu-devel@nongnu.org>, Julien Grall <julien@xen.org>, Oleksandr
 Tyshchenko <Oleksandr_Tyshchenko@epam.com>, Anthony Perard
 <anthony.perard@citrix.com>,  "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>
Date: Thu, 23 Nov 2023 10:45:47 +0000
In-Reply-To: <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
	 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
	 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
	 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
	 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
	 <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
	 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
	 <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com>
	 <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-cdqYlfmCuXFPBfTl9hXO"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Thu, 2023-11-23 at 09:28 +0000, Paul Durrant wrote:
> On 23/11/2023 00:07, Volodymyr Babchuk wrote:
> >=20
> > Hi,
> >=20
> > Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:
> >=20
> > > Hi Stefano,
> > >=20
> > > Stefano Stabellini <sstabellini@kernel.org> writes:
> > >=20
> > > > On Wed, 22 Nov 2023, David Woodhouse wrote:
> > > > > On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
> > > > > > On Wed, 22 Nov 2023, David Woodhouse wrote:
> > > > > > > On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
> > > > > > > > On Wed, 22 Nov 2023, Paul Durrant wrote:
> > > > > > > > > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
> > > > > > > > > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.c=
om>
> > > > > > > > > >=20
> > > > > > > > > > Instead of forcing the owner to domid 0, use XS_PRESERV=
E_OWNER to
> > > > > > > > > > inherit the owner of the directory.
> > > > > > > > >=20
> > > > > > > > > Ah... so that's why the previous patch is there.
> > > > > > > > >=20
> > > > > > > > > This is not the right way to fix it. The QEMU Xen support=
 is *assuming* that
> > > > > > > > > QEMU is either running in, or emulating, dom0. In the emu=
lation case this is
> > > > > > > > > probably fine, but the 'real Xen' case it should be using=
 the correct domid
> > > > > > > > > for node creation. I guess this could either be supplied =
on the command line
> > > > > > > > > or discerned by reading the local domain 'domid' node.
> > > > > > > >=20
> > > > > > > > yes, it should be passed as command line option to QEMU
> > > > > > >=20
> > > > > > > I'm not sure I like the idea of a command line option for som=
ething
> > > > > > > which QEMU could discover for itself.
> > > > > >=20
> > > > > > That's fine too. I meant to say "yes, as far as I know the tool=
stack
> > > > > > passes the domid to QEMU as a command line option today".
> > > > >=20
> > > > > The -xen-domid argument on the QEMU command line today is the *gu=
est*
> > > > > domain ID, not the domain ID in which QEMU itself is running.
> > > > >=20
> > > > > Or were you thinking of something different?
> > > >=20
> > > > Ops, you are right and I understand your comment better now. The ba=
ckend
> > > > domid is not on the command line but it should be discoverable (on
> > > > xenstore if I remember right).
> > >=20
> > > Yes, it is just "~/domid". I'll add a function that reads it.
> >=20
> > Just a quick question to QEMU folks: is it better to add a global
> > variable where we will store own Domain ID or it will be okay to read
> > domid from Xenstore every time we need it?
> >=20
> > If global variable variant is better, what is proffered place to define
> > this variable? system/globals.c ?
> >=20
>=20
> Actually... is it possible for QEMU just to use a relative path for the=
=20
> backend nodes? That way it won't need to know it's own domid, will it?

That covers some of the use cases, but it may also need to know its own
domid for other purposes. Including writing the *absolute* path of the
backend, to a frontend node?

--=-cdqYlfmCuXFPBfTl9hXO
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTIzMTA0NTQ3WjAvBgkqhkiG9w0BCQQxIgQgd0g4t5JB
jHoY9SKtyZD2BKEc2KsM4fwWyfxaI5pEzawwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgA6ccuH51xMiEnQ4qVgZVTix1LaPoDGjNJS
f15/qyL3h1O9qYhQEDbUPCpNvW+XEoZXrkBQEhVL3XREz5el2MEhIwUQFadgelct9sEyHhQfQNiB
/dmr1A15OI3VSrnv9w7rZZheiR/cT/sp6zL37OYGrsWU6QOB9dBqslqgi9gEN2oNZxr2exUpaKjT
zSXkl8Y8dbiDtFkHf0huAIfzjjRr5+tzvTueOvpFlUBqJ5FfnaWIOeWgFq7FlLxjUIIyPIkRuwab
cSQI4nD1zUoTleLgVGqxPuw43cCGxjQoed2XnM0oskiL7elMvwWjOVN0Abpctbs05SCk3gBZO1ac
QPKFdDbDhevCyhyPlHHhM8kQj1JS/n0hPxy9M7HXoiKKESSImprKbqtK9bKlz3B5UWGFlkckwBtR
e8UaPmU7RTWVf4S899CgOIyQSEshhjqM0KWSlxqIlTRrbyG3ic5YdrlZFyiG6p0GEMvD56uWiOTJ
neGMh9MzpaeHVn0pnx5s19kLp+jJDAdoJmzaDU5OVnn5ZHLv0Ov8nYAs0aybdkmgmfFaSIZqPO/c
A7aaXbsU/9p/d1ASMeyKETHQrc3rhDzZ2Lztd9lTrG4RE7QmdKamO+AA5m60QDVpp+jp5yTAGf6n
gqlZJ28yb2qq9AIGWMzMvPPRX86lwO98ypu5j+GxUwAAAAAAAA==


--=-cdqYlfmCuXFPBfTl9hXO--


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:47:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639541.997060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67F0-0000yx-FA; Thu, 23 Nov 2023 10:47:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639541.997060; Thu, 23 Nov 2023 10: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 1r67F0-0000yq-Bx; Thu, 23 Nov 2023 10:47:26 +0000
Received: by outflank-mailman (input) for mailman id 639541;
 Thu, 23 Nov 2023 10:47: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r67Ez-0000yi-Co
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:47:25 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id af2beb35-89ed-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 11:47:23 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-332ddd8e0bdso278991f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 02:47:23 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 t15-20020a5d6a4f000000b0033169676e83sm1296712wrw.13.2023.11.23.02.47.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 02:47:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af2beb35-89ed-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700736443; x=1701341243; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=OLzMxB3RRuLaZNQDLruop9mFWfM1jlnEeFZemnewlgI=;
        b=oG3iisJZ2n7BImIkHgGJ9MDnMKhB+xfR0oj3lHeLf2O0KzxDQB0hO0qjglbz9bCfD/
         NJTjkkZBPNhQFmQYfERBfLTRCkB7MHIEwqBXRSmXBPEb9KQ/uLXK2jnOeRl24cv2pqWh
         fBxaJLUN+w7ZaEOhxRCi2VidI75ck/glgPJ9A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700736443; x=1701341243;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OLzMxB3RRuLaZNQDLruop9mFWfM1jlnEeFZemnewlgI=;
        b=ip7MueSmEJVXGCMuzxM1d9vgWigkbHMRb62HaS0/uKh7n9v+umQSZQ8xMjQ3RGuRWS
         +55igx9TwafgL/+HuD2p2TEd1laMyudAdLcZRxCewQMWYOrz+KbF0pQ3yqC0MUjAmrx3
         QdXhAmmDYVHez2XWPySVbhVMSd7OFcaVwA8D9SnA1BuyQ1wfNshWOpPdkGYLsTqvZxKE
         MVepa7jR14rdtv5uMtEOhEsSkh7W3ZmfEJkxld6SbAGpm3mfE1Krseo186yCyGMm9+SM
         oHVoQCfPa9mAtPQFwcKs3agi08f+xzPNc1tPjsLZAZlH2FUtEWrBwA3hgwWMi7Z+GxJe
         /VRg==
X-Gm-Message-State: AOJu0Yx/F1J3trgeVJjm6FwA5R/cCfxcu/JkIxolPK1rZ4WJB0yuRNNk
	/PYtEVGYyicWKYs0BJRiTTP/Hw==
X-Google-Smtp-Source: AGHT+IHXy3gUNCKkVWGTOzVDfXRKKrK7ivDIK2b83umr0xzUDGpHrR7awK1I74juwiuhrmgFahimIA==
X-Received: by 2002:a5d:54c1:0:b0:332:cae1:dd5 with SMTP id x1-20020a5d54c1000000b00332cae10dd5mr1823579wrv.34.1700736443027;
        Thu, 23 Nov 2023 02:47:23 -0800 (PST)
Date: Thu, 23 Nov 2023 11:47:21 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/HVM: limit upcall vector related verbosity
Message-ID: <ZV8tueH53FROk86e@macbook>
References: <8efe0fed-8533-474c-9893-e6fcb38b93ca@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <8efe0fed-8533-474c-9893-e6fcb38b93ca@suse.com>

On Thu, Nov 23, 2023 at 11:25:34AM +0100, Jan Beulich wrote:
> Avoid logging all-identical messages for every vCPU, but make sure to
> log unusual events like the vector differing from vCPU 0's (note that
> the respective condition also makes sure vCPU 0 itself will have the
> vector setting logged), or it changing after it was once set. (Arguably
> a downside is that some vCPU not having its vector set would no longer
> be recognizable from the logs. But I think that's tolerable as
> sufficiently unlikely outside of people actively fiddling with related
> code.)

Maybe we could consider printing unconditionally for debug builds?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:48:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:48:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639547.997069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67Fp-0002Dn-U2; Thu, 23 Nov 2023 10:48:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639547.997069; Thu, 23 Nov 2023 10:48: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 1r67Fp-0002Dg-RU; Thu, 23 Nov 2023 10:48:17 +0000
Received: by outflank-mailman (input) for mailman id 639547;
 Thu, 23 Nov 2023 10:48: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=zW5S=HE=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r67Fn-0002Bj-UC
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:48:16 +0000
Received: from do158-143.mg.gitlab.com (do158-143.mg.gitlab.com
 [192.237.158.143]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id cca388fa-89ed-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 11:48:13 +0100 (CET)
Received: from mg.gitlab.com (68.90.74.34.bc.googleusercontent.com
 [34.74.90.68]) by
 623d9a829586 with SMTP id 655f2deba9b89b70e20dca15 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 23 Nov 2023 10:48:11 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: cca388fa-89ed-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700736491; x=1700743691; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=vC82B0GJ1ZxB4C2sIX2cIjWSMZDMPHcTtBv/x+B3jts=;
 b=IQ2XZrhiwckUkP8zaepkxbxMavPV5o/ze0aLg7PXpHW/a+BOomOm2aQshI1zdchcYkd7d1jmb8oZqsp1JApw1MG9wl0bSNfm/GSljRWgS728rMdu/uZbnjA6rkZvtlKDbFj7pFzwSsgMTN/sRe4sLaG3iA97pi7KTa6AKYihZqU=
X-Mailgun-Sending-Ip: 192.237.158.143
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 23 Nov 2023 10:48:11 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655f2debc87ca_2c9134e54392424@gitlab-sidekiq-catchall-v2-5768d9dbdc-bs7jp.mail>
Subject: xen | Successful pipeline for staging | 8f458625
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655f2debbc0bb_2c9134e543923f0";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1082563582
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655f2debbc0bb_2c9134e543923f0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1082563582 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 8f458625 ( https://gitlab.com/xen-project/xen/-/commit/8f45862580c962791e66df716389bb5b1dd704df )
Commit Message: xen/xalloc: address violations of MISRA C:2012 ...
Commit Author: Federico Serafini
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1082563582 ( https://gitlab.com/xen-project/xen/-/pipelines/1082563582 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655f2debbc0bb_2c9134e543923f0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 8f458625</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1082563582 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/8f45862580c962791e=
66df716389bb5b1dd704df" style=3D"color: #3777b0; text-decoration: none;">=
8f458625</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/xalloc: address violations of MISRA C:2012 ...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/7347c1427cde55f447d83dc392bce562?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Federico Serafini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108256=
3582" style=3D"color: #3777b0; text-decoration: none;">#1082563582</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655f2debbc0bb_2c9134e543923f0--


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:48:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:48:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639563.997081 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67GA-0002zR-86; Thu, 23 Nov 2023 10:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639563.997081; Thu, 23 Nov 2023 10:48: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 1r67GA-0002zI-3S; Thu, 23 Nov 2023 10:48:38 +0000
Received: by outflank-mailman (input) for mailman id 639563;
 Thu, 23 Nov 2023 10:48: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 1r67G9-0002yp-DT; Thu, 23 Nov 2023 10:48: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 1r67G9-0007mn-Au; Thu, 23 Nov 2023 10:48: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 1r67G9-0008Bt-0y; Thu, 23 Nov 2023 10:48:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r67G9-0000Ly-0Q; Thu, 23 Nov 2023 10:48: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=riuB9kWuuu4sxj1uqUv76gd7kOIUycH29Vs+Qr8l9uo=; b=HH5f0RjyVtmK7Mio1JOvVqYQV5
	kHZQl6ltAILZpTn/zRVY3FtGqsaWcGif6DgqVf1tynGy+x3gwA31ae/EYee/yNlBYFCYLM6kqkoke
	CJ28vf3N6+dmQV3Evbd1U+RQmSuMEAR3LQzPyt6CPYltoT9IwTpGsh7636BDaMPfxSN8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183832-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183832: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9b6de136b5f0158c60844f85286a593cb70fb364
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Nov 2023 10:48:37 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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
 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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                9b6de136b5f0158c60844f85286a593cb70fb364
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    7 days
Failing since        183773  2023-11-16 13:12:48 Z    6 days   16 attempts
Testing same since   183832  2023-11-23 00:13:43 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  Ani Sinha <anisinha@redhat.com>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Bibo Mao <maobibo@loongson.cn>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Dexuan Cui <decui@microsoft.com>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Ferry Meng <mengferry@linux.alibaba.com>
  Gal Pressman <gal@nvidia.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Jingbo Xu <jefflexu@linux.alibaba.com>
  Jithu Joseph <jithu.joseph@intel.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  Saurabh Sengar <ssengar@linux.microsoft.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Simon Glass <sjg@chromium.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Stuart Hayhurst <stuart.a.hayhurst@gmail.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uros Bizjak <ubizjak@gmail.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  WANG Rui <wangrui@loongson.cn>
  Wei Liu <wei.liu@kernel.org>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yanteng Si <siyanteng@loongson.cn>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 8840 lines long.)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:50:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:50:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639579.997090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67IH-0004fk-Ms; Thu, 23 Nov 2023 10:50:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639579.997090; Thu, 23 Nov 2023 10: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 1r67IH-0004fd-KF; Thu, 23 Nov 2023 10:50:49 +0000
Received: by outflank-mailman (input) for mailman id 639579;
 Thu, 23 Nov 2023 10:50: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r67IF-0004fT-JE
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:50:47 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe12::624])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 277b78cd-89ee-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 11:50:45 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB6998.eurprd04.prod.outlook.com (2603:10a6:20b:10a::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Thu, 23 Nov
 2023 10:50:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 10: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: 277b78cd-89ee-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XCuSs7gxXarWIhg9giZATtHdNRWXktOkcoLBLgvi9sWYMVMd8E3QdE+GLcL2+py4/eS8h22XUqfOn5uwPNK8d0wFvN3hAQ+CqShL9m9Cc3zFlchYGvN2+YegQmPB9jUU89xAhQe1N6uNB4D/Cl/6dUsYxLWenjrDZvLAtT8YPBpo6dNNgHZlvVnla2FvCyQguLYvS2LdaP7ph3s7j2uHnz7u5rgH9iIQQkVFAscCk1sxaOkiNhVDi1Hv94kWkPmWOZdUWTcbpzzh0v+qwjvL8362IPAhaIJZf8WkAG36vR6xV7IWRAnDq7jQ8rCBnQ7JWX+hY7hgVOE/x8R2h3l5Hg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HNVZdE8iHM8PekIaTbwXaseXvxphJSnpTETlNXLs9po=;
 b=CtqzWRZf8XngJF7migHLiKPrL6V7QYrszB9I7xtOlcWcX5WGkzU1BMQ5Mk4d3v4LL0AiOlD5MfcmscV/Pu9zHhSjVEJhzeAhWdaKf9YamkIK7b+NBsSxozDE2gzyJZ9IjdV36qvVJY68wsCcip8Z/bqzo51P4JHEiSn/FU9aLMkIanWLJ1cDkQEExaisgSyGNY/KqDEuKNwpvL5h6JbV/ClkOhNdGGAVzuw6/dhANJN0psEkmg5iynpAimFIJz23TZi9Ep74x0ztofTyVMiMFC+HpE4KVrMUCKII2npVnrHZ5KVfoV5Se34bwVK1gV0PIPHgDpjdmaHQRBiNqdVarA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HNVZdE8iHM8PekIaTbwXaseXvxphJSnpTETlNXLs9po=;
 b=MkcpsKHDKqRSq2poB68KCANlFqJX88Ye+9F8TkdHuHxD9Ia/Y6SFTn+9efp7ufb3nytQnuw/PT0mbB+uUOqihGrvEX+DBZ+yZ8UbZuodxSmgPQvETOdCZDUBAF1mDRr24USz8bfwKtv0sJb8wn+Q7n0TsnsHjhL+eW7bUjZzhcbvzBVXKvfJCJLW/DSZ6ZFB9p8oDWHMrJEr9l2WwS/Yosnc820DbT4j1AfWjdOQtwBII+PcqP7xvOjo6p3Ss4m6sbFpomOSYRAyaT8dQAgtvo09P3AHJm1hm1fP8l0W1lS0nLAYhvr7UrFyytFX/grkjO9xdgJtMZ9ynvO55tPM1g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f52395ef-5995-46fa-8dc2-6b49b3d79ccc@suse.com>
Date: Thu, 23 Nov 2023 11:50:41 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/HVM: limit upcall vector related verbosity
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <8efe0fed-8533-474c-9893-e6fcb38b93ca@suse.com>
 <ZV8tueH53FROk86e@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZV8tueH53FROk86e@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0358.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f4::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB6998:EE_
X-MS-Office365-Filtering-Correlation-Id: 314cb406-54f5-4ae4-be08-08dbec120ab0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	azfnp10nxr4m4KfIU/DxuZsg8YtvAgCrCcSDBGwR/41KPsrDs+jDlj3E5TES2Pb4QTq005Qo/z4RDL1mOlXUYdP+fv7o5aU8/BIROklR9A+vL1lyFAtUqvf+oQXjU71sB4K+WduwLnNP5+wkZUlH0wpDRS1fnr430BeevWd5qZoVrRvUdRMXkeis/EvKg0Zqi9A0e70b7UT1j7t5mog4sWT0OiCWSFMIsb9v1ofYOSRZtuwKf6WB+Mt6J5zgwU8RsKvxmbycjVHiHy751x1trrtZVSd9dsPDU6JYHe1Cg5+/JvL6uiV8zJNArib+35RwuOVeSEaSXjE/mQ2Hbij1PLn8v0lpcM5h2WFLeMAkduH0TSBaSd4KWdi7N7iMgIAq1AqFmxC47BNPRrv03wLQfYEyZn9LABgTGJRjOoaUKPNT+6jxJoQ+lzUEaxU33+xKKUABw5acgZSkF9S3r+rNZzI5Y8856HFVI4L9mZpv9aUcRhqkJYp/Qw30caQHb5NjzjJ/C4qIu/pLbvEY0NrfPF8/1uFam0WAzx62OHTb7SYjra0ms517Wri/oHoeZKUOgjmKH7oFdJNBkfO7iuyxZdiuwp1BZ3+JQ+CZrJ+yZ8AF1WV+Yc/zX1ukNTRkuT4K/R3BPFjsiMicqvm9JfwxXg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(396003)(346002)(376002)(39860400002)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(6512007)(2616005)(26005)(478600001)(6506007)(83380400001)(2906002)(4744005)(5660300002)(66946007)(66556008)(41300700001)(6486002)(66476007)(8936002)(316002)(4326008)(6916009)(8676002)(54906003)(53546011)(38100700002)(86362001)(31696002)(36756003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dE8va2oyWGxUdFFtenZpUG15ajBEdzhTcXBzcTV0L0RCSFZ2WUk5MFgzY3dQ?=
 =?utf-8?B?R3hwc3NzZkE2QTc3MG9OcXNhU0s5VDAxWk5nd0MxcFJiajJVNlEyVWZxaHZO?=
 =?utf-8?B?S3B2eWV3Q215WWw0WFNZd254Y3NLVTFHaEpUTUh6OXI2ZnBpcEIyc1A3TUh6?=
 =?utf-8?B?M2ZPSkhFcm1NTkVaVGN5bHlyWC92YzFpaW5uK1Z5dUtPOU5HbkFMOWJNcG5K?=
 =?utf-8?B?WWRzaVhMc2REeHhlVFFlVndPMlIzVWZKVksxM0Znd3czdm03cThxYkx1S3Jt?=
 =?utf-8?B?TElza01GeG82UzhoVE5peGtJSHpsUTRLN084L0JySWhYdWxOZFF4UXN0dyt2?=
 =?utf-8?B?QzQ0TXhZZk9CTUFDRlRVaE1UaFJnbTNzYU1oV0hWT0JXVFE2dVY0QlA2dUpo?=
 =?utf-8?B?ckJBai9jUElwdzhzZXprMXNSOWJFc0hqV2RGWERPcGNobGQ2UUt4b0l0eTRm?=
 =?utf-8?B?dVdVOWI5YnhYVThvaDJOUmZiVXN1cmtQc2RibmpoQlpXUHA3MjNHWDdnTlpN?=
 =?utf-8?B?VXF3TkkxaVJiUXFzN0NqVllCUno4UmRTWnVzT1dFck9jNHB2ZDNySkVxbGhj?=
 =?utf-8?B?ZG9rN0pRSWozUG5QWFExSlNUeHdPRHgyR2YzcFBFeW9BQkI0SUI4MlJJRlVt?=
 =?utf-8?B?YjhicHVnRTdEdlpBM003RHdpTWRTNkZZQTNqRUM3ZlBMVkgwMUxNdmFJOW1a?=
 =?utf-8?B?Y2c1UU1RM0Z1Y3d1ODl6bndxSFk1bEEzeEVQUEFZdW4zaFlJSEtvbkU0Nkcw?=
 =?utf-8?B?TXpSMEJMVmNXbklRb2NrOXh1M0hXRmFkRDRPUHVmNlR6a1NUVkU5VkJ0WWVB?=
 =?utf-8?B?Sm5rU3haSXpheXBZcWk3Tjl1SHExWnE3ekVQZFZaV0dWR1pSMXBKSldmSnda?=
 =?utf-8?B?V2IxOWRXNkpMTXcwMm0rMDE5SlY5SUNKWFQ0eVVkZG1OSjA4WmNaNmE0b3Fm?=
 =?utf-8?B?RnJMUWFOa21hNDQxWFA5SkpRZktpL0psbzRWV0xsSUVOVWQ1NHVRZkVZbWVj?=
 =?utf-8?B?d05MY0g4TVNIeGJuUm9iTitsdVdlTC96M2MyTFFPK2ZuYlRjTXBpb0IwU21V?=
 =?utf-8?B?blVVdE9MZlErNTVZd2RIeVJ5dDZONHBxVHA4elBRWS8rNkIzcHlUa0tpVzhn?=
 =?utf-8?B?UTF6S0pYbDZqZnBFSkxkbWtiT05XbnZ0RXdvblczRHBxNUxjL0hUbzhJcjEy?=
 =?utf-8?B?T1pxSlNEeG16V045U1pkbXdKYjhtdDdnZDRLSTM0Mm5OaFI1S0pmRmVNWkdY?=
 =?utf-8?B?OHB3YXpnbE1lN3lwZW1tWlhZTS9QZTZ5MDh2YVk4YkFNeHAvbU9uZ0hZYmE1?=
 =?utf-8?B?eGZ1ajRBcUpBRmwzYTEram0xNTB0SGpLMzNwVmlJR1ZxaFRaU3prOUIycU13?=
 =?utf-8?B?NU5NSGJMVFFtVnAweWZxNC9yQ3dCMU9hQVNDR1MxM1paK3hJaElKQ2RxRC9v?=
 =?utf-8?B?ZXczelpCRkdXMytXL1JyL3RZTUFnaGtOZ0F3SThDdUdVNEROYnp1SkZxU09Q?=
 =?utf-8?B?SGJFVFhObUdLellvUUY0V09ERXlIdHh0cjJxT2dtcHpSTGVsRmxoSndJdkpW?=
 =?utf-8?B?a015bTE5c1NUMkVqM0NTeWdXVDJJTzA3Z0R0TElvMEZGemJGR0RzVHlyc3NK?=
 =?utf-8?B?MnVRTGkvMU9CU2Q3MHlycTBNZ1RGQUVCaXNxV2pQYTVEN09TYk53dE51NEwz?=
 =?utf-8?B?RkpKUmRyMm9OdEV4MjkwMmZGMjd2UEZka080YUVCcGw5c0d3VUU0YlZHMFV6?=
 =?utf-8?B?dklzallPM1dabEk5V1ZYYmQ2SlFmcHhBSGNFMGsrQUIrZjk1MzFmaWlJazF6?=
 =?utf-8?B?V3o3QVMvSG1JZVBxZFA0WTZPeEJnUWQzZjNua2pTU1d3OXBteTBaYzN5bGJE?=
 =?utf-8?B?aTNVR0JSYnpzTStNMkh3NGdXRDBtOVNGamM4Sk9qNkw4RkkxVEN1TWpVTnlN?=
 =?utf-8?B?eGZ0YithcUxmaksrbVQwTklzb1JFL0xXMGVXTUh6Ri9jK1VnMmRjRTNpQTI1?=
 =?utf-8?B?eHZXTjRuRjdqVWZCcDQwRHd0SlIreUVsdzFnRDFONURLNjJhckQ1Q3d0TXdB?=
 =?utf-8?B?bGtqdGZhYjhjdjZRVmtkK3JpakNoeFRQdDR2TzRiNUdlQmR4WUNCbFA0bEZC?=
 =?utf-8?Q?YYhWnTBDk2mKqiLAgw9ZomwAV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 314cb406-54f5-4ae4-be08-08dbec120ab0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 10:50:43.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: UGHL3+XtJMC7cnPaM59ASlbFsNhvHsxffZpD+CmztN24M0CT2eiFVEO4Ms4VtyOXodsFHIAdb4OMWOefBR/Q3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6998

On 23.11.2023 11:47, Roger Pau Monné wrote:
> On Thu, Nov 23, 2023 at 11:25:34AM +0100, Jan Beulich wrote:
>> Avoid logging all-identical messages for every vCPU, but make sure to
>> log unusual events like the vector differing from vCPU 0's (note that
>> the respective condition also makes sure vCPU 0 itself will have the
>> vector setting logged), or it changing after it was once set. (Arguably
>> a downside is that some vCPU not having its vector set would no longer
>> be recognizable from the logs. But I think that's tolerable as
>> sufficiently unlikely outside of people actively fiddling with related
>> code.)
> 
> Maybe we could consider printing unconditionally for debug builds?

Indeed I was considering that, but it's primarily debug builds where the
unnecessary redundancy is annoying me. (After all I work with debug builds
much more than with release ones.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:52:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:52:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639585.997099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67JW-0005Gy-0U; Thu, 23 Nov 2023 10:52:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639585.997099; Thu, 23 Nov 2023 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 1r67JV-0005Gr-UE; Thu, 23 Nov 2023 10:52:05 +0000
Received: by outflank-mailman (input) for mailman id 639585;
 Thu, 23 Nov 2023 10:52: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 1r67JU-0005Gk-QE
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:52: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 1r67JU-0007rD-E9; Thu, 23 Nov 2023 10:52:04 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227]
 helo=[192.168.16.119]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r67JU-0007He-7z; Thu, 23 Nov 2023 10:52: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=jurR30C5SjK5fi4eY6+9ry79zWy6fgoCPFEbkTKIo+s=; b=j93yQr7URUf07xGqHAb3N5qz3J
	ufKfLJJOxbD9pep52nbnvn4dL/9T2jJFQMJGQgNWvGBRx+A5fhbFyB0pXEY1lpOYlXSjjiPIvEqy1
	2DpAFAjVJpvyQK3TMJ39AGBc4ADVS2QAV53+W8N6ksRg7Yy9n9lidp6lEek+uWuNdMak=;
Message-ID: <6b1b4507-96ee-4457-a913-3f71b6fd551a@xen.org>
Date: Thu, 23 Nov 2023 10:52:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: gicv3: clean up GICD_CTRL write
Content-Language: en-GB
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231122144602.2282417-1-stewart.hildebrand@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231122144602.2282417-1-stewart.hildebrand@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Stewart,

On 22/11/2023 14:46, Stewart Hildebrand wrote:
> GICD_CTL_ENABLE is a GICv2 bit. Remove it. The definitions of
> GICD_CTL_ENABLE and GICD_CTLR_ENABLE_G1 are identical, so the value
> written is unchanged.

Thanks for spotting it. Maybe we should move GICv2 specific definitions 
out of gic.h. Anyway, this is a separate clean-up. So...

> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

...

Reviewed-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 10:54:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 10:54:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639589.997109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67Lx-0005rj-Dq; Thu, 23 Nov 2023 10:54:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639589.997109; Thu, 23 Nov 2023 10:54: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 1r67Lx-0005rc-B3; Thu, 23 Nov 2023 10:54:37 +0000
Received: by outflank-mailman (input) for mailman id 639589;
 Thu, 23 Nov 2023 10:54: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 1r67Lw-0005rS-ML
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 10:54: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 1r67Lw-0007tj-Cv; Thu, 23 Nov 2023 10:54:36 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.119]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r67Lw-0007MJ-6l; Thu, 23 Nov 2023 10:54: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:
	References:Cc:To:From:Subject:MIME-Version:Date:Message-ID;
	bh=f/0eUcQ+hoC6Jvb/kig9tr4w+LVzKu24OPUZ63DLWIs=; b=06npTCtIxwTQ1cf+EDt1fqFvaN
	E5m29Xmai4oNOZ8Sx+UwtJ+0GmgsTJY0UWBexGKYZ2n35LYB0V7U6sHMM322ZcotNeJB0n96GD/ZT
	oPhtdItni1Fw3CG/kiYECUaBbbZVA0CVpeA5LBM7YlstrLZramift8euNPBDofAcB4Ag=;
Message-ID: <087da3be-d739-4674-91f5-51fb728e2358@xen.org>
Date: Thu, 23 Nov 2023 10:54:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: gicv3: clean up GICD_CTRL write
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20231122144602.2282417-1-stewart.hildebrand@amd.com>
 <6b1b4507-96ee-4457-a913-3f71b6fd551a@xen.org>
In-Reply-To: <6b1b4507-96ee-4457-a913-3f71b6fd551a@xen.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 23/11/2023 10:52, Julien Grall wrote:
> Hi Stewart,
> 
> On 22/11/2023 14:46, Stewart Hildebrand wrote:
>> GICD_CTL_ENABLE is a GICv2 bit. Remove it. The definitions of
>> GICD_CTL_ENABLE and GICD_CTLR_ENABLE_G1 are identical, so the value
>> written is unchanged.
> 
> Thanks for spotting it. Maybe we should move GICv2 specific definitions 
> out of gic.h. Anyway, this is a separate clean-up. So...
> 
>>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> 
> ...
> 
> Reviewed-by: Julien Grall <jgrall@amazon.com>

And committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:01:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639603.997120 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67SX-0000d1-3n; Thu, 23 Nov 2023 11:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639603.997120; Thu, 23 Nov 2023 11:01: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 1r67SX-0000cu-0b; Thu, 23 Nov 2023 11:01:25 +0000
Received: by outflank-mailman (input) for mailman id 639603;
 Thu, 23 Nov 2023 11:01: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r67SV-0000co-RK
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:01:23 +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 a2c3d28d-89ef-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:01:21 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40b2a8c7ca9so5453525e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 03:01:21 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 c3-20020a5d4143000000b0032da49e18fasm1345773wrq.23.2023.11.23.03.01.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 03:01:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2c3d28d-89ef-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700737281; x=1701342081; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Q6yOGpr9VNzvCQ7TNZKN7MLKqYhKwCJDutMIuuxXPAs=;
        b=IYaYXdDtCanyDfiPBnj0M29f8PfQNmYE/UczFdC+IZjf3YL3bIPj22HDxnbiMKF8Jn
         3eoYbQ4bI2LWJ+PS7RcbaWDyWn9eCr8KuDrxV2+uvpUC6I1ATm/uwlpF65JCbHnvACOJ
         rUIgplrd8dsn1dhaqKFOjseK+Od4r167c7rzs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700737281; x=1701342081;
        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:subject:date:message-id:reply-to;
        bh=Q6yOGpr9VNzvCQ7TNZKN7MLKqYhKwCJDutMIuuxXPAs=;
        b=NPjQ5VyCwnowBFBNzjhwP/iSg4vpHfZGfs6R8h0x6G+zhyKdEwncMJIQnumI8bgmHn
         G3KqCJ+YcNcxQpanNPRV8RmBsPB8dard2k/AkO9pwv4OrjkWxpDASshkLaF/xabivYO8
         GT41Z72dWtNIRMHpOGCvEZECFGHTPkSO63SQArgkzuAjXb9WCTGsvsjzI6s8hKHdEgKg
         7uaG6QnuwMZsH0pEsx/xEWzrzbsT7otxQmP6jK54WWDFzEOoVwADWhsBLZ9B7xFyaYui
         paArmRIaYsYStL2UE58dEZZrn7tokQHMrVQ9qAsrv47EY+OeV6SFyf+uNj97Nzggyw8G
         uyyQ==
X-Gm-Message-State: AOJu0YxA75O3caniWGby/L/+pziK66lQW7gbBvpn4vepRTdIunkqDf+U
	HSlBhpiuDI6R3PXKQlmInn0DKw==
X-Google-Smtp-Source: AGHT+IFl3GlJa5Yiz5u9iEEHD6NNyV39g92zNr6aYCydmB/787BSgCXn8I5umQpn6/pMz1UQNXZqHg==
X-Received: by 2002:a05:600c:3516:b0:409:79df:7f9c with SMTP id h22-20020a05600c351600b0040979df7f9cmr2146439wmq.36.1700737281160;
        Thu, 23 Nov 2023 03:01:21 -0800 (PST)
Date: Thu, 23 Nov 2023 12:01:20 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH] x86/HVM: limit upcall vector related verbosity
Message-ID: <ZV8xAJjVH5hxz9VV@macbook>
References: <8efe0fed-8533-474c-9893-e6fcb38b93ca@suse.com>
 <ZV8tueH53FROk86e@macbook>
 <f52395ef-5995-46fa-8dc2-6b49b3d79ccc@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f52395ef-5995-46fa-8dc2-6b49b3d79ccc@suse.com>

On Thu, Nov 23, 2023 at 11:50:41AM +0100, Jan Beulich wrote:
> On 23.11.2023 11:47, Roger Pau Monné wrote:
> > On Thu, Nov 23, 2023 at 11:25:34AM +0100, Jan Beulich wrote:
> >> Avoid logging all-identical messages for every vCPU, but make sure to
> >> log unusual events like the vector differing from vCPU 0's (note that
> >> the respective condition also makes sure vCPU 0 itself will have the
> >> vector setting logged), or it changing after it was once set. (Arguably
> >> a downside is that some vCPU not having its vector set would no longer
> >> be recognizable from the logs. But I think that's tolerable as
> >> sufficiently unlikely outside of people actively fiddling with related
> >> code.)
> > 
> > Maybe we could consider printing unconditionally for debug builds?
> 
> Indeed I was considering that, but it's primarily debug builds where the
> unnecessary redundancy is annoying me. (After all I work with debug builds
> much more than with release ones.)

I did find the message useful when doing guest bringup in the past, in
order to know the guest was correctly setting up the vector callbacks.

I guess there are other ways to figure that out, or the message could
be added when people is doing bringup themselves.

I find the save/restore messages during domain create much more
unhelpful and annoying that this.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:07:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:07:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639609.997130 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67YI-0001jP-P7; Thu, 23 Nov 2023 11:07:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639609.997130; Thu, 23 Nov 2023 11:07: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 1r67YI-0001jI-M8; Thu, 23 Nov 2023 11:07:22 +0000
Received: by outflank-mailman (input) for mailman id 639609;
 Thu, 23 Nov 2023 11:07: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r67YG-0001jC-QI
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:07:20 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20600.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77f995b3-89f0-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 12:07:19 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8610.eurprd04.prod.outlook.com (2603:10a6:20b:425::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Thu, 23 Nov
 2023 11:07:16 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 11:07: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: 77f995b3-89f0-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZDCm/uHXX3hYpabhxbYzEemJnP5fi5mZR2REocAj0gakTyzYsdFMX1NKS1XXLi2wuqXWxrm5R8vuCq7BHMQ/T2N82cidKwz/pW6qr8x1Uvs8XeFO93Yj2RjFQOzBjEUxKDd76LCBDzCghk7lzSeBGjTGbUkZb0mht3Omst8vKWGUl9fHLC9aJ+YhmvkFLrC5HjNjWf1duYC3GajSULMfdaRmDBqKDwQ9BoR2fXCJXxxw9tA3Bw7JFrvYx0ai9JN/Np+cWT46Yt6aNQW0NVl8yffkFO34YP1t6CK7l6IoX/q7K/jITC08u09EqCEF/y8JXloB9d0AofZ1G/ZHAxDiwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M8iwCxK3LR8WRLW+mPdjDx9M57PjxGvGxR/mIVXrM/0=;
 b=dQVyidAaiI6vfqIQnkCjM7X5yL0SiXVZHprGBosbzy46+83vFBA+/8QOA0sSzudTPGxbnhGP/vVDH73pSba8Wm4EWMuJ+Ie5viPfiksf7SHt6NajvYA1kDGjCZxspqmxVHWhyeqoPz7f4wMS/U5PDuGTxv+ARGK4K9eHXNv/gSQUu3grvJ5UtlJ5vKtIC6s5zVNs6HVsjqQPktb7/WbCANEQUygGsrZaqtiBKSvW6vvKrqWdI96OpVqfdKLZqcgPE+7zWegCK39uL0fWMZtzHxNxgkqsbntxgu0mo+TRmIWF4hyVOEoDFl3XhivDkJClOz2IZd3A7m/xHakjmMCtLA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M8iwCxK3LR8WRLW+mPdjDx9M57PjxGvGxR/mIVXrM/0=;
 b=z1kxnxNgoB62Ww69qcTenw8aTrVfDGCocNHmiYajg7LAyEYM6fADjRcDwqBqRIOguSurpshGE0B5SMXvS3k02aAIUSZTvUAjNmWDGGEb6lmp39fY0f2FF2HTxabZP+rilzt4+JSrp34oGke0w9L8nPqFlOWmnPqrrG3v1j1xk2LZq4tYxyBlR4sIfnoyD5ZVEZ1EhV6jJmusn2dNmCsAupz93DOyYsrQ6LjOve0Bd6GKkfJiZnIBwmMQE8Q6nhlbZXIHZGlDbWlx1MjyOUWPv5pFZgbViDUXfrft743u7KEXcIVUQkBQ/a+Z9PN+5hCaXS8D/4pNqvPcvj98qu57NQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d3eb783c-5471-4857-83e8-499f65af8c53@suse.com>
Date: Thu, 23 Nov 2023 12:07:14 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/HVM: limit upcall vector related verbosity
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
References: <8efe0fed-8533-474c-9893-e6fcb38b93ca@suse.com>
 <ZV8tueH53FROk86e@macbook> <f52395ef-5995-46fa-8dc2-6b49b3d79ccc@suse.com>
 <ZV8xAJjVH5hxz9VV@macbook>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ZV8xAJjVH5hxz9VV@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0137.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:96::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8610:EE_
X-MS-Office365-Filtering-Correlation-Id: a48441d1-51b4-4e92-391a-08dbec145a6f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i+OOSVIVUK3Zy9Bn2/kKUW2KrpTTtwDU0OxQoILNZJfe1whvrg1wyAsNVVNiiFieUntrUvi1rTwCZ+kCzmDk+9X/OjpmT05M1ekrXNfJ0g5rVfH5tLXDOppdm0MZhWqpGV7ONLCYjdgeB1cW6kdn0TPlJ/NJBtHTBr0M2g7VoGvFmGI6iX6oiHf1UnIbUUT6UHBrpphAEDhgdDvMFxaR8Ex43q/UbNQH3B7aY4GHCziX96/Xf8nRW+KIKNGmz8b2P7npiL/DVFgdOO/0YQYzh+9zcNppFyl8T3fFvAWHWs2iPjds40gqnGTEJy5EncM6mfejN5LI6iknK5QhMpDwBsz4bSU+SpXsjCMb3+LZ7g3mMOYldEIP0awiWQNa60FM5CCEsBr3DzWoqBwAFB0QdwxrVA/9K18dbSIE49ylLea+0vSkBReg8Ot4kcqmB0aeMetAif8sEaN2txVIVSVm6Kzf9C6PNgNuaiZd2kGulgnBmoQlhf320yUR9OlnCPI5Ui/gsQ2DupJrjasKBXxduS7r16Hd8ijaxuVcD1O0jj2CZy9tphUpJiNOiUgc9fn4Mdbk36H5qa7+N3ciJ3KReYc+b4I5D37MmKYgyeT9Kc/bg0Dl0P1QXf8uX1EjuP63eA+/Lr4XwykJBqdVz49Hrg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(39860400002)(396003)(366004)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(26005)(2616005)(6512007)(53546011)(478600001)(83380400001)(6506007)(2906002)(5660300002)(41300700001)(6486002)(66946007)(66556008)(8936002)(316002)(6916009)(4326008)(66476007)(8676002)(54906003)(38100700002)(31696002)(86362001)(36756003)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?clFJcmpMa2NwRjJYRldnZnhnQk5ZRXY4bkxZVWNlTEh6dXVjbjNJdmxYYzVH?=
 =?utf-8?B?NEVlMDRYU25nTzRpS2VJZy92MDRLWUVRNTl2S0ZjNlRZODZrLzQrVzlXcDBQ?=
 =?utf-8?B?bDJwTUtialV6SGd6YThjN3ZRSmhVRTUzOHdqT3FUSXB3Qk1HVzMySzY2Wnhv?=
 =?utf-8?B?ZG9YT2t6L2syZTlBVlg2MEYxdDlnRVhuR1ozSkhIRFl1d2pYUU9kT0M2RkRD?=
 =?utf-8?B?d1lhQ3B4ZDMwRlNLdGVsTm1wOTdYc09nMHJCT0FLS2gwUk0yNi9xVys5UEFp?=
 =?utf-8?B?TUY5bDQwTmFLUmhWaExGbzRHM2UrOVBLem9PZExLZ0pNMEp5Zmh5K0ttVFlG?=
 =?utf-8?B?TklVdW1xYm9nM243a1RuS3kxdThZQmh3N04zSlRtb3Nlc0RYNHJiZkdDd2hD?=
 =?utf-8?B?dkRieHp1UUo3ZEVEQ1JIdXlvQTlYSFdYbUduZDBwNXNTOXR3dklPNEFaK2FJ?=
 =?utf-8?B?KzFRQ2dJb0VseGdEK0pmTmNVRlFFbldPdTM2dHIzZWJJbWs5UUV5cUd6a20x?=
 =?utf-8?B?UUgwUEdNOVJGMWlLMVdyNUdMOFVKaENraWY2M2dDbkN5dW9QZnh0M2dsbWNM?=
 =?utf-8?B?Ym1GVFdrWEN2OHVqQldyY3EyZndUUlNBR3JWQkxSUEd0bEpoWENRZEtMTTZE?=
 =?utf-8?B?bmpOeEE4S3gzaytSd2UwalhxbUwrWWkrc2gxNm1WcEtyVjFiNmlyZ1diNlFR?=
 =?utf-8?B?RUxnS1FtNTlFaXFzdndDREhjaXRqVWJUOXJ1NGNHYXRuWFB0MlIzOE9rTlEv?=
 =?utf-8?B?Rmt5Y2V2QXVCSWpWMEpRQ2xBWTFRaWFwVjJXSFZ5QjNjYmh5Szd2YWptYmVI?=
 =?utf-8?B?M0JwejZjOU5hN1dzWG5IMU5PYjZFc1FzV3ZCOGJKVEw4YlA5L0JOYWllcVhq?=
 =?utf-8?B?U05mQll1MGp1VDNZQ2trWUIybThMeTE5SGVQVm9Idmw0NGlYSXlDL0VXY3Zp?=
 =?utf-8?B?QjhpVVFiNHA4Y3ZWQVpweFNkNC9ZcjZuUTIrVU1VTTN0WUx6eVJYeEJBQ3VC?=
 =?utf-8?B?eUxiM2YyRVFTUWtpdHBlY2x0US83a1pDZFVRYWdwMEl2V1hWa1Z6RFdOLzl2?=
 =?utf-8?B?RTM0azBxdnJJRW8vVGthN2lDa2JUcFFFaHkxRnJDWDQzck5kZUQ1cVg4Wit4?=
 =?utf-8?B?YzZPYmkrc2hFc3hhRy96MVRWTzZVSmZORjNnUnVnc29nZEhCNlpELzZpVUF0?=
 =?utf-8?B?VmFDekxkMk1YbWp6azQ1MnhuMTVNaUY0OVZHNnVpS3FMZUJNYzN4Rks5Wnox?=
 =?utf-8?B?bVJPWFB3OG5IcXVPbCtiYStPbFdGQzhOWUZDMnBQQ283WFZlcGs0b0VIV1NV?=
 =?utf-8?B?eUY0anpXSjdxaW1iYlY4dVJMbjgzY3lkeWVOcHpYanFUc3p2YzgwQmpjUWZZ?=
 =?utf-8?B?VGlBSy9sUzJCVUptQXcvelhkMWVvTncvWEVtUjBMZG1nTTRZN0FaSENvcEZL?=
 =?utf-8?B?V1N2UzdJK2V2NnUwMWRtcUN2eVpIdU94bVpGUHFXNGszd25nMDRQMFRqaWg0?=
 =?utf-8?B?WWgvaUhUazE0dHdKY3NUZFJhL3hrUG5VN1pZWm50RWFPRFNkbmV2YVlmY2U1?=
 =?utf-8?B?SlE0eFFTYXZDcm80dHFVcUhodVBvSDFNRmJsUmUrWC9zc1pWYUI5VFRsaE5X?=
 =?utf-8?B?dEZrUjVXb0grRzdCTUF2YTBEdjJQM3IzcXJVR3VXNkgwQXpiMTdmc01nZGJJ?=
 =?utf-8?B?cXFKSElrQWwrNWxtaDhmUFNWZlpicUVNK0FWaEhOU3lPSHpBQi9PbGs3dHZS?=
 =?utf-8?B?Vlp6QlZyb0lhRFVvTTVyQmFoRk41V3AzaEh6WG1lVklqSGJtVk1kUkRTVFdE?=
 =?utf-8?B?akxjL1pOVTMrTlR4ZVoyYkl3U2tOMnYySnNHQnJXOENkbzM4SCthNTJHYml5?=
 =?utf-8?B?dlV6MlpGbnhjOVBHZTE3alkxTGNpTXkzcWZTV3ZqOEV6NlNLcCs1SUFFUjM4?=
 =?utf-8?B?a3dub1BlRFZPRDhPTmZOeTlrSGNUMFdHTHpRR0J6b0NuYUdLVkc5THRMZ0xQ?=
 =?utf-8?B?RjBMMFVhaUhmQXdFcXZJMW0xeHBBUnp4a29QTmdScm9LMUcrL0orUnp2TXpO?=
 =?utf-8?B?MUlGZ0pNOEpGcDlzTzFqWjFOYTZRQlV5UnArU2lYTkpYWHo2cUlydlNSenp3?=
 =?utf-8?Q?K26dCvUKfFHDzRZdYZO8DfdKS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a48441d1-51b4-4e92-391a-08dbec145a6f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 11:07:16.5089
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7KCecaeSIzNf8Gfiz6qzPgP4QNguQMSK8IvqCvImWh/o7YHAiYHQxs2kHipF85/jp48PxTX3of1nD326eHyJ0g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8610

On 23.11.2023 12:01, Roger Pau Monné wrote:
> On Thu, Nov 23, 2023 at 11:50:41AM +0100, Jan Beulich wrote:
>> On 23.11.2023 11:47, Roger Pau Monné wrote:
>>> On Thu, Nov 23, 2023 at 11:25:34AM +0100, Jan Beulich wrote:
>>>> Avoid logging all-identical messages for every vCPU, but make sure to
>>>> log unusual events like the vector differing from vCPU 0's (note that
>>>> the respective condition also makes sure vCPU 0 itself will have the
>>>> vector setting logged), or it changing after it was once set. (Arguably
>>>> a downside is that some vCPU not having its vector set would no longer
>>>> be recognizable from the logs. But I think that's tolerable as
>>>> sufficiently unlikely outside of people actively fiddling with related
>>>> code.)
>>>
>>> Maybe we could consider printing unconditionally for debug builds?
>>
>> Indeed I was considering that, but it's primarily debug builds where the
>> unnecessary redundancy is annoying me. (After all I work with debug builds
>> much more than with release ones.)
> 
> I did find the message useful when doing guest bringup in the past, in
> order to know the guest was correctly setting up the vector callbacks.
> 
> I guess there are other ways to figure that out, or the message could
> be added when people is doing bringup themselves.
> 
> I find the save/restore messages during domain create much more
> unhelpful and annoying that this.

Yeah, these too are ugly. But going through this save/restore cycle when
starting a guest is supposed to go away anyway, according to Andrew. Plus
the primary annoyance here is for PVH Dom0 with vCPU count not restricted,
and there's no save/restore involved there. The typical HVM guest, otoh,
wouldn't have as many vCPU-s ...

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:08:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:08:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639612.997140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67ZN-0002NC-7m; Thu, 23 Nov 2023 11:08:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639612.997140; Thu, 23 Nov 2023 11: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 1r67ZN-0002N5-3T; Thu, 23 Nov 2023 11:08:29 +0000
Received: by outflank-mailman (input) for mailman id 639612;
 Thu, 23 Nov 2023 11:08: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r67ZL-0002Mr-CN
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:08:27 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9f4a7067-89f0-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:08:25 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-4094301d505so4441275e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 03:08:25 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 r15-20020a05600c35cf00b0040a5e69482esm2293456wmq.11.2023.11.23.03.08.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 03:08:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f4a7067-89f0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700737705; x=1701342505; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1DN382QkUJ69D2CQoBtu2915ppA7PpRypiKZPj/jJy8=;
        b=m0lfvhn/joGtCf0QlE6Ws1ZT+w+vAGVs0BzPdnStCLeoOlgmG0LXP1o3KqccUYpc5g
         alkFyxxBtHY+iFUn1G2Y99bic3n1mxvqYe4NRbh7Cd2ohJKPg4VXKFVBxYge2+y3w+m/
         w8TWHpOfmXUvHQW9dR8/xQi1WDQUQ4pB+61u4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700737705; x=1701342505;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=1DN382QkUJ69D2CQoBtu2915ppA7PpRypiKZPj/jJy8=;
        b=m92NusJp6McTqDzlDEv/rBDv76zJQgwBgaJUS/oR74zfB1x9X293pK5nrzgUDufli9
         134Ecmdv37qlJ5FRKuXcZWVrQVuvnjxerkTE825Whyq8qQ3wP9eKUhlfElG3cXaz5o9z
         HHSFEPfS3q7zPcjZBHSSu63Bj9eJocGjIySvd/7enHPDy0jQlJ4MIcK0FV5TahADTt+Y
         vYuHFN1ZCeKgtw8Z6R669eLuVEmKsQDlvEL37ZMghSOjFHCvB5rLqCwbp+9+W2ROzX3C
         XZolkLi96W726rbITBW+F2o/jfLjM8DcK+2AfnUv30sPJK6vGrCavuDKS/Kzyi07CIL6
         IauQ==
X-Gm-Message-State: AOJu0Ywgbe0cZWoktxKWocWVaPPZIYyfRSpOsBMM+WhsRMOOhTIQbsSx
	oxGxKTnklcMlPtM9AbLMoLpDgQ==
X-Google-Smtp-Source: AGHT+IEqQv8namtQV/MQ6znq+Ief48oKRKuMymOwFN4Eo6YIoT0WF5It96xxV3Baq8oMXKLYx8BLAQ==
X-Received: by 2002:a05:600c:3144:b0:404:72fe:ed5c with SMTP id h4-20020a05600c314400b0040472feed5cmr3971790wmo.29.1700737704826;
        Thu, 23 Nov 2023 03:08:24 -0800 (PST)
Message-ID: <47ee1d58-0862-4e9b-9177-a213615864d6@citrix.com>
Date: Thu, 23 Nov 2023 11:08:24 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/HVM: limit upcall vector related verbosity
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Wei Liu <wl@xen.org>
References: <8efe0fed-8533-474c-9893-e6fcb38b93ca@suse.com>
 <ZV8tueH53FROk86e@macbook> <f52395ef-5995-46fa-8dc2-6b49b3d79ccc@suse.com>
 <ZV8xAJjVH5hxz9VV@macbook>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZV8xAJjVH5hxz9VV@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/11/2023 11:01 am, Roger Pau Monné wrote:
> On Thu, Nov 23, 2023 at 11:50:41AM +0100, Jan Beulich wrote:
>> On 23.11.2023 11:47, Roger Pau Monné wrote:
>>> On Thu, Nov 23, 2023 at 11:25:34AM +0100, Jan Beulich wrote:
>>>> Avoid logging all-identical messages for every vCPU, but make sure to
>>>> log unusual events like the vector differing from vCPU 0's (note that
>>>> the respective condition also makes sure vCPU 0 itself will have the
>>>> vector setting logged), or it changing after it was once set. (Arguably
>>>> a downside is that some vCPU not having its vector set would no longer
>>>> be recognizable from the logs. But I think that's tolerable as
>>>> sufficiently unlikely outside of people actively fiddling with related
>>>> code.)
>>> Maybe we could consider printing unconditionally for debug builds?
>> Indeed I was considering that, but it's primarily debug builds where the
>> unnecessary redundancy is annoying me. (After all I work with debug builds
>> much more than with release ones.)
> I did find the message useful when doing guest bringup in the past, in
> order to know the guest was correctly setting up the vector callbacks.
>
> I guess there are other ways to figure that out, or the message could
> be added when people is doing bringup themselves.
>
> I find the save/restore messages during domain create much more
> unhelpful and annoying that this.

+1  I delete them in every debugging branch...

As to this message, we ought to do something.

However, the reason it's on every vCPU is because on Windows, there's no
ability to request the same vector on every CPU, and it often does end
up slightly different.

I think the logic added is fine, although it could do with a small
comment explaining why.  Debugging of weird bugs by dmesg isn't helpful
anyway - things like "did it have a vector upcall" should be answered by
tools in dom0.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:23:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639617.997159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67oG-0001EJ-ME; Thu, 23 Nov 2023 11:23:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639617.997159; Thu, 23 Nov 2023 11:23: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 1r67oG-0001EC-JS; Thu, 23 Nov 2023 11:23:52 +0000
Received: by outflank-mailman (input) for mailman id 639617;
 Thu, 23 Nov 2023 11:23: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r67oF-0000zG-Bx
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:23:51 +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 c6375b7e-89f2-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:23:49 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-4083f61322fso5546985e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 03:23:49 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 o7-20020a05600c510700b0040b36ad5413sm1517387wms.46.2023.11.23.03.23.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 03:23:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6375b7e-89f2-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700738629; x=1701343429; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wo3ZoyDOsm6vfE7b7gB3JvtmVqfZ9c23rBT3rNX08wQ=;
        b=mDwidpTF5Bu4Qqn5Su56rxY/jjV5aKgqZb6Y0Pxf2rwEH8lww4IJqPQWFNxwnxIEcZ
         tZm+BiR7TUllRurQjB4RxswtcJXVo85TucsfudWxOhWsGtFxFt+45V0mqtMNag3Yry/q
         qwNS4xNqiG8vySrlUgoOgLOg/HyKvnOdhnpFM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700738629; x=1701343429;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wo3ZoyDOsm6vfE7b7gB3JvtmVqfZ9c23rBT3rNX08wQ=;
        b=swQeVllLt4Yoe4rkXu5lgoF0OhIzqVQ3tym9zby2W6H0ZyZbfe58oy/Lze7gID5AbC
         KLf87HkVKihQuqow9q+4Fgjh5Q0oSFyPNJUBfHQXBgVNaRlo15iYNon/jVGaTrR5fC2g
         tZqZrJvZ//xh72duGZluPXtaCTGeOuDC6cuRxh4CG2QhIxLY6onmrB/NlgZ4xyDPoRoh
         q+eP2quv8H4giUmMJcqkZg9QaXTTLe8L39yEx2A9Fy4gWruTj4SL3iOEJygMKh/AkUOd
         njChRXVQBC8QbKx+TEB6d0RyTCY64KPl0+6n8lTDCW0f0/Qnbn0JXN4HSt4KJkleUskf
         NwPw==
X-Gm-Message-State: AOJu0Yy2/XzAALZ+yUPy503SrtnGmX6Bp1C31ANVfch6KpIQwdRXM0rT
	ZI6uA0bXKrEtm1ctawNAXyH4dglmW8CRLkMfsgg=
X-Google-Smtp-Source: AGHT+IGf5xv8yJqt4BMhVCmerRVLtFKzG4hXzB4fOythjOMK4qB54YinEYQ8zZkHczq1xlv4H0okLA==
X-Received: by 2002:a05:600c:1d03:b0:408:3696:3d51 with SMTP id l3-20020a05600c1d0300b0040836963d51mr4147460wms.4.1700738628892;
        Thu, 23 Nov 2023 03:23:48 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 1/3] automation/alpine: add elfutils-dev and coreutils for livepatch-build-tools
Date: Thu, 23 Nov 2023 12:23:36 +0100
Message-ID: <20231123112338.14477-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231123112338.14477-1-roger.pau@citrix.com>
References: <20231123112338.14477-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In preparation for adding some livepatch-build-tools test update the Alpine
container to also install elfutils-dev, coreutils and GNU awk.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
I don't very much like to add coreutils and gawk, as it's also good to test
that we can build Xen with Busybox, but I also got tired of adjusting
livepatch-build-tools.
---
 automation/build/alpine/3.18.dockerfile | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/automation/build/alpine/3.18.dockerfile b/automation/build/alpine/3.18.dockerfile
index 4ae9cb5e9e30..fa6789347d87 100644
--- a/automation/build/alpine/3.18.dockerfile
+++ b/automation/build/alpine/3.18.dockerfile
@@ -47,3 +47,7 @@ RUN apk --no-cache add \
   libcap-ng-dev \
   ninja \
   pixman-dev \
+  # livepatch-tools deps
+  elfutils-dev \
+  coreutils \
+  gawk \
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:23:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639618.997169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67oH-0001TL-Uz; Thu, 23 Nov 2023 11:23:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639618.997169; Thu, 23 Nov 2023 11: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 1r67oH-0001TC-SI; Thu, 23 Nov 2023 11:23:53 +0000
Received: by outflank-mailman (input) for mailman id 639618;
 Thu, 23 Nov 2023 11:23: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r67oG-000197-9l
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:23:52 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c70a7c2c-89f2-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 12:23:51 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40907b82ab9so10358825e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 03:23:51 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 o7-20020a05600c510700b0040b36ad5413sm1517433wms.46.2023.11.23.03.23.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 03:23:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c70a7c2c-89f2-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700738630; x=1701343430; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=xiZONnswDwKe9ci9BXT6f1Pl5k4kKA0IcogCCNF7rGo=;
        b=soL4yu/rlcOvZTdj0068957+rwV79PvhfYL4lje7cm6yjpq8WZmsx1M3WcRBJjO0qp
         4vArxTkw7EIZ8d0+K+GJsi547Y7EtrumvH5zZSoVOa/oRlKaE3banPzEbnmewWkDAcGW
         lqDWZzvtuOoeNp2saQSX0Bx57ddsNPvfrpgeo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700738630; x=1701343430;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=xiZONnswDwKe9ci9BXT6f1Pl5k4kKA0IcogCCNF7rGo=;
        b=oqPbLshXr4JUWeR0Z4Y6lNmyBM8EhjDyKKhGF+nXvIP7Y/wdaQKB3tIEO+nbr+hWCE
         1smW4lu6ZC8EtAs6VfcMGh9EitjPfFI0Q4UarRE0Hb/dV818/lgrKrJsVFGwbPJi5abg
         0YVTSGJwLQrS65ODaQvWtJQgTkJG0jcn0qPOQIh3xy18aunmcF0aUwqU6dPeAZUb58OX
         kQfrcfms8Ca0hUm7yRoJKBnpRxQThMd5w+yAhpTvVmOlmV/tSJrGGaCnT8Hi/3Q3orvM
         fWy6fqS2aNnKiRvP4XoDDfD5QybmLweNI5XmEyelyvTZY8cFbxeddYUyvU10y/5Mr2gf
         Z3+g==
X-Gm-Message-State: AOJu0YzhljbV5QRkHUx2HVNGXSvKjfIrpwINvoGXgNuQhLUhTPHahk4H
	HISc4H6RUfRtk6wEPNLzFrZW40JKTHvzNhSBg5c=
X-Google-Smtp-Source: AGHT+IFg873uNCV2N+OzyDtfqrX8jTH0uhH3pweuWtn+iHtjCvPG+B22v0Vg2pBvxYLDPTBOIH4c0Q==
X-Received: by 2002:a05:600c:5124:b0:40b:2ad8:579f with SMTP id o36-20020a05600c512400b0040b2ad8579fmr2060739wms.3.1700738629858;
        Thu, 23 Nov 2023 03:23:49 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 2/3] livepatch: add a dummy hypercall for testing purposes
Date: Thu, 23 Nov 2023 12:23:37 +0100
Message-ID: <20231123112338.14477-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231123112338.14477-1-roger.pau@citrix.com>
References: <20231123112338.14477-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce a dummy XEN_SYSCTL_LIVEPATCH_TEST hypercall to be used in order to
test livepatch functionality.  The hypercall fills a value in the passed
structure, which is returned to the caller.

The xen-livepatch utility is expanded to allow calling that hypercall, and
printing the returned value on stdout.

Finally, add dummy patch that changes the returned value of the hypercall from
1 to 2.  Such patch can be used with livepatch-build-tools in order to generate
a livepatch payload, that when applied to the hypervisor change the printed
value of `xen-livepatch test`.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
The whole logic is very simple now.  I think it's enough to have a skeleton we
can later expand.

Unsure whether we should do some kind of test (with `patch -F0`) that the patch
still applies cleanly as part of Xen build.
---
 tools/include/xenctrl.h                |  3 +++
 tools/libs/ctrl/xc_misc.c              | 14 ++++++++++++++
 tools/misc/xen-livepatch.c             | 25 +++++++++++++++++++++++++
 xen/common/Makefile                    |  2 +-
 xen/common/livepatch-test.c            | 20 ++++++++++++++++++++
 xen/common/livepatch.c                 |  4 ++++
 xen/include/public/sysctl.h            |  7 +++++++
 xen/include/xen/livepatch.h            |  4 ++++
 xen/test/livepatch/patches/test1.patch | 13 +++++++++++++
 9 files changed, 91 insertions(+), 1 deletion(-)
 create mode 100644 xen/common/livepatch-test.c
 create mode 100644 xen/test/livepatch/patches/test1.patch

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e05422..83a00d4974dd 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2645,6 +2645,9 @@ int xc_livepatch_revert(xc_interface *xch, char *name, uint32_t timeout, uint32_
 int xc_livepatch_unload(xc_interface *xch, char *name, uint32_t timeout, uint32_t flags);
 int xc_livepatch_replace(xc_interface *xch, char *name, uint32_t timeout, uint32_t flags);
 
+/* Dummy hypercall to test livepatch functionality. */
+int xc_livepatch_test(xc_interface *xch, uint32_t *result);
+
 /*
  * Ensure cache coherency after memory modifications. A call to this function
  * is only required on ARM as the x86 architecture provides cache coherency
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 5ecdfa2c7934..0ca86a53d097 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -1021,6 +1021,20 @@ int xc_livepatch_replace(xc_interface *xch, char *name, uint32_t timeout, uint32
     return _xc_livepatch_action(xch, name, LIVEPATCH_ACTION_REPLACE, timeout, flags);
 }
 
+int xc_livepatch_test(xc_interface *xch, uint32_t *result)
+{
+    struct xen_sysctl sysctl = {
+        .cmd = XEN_SYSCTL_livepatch_op,
+        .u.livepatch.cmd = XEN_SYSCTL_LIVEPATCH_TEST,
+    };
+    int rc = do_sysctl(xch, &sysctl);
+
+    if ( !rc )
+        *result = sysctl.u.livepatch.u.test.result;
+
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c
index 5bf9d9a32b65..5f6fd20d8814 100644
--- a/tools/misc/xen-livepatch.c
+++ b/tools/misc/xen-livepatch.c
@@ -37,6 +37,7 @@ void show_help(void)
             "  replace <name>         apply <name> patch and revert all others.\n"
             "  unload <name>          unload name <name> patch.\n"
             "  load <file> [flags]    upload and apply <file> with name as the <file> name\n"
+            "  test                   print the result of the test hypercall (for testing purposes only)\n"
             "    Supported flags:\n"
             "      --nodeps           Disable inter-module buildid dependency check.\n"
             "                         Check only against hypervisor buildid.\n",
@@ -542,6 +543,29 @@ error:
     return rc;
 }
 
+static int test_func(int argc, char *argv[])
+{
+    int rc;
+    uint32_t result = 0;
+
+    if ( argc != 0 )
+    {
+        show_help();
+        return -1;
+    }
+
+    rc = xc_livepatch_test(xch, &result);
+    if ( rc )
+    {
+        fprintf(stderr, "test operation failed: %s\n", strerror(errno));
+        return -1;
+    }
+
+    printf("%u\n", result);
+
+    return 0;
+}
+
 /*
  * These are also functions in action_options that are called in case
  * none of the ones in main_options match.
@@ -554,6 +578,7 @@ struct {
     { "list", list_func },
     { "upload", upload_func },
     { "load", load_func },
+    { "test", test_func },
 };
 
 int main(int argc, char *argv[])
diff --git a/xen/common/Makefile b/xen/common/Makefile
index 69d6aa626c7f..ab073d41f1d2 100644
--- a/xen/common/Makefile
+++ b/xen/common/Makefile
@@ -23,7 +23,7 @@ obj-y += kernel.o
 obj-y += keyhandler.o
 obj-$(CONFIG_KEXEC) += kexec.o
 obj-$(CONFIG_KEXEC) += kimage.o
-obj-$(CONFIG_LIVEPATCH) += livepatch.o livepatch_elf.o
+obj-$(CONFIG_LIVEPATCH) += livepatch.o livepatch_elf.o livepatch-test.o
 obj-$(CONFIG_MEM_ACCESS) += mem_access.o
 obj-y += memory.o
 obj-y += multicall.o
diff --git a/xen/common/livepatch-test.c b/xen/common/livepatch-test.c
new file mode 100644
index 000000000000..05b638b2ac67
--- /dev/null
+++ b/xen/common/livepatch-test.c
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+/* Dummy file for testing livepatch functionality. */
+#include <xen/livepatch.h>
+
+int livepatch_test(struct xen_sysctl_livepatch_test *test)
+{
+    test->result = 1;
+    return 0;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 1209fea2566c..e8894db1cc93 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -2116,6 +2116,10 @@ int livepatch_op(struct xen_sysctl_livepatch_op *livepatch)
         rc = livepatch_action(&livepatch->u.action);
         break;
 
+    case XEN_SYSCTL_LIVEPATCH_TEST:
+        rc = livepatch_test(&livepatch->u.test);
+        break;
+
     default:
         rc = -EOPNOTSUPP;
         break;
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 9b19679caeb1..9c13a7fdb22c 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1137,6 +1137,12 @@ struct xen_sysctl_livepatch_action {
     uint32_t pad;                           /* IN: Always zero. */
 };
 
+/* Dummy hypercall for testing live patches. */
+#define XEN_SYSCTL_LIVEPATCH_TEST 4
+struct xen_sysctl_livepatch_test {
+    uint32_t result;                        /* OUT: dummy result for testing. */
+};
+
 struct xen_sysctl_livepatch_op {
     uint32_t cmd;                           /* IN: XEN_SYSCTL_LIVEPATCH_*. */
     uint32_t pad;                           /* IN: Always zero. */
@@ -1145,6 +1151,7 @@ struct xen_sysctl_livepatch_op {
         struct xen_sysctl_livepatch_list list;
         struct xen_sysctl_livepatch_get get;
         struct xen_sysctl_livepatch_action action;
+        struct xen_sysctl_livepatch_test test;
     } u;
 };
 
diff --git a/xen/include/xen/livepatch.h b/xen/include/xen/livepatch.h
index df339a134e40..60d11d037dfb 100644
--- a/xen/include/xen/livepatch.h
+++ b/xen/include/xen/livepatch.h
@@ -11,6 +11,8 @@ struct livepatch_elf_sec;
 struct livepatch_elf_sym;
 struct xen_sysctl_livepatch_op;
 
+#include <xen/types.h> /* For elfstructs.h */
+
 #include <xen/elfstructs.h>
 #include <xen/errno.h> /* For -ENOSYS or -EOVERFLOW */
 
@@ -165,6 +167,8 @@ static inline void common_livepatch_revert(const struct livepatch_func *func,
     arch_livepatch_revert(func, state);
     state->applied = LIVEPATCH_FUNC_NOT_APPLIED;
 }
+
+int livepatch_test(struct xen_sysctl_livepatch_test *test);
 #else
 
 /*
diff --git a/xen/test/livepatch/patches/test1.patch b/xen/test/livepatch/patches/test1.patch
new file mode 100644
index 000000000000..c07d697cc8de
--- /dev/null
+++ b/xen/test/livepatch/patches/test1.patch
@@ -0,0 +1,13 @@
+diff --git a/xen/common/livepatch-test.c b/xen/common/livepatch-test.c
+index 05b638b2ac..876173ab6f 100644
+--- a/xen/common/livepatch-test.c
++++ b/xen/common/livepatch-test.c
+@@ -5,7 +5,7 @@
+ 
+ int livepatch_test(struct xen_sysctl_livepatch_test *test)
+ {
+-    test->result = 1;
++    test->result = 2;
+     return 0;
+ }
+ 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:23:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639619.997175 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67oI-0001Vl-7i; Thu, 23 Nov 2023 11:23:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639619.997175; Thu, 23 Nov 2023 11:23: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 1r67oI-0001V4-3B; Thu, 23 Nov 2023 11:23:54 +0000
Received: by outflank-mailman (input) for mailman id 639619;
 Thu, 23 Nov 2023 11:23: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r67oG-000197-Uw
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:23:52 +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 c77d390d-89f2-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 12:23:51 +0100 (CET)
Received: by mail-wr1-x433.google.com with SMTP id
 ffacd0b85a97d-32f737deedfso415805f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 03:23:51 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 f6-20020adfc986000000b0032d829e10c0sm1381164wrh.28.2023.11.23.03.23.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 03:23:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c77d390d-89f2-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700738631; x=1701343431; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wLtx0ZHwxub7aYGGcUOFcd7W8DhSc9jxNrdpqnW0014=;
        b=YYtCi7hz0mHzHR0iLMcYiCwWvhe/mjIjNYY5cYdS7rowKTED8btPPpH8CGEPoj3f+o
         adbCDjgNbc5PIlEJIDRD+n4V1l6I6oTt5qJ0cCO59vtiCDLButFzJVqvImhe1dCKzFEW
         cQc3LXcBkUX8yDRcJQ+gKabjWTgn8Qvhuzzz8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700738631; x=1701343431;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wLtx0ZHwxub7aYGGcUOFcd7W8DhSc9jxNrdpqnW0014=;
        b=SEgVhYx5/F3g+GE8b+B0xq8FscY8NpAxWuvTUpmcMT36QRgTVnf1eQIm0CJ5MsMsB8
         wzLKU6b9j3FrNrPTUmwmrb28GnOa8yYtPA0Z4zEOY3UJyA+ZMVOF6tZQzF8I/GoZuDl9
         3DfnDAic+bn6R4+lOB1J4bm364ucelDof+IdWewttRmsrneuuQLDrHOjbX5qbQfre9oO
         H57fmNohdRzjCHkbrUt8eAB/0abN0ews9EKWNxb5C6buDzAbsPG7/3mAPeUw+mTA/foW
         R+u4RL7FalciKn/0FOItKgHOtQFFb/Pp44xQn7MMGyzFtMLdaNoDgQUYsP+tN3cYUwoS
         wRQg==
X-Gm-Message-State: AOJu0YyTdCb9AjIgsVXTBkLUwsUznM6q3Np6OATA2EwHgNMViS9mPxSB
	exdgw6Wq+Bh3+u+ZESue2tUgasw7qMkh/bqgQ54=
X-Google-Smtp-Source: AGHT+IFTR9Y8VTBtZ4QDarawvzfpL5UEA4L3ZvECk1rwwNNM7ZbT9gStWQkkRtg7I7inMcGK8Z8I+w==
X-Received: by 2002:a5d:5609:0:b0:32f:b407:5b77 with SMTP id l9-20020a5d5609000000b0032fb4075b77mr2235018wrv.64.1700738631053;
        Thu, 23 Nov 2023 03:23:51 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH 3/3] automation: add x86-64 livepatching test
Date: Thu, 23 Nov 2023 12:23:38 +0100
Message-ID: <20231123112338.14477-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231123112338.14477-1-roger.pau@citrix.com>
References: <20231123112338.14477-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce a new gitlab tests for livepatching, using livepatch-build-tools,
which better reflects how downstreams build live patches rather than the
in-tree tests.

The tests applies the dummy in-tree patch example, checks that the patch is
applied correctly and then reverts and unloads it.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 automation/gitlab-ci/build.yaml               |  8 ++
 automation/gitlab-ci/test.yaml                |  8 ++
 automation/scripts/build                      | 13 +++
 .../scripts/qemu-alpine-x86_64-livepatch.sh   | 79 +++++++++++++++++++
 4 files changed, 108 insertions(+)
 create mode 100755 automation/scripts/qemu-alpine-x86_64-livepatch.sh

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 32af30ccedc9..22026df51b87 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -358,6 +358,14 @@ alpine-3.18-gcc-debug:
   variables:
     CONTAINER: alpine:3.18
 
+alpine-3.18-gcc-livepatch:
+  extends: .gcc-x86-64-build
+  variables:
+    CONTAINER: alpine:3.18
+    LIVEPATCH: y
+    EXTRA_XEN_CONFIG: |
+      CONFIG_LIVEPATCH=y
+
 debian-stretch-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 6aabdb9d156f..58a90be5ed0e 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -459,3 +459,11 @@ qemu-smoke-ppc64le-powernv9-gcc:
   needs:
     - qemu-system-ppc64-8.1.0-ppc64-export
     - debian-bullseye-gcc-ppc64le-debug
+
+qemu-alpine-x86_64-gcc-livepatch:
+  extends: .qemu-x86-64
+  script:
+    - ./automation/scripts/qemu-alpine-x86_64-livepatch.sh 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-livepatch
diff --git a/automation/scripts/build b/automation/scripts/build
index b3c71fb6fb60..7ae735fc193e 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -103,3 +103,16 @@ else
     cp -r dist binaries/
     if [[ -f xen/xen ]] ; then cp xen/xen binaries/xen; fi
 fi
+
+if [[ "$LIVEPATCH" == "y" ]]; then
+    # Build a test livepatch using livepatch-build-tools.
+
+    BUILDID=$(readelf -Wn xen/xen-syms | sed -n -e 's/^.*Build ID: //p')
+
+    git clone https://xenbits.xen.org/git-http/livepatch-build-tools.git
+    cd livepatch-build-tools
+    make
+    ./livepatch-build -s ../ -p ../xen/test/livepatch/patches/test1.patch \
+        -o out -c ../xen/.config --depends $BUILDID --xen-depends $BUILDID
+    cp out/test1.livepatch ../binaries/test1.livepatch
+fi
diff --git a/automation/scripts/qemu-alpine-x86_64-livepatch.sh b/automation/scripts/qemu-alpine-x86_64-livepatch.sh
new file mode 100755
index 000000000000..9b27a01b07f0
--- /dev/null
+++ b/automation/scripts/qemu-alpine-x86_64-livepatch.sh
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+set -ex
+
+cd binaries
+# initrd.tar.gz is Dom0 rootfs
+mkdir -p rootfs
+cd rootfs
+tar xvzf ../initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../dist/install/* .
+cp ../test1.livepatch ./root/
+cat << "EOF" >> etc/local.d/xen.start
+#!/bin/bash
+
+set -ex
+
+trap poweroff EXIT
+
+export LD_LIBRARY_PATH=/usr/local/lib
+
+result=`xen-livepatch test`
+if [ "$result" != "1" ]; then
+    echo "FAIL"
+    exit 1
+fi
+
+xen-livepatch load /root/test1.livepatch
+
+result=`xen-livepatch test`
+if [ "$result" != "2" ]; then
+    echo "FAIL"
+    exit 1
+fi
+
+xen-livepatch revert test1
+xen-livepatch unload test1
+
+result=`xen-livepatch test`
+if [ "$result" != "1" ]; then
+    echo "FAIL"
+    exit 1
+fi
+
+echo "SUCCESS"
+EOF
+chmod +x etc/local.d/xen.start
+echo "rc_verbose=yes" >> etc/rc.conf
+# rebuild Dom0 rootfs
+find . |cpio -H newc -o|gzip > ../xen-rootfs.cpio.gz
+cd ../..
+
+cat >> binaries/pxelinux.0 << EOF
+#!ipxe
+
+kernel xen console=com1 console_timestamps=boot
+module bzImage console=hvc0
+module xen-rootfs.cpio.gz
+boot
+EOF
+
+# Run the test
+rm -f smoke.serial
+timeout -k 1 360 \
+qemu-system-x86_64 \
+    -cpu qemu64,+svm \
+    -m 2G -smp 2 \
+    -monitor none -serial stdio \
+    -nographic \
+    -device virtio-net-pci,netdev=n0 \
+    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& \
+        tee smoke.serial | sed 's/\r//'
+
+grep -q "SUCCESS" smoke.serial
+exit 0
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:23:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:23:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639616.997149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67oF-0000zU-EY; Thu, 23 Nov 2023 11:23:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639616.997149; Thu, 23 Nov 2023 11: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 1r67oF-0000zM-C1; Thu, 23 Nov 2023 11:23:51 +0000
Received: by outflank-mailman (input) for mailman id 639616;
 Thu, 23 Nov 2023 11:23: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r67oE-0000zG-M8
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:23:50 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c59b75ad-89f2-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:23:48 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5079f3f3d7aso1038439e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 03:23:48 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 jg28-20020a05600ca01c00b004063cd8105csm2384791wmb.22.2023.11.23.03.23.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 03:23:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c59b75ad-89f2-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700738628; x=1701343428; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=WPhgdKiA0Qnpii00cZhFiVFGp+c5vexH8n0jcy3WPms=;
        b=ol4MhUFQlOoO81EFgT56hqb/B3BVxNKFjUtNvaPsMfzOigGxw7u8y7zTccd+f7ToV9
         k1VrLjUAgTeCa/hV7n0Y4NOjl9sSPmjqb6eXncJR9hJp6ebCzx643MiuPBUcXqfyPgGa
         KvFNOeq8QVOlCGpGJBQCU1IQgL/09wV+MvgLY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700738628; x=1701343428;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=WPhgdKiA0Qnpii00cZhFiVFGp+c5vexH8n0jcy3WPms=;
        b=t7EYWE8uxlcXUhVFB8AeP8uIj9ZZuIR2Z26xIxY/oyiQqW7ncK2n3Ogitz/bVgYFc3
         tAAFPWKAWIU3K2nklcMqdZJ3zzO56S1iUsMei0Z0k+CVFZNB554Yma5b+ma/i2dR4KJ3
         Ge8EvEu4riZDVPkyoCdthTuH0lzuwZKJYlicWu/XtHgESeozqh37SoLpDrKYKdAQDUUT
         PvKJpIHP5M2nW1CnIzQ+l2I2UGcfrq3HJiwenSTRsG2x4DZXpDTOD1S/PhpXErOQkHqn
         lrmZyYkf9PydipuDynUyitzZnp0OV4SVecrIze8z2iasLGalL7DSoaleQGkQZBb+Ogls
         DBvQ==
X-Gm-Message-State: AOJu0YydLoKqE2UbsumPRKha6kgLWet/8fO3MFayVrs2gnJROQFhY/Zl
	EOQtC5lhVjm1ChzCbBKauN/rJN1UaLqC7HjTb7Y=
X-Google-Smtp-Source: AGHT+IFPovOILCn5j/2wGj/3p8Nuc8mE6/91x/WVtzz045HcSCft30cztSVEFSgjzZGlS/5kH+OjIw==
X-Received: by 2002:a2e:9582:0:b0:2c5:f8e:35cf with SMTP id w2-20020a2e9582000000b002c50f8e35cfmr3736200ljh.20.1700738627868;
        Thu, 23 Nov 2023 03:23:47 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.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>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 0/3] automation: add livepatch testing
Date: Thu, 23 Nov 2023 12:23:35 +0100
Message-ID: <20231123112338.14477-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The following series attempts to introduce some basic livepatch testing
in the gitlab CI loop.  Such testing will be more similar to what
downstreams use, as the patch payload will be built using
livepatch-build-tools.

A sample gitlab run can be found at:

https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1082636267

The series introduces a new build and test steps.

Thanks, Roger.

Roger Pau Monne (3):
  automation/alpine: add elfutils-dev and coreutils for
    livepatch-build-tools
  livepatch: add a dummy hypercall for testing purposes
  automation: add x86-64 livepatching test

 automation/build/alpine/3.18.dockerfile       |  4 +
 automation/gitlab-ci/build.yaml               |  8 ++
 automation/gitlab-ci/test.yaml                |  8 ++
 automation/scripts/build                      | 13 +++
 .../scripts/qemu-alpine-x86_64-livepatch.sh   | 79 +++++++++++++++++++
 tools/include/xenctrl.h                       |  3 +
 tools/libs/ctrl/xc_misc.c                     | 14 ++++
 tools/misc/xen-livepatch.c                    | 25 ++++++
 xen/common/Makefile                           |  2 +-
 xen/common/livepatch-test.c                   | 20 +++++
 xen/common/livepatch.c                        |  4 +
 xen/include/public/sysctl.h                   |  7 ++
 xen/include/xen/livepatch.h                   |  4 +
 xen/test/livepatch/patches/test1.patch        | 13 +++
 14 files changed, 203 insertions(+), 1 deletion(-)
 create mode 100755 automation/scripts/qemu-alpine-x86_64-livepatch.sh
 create mode 100644 xen/common/livepatch-test.c
 create mode 100644 xen/test/livepatch/patches/test1.patch

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:30:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:30:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639640.997189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r67ur-0004yD-3q; Thu, 23 Nov 2023 11:30:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639640.997189; Thu, 23 Nov 2023 11: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 1r67ur-0004y6-1F; Thu, 23 Nov 2023 11:30:41 +0000
Received: by outflank-mailman (input) for mailman id 639640;
 Thu, 23 Nov 2023 11: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r67uq-0004y0-96
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:30:40 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b9ada8a5-89f3-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:30:38 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id C63064EE073C;
 Thu, 23 Nov 2023 12:30:37 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9ada8a5-89f3-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Thu, 23 Nov 2023 12:30:37 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
Message-ID: <6d89d2e3cb2ac28f7f40285f213c74ef@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

I guess this one as well should remain as is. Can you confirm?

void asmlinkage __stdcall cmdline_parse_early(const char *cmdline,
                                               early_boot_opts_t *ebo)

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:36:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:36:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639645.997200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r680s-00086e-PP; Thu, 23 Nov 2023 11:36:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639645.997200; Thu, 23 Nov 2023 11:36: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 1r680s-00086X-ML; Thu, 23 Nov 2023 11:36:54 +0000
Received: by outflank-mailman (input) for mailman id 639645;
 Thu, 23 Nov 2023 11:36: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r680s-00086R-1f
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:36:54 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2059.outbound.protection.outlook.com [40.107.7.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9918ee26-89f4-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 12:36:53 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7948.eurprd04.prod.outlook.com (2603:10a6:10:1e6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Thu, 23 Nov
 2023 11:36:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 11: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: 9918ee26-89f4-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lnYrdb3kCka/k75zDVu1lzmF3lD540sTnZXvrxNqRHYUcvMVsuJ+Hg8XEZR89quTaQPAmCoFfFavBS1cB3z3PZtyM5CgBAGllhiVi/37FLQ2tHVbRBoi+jJlyiacxWDqOyjmQmFNu2CwB+0HeIhZ2kMMfPhPPfm0mYzIfORzugTK5NQKWzBOuZnkxGce8Ci5IxWotKXEMJLTH67FPRVWV6juCXTPVnuLJylzm3mWF9CACB/LLChq2OgLinA7qWPxrH+rTnK6l71Cdk1nz3LSe8kpr2YxsBmX0dC/CcmkKuqwufhKOIwCoRQJZW7sFEeV+bQSoi2e4X0tUWJDBANv1Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tUBCnqGw7BivzaC44tdWLx7rcwqPa/41nUuRiv5Q4Eo=;
 b=GrGIkSpENT7pmqpXgKjp1NHfrPYcUG8a+ipxmq2WgKAMCbdLElASFMkn9bw1+KLQmLmr9y2r9yoXnEs52+z/nH++GgLC/ANBBFx1uwCmWiqMsNut84xs1qE22RQWTlw+xXbRROE5wkktOQvvJM1tH99Pp5WaFI9o2t6eI4TfMNrkRLZAM0yk72OIx3rGlZHZ5PC5TS31pEm9XT8ocs+Z2509bB7CAbP9nyyyMy5v9skTZD0rND3f4RI2OOVlH0KUu+FYPNI+1ISFCJ46PoCAYMJa53/2SGoxfDaYo+yGK1jJVMoAcRT++/YxdS0/hY+YwVuL7TrCFr3SyLX88cjWkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tUBCnqGw7BivzaC44tdWLx7rcwqPa/41nUuRiv5Q4Eo=;
 b=5O1z4eeeSG+bTN6Csoz+JtC7eq6/ENWJVW2T2NlbP/aO5KvqMBKP3aHDQ4ZWUHg5b/Qpdp+2BFMS3CG+1/XudrS28yitquqnvGNB8m/6f137r7Pw4VlFbxzeCgpcU4f703nCA7W0iYLqzsVhq/q2fOaSzdJtHA6f/eWHdknGkR5d+K7RdLqoIU3oe5iNgsMQXBpcNVZLAUwzQf/Lruakd+f7SJx5Ph8Ziv3g3mWtZE+BRjcBv+EKXF4/0Q3O1FeHtoDS3w9YDWhTv6W5MqUXWW0D0NXSi9ISTHZOkl4FUnREu6kEUOGvLxXxKRqxFeCRiUT1d3V1j0EkrDxDJejo8g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <182670b3-39d8-4d32-a22e-2fda9857c207@suse.com>
Date: Thu, 23 Nov 2023 12:36:19 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>,
 Wei Liu <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
 <6d89d2e3cb2ac28f7f40285f213c74ef@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6d89d2e3cb2ac28f7f40285f213c74ef@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f2::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7948:EE_
X-MS-Office365-Filtering-Correlation-Id: 95c69f62-0168-4b33-6fac-08dbec186a7f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PlbcDQxrltuxAFUMA/dRrllRHpgvHcdIVymz23Wf0xKD4LFO9xpQAcK9oJwgtBU2mJuxg7nJ/v2u69W8HUF9okwJtCu0Kmlb9Oe1/O/zcaosvY9K5r+6L3NsF+5Pjpg+u2b/0pdzHw8EKNOrTQxwK4zYbYMtyt0sDogx14mIec4vkyBSFelyxDjogbMvbsAFyg27FO7kIuPkFFG0pGiDrTISIAHCHKo3hTsVFG3mDE8Tvgd8k59BUlG6zOo/JlHYwzBqvgCRsfdqlMI1earNwOvFG8EgODARLnscG/okCIh9KBriV/RwZdMIuNWt1ME2SRAjuEeXWM9QFZezLL740UdG7kpTRh748isq9lF+zz0JlssrEkXstUNeDoIPmqFjDhC7YEkrKGlMpj+Vz4el9wzJ2+sJgZNBXGFED2cynFvdEiVM6kyCcgDLGO2PTvMsjuE7QJVXg93CcjfTJ/6hR/95T3eTdaZ675o/hD4IPf7zVpskeyS3JJJkkAaCsJ0DCH/S43jqHUm2Rq2BMHofqPY4R2u7jeYrNEe2Fq/FYmJXiY/1qBsVBxq7Nq8qtVjwrZDuA3FPWjXDgYb2E43dNyQFBhiQlUlkTPZ5lyw0g9PCSCsvJ8788H6t7dYXUXIS2vXw7B0sVYqy1oRGNFx9qw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(396003)(39860400002)(376002)(346002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(36756003)(558084003)(83380400001)(54906003)(8936002)(4326008)(8676002)(316002)(26005)(66556008)(66476007)(6916009)(66946007)(7416002)(5660300002)(6512007)(478600001)(53546011)(6506007)(2616005)(6486002)(31686004)(86362001)(41300700001)(31696002)(38100700002)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZEhNbk9tWHgzVnZwTkkrYmNITlIyZmxDNTl0bHlSL2pnUkJMV3l3TTYydHkw?=
 =?utf-8?B?dEo2bHA4RHU5aGR5UjhBVDZYT1dSQlJXOUZCSDZGTFl0amQ5NFcwaVlCdXI3?=
 =?utf-8?B?WUVmVWVoYjkvUklublZiMEF0WEpCRzFCTkc2TkVkMnlUaTUyaUpLanZNZGFX?=
 =?utf-8?B?cERLc21GVjRmMlV1dE9DRXF5QndpRFp0a01CZzlMdHFXT2toMGVsaG84Tkwv?=
 =?utf-8?B?bTR3OFFHVlBua2N4YXpMVkp2UG1zSHhZMFZKeHZxMXg5VzlVdFNWSXJTR1JD?=
 =?utf-8?B?eFkxeGxJOGk0S0hGOHp0V05VVnBQOUdWVHFNcHpGNGg5bUo2dGF0bGtNWXJw?=
 =?utf-8?B?cmpBeHZzaFdmTGlCbjFVNklPbkl5WEpjZDQ2UUR4K1BOcWdxVjVqWTZQWlpw?=
 =?utf-8?B?K0Y1WFIyb08ybDVNYWtqVk03TzA1OXJUM2dTU0YxMnRiSWNaQnBpd0RtV1Nw?=
 =?utf-8?B?RDdiT0FyYWdRaTMyTVNUcTA4aDVEMGl6aEpFcXZPeENOYTJMZFdMREU3TTJs?=
 =?utf-8?B?Z2RmTFI2dmVRejAzcDl5cVV0WUlKSzZzODdIaUJFMHFYRjhubmdNSllDNHdv?=
 =?utf-8?B?Zy9RS04wcjFkTXFINUJMeHdPU2t0ZzI2Q3ZMWUhseS9QeDgxSGhrK3dlUWt4?=
 =?utf-8?B?NVR6bWJhRTJSeHpZSzNxKzFWNXUyNHo4NWhMU2NPWWRJenFReWFaMWdEUGpj?=
 =?utf-8?B?c1lwWEdCaDRvbXVBM3dzWE43TFJFSFcvR2JMVmpLd01MR3BVWTk5S25nMkxk?=
 =?utf-8?B?TzRwSmxGWXBQV3dSYXIxb1c1NThsUDVyczhXR1h0RzRuczVIM1AxWHpyWjVF?=
 =?utf-8?B?SGw3VkxWSElCUlVSRjluYTRDM3RaTkdWeEFlckEyN1paM1d1ZnZCWVlPNERi?=
 =?utf-8?B?Y2pBelU1L0hnOUxLOFhqRlFLUmpsaU5WWk1zdHdwZW9WZE0rTTZBdWJRYzBv?=
 =?utf-8?B?UWN0aExHeVFQNGlkZThOM1g5K3lWZ25WaDlEdjNUYlNLVlpVZVFFcGpWeGFp?=
 =?utf-8?B?RDd4d0ZqV1I2c2JZTHZXb21RZE4wVFMwVEEyNkhJTE5sUXpKMENLOXN3TnBz?=
 =?utf-8?B?Z0dIQllPdjlqemtzT1NJbWtWTExDc1V2Zjl3TENNam9tR0I5NnIyc25CK1NJ?=
 =?utf-8?B?bnFuR2tRZGRmT0R3R1BYOEdLVVMwa2NFL1dVOHlCR1RFTFZoaFhvdld2MUxI?=
 =?utf-8?B?bXVOWDdDajloVjI0b3g2R01weEc5MzRJNnZibWhlaW1sZEdZWVlZbEVsM2N4?=
 =?utf-8?B?Z3JUS1N6TTZRREYwQlVlTWgzVlBSdmV3UjNWMytWcDBpQ3BibG9PaUhEWHhl?=
 =?utf-8?B?N0w5bFBBcWdod0ZLUDNYZEFrNVBhTWhnUWhHU3hZVHpjcC91RTRiU2FCWkcr?=
 =?utf-8?B?UzZZdUdmeno4NjMwTm85VWdtVFJjOGtDc1ZOeUxHcmcwQXNMYXYrMkttMDU2?=
 =?utf-8?B?Q25SdGJIV0x2TkcxZkpyL3ZZeldsUWVXRHdnK1VYTHdTcXQ2Umo4K2xlQWh4?=
 =?utf-8?B?V3ZmekhpNGtsWER2cnFxRWl5cm9iUmRWUmtUV29MTkdzVlc2bk9xN3laQlpz?=
 =?utf-8?B?QXhIRTU0RjlwanlzL25NT0Eydzh6ekhNVFo0MS94elhvbFYvUk9LR3NjbnJG?=
 =?utf-8?B?MnE0MXVKSE44aGlwNDJDUzdxSW5XWkRwS2t5VDNrZGFjZjdQRVFjQURHMTRq?=
 =?utf-8?B?OW5NM1dmTGVIMXFvV3dwb2RVd2l6OXRmYnVjNlhlcytKZ3d6YW1mOFNra1Rt?=
 =?utf-8?B?Z2YxUHF1cEtES3ptWFhBL1cwUWZHbXc0T05GcGo2R2Q3MDJIWWt4b3pwc2la?=
 =?utf-8?B?aFQ3RGovR0hldVEyK3dZOExpWUVLNkp0ZCtYcU9YbVFVUWFjRWR5eURwZkQz?=
 =?utf-8?B?OFptck4zU0E4a0dqWWI5Y2ZqdEtDRHViM29YUmJBajd4NVVLSkhjekZJRkRz?=
 =?utf-8?B?YS84aHlFRytLbTZxTFEzZGExRHlZc3VpTGpNTG5sVlRJOTNOQk4xQWJBSVZM?=
 =?utf-8?B?aEFlQ1FEWWFRVThsTlhzNmRyclIzeFBDdFk3Q1UwL3V2QW80NjFhMXVWZGVy?=
 =?utf-8?B?cGZtdTc5NHlRczNyY1ZXbUdmakpFT1lXMWNWRkpjRnR0akgzS1ZiOWw0VVNC?=
 =?utf-8?Q?GjwIRQ1vRdNCtlUv9ZjKPktC+?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 95c69f62-0168-4b33-6fac-08dbec186a7f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 11:36:21.4245
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hdDg6FbMU+uolnHVGr3mnOj53UTefRuurlpfWXmyCzUbYKuKFGsLn5oU496RpSI2JrmwGZgsfniy2Om9A/8OCQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7948

On 23.11.2023 12:30, Nicola Vetrini wrote:
> I guess this one as well should remain as is. Can you confirm?
> 
> void asmlinkage __stdcall cmdline_parse_early(const char *cmdline,
>                                                early_boot_opts_t *ebo)
> 

Indeed, I simply overlooked it.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:37:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639647.997209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r681O-0000GE-2C; Thu, 23 Nov 2023 11:37:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639647.997209; Thu, 23 Nov 2023 11: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 1r681N-0000G7-Vj; Thu, 23 Nov 2023 11:37:25 +0000
Received: by outflank-mailman (input) for mailman id 639647;
 Thu, 23 Nov 2023 11:37: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=UBXZ=HE=citrix.com=prvs=684edd595=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r681M-0000Ap-Ue
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:37:24 +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 a9d7ff4e-89f4-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:37:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9d7ff4e-89f4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700739442;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=9rv2ata5GYXSyDW9o8Ki1D33XgygvSygq4Ui9dXRBr0=;
  b=IzOZbCEWtCfl7ZH+5bIhuFrv0wFxUgY5L786JBJXgbRTozqQSKN2ARqC
   ClaXfi/rF4JWYZAqZsXOZJ04+Zq79vPPFXiWs37gBOe649CT0/oER36e6
   2/MVf/RdEmEyBwSzhGRSgLk5G0Y9ElExkun4Pd3U7LY9NtNzZd8GZdOtS
   w=;
X-CSE-ConnectionGUID: 6yeXaNbFTsiB9DKlXs03Kg==
X-CSE-MsgGUID: zBrIBWznQDK4LChTiv/caA==
Authentication-Results: esa2.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 128163486
X-Ironport-Server: esa2.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:L05oqqqH9uo5wGP5hbKW6hpsExBeBmLdZRIvgKrLsJaIsI4StFCzt
 garIBnTb6mCMDSjeY1xbYzno0MB75bVmN5kHlFppCFhEi4UoJuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbOCYmYpA1Y8FE/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04G9wUmAWP6gR5waHzSJNVfrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXAG4cYyCKoeiY/Km6YLhApcATN5GwH4xK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSaxFIUPrSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/
 ziWpjqiXkFEXDCZ4Siv6FOGuf3JpA/YBKY5FIG56LlhiXTGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQOr9QqTDYn0
 luImdLBBjF1trCRD3WH+d+8sjeaKSUTa2gYakcsTxYB4tTliJE+iFTIVNkLOJCyitr5CDTh2
 QegpSI1h6gQpcMT3qD99lfC6xqmq4LVVAcz6kPSV3i88wJiTIe/Ysqj7l2zxfNBJ4aQSh+Gp
 moJn+CX6exIBpaI/BFhW81UQuvvvazcdmSB0BgwR/HN6ghB5Vb9bI1g6Rd0CntyM+xVVRztU
 FSL4iBesco70GSRUUNnX26gI511lfC+S4S0Cau8UzZYXnRmmOa6EMBSia24hTmFfLAEy/1XB
 HtiWZ/E4YwmIapm1iGqYOwWzKUmwCszrUuKGsijkUv4gevFOyDKIVvgDLdoRrpihE9jiFyFm
 +uzyuPQk0kPOAEASnW/HXEvwaAiciFgWMGeRz1/fe+fOAt2cFzN+NeIqY7Nj7dNxvwP/s+Rp
 yHVZ6Ot4Aan7ZExAVnQOy8LhXKGdcoXkE/XygR2bAz0hCVzOdb3hErdHrNuFYQaGCVY5aYcZ
 5E4lw+oW5yjlhyvF+whUKTA
IronPort-HdrOrdr: A9a23:UpxFaKx1yi0n6Arz0FmtKrPwIL1zdoMgy1knxilNoRw8SKKlfq
 eV7ZMmPH7P+VIssR4b+exoVJPtfZq+z+8R3WByB8bAYOCOggLBR+sO0WKL+UyHJ8SUzI9gPM
 lbHJSWcOeAb2RHsQ==
X-Talos-CUID: 9a23:5M4KQmNJbaLow+5DBjhqxEcyEO4ZaXz3nVvzJ3+jUT1KR+jA
X-Talos-MUID: 9a23:7GTdLwU9xPNj2MHq/C3GnhBIC9Vu2oiNVGQmkakHpY6PPAUlbg==
X-IronPort-AV: E=Sophos;i="6.04,221,1695700800"; 
   d="scan'208";a="128163486"
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>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH] xen/efi: Drop image_name from efi_arch_handle_cmdline()
Date: Thu, 23 Nov 2023 11:37:12 +0000
Message-ID: <20231123113712.1933421-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

With all architectures no longer wanting an image name in the command line
handling, drop the parameter and forgo making one up.

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: Stefano Stabellini <sstabellini@kernel.org>
CC: Julien Grall <julien@xen.org>
CC: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: Bertrand Marquis <bertrand.marquis@arm.com>
CC: Michal Orzel <michal.orzel@amd.com>
---
 xen/arch/arm/efi/efi-boot.h |  3 +--
 xen/arch/x86/efi/efi-boot.h |  3 +--
 xen/common/efi/boot.c       | 15 +--------------
 3 files changed, 3 insertions(+), 18 deletions(-)

diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 59d217667ff3..6e6db2445566 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -454,8 +454,7 @@ static void __init efi_arch_memory_setup(void)
 {
 }
 
-static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
-                                           CHAR16 *cmdline_options,
+static void __init efi_arch_handle_cmdline(CHAR16 *cmdline_options,
                                            const char *cfgfile_options)
 {
     union string name;
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 1a2a2dd83c9b..86467da301e5 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -303,8 +303,7 @@ static void __init efi_arch_cfg_file_late(const EFI_LOADED_IMAGE *image,
     }
 }
 
-static void __init efi_arch_handle_cmdline(CHAR16 *image_name,
-                                           CHAR16 *cmdline_options,
+static void __init efi_arch_handle_cmdline(CHAR16 *cmdline_options,
                                            const char *cfgfile_options)
 {
     union string name;
diff --git a/xen/common/efi/boot.c b/xen/common/efi/boot.c
index e5e86f22b2b2..61108199188f 100644
--- a/xen/common/efi/boot.c
+++ b/xen/common/efi/boot.c
@@ -1462,21 +1462,8 @@ void EFIAPI __init noreturn efi_start(EFI_HANDLE ImageHandle,
             }
         }
 
-        /*
-         * EFI_LOAD_OPTION does not supply an image name as first component:
-         * Make one up.
-         */
-        if ( argc && !*argv )
-        {
-            EFI_FILE_HANDLE handle = get_parent_handle(loaded_image,
-                                                       &file_name);
-
-            handle->Close(handle);
-            *argv = file_name;
-        }
-
         name.s = get_value(&cfg, section.s, "options");
-        efi_arch_handle_cmdline(argc ? *argv : NULL, options, name.s);
+        efi_arch_handle_cmdline(options, name.s);
 
         if ( !base_video )
         {

base-commit: f96e2f64576cdbb147391c7cb399d393385719a9
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:39:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:39:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639653.997220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r683U-0001bm-FU; Thu, 23 Nov 2023 11:39:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639653.997220; Thu, 23 Nov 2023 11: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 1r683U-0001bf-CB; Thu, 23 Nov 2023 11:39:36 +0000
Received: by outflank-mailman (input) for mailman id 639653;
 Thu, 23 Nov 2023 11: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=FfzT=HE=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r683S-0001bI-Do
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:39:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f83b5801-89f4-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:39:32 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 227954EE073C;
 Thu, 23 Nov 2023 12:39:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f83b5801-89f4-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Thu, 23 Nov 2023 12:39:32 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH v3] xen: replace occurrences of SAF-1-safe with
 asmlinkage attribute
In-Reply-To: <182670b3-39d8-4d32-a22e-2fda9857c207@suse.com>
References: <b193825385eae75ae320ab7d8c7f63b61c8c8786.1700125246.git.nicola.vetrini@bugseng.com>
 <23575a74-2a8d-41d3-a71a-420f6a6007c8@suse.com>
 <6d89d2e3cb2ac28f7f40285f213c74ef@bugseng.com>
 <182670b3-39d8-4d32-a22e-2fda9857c207@suse.com>
Message-ID: <38829f08d2c2828b1eb66bf9e2abd9e2@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-23 12:36, Jan Beulich wrote:
> On 23.11.2023 12:30, Nicola Vetrini wrote:
>> I guess this one as well should remain as is. Can you confirm?
>> 
>> void asmlinkage __stdcall cmdline_parse_early(const char *cmdline,
>>                                                early_boot_opts_t *ebo)
>> 
> 
> Indeed, I simply overlooked it.
> 
> Jan

Thanks, I should be able to resend shortly.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:42:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:42:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639659.997230 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r685w-0003qr-0W; Thu, 23 Nov 2023 11:42:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639659.997230; Thu, 23 Nov 2023 11:42: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 1r685v-0003qk-UC; Thu, 23 Nov 2023 11:42:07 +0000
Received: by outflank-mailman (input) for mailman id 639659;
 Thu, 23 Nov 2023 11:42: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=licP=HE=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r685v-0003qe-5Y
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:42:07 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 539cfeb7-89f5-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 12:42:06 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9351.eurprd04.prod.outlook.com (2603:10a6:102:2b6::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.12; Thu, 23 Nov
 2023 11:42:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Thu, 23 Nov 2023
 11:42: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: 539cfeb7-89f5-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e+Z9xLt7Pz9XYUPAb1gWYi3BxiCJSlDgUMQTav/Vmpog/LRKGzYR8B+KC98nLuvoh9gJjOgoCzZz2gGYkTeEaoeEj3+pqMcHjyn2u0nQyQ0WK5+01Z196TjniRbSEuQfFJ7WtzbQuiL+jzd77pgNGtxvww73thL+OUZeH9oDisPqOXhejK59fMg7q6wNKDFytU9fkhp+6m/0Aa8Iaewt5wZDxo6n/9cIEr6UXQXCS/L+88LDcz49/7rwYku4LgXlbvnPpy2YIeJJuw5ahj0kMljERDtyEVQqWwslR3ppNpCh03hTLRjPC37799oZwBmE7mfKdjzO5bCQmFU3WiBFaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7rAy6LqYTg+6ElQ0u1Cp/uXYBHsJ8qioRVDspRC8Qws=;
 b=PknOb0PHsdAN2RnW6S9CzrfjyNUdu+90Zs4/VwQR1AEGxzpgO9P9Xj0okc2HtkLpnLr8mTH3YIa+tWOSgO5oJvoo7zMkua/w1ut6SQPusB6SLzLmlgRChZFSW110GYk9KCB7AkICNJL9SH3lPCW3O9PRKsVUxOxglOm3OJQIKYTyKwHmDgRFsxAYQ5FCJsfG5b+nZg6c2RMkBdKDDN7gBTA1s0/h6j7pHP1tJNaTFunxno6UKGbk2H7g9HKkPn5rvtXTf4LcC9Ez6gfKV78vs1SFa2whmlp5z1MYKTYja5eLInBCluNGReVIEwmHDURYxNI15y5bq/b7Ctj+Y4yAMw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=7rAy6LqYTg+6ElQ0u1Cp/uXYBHsJ8qioRVDspRC8Qws=;
 b=yqXcn0pqh12xoxzBZ3vLX6RXF+2QFhRgagbt69d2ecmDSoj5+XP+4yLv3sCCqndhxN8I3lUKpMaEm5QTYqg15ZF4hh7xodHFGSHLMmxgNyW44WufgBIp1hRZxShWS05oWRvjh+oJGvEYT6ulmK4xcExtjAp/6DVQR0TcrhDnnxEcyKu0+21B/iNK1zA4m2+zMbqUW7vqiT8hMt5bwipvnqCDReTstxlOja77/h8si5YNL+WGqcZbtC4wVIkhkHO5rdtIYL+1L99gO3qhxCa4R/Lgs29frcsxTXCTJOTZpUfHJ3qZtt+wEasex94B5v7E/eOOykcyM8lSPVVl6cTtCA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b3dbc02a-b7cf-444b-add2-89ed80a17bb9@suse.com>
Date: Thu, 23 Nov 2023 12:42:00 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: Drop image_name from efi_arch_handle_cmdline()
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>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231123113712.1933421-1-andrew.cooper3@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231123113712.1933421-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0437.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9351:EE_
X-MS-Office365-Filtering-Correlation-Id: 17b70d3c-14fe-4cb1-7477-08dbec19360f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EAPIpoVhUU6DpJeWCA7F8fvNzzpPv0bvw8AmRBAsapU1pOVvuUYJL9kGh95cK8/Ct6En+0C0ckxmm6XUYMAFaQ68Qh/IwJUxZKhgcDZCSR5VI1phszK6K+fSTZqqk9XyWkhz/D1D1+a7OixGKYjF2CkdVxhlMK0ZlKbxvPObbWMn1+Fe/jjX4gZtz8CrKFRpZ3ORz6WITPlhhPACNWM0INTkPWF3kLaj2L8qkUz7Hv22nywVtk8dNvVcE7SGlE4yx5sTzvcQZEYixAP61PBK61Lkv0srli66HKu6V8nKXgEfqkoD9SsgYQwTrJfciXSdchbVrQTGOgl2P31sSxC+tb/jKrFJLwTAkmWdsT7pp+7zQ3PpV9LDDbWyHhcgtwC2WJzVLj6L3wrmT1iUH1Q4KAPpAQ+wSvkLJBTYGgjpZrODk95Uz787/INWFkORAVyi+1JvtAuKoO4vDlxg/hzxnB3P7SsCQhGNS08tylZqNCJzQtQEnehmRtIVGWUb53ZyT6JMPaAuQt53qUbObWesshWMBaoB6wsgt0U1iEUqhnQr8kYzzhXPbDPBmSC30W86GHGnS+GuFKDMid8fazb7aNM8nWunhXbq9xDIAUzOuucM+dJ2uPmLrOR9onJrau9G3eAO2CwoAGk1+lRA0etqQw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(346002)(396003)(376002)(39860400002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(8676002)(4326008)(316002)(6916009)(66556008)(54906003)(66476007)(66946007)(5660300002)(2906002)(6512007)(478600001)(6506007)(53546011)(26005)(31686004)(6486002)(2616005)(8936002)(41300700001)(558084003)(86362001)(31696002)(36756003)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?V3RiUnZWMVFyejB6eVFzM045VFJYV1lsUldQUnU5RnEzd1VYRU1kTDg4NWZI?=
 =?utf-8?B?dmtHNmEwT3pOczkyMjZFdVlWdEpJcG5QYllrRUZEazVYTGxBTnhsV25kZWdx?=
 =?utf-8?B?WFBIN3o4WEdLZWxMNThRTVFMeU1OandFcEhZS1FpcFZxRzcwaDJzc3NFbHkz?=
 =?utf-8?B?bUx3UFM5TGNTR2c3NnFJeks2SERwdkdxUkJZbElPUzE4bzJNUjdWQmFCR3dW?=
 =?utf-8?B?VnhpZVlBWDg2a0pxVWdnczVrb0hBYnVRcjVXQVBzOVR4UjMwcWdHS3g0V2di?=
 =?utf-8?B?VHNSZ1grUUY4dWhackRSeHpTeWQ0a0lvZTkyeUtyakoyWXVhb1IxRHM1WnMw?=
 =?utf-8?B?eEpxVkRNQmJNMEJ0bkhJSGpQejFhTjdTaWhZSXBqL2paWERFSW05bXdRV0lN?=
 =?utf-8?B?b0JaOXBUQ2s0SjN1REdVOFVBZXlRRVphQzRVSXpwNUxDRkpSdEVMdnVsU1Z5?=
 =?utf-8?B?Z2IrNVFaSlhTdWVITXc1TFF4ZEVTYmx2ZTlJajMwZGdDelk3Q1RkWGFhZHE0?=
 =?utf-8?B?cXdBblB2bXgxaS9LeDdjVDRTMmoxUzhsU0czcDJEd0t2NXI5NW5lM0Q2eitK?=
 =?utf-8?B?RG9TNDFMbnUrTFV0aytXcmFvMVdIUEtOVGF6Yk5MM2hSQzJQWGNDVkZCM1lW?=
 =?utf-8?B?Z0dlV0VsdHROTUFRNDBZbDlFTjY5c1M3MEVsRlVHUFdranZCT3ZaWXFwUklr?=
 =?utf-8?B?U01ORVFoM2hmd3M3Y0JldU5sWlJlMHZpOWVNTkMwZWE4Um5GRGpqZzdJSmVP?=
 =?utf-8?B?bkxVOXhYdXRMbnc1QXRJMWZxT21vSjBEdk8zV0orZ0x2VG5aM0cvQ1R3QXZJ?=
 =?utf-8?B?dTF3N1ZVREV6alZaTUNOdExISW12cHRQakZYM3pkd2ZhMHhlUXFsYnZ1VlFR?=
 =?utf-8?B?QkxXZk0yd2o2bVFaaDBTc1FYb0w5UU1ucGpzQmRTWmg4UGNBTkdFQXVVKzdZ?=
 =?utf-8?B?RUQ2SWt0ZDdjZWxFNDRjc0d5WjQ1cUQ1cXpsNkpsV2oxbi8rQ3hMMkwrb1Vw?=
 =?utf-8?B?SUFabjRvQXVhVGpWc0w3QlZGY0RqZTBGVE1DVWRzeUl2TG52aVZaUC9vUEZt?=
 =?utf-8?B?MVpCalpLZzVndTRVR0QvTFBCc281RGRPZURnTXZWSUpNT1pFcTBpZ083UzJV?=
 =?utf-8?B?T0xBVDhBcmE0VjB2c2Jtc3NKdERUN0J6RWN0UVNpb0ZPZFl0MmFMbmFGUkJH?=
 =?utf-8?B?ODVFTjF1dGpMR2thUFNPSU1jbWU3STdxNCt6Tk9lbFhJSnk4U05QSFo4aFFx?=
 =?utf-8?B?T1p5QWNpSTZGdDkwcWJNSmlRZGNzWFRzMVo0VVdYeDV4em5yTXdxaXBKTHhV?=
 =?utf-8?B?MnR3U3lZWkNieDJGckJvV2pRdXNJaHh0WEFCY2IrRk1pOC8vZnVmb1FhaldE?=
 =?utf-8?B?OTQ0VDJqdGd4RVoxUmFzd25RTUIwcGVpc2owdWVONGp5citYRjE3TUNZQVpJ?=
 =?utf-8?B?RjhSdElrVTBMa3hFTjIzTzZib2NqQmdLbFFNc3hBRTdhaEhYUnZoUCsrbCsv?=
 =?utf-8?B?YS96NVlnRytabGhURGhDRDliS0xnTzF4aGpBOE9VeklnT0I1bm5lRWQxR2h1?=
 =?utf-8?B?WHpPRWJjZUJVRW91QnFFcmltbzlYMnMyWjFZTnEvMlU3UFJGcDY0QVYxbmRY?=
 =?utf-8?B?cGpYUGpEMDU1N3J3UzJsME9ZVGhCYkFaTW5uei9hTU5zSU00RzBtdG5YQmJ2?=
 =?utf-8?B?S1lWTFRGTkM4czhiU1A2WnBNdXV4TmhMb2c5emJVcktvZmRKV2NvdzF2TGt0?=
 =?utf-8?B?THoyd0Ezb2ZvQm53bjhuU2hsdEw0OXlHUkRtTlhUZUtmc3NxY3hUY3hxRGhN?=
 =?utf-8?B?T0p1Z3M2V05sRVJOUy9vK0I3am45WCtOenNlNDVDY3VSWHZjZ1pHK1JLZm9m?=
 =?utf-8?B?Z3ZhS201TnZqc3FhWndaQklkSzU4RVBlbUNCRlQ1NUVDbkNmOFZaRHBZemRH?=
 =?utf-8?B?ZStBSTZVeTEyUVo3bHNqYjMzN3kzUE1FZ0paSXJaZ3VtOGNvVk5TODVPQmJ5?=
 =?utf-8?B?NG5CbGwrYURFZmxtQ1owcHNGUFJoRWNFTjNMMERRbWE2Mm95RmFudmRXZyt2?=
 =?utf-8?B?NUNUc1VMMVBaeWYwMW9lVFo3Y0lxWGpLcG1McUxQanh1VkU5QUlOaVNsQWpn?=
 =?utf-8?Q?A0INW1fZbKGrawDEywx4YgIMA?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 17b70d3c-14fe-4cb1-7477-08dbec19360f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 11:42:02.9697
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X6X/MIGuOUDCrSGNsf/IKtch5Rx7E5LIOu+Ze0WB83LD6rFtPn2UprWqIZYpxADOF4HzCQWuUV5sBlgQ00yjZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9351

On 23.11.2023 12:37, Andrew Cooper wrote:
> With all architectures no longer wanting an image name in the command line
> handling, drop the parameter and forgo making one up.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:43:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:43:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639662.997239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r687c-0004bC-BB; Thu, 23 Nov 2023 11:43:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639662.997239; Thu, 23 Nov 2023 11:43: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 1r687c-0004b5-8P; Thu, 23 Nov 2023 11:43:52 +0000
Received: by outflank-mailman (input) for mailman id 639662;
 Thu, 23 Nov 2023 11:43: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=B0YW=HE=epam.com=prvs=5691553e4c=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r687a-0004av-SI
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:43:51 +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 90c56289-89f5-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 12:43:49 +0100 (CET)
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 3ANBD0Si002475;
 Thu, 23 Nov 2023 11:43:40 GMT
Received: from eur04-db3-obe.outbound.protection.outlook.com
 (mail-db3eur04lp2051.outbound.protection.outlook.com [104.47.12.51])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uj2aa8xkr-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 23 Nov 2023 11:43:39 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AS2PR03MB9100.eurprd03.prod.outlook.com (2603:10a6:20b:5fb::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 11:43:36 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 11:43: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: 90c56289-89f5-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WuOX2ANXIWn8adfMFrf5dv18BEgSuY10uV1/49a/je+l62qTYrQGs0XuwCarFwzD5H4+Lrm7gpoRlgr8ynFj4UDlqDU4SOUIRDYFSkq9xfeFT6Jmy0Ip11Prc01yX01VQ1KcTJ1xl19a20mkNbGazmf/5Kk4mwWVDJfEDiK/zK3t/POZDOoyJR71ZMtyS4y1WnFw9JGVuRwNxwZoUT2W0Dc5AWT8YyX/LwTnusmuu0+gtaZKIGQl+rvTvvfsHNeUEXQtOHk7uqdvnsJg9U9d4fyd0Ewz4W1sHnu2DeJvCQ4nJ2F4bsc6uXDjtMeFVtc7lfQq8GmzxRKvpzurOxp+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=cJ7P4TWEuBEeo86sHh8dnTNhNvG+OnBixLYM858ijig=;
 b=Y5PxIDF5EkkzWjUznm5oHhKoHvxxrtLKEZpHnSzYOU9ASo5BQExiemzLusfRHn+rYx4rQWQDD0yeRODvOuppE1urdeE2twbHd1iADLzcaRUk0dAhDsjsEQAGXUUJnuGeQm4Z/f8i0OzlF0uLocordzh1F8jm+XnhlAANgwVtT3t1qEKmQI6aKArMijeej62EvoIV/ryw+YF00miJzF9wtD3efQdyVE0xrkAlQZS43tnKZDMrekhodJArszL/nW9ehaqYhwPBk3fmMqAamVmUUbMoP0LBA+TC2Uur0PDnJpVn7omKX7+zUOB0xd7SpbLkl001HXv+sc2BExP60otReg==
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=cJ7P4TWEuBEeo86sHh8dnTNhNvG+OnBixLYM858ijig=;
 b=Y0LQ9G9T7dD3Ql0ke99Y/Wekj94N+9wowN+hBgckrpclFXJgEAnNlaGyj0zfs7r60fnDFmkOt2rW/ePJnzdbu0D7QfKx6aCv8uHsVGx3rIC97NhlxZSNgMvwS/zNkxYzjb8E9lE7GqSK8oLnsMWPd3uB5OTnpv3j1dJ3O3gb98ZQeXQqVqXp1W6zPPw54nAObgsa8y6Fz8hUzQ3cP8RHq21Lp+ZsP9jwbUCrjqMuUJ+vmJIBueDsiNZ31CRoEZ7lCfm1Zze5SITfDdkPxE38I49IkfIHVJhkvRR8dyseHNeqXPxVt7zWnWZHj58h26Lu3v55YX6NmGZ44UK/GxR+nw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "paul@xen.org" <paul@xen.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Topic: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Index: 
 AQHaHMeIsCU+MAEGAkSnPoa9ThBNz7CGlGOAgABYsYCAAAmAgIAAAakAgAAAyoCAAAJ4gIAABwqAgAAFCoCAAJ2+AIAAFY6AgAAL24A=
Date: Thu, 23 Nov 2023 11:43:35 +0000
Message-ID: <87leaoy9sy.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
 <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
 <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com>
 <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org>
 <db7f8751c569c7cbf0049807050054071ddda0d9.camel@infradead.org>
In-Reply-To: <db7f8751c569c7cbf0049807050054071ddda0d9.camel@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AS2PR03MB9100:EE_
x-ms-office365-filtering-correlation-id: 8732e8c3-c60e-489f-1c23-08dbec196d5f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 Ef8mRJnhGibk68F8CDNs/YInIq3+c+9AJ9vnG5U7nkQRuKNR69XXMh+uSrHM+vLH36glXjGiGKSLs/Gu0+WRs3V3iH78Cy2k0pmNenJMgw6KVhoAOxVQDLeAEIx4jdXb1NjAJaVyY7wZumkeETYmI+I0jUelMzEtFKIrsHWD5UUJtY7myGOD1ZD3W5n2/5x4C1b7n7ir7QfnHFGKCjzmW8Oxsa790g0w3CW1RduF5Pd814k11PpdostcZUGMCF/W0eWeAjXgMXOngWSfUWgUj/tNCutdGw406ZmGOekCWF9ZovjA2Ya9LFCGj5aofnvI+F/zuDisnXpCKUQJmsk2bYuwHV15MKpmhkJjzgFKiz5i6btbaIatM3tz/daIeAvf0L1p5g0vKrnALKlVPK3u4Cj8GoisKt81SAi6DgInhwXbkh6aabcjE7AsZ4rBOB+WSElt//YJLjEB99+XczuWRaZJRJwtfvftF/NOWHJpPQh2IhKu+x1LwLxYhKO8XQ81jcuwCvaFEzrE+eeGKMxn9AUZSyAnPQ7MFsN+YvhmcimT3LQffP0dDmKN3xTbRhUwJ72bi2kg6iq8nSW3U67CQfwhKujz9viHTYrEg4W/Jx+AQ7UG0dp6Y65RKpcgDSJ+
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:(13230031)(136003)(376002)(39860400002)(366004)(396003)(346002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(38070700009)(66899024)(76116006)(66946007)(66556008)(66476007)(91956017)(66446008)(64756008)(54906003)(38100700002)(36756003)(122000001)(86362001)(55236004)(53546011)(26005)(6506007)(6512007)(2616005)(2906002)(6486002)(4001150100001)(6916009)(316002)(478600001)(5660300002)(71200400001)(8936002)(8676002)(41300700001)(4326008);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?anJP7gjglTK7fRxt0WWBFs6DaG8iK5HnoPPRWj0XOVM62Vrh/f/2NWlQdo?=
 =?iso-8859-1?Q?wsqZaSz325MyaSmuhkB/74mfrpgvF3HYRhgdyTa/QzjhNJvnxW7zxbghAW?=
 =?iso-8859-1?Q?cwc87zsmrsLFmhUGfmlQKI8vPvp70ZKVd9JHBZkCeYv0c2tpUV40RT+fSq?=
 =?iso-8859-1?Q?rs6bdPMzS18BBz5xhTn78wutXzKQkxJUXi9yIBpD1YZnsQtNaYvJ3BPN60?=
 =?iso-8859-1?Q?uw2ZTiIXRVQ50yO3M0qLgzlJwBgbULuYUqxxVuD7fwQHcYpmzAN01P25Z3?=
 =?iso-8859-1?Q?yfVLCszKfw62UvEAZxHZZwRYTJ/O8kumJ+0NZFmukRmKCeFnMOw0p1Gq4L?=
 =?iso-8859-1?Q?GTEV1huq7wMQLYLdIoiozn+fJcalNdDyAxuyhEdKHVE70uS8YO87Ie40xJ?=
 =?iso-8859-1?Q?IM2nhl+ekdBuFGfaNCvRg7vxsFwoGYmR9SzyHgOZB8LzdCih0f87b7Pgzs?=
 =?iso-8859-1?Q?robk8xlrgCMHeYaR6J3tN545whNYPtwcoeIpX4gEnbbIHM74LEjfPT2+F7?=
 =?iso-8859-1?Q?xSyFaefj4oK+gugI5gEnB57RNLQAQgAh1+XQRYOtbDipxdzxwVY6iXtRmL?=
 =?iso-8859-1?Q?2PWfMRv5uJjXi6gxka7P+45NQDZkY2ncjKK9vg9ZVpEm69lLVsZczByair?=
 =?iso-8859-1?Q?1quui5n7p7CL4G8G1RpnL5pH1SiWjDupV1SSXKy67SKsFTIk5wlCug4mWe?=
 =?iso-8859-1?Q?cNmI/9fhSoizAu61HmIkrhR4qCpFaYM2nVwnKxtaxx2BckDRSw+9M7QrDP?=
 =?iso-8859-1?Q?i5hwjHbJwXrj8cI4tIs/GHUDkyJI7oG0RhNgVGvyCzSMfMLAg0bKJ0HFaZ?=
 =?iso-8859-1?Q?OrfWxJZmph1Ns8BeUNvoPLOV/idPLrHtbGIbsthWrWeDSevTBnVDzdiuDg?=
 =?iso-8859-1?Q?KUet5zZfO516QoBcSABJnTLpygZIkty+drREUQZpaLsg4CU5gQjgO1pP11?=
 =?iso-8859-1?Q?y40fhv4UZFo8zaFXSvBZrt7dgAqVwjsbhI4wLKr7By2ipj5rqiexSP0ENc?=
 =?iso-8859-1?Q?CMapGyju04xt2qg7k6kFkFgvRmGYkMT7U3xccJ/DxXO4H5CaVZqSu8Lxwd?=
 =?iso-8859-1?Q?G92KSNnspx7IKqUMDoypvf4PIjsKTC6Vqs4cBGiu6R6VLRV30EJXUMsmTs?=
 =?iso-8859-1?Q?+CJ3MpxJqRnLXYSm0RL79eFuQtmEbDPRW9VxW8aBY4CPWL1ePCd+bNmrka?=
 =?iso-8859-1?Q?pPxWq5uytLTqkhkN/vJLPQ/QU4W5mF0FsxcbhaWdVY4DhSoUo9cka1wKuU?=
 =?iso-8859-1?Q?fq7b3XWNPlLVzehmTuvgr3QCEKsTS8ITCzn7UjIrR89H7FIco+v17XZ8AD?=
 =?iso-8859-1?Q?Xey6VbebPMW4MxbZfi61uhhP5qPO4SsjEoeVgO9k7Ktkoy6OiiB4a3oReE?=
 =?iso-8859-1?Q?HPUoVypm+hUxnssuP74K5QUcHz2jplzmyx8tW0bL9n9FGbaqSPX5jtuIKc?=
 =?iso-8859-1?Q?MkNgrmKMM4Mgr5YooyVyjPo7APfczCLCZSsCTf21FlsKx7OL6pzgveSpM9?=
 =?iso-8859-1?Q?batuaPF/TkQKleDYmkT8xtFWFcHKfgbyCIVR4e0jHiUqz0eRDnPgpSiVi3?=
 =?iso-8859-1?Q?BJMuV69PBXNW2NCv4wQYbvThtYofd4vDMOBksSl1EMDInloZfZgPkguqQW?=
 =?iso-8859-1?Q?wYct+OLEO9hZ9JSl4QVBJR1c/7eG7XV3q4JU8s/Przo2cyNqFbNqCcsw?=
 =?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: 8732e8c3-c60e-489f-1c23-08dbec196d5f
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Nov 2023 11:43:35.5830
 (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: 22nMETR8Q8s0pgKUpioINn41mYPDDR2BnAXkZsFWMFOsRCyVI+hYOTr7KEaBM/Wn83gfIed8ux7uCKP3itbI1Sul8iGBJRw84n9DmcI5UVk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR03MB9100
X-Proofpoint-ORIG-GUID: 6GNd-SMR4AP-fR9T_fil4RWhl-hTsMmf
X-Proofpoint-GUID: 6GNd-SMR4AP-fR9T_fil4RWhl-hTsMmf
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-23_09,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 mlxscore=0
 phishscore=0 lowpriorityscore=0 mlxlogscore=999 impostorscore=0
 malwarescore=0 spamscore=0 suspectscore=0 clxscore=1015 bulkscore=0
 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311230083


Hi David,

David Woodhouse <dwmw2@infradead.org> writes:

> [[S/MIME Signed Part:Undecided]]
> On Thu, 2023-11-23 at 09:28 +0000, Paul Durrant wrote:
>> On 23/11/2023 00:07, Volodymyr Babchuk wrote:
>> >=20
>> > Hi,
>> >=20
>> > Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:
>> >=20
>> > > Hi Stefano,
>> > >=20
>> > > Stefano Stabellini <sstabellini@kernel.org> writes:
>> > >=20
>> > > > On Wed, 22 Nov 2023, David Woodhouse wrote:
>> > > > > On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>> > > > > > On Wed, 22 Nov 2023, David Woodhouse wrote:
>> > > > > > > On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
>> > > > > > > > On Wed, 22 Nov 2023, Paul Durrant wrote:
>> > > > > > > > > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>> > > > > > > > > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.=
com>
>> > > > > > > > > >=20
>> > > > > > > > > > Instead of forcing the owner to domid 0, use XS_PRESER=
VE_OWNER to
>> > > > > > > > > > inherit the owner of the directory.
>> > > > > > > > >=20
>> > > > > > > > > Ah... so that's why the previous patch is there.
>> > > > > > > > >=20
>> > > > > > > > > This is not the right way to fix it. The QEMU Xen suppor=
t is *assuming* that
>> > > > > > > > > QEMU is either running in, or emulating, dom0. In the em=
ulation case this is
>> > > > > > > > > probably fine, but the 'real Xen' case it should be usin=
g the correct domid
>> > > > > > > > > for node creation. I guess this could either be supplied=
 on the command line
>> > > > > > > > > or discerned by reading the local domain 'domid' node.
>> > > > > > > >=20
>> > > > > > > > yes, it should be passed as command line option to QEMU
>> > > > > > >=20
>> > > > > > > I'm not sure I like the idea of a command line option for so=
mething
>> > > > > > > which QEMU could discover for itself.
>> > > > > >=20
>> > > > > > That's fine too. I meant to say "yes, as far as I know the too=
lstack
>> > > > > > passes the domid to QEMU as a command line option today".
>> > > > >=20
>> > > > > The -xen-domid argument on the QEMU command line today is the *g=
uest*
>> > > > > domain ID, not the domain ID in which QEMU itself is running.
>> > > > >=20
>> > > > > Or were you thinking of something different?
>> > > >=20
>> > > > Ops, you are right and I understand your comment better now. The b=
ackend
>> > > > domid is not on the command line but it should be discoverable (on
>> > > > xenstore if I remember right).
>> > >=20
>> > > Yes, it is just "~/domid". I'll add a function that reads it.
>> >=20
>> > Just a quick question to QEMU folks: is it better to add a global
>> > variable where we will store own Domain ID or it will be okay to read
>> > domid from Xenstore every time we need it?
>> >=20
>> > If global variable variant is better, what is proffered place to defin=
e
>> > this variable? system/globals.c ?
>> >=20
>>=20
>> Actually... is it possible for QEMU just to use a relative path for the=
=20
>> backend nodes? That way it won't need to know it's own domid, will it?
>
> That covers some of the use cases, but it may also need to know its own
> domid for other purposes. Including writing the *absolute* path of the
> backend, to a frontend node?

Is this case possible? As I understand, QEMU writes frontend nodes only
when it emulates Xen, otherwise this done by Xen toolstack. And in case
of Xen emulation, QEMU always assumes role of Domain-0.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:43:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:43:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639663.997250 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r687j-0004sR-KD; Thu, 23 Nov 2023 11:43:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639663.997250; Thu, 23 Nov 2023 11: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 1r687j-0004sK-GZ; Thu, 23 Nov 2023 11:43:59 +0000
Received: by outflank-mailman (input) for mailman id 639663;
 Thu, 23 Nov 2023 11:43: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r687i-0004rh-2n
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:43:58 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95481ae0-89f5-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:43:56 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-32f737deedfso424941f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 03:43:56 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 x12-20020adff64c000000b0032dcb08bf94sm1441689wrp.60.2023.11.23.03.43.55
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 03:43:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95481ae0-89f5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700739835; x=1701344635; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=B+G0Aym+9FxI9aw22sT/CSg2jbYeAoE2A+HQ3ceN3NQ=;
        b=O5U7bLyVEMpfU10MnBS6bEbGnY2h1eHcAc6QY32u4HCnxzQwMheAJSCeTfCMiTz8Se
         hb+e1qhgv6oV9C7TD8F1yp48yLnguAzY1+DEBBk0T1MsNneX1DLc5ePPEV25V91P2MlG
         I1+m5BI3w+XQiE39Y6cs5LNS9xg5mVH4nNP4M=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700739835; x=1701344635;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=B+G0Aym+9FxI9aw22sT/CSg2jbYeAoE2A+HQ3ceN3NQ=;
        b=JAvk+NgVipZTG3OnNSiCgQrNzEKsN97zNg//6905xjqSEgGEdXYODppueuA+Fp/Sqn
         /iL+6c/u9NLDF0fnOVL9YaV9/WJ7KtRxCdmR+4YBuTdCsXVDQYQ9jXexagPRs7AnOgM4
         vxn6EHkzRXLJkse64cXzDmuqu07RuAs84Iv+7iZqSkrTJ9572PzmIdfPokCJ02z5DnX+
         umuGxVkqBmz+skV5zYmCZg0EnTYyBGikcvZ5cinSDPSxiucbntFuLbDX3xxWbqkee/dJ
         j7m/DcWTClIg15a64PFdk4reLgoItYhJ8I2yc0kPJpT4ySk9o7w4LOsLKM3iqMQB5cZy
         t7cA==
X-Gm-Message-State: AOJu0Yz5hntJaRsfRk+UBxWqQRCYBl8KdOwtDOr18/8BhLET8SRRL+SK
	qNOZ4dhyIW9JtA1Sm7c/LbU8Mw==
X-Google-Smtp-Source: AGHT+IHpfgoZ2HeiwZu6RTznwc97sfyS334OYfvwpqpFDz8XKSvSeaK5z64c76aqIw8mRvv32wfqpg==
X-Received: by 2002:a5d:47ab:0:b0:332:d11d:5291 with SMTP id 11-20020a5d47ab000000b00332d11d5291mr2567565wrb.47.1700739835574;
        Thu, 23 Nov 2023 03:43:55 -0800 (PST)
Message-ID: <9e7c53bf-72bc-45d3-acaa-eed9323ab29c@citrix.com>
Date: Thu, 23 Nov 2023 11:43:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: Drop image_name from efi_arch_handle_cmdline()
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Julien Grall <julien@xen.org>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231123113712.1933421-1-andrew.cooper3@citrix.com>
 <b3dbc02a-b7cf-444b-add2-89ed80a17bb9@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <b3dbc02a-b7cf-444b-add2-89ed80a17bb9@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 23/11/2023 11:42 am, Jan Beulich wrote:
> On 23.11.2023 12:37, Andrew Cooper wrote:
>> With all architectures no longer wanting an image name in the command line
>> handling, drop the parameter and forgo making one up.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Thanks.

I'm quite surprised at how much cleanup this particular investigation
has yielded.

Definitely preferable to the first plan of using the const alias.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:51:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:51:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639671.997270 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68F7-00084O-MH; Thu, 23 Nov 2023 11:51:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639671.997270; Thu, 23 Nov 2023 11: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 1r68F7-00084F-IW; Thu, 23 Nov 2023 11:51:37 +0000
Received: by outflank-mailman (input) for mailman id 639671;
 Thu, 23 Nov 2023 11:51: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r68F6-0007nV-9v
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:51:36 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a67723cf-89f6-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:51:34 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4083f613272so5041625e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 03:51:34 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 z4-20020a1c4c04000000b0040b32edf626sm1722042wmf.31.2023.11.23.03.51.33
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 03:51:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a67723cf-89f6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700740294; x=1701345094; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=dSHaf8aoNoLk2+nXb1/jEgjxM8csooVtUAnMX07Hzbg=;
        b=OjCURdRgi7AWdWEet00vS/BuGWKF2affN8r7Um52uEyyAIlirOi8bfTM+3rPA64WfB
         OwR2fsuzeM6TFJkR2tCOOM/L0Bin6xTCUCRQ3aqj4J80txwkT8pMUuYbUty5O9zD7d48
         iTzPd9STZNk4BdYQqu+s9fscuzemyA/0WSJDI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700740294; x=1701345094;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=dSHaf8aoNoLk2+nXb1/jEgjxM8csooVtUAnMX07Hzbg=;
        b=Wb3APk+fjhqWl0Y/Hj/hCN2L4eiiKrtXzDDBIsLaRB47TobEqz6yCjjFEWltip9F3Y
         m+WBZYqsC1vzXS7T9GDTieTBx4E4ESxXATfJ/h2C8jAB6rCPTFCoxmOLr8jKINXnXX3Z
         FbNLgg/xjxPqVdQxKHpu2EIIbX8j/wEBuu5nxn+W3i+8Zd6xWun4b47HbQOT7FH5L8ul
         m2AfCBl2D/EY25mwmNK3+V4OigiJOu8fGL33X1alY5ANK5pf+uUoByzYK1V9pMDIrj86
         /hdBTGEigYUuehXCznHNBZ70wVxCArJLct2yLAK8stzFz6FtSWZ1pv40SuKrnvu9V1/8
         4EhQ==
X-Gm-Message-State: AOJu0YwMME205ZJAz0zUmFIDNPMWeRNJ/wCU4Xk/4lCMHg7VPZjOWaNd
	EZ0mlfV1dqdMJnwykd46sdulxngEsuYPKyox+6U=
X-Google-Smtp-Source: AGHT+IE4zZPPW4pqYlvEuZnoMN/+UrA5mKfPWy1e+kyqxENrTlAPSKMEweKw1WL0RjDnbQDrKlJhCA==
X-Received: by 2002:a05:600c:2106:b0:409:5bd2:aa03 with SMTP id u6-20020a05600c210600b004095bd2aa03mr3916691wml.9.1700740293802;
        Thu, 23 Nov 2023 03:51:33 -0800 (PST)
Message-ID: <a55bd27f-a8e1-4ea8-9da7-b80bd424315d@citrix.com>
Date: Thu, 23 Nov 2023 11:51:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/3] automation/alpine: add elfutils-dev and coreutils for
 livepatch-build-tools
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20231123112338.14477-1-roger.pau@citrix.com>
 <20231123112338.14477-2-roger.pau@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231123112338.14477-2-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/11/2023 11:23 am, Roger Pau Monne wrote:
> In preparation for adding some livepatch-build-tools test update the Alpine
> container to also install elfutils-dev, coreutils and GNU awk.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> I don't very much like to add coreutils and gawk, as it's also good to test
> that we can build Xen with Busybox, but I also got tired of adjusting
> livepatch-build-tools.

Right now, the alpine environment is the main one which spots violations
of Xen's requirement for simply a POSIX-compliant awk, which I think
this would break?

How much effort would it be fix livepatch-build-tools?  I think that
would be preferable, and could be persuaded to do some simple busywork...

What about coreutils?  Presumably that's down to some differences from
busybox ?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:51:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:51:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639670.997259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68F6-0007nh-Eq; Thu, 23 Nov 2023 11:51:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639670.997259; Thu, 23 Nov 2023 11: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 1r68F6-0007na-C5; Thu, 23 Nov 2023 11:51:36 +0000
Received: by outflank-mailman (input) for mailman id 639670;
 Thu, 23 Nov 2023 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=vIdj=HE=desiato.srs.infradead.org=BATV+39fc1edcc778f4c9f1e2+7396+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r68F3-0007nK-He
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:51:34 +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 a4b2bcbe-89f6-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 12:51:32 +0100 (CET)
Received: from [2a00:23ee:2220:2c6:5955:525e:d466:b180] (helo=[IPv6:::1])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r68Ev-00D16r-0x; Thu, 23 Nov 2023 11:51: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: a4b2bcbe-89f6-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=pzyXewFhRtpYTI9XrpP9cFM6t8eBr20xSghVjL/NanQ=; b=QMctfK2xRqeYxuZIPFq596XsFH
	DpzZOmjWHnHJ0Q8JC6gea87yefwtSEVqCtYVzFFE4efwMdO9dalfLdMMF/YTj+RdKzvYApNoXijvY
	c0UHPFTchdYhsCYGOKFwpc62p6cCu5JtGNHlFd6lzJTnxm9wIR7aGVDtzjrNEL1WOaZ+FxHlN2rT5
	n44OnpFF+AfeATyjMeFjD7DcsVxLb+FfqhNa/tVAFQ3uXrZxBh4ARALh5zpM55t7EGjrxq52vx4De
	B2CtVmUl8ngYB/AQXwYfkS5Ix/rgxLcy4vczw/8MCBYAwNS4fvsOyOa85MbK+b6I8CSq7sXIuxlev
	dXZvfhfg==;
Date: Thu, 23 Nov 2023 11:51:24 +0000
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: "paul@xen.org" <paul@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 Julien Grall <julien@xen.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_v2_4/6=5D_xen=5Fpvdev=3A_Do_not_?= =?US-ASCII?Q?assume_Dom0_when_creating_a_directory?=
User-Agent: K-9 Mail for Android
In-Reply-To: <87leaoy9sy.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com> <20231121221023.419901-5-volodymyr_babchuk@epam.com> <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org> <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop> <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org> <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop> <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org> <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop> <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com> <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org> <db7f8751c569c7cbf0049807050054071ddda0d9.camel@infradead.org> <87leaoy9sy.fsf@epam.com>
Message-ID: <2609ABBE-A827-41E4-B65F-78EF88006299@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 23 November 2023 11:43:35 GMT, Volodymyr Babchuk <Volodymyr_Babchuk@epam=
=2Ecom> wrote:
>
>Hi David,
>
>David Woodhouse <dwmw2@infradead=2Eorg> writes:
>
>> [[S/MIME Signed Part:Undecided]]
>> On Thu, 2023-11-23 at 09:28 +0000, Paul Durrant wrote:
>>> On 23/11/2023 00:07, Volodymyr Babchuk wrote:
>>> >=20
>>> > Hi,
>>> >=20
>>> > Volodymyr Babchuk <volodymyr_babchuk@epam=2Ecom> writes:
>>> >=20
>>> > > Hi Stefano,
>>> > >=20
>>> > > Stefano Stabellini <sstabellini@kernel=2Eorg> writes:
>>> > >=20
>>> > > > On Wed, 22 Nov 2023, David Woodhouse wrote:
>>> > > > > On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>>> > > > > > On Wed, 22 Nov 2023, David Woodhouse wrote:
>>> > > > > > > On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrot=
e:
>>> > > > > > > > On Wed, 22 Nov 2023, Paul Durrant wrote:
>>> > > > > > > > > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>>> > > > > > > > > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epa=
m=2Ecom>
>>> > > > > > > > > >=20
>>> > > > > > > > > > Instead of forcing the owner to domid 0, use XS_PRES=
ERVE_OWNER to
>>> > > > > > > > > > inherit the owner of the directory=2E
>>> > > > > > > > >=20
>>> > > > > > > > > Ah=2E=2E=2E so that's why the previous patch is there=
=2E
>>> > > > > > > > >=20
>>> > > > > > > > > This is not the right way to fix it=2E The QEMU Xen su=
pport is *assuming* that
>>> > > > > > > > > QEMU is either running in, or emulating, dom0=2E In th=
e emulation case this is
>>> > > > > > > > > probably fine, but the 'real Xen' case it should be us=
ing the correct domid
>>> > > > > > > > > for node creation=2E I guess this could either be supp=
lied on the command line
>>> > > > > > > > > or discerned by reading the local domain 'domid' node=
=2E
>>> > > > > > > >=20
>>> > > > > > > > yes, it should be passed as command line option to QEMU
>>> > > > > > >=20
>>> > > > > > > I'm not sure I like the idea of a command line option for =
something
>>> > > > > > > which QEMU could discover for itself=2E
>>> > > > > >=20
>>> > > > > > That's fine too=2E I meant to say "yes, as far as I know the=
 toolstack
>>> > > > > > passes the domid to QEMU as a command line option today"=2E
>>> > > > >=20
>>> > > > > The -xen-domid argument on the QEMU command line today is the =
*guest*
>>> > > > > domain ID, not the domain ID in which QEMU itself is running=
=2E
>>> > > > >=20
>>> > > > > Or were you thinking of something different?
>>> > > >=20
>>> > > > Ops, you are right and I understand your comment better now=2E T=
he backend
>>> > > > domid is not on the command line but it should be discoverable (=
on
>>> > > > xenstore if I remember right)=2E
>>> > >=20
>>> > > Yes, it is just "~/domid"=2E I'll add a function that reads it=2E
>>> >=20
>>> > Just a quick question to QEMU folks: is it better to add a global
>>> > variable where we will store own Domain ID or it will be okay to rea=
d
>>> > domid from Xenstore every time we need it?
>>> >=20
>>> > If global variable variant is better, what is proffered place to def=
ine
>>> > this variable? system/globals=2Ec ?
>>> >=20
>>>=20
>>> Actually=2E=2E=2E is it possible for QEMU just to use a relative path =
for the=20
>>> backend nodes? That way it won't need to know it's own domid, will it?
>>
>> That covers some of the use cases, but it may also need to know its own
>> domid for other purposes=2E Including writing the *absolute* path of th=
e
>> backend, to a frontend node?
>
>Is this case possible? As I understand, QEMU writes frontend nodes only
>when it emulates Xen, otherwise this done by Xen toolstack=2E And in case
>of Xen emulation, QEMU always assumes role of Domain-0=2E


No, you can hotplug and unplug devices in QEMU even under real Xen=2E And =
if QEMU in a driver domain is given sufficient permission to write to its g=
uest's frontend nodes, it should not need to be in dom0=2E



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:54:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:54:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639675.997279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68Hf-0001RB-2n; Thu, 23 Nov 2023 11:54:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639675.997279; Thu, 23 Nov 2023 11:54: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 1r68Hf-0001R4-0A; Thu, 23 Nov 2023 11:54:15 +0000
Received: by outflank-mailman (input) for mailman id 639675;
 Thu, 23 Nov 2023 11:54: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=B0YW=HE=epam.com=prvs=5691553e4c=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r68He-0001Pf-L4
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:54:14 +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 04196cfd-89f7-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:54:12 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ANBD5JZ025601; Thu, 23 Nov 2023 11:54:04 GMT
Received: from eur04-he1-obe.outbound.protection.outlook.com
 (mail-he1eur04lp2050.outbound.protection.outlook.com [104.47.13.50])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uhu5fhtx7-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 23 Nov 2023 11:54:04 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by PAXPR03MB7529.eurprd03.prod.outlook.com (2603:10a6:102:1d8::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 11:54:01 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 11: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: 04196cfd-89f7-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f2M2RhIDDei5INTBzIsl2XwDIp59alv2acyRsAXa6fo2ZN0iLRviidLLacEuM/NdoF14FfVIJyf7Xw4Z8ht1Ce4T8AgCaTTF61uFbMVXg453VEEpGYPCuU5qUap4HC1xMNdE9Talbjg+uh91u0Nn8//pzdcJmGlWWPfB31SZfOhPgNpsPJQD/BzrclbSRIlCGFjHGFiJV7kIGgmCLhmbEpWhnpDD8YaDfSg726+Ezc/8MdaETjiRAWhZkhUrocn4s2qign/65mAZD6DLXzp9ItVRMpNaEy+1kB+pvBLVcQZVQZDqkHlT1jXBHj6lXgC+vlHu2HBT7aprokvTnYm90Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xGEx0N50CQG3ILYevRHH28bEXC+2VJPGNIm+YON+jlc=;
 b=CNbP88UIcnynigLugQql43A6uwmJABcg4q1GCms9U5S0sFwCnrTw24Syo86dDYHC3UlqgFdBmDGytkq9QOCCpTWvUvUJrqqyeaOONryC3MxDgBMTgBztMv6Ss3w5BKJSzFFgb7bAB2qOwZQD+nI4GUVY0Kj2s610X0hBHDs/pft+eA2oGe+t9Aw5YjPhOnsNwQGuJEeqqxmwKVjX0GLwp59EQTtaBy8j3eQ5RPyG05IrltXSC47RMV6qs5xyJgNyOs4+nmVCRUZBNEJ2pDr6RioVT2/H8pE0JUMpLq9tZs7PRKYF8nGzHevnV0/irqR4sB+XDIZ9Bvgzap9klac7Xg==
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=xGEx0N50CQG3ILYevRHH28bEXC+2VJPGNIm+YON+jlc=;
 b=DDD4BV9ANFdsx5MdGbiuYIJzIcshv3obIN3LJqEZeaaAKK6fNVNt49vr1TeeE+P8HlY44OJEz+MPay9fsK1Aw9du04F+fLLyEzk6Mu28bghet7UogPhq9AVkvBnK/boAln/eAo7jmIQZwsvUQOCYuJ3u6VAB6ROU61EyUL7870jQpq98b40u2VWk2zhdYcXBCJsTiCxEqwDHRymGl6PV0/hkc2myomb83ts8E2cR/1ZhCJadjv/vUyqod+EPVetq5biGU5WvZ68sgDJVsyV1BmR0TjSiwd1sfV4fL8jzW0YQxejiP5r/AsH+ysoldcKNNLcW/EsS8JdizcoYSo969w==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "paul@xen.org" <paul@xen.org>
CC: David Woodhouse <dwmw2@infradead.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Topic: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Index: 
 AQHaHMeIsCU+MAEGAkSnPoa9ThBNz7CGlGOAgABYsYCAAAmAgIAAAakAgAAAyoCAAAJ4gIAABwqAgAAFCoCAAJ2+AIAAJb8A
Date: Thu, 23 Nov 2023 11:54:01 +0000
Message-ID: <87bkbky9bb.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
 <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
 <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com>
 <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org>
In-Reply-To: <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|PAXPR03MB7529:EE_
x-ms-office365-filtering-correlation-id: 00cffee3-0b73-4a1e-6b03-08dbec1ae23c
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 nYw45G0SLduCDSxQhjlGXAMEZClCMtx1xXlNMpOZHwyLLJEPREGD+cvST5dPJzhv/steh1SWaY1UUYSQV44DgXsdZ/32H3ZFdw9TzRQYom9xDLi8t8T9TPINXJydDGcEUK6szouu2bui70YwFE9ATAXPYflsjr29LUY/254HnDlO9++gaWXxBNKu46PsVMr9bz1iY5vpzB+MPww4FcQGrCsEmc07OZxj6xmyQ7hKfb1/WzoFnYZxYq98Ntqq5I8/dIqsRKZvz40BzZ2N2M+Im2EbgXCVWxK9gP4pFv9Lv398kk0GRmRykg8oe98J4p0X1U4H1C8iE1zqL/lNnOzyFYtkOnur0qRhWj5iVvMRQ0LsaJJ3Kdr4ib4kMLLhwEBob9sIhD8N0wOCzeu6abgE68OHaSdkfz9bcmQrcHpFblyrr6uE0u0aCbCXUER9QZ8jD6ElLSLjnJXSRyX3LVWQi9l5AWTKfZvSOUm49BIp6kW6I0YG3lYO+NT7WdSNNEyHCwFGoKJXX8e6YWhaAbEWdRtgSRKFIImhCyLsZKYoIvgtaU4CkCwGvpEeIMvTRMGGkecGPL43haQNQDexwevglyTO5u22rVtvkm3gNtvF7NxtnXQA4DsML8oliexU9c9B
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:(13230031)(136003)(376002)(39860400002)(346002)(366004)(396003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(38070700009)(66899024)(76116006)(66946007)(66476007)(66556008)(64756008)(91956017)(54906003)(66446008)(38100700002)(36756003)(122000001)(86362001)(55236004)(53546011)(26005)(6506007)(6512007)(2616005)(4001150100001)(2906002)(478600001)(6916009)(316002)(6486002)(8676002)(5660300002)(41300700001)(71200400001)(4326008)(8936002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?6Jbn4B7Nsm/f+/ytAPb6shSbpsxFA503TcFMLH9mTmbSpuBsiJ3BDSoD78?=
 =?iso-8859-1?Q?2eBvbzskkLSUS0LFXrEsV6io0KShupIhRisMJd+xOKAR+lhOxhjRJDZoWA?=
 =?iso-8859-1?Q?WRaAqsACOYHPpuUT5aNXcP2txndbBylpNg4d6sABJXLflEqMpmE/S7Ddtk?=
 =?iso-8859-1?Q?BfGOzx25SfHVElppCdiFNqVtpsl5d4kVnNfBGx78jFrKXPZ1ilkBznwhf9?=
 =?iso-8859-1?Q?56g4wEYhoSIYQoJZ0X3FNfUmalnnS3D47qOpt7wBXiks/SsWgQwZFiGzBH?=
 =?iso-8859-1?Q?9wDB2rAl8FnK+xVCPpOCp7IEgOLkzquolGt+DTKFg31jIXADB8RAZOQkSt?=
 =?iso-8859-1?Q?KCbjtEd/lK51h1jl1V9vrv2QL54YdZ7VPV1iJ/AQT0AJs+QOltDH0LBE2z?=
 =?iso-8859-1?Q?7KGCoxFX02BIdTby4HDfbGc0VPbSK71wgrFC1s6XF4KVlcZmS96uYAOTfI?=
 =?iso-8859-1?Q?5l5zx4TUk54RffPYWC1ZcRLLWX9pWs9vpGaeiF6ZYC/xAhBpb8A9orSDzH?=
 =?iso-8859-1?Q?CkKiPUjvLK4AZv27Dyyww4FoN9J2Db4n4/Kank/kofqRe1deNEGBwZ9nEk?=
 =?iso-8859-1?Q?FKPnUdRCPz/RTzEr7yiC+IN9xk9kV6WF0GITectO3XKRcoYuNk15nmop+Y?=
 =?iso-8859-1?Q?6CS3MEGv2UHUMiLPQP+n4CsGQQpcTOxIZP9WSKifmB6o9f+ePTun8tV6qs?=
 =?iso-8859-1?Q?TBjIDgV9kmEzBBqA+d7dHaE8iUd/Yz/50WFJN50U6SnIeEa0GNcBj+5XzN?=
 =?iso-8859-1?Q?Q8d4Yhz5geKl91RDN+CJ9OJdvFhNsPTw0gV/YaoNkkxcEcWt4tNqsy5XpX?=
 =?iso-8859-1?Q?AT5hZ1fW7A2swenvxgRksFHPLYsmhBSLGgFIbNTxlY0Pg8JNFqvSZDklzi?=
 =?iso-8859-1?Q?GthmFhNqR6AbusMYEsFaIBhoIBJU1KNBRFIxw4wm9V9HX4JabSJuppc80O?=
 =?iso-8859-1?Q?yQ6xzbd9OX11i4j7KIEPikeY6cPWjStNKqiMCPsZEhXny1EIRgjHf99PWm?=
 =?iso-8859-1?Q?btjK/kVdgBKhLGTzIteUI6BlmqwoqiLXUvZvvCVz3bTQ6ZqXnKvXzguItD?=
 =?iso-8859-1?Q?f3zhHyFDPVJUite8jgfYXR0nuTvlEsX152Bu79MmkypuoBwaFCZnrfp4t4?=
 =?iso-8859-1?Q?itoTvg2BUNeCgNygJEX33HNMnSsuVMcaCfMJnQwU8L944JyNMNa5tHUooq?=
 =?iso-8859-1?Q?tImAGn5MfCHCAk7DeqQgGBxgwRrHySAtVYC5vv1KW7h5AW8S4w6hMLT6v2?=
 =?iso-8859-1?Q?bL3yz7KQmfDwINFzNcaESeDX0GgRII/ut35iJz+9PUaxhu4JnA0tRZHycu?=
 =?iso-8859-1?Q?VWcAygtZuQoxeSIIDByXPHySykA4uCUJlAGTfuwG3L6vCQd3qYz1H41A3J?=
 =?iso-8859-1?Q?GSFZjkOWgnFuw25C3aM7WVONnc76Rs8mKvEQFX9OTiEfeN8epa7FkvR20Y?=
 =?iso-8859-1?Q?NW6u5+W0MqS7gYE+nVMHQEqHbJkk+aMBsiKmcnatPrlYa8d/eJ4tTud1th?=
 =?iso-8859-1?Q?cPYQkpldvNu+roYj4Q2RerC7rCktEraNjGieoJT8BRxi2cx/ibV7xWN4ny?=
 =?iso-8859-1?Q?HMpiBaMOWU9djb8qxQPRbfKnM3a6NYTcE3YrkZ4ZO+1ysCSdglr+TeVEiT?=
 =?iso-8859-1?Q?N0QivJcZNyAUDfsy6qwOJeH8EItVhRcLpPDU7FEF/Hp0XTkakKYvlLfQ?=
 =?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: 00cffee3-0b73-4a1e-6b03-08dbec1ae23c
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Nov 2023 11:54:01.1745
 (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: IHiwms7UaR7/itvCsKNpyqxwyXbf3LLmFbybzQOFYWI6bmnpPmFnmd7HLNY1iGdl/d2OlDCjVLUDZ1n4e8ecS/gelL7NHGsCe7NIOdeteTo=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7529
X-Proofpoint-ORIG-GUID: uucvSTgnG1w1ouc7XE2meA-otbGYDcrC
X-Proofpoint-GUID: uucvSTgnG1w1ouc7XE2meA-otbGYDcrC
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-23_10,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 adultscore=0
 bulkscore=0 malwarescore=0 suspectscore=0 spamscore=0 impostorscore=0
 priorityscore=1501 lowpriorityscore=0 phishscore=0 clxscore=1015
 mlxlogscore=999 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311230084


Hi Paul,

Paul Durrant <xadimgnik@gmail.com> writes:

> On 23/11/2023 00:07, Volodymyr Babchuk wrote:
>> Hi,
>> Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:
>>=20
>>> Hi Stefano,
>>>
>>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>>
>>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>>> On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>>>>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>>>>> On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
>>>>>>>> On Wed, 22 Nov 2023, Paul Durrant wrote:
>>>>>>>>> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>>>>>>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>>>>>>
>>>>>>>>>> Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER t=
o
>>>>>>>>>> inherit the owner of the directory.
>>>>>>>>>
>>>>>>>>> Ah... so that's why the previous patch is there.
>>>>>>>>>
>>>>>>>>> This is not the right way to fix it. The QEMU Xen support is *ass=
uming* that
>>>>>>>>> QEMU is either running in, or emulating, dom0. In the emulation c=
ase this is
>>>>>>>>> probably fine, but the 'real Xen' case it should be using the cor=
rect domid
>>>>>>>>> for node creation. I guess this could either be supplied on the c=
ommand line
>>>>>>>>> or discerned by reading the local domain 'domid' node.
>>>>>>>>
>>>>>>>> yes, it should be passed as command line option to QEMU
>>>>>>>
>>>>>>> I'm not sure I like the idea of a command line option for something
>>>>>>> which QEMU could discover for itself.
>>>>>>
>>>>>> That's fine too. I meant to say "yes, as far as I know the toolstack
>>>>>> passes the domid to QEMU as a command line option today".
>>>>>
>>>>> The -xen-domid argument on the QEMU command line today is the *guest*
>>>>> domain ID, not the domain ID in which QEMU itself is running.
>>>>>
>>>>> Or were you thinking of something different?
>>>>
>>>> Ops, you are right and I understand your comment better now. The backe=
nd
>>>> domid is not on the command line but it should be discoverable (on
>>>> xenstore if I remember right).
>>>
>>> Yes, it is just "~/domid". I'll add a function that reads it.
>> Just a quick question to QEMU folks: is it better to add a global
>> variable where we will store own Domain ID or it will be okay to read
>> domid from Xenstore every time we need it?
>> If global variable variant is better, what is proffered place to
>> define
>> this variable? system/globals.c ?
>>=20
>
> Actually... is it possible for QEMU just to use a relative path for
> the backend nodes? That way it won't need to know it's own domid, will
> it?

Well, it is possible to use relative path, AFAIK, linux-based backends
are doing exactly this. But problem is with xenstore_mkdir() function,
which requires domain id to correctly set owner when it causes call to
set_permissions().

As David said, architecturally it will be better to get rid of
xenstore_mkdir() usage, because it is used by legacy backends only. But
to do this, someone needs to convert legacy backends to use newer API. I
have no capacity to do this right now, so I implemented a contained
solution:

static int xenstore_read_own_domid(unsigned int *domid)

in xen_pvdev.c. I believe, this new function will be removed along with
whole xen_pvdev.c when there will be no legacy backends left.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 11:57:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 11:57:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639680.997290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68L8-0003gh-It; Thu, 23 Nov 2023 11:57:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639680.997290; Thu, 23 Nov 2023 11:57: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 1r68L8-0003ga-FA; Thu, 23 Nov 2023 11:57:50 +0000
Received: by outflank-mailman (input) for mailman id 639680;
 Thu, 23 Nov 2023 11:57: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=vIdj=HE=desiato.srs.infradead.org=BATV+39fc1edcc778f4c9f1e2+7396+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r68L7-0003gU-MG
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 11:57:49 +0000
Received: from desiato.infradead.org (desiato.infradead.org
 [2001:8b0:10b:1:d65d:64ff:fe57:4e05])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 83140468-89f7-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 12:57:45 +0100 (CET)
Received: from [2a00:23ee:2220:2c6:5955:525e:d466:b180] (helo=[IPv6:::1])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r68Kz-00D1Ek-0C; Thu, 23 Nov 2023 11:57: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: 83140468-89f7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=2pfjBeGF8kYGcBTnUdyWjjaTzi8VmVJRHFxJbdPixsg=; b=MqCs8nwRox8qPyToePUAkm/UqX
	G3vZp7Y6x+BQN+229oykmk+VN1arlCaH8NkqxKWxe83Z9XoeoR19LEqIcdi+8H/EErEmx4fY1hseP
	7WwcCqldHpx9Z0MbPDAFGqhj2ieTag2c4Cv3pL/VrjwIQAoKZHHOvqQouFG+i4yNztlDfAu+Fdcwe
	MZCZ7Zv0sPY3ncGXY662bV3hCj4gdbzUNU2XkVIRFB7Hhlbj8w5kPPhlOFzxBL+fLejVhn5u3Igdr
	PjciOHmA0ePnB7K2y+jd9FMcIsPc3ohbzFWd/CodCrWlcR5ZDGNCLmOGe/Q+eutvQWt3L8cTL6cjB
	PhZS+hAQ==;
Date: Thu, 23 Nov 2023 11:57:39 +0000
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "paul@xen.org" <paul@xen.org>
CC: Stefano Stabellini <sstabellini@kernel.org>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 Julien Grall <julien@xen.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 "open list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_v2_4/6=5D_xen=5Fpvdev=3A_Do_not_?= =?US-ASCII?Q?assume_Dom0_when_creating_a_directory?=
User-Agent: K-9 Mail for Android
In-Reply-To: <87bkbky9bb.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com> <20231121221023.419901-5-volodymyr_babchuk@epam.com> <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org> <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop> <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org> <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop> <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org> <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop> <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com> <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org> <87bkbky9bb.fsf@epam.com>
Message-ID: <5941AF2D-71E7-4A5B-A519-25F87F90DC05@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 23 November 2023 11:54:01 GMT, Volodymyr Babchuk <Volodymyr_Babchuk@epam=
=2Ecom> wrote:
>
>Hi Paul,
>
>Paul Durrant <xadimgnik@gmail=2Ecom> writes:
>
>> On 23/11/2023 00:07, Volodymyr Babchuk wrote:
>>> Hi,
>>> Volodymyr Babchuk <volodymyr_babchuk@epam=2Ecom> writes:
>>>=20
>>>> Hi Stefano,
>>>>
>>>> Stefano Stabellini <sstabellini@kernel=2Eorg> writes:
>>>>
>>>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>>>> On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>>>>>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>>>>>> On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
>>>>>>>>> On Wed, 22 Nov 2023, Paul Durrant wrote:
>>>>>>>>>> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>>>>>>>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam=2Ecom>
>>>>>>>>>>>
>>>>>>>>>>> Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER=
 to
>>>>>>>>>>> inherit the owner of the directory=2E
>>>>>>>>>>
>>>>>>>>>> Ah=2E=2E=2E so that's why the previous patch is there=2E
>>>>>>>>>>
>>>>>>>>>> This is not the right way to fix it=2E The QEMU Xen support is =
*assuming* that
>>>>>>>>>> QEMU is either running in, or emulating, dom0=2E In the emulati=
on case this is
>>>>>>>>>> probably fine, but the 'real Xen' case it should be using the c=
orrect domid
>>>>>>>>>> for node creation=2E I guess this could either be supplied on t=
he command line
>>>>>>>>>> or discerned by reading the local domain 'domid' node=2E
>>>>>>>>>
>>>>>>>>> yes, it should be passed as command line option to QEMU
>>>>>>>>
>>>>>>>> I'm not sure I like the idea of a command line option for somethi=
ng
>>>>>>>> which QEMU could discover for itself=2E
>>>>>>>
>>>>>>> That's fine too=2E I meant to say "yes, as far as I know the tools=
tack
>>>>>>> passes the domid to QEMU as a command line option today"=2E
>>>>>>
>>>>>> The -xen-domid argument on the QEMU command line today is the *gues=
t*
>>>>>> domain ID, not the domain ID in which QEMU itself is running=2E
>>>>>>
>>>>>> Or were you thinking of something different?
>>>>>
>>>>> Ops, you are right and I understand your comment better now=2E The b=
ackend
>>>>> domid is not on the command line but it should be discoverable (on
>>>>> xenstore if I remember right)=2E
>>>>
>>>> Yes, it is just "~/domid"=2E I'll add a function that reads it=2E
>>> Just a quick question to QEMU folks: is it better to add a global
>>> variable where we will store own Domain ID or it will be okay to read
>>> domid from Xenstore every time we need it?
>>> If global variable variant is better, what is proffered place to
>>> define
>>> this variable? system/globals=2Ec ?
>>>=20
>>
>> Actually=2E=2E=2E is it possible for QEMU just to use a relative path f=
or
>> the backend nodes? That way it won't need to know it's own domid, will
>> it?
>
>Well, it is possible to use relative path, AFAIK, linux-based backends
>are doing exactly this=2E But problem is with xenstore_mkdir() function,
>which requires domain id to correctly set owner when it causes call to
>set_permissions()=2E
>
>As David said, architecturally it will be better to get rid of
>xenstore_mkdir() usage, because it is used by legacy backends only=2E But
>to do this, someone needs to convert legacy backends to use newer API=2E =
I
>have no capacity to do this right now, so I implemented a contained
>solution:
>
>static int xenstore_read_own_domid(unsigned int *domid)
>
>in xen_pvdev=2Ec=2E I believe, this new function will be removed along wi=
th
>whole xen_pvdev=2Ec when there will be no legacy backends left=2E

Which PV backends do you care about? We already have net, block and consol=
e converted=2E



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 12:10:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 12:10:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639685.997300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68Xi-0008Vw-Ql; Thu, 23 Nov 2023 12:10:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639685.997300; Thu, 23 Nov 2023 12: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 1r68Xi-0008Vp-Nv; Thu, 23 Nov 2023 12:10:50 +0000
Received: by outflank-mailman (input) for mailman id 639685;
 Thu, 23 Nov 2023 12:10: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 1r68Xh-0008Vj-UE
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 12:10: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 1r68Xh-0000z0-GG; Thu, 23 Nov 2023 12:10:49 +0000
Received: from 54-240-197-227.amazon.com ([54.240.197.227]
 helo=[192.168.16.119]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r68Xh-0002qL-62; Thu, 23 Nov 2023 12:10: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=OLST0NWFdQ9shqrCawlV1BK1r6ZD8DsWJMv4PdGyG1s=; b=eXteD45xVDLcqduKh6KpmZmjfS
	ItpGBnpNlZ5CMFgDkPhFC7LqlXuPr72DDYnUULshPlV9C+D7jiNZl+oYSbpgsvgKabg539BGCDPcH
	0Rr0u6fa2VqyrYySYZ5FEtu8QqTpqYyM8uo1H2xc1klxZNV0dPrxYqmY3KoMfdG0pPrI=;
Message-ID: <ba5839c9-c7fd-4ac4-99d4-8083e5bd409c@xen.org>
Date: Thu, 23 Nov 2023 12:10:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/efi: Drop image_name from efi_arch_handle_cmdline()
Content-Language: en-GB
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <JBeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>
References: <20231123113712.1933421-1-andrew.cooper3@citrix.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231123113712.1933421-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Andrew,

On 23/11/2023 11:37, Andrew Cooper wrote:
> With all architectures no longer wanting an image name in the command line
> handling, drop the parameter and forgo making one up.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>

I am not sure if you need one Ack for the change in arm/efi/efi-boot.h. 
If you do:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 12:18:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 12:18:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639688.997310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68f4-0003hd-JU; Thu, 23 Nov 2023 12:18:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639688.997310; Thu, 23 Nov 2023 12: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 1r68f4-0003hW-F6; Thu, 23 Nov 2023 12:18:26 +0000
Received: by outflank-mailman (input) for mailman id 639688;
 Thu, 23 Nov 2023 12:18: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=B0YW=HE=epam.com=prvs=5691553e4c=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r68f2-0003hQ-NE
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 12:18:24 +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 64d49bd5-89fa-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 13:18:23 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ANBD8bk026972; Thu, 23 Nov 2023 12:18:11 GMT
Received: from eur01-db5-obe.outbound.protection.outlook.com
 (mail-db5eur01lp2051.outbound.protection.outlook.com [104.47.2.51])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uj0g5san6-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 23 Nov 2023 12:18:10 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by GVXPR03MB8428.eurprd03.prod.outlook.com (2603:10a6:150:2::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19; Thu, 23 Nov
 2023 12:17:57 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 12:17: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: 64d49bd5-89fa-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=B0pGYeemUvqIqkf1OxR/qjN6Oi38k+4x63vNPJZd/ch0cVykbEa7Imm+VlLtBuQfNRCefA+PwackGFclVVnQrVerLm0W+U1zyWdeA4IELGJoGIqwWAx3ig+pRuw/HwIaw75SeZ1dMxBvyjll2EONZWGAmriYSySrhQ1UMDAzLs2pCPydqnUj8nLeqgVjOQlFBPDoKe4eKymYrGC/i0N1nVYV4WsoEAY1M7BtoNRDI4KWVTqthI4p82uKn+Ox/nTXA3R0sUfkeGZbfqzt24f+U+Ou+fiwQXPlECh5755lNBrVVW52HievXKwKeBqmt6POMet/H/VnSdRirsLsXjP7Fw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=0+0sv1FgfciTdIqpRKA+4ejvw1lyXLNxJsEWq5qi5Bo=;
 b=moLlh4qZy/vkgGUP0InqLQ40jJgBJ8V9Nh3YLodmNT8+/0CJR/WxR3PlUOIWNE27CgmZxX+9gwtvxYUFdocWF/B1zCczWEKGPuD1MT6EZRFaPQW7kuBYSXpEsV1MpbUSaNIQ32r1ItEvJvZQ53qBAvQ50uEQBPDDAFV7nA9Iu+HdxIL8fXjAUaJK6yrVaxyKO1lOZEqP3vwbIye+pF5LwyVV4ZpYX3epyTWAzpkQl9syqmnurZkJvwsfWBo47Y9LgXEsP5JPgA5C1NYQ2SbLLBIgfAs4iADeKEVPAL3Swoob+vF57/FpTU/G5b1EeoTyuN/4xwOgsDzbjwtbVbiQvQ==
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=0+0sv1FgfciTdIqpRKA+4ejvw1lyXLNxJsEWq5qi5Bo=;
 b=CVF2ktSW4YYexZWwW9Jm/nxcjaXGSaV76W7SApFJWoyLHqtdxE4Emx5fHuC7ot9nvM0cNe1wf5PTDqOdhyUc1jTIvYxXICC59T0DfhsuL7CNqk4syK5Wbkn7eUbSUSXId4O2dcTut2i3GIZ5eSv9ssP6j6WNbJatnAJzJzv4WEREMjKXiyuq5j+ISOlYfDr+Pgc0uau84yCz+BnRgSALVSDw0DwTc8GyHrsX/WVl03w1GZBy22KbeBJYQ00T/ADySxvsSYbGH4EE+o4BLtDqS3iKEKwWZzF8cVny0nknCL9rIRgNmXg5m3s8ZmwcO8EReMLVhbZANeDtSN6Wp4lcqQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "paul@xen.org" <paul@xen.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Topic: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Index: 
 AQHaHMeIsCU+MAEGAkSnPoa9ThBNz7CGlGOAgABYsYCAAAmAgIAAAakAgAAAyoCAAAJ4gIAABwqAgAAFCoCAAJ2+AIAAJb8AgAAD5ICAAASYAA==
Date: Thu, 23 Nov 2023 12:17:57 +0000
Message-ID: <87v89swtmz.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
 <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
 <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com>
 <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org> <87bkbky9bb.fsf@epam.com>
 <5941AF2D-71E7-4A5B-A519-25F87F90DC05@infradead.org>
In-Reply-To: <5941AF2D-71E7-4A5B-A519-25F87F90DC05@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|GVXPR03MB8428:EE_
x-ms-office365-filtering-correlation-id: bdeeab05-d1ef-4b49-959f-08dbec1e3a2d
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 WSSqUF/yCD6+otuuFDMPP3louNZZITJZvyuSwf7nft7o/gEwt/C7g9xzZOhhScNKMcEgIESL6VeoVRfEUhKD/1TWDunLtDYZR1I5l3qWAnDGM58b6/tHFiyfR4dBqzh/q08rPWeSDHUfJGtI+KnWuEjPXF0JoYGBEq10dDESsiPuqmoGbzzkQ5+zXYM86qYczNuM5ap3oSmuWzlrSDyTftYLpWXzHwsg8i9J2kmQlncBwkI/DvMn1y11buuZsxehTcy3q0oxDNvv9Az8EH5nhUFDdzTaFAHPiexqVql2uwUL1XHd70B7Kq7nfvkF38tEIr8YSOXbczszfMpx4ADVJQj8MlHEPd0F4iVf5AtFl4RlvQbUCZjNlxQ+o+AA4gbeouynPaG4MDQnangf/lrUOjDGg3hSD1flD1XVJP4gHkBDDfEApaIktwmyiJtTkxUkksSAmdaff4tCHwLYorGyPhACOwner9YXT8KurbeWV++Nk7zOf96dO6W9Nd3LvzxU39rp/8C95Uiu6xQwqcEn861D7BhXRkqFM8US0vZxkDjFIDJCEDWYay5v6XTSrBLCC7auNZccUp5Jgfj/i/fxWWD2UvLrfLBwWROVvT7bHbLyMm/rR2bSi4FokRFlkmfE
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:(13230031)(396003)(39860400002)(346002)(136003)(376002)(366004)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(53546011)(2616005)(6512007)(6506007)(55236004)(83380400001)(2906002)(8936002)(5660300002)(4326008)(71200400001)(8676002)(6486002)(41300700001)(4001150100001)(478600001)(26005)(316002)(6916009)(91956017)(54906003)(66476007)(66556008)(66446008)(64756008)(66946007)(76116006)(86362001)(36756003)(38100700002)(122000001)(38070700009)(66899024);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?JjHtyeb3pCmhYML+udWZTTNshulxEPPB5dOUc96Md8ZzRDwKiOuuadWGhV?=
 =?iso-8859-1?Q?haS0GZFVo1Sg7TdKlJDqfxdIA6wY+J2PALKH4rRXD/5/GWILdvZwU4weDi?=
 =?iso-8859-1?Q?RV+bVxd92svDQWjEfpDij2oC02bQd+FwX0Wi6Og2CvRNljQq4jqHY8hEk8?=
 =?iso-8859-1?Q?6Sl3RX2rPBWJL8V2LV+5U5ptQVrX9DqojbN1s5L+cVZ8ODQAYTFcTwUa/H?=
 =?iso-8859-1?Q?TFSpSSUtcThOPfp8QcutZoyo1mcFi5+eVdoeGGmCclNRwNuU48ZNg2GiAa?=
 =?iso-8859-1?Q?+RnvmCvSdkk98ZWB7m7sD0lg5TFf2G95ZgQNCFgejMeUBQvBJPuJnY3JQW?=
 =?iso-8859-1?Q?ghAgaR3m0nfFoB0jVzmAYFcr/2laMfwcRBB+r1pq58JCl2xDGH2zEEYPfV?=
 =?iso-8859-1?Q?h5rwHIw9xKMSfFM8rfpFSCyj7aVVUMFR7y427FJBYtIFZXG3+YXRTopCQo?=
 =?iso-8859-1?Q?Jq3SRHKRXjGF3nW2tmGfFma5FGVfL36UHgaCYjcCyYRfuCdDlCQmodllqU?=
 =?iso-8859-1?Q?dw7jac/+wrxGy8+LI1bqgEdeclYVoYVapuygjCcU+GHV79BK7kDwtc94DH?=
 =?iso-8859-1?Q?9lnO8fkU8jOXCvQgrbh7bmX3AnGJmZshr/K1uv/Krr2IupYs4ArAlqABf2?=
 =?iso-8859-1?Q?Yo7oFma7GDUiXT3Bpzu4GMeHvpaFZd9hlN8m0+yy3NFbIWk15v3wsoQiVt?=
 =?iso-8859-1?Q?TKZxfl/BvKCNLYVCRx85lTGgo6c1GnrtCOLW2P9XalgWqelSAJz/J750jl?=
 =?iso-8859-1?Q?TMJCpWxADxT48my/sMbag+DtSSwK2fWGg/2UIewqtGguPxr7oet00ctxhG?=
 =?iso-8859-1?Q?nJXQNP5B42MchytGU6sMDVsn3DoGtbyG9dMJIr3bWzw2MgbR7xfc8TLjXK?=
 =?iso-8859-1?Q?vZszRdwIiey/IxPZ6v15unrEvt2D/NdvPb13Prh3KbArM+21nJza3rTJAI?=
 =?iso-8859-1?Q?yrxberBplWNAcs+SsNA12FuFIDh/sr39x5OzuMF6YwL8KDFndr9Lyy/F3X?=
 =?iso-8859-1?Q?SFSn7GvQ6yGAMeYShlDL/cp4/yDQkBUqKASYC7jKoYnAs4CmDtxcuQ9sZs?=
 =?iso-8859-1?Q?MI24faA3zRiYOoLbW4tJldJXi+uXqr8VBJf/Lmder0qc5Sgfkn0mKZlCoJ?=
 =?iso-8859-1?Q?sfBRpq3FyUb61axjmBuZwupy9HSEab1HpyHY77auGTcUrcWtkMbD4mD/Lz?=
 =?iso-8859-1?Q?eT3s6wsvsgvCgc1TqzkEQ6PTZAscTiropd7pfW3XcYypXGfbcFaOo9lozT?=
 =?iso-8859-1?Q?rSDvYZquWOqjYui2I3GiWNvmwAFeYLsz3I+P7XTcvEiGxt9D6btyFSBwam?=
 =?iso-8859-1?Q?E04o01nXvmYvk+xidEDKFtcU1sd90lr2tMHDqPCscFjuMZ6nQGqn68rJZ6?=
 =?iso-8859-1?Q?5KGitZm0KP4/CI5BdzazqrbcaVEVUGMdEB/jsRUK9kuFL45A33Q5ETtJWE?=
 =?iso-8859-1?Q?X6sZKgNfePq1FLDBetwnPMYHcMLWalfgjj2pHN71pp8K6I5zAuOlM6KgG+?=
 =?iso-8859-1?Q?obPnVUplwH0CSLIvDj/UUUhvzc1ir30uQlAV5sxJfYCk4yl8YMb/PIZEc0?=
 =?iso-8859-1?Q?pSmYiV0ncM1pTFpi2iyYhagq5AB7YsyF+BJC5IAHHdQOxWl+VmRNoLxGPo?=
 =?iso-8859-1?Q?URgthzFqL99Z0/MUqdYUY9OEFVTxFYExOEwZfsPdfCImTk6YP8oSLxAg?=
 =?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: bdeeab05-d1ef-4b49-959f-08dbec1e3a2d
X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Nov 2023 12:17:57.2038
 (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: rzvHXVnJ6n9qHhz0KNPZns11ha/KzlpAoslDKHUxh8UeMsve/DSe73Y1wrS4nGiRsjr9RutS0fVMLZLme1DbzfuoCvW7dMObY/GbTs288eY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR03MB8428
X-Proofpoint-GUID: R7a5APl9Kw_xgslFKMXb4NHFsUEefX7g
X-Proofpoint-ORIG-GUID: R7a5APl9Kw_xgslFKMXb4NHFsUEefX7g
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-23_10,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1015
 mlxscore=0 mlxlogscore=999 adultscore=0 malwarescore=0 bulkscore=0
 spamscore=0 impostorscore=0 priorityscore=1501 suspectscore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311230088


Hi David,

David Woodhouse <dwmw2@infradead.org> writes:

> On 23 November 2023 11:54:01 GMT, Volodymyr Babchuk <Volodymyr_Babchuk@ep=
am.com> wrote:
>>
>>Hi Paul,
>>
>>Paul Durrant <xadimgnik@gmail.com> writes:
>>
>>> On 23/11/2023 00:07, Volodymyr Babchuk wrote:
>>>> Hi,
>>>> Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:
>>>>=20
>>>>> Hi Stefano,
>>>>>
>>>>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>>>>
>>>>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>>>>> On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>>>>>>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>>>>>>> On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
>>>>>>>>>> On Wed, 22 Nov 2023, Paul Durrant wrote:
>>>>>>>>>>> On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>>>>>>>>>>>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>>>>>>>>>>>
>>>>>>>>>>>> Instead of forcing the owner to domid 0, use XS_PRESERVE_OWNER=
 to
>>>>>>>>>>>> inherit the owner of the directory.
>>>>>>>>>>>
>>>>>>>>>>> Ah... so that's why the previous patch is there.
>>>>>>>>>>>
>>>>>>>>>>> This is not the right way to fix it. The QEMU Xen support is *a=
ssuming* that
>>>>>>>>>>> QEMU is either running in, or emulating, dom0. In the emulation=
 case this is
>>>>>>>>>>> probably fine, but the 'real Xen' case it should be using the c=
orrect domid
>>>>>>>>>>> for node creation. I guess this could either be supplied on the=
 command line
>>>>>>>>>>> or discerned by reading the local domain 'domid' node.
>>>>>>>>>>
>>>>>>>>>> yes, it should be passed as command line option to QEMU
>>>>>>>>>
>>>>>>>>> I'm not sure I like the idea of a command line option for somethi=
ng
>>>>>>>>> which QEMU could discover for itself.
>>>>>>>>
>>>>>>>> That's fine too. I meant to say "yes, as far as I know the toolsta=
ck
>>>>>>>> passes the domid to QEMU as a command line option today".
>>>>>>>
>>>>>>> The -xen-domid argument on the QEMU command line today is the *gues=
t*
>>>>>>> domain ID, not the domain ID in which QEMU itself is running.
>>>>>>>
>>>>>>> Or were you thinking of something different?
>>>>>>
>>>>>> Ops, you are right and I understand your comment better now. The bac=
kend
>>>>>> domid is not on the command line but it should be discoverable (on
>>>>>> xenstore if I remember right).
>>>>>
>>>>> Yes, it is just "~/domid". I'll add a function that reads it.
>>>> Just a quick question to QEMU folks: is it better to add a global
>>>> variable where we will store own Domain ID or it will be okay to read
>>>> domid from Xenstore every time we need it?
>>>> If global variable variant is better, what is proffered place to
>>>> define
>>>> this variable? system/globals.c ?
>>>>=20
>>>
>>> Actually... is it possible for QEMU just to use a relative path for
>>> the backend nodes? That way it won't need to know it's own domid, will
>>> it?
>>
>>Well, it is possible to use relative path, AFAIK, linux-based backends
>>are doing exactly this. But problem is with xenstore_mkdir() function,
>>which requires domain id to correctly set owner when it causes call to
>>set_permissions().
>>
>>As David said, architecturally it will be better to get rid of
>>xenstore_mkdir() usage, because it is used by legacy backends only. But
>>to do this, someone needs to convert legacy backends to use newer API. I
>>have no capacity to do this right now, so I implemented a contained
>>solution:
>>
>>static int xenstore_read_own_domid(unsigned int *domid)
>>
>>in xen_pvdev.c. I believe, this new function will be removed along with
>>whole xen_pvdev.c when there will be no legacy backends left.
>
> Which PV backends do you care about? We already have net, block and conso=
le converted.

Well, this is all what we need, actually. Even console only will be
sufficient, as we are using QEMU to provide virtio-pci backends, so both
storage and networking should be provided by virtio. Are you proposing
to just drop this patch at all? I believe we can live without it, yes.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 12:21:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 12:21:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639691.997319 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68iF-0006CM-0R; Thu, 23 Nov 2023 12:21:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639691.997319; Thu, 23 Nov 2023 12:21: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 1r68iE-0006CF-Ts; Thu, 23 Nov 2023 12:21:42 +0000
Received: by outflank-mailman (input) for mailman id 639691;
 Thu, 23 Nov 2023 12:21: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=/xmv=HE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r68iD-0006C9-Md
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 12:21:41 +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 da4fa432-89fa-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 13:21:39 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-50aabfa1b75so1047830e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 04:21:39 -0800 (PST)
Received: from EMEAENGAAD19049. (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 c3-20020a5d4143000000b0032da49e18fasm1527987wrq.23.2023.11.23.04.21.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 04:21:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da4fa432-89fa-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700742099; x=1701346899; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id:from:to
         :cc:subject:date:message-id:reply-to;
        bh=GLcs6JC5/5szpcpgesIIKdBNp91UY+6He+PojjhxwKo=;
        b=iAsdnFdqlcW/XzXIGI/BMRe6Y3YrIyX6zEUDGdVRbW9m3fOUzyQMiZZKwEsgcrskoN
         tefc9fDhdsX8Y5dAanR72G7CBNiE+r4VWtcZvULvTlpSRMihGpqJeJKrgx0ZZ/8WL/E9
         P5taUKjktqK99y7aLUFAH/mKW9juTzDgK4rZM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700742099; x=1701346899;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:subject:cc:to:from:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=GLcs6JC5/5szpcpgesIIKdBNp91UY+6He+PojjhxwKo=;
        b=o8zwPwSFSHjO2tfvXc+FYvlnB1vysXc4ZkRPEycwQURITR25S9ii0OC6/w3kEjjO9O
         ws9W+UFJwH4Isk4PXM40ys8p6xQSwfy+GMhJUhRNxlfby8Zc0aNt8keMD4rEevMoXjaY
         qiU7mVZqxP1OA6kLDqo1jZZNrMyOrw22vBdJIF4rQV0NKRNLqOqAi4SN8lSTd/dBXwhz
         bQZQnPC4TqPZ6odS4RrzHhxjTnJr/Mtn63wJCJO6+5OBnmQ5fHpCl2jIu1SjVbW0b3I0
         /AaoMC1WmsruD+olwWq0Ws8y3YQFvB9SwccpEbE2Qt6ZG/ME7px9/UbBiBcvQjy8cudV
         sYYw==
X-Gm-Message-State: AOJu0YznlucHQv3VF9W6NGAYgQm2HnRdwW66czg7CsKgpk+IElErge78
	vAedW8TBycOTeTTNVMK7mfcPfp2KlEGIt/lfo/c=
X-Google-Smtp-Source: AGHT+IHUhaYbDTI82NyfM9Ao4ugStPyV+Y9DZcqCZu38VQuhedChd8uQ94iFhD/PoBFf7lk44nz6Jw==
X-Received: by 2002:ac2:5472:0:b0:50a:6bbc:52e7 with SMTP id e18-20020ac25472000000b0050a6bbc52e7mr3747717lfn.2.1700742098627;
        Thu, 23 Nov 2023 04:21:38 -0800 (PST)
Message-ID: <655f43d2.5d0a0220.afd7c.48b9@mx.google.com>
X-Google-Original-Message-ID: <ZV9D0HzHTi+znZfr@EMEAENGAAD19049.>
Date: Thu, 23 Nov 2023 12:21:36 +0000
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3] xen/x86: On x2APIC mode, derive LDR from APIC ID
References: <20231122160817.15266-1-alejandro.vallejo@cloud.com>
 <ZV8VUFmNe30prv7_@macbook>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZV8VUFmNe30prv7_@macbook>

On Thu, Nov 23, 2023 at 10:03:12AM +0100, Roger Pau Monn wrote:
> On Wed, Nov 22, 2023 at 04:08:17PM +0000, Alejandro Vallejo wrote:
> > Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> > registers are derivable from each other through a fixed formula.
> > 
> > Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> > rather than x2APIC IDs (which are not, at the moment). As I understand it,
> > this is an attempt to tightly pack vCPUs into clusters so each cluster has
> > 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> > x2APIC ID and internally derive LDR (or the other way around)
> > 
> > This patch fixes the implementation so we follow the rules in the x2APIC
> > spec(s) and covers migrations from broken hypervisors, so LDRs are
> > preserved even for hotppluggable CPUs and across APIC resets.
> > 
> > While touching that area, I removed the existing printk statement in
> > vlapic_load_fixup() (as the checks it performed didn't make sense in x2APIC
> > mode and wouldn't affect the outcome) and put another printk as an else
> > branch so we get warnings trying to load nonsensical LDR values we don't
> > know about.
> > 
> > Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
> > Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> 
> Mostly some style nits, and one comment adjustment.
> 
> If you are OK with those:
> 
> Reviewed-by: Roger Pau Monn <roger.pau@citrix.com>
> 
> > ---
> > v3:
> >   * Removed underscores from (x2)APIC_ID in commit message
> >   * Added commit msg explaining the removal of the vlapic_load_fixup() printk
> >   * Restored lowercase to hex "F"s
> >   * Refactored a bit vlapic_load_fixup() so it has a trailing printk in
> >     case of spotting a nonsensical LDR it doesn't understand.
> >   * Moved field in domain.h with the other booleans
> >   * Trimmed down field name in domain.h
> >   * Trimmed down field comment in domain.h
> > 
> > If the field name in domain.h still seems too long I'm happy for it to be
> > trimmed further down, but I do want to preserve the "_bug_" part of it.
> 
> I think the _with_ part is redundant, but it's certainly shorter than
> previously :).
Sure
> 
> > ---
> >  xen/arch/x86/hvm/vlapic.c             | 62 +++++++++++++++++----------
> >  xen/arch/x86/include/asm/hvm/domain.h |  3 ++
> >  2 files changed, 43 insertions(+), 22 deletions(-)
> > 
> > diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> > index 5cb87f8649..cd929c3716 100644
> > --- a/xen/arch/x86/hvm/vlapic.c
> > +++ b/xen/arch/x86/hvm/vlapic.c
> > @@ -1061,13 +1061,23 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
> >      .write = vlapic_mmio_write,
> >  };
> >  
> > +static uint32_t x2apic_ldr_from_id(uint32_t id)
> > +{
> > +    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
> > +}
> > +
> >  static void set_x2apic_id(struct vlapic *vlapic)
> >  {
> > -    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
> > -    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
> > +    uint32_t vcpu_id = vlapic_vcpu(vlapic)->vcpu_id;
> > +    uint32_t apic_id = vcpu_id * 2;
> > +    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
> > +
> > +    /* This is a migration bug workaround. See wall of text in lapic_load_fixup() */
> 
> Line length > 80 cols.
> 
> I try to avoid referencing function names in comments, as they tend to
> get out of sync without noticing.  It's much easier to use cscope to
> grep for x2apic_ldr_bug_with_vcpu_id and find the comment itself.
In my experience that's less of a problem than it's usually made out to be,
and helps new readers know about the real context something is in the place
it is.

But I do hold the atypical belief that an out of date pointer to context is
preferrable to no context.

> 
> > +    if ( vlapic_domain(vlapic)->arch.hvm.x2apic_ldr_bug_with_vcpu_id )
> > +        apic_ldr = x2apic_ldr_from_id(vcpu_id);
> >  
> > -    vlapic_set_reg(vlapic, APIC_ID, id * 2);
> > -    vlapic_set_reg(vlapic, APIC_LDR, ldr);
> > +    vlapic_set_reg(vlapic, APIC_ID, apic_id);
> > +    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
> >  }
> >  
> >  int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
> > @@ -1498,27 +1508,35 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
> >   */
> >  static void lapic_load_fixup(struct vlapic *vlapic)
> >  {
> > -    uint32_t id = vlapic->loaded.id;
> > +    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
> > +    if ( !vlapic_x2apic_mode(vlapic) ||
> > +         (vlapic->loaded.ldr == x2apic_ldr_from_id(vlapic->loaded.id)) )
> > +        return;
> >  
> > -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
> > -    {
> > +    if ( vlapic->loaded.ldr == 1 )
> > +       /*
> > +        * Xen <= 4.4 had a bug by which all the APICs configured in x2APIC
> > +        * mode got LDR = 1. We can't leave it as-is because it assigned the
> > +        * same LDR to every CPU.  We'll fix fix the bug now and assign an
> > +        * LDR value consistent with the APIC ID.
> > +        */
> > +        set_x2apic_id(vlapic);
> > +    else if ( vlapic->loaded.ldr ==
> > +              x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id) )
> >          /*
> > -         * This is optional: ID != 0 contradicts LDR == 1. It's being added
> > -         * to aid in eventual debugging of issues arising from the fixup done
> > -         * here, but can be dropped as soon as it is found to conflict with
> > -         * other (future) changes.
> > +         * This is a migration from a broken Xen between 4.4 and 4.18 and
> > +         * we must _PRESERVE_ LDRs so new vCPUs use consistent derivations.
> 
> Not sure if we should try to avoid mentioning specific versions in the
> comments, as I this fix will be backported to stable branches (I hope),
> and hence those will no longer be affected.
Hence the "broken Xen" part of the paragraphs. Not every 4.18 will have the
problem, but it shouldn't be seen in 4.19 onwards. I think there's value in
stating the versions that "may" exhibit problems, but this is all
subjective 

> 
> > +         * This is so existing running guests that may have already read
> > +         * the LDR at the source host aren't surprised when IPIs stop
> > +         * working as they did at the other end. To address this, we set
> > +         * this domain boolean so future CPU hotplugs derive an LDR
> > +         * consistent with the older Xen's broken idea of consistency.
> 
> I think this is possibly too verbose, I would be fine with just the
> first sentence TBH.  If we want the full comment however, the wording
> should be slightly addressed: it's not just IPIs that would possibly
> fail to be delivered, but any interrupt attempting to target the APIC
> using the previous LDR addressing (either an IPI or an external
> interrupt).
I can s/IPIs/targetted interrupts/ and remove the second sentence.

> 
> >           */
> > -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
> > -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
> > -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
> > -                   vlapic_vcpu(vlapic), id);
> > -        set_x2apic_id(vlapic);
> > -    }
> > -    else /* Undo an eventual earlier fixup. */
> > -    {
> > -        vlapic_set_reg(vlapic, APIC_ID, id);
> > -        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
> > -    }
> > +        vlapic_domain(vlapic)->arch.hvm.x2apic_ldr_bug_with_vcpu_id = true;
> > +    else
> > +        printk(XENLOG_G_WARNING
> > +               "%pv: bogus x2APIC loaded id=%#x ldr=%#x\n",
> > +               vlapic_vcpu(vlapic), vlapic->loaded.id, vlapic->loaded.ldr);
> 
> Could you write the expected values while at it:
> 
> "%pv: bogus x2APIC loaded id=%#x ldr=%#x (expected id=%#x ldr=%#x)\n"
x2APIC ID is current strictly related to the vcpu ID, but it won't be after
I'm done with topology. I can print the expected LDR though.
> 
> >  }
> >  
> >  static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
> > diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
> > index 6e53ce4449..2fee3874cd 100644
> > --- a/xen/arch/x86/include/asm/hvm/domain.h
> > +++ b/xen/arch/x86/include/asm/hvm/domain.h
> > @@ -106,6 +106,9 @@ struct hvm_domain {
> >  
> >      bool                   is_s3_suspended;
> >  
> > +    /* Compat setting for a bug in x2APIC LDR. See vlapic_load_fixup() */
> > +    bool x2apic_ldr_bug_with_vcpu_id;
> 
> I think you already mentioned in a followup reply that using
> bug_x2apic_ldr_vcpu_id would be fine.
> 
> Thanks, Roger.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 12:26:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 12:26:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639694.997329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68mM-00077O-LD; Thu, 23 Nov 2023 12:25:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639694.997329; Thu, 23 Nov 2023 12:25: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 1r68mM-00077H-IB; Thu, 23 Nov 2023 12:25:58 +0000
Received: by outflank-mailman (input) for mailman id 639694;
 Thu, 23 Nov 2023 12:25: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r68mL-00077B-NS
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 12:25:57 +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 7315e04c-89fb-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 13:25:55 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40839652b97so5028955e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 04:25:55 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 c13-20020adfe70d000000b003316aeb280esm1492076wrm.104.2023.11.23.04.25.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 04:25:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7315e04c-89fb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700742355; x=1701347155; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=/HFJpuys/3C0iueHY40knEFy2BG8O360o9QtqcgX8nk=;
        b=oxnRSKphqhCAxEMMP42e+6GDE2D3Y74gzlUPlg+RSKZ967rgDIOcjejWT5LKlLxrh0
         lFg77EezoiGHH6RCYxHa7Y+eZpw4zju7gOO/9Y++TuL9sj5mdL12D1/gW5HNyhRhyXjD
         YuxURhUJWKESYhjWqoOldduHV+bhzghVOo2Ns=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700742355; x=1701347155;
        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:subject:date:message-id:reply-to;
        bh=/HFJpuys/3C0iueHY40knEFy2BG8O360o9QtqcgX8nk=;
        b=k+fuNATOESPVDAGwxQmCGttTr8S0RnPRlapD5SD0Eu3dyM75U26pA5lPlkQDoJK47T
         3FJaj2n/KaqksPT8JIUxYVT7ZhcmqBc46TzPNUXB7rJwocrfvKYGtHF5BZMpQ8AiOD1X
         82TcukSHnuXVH7TZfV7s4kzR3/qkQGpkzBUFHlGuLSxs6jeEPmgMXPFhsamT1+z/pY8M
         SagjyFpLpzRnT2x411Ii5jKss7uTygNChzCKhHslLePbDq1ufgvWOQLFRloo9zo0AEp0
         Ea+4FKJkHp5+atZQ7v7tw2zQBPHRTlw05dTT+h+U3SGGXCHGJO+XXJq0rMsIxoBQx2Sn
         mHPQ==
X-Gm-Message-State: AOJu0YwwDP/8vmk1FnjgjrMay+MpVCSsxSKFwQYunDCW8vAzVHf3fO0X
	5INVwI9phoATBVquZ8Q3cfnvJg==
X-Google-Smtp-Source: AGHT+IE4uOJukdoW4ggmJjJ+gn8neCDCSoYapGuiCY1apY+EjzaP9LVKdM63vphb+MLcDYaeKGUtVw==
X-Received: by 2002:a05:600c:4f8f:b0:408:37aa:4766 with SMTP id n15-20020a05600c4f8f00b0040837aa4766mr4158290wmq.5.1700742355018;
        Thu, 23 Nov 2023 04:25:55 -0800 (PST)
Date: Thu, 23 Nov 2023 13:25:53 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH 1/3] automation/alpine: add elfutils-dev and coreutils
 for livepatch-build-tools
Message-ID: <ZV9E0WQV2eQtkdzU@macbook>
References: <20231123112338.14477-1-roger.pau@citrix.com>
 <20231123112338.14477-2-roger.pau@citrix.com>
 <a55bd27f-a8e1-4ea8-9da7-b80bd424315d@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a55bd27f-a8e1-4ea8-9da7-b80bd424315d@citrix.com>

On Thu, Nov 23, 2023 at 11:51:33AM +0000, Andrew Cooper wrote:
> On 23/11/2023 11:23 am, Roger Pau Monne wrote:
> > In preparation for adding some livepatch-build-tools test update the Alpine
> > container to also install elfutils-dev, coreutils and GNU awk.
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > I don't very much like to add coreutils and gawk, as it's also good to test
> > that we can build Xen with Busybox, but I also got tired of adjusting
> > livepatch-build-tools.
> 
> Right now, the alpine environment is the main one which spots violations
> of Xen's requirement for simply a POSIX-compliant awk, which I think
> this would break?

Likely, we also test on Cirrus using FreeBSD, so we would at least
spot instances where the extensions are not implemented by BSD sed.

> How much effort would it be fix livepatch-build-tools?  I think that
> would be preferable, and could be persuaded to do some simple busywork...

I can give it a try.

> What about coreutils?  Presumably that's down to some differences from
> busybox ?

Yeah, it's for the usage of `readlink -m` by livepatch-build-tools.

We will have to switch to using `readlink -f`, as that's the only
canonicalize option supported by BusyBox readlink.  Note that anyway
`readlink` is not part of POSIX.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 12:28:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 12:28:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639701.997339 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68oU-0001fA-0Z; Thu, 23 Nov 2023 12:28:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639701.997339; Thu, 23 Nov 2023 12: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 1r68oT-0001f3-UD; Thu, 23 Nov 2023 12:28:09 +0000
Received: by outflank-mailman (input) for mailman id 639701;
 Thu, 23 Nov 2023 12:28: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=vIdj=HE=desiato.srs.infradead.org=BATV+39fc1edcc778f4c9f1e2+7396+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r68oT-0001ex-9C
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 12:28:09 +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 c1bb521c-89fb-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 13:28:07 +0100 (CET)
Received: from [154.49.97.70] (helo=[127.0.0.1])
 by desiato.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux))
 id 1r68oO-00D1r7-1U; Thu, 23 Nov 2023 12: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>
X-Inumbo-ID: c1bb521c-89fb-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=desiato.20200630; h=Content-Transfer-Encoding:Content-Type
	:MIME-Version:Message-ID:References:In-Reply-To:Subject:CC:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=VWAK5xRltuUBYASYt9N56sGcUspu6GohkiBafufHCA0=; b=EiBAOkdFLOJ1usJy9AlhHcl2sM
	Ta/5PJj91vLX5+bH5MXaGjle+lRV/jAShyvmu/i8I35lhzusJ+2Sc/O/DCi5kFkY3G53OnSId0xa+
	P5B+wYJczBuLDkCZyzkm+oxkTTF2rapRawGWikVcHNqAYZlyLEv1UM4/am95yWycJgJdJuAhfKkla
	TAbBp7q4TlyZAoOqrgN7DhUH9Bo3OY3BLkWZKHS0setC0zL6Q67Hky4Rqrqx7Nj1KlfeuGQrRlCsI
	qwgwZclYE+W3lNuWSFNR/r+W2Hw+NDHeIZYOnANn5BM8Y19BPR9wWaR9N+xKBtVuc4t7xKpNSPypY
	LGwVMR0w==;
Date: Thu, 23 Nov 2023 12:27:58 +0000
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
CC: "paul@xen.org" <paul@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 Julien Grall <julien@xen.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_v2_4/6=5D_xen=5Fpvdev=3A_Do_not_?= =?US-ASCII?Q?assume_Dom0_when_creating_a_directory?=
User-Agent: K-9 Mail for Android
In-Reply-To: <87v89swtmz.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com> <20231121221023.419901-5-volodymyr_babchuk@epam.com> <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org> <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop> <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org> <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop> <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org> <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop> <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com> <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org> <87bkbky9bb.fsf@epam.com> <5941AF2D-71E7-4A5B-A519-25F87F90DC05@infradead.org> <87v89swtmz.fsf@epam.com>
Message-ID: <C2DEE963-41CB-4377-93FD-BD9FB500926F@infradead.org>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by desiato.infradead.org. See http://www.infradead.org/rpr.html

On 23 November 2023 12:17:57 GMT, Volodymyr Babchuk <Volodymyr_Babchuk@epam=
=2Ecom> wrote:
>
>Hi David,
>
>David Woodhouse <dwmw2@infradead=2Eorg> writes:
>> Which PV backends do you care about? We already have net, block and con=
sole converted=2E
>
>Well, this is all what we need, actually=2E Even console only will be
>sufficient, as we are using QEMU to provide virtio-pci backends, so both
>storage and networking should be provided by virtio=2E Are you proposing
>to just drop this patch at all? I believe we can live without it, yes=2E

Yeah, I think you can drop anything that's only needed for the legacy back=
ends=2E I'm tempted to make a separate config option to compile those out=
=2E



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 12:40:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 12:40:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639707.997349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r68zm-0003x8-US; Thu, 23 Nov 2023 12:39:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639707.997349; Thu, 23 Nov 2023 12: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 1r68zm-0003x1-Rv; Thu, 23 Nov 2023 12:39:50 +0000
Received: by outflank-mailman (input) for mailman id 639707;
 Thu, 23 Nov 2023 12: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=aajm=HE=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r68zl-0003vq-59
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 12:39:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 61b6b9db-89fd-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 13:39:45 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.163.50.194])
 by support.bugseng.com (Postfix) with ESMTPSA id 5B5954EE073C;
 Thu, 23 Nov 2023 13:39:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61b6b9db-89fd-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 v2] xen/sort: address violations of MISRA C:2012 Rule 8.2
Date: Thu, 23 Nov 2023 13:39:37 +0100
Message-Id: <8b84bea9a52d9ae60fc355855bcb046ac5f24686.1700740128.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
  - used "a" and "b" for cmp.
---
 xen/include/xen/sort.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/sort.h b/xen/include/xen/sort.h
index 2f52ff85b9..b953286284 100644
--- a/xen/include/xen/sort.h
+++ b/xen/include/xen/sort.h
@@ -23,8 +23,8 @@
 extern gnu_inline
 #endif
 void sort(void *base, size_t num, size_t size,
-          int (*cmp)(const void *, const void *),
-          void (*swap)(void *, void *, size_t))
+          int (*cmp)(const void *a, const void *b),
+          void (*swap)(void *a, void *b, size_t size))
 {
     /* pre-scale counters for performance */
     size_t i = (num / 2) * size, n = num * size, c, r;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 12:54:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 12:54:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639711.997359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r69Dg-0000wL-4N; Thu, 23 Nov 2023 12:54:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639711.997359; Thu, 23 Nov 2023 12:54: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 1r69Dg-0000wE-1m; Thu, 23 Nov 2023 12:54:12 +0000
Received: by outflank-mailman (input) for mailman id 639711;
 Thu, 23 Nov 2023 12:54: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=XtUW=HE=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r69De-0000w8-IK
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 12:54:10 +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 64ac9cb8-89ff-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 13:54:09 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-332e3664665so317459f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 04:54:09 -0800 (PST)
Received: from [192.168.13.100] (54-240-197-239.amazon.com. [54.240.197.239])
 by smtp.gmail.com with ESMTPSA id
 x12-20020adff64c000000b0032dcb08bf94sm1590693wrp.60.2023.11.23.04.54.07
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 04:54:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64ac9cb8-89ff-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700744049; x=1701348849; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=HZIchAkcO0//9C5nqftIicLiV2zh6+6vSKtm2NieiM0=;
        b=l4JJ+/wB1VyhIiklMq6sLnZaauqfGg25Vqo+JJ4NrLdypgtxvE6CB2hGG75r2go2Sz
         LZxuskjMXYyFGrka27gxN0TdePO9mEbhBRVbDzS7GG0nN8i5GxN0c8PHuNtMBXn5uQa0
         SlqCSuy/B1Ipaytu6BEJHvuaslL8z+SQc51aJgy1CjYNBno85XyQiOfq5QUCd1XpIirj
         9h1YN8lm/EdKPGVVFy2i61NoriVepC7fG4oxc9au9EqpMO0Opx0GMhCxjzV5CLy2V2QR
         lGtegi+6noy5RYyDhVNiRl24khXYRq3qzaGp2HlZY1dG+/xU8CWzZjdFoxXjrd9PgeeP
         d3Gg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700744049; x=1701348849;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=HZIchAkcO0//9C5nqftIicLiV2zh6+6vSKtm2NieiM0=;
        b=HGec+b51RAO7Fx7L2FbEc/nz5Z7KTE/W3kH3J/zazHt3R+Cth8IjAeEBcgM9WFKOHV
         upkQD2+WVV3MBb2X9nknxu6ZfbWUSIUBt0yEUK3zzmmsyImjs09MJCiee4IUfVN18l6P
         0OOMQ5gJCrrc4qKVCrhvlJc0JPFNrI7gJeqnXUayw6nB7AKxfn9wJqubuwqfgRilZTCN
         7RVBceBz8VQqywvSQmu9lOCv0VZuC9BEPjQAyiHVtZqPcU+4qa4gP96knqfTTsdCvlpO
         PnNT0y9wtfz2YOgIe0s/bg3xAxOpLPB0kTyAsP+4b+NhAl031EGQwP5L8zPU3pqh6Y57
         KSCQ==
X-Gm-Message-State: AOJu0YxP+pMOdu/hicJ61wU6JYzWXnkJEhXSC5YBk+zmU2rNUYTboZuQ
	zJu6LMueu/dA2wE1ldbTkxk=
X-Google-Smtp-Source: AGHT+IFujjuk0/ucGpYUlc6IACHFhCshwdqxfv5BZ3tZlcL7bRzD1bBfZyNAYEFctx1owHEK4qc5Hg==
X-Received: by 2002:a5d:5983:0:b0:32d:5870:8b8a with SMTP id n3-20020a5d5983000000b0032d58708b8amr3092264wri.56.1700744048752;
        Thu, 23 Nov 2023 04:54:08 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <ef7bed62-03b4-4759-8366-730ec6f3004b@xen.org>
Date: Thu, 23 Nov 2023 12:54:07 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Content-Language: en-US
To: David Woodhouse <dwmw2@infradead.org>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
 Julien Grall <julien@xen.org>,
 Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
 <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
 <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com>
 <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org> <87bkbky9bb.fsf@epam.com>
 <5941AF2D-71E7-4A5B-A519-25F87F90DC05@infradead.org>
 <87v89swtmz.fsf@epam.com>
 <C2DEE963-41CB-4377-93FD-BD9FB500926F@infradead.org>
Organization: Xen Project
In-Reply-To: <C2DEE963-41CB-4377-93FD-BD9FB500926F@infradead.org>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 23/11/2023 12:27, David Woodhouse wrote:
> On 23 November 2023 12:17:57 GMT, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> wrote:
>>
>> Hi David,
>>
>> David Woodhouse <dwmw2@infradead.org> writes:
>>> Which PV backends do you care about? We already have net, block and console converted.
>>
>> Well, this is all what we need, actually. Even console only will be
>> sufficient, as we are using QEMU to provide virtio-pci backends, so both
>> storage and networking should be provided by virtio. Are you proposing
>> to just drop this patch at all? I believe we can live without it, yes.
> 
> Yeah, I think you can drop anything that's only needed for the legacy backends. I'm tempted to make a separate config option to compile those out.
> 

I think that would be a good idea. The other legacy bacckend that we may 
need to care about is xenfb... not so much the framebuffer itself, but 
the mouse and keyboard aspects. The XENVKBD and XENHID drivers expose PV 
mouse and keyboard to Windows instances so it's be nice if we can avoid 
the backend withering away.

   Paul


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 12:57:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 12:57:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639714.997370 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r69Gu-0002Ap-Jd; Thu, 23 Nov 2023 12:57:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639714.997370; Thu, 23 Nov 2023 12:57: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 1r69Gu-0002Ai-Fa; Thu, 23 Nov 2023 12:57:32 +0000
Received: by outflank-mailman (input) for mailman id 639714;
 Thu, 23 Nov 2023 12: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=fHbn=HE=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r69Gs-00029R-Gw
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 12:57:30 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2062f.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::62f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da62fb7a-89ff-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 13:57:27 +0100 (CET)
Received: from SJ0PR05CA0184.namprd05.prod.outlook.com (2603:10b6:a03:330::9)
 by CH0PR12MB5386.namprd12.prod.outlook.com (2603:10b6:610:d5::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 12:57:24 +0000
Received: from CO1PEPF000044F4.namprd05.prod.outlook.com
 (2603:10b6:a03:330:cafe::3e) by SJ0PR05CA0184.outlook.office365.com
 (2603:10b6:a03:330::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14 via Frontend
 Transport; Thu, 23 Nov 2023 12:57:24 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CO1PEPF000044F4.mail.protection.outlook.com (10.167.241.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Thu, 23 Nov 2023 12:57:23 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Thu, 23 Nov
 2023 06:57:22 -0600
Received: from [172.28.214.164] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Thu, 23 Nov 2023 06:57:21 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da62fb7a-89ff-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mI+CIZVOJ7SPtesLjDX5FOcjwe5cBeqHwzRUr8O8nIjPUafcChBuQW8fyv//fIbQ8bE+BQxSY/hmeaEnOXY3Hes9ElzQVyVVDnIwCEamMkn8ih9CUTVEXYcw+3DZs3frdXKamndheWkBhkeRfcSp/8c+Ba32xWsPNBncARfM37ck8RYez7aaccuak4rtdgwDoZY16fB76JOP+VtXcQgflStJjdorg45JxRKdJDOj2l99aFMHT3pMsh6hdq+dUHN7cjERxX9oglH6PFIcmAkRLPQF+vpUxXSPbgBaCSqlI1fE2BB/qWvhOMEWXV+2icO0dh0/LDxebyZ7isqALVn8aA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=IFMKOYpWh97J33kiNDv1TLuF8rDGTo7G3bOUBlPBr70=;
 b=CbYPYrHj5AAySXlYZ48arjjvQMniaWuO1EQ1c+B6W+b8siVuweTQyirEUtKZS01VTSt8vIwDbbwwFxcj0vARQ374jnAk7athL3idzVJuYZ3xTCOidFEFDDuTshBlStQfS8GsK01HdxEJszaVT8MRzTHjIHUwSJp4e9TdFJE/MsOQ+IVTWXiKDknOAl2Pd6cf23SkmSnW5EnV3xH3n1eHlNOlKnwxf5NVVCEzgYhtgJPgZYiYRaE+JCix/FSYeNQqmfjUL4nSzcBsTPVR+xX3faqOVd5wZ5xkAqugiu/J3JB68MQZ9uPfI90T99vQSwQ3g/jXQ/HFaaUSr50+FFYnww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=IFMKOYpWh97J33kiNDv1TLuF8rDGTo7G3bOUBlPBr70=;
 b=ZZB7knsZn/HrgAONuMa4ri6WZIC/ZvqgwNH3UPkQIbRwlxhhmeN+sjRoWG2F8TR9llEap+xeSTI6mtOAM9H6f9DB6CR0Nvy/v/Vj8jQj7JgACF0zN2o3itMncxq5gzKiEH6mDh2/S3J0XHKRlRS/Za3gByPptLto/FGLZxn/Urs=
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: <193af77c-9176-44e6-bc29-073a6a2d2b12@amd.com>
Date: Thu, 23 Nov 2023 07:57:21 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 1/2] xen/vpci: header: status register handler
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@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>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVdfRQpGFSU1OIkh@macbook.local>
 <a28239cd-e94e-4e0e-b415-a7ae32befd40@amd.com> <ZV8J7CoFJyN9a5GO@macbook>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <ZV8J7CoFJyN9a5GO@macbook>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044F4:EE_|CH0PR12MB5386:EE_
X-MS-Office365-Filtering-Correlation-Id: 3c6a251f-7807-42e4-b2c9-08dbec23bce5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2v/4YFilu/0CxnkQusl/xYkFIEEWar8qz7VWZnUXrxWnd1vpBdBXgNKgSb2v5fqMkgt+x2fsf5nk0eD9vK3PK3+vKKMhTiQtcQcrqMsBjymjs0jFdLXXZKD/rte283AGGNG4Su6xQU4SMPvL11pa/DbicmY61N6OsYh/ng2gWV3hn/9rJfAhqI4nR8pqbVHjWxDjPPSBWv4tSzNYfjWHeey7on741EDjdqv+88s+d8MGXDxlIUGdlA+Mme/4sGeTpDoGbIYL64IWVTslW5dUWORLIZRlQkexLS6h2cPrVPguKm64UtUTzJPPbMHbg6dOYJOPwSdEuPu7zSgq5kDwzhmAZccVvcQhK2AZaZEKW9lntS8QqiEszAHHg3q6JQE/p++CfAxmjY0FyztmVNVh70703OqQd3JEOlszmbKOUbay9h1SxYf7aNY6ezMgGGhq6jpIjbjtIA9kH4uns3wkYkCMoWJGUulGHF/cXqN7CyqU8jpB8HZry4WX2RtXCH38OkY9FHBkE7cy0j2E1/lj8u/EbpV22jIme4ccfdgMDtY+heRpn6mjaCZIVh6mBQk5qxlEgkYUpVpuQkuNCgzxoDDaV5/JK1lNJe+1QfPgm8OTQn+5XAj5n3AN1p0WbKFD8AjvmwmyvR/gGeD4EuHbGUZOLUPndbHwrkmCtdS59YlPKfBfDc2CQncfI+XhB9AidiPJn2eX+W5gM3v/qxOsPZDnrxdVaqCjInfihtH4VTtP4fllNz6rUjFz1xjzdBAz05ybEWEJQizpWIHpJOaHtTlllBCrc+52epe0fbz/ku0bnxE+pIcdvSKBnAr9/cIk
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:(13230031)(4636009)(136003)(396003)(39860400002)(346002)(376002)(230922051799003)(1800799012)(64100799003)(82310400011)(186009)(451199024)(40470700004)(46966006)(36840700001)(5660300002)(2906002)(8676002)(8936002)(54906003)(6916009)(16576012)(4326008)(316002)(70586007)(70206006)(40480700001)(41300700001)(478600001)(53546011)(31686004)(44832011)(26005)(2616005)(336012)(426003)(83380400001)(40460700003)(36860700001)(47076005)(82740400003)(81166007)(356005)(86362001)(36756003)(31696002)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 12:57:23.8831
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3c6a251f-7807-42e4-b2c9-08dbec23bce5
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:
	CO1PEPF000044F4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5386

On 11/23/23 03:14, Roger Pau Monné wrote:
> On Wed, Nov 22, 2023 at 03:16:29PM -0500, Stewart Hildebrand wrote:
>> On 11/17/23 07:40, Roger Pau Monné wrote:
>>> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
>>>>      r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
>>>>               r->private);
>>>>  }
>>>> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
>>>> index 84b18736a85d..b72131729db6 100644
>>>> --- a/xen/include/xen/pci_regs.h
>>>> +++ b/xen/include/xen/pci_regs.h
>>>> @@ -66,6 +66,15 @@
>>>>  #define  PCI_STATUS_REC_MASTER_ABORT	0x2000 /* Set on master abort */
>>>>  #define  PCI_STATUS_SIG_SYSTEM_ERROR	0x4000 /* Set when we drive SERR */
>>>>  #define  PCI_STATUS_DETECTED_PARITY	0x8000 /* Set on parity error */
>>>> +#define  PCI_STATUS_RSVDZ_MASK		0x0006
>>>
>>> In my copy of the PCIe 6 spec bit 6 is also RsvdZ, so the mask should
>>> be 0x46.
>>
>> Right, mine too. It's probably safer to follow the newer version of the spec, so I'll make the change. For completeness / archaeology purposes, I just want to document some relevant data points here.
>>
>> In PCIe 4 spec, it says this about bit 6:
>> "These bits were used in previous versions of the programming model. Careful consideration should be given to any attempt to repurpose them."
>>
>> Going further back, PCI (old school PCI, not Express) spec 3.0 says this about bit 6:
>> "This bit is reserved. *"
>> "* In Revision 2.1 of this specification, this bit was used to indicate whether or not a device supported User Definable Features."
>>
>> Just above in our pci_regs.h (and equally in Linux include/uapi/linux/pci_regs.h) we have this definition for bit 6:
>> #define  PCI_STATUS_UDF         0x40    /* Support User Definable Features [obsolete] */
>>
>> Qemu hw/xen/xen_pt_config_init.c treats bit 6 as RO:
>>         .ro_mask    = 0x06F8,
> 
> Right, given the implementation of ro_mask that would likely be fine.
> Reading unconditionally as 0 while preserving the value on writes
> seems the safest option.

That would mean treating bit 6 as RsvdP, even though the PCIe 6 spec says RsvdZ. I just want to confirm this is indeed the intent since we both said RsvdZ just a moment ago? If so, I would add a comment since it's deviating from spec. I would personally still vote in favor of following PCIe 6 spec (RsvdZ).


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 13:02:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 13:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639717.997380 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r69LF-0005V3-4d; Thu, 23 Nov 2023 13:02:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639717.997380; Thu, 23 Nov 2023 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 1r69LF-0005Uw-1S; Thu, 23 Nov 2023 13:02:01 +0000
Received: by outflank-mailman (input) for mailman id 639717;
 Thu, 23 Nov 2023 13:02: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=TgoN=HE=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r69LE-0005Uq-Es
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 13:02:00 +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 7c935877-8a00-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 14:01:59 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a03a9009572so106799466b.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 05:01:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7c935877-8a00-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700744518; x=1701349318; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/nk61CThOtea5xEFpqybNHgT8bhSZzhIxClozUiKtjU=;
        b=SzcL6oY8zxZubhQHF8TleKgcnoGNk8kwi5/SuZXlnhSYhjJdZZBqoR0yd84xH/wDAo
         SKEl3iUPilb59P6NbzKUm6CHKFTsxptIWs+eXiKZCFpIp+CCQ9tsknBp2IBhGgyi7CM/
         5dNpGqB6MVSAlq6gMwClkp/izyn8BDIqVQqzk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700744518; x=1701349318;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/nk61CThOtea5xEFpqybNHgT8bhSZzhIxClozUiKtjU=;
        b=MF//xEVoSCUI/4veE85FVlgD75/kkN8u02uULCNGrNzBt4ZIc9QD9589al10qqSpe3
         Bl9kUqEzI2brCr50MLCkF07D5h8r8ccCB/uJ7B8aqu028my8AwmYdwzo10xYt2ycQLha
         uB7J8JgnwSUv2hzchj4CsoXsFKrj+NDygIHSaazeMyqch76duwdyJ4NQFrUs8FxccUYz
         gSnYcthXcK47a+FFPiMJG8i7hCcedZ5TEebrqZ345FSosaOAA2TryhqfIqLn0LA/KMOn
         bqFUx1omWouiKITCpjDc4c9O9Arxjt7CXSdd9j2nB2Xaf3U/wfpUIxJsO5FdwWDtcHKa
         pFPQ==
X-Gm-Message-State: AOJu0Yxj7MAROIfAaBoU4hulGh8lZzlXPGN/liOfgy9sJ3eom0K8tvCw
	Mr0Oh/nK/BfiDcEUSjvMK94MpbMdOQkEEHyCGDus3A==
X-Google-Smtp-Source: AGHT+IFnRzRjHWXNuEftP4xueMU/4wZoowDeYOi40petKXnK6ZIqgaNdUhI7PmdOa0JJfHdh9oW/qD+bTaFXBy5pP7s=
X-Received: by 2002:a17:906:48c7:b0:a00:9e91:ce17 with SMTP id
 d7-20020a17090648c700b00a009e91ce17mr3570586ejt.67.1700744518502; Thu, 23 Nov
 2023 05:01:58 -0800 (PST)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Thu, 23 Nov 2023 13:01:22 +0000
Message-ID: <CAO-mL=yeRn02O9vN-fNnSuXpvWq1_cYDLPDc=Le+nC3gTnkUpw@mail.gmail.com>
Subject: =?UTF-8?Q?The_Xen_Project=E2=80=99s_20th_Anniversary_=2D_Upcoming_Soci?=
	=?UTF-8?Q?al_Event=21?=
To: advisory-board@lists.xenproject.org, xen-devel@lists.xenproject.org, 
	xen-users@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000e12de7060ad17033"

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

*The Xen Project=E2=80=99s 20th Anniversary*

*Let's get together for an informal social, likely to be pizza/drinks and
getting involved with the community. I hope to run these in future
locations to give everyone a chance to attend.*

*Date placeholder: Wednesday 21st February 2024*
*Location: Cambridge*
*Details TBC - **If you're interested, please reply to me directly and I
will add you to the list.*

*Celebrating Two Decades of Innovation*

It=E2=80=99s hard to believe that two decades have passed since the incepti=
on of
the Xen Project, a trailblazing force in the world of open-source
virtualization. As we raise our glasses to commemorate this momentous
occasion, it=E2=80=99s not just a celebration of time but a reflection on t=
he
incredible journey that has defined the Xen Project=E2=80=99s legacy.

*A Legacy of Innovation*

In the year 2003, the Xen Project emerged as a pioneering open-source
hypervisor, laying the groundwork for some of the most influential cloud
infrastructures that shape our digital landscape today. Over the past 20
years, the Xen Project has not only endured but has thrived, continuously
evolving to meet the dynamic demands of the ever-changing tech landscape.

*Driving Technological Frontiers*

>From data center and server virtualization to cloud computing, desktop
virtualization, and fortifying desktop security and hardware appliances,
the Xen Project has been at the forefront of driving technological
innovation. With 20 years of relentless development, it has become
synonymous with reliability, scalability, and adaptability.

*Venturing into New Horizons*

As we celebrate this milestone, we also look forward to the exciting new
territories that the Xen Project is venturing into. From embedded
virtualization to even making strides in the automotive industry, the Xen
Project continues to push boundaries and redefine what=E2=80=99s possible i=
n the
world of open-source virtualization.

*The Annual Event: Xen Project Developer and Design Summit*

At the heart of this remarkable journey is the Xen Project Developer and
Design Summit, an annual gathering of the community=E2=80=99s brilliant min=
ds and
power users. More than just a conference, it=E2=80=99s a celebration of ide=
a
exchange, a showcase of the latest advancements, a platform for sharing
invaluable experiences, and a forum for strategic planning and
collaborative efforts. Be sure to look out for our upcoming event in 2024.

*A Vibrant Community Defining the Future*

Beyond the code and technological achievements, the Xen Project=E2=80=99s s=
trength
lies in its vibrant community. It=E2=80=99s a community that has come toget=
her to
celebrate successes, overcome challenges, and collectively shape the future
of open-source virtualization technology. Even to this day, community
contributions and reviews are still going!

*Looking Ahead*

As we commemorate 20 years of innovation, we also eagerly anticipate the
next chapter in the Xen Project=E2=80=99s journey. With gratitude for the p=
ast and
excitement for the future, we extend our deepest thanks to everyone who has
contributed to this incredible legacy.

Here=E2=80=99s to 20 years of pushing boundaries, fostering collaboration, =
and
shaping the digital landscape.

Happy anniversary, Xen Project! The best is yet to come and I can=E2=80=99t=
 wait to
see what we all achieve.

Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group

--000000000000e12de7060ad17033
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><b>The Xen Project=E2=80=99s 20th Anniversary</b></di=
v><div><br></div><div><i>Let&#39;s get=C2=A0together for an informal social=
, likely to be pizza/drinks and getting involved with the community. I hope=
 to run these in future locations to give everyone a chance to attend.</i><=
/div><div><i><br></i></div><div><i><b>Date placeholder: Wednesday 21st Febr=
uary 2024</b></i></div><div><i><b>Location: Cambridge</b></i></div><div><i>=
<b>Details TBC -=C2=A0</b></i><b><font color=3D"#ff0000"><i>If you&#39;re i=
nterested, please reply to me directly and I will add you to the list.</i><=
/font></b></div><div><br></div><div><b>Celebrating Two Decades of Innovatio=
n</b><br></div><div><b><br></b></div><div>It=E2=80=99s hard to believe that=
 two decades have passed since the inception of the Xen Project, a trailbla=
zing force in the world of open-source virtualization. As we raise our glas=
ses to commemorate this momentous occasion, it=E2=80=99s not just a celebra=
tion of time but a reflection on the incredible journey that has defined th=
e Xen Project=E2=80=99s legacy.<br><b><br>A Legacy of Innovation</b><br><br=
>In the year 2003, the Xen Project emerged as a pioneering open-source hype=
rvisor, laying the groundwork for some of the most influential cloud infras=
tructures that shape our digital landscape today. Over the past 20 years, t=
he Xen Project has not only endured but has thrived, continuously evolving =
to meet the dynamic demands of the ever-changing tech landscape.<br><b><br>=
Driving Technological Frontiers</b><br><br>From data center and server virt=
ualization to cloud computing, desktop virtualization, and fortifying deskt=
op security and hardware appliances, the Xen Project has been at the forefr=
ont of driving technological innovation. With 20 years of relentless develo=
pment, it has become synonymous with reliability, scalability, and adaptabi=
lity.<br><b><br>Venturing into New Horizons</b><br><br>As we celebrate this=
 milestone, we also look forward to the exciting new territories that the X=
en Project is venturing into. From embedded virtualization to even making s=
trides in the automotive industry, the Xen Project continues to push bounda=
ries and redefine what=E2=80=99s possible in the world of open-source virtu=
alization.<br><b><br>The Annual Event: Xen Project Developer and Design Sum=
mit</b><br><br>At the heart of this remarkable journey is the Xen Project D=
eveloper and Design Summit, an annual gathering of the community=E2=80=99s =
brilliant minds and power users. More than just a conference, it=E2=80=99s =
a celebration of idea exchange, a showcase of the latest advancements, a pl=
atform for sharing invaluable experiences, and a forum for strategic planni=
ng and collaborative efforts. Be sure to look out for our upcoming event in=
 2024.<br><b><br>A Vibrant Community Defining the Future</b><br><br>Beyond =
the code and technological achievements, the Xen Project=E2=80=99s strength=
 lies in its vibrant community. It=E2=80=99s a community that has come toge=
ther to celebrate successes, overcome challenges, and collectively shape th=
e future of open-source virtualization technology. Even to this day, commun=
ity contributions and reviews are still going!<br><br><b>Looking Ahead</b><=
br><br>As we commemorate 20 years of innovation, we also eagerly anticipate=
 the next chapter in the Xen Project=E2=80=99s journey. With gratitude for =
the past and excitement for the future, we extend our deepest thanks to eve=
ryone who has contributed to this incredible legacy.<br><br>Here=E2=80=99s =
to 20 years of pushing boundaries, fostering collaboration, and shaping the=
 digital landscape.<br><br>Happy anniversary, Xen Project! The best is yet =
to come and I can=E2=80=99t wait to see what we all achieve.<br></div><div>=
<br></div><div><div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D=
"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</div><div>Kelly Choi</=
div><div><br></div><div><div style=3D"color:rgb(136,136,136)">Open Source C=
ommunity Manager</div><div style=3D"color:rgb(136,136,136)">XenServer, Clou=
d Software Group</div></div></div></div></div></div>

--000000000000e12de7060ad17033--


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 13:18:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 13:18:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639746.997409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r69bH-0002VJ-3E; Thu, 23 Nov 2023 13:18:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639746.997409; Thu, 23 Nov 2023 13:18: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 1r69bG-0002VC-VI; Thu, 23 Nov 2023 13:18:34 +0000
Received: by outflank-mailman (input) for mailman id 639746;
 Thu, 23 Nov 2023 13:18: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=ez7b=HE=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r69bF-0002Tm-Q0
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 13:18:33 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0604.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cc2eb7da-8a02-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 14:18:31 +0100 (CET)
Received: from DB3PR06CA0015.eurprd06.prod.outlook.com (2603:10a6:8:1::28) by
 VI1PR08MB5310.eurprd08.prod.outlook.com (2603:10a6:803:135::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.20; Thu, 23 Nov 2023 13:18:27 +0000
Received: from DU6PEPF0000A7E1.eurprd02.prod.outlook.com
 (2603:10a6:8:1:cafe::63) by DB3PR06CA0015.outlook.office365.com
 (2603:10a6:8:1::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19 via Frontend
 Transport; Thu, 23 Nov 2023 13:18:27 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000A7E1.mail.protection.outlook.com (10.167.8.45) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.14 via Frontend Transport; Thu, 23 Nov 2023 13:18:27 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Thu, 23 Nov 2023 13:18:27 +0000
Received: from 9c3bc0fa9b3a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 679A1AC0-0ABD-4C9F-B42A-49F4B098F2AE.1; 
 Thu, 23 Nov 2023 13:18:16 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 9c3bc0fa9b3a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 23 Nov 2023 13:18:16 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GV1PR08MB10522.eurprd08.prod.outlook.com (2603:10a6:150:16b::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 13:18:13 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 13:18: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: cc2eb7da-8a02-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=XKRzZNQIpDocUxU/ceZSuBDvIICE8EdCAHAoJORRQwd4GPSP2JMoOvxhUFoVzeflgSviqQ+8j7BjF3pUL58kyYxrb7Rnhk3U3XWWX23ARa/FJBZ6K7ahziEdMcqkA3LqIniqg8B3tzYj/PYqIiozkqB6YdFFpJK6/sHuSIN0n6V0KloqxAFYCTJ+saoBlMUmX2ZWvRaupD75TQijNWnaFzMqawyPl7Palh1EWjy/wmP/eRKeWV5xmsGr+0ZQJdr6d++nKlZk6sksOH3yy5xR++6l0O6iym6SWONv72nQl1J7XVrEW9tDcqefTVhwEo7wypj+M/uBilx2RfJgJVo0/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=TQwfXJ5nzZTd20S+0kB7ST4T/DpW6ZZZ9hDRBn6UmPQ=;
 b=LfwJAKS5Iw2BbVVWSbRKUpwyaCo2EQsKhEJTJBwqX34s0k+jh1geAvafQdsNNq/nuYpsTE4umnba+ELqHl7S/iOdvfZWj+1cWaRSE5LTO0r7FBKNdV8KMit8kbxDTovJAYgGfksISdOp9MDlfELVIjKHLsxbHj6HIib+18LN167q8fqLsDGvZkJIWU2dXrRojDcklwZ+EaaMWXpB8znk3N30MW/ZhfWaZfttdbXq1qPeBN/bdm3CmHxa8XCVzyf9p1m0R1lrIS2NzaqdAp53CopPkSOV+/juCyRszRN7fhkIUK4hp7lswaS9ePOuYxIErymqYKKkDKaosoGP4WP++Q==
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=TQwfXJ5nzZTd20S+0kB7ST4T/DpW6ZZZ9hDRBn6UmPQ=;
 b=AQkykSH3ILpLgEjJeOM1K7G1pdf+LSaAkvLLnfH2swKZsrZ4T9H5SZ4udaTkkaqLmfnqnb7Bwkw95iVq9/kQx4A/QjGuy6sIZf2lpZ6vnpvG1TwH6WMDKZbC61jXMeax10LJHnpT96Nsv6DqTJ34rBP1DKU2JeNXEI1IqFUcTvY=
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: f25adea915b7cdd4
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A+f6bUXyfumi9Bq3B9dmsfuTolB3KGSSF97N9DoLArXfGA2bUSBNgEhgcKWm5VciIZ2csLDaCzBvIZhuBMyWe03KrMQX+bA0a8p+Zj3vKXK2g513iCtSWxdw1z5xTgOQeECHdmoqBBUSAukkFYqLw/vCFPndob8ke9zh1GCFTujZwC1qCv977kOrgJVHP1oy9Kb+l96Jcp0Z00NJZGy/TzKhkP3fCxq5WOLF/qJ0TL10xU5SLENr6gJOd9USLZeLU1l7BBjR4tT2iQOsm2EB+avENAfOGYvg6f/QYSHpfz6ZtPxkLFW5FwuHMdow0CqgmFVXZ+v/xntCW3PkAkJCDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TQwfXJ5nzZTd20S+0kB7ST4T/DpW6ZZZ9hDRBn6UmPQ=;
 b=bm4ecVZSZaHldQFHDa8NwDQL6kp/ee5eH0Z8wT4M8QFPv54hhUpBx5zbwL6QZOfV4T2JD/GP0SX3LZ4FULMDhY7cgccJ5U+M21AqMIMDequDqlGkxMgdDVshdIwCUkjsOPaI76YDDenZ/QKS1RIZSpoN3VsH1yU0boe6O6krHMxf+kqXEkoCAbRhLZbwqL2LAdBpocK8GL4bsj4uJNPIIW20ULwb/wZW/uuUGrUvbNmjgvmLGVMvkarWvyymjLXSHlk4fo5EEZWoRzECLpkgrsvcB+msrdNiKf9fQMQOpZv6PDQHs/f25gVM4FDdcZnM0IGn3hRtdOM3ftx9TIlMAQ==
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=TQwfXJ5nzZTd20S+0kB7ST4T/DpW6ZZZ9hDRBn6UmPQ=;
 b=AQkykSH3ILpLgEjJeOM1K7G1pdf+LSaAkvLLnfH2swKZsrZ4T9H5SZ4udaTkkaqLmfnqnb7Bwkw95iVq9/kQx4A/QjGuy6sIZf2lpZ6vnpvG1TwH6WMDKZbC61jXMeax10LJHnpT96Nsv6DqTJ34rBP1DKU2JeNXEI1IqFUcTvY=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Jan Beulich
	<JBeulich@suse.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: [PATCH] xen/efi: Drop image_name from efi_arch_handle_cmdline()
Thread-Topic: [PATCH] xen/efi: Drop image_name from efi_arch_handle_cmdline()
Thread-Index: AQHaHgF/OGRENIQ3z0S7KVyjXDqoiLCH4vaA
Date: Thu, 23 Nov 2023 13:18:13 +0000
Message-ID: <0FC16BD8-2B7D-4983-A8BD-563612202A89@arm.com>
References: <20231123113712.1933421-1-andrew.cooper3@citrix.com>
In-Reply-To: <20231123113712.1933421-1-andrew.cooper3@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GV1PR08MB10522:EE_|DU6PEPF0000A7E1:EE_|VI1PR08MB5310:EE_
X-MS-Office365-Filtering-Correlation-Id: 9332bcb0-c257-4b3e-5f2a-08dbec26adee
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:
 yShTTiKP4vdEmBuM6V4jUPs4Pf8iua3h8/Ph+CzTcGIIPumeTuh5+c5yX4h5P/Oiby5YaPNJRobr3w6QXGaDe3+dCiWVnAQW5lpSCEn5dVJKTjvjYqvdoypK4F63dAmp3wxmHupaaWkeUFwveEZbonY1NVuj0Df7NAex8WbMMRsFGhCYDtERP3yn8UThhmByd9VHHUtqS7Wfu6XmIKBfVA2RvugZg2t0zNjmFq+XO8NoX5GOCbhuOlOTYOuhJTAW3ifUr4jt3oTqREZFruv8TtXeJK2q3pmMuoxjtfW1ERnBMwMtSIoxmOYI8v5SBDmdy+Akqs067fqHlygRf4ktQkeVAqNxEXR9fL38txGl1fz6vRE+thKJ9BDj/nZ+5f7g2TMYE9RXywmbO5/1wBpMCW7zXPj3CJYeCtwGTX9+nMMzWevVYiVoED2ODvDwnXlJPvVBR1e38CKVxODO/d8e2/luMBRBYqogo9CJDyajE2qTGbklNrIeKQGLpZhLSjhrsKAwx/TorlcgSONR9EMjHjEQoeZa8YfqAdbX3J6EFHecOmV8IVxR2mPaNzjxgJqnlvP9x41LbTcjGAcP7OjrDWGtErWwTPpVURIRMZbySLA+8rbOkfZdR70n4H1vmU890f1INANngLYE8YXQ33pLdA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(366004)(136003)(396003)(346002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(26005)(71200400001)(53546011)(6506007)(478600001)(6486002)(2616005)(66556008)(66446008)(64756008)(66476007)(54906003)(91956017)(6916009)(66946007)(2906002)(316002)(76116006)(8676002)(5660300002)(4326008)(6512007)(4744005)(36756003)(38100700002)(41300700001)(86362001)(33656002)(38070700009)(8936002)(122000001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0E5A70716A169D4F99FDB409F5AFC581@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB10522
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:
 DU6PEPF0000A7E1.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	6abd264a-1214-4678-50c5-08dbec26a5b6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yddJ6nHXvmrSBhgE+45FHmat3+qVMPPHznhEmlRh77kb6srCUEviUTxMm9pidrfu8eIbT9ZaQg4Wr9m9wasBYCX7qKF1JfZI0mb222yb+bDUmPb1ZdsiKkh7vrdA2q033p7I1Extf/sB9eZTcEEPGffpPjGMJkrZVs+4R9wKkC7XKoLTiGdBDqUG4KM3F4zOo7eNfL+awCaRSMlwx2RV3+aCF188vCJ3iHal9rb87IW87XkCpmXbEcfViKqg5tFnNzXYs41KOWvkEczBimZVH0gptOTw0wcErAhYbOY26REx/SEZHMB4Cp4D1wZj+eGZrJ3bqNJZ3PXkGK6V2PUonOGMwlp9ym2DnbsXbCI9AmBxlCjOORitdSA/2YVxPFAMrHMj+HYZhVmL/219ydLlKlk/qFSz/f1iYSXnlrLFT3i7KVeV0FaL9iw6dbLtlDuwj0LNiB6HYbh1h4VGi2igZzbF7b8Gn3eC8yW69n38bWavOr+P73wjJS6AM6QCsQ3ktJ3KjkKI2mQymMwe2MbmR10tzoyG4nKCPP49XVNNVemTykHcDP+DGr8FaDHHsJpSV9P6EO3jX+YTaWHITcfXlIo7G52E9pOh5RTjCsyEBKZvSOxwsg5UDqfx7HiEN8xE3PCIuom8QLm/hNe4UTzmwReMkmiz66b6TUkIQfC6nX+AT8t4FfoGAqlHJLuYabnkYViVuHzPHMg9TJhB6W1IPw==
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:(13230031)(4636009)(136003)(376002)(396003)(39850400004)(346002)(230922051799003)(186009)(1800799012)(82310400011)(64100799003)(451199024)(46966006)(36840700001)(40480700001)(70586007)(70206006)(54906003)(36756003)(81166007)(356005)(82740400003)(33656002)(86362001)(36860700001)(53546011)(336012)(26005)(6506007)(6512007)(2616005)(2906002)(4744005)(316002)(6486002)(478600001)(8676002)(5660300002)(4326008)(47076005)(41300700001)(8936002)(6862004);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 13:18:27.3893
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9332bcb0-c257-4b3e-5f2a-08dbec26adee
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:
	DU6PEPF0000A7E1.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5310

DQoNCj4gT24gMjMgTm92IDIwMjMsIGF0IDExOjM3LCBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29v
cGVyM0BjaXRyaXguY29tPiB3cm90ZToNCj4gDQo+IFdpdGggYWxsIGFyY2hpdGVjdHVyZXMgbm8g
bG9uZ2VyIHdhbnRpbmcgYW4gaW1hZ2UgbmFtZSBpbiB0aGUgY29tbWFuZCBsaW5lDQo+IGhhbmRs
aW5nLCBkcm9wIHRoZSBwYXJhbWV0ZXIgYW5kIGZvcmdvIG1ha2luZyBvbmUgdXAuDQo+IA0KPiBT
aWduZWQtb2ZmLWJ5OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPg0K
PiAtLS0NCj4gQ0M6IEphbiBCZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4NCj4gQ0M6IFJvZ2Vy
IFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPg0KPiBDQzogV2VpIExpdSA8d2xAeGVu
Lm9yZz4NCj4gQ0M6IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4N
Cj4gQ0M6IEp1bGllbiBHcmFsbCA8anVsaWVuQHhlbi5vcmc+DQo+IENDOiBWb2xvZHlteXIgQmFi
Y2h1ayA8Vm9sb2R5bXlyX0JhYmNodWtAZXBhbS5jb20+DQo+IENDOiBCZXJ0cmFuZCBNYXJxdWlz
IDxiZXJ0cmFuZC5tYXJxdWlzQGFybS5jb20+DQo+IENDOiBNaWNoYWwgT3J6ZWwgPG1pY2hhbC5v
cnplbEBhbWQuY29tPg0KPiAtLS0NCj4geGVuL2FyY2gvYXJtL2VmaS9lZmktYm9vdC5oIHwgIDMg
Ky0tDQoNClRlc3RlZCBvbiBBUk0gYm9hcmQNCg0KVGVzdGVkLWJ5OiBMdWNhIEZhbmNlbGx1IDxs
dWNhLmZhbmNlbGx1QGFybS5jb20+DQoNCg0KDQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 14:03:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 14:03:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639750.997419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6AIz-0002w1-BC; Thu, 23 Nov 2023 14:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639750.997419; Thu, 23 Nov 2023 14: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 1r6AIz-0002vu-7o; Thu, 23 Nov 2023 14:03:45 +0000
Received: by outflank-mailman (input) for mailman id 639750;
 Thu, 23 Nov 2023 14:03: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r6AIx-0002vo-Oy
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 14:03:43 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 19d1b306-8a09-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 15:03:38 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-32fdc5be26dso493718f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 06:03:38 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 s11-20020adfeccb000000b00332c6c5ce82sm1749462wro.94.2023.11.23.06.03.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 06:03:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 19d1b306-8a09-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700748218; x=1701353018; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=4w0Ll5Z0+tsReFNI0L6TwaBLx7stMZGJ1xi3oGaHBHE=;
        b=TiKzV388FwgakKS/D7DCTaOJpBTrmRgP1EsvE8DEuzuEBObeMUaSMfIJVYOQb+Np4c
         76IITtRKwARicaIQIdaZhLnwBbhvGMbOfMmR8QY9VFlwzJoH04z/208yo1cE7JtVyhDe
         I5abQTP512uu2DZREKCJSEUrGMKDH3Qvk4aak=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700748218; x=1701353018;
        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:subject:date:message-id:reply-to;
        bh=4w0Ll5Z0+tsReFNI0L6TwaBLx7stMZGJ1xi3oGaHBHE=;
        b=XXydlC4KE4ioV7yYaH4FmKEZnVMk4+oGz1uANhUQFBJTdSpp59F/S3eXA9Zbr1JKlQ
         9s5SWNFzDae1KB7Nri1Gzqx9Q8dr2EzZ4CBSPD+J6OG6T/yeAGFKMGhE7cdQf05LHPIu
         P+0i3DI4AkwNZEhV2W8M1Ihx0IM1ozKrj45nkYV/XmNW4oLNyZ7zS6RuvD1g87ks2T6h
         1nxu4nzOdVZa6YhnIveDG+WwqwHvgwO7YEEMSFqXx15cRSGTCho0jGAjR3xTm1mj8/kz
         KgvQLjlAcLoyr6Hi8egp1e+7SoGuPyV5lEqEeulUlILcO8F+jlcJtcdQpTWxh1XbF9xW
         SBeg==
X-Gm-Message-State: AOJu0Yzxqpjx7ThehoRz2EH8AsiG3qXQgavjkwwJqeT/9Qu2MjzX4EKQ
	GJ+T79d+TeY/WSS7ZNwC1aOUpQ==
X-Google-Smtp-Source: AGHT+IGhc2AeetIk6vo28zcyGDjwnmepgcn9RGG2JHlM91YPT7k5cme2XhF1FY934P+W8EC+nMNG5g==
X-Received: by 2002:a05:6000:818:b0:32f:7cba:6815 with SMTP id bt24-20020a056000081800b0032f7cba6815mr3034593wrb.61.1700748217602;
        Thu, 23 Nov 2023 06:03:37 -0800 (PST)
Date: Thu, 23 Nov 2023 15:03:36 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>
Subject: Re: [PATCH v3] xen/x86: On x2APIC mode, derive LDR from APIC ID
Message-ID: <ZV9buKlgta4Gbn-a@macbook>
References: <20231122160817.15266-1-alejandro.vallejo@cloud.com>
 <ZV8VUFmNe30prv7_@macbook>
 <655f43d2.5d0a0220.afd7c.48b9@mx.google.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <655f43d2.5d0a0220.afd7c.48b9@mx.google.com>

On Thu, Nov 23, 2023 at 12:21:36PM +0000, Alejandro Vallejo wrote:
> On Thu, Nov 23, 2023 at 10:03:12AM +0100, Roger Pau Monné wrote:
> > On Wed, Nov 22, 2023 at 04:08:17PM +0000, Alejandro Vallejo wrote:
> > > +static uint32_t x2apic_ldr_from_id(uint32_t id)
> > > +{
> > > +    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
> > > +}
> > > +
> > >  static void set_x2apic_id(struct vlapic *vlapic)
> > >  {
> > > -    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
> > > -    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
> > > +    uint32_t vcpu_id = vlapic_vcpu(vlapic)->vcpu_id;
> > > +    uint32_t apic_id = vcpu_id * 2;
> > > +    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
> > > +
> > > +    /* This is a migration bug workaround. See wall of text in lapic_load_fixup() */
> > 
> > Line length > 80 cols.
> > 
> > I try to avoid referencing function names in comments, as they tend to
> > get out of sync without noticing.  It's much easier to use cscope to
> > grep for x2apic_ldr_bug_with_vcpu_id and find the comment itself.
> In my experience that's less of a problem than it's usually made out to be,
> and helps new readers know about the real context something is in the place
> it is.
> 
> But I do hold the atypical belief that an out of date pointer to context is
> preferrable to no context.

It's a question of taste TBH, I'm certainly not going to insist.

Since you have to wrap the line to fit in 80 cols anyway, I think I
would rather write: "This is a workaround for migrated domains. ...".
Current text reads to me as it's a migration bug, but that's not the
case, the bug is in the previous Xen versions.  I'm not a native
speaker anyway, so maybe it's just me reading it wrong.

> > 
> > > +    if ( vlapic_domain(vlapic)->arch.hvm.x2apic_ldr_bug_with_vcpu_id )
> > > +        apic_ldr = x2apic_ldr_from_id(vcpu_id);
> > >  
> > > -    vlapic_set_reg(vlapic, APIC_ID, id * 2);
> > > -    vlapic_set_reg(vlapic, APIC_LDR, ldr);
> > > +    vlapic_set_reg(vlapic, APIC_ID, apic_id);
> > > +    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
> > >  }
> > >  
> > >  int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
> > > @@ -1498,27 +1508,35 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
> > >   */
> > >  static void lapic_load_fixup(struct vlapic *vlapic)
> > >  {
> > > -    uint32_t id = vlapic->loaded.id;
> > > +    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
> > > +    if ( !vlapic_x2apic_mode(vlapic) ||
> > > +         (vlapic->loaded.ldr == x2apic_ldr_from_id(vlapic->loaded.id)) )
> > > +        return;
> > >  
> > > -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
> > > -    {
> > > +    if ( vlapic->loaded.ldr == 1 )
> > > +       /*
> > > +        * Xen <= 4.4 had a bug by which all the APICs configured in x2APIC
> > > +        * mode got LDR = 1. We can't leave it as-is because it assigned the
> > > +        * same LDR to every CPU.  We'll fix fix the bug now and assign an
> > > +        * LDR value consistent with the APIC ID.
> > > +        */
> > > +        set_x2apic_id(vlapic);
> > > +    else if ( vlapic->loaded.ldr ==
> > > +              x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id) )
> > >          /*
> > > -         * This is optional: ID != 0 contradicts LDR == 1. It's being added
> > > -         * to aid in eventual debugging of issues arising from the fixup done
> > > -         * here, but can be dropped as soon as it is found to conflict with
> > > -         * other (future) changes.
> > > +         * This is a migration from a broken Xen between 4.4 and 4.18 and
> > > +         * we must _PRESERVE_ LDRs so new vCPUs use consistent derivations.
> > 
> > Not sure if we should try to avoid mentioning specific versions in the
> > comments, as I this fix will be backported to stable branches (I hope),
> > and hence those will no longer be affected.
> Hence the "broken Xen" part of the paragraphs. Not every 4.18 will have the
> problem, but it shouldn't be seen in 4.19 onwards. I think there's value in
> stating the versions that "may" exhibit problems, but this is all
> subjective 

FE.

> > 
> > > +         * This is so existing running guests that may have already read
> > > +         * the LDR at the source host aren't surprised when IPIs stop
> > > +         * working as they did at the other end. To address this, we set
> > > +         * this domain boolean so future CPU hotplugs derive an LDR
> > > +         * consistent with the older Xen's broken idea of consistency.
> > 
> > I think this is possibly too verbose, I would be fine with just the
> > first sentence TBH.  If we want the full comment however, the wording
> > should be slightly addressed: it's not just IPIs that would possibly
> > fail to be delivered, but any interrupt attempting to target the APIC
> > using the previous LDR addressing (either an IPI or an external
> > interrupt).
> I can s/IPIs/targetted interrupts/ and remove the second sentence.

I would just use interrupts FWIW.

> > 
> > >           */
> > > -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
> > > -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
> > > -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
> > > -                   vlapic_vcpu(vlapic), id);
> > > -        set_x2apic_id(vlapic);
> > > -    }
> > > -    else /* Undo an eventual earlier fixup. */
> > > -    {
> > > -        vlapic_set_reg(vlapic, APIC_ID, id);
> > > -        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
> > > -    }
> > > +        vlapic_domain(vlapic)->arch.hvm.x2apic_ldr_bug_with_vcpu_id = true;
> > > +    else
> > > +        printk(XENLOG_G_WARNING
> > > +               "%pv: bogus x2APIC loaded id=%#x ldr=%#x\n",
> > > +               vlapic_vcpu(vlapic), vlapic->loaded.id, vlapic->loaded.ldr);
> > 
> > Could you write the expected values while at it:
> > 
> > "%pv: bogus x2APIC loaded id=%#x ldr=%#x (expected id=%#x ldr=%#x)\n"
> x2APIC ID is current strictly related to the vcpu ID, but it won't be after
> I'm done with topology. I can print the expected LDR though.

Oh, I see.  Just printing the expected LDR then would be fine.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 14:17:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 14:17:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639756.997428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6AVl-0005RA-Es; Thu, 23 Nov 2023 14:16:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639756.997428; Thu, 23 Nov 2023 14:16: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 1r6AVl-0005R3-CE; Thu, 23 Nov 2023 14:16:57 +0000
Received: by outflank-mailman (input) for mailman id 639756;
 Thu, 23 Nov 2023 14:16: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6AVk-0005Qx-PU
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 14:16:56 +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 f4e337f6-8a0a-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 15:16:55 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2c50fbc218bso10983091fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 06:16:55 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 k24-20020a5d5258000000b00332c0aace23sm1769672wrc.105.2023.11.23.06.16.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 06:16:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f4e337f6-8a0a-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700749015; x=1701353815; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/VeyuOSS3Ok7p1BtL7wybFYD9ZnZlniBJMfODcYSU/w=;
        b=uASgIVLapAdWYTi4lZu8V4ZzvHArCIU8Y8ALBPYr5J2NjL7oQ/dkQMVWZePQ2rYomK
         YYdB/Y/fXFKZW57l9oQcWl8Sg6xVMJs1uMRObCGuBFOmn8cz3s/5nDsHqD8ydwFI5pTg
         MJHaXaaIv7UR8ZwNrt3qKDQmNeVEKYE2JE63o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700749015; x=1701353815;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/VeyuOSS3Ok7p1BtL7wybFYD9ZnZlniBJMfODcYSU/w=;
        b=uP3mmTCtoVwkLBqwrwzEE4rqLFO1gvwhMgCVfeCGG2Mdz/aaI6CvxnS2jJp87w+Jho
         vIJDeYk9nD/993P47qEkW/VEr5v1+2oH+2ScPkrVp4Exd9ej1kjQUA3kXHZYzYnoMfDD
         2hr+08gOq19raEH6cdc5GW2dX51+ZyITRhlgQqvmXebdvXoBiqCoUrFASw+C42Ef/Z7J
         C4SWvwyowhh2ntgw2/Jd42sY1bJBx43ouR5xs6yX62wHfhLgd/oofMcMdimPDM0VAcEY
         4QH7bX9V/5/Fhosuh02gXH9E8SG+3tIcHwFCJfF0L3JOExKQ6gKd6imAnKITUNkAcf9u
         iwvA==
X-Gm-Message-State: AOJu0YyrNVYgh/bSIRY1tkxMa6N3l7wmv5e+nqRsBybs9ik7ZH+JTQaR
	RwgFqq0TdRHPnWSaJp5Bec6gvw==
X-Google-Smtp-Source: AGHT+IEHBWPes3Ee0STyhH7mvDg/ZJFDarsNzRbs/qzFsDSbfUDhIoHO3JMHBB49dID4WVowiInEIQ==
X-Received: by 2002:a2e:9b44:0:b0:2b9:f13b:6139 with SMTP id o4-20020a2e9b44000000b002b9f13b6139mr4592226ljj.20.1700749015372;
        Thu, 23 Nov 2023 06:16:55 -0800 (PST)
Message-ID: <e711e392-2c1a-440f-8206-f5125e38e7c6@citrix.com>
Date: Thu, 23 Nov 2023 14:16:54 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>,
 Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>
References: <20231122160817.15266-1-alejandro.vallejo@cloud.com>
 <ZV8VUFmNe30prv7_@macbook> <655f43d2.5d0a0220.afd7c.48b9@mx.google.com>
 <ZV9buKlgta4Gbn-a@macbook>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZV9buKlgta4Gbn-a@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/11/2023 2:03 pm, Roger Pau Monné wrote:
> On Thu, Nov 23, 2023 at 12:21:36PM +0000, Alejandro Vallejo wrote:
>> On Thu, Nov 23, 2023 at 10:03:12AM +0100, Roger Pau Monné wrote:
>>> On Wed, Nov 22, 2023 at 04:08:17PM +0000, Alejandro Vallejo wrote:
>>>> +    if ( vlapic_domain(vlapic)->arch.hvm.x2apic_ldr_bug_with_vcpu_id )
>>>> +        apic_ldr = x2apic_ldr_from_id(vcpu_id);
>>>>  
>>>> -    vlapic_set_reg(vlapic, APIC_ID, id * 2);
>>>> -    vlapic_set_reg(vlapic, APIC_LDR, ldr);
>>>> +    vlapic_set_reg(vlapic, APIC_ID, apic_id);
>>>> +    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
>>>>  }
>>>>  
>>>>  int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
>>>> @@ -1498,27 +1508,35 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
>>>>   */
>>>>  static void lapic_load_fixup(struct vlapic *vlapic)
>>>>  {
>>>> -    uint32_t id = vlapic->loaded.id;
>>>> +    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
>>>> +    if ( !vlapic_x2apic_mode(vlapic) ||
>>>> +         (vlapic->loaded.ldr == x2apic_ldr_from_id(vlapic->loaded.id)) )
>>>> +        return;
>>>>  
>>>> -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
>>>> -    {
>>>> +    if ( vlapic->loaded.ldr == 1 )
>>>> +       /*
>>>> +        * Xen <= 4.4 had a bug by which all the APICs configured in x2APIC
>>>> +        * mode got LDR = 1. We can't leave it as-is because it assigned the
>>>> +        * same LDR to every CPU.  We'll fix fix the bug now and assign an
>>>> +        * LDR value consistent with the APIC ID.
>>>> +        */
>>>> +        set_x2apic_id(vlapic);
>>>> +    else if ( vlapic->loaded.ldr ==
>>>> +              x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id) )
>>>>          /*
>>>> -         * This is optional: ID != 0 contradicts LDR == 1. It's being added
>>>> -         * to aid in eventual debugging of issues arising from the fixup done
>>>> -         * here, but can be dropped as soon as it is found to conflict with
>>>> -         * other (future) changes.
>>>> +         * This is a migration from a broken Xen between 4.4 and 4.18 and
>>>> +         * we must _PRESERVE_ LDRs so new vCPUs use consistent derivations.
>>> Not sure if we should try to avoid mentioning specific versions in the
>>> comments, as I this fix will be backported to stable branches (I hope),
>>> and hence those will no longer be affected.
>> Hence the "broken Xen" part of the paragraphs. Not every 4.18 will have the
>> problem, but it shouldn't be seen in 4.19 onwards. I think there's value in
>> stating the versions that "may" exhibit problems, but this is all
>> subjective 
> FE.

This patch has a high chance of being backported.  Old version numbers
(4.4 in this case) are critical information.

For the new end, "to date (Nov 2023)" or similar tends to works better,
because it also doesn't go stale when backported.

If a version is necessary/preferred, then "4.19 dev window" also works well.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 14:21:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 14:21:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639760.997439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Aa7-0007Wd-4Z; Thu, 23 Nov 2023 14:21:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639760.997439; Thu, 23 Nov 2023 14: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 1r6Aa7-0007WW-0i; Thu, 23 Nov 2023 14:21:27 +0000
Received: by outflank-mailman (input) for mailman id 639760;
 Thu, 23 Nov 2023 14:21: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r6Aa6-0007WQ-0W
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 14:21:26 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 952e9b7e-8a0b-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 15:21:24 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-32fdc5be26dso504426f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 06:21:24 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 t2-20020a5d4602000000b0032da4c98ab2sm1846428wrq.35.2023.11.23.06.21.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 06:21:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 952e9b7e-8a0b-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700749284; x=1701354084; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Q+1DgVCIvaP4AaHYReC5cKmAtSWJTfarkK6VJra/tqM=;
        b=XnqMrxgvVAxJXJ4qKNcwtR/hXzjxfsVoBR83xWcI3pvcUwEefF8fRzbqeP21KOJ5e/
         wVnUyTyJl52q6PAI0OpXR84vZ+UvPLZAK/j8I464O7EmUdvcxXX0cgRQjxwv/1nVqi+Z
         nJ66rKsZxlMgOyyJpbGu4K81mdIEUgdW0ZbWE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700749284; x=1701354084;
        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:subject:date:message-id:reply-to;
        bh=Q+1DgVCIvaP4AaHYReC5cKmAtSWJTfarkK6VJra/tqM=;
        b=JIklpTfmX3aYDuUhg/eOF8QzS0Mlst6PIYO0dyTmxEjXws8bw73B6WMbgVH18i3UEp
         3qfzdUpVnpyBvsK8junG12q+F0V+G4zjaQ9d8l14+q/ixYD6q+LrlFIjnJoK7F4uLDDu
         adwEZwIj0Fl5VYyQE9MSvri1VlQBREHIfgyL48P7/E4AkgFSORZBuawKqfD3KG272Mst
         6LfOmPGqgNfBA35gaEjffA6h1zAMzarUeTVd1VxR4dqoQjFMfegFqDy006CCZMMzvzYJ
         iRftRLratb6/o9Pz+2pIFR+XUj1hdFrcWp+x+izDKLVPrKX+9Y44oSPWy84P+KDb1jxh
         kIJQ==
X-Gm-Message-State: AOJu0Yy7TE4AMT/L3ef76yv586HsLWXWxVG7kbu6+cRoaXlEa0WwblQI
	9NQo0zhMSfudCRZh9cmYFso5dw==
X-Google-Smtp-Source: AGHT+IFwTQmP5vbApJWHTWbSdnRO4YrkOLy2xLhoG1kbFzsO6uuzjnfkGb4t18DJEAe8PN7L1PgvkQ==
X-Received: by 2002:a5d:558d:0:b0:32f:7b89:2675 with SMTP id i13-20020a5d558d000000b0032f7b892675mr2343314wrv.65.1700749284309;
        Thu, 23 Nov 2023 06:21:24 -0800 (PST)
Date: Thu, 23 Nov 2023 15:21:23 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.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 v7 1/2] xen/vpci: header: status register handler
Message-ID: <ZV9f4wJvWw7d5gCA@macbook>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-2-stewart.hildebrand@amd.com>
 <ZVdfRQpGFSU1OIkh@macbook.local>
 <a28239cd-e94e-4e0e-b415-a7ae32befd40@amd.com>
 <ZV8J7CoFJyN9a5GO@macbook>
 <193af77c-9176-44e6-bc29-073a6a2d2b12@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <193af77c-9176-44e6-bc29-073a6a2d2b12@amd.com>

On Thu, Nov 23, 2023 at 07:57:21AM -0500, Stewart Hildebrand wrote:
> On 11/23/23 03:14, Roger Pau Monné wrote:
> > On Wed, Nov 22, 2023 at 03:16:29PM -0500, Stewart Hildebrand wrote:
> >> On 11/17/23 07:40, Roger Pau Monné wrote:
> >>> On Wed, Sep 13, 2023 at 10:35:46AM -0400, Stewart Hildebrand wrote:
> >>>>      r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
> >>>>               r->private);
> >>>>  }
> >>>> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
> >>>> index 84b18736a85d..b72131729db6 100644
> >>>> --- a/xen/include/xen/pci_regs.h
> >>>> +++ b/xen/include/xen/pci_regs.h
> >>>> @@ -66,6 +66,15 @@
> >>>>  #define  PCI_STATUS_REC_MASTER_ABORT	0x2000 /* Set on master abort */
> >>>>  #define  PCI_STATUS_SIG_SYSTEM_ERROR	0x4000 /* Set when we drive SERR */
> >>>>  #define  PCI_STATUS_DETECTED_PARITY	0x8000 /* Set on parity error */
> >>>> +#define  PCI_STATUS_RSVDZ_MASK		0x0006
> >>>
> >>> In my copy of the PCIe 6 spec bit 6 is also RsvdZ, so the mask should
> >>> be 0x46.
> >>
> >> Right, mine too. It's probably safer to follow the newer version of the spec, so I'll make the change. For completeness / archaeology purposes, I just want to document some relevant data points here.
> >>
> >> In PCIe 4 spec, it says this about bit 6:
> >> "These bits were used in previous versions of the programming model. Careful consideration should be given to any attempt to repurpose them."
> >>
> >> Going further back, PCI (old school PCI, not Express) spec 3.0 says this about bit 6:
> >> "This bit is reserved. *"
> >> "* In Revision 2.1 of this specification, this bit was used to indicate whether or not a device supported User Definable Features."
> >>
> >> Just above in our pci_regs.h (and equally in Linux include/uapi/linux/pci_regs.h) we have this definition for bit 6:
> >> #define  PCI_STATUS_UDF         0x40    /* Support User Definable Features [obsolete] */
> >>
> >> Qemu hw/xen/xen_pt_config_init.c treats bit 6 as RO:
> >>         .ro_mask    = 0x06F8,
> > 
> > Right, given the implementation of ro_mask that would likely be fine.
> > Reading unconditionally as 0 while preserving the value on writes
> > seems the safest option.
> 
> That would mean treating bit 6 as RsvdP, even though the PCIe 6 spec
> says RsvdZ. I just want to confirm this is indeed the intent since
> we both said RsvdZ just a moment ago? If so, I would add a comment
> since it's deviating from spec. I would personally still vote in
> favor of following PCIe 6 spec (RsvdZ).

Hm, yes, lets go with the spec and use RsdvZ.  I very much doubt we
passthrough any device that actually uses the UDF bit.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 14:48:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 14:48:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639766.997448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Azy-00079C-6t; Thu, 23 Nov 2023 14:48:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639766.997448; Thu, 23 Nov 2023 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 1r6Azy-000795-3x; Thu, 23 Nov 2023 14:48:10 +0000
Received: by outflank-mailman (input) for mailman id 639766;
 Thu, 23 Nov 2023 14:48: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=ez7b=HE=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r6Azw-00077b-MR
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 14:48:08 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::62b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ea487dc-8a0f-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 15:48:05 +0100 (CET)
Received: from AM0PR03CA0009.eurprd03.prod.outlook.com (2603:10a6:208:14::22)
 by PAVPR08MB8920.eurprd08.prod.outlook.com (2603:10a6:102:328::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 14:47:57 +0000
Received: from AM3PEPF00009B9F.eurprd04.prod.outlook.com
 (2603:10a6:208:14:cafe::ed) by AM0PR03CA0009.outlook.office365.com
 (2603:10a6:208:14::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend
 Transport; Thu, 23 Nov 2023 14:47:57 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF00009B9F.mail.protection.outlook.com (10.167.16.24) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.13 via Frontend Transport; Thu, 23 Nov 2023 14:47:57 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Thu, 23 Nov 2023 14:47:56 +0000
Received: from e6cafe2b4390.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 A1245429-B631-4A2F-A868-380A30A73018.1; 
 Thu, 23 Nov 2023 14:47:45 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e6cafe2b4390.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 23 Nov 2023 14:47:45 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PA4PR08MB7434.eurprd08.prod.outlook.com (2603:10a6:102:2a5::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 14:47:42 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 14:47: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: 4ea487dc-8a0f-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=K8f32XnnSauqGwtOheR7PUuPH1A3JtDQnW3PE9ST9YwdTAbVHXHmHgX3RefnpySQbVlWACvUZZyWJ+igklAhVa/zDt9Dj7wiZiDZAWT85mPtRFQnzKvr5f66erYuHk0+9nq9qM6Yc8c6J9ohCk81g/hWk+GNERTloWF2QtMixD+YL+YOt8J6645oZovNK20zVBtAVxW0c/AhZ7PcpG9s8pCwZ6ShoiUyFLaXkG2uyfQxgCmjrbqlL0/6Hngf38eGqGB1IQbwkcJRN3EL63ny0CG47eAxwa/zcBESjRkUK+Ve6UVPSwABPWwfh47Z49UXp5ttD3PYdxA+5c+z2jAhhQ==
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=ZZ0zgDCn8eQF4rU0QE+NkK9BmnpHegiSC+oKlV5yA5k=;
 b=U9oWVqkCCmXvwdyxPxZk5Ns2yMhA+kMWzi3h1ykM91dE9tM0gt+XMwUKDljCCthM67J4xKUHeeYSgfRX6jNcW3at5o/PzlsT8eZ8EumpIr/3GLU9ZSlALJ6Rr8mP3J0NHWANjW7nwBoqIfR5iVw82XJQ/chLleU3+7mbIWYVF+u7g/9VVnp3ZBueZjL7wphqXDf8yjK7wqePUqnYdt3dnI07CcNjG3H2jWtBXx8/5BAH8ZYw4Kvlf6hyyss/lvNt5+qIO/dnqdvr7EwU2g1fJMlM2MfQOj4OajERFIMDCNN3JdpJHpOkSdwrPcWkUe04MI9V/3uqVyYvXCghsgqoLQ==
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=ZZ0zgDCn8eQF4rU0QE+NkK9BmnpHegiSC+oKlV5yA5k=;
 b=PLvR+M1RXOTNOhevYYj45Thb9y4FKLP9mQ7JVadygl9LMfXGiOnPfFroAjHBF8HZ99kWFBvCXt29uk3EJ3zlWCBz42mNUAMllb15aTtVK3MWjPQm7xye1y4n2tmTLQ337i6c/ojOWkiKN1+DBeJ3YTITzikbOZ1EoSj4bxk4d2U=
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: 50d96202c66501ad
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dlYHXYMLgsmakNON73FA0Dzz/NDSlkaHqv7XvuSb4LY4cGmh+4ckPEPatXanGBhNNsS+squB+tAN/TnsSdKrGPIrNggnCnwSueG50oeR5utInXBelACTuez5n4+9Ng+2BQfg8608sM/OloiXcKEUdzvPiGW0c4us6WJqibUGwURcO/rmH/uPlSfN8FvvsmXEfY1ZVRNocldqyEyk08TS+nrEJS+SoaG3Jw4ZX6rjHmxkenZ9LXgGoDR8aqC5iPle4Gy06tLXfLrwjjg1gOajuGPFYbkXeSa6I1FKIwoA69zSDqKD1/Cq7FkJkWoBBrUIIxKmsNfU6zdBWjemrMNfBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZZ0zgDCn8eQF4rU0QE+NkK9BmnpHegiSC+oKlV5yA5k=;
 b=Sv9hBSym8zWFgGEHMcDaNo0ZnArLQbGpMp+X1B5/thhrrFrWy1n/pRcvO/cE8r1JXk7qxlFwZA3m5DnsXBcHVl3rQWz0zTrgtZKO1Mp3bMD4+9aUdUGs5YUfozPa9ouK6sqB57DdHH+Bb/V2QW4Eai39lUyOfesCi4beSc/Q45qvba4C2rlrw9M76qAyQuVvU3Y1lt0FcJjHufU3S242W6aL/9enEH+iAl6VBv0qMxwPeKuVrk9gJFME8YbsA0poKf9jnDkTXfdW5sk1VdJm8Jaw6h0+mtr69HgTQQ2LZ4RL2mX1c/3il+sKBkdwt/XTUYnG4Ms7reKgmlZY7lopXw==
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=ZZ0zgDCn8eQF4rU0QE+NkK9BmnpHegiSC+oKlV5yA5k=;
 b=PLvR+M1RXOTNOhevYYj45Thb9y4FKLP9mQ7JVadygl9LMfXGiOnPfFroAjHBF8HZ99kWFBvCXt29uk3EJ3zlWCBz42mNUAMllb15aTtVK3MWjPQm7xye1y4n2tmTLQ337i6c/ojOWkiKN1+DBeJ3YTITzikbOZ1EoSj4bxk4d2U=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: Jan Beulich <jbeulich@suse.com>, Andrew Cooper
	<andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <Michal.Orzel@amd.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>
Subject: Clang-format configuration discussion - pt 2
Thread-Topic: Clang-format configuration discussion - pt 2
Thread-Index: AQHaHhwDr0vektcMC0qRjv52uM1DKA==
Date: Thu, 23 Nov 2023 14:47:42 +0000
Message-ID: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PA4PR08MB7434:EE_|AM3PEPF00009B9F:EE_|PAVPR08MB8920:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e00fd05-1c26-45c5-0c5a-08dbec332e8c
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:
 M/LhotgbkkoESwAp1uP6V03DD1F7rXnYjsatFYY9rEcutJMoYfbrJfinL9XFD3nEdO3HI+1WBqJbNh0B7SKEcJKZ2GFHsn8MMJbhxro4MgPrEnsxyyy3iUIQI5Rb1u051j3kbC69k+w8gql+SmU4rIB0TkVt1BCWLxic3ak/PAKLF3EmCvyy9huejM8pJH8T+fOExHkrNYzn20FI7XI/LzMCMZIt2Xv4d2s4ka+qrAhDenZ2i2zsC8hFOSMPdDYbCP5dPX0Q80J8j9onQdr77sqx+UpO6wZ6yUL7mRxXWxwtUkpJgn/hy+5iFgkqS8ZDcY9V6r5EZ3yIvUz7XHWzVl4LTtcx0XUXaAlW+kkAH0G5V8rc6ZxaT8ozMggxswr2ZvRiaKu3fN52p/Jtk7h3c+/wcJPkJ02x/8wqXftNmbcPwxPrGxxUe24mVm8dYlIpx5FFJpTWK8+/G4w+MITD2YyCB3etrsU78DG47zlPaLZlSz7CyLgHGrAJq9Bqebw5Uf6FpNpTjhyVmwMfktMwolj5dOzhcnLl3UCbcrhIbNpem6AMTtuobdh6Kb9Iw7WX6VqinLfLgdkbaetnHtguhSmizQvpOLA384cxE68kjowDyWk6/XUcm9IjW9riB3auVPS/Tg+rlI7bEeAaBASUmmVvOMC2v89tbXd7gETT1Q7HWIAh29mmcGbVNcfooBS8
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(346002)(366004)(136003)(39860400002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(41300700001)(66899024)(86362001)(8936002)(2906002)(71200400001)(5660300002)(83380400001)(38070700009)(4326008)(36756003)(26005)(66556008)(66476007)(6916009)(54906003)(316002)(64756008)(66446008)(38100700002)(76116006)(91956017)(33656002)(966005)(6486002)(2616005)(478600001)(8676002)(6512007)(66946007)(6506007)(122000001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <2E2CEB9B1F4E65449A21FE1D3B5F8D6D@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7434
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:
 AM3PEPF00009B9F.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	11ffec39-6cc9-4857-e755-08dbec3325a7
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8A8GaBcIqPv4i3+Rei87kMHGzDYnlwJUKSdxyqFYTgEyeTMmZTReTcwyFX79aoo4gXqW/T+P4Ki4zW3oN3Mjd44+MguS9taSh6Uk4hMpkVFNdd+VX1itKS3uUhmYpaPI18L4fhXKc6/P0tAAO9xdM+3aIb/z667+qvVzohtRVESb13omUcymoV9YFRiMw/MrVmgiQXGrZIljt81oMF6SWPXmlEY5yL+BmtaTlYOsgN9Ra5c5z64gUG9jTWMUl5UfC3V4zuX8Fz7c7QU7aeYAB1A+QDODEJ82ow6/07iSQjHwPhHW+D+semfKsQPRX37K2MMGgJa8l5nyd8Pg1jSbzsuqXj2x0ykebRRJSf4yIpWJZmpjtZCONBQ9PrCc0Y6EA/C3Mffh8dTeA63WJMvB+M4jVVN5k2ivEpO2FhrgQGVUgxM14jy3ltsZoT798K2FYIxAyUYW+LgOSwVje1jxBo4gObMYFB1V+PQW9/rXiZANs9PUoaiBiQ/Jq/XCmhdDI2bfR26oqZjHIxYZbkllSgrxFSJdtVIUCVoBOHKK9+bKifHNo54r32EG1ov9DdicMH8mv1VDN7AGiIAHTwkDjPhT6gG4jBwGq2jTKIfcozyxhW9av63FLAdFjmioV5UcUp649UfHGtKoz/L9WfhxbaGBEvyLaZP1SM3nPjNjzmfF5bUdP+ptAcHNaRpUXreeIrfP2zAe10e9PLtXWbqqOwv63/FKQm5fNOar0vMpERkZD7ow6gTRiU1hvjrDiTu0PQh+vUpIHodMry9y/ldZWg==
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:(13230031)(4636009)(346002)(396003)(136003)(376002)(39860400002)(230922051799003)(1800799012)(82310400011)(451199024)(64100799003)(186009)(36840700001)(46966006)(40470700004)(5660300002)(2906002)(41300700001)(8676002)(4326008)(8936002)(54906003)(316002)(70206006)(70586007)(6916009)(478600001)(6506007)(966005)(6486002)(26005)(2616005)(40480700001)(6512007)(336012)(66899024)(83380400001)(40460700003)(47076005)(36860700001)(82740400003)(356005)(81166007)(33656002)(36756003)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 14:47:57.0693
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e00fd05-1c26-45c5-0c5a-08dbec332e8c
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:
	AM3PEPF00009B9F.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAVPR08MB8920

SGkgYWxsLA0KDQpMZXTigJlzIGNvbnRpbnVlIHRoZSBkaXNjdXNzaW9uIGFib3V0IGNsYW5nLWZv
cm1hdCBjb25maWd1cmF0aW9uLCB0aGlzIGlzIHBhcnQgMiwgcHJldmlvdXMgZGlzY3Vzc2lvbnMg
YXJlOg0KDQogLSBodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL2FyY2hpdmVzL2h0bWwveGVu
LWRldmVsLzIwMjMtMTEvbXNnMDA0OTguaHRtbA0KDQpZb3UgY2FuIGZpbmQgdGhlIHNlcmllIGlu
dHJvZHVjaW5nIGNsYW5nLWZvcm1hdCBoZXJlOg0KaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9y
Zy9wcm9qZWN0L3hlbi1kZXZlbC9jb3Zlci8yMDIzMTAzMTEzMjMwNC4yNTczOTI0LTEtbHVjYS5m
YW5jZWxsdUBhcm0uY29tLw0KYW5kIHRoZXJlIGlzIGFsc28gYSBwYXRjaCBsaW5rZWQgdG8gbXkg
Z2l0bGFiIGFjY291bnQgd2hlcmUgeW91IGNhbiBmaW5kIHRoZSBvdXRwdXQgZm9yIHRoZSBoeXBl
cnZpc29yIGNvZGUuDQoNCkZvciBhIGZ1bGwgbGlzdCBvZiBjb25maWd1cmFibGVzIGFuZCB0byBm
aW5kIHRoZSBwb3NzaWJsZSB2YWx1ZXMgZm9yIHRoZW0sIHBsZWFzZSByZWZlciB0byB0aGlzIHBh
Z2U6DQpodHRwczovL2NsYW5nLmxsdm0ub3JnL2RvY3MvQ2xhbmdGb3JtYXRTdHlsZU9wdGlvbnMu
aHRtbA0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpPdXIgY29kaW5nIHN0
eWxlIGRvZXNu4oCZdCBtZW50aW9uIGFueXRoaW5nIGFib3V0IGFsaWdubWVudCwgc2hhbGwgd2Ug
YWRkIGEgbmV3IHNlY3Rpb24/DQpJIGNhbiBzZW5kIHBhdGNoZXMgd2hlbiB3ZSByZWFjaCBhZ3Jl
ZW1lbnQgb24gZWFjaCBvZiB0aGVzZSBydWxlcy4NCg0KDQpRdWFsaWZpZXJBbGlnbm1lbnQ6IEN1
c3RvbQ0KUXVhbGlmaWVyT3JkZXI6IFsnc3RhdGljJywgJ2lubGluZScsICdjb25zdCcsICd2b2xh
dGlsZScsICd0eXBlJ10NCg0KLS0tDQpGb3Ig4oCcUXVhbGlmaWVyQWxpZ25tZW504oCdIEkgY2hv
c2UgQ3VzdG9tIGluIG9yZGVyIHRvIGFwcGx5IGluIOKAnFF1YWxpZmllck9yZGVy4oCdIGFuIG9y
ZGVyIGZvciB0aGUNCnF1YWxpZmllcnMgdGhhdCBtYXRjaCB0aGUgY3VycmVudCBjb2RlYmFzZSwg
d2UgY291bGQgc3BlY2lmeSBhbHNvIOKAnExlYXZl4oCdIGluIG9yZGVyIHRvIGtlZXANCnRoZW0g
YXMgdGhleSBhcmUuDQoNCkRlcGVuZGluZyBvbiBob3cgdGhlIGRpc2N1c3Npb24gZ29lcyBvbiB0
aGlzIG9uZSwgaXQgY291bGQgYmUgYW4gZW50cnkgaW4gb3VyIGNvZGluZyBzdHlsZQ0KDQotLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpBbGlnbkFmdGVyT3BlbkJyYWNrZXQ6IEFs
aWduDQoNCi0tLQ0KVGhpcyBvbmUgaXMgdG8gYWxpZ24gZnVuY3Rpb24gcGFyYW1ldGVycyB0aGF0
IG92ZXJmbG93cyB0aGUgbGluZSBsZW5ndGgsIEkgY2hvc2UgdG8gYWxpZ24gdGhlbQ0KdG8gdGhl
IG9wZW4gYnJhY2tldCB0byBtYXRjaCB0aGUgY3VycmVudCBjb2RlYmFzZSAoaG9wZWZ1bGx5KQ0K
DQplLmcuOg0Kc29tZUxvbmdGdW5jdGlvbihhcmd1bWVudDEsDQogICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIGFyZ3VtZW50Mik7DQoNClRoaXMgb25lIGNhbiBiZSBhIGNhbmRpZGF0ZSBm
b3IgYW4gZW50cnkgaW4gb3VyIGNvZGluZyBzdHlsZQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQ0KDQpBbGlnbkFycmF5T2ZTdHJ1Y3R1cmVzOiBMZWZ0DQoNCi0tLQ0K4oCcV2hl
biB1c2luZyBpbml0aWFsaXphdGlvbiBmb3IgYW4gYXJyYXkgb2Ygc3RydWN0cyBhbGlnbnMgdGhl
IGZpZWxkcyBpbnRvIGNvbHVtbnMuIg0KSXTigJlzIGltcG9ydGFudCB0byBzYXkgdGhhdCBldmVu
IGlmIHdlIHNwZWNpZnkg4oCcTm9uZeKAnSwgaXQgaXMgZ29pbmcgdG8gZm9ybWF0IHRoZSBkYXRh
IHN0cnVjdHVyZSBhbnl3YXksDQpJIGNob29zZSBsZWZ0LCBidXQgY2xlYXJseSBJ4oCZbSBvcGVu
IHRvIHN1Z2dlc3Rpb25zLg0KDQpJIGRvbuKAmXQga25vdyBob3cgdG8gcGhyYXNlIHRoaXMgb25l
IGluIG91ciBjb2Rpbmcgc3R5bGUNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
Cg0KQWxpZ25Db25zZWN1dGl2ZUFzc2lnbm1lbnRzOiBOb25lDQoNCi0tLQ0KVGhpcyBvbmUgaXMg
ZGlzYWJsZWQgYmVjYXVzZSBvZiBmZWVkYmFja3MgZnJvbSBTdGVmYW5vIGFuZCBBbGVqYW5kcm8g
YWJvdXQgc29tZSB3ZWlyZCBiZWhhdmlvdXIgb24gb3VyDQpjb2RlYmFzZS4NCg0KVGhpcyBvbmUg
Y291bGQgYmUgcGhhc2VkIGFsb25nIHRoaXMgbGluZTog4oCcQ29uc2VjdXRpdmUgYXNzaWdubWVu
dHMgZG9uJ3QgbmVlZCB0byBiZSBhbGlnbmVkLuKAnSwgdGhlIGlzc3VlIGlzDQp0aGF0IGluIHRo
aXMgd2F5IGl0IHNlZW1zIHRoYXQgaXTigJlzIG9wdGlvbmFsLCBidXQgY2xhbmctZm9ybWF0IGlz
IGdvaW5nIHRvIHJlbW92ZSB0aGUgYWxpZ25tZW50IGFueXdheSBmb3INCmFzc2lnbm1lbnQgdGhh
dCBhcmUgY29uc2VjdXRpdmUgYW5kIGFsaWduZWQuDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tDQoNCkFsaWduQ29uc2VjdXRpdmVCaXRGaWVsZHM6IE5vbmUNCg0KLS0tDQpTYW1l
IHRoaW5nIGFzIEFsaWduQ29uc2VjdXRpdmVBc3NpZ25tZW50cywgYnV0IGZvciBiaXRmaWVsZHMu
DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCkFsaWduQ29uc2VjdXRpdmVE
ZWNsYXJhdGlvbnM6IE5vbmUNCg0KLS0tDQpUaGlzIGFsaWducyBkZWNsYXJhdGlvbnMgbmFtZXMs
IHNhbWUgY29uc2lkZXJhdGlvbnMgYXMgQWxpZ25Db25zZWN1dGl2ZUFzc2lnbm1lbnRzLg0KDQot
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQpPayB0aGlzIGlzIGl0IGZvciBub3cs
IGxldCBtZSBrbm93IHlvdXIgdGhvdWdodHMgYWJvdXQgdGhlbSwgaWRlYWxseSBpZiBJIGRvbuKA
mXQgZ2V0IGFueSByZXBseSBpbiB0d28gd2Vla3MgKDd0aCBvZiBEZWNlbWJlciksDQpJIHdpbGwg
Y29uc2lkZXIgdGhhdCB3ZSBoYXZlIGFuIGFncmVlbWVudCBvbiB0aGVzZSBjb25maWd1cmF0aW9u
Lg0KDQpDaGVlcnMsDQpMdWNh


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 14:50:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 14:50:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639768.997459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6B25-0000Jw-J8; Thu, 23 Nov 2023 14:50:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639768.997459; Thu, 23 Nov 2023 14:50: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 1r6B25-0000Jl-G9; Thu, 23 Nov 2023 14:50:21 +0000
Received: by outflank-mailman (input) for mailman id 639768;
 Thu, 23 Nov 2023 14:50: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 1r6B24-0000JZ-8R; Thu, 23 Nov 2023 14:50: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 1r6B24-0003nY-0l; Thu, 23 Nov 2023 14:50: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 1r6B23-0004Qn-Nj; Thu, 23 Nov 2023 14:50:19 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6B23-0006fY-LK; Thu, 23 Nov 2023 14:50: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=ACD3Yj+Lyp3x4kBuS3uVvGgSsTU61zAsSe+BqDM+eic=; b=p5dVjH370uMo/aBKGcT/HQDOB7
	vcJE3P31gq1/xeBAsz1x8KWfoNDaYvi2/JH6UCq/4y8WISqN2GUOZFXUNgarXu573ndNw7FWcZt9I
	Z+MoLEfvF9dhHz+BQQXECb3T0+cKaRTSmXs/9NVgayXDPfq3HUAcHnzdQ0Y1hb7NrHqM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183840-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183840: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=8f45862580c962791e66df716389bb5b1dd704df
X-Osstest-Versions-That:
    xen=c22fe7213c9b1f99cbc64c33e391afa223f9cd08
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Nov 2023 14:50:19 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  8f45862580c962791e66df716389bb5b1dd704df
baseline version:
 xen                  c22fe7213c9b1f99cbc64c33e391afa223f9cd08

Last test of basis   183826  2023-11-22 14:00:36 Z    1 days
Testing same since   183840  2023-11-23 10:00:25 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   c22fe7213c..8f45862580  8f45862580c962791e66df716389bb5b1dd704df -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 14:57:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 14:57:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639775.997469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6B9H-0001MW-Gg; Thu, 23 Nov 2023 14:57:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639775.997469; Thu, 23 Nov 2023 14:57: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 1r6B9H-0001MP-Dv; Thu, 23 Nov 2023 14:57:47 +0000
Received: by outflank-mailman (input) for mailman id 639775;
 Thu, 23 Nov 2023 14:57: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 1r6B9F-0001MJ-Qh
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 14:57: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 1r6B9C-0003xD-Mq; Thu, 23 Nov 2023 14:57:42 +0000
Received: from 54-240-197-235.amazon.com ([54.240.197.235]
 helo=[192.168.16.119]) by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r6B9C-00029Q-CZ; Thu, 23 Nov 2023 14:57: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=FDbqb8AizAaW/Ds6q8kPkMYSC5GdzYOmgJamcbamTjI=; b=rQ57aXEUU7IN5Uf5MpTcbG3Ox7
	gZOeuWzPGtFtjBoMX0/6ypubzXyRotuaRtI1iqi64Ipz3JWUMmV+6QTCV7eRamYO93ZHgkAc/tKmA
	g5CM72IrgLEqPO88LQXXew66Gt/j12tuxJiFt2dHS4KxmkjeijiY+vVjRhkTbA4Eost8=;
Message-ID: <b1d7fce9-d7fe-4c0e-a689-c28d2fac1ef0@xen.org>
Date: Thu, 23 Nov 2023 14:57:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [linux-linus test] 183794: regressions - FAIL
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: osstest service owner <osstest-admin@xenproject.org>,
 xen-devel@lists.xenproject.org, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, oleksandr_tyshchenko@epam.com
References: <osstest-183794-mainreport@xen.org>
 <f7b11bb5-9d08-4678-bb97-3a2d96537439@suse.com>
 <alpine.DEB.2.22.394.2311201631140.773207@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311211823110.2053963@ubuntu-linux-20-04-desktop>
 <ff31f5a6-396e-48cc-8b1b-6941369c620b@suse.com>
 <alpine.DEB.2.22.394.2311221501340.2053963@ubuntu-linux-20-04-desktop>
 <fade29d2-2383-4f99-9735-6edebc66cd87@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <fade29d2-2383-4f99-9735-6edebc66cd87@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Juergen,

On 23/11/2023 05:57, Juergen Gross wrote:
> On 23.11.23 00:07, Stefano Stabellini wrote:
>> On Wed, 22 Nov 2023, Juergen Gross wrote:
>>> On 22.11.23 04:07, Stefano Stabellini wrote:
>>>> On Mon, 20 Nov 2023, Stefano Stabellini wrote:
>>>>> On Mon, 20 Nov 2023, Juergen Gross wrote:
>>>>>> On 20.11.23 03:21, osstest service owner wrote:
>>>>>>> flight 183794 linux-linus real [real]
>>>>>>> http://logs.test-lab.xenproject.org/osstest/logs/183794/
>>>>>>>
>>>>>>> Regressions :-(
>>>>>>>
>>>>>>> Tests which did not succeed and are blocking,
>>>>>>> including tests which could not be run:
>>>>>>>     test-arm64-arm64-examine      8 reboot                   fail 
>>>>>>> REGR.
>>>>>>> vs.
>>>>>>> 183766
>>>>>>
>>>>>> I'm seeing the following in the serial log:
>>>>>>
>>>>>> Nov 20 00:25:41.586712 [    0.567318] kernel BUG at
>>>>>> arch/arm64/xen/../../arm/xen/enlighten.c:164!
>>>>>> Nov 20 00:25:41.598711 [    0.574002] Internal error: Oops - BUG:
>>>>>> 00000000f2000800 [#1] PREEMPT SMP
>>>>>>
>>>>>> The related source code lines in the kernel are:
>>>>>>
>>>>>> ········err = HYPERVISOR_vcpu_op(VCPUOP_register_vcpu_info,
>>>>>> xen_vcpu_nr(cpu),
>>>>>> ································ &info);
>>>>>> ········BUG_ON(err);
>>>>>>
>>>>>> I suspect commit 20f3b8eafe0ba to be the culprit.
>>>>>>
>>>>>> Stefano, could you please have a look?
>>>>
>>>> The good news and bad news is that I cannot repro this neither with nor
>>>> without CONFIG_UNMAP_KERNEL_AT_EL0. I looked at commit 20f3b8eafe0ba 
>>>> but
>>>> I cannot see anything wrong with it. Looking at the register dump, 
>>>> from:
>>>>
>>>> x0 : fffffffffffffffa
>>>>
>>>> I am guessing the error was -ENXIO which is returned from 
>>>> map_guest_area
>>>> in Xen.
>>>>
>>>> Could it be that the struct is crossing a page boundary? Or that it is
>>>> not 64-bit aligned? Do we need to do something like the following?
>>>>
>>>> diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
>>>> index 9afdc4c4a5dc..5326070c5dc0 100644
>>>> --- a/arch/arm/xen/enlighten.c
>>>> +++ b/arch/arm/xen/enlighten.c
>>>> @@ -484,7 +485,7 @@ static int __init xen_guest_init(void)
>>>>         * for secondary CPUs as they are brought up.
>>>>         * For uniformity we use VCPUOP_register_vcpu_info even on cpu0.
>>>>         */
>>>> -    xen_vcpu_info = alloc_percpu(struct vcpu_info);
>>>> +    xen_vcpu_info = __alloc_percpu(struct vcpu_info, PAGE_SIZE);
>>>>        if (xen_vcpu_info == NULL)
>>>>            return -ENOMEM;
>>>
>>> May I suggest to use a smaller alignment? What about:
>>>
>>> 1 << fls(sizeof(struct vcpu_info) - 1)
>>
>> See below
>>
>> ---
>> [PATCH] arm/xen: fix xen_vcpu_info allocation alignment

Stefano, are you going to submit the patch formally?

>>
>> xen_vcpu_info is a percpu area than needs to be mapped by Xen.
>> Currently, it could cross a page boundary resulting in Xen being unable
>> to map it:
>>
>> [    0.567318] kernel BUG at 
>> arch/arm64/xen/../../arm/xen/enlighten.c:164!
>> [    0.574002] Internal error: Oops - BUG: 00000000f2000800 [#1] 
>> PREEMPT SMP
>>
>> Fix the issue by using __alloc_percpu and requesting alignment for the
>> memory allocation.
>>
>> Signed-off-by: Stefano Stabellini <stefano.stabellini@amd.com>

I am guessing we want to backport it. So should this contain a tag to 
indicate the intention?

>>
>> diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
>> index 9afdc4c4a5dc..09eb74a07dfc 100644
>> --- a/arch/arm/xen/enlighten.c
>> +++ b/arch/arm/xen/enlighten.c
>> @@ -484,7 +484,8 @@ static int __init xen_guest_init(void)
>>        * for secondary CPUs as they are brought up.
>>        * For uniformity we use VCPUOP_register_vcpu_info even on cpu0.
>>        */
>> -    xen_vcpu_info = alloc_percpu(struct vcpu_info);
>> +    xen_vcpu_info = __alloc_percpu(sizeof(struct vcpu_info),
>> +                                   1 << fls(sizeof(struct vcpu_info) 
>> - 1));
> 
> Nit: one tab less, please (can be fixed while committing).
> 
>>       if (xen_vcpu_info == NULL)
>>           return -ENOMEM;
> 
> Reviewed-by: Juergen Gross <jgross@suse.com>

Juergen, looking at the x86 code, you seem to use DEFINE_PER_CPU(). So 
what guarantees that this is not going to cross a page?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 15:10:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 15:10:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639778.997479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6BL7-0004Wp-Kh; Thu, 23 Nov 2023 15:10:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639778.997479; Thu, 23 Nov 2023 15:10: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 1r6BL7-0004Wi-HF; Thu, 23 Nov 2023 15:10:01 +0000
Received: by outflank-mailman (input) for mailman id 639778;
 Thu, 23 Nov 2023 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=/TSj=HE=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6BL6-0004Wa-EA
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 15:10:00 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cd2d271-8a12-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 16:09:57 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 249D24EE073C;
 Thu, 23 Nov 2023 16:09:56 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5cd2d271-8a12-11ee-9b0e-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2] automation/eclair: improve scheduled analyses
Date: Thu, 23 Nov 2023 16:09:13 +0100
Message-Id: <36ea68b24a1e336ef9170b7f89949d282ee1e746.1700752056.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The scheduled analyses are intended to maintain an overall vision
of the MISRA complaince of the entire project. For this reason,
the file exclusions in "out_of_scope.ecl" should not be applied.

This patch amends ECLAIR settings to prevent exempting files for
scheduled analyses.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

---
Changes in v2:
- drop changes to inhibit test and build stages in scheduled pipelines.
---
 automation/eclair_analysis/ECLAIR/action.settings |  2 +-
 automation/eclair_analysis/ECLAIR/analysis.ecl    | 12 ++++++++++--
 automation/gitlab-ci/analyze.yaml                 |  2 ++
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
index f96368ffc7..3cba1a3afb 100644
--- a/automation/eclair_analysis/ECLAIR/action.settings
+++ b/automation/eclair_analysis/ECLAIR/action.settings
@@ -134,7 +134,7 @@ push)
     badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
     ;;
 auto_pull_request)
-    git remote remove autoPRRemote || true
+    git remote remove autoPRRemote 2>/dev/null || true
     git remote add autoPRRemote "${autoPRRemoteUrl}"
     git fetch -q autoPRRemote
     subDir="${ref}"
diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
index fe418d6da1..2507a8e787 100644
--- a/automation/eclair_analysis/ECLAIR/analysis.ecl
+++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
@@ -2,7 +2,13 @@
 -project_name=getenv("ECLAIR_PROJECT_NAME")
 -project_root=getenv("ECLAIR_PROJECT_ROOT")
 
--setq=data_dir,getenv("ECLAIR_DATA_DIR")
+setq(data_dir,getenv("ECLAIR_DATA_DIR"))
+setq(analysis_kind,getenv("ANALYSIS_KIND"))
+setq(scheduled_analysis,nil)
+
+strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t))
+strings_map("scheduled-analysis",500,"","^.*$",0)
+map_strings("scheduled-analysis",analysis_kind)
 
 -verbose
 
@@ -15,7 +21,9 @@
 
 -eval_file=toolchain.ecl
 -eval_file=public_APIs.ecl
--eval_file=out_of_scope.ecl
+if(scheduled_analysis,
+    eval_file("out_of_scope.ecl")
+)
 -eval_file=deviations.ecl
 -eval_file=call_properties.ecl
 -eval_file=tagging.ecl
diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index bd9a68de31..6631db53fa 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -28,6 +28,8 @@
   extends: .eclair-analysis
   allow_failure: true
   rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"
+      when: never
     - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
       when: manual
     - !reference [.eclair-analysis, rules]
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 15:18:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 15:18:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639782.997489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6BTH-0007Yo-E0; Thu, 23 Nov 2023 15:18:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639782.997489; Thu, 23 Nov 2023 15: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 1r6BTH-0007Yh-As; Thu, 23 Nov 2023 15:18:27 +0000
Received: by outflank-mailman (input) for mailman id 639782;
 Thu, 23 Nov 2023 15: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=bPHf=HE=arm.com=Divin.Raj@srs-se1.protection.inumbo.net>)
 id 1r6BTG-0007Yb-0B
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 15:18:26 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7d00::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8ba2f0c2-8a13-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 16:18:25 +0100 (CET)
Received: from DUZPR01CA0229.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b4::26) by DBBPR08MB5898.eurprd08.prod.outlook.com
 (2603:10a6:10:20c::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Thu, 23 Nov
 2023 15:18:19 +0000
Received: from DB5PEPF00014B90.eurprd02.prod.outlook.com
 (2603:10a6:10:4b4:cafe::5f) by DUZPR01CA0229.outlook.office365.com
 (2603:10a6:10:4b4::26) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend
 Transport; Thu, 23 Nov 2023 15:18:19 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B90.mail.protection.outlook.com (10.167.8.228) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Thu, 23 Nov 2023 15:18:19 +0000
Received: ("Tessian outbound 26ee1d40577c:v228");
 Thu, 23 Nov 2023 15:18:19 +0000
Received: from b0e02ee6c514.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B030D318-3FEB-4318-8C61-996735D4E9F4.1; 
 Thu, 23 Nov 2023 15:18:08 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b0e02ee6c514.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 23 Nov 2023 15:18:08 +0000
Received: from PAXPR08MB6750.eurprd08.prod.outlook.com (2603:10a6:102:13f::16)
 by AS8PR08MB9267.eurprd08.prod.outlook.com (2603:10a6:20b:5a3::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Thu, 23 Nov
 2023 15:18:06 +0000
Received: from PAXPR08MB6750.eurprd08.prod.outlook.com
 ([fe80::542e:1889:d107:2e96]) by PAXPR08MB6750.eurprd08.prod.outlook.com
 ([fe80::542e:1889:d107:2e96%4]) with mapi id 15.20.7025.020; Thu, 23 Nov 2023
 15:18: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: 8ba2f0c2-8a13-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=jZtP2DcvQQazwPYJPgdTATa4VGLjX2XKbMV/Vl085/viVuw2jf+EuocgRI2oVvYVtzlQ+2iV0uS1BJf+k5i7c/GBjHIhnrLvY2S70fkgHQTI75QgeE0sdvDU3T8fapDsDDi2oRARP+aL50rbqok2dTiRfzBlpaDNM+RjPE05tEd3xu2MTBCTj0UbykeyeQnPT6gHXCno3wWEc2CGXTEzbwk85UePg79mSh55ZCgie/8zR3TokOhyfRXTMQvW+YBN5np6XOFAongfObnEwWhnC9eVvvtp+rwDWYG5HGalS8unZ/M8pQeOybK0HcyZMnQUl2rLu3xssU0iYlfyaA29gg==
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=lHAUUPqzyZKi3OqV9EuONLnkSM/PK8udASufsAx4s8c=;
 b=L7sMhJxcM9Vxvq9hJ/Z9lZOMqoC0QEKshhjlYdbc87rDUYyurGxd2Tvhugml6EcxvKP5aJVdlG1RT3m6JLHBFGKGL4xsIpqgIvYVt2b4blpRY+X92tSDNB4qzaj7l6lt/EkxubCX8sW57YQ8Gl3RRzQzerNmTuUgqFXCly/47CLu2EJ4TXtlrXUa52U05xdOFexND9m6u4kxH1x3fsJlEvH5MYQ75XfH6CPwdIbqZMlvRJeG8j7FQsxMDp0ipF3IkrxlikqNJ9WQaug8a9xd411rE7ISsLQISr1RrjCQU4H8aLhLeBWsbSU0bYPyk6/HaaYJaeYBuZLnH/laQU2DUA==
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=lHAUUPqzyZKi3OqV9EuONLnkSM/PK8udASufsAx4s8c=;
 b=RbGSD3cwe7kgfG6ASHlzULq99OQurO1hIOk22jjtNFSOgWvECNSMd15pj9HdFr+lN7KwJwtUu88l/141Fz96psjwwvXyWUZeXri5uSsHnlYTCr1QxgqaLBpeSOmcF4LTpPf8MAcBEVMa8pSiqvjNdxPO/0Mhf/yhii7J3JRo1lw=
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: b6354608c0ccd278
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LjEFq44TeOcMeF7bImXmVLH4fccCoyMMPwdKLbC1mTwOsTnvXVwcjWI9+DJs1zbeUuzOMMFeLdpawlHMKZU19YafFMHS8hsaV1rEW2cjgWZnZVvHn/08FsyyLQtb0Pl4eciiJkSlnnADCA8LODJiWfb7MDJEPKIBl2LI7/ZXjmhvTLb61sT1TmodI2myO/VcrS6g/YTyvYq/oip5hs8xEVzZubbMs/qsB5SIgi4SJrrT7CFs+gloAj3SLHW3X0p6qJGb3zdzrvVwuaHf5pF44H09QAQd49sCpHlS8bIuz3ePNqV5m0evHvuif1qth5PlzQUv0Xnd0KkPDXHj8YDCuQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=lHAUUPqzyZKi3OqV9EuONLnkSM/PK8udASufsAx4s8c=;
 b=P4/KloGfoRWM82OqLKQ/NCi+T50nOKobmtzLYJW0ORWA8cKJTl2OtLALCw5smhJSuJHqvO0MQ7S+J9zD6fJIbAmMrO+KthlUIG4o+cLxaTxcdkS8bf4MhGkqNwHKpQ+IDZnABlXTkhfieycqtZJtk/Yxz4Ond8O3+9IqMZY84Ko0KUGxPNBoQZr47tRyKpG7nJWvAq1JSG3AI7UdN/lpfS1SzrTqEUnUa7hgsIO/PrgjDCBW6V7pwiVyS2/jiNPoSOIsWwslbfu0rsAnjCB4qt9+AbUwmhxfgmNApdfUj/yhis7raXdLtobUaDwRzNUuolTQI0h9Ci6vcbiXslEbRw==
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=lHAUUPqzyZKi3OqV9EuONLnkSM/PK8udASufsAx4s8c=;
 b=RbGSD3cwe7kgfG6ASHlzULq99OQurO1hIOk22jjtNFSOgWvECNSMd15pj9HdFr+lN7KwJwtUu88l/141Fz96psjwwvXyWUZeXri5uSsHnlYTCr1QxgqaLBpeSOmcF4LTpPf8MAcBEVMa8pSiqvjNdxPO/0Mhf/yhii7J3JRo1lw=
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
Message-ID: <47ec45a1-2004-410c-86c7-861d03c1939b@arm.com>
Date: Thu, 23 Nov 2023 15:18:02 +0000
User-Agent: Mozilla Thunderbird
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable through
 'xl.conf'
To: Xen-devel <xen-devel@lists.xenproject.org>,
 "anthony.perard@citrix.com" <anthony.perard@citrix.com>,
 "jgross@suse.com" <jgross@suse.com>
Cc: Olaf Hering <olaf@aepfle.de>, Jan Beulich <jbeulich@suse.com>,
 Luca Fancellu <Luca.Fancellu@arm.com>, Rahul Singh <Rahul.Singh@arm.com>
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
 <20231115182340.505df6c3.olaf@aepfle.de>
 <4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
 <20231116085629.40a0445b.olaf@aepfle.de>
 <A6D4B8C2-E781-4964-A757-C72F38169246@arm.com>
 <20231116105321.4a59eed4.olaf@aepfle.de>
Content-Language: en-US
From: Divin Raj <divin.raj@arm.com>
In-Reply-To: <20231116105321.4a59eed4.olaf@aepfle.de>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: LO4P265CA0138.GBRP265.PROD.OUTLOOK.COM
 (2603:10a6:600:2c4::9) To PAXPR08MB6750.eurprd08.prod.outlook.com
 (2603:10a6:102:13f::16)
MIME-Version: 1.0
X-MS-TrafficTypeDiagnostic:
	PAXPR08MB6750:EE_|AS8PR08MB9267:EE_|DB5PEPF00014B90:EE_|DBBPR08MB5898:EE_
X-MS-Office365-Filtering-Correlation-Id: 2a636655-2ddf-4cda-0231-08dbec376cdb
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:
 9QnlxVvzu5jIQx6CY2aR5e4Nn2KlZYwJ3K4Y3xswXEJSSMigFNzmAUDp2KvYtMTjFEmynGRLKIBbJ3pyMX5N1iGIx62NdjSbjf+X41Y9qbMxI0sCvF0nlTL3hSQVYjCt3Dy86b12s6QGg+9uYkzwzttjFUEuLGmUCFEcgguYpCpubQkIGjtoKs0N9+p74wS7B/JwHRM5/dD6TQq/6NDX8Z3HJMkr5hsgWmQNCEKdVsWoDbiyRaeGTfkIAmXKcfFHbztVPVwBXOsitqde73AAYqTpU4c/qKkB67pPrdv5j6Aa9Pj8uX7iZiPILmVJioGKN1lkvli1IbcV2EluFZVG795JQai1elstsHJ7kKgEpbuOXvxhKIRh65si6kGlaT1RkYnQVGB//B1ia9TNqXjCGUdekD9UeoS40TlZbLRQRifEXehzaTRFf7qrSy3Zyw4Q+Noof2nyF/Ng5dPq2sOpMk6Fl3+5AhKF/O96gpvxxPPDrqGC8ikgMafV/zKN1oi2WQGnpEP7PXsu2kGoNWlZFpYwn41tzwoWvylgTLQGh5aTKuMUPHj6rObeDlbNwjiJBPwqPrAdNUkFTgd0L934mluSCArvxeaBU/PaB33fc6uxuF/6oIAo9f/Ja9YxRg3w
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR08MB6750.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(396003)(136003)(346002)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(44832011)(53546011)(2616005)(6506007)(6512007)(478600001)(6666004)(41300700001)(8936002)(4326008)(8676002)(26005)(2906002)(6486002)(5660300002)(316002)(66946007)(110136005)(54906003)(66556008)(66476007)(86362001)(31696002)(36756003)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB9267
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:
 DB5PEPF00014B90.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	cb6fbea2-3dac-472a-0fcf-08dbec3764ac
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	23IsTgIgtM8MzC3w9WG1vNv8NY+AVH6fud2GDjhzyv3fCVmfkrAJNzH7JRYCCs59yYp9O1dgkavTSIud4ZX3L9mu3EA+ammZCYTXVwuNhkKqoPbtvpNCui1177ZAk2oap6ST14P0+Lo5FwgyGTvvlJaeTbasqHd4Ev/88wdKetdm0Rs+qFAI02msrJI1KFu1gDoyPr/knGYhoirvFCe2fOyHMifLuvOKyIeenPHvkxzuu827s6dsAlTztqWzNLwI5lpCJTfBgT+8crxC86NU3AZxsGOE0TkNDRvg5efciBa4cCYMqASfXH0OqfKUqQ37keKm02RyVrJbxcOwpNiYK+lHARiTNCv4po1zlYiqFXkU+pHTv/i8q1q/0sxPzlXG3ZgPTfOkRnpF3cVHFsnj+xtxtDHe7rs2Dm2tbkSWFIzT0KUCd/E56J0X2oaCAE0qyUPwHPAFhQskpy1ljtj7rQdlIweX3xyQBnNPp15bn/YFORwgb5gSlGmQxs0p+MMDa2AByRfPQNPXnrxOvNu5vIU+1zlSkLIZmogE6YqxjWbXiRZSSpX4eJXX3/PkH0lK0SIQiOUhHlkkF4pipE//3ojCxUNifejvvzUKKwModdglWWrR1r9gJe+shYxubuAUxN84dZrGeyM3Yg40+4GappEZxqNfdHixM7PWW6pt1FF2TQr7dSQILU8risyWhjSmcCWzJUF7Ci4Um/634y0LmoUMuUoUzXT17LMTnuQyzu4Bqz2M8HXeafMqq364vPVT
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:(13230031)(4636009)(136003)(396003)(346002)(39860400002)(376002)(230922051799003)(64100799003)(1800799012)(82310400011)(186009)(451199024)(46966006)(40470700004)(36840700001)(40480700001)(31686004)(40460700003)(70206006)(70586007)(110136005)(36756003)(356005)(81166007)(86362001)(31696002)(82740400003)(6512007)(47076005)(36860700001)(53546011)(336012)(2616005)(6666004)(26005)(478600001)(2906002)(316002)(54906003)(6486002)(8936002)(5660300002)(4326008)(6506007)(8676002)(41300700001)(44832011)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Nov 2023 15:18:19.6705
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2a636655-2ddf-4cda-0231-08dbec376cdb
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:
	DB5PEPF00014B90.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB5898

On 11/16/23 9:53 AM, Olaf Hering wrote:
> Thu, 16 Nov 2023 09:21:06 +0000 Luca Fancellu <Luca.Fancellu@arm.com>:
> 
>> I see your patch is handling this issue but maybe was not meant to be upstreamed,
>> so I would like to ask if you are willing to make it upstream-able or if it’s not planned
>> to do so.
> 
> Right now I do not have the time to work on this.
> 
> First there need to be an agreement about how the timeout needs to be configured.
> 
> 
> Olaf

Hello everyone,

Following our earlier discussion, we learned that there is already a 
solution to fix the LIBXL hotplug timeout issue. Currently, we have two 
options:

1. Xenstore Key/Value Approach: This is implemented in the patch 
"libxl.LIBXL_HOTPLUG_TIMEOUT.patch". This method does not require 
recompiling libxl. It involves setting up a key/value in Xenstore before 
domain creation. The patch can be viewed here: 
[https://build.opensuse.org/package/view_file/openSUSE:Factory/xen/libxl.LIBXL_HOTPLUG_TIMEOUT.patch?expand=1].

2. Configuration via 'xl.conf': We can make "LIBXL_HOTPLUG_TIMEOUT" 
configurable through the 'xl.conf' file.

I propose we have a discussion to determine the most suitable approach. 
Once we reach the best solution, we can move forward with the 
implementation/upstream.

Your feedback, suggestions, or any improvements would be greatly 
appreciated.

Thank you for your time and consideration.

Regards,
Divin


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 15:27:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 15:27:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639785.997499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Bbm-00017g-9a; Thu, 23 Nov 2023 15:27:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639785.997499; Thu, 23 Nov 2023 15: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 1r6Bbm-00017Z-5V; Thu, 23 Nov 2023 15:27:14 +0000
Received: by outflank-mailman (input) for mailman id 639785;
 Thu, 23 Nov 2023 15: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=zW5S=HE=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r6Bbk-00017T-Ip
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 15:27:12 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id c41f8205-8a14-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 16:27:10 +0100 (CET)
Received: from mg.gitlab.com (4.226.74.34.bc.googleusercontent.com
 [34.74.226.4]) by
 29440f936818 with SMTP id 655f6f4bdbed8bdb6acad9cd (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 23 Nov 2023 15:27:07 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: c41f8205-8a14-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700753227; x=1700760427; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=yI/Hg+8bsaZgIXOucBlkXLWQQjJ91/hHI2YishZ94Qg=;
 b=aYTITqlG1SAoIA+vssdNO1IHVlxPHycoXHt7nMVsMmVxBw/aHWaZpkBG846v1wTQXWb1VVP613nJZcIRj2q+/GyU7SPvA0RGIJE1sAVBWU94Sx4e5tfDaxf3M49VPKvWwXP1htz1WRODcm7vGYWBloMqpsDXoJoS5taTOVYQYvo=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 23 Nov 2023 15:27:07 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655f6f4bae781_2c9ac041033a0@gitlab-sidekiq-catchall-v2-f4798f96c-qlrz2.mail>
Subject: xen | Successful pipeline for staging-4.18 | 3f9390fe
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655f6f4ba1b8b_2c9ac041032a9";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1082740589
X-GitLab-Pipeline-Ref: staging-4.18
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655f6f4ba1b8b_2c9ac041032a9
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1082740589 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.18 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.18 )

Commit: 3f9390fe ( https://gitlab.com/xen-project/xen/-/commit/3f9390fea5c51a6d64596d295902d28931eeca4c )
Commit Message: xen/sched: fix sched_move_domain()

When moving...
Commit Author: Juergen Gross ( https://gitlab.com/jgross1 )
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1082740589 ( https://gitlab.com/xen-project/xen/-/pipelines/1082740589 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655f6f4ba1b8b_2c9ac041032a9
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging-4.18 | 3f9390fe</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1082740589 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.18" style=3D"color: #333333; text-decoration: none;">
staging-4.18
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/3f9390fea5c51a6d64=
596d295902d28931eeca4c" style=3D"color: #3777b0; text-decoration: none;">=
3f9390fe</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/sched: fix sched_move_domain()

When moving...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/0cac9c91cba4579c288f4be83125f17e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jgross1" style=3D"color: #3=
33333; text-decoration: none;">
Juergen Gross
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108274=
0589" style=3D"color: #3777b0; text-decoration: none;">#1082740589</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655f6f4ba1b8b_2c9ac041032a9--


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:08:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:08:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639825.997514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6CFq-0002rE-OE; Thu, 23 Nov 2023 16:08:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639825.997514; Thu, 23 Nov 2023 16:08: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 1r6CFq-0002qf-JW; Thu, 23 Nov 2023 16:08:38 +0000
Received: by outflank-mailman (input) for mailman id 639825;
 Thu, 23 Nov 2023 16:08: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r6CFp-0002oi-Ho
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:08:37 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e75e311-8a1a-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 17:08:36 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-332e3ad436cso415973f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 08:08:36 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 q14-20020adff78e000000b0031c52e81490sm1994948wrp.72.2023.11.23.08.08.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 08:08:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e75e311-8a1a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700755715; x=1701360515; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rMkauDFn+qAfuR/oZAOw0ra8gHEXx3ErgUZ/htH3VG0=;
        b=dQ2EjVj0qsCz/FdrqNhZXb5Jw0inDEuecf5HiXvCT2iHClnBtVbFAlfa4v4pZ0sgLK
         6PK62G8SollWfE5zIhs65JXi+FMT1LU5m6TkbidyQnomVo6qUNRzZ6/feeHhQlX6TdG8
         0q4lzljSdH/67EVYK7ZrnsaFA9mczWSIXi9MM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700755715; x=1701360515;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=rMkauDFn+qAfuR/oZAOw0ra8gHEXx3ErgUZ/htH3VG0=;
        b=jB7tWBnByb3/pIke4ds8rB5QA2BCMG87Fijbd4zKDJSqN4dGtsNVeKNgFWIf0Et1aP
         g2gALmcWduMv+VbmwKy1JdeH7cCAYQfIYBVbEDKE9xM/txpYsL3HivlSHEcl6/dZ9+2G
         +1i+ewGBPG66DfztcOl0z2z84ctC7sB6tYfebdtg+dtVFzXbopdhqsCtdP4JRDAIeNLL
         hMJ5kFEFGrhAO4FdDJbJQRtM4aoGMY//K3Ss9Y/gFfK40IB5N9G6MO9m+aIin4TpMQu4
         uAN1SSi1GsaT28aSViFdf0SldaT7fNmqOf6Ige99lJcyTMVuW5HD0cr1nbXaAchrV8i+
         ujrA==
X-Gm-Message-State: AOJu0YwdfSGkMIitnZ5BB/pLSNdgLQ5OZHYB5WKxSkFmnX3M1FbA4gCR
	ba2a8XEKWG3S6dCBCmRsI0FdC7/WVicFuJT2NVI=
X-Google-Smtp-Source: AGHT+IHJaU8zC+nXolQBUc96aBO3NKFRA31Z/rp8UDlbKGxszXv7kGob8xzwyqCzkQa/ZwAGJVQ8jg==
X-Received: by 2002:adf:ec4e:0:b0:332:c5bd:1d9e with SMTP id w14-20020adfec4e000000b00332c5bd1d9emr3794889wrn.4.1700755714811;
        Thu, 23 Nov 2023 08:08:34 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 1/2] livepatch-build-tools: remove usage of gawk
Date: Thu, 23 Nov 2023 17:05:34 +0100
Message-ID: <20231123160535.18658-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231123160535.18658-1-roger.pau@citrix.com>
References: <20231123160535.18658-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

And instead use plain awk.

There's no need to use the --non-decimal-data option for gawk, since the
numbers that we want to print are already prefixed with '0x', and so plain awk
will do the conversion from hexadecimal to decimal just fine.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 livepatch-build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/livepatch-build b/livepatch-build
index 91d203bda0eb..26c88a2ed2c3 100755
--- a/livepatch-build
+++ b/livepatch-build
@@ -422,7 +422,7 @@ if [ "${SKIP}" != "build" ]; then
     echo "Reading special section data"
     # Using xen-syms built in the previous step by build_full().
     SPECIAL_VARS=$(readelf -wi "$OUTPUT/xen-syms" |
-               gawk --non-decimal-data '
+               awk '
                BEGIN { a = b = e = 0 }
                a == 0 && /DW_AT_name.* alt_instr/ {a = 1; next}
                b == 0 && /DW_AT_name.* bug_frame/ {b = 1; next}

base-commit: e588b7914e7afa3abb64b15a32fc2fdb57ded341
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:08:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:08:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639824.997508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6CFq-0002p0-F5; Thu, 23 Nov 2023 16:08:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639824.997508; Thu, 23 Nov 2023 16:08: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 1r6CFq-0002ot-CM; Thu, 23 Nov 2023 16:08:38 +0000
Received: by outflank-mailman (input) for mailman id 639824;
 Thu, 23 Nov 2023 16:08: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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r6CFo-0002oi-Eo
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:08:36 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d9007b3-8a1a-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 17:08:34 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-50abbb23122so1266546e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 08:08:34 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 e16-20020adffc50000000b003313902cef5sm1990361wrs.93.2023.11.23.08.08.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 08:08:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d9007b3-8a1a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700755714; x=1701360514; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=aURyiyPiyMSneeqCTcKlO10Y28aLHY3qHYUNFP2aInA=;
        b=mLgEKT0QfqJQS9ReE38KdpHxa/f+E+86TNdWnwMqkpVhWIh0DgyX0LVGgo9FUpKKpR
         RTOwqHUHzOGpmKJ97u1P9eNSxtC/hKQ0AN5D8I1pJEbGFTKi8z/sI644FKWQtRaM5vdP
         RpMnUnXcN5BFRn3s2UFdHDO0YX0f9iybssKmg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700755714; x=1701360514;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=aURyiyPiyMSneeqCTcKlO10Y28aLHY3qHYUNFP2aInA=;
        b=P92/o1q5Rr818LMpUyohrG5ai7F5x+qq9oZJMatiaSWu0mlgk6NXW7DDNCTFdd+9VK
         JDjPh/U006r1UVayAWCeEPzest30LdNMUvVUMsjKKja/i8S2ySkRpNjX0LhbQcWotO/T
         KDOdYa1XCFiG0larfHc7lZpcJoG2BYUEAHfSLdus47Q5tg/J92SuK2XHxjHv3tnWfhfj
         G0QFtOMVbdcscUyfsTmfCj+qqXlw2r7j6vHKAaNxdVjVbVHx6c2YFJcKMTGr1ZmGb4es
         7wc3WlISjzgY2glqiNVl8ANVgkin1dOSRFqjUlHUTDDZHu0pJ+ExTTZom3lpFbfTwZjS
         taGw==
X-Gm-Message-State: AOJu0YyYxgX3tAYhbppbvDoZvbZxb1XdRXVEUoY+2H1+sSrAUKxVTmLf
	K+Wk6KoBMqiruh8KVbcmxm1d1UycYXolg83jbQ8=
X-Google-Smtp-Source: AGHT+IFQPuz4aPLq3vD06A9vaxqJQj6gO2Ro5J9uQL232UexWniO+ll+opIfvIHm0d0+iHqc9uJ/jw==
X-Received: by 2002:a05:6512:159f:b0:503:36cb:5436 with SMTP id bp31-20020a056512159f00b0050336cb5436mr5669905lfb.9.1700755713720;
        Thu, 23 Nov 2023 08:08:33 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 0/2] livepatch-build-tools: fixes for non GNU tools
Date: Thu, 23 Nov 2023 17:05:33 +0100
Message-ID: <20231123160535.18658-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

A couple more fixes to allow the usage of livepatch-build-tools with non
GNU utilities.  Shouldn't introduce any functional change.

Thanks, Roger.

Roger Pau Monne (2):
  livepatch-build-tools: remove usage of gawk
  livepatch-build-tools: do not use readlink -m option

 livepatch-build | 31 +++++++++++++++++--------------
 1 file changed, 17 insertions(+), 14 deletions(-)


base-commit: e588b7914e7afa3abb64b15a32fc2fdb57ded341
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:08:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:08:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639826.997529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6CFs-0003IT-0W; Thu, 23 Nov 2023 16:08:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639826.997529; Thu, 23 Nov 2023 16:08: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 1r6CFr-0003IM-T7; Thu, 23 Nov 2023 16:08:39 +0000
Received: by outflank-mailman (input) for mailman id 639826;
 Thu, 23 Nov 2023 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=RRmN=HE=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r6CFq-0002oi-DN
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:08:38 +0000
Received: from mail-lj1-x230.google.com (mail-lj1-x230.google.com
 [2a00:1450:4864:20::230])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8efde5f9-8a1a-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 17:08:36 +0100 (CET)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2c5b7764016so11767431fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 08:08:36 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 z4-20020a1c4c04000000b0040b32edf626sm2389446wmf.31.2023.11.23.08.08.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 08:08:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8efde5f9-8a1a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700755716; x=1701360516; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nfobU6oQZA/gb41m+Lcagy1PuTHLFIO9Dot16l0EkH8=;
        b=n3/NcrC++yMlQc7SToGcbcGxTQbrfQjd+Oj1O6IF9vwHzVGD2bpiEotcmLvPXVSIgV
         UgS0yq1fusDeYRSYfjVvaTIEEf0eizxBSRToesjCW4YIlbZ2v907U+9mWsyY0Ee2VZtX
         9nAXkeUgRCCI+kFAdz+N742wh1DkkVxIUaGvw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700755716; x=1701360516;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nfobU6oQZA/gb41m+Lcagy1PuTHLFIO9Dot16l0EkH8=;
        b=Ov9b16DQcrk5M5UF/r5Bn477l7zjxmesJtREr4tdIV9adxuG+HNzg6ebQtERcBCG75
         j0JQtppOToMT5A2Ou7smbiHLcZ25B5vot8UdIBskaP4Qv2aBOQJlahaZ5o8+FygsswUQ
         xTAUlPNOc37WeJ6DdnubyzDsz2DvZQNxg9aVu/zdOSN+L5fm4X4k5m9K4PZgZVICIdfR
         7Dh+BovYt88NFkKQPmozLZvaglQte/+If0axk0IFEHtPur7bK78i0CUqsKFu+GL72hTR
         0eNiaWopgnkA2VnSylCoJP54djA0VvFABIYqJDDHRaojUj41mffNSuxfZA4cqrlm7+rS
         A2hQ==
X-Gm-Message-State: AOJu0Yz/+1IDQxV+U+1Uf6oXPBPLU6UvjZFKRFq93P6b89FmPKwqpDpN
	Y5jDKpP8djCh91LtuECKa2M66/z7ODz3BpyZrH8=
X-Google-Smtp-Source: AGHT+IErJ5LvfgBLNdXMU2XeRi7CmqTTb4oF0dHB65UIsSG26Lhx5thivbpCT/4zNzHhguujexxr8A==
X-Received: by 2002:a2e:9f4e:0:b0:2c5:f1a:1f31 with SMTP id v14-20020a2e9f4e000000b002c50f1a1f31mr3188351ljk.1.1700755716042;
        Thu, 23 Nov 2023 08:08:36 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH 2/2] livepatch-build-tools: do not use readlink -m option
Date: Thu, 23 Nov 2023 17:05:35 +0100
Message-ID: <20231123160535.18658-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231123160535.18658-1-roger.pau@citrix.com>
References: <20231123160535.18658-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Busybox readlink implementation only supports the -f option to follow symlinks,
so adjust the logic in order to keep the same behaviour without using the -m
option.

Singed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 livepatch-build | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/livepatch-build b/livepatch-build
index 26c88a2ed2c3..2f35e98d30a3 100755
--- a/livepatch-build
+++ b/livepatch-build
@@ -336,8 +336,8 @@ while [[ $# -gt 0 ]]; do
             ;;
         --xen-syms)
             shift
-            XENSYMS="$(readlink -m -- "$1")"
-            [ -f "$XENSYMS" ] || die "xen-syms file does not exist"
+            [ -f "$1" ] || die "xen-syms file does not exist"
+            XENSYMS="$(readlink -f -- "$1")"
             shift
             ;;
         --depends)
@@ -366,22 +366,20 @@ while [[ $# -gt 0 ]]; do
 done
 
 [ -z "$srcarg" ] && die "Xen directory not given"
+[ -d "$srcarg" ] || die "Xen directory does not exist"
 [ -z "$patcharg" ] && die "Patchfile not given"
+[ -f "$patcharg" ] || die "Patchfile does not exist"
 [ -z "$configarg" ] && die ".config not given"
+[ -f "$configarg" ] || die ".config does not exist"
 [ -z "$outputarg" ] && die "Output directory not given"
 [ -z "$DEPENDS" ] && die "Build-id dependency not given"
 [ -z "$XEN_DEPENDS" ] && die "Xen Build-id dependency not given"
 
-SRCDIR="$(readlink -m -- "$srcarg")"
+SRCDIR="$(readlink -f -- "$srcarg")"
 # We need an absolute path because we move around, but we need to
 # retain the name of the symlink (= realpath -s)
 PATCHFILE="$(readlink -f "$(dirname "$patcharg")")/$(basename "$patcharg")"
-CONFIGFILE="$(readlink -m -- "$configarg")"
-OUTPUT="$(readlink -m -- "$outputarg")"
-
-[ -d "${SRCDIR}" ] || die "Xen directory does not exist"
-[ -f "${PATCHFILE}" ] || die "Patchfile does not exist"
-[ -f "${CONFIGFILE}" ] || die ".config does not exist"
+CONFIGFILE="$(readlink -f -- "$configarg")"
 
 PATCHNAME=$(make_patch_name "${PATCHFILE}")
 
@@ -390,17 +388,20 @@ echo
 echo "Xen directory: ${SRCDIR}"
 echo "Patch file: ${PATCHFILE}"
 echo ".config file: ${CONFIGFILE}"
-echo "Output directory: ${OUTPUT}"
+echo "Output directory: $outputarg"
 echo "================================================"
 echo
 
 if [ "${SKIP}" != "build" ]; then
-    [ -e "${OUTPUT}" ] && die "Output directory exists"
+    # Make sure output directory doesn't exist, and create it.
+    [ -e "$outputarg" ] && die "Output directory exists"
+    mkdir -p "$outputarg" || die
+    OUTPUT="$(readlink -f -- "$outputarg")"
+
     grep -q 'CONFIG_LIVEPATCH=y' "${CONFIGFILE}" || die "CONFIG_LIVEPATCH must be enabled"
     cd "$SRCDIR" || die
     patch -s -N -p1 -f --fuzz=0 --dry-run < "$PATCHFILE" || die "Source patch file failed to apply"
 
-    mkdir -p "${OUTPUT}" || die
     cp -f "${CONFIGFILE}" "${OUTPUT}/.config"
     cp -f "${OUTPUT}/.config" "xen/.config"
 
@@ -453,7 +454,9 @@ if [ "${SKIP}" != "build" ]; then
 fi
 
 if [ "${SKIP}" != "diff" ]; then
-    [ -d "${OUTPUT}" ] || die "Output directory does not exist"
+    cd "${SCRIPTDIR}" || die
+    [ -d "$outputarg" ] || die "Output directory does not exist"
+    OUTPUT="$(readlink -f -- "$outputarg")"
 
     cd "${OUTPUT}" || die
     create_patch
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:20:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:20:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639842.997539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6CQu-0007Sf-0W; Thu, 23 Nov 2023 16:20:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639842.997539; Thu, 23 Nov 2023 16:20: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 1r6CQt-0007Re-SX; Thu, 23 Nov 2023 16:20:03 +0000
Received: by outflank-mailman (input) for mailman id 639842;
 Thu, 23 Nov 2023 16:20: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=zW5S=HE=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r6CQs-0006y3-Fq
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:20:02 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 24ff61b1-8a1c-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 17:19:58 +0100 (CET)
Received: from mg.gitlab.com (12.226.74.34.bc.googleusercontent.com
 [34.74.226.12]) by
 4880619ba52c with SMTP id 655f7baceffdc8361574d36f (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 23 Nov 2023 16:19:56 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 24ff61b1-8a1c-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700756396; x=1700763596; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=n9igjEkFBligUsERFzHg/N3JAklzOvXmrlOBMEpq9D4=;
 b=G11CWVejLoNTVLXO7Pxhc/4E/RJMmPwxOFIhYKA4HaNwh/iEoGzXAU04xotK+Y0sxkmKopbTvirUBTDcesUErIZdRHGqOe/Lq/Uyfu9xd350DxWDFc+9j08vxt7IiAGrGa6/ytftcXlzY6C7JQ6B4NblyD6Rthl2FYKuBAveRsY=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 23 Nov 2023 16:19:56 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655f7bac56eea_2d9ad5813232d@gitlab-sidekiq-catchall-v2-9564b97f6-vm4t9.mail>
Subject: xen | Successful pipeline for staging | f96e2f64
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655f7bac4e995_2d9ad58132243";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1082747345
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655f7bac4e995_2d9ad58132243
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1082747345 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: f96e2f64 ( https://gitlab.com/xen-project/xen/-/commit/f96e2f64576cdbb147391c7cb399d393385719a9 )
Commit Message: xen/MISRA: Remove nonstandard inline keywords

...
Commit Author: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1082747345 ( https://gitlab.com/xen-project/xen/-/pipelines/1082747345 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655f7bac4e995_2d9ad58132243
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | f96e2f64</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1082747345 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/f96e2f64576cdbb147=
391c7cb399d393385719a9" style=3D"color: #3777b0; text-decoration: none;">=
f96e2f64</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/MISRA: Remove nonstandard inline keywords

...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108274=
7345" style=3D"color: #3777b0; text-decoration: none;">#1082747345</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655f7bac4e995_2d9ad58132243--


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:30:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:30:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639883.997549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Cb5-0002UW-1n; Thu, 23 Nov 2023 16:30:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639883.997549; Thu, 23 Nov 2023 16:30: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 1r6Cb4-0002UP-UW; Thu, 23 Nov 2023 16:30:34 +0000
Received: by outflank-mailman (input) for mailman id 639883;
 Thu, 23 Nov 2023 16:30: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=UBXZ=HE=citrix.com=prvs=684edd595=Andrew.Cooper3@srs-se1.protection.inumbo.net>)
 id 1r6Cb2-0002UI-RY
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:30:32 +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 9cf3c7d6-8a1d-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 17:30:31 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cf3c7d6-8a1d-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;
  d=citrix.com; s=securemail; t=1700757030;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=6IGAMxUev0jGFF7TusdxfbC7/iyps+jv4/BEpzUcIzU=;
  b=CWXvqZJ4JOcFm4LXQbYKBv8FFMcsGHuQyenkZ6tf6C9Lf1KpiroeS8Q/
   YWW4uPYb/dfn0BTGkvoAFbP4HGFT0XXsEzvOWDMLsIhTHCL0YhumLMMFS
   YJHUm2SgTg5djeQzNqcywIexoF3PLUM+xsh5IQ54Vbkbmij9Rw3d2HtYw
   c=;
X-CSE-ConnectionGUID: m7wgX8r3TtyojGXzaG31EQ==
X-CSE-MsgGUID: iUoI4izfRKGAZjCmIJCB+Q==
Authentication-Results: esa5.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
X-SBRS: 4.0
X-MesageID: 126871068
X-Ironport-Server: esa5.hc3370-68.iphmx.com
X-Remote-IP: 162.221.159.70
X-Policy: $RELAYED
X-ThreatScanner-Verdict: Negative
IronPort-Data: A9a23:RwYDPqq0VJoJ7foGhoGzKsxFO2JeBmJuZRIvgKrLsJaIsI4StFCzt
 garIBmAaKzfZWr3Ld9zPtvn8ktVvpfcx941TQZl+Cs1EikapZuZCYyVIHmrMnLJJKUvbq7FA
 +Y2MYCccZ9uHhcwgj/3b9ANeFEljfngqoLUUbOCYmYpA1Y8FE/NsDo788YhmIlknNOlNA2Ev
 NL2sqX3NUSsnjV5KQr40YrawP9UlKq04G9wUmAWP6gR5waHzSJNVvrzGInqR5fGatgMdgKFb
 76rIIGRpgvx4xorA9W5pbf3GmVirmn6ZFXmZtJ+AsBOszAazsAA+v9T2Mk0MC+7vw6hjdFpo
 OihgLTrIesf0g8gr8xGO/VQO3kW0aSrY9YrK1Dn2SCY5xWun3cBX5yCpaz5VGEV0r8fPI1Ay
 RAXADVScR+z1/jt/K6qTetDttYqA5KyEbpK7xmMzRmBZRonaZXKQqGM7t5ExjYgwMtJGJ4yZ
 eJAN2ApNk6ZJUQSaxFIUPrSn8/x7pX7WxRepEiYuuwc5G/LwRYq+LPsLMDUapqBQsA9ckOw/
 ziYrzugWk9KXDCZ4Tu49VPwh/3BpwDUcbAQP7iZ1NVAw2TGkwT/DzVJDADm8JFVkHWWS99Zb
 kAZ5Ccqhawz71CwCMnwWQWip3yJtQJaXMBfe8UYwgyQzqvf4y6CG3MJCDVGbbQOr9QqTDYn0
 luImdLBBjF1trCRD3WH+d+8sjeaKSUTa2gYakcsTxYB4tTliJE+iFTIVNkLLUKupoSrQ3eqm
 WnM9XVvwepL5SIW60ml1VWYnD2c9oKSchIk4Qf4bnCswVggSbfwMuRE9mPnAeZ8wJexFwbZ5
 CdZxpPBs4gz4YexeDthqdjh/Y1FBN7faVUweXY1Q/EcG82FohZPh7x47jBkP1tOOc0ZYzLva
 0K7kVoOvMcNYyT6PPQoPd3Z5yEWIU7IT4+Nuhf8N4omX3SMXFXfoHEGibC4gwgBb3TAYYlgY
 MzGIK5A/F4RCLh9zSreegvu+eZD+8zK/kuKHcqT503+gdKjiIu9Fe9t3K2mMrpos8tpYWz9r
 75iCid940QFAb2uMniNqeb+7zkidBAGOHw/kOQPHsbrH+asMDhJ5yP5qV/5R7FYog==
IronPort-HdrOrdr: A9a23:yOaFRKEYBQw6+qs9pLqE5MeALOsnbusQ8zAXP0AYc3Jom6uj5q
 STdZUgpHnJYVkqOE3I9ertBEDiewK4yXcW2/hzAV7KZmCP0wHEEGgL1/qE/9SKIUzDH4Bmup
 uIC5IOauHNMQ==
X-Talos-CUID: 9a23:0kECvmG+3+vpWzVjqmJiq1EbKpA/KUHB3XDSDH+qAEkyEZCsHAo=
X-Talos-MUID: 9a23:trecuAhKG1ueNL8YUUlUjsMpNfpvwvivGk43srovicuvMA1SEB3etWHi
X-IronPort-AV: E=Sophos;i="6.04,222,1695700800"; 
   d="scan'208";a="126871068"
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Xen-devel <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>, Julien Grall
	<julien@xen.org>
Subject: [PATCH] tools/pygrub: Drop compatibility symlink
Date: Thu, 23 Nov 2023 16:30:23 +0000
Message-ID: <20231123163023.2158134-1-andrew.cooper3@citrix.com>
X-Mailer: git-send-email 2.30.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain

This was declared deprecated in commit 10c88f1c18b7 ("tools: Install pv
bootloaders in libexec rather than /usr/bin") in 2012

Take it out fully now, 11 years later.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: George Dunlap <George.Dunlap@citrix.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Stefano Stabellini <sstabellini@kernel.org>
CC: Wei Liu <wl@xen.org>
CC: Julien Grall <julien@xen.org>
---
 CHANGELOG.md          | 3 +++
 tools/pygrub/Makefile | 6 ------
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 4ecebb9f686a..36a8ef89d8e4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
 ### Removed
 - caml-stubdom.  It hasn't built since 2014, was pinned to Ocaml 4.02, and has
   been superseded by the MirageOS/SOLO5 projects.
+- /usr/bin/pygrub symlink.  This was deprecated in Xen 4.2 (2012) but left for
+  compatibility reasons.  VMs configured with bootloader="/usr/bin/pygrub"
+  should be updated to just bootloader="pygrub".
 
 ## [4.18.0](https://xenbits.xenproject.org/gitweb/?p=xen.git;a=shortlog;h=RELEASE-4.18.0) - 2023-11-16
 
diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
index 4963bc89c6ed..d5e291ea0619 100644
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -22,15 +22,9 @@ install: all
 	$(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \
 		--root="$(DESTDIR)" --force
 	$(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub
-	set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \
-	             "`readlink -f $(DESTDIR)/$(bindir)`" != \
-	             "`readlink -f $(LIBEXEC_BIN)`" ]; then \
-	    ln -sf $(LIBEXEC_BIN)/pygrub $(DESTDIR)/$(bindir); \
-	fi
 
 .PHONY: uninstall
 uninstall:
-	rm -f $(DESTDIR)/$(bindir)/pygrub
 	if [ -e $(INSTALL_LOG) ]; then \
 		cat $(INSTALL_LOG) | xargs -i rm -f $(DESTDIR)/{}; \
 	fi

base-commit: f96e2f64576cdbb147391c7cb399d393385719a9
-- 
2.30.2



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:33:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:33:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639889.997558 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Cdl-00034b-EO; Thu, 23 Nov 2023 16:33:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639889.997558; Thu, 23 Nov 2023 16: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 1r6Cdl-00034U-BW; Thu, 23 Nov 2023 16:33:21 +0000
Received: by outflank-mailman (input) for mailman id 639889;
 Thu, 23 Nov 2023 16:33: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=zW5S=HE=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r6Cdk-00034J-Mx
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:33:20 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 0271110d-8a1e-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 17:33:19 +0100 (CET)
Received: from mg.gitlab.com (68.90.74.34.bc.googleusercontent.com
 [34.74.90.68]) by
 69636bcd973c with SMTP id 655f7eceeef17b1c76df5e00 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 23 Nov 2023 16:33:18 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 0271110d-8a1e-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700757198; x=1700764398; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=uCYSlJKqb11VdBmJSMwYgr3I9GYT8NvchtiNyJcXcCE=;
 b=BeR/8nXydXkOpoC55WynjfvmG5gkiZN9atO6Sw58ua3ggBrhu0kwpi7L6dvKjZUF30LBNllTX4yfAZhU2FZvnmkue4aokpjo13zppDMb+hwONMu/gyyBKWQaRMiM17FJix6lOVeqO0SWrVUWjsmMQt5JkeXvpczQ6AFAOF0il54=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 23 Nov 2023 16:33:17 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655f7ecdf0a6a_2c9acf4152898@gitlab-sidekiq-catchall-v2-9564b97f6-gxc6v.mail>
Subject: xen | Successful pipeline for staging-4.17 | e1f9cb16
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655f7ecde603a_2c9acf41527a3";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1082754385
X-GitLab-Pipeline-Ref: staging-4.17
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655f7ecde603a_2c9acf41527a3
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1082754385 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging-4.17 ( https://gitlab.com/xen-project/xen/-/commits/staging-4.17 )

Commit: e1f9cb16 ( https://gitlab.com/xen-project/xen/-/commit/e1f9cb16e2efbb202f2f8a9aa7c5ff1d392ece33 )
Commit Message: xen/sched: fix sched_move_domain()

When moving...
Commit Author: Juergen Gross ( https://gitlab.com/jgross1 )
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1082754385 ( https://gitlab.com/xen-project/xen/-/pipelines/1082754385 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 84 jobs in 2 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655f7ecde603a_2c9acf41527a3
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging-4.17 | e1f9cb16</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1082754385 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging-4.17" style=3D"color: #333333; text-decoration: none;">
staging-4.17
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/e1f9cb16e2efbb202f=
2f8a9aa7c5ff1d392ece33" style=3D"color: #3777b0; text-decoration: none;">=
e1f9cb16</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/sched: fix sched_move_domain()

When moving...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/0cac9c91cba4579c288f4be83125f17e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jgross1" style=3D"color: #3=
33333; text-decoration: none;">
Juergen Gross
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108275=
4385" style=3D"color: #3777b0; text-decoration: none;">#1082754385</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 84 jobs in 2 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655f7ecde603a_2c9acf41527a3--


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639927.997569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6CjK-0004eB-UT; Thu, 23 Nov 2023 16:39:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639927.997569; Thu, 23 Nov 2023 16:39: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 1r6CjK-0004e4-R7; Thu, 23 Nov 2023 16:39:06 +0000
Received: by outflank-mailman (input) for mailman id 639927;
 Thu, 23 Nov 2023 16: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6CjJ-0004dy-Lx
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:39:05 +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 d045a2e0-8a1e-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 17:39:04 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-40b2c8e91afso7184085e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 08:39:04 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n44-20020a05600c502c00b004083a105f27sm3248624wmr.26.2023.11.23.08.39.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 08:39:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d045a2e0-8a1e-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1700757544; x=1701362344; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=2ckM42asHBmu0kl2OnTUmIDbkFvcg5lrIZYng+KIepo=;
        b=kvYSdKiBxldASqr815aOmek3ZY830oeKRAclJIIHQ/iJiPtFRKUqRyX9W1eFZCU+cK
         yIW8pILTuQBVbgQAwp59doal63eKNQsJT0BOOYjsEOjsvKNsopne7sDur6yy2XuDV9of
         RFk0xO6ktAhDNfoAib/rU8BPN2UdVijxhE2K3QMPpzToryb5zlfocgTdET5Gq8YkVRiP
         vSktA+camgzuCIAoBuEs1Tz2wCpT8lu2UARcYViFsd37r1PpJ8VgAp2jwqOY4lBfiecg
         gnzG2SDUn8itNvRoJpBS5R/7VqFJB1MP3jbLMbE3MIXfSMkpKA9Ph7bwKHG6R1CsvM1j
         sNdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700757544; x=1701362344;
        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:subject:date:message-id:reply-to;
        bh=2ckM42asHBmu0kl2OnTUmIDbkFvcg5lrIZYng+KIepo=;
        b=CKfoE7ncgD/2DzHhngVwWFtO7vbCfhRmhywb7+/dfEj5nb9I/qQhG7+wK8qULQUHpK
         eYuh+aCyztggGGPs/odkEEyhfFXuREwsFfpg/zBmcRcYp96gUxfVyN3UUUa9kGhKbCTM
         VmwVAnPKo/XykQrBHMmOZhTgy8RfMnYeFsdo8KYOBVtvN/hywuiVfTzNUY0VRApgOBCh
         1MdLBH2yefvG7K3uz2xcXoB0I+DEzbmEnGVyhFU4EVytvVbEAxu6ykDA9DbxX+g/5UIN
         R3vkoEzOgj8eyA9b68IuQz4LtvPQSGOr+rH49Y+W+4yKw2fbaNQiIBgiuP8431kOt1W1
         B6fQ==
X-Gm-Message-State: AOJu0YzfiLpHSPBOZF4mneAoQP3znTF1OLXoCKt2Lh9H7wX/0lWfcqJg
	WjexprwLe3IDpcSRMV7uR4Fngw==
X-Google-Smtp-Source: AGHT+IGPc+QF/JKNc3OlOcbOPAdsXD0z9yBC0PoH/yMbXrLVawmJ0In+3JoEh/PRGonk3cR4HXYDWg==
X-Received: by 2002:a05:600c:4fc5:b0:402:ea96:c09a with SMTP id o5-20020a05600c4fc500b00402ea96c09amr112423wmq.16.1700757543790;
        Thu, 23 Nov 2023 08:39:03 -0800 (PST)
Message-ID: <aaa662ef-41f3-4e76-9d9f-54b3ff555cd5@tibco.com>
Date: Thu, 23 Nov 2023 16:39:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] tools/pygrub: Hook libfsimage's fdopen() to pygrub
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-7-alejandro.vallejo@cloud.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <20231106150508.22665-7-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
> This patch increases the security posture by removing the need to grant
> filesystem access to the depriv pygrub. Using libfsimage's fdopen(), the
> parent thread in the depriv procedure can simply ensure all the appropriate
> file descriptors are present before revoking permissions to the filesystem.
>
> A convenient usability side-effect is that it's no longer required for the
> restricted user to have access to the disk, because the depriv thread
> already has the file descriptor open by its parent.
>
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
>  docs/man/xl.cfg.5.pod.in         |  6 +-
>  tools/pygrub/src/ExtLinuxConf.py | 20 ++++---
>  tools/pygrub/src/GrubConf.py     | 29 ++++++----
>  tools/pygrub/src/LiloConf.py     | 20 ++++---
>  tools/pygrub/src/pygrub          | 95 ++++++++------------------------
>  5 files changed, 68 insertions(+), 102 deletions(-)
>
> diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
> index 2e234b450e..e3fd2e37eb 100644
> --- a/docs/man/xl.cfg.5.pod.in
> +++ b/docs/man/xl.cfg.5.pod.in
> @@ -1704,8 +1704,7 @@ See docs/features/qemu-deprivilege.pandoc for more information
>  on how to setup the unprivileged users.
>  
>  Note that running the bootloader in restricted mode also implies using
> -non-interactive mode, and the disk image must be readable by the
> -restricted user.
> +non-interactive mode.
>  
>  =item B<bootloader_user=USERNAME>
>  
> @@ -2768,8 +2767,7 @@ See docs/features/qemu-deprivilege.pandoc for more information
>  on how to setup the unprivileged users.
>  
>  Note that running the bootloader in restricted mode also implies using
> -non-interactive mode, and the disk image must be readable by the
> -restricted user.
> +non-interactive mode.
>  
>  =item B<bootloader_user=USERNAME>
>  

I'm leaning towards suggesting that this wants a note in the changelog,
as we're removing a limitation imposed by a security fix.


> diff --git a/tools/pygrub/src/ExtLinuxConf.py b/tools/pygrub/src/ExtLinuxConf.py
> index 4e990a9304..f2e9a81013 100644
> --- a/tools/pygrub/src/ExtLinuxConf.py
> +++ b/tools/pygrub/src/ExtLinuxConf.py
> @@ -123,6 +123,7 @@ class ExtLinuxImage(object):
>  class ExtLinuxConfigFile(object):
>      def __init__(self, fn = None):
>          self.filename = fn
> +        self.file = None
>          self.images = []
>          self.timeout = -1
>          self._default = 0
> @@ -138,16 +139,21 @@ class ExtLinuxConfigFile(object):
>  
>      def parse(self, buf = None):
>          if buf is None:
> -            if self.filename is None:
> +            if not self.filename and not self.file:
>                  raise ValueError("No config file defined to parse!")
>  
> -            f = open(self.filename, 'r')
> -            lines = f.readlines()
> -            f.close()
> -        else:
> -            lines = buf.split("\n")
> +            if self.file:
> +                buf = file.read()
> +                path = self.file.name
> +            else:
> +                f = open(self.filename, 'r')
> +                buf = f.read()
> +                f.close()
> +        lines = buf.split("\n")
> +
> +        if not path:
> +            path = os.path.dirname(self.filename)
>  
> -        path = os.path.dirname(self.filename)
>          img = []
>          for l in lines:
>              l = l.strip()

[List context, Alejandro and I discussed this IRL]

This pattern is horrible and repeated in each object.  I'm going to
experiment and see if there's a (limited) bit of cleanup which can be
done to reduce the invasiveness, and therefore the legibility of this patch.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:49:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:49:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639933.997579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6CtG-0007K3-V5; Thu, 23 Nov 2023 16:49:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639933.997579; Thu, 23 Nov 2023 16:49: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 1r6CtG-0007Jw-S7; Thu, 23 Nov 2023 16:49:22 +0000
Received: by outflank-mailman (input) for mailman id 639933;
 Thu, 23 Nov 2023 16:49: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=/xmv=HE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6CtF-0007Jm-Rt
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:49:21 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3f1a5278-8a20-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 17:49:19 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-4083f61322fso7991135e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 08:49:19 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 c4-20020a05600c0a4400b003fefaf299b6sm2551438wmq.38.2023.11.23.08.49.18
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 08:49:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3f1a5278-8a20-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700758159; x=1701362959; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=k2nDtylLcc3BPP0+cqRG/S5i7I32gLdlffn3QlEoOwo=;
        b=cHxxxaKwuB/5FbwGvYS6dro8BEpZAE4BGXgLZq7PijTWUB7Bnvan+uIXdrswiBEmb8
         5+/6w/VI8T6dHOYpXhBBOHiIIgAjdkXnGhFS66dJcsH0r+M7D7G6IIU4Ua12S5yIOjMM
         sk9c5wvwDYZ9B4uiSZFCRR3V9GY6M3+qkOtdA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700758159; x=1701362959;
        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:subject:date:message-id:reply-to;
        bh=k2nDtylLcc3BPP0+cqRG/S5i7I32gLdlffn3QlEoOwo=;
        b=WhI8EfPqaRzNajhQdLIxvJ42AuVe870WoJ4WlBphg+BLC2pVy5jRxnkVyxQbj2U0vj
         AsTyaZdd3b9ZqvHVORqpPiK1+wY6pi/NPyhIeP4OzvZNOvW26QjGp+tTsNBHO/lsPU0y
         nztveMEQelOJ8NXljac5AHztQg8q5KyBQpVx4r9WqWWiTCFQ+DtoV+wzZwv6eExd1Hf8
         S5ETNdX9ZCta2D54pnYHUvTTM3GWJzQr6QwZGUruJRZXU9OpV7Ku8cw0zulRsdTnjgxJ
         oVISQSXpchyvR60XuCvR8zBzdUPShubIVSha/KXpL4Czj+AtCsmUx5pD6FTE3JO2WBfy
         HZww==
X-Gm-Message-State: AOJu0YwXLytYIbHM0oAuaqwn+KupGT8BKkSW+R3RH6rBOph4LsnccVPG
	iwNJJPsNh5AtgbRKTs6y5tuJxw==
X-Google-Smtp-Source: AGHT+IHAe6uCoKQTWTIzllmbcJi0YxMuGhudu5sngNR+V2dT2IRA9TKOBPyANrchkOTW/WQUmUQAaQ==
X-Received: by 2002:a05:600c:1546:b0:405:3a3b:2aa2 with SMTP id f6-20020a05600c154600b004053a3b2aa2mr105970wmg.37.1700758159355;
        Thu, 23 Nov 2023 08:49:19 -0800 (PST)
Message-ID: <b4a967df-f08b-495b-b7a4-0632c8c271f7@cloud.com>
Date: Thu, 23 Nov 2023 16:49:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] tools/pygrub: Set mount propagation to private
 recursively
Content-Language: en-US
To: Andrew Cooper <andcooper@tibco.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-2-alejandro.vallejo@cloud.com>
 <4d31c9f5-faf3-47f7-976e-2d5665ba446d@tibco.com>
 <e077f551-f4d4-4fe3-9726-2a877f9f718b@tibco.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <e077f551-f4d4-4fe3-9726-2a877f9f718b@tibco.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 22/11/2023 19:48, Andrew Cooper wrote:
> On 22/11/2023 7:46 pm, Andrew Cooper wrote:
>> On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
>>> This is important in order for every mount done inside a mount namespace to
>>> go away after the namespace itself goes away. The comment referring to
>>> unreliability in Linux 4.19 was just wrong.
>>>
>>> This patch sets the story straight and makes the depriv pygrub a bit more
>>> confined should a layer of the onion be vulnerable.
>>>
>>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Sorry, wants
> 
> Fixes: e0342ae5556f ("tools/pygrub: Deprivilege pygrub")
> 
> too.  Will fix on commit.
> 
> ~Andrew

Sounds good.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:50:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:50:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639935.997588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6CuF-0000eo-7v; Thu, 23 Nov 2023 16:50:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639935.997588; Thu, 23 Nov 2023 16:50: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 1r6CuF-0000eh-5P; Thu, 23 Nov 2023 16:50:23 +0000
Received: by outflank-mailman (input) for mailman id 639935;
 Thu, 23 Nov 2023 16:50: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=/xmv=HE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6CuD-0000e5-Vo
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:50:21 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 63aee797-8a20-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 17:50:21 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c871d566cfso12110131fa.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 08:50:21 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 c4-20020a05600c0a4400b003fefaf299b6sm2551438wmq.38.2023.11.23.08.50.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 08:50:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63aee797-8a20-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700758221; x=1701363021; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=oowHuP7pc75QRujvNjOm3oPDbCH+YPrBweBaXhassmQ=;
        b=d14JUY4bwVHEP9OGp+pi31vXxNDnsk5fMKNRQMK6qDZsKPHwMMDDFT3IVxXQ2k3eXl
         HgJSP6l1zm3igRTjVh6r4IqJSAnWlW039s8Wu8R+f6i18OfqlrsBjQdVzbocylmEe2+1
         dDRhmZOte3/5jQDM6B7glbrKbbTG2l7uSAxkU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700758221; x=1701363021;
        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:subject:date:message-id:reply-to;
        bh=oowHuP7pc75QRujvNjOm3oPDbCH+YPrBweBaXhassmQ=;
        b=FSd+In7bg0S7Oob9BVm3GzhHSp17XWKJAtVc8weqgq0dVG7UZBRdayaO2tMAbblc6G
         4miO4Wm04f+n7FRx+GciMEZi3PGszXBqF7Xph16IJgyoFAVLraDUtdFMbrRk4snhiQTB
         pofQeM7BGm43MQhKyO4imii6ZG1oWTh90wY4tCvjht5dZ8ksnW/jOpkkap7LPO0dAC4B
         Qo0qzpti9zOZ4Y0LaMB+3/dsTnMoNELH6lB45KSqjEsSeRYaNEK0mWxnT+lzocC8wWnB
         FhjOdKzrzoBPH4Tldlr0lv9tSIO/GoFjs4GOcix/T2y3QC7oaE/NYBJJCBzgh1TbrHPd
         1LIg==
X-Gm-Message-State: AOJu0YynEMlVlXJaFMfGFnR4hXnpkNsIcN/AC/RNH3LHep2M0jnXZt31
	EAXZbvryomHbUvMeQhScFckI0A==
X-Google-Smtp-Source: AGHT+IHGEw4xVwW9wYcOi09K6B5/JH/2iFSjdO66ctcLRPqyv1rZuxafgxd6bwiYuuJyoYjFmiKk0w==
X-Received: by 2002:a2e:87c7:0:b0:2c8:32b4:c431 with SMTP id v7-20020a2e87c7000000b002c832b4c431mr2748066ljj.40.1700758220682;
        Thu, 23 Nov 2023 08:50:20 -0800 (PST)
Message-ID: <90f63f30-38d3-4d70-aae3-1ec3a307c4c1@cloud.com>
Date: Thu, 23 Nov 2023 16:50:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2.5/6] tools/pygrub: Fix expression before it's copied
 elsewhere
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-3-alejandro.vallejo@cloud.com>
 <20231122200702.1874420-1-andrew.cooper3@citrix.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <20231122200702.1874420-1-andrew.cooper3@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 22/11/2023 20:07, Andrew Cooper wrote:
> This has an identical meaning, and is the more pythonic way of writing it.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Wei Liu <wl@xen.org>
> CC: Anthony PERARD <anthony.perard@citrix.com>
> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> ---
>   tools/pygrub/src/pygrub | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
> index 327cf51774fc..2c06684d6532 100755
> --- a/tools/pygrub/src/pygrub
> +++ b/tools/pygrub/src/pygrub
> @@ -88,7 +88,7 @@ def downgrade_rlimits():
>       # filesystem we set RLIMIT_FSIZE to a high bound, so that the file
>       # write permissions are bound.
>       fsize = LIMIT_FSIZE
> -    if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ.keys():
> +    if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ:
>           fsize = int(os.environ["PYGRUB_MAX_FILE_SIZE_MB"]) << 20
>   
>       resource.setrlimit(resource.RLIMIT_FSIZE, (fsize, fsize))

LGTM.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:56:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:56:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639939.997599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6D0N-0001fa-TJ; Thu, 23 Nov 2023 16:56:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639939.997599; Thu, 23 Nov 2023 16: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 1r6D0N-0001fT-Qb; Thu, 23 Nov 2023 16:56:43 +0000
Received: by outflank-mailman (input) for mailman id 639939;
 Thu, 23 Nov 2023 16: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6D0M-0001fL-Bg
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:56:42 +0000
Received: from mail-lf1-x129.google.com (mail-lf1-x129.google.com
 [2a00:1450:4864:20::129])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 462d4f54-8a21-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 17:56:41 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-507ad511315so1441146e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 08:56:41 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 df2-20020a5d5b82000000b0032fbe5b1e45sm2089010wrb.61.2023.11.23.08.56.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 08:56:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 462d4f54-8a21-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700758601; x=1701363401; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=oBNn7jJG4lYeTriQcEhM9ixI3wBPM7jvwLZzjFwo4Qw=;
        b=dpNrbG2flxAx/LBtn3VJSLiFIx2PK9Z4QpxDDVbUsqwgblr2gS7BnCHAE28wMzQ8SB
         PYL+ZbWVWGb1zY6tIdW8vZooozCevSiu/7F/ITAfO2d+Nr5kWWuLqq5H/ijpLgxd+W1i
         0CD6PEBv0zxGKkKWK07zNhDmY9/OGwAHz6l34=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700758601; x=1701363401;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=oBNn7jJG4lYeTriQcEhM9ixI3wBPM7jvwLZzjFwo4Qw=;
        b=NX5NqvcTA5YQU6CZjNHugrKavo5vvIUet5N1HIcFDxHMGtuUgdX2+62em24emax0dW
         As4cOO4tjFnFoeZhha4oh/2FMpo/qa3xxs2uVf2t1RdIKQkQa8693ZBBD2cAw2krQKNQ
         DyIXZLzliZyCuD4rJD2QlvLaeadPJvaIoyes43lkYuo818M1dEvOqbMzGXRtvYItteEZ
         mVDvStirKel5B9muYCA+/wBhrVmlXVynDn1TsR7+auTAWKTBEpXyJ1pDUfGEgjX7o/IZ
         Es/sj+04R1flULUOnTDtk1Vqz6bo5ktDJ0r6Jw5I2hNi36aWJv6XtLDAeeG/KLnA2OVh
         5/dw==
X-Gm-Message-State: AOJu0YyQOCREklLQYY68H7CZncIrqTDnO57acw+wKTu4I1lcckaPmJgE
	r9crWEycpDq0o7hDeOYQlUegMA==
X-Google-Smtp-Source: AGHT+IHDra7Hz48a+TBpWM1gz8ylsu4+5PO9vcpVK6bVf4J9uVQbReOeRY5jzw6Y/7UTGRwFlLEnWA==
X-Received: by 2002:ac2:4c2a:0:b0:508:269d:1342 with SMTP id u10-20020ac24c2a000000b00508269d1342mr4145311lfq.35.1700758600558;
        Thu, 23 Nov 2023 08:56:40 -0800 (PST)
Message-ID: <c4a6866d-1522-4a21-b323-52fa9c807691@citrix.com>
Date: Thu, 23 Nov 2023 16:56:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH 2/3] livepatch: add a dummy hypercall for testing purposes
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, George Dunlap <george.dunlap@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20231123112338.14477-1-roger.pau@citrix.com>
 <20231123112338.14477-3-roger.pau@citrix.com>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231123112338.14477-3-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/11/2023 11:23 am, Roger Pau Monne wrote:
> Introduce a dummy XEN_SYSCTL_LIVEPATCH_TEST hypercall to be used in order to
> test livepatch functionality.  The hypercall fills a value in the passed
> structure, which is returned to the caller.
>
> The xen-livepatch utility is expanded to allow calling that hypercall, and
> printing the returned value on stdout.
>
> Finally, add dummy patch that changes the returned value of the hypercall from
> 1 to 2.  Such patch can be used with livepatch-build-tools in order to generate
> a livepatch payload, that when applied to the hypervisor change the printed
> value of `xen-livepatch test`.
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> The whole logic is very simple now.  I think it's enough to have a skeleton we
> can later expand.
>
> Unsure whether we should do some kind of test (with `patch -F0`) that the patch
> still applies cleanly as part of Xen build.

Thanks for looking into this.  I think one tweak towards the larger plan
might help here.

When I envisaged this originally, it was something along the lines of
test_self_modify_code() which would be called on boot after alternatives
were called, which would sanity check the result of certain simple cases.

Then, for livepatching, I was thinking of something like this:

obj-y += test_smc.o
targets-y += test_smc_alt.o

i.e. we have test_smc.c and test_smc_alt.c which are two slightly
different copies of the same thing, and we compile both but don't link
the second one in.

Then, we can diff the two C files in order to make the patch to build as
a livepatch.  This way we're not maintaining a patch committed into the
tree, which I suspect will make everyone's lives easier.  I suspect in
practice that we'll want test_smc_asm.S pairs too.

Not necessarily for now, but I was also thinking we'd have a test stage
where we know exactly what the livepatch ought to look like, so we audit
the eventual livepatch elf that it has all the expected differences
encoded, and no extraneous ones.

Finally, I was thinking that the hypercall would (re)run
test_self_modify_code().  I'm on the fence about making it part of the
livepatch infrastructure, given that the nature of the test is wider,
but I can't think of any case that we'd be wanting runtime self
modifying code (e.g. rerun alternatives after ucode load) which isn't
linked to a new livepatch to begin with.

Thoughts?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:57:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:57:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639940.997609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6D0k-00028W-6p; Thu, 23 Nov 2023 16:57:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639940.997609; Thu, 23 Nov 2023 16:57: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 1r6D0k-00028P-30; Thu, 23 Nov 2023 16:57:06 +0000
Received: by outflank-mailman (input) for mailman id 639940;
 Thu, 23 Nov 2023 16:57: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=fVVO=HE=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6D0i-0001fL-87
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:57:04 +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 539628fd-8a21-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 17:57:03 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-32dc9ff4a8fso703111f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 08:57:03 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 df2-20020a5d5b82000000b0032fbe5b1e45sm2089010wrb.61.2023.11.23.08.57.02
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 08:57:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 539628fd-8a21-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700758623; x=1701363423; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=nL9Lrzli2/83sINQl90CXNfa5qp0gGlv9hp0GrRE4N8=;
        b=KWCPfrV6Tgt9vVa4bxejJSEI2knJlSPQtUyHpC8uKNtdlvq5rkF1I8DHEZqM6QdLTH
         NeojDa6pRzWpl43KgV/EjanKnQWgkHrQVcTngqGrHx5WBNBpwqyIkGV9XLzLo52wpcGf
         B3blSNNdxDK0jVb3gDHfKNjVYdfgV8zyjMY/8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700758623; x=1701363423;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=nL9Lrzli2/83sINQl90CXNfa5qp0gGlv9hp0GrRE4N8=;
        b=Sf1WZLqywtQVban8b+AHr1qv6ALwrVYTkgc7Ymf0GFZRbV03ia+8tzqm1fbHCApUc1
         7dV33zs8zJBKsuqj5DtGL2kdO4Eh7D9TULBVw002kx6Gn1ppJTuHussWJcdiwK8uTlRp
         qXv/ucNznItFeGWJqFTTidAFkXiKkh031P3UykAPa6TtDKQNmbqvrHkf1p0PiGOzXPyx
         qP5rzhQuH5eTlihuzw1J07cISmyT/1ww9jx7pUR364Q10QE1QoEi1FAN40pWxxorUkeU
         9x3iEY+zZNT2wYBKDCajuRGr2+te1A4KuuA3ffeyhOsZmtfmT0iiWapbjU8yN4LQJIxk
         8Okg==
X-Gm-Message-State: AOJu0YwSabx2cfRENfQA4lWy3Ag2BIHG3/KQ+dGBHMMCQSGrs9xJQxWu
	W+I1at+6y3loLNqSkNtVO4TUeA==
X-Google-Smtp-Source: AGHT+IFNLCZEJISWHAujthmyH7HyNTzACUbz+tnKpm59of71nm6Po4wKqVhQ+xGSsL3yu0ylo83RHA==
X-Received: by 2002:adf:ef46:0:b0:332:ced7:56cf with SMTP id c6-20020adfef46000000b00332ced756cfmr25671wrp.48.1700758623205;
        Thu, 23 Nov 2023 08:57:03 -0800 (PST)
Message-ID: <420cffb8-96f7-43f2-9ba2-019eb4abf49d@citrix.com>
Date: Thu, 23 Nov 2023 16:57:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2.5/6] tools/pygrub: Fix expression before it's copied
 elsewhere
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-3-alejandro.vallejo@cloud.com>
 <20231122200702.1874420-1-andrew.cooper3@citrix.com>
 <90f63f30-38d3-4d70-aae3-1ec3a307c4c1@cloud.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <90f63f30-38d3-4d70-aae3-1ec3a307c4c1@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/11/2023 4:50 pm, Alejandro Vallejo wrote:
> On 22/11/2023 20:07, Andrew Cooper wrote:
>> This has an identical meaning, and is the more pythonic way of
>> writing it.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Wei Liu <wl@xen.org>
>> CC: Anthony PERARD <anthony.perard@citrix.com>
>> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>> ---
>>   tools/pygrub/src/pygrub | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
>> index 327cf51774fc..2c06684d6532 100755
>> --- a/tools/pygrub/src/pygrub
>> +++ b/tools/pygrub/src/pygrub
>> @@ -88,7 +88,7 @@ def downgrade_rlimits():
>>       # filesystem we set RLIMIT_FSIZE to a high bound, so that the file
>>       # write permissions are bound.
>>       fsize = LIMIT_FSIZE
>> -    if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ.keys():
>> +    if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ:
>>           fsize = int(os.environ["PYGRUB_MAX_FILE_SIZE_MB"]) << 20
>>         resource.setrlimit(resource.RLIMIT_FSIZE, (fsize, fsize))
>
> LGTM.

Can I take that as a R-by then?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 16:59:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 16:59:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639943.997619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6D2h-0003R8-HE; Thu, 23 Nov 2023 16:59:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639943.997619; Thu, 23 Nov 2023 16:59: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 1r6D2h-0003R1-EM; Thu, 23 Nov 2023 16:59:07 +0000
Received: by outflank-mailman (input) for mailman id 639943;
 Thu, 23 Nov 2023 16:59: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=/xmv=HE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6D2g-0003Qr-DQ
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 16:59:06 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b90ec69-8a21-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 17:59:04 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-40b2ad4953cso12525305e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 08:59:04 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l6-20020a05600c4f0600b0040b3632e993sm2637890wmq.46.2023.11.23.08.59.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 08:59:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9b90ec69-8a21-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700758744; x=1701363544; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=OcLVKmP8cZ7Md8s4LcFOswIVVxxPcecTQOvhE+XdHCE=;
        b=RmGGMlHyJZ1Tj7q+giEuuRucfFBsNY69Z2BXjcyXTw8010Uy0WFEe87z3kZvTQKbJc
         9wuwhZTqlcCIgYe0ro6SEd1/aiBt4WuqwXahK6pDeZoqqHPe6LLY6Ye2JoyP/H/CR47T
         Snofzo8R/z5Q0eE21FPZ/2DS7H4Re4POcSVOc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700758744; x=1701363544;
        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:subject:date:message-id:reply-to;
        bh=OcLVKmP8cZ7Md8s4LcFOswIVVxxPcecTQOvhE+XdHCE=;
        b=ec8nNzkfJ5AsEQWr8dE/H7aNO0kHrkzmcyMRL9xTfIpKFM/hXB5QMVcAaoJSs8Pe8G
         l9H6uf7O77VA10IDGGAbfmsHXGjNJ3VXdzAb7jRsrxBemaURwgvQeBo4rhcj0ilJ5oML
         HdaV3v5DBfdQDvy/YDOulCPKeYrSmm+1ROsWP0wXiGyXTGg5IvAy1891GA7xVe09CEPp
         uV1LUP4ayPzYeRoUA8GoSPmUPmKs9p4W/X/hJ4LaaotRWBXY+UAnGQa3t/EMs8fusiEk
         eWIMIk4xr/ohJ2RM0ZNRL2SNnyUNRjXhl3RPCZvZ8Xlw/S8B7NL7gbKlTDq0otyHP4w7
         MD9Q==
X-Gm-Message-State: AOJu0YyeOvMjM2oBq9TFZ7P8EOsyU6HqDnoKa0wjZ4e04SOTeVoAKZMl
	XaXz9g2K/DJO69h7Ofl4lo8NjQ==
X-Google-Smtp-Source: AGHT+IHpXQh2klzQyZgCN7dwh1SelUPqlzHG6C39iZ8o0DILNzwRC9MIy1Wa9HDQ62Eht6F0JFG+MQ==
X-Received: by 2002:a05:600c:1548:b0:405:784a:d53e with SMTP id f8-20020a05600c154800b00405784ad53emr2678179wmg.20.1700758743840;
        Thu, 23 Nov 2023 08:59:03 -0800 (PST)
Message-ID: <b7a16f88-c2db-4f79-996f-762b8b2e58d6@cloud.com>
Date: Thu, 23 Nov 2023 16:59:02 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/6] tools/libfsimage: Add an fdopen() interface to
 libfsimage
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-5-alejandro.vallejo@cloud.com>
 <f1a4d1ac-abc3-410e-a171-581b074b8155@citrix.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <f1a4d1ac-abc3-410e-a171-581b074b8155@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 22/11/2023 22:29, Andrew Cooper wrote:
> On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
>> diff --git a/tools/libfsimage/common/fsimage_priv.h b/tools/libfsimage/common/fsimage_priv.h
>> index 2274403557..779e433b37 100644
>> --- a/tools/libfsimage/common/fsimage_priv.h
>> +++ b/tools/libfsimage/common/fsimage_priv.h
>> @@ -29,6 +29,7 @@ extern C {
>>   #endif
>>   
>>   #include <sys/types.h>
>> +#include <stdbool.h>
>>   
>>   #include "xenfsimage.h"
>>   #include "xenfsimage_plugin.h"
>> @@ -54,7 +55,7 @@ struct fsi_file {
>>   	void *ff_data;
>>   };
>>   
>> -int find_plugin(fsi_t *, const char *, const char *);
>> +int find_plugin(fsi_t *, const char *);
>>   
>>   #ifdef __cplusplus
>>   };
> 
> These are the only two hunks in this file.  Is the stdbool include stale?
> 
> It seems to compile fine with it removed.
I think it's leftover from code I needed initially and then didn't 
anymore. Safe to get rid of.

> 
>> diff --git a/tools/libfsimage/ext2fs-lib/ext2fs-lib.c b/tools/libfsimage/ext2fs-lib/ext2fs-lib.c
>> index 864a15b349..9f07ea288f 100644
>> --- a/tools/libfsimage/ext2fs-lib/ext2fs-lib.c
>> +++ b/tools/libfsimage/ext2fs-lib/ext2fs-lib.c
>> @@ -25,15 +25,25 @@
>>   #include INCLUDE_EXTFS_H
>>   #include <errno.h>
>>   #include <inttypes.h>
>> +#include <stdio.h>
>>   
>>   static int
>> -ext2lib_mount(fsi_t *fsi, const char *name, const char *options)
>> +ext2lib_mount(fsi_t *fsi, const char *options)
>>   {
>>   	int err;
>>   	char opts[30] = "";
>>   	ext2_filsys *fs;
>>   	uint64_t offset = fsip_fs_offset(fsi);
>>   
>> +	/*
>> +	 * We must choose unixfd_io_manager rather than unix_io_manager in
>> +	 * order for the library to accept fd strings instead of paths. It
>> +	 * still means we must pass a string representing an fd rather than
>> +	 * an int, but at least this way we don't need to pass paths around
>> +	 */
>> +	char name[32] = {0};
> 
> For an int?  12 will do fine including a terminator, and practical
> system limits leave it far smaller than that generally.
Maybe. I admit optimising that line went pretty low on the list of 
things I cared terribly about. I'm happy to reduce it, but it is 
inconsequential.
> 
> Given that it is guaranteed long enough, you don't need to zero it just
> to have snprintf() write a well-formed string in.
> 
> ~Andrew
For wellformed fd's that's true. Through bugs or malice that may not be 
the case. I'm happier knowing at least the last zero remains.

Cheers,
Alejandro



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 17:02:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 17:02:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639948.997628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6D6K-0005I9-2c; Thu, 23 Nov 2023 17:02:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639948.997628; Thu, 23 Nov 2023 17: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 1r6D6J-0005I2-WF; Thu, 23 Nov 2023 17:02:52 +0000
Received: by outflank-mailman (input) for mailman id 639948;
 Thu, 23 Nov 2023 17: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=62Wd=HE=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1r6D6J-0005Hw-3D
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 17:02:51 +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 217ae831-8a22-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 18:02:49 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40859dee28cso8490525e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 09:02:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 217ae831-8a22-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700758968; x=1701363768; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=oGpih/t2ptadL5poc2XKN9QF6BSY5MXqwzQg+PdEYeg=;
        b=KPQKL+Qc8hT1DfqqmL+QVygwTAjUkWQTZPpmhTz82klMwdPUNdycboI/l4WEi/1pV4
         UKyC6DSYSos9erWoQT4QhFVXYtQ9YKBBXII1lUKYFzMK/f0OxFn194u9+l5sUGhuLgIE
         cAVqvNlXrm62lBbrT2IfXwaC6qrCmxLZ1SN/A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700758968; x=1701363768;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=oGpih/t2ptadL5poc2XKN9QF6BSY5MXqwzQg+PdEYeg=;
        b=VMtYwvxE34T5HH5hx5WyGLSoWvDw2FryUk5kmrmiPzmK/p1i4tYwX1KYPkEawkwK2V
         Gq12ylA+Eyh+VS6PM+gztvW/mlEmBnb7/CD/kOuWEa26hOFX76ku31+NZSaSO+oJaMgJ
         fdfrs0DwR2g8+hsnQ4a8ZRTPioOn11yyafxXszgRal7hGkIADUv7ckzPko/1d1Mrn7oo
         eNcNu72Ik6to8rlhEXNXPkmJ16mxa5AsnpPjeISXjIaqz4f3Uvhg2Ah+9t5ZOC/GdE/C
         Lxvp2bjbhK3EWGsjlHusOHLnBeht0ZTqdmXN8+H+V80xJgjkqhlf9+6lZWgvvsF1hOVb
         5wKw==
X-Gm-Message-State: AOJu0YyXa6Knrwrj+9BEWcKVvlQ8jXK+z2QmQc9xpYbxNMkHlnVEhnff
	FwlOhCQmEuEAR5UF9yUjL77b4D3E22UAyV/aoR3H
X-Google-Smtp-Source: AGHT+IHEp4wZ8jPWf5BofhyNA+lvNUuNWC3m0+SdM49+VfvuVuXC7wAGgPsYqcbATsHLxPdCnrk+fYOP4kN4vuNJ1zI=
X-Received: by 2002:a05:600c:4752:b0:409:637b:88e2 with SMTP id
 w18-20020a05600c475200b00409637b88e2mr224383wmo.0.1700758968567; Thu, 23 Nov
 2023 09:02:48 -0800 (PST)
MIME-Version: 1.0
References: <20231123095224.13720-1-roger.pau@citrix.com>
In-Reply-To: <20231123095224.13720-1-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@cloud.com>
Date: Thu, 23 Nov 2023 17:02:37 +0000
Message-ID: <CAG7k0ErkxUBj0Kk-m8=vY3tbFKdmQUyqOB4n92z1SH767dNq+g@mail.gmail.com>
Subject: Re: [PATCH v2] livepatch: do not use .livepatch.funcs section to
 store internal state
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.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>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 23, 2023 at 9:52=E2=80=AFAM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> Currently the livepatch logic inside of Xen will use fields of struct
> livepatch_func in order to cache internal state of patched functions.  No=
te
> this is a field that is part of the payload, and is loaded as an ELF sect=
ion
> (.livepatch.funcs), taking into account the SHF_* flags in the section
> header.
>
> The flags for the .livepatch.funcs section, as set by livepatch-build-too=
ls,
> are SHF_ALLOC, which leads to its contents (the array of livepatch_func
> structures) being placed in read-only memory:
>
> Section Headers:
>   [Nr] Name              Type             Address           Offset
>        Size              EntSize          Flags  Link  Info  Align
> [...]
>   [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
>        0000000000000068  0000000000000000   A       0     0     8
>
> This previously went unnoticed, as all writes to the fields of livepatch_=
func
> happen in the critical region that had WP disabled in CR0.  After 8676092=
a0f16
> however WP is no longer toggled in CR0 for patch application, and only th=
e
> hypervisor .text mappings are made write-accessible.  That leads to the
> following page fault when attempting to apply a livepatch:
>
> ----[ Xen-4.19-unstable  x86_64  debug=3Dy  Tainted:   C    ]----
> CPU:    4
> RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0=
x1e1
> [...]
> Xen call trace:
>    [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
>    [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
>    [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee
>
> Pagetable walk from ffff82d040625079:
>  L4[0x105] =3D 000000008c6c9063 ffffffffffffffff
>  L3[0x141] =3D 000000008c6c6063 ffffffffffffffff
>  L2[0x003] =3D 000000086a1e7063 ffffffffffffffff
>  L1[0x025] =3D 800000086ca5d121 ffffffffffffffff
>
> ****************************************
> Panic on CPU 4:
> FATAL PAGE FAULT
> [error_code=3D0003]
> Faulting linear address: ffff82d040625079
> ****************************************
>
> Fix this by moving the internal Xen function patching state out of
> livepatch_func into an area not allocated as part of the ELF payload.  Wh=
ile
> there also constify the array of livepatch_func structures in order to pr=
event
> further surprises.
>
> Note there's still one field (old_addr) that gets set during livepatch lo=
ad.  I
> consider this fine since the field is read-only after load, and at the po=
int
> the field gets set the underlying mapping hasn't been made read-only yet.
>
> Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET i=
s active')
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Thanks,
Ross


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 17:04:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 17:04:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639950.997639 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6D8C-0005pS-Dj; Thu, 23 Nov 2023 17:04:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639950.997639; Thu, 23 Nov 2023 17:04: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 1r6D8C-0005pL-B6; Thu, 23 Nov 2023 17:04:48 +0000
Received: by outflank-mailman (input) for mailman id 639950;
 Thu, 23 Nov 2023 17:04: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=/xmv=HE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6D8B-0005pF-3C
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 17:04:47 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 66a4ff55-8a22-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 18:04:45 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2c87903d314so13981631fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 09:04:45 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n17-20020a05600c4f9100b004090798d29csm2590823wmq.15.2023.11.23.09.04.43
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 09:04:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66a4ff55-8a22-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700759084; x=1701363884; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=ii/MpepE/7ykm3O7eF0wFiPiMw7DcmNEyo33n31iXos=;
        b=HcQCnGj2sJ7jm/v+HtqT4AztjFB0P9rTxUTZoYrcf46CMJLFWOlSjPE/15nKIYlpwj
         FqsLmVGgpylZnxT/JPjhl+C3xoMTBLJ6yhKENgAMZKWo6uwHZBaTRVkuDxIXdcAwgqRJ
         682NBrM5NeydvKOgkilvH1TVoXOTiMOavBDrM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700759084; x=1701363884;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=ii/MpepE/7ykm3O7eF0wFiPiMw7DcmNEyo33n31iXos=;
        b=thsiR4AdluJ+dMM674bm8ab9nDnEdwk1OE860A9uovl5VZEQIn11VO/bZveWtin0ZC
         vUv6o9d+VCet3SiOBoIj24C2vsAV8c1eXj3t2fBUvL37fKJuMDQ9wGN6O3Hh0BjdeqIA
         AT9G19jA3XTZHcFw8wAg6yVKlFt9kJDfKhmp17XeSPUFDAFu5mQfRPMi4OGVpy2aQNMD
         5FJXV9isUdXF71Ve9SfivHS4qr1dmWkg0rELdGjP6r8WjqDpUR59Vy/3/t/htcg4QFp9
         a8xOK45yAVO4Y1RJJ89LLgKYqraPm0pE3EYNx6jDqY93AI/5VM491T25NtWz29pd5UXS
         Fz9A==
X-Gm-Message-State: AOJu0Yym636mqMbqQv1ZFPXLGm8k3GT8rNfUxX3pvFF2wlLKzNDxRh2z
	58zFNkGqP/5dj7R0FLgGwetfbg==
X-Google-Smtp-Source: AGHT+IEHT+sDpq+njGv5GTew5qzwsW/vluJaD4o5E3UmlavmIuu1BAEXtwWxfQTGB6LiCht+Im6jgA==
X-Received: by 2002:a05:651c:1047:b0:2c8:8813:2e7b with SMTP id x7-20020a05651c104700b002c888132e7bmr4236009ljm.2.1700759084671;
        Thu, 23 Nov 2023 09:04:44 -0800 (PST)
Message-ID: <6d93bd3a-7dca-44c1-9235-a1fe4f6e2f6c@cloud.com>
Date: Thu, 23 Nov 2023 17:04:43 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2.5/6] tools/pygrub: Fix expression before it's copied
 elsewhere
Content-Language: en-US
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-3-alejandro.vallejo@cloud.com>
 <20231122200702.1874420-1-andrew.cooper3@citrix.com>
 <90f63f30-38d3-4d70-aae3-1ec3a307c4c1@cloud.com>
In-Reply-To: <90f63f30-38d3-4d70-aae3-1ec3a307c4c1@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 23/11/2023 16:50, Alejandro Vallejo wrote:
> On 22/11/2023 20:07, Andrew Cooper wrote:
>> This has an identical meaning, and is the more pythonic way of writing 
>> it.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Wei Liu <wl@xen.org>
>> CC: Anthony PERARD <anthony.perard@citrix.com>
>> CC: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>> ---
>>   tools/pygrub/src/pygrub | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
>> index 327cf51774fc..2c06684d6532 100755
>> --- a/tools/pygrub/src/pygrub
>> +++ b/tools/pygrub/src/pygrub
>> @@ -88,7 +88,7 @@ def downgrade_rlimits():
>>       # filesystem we set RLIMIT_FSIZE to a high bound, so that the file
>>       # write permissions are bound.
>>       fsize = LIMIT_FSIZE
>> -    if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ.keys():
>> +    if "PYGRUB_MAX_FILE_SIZE_MB" in os.environ:
>>           fsize = int(os.environ["PYGRUB_MAX_FILE_SIZE_MB"]) << 20
>>       resource.setrlimit(resource.RLIMIT_FSIZE, (fsize, fsize))
> 
> LGTM.
> 
> Cheers,
> Alejandro

... and

Reviewed-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 17:07:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 17:07:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639953.997649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6DAq-0006Xd-QN; Thu, 23 Nov 2023 17:07:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639953.997649; Thu, 23 Nov 2023 17:07: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 1r6DAq-0006XW-Nc; Thu, 23 Nov 2023 17:07:32 +0000
Received: by outflank-mailman (input) for mailman id 639953;
 Thu, 23 Nov 2023 17:07: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=/xmv=HE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6DAp-0006Vp-BE
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 17:07:31 +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 c91b2c5c-8a22-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 18:07:30 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-40839652b97so7037815e9.3
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 09:07:30 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 x22-20020a05600c189600b0040a4cc876e0sm2501784wmp.40.2023.11.23.09.07.29
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 09:07:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c91b2c5c-8a22-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700759250; x=1701364050; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Y6dXTmJDvOfSqRg7KUpaUNcQYZIePsctVf2lQGF8vdU=;
        b=dIMhvhXTtsKTVrdtWZBH4j4jS2+8PRPBaHLXDf+Ob/CcEv4i0IR3Ac9NHfk+O01SCE
         oNq4oK3vLHAXCaWz7Vh8wh+VdN6Uk2I9gZttH7sqnYa6THC4Hd2rAA+F2Ca3Fw6NBqd8
         cWRvgBpI8NYza1ToypRqsjaqAxdOtB9c9TLTY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700759250; x=1701364050;
        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:subject:date:message-id:reply-to;
        bh=Y6dXTmJDvOfSqRg7KUpaUNcQYZIePsctVf2lQGF8vdU=;
        b=J6KkqojzgTF4PRsUqyYIABGG6O5TprH4/XEWIvLJQHOKbv6LKTU1uabxZn/75uUaNR
         YDyPYsYakjoy5eh2Ws6eUNVdVPX/Qwi60p/TnAC/evWImkaHg7PcGGHHUMXj4ujLp4x9
         YhFuvqnn3MhA6SB4DoBsLb3lDQCAgd44eOKmPUjB395m/CLsYEtBFeF/ow1WcahPF4E2
         OQXlRg6ISjU9hQRXy7PeRMZOA6V+DLgYxN2d6QxIAXMQbmuA6ToeCOIlopZrC0DEZMLt
         Pd7ZDYnUcy5mkVClqbKjadkM3btU9p2ChxUGc4LAvUIOVWfhIZiB+HLVUU2cygg/EDWu
         5o8A==
X-Gm-Message-State: AOJu0YzziRTyeP7CHx7YwEj1SupMxGBvRtE+KfpxR0geVcdUJsZlbEfc
	s0qp1UkWr6oowg+q6ggqoSnkT7KTM+wE2gVhnCk=
X-Google-Smtp-Source: AGHT+IEUOmmGOJdy4YHRz70zhS5ES8cwkMYJ3Ibj7YUD9L3zeKKej2sTKSdwqQw+ftnHFPWEPJiNZg==
X-Received: by 2002:a05:600c:1d10:b0:408:5ba9:d707 with SMTP id l16-20020a05600c1d1000b004085ba9d707mr172569wms.16.1700759249794;
        Thu, 23 Nov 2023 09:07:29 -0800 (PST)
Message-ID: <476ba35b-947f-4cf0-8988-55ea8ae0d093@cloud.com>
Date: Thu, 23 Nov 2023 17:07:28 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] tools/pygrub: Restrict depriv operation with
 RLIMIT_AS
Content-Language: en-US
To: Andrew Cooper <andcooper@tibco.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-4-alejandro.vallejo@cloud.com>
 <72585cdd-756b-49f6-b97f-7bb739217e6c@tibco.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <72585cdd-756b-49f6-b97f-7bb739217e6c@tibco.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 22/11/2023 20:16, Andrew Cooper wrote:
> On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
>> diff --git a/tools/pygrub/src/pygrub b/tools/pygrub/src/pygrub
>> index 327cf51774..b96bdfd849 100755
>> --- a/tools/pygrub/src/pygrub
>> +++ b/tools/pygrub/src/pygrub
>> @@ -75,6 +80,11 @@ def downgrade_rlimits():
>>       resource.setrlimit(resource.RLIMIT_CORE,     (0, 0))
>>       resource.setrlimit(resource.RLIMIT_MEMLOCK,  (0, 0))
>>   
>> +    max_ram_usage = LIMIT_AS
>> +    if "PYGRUB_MAX_RAM_USAGE_MB" in os.environ.keys():
> 
> With the .keys() dropped as per patch 2.5/6,
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Happy to do this on commit.

Sure

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 17:10:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 17:10:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639955.997659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6DDQ-0008Aj-6l; Thu, 23 Nov 2023 17:10:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639955.997659; Thu, 23 Nov 2023 17:10: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 1r6DDQ-0008Ac-45; Thu, 23 Nov 2023 17:10:12 +0000
Received: by outflank-mailman (input) for mailman id 639955;
 Thu, 23 Nov 2023 17:10: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=/xmv=HE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6DDO-0008AU-CA
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 17:10:10 +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 264f0079-8a23-11ee-98e2-6d05b1d4d9a1;
 Thu, 23 Nov 2023 18:10:06 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2c87903d314so14056721fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 09:10:06 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n7-20020adff087000000b003316d1a3b05sm2104531wro.78.2023.11.23.09.10.05
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 23 Nov 2023 09:10:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 264f0079-8a23-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700759406; x=1701364206; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=4c8k81uClM/uqFpAmLEk8/hlWeBjVXEzuSST+wv78Hw=;
        b=Mpet6DS6jPv9sqOdHB+1KCUg+dmjKKbMmXZHDpN4Wpligs0VWFmOcPgdCwmv7I/whV
         XMd7isBGTAjXigxhqy1su79FWivHSjewrujEnF+gtJtKFUcOYxq5UMB8Vjv4mgcLvjzC
         kbG9i8Jp+EKG4YVstw4LzIqW6/RaX6/X4iE0o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700759406; x=1701364206;
        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:subject:date:message-id:reply-to;
        bh=4c8k81uClM/uqFpAmLEk8/hlWeBjVXEzuSST+wv78Hw=;
        b=ADY1b7iFI+t3FawIt1rV6/0sMwc3sAg2pQ6sP+XGaVpx1kpLfipsRcTpMsmPbXp/ua
         auPshgA3+aq6YyBzfL3hDoxYTmaOqmL/X8rubHK8LCbGqV+0+1Y5lf7TsHGf5wW+iyuc
         oo91REcT7Eu/IB9ol4v1Tgg/fdcxqzX9FDg7WnPNgbc3AzxBdMuTzE4VvrgAht9w2fVC
         9Lu2T2hBWbejTslYhVqOhYvdwYiqoA+UiDMAY1jhFHXgHzCci/lCyghGsNyIaORF9Hbf
         dHsWE3N6rs4s6X5+fversHkulfKwDWXyX2WSDzGRiJJ6gsNdgxwr2dSuBVbB8hJZhN+T
         by4g==
X-Gm-Message-State: AOJu0YxKoPBniN+QhVxOffibDy7DkXSMWGhm9WojVGq42Lmg0H2oLt9w
	jJCgaOJSgCydSBapfuOl1UHh3Q==
X-Google-Smtp-Source: AGHT+IH0MsO9ZgK0P8czNGXhaxhnOScXZC6X06ToS60kcqQfkra9ivgCq13t/fD4ZoTR+tvwMLUcqw==
X-Received: by 2002:a2e:9d09:0:b0:2bc:c650:81b with SMTP id t9-20020a2e9d09000000b002bcc650081bmr539lji.15.1700759406242;
        Thu, 23 Nov 2023 09:10:06 -0800 (PST)
Message-ID: <958b6113-2fba-4699-ae19-d3852d44b155@cloud.com>
Date: Thu, 23 Nov 2023 17:10:04 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] tools/pygrub: Expose libfsimage's fdopen() to python
Content-Language: en-US
To: Andrew Cooper <andcooper@tibco.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20231106150508.22665-1-alejandro.vallejo@cloud.com>
 <20231106150508.22665-6-alejandro.vallejo@cloud.com>
 <48d6adeb-eb2d-40ac-949b-b6676dcab4f9@tibco.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <48d6adeb-eb2d-40ac-949b-b6676dcab4f9@tibco.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 22/11/2023 22:35, Andrew Cooper wrote:
> On 06/11/2023 3:05 pm, Alejandro Vallejo wrote:
>> Create a wrapper for the new fdopen() function of libfsimage.
>>
>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> 
> I'd appreciate it if Marek would cast his eye (as python maintainer)
> over it.
> 
> That said, ...
> 
>> diff --git a/tools/pygrub/src/fsimage/fsimage.c b/tools/pygrub/src/fsimage/fsimage.c
>> index 12dfcff6e3..216f265331 100644
>> --- a/tools/pygrub/src/fsimage/fsimage.c
>> +++ b/tools/pygrub/src/fsimage/fsimage.c
>> @@ -270,6 +270,30 @@ fsimage_open(PyObject *o, PyObject *args, PyObject *kwargs)
>>   	return (PyObject *)fs;
>>   }
>>   
>> +static PyObject *
>> +fsimage_fdopen(PyObject *o, PyObject *args, PyObject *kwargs)
>> +{
>> +	static char *kwlist[] = { "fd", "offset", "options", NULL };
>> +	int fd;
>> +	char *options = NULL;
>> +	uint64_t offset = 0;
>> +	fsimage_fs_t *fs;
>> +
>> +	if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i|Ls", kwlist,
>> +	    &fd, &offset, &options))
>> +		return (NULL);
>> +
>> +	if ((fs = PyObject_NEW(fsimage_fs_t, &fsimage_fs_type)) == NULL)
>> +		return (NULL);
>> +
>> +	if ((fs->fs = fsi_fdopen_fsimage(fd, offset, options)) == NULL) {
>> +		PyErr_SetFromErrno(PyExc_IOError);
> 
> Don't we need a Py_DECREF(fs) here to avoid leaking it?
> 
> ~Andrew
If so, there's a bug in fsimage_open() as well. The logic here identical
to the logic there.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 17:31:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 17:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639961.997668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6DXd-0006PG-OQ; Thu, 23 Nov 2023 17:31:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639961.997668; Thu, 23 Nov 2023 17:31: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 1r6DXd-0006P9-Lf; Thu, 23 Nov 2023 17:31:05 +0000
Received: by outflank-mailman (input) for mailman id 639961;
 Thu, 23 Nov 2023 17:31: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=/xmv=HE=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6DXc-0006P3-5J
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 17:31:04 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 11d4ec36-8a26-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 18:31:01 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40b2ad4953cso12704215e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 23 Nov 2023 09:31:00 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net
 (default-46-102-197-194.interdsl.co.uk. [46.102.197.194])
 by smtp.gmail.com with ESMTPSA id
 ew3-20020a05600c808300b003fc16ee2864sm2536469wmb.48.2023.11.23.09.30.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 23 Nov 2023 09:30:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 11d4ec36-8a26-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700760659; x=1701365459; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=PK60LTsDPXIMDy8TaQakTEQfUtNlF61ykQ7ObNRH1o0=;
        b=KfFt8cN+9ozJB0PbAq4TuJ8kEsxiJia2mWLjNHVyMkhTouW33vfHxPjzzQ4/KACLfq
         naRRBcATrnCn9hNcZav7eShGJ1rZD11p/jOXk1KrSdrIHpvzK0oypL/zgqzEVM7E94gZ
         qx1whSNJSzgF9JVAEL9E4RqlIOSMISX5z7MW4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700760659; x=1701365459;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=PK60LTsDPXIMDy8TaQakTEQfUtNlF61ykQ7ObNRH1o0=;
        b=GdwCXnrauGBAfj9jMZDwZm6fnjZ1lJRGkfjttrYYk881Mhit6E89d0FjpGPxhkK7XC
         FTa24+zkOKk78pfA03tPKOlg6tajUzUSiCsqT3WAIbbH4UNQ+e/pBmDHPn2REVKRaVIn
         ZXoT59sH1y6NfIUcfSHSzJhGDJP1qD7GrjnfXItM0jFYFjIm0fSx53TAEJiwZgtfNfmO
         Lwj0Xu7guwRivK1T1BbYm3ezJ0tt/UVR1GsTofGw9rDE00Bqtx+ZvbVRZBbCxi69yx2W
         wOalghMxBaM2SJeoKK4VncI2Ceb4iQ0KSJiJpDpu23eksOHXaoz83wG4YQteFbORQ0Df
         U8Yg==
X-Gm-Message-State: AOJu0YyzEucd0AjLXacFHD3dGsVKgXyM6YY44X1FScAH7PxUQAf/2Jv/
	glwctw2scKHML9nRPjFOWaBUqAcAA6cv5QDyJQw=
X-Google-Smtp-Source: AGHT+IFGvli/Lrkj0Mj5i6uCWZekC+w8RBQleTlCYxVP1BS5codwWL/U77ADb4sGeVA0i7T5PqBbcg==
X-Received: by 2002:a05:600c:1382:b0:40b:305c:9c84 with SMTP id u2-20020a05600c138200b0040b305c9c84mr2971972wmf.12.1700760659540;
        Thu, 23 Nov 2023 09:30:59 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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 v4] xen/x86: On x2APIC mode, derive LDR from APIC ID
Date: Thu, 23 Nov 2023 17:30:57 +0000
Message-Id: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
registers are derivable from each other through a fixed formula.

Xen uses that formula, but applies it to vCPU IDs (which are sequential)
rather than x2APIC IDs (which are not, at the moment). As I understand it,
this is an attempt to tightly pack vCPUs into clusters so each cluster has
16 vCPUs rather than 8, but this is problematic for OSs that might read the
x2APIC ID and internally derive LDR (or the other way around)

This patch fixes the implementation so we follow the rules in the x2APIC
spec(s) and covers migrations from broken hypervisors, so LDRs are
preserved even for hotppluggable CPUs and across APIC resets.

While touching that area, I removed the existing printk statement in
vlapic_load_fixup() (as the checks it performed didn't make sense in x2APIC
mode and wouldn't affect the outcome) and put another printk as an else
branch so we get warnings trying to load nonsensical LDR values we don't
know about.

Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
---
v4:
  * Removed "See <function>()" part of comment in set_x2apic_id()
  * Removed _with_ in field name
  * Trimmed down comments further
  * Rephrased the Xen versions in the comments so it's implied not every
    Xen 4.X is affected (as they won't be after this patch is backported)
  * Replace Xen 4.18 reference with date+4.19 dev window
---
 xen/arch/x86/hvm/vlapic.c             | 66 ++++++++++++++++++---------
 xen/arch/x86/include/asm/hvm/domain.h |  3 ++
 2 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 5cb87f8649..cd4701c5a2 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1061,13 +1061,26 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
     .write = vlapic_mmio_write,
 };
 
+static uint32_t x2apic_ldr_from_id(uint32_t id)
+{
+    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
+}
+
 static void set_x2apic_id(struct vlapic *vlapic)
 {
-    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
-    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
+    uint32_t vcpu_id = vlapic_vcpu(vlapic)->vcpu_id;
+    uint32_t apic_id = vcpu_id * 2;
+    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
+
+    /*
+     * Workaround for migrated domains to derive LDRs as the source host
+     * would've.
+     */
+    if ( vlapic_domain(vlapic)->arch.hvm.bug_x2apic_ldr_vcpu_id )
+        apic_ldr = x2apic_ldr_from_id(vcpu_id);
 
-    vlapic_set_reg(vlapic, APIC_ID, id * 2);
-    vlapic_set_reg(vlapic, APIC_LDR, ldr);
+    vlapic_set_reg(vlapic, APIC_ID, apic_id);
+    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
 }
 
 int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
@@ -1498,27 +1511,36 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
  */
 static void lapic_load_fixup(struct vlapic *vlapic)
 {
-    uint32_t id = vlapic->loaded.id;
+    uint32_t good_ldr = x2apic_ldr_from_id(vlapic->loaded.id);
 
-    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
-    {
+    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
+    if ( !vlapic_x2apic_mode(vlapic) ||
+         (vlapic->loaded.ldr == good_ldr) )
+        return;
+
+    if ( vlapic->loaded.ldr == 1 )
+       /*
+        * Xen <= 4.4 may have a bug by which all the APICs configured in
+        * x2APIC mode got LDR = 1. We can't leave it as-is because it
+        * assigned the same LDR to every CPU.  We'll fix fix the bug now
+        * and assign an LDR value consistent with the APIC ID.
+        */
+        set_x2apic_id(vlapic);
+    else if ( vlapic->loaded.ldr ==
+              x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id) )
         /*
-         * This is optional: ID != 0 contradicts LDR == 1. It's being added
-         * to aid in eventual debugging of issues arising from the fixup done
-         * here, but can be dropped as soon as it is found to conflict with
-         * other (future) changes.
+         * Migrations from Xen 4.4 to date (4.19 dev window, Nov 2023) may
+         * show this bug. We must preserve LDRs so new vCPUs use consistent
+         * derivations and existing guests, which may have already read the
+         * LDR at the source host, aren't surprised when interrupts stop
+         * working the way they did at the other end.
          */
-        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
-             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
-            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
-                   vlapic_vcpu(vlapic), id);
-        set_x2apic_id(vlapic);
-    }
-    else /* Undo an eventual earlier fixup. */
-    {
-        vlapic_set_reg(vlapic, APIC_ID, id);
-        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
-    }
+        vlapic_domain(vlapic)->arch.hvm.bug_x2apic_ldr_vcpu_id = true;
+    else
+        printk(XENLOG_G_WARNING
+               "%pv: bogus x2APIC loaded id=%#x ldr=%#x (expected ldr=%#x)\n",
+               vlapic_vcpu(vlapic), vlapic->loaded.id, vlapic->loaded.ldr,
+               good_ldr);
 }
 
 static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 6e53ce4449..dd9d837e84 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -106,6 +106,9 @@ struct hvm_domain {
 
     bool                   is_s3_suspended;
 
+    /* Compatibility setting for a bug in x2APIC LDR */
+    bool bug_x2apic_ldr_vcpu_id;
+
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 23 18:16:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 18:16:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639969.997679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6EFH-0001uR-7K; Thu, 23 Nov 2023 18:16:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639969.997679; Thu, 23 Nov 2023 18:16: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 1r6EFH-0001uK-3u; Thu, 23 Nov 2023 18:16:11 +0000
Received: by outflank-mailman (input) for mailman id 639969;
 Thu, 23 Nov 2023 18: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 1r6EFF-0001t2-Iu; Thu, 23 Nov 2023 18: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 1r6EFF-0008Lt-HL; Thu, 23 Nov 2023 18:16: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 1r6EFF-0001TQ-2s; Thu, 23 Nov 2023 18:16:09 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6EFF-0007ce-1m; Thu, 23 Nov 2023 18: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=cCJ/d2zlzOGy7KrNgBH69zRxu3FZFNFE73IOZSJjsws=; b=Etmd4gTeEoYZaUk+xgCZUET5Ou
	dLqUwqd6CT2P06ch6Eq/zNkUuro4D5QKDjnC8oftrgNVuiXg7eYm/tKtQKad7tcPc8w7G2tln/07i
	csMRo4NwUectHdWcwYfJVtMWsoDNMXzyxvAaPRkQi0KeZuawqFGTl4Ozo/Ka4wC/JMWc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183844-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183844: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=f96e2f64576cdbb147391c7cb399d393385719a9
X-Osstest-Versions-That:
    xen=8f45862580c962791e66df716389bb5b1dd704df
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Nov 2023 18:16:09 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  f96e2f64576cdbb147391c7cb399d393385719a9
baseline version:
 xen                  8f45862580c962791e66df716389bb5b1dd704df

Last test of basis   183840  2023-11-23 10:00:25 Z    0 days
Testing same since   183844  2023-11-23 15:02:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Henry Wang <Henry.Wang@arm.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stewart Hildebrand <stewart.hildebrand@amd.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   8f45862580..f96e2f6457  f96e2f64576cdbb147391c7cb399d393385719a9 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 19:44:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 19:44:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.639981.997692 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6FcN-0003S9-E6; Thu, 23 Nov 2023 19:44:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 639981.997692; Thu, 23 Nov 2023 19:44: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 1r6FcN-0003S2-BP; Thu, 23 Nov 2023 19:44:07 +0000
Received: by outflank-mailman (input) for mailman id 639981;
 Thu, 23 Nov 2023 19:44: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 1r6FcL-0003Rs-Sq; Thu, 23 Nov 2023 19:44: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 1r6FcL-0001WZ-PH; Thu, 23 Nov 2023 19:44: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 1r6FcL-0007Um-Fg; Thu, 23 Nov 2023 19:44:05 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6FcL-0000Ow-FH; Thu, 23 Nov 2023 19:44: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=br/ZNljXRRgOIDmMeOBf16YCiLS23Ou+3HVbtf9usPY=; b=rq3uDXR9ZUId5q871cGnVpAhEK
	5B0/D3MPjWwgJ1/1ZOO/gi3rlsCDeGoLY+XnEnbgDW8c/3sjv6j8KJAGBK8MnN8zvS6wPpqmw/tZr
	Ae+kNc9VuzeGjD6a4l9mYxLtnb3Of3sduh10P8kuM/5cPEd4AdT2xocLNnt+uE0sSUIg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183839-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183839: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt:migrate-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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-libvirt-raw:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    xen=c22fe7213c9b1f99cbc64c33e391afa223f9cd08
X-Osstest-Versions-That:
    xen=fa2da5bce90b3777aa7a323e1cf201c97b56d278
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Nov 2023 19:44:05 +0000

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

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 183807
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183807
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183807
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183807
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183807
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183807
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183807
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183807
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183807
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183807
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183807
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183807
 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-xsm 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-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-libvirt-xsm 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-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          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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-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-libvirt     15 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:
 xen                  c22fe7213c9b1f99cbc64c33e391afa223f9cd08
baseline version:
 xen                  fa2da5bce90b3777aa7a323e1cf201c97b56d278

Last test of basis   183807  2023-11-21 04:17:59 Z    2 days
Failing since        183816  2023-11-21 21:39:08 Z    1 days    4 attempts
Testing same since   183831  2023-11-22 23:38:57 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Christian Lindig <christian.lindig@cloud.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <stefano.stabellini@amd.com>
  Tamas K Lengyel <tamas@tklengyel.com>
  Volodymyr Babchuk <volodymyr_babchuk@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                                          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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   fa2da5bce9..c22fe7213c  c22fe7213c9b1f99cbc64c33e391afa223f9cd08 -> master


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 22:27:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 22:27:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640017.997827 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6I9z-0005T5-6l; Thu, 23 Nov 2023 22:26:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640017.997827; Thu, 23 Nov 2023 22: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 1r6I9z-0005Sy-3G; Thu, 23 Nov 2023 22:26:59 +0000
Received: by outflank-mailman (input) for mailman id 640017;
 Thu, 23 Nov 2023 22:26: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 1r6I9x-0005So-DJ; Thu, 23 Nov 2023 22:26: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 1r6I9x-0004R9-BU; Thu, 23 Nov 2023 22:26: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 1r6I9w-000166-T7; Thu, 23 Nov 2023 22:26:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6I9w-0000Bf-SY; Thu, 23 Nov 2023 22: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=wDwSNDY8NuStz4MMCrM0ugzGjJy4+HrL7ed3LsnGwS4=; b=dtNR5jlg606XncrZsv+gsloObN
	Pqybo4iFwrIhtHmYR47KM0UsgtqKqkJ2STMfKaWVRAevGqpR8MsMSH/S/k1F/boOImUTuKXDYtFk6
	qGmNZjRBAhj1EApnhjUQrpIeO4Qlk5zpVOBeFajzL0GC6YFYEullbq2mWeo5PI8jWf+E=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183846-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183846: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=03d6720a4c62c283f9a9f09858eeccd24299b312
X-Osstest-Versions-That:
    xen=f96e2f64576cdbb147391c7cb399d393385719a9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Nov 2023 22:26:56 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  03d6720a4c62c283f9a9f09858eeccd24299b312
baseline version:
 xen                  f96e2f64576cdbb147391c7cb399d393385719a9

Last test of basis   183844  2023-11-23 15:02:19 Z    0 days
Testing same since   183846  2023-11-23 19:02:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Juergen Gross <jgross@suse.com>
  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                                          pass    
 test-armhf-armhf-xl                                          pass    
 test-arm64-arm64-xl-xsm                                      pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-amd64-libvirt                                     pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   f96e2f6457..03d6720a4c  03d6720a4c62c283f9a9f09858eeccd24299b312 -> smoke


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 22:46:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 22:46:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640023.997836 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6ISp-0000WL-TN; Thu, 23 Nov 2023 22:46:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640023.997836; Thu, 23 Nov 2023 22:46: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 1r6ISp-0000WE-Qu; Thu, 23 Nov 2023 22:46:27 +0000
Received: by outflank-mailman (input) for mailman id 640023;
 Thu, 23 Nov 2023 22:46: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=zW5S=HE=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r6ISp-0000Vp-5V
 for xen-devel@lists.xenproject.org; Thu, 23 Nov 2023 22:46:27 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 20e5cb49-8a52-11ee-9b0e-b553b5be7939;
 Thu, 23 Nov 2023 23:46:24 +0100 (CET)
Received: from mg.gitlab.com (3.226.74.34.bc.googleusercontent.com
 [34.74.226.3]) by
 0d7408950feb with SMTP id 655fd63eeef17b1c76424aad (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Thu, 23 Nov 2023 22:46:22 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 20e5cb49-8a52-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700779582; x=1700786782; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=Qq1nkBECtGy2wLzg2GQwXMR34UgB0wrkwsUaFNAU4SM=;
 b=TbTIr9KxSJewl7Xg4Mh95ISIBAZWjOa5JbWcZfh4HLCLQqxd1aQeF9hJFE0lu6bRq5VzZXdSmYLIs2TrMKVAjYn7cIKVmr7evywcvi4LhV3iPpZNwMXceZ8Hxq2yWKjXV6BYZYx0Cm+Cs7Q29TH4SVwn1h8z29UXn4qF0wzZGeo=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Thu, 23 Nov 2023 22:46:22 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <655fd63edd18f_2c9ad58910c6@gitlab-sidekiq-catchall-v2-6ddc8774b5-z8nrc.mail>
Subject: xen | Successful pipeline for staging | 03d6720a
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_655fd63ed3809_2c9ad5890984";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1083211317
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_655fd63ed3809_2c9ad5890984
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1083211317 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 03d6720a ( https://gitlab.com/xen-project/xen/-/commit/03d6720a4c62c283f9a9f09858eeccd24299b312 )
Commit Message: tools/pygrub: Restrict depriv operation with RL...
Commit Author: Alejandro Vallejo
Committed by: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1083211317 ( https://gitlab.com/xen-project/xen/-/pipelines/1083211317 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_655fd63ed3809_2c9ad5890984
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 03d6720a</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1083211317 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/03d6720a4c62c283f9=
a9f09858eeccd24299b312" style=3D"color: #3777b0; text-decoration: none;">=
03d6720a</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
tools/pygrub: Restrict depriv operation with RL...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/50133b2b73449e317452c72069da8553?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Alejandro Vallejo
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108321=
1317" style=3D"color: #3777b0; text-decoration: none;">#1083211317</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_655fd63ed3809_2c9ad5890984--


From xen-devel-bounces@lists.xenproject.org Thu Nov 23 23:14:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 23 Nov 2023 23:14:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640062.997847 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Itn-0004xu-4J; Thu, 23 Nov 2023 23:14:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640062.997847; Thu, 23 Nov 2023 23: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 1r6Itm-0004xn-Vp; Thu, 23 Nov 2023 23:14:18 +0000
Received: by outflank-mailman (input) for mailman id 640062;
 Thu, 23 Nov 2023 23:14: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 1r6Itl-0004xd-A9; Thu, 23 Nov 2023 23:14: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 1r6Itl-0005NJ-6X; Thu, 23 Nov 2023 23:14: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 1r6Itk-0003la-Nb; Thu, 23 Nov 2023 23:14:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6Itk-00045r-N3; Thu, 23 Nov 2023 23: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=kXp0PvADDiJ4oi6DqFksdbc8ak25HNSBFAcjNaS1dls=; b=eBKkEn1fsDH2AVEbAxvD2Zn2gN
	r6wUPq5m84RzhM2Xy5xca5RbfUouBf9/OwDJeNbWMzV29ZJHFeU7PrcRVanfPw9ERaexaXG5xctcT
	euI/Zo9iOmzbd4LY9H27hvxHhI4YBplZCj6TeUrKO6vM4nvXWYTIdKTah95pMeTx0ezo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183841-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183841: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=9b6de136b5f0158c60844f85286a593cb70fb364
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 23 Nov 2023 23:14:16 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-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     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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                9b6de136b5f0158c60844f85286a593cb70fb364
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    8 days
Failing since        183773  2023-11-16 13:12:48 Z    7 days   17 attempts
Testing same since   183832  2023-11-23 00:13:43 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  Ani Sinha <anisinha@redhat.com>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Bibo Mao <maobibo@loongson.cn>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Dexuan Cui <decui@microsoft.com>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Ferry Meng <mengferry@linux.alibaba.com>
  Gal Pressman <gal@nvidia.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Helge Deller <deller@gmx.de>
  Hou Tao <houtao1@huawei.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jijie Shao <shaojijie@huawei.com>
  Jingbo Xu <jefflexu@linux.alibaba.com>
  Jithu Joseph <jithu.joseph@intel.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nilesh Javali <njavali@marvell.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Quinn Tran <qutran@marvell.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Randy Dunlap <rdunlap@infradead.org>
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  Saurabh Sengar <ssengar@linux.microsoft.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Simon Glass <sjg@chromium.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Steve French <stfrench@microsoft.com>
  Stuart Hayhurst <stuart.a.hayhurst@gmail.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uros Bizjak <ubizjak@gmail.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  WANG Rui <wangrui@loongson.cn>
  Wei Liu <wei.liu@kernel.org>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yanteng Si <siyanteng@loongson.cn>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 8840 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 00:25:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 00:25:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640068.997857 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6K0P-0007Rp-PX; Fri, 24 Nov 2023 00:25:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640068.997857; Fri, 24 Nov 2023 00:25: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 1r6K0P-0007Ri-Mh; Fri, 24 Nov 2023 00:25:13 +0000
Received: by outflank-mailman (input) for mailman id 640068;
 Fri, 24 Nov 2023 00:25: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=SG+4=HF=epam.com=prvs=569229df20=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r6K0O-0007Rc-0F
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 00:25:12 +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 eb4a508a-8a5f-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 01:25:08 +0100 (CET)
Received: from pps.filterd (m0174676.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AO0ORxk013091; Fri, 24 Nov 2023 00:24:49 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2105.outbound.protection.outlook.com [104.47.18.105])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3uhkw34ve0-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 24 Nov 2023 00:24:48 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DBAPR03MB6453.eurprd03.prod.outlook.com (2603:10a6:10:190::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 00:24:45 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Fri, 24 Nov 2023
 00:24: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: eb4a508a-8a5f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nLglW6xJh8OjH26zqO4oUedRj7yreNlMNzWAtzXfX6AF5xHNUJ4qVbR0YspPLtw7qM0JjXIYYK/cg0Rr7kCRwaR0JLZrqzGXeY+0T3aC/swgykhXBCN/j/9YalLWA2p2/35dJBMtuVFo3cPI/FqUsQCLqAgtn/wMzqMDxj8KunIl8aRXllZPsRPVJb3acBF4TkolQj69+Wrap25jKNqkb+1WWJbbWQtfGSSIE4Ux2U6eVfpeiu5HGyBP+Mnfuk6DXINjSlIBwqt0qv03JLdCW/mbxw09gGerHW1TXLVr+AHjMYTsRVtRizLm6Zrna6vdSQc1gBh6gx3eal6jr276CQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HTGjCRKPV+GhqL+983Xg/W5ncFSyldI8vndC+osq6gQ=;
 b=E2ehPulxSAW21M2WQRmNSuLr3s28AE0PtlZeX9ZPyTIw3SOlC9Wfh3hu/03RnymrGtwWu5sc41SjvURqh+gGdNr5bZ8O7DeXOdzw8QqNpBSm9OYu3u/jnUrzyAfITs9VFAVnnWhxtPkPHWr2gasDmklMAgJWgiTBs6ck+lpFSXTbmhGsggwfEczpCoa2WZmzRcCMKQBRlno+CC9xPYCqPOnzvlG08A5sJr5OM+hyKsMb57UYCTjQbMLuVk7TQ+aYcf5lVB736Lr0iVBiVIzI+1soTDpdM5i/WEIzZum5VcRDJ+IAsuYjMiUHoiAFEPcK1simCrKF0pgESCsSSjgJeA==
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=HTGjCRKPV+GhqL+983Xg/W5ncFSyldI8vndC+osq6gQ=;
 b=q0qh+giNdAeXr1R1aJ803MiO1x5f4EkLNSRm9punsdaojnXrV18WZQg81y8wtHvAqMbgpMOwejSsx6ZP769WaQqA59ht2uFW0A3LYFG1jM0bA0P/EnLRGd7eauiJZG9xyL6C23FooAGyurS3C+MZoh4bJfqgX82rNq5sqAlhqF+VVT2y2CWLIhmLND/4fuOtR84hpZdxHswrMGsK+tUACMASpKGyack5lc0dzV83HBU9HyA3+BcGfJ3iCnyioK30yKKfhC5St74aWzJ+VkrbUZLHGOrD/+innGTeZ1xiEjIm31WkLHEixTH3qvxPvKeSItubCM66AcgQjfApv28sng==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "paul@xen.org" <paul@xen.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Topic: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
Thread-Index: 
 AQHaHMeIsCU+MAEGAkSnPoa9ThBNz7CGlGOAgABYsYCAAAmAgIAAAakAgAAAyoCAAAJ4gIAABwqAgAAFCoCAAJ2+AIAAJb8AgAAD5ICAAASYAIAAA+AAgADHXgA=
Date: Fri, 24 Nov 2023 00:24:44 +0000
Message-ID: <87leaovvzo.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-5-volodymyr_babchuk@epam.com>
 <b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
 <alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
 <ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
 <a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
 <alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
 <87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com>
 <dce4efb0-4fdc-404c-8e5d-c90ed732eb8a@xen.org> <87bkbky9bb.fsf@epam.com>
 <5941AF2D-71E7-4A5B-A519-25F87F90DC05@infradead.org>
 <87v89swtmz.fsf@epam.com>
 <C2DEE963-41CB-4377-93FD-BD9FB500926F@infradead.org>
In-Reply-To: <C2DEE963-41CB-4377-93FD-BD9FB500926F@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DBAPR03MB6453:EE_
x-ms-office365-filtering-correlation-id: cf822bc6-e517-431c-d1e2-08dbec83c1f8
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 pOp5IsOMnRsbMTB5K0nr7zG4dl0KUlN5nc4+5jWQEGTSxj+ieqPrQlATWv8l85M0sLeXHnHzBGFvUAMw2cWftGo9ANPWZVKHyMWrpmWroD9LW+QtmLnWdf0U0s8gPHtuLX1KN6Cp+W8PChGlwrfuijrfjHU7uh+y68f4u3hzcaVoZOJI2h66bSdalCbxIxCVELKZG1YXh3IWVhiPMc7cmg5Xb34OD9W/UQdjJSzYFPhkg7rj74g2cm6vSwC85dyWnzloAm286UiCYYxL66f0VUQx6z4Tm7IIrvW2R3L3FHHbSsfnQ2hdn6kYZT4G88JAmkXWGlJB5+fThAjrGPHj7KaX1cgmg7vI2WGHMoNv+xVzq15UcJIKqgtIwqzf/h9iDeOqiXpTPt6gt7dmIbObhPp35G8vZPQgpmY3lR0JODmaqn60IjUaNTWqeAz6jDvCrvkZAqFsFwU1UTxJq49Pin8RM7z8DgEexKJkbjPDsHxATTWkOpn7nStzkE7/XTlYGSFFy8hk1kNPavKAom12eV6QhJ5js9+q6eeCYTJScKf9eAiOSThDeFqxxe92SnXx74PdqeotztHXSsxZlwiMYeCv02IQ8wL5+0R/IE2xnm+oOx7y7tHMU9Y8evaKU1Dr
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:(13230031)(346002)(396003)(376002)(136003)(366004)(39860400002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(5660300002)(2906002)(4326008)(8936002)(8676002)(41300700001)(66446008)(66556008)(64756008)(66476007)(316002)(54906003)(6916009)(66946007)(76116006)(91956017)(71200400001)(478600001)(6506007)(6486002)(53546011)(26005)(2616005)(6512007)(55236004)(38100700002)(83380400001)(38070700009)(122000001)(86362001)(36756003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?4urS4pTYUmo7j9hl3LTvmHsSdZA9ObLZB8sO11uSq98g+Xo2yjonyvIrHl?=
 =?iso-8859-1?Q?8nc400zt1WLVl8xkoZX/CVJL6fAYjTdf8Mx1vUP4iVFK+/tjRaMzwYoarW?=
 =?iso-8859-1?Q?bjYRptlA2JCSeRhkjM5unjSqDhOlsJeEangMTf8gpG8JQMKDkDIVVqnaIN?=
 =?iso-8859-1?Q?wC97150UWH3dMKpOjgfOXnoMmk90NVOQxN7BAg/jVYbU76knyyf5D/PvAh?=
 =?iso-8859-1?Q?R6Lso3smUsYQUnnHmbd+I6ZULL3myRd+yS4S1xf4X6zxNFzbztHNHQsFw+?=
 =?iso-8859-1?Q?q8xEff25XMIXol7rbGem38ZZOfGSWghDEDUB0WCNavwAepCrUZEd2tzJZS?=
 =?iso-8859-1?Q?mSM95jf4n9Ri0VohcmEKpscjfSP5LGs7nn6qgroq6/w/v04i+EkjZq8/1G?=
 =?iso-8859-1?Q?Qdig6pFVFdYtL7hrNkMFGjA242MAVsz7IUe393LeKd6Bcc0mqLHjFBrL/E?=
 =?iso-8859-1?Q?CMbWrNdqIf0qHSiGI9ItuPWZ/8cE83sr6SQa1R8k2Y3+1DixcspR97BoPh?=
 =?iso-8859-1?Q?COvjk0Ui3/BkeIcmxGwORe70HjXR+vqNADYYUtIhGjspY1QlxbJppK+MXk?=
 =?iso-8859-1?Q?jSRntUyn+tLNLf/LOFcy20HEXecL3M7miJy57I4LeMG6BFCs4TqhVH9Bt+?=
 =?iso-8859-1?Q?ZAGUVGGPFRFjsgniUlr7Hhaboh1ZLp5sLosLiNiCSECfuO/kTlwpWY+Que?=
 =?iso-8859-1?Q?lzfjJhpHdJbmkRL5mJ/zrl8uL7a2viyuQdAMMVhksJsUbCMSwNt9NmPys5?=
 =?iso-8859-1?Q?4Yl9mh03xY8MAzcLmtwLSdFiFfcls1WlD/2X8vG7IXRn4QU6p3Gb3XlUqq?=
 =?iso-8859-1?Q?IlGfUnZpO9Cp46+bIudwYCf94e1LHNcvtFYQy3gPFqUoWQVm1rNV+BnObN?=
 =?iso-8859-1?Q?ugXlrK1flpffoLRnpV8li+WalGeMm2W4ob1L1E8kMbkXfbt1Nroqoud4dk?=
 =?iso-8859-1?Q?xVOdLkvM6sh65od4oAhAFC9w8X65GIgztWbXcU15bdLoW3uL/nd8CjA6f9?=
 =?iso-8859-1?Q?jAo8xuKmL3wP8PwCoVXkheHJ+PBXz9BCMtml+DQRkUx/urb+myJUwsMXN/?=
 =?iso-8859-1?Q?PZJcsL6iN/gtGKmAxkEY8uodHHzGaqsb4IeZW4QrNYyojZdicxaGSDSgmo?=
 =?iso-8859-1?Q?k5HfhGdpAf8mYqXfdI2usBq/x0HW7M0EskL7Hj8coJViySK0/f4ym4qLgb?=
 =?iso-8859-1?Q?T2F+SCJYZznPgcmTYG5nqi/O0BX4GcN6kCF8Mh9DefkWDcerT2BwvBKpXD?=
 =?iso-8859-1?Q?+7k7VaMQPIKwxpMUIg7yTEfBDGEWzuur8wZk1CAH1YIVFMSKABDDd0IeyI?=
 =?iso-8859-1?Q?jy0yLr4wFtci3oeaElBX2OUn3nzcQYgi+KN41jYDdPEFUJcw/m7KetR2Jh?=
 =?iso-8859-1?Q?+uvXgMV7Gjl9YLU/5H+Opm3wf3j3qcua4qCCvTWL1M4hPmag18jzFHhjY5?=
 =?iso-8859-1?Q?FFZthV23upCdL677lwkijk/m45LQrN8euAPqFv8II81IQp9hmhZMqWH4wg?=
 =?iso-8859-1?Q?i1s2irmSMBDP7tEobNHnO9nLozcUb25RZjFPDlPYPALLp6IlS4gV4xGjlD?=
 =?iso-8859-1?Q?x5fCnWPrZYImbI7CPbbOZjET4TeTK5OkcAEVIQGVECWdQG8MJyq0wT9lll?=
 =?iso-8859-1?Q?+FJWGXPjIxKRLfiO8Cwmrm5b4ONamt3Do0SJogS+9RbJU3n41u/l343g?=
 =?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: cf822bc6-e517-431c-d1e2-08dbec83c1f8
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2023 00:24:44.1623
 (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: 4FcRQmsOtVxJZPiz4FjHliwCMk/+0ddemCxmORRnvMSOx2ZREcRWzaGfucUWC4O+dl7wCblmobQEYVRm3H6z2M5eVMKeRai+xyXq/BnK/J8=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR03MB6453
X-Proofpoint-ORIG-GUID: T1p5sik6KRT4ji6dIs1wU6XFiUZiTi8r
X-Proofpoint-GUID: T1p5sik6KRT4ji6dIs1wU6XFiUZiTi8r
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-23_15,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 malwarescore=0
 adultscore=0 mlxlogscore=784 priorityscore=1501 bulkscore=0
 impostorscore=0 spamscore=0 clxscore=1015 phishscore=0 suspectscore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311240001


Hi David,

David Woodhouse <dwmw2@infradead.org> writes:

> On 23 November 2023 12:17:57 GMT, Volodymyr Babchuk <Volodymyr_Babchuk@ep=
am.com> wrote:
>>
>>Hi David,
>>
>>David Woodhouse <dwmw2@infradead.org> writes:
>>> Which PV backends do you care about? We already have net, block and con=
sole converted.
>>
>>Well, this is all what we need, actually. Even console only will be
>>sufficient, as we are using QEMU to provide virtio-pci backends, so both
>>storage and networking should be provided by virtio. Are you proposing
>>to just drop this patch at all? I believe we can live without it, yes.
>
> Yeah, I think you can drop anything that's only needed for the legacy bac=
kends. I'm tempted to make a separate config option to compile those out.

Yep, we need this. Because without the patch ("xen_pvdev: Do not assume
Dom0 when creating a directory") I can't run QEMU in the driver domain:

root@spider-domd:~# qemu-system-aarch64  -machine xenpv -m 128M
xen be core: xs_mkdir device-model/0/backends/vkbd: failed
xen be core: xs_mkdir device-model/0/backends/vkbd: failed
xen be core: xs_mkdir device-model/0/backends/9pfs: failed
xen be core: xs_mkdir device-model/0/backends/9pfs: failed

So yeah, we need something like CONFIG_XEN_LEGACY_BACKENDS option if we
don't want to fix xenstore_mkdir()

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 01:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 01:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640073.997879 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6LJ5-0001tE-2v; Fri, 24 Nov 2023 01:48:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640073.997879; Fri, 24 Nov 2023 01:48: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 1r6LJ4-0001s7-Th; Fri, 24 Nov 2023 01:48:34 +0000
Received: by outflank-mailman (input) for mailman id 640073;
 Fri, 24 Nov 2023 01: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=uC13=HF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r6LJ2-0001id-Vg
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 01:48:33 +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 917abd95-8a6b-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 02:48:31 +0100 (CET)
Received: from compute5.internal (compute5.nyi.internal [10.202.2.45])
 by mailout.west.internal (Postfix) with ESMTP id 3F8883200A55;
 Thu, 23 Nov 2023 20:48:29 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute5.internal (MEProxy); Thu, 23 Nov 2023 20:48:29 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 23 Nov 2023 20:48:27 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 917abd95-8a6b-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type: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=1700790508; x=1700876908; bh=uB
	O3SarZT20DQtUTXpVyOmSMQyGWgALrG2Y7qimUROA=; b=rVzUuAHaPZDELVy1KG
	U1lWLVxVnc0dEo6e4TUaNwFxTXVb282s6mTQd9oKgNfcQotkH8IUGhCiMfeolbYD
	iXNhp8kRd4gacX18+OHety+Y6gxkrx3lp+M+9q53M17+Jq/itnWLRYdDyDqZVf4z
	OcfELG/Mt/Hz2eMeJJ33HSOoxtwrbVlFwJv0U03JFURFz2zIKty0DzMnlhHgg2YO
	uuJ5yqNsBpEgr7VY0dhM1ItNJzseeqae409Pzz9nTH4K4FI/RuMDDYcYJYYXMzqC
	A1iyRRn62Rh3FxLBJf7iW59thqXWL1nsQ6OzhsRI0MD0FIC+lKXTRAsoeg8eC+Zl
	JEvQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type: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=
	1700790508; x=1700876908; bh=uBO3SarZT20DQtUTXpVyOmSMQyGWgALrG2Y
	7qimUROA=; b=aEMo9Ou8iX6KPKFy+BGsG5uWwIpWAsYKWhQ8w3twaG7TlrnyKSY
	eR0qOS3s/GLAG0XxmkVLFKXabL0oF1OeFNOa4lxLdnFOa6JN6M+Mwy64TQzYXV9P
	xN0s8mCPteRU240tJAg3vmE/+jkVWIZa+V5gePIkwUOe2r7W8yXik+idB3ctuive
	TcxKdL0V0S4MoMppURvULYdjsl88PfK6EQMFO6neVFVBmLf6vZqgzo0swq6gbkL8
	AFiwhGK3LIRV266yNQwDa/9BqTuBGlgZ/yn1XmkSq88BtqFAKuDx5I6rAEgf56Oq
	q3G1xmDXQEyPjYSagXBE7ba67hNQcZmshaQ==
X-ME-Sender: <xms:7ABgZRcLhR-9jwQdlC0LnoP2b2MUbhrhGCMnk8P6A2Xo-sX2UhdXMg>
    <xme:7ABgZfN-xmaksRAXmKSLYYeElFxHhesIns1GsU3rSRuzYOnlC9_YPs1SVHKUfyrZb
    jUOVxUX4VAvCw>
X-ME-Received: <xmr:7ABgZai39tE6Eg9C4SBnYhF3ppIL6oDYOytM5ygQRYxXR8FeSQdI2fYpYloaSDLojSQl-X3hHavFs1aJ7WaZyTVzzLVqzpw4I4EJGKB_ji30--ckm-Tg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudehgedgfeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefh
    iefhgfehgfekteeigfdtiedvgfevhffhfedvudeltedvgfegtdekteeffeegheenucffoh
    hmrghinhepmhhsihigthgslhgplhhishhtrdhnvgigthenucevlhhushhtvghrufhiiigv
    pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisg
    hlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:7ABgZa-O0FJLsaG1YgUE6ttY_uwz6exc4wS8exPt4mMF2vVJad5jOw>
    <xmx:7ABgZdu-lSqTAFdsG2eT1RhC-R6ODlN4zSw2bh-4TzgxiEG-l9Ao3g>
    <xmx:7ABgZZGhBQiash_lY5aB0XNmFbc-2QOfsBXSq_sBfCdu_xtpNglS-w>
    <xmx:7ABgZVJIsNZDAMzmIh6HJBPfvSzmQx07TZ_Sy6ssXBJWfdKG4M3Jlg>
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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v4 2/6] x86/hvm: Allow access to registers on the same page as MSI-X table
Date: Fri, 24 Nov 2023 02:47:06 +0100
Message-ID: <de5e66c790c9fc5e7f668f06826c7ee781b6d6e1.1700790421.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Some devices (notably Intel Wifi 6 AX210 card) keep auxiliary registers
on the same page as MSI-X table. Device model (especially one in
stubdomain) cannot really handle those, as direct writes to that page is
refused (page is on the mmio_ro_ranges list). Instead, extend
msixtbl_mmio_ops to handle such accesses too.

Doing this, requires correlating read/write location with guest
of MSI-X table address. Since QEMU doesn't map MSI-X table to the guest,
it requires msixtbl_entry->gtable, which is HVM-only. Similar feature
for PV would need to be done separately.

This will be also used to read Pending Bit Array, if it lives on the same
page, making QEMU not needing /dev/mem access at all (especially helpful
with lockdown enabled in dom0). If PBA lives on another page, QEMU will
map it to the guest directly.
If PBA lives on the same page, discard writes and log a message.
Technically, writes outside of PBA could be allowed, but at this moment
the precise location of PBA isn't saved, and also no known device abuses
the spec in this way (at least yet).

To access those registers, msixtbl_mmio_ops need the relevant page
mapped. MSI handling already has infrastructure for that, using fixmap,
so try to map first/last page of the MSI-X table (if necessary) and save
their fixmap indexes. Note that msix_get_fixmap() does reference
counting and reuses existing mapping, so just call it directly, even if
the page was mapped before. Also, it uses a specific range of fixmap
indexes which doesn't include 0, so use 0 as default ("not mapped")
value - which simplifies code a bit.

GCC gets confused about 'desc' variable:

    arch/x86/hvm/vmsi.c: In function ‘msixtbl_range’:
    arch/x86/hvm/vmsi.c:553:8: error: ‘desc’ may be used uninitialized [-Werror=maybe-uninitialized]
      553 |     if ( desc )
          |        ^
    arch/x86/hvm/vmsi.c:537:28: note: ‘desc’ was declared here
      537 |     const struct msi_desc *desc;
          |                            ^~~~

It's conditional initialization is actually correct (in the case where
it isn't initialized, function returns early), but to avoid
build failure initialize it explicitly to NULL anyway.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
Changes in v4:
- drop same_page parameter of msixtbl_find_entry(), distinguish two
  cases in relevant callers
- rename adj_access_table_idx to adj_access_idx
- code style fixes
- drop alignment check in adjacent_{read,write}() - all callers already
  have it earlier
- delay mapping first/last MSI-X pages until preparing device for a
  passthrough
v3:
 - merge handling into msixtbl_mmio_ops
 - extend commit message
v2:
 - adjust commit message
 - pass struct domain to msixtbl_page_handler_get_hwaddr()
 - reduce local variables used only once
 - log a warning if write is forbidden if MSI-X and PBA lives on the same
   page
 - do not passthrough unaligned accesses
 - handle accesses both before and after MSI-X table
---
 xen/arch/x86/hvm/vmsi.c        | 191 ++++++++++++++++++++++++++++++++--
 xen/arch/x86/include/asm/msi.h |   5 +-
 xen/arch/x86/msi.c             |  40 +++++++-
 3 files changed, 225 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 2436154c40b6..d1e8cb1e30f6 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -180,6 +180,10 @@ static bool msixtbl_initialised(const struct domain *d)
     return d->arch.hvm.msixtbl_list.next;
 }
 
+/*
+ * Lookup an msixtbl_entry on the same page as given addr. It's up to the
+ * caller to check if address is strictly part of the table - if relevant.
+ */
 static struct msixtbl_entry *msixtbl_find_entry(
     struct vcpu *v, unsigned long addr)
 {
@@ -187,8 +191,8 @@ static struct msixtbl_entry *msixtbl_find_entry(
     struct domain *d = v->domain;
 
     list_for_each_entry( entry, &d->arch.hvm.msixtbl_list, list )
-        if ( addr >= entry->gtable &&
-             addr < entry->gtable + entry->table_len )
+        if ( PFN_DOWN(addr) >= PFN_DOWN(entry->gtable) &&
+             PFN_DOWN(addr) <= PFN_DOWN(entry->gtable + entry->table_len - 1) )
             return entry;
 
     return NULL;
@@ -213,6 +217,131 @@ static struct msi_desc *msixtbl_addr_to_desc(
     return NULL;
 }
 
+/*
+ * Returns:
+ *  - UINT_MAX if no handling should be done
+ *  - UINT_MAX-1 if write should be discarded
+ *  - a fixmap idx to use for handling
+ */
+#define ADJACENT_DONT_HANDLE UINT_MAX
+#define ADJACENT_DISCARD_WRITE (UINT_MAX - 1)
+static unsigned int adjacent_handle(
+    const struct msixtbl_entry *entry, unsigned long addr, bool write)
+{
+    unsigned int adj_type;
+    const struct arch_msix *msix;
+
+    if ( !entry || !entry->pdev )
+        return ADJACENT_DONT_HANDLE;
+
+    if ( PFN_DOWN(addr) == PFN_DOWN(entry->gtable) && addr < entry->gtable )
+        adj_type = ADJ_IDX_FIRST;
+    else if ( PFN_DOWN(addr) == PFN_DOWN(entry->gtable + entry->table_len - 1) &&
+              addr >= entry->gtable + entry->table_len )
+        adj_type = ADJ_IDX_LAST;
+    else
+        return ADJACENT_DONT_HANDLE;
+
+    msix = entry->pdev->msix;
+    ASSERT(msix);
+
+    if ( !msix->adj_access_idx[adj_type] )
+    {
+        gprintk(XENLOG_WARNING,
+                "Page for adjacent(%d) MSI-X table access not initialized for %pp (addr %#lx, gtable %#lx\n",
+                adj_type, &entry->pdev->sbdf, addr, entry->gtable);
+
+        return ADJACENT_DONT_HANDLE;
+    }
+
+    /* If PBA lives on the same page too, discard writes. */
+    if ( write &&
+         ((adj_type == ADJ_IDX_LAST &&
+           msix->table.last == msix->pba.first) ||
+          (adj_type == ADJ_IDX_FIRST &&
+           msix->table.first == msix->pba.last)) )
+    {
+        gprintk(XENLOG_WARNING,
+                "MSI-X table and PBA of %pp live on the same page, "
+                "writing to other registers there is not implemented\n",
+                &entry->pdev->sbdf);
+        return ADJACENT_DISCARD_WRITE;
+    }
+
+    return msix->adj_access_idx[adj_type];
+}
+
+static int adjacent_read(
+    unsigned int fixmap_idx,
+    paddr_t address, unsigned int len, uint64_t *pval)
+{
+    const void __iomem *hwaddr;
+
+    *pval = ~0UL;
+
+    ASSERT(fixmap_idx != ADJACENT_DISCARD_WRITE);
+
+    hwaddr = fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
+
+    switch ( len )
+    {
+    case 1:
+        *pval = readb(hwaddr);
+        break;
+
+    case 2:
+        *pval = readw(hwaddr);
+        break;
+
+    case 4:
+        *pval = readl(hwaddr);
+        break;
+
+    case 8:
+        *pval = readq(hwaddr);
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+    }
+    return X86EMUL_OKAY;
+}
+
+static int adjacent_write(
+        unsigned int fixmap_idx,
+        uint64_t address, uint32_t len, uint64_t val)
+{
+    void __iomem *hwaddr;
+
+    if ( fixmap_idx == ADJACENT_DISCARD_WRITE )
+        return X86EMUL_OKAY;
+
+    hwaddr = fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
+
+    switch ( len )
+    {
+    case 1:
+        writeb(val, hwaddr);
+        break;
+
+    case 2:
+        writew(val, hwaddr);
+        break;
+
+    case 4:
+        writel(val, hwaddr);
+        break;
+
+    case 8:
+        writeq(val, hwaddr);
+        break;
+
+    default:
+        ASSERT_UNREACHABLE();
+    }
+    return X86EMUL_OKAY;
+}
+
 static int cf_check msixtbl_read(
     const struct hvm_io_handler *handler, uint64_t address, uint32_t len,
     uint64_t *pval)
@@ -220,16 +349,31 @@ static int cf_check msixtbl_read(
     unsigned long offset;
     struct msixtbl_entry *entry;
     unsigned int nr_entry, index;
+    unsigned int adjacent_fixmap;
     int r = X86EMUL_UNHANDLEABLE;
 
-    if ( (len != 4 && len != 8) || (address & (len - 1)) )
+    if ( !IS_ALIGNED(address, len) )
         return r;
 
     rcu_read_lock(&msixtbl_rcu_lock);
-
     entry = msixtbl_find_entry(current, address);
     if ( !entry )
         goto out;
+
+    adjacent_fixmap = adjacent_handle(entry, address, false);
+    if ( adjacent_fixmap != ADJACENT_DONT_HANDLE )
+    {
+        r = adjacent_read(adjacent_fixmap, address, len, pval);
+        goto out;
+    }
+
+    if ( address < entry->gtable ||
+         address >= entry->gtable + entry->table_len )
+        goto out;
+
+    if ( len != 4 && len != 8 )
+        goto out;
+
     offset = address & (PCI_MSIX_ENTRY_SIZE - 1);
 
     if ( offset != PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET )
@@ -282,6 +426,7 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     int r = X86EMUL_UNHANDLEABLE;
     unsigned long flags;
     struct irq_desc *desc;
+    unsigned int adjacent_fixmap;
 
     if ( !IS_ALIGNED(address, len) )
         return X86EMUL_OKAY;
@@ -291,6 +436,19 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     entry = msixtbl_find_entry(v, address);
     if ( !entry )
         goto out;
+
+    adjacent_fixmap = adjacent_handle(entry, address, true);
+    if ( adjacent_fixmap != ADJACENT_DONT_HANDLE )
+    {
+        r = adjacent_write(adjacent_fixmap, address, len, val);
+        goto out;
+    }
+    if ( address < entry->gtable ||
+         address >= entry->gtable + entry->table_len )
+        goto out;
+    if ( len != 4 && len != 8 )
+        goto out;
+
     nr_entry = array_index_nospec(((address - entry->gtable) /
                                    PCI_MSIX_ENTRY_SIZE),
                                   MAX_MSIX_TABLE_ENTRIES);
@@ -356,8 +514,8 @@ static int cf_check _msixtbl_write(
     const struct hvm_io_handler *handler, uint64_t address, uint32_t len,
     uint64_t val)
 {
-    /* ignore invalid length or unaligned writes */
-    if ( len != 4 && len != 8 || !IS_ALIGNED(address, len) )
+    /* ignore unaligned writes */
+    if ( !IS_ALIGNED(address, len) )
         return X86EMUL_OKAY;
 
     /*
@@ -374,14 +532,22 @@ static bool cf_check msixtbl_range(
 {
     struct vcpu *curr = current;
     unsigned long addr = r->addr;
-    const struct msi_desc *desc;
+    const struct msixtbl_entry *entry;
+    const struct msi_desc *desc = NULL;
+    unsigned int adjacent_fixmap;
 
     ASSERT(r->type == IOREQ_TYPE_COPY);
 
     rcu_read_lock(&msixtbl_rcu_lock);
-    desc = msixtbl_addr_to_desc(msixtbl_find_entry(curr, addr), addr);
+    entry = msixtbl_find_entry(curr, addr);
+    adjacent_fixmap = adjacent_handle(entry, addr, false);
+    if ( adjacent_fixmap == ADJACENT_DONT_HANDLE )
+        desc = msixtbl_addr_to_desc(entry, addr);
     rcu_read_unlock(&msixtbl_rcu_lock);
 
+    if ( adjacent_fixmap != ADJACENT_DONT_HANDLE )
+        return 1;
+
     if ( desc )
         return 1;
 
@@ -622,12 +788,15 @@ void msix_write_completion(struct vcpu *v)
          v->arch.hvm.hvm_io.msix_snoop_gpa )
     {
         unsigned int token = hvmemul_cache_disable(v);
-        const struct msi_desc *desc;
+        const struct msi_desc *desc = NULL;
+        const struct msixtbl_entry *entry;
         uint32_t data;
 
         rcu_read_lock(&msixtbl_rcu_lock);
-        desc = msixtbl_addr_to_desc(msixtbl_find_entry(v, snoop_addr),
-                                    snoop_addr);
+        entry = msixtbl_find_entry(v, snoop_addr);
+        if ( entry && snoop_addr >= entry->gtable &&
+                      snoop_addr < entry->gtable + entry->table_len )
+            desc = msixtbl_addr_to_desc(entry, snoop_addr);
         rcu_read_unlock(&msixtbl_rcu_lock);
 
         if ( desc &&
diff --git a/xen/arch/x86/include/asm/msi.h b/xen/arch/x86/include/asm/msi.h
index c1ece2786e01..6d12f9dac0db 100644
--- a/xen/arch/x86/include/asm/msi.h
+++ b/xen/arch/x86/include/asm/msi.h
@@ -207,6 +207,10 @@ struct msg_address {
                                        PCI_MSIX_ENTRY_SIZE + \
                                        (~PCI_MSIX_BIRMASK & (PAGE_SIZE - 1)))
 
+/* indexes in adj_access_idx[] below */
+#define ADJ_IDX_FIRST 0
+#define ADJ_IDX_LAST  1
+
 struct arch_msix {
     unsigned int nr_entries, used_entries;
     struct {
@@ -214,6 +218,7 @@ struct arch_msix {
     } table, pba;
     int table_refcnt[MAX_MSIX_TABLE_PAGES];
     int table_idx[MAX_MSIX_TABLE_PAGES];
+    unsigned int adj_access_idx[2];
     spinlock_t table_lock;
     bool host_maskall, guest_maskall;
     domid_t warned;
diff --git a/xen/arch/x86/msi.c b/xen/arch/x86/msi.c
index 7f8e79425452..86fbe7f2e143 100644
--- a/xen/arch/x86/msi.c
+++ b/xen/arch/x86/msi.c
@@ -916,6 +916,36 @@ static int msix_capability_init(struct pci_dev *dev,
         list_add_tail(&entry->list, &dev->msi_list);
         *desc = entry;
     }
+    else
+    {
+        /*
+         * If the MSI-X table doesn't start at the page boundary, map the first page for
+         * passthrough accesses.
+         */
+        if ( PAGE_OFFSET(table_paddr) )
+        {
+            int idx = msix_get_fixmap(msix, table_paddr, table_paddr);
+
+            if ( idx > 0 )
+                msix->adj_access_idx[ADJ_IDX_FIRST] = idx;
+            else
+                gprintk(XENLOG_ERR, "Failed to map first MSI-X table page: %d\n", idx);
+        }
+        /*
+         * If the MSI-X table doesn't end on the page boundary, map the last page
+         * for passthrough accesses.
+         */
+        if ( PAGE_OFFSET(table_paddr + msix->nr_entries * PCI_MSIX_ENTRY_SIZE) )
+        {
+            uint64_t entry_paddr = table_paddr + msix->nr_entries * PCI_MSIX_ENTRY_SIZE;
+            int idx = msix_get_fixmap(msix, table_paddr, entry_paddr);
+
+            if ( idx > 0 )
+                msix->adj_access_idx[ADJ_IDX_LAST] = idx;
+            else
+                gprintk(XENLOG_ERR, "Failed to map last MSI-X table page: %d\n", idx);
+        }
+    }
 
     if ( !msix->used_entries )
     {
@@ -1078,6 +1108,16 @@ static void _pci_cleanup_msix(struct arch_msix *msix)
             WARN();
         msix->table.first = 0;
         msix->table.last = 0;
+        if ( msix->adj_access_idx[ADJ_IDX_FIRST] )
+        {
+            msix_put_fixmap(msix, msix->adj_access_idx[ADJ_IDX_FIRST]);
+            msix->adj_access_idx[ADJ_IDX_FIRST] = 0;
+        }
+        if ( msix->adj_access_idx[ADJ_IDX_LAST] )
+        {
+            msix_put_fixmap(msix, msix->adj_access_idx[ADJ_IDX_LAST]);
+            msix->adj_access_idx[ADJ_IDX_LAST] = 0;
+        }
 
         if ( rangeset_remove_range(mmio_ro_ranges, msix->pba.first,
                                    msix->pba.last) )
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 01:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 01:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640075.997902 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6LJ8-0002V6-Py; Fri, 24 Nov 2023 01:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640075.997902; Fri, 24 Nov 2023 01:48: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 1r6LJ8-0002UQ-K1; Fri, 24 Nov 2023 01:48:38 +0000
Received: by outflank-mailman (input) for mailman id 640075;
 Fri, 24 Nov 2023 01:48: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=uC13=HF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r6LJ7-0002RQ-No
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 01:48:37 +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 92e91973-8a6b-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 02:48:34 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id C8BCC3200A49;
 Thu, 23 Nov 2023 20:48:31 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Thu, 23 Nov 2023 20:48:32 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 23 Nov 2023 20:48:30 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 92e91973-8a6b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type: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=1700790511; x=1700876911; bh=LX
	yAOwjjde0ByZ9X1DEhA7dY4ff5w8COeOtbRqSP8vg=; b=Pdug+HOGAg7VS85J4z
	BNN594jq/XE/8+nYpETemTpPhbQDUo7R9Vl3D2sZh8qGPDEGE2kMRj+my8W9ZjPX
	OiTtAaPSAdtp/8JcIwZAK7xEmT3ts0tUF5zwayUmbwuGk48/9fG2rqnpaLHCSlR4
	I/tbZ38ooYCDO3LgmDADS/441aJYHU5mB/e+WbTNwwYyCPlDYFIJGHGxvnPzWKoT
	oQLUa8lJs53nFwzwp1d+8mnxFO0KbDyWUry5TCq2uo92WkJOmqRnjhgXr0foEyAO
	03JzV5fT+seBNl4wDLqo17cXrUCZuMIeY4/B+IeKsmebWo8zuAjsjMYBsV+He5as
	iVbw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type: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=
	1700790511; x=1700876911; bh=LXyAOwjjde0ByZ9X1DEhA7dY4ff5w8COeOt
	bRqSP8vg=; b=jYGZRnb3loPFsO7oIZa6c+7DpFES3Hkd7fWkz5bKhkh6p+GZBrE
	8i/nVMl8eItIqi486wZgJxdbaJXrD7xtiptOcFjC4vW7t2PPFBNrScfD6220o01g
	VZTPRqdmVk4Zte45ww2kVEm6SdltYt2bJSnQp5dOVJ2ulCuw/AuKHaIMLWiNIXfy
	BVELY3H1AJoDHzM3FrfnYTToAlJzXmN2/Kjph31aZt5Dh3t+mlidMcHp0omx5aI5
	kHF9yEkbXN7fDAxuE4y+R/voMWx1duOJAqsTqx4C9AKQ4ZUrJYQTjVTJfbexPopZ
	bZp75RCKiygMFKrpgZGCx3mURi7CB7cT8+Q==
X-ME-Sender: <xms:7gBgZYKnik_CEQZkxN3nKWP_otbU-0Z4hShAjNPmnaVpBdNMGhBd-Q>
    <xme:7gBgZYI6VuA0hiNKdSiYrVBsp89wC9hxoN_M_xnQtNkjLLoFBHmr12vYYRLNNqG-g
    BoB-lBd7aDKkw>
X-ME-Received: <xmr:7gBgZYsNgKC7N1fMZRs3h2I8Sz92NyVz_lm7zrBaJUjJdC244D9qg1hSkawk5ZkaKMDgk8vvp8tBndWkTJ6Z_YLMvneezNn1V0lSHYHRtn4bAFULl9_9>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudehgedggedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:7wBgZVYSuK2Zi39Sh-YxS862c6su0qEQLyA2CHd-NcbTdW8dDjPWag>
    <xmx:7wBgZfbWZA_ncTD8ZF4uUfTDlnB5J8bL4WY4_2m7l07DoH3hb7myxg>
    <xmx:7wBgZRAnvyaPjIrSsOJvwtG4Vrl6k0mrTZ-I8EmXCmuvUjOqFEXcjA>
    <xmx:7wBgZWzS4uOX5olN9WC-Ed7FLKYlFfy_yyWz3vhjLpWFNZ-46suYVw>
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>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 3/6] automation: prevent QEMU access to /dev/mem in PCI passthrough tests
Date: Fri, 24 Nov 2023 02:47:07 +0100
Message-ID: <5c7cf4c680200c37187b90eebc49f600865c65ec.1700790421.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

/dev/mem access doesn't work in dom0 in lockdown and in stubdomain.
Simulate this environment with removing /dev/mem device node. Full test
for lockdown and stubdomain will come later, when all requirements will
be in place.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
This can be applied only after QEMU change is committed. Otherwise the
test will fail.
---
 automation/scripts/qubes-x86-64.sh | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index d81ed7b931cf..7eabc1bd6ad4 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -163,6 +163,8 @@ ifconfig eth0 up
 ifconfig xenbr0 up
 ifconfig xenbr0 192.168.0.1
 
+# ensure QEMU wont have access /dev/mem
+rm -f /dev/mem
 # get domU console content into test log
 tail -F /var/log/xen/console/guest-domU.log 2>/dev/null | sed -e \"s/^/(domU) /\" &
 xl create /etc/xen/domU.cfg
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 01:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 01:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640071.997867 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6LJ4-0001j0-EQ; Fri, 24 Nov 2023 01:48:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640071.997867; Fri, 24 Nov 2023 01: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 1r6LJ4-0001it-AV; Fri, 24 Nov 2023 01:48:34 +0000
Received: by outflank-mailman (input) for mailman id 640071;
 Fri, 24 Nov 2023 01:48: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=uC13=HF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r6LJ2-0001id-5i
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 01:48:32 +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 8e5baa81-8a6b-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 02:48:28 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 7D05F3200A48;
 Thu, 23 Nov 2023 20:48:23 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 23 Nov 2023 20:48:23 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 23 Nov 2023 20:48:22 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e5baa81-8a6b-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type:content-type:date:date:from:from:in-reply-to
	:message-id:mime-version:reply-to:sender:subject:subject:to:to;
	 s=fm1; t=1700790503; x=1700876903; bh=gCfwTU3qHF50pcQ30y50gaGXz
	4RKs+izfHyddL79gTc=; b=Mik5DmxwyZkayijyO9fZu1PXvmUlU2wqyO6hCt4CR
	0GizXItodq+1VEexerHv+EDgVZLSgED26J1ga8YEVIj4Wwsn8WmVMi1mMH5SqFdh
	35QJbIBW3D11G8ushU2/6UsrJN9oViMxQEJXWzJZftPcTq3v1rn/SN053ZIkzLqe
	IrcGMrlt1wY0ISsbzr8fuf+MQ2y2/+qSwb00iOAC25zoh7fMeoUGWmTEe7Z2J2j6
	bP59T7pYnq0eYOW+7lh2w2NlgkbmxK2xQ4MaoqpeuY85+dsxph0aKgmm4RoTLpwV
	gURUb2hT82x4nvq0gNmQDZMezAXuZmtUfMVmEGqJQQ5Hw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type: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=1700790503; x=1700876903; bh=g
	CfwTU3qHF50pcQ30y50gaGXz4RKs+izfHyddL79gTc=; b=XokhWCub0x2Bmjho7
	uwzDm0ZfiUcSXUmzqdm/9gHdKsqdc33PLlnKNg6pomdQwQaVFH37WDrJPWmWdWRB
	fMcfXC44YNSaHoCWUSgA7sXIZ+Eomh1TiabQWTz3iQhLsNTpIruXr8Vz+8htwVFC
	bOMQfOI5mJia0BsKCMsWvjFZGO/QW/Ia9CcHiOe1CcFFx/gnKkINY0mWoPqEidBd
	QUVuSmkPFQvwVJM1jiAh9trIazq78zxdnR0o0fmnU/3Gftf5qQvFZ7gavEDKE8o9
	oZJWNonuA6RfrtXy5gnJ21jT1oljrtS1CvhjSDK9ONVGH92WYkggpDy6EcgnPCGS
	N6H+A==
X-ME-Sender: <xms:5gBgZfV4Gi8NRY14RTXugJf1Q_BeS9GZX91lyhQD3ky7waIVX7hC5g>
    <xme:5gBgZXm6wxaTsYjh8sxu-WbNAK9EAhMJbCIA0BxGqFdrnhuAgQvnO7vrCL6sXhwSR
    PeWTcCb7B1JjQ>
X-ME-Received: <xmr:5gBgZbZzy1dG6ycGw-KD83xx6huo5PjbbflNJyiwXLnh5p-z0a9t-0ZeuZkEeTTHxeUnrNuxZd-rdFnyzPRsmNYJZC-m7wQMVaN5H0onxl5dR6DHhp5m>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudehgedgfeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpefhvfevufffkffogggtgfesthekre
    dtredtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggt
    khhiuceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
    eqnecuggftrfgrthhtvghrnhephfefvdektdeivdfgieevteffveefgfdtheevtedtveej
    udffveethefhveeghfehnecuffhomhgrihhnpehgihhthhhusgdrtghomhdpghhithhlrg
    gsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhho
    mhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:5gBgZaU0QfDUdgYE0d4URAMGPF0x4T5KjdBrM9NnIBBrr602Oi-5zg>
    <xmx:5gBgZZlsb7vhGWxVXJAtkZoTS2p0lNbbOXFSHfRHAWBF5rzqXg7TOg>
    <xmx:5gBgZXdP9TWDEdD_wHuX1q3Du89wH17LIAu7uKK2AfTkFAutmgTm3A>
    <xmx:5wBgZXRjTQoewaHqrj1nA3mPsirhMRpniTpob7eEKDYeUGpshC8l5A>
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>
Subject: [PATCH v4 0/6] MSI-X support with qemu in stubdomain, and other related changes
Date: Fri, 24 Nov 2023 02:47:04 +0100
Message-ID: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.41.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

This series includes changes to make MSI-X working with Linux stubdomain and
especially Intel Wifi 6 AX210 card. This takes care of remaining reasons for
QEMU to access /dev/mem, but also the Intel Wifi card violating spec by putting
some registers on the same page as the MSI-X table.

See individual patches for details.

This series include also tests for MSI-X using new approach (by preventing QEMU
access to /dev/mem). But for it to work, it needs QEMU change that
makes use of the changes introduced here. It can be seen at
https://github.com/marmarek/qemu/commits/msix

Here is the pipeline that used the QEMU fork above:
https://gitlab.com/xen-project/people/marmarek/xen/-/pipelines/1083468508

Marek Marczykowski-Górecki (6):
  x86/msi: passthrough all MSI-X vector ctrl writes to device model
  x86/hvm: Allow access to registers on the same page as MSI-X table
  automation: prevent QEMU access to /dev/mem in PCI passthrough tests
  automation: switch to a wifi card on ADL system
  [DO NOT APPLY] switch to qemu fork
  [DO NOT APPLY] switch to alternative artifact repo

 Config.mk                                           |   4 +-
 automation/gitlab-ci/build.yaml                     |   4 +-
 automation/gitlab-ci/test.yaml                      |   4 +-
 automation/scripts/qubes-x86-64.sh                  |   9 +-
 automation/tests-artifacts/alpine/3.18.dockerfile   |   7 +-
 automation/tests-artifacts/kernel/6.1.19.dockerfile |   2 +-
 xen/arch/x86/hvm/vmsi.c                             | 206 ++++++++++++-
 xen/arch/x86/include/asm/msi.h                      |   5 +-
 xen/arch/x86/msi.c                                  |  40 +++-
 xen/common/kernel.c                                 |   1 +-
 xen/include/public/features.h                       |   8 +-
 11 files changed, 272 insertions(+), 18 deletions(-)

base-commit: f96e2f64576cdbb147391c7cb399d393385719a9
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 01:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 01:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640074.997897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6LJ8-0002SI-F7; Fri, 24 Nov 2023 01:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640074.997897; Fri, 24 Nov 2023 01:48: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 1r6LJ8-0002SB-Bg; Fri, 24 Nov 2023 01:48:38 +0000
Received: by outflank-mailman (input) for mailman id 640074;
 Fri, 24 Nov 2023 01:48: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=uC13=HF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r6LJ6-0001id-I2
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 01:48:36 +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 943652b4-8a6b-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 02:48:35 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 04B9E3200A48;
 Thu, 23 Nov 2023 20:48:33 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Thu, 23 Nov 2023 20:48:34 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 23 Nov 2023 20:48:32 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 943652b4-8a6b-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type: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=1700790513; x=1700876913; bh=eq
	3idnNj7apk53TrjyNs3MN+0xTHXPGEghyRmeuxtK4=; b=pixeXlnLfcoyGZAYeF
	ko+mkN4lEy+OTyNialH5Nql+TFXiVQyuFa3NuKcq218M68g1VUKl9a21l/Hz8o3n
	sjHAYRMR64q6jC8JOnUnro0CLkqqaG3MR19WSeHVJNvlLCNqJQqguSesU5o6oz3j
	Y5MpwEzvZOgoAAlTBzgqA0KpvI9XDtgmTy5vow6Z4szlZ67Qwwz+buu48R1s8SBz
	6CQ2RbzNvRWCP0L86KOZWDdvO90luhNg77CBBPPR9csG4RGCnreTmqhqCELgA4PW
	HjTTpvGsWnleoJSClwczt0opwRdfJKRcAz499Fp3AgLlI8qBgC1b9/f6KKaNnGpp
	ESgA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type: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=
	1700790513; x=1700876913; bh=eq3idnNj7apk53TrjyNs3MN+0xTHXPGEghy
	RmeuxtK4=; b=1IrHat9KKHv8B5r7izegXxv0l51hOzSWM0hqKGjxKrusIAJwU7l
	+kbUvIKJdjJXLLIsdCQM8eMYRPgagOWUVMzA3vTs0mXiaYTEsxD5SZLXWrSqMWnX
	3iPtEKwN+A8bEuOmX5y/wi1MC5NpQV6aa+uMXJeYZZBMEJ9yKcMdamhfNmW0eju8
	k7Qh+a+niUyGc1bDjg1eDAsQ9+Q5DdED5JL1OxggAa5VR7OrPSWrkHXkj7ajDEDB
	6Qug3CfzbHVGPZYhLBfwS5GIckHxC3XHFxZidPilrB/r5+v9G4CBlYlj5vR4Cgpo
	xFaNRP7wKgnCiuMYysuQaLGmFpEja2GD3lg==
X-ME-Sender: <xms:8QBgZfzq-qlWXw9MCGrX1x8lN8pFgTiJHH9qc7ru5xpckojCaBnynQ>
    <xme:8QBgZXSROj8UIYwKSi5aDWhcVAkNAKmbXhDaFBivNEazFGURi_eMihQkgefsbOxD2
    bfWSdUUc7CAqA>
X-ME-Received: <xmr:8QBgZZV-7jAwPKHiXEaaXzEXi_yN_1jblW1CTbcf8tdfs5_PE3BAQSsZtPQvI6T2WEWGYBEGY1tEj_jRRylebganWlZtNTgNb1VoRrbjEt-bFgBJWwKI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudehgedggedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpeff
    iedtgeevffetledvgefhhfevgffhfeekleehueejjeegvddvgfffjeeutddvleenucffoh
    hmrghinhepkhgvrhhnvghlrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghr
    rghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhngh
    hslhgrsgdrtghomh
X-ME-Proxy: <xmx:8QBgZZgvhUf8tE6cE8hkabv8DCY4jMMqKFPBsmAz01Ln28EkAIO2YA>
    <xmx:8QBgZRCY2whvn44wb4fwMtApEtv51dXstTWvpT8n9eK11tBtJ48Ngw>
    <xmx:8QBgZSK7xJ8eofUMdmQIevXd3ppbcUcyHWNZa7V--lG9tgEWFfdMFA>
    <xmx:8QBgZe6VCVWw7IiNoppNZAFkRLOH4IVTEgALRtdmImXsISGimAYBKw>
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>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 4/6] automation: switch to a wifi card on ADL system
Date: Fri, 24 Nov 2023 02:47:08 +0100
Message-ID: <9f18111c2d48b0715837789fc905d9e7b2a1ef0c.1700790421.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Switch to a wifi card that has registers on a MSI-X page. This tests the
"x86/hvm: Allow writes to registers on the same page as MSI-X table"
feature. Switch it only for HVM test, because MSI-X adjacent write is
not supported on PV.

This requires also including drivers and firmware in system for tests.
Remove firmware unrelated to the test, to not increase initrd size too
much (all firmware takes over 100MB compressed).
And finally adjusts test script to handle not only eth0 as a test device,
but also wlan0 and connect it to the wifi network.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
This needs two new gitlab variables: WIFI_HW2_SSID and WIFI_HW2_PSK. I'll
provide them in private.

This change requires rebuilding test containers.

This can be applied only after QEMU change is committed. Otherwise the
test will fail.
---
 automation/gitlab-ci/test.yaml                      | 4 ++++
 automation/scripts/qubes-x86-64.sh                  | 7 +++++++
 automation/tests-artifacts/alpine/3.18.dockerfile   | 7 +++++++
 automation/tests-artifacts/kernel/6.1.19.dockerfile | 2 ++
 4 files changed, 20 insertions(+)

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 6aabdb9d156f..931a8fb28e1d 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -195,6 +195,10 @@ adl-pci-pv-x86-64-gcc-debug:
 
 adl-pci-hvm-x86-64-gcc-debug:
   extends: .adl-x86-64
+  variables:
+    PCIDEV: "00:14.3"
+    WIFI_SSID: "$WIFI_HW2_SSID"
+    WIFI_PSK: "$WIFI_HW2_PSK"
   script:
     - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
index 7eabc1bd6ad4..60498ef1e89a 100755
--- a/automation/scripts/qubes-x86-64.sh
+++ b/automation/scripts/qubes-x86-64.sh
@@ -94,6 +94,13 @@ on_reboot = "destroy"
     domU_check="
 set -x -e
 interface=eth0
+if [ -e /sys/class/net/wlan0 ]; then
+    interface=wlan0
+    set +x
+    wpa_passphrase "$WIFI_SSID" "$WIFI_PSK" > /etc/wpa_supplicant.conf
+    set -x
+    wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf
+fi
 ip link set \"\$interface\" up
 timeout 30s udhcpc -i \"\$interface\"
 pingip=\$(ip -o -4 r show default|cut -f 3 -d ' ')
diff --git a/automation/tests-artifacts/alpine/3.18.dockerfile b/automation/tests-artifacts/alpine/3.18.dockerfile
index f1b4a8b7a191..b821a291fed3 100644
--- a/automation/tests-artifacts/alpine/3.18.dockerfile
+++ b/automation/tests-artifacts/alpine/3.18.dockerfile
@@ -34,6 +34,13 @@ RUN \
   apk add curl && \
   apk add udev && \
   apk add pciutils && \
+  apk add wpa_supplicant && \
+  # Select firmware for hardware tests
+  apk add linux-firmware-other && \
+  mkdir /lib/firmware-preserve && \
+  mv /lib/firmware/iwlwifi-so-a0-gf-a0* /lib/firmware-preserve/ && \
+  rm -rf /lib/firmware && \
+  mv /lib/firmware-preserve /lib/firmware && \
   \
   # Xen
   cd / && \
diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
index 3a4096780d20..84ed5dff23ae 100644
--- a/automation/tests-artifacts/kernel/6.1.19.dockerfile
+++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
@@ -32,6 +32,8 @@ RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"$LINUX_VERSI
     make xen.config && \
     scripts/config --enable BRIDGE && \
     scripts/config --enable IGC && \
+    scripts/config --enable IWLWIFI && \
+    scripts/config --enable IWLMVM && \
     cp .config .config.orig && \
     cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
     make -j$(nproc) bzImage && \
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 01:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 01:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640076.997916 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6LJC-00031A-4A; Fri, 24 Nov 2023 01:48:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640076.997916; Fri, 24 Nov 2023 01:48: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 1r6LJC-000313-0t; Fri, 24 Nov 2023 01:48:42 +0000
Received: by outflank-mailman (input) for mailman id 640076;
 Fri, 24 Nov 2023 01:48: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=uC13=HF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r6LJA-0002RQ-GO
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 01:48:40 +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 9609b4b5-8a6b-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 02:48:38 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id B0BF13200A48;
 Thu, 23 Nov 2023 20:48:36 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 23 Nov 2023 20:48:37 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 23 Nov 2023 20:48:34 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9609b4b5-8a6b-11ee-9b0e-b553b5be7939
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=1700790516; x=1700876916; bh=vpLMgvoJof
	R2y12hqIaKomgeg+9OwWixKJMvmnvwMU0=; b=0saaUeqCjfcRk1zzI83y/8Esez
	QgzgBJY3IvqCvRd2Trg7lQtfXYLxfo+wNqViHFjlN6QvRw5frgIwJwP8QaRztNVY
	5J+vfQ0Kl1GSRkvPx2OdGRvgILWOT67/4QKNemlJNPy2/XCQhwV+D8B8KZe8kkRD
	3Jk5eL90Lut/rjpwBMZnLTnDl9zqqdv9xEr1GpyizY9GevbB9IxCFM2wdlaeWjKe
	ioXHRLfgrjEZfFwnlmJLfsjnrEJG2bEOGdVV9+QIuYcjYjgGKjzTKNLFmNxlE1Kb
	Ycl6IEPnTAhdmDXYFbuKllX1mc996zT9keRAexjghEklE/2o5d+PEzuPaEJA==
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=1700790516; x=
	1700876916; bh=vpLMgvoJofR2y12hqIaKomgeg+9OwWixKJMvmnvwMU0=; b=E
	iIQUonKQZ9r/WIVdN6uVj5C7QZ6r/ZL8sJVBTxMLNjDiL61ZPvi6BQZMr4EzVh+e
	vFdwiNIZqRhFxhvmHnVHcPd1a2ouhlTykReqdolPnZGKn/rWWENuWFMHlwHdf97r
	FY8qws65QDhIUbuwmY+KphdSLyV2kXf7hbqA6D4187mVA66PU9OCCzZiubV8Psnl
	vlIYTVyZdSklM0nUJbZH9t4UCTvdYrCgN2R0icE4iHf+H45D8h4bC19oGOIX7x8X
	pZea6Nlei6/COX+jkHS61yAXqXCLoCGr2ifOxE11z2Vf2lFic1OkNZv/0tRAtQsV
	PbH1gmNI6fxXt936kXOtg==
X-ME-Sender: <xms:9ABgZWTBrfoQDRdIJKHiQIdslUbW2eOzQTiFYd__NzbcqeC7vnEtsg>
    <xme:9ABgZbxL4R-Ny9TjAF3XpRN5L6aKT4KegnLPO9EAiMxi3rPBLcSXAUU57VWAZCSOO
    wcfLDLpleQcYA>
X-ME-Received: <xmr:9ABgZT1_qM2XctTvaOwtfofnkloEuiLfaMWPUh-oKsvXt5KGJnAKaautIuohxY_2Tsl2tJ_mY9JaAhQsfGrWhsFrIFvO5O72fl4qTBB_Y7twhsk3gStb>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudehgedggedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhgggfestdekredtredtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgeet
    tdeigefhkefhfeegvdeuiedvtdffkeeltdeivdfgteelueeuhfetleevueegnecuffhomh
    grihhnpeigvghnrdhorhhgpdhgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigv
    pedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisg
    hlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:9ABgZSBnLmpuUXgeTPTy4fyRTASiEt3OsbEAcYNRxE3Tplu-QH98xA>
    <xmx:9ABgZfhsLPR9_qi4Xwu3rYNH04Ov5c44BgB0bEuTs3qy_LbLYZR56Q>
    <xmx:9ABgZerRV-YBAoaBM9P0EAd2KckwFERhfctWmoIqExWCoIN1nlrMjA>
    <xmx:9ABgZVYuQ49X-mZrTKACK_1YKtTkcc4V3VhePHWjjzckC8YpyKsIMw>
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 5/6] [DO NOT APPLY] switch to qemu fork
Date: Fri, 24 Nov 2023 02:47:09 +0100
Message-ID: <96b370aee16ee0429db38009a5d694cdf8ba34b7.1700790421.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This makes tests to use patched QEMU, to actually test the new behavior.
---
 Config.mk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index 2c43702958eb..dd2687c0e9e7 100644
--- a/Config.mk
+++ b/Config.mk
@@ -222,8 +222,8 @@ endif
 OVMF_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/ovmf.git
 OVMF_UPSTREAM_REVISION ?= ba91d0292e593df8528b66f99c1b0b14fadc8e16
 
-QEMU_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/qemu-xen.git
-QEMU_UPSTREAM_REVISION ?= master
+QEMU_UPSTREAM_URL ?= https://github.com/marmarek/qemu
+QEMU_UPSTREAM_REVISION ?= origin/msix
 
 MINIOS_UPSTREAM_URL ?= https://xenbits.xen.org/git-http/mini-os.git
 MINIOS_UPSTREAM_REVISION ?= b08019f0b2fbc30c75169a160acb9fd9af5d68f4
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 01:48:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 01:48:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640072.997874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6LJ4-0001mQ-SF; Fri, 24 Nov 2023 01:48:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640072.997874; Fri, 24 Nov 2023 01: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 1r6LJ4-0001mG-KN; Fri, 24 Nov 2023 01:48:34 +0000
Received: by outflank-mailman (input) for mailman id 640072;
 Fri, 24 Nov 2023 01:48: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=uC13=HF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r6LJ2-0001id-OI
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 01:48:32 +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 8fd474e0-8a6b-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 02:48:28 +0100 (CET)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.46])
 by mailout.west.internal (Postfix) with ESMTP id 33CEE3200A4C;
 Thu, 23 Nov 2023 20:48:26 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute2.internal (MEProxy); Thu, 23 Nov 2023 20:48:27 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 23 Nov 2023 20:48:24 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8fd474e0-8a6b-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-transfer-encoding
	:content-type: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=1700790505; x=1700876905; bh=3J
	KKOIM2Nz4Vj4VaBllPeeub5rgQRGqwurOAqkObw3w=; b=sB+ENd5v0/NOttHP2V
	9MBQ3FuxRsST6OScRMKrRtQ0ZciacTM5hBw+s9CfNuB8NSM8ioIlLa6j8Y11lh7c
	G5KZH3vowVq0IuIto6FRUwnwstNdXjFNF1Is2Kj+MgfBpjYiNQIBrc+kVrFW/cnE
	hoMJ3gpMsCkF+Yrrg8FTLzwx+15w+Z5vW5zewy23fD2zjYcY9uW5xVITVFZ/X/IV
	WCDVeUVBLe/UYjJcecu6cPNmLFNdr6/dYkwpzkPOg33yQeQSPN8VxAXxtXAHmJRO
	LykLovvFRmXmBOZpfTSBwpcrvoB+aC733dk1T2cno3UHbPR6WUabogMcaFZ+jj4U
	XRxQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-transfer-encoding
	:content-type: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=
	1700790505; x=1700876905; bh=3JKKOIM2Nz4Vj4VaBllPeeub5rgQRGqwurO
	AqkObw3w=; b=RtStN/0xsNETKwmkUsv7uyWt6o3dlO455ML68m1IkDEj97ayjZe
	qFF89JchV7eoZj8xQ9YQNaOQFpHqrI99LW93whwbmYIov6qISpk7vKi6wM6H2P/6
	GchrwAlNWT5MKrmR9dCO9IyvYDVXUd75PEuIg9hO979JnbHEhJgh33oKDvyefLDy
	ZwebOgXZbS/zmAkP8pmNqA/vjSuR/OzfqmbpJaiFt4LGzfFtmfcXibLr+tviEY4W
	YrEiOSIEgX0QRDtSs0m7iOkqppo5ZKq31hIZp8oVs6TSwZn5IuQ8+gBOWsawtqTV
	YzHoy9KBUbMNzF5M+p+D8tioWIQovS+MUKQ==
X-ME-Sender: <xms:6QBgZYfDFGJ3pT4-8-72fPkg5DhPozaJTKGvKoxVX21ToCDidzjjZQ>
    <xme:6QBgZaOm7AQSibwKNUm70vMfz4htbrOzJ866jU_BaiwLdKQ3wfql_lONZBElMDCHa
    1xgv_ih7ZoQKQ>
X-ME-Received: <xmr:6QBgZZi9HaZNfqNZfmlwxhZE4YF0U9vaNrc3ZBmzLcqo1UITHpca1SVDckHraLt0xyTOnQqVhJp94BErc0V1s2Lze93sYxZn3fo-mpj6f08R6eE1QWKJ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudehgedgfeelucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhggtgfgsehtkeertdertdejnecuhfhrohhmpeforghr
    vghkucforghrtgiihihkohifshhkihdqifpkrhgvtghkihcuoehmrghrmhgrrhgvkhesih
    hnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhmqeenucggtffrrghtthgvrhhnpefg
    ueduhefgvdefheehudejheefudevueeghfekhfehleegveduteeuiedugffgffenucevlh
    hushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehmrghrmhgrrhgv
    khesihhnvhhishhisghlvghthhhinhhgshhlrggsrdgtohhm
X-ME-Proxy: <xmx:6QBgZd-1A1BsgSElcqEz5_qHUMIXaRaY9D7vhu6LuNUupdnOSrlCjg>
    <xmx:6QBgZUuO0q5-ZJRFZ97q-A6gF_eOjIL7LRsvOm39SqjQdM4lrBfC1A>
    <xmx:6QBgZUGUiFPBGqzkGjetL4CkLQ_1uRMRhT9oXL8ILJLYeUpGF3xaBg>
    <xmx:6QBgZYgYZvViCoDtxLfs2Fu-0KQINqyXYASV5wRiogFEzPpOtYRC7Q>
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>,
	=?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 v4 1/6] x86/msi: passthrough all MSI-X vector ctrl writes to device model
Date: Fri, 24 Nov 2023 02:47:05 +0100
Message-ID: <6c030c703fcd37d7dfae3c488c21b5bca540e352.1700790421.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

QEMU needs to know whether clearing maskbit of a vector is really
clearing, or was already cleared before. Currently Xen sends only
clearing that bit to the device model, but not setting it, so QEMU
cannot detect it. Because of that, QEMU is working this around by
checking via /dev/mem, but that isn't the proper approach.

Give all necessary information to QEMU by passing all ctrl writes,
including masking a vector. Advertise the new behavior via
XENVER_get_features, so QEMU can know it doesn't need to access /dev/mem
anymore.

While this commit doesn't move the whole maskbit handling to QEMU (as
discussed on xen-devel as one of the possibilities), it is a necessary
first step anyway. Including telling QEMU it will get all the required
information to do so. The actual implementation would need to include:
 - a hypercall for QEMU to control just maskbit (without (re)binding the
   interrupt again
 - a methor for QEMU to tell Xen it will actually do the work
Those are not part of this series.

Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
---
I did not added any control to enable/disable this new behavior (as
Roger have suggested for possible non-QEMU ioreqs). I don't see how the
new behavior could be problematic for some existing ioreq server (they
already received writes to those addresses, just not all of them),
but if that's really necessary, I can probably add a command line option
to restore previous behavior system-wide.

Changes in v4:
- ignore unaligned writes with X86EMUL_OKAY
- restructure the code to forward all writes in _msixtbl_write() instead
  of manipulating return value of msixtbl_write() - this makes
  WRITE_LEN4_COMPLETION special case unnecessary
- advertise the changed behavior via XENVER_get_features instead of DMOP
v3:
 - advertise changed behavior in XEN_DMOP_get_ioreq_server_info - make
   "flags" parameter IN/OUT
 - move len check back to msixtbl_write() - will be needed there anyway
   in a later patch
v2:
 - passthrough quad writes to emulator too (Jan)
 - (ab)use len==0 for write len=4 completion (Jan), but add descriptive
   #define for this magic value
---
 xen/arch/x86/hvm/vmsi.c       | 19 ++++++++++++++-----
 xen/common/kernel.c           |  1 +
 xen/include/public/features.h |  8 ++++++++
 3 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/hvm/vmsi.c b/xen/arch/x86/hvm/vmsi.c
index 128f23636279..2436154c40b6 100644
--- a/xen/arch/x86/hvm/vmsi.c
+++ b/xen/arch/x86/hvm/vmsi.c
@@ -283,8 +283,8 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
     unsigned long flags;
     struct irq_desc *desc;
 
-    if ( (len != 4 && len != 8) || (address & (len - 1)) )
-        return r;
+    if ( !IS_ALIGNED(address, len) )
+        return X86EMUL_OKAY;
 
     rcu_read_lock(&msixtbl_rcu_lock);
 
@@ -345,8 +345,7 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
 
 unlock:
     spin_unlock_irqrestore(&desc->lock, flags);
-    if ( len == 4 )
-        r = X86EMUL_OKAY;
+    r = X86EMUL_OKAY;
 
 out:
     rcu_read_unlock(&msixtbl_rcu_lock);
@@ -357,7 +356,17 @@ static int cf_check _msixtbl_write(
     const struct hvm_io_handler *handler, uint64_t address, uint32_t len,
     uint64_t val)
 {
-    return msixtbl_write(current, address, len, val);
+    /* ignore invalid length or unaligned writes */
+    if ( len != 4 && len != 8 || !IS_ALIGNED(address, len) )
+        return X86EMUL_OKAY;
+
+    /*
+     * This function returns X86EMUL_UNHANDLEABLE even if write is properly
+     * handled, to propagate it to the device model (so it can keep its
+     * internal state in sync).
+     */
+    msixtbl_write(current, address, len, val);
+    return X86EMUL_UNHANDLEABLE;
 }
 
 static bool cf_check msixtbl_range(
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 08dbaa2a054c..229784c6ce52 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -642,6 +642,7 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
                 fi.submap |= (1U << XENFEAT_direct_mapped);
             else
                 fi.submap |= (1U << XENFEAT_not_direct_mapped);
+            fi.submap |= (1U << XENFEAT_dm_msix_all_writes);
             break;
         default:
             return -EINVAL;
diff --git a/xen/include/public/features.h b/xen/include/public/features.h
index 36936f6a4ee0..634534827d43 100644
--- a/xen/include/public/features.h
+++ b/xen/include/public/features.h
@@ -120,6 +120,14 @@
 #define XENFEAT_runstate_phys_area	  18
 #define XENFEAT_vcpu_time_phys_area	  19
 
+/*
+ * If set, Xen will passthrough all MSI-X vector ctrl writes to device model,
+ * not only those unmasking an entry. This allows device model to properly keep
+ * track of the MSI-X table without having to read it from the device behind
+ * Xen's backs. This information is relevant only for device models.
+ */
+#define XENFEAT_dm_msix_all_writes        20
+
 #define XENFEAT_NR_SUBMAPS 1
 
 #endif /* __XEN_PUBLIC_FEATURES_H__ */
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 01:48:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 01:48:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640077.997927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6LJE-0003LN-FP; Fri, 24 Nov 2023 01:48:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640077.997927; Fri, 24 Nov 2023 01: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 1r6LJE-0003LC-Al; Fri, 24 Nov 2023 01:48:44 +0000
Received: by outflank-mailman (input) for mailman id 640077;
 Fri, 24 Nov 2023 01:48: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=uC13=HF=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r6LJC-0002RQ-OL
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 01:48:42 +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 975a60df-8a6b-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 02:48:41 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 487873200A49;
 Thu, 23 Nov 2023 20:48:39 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Thu, 23 Nov 2023 20:48:39 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Thu,
 23 Nov 2023 20:48:37 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 975a60df-8a6b-11ee-9b0e-b553b5be7939
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=1700790518; x=1700876918; bh=YR4SrntrkR
	9h95RVyu4/vR1Bp6CZaXa+a+sAHNBe1pw=; b=5Nuj4LMMKdO58yXKRIAtvoDnPE
	JfHUU6qTzl/I/HUBkzeEJ2PAkVE0i7lhYatqPUbzKwEAQt8w5+ARm4I53gXnKMpB
	fCKNVR3I4F0124bK362/WTB6DKthrf6rYsdBNO8r/zrSFOMUi2bxFmeyG38C1Jcc
	NkID4CN3AtnF6vvIgmP0/QGjQ4wiffkRdZzF2ficl0vz8VXxrNFKr0KjEn7ssSZh
	WwpiXkMfY4squ3HH54OtaDO162pbX7eCYby8/qvH7TH+l6bzCKdV/MLnlMkKr2eg
	OSvstZC1syIgTYAQJ86fr3AD7Llc0Y9Qy0Y2TICOAzTp6u0gHA0zibl1b3iA==
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=1700790518; x=
	1700876918; bh=YR4SrntrkR9h95RVyu4/vR1Bp6CZaXa+a+sAHNBe1pw=; b=u
	ljuZ0hyCLTwE+0FV7o8cunHauFzgCqgDXtNQuIExT6p1zDOss76+iTyoIFOzU/8i
	zKAQq/jek/4RIZVDziNzf+kwtq2GNX1apxJbxFK3/MtLxZ/gCbrAUkFCG5Mjm/by
	o0Nn3J8aFchSicd4BUq4+/A1TNmX+KLMKUUiLrckTNft8y9khSR9Tcy9mpWGQfYa
	xbqUkeXG0ETp3ErH1nqQy6pbLVpuwwwkbv7I6RgPKZm2AmTSTjAMQ5jlWS1xkvhw
	bqLmp/i2eAeS6m3JtN+cKUIr22rjD3G1r7eXDDHt2oDMZEye/PwoZXsapz0r1/Nd
	R5aPUTodtRw6FI15NaNtQ==
X-ME-Sender: <xms:9gBgZdzsgMGs7nzg5zNxLxg4NVYb9RFAdLvKvfTCBvnLBndT2jjiWQ>
    <xme:9gBgZdSdeKPM6kQjl8kYV86oXw6NLyx0-QGXKovBhKgpdLXiTLLIDl6dObeiR_Ej2
    Nc1dAhUs_1LcA>
X-ME-Received: <xmr:9gBgZXUD-EYzTcDftiNbPpwUqEhUArGWfdA1opp0pj4zL1Iy3GK12OJ0zHL-0napB-JKTPaA6b2TL9viGVwZzbLsY-7W-NiPHWaJ10ZZjOP-fBx5GFV_>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudehgedggedtucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhephffvvefufffkofgjfhgggfestdekredtredtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepueet
    hefgieehheeftdeuleduhffgieelueejhffggfeiieevtefhfeffffeftdehnecuffhomh
    grihhnpehgihhtlhgrsgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr
    mhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhm
X-ME-Proxy: <xmx:9gBgZfgCdPVCXWJvuBGTNw-Nlv6-cy_fvLnFt8NRlKK1bcX8zd84cQ>
    <xmx:9gBgZfDX88XGidbWIXW5lBZHvc-5ZqMQT1ffk0fysLhFsyc2eGc6-Q>
    <xmx:9gBgZYIt-w5DL3RCsyjyUc6VV3QWtLULdqlxUpKuEakNRQWX4pUW0A>
    <xmx:9gBgZU51-0IFCl8fSvzGNZ3SuMsZwgTt3GG4ilbcl7aTvaNh2Yk5zg>
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>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v4 6/6] [DO NOT APPLY] switch to alternative artifact repo
Date: Fri, 24 Nov 2023 02:47:10 +0100
Message-ID: <7e7977bc5630a40f522b45da891689cdf11da29c.1700790421.git-series.marmarek@invisiblethingslab.com>
X-Mailer: git-send-email 2.41.0
In-Reply-To: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

For testing, switch to my containers registry that includes containers
rebuilt with changes in this series.
---
 automation/gitlab-ci/build.yaml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 32af30ccedc9..52abb12bce48 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -324,7 +324,7 @@ qemu-system-ppc64-8.1.0-ppc64-export:
 
 alpine-3.18-rootfs-export:
   extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/alpine:3.18
+  image: registry.gitlab.com/xen-project/people/marmarek/xen/tests-artifacts/alpine:3.18
   script:
     - mkdir binaries && cp /initrd.tar.gz binaries/initrd.tar.gz
   artifacts:
@@ -335,7 +335,7 @@ alpine-3.18-rootfs-export:
 
 kernel-6.1.19-export:
   extends: .test-jobs-artifact-common
-  image: registry.gitlab.com/xen-project/xen/tests-artifacts/kernel:6.1.19
+  image: registry.gitlab.com/xen-project/people/marmarek/xen/tests-artifacts/kernel:6.1.19
   script:
     - mkdir binaries && cp /bzImage binaries/bzImage
   artifacts:
-- 
git-series 0.9.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 04:17:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 04:17:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640119.997937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6NdK-0002Dd-He; Fri, 24 Nov 2023 04:17:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640119.997937; Fri, 24 Nov 2023 04: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 1r6NdK-0002DW-Ev; Fri, 24 Nov 2023 04:17:38 +0000
Received: by outflank-mailman (input) for mailman id 640119;
 Fri, 24 Nov 2023 04:17: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6NdJ-0002DL-6g
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 04:17:37 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63d15099-8a80-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 05:17:33 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 937DF1FCEB;
 Thu, 23 Nov 2023 15:23:12 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 317A713AA8;
 Thu, 23 Nov 2023 11:45:14 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id nECkB0o7X2XgZQAAn2gu4w
 (envelope-from <jgross@suse.com>); Thu, 23 Nov 2023 11:45: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: 63d15099-8a80-11ee-9b0e-b553b5be7939
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 1/2] Mini-OS: link kernel separately
Date: Thu, 23 Nov 2023 12:45:03 +0100
Message-Id: <20231123114504.29329-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231123114504.29329-1-jgross@suse.com>
References: <20231123114504.29329-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: +++++++++++++++
X-Spam-Score: 15.00
X-Rspamd-Server: rspamd1
X-Spam-Level: ***************
X-Rspamd-Queue-Id: 937DF1FCEB
X-Spam-Flag: YES
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 ARC_NA(0.00)[];
	 MX_GOOD(-0.01)[];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[ens-lyon.org:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.05)[59.34%]
X-Spam: Yes

Add an additional link step with linking all Mini-OS kernel binaries
into a single object file.

This is done in preparation of hiding Mini-OS internal symbols before
linking the kernel with libraries and an application.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 Makefile | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 7ee181a2..85c6db75 100644
--- a/Makefile
+++ b/Makefile
@@ -164,8 +164,11 @@ endif
 $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 	$(CPP) $(ASFLAGS) -P $< -o $@
 
-$(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
-	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
+$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
+	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
+
+$(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
+	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
 	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
 	$(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@-debug
 	strip -s $@-debug -o $@
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 04:17:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 04:17:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640122.997955 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6NdR-0002Xe-25; Fri, 24 Nov 2023 04:17:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640122.997955; Fri, 24 Nov 2023 04: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 1r6NdQ-0002XX-Vd; Fri, 24 Nov 2023 04:17:44 +0000
Received: by outflank-mailman (input) for mailman id 640122;
 Fri, 24 Nov 2023 04: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6NdP-0002UR-7i
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 04:17:43 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 689eb9fc-8a80-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 05:17:41 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 292AD1FD9A;
 Thu, 23 Nov 2023 16:08:18 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id E578D13A82;
 Thu, 23 Nov 2023 16:08:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id M0LINvF4X2UXFgAAn2gu4w
 (envelope-from <jgross@suse.com>); Thu, 23 Nov 2023 16: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>
X-Inumbo-ID: 689eb9fc-8a80-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 2/2] Mini-OS: keep a positive list of externally visible symbols
Date: Thu, 23 Nov 2023 17:08:04 +0100
Message-Id: <20231123160804.17621-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231123160804.17621-1-jgross@suse.com>
References: <20231123160804.17621-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: +++++++++++++++
X-Spam-Score: 15.00
X-Rspamd-Server: rspamd1
X-Spam-Level: ***************
X-Rspamd-Queue-Id: 292AD1FD9A
X-Spam-Flag: YES
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam: Yes

Add a mini-os.map file containing all global symbols that are allowed
to be referenced by an application or library. Hide all other symbols
of Mini-OS from being visible externally.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- added more symbols (Samuel Thibault)
- sorted symbols in each section alphabetically
---
 Makefile    |   3 +-
 mini-os.map | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 297 insertions(+), 1 deletion(-)
 create mode 100644 mini-os.map

diff --git a/Makefile b/Makefile
index 85c6db75..d4768110 100644
--- a/Makefile
+++ b/Makefile
@@ -164,8 +164,9 @@ endif
 $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 	$(CPP) $(ASFLAGS) -P $< -o $@
 
-$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
+$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds mini-os.map
 	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
+	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=mini-os.map $@ $@
 
 $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
 	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
diff --git a/mini-os.map b/mini-os.map
new file mode 100644
index 00000000..58a3a0ee
--- /dev/null
+++ b/mini-os.map
@@ -0,0 +1,295 @@
+# Mini-OS symbols being externally visible
+# entry point
+_start
+# Mini-OS service functions
+alloc_fd
+alloc_file_type
+alloc_pages
+bind_pirq
+bind_virq
+block
+clear_evtchn
+console_print
+create_thread
+do_map_frames
+event_queue
+evtchn_alloc_unbound
+evtchn_bind_interdomain
+evtchn_get_peercontext
+exit_thread
+free_pages
+get_domid
+get_file_from_fd
+gntmap_fini
+gntmap_init
+gntmap_map_grant_refs
+gntmap_munmap
+gntmap_set_max_grants
+gnttabop_error
+gnttab_alloc_and_grant
+gnttab_grant_access
+gnttab_grant_transfer
+gnttab_end_transfer
+gnttab_end_access
+hypercall_page
+ioremap
+ioremap_nocache
+iounmap
+map_frames_ex
+map_frame_rw
+map_frame_virt
+mask_evtchn
+msleep
+need_pgt
+printk
+schedule
+stop_kernel
+unbind_evtchn
+unmap_frames
+unmask_evtchn
+wake
+xencons_ring_avail
+xprintk
+__local_irq_restore
+__local_irq_save
+# libgcc
+__divdi3
+__moddi3
+__qdivrem
+__udivdi3
+__udivmoddi4
+__umoddi3
+# libc
+accept
+bind
+cfmakeraw
+chdir
+clock_gettime
+close
+closedir
+closelog
+connect
+do_exit
+dup
+dup2
+err
+errx
+execv
+fcntl
+ffs
+ffsl
+ffsll
+fork
+free
+fstat64
+fsync
+ftruncate
+getegid
+geteuid
+getgid
+gethostname
+getpagesize
+getpeername
+getpid
+getsockname
+getsockopt
+gettimeofday
+getuid
+htonl
+htons
+inet_aton
+inet_ntoa
+ioctl
+isatty
+kill
+link
+listen
+lockf
+lseek64
+malloc
+memcmp
+memcpy
+memset
+mkdir
+mmap64
+munmap
+nanosleep
+nice
+ntohl
+ntohs
+open64
+opendir
+openlog
+pipe
+poll
+posix_openpt
+read
+readdir
+realloc
+recv
+recvfrom
+rmdir
+sbrk
+scnprintf
+select
+select_read_flag
+send
+sendto
+setsid
+setsockopt
+shutdown
+sigaction
+sleep
+snprintf
+socket
+sprintf
+sscanf
+stat
+strcat
+strchr
+strcmp
+strcpy
+strdup
+strlen
+strncmp
+strncpy
+strnlen
+strrchr
+strstr
+strtoq
+strtoul
+strtouq
+sysconf
+syslog
+tcgetattr
+tcsetattr
+umask
+unlink
+usleep
+verr
+verrx
+vscnprintf
+vsnprintf
+vsprintf
+vsscanf
+vsyslog
+vwarn
+vwarnx
+waitpid
+warn
+warnx
+write
+_ctype
+_exit
+_fini
+_init
+___lock_acquire
+___lock_acquire_recursive
+___lock_init_recursive
+___lock_release
+___lock_release_recursive
+# 9pfront driver
+init_9pfront
+shutdown_9pfront
+# blkfront driver
+blkfront_aio
+blkfront_aio_poll
+blkfront_aio_push_operation
+blkfront_io
+blkfront_open
+blkfront_queue
+blkfront_sync
+init_blkfront
+shutdown_blkfront
+# fbfront driver
+fbfront_open
+fbfront_receive
+fbfront_resize
+fbfront_update
+init_fbfront
+shutdown_fbfront
+# kbdfront driver
+init_kbdfront
+kbdfront_open
+kbdfront_receive
+shutdown_kbdfront
+# netfront driver
+init_netfront
+netfront_get_gateway
+netfront_get_netmask
+netfront_receive
+netfront_tap_open
+netfront_xmit
+networking_set_addr
+resume_netfront
+shutdown_netfront
+start_networking
+stop_networking
+suspend_netfront
+# pcifront driver
+init_pcifront
+pcifront_conf_read
+pcifront_conf_write
+pcifront_disable_msi
+pcifront_disable_msix
+pcifront_enable_msi
+pcifront_enable_msix
+pcifront_op
+pcifront_scan
+shutdown_pcifront
+# tpmback driver
+init_tpmback
+shutdown_tpmback
+tpmback_get_opaque
+tpmback_get_peercontext
+tpmback_get_uuid
+tpmback_num_frontends
+tpmback_req
+tpmback_req_any
+tpmback_resp
+tpmback_set_opaque
+tpmback_wait_for_frontend_connect
+# tpmfront driver
+init_tpmfront
+shutdown_tpmfront
+tpmfront_cmd
+tpmfront_open
+tpmfront_set_locality
+# tpm_tis driver
+init_tpm_tis
+init_tpm2_tis
+tpm_tis_cmd
+tpm_tis_open
+tpm_tis_request_locality
+# xenbus driver
+xenbus_get_perms
+xenbus_get_self_id
+xenbus_ls
+xenbus_msg_reply
+xenbus_printf
+xenbus_read
+xenbus_read_integer
+xenbus_read_uuid
+xenbus_rm
+xenbus_set_perms
+xenbus_transaction_end
+xenbus_switch_state
+xenbus_transaction_start
+xenbus_unwatch_path_token
+xenbus_wait_for_state_change
+xenbus_wait_for_value
+xenbus_wait_for_watch
+xenbus_wait_for_watch_return
+xenbus_watch_path_token
+xenbus_write
+xenstore_buf
+xs_daemon_open
+xs_directory
+xs_fileno
+xs_get_domain_path
+xs_read
+xs_read_watch
+xs_rm
+xs_unwatch
+xs_watch
+xs_write
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 04:21:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 04:21:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640131.997969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6NgY-0004PO-JP; Fri, 24 Nov 2023 04:20:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640131.997969; Fri, 24 Nov 2023 04:20: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 1r6NgY-0004PH-GM; Fri, 24 Nov 2023 04:20:58 +0000
Received: by outflank-mailman (input) for mailman id 640131;
 Fri, 24 Nov 2023 04:20: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6NgW-0004N7-Cn
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 04:20:56 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dbe24d1f-8a80-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 05:20:54 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 89983219C6;
 Thu, 23 Nov 2023 15:23:12 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id A49CD13AAA;
 Thu, 23 Nov 2023 11:45:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id HM2sI1A7X2XjZQAAn2gu4w
 (envelope-from <jgross@suse.com>); Thu, 23 Nov 2023 11:45: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: dbe24d1f-8a80-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700752992; 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=v2bgQ6T5xs6Z0agxacE1YnKaxl+7FwNqtT3DbdGrpyQ=;
	b=uskWcz0HvYeP1HogR5ZVHD71WF1fNSgA0g91Bm0DNG8zo8wDGuKGY7Hj74bByW+48d7c92
	nfvaRuZfUViNKpA2onkJrvngLQBzqBit0rhmuvKh0HyeB8DAue5vtkOfklmjIP76AY2AUQ
	cRMqMmksynsmdgVoJk/svU+b7nHHcxM=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 2/2] Mini-OS: keep a positive list of externally visible symbols
Date: Thu, 23 Nov 2023 12:45:04 +0100
Message-Id: <20231123114504.29329-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231123114504.29329-1-jgross@suse.com>
References: <20231123114504.29329-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ***********
X-Spam-Score: 11.36
X-Spamd-Result: default: False [11.36 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(2.96)[0.987];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[33.51%]
X-Spam-Flag: NO

Add a mini-os.map file containing all global symbols that are allowed
to be referenced by an application or library. Hide all other symbols
of Mini-OS from being visible externally.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- added more symbols (Samuel Thibault)
- sorted symbols in each section alphabetically
---
 Makefile    |   3 +-
 mini-os.map | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 297 insertions(+), 1 deletion(-)
 create mode 100644 mini-os.map

diff --git a/Makefile b/Makefile
index 85c6db75..d4768110 100644
--- a/Makefile
+++ b/Makefile
@@ -164,8 +164,9 @@ endif
 $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 	$(CPP) $(ASFLAGS) -P $< -o $@
 
-$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
+$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds mini-os.map
 	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
+	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=mini-os.map $@ $@
 
 $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
 	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
diff --git a/mini-os.map b/mini-os.map
new file mode 100644
index 00000000..58a3a0ee
--- /dev/null
+++ b/mini-os.map
@@ -0,0 +1,295 @@
+# Mini-OS symbols being externally visible
+# entry point
+_start
+# Mini-OS service functions
+alloc_fd
+alloc_file_type
+alloc_pages
+bind_pirq
+bind_virq
+block
+clear_evtchn
+console_print
+create_thread
+do_map_frames
+event_queue
+evtchn_alloc_unbound
+evtchn_bind_interdomain
+evtchn_get_peercontext
+exit_thread
+free_pages
+get_domid
+get_file_from_fd
+gntmap_fini
+gntmap_init
+gntmap_map_grant_refs
+gntmap_munmap
+gntmap_set_max_grants
+gnttabop_error
+gnttab_alloc_and_grant
+gnttab_grant_access
+gnttab_grant_transfer
+gnttab_end_transfer
+gnttab_end_access
+hypercall_page
+ioremap
+ioremap_nocache
+iounmap
+map_frames_ex
+map_frame_rw
+map_frame_virt
+mask_evtchn
+msleep
+need_pgt
+printk
+schedule
+stop_kernel
+unbind_evtchn
+unmap_frames
+unmask_evtchn
+wake
+xencons_ring_avail
+xprintk
+__local_irq_restore
+__local_irq_save
+# libgcc
+__divdi3
+__moddi3
+__qdivrem
+__udivdi3
+__udivmoddi4
+__umoddi3
+# libc
+accept
+bind
+cfmakeraw
+chdir
+clock_gettime
+close
+closedir
+closelog
+connect
+do_exit
+dup
+dup2
+err
+errx
+execv
+fcntl
+ffs
+ffsl
+ffsll
+fork
+free
+fstat64
+fsync
+ftruncate
+getegid
+geteuid
+getgid
+gethostname
+getpagesize
+getpeername
+getpid
+getsockname
+getsockopt
+gettimeofday
+getuid
+htonl
+htons
+inet_aton
+inet_ntoa
+ioctl
+isatty
+kill
+link
+listen
+lockf
+lseek64
+malloc
+memcmp
+memcpy
+memset
+mkdir
+mmap64
+munmap
+nanosleep
+nice
+ntohl
+ntohs
+open64
+opendir
+openlog
+pipe
+poll
+posix_openpt
+read
+readdir
+realloc
+recv
+recvfrom
+rmdir
+sbrk
+scnprintf
+select
+select_read_flag
+send
+sendto
+setsid
+setsockopt
+shutdown
+sigaction
+sleep
+snprintf
+socket
+sprintf
+sscanf
+stat
+strcat
+strchr
+strcmp
+strcpy
+strdup
+strlen
+strncmp
+strncpy
+strnlen
+strrchr
+strstr
+strtoq
+strtoul
+strtouq
+sysconf
+syslog
+tcgetattr
+tcsetattr
+umask
+unlink
+usleep
+verr
+verrx
+vscnprintf
+vsnprintf
+vsprintf
+vsscanf
+vsyslog
+vwarn
+vwarnx
+waitpid
+warn
+warnx
+write
+_ctype
+_exit
+_fini
+_init
+___lock_acquire
+___lock_acquire_recursive
+___lock_init_recursive
+___lock_release
+___lock_release_recursive
+# 9pfront driver
+init_9pfront
+shutdown_9pfront
+# blkfront driver
+blkfront_aio
+blkfront_aio_poll
+blkfront_aio_push_operation
+blkfront_io
+blkfront_open
+blkfront_queue
+blkfront_sync
+init_blkfront
+shutdown_blkfront
+# fbfront driver
+fbfront_open
+fbfront_receive
+fbfront_resize
+fbfront_update
+init_fbfront
+shutdown_fbfront
+# kbdfront driver
+init_kbdfront
+kbdfront_open
+kbdfront_receive
+shutdown_kbdfront
+# netfront driver
+init_netfront
+netfront_get_gateway
+netfront_get_netmask
+netfront_receive
+netfront_tap_open
+netfront_xmit
+networking_set_addr
+resume_netfront
+shutdown_netfront
+start_networking
+stop_networking
+suspend_netfront
+# pcifront driver
+init_pcifront
+pcifront_conf_read
+pcifront_conf_write
+pcifront_disable_msi
+pcifront_disable_msix
+pcifront_enable_msi
+pcifront_enable_msix
+pcifront_op
+pcifront_scan
+shutdown_pcifront
+# tpmback driver
+init_tpmback
+shutdown_tpmback
+tpmback_get_opaque
+tpmback_get_peercontext
+tpmback_get_uuid
+tpmback_num_frontends
+tpmback_req
+tpmback_req_any
+tpmback_resp
+tpmback_set_opaque
+tpmback_wait_for_frontend_connect
+# tpmfront driver
+init_tpmfront
+shutdown_tpmfront
+tpmfront_cmd
+tpmfront_open
+tpmfront_set_locality
+# tpm_tis driver
+init_tpm_tis
+init_tpm2_tis
+tpm_tis_cmd
+tpm_tis_open
+tpm_tis_request_locality
+# xenbus driver
+xenbus_get_perms
+xenbus_get_self_id
+xenbus_ls
+xenbus_msg_reply
+xenbus_printf
+xenbus_read
+xenbus_read_integer
+xenbus_read_uuid
+xenbus_rm
+xenbus_set_perms
+xenbus_transaction_end
+xenbus_switch_state
+xenbus_transaction_start
+xenbus_unwatch_path_token
+xenbus_wait_for_state_change
+xenbus_wait_for_value
+xenbus_wait_for_watch
+xenbus_wait_for_watch_return
+xenbus_watch_path_token
+xenbus_write
+xenstore_buf
+xs_daemon_open
+xs_directory
+xs_fileno
+xs_get_domain_path
+xs_read
+xs_read_watch
+xs_rm
+xs_unwatch
+xs_watch
+xs_write
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 04:21:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 04:21:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640137.997979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6NhT-00050H-Sl; Fri, 24 Nov 2023 04:21:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640137.997979; Fri, 24 Nov 2023 04:21: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 1r6NhT-000509-PW; Fri, 24 Nov 2023 04:21:55 +0000
Received: by outflank-mailman (input) for mailman id 640137;
 Fri, 24 Nov 2023 04:21: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6NhS-0004tg-Km
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 04:21:54 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ff552d8d-8a80-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 05:21:54 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 924AA21A4D;
 Thu, 23 Nov 2023 16:08:12 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 680A213A82;
 Thu, 23 Nov 2023 16:08:12 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id CbshGOx4X2UNFgAAn2gu4w
 (envelope-from <jgross@suse.com>); Thu, 23 Nov 2023 16:08: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: ff552d8d-8a80-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700755692; 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=DBHJJpLfTw/hSeM8CefFuiC/VseSNGUnigq+YOSFm2U=;
	b=mjRRRqUDoVpH1cIOmKJfW0OAZI9wdcUBdQg6I1ZISV4PJRL0eR5pGDDXcspztJSz0Kg6Ei
	NG0Dk0Z3ctc7+zFFKmgUIIrGSMLPRxvGfEl6e/vtd+YCdRNCM8Rr+caQIwq33CRHdAls+t
	LXpm+xayzHLTkKUnmBi5r0RZW4k7s40=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 1/2] Mini-OS: link kernel separately
Date: Thu, 23 Nov 2023 17:08:03 +0100
Message-Id: <20231123160804.17621-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231123160804.17621-1-jgross@suse.com>
References: <20231123160804.17621-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ****
X-Spam-Flag: NO
X-Spam-Score: 4.90
X-Spamd-Result: default: False [4.90 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[28.70%]

Add an additional link step with linking all Mini-OS kernel binaries
into a single object file.

This is done in preparation of hiding Mini-OS internal symbols before
linking the kernel with libraries and an application.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 Makefile | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 7ee181a2..85c6db75 100644
--- a/Makefile
+++ b/Makefile
@@ -164,8 +164,11 @@ endif
 $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 	$(CPP) $(ASFLAGS) -P $< -o $@
 
-$(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
-	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
+$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
+	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
+
+$(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
+	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
 	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
 	$(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@-debug
 	strip -s $@-debug -o $@
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 04:21:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 04:21:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640139.997993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6NhW-0005I9-5k; Fri, 24 Nov 2023 04:21:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640139.997993; Fri, 24 Nov 2023 04:21: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 1r6NhW-0005I0-2V; Fri, 24 Nov 2023 04:21:58 +0000
Received: by outflank-mailman (input) for mailman id 640139;
 Fri, 24 Nov 2023 04:21: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6NhU-00058O-I2
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 04:21:56 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ffaceaf6-8a80-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 05:21:54 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 0A573219E7;
 Thu, 23 Nov 2023 16:08:38 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id D3BED13A82;
 Thu, 23 Nov 2023 16:08:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id l4txMgV5X2U3FgAAn2gu4w
 (envelope-from <jgross@suse.com>); Thu, 23 Nov 2023 16: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: ffaceaf6-8a80-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700755718; 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=QHUW1pcodr2Ecs7+WSFnTxBagJ8d8TMSXSpTTvwKGZ0=;
	b=sJRBQu15/wd1NBWLZK+wPAElUy3ml3oGDcppZeuImv/RU3VqTSSGYyzqUPnJYRdoFX5qVU
	Al3NTwaPWppTXapLfhhbrld+j8m083sdo/GCUypARYbX+pJXdCHjJIQ49Yc1EQXzidKChl
	/yaIm0SRD1svRkCiCPQCNXFSm7YhLZY=
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Cc: Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <julien@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [PATCH] tools/xenstored: potentially split trace_io() out message
Date: Thu, 23 Nov 2023 17:08:34 +0100
Message-Id: <20231123160834.17674-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: *
X-Spam-Flag: NO
X-Spam-Score: 1.90
X-Spamd-Result: default: False [1.90 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]

Today write_messages() will call trace_io() after having written the
complete message to the ring buffer or socket.

In case the message can't be written in one go, split it by writing
one trace entry when starting the write and one when finishing it.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
This patch is meant to go on top of the patch "tools/xenstored: remove
\"-V\" command line option" in order to not lose any possible debug
information.
---
 tools/xenstored/core.c | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/tools/xenstored/core.c b/tools/xenstored/core.c
index 9046b200bc..a14b240ed9 100644
--- a/tools/xenstored/core.c
+++ b/tools/xenstored/core.c
@@ -121,7 +121,7 @@ void trace(const char *fmt, ...)
 
 static void trace_io(const struct connection *conn,
 		     const struct buffered_data *data,
-		     int out)
+		     const char *type)
 {
 	unsigned int i;
 	time_t now;
@@ -134,8 +134,7 @@ static void trace_io(const struct connection *conn,
 	tm = localtime(&now);
 
 	trace("io: %s %p (d%u) %04d%02d%02d %02d:%02d:%02d %s (",
-	      out ? "OUT" : "IN", conn, conn->id,
-	      tm->tm_year + 1900, tm->tm_mon + 1,
+	      type, conn, conn->id, tm->tm_year + 1900, tm->tm_mon + 1,
 	      tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec,
 	      sockmsg_string(data->hdr.msg.type));
 	
@@ -321,43 +320,54 @@ static bool write_messages(struct connection *conn)
 {
 	int ret;
 	struct buffered_data *out;
+	bool started = false;
 
 	out = list_top(&conn->out_list, struct buffered_data, list);
 	if (out == NULL)
 		return true;
 
 	if (out->inhdr) {
+		started = !out->used;
 		ret = conn->funcs->write(conn, out->hdr.raw + out->used,
 					 sizeof(out->hdr) - out->used);
 		if (ret < 0)
-			return false;
+			goto err;
 
 		out->used += ret;
 		if (out->used < sizeof(out->hdr))
-			return true;
+			goto start;
 
 		out->inhdr = false;
 		out->used = 0;
 
 		/* Second write might block if non-zero. */
 		if (out->hdr.msg.len && !conn->domain)
-			return true;
+			goto start;
 	}
 
 	ret = conn->funcs->write(conn, out->buffer + out->used,
 				 out->hdr.msg.len - out->used);
 	if (ret < 0)
-		return false;
+		goto err;
 
 	out->used += ret;
 	if (out->used != out->hdr.msg.len)
-		return true;
+		goto start;
 
-	trace_io(conn, out, 1);
+	trace_io(conn, out, started ? "OUT" : "OUT(END)");
 
 	free_buffered_data(out, conn);
 
 	return true;
+
+ err:
+	trace_io(conn, out, "OUT(ERR)");
+	return false;
+
+ start:
+	if (started)
+		trace_io(conn, out, "OUT(START)");
+	return true;
 }
 
 static int undelay_request(void *_req)
@@ -2067,7 +2077,7 @@ static void process_message(struct connection *conn, struct buffered_data *in)
 
 	/* At least send_error() and send_reply() expects conn->in == in */
 	assert(conn->in == in);
-	trace_io(conn, in, 0);
+	trace_io(conn, in, "IN");
 
 	if ((unsigned int)type >= XS_TYPE_COUNT || !wire_funcs[type].func) {
 		eprintf("Client unknown operation %i", type);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 04:22:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 04:22:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640141.998007 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Nha-0005e7-Id; Fri, 24 Nov 2023 04:22:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640141.998007; Fri, 24 Nov 2023 04:22: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 1r6Nha-0005dx-Fu; Fri, 24 Nov 2023 04:22:02 +0000
Received: by outflank-mailman (input) for mailman id 640141;
 Fri, 24 Nov 2023 04:22: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6NhZ-0004tg-Fw
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 04:22:01 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 02cac5da-8a81-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 05:22:00 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 88004219C5;
 Thu, 23 Nov 2023 15:23:12 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id A254913AA7;
 Thu, 23 Nov 2023 11:45:07 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id Tm35IkM7X2XTZQAAn2gu4w
 (envelope-from <jgross@suse.com>); Thu, 23 Nov 2023 11: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: 02cac5da-8a81-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700752992; 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=auYIL4ADLnpxv2Ahr1ZD8qgG7UJTmeyfKp6AgbJ0rLA=;
	b=rK9grTyRDb1R2w0YJqS0Zw+KtOKlivPlOQDwIhOoGdtXV62p2/aepeJyeOrjoTqcGwA/Nu
	P1ho/7vjTFRa9VJyzwpQSb1uI1Y9WrqED2C17LKUpl2kwmaqoGrJ7ks4Wr9lRAz1Qa6oro
	G29GpJ2s6wfQoNDkHvwp1dz9nHQOGOQ=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 0/2] Mini-OS: hide mini-os internal symbols
Date: Thu, 23 Nov 2023 12:45:02 +0100
Message-Id: <20231123114504.29329-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ****
X-Spam-Flag: NO
X-Spam-Score: 4.90
X-Spamd-Result: default: False [4.90 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[37.04%]

In order to avoid conflicts due to symbols with the same name when
linking Mini-OS with an application, hide all Mini9-OS internal symbols
from the application by linking the Mini-OS kernel individually and
then removing all symbols which should be used internally only.

Changes in V2:
- added more symbols in patch 2

Juergen Gross (2):
  Mini-OS: link kernel separately
  Mini-OS: keep a positive list of externally visible symbols

 Makefile    |   8 +-
 mini-os.map | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 301 insertions(+), 2 deletions(-)
 create mode 100644 mini-os.map

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 04:22:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 04:22:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640143.998021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Nhd-0005zr-1I; Fri, 24 Nov 2023 04:22:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640143.998021; Fri, 24 Nov 2023 04:22: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 1r6Nhc-0005zE-SN; Fri, 24 Nov 2023 04:22:04 +0000
Received: by outflank-mailman (input) for mailman id 640143;
 Fri, 24 Nov 2023 04:22: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6Nhb-0004tg-GK
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 04:22:03 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04530f53-8a81-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 05:22:02 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 17FB3219C0;
 Thu, 23 Nov 2023 16:08:07 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id D4EC513A82;
 Thu, 23 Nov 2023 16:08:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id nUlJMuZ4X2UBFgAAn2gu4w
 (envelope-from <jgross@suse.com>); Thu, 23 Nov 2023 16: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: 04530f53-8a81-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v2 0/2] Mini-OS: hide mini-os internal symbols
Date: Thu, 23 Nov 2023 17:08:02 +0100
Message-Id: <20231123160804.17621-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: *********************
X-Spamd-Bar: +++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [21.50 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(3.00)[0.999];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[34.94%]
X-Spam-Score: 21.50
X-Rspamd-Queue-Id: 17FB3219C0
X-Spam-Flag: NO

In order to avoid conflicts due to symbols with the same name when
linking Mini-OS with an application, hide all Mini9-OS internal symbols
from the application by linking the Mini-OS kernel individually and
then removing all symbols which should be used internally only.

Changes in V2:
- added more symbols in patch 2

Juergen Gross (2):
  Mini-OS: link kernel separately
  Mini-OS: keep a positive list of externally visible symbols

 Makefile    |   8 +-
 mini-os.map | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 301 insertions(+), 2 deletions(-)
 create mode 100644 mini-os.map

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 04:29:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 04:29:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640165.998031 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Np6-0000CX-R2; Fri, 24 Nov 2023 04:29:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640165.998031; Fri, 24 Nov 2023 04:29: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 1r6Np6-0000CQ-Mo; Fri, 24 Nov 2023 04:29:48 +0000
Received: by outflank-mailman (input) for mailman id 640165;
 Fri, 24 Nov 2023 04:29: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 1r6Np5-0000CG-NX; Fri, 24 Nov 2023 04:29: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 1r6Np5-0002Du-J1; Fri, 24 Nov 2023 04:29: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 1r6Np4-0002Uo-W0; Fri, 24 Nov 2023 04:29:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6Np4-0002NB-Ti; Fri, 24 Nov 2023 04:29: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=PTFK9AhWY773txEeeh6y/6FWNqd4cRTvqNjCwYlIK+A=; b=FfTX2q/lI9LOR4HYzWDlYqws2n
	gsYAkU4hudz3tFFccSsf+eb5D+1RDKFd619vQuxgQiI3w2fDj3UYwFHZ+JB5QVZUt7bx4rFjmUMXo
	ypLhzzb7OtomjNYyHWmz+zkJpaKKfw5vv/0J+qp6O9AVrS6jf/Z6sPqfbsVsQ8DIsico=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183843-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.18-testing test] 183843: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.18-testing:test-amd64-amd64-pygrub:guest-localmigrate/x10:fail:heisenbug
    xen-4.18-testing:test-amd64-i386-qemuu-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    xen-4.18-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.18-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=3f9390fea5c51a6d64596d295902d28931eeca4c
X-Osstest-Versions-That:
    xen=d75f1e9b74314cea91ce435730d4e3539ecca77d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Nov 2023 04:29:46 +0000

flight 183843 xen-4.18-testing real [real]
flight 183849 xen-4.18-testing real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/183843/
http://logs.test-lab.xenproject.org/osstest/logs/183849/

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-pygrub   19 guest-localmigrate/x10 fail pass in 183849-retest
 test-amd64-i386-qemuu-rhel6hvm-amd 14 guest-start/redhat.repeat fail pass in 183849-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183777
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183777
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183777
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183777
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183777
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183777
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183777
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183777
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183777
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183777
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183777
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183777
 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-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-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-amd64-i386-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-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-armhf-armhf-xl-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-xsm 15 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-libvirt     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-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-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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-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-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 xen                  3f9390fea5c51a6d64596d295902d28931eeca4c
baseline version:
 xen                  d75f1e9b74314cea91ce435730d4e3539ecca77d

Last test of basis   183777  2023-11-16 23:10:38 Z    7 days
Testing same since   183843  2023-11-23 11:39:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Tamas K Lengyel <tamas@tklengyel.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                           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-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                                      fail    
 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-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
   d75f1e9b74..3f9390fea5  3f9390fea5c51a6d64596d295902d28931eeca4c -> stable-4.18


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 05:26:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 05:26:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640178.998074 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6OhU-000314-4o; Fri, 24 Nov 2023 05:26:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640178.998074; Fri, 24 Nov 2023 05:26: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 1r6OhT-00030N-Ut; Fri, 24 Nov 2023 05:25:59 +0000
Received: by outflank-mailman (input) for mailman id 640178;
 Fri, 24 Nov 2023 05:25: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 1r6OhS-0002yz-VJ; Fri, 24 Nov 2023 05:25: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 1r6OhS-0003iC-TY; Fri, 24 Nov 2023 05:25: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 1r6OhS-0004y3-E7; Fri, 24 Nov 2023 05:25:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6OhS-00013M-Dh; Fri, 24 Nov 2023 05:25: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=1NrF17o/Gn52LuQKcy2t3lonikACrGMVCaC23OSj6tY=; b=4u9Vs1E2DB/xuw/PQbXFgWfK5Q
	b8U0hanzsM+vfIgzBR2cSMSiF/1VRuKyaJ6ItC3vKPKg5trfFV/EKhAi4lyFnIkm/r7x9IB4/wDb/
	wmiD0uCRVDfySmlXJzs1Jz3fTHdr5hVb8oUeOzQPiA5TWi5IK0JRb5N8HmR+4giNnSXA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183842-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-4.17-testing test] 183842: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-4.17-testing:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-thunderx:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-vhd:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-4.17-testing:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    xen=e1f9cb16e2efbb202f2f8a9aa7c5ff1d392ece33
X-Osstest-Versions-That:
    xen=28f44b603fd86c233726bdc2a11b6325f102471a
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Nov 2023 05:25:58 +0000

flight 183842 xen-4.17-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/183842/

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183760
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183760
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183760
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183760
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183760
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183760
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183760
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183760
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183760
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183760
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183760
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183760
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-vhd 14 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-libvirt     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-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-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                  e1f9cb16e2efbb202f2f8a9aa7c5ff1d392ece33
baseline version:
 xen                  28f44b603fd86c233726bdc2a11b6325f102471a

Last test of basis   183760  2023-11-15 04:51:48 Z    9 days
Testing same since   183842  2023-11-23 11:39:19 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Juergen Gross <jgross@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-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-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
   28f44b603f..e1f9cb16e2  e1f9cb16e2efbb202f2f8a9aa7c5ff1d392ece33 -> stable-4.17


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 07:47:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 07:47:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640190.998083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Qud-0000ro-0m; Fri, 24 Nov 2023 07:47:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640190.998083; Fri, 24 Nov 2023 07:47: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 1r6Quc-0000rg-TU; Fri, 24 Nov 2023 07:47:42 +0000
Received: by outflank-mailman (input) for mailman id 640190;
 Fri, 24 Nov 2023 07:47: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Qub-0000rX-CM
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 07:47:41 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id babeba7c-8a9d-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 08:47:34 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9302.eurprd04.prod.outlook.com (2603:10a6:102:2b8::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 07:47:32 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 07:47: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: babeba7c-8a9d-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VVV8U1rR7WCziZk6Ekr91BGz8fAEPpN/de5iFMjHPcMvr8D07V3cbYA1z0ObtB/bDNxZ4vJEIdon2wWHV5ZbL+jOt9SKssk1X5gFtMp9hy2khV0zD7PhI+OdC8o834bfKPSuDmPwlZ4B1547XBSmPUJjnWyAtiXMVciBKyIMyMEM3dLXKMiKeLccuFe3u+CC5MQGtCTsK6RReSRkM6zL8aF8T0ZNtOef5th62JiceubeHp+6cuiWQKHlDiTjmKjnuDGZLdx4VPoxV4rjdDyZtfeB51BEpGmVXY2m/KF+RejG+BIMF9RIZ6QbD4ZEbkAU0CsBEqGLWP9U991HLxmIwg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1UY4t4xZSm7NT8OJL5t3IH/5GZ/aNPDqG0bik99MIuQ=;
 b=kQKOkZ2ZVgoVj5upM29Oz6iybHWffUbzJqb52kfymBdZdnWy5BKIbx66eKIj6u7+TAM+Jezzb4wA6k/AhDIdhtDRpfq2raj3LU5LLxzTwnOHGM3gOpjT3fJ3lmWuhwA1sM8SYfN1etnuAOrev5uYSeB2MHwox1NjsKXljbhxU6LOnULWQgoXWb9+5D0tD6ASTGAYzjFqSyZkcefjjvHaDj19eUDlUT66tTpCrDP2tzCBMSmLBFwjzgbTJ+n1/pwTNUY4sgh+MHXXdfmKcJzrrrVYXKBnI+/7tbwRIqBkl1exxXvgkRBupc/NzuDRTZD51sgT4N4EbQEkAAZrIiop2g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1UY4t4xZSm7NT8OJL5t3IH/5GZ/aNPDqG0bik99MIuQ=;
 b=MsEWA77mJFU/iwLnByis0UCjNqDVTO/zQO7PfVT7A/6OLuBQf+1Ha0WIhlvVQjMzuKW5l2fZ0T9lrdlT+KYiKvUGEHP4asqvWNanFLebvOpbqXBQf1pTl/jVDNBwAo4QCcE9KWackiB3+MmKBPq9pYB/ucSt0pW1yDE56AtUiFvu6bVamoM/cQQwAIzBteSWpVQQqNT39Q+b6/VNYR1b+pEkNe+CJTWVprdPKLoaxjnI5CHeWP2KRaRngcD7OQwDF48Hj8hMcLfiQid75URYksrSgvhL8dV/z1dVZpEdBfjW48k13IvGBXHjeQRWLWSmSkr2RVQPbSoA70JxRt34rQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a74e8ef3-acc0-48c5-9c0f-e3a617d5ec89@suse.com>
Date: Fri, 24 Nov 2023 08:47:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] xen/sort: address violations of MISRA C:2012 Rule
 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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: <8b84bea9a52d9ae60fc355855bcb046ac5f24686.1700740128.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8b84bea9a52d9ae60fc355855bcb046ac5f24686.1700740128.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0019.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9302:EE_
X-MS-Office365-Filtering-Correlation-Id: 555ddb50-14a7-47cd-21eb-08dbecc19d7f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MUVojCdfj/j9W0NzPBcksGF1e+mwedZ/T7c4NWD8eP06ViwAfHa0565KjRv+jQyk50j1R+7CKBLMf/U86BRPReDkLK8I6PVCpHPKe19neNdRsMk3PaJDWdAzF1qrSvrkkd2FHFqLNpo7GzwDAJEixH10bNNpE/4v0vKY2rC3mfTTpEE+LnHccQ565q2kBCecBWqaycXZrKp40krukpYJHrhYkzzAuTD2iayYm/A9PPNCU/31X9BelSXS6HIfMZUV3ZW441rTQwO8HqTFaR9bnZqe1/XEYkEKoucv0giXiWSwyfPNKomU+zTMA7nT4ADSESEZo6JS2Eh9e6e1mbUYy4Yq7WIp61RpgHPjCWWnm3ddoiHLLFB7Pz4Indo82THCyJKaW21AmzZHZ9usZSDIlNZjJQLpHMSW9gfyuiF09iM9PzbVaIuU77v0qYRuYLEdwisBBYnszFe3OBS6blk2hwHc1tJcoGvu4+Pp3JaneJ5zMIKmBK4fBtl8r8IF11NgREXZGcBcMjMXGgTYxbodX+atfNtSEXEw+YRcNOMlGSFfRm4IkCKKcJnqUy3dZYzJbYMbzFtsWtiKF5sRA7dXmS6OF1IXYYbuqtsYUgathwDl4S715JRvhuUGM40eJD54Yu7yfqzJg/XGyAkOcvsJOg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(376002)(346002)(366004)(136003)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(26005)(6506007)(53546011)(2616005)(6512007)(6486002)(5660300002)(41300700001)(2906002)(478600001)(4326008)(316002)(8936002)(8676002)(6916009)(54906003)(66556008)(66476007)(66946007)(86362001)(31696002)(558084003)(36756003)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UHJKYWJlVlNNQkEwSmYzbDNmNHN0bHB4U2x6R3dSVEJONldkbmZKR3VCb25t?=
 =?utf-8?B?cnFEZ1lRUXk0VmgyOVZuZWJDM0gzTUs0bnYyMHhaZzkzOEdHQ1RKcnovRDM0?=
 =?utf-8?B?cUFNUHU2eE1sUllPUXVDSC92ZThhZC9hMys3S3FXTGIzbnNpZHBQVEJSUitF?=
 =?utf-8?B?QmZXci9Ia3JrZjhZWmJkeVIvQmhsbU9WVEVZTm9PSmZXR3FySnlMUFpHSHlo?=
 =?utf-8?B?YngrZkZuOHM1UXAxbTdkWnVPUTd2QktCcUlnNVUrL09xYXhMNXlSRnVaaEhi?=
 =?utf-8?B?RG9qT3h4dnp1eWd0N0V1cUIvakYrNm9GcTN2SFhRQlczTmJhLzlNQW9GZ25t?=
 =?utf-8?B?Z3pRcTJaeEprTGptZ2YwT2NIZEtXb0lRSlUxanVsQURoQ0JOeGJLNDhkVVJa?=
 =?utf-8?B?L1R6d0hOYmxZdHZPR0xPQjZ2NDl3cHNnUmIzaXgrdGNqQWliWVowSEw0RDhi?=
 =?utf-8?B?WUkvVjdwREgreHVWRjBCQkZTWXk1K1NFM2Zqd2xJbjZhYVNKam4vb2tVN1Fy?=
 =?utf-8?B?ajdobXY0V2ZxTVJmVmR0NFlHS0xVdm12bGkrdnNhRzdKOTBXUDBWdjV6a25m?=
 =?utf-8?B?Z2dZcEtobjRWQjVLZk9YekZ2WFdIU29mVEdQazRnRkJ2SXNJSFVNS21meC83?=
 =?utf-8?B?d0N2SzJOdGxvbTNNR3R5Qk1NVXhsM1plUlUxVGFsVHZQTHVhMzBFNzVkOWlo?=
 =?utf-8?B?dWxiL29XR1JlZ25OVE9RTHJRTWt2ZGNMajBTeDcyVERRbGdtbzFhaUpBN2hP?=
 =?utf-8?B?VVBRV2RpY1JXVHR2QnBPWWhaWGNiZHhubDR3ZGVxVlFyc0QyenYyRGlxUG0z?=
 =?utf-8?B?c2x4TWlUMmh4eVgvMkhNQ2VzWjlzTXNkZW5UQnlYVEFPZlMwMHRBdCs0K2xn?=
 =?utf-8?B?NFcyRG5BRWZCb3pUUndPMWxYZ2hRdHJlY1pKalUvYmVNSFU0d2x3Y2NvcDJv?=
 =?utf-8?B?RkwyZ0I5L2w2alZLSTlsQTFIbVg1Y1lKR0Z5Q1VCVmJyMkdMaVpWcHNMdkhr?=
 =?utf-8?B?Q0RGaVBnZWdqeDNiMmtDRnU0eUxHY1RQN3BTd3l3cnZyR0ZTa1MxaGhPRFZT?=
 =?utf-8?B?VXZtUlFuNEJ2NVJQNWZtR2RLN0tmWUt3cU1pVysySnBDYktIZk8ySWFEWk9s?=
 =?utf-8?B?VitnSHltNzg4ZFJ6REZGK0NFT0laTEJSdlRTNzNUTmQ0Wmg1b2Nlc1Foaytk?=
 =?utf-8?B?djFWZk9qL1lFSndzaE5CdXNPcDhtOXhYYkNKRW45cFVxa1htNmhMOWQzMm9z?=
 =?utf-8?B?S05HdG56S0t5N3p5Vm52cmZyS3Y2UWZxaVorQ1FXY0lIUjlTWjBDcDdYT2ZL?=
 =?utf-8?B?dWJ5Mk1nTGh0enNlK3g2Y2JubkFUUjYxR0E2T2QzS2RBU2RYbHRZbXplbms5?=
 =?utf-8?B?TXhsclVEdU5MZVFNYXJwMk5Ua0dsWFFrNUhnc1ZzV2JzNDlTOWtWTWJoNHZM?=
 =?utf-8?B?UGM5b2puOUNkNzdLNW43K2NMbVJ1SzhGZEdPUTArbHBqZlFWblltUFlaL1ZQ?=
 =?utf-8?B?UmlmbGR0TWMzZHJlS3ZYQmIwOWxIaTl3VjJHWFZPRDBaczJPbGNqYXN0eEhM?=
 =?utf-8?B?NURlY01yYjN2TzZkQ2k2NWwzTUl4dlRqUDVvUlFtbk1TdDVON1F1WW1ZMmda?=
 =?utf-8?B?UWNiMk5hZk9adklVZGhRUzNMRkhXQms3alh2eGJIWWEwdndaa2FsZnJ2cHkv?=
 =?utf-8?B?cGxmYjFkZ1BCWUxuUDhYaVhrbDJJYVU0WTVFd2MzR2tORDhlcS91R2JlOEZ5?=
 =?utf-8?B?d1RUNzY5QnEvNDBOR2N6SUlkK0lma3gzUWZWcFNpZktKR21FZ3llS1FCN3Y0?=
 =?utf-8?B?V3BtM1hkSGZhSFRwVGVGbmx0eTAveW9FVUcvSTBJd0Y4UHR4aHhzaGx6V3FD?=
 =?utf-8?B?U0JJb1F6bmVmZm1CaU5DSmJMRHdQall3RVljZVlqUnZWbEc3eDIzTFE3T0N3?=
 =?utf-8?B?L3MzUWU1YjdwMjN5SW84V1JKSU5XeFRuK0xxNVYwdXVRMW1FNFVjYkg2bmEr?=
 =?utf-8?B?elRxdXp6ZUNERG95UUlKOTFPK2lKT0FDVFZibmc0YUNXbzlnTDUrajRraS8r?=
 =?utf-8?B?Tkxtc1BJNkZJU1E5ZnVkdURCRjRLNGVnTEZSN0ViVGJCUTVEd1ROajdsb3Vm?=
 =?utf-8?Q?p86+Aoryu7MvCHDeQ4El2lfab?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 555ddb50-14a7-47cd-21eb-08dbecc19d7f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 07:47:31.9913
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cu0KOIa9g29XBsnmQo9+pOak3KXN9yWhwy9tvTO+d1pqJ/Ip+xkiq7hUu/e6ZVWaVsRum8m+UDQzt1fFh9Cf6Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9302

On 23.11.2023 13:39, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Fri Nov 24 07:49:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 07:49:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640192.998092 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Qvs-0001Nw-A8; Fri, 24 Nov 2023 07:49:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640192.998092; Fri, 24 Nov 2023 07:49: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 1r6Qvs-0001Np-7G; Fri, 24 Nov 2023 07:49:00 +0000
Received: by outflank-mailman (input) for mailman id 640192;
 Fri, 24 Nov 2023 07:48: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6Qvq-0001Nf-Rx
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 07:48:58 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebb62b90-8a9d-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 08:48:56 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id C91F421BBD;
 Fri, 24 Nov 2023 07:48:55 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 84287139E8;
 Fri, 24 Nov 2023 07:48:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id ulviHmdVYGWPOgAAn2gu4w
 (envelope-from <jgross@suse.com>); Fri, 24 Nov 2023 07:48: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: ebb62b90-8a9d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700812135; 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=sU+C0vHoKvhJD4Uv4mnBRoNOjRD+hZerlysfHrSpe9E=;
	b=hs+esi5z6A1UQFAQsb44lAYtBT60iEkaYuqK6zOtFyidKvF0snqJbnVAxj+nSCOAtVllD6
	EicbiDWUM7hdk11Ioxdq/ZcbXZ8QWMhvjVVrTeuGBHr5CVB3Ym4NWE5oPfcMrOMCR3niL4
	1OIAzZvzyUSLvcaLJEtdjsNhwxcGR7E=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	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>,
	"H. Peter Anvin" <hpa@zytor.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH] x86/xen: fix percpu vcpu_info allocation
Date: Fri, 24 Nov 2023 08:48:52 +0100
Message-Id: <20231124074852.25161-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ****
X-Spam-Flag: NO
X-Spam-Score: 4.70
X-Spamd-Result: default: False [4.70 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_SEVEN(0.00)[10];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-0.00)[40.20%]

Today the percpu struct vcpu_info is allocated via DEFINE_PER_CPU(),
meaning that it could cross a page boundary. In this case registering
it with the hypervisor will fail, resulting in a panic().

This can easily be fixed by using DEFINE_PER_CPU_ALIGNED() instead,
as struct vcpu_info is guaranteed to have a size of 64 bytes, matching
the cache line size of x86 64-bit processors (Xen doesn't support
32-bit processors).

Fixes: 5ead97c84fa7 ("xen: Core Xen implementation")
Signed-off-by: Juergen Gross <jgross@suse.com>
---
 arch/x86/xen/enlighten.c | 6 +++++-
 arch/x86/xen/xen-ops.h   | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/arch/x86/xen/enlighten.c b/arch/x86/xen/enlighten.c
index 0337392a3121..3c61bb98c10e 100644
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -33,9 +33,12 @@ EXPORT_SYMBOL_GPL(hypercall_page);
  * and xen_vcpu_setup for details. By default it points to share_info->vcpu_info
  * but during boot it is switched to point to xen_vcpu_info.
  * The pointer is used in xen_evtchn_do_upcall to acknowledge pending events.
+ * Make sure that xen_vcpu_info doesn't cross a page boundary by making it
+ * cache-line aligned (the struct is guaranteed to have a size of 64 bytes,
+ * which matches the cache line size of 64-bit x86 processors).
  */
 DEFINE_PER_CPU(struct vcpu_info *, xen_vcpu);
-DEFINE_PER_CPU(struct vcpu_info, xen_vcpu_info);
+DEFINE_PER_CPU_ALIGNED(struct vcpu_info, xen_vcpu_info);
 
 /* Linux <-> Xen vCPU id mapping */
 DEFINE_PER_CPU(uint32_t, xen_vcpu_id);
@@ -160,6 +163,7 @@ void xen_vcpu_setup(int cpu)
 	int err;
 	struct vcpu_info *vcpup;
 
+	BUILD_BUG_ON(sizeof(*vcpup) > SMP_CACHE_BYTES);
 	BUG_ON(HYPERVISOR_shared_info == &xen_dummy_shared_info);
 
 	/*
diff --git a/arch/x86/xen/xen-ops.h b/arch/x86/xen/xen-ops.h
index 408a2aa66c69..a87ab36889e7 100644
--- a/arch/x86/xen/xen-ops.h
+++ b/arch/x86/xen/xen-ops.h
@@ -21,7 +21,7 @@ extern void *xen_initial_gdt;
 struct trap_info;
 void xen_copy_trap_info(struct trap_info *traps);
 
-DECLARE_PER_CPU(struct vcpu_info, xen_vcpu_info);
+DECLARE_PER_CPU_ALIGNED(struct vcpu_info, xen_vcpu_info);
 DECLARE_PER_CPU(unsigned long, xen_cr3);
 DECLARE_PER_CPU(unsigned long, xen_current_cr3);
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:07:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:07:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640200.998103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6RDO-0005PG-4v; Fri, 24 Nov 2023 08:07:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640200.998103; Fri, 24 Nov 2023 08:07: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 1r6RDO-0005P9-1x; Fri, 24 Nov 2023 08:07:06 +0000
Received: by outflank-mailman (input) for mailman id 640200;
 Fri, 24 Nov 2023 08: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6RDM-0005P2-Dm
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:07:04 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2045.outbound.protection.outlook.com [40.107.7.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e655410-8aa0-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:06:55 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8203.eurprd04.prod.outlook.com (2603:10a6:10:242::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:06:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:06: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: 6e655410-8aa0-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E+bdnk9X+V75z8skkxKj+pZ56G3N6KXEqiYAyJsN2zorlbPRt7aP3gwFpxj9HgDWdTtk7Eq9PPNGqwAu8yuk7eZTZQH19uEfioYiYQQoNvdhT8SPJhaLcjcSlvemkqgvGgNhIuO7/GMbweDG/U8F+rccyV+q5GEy2oS+I4UFzOzmu4SCo6Tn9r8WZQBqzy3T/8qtpNAePfCT0EPJB2B3DRWUiOkIXlg0z3FeQIWInnV3mmGSQjI1BPH6qhVsTlz2R2mpx3SsEtEg2P/H+YshNPFPce5oen3HEYnsTL39sDhyqzGDUH//oUZ+993ostuZhVhxCpaUmE0Gh5m34+wl6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ox7qnDEJf8z4LNTvfU5qnqmobBlvukQnZSDw0EyR4Ks=;
 b=IpgYvU60Ajd0RAzUKJ9MO/DTQa6Hq4HWWVNdbK8uAYGk+1IoaX5Zp3rDez25OJ1JHQHvHO6TN7RK2dVM3TLGf6Bj/RwdfxkqaHYv/NyvICaQyLaVxEF1OH2HUTvQervsFRc3b9E7uuQCGmls9IVZbdyNF5hm656VybCOk6Cq3H/BLFfRFu4xkPl5GrOBG3NDW2loQklcVuyl+/MCvs8LTg190dURmdmeS1RnneNFemUGnJhCcJRhWCXHNYHw1mduUisNDVWFSo9ES62ceD87H6w136fE5vRCurFqjbOKGtJVNBVjCEIa2/fOuKdJhq6k0eA3aClgTkGF1oYN1X86pA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ox7qnDEJf8z4LNTvfU5qnqmobBlvukQnZSDw0EyR4Ks=;
 b=DXLibEMFBPUWxYQ1uQJzIvWIcqkKzoDNOSRV1k36jV5jxdlb5aiFyyq+qPF6lh2PEB7Q1yDaCKBc+w62DqgWd2e3/jy1FPhX88BueUT73yNE+B2UQUZlFtWAbKCu5ZH84c+mICh71xkxNvavpnbCZkRpO1Pbsdge1dA5+O4MJP5dlMzIoDdLcYjA/WvShzgcLW+V96ikhGeTI2vlZ1daqcRZo/JBLoaoTOcDItKtxkQHmypXHDZbwliHNDNT6v9zRfSf2hyWiWP6BWqjexa6a9hDysovyws2zAgCy5LGCqsWMu+z811dlnh8j0WmOaem9WvOLAgcQ0/zQl6rG1NyxQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <790c0480-7235-4a2a-929e-973e7aa27864@suse.com>
Date: Fri, 24 Nov 2023 09:06:20 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v5 1/3] arm/bitops: encapsulate violation of MISRA
 C:2012 Rule 10.1
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1700724350.git.nicola.vetrini@bugseng.com>
 <c7728964a8e6afdb1f52ed93f3d7459cc72b85ee.1700724350.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c7728964a8e6afdb1f52ed93f3d7459cc72b85ee.1700724350.git.nicola.vetrini@bugseng.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8203:EE_
X-MS-Office365-Filtering-Correlation-Id: fba79b83-2cd6-4f26-79b4-08dbecc43fd7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6QECApVTLLDKPOvOOTqXhVSZzj1RbJOQrv8caiBPV7pLvpGXrrDSoDdBrZbz/xEHfUjjbFroSidf02r8X3EevgR/RrRCXB5EJnnpw8JfR0hEAqoLtkDXcbROyFcGayUZwf/up9FtNlyyRuhsVUnEH2S4uKxZM4Z7n7vI2D95Wu5urNpQtDCnm8VDWDaFg4Yqqya1EbQCTl5ottSIb5rN9DC9B4V/6V2r3y7F91TjrFyUKuhEAuvMBuFaVVJAmIvLVH4d4WiFaX/N8Vf6ltQLgqbJuot14vSSdfX6U1cpbx9cdy/MNYv1QM25+FF/yBdxVoeDkw+gS4EB2q1CmnxbisQrp4lX/hanbT+lFI3doowmRdd0qxXfEknvsA2B4eYxapGEp1k0Vhx8zsAWRVDrf0ZDksuOG3Xh7T4Yk2+EevN1x3wf+TK/jzeH3gzk/BqW0dLQCyTScGEqchDrMDppwFUlUq8fICWYNIpyXBNjydIIwJM4tVwVgTbA5VomKKHouqWILe+z/Axd9GfKFMZ6o/NBwgIW13/BcTTxSbgp+kuu+I2RNYoEXJOOcQ0VuAbgOH6ut37rpDd9ETsW+9CfwGIomGnXtCeI+mcp+k8COhdVlblS+TrYB750/vszDdbARifROzjLKwsYwSZTwFmwmg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(396003)(136003)(39860400002)(230922051799003)(64100799003)(1800799012)(451199024)(186009)(31686004)(26005)(66946007)(2906002)(66476007)(66556008)(4744005)(7416002)(2616005)(6916009)(316002)(54906003)(38100700002)(4326008)(8936002)(8676002)(6486002)(478600001)(5660300002)(53546011)(36756003)(41300700001)(6506007)(6512007)(31696002)(86362001)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVc2WlgrQmI3L3hsdi9WeTk0ZWw3UkV3bWdkS3dkT09MRlJ4U2tmRkNXdklz?=
 =?utf-8?B?anErWjgvUit2eThPN0FiMFdpTzlmZllvV2lMd3JsWEk0K0U4WXdvRjNYN3BD?=
 =?utf-8?B?SjVJNUFBVEVWazQrWFJMYlRldEtmb3preUtpTlYvc0hTTEFMZEpaUnZIU3ZI?=
 =?utf-8?B?aW1vNmFzWGVuY3dyR1dJQS9GcE1nTTFzUnNHRUpYMFBHMU92ajF6TG03RExY?=
 =?utf-8?B?TGRxK0tXYWk4TU1sSjBWVGxEaDh1VHpnK3RiOUQzYzdhS280TnQxb0pZVXJQ?=
 =?utf-8?B?OHRoSjNNVnVGbTFRZHBTNXM3VWRXZmJqbjAzVHJVdzRtL3VHbkNxaWJLbmc4?=
 =?utf-8?B?SEZoK28yOHY0Wk9FdzRKV2xYdDF3ZmhlTndRTWJnR0RsQ1NyNFBIeUtBK0hZ?=
 =?utf-8?B?emlwYVJGdVFkbE1QU3RQVlYyUGk4TW94QVZTWit5Vm9YS3h4NlVHV3lPRWhF?=
 =?utf-8?B?R0hoaGhGUTRJaWRWVmFCOVNGeTN0WE04YXRKSTB1RVZRR3ZxTGZKV3UvWVNZ?=
 =?utf-8?B?UUtHYUQ0V0RkRWdUSnozbGgrN01IaEpYbTg1RkZzZlJtSzRydWxwTm90Z3o3?=
 =?utf-8?B?Wmw4cEMycXNHZ3VmdUdvMWdCUmpUZUx2b3hsSUhqSnh4QTIxZ0xVejdKNGNQ?=
 =?utf-8?B?eVd6bUFNeDhWVEU2NFVhajl4TGVCbVJ6TGFvUkt0MXRNK0ZOV3dwVjVGUk5n?=
 =?utf-8?B?YXFzQlB4L2U3eFVXVjNFUDdmMmdPWGxLa09Qdmk1SWF6WjRPakFQbE9wSG9E?=
 =?utf-8?B?a0s5TllLSkdVMWtvSXBMVjJHZmEvNHhQQVNwdE55endRblBiNnp2MVg2Q3hp?=
 =?utf-8?B?dlkxRWphR1Y2eEpBcVJTbi9PTEVBbXhZRmx6WEtpYXhrU2xZTVRDUFdkS004?=
 =?utf-8?B?enVtU3kzNTJVTVlISkx6RVdieUpXRldKR21FVzZ6M1FCRUZKLzdXa3M4bFBH?=
 =?utf-8?B?TXVmaHN5Qmh1Nzk4OUljbGhaOTdSUmhUUXhacFpJdThGWmdPYkk4WWphYVFz?=
 =?utf-8?B?N3dJVzJ0a0xyYXM5My9zeWtQaUMyNXRwaW1yNjhrZ3FkN2RRZmhsSlZ4NWFD?=
 =?utf-8?B?bGNxL3hqdURiM3pPMEZhekNzQmVLRnpJdHl3ME0xaklWNkxZaG1KZkNyVUJi?=
 =?utf-8?B?NVJDOVpZWFdVOGgyNnkxN1hTMlRicktNQ3UwcjI2QVdkWW9XZlBDMTdsRFdV?=
 =?utf-8?B?OEU4YWZZSGtVVUFVWEZ1UGNnSk9iUEtEV2pMMXo3ZXdORFl2dVQrUXppYUFW?=
 =?utf-8?B?OEszQmZxWG9hemQ5bFYxbEZ1K3ZnYkZWc3FUeG4wNitMa1pHeXRvNDc5QXBH?=
 =?utf-8?B?bmR0Z1pBQWRvWHFaOVlEZ0FiQTY0MXdDWkpkY0JrempGOHNuWG9MS1NlYWtI?=
 =?utf-8?B?UmxSODRKcHBUdkUrOWJJRWxObDN3RHFOL1lEZ2xKZEV6R2dQK1dDTzZhbUcv?=
 =?utf-8?B?Q3Y1c3RURndZWXlZYzJTbWVnT2x2TkFxY05xdFRkU3ZPdm9RbUx1U1RRa1hx?=
 =?utf-8?B?NXM2bnl6RThYdjNaVEdKMmZ0U2hPZ3lFUlFHZVpHSmpNZ2xqV212NGNaenRL?=
 =?utf-8?B?N1krUUd3R3dZaGRMbk1aQVJYenlpU2tsbDRad005eklPVXBPK25RdzFBeGh1?=
 =?utf-8?B?RlVhaTVieTZxMGRYOHhJU3oyYkordzBPMDlOODNzdG5TSHRSZmhaWXBDNzlx?=
 =?utf-8?B?aEhKVkpRVERtUjZBR0RYKzFzc2h3Y2xzZll0NWZ2S2xGNVFhNnM3bW9taU5i?=
 =?utf-8?B?cktFUERXK25wZk1UbDhjNkM2MTc0UG5idDBOT29BcmlSakxMdXJBazZZNmIv?=
 =?utf-8?B?R2twbXdVTXVXcVVKMS9GTTFQTkhMaXM4TWtNZmlZVER4NmJBQVpqKy9qK2F3?=
 =?utf-8?B?RTZQeXhQNEtPMDYzejVYZnJaQ1h5b1Ayc0FpWG4zS203Y01DN3ZKOUhTZjlk?=
 =?utf-8?B?UHRxQXZQWHB5UkVPVmlQdkVBVUMzZDVXRXNyYUJNMFVVenNzcmFKaUNxY2VC?=
 =?utf-8?B?T2I5TituS3BJVWZ1OW8xN2NwN3M2ekVWK2FZaDFoL3ZKc0YzVTNoUUxxbS8x?=
 =?utf-8?B?OWVKUHhDRXM2eFdBc0wvYy84Rjd5VWhtVGczcko3aHZTN29zR0g1bHFoWXgx?=
 =?utf-8?Q?yPrJ1bSwuUDYSraUYbICEzuYS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fba79b83-2cd6-4f26-79b4-08dbecc43fd7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:06:23.3345
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: x5Vv/9LswS1pu3DHHRWYH4ypOQQYl6AlI0zAFnopiZFTVtTnNZ0GD3ImH4oXjPfJYzUh8FeANNKglN7CBWvyBA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8203

On 23.11.2023 08:37, Nicola Vetrini wrote:
> The definitions of ffs{l}? violate Rule 10.1, by using the well-known
> pattern (x & -x); its usage is wrapped by the ISOLATE_LSB macro.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

This patch failed my pre-push build test; apparently xen/macros.h needs
including explicitly.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:12:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:12:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640207.998112 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6RIC-0007LC-MP; Fri, 24 Nov 2023 08:12:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640207.998112; Fri, 24 Nov 2023 08:12: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 1r6RIC-0007L5-Jn; Fri, 24 Nov 2023 08:12:04 +0000
Received: by outflank-mailman (input) for mailman id 640207;
 Fri, 24 Nov 2023 08: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=5NGl=HF=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r6RIB-0007Kz-LP
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:12:03 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 210ecbbe-8aa1-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:11:54 +0100 (CET)
Received: from nico.bugseng.com (unknown [193.207.96.115])
 by support.bugseng.com (Postfix) with ESMTPSA id 80F284EE073C;
 Fri, 24 Nov 2023 09:11:51 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 210ecbbe-8aa1-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	jbeulich@suse.com,
	andrew.cooper3@citrix.com,
	roger.pau@citrix.com,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Wei Liu <wl@xen.org>,
	Julien Grall <jgrall@amazon.com>
Subject: [XEN PATCH v4] xen: replace some occurrences of SAF-1-safe with asmlinkage attribute
Date: Fri, 24 Nov 2023 09:11:47 +0100
Message-Id: <edbf9e56a404a456db26445ce0d79b0c178a54f4.1700813413.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
by the asmlinkage pseudo-attribute, for the sake of uniformity.

asmlinkage may in the future have the effect of altering the calling
convention, therefore three special where the calling convention is
altered by another macro retain the textual deviation.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
This patch does not depend on any other patch.

Changes in v2:
- Edit safe.json.
- Remove mention of SAF-1-safe in deviations.rst.
Changes in v3:
- Sorted #include-s and rebased against
7ad0c774e474 ("x86/boot: tidy #include-s")
Changes in v4:
- Drop functions that shouldn't have the attribute added
- Drop the change in safe.json, as now SAF-1-safe is still used
- Edited the commit message accordingly
---
 xen/arch/arm/cpuerrata.c |  7 +++----
 xen/arch/arm/setup.c     |  5 ++---
 xen/arch/arm/smpboot.c   |  3 +--
 xen/arch/arm/traps.c     | 21 +++++++--------------
 xen/arch/x86/extable.c   |  3 +--
 xen/arch/x86/setup.c     |  3 +--
 xen/arch/x86/traps.c     | 27 +++++++++------------------
 7 files changed, 24 insertions(+), 45 deletions(-)

diff --git a/xen/arch/arm/cpuerrata.c b/xen/arch/arm/cpuerrata.c
index 9137958fb682..a28fa6ac78cc 100644
--- a/xen/arch/arm/cpuerrata.c
+++ b/xen/arch/arm/cpuerrata.c
@@ -370,10 +370,9 @@ custom_param("spec-ctrl", parse_spec_ctrl);
 
 /* Arm64 only for now as for Arm32 the workaround is currently handled in C. */
 #ifdef CONFIG_ARM_64
-/* SAF-1-safe */
-void __init arm_enable_wa2_handling(const struct alt_instr *alt,
-                                    const uint32_t *origptr,
-                                    uint32_t *updptr, int nr_inst)
+void asmlinkage __init arm_enable_wa2_handling(const struct alt_instr *alt,
+                                               const uint32_t *origptr,
+                                               uint32_t *updptr, int nr_inst)
 {
     BUG_ON(nr_inst != 1);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 9b9018574919..188ddd490437 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -759,9 +759,8 @@ static bool __init is_dom0less_mode(void)
 size_t __read_mostly dcache_line_bytes;
 
 /* C entry point for boot CPU */
-/* SAF-1-safe */
-void __init start_xen(unsigned long boot_phys_offset,
-                      unsigned long fdt_paddr)
+void asmlinkage __init start_xen(unsigned long boot_phys_offset,
+                                 unsigned long fdt_paddr)
 {
     size_t fdt_size;
     const char *cmdline;
diff --git a/xen/arch/arm/smpboot.c b/xen/arch/arm/smpboot.c
index 36db6b8880d3..7110bc11fc05 100644
--- a/xen/arch/arm/smpboot.c
+++ b/xen/arch/arm/smpboot.c
@@ -303,8 +303,7 @@ smp_prepare_cpus(void)
 }
 
 /* Boot the current CPU */
-/* SAF-1-safe */
-void start_secondary(void)
+void asmlinkage start_secondary(void)
 {
     unsigned int cpuid = init_data.cpuid;
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 8492e2b7bbb8..3784e8276ef6 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -161,8 +161,7 @@ void init_traps(void)
     isb();
 }
 
-/* SAF-1-safe */
-void __div0(void)
+void asmlinkage __div0(void)
 {
     printk("Division by zero in hypervisor.\n");
     BUG();
@@ -1955,8 +1954,7 @@ static inline bool needs_ssbd_flip(struct vcpu *v)
  * Actions that needs to be done after entering the hypervisor from the
  * guest and before the interrupts are unmasked.
  */
-/* SAF-1-safe */
-void enter_hypervisor_from_guest_preirq(void)
+void asmlinkage enter_hypervisor_from_guest_preirq(void)
 {
     struct vcpu *v = current;
 
@@ -1970,8 +1968,7 @@ void enter_hypervisor_from_guest_preirq(void)
  * guest and before we handle any request. Depending on the exception trap,
  * this may be called with interrupts unmasked.
  */
-/* SAF-1-safe */
-void enter_hypervisor_from_guest(void)
+void asmlinkage enter_hypervisor_from_guest(void)
 {
     struct vcpu *v = current;
 
@@ -1999,8 +1996,7 @@ void enter_hypervisor_from_guest(void)
     vgic_sync_from_lrs(v);
 }
 
-/* SAF-1-safe */
-void do_trap_guest_sync(struct cpu_user_regs *regs)
+void asmlinkage do_trap_guest_sync(struct cpu_user_regs *regs)
 {
     const union hsr hsr = { .bits = regs->hsr };
 
@@ -2195,14 +2191,12 @@ void do_trap_guest_serror(struct cpu_user_regs *regs)
     __do_trap_serror(regs, true);
 }
 
-/* SAF-1-safe */
-void do_trap_irq(struct cpu_user_regs *regs)
+void asmlinkage do_trap_irq(struct cpu_user_regs *regs)
 {
     gic_interrupt(regs, 0);
 }
 
-/* SAF-1-safe */
-void do_trap_fiq(struct cpu_user_regs *regs)
+void asmlinkage do_trap_fiq(struct cpu_user_regs *regs)
 {
     gic_interrupt(regs, 1);
 }
@@ -2275,8 +2269,7 @@ static bool check_for_vcpu_work(void)
  *
  * The function will return with IRQ masked.
  */
-/* SAF-1-safe */
-void leave_hypervisor_to_guest(void)
+void asmlinkage leave_hypervisor_to_guest(void)
 {
     local_irq_disable();
 
diff --git a/xen/arch/x86/extable.c b/xen/arch/x86/extable.c
index 652010f4138c..1555b9408f42 100644
--- a/xen/arch/x86/extable.c
+++ b/xen/arch/x86/extable.c
@@ -194,8 +194,7 @@ static int __init cf_check stub_selftest(void)
 __initcall(stub_selftest);
 #endif
 
-/* SAF-1-safe */
-unsigned long search_pre_exception_table(struct cpu_user_regs *regs)
+unsigned long asmlinkage search_pre_exception_table(struct cpu_user_regs *regs)
 {
     unsigned long addr = regs->rip;
     unsigned long fixup = search_one_extable(
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index f6b8a3efd752..3cba2be0af6c 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -976,8 +976,7 @@ static struct domain *__init create_dom0(const module_t *image,
 /* How much of the directmap is prebuilt at compile time. */
 #define PREBUILT_MAP_LIMIT (1 << L2_PAGETABLE_SHIFT)
 
-/* SAF-1-safe */
-void __init noreturn __start_xen(unsigned long mbi_p)
+void asmlinkage __init noreturn __start_xen(unsigned long mbi_p)
 {
     const char *memmap_type = NULL, *loader, *cmdline = "";
     char *kextra;
diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
index f2a77003ab81..7724306116e9 100644
--- a/xen/arch/x86/traps.c
+++ b/xen/arch/x86/traps.c
@@ -833,8 +833,7 @@ void fatal_trap(const struct cpu_user_regs *regs, bool show_remote)
           (regs->eflags & X86_EFLAGS_IF) ? "" : " IN INTERRUPT CONTEXT");
 }
 
-/* SAF-1-safe */
-void do_unhandled_trap(struct cpu_user_regs *regs)
+void asmlinkage do_unhandled_trap(struct cpu_user_regs *regs)
 {
     unsigned int trapnr = regs->entry_vector;
 
@@ -921,8 +920,7 @@ static bool extable_fixup(struct cpu_user_regs *regs, bool print)
     return true;
 }
 
-/* SAF-1-safe */
-void do_trap(struct cpu_user_regs *regs)
+void asmlinkage do_trap(struct cpu_user_regs *regs)
 {
     unsigned int trapnr = regs->entry_vector;
 
@@ -1154,8 +1152,7 @@ void cpuid_hypervisor_leaves(const struct vcpu *v, uint32_t leaf,
     }
 }
 
-/* SAF-1-safe */
-void do_invalid_op(struct cpu_user_regs *regs)
+void asmlinkage do_invalid_op(struct cpu_user_regs *regs)
 {
     u8 bug_insn[2];
     const void *eip = (const void *)regs->rip;
@@ -1200,8 +1197,7 @@ void do_invalid_op(struct cpu_user_regs *regs)
     panic("FATAL TRAP: vector = %d (invalid opcode)\n", X86_EXC_UD);
 }
 
-/* SAF-1-safe */
-void do_int3(struct cpu_user_regs *regs)
+void asmlinkage do_int3(struct cpu_user_regs *regs)
 {
     struct vcpu *curr = current;
 
@@ -1568,8 +1564,7 @@ static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs)
     return 0;
 }
 
-/* SAF-1-safe */
-void do_page_fault(struct cpu_user_regs *regs)
+void asmlinkage do_page_fault(struct cpu_user_regs *regs)
 {
     unsigned long addr;
     unsigned int error_code;
@@ -1646,8 +1641,7 @@ void do_page_fault(struct cpu_user_regs *regs)
  * during early boot (an issue was seen once, but was most likely a hardware
  * problem).
  */
-/* SAF-1-safe */
-void __init do_early_page_fault(struct cpu_user_regs *regs)
+void asmlinkage __init do_early_page_fault(struct cpu_user_regs *regs)
 {
     static unsigned int __initdata stuck;
     static unsigned long __initdata prev_eip, prev_cr2;
@@ -1847,8 +1841,7 @@ void trigger_nmi_continuation(void)
     apic_wait_icr_idle();
 }
 
-/* SAF-1-safe */
-void do_device_not_available(struct cpu_user_regs *regs)
+void asmlinkage do_device_not_available(struct cpu_user_regs *regs)
 {
 #ifdef CONFIG_PV
     struct vcpu *curr = current;
@@ -1886,8 +1879,7 @@ void do_device_not_available(struct cpu_user_regs *regs)
 
 void nocall sysenter_eflags_saved(void);
 
-/* SAF-1-safe */
-void do_debug(struct cpu_user_regs *regs)
+void asmlinkage do_debug(struct cpu_user_regs *regs)
 {
     unsigned long dr6;
     struct vcpu *v = current;
@@ -2012,8 +2004,7 @@ void do_debug(struct cpu_user_regs *regs)
     pv_inject_hw_exception(X86_EXC_DB, X86_EVENT_NO_EC);
 }
 
-/* SAF-1-safe */
-void do_entry_CP(struct cpu_user_regs *regs)
+void asmlinkage do_entry_CP(struct cpu_user_regs *regs)
 {
     static const char errors[][10] = {
         [1] = "near ret",
-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:16:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:16:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640213.998123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6RM0-00089L-9n; Fri, 24 Nov 2023 08:16:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640213.998123; Fri, 24 Nov 2023 08:16: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 1r6RM0-00089E-65; Fri, 24 Nov 2023 08:16:00 +0000
Received: by outflank-mailman (input) for mailman id 640213;
 Fri, 24 Nov 2023 08:15: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=5NGl=HF=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r6RLy-000898-Q8
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:15:58 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b054c1a2-8aa1-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:15:54 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 97BD64EE073C;
 Fri, 24 Nov 2023 09:15:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b054c1a2-8aa1-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Fri, 24 Nov 2023 09:15:54 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>, Bertrand
 Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v5 1/3] arm/bitops: encapsulate violation of MISRA
 C:2012 Rule 10.1
In-Reply-To: <790c0480-7235-4a2a-929e-973e7aa27864@suse.com>
References: <cover.1700724350.git.nicola.vetrini@bugseng.com>
 <c7728964a8e6afdb1f52ed93f3d7459cc72b85ee.1700724350.git.nicola.vetrini@bugseng.com>
 <790c0480-7235-4a2a-929e-973e7aa27864@suse.com>
Message-ID: <7c07e93ad4c050a421ec97f832d0a1e5@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-24 09:06, Jan Beulich wrote:
> On 23.11.2023 08:37, Nicola Vetrini wrote:
>> The definitions of ffs{l}? violate Rule 10.1, by using the well-known
>> pattern (x & -x); its usage is wrapped by the ISOLATE_LSB macro.
>> 
>> No functional change.
>> 
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> This patch failed my pre-push build test; apparently xen/macros.h needs
> including explicitly.
> 
> Jan

Yes, indeed. I must have dropped that change when experimenting with 
single evaluation and then never reinstated it.
-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:35:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:35:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640217.998133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6RfB-0003Wj-RH; Fri, 24 Nov 2023 08:35:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640217.998133; Fri, 24 Nov 2023 08:35: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 1r6RfB-0003Wc-Og; Fri, 24 Nov 2023 08:35:49 +0000
Received: by outflank-mailman (input) for mailman id 640217;
 Fri, 24 Nov 2023 08:35: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6RfA-0003Rm-8C
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:35:48 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2050.outbound.protection.outlook.com [40.107.13.50])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 76f6161a-8aa4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 09:35:47 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8526.eurprd04.prod.outlook.com (2603:10a6:102:211::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:35:17 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:35: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: 76f6161a-8aa4-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c59DMaxJnKnt3x1uLw9W34NHrimtE9cKM+Gn2SsiFEtglgMwye3dcPqTlkRla5bdTu5JLPGwTn4XkwfMdw+4UwU9gKjwZ7uFqtpBRq/gQ2f5yqOfUsWbYbNdDEPp/1hYwMkH8RraV8PL/mw2Vdd9R3cG/Uf+Z3z5cOi7nrPNiljK9S73w7zO0oIx1l0+0g4QMnZiH4AU2gMswpmA+L9v8J6UVNC0UTw4CZaoKpGywXl62ee9v5yeOWhMI7A15867H0SsUP1v/qJFHrspSwzFr/Am5yOIyvvaxg7JowBpdkaNjG6kz1P2zSPI8yKPJ3ZrxlUlmwJQ+eNCbTexEFByAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HQAKd+mN2ErHr24nvgdiF5gstKYQ97TebakfHDsT2mI=;
 b=Qg2BsD43rv/9TOYXWfNVB2ILvfntTuazl3dK90/zrI6vFFFq3YAggqvdzjVJTY3lKuoJUV+IE+daSeSNZAyokmwqX5fgRrEY7kacjF1T+XmS54mAwp2dBgn7XdRMDW4zdvG8CtlkIcycQHYCC81xFUN35ZOQWeBoepYQZDG8kxfehCpoQLsCqYad4M6YvO+199+8iccyb5c5Ahrnc085UkzPsK7FF3SasouI3NiuNJ5bWSFP+guXqxtwk36Gg9nNAf7+MBAgtBjH162bhQchDLusfaJyHRWRKoa/eGnvTbg2yk7snU3uf+DvUmfvRrfnCPa0jBvaG6i2i4Mma1UfbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HQAKd+mN2ErHr24nvgdiF5gstKYQ97TebakfHDsT2mI=;
 b=09v6F4sQpexQ2EQXBX64Gf3oSxPGPW9ck+nKUHxt/5GIcKyWqZhDlcEmG/btVGW3lwjqZNDT/jE160nCi57pBgSyATNrgU3csTyQq9+PLyZBMRlDlqs4BeYCjk4UqFX1yWG53OUMX6B9PYzrnJ34bl4TUhX6QKTNe3iSyvGCz9+/7K75hbwsv41AStgH9K/cNxzWFwKVIZ02Qmf8RwKigejw8iHp5fACpZAnhJdH1bR0Kx6yFrbfCP99iHACFZODHKzIuNGfzxMstpA7C4C08K7kP8Un3yr1y6HB3zN5ae2fsY4PW2pxOqNUvXyg7FifGfsdDy/4GWRJOLarv0wRQg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Date: Fri, 24 Nov 2023 09:35:15 +0100
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v2 00/15] x86/HVM: misc tidying
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
Content-Language: en-US
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8526:EE_
X-MS-Office365-Filtering-Correlation-Id: f0a741ec-ee95-42c7-9eab-08dbecc84967
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7jVZbiHmfHQYgkQIVmlWWq2jiqjali93AJf7s8I4n0J7A/LoERngPyEkL9031ESYC5M++zPd/tenwaCZr2cyV0wrqMeLBJ7jy0bYb+ZpzwFGgAN1NS+ojasfkRS4sdS62NxQ7t7uc5p1HS3eIjL12yfduDIl38iRtLTV1bGSl26X9CPpUYb/YM1hUaBxn8vA1ZHHaBjyu3GbSdZze6TSkeTjlTraT9GdOwTymjMnLeujyo7tI+R0V95f1IvCy5XcvlJ1R8di/tbt729XVVLKZcCtlTMpBsLqUf5FGnxD0ApCmXdYg5mK5+5tcFAnC6sZtaQGvjGV9c7e0reL9/6dji37pg5Da+QximKJmkxPbg6Od8k5DvqWHb3P3SfuDsz5H/B82wf/zeVuFes+L01f1N/t4HQrKmVX8dm7peIZcrYpfXjRs13ixZWXl8qs/uwDwN8ZIoIqM8Owdn4gOB5/NR2uq/g2ldpIYwEIE0mbMxZSlfKDMgXQkzmmipm/HzTD+VrjDu/VY6u2AfEMI1OuAjMMLfbXF1aIP8PXiji3XxYkH0WhtBrdlbo8Ej64Ooc6b8jdFZH/IsnvcRWKtudq7F8JxIi+iZQZH8klG6esxL1zyuz3kBcKyE9cqHqGRcGpL/N3wCXtsTp5hmHmqKKirA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(376002)(136003)(366004)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(4744005)(2906002)(5660300002)(36756003)(31696002)(86362001)(41300700001)(38100700002)(66946007)(6916009)(66476007)(66556008)(6512007)(26005)(2616005)(54906003)(316002)(478600001)(6486002)(31686004)(6506007)(4326008)(8676002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?U25VcFVwZ2I5T2hSOHVpTUJ5VjVOaVdkb3lMVXFyQ2ZrYkpTS1k1S1Mwbm1H?=
 =?utf-8?B?aWdkOEtYbUhYczJyN2hmNkpFdjR2QXVCNkEyMjZzSG1qdFQvU3dwdGxWSGJF?=
 =?utf-8?B?eGJLMC82U2MySGlXMEhCTlhuZ2ZtOUdYM2UzK0RpSjVVaWt1UGhVNDkyVXpO?=
 =?utf-8?B?NGhxeEVDY2tvMlZ5Z3BYa0wvY2h3UExMZmlZMHFKcTNSZHRZT0tWTzl3OU5S?=
 =?utf-8?B?ZDNpSjgvczVLRS9yNTZPTFQvWmpaRXFwZVNDejhjWmtkVXB1emZMaENrRnRp?=
 =?utf-8?B?cnFiSFZGa2JnV2xkTVk2dmh1dDFBYmpucTc5WDVkRWNubWFaem42dmplWVJN?=
 =?utf-8?B?cmF4ZlFxalhCQXFleDRmaHhqUldySk44aGEzN3JuRjhuaGd5SGtSM0h0dmN4?=
 =?utf-8?B?WHpFMHN1WllIcmpFTkxPVEJIUFFzVmhKOFZyNUdMellzOS9HTVE2L2VXaVQ5?=
 =?utf-8?B?OXdhTmh1YTVRQWNJa0R1ZmFQRDIvSU00TU04MHZ6andiNndMU1h1MGpKeDB3?=
 =?utf-8?B?SnJpU2JuZ3U1VHFRZGlmMTA2b0c2dXBIMmd6TmxOTDY3YU1md0NDdEtJbGN4?=
 =?utf-8?B?RW8vcm12RktuVmR2RWZYNzdWTll2TXcyN056Mm5FRElURkJHamZZb3RDRHFR?=
 =?utf-8?B?TjNIUllMOW14VXVnczdHVGpZaWRDTk51NjhxY1AyaklDdFl3eUZMaXVoK1N6?=
 =?utf-8?B?aG4yNmJMUElKRkJuTWxPc2NUeE0xZ05FV0U4ajBHenBNSHZBa2M3SlJrd3JN?=
 =?utf-8?B?VFB6ajdEQ2NJenpySnFxdHNhZUgxM1VCK0dSR3pOUHN1TXFHbDN1NGZWWENh?=
 =?utf-8?B?azdSV3JiS3ZHRTQ3SU1IWnRiRG0vdFNLZmQ4U3p5T1NhUHlXcEMzUmJjQ1JH?=
 =?utf-8?B?UC9BSFNXeG16eUdnKzZaZkpIVTdxb0wxdnliL3dDUGZxR0JCa3VkZ3JIL0w5?=
 =?utf-8?B?bytaYmxXYnV0bjFQaWdvL25iTzc4VU9tdmlsbWVGcTdBYy9MRmczRGI1ZmNi?=
 =?utf-8?B?aC84b0hZenREeEZLQzhXL1p3ck1JSWZ5a3NQZkp5NGRoVjlTeVVMcm1jeVdB?=
 =?utf-8?B?TkJ0QXAzTlNKVjFnalkxY3JOSHlCMjV6bFl4TVYzT2JZZVNjaHpGOStVYVFL?=
 =?utf-8?B?eEJybmpBUnJiM0JhREkvbHZwUDMzdVlmZFJyaTJWbVRLSWpzSGJHcWpMSTFE?=
 =?utf-8?B?c2c0clFsWTNqU1k1S1grZG5Vcll3VVFCRzcvSThuenU0N3NwTEJvaXNyL3RU?=
 =?utf-8?B?YW41VTlKcGN4eG9qY2tqRmljY2syd2ZEbTFNdUN2dGpnWVorTWFzY3dpSW9q?=
 =?utf-8?B?aW91QlBVNS9wSHp4UmREbi9HbVM1eFovOFJCcFdkVFBDa2VaR1dGZDBwVzZj?=
 =?utf-8?B?UzZYWFhWR3IvS041S3lHemkvSWQzeXFKWVRvOXhaNm1IZ0E1UFhVTGE3YWtW?=
 =?utf-8?B?SjIzWWlxTkRVZnZoSGpYYjNETUtkb2YvZS9vcmdwSWswb1U0cjMvaWN6NHJ3?=
 =?utf-8?B?NHlub0haN3MzUmp3d3BmKzBHQzN4RTBsbVhnMFpUbDRaTGdZMDR4RFFxUVdI?=
 =?utf-8?B?NXFmSXNtOE9YdW51cWM1bktUek5zV2xMNHFQVVpaM1hSb0xaYVpkb0w1alBG?=
 =?utf-8?B?OHA0UnJKdUNaamNwMkExekxpc3Q2NEZFV1dpYUhYUGI2MW4za3dDMlU2UTNx?=
 =?utf-8?B?T0l2N2JYbUhQSFBHSStpbEZ3UmE3U3dvL1ZxdDlsOHFlWUt3T1lBa1lWem5M?=
 =?utf-8?B?NVhWbi9OYWpGUzVBMWV5T0MrbzhzNmNBeEp2cmdMSEZ0UmlBbWdQc2dxZXNU?=
 =?utf-8?B?WEY3cXhoOE4xbExFQ1dXWEJFbFY0RCtRL2lTZHliWXVQeXBCWEF2YVh6ZU5T?=
 =?utf-8?B?K0hXeGN4czYrSnh3bktoUHVDYk00VSs0Q01IYlNPYUVLSDZ1TVdKakhmZGl5?=
 =?utf-8?B?WUxIQkRCdzJpZUNTczhraWlUMVQ1aitNcnJFaFJCN1Q4M0FHcHU4N09GTmZB?=
 =?utf-8?B?OERMKzhMK1FhM3VGclhjZm1aSzIwRmpIRmlGWGNnSGV2S1JyQ3V5eSsvUjF4?=
 =?utf-8?B?cmV1ZFFTdm56dHlLejRsQlVkeENCZ2RsM043SHVaRHpKMS82Tnk1Y1NUUmZH?=
 =?utf-8?Q?HLxUsxfgwUNg3OAIxKbsNLpAv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f0a741ec-ee95-42c7-9eab-08dbecc84967
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:35:17.3497
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +UmDM73jVy53ZpOlxvnJPrNvkjA78UKx25T6hZmNRx6rXyYRu6UX5sNkeZ+Rdu0LbMr6kpgv40OW2Pu3sL5APQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8526

01: VMX: drop vmx_virt_exception and make vmx_vmfunc static
02: x86/HVM: hide SVM/VMX when their enabling is prohibited by firmware
03: VMX: don't run with CR4.VMXE set when VMX could not be enabled
04: x86/HVM: drop tsc_scaling.setup() hook
05: x86: amend cpu_has_xen_{ibt,shstk}
06: x86/HVM: improve CET-IBT pruning of ENDBR
07: VMX: drop vmcs_revision_id
08: VMX: convert vmx_basic_msr
09: VMX: convert vmx_pin_based_exec_control
10: VMX: convert vmx_cpu_based_exec_control
11: VMX: convert vmx_secondary_exec_control
12: VMX: convert vmx_vmexit_control
13: VMX: convert vmx_vmentry_control
14: VMX: convert vmx_ept_vpid_cap
15: VMX: convert vmx_vmfunc

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:36:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640220.998143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rg7-0004UT-4u; Fri, 24 Nov 2023 08:36:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640220.998143; Fri, 24 Nov 2023 08:36: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 1r6Rg7-0004UM-1a; Fri, 24 Nov 2023 08:36:47 +0000
Received: by outflank-mailman (input) for mailman id 640220;
 Fri, 24 Nov 2023 08:36: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rg5-0004Dj-9G
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:36:45 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20605.outbound.protection.outlook.com
 [2a01:111:f400:fe13::605])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99435f0b-8aa4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 09:36:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8526.eurprd04.prod.outlook.com (2603:10a6:102:211::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:36:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 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: 99435f0b-8aa4-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hyNcpOtPauShhmubQy/Ne2wajB1HdCuySiJSxRzFSroiBaSrGN3Jf5nzD+q/1PQDfXdQKGQXdEodRmPW4klcB3yl9SZp4S3xTc3vyKyDl0OYrzaA6skJma35eHmddaudLZjizpKmopDt5th6J6/ktweXS3fnhyICKl+8i1pM12atiF+QuBMNCVUB1bHyQMGhZyfCY7N8hytr/6TFTcb76XlYSRgs3e6SVTGK8VuUYtK1ztCcP0zMpCkDt23SChpnvUWbkEYfZeeJspsBwFZL5GOdCKf1UiKMqwITS355xi1F5MPEPmC85oJ6AYwS583bmvhYTyKodKAVJEPJxyLN7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=62zTJWSZV7yA9B5G11SJ0uj4kze69UO13o+hSAjxnrY=;
 b=PJLnjVemrlPqDv93dC35UTepze95MSQgwM32dkCq31KpVDcJEMX44vBW+aaGdrNYiQepUdq30fLYSBM/+lkyztUz635kic8upsWZp21B0xCnozbvxyYPbiu7dd2YHrwXpYGjjcMloeTh/0U+JWUxogA7ZvYOVObPON2U9g2MjbsZRYUDx2pKdXa0VQbwm7yPvsLjhdm0IAlVAMrvg35WXw2l9Ovu1ERbJJjoRKZsZOAEd4zGQITZ10CUNyC3Rh3wBckeQqrvZyILQE5EcjVmgqpUbB33sU0P2PfVEem/D3tnBFaaHlC3W7vzyhJypwKdCh0Yc4Covzd03ql4mZTOmg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=62zTJWSZV7yA9B5G11SJ0uj4kze69UO13o+hSAjxnrY=;
 b=z9bsWDzhwdX/UplzxfyrPDr5Gcq+UyYOt/xPiKA6ew3hU3tyc5KTKfndzg1jk7luiTGu7lz3d1KbMwHikAC1WoIAdkMRSwfkrPZs05IRUAv8TPg9ev7baDvixyCZZg4xbFLccNtzpYyV7Xaz8ZuJdLHMtvsyF9DMl/uRZLD+oIZegVyHjBM4D8d5QIDRsP8qmmNEBVcuPSpuMHnxbF50vbgnzIYkWWLoMvKKxDCv6ynjK7D1RQHn1SKb4vEYdK0bG+dNbBCo+p5RFxY8MBp2ARGviL3X2MXczAPWOT3qVr9jNLG3pFCzq8W/UXoNp0JO17+pv8ZwHVhsBNLDoxfj9w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7c70aa15-213b-41ae-bc1d-ddd4cfcf7165@suse.com>
Date: Fri, 24 Nov 2023 09:36:41 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 01/15] VMX: drop vmx_virt_exception and make vmx_vmfunc
 static
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8526:EE_
X-MS-Office365-Filtering-Correlation-Id: feb77f49-2252-4b2d-7bc1-08dbecc87c22
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8poKuSLr/iFswaqKI4Slv+rwpMWDJjo1aPxGRVkslpxk/g/gd7A/18mIjj2ou023n98V1/8KLb5ljvkjFnp4e6vnvX7FxSmevKnUaKojgbmJxPZdUoFAWEtaGOGvJ/LEWWl4VmNlbiXlwWvVWJu/6jHwTdoTSUp49n6XSrggKTdw6HCkBdaT6aX8JUpSA05yudLn31fRy0/1atFwqQoKF3QCGrK9RP2Om04JKJiL4ovzhzIvaawy7sHoWJdaSFLsvNaVPnoS8kYqplZjjg1ZWWFQzWVo0uCQ27aIPoyEpCDgp161mgrWI0JKCFL0fgMXgia0CuU7JVci30755tM51XZC+8R2osNg+0UHts/8lzL0Yfge0okl65rqZxIZgkqIdKDA84fV59xjQ0d1n+3rjddbRF79cw5LhIUUuxodDLA3/Joa2/EFlc2FEt26us8ayi8h10Wxr6i3lmqjHRV5g+VAkwf7c+5UkcQeWk3L+AqtB0MJ35Q662T0BB66toDmQGHtgjaxppzqBxkUOZZA2ebyhFkVYp7RYrbEFuPh3ejK4hfYm8eXcemZcROGqHC0qE0FqR0mt55ZHwH1vPIDkWz3S9kmcAyVfteKf9iQ18ymCLDuOGEiowLKrXeDJy2b5OwrnYh04ZwXJCpJ67SjjA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(376002)(136003)(366004)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(2906002)(5660300002)(36756003)(31696002)(86362001)(41300700001)(38100700002)(66946007)(6916009)(66476007)(66556008)(6512007)(26005)(2616005)(54906003)(316002)(478600001)(6486002)(31686004)(6506007)(4326008)(8676002)(8936002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?M296OGtHUjJCOVBnWFFneCtQY0xJdmc3WUIwL2VDVGE3Sm9ERjgyNlJYaTN4?=
 =?utf-8?B?Z3JMK1g2dllzbllpQ1NoRlY1QVA5MUMwUTNidlByY2t3Z0JEVzBwRW1DUlRW?=
 =?utf-8?B?cE42SjBmZTBtVW5GN1JjeXhsQXhWS2xueXlmb2syZ3JwVGdHN3o4bTFQVTBN?=
 =?utf-8?B?SjE1SzFHcnhHNHEzcUZDN2RIQTFBK2JsNmMvd0xLL1pxVDJjR0RCcmZUMHY0?=
 =?utf-8?B?YVBzYjVDYjZ6M2VHY3FPY3JQRUZrSlZ5ekNud3RsVldkaEZ3TDllazlZa3dh?=
 =?utf-8?B?MHZMNVpWdTF1YVd1YkZvaG1LcDFZdG9WTis3ZDBCNmI0bTlHUlZyU0NTTWVN?=
 =?utf-8?B?SkU5Und0MWdUYlMxZlVjYUlwbHZWMUV4RmJJcGVMc0EzNkhhZ3hXcVdmM0My?=
 =?utf-8?B?Vmc2d2w0bE51MTNlaUtvVmlIeFlQQnQ4b21vbzRpalRUemNDUXUzUzVjWUNo?=
 =?utf-8?B?YkZpU0s2NXNTQmxqOU5FRUJzQkJOeEFid0NTTGMwVW9kbmxMK2dJL3psTGYv?=
 =?utf-8?B?OTZVWUdmbnVMQWRDV08zNmFyL1hRTW5aSW5xRVQxRkFRVjg1RFFSZXBJdWhm?=
 =?utf-8?B?Tk9XRnkxc3M5M1EzZ1c3ajNOb0tITGhQSmhzNURGeXhwLzRUcHdDRGhHb0Fi?=
 =?utf-8?B?SytxcklEOXlkSW1IZG1YeGhzNVU3OGZnKzRQbG85cmRSS3U4NnZ6TnUvOWF2?=
 =?utf-8?B?dTdFcjZoZVJpOTlnYkhPK1BrcWt1UnRjL3VLVFMyQ0pmTzdacCtRRDdlcHdT?=
 =?utf-8?B?bmVybUcvZmtRRWZzZmdVZlVVQit1R0hxakZHQVFyUEZYc05NNHdqS0NTYWFt?=
 =?utf-8?B?bkpKRjdvMjZVYzQyZ1JRMUM5M3d6Ym5vVXdxREJmTVdwM252aktabFlYTWFs?=
 =?utf-8?B?MTVIbm4veDFBeHJBM3kzdklCT2EvMGV2a1VCVmJBTXN4VDQ0S2JEZVZhd3ZT?=
 =?utf-8?B?Y0U2Z1hHOU1uT0JPei9tUkJKOEtMYWV2RC9MM2hXbWJNODQyZDAxOW9HZW9W?=
 =?utf-8?B?NlMxeTM4aFAvL1RKUDJSTTN6bmY4Und1RUlxelNCK0pIbFgvckJac3h0TmtY?=
 =?utf-8?B?ZnRIN1VwdkxtYTVVNnZ3bXlFQkxCVW5LVzlCWCt6R1VvRHVPa3BOdDNqQkV6?=
 =?utf-8?B?TFBxalFPME5EUUNjSW04SVBpNlRNdUN4cmhHN1hNSm1oSU1yU3ZVcFo1MEpY?=
 =?utf-8?B?d0tTcVdkZHFuRVg4NTNsRXJwUUswNzhiYnZxUnBGV01QTW1rQU9CTWxBT0JW?=
 =?utf-8?B?MHdGeHhXdDlsdmthMHVCK1FPaU9abzNKVk5lVDNraHF1Wjcxbi90OEh6cmhF?=
 =?utf-8?B?L2ZRSlg3WEo5Nmp2ZUhlMWV3WE0xVDlORHc3RlU3U00rOGpDNCtlMkx4ZEJI?=
 =?utf-8?B?V1I1YS9XVFNXaVpPeHREdEZHaVc3TngzY3hsR2pidU1rZ3pwakdOTzN5VUJo?=
 =?utf-8?B?NGVIR09XS1hLNDliSkJkQmkwN3lrS2xmaHJsTGszRnorTXJINm1EQ1N5Ujgr?=
 =?utf-8?B?TFJqUFYwSUJxVW9EaUJheENNVVdJNGQ1ejVpb25PVnhLSTIwT1RBMnUrRjRu?=
 =?utf-8?B?VUFFZzBEWDUzcnhLM0hYS2pHSFhBT2JmOTVicWJQNEU1Wi9pdEg5bVF4eExY?=
 =?utf-8?B?ZnE5eTNTQWhMYjgyMnJKVUIvSFNQOHh4ZU53a0RlZjZDdFlZQ0ZFKzJ4Snpr?=
 =?utf-8?B?cUFvM1hGNFNRTkhldXpUL0NTL2VhN3MzcFZHL0l6ZlhWUVB3dDlObmpPWVlO?=
 =?utf-8?B?UnAvL0RNQXJpNCtxOVdpMi9jd1UvbDI1OTRyNHRIQU9zK1IxOFFmRTN3WGZB?=
 =?utf-8?B?VHArWm5BMXF0ZjZpUUZDV1pqekxqdTA2SmZVaThxQzNHOXBXclZ4dWRnSi90?=
 =?utf-8?B?ZkpGbWNNWFJ3bEFramV4Z0Q1WGJwNVUybVZ2ZnQwOG9ROVFYMzlwLys2bmpu?=
 =?utf-8?B?dkhBaG1QYVNTc0JoSks0M3UvZkdXaTl1Tk9xMEg3L3I5dkVFNkgvalNkUFF4?=
 =?utf-8?B?eGR5ZjlyYU44SWlMc2ZMT1JxRzU5OFhWK0xEdS9QeWs1aTZZdUs0ZHdsaEJp?=
 =?utf-8?B?ck5kUnZWOXFONGlocExESWVpZ1JlQ09PYlZWMDgycS9mRVVsTytmMWRPREJn?=
 =?utf-8?Q?k4LulCvAH5xqfR3xD9lWZUdnw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: feb77f49-2252-4b2d-7bc1-08dbecc87c22
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:36:42.4518
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: eg59ED6e+asGXVuukC7eor+zIUzgj6Y90pJ6pnzu6qdWESh4xdyNs4/B2/E2w3ecJzn4W/Yrlp2f0s60WH0jYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8526

The variable was introduced by 69b830e5ffb4 ("VMX: VMFUNC and #VE
definitions and detection") without any use and - violating Misra C:2012
rule 8.4 - without a declaration. Since no use has appeared, drop it.

For vmx_vmfunc the situation is similar, but not identical: It at least
has one use. Convert it to be static (and make style adjustments while
there).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
In how far the sole vmx_vmfunc use is actually meaningful (on its own)
I'm not really sure.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -167,8 +167,7 @@ u32 vmx_secondary_exec_control __read_mo
 u32 vmx_vmexit_control __read_mostly;
 u32 vmx_vmentry_control __read_mostly;
 u64 vmx_ept_vpid_cap __read_mostly;
-u64 vmx_vmfunc __read_mostly;
-bool vmx_virt_exception __read_mostly;
+static uint64_t __read_mostly vmx_vmfunc;
 
 static DEFINE_PER_CPU_READ_MOSTLY(paddr_t, vmxon_region);
 static DEFINE_PER_CPU(paddr_t, current_vmcs);
@@ -475,8 +474,7 @@ static int vmx_init_vmcs_config(bool bsp
         vmx_basic_msr              = ((u64)vmx_basic_msr_high << 32) |
                                      vmx_basic_msr_low;
         vmx_vmfunc                 = _vmx_vmfunc;
-        vmx_virt_exception         = !!(_vmx_secondary_exec_control &
-                                       SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS);
+
         vmx_display_features();
 
         /* IA-32 SDM Vol 3B: VMCS size is never greater than 4kB. */



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:37:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640221.998153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rgj-0004y2-ED; Fri, 24 Nov 2023 08:37:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640221.998153; Fri, 24 Nov 2023 08:37: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 1r6Rgj-0004xv-BS; Fri, 24 Nov 2023 08:37:25 +0000
Received: by outflank-mailman (input) for mailman id 640221;
 Fri, 24 Nov 2023 08:37: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rgi-0004xk-3m
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:37:24 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe13::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b04f7fc5-8aa4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 09:37:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8526.eurprd04.prod.outlook.com (2603:10a6:102:211::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:37:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:37: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: b04f7fc5-8aa4-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aTdOQQDEtZ69V/R2piTdWheOx84lxgcHhjefkyEC+jHoR4T71PW+1+FyZK3iL2HR2B7oaWBJ9/ABbWP6+jBv/7RMZc/XLzV5g3oxKPCC3QxxwwXnMmA75gjAAgKv76UwVklTjTmeKf+6u2wSkPalja71TOuhTujgtnRsnWC5yr5pd2o1ky91BaLXAneaGV+3pAMHem4rF7DIOOvcSEOQ19OyWXisB+6yS4j7S2GdguMW4KFOTv1BlNdDVMWpfNFjDVxS/s4/6gHO8bIBa0bfv1PwbMPmk58YeTCjM1UPpmmVTiqN2DX2+Iwl2inlEVplOPnmGMiiYphHTPjwOSgnDg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WhVP6c4MwU+XZvpPh3/grpvaiJbYdKXcbJ07V03kqeM=;
 b=XY5bc6l7Ay7Z5tDuSGVqQ+lQnaS678WWsV25rzcgWbk44zJc8HIDryIwYYNz+M4YSFufQ3T051apWOUDylPJLjTypO+itu3Il32pHFyrosnCmkdAb3v13mrp962k7B/Bxf9VSlI0w6Ve4NSWFOamkyasS2i5/+NtXgHxVIfyC3W0kXDVaVG2FfoiUUd/PdPBeWgvFJQOKtQqZSX93UcvDH7bHIh0bR2SWdte0fPzKJDTI3ojumzJCS99np74u9VVacBbMX64kj61M/jUOXPdPG0AUqx4kUyDlLbW82PWyWY4H73J78Qgu0VWHtAPt5tepW916Su9d0CQBzgSXaOk7w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WhVP6c4MwU+XZvpPh3/grpvaiJbYdKXcbJ07V03kqeM=;
 b=2QFc8vlY8T4jdoRuI7tyNj9C+BfGtwFPnIU/LmRjMQyu5yANkh2/tOceNJ5jSok14+FpnhXFMKEuyf5S8k8+oX6VrkWGZTW3FQzHc6E9z2n947uIXh/k8SSy+AIaq8OhIj909Jtgh+RkT5eMStd5c/Se9ZTbVf8P6pamJI1aKMlkAHAWKYrtTlJyB/7vkS6YruRp6Kjb9BfRpwSsHrvqXM0pbq1OTa7DcYO3h5vv9gtoahIpdktZGXTRBRH8tQEkU9ET6ZLz5+orX2arFKEjCkuV4K7o7DA2PNNBf/KIGtajEY0SVteUHOBshKkpu7HJgNNSjc54XgXg4NenYPJ+1A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <254ac524-4217-4bd4-9664-a340bf92db0b@suse.com>
Date: Fri, 24 Nov 2023 09:37:20 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 02/15] x86/HVM: hide SVM/VMX when their enabling is
 prohibited by firmware
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8526:EE_
X-MS-Office365-Filtering-Correlation-Id: 9fd54dde-d634-4210-1cf0-08dbecc8937e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	he7VwmcOepMajtoKQsqtchUPd2Ul0OwJriYmkXgLxpGNnu4vcV8pA9bDdqVWhWsKXeOGzQSfWqbj0ZEfUYPx8OGGXVBRK/NJim0YMmQnheITQqWEDI1YF/TphmaJRrepSpzZiGzEpRo+7/JaYUj5DTeBp6OeALATbBXF0eYWLOPU7Ld+pyMkLQIKbXmDfM0stQG1txolITuJxVk2JkBHEuowiOGVD3ea5rx3eX7csB2IY74eXRiOSY0U5KYHAzw+3xKexDW2pzXVymhPYpWeQzOIKRsmjGj4hlXS9qxHDbsrqvHOVd8i9a9W2j69yInm9ZJThLH7ANAEs3jy8kNIx57sqIEpDNpPnpRMtF0YnvrbpwqYk13byNM90dNUJWeOttYYrJbeTHCJUhqyoBeHQ0eXRUgISHVvMGE9bXI8tspv+8sH6KhEF2BNzpBd5U1aTvCKxTBSZ+VsQtRpz9rsUeL/7jQdOzrqZ/kBv8T2yF15jnU68rGCNpuD29FSQB6hI9ffzlYSfHi3oPRE78+8c5QoRoyalmnl6hRvMD4/4WjkrYxzfRVJzCW9e0tjSzG/TmiGnnF1cJ9v0b5WbtH/aSegmBkG7eS5OPJdWoOY2eGBmKBEgh8ArOyG4wbAxUou6GpJhiapRkJEAIlPQi8Srw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(376002)(136003)(366004)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(2906002)(5660300002)(36756003)(31696002)(86362001)(41300700001)(38100700002)(66946007)(6916009)(66476007)(66556008)(6512007)(26005)(2616005)(54906003)(316002)(478600001)(6486002)(31686004)(966005)(6506007)(4326008)(8676002)(8936002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OUNzdVNhNk91TGZWcGNZcTFrRERRR3BPZzdpSmdLT1BwNzZxb1p3SHE2ZGx6?=
 =?utf-8?B?L1hTYmw1eDVjYUNqVFBuVkxsVzVITjVIM054c3ltS0xMQTczTmd3SGdHQ2Jq?=
 =?utf-8?B?YXFIVm1UT0hmc0dDOW5UVzFIdHp3TTRzd1ZtQ2NvQnIycVpUdjFGaTk5Yy9a?=
 =?utf-8?B?UjhRNE16dlVjaXJycUc2RjBXZEpubGY3NkNLMDdoWG9rdmVhWXhqNmhReWpE?=
 =?utf-8?B?UUQ0T1J0RElXeWpnejZaSUcwdjc5ZnBtUUlpajNhVkdvVkVZekZGVnZRUlZ4?=
 =?utf-8?B?YkMvYWJXRXFSSTBCRGxRdFFwV2szVi90MnhESmNJdm5BeFRSMndMc2d4a01z?=
 =?utf-8?B?S0pHZm1jbjNpK1cxaFF1OHFrc09TZjRVVXB0TnFZL2RTK0VYT1JxSStEU2c1?=
 =?utf-8?B?aUcxT0c3NWt5MWN0OE91SkNwMWthRlMwNUs3QTVySGsrY0VGaU9jS2xxWTJZ?=
 =?utf-8?B?ZkdHWmJyWE4yZ0RTbkNpc3ZmeFBtZEZ5bE5jdTBDRG05SjkvYllaVTJIci95?=
 =?utf-8?B?TTYwS3hYK1JnVHpCUkZFcmtKaEF3cVF3SjNPSzlndDRKdndlT2djUjd4T0Zj?=
 =?utf-8?B?ZWl0TFpTSTBJbnVSUmNUWlJ4QkFFcXBnSzl2RklMNWN6OXFMaTZCS1NwMXkw?=
 =?utf-8?B?aVpMK21nK3FIWXNOVE0yMGVlQURmOGtJMm1FTC95VDRBaTN2Q3VJdHJsTDBW?=
 =?utf-8?B?MHVDdDY2MFlpemgzT2VvL0NTVUF3a0JCMEo0Vk9aMytJSFUzc0tsOUd4aGxx?=
 =?utf-8?B?WjZtN0xqb0VaQlk4VlpEdDdQNmFFVDVuNlA1Zlh3NmczOVBXNUtxOFE2WDVE?=
 =?utf-8?B?Wmt5Nkl6aFFKaFd1TTFoNFRKYVJCeUNBbjVjd2hCNVoxVlBwUENkeElJR1I3?=
 =?utf-8?B?WU83TTZPci9Tc3A3eStSK2RSY2dYMmQvWDcxS1diZ0FkKzdLcGR6bHRJalZB?=
 =?utf-8?B?ZlRFcHNXZWR3NlJyMzdNZWJ5RHUzOUVoZ2NaUE5BN3pYOFNiTEpGdGJ3WGs2?=
 =?utf-8?B?WlR0T1l4UVFqRmh1c29uUDNHcndaVUloc2ZzbTdrTGpUVjBZTjROclJEQngv?=
 =?utf-8?B?aVZsc21QYldzcWFwM3pqa0FFYSsxeENsSE1uV1N2d3dGbDBmQmkydU1VbmNm?=
 =?utf-8?B?RzI2NXpFS1dNUmZRU0lEUldVb1kyWjNlMHFGOVJPWURGWEkyK2sybjl1b3ds?=
 =?utf-8?B?S3Y4NjRZWnJHaThMdW9aVVlDRVNDNjhNOVc3VVZQbjlyTGxDU0VBaDBncEtw?=
 =?utf-8?B?cndWc1NwK05HUHp3enphblBkMzBYeVhsTHJWRVNTcnljWWJIUkdhYmhLVnBt?=
 =?utf-8?B?UEhjYnN5UlBjeHdCc0Ryc2tBMzhtNEhLUEQ4R1dSUllOUmtFU1VtSmxoV0Jy?=
 =?utf-8?B?eUIvanZ3Q1lIWUJKUzlNelpRTmJFaTZuUFpuSDdYR1BOc3ZWak5TeGFvRmNN?=
 =?utf-8?B?aStaVEVBM1BYL3hSR3k0Y0NRZmY4dGhaRisxN0d4MjRjMzhaOXdjU0xGZzdF?=
 =?utf-8?B?RDJNNWZwWWZPMW9kenlIS3NNRy9POUxZVG5tN3owZlFOZFVRWmtVRnpuampa?=
 =?utf-8?B?MHdaVnJueEI4dEpMSTBVekZRWllNaGVpZ3NLM05yZlZUNTc4TDN6Nk1QZFNP?=
 =?utf-8?B?UlRHV1RyZ0kxN0E1Tm1jcHdKUTBTTGNlRjgraUcxYnB1cjRVRVhaUW1KNjY3?=
 =?utf-8?B?Si9URXllL1Ayb2kyWWZoZTZKcDZYdERHU0IxMjUyd21FWkViRTltZ0J6ZzlX?=
 =?utf-8?B?dkwvNzYxSWdHcUw0L0R5Z2l6NUZWQ2FwZnpjYXJidnZZRWtnY2l4V1RUSTdw?=
 =?utf-8?B?a2psQmlCNlZ6eExIcWhGdjlUemJsVjJqUGR1TW5TVytTVjdOZkhUb3hkV1p2?=
 =?utf-8?B?dkk2VnlGVExsZEs1b2FWYllDUnpEejFMUHM5Q2UvVXBmZmFLOWFFYk1Wdk1J?=
 =?utf-8?B?T2dLc21PSDNhR0dQbGQzWGVHNThXTVZMc2ZjcmVPN3haQnV3YkVuQ3drdEts?=
 =?utf-8?B?SXQwRXBacW1Sb3JOc1lwNmNxYXRMdXJyaWJramFNTmwvNmswa0k1dDhNb2d4?=
 =?utf-8?B?NldZNUJuaERKb2VYYmM1dVowV2UyeXZWUlBkTzlMMjJUMVJRT09iQzhrK3Y0?=
 =?utf-8?Q?kSNBSlE2BQBh45Cx0jy0rWXTZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9fd54dde-d634-4210-1cf0-08dbecc8937e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:37:21.6506
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /QxOGBRXbu1EXC/fmPoKL8MP4g4zK7C9XgqW4yvTx4oMjLzkXaWH8QGaQVfouWnJcYkvQ5aH0SmO8+vuHrL1kg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8526

... or we fail to enable the functionality on the BSP for other reasons.
The only place where hardware announcing the feature is recorded is the
raw CPU policy/featureset.

Inspired by https://lore.kernel.org/all/20230921114940.957141-1-pbonzini@redhat.com/.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>

--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2543,6 +2543,7 @@ const struct hvm_function_table * __init
 
     if ( _svm_cpu_up(true) )
     {
+        setup_clear_cpu_cap(X86_FEATURE_SVM);
         printk("SVM: failed to initialise.\n");
         return NULL;
     }
--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -2162,6 +2162,23 @@ int __init vmx_vmcs_init(void)
 
     if ( !ret )
         register_keyhandler('v', vmcs_dump, "dump VT-x VMCSs", 1);
+    else
+    {
+        setup_clear_cpu_cap(X86_FEATURE_VMX);
+
+        /*
+         * _vmx_vcpu_up() may have made it past feature identification.
+         * Make sure all dependent features are off as well.
+         */
+        vmx_basic_msr              = 0;
+        vmx_pin_based_exec_control = 0;
+        vmx_cpu_based_exec_control = 0;
+        vmx_secondary_exec_control = 0;
+        vmx_vmexit_control         = 0;
+        vmx_vmentry_control        = 0;
+        vmx_ept_vpid_cap           = 0;
+        vmx_vmfunc                 = 0;
+    }
 
     return ret;
 }



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:38:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:38:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640225.998163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6RhI-0005Xn-S1; Fri, 24 Nov 2023 08:38:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640225.998163; Fri, 24 Nov 2023 08:38: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 1r6RhI-0005Xg-Ou; Fri, 24 Nov 2023 08:38:00 +0000
Received: by outflank-mailman (input) for mailman id 640225;
 Fri, 24 Nov 2023 08:37: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6RhH-0005KO-KO
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:37:59 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20622.outbound.protection.outlook.com
 [2a01:111:f400:fe13::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c4ff025a-8aa4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:37:58 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8526.eurprd04.prod.outlook.com (2603:10a6:102:211::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:37:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:37: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: c4ff025a-8aa4-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VFyWAl3ZlG3rO+eN5/8Seh+YTVvJWa25Kb4SFWCuhX28Ys4wCPOgysmo1CE56DpYljTn/IYspPeHF+KInaUtr5utSJQ8GkBwZ2XeZrUrlG8NAtrcNUanElePyHiNcuS2vcZ9Y2MRpr6CE+BWUNyr2iDZ5GA6Db10JoDRJpDCRg61J/n9x/Q/2eYz0D/+mfj3Wif4O01fHUgjJFnAKNV+Pw/gwKU+QO+0oTTK+JXPsBm2rTDpDnbFmMceiVHrOM/wvsV7qnAyK4Bd6lRurbUHGkJCAzpHu+nAHZ38MBpZTeZ20mWS3OivrrQxSK4o2VBxuba71WaS614t52qNnB+fig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GMAEifarQuKo3OJKrRoIbfb7jebQhVGeV589a029+JA=;
 b=jA8Mke0KTaBqfiuaB1BpauanGLungASwdRrFYfbqkbnvjqN4llF8Jqv6jrj7qdG43Bk/pvSGo6yArwG4guKOmY8xWsWwNcXLJVHAZI4+wb8V5QT3hajoCiJOHnmTYA/dMBbOZXAbvtxcuDWPNIEdoOyoAf4C0JPQjJzGipZxLO/B3DiuwLT/LvRNg2XxJ9dMeeUiivmqXGb53gu17IrFvlfoXLmnOLZkZ6u7im0HhuLC8p4Lw1f/IkOD/XptZ0CuxzA5olkc0CINhrEez1FE4mOKdWM611H5zN4Pgwz8t0e65q7bQNwDJWJJybd2mnXRS51S3Be6hZfqqiaD0D7yBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=GMAEifarQuKo3OJKrRoIbfb7jebQhVGeV589a029+JA=;
 b=krhj05WXD2CVi5abH6vjjn4Mf8tDNUnz1JPeaRmzghxYLj4QvG+ChDhQHJAPn00pmNGYKjTh9RRxYLDF4/U1Xa7ISNEQE1/tTF2MkJdOaXSkiDx+wQx256egJ5AGOtOZN+uhu7M+NOfkhNbZkirD37wJolyfB5ipsA9Ac2rEyttkFTVYdaSmZ8K9PFR9PrCVl4GNPe9AyH8qAgVm+pRVTCm2zeOIoYZ29WhfO7knMlWgSyXc9/boB2z0IcBnAWQ76N2H82EiqyaQF6njwIYEA4E5UNSr2s04IGpPwsIXqAdFKP0znf2TYm4zydePEOUWsVZlrtGd81iYq/IMbAdYaw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6c30c6e9-8eba-4397-bec3-83474868aa94@suse.com>
Date: Fri, 24 Nov 2023 09:37:55 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 03/15] VMX: don't run with CR4.VMXE set when VMX could not
 be enabled
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8526:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a589265-99c9-4a50-0211-08dbecc8a837
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WmX7J2Stomjl142hTi4Dk6IOar6jSxX05S88X8uFAddq1YxyWcayUatoQK2+jynom3Md3NHM9AkdTDqRTKg+WxQduSjuGdRz+hjvWuh9sB91Lu3d9w+vCPLZ8lKLSR9QFzzXmlIr4WOCnPPN5eF47kbIOIemrVYB8iRRPhaRML+LxpsPqnvH/bcZ+0TJY5fK8tK9hD4IrAuQtmzFg3ygl45V7NluUZOoNPLhzvXhdVdaVaWnj5LY+zTf52oK3RMzR7QhRzvT6NksASKeC9HF/l8oedPj9hdcnaRdwNPsj73aZwngYSgH647XyIjaRRQvfvXW0BvJgVV7E1dptvh793EqQiPJI3l7m5NuQDwQOk1yao4i6oKDjPwYJTrpBzWBSUfGuUXscXJQxtgy3Khhwjoh53fu7dFzgmw15HVjEg3XzRHFvtH9Q1LwHuVYl7wD15ys0WYd0pufdYE+gWWsPPR5R+cmq4Fzbv1h6ITqquZgqpRhRgV02+RTs/WZT9DGOzxFYVN5ssTsW5A/Ag6jCF58opZMfLtkPjuDmMsMgvgibkyt55FkUOewv3D93eUGraOccAjxV4KguE4LqCSvz1LyIrdV6kSgF2XJWkTutPn8ngUlQ/32C7G6o+qpANXMEtVT5BCBjEPCQGSPkZs69A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(376002)(136003)(366004)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(4744005)(2906002)(5660300002)(36756003)(31696002)(86362001)(41300700001)(38100700002)(66946007)(6916009)(66476007)(66556008)(6512007)(26005)(2616005)(54906003)(316002)(478600001)(6486002)(31686004)(6506007)(4326008)(8676002)(8936002)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q1JaU0hNREtkU0JoTjZBQytOVEtMejNxZzlJRmRlWVdTTEFQRVBXRURRL0N4?=
 =?utf-8?B?dHIvUGFZU3pDRlFvbFp2Z25UNTRDQm5wQ1gxdzN2cGtMNXRNeVZ6S3JGeFp6?=
 =?utf-8?B?VjhCajBodTZHdTJmTHZ1amZrNUMvaDRuU0FsSnpjd2l4Nk4zcUhZNjR2MTdr?=
 =?utf-8?B?aDlhd1lTL0xMa1RxTHNqL09GU0gwRytHazlLQy93K1MxMTh2R2RQaUQ2Wjg4?=
 =?utf-8?B?TUFoTGVjRXc3ZzFIVjQ2WVdzY3ZEbG1yM3NWdy9nSXY1RVcvbU13alc4MVBr?=
 =?utf-8?B?Mi9NZjNTem5ZeUhYUWpJbzNQN3ZreHFPaUZuSDVTaHo3QkFHSnM1UG1tS1lN?=
 =?utf-8?B?czBsNzU4QnIyR0Irc1kvSlU0a0hwZHlHOVBiY084aitick9kNjE3eDFxNzlQ?=
 =?utf-8?B?STFLcmcwaDNIS0FMWXhYNlVrWENVc0xEYWVXUzlndWJWZVozaHBLbHQ5VHJy?=
 =?utf-8?B?S0Z4a0I1VWJIMUxhQWc0WTBoOXZKMEdjNGRIU1FNbE1JbWU3NktkUlNmWVN1?=
 =?utf-8?B?ZGV6N3lISDFaOTZ3M3BjUU1Xb09jSDByZWdXM0RVVkVNZnA3SGZVSmR0ZDR1?=
 =?utf-8?B?Skl3ZlZIVkd1QTh5ejk4UzkyTk5ncnJ1N1R4SFNxWXhPWlFhVDY0NHpBSFMx?=
 =?utf-8?B?SFZJTVhEMkxSSElkWGI3QitySTdqLzlMMVg4Qm9kczh2ejhSZWkyNjl4Umpp?=
 =?utf-8?B?d244ZkVBSjFuY3hNT3lTYjV1QTlIdEtSWjIwaFV6OTlIMTcxTjVrUGhCZGRH?=
 =?utf-8?B?MHU5dEVFVGF4NjNpV3BCTHRZN0RDTTRCSlltbE5ESEpUbnI2WnUzQTREZEov?=
 =?utf-8?B?VUVCSVNpY0Q5YXJHNjZUNHhoQlQ3Uk5DeklCdnd3WFlFOU9xUHRLcVgxZDdW?=
 =?utf-8?B?R1p4U1dPSlNnenN4TVlVRlN1a3QxV3VQWXlSSVhMQzJiUDFUSEg2U251N3p5?=
 =?utf-8?B?RXE5ZCtwRVVGejRsUERZeVNhdGladG9zclRMRFZBRWdrVDRXUmhWNWdOQVVp?=
 =?utf-8?B?MXI2QVBlOFo5b3pna00zOVZVYTVJYTBFa1VadnBLTnJiY2ZyNzJPdzJEb045?=
 =?utf-8?B?a3ZyOU1YZ1lHU3hPMmFPM0RJdTdlQ0Q2ZnN2NDE5b1JtVzhDdXgzeXBmM3Rm?=
 =?utf-8?B?QW5pekt0SEw2OGlZZFZ4UEljY1lkNERJbmdoRWdNUDhYcG5WbXNJaGt3UG9T?=
 =?utf-8?B?Wi9xTGpnTERJTU1hb1NqNkhsamVwWmQyNkhBMWxjWUY4RUpDNDRmWFYvUElx?=
 =?utf-8?B?U3hieE9BZXpFYVBzaS9rbGZ2clA4S1p6a0ZJbXJ6Witsb0ovRGw4Qk96dWZa?=
 =?utf-8?B?bkhlRkJ5cGhpanZ1cU9oOVhtS2ZGN1F0dHYrY1dBdVRiNit3QTMwY0xVWVdz?=
 =?utf-8?B?dlpBWk5oYS9QMi9OTkxkcHRtcjhFZVJhV3NsYUticEFwZGlvSklBTEhaQjZM?=
 =?utf-8?B?WXdqQk1tODkyVGYvYTZlUkFQZ1hEdEg2ZXorMU9xU3dtc1FLK0tBSWNob3BR?=
 =?utf-8?B?eXB5UnFlaHBtMlIyaHJoeUMzbDFJYmtpenM5OWFIankzV0ZJZXZJY0ZtZHVs?=
 =?utf-8?B?aXgyK2o5N2FOUUFjS0hIOTFBd0JFVFpWMTN6cFRTb0FxMUplamkrdGhXUDE4?=
 =?utf-8?B?WVdYUStIak11ZDJnK2VNd3JhcUVXM2hXaVVqWEN0aGt0UjllSFM1K0hDVU5B?=
 =?utf-8?B?ZkNZZUtvOU9qQ1h1TDgyMWRmVTN6dU81VFlTY3pjRk5GQVhFNGpQZy80N0cx?=
 =?utf-8?B?T1RXNXcvRnc3bHpMZ29mS3ZxclVzVCt1WVVvdmFGbnkzbHIxLzJZSTQxb0sw?=
 =?utf-8?B?MG54b2tUYUFvREZqUUt1R1BpUmNHRDJzRU5jUlAxOTg0MHZwYVc4blk4Z2F3?=
 =?utf-8?B?SnNrSjZBbXRIdFZPUjNFWGIzUkZlMFU0QXZ0UWg5aHVsN0hEbFIwZjV4NExB?=
 =?utf-8?B?MXJMVmdrRGtRVnpUQlFOYjRiM1Nlc0lUZHZSUWJSY0tWNGtybVAyeTYrR1Mx?=
 =?utf-8?B?NS84clpkRXBlU2VzZ2xnZGhsTm9QeEs1R202eHYrZG1LeDRINEFZM0dlR1Ew?=
 =?utf-8?B?Ulg2TkFCU21NY1RmcHp0aDhOSW4va0tGTDNPQTcrdHkzckVoRktDdy9oRXZw?=
 =?utf-8?Q?eQ83622SMhjQo+JTcdfh+NDs1?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a589265-99c9-4a50-0211-08dbecc8a837
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:37:56.3806
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lZiA6hz+iqVc5oGE2oErfiRgLNGIOaIeEo/vXWW3vlSQw4mODlwC9pSUY1TTPNCaPJtDm23U//Z4H7ouIinaOg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8526

While generally benign, doing so is still at best misleading.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Using set_in_cr4() seems favorable over updating mmu_cr4_features
despite the resulting redundant CR4 update. But I certainly could be
talked into going the alternative route.
---
v2: Actually clear CR4.VMXE for the BSP on the error path.

--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -2959,14 +2959,18 @@ static bool __init has_if_pschange_mc(vo
 
 const struct hvm_function_table * __init start_vmx(void)
 {
-    set_in_cr4(X86_CR4_VMXE);
+    write_cr4(read_cr4() | X86_CR4_VMXE);
 
     if ( vmx_vmcs_init() )
     {
+        write_cr4(read_cr4() & ~X86_CR4_VMXE);
         printk("VMX: failed to initialise.\n");
         return NULL;
     }
 
+    /* Arrange for APs to have CR4.VMXE set early on. */
+    set_in_cr4(X86_CR4_VMXE);
+
     vmx_function_table.singlestep_supported = cpu_has_monitor_trap_flag;
 
     if ( cpu_has_vmx_dt_exiting )



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:38:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:38:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640226.998173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rhg-00065W-4P; Fri, 24 Nov 2023 08:38:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640226.998173; Fri, 24 Nov 2023 08: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 1r6Rhg-00065J-1U; Fri, 24 Nov 2023 08:38:24 +0000
Received: by outflank-mailman (input) for mailman id 640226;
 Fri, 24 Nov 2023 08:38: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rhe-00064m-KT
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:38:22 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d311c06c-8aa4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 09:38:21 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9438.eurprd04.prod.outlook.com (2603:10a6:102:2aa::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Fri, 24 Nov
 2023 08:38:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:38: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: d311c06c-8aa4-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MllaKE95MuQZ+EnS96dg9EXjxQe007+GYJ/FDDgUWxlPH1whph7oJ5Xis+yNCbPTWntDplgcTCDrrwXJiNnBQgmMRw+KsdRy4yoYYFqdaG4p0LieWPG4RUpuU0ynm2wEl6CsvWU6CBLyxwNNvnyLouf7fB9eZg6JR0NeW7EtOTz8sQrL192aCenAnEyzEggvkxd1xbGWVLXiza8PmlILjfV+qEp4gN7GYxHREm98OhcbfyqWqcQzTxsuZ889ICCdyAN6mKh4+Caf+hDIHA8U4EXktBZAXGkRrwsLJlFmMkme4jepWRjL23T1p8KkH9Q8OzhvpafNRRq8ernknQfexA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XBokk32caWSzkID+y12Vqv0MrPTCrlP6/S7oK2pbqf4=;
 b=eaYPNmvCoWGOempiO5O4VxyuNjx7Sf6UVA3nH/fdvdcNTL2WSjmnLreA4uhbGSdQ3trezh0Q0RRbZMXafm8t6P8L57LY0jl+vZQu+brUN+Ghb5lKmLuqh0Bkyi4s4Xprt5BL/85fSO62v/K24u5WJK50lSJDpAZgbpkqFXvVdPEpIk8mZNTnJuFiboIWDOAIRCtZAVjbcOkzQnmZxiPar0oNjEUo5vosT1PTjdAeHcfGv5XGOno9mP0KBl5wNeQO2ygIVP9nEcaLFSoHAGx1WN7Mxj2Sagx+R16ZfzBTbgIj/Kk1MdhgxKdPtK9Zzgqpv9gOt+xNdXPOuFuL/HFFLg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=XBokk32caWSzkID+y12Vqv0MrPTCrlP6/S7oK2pbqf4=;
 b=ztOePZ5HBr6ffl61dhBfKsXjLw/6ZRehSgRnM1CEcx6U0ypOrT8/ZL+L10zoolVP07m3utYt/nncp//FNzpewJGqIJ8uZCvgjn1XH8z/ouIW4PPeuzyCBBT47fbopLnzW7sHJnKSRJlUX3ngvbUZyXhRfL6P4faGDv56XzvmoN9Z0KaFM18MrxCgI9l/wriINNRmebbkiToJPLyyX4HXZQG32Xf/FDXTpFj89BNSl3fASrWTwr9jXcXPQ8eJg+LoE5wY2cavk1+0XBuHix3oLhsyPP0uJZL5IQ1wEjXokeaKNBc9c0efcxsoUYzzSbtWYMTinZ27PugcOYRg5jrnVg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6abd997e-5592-4e7d-9c40-d70fb5d87823@suse.com>
Date: Fri, 24 Nov 2023 09:38:18 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 04/15] x86/HVM: drop tsc_scaling.setup() hook
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9438:EE_
X-MS-Office365-Filtering-Correlation-Id: 43a8732a-a0ec-423b-d070-08dbecc8b5e7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UrPIYpYEIfSxEtoQhBxbeVnonmpnYioBzNsK5pyHRUSmZJIGSSOqp6oF5IaxdiUNQp6VDwH1ITAYS6bT7fTXKNpvCeRn5yHsIMZxT25j5r1fC/dL3w1DIUlSZGnaBgVDoNnAJdCBtVpM9WqPZPkJQcNz8l8JM4DnUkR2m/+37dNtstUkGASoSVWEiH6X1mpT3B2hi7NOClaiofNrO/FUMFKE8xrKdjrQzIq5iGuwQ5tjwFied/2H8O0XzxYiRQvHTI3gkpO+ip5FFRyO19y+mUZcgaGomW6F0C14Fs9Mfj5VNY2CBxe53UUpZF5h7QA5iTKLWhf3SG4QgSusJk6gsMp2R0/6GI790xl6YCqzYEFNO7fRIUxmC9/N9B9goeE2R6DrMZ4/NoRo5/p/yp19RLsnjk/ktAitEswhcqYqjWdeR1p+LvzKmGJoQqJ4zT6J2ad6FDNCuPvCDWpX67zU7ltF5LUOGcEIZ93a369Q2+9ZxFYuDwBhXKy42ApLaAciwxTSdIZktWVZtiR5iaHSKz3XE+vnd8hLrCC73cPafukMFVJv7NxuadyBrqg7trYp/XlTOt3IEYkEDkfzvxKbFWynhy8kwuk8QTFhH7AdpdDc+ixXvFbTfeOk/bulDhUt5hkkfU5APi6IMtFnFUeaLg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(366004)(396003)(376002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(36756003)(2616005)(6512007)(8936002)(83380400001)(5660300002)(4326008)(8676002)(26005)(6506007)(66476007)(54906003)(66556008)(66946007)(316002)(6486002)(2906002)(6916009)(478600001)(31686004)(86362001)(31696002)(41300700001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UWJZUElLb2RnTzNSL3pLWWRMVld4NW43d0pMOUZaeW4vTlppZmpteXdRRmsx?=
 =?utf-8?B?bHVkdXY2dm01UGJJMWhZUXA3UHhDYXpmZ0RFRGpZSUU3UDR0c3M0L3BrdkIw?=
 =?utf-8?B?ZjYxbTNxQnprTm55VzhnaFRWSlc3Zm5zeHFtczNGTmRvcHJhY1RuUDdlUWta?=
 =?utf-8?B?MkJmZ2hjSk5WMktMbldvLzhtMFo2VTRmSGJZdlZhTXVGVVNwUkVqTHJPajZw?=
 =?utf-8?B?NDZJVng0VDQ0cXo2YUpVOVE2SFR1c2MvSHdHanFlbVJiVjJlRXl6OFFVeklL?=
 =?utf-8?B?eHRBMUI3UGpTYWh2KzcwSC9zVEw5WGo4RWJOd0ZJNmFybXVZM29LeG8zMi8y?=
 =?utf-8?B?VmZaTVlCNUd4VVpBSFJFbmxzMEhrZlFoVzRoZ3VPZ0MycVN4cGJZdFdESkNj?=
 =?utf-8?B?QnIxeU4vSWhaN25XOEFCK1FHeXhxTEVMZlFiRksrdnk4VytJaklIditqNjRw?=
 =?utf-8?B?ZGVsSlFJYk1qdUtWQnVQUFJOWUoyaG0xSXE1NlMwOC8wVFM1Tm9mSEFVSWk5?=
 =?utf-8?B?ZmpTSEtnbDhIK2p6MU5GRUZaQUllTHY2dGZDdzBLRmZzVjhRcmRqcFhEWUpJ?=
 =?utf-8?B?TmhOUDNlYWtlb1VtY2ZFQUxBSUJ1eEUxa3JmR0Z1UURCRURTZGNUbWtheHBS?=
 =?utf-8?B?ZFlEcEJhTHdiS2xmbnpJNDZhOUhmb0R5Nml6WDFLZUlmR05EM3BVeTFVVXho?=
 =?utf-8?B?R243cDZXNEU5WmVHaUNsOTZnQ3hGYkUwRjRtVVZERkpxS3h5MXFiT2VRSmd6?=
 =?utf-8?B?dDV0Y25lbGp0bSt6WDJDTFNGUVdTR2ZxSHV2dDU4YUNYYlhZZmxxVU9QaDlp?=
 =?utf-8?B?ZHprbWt1VWtIK1FGTmxhZTY1VW81c2wvdTEwMyt1ejR2anNhU3JMQ29QY1Iy?=
 =?utf-8?B?cTFaNDcrVkp4bmJrbEhJNkp6ZnJHUjJkNUFENVNTcmJCQXNMNC82UE1GRGN0?=
 =?utf-8?B?ak9SWTBwbTBCWi91V2V2dWVPU3dMalNvbldZVkorOHJLU3Z0NXR1ZHIxQUNV?=
 =?utf-8?B?bzl4UXZPTjRJdXFKT1ZVRzF5TlJOWVk2Z1F1UWJRUWRTVDAzKzZPK1dncVhx?=
 =?utf-8?B?V3BORW1JKzhiSHFGbkQ5ODRWSnlQeHBwK1o3MnNGb0grbUFySEF6bUdXK3lH?=
 =?utf-8?B?YUU5VjI3SUNKb0RDS0ZrMlNIOVgzdGlWYlppcUNpYnU1NGZhTUxoa3JBcGFN?=
 =?utf-8?B?anN5NmlMVnpzRkFkYjZKeFl5QVMzWW1sY1VCcDYzNnRzUUN3SnZZSWlSTEpY?=
 =?utf-8?B?bDVUZWoyQ2pKRkp3dTZOSTJBUW9VOVFXN3JVT2tWWGFBWnFRSzJEUERlUzJ5?=
 =?utf-8?B?R0lFMXgwVXhoVFlNYWdRYThLcmcvUFF2VDYwVTJCaGVPZ0F0ZTVnd0k2TWRV?=
 =?utf-8?B?ejRFRGlWMkRreGtKMWtwekF0Q3ZmZHNUTUdkRjNXN0RWSU50VXBIaTNFeTY0?=
 =?utf-8?B?L1EvN3VpRG84WDJsR29RajdPamNlRmU1NGw5TUQ1M2hBL0Y2dmVVSE5Jb0tV?=
 =?utf-8?B?am5jZEtTN2Q0bXI1bDlhSHJaQ2VUd0hzeDlpeitOK21TTlN3Q0krc2RsLzFa?=
 =?utf-8?B?SlgxOVFDd0JCSjdxRFB2QlVNdzFJSmJZUzFyWmZlc0hYeTNvZHUxK05tN0w3?=
 =?utf-8?B?UHl4bW1DVmJSM0NLTVpQMTFEaC92UFFub2lGNEdPTjNLQU1oY1BoUFU4RC8z?=
 =?utf-8?B?Ulk3QW9ERldIaXM0dG0reE9GUWNxYlJoVWdVNDNWWS9yM2xGWng0dmVZRkxy?=
 =?utf-8?B?WE50dTdySzVnZzZJWGNtWi9zQmRyOHh0RU42eVRueC93cjZzakFja003RjhH?=
 =?utf-8?B?NkFieXd2d1AzcklQYW5RbjNsVHRXL2htTmtNVTJNSjU3WGwwNU4ycHhQekR4?=
 =?utf-8?B?T2UvR0Q2ckR1a3pEOHdseDdOK3FoU3RKMFVXT1RDamQ0RVFEOVZEL2lpcm5x?=
 =?utf-8?B?dElWN21UeUFrWE1ndTl4QTF1RjZwT1BlY3llV2xScDFjQXlUa0I0Q21vbEI5?=
 =?utf-8?B?eVBiZFQ4ZE1HMVFLaHNzcnpaa1BCOUt4YVR3dmM1aHVlSzhaUTlYZHhnVWM4?=
 =?utf-8?B?aHhwNmdoTC9aSnNTdlltOFFnNTh3czU4WnBPaXFpdGpxUTRpS0I4YWRRMERN?=
 =?utf-8?Q?AoaaEy5tNxx3RYuimg3yjZmgL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 43a8732a-a0ec-423b-d070-08dbecc8b5e7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:38:19.3426
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sp6E/Szqz7lwboWLvj673DTN76ZYBLAgCDIVEOCCGd58ZVNmYqSg8mZxbYTwbVm7szoAWHF8YY1gOpR2rtHaXQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9438

This was used by VMX only, and the intended VMCS write can as well
happen from vmx_set_tsc_offset(), invoked (directly or indirectly)
almost immediately after the present call sites of the hook.
vmx_set_tsc_offset() isn't invoked frequently elsewhere, so the extra
VMCS write shouldn't raise performance concerns.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1086,9 +1086,6 @@ static int cf_check hvm_load_cpu_ctxt(st
     v->arch.hvm.guest_cr[2] = ctxt.cr2;
     hvm_update_guest_cr(v, 2);
 
-    if ( hvm_funcs.tsc_scaling.setup )
-        alternative_vcall(hvm_funcs.tsc_scaling.setup, v);
-
     v->arch.msrs->tsc_aux = ctxt.msr_tsc_aux;
 
     hvm_set_guest_tsc_fixed(v, ctxt.tsc, d->arch.hvm.sync_tsc);
@@ -4033,9 +4030,6 @@ void hvm_vcpu_reset_state(struct vcpu *v
     hvm_set_segment_register(v, x86_seg_gdtr, &reg);
     hvm_set_segment_register(v, x86_seg_idtr, &reg);
 
-    if ( hvm_funcs.tsc_scaling.setup )
-        alternative_vcall(hvm_funcs.tsc_scaling.setup, v);
-
     /* Sync AP's TSC with BSP's. */
     v->arch.hvm.cache_tsc_offset =
         v->domain->vcpu[0]->arch.hvm.cache_tsc_offset;
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -1454,20 +1454,13 @@ static void cf_check vmx_handle_cd(struc
     }
 }
 
-static void cf_check vmx_setup_tsc_scaling(struct vcpu *v)
-{
-    if ( v->domain->arch.vtsc )
-        return;
-
-    vmx_vmcs_enter(v);
-    __vmwrite(TSC_MULTIPLIER, hvm_tsc_scaling_ratio(v->domain));
-    vmx_vmcs_exit(v);
-}
-
 static void cf_check vmx_set_tsc_offset(struct vcpu *v, u64 offset, u64 at_tsc)
 {
     vmx_vmcs_enter(v);
 
+    if ( !v->domain->arch.vtsc && cpu_has_vmx_tsc_scaling )
+        __vmwrite(TSC_MULTIPLIER, hvm_tsc_scaling_ratio(v->domain));
+
     if ( nestedhvm_vcpu_in_guestmode(v) )
         offset += nvmx_get_tsc_offset(v);
 
@@ -3031,10 +3024,7 @@ const struct hvm_function_table * __init
     }
 
     if ( cpu_has_vmx_tsc_scaling )
-    {
         vmx_function_table.tsc_scaling.ratio_frac_bits = 48;
-        vmx_function_table.tsc_scaling.setup = vmx_setup_tsc_scaling;
-    }
 
     model_specific_lbr = get_model_specific_lbr();
     lbr_tsx_fixup_check();
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -240,9 +240,6 @@ struct hvm_function_table {
         uint8_t  ratio_frac_bits;
         /* maximum-allowed TSC scaling ratio */
         uint64_t max_ratio;
-
-        /* Architecture function to setup TSC scaling ratio */
-        void (*setup)(struct vcpu *v);
     } tsc_scaling;
 };
 



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:39:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:39:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640229.998183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6RiG-0006ok-DG; Fri, 24 Nov 2023 08:39:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640229.998183; Fri, 24 Nov 2023 08:39: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 1r6RiG-0006od-A9; Fri, 24 Nov 2023 08:39:00 +0000
Received: by outflank-mailman (input) for mailman id 640229;
 Fri, 24 Nov 2023 08:38: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6RiF-0006oK-4h
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:38:59 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e8f5fcf6-8aa4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 09:38:58 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9438.eurprd04.prod.outlook.com (2603:10a6:102:2aa::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Fri, 24 Nov
 2023 08:38:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:38: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: e8f5fcf6-8aa4-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VWWTt2lN4FuWcdLEghiqx6ZLaagWN/yFPTWilip+MoqqQ2/5dsFyZLCHshvMMH/mNv+nylBS0QQng768AhMlQ9LqoykwhledQJsxlVEKH+WogVLVJjnm1cB1qkQ91PFm4b8INZBA7QcxS4jlDW48VuRDSL6tDSdkKPWOVcMbW47BRBuwdNoF6tfYS+/mETd6t0XK8V2p6nXYipTHKNCoYZk20aEEZLz//6p9wbyB5qXRudaAxsrE2m5lzX/BRgjWmxDP/65VqKj2/vDr5Upm3H1Bii0x3OjIMPk1C7iclKlXY+IebGqS4MCrieXd/NOcAx/MHpzRu5+Laf/LUbeBfA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JvvpFQBeLYGJ9UIkAzWZ3Gq7BhQMOUOR1+k4804XyM4=;
 b=hT/pV/n/6APq75scMZ4L8nl+U08Jaew+vcEfofG54M/22hXuUuQ/g/lvou7bkROC739QqPkvsmY5yD0NOw4C+ipmlB6D9M7hKfcob9/6BurkKiFRghi0m9GW5+3pjPfPLhvjgvOrfz0O3ayC1DPHc2DzcqFOm6xSK3QFRrJDrZg45u5IWjH4I5YvBHSvtagfUtzMY8M9XOqSqifNY7yqp3A5YSB2FPC5krh5gj/rXiH678ho4Bwb1CPSuUZw0yN1bD/dX0BKiWkU1NiIbjAwyJyUIIZqHN9Tf+7fXxrwvcu+yxyHmPFNx6GUleDU0H/0l6BzLivVSdohu/5rR1rmww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JvvpFQBeLYGJ9UIkAzWZ3Gq7BhQMOUOR1+k4804XyM4=;
 b=Xs7baik+7y8oJVaZbnGRXCkQx/3PCy9eme+348f/d8DoPIXNvVpm48EjYAdWTpK8x9+Kbp7ZtHGn/jirwQmgyu4JTAODV5KdPudFjpoPcLlXd+tm780p4XVy9VpW7Ve2ZRoHfJos5+l63UHs41iTVl9Eh8kjffpody6Xduk5f0+79X7BmfJi2lXKVgEGy8ZHyUuD6/EKmsZulzjVcYQU6sgvZwf1U6Qh/TapngwcLrPwWXFy4eGI6X1cElmY+Vo64UMBzV9pd8XAbGGDSkX8OsNNhGuvW2Lbbosx158qShYEEYtN3OYJU9B4Ugv56i7J5mdX3fVJBPfVwHQaxHhNxA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8f9c3db0-bedb-4b8d-9560-3e5526288b5f@suse.com>
Date: Fri, 24 Nov 2023 09:38:55 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 05/15] x86: amend cpu_has_xen_[ibt,shstk}
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: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9438:EE_
X-MS-Office365-Filtering-Correlation-Id: 6b668637-8777-4989-a6bc-08dbecc8cbf5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pdFNgzNObgfxTTrJpS2f6UEJKA+WCzVe3hC2W/Uk4D0TypSIeWMtu32/Gfj6zOXu8cu9c50L0hWRwyCtl99He5JXHnBuJhWf11a1/kMRAAxp8jUywVGe86Zq3VkrDn8eGzJYFnDQ2tBZrNl7ksrECGk3YLEoAUdP9r3bRylOG8ERXpggnj+cRyV5Q9AcmwM4UeAraA0HrC/71f8fdysTAAQlXfHw6VnkYGxQYp0JE1lcoevCSTq5ebn82kpp/CKVoHsbJrvRiIIacbU+0JEBxlELcQQrYYgLhM9sF+d2ojWWh//IdIFzJCX4c0Ic1TIjuEP7VkSXqJRC08ZnhxEflm5D22Ebv3mxS1RpWl0a6sbSB3syipA9iowoEJERESugTYHelDKB530i9lTCe6nY3vp7JKCRsSUGHy3RkFmhzEK0vYk+uI1MSiLfoBe6nR7tuOkUj5/Dm57thRqSal9GCD3lNa4g4rILxJR37rrofWZFqeTfQQEXHEoz/W0HjainLvQOgx2ui5lqe8jsY2dFkBpKexYLRX4DUBK0dq8EniSNbuiABka577vc56lcdZTnGTxsIxfAxaJ33BWXGf8BYs6lCuB8U8n+nEtW7R7xojJr2a7z7FvTD2U7QemUELHzJMpD2T2jWymIRKRNIdqoaA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(366004)(396003)(376002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(36756003)(2616005)(6512007)(8936002)(5660300002)(4326008)(8676002)(26005)(6506007)(4744005)(66476007)(54906003)(66556008)(66946007)(316002)(6486002)(2906002)(6916009)(478600001)(31686004)(86362001)(31696002)(41300700001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZVgzWXdDK0lJQ0pxN3M2UnRWYU9JMWNWNXc4dUVZSnJvVVJlY0dwdzRVR3No?=
 =?utf-8?B?clBJUzFWckVYVU9FVjQrc3ZCTmdEaXFza3cvV0lrbDBjMjdZaWJFajdSRUlO?=
 =?utf-8?B?eXZyK1RDL3BaUFI2Q1UwSmhxakExcnFLcUVYYVhReUd4cit4dDhud3BHcFhL?=
 =?utf-8?B?TWFrYS9EdlhZczhYa2VVMURFZko0allFTGIxYmIxWXArMngvL1FsNTdRQ01J?=
 =?utf-8?B?WXBsQVhVSFgxU0xWbDl1b3NaSlVTY3hIS0YvYi9Xc29rUlVPZjRMbEhVVHps?=
 =?utf-8?B?aWdVMkl2cTRlQUpZWkxiOXVyTWg4TkZlaXpSUVZ2TXJZb1JneGlGTEVYZml3?=
 =?utf-8?B?a1FPaldqSWFLSWRQS1d1RUM1QVl5aUNYelc4WFVKYjBJL05VZHYvQ05PSFR5?=
 =?utf-8?B?WlI4QklQYVVQRTA4dzl4eUMyT1UybmtlaVBVbVhpQm9MQXBIMUNPZ2FyNWRJ?=
 =?utf-8?B?Z0xKRWJYWjZHSC8zR2tEQms5Sm5tczV5MkxqMDJKTmxsZjRMRVRUaU5TS0p0?=
 =?utf-8?B?MkJuai9oUGxiZGMwVU9WRnVpQjZxV0RFa3FIR05CSUJQVlJXbEdzRFF0M25r?=
 =?utf-8?B?d3R1QTZFNXluTWxldzhxdVM2QmJHcmYyMVcySjZRSzJaNWJjSzQ1MmJjbVIy?=
 =?utf-8?B?eXYxU3NQQVFabytQNjhuTjhvNGhPMGQwWExwU1ZKd0dPWm8rNTNWZWZURGUr?=
 =?utf-8?B?c1U2cm0rQWxhcHJ6N2orQldYNkc1aVhFUWw0dWdLbUpDaitPUFRwUkFCeHZH?=
 =?utf-8?B?N3pVRGZGOFVrQk1YR3NUbGdJTmFIclNicVlETVZIQ05KV0lhUEl0cWVPbGY0?=
 =?utf-8?B?ZG05NW5IKzJ2aXFpTlNPQ0hNT2tjcnpGMlJZazVyT0FxeXQxaWpyWjVpeElB?=
 =?utf-8?B?SG5JblNGZG0yODZqU1JtUnpjRjZGdUZxcXJtY0hUY1FjVTI5TGtMa3FDczNy?=
 =?utf-8?B?b1dUVmFlRlNqMjhnWFZoc1pudURXUElzN3pCZitjRUZHcjcwbktxM0NnZEZK?=
 =?utf-8?B?ekw1bE9mSDU0QVhmZ1BlaHVXR0xXMGRJSGJaM3ZBQjc0TUd3SStDcFZFZUg0?=
 =?utf-8?B?a05NS21lbVYyR0lyLzVBblpZS1RyZ0NNSDJ2ZzFGS0ZLQndvaWFacE9BQmwy?=
 =?utf-8?B?Z0pnK0lXbmxmczFETGFkOXBQVzYyNitYMHZVd2x4NU50ZTJGd3cvU0V5RGE3?=
 =?utf-8?B?cUwwQzdyTDJpT0Mzb2FrbEZBNXNBUHdGYi9qajZOenFYL2NxV2x4SkhyR3py?=
 =?utf-8?B?N0pZOVFMckpQcUpCdE41eG5wdWYzcTRuTGNLVzVCY1NTeXlpZUVCWENOUkpj?=
 =?utf-8?B?ZU1Hc3FXdTBDS2t4UXdlQkkySlFwaXYrQzlwV1pEa0dvN01tU2pRL3JjdE9F?=
 =?utf-8?B?bXVMcEZYUHEwYzZ5RzlaR1RDL0J1aDhSaWVQQno0ZXVHWlZLUlJxSzB5NEpo?=
 =?utf-8?B?aG9VK0lLU1RsT2U0djJqcXRKc3pwYWZBZlAxNWh6bDJCUGwzbXlXd2o3akdl?=
 =?utf-8?B?QnFlVitiejdKUXplQTlYR0dlZ3lMUG1zWkxrVjJBNytRakN3UGJ0YndGb3VU?=
 =?utf-8?B?REd0K2FUT0pSMWtmZ1hCdWdXelBoLzhEdDNYTCsyTXpBTHBKV0JKM2FLMkl1?=
 =?utf-8?B?UkRrYm5uZmtCdDM3Z2owM2VuTCt1MTA2UWJxVXBJdVZhblphNW9aa2ZiT3cx?=
 =?utf-8?B?VEhCd1Q1NG1uSTdPcVRlUTZGNkZVQW5JWDlJYzY1VU1QNVVJVmJsZi9uaWhm?=
 =?utf-8?B?Vjl6ZmY2OCtaeFhyem5qWkNwbUI0c2VtcWdmcE9QWDNsR3QwTWZHSzFsaUth?=
 =?utf-8?B?UjB0MThRREZiVUE5RklxWVhJMnJ3RUZJc0E5Yk5WWkcwcE9xSG5lNGxuRFBG?=
 =?utf-8?B?aDZEbGtOOXB4c1EyQUh0dTd6VUh0QkRJK240K3hvek9IeWc3aTN5aXRLakE2?=
 =?utf-8?B?R0JtUlZuRDdmZEdHNXBGLytXM3BRQnRsZU9XSS9zNmVOTVFIL0I0YnNBbXVD?=
 =?utf-8?B?RTZYaTU1Tm4xRXp4M2ZybjZadXkrbGEyeVVQT21OU2x4eFVBeVRTak9wMWZE?=
 =?utf-8?B?a3Flc0I2MWtRU2FJMXJkR0xlcnlkSzY1bHZxK1RlQzBOUjN5aVh4YmIyeklw?=
 =?utf-8?Q?PUss/gy6nvOoHPXxQ336A2dK2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6b668637-8777-4989-a6bc-08dbecc8cbf5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:38:56.4009
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mK8CpvkA7+50gP7wnLFCMlXkd2+XC0mi1uKi5ghAseJUijFdMDa4qr1fzo8N46+MOUD06iw5Qak2gcgg3L8WEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9438

... to evaluate to false at compile-time when the respective Kconfig
control is off, thus allowing the compiler to eliminate then-dead code.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -215,8 +215,10 @@ static inline bool boot_cpu_has(unsigned
 #define cpu_has_lfence_dispatch boot_cpu_has(X86_FEATURE_LFENCE_DISPATCH)
 #define cpu_has_nscb            boot_cpu_has(X86_FEATURE_NSCB)
 #define cpu_has_xen_lbr         boot_cpu_has(X86_FEATURE_XEN_LBR)
-#define cpu_has_xen_shstk       boot_cpu_has(X86_FEATURE_XEN_SHSTK)
-#define cpu_has_xen_ibt         boot_cpu_has(X86_FEATURE_XEN_IBT)
+#define cpu_has_xen_shstk       (IS_ENABLED(CONFIG_XEN_SHSTK) && \
+                                 boot_cpu_has(X86_FEATURE_XEN_SHSTK))
+#define cpu_has_xen_ibt         (IS_ENABLED(CONFIG_XEN_IBT) && \
+                                 boot_cpu_has(X86_FEATURE_XEN_IBT))
 
 #define cpu_has_msr_tsc_aux     (cpu_has_rdtscp || cpu_has_rdpid)
 



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:39:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:39:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640233.998193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rig-0007NU-PZ; Fri, 24 Nov 2023 08:39:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640233.998193; Fri, 24 Nov 2023 08:39: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 1r6Rig-0007NN-Ma; Fri, 24 Nov 2023 08:39:26 +0000
Received: by outflank-mailman (input) for mailman id 640233;
 Fri, 24 Nov 2023 08:39: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rie-0006hT-J4
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:39:24 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f788340e-8aa4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:39:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8326.eurprd04.prod.outlook.com (2603:10a6:20b:3ff::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:39:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:39: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: f788340e-8aa4-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c5YSit9iUYcDbeG2RNyi/5Dpokd8C7IECTBKWJJBp4+PKUURwIEz9R4TPgzsl5yUqv3vl1g1v+oA9A+2ynDm9JNFtzGDOndQohxEvN5exAlpuq+5LzuRvyso7ejWeG5/944MHh+zodIofAJ9U0MJq2DiE+IQ2HNKt0a8qkhalvi9YQWyKpn+vbboviuKso6Rc7sBGBsWM/6ivNRuApTofi1rNc/aGfKoNKrt6RRQoYJNnHPpmYfVY+VxdzDdPtgYIXuGIasTll5Az4sexm1dyATIHXqogFCqN7Gvv9zKEF4kG2nGCBte5Prthu2uBbzxR5Vvn+ZfqR2zFRx762+QYA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Lk4G/GJfzS49frg+rcG+l0gtehLpkSIGFkMrZcweWR8=;
 b=T1psXOXk2EJlkRdTgCAD/tAzNksw8lkThI4KXylsKK08zvqB4yPCtds4LHs3g5ok7folb810UwET5f4TAblJAsfnzbam0WB4pdByd6d5A2aKCG30iJ4d3ZidD7JZdqoS3UMnUQkXQlOMPAY6PRs6TbAqfKOqUxhEMmbCYDJoGI29NWUUeNvqkjc6Jd+HilF3J27aYkZHFlooI9sTjoM5xKnWeDzAr1EVfQJXuNmcNpIaKipVBaYYXb7LvkolMaCRfKWsofoNfhibuVikowj3IXdpLxtjsk848Ok7p6UcjiVhqmn3Br9DDcxeumpZSOqIYgEcmsC4Ar0G0RWWt6Bw9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Lk4G/GJfzS49frg+rcG+l0gtehLpkSIGFkMrZcweWR8=;
 b=i4W3Ph32tFpdqw91bKFiERkj/Iga084exAWcPGiXbdNWuExdfd+v4EGo1yOfVT6c4rzvd6TxMRj585s3y0jJXC9xFUduHGONab28GgErR6yOSM7Ufz6fKhaVL5Arw+/PD9M9hlAZeLbvTiOretStmMlHPNPoDJDzoXUsUHewMcwIpggj8Jr4DYbyA7Ijpx8ZDCa/Q4d1vlKSMPV5+tnDrPv/PgD7kYard1sVkuYKGVs5T44caLs9Z1Fy36+j/jBGKoL91myF9QXSiLKlrd0nRGgx7j1zNFSHWc/3bMrbOVhQFmDejmv1HAcO9jvnei68c9D8Mv4xj71pH+txnrYEKA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8112f1f9-3e3a-4839-9124-9adb87f82c29@suse.com>
Date: Fri, 24 Nov 2023 09:39:19 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 06/15] x86/HVM: improve CET-IBT pruning of ENDBR
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8326:EE_
X-MS-Office365-Filtering-Correlation-Id: 9925fe6a-9bfa-48aa-d25b-08dbecc8da24
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DRohmgedkpukofN0yN3ZAZDkJ0MAi7e7QJ8+9uwWTgIZhzFJTfUWj+j/8Lb0feopxXq2rOJAJ6s1S/CrBVS+HzX54r9hd4opVjiB+GTHyow4LPv+E3PKWOyHfQSbXTUFtjhCh/3P6U5Oyo3OcVCWSqfmF3fD8NarIskUBHxfh1HShSbhfeT93/aZOpiyMZKmXwHe8JEXKET/L5xgQ5YbbXUTdRoScILTFBHuvD60xYXF62RAdaxyXCD3amhPJDXj7aRp4igGEgoq3eOtVOIAox1oq46YRk6r49Hsg8RxlRzrrRCGwHtqqVAOxeDRBiowUHCPgRYf2BAFVlrxhh4KxWWNwzovxZqe0SJ3r89gh5d4Yu3TzTfA6Y9xTbokBhXgbrQPR2d8QHx0swa73Z+8SHOs5hrVdAt/PHMgHQY0G29zD32cgbBjoDBwDNHrwnf5oiooE3qVsHtWD2wThoAE4/1PLQGmZL45gfn3yo2DaGjtH45DLRuR3xrXsK0qkDR+zHMxurCnrTRKC4D2MKP0M2xOZa8ZEe7fpJ4Htye+7wjrc29pBV15tALYlP+RiZhzqIOOKr6vaN7pTnPG9MibNZLxWuaAMwHH5bI06xkzhlt75x3XXoIsy7GqQSNdb3WMH7UrRTI9WZi1mugoJNVbx1bK0CtEj3RyzVMZBu81XVs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(376002)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(31686004)(26005)(66946007)(6916009)(66476007)(66556008)(54906003)(38100700002)(36756003)(31696002)(86362001)(6486002)(83380400001)(2616005)(6512007)(6506007)(478600001)(4326008)(2906002)(316002)(8676002)(8936002)(5660300002)(41300700001)(87944015)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SEd4Ry9lZEUraW55MWpkbUlTbFdDak5PN2JyZmMweW5aWi81bkdjdm1ucmpK?=
 =?utf-8?B?Y0NGcWQ0Vzc1WkVBcThoL1VoZ1FGZlA5Uk1zWTBsWTRZRVFsZ2h5Rk9MNmVX?=
 =?utf-8?B?WXp5U1p5KzhlSDZiWWU5bUtxckdORXR5d21CTitpNHdPUW1oa3ZrNWxRMG5H?=
 =?utf-8?B?NGN1UWp5aDc0a1NheUh5OGF2Skc3S2NtOUR4cHF6cFJOVUhQVkJ6VFJGb2Jz?=
 =?utf-8?B?K3pxY3QrQUxGVitZYmF0ZmMzaDg2bHlMMTZxakkyZDJlYXB5N0Zma3d0cmpL?=
 =?utf-8?B?L0VkTVVCVjRnYWJUZjhId1l4MlhCdWg3Sk41T0Y0VkIwYjkwSnkzSnNNSlFr?=
 =?utf-8?B?SDFSY2Rtbm5tZ1VPdnpSK01pSElpeGVDTHdub0xtZ1RXelgyZnhHcitLaXJz?=
 =?utf-8?B?Wmh5djlvWXRUVGFTelNVMERSUm04TnRCcHFwdGlzZ2FKVnk1eDZ2SnE4OVhm?=
 =?utf-8?B?T0k5dTI4UkpuS0crMFFXeWZqYnV1YWVJa29VdHJhY3IwNWlBb0c2NkhBTS9a?=
 =?utf-8?B?REtzL0xxUVUwYnEzRTE1dUpoVWVDU3JoRWI4NWRPU01XSnd3YXM5Q2lPQ0Q1?=
 =?utf-8?B?bzM4WGE4TjdJMFlVNVdwcGpQNzlta3dqcVdWUW51cWpBdVRHaGYzNkJDSGNX?=
 =?utf-8?B?WUlsaENaVUpYRU9YS29GdWtkME1sV2p3SVc4SjdwK1NWeEpjQ0J5aHo0Sk51?=
 =?utf-8?B?ZTh0bmJhcHI2bkx1dFpZS2F0ZDZrYlByaWlCLzJSeThrOVJsdDMvWDFrUWxu?=
 =?utf-8?B?b0NOR1I5RitHbXlReDFHMEVWc2pGbXZvMnN3bG9aQ0V6UUhvaXBkNHN4WFRp?=
 =?utf-8?B?b1F0eWlNWHNZY2d4ZVFjZGFJMi9kRk15bExMaVMvZFZCZ1JZTW42Yy9STHgy?=
 =?utf-8?B?TnFOOHBaTlpxeUJEZjFkNE4wVkVOMXAvSUVhVTZTVmFmNnNQeHhySkFMVW84?=
 =?utf-8?B?N2Zwc0E4NU02bDMxdGVockNoQU5IM25PcWNvd1ZaZG81bU9CRmYvQkVGdUNk?=
 =?utf-8?B?aHNUanJ3Wmt1V1EyeEEwUWR2dGMrdE5XVk9ITExOWmxtV005ZklZUTcwUkVI?=
 =?utf-8?B?Nk9OUnVKK1I3SHhSS09mTjE5emlCT1FtUE1tUGhmS2lZSW1nd3NQVkphRWQr?=
 =?utf-8?B?UWRSOHpHNUNtNGF0Q3pjaGlMYkMyUGlvRVFOZ2hiSFJESWljREYyaHJWTE5s?=
 =?utf-8?B?ZUFEdFlwWk1PeEh0OVJtNWQ1RElPTE42TTA1R0dSdXFGQS9LM0RlOHQ2UTZQ?=
 =?utf-8?B?TWQ2VjlJaVRyd2VGajduejdKTzFTcjNaRFcvbDBtdmMxN3J4SlhmUDVySkhs?=
 =?utf-8?B?VUdmRU9JU3VqelFPN0ZTWVJHcHJpeVdzaEtmQXJGR3FpZlhqa3hoRjE1SWlC?=
 =?utf-8?B?NDhYNk5sMUR1Nm95MzUvSG1BeGxrTEZPLzExaHpOU3Q2Q2Q4Q0p3RWdLTWNC?=
 =?utf-8?B?aEtoYWE1YW96QjMxbkJZeDNhRjNqTnF6SzRNTjRaRVl4bmRWeFg0YzVza0FH?=
 =?utf-8?B?R1NrVXNTMEpmTU1yKzlVcWtNeXJ0VVhNMHhnTTRmN1ZUMFVaMXNvUGlJSHNq?=
 =?utf-8?B?RUpMUmlwMktPb0gzTTFzd2hWZlpHUGFXQkZ4TG1yaDlBR1J1VWh5N05Ubmh1?=
 =?utf-8?B?TUVpT1ZOVzIrM0JTUWVBVENLU0FWUExoUktsa2Jzd09TNU5rZUhwYnJxbWpk?=
 =?utf-8?B?cTBUTXIvTnNmYkJYSkx2YmJ2bDVERnNSQWNZY210ay9BRC9tWjZjT3VVUFhr?=
 =?utf-8?B?UEZ0OXB4ZktGZVk2b3dFZmNSWnhmUUhMb0t5SFdwdXh0V0IrZHk2ZHU2NzFj?=
 =?utf-8?B?S2JqTUthYVkxSXlYL3l3MWJSL1JONm1VUmY2UGRFbFVRODN6SU9BQU9KdlN1?=
 =?utf-8?B?TXpuOFNUV1RxUDh2RUpZazU2UGhyTzZpQzMraEgwWTVieGRkSG5ScDVJWnlI?=
 =?utf-8?B?Q2tYdG95bnUxUFA2b0JnSWR3RXFCOXQ1OTIwNnBFU0wweGhRYTdTa2ZCQzVn?=
 =?utf-8?B?Nk9KTmZVZklIYnFsL0xLVno0ckh5TUJPQllpdWtMTndXSVB1OUg5dUlQNVFS?=
 =?utf-8?B?NGc2TXhVaExkK3YyNzBSZkVBTzNsR29zQW1oR2ExVEVkQ2dpM2FDNFdPUXpQ?=
 =?utf-8?Q?Rqr5hVXktwUQihXfnweVCI3wJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9925fe6a-9bfa-48aa-d25b-08dbecc8da24
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:39:20.2028
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: WPFfhS0jWYG/vXPMg8UhZ1C1bhJBv4VgrMq9mDbAS9BPaVGcFDyZ5HM23aHsIfCximY6aiqmbHa38gYA7Pu6cg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8326

__init{const,data}_cf_clobber can have an effect only for pointers
actually populated in the respective tables. While not the case for SVM
right now, VMX installs a number of pointers only under certain
conditions. Hence the respective functions would have their ENDBR purged
only when those conditions are met. Invoke "pruning" functions after
having copied the respective tables, for them to install any "missing"
pointers.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This is largely cosmetic for present hardware, which when supporting
CET-IBT likely also supports all of the advanced VMX features for which
hook pointers are installed conditionally. The only case this would make
a difference there is when use of respective features was suppressed via
command line option (where available). For future hooks it may end up
relevant even by default, and it also would be if AMD started supporting
CET-IBT; right now it matters only for .pi_update_irte, as iommu_intpost
continues to default to off.

Originally I had meant to put the SVM and VMX functions in presmp-
initcalls, but hvm/{svm,vmx}/built_in.o are linked into hvm/built_in.o
before hvm/hvm.o. And I don't think I want to fiddle with link order
here.
---
v2: Use cpu_has_xen_ibt in prune_{svm,vmx}().

--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -161,10 +161,15 @@ static int __init cf_check hvm_enable(vo
     else if ( cpu_has_svm )
         fns = start_svm();
 
+    if ( fns )
+        hvm_funcs = *fns;
+
+    prune_vmx();
+    prune_svm();
+
     if ( fns == NULL )
         return 0;
 
-    hvm_funcs = *fns;
     hvm_enabled = 1;
 
     printk("HVM: %s enabled\n", fns->name);
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -2587,6 +2587,19 @@ const struct hvm_function_table * __init
     return &svm_function_table;
 }
 
+void __init prune_svm(void)
+{
+    /*
+     * Now that svm_function_table was copied, populate all function pointers
+     * which may have been left at NULL, for __initdata_cf_clobber to have as
+     * much of an effect as possible.
+     */
+    if ( !cpu_has_xen_ibt )
+        return;
+
+    /* Nothing at present. */
+}
+
 void asmlinkage svm_vmexit_handler(void)
 {
     struct cpu_user_regs *regs = guest_cpu_user_regs();
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -3033,6 +3033,30 @@ const struct hvm_function_table * __init
     return &vmx_function_table;
 }
 
+void __init prune_vmx(void)
+{
+    /*
+     * Now that vmx_function_table was copied, populate all function pointers
+     * which may have been left at NULL, for __initdata_cf_clobber to have as
+     * much of an effect as possible.
+     */
+    if ( !cpu_has_xen_ibt )
+        return;
+
+    vmx_function_table.set_descriptor_access_exiting =
+        vmx_set_descriptor_access_exiting;
+
+    vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
+    vmx_function_table.process_isr            = vmx_process_isr;
+    vmx_function_table.handle_eoi             = vmx_handle_eoi;
+
+    vmx_function_table.pi_update_irte = vmx_pi_update_irte;
+
+    vmx_function_table.deliver_posted_intr = vmx_deliver_posted_intr;
+    vmx_function_table.sync_pir_to_irr     = vmx_sync_pir_to_irr;
+    vmx_function_table.test_pir            = vmx_test_pir;
+}
+
 /*
  * Not all cases receive valid value in the VM-exit instruction length field.
  * Callers must know what they're doing!
--- a/xen/arch/x86/include/asm/hvm/hvm.h
+++ b/xen/arch/x86/include/asm/hvm/hvm.h
@@ -250,6 +250,9 @@ extern s8 hvm_port80_allowed;
 extern const struct hvm_function_table *start_svm(void);
 extern const struct hvm_function_table *start_vmx(void);
 
+void prune_svm(void);
+void prune_vmx(void);
+
 int hvm_domain_initialise(struct domain *d,
                           const struct xen_domctl_createdomain *config);
 void hvm_domain_relinquish_resources(struct domain *d);



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:40:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:40:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640238.998203 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rjg-0000VA-4O; Fri, 24 Nov 2023 08:40:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640238.998203; Fri, 24 Nov 2023 08:40: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 1r6Rjg-0000V3-0X; Fri, 24 Nov 2023 08:40:28 +0000
Received: by outflank-mailman (input) for mailman id 640238;
 Fri, 24 Nov 2023 08:40: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rjf-0000Uv-F1
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:40:27 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2051.outbound.protection.outlook.com [40.107.7.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1cfaae34-8aa5-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:40:25 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8326.eurprd04.prod.outlook.com (2603:10a6:20b:3ff::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:40:23 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08: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: 1cfaae34-8aa5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GCbQt8YD4kLRYV2b1fvrTRyGw3yEUz7UM9XrWXr+YxgsKf50eWO7O1cefwvgUuE7uVN34df9uAXJtgVoVOv8u9r3PVupSydTgmBorRFrR1W/9GaGngssdH5mgE54Din5QkBK3SBFqGtn3Y/f6+sArhuGmugLfzp2Z8bT4+bmUY7MHdt56ESCBOtKfXN5rnFmYSfdrB+m6ljv12Ll35W07sCK6t5jEq7AasglqrWh5QjPGwL7OrgKGASYda5ad7PddesLpPDxivfCfY3v1Sgd3WeZ0d6dSJmgFi0c6KIFrCEkWkj5mSl/t0mN6mqJt8zKozE+bCcB6qzwTkEMNO7vQg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hmgDzGpnv27TMPDRUUUgHZCoJLepTwX1fsKTTH4fuI8=;
 b=INaOEflZF0t6MWnlrqqTGoL34JiUFbFvEA9InrhhvKNmBjs3Sfc+eSKpzQpu+3xGZPPhsLkziA/thKoF8qL/2eH+gIluIvOBLr2ksXYC6fkgOJz8BeUdi4GcA5PORGhm5/yStdyceQ42Beob3o/+WqCsMytyYB4wlOvermO3E+xZ+6Qt8beDhQtuwzPbNP5/aiwR49JMlixFmEUCfY6OeENMtxDq5QS//TSC1iwgHBylFq5qtXwKFgljmBI6qo8FHrIZO4NsCAM0YaSAB2tny/XgftLMmb2Ta1Gql4a1fQt8zBw0MqW5VeT6ElnzTgD3ZeOXBvYpu6rj/hI4iVP+TQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hmgDzGpnv27TMPDRUUUgHZCoJLepTwX1fsKTTH4fuI8=;
 b=YqTk41wMkza+SR9DXqOyhOAobkJqr27kf0hh+bKoKLAN7rtlU7+HKMBl0a7cVz0SaYfwMDWokseJtBj5jbDO4M0rkvYPxF3MVqHGRfMErxWn68fgx01e8o2LsW6OrCaTUeXMgXOKcYOWjo4vrLjLVU8DYXb/bQXPtyKLe+sNbTfqxcbHSoVZc9QYCQUWzi60fKvS5pRmHm+UbyAzNF0aSbL53RUcjN6DYd6tb8znBdagXxWvN2muzkTmCF373TnL3HZA/lQm+nAg1sQvcYHj7BqkWWI+at2kEchr9K1FVqA+m59mDuluOdFbC+q+a48OhUsN9ibfHnvtlipvbX3/UA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5ec88d40-6295-4f1b-932c-4890f7f9cd66@suse.com>
Date: Fri, 24 Nov 2023 09:40:23 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 07/15] VMX: drop vmcs_revision_id
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8326:EE_
X-MS-Office365-Filtering-Correlation-Id: 1bf2084a-ebcd-48f5-99ec-08dbecc9000c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QVSXW+hLWQFy2oM3GhWKMwd5MDDegwfR3ocUYkc2JB0po/U+b9vcb1xekZPXMxf5vHw56IzCn5NHbLsC7cqiyG16FQM/6hgO3KqC0brluWbygB8WSTKhjJe0UWYT6LhLpbKySdZ/Vm0qBcz4eiLomB35vrRjQ+BkAlD5N+zkE902jjhrnLAPTf2ZUP1+56RDIkt6LTSvTs1icoHxuslBuHd/iliA89eSZfjPHmubYSxGTS51zEDS0h2XoJ5oMArs/VVd5PSyaKr7IK68wi6iDLcm71YOPGE3zBGQIBjtTFIooBYlRmlyFzkdJH5R9ygTwr2Hd0DQxsPF7xTgjFf2fO/UOrZ9MGS7ABdYr255ZqFnQdOGGHL0uHJTyTx2taECKtll2WuLQe4HzEw4FHFiQhwEH6W6tTPmH9/FQDHDooK4urPR1eRkAe0etRGJNcrzbAM4eDVH4TcUPM5K+Oz+5shzwv93LNK5iAe9m64MmPX/0Xw6EIOjUuMpxXiLmS1VUM+9jepB6Y598S8GMlFjrTqi07cAYJ6dFba39YsNozmtt2g8VRBLGuwPdcqD7qemdCJyCr1VvEsCcJ79CxWvcQTI0BzrFwt+4qcE4n0Y+zknlTvAbl0R8Qk640ZoGj0NyNBoYE0KMqvzYrj3fPYttw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(376002)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(31686004)(26005)(66946007)(6916009)(66476007)(66556008)(54906003)(38100700002)(36756003)(31696002)(86362001)(6486002)(2616005)(6512007)(6506007)(478600001)(4326008)(2906002)(316002)(8676002)(8936002)(5660300002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Yy8zQUUzdklpdUJlcmN6VUpFbTdCdnhBUjhiMTlGQlpvK3RnK295NjVTc3dW?=
 =?utf-8?B?MEw0MEhLRk5TUE9RaDduLzlZLzhud0FLS0FPeXhYeHN2eUJVb0FycW1QZ1E2?=
 =?utf-8?B?YmRYKzllbHpiM2pOS2JadWh2TkdrQXYxaE9pdlhEbytFUkk5a0hlNVNwZHps?=
 =?utf-8?B?Mk9vZk5HMjhMSG1jMHpMekd3Y3NOSmRMcGNNd0YxZTdvZWhGR2x3a2YyRjkr?=
 =?utf-8?B?bTAvaTZuZXA3Ums2ZG1ta2Z5MXVjVVo4VjJKZmNOVEF2TUtnM2hRUjAxMFVu?=
 =?utf-8?B?RzRoNnpIMGFoR3oxNC9jd2I0cTNZMjFTOFh0UmxLMHdPUmFkTkxMOFFkOWFC?=
 =?utf-8?B?MnlaUTNXYytyR1ZoNEhzV1VmUzdNZWljYmUrNUlGL0dQUHB4YnM3RVMzNmxI?=
 =?utf-8?B?SHNlbTQrbWdLV0NkYW9jQVNZQXhaT2Fwb0JMV0w1VjRFWExJTFM0bTdyN0lN?=
 =?utf-8?B?UUo4K0dhd0d3MmxkT1hTSnUveXFoYnZ2MXFHbzNOTGRxNHVTQ0pZTnJVZmJV?=
 =?utf-8?B?RjlCeW1oM283OEhGV2ExajBpb0JWNUJUUlNRYzhQTG1DaE5SMk1kREhtTWM0?=
 =?utf-8?B?M0hzOEFrbUp0NUhXSFoyQnZvZlJwVjhud0pUNFpTeGZrckszeWFoUVBhd1dy?=
 =?utf-8?B?ZmRaRUpUQmFwYktVdlZlclNEM2c1QVJFMFNTSlhLZWYvb3hDSlR6dW5WWW1t?=
 =?utf-8?B?WFZCWG1SQkNnRjlJbXZQT2RyN2dGbE5Kclo2VFZWUWtjVTVMN3FXeVRsWW10?=
 =?utf-8?B?ZHVQNVFVcVc5TFZjb1R4WWZQdUVHN3RCWllmdDNtdDVYdWFKdGVsczJNa0VS?=
 =?utf-8?B?NTlSQjhpNVoxNmZtU3Fpbm1RN2JOSlRKWHF3UFJVVzY5WGgrenIwMnlCaUZh?=
 =?utf-8?B?cmVVcmFQeTZ2TXZtcGhwUGJ6L3Q0M2wwQ3MwN1hGMkFRbmFXUERrYkZvY2dv?=
 =?utf-8?B?WjFBQjVyWFR1S2VTSEEyMEx6WDJOQitDWkJXaUk0bkwzUVM2eko4WFhHWDRX?=
 =?utf-8?B?R3BNRjVOOFliTjgxcVVYVXVMbzdHRWN6cFBGMjM1Y0cveGNxb25FRENqQ3VW?=
 =?utf-8?B?NFl3dzNvVEVBZ0dYMmtDN0VhZWtwcWhGRDJKWUVlc3QxdVB5QzEzdmR6OG9Q?=
 =?utf-8?B?SllTSWZiWEsyREo0NHkzaHBIWllHTEQzMllEUSs0d1VBdVIrcXIvTFRiZTM4?=
 =?utf-8?B?b1lOWm5UOGJicm1TUnloTGdQZ3k1bzkzNUhFSEp2UGV2aUZOQWs4b1FYYzFU?=
 =?utf-8?B?ZjNQZVY0MlVqKzRMWVlMREhveEQyYmVCcjJEdElKMzQzVWNjMkFnSGdLVXdN?=
 =?utf-8?B?Q0xtSVhUblRyRHJtdnJvcXJQUlAvcHNVY1U0T0FIVUlMVDRQRFJ4ekdibjlo?=
 =?utf-8?B?bXFBaC81a2liazR5MXY2RENqd1ZxMHprZ3RncDZWdFI5K3JkZHVFK0NmMzB2?=
 =?utf-8?B?U2pjVlZRNzR4d0xLaFlucDZDenhyUEh2Sk9KeXNtK0g2VWxPRFhtZWxkQ3hp?=
 =?utf-8?B?dlpsT3JTWkowZE9DRTc4VG8zcGk0Sk1RTWVscEozZ1ZJVGR4UkwzVTRRK0lm?=
 =?utf-8?B?MlFHRkZiWkFPVW1WWFFyWGlEVEdzaEVCaUxoeUUydk41L2lsS3JJTFZoTHQr?=
 =?utf-8?B?Z2dvbmg0NXZvZHMxM3BNWStSaHJMOUhTY1ZMaUs3d05kRGVvODJKT2dBNmR4?=
 =?utf-8?B?cFc5eDJ2YVNqWFVPK3RSdHZhOURFVFhTRE9GcXI0L0tNSTdrcE0xaGJYUzRH?=
 =?utf-8?B?UlN2Y3I1ckVkc2crOFVrbjVLcnJ3S29QcUw3MFJiMXl2cTg5ZnFBRlNzMVVE?=
 =?utf-8?B?L3daZGx0eEtiM0RVdWlLUEYwRzlDYU1zaDFIVDF3QlpBS3NwNFVoY3JmMm5O?=
 =?utf-8?B?aUMzM1p6SGRHdmNrU2M5VVJ3Q1hFNTJqMjZYdDNuRkhlbzdLOFQ0VHErUXhZ?=
 =?utf-8?B?UkVGeDZyTnZrQ2R4WWFKcVZQbVQwenhyeDRvM3BtVFQ0czhtVlBMK1FrTnd0?=
 =?utf-8?B?eVFQVG54WlRUWEVLSmNXMnhOVlVhY2VaakRHTldITVpiZmpwcXRYei9IelRp?=
 =?utf-8?B?QmdkVnRVQmkzUFBUcTE2NVNmSllNM0d6eWkrTGRFVDJBUGdNUGxQK2Z6dkdI?=
 =?utf-8?Q?78CmYHSn8AxpKA5M86Me+Do/3?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1bf2084a-ebcd-48f5-99ec-08dbecc9000c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:40:23.7804
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tukaQiWBk9axuFaSA+ZgGJYJuHvLJAenXzDKmY9rwKCzcZFrJSX5vyRG6m46ug3qjufMMRoaAcmnFbI/jLd0Mw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8326

It's effectively redundant with vmx_basic_msr. For the #define
replacement to work, struct vmcs_struct's respective field name also
needs to change: Drop the not really meaningful "vmcs_" prefix from it.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -174,7 +174,7 @@ static DEFINE_PER_CPU(paddr_t, current_v
 static DEFINE_PER_CPU(struct list_head, active_vmcs_list);
 DEFINE_PER_CPU(bool, vmxon);
 
-static u32 vmcs_revision_id __read_mostly;
+#define vmcs_revision_id (vmx_basic_msr & VMX_BASIC_REVISION_MASK)
 u64 __read_mostly vmx_basic_msr;
 
 static void __init vmx_display_features(void)
@@ -464,7 +464,6 @@ static int vmx_init_vmcs_config(bool bsp
     if ( !vmx_pin_based_exec_control )
     {
         /* First time through. */
-        vmcs_revision_id           = vmx_basic_msr_low & VMX_BASIC_REVISION_MASK;
         vmx_pin_based_exec_control = _vmx_pin_based_exec_control;
         vmx_cpu_based_exec_control = _vmx_cpu_based_exec_control;
         vmx_secondary_exec_control = _vmx_secondary_exec_control;
@@ -572,7 +571,7 @@ static paddr_t vmx_alloc_vmcs(void)
 
     vmcs = __map_domain_page(pg);
     clear_page(vmcs);
-    vmcs->vmcs_revision_id = vmcs_revision_id;
+    vmcs->revision_id = vmcs_revision_id;
     unmap_domain_page(vmcs);
 
     return page_to_maddr(pg);
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1163,7 +1163,7 @@ static void nvmx_set_vmcs_pointer(struct
     paddr_t vvmcs_maddr = v->arch.hvm.vmx.vmcs_shadow_maddr;
 
     __vmpclear(vvmcs_maddr);
-    vvmcs->vmcs_revision_id |= VMCS_RID_TYPE_MASK;
+    vvmcs->revision_id |= VMCS_RID_TYPE_MASK;
     v->arch.hvm.vmx.secondary_exec_control |=
         SECONDARY_EXEC_ENABLE_VMCS_SHADOWING;
     __vmwrite(SECONDARY_VM_EXEC_CONTROL,
@@ -1178,7 +1178,7 @@ static void nvmx_clear_vmcs_pointer(stru
     paddr_t vvmcs_maddr = v->arch.hvm.vmx.vmcs_shadow_maddr;
 
     __vmpclear(vvmcs_maddr);
-    vvmcs->vmcs_revision_id &= ~VMCS_RID_TYPE_MASK;
+    vvmcs->revision_id &= ~VMCS_RID_TYPE_MASK;
     v->arch.hvm.vmx.secondary_exec_control &=
         ~SECONDARY_EXEC_ENABLE_VMCS_SHADOWING;
     __vmwrite(SECONDARY_VM_EXEC_CONTROL,
@@ -1794,10 +1794,10 @@ static int nvmx_handle_vmptrld(struct cp
             {
                 struct vmcs_struct *vvmcs = vvmcx;
 
-                if ( ((vvmcs->vmcs_revision_id ^ vmx_basic_msr) &
-                                         VMX_BASIC_REVISION_MASK) ||
+                if ( ((vvmcs->revision_id ^ vmx_basic_msr) &
+                      VMX_BASIC_REVISION_MASK) ||
                      (!cpu_has_vmx_vmcs_shadowing &&
-                      (vvmcs->vmcs_revision_id & ~VMX_BASIC_REVISION_MASK)) )
+                      (vvmcs->revision_id & ~VMX_BASIC_REVISION_MASK)) )
                 {
                     hvm_unmap_guest_frame(vvmcx, 1);
                     vmfail(regs, VMX_INSN_VMPTRLD_INCORRECT_VMCS_ID);
@@ -2209,7 +2209,7 @@ int nvmx_msr_read_intercept(unsigned int
             map_domain_page(_mfn(PFN_DOWN(v->arch.hvm.vmx.vmcs_pa)));
 
         data = (host_data & (~0ul << 32)) |
-               (vmcs->vmcs_revision_id & 0x7fffffff);
+               (vmcs->revision_id & 0x7fffffff);
         unmap_domain_page(vmcs);
 
         if ( !cpu_has_vmx_vmcs_shadowing )
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -17,7 +17,7 @@ int cf_check vmx_cpu_up(void);
 void cf_check vmx_cpu_down(void);
 
 struct vmcs_struct {
-    u32 vmcs_revision_id;
+    uint32_t revision_id;
     unsigned char data [0]; /* vmcs size is read from MSR */
 };
 



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:41:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:41:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640242.998213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6RkL-00011u-DM; Fri, 24 Nov 2023 08:41:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640242.998213; Fri, 24 Nov 2023 08:41: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 1r6RkL-00011n-9S; Fri, 24 Nov 2023 08:41:09 +0000
Received: by outflank-mailman (input) for mailman id 640242;
 Fri, 24 Nov 2023 08:41: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6RkK-0000w7-7c
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:41:08 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2054.outbound.protection.outlook.com [40.107.7.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 35fd36c1-8aa5-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 09:41:07 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8326.eurprd04.prod.outlook.com (2603:10a6:20b:3ff::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:41:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:41: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: 35fd36c1-8aa5-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D+ouUBlKszdRgtU2ttY+EwDtXA8DUCwg6Bu6OXVFMQIWb2MWY5yjhBdCtGrlUt1ou+pymfw8GxmRv+XROVLbGwWtusXtq1vIfjgRNJg1S6Tsi68yjViohSolR/YWxOZLrTcwHVmL/KrNxhSbEmtmg4PzvJK1SKH6lag2kZnZGcLEfmqoqRUFjdWXltUkR1H2WVr7atX8NcD81S/pZEACBGkZkKT+5+ZiWIRWP5dbTO0q+z2qtUPcS85EBAiHVkETHSSRq40x9hGLM7E1cViI18koDJWKgfJX2Put6pq+6pQ0HxkZoNWd5XJY97es0CRRaB4fnnsCYzc3qkV9R4xSpA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Kyyx5vIHThvSYKK02N9Y0rNPtrf3MAusP4heeqDrmco=;
 b=jky5A/+2rbuGTqAbXBKi+a2wviEMfLw1bAnXO5WdkOBKbyKPkt9Q+BmKidDIIPP8k/T7t+GoRiOmGvYVNleZiczjQbTinCUJ7wxwMdLq+pTptRMaiVE1F2FhnsHypOyofEvQhGoC4A0OASjnac2lssKjN+x+e2g64ZdJPDVmNF+JeRgASKB2xqfsjFjrX7W2dZggJu4KCtL1uIOeFvDC0j/2W+Wm0wX4RxTo0SxE5xhKOCc4K47NOi9Vn2xs5XOveTRAzE7pXG+KH1I6jdMQnA+EqxqzH1kiMALfM89nzAiHLJSNKtcC2FkE3eYllvLaIES4hcwn81qO6acx+uOeDg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Kyyx5vIHThvSYKK02N9Y0rNPtrf3MAusP4heeqDrmco=;
 b=WMfIQjOEeg+6m+YVy3EqCoKDFh9AiPahYEYtYTQRp3Rl0MjOPMw1Bum0mkOS9OE52bJevOeOR4DMcaegYDjAet1wySJzmMBBBBJY7W8Mn4OziiQ8AvzvNfgTB7PK5M14aCX9XwET0Pelz8s2d2xAZOXm//kfto8w4Qpw70oXKvxptRzXcAUtzGmDFnxZgQ9uxukxLxupnUVlaER6+cJzpp5fZuPjhtLgN51nA9UXFOic3FJQVxoBqzUK7Zji5yFU3s68vKl9yxY2nixblkJr9H/RRJ8RxaMoCh7wvnEO2HQJMHiSDYoPbMM57kULPVWq8sylsPgpOuyzkxHaYqEteA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d07fb86f-ef9c-4c2b-ba9a-f1e5c813d45d@suse.com>
Date: Fri, 24 Nov 2023 09:41:05 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 08/15] VMX: convert vmx_basic_msr
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8326:EE_
X-MS-Office365-Filtering-Correlation-Id: 935eef31-ed9b-4576-38c7-08dbecc9196b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	enLxqzssjVJx/wQOZVANK5hv7Us8r2/7tkQir13eYb1/aiKsJpf/wU+Gs3Hffr5Qqg4Wnqpe4YDDQ53QDs67IDQ2upOUJB93s3dWCqiycO1lXrz6PjS4XXswpOaEyeAOvJwLLVP2niWS7liamwOGQNojBz5OFw4vQl/JH1867yXIz6ruZWBL6ADTHkKCmiG315Oc8ZuRhU1kdHECFxMinQIPRvbSsMs8WIVclkyKuWjYpKH+S8K7IiM75GH/Rp5yaBjAvHvEh+FEhgcvvGQaJa3pqSUr6a6r9HzEsZ0AfqGDUXcVtTB3+5lZtl2nG0zbTKybHfzcRSO4OpnLn/o25GCBjfKYtoPduGGPue3QUPfe1ptW8UqiNnJr7XYW5HuiA56ArObdLqYgG8RUvilMT3wVl7oR1L8odXLFN1hxjfEpYjb7GK8jbqb8HKHzrIg57kvl2PIY6ag8ZWHy5fzJa4+H2XOsawPqPTN5HqDdz8sbKuhb/NH3EwuReZkSPuvHw7wujFRN8x8C21WWENjTrtsJjHcmQR36UHgxa0spj7fAkE3pbFp1VfrEPL2rcR2XxvBvGfKbiiRC0zyLyr4b0Y7f86PwhA55AC2vXvqLhqXSqRMxJgnAS57ZWdYOEqagusKucbZwAfotSdqJTbOEJA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(376002)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(31686004)(26005)(66946007)(6916009)(66476007)(66556008)(54906003)(38100700002)(36756003)(31696002)(86362001)(6486002)(83380400001)(2616005)(6512007)(6506007)(478600001)(4326008)(2906002)(316002)(8676002)(8936002)(5660300002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bDZyK0REOUl3RzJialVabTdreXhvUy9QQXh5aFEzYk53S25nQWVxSFc3MTRS?=
 =?utf-8?B?NE5PYUxHKzlSejJhZHozNHNQYXFBYTFKQ2taQ0pYQnZJY0VHay96M2N3UW1K?=
 =?utf-8?B?d1IzSWVBanE2cXNPUHJUeGZQcWlTeEtsUDR1cTRMa0tDWkd4a3V3K3AvR3Fx?=
 =?utf-8?B?aVpPdXNMNjc0eUxuaWY3T3kzRmpaUDJzaWszTVB3Z2NMdFZlN2RxbmVPbFMy?=
 =?utf-8?B?TDQxU0ZQaHpUd1hCR3REV3hveU9uUGxwWWNhYmxBdU9kWjRZQ1lyYkJuSVRa?=
 =?utf-8?B?NDgxVSt5SGxaTTNJL05IYkgvZzBDeTZ0MzBldzZjYXRmS0ZTYmxoT01FL0ls?=
 =?utf-8?B?TmVSN2FPNDlwSnFKWU9pUVgra1VtUldVSmFUQmFDUTkzcGJOaXZlY2lRaEkr?=
 =?utf-8?B?bVVQSmlkK0I2cDQwM3Yza3BpKytjeHZ1Vm1CNDlWREJkYVFtZHQyd2NWWnRs?=
 =?utf-8?B?d21ucVlLT29nZ3pRVklpaW1zTWNQdUxOT2tFbmYxOTRveUtJR05OVjdTcFpQ?=
 =?utf-8?B?bisraVpjODdZYUIrWUFsT0RqV1JEUUxRaFQxVGdjMWREMVFPZ2VtV3VHbWFJ?=
 =?utf-8?B?KzZvTzRES3ZpYVU4U3IvWnd2M2NYQ0ZGS3IwQk56RW1JbzJxVXRvalFZcVZx?=
 =?utf-8?B?L3lCR3N6NG9NYmFYamxXS1hPU0dhL2JWNysrMXIzVTVSMjBhSTB4U0luOUpF?=
 =?utf-8?B?YzlQTzJJYkluVlBGdnB3N3NxZ3VnRWlYWktidFNvL1dKZHpNTGZIWXhWd2pu?=
 =?utf-8?B?REV0UlRibkNpWTZ6YndHSHlnOXRpazNhOHVicDVjWHFOWGMvOWpkeDNiM0I5?=
 =?utf-8?B?c2tMdDRpeTlxVEdscmZuUkdQT3QxdjJzY1poN2tzV3hNTWV2aU9MTWxONEhK?=
 =?utf-8?B?QXRrdENkYSs0WWtrQ3JIUVR3MEREZjZkVEhvUCtRWDE2R2N1QytKMStsMVNY?=
 =?utf-8?B?eTArcnY3aUpOakFhTFpMV25DK1RFWHoxdXlza1FwQzlqcGRzSmxoeWI5bTFE?=
 =?utf-8?B?MEprb28yNWMxWWRtS1k1YzdjZE1wTmRJMmx3bEhWZWg4YlVQb2huc2tlUXpI?=
 =?utf-8?B?dzd4SjIvRjgvem9mQkRMcFpuMXp0Y0g2UEdGclA3cWhrcXVySlhXaXBYSjJP?=
 =?utf-8?B?S05JYTczdXFlZVQ5cktYWGlsQytRUDNPbjUxV3RudFBqQW5LUkxESmZSNHFm?=
 =?utf-8?B?Z0tQVFA2TVVxc2gvNGJDSVhXUnIrUWoxbHQ2WjN2ZVczWUVWK0FxaERDVEF0?=
 =?utf-8?B?bTlldjBsOFZ2UTRmNEl3Mk9yVDZJSFNsckc4MGg4N1puY05tNis4SlltMnc4?=
 =?utf-8?B?RWtmVC9sZGQwdlFGWlNNV2F6NzRKbVpzckY0T254cm53UVNZeG9Nb0szbkFy?=
 =?utf-8?B?Tk5QbitZZStnVmRSY0MyNSs3MUJDdkZKV1dOWjZiT3I3Q1dCbGZhcFkzMWZX?=
 =?utf-8?B?bEVHM09WS2F5YzFnTUl0OGc0Z2F2cDZPUHRxMDZHZlgrTVhCSllBM1k1ZjNs?=
 =?utf-8?B?QnE5eEpHVkZsc3NDbmlKWkhlcEc4SStpK0Zrb2lHWGNGVWhkUEluTU10NUN4?=
 =?utf-8?B?OEd6eFNPQWxMZTdGOGlMMURkT1F2Z0NCUWJtMFYydUh2NGN2cjJLT0JJdXl3?=
 =?utf-8?B?Zzh2U0EwZmJTRXpLeCtmQVlpeDZqMlA4RnR6b3pucFZqYVVYL2FPUW9hTTVV?=
 =?utf-8?B?VUE2bGRYS1BDYUl6Vmc5OGN2NHUxVkZkTUNiWndxRW5ERHltYjFGZDVjTzNM?=
 =?utf-8?B?am40YWZhMmRLcHhHL3BQSTVwK2ozbDJOZW1wU0R6Z2R0RnZ0aTlBZnd3UFRx?=
 =?utf-8?B?dlpiRE8xZzE3ci9tK3YzOFRGWGFaUGtVNVZ1UHZPcnlQanVHT1JMTTI1RTMw?=
 =?utf-8?B?L2dhd1FtTVAxWHpDSzJqWFJnMDR6aStMekNjM0I2Ui9OMktRa1VIYmtndFpx?=
 =?utf-8?B?RU5rWkJDZHJTYitIUDd3QjlQU2F1UTdKK2xvMXZTQ3E3NmV5d2pHb0IzQ0gv?=
 =?utf-8?B?WC9OeHg0R0RmRXZiRWJOdzBCOUQzS2Z6ZTQ3WEwybmIvVHFZTDlZTGpkZ21Y?=
 =?utf-8?B?Yjd0OEd4aXRkSWY3UzlLR2NvUGZMZklRVmpVTUlKV043aU12L1laL0JNNHhO?=
 =?utf-8?Q?RCtSsOuRStHiMlpfcbTXYweHb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 935eef31-ed9b-4576-38c7-08dbecc9196b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:41:06.2992
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zuoUYtDUYONARDDkFzcZO71nEp6WmTSZYegvyIo6RvjLAid/V0N2oHo79gNFTNGqvVJ3bFNwrdH8P6ByiThxDQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8326

... to a struct field, which is then going to be accompanied by other
capability/control data presently living in individual variables. As
this structure isn't supposed to be altered post-boot, put it in
.data.ro_after_init right away.

Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -161,6 +161,7 @@ static int cf_check parse_ept_param_runt
 #endif
 
 /* Dynamic (run-time adjusted) execution control flags. */
+struct vmx_caps __ro_after_init vmx_caps;
 u32 vmx_pin_based_exec_control __read_mostly;
 u32 vmx_cpu_based_exec_control __read_mostly;
 u32 vmx_secondary_exec_control __read_mostly;
@@ -174,8 +175,7 @@ static DEFINE_PER_CPU(paddr_t, current_v
 static DEFINE_PER_CPU(struct list_head, active_vmcs_list);
 DEFINE_PER_CPU(bool, vmxon);
 
-#define vmcs_revision_id (vmx_basic_msr & VMX_BASIC_REVISION_MASK)
-u64 __read_mostly vmx_basic_msr;
+#define vmcs_revision_id (vmx_caps.basic_msr & VMX_BASIC_REVISION_MASK)
 
 static void __init vmx_display_features(void)
 {
@@ -470,8 +470,8 @@ static int vmx_init_vmcs_config(bool bsp
         vmx_ept_vpid_cap           = _vmx_ept_vpid_cap;
         vmx_vmexit_control         = _vmx_vmexit_control;
         vmx_vmentry_control        = _vmx_vmentry_control;
-        vmx_basic_msr              = ((u64)vmx_basic_msr_high << 32) |
-                                     vmx_basic_msr_low;
+        vmx_caps.basic_msr = ((uint64_t)vmx_basic_msr_high << 32) |
+                             vmx_basic_msr_low;
         vmx_vmfunc                 = _vmx_vmfunc;
 
         vmx_display_features();
@@ -522,7 +522,7 @@ static int vmx_init_vmcs_config(bool bsp
             mismatch = 1;
         }
         if ( (vmx_basic_msr_high & (VMX_BASIC_VMCS_SIZE_MASK >> 32)) !=
-             ((vmx_basic_msr & VMX_BASIC_VMCS_SIZE_MASK) >> 32) )
+             ((vmx_caps.basic_msr & VMX_BASIC_VMCS_SIZE_MASK) >> 32) )
         {
             printk("VMX: CPU%d unexpected VMCS size %Lu\n",
                    smp_processor_id(),
@@ -2169,7 +2169,7 @@ int __init vmx_vmcs_init(void)
          * _vmx_vcpu_up() may have made it past feature identification.
          * Make sure all dependent features are off as well.
          */
-        vmx_basic_msr              = 0;
+        memset(&vmx_caps, 0, sizeof(vmx_caps));
         vmx_pin_based_exec_control = 0;
         vmx_cpu_based_exec_control = 0;
         vmx_secondary_exec_control = 0;
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -283,6 +283,12 @@ extern u64 vmx_ept_vpid_cap;
 
 #define VMX_TSC_MULTIPLIER_MAX                  0xffffffffffffffffULL
 
+/* Capabilities and dynamic (run-time adjusted) execution control flags. */
+struct vmx_caps {
+    uint64_t basic_msr;
+};
+extern struct vmx_caps vmx_caps;
+
 #define cpu_has_wbinvd_exiting \
     (vmx_secondary_exec_control & SECONDARY_EXEC_WBINVD_EXITING)
 #define cpu_has_vmx_virtualize_apic_accesses \
@@ -366,9 +372,8 @@ extern u64 vmx_ept_vpid_cap;
  */
 #define VMX_BASIC_DEFAULT1_ZERO		(1ULL << 55)
 
-extern u64 vmx_basic_msr;
 #define cpu_has_vmx_ins_outs_instr_info \
-    (!!(vmx_basic_msr & VMX_BASIC_INS_OUT_INFO))
+    (!!(vmx_caps.basic_msr & VMX_BASIC_INS_OUT_INFO))
 
 /* Guest interrupt status */
 #define VMX_GUEST_INTR_STATUS_SUBFIELD_BITMASK  0x0FF
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1556,7 +1556,7 @@ static int nvmx_handle_vmxon(struct cpu_
     rc = hvm_copy_from_guest_phys(&nvmcs_revid, gpa, sizeof(nvmcs_revid));
     if ( rc != HVMTRANS_okay ||
          (nvmcs_revid & ~VMX_BASIC_REVISION_MASK) ||
-         ((nvmcs_revid ^ vmx_basic_msr) & VMX_BASIC_REVISION_MASK) )
+         ((nvmcs_revid ^ vmx_caps.basic_msr) & VMX_BASIC_REVISION_MASK) )
     {
         vmfail_invalid(regs);
         return X86EMUL_OKAY;
@@ -1794,7 +1794,7 @@ static int nvmx_handle_vmptrld(struct cp
             {
                 struct vmcs_struct *vvmcs = vvmcx;
 
-                if ( ((vvmcs->revision_id ^ vmx_basic_msr) &
+                if ( ((vvmcs->revision_id ^ vmx_caps.basic_msr) &
                       VMX_BASIC_REVISION_MASK) ||
                      (!cpu_has_vmx_vmcs_shadowing &&
                       (vvmcs->revision_id & ~VMX_BASIC_REVISION_MASK)) )
@@ -2187,7 +2187,7 @@ int nvmx_msr_read_intercept(unsigned int
     case MSR_IA32_VMX_TRUE_PROCBASED_CTLS:
     case MSR_IA32_VMX_TRUE_EXIT_CTLS:
     case MSR_IA32_VMX_TRUE_ENTRY_CTLS:
-        if ( !(vmx_basic_msr & VMX_BASIC_DEFAULT1_ZERO) )
+        if ( !(vmx_caps.basic_msr & VMX_BASIC_DEFAULT1_ZERO) )
             return 0;
         break;
 



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:41:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:41:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640248.998233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rl9-0001ve-2q; Fri, 24 Nov 2023 08:41:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640248.998233; Fri, 24 Nov 2023 08:41: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 1r6Rl9-0001vT-05; Fri, 24 Nov 2023 08:41:59 +0000
Received: by outflank-mailman (input) for mailman id 640248;
 Fri, 24 Nov 2023 08:41: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rl7-0001P4-Fo
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:41:57 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2040.outbound.protection.outlook.com [40.107.7.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 52c92db0-8aa5-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:41:55 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8326.eurprd04.prod.outlook.com (2603:10a6:20b:3ff::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:41:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 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: 52c92db0-8aa5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nXdgE19PPtwNK00DKfOe0tEBFGkHf4saI403QUhU8EArbow5rS/VG6V8cjWVWJtCDtMlPwLXON0GTEPii5fnQqt4PsvaJ0FitWRXXJTPydQoPYVjc6fo5fflJikg5FL3Ap4+M3iKnh7yVWAlKktVTrDZXcWlttN0jnNdF63EFtGv5hpBkOO9KIZ7TCCpXyk5yyUPjpUTEaHmfug+NClA6OudviXi2PXZJY+apjggdlD8Psm/wxnXaa9b34OstjJes3cWmzBwDjkGUZduobxoSiLk/Px/MlqEERijBCqgqGnTB7aRlAZXCkSg5xEne+a7nQKAQdMeOop2Hz5tzn5izQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=C5lXav2XkZNNALmwvDKfV3gih8J86FdHybiKziaUjVo=;
 b=kPNSxCyfHotYacIeredoL2gVjTezHZDEppwcKADM1E1MaDq+SBJIlrUYn4QcSLqRLtGCqTERhiA7sI8RafKeILl5ORMUqUu3wYvj6PJLMkhNcATpfbtPXMlvE6Ufw3V5dyM42d1+3uENeiZgEr4KDP7xjHLAmLGM36S+haGGalIicy3hanUgBlfyQfb+mSs6lNhPZ+2BbhimFE2syKObvfziWWd3a4DmPVuyZKByzZFd+8imS8RgeihKiLYgwWEkaS6Oy7VkSJn6ffjj5la9pndZQIH01LKQ4KMLc9tPXqV7FFfM5P1VwnnOBWyOutgPQSBrlUqPVEphTyf1k7sbqw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=C5lXav2XkZNNALmwvDKfV3gih8J86FdHybiKziaUjVo=;
 b=qDffSD9TL6sdVEooP7Udt9PLSFmhQAAlijqoAScUlKOUxydtUUZcEZWxv5hjN7ysil+kDhKpFfESmrsNBhmkZ3KobK0pyyRVOfWoVb+OhIInJN70/Vi8lNvAo2za/x0+iA/zgYFs3Bu9wyYNCNH8cj5bysymsIf/lXUsFQqIZl6wsjLacitvy1lC1+O3YBmQmY2eM3ibQCAU0lXFE7c0euB5lthdIgsYGRS/9QSvqciwyoCTEFarPWdBR49A+OPCmSdQFKW6yDAgg/JvuqIxv07m7VUX0gAy1kiBOBEQmd+t1iazZAvXB6DbqrLc8/G+fhCdsrlbxLVRjunHCi77cQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <15d8e4cf-449f-4792-b235-f5ee218e2e0e@suse.com>
Date: Fri, 24 Nov 2023 09:41:45 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 10/15] VMX: convert vmx_cpu_based_exec_control
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8326:EE_
X-MS-Office365-Filtering-Correlation-Id: 8ce5cf1e-d9d3-472c-243a-08dbecc93113
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OyVrJgLCrKFOhug8zkHqNLBUaBLJrBpF852Jb/+6l5yP9ual3DoxK+5k8O1dn/fKi5NxYEQsCf2F664h2dBbzHyDmV2dQ3t8YDTgu32O9NWXF5YMzmIrPTfBZALhqGzsZNRNHj/AO8ZenFTNEYLYZC5YWB5treo/1p7VBY1vBVZzuSzaDKGeT5hiV3Vxtebwp5ny9TwBGG5ugMHAr58lJ+O6jxWte8hBd+zUc/DCfvbuJQzAm4Do5aLizEUU0E650oT12uIHehAfRGNOnUzyADVL6ymz7q/KJ5M691g89QHtidj6hfG+T0vnsGXmMbyDVXZll7tK58slkac9yAc2gyWIt0JrmOXkGRNtRVqWSIXJpPDlCU6RoJbhjJemFDMOisreJGcagz5fsWG05Y2hJGo2AMbV2x6QvstiWOCDLipoK1eHV8G8utRObI7/AotmCa2BWKK9lXQtm1Dkvx5RgAf+XdJe7B1CNFUVibwtE6GgNKe2beILSXRn2C1bAs3m7rCEd0pv9NNfqkrDxCNPK04YpVOYBXYaBToCeJ0aRyQ84pixClsBtk4nEYVkPI/fcylCmnrVxM9c5IBOq10OrviactG75G+JWDZs3O+kBlx0CtONIFAJB3hzeq0A5nBMh59htaTpoOaRbu9eB74Lag==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(376002)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(31686004)(26005)(66946007)(6916009)(66476007)(66556008)(54906003)(38100700002)(36756003)(31696002)(86362001)(6486002)(83380400001)(2616005)(6512007)(6506007)(478600001)(4326008)(2906002)(316002)(8676002)(8936002)(5660300002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RHBuNUVmb1NFYlJCendFeFVKMjZuQmpKdjhtdHpLSTlJbU96T1BHNDVENi9y?=
 =?utf-8?B?RnRzOHd0K0o2cjNtY3JpZTFaNnVVcjV1cVovckFrYzRzQXBBM3VHYlV1WjRh?=
 =?utf-8?B?QUpFOVJrM3dSblhRKzcwWWVpczhjRXltcjB5bkw4WW8wUzdETXFXNzBBVktG?=
 =?utf-8?B?VSsyQlU3bTYyeGwrbndQcFJpNDc2b211aEkxUjVyb3dRVnd4QVB5THZCVVJr?=
 =?utf-8?B?OUhYQjFldm1vM3Y5SlVRT1pabXpSN0YzdjRDNy9EWEN5SFRXbUg0VjRPTVU0?=
 =?utf-8?B?aWpTK0RPYVgwZU1yWHMzZmdTSmd5V0FRZlVtZm14MjlWbGszRkpZZDJkOTR0?=
 =?utf-8?B?bmloMU81VkM2bWpFQVB1RWpud0VjOUt2elk2cmM1Qk5WcGd4UXRDOXpMRCt5?=
 =?utf-8?B?WmtVaGdQY2JKNWJtVlZLWGRibW5SL0lVL2JTVXZDbTRzSDRteFFkT2ZBSHVD?=
 =?utf-8?B?UFlqcmNRWEtQblhXM3Q4VCttWjQ4c2tSTlFLMkRQOG92YjYzNkMvNHMyblNK?=
 =?utf-8?B?YSsyN1ZDdFgra3lqN1h6SjNJbzFOY1VqVCtERVpQRFcreVZVSzZKUXh4eXRZ?=
 =?utf-8?B?S1E5QzJYZUZCSVdhUWVvZmFPVmZLZG9vd1lrNExxRFVJclFoT3gxUDYzTm5O?=
 =?utf-8?B?OEVMUWhDNUR4VGN2VUR3czhZQmxFVDd3dk1DcUxmc3gzdEVzdEk4emM1R2xO?=
 =?utf-8?B?dUwrejg1RVNMSXpjbTBHQXhSenA1NDhUMWpjSERzV0F4enlyUUhYL3RSNWow?=
 =?utf-8?B?a2ZFZU1nUS9vTjV6K2RYTnFtNWdDNTRBZnJidTRndXBuZ1AyU01ETzBRWUg0?=
 =?utf-8?B?Znk3Vy9wV0dJOHBPRWxOTnBXdUM4U1o1bFRrTi9iTUVkK2Qva3pwaHNwZ25z?=
 =?utf-8?B?K3ZnZFlsTzdBTWxIN1lDTHl3cEFNaVR1QWp5VkNUc20zUnFhL1dQVXpxS1Zp?=
 =?utf-8?B?S1dTWWVDNElLMkJFNjFqeGg0cG9GRlRJVHc0RlZpbTF5QnZLQVU0ZmxKQVJa?=
 =?utf-8?B?UnlxZ0dkMjM4NHpMMWczVnJvM2hBMlp6UU5rNHR1U0NRbG4xQWZNQWk3ME1h?=
 =?utf-8?B?ZDBFSlFMZW9TcVNoOVZWelcvZkQrMVY3eGpmalQ2Zm9xMnczYlhXWWNyY1J1?=
 =?utf-8?B?MzRVcGxFay9rVGtNd3R1MzhuV3RRbi9wYlVJRWs2N0U5OXZoaTBSdUorTDBO?=
 =?utf-8?B?cXZuY3U3YUFBWmJnN0ptaGk2Njl5ZGltV0VvY3lMLzFkc1M0SkRCQVVDZjVh?=
 =?utf-8?B?d0NESVpJMFZwcktjWXQ5SjJqZ3ZWTk03KzZOUWxnaUZibGl6QXVxcWN4ajhZ?=
 =?utf-8?B?N3lwbGFDR1VhRGtZWnpHRWRUT2FZcFVEbEdnT1B4Zll5eWdPMXdOdzBOb1hN?=
 =?utf-8?B?UjY4M1ZDVDhpRG02dDBTYWt5YzZuYUtLdXVxWHNvWVpFNncvTWNnT3NiZnRj?=
 =?utf-8?B?ZWtTY0FGblQ5eGhEZC90ZjRadW16b29icFFtZGpnS1RSUXlydGxrUkZWVjlk?=
 =?utf-8?B?L09MNkdxcnlzSDh3L3F2aDRickFnMGdzR1RTa2wzcUVnU2pUV2dtT1VxR3Qr?=
 =?utf-8?B?bHlSSXNGZngwU0RZVHQyVWZLRHJkaUcwYy9yRkFacldGRGsrcnNJdG16SGti?=
 =?utf-8?B?MHBPMHVtbUgyVnlITHRHeUI1VEhYZ2xsckFvRzFUNWJJMTVaSFBMSmV0TXIx?=
 =?utf-8?B?WnJCdTFYaS96UGxRM3h1R2M3Y2RkNnByc1NlRTFUcmorZmY1NGkxMmJmYlBm?=
 =?utf-8?B?c2cySnhOVlNzbDNEeTZBaEhwbThNRFhYYjlwcm0vNEdGRkRxRVVObHFhR01X?=
 =?utf-8?B?Sm9hL2wxa2RRMlNFdGlVczN6bVBoUzl6Qk03THZ0OTlUWUdlZWlzSWNNOVJJ?=
 =?utf-8?B?dVZvczBXSWR6SFF1d2dYYVo3TkZrMDRDTlFvcG5ycE1qNzBrblZHOWQvdEZX?=
 =?utf-8?B?Sm44Y2Z0YVZHWEwwTjBpeXVGLzFHeTNYSkFhOXg2ekowNnpuS0tsa3FJVUxt?=
 =?utf-8?B?aFhjTGxSV2owRnMwZzBINHFnSlRuRWl6TFc3eFhLS2VjR0xMam1ScEZwUnFm?=
 =?utf-8?B?MWEzTm5BMmVvNWh6b2grOVF2cGhwVUhVSHVndjRiK1p0b3NmRDlTZDdyV3BV?=
 =?utf-8?Q?zTRTYAUdDt8r1nCt1jshXgZc0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8ce5cf1e-d9d3-472c-243a-08dbecc93113
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:41:46.0110
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yVIgkohcqWNmemg5gKQaWvH/WaOKiusXHjQwRDxm8ByIf9CKXWApkQNYxXYCVwDQSSB6xiZzVsD9QxU750xr/w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8326

... to a field in the capability/controls struct.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -162,7 +162,6 @@ static int cf_check parse_ept_param_runt
 
 /* Dynamic (run-time adjusted) execution control flags. */
 struct vmx_caps __ro_after_init vmx_caps;
-u32 vmx_cpu_based_exec_control __read_mostly;
 u32 vmx_secondary_exec_control __read_mostly;
 u32 vmx_vmexit_control __read_mostly;
 u32 vmx_vmentry_control __read_mostly;
@@ -238,7 +237,6 @@ static int vmx_init_vmcs_config(bool bsp
 {
     u32 vmx_basic_msr_low, vmx_basic_msr_high, min, opt;
     struct vmx_caps caps;
-    u32 _vmx_cpu_based_exec_control;
     u32 _vmx_secondary_exec_control = 0;
     u64 _vmx_ept_vpid_cap = 0;
     u64 _vmx_misc_cap = 0;
@@ -274,12 +272,12 @@ static int vmx_init_vmcs_config(bool bsp
            CPU_BASED_TPR_SHADOW |
            CPU_BASED_MONITOR_TRAP_FLAG |
            CPU_BASED_ACTIVATE_SECONDARY_CONTROLS);
-    _vmx_cpu_based_exec_control = adjust_vmx_controls(
+    caps.cpu_based_exec_control = adjust_vmx_controls(
         "CPU-Based Exec Control", min, opt,
         MSR_IA32_VMX_PROCBASED_CTLS, &mismatch);
-    _vmx_cpu_based_exec_control &= ~CPU_BASED_RDTSC_EXITING;
-    if ( _vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW )
-        _vmx_cpu_based_exec_control &=
+    caps.cpu_based_exec_control &= ~CPU_BASED_RDTSC_EXITING;
+    if ( caps.cpu_based_exec_control & CPU_BASED_TPR_SHADOW )
+        caps.cpu_based_exec_control &=
             ~(CPU_BASED_CR8_LOAD_EXITING | CPU_BASED_CR8_STORE_EXITING);
 
     rdmsrl(MSR_IA32_VMX_MISC, _vmx_misc_cap);
@@ -296,7 +294,7 @@ static int vmx_init_vmcs_config(bool bsp
         return -EINVAL;
     }
 
-    if ( _vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS )
+    if ( caps.cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS )
     {
         min = 0;
         opt = (SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES |
@@ -326,7 +324,7 @@ static int vmx_init_vmcs_config(bool bsp
          * "APIC Register Virtualization" and "Virtual Interrupt Delivery"
          * can be set only when "use TPR shadow" is set
          */
-        if ( (_vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW) &&
+        if ( (caps.cpu_based_exec_control & CPU_BASED_TPR_SHADOW) &&
              opt_apicv_enabled )
             opt |= SECONDARY_EXEC_APIC_REGISTER_VIRT |
                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
@@ -464,7 +462,6 @@ static int vmx_init_vmcs_config(bool bsp
     {
         /* First time through. */
         vmx_caps = caps;
-        vmx_cpu_based_exec_control = _vmx_cpu_based_exec_control;
         vmx_secondary_exec_control = _vmx_secondary_exec_control;
         vmx_ept_vpid_cap           = _vmx_ept_vpid_cap;
         vmx_vmexit_control         = _vmx_vmexit_control;
@@ -496,7 +493,7 @@ static int vmx_init_vmcs_config(bool bsp
             vmx_caps.pin_based_exec_control, caps.pin_based_exec_control);
         mismatch |= cap_check(
             "CPU-Based Exec Control",
-            vmx_cpu_based_exec_control, _vmx_cpu_based_exec_control);
+            vmx_caps.cpu_based_exec_control, caps.cpu_based_exec_control);
         mismatch |= cap_check(
             "Secondary Exec Control",
             vmx_secondary_exec_control, _vmx_secondary_exec_control);
@@ -1073,7 +1070,7 @@ static int construct_vmcs(struct vcpu *v
     /* VMCS controls. */
     __vmwrite(PIN_BASED_VM_EXEC_CONTROL, vmx_caps.pin_based_exec_control);
 
-    v->arch.hvm.vmx.exec_control = vmx_cpu_based_exec_control;
+    v->arch.hvm.vmx.exec_control = vmx_caps.cpu_based_exec_control;
     if ( d->arch.vtsc && !cpu_has_vmx_tsc_scaling )
         v->arch.hvm.vmx.exec_control |= CPU_BASED_RDTSC_EXITING;
 
@@ -2169,7 +2166,6 @@ int __init vmx_vmcs_init(void)
          * Make sure all dependent features are off as well.
          */
         memset(&vmx_caps, 0, sizeof(vmx_caps));
-        vmx_cpu_based_exec_control = 0;
         vmx_secondary_exec_control = 0;
         vmx_vmexit_control         = 0;
         vmx_vmentry_control        = 0;
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -208,7 +208,6 @@ void vmx_vmcs_reload(struct vcpu *v);
 #define CPU_BASED_MONITOR_EXITING             0x20000000U
 #define CPU_BASED_PAUSE_EXITING               0x40000000U
 #define CPU_BASED_ACTIVATE_SECONDARY_CONTROLS 0x80000000U
-extern u32 vmx_cpu_based_exec_control;
 
 #define PIN_BASED_EXT_INTR_MASK         0x00000001
 #define PIN_BASED_NMI_EXITING           0x00000008
@@ -286,6 +285,7 @@ extern u64 vmx_ept_vpid_cap;
 struct vmx_caps {
     uint64_t basic_msr;
     uint32_t pin_based_exec_control;
+    uint32_t cpu_based_exec_control;
 };
 extern struct vmx_caps vmx_caps;
 
@@ -294,13 +294,13 @@ extern struct vmx_caps vmx_caps;
 #define cpu_has_vmx_virtualize_apic_accesses \
     (vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES)
 #define cpu_has_vmx_tpr_shadow \
-    (vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW)
+    (vmx_caps.cpu_based_exec_control & CPU_BASED_TPR_SHADOW)
 #define cpu_has_vmx_vnmi \
     (vmx_caps.pin_based_exec_control & PIN_BASED_VIRTUAL_NMIS)
 #define cpu_has_vmx_msr_bitmap \
-    (vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_MSR_BITMAP)
+    (vmx_caps.cpu_based_exec_control & CPU_BASED_ACTIVATE_MSR_BITMAP)
 #define cpu_has_vmx_secondary_exec_control \
-    (vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS)
+    (vmx_caps.cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS)
 #define cpu_has_vmx_ept \
     (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT)
 #define cpu_has_vmx_dt_exiting \
@@ -310,7 +310,7 @@ extern struct vmx_caps vmx_caps;
 #define cpu_has_vmx_vpid \
     (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VPID)
 #define cpu_has_monitor_trap_flag \
-    (vmx_cpu_based_exec_control & CPU_BASED_MONITOR_TRAP_FLAG)
+    (vmx_caps.cpu_based_exec_control & CPU_BASED_MONITOR_TRAP_FLAG)
 #define cpu_has_vmx_pat \
     (vmx_vmentry_control & VM_ENTRY_LOAD_GUEST_PAT)
 #define cpu_has_vmx_efer \



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:41:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:41:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640247.998223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rl7-0001gh-RS; Fri, 24 Nov 2023 08:41:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640247.998223; Fri, 24 Nov 2023 08: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 1r6Rl7-0001gZ-Od; Fri, 24 Nov 2023 08:41:57 +0000
Received: by outflank-mailman (input) for mailman id 640247;
 Fri, 24 Nov 2023 08: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rl5-0001P4-RJ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:41:55 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2040.outbound.protection.outlook.com [40.107.7.40])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 51994c53-8aa5-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:41:54 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8326.eurprd04.prod.outlook.com (2603:10a6:20b:3ff::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:41:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:41: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: 51994c53-8aa5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hRjYUBesvoPaIYNm2KzqTC43oH0NP35DOxn98HD07RWI3vmBhMm0Bn7B/Ar7OcoVgX1JT30BW5dIAVycoZiTS1VNtPrOGH3pA9NbcRHFBQl70+UIJCfULCoVAATRnPFJH0B3KPgo5NSFYy3PPMbNohg+PfS5payoo3ScANLdIp78j2bWUa+0/GvnGPdB0iFO5A6HqGm64HaQps9kGxCCl2nUqlbG+xZGQ+RWI9TkQ+gYsgPbJL1atzmfSEJeQHvVfF2D0OelqSQYf47qDYq8D1jEyctB263eIMZz+lUFu4JxQOeTibO1hAVdqAKeNlZICD2PbRMMwSgv+3bobTjBAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tDxOHEulPqfdO7PDE9bteBUoSvMOCgMjXRk/bt4LOO0=;
 b=gf+T+MWvf2DtUsUNbGQsVFZ8TISGKOsqDkzG7NZ5u2Hv867+2uXfWaWsX4Ml5htQH6ytvnb8qzf/3jIuapqw4IUmHXAOhp8KzgnNGO0H7MxyCp9LIOgM05MuGPoK5Bo0w4V0jjjThIbDfWf3/RG1fyndsio88J5GDXW3YGnCSEyDFy8mIFZG4FI3i2SGRZ1BsXr6f4uOS6hvfwl6NqocN+wp/8AQNUm6cCNHpxL803lRiIMRcqcJZx1KogiCCpokKcYPID/ftqoJCEHBXDsjvjOJaXig0Je4zphRihd5yUu0fioQ6A9h4EHjFpXODxBjvpGQncVSExYP4fce4DVX5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tDxOHEulPqfdO7PDE9bteBUoSvMOCgMjXRk/bt4LOO0=;
 b=AePe7+GRbkKpAEqAE9/pdEcJkEbUZKeKihy605WBp+CkqwMRvQUeYnnKQ2/nVye9spmizatHwXgTODiOH1fb5e9x6UbTsi5BsZsWPPeVnp1DtVgDNImRHAxFfk9dsaezm1qhZOW3rAA96DJB2xGZlxD1HOYgFugdpWx0kz1850Fv7aFbCZfYgQiqo3WtbPTsKnipZKEXqE68ey/Eqj0RxNcI2QwOBcITY+gdk+Ndy5zQxVWS+IZsWnzAYt1XWlwVJfZx2j57Uk7EvRCC6a5u2xSkJxOcpAp+jfAyntHvv/oKb3WNQHGCV+rVP2GGb0kakmhw7sNG2zKvV5zrbqQcCw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dfe9d39e-3be7-4a83-b8c6-3c9b5b85f51a@suse.com>
Date: Fri, 24 Nov 2023 09:41:24 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 09/15] VMX: convert vmx_pin_based_exec_control
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8326:EE_
X-MS-Office365-Filtering-Correlation-Id: 655cace7-7a4e-47a8-33c7-08dbecc924c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Xe52i6xVakOgvfsGU5fZ/TX14LZmS9UAvd8q71quqOU9JmYu9SpgFfIoz+gH1AMEWSsw5w7HRVgyd2xmJDRR2TS0SLLW4Fk+DFahR8UV+FNAmQc94mbUDbfq0EifaC7Gtuj8Q2T8bRXEo+cE7E/IwPbZPsGSW8tPQ8+toXfB01Zr+eGszatH2tvHIMMRpdvd6bRhzSmMYDi8QynI8XeDBpOMzUpbXiesaZmD/eql8+hFgX1pozdjv2V/0mmUTrYZMX5MinzCPOeIxxE+orc8h313XI8qA+/y6XsveEEbVsd77eooXylRutwvvHhvmTOtZwFadlnGUj7koDwKaWlJfeEejJKqVrDBxaQcfbfqrj3tx+0y5O78Us1XMCimxLNec465ZjtuepW7z3TVEpTRUx5itm/XRPhNQOYNEXDk6dHoprTTWhHHNWctIwCUAHsgt/Xnf0Ebfq61V3i6tFl44EUnxxeV6uoTwgHiR5SHSOs5XELM9QwaJycs3cnPfv1QmRjmS6bHG/rvUgx/YiKKIT0J2QRpTtwFlq97gWW5M99xZE38T/bZfNPBIV4crGJ8otvtyyGRoXDK/7I4hRcHtrpzuf2e48yqnafLJs3kCDpqaAhqchsMKl0UqUXKDkF5TC6ll0z3SL62Th807jPQqg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(376002)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(31686004)(26005)(66946007)(6916009)(66476007)(66556008)(54906003)(38100700002)(36756003)(31696002)(86362001)(6486002)(83380400001)(2616005)(6512007)(6506007)(478600001)(4326008)(2906002)(316002)(8676002)(8936002)(5660300002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S2wvVEpJbWM0TjlCeWJwMnFiT0J4V29LYk1lck5pUnhFM0tCcUJoQ25QUWlD?=
 =?utf-8?B?YzA2dkV0M3BJbTAyVUZuRGEwbG5qU0g1K2lRcGFldG5OZnJuaHpibHVTNmh5?=
 =?utf-8?B?T0JPRXhMdk9kU256ZUord25ITnNvZEx0S0Z0d3VpSDN4SGdXdFFuc2UxY3k4?=
 =?utf-8?B?eWNVU2dYM2svY01Yd2k5aTl3cXgwK1hMTEZNSzNLWkFBY3M1bHZrWUdFTzBZ?=
 =?utf-8?B?dDBMWmZCbHFkYXpxQ1NWc21ITlNkWlk1LzNIS09CWlpzTlB6Tk15dVJUbHFX?=
 =?utf-8?B?WWtuNzByK3FpRGlKL0p6MHlkaVRtamhxZDN4VHlwNXhyU09ra3pMbEZHakMv?=
 =?utf-8?B?N3dRYlVyVW0xS2l0dmJZUCtoODBXdm9iNXFucUprV2tjQXdhVEY0WWZqV0JM?=
 =?utf-8?B?RzUybVpzL09JV1ZHMnZreDE3YmxBN1MrZzh3NlhJREQwbS9EdHZzTkdYZ2E3?=
 =?utf-8?B?bEFXSnV0Y3ROQkFDSUt0REVZRW15QnJmNVdIeGI2ZTlUa2tpY2N4amo5SzNP?=
 =?utf-8?B?eDExYW5zOUVvNXJsYXlBa2l2Yktza0Zjcy9TVVU1Yk0vcjEvRjdIQTV1c1FU?=
 =?utf-8?B?cDRpWUJnU2NubG5ZNjFVZE1vRm1hQUIyNFN4MFZ0elJIK0xEcWd1ZWZ4NGdK?=
 =?utf-8?B?MnRIdkFBMm1EWTNQM3AxcUdaVlBJaGZDQ3VlUmpUb1JKOE84aytHZ3BEdnN1?=
 =?utf-8?B?eDhneGpaTDJJVEdVVnFEakZlRDUydzJiaVRkbXhIRndHVmVacjc4aDl5bCtk?=
 =?utf-8?B?OXJpbFdQSTRhK3ZzNzF3NjRhSDhMSVEwRGdEMy9yK2pweFUyMlQ0eEMxbStR?=
 =?utf-8?B?NXQ1bis0MDlVS0dLNlRzbUE5c0JtcHBZeWgwQkc1ZlRLTVVqam1LOHZoeWNN?=
 =?utf-8?B?azdPVkpsVVJsMmR2Vkt1cE13NHlWbXNTN1Z3eklTWGN5dzRJRUZpRkR6dG9p?=
 =?utf-8?B?eUl5VTB4UkUxZWhlR1J4Rmh2WXduYk1xMGFJeUgrUDFpWldjTlRxODgvemV2?=
 =?utf-8?B?MzZaR0pqYXpiYXJQdHZvWnJWenY5RlJxU0VHRXpNWlU0RTdRQkV3Y2Q4bGdx?=
 =?utf-8?B?SFl5Uitpa2dmZ1BRYld4TjVXa3d6akk3azJzYXJ4WTNJV0VlR1p5NkROKytS?=
 =?utf-8?B?cktaNFNwMWNzUEJrVURQcXhuVXcrb2Z4cG1udVRxMUExL1lOTDA0djc3cU5u?=
 =?utf-8?B?Ti9SUG1KQlE0ckd2Q2prclVMSzJyRnZWMExMVFhZZUJhV1hKNktSenRBemRr?=
 =?utf-8?B?dGdxalpYbzV1MktsZ3p3S25BVDQ2M0pTb0tpNTZydDFnellpMWdHVU1oWVZZ?=
 =?utf-8?B?a3dTVmZrNmt3cnpuS09TMUFaWXhxR1JWcEtBY2JiZFJUVkVxenRkT0JiTElU?=
 =?utf-8?B?djd5Mmhwa3VpbGtWS25PVlZQOUx1cWFpSXY0RkQwckJQaFhBaDJzSXRQNC9W?=
 =?utf-8?B?UG40cEUyenNnR0FKaEdYNUNJVGFQQllzc1IrNnlubFZKaUhFY2VyT1JlM0s3?=
 =?utf-8?B?NXZPbUkxRElieXpnZUp0MFBUdnlrVXRZQVFKTyt0amIwUFh4UXJEM01iKyti?=
 =?utf-8?B?YUJFZTN2YVRDWWtJWXpRc05rUCt4SFozNHRFbGl4eDlYMFhsakdlby92bUtQ?=
 =?utf-8?B?aUNHUmd1V3plMnFQejIzK2lDLy9zcFpWYllSb1RGNzBUZXNnWDltbXNIU3Fx?=
 =?utf-8?B?cG5rMkpabC9vSzNKS1pZRXZFcDVHRUFyZHMyUVQ0NFB1cDQ2RDRpckJwcFM2?=
 =?utf-8?B?TjQ4ajJkbXluN0NkQS9wZXNsU01LQ1FSS0llaW8rMTV5cWY0bFdCSXo0dzhI?=
 =?utf-8?B?cVd1YlUwUlFScE9VS2ZDTWFpTWRSaXl1VnZlNlA1VUs2bzNQOEk3azZDTE1R?=
 =?utf-8?B?RWFHbWR1TkgxMmpEWS8vSCtlWjJ2dytnZ2Y1VjlMQkhZbytwUW9CZUlzZlZj?=
 =?utf-8?B?WVY1aUJyeS9walhkbmNUN3hFdlM5QkNXeHphcXZ2dFVENU1SM0xDQmhYMG14?=
 =?utf-8?B?bWxWemxINHAySkxSNmt6U2RpV3psWlpLVjc3QXU1VTVMbVcwbWEvYjNHNTJR?=
 =?utf-8?B?b0dqQ3RzczR2VGUxZ2tYajRRU2JPZzVyZHlsdmtNZTM2cndiaG9zbXdORElx?=
 =?utf-8?Q?9RNDUNUWpxeu2ytnNaHhS1288?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 655cace7-7a4e-47a8-33c7-08dbecc924c3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:41:25.3472
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 5ITHPp5Pj6v9+sNpI0+guN5I7NSVMfPEtWD4igCe3y+d9y6Zvk5Vqugb1mrhmMulKolD+RV04sPjRM94xByCpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8326

... to a field in the capability/controls struct. Use an instance of
that struct also in vmx_init_vmcs_config().

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -162,7 +162,6 @@ static int cf_check parse_ept_param_runt
 
 /* Dynamic (run-time adjusted) execution control flags. */
 struct vmx_caps __ro_after_init vmx_caps;
-u32 vmx_pin_based_exec_control __read_mostly;
 u32 vmx_cpu_based_exec_control __read_mostly;
 u32 vmx_secondary_exec_control __read_mostly;
 u32 vmx_vmexit_control __read_mostly;
@@ -238,7 +237,7 @@ static bool cap_check(const char *name,
 static int vmx_init_vmcs_config(bool bsp)
 {
     u32 vmx_basic_msr_low, vmx_basic_msr_high, min, opt;
-    u32 _vmx_pin_based_exec_control;
+    struct vmx_caps caps;
     u32 _vmx_cpu_based_exec_control;
     u32 _vmx_secondary_exec_control = 0;
     u64 _vmx_ept_vpid_cap = 0;
@@ -254,7 +253,7 @@ static int vmx_init_vmcs_config(bool bsp
            PIN_BASED_NMI_EXITING);
     opt = (PIN_BASED_VIRTUAL_NMIS |
            PIN_BASED_POSTED_INTERRUPT);
-    _vmx_pin_based_exec_control = adjust_vmx_controls(
+    caps.pin_based_exec_control = adjust_vmx_controls(
         "Pin-Based Exec Control", min, opt,
         MSR_IA32_VMX_PINBASED_CTLS, &mismatch);
 
@@ -406,7 +405,7 @@ static int vmx_init_vmcs_config(bool bsp
     if ( (_vmx_secondary_exec_control & SECONDARY_EXEC_PAUSE_LOOP_EXITING) &&
           ple_gap == 0 )
     {
-        if ( !vmx_pin_based_exec_control )
+        if ( !vmx_caps.pin_based_exec_control )
             printk(XENLOG_INFO "Disable Pause-Loop Exiting.\n");
         _vmx_secondary_exec_control &= ~ SECONDARY_EXEC_PAUSE_LOOP_EXITING;
     }
@@ -424,10 +423,10 @@ static int vmx_init_vmcs_config(bool bsp
      * is a minimal requirement, only check the former, which is optional.
      */
     if ( !(_vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY) )
-        _vmx_pin_based_exec_control &= ~PIN_BASED_POSTED_INTERRUPT;
+        caps.pin_based_exec_control &= ~PIN_BASED_POSTED_INTERRUPT;
 
     if ( iommu_intpost &&
-         !(_vmx_pin_based_exec_control & PIN_BASED_POSTED_INTERRUPT) )
+         !(caps.pin_based_exec_control & PIN_BASED_POSTED_INTERRUPT) )
     {
         printk("Intel VT-d Posted Interrupt is disabled for CPU-side Posted "
                "Interrupt is not enabled\n");
@@ -461,10 +460,10 @@ static int vmx_init_vmcs_config(bool bsp
     if ( mismatch )
         return -EINVAL;
 
-    if ( !vmx_pin_based_exec_control )
+    if ( !vmx_caps.pin_based_exec_control )
     {
         /* First time through. */
-        vmx_pin_based_exec_control = _vmx_pin_based_exec_control;
+        vmx_caps = caps;
         vmx_cpu_based_exec_control = _vmx_cpu_based_exec_control;
         vmx_secondary_exec_control = _vmx_secondary_exec_control;
         vmx_ept_vpid_cap           = _vmx_ept_vpid_cap;
@@ -494,7 +493,7 @@ static int vmx_init_vmcs_config(bool bsp
             vmcs_revision_id, vmx_basic_msr_low & VMX_BASIC_REVISION_MASK);
         mismatch |= cap_check(
             "Pin-Based Exec Control",
-            vmx_pin_based_exec_control, _vmx_pin_based_exec_control);
+            vmx_caps.pin_based_exec_control, caps.pin_based_exec_control);
         mismatch |= cap_check(
             "CPU-Based Exec Control",
             vmx_cpu_based_exec_control, _vmx_cpu_based_exec_control);
@@ -1072,7 +1071,7 @@ static int construct_vmcs(struct vcpu *v
     vmx_vmcs_enter(v);
 
     /* VMCS controls. */
-    __vmwrite(PIN_BASED_VM_EXEC_CONTROL, vmx_pin_based_exec_control);
+    __vmwrite(PIN_BASED_VM_EXEC_CONTROL, vmx_caps.pin_based_exec_control);
 
     v->arch.hvm.vmx.exec_control = vmx_cpu_based_exec_control;
     if ( d->arch.vtsc && !cpu_has_vmx_tsc_scaling )
@@ -2091,7 +2090,7 @@ void vmcs_dump_vcpu(struct vcpu *v)
     printk("TSC Offset = 0x%016lx  TSC Multiplier = 0x%016lx\n",
            vmr(TSC_OFFSET), vmr(TSC_MULTIPLIER));
     if ( (v->arch.hvm.vmx.exec_control & CPU_BASED_TPR_SHADOW) ||
-         (vmx_pin_based_exec_control & PIN_BASED_POSTED_INTERRUPT) )
+         (vmx_caps.pin_based_exec_control & PIN_BASED_POSTED_INTERRUPT) )
         printk("TPR Threshold = 0x%02x  PostedIntrVec = 0x%02x\n",
                vmr32(TPR_THRESHOLD), vmr16(POSTED_INTR_NOTIFICATION_VECTOR));
     if ( (v->arch.hvm.vmx.secondary_exec_control &
@@ -2170,7 +2169,6 @@ int __init vmx_vmcs_init(void)
          * Make sure all dependent features are off as well.
          */
         memset(&vmx_caps, 0, sizeof(vmx_caps));
-        vmx_pin_based_exec_control = 0;
         vmx_cpu_based_exec_control = 0;
         vmx_secondary_exec_control = 0;
         vmx_vmexit_control         = 0;
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1054,7 +1054,7 @@ static void load_shadow_control(struct v
      * and EXCEPTION
      * Enforce the removed features
      */
-    nvmx_update_pin_control(v, vmx_pin_based_exec_control);
+    nvmx_update_pin_control(v, vmx_caps.pin_based_exec_control);
     vmx_update_cpu_exec_control(v);
     vmx_update_secondary_exec_control(v);
     nvmx_update_exit_control(v, vmx_vmexit_control);
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -215,7 +215,6 @@ extern u32 vmx_cpu_based_exec_control;
 #define PIN_BASED_VIRTUAL_NMIS          0x00000020
 #define PIN_BASED_PREEMPT_TIMER         0x00000040
 #define PIN_BASED_POSTED_INTERRUPT      0x00000080
-extern u32 vmx_pin_based_exec_control;
 
 #define VM_EXIT_SAVE_DEBUG_CNTRLS       0x00000004
 #define VM_EXIT_IA32E_MODE              0x00000200
@@ -286,6 +285,7 @@ extern u64 vmx_ept_vpid_cap;
 /* Capabilities and dynamic (run-time adjusted) execution control flags. */
 struct vmx_caps {
     uint64_t basic_msr;
+    uint32_t pin_based_exec_control;
 };
 extern struct vmx_caps vmx_caps;
 
@@ -296,7 +296,7 @@ extern struct vmx_caps vmx_caps;
 #define cpu_has_vmx_tpr_shadow \
     (vmx_cpu_based_exec_control & CPU_BASED_TPR_SHADOW)
 #define cpu_has_vmx_vnmi \
-    (vmx_pin_based_exec_control & PIN_BASED_VIRTUAL_NMIS)
+    (vmx_caps.pin_based_exec_control & PIN_BASED_VIRTUAL_NMIS)
 #define cpu_has_vmx_msr_bitmap \
     (vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_MSR_BITMAP)
 #define cpu_has_vmx_secondary_exec_control \
@@ -331,7 +331,7 @@ extern struct vmx_caps vmx_caps;
 #define cpu_has_vmx_virtualize_x2apic_mode \
     (vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE)
 #define cpu_has_vmx_posted_intr_processing \
-    (vmx_pin_based_exec_control & PIN_BASED_POSTED_INTERRUPT)
+    (vmx_caps.pin_based_exec_control & PIN_BASED_POSTED_INTERRUPT)
 #define cpu_has_vmx_vmcs_shadowing \
     (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VMCS_SHADOWING)
 #define cpu_has_vmx_vmfunc \



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:42:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:42:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640253.998243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rll-0002lH-H5; Fri, 24 Nov 2023 08:42:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640253.998243; Fri, 24 Nov 2023 08: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 1r6Rll-0002lA-DW; Fri, 24 Nov 2023 08:42:37 +0000
Received: by outflank-mailman (input) for mailman id 640253;
 Fri, 24 Nov 2023 08:42: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rlk-0001P4-Ad
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:42:36 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2057.outbound.protection.outlook.com [40.107.7.57])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 698fbf3f-8aa5-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:42:34 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8326.eurprd04.prod.outlook.com (2603:10a6:20b:3ff::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:42:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:42: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: 698fbf3f-8aa5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=c3wrR/bDLnky3EOUA77rTXfrDiSqhMRFMbFUci0HfjhV1jwdqC+Lylq4W7Zainyz/OjIboD+Gc5f9qYhjPVkB8/cOqL410oOCYhJXj41IurNXiXW6f4u9zAqkBsXpbS/BHZuILBvCt3GmsaxABVsZilxi2pbxNITg6HV0TS24dlArOZrArUSNB0b8DG33eD7Px2wm0NLQr05qWWXKYsfD8OcHMq0mGrDaJLqieNsVAGXVYvOyfn8yZRBA/uxE9TbAWGaFngz2Dz851yFdp3lszOZFcfPrb297N5u5i6ukyhYAOn7nvhX4EtdY0Cjki66d8FgmvNDlK6uYoTIlt7ocQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ftYnRUJLQ++Ykn0kaSep7/l0Wu+v0Hyt+dMv3J4zgKE=;
 b=TLrT3PGXvas2bIemW1+MkwTWLzMIrlMhTMqZDCmeg8FXBuQ1aMvNVsT2igyOHbQvzMIomApyjFD01/+rMiE4G0h7V2c+1DAsY32t3Hd/+wDuxO/kuF02dgk54Hs5OH1zJqELUok2tPAnGEv1dTBLMFLOywtJCvd3Gk6bLMmud5ssquWyDKyo1Xqsw/lDAx9sBD3b+TCKeC70lPbgYUmCK91n0vxmB9iJhFoOKqbp3W6BeYgLMpulcs+87CImo2ia8HtP6L4o0AdorgLnhqAmxWoMPU4HPeVgLTe+aN7bl0oNZS2rsSkeyAckZRR0W4H3NszPoRBvjh7aq426KLqGfg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ftYnRUJLQ++Ykn0kaSep7/l0Wu+v0Hyt+dMv3J4zgKE=;
 b=fYXJKgvjbnMA18a+BgYq3E/kv2N090emwNU8dVl2Gl+gVRaH1LsoGg5rjOXrtrXbM8VrFbP1a9+NYWdWwN3DKxnbTORNxQxOMx4YIRsnW4AyHIBNKEUyb8hf2d/HWQysDia3ZB4DIsX4zJ9DjNeGpPFOUru3y2BXYw88if/cGrNdtHphSEJRsXUCXb08P73S2JxjKtaO9kxa85Ng4D37PbZjrh9rKS0SwSAlfMyX3IAZHi9/Kks7TdfdYR8nLb64oaIwCNLd4yDqE2LzRpIzabpwMukB6b70e5NbB7Qdi2Kxnowv30RxRrZGymzilX6bF7ZmcxKlAmbIxXdfW8GkyQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <192d3c2d-6eb7-40e9-9eb0-484e57dd44bf@suse.com>
Date: Fri, 24 Nov 2023 09:42:04 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 11/15] VMX: convert vmx_secondary_exec_control
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8326:EE_
X-MS-Office365-Filtering-Correlation-Id: 9a9b1755-4a9e-4a04-57bd-08dbecc93ca4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GikPFv6qslVS+jFBMLPghVcxpjtgzDUrk04XK1hXb6vK2h6zs/YFMmGqTFLbXY+o6MmaPSB0AF2SoYjmHonhtweVRZ9Z7g8l+h3UnhK5iIqUQKU+B/XFV0nL5ygmRxTESJ+xsT4Mq4tealgOVtdDMOZqYQmuL8jChmHPuga3nLfCkfjxer8WK8mngEHiJFsq2DHCQ40N1AtUaRxAUmqiU9GxCcJM8iDrh6bw73qtOBwu7OrAl7YzrevKjXjOm0BnFc6MoOetnngBgyreSyl4Ztk/yjdHIvSGiJe3m/RpMDYuTCn5xvww424q1wwTH1onrrxm7WQejthxInLlnTWGSErtPa6gR0rN45fFwr8/dg+z/LuMRob3d2pnq/F2HsafAdAyflk15JhuydUc1cWIelD9u/I+JisLw1MpNDAFIjZFbEEj3EfGxtrKtXs1UAxd3jqbqkS2CusykkoFB8sSHAgbOkvvU5ySP4ws1UAsX5mZpimorV8pb5lYLQOHmQJ/Lflsu+mD5wUznibe0Y4ptdEB0QtZd6JRCOq2gW5RK8IJigBFbDdgVt5vwTqeQ26qFFCXD01TVDeNlZdJJA+62nPPRUfdCV0cZJTHGZi1bHq0DZSbAK+bl49WCjGp3NA7XN/wYQB+PIoF6uMHlZyPVw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(376002)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(31686004)(26005)(66946007)(6916009)(66476007)(66556008)(54906003)(38100700002)(36756003)(31696002)(86362001)(6486002)(83380400001)(2616005)(6512007)(6506007)(478600001)(4326008)(2906002)(316002)(8676002)(8936002)(5660300002)(41300700001)(30864003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?clVxdHloKzNoWlVIVDVLZ2VNVnhhZmF0MHcvdmtVaStZNHZtVHUrNUU0QUN4?=
 =?utf-8?B?QkRFbFcvNkljU2kwVCt2Q2JQeks2WHhlREsrUzB2VGQ2ZkpmaUx3VjZobmNa?=
 =?utf-8?B?Y3loSjYrcjNya3d1V0gwNDUwemg4YW1LWWRuZ2I2aEp4YmFPYVBkelZMR0RQ?=
 =?utf-8?B?MG8raSsyN0cwbEROd01XUk1ONUVWeU1FODBpS3FucTNZd1UxWFhQR3hpR3FM?=
 =?utf-8?B?MmJ6dFpZR2tQbEZRSnZCRC91Um52aWs5dGZvUEpMZWtkV1ErV2ZpU2dERkxo?=
 =?utf-8?B?ZkpESlpXc0h6UTBHeVU0M1ZpbjBueXYvVmhneWdiL2g2RzBzMUhITGNzK2pl?=
 =?utf-8?B?VFJPbDZHaWNCRWNzR3dYWE9Ba2wrOUc2bGRkMXhCTDh2VXFIWFZZTkhkbHV5?=
 =?utf-8?B?cmVheFRYQ2wyNjdZSkg1RFNlSVlvZTd2V2RDNmJibkxWeEpSclV0MDVRczZU?=
 =?utf-8?B?Z0pLK2dudmxNdzFRUGNCdFBub2Q1RXIveEdPRWt3cEI4WFpKa0p4Q2w0MnEw?=
 =?utf-8?B?cVViazVDbllpYXhuUmMwWkxHNHRQZFFQZHkxeFdOZzJWRjNXTHVmMENTVVNr?=
 =?utf-8?B?Y3VzRENTc2Y4ZGRkWGoyYi91aVg1aHJjYldYa3FkU3FRd0ZKb0lkTjNUNXRu?=
 =?utf-8?B?cVRGbWtXTEFLR0JLbExibk55L0pLN2VPbjNQNDlWbk9WL0VZaXJvR1VBQ0RM?=
 =?utf-8?B?dTdxSTFFR052WjJ1SWtGSEcwQjd5T0Nyb0NpZ2JYMXNzUVZRUnJ4L2FxYjlz?=
 =?utf-8?B?TlRTTE16blhzbTN4djdKUmxtTVZuYjVtZmJTRkU2RHY0UmFEalRScXptNnFF?=
 =?utf-8?B?dGpHWCtiRzVwSzBGd2VwcmkxN3ZqWUlEbTZMVExuaS92Rk5IbWZUdEQ5RHF6?=
 =?utf-8?B?UGdSWFRHdm1Fd3JwSXVkaHlFTHNkT2xPdkRoK0Ira2U2V2JaWU4ya2VzUzFZ?=
 =?utf-8?B?dlNWNklvQ3lMUDVqTVIxNkhWY1EwL25JVjA2cmhYUlhDY3ExV1ROUmp0RG8v?=
 =?utf-8?B?a2ZUV1haUEJVR1h1S2lkd1NqQXl3ZC91eGRBMCt1enl2Z1FoQytydVpFL0NH?=
 =?utf-8?B?dkRkNDNXYTJ4U25rSm14RFcvNjJLWUw5a1BRR3BtaDJWVDY5U1pPZ2s1RXFa?=
 =?utf-8?B?VVcyNjMrVWNCNndobmZ5UHdvY2JFY3h2bDNzREw5R1NYdlBSdm1QR1kwREty?=
 =?utf-8?B?RnYvZlppTHNYQTZhcWU3dzA0eEVBUVZTckdIRHY4bnV3WU0zWndWMnBIUjFh?=
 =?utf-8?B?TW1nZnVHbTNEM3o4bkd3MjdrT3BJY05MWlhudzFkZUMzTE5VMGV1dGFvQWRZ?=
 =?utf-8?B?Nmp3Q3VET0ZkWG5pcDZXcGtqdjdvRVljZFQ0aUZkc1JqTTJHcGVLMU5uNmxD?=
 =?utf-8?B?bjZEMXRhbG1nRndMb1dmOVI5c09UTDMwb2dXbFRSOWJ5Y1lJbGYveU5zcGl6?=
 =?utf-8?B?WFhNczNTRzgwcG9YWEZJY2ZpSEVYcHhCQzFNRGdUcnJGcm13alZiYjR3TlJD?=
 =?utf-8?B?ZVA4M1ZRa3BiNnJua3MyWXFXYi9ueDF2eVhMNUNOcEs0YlpnSFlGY3dZY3ZL?=
 =?utf-8?B?NGRWUUZKQmdyZ0NoZ1IyRTJEbnBCR3pJUG1xaFExUEprbXUvRStGL2c2Sk11?=
 =?utf-8?B?dDVDeUh0a3VjN3NYeXdVSldYU1IvSEFZTmNUNFU4VVEzaFB5ZlVDMzd2N1dr?=
 =?utf-8?B?TjQ2V2Zia2Nkd2xlQVoyc2c3Kzd5blJJWm1POGY0UmlVY3hzNU9TSWdISnNR?=
 =?utf-8?B?Mlh3VzFLQjllU1VLTnlIWHkxMkp5SFVmeGludXN6Zml6QktwMUg2YUpWRTVW?=
 =?utf-8?B?TTN6TUpIc2pkRnhPeXdhYVd1M0lHTHN5bVFORWJTa1VTSERuWHpsTTl4TVN6?=
 =?utf-8?B?WDFISEM0MWdUT3gvZTk0TG9BeUtHNnMwU1VCb3F0Umtjd0xIblE3ckI2dEVj?=
 =?utf-8?B?dmhkRjhIeEQrR25JRU9jTWNXSHdUZmtxZmZoeEFDSEpPTTUxdmR2YUFUdHF5?=
 =?utf-8?B?QllWbkpoRkhwMHNhNzhURDJPKzM0UVFibmhQVlZ0a3RXTHc5MXM5OE82Zm5y?=
 =?utf-8?B?czY1ZU9URFBEaWhJa012N2tKeE1qSGx2ZlExck5SLzZ1STNkR3lVUWh2TjBP?=
 =?utf-8?Q?a9i8UnL3V0XVKwuSN4J+YWIFK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9a9b1755-4a9e-4a04-57bd-08dbecc93ca4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:42:05.4006
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VrGVoOXikATh2TPxIcOekp98jSbjVDvECte5YRcLIcnCXYmjQ784L4v6sHOqJB3E+28VyKpTfGS/BzgEd7C1YA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8326

... to a field in the capability/controls struct.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -162,7 +162,6 @@ static int cf_check parse_ept_param_runt
 
 /* Dynamic (run-time adjusted) execution control flags. */
 struct vmx_caps __ro_after_init vmx_caps;
-u32 vmx_secondary_exec_control __read_mostly;
 u32 vmx_vmexit_control __read_mostly;
 u32 vmx_vmentry_control __read_mostly;
 u64 vmx_ept_vpid_cap __read_mostly;
@@ -237,7 +236,6 @@ static int vmx_init_vmcs_config(bool bsp
 {
     u32 vmx_basic_msr_low, vmx_basic_msr_high, min, opt;
     struct vmx_caps caps;
-    u32 _vmx_secondary_exec_control = 0;
     u64 _vmx_ept_vpid_cap = 0;
     u64 _vmx_misc_cap = 0;
     u32 _vmx_vmexit_control;
@@ -330,13 +328,13 @@ static int vmx_init_vmcs_config(bool bsp
                    SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY |
                    SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE;
 
-        _vmx_secondary_exec_control = adjust_vmx_controls(
+        caps.secondary_exec_control = adjust_vmx_controls(
             "Secondary Exec Control", min, opt,
             MSR_IA32_VMX_PROCBASED_CTLS2, &mismatch);
     }
 
     /* The IA32_VMX_EPT_VPID_CAP MSR exists only when EPT or VPID available */
-    if ( _vmx_secondary_exec_control & (SECONDARY_EXEC_ENABLE_EPT |
+    if ( caps.secondary_exec_control & (SECONDARY_EXEC_ENABLE_EPT |
                                         SECONDARY_EXEC_ENABLE_VPID) )
     {
         rdmsrl(MSR_IA32_VMX_EPT_VPID_CAP, _vmx_ept_vpid_cap);
@@ -358,7 +356,7 @@ static int vmx_init_vmcs_config(bool bsp
         if ( !(_vmx_ept_vpid_cap & VMX_EPT_MEMORY_TYPE_WB) ||
              !(_vmx_ept_vpid_cap & VMX_EPT_WALK_LENGTH_4_SUPPORTED) ||
              !(_vmx_ept_vpid_cap & VMX_EPT_INVEPT_ALL_CONTEXT) )
-            _vmx_secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_EPT;
+            caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_EPT;
 
         /*
          * the CPU must support INVVPID all context invalidation, because we
@@ -367,14 +365,14 @@ static int vmx_init_vmcs_config(bool bsp
          * Or we just don't use VPID.
          */
         if ( !(_vmx_ept_vpid_cap & VMX_VPID_INVVPID_ALL_CONTEXT) )
-            _vmx_secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VPID;
+            caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VPID;
 
         /* EPT A/D bits is required for PML */
         if ( !(_vmx_ept_vpid_cap & VMX_EPT_AD_BIT) )
-            _vmx_secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_PML;
+            caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_PML;
     }
 
-    if ( _vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT )
+    if ( caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT )
     {
         /*
          * To use EPT we expect to be able to clear certain intercepts.
@@ -387,25 +385,25 @@ static int vmx_init_vmcs_config(bool bsp
         if ( must_be_one & (CPU_BASED_INVLPG_EXITING |
                             CPU_BASED_CR3_LOAD_EXITING |
                             CPU_BASED_CR3_STORE_EXITING) )
-            _vmx_secondary_exec_control &=
+            caps.secondary_exec_control &=
                 ~(SECONDARY_EXEC_ENABLE_EPT |
                   SECONDARY_EXEC_UNRESTRICTED_GUEST);
     }
 
     /* PML cannot be supported if EPT is not used */
-    if ( !(_vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT) )
-        _vmx_secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_PML;
+    if ( !(caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT) )
+        caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_PML;
 
     /* Turn off opt_ept_pml if PML feature is not present. */
-    if ( !(_vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_PML) )
+    if ( !(caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_PML) )
         opt_ept_pml = false;
 
-    if ( (_vmx_secondary_exec_control & SECONDARY_EXEC_PAUSE_LOOP_EXITING) &&
+    if ( (caps.secondary_exec_control & SECONDARY_EXEC_PAUSE_LOOP_EXITING) &&
           ple_gap == 0 )
     {
         if ( !vmx_caps.pin_based_exec_control )
             printk(XENLOG_INFO "Disable Pause-Loop Exiting.\n");
-        _vmx_secondary_exec_control &= ~ SECONDARY_EXEC_PAUSE_LOOP_EXITING;
+        caps.secondary_exec_control &= ~ SECONDARY_EXEC_PAUSE_LOOP_EXITING;
     }
 
     min = VM_EXIT_ACK_INTR_ON_EXIT;
@@ -420,7 +418,7 @@ static int vmx_init_vmcs_config(bool bsp
      * delivery" and "acknowledge interrupt on exit" is set. For the latter
      * is a minimal requirement, only check the former, which is optional.
      */
-    if ( !(_vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY) )
+    if ( !(caps.secondary_exec_control & SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY) )
         caps.pin_based_exec_control &= ~PIN_BASED_POSTED_INTERRUPT;
 
     if ( iommu_intpost &&
@@ -432,7 +430,7 @@ static int vmx_init_vmcs_config(bool bsp
     }
 
     /* The IA32_VMX_VMFUNC MSR exists only when VMFUNC is available */
-    if ( _vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS )
+    if ( caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS )
     {
         rdmsrl(MSR_IA32_VMX_VMFUNC, _vmx_vmfunc);
 
@@ -442,12 +440,12 @@ static int vmx_init_vmcs_config(bool bsp
          * Or we just don't use VMFUNC.
          */
         if ( !(_vmx_vmfunc & VMX_VMFUNC_EPTP_SWITCHING) )
-            _vmx_secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VM_FUNCTIONS;
+            caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VM_FUNCTIONS;
     }
 
     /* Virtualization exceptions are only enabled if VMFUNC is enabled */
-    if ( !(_vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS) )
-        _vmx_secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS;
+    if ( !(caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS) )
+        caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS;
 
     min = 0;
     opt = (VM_ENTRY_LOAD_GUEST_PAT | VM_ENTRY_LOAD_GUEST_EFER |
@@ -462,7 +460,6 @@ static int vmx_init_vmcs_config(bool bsp
     {
         /* First time through. */
         vmx_caps = caps;
-        vmx_secondary_exec_control = _vmx_secondary_exec_control;
         vmx_ept_vpid_cap           = _vmx_ept_vpid_cap;
         vmx_vmexit_control         = _vmx_vmexit_control;
         vmx_vmentry_control        = _vmx_vmentry_control;
@@ -496,7 +493,7 @@ static int vmx_init_vmcs_config(bool bsp
             vmx_caps.cpu_based_exec_control, caps.cpu_based_exec_control);
         mismatch |= cap_check(
             "Secondary Exec Control",
-            vmx_secondary_exec_control, _vmx_secondary_exec_control);
+            vmx_caps.secondary_exec_control, caps.secondary_exec_control);
         mismatch |= cap_check(
             "VMExit Control",
             vmx_vmexit_control, _vmx_vmexit_control);
@@ -1074,7 +1071,7 @@ static int construct_vmcs(struct vcpu *v
     if ( d->arch.vtsc && !cpu_has_vmx_tsc_scaling )
         v->arch.hvm.vmx.exec_control |= CPU_BASED_RDTSC_EXITING;
 
-    v->arch.hvm.vmx.secondary_exec_control = vmx_secondary_exec_control;
+    v->arch.hvm.vmx.secondary_exec_control = vmx_caps.secondary_exec_control;
 
     /*
      * Disable features which we don't want active by default:
@@ -2166,7 +2163,6 @@ int __init vmx_vmcs_init(void)
          * Make sure all dependent features are off as well.
          */
         memset(&vmx_caps, 0, sizeof(vmx_caps));
-        vmx_secondary_exec_control = 0;
         vmx_vmexit_control         = 0;
         vmx_vmentry_control        = 0;
         vmx_ept_vpid_cap           = 0;
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -256,7 +256,6 @@ extern u32 vmx_vmentry_control;
 #define SECONDARY_EXEC_TSC_SCALING              0x02000000U
 #define SECONDARY_EXEC_BUS_LOCK_DETECTION       0x40000000U
 #define SECONDARY_EXEC_NOTIFY_VM_EXITING        0x80000000U
-extern u32 vmx_secondary_exec_control;
 
 #define VMX_EPT_EXEC_ONLY_SUPPORTED                         0x00000001
 #define VMX_EPT_WALK_LENGTH_4_SUPPORTED                     0x00000040
@@ -286,13 +285,14 @@ struct vmx_caps {
     uint64_t basic_msr;
     uint32_t pin_based_exec_control;
     uint32_t cpu_based_exec_control;
+    uint32_t secondary_exec_control;
 };
 extern struct vmx_caps vmx_caps;
 
 #define cpu_has_wbinvd_exiting \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_WBINVD_EXITING)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_WBINVD_EXITING)
 #define cpu_has_vmx_virtualize_apic_accesses \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES)
 #define cpu_has_vmx_tpr_shadow \
     (vmx_caps.cpu_based_exec_control & CPU_BASED_TPR_SHADOW)
 #define cpu_has_vmx_vnmi \
@@ -302,13 +302,13 @@ extern struct vmx_caps vmx_caps;
 #define cpu_has_vmx_secondary_exec_control \
     (vmx_caps.cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS)
 #define cpu_has_vmx_ept \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT)
 #define cpu_has_vmx_dt_exiting \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_DESCRIPTOR_TABLE_EXITING)
 #define cpu_has_vmx_rdtscp \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_RDTSCP)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_RDTSCP)
 #define cpu_has_vmx_vpid \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VPID)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_VPID)
 #define cpu_has_monitor_trap_flag \
     (vmx_caps.cpu_based_exec_control & CPU_BASED_MONITOR_TRAP_FLAG)
 #define cpu_has_vmx_pat \
@@ -316,41 +316,41 @@ extern struct vmx_caps vmx_caps;
 #define cpu_has_vmx_efer \
     (vmx_vmentry_control & VM_ENTRY_LOAD_GUEST_EFER)
 #define cpu_has_vmx_unrestricted_guest \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_UNRESTRICTED_GUEST)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_UNRESTRICTED_GUEST)
 #define vmx_unrestricted_guest(v)               \
     ((v)->arch.hvm.vmx.secondary_exec_control & \
      SECONDARY_EXEC_UNRESTRICTED_GUEST)
 #define cpu_has_vmx_ple \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_PAUSE_LOOP_EXITING)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_PAUSE_LOOP_EXITING)
 #define cpu_has_vmx_invpcid \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_INVPCID)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_INVPCID)
 #define cpu_has_vmx_apic_reg_virt \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_APIC_REGISTER_VIRT)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_APIC_REGISTER_VIRT)
 #define cpu_has_vmx_virtual_intr_delivery \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY)
 #define cpu_has_vmx_virtualize_x2apic_mode \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE)
 #define cpu_has_vmx_posted_intr_processing \
     (vmx_caps.pin_based_exec_control & PIN_BASED_POSTED_INTERRUPT)
 #define cpu_has_vmx_vmcs_shadowing \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VMCS_SHADOWING)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_VMCS_SHADOWING)
 #define cpu_has_vmx_vmfunc \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS)
 #define cpu_has_vmx_virt_exceptions \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_VIRT_EXCEPTIONS)
 #define cpu_has_vmx_pml \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_PML)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_PML)
 #define cpu_has_vmx_mpx \
     ((vmx_vmexit_control & VM_EXIT_CLEAR_BNDCFGS) && \
      (vmx_vmentry_control & VM_ENTRY_LOAD_BNDCFGS))
 #define cpu_has_vmx_xsaves \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_XSAVES)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_XSAVES)
 #define cpu_has_vmx_tsc_scaling \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_TSC_SCALING)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_TSC_SCALING)
 #define cpu_has_vmx_bus_lock_detection \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_BUS_LOCK_DETECTION)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_BUS_LOCK_DETECTION)
 #define cpu_has_vmx_notify_vm_exiting \
-    (vmx_secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
+    (vmx_caps.secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
 
 #define VMCS_RID_TYPE_MASK              0x80000000U
 



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:42:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:42:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640254.998253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rln-00031E-Qm; Fri, 24 Nov 2023 08:42:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640254.998253; Fri, 24 Nov 2023 08:42: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 1r6Rln-000315-NB; Fri, 24 Nov 2023 08:42:39 +0000
Received: by outflank-mailman (input) for mailman id 640254;
 Fri, 24 Nov 2023 08:42: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rlm-0001P4-8Y
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:42:38 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2057.outbound.protection.outlook.com [40.107.7.57])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6adf2d0b-8aa5-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:42:36 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8326.eurprd04.prod.outlook.com (2603:10a6:20b:3ff::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 08:42:26 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08: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: 6adf2d0b-8aa5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nDi1nvd3Xw4sUGV7iH3sXjKT6LB8vIuvFHyklTccPlwsN5Iy2ywXFKOGwVfqPlCx8dUZC540vXWBkw94sOF6oQKYTe3xznYWX+bpXT0xuz5+kPSPB/D/qiI9awSEb6m6NpW23oRpwONbzO/Bj9aysU9dV5Av/nErVR8hbzyqEKN5XIcQel3L9KJWaYj68qWuxGLvcFhhNHqUNow3ia4eX76LZLAY0vt1aKy2MNijKYvl0SXn59vxNNhyGT6uN1o5aE1SA3y8Vr/op2G12re5V4bTbxnj4Z6x/Ed7xGzihMl3ov+yqCQvsEkFKreZXEz9QCJ0QCV2OCmXmfw4kEC0Lw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wdSUqBnPwDRt8zu4z01Axi6UTP6JDlgg/GZ7r8i/IhA=;
 b=GGC5dyBZgkoNqluL2Uqx5WuJRUc5f5VTAym29ZpP1htDCWPF+Zwg424gDYvlpY5604O9IIlAjhzl6HZMcZMa3R0on6sizZTtZhsGwRwnHIvPlNxPIAWJcetcTvZffcCzUzAH69PWgIbHWdg1m7Cv3uAef2xUAdCEow+qtqd/snpGMaecXJwlB7ovvgex4ua7gds0BXk86lckbkIkXeBK3mL1mwGOur9UYW/FVrO0dWVh/CavcHAO0tHL9Er/P4+Mr7vdT8YO86jo2MsWomLs5jFFln7U3UN9tVxkhRJ1EkZQz1qz5PEVuUiCuvdsHXbJL9QlEBZ1x0HAS17C/szsXQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wdSUqBnPwDRt8zu4z01Axi6UTP6JDlgg/GZ7r8i/IhA=;
 b=mcE0yhhbkSkuwJjJyxASE91IWcTDIPdq4RGsSmbgVrkDpLiNfigqfBL/DmMQvBfLVWlM2cjEfW8Bolp8GP+ybmj9n4CVA2go7aZqY+gZAY5UrQlLXiqvEbbnV99QEkyM1v3CnROLFVjj9C9L5Fsjn4EWoMnYiQd2TXfBFOQnc6I2q0xKTUTUFv91JxPE6CXleuBBmiXYJ40oZrqAHdSt3q7GcctykXPaKFeKT0UHSrBbBuG36usralGK8eJNqhpNkCbyf6NSZ+jJ37DkxTLo2ekYvBwDl4pv7Dq8wHkQbMqbSmwKh11E/VZgfKJUai0Ehuaf7BekApWWCKTaUYqtkA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <99ca892c-f54c-489c-9601-add357e4201c@suse.com>
Date: Fri, 24 Nov 2023 09:42:25 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 12/15] VMX: convert vmx_vmexit_control
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8326:EE_
X-MS-Office365-Filtering-Correlation-Id: d265bd99-88a9-4437-bc50-08dbecc94928
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	PciOZ3r7utZQ+QGmZZZCHi1ujw0Cd2CZNB/wLoPTbxqN8Rceiez3qiAYBc9XAJCnDrIZT21bk0uO+kDTyKFlxGHKouM3sUG8p0oWY0ZsR6+wLHkKvsA/s8l0Cr8vWkE7pkU5yESUsvLKY/lnqwijvS9R9Pu+SmtXm0j9Jc2I66sFYsePa6zfQx19m8UKtVS636yONV875TyXMp6pHZT4G18kr4I6CmWWjfnYLmkyGhoY//xEZpCIkRl2TSPwXRMp39taIEEHcLJePZCKsFdn1XUoRUDoIttNSZA6A1d1aVRsBnWqOa8YrbGSqEuQxJzWhc5tk/eaetVoYGae1o64K1CF9JikM1X8q22f51IZoI+RiwjFdgtQuQ7FX7HqhqpypOxBIb/WD2wBCl4E0ljODoL7yt0YRuwdfrTESPvCb4FThsEkiI8caJHHfhwQ7FOoFgcwGempNqvsv3cQ/yocQKWe9g3PUG4Xb4367EazmluEu1bNl+iRYBA/dvFaidn93C0IuF9CfoDcOI4aXd2sNgSCviCUB1+98j69uEYH1K+gSGzFVibvMt5S6KrQBTN8GGW1GdGzbXKWRhZhRCQAP3g7r4ZvU8S9OtCxQJGKa5+Nmoa0GIwA6BMECN/6g+evypLsqNxnSlPn/4vax4bPiA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(396003)(376002)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(31686004)(26005)(66946007)(6916009)(66476007)(66556008)(54906003)(38100700002)(36756003)(31696002)(86362001)(6486002)(83380400001)(2616005)(6512007)(6506007)(478600001)(4326008)(2906002)(316002)(8676002)(8936002)(5660300002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SDlqK1F6Q0MybkJXZHplc3hKK3dLakNjcmczYXhMdk9zUnd0MkFJR2hxNFlP?=
 =?utf-8?B?bGJNdFpFSnUvaFN5L3RIaSs4M2NwdmF1OTFSNWxrc3NGTWRjNkVNQnlkL3FS?=
 =?utf-8?B?Rm5zRkY4eGtJb3FGL0pCZXdWb3Uwd1hpZEpydE9PeTVWaU9WbWJRMjA0Skl2?=
 =?utf-8?B?M0hIWlFHYzZTVWFXOC8vMjAwcGtqNTYrZ3duMlpqaEtnVHB1WHRUdnE2MXg5?=
 =?utf-8?B?cVl0SkJXekFOdmhUbk9COG9zb1I2RTFDQ3hrYXFzNDl1dGYyNnVyMWJQVktF?=
 =?utf-8?B?b2J3SC9veXM1ZStWWVBmL1hUNVdQZmY2ajU5cG56amdoMHo0VFBXSitCT1Bv?=
 =?utf-8?B?Y1hQcFI0VlVsbHA4cnR1RTRUUmVuR0ovNXdWeFpOd3AvQ2lGeWdMZDdCYnpB?=
 =?utf-8?B?WjFCZTZXTzBGbnBvaTlBTFd4YTV4R1o2NUVwNGpiTmJBUDZEODAyLytxZ2Y5?=
 =?utf-8?B?bFcxV0xaNG95YkhrNVVldEZEOXRSaTdZbkFpRmtJbExzb1M1Yi85M0JOeU9t?=
 =?utf-8?B?WXBad05kRGtQQTN4M2Q1ZDZLM2RraHNvbnducEoyc0czNjZucDU3OVFxY1Qx?=
 =?utf-8?B?OENsQm9zSkQzL2RSYjZwLzA1UDZZSHBKbXFzTTF5L0lGU05HOU51UC9GQVo2?=
 =?utf-8?B?dkxPRWw1NGxUdDFwWmk0ZnNTK1RlcHBQWkxvakYrcXpiZVNkN1FxVDZ5UFc0?=
 =?utf-8?B?eVZKc2o1NExoazZGSy9vN1RsbnhLSmZiM0NXMXRpT0s1ZnByQm5TZkY4TVpC?=
 =?utf-8?B?dFZldW5zMUNzbHM3MU1id1AxdUxMR3ZMUHVRME5DV0p5emsrd1VqbVdBemo5?=
 =?utf-8?B?QTdiNStQYVFZdldyeG1XNHlWOEJ4c1lydkl3Rm5sc2pTTHY4RWVCY3Jhak5Q?=
 =?utf-8?B?YTdmdGMrU1dmZVlWbUhqc3Mzb1lxdjhKamNFQ3lMR2dSRjdOd0hEcHhBSFRG?=
 =?utf-8?B?UnlvZ09YemMrT3cwTjRkY0tCR3RISHVac1Vhalg2S2dGUnVoSG5YbTkwTTRx?=
 =?utf-8?B?WjhLZW9lU3h5azl3ejcxTG9SS0FTaE9HY1NBZlRzVFNhamg4YWZtcWlCcG94?=
 =?utf-8?B?RFhscGFPK002U2cvM0orZ0FDRWh4MzVIT0tBTFpWOVhpZXlHT0lnM1hId3Vv?=
 =?utf-8?B?QkUva1NPYWh3dHlkWTAweGQ4MEpCNVdsZk9zb0JiQlhhRWlDWEdVUVFHWTJx?=
 =?utf-8?B?dGZTL0dBVkg4TmdiVFN0QkM3eXB2TUJVMk0xQ0E2dnN1NW9XeWE5QkZPR2lu?=
 =?utf-8?B?UmlTeEkraHZ2YmNpcU11Z0FrMDdNNGdEa1pzeW94TnJQeVJzTFJIZWYwVlpo?=
 =?utf-8?B?ODBhaW4xeCtRenFSSjV0Y3NDaS92QWNEU1RydW5aeTFNWGlsT084VkZDeXZD?=
 =?utf-8?B?T2VnL3dNeVhnVTd4dzE0dm54SjJ2Ry85KzZBcHpKaCtnRkZvR0p0bDJEZHF6?=
 =?utf-8?B?Mkp1RDNWejE2WmZxSDh1bTFMWEpwdVFwclRCT3dMRkJOeEJ5VW9udHRDdWZl?=
 =?utf-8?B?SnJqRks2WVlOMWUyc1pIb3RhMVp2UjJpcHVTQ1NJNjFZMWwwSGxrZjZhZ0sz?=
 =?utf-8?B?eGdUSHplLzJrcVJtcnJRd2ovdFpSNmlMc3h6dzN5SVFyLzFJTmMxeUJOMFp2?=
 =?utf-8?B?Um1Oa1hsMlRzbnNNZUZQY2Jqd2ZkV2RVK2QzUFhLYlNiUkY1c3JMNjJvVVBK?=
 =?utf-8?B?T01TWURRakQxckpadHhpMEptZjMvZDhRVHVVOHAxL1ZZT3ZYbnFuQ2NJMk1u?=
 =?utf-8?B?S1MzdE9nRENSQytLbTNvbzFFUUlxRXpZSG5reDNYazVtVGJEZlhObGgzalVT?=
 =?utf-8?B?V0hDcnBnbmpPelZRbEc1MDQvekkvRGhkL2Q4WklYcStkdXQ5c1VISzRaKzNG?=
 =?utf-8?B?MHo3aU1QNjRJQUZTK1hTOVhYS1MwaWxzRjU1QS9mNjV6ZFhKMTdNRXNpNkNW?=
 =?utf-8?B?Q1VZUDNSWUJDbEUvL0FWcjlDbEUyT3IydVpKMFU1alFHb3B1MnJVckpPVlFw?=
 =?utf-8?B?NVo4RStIMEhyMTQ2OVFsaWdjZVZhR2wzL3YyYUhTcFcxZlVmaXRwdlE5aFZD?=
 =?utf-8?B?WXZ2aXdML3M1S3FUVjJ2VFdXYlgvVVM5RzV3N2NjMkYxQVBNR2tQdmd6a1BI?=
 =?utf-8?Q?3uhYDq3KPgZfYi/3Z+VSF3dRd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d265bd99-88a9-4437-bc50-08dbecc94928
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:42:26.4610
 (UTC)
X-MS-Exchange-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/Q+ZYYsU/+1pqKotGqHPXQ/JA6uhyRbUtiIjIrF+og9ntsl/fiZF1tr6TJrPHL3uK0ArpJoY9ccLVcJpd+xIw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8326

... to a field in the capability/controls struct.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -162,7 +162,6 @@ static int cf_check parse_ept_param_runt
 
 /* Dynamic (run-time adjusted) execution control flags. */
 struct vmx_caps __ro_after_init vmx_caps;
-u32 vmx_vmexit_control __read_mostly;
 u32 vmx_vmentry_control __read_mostly;
 u64 vmx_ept_vpid_cap __read_mostly;
 static uint64_t __read_mostly vmx_vmfunc;
@@ -238,7 +237,6 @@ static int vmx_init_vmcs_config(bool bsp
     struct vmx_caps caps;
     u64 _vmx_ept_vpid_cap = 0;
     u64 _vmx_misc_cap = 0;
-    u32 _vmx_vmexit_control;
     u32 _vmx_vmentry_control;
     u64 _vmx_vmfunc = 0;
     bool mismatch = false;
@@ -410,7 +408,7 @@ static int vmx_init_vmcs_config(bool bsp
     opt = (VM_EXIT_SAVE_GUEST_PAT | VM_EXIT_LOAD_HOST_PAT |
            VM_EXIT_LOAD_HOST_EFER | VM_EXIT_CLEAR_BNDCFGS);
     min |= VM_EXIT_IA32E_MODE;
-    _vmx_vmexit_control = adjust_vmx_controls(
+    caps.vmexit_control = adjust_vmx_controls(
         "VMExit Control", min, opt, MSR_IA32_VMX_EXIT_CTLS, &mismatch);
 
     /*
@@ -461,7 +459,6 @@ static int vmx_init_vmcs_config(bool bsp
         /* First time through. */
         vmx_caps = caps;
         vmx_ept_vpid_cap           = _vmx_ept_vpid_cap;
-        vmx_vmexit_control         = _vmx_vmexit_control;
         vmx_vmentry_control        = _vmx_vmentry_control;
         vmx_caps.basic_msr = ((uint64_t)vmx_basic_msr_high << 32) |
                              vmx_basic_msr_low;
@@ -496,7 +493,7 @@ static int vmx_init_vmcs_config(bool bsp
             vmx_caps.secondary_exec_control, caps.secondary_exec_control);
         mismatch |= cap_check(
             "VMExit Control",
-            vmx_vmexit_control, _vmx_vmexit_control);
+            vmx_caps.vmexit_control, caps.vmexit_control);
         mismatch |= cap_check(
             "VMEntry Control",
             vmx_vmentry_control, _vmx_vmentry_control);
@@ -1058,7 +1055,7 @@ void nocall vmx_asm_vmexit_handler(void)
 static int construct_vmcs(struct vcpu *v)
 {
     struct domain *d = v->domain;
-    u32 vmexit_ctl = vmx_vmexit_control;
+    uint32_t vmexit_ctl = vmx_caps.vmexit_control;
     u32 vmentry_ctl = vmx_vmentry_control;
     int rc = 0;
 
@@ -2163,7 +2160,6 @@ int __init vmx_vmcs_init(void)
          * Make sure all dependent features are off as well.
          */
         memset(&vmx_caps, 0, sizeof(vmx_caps));
-        vmx_vmexit_control         = 0;
         vmx_vmentry_control        = 0;
         vmx_ept_vpid_cap           = 0;
         vmx_vmfunc                 = 0;
--- a/xen/arch/x86/hvm/vmx/vvmx.c
+++ b/xen/arch/x86/hvm/vmx/vvmx.c
@@ -1057,7 +1057,7 @@ static void load_shadow_control(struct v
     nvmx_update_pin_control(v, vmx_caps.pin_based_exec_control);
     vmx_update_cpu_exec_control(v);
     vmx_update_secondary_exec_control(v);
-    nvmx_update_exit_control(v, vmx_vmexit_control);
+    nvmx_update_exit_control(v, vmx_caps.vmexit_control);
     nvmx_update_entry_control(v);
     vmx_update_exception_bitmap(v);
     nvmx_update_apic_access_address(v);
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -225,7 +225,6 @@ void vmx_vmcs_reload(struct vcpu *v);
 #define VM_EXIT_LOAD_HOST_EFER          0x00200000
 #define VM_EXIT_SAVE_PREEMPT_TIMER      0x00400000
 #define VM_EXIT_CLEAR_BNDCFGS           0x00800000
-extern u32 vmx_vmexit_control;
 
 #define VM_ENTRY_IA32E_MODE             0x00000200
 #define VM_ENTRY_SMM                    0x00000400
@@ -286,6 +285,7 @@ struct vmx_caps {
     uint32_t pin_based_exec_control;
     uint32_t cpu_based_exec_control;
     uint32_t secondary_exec_control;
+    uint32_t vmexit_control;
 };
 extern struct vmx_caps vmx_caps;
 
@@ -341,7 +341,7 @@ extern struct vmx_caps vmx_caps;
 #define cpu_has_vmx_pml \
     (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_PML)
 #define cpu_has_vmx_mpx \
-    ((vmx_vmexit_control & VM_EXIT_CLEAR_BNDCFGS) && \
+    ((vmx_caps.vmexit_control & VM_EXIT_CLEAR_BNDCFGS) && \
      (vmx_vmentry_control & VM_ENTRY_LOAD_BNDCFGS))
 #define cpu_has_vmx_xsaves \
     (vmx_caps.secondary_exec_control & SECONDARY_EXEC_XSAVES)



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:43:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:43:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640257.998263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rm8-0003eo-8Q; Fri, 24 Nov 2023 08:43:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640257.998263; Fri, 24 Nov 2023 08:43: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 1r6Rm8-0003eh-4l; Fri, 24 Nov 2023 08:43:00 +0000
Received: by outflank-mailman (input) for mailman id 640257;
 Fri, 24 Nov 2023 08:42: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rm6-0003aP-JV
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:42:58 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7506d58a-8aa5-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 09:42:57 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9438.eurprd04.prod.outlook.com (2603:10a6:102:2aa::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Fri, 24 Nov
 2023 08:42:51 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:42: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: 7506d58a-8aa5-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=d7JbL55mTZRa+C2DoYKjT8BpKRfR7aAYyjSxa/Xnjp4grMtFqePYS2+A9Ghgr8hffsE5jkMKErwhqcEx5zm1/Bi3cupl+Tcgh5qI03DniLbdsU/qF5AN6YG/DScMlF//CYAQ/YsG9qpVmJohXvoiwS+JnPusDmNHC9/eNimlg/1U1OBAz/T7OWzTKpOTTIkpyVfm4vGvbhAgkR8aQ5mgmdCM9Yap7AJ/MlkhxEl63lxPHFz47DguWRye/nZiCg+sjg5Ghss5BQv0BR+Yz8/scX1z4hWVQZynX6bbgalPJ70564qDVwCHWhKxLnHmD0oNq7C8Q63F/j7Z6Gx7x2iAOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rSGX/JwC4jjDitZbXt8m8JIS+4JodYSasH2C7UmuhBw=;
 b=j5Al5zLcYRg83YncxvKMLTJUGP8Bl1zNMPiY/+jCIirlNghf2y7CZ+B2p173fRaZrHjci+WF8ioWpRuhvvWO9ld4Ng+Lvb8wx0l3d8OwseerUhb/J6F1lBgpGhMA2Ids3DTBO/1jz/SlFBNaynZ2iZCYdRXTvERe8TGhC6aYRhT1ynT+krdzkjIsyvVlZDBSL83ZDOSzEqdi/EsvqbgH1dvhA+6wvKHxv1ocEgUSOWDfvJHRy9u2DGOCnlCr1PlrP8u3pJW4VEPVVAJlARZnYu/hE5+OVOFTsm3V/HK7xSI/qiZBd5D2P28yysLlaY1rTn+RktPeLQLzh5XvsZ6OYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rSGX/JwC4jjDitZbXt8m8JIS+4JodYSasH2C7UmuhBw=;
 b=ctlflR8C6fjK3qO712yBd8dZrPiZCJVziM3macwHz9uttsWJfNRO584PRBOgIeX9XVKBUA7qEvUzApCagRDSVwmmuL/fnmO5AT1K0W+X0ExcALcbwYzpOqxvcgWzqBKz5HdNtXPuKFZ4jW5VPtsAEaIlm05QwAx2dNHNvnSqwzSc0wG21lGAulR4bzKJzsf4oxP+3jnYPZYJzUTuh0ei6CWsGTwg9aX53KKxGi7U0xx/lKW9E/W8VLhytjzz6N4hKPDElRHNX22wFEM5aWGIlJlZHEzU9S2gn+VmeUKU/Iy7343sucmpxEhTFvFRiap46qoSd5yWQLONkyXHVNY6mw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1fcdf267-53cc-4636-ba61-20165a4ecf29@suse.com>
Date: Fri, 24 Nov 2023 09:42:50 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 13/15] VMX: convert vmx_vmentry_control
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9438:EE_
X-MS-Office365-Filtering-Correlation-Id: f7a6f4d7-73eb-4975-f3d1-08dbecc95805
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	egT4WUAqJ7pZypymwHR/yDXd2jgx+TvxRBBxc7YVF8iQ1+k9aJ0829Ii21imrZa8KFi73Bf/e1csEMLZ8+B4BOjyv3zSJklzanGD1D3GsvIE/AKzzY13fvzDhCGrSMEhPKClpiNBwVl++IW90A44eDznUcvjgodig5dwIq7YJTdtuGhsw9jECDWC9mzkjPWMFI+Q+mnmXYSIAfpipEJ3RQE+OrSYd6YqU5xCLAZniVU3HgB5khsFFitq70amcC/Ry7Ntaxj+jNobXktp8GHaaIQm0OvVv4hh+sezjlMRxaxzk7DmygiGyHBI27iasE1vJmwpFV/YjisOU/0F6YnzOm0sICmsgrakcGiAPoz3y6LqDKR2DsBIC+BnQaufiLH4qCmOG5gaA20eTXAaRVnFkOInXWWwMNtyF1ntd/BUhOcHCd23+gQMgtPb+4xMRAmS6TQ07uoXJMvKk5Rn6g45p0f4KBW0tddyKRElN24Dk/2rymdq8LvsBR3AqrEEQF5cStM5i+DantwhuK+Rrk7bKEJR30vDG5/nSvF3VyA3jtAkKN6IYxtsD41N0/pKf9jhWh9eqI6SM9+N6vbO1ppGkEDEUYv2HlwUK00AaHX74bG4WYIyQIx56/QGfPFxpYQ+UfmE6KBwTFgWb+xB7tx1HQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(366004)(396003)(376002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(36756003)(2616005)(6512007)(8936002)(83380400001)(5660300002)(4326008)(8676002)(26005)(6506007)(66476007)(54906003)(66556008)(66946007)(316002)(6486002)(2906002)(6916009)(478600001)(31686004)(86362001)(31696002)(41300700001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OFovSU02WVhOYXg5K0VlWnJ6TmZzL0lBdTVoZUpjeDV2cEhycFFDR05NTDRm?=
 =?utf-8?B?bnh2UCtPWW5qQ3NKdFhkZU4xSVIzR2Zza2RUQjNNUGpxU2owNmR4aDlSbnZH?=
 =?utf-8?B?ZDRHL2JOMmsyVmpraEFrZHF5a0VwdE9LaDE3cXpEUGo0cm8zU2I1Y1ZNMHAx?=
 =?utf-8?B?KytCdDBoejkxOXpDcU1oSkMyNG13Sk9rWEZtckhzWHc0RW9NTUxVUVUrTFF2?=
 =?utf-8?B?NzhtVEcwbllUejhDeFh6S05aNU1kQU44cHpIMnpDVDQ2bjJBNTd3OUkzVWZo?=
 =?utf-8?B?ME5ISmc0UElDcUtSd1phT1BaL3dmS2dLRThTeThDUktSRG1LTkJXNnVWbU5l?=
 =?utf-8?B?cS95M0FJYXlJTWdBcStPdkFPL2hSRmh0Rzc0QUpCLzBmbEVRQ2diUnFxdkhk?=
 =?utf-8?B?TzNJQXVCSjBCcW1JMEI0Z1JsaHlNcjZJTFNDNzJTVlJpL2ZyZ1k4WmZoSWlo?=
 =?utf-8?B?SE4yd0EyMk5qMnN5WUlGdlUreDlqdjB2VXpPRWc5eEZGelJPQzdldGtJYTIr?=
 =?utf-8?B?dHYvQVZDYld6cS9SU21NMlFJWHFtZ3lGVmJJL0xEbGRtZTA5Z0ZPSXlqYVMv?=
 =?utf-8?B?SlJOcW1MbUlMaGVLOFJWVlE0b0NVdmFPeWpXYVJBNWJvcVVQRWlPSW9WYysv?=
 =?utf-8?B?UFBZZXhCcjVoT280czNCay9NL0dOT05BVXRSQUZxVk9BcjJJUkJGOEdnNGkz?=
 =?utf-8?B?Sk5keHV1aVhGUmZaUFJtcy9tTFYrWHd6bDk3Q3BoZGlxbzlPNDVsV2x5Nk4z?=
 =?utf-8?B?bU5peGREalRocHovL1J1dEFHNVRqYzVoQnFxSHg3UEdtZ0RpdWxSWHVETWUx?=
 =?utf-8?B?VkYyb0hNRjVDZXpXUWVUZzk2MmFPMVdkTTVhZy95dWFLMG9abGtyVXl0UU5S?=
 =?utf-8?B?b3VUaDgyY2h1b1lGT05MeFNlVHlIMkpkYW1jcStsZ3ltV3I1bENLTlgyMHFR?=
 =?utf-8?B?MHRabGNydHRXVGZUcWNJRzVBWEhWcVBDcVhoODVlRnJ0OHdRNjJ4eVhSbnly?=
 =?utf-8?B?RGQ1NVh3S3RBa1VWdjFKYlpzTjFRTHZvTGd4cUpZUzc4TWpsZ2FBR1ZLQm9l?=
 =?utf-8?B?OVFPVDRpRGg0ckM1Vkk4Y28rVjVYVEI1ZldkaUlsZHRJU0NBZnlaVXJ6MlQ2?=
 =?utf-8?B?MVYrbDdzZEpZUjlaMmhDbnNZazMzMzVSeGN4M1dKcE5yNzZpSEZnZzJvZFZs?=
 =?utf-8?B?M1hKUXY4WWIyWk8xUlNYSTd2ejNXcGRuQ0lxdEtFaEFOS0ZRYnJDemZaeEZr?=
 =?utf-8?B?TWVNMUEwWUc0SWdBZWhscFdYTWZKcVROdmRuZzg0ekdUQjY5b09vNkZKTXFz?=
 =?utf-8?B?dkNzWEpoM3NqUlNyalFXeW91ZnlYbi8yNTZnblJaUlFqRFRON3I2Uk85RXFV?=
 =?utf-8?B?dkhGR3d0WldzUERtbEd6KzNRdlhzZW96SXZwZjBmTXJZOERoY0pCdWZRenJy?=
 =?utf-8?B?ZHA5L0dkY05zUi9rMEFNcTVKNkVBdWhJWlhvS2lURWpZS2hRRWdmYmZvczdX?=
 =?utf-8?B?blhzSFU1L1lpWW5uaDUyZy96T1ZCUGEyd3AwWHhadjlqOXU5RFFpQ2w2d1h1?=
 =?utf-8?B?Wnd0c0ZXM1lZZHZmckFQWHhhYmVDU0hnVnhrNEhydS9SZmI1Wmg3YTluZG1L?=
 =?utf-8?B?b2c0UFNXdE9SRzgrWnlQczducmFiYjBHUm1FdFVUVlVqUEozdnRqTnp5WHgy?=
 =?utf-8?B?VDEreVVnWENJRzN5QThNZlExWFp0bEdVOE9COGt2dWpCNmFXazd1ZCthMkVE?=
 =?utf-8?B?UUp6ZXNuVGwxTVgwRVRBci9YR3pqYkgwRUtnZUd5VmM5bU5PZ3VxNTJ5UEN0?=
 =?utf-8?B?bmJGWFkycmQvV1dHVzB1UFdSODF2RUErZ3hKYy9OclRacnVOTjl4YXhNeHNs?=
 =?utf-8?B?ZDlLQ1hNUGU2eW00ZHRDTjNiYWJpTFRZQzQ3ajBBNmtoUjdVTmJQc0RZQU1l?=
 =?utf-8?B?SzUraDlpWmhvcCtpeHA1bDRzSHZzMXp6Q2ZMVzQ0blVzWEpDWlVsMEZxNTdT?=
 =?utf-8?B?UDJFWWRaaEZGSEN5K0Zha3RKeDdKamNOeFZORDB1dGhuakxyL3Z5ZGxuS1kv?=
 =?utf-8?B?YWh1ODQyYzF6SXNUWEYvR3lBYU1MVk8yQWM5dmJ6RitpSjA0dnRBSG1rNzEw?=
 =?utf-8?Q?RNl633btqXE4H4Xr0aCKAoQoP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f7a6f4d7-73eb-4975-f3d1-08dbecc95805
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:42:51.3513
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0Q4eBIgR+7Z7yruElX/D968kOtYllrO9O/9/hibgYghBLZjR9qkJZ7XnuVHeySL+SR2fIslZCMy7kBdfXb/ADg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9438

... to a field in the capability/controls struct.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -162,7 +162,6 @@ static int cf_check parse_ept_param_runt
 
 /* Dynamic (run-time adjusted) execution control flags. */
 struct vmx_caps __ro_after_init vmx_caps;
-u32 vmx_vmentry_control __read_mostly;
 u64 vmx_ept_vpid_cap __read_mostly;
 static uint64_t __read_mostly vmx_vmfunc;
 
@@ -237,7 +236,6 @@ static int vmx_init_vmcs_config(bool bsp
     struct vmx_caps caps;
     u64 _vmx_ept_vpid_cap = 0;
     u64 _vmx_misc_cap = 0;
-    u32 _vmx_vmentry_control;
     u64 _vmx_vmfunc = 0;
     bool mismatch = false;
 
@@ -448,7 +446,7 @@ static int vmx_init_vmcs_config(bool bsp
     min = 0;
     opt = (VM_ENTRY_LOAD_GUEST_PAT | VM_ENTRY_LOAD_GUEST_EFER |
            VM_ENTRY_LOAD_BNDCFGS);
-    _vmx_vmentry_control = adjust_vmx_controls(
+    caps.vmentry_control = adjust_vmx_controls(
         "VMEntry Control", min, opt, MSR_IA32_VMX_ENTRY_CTLS, &mismatch);
 
     if ( mismatch )
@@ -459,7 +457,6 @@ static int vmx_init_vmcs_config(bool bsp
         /* First time through. */
         vmx_caps = caps;
         vmx_ept_vpid_cap           = _vmx_ept_vpid_cap;
-        vmx_vmentry_control        = _vmx_vmentry_control;
         vmx_caps.basic_msr = ((uint64_t)vmx_basic_msr_high << 32) |
                              vmx_basic_msr_low;
         vmx_vmfunc                 = _vmx_vmfunc;
@@ -496,7 +493,7 @@ static int vmx_init_vmcs_config(bool bsp
             vmx_caps.vmexit_control, caps.vmexit_control);
         mismatch |= cap_check(
             "VMEntry Control",
-            vmx_vmentry_control, _vmx_vmentry_control);
+            vmx_caps.vmentry_control, caps.vmentry_control);
         mismatch |= cap_check(
             "EPT and VPID Capability",
             vmx_ept_vpid_cap, _vmx_ept_vpid_cap);
@@ -1056,7 +1053,7 @@ static int construct_vmcs(struct vcpu *v
 {
     struct domain *d = v->domain;
     uint32_t vmexit_ctl = vmx_caps.vmexit_control;
-    u32 vmentry_ctl = vmx_vmentry_control;
+    u32 vmentry_ctl = vmx_caps.vmentry_control;
     int rc = 0;
 
     vmx_vmcs_enter(v);
@@ -2160,7 +2157,6 @@ int __init vmx_vmcs_init(void)
          * Make sure all dependent features are off as well.
          */
         memset(&vmx_caps, 0, sizeof(vmx_caps));
-        vmx_vmentry_control        = 0;
         vmx_ept_vpid_cap           = 0;
         vmx_vmfunc                 = 0;
     }
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -233,7 +233,6 @@ void vmx_vmcs_reload(struct vcpu *v);
 #define VM_ENTRY_LOAD_GUEST_PAT         0x00004000
 #define VM_ENTRY_LOAD_GUEST_EFER        0x00008000
 #define VM_ENTRY_LOAD_BNDCFGS           0x00010000
-extern u32 vmx_vmentry_control;
 
 #define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001U
 #define SECONDARY_EXEC_ENABLE_EPT               0x00000002U
@@ -286,6 +285,7 @@ struct vmx_caps {
     uint32_t cpu_based_exec_control;
     uint32_t secondary_exec_control;
     uint32_t vmexit_control;
+    uint32_t vmentry_control;
 };
 extern struct vmx_caps vmx_caps;
 
@@ -312,9 +312,9 @@ extern struct vmx_caps vmx_caps;
 #define cpu_has_monitor_trap_flag \
     (vmx_caps.cpu_based_exec_control & CPU_BASED_MONITOR_TRAP_FLAG)
 #define cpu_has_vmx_pat \
-    (vmx_vmentry_control & VM_ENTRY_LOAD_GUEST_PAT)
+    (vmx_caps.vmentry_control & VM_ENTRY_LOAD_GUEST_PAT)
 #define cpu_has_vmx_efer \
-    (vmx_vmentry_control & VM_ENTRY_LOAD_GUEST_EFER)
+    (vmx_caps.vmentry_control & VM_ENTRY_LOAD_GUEST_EFER)
 #define cpu_has_vmx_unrestricted_guest \
     (vmx_caps.secondary_exec_control & SECONDARY_EXEC_UNRESTRICTED_GUEST)
 #define vmx_unrestricted_guest(v)               \
@@ -342,7 +342,7 @@ extern struct vmx_caps vmx_caps;
     (vmx_caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_PML)
 #define cpu_has_vmx_mpx \
     ((vmx_caps.vmexit_control & VM_EXIT_CLEAR_BNDCFGS) && \
-     (vmx_vmentry_control & VM_ENTRY_LOAD_BNDCFGS))
+     (vmx_caps.vmentry_control & VM_ENTRY_LOAD_BNDCFGS))
 #define cpu_has_vmx_xsaves \
     (vmx_caps.secondary_exec_control & SECONDARY_EXEC_XSAVES)
 #define cpu_has_vmx_tsc_scaling \



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:46:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:46:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640266.998273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rp0-0004hM-LA; Fri, 24 Nov 2023 08:45:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640266.998273; Fri, 24 Nov 2023 08: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 1r6Rp0-0004hF-I4; Fri, 24 Nov 2023 08:45:58 +0000
Received: by outflank-mailman (input) for mailman id 640266;
 Fri, 24 Nov 2023 08: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rmh-0001P4-4t
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:43:35 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8cdd901b-8aa5-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:43:33 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9438.eurprd04.prod.outlook.com (2603:10a6:102:2aa::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Fri, 24 Nov
 2023 08:43:32 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:43: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: 8cdd901b-8aa5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Yb5MX3H/CR3nJGPjJyCJ+gTwsNfIMuKwh9tGGlsIpVPh7yLMyykgB6uGjmwAdhPGdOJrZjQXN2kzYNVOS0W5GHepG2t8GMRag4s1T+O6Sl2AwnL6VYx4cQiqGXlrwbmBUlZm5MpniN/jNH/BCfjdbGWDoLjlcvamQLfIaigd1c5eMPEcgOsi9x5RSq15UBzYdi/4p2fIXXp2DERRTK+4udoeA3omZjzXyaQ08NbqAR0gYaM/NgVXw2fQ5dug/bWwmbw0lE2GUHFJIy7COqS5TkVoF6S4t/RZI5B/GrKezppbr69YJ8BKE2MvYbBpWjxuwN1dRSfWlbT5FM3cgMTXyw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Szpwc2wO4UnJhZHXRLFJK3uPqEZ4uan9C+psmzvZ6/w=;
 b=aLFLQ1Q+5ZoBp366aP9HN81bksYgXuaKraGdIMR8hWFta1HtLvM0lmiT6e6lcw+sClIOdFuB50IKrg+ccD0BHjGu1MVLG/vyd7EFsoguKLilg85W7xxYHErxhNonl79blI3nqM8XTL/5XF4zkAv7mo3u50gXh7id/FTipnoAXFLuIE2vRbc/X/shSa/LCxoZ6stmoF4vx8wH8kFD/AOVLwPChF+R5+SatBnTFyKQ6xzRZnsyoQf4OXj7rDhuFyGy13QlZG6wOoD34un0/GK3Alc5Qs0NLImhOf+9f4fEzHMur51NhdwPQs/ckolJLrex9Mt8EavjbCcb814JA0EN7A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Szpwc2wO4UnJhZHXRLFJK3uPqEZ4uan9C+psmzvZ6/w=;
 b=iliFBDPLsIB147Mmjdq9xtvFf9wUy6Po68kCXob7APjDaDXgXHk7IVXgtDRcEQ+OIXkKMXBL52vByyiHsf0ktzcTApgQIE5IIrE5OuJ+qx2fmU2shlZMVVXNnfeRRBVb/edm6rYmWCBZA5KbYvy20fu/T3EXLm25icPD/Jc4iUheBWWSx4xD9KImFrMQEyoz9jA+XiGINTZZHeLpefvvGzkA4BiG0cGNnb0T3aq8G2HQLWRsdALHwAnzo070mYjbzpDZVZsJBs+xhthDEEPr3awI8506sfgqTk2Y6F6aj5XzUh9GDspn0yxY4guqlRn4Gn+AZ3OgR4R1Qdu1j4FDDw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b2accc3a-9b54-45b4-8cec-29cad9c2d638@suse.com>
Date: Fri, 24 Nov 2023 09:43:31 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 14/15] VMX: convert vmx_vmfunc
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9438:EE_
X-MS-Office365-Filtering-Correlation-Id: d836cb5e-49c1-41c2-62e2-08dbecc97052
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OXENjelHW7Sm+60ukAF35A3fHHbsR58KPEt8iFqOyplehV4ZgnOqaUjwRS0JVq63oQ6AC1Eu/CjlfHzHvCoHet7jDtIsU0QaHSJy5LjcyVBNCmi5gTPRYGV9OyB2CsRwLinBnXIoJ7ziS991F/s8cDePsHUJ8Rny3C9GFPADCxFunjnkbiZYpTDSza5Y2G6igEINa+9xtsLk4vObTdR93v1jHj/wqfrUC3WLzXjpqEINnhGLRH4zGT6HNCBmaZIMGOnKVIB+QWhE1+RJdZOLjYODY1vlZ+PB3frKAd4+ziJdGRuTJLqDRTAPPjXuK6RcCAnizdwYHYWXUFb/QVYGET0Wej+B1ctmJA1qJ0PiIos54sB0WjQvoSnvc/Bug23JN6EPjDS0nhubvO+dRndcTa6Vjf7OyyLAH9J1OxpV4gnuBz0QaxbQegrHV15ltq78aDHfPMN9TP3hbKP/xv48CJAcs3aiWQSd33UOA7BNV7kPqFp6PwNwEWKButkcb4PI5OhEsCwmLJ3u8Lh/AbRCDQbgIh4COo46xAzQpJmRYypI1ES+BgkXHOcZ/g/yUYEFkcYmRydvNqh3LJX+xRz9Pz5RSZGJdOumEbme62ie+enKWGYNJMx4cXG0j5iPhjUGlJHcNcl7ck+7TlK/z3MgMw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(366004)(396003)(376002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(36756003)(2616005)(6512007)(8936002)(5660300002)(4326008)(8676002)(26005)(6506007)(66476007)(54906003)(66556008)(66946007)(316002)(6486002)(2906002)(6916009)(478600001)(31686004)(86362001)(31696002)(41300700001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZlFCVW1xRmF0VTRIcjhobVlaOFBzekZnUmsxOFk4MmcwM2prNjNKN2tLaWxF?=
 =?utf-8?B?YW91UnA5czRGQi9TT095MGpIU3RCSXM4RjNtOSswZ0VRcHNNa3NZNWZwUCtx?=
 =?utf-8?B?ZFFOcWJwTHB3NlFoUzY2UGpneTI1S2VmbFBWNmpJd3FJVHYxaGdNWnpRODVq?=
 =?utf-8?B?U2U2MWMyN25JL1BaNm1JUEl2ZE11Zkd6MVFSZ3FxQTYrQXJCbWZ3RVpOSHNH?=
 =?utf-8?B?Y00xT2dBamtWd1kxNGNSZUtIQ3p5WXJkOE80YzVHcE9UK0tjQjRFWmlhWmYw?=
 =?utf-8?B?U0xDSW1mSDNlWUpnQ0YwaktuOEdJK3gzQ2dlQ0pOblArNnJsd3FWTkgvT2xy?=
 =?utf-8?B?MG4vMmdpdjhQb0xCaVgvQ0xhdUpXMk1aNE8xS0RlYTI5SlR4VlZWUTB6VXBp?=
 =?utf-8?B?dTdYY2R5SDBiK3o0SHRXL3hGTlQ4eXJsVTJwZFBtaERTdk15Sm9ySVFnWWhZ?=
 =?utf-8?B?d3dTdWJSVnQzakRlenpEN2RhSEJzZ2RnUlVndXFiTjlyZVVDWi9xNTVHTjNW?=
 =?utf-8?B?Rm5XNjNxVXVXUmZlZmNRTFNlSHdpQnFRb2tROUphenlwMkVJTWpLM3NzMDFZ?=
 =?utf-8?B?Rk9EeU9SbnZkTG1LZHZub0ZrSmNaMitvY3NweEp3c3JMWUYxckNFdW5PSVhW?=
 =?utf-8?B?WTYxeCtwQ1E3NFA0Y1RXWVJ6ek40UW04NGRsZjRXRmpiOURjcTR6RDloYVdw?=
 =?utf-8?B?Zzh3OUZKNVVMNGpLczFCVGtJM2lKSnhyL09TS3VHZVY0L1VjeWROWG1tUUFp?=
 =?utf-8?B?ZzBPZnluUWhMVU1jZEdhWGVJNEhIN29BK2tiM2dLbXF1bFFvSTl0bnBEOWdp?=
 =?utf-8?B?cTc2dmtFL0hsZSt4c0tQT0VjTUlaUmVwMGkvK2VrNU5NSXA0aDN0a1ljZG9T?=
 =?utf-8?B?dkowdGRJbTlSOWxGMG85anVGQms5eGx6MG1JUVZiYnZ6M0dmQS9ZZjBlYWxo?=
 =?utf-8?B?bHFscUs3UGNDS0NvK0ZiZzlUNi9rNDRlWTNVSWhGN1ZvcXdEb21hbFhwUmV4?=
 =?utf-8?B?dW1tV1U0QUQ5VjhVZWxsMzNLSE94T0ZmNHFtaE5Ybyt4V2NKUG0yVEc4TFVs?=
 =?utf-8?B?SUNsa0NiSjkwL0FLMThDckwvN1h3WXF2VlczZnl0T3A1RCtLNTZ5TVY1RDFE?=
 =?utf-8?B?VU5FRUZ3U1NiNnNMZVM0b3A1dTVvVksvdHlXU1pxQnMvOGFBOGFjSDdzWWJK?=
 =?utf-8?B?R1UwUDNhU3Nqa2sxQ2F1azN1NktYZ1c4L2xYT242NjduUEF3OEorbkViQzhi?=
 =?utf-8?B?V09ZODEwZkt3aGtNNVdVbm9yeU5JSFdOaU5zek1JbTBIZUVMK1pKU3BjSjBT?=
 =?utf-8?B?enFwOUEvd1ZaT0NnTXBNNHlXdTlvWmdVOTNmRmNDOUVMZ296M05jSUhBK0FC?=
 =?utf-8?B?M2RPUCs5bjEvRGl4UmZieXN0QVg5S21ST2RrbkR6bDBNU01jV1ZNc0diOU15?=
 =?utf-8?B?YTRPQW9KRzJnWmtIcUFpdTVjUlZFWmNBYlI0Qm1ZNUhPOFVBNlFSdVpacHVD?=
 =?utf-8?B?czZQOTRodW1TV3hjNUhsWGg0MFV6bjFINExnTzBSc2RpaEg1bDU2UHJDVVZU?=
 =?utf-8?B?bFNXNks2SmFlZHplVTNiVlpFMXpKQXRkY25IRTZhYTgyblFuYysrdm5IL0hj?=
 =?utf-8?B?ZXhtcmdRcW9TUFpMcUNyMllTRVBoY0NEOFpIcjBWZmNUVzg0SWhGM0lGb0xU?=
 =?utf-8?B?Ui96Wk1KaHA2Z212T3BvdVY2c2pHTHNPdkoxNmdjam5sQ1NGOENWSjVjV0Nk?=
 =?utf-8?B?R1NtWVRSOUUwOEQxdGxhbHBKRVVjbU1yZUFZOURJWCtUSXdOZ1hUcEJHVGdH?=
 =?utf-8?B?cTVUV1B4azdNT2UyWFgzMWJLbHZVYlFXZFc3M2FpN3pYZWRVRS9JeC9RczAy?=
 =?utf-8?B?M1JDZkpQb2R1Z2FFS2FYaFk1ZGxudmNET09sdmtXQnpTU1dRTS8xc3JhMUVm?=
 =?utf-8?B?RGlJQlk0cEx1TlNpUThVVCtNWm5zTFl3MUpVS1dHQzg4Y3V0YjQ2OUhFYVM0?=
 =?utf-8?B?YkplSnZidWZTbVNnN2F2eFhmSzdrcTVPK3ZSckdvekIrMVNkcXJhajU1b200?=
 =?utf-8?B?eENMaXBiWG5QNk5kd0Ezb01uR2t1dUwrYnFmZnpMeG1PZXYvQW9CUmxWU3hW?=
 =?utf-8?Q?PefCrxZqKIyZCpRsfEWK6QPCT?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d836cb5e-49c1-41c2-62e2-08dbecc97052
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:43:32.1555
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bIAy8xEwfSnkJR2cfWGOONq89L0VuWDPeVEUivjegATm54Gkv/s9sndbVTr/9z9eck8tsdaUX9LfITpamuXg1g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9438

... to a field in the capability/controls struct.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -162,7 +162,6 @@ static int cf_check parse_ept_param_runt
 
 /* Dynamic (run-time adjusted) execution control flags. */
 struct vmx_caps __ro_after_init vmx_caps;
-static uint64_t __read_mostly vmx_vmfunc;
 
 static DEFINE_PER_CPU_READ_MOSTLY(paddr_t, vmxon_region);
 static DEFINE_PER_CPU(paddr_t, current_vmcs);
@@ -234,7 +233,6 @@ static int vmx_init_vmcs_config(bool bsp
     u32 vmx_basic_msr_low, vmx_basic_msr_high, min, opt;
     struct vmx_caps caps;
     u64 _vmx_misc_cap = 0;
-    u64 _vmx_vmfunc = 0;
     bool mismatch = false;
 
     rdmsr(MSR_IA32_VMX_BASIC, vmx_basic_msr_low, vmx_basic_msr_high);
@@ -426,14 +424,14 @@ static int vmx_init_vmcs_config(bool bsp
     /* The IA32_VMX_VMFUNC MSR exists only when VMFUNC is available */
     if ( caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS )
     {
-        rdmsrl(MSR_IA32_VMX_VMFUNC, _vmx_vmfunc);
+        rdmsrl(MSR_IA32_VMX_VMFUNC, caps.vmfunc);
 
         /*
          * VMFUNC leaf 0 (EPTP switching) must be supported.
          *
          * Or we just don't use VMFUNC.
          */
-        if ( !(_vmx_vmfunc & VMX_VMFUNC_EPTP_SWITCHING) )
+        if ( !(caps.vmfunc & VMX_VMFUNC_EPTP_SWITCHING) )
             caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VM_FUNCTIONS;
     }
 
@@ -456,7 +454,6 @@ static int vmx_init_vmcs_config(bool bsp
         vmx_caps = caps;
         vmx_caps.basic_msr = ((uint64_t)vmx_basic_msr_high << 32) |
                              vmx_basic_msr_low;
-        vmx_vmfunc                 = _vmx_vmfunc;
 
         vmx_display_features();
 
@@ -495,7 +492,7 @@ static int vmx_init_vmcs_config(bool bsp
         mismatch |= cap_check("VPID Capability", vmx_caps.vpid, caps.vpid);
         mismatch |= cap_check(
             "VMFUNC Capability",
-            vmx_vmfunc, _vmx_vmfunc);
+            vmx_caps.vmfunc, caps.vmfunc);
         if ( cpu_has_vmx_ins_outs_instr_info !=
              !!(vmx_basic_msr_high & (VMX_BASIC_INS_OUT_INFO >> 32)) )
         {
@@ -2153,7 +2150,6 @@ int __init vmx_vmcs_init(void)
          * Make sure all dependent features are off as well.
          */
         memset(&vmx_caps, 0, sizeof(vmx_caps));
-        vmx_vmfunc                 = 0;
     }
 
     return ret;
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -287,6 +287,7 @@ struct vmx_caps {
     uint32_t vmentry_control;
     uint32_t ept;
     uint32_t vpid;
+    uint64_t vmfunc;
 };
 extern struct vmx_caps vmx_caps;
 



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:46:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:46:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640268.998283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6RpF-00056Q-SW; Fri, 24 Nov 2023 08:46:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640268.998283; Fri, 24 Nov 2023 08: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 1r6RpF-00056E-Pa; Fri, 24 Nov 2023 08:46:13 +0000
Received: by outflank-mailman (input) for mailman id 640268;
 Fri, 24 Nov 2023 08:46: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6RmO-0001P4-4r
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:43:16 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80d8be69-8aa5-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 09:43:13 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9438.eurprd04.prod.outlook.com (2603:10a6:102:2aa::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Fri, 24 Nov
 2023 08:43:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08:43: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: 80d8be69-8aa5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iu51CulISHlDiM2yC/3N3pNnlM6zF1YpR81rTU4ag695U0kaC1Ux+A6vNH7ghBqmxeLkfHJWnGBo+Td2X84IgEUJU1ZEpV4QkfvGyJb1pwT+4nS3Xw/PNhmzkcUrzEgEPFgOM9kUPCTtG2DxjFzMNU6fm2u0sTcybIL4wPajk7fK+WjkEUGfzkr5ES+8AZoVA/DS3teBGqbqUWcebbsFNo6QXrOe+OfuR3BH4stwSwtYDH0Orr43WGLzQ/Rbyc93ihoRU/PhVVOtg97AS37Z6699HELYZoLwj+yGpcQ72/8wReTJULZM7iXqotu8+1Co3boZhynhfc7O+UPu/TkpoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ii+zo1xobGN3wN/BEdb/rynTYs7jRTblTW/YlpNzeJY=;
 b=bjo3fac8oivXCVCYMLc+hyAuTyUMzAFv5FT1DPiNnD65FEnccZ9De0Kia1e53rThtxWMY1iIfHzkGey4sI786s8TkLRzBhPmikZmfF2xuQq83JGF/CD8sJO43NYGTAJFk7jM2Mf7LI7r5yw2S6u5mh/zOkkShfANJ784yIi6/oqlaYCLuR2ip/9BKVRjJ/fC+1Tjh6fDEHyWqLrCJiXjgTO7xHvzC+SXh9Y6Sz4ayoFjsSEWT2QQDOWzT60b5N4VKH9ftjT3X8aKWPxlr/XhR6INWniEeS+oHCF0umiieaXhVsWB4pUNFmnKvGwn/fr/69+0x+z5JN00zI1q4b5T8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ii+zo1xobGN3wN/BEdb/rynTYs7jRTblTW/YlpNzeJY=;
 b=0dptbUAJtUcfk5luLSqJX5vpriOlselL4lq7wRzGzBFjPjPwaLJi2ZFU9CBZw4cDAxag1WnXoTXhpELD9pywEn/4UfOoVgFDttlBhSX5l5+Ub83FPoHX3ooXOx3opjWoCbWq0KC5fxaKVFo9bvejE7QwIogMGzibXJ1z3it1IYG8Ug9AVaAvAYbDkLMWefiqyMhbFQTvmBER6bC4m1r87zpE0iQLIB0rUYXSvMTm/f9I9FJ17WvC4o32HyeSSxxndv6QwymiSmBS32az91qCp6/nYW5Xrpt8o4RJ/X7b1fZe+EmwkmxTb8oUxxAbQfbMf48nRgcbVQjQXWZ1V3WSRQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4745e02e-b9b1-4381-b79b-f9ab63b81daf@suse.com>
Date: Fri, 24 Nov 2023 09:43:10 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v2 14/15] VMX: convert vmx_ept_vpid_cap
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0408.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9438:EE_
X-MS-Office365-Filtering-Correlation-Id: 231ec47e-4f9f-4aa9-2352-08dbecc963f4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MIuZl7woFkd2puIYIRvcWdqBU6AXyGeBdkwCyJ93LCh2xbNTgViP4aQtk3G1HKMEm0cMe/pqC9IdFSII9YBmFSOrJMV7TbJcRgTnhFZ+s3KOj0gcvdWleDKkwLYATpWYXNHukMeLXGvRbBkgDpRmXKWIaX+esTfZbLuHARedmKLERczl+XrpClvPa2c6zMDYHiO3tkzDfME2ob/aXZyKkUf0FLl+DdBH7X0Q/GOqT1cC67/XmS+6e54B9SUzGnKBhmqLb94BX0wfkZKIvI/U4/lM1vKlKXhul3O3Sl8/q710TGFUzwWWorcKSTJsNwlQrfFoUU7FqQtnrlcDiD3embB3bvOu3lGbwf3hzXwNKma34k/Rvgecw74ArC7hwuVj7uytRrxMN2Nyr0wtzVlswXqXyJc2j9JUuf51vPUTGUp2L8NSGGMOTSw2a0h+ONvaGwvWYOdaB7mwYpaASYe2h7oql9Xzp2nu8erO7QaSeBxULuyHLyxOsg4RT6UzeqFsbk6ap5Izx6GqeRDpsikFPB0uP6HhWUOI/VDvP3rWT6nu3bUcD5gFgdA1eXMehxJsHvqRsy1ychyRtdhMoxJloHMwLzGygMeSTn+Xh1eAkpqE+yIn/43GfDSjf+gD9ieH30+GawjO90DI+tdleCrvKQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(366004)(396003)(376002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(36756003)(2616005)(6512007)(8936002)(83380400001)(5660300002)(4326008)(8676002)(26005)(6506007)(66476007)(54906003)(66556008)(66946007)(316002)(6486002)(2906002)(6916009)(478600001)(31686004)(86362001)(31696002)(41300700001)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MEl0d1hNNUpjQ3hjdE1oSTlMNzFqQ0t2VGp4OFJxVWsrK0VIb3VyRGtDTkZk?=
 =?utf-8?B?SmZ3QjJueFljQitvTFptMktLZklBRDMwNUQ3RS96N1o1UmlvMUtxSXpVdU5o?=
 =?utf-8?B?MzlYc0g2YWFmNU9ZZzY1bXhXRHg1MjZ2YTFzOEJFY2RFL2FHMUNiZkZNd2Fj?=
 =?utf-8?B?cmI1TndZRCs3ZE1WM1ZLNGVHWjQ5NVFFY09KZUlRTlhLUlBxcEtyWDhTK0hD?=
 =?utf-8?B?LzNOeWR6VDJkTXgxK2ZhczJmUnBXeDFrenJnMks0UFhVbkZkYnRIMFlhQ1hk?=
 =?utf-8?B?SlcveFl6SC9iam1lZis0UkhaaGRkMFNkanZwUzlJYnJEZk5ISGY1L0FEZEhn?=
 =?utf-8?B?N29jZjl0WFJ4QTJyckhueWIraDR1Wi9hallQRTRYMUxUU2pyYVZDOHRrTHo3?=
 =?utf-8?B?dnVNSk1BeXlLRUkvNFdiWG9RNlRrWlJqam54bUJEN3FUNW44c240UEYxUlh4?=
 =?utf-8?B?dStwNzh2WVBKNmhoZUJRcXFIdHJVZm1iS0dYZFJVQU8rWmk5dEd3ZXltWlp6?=
 =?utf-8?B?Q05CODdqZlRRWlRiRmNOUHdodEdwejY1NkhvbmltUUZGS1hFOUpGalNCRVdT?=
 =?utf-8?B?eDhhVnJQNnB1eVRrdUZtb1BIaitZVHcyYlplb2ZUTmVFaG1xaklsU0ZURVdn?=
 =?utf-8?B?QWkwVTFhOERuay82NDhQa3BIZTFZSEhtY2tPOWIyUlVZRjFBQk5MZGEvZW01?=
 =?utf-8?B?dTFPY3paQXlvZnVTZmYzNTJQWi9qUnllRHQ2SzBUR0E5eFJVSUdCeVRQWDBn?=
 =?utf-8?B?bUo1azVJNmd5bk9jcDB6SndSbnp0b3FXMEF4enlqazlDVlJVWjkxdXg0ZDhi?=
 =?utf-8?B?V0xUc0YweDNKenpVVWZRdG1vbnN1MERjSTZVSDV0VElKQ2xvN2hEM2xQRU55?=
 =?utf-8?B?OStVRGdEMCtYM2RscXJOem9jdUM5elAxZmZLWHlxSTc1ZU9XWE9UVm1kR0dJ?=
 =?utf-8?B?NlZ5Wm5CaXgrRkpJaXNOdEZKUjVRSzdTK0MvZW42QUZzNUpCMWYrM0dvNVh5?=
 =?utf-8?B?TXptdXprbmF6OExFem1GQmsrVWsvWnMzNW1tbmt0SjN5WVhFZjRDNEM1bUI1?=
 =?utf-8?B?MGNwaGlLVTUrSEREMksvVDk3WnJlTjY1L1ZueHgrbHpYWHNaU1N4YW15MGcv?=
 =?utf-8?B?Z29PTDV4Qnc0UlBmZUlTWHVzUmVNL09KNUNiNUIrQlRlUjFjUzBVOWg5RXpI?=
 =?utf-8?B?QUM4ODRRQ3hsVmtFWVFreWlNRExEMUs5VDBjV1F5bVYvUjhpbTM2SmJndjRJ?=
 =?utf-8?B?cXg3d1VWeXp2S0lNc05YQ2o0UW04MHFtdko4WExHeVhVWVRIRW9GVitRTGJn?=
 =?utf-8?B?Nk1hT0pvb0ViNi9GdTBrVG1iaHhQMFpRdTNDYUsrT09YTUUzdjlVbGJJQWVG?=
 =?utf-8?B?Vk5IYTVCTzdPclNaeFhJY0RtamVlY2FNUlBuL2ZvbHlhTzVzK1h4b2RXeGxn?=
 =?utf-8?B?R25LSHl0a25WaXczcGYzSnVxeEhpcCtwSlFTQlB5T1JxY0lKTmYrdlRubUJ2?=
 =?utf-8?B?SnROWFd6V2ZSMkVMQmplMkQ0WjhjM0N0RWIyeGpaUEpOMndFa2IwUVRvbCtl?=
 =?utf-8?B?eU9SWmdiZVMzM0dkaEcwRGNWSTJjNFdIeUtmeEFwSEJmU1ZHcWdqWWZDZVMx?=
 =?utf-8?B?eWJXNFJyWDlWNG93cWdIMElScDFiek82OFprR0haYlNZeHUrOEJTWDZCeFVV?=
 =?utf-8?B?TGR3L2FaU2JsTWpEdlF5Rk93ekQ4M0hBVDJXT3hUdHBsdEJUdW1yNlU0dVlv?=
 =?utf-8?B?eXc3bkVhb01mME55TllDVW10NGpsUktJL3Q2QVJIc21LaGMyYTNMTGM4ZGdM?=
 =?utf-8?B?aVVWSDNtZEhFOTF1YkJEVlcxdzlRMkptU1ZITThTNnFuQWlNazh4bjNsSnVK?=
 =?utf-8?B?NCtYOHlOdEp3b3U1R2hhaEhMaU1NRy9vSElhcjR2TS9yd0dFMFhITm5MWWpv?=
 =?utf-8?B?d2w0WFIrT0ErbG91STFYYVVNMFBudkdYdWJhVGtJeGlaU3BOdjZCVlhkamY5?=
 =?utf-8?B?Sy8yTWtKM1J1KzNuV3ZkeFpDTkhTZ1hRYXlBalZDS3M1ak53dVNqMEFXZUo5?=
 =?utf-8?B?cFNuOGlkV2NKbW5VNnhqaGhQTFAxQ0kxanRHdWl4YmFPTDdBVE1PbWI4Mk5u?=
 =?utf-8?Q?JgrsRkPZer4Ws6qhWfQnbyusL?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 231ec47e-4f9f-4aa9-2352-08dbecc963f4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:43:11.3754
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: c/rU9Py4OQNUqRmoruCpxOLtfE1VNkDV597Gmu6fxPURMD3PZ6DDZnfz+6XiU5PWkzPgBwRCitjmVxs41EiILw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9438

... to fields in the capability/controls struct: Take the opportunity
and split the two halves into separate EPT and VPID fields.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -162,7 +162,6 @@ static int cf_check parse_ept_param_runt
 
 /* Dynamic (run-time adjusted) execution control flags. */
 struct vmx_caps __ro_after_init vmx_caps;
-u64 vmx_ept_vpid_cap __read_mostly;
 static uint64_t __read_mostly vmx_vmfunc;
 
 static DEFINE_PER_CPU_READ_MOSTLY(paddr_t, vmxon_region);
@@ -234,7 +233,6 @@ static int vmx_init_vmcs_config(bool bsp
 {
     u32 vmx_basic_msr_low, vmx_basic_msr_high, min, opt;
     struct vmx_caps caps;
-    u64 _vmx_ept_vpid_cap = 0;
     u64 _vmx_misc_cap = 0;
     u64 _vmx_vmfunc = 0;
     bool mismatch = false;
@@ -333,10 +331,10 @@ static int vmx_init_vmcs_config(bool bsp
     if ( caps.secondary_exec_control & (SECONDARY_EXEC_ENABLE_EPT |
                                         SECONDARY_EXEC_ENABLE_VPID) )
     {
-        rdmsrl(MSR_IA32_VMX_EPT_VPID_CAP, _vmx_ept_vpid_cap);
+        rdmsr(MSR_IA32_VMX_EPT_VPID_CAP, caps.ept, caps.vpid);
 
         if ( !opt_ept_ad )
-            _vmx_ept_vpid_cap &= ~VMX_EPT_AD_BIT;
+            caps.ept &= ~VMX_EPT_AD_BIT;
 
         /*
          * Additional sanity checking before using EPT:
@@ -349,9 +347,9 @@ static int vmx_init_vmcs_config(bool bsp
          *
          * Or we just don't use EPT.
          */
-        if ( !(_vmx_ept_vpid_cap & VMX_EPT_MEMORY_TYPE_WB) ||
-             !(_vmx_ept_vpid_cap & VMX_EPT_WALK_LENGTH_4_SUPPORTED) ||
-             !(_vmx_ept_vpid_cap & VMX_EPT_INVEPT_ALL_CONTEXT) )
+        if ( !(caps.ept & VMX_EPT_MEMORY_TYPE_WB) ||
+             !(caps.ept & VMX_EPT_WALK_LENGTH_4_SUPPORTED) ||
+             !(caps.ept & VMX_EPT_INVEPT_ALL_CONTEXT) )
             caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_EPT;
 
         /*
@@ -360,11 +358,11 @@ static int vmx_init_vmcs_config(bool bsp
          *
          * Or we just don't use VPID.
          */
-        if ( !(_vmx_ept_vpid_cap & VMX_VPID_INVVPID_ALL_CONTEXT) )
+        if ( !(caps.vpid & VMX_VPID_INVVPID_ALL_CONTEXT) )
             caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VPID;
 
         /* EPT A/D bits is required for PML */
-        if ( !(_vmx_ept_vpid_cap & VMX_EPT_AD_BIT) )
+        if ( !(caps.ept & VMX_EPT_AD_BIT) )
             caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_PML;
     }
 
@@ -456,7 +454,6 @@ static int vmx_init_vmcs_config(bool bsp
     {
         /* First time through. */
         vmx_caps = caps;
-        vmx_ept_vpid_cap           = _vmx_ept_vpid_cap;
         vmx_caps.basic_msr = ((uint64_t)vmx_basic_msr_high << 32) |
                              vmx_basic_msr_low;
         vmx_vmfunc                 = _vmx_vmfunc;
@@ -494,9 +491,8 @@ static int vmx_init_vmcs_config(bool bsp
         mismatch |= cap_check(
             "VMEntry Control",
             vmx_caps.vmentry_control, caps.vmentry_control);
-        mismatch |= cap_check(
-            "EPT and VPID Capability",
-            vmx_ept_vpid_cap, _vmx_ept_vpid_cap);
+        mismatch |= cap_check("EPT Capability", vmx_caps.ept, caps.ept);
+        mismatch |= cap_check("VPID Capability", vmx_caps.vpid, caps.vpid);
         mismatch |= cap_check(
             "VMFUNC Capability",
             vmx_vmfunc, _vmx_vmfunc);
@@ -2157,7 +2153,6 @@ int __init vmx_vmcs_init(void)
          * Make sure all dependent features are off as well.
          */
         memset(&vmx_caps, 0, sizeof(vmx_caps));
-        vmx_ept_vpid_cap           = 0;
         vmx_vmfunc                 = 0;
     }
 
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -265,12 +265,11 @@ void vmx_vmcs_reload(struct vcpu *v);
 #define VMX_EPT_AD_BIT                                      0x00200000
 #define VMX_EPT_INVEPT_SINGLE_CONTEXT                       0x02000000
 #define VMX_EPT_INVEPT_ALL_CONTEXT                          0x04000000
-#define VMX_VPID_INVVPID_INSTRUCTION                     0x00100000000ULL
-#define VMX_VPID_INVVPID_INDIVIDUAL_ADDR                 0x10000000000ULL
-#define VMX_VPID_INVVPID_SINGLE_CONTEXT                  0x20000000000ULL
-#define VMX_VPID_INVVPID_ALL_CONTEXT                     0x40000000000ULL
-#define VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL 0x80000000000ULL
-extern u64 vmx_ept_vpid_cap;
+#define VMX_VPID_INVVPID_INSTRUCTION                        0x00000001
+#define VMX_VPID_INVVPID_INDIVIDUAL_ADDR                    0x00000100
+#define VMX_VPID_INVVPID_SINGLE_CONTEXT                     0x00000200
+#define VMX_VPID_INVVPID_ALL_CONTEXT                        0x00000400
+#define VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL    0x00000800
 
 #define VMX_MISC_PROC_TRACE                     0x00004000
 #define VMX_MISC_CR3_TARGET                     0x01ff0000
@@ -286,6 +285,8 @@ struct vmx_caps {
     uint32_t secondary_exec_control;
     uint32_t vmexit_control;
     uint32_t vmentry_control;
+    uint32_t ept;
+    uint32_t vpid;
 };
 extern struct vmx_caps vmx_caps;
 
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -278,17 +278,17 @@ typedef union cr_access_qual {
 extern uint8_t posted_intr_vector;
 
 #define cpu_has_vmx_ept_exec_only_supported        \
-    (vmx_ept_vpid_cap & VMX_EPT_EXEC_ONLY_SUPPORTED)
+    (vmx_caps.ept & VMX_EPT_EXEC_ONLY_SUPPORTED)
 
 #define cpu_has_vmx_ept_wl4_supported           \
-    (vmx_ept_vpid_cap & VMX_EPT_WALK_LENGTH_4_SUPPORTED)
-#define cpu_has_vmx_ept_mt_uc (vmx_ept_vpid_cap & VMX_EPT_MEMORY_TYPE_UC)
-#define cpu_has_vmx_ept_mt_wb (vmx_ept_vpid_cap & VMX_EPT_MEMORY_TYPE_WB)
-#define cpu_has_vmx_ept_2mb   (vmx_ept_vpid_cap & VMX_EPT_SUPERPAGE_2MB)
-#define cpu_has_vmx_ept_1gb   (vmx_ept_vpid_cap & VMX_EPT_SUPERPAGE_1GB)
-#define cpu_has_vmx_ept_ad    (vmx_ept_vpid_cap & VMX_EPT_AD_BIT)
+    (vmx_caps.ept & VMX_EPT_WALK_LENGTH_4_SUPPORTED)
+#define cpu_has_vmx_ept_mt_uc (vmx_caps.ept & VMX_EPT_MEMORY_TYPE_UC)
+#define cpu_has_vmx_ept_mt_wb (vmx_caps.ept & VMX_EPT_MEMORY_TYPE_WB)
+#define cpu_has_vmx_ept_2mb   (vmx_caps.ept & VMX_EPT_SUPERPAGE_2MB)
+#define cpu_has_vmx_ept_1gb   (vmx_caps.ept & VMX_EPT_SUPERPAGE_1GB)
+#define cpu_has_vmx_ept_ad    (vmx_caps.ept & VMX_EPT_AD_BIT)
 #define cpu_has_vmx_ept_invept_single_context   \
-    (vmx_ept_vpid_cap & VMX_EPT_INVEPT_SINGLE_CONTEXT)
+    (vmx_caps.ept & VMX_EPT_INVEPT_SINGLE_CONTEXT)
 
 #define EPT_2MB_SHIFT     16
 #define EPT_1GB_SHIFT     17
@@ -299,11 +299,11 @@ extern uint8_t posted_intr_vector;
 #define INVEPT_ALL_CONTEXT      2
 
 #define cpu_has_vmx_vpid_invvpid_individual_addr                    \
-    (vmx_ept_vpid_cap & VMX_VPID_INVVPID_INDIVIDUAL_ADDR)
+    (vmx_caps.vpid & VMX_VPID_INVVPID_INDIVIDUAL_ADDR)
 #define cpu_has_vmx_vpid_invvpid_single_context                     \
-    (vmx_ept_vpid_cap & VMX_VPID_INVVPID_SINGLE_CONTEXT)
+    (vmx_caps.vpid & VMX_VPID_INVVPID_SINGLE_CONTEXT)
 #define cpu_has_vmx_vpid_invvpid_single_context_retaining_global    \
-    (vmx_ept_vpid_cap & VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL)
+    (vmx_caps.vpid & VMX_VPID_INVVPID_SINGLE_CONTEXT_RETAINING_GLOBAL)
 
 #define INVVPID_INDIVIDUAL_ADDR                 0
 #define INVVPID_SINGLE_CONTEXT                  1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 08:48:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 08:48:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640276.998293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Rr6-0006fJ-BX; Fri, 24 Nov 2023 08:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640276.998293; Fri, 24 Nov 2023 08: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 1r6Rr6-0006fC-8n; Fri, 24 Nov 2023 08:48:08 +0000
Received: by outflank-mailman (input) for mailman id 640276;
 Fri, 24 Nov 2023 08:48: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Rr4-0006dr-Tp
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 08:48:07 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2072.outbound.protection.outlook.com [40.107.7.72])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2efdfe39-8aa6-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 09:48:05 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7493.eurprd04.prod.outlook.com (2603:10a6:20b:293::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.13; Fri, 24 Nov
 2023 08:47:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 08: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: 2efdfe39-8aa6-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DGGOJq1MOUGT61xGRsLW2bwLcdp3opSy/snODBysNT3gfb20LNLk20ULJ5RjZ6Ab3+58UckEtc6K14j+sNlCR+uzFno3M/I/MIP8jBArh00fb5TxDosLkMRCa9vF56M687ZVj4LRRH5UlPPP7c4/5YsxsAFq9zLRhQHSwolLPhGuL0Y6NqLbx81EB1ZJcLp16LdDo0d4RcW3Ox0HLia/WiniOQRvVovh32hSsQXBGHcQwT4Yz8oQsbUDhda8o/UCF+cnBCjOzy9MKaU38xJRHyciusyKWRZmxE69OaZYM1mtbxaGxg3jxfjTGVr4jHF5MTT9n0yJffxQRy9Mwv060A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pRRCvdEzfHXau9NYAIbaWHLd3gmeT2DUcL+3sKARZv8=;
 b=dJTWoSX833vgeq8NxRDRGnMDY38JPGYK4EeDk3F4s/zladKLt2auVkm+deaHaCEYq2WPN7NVjKBo2/8IyvvZwDHWNzryuyuZQMznw0zDZFdUHMqz1tjm6oimFftyq+KeDNVKzMoaPSI+ZWlMGzkF3y5FlSbZC31m8ohiDWsYaf6364uNP110P9Ooi9Vm5Rx/SJYEv+gPL1vLRyPt72XZ2zeTz3fnPjI3KrFZAnJkl1kfjJmAXv5o5FWOSUaZPFpnf1g6xL+spPwoCjbNHCzR5ULXmsISfllTAyU+8f+N2DVuODL/z2xL1GzlfcMFNCsExkSn0EcaLt8r3wxZMecUpA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pRRCvdEzfHXau9NYAIbaWHLd3gmeT2DUcL+3sKARZv8=;
 b=MTe2UYywcVPJsKkkPW8f5F/FEX4LfS8HX7zO5CF6lwQ2TdBGBQ21/AIU0q9SP35bx2cYEm5BmvSzLHZ3zEqXC6FzKN7BzcuAUux3+q3mnPLQMFLZ9XeH0P4lccq5U2CTEfM/3CzDW7eC+Yk3L96R3/sF/l76+FHaaOMZSSjT6tRT0lHyt41gAbVwp3vS5LiK6Wsq+RHuXlH0f0WsF8oKwvdmm75f84n5eIe1x/v3/nS9TLiMKRslGA5c24w1n2Cbg75MTMHZBnN3wdHpqk9RuQfAb/PlVpuk8/lYKUO1vULz+rqwKXG6OSh2hOZRtBfG5j/r48AJvZ2+YJtpYZPTkA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6a8cfa36-82c7-49d7-952c-a35fae318369@suse.com>
Date: Fri, 24 Nov 2023 09:47:34 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 15/15] VMX: convert vmx_vmfunc
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
 <b2accc3a-9b54-45b4-8cec-29cad9c2d638@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <b2accc3a-9b54-45b4-8cec-29cad9c2d638@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f2::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7493:EE_
X-MS-Office365-Filtering-Correlation-Id: 765b9090-1e7d-4e16-7186-08dbecca01c7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ITjzT9cy0/lGRHfdPuRiqfoa/EFht8Hu9NlWgnv+yDuFT6BnC7ga1aqrB1144U2uKesirYi33QJfvzp6aB86+YtQvoM8f4VLjsvDBjMdy5vA03ax6v31lx86u6y7PS6tx9V1hecXh4H6ITUPpL9e9oa0//b+6njXsfXJXPBaT5Yo6z+oVfFOibHvtc6mMt0wKXtRzavpquj2oGF/hrHv5dJMzJo3jhuJ+2cUh+Uq1+srp0LUZ/POXzm4wT3i/VYa1BaYoNs/GfjnrOKfQNEXpAjiy6KN9FhaFLBTqTsWN2O/LI2FreNp/mZ/ZJZjFmVaJ7M2D0RjGo4OxeGYuAqI4+1gNOu5r+KbwtbgjRuz75LoR26bBVJJf32w09AHBJXiWIxsaWuBZgYdppXrjPhupJXP6/lfSQ+V2uPhdyXOsz/JyYBDMWWH+D8FnUlr0SQ1bdrNSkitzBMv27FBIq80JftiQlHm0bSMfn5Qx1VnIoRpG3HlON1b2fIS52IdNyKQqTMrDjpFB9BMzCQFb3med4CkrAddjPICvJgYj1yjHn9Dy+eHpuCWzmYwpmEg6IjsFEd2JhgtejuMjeno51j3grygi0gT09agVtS4fO0yM0L0CvxYSVyQ/OMp+7ttHNqFSnrocmQ3rqyTrNKYbL5XwQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(376002)(366004)(39860400002)(136003)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(26005)(2616005)(6512007)(53546011)(316002)(6506007)(5660300002)(41300700001)(2906002)(8676002)(6486002)(478600001)(8936002)(4326008)(54906003)(66556008)(6916009)(66946007)(66476007)(31696002)(86362001)(36756003)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WUUzb2JFOWh5dDVuV3BQRmNEWENHUXBoL1NDOVFpRWxjaDBYK0JRTkhZT0lW?=
 =?utf-8?B?a2FMVXdmeDFoOUhsWEFvS1ZJUHBOcFFYMElQa0hISm1vOGZvY3hxbVlyd3Rr?=
 =?utf-8?B?RlVOOEo4dE5XblFHUWhQTzc0WlRMMFV2YkdYbG1DU3B6SUJROVlUaEFLZFFk?=
 =?utf-8?B?bFBxN1d2ZWE0ejlzYTVraHBBK2Q1T04wdEQvdXZTOU9ZRU1LOWhhc1BmbTln?=
 =?utf-8?B?amFEUnFFOE95WXA0RHB6Wm5nNWZtOFRMYnZPOEUwV2dTUWxmWkJwd0hGY0hk?=
 =?utf-8?B?SEgwODQ3YUhhTDJXTGxycU1NUXp4a2hUWHEyRTN3bVBDY3BsRm5PdXc3d0dr?=
 =?utf-8?B?OHV4ekJxMmQzanhzUS9VLzdFSjdpeUp4RzJOL24xOXZ5cXVLQjF4aThKbnAw?=
 =?utf-8?B?SSsxUWc4YnRBR3M1UE1qa2tHb2kxQllrY1daNDR0ZXQ1dGdtL3ZZeWMzaXBj?=
 =?utf-8?B?OTlqWi8xczhuUzdGd0pQdkUyV1VaczRQLzJ0VThQUE1zVGh3MUpLclJPL1R0?=
 =?utf-8?B?QythbXdoUUpHbmhsdlN6ek1mZlFhT1F1blFXNTd2VmFSb3FnS3ljOWdRZERz?=
 =?utf-8?B?OSt4dHdhVGdRZzV2VGxLdTM1L01IazQzNVR4a3dVNDFuRlYzaVdlZjJ5NnpP?=
 =?utf-8?B?SUZVQkpNZktncEozQ1NuM0Npc1JsZ2xlZCtieG94NkFiMEZDNWZpWEJ5Uzhp?=
 =?utf-8?B?NSs3amZ0UHY0cEw2MkZYZVNzOHRBcVhyakpMUU9JSVdEc25NcDJxY3R2dm04?=
 =?utf-8?B?S3p6aEp3bHNtSUUyZkU4Y3J3OUZrbEpxb0d2aURUcFRDWWxXL08xUW9jQ3Vi?=
 =?utf-8?B?VHVaVGpuQTJpZ01DUEtQZEF2SldWUVV0UHQvT09PQmhXT1Q3ekpySDhwUkVj?=
 =?utf-8?B?OXJBWkRZNSs3M1RNZFVoMTZHRzdHU0lkMTh5dEZFLzBZM2ZobDhVYTNwODlG?=
 =?utf-8?B?OWk0WTRGWG5KS2xoZlJxM3JZcEZJWXdvT0U4ek5JamcyMkoxVHhReXkySkxE?=
 =?utf-8?B?a2ZnL1Q1bm1DYUQvb0cvL1ZMQTB0cE5qTCs5UWNHQThIemFDbUVCUjZCdFBC?=
 =?utf-8?B?akkrakQ4WjhZVGhsa3FwZUIydVA2OFZsbFpIZUFyUC9lSFdGVkVGalpYMS9r?=
 =?utf-8?B?VytxbXcrV1hrbGY0Z0ZKNDNsVjlWQ1RoOXcybVFxV05pRHU5OGRoeTlFdnQr?=
 =?utf-8?B?dWcxWVpvT05sSTFJaWl6R290QW5CYmdYV3ZXSFMzczNvUHFCNFh5VjkvbUor?=
 =?utf-8?B?VExpd1NhUlYxb08wclZmdFlBUDRlMkpIYklQcjJRT0I1cDMwNHpHTnZtbDZ2?=
 =?utf-8?B?eU5obXgyd2lleWFISVdGTjY2UEtpbnNrWGtESkRrSGdGd1I2TERjZStzTE5m?=
 =?utf-8?B?ZHhpOWZsZnVxdTA1MXVXMWlaMDRRSDlxNDd5Mit5NG41NGZsay9udEcrOVpV?=
 =?utf-8?B?Ky9yVVFyRlJPcERDdXJUTU9GU0NlRFE0cHU3WW9TZnNEeDg3bWpPZnNtQ3ox?=
 =?utf-8?B?ZnU1bit3dWpyRHlwaVhTZy9LeFl0NFNrWnE1TCtWMlZqRi8yL05sZk9Rd3Mr?=
 =?utf-8?B?K25Yd1o4QTlBK0RCeE1WODVKMmc2V3ljRE5oOHRvajhwUElSellXMHBYWDBp?=
 =?utf-8?B?OXRGWFN2ZnpjWHlzMVN1VGZLODRlbnluNU9ZRlcvTW5rZ2FnWXd4T0RscnZ2?=
 =?utf-8?B?Wkc3M1MwZFZMQXFKMWNIaE5oUmFWUGxrQ0lDMEJiSEdkYXdyd2p4Sm12ZHRM?=
 =?utf-8?B?d3ZIenIwV1FraVhxbVFrMmJMRkxHWkp4VFBjU1hYUkEzR2VCZ3hHTExtUXNs?=
 =?utf-8?B?Mk9hSVA4VlZQWkZFbCtGUkNubUk1NC9hKzlYbW15MUxPSHNJOFVvY0V5c2Vt?=
 =?utf-8?B?UXNjZVp4VlVrQVBCWnhyWjI0b2VzTFZZTWJpQWhiMkdTdlZaZGo2cStvSnZR?=
 =?utf-8?B?a1lZWGZSUmx2cDVpM25rREgyQUZYNjAyeHBleUNkRTdtUWgrMUJhYVdGT2Rh?=
 =?utf-8?B?QXR0bjZHaVZRUURwOThIVG9NUFZmc0xPMjVieS9ZUlErNDRXYkNoa3FHSnlu?=
 =?utf-8?B?SUxkQUsyRHN1NVJLMzJKSHZQNE5LWUZ2OEdzbnhsZWZrWnBmdGRZQktac1Bp?=
 =?utf-8?Q?pfyXcjZDs1ppSKXVIPkcmRbjl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 765b9090-1e7d-4e16-7186-08dbecca01c7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 08:47:36.1709
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +t55bbkrJXEe0BbH1GovX29Xy8zSyJMMMBaoDw2oBqHzj+VJ5lIIX3nFjyJvazONv/rdRqrQmieKK/er/+uHiQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7493

On 24.11.2023 09:43, Jan Beulich wrote:
> ... to a field in the capability/controls struct.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> v2: New.

I'm sorry, this really is 15/15 ($subject also adjusted).

Jan

> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -162,7 +162,6 @@ static int cf_check parse_ept_param_runt
>  
>  /* Dynamic (run-time adjusted) execution control flags. */
>  struct vmx_caps __ro_after_init vmx_caps;
> -static uint64_t __read_mostly vmx_vmfunc;
>  
>  static DEFINE_PER_CPU_READ_MOSTLY(paddr_t, vmxon_region);
>  static DEFINE_PER_CPU(paddr_t, current_vmcs);
> @@ -234,7 +233,6 @@ static int vmx_init_vmcs_config(bool bsp
>      u32 vmx_basic_msr_low, vmx_basic_msr_high, min, opt;
>      struct vmx_caps caps;
>      u64 _vmx_misc_cap = 0;
> -    u64 _vmx_vmfunc = 0;
>      bool mismatch = false;
>  
>      rdmsr(MSR_IA32_VMX_BASIC, vmx_basic_msr_low, vmx_basic_msr_high);
> @@ -426,14 +424,14 @@ static int vmx_init_vmcs_config(bool bsp
>      /* The IA32_VMX_VMFUNC MSR exists only when VMFUNC is available */
>      if ( caps.secondary_exec_control & SECONDARY_EXEC_ENABLE_VM_FUNCTIONS )
>      {
> -        rdmsrl(MSR_IA32_VMX_VMFUNC, _vmx_vmfunc);
> +        rdmsrl(MSR_IA32_VMX_VMFUNC, caps.vmfunc);
>  
>          /*
>           * VMFUNC leaf 0 (EPTP switching) must be supported.
>           *
>           * Or we just don't use VMFUNC.
>           */
> -        if ( !(_vmx_vmfunc & VMX_VMFUNC_EPTP_SWITCHING) )
> +        if ( !(caps.vmfunc & VMX_VMFUNC_EPTP_SWITCHING) )
>              caps.secondary_exec_control &= ~SECONDARY_EXEC_ENABLE_VM_FUNCTIONS;
>      }
>  
> @@ -456,7 +454,6 @@ static int vmx_init_vmcs_config(bool bsp
>          vmx_caps = caps;
>          vmx_caps.basic_msr = ((uint64_t)vmx_basic_msr_high << 32) |
>                               vmx_basic_msr_low;
> -        vmx_vmfunc                 = _vmx_vmfunc;
>  
>          vmx_display_features();
>  
> @@ -495,7 +492,7 @@ static int vmx_init_vmcs_config(bool bsp
>          mismatch |= cap_check("VPID Capability", vmx_caps.vpid, caps.vpid);
>          mismatch |= cap_check(
>              "VMFUNC Capability",
> -            vmx_vmfunc, _vmx_vmfunc);
> +            vmx_caps.vmfunc, caps.vmfunc);
>          if ( cpu_has_vmx_ins_outs_instr_info !=
>               !!(vmx_basic_msr_high & (VMX_BASIC_INS_OUT_INFO >> 32)) )
>          {
> @@ -2153,7 +2150,6 @@ int __init vmx_vmcs_init(void)
>           * Make sure all dependent features are off as well.
>           */
>          memset(&vmx_caps, 0, sizeof(vmx_caps));
> -        vmx_vmfunc                 = 0;
>      }
>  
>      return ret;
> --- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> +++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
> @@ -287,6 +287,7 @@ struct vmx_caps {
>      uint32_t vmentry_control;
>      uint32_t ept;
>      uint32_t vpid;
> +    uint64_t vmfunc;
>  };
>  extern struct vmx_caps vmx_caps;
>  
> 
> 



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 09:39:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 09:39:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640289.998302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6SeD-0004ox-2l; Fri, 24 Nov 2023 09:38:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640289.998302; Fri, 24 Nov 2023 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 1r6SeD-0004oq-0D; Fri, 24 Nov 2023 09:38:53 +0000
Received: by outflank-mailman (input) for mailman id 640289;
 Fri, 24 Nov 2023 09:38: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=424s=HF=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r6SeB-0004nQ-JT
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 09:38:51 +0000
Received: from m35-190.mailgun.net (m35-190.mailgun.net [69.72.35.190])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 437c3c79-8aad-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 10:38:46 +0100 (CET)
Received: from mg.gitlab.com (64.90.74.34.bc.googleusercontent.com
 [34.74.90.64]) by
 8cf7c84b8877 with SMTP id 65606f25eef17b1c766d610f (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Fri, 24 Nov 2023 09:38:45 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 437c3c79-8aad-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1700818725; x=1700825925; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=BNgZwqJ9Pz/K7CDBF8GvyHyCoRlKcn0f4D9ulBMsLys=;
 b=OZrLpMZU4Uz4S1z8j4HwzQ5cancY09ME1YoDoQjnNC6LCTgZA7s0VwOtgKvv4WkvYSbfT71rX2WwN3nNs4YdZzcOfrerN8Fm3YcpawP8QQs8sKe+X/X86gPcBAo+3ui9oOrtyAQI0HB7ps7ZJno/zr5MIhw6F6+Aorn3hCmsq0U=
X-Mailgun-Sending-Ip: 69.72.35.190
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Fri, 24 Nov 2023 09:38:45 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65606f252ece1_2c209fe78832e3@gitlab-sidekiq-catchall-v2-6ddc8774b5-bf9d6.mail>
Subject: xen | Successful pipeline for staging | 80c153c4
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65606f25217b1_2c209fe788315f";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1083711882
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65606f25217b1_2c209fe788315f
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1083711882 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 80c153c4 ( https://gitlab.com/xen-project/xen/-/commit/80c153c48b255bae61948827241c26671207cf4e )
Commit Message: xen/sort: address violations of MISRA C:2012 Ru...
Commit Author: Federico Serafini
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1083711882 ( https://gitlab.com/xen-project/xen/-/pipelines/1083711882 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65606f25217b1_2c209fe788315f
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 80c153c4</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1083711882 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/80c153c48b255bae61=
948827241c26671207cf4e" style=3D"color: #3777b0; text-decoration: none;">=
80c153c4</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/sort: address violations of MISRA C:2012 Ru...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/7347c1427cde55f447d83dc392bce562?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Federico Serafini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108371=
1882" style=3D"color: #3777b0; text-decoration: none;">#1083711882</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65606f25217b1_2c209fe788315f--


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 09:40:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 09:40:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640317.998312 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Sg2-0006Q3-Gs; Fri, 24 Nov 2023 09:40:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640317.998312; Fri, 24 Nov 2023 09:40: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 1r6Sg2-0006Pw-EJ; Fri, 24 Nov 2023 09:40:46 +0000
Received: by outflank-mailman (input) for mailman id 640317;
 Fri, 24 Nov 2023 09:40: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=5NGl=HF=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r6Sg1-0006Pq-PH
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 09:40:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 89f7dc89-8aad-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 10:40:44 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 3493F4EE073C;
 Fri, 24 Nov 2023 10:40:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 89f7dc89-8aad-11ee-98e2-6d05b1d4d9a1
MIME-Version: 1.0
Date: Fri, 24 Nov 2023 10:40:44 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Xen Devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Jbeulich
 <jbeulich@suse.com>, Andrew Cooper3 <andrew.cooper3@citrix.com>, Julien
 Grall <julien@xen.org>, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: MISRA: Compatible declarations for sort and bsearch
Message-ID: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

Hi all,

in xen/lib.h and xen/sort.h there are definitions of the functions 
bsearch and sort that have no prior declarations, and therefore are 
subject to a violation of MISRA C Rule 8.4.

I'm wondering whether it would be preferred

1. to put a declaration just before the definition, in lib.h and sort.h
2. deviate these functions, as their signatures are well-known and 
somewhat standardized

other resolution strategies are possible, but I think these are the main 
ones.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 09:49:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 09:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640335.998366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Sny-0000V0-R4; Fri, 24 Nov 2023 09:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640335.998366; Fri, 24 Nov 2023 09: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 1r6Sny-0000TB-Iw; Fri, 24 Nov 2023 09:48:58 +0000
Received: by outflank-mailman (input) for mailman id 640335;
 Fri, 24 Nov 2023 09:48: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=Vqky=HF=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r6Snw-0007zs-Jw
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 09:48:56 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id adfac723-8aae-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 10:48:54 +0100 (CET)
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 5AB5813D5;
 Fri, 24 Nov 2023 01:49:40 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 74F573F7A6;
 Fri, 24 Nov 2023 01:48:53 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adfac723-8aae-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v6 5/5] arm/dom0less: introduce Kconfig for dom0less feature
Date: Fri, 24 Nov 2023 09:48:41 +0000
Message-Id: <20231124094841.1475381-6-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124094841.1475381-1-luca.fancellu@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce a Kconfig for the dom0less feature, enabled by default,
to be able to choose if the feature should be compiled or not.

Provide static inline stubs when the option is disabled for the
functions externally visible.

Use the new Kconfig to remove dom0less DT binding from the efi-boot.h
code when the Kconfig is not enabled, do the same for
allocate_bank_memory inside domain_build.c that currently is used
only by dom0less-build.c module, but it's kept there provisioning
its usage by dom0 code.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes from v5:
 - style fix, don't protect prototype (Michal), add R-by Michal
   since there are no rebase changes
Changes from v4:
 - No changes
Changes from v3:
 - Update Kconfig
Changes from v2:
 - protect allocate_bank_memory with the new Kconfig
---
 xen/arch/arm/Kconfig                      |  8 ++++++++
 xen/arch/arm/Makefile                     |  2 +-
 xen/arch/arm/domain_build.c               |  2 ++
 xen/arch/arm/efi/efi-boot.h               |  4 ++++
 xen/arch/arm/include/asm/dom0less-build.h | 12 ++++++++++++
 xen/common/Kconfig                        |  2 +-
 6 files changed, 28 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 57dc9957124f..f73b62e50d00 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -88,6 +88,14 @@ config GICV2
 	  Driver for the ARM Generic Interrupt Controller v2.
 	  If unsure, say Y
 
+config DOM0LESS_BOOT
+	bool "Dom0less boot support" if EXPERT
+	default y
+	help
+	  Dom0less boot support enables Xen to create and start domU guests during
+	  Xen boot without the need of a control domain (Dom0), which could be
+	  present anyway.
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 2fcc3c2535fd..809772417c14 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -16,7 +16,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
-obj-y += dom0less-build.init.o
+obj-$(CONFIG_DOM0LESS_BOOT) += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 7eb766da9c63..df66fb88d8ec 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -416,6 +416,7 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
 bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                                  gfn_t sgfn, paddr_t tot_size)
 {
@@ -477,6 +478,7 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
 
     return true;
 }
+#endif
 
 /*
  * When PCI passthrough is available we want to keep the
diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
index 6e6db2445566..0cb29f90a066 100644
--- a/xen/arch/arm/efi/efi-boot.h
+++ b/xen/arch/arm/efi/efi-boot.h
@@ -787,6 +787,7 @@ static int __init handle_module_node(const EFI_LOADED_IMAGE *loaded_image,
     return 1;
 }
 
+#ifdef CONFIG_DOM0LESS_BOOT
 /*
  * This function checks for boot modules under the domU guest domain node
  * in the DT.
@@ -834,6 +835,7 @@ static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE *loaded_ima
 
     return mb_modules_found;
 }
+#endif
 
 /*
  * This function checks for xen domain nodes under the /chosen node for possible
@@ -861,6 +863,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
     {
         int ret;
 
+#ifdef CONFIG_DOM0LESS_BOOT
         if ( !fdt_node_check_compatible(fdt_efi, node, "xen,domain") )
         {
             /* Found a node with compatible xen,domain; handle this node. */
@@ -869,6 +872,7 @@ static int __init efi_check_dt_boot(const EFI_LOADED_IMAGE *loaded_image)
                 return ERROR_DT_MODULE_DOMU;
         }
         else
+#endif
         {
             ret = handle_module_node(loaded_image, &dir_handle, node, addr_len,
                                      size_len, false);
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
index c5625925d940..00f92835eceb 100644
--- a/xen/arch/arm/include/asm/dom0less-build.h
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -3,9 +3,21 @@
 #ifndef __ASM_DOM0LESS_BUILD_H_
 #define __ASM_DOM0LESS_BUILD_H_
 
+#ifdef CONFIG_DOM0LESS_BOOT
+
 void create_domUs(void);
 bool is_dom0less_mode(void);
 
+#else /* !CONFIG_DOM0LESS_BOOT */
+
+static inline void create_domUs(void) {}
+static inline bool is_dom0less_mode(void)
+{
+    return false;
+}
+
+#endif /* CONFIG_DOM0LESS_BOOT */
+
 #endif /* __ASM_DOM0LESS_BUILD_H_ */
 
 /*
diff --git a/xen/common/Kconfig b/xen/common/Kconfig
index 4d6fe051641d..310ad4229cdf 100644
--- a/xen/common/Kconfig
+++ b/xen/common/Kconfig
@@ -100,7 +100,7 @@ config NUMA
 
 config STATIC_MEMORY
 	bool "Static Allocation Support (UNSUPPORTED)" if UNSUPPORTED
-	depends on ARM
+	depends on DOM0LESS_BOOT
 	help
 	  Static Allocation refers to system or sub-system(domains) for
 	  which memory areas are pre-defined by configuration using physical
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 09:49:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 09:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640331.998329 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Snu-00083c-Iq; Fri, 24 Nov 2023 09:48:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640331.998329; Fri, 24 Nov 2023 09:48: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 1r6Snu-000839-Dq; Fri, 24 Nov 2023 09:48:54 +0000
Received: by outflank-mailman (input) for mailman id 640331;
 Fri, 24 Nov 2023 09:48: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=Vqky=HF=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r6Snt-0007zs-DT
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 09:48:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id abcab0f4-8aae-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 10:48:51 +0100 (CET)
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 A3DF21063
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 01:49:36 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id D703D3F7A6
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 01:48:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abcab0f4-8aae-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Subject: [PATCH v6 0/5] Fine granular configuration
Date: Fri, 24 Nov 2023 09:48:36 +0000
Message-Id: <20231124094841.1475381-1-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This serie aims to add more modularity to some feature that can be excluded
without issues from the build.

The first patch is already reviewed.

v2 update: So I've tried to see how to put the dom0less code in the common code,
but the amount of modifications are not trivial, even putting only the common
part and protecting them with ARM, leaving the ARM specific stuff under arch/
like gic etc... will leave a status that is not very nice, so I've decided for
now to keep everything on the arm architecture so that who is going to work
on unifying the code in common can just take from there and do the proper
rework.

Luca Fancellu (5):
  arm/gicv2: make GICv2 driver and vGICv2 optional
  xen/arm: Add asm/domain.h include to kernel.h
  arm/dom0less: put dom0less feature code in a separate module
  xen/arm: Move static memory build code in separate modules
  arm/dom0less: introduce Kconfig for dom0less feature

 xen/arch/arm/Kconfig                      |   27 +
 xen/arch/arm/Makefile                     |    7 +-
 xen/arch/arm/arm32/mmu/mm.c               |    1 +
 xen/arch/arm/arm64/mmu/mm.c               |    1 +
 xen/arch/arm/bootfdt.c                    |  161 +-
 xen/arch/arm/dom0less-build.c             | 1018 ++++++
 xen/arch/arm/domain_build.c               | 3591 ++++++---------------
 xen/arch/arm/efi/efi-boot.h               |    4 +
 xen/arch/arm/gic-v3.c                     |    4 +
 xen/arch/arm/include/asm/dom0less-build.h |   30 +
 xen/arch/arm/include/asm/domain_build.h   |   34 +
 xen/arch/arm/include/asm/kernel.h         |    1 +
 xen/arch/arm/include/asm/setup.h          |    2 -
 xen/arch/arm/include/asm/static-memory.h  |   45 +
 xen/arch/arm/include/asm/static-shmem.h   |   66 +
 xen/arch/arm/setup.c                      |   57 +-
 xen/arch/arm/static-memory.c              |  287 ++
 xen/arch/arm/static-shmem.c               |  547 ++++
 xen/arch/arm/vgic.c                       |    2 +
 xen/arch/arm/vgic/Makefile                |    4 +-
 xen/common/Kconfig                        |    2 +-
 21 files changed, 3058 insertions(+), 2833 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 09:49:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 09:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640330.998323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Snu-00080E-A3; Fri, 24 Nov 2023 09:48:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640330.998323; Fri, 24 Nov 2023 09:48: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 1r6Snu-000807-6T; Fri, 24 Nov 2023 09:48:54 +0000
Received: by outflank-mailman (input) for mailman id 640330;
 Fri, 24 Nov 2023 09:48: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=Vqky=HF=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r6Snt-0007mP-52
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 09:48:53 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id ac405570-8aae-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 10:48:51 +0100 (CET)
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 6702913D5;
 Fri, 24 Nov 2023 01:49:37 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 676DA3F7A6;
 Fri, 24 Nov 2023 01:48:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac405570-8aae-11ee-98e2-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v6 1/5] arm/gicv2: make GICv2 driver and vGICv2 optional
Date: Fri, 24 Nov 2023 09:48:37 +0000
Message-Id: <20231124094841.1475381-2-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124094841.1475381-1-luca.fancellu@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce Kconfig GICV2 to be able to compile the GICv2 driver only
when needed, the option is active by default.

Introduce Kconfig VGICV2 that compiles the Generic Interrupt
Controller v2 emulation for domains, it is required only when using
GICv2 driver, otherwise using the GICv3 driver it is optional and can
be deselected if the user doesn't want to offer the v2 emulation to
domains or maybe its GICv3 hardware can't offer the GICv2 compatible
mode.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Julien Grall <jgrall@amazon.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes from v2:
 - No changes
---
 xen/arch/arm/Kconfig        | 19 +++++++++++++++++++
 xen/arch/arm/Makefile       |  4 ++--
 xen/arch/arm/domain_build.c |  4 ++++
 xen/arch/arm/gic-v3.c       |  4 ++++
 xen/arch/arm/vgic.c         |  2 ++
 xen/arch/arm/vgic/Makefile  |  4 ++--
 6 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index 7b5b0c0c05e7..57dc9957124f 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -80,6 +80,14 @@ config ARM_EFI
 	  UEFI firmware. A UEFI stub is provided to allow Xen to
 	  be booted as an EFI application.
 
+config GICV2
+	bool "GICv2 driver"
+	default y
+	select VGICV2
+	help
+	  Driver for the ARM Generic Interrupt Controller v2.
+	  If unsure, say Y
+
 config GICV3
 	bool "GICv3 driver"
 	depends on !NEW_VGIC
@@ -99,11 +107,22 @@ config OVERLAY_DTB
 	help
 	  Dynamic addition/removal of Xen device tree nodes using a dtbo.
 
+config VGICV2
+	bool "vGICv2 interface for domains"
+	default y
+	help
+	  Allow Xen to expose a Generic Interrupt Controller version 2 like to Xen
+	  domains. This can be configured at the domain creation.
+	  This option is mandatory when using GICv2.
+	  For GICv3, this allows domain to use GICv2 when the hardware supports it.
+	  If unsure say Y.
+
 config HVM
         def_bool y
 
 config NEW_VGIC
 	bool "Use new VGIC implementation"
+	select GICV2
 	---help---
 
 	This is an alternative implementation of the ARM GIC interrupt
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index c45b08b31eb0..d83dc25c0d8a 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -23,7 +23,7 @@ obj-y += domctl.o
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += efi/
 obj-y += gic.o
-obj-y += gic-v2.o
+obj-$(CONFIG_GICV2) += gic-v2.o
 obj-$(CONFIG_GICV3) += gic-v3.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-its.o
 obj-$(CONFIG_HAS_ITS) += gic-v3-lpi.o
@@ -58,7 +58,7 @@ obj-$(CONFIG_NEW_VGIC) += vgic/
 ifneq ($(CONFIG_NEW_VGIC),y)
 obj-y += gic-vgic.o
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-$(CONFIG_GICV3) += vgic-v3.o
 obj-$(CONFIG_HAS_ITS) += vgic-v3-its.o
 endif
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2dd2926b4144..814a41bcc502 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2491,6 +2491,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
+#ifdef CONFIG_VGICV2
 static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
@@ -2542,6 +2543,7 @@ static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
 
     return res;
 }
+#endif
 
 #ifdef CONFIG_GICV3
 static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
@@ -2617,8 +2619,10 @@ static int __init make_gic_domU_node(struct kernel_info *kinfo)
     case GIC_V3:
         return make_gicv3_domU_node(kinfo);
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         return make_gicv2_domU_node(kinfo);
+#endif
     default:
         panic("Unsupported GIC version\n");
     }
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 9b35a8c8a735..18289cd645ac 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1334,6 +1334,7 @@ static paddr_t __initdata dbase = INVALID_PADDR;
 static paddr_t __initdata vbase = INVALID_PADDR, vsize = 0;
 static paddr_t __initdata cbase = INVALID_PADDR, csize = 0;
 
+#ifdef CONFIG_VGICV2
 /* If the GICv3 supports GICv2, initialize it */
 static void __init gicv3_init_v2(void)
 {
@@ -1359,6 +1360,9 @@ static void __init gicv3_init_v2(void)
 
     vgic_v2_setup_hw(dbase, cbase, csize, vbase, 0);
 }
+#else
+static inline void gicv3_init_v2(void) { }
+#endif
 
 static void __init gicv3_ioremap_distributor(paddr_t dist_paddr)
 {
diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c
index f6b49766f97a..c04fc4f83f96 100644
--- a/xen/arch/arm/vgic.c
+++ b/xen/arch/arm/vgic.c
@@ -96,10 +96,12 @@ int domain_vgic_register(struct domain *d, unsigned int *mmio_count)
            return -ENODEV;
         break;
 #endif
+#ifdef CONFIG_VGICV2
     case GIC_V2:
         if ( vgic_v2_init(d, mmio_count) )
             return -ENODEV;
         break;
+#endif
     default:
         printk(XENLOG_G_ERR "d%d: Unknown vGIC version %u\n",
                d->domain_id, d->arch.vgic.version);
diff --git a/xen/arch/arm/vgic/Makefile b/xen/arch/arm/vgic/Makefile
index 806826948e20..60cbf7f2f94a 100644
--- a/xen/arch/arm/vgic/Makefile
+++ b/xen/arch/arm/vgic/Makefile
@@ -1,5 +1,5 @@
 obj-y += vgic.o
-obj-y += vgic-v2.o
+obj-$(CONFIG_VGICV2) += vgic-v2.o
 obj-y += vgic-mmio.o
-obj-y += vgic-mmio-v2.o
+obj-$(CONFIG_VGICV2) += vgic-mmio-v2.o
 obj-y += vgic-init.o
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 09:49:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 09:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640332.998343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Snv-0008Tb-PZ; Fri, 24 Nov 2023 09:48:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640332.998343; Fri, 24 Nov 2023 09: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 1r6Snv-0008TU-Lr; Fri, 24 Nov 2023 09:48:55 +0000
Received: by outflank-mailman (input) for mailman id 640332;
 Fri, 24 Nov 2023 09: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=Vqky=HF=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r6Snu-0007zs-2z
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 09:48:54 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id aca10602-8aae-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 10:48:52 +0100 (CET)
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 10A3A1424;
 Fri, 24 Nov 2023 01:49:38 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 2B0973F7A6;
 Fri, 24 Nov 2023 01:48:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aca10602-8aae-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Julien Grall <jgrall@amazon.com>
Subject: [PATCH v6 2/5] xen/arm: Add asm/domain.h include to kernel.h
Date: Fri, 24 Nov 2023 09:48:38 +0000
Message-Id: <20231124094841.1475381-3-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124094841.1475381-1-luca.fancellu@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The 'enum domain_type' is defined by 'asm/domain.h' which is not
included (directly or indirectly) by 'asm/kernel.h'.

This currently doesn't break the compilation because asm/domain.h will
included by the user of 'kernel.h'. But it would be better to avoid
relying on it. So add the include in 'asm/domain.h'.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes from v2:
 - add Ack-by Julien
Changes from v1:
 - Rephrased commit message (Julien)
---
 xen/arch/arm/include/asm/kernel.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/arm/include/asm/kernel.h b/xen/arch/arm/include/asm/kernel.h
index 4617cdc83bac..0a23e86c2d37 100644
--- a/xen/arch/arm/include/asm/kernel.h
+++ b/xen/arch/arm/include/asm/kernel.h
@@ -7,6 +7,7 @@
 #define __ARCH_ARM_KERNEL_H__
 
 #include <xen/device_tree.h>
+#include <asm/domain.h>
 #include <asm/setup.h>
 
 /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 09:49:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 09:49:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640333.998353 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Sny-0000Je-39; Fri, 24 Nov 2023 09:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640333.998353; Fri, 24 Nov 2023 09: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 1r6Snx-0000JT-Uj; Fri, 24 Nov 2023 09:48:57 +0000
Received: by outflank-mailman (input) for mailman id 640333;
 Fri, 24 Nov 2023 09:48: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=Vqky=HF=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r6Snv-0007zs-Uz
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 09:48:56 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ad31199b-8aae-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 10:48:53 +0100 (CET)
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 1111F143D;
 Fri, 24 Nov 2023 01:49:39 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CD0A83F7A6;
 Fri, 24 Nov 2023 01:48:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ad31199b-8aae-11ee-9b0e-b553b5be7939
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Cc: Michal Orzel <michal.orzel@amd.com>
Subject: [PATCH v6 3/5] arm/dom0less: put dom0less feature code in a separate module
Date: Fri, 24 Nov 2023 09:48:39 +0000
Message-Id: <20231124094841.1475381-4-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124094841.1475381-1-luca.fancellu@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Currently the dom0less feature code is mostly inside domain_build.c
and setup.c, it is a feature that may not be useful to everyone so
put the code in a different compilation module in order to make it
easier to disable the feature in the future.

Move gic_interrupt_t in domain_build.h to use it with the function
declaration, move its comment above the declaration.

The following functions are now visible externally from domain_build
because they are used also from the dom0less-build module:
 - get_allocation_size
 - set_interrupt
 - domain_fdt_begin_node
 - make_memory_node
 - make_resv_memory_node
 - make_hypervisor_node
 - make_psci_node
 - make_cpus_node
 - make_timer_node
 - handle_device_interrupts
 - construct_domain
 - process_shm
 - allocate_bank_memory

The functions allocate_static_memory and assign_static_memory_11
are now externally visible, so put their declarations into
domain_build.h and move the #else and stub definition in the header
as well.

Move is_dom0less_mode from setup.c to dom0less-build.c and make it
externally visible.

The function allocate_bank_memory is used only by dom0less code
at the moment, but it's been decided to leave it in domain_build.c
in case that in the future the dom0 code can use it.

Where spotted, fix code style issues.

No functional change is intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes from v5:
 - remove unneeded include (Michal)
 - rebase on staging
Changes from v4:
 - fixed name in inclusion macro __ASM_* instead of __ARM_*, fixed
   emacs local variable 'end:', style fix (Michal)
Changes from v3:
 - remove header in dom0less-build.c (Michal)
Changes from v2:
 - move allocate_bank_memory back in domain_build.c, remove header
   from dom0less-build.c.
---
 xen/arch/arm/Makefile                     |    1 +
 xen/arch/arm/dom0less-build.c             | 1018 +++++++++++++++++
 xen/arch/arm/domain_build.c               | 1265 +++------------------
 xen/arch/arm/include/asm/dom0less-build.h |   18 +
 xen/arch/arm/include/asm/domain_build.h   |   60 +
 xen/arch/arm/include/asm/setup.h          |    1 -
 xen/arch/arm/setup.c                      |   33 +-
 7 files changed, 1238 insertions(+), 1158 deletions(-)
 create mode 100644 xen/arch/arm/dom0less-build.c
 create mode 100644 xen/arch/arm/include/asm/dom0less-build.h

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index d83dc25c0d8a..d65920b0a8cf 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -16,6 +16,7 @@ obj-y += cpufeature.o
 obj-y += decode.o
 obj-y += device.o
 obj-$(CONFIG_IOREQ_SERVER) += dm.o
+obj-y += dom0less-build.init.o
 obj-y += domain.o
 obj-y += domain_build.init.o
 obj-$(CONFIG_ARCH_MAP_DOMAIN_PAGE) += domain_page.o
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
new file mode 100644
index 000000000000..1ca9d39043d6
--- /dev/null
+++ b/xen/arch/arm/dom0less-build.c
@@ -0,0 +1,1018 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/device_tree.h>
+#include <xen/err.h>
+#include <xen/event.h>
+#include <xen/grant_table.h>
+#include <xen/iocap.h>
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+#include <xen/serial.h>
+#include <xen/sizes.h>
+#include <xen/vmap.h>
+
+#include <asm/arm64/sve.h>
+#include <asm/dom0less-build.h>
+#include <asm/domain_build.h>
+
+bool __init is_dom0less_mode(void)
+{
+    struct bootmodules *mods = &bootinfo.modules;
+    struct bootmodule *mod;
+    unsigned int i;
+    bool dom0found = false;
+    bool domUfound = false;
+
+    /* Look into the bootmodules */
+    for ( i = 0 ; i < mods->nr_mods ; i++ )
+    {
+        mod = &mods->module[i];
+        /* Find if dom0 and domU kernels are present */
+        if ( mod->kind == BOOTMOD_KERNEL )
+        {
+            if ( mod->domU == false )
+            {
+                dom0found = true;
+                break;
+            }
+            else
+                domUfound = true;
+        }
+    }
+
+    /*
+     * If there is no dom0 kernel but at least one domU, then we are in
+     * dom0less mode
+     */
+    return ( !dom0found && domUfound );
+}
+
+static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
+{
+    unsigned int i;
+    paddr_t bank_size;
+
+    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
+           /* Don't want format this as PRIpaddr (16 digit hex) */
+           (unsigned long)(kinfo->unassigned_mem >> 20), d);
+
+    kinfo->mem.nr_banks = 0;
+    bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
+    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
+                               bank_size) )
+        goto fail;
+
+    bank_size = MIN(GUEST_RAM1_SIZE, kinfo->unassigned_mem);
+    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
+                               bank_size) )
+        goto fail;
+
+    if ( kinfo->unassigned_mem )
+        goto fail;
+
+    for( i = 0; i < kinfo->mem.nr_banks; i++ )
+    {
+        printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
+               d,
+               i,
+               kinfo->mem.bank[i].start,
+               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
+               /* Don't want format this as PRIpaddr (16 digit hex) */
+               (unsigned long)(kinfo->mem.bank[i].size >> 20));
+    }
+
+    return;
+
+fail:
+    panic("Failed to allocate requested domain memory."
+          /* Don't want format this as PRIpaddr (16 digit hex) */
+          " %ldKB unallocated. Fix the VMs configurations.\n",
+          (unsigned long)kinfo->unassigned_mem >> 10);
+}
+
+#ifdef CONFIG_VGICV2
+static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
+    __be32 *cells;
+    const struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+#ifdef CONFIG_GICV3
+static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res = 0;
+    __be32 *reg, *cells;
+    const struct domain *d = kinfo->d;
+    unsigned int i, len = 0;
+
+    res = domain_fdt_begin_node(fdt, "interrupt-controller",
+                                vgic_dist_base(&d->arch.vgic));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
+    if ( res )
+        return res;
+
+    /* reg specifies all re-distributors and Distributor. */
+    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
+          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
+    reg = xmalloc_bytes(len);
+    if ( reg == NULL )
+        return -ENOMEM;
+    cells = reg;
+
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
+
+    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
+        dt_child_set_range(&cells,
+                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
+                           d->arch.vgic.rdist_regions[i].base,
+                           d->arch.vgic.rdist_regions[i].size);
+
+    res = fdt_property(fdt, "reg", reg, len);
+    xfree(reg);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
+    if (res)
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+#endif
+
+static int __init make_gic_domU_node(struct kernel_info *kinfo)
+{
+    switch ( kinfo->d->arch.vgic.version )
+    {
+#ifdef CONFIG_GICV3
+    case GIC_V3:
+        return make_gicv3_domU_node(kinfo);
+#endif
+#ifdef CONFIG_VGICV2
+    case GIC_V2:
+        return make_gicv2_domU_node(kinfo);
+#endif
+    default:
+        panic("Unsupported GIC version\n");
+    }
+}
+
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+{
+    void *fdt = kinfo->fdt;
+    int res;
+    gic_interrupt_t intr;
+    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+    __be32 *cells;
+    struct domain *d = kinfo->d;
+
+    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
+    if ( res )
+        return res;
+
+    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
+    if ( res )
+        return res;
+
+    cells = &reg[0];
+    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
+                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
+                       GUEST_PL011_SIZE);
+
+    res = fdt_property(fdt, "reg", reg, sizeof(reg));
+    if ( res )
+        return res;
+
+    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+
+    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "interrupt-parent",
+                            kinfo->phandle_gic);
+    if ( res )
+        return res;
+
+    /* Use a default baud rate of 115200. */
+    fdt_property_u32(fdt, "current-speed", 115200);
+
+    res = fdt_end_node(fdt);
+    if ( res )
+        return res;
+
+    return 0;
+}
+#endif
+
+/*
+ * Scan device tree properties for passthrough specific information.
+ * Returns < 0 on error
+ *         0 on success
+ */
+static int __init handle_passthrough_prop(struct kernel_info *kinfo,
+                                          const struct fdt_property *xen_reg,
+                                          const struct fdt_property *xen_path,
+                                          bool xen_force,
+                                          uint32_t address_cells,
+                                          uint32_t size_cells)
+{
+    const __be32 *cell;
+    unsigned int i, len;
+    struct dt_device_node *node;
+    int res;
+    paddr_t mstart, size, gstart;
+
+    /* xen,reg specifies where to map the MMIO region */
+    cell = (const __be32 *)xen_reg->data;
+    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
+                                        sizeof(uint32_t));
+
+    for ( i = 0; i < len; i++ )
+    {
+        device_tree_get_reg(&cell, address_cells, size_cells,
+                            &mstart, &size);
+        gstart = dt_next_cell(address_cells, &cell);
+
+        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
+        {
+            printk(XENLOG_ERR
+                   "DomU passthrough config has not page aligned addresses/sizes\n");
+            return -EINVAL;
+        }
+
+        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
+                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
+        if ( res )
+        {
+            printk(XENLOG_ERR "Unable to permit to dom%d access to"
+                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
+                   kinfo->d->domain_id,
+                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
+            return res;
+        }
+
+        res = map_regions_p2mt(kinfo->d,
+                               gaddr_to_gfn(gstart),
+                               PFN_DOWN(size),
+                               maddr_to_mfn(mstart),
+                               p2m_mmio_direct_dev);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR
+                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
+                   mstart, gstart);
+            return -EFAULT;
+        }
+    }
+
+    /*
+     * If xen_force, we let the user assign a MMIO region with no
+     * associated path.
+     */
+    if ( xen_path == NULL )
+        return xen_force ? 0 : -EINVAL;
+
+    /*
+     * xen,path specifies the corresponding node in the host DT.
+     * Both interrupt mappings and IOMMU settings are based on it,
+     * as they are done based on the corresponding host DT node.
+     */
+    node = dt_find_node_by_path(xen_path->data);
+    if ( node == NULL )
+    {
+        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
+               (char *)xen_path->data);
+        return -EINVAL;
+    }
+
+    res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
+    if ( res < 0 )
+        return res;
+
+    res = iommu_add_dt_device(node);
+    if ( res < 0 )
+        return res;
+
+    /* If xen_force, we allow assignment of devices without IOMMU protection. */
+    if ( xen_force && !dt_device_is_protected(node) )
+        return 0;
+
+    return iommu_assign_dt_device(kinfo->d, node);
+}
+
+static int __init handle_prop_pfdt(struct kernel_info *kinfo,
+                                   const void *pfdt, int nodeoff,
+                                   uint32_t address_cells, uint32_t size_cells,
+                                   bool scan_passthrough_prop)
+{
+    void *fdt = kinfo->fdt;
+    int propoff, nameoff, res;
+    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
+    const char *name;
+    bool found, xen_force = false;
+
+    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
+          propoff >= 0;
+          propoff = fdt_next_property_offset(pfdt, propoff) )
+    {
+        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
+            return -FDT_ERR_INTERNAL;
+
+        found = false;
+        nameoff = fdt32_to_cpu(prop->nameoff);
+        name = fdt_string(pfdt, nameoff);
+
+        if ( scan_passthrough_prop )
+        {
+            if ( dt_prop_cmp("xen,reg", name) == 0 )
+            {
+                xen_reg = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,path", name) == 0 )
+            {
+                xen_path = prop;
+                found = true;
+            }
+            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
+                                  name) == 0 )
+            {
+                xen_force = true;
+                found = true;
+            }
+        }
+
+        /*
+         * Copy properties other than the ones above: xen,reg, xen,path,
+         * and xen,force-assign-without-iommu.
+         */
+        if ( !found )
+        {
+            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
+            if ( res )
+                return res;
+        }
+    }
+
+    /*
+     * Only handle passthrough properties if both xen,reg and xen,path
+     * are present, or if xen,force-assign-without-iommu is specified.
+     */
+    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
+    {
+        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
+                                      address_cells, size_cells);
+        if ( res < 0 )
+        {
+            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
+            return res;
+        }
+    }
+    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
+    {
+        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
+               kinfo->d);
+        return -EINVAL;
+    }
+
+    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
+    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
+}
+
+static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
+                                 int nodeoff,
+                                 uint32_t address_cells, uint32_t size_cells,
+                                 bool scan_passthrough_prop)
+{
+    int rc = 0;
+    void *fdt = kinfo->fdt;
+    int node_next;
+
+    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
+    if ( rc )
+        return rc;
+
+    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
+                          scan_passthrough_prop);
+    if ( rc )
+        return rc;
+
+    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
+                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
+    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
+                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
+
+    node_next = fdt_first_subnode(pfdt, nodeoff);
+    while ( node_next > 0 )
+    {
+        rc = scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
+                            scan_passthrough_prop);
+        if ( rc )
+            return rc;
+
+        node_next = fdt_next_subnode(pfdt, node_next);
+    }
+
+    return fdt_end_node(fdt);
+}
+
+static int __init check_partial_fdt(void *pfdt, size_t size)
+{
+    int res;
+
+    if ( fdt_magic(pfdt) != FDT_MAGIC )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
+        return -EINVAL;
+    }
+
+    res = fdt_check_header(pfdt);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
+        return -EINVAL;
+    }
+
+    if ( fdt_totalsize(pfdt) > size )
+    {
+        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
+        return -EINVAL;
+    }
+
+    return 0;
+}
+
+static int __init domain_handle_dtb_bootmodule(struct domain *d,
+                                               struct kernel_info *kinfo)
+{
+    void *pfdt;
+    int res, node_next;
+
+    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
+                         kinfo->dtb_bootmodule->size);
+    if ( pfdt == NULL )
+        return -EFAULT;
+
+    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
+    if ( res < 0 )
+        goto out;
+
+    for ( node_next = fdt_first_subnode(pfdt, 0);
+          node_next > 0;
+          node_next = fdt_next_subnode(pfdt, node_next) )
+    {
+        const char *name = fdt_get_name(pfdt, node_next, NULL);
+
+        if ( name == NULL )
+            continue;
+
+        /*
+         * Only scan /gic /aliases /passthrough, ignore the rest.
+         * They don't have to be parsed in order.
+         *
+         * Take the GIC phandle value from the special /gic node in the
+         * DTB fragment.
+         */
+        if ( dt_node_cmp(name, "gic") == 0 )
+        {
+            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
+            continue;
+        }
+
+        if ( dt_node_cmp(name, "aliases") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 false);
+            if ( res )
+                goto out;
+            continue;
+        }
+        if ( dt_node_cmp(name, "passthrough") == 0 )
+        {
+            res = scan_pfdt_node(kinfo, pfdt, node_next,
+                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
+                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
+                                 true);
+            if ( res )
+                goto out;
+            continue;
+        }
+    }
+
+ out:
+    iounmap(pfdt);
+
+    return res;
+}
+
+/*
+ * The max size for DT is 2MB. However, the generated DT is small (not including
+ * domU passthrough DT nodes whose size we account separately), 4KB are enough
+ * for now, but we might have to increase it in the future.
+ */
+#define DOMU_DTB_SIZE 4096
+static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
+{
+    int addrcells, sizecells;
+    int ret, fdt_size = DOMU_DTB_SIZE;
+
+    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
+    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
+    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
+
+    addrcells = GUEST_ROOT_ADDRESS_CELLS;
+    sizecells = GUEST_ROOT_SIZE_CELLS;
+
+    /* Account for domU passthrough DT size */
+    if ( kinfo->dtb_bootmodule )
+        fdt_size += kinfo->dtb_bootmodule->size;
+
+    /* Cap to max DT size if needed */
+    fdt_size = min(fdt_size, SZ_2M);
+
+    kinfo->fdt = xmalloc_bytes(fdt_size);
+    if ( kinfo->fdt == NULL )
+        return -ENOMEM;
+
+    ret = fdt_create(kinfo->fdt, fdt_size);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish_reservemap(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_begin_node(kinfo->fdt, "");
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
+    if ( ret )
+        goto err;
+
+    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
+    if ( ret )
+        goto err;
+
+    ret = make_chosen_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_psci_node(kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_cpus_node(d, kinfo->fdt);
+    if ( ret )
+        goto err;
+
+    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
+    if ( ret )
+        goto err;
+
+    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
+                                &kinfo->shm_mem);
+    if ( ret )
+        goto err;
+
+    /*
+     * domain_handle_dtb_bootmodule has to be called before the rest of
+     * the device tree is generated because it depends on the value of
+     * the field phandle_gic.
+     */
+    if ( kinfo->dtb_bootmodule )
+    {
+        ret = domain_handle_dtb_bootmodule(d, kinfo);
+        if ( ret )
+            goto err;
+    }
+
+    ret = make_gic_domU_node(kinfo);
+    if ( ret )
+        goto err;
+
+    ret = make_timer_node(kinfo);
+    if ( ret )
+        goto err;
+
+    if ( kinfo->vpl011 )
+    {
+        ret = -EINVAL;
+#ifdef CONFIG_SBSA_VUART_CONSOLE
+        ret = make_vpl011_uart_node(kinfo);
+#endif
+        if ( ret )
+            goto err;
+    }
+
+    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
+    {
+        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
+        if ( ret )
+            goto err;
+    }
+
+    ret = fdt_end_node(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    ret = fdt_finish(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
+
+    return 0;
+
+  err:
+    printk("Device tree generation failed (%d).\n", ret);
+    xfree(kinfo->fdt);
+
+    return -EINVAL;
+}
+
+static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
+                                             unsigned int smp_cpus)
+{
+    /*
+     * Keep in sync with libxl__get_required_paging_memory().
+     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
+     * plus 128 pages to cover extended regions.
+     */
+    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
+
+    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
+
+    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
+}
+
+static int __init alloc_xenstore_evtchn(struct domain *d)
+{
+    evtchn_alloc_unbound_t alloc;
+    int rc;
+
+    alloc.dom = d->domain_id;
+    alloc.remote_dom = hardware_domain->domain_id;
+    rc = evtchn_alloc_unbound(&alloc, 0);
+    if ( rc )
+    {
+        printk("Failed allocating event channel for domain\n");
+        return rc;
+    }
+
+    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
+
+    return 0;
+}
+
+static int __init construct_domU(struct domain *d,
+                                 const struct dt_device_node *node)
+{
+    struct kernel_info kinfo = {};
+    const char *dom0less_enhanced;
+    int rc;
+    u64 mem;
+    u32 p2m_mem_mb;
+    unsigned long p2m_pages;
+
+    rc = dt_property_read_u64(node, "memory", &mem);
+    if ( !rc )
+    {
+        printk("Error building DomU: cannot read \"memory\" property\n");
+        return -EINVAL;
+    }
+    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
+
+    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
+    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
+    p2m_pages = rc ?
+                p2m_mem_mb << (20 - PAGE_SHIFT) :
+                domain_p2m_pages(mem, d->max_vcpus);
+
+    spin_lock(&d->arch.paging.lock);
+    rc = p2m_set_allocation(d, p2m_pages, NULL);
+    spin_unlock(&d->arch.paging.lock);
+    if ( rc != 0 )
+        return rc;
+
+    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
+           d->max_vcpus, mem);
+
+    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
+
+    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
+    if ( rc == -EILSEQ ||
+         rc == -ENODATA ||
+         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
+    {
+        if ( hardware_domain )
+            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
+        else
+            panic("At the moment, Xenstore support requires dom0 to be present\n");
+    }
+    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
+        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
+
+    if ( vcpu_create(d, 0) == NULL )
+        return -ENOMEM;
+
+    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
+
+    kinfo.d = d;
+
+    rc = kernel_probe(&kinfo, node);
+    if ( rc < 0 )
+        return rc;
+
+#ifdef CONFIG_ARM_64
+    /* type must be set before allocate memory */
+    d->arch.type = kinfo.type;
+#endif
+    if ( !dt_find_property(node, "xen,static-mem", NULL) )
+        allocate_memory(d, &kinfo);
+    else if ( !is_domain_direct_mapped(d) )
+        allocate_static_memory(d, &kinfo, node);
+    else
+        assign_static_memory_11(d, &kinfo, node);
+
+#ifdef CONFIG_STATIC_SHM
+    rc = process_shm(d, &kinfo, 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
+     * shall be done first.
+     */
+    if ( kinfo.vpl011 )
+    {
+        rc = domain_vpl011_init(d, NULL);
+        if ( rc < 0 )
+            return rc;
+    }
+
+    rc = prepare_dtb_domU(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    rc = construct_domain(d, &kinfo);
+    if ( rc < 0 )
+        return rc;
+
+    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
+    {
+        ASSERT(hardware_domain);
+        rc = alloc_xenstore_evtchn(d);
+        if ( rc < 0 )
+            return rc;
+        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
+    }
+
+    return rc;
+}
+
+void __init create_domUs(void)
+{
+    struct dt_device_node *node;
+    const struct dt_device_node *cpupool_node,
+                                *chosen = dt_find_node_by_path("/chosen");
+
+    BUG_ON(chosen == NULL);
+    dt_for_each_child_node(chosen, node)
+    {
+        struct domain *d;
+        struct xen_domctl_createdomain d_cfg = {
+            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
+            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
+            /*
+             * The default of 1023 should be sufficient for guests because
+             * on ARM we don't bind physical interrupts to event channels.
+             * The only use of the evtchn port is inter-domain communications.
+             * 1023 is also the default value used in libxl.
+             */
+            .max_evtchn_port = 1023,
+            .max_grant_frames = -1,
+            .max_maptrack_frames = -1,
+            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
+        };
+        unsigned int flags = 0U;
+        uint32_t val;
+        int rc;
+
+        if ( !dt_device_is_compatible(node, "xen,domain") )
+            continue;
+
+        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
+            panic("No more domain IDs available\n");
+
+        if ( dt_find_property(node, "xen,static-mem", NULL) )
+            flags |= CDF_staticmem;
+
+        if ( dt_property_read_bool(node, "direct-map") )
+        {
+            if ( !(flags & CDF_staticmem) )
+                panic("direct-map is not valid for domain %s without static allocation.\n",
+                      dt_node_name(node));
+
+            flags |= CDF_directmap;
+        }
+
+        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
+            panic("Missing property 'cpus' for domain %s\n",
+                  dt_node_name(node));
+
+        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
+             iommu_enabled )
+            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
+
+        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
+        {
+            int vpl011_virq = GUEST_VPL011_SPI;
+
+            d_cfg.arch.nr_spis = gic_number_lines() - 32;
+
+            /*
+             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
+             * set, in which case it'll match the hardware.
+             *
+             * Since the domain is not yet created, we can't use
+             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
+             * be hardcoded.
+             * The logic here shall be consistent with the one in
+             * domain_vpl011_init().
+             */
+            if ( flags & CDF_directmap )
+            {
+                vpl011_virq = serial_irq(SERHND_DTUART);
+                if ( vpl011_virq < 0 )
+                    panic("Error getting IRQ number for this serial port %d\n",
+                          SERHND_DTUART);
+            }
+
+            /*
+             * vpl011 uses one emulated SPI. If vpl011 is requested, make
+             * sure that we allocate enough SPIs for it.
+             */
+            if ( dt_property_read_bool(node, "vpl011") )
+                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
+                                         vpl011_virq - 32 + 1);
+        }
+
+        /* Get the optional property domain-cpupool */
+        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
+        if ( cpupool_node )
+        {
+            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
+            if ( pool_id < 0 )
+                panic("Error getting cpupool id from domain-cpupool (%d)\n",
+                      pool_id);
+            d_cfg.cpupool_id = pool_id;
+        }
+
+        if ( dt_property_read_u32(node, "max_grant_version", &val) )
+            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
+
+        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_grant_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_grant_frames = val;
+        }
+
+        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
+        {
+            if ( val > INT32_MAX )
+                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
+            d_cfg.max_maptrack_frames = val;
+        }
+
+        if ( dt_get_property(node, "sve", &val) )
+        {
+#ifdef CONFIG_ARM64_SVE
+            unsigned int sve_vl_bits;
+            bool ret = false;
+
+            if ( !val )
+            {
+                /* Property found with no value, means max HW VL supported */
+                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
+            }
+            else
+            {
+                if ( dt_property_read_u32(node, "sve", &val) )
+                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
+                else
+                    panic("Error reading 'sve' property\n");
+            }
+
+            if ( ret )
+                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
+            else
+                panic("SVE vector length error\n");
+#else
+            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
+#endif
+        }
+
+        /*
+         * The variable max_init_domid is initialized with zero, so here it's
+         * very important to use the pre-increment operator to call
+         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
+         */
+        d = domain_create(++max_init_domid, &d_cfg, flags);
+        if ( IS_ERR(d) )
+            panic("Error creating domain %s (rc = %ld)\n",
+                  dt_node_name(node), PTR_ERR(d));
+
+        d->is_console = true;
+        dt_device_set_used_by(node, d->domain_id);
+
+        rc = construct_domU(d, node);
+        if ( rc )
+            panic("Could not set up domain %s (rc = %d)\n",
+                  dt_node_name(node), rc);
+    }
+}
+
+/*
+ * 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/domain_build.c b/xen/arch/arm/domain_build.c
index 814a41bcc502..90dba16e42c9 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -29,6 +29,7 @@
 #include <asm/setup.h>
 #include <asm/arm64/sve.h>
 #include <asm/cpufeature.h>
+#include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
 #include <xen/event.h>
 
@@ -118,7 +119,7 @@ struct vcpu *__init alloc_dom0_vcpu0(struct domain *dom0)
     return vcpu_create(dom0, 0);
 }
 
-static unsigned int __init get_allocation_size(paddr_t size)
+unsigned int __init get_allocation_size(paddr_t size)
 {
     /*
      * get_order_from_bytes returns the order greater than or equal to
@@ -414,10 +415,8 @@ static void __init allocate_memory_11(struct domain *d,
     }
 }
 
-static bool __init allocate_bank_memory(struct domain *d,
-                                        struct kernel_info *kinfo,
-                                        gfn_t sgfn,
-                                        paddr_t tot_size)
+bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
+                                 gfn_t sgfn, paddr_t tot_size)
 {
     int res;
     struct page_info *pg;
@@ -478,49 +477,6 @@ static bool __init allocate_bank_memory(struct domain *d,
     return true;
 }
 
-static void __init allocate_memory(struct domain *d, struct kernel_info *kinfo)
-{
-    unsigned int i;
-    paddr_t bank_size;
-
-    printk(XENLOG_INFO "Allocating mappings totalling %ldMB for %pd:\n",
-           /* Don't want format this as PRIpaddr (16 digit hex) */
-           (unsigned long)(kinfo->unassigned_mem >> 20), d);
-
-    kinfo->mem.nr_banks = 0;
-    bank_size = MIN(GUEST_RAM0_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM0_BASE),
-                               bank_size) )
-        goto fail;
-
-    bank_size = MIN(GUEST_RAM1_SIZE, kinfo->unassigned_mem);
-    if ( !allocate_bank_memory(d, kinfo, gaddr_to_gfn(GUEST_RAM1_BASE),
-                               bank_size) )
-        goto fail;
-
-    if ( kinfo->unassigned_mem )
-        goto fail;
-
-    for( i = 0; i < kinfo->mem.nr_banks; i++ )
-    {
-        printk(XENLOG_INFO "%pd BANK[%d] %#"PRIpaddr"-%#"PRIpaddr" (%ldMB)\n",
-               d,
-               i,
-               kinfo->mem.bank[i].start,
-               kinfo->mem.bank[i].start + kinfo->mem.bank[i].size,
-               /* Don't want format this as PRIpaddr (16 digit hex) */
-               (unsigned long)(kinfo->mem.bank[i].size >> 20));
-    }
-
-    return;
-
-fail:
-    panic("Failed to allocate requested domain memory."
-          /* Don't want format this as PRIpaddr (16 digit hex) */
-          " %ldKB unallocated. Fix the VMs configurations.\n",
-          (unsigned long)kinfo->unassigned_mem >> 10);
-}
-
 #ifdef CONFIG_STATIC_MEMORY
 static bool __init append_static_memory_to_bank(struct domain *d,
                                                 struct membank *bank,
@@ -600,9 +556,8 @@ static int __init parse_static_mem_prop(const struct dt_device_node *node,
 }
 
 /* Allocate memory from static memory as RAM for one specific domain d. */
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
+void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
 {
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, gbank, bank = 0;
@@ -706,9 +661,8 @@ static void __init allocate_static_memory(struct domain *d,
  * The static memory will be directly mapped in the guest(Guest Physical
  * Address == Physical Address).
  */
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
+void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                                    const struct dt_device_node *node)
 {
     u32 addr_cells, size_cells, reg_cells;
     unsigned int nr_banks, bank = 0;
@@ -942,8 +896,8 @@ static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
     return 0;
 }
 
-static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                              const struct dt_device_node *node)
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       const struct dt_device_node *node)
 {
     struct dt_device_node *shm_node;
 
@@ -1048,20 +1002,6 @@ static int __init process_shm(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 #endif /* CONFIG_STATIC_SHM */
-#else
-static void __init allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-
-static void __init assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
 #endif
 
 /*
@@ -1265,17 +1205,10 @@ static int __init write_properties(struct domain *d, struct kernel_info *kinfo,
     return 0;
 }
 
-/*
- * Helper to write an interrupts with the GIC format
- * This code is assuming the irq is an PPI.
- */
-
-typedef __be32 gic_interrupt_t[3];
-
-static void __init set_interrupt(gic_interrupt_t interrupt,
-                                 unsigned int irq,
-                                 unsigned int cpumask,
-                                 unsigned int level)
+void __init set_interrupt(gic_interrupt_t interrupt,
+                          unsigned int irq,
+                          unsigned int cpumask,
+                          unsigned int level)
 {
     __be32 *cells = interrupt;
     bool is_ppi = !!(irq < 32);
@@ -1320,8 +1253,7 @@ static int __init fdt_property_interrupts(const struct kernel_info *kinfo,
  * unit (which contains the physical address) with name to generate a
  * node name.
  */
-static int __init domain_fdt_begin_node(void *fdt, const char *name,
-                                        uint64_t unit)
+int __init domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit)
 {
     /*
      * The size of the buffer to hold the longest possible string (i.e.
@@ -1345,10 +1277,10 @@ static int __init domain_fdt_begin_node(void *fdt, const char *name,
     return fdt_begin_node(fdt, buf);
 }
 
-static int __init make_memory_node(const struct domain *d,
-                                   void *fdt,
-                                   int addrcells, int sizecells,
-                                   struct meminfo *mem)
+int __init make_memory_node(const struct domain *d,
+                            void *fdt,
+                            int addrcells, int sizecells,
+                            struct meminfo *mem)
 {
     unsigned int i;
     int res, reg_size = addrcells + sizecells;
@@ -1484,10 +1416,10 @@ static int __init make_shm_memory_node(const struct domain *d,
 }
 #endif
 
-static int __init make_resv_memory_node(const struct domain *d,
-                                        void *fdt,
-                                        int addrcells, int sizecells,
-                                        const struct meminfo *mem)
+int __init make_resv_memory_node(const struct domain *d,
+                                 void *fdt,
+                                 int addrcells, int sizecells,
+                                 const struct meminfo *mem)
 {
     int res = 0;
     /* Placeholder for reserved-memory\0 */
@@ -1820,9 +1752,9 @@ static int __init find_domU_holes(const struct kernel_info *kinfo,
     return res;
 }
 
-static int __init make_hypervisor_node(struct domain *d,
-                                       const struct kernel_info *kinfo,
-                                       int addrcells, int sizecells)
+int __init make_hypervisor_node(struct domain *d,
+                                const struct kernel_info *kinfo,
+                                int addrcells, int sizecells)
 {
     const char compat[] =
         "xen,xen-" XEN_VERSION_STRING "\0"
@@ -1939,7 +1871,7 @@ static int __init make_hypervisor_node(struct domain *d,
     return res;
 }
 
-static int __init make_psci_node(void *fdt)
+int __init make_psci_node(void *fdt)
 {
     int res;
     const char compat[] =
@@ -1975,7 +1907,7 @@ static int __init make_psci_node(void *fdt)
     return res;
 }
 
-static int __init make_cpus_node(const struct domain *d, void *fdt)
+int __init make_cpus_node(const struct domain *d, void *fdt)
 {
     int res;
     const struct dt_device_node *cpus = dt_find_node_by_path("/cpus");
@@ -2173,7 +2105,7 @@ static int __init make_gic_node(const struct domain *d, void *fdt,
     return res;
 }
 
-static int __init make_timer_node(const struct kernel_info *kinfo)
+int __init make_timer_node(const struct kernel_info *kinfo)
 {
     void *fdt = kinfo->fdt;
     static const struct dt_device_match timer_ids[] __initconst =
@@ -2491,773 +2423,161 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
     return res;
 }
 
-#ifdef CONFIG_VGICV2
-static int __init make_gicv2_domU_node(struct kernel_info *kinfo)
+static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
-    int res = 0;
-    __be32 reg[(GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) * 2];
-    __be32 *cells;
-    const struct domain *d = kinfo->d;
-
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
+    const p2m_type_t default_p2mt = p2m_mmio_direct_c;
+    const void *fdt;
+    int new_size;
+    int ret;
 
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
+    ASSERT(dt_host && (dt_host->sibling == NULL));
 
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
+    kinfo->phandle_gic = dt_interrupt_controller->phandle;
+    fdt = device_tree_flattened;
 
-    res = fdt_property_string(fdt, "compatible", "arm,gic-400");
-    if ( res )
-        return res;
+    new_size = fdt_totalsize(fdt) + DOM0_FDT_EXTRA_SIZE;
+    kinfo->fdt = xmalloc_bytes(new_size);
+    if ( kinfo->fdt == NULL )
+        return -ENOMEM;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICD_SIZE);
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_cpu_base(&d->arch.vgic), GUEST_GICC_SIZE);
+    ret = fdt_create(kinfo->fdt, new_size);
+    if ( ret < 0 )
+        goto err;
 
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
-    if (res)
-        return res;
+    fdt_finish_reservemap(kinfo->fdt);
 
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    ret = handle_node(d, kinfo, dt_host, default_p2mt);
+    if ( ret )
+        goto err;
 
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    ret = fdt_finish(kinfo->fdt);
+    if ( ret < 0 )
+        goto err;
 
-    res = fdt_end_node(fdt);
+    return 0;
 
-    return res;
+  err:
+    printk("Device tree generation failed (%d).\n", ret);
+    xfree(kinfo->fdt);
+    return -EINVAL;
 }
-#endif
 
-#ifdef CONFIG_GICV3
-static int __init make_gicv3_domU_node(struct kernel_info *kinfo)
+static void __init dtb_load(struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
-    int res = 0;
-    __be32 *reg, *cells;
-    const struct domain *d = kinfo->d;
-    unsigned int i, len = 0;
-
-    res = domain_fdt_begin_node(fdt, "interrupt-controller",
-                                vgic_dist_base(&d->arch.vgic));
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#interrupt-cells", 3);
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "interrupt-controller", NULL, 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_string(fdt, "compatible", "arm,gic-v3");
-    if ( res )
-        return res;
-
-    /* reg specifies all re-distributors and Distributor. */
-    len = (GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS) *
-          (d->arch.vgic.nr_regions + 1) * sizeof(__be32);
-    reg = xmalloc_bytes(len);
-    if ( reg == NULL )
-        return -ENOMEM;
-    cells = reg;
-
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                       vgic_dist_base(&d->arch.vgic), GUEST_GICV3_GICD_SIZE);
-
-    for ( i = 0; i < d->arch.vgic.nr_regions; i++ )
-        dt_child_set_range(&cells,
-                           GUEST_ROOT_ADDRESS_CELLS, GUEST_ROOT_SIZE_CELLS,
-                           d->arch.vgic.rdist_regions[i].base,
-                           d->arch.vgic.rdist_regions[i].size);
-
-    res = fdt_property(fdt, "reg", reg, len);
-    xfree(reg);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "linux,phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
-
-    res = fdt_property_cell(fdt, "phandle", kinfo->phandle_gic);
-    if (res)
-        return res;
+    unsigned long left;
 
-    res = fdt_end_node(fdt);
+    printk("Loading %pd DTB to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
+           kinfo->d, kinfo->dtb_paddr,
+           kinfo->dtb_paddr + fdt_totalsize(kinfo->fdt));
 
-    return res;
-}
-#endif
+    left = copy_to_guest_phys_flush_dcache(kinfo->d, kinfo->dtb_paddr,
+                                           kinfo->fdt,
+                                           fdt_totalsize(kinfo->fdt));
 
-static int __init make_gic_domU_node(struct kernel_info *kinfo)
-{
-    switch ( kinfo->d->arch.vgic.version )
-    {
-#ifdef CONFIG_GICV3
-    case GIC_V3:
-        return make_gicv3_domU_node(kinfo);
-#endif
-#ifdef CONFIG_VGICV2
-    case GIC_V2:
-        return make_gicv2_domU_node(kinfo);
-#endif
-    default:
-        panic("Unsupported GIC version\n");
-    }
+    if ( left != 0 )
+        panic("Unable to copy the DTB to %pd memory (left = %lu bytes)\n",
+              kinfo->d, left);
+    xfree(kinfo->fdt);
 }
 
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-static int __init make_vpl011_uart_node(struct kernel_info *kinfo)
+static void __init initrd_load(struct kernel_info *kinfo)
 {
-    void *fdt = kinfo->fdt;
+    const struct bootmodule *mod = kinfo->initrd_bootmodule;
+    paddr_t load_addr = kinfo->initrd_paddr;
+    paddr_t paddr, len;
+    int node;
     int res;
-    gic_interrupt_t intr;
-    __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-    __be32 *cells;
-    struct domain *d = kinfo->d;
-
-    res = domain_fdt_begin_node(fdt, "sbsa-uart", d->arch.vpl011.base_addr);
-    if ( res )
-        return res;
+    __be32 val[2];
+    __be32 *cellp;
+    void __iomem *initrd;
 
-    res = fdt_property_string(fdt, "compatible", "arm,sbsa-uart");
-    if ( res )
-        return res;
+    if ( !mod || !mod->size )
+        return;
 
-    cells = &reg[0];
-    dt_child_set_range(&cells, GUEST_ROOT_ADDRESS_CELLS,
-                       GUEST_ROOT_SIZE_CELLS, d->arch.vpl011.base_addr,
-                       GUEST_PL011_SIZE);
+    paddr = mod->start;
+    len = mod->size;
 
-    res = fdt_property(fdt, "reg", reg, sizeof(reg));
-    if ( res )
-        return res;
+    printk("Loading %pd initrd from %"PRIpaddr" to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
+           kinfo->d, paddr, load_addr, load_addr + len);
 
-    set_interrupt(intr, d->arch.vpl011.virq, 0xf, DT_IRQ_TYPE_LEVEL_HIGH);
+    /* Fix up linux,initrd-start and linux,initrd-end in /chosen */
+    node = fdt_path_offset(kinfo->fdt, "/chosen");
+    if ( node < 0 )
+        panic("Cannot find the /chosen node\n");
 
-    res = fdt_property(fdt, "interrupts", intr, sizeof (intr));
+    cellp = (__be32 *)val;
+    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr);
+    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-start",
+                              val, sizeof(val));
     if ( res )
-        return res;
+        panic("Cannot fix up \"linux,initrd-start\" property\n");
 
-    res = fdt_property_cell(fdt, "interrupt-parent",
-                            kinfo->phandle_gic);
+    cellp = (__be32 *)val;
+    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr + len);
+    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-end",
+                              val, sizeof(val));
     if ( res )
-        return res;
+        panic("Cannot fix up \"linux,initrd-end\" property\n");
 
-    /* Use a default baud rate of 115200. */
-    fdt_property_u32(fdt, "current-speed", 115200);
+    initrd = ioremap_wc(paddr, len);
+    if ( !initrd )
+        panic("Unable to map the hwdom initrd\n");
 
-    res = fdt_end_node(fdt);
-    if ( res )
-        return res;
+    res = copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
+                                          initrd, len);
+    if ( res != 0 )
+        panic("Unable to copy the initrd in the hwdom memory\n");
 
-    return 0;
+    iounmap(initrd);
 }
-#endif
 
 /*
- * Scan device tree properties for passthrough specific information.
- * Returns < 0 on error
- *         0 on success
+ * Allocate the event channel PPIs and setup the HVM_PARAM_CALLBACK_IRQ.
+ * The allocated IRQ will be found in d->arch.evtchn_irq.
+ *
+ * Note that this should only be called once all PPIs used by the
+ * hardware domain have been registered.
  */
-static int __init handle_passthrough_prop(struct kernel_info *kinfo,
-                                          const struct fdt_property *xen_reg,
-                                          const struct fdt_property *xen_path,
-                                          bool xen_force,
-                                          uint32_t address_cells, uint32_t size_cells)
+void __init evtchn_allocate(struct domain *d)
 {
-    const __be32 *cell;
-    unsigned int i, len;
-    struct dt_device_node *node;
     int res;
-    paddr_t mstart, size, gstart;
+    u64 val;
 
-    /* xen,reg specifies where to map the MMIO region */
-    cell = (const __be32 *)xen_reg->data;
-    len = fdt32_to_cpu(xen_reg->len) / ((address_cells * 2 + size_cells) *
-                                        sizeof(uint32_t));
+    res = vgic_allocate_ppi(d);
+    if ( res < 0 )
+        panic("Unable to allocate a PPI for the event channel interrupt\n");
 
-    for ( i = 0; i < len; i++ )
-    {
-        device_tree_get_reg(&cell, address_cells, size_cells,
-                            &mstart, &size);
-        gstart = dt_next_cell(address_cells, &cell);
+    d->arch.evtchn_irq = res;
 
-        if ( gstart & ~PAGE_MASK || mstart & ~PAGE_MASK || size & ~PAGE_MASK )
-        {
-            printk(XENLOG_ERR
-                    "DomU passthrough config has not page aligned addresses/sizes\n");
-            return -EINVAL;
-        }
+    printk("Allocating PPI %u for event channel interrupt\n",
+           d->arch.evtchn_irq);
 
-        res = iomem_permit_access(kinfo->d, paddr_to_pfn(mstart),
-                                  paddr_to_pfn(PAGE_ALIGN(mstart + size - 1)));
-        if ( res )
-        {
-            printk(XENLOG_ERR "Unable to permit to dom%d access to"
-                   " 0x%"PRIpaddr" - 0x%"PRIpaddr"\n",
-                   kinfo->d->domain_id,
-                   mstart & PAGE_MASK, PAGE_ALIGN(mstart + size) - 1);
-            return res;
-        }
+    /* Set the value of domain param HVM_PARAM_CALLBACK_IRQ */
+    val = MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI,
+                    HVM_PARAM_CALLBACK_IRQ_TYPE_MASK);
+    /* Active-low level-sensitive  */
+    val |= MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_LOW_LEVEL,
+                     HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_MASK);
+    val |= d->arch.evtchn_irq;
+    d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
+}
 
-        res = map_regions_p2mt(kinfo->d,
-                               gaddr_to_gfn(gstart),
-                               PFN_DOWN(size),
-                               maddr_to_mfn(mstart),
-                               p2m_mmio_direct_dev);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR
-                   "Failed to map %"PRIpaddr" to the guest at%"PRIpaddr"\n",
-                   mstart, gstart);
-            return -EFAULT;
-        }
-    }
+static int __init get_evtchn_dt_property(const struct dt_device_node *np,
+                                         uint32_t *port, uint32_t *phandle)
+{
+    const __be32 *prop = NULL;
+    uint32_t len;
 
-    /*
-     * If xen_force, we let the user assign a MMIO region with no
-     * associated path.
-     */
-    if ( xen_path == NULL )
-        return xen_force ? 0 : -EINVAL;
+    prop = dt_get_property(np, "xen,evtchn", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
+        return -EINVAL;
+    }
 
-    /*
-     * xen,path specifies the corresponding node in the host DT.
-     * Both interrupt mappings and IOMMU settings are based on it,
-     * as they are done based on the corresponding host DT node.
-     */
-    node = dt_find_node_by_path(xen_path->data);
-    if ( node == NULL )
+    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
     {
-        printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
-               (char *)xen_path->data);
-        return -EINVAL;
-    }
-
-    res = map_device_irqs_to_domain(kinfo->d, node, true, NULL);
-    if ( res < 0 )
-        return res;
-
-    res = iommu_add_dt_device(node);
-    if ( res < 0 )
-        return res;
-
-    /* If xen_force, we allow assignment of devices without IOMMU protection. */
-    if ( xen_force && !dt_device_is_protected(node) )
-        return 0;
-
-    return iommu_assign_dt_device(kinfo->d, node);
-}
-
-static int __init handle_prop_pfdt(struct kernel_info *kinfo,
-                                   const void *pfdt, int nodeoff,
-                                   uint32_t address_cells, uint32_t size_cells,
-                                   bool scan_passthrough_prop)
-{
-    void *fdt = kinfo->fdt;
-    int propoff, nameoff, res;
-    const struct fdt_property *prop, *xen_reg = NULL, *xen_path = NULL;
-    const char *name;
-    bool found, xen_force = false;
-
-    for ( propoff = fdt_first_property_offset(pfdt, nodeoff);
-          propoff >= 0;
-          propoff = fdt_next_property_offset(pfdt, propoff) )
-    {
-        if ( !(prop = fdt_get_property_by_offset(pfdt, propoff, NULL)) )
-            return -FDT_ERR_INTERNAL;
-
-        found = false;
-        nameoff = fdt32_to_cpu(prop->nameoff);
-        name = fdt_string(pfdt, nameoff);
-
-        if ( scan_passthrough_prop )
-        {
-            if ( dt_prop_cmp("xen,reg", name) == 0 )
-            {
-                xen_reg = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,path", name) == 0 )
-            {
-                xen_path = prop;
-                found = true;
-            }
-            else if ( dt_prop_cmp("xen,force-assign-without-iommu",
-                                  name) == 0 )
-            {
-                xen_force = true;
-                found = true;
-            }
-        }
-
-        /*
-         * Copy properties other than the ones above: xen,reg, xen,path,
-         * and xen,force-assign-without-iommu.
-         */
-        if ( !found )
-        {
-            res = fdt_property(fdt, name, prop->data, fdt32_to_cpu(prop->len));
-            if ( res )
-                return res;
-        }
-    }
-
-    /*
-     * Only handle passthrough properties if both xen,reg and xen,path
-     * are present, or if xen,force-assign-without-iommu is specified.
-     */
-    if ( xen_reg != NULL && (xen_path != NULL || xen_force) )
-    {
-        res = handle_passthrough_prop(kinfo, xen_reg, xen_path, xen_force,
-                                      address_cells, size_cells);
-        if ( res < 0 )
-        {
-            printk(XENLOG_ERR "Failed to assign device to %pd\n", kinfo->d);
-            return res;
-        }
-    }
-    else if ( (xen_path && !xen_reg) || (xen_reg && !xen_path && !xen_force) )
-    {
-        printk(XENLOG_ERR "xen,reg or xen,path missing for %pd\n",
-               kinfo->d);
-        return -EINVAL;
-    }
-
-    /* FDT_ERR_NOTFOUND => There is no more properties for this node */
-    return ( propoff != -FDT_ERR_NOTFOUND ) ? propoff : 0;
-}
-
-static int __init scan_pfdt_node(struct kernel_info *kinfo, const void *pfdt,
-                                 int nodeoff,
-                                 uint32_t address_cells, uint32_t size_cells,
-                                 bool scan_passthrough_prop)
-{
-    int rc = 0;
-    void *fdt = kinfo->fdt;
-    int node_next;
-
-    rc = fdt_begin_node(fdt, fdt_get_name(pfdt, nodeoff, NULL));
-    if ( rc )
-        return rc;
-
-    rc = handle_prop_pfdt(kinfo, pfdt, nodeoff, address_cells, size_cells,
-                          scan_passthrough_prop);
-    if ( rc )
-        return rc;
-
-    address_cells = device_tree_get_u32(pfdt, nodeoff, "#address-cells",
-                                        DT_ROOT_NODE_ADDR_CELLS_DEFAULT);
-    size_cells = device_tree_get_u32(pfdt, nodeoff, "#size-cells",
-                                     DT_ROOT_NODE_SIZE_CELLS_DEFAULT);
-
-    node_next = fdt_first_subnode(pfdt, nodeoff);
-    while ( node_next > 0 )
-    {
-        rc = scan_pfdt_node(kinfo, pfdt, node_next, address_cells, size_cells,
-                            scan_passthrough_prop);
-        if ( rc )
-            return rc;
-
-        node_next = fdt_next_subnode(pfdt, node_next);
-    }
-
-    return fdt_end_node(fdt);
-}
-
-static int __init check_partial_fdt(void *pfdt, size_t size)
-{
-    int res;
-
-    if ( fdt_magic(pfdt) != FDT_MAGIC )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT is not a valid Flat Device Tree");
-        return -EINVAL;
-    }
-
-    res = fdt_check_header(pfdt);
-    if ( res )
-    {
-        dprintk(XENLOG_ERR, "Failed to check the partial FDT (%d)", res);
-        return -EINVAL;
-    }
-
-    if ( fdt_totalsize(pfdt) > size )
-    {
-        dprintk(XENLOG_ERR, "Partial FDT totalsize is too big");
-        return -EINVAL;
-    }
-
-    return 0;
-}
-
-static int __init domain_handle_dtb_bootmodule(struct domain *d,
-                                               struct kernel_info *kinfo)
-{
-    void *pfdt;
-    int res, node_next;
-
-    pfdt = ioremap_cache(kinfo->dtb_bootmodule->start,
-                         kinfo->dtb_bootmodule->size);
-    if ( pfdt == NULL )
-        return -EFAULT;
-
-    res = check_partial_fdt(pfdt, kinfo->dtb_bootmodule->size);
-    if ( res < 0 )
-        goto out;
-
-    for ( node_next = fdt_first_subnode(pfdt, 0); 
-          node_next > 0;
-          node_next = fdt_next_subnode(pfdt, node_next) )
-    {
-        const char *name = fdt_get_name(pfdt, node_next, NULL);
-
-        if ( name == NULL )
-            continue;
-
-        /*
-         * Only scan /gic /aliases /passthrough, ignore the rest.
-         * They don't have to be parsed in order.
-         *
-         * Take the GIC phandle value from the special /gic node in the
-         * DTB fragment.
-         */
-        if ( dt_node_cmp(name, "gic") == 0 )
-        {
-            kinfo->phandle_gic = fdt_get_phandle(pfdt, node_next);
-            continue;
-        }
-
-        if ( dt_node_cmp(name, "aliases") == 0 )
-        {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 false);
-            if ( res )
-                goto out;
-            continue;
-        }
-        if ( dt_node_cmp(name, "passthrough") == 0 )
-        {
-            res = scan_pfdt_node(kinfo, pfdt, node_next,
-                                 DT_ROOT_NODE_ADDR_CELLS_DEFAULT,
-                                 DT_ROOT_NODE_SIZE_CELLS_DEFAULT,
-                                 true);
-            if ( res )
-                goto out;
-            continue;
-        }
-    }
-
- out:
-    iounmap(pfdt);
-
-    return res;
-}
-
-/*
- * The max size for DT is 2MB. However, the generated DT is small (not including
- * domU passthrough DT nodes whose size we account separately), 4KB are enough
- * for now, but we might have to increase it in the future.
- */
-#define DOMU_DTB_SIZE 4096
-static int __init prepare_dtb_domU(struct domain *d, struct kernel_info *kinfo)
-{
-    int addrcells, sizecells;
-    int ret, fdt_size = DOMU_DTB_SIZE;
-
-    kinfo->phandle_gic = GUEST_PHANDLE_GIC;
-    kinfo->gnttab_start = GUEST_GNTTAB_BASE;
-    kinfo->gnttab_size = GUEST_GNTTAB_SIZE;
-
-    addrcells = GUEST_ROOT_ADDRESS_CELLS;
-    sizecells = GUEST_ROOT_SIZE_CELLS;
-
-    /* Account for domU passthrough DT size */
-    if ( kinfo->dtb_bootmodule )
-        fdt_size += kinfo->dtb_bootmodule->size;
-
-    /* Cap to max DT size if needed */
-    fdt_size = min(fdt_size, SZ_2M);
-
-    kinfo->fdt = xmalloc_bytes(fdt_size);
-    if ( kinfo->fdt == NULL )
-        return -ENOMEM;
-
-    ret = fdt_create(kinfo->fdt, fdt_size);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_finish_reservemap(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_begin_node(kinfo->fdt, "");
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_property_cell(kinfo->fdt, "#address-cells", addrcells);
-    if ( ret )
-        goto err;
-
-    ret = fdt_property_cell(kinfo->fdt, "#size-cells", sizecells);
-    if ( ret )
-        goto err;
-
-    ret = make_chosen_node(kinfo);
-    if ( ret )
-        goto err;
-
-    ret = make_psci_node(kinfo->fdt);
-    if ( ret )
-        goto err;
-
-    ret = make_cpus_node(d, kinfo->fdt);
-    if ( ret )
-        goto err;
-
-    ret = make_memory_node(d, kinfo->fdt, addrcells, sizecells, &kinfo->mem);
-    if ( ret )
-        goto err;
-
-    ret = make_resv_memory_node(d, kinfo->fdt, addrcells, sizecells,
-                                &kinfo->shm_mem);
-    if ( ret )
-        goto err;
-
-    /*
-     * domain_handle_dtb_bootmodule has to be called before the rest of
-     * the device tree is generated because it depends on the value of
-     * the field phandle_gic.
-     */
-    if ( kinfo->dtb_bootmodule )
-    {
-        ret = domain_handle_dtb_bootmodule(d, kinfo);
-        if ( ret )
-            goto err;
-    }
-
-    ret = make_gic_domU_node(kinfo);
-    if ( ret )
-        goto err;
-
-    ret = make_timer_node(kinfo);
-    if ( ret )
-        goto err;
-
-    if ( kinfo->vpl011 )
-    {
-        ret = -EINVAL;
-#ifdef CONFIG_SBSA_VUART_CONSOLE
-        ret = make_vpl011_uart_node(kinfo);
-#endif
-        if ( ret )
-            goto err;
-    }
-
-    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
-    {
-        ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
-        if ( ret )
-            goto err;
-    }
-
-    ret = fdt_end_node(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    ret = fdt_finish(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    return 0;
-
-  err:
-    printk("Device tree generation failed (%d).\n", ret);
-    xfree(kinfo->fdt);
-
-    return -EINVAL;
-}
-
-static int __init prepare_dtb_hwdom(struct domain *d, struct kernel_info *kinfo)
-{
-    const p2m_type_t default_p2mt = p2m_mmio_direct_c;
-    const void *fdt;
-    int new_size;
-    int ret;
-
-    ASSERT(dt_host && (dt_host->sibling == NULL));
-
-    kinfo->phandle_gic = dt_interrupt_controller->phandle;
-    fdt = device_tree_flattened;
-
-    new_size = fdt_totalsize(fdt) + DOM0_FDT_EXTRA_SIZE;
-    kinfo->fdt = xmalloc_bytes(new_size);
-    if ( kinfo->fdt == NULL )
-        return -ENOMEM;
-
-    ret = fdt_create(kinfo->fdt, new_size);
-    if ( ret < 0 )
-        goto err;
-
-    fdt_finish_reservemap(kinfo->fdt);
-
-    ret = handle_node(d, kinfo, dt_host, default_p2mt);
-    if ( ret )
-        goto err;
-
-    ret = fdt_finish(kinfo->fdt);
-    if ( ret < 0 )
-        goto err;
-
-    return 0;
-
-  err:
-    printk("Device tree generation failed (%d).\n", ret);
-    xfree(kinfo->fdt);
-    return -EINVAL;
-}
-
-static void __init dtb_load(struct kernel_info *kinfo)
-{
-    unsigned long left;
-
-    printk("Loading %pd DTB to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
-           kinfo->d, kinfo->dtb_paddr,
-           kinfo->dtb_paddr + fdt_totalsize(kinfo->fdt));
-
-    left = copy_to_guest_phys_flush_dcache(kinfo->d, kinfo->dtb_paddr,
-                                           kinfo->fdt,
-                                           fdt_totalsize(kinfo->fdt));
-
-    if ( left != 0 )
-        panic("Unable to copy the DTB to %pd memory (left = %lu bytes)\n",
-              kinfo->d, left);
-    xfree(kinfo->fdt);
-}
-
-static void __init initrd_load(struct kernel_info *kinfo)
-{
-    const struct bootmodule *mod = kinfo->initrd_bootmodule;
-    paddr_t load_addr = kinfo->initrd_paddr;
-    paddr_t paddr, len;
-    int node;
-    int res;
-    __be32 val[2];
-    __be32 *cellp;
-    void __iomem *initrd;
-
-    if ( !mod || !mod->size )
-        return;
-
-    paddr = mod->start;
-    len = mod->size;
-
-    printk("Loading %pd initrd from %"PRIpaddr" to 0x%"PRIpaddr"-0x%"PRIpaddr"\n",
-           kinfo->d, paddr, load_addr, load_addr + len);
-
-    /* Fix up linux,initrd-start and linux,initrd-end in /chosen */
-    node = fdt_path_offset(kinfo->fdt, "/chosen");
-    if ( node < 0 )
-        panic("Cannot find the /chosen node\n");
-
-    cellp = (__be32 *)val;
-    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr);
-    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-start",
-                              val, sizeof(val));
-    if ( res )
-        panic("Cannot fix up \"linux,initrd-start\" property\n");
-
-    cellp = (__be32 *)val;
-    dt_set_cell(&cellp, ARRAY_SIZE(val), load_addr + len);
-    res = fdt_setprop_inplace(kinfo->fdt, node, "linux,initrd-end",
-                              val, sizeof(val));
-    if ( res )
-        panic("Cannot fix up \"linux,initrd-end\" property\n");
-
-    initrd = ioremap_wc(paddr, len);
-    if ( !initrd )
-        panic("Unable to map the hwdom initrd\n");
-
-    res = copy_to_guest_phys_flush_dcache(kinfo->d, load_addr,
-                                          initrd, len);
-    if ( res != 0 )
-        panic("Unable to copy the initrd in the hwdom memory\n");
-
-    iounmap(initrd);
-}
-
-/*
- * Allocate the event channel PPIs and setup the HVM_PARAM_CALLBACK_IRQ.
- * The allocated IRQ will be found in d->arch.evtchn_irq.
- *
- * Note that this should only be called once all PPIs used by the
- * hardware domain have been registered.
- */
-void __init evtchn_allocate(struct domain *d)
-{
-    int res;
-    u64 val;
-
-    res = vgic_allocate_ppi(d);
-    if ( res < 0 )
-        panic("Unable to allocate a PPI for the event channel interrupt\n");
-
-    d->arch.evtchn_irq = res;
-
-    printk("Allocating PPI %u for event channel interrupt\n",
-           d->arch.evtchn_irq);
-
-    /* Set the value of domain param HVM_PARAM_CALLBACK_IRQ */
-    val = MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI,
-                    HVM_PARAM_CALLBACK_IRQ_TYPE_MASK);
-    /* Active-low level-sensitive  */
-    val |= MASK_INSR(HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_LOW_LEVEL,
-                     HVM_PARAM_CALLBACK_TYPE_PPI_FLAG_MASK);
-    val |= d->arch.evtchn_irq;
-    d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
-}
-
-static int __init get_evtchn_dt_property(const struct dt_device_node *np,
-                                         uint32_t *port, uint32_t *phandle)
-{
-    const __be32 *prop = NULL;
-    uint32_t len;
-
-    prop = dt_get_property(np, "xen,evtchn", &len);
-    if ( !prop )
-    {
-        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
-        return -EINVAL;
-    }
-
-    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
-    {
-        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
+        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
         return -EINVAL;
     }
 
@@ -3413,22 +2733,7 @@ static void __init find_gnttab_region(struct domain *d,
            kinfo->gnttab_start, kinfo->gnttab_start + kinfo->gnttab_size);
 }
 
-static unsigned long __init domain_p2m_pages(unsigned long maxmem_kb,
-                                             unsigned int smp_cpus)
-{
-    /*
-     * Keep in sync with libxl__get_required_paging_memory().
-     * 256 pages (1MB) per vcpu, plus 1 page per MiB of RAM for the P2M map,
-     * plus 128 pages to cover extended regions.
-     */
-    unsigned long memkb = 4 * (256 * smp_cpus + (maxmem_kb / 1024) + 128);
-
-    BUILD_BUG_ON(PAGE_SIZE != SZ_4K);
-
-    return DIV_ROUND_UP(memkb, 1024) << (20 - PAGE_SHIFT);
-}
-
-static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
+int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
 {
     unsigned int i;
     struct vcpu *v = d->vcpu[0];
@@ -3519,296 +2824,6 @@ static int __init construct_domain(struct domain *d, struct kernel_info *kinfo)
     return 0;
 }
 
-static int __init alloc_xenstore_evtchn(struct domain *d)
-{
-    evtchn_alloc_unbound_t alloc;
-    int rc;
-
-    alloc.dom = d->domain_id;
-    alloc.remote_dom = hardware_domain->domain_id;
-    rc = evtchn_alloc_unbound(&alloc, 0);
-    if ( rc )
-    {
-        printk("Failed allocating event channel for domain\n");
-        return rc;
-    }
-
-    d->arch.hvm.params[HVM_PARAM_STORE_EVTCHN] = alloc.port;
-
-    return 0;
-}
-
-static int __init construct_domU(struct domain *d,
-                                 const struct dt_device_node *node)
-{
-    struct kernel_info kinfo = {};
-    const char *dom0less_enhanced;
-    int rc;
-    u64 mem;
-    u32 p2m_mem_mb;
-    unsigned long p2m_pages;
-
-    rc = dt_property_read_u64(node, "memory", &mem);
-    if ( !rc )
-    {
-        printk("Error building DomU: cannot read \"memory\" property\n");
-        return -EINVAL;
-    }
-    kinfo.unassigned_mem = (paddr_t)mem * SZ_1K;
-
-    rc = dt_property_read_u32(node, "xen,domain-p2m-mem-mb", &p2m_mem_mb);
-    /* If xen,domain-p2m-mem-mb is not specified, use the default value. */
-    p2m_pages = rc ?
-                p2m_mem_mb << (20 - PAGE_SHIFT) :
-                domain_p2m_pages(mem, d->max_vcpus);
-
-    spin_lock(&d->arch.paging.lock);
-    rc = p2m_set_allocation(d, p2m_pages, NULL);
-    spin_unlock(&d->arch.paging.lock);
-    if ( rc != 0 )
-        return rc;
-
-    printk("*** LOADING DOMU cpus=%u memory=%#"PRIx64"KB ***\n",
-           d->max_vcpus, mem);
-
-    kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
-
-    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
-    if ( rc == -EILSEQ ||
-         rc == -ENODATA ||
-         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
-    {
-        if ( hardware_domain )
-            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
-        else
-            panic("At the moment, Xenstore support requires dom0 to be present\n");
-    }
-    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
-        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
-
-    if ( vcpu_create(d, 0) == NULL )
-        return -ENOMEM;
-
-    d->max_pages = ((paddr_t)mem * SZ_1K) >> PAGE_SHIFT;
-
-    kinfo.d = d;
-
-    rc = kernel_probe(&kinfo, node);
-    if ( rc < 0 )
-        return rc;
-
-#ifdef CONFIG_ARM_64
-    /* type must be set before allocate memory */
-    d->arch.type = kinfo.type;
-#endif
-    if ( !dt_find_property(node, "xen,static-mem", NULL) )
-        allocate_memory(d, &kinfo);
-    else if ( !is_domain_direct_mapped(d) )
-        allocate_static_memory(d, &kinfo, node);
-    else
-        assign_static_memory_11(d, &kinfo, node);
-
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, 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
-     * shall be done first.
-     */
-    if ( kinfo.vpl011 )
-    {
-        rc = domain_vpl011_init(d, NULL);
-        if ( rc < 0 )
-            return rc;
-    }
-
-    rc = prepare_dtb_domU(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    rc = construct_domain(d, &kinfo);
-    if ( rc < 0 )
-        return rc;
-
-    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
-    {
-        ASSERT(hardware_domain);
-        rc = alloc_xenstore_evtchn(d);
-        if ( rc < 0 )
-            return rc;
-        d->arch.hvm.params[HVM_PARAM_STORE_PFN] = ~0ULL;
-    }
-
-    return rc;
-}
-
-void __init create_domUs(void)
-{
-    struct dt_device_node *node;
-    const struct dt_device_node *cpupool_node,
-                                *chosen = dt_find_node_by_path("/chosen");
-
-    BUG_ON(chosen == NULL);
-    dt_for_each_child_node(chosen, node)
-    {
-        struct domain *d;
-        struct xen_domctl_createdomain d_cfg = {
-            .arch.gic_version = XEN_DOMCTL_CONFIG_GIC_NATIVE,
-            .flags = XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
-            /*
-             * The default of 1023 should be sufficient for guests because
-             * on ARM we don't bind physical interrupts to event channels.
-             * The only use of the evtchn port is inter-domain communications.
-             * 1023 is also the default value used in libxl.
-             */
-            .max_evtchn_port = 1023,
-            .max_grant_frames = -1,
-            .max_maptrack_frames = -1,
-            .grant_opts = XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
-        };
-        unsigned int flags = 0U;
-        uint32_t val;
-        int rc;
-
-        if ( !dt_device_is_compatible(node, "xen,domain") )
-            continue;
-
-        if ( (max_init_domid + 1) >= DOMID_FIRST_RESERVED )
-            panic("No more domain IDs available\n");
-
-        if ( dt_find_property(node, "xen,static-mem", NULL) )
-            flags |= CDF_staticmem;
-
-        if ( dt_property_read_bool(node, "direct-map") )
-        {
-            if ( !(flags & CDF_staticmem) )
-                panic("direct-map is not valid for domain %s without static allocation.\n",
-                      dt_node_name(node));
-
-            flags |= CDF_directmap;
-        }
-
-        if ( !dt_property_read_u32(node, "cpus", &d_cfg.max_vcpus) )
-            panic("Missing property 'cpus' for domain %s\n",
-                  dt_node_name(node));
-
-        if ( dt_find_compatible_node(node, NULL, "multiboot,device-tree") &&
-             iommu_enabled )
-            d_cfg.flags |= XEN_DOMCTL_CDF_iommu;
-
-        if ( !dt_property_read_u32(node, "nr_spis", &d_cfg.arch.nr_spis) )
-        {
-            int vpl011_virq = GUEST_VPL011_SPI;
-
-            d_cfg.arch.nr_spis = gic_number_lines() - 32;
-
-            /*
-             * The VPL011 virq is GUEST_VPL011_SPI, unless direct-map is
-             * set, in which case it'll match the hardware.
-             *
-             * Since the domain is not yet created, we can't use
-             * d->arch.vpl011.irq. So the logic to find the vIRQ has to
-             * be hardcoded.
-             * The logic here shall be consistent with the one in
-             * domain_vpl011_init().
-             */
-            if ( flags & CDF_directmap )
-            {
-                vpl011_virq = serial_irq(SERHND_DTUART);
-                if ( vpl011_virq < 0 )
-                    panic("Error getting IRQ number for this serial port %d\n",
-                          SERHND_DTUART);
-            }
-
-            /*
-             * vpl011 uses one emulated SPI. If vpl011 is requested, make
-             * sure that we allocate enough SPIs for it.
-             */
-            if ( dt_property_read_bool(node, "vpl011") )
-                d_cfg.arch.nr_spis = MAX(d_cfg.arch.nr_spis,
-                                         vpl011_virq - 32 + 1);
-        }
-
-        /* Get the optional property domain-cpupool */
-        cpupool_node = dt_parse_phandle(node, "domain-cpupool", 0);
-        if ( cpupool_node )
-        {
-            int pool_id = btcpupools_get_domain_pool_id(cpupool_node);
-            if ( pool_id < 0 )
-                panic("Error getting cpupool id from domain-cpupool (%d)\n",
-                      pool_id);
-            d_cfg.cpupool_id = pool_id;
-        }
-
-        if ( dt_property_read_u32(node, "max_grant_version", &val) )
-            d_cfg.grant_opts = XEN_DOMCTL_GRANT_version(val);
-
-        if ( dt_property_read_u32(node, "max_grant_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_grant_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_grant_frames = val;
-        }
-
-        if ( dt_property_read_u32(node, "max_maptrack_frames", &val) )
-        {
-            if ( val > INT32_MAX )
-                panic("max_maptrack_frames (%"PRIu32") overflow\n", val);
-            d_cfg.max_maptrack_frames = val;
-        }
-
-        if ( dt_get_property(node, "sve", &val) )
-        {
-#ifdef CONFIG_ARM64_SVE
-            unsigned int sve_vl_bits;
-            bool ret = false;
-
-            if ( !val )
-            {
-                /* Property found with no value, means max HW VL supported */
-                ret = sve_domctl_vl_param(-1, &sve_vl_bits);
-            }
-            else
-            {
-                if ( dt_property_read_u32(node, "sve", &val) )
-                    ret = sve_domctl_vl_param(val, &sve_vl_bits);
-                else
-                    panic("Error reading 'sve' property\n");
-            }
-
-            if ( ret )
-                d_cfg.arch.sve_vl = sve_encode_vl(sve_vl_bits);
-            else
-                panic("SVE vector length error\n");
-#else
-            panic("'sve' property found, but CONFIG_ARM64_SVE not selected\n");
-#endif
-        }
-
-        /*
-         * The variable max_init_domid is initialized with zero, so here it's
-         * very important to use the pre-increment operator to call
-         * domain_create() with a domid > 0. (domid == 0 is reserved for Dom0)
-         */
-        d = domain_create(++max_init_domid, &d_cfg, flags);
-        if ( IS_ERR(d) )
-            panic("Error creating domain %s (rc = %ld)\n",
-                  dt_node_name(node), PTR_ERR(d));
-
-        d->is_console = true;
-        dt_device_set_used_by(node, d->domain_id);
-
-        rc = construct_domU(d, node);
-        if ( rc )
-            panic("Could not set up domain %s (rc = %d)\n",
-                  dt_node_name(node), rc);
-    }
-}
-
 static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
new file mode 100644
index 000000000000..c5625925d940
--- /dev/null
+++ b/xen/arch/arm/include/asm/dom0less-build.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_DOM0LESS_BUILD_H_
+#define __ASM_DOM0LESS_BUILD_H_
+
+void create_domUs(void);
+bool is_dom0less_mode(void);
+
+#endif /* __ASM_DOM0LESS_BUILD_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index b9329c9ee032..b9ae0d170c5c 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -4,9 +4,47 @@
 #include <xen/sched.h>
 #include <asm/kernel.h>
 
+typedef __be32 gic_interrupt_t[3];
+
+bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
+                          gfn_t sgfn, paddr_t tot_size);
+int construct_domain(struct domain *d, struct kernel_info *kinfo);
+int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
+int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
+                          int sizecells, const struct meminfo *mem);
 int make_chosen_node(const struct kernel_info *kinfo);
+int make_cpus_node(const struct domain *d, void *fdt);
+int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
+                         int addrcells, int sizecells);
+int make_memory_node(const struct domain *d, void *fdt, int addrcells,
+                     int sizecells, struct meminfo *mem);
+int make_psci_node(void *fdt);
+int make_timer_node(const struct kernel_info *kinfo);
 void evtchn_allocate(struct domain *d);
 
+unsigned int get_allocation_size(paddr_t size);
+
+/*
+ * handle_device_interrupts retrieves the interrupts configuration from
+ * a device tree node and maps those interrupts to the target domain.
+ *
+ * Returns:
+ *   < 0 error
+ *   0   success
+ */
+int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
+                             bool need_mapping);
+
+/*
+ * Helper to write an interrupts with the GIC format
+ * This code is assuming the irq is an PPI.
+ */
+void set_interrupt(gic_interrupt_t interrupt, unsigned int irq,
+                   unsigned int cpumask, unsigned int level);
+
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
 #ifndef CONFIG_ACPI
 static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 {
@@ -17,6 +55,28 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 #else
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
+
+#ifdef CONFIG_STATIC_MEMORY
+void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                            const struct dt_device_node *node);
+void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                             const struct dt_device_node *node);
+#else
+static inline void allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+#endif
+
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index ccb857ca2ea9..6d670d68aed3 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -135,7 +135,6 @@ void acpi_create_efi_mmap_table(struct domain *d,
 
 int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
 
-void create_domUs(void);
 void create_dom0(void);
 void alloc_static_evtchn(void);
 
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 9b9018574919..3f1081bed2e2 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -34,6 +34,7 @@
 #include <xen/warning.h>
 #include <xen/hypercall.h>
 #include <asm/alternative.h>
+#include <asm/dom0less-build.h>
 #include <asm/page.h>
 #include <asm/current.h>
 #include <asm/setup.h>
@@ -724,38 +725,6 @@ void __init populate_boot_allocator(void)
     }
 }
 
-static bool __init is_dom0less_mode(void)
-{
-    struct bootmodules *mods = &bootinfo.modules;
-    struct bootmodule *mod;
-    unsigned int i;
-    bool dom0found = false;
-    bool domUfound = false;
-
-    /* Look into the bootmodules */
-    for ( i = 0 ; i < mods->nr_mods ; i++ )
-    {
-        mod = &mods->module[i];
-        /* Find if dom0 and domU kernels are present */
-        if ( mod->kind == BOOTMOD_KERNEL )
-        {
-            if ( mod->domU == false )
-            {
-                dom0found = true;
-                break;
-            }
-            else
-                domUfound = true;
-        }
-    }
-
-    /*
-     * If there is no dom0 kernel but at least one domU, then we are in
-     * dom0less mode
-     */
-    return ( !dom0found && domUfound );
-}
-
 size_t __read_mostly dcache_line_bytes;
 
 /* C entry point for boot CPU */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 09:49:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 09:49:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640334.998359 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Sny-0000NU-Fo; Fri, 24 Nov 2023 09:48:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640334.998359; Fri, 24 Nov 2023 09: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 1r6Sny-0000N3-8w; Fri, 24 Nov 2023 09:48:58 +0000
Received: by outflank-mailman (input) for mailman id 640334;
 Fri, 24 Nov 2023 09:48: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=Vqky=HF=arm.com=luca.fancellu@srs-se1.protection.inumbo.net>)
 id 1r6Snw-0007mP-8G
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 09:48:56 +0000
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id ada343af-8aae-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 10:48:53 +0100 (CET)
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 B10FD1063
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 01:49:39 -0800 (PST)
Received: from e125770.cambridge.arm.com (e125770.arm.com [10.1.199.1])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id CB8C43F7A6
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 01:48:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ada343af-8aae-11ee-98e2-6d05b1d4d9a1
From: Luca Fancellu <luca.fancellu@arm.com>
To: xen-devel@lists.xenproject.org
Subject: [PATCH v6 4/5] xen/arm: Move static memory build code in separate modules
Date: Fri, 24 Nov 2023 09:48:40 +0000
Message-Id: <20231124094841.1475381-5-luca.fancellu@arm.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124094841.1475381-1-luca.fancellu@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Move static memory and static shared memory code in separate modules
so that they are included only when the corresponding feature is
enabled, doing that we modularise the features and we remove some
ifdefs from the code to improve readability.

Move process_shm_node function from bootfdt module and make it
externally visible.

A static inline helper called process_shm_chosen is introduced, it
will call the process_shm function for the '/chosen' node, and will
be used by the function construct_dom0 instead of using directly
process_shm, allowing some #ifdef to be removed.

No functional changes are intended.

Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
---
Changes from v5:
 - removed init_staticmem_pages prototype from setup.h, add
   static-memory.h include in arm{32,64}/mmu/mm.c, dropped
   Michal R-by given the changes
Changes from v4:
 - Removed header from static-*.{c,h} files, fixed style issue,
   renamed inclusion define __ARM_* to __ASM_*, fixed emacs
   local variables. (Michal)
Changes from v3:
 - Moved make_resv_memory_node from domain_build to static-shmem,
   make make_shm_memory_node static.
Changes from v2:
 - no changes
---
 xen/arch/arm/Makefile                    |   2 +
 xen/arch/arm/arm32/mmu/mm.c              |   1 +
 xen/arch/arm/arm64/mmu/mm.c              |   1 +
 xen/arch/arm/bootfdt.c                   | 161 +-----
 xen/arch/arm/dom0less-build.c            |   4 +-
 xen/arch/arm/domain_build.c              | 654 +----------------------
 xen/arch/arm/include/asm/domain_build.h  |  26 -
 xen/arch/arm/include/asm/setup.h         |   1 -
 xen/arch/arm/include/asm/static-memory.h |  45 ++
 xen/arch/arm/include/asm/static-shmem.h  |  66 +++
 xen/arch/arm/setup.c                     |  24 -
 xen/arch/arm/static-memory.c             | 287 ++++++++++
 xen/arch/arm/static-shmem.c              | 547 +++++++++++++++++++
 13 files changed, 954 insertions(+), 865 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/static-memory.h
 create mode 100644 xen/arch/arm/include/asm/static-shmem.h
 create mode 100644 xen/arch/arm/static-memory.c
 create mode 100644 xen/arch/arm/static-shmem.c

diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index d65920b0a8cf..2fcc3c2535fd 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -51,6 +51,8 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
+obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
+obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
 obj-y += sysctl.o
 obj-y += time.o
 obj-y += traps.o
diff --git a/xen/arch/arm/arm32/mmu/mm.c b/xen/arch/arm/arm32/mmu/mm.c
index 94d6cab49cc9..cb441ca87c0d 100644
--- a/xen/arch/arm/arm32/mmu/mm.c
+++ b/xen/arch/arm/arm32/mmu/mm.c
@@ -6,6 +6,7 @@
 #include <xen/param.h>
 #include <xen/pfn.h>
 #include <asm/fixmap.h>
+#include <asm/static-memory.h>
 
 static unsigned long opt_xenheap_megabytes __initdata;
 integer_param("xenheap_megabytes", opt_xenheap_megabytes);
diff --git a/xen/arch/arm/arm64/mmu/mm.c b/xen/arch/arm/arm64/mmu/mm.c
index e05d54c850ac..d2651c948698 100644
--- a/xen/arch/arm/arm64/mmu/mm.c
+++ b/xen/arch/arm/arm64/mmu/mm.c
@@ -5,6 +5,7 @@
 #include <xen/pfn.h>
 
 #include <asm/setup.h>
+#include <asm/static-memory.h>
 
 /* Override macros from asm/page.h to make them work with mfn_t */
 #undef virt_to_mfn
diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
index d73f8e497193..b1f03eb2fcdd 100644
--- a/xen/arch/arm/bootfdt.c
+++ b/xen/arch/arm/bootfdt.c
@@ -15,6 +15,7 @@
 #include <xen/sort.h>
 #include <xsm/xsm.h>
 #include <asm/setup.h>
+#include <asm/static-shmem.h>
 
 static bool __init device_tree_node_is_available(const void *fdt, int node)
 {
@@ -423,166 +424,6 @@ static int __init process_domain_node(const void *fdt, int node,
                                    MEMBANK_STATIC_DOMAIN);
 }
 
-#ifdef CONFIG_STATIC_SHM
-static int __init process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t size_cells)
-{
-    const struct fdt_property *prop, *prop_id, *prop_role;
-    const __be32 *cell;
-    paddr_t paddr, gaddr, 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 %u characters\n",
-               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, gaddr, size>;
-     * 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) )
-    {
-        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, address_cells, &paddr, &gaddr);
-    size = dt_next_cell(size_cells, &cell);
-
-    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;
-
-            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
-            {
-                printk("fdt: static shared memory region %s overflow\n", shm_id);
-                return -EINVAL;
-            }
-
-            if ( check_reserved_regions_overlap(paddr, size) )
-                return -EINVAL;
-            else
-            {
-                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
-                    continue;
-                else
-                {
-                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
-                           shm_id);
-                    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].type = MEMBANK_STATIC_DOMAIN;
-            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;
-}
-#else
-static int __init process_shm_node(const void *fdt, int node,
-                                   uint32_t address_cells, uint32_t size_cells)
-{
-    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared memory nodes\n");
-    return -EINVAL;
-}
-#endif
-
 static int __init early_scan_node(const void *fdt,
                                   int node, const char *name, int depth,
                                   u32 address_cells, u32 size_cells,
diff --git a/xen/arch/arm/dom0less-build.c b/xen/arch/arm/dom0less-build.c
index 1ca9d39043d6..d39cbd969aca 100644
--- a/xen/arch/arm/dom0less-build.c
+++ b/xen/arch/arm/dom0less-build.c
@@ -13,6 +13,8 @@
 #include <asm/arm64/sve.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/static-memory.h>
+#include <asm/static-shmem.h>
 
 bool __init is_dom0less_mode(void)
 {
@@ -806,11 +808,9 @@ static int __init construct_domU(struct domain *d,
     else
         assign_static_memory_11(d, &kinfo, node);
 
-#ifdef CONFIG_STATIC_SHM
     rc = process_shm(d, &kinfo, node);
     if ( rc < 0 )
         return rc;
-#endif
 
     /*
      * Base address and irq number are needed when creating vpl011 device
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 90dba16e42c9..7eb766da9c63 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -31,6 +31,7 @@
 #include <asm/cpufeature.h>
 #include <asm/dom0less-build.h>
 #include <asm/domain_build.h>
+#include <asm/static-shmem.h>
 #include <xen/event.h>
 
 #include <xen/irq.h>
@@ -477,533 +478,6 @@ bool __init allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
     return true;
 }
 
-#ifdef CONFIG_STATIC_MEMORY
-static bool __init append_static_memory_to_bank(struct domain *d,
-                                                struct membank *bank,
-                                                mfn_t smfn,
-                                                paddr_t size)
-{
-    int res;
-    unsigned int nr_pages = PFN_DOWN(size);
-    gfn_t sgfn;
-
-    /*
-     * For direct-mapped domain, the GFN match the MFN.
-     * Otherwise, this is inferred on what has already been allocated
-     * in the bank.
-     */
-    if ( !is_domain_direct_mapped(d) )
-        sgfn = gaddr_to_gfn(bank->start + bank->size);
-    else
-        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
-
-    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
-    if ( res )
-    {
-        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
-        return false;
-    }
-
-    bank->size = bank->size + size;
-
-    return true;
-}
-
-static mfn_t __init acquire_static_memory_bank(struct domain *d,
-                                               const __be32 **cell,
-                                               u32 addr_cells, u32 size_cells,
-                                               paddr_t *pbase, paddr_t *psize)
-{
-    mfn_t smfn;
-    int res;
-
-    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
-    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
-    if ( PFN_DOWN(*psize) > UINT_MAX )
-    {
-        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
-               d, *psize);
-        return INVALID_MFN;
-    }
-
-    smfn = maddr_to_mfn(*pbase);
-    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
-    if ( res )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to acquire static memory: %d.\n", d, res);
-        return INVALID_MFN;
-    }
-
-    return smfn;
-}
-
-static int __init parse_static_mem_prop(const struct dt_device_node *node,
-                                        u32 *addr_cells, u32 *size_cells,
-                                        int *length, const __be32 **cell)
-{
-    const struct dt_property *prop;
-
-    prop = dt_find_property(node, "xen,static-mem", NULL);
-
-    *addr_cells = dt_n_addr_cells(node);
-    *size_cells = dt_n_size_cells(node);
-
-    *cell = (const __be32 *)prop->value;
-    *length = prop->length;
-
-    return 0;
-}
-
-/* Allocate memory from static memory as RAM for one specific domain d. */
-void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
-                                   const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, gbank, bank = 0;
-    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
-    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
-    const __be32 *cell;
-    u64 tot_size = 0;
-    paddr_t pbase, psize, gsize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-        goto fail;
-    reg_cells = addr_cells + size_cells;
-
-    /*
-     * The static memory will be mapped in the guest at the usual guest memory
-     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
-     * xen/include/public/arch-arm.h.
-     */
-    gbank = 0;
-    gsize = ramsize[gbank];
-    kinfo->mem.bank[gbank].start = rambase[gbank];
-    nr_banks = length / (reg_cells * sizeof (u32));
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        while ( 1 )
-        {
-            /* Map as much as possible the static range to the guest bank */
-            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
-                                               min(psize, gsize)) )
-                goto fail;
-
-            /*
-             * The current physical bank is fully mapped.
-             * Handle the next physical bank.
-             */
-            if ( gsize >= psize )
-            {
-                gsize = gsize - psize;
-                break;
-            }
-            /*
-             * When current guest bank is not enough to map, exhaust
-             * the current one and seek to the next.
-             * Before seeking to the next, check if we still have available
-             * guest bank.
-             */
-            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
-            {
-                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
-                goto fail;
-            }
-            else
-            {
-                psize = psize - gsize;
-                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
-                /* Update to the next guest bank. */
-                gbank++;
-                gsize = ramsize[gbank];
-                kinfo->mem.bank[gbank].start = rambase[gbank];
-            }
-        }
-
-        tot_size += psize;
-    }
-
-    kinfo->mem.nr_banks = ++gbank;
-
-    kinfo->unassigned_mem -= tot_size;
-    /*
-     * The property 'memory' should match the amount of memory given to the
-     * guest.
-     * Currently, it is only possible to either acquire static memory or let
-     * Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to allocate requested static memory for domain %pd.\n", d);
-}
-
-/*
- * Allocate static memory as RAM for one specific domain d.
- * The static memory will be directly mapped in the guest(Guest Physical
- * Address == Physical Address).
- */
-void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
-                                    const struct dt_device_node *node)
-{
-    u32 addr_cells, size_cells, reg_cells;
-    unsigned int nr_banks, bank = 0;
-    const __be32 *cell;
-    paddr_t pbase, psize;
-    mfn_t smfn;
-    int length;
-
-    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
-    {
-        printk(XENLOG_ERR
-               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
-        goto fail;
-    }
-    reg_cells = addr_cells + size_cells;
-    nr_banks = length / (reg_cells * sizeof(u32));
-
-    if ( nr_banks > NR_MEM_BANKS )
-    {
-        printk(XENLOG_ERR
-               "%pd: exceed max number of supported guest memory banks.\n", d);
-        goto fail;
-    }
-
-    for ( ; bank < nr_banks; bank++ )
-    {
-        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
-                                          &pbase, &psize);
-        if ( mfn_eq(smfn, INVALID_MFN) )
-            goto fail;
-
-        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
-               d, bank, pbase, pbase + psize);
-
-        /* One guest memory bank is matched with one physical memory bank. */
-        kinfo->mem.bank[bank].start = pbase;
-        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
-                                           smfn, psize) )
-            goto fail;
-
-        kinfo->unassigned_mem -= psize;
-    }
-
-    kinfo->mem.nr_banks = nr_banks;
-
-    /*
-     * The property 'memory' should match the amount of memory given to
-     * the guest.
-     * Currently, it is only possible to either acquire static memory or
-     * let Xen allocate. *Mixing* is not supported.
-     */
-    if ( kinfo->unassigned_mem != 0 )
-    {
-        printk(XENLOG_ERR
-               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
-        goto fail;
-    }
-
-    return;
-
- fail:
-    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
-          d);
-}
-
-#ifdef CONFIG_STATIC_SHM
-static int __init acquire_nr_borrower_domain(struct domain *d,
-                                             paddr_t pbase, paddr_t psize,
-                                             unsigned long *nr_borrowers)
-{
-    unsigned int bank;
-
-    /* Iterate reserved memory to find requested shm bank. */
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
-        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
-
-        if ( (pbase == bank_start) && (psize == bank_size) )
-            break;
-    }
-
-    if ( bank == bootinfo.reserved_mem.nr_banks )
-        return -ENOENT;
-
-    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
-
-    return 0;
-}
-
-/*
- * 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;
-    struct domain *d;
-
-    page = maddr_to_page(pbase);
-    d = page_get_owner_and_reference(page);
-    if ( d == NULL )
-        return false;
-    put_page(page);
-
-    if ( d != dom_io )
-    {
-        printk(XENLOG_ERR
-               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
-               d);
-        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);
-        d->max_pages -= nr_pfns;
-        return INVALID_MFN;
-    }
-
-    return smfn;
-}
-
-static int __init assign_shared_memory(struct domain *d,
-                                       uint32_t addr_cells, uint32_t size_cells,
-                                       paddr_t pbase, paddr_t psize,
-                                       paddr_t gbase)
-{
-    mfn_t smfn;
-    int ret = 0;
-    unsigned long nr_pages, nr_borrowers, i;
-    struct page_info *page;
-
-    printk("%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 not auto-translated (i.e. it sees RAM 1:1). So we do not need
-     * to create mapping in the P2M.
-     */
-    nr_pages = PFN_DOWN(psize);
-    if ( d != dom_io )
-    {
-        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
-                                      PFN_DOWN(psize));
-        if ( ret )
-        {
-            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
-            return ret;
-        }
-    }
-
-    /*
-     * Get the right amount of references per page, which is the number of
-     * borrower domains.
-     */
-    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
-    if ( ret )
-        return ret;
-
-    /*
-     * Instead of letting borrower domain get a page ref, we add as many
-     * additional reference as the number of borrowers when the owner
-     * is allocated, since there is a chance that owner is created
-     * after borrower.
-     * So if the borrower is created first, it will cause adding pages
-     * in the P2M without reference.
-     */
-    page = mfn_to_page(smfn);
-    for ( i = 0; i < nr_pages; i++ )
-    {
-        if ( !get_page_nr(page + i, d, nr_borrowers) )
-        {
-            printk(XENLOG_ERR
-                   "Failed to add %lu references to page %"PRI_mfn".\n",
-                   nr_borrowers, mfn_x(smfn) + i);
-            goto fail;
-        }
-    }
-
-    return 0;
-
- fail:
-    while ( --i >= 0 )
-        put_page_nr(page + i, nr_borrowers);
-    return ret;
-}
-
-static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
-                                            paddr_t start, paddr_t size,
-                                            const char *shm_id)
-{
-    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
-        return -ENOMEM;
-
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
-    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
-    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
-    kinfo->shm_mem.nr_banks++;
-
-    return 0;
-}
-
-int __init process_shm(struct domain *d, struct kernel_info *kinfo,
-                       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;
-        const char *role_str;
-        const char *shm_id;
-        bool owner_dom_io = true;
-
-        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
-            continue;
-
-        /*
-         * xen,shared-mem = <pbase, gbase, size>;
-         * 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);
-        BUG_ON(!prop);
-        cells = (const __be32 *)prop->value;
-        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
-        psize = dt_read_paddr(cells, size_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;
-            }
-
-        /*
-         * "role" property is optional and if it is defined explicitly,
-         * then the owner domain is not the default "dom_io" domain.
-         */
-        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
-            owner_dom_io = false;
-
-        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
-        {
-            printk("%pd: invalid \"xen,shm-id\" property", d);
-            return -EINVAL;
-        }
-        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
-
-        /*
-         * 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 ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
-             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
-        {
-            /*
-             * We found the first borrower of the region, the owner was not
-             * specified, so they should be assigned to dom_io.
-             */
-            ret = assign_shared_memory(owner_dom_io ? dom_io : d,
-                                       addr_cells, size_cells,
-                                       pbase, psize, gbase);
-            if ( ret )
-                return ret;
-        }
-
-        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
-        {
-            /* Set up P2M foreign mapping for borrower domain. */
-            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
-                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
-            if ( ret )
-                return ret;
-        }
-
-        /*
-         * Record static shared memory region info for later setting
-         * up shm-node in guest device tree.
-         */
-        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
-        if ( ret )
-            return ret;
-    }
-
-    return 0;
-}
-#endif /* CONFIG_STATIC_SHM */
-#endif
-
 /*
  * When PCI passthrough is available we want to keep the
  * "linux,pci-domain" in sync for every host bridge.
@@ -1337,125 +811,6 @@ int __init make_memory_node(const struct domain *d,
     return res;
 }
 
-#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;
-        const char compat[] = "xen,shared-memory-v1";
-        /* Worst case addrcells + sizecells */
-        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
-        __be32 *cells;
-        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
-
-        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
-        if ( res )
-            return res;
-
-        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
-        if ( res )
-            return res;
-
-        cells = reg;
-        dt_child_set_range(&cells, addrcells, sizecells, start, size);
-
-        res = fdt_property(fdt, "reg", reg, len);
-        if ( res )
-            return res;
-
-        dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
-                   i, start, start + size);
-
-        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
-        if ( res )
-            return res;
-
-        /*
-         * TODO:
-         * - xen,offset: (borrower VMs only)
-         *   64 bit integer offset within the owner virtual machine's shared
-         *   memory region used for the mapping in the borrower VM
-         */
-        res = fdt_property_u64(fdt, "xen,offset", 0);
-        if ( res )
-            return res;
-
-        res = fdt_end_node(fdt);
-        if ( res )
-            return res;
-    }
-
-    return res;
-}
-#else
-static int __init make_shm_memory_node(const struct domain *d,
-                                       void *fdt,
-                                       int addrcells, int sizecells,
-                                       const struct meminfo *mem)
-{
-    ASSERT_UNREACHABLE();
-    return -EOPNOTSUPP;
-}
-#endif
-
-int __init make_resv_memory_node(const struct domain *d,
-                                 void *fdt,
-                                 int addrcells, int sizecells,
-                                 const struct meminfo *mem)
-{
-    int res = 0;
-    /* Placeholder for reserved-memory\0 */
-    const char resvbuf[16] = "reserved-memory";
-
-    if ( mem->nr_banks == 0 )
-        /* No shared memory provided. */
-        return 0;
-
-    dt_dprintk("Create reserved-memory node\n");
-
-    res = fdt_begin_node(fdt, resvbuf);
-    if ( res )
-        return res;
-
-    res = fdt_property(fdt, "ranges", NULL, 0);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#address-cells", addrcells);
-    if ( res )
-        return res;
-
-    res = fdt_property_cell(fdt, "#size-cells", sizecells);
-    if ( res )
-        return res;
-
-    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
-    if ( res )
-        return res;
-
-    res = fdt_end_node(fdt);
-
-    return res;
-}
-
 static int __init add_ext_regions(unsigned long s_gfn, unsigned long e_gfn,
                                   void *data)
 {
@@ -2828,9 +2183,6 @@ static int __init construct_dom0(struct domain *d)
 {
     struct kernel_info kinfo = {};
     int rc;
-#ifdef CONFIG_STATIC_SHM
-    const struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
-#endif
 
     /* Sanity! */
     BUG_ON(d->domain_id != 0);
@@ -2865,11 +2217,9 @@ static int __init construct_dom0(struct domain *d)
     allocate_memory_11(d, &kinfo);
     find_gnttab_region(d, &kinfo);
 
-#ifdef CONFIG_STATIC_SHM
-    rc = process_shm(d, &kinfo, chosen);
+    rc = process_shm_chosen(d, &kinfo);
     if ( rc < 0 )
         return rc;
-#endif
 
     /* Map extra GIC MMIO, irqs and other hw stuffs to dom0. */
     rc = gic_map_hwdom_extra_mappings(d);
diff --git a/xen/arch/arm/include/asm/domain_build.h b/xen/arch/arm/include/asm/domain_build.h
index b9ae0d170c5c..da9e6025f37c 100644
--- a/xen/arch/arm/include/asm/domain_build.h
+++ b/xen/arch/arm/include/asm/domain_build.h
@@ -10,8 +10,6 @@ bool allocate_bank_memory(struct domain *d, struct kernel_info *kinfo,
                           gfn_t sgfn, paddr_t tot_size);
 int construct_domain(struct domain *d, struct kernel_info *kinfo);
 int domain_fdt_begin_node(void *fdt, const char *name, uint64_t unit);
-int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
-                          int sizecells, const struct meminfo *mem);
 int make_chosen_node(const struct kernel_info *kinfo);
 int make_cpus_node(const struct domain *d, void *fdt);
 int make_hypervisor_node(struct domain *d, const struct kernel_info *kinfo,
@@ -42,9 +40,6 @@ int handle_device_interrupts(struct domain *d, struct dt_device_node *dev,
 void set_interrupt(gic_interrupt_t interrupt, unsigned int irq,
                    unsigned int cpumask, unsigned int level);
 
-int process_shm(struct domain *d, struct kernel_info *kinfo,
-                const struct dt_device_node *node);
-
 #ifndef CONFIG_ACPI
 static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 {
@@ -56,27 +51,6 @@ static inline int prepare_acpi(struct domain *d, struct kernel_info *kinfo)
 int prepare_acpi(struct domain *d, struct kernel_info *kinfo);
 #endif
 
-#ifdef CONFIG_STATIC_MEMORY
-void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
-                            const struct dt_device_node *node);
-void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
-                             const struct dt_device_node *node);
-#else
-static inline void allocate_static_memory(struct domain *d,
-                                          struct kernel_info *kinfo,
-                                          const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-
-static inline void assign_static_memory_11(struct domain *d,
-                                           struct kernel_info *kinfo,
-                                           const struct dt_device_node *node)
-{
-    ASSERT_UNREACHABLE();
-}
-#endif
-
 #endif
 
 /*
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index 6d670d68aed3..bda3c07b8797 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -160,7 +160,6 @@ struct bootcmdline * boot_cmdline_find_by_name(const char *name);
 const char *boot_module_kind_as_string(bootmodule_kind kind);
 
 void init_pdx(void);
-void init_staticmem_pages(void);
 void populate_boot_allocator(void);
 void setup_mm(void);
 
diff --git a/xen/arch/arm/include/asm/static-memory.h b/xen/arch/arm/include/asm/static-memory.h
new file mode 100644
index 000000000000..3e3efd70c38d
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-memory.h
@@ -0,0 +1,45 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_STATIC_MEMORY_H_
+#define __ASM_STATIC_MEMORY_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_MEMORY
+
+void allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                            const struct dt_device_node *node);
+void assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                             const struct dt_device_node *node);
+void init_staticmem_pages(void);
+
+#else /* !CONFIG_STATIC_MEMORY */
+
+static inline void allocate_static_memory(struct domain *d,
+                                          struct kernel_info *kinfo,
+                                          const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void assign_static_memory_11(struct domain *d,
+                                           struct kernel_info *kinfo,
+                                           const struct dt_device_node *node)
+{
+    ASSERT_UNREACHABLE();
+}
+
+static inline void init_staticmem_pages(void) {};
+
+#endif /* CONFIG_STATIC_MEMORY */
+
+#endif /* __ASM_STATIC_MEMORY_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/include/asm/static-shmem.h b/xen/arch/arm/include/asm/static-shmem.h
new file mode 100644
index 000000000000..1536ff18b895
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-shmem.h
@@ -0,0 +1,66 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_STATIC_SHMEM_H_
+#define __ASM_STATIC_SHMEM_H_
+
+#include <asm/kernel.h>
+
+#ifdef CONFIG_STATIC_SHM
+
+int make_resv_memory_node(const struct domain *d, void *fdt, int addrcells,
+                          int sizecells, const struct meminfo *mem);
+
+int process_shm(struct domain *d, struct kernel_info *kinfo,
+                const struct dt_device_node *node);
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    const struct dt_device_node *node = dt_find_node_by_path("/chosen");
+
+    return process_shm(d, kinfo, node);
+}
+
+int process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                     uint32_t size_cells);
+
+#else /* !CONFIG_STATIC_SHM */
+
+static inline int make_resv_memory_node(const struct domain *d, void *fdt,
+                                        int addrcells, int sizecells,
+                                        const struct meminfo *mem)
+{
+    return 0;
+}
+
+static inline int process_shm(struct domain *d, struct kernel_info *kinfo,
+                              const struct dt_device_node *node)
+{
+    return 0;
+}
+
+static inline int process_shm_chosen(struct domain *d,
+                                     struct kernel_info *kinfo)
+{
+    return 0;
+}
+
+static inline int process_shm_node(const void *fdt, int node,
+                                   uint32_t address_cells, uint32_t size_cells)
+{
+    printk("CONFIG_STATIC_SHM must be enabled for parsing static shared memory nodes\n");
+    return -EINVAL;
+}
+
+#endif /* CONFIG_STATIC_SHM */
+
+#endif /* __ASM_STATIC_SHMEM_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index 3f1081bed2e2..d2a47416e462 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -621,30 +621,6 @@ void __init init_pdx(void)
     }
 }
 
-/* Static memory initialization */
-void __init init_staticmem_pages(void)
-{
-#ifdef CONFIG_STATIC_MEMORY
-    unsigned int bank;
-
-    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
-    {
-        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
-        {
-            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
-            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
-            mfn_t bank_end = mfn_add(bank_start, bank_pages);
-
-            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
-                return;
-
-            unprepare_staticmem_pages(mfn_to_page(bank_start),
-                                      bank_pages, false);
-        }
-    }
-#endif
-}
-
 /*
  * Populate the boot allocator.
  * If a static heap was not provided by the admin, all the RAM but the
diff --git a/xen/arch/arm/static-memory.c b/xen/arch/arm/static-memory.c
new file mode 100644
index 000000000000..cffbab7241b7
--- /dev/null
+++ b/xen/arch/arm/static-memory.c
@@ -0,0 +1,287 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/sched.h>
+
+#include <asm/static-memory.h>
+
+static bool __init append_static_memory_to_bank(struct domain *d,
+                                                struct membank *bank,
+                                                mfn_t smfn,
+                                                paddr_t size)
+{
+    int res;
+    unsigned int nr_pages = PFN_DOWN(size);
+    gfn_t sgfn;
+
+    /*
+     * For direct-mapped domain, the GFN match the MFN.
+     * Otherwise, this is inferred on what has already been allocated
+     * in the bank.
+     */
+    if ( !is_domain_direct_mapped(d) )
+        sgfn = gaddr_to_gfn(bank->start + bank->size);
+    else
+        sgfn = gaddr_to_gfn(mfn_to_maddr(smfn));
+
+    res = guest_physmap_add_pages(d, sgfn, smfn, nr_pages);
+    if ( res )
+    {
+        dprintk(XENLOG_ERR, "Failed to map pages to DOMU: %d", res);
+        return false;
+    }
+
+    bank->size = bank->size + size;
+
+    return true;
+}
+
+static mfn_t __init acquire_static_memory_bank(struct domain *d,
+                                               const __be32 **cell,
+                                               u32 addr_cells, u32 size_cells,
+                                               paddr_t *pbase, paddr_t *psize)
+{
+    mfn_t smfn;
+    int res;
+
+    device_tree_get_reg(cell, addr_cells, size_cells, pbase, psize);
+    ASSERT(IS_ALIGNED(*pbase, PAGE_SIZE) && IS_ALIGNED(*psize, PAGE_SIZE));
+    if ( PFN_DOWN(*psize) > UINT_MAX )
+    {
+        printk(XENLOG_ERR "%pd: static memory size too large: %#"PRIpaddr,
+               d, *psize);
+        return INVALID_MFN;
+    }
+
+    smfn = maddr_to_mfn(*pbase);
+    res = acquire_domstatic_pages(d, smfn, PFN_DOWN(*psize), 0);
+    if ( res )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to acquire static memory: %d.\n", d, res);
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init parse_static_mem_prop(const struct dt_device_node *node,
+                                        u32 *addr_cells, u32 *size_cells,
+                                        int *length, const __be32 **cell)
+{
+    const struct dt_property *prop;
+
+    prop = dt_find_property(node, "xen,static-mem", NULL);
+
+    *addr_cells = dt_n_addr_cells(node);
+    *size_cells = dt_n_size_cells(node);
+
+    *cell = (const __be32 *)prop->value;
+    *length = prop->length;
+
+    return 0;
+}
+
+/* Allocate memory from static memory as RAM for one specific domain d. */
+void __init allocate_static_memory(struct domain *d, struct kernel_info *kinfo,
+                                   const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, gbank, bank = 0;
+    const uint64_t rambase[] = GUEST_RAM_BANK_BASES;
+    const uint64_t ramsize[] = GUEST_RAM_BANK_SIZES;
+    const __be32 *cell;
+    u64 tot_size = 0;
+    paddr_t pbase, psize, gsize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+        goto fail;
+    reg_cells = addr_cells + size_cells;
+
+    /*
+     * The static memory will be mapped in the guest at the usual guest memory
+     * addresses (GUEST_RAM0_BASE, GUEST_RAM1_BASE) defined by
+     * xen/include/public/arch-arm.h.
+     */
+    gbank = 0;
+    gsize = ramsize[gbank];
+    kinfo->mem.bank[gbank].start = rambase[gbank];
+    nr_banks = length / (reg_cells * sizeof (u32));
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        while ( 1 )
+        {
+            /* Map as much as possible the static range to the guest bank */
+            if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[gbank], smfn,
+                                               min(psize, gsize)) )
+                goto fail;
+
+            /*
+             * The current physical bank is fully mapped.
+             * Handle the next physical bank.
+             */
+            if ( gsize >= psize )
+            {
+                gsize = gsize - psize;
+                break;
+            }
+            /*
+             * When current guest bank is not enough to map, exhaust
+             * the current one and seek to the next.
+             * Before seeking to the next, check if we still have available
+             * guest bank.
+             */
+            else if ( (gbank + 1) >= GUEST_RAM_BANKS )
+            {
+                printk(XENLOG_ERR "Exhausted all possible guest banks.\n");
+                goto fail;
+            }
+            else
+            {
+                psize = psize - gsize;
+                smfn = mfn_add(smfn, gsize >> PAGE_SHIFT);
+                /* Update to the next guest bank. */
+                gbank++;
+                gsize = ramsize[gbank];
+                kinfo->mem.bank[gbank].start = rambase[gbank];
+            }
+        }
+
+        tot_size += psize;
+    }
+
+    kinfo->mem.nr_banks = ++gbank;
+
+    kinfo->unassigned_mem -= tot_size;
+    /*
+     * The property 'memory' should match the amount of memory given to the
+     * guest.
+     * Currently, it is only possible to either acquire static memory or let
+     * Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\". Unsupported configuration.\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to allocate requested static memory for domain %pd.\n", d);
+}
+
+/*
+ * Allocate static memory as RAM for one specific domain d.
+ * The static memory will be directly mapped in the guest(Guest Physical
+ * Address == Physical Address).
+ */
+void __init assign_static_memory_11(struct domain *d, struct kernel_info *kinfo,
+                                    const struct dt_device_node *node)
+{
+    u32 addr_cells, size_cells, reg_cells;
+    unsigned int nr_banks, bank = 0;
+    const __be32 *cell;
+    paddr_t pbase, psize;
+    mfn_t smfn;
+    int length;
+
+    if ( parse_static_mem_prop(node, &addr_cells, &size_cells, &length, &cell) )
+    {
+        printk(XENLOG_ERR
+               "%pd: failed to parse \"xen,static-mem\" property.\n", d);
+        goto fail;
+    }
+    reg_cells = addr_cells + size_cells;
+    nr_banks = length / (reg_cells * sizeof(u32));
+
+    if ( nr_banks > NR_MEM_BANKS )
+    {
+        printk(XENLOG_ERR
+               "%pd: exceed max number of supported guest memory banks.\n", d);
+        goto fail;
+    }
+
+    for ( ; bank < nr_banks; bank++ )
+    {
+        smfn = acquire_static_memory_bank(d, &cell, addr_cells, size_cells,
+                                          &pbase, &psize);
+        if ( mfn_eq(smfn, INVALID_MFN) )
+            goto fail;
+
+        printk(XENLOG_INFO "%pd: STATIC BANK[%u] %#"PRIpaddr"-%#"PRIpaddr"\n",
+               d, bank, pbase, pbase + psize);
+
+        /* One guest memory bank is matched with one physical memory bank. */
+        kinfo->mem.bank[bank].start = pbase;
+        if ( !append_static_memory_to_bank(d, &kinfo->mem.bank[bank],
+                                           smfn, psize) )
+            goto fail;
+
+        kinfo->unassigned_mem -= psize;
+    }
+
+    kinfo->mem.nr_banks = nr_banks;
+
+    /*
+     * The property 'memory' should match the amount of memory given to
+     * the guest.
+     * Currently, it is only possible to either acquire static memory or
+     * let Xen allocate. *Mixing* is not supported.
+     */
+    if ( kinfo->unassigned_mem != 0 )
+    {
+        printk(XENLOG_ERR
+               "Size of \"memory\" property doesn't match up with the sum-up of \"xen,static-mem\".\n");
+        goto fail;
+    }
+
+    return;
+
+ fail:
+    panic("Failed to assign requested static memory for direct-map domain %pd.\n",
+          d);
+}
+
+/* Static memory initialization */
+void __init init_staticmem_pages(void)
+{
+    unsigned int bank;
+
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        if ( bootinfo.reserved_mem.bank[bank].type == MEMBANK_STATIC_DOMAIN )
+        {
+            mfn_t bank_start = _mfn(PFN_UP(bootinfo.reserved_mem.bank[bank].start));
+            unsigned long bank_pages = PFN_DOWN(bootinfo.reserved_mem.bank[bank].size);
+            mfn_t bank_end = mfn_add(bank_start, bank_pages);
+
+            if ( mfn_x(bank_end) <= mfn_x(bank_start) )
+                return;
+
+            unprepare_staticmem_pages(mfn_to_page(bank_start),
+                                      bank_pages, false);
+        }
+    }
+}
+
+/*
+ * 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/static-shmem.c b/xen/arch/arm/static-shmem.c
new file mode 100644
index 000000000000..9097bc8b1511
--- /dev/null
+++ b/xen/arch/arm/static-shmem.c
@@ -0,0 +1,547 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/libfdt/libfdt.h>
+#include <xen/sched.h>
+
+#include <asm/domain_build.h>
+#include <asm/static-shmem.h>
+
+static int __init acquire_nr_borrower_domain(struct domain *d,
+                                             paddr_t pbase, paddr_t psize,
+                                             unsigned long *nr_borrowers)
+{
+    unsigned int bank;
+
+    /* Iterate reserved memory to find requested shm bank. */
+    for ( bank = 0 ; bank < bootinfo.reserved_mem.nr_banks; bank++ )
+    {
+        paddr_t bank_start = bootinfo.reserved_mem.bank[bank].start;
+        paddr_t bank_size = bootinfo.reserved_mem.bank[bank].size;
+
+        if ( (pbase == bank_start) && (psize == bank_size) )
+            break;
+    }
+
+    if ( bank == bootinfo.reserved_mem.nr_banks )
+        return -ENOENT;
+
+    *nr_borrowers = bootinfo.reserved_mem.bank[bank].nr_shm_borrowers;
+
+    return 0;
+}
+
+/*
+ * 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;
+    struct domain *d;
+
+    page = maddr_to_page(pbase);
+    d = page_get_owner_and_reference(page);
+    if ( d == NULL )
+        return false;
+    put_page(page);
+
+    if ( d != dom_io )
+    {
+        printk(XENLOG_ERR
+               "shm memory node has already been allocated to a specific owner %pd, Please check your configuration\n",
+               d);
+        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);
+        d->max_pages -= nr_pfns;
+        return INVALID_MFN;
+    }
+
+    return smfn;
+}
+
+static int __init assign_shared_memory(struct domain *d,
+                                       uint32_t addr_cells, uint32_t size_cells,
+                                       paddr_t pbase, paddr_t psize,
+                                       paddr_t gbase)
+{
+    mfn_t smfn;
+    int ret = 0;
+    unsigned long nr_pages, nr_borrowers, i;
+    struct page_info *page;
+
+    printk("%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 not auto-translated (i.e. it sees RAM 1:1). So we do not need
+     * to create mapping in the P2M.
+     */
+    nr_pages = PFN_DOWN(psize);
+    if ( d != dom_io )
+    {
+        ret = guest_physmap_add_pages(d, gaddr_to_gfn(gbase), smfn,
+                                      PFN_DOWN(psize));
+        if ( ret )
+        {
+            printk(XENLOG_ERR "Failed to map shared memory to %pd.\n", d);
+            return ret;
+        }
+    }
+
+    /*
+     * Get the right amount of references per page, which is the number of
+     * borrower domains.
+     */
+    ret = acquire_nr_borrower_domain(d, pbase, psize, &nr_borrowers);
+    if ( ret )
+        return ret;
+
+    /*
+     * Instead of letting borrower domain get a page ref, we add as many
+     * additional reference as the number of borrowers when the owner
+     * is allocated, since there is a chance that owner is created
+     * after borrower.
+     * So if the borrower is created first, it will cause adding pages
+     * in the P2M without reference.
+     */
+    page = mfn_to_page(smfn);
+    for ( i = 0; i < nr_pages; i++ )
+    {
+        if ( !get_page_nr(page + i, d, nr_borrowers) )
+        {
+            printk(XENLOG_ERR
+                   "Failed to add %lu references to page %"PRI_mfn".\n",
+                   nr_borrowers, mfn_x(smfn) + i);
+            goto fail;
+        }
+    }
+
+    return 0;
+
+ fail:
+    while ( --i >= 0 )
+        put_page_nr(page + i, nr_borrowers);
+    return ret;
+}
+
+static int __init append_shm_bank_to_domain(struct kernel_info *kinfo,
+                                            paddr_t start, paddr_t size,
+                                            const char *shm_id)
+{
+    if ( kinfo->shm_mem.nr_banks >= NR_MEM_BANKS )
+        return -ENOMEM;
+
+    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].start = start;
+    kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].size = size;
+    safe_strcpy(kinfo->shm_mem.bank[kinfo->shm_mem.nr_banks].shm_id, shm_id);
+    kinfo->shm_mem.nr_banks++;
+
+    return 0;
+}
+
+int __init process_shm(struct domain *d, struct kernel_info *kinfo,
+                       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;
+        const char *role_str;
+        const char *shm_id;
+        bool owner_dom_io = true;
+
+        if ( !dt_device_is_compatible(shm_node, "xen,domain-shared-memory-v1") )
+            continue;
+
+        /*
+         * xen,shared-mem = <pbase, gbase, size>;
+         * 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);
+        BUG_ON(!prop);
+        cells = (const __be32 *)prop->value;
+        device_tree_get_reg(&cells, addr_cells, addr_cells, &pbase, &gbase);
+        psize = dt_read_paddr(cells, size_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;
+            }
+
+        /*
+         * "role" property is optional and if it is defined explicitly,
+         * then the owner domain is not the default "dom_io" domain.
+         */
+        if ( dt_property_read_string(shm_node, "role", &role_str) == 0 )
+            owner_dom_io = false;
+
+        if ( dt_property_read_string(shm_node, "xen,shm-id", &shm_id) )
+        {
+            printk("%pd: invalid \"xen,shm-id\" property", d);
+            return -EINVAL;
+        }
+        BUG_ON((strlen(shm_id) <= 0) || (strlen(shm_id) >= MAX_SHM_ID_LENGTH));
+
+        /*
+         * 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 ( (owner_dom_io && !is_shm_allocated_to_domio(pbase)) ||
+             (!owner_dom_io && strcmp(role_str, "owner") == 0) )
+        {
+            /*
+             * We found the first borrower of the region, the owner was not
+             * specified, so they should be assigned to dom_io.
+             */
+            ret = assign_shared_memory(owner_dom_io ? dom_io : d,
+                                       addr_cells, size_cells,
+                                       pbase, psize, gbase);
+            if ( ret )
+                return ret;
+        }
+
+        if ( owner_dom_io || (strcmp(role_str, "borrower") == 0) )
+        {
+            /* Set up P2M foreign mapping for borrower domain. */
+            ret = map_regions_p2mt(d, _gfn(PFN_UP(gbase)), PFN_DOWN(psize),
+                                   _mfn(PFN_UP(pbase)), p2m_map_foreign_rw);
+            if ( ret )
+                return ret;
+        }
+
+        /*
+         * Record static shared memory region info for later setting
+         * up shm-node in guest device tree.
+         */
+        ret = append_shm_bank_to_domain(kinfo, gbase, psize, shm_id);
+        if ( ret )
+            return ret;
+    }
+
+    return 0;
+}
+
+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;
+        const char compat[] = "xen,shared-memory-v1";
+        /* Worst case addrcells + sizecells */
+        __be32 reg[GUEST_ROOT_ADDRESS_CELLS + GUEST_ROOT_SIZE_CELLS];
+        __be32 *cells;
+        unsigned int len = (addrcells + sizecells) * sizeof(__be32);
+
+        res = domain_fdt_begin_node(fdt, "xen-shmem", mem->bank[i].start);
+        if ( res )
+            return res;
+
+        res = fdt_property(fdt, "compatible", compat, sizeof(compat));
+        if ( res )
+            return res;
+
+        cells = reg;
+        dt_child_set_range(&cells, addrcells, sizecells, start, size);
+
+        res = fdt_property(fdt, "reg", reg, len);
+        if ( res )
+            return res;
+
+        dt_dprintk("Shared memory bank %u: %#"PRIx64"->%#"PRIx64"\n",
+                   i, start, start + size);
+
+        res = fdt_property_string(fdt, "xen,id", mem->bank[i].shm_id);
+        if ( res )
+            return res;
+
+        /*
+         * TODO:
+         * - xen,offset: (borrower VMs only)
+         *   64 bit integer offset within the owner virtual machine's shared
+         *   memory region used for the mapping in the borrower VM
+         */
+        res = fdt_property_u64(fdt, "xen,offset", 0);
+        if ( res )
+            return res;
+
+        res = fdt_end_node(fdt);
+        if ( res )
+            return res;
+    }
+
+    return res;
+}
+
+int __init process_shm_node(const void *fdt, int node, uint32_t address_cells,
+                            uint32_t size_cells)
+{
+    const struct fdt_property *prop, *prop_id, *prop_role;
+    const __be32 *cell;
+    paddr_t paddr, gaddr, 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 %u characters\n",
+               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, gaddr, size>;
+     * 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) )
+    {
+        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, address_cells, &paddr, &gaddr);
+    size = dt_next_cell(size_cells, &cell);
+
+    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;
+
+            if ( (end <= paddr) || (bank_end <= mem->bank[i].start) )
+            {
+                printk("fdt: static shared memory region %s overflow\n", shm_id);
+                return -EINVAL;
+            }
+
+            if ( check_reserved_regions_overlap(paddr, size) )
+                return -EINVAL;
+            else
+            {
+                if ( strcmp(shm_id, mem->bank[i].shm_id) != 0 )
+                    continue;
+                else
+                {
+                    printk("fdt: different shared memory region could not share the same shm ID %s\n",
+                           shm_id);
+                    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].type = MEMBANK_STATIC_DOMAIN;
+            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;
+}
+
+int __init make_resv_memory_node(const struct domain *d, void *fdt,
+                                 int addrcells, int sizecells,
+                                 const struct meminfo *mem)
+{
+    int res = 0;
+    /* Placeholder for reserved-memory\0 */
+    const char resvbuf[16] = "reserved-memory";
+
+    if ( mem->nr_banks == 0 )
+        /* No shared memory provided. */
+        return 0;
+
+    dt_dprintk("Create reserved-memory node\n");
+
+    res = fdt_begin_node(fdt, resvbuf);
+    if ( res )
+        return res;
+
+    res = fdt_property(fdt, "ranges", NULL, 0);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#address-cells", addrcells);
+    if ( res )
+        return res;
+
+    res = fdt_property_cell(fdt, "#size-cells", sizecells);
+    if ( res )
+        return res;
+
+    res = make_shm_memory_node(d, fdt, addrcells, sizecells, mem);
+    if ( res )
+        return res;
+
+    res = fdt_end_node(fdt);
+
+    return res;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 09:59:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 09:59:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640360.998383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6SyH-0007nC-6k; Fri, 24 Nov 2023 09:59:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640360.998383; Fri, 24 Nov 2023 09: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 1r6SyH-0007n5-3Q; Fri, 24 Nov 2023 09:59:37 +0000
Received: by outflank-mailman (input) for mailman id 640360;
 Fri, 24 Nov 2023 09: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=Vqky=HF=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r6SyF-0007mz-K1
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 09:59:35 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2abe1532-8ab0-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 10:59:33 +0100 (CET)
Received: from AM0PR10CA0127.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:208:e6::44)
 by AS2PR08MB9152.eurprd08.prod.outlook.com (2603:10a6:20b:578::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 09:59:30 +0000
Received: from AM4PEPF00027A67.eurprd04.prod.outlook.com
 (2603:10a6:208:e6:cafe::41) by AM0PR10CA0127.outlook.office365.com
 (2603:10a6:208:e6::44) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend
 Transport; Fri, 24 Nov 2023 09:59:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A67.mail.protection.outlook.com (10.167.16.84) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 09:59:30 +0000
Received: ("Tessian outbound 385ad2f98d71:v228");
 Fri, 24 Nov 2023 09:59:29 +0000
Received: from 2403c3193a79.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D362C038-C499-454C-A02D-0E026B38F89E.1; 
 Fri, 24 Nov 2023 09:59:23 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 2403c3193a79.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 24 Nov 2023 09:59:23 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAXPR08MB6717.eurprd08.prod.outlook.com (2603:10a6:102:131::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 09:59:21 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.021; Fri, 24 Nov 2023
 09: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: 2abe1532-8ab0-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=AXTZcTxSofkX4N3cKcRMRB34zW9WEGsOsuwTU5orqami0QA3AXiHwQFAwzQuYRZmD5bCBK6q32RSlQb2IdNgQ6weThWMHo+/fpXDzrq5CA7PET1V4J5ZvKrQRR04GNcyrogk5GxvV8KM9Pt/ydkg2pbde1rUGr35KpDb4W68ir9/Juwga9UW9bwBZB6vWMGaji+DnwnnG/o5aR0hWIyOOAcJmj/zBFZeL/embiPKtz3OW49dEnK+gY8MM8O9vSuf7B96WhYHKV6EvIQcu+bsuDbnpu85T31hwQ1PU6mID9iW2gPYM09CKLEj5vyyhdiBKrp3Du4x1nFOlVcGFjtXwg==
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=5+qYxLRxcr2jeGg6gjBYhvlFUVf6lgJtvM6EpGH6eZk=;
 b=jPlOZdxsDn6j+96/sydMbL0yEuaC7ZIVT9FV9KCwYZ/aewfYNWpM1/BIKlbqE/DMzVIpSWodtW7xhG0zemDMM2dRapVDT32tuMeVCfpiPoxOBSpEQ1vHG7NTkIL+sNpowldnWKZZznOO96wmCDbR4D51RJLvNI2kZ6jjM3WcNsg2HfzOkLjlPp6M/4EwqrZlkKcXiB3EpffglkYSK0Hpamd7bwiqjdtvRZpANT9R2YbUP/2JUE3RAfpFkwzxjHbXzp31x+N/2uFmMxczGnvQRgIXcJtkkTFRgKJb/0EZ+2OjCt1yCIl9i6L3IHT6iH5NJC89gHH74wnzMeUN5fNJiw==
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=5+qYxLRxcr2jeGg6gjBYhvlFUVf6lgJtvM6EpGH6eZk=;
 b=PBwl8G6FzcaHLQ5BHrnjz4Bg/EMbl2EHMW/ffRtzHFAl31PgKOIENzFTUCQp2Am0ofp4H2Z3rON9p9N3TPBLEf7qdqjpPD1Ge2U5jtlLrcpwZn5SluGSq+6iYWsihWmxdLmoMzMC/tlSQhH/qZhgjQ1PHWhpIZKrVgttSmLopUE=
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: b2d1ff72ed91b03f
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mchgnW4ffR9WfAw5Eh1wGjhEBxCvZ6jZqEL03+urPoWgdZgYS/zUgzY7ZMQvw01lQFQ1/pFJVm4WFyEKJMB9XmUjbO7DSuuq8SUdROSsqzDMUrLM2JiivPvA61a/8BwQwNQHxe/Z5E7AUvsX3qNQ8mSiIA8LmQBmBwf9pFViBKWfvRkzy0gV9VqDmpWQ/JyoxqVGHSBFUOfmmBp0sBVlv+jsQziWQITYs3+QABnHyGh8b8OgQye8Qd66Tc2JDlgNmXyTrdFAV9BkhO5QiiftSkE1sEdZrBIINWzRt5cC/D5UsGz4WGhLzMeO9FYErqaFQOQ+qaGXFd47ZApZlYBOJA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5+qYxLRxcr2jeGg6gjBYhvlFUVf6lgJtvM6EpGH6eZk=;
 b=ifMRwIEUVuHUMciTIlCSy5XiomoCYSMmWUTLhADp9UmY6ItwBjgznpTr2SGE4lOcEtn09mfyCQV8yG9IRzRXhYlCbArVOyfH+TrlOv84PgkP07wDdSRTc0nZ5jb1OQRRoZOUW7S/GtdpD1QFFGeH2e0zhAYiRA0QtfqqbZuUblZYFybsgk4IscE7Hzwc4DBxWnAT3SbQ7bkgL01D2TC9DBL/r80quq8AktBYTisQPHaiht9MEYHqPGOG9ki3Bgxq0GBq0qDvI7sKlDfMOU1W7UTbQcMhM4H4sw02hsa4NwGLRF3dn2IzrCy0k00/oAu0nhgGkSb3iNByiewBJlyTQw==
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=5+qYxLRxcr2jeGg6gjBYhvlFUVf6lgJtvM6EpGH6eZk=;
 b=PBwl8G6FzcaHLQ5BHrnjz4Bg/EMbl2EHMW/ffRtzHFAl31PgKOIENzFTUCQp2Am0ofp4H2Z3rON9p9N3TPBLEf7qdqjpPD1Ge2U5jtlLrcpwZn5SluGSq+6iYWsihWmxdLmoMzMC/tlSQhH/qZhgjQ1PHWhpIZKrVgttSmLopUE=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	"michal.orzel@amd.com" <michal.orzel@amd.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 v6 0/5] Fine granular configuration
Thread-Topic: [PATCH v6 0/5] Fine granular configuration
Thread-Index: AQHaHruBt1jR61BwukqrbWb7AIYNFrCJPEYA
Date: Fri, 24 Nov 2023 09:59:21 +0000
Message-ID: <E9D1FA66-DB03-4F52-9312-DD34FA916367@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
In-Reply-To: <20231124094841.1475381-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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAXPR08MB6717:EE_|AM4PEPF00027A67:EE_|AS2PR08MB9152:EE_
X-MS-Office365-Filtering-Correlation-Id: 50c3d0e9-6ad9-4c3e-5814-08dbecd40d3e
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:
 /dsC6QVW4S8oekkq7hTv3VHaSOShRp135Tq38rrCRYtfd5pHJriv5JxbfE4i5rIzg1kcxQtgELzco6rsWLzlp8hL/pPmHz57H7p/ml07DiS7oTSW16Gj338uAI57yNWc3mSrrupoUiW2eCEmmyzOiDUTw91hnQuQ/7pdeI5Fa9H2/PzxWFTL/Jiip90PKcsQXPlN5Zcmmzdq1p+i9yz9AXxrT5TS+qNQ2py1pWvneZzcDSm7DhPFrZ7wtJcDbvMRub3hvLtkC2y/fQjeoJUr1HVaDPduxy4f9ZJSZNYVb1kDYEyYrs6SXCIfV4Laqtj3unAWYLU1m+qZzTzNXlZZN6hOmlH3MFZQW9yrpa+CRC+2nwJHA8Vqcpz8Pfp8ruRWR2w/x1MsEyZrzaIuEg2Fkk2FEcoPwSKKSp4N7/CGRPOBV/zMF9ym4Fdwq8N/ZcFfbNzLCFriNFaSWv6zRo7QYRqvLgOU1ZzlPCAGiQL7eyLwEgYPt7jZhk+D70us0F5JVw/MAfJ+u74hfOBLvR4CxGJsoRtNflqwUNVP5XK8pxuhqYaj+d28bHwjsqU2Nn5Oa2PNl3xnRTG5Yq0lUlMg817J4HezZGjlUYZdw4Xtjngylwbf9lgvs381UkGn3gLAYA0AQaJanUtr4NQvGTeoMA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(396003)(366004)(39860400002)(136003)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(122000001)(83380400001)(6506007)(26005)(41300700001)(6512007)(2616005)(53546011)(38100700002)(36756003)(6486002)(478600001)(71200400001)(33656002)(6916009)(316002)(76116006)(66946007)(66556008)(66476007)(66446008)(54906003)(64756008)(91956017)(2906002)(8936002)(8676002)(4326008)(38070700009)(5660300002)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <E88DAEC7FADAA84784336ECFC1F66962@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6717
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:
 AM4PEPF00027A67.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	0e0fa6db-0604-40da-e79d-08dbecd407c8
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cmCzQo6U9KP+962KQAhi8tdaiAnwK4TemZVLRbBHZ6fkpJz0G5S+4FZnxOGc2rJknp+2PjPZ2lnfM8w4W22dut5usVVrvuM/cTmspI7xd9V7LK68bZHqFKrJjFxtrseCX7dii2nPcVp8dTxZbAnoBaNda5G4zONzG0x6wsY75aG4/c3WV6Bcmcpmj0+qwehdVywwArxfrY/Ah80IyHeTRA97FCI8h6xp4PIZ9a2YMl6rfrOOZ3LkJylOfCLeR5gpZP0Vg1IKRBEdCN3VdPsu25HVLw4T5mrHV3JQThGbXl1kkkIVmoWth0RDBkgkWbY9tJERyb9XMY6Nl902GAE4P8hIDIpYErYnhBjeDAKjZ6KzQwaTS7fT0XfHgV1YCeoGIm8yiuMJtF04v0A7pJwXegbzQ0eX1NDzQkBPZny9afB8dyPL4A1oIKf768jt4U+qIXS7LH9YW0fLcWZD4S6ztVDImbwWc2JkQwD5cB3dgEakMHdG6CJCivXjRFQAYuG6vG4pzxGOGKIB13pSTekBt0XCirrmIVnzNN8uGqusJcot8mLTNZMNVFCHKHpDnZNb2UJaTwi6kmvoqXm3Afc92frl+D7D89dYDi2lxlb9auCuNu4dzCV8oizsWGHaAGttFUSCD031TNREtVzNyzFvYLdZDODacVCb+Ch/JCsoW2BahXkO2AYLLsa6QI23nAM+CNGktnFCNH14lrjw3D6ht2JSoHBxiN2rAq5MMz2HrCumxzd5j6cXg1gEU9drZ9Xa
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:(13230031)(4636009)(396003)(376002)(136003)(39860400002)(346002)(230922051799003)(82310400011)(1800799012)(186009)(64100799003)(451199024)(46966006)(40470700004)(36840700001)(36756003)(36860700001)(2616005)(41300700001)(47076005)(356005)(26005)(40480700001)(53546011)(6512007)(81166007)(83380400001)(6506007)(336012)(82740400003)(40460700003)(478600001)(6486002)(33656002)(6916009)(316002)(70586007)(70206006)(54906003)(2906002)(8936002)(8676002)(4326008)(86362001)(5660300002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 09:59:30.1999
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 50c3d0e9-6ad9-4c3e-5814-08dbecd40d3e
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:
	AM4PEPF00027A67.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9152

+ CC Maintainers

> On 24 Nov 2023, at 09:48, Luca Fancellu <luca.fancellu@arm.com> wrote:
>=20
> This serie aims to add more modularity to some feature that can be exclud=
ed
> without issues from the build.
>=20
> The first patch is already reviewed.
>=20
> v2 update: So I've tried to see how to put the dom0less code in the commo=
n code,
> but the amount of modifications are not trivial, even putting only the co=
mmon
> part and protecting them with ARM, leaving the ARM specific stuff under a=
rch/
> like gic etc... will leave a status that is not very nice, so I've decide=
d for
> now to keep everything on the arm architecture so that who is going to wo=
rk
> on unifying the code in common can just take from there and do the proper
> rework.
>=20
> Luca Fancellu (5):
>  arm/gicv2: make GICv2 driver and vGICv2 optional
>  xen/arm: Add asm/domain.h include to kernel.h
>  arm/dom0less: put dom0less feature code in a separate module
>  xen/arm: Move static memory build code in separate modules
>  arm/dom0less: introduce Kconfig for dom0less feature
>=20
> xen/arch/arm/Kconfig                      |   27 +
> xen/arch/arm/Makefile                     |    7 +-
> xen/arch/arm/arm32/mmu/mm.c               |    1 +
> xen/arch/arm/arm64/mmu/mm.c               |    1 +
> xen/arch/arm/bootfdt.c                    |  161 +-
> xen/arch/arm/dom0less-build.c             | 1018 ++++++
> xen/arch/arm/domain_build.c               | 3591 ++++++---------------
> xen/arch/arm/efi/efi-boot.h               |    4 +
> xen/arch/arm/gic-v3.c                     |    4 +
> xen/arch/arm/include/asm/dom0less-build.h |   30 +
> xen/arch/arm/include/asm/domain_build.h   |   34 +
> xen/arch/arm/include/asm/kernel.h         |    1 +
> xen/arch/arm/include/asm/setup.h          |    2 -
> xen/arch/arm/include/asm/static-memory.h  |   45 +
> xen/arch/arm/include/asm/static-shmem.h   |   66 +
> xen/arch/arm/setup.c                      |   57 +-
> xen/arch/arm/static-memory.c              |  287 ++
> xen/arch/arm/static-shmem.c               |  547 ++++
> xen/arch/arm/vgic.c                       |    2 +
> xen/arch/arm/vgic/Makefile                |    4 +-
> xen/common/Kconfig                        |    2 +-
> 21 files changed, 3058 insertions(+), 2833 deletions(-)
> create mode 100644 xen/arch/arm/dom0less-build.c
> create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
> create mode 100644 xen/arch/arm/include/asm/static-memory.h
> create mode 100644 xen/arch/arm/include/asm/static-shmem.h
> create mode 100644 xen/arch/arm/static-memory.c
> create mode 100644 xen/arch/arm/static-shmem.c

I sent this serie forgetting about adding the maintainers, CC them
now.

Cheers,
Luca



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640369.998429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSv-0007Us-1V; Fri, 24 Nov 2023 10:31:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640369.998429; Fri, 24 Nov 2023 10: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 1r6TSu-0007U6-RO; Fri, 24 Nov 2023 10:31:16 +0000
Received: by outflank-mailman (input) for mailman id 640369;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSu-0006hx-08
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:16 +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 97f58903-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:14 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-9fa45e75ed9so246879666b.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:14 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 97f58903-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821874; x=1701426674; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=259RAC7XAfk5+EQfsx3xCtMTAgEy8wwM0yRzf9WWoaA=;
        b=aKHNYu/qxkSbDXsxWCCITzvNAJEi4hYcKO61aEpXotfKzf66kI7TPrTqHRSvKKkKL5
         9nyGzs38jGsWwSJs7ptSFXq7LwQIf2bwGDvP61zRgjPtZzeatr0KlifXgR3N9tbd1VYJ
         UgQTytyH3Myf87fFA/tNGARugSib6l0WEZLuJBfxCaOyZ36fsoKZAxgh8gQDKGsErIax
         8NiXYT9rluEX2sEBu+3AGtD6TGa3e7A02G+pZhH+idnV5kbRzC1X1+/MXWelERv/rp8d
         81aaQwmRfoaq3pS8NKoJwVNVgWCS1NcR96opyiNwigskJi0g3lO5lbHgnuIq9/LueV0U
         B92A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821874; x=1701426674;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=259RAC7XAfk5+EQfsx3xCtMTAgEy8wwM0yRzf9WWoaA=;
        b=jeq/Iy+sQ8rRK20gpaMm2WQ0Rn9zhja2Vt5jyQ+ZQKOc0jvL2w742KRmL1c0JnfgpA
         YuzOwb+GpyF0p5f9UMOKpnnTxuxGHYd9KIN7YFETCcoG1MpJWsR05a9oAmkujQG0VCu0
         4KjYJtatHFOlQWjYcQMPGxzWzs+stdbskwBq1uSjaBz1xKAJJ3Qr947gfTeEqTZ52tEf
         ZiqBFCYUcjFZ2jU9/bMp/TMj4ywnz7zs8FOMf/AWwLMosP/hFNsBd/erL3oYCcfPJvEw
         IPI29zi/rfRMYKrrn+J6f+5d/7YInbhk4kQJ2Lvqt7tK5W1q/M60Namzmgw04k0nHF6g
         4Vgg==
X-Gm-Message-State: AOJu0YzEqBY2wmRkTf3uB4d+vWLVaoPFdeQG7XE5CEAnHHttMdNMO4+B
	x8a2v8gj3OFFUwOHu+WG0S74pimBb93kaQ==
X-Google-Smtp-Source: AGHT+IHA03ZCeUzKsjh22ZiTY+iJkZin+9ClD55pQlGdxOHkJnKYQjRH1t4xFZpOJeqs9pUVqJukZQ==
X-Received: by 2002:a17:906:57ce:b0:a03:8ac8:a1e2 with SMTP id u14-20020a17090657ce00b00a038ac8a1e2mr1671981ejr.31.1700821873709;
        Fri, 24 Nov 2023 02:31:13 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 04/39] xen/riscv: add public arch-riscv.h
Date: Fri, 24 Nov 2023 12:30:24 +0200
Message-ID: <fc7bb0a821ce58ef908ed0282b6678d19269ffc1.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
    - align with arch-arm.h.
---

 xen/include/public/arch-riscv.h | 93 +++++++++++++++++++++++++++++++++
 xen/include/public/xen.h        |  2 +
 2 files changed, 95 insertions(+)
 create mode 100644 xen/include/public/arch-riscv.h

diff --git a/xen/include/public/arch-riscv.h b/xen/include/public/arch-riscv.h
new file mode 100644
index 0000000000..168263b920
--- /dev/null
+++ b/xen/include/public/arch-riscv.h
@@ -0,0 +1,93 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Guest OS interface to RISC-V Xen.
+ * Initially based on the ARM implementation.
+ */
+
+#ifndef __XEN_PUBLIC_ARCH_RISCV_H__
+#define __XEN_PUBLIC_ARCH_RISCV_H__
+
+#if defined(__XEN__) || defined(__XEN_TOOLS__) || defined(__GNUC__)
+#define  int64_aligned_t  int64_t __attribute__((__aligned__(8)))
+#define uint64_aligned_t uint64_t __attribute__((__aligned__(8)))
+#endif
+
+#ifndef __ASSEMBLY__
+#define ___DEFINE_XEN_GUEST_HANDLE(name, type)                  \
+    typedef union { type *p; unsigned long q; }                 \
+        __guest_handle_ ## name;                                \
+    typedef union { type *p; uint64_aligned_t q; }              \
+        __guest_handle_64_ ## name
+
+/*
+ * XEN_GUEST_HANDLE represents a guest pointer, when passed as a field
+ * in a struct in memory. On RISCV is always 8 bytes sizes and 8 bytes
+ * aligned.
+ * XEN_GUEST_HANDLE_PARAM represents a guest pointer, when passed as an
+ * hypercall argument. It is 4 bytes on riscv32 and 8 bytes on riscv64.
+ */
+#define __DEFINE_XEN_GUEST_HANDLE(name, type) \
+    ___DEFINE_XEN_GUEST_HANDLE(name, type);   \
+    ___DEFINE_XEN_GUEST_HANDLE(const_##name, const type)
+#define DEFINE_XEN_GUEST_HANDLE(name)   __DEFINE_XEN_GUEST_HANDLE(name, name)
+#define __XEN_GUEST_HANDLE(name)        __guest_handle_64_ ## name
+#define XEN_GUEST_HANDLE(name)          __XEN_GUEST_HANDLE(name)
+#define XEN_GUEST_HANDLE_PARAM(name)    __guest_handle_ ## name
+#define set_xen_guest_handle_raw(hnd, val)                  \
+    do {                                                    \
+        typeof(&(hnd)) sxghr_tmp_ = &(hnd);                 \
+        sxghr_tmp_->q = 0;                                  \
+        sxghr_tmp_->p = (val);                              \
+    } while ( 0 )
+#define set_xen_guest_handle(hnd, val) set_xen_guest_handle_raw(hnd, val)
+
+typedef uint64_t xen_pfn_t;
+#define PRI_xen_pfn PRIx64
+#define PRIu_xen_pfn PRIu64
+
+typedef uint64_t xen_ulong_t;
+#define PRI_xen_ulong PRIx64
+
+#if defined(__XEN__) || defined(__XEN_TOOLS__)
+
+struct vcpu_guest_context {
+};
+typedef struct vcpu_guest_context vcpu_guest_context_t;
+DEFINE_XEN_GUEST_HANDLE(vcpu_guest_context_t);
+
+struct xen_arch_domainconfig {
+};
+
+#endif
+
+/* TODO:  add a placeholder entry if no real ones surface */
+struct arch_vcpu_info {
+};
+typedef struct arch_vcpu_info arch_vcpu_info_t;
+
+/* TODO:  add a placeholder entry if no real ones surface */
+struct arch_shared_info {
+};
+typedef struct arch_shared_info arch_shared_info_t;
+
+/*
+ * Maximum number of virtual CPUs in legacy multi-processor guests.
+ * Only one. All other VCPUS must use VCPUOP_register_vcpu_info.
+ */
+#define XEN_LEGACY_MAX_VCPUS 1
+
+/* Stub definition of PMU structure */
+typedef struct xen_pmu_arch { uint8_t dummy; } xen_pmu_arch_t;
+#endif
+
+#endif /*  __XEN_PUBLIC_ARCH_RISCV_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/xen.h b/xen/include/public/xen.h
index b812a0a324..b47d48d0e2 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -18,6 +18,8 @@
 #include "arch-arm.h"
 #elif defined(__powerpc64__)
 #include "arch-ppc.h"
+#elif defined(__riscv)
+#include "arch-riscv.h"
 #else
 #error "Unsupported architecture"
 #endif
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640365.998393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSs-0006iM-LK; Fri, 24 Nov 2023 10:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640365.998393; Fri, 24 Nov 2023 10:31: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 1r6TSs-0006iF-Gp; Fri, 24 Nov 2023 10:31:14 +0000
Received: by outflank-mailman (input) for mailman id 640365;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSq-0006hx-VK
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:13 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 95d5cadb-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:10 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-54afe0fbde3so419400a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:10 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95d5cadb-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821869; x=1701426669; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=Gq30o0Xb1mNIk6XxRQvFCEj+byNN+EwOJBFvFc9B2j4=;
        b=ljtYClu4gnqMTQ8RNrnAxZKcvLmlRO1Gfjh95BtG8kKNgBVIM2dWq94ZeJ3OUpySti
         WeUMMKtqyOPjCzJJ824ep2gnbENnDeB3nNp6lOiyCTq6Y+IAWF5hb+N/AhwmUa19xunk
         mrVSFWtgyI75ey91RluS/aevOxYA4UA0OME0FF28dh/iZl5FbBYpB+cvpGnhYUgDR2YH
         RZRgjmwpRdg82Z55gwPIyB7U8wtqBJ27Z4Y0sYb6ge0GXA+AbpCTDhh7L8ZWnLQRea3M
         2yY4DHB/svNMx3PDjMaTMq4xL8SKDwwYr0J0I7QOi1NxSGjVmdznO35t47fiYmRP65pq
         QSLQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821869; x=1701426669;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=Gq30o0Xb1mNIk6XxRQvFCEj+byNN+EwOJBFvFc9B2j4=;
        b=cMwrvCk7iXhGWmot8Vkw3VFJjO0Xr0bv254effXIXAXAC8HBdTLnyO6YxLfS7e35Ah
         25axDGZdmzrq62AgXpc9Kiys32YtMNw0k2nMnO68ijuEz5UiFqpXTgKb48V7J1JY5Gh9
         Gl7aysuRtAn9KfIckyFxVEwLeajazNHfG4LL3+ODWR2qQmMaBSa1VIiA/n0Fl0ymbjxH
         E7JfCpLlAiihElutTN2g0C3c9q75W782m6h1vGKFYtPvKY/uoHL23nK1XYkJ+ZVRxVNx
         r+hVy0bXOf7mqkgLVtSxRRLOvHI7Kxw2fqtxrEP+WRQOS45GO+jJUxWcCNn55GuA8mRu
         6/xw==
X-Gm-Message-State: AOJu0Yxeu0zIeUo9TOUuBDyoQk/gfdXbWtNrDdp8CKLY7NdLzlYjzabF
	WecaE0lVLs1YxyUgHQj0tEkTtr/GqaglWA==
X-Google-Smtp-Source: AGHT+IHWlY4DyiLqt108rquIQtgNuwPVgqW7Ksd7mNOBIw6EvadF4yst+vYd1to6qaA/QTGZ6bthVw==
X-Received: by 2002:a17:907:2993:b0:a00:185a:a150 with SMTP id eu19-20020a170907299300b00a00185aa150mr1141546ejc.38.1700821869356;
        Fri, 24 Nov 2023 02:31:09 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [PATCH v2 00/39] Enable build of full Xen for RISC-V
Date: Fri, 24 Nov 2023 12:30:20 +0200
Message-ID: <cover.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series performs all of the additions necessary to drop the
build overrides for RISCV and enable the full Xen build. Except in cases
where compatibile implementations already exist (e.g. atomic.h and
bitops.h), the newly added definitions are simple.

The patch series is based on the following patch series:
- [PATCH v2] xen: remove <asm/delay.h> [1]
- [PATCH v3 00/14] Introduce generic headers [2]

[1] https://lore.kernel.org/xen-devel/3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com/
[2] https://lore.kernel.org/xen-devel/cover.1700221559.git.oleksii.kurochko@gmail.com/

---
Changes in V2:
  - Drop the following patches as they are the part of [2]:
      [PATCH v1 06/57] xen/riscv: introduce paging.h
      [PATCH v1 08/57] xen/riscv: introduce asm/device.h
      [PATCH v1 10/57] xen/riscv: introduce asm/grant_table.h
      [PATCH v1 12/57] xen/riscv: introduce asm/hypercall.h
      [PATCH v1 13/57] xen/riscv: introduce asm/iocap.h
      [PATCH v1 15/57] xen/riscv: introduce asm/mem_access.h
      [PATCH v1 18/57] xen/riscv: introduce asm/random.h
      [PATCH v1 21/57] xen/riscv: introduce asm/xenoprof.h
      [PATCH v1 24/57] xen/riscv: introduce asm/percpu.h
      [PATCH v1 29/57] xen/riscv: introduce asm/hardirq.h
      [PATCH v1 33/57] xen/riscv: introduce asm/altp2m.h
      [PATCH v1 38/57] xen/riscv: introduce asm/monitor.h
      [PATCH v1 39/57] xen/riscv: introduce asm/numa.h
      [PATCH v1 42/57] xen/riscv: introduce asm/softirq.h
  - xen/lib.h in most of the cases were changed to xen/bug.h as
    mostly functionilty of bug.h is used.
  - align arch-riscv.h with Arm's version of it.
  - change the Author of commit with introduction of asm/atomic.h.
  - update some definition from spinlock.h.
  - code style changes.
---

Bobby Eshleman (1):
  xen/riscv: introduce asm/atomic.h

Oleksii Kurochko (38):
  xen/riscv: disable unnecessary configs
  xen/riscv: use some asm-generic headers
  xen/riscv:introduce asm/byteorder.h
  xen/riscv: add public arch-riscv.h
  xen/riscv: introduce spinlock.h
  xen/riscv: introduce fence.h
  xen/riscv: introduce arch-riscv/hvm/save.h
  xen/riscv: introduce asm/cpufeature.h
  xen/riscv: introduce asm/guest_atomics.h
  xen/riscv: introduce asm/iommu.h
  xen/riscv: introduce asm/nospec.h
  xen/riscv: introduce asm/setup.h
  xen/riscv: introduce asm/system.h
  xen/riscv: introduce bitops.h
  xen/riscv: introduce flushtlb.h
  xen/riscv: introduce asm/smp.h
  xen/riscv: introduce cmpxchg.h
  xen/riscv: introduce asm/io.h
  xen/riscv: define bug frame tables in xen.lds.S
  xen/riscv: introduce bit operations
  xen/riscv: introduce asm/domain.h
  xen/riscv: introduce asm/guest_access.h
  xen/riscv: introduce asm/irq.h
  xen/riscv: introduce asm/p2m.h
  xen/riscv: introduce asm/regs.h
  xen/riscv: introduce asm/time.h
  xen/riscv: introduce asm/event.h
  xen/riscv: add definition of __read_mostly
  xen/riscv: define an address of frame table
  xen/riscv: add required things to asm/current.h
  xen/riscv: add minimal stuff to asm/page.h to build full Xen
  xen/riscv: add minimal stuff to asm/processor.h to build full Xen
  xen: add RISCV support for pmu.h
  xen: add necessary headers to common to build full Xen for RISC-V
  xen/riscv: add minimal stuff to asm/mm.h to build full Xen
  xen/rirscv: add minimal amount of stubs to build full Xen
  xen/riscv: enable full Xen build
  xen: fix compilation issue of serial.c

 automation/gitlab-ci/build.yaml            | 122 ++++++
 automation/scripts/build                   |   4 +-
 xen/arch/riscv/Makefile                    |  18 +-
 xen/arch/riscv/arch.mk                     |   4 -
 xen/arch/riscv/configs/tiny64_defconfig    |  19 +-
 xen/arch/riscv/early_printk.c              | 168 --------
 xen/arch/riscv/include/asm/Makefile        |  14 +
 xen/arch/riscv/include/asm/atomic.h        | 375 ++++++++++++++++++
 xen/arch/riscv/include/asm/bitops.h        | 288 ++++++++++++++
 xen/arch/riscv/include/asm/byteorder.h     |  16 +
 xen/arch/riscv/include/asm/cache.h         |   2 +
 xen/arch/riscv/include/asm/cmpxchg.h       | 379 ++++++++++++++++++
 xen/arch/riscv/include/asm/config.h        |  21 +
 xen/arch/riscv/include/asm/cpufeature.h    |  22 ++
 xen/arch/riscv/include/asm/current.h       |  20 +
 xen/arch/riscv/include/asm/domain.h        |  43 +++
 xen/arch/riscv/include/asm/event.h         |  34 ++
 xen/arch/riscv/include/asm/fence.h         |  12 +
 xen/arch/riscv/include/asm/flushtlb.h      |  31 ++
 xen/arch/riscv/include/asm/guest_access.h  |  29 ++
 xen/arch/riscv/include/asm/guest_atomics.h |  48 +++
 xen/arch/riscv/include/asm/io.h            | 134 +++++++
 xen/arch/riscv/include/asm/iommu.h         |   7 +
 xen/arch/riscv/include/asm/irq.h           |  37 ++
 xen/arch/riscv/include/asm/mm.h            | 270 ++++++++++++-
 xen/arch/riscv/include/asm/nospec.h        |  25 ++
 xen/arch/riscv/include/asm/p2m.h           | 105 +++++
 xen/arch/riscv/include/asm/page.h          |  21 +
 xen/arch/riscv/include/asm/processor.h     |  15 +
 xen/arch/riscv/include/asm/regs.h          |  26 ++
 xen/arch/riscv/include/asm/setup.h         |   6 +
 xen/arch/riscv/include/asm/smp.h           |  23 ++
 xen/arch/riscv/include/asm/spinlock.h      |  15 +
 xen/arch/riscv/include/asm/system.h        |  79 ++++
 xen/arch/riscv/include/asm/time.h          |  19 +
 xen/arch/riscv/lib/Makefile                |   1 +
 xen/arch/riscv/lib/find_next_bit.c         | 278 ++++++++++++++
 xen/arch/riscv/mm.c                        |  52 ++-
 xen/arch/riscv/setup.c                     |   9 +-
 xen/arch/riscv/stubs.c                     | 426 +++++++++++++++++++++
 xen/arch/riscv/traps.c                     |  25 ++
 xen/arch/riscv/xen.lds.S                   |  10 +
 xen/drivers/char/serial.c                  |   2 +
 xen/include/public/arch-riscv.h            |  93 +++++
 xen/include/public/arch-riscv/hvm/save.h   |  20 +
 xen/include/public/hvm/save.h              |   2 +
 xen/include/public/pmu.h                   |   2 +
 xen/include/public/xen.h                   |   2 +
 xen/include/xen/domain.h                   |   1 +
 49 files changed, 3194 insertions(+), 180 deletions(-)
 create mode 100644 xen/arch/riscv/include/asm/Makefile
 create mode 100644 xen/arch/riscv/include/asm/atomic.h
 create mode 100644 xen/arch/riscv/include/asm/bitops.h
 create mode 100644 xen/arch/riscv/include/asm/byteorder.h
 create mode 100644 xen/arch/riscv/include/asm/cmpxchg.h
 create mode 100644 xen/arch/riscv/include/asm/cpufeature.h
 create mode 100644 xen/arch/riscv/include/asm/domain.h
 create mode 100644 xen/arch/riscv/include/asm/event.h
 create mode 100644 xen/arch/riscv/include/asm/fence.h
 create mode 100644 xen/arch/riscv/include/asm/flushtlb.h
 create mode 100644 xen/arch/riscv/include/asm/guest_access.h
 create mode 100644 xen/arch/riscv/include/asm/guest_atomics.h
 create mode 100644 xen/arch/riscv/include/asm/io.h
 create mode 100644 xen/arch/riscv/include/asm/iommu.h
 create mode 100644 xen/arch/riscv/include/asm/irq.h
 create mode 100644 xen/arch/riscv/include/asm/nospec.h
 create mode 100644 xen/arch/riscv/include/asm/p2m.h
 create mode 100644 xen/arch/riscv/include/asm/regs.h
 create mode 100644 xen/arch/riscv/include/asm/setup.h
 create mode 100644 xen/arch/riscv/include/asm/smp.h
 create mode 100644 xen/arch/riscv/include/asm/spinlock.h
 create mode 100644 xen/arch/riscv/include/asm/system.h
 create mode 100644 xen/arch/riscv/include/asm/time.h
 create mode 100644 xen/arch/riscv/lib/Makefile
 create mode 100644 xen/arch/riscv/lib/find_next_bit.c
 create mode 100644 xen/arch/riscv/stubs.c
 create mode 100644 xen/include/public/arch-riscv.h
 create mode 100644 xen/include/public/arch-riscv/hvm/save.h

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640370.998442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSx-0007xi-8y; Fri, 24 Nov 2023 10:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640370.998442; Fri, 24 Nov 2023 10:31: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 1r6TSx-0007xN-5j; Fri, 24 Nov 2023 10:31:19 +0000
Received: by outflank-mailman (input) for mailman id 640370;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSv-0006hx-0G
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:17 +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 98742273-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:15 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a0029289b1bso245212366b.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:15 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98742273-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821874; x=1701426674; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2Lx0hMMCNqeH/OzTGMdTqOhOkAZcvL6csJ3mh/hZCkY=;
        b=bKoZHEwAI9ZgfuDOucs2uf2/Il4jRv16pqkp3+WEBsh6LHbit3arBetN3ZX25FFfLp
         BV/t02jV/iyHAxrtZbJvlbCSrGdcsEPvAB2ZUq8/sbjFV4F3TOTcE+Hqd4fwqjNwsX00
         QR5IGg+m8txSOpo63vVfWV89nOsspRgU8rnDJ1UK5AlCw+opHu98PgajKGNr3u80olkp
         kIG8NI82hpebRlpGYFEb43/aKZ1dDd9n8jSoAQiRSVRK84tegqvLOy0Hwslvtry/scuj
         f0cMjhO2mpBo2liu2xxP2hrvDvVqJT7I4qvD+ekkAWF9I05tPWK77MBX1UcsKhvNdxVL
         wZnQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821874; x=1701426674;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2Lx0hMMCNqeH/OzTGMdTqOhOkAZcvL6csJ3mh/hZCkY=;
        b=tHkA5ltzybEbJ9ycvOwZ10f80v2cz3aDIfxj6ADs50uPfpcimKK48mUuvsH9Bpn92A
         k/df+imGWaR2mQzwOdkQOY99V/9hS0XHmk2+IH2UzZYGsy7s1b4MXVP/jnYA4q/4dMUN
         ABcvHftDfLon0PXXWh2vptC+ICSuoaew3bxullQ8D7UJZyRzoVX8MSAHE9dcvJI53kWc
         /66RvV88Ty43Uml8s6Y9bi9B+BMf3JsqfFtBAhjI0oBzN/at4CQtwrzf3mu9cMhAuBqH
         FA80c6/ErxQqQH1yHuzYTqRzpvWY9JXSvxY4OXR8Xuvdyz11IGBxSc/f5Q0iJNc6wtv5
         PnIw==
X-Gm-Message-State: AOJu0Yy1bwvt4yc/PEqQTSQtqxsKXZTcH5OZa9jdG4MkRa5tl4GyVcom
	ml5DceSl/LIdBMCKojL9RGHptWmgxuounA==
X-Google-Smtp-Source: AGHT+IGyNhQbLYbMxeMUFS3S1mxFC2Z7Epqy+ZmWtl3ykPr1DzfXKb3M/5GNJzQgNuzq2AWM2FV7Vw==
X-Received: by 2002:a17:906:375b:b0:9c7:5667:5649 with SMTP id e27-20020a170906375b00b009c756675649mr1623343ejc.73.1700821874541;
        Fri, 24 Nov 2023 02:31:14 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 05/39] xen/riscv: introduce spinlock.h
Date: Fri, 24 Nov 2023 12:30:25 +0200
Message-ID: <342e330232db63454ca368aa7b5bd100c944b1e8.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - update definition of arch_lock_signal() to not violate cod style.
 - update definition of arch_lock_signal_wmb() to use WMB aspect.
---
 xen/arch/riscv/include/asm/spinlock.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/spinlock.h

diff --git a/xen/arch/riscv/include/asm/spinlock.h b/xen/arch/riscv/include/asm/spinlock.h
new file mode 100644
index 0000000000..bf45a7f005
--- /dev/null
+++ b/xen/arch/riscv/include/asm/spinlock.h
@@ -0,0 +1,15 @@
+#ifndef __ASM_RISCV_SPINLOCK_H
+#define __ASM_RISCV_SPINLOCK_H
+
+#define arch_lock_acquire_barrier() smp_mb()
+#define arch_lock_release_barrier() smp_mb()
+
+#define arch_lock_relax() cpu_relax()
+#define arch_lock_signal() ((void)0)
+#define arch_lock_signal_wmb()      \
+({                                  \
+    smp_wmb();                      \
+    arch_lock_signal();             \
+})
+
+#endif /* __ASM_RISCV_SPINLOCK_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640367.998407 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSt-0006tH-Bg; Fri, 24 Nov 2023 10:31:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640367.998407; Fri, 24 Nov 2023 10: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 1r6TSt-0006s0-1s; Fri, 24 Nov 2023 10:31:15 +0000
Received: by outflank-mailman (input) for mailman id 640367;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSr-0006hy-V9
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:13 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 970990cd-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:12 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-9e1021dbd28so233131966b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:12 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 970990cd-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821872; x=1701426672; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=F/LhKdH+wsJ4FACKp1nkzTY24/9rMB7kNhSD30IVABI=;
        b=YJFRmy0S4I0kYmBwkZK6WR20uDuvTyvS7N2YKBbeZ1b1dPjO/BYlcOvlzhGEEQx0Xf
         DMwfak8Cuv/8GGhGO8QDHq9co3kOgNKZ/0NlUJ/TWsMUODrA88BMXUAf9yvqcXbbxGcH
         VHowzWz1mNd7b9Uu0AuRuJ+OqnBn7Gxpee2/Eonhpj0NLdN5g7E3f9ksovAiKDoKTpqH
         6er0rkPk/tA/pCVV38/bInQZXPXZoafHfroIqqLXH15oBD+QLDB8k2u8gBEXykxdlZVM
         yGb8f0jnz0CiO3G0DKAY6tlFjH7Q8zSxhIbbt9CUCIi5FtuM8Cv4NS1daGE2rcNCdQhu
         ka1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821872; x=1701426672;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=F/LhKdH+wsJ4FACKp1nkzTY24/9rMB7kNhSD30IVABI=;
        b=CPSxpFU/KGgvbMtuVZm9nM13FvVDQeFEQkwyPwNEj+xaXeQd/ul8mKjh5Mt0PAfXKX
         lfkAXWbUM8iQh5HMqH93GQ53ngTQhkAjNZIVz31BS0xBh/kfTf1y0Jc2dbRrClTrIZZ6
         /k/d/VnIZXiPvFxpzTfr5kYgOC18CubV0XVFflGfT+4fTeiY8fkuc/twtiIrcsYQ31gK
         KZScUJRc3jUhfkUg7zqhbjbha4cKN57hZo4yxwATeUtNRQFPHK/VXdTj2ZIeoYBInphM
         dsIpa6KJDDe3HDLFFvmVw0J/6x5rn0Ea2kiNSodSBexF32Ss8dVheIhLLAr3hT26gZMy
         uk4A==
X-Gm-Message-State: AOJu0YxLYeMW8AYZXtMH6N3LdDxQnkh7zNQIsjf4SYwqJFI/j+HKaUwW
	0P2S3iIEBBg8RWTTaMWv5ra180lwMrsONQ==
X-Google-Smtp-Source: AGHT+IHemo474FYP5BLuyhXRaIFO7m1r16zvpKHW5xicKFBse67/hxU7ae1o8ypgT7DVwFviLgplKQ==
X-Received: by 2002:a17:906:d4:b0:9e3:fbab:e091 with SMTP id 20-20020a17090600d400b009e3fbabe091mr1757101eji.15.1700821871566;
        Fri, 24 Nov 2023 02:31:11 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 02/39] xen/riscv: use some asm-generic headers
Date: Fri, 24 Nov 2023 12:30:22 +0200
Message-ID: <90beae5dfa2bc4c27108ca4dea630306dfdfe81f.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some headers are the same as asm-generic verions of them
so use them instead of arch-specific headers.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - New commit introduced in V2.
---
 xen/arch/riscv/include/asm/Makefile | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/Makefile

diff --git a/xen/arch/riscv/include/asm/Makefile b/xen/arch/riscv/include/asm/Makefile
new file mode 100644
index 0000000000..4da0c70cc0
--- /dev/null
+++ b/xen/arch/riscv/include/asm/Makefile
@@ -0,0 +1,14 @@
+# SPDX-License-Identifier: GPL-2.0-only
+generic-y += altp2m.h
+generic-y += device.h
+generic-y += div64.h
+generic-y += hardirq.h
+generic-y += hypercall.h
+generic-y += iocap.h
+generic-y += monitor.h
+generic-y += numa.h
+generic-y += paging.h
+generic-y += percpu.h
+generic-y += random.h
+generic-y += softirq.h
+generic-y += vm_event.h
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640366.998400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSs-0006lj-UW; Fri, 24 Nov 2023 10:31:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640366.998400; Fri, 24 Nov 2023 10:31: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 1r6TSs-0006lF-P3; Fri, 24 Nov 2023 10:31:14 +0000
Received: by outflank-mailman (input) for mailman id 640366;
 Fri, 24 Nov 2023 10: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSr-0006hy-9v
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:13 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 96425539-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:11 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a0064353af8so547414966b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:11 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 96425539-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821870; x=1701426670; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1GGwlFyEsHHh1M1lPvOTRu5vN91zCPhYcW+euIgRdPc=;
        b=X5i72WBEYjUCXLJdyg4b5evGkpIGgvze2DlaOwe2uuvggqyxzsJUrIWUy/gTShmnCy
         dahcnzLuTfpfe21StosdgP0/6Y88QUOeNjT4jxVMmLB5NVo5NtF2oDaclSzDcXxIuncA
         Sc9sFNSS9xkyi84MidGhpHDPH9J0rmfZ2s9lNy0AHZsps93rFuQmAppNCdOlwXe1zDPE
         pDUosdkYcjACgQ36LivdC0dHONM1I+NQqYiScRJG1HyY2OCdRoHwyPL0pwc5RrsrJeYX
         zKqkcphyoIIxcXTZMEbXcnmrPBw3ePMCSNSOVVyjG9yuK/kWOPNYtPQz/3iN3SAuabJ2
         j9FA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821870; x=1701426670;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1GGwlFyEsHHh1M1lPvOTRu5vN91zCPhYcW+euIgRdPc=;
        b=kpn9cdTZWrIGSntEEwdRfN/1v9L9jemKQO8NCGD8J0XQGFR/PaYVQUdjPUEi1N4cxi
         tM/LYGqkZ7VJVQEaMVNg8CkPy1iTD6sTW+WcKLx6o25TvVq7rfP3epntI5M3Ikaz/O2n
         vaZU22OxUuSviPVJRJYZ/nujMXuF7Z+h22iE34reQ8fIvjX0Q1IF7bANyq9v8wjksGZt
         4ZROmkZ9IcDg14nPokJBK/2843ZN4O0oT5rE993kHpZwpfBU4LFBiZJBTwvDoGdKoUjq
         qlR0cU7kFlTCvuKOW7GLvz7NTLbUnMtnlvMXpbmDvxFY/SZNjEB0X2+0gHmF3BCwaK5G
         jX9Q==
X-Gm-Message-State: AOJu0Yxuk3AXxmz80SS4KYfhEOvshAIdTNmLhgWK8qcvPXIosYKvRZ+c
	/CNxCtKSYlPbdMYm1iCT71ThR53ugwCypg==
X-Google-Smtp-Source: AGHT+IHqamxg5VKsBkqvKfJkp7qnvgFjJX41hjLUmZ8Pwg26bv7aLJ1u1lvg+/wFj2QE/guXdEO1KQ==
X-Received: by 2002:a17:907:920f:b0:a02:b9c2:87bb with SMTP id ka15-20020a170907920f00b00a02b9c287bbmr1842790ejb.15.1700821870039;
        Fri, 24 Nov 2023 02:31:10 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@gmail.com>
Subject: [PATCH v2 01/39] xen/riscv: disable unnecessary configs
Date: Fri, 24 Nov 2023 12:30:21 +0200
Message-ID: <b4e85f8f58787b4d179022973ce25673d6b56e36.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch also fixes the build script as conf util expects
to have each config on separate line.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - update the commit message.
 - remove xen/arch/riscv/Kconfig changes.
---
 automation/gitlab-ci/build.yaml         | 122 ++++++++++++++++++++++++
 automation/scripts/build                |   4 +-
 xen/arch/riscv/configs/tiny64_defconfig |  18 ++++
 3 files changed, 142 insertions(+), 2 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 32af30cced..f4ef81839a 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -522,6 +522,38 @@ archlinux-current-gcc-riscv64:
     CONTAINER: archlinux:current-riscv64
     KBUILD_DEFCONFIG: tiny64_defconfig
     HYPERVISOR_ONLY: y
+    EXTRA_XEN_CONFIG:
+      CONFIG_COVERAGE=n
+      CONFIG_GRANT_TABLE=n
+      CONFIG_SCHED_CREDIT=n
+      CONFIG_SCHED_CREDIT2=n
+      CONFIG_SCHED_RTDS=n
+      CONFIG_SCHED_NULL=n
+      CONFIG_SCHED_ARINC653=n
+      CONFIG_TRACEBUFFER=n
+      CONFIG_HYPFS=n
+      CONFIG_GRANT_TABLE=n
+      CONFIG_SPECULATIVE_HARDEN_ARRAY=n
+      CONFIG_ARGO=n
+      CONFIG_HYPFS_CONFIG=n
+      CONFIG_CORE_PARKING=n
+      CONFIG_DEBUG_TRACE=n
+      CONFIG_IOREQ_SERVER=n
+      CONFIG_CRASH_DEBUG=n
+      CONFIG_KEXEC=n
+      CONFIG_LIVEPATCH=n
+      CONFIG_MEM_ACCESS=n
+      CONFIG_NUMA=n
+      CONFIG_PERF_COUNTERS=n
+      CONFIG_HAS_PMAP=n
+      CONFIG_TRACEBUFFER=n
+      CONFIG_XENOPROF=n
+      CONFIG_COMPAT=n
+      CONFIG_COVERAGE=n
+      CONFIG_UBSAN=n
+      CONFIG_NEEDS_LIBELF=n
+      CONFIG_XSM=n
+
 
 archlinux-current-gcc-riscv64-debug:
   extends: .gcc-riscv64-cross-build-debug
@@ -529,6 +561,38 @@ archlinux-current-gcc-riscv64-debug:
     CONTAINER: archlinux:current-riscv64
     KBUILD_DEFCONFIG: tiny64_defconfig
     HYPERVISOR_ONLY: y
+    EXTRA_XEN_CONFIG:
+      CONFIG_COVERAGE=n
+      CONFIG_GRANT_TABLE=n
+      CONFIG_SCHED_CREDIT=n
+      CONFIG_SCHED_CREDIT2=n
+      CONFIG_SCHED_RTDS=n
+      CONFIG_SCHED_NULL=n
+      CONFIG_SCHED_ARINC653=n
+      CONFIG_TRACEBUFFER=n
+      CONFIG_HYPFS=n
+      CONFIG_GRANT_TABLE=n
+      CONFIG_SPECULATIVE_HARDEN_ARRAY=n
+      CONFIG_ARGO=n
+      CONFIG_HYPFS_CONFIG=n
+      CONFIG_CORE_PARKING=n
+      CONFIG_DEBUG_TRACE=n
+      CONFIG_IOREQ_SERVER=n
+      CONFIG_CRASH_DEBUG=n
+      CONFIG_KEXEC=n
+      CONFIG_LIVEPATCH=n
+      CONFIG_MEM_ACCESS=n
+      CONFIG_NUMA=n
+      CONFIG_PERF_COUNTERS=n
+      CONFIG_HAS_PMAP=n
+      CONFIG_TRACEBUFFER=n
+      CONFIG_XENOPROF=n
+      CONFIG_COMPAT=n
+      CONFIG_COVERAGE=n
+      CONFIG_UBSAN=n
+      CONFIG_NEEDS_LIBELF=n
+      CONFIG_XSM=n
+
 
 archlinux-current-gcc-riscv64-randconfig:
   extends: .gcc-riscv64-cross-build
@@ -538,6 +602,35 @@ archlinux-current-gcc-riscv64-randconfig:
     RANDCONFIG: y
     EXTRA_FIXED_RANDCONFIG:
       CONFIG_COVERAGE=n
+      CONFIG_GRANT_TABLE=n
+      CONFIG_SCHED_CREDIT=n
+      CONFIG_SCHED_CREDIT2=n
+      CONFIG_SCHED_RTDS=n
+      CONFIG_SCHED_NULL=n
+      CONFIG_SCHED_ARINC653=n
+      CONFIG_TRACEBUFFER=n
+      CONFIG_HYPFS=n
+      CONFIG_GRANT_TABLE=n
+      CONFIG_SPECULATIVE_HARDEN_ARRAY=n
+      CONFIG_ARGO=n
+      CONFIG_HYPFS_CONFIG=n
+      CONFIG_CORE_PARKING=n
+      CONFIG_DEBUG_TRACE=n
+      CONFIG_IOREQ_SERVER=n
+      CONFIG_CRASH_DEBUG=n
+      CONFIG_KEXEC=n
+      CONFIG_LIVEPATCH=n
+      CONFIG_MEM_ACCESS=n
+      CONFIG_NUMA=n
+      CONFIG_PERF_COUNTERS=n
+      CONFIG_HAS_PMAP=n
+      CONFIG_TRACEBUFFER=n
+      CONFIG_XENOPROF=n
+      CONFIG_COMPAT=n
+      CONFIG_COVERAGE=n
+      CONFIG_UBSAN=n
+      CONFIG_NEEDS_LIBELF=n
+      CONFIG_XSM=n
 
 archlinux-current-gcc-riscv64-debug-randconfig:
   extends: .gcc-riscv64-cross-build-debug
@@ -547,6 +640,35 @@ archlinux-current-gcc-riscv64-debug-randconfig:
     RANDCONFIG: y
     EXTRA_FIXED_RANDCONFIG:
       CONFIG_COVERAGE=n
+      CONFIG_GRANT_TABLE=n
+      CONFIG_SCHED_CREDIT=n
+      CONFIG_SCHED_CREDIT2=n
+      CONFIG_SCHED_RTDS=n
+      CONFIG_SCHED_NULL=n
+      CONFIG_SCHED_ARINC653=n
+      CONFIG_TRACEBUFFER=n
+      CONFIG_HYPFS=n
+      CONFIG_GRANT_TABLE=n
+      CONFIG_SPECULATIVE_HARDEN_ARRAY=n
+      CONFIG_ARGO=n
+      CONFIG_HYPFS_CONFIG=n
+      CONFIG_CORE_PARKING=n
+      CONFIG_DEBUG_TRACE=n
+      CONFIG_IOREQ_SERVER=n
+      CONFIG_CRASH_DEBUG=n
+      CONFIG_KEXEC=n
+      CONFIG_LIVEPATCH=n
+      CONFIG_MEM_ACCESS=n
+      CONFIG_NUMA=n
+      CONFIG_PERF_COUNTERS=n
+      CONFIG_HAS_PMAP=n
+      CONFIG_TRACEBUFFER=n
+      CONFIG_XENOPROF=n
+      CONFIG_COMPAT=n
+      CONFIG_COVERAGE=n
+      CONFIG_UBSAN=n
+      CONFIG_NEEDS_LIBELF=n
+      CONFIG_XSM=n
 
 # Power cross-build
 debian-bullseye-gcc-ppc64le:
diff --git a/automation/scripts/build b/automation/scripts/build
index b3c71fb6fb..88287b9c46 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -14,7 +14,7 @@ if [[ "${RANDCONFIG}" == "y" ]]; then
 
     # Append job-specific fixed configuration
     if [[ -n "${EXTRA_FIXED_RANDCONFIG}" ]]; then
-        echo "${EXTRA_FIXED_RANDCONFIG}" >> xen/tools/kconfig/allrandom.config
+        sed "s/ /\n/g" <<< "${EXTRA_FIXED_RANDCONFIG}" > xen/tools/kconfig/allrandom.config
     fi
 
     make -j$(nproc) -C xen KCONFIG_ALLCONFIG=tools/kconfig/allrandom.config randconfig
@@ -28,7 +28,7 @@ else
     echo "CONFIG_DEBUG=${debug}" >> xen/.config
 
     if [[ -n "${EXTRA_XEN_CONFIG}" ]]; then
-        echo "${EXTRA_XEN_CONFIG}" >> xen/.config
+        sed "s/ /\n/g" <<< "${EXTRA_XEN_CONFIG}" >> xen/.config
     fi
 
     make -j$(nproc) -C xen olddefconfig
diff --git a/xen/arch/riscv/configs/tiny64_defconfig b/xen/arch/riscv/configs/tiny64_defconfig
index 3c9a2ff941..ce37c5ae00 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -6,6 +6,24 @@
 # CONFIG_HYPFS is not set
 # CONFIG_GRANT_TABLE is not set
 # CONFIG_SPECULATIVE_HARDEN_ARRAY is not set
+# CONFIG_ARGO is not set
+# CONFIG_HYPFS_CONFIG is not set
+# CONFIG_CORE_PARKING is not set
+# CONFIG_DEBUG_TRACE is not set
+# CONFIG_IOREQ_SERVER is not set
+# CONFIG_CRASH_DEBUG is not setz
+# CONFIG_KEXEC is not set
+# CONFIG_LIVEPATCH is not set
+# CONFIG_MEM_ACCESS is not set
+# CONFIG_NUMA is not set
+# CONFIG_PERF_COUNTERS is not set
+# CONFIG_HAS_PMAP is not set
+# CONFIG_TRACEBUFFER is not set
+# CONFIG_XENOPROF is not set
+# CONFIG_COMPAT is not set
+# CONFIG_COVERAGE is not set
+# CONFIG_UBSAN is not set
+# CONFIG_NEEDS_LIBELF is not set
 
 CONFIG_RISCV_64=y
 CONFIG_DEBUG=y
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640368.998423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSu-0007R7-Ll; Fri, 24 Nov 2023 10:31:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640368.998423; Fri, 24 Nov 2023 10: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 1r6TSu-0007R0-IY; Fri, 24 Nov 2023 10:31:16 +0000
Received: by outflank-mailman (input) for mailman id 640368;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSs-0006hy-VR
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:14 +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 9786007d-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:13 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a03a900956dso334979266b.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:13 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9786007d-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821873; x=1701426673; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=2ucpLU7thxOuTv6VJ60QuJlvjJEFvpS9myNu9FChE48=;
        b=RdsjmUSE6fpxszTmlVKvWVq3HcXiOBmSgZCHP7cymBYAsyAiyCsJTV+mhzqzjuFTcR
         fNvCCtEsiEwGOq9P8j7Ogq2oURJkQgieQsrZFoWIASbpUj3aJKmTWwdZNJnkciq1xnWa
         LM4LsOjyuNCqxwDv6HCX0QyIhrotkOpE+ShLww3B4vwXo8LqKaCKTJSd+ldu7Zc50BUK
         TsG4l3m26Odzy9KsehKhuDCjXYJq/2j0707+8zRlMrF4fz4PCPWfObMD26tfONes/d1L
         IUvI5Od7R6SNt1MdM0HyjhNWqW4M8fBQxnu+ugh9BxpGYDYGg0j/jj14jzRmliZCOBIm
         7QcA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821873; x=1701426673;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=2ucpLU7thxOuTv6VJ60QuJlvjJEFvpS9myNu9FChE48=;
        b=RdyF61vzB9ZeWZUSuhyMM2nb/3yEbPyZm/tH11EZyu2owry3zJwZRuCOQFP7KQmBBu
         N1iAgqpyVk4FsXy5MevqjvRjOXywGmx14jxQbF3NawV6MATiIfdvXhD1QTVWgsNFOxQ6
         Txoi07vKvjVpiXwk0lWBbQTekPTJeJX8hmnttH3AnJ3S5zUe8DaVThZMmZ2uE4WbyJJ1
         rju+ZWMnTHzxlz5ZOBtQ6qZUBQljT/9IE4o0w91n00ojOxzLu9kk+kj1bbQ4caxg2wQT
         muXJrslhNJCz912gwz7may6C2pC+ynG7FMDrAfc/lWyGI+2973mPknoGoyOnj1JB07QN
         HApw==
X-Gm-Message-State: AOJu0Yw9qlD/ysWPAEqaZD+lNj9LAHkzJ0B34ZApNZFpzGva6v+1C8r+
	ZS36mmXU9dWDeAtI44l7Rswxe6q+FO/ZIQ==
X-Google-Smtp-Source: AGHT+IE8Q22nsynCQY2Kd70S9IklfAvkgerK9R/E5puHXB7qvdnLIwXkt86TZGbQO3gJqEfuWlBNRw==
X-Received: by 2002:a17:907:7da9:b0:9fd:9e54:a4fc with SMTP id oz41-20020a1709077da900b009fd9e54a4fcmr5846321ejc.15.1700821872896;
        Fri, 24 Nov 2023 02:31:12 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 03/39] xen/riscv:introduce asm/byteorder.h
Date: Fri, 24 Nov 2023 12:30:23 +0200
Message-ID: <f55b209773bdf09c8563037f8bc6fb51d1df4c88.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/byteorder.h | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/byteorder.h

diff --git a/xen/arch/riscv/include/asm/byteorder.h b/xen/arch/riscv/include/asm/byteorder.h
new file mode 100644
index 0000000000..320a03c88f
--- /dev/null
+++ b/xen/arch/riscv/include/asm/byteorder.h
@@ -0,0 +1,16 @@
+#ifndef __ASM_RISCV_BYTEORDER_H__
+#define __ASM_RISCV_BYTEORDER_H__
+
+#define __BYTEORDER_HAS_U64__
+
+#include <xen/byteorder/little_endian.h>
+
+#endif /* __ASM_RISCV_BYTEORDER_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640371.998449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSx-00081n-Ng; Fri, 24 Nov 2023 10:31:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640371.998449; Fri, 24 Nov 2023 10:31: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 1r6TSx-00081B-GY; Fri, 24 Nov 2023 10:31:19 +0000
Received: by outflank-mailman (input) for mailman id 640371;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSv-0006hy-6o
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:17 +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 99522883-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:16 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a011e9bf336so244134566b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:16 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99522883-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821875; x=1701426675; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=i9Qfqqvtj3aHFLh9KWlN3SC+z0gEd6MLnGuBtY8Y9eY=;
        b=JzgH3/tJlZfhTjQu05LUKZz3VHQ+xI+m4zAUD9eXAwquK7Nh5dZHmRidotGYJ3dwND
         eVaSaID6ZzGZoN0hEwDfK10VUH10OcS414MESKwk0Cq54JSSW0xW2VngFseXhgUtvH+C
         rpnqgpo/ZThwYFwHi6OQO2xL6RIP4Gzhrz3G1woTP+AaqtLpIe/rhN9M3UfgSLSLfz2/
         iYb4d3ojPLgjiUZvgOtg4Ri9Qd4gCs6OroLnYtfkzde7T3eOgOyG/bUE043f60NbG7p2
         lY78OuCOmH/n+MKrtgcBvypqf7rywXj0F7AdYe8jpdIKJdVBDBnLPRuSJ6AfwuwNYmMk
         8Mwg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821875; x=1701426675;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=i9Qfqqvtj3aHFLh9KWlN3SC+z0gEd6MLnGuBtY8Y9eY=;
        b=hwLsVdqgK2AAH7tvaNbWSpcbzdFKNRc+kwzM06csTZxV7VmAP3TqD1SCAR/lu8mK4y
         eR/HDwSS5NsiJGSpQOmOsLtxvvD+XkJG0JH6l6IwP5Wx7YqAzNbXZP/+mmSUzgUlMPfI
         7NfWTPkRAomSNYVvMYT/vp8EMxd41qYOq4ueLsmnaJpfF/mF5mtqbBMtIbFaAY77rEQR
         KypJP44CGpZu7a3jc6N2uQ5o7eVF6WJWGCpMHbgQESFNLSG2tDDH+fn9JttJxTNE0WjP
         mGdlSySleWWqGI6oXDHaE33CAd+YhoSPEM9iFmnCvDklnDpepVNYY1IOFKr2tEl62Uk3
         Luig==
X-Gm-Message-State: AOJu0YyBxniQZSj/Rdlk/j0S1yNmoMB2+znsvtQkAti4iojiTuPbQ0ny
	pf5ACpgiHrPa26BsqDlHclDvbmoLUka03g==
X-Google-Smtp-Source: AGHT+IGqrUtyiFIgVUUYv9l40qBmcH4R8M7MJGt1o/ugLzaO/hXzIREStbdFMS6dI0Zm+clnLWUpGA==
X-Received: by 2002:a17:906:4710:b0:9fb:1894:a84 with SMTP id y16-20020a170906471000b009fb18940a84mr1482441ejq.39.1700821875354;
        Fri, 24 Nov 2023 02:31:15 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 06/39] xen/riscv: introduce fence.h
Date: Fri, 24 Nov 2023 12:30:26 +0200
Message-ID: <225f7c6eac811dfd6afbb188c869557c5465ecca.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/fence.h | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/fence.h

diff --git a/xen/arch/riscv/include/asm/fence.h b/xen/arch/riscv/include/asm/fence.h
new file mode 100644
index 0000000000..2b443a3a48
--- /dev/null
+++ b/xen/arch/riscv/include/asm/fence.h
@@ -0,0 +1,12 @@
+#ifndef _ASM_RISCV_FENCE_H
+#define _ASM_RISCV_FENCE_H
+
+#ifdef CONFIG_SMP
+#define RISCV_ACQUIRE_BARRIER		"\tfence r , rw\n"
+#define RISCV_RELEASE_BARRIER		"\tfence rw,  w\n"
+#else
+#define RISCV_ACQUIRE_BARRIER
+#define RISCV_RELEASE_BARRIER
+#endif
+
+#endif	/* _ASM_RISCV_FENCE_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640372.998455 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSy-00089B-Ef; Fri, 24 Nov 2023 10:31:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640372.998455; Fri, 24 Nov 2023 10: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 1r6TSx-00087Y-Uo; Fri, 24 Nov 2023 10:31:19 +0000
Received: by outflank-mailman (input) for mailman id 640372;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSv-0006hy-Qq
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:17 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99a6fc53-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:17 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a00a9c6f1e9so250539766b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:17 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99a6fc53-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821876; x=1701426676; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=7jpQXpOanTl7F1fyE6Rm+pjLHmxqDoJRr4gmJ1oRAfo=;
        b=Qk9lRbStMb+58dFAt4ryUIttRveMSD7ecbR4fjeoQ4hH1pP2sRbG9CwvYBIXGAazRr
         9Yx/6QIpaKfdmf6vfaIrikphp3YMckVVIiy2TTcp582SagydVZ4wLdAwKwIUbrZG1Oiw
         m6QZwHzwEodPpiUjab0ojd7alp5BMFCt7eSiIOSzdK+VxCQSyMOTtve7KzHfOwSaGlaT
         Lsa2kyPwtgQLFqYxxhBRSGNcTzJ5fBNCVF6KzCRl69HyXFRYOkYZUzV6bn4oSCU0lEX7
         4NdtyEavRQ+JWaIDxxNpC+m0kMK2PYLTACadAbBp0YuU1gTLAYbGblfL+4APjD/UpB5c
         zfkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821876; x=1701426676;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=7jpQXpOanTl7F1fyE6Rm+pjLHmxqDoJRr4gmJ1oRAfo=;
        b=raHbPBePHmNzwC/tzVfQ1FFXjJKuuY+G66E0hU0woKthQbCAfhAYhz6aH1izytINLw
         m8aKUwDYIbXzdNOjRradAbFkGDnsHAcaOY3u6AnTjVfjzAOsa9zPznqZ7QHAXiGdpc7D
         DhOnsCwOKGSAmw0O39zfSUNpIjm9IfYof1lUvDokhT0gidThNM3J+WwhTaZnd0FTtMQs
         PxP9yrszK3pEfAKvdHtT+CWg8uIvzwc9eGnLIWG9m3RCuq+vcj9ckxsT/AC2t6FWy1Nk
         1VSKV0KuZArLywUrwfGR3iIICCQYPE+xTQvbBMzGH/i3aWeXt2aTecRPSYTah0yWx9ID
         kWiA==
X-Gm-Message-State: AOJu0YzB6oJUMETIUGS/oaHuDlsfQnVY0IlLu0Ai3DfM8VG27g7JYizN
	/icsJMgRYhxnyAQReFsdMcrXqFvbeMBuhg==
X-Google-Smtp-Source: AGHT+IGFnauBn5PH1KK5OOrie5nVlx4bqPf2gtp3LgEcix1+CNsSbC9EWY3xHXNc4tZKdpFMlEKyUA==
X-Received: by 2002:a17:906:29d4:b0:9fa:caf3:fb17 with SMTP id y20-20020a17090629d400b009facaf3fb17mr1568695eje.51.1700821876562;
        Fri, 24 Nov 2023 02:31:16 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 07/39] xen/riscv: introduce arch-riscv/hvm/save.h
Date: Fri, 24 Nov 2023 12:30:27 +0200
Message-ID: <acb870b980a791d7800d47c08c9574275159df39.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - remove copyright an the top of hvm/save.h as the header write now is a newly
   introduced empty header.
---
 xen/include/public/arch-riscv/hvm/save.h | 20 ++++++++++++++++++++
 xen/include/public/hvm/save.h            |  2 ++
 2 files changed, 22 insertions(+)
 create mode 100644 xen/include/public/arch-riscv/hvm/save.h

diff --git a/xen/include/public/arch-riscv/hvm/save.h b/xen/include/public/arch-riscv/hvm/save.h
new file mode 100644
index 0000000000..1eb037830d
--- /dev/null
+++ b/xen/include/public/arch-riscv/hvm/save.h
@@ -0,0 +1,20 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Structure definitions for HVM state that is held by Xen and must
+ * be saved along with the domain's memory and device-model state.
+ */
+
+#ifndef __XEN_PUBLIC_HVM_SAVE_RISCV_H__
+#define __XEN_PUBLIC_HVM_SAVE_RISCV_H__
+
+#endif
+
+/*
+ * 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/hvm/save.h b/xen/include/public/hvm/save.h
index 2cf4238daa..80328c3216 100644
--- a/xen/include/public/hvm/save.h
+++ b/xen/include/public/hvm/save.h
@@ -91,6 +91,8 @@ DECLARE_HVM_SAVE_TYPE(END, 0, struct hvm_save_end);
 #include "../arch-arm/hvm/save.h"
 #elif defined(__powerpc64__)
 #include "../arch-ppc.h"
+#elif defined(__riscv)
+#include "../arch-riscv/hvm/save.h"
 #else
 #error "unsupported architecture"
 #endif
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640373.998461 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSy-0008IP-SL; Fri, 24 Nov 2023 10:31:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640373.998461; Fri, 24 Nov 2023 10: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 1r6TSy-0008Fj-Ha; Fri, 24 Nov 2023 10:31:20 +0000
Received: by outflank-mailman (input) for mailman id 640373;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSx-0006hy-3W
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:19 +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 9a7433d9-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:18 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-549070a04baso2368717a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:18 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9a7433d9-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821877; x=1701426677; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IaJa/anRsPuG7MeMh544Xo5c3C5PAbaeHXhCV9tyhpk=;
        b=c10mioMTRAWYSSGTb4rvUEO+2vJ+0vnBXIUNxfcmeofnHc09Ymq8+Nhvy+D8bcpAhl
         uiFEFMitWkhqixwOLA3mv7yJUvgk6fxrlP+C9UIcDejJvD3dyePilDg7ZhMF33Z6vtB1
         R3IN/DILhuWzGVfauDT+gCg4PG+sN4OGl53U2NIe7QvTTxliGKr0khuHEiEmY+0addSp
         fG2DXQYBgiKrKYmSYqWHmFhhGXWUyYv+vE31bbtbM9woO+j8vMwQmCjeT1KJ0I5w+1Lg
         SzXekLaERf4wDBUDrshL/dRwp1zPjPAcm95XOS9kxlc55d9W+LNDL3exScfXIZCZSSdB
         7AFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821877; x=1701426677;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IaJa/anRsPuG7MeMh544Xo5c3C5PAbaeHXhCV9tyhpk=;
        b=DPUTEhKMWN4yX09I64YPCq/0e5bTmUijj+wmtM6lY4VxO7TCfT/X7nhugmXc7wzsFl
         5xgXBhQb6YoHCey10kZjfoMErqf8HgmGoOM+Uo7/7xUp7i/9JIC9+20LEvgxr7lrGYpk
         Vd75uXTqwBWMKDvUXTtXtUwPCqbUCA+LgPb6zsXr5QVB6tHkZlG4S1BnbKOlunYDp/re
         aka5uJTS4A39Bmo94r+I5Y4tVU8SGmVk6Xcc2MQ38ShRe+62l4l8+WniYleNZXZivcBj
         ItDaIAdHvFA3t87tZJs7fPFX82zzU0dlMaj6+alX8R/36AkaL2uA6hrNQl1WtYD8ilou
         1v/A==
X-Gm-Message-State: AOJu0YyGcnhsbCA/q67N2sEcfXq4BPOzD1nlELAhURRt/Jo165cMz7vd
	oNnZFksAUv6QCRX+bw+bPFviH1fAMLpL/Q==
X-Google-Smtp-Source: AGHT+IGFEiiTBiGvAR5ACWWHdqbdx+B2BrVyRLY75ufFR8vh9qZRtycnueln5Q8tQMjDSWelWaqYFw==
X-Received: by 2002:a17:906:1ccd:b0:a00:a591:929 with SMTP id i13-20020a1709061ccd00b00a00a5910929mr1842188ejh.24.1700821877430;
        Fri, 24 Nov 2023 02:31:17 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 08/39] xen/riscv: introduce asm/cpufeature.h
Date: Fri, 24 Nov 2023 12:30:28 +0200
Message-ID: <b8fcdd22462ffa71a058e63dbf874dfc858264df.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/cpufeature.h | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/cpufeature.h

diff --git a/xen/arch/riscv/include/asm/cpufeature.h b/xen/arch/riscv/include/asm/cpufeature.h
new file mode 100644
index 0000000000..211827f816
--- /dev/null
+++ b/xen/arch/riscv/include/asm/cpufeature.h
@@ -0,0 +1,22 @@
+#ifndef __ASM_RISCV_CPUFEATURE_H
+#define __ASM_RISCV_CPUFEATURE_H
+
+#ifndef __ASSEMBLY__
+
+static inline int cpu_nr_siblings(unsigned int cpu)
+{
+    return 1;
+}
+
+#endif /* __ASSEMBLY__ */
+
+#endif
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
+
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640374.998469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TSz-0008TL-De; Fri, 24 Nov 2023 10:31:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640374.998469; Fri, 24 Nov 2023 10: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 1r6TSz-0008Qm-2e; Fri, 24 Nov 2023 10:31:21 +0000
Received: by outflank-mailman (input) for mailman id 640374;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSx-0006hy-SS
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:19 +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 9aec12ce-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:19 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-a0029289b1bso245224866b.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:19 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.17
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9aec12ce-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821879; x=1701426679; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=PGY0g31ghso/KxGfsjMOwsolg68KHX/Ner31wPYk88Y=;
        b=Y9ivk39FGjZW6hmXNShoeBYtNvrrzAm2Wh2wh73nBoMfAgf2psssEOttsYMcXvUlWP
         5mkQ6U2Kc8v+CsDcp+FmzC1OJrjqxT6pR6M4IljFwULs1yu97tFXV7om3E/NEiXO4Phd
         yiRfE9Xr/2Ie1DPPcpWWqFjTHmPL7WchWWolsHIFVeKZj9gL70/Do40SkfLVFwDdMWpg
         8J6hLC8QTnSKwlfMcnMFgZH61fYywJr2gud6/ovWhmfyIJmyApJqUosTG1gSyHNqWYhi
         5IibDM1Jt6LlsobPN/3hKiSf1zR8VEE69Jn5q4MlO/RYgjILROlf2wlXfF1RA6w7cId5
         SOkg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821879; x=1701426679;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=PGY0g31ghso/KxGfsjMOwsolg68KHX/Ner31wPYk88Y=;
        b=SY0mpL9lMy+cxPQdvKtHFRuNkGv0w00lO0IyCK5kfdpZX7zqr/h6QDSKNrsGeY+hMy
         URd76ieeMxP6oOYpVnMfZHpkI9gbX3GqImR5TdiqLQoJJt3jHhhoLPJ/+PjazuhzHNsp
         wBuH46wfEL8GjwrkP1yFE0xMDJ6bAH7wHl+H7Gyx16pQObxdj8QA1zXNXu6JgHWcK8hA
         Ex0efR1YceMrJfr84idcJbeLRCxM5VkXU1XXIwKuUpkLjnC8F7HN+GrK+o+9QoMFAe2F
         mIh7VyqhC9DLJkEHD8hQCTfrXENbnBIbzxw1RpiULLe7+RpzsaeGZ0oGMcA3k3YAxtWf
         Mmow==
X-Gm-Message-State: AOJu0Yw+ayPjnqcRZfgI0QKtY6TZJ5z2B/koegQSkZFoR7uOJagQz37Q
	q1WJOOKV7NSug8nPlSOexzCd7J5gupMvUw==
X-Google-Smtp-Source: AGHT+IFuzLG3DXwAzaIgSaVfYas85yPNgxQaj2By5voBPdrcg8Pz3hc6iNAgajliQHSRE7x1nnfnFg==
X-Received: by 2002:a17:906:f24a:b0:9e4:7b7:267d with SMTP id gy10-20020a170906f24a00b009e407b7267dmr1396467ejb.52.1700821878629;
        Fri, 24 Nov 2023 02:31:18 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 09/39] xen/riscv: introduce asm/guest_atomics.h
Date: Fri, 24 Nov 2023 12:30:29 +0200
Message-ID: <48ecbc771d3870eee86dd11a19f0dd9029e93c01.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/guest_atomics.h | 48 ++++++++++++++++++++++
 1 file changed, 48 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/guest_atomics.h

diff --git a/xen/arch/riscv/include/asm/guest_atomics.h b/xen/arch/riscv/include/asm/guest_atomics.h
new file mode 100644
index 0000000000..9f14f76e92
--- /dev/null
+++ b/xen/arch/riscv/include/asm/guest_atomics.h
@@ -0,0 +1,48 @@
+#ifndef __ASM_RISCV_GUEST_ATOMICS_H
+#define __ASM_RISCV_GUEST_ATOMICS_H
+
+/*
+ * TODO: implement guest atomics
+ */
+
+#define guest_testop(name)                                                  \
+static inline int guest_##name(struct domain *d, int nr, volatile void *p)  \
+{                                                                           \
+    (void) d;                                                               \
+    (void) nr;                                                              \
+    (void) p;                                                               \
+                                                                            \
+    return 0;                                                               \
+}
+
+#define guest_bitop(name)                                                   \
+static inline void guest_##name(struct domain *d, int nr, volatile void *p) \
+{                                                                           \
+    (void) d;                                                               \
+    (void) nr;                                                              \
+    (void) p;                                                               \
+}
+
+guest_bitop(set_bit)
+guest_bitop(clear_bit)
+guest_bitop(change_bit)
+
+#undef guest_bitop
+
+guest_testop(test_and_set_bit)
+guest_testop(test_and_clear_bit)
+guest_testop(test_and_change_bit)
+
+#undef guest_testop
+
+#define guest_test_bit(d, nr, p) ((void)(d), test_bit(nr, p))
+
+#endif /* __ASM_RISCV_GUEST_ATOMICS_H */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640375.998493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TT1-0000w0-M1; Fri, 24 Nov 2023 10:31:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640375.998493; Fri, 24 Nov 2023 10: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 1r6TT1-0000tE-G2; Fri, 24 Nov 2023 10:31:23 +0000
Received: by outflank-mailman (input) for mailman id 640375;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TSz-0006hy-OE
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:21 +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 9bfcfe3f-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:21 +0100 (CET)
Received: by mail-ej1-x62b.google.com with SMTP id
 a640c23a62f3a-a002562bd8bso338503166b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:21 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9bfcfe3f-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821880; x=1701426680; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Sa8I3OdPtO5taY9HyrT1OugoZqyYFmE8a7/9LzDJGcI=;
        b=MUzPEZUVSLWZBg0/F7fDRGXxPkxlNnwcgNLodu9E216trzjjOFdd2YkJ8FyMNTP8XV
         1HG9rjHXh4dDjmbvp/czTkGrkBOiNZjgGxZFInKgXN2KWRzbuIMumt3T4LptvU+stT9/
         jqteACZAkbLK/Z0ndqb023aEQ5Qm+D+L8xs1vRcm9/iw555Yv4CryOy4sqJY+P7Di0Hv
         DxfWFbaCSL3dfQFFTwsYIABbJ7VkqVs9ZPlFMyw1ccAmBJT1OazZfykxEJNdWF98HVoO
         wLGfxdeDUjfVf4MhpJKBHbvF/q5OYpgWUohjyRzG0GtRQguEyfpakV7P0i74Ip6mZTaP
         Jq1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821880; x=1701426680;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Sa8I3OdPtO5taY9HyrT1OugoZqyYFmE8a7/9LzDJGcI=;
        b=aHTtGRNqsDakGTbqdXIrRH9HNS5zKHmNvY1rAKxB/cmUhUp8pYOxP4LSripg+Ow/ga
         FhByESTYYhWChnuOnjXa+ijOl0xIn4/nrNo5h/5NsB9kxQN58hkW+D87YJbzAuRn+YUo
         9z3UmqocyNwDQFxqrZCrm1pGdjlv5+GjTozVJ0qkgmNxb4bSjfOJZ0vYqnAEGxhIfZLJ
         zBdPDbS2fCIclL6EERb0WDsINcSgwcSrfM+kafZISUePfSqaU3A3GL8O1DCxKqqZjKYy
         Bg2qYp7x+Pf2SHCYrHBdDaRM2v0k1Y0Pe3vk8S1lr/c4Ot/5WhSrSsnQWBtl4PqNQeAM
         iyPQ==
X-Gm-Message-State: AOJu0Yxo36Fa2VJJOT2KGVLgdSWEi+ZGCmXQqW/g77gZ0jFjLId6lPXS
	fzQ+09OZy7mnanW6x4ZwP/O8YA8n0kqrdw==
X-Google-Smtp-Source: AGHT+IEGxFMpLVopw5o8+UWvXFE9B+KbVyLWWZ/PtJ3mmp587qZYU+aXaizaZ+KHGnXV+hXU0MkP3g==
X-Received: by 2002:a17:906:348c:b0:a04:a4fb:10d3 with SMTP id g12-20020a170906348c00b00a04a4fb10d3mr1817011ejb.37.1700821879714;
        Fri, 24 Nov 2023 02:31:19 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 10/39] xen/riscv: introduce asm/iommu.h
Date: Fri, 24 Nov 2023 12:30:30 +0200
Message-ID: <68be3d368bf6ed96b0bb53b51a2fd07696cb338d.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/iommu.h | 7 +++++++
 1 file changed, 7 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/iommu.h

diff --git a/xen/arch/riscv/include/asm/iommu.h b/xen/arch/riscv/include/asm/iommu.h
new file mode 100644
index 0000000000..648b6fb922
--- /dev/null
+++ b/xen/arch/riscv/include/asm/iommu.h
@@ -0,0 +1,7 @@
+#ifndef __ASM_RISCV_IOMMU_H__
+#define __ASM_RISCV_IOMMU_H__
+
+struct arch_iommu {
+};
+
+#endif /* __ASM_IOMMU_H__ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640376.998502 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TT3-0001D7-2t; Fri, 24 Nov 2023 10:31:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640376.998502; Fri, 24 Nov 2023 10:31: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 1r6TT2-0001BW-VB; Fri, 24 Nov 2023 10:31:24 +0000
Received: by outflank-mailman (input) for mailman id 640376;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TT0-0006hy-O8
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:22 +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 9c8194c7-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:22 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a04196fc957so253598266b.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:22 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9c8194c7-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821881; x=1701426681; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Nm4dkCrJBhUIryTpKvo62q5PASNVGTgK0wPdYUeznR0=;
        b=jK/tbzkMtwhfr0Mr2yk9q5RiGWbVuXlrYvGaLtjvIgJBOZgpCWehlNiP2yQPMaR+/g
         eq1LerbGhEU+jlghA0LQvm/sujmEuPuF6V32U4q2jOS5XIDVllRw/91Ny5XlTRQQ9hVv
         XC6VmibXYW/GwMJD3YLURQcG4D1QlFbuk8u/4Y3yNOYOoIxt+8hjv1kUjIXj/BHKdJhO
         Xe04sn6rgZty87p8yrHKrZyaSpitd7ujgKVzSLzMgvzdh48qwcAk/ewRoaX62D+G/u7J
         iPxjvJ2EyRcR0V0OACtQpB9hvLdlPr62hUL5mww+8fA9nHV1pmlr1X2tgrwsUz9P6gFw
         JpJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821881; x=1701426681;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Nm4dkCrJBhUIryTpKvo62q5PASNVGTgK0wPdYUeznR0=;
        b=ULUhuDZ2S5nrwrfH0D4u3Tt+L6G2hfi1XpO9ItOaEUkBVOecCd8rAcy/7ITHiNiRGT
         LYIdWAU3tALsl89VDTb/ZG2qzOFl5VpLUSO/QOgTZcrhzxwk44OAQGeZW9cQq+rmysyd
         DjzCB/+sNOqN8h3TtXx2fO6z/6wdv+Zq65szlHzGl1Xr9ywQqu0Bqu0SWJ4TjdHvVqXi
         WSY7uFhFGbR98/zc4SoVJEoe25UE80Jj2a/PiYQVUc70OQ6nXwCaLSIIKIIBZVjA8drN
         +s3vdgtf1SY+e88lQXHOHa/Q6nKScVHxbe5szTyJt8hXwhKU/XJivmsFGAFH8DZhGNcr
         smiA==
X-Gm-Message-State: AOJu0Yylh+RzCYhaiD8jvz1G8UkqEiyPM/DfQxcna7YeyqGWap6o3C41
	VQg5C21yXUIR4mSLRy20wL99g11VaFwRcA==
X-Google-Smtp-Source: AGHT+IEg+E+nK+Hd8xDeE38CWZul9DwP/NoUGjt+HpbA7yFZrfk3DB+2tQiPlG6eN1YR98BG3PfiuA==
X-Received: by 2002:a17:906:5302:b0:a00:231a:9520 with SMTP id h2-20020a170906530200b00a00231a9520mr1380039ejo.5.1700821881208;
        Fri, 24 Nov 2023 02:31:21 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 11/39] xen/riscv: introduce asm/nospec.h
Date: Fri, 24 Nov 2023 12:30:31 +0200
Message-ID: <aa2ff1df494f82f7c045f913371d3b9d04962a5e.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/nospec.h | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/nospec.h

diff --git a/xen/arch/riscv/include/asm/nospec.h b/xen/arch/riscv/include/asm/nospec.h
new file mode 100644
index 0000000000..55087fa831
--- /dev/null
+++ b/xen/arch/riscv/include/asm/nospec.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved. */
+
+#ifndef _ASM_RISCV_NOSPEC_H
+#define _ASM_RISCV_NOSPEC_H
+
+static inline bool evaluate_nospec(bool condition)
+{
+    return condition;
+}
+
+static inline void block_speculation(void)
+{
+}
+
+#endif /* _ASM_RISCV_NOSPEC_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640377.998513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TT5-0001as-0q; Fri, 24 Nov 2023 10:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640377.998513; Fri, 24 Nov 2023 10: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 1r6TT4-0001aF-RE; Fri, 24 Nov 2023 10:31:26 +0000
Received: by outflank-mailman (input) for mailman id 640377;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TT2-0006hx-NK
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:24 +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 9d3a0577-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:23 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a02d91ab195so243504966b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:23 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9d3a0577-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821882; x=1701426682; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JayYLZwws7GAZWTMUZ4mzF6X/0MNAJll0GZdzHr4R+4=;
        b=X3IGtmrwF6NryNI8TdQZyaWkCh1li5ihkXS6QTehCphlINcETjAU8vnSmVlh4wdnsj
         594iQqATSRCjMDVFszFIBVc1wRTHuc5c36InjK4FhcbGek9eRzybAL38X9gXGNq9SbrQ
         36uFw2okbk2WZU3rN4bEVHZBMQii1jfP8kowI75wuW+B54ibHVo8FitxI3vEM7HXM+AT
         iqSrjIzOA7hvQsWk8ipoRl7oGWGJXbEO/lQ14ZwyG6doWQmE9sFNBCeZ5oc7434oF9KL
         7LQZhFEoMxRie9RZBGOhTWXYY4dMxuFVTu1g6nhmfdWQQawV+n1ZYPhnp8vJzE84ZB+M
         d63Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821882; x=1701426682;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JayYLZwws7GAZWTMUZ4mzF6X/0MNAJll0GZdzHr4R+4=;
        b=UannU22xIQMC4FtGCHHoHvJ/R0bZxAZ/v4H+MFfOq82WXm3X4Ke6Y/IxFJ2EhzZJiE
         1zzsPzgdSHSxVaK67yK7nVwAkvtdVqUWU7BZixx9S0E1n5SWnU9bhelnq/csMLSDG4pf
         DVT79jM8pvsB9bCA3GpsEqdc0NhoNEZYzEIf8Yn9REVkFIhOo4nyhwN8lwZH1SlSyVhn
         qvUOvNkgT7d8+3mBiAz7WL0F6nzh1RG4AbIz0YIp6p9XEZD3j7ASmzaYYfcvyvRFypBr
         UCm9KAxjYiAPcp9pCC9DsLItSt/ff0/paJGiKsJ/G5GkSBOx1ee4gmEgQwcFS6fqngqN
         zjeA==
X-Gm-Message-State: AOJu0YzGPQ22Pfv/SEjbPAugX30kQr64Wc+F9SzwQrSmlLNCPYh/dwHx
	qnK+pYiLUgVNcGO4BL39bdEt6nGUlVIgFw==
X-Google-Smtp-Source: AGHT+IEZtcrskBGD0/JNh49p/dHwMWZt9ssKn6lEQlk0CA2rN7o/YSCCTGTghVWCL81F8jiXx30qhg==
X-Received: by 2002:a17:906:3fc3:b0:9f7:b852:f807 with SMTP id k3-20020a1709063fc300b009f7b852f807mr1479598ejj.9.1700821882063;
        Fri, 24 Nov 2023 02:31:22 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 12/39] xen/riscv: introduce asm/setup.h
Date: Fri, 24 Nov 2023 12:30:32 +0200
Message-ID: <2dd966bbcaaf5a884c1a6a0a81dc29511e90f938.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/setup.h | 6 ++++++
 1 file changed, 6 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/setup.h

diff --git a/xen/arch/riscv/include/asm/setup.h b/xen/arch/riscv/include/asm/setup.h
new file mode 100644
index 0000000000..a1adb2be0d
--- /dev/null
+++ b/xen/arch/riscv/include/asm/setup.h
@@ -0,0 +1,6 @@
+#ifndef __ASM_RISCV_SETUP_H__
+#define __ASM_RISCV_SETUP_H__
+
+#define max_init_domid (0)
+
+#endif /* __ASM_RISCV_SETUP_H__ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640378.998518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TT5-0001ih-UL; Fri, 24 Nov 2023 10:31:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640378.998518; Fri, 24 Nov 2023 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 1r6TT5-0001hZ-Ej; Fri, 24 Nov 2023 10:31:27 +0000
Received: by outflank-mailman (input) for mailman id 640378;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TT3-0006hy-0F
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:25 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9da6b42b-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:24 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a002562bd8bso338511566b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:24 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9da6b42b-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821883; x=1701426683; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RvyNUD8u7+KxhE+Xgpff9qujHHMUnFEc/YxdYnHNT4c=;
        b=EA+hbYwq803BapCw9q/jjVZLtKVoIgn8ipp/m4Pfynf/wU3so4BiVsQKEOxoDvKFam
         pfxsdPfPHQitgXEVJijWD+4Eajoz1i+IuzotAWksXtlaflPMER4/WS7q6bZ+QnnyWYL7
         13Pu6zlvVkNoqHoCSygibVB+wiUdGZ1/3Pv2puTsxKwrX4pnifTXrmvOtcrKofoYldKp
         r4s/mk6lml5uRk2Qav68zmRvDemrgmzJTalYJW86WU9lwRFncNEOkuKsVKSvLHKtfrrc
         X3kc6/XC1RyHEdI+tH68MigB9zSOP47ck3PA+jI+QFX38xNjY6PEnN1rwLEav+t/dxvh
         hh9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821883; x=1701426683;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=RvyNUD8u7+KxhE+Xgpff9qujHHMUnFEc/YxdYnHNT4c=;
        b=DYAd/isjojdO1+50DSsj9jUJOnyND1iqyqCYRwEshc6tttnZhbNlyHSGVZl2IuknZ5
         3QPV1cJoJFH0XlDAbZQ3qARWQ+SzlG99fhf3XDghzbfBFOnFUagQwMEzhuDm+2W/gEh/
         sasJNxCssUW+PQOSjDz1dQHo+pqBBOFy83xuNTae4vmmSqtSNQBuX9ptxbqgKpSF1KWk
         E7vgbujawIihdKoyizpWWJO0wHKB7OzH1C2noPDm6iuW+QVqja/GOtsgHQQSMpybZJhh
         LEFGi3E61QH5RWv0/Zew2E4hpZZoSld/sk44vw+G+skX5NuG7k521xyaqqhnVhE7D6Q5
         iMug==
X-Gm-Message-State: AOJu0Yyi4YlfnLiee2495WILOpESL+yLMoPGp62YUXjc6/erNamYrbFn
	4DNi2OwUf1FvQ7wOacKX72Vrei+MULZ4kQ==
X-Google-Smtp-Source: AGHT+IFmhbp9lOgU0DYaUnhpRmHR2aHkrCQ3QrA11Lu1maIummhabw6XUtU1EIMwDqt8fnKvTaHmIw==
X-Received: by 2002:a17:906:2212:b0:9fd:fdae:a9d0 with SMTP id s18-20020a170906221200b009fdfdaea9d0mr5230923ejs.5.1700821883285;
        Fri, 24 Nov 2023 02:31:23 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 13/39] xen/riscv: introduce asm/system.h
Date: Fri, 24 Nov 2023 12:30:33 +0200
Message-ID: <3007fb3d841dbaa078bb5b7af699c883356badca.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/system.h | 79 +++++++++++++++++++++++++++++
 1 file changed, 79 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/system.h

diff --git a/xen/arch/riscv/include/asm/system.h b/xen/arch/riscv/include/asm/system.h
new file mode 100644
index 0000000000..45bfed4e2b
--- /dev/null
+++ b/xen/arch/riscv/include/asm/system.h
@@ -0,0 +1,79 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#ifndef _ASM_RISCV_BARRIER_H
+#define _ASM_RISCV_BARRIER_H
+
+#include <asm/csr.h>
+
+#ifndef __ASSEMBLY__
+
+#define RISCV_FENCE(p, s) \
+    __asm__ __volatile__ ("fence " #p "," #s : : : "memory")
+
+/* These barriers need to enforce ordering on both devices or memory. */
+#define mb()                    RISCV_FENCE(iorw,iorw)
+#define rmb()                   RISCV_FENCE(ir,ir)
+#define wmb()                   RISCV_FENCE(ow,ow)
+
+/* These barriers do not need to enforce ordering on devices, just memory. */
+#define smp_mb()                RISCV_FENCE(rw,rw)
+#define smp_rmb()               RISCV_FENCE(r,r)
+#define smp_wmb()               RISCV_FENCE(w,w)
+#define smp_mb__before_atomic() smp_mb()
+#define smp_mb__after_atomic()  smp_mb()
+
+/*
+#define __smp_store_release(p, v)       \
+do {                                    \
+	compiletime_assert_atomic_type(*p); \
+	RISCV_FENCE(rw,w);                  \
+	WRITE_ONCE(*p, v);                  \
+} while (0)
+
+#define __smp_load_acquire(p)           \
+({                                      \
+    typeof(*p) ___p1 = READ_ONCE(*p);   \
+    compiletime_assert_atomic_type(*p); \
+    RISCV_FENCE(r,rw);                  \
+    ___p1;                              \
+})
+*/
+
+static inline unsigned long local_save_flags(void)
+{
+    return csr_read(sstatus);
+}
+
+static inline void local_irq_enable(void)
+{
+    csr_set(sstatus, SSTATUS_SIE);
+}
+
+static inline void local_irq_disable(void)
+{
+    csr_clear(sstatus, SSTATUS_SIE);
+}
+
+#define local_irq_save(x)                           \
+({                                                  \
+    x = csr_read_clear(CSR_SSTATUS, SSTATUS_SIE);   \
+    local_irq_disable();                            \
+})
+
+static inline void local_irq_restore(unsigned long flags)
+{
+	csr_set(CSR_SSTATUS, flags & SSTATUS_SIE);
+}
+
+static inline int local_irq_is_enabled(void)
+{
+    unsigned long flags = local_save_flags();
+
+    return flags & SSTATUS_SIE;
+}
+
+#define arch_fetch_and_add(x, v) __sync_fetch_and_add(x, v)
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* _ASM_RISCV_BARRIER_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640379.998528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TT7-0002Al-SC; Fri, 24 Nov 2023 10:31:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640379.998528; Fri, 24 Nov 2023 10:31: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 1r6TT7-00029d-Iw; Fri, 24 Nov 2023 10:31:29 +0000
Received: by outflank-mailman (input) for mailman id 640379;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TT5-0006hx-Ma
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:27 +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 9efe9df1-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:26 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a002562bd8bso338517266b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:26 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9efe9df1-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821885; x=1701426685; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NGHd1eioR6HPD5JPnk3lVVgnNn+PvGtKXyao91lq60c=;
        b=S/bRg5ZbVFpD7Oiy1uCed1ltJLWbEt1Bg6qcdtsJsW0VKEghSOG0m9ded1+x8dJL2t
         KDmM/4vpBGGWKMcs2JFh68Ro3qjtrWlZL22GpmrUK7LVKRADhmRgyOYzRjOgRm71JqUC
         Q3aVlKjdMiVvMLxkixZfKE/YOoRXmyfEO8KyiIV7+fxSJjPKN9BfMTFBybR4b8xYcnmP
         eW8o/Va5NUfAtepgcMtoEhlQ0zEgtyecdG/E0AAYh+rAFHnxNFWTx0231CYYrUZiv/gT
         l+uA7tT74v3O1aC2WSBedJ+/E5S79VEa65uNljhGMHKw2mlOrhe2FiEhDrJfuWeVzCNl
         ZBcQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821885; x=1701426685;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=NGHd1eioR6HPD5JPnk3lVVgnNn+PvGtKXyao91lq60c=;
        b=nOqmTiPyw2xaRJZlk23WGyZGHMWd8tGMyB+ohpdEl9xxTUQiSpVGdyGyGMv03jPi99
         aZ31j9NZYY/5N1EbgxMP+psUOVdz5hH0RVTnlt2IFtGyjyu9DSzrzw2mI4lj4OYE3i7N
         JMlX1TdryM7a5Ytp2bOk+m8KGdcq9H7GhAfNmz3nW4y1TjA9XJLlXBf9RuJitE9vVC9V
         6nzxv3EBjj79/G6TonQE2SQ1aolQY0x+0EYIbZbYlEOYqhZtj3nxZ/DVhu0uQ9i5hTll
         g7JHqsLS5aUbBnDJ6uSyxXQkYbAPPtHNgfTxpcfz+XZ5cqTyXRci8q3JcBBlWRQ9jcVZ
         jEEg==
X-Gm-Message-State: AOJu0YzSbO5GSIAY3ZpS9V2fvd1pQkdirA5n6M6z7HI3ivBoA0Zrj5kH
	EmxHU9hD9D1JeqwDE5LM4fhodTFcbvRchw==
X-Google-Smtp-Source: AGHT+IF369ssi9i4xHOn9AHxdONjbG9obh1F0ASlfG8CJ2qND7XQtQOeZTvzeo5UxLoOqe5ik7Z9bg==
X-Received: by 2002:a17:906:3ca:b0:9fe:ae1b:77bc with SMTP id c10-20020a17090603ca00b009feae1b77bcmr2106918eja.34.1700821885024;
        Fri, 24 Nov 2023 02:31:25 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 15/39] xen/riscv: introduce flushtlb.h
Date: Fri, 24 Nov 2023 12:30:35 +0200
Message-ID: <12a698e62766be7dfdac23923d7cdcb3b9b2d52e.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/flushtlb.h | 31 +++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/flushtlb.h

diff --git a/xen/arch/riscv/include/asm/flushtlb.h b/xen/arch/riscv/include/asm/flushtlb.h
new file mode 100644
index 0000000000..7059a53823
--- /dev/null
+++ b/xen/arch/riscv/include/asm/flushtlb.h
@@ -0,0 +1,31 @@
+#ifndef __ASM_RISCV_FLUSHTLB_H__
+#define __ASM_RISCV_FLUSHTLB_H__
+
+#include <xen/cpumask.h>
+
+/*
+ * Filter the given set of CPUs, removing those that definitely flushed their
+ * TLB since @page_timestamp.
+ */
+/* XXX lazy implementation just doesn't clear anything.... */
+static inline void tlbflush_filter(cpumask_t *mask, uint32_t page_timestamp) {}
+
+#define tlbflush_current_time() (0)
+
+static inline void page_set_tlbflush_timestamp(struct page_info *page)
+{
+    BUG();
+}
+
+/* Flush specified CPUs' TLBs */
+void arch_flush_tlb_mask(const cpumask_t *mask);
+
+#endif /* __ASM_RISCV_FLUSHTLB_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640380.998534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TT9-0002Ha-2a; Fri, 24 Nov 2023 10:31:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640380.998534; Fri, 24 Nov 2023 10:31: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 1r6TT8-0002Es-6D; Fri, 24 Nov 2023 10:31:30 +0000
Received: by outflank-mailman (input) for mailman id 640380;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TT6-0006hx-En
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:28 +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 9f72588c-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:27 +0100 (CET)
Received: by mail-ej1-x62a.google.com with SMTP id
 a640c23a62f3a-a04196fc957so253609766b.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:27 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:25 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9f72588c-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821886; x=1701426686; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eVbhwiQ/unWzyHVSdx4EzfEooDOrHeGKuFCA4y0CqRg=;
        b=Fzbt1w63rfXNuApmwGtl6JwLYQECR+Ek6tOmcEeHY360ErfEc7NF91hNyTmo6++Oeo
         sHdtwtF1ZM8EpDastm7dCJvjplie9CucJ6dYY1lzAQCj7xyBNS919HLxKWljz3ZwqS0J
         S58U5TWZ9wlEbH41vWzyzM083sGjmdA9dAfZTLL8UA26DP9zqUhN8GCKBdVcXwwxp0RO
         zb8ODFqDwES1wF7ttw5+a09OwkAO4GIz81vF5R32JC7l4gkmiCKLHnusC44muIVsTsbW
         kd6ESwn7XI/7Az+sDc8KHm/wcbI+EmqXyhypHLiMA1YczH2bO4xHCm3mHMQPNf2bPlEZ
         HuAQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821886; x=1701426686;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=eVbhwiQ/unWzyHVSdx4EzfEooDOrHeGKuFCA4y0CqRg=;
        b=Kwt0emUtXVp8xnb0z+71nHXkim1RiSKS+wefxAoVMZQ0+sJbSkhXqZ/y7/skBkTEvT
         9pjhMsl95XSrw4fTaHvjyTvFt2SZvHSIlcdEbgMl1xTOuaUJu7FvVr7Hz2sSLgb9WgG2
         NkskHIeM/bzN4FjvIj03SL+LXhFWRGMcOTKiLDU3jCd/wI4DorVOH97b3/mNIITPeA9r
         e1MZ+LMROCaoIMWk/Zp8//Z4owQIF4bHw1YxhKKh2bQLEGLG2GS72ewMrYIstx/0/m67
         6we/ta/mk6VWoGTh6Q6Z1uUpGlrIWCBgBxPhNwdponP6ZY+4Fp16m41BhontkUsZDTdM
         ffnw==
X-Gm-Message-State: AOJu0Ywl1j+yJeuJGt4EgqL4NYDYj5kuwqjGJuPi9dOa9i73YOTaYOaV
	bnRO0o6/a3KXji5/Q5Xsbak7iDfMN3aSqQ==
X-Google-Smtp-Source: AGHT+IHlfIyaQh9t2h5OyFv+9tIIx+Yy3omR/VDqvHjqcwI1Z2EYKSeV86u2mUn0/tBPeldyfKwZYA==
X-Received: by 2002:a17:906:17c7:b0:a03:9aa8:166f with SMTP id u7-20020a17090617c700b00a039aa8166fmr1623036eje.37.1700821886248;
        Fri, 24 Nov 2023 02:31:26 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 16/39] xen/riscv: introduce asm/smp.h
Date: Fri, 24 Nov 2023 12:30:36 +0200
Message-ID: <39cc57e443d2df432f90361204c9edd802fcc320.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/smp.h | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/smp.h

diff --git a/xen/arch/riscv/include/asm/smp.h b/xen/arch/riscv/include/asm/smp.h
new file mode 100644
index 0000000000..a7b4f94ce4
--- /dev/null
+++ b/xen/arch/riscv/include/asm/smp.h
@@ -0,0 +1,23 @@
+#ifndef __ASM_RISCV_SMP_H
+#define __ASM_RISCV_SMP_H
+
+#ifndef __ASSEMBLY__
+#include <xen/cpumask.h>
+#include <xen/percpu.h>
+#endif
+
+DECLARE_PER_CPU(cpumask_var_t, cpu_sibling_mask);
+DECLARE_PER_CPU(cpumask_var_t, cpu_core_mask);
+
+#define cpu_is_offline(cpu) unlikely(!cpu_online(cpu))
+
+/*
+ * Do we, for platform reasons, need to actually keep CPUs online when we
+ * would otherwise prefer them to be off?
+ */
+#define park_offline_cpus false
+
+/* TODO: need to be implemeted */
+#define smp_processor_id() (0)
+
+#endif
\ No newline at end of file
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640381.998547 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TTB-0002ru-R8; Fri, 24 Nov 2023 10:31:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640381.998547; Fri, 24 Nov 2023 10:31: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 1r6TTB-0002p0-3X; Fri, 24 Nov 2023 10:31:33 +0000
Received: by outflank-mailman (input) for mailman id 640381;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TT8-0006hx-1D
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:30 +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 a042a396-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:28 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-9fffa4c4f43so245835166b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:28 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.26
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a042a396-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821887; x=1701426687; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9riaokCWExjFFZnUk2kE6ssbpq4/t90lh8ou5GK8cws=;
        b=hcBk1MVWFADvXYOajjYsggTEUZs7SwxRg9UZq5djuXc94iyPNXrdJXME/UfRYQWP2h
         0Gt0+JqJuKrcyGkaPW4omivg92Biwq3dZLGeAeMddTUjB1Y7vgJMOPqfwZNDnwfxB5SO
         K3V9BvBHXz94XXCoZwjeU+xHFp171Ql67yq5nlLsE6tnKBs/gXiiiGNIC8yKZNMroDhu
         HRyGEIc0R7g02adoUINvTNTSbuLAK/VW9AMGcy2zM9hfZI47OJoLFGH6NVBkoVcNqYz/
         HFKJiWGg2CXIrfBT2fKPaBlwTsZ67pP4xZjVFnI1BDUq45z5I9B7kyOxjpquj+G5toUi
         unrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821887; x=1701426687;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9riaokCWExjFFZnUk2kE6ssbpq4/t90lh8ou5GK8cws=;
        b=ghY60AROaN3jLH7+0cKeZG5UNvBxu6aYQdr90xsRRh2AtVwUEMJtsq3ehEXN0Kh+9n
         Z6pUDkb+kO+LcSoAjXQGfTrUPvPCVkjNcWZQ0KZtpBb/Nmgamx9G0/2iEhKXNtvmWRck
         Efqb1duJQslRRVovwmUWG3BR0uJlKiSBKsPYQgzGd1uQfOUJzqGriAEH5fpaaciHzYe/
         Y+VsYBHmUN8BnfpyojAVK5dL6qktOikZ+vhbiX3jUtp5ZhzLjgQCiCfcwxuWL86qe+VN
         A5PE85uzLfm6vjAkmt0JyWvp1HmLmhCPd046rF0z0K6bBPjGoKymJXK8jC8mdVnLIqlh
         FyFg==
X-Gm-Message-State: AOJu0Yw1hVsAA5kv6GJ3HlZnbaDlrRPFFLCglLouBSDQmgcJMt0zmYXM
	TyOeH8xCeu1yP/FMMj385p8rxTq8FfgmgA==
X-Google-Smtp-Source: AGHT+IG698d3KMDeF4UhW/xSE30Qxjj9yiXgYr3I4OGIxQewyYST6MbRm8Wd9VW0YOU1euKq2wYSeg==
X-Received: by 2002:a17:906:5299:b0:a00:8706:c82e with SMTP id c25-20020a170906529900b00a008706c82emr1910109ejm.18.1700821887071;
        Fri, 24 Nov 2023 02:31:27 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Bobby Eshleman <bobbyeshleman@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Connor Davis <connojdavis@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>,
	Oleksii Kurochko <oleksii.kurochko@gmail.com>
Subject: [PATCH v2 17/39] xen/riscv: introduce asm/atomic.h
Date: Fri, 24 Nov 2023 12:30:37 +0200
Message-ID: <e9ead40abe380cf768a2a0150dc4c9e479a75307.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Bobby Eshleman <bobbyeshleman@gmail.com>

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Change an author of commit. I got this header from Bobby's old repo.
---
 xen/arch/riscv/include/asm/atomic.h | 375 ++++++++++++++++++++++++++++
 1 file changed, 375 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/atomic.h

diff --git a/xen/arch/riscv/include/asm/atomic.h b/xen/arch/riscv/include/asm/atomic.h
new file mode 100644
index 0000000000..d4849cf282
--- /dev/null
+++ b/xen/arch/riscv/include/asm/atomic.h
@@ -0,0 +1,375 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Taken and modified from Linux.
+ * 
+ * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
+ * Copyright (C) 2012 Regents of the University of California
+ * Copyright (C) 2017 SiFive
+ * Copyright (C) 2021 Vates SAS
+ */
+
+#ifndef _ASM_RISCV_ATOMIC_H
+#define _ASM_RISCV_ATOMIC_H
+
+#include <xen/atomic.h>
+#include <asm/cmpxchg.h>
+#include <asm/fence.h>
+#include <asm/io.h>
+#include <asm/system.h>
+
+void __bad_atomic_size(void);
+
+static always_inline void read_atomic_size(const volatile void *p,
+                                           void *res,
+                                           unsigned int size)
+{
+    switch ( size ) {
+    case 1: *(uint8_t *)res = readb((uint8_t *)p); break;
+    case 2: *(uint16_t *)res = readw((uint16_t *)p); break;
+    case 4: *(uint32_t *)res = readl((uint32_t *)p); break;
+    case 8: *(uint32_t *)res  = readq((uint64_t *)p); break;
+    default: __bad_atomic_size(); break;
+    }
+}
+
+#define read_atomic(p) ({                                               \
+    union { typeof(*p) val; char c[0]; } x_;                            \
+    read_atomic_size(p, x_.c, sizeof(*p));                              \
+    x_.val;                                                             \
+})
+
+
+#define write_atomic(p, x) ({                                           \
+    typeof(*p) __x = (x);                                               \
+    switch ( sizeof(*p) ) {                                             \
+    case 1: writeb((uint8_t)__x,  (uint8_t *)  p); break;              \
+    case 2: writew((uint16_t)__x, (uint16_t *) p); break;              \
+    case 4: writel((uint32_t)__x, (uint32_t *) p); break;              \
+    case 8: writeq((uint64_t)__x, (uint64_t *) p); break;              \
+    default: __bad_atomic_size(); break;                                \
+    }                                                                   \
+    __x;                                                                \
+})
+
+/* TODO: Fix this */
+#define add_sized(p, x) ({                                              \
+    typeof(*(p)) __x = (x);                                             \
+    switch ( sizeof(*(p)) )                                             \
+    {                                                                   \
+    case 1: writeb(read_atomic(p) + __x, (uint8_t *)(p)); break;        \
+    case 2: writew(read_atomic(p) + __x, (uint16_t *)(p)); break;       \
+    case 4: writel(read_atomic(p) + __x, (uint32_t *)(p)); break;       \
+    default: __bad_atomic_size(); break;                                \
+    }                                                                   \
+})
+
+/*
+ *  __unqual_scalar_typeof(x) - Declare an unqualified scalar type, leaving
+ *               non-scalar types unchanged.
+ *
+ * Prefer C11 _Generic for better compile-times and simpler code. Note: 'char'
+ * is not type-compatible with 'signed char', and we define a separate case.
+ */
+#define __scalar_type_to_expr_cases(type)               \
+    unsigned type:  (unsigned type)0,                   \
+    signed type:    (signed type)0
+
+#define __unqual_scalar_typeof(x) typeof(               \
+    _Generic((x),                                       \
+        char:  (char)0,                                 \
+        __scalar_type_to_expr_cases(char),              \
+        __scalar_type_to_expr_cases(short),             \
+        __scalar_type_to_expr_cases(int),               \
+        __scalar_type_to_expr_cases(long),              \
+        __scalar_type_to_expr_cases(long long),         \
+        default: (x)))
+
+#define READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
+#define WRITE_ONCE(x, val)                                      \
+    do {                                                        \
+            *(volatile typeof(x) *)&(x) = (val);                \
+    } while (0)
+
+#define __atomic_acquire_fence()					\
+	__asm__ __volatile__(RISCV_ACQUIRE_BARRIER "" ::: "memory")
+
+#define __atomic_release_fence()					\
+	__asm__ __volatile__(RISCV_RELEASE_BARRIER "" ::: "memory");
+
+static inline int atomic_read(const atomic_t *v)
+{
+	return READ_ONCE(v->counter);
+}
+
+static inline int _atomic_read(atomic_t v)
+{
+    return v.counter;
+}
+
+static inline void atomic_set(atomic_t *v, int i)
+{
+	WRITE_ONCE(v->counter, i);
+}
+
+static inline void _atomic_set(atomic_t *v, int i)
+{
+    v->counter = i;
+}
+
+static inline int atomic_sub_and_test(int i, atomic_t *v)
+{
+    return atomic_sub_return(i, v) == 0;
+}
+
+static inline void atomic_inc(atomic_t *v)
+{
+    atomic_add(1, v);
+}
+
+static inline int atomic_inc_return(atomic_t *v)
+{
+    return atomic_add_return(1, v);
+}
+
+static inline void atomic_dec(atomic_t *v)
+{
+    atomic_sub(1, v);
+}
+
+static inline int atomic_dec_return(atomic_t *v)
+{
+    return atomic_sub_return(1, v);
+}
+
+
+static inline int atomic_dec_and_test(atomic_t *v)
+{
+    return atomic_sub_return(1, v) == 0;
+}
+
+static inline int atomic_add_negative(int i, atomic_t *v)
+{
+    return atomic_add_return(i, v) < 0;
+}
+
+static inline int atomic_inc_and_test(atomic_t *v)
+{
+    return atomic_add_return(1, v) == 0;
+}
+
+/*
+ * First, the atomic ops that have no ordering constraints and therefor don't
+ * have the AQ or RL bits set.  These don't return anything, so there's only
+ * one version to worry about.
+ */
+#define ATOMIC_OP(op, asm_op, I, asm_type, c_type, prefix)		\
+static inline							\
+void atomic##prefix##_##op(c_type i, atomic##prefix##_t *v)		\
+{									\
+	__asm__ __volatile__ (						\
+		"	amo" #asm_op "." #asm_type " zero, %1, %0"	\
+		: "+A" (v->counter)					\
+		: "r" (I)						\
+		: "memory");						\
+}									\
+
+#define ATOMIC_OPS(op, asm_op, I)					\
+        ATOMIC_OP (op, asm_op, I, w, int,   )
+
+ATOMIC_OPS(add, add,  i)
+ATOMIC_OPS(sub, add, -i)
+ATOMIC_OPS(and, and,  i)
+ATOMIC_OPS( or,  or,  i)
+ATOMIC_OPS(xor, xor,  i)
+
+#undef ATOMIC_OP
+#undef ATOMIC_OPS
+
+/*
+ * Atomic ops that have ordered, relaxed, acquire, and release variants.
+ * There's two flavors of these: the arithmatic ops have both fetch and return
+ * versions, while the logical ops only have fetch versions.
+ */
+#define ATOMIC_FETCH_OP(op, asm_op, I, asm_type, c_type, prefix)	\
+static inline							\
+c_type atomic##prefix##_fetch_##op##_relaxed(c_type i,			\
+					     atomic##prefix##_t *v)	\
+{									\
+	register c_type ret;						\
+	__asm__ __volatile__ (						\
+		"	amo" #asm_op "." #asm_type " %1, %2, %0"	\
+		: "+A" (v->counter), "=r" (ret)				\
+		: "r" (I)						\
+		: "memory");						\
+	return ret;							\
+}									\
+static inline							\
+c_type atomic##prefix##_fetch_##op(c_type i, atomic##prefix##_t *v)	\
+{									\
+	register c_type ret;						\
+	__asm__ __volatile__ (						\
+		"	amo" #asm_op "." #asm_type ".aqrl  %1, %2, %0"	\
+		: "+A" (v->counter), "=r" (ret)				\
+		: "r" (I)						\
+		: "memory");						\
+	return ret;							\
+}
+
+#define ATOMIC_OP_RETURN(op, asm_op, c_op, I, asm_type, c_type, prefix)	\
+static inline							\
+c_type atomic##prefix##_##op##_return_relaxed(c_type i,			\
+					      atomic##prefix##_t *v)	\
+{									\
+        return atomic##prefix##_fetch_##op##_relaxed(i, v) c_op I;	\
+}									\
+static inline							\
+c_type atomic##prefix##_##op##_return(c_type i, atomic##prefix##_t *v)	\
+{									\
+        return atomic##prefix##_fetch_##op(i, v) c_op I;		\
+}
+
+#define ATOMIC_OPS(op, asm_op, c_op, I)					\
+        ATOMIC_FETCH_OP( op, asm_op,       I, w, int,   )		\
+        ATOMIC_OP_RETURN(op, asm_op, c_op, I, w, int,   )
+
+ATOMIC_OPS(add, add, +,  i)
+ATOMIC_OPS(sub, add, +, -i)
+
+#define atomic_add_return_relaxed	atomic_add_return_relaxed
+#define atomic_sub_return_relaxed	atomic_sub_return_relaxed
+#define atomic_add_return		atomic_add_return
+#define atomic_sub_return		atomic_sub_return
+
+#define atomic_fetch_add_relaxed	atomic_fetch_add_relaxed
+#define atomic_fetch_sub_relaxed	atomic_fetch_sub_relaxed
+#define atomic_fetch_add		atomic_fetch_add
+#define atomic_fetch_sub		atomic_fetch_sub
+
+#undef ATOMIC_OPS
+
+#define ATOMIC_OPS(op, asm_op, I)					\
+        ATOMIC_FETCH_OP(op, asm_op, I, w, int,   )
+
+ATOMIC_OPS(and, and, i)
+ATOMIC_OPS( or,  or, i)
+ATOMIC_OPS(xor, xor, i)
+
+#define atomic_fetch_and_relaxed	atomic_fetch_and_relaxed
+#define atomic_fetch_or_relaxed		atomic_fetch_or_relaxed
+#define atomic_fetch_xor_relaxed	atomic_fetch_xor_relaxed
+#define atomic_fetch_and		atomic_fetch_and
+#define atomic_fetch_or			atomic_fetch_or
+#define atomic_fetch_xor		atomic_fetch_xor
+
+#undef ATOMIC_OPS
+
+#undef ATOMIC_FETCH_OP
+#undef ATOMIC_OP_RETURN
+
+/* This is required to provide a full barrier on success. */
+static inline int atomic_add_unless(atomic_t *v, int a, int u)
+{
+       int prev, rc;
+
+	__asm__ __volatile__ (
+		"0:	lr.w     %[p],  %[c]\n"
+		"	beq      %[p],  %[u], 1f\n"
+		"	add      %[rc], %[p], %[a]\n"
+		"	sc.w.rl  %[rc], %[rc], %[c]\n"
+		"	bnez     %[rc], 0b\n"
+		"	fence    rw, rw\n"
+		"1:\n"
+		: [p]"=&r" (prev), [rc]"=&r" (rc), [c]"+A" (v->counter)
+		: [a]"r" (a), [u]"r" (u)
+		: "memory");
+	return prev;
+}
+#define atomic_fetch_add_unless atomic_fetch_add_unless
+
+/*
+ * atomic_{cmp,}xchg is required to have exactly the same ordering semantics as
+ * {cmp,}xchg and the operations that return, so they need a full barrier.
+ */
+#define ATOMIC_OP(c_t, prefix, size)					\
+static inline							\
+c_t atomic##prefix##_xchg_relaxed(atomic##prefix##_t *v, c_t n)		\
+{									\
+	return __xchg_relaxed(&(v->counter), n, size);			\
+}									\
+static inline							\
+c_t atomic##prefix##_xchg_acquire(atomic##prefix##_t *v, c_t n)		\
+{									\
+	return __xchg_acquire(&(v->counter), n, size);			\
+}									\
+static inline							\
+c_t atomic##prefix##_xchg_release(atomic##prefix##_t *v, c_t n)		\
+{									\
+	return __xchg_release(&(v->counter), n, size);			\
+}									\
+static inline							\
+c_t atomic##prefix##_xchg(atomic##prefix##_t *v, c_t n)			\
+{									\
+	return __xchg(&(v->counter), n, size);				\
+}									\
+static inline							\
+c_t atomic##prefix##_cmpxchg_relaxed(atomic##prefix##_t *v,		\
+				     c_t o, c_t n)			\
+{									\
+	return __cmpxchg_relaxed(&(v->counter), o, n, size);		\
+}									\
+static inline							\
+c_t atomic##prefix##_cmpxchg_acquire(atomic##prefix##_t *v,		\
+				     c_t o, c_t n)			\
+{									\
+	return __cmpxchg_acquire(&(v->counter), o, n, size);		\
+}									\
+static inline							\
+c_t atomic##prefix##_cmpxchg_release(atomic##prefix##_t *v,		\
+				     c_t o, c_t n)			\
+{									\
+	return __cmpxchg_release(&(v->counter), o, n, size);		\
+}									\
+static inline							\
+c_t atomic##prefix##_cmpxchg(atomic##prefix##_t *v, c_t o, c_t n)	\
+{									\
+	return __cmpxchg(&(v->counter), o, n, size);			\
+}
+
+#define ATOMIC_OPS()							\
+	ATOMIC_OP(int,   , 4)
+
+ATOMIC_OPS()
+
+#define atomic_xchg_relaxed atomic_xchg_relaxed
+#define atomic_xchg_acquire atomic_xchg_acquire
+#define atomic_xchg_release atomic_xchg_release
+#define atomic_xchg atomic_xchg
+#define atomic_cmpxchg_relaxed atomic_cmpxchg_relaxed
+#define atomic_cmpxchg_acquire atomic_cmpxchg_acquire
+#define atomic_cmpxchg_release atomic_cmpxchg_release
+#define atomic_cmpxchg atomic_cmpxchg
+
+#undef ATOMIC_OPS
+#undef ATOMIC_OP
+
+static inline int atomic_sub_if_positive(atomic_t *v, int offset)
+{
+       int prev, rc;
+
+	__asm__ __volatile__ (
+		"0:	lr.w     %[p],  %[c]\n"
+		"	sub      %[rc], %[p], %[o]\n"
+		"	bltz     %[rc], 1f\n"
+		"	sc.w.rl  %[rc], %[rc], %[c]\n"
+		"	bnez     %[rc], 0b\n"
+		"	fence    rw, rw\n"
+		"1:\n"
+		: [p]"=&r" (prev), [rc]"=&r" (rc), [c]"+A" (v->counter)
+		: [o]"r" (offset)
+		: "memory");
+	return prev - offset;
+}
+
+#define atomic_dec_if_positive(v)	atomic_sub_if_positive(v, 1)
+
+#endif /* _ASM_RISCV_ATOMIC_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640382.998554 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TTD-00035u-9V; Fri, 24 Nov 2023 10:31:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640382.998554; Fri, 24 Nov 2023 10: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 1r6TTC-00030S-7J; Fri, 24 Nov 2023 10:31:34 +0000
Received: by outflank-mailman (input) for mailman id 640382;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TT8-0006hx-Ri
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:30 +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 a0b9701d-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:29 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a00cbb83c82so252087366b.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:29 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:27 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a0b9701d-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821888; x=1701426688; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z6zyrgWKV9uY+EAKr5mS41Ot5++Nclsc1qYYGHxaNGc=;
        b=TIdv8Ub8Lt8XU8PBu63pNGvs0MKlPyGQGBTc+hurVGzaNOo0eEsPyncQ+RqA1UbP5R
         pQRVzpz802ipkx07tQiPV016sw0f5Joepfs/Z16kc7b1cX7tLEuao7rxAHcmqlu/4jCC
         77ahvVJgmdEZgCWvanD9EsfwRobp+ZbQJ9qFvRpbGgn8EXcGcKOibfLMIQZfSpdiuFsy
         4FT6WIVZL72q42qRglEIgqxKEnZWGMzTdOyTK7s1AKJXxfD50wiOyMPAvaRPKRNP1k3N
         uD1ymPdEyI2YBQO817zeUIRel74BmbZ+BnrZ+ZdC35hY7FozoWLcaR6n01U7k3AVOOWI
         YmAA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821888; x=1701426688;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=z6zyrgWKV9uY+EAKr5mS41Ot5++Nclsc1qYYGHxaNGc=;
        b=ONwcA0pjIphiLkWP/VHGLOZrMpL4XUeCVpwK+B3zlMfB8eBa2QmED53La8y/m4EgOO
         3jI1oncCZIjOxl5fyTmftT3e7EztAl2ip09ZJDBKon3c9E2sroCkfJEYjGfLfbq/QYTp
         +JOg93mv3D0jFtujV2eLMJDO+m4ZrokBMHdplTx8cDDA3EFGwxwR/2oioRktG57gthn1
         WRCXxQxLFls9faxO90/blr4mR4LtKT9NTbHk5pqOWZ431i6e8dMNebHCiE9vk1nJkNgt
         CI562tGwEbA3V4UCfFtILA5fKn74+pUCXSlb7CMUc8O5WeRQ7DQOyeFExAxAYcRTRU2o
         /Ofw==
X-Gm-Message-State: AOJu0Yw5Jdqg+KNbzZvEkpmUJWFTszQ/EZhWh1qlrvRBAOBwdjybgDBd
	td29Qtsj1yDgN+TScvXfFs7bGkxgyDD+rw==
X-Google-Smtp-Source: AGHT+IGiW2xMWCZQkZVFkoFW3aIzAbJRBhQlbSCDbTG01/yiBNU9kQC2paUrZWKaff86JzdgCwdJ5A==
X-Received: by 2002:a17:906:fcc:b0:9bd:a75a:5644 with SMTP id c12-20020a1709060fcc00b009bda75a5644mr1533166ejk.16.1700821888385;
        Fri, 24 Nov 2023 02:31:28 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 18/39] xen/riscv: introduce cmpxchg.h
Date: Fri, 24 Nov 2023 12:30:38 +0200
Message-ID: <981cabb593fb4b5d8927071d456ec7016891fe71.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- update the comment at the top of the header.
	- change xen/lib.h to xen/bug.h.
	- sort inclusion of headers properly.
---
 xen/arch/riscv/include/asm/cmpxchg.h | 379 +++++++++++++++++++++++++++
 1 file changed, 379 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/cmpxchg.h

diff --git a/xen/arch/riscv/include/asm/cmpxchg.h b/xen/arch/riscv/include/asm/cmpxchg.h
new file mode 100644
index 0000000000..c535bc9660
--- /dev/null
+++ b/xen/arch/riscv/include/asm/cmpxchg.h
@@ -0,0 +1,379 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ *  Taken and modified from Linux.
+ *
+ *  Copyright (C) 2014 Regents of the University of California
+ */
+
+#ifndef _ASM_RISCV_CMPXCHG_H
+#define _ASM_RISCV_CMPXCHG_H
+
+#include <xen/bug.h>
+
+#include <asm/fence.h>
+#include <asm/system.h>
+
+#define __xchg_relaxed(ptr, new, size)					\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(new) __new = (new);					\
+	__typeof__(*(ptr)) __ret;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.w %0, %2, %1\n"			\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.d %0, %2, %1\n"			\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define xchg_relaxed(ptr, x)						\
+({									\
+	__typeof__(*(ptr)) _x_ = (x);					\
+	(__typeof__(*(ptr))) __xchg_relaxed((ptr),			\
+					    _x_, sizeof(*(ptr)));	\
+})
+
+#define __xchg_acquire(ptr, new, size)					\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(new) __new = (new);					\
+	__typeof__(*(ptr)) __ret;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.w %0, %2, %1\n"			\
+			RISCV_ACQUIRE_BARRIER				\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.d %0, %2, %1\n"			\
+			RISCV_ACQUIRE_BARRIER				\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define xchg_acquire(ptr, x)						\
+({									\
+	__typeof__(*(ptr)) _x_ = (x);					\
+	(__typeof__(*(ptr))) __xchg_acquire((ptr),			\
+					    _x_, sizeof(*(ptr)));	\
+})
+
+#define __xchg_release(ptr, new, size)					\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(new) __new = (new);					\
+	__typeof__(*(ptr)) __ret;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			RISCV_RELEASE_BARRIER				\
+			"	amoswap.w %0, %2, %1\n"			\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			RISCV_RELEASE_BARRIER				\
+			"	amoswap.d %0, %2, %1\n"			\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define xchg_release(ptr, x)						\
+({									\
+	__typeof__(*(ptr)) _x_ = (x);					\
+	(__typeof__(*(ptr))) __xchg_release((ptr),			\
+					    _x_, sizeof(*(ptr)));	\
+})
+
+#define __xchg(ptr, new, size)						\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(new) __new = (new);					\
+	__typeof__(*(ptr)) __ret;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.w.aqrl %0, %2, %1\n"		\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"	amoswap.d.aqrl %0, %2, %1\n"		\
+			: "=r" (__ret), "+A" (*__ptr)			\
+			: "r" (__new)					\
+			: "memory");					\
+		break;							\
+	default:							\
+		__ret = 0; \
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define xchg(ptr, x)							\
+({									\
+	__typeof__(*(ptr)) _x_ = (x);					\
+	(__typeof__(*(ptr))) __xchg((ptr), _x_, sizeof(*(ptr)));	\
+})
+
+#define xchg32(ptr, x)							\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 4);				\
+	xchg((ptr), (x));						\
+})
+
+#define xchg64(ptr, x)							\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
+	xchg((ptr), (x));						\
+})
+
+/*
+ * Atomic compare and exchange.  Compare OLD with MEM, if identical,
+ * store NEW in MEM.  Return the initial value in MEM.  Success is
+ * indicated by comparing RETURN with OLD.
+ */
+#define __cmpxchg_relaxed(ptr, old, new, size)				\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(*(ptr)) __old = (old);				\
+	__typeof__(*(ptr)) __new = (new);				\
+	__typeof__(*(ptr)) __ret;					\
+	register unsigned int __rc;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.w %0, %2\n"				\
+			"	bne  %0, %z3, 1f\n"			\
+			"	sc.w %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.d %0, %2\n"				\
+			"	bne %0, %z3, 1f\n"			\
+			"	sc.d %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define cmpxchg_relaxed(ptr, o, n)					\
+({									\
+	__typeof__(*(ptr)) _o_ = (o);					\
+	__typeof__(*(ptr)) _n_ = (n);					\
+	(__typeof__(*(ptr))) __cmpxchg_relaxed((ptr),			\
+					_o_, _n_, sizeof(*(ptr)));	\
+})
+
+#define __cmpxchg_acquire(ptr, old, new, size)				\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(*(ptr)) __old = (old);				\
+	__typeof__(*(ptr)) __new = (new);				\
+	__typeof__(*(ptr)) __ret;					\
+	register unsigned int __rc;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.w %0, %2\n"				\
+			"	bne  %0, %z3, 1f\n"			\
+			"	sc.w %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			RISCV_ACQUIRE_BARRIER				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.d %0, %2\n"				\
+			"	bne %0, %z3, 1f\n"			\
+			"	sc.d %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			RISCV_ACQUIRE_BARRIER				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define cmpxchg_acquire(ptr, o, n)					\
+({									\
+	__typeof__(*(ptr)) _o_ = (o);					\
+	__typeof__(*(ptr)) _n_ = (n);					\
+	(__typeof__(*(ptr))) __cmpxchg_acquire((ptr),			\
+					_o_, _n_, sizeof(*(ptr)));	\
+})
+
+#define __cmpxchg_release(ptr, old, new, size)				\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(*(ptr)) __old = (old);				\
+	__typeof__(*(ptr)) __new = (new);				\
+	__typeof__(*(ptr)) __ret;					\
+	register unsigned int __rc;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			RISCV_RELEASE_BARRIER				\
+			"0:	lr.w %0, %2\n"				\
+			"	bne  %0, %z3, 1f\n"			\
+			"	sc.w %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			RISCV_RELEASE_BARRIER				\
+			"0:	lr.d %0, %2\n"				\
+			"	bne %0, %z3, 1f\n"			\
+			"	sc.d %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	default:							\
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define cmpxchg_release(ptr, o, n)					\
+({									\
+	__typeof__(*(ptr)) _o_ = (o);					\
+	__typeof__(*(ptr)) _n_ = (n);					\
+	(__typeof__(*(ptr))) __cmpxchg_release((ptr),			\
+					_o_, _n_, sizeof(*(ptr)));	\
+})
+
+#define __cmpxchg(ptr, old, new, size)					\
+({									\
+	__typeof__(ptr) __ptr = (ptr);					\
+	__typeof__(*(ptr)) __old = (__typeof__(*(ptr)))(old);				\
+	__typeof__(*(ptr)) __new = (__typeof__(*(ptr)))(new);				\
+	__typeof__(*(ptr)) __ret;					\
+	register unsigned int __rc;					\
+	switch (size) {							\
+	case 4:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.w %0, %2\n"				\
+			"	bne  %0, %z3, 1f\n"			\
+			"	sc.w.rl %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"	fence rw, rw\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	case 8:								\
+		__asm__ __volatile__ (					\
+			"0:	lr.d %0, %2\n"				\
+			"	bne %0, %z3, 1f\n"			\
+			"	sc.d.rl %1, %z4, %2\n"			\
+			"	bnez %1, 0b\n"				\
+			"	fence rw, rw\n"				\
+			"1:\n"						\
+			: "=&r" (__ret), "=&r" (__rc), "+A" (*__ptr)	\
+			: "rJ" (__old), "rJ" (__new)			\
+			: "memory");					\
+		break;							\
+	default:							\
+		__ret = 0; \
+		ASSERT_UNREACHABLE();					\
+	}								\
+	__ret;								\
+})
+
+#define cmpxchg(ptr, o, n)						\
+({									\
+	__typeof__(*(ptr)) _o_ = (o);					\
+	__typeof__(*(ptr)) _n_ = (n);					\
+	(__typeof__(*(ptr))) __cmpxchg((ptr),				\
+				       _o_, _n_, sizeof(*(ptr)));	\
+})
+
+#define cmpxchg_local(ptr, o, n)					\
+	(__cmpxchg_relaxed((ptr), (o), (n), sizeof(*(ptr))))
+
+#define cmpxchg32(ptr, o, n)						\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 4);				\
+	cmpxchg((ptr), (o), (n));					\
+})
+
+#define cmpxchg32_local(ptr, o, n)					\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 4);				\
+	cmpxchg_relaxed((ptr), (o), (n))				\
+})
+
+#define cmpxchg64(ptr, o, n)						\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
+	cmpxchg((ptr), (o), (n));					\
+})
+
+#define cmpxchg64_local(ptr, o, n)					\
+({									\
+	BUILD_BUG_ON(sizeof(*(ptr)) != 8);				\
+	cmpxchg_relaxed((ptr), (o), (n));				\
+})
+
+#endif /* _ASM_RISCV_CMPXCHG_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:31:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:31:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640383.998560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TTF-0003Vr-4G; Fri, 24 Nov 2023 10:31:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640383.998560; Fri, 24 Nov 2023 10: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 1r6TTE-0003SZ-EX; Fri, 24 Nov 2023 10:31:36 +0000
Received: by outflank-mailman (input) for mailman id 640383;
 Fri, 24 Nov 2023 10:31: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTA-0006hx-A3
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31: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 a1a6cbda-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:30 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-9ff26d7c0a6so245690766b.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:30 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1a6cbda-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821889; x=1701426689; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=C1jvDsawJ31XovOPo0nLihxqmUBfwMrjgsOrZCb823c=;
        b=dwYt15DWg9P8nkaJFu4NiRpgSHbaVd6jIWt7yGEo7Q6U++XR0acjqMUr/bVKWe8n07
         mhPE6iyIQhNzfVY1e3RyzmJGXtpHSGyiNAoyooXXnLbqNo4OJm8jdsePltlJupSrXseo
         M2A1idJTAZ4E/uW6NJOwNR8wfQglJtmN5rfGNKAPq7DGdUkQejeoK3hP6TkRwdKiajPp
         Sgbh92cDFfjcovPskCuFToUaklR1AxBRzJYK6ewv8H4TtuethpRW1pvECthPEY+qxtQL
         LfM5uAcCv7bxz8r4po+cgI06/aAGagLRKmFMeesBwormthe7gy0d/wfWGNSzReOS5m05
         lSMQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821889; x=1701426689;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=C1jvDsawJ31XovOPo0nLihxqmUBfwMrjgsOrZCb823c=;
        b=Ds6L3CbdR28CLxnC4jCuCgBqEKfB6enUPZzpXqP87OX3ewuqHOqu2CKtW2yAb+DHkh
         5Q3Hi9pbZ8LH2jVpo0zuWr/LUVxGgs1Dxj100NsxlHvUdw9MPYfbS6ZD0jCf7hM/GvHL
         /s3Nlk4VJH2gr1pgogtGzNzdidD2JkTPFtn0TU0GN3oJtIfrcy7c8GTed3Ot9o5ZFQQ6
         5QuJiU769bflWw68zck00k6KK/2yo5DFNUtD+c+zcH/7mJqMG2821cT96tlZZEJRu2KX
         WiSUjZpmADWe1cisIRo8VdnvAHxiq896atfkprUJY/nvfrdAtsm69iNZAZyrLyi9u6yO
         qDcw==
X-Gm-Message-State: AOJu0Yx//8iPSf3MBSkjElV3bd70naj6Xd7raATJitZ68lsaN903PPaI
	3YbDifcZ8cIlxLQs4gGPAEP9G5+AZ7HZ4w==
X-Google-Smtp-Source: AGHT+IH1BjL6fZIUCzu3aiDD79RyC6q7nlBs9yd2qn1CwU21TpTlZBja/OKgtBaSgAMTM6e1le79nA==
X-Received: by 2002:a17:906:7158:b0:a03:9dfb:5298 with SMTP id z24-20020a170906715800b00a039dfb5298mr1782312ejj.57.1700821889234;
        Fri, 24 Nov 2023 02:31:29 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 19/39] xen/riscv: introduce asm/io.h
Date: Fri, 24 Nov 2023 12:30:39 +0200
Message-ID: <5fdef2f1039c4c7c9d213e77f4d3dec3ada9c1d6.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/io.h | 134 ++++++++++++++++++++++++++++++++
 1 file changed, 134 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/io.h

diff --git a/xen/arch/riscv/include/asm/io.h b/xen/arch/riscv/include/asm/io.h
new file mode 100644
index 0000000000..987fddf902
--- /dev/null
+++ b/xen/arch/riscv/include/asm/io.h
@@ -0,0 +1,134 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Taken and modified from Linux.
+ *
+ * {read,write}{b,w,l,q} based on arch/arm64/include/asm/io.h
+ *   which was based on arch/arm/include/io.h
+ *
+ * Copyright (C) 1996-2000 Russell King
+ * Copyright (C) 2012 ARM Ltd.
+ * Copyright (C) 2014 Regents of the University of California
+ */
+
+#ifndef _ASM_RISCV_IO_H
+#define _ASM_RISCV_IO_H
+
+#include <asm/byteorder.h>
+
+/*
+ * The RISC-V ISA doesn't yet specify how to query or modify PMAs, so we can't
+ * change the properties of memory regions.  This should be fixed by the
+ * upcoming platform spec.
+ */
+#define ioremap_nocache(addr, size) ioremap((addr), (size))
+#define ioremap_wc(addr, size) ioremap((addr), (size))
+#define ioremap_wt(addr, size) ioremap((addr), (size))
+
+/* Generic IO read/write.  These perform native-endian accesses. */
+#define __raw_writeb __raw_writeb
+static inline void __raw_writeb(u8 val, volatile void __iomem *addr)
+{
+	asm volatile("sb %0, 0(%1)" : : "r" (val), "r" (addr));
+}
+
+#define __raw_writew __raw_writew
+static inline void __raw_writew(u16 val, volatile void __iomem *addr)
+{
+	asm volatile("sh %0, 0(%1)" : : "r" (val), "r" (addr));
+}
+
+#define __raw_writel __raw_writel
+static inline void __raw_writel(u32 val, volatile void __iomem *addr)
+{
+	asm volatile("sw %0, 0(%1)" : : "r" (val), "r" (addr));
+}
+
+#ifdef CONFIG_64BIT
+#define __raw_writeq __raw_writeq
+static inline void __raw_writeq(u64 val, volatile void __iomem *addr)
+{
+	asm volatile("sd %0, 0(%1)" : : "r" (val), "r" (addr));
+}
+#endif
+
+#define __raw_readb __raw_readb
+static inline u8 __raw_readb(const volatile void __iomem *addr)
+{
+	u8 val;
+
+	asm volatile("lb %0, 0(%1)" : "=r" (val) : "r" (addr));
+	return val;
+}
+
+#define __raw_readw __raw_readw
+static inline u16 __raw_readw(const volatile void __iomem *addr)
+{
+	u16 val;
+
+	asm volatile("lh %0, 0(%1)" : "=r" (val) : "r" (addr));
+	return val;
+}
+
+#define __raw_readl __raw_readl
+static inline u32 __raw_readl(const volatile void __iomem *addr)
+{
+	u32 val;
+
+	asm volatile("lw %0, 0(%1)" : "=r" (val) : "r" (addr));
+	return val;
+}
+
+#ifdef CONFIG_64BIT
+#define __raw_readq __raw_readq
+static inline u64 __raw_readq(const volatile void __iomem *addr)
+{
+	u64 val;
+
+	asm volatile("ld %0, 0(%1)" : "=r" (val) : "r" (addr));
+	return val;
+}
+#endif
+
+/*
+ * Unordered I/O memory access primitives.  These are even more relaxed than
+ * the relaxed versions, as they don't even order accesses between successive
+ * operations to the I/O regions.
+ */
+#define readb_cpu(c)		({ u8  __r = __raw_readb(c); __r; })
+#define readw_cpu(c)		({ u16 __r = le16_to_cpu((__force __le16)__raw_readw(c)); __r; })
+#define readl_cpu(c)		({ u32 __r = le32_to_cpu((__force __le32)__raw_readl(c)); __r; })
+
+#define writeb_cpu(v,c)		((void)__raw_writeb((v),(c)))
+#define writew_cpu(v,c)		((void)__raw_writew((__force u16)cpu_to_le16(v),(c)))
+#define writel_cpu(v,c)		((void)__raw_writel((__force u32)cpu_to_le32(v),(c)))
+
+#ifdef CONFIG_64BIT
+#define readq_cpu(c)		({ u64 __r = le64_to_cpu((__force __le64)__raw_readq(c)); __r; })
+#define writeq_cpu(v,c)		((void)__raw_writeq((__force u64)cpu_to_le64(v),(c)))
+#endif
+
+/*
+ * I/O memory access primitives. Reads are ordered relative to any
+ * following Normal memory access. Writes are ordered relative to any prior
+ * Normal memory access.  The memory barriers here are necessary as RISC-V
+ * doesn't define any ordering between the memory space and the I/O space.
+ */
+#define __io_br()	do {} while (0)
+#define __io_ar(v)	__asm__ __volatile__ ("fence i,r" : : : "memory");
+#define __io_bw()	__asm__ __volatile__ ("fence w,o" : : : "memory");
+#define __io_aw()	do { } while (0)
+
+#define readb(c)	({ u8  __v; __io_br(); __v = readb_cpu(c); __io_ar(__v); __v; })
+#define readw(c)	({ u16 __v; __io_br(); __v = readw_cpu(c); __io_ar(__v); __v; })
+#define readl(c)	({ u32 __v; __io_br(); __v = readl_cpu(c); __io_ar(__v); __v; })
+
+#define writeb(v,c)	({ __io_bw(); writeb_cpu((v),(c)); __io_aw(); })
+#define writew(v,c)	({ __io_bw(); writew_cpu((v),(c)); __io_aw(); })
+#define writel(v,c)	({ __io_bw(); writel_cpu((v),(c)); __io_aw(); })
+
+#ifdef CONFIG_64BIT
+#define readq(c)	({ u64 __v; __io_br(); __v = readq_cpu(c); __io_ar(__v); __v; })
+#define writeq(v,c)	({ __io_bw(); writeq_cpu((v),(c)); __io_aw(); })
+#endif
+
+#endif /* _ASM_RISCV_IO_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:33:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:33:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640385.998583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TUe-00006I-4n; Fri, 24 Nov 2023 10:33:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640385.998583; Fri, 24 Nov 2023 10: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 1r6TUe-00006B-20; Fri, 24 Nov 2023 10:33:04 +0000
Received: by outflank-mailman (input) for mailman id 640385;
 Fri, 24 Nov 2023 10: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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6TUd-00005b-5h
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:33:03 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e89::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d62b3152-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:33:00 +0100 (CET)
Received: from CY5PR15CA0034.namprd15.prod.outlook.com (2603:10b6:930:1b::15)
 by DM4PR12MB5913.namprd12.prod.outlook.com (2603:10b6:8:66::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 10:32:53 +0000
Received: from CY4PEPF0000EDD6.namprd03.prod.outlook.com
 (2603:10b6:930:1b:cafe::9d) by CY5PR15CA0034.outlook.office365.com
 (2603:10b6:930:1b::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.22 via Frontend
 Transport; Fri, 24 Nov 2023 10:32:53 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD6.mail.protection.outlook.com (10.167.241.210) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.20 via Frontend Transport; Fri, 24 Nov 2023 10:32:53 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:32:28 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d62b3152-8ab4-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gF7jbfUZNEfxfNRxG8sO/nFXt9A/M9UHovG+afSynSB6gHIxbciazaWxR8p51qyxVJZjMjMOiOQ807l7tHkGQ4rUxJqqo4f2p4xuUZnPOJ9jv6uu/mPDMDMQd4Hp7lmsheadjE6RCv/UghgqLJD48YTBbMy5oFDUGg13gNeEQqVx+I7N022zg/ahzNCinFUpz47E/I5ewrRTLJaVoSjGxGLp+8AsUS+l04eIgqdHR4Ugx/5YIVorN2vMKH/ldJWwCxKo98ODDCtiXScxySBcwcUeidw4YMhz9fpWNCqVR+QaBugASbsHXuHx5dhZxHzyRVeV3XH/3PkM4zNhfmgmgQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kHvc4BKwStqQA0mMtY0qg7RSbFxFpvC6+1F28McXELg=;
 b=SsRthqOPyrmDPqRyhVVyvC6uHQP++PYjCoAHNDo5aa9o0liPknULGDc6CcFFqzc9+Sa4bkaXQ21hodRoub/1wTsmS7dwajWIMTlWNKzc9AI30P8OtZvoeGqC9HnuaqgoBQNiR9cFA1yxPF5FYSWzGM/1jrE93Ydf80idy0/N9HWevSvMZVYSN2aCLUmR72qwFUMrfpSXfUJjHAmtsTwGnAhms2ZV6K10BVVdL/5oKkOeZjWL6z3oWxgTBlchH8ARIdtz8DEkfnR+2NX5vL6OSEf6pqMBCW2IJ572jLFnakzCpAlTK/kO6S5OxdZ1BOscJpjLrHkxlyNtls96DdCDMg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=kHvc4BKwStqQA0mMtY0qg7RSbFxFpvC6+1F28McXELg=;
 b=viv+5MesI7nRJP96bwEUfx2B7E74qRNAqttiX4XcLHvbdh0dmmjfG63ybmYCuDH6wUklegXaW8WSie/SRGWSCq1yP3mVltRX8m6h0ngEXG6c0UZtYbQI/jPT6hQAOXmGHKT3VJZiS2INpq8/m184fhR4P+QzBKY5gqy+RU0qfKc=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Thomas Gleixner <tglx@linutronix.de>, "Boris
 Ostrovsky" <boris.ostrovsky@oracle.com>, "Rafael J . Wysocki"
	<rafael@kernel.org>, Len Brown <lenb@kernel.org>, Bjorn Helgaas
	<bhelgaas@google.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>
CC: Stefano Stabellini <stefano.stabellini@amd.com>, Alex Deucher
	<Alexander.Deucher@amd.com>, Christian Koenig <Christian.Koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Xenia Ragiadakou
	<xenia.ragiadakou@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, "Julia
 Zhang" <Julia.Zhang@amd.com>, Huang Rui <Ray.Huang@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>
Subject: [RFC KERNEL PATCH v2 0/3] Support device passthrough when dom0 is PVH on Xen
Date: Fri, 24 Nov 2023 18:31:20 +0800
Message-ID: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD6:EE_|DM4PR12MB5913:EE_
X-MS-Office365-Filtering-Correlation-Id: 40fc0759-f160-4039-0bfe-08dbecd8b72a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VJ/AXH150rg6qQAoqiltsKc2oYUmie6uNosLRds/KhvlxakpO9gaiTFvnUPf3nKOBVIQERuWLNvYlx7bO7DcLyiCOyjUhm+dm6wxifRFA8hQzLZ+QbCDqT9EEafEEulkCSLZRbx8BtVuJGUpPWj3LZLvAYgHAj1hsf/8pCComAMnvjzlDBvDKZwzT/DeG5go771nOoZDuAi3n0P2+ueT2PVfkdLcqRb7MnAr+fbtpWPxNWLKhY5aRpZONnMlEPbes+OoHZZr/o7+e7MaKCH6hzBwDywOnzlAGzbsCY1GWOmsD7w9I4n8MJlu3d7LnqJD6M3ixcuV32u8AbhZQULJnb1miX5NP8IUKXmigSFe5ZVrznmu9GEyGHiE4Qo3LWEWxq5LP9Uev5JwI3PGgyrdCtJ0Dm+K1IoSXhd4tuGe1xORbrLW8A/H7faRHcpZW4z35ZWb9p6VyNhCc8U4TfDxdDiNozI2q8M1JUIiVX0Jwxuc+W2QOfc1gLofZmQgDL9VsCsE5mbpIBDMCRCe+glHMdWgDRegSOgHAdpxicQ/PZbumagP0X4IiJnFDkR4A/ixk9ANSRxol7az8+eXqVWABEigpwWud+epwQ/ycsLJv3xe0Leu8TfKOOgxOyckFFYNDZfAyPYrGEzTVwEkfjwKVpDU4N4fNriL2q9litO/2ZP552DHCnCG3I2IBnp2HpjxSFRjxIWHv6sPxkjGTAhbN11FBzipq0a7O4PrM7BeAz/YWf3OGxdPI/ifx1vM3O5pGeEpc6srn/aTKDz2ZoHY3UD0mBV0Yh1932ipk+6eKjlNGlEwxHJYOWLrrXdJoQ5a
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:(13230031)(4636009)(346002)(39860400002)(136003)(396003)(376002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(46966006)(36840700001)(40470700004)(86362001)(426003)(336012)(83380400001)(81166007)(356005)(921008)(82740400003)(47076005)(40460700003)(36860700001)(54906003)(70586007)(316002)(110136005)(70206006)(8676002)(8936002)(2616005)(41300700001)(7416002)(5660300002)(2906002)(4326008)(1076003)(36756003)(16526019)(26005)(40480700001)(6666004)(478600001)(966005)(7696005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:32:53.2040
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 40fc0759-f160-4039-0bfe-08dbecd8b72a
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:
	CY4PEPF0000EDD6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5913

Hi All,

This series of patches are the v2 of the implementation of passthrough when dom0 is PVH on Xen.
We sent the v1 to upstream before, but the v1 had so many problems and we got lots of suggestions.
I will introduce all issues that these patches try to fix and the differences between v1 and v2.

Issues we encountered:
1. pci_stub failed to write bar for a passthrough device.
Problem: when we run “sudo xl pci-assignable-add <sbdf>” to assign a device, pci_stub will
call “pcistub_init_device() -> pci_restore_state() -> pci_restore_config_space() ->
pci_restore_config_space_range() -> pci_restore_config_dword() -> pci_write_config_dword()”,
the pci config write will trigger an io interrupt to bar_write() in the xen, but the
bar->enabled was set before, the write is not allowed now, and then when Qemu config the
passthrough device in xen_pt_realize(), it gets invalid bar values.

Reason: the reason is that we don't tell vPCI that the device has been reset, so the current
cached state in pdev->vpci is all out of date and is different from the real device state.

Solution: to solve this problem, the first patch of kernel(xen/pci: Add xen_reset_device_state
function) and the fist patch of xen(xen/vpci: Clear all vpci status of device) add a new
hypercall to reset the state stored in vPCI when the state of real device has changed.
Thank Roger for the suggestion of this v2, and it is different from v1
(https://lore.kernel.org/xen-devel/20230312075455.450187-3-ray.huang@amd.com/), v1 simply allow
domU to write pci bar, it does not comply with the design principles of vPCI.

2. failed to do PHYSDEVOP_map_pirq when dom0 is PVH
Problem: HVM domU will do PHYSDEVOP_map_pirq for a passthrough device by using gsi. See
xen_pt_realize->xc_physdev_map_pirq and pci_add_dm_done->xc_physdev_map_pirq. Then
xc_physdev_map_pirq will call into Xen, but in hvm_physdev_op(), PHYSDEVOP_map_pirq is not allowed.

Reason: In hvm_physdev_op(), the variable "currd" is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag,
it will fail at has_pirq check.

Solution: I think we may need to allow PHYSDEVOP_map_pirq when "currd" is dom0 (at present dom0 is
PVH). The second patch of xen(x86/pvh: Open PHYSDEVOP_map_pirq for PVH dom0) allow PVH dom0 do
PHYSDEVOP_map_pirq. This v2 patch is better than v1, v1 simply remove the has_pirq check(xen
https://lore.kernel.org/xen-devel/20230312075455.450187-4-ray.huang@amd.com/).

3. the gsi of a passthrough device doesn't be unmasked
 3.1 failed to check the permission of pirq
 3.2 the gsi of passthrough device was not registered in PVH dom0

Problem:
3.1 callback function pci_add_dm_done() will be called when qemu config a passthrough device for domU.
This function will call xc_domain_irq_permission()-> pirq_access_permitted() to check if the gsi has
corresponding mappings in dom0. But it didn’t, so failed. See
XEN_DOMCTL_irq_permission->pirq_access_permitted, "current" is PVH dom0 and it return irq is 0.
3.2 it's possible for a gsi (iow: vIO-APIC pin) to never get registered on PVH dom0, because the
devices of PVH are using MSI(-X) interrupts. However, the IO-APIC pin must be configured for it to be
able to be mapped into a domU.

Reason: After searching codes, I find "map_pirq" and "register_gsi" will be done in function
vioapic_write_redirent->vioapic_hwdom_map_gsi when the gsi(aka ioapic's pin) is unmasked in PVH dom0.
So the two problems can be concluded to that the gsi of a passthrough device doesn't be unmasked.

Solution: to solve these problems, the second patch of kernel(xen/pvh: Unmask irq for passthrough
device in PVH dom0) call the unmask_irq() when we assign a device to be passthrough. So that
passthrough devices can have the mapping of gsi on PVH dom0 and gsi can be registered. This v2 patch
is different from the v1(
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/,
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-5-ray.huang@amd.com/),
v1 performed "map_pirq" and "register_gsi" on all pci devices on PVH dom0, which is unnecessary and
may cause multiple registration.

4. failed to map pirq for gsi
Problem: qemu will call xc_physdev_map_pirq() to map a passthrough device’s gsi to pirq in function
xen_pt_realize(). But failed.

Reason: According to the implement of xc_physdev_map_pirq(), it needs gsi instead of irq, but qemu
pass irq to it and treat irq as gsi, it is got from file /sys/bus/pci/devices/xxxx:xx:xx.x/irq in
function xen_host_pci_device_get(). But actually the gsi number is not equal with irq. On PVH dom0,
when it allocates irq for a gsi in function acpi_register_gsi_ioapic(), allocation is dynamic, and
follow the principle of applying first, distributing first. And if you debug the kernel codes(see
function __irq_alloc_descs), you will find the irq number is allocated from small to large by order,
but the applying gsi number is not, gsi 38 may come before gsi 28, that causes gsi 38 get a smaller
irq number than gsi 28, and then gsi != irq.

Solution: we can record the relation between gsi and irq, then when userspace(qemu) want to use gsi,
we can do a translation. The third patch of kernel(xen/privcmd: Add new syscall to get gsi from irq)
records all the relations in acpi_register_gsi_xen_pvh() when dom0 initialize pci devices, and provide
a syscall for userspace to get the gsi from irq. The third patch of xen(tools: Add new function to get
gsi from irq) add a new function xc_physdev_gsi_from_irq() to call the new syscall added on kernel side.
And then userspace can use that function to get gsi. Then xc_physdev_map_pirq() will success. This v2
patch is the same as v1(
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-6-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-6-ray.huang@amd.com/)

About the v2 patch of qemu, just change an included head file, other are similar to the v1 (
qemu https://lore.kernel.org/xen-devel/20230312092244.451465-19-ray.huang@amd.com/), just call
xc_physdev_gsi_from_irq() to get gsi from irq.


Jiqian Chen (3):
  xen/pci: Add xen_reset_device_state function
  xen/pvh: Unmask irq for passthrough device in PVH dom0
  xen/privcmd: Add new syscall to get gsi from irq

 arch/x86/include/asm/apic.h        |  7 ++++++
 arch/x86/include/asm/xen/pci.h     |  5 ++++
 arch/x86/kernel/acpi/boot.c        |  2 +-
 arch/x86/pci/xen.c                 | 21 ++++++++++++++++
 drivers/xen/events/events_base.c   | 39 ++++++++++++++++++++++++++++++
 drivers/xen/pci.c                  | 12 +++++++++
 drivers/xen/privcmd.c              | 20 +++++++++++++++
 drivers/xen/xen-pciback/pci_stub.c | 10 ++++++++
 include/linux/irq.h                |  1 +
 include/uapi/xen/privcmd.h         |  7 ++++++
 include/xen/events.h               |  5 ++++
 include/xen/interface/physdev.h    |  2 ++
 include/xen/pci.h                  |  6 +++++
 kernel/irq/chip.c                  |  1 +
 kernel/irq/internals.h             |  1 -
 kernel/irq/irqdesc.c               |  2 +-
 16 files changed, 138 insertions(+), 3 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:33:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640386.998593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TUh-0000OO-Gj; Fri, 24 Nov 2023 10:33:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640386.998593; Fri, 24 Nov 2023 10: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 1r6TUh-0000OB-DZ; Fri, 24 Nov 2023 10:33:07 +0000
Received: by outflank-mailman (input) for mailman id 640386;
 Fri, 24 Nov 2023 10:33: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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6TUg-00005b-At
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:33:06 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d923369d-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:33:04 +0100 (CET)
Received: from CY5PR15CA0043.namprd15.prod.outlook.com (2603:10b6:930:1b::12)
 by PH8PR12MB7448.namprd12.prod.outlook.com (2603:10b6:510:214::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 10:32:59 +0000
Received: from CY4PEPF0000EDD6.namprd03.prod.outlook.com
 (2603:10b6:930:1b:cafe::cd) by CY5PR15CA0043.outlook.office365.com
 (2603:10b6:930:1b::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend
 Transport; Fri, 24 Nov 2023 10:32:59 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD6.mail.protection.outlook.com (10.167.241.210) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.20 via Frontend Transport; Fri, 24 Nov 2023 10:32:59 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:32:53 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d923369d-8ab4-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H+sdh8KvLMHd1LBsYdO7e0DdSYgTkga6gXdEoiwQayu9xWr/WppouJZQEpbXQdItM9/ziZCctN0AHC+lxtEOCUZN4PFRDcFQUtKtEcSm93lvutkQo+yTHjj/qKEB0CkMx8nuvwEwdpIQiMKgAvZmv1r22EbczO3pfrQY8YbhxZbWfim0IKf9VFFmXS9H3pK2cm7gNJomwXerzIWAcX2J7Y4HGmopkHBM2EpaKK9iKhg8RpJDjKXgHAeNTGXU0ApFcsjsbpZYfh1dHQpgd0wQL/pEibcCPd5oMDWAs9hCog0aJLzX9K11JRVURoKT7QsQV9afKzCvJcOqgn0q0aXlaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4aH+2SVcQn/nsVjZ45IvLi1aXjfOjVFR+f+ua3swKd8=;
 b=avvWCSA/Jy380gIoNZZWA2sTNRtJZGiBMSKRf0j4CQaWtkBiEVT557QIbIquhWhVZoZi1hi9z9LY4hWZrl3RHNZ+KDjlva+hFRy1cPVimWp0Db2InOg0er+8ls2vA9krnEVEIuQSt7S9rcqm8Dp9mDpkZaZnmcc6XgOkBEPVZu8DoO9eCpHeEcpyGFLWihHGMiOzte1/lQXcrhPdpRKtw34zETeKpIUIZeP6lgW/kvuj8nuhdQTu7G8gJwB/AjoINF9Efs+B91g0QoljUzgSZkVSuEI1XbitCAjTkmBx4t89AkE6MvykmTvLgkMRxQ3kBXkMGjbWJm8MOloObIQEUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=4aH+2SVcQn/nsVjZ45IvLi1aXjfOjVFR+f+ua3swKd8=;
 b=B7uZvhUxln1N+q4YTG01eiRGtk8iyKwiP1eAcTdyH+JVdKXPdunGlatWK3cE1cktLW9zPrCBlo93qRiM3YiyenRFM0JmV2eoK9R6+QQp33nh5FkVzLJr53JQKvZVK9KY+uhtEplOHbwsKbAZ0Otf0PLmio2DbGR2zGmd2d5Zovg=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Thomas Gleixner <tglx@linutronix.de>, "Boris
 Ostrovsky" <boris.ostrovsky@oracle.com>, "Rafael J . Wysocki"
	<rafael@kernel.org>, Len Brown <lenb@kernel.org>, Bjorn Helgaas
	<bhelgaas@google.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>
CC: Stefano Stabellini <stefano.stabellini@amd.com>, Alex Deucher
	<Alexander.Deucher@amd.com>, Christian Koenig <Christian.Koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Xenia Ragiadakou
	<xenia.ragiadakou@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, "Julia
 Zhang" <Julia.Zhang@amd.com>, Huang Rui <Ray.Huang@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [RFC KERNEL PATCH v2 1/3] xen/pci: Add xen_reset_device_state function
Date: Fri, 24 Nov 2023 18:31:21 +0800
Message-ID: <20231124103123.3263471-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
References: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD6:EE_|PH8PR12MB7448:EE_
X-MS-Office365-Filtering-Correlation-Id: b93f64d7-346c-4ffb-31d8-08dbecd8babb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Y25TUEANezV16ofpBWfoq00mLowrkjE9spwmym00POnUVjNmXCCV6FqWLa1qBMau6eNokvjlIgZfnrVYNfvmFEzKv21u5NVx+MUSlXjwjKpXK0Imz72hv0olTZOoUneqtO/kgQukrdJuUgbycDfD+VHnY0A9a4O2rly6vVbXJzw492gl756imh/0Kpw82q3wV9nwTCTH/yfPZfLoR6oz3wRBXOQmVUgsK2THRvIAh1KwSDuXQ2iE77Fn6nSJH5gHQ8jqsC60Zidm+wi6wZpvQK4THT52rCnQW0VAF52wsxRCil3Nj54d6HIgCuMPQ2qF1D4DZRlujoyqh1jwhkYG8HQ2mS2zC56yyoOULMMvZaCAQ9l47IR/hdVql8bSZ5Cd3PdUJVHON1uDxKzXyGdgkPi59GKufOCeAEFHSF/6Cb0dbmsqs6lRzNYjT5BqHFSADUsfMGYT1RYCL13TwsjQkBCUoZ0xQaO6aA2smp78KJfmOkf9kpP2kKCvJd12fWvKyBQJXCl8V/4wJBmT8zkouxCD3/LmaQC62TpS3V0DRGpgEhuQHcTSOtBHpozc2arX0vdCZGbydRKpVJ8OtrjByYVnlDRSNDzNPyRsW9AZ4I+k9Z4Z/avwobAJPmf5dMFheyaaYFiMBXbXr4vOYqbbbydCNdZDrcAHOmFYODhDII4ehwhwKT4imnl9YCDidQU0LIqZadpjCDytLmnhW33dvanadnQR5ucXrBuUkoLyKLJnOrLKpWwbRsdYjqconrfj4K/M0yjmXfnUdLFfki+0ExCqRzcDk8Y4IbVbzZkWlPE=
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:(13230031)(4636009)(376002)(136003)(39860400002)(346002)(396003)(230922051799003)(451199024)(64100799003)(186009)(82310400011)(1800799012)(40470700004)(36840700001)(46966006)(26005)(16526019)(83380400001)(336012)(426003)(47076005)(82740400003)(86362001)(356005)(81166007)(40480700001)(36860700001)(41300700001)(921008)(2616005)(1076003)(36756003)(7416002)(7696005)(6666004)(2906002)(40460700003)(5660300002)(316002)(54906003)(70206006)(70586007)(110136005)(478600001)(8936002)(4326008)(8676002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:32:59.2040
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b93f64d7-346c-4ffb-31d8-08dbecd8babb
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:
	CY4PEPF0000EDD6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB7448

When device on dom0 side has been reset, the vpci on Xen side
won't get notification, so that the cached state in vpci is
all out of date with the real device state.
To solve that problem, this patch add a function to clear all
vpci device state when device is reset on dom0 side.

And call that function in pcistub_init_device. Because when
we use "pci-assignable-add" to assign a passthrough device in
Xen, it will reset passthrough device and the vpci state will
out of date, and then device will fail to restore bar state.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 drivers/xen/pci.c                  | 12 ++++++++++++
 drivers/xen/xen-pciback/pci_stub.c |  3 +++
 include/xen/interface/physdev.h    |  2 ++
 include/xen/pci.h                  |  6 ++++++
 4 files changed, 23 insertions(+)

diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
index 72d4e3f193af..e9b30bc09139 100644
--- a/drivers/xen/pci.c
+++ b/drivers/xen/pci.c
@@ -177,6 +177,18 @@ static int xen_remove_device(struct device *dev)
 	return r;
 }
 
+int xen_reset_device_state(const struct pci_dev *dev)
+{
+	struct physdev_pci_device device = {
+		.seg = pci_domain_nr(dev->bus),
+		.bus = dev->bus->number,
+		.devfn = dev->devfn
+	};
+
+	return HYPERVISOR_physdev_op(PHYSDEVOP_pci_device_state_reset, &device);
+}
+EXPORT_SYMBOL_GPL(xen_reset_device_state);
+
 static int xen_pci_notifier(struct notifier_block *nb,
 			    unsigned long action, void *data)
 {
diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index e34b623e4b41..5a96b6c66c07 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -421,6 +421,9 @@ static int pcistub_init_device(struct pci_dev *dev)
 	else {
 		dev_dbg(&dev->dev, "resetting (FLR, D3, etc) the device\n");
 		__pci_reset_function_locked(dev);
+		err = xen_reset_device_state(dev);
+		if (err)
+			goto config_release;
 		pci_restore_state(dev);
 	}
 	/* Now disable the device (this also ensures some private device
diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h
index a237af867873..231526f80f6c 100644
--- a/include/xen/interface/physdev.h
+++ b/include/xen/interface/physdev.h
@@ -263,6 +263,8 @@ struct physdev_pci_device {
     uint8_t devfn;
 };
 
+#define PHYSDEVOP_pci_device_state_reset     32
+
 #define PHYSDEVOP_DBGP_RESET_PREPARE    1
 #define PHYSDEVOP_DBGP_RESET_DONE       2
 
diff --git a/include/xen/pci.h b/include/xen/pci.h
index b8337cf85fd1..b2e2e856efd6 100644
--- a/include/xen/pci.h
+++ b/include/xen/pci.h
@@ -4,10 +4,16 @@
 #define __XEN_PCI_H__
 
 #if defined(CONFIG_XEN_DOM0)
+int xen_reset_device_state(const struct pci_dev *dev);
 int xen_find_device_domain_owner(struct pci_dev *dev);
 int xen_register_device_domain_owner(struct pci_dev *dev, uint16_t domain);
 int xen_unregister_device_domain_owner(struct pci_dev *dev);
 #else
+static inline int xen_reset_device_state(const struct pci_dev *dev)
+{
+	return -1;
+}
+
 static inline int xen_find_device_domain_owner(struct pci_dev *dev)
 {
 	return -1;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:33:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:33:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640387.998603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TUm-0000i0-Oa; Fri, 24 Nov 2023 10:33:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640387.998603; Fri, 24 Nov 2023 10:33: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 1r6TUm-0000ht-Lk; Fri, 24 Nov 2023 10:33:12 +0000
Received: by outflank-mailman (input) for mailman id 640387;
 Fri, 24 Nov 2023 10: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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6TUl-0000g8-8j
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:33:11 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc1f4be5-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:33:09 +0100 (CET)
Received: from CY8PR10CA0022.namprd10.prod.outlook.com (2603:10b6:930:4f::23)
 by BL1PR12MB5207.namprd12.prod.outlook.com (2603:10b6:208:318::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 10:33:05 +0000
Received: from CY4PEPF0000EDD5.namprd03.prod.outlook.com
 (2603:10b6:930:4f:cafe::ad) by CY8PR10CA0022.outlook.office365.com
 (2603:10b6:930:4f::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend
 Transport; Fri, 24 Nov 2023 10:33:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD5.mail.protection.outlook.com (10.167.241.209) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 10:33:04 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:32:59 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dc1f4be5-8ab4-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oKAxpiYbBpjb0NMpmXcUsFWlgX0ZKfgvTMvn6wL998PfOsItsUYp4OU/8rEKgyBNAVQLIgVJ6TzJJxT+dJrMY9GnQJb6Jy1I+PHrw0c5kIBOwH77UPOkfcmcesN0aydoIRGaKXfSKP5tZeFPCm7rDaVDInww99qXgiQPn0jNrlrM0nPZ4HIgiQmdEogkaotd2gSfeCz3/ImZcxpfoVihTbTKUGwl+TpT8E6EUVcq66gB0YuVMcGYEAsOvP6vpx/K7DwlI0K21SbaoSdMhfiJOfIDLe2EyPKelB/JnK/zb+WAMogG2SDyC99lAtE5TqLVkdCCoj1A5V2Nbh2e8GY1Ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xfANHFWcou1FeEN+wZbXol2ku2zP/OewOlGHwHnCwuw=;
 b=hE3RPWUXgDqv7ZyJWjpkXhO8iwJ6Auuhifoc8J7dTpjMb4VDxaHAMkfsxh0Avl5i3oNTu60LeT2OltpCANC2kYWiJ9hdODw2TkjliRwW72NJLlWFwyau810blzbiQGSyVVPAeaSbGyiuyc7EdPdBp3KsQQl37lWgv/kcwesJH7+k1jyy14H14l3+X/rC/w0hhEkvG3LOS2sFnaJH5+y4VxTWdcwhsf+MiMYtuiuinmhXVCq46nh9O0qXFjh9D2cW1CWoEPSxf9vgUsglhjcQtKBtX8XDCIUdHnwj/0o+XhEW0i4gutbTXwNR42eTQEWF7xPRJz+JIjxpNYZV6K4S5A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=xfANHFWcou1FeEN+wZbXol2ku2zP/OewOlGHwHnCwuw=;
 b=JRwAzIrleJpxCNrADTyIsfYRH5mp2WI0lNSvz/+OsuKxwXGLmvp95RePHv7P8+X3w5mVj9HpOUm4vaSwVdr1PnTMJUd7A7AUtCDeZ8LlO7IuIdmHvSAPzGtRsYFjYLFvSk+GCdGqhl3h9+y8eSDKCnAsrBfvPEtYjO5Z6NLKvaM=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Thomas Gleixner <tglx@linutronix.de>, "Boris
 Ostrovsky" <boris.ostrovsky@oracle.com>, "Rafael J . Wysocki"
	<rafael@kernel.org>, Len Brown <lenb@kernel.org>, Bjorn Helgaas
	<bhelgaas@google.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>
CC: Stefano Stabellini <stefano.stabellini@amd.com>, Alex Deucher
	<Alexander.Deucher@amd.com>, Christian Koenig <Christian.Koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Xenia Ragiadakou
	<xenia.ragiadakou@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, "Julia
 Zhang" <Julia.Zhang@amd.com>, Huang Rui <Ray.Huang@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [RFC KERNEL PATCH v2 2/3] xen/pvh: Unmask irq for passthrough device in PVH dom0
Date: Fri, 24 Nov 2023 18:31:22 +0800
Message-ID: <20231124103123.3263471-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
References: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD5:EE_|BL1PR12MB5207:EE_
X-MS-Office365-Filtering-Correlation-Id: 2f2d2249-14f0-4ab2-43a2-08dbecd8be21
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	HbOO3cPBX404OwUvQTq+zwaugFWDj/7ufDz1LIQJQkBOpEbJC0ctMgL5dOI7VEDnSwnoh9WlzvE5F/fibO6EGOeHVo+9mNJ91aeA63O6Q0uhmDqoNHV6fajHqfafx+0oZ+h6wLvjvK8HZLsIVuSlvEQWFsua5WWYFIX7m8XmTcLQiC+LNsiVFM63/PFU9dz7/dezHcQE9GVV1udengbgI5Px9sUSrD8Lt/qVOo0BOpW2t2wd+3Rxc7E7yQ7fQDUmBgYtsNuk0A/yCNqxIsfd2Mr4Z9VlUUjpC8GomY5kR+wTPPWsTQeOsp/w45fFS1lBJh6DiLBKq3RIqn68eSY371FTops2eL+9OUjP+29FzPNTFNGtOUETNUztCoyRF1a4aQXmZigGg3V1aOZEQG1EoY2XScfKpfknDGF5C2rfVfwy1C0f50yn17jZdntdofJVUEzwO4P366xb/PJAcq7KgQSJ+eE6NeTfJUSm9IxjvNZgHZzt15c6xIW4jiP6UcT+MCpiiifvqHdZIuAIdQMGkHXH3u8DzJaQM6UJQ2MHgXJcQzR33JfmDPpFVj78ml/tAN17rm5TpA9aeV22mKa0/NHv+tZF0+Zk2cjry8E9exT4pK0FcZu8y4gT6bRZl2N5Iiy+jtaGjtL7creQ6bmHwbGFHXf0wIwizC41kC202+Fct2qh5bGw+1HFVMUDcNkY+v0iRkHJGCIcFeshN4GAiIPnQ6o+P34RrmYzSgTz7KyzzCgYsg6mD9hE7aTz10cE+SQ+I9igFlW+jljEkaj1WHVMIhEAmGtqcp74RgIxNE0=
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:(13230031)(4636009)(39860400002)(396003)(376002)(346002)(136003)(230922051799003)(451199024)(82310400011)(64100799003)(186009)(1800799012)(40470700004)(46966006)(36840700001)(478600001)(40460700003)(81166007)(8936002)(4326008)(8676002)(110136005)(70586007)(316002)(54906003)(70206006)(356005)(36756003)(16526019)(26005)(1076003)(2906002)(336012)(426003)(36860700001)(921008)(47076005)(40480700001)(2616005)(83380400001)(86362001)(41300700001)(5660300002)(7416002)(6666004)(82740400003)(7696005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:33:04.8592
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2f2d2249-14f0-4ab2-43a2-08dbecd8be21
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:
	CY4PEPF0000EDD5.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL1PR12MB5207

This patch is to solve two problems we encountered when we try to
passthrough a device to hvm domU base on Xen PVH dom0.

First, hvm guest will alloc a pirq and irq for a passthrough device
by using gsi, before that, the gsi must first has a mapping in dom0,
see Xen code pci_add_dm_done->xc_domain_irq_permission, it will call
into Xen and check whether dom0 has the mapping. See
XEN_DOMCTL_irq_permission->pirq_access_permitted, "current" is PVH
dom0 and it return irq is 0, and then return -EPERM.
This is because the passthrough device doesn't do PHYSDEVOP_map_pirq
when thay are enabled.

Second, in PVH dom0, the gsi of a passthrough device doesn't get
registered, but gsi must be configured for it to be able to be
mapped into a domU.

After searching codes, we can find map_pirq and register_gsi will be
done in function vioapic_write_redirent->vioapic_hwdom_map_gsi when
the gsi(aka ioapic's pin) is unmasked in PVH dom0. So the problems
can be conclude to that the gsi of a passthrough device doesn't be
unmasked.

To solve the unmaske problem, this patch call the unmask_irq when we
assign a device to be passthrough. So that the gsi can get registered
and mapped in PVH dom0.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 drivers/xen/xen-pciback/pci_stub.c | 7 +++++++
 include/linux/irq.h                | 1 +
 kernel/irq/chip.c                  | 1 +
 kernel/irq/internals.h             | 1 -
 kernel/irq/irqdesc.c               | 2 +-
 5 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
index 5a96b6c66c07..b83d02bcc76c 100644
--- a/drivers/xen/xen-pciback/pci_stub.c
+++ b/drivers/xen/xen-pciback/pci_stub.c
@@ -357,6 +357,7 @@ static int pcistub_match(struct pci_dev *dev)
 static int pcistub_init_device(struct pci_dev *dev)
 {
 	struct xen_pcibk_dev_data *dev_data;
+	struct irq_desc *desc = NULL;
 	int err = 0;
 
 	dev_dbg(&dev->dev, "initializing...\n");
@@ -399,6 +400,12 @@ static int pcistub_init_device(struct pci_dev *dev)
 	if (err)
 		goto config_release;
 
+	if (xen_initial_domain() && xen_pvh_domain()) {
+		if (dev->irq <= 0 || !(desc = irq_to_desc(dev->irq)))
+			goto config_release;
+		unmask_irq(desc);
+	}
+
 	if (dev->msix_cap) {
 		struct physdev_pci_device ppdev = {
 			.seg = pci_domain_nr(dev->bus),
diff --git a/include/linux/irq.h b/include/linux/irq.h
index 90081afa10ce..44650ca178d9 100644
--- a/include/linux/irq.h
+++ b/include/linux/irq.h
@@ -659,6 +659,7 @@ extern void handle_percpu_irq(struct irq_desc *desc);
 extern void handle_percpu_devid_irq(struct irq_desc *desc);
 extern void handle_bad_irq(struct irq_desc *desc);
 extern void handle_nested_irq(unsigned int irq);
+extern void unmask_irq(struct irq_desc *desc);
 
 extern void handle_fasteoi_nmi(struct irq_desc *desc);
 extern void handle_percpu_devid_fasteoi_nmi(struct irq_desc *desc);
diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c
index dc94e0bf2c94..fd67b40b678d 100644
--- a/kernel/irq/chip.c
+++ b/kernel/irq/chip.c
@@ -439,6 +439,7 @@ void unmask_irq(struct irq_desc *desc)
 		irq_state_clr_masked(desc);
 	}
 }
+EXPORT_SYMBOL_GPL(unmask_irq);
 
 void unmask_threaded_irq(struct irq_desc *desc)
 {
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h
index bcc7f21db9ee..d08e3e7b2819 100644
--- a/kernel/irq/internals.h
+++ b/kernel/irq/internals.h
@@ -95,7 +95,6 @@ extern void irq_disable(struct irq_desc *desc);
 extern void irq_percpu_enable(struct irq_desc *desc, unsigned int cpu);
 extern void irq_percpu_disable(struct irq_desc *desc, unsigned int cpu);
 extern void mask_irq(struct irq_desc *desc);
-extern void unmask_irq(struct irq_desc *desc);
 extern void unmask_threaded_irq(struct irq_desc *desc);
 
 #ifdef CONFIG_SPARSE_IRQ
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 27ca1c866f29..5977efed31b5 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -380,7 +380,7 @@ struct irq_desc *irq_to_desc(unsigned int irq)
 {
 	return mtree_load(&sparse_irqs, irq);
 }
-#ifdef CONFIG_KVM_BOOK3S_64_HV_MODULE
+#if defined CONFIG_KVM_BOOK3S_64_HV_MODULE || defined CONFIG_XEN_PVH
 EXPORT_SYMBOL_GPL(irq_to_desc);
 #endif
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:33:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:33:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640388.998613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TUu-00019F-0j; Fri, 24 Nov 2023 10:33:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640388.998613; Fri, 24 Nov 2023 10:33: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 1r6TUt-000193-Tu; Fri, 24 Nov 2023 10:33:19 +0000
Received: by outflank-mailman (input) for mailman id 640388;
 Fri, 24 Nov 2023 10:33: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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6TUr-0000g8-Vk
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:33:18 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20623.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e06c7123-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:33:17 +0100 (CET)
Received: from DM6PR03CA0011.namprd03.prod.outlook.com (2603:10b6:5:40::24) by
 CH3PR12MB9196.namprd12.prod.outlook.com (2603:10b6:610:197::6) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.21; Fri, 24 Nov 2023 10:33:11 +0000
Received: from CY4PEPF0000EDD1.namprd03.prod.outlook.com
 (2603:10b6:5:40:cafe::1d) by DM6PR03CA0011.outlook.office365.com
 (2603:10b6:5:40::24) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend
 Transport; Fri, 24 Nov 2023 10:33:11 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EDD1.mail.protection.outlook.com (10.167.241.205) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 10:33:11 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:33:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e06c7123-8ab4-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mgTjMI1DDRivQcdWBDMnin9cWH1Si2VOfk06dmQa35bskeTB5/FlvQ1RT9tTQNrHycU2fSDmk3nHFEf2zed6FMUDON8FxQq3Tey7nupl34bVpTlTCwak/csHALGGv4sgeJIrb6AsPOv0Z8Q/zrCHUjh2yFRYhZpdjfM1zpysk+okaZSTtgt62BQmbTRfB+UExepKcNuP0c+HAAfGNUAv5WZBBTKiBFoGRCmDn5LrkawoVLsgdAcfDZxDBqhwBXrvgjCrsmOK9qNlOcl5hBSRCCuYY5hSjew+p8ZyjXCDG2llp3DX3f7K0eakvYSi/tb2BB5cDBR3OeK246KR0ge8NA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CxiFRDtp5qqk6Bo0ku32SWQukLFTF8Compi0RCGR9bw=;
 b=KB9YWq/9lGG2S6be55uerEVZLcnL5tLTdb1swsh+B6Thdr0r+sn3BCgE+9e/Gz1BVREz+O1Lf6MDfGdmdOrjRt4ZiUXWQhxXqf2G7kxoqc9qD/Cz6seM/F5mJmWDtinLM5ba35i9o2J96B58ljGqPHf1T26HadKuAqCm6KDh7YsgpH+xXU2/9MEXLkOF+MNkbWoIyiIqXcalYdT1R8dkF2KcKZNV/iSeBkj64ws91O6H7Nxq3kNpNBS7ILzHEhJFVTraW/U4l+SMA1WOjU6aEwBlBvHExZPlpmMjeW4wgZzw4oq1IbnkkC3ctBrYoNkei1t1jW4JcmF/ODewpfWulg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=CxiFRDtp5qqk6Bo0ku32SWQukLFTF8Compi0RCGR9bw=;
 b=msTqFvnRpN8xjA7liweI1Ed94Es5KNBUKc1CKyr4iSeG4zW85JbUYetwPKqz1NI6r/x8UlHZLuLWkeZtxQuGUAfktNApZnbztFXgKXDXpHTdwvocOVGcaFg12vETgAVyP/ztrasBt+WQg5jlrDkYE+SqncGDnTIzS3/z5Aus6E0=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: Juergen Gross <jgross@suse.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Thomas Gleixner <tglx@linutronix.de>, "Boris
 Ostrovsky" <boris.ostrovsky@oracle.com>, "Rafael J . Wysocki"
	<rafael@kernel.org>, Len Brown <lenb@kernel.org>, Bjorn Helgaas
	<bhelgaas@google.com>, =?UTF-8?q?Roger=20Pau=20Monn=C3=A9?=
	<roger.pau@citrix.com>, <xen-devel@lists.xenproject.org>,
	<linux-kernel@vger.kernel.org>, <linux-acpi@vger.kernel.org>
CC: Stefano Stabellini <stefano.stabellini@amd.com>, Alex Deucher
	<Alexander.Deucher@amd.com>, Christian Koenig <Christian.Koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Xenia Ragiadakou
	<xenia.ragiadakou@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, "Julia
 Zhang" <Julia.Zhang@amd.com>, Huang Rui <Ray.Huang@amd.com>, Jiqian Chen
	<Jiqian.Chen@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: [RFC KERNEL PATCH v2 3/3] xen/privcmd: Add new syscall to get gsi from irq
Date: Fri, 24 Nov 2023 18:31:23 +0800
Message-ID: <20231124103123.3263471-4-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
References: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD1:EE_|CH3PR12MB9196:EE_
X-MS-Office365-Filtering-Correlation-Id: 80ea1451-a9bb-427e-cf1a-08dbecd8c1e5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qNlkV3KqrC0RcB1olsj+8U2+ITAJfIdDp+h2cntHYuQMWOmB+0cxyXJ+14LBLnvlJrIvGAv5IVYEf8PXuuzQnj9B1jGYso0DxwYAFLnBMykDWt9p7cQVB6W9sCBxsC0pyCJLQkBC5YjHmBJzBEPx7pXFPbKiK5+weT2SskjYhPY31DrwEXrCzNbVRMcbkxsLyr9g422xYvxUhcduWLHGhGcfxh8Gp5K7Hue+9ETbvLCiddAmodXERWNO4QC3E1BhZI4EtJfyyqyL+3+SkmOicm1TwHwEMV+zehY3b7aAoj24/LfqCZni2oLoyshCzp2vjb7tpWgGoPz+4iZQ4wME+Opl1a59MmpmulPMhWG1jbyv+bApVDnJb58HGH4jzUAPmUljfJ0xGufEF35KT4ZoEcv3RkgxuLxIG3tAuWV1fb4Ky6Lk3k0WSCUyc2L+jbakE27Uy+53WCEzVp+U1aE0hcOzLg93WeM4FJDeDCZ9OeUR2QU77p/neNVXxIzJT0hnmgrPenbMOFEgqwtGzjCK0pzu3uSyLg4Dwr+bxwOdVJP+dTMbeYxUoUuYW1OYuiu3pOn98o3svHDYYeLHlW5DUK3UidG1TsbuIgnt5GQyuJzcjW6nZVYabHQ1QuinxoPHI070uaeHGBjB3glGYETXQhvHudGS3OLDaRBMSxmTQs3/KN/8PCsKW/PpksjznNiE8VbvXXz5t12gmHhN7W88L5gGloncafAY6QVcIbpmgpB2KAwHPVsyXDhsCJGH0Dd2bGriAD+pbf0EGVZRQKhj9tT/2JljvRc1860UlRQynpQ=
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:(13230031)(4636009)(136003)(346002)(396003)(39860400002)(376002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(82310400011)(36840700001)(40470700004)(46966006)(36756003)(41300700001)(36860700001)(2616005)(356005)(47076005)(16526019)(426003)(336012)(26005)(40480700001)(7696005)(81166007)(1076003)(83380400001)(82740400003)(40460700003)(478600001)(6666004)(110136005)(316002)(70206006)(70586007)(54906003)(2906002)(921008)(8936002)(8676002)(4326008)(86362001)(7416002)(5660300002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:33:11.2117
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 80ea1451-a9bb-427e-cf1a-08dbecd8c1e5
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:
	CY4PEPF0000EDD1.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9196

In PVH dom0, it uses the linux local interrupt mechanism,
when it allocs irq for a gsi, it is dynamic, and follow
the principle of applying first, distributing first. And
if you debug the codes, you will find the irq number is
alloced from small to large, but the applying gsi number
is not, may gsi 38 comes before gsi 28, it causes the irq
number is not equal with the gsi number.
And when we passthrough a device, QEMU will use device's gsi
number to do mapping actions, see xen_pt_realize->
xc_physdev_map_pirq, but the gsi number is got from file
/sys/bus/pci/devices/xxxx:xx:xx.x/irq, irq!= gsi, so it will
fail when mapping.
And in current linux codes, there is no method to translate
irq to gsi for userspace.

For above purpose, this patch record the relationship of gsi
and irq when PVH dom0 do acpi_register_gsi_ioapic for devices
and adds a new syscall into privcmd to let userspace can get
that translation when they have a need.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 arch/x86/include/asm/apic.h      |  7 ++++++
 arch/x86/include/asm/xen/pci.h   |  5 ++++
 arch/x86/kernel/acpi/boot.c      |  2 +-
 arch/x86/pci/xen.c               | 21 +++++++++++++++++
 drivers/xen/events/events_base.c | 39 ++++++++++++++++++++++++++++++++
 drivers/xen/privcmd.c            | 20 ++++++++++++++++
 include/uapi/xen/privcmd.h       |  7 ++++++
 include/xen/events.h             |  5 ++++
 8 files changed, 105 insertions(+), 1 deletion(-)

diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index d21f48f1c242..5646444285ac 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -169,6 +169,8 @@ extern bool apic_needs_pit(void);
 
 extern void apic_send_IPI_allbutself(unsigned int vector);
 
+extern int acpi_register_gsi_ioapic(struct device *dev, u32 gsi,
+				    int trigger, int polarity);
 #else /* !CONFIG_X86_LOCAL_APIC */
 static inline void lapic_shutdown(void) { }
 #define local_apic_timer_c2_ok		1
@@ -183,6 +185,11 @@ static inline void apic_intr_mode_init(void) { }
 static inline void lapic_assign_system_vectors(void) { }
 static inline void lapic_assign_legacy_vector(unsigned int i, bool r) { }
 static inline bool apic_needs_pit(void) { return true; }
+static inline int acpi_register_gsi_ioapic(struct device *dev, u32 gsi,
+				    int trigger, int polarity)
+{
+	return (int)gsi;
+}
 #endif /* !CONFIG_X86_LOCAL_APIC */
 
 #ifdef CONFIG_X86_X2APIC
diff --git a/arch/x86/include/asm/xen/pci.h b/arch/x86/include/asm/xen/pci.h
index 9015b888edd6..aa8ded61fc2d 100644
--- a/arch/x86/include/asm/xen/pci.h
+++ b/arch/x86/include/asm/xen/pci.h
@@ -5,6 +5,7 @@
 #if defined(CONFIG_PCI_XEN)
 extern int __init pci_xen_init(void);
 extern int __init pci_xen_hvm_init(void);
+extern int __init pci_xen_pvh_init(void);
 #define pci_xen 1
 #else
 #define pci_xen 0
@@ -13,6 +14,10 @@ static inline int pci_xen_hvm_init(void)
 {
 	return -1;
 }
+static inline int pci_xen_pvh_init(void)
+{
+	return -1;
+}
 #endif
 #ifdef CONFIG_XEN_PV_DOM0
 int __init pci_xen_initial_domain(void);
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index d0918a75cb00..45b157e18c0b 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -739,7 +739,7 @@ static int acpi_register_gsi_pic(struct device *dev, u32 gsi,
 }
 
 #ifdef CONFIG_X86_LOCAL_APIC
-static int acpi_register_gsi_ioapic(struct device *dev, u32 gsi,
+int acpi_register_gsi_ioapic(struct device *dev, u32 gsi,
 				    int trigger, int polarity)
 {
 	int irq = gsi;
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index 652cd53e77f6..f056ab5c0a06 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -114,6 +114,21 @@ static int acpi_register_gsi_xen_hvm(struct device *dev, u32 gsi,
 				 false /* no mapping of GSI to PIRQ */);
 }
 
+static int acpi_register_gsi_xen_pvh(struct device *dev, u32 gsi,
+				    int trigger, int polarity)
+{
+	int irq;
+
+	irq = acpi_register_gsi_ioapic(dev, gsi, trigger, polarity);
+	if (irq < 0)
+		return irq;
+
+	if (xen_pvh_add_gsi_irq_map(gsi, irq) == -EEXIST)
+		printk(KERN_INFO "Already map the GSI :%u and IRQ: %d\n", gsi, irq);
+
+	return irq;
+}
+
 #ifdef CONFIG_XEN_PV_DOM0
 static int xen_register_gsi(u32 gsi, int triggering, int polarity)
 {
@@ -558,6 +573,12 @@ int __init pci_xen_hvm_init(void)
 	return 0;
 }
 
+int __init pci_xen_pvh_init(void)
+{
+	__acpi_register_gsi = acpi_register_gsi_xen_pvh;
+	return 0;
+}
+
 #ifdef CONFIG_XEN_PV_DOM0
 int __init pci_xen_initial_domain(void)
 {
diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index 6de6b084ea60..a02d62955509 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -957,6 +957,43 @@ int xen_irq_from_gsi(unsigned gsi)
 }
 EXPORT_SYMBOL_GPL(xen_irq_from_gsi);
 
+int xen_gsi_from_irq(unsigned irq)
+{
+	struct irq_info *info;
+
+	list_for_each_entry(info, &xen_irq_list_head, list) {
+		if (info->type != IRQT_PIRQ)
+			continue;
+
+		if (info->irq == irq)
+			return info->u.pirq.gsi;
+	}
+
+	return -1;
+}
+EXPORT_SYMBOL_GPL(xen_gsi_from_irq);
+
+int xen_pvh_add_gsi_irq_map(unsigned gsi, unsigned irq)
+{
+	int tmp_irq;
+	struct irq_info *info;
+
+	tmp_irq = xen_irq_from_gsi(gsi);
+	if (tmp_irq != -1)
+		return -EEXIST;
+
+	info = kzalloc(sizeof(*info), GFP_KERNEL);
+	if (info == NULL)
+		panic("Unable to allocate metadata for GSI%d\n", gsi);
+
+	info->type = IRQT_PIRQ;
+	info->irq = irq;
+	info->u.pirq.gsi = gsi;
+	list_add_tail(&info->list, &xen_irq_list_head);
+
+	return 0;
+}
+
 static void __unbind_from_irq(unsigned int irq)
 {
 	evtchn_port_t evtchn = evtchn_from_irq(irq);
@@ -2303,6 +2340,8 @@ void __init xen_init_IRQ(void)
 	xen_init_setup_upcall_vector();
 	xen_alloc_callback_vector();
 
+	if (xen_pvh_domain())
+		pci_xen_pvh_init();
 
 	if (xen_hvm_domain()) {
 		native_init_IRQ();
diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 1ce7f3c7a950..6fa8a01d8ae6 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -45,6 +45,7 @@
 #include <xen/page.h>
 #include <xen/xen-ops.h>
 #include <xen/balloon.h>
+#include <xen/events.h>
 
 #include "privcmd.h"
 
@@ -842,6 +843,21 @@ static long privcmd_ioctl_mmap_resource(struct file *file,
 	return rc;
 }
 
+static long privcmd_ioctl_gsi_from_irq(struct file *file, void __user *udata)
+{
+	struct privcmd_gsi_from_irq kdata;
+
+	if (copy_from_user(&kdata, udata, sizeof(kdata)))
+		return -EFAULT;
+
+	kdata.gsi = xen_gsi_from_irq(kdata.irq);
+
+	if (copy_to_user(udata, &kdata, sizeof(kdata)))
+		return -EFAULT;
+
+	return 0;
+}
+
 #ifdef CONFIG_XEN_PRIVCMD_EVENTFD
 /* Irqfd support */
 static struct workqueue_struct *irqfd_cleanup_wq;
@@ -1534,6 +1550,10 @@ static long privcmd_ioctl(struct file *file,
 		ret = privcmd_ioctl_ioeventfd(file, udata);
 		break;
 
+	case IOCTL_PRIVCMD_GSI_FROM_IRQ:
+		ret = privcmd_ioctl_gsi_from_irq(file, udata);
+		break;
+
 	default:
 		break;
 	}
diff --git a/include/uapi/xen/privcmd.h b/include/uapi/xen/privcmd.h
index 8b8c5d1420fe..61f0ffbec077 100644
--- a/include/uapi/xen/privcmd.h
+++ b/include/uapi/xen/privcmd.h
@@ -126,6 +126,11 @@ struct privcmd_ioeventfd {
 	__u8 pad[2];
 };
 
+struct privcmd_gsi_from_irq {
+	__u32 irq;
+	__u32 gsi;
+};
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -157,5 +162,7 @@ struct privcmd_ioeventfd {
 	_IOW('P', 8, struct privcmd_irqfd)
 #define IOCTL_PRIVCMD_IOEVENTFD					\
 	_IOW('P', 9, struct privcmd_ioeventfd)
+#define IOCTL_PRIVCMD_GSI_FROM_IRQ				\
+	_IOC(_IOC_NONE, 'P', 10, sizeof(struct privcmd_gsi_from_irq))
 
 #endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/include/xen/events.h b/include/xen/events.h
index 23932b0673dc..78377c936efe 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -131,6 +131,11 @@ int xen_pirq_from_irq(unsigned irq);
 /* Return the irq allocated to the gsi */
 int xen_irq_from_gsi(unsigned gsi);
 
+/* Return the gsi from irq */
+int xen_gsi_from_irq(unsigned irq);
+
+int xen_pvh_add_gsi_irq_map(unsigned gsi, unsigned irq);
+
 /* Determine whether to ignore this IRQ if it is passed to a guest. */
 int xen_test_irq_shared(int irq);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:38:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:38:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640416.998623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TZa-0003cZ-RQ; Fri, 24 Nov 2023 10:38:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640416.998623; Fri, 24 Nov 2023 10:38: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 1r6TZa-0003cS-NZ; Fri, 24 Nov 2023 10:38:10 +0000
Received: by outflank-mailman (input) for mailman id 640416;
 Fri, 24 Nov 2023 10:38: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTR-0006hx-CM
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:49 +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 a6517e54-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:38 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-9ffef4b2741so235410666b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:38 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:37 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6517e54-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821898; x=1701426698; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=H7x5U2KUqj/wwacaHUIO6EZiGTDMnx/DyKSx5kiQoao=;
        b=KXq1A9X07EsVSRGyKWsholK+oz5K9Te3adVbYmkG4tyYTdS0djeS3fVcL2h8ZIgDgA
         0jDoXXXroJflu2NntKLAUS1w/9DzMSZeB9CZ/nVdWdqyhoUwM/zzFkx8JHP0ohKbyMCf
         boNfee2DZORZQ7Te2o5eg9qGuHydmdwIZLGzT0/aDl4J5HlIBx35HdcWM1/t5FRUcnHu
         3z1cURjwspNjpd9YCBS01pZhzUIC9DtGxtwCwh/H5ILrROXoG6FA4xJ+VImW2EPScTlk
         LL9wZtL2/aB/F1pTBLFucOl11pxd7rWWHmCSPH3tC7VX1c8X62dPYTM7+f4VZAr7zzu+
         /wuQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821898; x=1701426698;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=H7x5U2KUqj/wwacaHUIO6EZiGTDMnx/DyKSx5kiQoao=;
        b=Ne5F6B/Gae2Z9wzk3538q6hsUr9d1PHvmXOkjFeSPXY9h37WBNXdt/vw7Euao98yGP
         MUue8ZaxGewLl/RjxwKaLNuLk5VGviHF6TK/Yvmbu1ATGF+eMFMD3lsVnLgKI00yVHeD
         GdpCCLLYxMzLd23RB2jsscYiuLP/9VawFSszSf6Vf7/Nslfs1fk3RzI/GxbS6IycPS7/
         BsCB4+5LRLMMBZHR6GB96j3PDfggMOPVPxfdkJAmURG7H7Hf3d4nAd130wZdYKssfSkv
         rLY9InDnqKIVAMfviKCx4G7aW559ec0M62tvgeZb5BjtPkLL5V2GZJlRISD0lLWyvnUS
         2tZQ==
X-Gm-Message-State: AOJu0YyH7h+p1RjA9EIqWUffzQRheikQburnaUTIHcGE3REOl+nqKr1I
	QSh0tXorqH73uwxwEC071yqNO7lM87/cZw==
X-Google-Smtp-Source: AGHT+IEC5u4CN9HmR9yMjsISc6BZUZQAJ/WClAAYWX6bDqZnDRHhoDt/HOyaCtFv3iax3UG3lX+Mew==
X-Received: by 2002:a17:906:2209:b0:a01:9d8b:db17 with SMTP id s9-20020a170906220900b00a019d8bdb17mr1812719ejs.15.1700821897855;
        Fri, 24 Nov 2023 02:31:37 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 27/39] xen/riscv: introduce asm/time.h
Date: Fri, 24 Nov 2023 12:30:47 +0200
Message-ID: <ab09f88d1c43478938811511c54c9d425f4080d6.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 -  change xen/lib.h to xen/bug.h
 - remove inclusion of <asm/processor.h> as it's not needed.
---
 xen/arch/riscv/include/asm/time.h | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/time.h

diff --git a/xen/arch/riscv/include/asm/time.h b/xen/arch/riscv/include/asm/time.h
new file mode 100644
index 0000000000..3ce848deac
--- /dev/null
+++ b/xen/arch/riscv/include/asm/time.h
@@ -0,0 +1,19 @@
+#ifndef __ASM_RISCV_TIME_H__
+#define __ASM_RISCV_TIME_H__
+
+#include <xen/bug.h>
+#include <asm/csr.h>
+
+struct vcpu;
+
+/* TODO: implement */
+static inline void force_update_vcpu_system_time(struct vcpu *v) { BUG(); }
+
+typedef unsigned long cycles_t;
+
+static inline cycles_t get_cycles(void)
+{
+	return csr_read(CSR_TIME);
+}
+
+#endif /* __ASM_RISCV_TIME_H__ */
\ No newline at end of file
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:39:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:39:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640425.998633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tap-0004cd-5A; Fri, 24 Nov 2023 10:39:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640425.998633; Fri, 24 Nov 2023 10: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 1r6Tap-0004cW-0w; Fri, 24 Nov 2023 10:39:27 +0000
Received: by outflank-mailman (input) for mailman id 640425;
 Fri, 24 Nov 2023 10:39: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TT4-0006hy-0X
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:26 +0000
Received: from mail-ej1-x629.google.com (mail-ej1-x629.google.com
 [2a00:1450:4864:20::629])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9e3929cc-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:24 +0100 (CET)
Received: by mail-ej1-x629.google.com with SMTP id
 a640c23a62f3a-a0064353af8so547461766b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:24 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9e3929cc-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821884; x=1701426684; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=TFiYo47Y6neKV/659IAnBCy68zaLkdoQh7hTdkj2HW4=;
        b=U86bwtG2XyFPrSIJtdcxX1Z8MoFNT0T8Op9jGXFO1qR7e9Fs/Zkg7y9rWN08GqR8Yx
         HuZF7HkzTd5+RUrQ1Ctb2zu7Wdoe2ChVdsJs38uBp2RgygrCFcfVvo7s0hULqUdwoxcn
         UE66eo8A5xKaeXYm3X663GR1+QR7HCXNGohh4Qn4RBTjSyjDZyB4J9DJCVflbxjnqRhG
         Xhj8YKGVmutSDJYjP82mp/vlpaiqFhgHsAVGYdX5Su4nqYdpI3ZjSfkS408l8m3WjJU8
         McL7w7I6MMShLCewjgpG61P+pvlF3WVKMiVoMNDrYXYI4ftKr2eAyRh2euoJeMJgyrPu
         cCoA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821884; x=1701426684;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=TFiYo47Y6neKV/659IAnBCy68zaLkdoQh7hTdkj2HW4=;
        b=dLfL6tBv014UIwe6aqLQUfbC0osDPsHOaqil8g/tBayL8pkMcshAtgmVbG6Vt4nBCF
         D9i3nxgWN1LXWHbTXF6OUX7Z9muxA0eRMOUkjwRmE26tmh0xpdtCK1h7l9XT2yWhwFDp
         SUCeA68SxUss+dYB+9179JqZfO9go32o1Qxs5DlkW/CmHj9Mdgr8LSBCs5vhkFSjCB5w
         yJNeANr1/wMUcjOSCidcupck1lXzNgAlLFE7eVI3rUt8tcCeci6GcBOOO4vfs6Y/lufo
         4AtXwu529ShZzGAoSnWhHdAYmFze7+INZTWaLBFD3JzIpaxxi3g5r0A9W8HCaJ+Nxhbt
         hz6A==
X-Gm-Message-State: AOJu0Yw1hGUHSRe0DQmYjHCpxCBCKXIfd/bU8YjyfRNNWnsPCzcd7/ZT
	ybisu/7Yta2O34BPIG4wh16MwROaLgv41Q==
X-Google-Smtp-Source: AGHT+IFNByZwBF9ROP5nmS5akxwitHaYUUyJjesb1JJXQW8zGkCDI8+PSeS/4s2MUQuUSPrJWQd+tA==
X-Received: by 2002:a17:906:10cf:b0:9ee:295:5693 with SMTP id v15-20020a17090610cf00b009ee02955693mr1735649ejv.7.1700821884099;
        Fri, 24 Nov 2023 02:31:24 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 14/39] xen/riscv: introduce bitops.h
Date: Fri, 24 Nov 2023 12:30:34 +0200
Message-ID: <a9c69e17fe073551e7007242d00b74b6333ce98d.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/bitops.h | 288 ++++++++++++++++++++++++++++
 1 file changed, 288 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/bitops.h

diff --git a/xen/arch/riscv/include/asm/bitops.h b/xen/arch/riscv/include/asm/bitops.h
new file mode 100644
index 0000000000..24a49c499b
--- /dev/null
+++ b/xen/arch/riscv/include/asm/bitops.h
@@ -0,0 +1,288 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/* Copyright (C) 2012 Regents of the University of California */
+
+#ifndef _ASM_RISCV_BITOPS_H
+#define _ASM_RISCV_BITOPS_H
+
+#include <asm/system.h>
+
+#define BITOP_BITS_PER_WORD     32
+#define BITOP_MASK(nr)	        (1UL << ((nr) % BITOP_BITS_PER_WORD))
+#define BITOP_WORD(nr)	        ((nr) / BITOP_BITS_PER_WORD)
+#define BITS_PER_BYTE	        8
+
+#define __set_bit(n,p)          set_bit(n,p)
+#define __clear_bit(n,p)        clear_bit(n,p)
+
+#define __AMO(op)	"amo" #op ".w"
+
+#define __test_and_op_bit_ord(op, mod, nr, addr, ord)		\
+({								\
+	unsigned long __res, __mask;				\
+	__mask = BITOP_MASK(nr);					\
+	__asm__ __volatile__ (					\
+		__AMO(op) #ord " %0, %2, %1"			\
+		: "=r" (__res), "+A" (addr[BITOP_WORD(nr)])	\
+		: "r" (mod(__mask))				\
+		: "memory");					\
+	((__res & __mask) != 0);				\
+})
+
+#define __op_bit_ord(op, mod, nr, addr, ord)			\
+	__asm__ __volatile__ (					\
+		__AMO(op) #ord " zero, %1, %0"			\
+		: "+A" (addr[BITOP_WORD(nr)])			\
+		: "r" (mod(BITOP_MASK(nr)))			\
+		: "memory");
+
+#define __test_and_op_bit(op, mod, nr, addr) 			\
+	__test_and_op_bit_ord(op, mod, nr, addr, .aqrl)
+
+#define __op_bit(op, mod, nr, addr)				\
+	__op_bit_ord(op, mod, nr, addr, )
+
+/* Bitmask modifiers */
+#define __NOP(x)	(x)
+#define __NOT(x)	(~(x))
+
+/**
+ * __test_and_set_bit - Set a bit and return its old value
+ * @nr: Bit to set
+ * @addr: Address to count from
+ *
+ * This operation may be reordered on other architectures than x86.
+ */
+static inline int __test_and_set_bit(int nr, volatile void *p)
+{
+	volatile uint32_t *addr = p;
+
+	return __test_and_op_bit(or, __NOP, nr, addr);
+}
+
+/**
+ * __test_and_clear_bit - Clear a bit and return its old value
+ * @nr: Bit to clear
+ * @addr: Address to count from
+ *
+ * This operation can be reordered on other architectures other than x86.
+ */
+static inline int __test_and_clear_bit(int nr, volatile void *p)
+{
+	volatile uint32_t *addr = p;
+
+	return __test_and_op_bit(and, __NOT, nr, addr);
+}
+
+/**
+ * set_bit - Atomically set a bit in memory
+ * @nr: the bit to set
+ * @addr: the address to start counting from
+ *
+ * Note: there are no guarantees that this function will not be reordered
+ * on non x86 architectures, so if you are writing portable code,
+ * make sure not to rely on its reordering guarantees.
+ *
+ * Note that @nr may be almost arbitrarily large; this function is not
+ * restricted to acting on a single-word quantity.
+ */
+static inline void set_bit(int nr, volatile void *p)
+{
+	volatile uint32_t *addr = p;
+
+	__op_bit(or, __NOP, nr, addr);
+}
+
+/**
+ * clear_bit - Clears a bit in memory
+ * @nr: Bit to clear
+ * @addr: Address to start counting from
+ *
+ * Note: there are no guarantees that this function will not be reordered
+ * on non x86 architectures, so if you are writing portable code,
+ * make sure not to rely on its reordering guarantees.
+ */
+static inline void clear_bit(int nr, volatile void *p)
+{
+	volatile uint32_t *addr = p;
+
+	__op_bit(and, __NOT, nr, addr);
+}
+
+static inline int test_bit(int nr, const volatile void *p)
+{
+	const volatile uint32_t *addr = (const volatile uint32_t *)p;
+
+	return 1UL & (addr[BITOP_WORD(nr)] >> (nr & (BITOP_BITS_PER_WORD-1)));
+}
+
+#undef __test_and_op_bit
+#undef __op_bit
+#undef __NOP
+#undef __NOT
+#undef __AMO
+
+static inline int fls(unsigned int x)
+{
+    return generic_fls(x);
+}
+
+static inline int flsl(unsigned long x)
+{
+    return generic_flsl(x);
+}
+
+#define test_and_set_bit   __test_and_set_bit
+#define test_and_clear_bit __test_and_clear_bit
+
+/* Based on linux/include/asm-generic/bitops/find.h */
+
+#ifndef find_next_bit
+/**
+ * find_next_bit - find the next set bit in a memory region
+ * @addr: The address to base the search on
+ * @offset: The bitnumber to start searching at
+ * @size: The bitmap size in bits
+ */
+extern unsigned long find_next_bit(const unsigned long *addr, unsigned long
+		size, unsigned long offset);
+#endif
+
+#ifndef find_next_zero_bit
+/**
+ * find_next_zero_bit - find the next cleared bit in a memory region
+ * @addr: The address to base the search on
+ * @offset: The bitnumber to start searching at
+ * @size: The bitmap size in bits
+ */
+extern unsigned long find_next_zero_bit(const unsigned long *addr, unsigned
+		long size, unsigned long offset);
+#endif
+
+/**
+ * find_first_bit - find the first set bit in a memory region
+ * @addr: The address to start the search at
+ * @size: The maximum size to search
+ *
+ * Returns the bit number of the first set bit.
+ */
+extern unsigned long find_first_bit(const unsigned long *addr,
+				    unsigned long size);
+
+/**
+ * find_first_zero_bit - find the first cleared bit in a memory region
+ * @addr: The address to start the search at
+ * @size: The maximum size to search
+ *
+ * Returns the bit number of the first cleared bit.
+ */
+extern unsigned long find_first_zero_bit(const unsigned long *addr,
+					 unsigned long size);
+
+#define ffs(x) ({ unsigned int __t = (x); fls(__t & -__t); })
+
+/**
+ * ffs - find first bit in word.
+ * @word: The word to search
+ *
+ * Returns 0 if no bit exists, otherwise returns 1-indexed bit location.
+ */
+static inline unsigned long __ffs(unsigned long word)
+{
+	int num = 0;
+
+#if BITS_PER_LONG == 64
+	if ((word & 0xffffffff) == 0) {
+		num += 32;
+		word >>= 32;
+	}
+#endif
+	if ((word & 0xffff) == 0) {
+		num += 16;
+		word >>= 16;
+	}
+	if ((word & 0xff) == 0) {
+		num += 8;
+		word >>= 8;
+	}
+	if ((word & 0xf) == 0) {
+		num += 4;
+		word >>= 4;
+	}
+	if ((word & 0x3) == 0) {
+		num += 2;
+		word >>= 2;
+	}
+	if ((word & 0x1) == 0)
+		num += 1;
+	return num;
+}
+
+/**
+ * ffsl - find first bit in long.
+ * @word: The word to search
+ *
+ * Returns 0 if no bit exists, otherwise returns 1-indexed bit location.
+ */
+static inline unsigned int ffsl(unsigned long word)
+{
+    int num = 1;
+
+    if (!word)
+        return 0;
+
+#if BITS_PER_LONG == 64
+    if ((word & 0xffffffff) == 0) {
+        num += 32;
+        word >>= 32;
+    }
+#endif
+    if ((word & 0xffff) == 0) {
+        num += 16;
+        word >>= 16;
+    }
+    if ((word & 0xff) == 0) {
+        num += 8;
+        word >>= 8;
+    }
+    if ((word & 0xf) == 0) {
+        num += 4;
+        word >>= 4;
+    }
+    if ((word & 0x3) == 0) {
+        num += 2;
+        word >>= 2;
+    }
+    if ((word & 0x1) == 0)
+        num += 1;
+    return num;
+}
+
+/*
+ * ffz - find first zero in word.
+ * @word: The word to search
+ *
+ * Undefined if no zero exists, so code should check against ~0UL first.
+ */
+#define ffz(x)  __ffs(~(x))
+
+/**
+ * find_first_set_bit - find the first set bit in @word
+ * @word: the word to search
+ *
+ * Returns the bit-number of the first set bit (first bit being 0).
+ * The input must *not* be zero.
+ */
+static inline unsigned int find_first_set_bit(unsigned long word)
+{
+        return ffsl(word) - 1;
+}
+
+/**
+ * hweightN - returns the hamming weight of a N-bit word
+ * @x: the word to weigh
+ *
+ * The Hamming Weight of a number is the total number of bits set in it.
+ */
+#define hweight64(x) generic_hweight64(x)
+
+#endif /* _ASM_RISCV_BITOPS_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:39:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:39:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640427.998642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Taw-0004yk-C2; Fri, 24 Nov 2023 10:39:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640427.998642; Fri, 24 Nov 2023 10:39: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 1r6Taw-0004yb-95; Fri, 24 Nov 2023 10:39:34 +0000
Received: by outflank-mailman (input) for mailman id 640427;
 Fri, 24 Nov 2023 10:39: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTT-0006hx-D2
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:51 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a74debed-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:40 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-9fd0059a967so543561866b.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:40 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a74debed-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821899; x=1701426699; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fLjNioN0z9kxErlbS/a9Yo17p/MesEH5oUEwnGWW1s0=;
        b=GUdI8Z8X+4atcDRkBKrqW0JSj5v8XhdFL5f5kBFvxlMGXDD+tB75KaR6gAK7OV+1pO
         h5V6bOjSXaf07ZPaynszlOfLzlI06BE+uPj+7RC8Btm4AVXW811+Qtn9YKVuBuqExyjm
         hfNvCYUfN8dPpxr38JYzms3oDYHO8QzWaFkpbjVwqZJmdrAenN0m+bBtl3sN85hbnCBS
         cM+4tj5tJnQPKil1RNwi+2DGMnBmHo3wCSRY1g4fSdme0+a+zjS3bs4pV9DN0ez6LiMk
         GPrF4opYkMwSJsluKJKYuo23p3ilyyCXkXQ71gmelyQBVJ9l1i/SEkYR0sgJu0CY5Jaa
         Zmyw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821899; x=1701426699;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fLjNioN0z9kxErlbS/a9Yo17p/MesEH5oUEwnGWW1s0=;
        b=Xa6euFVZF2nXsuUkFybQkDLygKc4ZbPGGxeBve1yArp7rRZGqJTMTcE2yza2TbR5uP
         9k5BXUX3PV/uaAHqB/eSB1HL4fWDa0g9y4PY/ZhN14iQBhxbwA78VVAYGOxDZXwWE0a7
         cDDlrJ5rwFBpzF/gaKF0OI6CrN3VK2iaszEHfMP4upAdjzzJ0zYbA4Si8kSGzGPih4tP
         M0UYnROQnFnxmAcXGZ3eZOcqCBnx1/NT71B8DeX6aKbbTBfSzuz9ycvJwlhmKu8tAD3d
         Wt2OvzyQWMrYnXHJAcNRs04Bsnn6cxCS5nkQFlzhAqtO6Cl9B9HP1QQIow5XzLtWJ8MC
         4PuA==
X-Gm-Message-State: AOJu0Yye9y7xXZQWwx/4etifDEFljO4EZ/80VTBQ7kHQ8qEkRKAjBEBO
	kvM+bASy7Q9t+L7GQi0OfbljFQ4Z6pU/Bg==
X-Google-Smtp-Source: AGHT+IFDkis3KsXlvXscmPgpaABJmffrS3eJnFFygdQG4dlEDlHjpNwVJOw/cergcf3I8X21FIWjVg==
X-Received: by 2002:a17:907:e92:b0:9a5:dc2b:6a5 with SMTP id ho18-20020a1709070e9200b009a5dc2b06a5mr5821323ejc.35.1700821898692;
        Fri, 24 Nov 2023 02:31:38 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 28/39] xen/riscv: introduce asm/event.h
Date: Fri, 24 Nov 2023 12:30:48 +0200
Message-ID: <492c6183a8248046f0b6fdb186ad5b33953c3b24.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/event.h | 34 ++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/event.h

diff --git a/xen/arch/riscv/include/asm/event.h b/xen/arch/riscv/include/asm/event.h
new file mode 100644
index 0000000000..48630c77b3
--- /dev/null
+++ b/xen/arch/riscv/include/asm/event.h
@@ -0,0 +1,34 @@
+#ifndef __ASM_RISCV_EVENT_H__
+#define __ASM_RISCV_EVENT_H__
+
+void vcpu_mark_events_pending(struct vcpu *v);
+
+static inline int vcpu_event_delivery_is_enabled(struct vcpu *v)
+{
+    return 0;
+}
+
+static inline int local_events_need_delivery(void)
+{
+    return 0;
+}
+
+static inline void local_event_delivery_enable(void)
+{
+}
+
+/* No arch specific virq definition now. Default to global. */
+static inline bool arch_virq_is_global(unsigned int virq)
+{
+    return true;
+}
+
+#endif
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640428.998653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tb4-0005O3-Il; Fri, 24 Nov 2023 10:39:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640428.998653; Fri, 24 Nov 2023 10:39: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 1r6Tb4-0005Np-G0; Fri, 24 Nov 2023 10:39:42 +0000
Received: by outflank-mailman (input) for mailman id 640428;
 Fri, 24 Nov 2023 10: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTC-0006hy-6I
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:34 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a36b0e0d-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:33 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a02ba1f500fso254069466b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:33 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a36b0e0d-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821892; x=1701426692; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=IYGdUaxClo88qkYZTfmXx6C4vZjKDWY65LgrL6BSEIQ=;
        b=WZzlNpXhZhW1vyY5IQnIw6vpSW49m24E9pJ+u3K9nOwTO1Vg8CpliYnZ4gLkCteCNt
         lzOK9owJw8B6TwkIEGuNtQKQHQU68nZ8/WHXpUlhpgDAKmt9+Q0hs37ptddQWTJ9ODgG
         nTMkqrj0hlltKV4b5WBvXXzGEowSPh02WMBCqnVTIvIetow4JwVgTrsRFUlaE2aJZ+CG
         2pMTYerwRtOVKrLrsYwVbdcBJB2Zn9bpLW2WuGXymDYaMCw0JgBgq609MX9/FkHn9hhj
         bO5qrmBTI+9EiFDJsw8wnRhVtpHFeIUMZwkJ0y1EOCpyzBQmwwo7oKOxBVcLbJFKUQdh
         5cmg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821892; x=1701426692;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=IYGdUaxClo88qkYZTfmXx6C4vZjKDWY65LgrL6BSEIQ=;
        b=Xs541Xbk+3oSC/rMPtednsDppY+p69nm4kDDcrUJD3iml74Y/rgkuT/lTm/2HhY8+y
         0EQ9JIZD+lUfXjkIRIP8GCsror851IVQXL8bB1gYC2iNe3IKqtZacW26mPUwTasKgUEr
         HN76Mjz6cyXUh2yKhLuuWKBaMufUFZ2G4d9rPfn5QRm5n5OYZmvTJMy5R7eT/kMZfeVx
         r9jJEhP7Jh9NPW3VwLNo6IqakPA6CVRNyLv8Gj9FJOWYZrQtcXNCPS1e1IPjBPiNNjCc
         CYLKcinjwyqcSMtdQ4qlUhj5YJnxadUHwA8rD7VteIs0kEYvQfwdRHcTsNpJ7u8KY+kp
         ZnOQ==
X-Gm-Message-State: AOJu0Yy+7NE5s/izOE+Z3YW5luBrv+zrVGT/27OGrXYlvgS7GyWgBuA6
	1LvZ4biEIR4cXermFarY33JaW2wfoKUVcA==
X-Google-Smtp-Source: AGHT+IGP6o+c3A/KNH1KEDT1+8QFRWy/ZU+PHOe8CjqgHxjk0FKV5rFaOf7mLnoO23Pr1C8gUjlKzw==
X-Received: by 2002:a17:906:856:b0:a00:2de3:73cc with SMTP id f22-20020a170906085600b00a002de373ccmr1316095ejd.69.1700821892494;
        Fri, 24 Nov 2023 02:31:32 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 22/39] xen/riscv: introduce asm/domain.h
Date: Fri, 24 Nov 2023 12:30:42 +0200
Message-ID: <25fa93f2195ff1b87d7c7c28e6aa6eb654faca7b.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/domain.h | 43 +++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/domain.h

diff --git a/xen/arch/riscv/include/asm/domain.h b/xen/arch/riscv/include/asm/domain.h
new file mode 100644
index 0000000000..f2dccf370f
--- /dev/null
+++ b/xen/arch/riscv/include/asm/domain.h
@@ -0,0 +1,43 @@
+#ifndef __ASM_RISCV_DOMAIN_H__
+#define __ASM_RISCV_DOMAIN_H__
+
+#include <xen/xmalloc.h>
+#include <public/hvm/params.h>
+
+struct hvm_domain
+{
+    uint64_t              params[HVM_NR_PARAMS];
+};
+
+#define is_domain_direct_mapped(d) ((void)(d), 0)
+
+struct arch_vcpu_io {
+};
+
+struct arch_vcpu {
+};
+
+struct arch_domain {
+    struct hvm_domain hvm;
+};
+
+#include <xen/sched.h>
+
+static inline struct vcpu_guest_context *alloc_vcpu_guest_context(void)
+{
+    return xmalloc(struct vcpu_guest_context);
+}
+
+static inline void free_vcpu_guest_context(struct vcpu_guest_context *vgc)
+{
+    xfree(vgc);
+}
+
+struct guest_memory_policy {};
+static inline void update_guest_memory_policy(struct vcpu *v,
+                                              struct guest_memory_policy *gmp)
+{}
+
+static inline void arch_vcpu_block(struct vcpu *v) {}
+
+#endif /* __ASM_RISCV_DOMAIN_H__ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:39:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:39:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640435.998663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TbD-0006F4-Uw; Fri, 24 Nov 2023 10:39:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640435.998663; Fri, 24 Nov 2023 10:39: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 1r6TbD-0006Ex-Pb; Fri, 24 Nov 2023 10:39:51 +0000
Received: by outflank-mailman (input) for mailman id 640435;
 Fri, 24 Nov 2023 10:39: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTL-0006hx-BK
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:43 +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 a499f04d-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:35 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a00a9c6f1e9so250594566b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:35 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a499f04d-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821895; x=1701426695; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=e0C3Ch6z8tKuY04JIx8qm7izpoD3XbU6+MQf/w9I+Zg=;
        b=Jz0jnAij40C/FlFCQEXeaCfWm9azMGfWycv0NiPjnSxurFRvep9p8O141HWh3ggh7l
         3WuXpecglVSlzEHE5n1mQCGOQyBYs41sgy5LICESj65TY323eYyo65FbcVAL7rZu6/CJ
         MWG/7yBdvWu02Y4bQV0it9GkMQekWV1/QdACbJGDtFoj7xGJYn46w/2FoaxrKxuxh2z+
         xwZHzvXgD7vXvtEc+Pb+06ohJxOSUX8TIEGS8W7O4kFpP0WZBN8lbv3s9rK/iRrBBZWj
         8vt5cSvhjFHs4Sm3e6mEiBD2yRXvBC8QEBPBcAsLvSnuSUGAx5mGzHXXYjmAMbecOXP7
         F88w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821895; x=1701426695;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=e0C3Ch6z8tKuY04JIx8qm7izpoD3XbU6+MQf/w9I+Zg=;
        b=CCynR8pbHQZOTRdrQLrr1VeTP50IbGRUGJ093UmSYHtnNnJDvH15ZACx2qE6B/2C3R
         sYAyABn3vgLL4EwQVe3NMniuPmmvvS1ZkS2N3Jw/V59uBNHlc8XOBOsaok/2iSxdnAhi
         yiXiKVbenNqjMRXXC/+hJW4BOJpFr736wc3cs5sHqXU/bOzkFBjecFt9av+5VYLBvLD3
         6uC1jg7s6Ffkp+QXo9dnKe7SGETiA6/9qWwJ/+MHNWU1uW0Tp+4JyEasyoLBtaPMLzgX
         /zqtLItVhQjHbiY/QCr/KRFZ60Ok7qW4QT3oMCihv1NJuKWeGiEuTwVszZpivDwD2WLR
         WKkQ==
X-Gm-Message-State: AOJu0YzPaAEPkGvF/SouqrZqJUMtdcCQUr+D65M+1/2SPiYA60NBcEWm
	dxqptYImWfgDgRAMx4yNVvZ5LWlzksb9gA==
X-Google-Smtp-Source: AGHT+IFbdkFJ3SEuPodqyEBLwy6PEEz9f13WyBgHKw4XZGO8lZGGSRe/E8hTB495cXvr+mH5d0l/aQ==
X-Received: by 2002:a17:907:c718:b0:9ff:1dea:83b5 with SMTP id ty24-20020a170907c71800b009ff1dea83b5mr2001059ejc.42.1700821894858;
        Fri, 24 Nov 2023 02:31:34 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 24/39] xen/riscv: introduce asm/irq.h
Date: Fri, 24 Nov 2023 12:30:44 +0200
Message-ID: <e9fc98cad562dad495ac1eb87b98be77cda72524.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
	- add ifdef CONFIG_HAS_DEVICE_TREE for things that shouldn't be
      in case !CONFIG_HAS_DEVICE_TREE
	- use proper includes.
---
 xen/arch/riscv/include/asm/irq.h | 37 ++++++++++++++++++++++++++++++++
 1 file changed, 37 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/irq.h

diff --git a/xen/arch/riscv/include/asm/irq.h b/xen/arch/riscv/include/asm/irq.h
new file mode 100644
index 0000000000..ca49d3f9b4
--- /dev/null
+++ b/xen/arch/riscv/include/asm/irq.h
@@ -0,0 +1,37 @@
+#ifndef __ASM_RISCV_IRQ_H__
+#define __ASM_RISCV_IRQ_H__
+
+#include <xen/bug.h>
+#ifdef CONFIG_HAS_DEVICE_TREE
+#include <xen/device_tree.h>
+#endif
+
+/* TODO */
+#define nr_irqs 0U
+#define nr_static_irqs 0
+#define arch_hwdom_irqs(domid) 0U
+
+#define domain_pirq_to_irq(d, pirq) (pirq)
+
+#define arch_evtchn_bind_pirq(d, pirq) ((void)((d) + (pirq)))
+
+struct arch_pirq {
+};
+
+struct arch_irq_desc {
+    unsigned int type;
+};
+
+static inline void arch_move_irqs(struct vcpu *v)
+{
+    BUG();
+}
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+static inline int platform_get_irq(const struct dt_device_node *device, int index)
+{
+    BUG();
+}
+#endif
+
+#endif /* __ASM_RISCV_IRQ_H__ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:39:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:39:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640436.998672 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TbF-0006Zw-8X; Fri, 24 Nov 2023 10:39:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640436.998672; Fri, 24 Nov 2023 10:39: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 1r6TbF-0006Yi-5a; Fri, 24 Nov 2023 10:39:53 +0000
Received: by outflank-mailman (input) for mailman id 640436;
 Fri, 24 Nov 2023 10:39: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTT-0006hy-M8
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:51 +0000
Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com
 [2a00:1450:4864:20::62f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ac53029a-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:48 +0100 (CET)
Received: by mail-ej1-x62f.google.com with SMTP id
 a640c23a62f3a-a03a9009572so237670466b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:48 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ac53029a-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821908; x=1701426708; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Z1w34BSjUAi4k8RmSoj0kwk7zKOzvOqC/Wauz6/CNUk=;
        b=P0uy1NiUvsDK9vbmEO3yYsx/EH8fuP7NmSmM8Hnys5cgAHqQ9cZ/xJONb+D8Q3Zpy6
         wkHSSBtEHQp3IEM8vXpC5QwYMv3AMB3KU9xzfMv82Iu/Dgg290jSEppctQguyF5KLlll
         JCrbUIe61QA+ITrFR46z+t+S9yrXVnIBTYcayMgip4EMxnRhXTTdrWnqCUcfg3Zdzrn4
         6yaHpI55qce7O1GeLskxO9emNqjbZimrTDhL4ZVEiqBBMgWJe0t9LJG/Rel2s3z51C+K
         bOATyM0hqndPosPGjfsG3DI5U9Wehm4zhR9IVz5EOPMZmcrQ/pINyuqZtDqp+65vC7Kt
         u/LQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821908; x=1701426708;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Z1w34BSjUAi4k8RmSoj0kwk7zKOzvOqC/Wauz6/CNUk=;
        b=n3Hdy/MwLv7tB+6foZ2a5LpP1AJ95wJe8LWQi6SdKbok9KDWVqT/QRUcZN4HnY5mAn
         8ZVxXIl/eO4JkwrvjH3dVSKjG8kyQwJ8dXz+Ts1IPVWJYp7pNidmo52tkk0LWK+Zv4Gc
         vlflTRZ7HXNdQuU2+aytW5+fon83o3tZ6N+lFn5nyb2ehVyooGPz1velK+WXSKuz3nOh
         PHH6HBX+62k2k8euJ0Z7kpqtPeUZ69k2tG0XBq39jGQqN7cFKf5FDSUyMyyfo9erUvrf
         RThT9y8KGo9noM/nevEKvon+HRSW2wHH5eDl57OHpy8YrH84PxRPntCmYyVdccHdUyLI
         lNHA==
X-Gm-Message-State: AOJu0Yxi2kRLlxMhlPSPzp+lA2EgRUjNfe6p+cdFIivVfY6iSt/afI6q
	8sQfBRLssJEKJ6F8KvvoeszkluuZ7ZtxUQ==
X-Google-Smtp-Source: AGHT+IHegBpC6Wr4W+8DeWaJJI/TRZ9D6YPDNiX62BYLTVqZPon3+2DL1aWyhBud5bWTm/eTPo6CBA==
X-Received: by 2002:a17:906:c351:b0:a08:1ea3:e65a with SMTP id ci17-20020a170906c35100b00a081ea3e65amr1724981ejb.30.1700821907858;
        Fri, 24 Nov 2023 02:31:47 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 38/39] xen/riscv: enable full Xen build
Date: Fri, 24 Nov 2023 12:30:58 +0200
Message-ID: <c56be97d180b996d431eb97e7b0a23ac28798996.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/Makefile                 | 16 +++++++++++++++-
 xen/arch/riscv/arch.mk                  |  4 ----
 xen/arch/riscv/configs/tiny64_defconfig |  1 -
 3 files changed, 15 insertions(+), 6 deletions(-)

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 50c09469a0..9c02cb0ccf 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -12,10 +12,24 @@ $(TARGET): $(TARGET)-syms
 	$(OBJCOPY) -O binary -S $< $@
 
 $(TARGET)-syms: $(objtree)/prelink.o $(obj)/xen.lds
-	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) -o $@
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	    $(objtree)/common/symbols-dummy.o -o $(dot-target).0
+	$(NM) -pa --format=sysv $(dot-target).0 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).0.S
+	$(MAKE) $(build)=$(@D) $(dot-target).0.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< \
+	    $(dot-target).0.o -o $(dot-target).1
+	$(NM) -pa --format=sysv $(dot-target).1 \
+		| $(objtree)/tools/symbols $(all_symbols) --sysv --sort \
+		> $(dot-target).1.S
+	$(MAKE) $(build)=$(@D) $(dot-target).1.o
+	$(LD) $(XEN_LDFLAGS) -T $(obj)/xen.lds -N $< $(build_id_linker) \
+	    $(dot-target).1.o -o $@
 	$(NM) -pa --format=sysv $@ \
 		| $(objtree)/tools/symbols --all-symbols --xensyms --sysv --sort \
 		> $@.map
+	rm -f $(@D)/.$(@F).[0-9]*
 
 $(obj)/xen.lds: $(src)/xen.lds.S FORCE
 	$(call if_changed_dep,cpp_lds_S)
diff --git a/xen/arch/riscv/arch.mk b/xen/arch/riscv/arch.mk
index 8403f96b6f..12b1673fae 100644
--- a/xen/arch/riscv/arch.mk
+++ b/xen/arch/riscv/arch.mk
@@ -13,7 +13,3 @@ riscv-march-$(CONFIG_RISCV_ISA_C)       := $(riscv-march-y)c
 # -mcmodel=medlow would force Xen into the lower half.
 
 CFLAGS += -march=$(riscv-march-y) -mstrict-align -mcmodel=medany
-
-# TODO: Drop override when more of the build is working
-override ALL_OBJS-y = arch/$(SRCARCH)/built_in.o
-override ALL_LIBS-y =
diff --git a/xen/arch/riscv/configs/tiny64_defconfig b/xen/arch/riscv/configs/tiny64_defconfig
index ce37c5ae00..4b488180ae 100644
--- a/xen/arch/riscv/configs/tiny64_defconfig
+++ b/xen/arch/riscv/configs/tiny64_defconfig
@@ -24,7 +24,6 @@
 # CONFIG_COVERAGE is not set
 # CONFIG_UBSAN is not set
 # CONFIG_NEEDS_LIBELF is not set
-
 CONFIG_RISCV_64=y
 CONFIG_DEBUG=y
 CONFIG_DEBUG_INFO=y
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:39:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:39:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640437.998678 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TbF-0006dW-KJ; Fri, 24 Nov 2023 10:39:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640437.998678; Fri, 24 Nov 2023 10:39: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 1r6TbF-0006cX-D3; Fri, 24 Nov 2023 10:39:53 +0000
Received: by outflank-mailman (input) for mailman id 640437;
 Fri, 24 Nov 2023 10:39: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTL-0006hy-91
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:43 +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 a8e02581-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:42 +0100 (CET)
Received: by mail-ej1-x634.google.com with SMTP id
 a640c23a62f3a-9ffb5a4f622so246791366b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:42 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a8e02581-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821902; x=1701426702; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=zzc425nFXp+S3527hP5ZVJ6OTAIAaaKhm6tESKxxSc0=;
        b=nervIoMRbEpZc5is4vmyqY3Y3oyEu9p/WKG7CmsicTcgLMbndjdycTXeTbL1T58WRT
         Enx4P2IoIv/c+flvF+MPiHVB0u/Cv55uM6naEICMso+FEQ23Dm2kApxRHoxeGl4AOcOz
         ips9UALqJd+efwK+qCoUczgQ5EcSkG2Pl+XWRJ8WMM5e6+Yjm1wFLNhHMygVgAQNh2M4
         I0lJhoYkjSSbsq7RJOeC+rmwHVm5M8PzKm8d9Wglk3fXB6dyyEy3nEQZWvxKdt7JCBFx
         AxRVhWCEMoGpkMKLukda5re3U7vRBeg5u+ov98L3P7sDBxV85Mpu9xG1h4sNanScFUmO
         k/NQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821902; x=1701426702;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=zzc425nFXp+S3527hP5ZVJ6OTAIAaaKhm6tESKxxSc0=;
        b=eR+ysLb7vSeEVPK+ksxuu5EwJdxnJEhDzT2oTKY1luzFfkghYGS2hJPZz4fxWOz289
         P3BGaovp1NIHH3em0r+xfrYTA5JclJybPX10S2qTo7pLhkoZQhaac9gocEykt4z5zMS5
         RMEXkDCdxHep36fNs289NmqfqI8j8rw6yowB16fv/6leT5GDFpM3ztnXIATzwfq6e1tE
         j7mT5jMKwQfczePkqiXRVIve5yCMfo4rIQNZRyMhSJdMu9q9yp5Kc1eTW2pwYgCqXHPP
         1j5gh8xOiQwuW/gbdi13DAtaDCT+tBn0vyGfVRSBqjZP26zwhWX0H1c64iMyUHAX9PmU
         mvow==
X-Gm-Message-State: AOJu0Yw1mvnnHorXSX+bmVvFBcnOGAit6jDl4hDMp/ULG0+r87lSuOeo
	PBKJFjVR8xL13oOlarRAbDN+TblrE+Iiaw==
X-Google-Smtp-Source: AGHT+IHFSnMZTc4mmW+Nx6XlGmcfMrgK8fu/A3K6Mw+E0AaDeHPkA/qLtMDu1Db/jW8AHe2do5uydg==
X-Received: by 2002:a17:906:375b:b0:9c7:5667:5649 with SMTP id e27-20020a170906375b00b009c756675649mr1624362ejc.73.1700821902025;
        Fri, 24 Nov 2023 02:31:42 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 31/39] xen/riscv: add required things to asm/current.h
Date: Fri, 24 Nov 2023 12:30:51 +0200
Message-ID: <b6328d9b5bbb9269066dc17d7c0fcb32fa935b2b.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add minimal requied things to be able to build full Xen.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/current.h | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/xen/arch/riscv/include/asm/current.h b/xen/arch/riscv/include/asm/current.h
index d84f15dc50..e105329bf3 100644
--- a/xen/arch/riscv/include/asm/current.h
+++ b/xen/arch/riscv/include/asm/current.h
@@ -3,6 +3,22 @@
 #ifndef __ASM_CURRENT_H
 #define __ASM_CURRENT_H
 
+#include <xen/percpu.h>
+#include <asm/processor.h>
+
+#ifndef __ASSEMBLY__
+
+struct vcpu;
+
+/* Which VCPU is "current" on this PCPU. */
+DECLARE_PER_CPU(struct vcpu *, curr_vcpu);
+
+#define current            (this_cpu(curr_vcpu))
+#define set_current(vcpu)  do { current = (vcpu); } while (0)
+#define get_cpu_current(cpu)  (per_cpu(curr_vcpu, cpu))
+
+#define guest_cpu_user_regs() (0)
+
 #define switch_stack_and_jump(stack, fn) do {               \
     asm volatile (                                          \
             "mv sp, %0\n"                                   \
@@ -10,4 +26,8 @@
     unreachable();                                          \
 } while ( false )
 
+#define get_per_cpu_offset() __per_cpu_offset[get_processor_id()]
+
+#endif /* __ASSEMBLY__ */
+
 #endif /* __ASM_CURRENT_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:39:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:39:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640438.998686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TbG-0006l4-44; Fri, 24 Nov 2023 10:39:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640438.998686; Fri, 24 Nov 2023 10:39: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 1r6TbF-0006iP-PT; Fri, 24 Nov 2023 10:39:53 +0000
Received: by outflank-mailman (input) for mailman id 640438;
 Fri, 24 Nov 2023 10:39: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTB-0006hy-80
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:33 +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 a2b94eba-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:32 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a00c200782dso254455666b.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:32 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a2b94eba-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821891; x=1701426691; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=b0V+5S8U4gOZUoEwGD71e+WEGaWmpek3DzntqBhyokA=;
        b=ax5M9HFOrr1+ebpURsHh3hX7bCKHrB6bYI0EYJYEdI7l/EEpY/i0FuwmvbthTysINt
         XEWFtty6RKKkFhPpkKGV4hqLkIxHTTRuc3h96mdHEuKii793dA0zeMFVJlU/5FBDcflv
         uRV0NPnIai48UHt1l9weqsnNIwuTB3NL//1MxVCOfifIHTzZfkaEVYGiG8HCi1RT2AJl
         dBW4Xk1Kb5K/yA7YDga9yT2EaOnGSpjQENNilikAWLWAGCYI8xcUASQDkjnkdT8iHzBx
         rdZx34Memz+olA8tW8dtyquAd3NmaSd6MTWDs6/gnUWho0wcotJUcgnIZbEzok+vTRcj
         k13Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821891; x=1701426691;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=b0V+5S8U4gOZUoEwGD71e+WEGaWmpek3DzntqBhyokA=;
        b=bHbBoLT9pZ7AKmSgIAA8SpQi1nvQ2V0YapPm/8xzU7y9cQorV7/eILSeBC0HvjryYF
         mr95ODhViXv2d5F5wLNNIdqeFSorCYmEWex5notVo6xZWWgXZRNBNgE0xlTkyiGRfeUr
         gKdxBD4uvjo909M8B91aiL8r+11DQKtYiCNpAqvijZWfUiiqsW3Lt+PHoXhyiqBOFmG5
         U4C8Hc+6AtdapEqbZBgQD0NPdpkwXhL/KElUcrX/x2l0k5Qep+4edCDc/l4JSlEHtFgC
         MHR7gqsFJvl+F3G76RiU7PbZn0YADQHG0QACFPRw4ce+BFsBv6f8Nwjmo4f+meOTVG0K
         fLmw==
X-Gm-Message-State: AOJu0YzwhubqHsC+SzNjaraM2a5c2kiS5obqtqjV6J8fPU1gTQWXrbMe
	LJU+jPeHrtbi9fNylzNaaRwDh5eZxnReRg==
X-Google-Smtp-Source: AGHT+IH/GAOh8Kpk2bWC0miN/+Y2n1wlkrcA/6D90k406fXKp10il+UnUUrRo4C+fZsNj9gor8lTHw==
X-Received: by 2002:a17:906:118:b0:9e4:6ff2:131a with SMTP id 24-20020a170906011800b009e46ff2131amr1712667eje.48.1700821891564;
        Fri, 24 Nov 2023 02:31:31 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 21/39] xen/riscv: introduce bit operations
Date: Fri, 24 Nov 2023 12:30:41 +0200
Message-ID: <20732007fb103115c0e01cefea7d113b8a7ad8e9.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/Makefile            |   1 +
 xen/arch/riscv/lib/Makefile        |   1 +
 xen/arch/riscv/lib/find_next_bit.c | 278 +++++++++++++++++++++++++++++
 3 files changed, 280 insertions(+)
 create mode 100644 xen/arch/riscv/lib/Makefile
 create mode 100644 xen/arch/riscv/lib/find_next_bit.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index 2fefe14e7c..b08048948f 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -1,5 +1,6 @@
 obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
 obj-y += entry.o
+obj-y += lib/
 obj-y += mm.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
diff --git a/xen/arch/riscv/lib/Makefile b/xen/arch/riscv/lib/Makefile
new file mode 100644
index 0000000000..6fae6a1f10
--- /dev/null
+++ b/xen/arch/riscv/lib/Makefile
@@ -0,0 +1 @@
+obj-y += find_next_bit.o
diff --git a/xen/arch/riscv/lib/find_next_bit.c b/xen/arch/riscv/lib/find_next_bit.c
new file mode 100644
index 0000000000..ac5a4687e3
--- /dev/null
+++ b/xen/arch/riscv/lib/find_next_bit.c
@@ -0,0 +1,278 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * find_next_bit.c: fallback find next bit implementation
+ *
+ * Copyright (C) 2004 Red Hat, Inc. All Rights Reserved.
+ * Written by David Howells (dhowells@redhat.com)
+ */
+#include <xen/bitops.h>
+#include <asm/types.h>
+#include <asm/byteorder.h>
+
+#ifndef find_next_bit
+/*
+ * Find the next set bit in a memory region.
+ */
+unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
+			    unsigned long offset)
+{
+	const unsigned long *p = addr + BIT_WORD(offset);
+	unsigned long result = offset & ~(BITS_PER_LONG-1);
+	unsigned long tmp;
+
+	if (offset >= size)
+		return size;
+	size -= result;
+	offset %= BITS_PER_LONG;
+	if (offset) {
+		tmp = *(p++);
+		tmp &= (~0UL << offset);
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (tmp)
+			goto found_middle;
+		size -= BITS_PER_LONG;
+		result += BITS_PER_LONG;
+	}
+	while (size & ~(BITS_PER_LONG-1)) {
+		if ((tmp = *(p++)))
+			goto found_middle;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp = *p;
+
+found_first:
+	tmp &= (~0UL >> (BITS_PER_LONG - size));
+	if (tmp == 0UL)		/* Are any bits set? */
+		return result + size;	/* Nope. */
+found_middle:
+	return result + __ffs(tmp);
+}
+EXPORT_SYMBOL(find_next_bit);
+#endif
+
+#ifndef find_next_zero_bit
+/*
+ * This implementation of find_{first,next}_zero_bit was stolen from
+ * Linus' asm-alpha/bitops.h.
+ */
+unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
+				 unsigned long offset)
+{
+	const unsigned long *p = addr + BIT_WORD(offset);
+	unsigned long result = offset & ~(BITS_PER_LONG-1);
+	unsigned long tmp;
+
+	if (offset >= size)
+		return size;
+	size -= result;
+	offset %= BITS_PER_LONG;
+	if (offset) {
+		tmp = *(p++);
+		tmp |= ~0UL >> (BITS_PER_LONG - offset);
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (~tmp)
+			goto found_middle;
+		size -= BITS_PER_LONG;
+		result += BITS_PER_LONG;
+	}
+	while (size & ~(BITS_PER_LONG-1)) {
+		if (~(tmp = *(p++)))
+			goto found_middle;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp = *p;
+
+found_first:
+	tmp |= ~0UL << size;
+	if (tmp == ~0UL)	/* Are any bits zero? */
+		return result + size;	/* Nope. */
+found_middle:
+	return result + ffz(tmp);
+}
+EXPORT_SYMBOL(find_next_zero_bit);
+#endif
+
+#ifndef find_first_bit
+/*
+ * Find the first set bit in a memory region.
+ */
+unsigned long find_first_bit(const unsigned long *addr, unsigned long size)
+{
+	const unsigned long *p = addr;
+	unsigned long result = 0;
+	unsigned long tmp;
+
+	while (size & ~(BITS_PER_LONG-1)) {
+		if ((tmp = *(p++)))
+			goto found;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+
+	tmp = (*p) & (~0UL >> (BITS_PER_LONG - size));
+	if (tmp == 0UL)		/* Are any bits set? */
+		return result + size;	/* Nope. */
+found:
+	return result + __ffs(tmp);
+}
+EXPORT_SYMBOL(find_first_bit);
+#endif
+
+#ifndef find_first_zero_bit
+/*
+ * Find the first cleared bit in a memory region.
+ */
+unsigned long find_first_zero_bit(const unsigned long *addr, unsigned long size)
+{
+	const unsigned long *p = addr;
+	unsigned long result = 0;
+	unsigned long tmp;
+
+	while (size & ~(BITS_PER_LONG-1)) {
+		if (~(tmp = *(p++)))
+			goto found;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+
+	tmp = (*p) | (~0UL << size);
+	if (tmp == ~0UL)	/* Are any bits zero? */
+		return result + size;	/* Nope. */
+found:
+	return result + ffz(tmp);
+}
+EXPORT_SYMBOL(find_first_zero_bit);
+#endif
+
+#ifdef __BIG_ENDIAN
+
+/* include/linux/byteorder does not support "unsigned long" type */
+static inline unsigned long ext2_swabp(const unsigned long * x)
+{
+#if BITS_PER_LONG == 64
+	return (unsigned long) __swab64p((u64 *) x);
+#elif BITS_PER_LONG == 32
+	return (unsigned long) __swab32p((u32 *) x);
+#else
+#error BITS_PER_LONG not defined
+#endif
+}
+
+/* include/linux/byteorder doesn't support "unsigned long" type */
+static inline unsigned long ext2_swab(const unsigned long y)
+{
+#if BITS_PER_LONG == 64
+	return (unsigned long) __swab64((u64) y);
+#elif BITS_PER_LONG == 32
+	return (unsigned long) __swab32((u32) y);
+#else
+#error BITS_PER_LONG not defined
+#endif
+}
+
+#ifndef find_next_zero_bit_le
+unsigned long find_next_zero_bit_le(const void *addr, unsigned
+		long size, unsigned long offset)
+{
+	const unsigned long *p = addr;
+	unsigned long result = offset & ~(BITS_PER_LONG - 1);
+	unsigned long tmp;
+
+	if (offset >= size)
+		return size;
+	p += BIT_WORD(offset);
+	size -= result;
+	offset &= (BITS_PER_LONG - 1UL);
+	if (offset) {
+		tmp = ext2_swabp(p++);
+		tmp |= (~0UL >> (BITS_PER_LONG - offset));
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (~tmp)
+			goto found_middle;
+		size -= BITS_PER_LONG;
+		result += BITS_PER_LONG;
+	}
+
+	while (size & ~(BITS_PER_LONG - 1)) {
+		if (~(tmp = *(p++)))
+			goto found_middle_swap;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp = ext2_swabp(p);
+found_first:
+	tmp |= ~0UL << size;
+	if (tmp == ~0UL)	/* Are any bits zero? */
+		return result + size; /* Nope. Skip ffz */
+found_middle:
+	return result + ffz(tmp);
+
+found_middle_swap:
+	return result + ffz(ext2_swab(tmp));
+}
+EXPORT_SYMBOL(find_next_zero_bit_le);
+#endif
+
+#ifndef find_next_bit_le
+unsigned long find_next_bit_le(const void *addr, unsigned
+		long size, unsigned long offset)
+{
+	const unsigned long *p = addr;
+	unsigned long result = offset & ~(BITS_PER_LONG - 1);
+	unsigned long tmp;
+
+	if (offset >= size)
+		return size;
+	p += BIT_WORD(offset);
+	size -= result;
+	offset &= (BITS_PER_LONG - 1UL);
+	if (offset) {
+		tmp = ext2_swabp(p++);
+		tmp &= (~0UL << offset);
+		if (size < BITS_PER_LONG)
+			goto found_first;
+		if (tmp)
+			goto found_middle;
+		size -= BITS_PER_LONG;
+		result += BITS_PER_LONG;
+	}
+
+	while (size & ~(BITS_PER_LONG - 1)) {
+		tmp = *(p++);
+		if (tmp)
+			goto found_middle_swap;
+		result += BITS_PER_LONG;
+		size -= BITS_PER_LONG;
+	}
+	if (!size)
+		return result;
+	tmp = ext2_swabp(p);
+found_first:
+	tmp &= (~0UL >> (BITS_PER_LONG - size));
+	if (tmp == 0UL)		/* Are any bits set? */
+		return result + size; /* Nope. */
+found_middle:
+	return result + __ffs(tmp);
+
+found_middle_swap:
+	return result + __ffs(ext2_swab(tmp));
+}
+EXPORT_SYMBOL(find_next_bit_le);
+#endif
+
+#endif /* __BIG_ENDIAN */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:39:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:39:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640440.998703 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TbI-0007QP-7R; Fri, 24 Nov 2023 10:39:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640440.998703; Fri, 24 Nov 2023 10:39: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 1r6TbI-0007QA-4a; Fri, 24 Nov 2023 10:39:56 +0000
Received: by outflank-mailman (input) for mailman id 640440;
 Fri, 24 Nov 2023 10:39: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTG-0006hx-AF
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:38 +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 a4207aef-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:34 +0100 (CET)
Received: by mail-ej1-x62c.google.com with SMTP id
 a640c23a62f3a-a002562bd8bso338542166b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:34 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a4207aef-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821893; x=1701426693; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h1NXcb7jdaaZuI6SEewIcUNgTZv6aenL5cTsYiy8AuM=;
        b=S51rFyc9h/8ZqbooOO74S2uhqmAeWfWtuXFMDqdDGEhxJ7yjE2/y3GlrCLAGe9CY3J
         4dMjh6CfCIBeIa0FFkW4QR9xnfzXAqbjbLM4qi1/3Po/1pq1nbn5z3VPkLJ4vSbISw5g
         9VAP52B4f4MIVquBmP8lqtFi8X+PO//oEQbib1mvxfXJW0rT6iuOZP3s7D51N2BD3El3
         MDt7aes1Qs6eiUBF0XfSlKxHuHph9209Nu8AKr/qY1KSZnAMoUjdTYQ62bLrUcrhJFZa
         HMBR1HXS8tXQqcK4lsEKy9ZLWEPEc1PY3+0u7t9QRwzyi6KGf5wSB1cnxtauvcy8W3Fc
         V7gA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821893; x=1701426693;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=h1NXcb7jdaaZuI6SEewIcUNgTZv6aenL5cTsYiy8AuM=;
        b=kco5ZzssmCFKPcGgMHk7qzpsf1G9KmcYdX/XmZHbmnvdhKLkwbJuzq3RszResbb7PE
         Vycn28d0L57Wqq8JQCtoz9f6YracVJAmg23avF71lXJTO5NraCc5Msf/yvnjABHRXCwC
         /t5pppNy+p/GVggMovIMvjH/A9ozkmYQjiSekubhqzlcoVs45XSoEeglgo9sM0TRB34d
         ricsA2JorVvag9Q21RzELr1XvN5yetlMwISKkMUElkIHYDNjEemp7dWO3RRwzZ6iRxyB
         vBw0Rbgyf5598w8OzERr8DEvDglaehaLbk3ME/gBDJ7USh83upbH6YlCQvRVNpDAau7c
         KNHA==
X-Gm-Message-State: AOJu0Yzvvl5i1w5FFY71siQZf8WYeZDfXTxaZdzE1jC238iHEdEKHeEl
	JQ0bLB7vrLRafmUGVfNmlgNrOJsbnAtKDg==
X-Google-Smtp-Source: AGHT+IEpnpSVM6zekDmA0E7mtOm2rvIi+vPqePZUXFRfPofCeJaNKbtrbTJxjumOjWTHEvf70cgIxg==
X-Received: by 2002:a17:906:2088:b0:9ef:b466:abe0 with SMTP id 8-20020a170906208800b009efb466abe0mr1873955ejq.8.1700821893680;
        Fri, 24 Nov 2023 02:31:33 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 23/39] xen/riscv: introduce asm/guest_access.h
Date: Fri, 24 Nov 2023 12:30:43 +0200
Message-ID: <7dda759b846003fcb453f1118cefbfd2eeb804d7.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - change xen/mm.h to xen/types.h
---
 xen/arch/riscv/include/asm/guest_access.h | 29 +++++++++++++++++++++++
 1 file changed, 29 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/guest_access.h

diff --git a/xen/arch/riscv/include/asm/guest_access.h b/xen/arch/riscv/include/asm/guest_access.h
new file mode 100644
index 0000000000..122ecdc048
--- /dev/null
+++ b/xen/arch/riscv/include/asm/guest_access.h
@@ -0,0 +1,29 @@
+#ifndef __ASM_RISCV_GUEST_ACCESS_H__
+#define __ASM_RISCV_GUEST_ACCESS_H__
+
+#include <xen/types.h>
+
+unsigned long raw_copy_to_guest(void *to, const void *from, unsigned len);
+unsigned long raw_copy_from_guest(void *to, const void *from, unsigned len);
+
+#define __raw_copy_to_guest raw_copy_to_guest
+#define __raw_copy_from_guest raw_copy_from_guest
+
+#define guest_handle_okay(hnd, nr) (1)
+#define guest_handle_subrange_okay(hnd, first, last) (1)
+
+struct domain;
+unsigned long copy_to_guest_phys(struct domain *d,
+                                 paddr_t gpa,
+                                 void *buf,
+                                 unsigned int len);
+
+#endif /* __ASM_RISCV_GUEST_ACCESS_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:40:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:40:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640448.998713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TbY-0001OH-P0; Fri, 24 Nov 2023 10:40:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640448.998713; Fri, 24 Nov 2023 10:40: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 1r6TbY-0001O3-JX; Fri, 24 Nov 2023 10:40:12 +0000
Received: by outflank-mailman (input) for mailman id 640448;
 Fri, 24 Nov 2023 10:40: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTN-0006hy-Qy
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:45 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa5af560-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:45 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a02d91ab195so243561266b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:45 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa5af560-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821904; x=1701426704; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SpSp8E17qEj94T9sM+8NmsxWyfgY0JYjY9q+eWFf4H0=;
        b=DmCfPenNAosBZGfXkDD9g3h4BThKABSnF1W4pI3bfVNdwxx6su1+4c2dzIig32lHds
         F2dGjPQYaar6wU33AZrLmGw8bdAepkzKjsN5cTaVQbz1DA2uNuAqHc4kTUtWa12R6mbN
         nio8OSIeoHvrZ2nvGZZii1UXFxq6N5KMQiwqDBJbwHoxUsgY8I9MfhjwtcXtQoaHeH9r
         /yMcfvMzNKb9Qz/5OIzL2OETQ0QCf2Af9EoPvUDRhJXB9r4UE2vFMEnCVwaTA1+U2VaG
         dCaZgVTGPN78N2UEvssD5YRsvIu3/ayBpBhLCinyfz3lnlUYNbwbnhO6LRMNy2ftAhPL
         b3kA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821904; x=1701426704;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SpSp8E17qEj94T9sM+8NmsxWyfgY0JYjY9q+eWFf4H0=;
        b=iyZ8DmlQ8mGVvkzrtQr4R6buAEJksKfIig6wjnggpQZVcARsLSvldKqG8upGo3fPLc
         2YgMDdmITKGZbigS9uDX2bTbCyOnmVjk9zpAE31X6jxFBbFDE000+XgOkvHHLJXz1ZZv
         8TFgRHsW2aC7cH2Pd4Aypopy9JEH6WiAfigPgGR3WJJWYoVhUS6JyYEdQijATj2NVOJQ
         fcijEGB02z9GOFssO+FzTZXdot5uKnjiGlVscF9UJWrWskCWJYEMVgo4vx5+i2T92bNH
         CEJ1i2Pg4S/1AC3/hu7Pze2VCENjJ/oOM2AuswAyjks4d0bfsssNTN5yASJl/8y3B34f
         e7Dg==
X-Gm-Message-State: AOJu0YyQDOWHVs0UQRxXhOr53m+215MRVv96oudWncmI3TWUD6A9TTf6
	IOQxkiJ1+T7vkPdgKzcXDhcyUrPWa9y4IA==
X-Google-Smtp-Source: AGHT+IGCGPE7Wq4gWuFbVL/H/LXGB3tR60IIjz/ZAK7dYC9NrqmFsLx4YBWUyfjzHIslqRSeSbzLbw==
X-Received: by 2002:a17:906:3954:b0:9ff:ce31:2068 with SMTP id g20-20020a170906395400b009ffce312068mr1557617eje.42.1700821904558;
        Fri, 24 Nov 2023 02:31:44 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 34/39] xen: add RISCV support for pmu.h
Date: Fri, 24 Nov 2023 12:30:54 +0200
Message-ID: <55a47c6b5df5ea8c7dbe38995616b997f587880e.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/include/public/pmu.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/include/public/pmu.h b/xen/include/public/pmu.h
index 5a176b6ac3..af8b7babdd 100644
--- a/xen/include/public/pmu.h
+++ b/xen/include/public/pmu.h
@@ -13,6 +13,8 @@
 #include "arch-arm.h"
 #elif defined (__powerpc64__)
 #include "arch-ppc.h"
+#elif defined(__riscv)
+#include "arch-riscv.h"
 #else
 #error "Unsupported architecture"
 #endif
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:40:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:40:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640455.998723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TcB-00031r-1e; Fri, 24 Nov 2023 10:40:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640455.998723; Fri, 24 Nov 2023 10:40: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 1r6TcA-00031k-UN; Fri, 24 Nov 2023 10:40:50 +0000
Received: by outflank-mailman (input) for mailman id 640455;
 Fri, 24 Nov 2023 10:40: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTY-0006hx-DH
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:56 +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 ab5bedd8-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:47 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a00b01955acso252686266b.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:47 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab5bedd8-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821906; x=1701426706; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=1Kbuuii/+7rQmgonB46PIVQoLZag642OKfw6nsrfRy8=;
        b=iRr6w3Ly3s364ncMCSjNaHERExnErwTYlahSyGgVt71wh/1Wg++l0UDNYkFsRmQQGp
         GTx+kjWJKrQSi4ZJvSz5KuFMKFZvfkZlw8QJ1JIJKCyyjukAnH7UoMirQw0j474PQhYF
         fC/JpM9ocErM40oVMXAL2j1umXieqPRp8/cQsQJq3xSckE0TbKoVbg1mj7/TIsP+wH2j
         rNlwK0U/nDatGZPM6iHWGdId8PtErBMMdNLAbeAh/K0C3cbFq1nMJI0hOnmnvHRzh/6p
         6r5BoYLzY/6p9mNAdjkDjYlqhMjmgDzpJxyrDT2L8/tQPYU+58p7UfnKFpyyROal6Ejm
         n8Og==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821906; x=1701426706;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=1Kbuuii/+7rQmgonB46PIVQoLZag642OKfw6nsrfRy8=;
        b=DsExdc22g7RxIJ0laitI6R3UkJEdWJFiJXTzYlEdTmF5+LzvbjJvFIJtL/7PhRqHvt
         WR6Wi1l1ZbrZ7ku1Ix50Gs4ITkVkWlc46qaOvF+8TqqrQvEBrgGMJO0EI+TlpzQz+hlY
         Fl5WHtaq2FMLmPPgl6FDjetmMZ52eC166w3Rn3lq56cGkgaWoRlNUe70dAQxkqt4QldS
         /E+wq3Ugw70WgIHldXXvXStSXCG4oYEsA1ZTD977nRVtyomJAHavQVCUHdx0npSqYuCI
         Pqgrr2fQS2r5Ph+TrXSsMRv5IsxSRr2KKiRrBBAJrRs5E10X4bBvDfQCiGxCF9/rUqBh
         awhQ==
X-Gm-Message-State: AOJu0YyhrNcWL7Xmx5VSzUW8BwcB6dCscTNwTnSNjqxHooPTsPr+qqHJ
	OrMdwShCvkCXJVKt+S5WRZp9X0O8jRvPJQ==
X-Google-Smtp-Source: AGHT+IFq0SCZr2yLlDzH678tDe2CxkBqcq+l+3icodbXegZpn/4jenHWQrDS1tWTXb1Al9WEgHCi8g==
X-Received: by 2002:a17:906:7385:b0:9b6:aac1:6fa5 with SMTP id f5-20020a170906738500b009b6aac16fa5mr1507668ejl.55.1700821906201;
        Fri, 24 Nov 2023 02:31:46 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 36/39] xen/riscv: add minimal stuff to asm/mm.h to build full Xen
Date: Fri, 24 Nov 2023 12:30:56 +0200
Message-ID: <ec017ed24b1e5274d64d5458e4ab4475c92dece7.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - define stub for arch_get_dma_bitsize(void)
---
 xen/arch/riscv/include/asm/mm.h | 270 +++++++++++++++++++++++++++++++-
 1 file changed, 268 insertions(+), 2 deletions(-)

diff --git a/xen/arch/riscv/include/asm/mm.h b/xen/arch/riscv/include/asm/mm.h
index 07c7a0abba..68460f6659 100644
--- a/xen/arch/riscv/include/asm/mm.h
+++ b/xen/arch/riscv/include/asm/mm.h
@@ -3,10 +3,271 @@
 #ifndef _ASM_RISCV_MM_H
 #define _ASM_RISCV_MM_H
 
+#include <public/xen.h>
+#include <xen/pdx.h>
+#include <xen/types.h>
+
+#include <asm/page.h>
 #include <asm/page-bits.h>
 
-#define pfn_to_paddr(pfn) ((paddr_t)(pfn) << PAGE_SHIFT)
-#define paddr_to_pfn(pa)  ((unsigned long)((pa) >> PAGE_SHIFT))
+#define paddr_to_pdx(pa)    mfn_to_pdx(maddr_to_mfn(pa))
+#define gfn_to_gaddr(gfn)   pfn_to_paddr(gfn_x(gfn))
+#define gaddr_to_gfn(ga)    _gfn(paddr_to_pfn(ga))
+#define mfn_to_maddr(mfn)   pfn_to_paddr(mfn_x(mfn))
+#define maddr_to_mfn(ma)    _mfn(paddr_to_pfn(ma))
+#define vmap_to_mfn(va)     maddr_to_mfn(virt_to_maddr((vaddr_t)va))
+#define vmap_to_page(va)    mfn_to_page(vmap_to_mfn(va))
+#define paddr_to_pdx(pa)    mfn_to_pdx(maddr_to_mfn(pa))
+#define gfn_to_gaddr(gfn)   pfn_to_paddr(gfn_x(gfn))
+#define gaddr_to_gfn(ga)    _gfn(paddr_to_pfn(ga))
+#define mfn_to_maddr(mfn)   pfn_to_paddr(mfn_x(mfn))
+#define maddr_to_mfn(ma)    _mfn(paddr_to_pfn(ma))
+#define vmap_to_mfn(va)     maddr_to_mfn(virt_to_maddr((vaddr_t)va))
+#define vmap_to_page(va)    mfn_to_page(vmap_to_mfn(va))
+
+#define virt_to_maddr(va) ((paddr_t)((vaddr_t)(va) & PADDR_MASK))
+#define maddr_to_virt(pa) ((void *)((paddr_t)(pa) | XEN_VIRT_START))
+
+/* Convert between Xen-heap virtual addresses and machine frame numbers. */
+#define __virt_to_mfn(va) (virt_to_maddr(va) >> PAGE_SHIFT)
+#define __mfn_to_virt(mfn) (maddr_to_virt((paddr_t)(mfn) << PAGE_SHIFT))
+
+/* Convert between Xen-heap virtual addresses and page-info structures. */
+static inline struct page_info *virt_to_page(const void *v)
+{
+    BUG();
+    return NULL;
+}
+
+/*
+ * We define non-underscored wrappers for above conversion functions.
+ * These are overriden in various source files while underscored version
+ * remain intact.
+ */
+#define virt_to_mfn(va)     __virt_to_mfn(va)
+#define mfn_to_virt(mfn)    __mfn_to_virt(mfn)
+
+struct page_info
+{
+    /* Each frame can be threaded onto a doubly-linked list. */
+    struct page_list_entry list;
+
+    /* Reference count and various PGC_xxx flags and fields. */
+    unsigned long count_info;
+
+    /* Context-dependent fields follow... */
+    union {
+        /* Page is in use: ((count_info & PGC_count_mask) != 0). */
+        struct {
+            /* Type reference count and various PGT_xxx flags and fields. */
+            unsigned long type_info;
+        } inuse;
+        /* Page is on a free list: ((count_info & PGC_count_mask) == 0). */
+        union {
+            struct {
+                /*
+                 * Index of the first *possibly* unscrubbed page in the buddy.
+                 * One more bit than maximum possible order to accommodate
+                 * INVALID_DIRTY_IDX.
+                 */
+#define INVALID_DIRTY_IDX ((1UL << (MAX_ORDER + 1)) - 1)
+                unsigned long first_dirty:MAX_ORDER + 1;
+
+                /* Do TLBs need flushing for safety before next page use? */
+                bool need_tlbflush:1;
+
+#define BUDDY_NOT_SCRUBBING    0
+#define BUDDY_SCRUBBING        1
+#define BUDDY_SCRUB_ABORT      2
+                unsigned long scrub_state:2;
+            };
+
+            unsigned long val;
+            } free;
+
+    } u;
+
+    union {
+        /* Page is in use, but not as a shadow. */
+        struct {
+            /* Owner of this page (zero if page is anonymous). */
+            struct domain *domain;
+        } inuse;
+
+        /* Page is on a free list. */
+        struct {
+            /* Order-size of the free chunk this page is the head of. */
+            unsigned int order;
+        } free;
+
+    } v;
+
+    union {
+        /*
+         * Timestamp from 'TLB clock', used to avoid extra safety flushes.
+         * Only valid for: a) free pages, and b) pages with zero type count
+         */
+        u32 tlbflush_timestamp;
+    };
+    u64 pad;
+};
+
+#define frame_table ((struct page_info *)FRAMETABLE_VIRT_START)
+
+/* PDX of the first page in the frame table. */
+extern unsigned long frametable_base_pdx;
+
+/* Convert between machine frame numbers and page-info structures. */
+#define mfn_to_page(mfn)                                            \
+    (frame_table + (mfn_to_pdx(mfn) - frametable_base_pdx))
+#define page_to_mfn(pg)                                             \
+    pdx_to_mfn((unsigned long)((pg) - frame_table) + frametable_base_pdx)
+
+static inline void *page_to_virt(const struct page_info *pg)
+{
+    return mfn_to_virt(mfn_x(page_to_mfn(pg)));
+}
+
+/*
+ * Common code requires get_page_type and put_page_type.
+ * We don't care about typecounts so we just do the minimum to make it
+ * happy.
+ */
+static inline int get_page_type(struct page_info *page, unsigned long type)
+{
+    return 1;
+}
+
+static inline void put_page_type(struct page_info *page)
+{
+    return;
+}
+
+/* TODO */
+static inline bool get_page_nr(struct page_info *page, const struct domain *domain,
+                        unsigned long nr)
+{
+    BUG();
+}
+static inline void put_page_nr(struct page_info *page, unsigned long nr)
+{
+    BUG();
+}
+
+static inline void put_page_and_type(struct page_info *page)
+{
+    put_page_type(page);
+    put_page(page);
+}
+
+/*
+ * RISCV does not have an M2P, but common code expects a handful of
+ * M2P-related defines and functions. Provide dummy versions of these.
+ */
+#define INVALID_M2P_ENTRY        (~0UL)
+#define SHARED_M2P_ENTRY         (~0UL - 1UL)
+#define SHARED_M2P(_e)           ((_e) == SHARED_M2P_ENTRY)
+
+/* Xen always owns P2M on PPC */
+#define set_gpfn_from_mfn(mfn, pfn) do { (void) (mfn), (void)(pfn); } while (0)
+#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
+
+#define PDX_GROUP_SHIFT (16 + 5)
+
+static inline unsigned long domain_get_maximum_gpfn(struct domain *d)
+{
+    BUG();
+    return 0;
+}
+
+static inline long arch_memory_op(int op, XEN_GUEST_HANDLE_PARAM(void) arg)
+{
+    BUG();
+    return 0;
+}
+
+/*
+ * On RISCV, all the RAM is currently direct mapped in Xen.
+ * Hence return always true.
+ */
+static inline bool arch_mfns_in_directmap(unsigned long mfn, unsigned long nr)
+{
+    return true;
+}
+
+#define PG_shift(idx)   (BITS_PER_LONG - (idx))
+#define PG_mask(x, idx) (x ## UL << PG_shift(idx))
+
+#define PGT_none          PG_mask(0, 1)  /* no special uses of this page   */
+#define PGT_writable_page PG_mask(1, 1)  /* has writable mappings?         */
+#define PGT_type_mask     PG_mask(1, 1)  /* Bits 31 or 63.                 */
+
+ /* Count of uses of this frame as its current type. */
+#define PGT_count_width   PG_shift(2)
+#define PGT_count_mask    ((1UL<<PGT_count_width)-1)
+
+/*
+ * 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.
+ */
+#define _PGC_need_scrub   _PGC_allocated
+#define PGC_need_scrub    PGC_allocated
+
+//  /* Cleared when the owning guest 'frees' this page. */
+#define _PGC_allocated    PG_shift(1)
+#define PGC_allocated     PG_mask(1, 1)
+  /* Page is Xen heap? */
+#define _PGC_xen_heap     PG_shift(2)
+#define PGC_xen_heap      PG_mask(1, 2)
+#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)
+#define PGC_broken        PG_mask(1, 7)
+ /* Mutually-exclusive page states: { inuse, offlining, offlined, free }. */
+#define PGC_state         PG_mask(3, 9)
+#define PGC_state_inuse   PG_mask(0, 9)
+#define PGC_state_offlining PG_mask(1, 9)
+#define PGC_state_offlined PG_mask(2, 9)
+#define PGC_state_free    PG_mask(3, 9)
+// #define page_state_is(pg, st) (((pg)->count_info&PGC_state) == PGC_state_##st)
+
+/* Count of references to this frame. */
+#define PGC_count_width   PG_shift(9)
+#define PGC_count_mask    ((1UL<<PGC_count_width)-1)
+
+#define page_state_is(pg, st) (((pg)->count_info&PGC_state) == PGC_state_##st)
+
+#define _PGC_extra        PG_shift(10)
+#define PGC_extra         PG_mask(1, 10)
+
+#define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap)
+#define is_xen_heap_mfn(mfn) \
+    (mfn_valid(mfn) && is_xen_heap_page(mfn_to_page(mfn)))
+
+#define is_xen_fixed_mfn(mfn)                                   \
+    ((mfn_to_maddr(mfn) >= virt_to_maddr(&_start)) &&           \
+     (mfn_to_maddr(mfn) <= virt_to_maddr((vaddr_t)_end - 1)))
+
+#define page_get_owner(_p)    (_p)->v.inuse.domain
+#define page_set_owner(_p,_d) ((_p)->v.inuse.domain = (_d))
+
+/* TODO: implement */
+#define mfn_valid(mfn) ({ (void) (mfn); 0; })
+// #define max_page (0UL)
+
+#define mfn_to_gfn(d, mfn) ((void)(d), _gfn(mfn_x(mfn)))
+
+#define domain_set_alloc_bitsize(d) ((void)0)
+#define domain_clamp_alloc_bitsize(d, b) (b)
+
+#define PFN_ORDER(_pfn) ((_pfn)->v.free.order)
 
 extern unsigned char cpu0_boot_stack[];
 
@@ -20,4 +281,9 @@ unsigned long calc_phys_offset(void);
 
 void turn_on_mmu(unsigned long ra);
 
+static inline unsigned int arch_get_dma_bitsize(void)
+{
+    return 32; /* TODO */
+}
+
 #endif /* _ASM_RISCV_MM_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:42:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:42:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640459.998733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TdQ-00044m-Am; Fri, 24 Nov 2023 10:42:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640459.998733; Fri, 24 Nov 2023 10:42: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 1r6TdQ-00044f-7t; Fri, 24 Nov 2023 10:42:08 +0000
Received: by outflank-mailman (input) for mailman id 640459;
 Fri, 24 Nov 2023 10:42: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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6TdP-00044J-7f
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:42:07 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e89::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b6856e1-8ab6-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:42:05 +0100 (CET)
Received: from DM6PR07CA0052.namprd07.prod.outlook.com (2603:10b6:5:74::29) by
 PH7PR12MB5830.namprd12.prod.outlook.com (2603:10b6:510:1d5::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 10:42:01 +0000
Received: from CY4PEPF0000EE3F.namprd03.prod.outlook.com
 (2603:10b6:5:74:cafe::64) by DM6PR07CA0052.outlook.office365.com
 (2603:10b6:5:74::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend
 Transport; Fri, 24 Nov 2023 10:42:01 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3F.mail.protection.outlook.com (10.167.242.19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.13 via Frontend Transport; Fri, 24 Nov 2023 10:42:00 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:41:56 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b6856e1-8ab6-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZoaGuMlU/D+vp+DBP6XM6MQ1NIrx31y5zSrPf3jnN478S8xM1/Fut253hYyqr7EOeea2ZJ4MyVP4TBMiFwHpAlpUyE/yoY1/I8sXr7SuVyCEiUUVNwD8DHNq2S8W9u4Qafqpp9yL7XKrPpa2q3fv/AT054zjcSLCuDfws2pQ0VpdBMppCAz4gb3qO/q8DZGFtDfjQ2DBhfyNJK2jlKbzPlwpw2SbK3oArutSK5Zr6GsEX8mSykZ7NAgDFN1O3Gp6pS8xjTDs3EKNVIuF0lTz95r87IC8nkGqopEuI7RXwf35cA43G+rOQ2j00be7yfJwwObeAR6A23BEd6qJfz6JqA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=sAdLDrxElG/nCt7sYNFn/UabtUtI1BcN1/frFv9Hsk4=;
 b=JK/401LNGihRhukidi6l5kb7X5zcOCHYg/j2bB3F/Bx+UoAtSYxvv4pfpImmeIp6BVbTLKA3gk1AOGOWCDTvomVG1isTc+wVJi4OwSXUkGAbdUeRbY03Q9dfgCw6ZCiL0eHS/1HLCDV2oEtG12f1Myyp9lV2DjSdaz+U72zn7zg/60fmHymKZai3uT0ytqcPlkesdGDVdTFgN6+yz3kjshOY7LDAOfIO/WvvX15l+/tOe8Luz5Ju7WCYXdZv6LvQ0N8HuRFcECUzQtTR943Z5G8BsdE22nOpvSE9Tw8m6Dh5qYumO6NwHifd5nJfjwlVpAtXAU+4Qh/optpd23lFUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=sAdLDrxElG/nCt7sYNFn/UabtUtI1BcN1/frFv9Hsk4=;
 b=IMHdLCUDxI4bvGm6tugKm0r5sy5I741A+CtVzDhvAfbn9WbuwubJMqw/gmQ5L2IVEFxLwoD8CzpxruKdDtSuKkjaYvR57WjtSglv8xLvngp5tVYhcOxnkoQ6+tsbCjqpuvxFcFllBxGBLlFMbfyjQa0RgGDRlHfpAekZKkTFGhM=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: 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>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Alex Deucher
	<Alexander.Deucher@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>, Huang Rui
	<Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, Julia Zhang
	<Julia.Zhang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Subject: [RFC XEN PATCH v2 0/3] Support device passthrough when dom0 is PVH on Xen
Date: Fri, 24 Nov 2023 18:41:33 +0800
Message-ID: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3F:EE_|PH7PR12MB5830:EE_
X-MS-Office365-Filtering-Correlation-Id: 99d4c6b5-2e5d-4036-e4ac-08dbecd9fd90
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jnGTp0tYURfDQSwL1rHy50gRn8rGmAILUnJoMkLp2Fr5jBl9dz/mxL7EtV5J7x9zf/MsdYdVvrbHLK0Ijc2Ex49TyCgXuz+hg7Q2gUxsL3EGnpZGjsf0ejhwCb95XsdCZHaFIIikoNlmHijU+QG22k+/PpWzSP7v6ehfxAzu0lh4SSvAHngX3dUkyu3agDhz9A/nwabOCVO28/VKX43FR2X31TKRe78KA0x8PAf9zR5AEkXEoneuUGEiYgpn6bJ/6NJGwprqVPAeLR/zf3vWkRpwhUSx8A7zViGKP/3tsXHWbsq6WWy+fsF/GfsHNG/w4VErjIDL1jDHj/J91HxmEBQxQBdST3ph2w37T0O9FxbdQk2wGYofLIre59LQdxsU/l+cM3GgCnA9S/6+R8uNaCdv8KKnJccsk+XKNGDKG9kScw8ZdDNhL29ziOPpyFw8UD0zvZG+OoIbtXRjmbluYMRbzp+M099lE05vMmeQHK79Q6NIw+1cOE3RMBFebDHY01HbDdty/6jRkZlhhzId94i/pjVYfX8oGhg1cepyl1vJnGfiBqkm1ti8wBjWtu2ImYuSrrwMcgfrHp1vJ20IlcNIQ0BfXo3/erqO+spcGui+kJeqoZf6G9l2rm2OXdxC5Lf4gxIntz4QQ0xGBnRp/sW7G6er2pmYqKL488putyXweCRDInHLsRrF9OMF8t5Y7yMgSEMxkocphoBBW3Eax9nFDc+Zxa3MHmwvklWTdq0NU24rx1E34NiQlGEgodp1I9WckFQjJjlIF3HeimrW598S2PsXNxh2a5W+qHVWb/M=
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:(13230031)(4636009)(39860400002)(136003)(396003)(346002)(376002)(230922051799003)(82310400011)(186009)(64100799003)(451199024)(1800799012)(40470700004)(46966006)(36840700001)(40460700003)(426003)(83380400001)(82740400003)(86362001)(36756003)(356005)(81166007)(47076005)(36860700001)(336012)(70206006)(70586007)(316002)(54906003)(8936002)(4326008)(8676002)(41300700001)(110136005)(5660300002)(1076003)(2906002)(26005)(16526019)(40480700001)(2616005)(478600001)(6666004)(966005)(7696005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:42:00.8153
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 99d4c6b5-2e5d-4036-e4ac-08dbecd9fd90
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:
	CY4PEPF0000EE3F.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5830

Hi All,

This series of patches are the v2 of the implementation of passthrough when dom0 is PVH on Xen.
We sent the v1 to upstream before, but the v1 had so many problems and we got lots of suggestions.
I will introduce all issues that these patches try to fix and the differences between v1 and v2.

v2 on kernel side:
https://lore.kernel.org/lkml/20231124103123.3263471-1-Jiqian.Chen@amd.com/T/#t

Issues we encountered:
1. pci_stub failed to write bar for a passthrough device.
Problem: when we run “sudo xl pci-assignable-add <sbdf>” to assign a device, pci_stub will
call “pcistub_init_device() -> pci_restore_state() -> pci_restore_config_space() ->
pci_restore_config_space_range() -> pci_restore_config_dword() -> pci_write_config_dword()”,
the pci config write will trigger an io interrupt to bar_write() in the xen, but the
bar->enabled was set before, the write is not allowed now, and then when Qemu config the
passthrough device in xen_pt_realize(), it gets invalid bar values.

Reason: the reason is that we don't tell vPCI that the device has been reset, so the current
cached state in pdev->vpci is all out of date and is different from the real device state.

Solution: to solve this problem, the first patch of kernel(xen/pci: Add xen_reset_device_state
function) and the fist patch of xen(xen/vpci: Clear all vpci status of device) add a new
hypercall to reset the state stored in vPCI when the state of real device has changed.
Thank Roger for the suggestion of this v2, and it is different from v1
(https://lore.kernel.org/xen-devel/20230312075455.450187-3-ray.huang@amd.com/), v1 simply allow
domU to write pci bar, it does not comply with the design principles of vPCI.

2. failed to do PHYSDEVOP_map_pirq when dom0 is PVH
Problem: HVM domU will do PHYSDEVOP_map_pirq for a passthrough device by using gsi. See
xen_pt_realize->xc_physdev_map_pirq and pci_add_dm_done->xc_physdev_map_pirq. Then
xc_physdev_map_pirq will call into Xen, but in hvm_physdev_op(), PHYSDEVOP_map_pirq is not allowed.

Reason: In hvm_physdev_op(), the variable "currd" is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag,
it will fail at has_pirq check.

Solution: I think we may need to allow PHYSDEVOP_map_pirq when "currd" is dom0 (at present dom0 is
PVH). The second patch of xen(x86/pvh: Open PHYSDEVOP_map_pirq for PVH dom0) allow PVH dom0 do
PHYSDEVOP_map_pirq. This v2 patch is better than v1, v1 simply remove the has_pirq check(xen
https://lore.kernel.org/xen-devel/20230312075455.450187-4-ray.huang@amd.com/).

3. the gsi of a passthrough device doesn't be unmasked
 3.1 failed to check the permission of pirq
 3.2 the gsi of passthrough device was not registered in PVH dom0

Problem:
3.1 callback function pci_add_dm_done() will be called when qemu config a passthrough device for domU.
This function will call xc_domain_irq_permission()-> pirq_access_permitted() to check if the gsi has
corresponding mappings in dom0. But it didn’t, so failed. See
XEN_DOMCTL_irq_permission->pirq_access_permitted, "current" is PVH dom0 and it return irq is 0.
3.2 it's possible for a gsi (iow: vIO-APIC pin) to never get registered on PVH dom0, because the
devices of PVH are using MSI(-X) interrupts. However, the IO-APIC pin must be configured for it to be
able to be mapped into a domU.

Reason: After searching codes, I find "map_pirq" and "register_gsi" will be done in function
vioapic_write_redirent->vioapic_hwdom_map_gsi when the gsi(aka ioapic's pin) is unmasked in PVH dom0.
So the two problems can be concluded to that the gsi of a passthrough device doesn't be unmasked.

Solution: to solve these problems, the second patch of kernel(xen/pvh: Unmask irq for passthrough
device in PVH dom0) call the unmask_irq() when we assign a device to be passthrough. So that
passthrough devices can have the mapping of gsi on PVH dom0 and gsi can be registered. This v2 patch
is different from the v1(
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/,
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-5-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-5-ray.huang@amd.com/),
v1 performed "map_pirq" and "register_gsi" on all pci devices on PVH dom0, which is unnecessary and
may cause multiple registration.

4. failed to map pirq for gsi
Problem: qemu will call xc_physdev_map_pirq() to map a passthrough device’s gsi to pirq in function
xen_pt_realize(). But failed.

Reason: According to the implement of xc_physdev_map_pirq(), it needs gsi instead of irq, but qemu
pass irq to it and treat irq as gsi, it is got from file /sys/bus/pci/devices/xxxx:xx:xx.x/irq in
function xen_host_pci_device_get(). But actually the gsi number is not equal with irq. On PVH dom0,
when it allocates irq for a gsi in function acpi_register_gsi_ioapic(), allocation is dynamic, and
follow the principle of applying first, distributing first. And if you debug the kernel codes(see
function __irq_alloc_descs), you will find the irq number is allocated from small to large by order,
but the applying gsi number is not, gsi 38 may come before gsi 28, that causes gsi 38 get a smaller
irq number than gsi 28, and then gsi != irq.

Solution: we can record the relation between gsi and irq, then when userspace(qemu) want to use gsi,
we can do a translation. The third patch of kernel(xen/privcmd: Add new syscall to get gsi from irq)
records all the relations in acpi_register_gsi_xen_pvh() when dom0 initialize pci devices, and provide
a syscall for userspace to get the gsi from irq. The third patch of xen(tools: Add new function to get
gsi from irq) add a new function xc_physdev_gsi_from_irq() to call the new syscall added on kernel side.
And then userspace can use that function to get gsi. Then xc_physdev_map_pirq() will success. This v2
patch is the same as v1(
kernel https://lore.kernel.org/xen-devel/20230312120157.452859-6-ray.huang@amd.com/ and
xen https://lore.kernel.org/xen-devel/20230312075455.450187-6-ray.huang@amd.com/)

About the v2 patch of qemu, just change an included head file, other are similar to the v1 (
qemu https://lore.kernel.org/xen-devel/20230312092244.451465-19-ray.huang@amd.com/), just call
xc_physdev_gsi_from_irq() to get gsi from irq.


Jiqian Chen (3):
  xen/vpci: Clear all vpci status of device
  x86/pvh: Open PHYSDEVOP_map_pirq for PVH dom0
  tools: Add new function to get gsi from irq

 tools/include/xen-sys/Linux/privcmd.h |  7 +++++++
 tools/include/xencall.h               |  2 ++
 tools/include/xenctrl.h               |  2 ++
 tools/libs/call/core.c                |  5 +++++
 tools/libs/call/libxencall.map        |  2 ++
 tools/libs/call/linux.c               | 14 ++++++++++++++
 tools/libs/call/private.h             |  9 +++++++++
 tools/libs/ctrl/xc_physdev.c          |  4 ++++
 tools/libs/light/libxl_pci.c          |  1 +
 xen/arch/x86/hvm/hypercall.c          |  3 +++
 xen/drivers/passthrough/pci.c         | 21 +++++++++++++++++++++
 xen/drivers/pci/physdev.c             | 14 ++++++++++++++
 xen/drivers/vpci/vpci.c               |  9 +++++++++
 xen/include/public/physdev.h          |  2 ++
 xen/include/xen/pci.h                 |  1 +
 xen/include/xen/vpci.h                |  6 ++++++
 16 files changed, 102 insertions(+)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:42:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:42:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640461.998743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TdV-0004NV-LJ; Fri, 24 Nov 2023 10:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640461.998743; Fri, 24 Nov 2023 10:42: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 1r6TdV-0004NO-Ia; Fri, 24 Nov 2023 10:42:13 +0000
Received: by outflank-mailman (input) for mailman id 640461;
 Fri, 24 Nov 2023 10:42: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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6TdU-00044J-Nx
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:42:12 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20608.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f2ff031-8ab6-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:42:12 +0100 (CET)
Received: from DM6PR07CA0039.namprd07.prod.outlook.com (2603:10b6:5:74::16) by
 MN2PR12MB4223.namprd12.prod.outlook.com (2603:10b6:208:1d3::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.22; Fri, 24 Nov
 2023 10:42:07 +0000
Received: from CY4PEPF0000EE3F.namprd03.prod.outlook.com
 (2603:10b6:5:74:cafe::3d) by DM6PR07CA0039.outlook.office365.com
 (2603:10b6:5:74::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19 via Frontend
 Transport; Fri, 24 Nov 2023 10:42:07 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3F.mail.protection.outlook.com (10.167.242.19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.13 via Frontend Transport; Fri, 24 Nov 2023 10:42:07 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:42:00 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f2ff031-8ab6-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NsocfJreJb8/9aIvuBFnd0/DEaFNj3nJ9MMR9O2Chlk5WiwLEkEDe3CIR5NFlz1hkUJuO/RH5px+icwXBjLJFw3T2AKmQh+OE7TEdj0Bbs+d1nX0vM+ZioKEyaezJDkSNr5yXqY0TjihZjc8WstffTuSse2IlmBzjfiGo8NxCUBbRyUfwF9DGi5B9lUqYMqaE0/DUdlAsy8e1FEn7wxDYW9lUtYJpBXrQcvvkRTVrtoPDsOU3GoIzuiNGv1GYr45wsNL4rjhVsotVvBEF2Jo5E+Dn1G+2uhq5pV+ot63YxbJk1hqXmQn/G0espToH6tkk9iaGDh2yVg+JytoMPgbjA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GhtwSm2oYJ6b4otDJUCImvCv/KA43CPhTpF6V9Sflpc=;
 b=UY28OZoRPbHbsmqZ/QFpVvEmf7lOhBoDpfDdaz0m+toceZQWRN97L8s+gG2EzktoqqsYDjv7wxw75t0SOAGJ08czeFG5qg9A3v/cS3BRV1kmvCvh7MffmTuA+MMDfEW+L8YnIxMSYNJC6zUVFC/siRVi7PFCZp8ufqnpldAH9V53UcT/QzSxybVEDbQJK6pNClBePMEW1GK2uLhOXNJAIFwJ2t7azZWdJhW7Cd3RVG9T4zC1fegbtkPHznqE0bWlYrjbuG62m2odaXbwrTkzYaUdHlfPvGpYl9VX+88snEzqSVBTFUW/IaNCvx1JdNv311g8mb7PB9KJlqcfGRusfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=GhtwSm2oYJ6b4otDJUCImvCv/KA43CPhTpF6V9Sflpc=;
 b=CN13uWox9qX8B8vTAqjKH2Sp4aZdeUTboCFN8Wc0VWZQSVXd6d5Ofby8G3YAbAmlg/Dv4liWD+Spy56r1z/YtCoe7V5klhr+IV0CEQOs6qRO2PBB/2swXXJHrSfHixBlMnDeayyVAThubIKiDiqayMfAVLkTrE1AvB4bYyUcm20=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: 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>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Alex Deucher
	<Alexander.Deucher@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>, Huang Rui
	<Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, Julia Zhang
	<Julia.Zhang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Date: Fri, 24 Nov 2023 18:41:34 +0800
Message-ID: <20231124104136.3263722-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3F:EE_|MN2PR12MB4223:EE_
X-MS-Office365-Filtering-Correlation-Id: 8a329ae5-16cc-4c5d-69b5-08dbecda0143
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jZX2ssXVxzVCtAp2pOHz1nqLUfud6sEbBXOit6RZ2y4yC0cJiq6hn6ygxt9+hrezbUa0ZEo4yrjR/Q/vNCK/4l9O0eDRKN5pwRargNsKs8bzI1BTIJgRagzG5ly8czKYAmyTZJL49QM1vKYoKStFXyHXvu8004LyADN1E/bXvSuhNLLTm/CFHDN6TDbaooOEQt0WW3bynMFY320lJ/jfgO/dzVDHifvAd6bVMzgF1P9SILd0RTFSdrm4B+k7oMQni68UNgkVZzOO2R/ZXVoBrfPmFf99nUMePPYm0gcPsz92I4f1BfUvuNUCysyKK4krPPN5KDnMkl47ODPEFa4K4TD+dDrDukA7qwdUTTtHmVf4k3z1jXt0dTk4Vexp9hLwZRlZpqhwfEiNz7JLdHkMxn7VRIdTmU/HXEI7dlrWKxCQOezEVmPQZLbT9PUkEBfCA7ixgcG/Eab9fv9eCIU9lz4BuFGxoq5KpIgK9E+H+VOm2P/VwOLIPexZa2ccc7hAslEIBwc0eZjdV+fcdv6jz0sIc9hce8w21dx2kzPFq2ujcAJZ5hSzAqooF793i9WTmXeEPykL1hpdp2GoEkNR+NxgAwQPAX7rqs9p5bqmvZQGXzRcCngwCQbkafMh1S6MY33/PJLsxBeALkcmVtqqZJBdtE20JdDTjXJBXW5TM5bYZ8xmfRojkH8OtnPJDZM4jBBhjlNfWLsmXT2soQugVOEFtaOQnSQwxg9qh4BvhvS5q5yhM6KjiJWWlraW8FIiGAfXA9igibahGdMBqfUOOA==
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:(13230031)(4636009)(346002)(136003)(39860400002)(396003)(376002)(230922051799003)(82310400011)(1800799012)(186009)(451199024)(64100799003)(46966006)(40470700004)(36840700001)(2906002)(5660300002)(40480700001)(40460700003)(36860700001)(6666004)(36756003)(478600001)(86362001)(4326008)(8676002)(8936002)(41300700001)(356005)(81166007)(82740400003)(336012)(426003)(47076005)(2616005)(83380400001)(7696005)(316002)(54906003)(70586007)(110136005)(70206006)(1076003)(26005)(16526019)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:42:07.0184
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 8a329ae5-16cc-4c5d-69b5-08dbecda0143
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:
	CY4PEPF0000EE3F.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4223

When a device has been reset on dom0 side, the vpci on Xen
side won't get notification, so the cached state in vpci is
all out of date compare with the real device state.
To solve that problem, this patch add new hypercall to clear
all vpci device state. And when reset device happens on dom0
side, dom0 can call this hypercall to notify vpci.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 xen/arch/x86/hvm/hypercall.c  |  1 +
 xen/drivers/passthrough/pci.c | 21 +++++++++++++++++++++
 xen/drivers/pci/physdev.c     | 14 ++++++++++++++
 xen/drivers/vpci/vpci.c       |  9 +++++++++
 xen/include/public/physdev.h  |  2 ++
 xen/include/xen/pci.h         |  1 +
 xen/include/xen/vpci.h        |  6 ++++++
 7 files changed, 54 insertions(+)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index eeb73e1aa5..6ad5b4d5f1 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -84,6 +84,7 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     case PHYSDEVOP_pci_mmcfg_reserved:
     case PHYSDEVOP_pci_device_add:
     case PHYSDEVOP_pci_device_remove:
+    case PHYSDEVOP_pci_device_state_reset:
     case PHYSDEVOP_dbgp_op:
         if ( !is_hardware_domain(currd) )
             return -ENOSYS;
diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
index 04d00c7c37..f871715585 100644
--- a/xen/drivers/passthrough/pci.c
+++ b/xen/drivers/passthrough/pci.c
@@ -824,6 +824,27 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
     return ret;
 }
 
+int pci_reset_device_state(u16 seg, u8 bus, u8 devfn)
+{
+    struct pci_dev *pdev;
+    int ret = -ENODEV;
+
+    pcidevs_lock();
+
+    pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
+    if ( !pdev )
+        goto error;
+
+    ret = vpci_reset_device_state(pdev);
+    if (ret)
+        printk(XENLOG_ERR "PCI reset device %pp state failed\n", &pdev->sbdf);
+
+error:
+    pcidevs_unlock();
+
+    return ret;
+}
+
 /* Caller should hold the pcidevs_lock */
 static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
                            uint8_t devfn)
diff --git a/xen/drivers/pci/physdev.c b/xen/drivers/pci/physdev.c
index 42db3e6d13..cfdb545654 100644
--- a/xen/drivers/pci/physdev.c
+++ b/xen/drivers/pci/physdev.c
@@ -67,6 +67,20 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         break;
     }
 
+    case PHYSDEVOP_pci_device_state_reset: {
+        struct physdev_pci_device dev;
+
+        if ( !is_pci_passthrough_enabled() )
+            return -EOPNOTSUPP;
+
+        ret = -EFAULT;
+        if ( copy_from_guest(&dev, arg, 1) != 0 )
+            break;
+
+        ret = pci_reset_device_state(dev.seg, dev.bus, dev.devfn);
+        break;
+    }
+
     default:
         ret = -ENOSYS;
         break;
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 3bec9a4153..e9c3eb1cd6 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -103,6 +103,15 @@ int vpci_add_handlers(struct pci_dev *pdev)
 
     return rc;
 }
+
+int vpci_reset_device_state(struct pci_dev *pdev)
+{
+    ASSERT(pcidevs_locked());
+
+    vpci_remove_device(pdev);
+    return vpci_add_handlers(pdev);
+}
+
 #endif /* __XEN__ */
 
 static int vpci_register_cmp(const struct vpci_register *r1,
diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
index f0c0d4727c..4156948903 100644
--- a/xen/include/public/physdev.h
+++ b/xen/include/public/physdev.h
@@ -305,6 +305,8 @@ struct physdev_pci_device {
 typedef struct physdev_pci_device physdev_pci_device_t;
 DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_t);
 
+#define PHYSDEVOP_pci_device_state_reset      32
+
 #define PHYSDEVOP_DBGP_RESET_PREPARE    1
 #define PHYSDEVOP_DBGP_RESET_DONE       2
 
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 50d7dfb2a2..a0c28c5e6c 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -186,6 +186,7 @@ const unsigned long *pci_get_ro_map(u16 seg);
 int pci_add_device(u16 seg, u8 bus, u8 devfn,
                    const struct pci_dev_info *info, nodeid_t node);
 int pci_remove_device(u16 seg, u8 bus, u8 devfn);
+int pci_reset_device_state(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);
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index d743d96a10..e2d6cd5fa3 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -30,6 +30,7 @@ int __must_check vpci_add_handlers(struct pci_dev *pdev);
 
 /* Remove all handlers and free vpci related structures. */
 void vpci_remove_device(struct pci_dev *pdev);
+int vpci_reset_device_state(struct pci_dev *pdev);
 
 /* Add/remove a register handler. */
 int __must_check vpci_add_register(struct vpci *vpci,
@@ -242,6 +243,11 @@ static inline int vpci_add_handlers(struct pci_dev *pdev)
 
 static inline void vpci_remove_device(struct pci_dev *pdev) { }
 
+static inline int vpci_reset_device_state(struct pci_dev *pdev)
+{
+    return 0;
+}
+
 static inline void vpci_dump_msi(void) { }
 
 static inline uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:42:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640463.998753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tdf-0004rc-Uc; Fri, 24 Nov 2023 10:42:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640463.998753; Fri, 24 Nov 2023 10:42: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 1r6Tdf-0004rV-Rh; Fri, 24 Nov 2023 10:42:23 +0000
Received: by outflank-mailman (input) for mailman id 640463;
 Fri, 24 Nov 2023 10:42: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTS-0006hy-M9
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:50 +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 abde6b3d-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:47 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-9e1021dbd28so233225166b.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:47 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abde6b3d-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821907; x=1701426707; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=UScCEDxS8mLDHQ4sL4jK5fPSbpWBZopM7oODLGS6zhA=;
        b=Nldv+OHhjnopmmFWEr36jbIx+aD90wUHjTCyGIhXp/vy5lUHHHzdHgwK84uF+d4Tan
         MoEm1rmAiPW+nEe9NAz/EZYKXRstcjCbjRge99HzXOwaOn41fIh69QT6QX+e6iq48fNH
         ezHw6Ode8lUYPHsOo2U33W/3DLY0DlFTdTHNmUkTitJ6ypx1BWSt7N1KiKmmQMPbE3pN
         NMKi9Eo4hWVgdGw7iVf95y619lPwYHMBN3ToiH2rFKZIQUUJBy9CPztHEA49zbmT+QzC
         gKSNMQpFtZpwWTWgRwiMQIvj0zRS46pe/LwmXurY4jdK9Mizp6AhVjOv6gstJICf3irX
         fOOg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821907; x=1701426707;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=UScCEDxS8mLDHQ4sL4jK5fPSbpWBZopM7oODLGS6zhA=;
        b=DEbIx2E2lkZzGluc0KwC0UoAXTnvltgcVd9JQmOkjAyzrEqJAUX24aSpDvi48A1SRo
         vqR6ffs/YSpOyS9Kih5qMzCYw+C6mBpF0YyxhIxNC0H4eUj3GU+kVbdip6X/j27ISnqM
         wfu4DCmoci/E7ktsdMqmNiIUw2bPJR84ZrqH1nsYnfamgtll1FePFnKJep34TROjuZWd
         7s8ING/t3YDC1vluKUjrXByeqjd0DXpqmzWaTTR8tnMPl5PjFlaAAcp57Ablts74NvjD
         uUEN5SyJ3PMw39frGYsSRpy6p6p5c/5DKnDPr5vx0yy1MdMeTxzK9Jh4D/okBaiWcfGl
         PMHA==
X-Gm-Message-State: AOJu0YzD8LCD8W4xgojhDOIT9wBnt/5GSpVVGMjYDuVL/jmuVIMUFkaY
	psC59596R1mtmB6xGOQNvCcN25hHRHg0sA==
X-Google-Smtp-Source: AGHT+IGg6jGlLXjZmWG0OBAHquOt9I9C2kvaUJ5n8vGH7hXZmRk1j62Eu/UQtQ9pLnLaUaUCaiolpQ==
X-Received: by 2002:a17:906:291:b0:a01:b8d6:2ea with SMTP id 17-20020a170906029100b00a01b8d602eamr1936661ejf.49.1700821907084;
        Fri, 24 Nov 2023 02:31:47 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 37/39] xen/rirscv: add minimal amount of stubs to build full Xen
Date: Fri, 24 Nov 2023 12:30:57 +0200
Message-ID: <091887466560fbd6b66239f7fee5193eb97570b9.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - define udelay stub
 - remove 'select HAS_PDX' from RISC-V Kconfig because of
   https://lore.kernel.org/xen-devel/20231006144405.1078260-1-andrew.cooper3@citrix.com/
---
 xen/arch/riscv/Makefile       |   1 +
 xen/arch/riscv/early_printk.c | 168 --------------
 xen/arch/riscv/mm.c           |  52 ++++-
 xen/arch/riscv/setup.c        |   9 +-
 xen/arch/riscv/stubs.c        | 426 ++++++++++++++++++++++++++++++++++
 xen/arch/riscv/traps.c        |  25 ++
 6 files changed, 511 insertions(+), 170 deletions(-)
 create mode 100644 xen/arch/riscv/stubs.c

diff --git a/xen/arch/riscv/Makefile b/xen/arch/riscv/Makefile
index b08048948f..50c09469a0 100644
--- a/xen/arch/riscv/Makefile
+++ b/xen/arch/riscv/Makefile
@@ -5,6 +5,7 @@ obj-y += mm.o
 obj-$(CONFIG_RISCV_64) += riscv64/
 obj-y += sbi.o
 obj-y += setup.o
+obj-y += stubs.o
 obj-y += traps.o
 
 $(TARGET): $(TARGET)-syms
diff --git a/xen/arch/riscv/early_printk.c b/xen/arch/riscv/early_printk.c
index 60742a042d..610c814f54 100644
--- a/xen/arch/riscv/early_printk.c
+++ b/xen/arch/riscv/early_printk.c
@@ -40,171 +40,3 @@ void early_printk(const char *str)
         str++;
     }
 }
-
-/*
- * The following #if 1 ... #endif should be removed after printk
- * and related stuff are ready.
- */
-#if 1
-
-#include <xen/stdarg.h>
-#include <xen/string.h>
-
-/**
- * strlen - Find the length of a string
- * @s: The string to be sized
- */
-size_t (strlen)(const char * s)
-{
-    const char *sc;
-
-    for (sc = s; *sc != '\0'; ++sc)
-        /* nothing */;
-    return sc - s;
-}
-
-/**
- * memcpy - Copy one area of memory to another
- * @dest: Where to copy to
- * @src: Where to copy from
- * @count: The size of the area.
- *
- * You should not use this function to access IO space, use memcpy_toio()
- * or memcpy_fromio() instead.
- */
-void *(memcpy)(void *dest, const void *src, size_t count)
-{
-    char *tmp = (char *) dest, *s = (char *) src;
-
-    while (count--)
-        *tmp++ = *s++;
-
-    return dest;
-}
-
-int vsnprintf(char* str, size_t size, const char* format, va_list args)
-{
-    size_t i = 0; /* Current position in the output string */
-    size_t written = 0; /* Total number of characters written */
-    char* dest = str;
-
-    while ( format[i] != '\0' && written < size - 1 )
-    {
-        if ( format[i] == '%' )
-        {
-            i++;
-
-            if ( format[i] == '\0' )
-                break;
-
-            if ( format[i] == '%' )
-            {
-                if ( written < size - 1 )
-                {
-                    dest[written] = '%';
-                    written++;
-                }
-                i++;
-                continue;
-            }
-
-            /*
-             * Handle format specifiers.
-             * For simplicity, only %s and %d are implemented here.
-             */
-
-            if ( format[i] == 's' )
-            {
-                char* arg = va_arg(args, char*);
-                size_t arglen = strlen(arg);
-
-                size_t remaining = size - written - 1;
-
-                if ( arglen > remaining )
-                    arglen = remaining;
-
-                memcpy(dest + written, arg, arglen);
-
-                written += arglen;
-                i++;
-            }
-            else if ( format[i] == 'd' )
-            {
-                int arg = va_arg(args, int);
-
-                /* Convert the integer to string representation */
-                char numstr[32]; /* Assumes a maximum of 32 digits */
-                int numlen = 0;
-                int num = arg;
-                size_t remaining;
-
-                if ( arg < 0 )
-                {
-                    if ( written < size - 1 )
-                    {
-                        dest[written] = '-';
-                        written++;
-                    }
-
-                    num = -arg;
-                }
-
-                do
-                {
-                    numstr[numlen] = '0' + num % 10;
-                    num = num / 10;
-                    numlen++;
-                } while ( num > 0 );
-
-                /* Reverse the string */
-                for (int j = 0; j < numlen / 2; j++)
-                {
-                    char tmp = numstr[j];
-                    numstr[j] = numstr[numlen - 1 - j];
-                    numstr[numlen - 1 - j] = tmp;
-                }
-
-                remaining = size - written - 1;
-
-                if ( numlen > remaining )
-                    numlen = remaining;
-
-                memcpy(dest + written, numstr, numlen);
-
-                written += numlen;
-                i++;
-            }
-        }
-        else
-        {
-            if ( written < size - 1 )
-            {
-                dest[written] = format[i];
-                written++;
-            }
-            i++;
-        }
-    }
-
-    if ( size > 0 )
-        dest[written] = '\0';
-
-    return written;
-}
-
-void printk(const char *format, ...)
-{
-    static char buf[1024];
-
-    va_list args;
-    va_start(args, format);
-
-    (void)vsnprintf(buf, sizeof(buf), format, args);
-
-    early_printk(buf);
-
-    va_end(args);
-}
-
-#endif
-
diff --git a/xen/arch/riscv/mm.c b/xen/arch/riscv/mm.c
index 053f043a3d..f0eddab56c 100644
--- a/xen/arch/riscv/mm.c
+++ b/xen/arch/riscv/mm.c
@@ -1,19 +1,23 @@
 /* SPDX-License-Identifier: GPL-2.0-only */
 
+#include <xen/bug.h>
 #include <xen/cache.h>
 #include <xen/compiler.h>
 #include <xen/init.h>
 #include <xen/kernel.h>
 #include <xen/macros.h>
+#include <xen/mm.h>
 #include <xen/pfn.h>
 
 #include <asm/early_printk.h>
 #include <asm/csr.h>
 #include <asm/current.h>
-#include <asm/mm.h>
 #include <asm/page.h>
 #include <asm/processor.h>
 
+unsigned long frametable_base_pdx __read_mostly;
+unsigned long frametable_virt_end __read_mostly;
+
 struct mmu_desc {
     unsigned int num_levels;
     unsigned int pgtbl_count;
@@ -294,3 +298,49 @@ unsigned long __init calc_phys_offset(void)
     phys_offset = load_start - XEN_VIRT_START;
     return phys_offset;
 }
+
+void put_page(struct page_info *page)
+{
+    assert_failed(__func__);
+}
+
+unsigned long get_upper_mfn_bound(void)
+{
+    /* No memory hotplug yet, so current memory limit is the final one. */
+    return max_page - 1;
+}
+
+void arch_dump_shared_mem_info(void)
+{
+    WARN();
+}
+
+int populate_pt_range(unsigned long virt, unsigned long nr_mfns)
+{
+    assert_failed(__func__);
+    return -1;
+}
+
+int xenmem_add_to_physmap_one(struct domain *d, unsigned int space,
+                              union add_to_physmap_extra extra,
+                              unsigned long idx, gfn_t gfn)
+{
+    WARN();
+
+    return 0;
+}
+
+int destroy_xen_mappings(unsigned long s, unsigned long e)
+{
+    assert_failed(__func__);
+    return -1;
+}
+
+int map_pages_to_xen(unsigned long virt,
+                     mfn_t mfn,
+                     unsigned long nr_mfns,
+                     unsigned int flags)
+{
+    assert_failed(__func__);
+    return -1;
+}
diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c
index 6593f601c1..8944e0ecfe 100644
--- a/xen/arch/riscv/setup.c
+++ b/xen/arch/riscv/setup.c
@@ -2,9 +2,16 @@
 
 #include <xen/compile.h>
 #include <xen/init.h>
+#include <xen/mm.h>
+
+#include <public/version.h>
 
 #include <asm/early_printk.h>
-#include <asm/mm.h>
+
+void arch_get_xen_caps(xen_capabilities_info_t *info)
+{
+    assert_failed("need to be implemented");
+}
 
 /* Xen stack for bringing up the first CPU. */
 unsigned char __initdata cpu0_boot_stack[STACK_SIZE]
diff --git a/xen/arch/riscv/stubs.c b/xen/arch/riscv/stubs.c
new file mode 100644
index 0000000000..2031ef6bde
--- /dev/null
+++ b/xen/arch/riscv/stubs.c
@@ -0,0 +1,426 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#include <xen/cpumask.h>
+#include <xen/domain.h>
+#include <xen/irq.h>
+#include <xen/nodemask.h>
+#include <xen/time.h>
+#include <public/domctl.h>
+#include <public/vm_event.h>
+
+#include <asm/current.h>
+
+/* smpboot.c */
+
+cpumask_t cpu_online_map;
+cpumask_t cpu_present_map;
+cpumask_t cpu_possible_map;
+
+/* ID of the PCPU we're running on */
+DEFINE_PER_CPU(unsigned int, cpu_id);
+/* XXX these seem awfully x86ish... */
+/* representing HT siblings of each logical CPU */
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_sibling_mask);
+/* representing HT and core siblings of each logical CPU */
+DEFINE_PER_CPU_READ_MOSTLY(cpumask_var_t, cpu_core_mask);
+
+nodemask_t __read_mostly node_online_map = { { [0] = 1UL } };
+
+/* time.c */
+
+unsigned long __read_mostly cpu_khz;  /* CPU clock frequency in kHz. */
+
+s_time_t get_s_time(void)
+{
+    BUG();
+}
+
+int reprogram_timer(s_time_t timeout)
+{
+    BUG();
+}
+
+void send_timer_event(struct vcpu *v)
+{
+    BUG();
+}
+
+void domain_set_time_offset(struct domain *d, int64_t time_offset_seconds)
+{
+    BUG();
+}
+
+/* shutdown.c */
+
+void machine_restart(unsigned int delay_millisecs)
+{
+    BUG();
+}
+
+void machine_halt(void)
+{
+    BUG();
+}
+
+/* vm_event.c */
+
+void vm_event_fill_regs(vm_event_request_t *req)
+{
+    BUG();
+}
+
+void vm_event_set_registers(struct vcpu *v, vm_event_response_t *rsp)
+{
+    BUG();
+}
+
+void vm_event_monitor_next_interrupt(struct vcpu *v)
+{
+    /* Not supported on RISCV. */
+}
+
+void vm_event_reset_vmtrace(struct vcpu *v)
+{
+    /* Not supported on RISCV. */
+}
+
+/* domctl.c */
+
+long arch_do_domctl(struct xen_domctl *domctl, struct domain *d,
+                    XEN_GUEST_HANDLE_PARAM(xen_domctl_t) u_domctl)
+{
+    BUG();
+}
+
+void arch_get_domain_info(const struct domain *d,
+                          struct xen_domctl_getdomaininfo *info)
+{
+    BUG();
+}
+
+void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c)
+{
+    BUG();
+}
+
+/* monitor.c */
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop)
+{
+    BUG();
+}
+
+/* smp.c */
+
+void arch_flush_tlb_mask(const cpumask_t *mask)
+{
+    BUG();
+}
+
+void smp_send_event_check_mask(const cpumask_t *mask)
+{
+    BUG();
+}
+
+void smp_send_call_function_mask(const cpumask_t *mask)
+{
+    BUG();
+}
+
+/* irq.c */
+
+struct pirq *alloc_pirq_struct(struct domain *d)
+{
+    BUG();
+}
+
+int pirq_guest_bind(struct vcpu *v, struct pirq *pirq, int will_share)
+{
+    BUG();
+}
+
+void pirq_guest_unbind(struct domain *d, struct pirq *pirq)
+{
+    BUG();
+}
+
+void pirq_set_affinity(struct domain *d, int pirq, const cpumask_t *mask)
+{
+    BUG();
+}
+
+static void ack_none(struct irq_desc *irq)
+{
+    BUG();
+}
+
+static void end_none(struct irq_desc *irq)
+{
+    BUG();
+}
+
+hw_irq_controller no_irq_type = {
+    .typename = "none",
+    .startup = irq_startup_none,
+    .shutdown = irq_shutdown_none,
+    .enable = irq_enable_none,
+    .disable = irq_disable_none,
+    .ack = ack_none,
+    .end = end_none
+};
+
+int arch_init_one_irq_desc(struct irq_desc *desc)
+{
+    BUG();
+}
+
+void smp_send_state_dump(unsigned int cpu)
+{
+    BUG();
+}
+
+/* domain.c */
+
+DEFINE_PER_CPU(struct vcpu *, curr_vcpu);
+unsigned long __per_cpu_offset[NR_CPUS];
+
+void context_switch(struct vcpu *prev, struct vcpu *next)
+{
+    BUG();
+}
+
+void continue_running(struct vcpu *same)
+{
+    BUG();
+}
+
+void sync_local_execstate(void)
+{
+    BUG();
+}
+
+void sync_vcpu_execstate(struct vcpu *v)
+{
+    BUG();
+}
+
+void startup_cpu_idle_loop(void)
+{
+    BUG();
+}
+
+void free_domain_struct(struct domain *d)
+{
+    BUG();
+}
+
+void dump_pageframe_info(struct domain *d)
+{
+    BUG();
+}
+
+void free_vcpu_struct(struct vcpu *v)
+{
+    BUG();
+}
+
+int arch_vcpu_create(struct vcpu *v)
+{
+    BUG();
+}
+
+void arch_vcpu_destroy(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_switch_to_aarch64_mode(struct vcpu *v)
+{
+    BUG();
+}
+
+int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
+{
+    BUG();
+}
+
+int arch_domain_create(struct domain *d,
+                       struct xen_domctl_createdomain *config,
+                       unsigned int flags)
+{
+    BUG();
+}
+
+int arch_domain_teardown(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_destroy(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_shutdown(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_pause(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_unpause(struct domain *d)
+{
+    BUG();
+}
+
+int arch_domain_soft_reset(struct domain *d)
+{
+    BUG();
+}
+
+void arch_domain_creation_finished(struct domain *d)
+{
+    BUG();
+}
+
+int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_u c)
+{
+    BUG();
+}
+
+int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg)
+{
+    BUG();
+}
+
+int arch_vcpu_reset(struct vcpu *v)
+{
+    BUG();
+}
+
+int domain_relinquish_resources(struct domain *d)
+{
+    BUG();
+}
+
+void arch_dump_domain_info(struct domain *d)
+{
+    BUG();
+}
+
+void arch_dump_vcpu_info(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_mark_events_pending(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_update_evtchn_irq(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_block_unless_event_pending(struct vcpu *v)
+{
+    BUG();
+}
+
+void vcpu_kick(struct vcpu *v)
+{
+    BUG();
+}
+
+struct domain *alloc_domain_struct(void)
+{
+    BUG();
+}
+
+struct vcpu *alloc_vcpu_struct(const struct domain *d)
+{
+    BUG();
+}
+
+unsigned long
+hypercall_create_continuation(unsigned int op, const char *format, ...)
+{
+    BUG();
+}
+
+int __init parse_arch_dom0_param(const char *s, const char *e)
+{
+    BUG();
+}
+
+/* guestcopy.c */
+
+unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
+{
+    BUG();
+}
+
+unsigned long raw_copy_from_guest(void *to, const void __user *from,
+                                  unsigned int len)
+{
+    BUG();
+}
+
+/* sysctl.c */
+
+long arch_do_sysctl(struct xen_sysctl *sysctl,
+                    XEN_GUEST_HANDLE_PARAM(xen_sysctl_t) u_sysctl)
+{
+    BUG();
+}
+
+void arch_do_physinfo(struct xen_sysctl_physinfo *pi)
+{
+    BUG();
+}
+
+/* p2m.c */
+
+int arch_set_paging_mempool_size(struct domain *d, uint64_t size)
+{
+    BUG();
+}
+
+int unmap_mmio_regions(struct domain *d,
+                       gfn_t start_gfn,
+                       unsigned long nr,
+                       mfn_t mfn)
+{
+    BUG();
+}
+
+int map_mmio_regions(struct domain *d,
+                     gfn_t start_gfn,
+                     unsigned long nr,
+                     mfn_t mfn)
+{
+    BUG();
+}
+
+int set_foreign_p2m_entry(struct domain *d, const struct domain *fd,
+                          unsigned long gfn, mfn_t mfn)
+{
+    BUG();
+}
+
+/* Return the size of the pool, in bytes. */
+int arch_get_paging_mempool_size(struct domain *d, uint64_t *size)
+{
+    BUG();
+}
+
+/* delay.c */
+
+void udelay(unsigned long usecs)
+{
+    BUG_ON("unimplemented");
+}
diff --git a/xen/arch/riscv/traps.c b/xen/arch/riscv/traps.c
index ccd3593f5a..ca56df75d8 100644
--- a/xen/arch/riscv/traps.c
+++ b/xen/arch/riscv/traps.c
@@ -4,6 +4,10 @@
  *
  * RISC-V Trap handlers
  */
+
+#include <xen/lib.h>
+#include <xen/sched.h>
+
 #include <asm/processor.h>
 #include <asm/traps.h>
 
@@ -11,3 +15,24 @@ void do_trap(struct cpu_user_regs *cpu_regs)
 {
     die();
 }
+
+void vcpu_show_execution_state(struct vcpu *v)
+{
+    assert_failed("need to be implented");
+}
+
+void show_execution_state(const struct cpu_user_regs *regs)
+{
+    printk("implement show_execution_state(regs)\n");
+}
+
+void arch_hypercall_tasklet_result(struct vcpu *v, long res)
+{
+    assert_failed("need to be implented");
+}
+
+enum mc_disposition arch_do_multicall_call(struct mc_state *state)
+{
+    assert_failed("need to be implented");
+    return mc_continue;
+}
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:42:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:42:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640464.998756 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tdg-0004uC-6O; Fri, 24 Nov 2023 10:42:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640464.998756; Fri, 24 Nov 2023 10:42: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 1r6Tdg-0004tK-2t; Fri, 24 Nov 2023 10:42:24 +0000
Received: by outflank-mailman (input) for mailman id 640464;
 Fri, 24 Nov 2023 10:42: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTA-0006hy-29
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:32 +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 a21746d4-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:31 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-5441ba3e53cso2377807a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:31 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:29 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a21746d4-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821891; x=1701426691; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=g46lHJ7PRqE3nFRQ+w0xzRl9exprWHTs3esTtz5L1/0=;
        b=HsaZBaiwrs7je5l6p9wHrCDsSi1SY600mk/tyvnN7BTgnMdPmQ9ui5jTmMc5zr30tl
         PRuoMJkosfALUJVloYR3ZdaBMJIO5SvyERdtq/S7ibpD6NcijDs1+WqctcNYSjf9EY0L
         Ka5bd/JINF8xjRc1wIQydLPce3nLPsC/Mno5cJykJwm7kAysq1XDdvc3NaGGL3XtDk7n
         T59dv9vfTeDxia14V1Gi0f0K6+00E8ehYBRTk86SeR1dYGguzz2EfkEd25qlZu2UtHGn
         IrB43UpURMpA4impF1xI566lHGoNLjTUXdxlBntIzB9wlLjPS3mknsoFmKgdhs2dI4Kj
         nWxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821891; x=1701426691;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=g46lHJ7PRqE3nFRQ+w0xzRl9exprWHTs3esTtz5L1/0=;
        b=EwBU9JgX5J2fmWwdzcsvooT6bhefaxO+87pkeOrcFTQv0HI4yiGCCwRYariqzxLXZk
         21gtVBSUFoWyi3ce6TKIl9BjQowCVztAXmqneWSctmVNGlR6o/4jjb8V/XlTdP85nvG9
         suy0yYq2DQeJxfGUpFq+hLgICNIPMjoP1YjUnpTvgydGvPuDKKySFmfgjS8d5Lwv2kMC
         t8uUQjsyraAx8GKTDFYsIBAk2YD5/H0t1Pmoqu5xrZ6Dxyg60s6hYyOY3kVnSNeRJYOY
         jv9Z9RaYyMUpE6/bIn7aQes7Zbpy0iFgbQOEiYHECgoTzz8wGuZYV9k1iPl3F+RpzXsr
         zb1A==
X-Gm-Message-State: AOJu0YzIS3qrIxhIhFnq4nYoM1KBN1bMg4/EWSVbIliCnPC4wtbBqEGW
	5WT8XmMOANqaPCaznaXYfwvscCq91coykw==
X-Google-Smtp-Source: AGHT+IHcF0xnuTStuX9bhkih2i4OrTX4GattfTh71KvbLIVpeU4XPuVGgMZp0qLodbyOdvyiiqnLlQ==
X-Received: by 2002:a17:906:b35a:b0:a04:c622:af8c with SMTP id cd26-20020a170906b35a00b00a04c622af8cmr1690124ejb.22.1700821890786;
        Fri, 24 Nov 2023 02:31:30 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 20/39] xen/riscv: define bug frame tables in xen.lds.S
Date: Fri, 24 Nov 2023 12:30:40 +0200
Message-ID: <2d9a1d2847be15e025121694ead80bee27c5ed97.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/xen.lds.S | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/xen/arch/riscv/xen.lds.S b/xen/arch/riscv/xen.lds.S
index 3fa7db3bf9..a10e0ad87c 100644
--- a/xen/arch/riscv/xen.lds.S
+++ b/xen/arch/riscv/xen.lds.S
@@ -45,6 +45,16 @@ SECTIONS
     . = ALIGN(PAGE_SIZE);
     .rodata : {
         _srodata = .;          /* Read-only data */
+        /* Bug frames table */
+        __start_bug_frames = .;
+        *(.bug_frames.0)
+        __stop_bug_frames_0 = .;
+        *(.bug_frames.1)
+        __stop_bug_frames_1 = .;
+        *(.bug_frames.2)
+        __stop_bug_frames_2 = .;
+        *(.bug_frames.3)
+        __stop_bug_frames_3 = .;
         *(.rodata)
         *(.rodata.*)
         *(.data.rel.ro)
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:42:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:42:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640467.998773 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tdi-0005PV-Mh; Fri, 24 Nov 2023 10:42:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640467.998773; Fri, 24 Nov 2023 10:42: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 1r6Tdi-0005PJ-Jt; Fri, 24 Nov 2023 10:42:26 +0000
Received: by outflank-mailman (input) for mailman id 640467;
 Fri, 24 Nov 2023 10:42: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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6Tdh-00044J-Kc
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:42:25 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20611.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::611])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 26ce204a-8ab6-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:42:25 +0100 (CET)
Received: from DM6PR07CA0054.namprd07.prod.outlook.com (2603:10b6:5:74::31) by
 MN2PR12MB4254.namprd12.prod.outlook.com (2603:10b6:208:1d0::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 10:42:19 +0000
Received: from CY4PEPF0000EE3F.namprd03.prod.outlook.com
 (2603:10b6:5:74:cafe::f4) by DM6PR07CA0054.outlook.office365.com
 (2603:10b6:5:74::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend
 Transport; Fri, 24 Nov 2023 10:42:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3F.mail.protection.outlook.com (10.167.242.19) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.13 via Frontend Transport; Fri, 24 Nov 2023 10:42:19 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:42:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 26ce204a-8ab6-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VGaOgSwxxQm/or+BI44ULByzxJAk5Eh4iExtCJfkqzUmYig+o7ynzicPK0Jw2ECQPuaYIr9Ftj2qr8AiCrQCCWmoRdizaptNlaj6KzYbKxhVYLHrCVrQpeIpQY/MGyx8bcO+Oml9iRmj+CAx+sTpFY8khPsFh3V0aLJtgIF7HM1qF1zgouPaUE2pE9Hl7I2Wzi93mzeHPCUy36mPEzqzlLszQKcFK5R4xnSk/h9nWvjHcOX7OeStJxy1/mOwArOy03Y/1KbVv26Moz0QH8QadhYhr+pg8zDc1D65hn3N91dXYpnox5TAo4qg98b40h066kCnMnRCv1JJ5reiMS8wdw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z9hbAL4FWPfGgAGtUKX3DPgojoAEwTsd0FUOkaqhexU=;
 b=WrZ4QFP0FhJ0RvwmJ6BsmegM9C1TJ3wR8hNUiuzhru+fSfpIqlmVZdNHEmnzk2VfVIqYGlCRJVpdMP81jac282iyMXToQtqPrUaGV9uRtL/2q485lI5gai2HxmUWt9rQf2d4kKWATEHGQjZb2enISkbBrGnRcPPasU+/5aKZPQIGaHMa8ypxyrrHmAiBcappEx4+qfTR1oracvx7cUBFtjxURdUZAQB8rUZZDIHDLMcMgKYnXBbk+UVI9qEfR1QlFOJbbew8KYrTig42b8bzlX/PaMn6MhGv9YwGt9BsG7DY5lmf+3M3hdKHgPlt419zaZ6kOPMw9bpfjrRIdisGUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=z9hbAL4FWPfGgAGtUKX3DPgojoAEwTsd0FUOkaqhexU=;
 b=Eqo7CNbaVgLsXxohpg3xuDxQd1Lw+fdLmZqgPT80naBcxa2Yq89DO31L/Jr0uhQeSobD6AmCMryBPQfMll6OR5JhWbU4IWRnIqr1ZKzAbjYNOKarL94BvX/MXMTDtQ+YCaYyQRLIpFz2Qc4Fbv0mlKU9imGX3MDytE89p6+Nais=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: 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>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Alex Deucher
	<Alexander.Deucher@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>, Huang Rui
	<Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, Julia Zhang
	<Julia.Zhang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH dom0
Date: Fri, 24 Nov 2023 18:41:35 +0800
Message-ID: <20231124104136.3263722-3-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3F:EE_|MN2PR12MB4254:EE_
X-MS-Office365-Filtering-Correlation-Id: 6690d394-d83f-4179-5f91-08dbecda08b4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eRQJ47bDpkfGWdU+d13CEBGmsBd3430lptsrbg7tqpfekFzbFEV4F9QmJOMNiEfA9vwdmyj5IpYI2eVjn3+uaQS3WxNAHI2fjzf70IG428TwjVBJZ7JQXHsoRENXYx8gP1ZjJkgh5Eoo2JdFjM64UUNtnOpfwZLzO5ohpfNO8XgeoB/MU/AOWJ1nKat9OZbI0o3QROx+eL51HGhhe9YocWPLRNZDdbi2oKySJr2Jq3w3QriWb+8QgwZLiyxSDM+lD5pGZXP+gQTa3N34ruqfPIqAWPyAeCf21q99O8lWfJUIPxxSWnM7ITg2ipbu/iOEQ+k70Ykvuqdz0ZYJNVfGh8lT5/DcR4rsgaaWXz3gB3jHIx67YIzDYfKPBvHCy3q0ZyT6XqUh1sckciWBKrcFklCOz0COsKIEGN87r2toFRurddANPBNqp1/2ne6ZUqGdAFVeqgHeDOOtS2NEJAei4NvHQ8q5jRgqaveQ4Cx2SyOZmUYBl0YLPN0WOXMm8+m/L+CxtEuFMFR0o2lShkcsXqYKmh6/5we90oNMDjmEExD4pACDoMCn5hjQCITGMAxQ91lGZVrTjrITVRppN/eCNWqy6hDzahHscrvKN73Dvxj/i+qE46sBoBmkeR8gQzNFL/hCtMAJ5ZxaouXL0LgHGkrBS96xPE4QP9RWQREz6H82cYSndnVcIwY59t4gFxVPlZ8d2QCy38F7RCLQQap/PaMRmWT7kOWIb9Zma4YVQiuBIiSMb/7TsYsGQslB1s1yCqPjlCEHj5X+6WSA6OEK8g==
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:(13230031)(4636009)(376002)(39860400002)(136003)(346002)(396003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(82310400011)(40470700004)(36840700001)(46966006)(316002)(70206006)(70586007)(54906003)(110136005)(40460700003)(82740400003)(2906002)(5660300002)(36756003)(356005)(81166007)(8676002)(8936002)(4326008)(26005)(16526019)(7696005)(86362001)(36860700001)(6666004)(336012)(426003)(1076003)(41300700001)(47076005)(478600001)(2616005)(40480700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:42:19.5027
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6690d394-d83f-4179-5f91-08dbecda08b4
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:
	CY4PEPF0000EE3F.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4254

If we run Xen with PVH dom0 and hvm domU, hvm will map a pirq for
a passthrough device by using gsi, see xen_pt_realize->xc_physdev_map_pirq
and pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq will
call into Xen, but in hvm_physdev_op, PHYSDEVOP_map_pirq is not allowed
because currd is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag, it will
fail at has_pirq check.

So, I think we may need to allow PHYSDEVOP_map_pirq when currd is dom0 (at
present dom0 is PVH).

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 xen/arch/x86/hvm/hypercall.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
index 6ad5b4d5f1..f9c4a2243a 100644
--- a/xen/arch/x86/hvm/hypercall.c
+++ b/xen/arch/x86/hvm/hypercall.c
@@ -74,6 +74,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
     {
     case PHYSDEVOP_map_pirq:
     case PHYSDEVOP_unmap_pirq:
+        if (is_hardware_domain(currd))
+            break;
     case PHYSDEVOP_eoi:
     case PHYSDEVOP_irq_status_query:
     case PHYSDEVOP_get_free_pirq:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:42:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:42:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640472.998783 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tdn-0005tx-0q; Fri, 24 Nov 2023 10:42:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640472.998783; Fri, 24 Nov 2023 10:42: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 1r6Tdm-0005tm-Sq; Fri, 24 Nov 2023 10:42:30 +0000
Received: by outflank-mailman (input) for mailman id 640472;
 Fri, 24 Nov 2023 10:42: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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6Tdl-00050M-JU
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:42:29 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20628.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 28b1b3d2-8ab6-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:42:28 +0100 (CET)
Received: from CYZPR10CA0023.namprd10.prod.outlook.com (2603:10b6:930:8a::16)
 by MW4PR12MB7288.namprd12.prod.outlook.com (2603:10b6:303:223::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.26; Fri, 24 Nov
 2023 10:42:23 +0000
Received: from CY4PEPF0000EE3E.namprd03.prod.outlook.com
 (2603:10b6:930:8a:cafe::2b) by CYZPR10CA0023.outlook.office365.com
 (2603:10b6:930:8a::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend
 Transport; Fri, 24 Nov 2023 10:42:23 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CY4PEPF0000EE3E.mail.protection.outlook.com (10.167.242.18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 10:42:22 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:42:18 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28b1b3d2-8ab6-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FZmPU04rh3WjDn+Lz9y4l4uLaoTnTwMn0WZvoz/2a26ttsUrMz7/IQcf3cy7mnZo/B/QCgXzFBPcbzPD/m3eltsJbhPprB9eU6cfzk8lUlEVArojmwDday7lYkZ1XXviMUgd1Mk3lQt6cvJKYL4TzL6EEsXZShgF8ZGh080RmafzjHeVQ3xW1nXwnXb1lNrYiS8hZ11uCdhbFZ+NkbNvWAWL9A5ZpSeRBD1y31qmpkeSsnFPacqrKp12s2V0vpa8ROXYUEQ/YwuxMDoW1tbwcOfAPzb8AoRadj6OV0c6moUGo1POS6mdcwhilURg81Pvm8lvFFu+9NNiABEbLi1Luw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JT9k6v3Ouj/9uRO3GuzjBHyy8hdEspun9TdFDzOpiAo=;
 b=d+zrMwjNBqj8g8ha/PNa6uTI8fJlbzv9IzJxIIVEbmlp+2LnBPO06JXRYsV3xksP6Dl9MFZFYg6jAjthFI2OE2LdLGldr9AUvUoJrc2KDxdseunCkWtMqNXUZpbdagzXxurhUskbohQOg04YL2lvwSQL/eWDkm4InwGIUQIzJNBfSsQbDIQTGWo5BauqH4R2w6GT1uy2SUC4TSSlBFYdnsKf5+8UDD3hX0IZ4cU2AHc5qXWqVbM7C6qeSBcCe27+4ufREzQA4iW3RgRMlJejxzc+NPUbRfnVv/MV1MweqB2VLJVcRSo6V3rUcc3atFVcjO+3zgIAbhVWtHIrfavCbA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=JT9k6v3Ouj/9uRO3GuzjBHyy8hdEspun9TdFDzOpiAo=;
 b=vWN6w/yCvubKA+7kTTzBq9OIZ4ORZdX9BRCzDBfHihqyiaPEcU3dJ6fXOnO29v1LM7VwQafpya+Er/SaMFq4PAswlGJPtM9LEl9f3A25nDlsx5yzZ8ZeAJ6jh1rBAEEasze5m1HmeEJsyPK1Bqkyv4AptdphuTCzagm8y5qkQrA=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: 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>, Juergen Gross <jgross@suse.com>, "Stefano
 Stabellini" <sstabellini@kernel.org>, <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <Stewart.Hildebrand@amd.com>, Alex Deucher
	<Alexander.Deucher@amd.com>, Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>, Huang Rui
	<Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, Julia Zhang
	<Julia.Zhang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from irq
Date: Fri, 24 Nov 2023 18:41:36 +0800
Message-ID: <20231124104136.3263722-4-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3E:EE_|MW4PR12MB7288:EE_
X-MS-Office365-Filtering-Correlation-Id: 29775db9-f6a3-4a8f-6ee7-08dbecda0ac0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u9nlbqm2ySNAzk0g3bVrtw5ufrGPGNl3yScyi6clff92PnhvGQDUCBdcX5BUVPK/V83fIRpTEBeUdWXzudg5lGDnaB70bNbr5PX/sONHPbGp2svJB7wP6X6kFCTBH+QUg2NUo5sbKoYsh8kqCyjiFKBf2iswLwUc8ndtgw1PRI2OhK8E8LV9hYygveFoHvqNQMFgUJVNRsoaOyIsfi8YxkHxaIh9v0HOChPXeMuCTOBN/sqHNcUHzVFjaAoDUq9x3x+0BUvJOkn4hz7F52yIVUB1ga2jQRIgWnuoYoRmiMW+BstulIp/DVu1Qb7VDd6GoVDog8lxt7UUQWvyRXnoZvWWl8aTGXq1xZTrGaLFWckKozILnAa2naa6Y6VuDxhN6pmmb47wfTLgZqhIDSVGYM/en5V6N1pHsejMDnwqSxTcqJjFCD567F6Eb4gZXZ5RCP+g9SNQUBvuVImoZ5izb85wOmYCy5L02Dy12Sf1lY/ijXm5CiV29tO3DsR6llDus1cisXZP1zy4e5N7WWYqThxp8ipXclW8fYcEgkQqADu1RDpCumWg/Bjx0UvZPETxhEgUjuFR7fRYjUdli7eHZle992THB9opnicmsHHLmmz6SWd52dJr6x2au5/YGG1hvqBISNxQXG8V+1JtQdMlPqL/rPuv3/QjdzN57bqaC5gXk50C6wuIReZ5uFM9PaASDlGQX88ZSvbrF+6m0FODMDZxD6NMRywFxycbSg0OLpfNh5PVbRmIw4jw7ojo71y+eRetJzNok++kjcmm66hsZw==
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:(13230031)(4636009)(39860400002)(136003)(346002)(376002)(396003)(230922051799003)(186009)(64100799003)(1800799012)(82310400011)(451199024)(46966006)(40470700004)(36840700001)(40480700001)(16526019)(2616005)(7696005)(81166007)(356005)(47076005)(1076003)(110136005)(316002)(8676002)(36860700001)(8936002)(70586007)(54906003)(70206006)(26005)(426003)(6666004)(83380400001)(336012)(478600001)(82740400003)(86362001)(40460700003)(4326008)(41300700001)(5660300002)(36756003)(2906002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:42:22.9060
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 29775db9-f6a3-4a8f-6ee7-08dbecda0ac0
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:
	CY4PEPF0000EE3E.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB7288

In PVH dom0, it uses the linux local interrupt mechanism,
when it allocs irq for a gsi, it is dynamic, and follow
the principle of applying first, distributing first. And
if you debug the kernel codes, you will find the irq
number is alloced from small to large, but the applying
gsi number is not, may gsi 38 comes before gsi 28, that
causes the irq number is not equal with the gsi number.
And when we passthrough a device, QEMU will use its gsi
number to do mapping actions, see xen_pt_realize->
xc_physdev_map_pirq, but the gsi number is got from file
/sys/bus/pci/devices/xxxx:xx:xx.x/irq in current code,
so it will fail when mapping.
And in current codes, there is no method to translate
irq to gsi for userspace.

For above purpose, this patch adds new function to get
that translation. And then we can use the correct gsi
number to do map_pirq.

And call this function before xc_physdev_map_pirq

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 tools/include/xen-sys/Linux/privcmd.h |  7 +++++++
 tools/include/xencall.h               |  2 ++
 tools/include/xenctrl.h               |  2 ++
 tools/libs/call/core.c                |  5 +++++
 tools/libs/call/libxencall.map        |  2 ++
 tools/libs/call/linux.c               | 14 ++++++++++++++
 tools/libs/call/private.h             |  9 +++++++++
 tools/libs/ctrl/xc_physdev.c          |  4 ++++
 tools/libs/light/libxl_pci.c          |  1 +
 9 files changed, 46 insertions(+)

diff --git a/tools/include/xen-sys/Linux/privcmd.h b/tools/include/xen-sys/Linux/privcmd.h
index bc60e8fd55..ba4b8c3054 100644
--- a/tools/include/xen-sys/Linux/privcmd.h
+++ b/tools/include/xen-sys/Linux/privcmd.h
@@ -95,6 +95,11 @@ typedef struct privcmd_mmap_resource {
 	__u64 addr;
 } privcmd_mmap_resource_t;
 
+typedef struct privcmd_gsi_from_irq {
+	__u32 irq;
+	__u32 gsi;
+} privcmd_gsi_from_irq_t;
+
 /*
  * @cmd: IOCTL_PRIVCMD_HYPERCALL
  * @arg: &privcmd_hypercall_t
@@ -114,6 +119,8 @@ typedef struct privcmd_mmap_resource {
 	_IOC(_IOC_NONE, 'P', 6, sizeof(domid_t))
 #define IOCTL_PRIVCMD_MMAP_RESOURCE				\
 	_IOC(_IOC_NONE, 'P', 7, sizeof(privcmd_mmap_resource_t))
+#define IOCTL_PRIVCMD_GSI_FROM_IRQ				\
+	_IOC(_IOC_NONE, 'P', 10, sizeof(privcmd_gsi_from_irq_t))
 #define IOCTL_PRIVCMD_UNIMPLEMENTED				\
 	_IOC(_IOC_NONE, 'P', 0xFF, 0)
 
diff --git a/tools/include/xencall.h b/tools/include/xencall.h
index fc95ed0fe5..962cb45e1f 100644
--- a/tools/include/xencall.h
+++ b/tools/include/xencall.h
@@ -113,6 +113,8 @@ int xencall5(xencall_handle *xcall, unsigned int op,
              uint64_t arg1, uint64_t arg2, uint64_t arg3,
              uint64_t arg4, uint64_t arg5);
 
+int xen_oscall_gsi_from_irq(xencall_handle *xcall, int irq);
+
 /* Variant(s) of the above, as needed, returning "long" instead of "int". */
 long xencall2L(xencall_handle *xcall, unsigned int op,
                uint64_t arg1, uint64_t arg2);
diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e054..2b9d55d2c6 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -1641,6 +1641,8 @@ int xc_physdev_unmap_pirq(xc_interface *xch,
                           uint32_t domid,
                           int pirq);
 
+int xc_physdev_gsi_from_irq(xc_interface *xch, int irq);
+
 /*
  *  LOGGING AND ERROR REPORTING
  */
diff --git a/tools/libs/call/core.c b/tools/libs/call/core.c
index 02c4f8e1ae..6f79f3babd 100644
--- a/tools/libs/call/core.c
+++ b/tools/libs/call/core.c
@@ -173,6 +173,11 @@ int xencall5(xencall_handle *xcall, unsigned int op,
     return osdep_hypercall(xcall, &call);
 }
 
+int xen_oscall_gsi_from_irq(xencall_handle *xcall, int irq)
+{
+    return osdep_oscall(xcall, irq);
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/tools/libs/call/libxencall.map b/tools/libs/call/libxencall.map
index d18a3174e9..6cde8eda05 100644
--- a/tools/libs/call/libxencall.map
+++ b/tools/libs/call/libxencall.map
@@ -10,6 +10,8 @@ VERS_1.0 {
 		xencall4;
 		xencall5;
 
+		xen_oscall_gsi_from_irq;
+
 		xencall_alloc_buffer;
 		xencall_free_buffer;
 		xencall_alloc_buffer_pages;
diff --git a/tools/libs/call/linux.c b/tools/libs/call/linux.c
index 6d588e6bea..5267bceabf 100644
--- a/tools/libs/call/linux.c
+++ b/tools/libs/call/linux.c
@@ -85,6 +85,20 @@ long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall)
     return ioctl(xcall->fd, IOCTL_PRIVCMD_HYPERCALL, hypercall);
 }
 
+long osdep_oscall(xencall_handle *xcall, int irq)
+{
+    privcmd_gsi_from_irq_t gsi_irq = {
+        .irq = irq,
+        .gsi = -1,
+    };
+
+    if (ioctl(xcall->fd, IOCTL_PRIVCMD_GSI_FROM_IRQ, &gsi_irq)) {
+        return gsi_irq.irq;
+    }
+
+    return gsi_irq.gsi;
+}
+
 static void *alloc_pages_bufdev(xencall_handle *xcall, size_t npages)
 {
     void *p;
diff --git a/tools/libs/call/private.h b/tools/libs/call/private.h
index 9c3aa432ef..01a1f5076a 100644
--- a/tools/libs/call/private.h
+++ b/tools/libs/call/private.h
@@ -57,6 +57,15 @@ int osdep_xencall_close(xencall_handle *xcall);
 
 long osdep_hypercall(xencall_handle *xcall, privcmd_hypercall_t *hypercall);
 
+#if defined(__linux__)
+long osdep_oscall(xencall_handle *xcall, int irq);
+#else
+static inline long osdep_oscall(xencall_handle *xcall, int irq)
+{
+    return irq;
+}
+#endif
+
 void *osdep_alloc_pages(xencall_handle *xcall, size_t nr_pages);
 void osdep_free_pages(xencall_handle *xcall, void *p, size_t nr_pages);
 
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 460a8e779c..4d3b138ebd 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -111,3 +111,7 @@ int xc_physdev_unmap_pirq(xc_interface *xch,
     return rc;
 }
 
+int xc_physdev_gsi_from_irq(xc_interface *xch, int irq)
+{
+    return xen_oscall_gsi_from_irq(xch->xcall, irq);
+}
diff --git a/tools/libs/light/libxl_pci.c b/tools/libs/light/libxl_pci.c
index 96cb4da079..ba8803dab4 100644
--- a/tools/libs/light/libxl_pci.c
+++ b/tools/libs/light/libxl_pci.c
@@ -1486,6 +1486,7 @@ static void pci_add_dm_done(libxl__egc *egc,
         goto out_no_irq;
     }
     if ((fscanf(f, "%u", &irq) == 1) && irq) {
+        irq = xc_physdev_gsi_from_irq(ctx->xch, irq);
         r = xc_physdev_map_pirq(ctx->xch, domid, irq, &irq);
         if (r < 0) {
             LOGED(ERROR, domainid, "xc_physdev_map_pirq irq=%d (error=%d)",
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:44:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:44:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640485.998793 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tfo-0008Ck-E0; Fri, 24 Nov 2023 10:44:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640485.998793; Fri, 24 Nov 2023 10: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 1r6Tfo-0008Cd-Ar; Fri, 24 Nov 2023 10:44:36 +0000
Received: by outflank-mailman (input) for mailman id 640485;
 Fri, 24 Nov 2023 10:44: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTO-0006hx-BQ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:46 +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 a5d19f9d-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:37 +0100 (CET)
Received: by mail-ej1-x633.google.com with SMTP id
 a640c23a62f3a-a08e4352992so67622066b.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:37 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a5d19f9d-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821897; x=1701426697; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=u/1Y+ElyEax+d7lF3PYeMEPW+VxVlj8iOZ6H0S0TfVc=;
        b=DyRUynsk+U9u0NCI+BjidufOlXfYDH2/19E03lHlIjgkJf8ibAm7wgi8s2Ew7MDiMq
         oACQY6sj2kfq7Wfeg67aM7QcrGL3r195vb+fGK7JLB2IYFNGqfK5piHtsxUHz22c9wOW
         040a5CH7yA2bnx7KvhNh8MeeRf3US+xuAE25pLSJ63Vn7jXVcC4BD2PAAM1kKPWASW1C
         0+Ps8Q14tIzTG2RBs+mwE51ciR1aJxA+UcIn54aLqc1IaocfATmgaasoO6xwyjt6wJCL
         MPc2yfjDw+DNJXzkI4DAO31cWPpM7uLGbIZmQ1YkLzYd+9VvqKsDx3wjePv0IZ/6NWJU
         pWGQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821897; x=1701426697;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=u/1Y+ElyEax+d7lF3PYeMEPW+VxVlj8iOZ6H0S0TfVc=;
        b=Tw0xbEuap/1cg//JszOOmb+5wMp8ldmEnH10W11NULrf4OSeinxP1b3ucoMHxhH655
         8BUHJRHTaVR4453jczH3a591XfkxhHhyKvf9rWg4aX7qLZb2tJKCG1a8x8YTl/a1K+7X
         jZsH08sDUVX20Lb/PVkntNy0DGJ3QCmyDKcsa3+A20XXBGIPbt/725VCI/vDy4nhx0BQ
         gk99Op5z04Kb1GQmf0jOE9AEi7g3H4MV9O8HAV+d/NRE0R5CSxYgWhhgIi/2eC+7Imm/
         W20UJN9YDgKTroOr0egkuMLXXX9E13Hkpwh9YGz+UQ4EBP4vpQEvZG5F9hiKYJltNmpH
         M3pg==
X-Gm-Message-State: AOJu0Ywt/gHZAOviQUeRPG+z+LEbZ3pFFmHA7zTPAmbBgc8r7nMgS3VR
	MXcDl9g0U8JT4XH/wLCUHzHYMpE50yVwnA==
X-Google-Smtp-Source: AGHT+IESCotu9xvxJak6NVzsn7YcZ4FPdqZBUC4Q8D/pB4AMePUT6A9SYdnJomfIJjkq2KaeeKRtUw==
X-Received: by 2002:a17:906:7245:b0:a01:e916:3584 with SMTP id n5-20020a170906724500b00a01e9163584mr1589552ejk.54.1700821896912;
        Fri, 24 Nov 2023 02:31:36 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 26/39] xen/riscv: introduce asm/regs.h
Date: Fri, 24 Nov 2023 12:30:46 +0200
Message-ID: <073c9a03abe429c1e45f6f66b648a25aff87e9f3.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - change xen/lib.h to xen/bug.h
 - remove unnecessary empty line
---
 xen/arch/riscv/include/asm/regs.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/regs.h

diff --git a/xen/arch/riscv/include/asm/regs.h b/xen/arch/riscv/include/asm/regs.h
new file mode 100644
index 0000000000..8556837c65
--- /dev/null
+++ b/xen/arch/riscv/include/asm/regs.h
@@ -0,0 +1,26 @@
+#ifndef __ARM_RISCV_REGS_H__
+#define __ARM_RISCV_REGS_H__
+
+#ifndef __ASSEMBLY__
+
+#include <xen/bug.h>
+#include <asm/current.h>
+
+#define hyp_mode(r)     (0)
+
+static inline bool guest_mode(const struct cpu_user_regs *r)
+{
+    BUG();
+}
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __ARM_RISCV_REGS_H__ */
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:46:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:46:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640496.998803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6ThI-0000yl-VE; Fri, 24 Nov 2023 10:46:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640496.998803; Fri, 24 Nov 2023 10:46: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 1r6ThI-0000ye-R9; Fri, 24 Nov 2023 10:46:08 +0000
Received: by outflank-mailman (input) for mailman id 640496;
 Fri, 24 Nov 2023 10:46: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTX-0006hx-D2
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:55 +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 a9e978e5-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:44 +0100 (CET)
Received: by mail-ed1-x530.google.com with SMTP id
 4fb4d7f45d1cf-5431614d90eso2509960a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:44 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a9e978e5-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821904; x=1701426704; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DQmzcNiiecosotaPJOdRPOzfDS9PoO7Z6SaMHAHkahM=;
        b=QWhNT5itjIG8XYHI+ap8QQB0/dr+8UYx0d/2JCDQyfov8FkeI/fk2hC8ZJHYvBFaMH
         XdqiDGPOqwzqNfLFCUOreomFXxuemml+BvmHc+hcWca5ncEmW/r0tcchUu1EupTiqrOY
         3J5C1PZMk5daiRBC4k24Z4ZWsXQV+JIoxDXZQINCKJGG0XHlwZTGfqR5HThIMXu4rKeJ
         CuCujFRK/zMnErxHcvlBJ3h9JMLvsh7ZwUTT3tSaqiN1uP/WbQaC5sB8KCO5T5KEEv/H
         mxtEwlICrtaC/uSBYCd5w4xF5aYCIJ7LyX40c/xUAJjQb2VBp0xnN2T3x4m71M3/dZe+
         +R3w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821904; x=1701426704;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DQmzcNiiecosotaPJOdRPOzfDS9PoO7Z6SaMHAHkahM=;
        b=I7SHFAZO8ZWONyiozQtUjvZVXiSbeLT8SB0KJsZZv5Zn61xtwUsijepKg8Hvch52Zo
         7m4KU5yZQTfySCu5OQQjKtYeUqW2t/qx2anbzk6UCFtcn2xP39/ulUJVNjN3ukaGWj2F
         5cVjbtkzEMzmIdbj/HVNptNYI/qthnao3BhBniTzeB1hKJU2D5vRiGszfrsW+CZOMIXr
         F7z8YaJD+c/ZeavCSmac/PSXRNjGHQPHpQ0+HuIjg9FuH56GVnDHIHSCMbw1n2jHuY4R
         BiRFl2dK49RFCSomOYLqWw86mKLwIxWKsUNaAUGrFIXgXG/I8NXxqxYkWNyGM5y8ze0/
         qKQA==
X-Gm-Message-State: AOJu0YyqRKIsHADHGRAblmHkFBfOT51AOxOhbEzyPY8cXhpd12xku16f
	KJdloMtb5KolVUQ+CC7GQ23/3C7Wh1reXA==
X-Google-Smtp-Source: AGHT+IEdpyOKOH8SGDaH8oOfbMTxNOrbOmYlKrSzOrQ5D2QKwj8rNSiRjo+5Uk9JZuwJomGoLlzEnw==
X-Received: by 2002:a17:907:3a91:b0:9be:2991:81fb with SMTP id fh17-20020a1709073a9100b009be299181fbmr1396968ejc.36.1700821903737;
        Fri, 24 Nov 2023 02:31:43 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 33/39] xen/riscv: add minimal stuff to asm/processor.h to build full Xen
Date: Fri, 24 Nov 2023 12:30:53 +0200
Message-ID: <11f177882b74c60233626075a69bdd00d3da2311.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/processor.h | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/xen/arch/riscv/include/asm/processor.h b/xen/arch/riscv/include/asm/processor.h
index 6db681d805..b6218a00a7 100644
--- a/xen/arch/riscv/include/asm/processor.h
+++ b/xen/arch/riscv/include/asm/processor.h
@@ -12,6 +12,9 @@
 
 #ifndef __ASSEMBLY__
 
+/* TODO: need to be implemeted */
+#define get_processor_id() 0
+
 /* On stack VCPU state */
 struct cpu_user_regs
 {
@@ -53,6 +56,18 @@ struct cpu_user_regs
     unsigned long pregs;
 };
 
+/* TODO: need to implement */
+#define cpu_to_core(_cpu)   (0)
+#define cpu_to_socket(_cpu) (0)
+
+static inline void cpu_relax(void)
+{
+	int dummy;
+	/* In lieu of a halt instruction, induce a long-latency stall. */
+	__asm__ __volatile__ ("div %0, %0, zero" : "=r" (dummy));
+	barrier();
+}
+
 static inline void wfi(void)
 {
     __asm__ __volatile__ ("wfi");
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:46:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:46:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640498.998813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Thx-0001zS-6G; Fri, 24 Nov 2023 10:46:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640498.998813; Fri, 24 Nov 2023 10:46: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 1r6Thx-0001zL-39; Fri, 24 Nov 2023 10:46:49 +0000
Received: by outflank-mailman (input) for mailman id 640498;
 Fri, 24 Nov 2023 10:46: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTJ-0006hy-Cv
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:41 +0000
Received: from mail-ej1-x630.google.com (mail-ej1-x630.google.com
 [2a00:1450:4864:20::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7c33535-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:41 +0100 (CET)
Received: by mail-ej1-x630.google.com with SMTP id
 a640c23a62f3a-a00b056ca38so243303466b.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:40 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7c33535-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821900; x=1701426700; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9g8XJvXceN+LKbnSsjmmA9nK3GbE+uM4xbSpxuIFeFA=;
        b=OWKBXiScXFjkE8ARZS7zfqGjv9pPMhMOGawWNYrsNHnMCk63u5V34Q5LeaeHX884eL
         aPNsUF98ajfwmHIiTRDxPINtIyiEVy9cm/XMGCEbAte1VewOglC1viOtIDWvuO/G5mo1
         VV+xVCI6p4mdp7SnNbuGbP+Nzc8maSVRZ1QzqzfSI6ZkeyB5FPK9RT7KHIQCK+krk32u
         SOGDNV/j8yvI4S+f4LoIPtbqLKnJP/lkIPCSgUHyP17O+tyXjEvlJhBqs/xS71xWkXM/
         KzvMdEYL529EhH4vYttuUX9Le7twtCaO+DVy5Ceg7EVgNwz4bNd+9dds0jDus6bKk2i8
         wIYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821900; x=1701426700;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9g8XJvXceN+LKbnSsjmmA9nK3GbE+uM4xbSpxuIFeFA=;
        b=nJJ9gA527tNVx/3kqKeCZGTrsA7b76W3EKrrumi/8/yXe/jr0+w/OqXvv82PPd/BuX
         uWeXS1aujbtCVaxHP7zNP14uD1tB4bH+B3sYve6zsY3yfZddxN6eJM91nrXZSVwV7dmv
         07+7DUl1VJMWgltQsnYVhLfZvdk7TtIiCmX9Em/fI0cPcrFhOt68U9KuD3QlrYzywO/F
         b7tt2Mt/GD2KnO+MHrrhMNtPLNDOanIadyBktZi8lrvo6P1KCW9mchPS0rXateOawkeb
         3frlghtRcP+GqfNCilt24MvNC3wZR/Ka8YeqLpmphIcW2pN38ZfSsEGL4kn4HokHL2j5
         r66g==
X-Gm-Message-State: AOJu0YzewTdy2rE2jpdivfEcHTTHYiGlRsZEbvLWr6lU87VMpQ4RiSO3
	kkK4Jz+M0W/oYICNimz0MLM6gk7UxqWzYQ==
X-Google-Smtp-Source: AGHT+IFkhEVq1Zkgib05dna2HJ+QkOBxYxZNOJFEkC8rVWydgHS3i40ZDia5EJjHZwgOtC4fN8rAAQ==
X-Received: by 2002:a17:906:218:b0:9de:24d:f245 with SMTP id 24-20020a170906021800b009de024df245mr1426447ejd.12.1700821900174;
        Fri, 24 Nov 2023 02:31:40 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 29/39] xen/riscv: add definition of __read_mostly
Date: Fri, 24 Nov 2023 12:30:49 +0200
Message-ID: <7fec1c9f906ee120ebae606de59f9f70efb79aff.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The definition of __read_mostly should be removed in:
https://lore.kernel.org/xen-devel/f25eb5c9-7c14-6e23-8535-2c66772b333e@suse.com/

The patch introduces it in arch-specific header to not
block enabling of full Xen build for RISC-V.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
 - update the commit message
---
 xen/arch/riscv/include/asm/cache.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/arch/riscv/include/asm/cache.h b/xen/arch/riscv/include/asm/cache.h
index 69573eb051..94bd94db53 100644
--- a/xen/arch/riscv/include/asm/cache.h
+++ b/xen/arch/riscv/include/asm/cache.h
@@ -3,4 +3,6 @@
 #ifndef _ASM_RISCV_CACHE_H
 #define _ASM_RISCV_CACHE_H
 
+#define __read_mostly __section(".data.read_mostly")
+
 #endif /* _ASM_RISCV_CACHE_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:47:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:47:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640503.998823 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tj4-0002wU-Gg; Fri, 24 Nov 2023 10:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640503.998823; Fri, 24 Nov 2023 10: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 1r6Tj4-0002wJ-E8; Fri, 24 Nov 2023 10:47:58 +0000
Received: by outflank-mailman (input) for mailman id 640503;
 Fri, 24 Nov 2023 10:47: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTW-0006hx-Cy
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:54 +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 a95c321a-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:43 +0100 (CET)
Received: by mail-ej1-x632.google.com with SMTP id
 a640c23a62f3a-a00b056ca38so243310666b.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:43 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a95c321a-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821903; x=1701426703; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=SZYBaKtqO03IaPhGnfIlixMtQetp2xv8QqhEqqcwd+k=;
        b=UlhwHxmRKQbKJ2Inz952T3MgMb0VNYMJdlAyhczHMPDuto30FTWJvx3IPj2Ss/ergy
         Kq+O+XL84u7JQgD463sI3yV/u3ubWHIMlTDPjxBmHmU+2+TGDPiele4S6HsysGfv8p17
         P1lp28u4iJTqUPW18FUmYeRm6eIALjyIHKzSdKhICO7EEDxCHwiTLxEn9BTyb7WembWS
         EFVnbmY+Nr66CvHTGsrkwFEEchBNvkDTz7R89291WRtKwQNsx0DMdoUPbZWZFb+HSxky
         LNbVjDIV7j73COlL2UOQi6QlYXlsmTw8l1cpamly60HjR1+lFchU01//uOtTK8G1Hz2D
         qELA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821903; x=1701426703;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SZYBaKtqO03IaPhGnfIlixMtQetp2xv8QqhEqqcwd+k=;
        b=ghdpoCmjN4acDN36eBbbRPIioNJZ0dUB8Vqw03Zv2/MXQ85OZsX5MMNxCtsBYWkFoq
         lxQE9vEZbf8x9T5r9c5YtnaO9jBPPrUAjwgFTF5/wKL+Ew7pLsdmu4ib0g/n+i/08Plq
         tYueGFZEUrzcvYqSh81hV1lQvEWrZFcadPxlNwE/SM2H/qs6uQkJ2ikiZPY2N+Mvw0lj
         Up+nUWGoe7nr9WCC5GCdwrPN1HVK+Cy+z1AU2tPPGj61yc7xFOp6mGT+HDZy6YLjy/4C
         oMTKyqsAu1dhq4DI0ZzoF8sz8l1DTo2sh/s0ujVPZfRO1cJYQQxYkRQFoUxPq3yQpirV
         tLaw==
X-Gm-Message-State: AOJu0YzquoPiPCeSUumtL8nrChyylve3zOjIgssucmHrof/dO70E6Yrz
	2kbxCNe5QwasCztB2BxRgTE0nxQlC3ZFqw==
X-Google-Smtp-Source: AGHT+IFoisvlUc6sGtkQ0PuK7EpcEjxDt7LEADKp7XJ8gqN7fWPxILq2oTpfBFaXOr0WNEMVNtW1tg==
X-Received: by 2002:a17:906:35c7:b0:9e4:e405:27b4 with SMTP id p7-20020a17090635c700b009e4e40527b4mr1518113ejb.53.1700821902971;
        Fri, 24 Nov 2023 02:31:42 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 32/39] xen/riscv: add minimal stuff to asm/page.h to build full Xen
Date: Fri, 24 Nov 2023 12:30:52 +0200
Message-ID: <34a4bc023eb50e1d1cf70fa149825c51f2f4555f.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/page.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/arch/riscv/include/asm/page.h b/xen/arch/riscv/include/asm/page.h
index 95074e29b3..abbae75aaf 100644
--- a/xen/arch/riscv/include/asm/page.h
+++ b/xen/arch/riscv/include/asm/page.h
@@ -6,6 +6,7 @@
 #ifndef __ASSEMBLY__
 
 #include <xen/const.h>
+#include <xen/bug.h>
 #include <xen/types.h>
 
 #include <asm/mm.h>
@@ -32,6 +33,9 @@
 #define PTE_LEAF_DEFAULT            (PTE_VALID | PTE_READABLE | PTE_WRITABLE)
 #define PTE_TABLE                   (PTE_VALID)
 
+/* TODO */
+#define PAGE_HYPERVISOR 0
+
 /* Calculate the offsets into the pagetables for a given VA */
 #define pt_linear_offset(lvl, va)   ((va) >> XEN_PT_LEVEL_SHIFT(lvl))
 
@@ -46,6 +50,9 @@ typedef struct {
 #endif
 } pte_t;
 
+#define pfn_to_paddr(pfn) ((paddr_t)(pfn) << PAGE_SHIFT)
+#define paddr_to_pfn(pa)  ((unsigned long)((pa) >> PAGE_SHIFT))
+
 static inline pte_t paddr_to_pte(paddr_t paddr,
                                  unsigned int permissions)
 {
@@ -62,6 +69,20 @@ static inline bool pte_is_valid(pte_t p)
     return p.pte & PTE_VALID;
 }
 
+static inline void invalidate_icache(void)
+{
+    BUG();
+}
+
+#define clear_page(page) memset((void *)(page), 0, PAGE_SIZE)
+#define copy_page(dp, sp) memcpy(dp, sp, PAGE_SIZE)
+
+/* TODO: Flush the dcache for an entire page. */
+static inline void flush_page_to_ram(unsigned long mfn, bool sync_icache)
+{
+    BUG();
+}
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* _ASM_RISCV_PAGE_H */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:48:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:48:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640505.998833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TjT-0003ie-Qb; Fri, 24 Nov 2023 10:48:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640505.998833; Fri, 24 Nov 2023 10:48: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 1r6TjT-0003iX-M2; Fri, 24 Nov 2023 10:48:23 +0000
Received: by outflank-mailman (input) for mailman id 640505;
 Fri, 24 Nov 2023 10:48: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTN-0006hx-BU
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:45 +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 a55788b0-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:36 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a00a9d677fcso236752066b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:36 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a55788b0-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821896; x=1701426696; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DJRjUvdwuuad2efuExKOiQ+ed+OjR0ZfoiyU0hrJwyQ=;
        b=BLCH2jOgcpPZz0xTBNyf6oSdRS/LJqn5Irh0ACRl0XaANNUcxPeMtwv8IUar9ygayC
         rgMB4/XB21A2Z0dkMgbppZQ1CieVFEwEZ8crr+TPzpobdVwHIV8dyeCwDsyCIVCJ4vPP
         daG+Xyghv4PXJT4Vni1BwD4bW7JmI0JARcvCOyu+2Adqr9G6bCvgAInCv8u070EkDukx
         YsSjldkM8R5aSKMBz32lA4q+lg4ZFNjh7TSqqICNOaJYDQfF0YSFJAvpyR1mfNxjqb6P
         /1rSI6XnQbpiNTgmiz9eRE/oZQOmmXxn6GXViljLvBqHA5iyhJDYQanez9EZ+/bNcM+i
         CAfg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821896; x=1701426696;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DJRjUvdwuuad2efuExKOiQ+ed+OjR0ZfoiyU0hrJwyQ=;
        b=mmTxNBFfvxaqyuAKKoATd3vTNfS2zESXVQddM/ittAMG3sBSoG1BRSPj0wBfJBjOhb
         r/n0LaQzjUwhEdjpLClFMKrsNTQ21tj4HCk0eeQ04FYKj16NriGV41n0IDQEP5Af68Ns
         CR25bofY/xv0G1YJLqSBwc1fi+tccqINgu34woR2NFimCsBy7AACLTjGb4ZcTcnY/vIE
         zd4opRnd27ez0eljfKkm4d0SQEvMSuXwHEGtZ7U4iAHcvONItAVwvAv5Tf0kd+iX3PZK
         yeoempW38VMNKdILPJku7lNQWWt2QMkoh1EE6BG3qr5dpjSIl2Cq92RSLIVMSWjOyl0n
         iztA==
X-Gm-Message-State: AOJu0Yy7eVCu4dWdIdsUZ+6UooTKgoNHc/ePH1j0w7pdnXvsqOcUFdmp
	pDZD0ll3WnTX933I+VAehipXX8Mj9d8B0g==
X-Google-Smtp-Source: AGHT+IGpih3co3kvDZv/3jxn98aNZyNxgpf5T1LzAvpcmJAKB7f7T7q7e77bVQTfk3l7qT4x1EBIYg==
X-Received: by 2002:a17:906:b6d3:b0:a03:a3c4:ed99 with SMTP id ec19-20020a170906b6d300b00a03a3c4ed99mr1807229ejb.41.1700821895729;
        Fri, 24 Nov 2023 02:31:35 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 25/39] xen/riscv: introduce asm/p2m.h
Date: Fri, 24 Nov 2023 12:30:45 +0200
Message-ID: <a37e4b7115897a0265907c53667a0ede3763f0ce.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/p2m.h | 105 +++++++++++++++++++++++++++++++
 1 file changed, 105 insertions(+)
 create mode 100644 xen/arch/riscv/include/asm/p2m.h

diff --git a/xen/arch/riscv/include/asm/p2m.h b/xen/arch/riscv/include/asm/p2m.h
new file mode 100644
index 0000000000..993aec6d2c
--- /dev/null
+++ b/xen/arch/riscv/include/asm/p2m.h
@@ -0,0 +1,105 @@
+#ifndef __ASM_RISCV_P2M_H__
+#define __ASM_RISCV_P2M_H__
+
+#include <asm/page-bits.h>
+
+#define paddr_bits PADDR_BITS
+
+/*
+ * List of possible type for each page in the p2m entry.
+ * The number of available bit per page in the pte for this purpose is 4 bits.
+ * So it's possible to only have 16 fields. If we run out of value in the
+ * future, it's possible to use higher value for pseudo-type and don't store
+ * them in the p2m entry.
+ */
+typedef enum {
+    p2m_invalid = 0,    /* Nothing mapped here */
+    p2m_ram_rw,         /* Normal read/write guest RAM */
+    p2m_ram_ro,         /* Read-only; writes are silently dropped */
+    p2m_mmio_direct_dev,/* Read/write mapping of genuine Device MMIO area */
+    p2m_mmio_direct_nc, /* Read/write mapping of genuine MMIO area non-cacheable */
+    p2m_mmio_direct_c,  /* Read/write mapping of genuine MMIO area cacheable */
+    p2m_map_foreign_rw, /* Read/write RAM pages from foreign domain */
+    p2m_map_foreign_ro, /* Read-only RAM pages from foreign domain */
+    p2m_grant_map_rw,   /* Read/write grant mapping */
+    p2m_grant_map_ro,   /* Read-only grant mapping */
+    /* The types below are only used to decide the page attribute in the P2M */
+    p2m_iommu_map_rw,   /* Read/write iommu mapping */
+    p2m_iommu_map_ro,   /* Read-only iommu mapping */
+    p2m_max_real_type,  /* Types after this won't be store in the p2m */
+} p2m_type_t;
+
+#include <xen/p2m-common.h>
+
+static inline int get_page_and_type(struct page_info *page,
+                                    struct domain *domain,
+                                    unsigned long type)
+{
+    BUG();
+    return 1;
+}
+
+/* Look up a GFN and take a reference count on the backing page. */
+typedef unsigned int p2m_query_t;
+#define P2M_ALLOC    (1u<<0)   /* Populate PoD and paged-out entries */
+#define P2M_UNSHARE  (1u<<1)   /* Break CoW sharing */
+
+static inline struct page_info *get_page_from_gfn(
+    struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q)
+{
+    BUG();
+    return NULL;
+}
+
+static inline void memory_type_changed(struct domain *d)
+{
+    BUG();
+}
+
+
+static inline int guest_physmap_mark_populate_on_demand(struct domain *d, unsigned long gfn,
+                                                        unsigned int order)
+{
+    BUG();
+    return 1;
+}
+
+static inline int guest_physmap_add_entry(struct domain *d,
+                            gfn_t gfn,
+                            mfn_t mfn,
+                            unsigned long page_order,
+                            p2m_type_t t)
+{
+    BUG();
+    return 1;
+}
+
+/* Untyped version for RAM only, for compatibility */
+static inline int __must_check
+guest_physmap_add_page(struct domain *d, gfn_t gfn, mfn_t mfn,
+                       unsigned int page_order)
+{
+    return guest_physmap_add_entry(d, gfn, mfn, page_order, p2m_ram_rw);
+}
+
+static inline mfn_t gfn_to_mfn(struct domain *d, gfn_t gfn)
+{
+    BUG();
+    return _mfn(0);
+}
+
+static inline bool arch_acquire_resource_check(struct domain *d)
+{
+    /*
+     * The reference counting of foreign entries in set_foreign_p2m_entry()
+     * is supported on RISCV.
+     */
+    return true;
+}
+
+static inline void p2m_altp2m_check(struct vcpu *v, uint16_t idx)
+{
+    /* Not supported on RISCV. */
+}
+
+#endif /* __ASM_RISCV_P2M_H__ */
\ No newline at end of file
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:48:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:48:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640508.998843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tjk-0004Fy-1t; Fri, 24 Nov 2023 10:48:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640508.998843; Fri, 24 Nov 2023 10:48: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 1r6Tjj-0004Fp-V6; Fri, 24 Nov 2023 10:48:39 +0000
Received: by outflank-mailman (input) for mailman id 640508;
 Fri, 24 Nov 2023 10:48: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=u6gD=HF=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r6Tji-0004EL-SX
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:48:38 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 04a9bcfd-8ab7-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:48:36 +0100 (CET)
Received: from CH2PR17CA0017.namprd17.prod.outlook.com (2603:10b6:610:53::27)
 by SJ0PR12MB7457.namprd12.prod.outlook.com (2603:10b6:a03:48d::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 10:48:33 +0000
Received: from SA2PEPF000015CC.namprd03.prod.outlook.com
 (2603:10b6:610:53:cafe::6d) by CH2PR17CA0017.outlook.office365.com
 (2603:10b6:610:53::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend
 Transport; Fri, 24 Nov 2023 10:48:33 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015CC.mail.protection.outlook.com (10.167.241.202) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 10:48:32 +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.2507.34; Fri, 24 Nov
 2023 04:48:32 -0600
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.2507.34; Fri, 24 Nov
 2023 04:48:32 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Fri, 24 Nov 2023 04:48:29 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04a9bcfd-8ab7-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Q2OeljKCq8p90aklX4NJgeJu0Hj0PrTYgnzzPHa7CCzk4U5fEP+4mgIkzxW6zbOmF4kHXx6cABslX7UJyp206TQPFs+FGKGouh05yTVZ+nswg7S3Pep9ru2UJiZdZdY09VaiMIKT33pwFea9u/S/EClQFicHHICTRWaf++cVynzVZC8H9V7PcnKAbZ5e80ZF2AxPYVC9V6MZ+piWLWIFBj7CJChVRN6p0if0fNCWmooiJLy5RR56r1izhJeoxvMzZ9m9F+22cjcn9LBHFqaDIz3t/A1diS+Fc8g6Z5dU4Frd265zO+1U2EbMUVwM67osdUwX+cIdBbfqNLZ+nOfYaA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WtE0gSxJw4o2GFpTOi5DoZtQJ/3WJX48J0z3EA7jhKY=;
 b=S+sKHn+geK6NE+XkoG7nB99Rjlu2Lz+ARPQH8g9+Ij6JyuLaURAKOuS8rm8PcTMyTB9Zl6ru8YAF0xUUrc4hgpV8NfuZD/yGKPhyz5v4oUFFqNSPoW73IMOji0K43DRoVm3yb+qMR9IfAkNPVjQQRZEr5BnrHgVSuWsRJMnBT+H0SE/ql2RLZXfuoauohv6MuLndispqpmZpPwf4KZXoV/W6dP3kXT2y2IsRJsGhUrxN3VxRZY5FFtbApKpiqYGdG+JLQisqOB89bLOIVYhBM4x9lJ5+Z90ZAil7YNTe8y9Lo3Wq954reQfW6BCcT32K9eUdNe2vDbVCaIGxqA/oCQ==
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 (0)
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=WtE0gSxJw4o2GFpTOi5DoZtQJ/3WJX48J0z3EA7jhKY=;
 b=QoydlTDe35Br3OWGCr7zJjzYs/vNjB9hdJvSsQhA3le0cuTUwK4qwF7DMCOYrTf2BvrIDD104jmkAhoAoTa5xsUl7T1UPB3NBOAlZm+ExnVyVLHG6dldP+teSwOXc7hNBgwebfRTmq/6YiiwPcZN34fMUrTzBaLj2Wz7gXmkaA8=
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: <9f473cc8-d4d5-41de-8b87-b263759c28c5@amd.com>
Date: Fri, 24 Nov 2023 11:48:29 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 4/5] xen/arm: Move static memory build code in separate
 modules
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
 <20231124094841.1475381-5-luca.fancellu@arm.com>
Content-Language: en-US
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231124094841.1475381-5-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015CC:EE_|SJ0PR12MB7457:EE_
X-MS-Office365-Filtering-Correlation-Id: 39b288ef-ad95-4e6d-77b9-08dbecdae718
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MxU0DKXucTlRCU3K8n5soY/2QoEPU17ziGMh5s3gQHW9XyELxTfn2ADOM3Z2XCuErGZ+N7zR3L74DHYU30FEt8MVGdhKjLKXb7WiFexMxcJ6BQ8hHMadwpwvELqQhvaag7bzIFPV50NYGkPAqxOKXLqrmSodOSjqTan/0hrsEUlv9KIaB4VqmiAe+gWrAMDq2psRVz2zY2zvwOVlYYmBhxsveIJXpAARJhescwy6UXAao+zuuBrzDGzCrHR3WKw4cYqdtfgUG8HPFombluOH1BFa4erqcWZ2NOIV3Z5/QjPGolYGQ5vPtlWllHrW048LeMXkKchuC6m/xboVhh0+p/X6EehdseiFQalLH1RZoNxdiId3bD0uZU70TuZveEEVwQeKd47gzkdpbBG1raiVhbDo4Y8Rth7y+yTt+1q/RDMKn/P/oTjJZhmcZcW+ESpYplkL6Ojw/BdbHhNNClH43iH0DTq4GAnxn3BB7iNbq+Zl8OfgM5cDmda5F1J34xk+e9jUuNl+7EnjeGymblWfruwVfnabVN6sgEep8I907rzDXekEW3UvvNdPbacXNtzqc6CRUJN8GOVVMkPuTaKhHOZpifMqxXtmwRMi3csExIiuy+N85KvK+66tR98cEHl1YL1u5hhXqra7NkNId25j1/ca1dFkfV9i+K9T3Q7tRXrkI+twUMgWrYWhuhGgD/GJEeMTmbTKC+DJNA2puCSPMBgjxrQwbNpqrWp+cV7O3G+AWbiNn0GTpckVbk2F1ZlhH4ISo8LnQNqN3DTLnhVfwJxe0wl2TJ2ZswSEypu2qGdwyteafOw1ZqwdaRcqx8s9q1Gqo4EXrdTudM1b0qyqHYpL55LP7JOUGnzxAxfod3E=
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:(13230031)(4636009)(396003)(346002)(136003)(376002)(39860400002)(230173577357003)(230273577357003)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(82310400011)(46966006)(36840700001)(40470700004)(5660300002)(2906002)(26005)(2616005)(47076005)(4744005)(40460700003)(70206006)(70586007)(16576012)(110136005)(36756003)(54906003)(36860700001)(40480700001)(4326008)(81166007)(53546011)(316002)(8676002)(8936002)(31696002)(41300700001)(86362001)(478600001)(31686004)(336012)(356005)(44832011)(82740400003)(426003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:48:32.6598
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 39b288ef-ad95-4e6d-77b9-08dbecdae718
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:
	SA2PEPF000015CC.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7457

Hi Luca,

+ CC others

On 24/11/2023 10:48, Luca Fancellu wrote:
> 
> 
> Move static memory and static shared memory code in separate modules
> so that they are included only when the corresponding feature is
> enabled, doing that we modularise the features and we remove some
> ifdefs from the code to improve readability.
> 
> Move process_shm_node function from bootfdt module and make it
> externally visible.
> 
> A static inline helper called process_shm_chosen is introduced, it
> will call the process_shm function for the '/chosen' node, and will
> be used by the function construct_dom0 instead of using directly
> process_shm, allowing some #ifdef to be removed.
> 
> No functional changes are intended.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:48:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:48:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640511.998853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tjw-0004sz-D5; Fri, 24 Nov 2023 10:48:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640511.998853; Fri, 24 Nov 2023 10:48: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 1r6Tjw-0004sq-AS; Fri, 24 Nov 2023 10:48:52 +0000
Received: by outflank-mailman (input) for mailman id 640511;
 Fri, 24 Nov 2023 10:48: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTQ-0006hy-Lv
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:48 +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 aad39247-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:46 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-54af2498e85so681570a12.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:46 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aad39247-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821905; x=1701426705; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Mx7qjLmwj3uVtX+Ndzq6GqRVOTLP95SGTxuClseF48U=;
        b=VoDyOlV2nHD46jHjpQXBqPys0sSFukCYkHzBsnYSIBsT0W+KlkfrhRF0UPkOR4JBN5
         UhYzkaNc4/ou69VePPisKUS2in5uhTze4CZum8q8e8lh2QlqWfaswVB/CTcV3i02TbET
         HC02ReJDJfjEEBHPa5dWRv2QYTUx/xL/pChzPmjMTGrHiSAFw1M/b7pI9FC1DnG1wCuM
         MpC4Y8Ojr1l4z9S3HhLYZm7iBu10kLMKUonmvwGCknZ92h+UZOjzdiQy4/qkyVYdAZ/x
         G4XvdjWVW8/70PnbJwM0lp5KMZZkv63Q/SPgkKn0x5S6N1eTob7B3IZtVAN9JTuGgTg+
         Zb9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821905; x=1701426705;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Mx7qjLmwj3uVtX+Ndzq6GqRVOTLP95SGTxuClseF48U=;
        b=nNDcXDH8TVs1wsyBU3DuUZTRZ+Lu6HYOn2qQgKEUOAtIFpqS7XmYxeAA2cn0P/GVh5
         uFgpVIGNnHtZA/ujDZktE2bBeVJBxr8ewlGyA1YItBIShyBVxsrihgeOpQ9awtCPaY3t
         /lJf5B7ay1tqaRsl0fXTD5LV1Zyew0vKgHYUDnOaSTXRQcuy5u5qNWO+bXlyaTM57jVl
         7cFnup+8C0et+J3sEl8e6jLVrXnGJHDjyLjJOGSTeshdzp6FT0boFwZtG5P9Q2WSOW2I
         GJiBUyq7mSmBxtJXq640KjfgbkF8PZbBN/Ex7Y/o20fUkUpCpk7MKsVfCVvl9qlOR5hL
         +Frw==
X-Gm-Message-State: AOJu0YxAYyzI02kIIgsfDyQcoL6oBkV1342H/pXoqZQuT9b7YbzSZVEV
	yisalpF9yiplk294FbYG4iqsM74xUMdSYA==
X-Google-Smtp-Source: AGHT+IEvOFr6h2HR0lDByP5Lxw8dorUuG6/oPkB+wEAsCnw+tIli/lYGEC2ns3VjXIsSs6cXalrcSQ==
X-Received: by 2002:a17:906:c307:b0:9d4:2080:61dc with SMTP id s7-20020a170906c30700b009d4208061dcmr1821573ejz.22.1700821905318;
        Fri, 24 Nov 2023 02:31:45 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 35/39] xen: add necessary headers to common to build full Xen for RISC-V
Date: Fri, 24 Nov 2023 12:30:55 +0200
Message-ID: <88bab81d8412588dab82bb53193105ff4993961a.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/include/xen/domain.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 54d88bf5e3..a4e11342e3 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -4,6 +4,7 @@
 
 #include <xen/types.h>
 
+#include <public/domctl.h>
 #include <public/xen.h>
 
 struct guest_area {
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:49:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:49:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640516.998862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TkC-0005by-Kb; Fri, 24 Nov 2023 10:49:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640516.998862; Fri, 24 Nov 2023 10: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 1r6TkC-0005br-HY; Fri, 24 Nov 2023 10:49:08 +0000
Received: by outflank-mailman (input) for mailman id 640516;
 Fri, 24 Nov 2023 10:49: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTU-0006hy-MZ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:52 +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 acca16f6-8ab4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:31:49 +0100 (CET)
Received: by mail-ed1-x536.google.com with SMTP id
 4fb4d7f45d1cf-548f0b7ab11so2450252a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:49 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.47
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: acca16f6-8ab4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821908; x=1701426708; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=0+aQuxKjfQGzFTZoazT2PEhCRLSw5p9w+6+GEIbGRQE=;
        b=dR66v/Ky2iaNX1EUxZfWCloAZ8t0HeaJ8HzOU9hxBXeBdE9Ygmh9uIqKhXLWF7xzJd
         UA8INshW8w+PPoIvUfQU0JrOJnk6XWZ2hapRcvYqaXcfciV/8DyAwHu+7BjWwCEFhvxt
         al/yjdjfANn0FTdo2RbOyxi9SAEL6jU860gEaTpRE97i1CUhaWuBVOHc8FXbL0vj1gq0
         9b+MJi1D3LdobKqu5d16oOvZprI9jKbC3g9bvAWrblxhpMOjWvzIKjzYeQglEY367bD0
         lygKsWrjXlWt6h5vw9vmh6IT/V9aBbtcvL2qyVmHs2EHBSfpBrnVbGt/lByBB8XR1x/u
         zfBQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821908; x=1701426708;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=0+aQuxKjfQGzFTZoazT2PEhCRLSw5p9w+6+GEIbGRQE=;
        b=P5k3YS4WvpTx6HASkg6GyKdovOyzmLK6K3cruLq8srhX/BX/B+oahxYIWp/vrrb+KU
         JK8LMdVxZ75CnNdkkJr1o1K194xlBKG/5lAw+PKxV3LEOirqgZiSK1p9lbBRLxfbRpXK
         vn8iX/599l5WO/tptherfUmN3/7sNjqhiAlWdn9+uCqe9aG0KlNHCuNOB1oPrCOQeBGF
         IZ1OW/c3faTxYphHICgoH37izrz6nJSSMzGSK9Si1ZWExx1PhVEqwaYkLKXNFdCgIrgo
         rlcriSxNXJlG295zuS4OATrNNcL79MblBesbRduso6iUqEwMe/t1Bti/b0N/jAv+jvWR
         OItQ==
X-Gm-Message-State: AOJu0YxVlNbA2bJSrrSswKQIY3jjBjk9BrFSWAw40UfWgaEuLliU4Fr8
	mDPAW6qq932y3d0Oh8SMvU7VJg15FEy6ag==
X-Google-Smtp-Source: AGHT+IFwI0S4Mg/Ep/Heeyi1TtpQWh+LY+imflpzU/xVjPVSNoFn/noZ0fiWhCkbkZUdq1gr+BwP7A==
X-Received: by 2002:a17:906:389b:b0:a02:1e8d:b94f with SMTP id q27-20020a170906389b00b00a021e8db94fmr1568595ejd.57.1700821908613;
        Fri, 24 Nov 2023 02:31:48 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@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>
Subject: [PATCH v2 39/39] xen: fix compilation issue of serial.c
Date: Fri, 24 Nov 2023 12:30:59 +0200
Message-ID: <6e1f19de1e8a276d487e8517810da3e8e68104ff.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The following issue occurs on RISC-V platforms:
drivers/char/serial.c: In function 'serial_tx_interrupt':
drivers/char/serial.c:88:9: error: implicit declaration of function 'cpu_relax' [-Werror=implicit-function-declaration]
   88 |         cpu_relax();

cpu_relax() is defined in <asm/processor.h> so it was added
an inclusion of the header to serial.c.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - New commit introduced in V2
---
 xen/drivers/char/serial.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/xen/drivers/char/serial.c b/xen/drivers/char/serial.c
index 00efe69574..35df58fe33 100644
--- a/xen/drivers/char/serial.c
+++ b/xen/drivers/char/serial.c
@@ -13,6 +13,8 @@
 #include <xen/serial.h>
 #include <xen/cache.h>
 
+#include <asm/processor.h>
+
 /* Never drop characters, even if the async transmit buffer fills. */
 /* #define SERIAL_NEVER_DROP_CHARS 1 */
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:50:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640520.998873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TlR-0007jF-Vx; Fri, 24 Nov 2023 10:50:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640520.998873; Fri, 24 Nov 2023 10: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 1r6TlR-0007j8-SV; Fri, 24 Nov 2023 10:50:25 +0000
Received: by outflank-mailman (input) for mailman id 640520;
 Fri, 24 Nov 2023 10: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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6TlQ-0007hc-PB
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:50:24 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20609.outbound.protection.outlook.com
 [2a01:111:f400:7eab::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43f43043-8ab7-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 11:50:23 +0100 (CET)
Received: from BN8PR16CA0015.namprd16.prod.outlook.com (2603:10b6:408:4c::28)
 by SN7PR12MB8772.namprd12.prod.outlook.com (2603:10b6:806:341::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 10:50:18 +0000
Received: from SN1PEPF0002636C.namprd02.prod.outlook.com
 (2603:10b6:408:4c:cafe::3b) by BN8PR16CA0015.outlook.office365.com
 (2603:10b6:408:4c::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18 via Frontend
 Transport; Fri, 24 Nov 2023 10:50:18 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF0002636C.mail.protection.outlook.com (10.167.241.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 10:50:18 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:50:11 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43f43043-8ab7-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Cpr5IbPSY2RSWUNokyAII/N2q95sxgH6scVeaERWAAAhhUqFBVwHKOBW8mh6nHI1uIoYskLIfDsRIlCvZzLnVNh1Bj5LIy9bHE7/iAaM9MXcvywiKgIHz8C1xHDGkg+sOJQndUk9VDkdGUudNljslXBpzaVJ0sTy9/JkgNx/0xFQoNY7Z8FZ93cTAXGl+E7bPoyDT0PddHzfIFFj4blwHB8aRUf1k/taUZkVndxevGMD+WjIusQmIG2MVUewx8k5OkFczkDiN5GJ3wmOcg068wcPFl/xbePzbeHDNhUnEq4CH+jVHn1l14wewT+knNXR2XYQD2YYL3r0mJvW5tNMIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wv22leIEJJc+0yjOTOAesiSy6M3ZYkPZ25c7c7AQ4Mk=;
 b=DK/iYw7Fugl4pkB9XmP9Id2/vUv9QmnaqFXYmH6InbAG44mg9URS+6RscADaPRNlAOV16e9qmrz5jkpuLIdtDb0ZPzRzHzEbpu1zyDTqDJzZsuSZOsE34cNlDE5v3WDRMxGrmtH/DsApO2/o57cciZ8+GXi+wGUvqzB16ctUOqajFYFf18fTQ57T9hom8zS5NvJo76LrlkGJVOZQkFu7V3GjIck+TEAe5W3PlPnfhwIbtcp+U2B4adQfd7YJz+SaWkg/wqMVgyM+b3Rdi/cUd8UjEj2bI2HsG+KrpnWPH5dCsFLHXojRbML1HzpPSlaX8bARa7L49waOqf70BYOeRA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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 (0)
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=wv22leIEJJc+0yjOTOAesiSy6M3ZYkPZ25c7c7AQ4Mk=;
 b=HAT3paoILeZfgHmejRC0RoNj6wtuF+ONp3CNaXL/PmndYeRY8xH/uQnBfPSh0IQNIhIft1CZenbJp5YeeQNe8NmuM7rSd08izgZ921VB9YSMivNm4NAOOBuU80CcK+0oJBQJG4UafVp0wOOqCvPO/g7+KhjFlJx2nX6ms/gGHr0=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
	<xen-devel@lists.xenproject.org>, <qemu-devel@nongnu.org>
CC: Xenia Ragiadakou <xenia.ragiadakou@amd.com>, Stewart Hildebrand
	<Stewart.Hildebrand@amd.com>, Alex Deucher <Alexander.Deucher@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>, Huang Rui
	<Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, Julia Zhang
	<Julia.Zhang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>
Subject: [RFC QEMU PATCH v2 0/1] Support device passthrough when dom0 is PVH on Xen
Date: Fri, 24 Nov 2023 18:49:50 +0800
Message-ID: <20231124104951.3263782-1-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636C:EE_|SN7PR12MB8772:EE_
X-MS-Office365-Filtering-Correlation-Id: 5dd8d302-9aa3-480e-10c8-08dbecdb2609
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sS2ORGqAhWpmlc2KsOCvNTjB6mfIfoI+8amm/MGNaAoCYUakVQ/ZQBW96b3SodJUtFjc6WEQJgd82P+Z1rK33stYN8aC8MDpOa+mt9bI3RPiksji/s3NX8iCANxROuiVnN7M71iF8wOjjg7sBR4uFLwYabw4S+VwWZ3I6rVg6d4Y+exVTREtqvfdzCd1r6P6fu0UyZSoIRROFmB4NaepeYEljKc5fZT/PB0Y6UU8OJas6isqy8QwDreqZR+8V+t2LtiWBzLdDTaR0Oyd7rv6xBQZA/t91/ZOr4pcJooCDk7jQRK7A1+uuHj0gdjom1jcPoMhVe2YAks3b4ZnvmLWmcp2hMH0WzRKT+Ir6PwWxmTIscOw/8x7apboHItuwhXhhR9oNk1SdbOjcN1RnQDK7orJ68Y0MqdS2+1syblwX19Gr7wU1p+uOI0oDWmi84TJMFSBoi4ddPBvEHwSvxfZh8ZhQl61HPeTYb4nw1geegtKK+hfFN8XptRC/fGYzBdNc7O6DkHVAFF0xsNdiJ0qYSasfGcLmGegpAAGF9MtxZG9muzCcedwZ8KILY9azGMckxGZ4c4PPGEHote5GVObtocbqSxXUZt/ne8T0VnUxXD7g+MUsTxHX1svEi0ier70yauu5vU03YvT352SPmpjifryFvmppoB6tQEinLEcdTqXvdblt7o4AXbmvFUj/69LjTuxi4d/OVNKYcboYADSicx1xfsLfctEaa9N80pn3XL1w/kJfgha80AfHaI5RihE4Ag87HiY/q2sNsaFL7xPFO4PmkPaNWIXbNj0U4rakNw=
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:(13230031)(4636009)(136003)(39860400002)(396003)(346002)(376002)(230922051799003)(64100799003)(451199024)(186009)(82310400011)(1800799012)(36840700001)(46966006)(40470700004)(40460700003)(966005)(356005)(81166007)(82740400003)(7696005)(478600001)(8936002)(8676002)(4326008)(41300700001)(86362001)(70206006)(54906003)(316002)(70586007)(110136005)(1076003)(16526019)(26005)(2616005)(426003)(336012)(83380400001)(47076005)(6666004)(36860700001)(36756003)(2906002)(5660300002)(40480700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:50:18.2553
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 5dd8d302-9aa3-480e-10c8-08dbecdb2609
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:
	SN1PEPF0002636C.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8772

Hi All,

This patch is the v2 of the implementation of passthrough when dom0 is PVH on Xen.

Issues we encountered:
1. failed to map pirq for gsi
Problem: qemu will call xc_physdev_map_pirq() to map a passthrough device’s gsi to pirq in function
xen_pt_realize(). But failed.

Reason: According to the implement of xc_physdev_map_pirq(), it needs gsi instead of irq, but qemu
pass irq to it and treat irq as gsi, it is got from file /sys/bus/pci/devices/xxxx:xx:xx.x/irq in
function xen_host_pci_device_get(). But actually the gsi number is not equal with irq. On PVH dom0,
when it allocates irq for a gsi in function acpi_register_gsi_ioapic(), allocation is dynamic, and
follow the principle of applying first, distributing first. And if you debug the kernel codes(see
function __irq_alloc_descs), you will find the irq number is allocated from small to large by order,
but the applying gsi number is not, gsi 38 may come before gsi 28, that causes gsi 38 get a smaller
irq number than gsi 28, and then gsi != irq.

Solution: we can record the relation between gsi and irq, then when userspace(qemu) want to use gsi,
we can do a translation. The third patch of kernel(xen/privcmd: Add new syscall to get gsi from irq)
records all the relations in acpi_register_gsi_xen_pvh() when dom0 initialize pci devices, and provide
a syscall for userspace to get the gsi from irq. The third patch of xen(tools: Add new function to get
gsi from irq) add a new function xc_physdev_gsi_from_irq() to call the new syscall added on kernel side.
And then userspace can use that function to get gsi. Then xc_physdev_map_pirq() will success.

This v2 on qemu side is the same as the v1 (
qemu https://lore.kernel.org/xen-devel/20230312092244.451465-19-ray.huang@amd.com/), just call
xc_physdev_gsi_from_irq() to get gsi from irq.

v2 on kernel side:
https://lore.kernel.org/lkml/20231124103123.3263471-1-Jiqian.Chen@amd.com/T/#t

v2 on Xen side:
https://lore.kernel.org/xen-devel/20231124104136.3263722-1-Jiqian.Chen@amd.com/T/#t

Jiqian Chen (1):
  xen/pci: get gsi from irq for passthrough devices

 hw/xen/xen-host-pci-device.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:50:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:50:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640521.998883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TlV-00080W-6l; Fri, 24 Nov 2023 10:50:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640521.998883; Fri, 24 Nov 2023 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 1r6TlV-00080P-3k; Fri, 24 Nov 2023 10:50:29 +0000
Received: by outflank-mailman (input) for mailman id 640521;
 Fri, 24 Nov 2023 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=ibx+=HF=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r6TlT-0007zI-HQ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:50:27 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45a069aa-8ab7-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:50:25 +0100 (CET)
Received: from BN8PR16CA0014.namprd16.prod.outlook.com (2603:10b6:408:4c::27)
 by PH7PR12MB5711.namprd12.prod.outlook.com (2603:10b6:510:1e2::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 10:50:19 +0000
Received: from SN1PEPF0002636C.namprd02.prod.outlook.com
 (2603:10b6:408:4c:cafe::d) by BN8PR16CA0014.outlook.office365.com
 (2603:10b6:408:4c::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18 via Frontend
 Transport; Fri, 24 Nov 2023 10:50:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF0002636C.mail.protection.outlook.com (10.167.241.137) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 10:50:19 +0000
Received: from cjq-desktop.amd.com (10.180.168.240) 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.2507.34; Fri, 24 Nov
 2023 04:50:15 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 45a069aa-8ab7-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=QnEyl2FgJ/V3hgFoB0Tbqtn0+/sGKFKLn2XWuQgPVFud4gZ0NfhX3OBDDMK9LN28Qbf4pDb9pubswKR6C7jSygtwnpf5j2RngYm4QUvVXIsFCe7p2TH5BYX8RZ329Yrjc/ICIVuW6kWk78+Icz+cGrpcsUDP/comCGASXhS2RnnFharABFa9AsEu1dCM3iYb83HEHEYlGmMFneAcnZ8MTZye/4eaVU8d9axgOrbEK75RPnvLqbx5IdY8jp9P7sRmb+urc0smYQ2iahPDY6c4Kl9/OUbyxYiIB9rlublRT572fZG6jNKhVqIYn5t2gK2n8cZfijz+Ni6z3bWaN/OgpQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kKyGINHRoWX/kzEUupQXPi7BRjW+7wniSgf5HCNyhN4=;
 b=TCYOsSGAzL9yeRHr/cymVHFlMnG2/vme563Sa0it6/BPPouRWhs0WMzE2B9WzcyDz6w2h6rlDHS8zPuvwpsTQpznPLuZXyp91ZKFQYjaufLLtD+JnOImJxRTivTkfNld1qapvcsW0Zt1UCY8S9WjFZLBJnghckJmIed00At+b8huPcFqOhybOHGE/LDhDfa59wfH8aw/w85GktRUJkJcITNlXEm2Cal9FF42hQE2Stz1pV7Qug48P51d6Tw5fx4nPtFD3PPYrZnLMevJXdrmo1Uqv3ZWxWIAELV9Eza56vwSRtyWvCsUOqM+wPMO+E6vvCu0Knsa2cmuiBNBfwWTiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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 (0)
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=kKyGINHRoWX/kzEUupQXPi7BRjW+7wniSgf5HCNyhN4=;
 b=DeqmDflkX5I8tA7hPUNtQsavErV4D/UccNyiGTfShjq1TrtFDb/7pSZkrL7F6UWFxx0IIpu+b+ZLR66F2oOje3EsXsSnQBtO0zl2yKlEF6Pamxq7kIRdduQyWEWotV0G8fSW+1XLmvSMCIzbM2e03jRlMvxVafFYj9FEYLHabGc=
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: Jiqian Chen <Jiqian.Chen@amd.com>
To: Stefano Stabellini <sstabellini@kernel.org>, Anthony Perard
	<anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
	<xen-devel@lists.xenproject.org>, <qemu-devel@nongnu.org>
CC: Xenia Ragiadakou <xenia.ragiadakou@amd.com>, Stewart Hildebrand
	<Stewart.Hildebrand@amd.com>, Alex Deucher <Alexander.Deucher@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>, Huang Rui
	<Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, Julia Zhang
	<Julia.Zhang@amd.com>, Jiqian Chen <Jiqian.Chen@amd.com>, Huang Rui
	<ray.huang@amd.com>
Subject: [RFC QEMU PATCH v2 1/1] xen/pci: get gsi from irq for passthrough devices
Date: Fri, 24 Nov 2023 18:49:51 +0800
Message-ID: <20231124104951.3263782-2-Jiqian.Chen@amd.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231124104951.3263782-1-Jiqian.Chen@amd.com>
References: <20231124104951.3263782-1-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-Originating-IP: [10.180.168.240]
X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com
 (10.181.40.145)
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636C:EE_|PH7PR12MB5711:EE_
X-MS-Office365-Filtering-Correlation-Id: b99d2e1b-84f9-4de9-bbba-08dbecdb2695
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Z3DuUdFh1k6EjLQJSkthrL3x1U9qR/zkH8hun3xTj9nfpKSmQGkNL5E0vh9DPswATidiYU5gjCuBDF/cdu2ajrof7DIKqQTfcqZ1JbqY52lf6XKILrZoI+H6OBmosJ00E64bRwcy8X0goGZg8p5XqL1ggRAFZp7YB/6S0q9IzIvqXsaPkBVHwV2alVZTnkhUK3sFKaMANOxk82zvkdpkQcOO0qCoxC4/dtvtu8yw/28y8Me1Z9p8ZA88S4u9hzAFI5fpq55iajdbOlxqnM6RZlR4O+k9xsPPvg2okctVVi62IyYgXystBeNnKPH3AtvP9dSL4Dq4CUHaJPeAnD6D/Isomp2h95UmHil6SQhtYAD03EC65/doukz2itZb/9iTXhEXe7UIageTokUj/O6ZBhyU4HVGhzxmc+RLvjZhzSZXM6sof7MmsRmC4fdRRtH8wcgk9seD57Zh7hl3nyYUZjYf/yx0bCa96P/H+swJYx9r5dX+vM/NzrA9wN8PrAoWWYVhnFkFsqgtw4irKarbj/YUCP5rpbrPqWkknCAcjCijktLdvYi4Br7I0FFR74PE1t3tCNsh2TE/VWELd+L82ELIwI5wmZIs2EwxmEuI/GpAYDx8NZ004sUAmzXDdOGb8UQLgI/P0UFAIqXgaxWZHTVHTY13J/V1z06fRDB8o9bXdrOaA8H4DgZ7UfvsLXZHvAXtnx2Tq5+dBeKzY3vnjRRBzrT2jBe+djayMUrantDRzg2MI5rMwSDAi6HKTx7YuzdD7HB2qYfIdp9Zf4OCtg==
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:(13230031)(4636009)(396003)(346002)(376002)(136003)(39860400002)(230922051799003)(451199024)(82310400011)(186009)(64100799003)(1800799012)(36840700001)(40470700004)(46966006)(2906002)(36860700001)(5660300002)(40460700003)(47076005)(36756003)(86362001)(41300700001)(81166007)(70586007)(82740400003)(40480700001)(356005)(26005)(1076003)(70206006)(16526019)(2616005)(336012)(110136005)(54906003)(316002)(7696005)(6666004)(478600001)(4326008)(83380400001)(8676002)(8936002)(426003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 10:50:19.1772
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b99d2e1b-84f9-4de9-bbba-08dbecdb2695
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:
	SN1PEPF0002636C.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5711

In PVH dom0, it uses the linux local interrupt mechanism,
when it allocs irq for a gsi, it is dynamic, and follow
the principle of applying first, distributing first. And
if you debug the kernel codes, you will find the irq
number is alloced from small to large, but the applying
gsi number is not, may gsi 38 comes before gsi 28, that
causes the irq number is not equal with the gsi number.
And when we passthrough a device, QEMU will use its gsi
number to do mapping actions, see xen_pt_realize->
xc_physdev_map_pirq, but the gsi number is got from file
/sys/bus/pci/devices/xxxx:xx:xx.x/irq in current code,
that is irq not gsi, so it will fail when mapping.

For above reason, on Xen side, we add a new function to
translate irq to gsi. And at here, we call that function
to get the correct gsi number.

Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
---
 hw/xen/xen-host-pci-device.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hw/xen/xen-host-pci-device.c b/hw/xen/xen-host-pci-device.c
index 8c6e9a1716..00218f9080 100644
--- a/hw/xen/xen-host-pci-device.c
+++ b/hw/xen/xen-host-pci-device.c
@@ -10,6 +10,7 @@
 #include "qapi/error.h"
 #include "qemu/cutils.h"
 #include "xen-host-pci-device.h"
+#include "hw/xen/xen_native.h"
 
 #define XEN_HOST_PCI_MAX_EXT_CAP \
     ((PCIE_CONFIG_SPACE_SIZE - PCI_CONFIG_SPACE_SIZE) / (PCI_CAP_SIZEOF + 4))
@@ -368,7 +369,7 @@ void xen_host_pci_device_get(XenHostPCIDevice *d, uint16_t domain,
     if (*errp) {
         goto error;
     }
-    d->irq = v;
+    d->irq = xc_physdev_gsi_from_irq(xen_xc, v);
 
     xen_host_pci_get_hex_value(d, "class", &v, errp);
     if (*errp) {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:50:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:50:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640527.998893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tlu-0000UH-G3; Fri, 24 Nov 2023 10:50:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640527.998893; Fri, 24 Nov 2023 10:50: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 1r6Tlu-0000TI-DA; Fri, 24 Nov 2023 10:50:54 +0000
Received: by outflank-mailman (input) for mailman id 640527;
 Fri, 24 Nov 2023 10:50: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6TTV-0006hx-Cz
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:31:53 +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 a857fd8c-8ab4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:31:41 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-54af61f2a40so557238a12.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:31:41 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 g1-20020a170906348100b009de3641d538sm1882374ejb.134.2023.11.24.02.31.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 02:31:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a857fd8c-8ab4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700821901; x=1701426701; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=ewmvPOWcxXxVUGRPLKOFAXBqTtU96ll1emuQx9tNHgs=;
        b=bfVZqK9fokeP/pPx6ZkjXIbFwxzdZFmSYAbmqS7NRy31a5UxDzEG2WcpIaM8lSiKUo
         4lEW37+jeXgv7SrRWJp6vGk/6XzxMlMsRGIlfMusaILtnUGbKe9kijDgiQEeOjazHszR
         aK870EAiL1PUXrhpuA149vt0X9RaAglkXtbcNysNTvMAyz6FfQfzXwdNYTfefIDSAShk
         yKQycy6/jrtTgIboh+PuHEOvGhfh7TD3r0VLQFngNW1oVpjW5PY4UINvTF+JqdZupuGg
         mTzMrR6cf487fTQuCzS3NmIDAR9iU977QkzaJJDFnErKqOuTDAFjbNkKiLliYuadMYFH
         Q7Bg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700821901; x=1701426701;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=ewmvPOWcxXxVUGRPLKOFAXBqTtU96ll1emuQx9tNHgs=;
        b=a3qSTrUA2/fjMuWZqcxWkFrgWq4GiCmkAAGyaOg6fPFUFvcSDRUYrzxaGmqTCfyc8n
         fqWFntaIO2kQUHV47bdlPl4dGRrd/qNm3nPvvVFAAT9l6M/63om0bDaf0Puue/rfs9DX
         /NP3j4+exya01tQtOtdeh3ILVfc1p3tHZxbXZZQOC21/YJUzFLYkVj6AsgW2pBg81doe
         oawxyPd0ocyWcBOQt6Z20EZNk+Eafd/jUaoIxZW1IVCfOEbIR9QZO6QFG5zV1i5saJ5r
         7CyD/vtIzJls/hyMRr0u+lo4FbJCpdifaKUGGk3jVRf84iLwzzyp56UCYDyWh7w1xRRC
         zG4Q==
X-Gm-Message-State: AOJu0YzjVyotOPdq2TRnQO+UIB/eXA7eAPHEXPP69uNYrQ2vEXpIrIlF
	qmmdrzDqIS8KctbJNOrafjZKOU+mvfyeQg==
X-Google-Smtp-Source: AGHT+IEwu6D6lPHMTWs7SWKMKn6i4rjMA0EnoJMbAbbZBjIMTQE4NAUTFH75Ae7qP7ba4XEn4c63AQ==
X-Received: by 2002:a17:906:b34f:b0:9fe:3b2c:d044 with SMTP id cd15-20020a170906b34f00b009fe3b2cd044mr1555143ejb.44.1700821901182;
        Fri, 24 Nov 2023 02:31:41 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Bob Eshleman <bobbyeshleman@gmail.com>,
	Connor Davis <connojdavis@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>
Subject: [PATCH v2 30/39] xen/riscv: define an address of frame table
Date: Fri, 24 Nov 2023 12:30:50 +0200
Message-ID: <13ad41657814e4fc235772fa0928de1723ae7c3d.1700761381.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.42.0
In-Reply-To: <cover.1700761381.git.oleksii.kurochko@gmail.com>
References: <cover.1700761381.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Also the patchs adds some helpful macros.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V2:
 - Nothing changed. Only rebase.
---
 xen/arch/riscv/include/asm/config.h | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/xen/arch/riscv/include/asm/config.h b/xen/arch/riscv/include/asm/config.h
index f0544c6a20..8d2103b3ce 100644
--- a/xen/arch/riscv/include/asm/config.h
+++ b/xen/arch/riscv/include/asm/config.h
@@ -77,12 +77,31 @@
   name:
 #endif
 
+#define VPN_BITS    (9)
+#define OFFSET_BITS (12)
+
 #ifdef CONFIG_RISCV_64
+
+#define SLOTN_ENTRY_BITS        (HYP_PT_ROOT_LEVEL * VPN_BITS + OFFSET_BITS)
+#define SLOTN(slot)             (_AT(vaddr_t,slot) << SLOTN_ENTRY_BITS)
+#define SLOTN_ENTRY_SIZE        SLOTN(1)
+
 #define XEN_VIRT_START 0xFFFFFFFFC0000000 /* (_AC(-1, UL) + 1 - GB(1)) */
+
+#define FRAMETABLE_VIRT_START   SLOTN(196)
+#define FRAMETABLE_SIZE         GB(3)
+#define FRAMETABLE_NR           (FRAMETABLE_SIZE / sizeof(*frame_table))
+#define FRAMETABLE_VIRT_END     (FRAMETABLE_VIRT_START + FRAMETABLE_SIZE - 1)
+
+#define VMAP_VIRT_START         SLOTN(194)
+#define VMAP_VIRT_SIZE          GB(1)
+
 #else
 #error "RV32 isn't supported"
 #endif
 
+#define HYPERVISOR_VIRT_START XEN_VIRT_START
+
 #define SMP_CACHE_BYTES (1 << 6)
 
 #define STACK_SIZE PAGE_SIZE
@@ -95,6 +114,8 @@
 #define RV_STAGE1_MODE SATP_MODE_SV32
 #endif
 
+#define HYP_PT_ROOT_LEVEL (CONFIG_PAGING_LEVELS - 1)
+
 #define IDENT_AREA_SIZE 64
 
 #endif /* __RISCV_CONFIG_H__ */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:52:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:52:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640532.998903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tno-0001l3-0a; Fri, 24 Nov 2023 10:52:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640532.998903; Fri, 24 Nov 2023 10: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 1r6Tnn-0001kw-TI; Fri, 24 Nov 2023 10:52:51 +0000
Received: by outflank-mailman (input) for mailman id 640532;
 Fri, 24 Nov 2023 10:52: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 1r6Tnn-0001kp-1z
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:52: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 1r6Tnl-00022a-NT; Fri, 24 Nov 2023 10:52:49 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r6Tnl-0006po-E1; Fri, 24 Nov 2023 10:52: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=q7K8dfR8gSbFASqn0aUr1XHthWqYqM55v4sOETO3qVQ=; b=iIcz+rpa+fgMtLPvLN4gpv1yXR
	R28ZeD1rV9oj7bGsj/rTW1+CGaYw2LDELYsb7Lgq5iIaLGATK2wQ/F9kQSjJBbPsrz8D/fTJR+dBk
	yDS7NK4AuoaLFqG++m+rMUVmwHA58y1XQY+7EJ067c6UbMrkzXh/cuQ3qvPgf9cesEf0=;
Message-ID: <91beb976-1e77-42e1-9f03-13aba705670e@xen.org>
Date: Fri, 24 Nov 2023 10:52:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 01/14] xen/asm-generic: introduce stub header paging.h
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, Shawn Anastasio <sanastasio@raptorengineering.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <01807c303ef000d6316f71bc4bad93d1b6c03830.1700221559.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <01807c303ef000d6316f71bc4bad93d1b6c03830.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 17/11/2023 12:24, Oleksii Kurochko wrote:
> The patch introduces generic paging.h header for Arm, PPC and
> RISC-V.
> 
> All mentioned above architectures use hardware virt extensions
> and hardware pagetable extensions thereby it makes sense to set
> paging_mode_translate and paging_mode_external by default.
> 
> Also in this patch Arm and PPC architectures are switched to
> generic paging.h header.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 10:58:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 10:58:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640540.998912 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6TtM-0003fQ-JM; Fri, 24 Nov 2023 10:58:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640540.998912; Fri, 24 Nov 2023 10: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 1r6TtM-0003fJ-Gu; Fri, 24 Nov 2023 10:58:36 +0000
Received: by outflank-mailman (input) for mailman id 640540;
 Fri, 24 Nov 2023 10:58: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=u/5s=HF=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r6TtL-0003fD-K6
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 10:58:35 +0000
Received: from mail-ed1-x532.google.com (mail-ed1-x532.google.com
 [2a00:1450:4864:20::532])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68fd07c5-8ab8-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 11:58:33 +0100 (CET)
Received: by mail-ed1-x532.google.com with SMTP id
 4fb4d7f45d1cf-548f853fc9eso2370227a12.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 02:58:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68fd07c5-8ab8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700823513; x=1701428313; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=uGxzhhzcV2AnLXQn4nRO8YQ3eq+h+RCV5dmH/oRmM9k=;
        b=R4E9CBnlF0B5XWherKrbvlmzn7KmXcu+TtR/IkixgLdMiDdx1lHMBVBg8jp2JONVf7
         PVl3cgIbMl7LfY8m3WP6GQSQb8C1tT3xfyry6lj12J6QgNEOdNY6QaykWJrA/oYFmOMQ
         bDTzKXGQ4hZOdKL3mj3FfpO2A2s0rnx5DjzG4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700823513; x=1701428313;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=uGxzhhzcV2AnLXQn4nRO8YQ3eq+h+RCV5dmH/oRmM9k=;
        b=I+i6gw+Cu76Gwz8tGJ1ap3p5AKTFd7nDcYqs6YNkv6k9awUytA9CtlRX08utA8RtPi
         f7Or0s3NDstb5ouNLs8u7eOtbKtj73LXDGN8b8O0p1bgklCPugKqv4qwmqas4mNkcuEu
         Nc1ElfRLZ+YbRlLY/LD5D5mwjMY4bPoU/I5+MR038AdGXC9RIiwMpcyhH8dxFsxRdrpU
         KzNCZiOFDnQ/piPv4Ixua+qlgNIqE8EiO8A9nwCQRhF6ucJO9U2tdO6/UZkiwNYjy4UX
         zB1zQOMzkc6Hslwe+gj9WLeV2Aa52kQFAuMv0lBvOSQ0x35kfM2JoIfodc8UBTpjHY7v
         /GVg==
X-Gm-Message-State: AOJu0Yx7+q5JwcIhofDBmU3g7W+TaIMByqFTmo1YJTWT8hwMx9yzsALv
	fy1Vw3EEguwTPic4yq6ID8v1HqosRHUiTbyorTAssSq5LiVjqCk3TBIhDQ==
X-Google-Smtp-Source: AGHT+IHXbUMLvTuYV9RU7WntsXQoq3sF39zhVYZ+pekc07n0a7Qqn+6oRBk1fNnYIDWar3LnkARx5chnZpFTxbfQt70=
X-Received: by 2002:a17:906:3a87:b0:a03:24d9:12ce with SMTP id
 y7-20020a1709063a8700b00a0324d912cemr1782860ejd.63.1700823512752; Fri, 24 Nov
 2023 02:58:32 -0800 (PST)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Fri, 24 Nov 2023 10:57:56 +0000
Message-ID: <CAO-mL=ySni-hUqNjm8c7FMK2RRdGJ8WHqPDBLjXaXhjUBVx68g@mail.gmail.com>
Subject: Governance PR
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="0000000000004dc168060ae3d513"

--0000000000004dc168060ae3d513
Content-Type: text/plain; charset="UTF-8"

Hi all,

Please see an updated Governance PR on GitLab here:
https://gitlab.com/xen-project/governance/governance/-/merge_requests/1

Comments:

Revise code of conduct for enhanced clarity, inclusivity, and accountability

In response to valuable feedback from community members and in alignment
with our ongoing commitment to creating a safe and welcoming space for
collaboration, this commit refines the code of conduct. The changes focus
on:

   - *Clarity:* Rewording sections to eliminate ambiguity and ensure that
   expectations are clearly communicated.
   - *Inclusivity:* Adding language to emphasize our dedication to
   diversity and inclusion, and providing examples to illustrate the types of
   behavior we encourage.

These updates aim to foster a more positive and collaborative atmosphere
within our community. Please review the changes and don't hesitate to
provide further input or suggestions.

Note that the patches should be read as a whole; I'm still learning git and
using the gitlab UI, which doesn't have a way to do history editing.
Many thanks,
Kelly Choi

Open Source Community Manager
XenServer, Cloud Software Group

--0000000000004dc168060ae3d513
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,=C2=A0<div><br></div><div>Please see an updated Gov=
ernance PR on GitLab here:</div><div><a href=3D"https://gitlab.com/xen-proj=
ect/governance/governance/-/merge_requests/1">https://gitlab.com/xen-projec=
t/governance/governance/-/merge_requests/1</a>=C2=A0<br></div><div><p>Comme=
nts:</p><p dir=3D"auto">Revise code of conduct for enhanced clarity, inclus=
ivity, and accountability</p>
<p dir=3D"auto">In response to valuable feedback from community members and=
 in alignment with our ongoing commitment to creating a safe and welcoming =
space for collaboration, this commit refines the code of conduct. The chang=
es focus on:</p>
<ul dir=3D"auto">
<li>
<strong>Clarity:</strong> Rewording sections to eliminate ambiguity and ens=
ure that expectations are clearly communicated.</li>
<li>
<strong>Inclusivity:</strong> Adding language to emphasize our dedication t=
o diversity and inclusion, and providing examples to illustrate the types o=
f behavior we encourage.</li>
</ul>
<p dir=3D"auto">These updates aim to foster a more positive and collaborati=
ve atmosphere within our community. Please review the changes and don&#39;t=
 hesitate to provide further input or suggestions.</p>
<p dir=3D"auto">Note that the patches should be read as a whole; I&#39;m st=
ill learning git and using the gitlab UI, which doesn&#39;t have a way to d=
o history editing.</p></div><div><div><div dir=3D"ltr" class=3D"gmail_signa=
ture" data-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,=
</div><div>Kelly Choi</div><div><br></div><div><div style=3D"color:rgb(136,=
136,136)">Open Source Community Manager</div><div style=3D"color:rgb(136,13=
6,136)">XenServer, Cloud Software Group</div></div></div></div></div></div>=
</div>

--0000000000004dc168060ae3d513--


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:01:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:01:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640542.998923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Tw5-0005fh-40; Fri, 24 Nov 2023 11:01:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640542.998923; Fri, 24 Nov 2023 11:01: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 1r6Tw4-0005fa-W3; Fri, 24 Nov 2023 11:01:24 +0000
Received: by outflank-mailman (input) for mailman id 640542;
 Fri, 24 Nov 2023 11: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=u6gD=HF=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r6Tw3-0005dt-AD
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11:01:23 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cd679fd7-8ab8-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 12:01:22 +0100 (CET)
Received: from SN7P222CA0010.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:124::33)
 by DS0PR12MB9273.namprd12.prod.outlook.com (2603:10b6:8:193::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 11:01:18 +0000
Received: from SA2PEPF000015C9.namprd03.prod.outlook.com
 (2603:10b6:806:124:cafe::93) by SN7P222CA0010.outlook.office365.com
 (2603:10b6:806:124::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.19 via Frontend
 Transport; Fri, 24 Nov 2023 11:01:18 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF000015C9.mail.protection.outlook.com (10.167.241.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 11:01:18 +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.2507.34; Fri, 24 Nov
 2023 05:01:18 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Fri, 24 Nov 2023 05:01:16 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cd679fd7-8ab8-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UD8L4Gs6HRKu3miRH/oemct3oNNt00gq4IjLRft1MACxRc84F1bqQWs+F9riA+E7NMy5Xlkf5kETgsd3E6v8n4FAS/slSI5/YDOJH2ScI4ZJcNu9owNAJqPVXxHgUM1yRnZf113nRnNgQsMgHPwmIm/qm1jI2tIQVp8o4ZWLPkxFIRHH4MDz2gZF4bSE2X9pWN8vSyr+wtyGK9S1M/TBLU26JU/C3U46rEyonSlDXU6f4KgSegYmw81QT9bkB0GShvK+vowT4lC8ZXkrWgVSctWXn0Ewz/3AzP3CBfVXSoSK5sma3dC2infQWdogx3aUM1tqVSkqf1NgNXxPLZv87w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HXkuxcTnoOgixdrIhLdnoICoNZpbs0EV08hYaLn9r80=;
 b=mHNjRnhGKgvhgU6jtaJh60c6BB5KlLPYv38GizMBbT8UlOKx2XFiyHv5IKxJT0qJJOgKb6xIZnQ0jfHSj8jJOqIhjiQIdYzekBrSVC26ed3VJoofT3fd9/27eNsPp4DQXDvQv4UO8n5TU1MGZCZXrzdgQM09CGJe2vLesYngDuLhhtGCD4jPAr/JS7tn2S6DjOgTTpGHEo/mf7xP4SeBsoeqKBqA6wK9xwEcixg/Oj/4EHlr1/FCYpv5txYhw/hLgLFtw4Cr23aOtLqIxLDzDAc+5YR3M/d8cE8mx8Vxom0u/ckMVQ4FRvzwwx/CCtImpY91YiNqaOBYBkGoFQ8HTA==
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 (0)
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=HXkuxcTnoOgixdrIhLdnoICoNZpbs0EV08hYaLn9r80=;
 b=ynOMUhVI7JBZ9HEIwlUw3LRyYhOiwpVF2A2te3EG0WeWE0/1ckng1NZ5/WUBLW8T1/i2LyV/+l5d8U5ChHjGVaBkL8TswbReYpd4iBOly+h9YN97Fezj7bFsebynTUlDD886iz9gMm0eb9MGsFJ1LmUwRTOPKCk3GHnjLuAOq7Y=
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: <b3581594-1559-4dcb-812b-8ab18f2e5633@amd.com>
Date: Fri, 24 Nov 2023 12:01:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Content-Language: en-US
To: Luca Fancellu <luca.fancellu@arm.com>, <xen-devel@lists.xenproject.org>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
 <20231124094841.1475381-4-luca.fancellu@arm.com>
CC: Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis
	<Bertrand.Marquis@arm.com>, Julien Grall <julien@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <20231124094841.1475381-4-luca.fancellu@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C9:EE_|DS0PR12MB9273:EE_
X-MS-Office365-Filtering-Correlation-Id: 0a502e56-2dd5-4b2e-6184-08dbecdcaf9f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tEt6V+5LsNc7Fs5kNv7OOH0mRslZKGusOAjlvj+1HOoRoPXmYV62baFK66wuf+Y+fSBmicCfFY+7DCIBNHneleT9dafSYtpd0rECtpzSaiEq54Z0WuLWZwuTFBdVEc3Z4jNpI7c/PPMFFLG0C7REoMKzyCUnJqxXZ5fepu6YInQ4yh1lVjwLAHxCMrdPA4Cwf4OcIZV7Z+xKvq7fPNxxyazfOblZChy5sAv3zj0cg+VVmpJ4KXhJyrW8awOPPtNbRdVhTz5LBcNv8b/MhNG61qPn1n5P4FIm4uC7obbiGlXsFLepSD5E1wY1nBlrb85eWabiisaqDN8HpUCb4MxxM4UrAh+Z9PKGDDdvRx8CrE8ugGFNSl16crBYnKcyhe/aXRoMl+WWGQV5PZh82uxSg8PRI3UbtB7zwF+4e2c/kpZSgEfMXpqAEfuFjK9igZI5IZ4JEoBTREcq7QcWJDbmg2iLXnul/mrKrovTyvzkECWuSfjQHH0s2ah39AMmJf4g1ja/VoxsEw20jjOwQZVJYix9Rf5fYGZGFsfSxAutfTCJd/0jv+woVVI5kV3XauIkFKhGZESHStMuRN4bRAQ27pM/nv7B+jeXDfTuxuBn9zHTsIE1BNI/sdMqhD6K+MAXc9ZYP/x2ncXTKQKYkw9n3Cj9E7g/V8YTH+c6R8ewIm2UBjh1Sgtlr80LojRWDTbKiRNTO445QajEEq5rsq3epLIDuIOtQV+7pqGKXJMWzkcwMALU2ZUKIRKPoVjifF8QAx6qhOcK85o13mYDPUDqTWI7rljRlzBbZWWksll4gTxSHgbyuYBK0Fk1QL/2ULrDodBd4DPYpm3eXDqgNaf3wrMaqNQi4ZFwbPru2P6UvGagPBx3zXk+ZWZcCOjQRxs4
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:(13230031)(4636009)(376002)(39860400002)(346002)(136003)(396003)(230173577357003)(230922051799003)(230273577357003)(451199024)(1800799012)(186009)(64100799003)(82310400011)(40470700004)(36840700001)(46966006)(40460700003)(336012)(426003)(2616005)(83380400001)(53546011)(36860700001)(44832011)(47076005)(26005)(8936002)(4326008)(41300700001)(8676002)(5660300002)(2906002)(316002)(478600001)(16576012)(54906003)(110136005)(70206006)(70586007)(86362001)(31696002)(81166007)(36756003)(82740400003)(356005)(40480700001)(31686004)(32563001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 11:01:18.5694
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0a502e56-2dd5-4b2e-6184-08dbecdcaf9f
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:
	SA2PEPF000015C9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB9273

Hi Luca,

+ CC others

On 24/11/2023 10:48, Luca Fancellu wrote:
> 
> 
> Currently the dom0less feature code is mostly inside domain_build.c
> and setup.c, it is a feature that may not be useful to everyone so
> put the code in a different compilation module in order to make it
> easier to disable the feature in the future.
> 
> Move gic_interrupt_t in domain_build.h to use it with the function
> declaration, move its comment above the declaration.
> 
> The following functions are now visible externally from domain_build
> because they are used also from the dom0less-build module:
>  - get_allocation_size
>  - set_interrupt
>  - domain_fdt_begin_node
>  - make_memory_node
>  - make_resv_memory_node
>  - make_hypervisor_node
>  - make_psci_node
>  - make_cpus_node
>  - make_timer_node
>  - handle_device_interrupts
>  - construct_domain
>  - process_shm
>  - allocate_bank_memory
> 
> The functions allocate_static_memory and assign_static_memory_11
> are now externally visible, so put their declarations into
> domain_build.h and move the #else and stub definition in the header
> as well.
> 
> Move is_dom0less_mode from setup.c to dom0less-build.c and make it
> externally visible.
> 
> The function allocate_bank_memory is used only by dom0less code
> at the moment, but it's been decided to leave it in domain_build.c
> in case that in the future the dom0 code can use it.
> 
> Where spotted, fix code style issues.
> 
> No functional change is intended.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> ---
> Changes from v5:
>  - remove unneeded include (Michal)
Including asm/kernel.h was indeed not required. However, I'm thinking that if we want the header
to be self-contained and given that ...

[...]

> diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
> new file mode 100644
> index 000000000000..c5625925d940
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/dom0less-build.h
> @@ -0,0 +1,18 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ASM_DOM0LESS_BUILD_H_
> +#define __ASM_DOM0LESS_BUILD_H_
> +
> +void create_domUs(void);
> +bool is_dom0less_mode(void);
here we use bool, I think we should include <xen/stdbool.h>

I think this change could be done on commit provided no remarks from other maintainers.

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:02:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640545.998932 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Twg-00068H-BM; Fri, 24 Nov 2023 11:02:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640545.998932; Fri, 24 Nov 2023 11:02: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 1r6Twg-00068A-8i; Fri, 24 Nov 2023 11:02:02 +0000
Received: by outflank-mailman (input) for mailman id 640545;
 Fri, 24 Nov 2023 11: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 1r6Twe-00067w-Ti
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11: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 1r6Twd-0002GF-Lb; Fri, 24 Nov 2023 11:01:59 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r6Twd-0007MQ-Ea; Fri, 24 Nov 2023 11:01: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=vsKocXb8eGJkslmuFJDRiyja14xzd13/xbKMLSGUooc=; b=E3AjMioPeztRAlvQxeNGBFQaNV
	e4ro2SXMVAZXGDdtiM0YtVpDHoy8S8NmN7/AWlZOgLpxgpDPGXtbX3Xstdv7w89/LmJsLDKJu71i+
	sp/KghCfFs4XpsFPtYgL8X6vV31Zt5sSdPlq5Tq+nBLuMxpgG1ruBEiDNFrbzWe5aIcU=;
Message-ID: <35978886-0f5e-4906-a64b-a4da0e875fc8@xen.org>
Date: Fri, 24 Nov 2023 11:01:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/14] xen/asm-generic: introduce generic device.h
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.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: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <65b267137539704df7f22b37e3b0a9b372a82b33.1700221559.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <65b267137539704df7f22b37e3b0a9b372a82b33.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 17/11/2023 12:24, Oleksii Kurochko wrote:
> Arm, PPC and RISC-V use the same device.h thereby device.h
> was moved to asm-generic. 

I read "was moved" as the patch should also contain some deleted lines. 
But below, I only see the file introduced. Did you intend to also remove 
the version in arm/include/asm?

> Arm's device.h was taken as a base with
> the following changes:
>   - #ifdef PCI related things.
>   - #ifdef ACPI related things.
>   - Rename #ifdef guards.
>   - Add SPDX tag.
>   - #ifdef CONFIG_HAS_DEVICE_TREE related things.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> It is still open question if device.h should be in asm-generic. Need more opinions.

I still think it should. But I guess you want others to answer? If so it 
would be worth to point out from who you seek opinions.

> ---
> Changes in V3:
>   - ifdef device tree related things.
>   - update the commit message
> ---
> Changes in V2:
> 	- take ( as common ) device.h from Arm as PPC and RISC-V use it as a base.
> 	- #ifdef PCI related things.
> 	- #ifdef ACPI related things.
> 	- rename DEVICE_GIC to DEVIC_IC.
> 	- rename #ifdef guards.
> 	- switch Arm and PPC to generic device.h
> 	- add SPDX tag
> 	- update the commit message
> 
> ---
>   xen/include/asm-generic/device.h | 147 +++++++++++++++++++++++++++++++
>   1 file changed, 147 insertions(+)
>   create mode 100644 xen/include/asm-generic/device.h
> 
> diff --git a/xen/include/asm-generic/device.h b/xen/include/asm-generic/device.h
> new file mode 100644
> index 0000000000..7ef5aa955a
> --- /dev/null
> +++ b/xen/include/asm-generic/device.h
> @@ -0,0 +1,147 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_DEVICE_H__
> +#define __ASM_GENERIC_DEVICE_H__
> +
> +enum device_type
> +{
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +    DEV_DT,
> +#endif
> +
> +#ifdef HAS_PCI
> +    DEV_PCI,
> +#endif
> +};
> +
> +struct dev_archdata {
> +    void *iommu;    /* IOMMU private data */
> +};
> +
> +/* struct device - The basic device structure */
> +struct device
> +{
> +    enum device_type type;
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
> +#endif
> +    struct dev_archdata archdata;
> +    struct iommu_fwspec *iommu_fwspec; /* per-device IOMMU instance data */
> +};
> +
> +typedef struct device device_t;
> +
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +#include <xen/device_tree.h>
> +#endif

NIT: Could we try to rationalize the number of #ifdef CONFIG_HAS_*? For 
example ...

> +
> +#ifdef HAS_PCI
> +#define dev_is_pci(dev) ((dev)->type == DEV_PCI)
> +#endif
> +
> +#ifdef CONFIG_HAS_DEVICE_TREE
> +#define dev_is_dt(dev)  ((dev)->type == DEV_DT)
> +#endif

... this is another definition for Device-Tree only. It could be easily 
moved above the definitnion of dev_is_pci(). The others would be the 
DT_DEVICE_*() helpers.

> +
> +enum device_class
> +{
> +    DEVICE_SERIAL,
> +    DEVICE_IOMMU,
> +    DEVICE_IC,

I guess you mean INTERRUPT_CONTROLLER? If so, can this be spelt out? (I 
don't think shorthand version is worth it here)

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:03:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:03:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640547.998943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Txx-0006qY-M7; Fri, 24 Nov 2023 11:03:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640547.998943; Fri, 24 Nov 2023 11:03: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 1r6Txx-0006qP-J4; Fri, 24 Nov 2023 11:03:21 +0000
Received: by outflank-mailman (input) for mailman id 640547;
 Fri, 24 Nov 2023 11:03: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 1r6Txw-0006qJ-4R
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11:03: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 1r6Txv-0002I4-2c; Fri, 24 Nov 2023 11:03:19 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r6Txu-0007MQ-Qc; Fri, 24 Nov 2023 11:03: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=UBvgsQUQeRI/mEWFLHJg8o0fkT6Bw+bIo6Qg9q4le5U=; b=ieCEbUUh39H/35wRZ165JGM1y3
	cm6t/5E0VsGTU8SQNqFh0BkQSeiwLSnG0mmEw7GvcCxUK6fh6VC00u4HVjwVtOEJRSpP4qbUmkFrf
	EL89Vimdv3gGwtAqQYOi72wZPP9QDqzmUXxEYvz2Z74M3Aptc5BuA/iLOBaS7eLIwRiI=;
Message-ID: <ee40d478-9e0b-43bc-a9ee-0764ad948ab7@xen.org>
Date: Fri, 24 Nov 2023 11:03:17 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/14] xen/asm-generic: introduce generic header
 iocap.h
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, Shawn Anastasio <sanastasio@raptorengineering.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <3f6a80241a2c98477eaca5fa3bf80ff6c0df3f39.1700221559.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3f6a80241a2c98477eaca5fa3bf80ff6c0df3f39.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 17/11/2023 12:24, Oleksii Kurochko wrote:
> iocap.h is common for Arm, PPC and RISC-V architectures thereby
> it was moved to asm-generic.
> 
> Also Arm and PPC were switched to asm-generic version of iocap.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:07:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:07:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640552.998953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6U1X-0007wv-5l; Fri, 24 Nov 2023 11:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640552.998953; Fri, 24 Nov 2023 11: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 1r6U1X-0007wo-1f; Fri, 24 Nov 2023 11:07:03 +0000
Received: by outflank-mailman (input) for mailman id 640552;
 Fri, 24 Nov 2023 11:07:02 +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 1r6U1W-0007wi-Ik
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11:07:02 +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 1r6U1V-0002Mt-EV; Fri, 24 Nov 2023 11:07:01 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r6U1V-0007Zk-8b; Fri, 24 Nov 2023 11: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=uCXT407aJFzBYuPLWhJ8Vs2AanqBM67+tnHcgEzfvXw=; b=4E3K87hTbGcY4GYxdkNm08TvNh
	JMk5V6Ga4iFYiDTVCB3SMsnxnFMZpUldix5tsc4SOZ3OumKWuLyZ49iFaP7WrPpV8Q8p0JTGeCaqs
	MytSNoZYlav1pWD/fodSUU+Uyt4ttoELFjiaN/EkEXE70kYL+JGHK2LBfNe103ZIjK3Y=;
Message-ID: <7a698287-d6d6-40d7-8376-07d870a7eb4a@xen.org>
Date: Fri, 24 Nov 2023 11:06:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 05/14] xen/asm-generic: introduce stub header
 <asm/random.h>
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, Shawn Anastasio <sanastasio@raptorengineering.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <9a2b8920df291915ac6be0d14e6e9896e81ea9bd.1700221559.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9a2b8920df291915ac6be0d14e6e9896e81ea9bd.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 17/11/2023 12:24, Oleksii Kurochko wrote:
> <asm/random.h> is common for Arm, PPC and RISC-V thereby it
> is moved to asm-generic.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:12:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:12:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640556.998962 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6U6i-0003MG-Qh; Fri, 24 Nov 2023 11:12:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640556.998962; Fri, 24 Nov 2023 11:12: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 1r6U6i-0003M9-O1; Fri, 24 Nov 2023 11:12:24 +0000
Received: by outflank-mailman (input) for mailman id 640556;
 Fri, 24 Nov 2023 11:12: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=FB0S=HF=cloud.com=george.dunlap@srs-se1.protection.inumbo.net>)
 id 1r6U6h-0003Kr-QB
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11:12:23 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56ec6652-8aba-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 12:12:22 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2c876f1e44dso21880791fa.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 03:12:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56ec6652-8aba-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700824342; x=1701429142; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=z5QH45vW59qUd5Qf093h6nMMsEHl/cfx2GTKHjZ+lwc=;
        b=UTaiBfZEnQNDayFvrnVXZuRFNo2atLbG0goFZLiWAxGhHhT7vQy4LFKMawWLV2WzsP
         E31ryBAzIY8VF+0HM7oeeoR1MCaLz95ODQrE7aNt87Zyd2QaIoQhWwytuGuw2ge3mHyZ
         +GRQJz90QG9uuhkm/gtEffLOy2azMEiQLPuLY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700824342; x=1701429142;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=z5QH45vW59qUd5Qf093h6nMMsEHl/cfx2GTKHjZ+lwc=;
        b=nIH5JvXL1Wo/nrvtv8fgOTCpNGsTJpuHRQnL6MqVGF/SMXrXQx+OC0u6RBg+t4rbtq
         NErV1JYz4eJRlWEiJa+8W3NwGwd8Z31E+USRYJe+f4gcAw/++dpurMWHEjgBmmwGw+mT
         w4cFAaXVy57xNyDNqnLdgf3MxVrZaa87P9m6bOF/wTKn0ID4umjmYsKx8XJW1XIZBcxC
         zHkSObxgD1B7gNQ1mbTRle3ORz0o+21UpMCWCByX4ILJ97EV+i30aDZH9Cl2aqDhfniH
         7dUbCBRICB69t7X27ckmglOL2EJm+Egoxdp/r39bGWFAFPnDEdgPhfdu73RufnUzynXD
         ZpiQ==
X-Gm-Message-State: AOJu0YyOh8b/vD0zMIolFHfS8FyjGBLElxsRC3jcaoBkLq4PJt4jqqxp
	nqmFr9GSh1hf7UoaGspzH0ggIxWvP/6q5o1dJhalew==
X-Google-Smtp-Source: AGHT+IFn825DJsDJmEB8a6XCt16yuffErPy27/MJ4t+lhOUaPwfNLyVXq3Vb24CbTzCEUmVap+Tz1oTsuSQIQKbXpLI=
X-Received: by 2002:a2e:9e09:0:b0:2bc:e330:660b with SMTP id
 e9-20020a2e9e09000000b002bce330660bmr1726406ljk.9.1700824341778; Fri, 24 Nov
 2023 03:12:21 -0800 (PST)
MIME-Version: 1.0
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
In-Reply-To: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
From: George Dunlap <george.dunlap@cloud.com>
Date: Fri, 24 Nov 2023 11:12:10 +0000
Message-ID: <CA+zSX=YL0fjM+ZTEoXNpzQ9iFKFwzdZRR-QsyQAZCQVeOGdj6A@mail.gmail.com>
Subject: Re: Clang-format configuration discussion - pt 2
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan Beulich <jbeulich@suse.com>, 
	Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, 
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>, Wei Liu <wl@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 23, 2023 at 2:48=E2=80=AFPM Luca Fancellu <Luca.Fancellu@arm.co=
m> wrote:
> AlignConsecutiveAssignments: None
>
> ---
> This one is disabled because of feedbacks from Stefano and Alejandro abou=
t some weird behaviour on our
> codebase.
>
> This one could be phased along this line: =E2=80=9CConsecutive assignment=
s don't need to be aligned.=E2=80=9D, the issue is
> that in this way it seems that it=E2=80=99s optional, but clang-format is=
 going to remove the alignment anyway for
> assignment that are consecutive and aligned.

It's hard to agree on this one without seeing some of the examples of
what it does, some examples of the "weird behavior" Stefano &
Allejandro found, and some examples of places where it's going to
remove the alignment.

I had tried to apply your series before and didn't get very far with
it for some reason ISTR.  One way to see the effect of individual
features would be:

1. Make a branch with one big patch applying clang-format for a given style

2. Change just one style line, re-run clang format, and create a new
patch from that

Then it would be easy to see the difference between the two.  It might
actually be easier for individual reviewers to do that on their own
trees, rather than to ask you to try to generate and post such patches
somewhere.

 -George


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:15:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:15:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640558.998973 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6U9Y-0005Aq-8w; Fri, 24 Nov 2023 11:15:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640558.998973; Fri, 24 Nov 2023 11: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 1r6U9Y-0005Aj-59; Fri, 24 Nov 2023 11:15:20 +0000
Received: by outflank-mailman (input) for mailman id 640558;
 Fri, 24 Nov 2023 11:15: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 1r6U9W-00059P-PO
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11:15: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 1r6U9V-0002by-Gw; Fri, 24 Nov 2023 11:15:17 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r6U9V-000825-BC; Fri, 24 Nov 2023 11:15: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:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=i701ve6J2ULnPxm/sCiZwJ/RKRZCvdmvTlqHYMDAX94=; b=W2xziZQ5v8TpExKSumfUqKV4L1
	DnvJ2OVOH0USUYEhjbr9VdWcG02udblTYEH62jmk4zHL1NpB/anVtWmRDCvC6P0jCM9C4NfLabd2J
	09Mud+MspQ4CFmV+VfLP4ENsamrBSjOCiCcMwMD2pj27+mWzpqqlXGHcsIkbmDiH5J38=;
Message-ID: <f23c52dc-0dd4-4959-918f-6f3a40c4d8ce@xen.org>
Date: Fri, 24 Nov 2023 11:15:15 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/14] xen/asm-generic: introduce generic header
 percpu.h
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <51ce486a825a1654998db01c4e07c127e4b1b38b.1700221559.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <51ce486a825a1654998db01c4e07c127e4b1b38b.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 17/11/2023 12:24, Oleksii Kurochko wrote:
> The patch introduces generic percpu.h which was based on Arm's version
> with the following changes:
>   * makes __per_cpu_data_end[] constant
>   * introduce get_per_cpu_offset() for macros this_cpu() and this_cpu_ptr()
>   * add inclustion of <asm/current.h> as get_per_cpu_offset() is located there.
> 
> Also it was changed a place where <asm/percpu.h> is included in <xen/percpu.h>
> because asm-generic version of percpu.h started to include <asm/current.h> which
> requires definition of DECLARE_PER_CPU.
> 
> As well the patch switches Arm, PPC and x86 architectures to use asm-generic
> version of percpu.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V3:
>   - switch all architectures to asm-generic version of percpu.h
>   - introduce get_per_cpu_offset() and implement it architectures.
>   - make __per_cpu_data_end constamt.
>   - update the commit message.
> ---
> Changes in V2:
> 	- use smp_processor_id() instead of get_processor_id().
>   	- update commit message .
> ---
>   xen/arch/arm/include/asm/Makefile             |  1 +
>   xen/arch/arm/include/asm/current.h            |  3 +++

The changes for Arm and common looks good to me. I saw Jan thought the 
include movement is fragile, I don't have any strong opinion about the 
placement so long it compiles :). So feels free to add my ack:

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:16:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:16:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640561.998983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6UB4-0007sN-I7; Fri, 24 Nov 2023 11:16:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640561.998983; Fri, 24 Nov 2023 11:16: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 1r6UB4-0007s1-Eg; Fri, 24 Nov 2023 11:16:54 +0000
Received: by outflank-mailman (input) for mailman id 640561;
 Fri, 24 Nov 2023 11:16:53 +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 1r6UB3-0007lo-ED
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11:16:53 +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 1r6UB2-0002fC-Dt; Fri, 24 Nov 2023 11:16:52 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r6UB2-000825-8P; Fri, 24 Nov 2023 11:16: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=SlBkh2m7H+8zDGwAzCSEeok6oXUYvWC0qldRnzIHdk0=; b=d4bzM3oxFnf0/mbISMWWXsHwhA
	s2yu9Jgru8Rynb1GmE2L2szyLTjA0v+2Lh2Hcve3/pxcIXKxHZB1zGLDZQQBDQWDVEyK0PJF82BZI
	gPrf8ZnszQwEkQrYzb46PykyXWog2pUtXynnQbxphSHY2/+F3RxESDWxOSzLBWF0zRGo=;
Message-ID: <bfd478d5-5d1c-4bec-9032-0ab57d2b1730@xen.org>
Date: Fri, 24 Nov 2023 11:16:51 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/14] xen/asm-generic: introduce generalized hardirq.h
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, Shawn Anastasio <sanastasio@raptorengineering.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <3e5334809f5efa78eebe8e8ff342f10851f107f9.1700221559.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <3e5334809f5efa78eebe8e8ff342f10851f107f9.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 17/11/2023 12:24, Oleksii Kurochko wrote:
> <asm/hardirq.h> is common through archs thereby it is moved
> to asm-generic.
> 
> Arm and PPC were switched to asm generic verstion of hardirq.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:29:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:29:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640569.998993 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6UNB-0008MM-IW; Fri, 24 Nov 2023 11:29:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640569.998993; Fri, 24 Nov 2023 11:29: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 1r6UNB-0008MF-Ft; Fri, 24 Nov 2023 11:29:25 +0000
Received: by outflank-mailman (input) for mailman id 640569;
 Fri, 24 Nov 2023 11:29: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 1r6UN9-0008Kn-Rz
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11:29: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 1r6UN8-0002rP-O2; Fri, 24 Nov 2023 11:29:22 +0000
Received: from gw1.octic.net ([88.97.20.152] helo=[10.0.1.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 1r6UN8-00005U-Ea; Fri, 24 Nov 2023 11:29: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=cOrInT3L4665esap2dEtgWs9OF2aS7VYy+75vjwknC4=; b=wnh8lAxWY37h5tEZDia0ymNnRK
	IHiIjgT0MQll0p5OpA8Zwa+gm/2vEibHeFOCVrzyHQoSfrV6dC5ohC1xECkaZ5/FRgRxTPa/uiGed
	2Hx3I/QqvthMAgcx4kH7ziDjLQOKr99qmGixcNcxFAu73j01rbGoP7whogMg1szLiC7w=;
Message-ID: <e36923e2-337d-4801-8184-80867138ded2@xen.org>
Date: Fri, 24 Nov 2023 11:29:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 08/14] xen/asm-generic: introduce generic div64.h
 header
Content-Language: en-GB
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Shawn Anastasio <sanastasio@raptorengineering.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <13bf409f3191d066af9caef417011b6ea039dbd9.1700221559.git.oleksii.kurochko@gmail.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <13bf409f3191d066af9caef417011b6ea039dbd9.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 17/11/2023 12:24, Oleksii Kurochko wrote:
> All archs have the do_div implementation for BITS_PER_LONG == 64
> so do_div64.h is moved to asm-generic.

You are saying "all archs" but ...

> 
> x86 and PPC were switched to asm-generic version of div64.h.

... you only switch x86/PPC to div64.h.

I guess this is because for arm we have a different implementation for 
32-bits. The 64-bits version is the same as x86/PPC.

So I wonder if it is possible to include asm-generic/div64.h from 
arch/arm/include/asm/div64.h?

This will avoid duplicating some code.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:31:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640571.999002 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6UPQ-0002Is-Uv; Fri, 24 Nov 2023 11:31:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640571.999002; Fri, 24 Nov 2023 11:31: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 1r6UPQ-0002Il-Rs; Fri, 24 Nov 2023 11:31:44 +0000
Received: by outflank-mailman (input) for mailman id 640571;
 Fri, 24 Nov 2023 11:31: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 1r6UPP-0002IT-Ee; Fri, 24 Nov 2023 11:31: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 1r6UPP-0002uv-5f; Fri, 24 Nov 2023 11:31: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 1r6UPO-000686-Qc; Fri, 24 Nov 2023 11:31:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6UPO-0002ko-Q6; Fri, 24 Nov 2023 11:31: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=zDChr6l69/RxAUduRamokc43s1IqgH174vCY69Qlyec=; b=4V/Kt1g6ymIzATrSEHH900SkIW
	fc8FF5ZrNvnLn/96WWoTQKEHgX1ZAeQuaewLVsnqCK/Tn4lbQFT4rSshxdY27Ok0oJ+HGRWKKyzgX
	twsbGDMgRJvAwYHT5DTPPKteYAmGyvlFpWq17lGCUeWjyn1OVkDpBZ8NpwQQCiGO7g2o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183851-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183851: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=80c153c48b255bae61948827241c26671207cf4e
X-Osstest-Versions-That:
    xen=03d6720a4c62c283f9a9f09858eeccd24299b312
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Nov 2023 11:31:42 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  80c153c48b255bae61948827241c26671207cf4e
baseline version:
 xen                  03d6720a4c62c283f9a9f09858eeccd24299b312

Last test of basis   183846  2023-11-23 19:02:06 Z    0 days
Testing same since   183851  2023-11-24 09:03:53 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   03d6720a4c..80c153c48b  80c153c48b255bae61948827241c26671207cf4e -> smoke


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:43:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:43:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640588.999013 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Uak-0001Js-2Z; Fri, 24 Nov 2023 11:43:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640588.999013; Fri, 24 Nov 2023 11:43: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 1r6Uaj-0001JA-Tq; Fri, 24 Nov 2023 11:43:25 +0000
Received: by outflank-mailman (input) for mailman id 640588;
 Fri, 24 Nov 2023 11:43: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=duVF=HF=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1r6Uai-0001H6-V6
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11:43:25 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id aac8d173-8abe-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 12:43:21 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-40b36339549so11424905e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 03:43:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aac8d173-8abe-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700826200; x=1701431000; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JfrB3biUnqKTE9rzNIaB9S0krvx419fPma1fwrnHOA8=;
        b=aD/yNoXaZdGuYBoOjlGrOGBOaZuFC6I57bMbJbtNw6BzNojPp0yPp34yQy1H/Ug1Ea
         YstRFPolUSFZMZsKSIzR0RSepAHJGrygmFonML0sceLJO59RpnGdZR5tadAVpcGaBzxa
         3oG3rvgObLsJ/vYJpJOje7ddmtE/ZYv9hkZBE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700826200; x=1701431000;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JfrB3biUnqKTE9rzNIaB9S0krvx419fPma1fwrnHOA8=;
        b=Xls3CEkOczjomKCl5v+EteUk40rGW0i3jrt/BIzbw03UCj2hMyS1lv/S6N31Mnsf6A
         cOs09EuE03CwV19vYu6um0qJbs3mf3QTA5U3ZA6VC124l1RsZs7N3DyJvRX2BNosuyPP
         NaHyEaezk9EdX0khwYsh8eB/jOcUBb1X0X4Dvmsna+bjqC0fAagMHlIcqcAzhKGX41M4
         FhDKSn0WErOUx/iovvJtDfUThZawm79/wyAw/mjihMtYCGXGKBnsPeNtSXXkeqMsi50a
         U325ND3EWV6wD/S90EOsBYrLfWdgLSdRMPgBQk6CqoScdI18wzshBxRhCuibe2P8HG+a
         8e5g==
X-Gm-Message-State: AOJu0YxHJnL6+NdRZzLHaMZrma+fN2UvzX4HBsWiSsowFW3ChnZZch8K
	OeGbyh5nJsVHAjn45TAe/5ma/QNpq+196rDUHYwm
X-Google-Smtp-Source: AGHT+IHUcVQQ6wohs/QUxoX+U8k5mNx7cQcbmuzO97AUA7Az8YgABGgq7xJBoZtPyzmot4txTBRAjyEWcSER08LfN0Y=
X-Received: by 2002:a05:600c:9a2:b0:409:7900:f3d0 with SMTP id
 w34-20020a05600c09a200b004097900f3d0mr1971055wmp.34.1700826200510; Fri, 24
 Nov 2023 03:43:20 -0800 (PST)
MIME-Version: 1.0
References: <20231123160535.18658-1-roger.pau@citrix.com> <20231123160535.18658-2-roger.pau@citrix.com>
In-Reply-To: <20231123160535.18658-2-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@cloud.com>
Date: Fri, 24 Nov 2023 11:43:09 +0000
Message-ID: <CAG7k0EqQZLZDMMJg=20EgnKwhbXZ9US-9zMs0NkJD7eWYR2vtA@mail.gmail.com>
Subject: Re: [PATCH 1/2] livepatch-build-tools: remove usage of gawk
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 23, 2023 at 4:08=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> And instead use plain awk.
>
> There's no need to use the --non-decimal-data option for gawk, since the
> numbers that we want to print are already prefixed with '0x', and so plai=
n awk
> will do the conversion from hexadecimal to decimal just fine.

I don't think that's true (at least with gnu awk 5.1.1):

$ echo '<e98b7>   DW_AT_byte_size   : 0x14' | awk '{printf("%d\n", $4)}'
0

Having said that, my version of readelf actually gives the value in
decimal so the patch still works. But is that the case for all
versions of readelf? I assume the code was written like that for a
reason...

Ross


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 11:59:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 11:59:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640596.999023 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6UqH-0007iX-AA; Fri, 24 Nov 2023 11:59:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640596.999023; Fri, 24 Nov 2023 11: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 1r6UqH-0007iQ-6v; Fri, 24 Nov 2023 11:59:29 +0000
Received: by outflank-mailman (input) for mailman id 640596;
 Fri, 24 Nov 2023 11:59: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=Vqky=HF=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r6UqG-0007iI-DJ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 11:59:28 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e9a95b22-8ac0-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 12:59:25 +0100 (CET)
Received: from DU2P250CA0025.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:231::30)
 by AS2PR08MB10351.eurprd08.prod.outlook.com (2603:10a6:20b:579::13) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Fri, 24 Nov
 2023 11:59:13 +0000
Received: from DB1PEPF00039233.eurprd03.prod.outlook.com
 (2603:10a6:10:231:cafe::50) by DU2P250CA0025.outlook.office365.com
 (2603:10a6:10:231::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend
 Transport; Fri, 24 Nov 2023 11:59:13 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB1PEPF00039233.mail.protection.outlook.com (10.167.8.106) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 11:59:11 +0000
Received: ("Tessian outbound e243565b0037:v228");
 Fri, 24 Nov 2023 11:59:11 +0000
Received: from d46e7a75fa8a.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D99FEB88-50E6-4E8C-9C89-2E644C5CE1F5.1; 
 Fri, 24 Nov 2023 11:59:04 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id d46e7a75fa8a.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 24 Nov 2023 11:59:04 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by GVXPR08MB10474.eurprd08.prod.outlook.com (2603:10a6:150:151::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 11:59:01 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.021; Fri, 24 Nov 2023
 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: e9a95b22-8ac0-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=VGwKj084OJRahDg3chNGRUpRqioHqFpKLRzDmXjsZ7EAwInhj4YgYRJdmT1O426QIb0RSiavTQWJpHwZOfjAkvSoykZyB5jIYeKV3KGyBmuqTR6JuOuKxa1cAyHNYvlnmOflM8JSb9zEhs1N2/a0c+XoA/rUQaQ5zj9LM1n7chpp9VzGjCe3ephC2S+Wr40CgSYzJ65ANCtrsgb/mi86+CZvte+69qqVPQMQOuX2BysISAAFJdGM3IEl7KNXuGNv4N/D1vpnQN8vtn8GZ7/Sep1zCIRCKsw3eE+fRau7Jutxs4Agoa+6LH4kCd1SwevZCL+BKTDgbNGTgM74ppi4GA==
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=cdCCZbIeGHEQ9y1LwUZvXHWLTf7cMQ95NVDeLP7055U=;
 b=bOBBhhUeRw5xf9xItGeZ2iya+2y/HWc1hfpV2ANQv4ggG7Ynpcrf0ExpqHvxwnt0yTzJvhWr+QuN666wJifhTitarH+0o/8kw7ve3C6sFZZMzaUKO6+8EXhBhIXhiKao11UgpEMLjzurzZhmZo7Cdq0LspRp5oDy/lvcedmuIjT+pHdHRnr0ziZT04Du1oM63mcfSMMJPt808JYSniWVHjz4E/199suaHltpJZBj/o8zyYZAwo2P3IpY/VEjtsc+TBTSbjGhkTOcvxMno/nPCczgYt99cnUhUl7wuV75kPgp7kvgDm+PGSSvGZXmukSIyK5VI2RPxjMtjTicEm/wPQ==
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=cdCCZbIeGHEQ9y1LwUZvXHWLTf7cMQ95NVDeLP7055U=;
 b=E5ZCtlNfnSh8oTurapzt/pDsAGpKmE6iGW5nuOLhLkMfqZpIdaOls4HneZAZ8X5U2jnK7Bo+BQjunEHmpH9R7B0/b/myNGetPFCdppeSbGcXtjpLKU9PIBVBFgUes4d9boi5phlYvfeeU53ib/CQQvI1nFrvcTMhXzpiX/XCBYI=
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: 14bac7e7963564ae
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TCjgikWeFvCYCR09VdqvXoj7BiwyW2mT/KIJ+X95X1pMu7Z/wyKyIpWlXH0y65y+MfJhlSQ4IwC9ujAVBo6UltjKzZvzYeaC7ZV0YLS+xJSjC3mjSt6agu+QGzFkNtLljwcVFCDNA8gw+zL35l4GEHIkkshZqTQCeybkBXYGRZ0uP7tuvIEuS6toomLRYEfMHjb+HZQgO6ylGDvX63X5LHxVf7PAegPjlWmFMH7fXKI2m+211Yq6Bu+9AvArerfpkYFpkPCRra3h5GM4JAmD0eskKzzqurIvkBTR9/4qzxtwJ2Bx9gTZqeH9EeTRGsHsFIdhJYuLP5RIhlg/m2j7tg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cdCCZbIeGHEQ9y1LwUZvXHWLTf7cMQ95NVDeLP7055U=;
 b=h4+A4+Uj/tRp/gkSL3BML3Bc65An+eqpq/tmULyuAJsGhJneVwX1ioN3EMuxmqFf6Ex2xaJ+mwr7RoktwGWh1yYVubwA7RpJxWK86ajR3ZJ5O3ZRpVdcEXxNmi1QKQThz4Hl6aDBa0JePku0Vg/CSLbvWTPD9RnxHNklH38mYJCADQ0fARNyBpujeX52I1jI+DEOZhkRAiKVvGjtYgBjvfATMAOnrKe60C22mYW/sBr2v42jVZA9FOrbPMaNmoYylshmtlLuzghJ9yI+nhMYqo37DbY6sOyqi+T7PpdV94aIMG+Cbei02oj1BQc8mhlXgF7Ss5AtDnwFtDHp3E21jA==
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=cdCCZbIeGHEQ9y1LwUZvXHWLTf7cMQ95NVDeLP7055U=;
 b=E5ZCtlNfnSh8oTurapzt/pDsAGpKmE6iGW5nuOLhLkMfqZpIdaOls4HneZAZ8X5U2jnK7Bo+BQjunEHmpH9R7B0/b/myNGetPFCdppeSbGcXtjpLKU9PIBVBFgUes4d9boi5phlYvfeeU53ib/CQQvI1nFrvcTMhXzpiX/XCBYI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: George Dunlap <george.dunlap@cloud.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Jan
 Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>, Wei
 Liu <wl@xen.org>
Subject: Re: Clang-format configuration discussion - pt 2
Thread-Topic: Clang-format configuration discussion - pt 2
Thread-Index: AQHaHhwDfni7SbjBtk6S7YLD/w4HebCJUeoAgAANCgA=
Date: Fri, 24 Nov 2023 11:59:01 +0000
Message-ID: <DE78DF95-3E57-4283-8252-01A0BA2219F8@arm.com>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <CA+zSX=YL0fjM+ZTEoXNpzQ9iFKFwzdZRR-QsyQAZCQVeOGdj6A@mail.gmail.com>
In-Reply-To:
 <CA+zSX=YL0fjM+ZTEoXNpzQ9iFKFwzdZRR-QsyQAZCQVeOGdj6A@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|GVXPR08MB10474:EE_|DB1PEPF00039233:EE_|AS2PR08MB10351:EE_
X-MS-Office365-Filtering-Correlation-Id: c2d7e218-6013-452b-05b8-08dbece4c5de
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:
 jk4tMHQ7RDE/f6AJ438/08upXcYOahsFB+XtKilrS7QiDwtuIyWDsWNBMywrCbXj4qL7i1Qni3GrWBYcf+YWgTbGwFnksb/JejYgxmuBQy3sBG/yFIyXjHVEnCyr/DYE5GO5n+Rt3Y3jscN/BBZDJqB6MjuHWWEwwPX7aA4+VpA5vhZraPr8atxfqJnC/ePEpqkoIjOpdCov9PA7w+Xh/V0/Tu5PC7C9ww+eS5BAX6N6rlPhuX32xIDoMLXJN9OxyTdCkHlnBGVw2YmLVSt6ZdbyBSRD5VL+kBQ+vaNRxptAxeQnSPi1ZIATZJytvOpChzn0+nfEUjcjwrTC6/wZDTbhVCTNUXBYbLgzf3WjE2ZKnR3JRts4lyYoC6Q69IwU9QgSN1SUlxIa04NnxwAbDHocIkI8mf10gx/ap//6DNiwqYgXCiOkD6X/6vz+zKP0e0tuvPUX0vWcPRjo+ZxwvgA2gDFxy2Ps5/H+YIUWxbnAP88S8D23xcS1zrOV/twLqxdLJeJwR8Wdx9wbZ6g4e9Bd2Bu/4sNOVRVQIVBEvF2Dk0G0pV47qc6gu7K9S0RKHyCuZGbYEBmjt9zJHeQUNutxXqxSqDZTYVuYxy9kJJPDP2vt5L/3UmaSIrbMiOIcyD1GAzA3s+2wEpZrvR7FugsVuBMucE1pLuAvfP9ObUw=
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(366004)(346002)(136003)(39860400002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(36756003)(38070700009)(122000001)(41300700001)(83380400001)(33656002)(8676002)(66476007)(6916009)(66946007)(64756008)(76116006)(66556008)(91956017)(54906003)(66446008)(316002)(4326008)(86362001)(2616005)(8936002)(478600001)(966005)(6486002)(6506007)(71200400001)(38100700002)(6512007)(53546011)(5660300002)(2906002)(26005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <8FBEA478C5CD59489EEF9CC6357B8DA7@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GVXPR08MB10474
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:
 DB1PEPF00039233.eurprd03.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	4c1eaf41-3545-49be-dc6b-08dbece4bfbb
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kHk5I4ugZq3XtNU+PDFLt8ZR2i6WVgBmH1HRKJ0tcCVNvY6YwvKbwf1VtQ8oRip9rEMmJ6vY0ix2mtYeWJjwcd9Cd5w5FzfyftWzb4xE+4c6MHeoSE5HqUjHme2Qk0QChWKV967ruTYatHsnUVDaLLx7XCpEMcFse+iIpWmETLD+XPGP0mHc5mP/DjKk1H4VSZtNPC/doB406ea8Jt9s9wZy/I5FQNgnaZGQB5IjyvfWiVTksCpBImD6T8rvRKi0Fosb0kG4ME/l6qzPRmoxTW9uJ4KtIPuxou/Z7gOcT2CM7SCcocvlD7EJEA/FgyGfm02Ot6UCuOgs2om3vBmGXLhTrXEuox4SorJ900NCatwHhoZc/KOTfjiAd+CwLt7xDzIx36NdQDPt3t9WStDoJ3As/Cn4YvkgfW1Ej2AnzC8aQZxHGWTtLr+D2vY4ETQEHRR4EUZd+NWpUCVzEs7ZKVthZCwbt8mJLipr3W8MYQHsq8fkSVpKJliC9j2r0zEZUktQqbkFFUbyTirn8ahjvBjw/ZrTGlRr/SHQqikP9+xL9d7QYgozrL7dsy2txgzJJNalxixnbltGNgdOzhrEjVCNzGo3BMt1FQY8dtS6LupDfmRJEAe7UIYYKxqniQ7dhLIMnbzMJPV3/765SGOZJ+Vr7D0FND0wPFmH60+SvFHmXvrK5UDWOfWuOgyCmTW4j88CyUgh6DC1QMItL/GDyFmarDmGKlmFM2f4xJ+cql/CWt8t5HkERl3FqGWwm+3evVYttMNw1Gvs6Zp0717HgA==
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:(13230031)(4636009)(136003)(39860400002)(376002)(346002)(396003)(230922051799003)(1800799012)(82310400011)(186009)(451199024)(64100799003)(46966006)(40470700004)(36840700001)(5660300002)(2906002)(4326008)(8936002)(70206006)(6862004)(70586007)(316002)(8676002)(41300700001)(6486002)(966005)(6506007)(478600001)(53546011)(26005)(40480700001)(2616005)(54906003)(6512007)(83380400001)(336012)(40460700003)(36860700001)(47076005)(81166007)(356005)(36756003)(33656002)(82740400003)(86362001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 11:59:11.9261
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: c2d7e218-6013-452b-05b8-08dbece4c5de
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:
	DB1PEPF00039233.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB10351

DQoNCj4gT24gMjQgTm92IDIwMjMsIGF0IDExOjEyLCBHZW9yZ2UgRHVubGFwIDxnZW9yZ2UuZHVu
bGFwQGNsb3VkLmNvbT4gd3JvdGU6DQo+IA0KPiBPbiBUaHUsIE5vdiAyMywgMjAyMyBhdCAyOjQ4
4oCvUE0gTHVjYSBGYW5jZWxsdSA8THVjYS5GYW5jZWxsdUBhcm0uY29tPiB3cm90ZToNCj4+IEFs
aWduQ29uc2VjdXRpdmVBc3NpZ25tZW50czogTm9uZQ0KPj4gDQo+PiAtLS0NCj4+IFRoaXMgb25l
IGlzIGRpc2FibGVkIGJlY2F1c2Ugb2YgZmVlZGJhY2tzIGZyb20gU3RlZmFubyBhbmQgQWxlamFu
ZHJvIGFib3V0IHNvbWUgd2VpcmQgYmVoYXZpb3VyIG9uIG91cg0KPj4gY29kZWJhc2UuDQo+PiAN
Cj4+IFRoaXMgb25lIGNvdWxkIGJlIHBoYXNlZCBhbG9uZyB0aGlzIGxpbmU6IOKAnENvbnNlY3V0
aXZlIGFzc2lnbm1lbnRzIGRvbid0IG5lZWQgdG8gYmUgYWxpZ25lZC7igJ0sIHRoZSBpc3N1ZSBp
cw0KPj4gdGhhdCBpbiB0aGlzIHdheSBpdCBzZWVtcyB0aGF0IGl04oCZcyBvcHRpb25hbCwgYnV0
IGNsYW5nLWZvcm1hdCBpcyBnb2luZyB0byByZW1vdmUgdGhlIGFsaWdubWVudCBhbnl3YXkgZm9y
DQo+PiBhc3NpZ25tZW50IHRoYXQgYXJlIGNvbnNlY3V0aXZlIGFuZCBhbGlnbmVkLg0KPiANCj4g
SXQncyBoYXJkIHRvIGFncmVlIG9uIHRoaXMgb25lIHdpdGhvdXQgc2VlaW5nIHNvbWUgb2YgdGhl
IGV4YW1wbGVzIG9mDQo+IHdoYXQgaXQgZG9lcywgc29tZSBleGFtcGxlcyBvZiB0aGUgIndlaXJk
IGJlaGF2aW9yIiBTdGVmYW5vICYNCj4gQWxsZWphbmRybyBmb3VuZCwNCg0KSSB0aGluayB0aGVy
ZSB3YXMgYSBjb21tZW50IGZyb20gU3RlZmFubyBmb3IgdGhlIFJGQyB2MToNCmh0dHBzOi8vcGF0
Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC94ZW4tZGV2ZWwvY292ZXIvMjAyMzA3MjgwODExNDQu
NDEyNDMwOS0xLWx1Y2EuZmFuY2VsbHVAYXJtLmNvbS8jMjU0NDc2MjUNCg0KPiBhbmQgc29tZSBl
eGFtcGxlcyBvZiBwbGFjZXMgd2hlcmUgaXQncyBnb2luZyB0bw0KPiByZW1vdmUgdGhlIGFsaWdu
bWVudC4NCg0KSGkgR2VvcmdlLA0KDQpZb3UgYXJlIHJpZ2h0LCB3aXRoIGFuIGV4YW1wbGUgaXMg
YmV0dGVyLCBzbyBJ4oCZdmUgY2hlY2tlZCBpbnRvIHRoZSBvdXRwdXQ6DQpodHRwczovL2dpdGxh
Yi5jb20vbHVjYS5mYW5jZWxsdS94ZW4tY2xhbmcvLS9jb21taXQvODkzOGJmMjE5NmJlNjZiMDU2
OTNhNDg3NTJlYmJkZjM2M2U4ZDhlMS5wYXRjaA0KDQpBbmQgZm9yIHRoaXMgb25lLCB5b3UgY2Fu
IHNlZSBoZXJlIG9uIGxpbmUgNjE4NiBvZiB0aGF0IHBhdGNoOg0KDQpkaWZmIC0tZ2l0IGEveGVu
L2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jDQpp
bmRleCA0OTc5MmRkNTkwLi5jMjI5MzE4NDUwIDEwMDY0NA0KLS0tIGEveGVuL2FyY2gvYXJtL2Rv
bWFpbl9idWlsZC5jDQorKysgYi94ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMNCg0KWy4uLl0N
Cg0KQEAgLTMzMzMsMTkgKzMzMTgsMTggQEAgc3RhdGljIGludCBfX2luaXQgYWxsb2NfZG9tYWlu
X2V2dGNobihzdHJ1Y3QgZHRfZGV2aWNlX25vZGUgKm5vZGUpDQpyYyA9IGV2dGNobl9hbGxvY191
bmJvdW5kKCZhbGxvY191bmJvdW5kLCBkb21VMV9wb3J0KTsNCmlmICggcmMgPCAwICkNCnsNCi0g
cHJpbnRrKFhFTkxPR19FUlINCi0gImV2dGNobl9hbGxvY191bmJvdW5kKCkgZmFpbHVyZSAoRXJy
b3IgJWQpIFxuIiwgcmMpOw0KKyBwcmludGsoWEVOTE9HX0VSUiAiZXZ0Y2huX2FsbG9jX3VuYm91
bmQoKSBmYWlsdXJlIChFcnJvciAlZCkgXG4iLCByYyk7DQpyZXR1cm4gcmM7DQp9DQotIGJpbmRf
aW50ZXJkb21haW4ucmVtb3RlX2RvbSA9IGQxLT5kb21haW5faWQ7DQorIGJpbmRfaW50ZXJkb21h
aW4ucmVtb3RlX2RvbSA9IGQxLT5kb21haW5faWQ7DQpiaW5kX2ludGVyZG9tYWluLnJlbW90ZV9w
b3J0ID0gZG9tVTFfcG9ydDsNCnJjID0gZXZ0Y2huX2JpbmRfaW50ZXJkb21haW4oJmJpbmRfaW50
ZXJkb21haW4sIGQyLCBkb21VMl9wb3J0KTsNCmlmICggcmMgPCAwICkNCnsNCg0KQXNzaWdubWVu
dCBvZiBiaW5kX2ludGVyZG9tYWluLnJlbW90ZV9kb20gd2FzIGFsaWduZWQgd2l0aCB0aGUgZm9s
bG93aW5nIGxpbmUsIGJ1dCBzaW5jZSB0aGUgdmFsdWUNCm9mIHRoaXMgY29uZmlndXJhYmxlIGlz
IOKAnE5vbmXigJ0sIGNsYW5nLWZvcm1hdCBpcyBtb2RpZnlpbmcgdGhhdCB0byB1c2Ugb25seSBv
bmUgc3BhY2UgYmVmb3JlIHRoZSBhc3NpZ25tZW50DQpvcGVyYXRvci4NCg0KDQoNCk9uZSBleGFt
cGxlIHJlbGF0ZWQgdG8gbWFjcm9zIGNhbiBiZSBmb3VuZCBvbiBsaW5lIDE2NjM6DQoNCmRpZmYg
LS1naXQgYS94ZW4vYXJjaC9hcm0vYXJtMzIvaW5zbi5jIGIveGVuL2FyY2gvYXJtL2FybTMyL2lu
c24uYw0KaW5kZXggNDk5NTNhMDQyYS4uMTYzNWM0YjZkMSAxMDA2NDQNCi0tLSBhL3hlbi9hcmNo
L2FybS9hcm0zMi9pbnNuLmMNCisrKyBiL3hlbi9hcmNoL2FybS9hcm0zMi9pbnNuLmMNCkBAIC0x
OSw5ICsxOSw5IEBADQojaW5jbHVkZSA8YXNtL2luc24uaD4NCi8qIE1hc2sgb2YgYnJhbmNoIGlu
c3RydWN0aW9ucycgaW1tZWRpYXRlLiAqLw0KLSNkZWZpbmUgQlJBTkNIX0lOU05fSU1NX01BU0sg
R0VOTUFTSygyMywgMCkNCisjZGVmaW5lIEJSQU5DSF9JTlNOX0lNTV9NQVNLIEdFTk1BU0soMjMs
IDApDQovKiBTaGlmdCBvZiBicmFuY2ggaW5zdHJ1Y3Rpb25zJyBpbW1lZGlhdGUuICovDQotI2Rl
ZmluZSBCUkFOQ0hfSU5TTl9JTU1fU0hJRlQgMA0KKyNkZWZpbmUgQlJBTkNIX0lOU05fSU1NX1NI
SUZUIDANCg0KQ2xhbmcgZm9ybWF0IHNlZXMgdGhlIGNvbW1lbnQgYmV0d2VlbiBCUkFOQ0hfSU5T
Tl9JTU1fTUFTSyBhbmQgQlJBTkNIX0lOU05fSU1NX1NISUZUIGFuZA0KZXZlbiBpZiBiZWZvcmUg
dGhlIHZhbHVlIG9mIHRoZSBtYWNyb3Mgd2VyZSBhbGlnbmVkLCBpdCBhcHBsaWVzIHRoZSBydWxl
IG9mIG9uZSBzcGFjZSBiZXR3ZWVuIHRoZSBtYWNybyBuYW1lDQphbmQgdGhlIHZhbHVlLg0KDQo+
IA0KPiBJIGhhZCB0cmllZCB0byBhcHBseSB5b3VyIHNlcmllcyBiZWZvcmUgYW5kIGRpZG4ndCBn
ZXQgdmVyeSBmYXIgd2l0aA0KPiBpdCBmb3Igc29tZSByZWFzb24gSVNUUi4NCg0KSWYgeW91IHJl
YWNoIG1lIHdlIGNhbiBzZWUgd2hhdCBpc3N1ZSB5b3UgYXJlIGZhY2luZywgSSB0aGluayBzdGFn
aW5nIHdlbnQgYWhlYWQgc2luY2UgbXkgbGFzdCBwdXNoLA0KYnV0IEnigJl2ZSBwdXQgYSBTSEEg
aW4gdGhlIGNvdmVyIGxldHRlciwgYW55d2F5IEkgY2FuIGhlbHAgb24gdGhhdCBpZiB5b3Ugd2Fu
dC4NCg0KDQo+ICBPbmUgd2F5IHRvIHNlZSB0aGUgZWZmZWN0IG9mIGluZGl2aWR1YWwNCj4gZmVh
dHVyZXMgd291bGQgYmU6DQo+IA0KPiAxLiBNYWtlIGEgYnJhbmNoIHdpdGggb25lIGJpZyBwYXRj
aCBhcHBseWluZyBjbGFuZy1mb3JtYXQgZm9yIGEgZ2l2ZW4gc3R5bGUNCj4gDQo+IDIuIENoYW5n
ZSBqdXN0IG9uZSBzdHlsZSBsaW5lLCByZS1ydW4gY2xhbmcgZm9ybWF0LCBhbmQgY3JlYXRlIGEg
bmV3DQo+IHBhdGNoIGZyb20gdGhhdA0KPiANCj4gVGhlbiBpdCB3b3VsZCBiZSBlYXN5IHRvIHNl
ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSB0d28uICBJdCBtaWdodA0KPiBhY3R1YWxseSBi
ZSBlYXNpZXIgZm9yIGluZGl2aWR1YWwgcmV2aWV3ZXJzIHRvIGRvIHRoYXQgb24gdGhlaXIgb3du
DQo+IHRyZWVzLCByYXRoZXIgdGhhbiB0byBhc2sgeW91IHRvIHRyeSB0byBnZW5lcmF0ZSBhbmQg
cG9zdCBzdWNoIHBhdGNoZXMNCj4gc29tZXdoZXJlLg0KPiANCj4gLUdlb3JnZQ0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:02:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:02:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640604.999033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Ut4-0001TK-4i; Fri, 24 Nov 2023 12:02:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640604.999033; Fri, 24 Nov 2023 12:02: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 1r6Ut4-0001TD-1m; Fri, 24 Nov 2023 12:02:22 +0000
Received: by outflank-mailman (input) for mailman id 640604;
 Fri, 24 Nov 2023 12: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=duVF=HF=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1r6Ut2-0001Si-SP
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:02:20 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 50f1d9b9-8ac1-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 13:02:18 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-50aab20e828so2581865e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 04:02:18 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 50f1d9b9-8ac1-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700827338; x=1701432138; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CiDE6YKAzG0FShYENyJb4Ji6iptRTibxCqZzk+O923g=;
        b=Ey6uY/E0j8cPCEQk/0AwgzIyHDFxGoOVUz9sSP+s/xlD6mnz2EN6e1oezu2QFAgpz6
         gEZ3TbjoBw+3lp+6AbCJS2q0gYrmoG059d5Igy2j0HnAWE59o7ZnOrJkslS8kqWqfOyz
         nSM5Qadj9S4imO2xdj/CkuI2t2LQOex3A+pl4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700827338; x=1701432138;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CiDE6YKAzG0FShYENyJb4Ji6iptRTibxCqZzk+O923g=;
        b=VmAjBC9NIrbU95WqbXx1LGhqs4LDrOL1KC8/D0MFstZyvxXUjeXghxk0pA3xTfEIBE
         kbNpxeyPbbs/m3CRTq9Vznn/ut/qcSArBnNcx5vsmQfvhDcmHpX+u4yiYmH6cmdb7fFT
         p/eviRxJjD2wD8IaFK8og5fCCBHk1X4BpYvd6jxH6DOoCIOJzeiSKZFr+/cdqEhoqIo3
         Sh67gTtBMe5/RLmr0IHTnvXUf1uMTeZ9aPrIt5QBVtX0Vg86urH2xWOnWW9JgGi88arN
         /h7Qvu4EJQyAibPkB2c9XTNNavZDSO4hSgBctXhy7e6Y+VvyuDTnUjzw05MJ6m4SARKc
         W2rA==
X-Gm-Message-State: AOJu0YxfLXX02Q4KIMAxOwVMvAiAydeUmlFwTZsQi7dmSorzsSWNWlOM
	xPhBUtvxJovd9IJ9EGlqHd2fxdNZbAZ2nXaPMCSAXQ3eCoQbRQLXgg==
X-Google-Smtp-Source: AGHT+IH50fnnKT4kaSIWJoyQbstwUx6/rWAEE2wdHZu0XnknhsP/0yBEwHZhM0oaxDu078VtVgqDgHqh5EtrjdTv5xg=
X-Received: by 2002:a05:6512:3453:b0:507:9d71:2a77 with SMTP id
 j19-20020a056512345300b005079d712a77mr1347962lfr.17.1700827337415; Fri, 24
 Nov 2023 04:02:17 -0800 (PST)
MIME-Version: 1.0
References: <20231123160535.18658-1-roger.pau@citrix.com> <20231123160535.18658-3-roger.pau@citrix.com>
In-Reply-To: <20231123160535.18658-3-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@cloud.com>
Date: Fri, 24 Nov 2023 12:02:06 +0000
Message-ID: <CAG7k0Eo1pXqio-Vjuq0UA=q_tEi3Kr3aLkUYZyy9urWttF+jLw@mail.gmail.com>
Subject: Re: [PATCH 2/2] livepatch-build-tools: do not use readlink -m option
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 23, 2023 at 4:08=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> Busybox readlink implementation only supports the -f option to follow sym=
links,
> so adjust the logic in order to keep the same behaviour without using the=
 -m
> option.
>
> Singed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>

Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Thanks


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:05:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:05:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640607.999043 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Uvg-0002BS-HE; Fri, 24 Nov 2023 12:05:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640607.999043; Fri, 24 Nov 2023 12:05: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 1r6Uvg-0002BL-EZ; Fri, 24 Nov 2023 12:05:04 +0000
Received: by outflank-mailman (input) for mailman id 640607;
 Fri, 24 Nov 2023 12:05: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6Uve-0002B5-LW
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:05:02 +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 b1790a10-8ac1-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 13:05:00 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-507cd62472dso2990297e87.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 04:05:00 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 f5-20020ac251a5000000b005094bb01fc9sm482002lfk.214.2023.11.24.04.04.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 04:04:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1790a10-8ac1-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700827500; x=1701432300; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=jJ1i0rq5SwuwcUAeNq+EFJI4VkV9z5Ur4Q3402blaDQ=;
        b=iWB3qzj+3dO73MG3OW8t72rDqXwq4GecpYFfdETgUhcvbWGkDthZFujDgEGv6/krmX
         2l0OUjP0uWR5aWbBLNe3b3zipFppcH8bKdAQSLW0orQasjxCZxErVH/iEgc3/sIXcRSe
         GqRmMAEJ+wM4+jX2+7ZZw+/s9+QlSKsQ6tripmiGJf8rbQE3o5KOlejoMsg6sS2m6GYK
         z0C5mwXR0MibEWcbAXfewA1dHuBlWMqi553Vs5XJ/3jFlI7YH+Y5ACFeSIE2Qm7EELFr
         jlpl1YMJAlKZK5ae0ETz6Mxa0++XiXS+fN8FqbVsb6HpIzRuPvoKeLpeQZJlk2sVKFrd
         VidA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700827500; x=1701432300;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=jJ1i0rq5SwuwcUAeNq+EFJI4VkV9z5Ur4Q3402blaDQ=;
        b=l+/eZBwxPr3SYD12+Bp0bTCpznmEutsmngY0dy8j5ll2fpSa1GGAvykqiKvjKZ/pOn
         ABehHW1uOju7Oz5u7l1C22ks/g6l+lHpx40cUPQ41qt9AaapjcgGl05YOZKM/YITGnzQ
         eh3dVkc4boHQbTeCBuEUcZOCAjMpUWSA5q7h+6fTz76/a5rVLhrQ9qHScMahEF1g9U8e
         OK19UxzlfvHstYIEva0nNSI0HZ86tr23VsTka2SxYRnv15+I37LamXxP+cfEen1aEJfT
         b0l9QLnIPbPV69l6rqiSmIs8JEwmBk5JpKeqgJT0SYpvj9TBtdku1zVH8qMi4kpFKd6a
         Xcig==
X-Gm-Message-State: AOJu0YyXplNQoVbQg30cCDJxGy5OiGb6othOB9KFzkr+2JXcYIBQ0kLm
	8/9ZfQEdnDICmeUgX9355Dw=
X-Google-Smtp-Source: AGHT+IFNF1cIRHMSBfe7rC8ZOBPIGR9IhOkHCFCTpx0hikiqqevF1oX1R7yeQ2ESewkwEQSeySuX+Q==
X-Received: by 2002:a05:6512:3d91:b0:50a:a790:3096 with SMTP id k17-20020a0565123d9100b0050aa7903096mr2734852lfv.5.1700827500068;
        Fri, 24 Nov 2023 04:05:00 -0800 (PST)
Message-ID: <6044184c7ae2f656b5fdaea1a3c38d8602d08350.camel@gmail.com>
Subject: Re: [PATCH v3 08/14] xen/asm-generic: introduce generic div64.h
 header
From: Oleksii <oleksii.kurochko@gmail.com>
To: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org
Cc: Shawn Anastasio <sanastasio@raptorengineering.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>,  Roger Pau =?ISO-8859-1?Q?Monn=E9?=
 <roger.pau@citrix.com>
Date: Fri, 24 Nov 2023 14:04:59 +0200
In-Reply-To: <e36923e2-337d-4801-8184-80867138ded2@xen.org>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
	 <13bf409f3191d066af9caef417011b6ea039dbd9.1700221559.git.oleksii.kurochko@gmail.com>
	 <e36923e2-337d-4801-8184-80867138ded2@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

Hi Julien,

On Fri, 2023-11-24 at 11:29 +0000, Julien Grall wrote:
> Hi,
>=20
> On 17/11/2023 12:24, Oleksii Kurochko wrote:
> > All archs have the do_div implementation for BITS_PER_LONG =3D=3D 64
> > so do_div64.h is moved to asm-generic.
>=20
> You are saying "all archs" but ...
>=20
> >=20
> > x86 and PPC were switched to asm-generic version of div64.h.
>=20
> ... you only switch x86/PPC to div64.h.
You are right. I wasn't precise enough. Also RISC-V uses asm-generic
version of div64.h but for that I have separate patch series.

>=20
> I guess this is because for arm we have a different implementation
> for=20
> 32-bits. The 64-bits version is the same as x86/PPC.
>=20
> So I wonder if it is possible to include asm-generic/div64.h from=20
> arch/arm/include/asm/div64.h?
>=20
> This will avoid duplicating some code.
Yes, you are right. Arm wasn't switched to asm-generic/div64.h because
of different implementaion for 32-bit.

I think we can include asm-generic/div64.h excplicitly for Arm. I made
a little test and it works so I started full CI and if it won't any
issue with Arm I'll update the patch.


Thanks for the comments.

> Cheers,
>=20



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:09:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:09:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640613.999052 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Uzv-0003Yp-31; Fri, 24 Nov 2023 12:09:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640613.999052; Fri, 24 Nov 2023 12:09: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 1r6Uzv-0003Yi-0L; Fri, 24 Nov 2023 12:09:27 +0000
Received: by outflank-mailman (input) for mailman id 640613;
 Fri, 24 Nov 2023 12: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=u6gD=HF=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r6Uzt-0003Ya-O5
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:09:25 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20607.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4e0a6ac4-8ac2-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 13:09:24 +0100 (CET)
Received: from CH0PR04CA0099.namprd04.prod.outlook.com (2603:10b6:610:75::14)
 by PH7PR12MB8828.namprd12.prod.outlook.com (2603:10b6:510:26b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 12:09:20 +0000
Received: from CO1PEPF000044FB.namprd21.prod.outlook.com
 (2603:10b6:610:75:cafe::da) by CH0PR04CA0099.outlook.office365.com
 (2603:10b6:610:75::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend
 Transport; Fri, 24 Nov 2023 12:09:19 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000044FB.mail.protection.outlook.com (10.167.241.201) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.3 via Frontend Transport; Fri, 24 Nov 2023 12:09:19 +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.2507.34; Fri, 24 Nov
 2023 06:09:18 -0600
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.2507.34; Fri, 24 Nov
 2023 06:09:18 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Fri, 24 Nov 2023 06:09:17 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4e0a6ac4-8ac2-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fNYIpmC30QrK2drnNOGLfRMXw7ZNe/dLiHhg5bM2024XP/K/xJUtTOZSdSFYXNkWuS4xTEOluUWUN8NF6C5N8eyzx1i17hBKT1rxCueP2mXEh2EYCTNF19L4+m9VqR38k9ShrCucytjodGmpq1GXP074suOwLnU41e89sUvAEyJ0Mg40gz05ZzSDrZRr1RRolW+J5M+kH/ZuTPr4yVvhOVkfhv1MPzqXM3VXpKJgC07xVyXI/tkNtD11+1xF6hzweW0JmYKqjSEjHCbg2QdtzKXz5f0+xgBDkNXMiJGbK8ZEqzbQL2z1bcyvprbXQgdyhrbQgeWz6HQAYuD/ZlALMA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8oebaTVPYPPEn3j7Hjt48AyhfPRq2C9llOLws4Q96Is=;
 b=AV/xPuu7QvelvGHhV6JUd4p8+C17iaynz3e88TeuSBt4d+enVsGPC//MQjQIWxefSN4wHuiaUI3SqNpL8p/kUiQny4lKXHo/w3wo8nIN+vu+9GS95XW1NVbcElX6eSwOHDnInvuqC/DZ5ahaPILsL79roWCWFtEqS0XW5b+9Z4g4hylNKhUd0Jl1XYXUSLmaYuTabtmsguVPiYZkYzQBjtyqo2VLSvVy2WomWthbM4rKT27phgO71cOOrvvfJxDAvDd8bTrvwgORh79Dl2pwkttrkfrksEauN5Vx3dJypjS9no0FBv9bGpNKximulC6Bw5BCH263vFl1SACOE6ilFw==
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 (0)
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=8oebaTVPYPPEn3j7Hjt48AyhfPRq2C9llOLws4Q96Is=;
 b=jj6cQjJvZLXGKdETPXzzk8S3WnGjNcS/xiHMAJqEWOUMzyTVwxDZ3IRq6fcARco1RU0stjxCssLZeAwTvLgkr2MH6X5GckoZ9rljyIKqdv55TYefiv8SBNezyiUUQFBrWRc0J3uF8+t9PrLDyl3eRC1biHRPWU+O+eeCLd/e+Bk=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH] automation: Switch u-boot boot command to bootz for arm32 tests
Date: Fri, 24 Nov 2023 13:09:07 +0100
Message-ID: <20231124120907.2044651-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000044FB:EE_|PH7PR12MB8828:EE_
X-MS-Office365-Filtering-Correlation-Id: f22ee2fe-72bf-402f-ca2b-08dbece62fd9
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Qjon8eGIXTcX+9ZcW9h6FNd+d2XpibQjLogmfRyTaSdr6qyWeg4862WoTV72S64piU0INkCcps1Dyh6K5AgdYm5HuhIL+HaH+K7q7b/a75JHI3JSmpgbbDEyzQ4S339max0u5axIukDPmu1KafO5Ty/4ZCQOR/Nxf4hZSx8LcqRFioFpvJFpe6Xwt3VrhdK4ijTQrKU/6RBMfXLLvQsT8lCxeeYhMSE8W8IkSTCA1xC+POt3iKb3QZ+4CuweqzT8zA/aT8wgH853tg4F1ebWI2hqtUUy/FpuxSEoVlK7KXLVyWEvzn32cTGeBMbdbAfXq4cfb6zWk/4uDaTp4aU5ARs3JqyoMLPr9yB84TVPrFQqkCGrJ3pCxGKPzx6YYpQxCihCfUGoQlPsIx8vgsxprnIR2iKwcyteVIt78F7f0NpyPqgJs7jyUPmPoEGQS0anXbr6fV0U6plq4jcLP4WB8ZBVohNIQ1g3iF1pjE5OJlnurYTaPPLK1/2nsH/p/OkigVajjK3/ZOIxP12bQr4sTbo1RjMwdM2lyHXYv+3jFgLGeYc+1Jh2/C2U6cX81o7BbqPbVP/tIFTShsXMLZJgytaf1L2jmvEcqzTbNgLzgSCxdd7n5Lps9HEyFzie8H1Z8BNn8Svyhvpzha1Ng2JvuCMDTDzDTfth47A0xaXmpCoYwFcKy5Ndyf1PISekHVTUlUaRgCrQ8QoCXleKa0Yx4sNoH8d66ltZhIXwDz8BMLl/HBQFMhwKU/9ErQa3A7awiMxbs+uoXBR7qiZlPE8iHqilYk8TrDfQujwjQ429sUs=
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:(13230031)(4636009)(396003)(376002)(39860400002)(346002)(136003)(230922051799003)(451199024)(186009)(64100799003)(82310400011)(1800799012)(46966006)(36840700001)(40470700004)(70586007)(54906003)(316002)(6916009)(70206006)(478600001)(966005)(40460700003)(6666004)(5660300002)(86362001)(2906002)(4326008)(8676002)(8936002)(44832011)(36860700001)(2616005)(47076005)(356005)(36756003)(41300700001)(40480700001)(26005)(336012)(426003)(82740400003)(1076003)(81166007)(83380400001)(36900700001)(139555002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 12:09:19.0930
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f22ee2fe-72bf-402f-ca2b-08dbece62fd9
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:
	CO1PEPF000044FB.namprd21.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8828

Thanks to recent changes added to ImageBuilder to support the bootz
command, which allows obtaining the effective image size (including NOLOAD
sections) from the zImage header, switch the BOOT_CMD for arm32 tests to
bootz. Among other scenarios, this change will enable us, in the future,
to add tests with UBSAN enabled Xen, which would otherwise fail due to
incorrect image placement resulting in overlapping.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
Before adding UBSAN CI tests, we still need to decide if we want to add support
to panic on UBSAN epilogue guarded by some config option or to just grep for
UBSAN message.

CI pipeline:
https://gitlab.com/xen-project/people/morzel/xen-orzelmichal/-/pipelines/1083821754
---
 automation/scripts/qemu-smoke-dom0-arm32.sh     | 2 +-
 automation/scripts/qemu-smoke-dom0less-arm32.sh | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/automation/scripts/qemu-smoke-dom0-arm32.sh b/automation/scripts/qemu-smoke-dom0-arm32.sh
index a4b487b08055..d91648905669 100755
--- a/automation/scripts/qemu-smoke-dom0-arm32.sh
+++ b/automation/scripts/qemu-smoke-dom0-arm32.sh
@@ -68,7 +68,7 @@ XEN_CMD="console=dtuart dom0_mem=1024M bootscrub=0 console_timestamps=boot"
 NUM_DOMUS=0
 
 LOAD_CMD="tftpb"
-BOOT_CMD="bootm"
+BOOT_CMD="bootz"
 UBOOT_SOURCE="boot.source"
 UBOOT_SCRIPT="boot.scr"' > config
 
diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh b/automation/scripts/qemu-smoke-dom0less-arm32.sh
index 7e3cfbe9c4d0..e31b6b9014e1 100755
--- a/automation/scripts/qemu-smoke-dom0less-arm32.sh
+++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh
@@ -101,7 +101,7 @@ DOMU_MEM[0]="512"
 NUM_DOMUS=1
 
 LOAD_CMD="tftpb"
-BOOT_CMD="bootm"
+BOOT_CMD="bootz"
 UBOOT_SOURCE="boot.source"
 UBOOT_SCRIPT="boot.scr"' > config
 
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:11:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:11:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640615.999064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6V1T-0005Mt-FD; Fri, 24 Nov 2023 12:11:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640615.999064; Fri, 24 Nov 2023 12: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 1r6V1T-0005Mm-A7; Fri, 24 Nov 2023 12:11:03 +0000
Received: by outflank-mailman (input) for mailman id 640615;
 Fri, 24 Nov 2023 12:11: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=AaTM=HF=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6V1S-0005Mc-Gd
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:11:02 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 87a65753-8ac2-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 13:11:00 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-332cb136335so1207233f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 04:11:00 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 d21-20020adf9b95000000b003316debbde4sm4199405wrc.48.2023.11.24.04.10.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 04:10:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 87a65753-8ac2-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700827859; x=1701432659; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=fJXfCJVZvdFYPHULZOsT+q7fWluyt0q88PvXUY5K+jY=;
        b=iUbMmv/lFdkH0Tut4joZC/zC9gyo6sY8SO8qhjcNdfOgyYfh46wkDH2YtQvxFdSt3r
         rOBManzX2r31j+DtlKuICQ/d/o570aITlGhovRL2irJOYgODTVmv97JWyK0Wgwbs/tbJ
         2JaJPwnCJvPVyTQLAd85TGmtHsXCbnGHK2+sw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700827859; x=1701432659;
        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:subject:date:message-id:reply-to;
        bh=fJXfCJVZvdFYPHULZOsT+q7fWluyt0q88PvXUY5K+jY=;
        b=g80Co3ej8ei12n9nIUj/LeU68kqWI/s3nRXrGvHvfY+0Ja3EPo/DELWGHfoHE3fg8N
         X2lgujwRApuNsOEwaIWw48KSaUsQocmX8khM239UQedC82I91tCYfcPi6+0YpTfcVbv+
         c+mPn1Zb/m449UAJUvoBzbE2ADJcvHCvqhFYCzK3mGbvfDb5x9gm6H1oU1TKmCeuLgkx
         Uk4VjzMb1t0ThwkVD1RT4wRh4NFEdMO6ihyxCmzzEeLAppcHyQaJHQWMjb9apZq3o8KN
         6laRWw/OTCLtvYj2Ztn82yNyeIofuH9I4yUxYALlBszufn/ocCDhkUyTXDyO6bgGQ8yF
         YYYQ==
X-Gm-Message-State: AOJu0Yw9QmirRx0ZfWf+NSe9yjiheCHuWLMyA9x6NIE06NL1xwS7vagr
	G0RfJFTqL1BbfUlne48LhN+eqQ==
X-Google-Smtp-Source: AGHT+IEWApM9qH0qZ3j2gWSDKCnmKOmVwJrZp9ggS2Sfjn3IJs8aZPWa/rR2BAqfbLPgexQFKXT/8g==
X-Received: by 2002:a5d:6188:0:b0:332:ca69:2fb5 with SMTP id j8-20020a5d6188000000b00332ca692fb5mr2085306wru.11.1700827859509;
        Fri, 24 Nov 2023 04:10:59 -0800 (PST)
Message-ID: <3706e5a8-7893-4e4e-a9b2-60517720f2a7@cloud.com>
Date: Fri, 24 Nov 2023 12:10:57 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/2] livepatch-build-tools: remove usage of gawk
Content-Language: en-US
To: Ross Lagerwall <ross.lagerwall@cloud.com>,
 Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
References: <20231123160535.18658-1-roger.pau@citrix.com>
 <20231123160535.18658-2-roger.pau@citrix.com>
 <CAG7k0EqQZLZDMMJg=20EgnKwhbXZ9US-9zMs0NkJD7eWYR2vtA@mail.gmail.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <CAG7k0EqQZLZDMMJg=20EgnKwhbXZ9US-9zMs0NkJD7eWYR2vtA@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24/11/2023 11:43, Ross Lagerwall wrote:
 > On Thu, Nov 23, 2023 at 4:08 PM Roger Pau Monne 
<roger.pau@citrix.com> wrote:
 >>
 >> And instead use plain awk.
 >>
 >> There's no need to use the --non-decimal-data option for gawk, since the
 >> numbers that we want to print are already prefixed with '0x', and so 
plain awk
 >> will do the conversion from hexadecimal to decimal just fine.
 >
 > I don't think that's true (at least with gnu awk 5.1.1):
 >
 > $ echo '<e98b7>   DW_AT_byte_size   : 0x14' | awk '{printf("%d\n", $4)}'
 > 0
 >

I think it's a FreeBSD quirk. From their man page:

 >        Historically,  awk did not accept "0x" as a hex string. 
However, since
 >        One True Awk used strtod to convert strings to floats, and 
since "0x12"
 >        is a valid hexadecimal representation of a floating  point 
number,  On
 >        FreeBSD, awk has accepted this notation as an extension since 
One True
 >        Awk was imported in FreeBSD 5.0. Upstream One True  Awk has 
restored
 >        the  historical behavior for better compatibility between the 
different
 >        awk implementations.  Both gawk and mawk already  behave 
similarly.
 >        Starting with FreeBSD 14.0 awk will no longer accept this 
extension.

I'm guessing the latest FreeBSD doesn't have that behaviour either?

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:15:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:15:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640620.999072 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6V5R-00071i-TH; Fri, 24 Nov 2023 12:15:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640620.999072; Fri, 24 Nov 2023 12:15: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 1r6V5R-00071b-QM; Fri, 24 Nov 2023 12:15:09 +0000
Received: by outflank-mailman (input) for mailman id 640620;
 Fri, 24 Nov 2023 12:15: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=fpHI=HF=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r6V5Q-00071U-88
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:15:08 +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 1b08c5f1-8ac3-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 13:15:07 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-50aab3bf71fso2409642e87.3
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 04:15:07 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 o21-20020ac24bd5000000b00507977e9a38sm489121lfq.35.2023.11.24.04.15.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 04:15:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b08c5f1-8ac3-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1700828107; x=1701432907; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=wfE+ET+Zc9xlaSBY07eL3nKboVK+/ndx4tSzkJ+DKkk=;
        b=NBxCCx76r96S+QO8lZTuu9A2nkUNTX31ucEQsTnaJHqxNyFdfT7kIO4FPnreMLafdH
         ejLVBHAPXDBZal2qJjwmdd2SOXZMuch7/yD/Oe3qwKihe1sEmQ7Y7DT50RauTr4DRJYB
         2VhKwoaDrlIxZtJj3P3XnGr4hf+H79z4pVkgnlZ7RXk96a2XtA3yjnY3+i4ZApVqltbX
         3VraPFbcM39MNYytwnC2nsEYmvAa6DA94tR1d8FAMcw3UDtHAtW8YLDaTXY8Yh8/eMAF
         wsnbQhUZ6P1f/Y5eh9logR50blNHLixcsjgMfv+mdzJJlsiJ2exFJK/9B850zyJEa2iw
         ZKmQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700828107; x=1701432907;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=wfE+ET+Zc9xlaSBY07eL3nKboVK+/ndx4tSzkJ+DKkk=;
        b=IXxWX80rIIMQ6GUKzl7g3NRa7Yi/yUWmeiMlY4zgAp+7ZKakML03eb8sy1M/vpfpAh
         mDPrYmuvrhVxq1EGVvh7DefflaJzwClr+m9G5vKPFFyCeleDr+i1HlIJeQpTsveFPR1W
         5l00y/uefqcend9zC7xAqwVWRwRegFa2PxF6OJn136GCt0ue2tv+YxiRICIt04Iq05fF
         ShynEYeVdsmKM5udHEaduXTTs8Sdru4bAup5cESzlPNYukm769qXkv/tcTXJMCk+Exqd
         S5tDcXW68bctjuuxyiHp8AZmavMA1shhVoVpeX1Mq4HX6IbR+6xSRai072CwOlNDoHQX
         OstA==
X-Gm-Message-State: AOJu0Yx0MZYS3WAgpdDfs4HYibrdXbrleLSRJzkyZN9itAiXPn9xc1/9
	RiEhC35XAQYenyVt2rsNBsY=
X-Google-Smtp-Source: AGHT+IFwWWPifbHDdhpjJ/EffRDK4GVHz3VTX6WpyRQrFgKwJSfqKx7EB8BDFdojzKhOwym9m1SV/g==
X-Received: by 2002:a05:6512:201:b0:508:1690:d825 with SMTP id a1-20020a056512020100b005081690d825mr1574791lfo.21.1700828106616;
        Fri, 24 Nov 2023 04:15:06 -0800 (PST)
Message-ID: <82c80c72c1131723afca1fc02209ac7ccbf8f74b.camel@gmail.com>
Subject: Re: [PATCH v3 02/14] xen/asm-generic: introduce generic device.h
From: Oleksii <oleksii.kurochko@gmail.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>
Date: Fri, 24 Nov 2023 14:15:05 +0200
In-Reply-To: <35978886-0f5e-4906-a64b-a4da0e875fc8@xen.org>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
	 <65b267137539704df7f22b37e3b0a9b372a82b33.1700221559.git.oleksii.kurochko@gmail.com>
	 <35978886-0f5e-4906-a64b-a4da0e875fc8@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Fri, 2023-11-24 at 11:01 +0000, Julien Grall wrote:
> Hi Oleksii,
>=20
> On 17/11/2023 12:24, Oleksii Kurochko wrote:
> > Arm, PPC and RISC-V use the same device.h thereby device.h
> > was moved to asm-generic.=20
>=20
> I read "was moved" as the patch should also contain some deleted
> lines.=20
> But below, I only see the file introduced. Did you intend to also
> remove=20
> the version in arm/include/asm?
Yes, I just messed up with the patch version. Here is the version of
the patch which remove Arm's device.h:
https://gitlab.com/xen-project/people/olkur/xen/-/commit/ce845abfb57d27b0c0=
8984f5433085c767550495
>=20
> > Arm's device.h was taken as a base with
> > the following changes:
> > =C2=A0 - #ifdef PCI related things.
> > =C2=A0 - #ifdef ACPI related things.
> > =C2=A0 - Rename #ifdef guards.
> > =C2=A0 - Add SPDX tag.
> > =C2=A0 - #ifdef CONFIG_HAS_DEVICE_TREE related things.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > It is still open question if device.h should be in asm-generic.
> > Need more opinions.
>=20
> I still think it should. But I guess you want others to answer? If so
> it=20
> would be worth to point out from who you seek opinions.
>=20
> > ---
> > Changes in V3:
> > =C2=A0 - ifdef device tree related things.
> > =C2=A0 - update the commit message
> > ---
> > Changes in V2:
> > 	- take ( as common ) device.h from Arm as PPC and RISC-V
> > use it as a base.
> > 	- #ifdef PCI related things.
> > 	- #ifdef ACPI related things.
> > 	- rename DEVICE_GIC to DEVIC_IC.
> > 	- rename #ifdef guards.
> > 	- switch Arm and PPC to generic device.h
> > 	- add SPDX tag
> > 	- update the commit message
> >=20
> > ---
> > =C2=A0 xen/include/asm-generic/device.h | 147
> > +++++++++++++++++++++++++++++++
> > =C2=A0 1 file changed, 147 insertions(+)
> > =C2=A0 create mode 100644 xen/include/asm-generic/device.h
> >=20
> > diff --git a/xen/include/asm-generic/device.h b/xen/include/asm-
> > generic/device.h
> > new file mode 100644
> > index 0000000000..7ef5aa955a
> > --- /dev/null
> > +++ b/xen/include/asm-generic/device.h
> > @@ -0,0 +1,147 @@
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +#ifndef __ASM_GENERIC_DEVICE_H__
> > +#define __ASM_GENERIC_DEVICE_H__
> > +
> > +enum device_type
> > +{
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +=C2=A0=C2=A0=C2=A0 DEV_DT,
> > +#endif
> > +
> > +#ifdef HAS_PCI
> > +=C2=A0=C2=A0=C2=A0 DEV_PCI,
> > +#endif
> > +};
> > +
> > +struct dev_archdata {
> > +=C2=A0=C2=A0=C2=A0 void *iommu;=C2=A0=C2=A0=C2=A0 /* IOMMU private dat=
a */
> > +};
> > +
> > +/* struct device - The basic device structure */
> > +struct device
> > +{
> > +=C2=A0=C2=A0=C2=A0 enum device_type type;
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +=C2=A0=C2=A0=C2=A0 struct dt_device_node *of_node; /* Used by drivers =
imported
> > from Linux */
> > +#endif
> > +=C2=A0=C2=A0=C2=A0 struct dev_archdata archdata;
> > +=C2=A0=C2=A0=C2=A0 struct iommu_fwspec *iommu_fwspec; /* per-device IO=
MMU
> > instance data */
> > +};
> > +
> > +typedef struct device device_t;
> > +
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +#include <xen/device_tree.h>
> > +#endif
>=20
> NIT: Could we try to rationalize the number of #ifdef CONFIG_HAS_*?
> For=20
> example ...
>=20
> > +
> > +#ifdef HAS_PCI
> > +#define dev_is_pci(dev) ((dev)->type =3D=3D DEV_PCI)
> > +#endif
> > +
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > +#define dev_is_dt(dev)=C2=A0 ((dev)->type =3D=3D DEV_DT)
> > +#endif
>=20
> ... this is another definition for Device-Tree only. It could be
> easily=20
> moved above the definitnion of dev_is_pci(). The others would be the=20
> DT_DEVICE_*() helpers.
Yes, sure. I can combine CONFIG_HAS_DEVICE_TREE related things better.

>=20
> > +
> > +enum device_class
> > +{
> > +=C2=A0=C2=A0=C2=A0 DEVICE_SERIAL,
> > +=C2=A0=C2=A0=C2=A0 DEVICE_IOMMU,
> > +=C2=A0=C2=A0=C2=A0 DEVICE_IC,
>=20
> I guess you mean INTERRUPT_CONTROLLER? If so, can this be spelt out?
> (I=20
> don't think shorthand version is worth it here)
Sure, I'll change to INTERRUPT_CONTROLLER.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:18:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:18:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640623.999083 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6V8K-00083M-FR; Fri, 24 Nov 2023 12:18:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640623.999083; Fri, 24 Nov 2023 12:18: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 1r6V8K-00083F-Bs; Fri, 24 Nov 2023 12:18:08 +0000
Received: by outflank-mailman (input) for mailman id 640623;
 Fri, 24 Nov 2023 12:18: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=6Spf=HF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6V8I-000833-AR
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:18:06 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 848c8cf3-8ac3-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 13:18:04 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-507a0907896so2347983e87.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 04:18:04 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 v9-20020adfe4c9000000b00332c6f1beccsm4090919wrm.66.2023.11.24.04.18.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 04:18:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 848c8cf3-8ac3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700828284; x=1701433084; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=LR0hkmaypQM2ua71m319Z0qEHgrNVosBGN0WmuYN/h8=;
        b=STBJlJJ0UDPdK5l6OvHa7v5z1WrLoHXxx59KXHqSjbK31BoJT7sabDEMBIUSk9JnkA
         SPk3xNnD9UGixLpxF9HrgEM1dwXZ6p57fLBAvwGlla+uCIs5qtOy8BhDhucT6NmkWnn8
         wgN1gF2kfiplClDTO7KK1PPRGTkRZRNXitP9g=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700828284; x=1701433084;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=LR0hkmaypQM2ua71m319Z0qEHgrNVosBGN0WmuYN/h8=;
        b=ochpXszJRZvUntJnlfxXLT3r2i+q1AScMvGY7neGznGj3rbicB2/uBYFeViftV/88f
         DSZE5CVDksCzd/0jPefnr1AZ4tUVXM/qSS+MD2yQdG387AI2/zPI7S1LdKGY2w2X5Tt4
         WUmXPUoxDtR38F1nK/zHl7BtcGIPgXlIwxwqgXdEla8gtvaU+GtyPyGu2mk4dSiZfT9q
         GzoJV9eOCYL3WepnoY2vRN96Yqis4c2Ien0SO0VVWo2gG1/4XvT0yV3hGrantao/9Gj3
         eYsZe2ASv7FYwZrDywusVA8zjFpri43Tp6qvNDwR8qu6acMpqarrb3PStaUIxezBJzno
         mkhw==
X-Gm-Message-State: AOJu0YwZtIT9fJPbtKQqoWupwYZKYGC73Dxn56GuyxyImSfkXWKjjWiR
	2mvI/27tHhgQolhPlwvDdXe1PQ==
X-Google-Smtp-Source: AGHT+IHfpBDncri95AJHIXU7dv2QF97LTHtdtn2oi0B6+iXY5w4RDWqXMIlIW3Y6sFmeT/G0yCvlkg==
X-Received: by 2002:a05:6512:3c91:b0:502:fdca:2eaa with SMTP id h17-20020a0565123c9100b00502fdca2eaamr2515285lfv.52.1700828283822;
        Fri, 24 Nov 2023 04:18:03 -0800 (PST)
Message-ID: <7421ddfd-8947-4fe1-93a6-dc25a4aa8bbc@citrix.com>
Date: Fri, 24 Nov 2023 12:18:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] automation: Switch u-boot boot command to bootz for arm32
 tests
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <20231124120907.2044651-1-michal.orzel@amd.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231124120907.2044651-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/11/2023 12:09 pm, Michal Orzel wrote:
> Thanks to recent changes added to ImageBuilder to support the bootz
> command, which allows obtaining the effective image size (including NOLOAD
> sections) from the zImage header, switch the BOOT_CMD for arm32 tests to
> bootz. Among other scenarios, this change will enable us, in the future,
> to add tests with UBSAN enabled Xen, which would otherwise fail due to
> incorrect image placement resulting in overlapping.
>
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
> Before adding UBSAN CI tests, we still need to decide if we want to add support
> to panic on UBSAN epilogue guarded by some config option or to just grep for
> UBSAN message.

CONFIG_UBSAN_FATAL please (name subject to taste.)

Grepping dmesg is never a reliable option (see how many recent fixes
we've had to console handling in the smoke tests), and reliability is
important.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:24:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:24:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640629.999093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6VEl-0002zx-4c; Fri, 24 Nov 2023 12:24:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640629.999093; Fri, 24 Nov 2023 12:24: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 1r6VEl-0002zq-1h; Fri, 24 Nov 2023 12:24:47 +0000
Received: by outflank-mailman (input) for mailman id 640629;
 Fri, 24 Nov 2023 12:24: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6VEj-0002zk-QJ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:24:45 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061f.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 732bfd11-8ac4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 13:24:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9075.eurprd04.prod.outlook.com (2603:10a6:102:229::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 12:24:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 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>
X-Inumbo-ID: 732bfd11-8ac4-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E4WaIXiC0opEe28L5Jo86l0Kcp+hpkesA+JyEPLzkI1v67x152TwhQl9JGfst3Q8dYXSf+HC0Ciywel3Y0AOuSfE0dgBxqqeiCwRRgBzK0Gsvphc+UQ/y236/VJYXQtQRiRagbngnUarvSUneZqDzkmTlfKsONwk2+859LSbmue5uL1qjaf9UX0D55XUARyi2B6o7wcXqrWLhwXMv+2pulndhf853b3/ToOGGxvnQRSQJ6inf8t97bWdoA5ZEBe9H6Ds/PQA2oaSmFlg7iEfNWTldB3N2YBf1y1+v7ImJHvCBLKu0YZwXSY6v8q/XgV/LhG1BqfgQNvuAFX82PlTTA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=zSxjC4ym79N1JhD4sLaOhJd9vToL+iUqkkHWaWMarBQ=;
 b=HUTIDxGG2FJD6S4VoqegHfjnmR0KIBh98xQNAYigXCY5Xp4XAmjWHxItP+2UIetwBWEB8aBbcS8n8HB5oBy4ltC1b+Z83pMMh6LTR36MJ4fw1i2ct5oY6daQAUplEhiJKMMlW6Ec56LBEYHyW1PYf5qKytwWyAogla4AjTaGRoZhZonN1CbYP0lUZGfTjMYJGgYZ5xA14LPP8CazOJfYLzb2b7SVuN/wMVxAzIeUJ+VslTRkDR7oXpp8D+usWuNhJ3QN6hnK+O922LoaNSF4rBZi/DFyv/BYdrKEDPzP3tGFcWwukKsBFB6Cd9Q5ZmhqVLJn4hxzMJ9ySxQQPP1k4Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=zSxjC4ym79N1JhD4sLaOhJd9vToL+iUqkkHWaWMarBQ=;
 b=teLxYfZVbxIayZ3A8KXpSryYV9usGUT+jM7UFA/ow18EeWf/ARyzWFxp4mJxXmjudyWZOeShR8bJe0V5NfnckOq13SYOxP1y2hwDH8hrRpPBk1chkpg2+2RSA4Dijl8r5JUUn5DjDpeg0E8iC30hAo2CNu0PapCWWCAXl4hzvPdpZUZba+VFgfQamqz139x5z5mg0zB2Hy0jK7BqpgBlxLg6XvbRWas5zxuYqWvSMPJvKHgwOQiz4sDSEf2AiH8nqxvbDEIgsW4RgA/eTIfV8/rSPxknE2G2bRrVOg//YYCG/tME1Imr4Xt72NVgP+4m8KuDJaKx/aSDcELw0UWd4Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ced05080-ef2b-4288-93be-74535a7a3982@suse.com>
Date: Fri, 24 Nov 2023 13:24:39 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Clang-format configuration discussion - pt 2
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <Michal.Orzel@amd.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@cloud.com>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <CA+zSX=YL0fjM+ZTEoXNpzQ9iFKFwzdZRR-QsyQAZCQVeOGdj6A@mail.gmail.com>
 <DE78DF95-3E57-4283-8252-01A0BA2219F8@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <DE78DF95-3E57-4283-8252-01A0BA2219F8@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0164.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:99::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9075:EE_
X-MS-Office365-Filtering-Correlation-Id: 1ffc66af-f4fb-45ec-6be0-08dbece855e0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dwy2ZeZcFQoC/CLfqM0tDddDY6B7jSVguVQZjpT/RwmmOMrvZK68Rkq4sHTgm23WqxwsPuMDi0/bfxCLz1npFqjkKgbU8kelNMzCPTNwyqyy1u9oUPRl9aGli+4btvVFMRtWnsICIr9Xv5N8n4qO5KFMUD1dRMap5h5cwID/6dwzS8+CYX5UuTjwAmmBc0DFZByPXoKFoSCqR50tXSN5JBRxllsS8MSWRip0MMIpN4Cf7zJJ0O9dCfSF82Ba/s88q9s1dGGDMqDlDJTz0XybJIkW+YHhqMlFkRsbCkntIWpZBlEzddnDiB9ie948FcUlbNfgZINvM0kmI0lAOh9I2P0nt064nZ3hMT1Wa1fXCY9v0BDZSLn9A81vyVgm7mo/VTG6ffNEeAw9zvIU4dOMCyL8fy0JHhSbIMAcYT+TLV1/d9FmoW/XVVSapno89Mi35NYaPinwnRxP/dPeqQjsDw3XnPSEPn+CcdInBAjeKV2Ugo/h2A49xXjVDPsfHnFwDf5UlLegYeUd9w9BWomuw+kKenbtNSim/r/YzF9Zl1vwKIwgH98qyidHYQNFAMIul8tgioOTrjuRGmIPLWK6ErfDB0yye5DIvSJJNr91DWwp0oV6s4mTJLyL1AaKwEmxpt2sHxf+PVVZENmnDC3cLw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(366004)(376002)(39860400002)(396003)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(2906002)(31686004)(7416002)(5660300002)(6666004)(36756003)(6512007)(478600001)(86362001)(41300700001)(4326008)(8676002)(8936002)(966005)(6486002)(38100700002)(6506007)(2616005)(53546011)(83380400001)(66476007)(316002)(31696002)(66556008)(6916009)(54906003)(66946007)(26005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b3g5YkR1b1JPZnk4c1pqVHEyUUVkK3diRVZ1a0RieUIwRUtVdi85ZzJxMml3?=
 =?utf-8?B?TjlCM2ZTaWFCb1BzaXBReTB1cFI2NkkxZ1RqNHZDRFNuWEoxOUZ3NHFvZDNS?=
 =?utf-8?B?VTZqcE94a2JQR0UzTEVUY3VwYW5rS3RzWW1mZWhQbXNCT2VDNlJBMlJ6cVdM?=
 =?utf-8?B?TzVlVkFnb2RVdmJzaDlUT1ZIWWdhR1VERjFEM0pYRmRTY1JkRU85NnlhazRp?=
 =?utf-8?B?VjhOUlJmUm5ya3prcmU4WUJnQmFQdzIwdDErYUdCeGpROUJtVTNRVEVQVStl?=
 =?utf-8?B?WGJ6THhPSUxNQklGK08wNExZSFd1OHdlUGRCVmVRZmhVSDRwWUdnb0N2cm1C?=
 =?utf-8?B?SXRTeFROUnkyK1htT3V1VVllL2dBVEdtV2gxZlRNcjZiMkJEVlMrMVY1UVpo?=
 =?utf-8?B?bWNyODFMSXNqeWJnRDA2QjdtMW41aHdqUzRMdkpROXF2dTNrRSs5SVdBUTVv?=
 =?utf-8?B?YWUybFE0SFNWeDlMd1ZwbHROdU1ONGRqVGgxRWcrVjJuU0hqWGJVTVRQTFFs?=
 =?utf-8?B?cW9YMnlKRDNnWTNmcE5TaUg4TEczbFJVRkt1a0d3Y25haVNmOE1pYU1nQ2JV?=
 =?utf-8?B?QmNGSVprTWhKS1ZWVCtNclBTdW5UZlduaU5GRTNVM21nbnAzQzlrREQ4Skt1?=
 =?utf-8?B?UzBERlp6Q1k2a3BuSHhJNjQzY1lOZXV6OFNHMUttNEk4OUdUM204bHhoU3pI?=
 =?utf-8?B?c0MvNXV4bVUzaXJvUGo2M2VXWVRwZlBpMU9OU0MyaStwRXh5Y3B4dWhnRThw?=
 =?utf-8?B?LzQwNEQ2ekxyajVDejRIbVg5MzJYdCtLc2dxbkdXOHlyc0hFb1ZnZVltTkQr?=
 =?utf-8?B?NlgvR2Jyb2xuWGRycENnOFR1NUJaRldMSUlSampXN2ZRQUtVVnZyZUFWdUMz?=
 =?utf-8?B?QktGZE54bWJPejZNU3NaMkQrVVArOXVWd2hMS2p0aVlIY3FjU3NUY0RDamtL?=
 =?utf-8?B?d0R0c2ppbXVIbHVqVHNPbjByd2ZsR2tkYlJ5OU53a2k3Ylc4UmlacGxyQWRD?=
 =?utf-8?B?bnFiakM4bEpGYTZUaGp2RGcxQlFienluMlgxWHRzVnd2bDFuSmRMRjdRQURU?=
 =?utf-8?B?cTBwUnBpSkVSSml2d3gxODAzUE9ZRDJRRWdmaGMweEZQR3NmWkxhQnc3d0dr?=
 =?utf-8?B?Um1kanlrSnEzKzU2ZmNGUzhUUVB2SHpQSlY4V2UrWGtNcnEyU0pWWlJ0cm0v?=
 =?utf-8?B?SktQclg2RU10Z3cyVFVDdnl5V1U5U0QvWHRHbXZ4WnhNM2tCTjhYQ3ZQR3RV?=
 =?utf-8?B?QU5BRHowYWxrWUlEZ1E4UVprWDF5aUpiK2VTZklEQituc295Wmp5cFdia1lt?=
 =?utf-8?B?elRRWU5EZTRzQUtQcHg1WHdydEtudXVSYjRqOGw0amo4RDJUTlR0bUlNM1BG?=
 =?utf-8?B?aTZvWnZPSi82K29xZG05RldGOHRZMm5qWTBxUVFJSVd4cFZPcEpkRkZIbTRv?=
 =?utf-8?B?VmljMWQ0bEMwRlArMzY5RFR1VEtENkVQSzFyTFduQk5aeG5vY01pZTB6SmZC?=
 =?utf-8?B?SXg2TlU2ZlZDOTN6M0syRXJ2YTBrRnNKMmIvYUxVcDlTSksxMGFjR3RlcFRR?=
 =?utf-8?B?bWpUTUpZelZqeFBBTGZQMUtoZ1NwK1N6UzlLZDRWOXJHVlg5M3VLd20wSHhH?=
 =?utf-8?B?eSszb3pteVRlS2M5bXFmUzN4WGZyZncwZjZOSHBzR2JyNDZlelp2aVpJWExh?=
 =?utf-8?B?cGg3dnBsNUpKbk11OW1pNnF4U1hzV3VtTXNmbmZXSTJqMVF1bVFEYVlkZnVV?=
 =?utf-8?B?cUVIWWpaSWRob2xMM245ekhYZUNPdjBQc1hGQVVEVk1odi9FeWRTQzNRRUdV?=
 =?utf-8?B?c2VEeHpqUkxleW1pVHhPaUp3SEZrTDRPcEhpOHZEVTRqb3R2Q09uUnlzYXJG?=
 =?utf-8?B?K3UzUFNTaFl3WTFkRjI3aGlQVGRRMlJ2Snlja3p5YTBUVTNaOHJNaERja0hT?=
 =?utf-8?B?N1JaNzBLYVh5YklYTmxQM1NmcFJ1bnp1ZThQcmk0WjNpRTV5L1hiSEdlZ0hC?=
 =?utf-8?B?MkZrMytjQk1NMmllbWlKOTBvQ0Y3VlA2MzB6eXRyQ2JQZ0tMLzgxWmduQ0dY?=
 =?utf-8?B?cHJkSUs5eWt3b2hmWjU0WVQrREwxTnRnNlJHanVFeU02VzVSWkxCbnZnZ2Fa?=
 =?utf-8?Q?FAR5bz0vT1tfhmyTrJHhia/jE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ffc66af-f4fb-45ec-6be0-08dbece855e0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 12:24:42.1652
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: g4Ct17twHz0Q4BQ2Fs28SR+DsJgniFsSSQDO5ndf3MDFCWU/7UpMtNIt+xpf4S1j//uYL0PLXdR4dJe1Th1DAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9075

On 24.11.2023 12:59, Luca Fancellu wrote:
> @@ -3333,19 +3318,18 @@ static int __init alloc_domain_evtchn(struct dt_device_node *node)
> rc = evtchn_alloc_unbound(&alloc_unbound, domU1_port);
> if ( rc < 0 )
> {
> - printk(XENLOG_ERR
> - "evtchn_alloc_unbound() failure (Error %d) \n", rc);
> + printk(XENLOG_ERR "evtchn_alloc_unbound() failure (Error %d) \n", rc);
> return rc;
> }
> - bind_interdomain.remote_dom = d1->domain_id;
> + 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 )
> {
> 
> Assignment of bind_interdomain.remote_dom was aligned with the following line, but since the value
> of this configurable is “None”, clang-format is modifying that to use only one space before the assignment
> operator.

Neither here nor ...

> One example related to macros can be found on line 1663:
> 
> diff --git a/xen/arch/arm/arm32/insn.c b/xen/arch/arm/arm32/insn.c
> index 49953a042a..1635c4b6d1 100644
> --- a/xen/arch/arm/arm32/insn.c
> +++ b/xen/arch/arm/arm32/insn.c
> @@ -19,9 +19,9 @@
> #include <asm/insn.h>
> /* Mask of branch instructions' immediate. */
> -#define BRANCH_INSN_IMM_MASK GENMASK(23, 0)
> +#define BRANCH_INSN_IMM_MASK GENMASK(23, 0)
> /* Shift of branch instructions' immediate. */
> -#define BRANCH_INSN_IMM_SHIFT 0
> +#define BRANCH_INSN_IMM_SHIFT 0
> 
> Clang format sees the comment between BRANCH_INSN_IMM_MASK and BRANCH_INSN_IMM_SHIFT and
> even if before the value of the macros were aligned, it applies the rule of one space between the macro name
> and the value.

... here there is any change in the formatting on the lines in question.
I was first suspecting a possible issue with my mail UI, but
https://lists.xen.org/archives/html/xen-devel/2023-11/msg02132.html
looks to confirm the issue to more likely be on your end (apparently also
resulting in leading whitespace having been dropped).

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:30:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:30:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640632.999103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6VJm-00059C-Nq; Fri, 24 Nov 2023 12:29:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640632.999103; Fri, 24 Nov 2023 12:29: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 1r6VJm-000595-LG; Fri, 24 Nov 2023 12:29:58 +0000
Received: by outflank-mailman (input) for mailman id 640632;
 Fri, 24 Nov 2023 12:29: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=Vqky=HF=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r6VJl-00058z-8c
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:29:57 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2078.outbound.protection.outlook.com [40.107.7.78])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2cbc1caf-8ac5-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 13:29:55 +0100 (CET)
Received: from DU6P191CA0046.EURP191.PROD.OUTLOOK.COM (2603:10a6:10:53f::20)
 by GV1PR08MB7708.eurprd08.prod.outlook.com (2603:10a6:150:53::10) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 12:29:24 +0000
Received: from DB5PEPF00014B9A.eurprd02.prod.outlook.com
 (2603:10a6:10:53f:cafe::2a) by DU6P191CA0046.outlook.office365.com
 (2603:10a6:10:53f::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21 via Frontend
 Transport; Fri, 24 Nov 2023 12:29:24 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B9A.mail.protection.outlook.com (10.167.8.167) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 12:29:23 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Fri, 24 Nov 2023 12:29:23 +0000
Received: from 197e5eec30ca.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 539BEDD5-0D4E-44E5-A45B-FA8ABC4EE38C.1; 
 Fri, 24 Nov 2023 12:29:12 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 197e5eec30ca.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 24 Nov 2023 12:29:12 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PAWPR08MB10260.eurprd08.prod.outlook.com (2603:10a6:102:369::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 12:29:10 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.021; Fri, 24 Nov 2023
 12:29: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: 2cbc1caf-8ac5-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Eb+t+SGoOGhzAHqQuIRUkpLh48n9SotXpKZkeS+Nu1B2j6WgukwZ4sxZWl+OwHV91QKe+saosqtHQQ/w0E1CnBhYnFZRyI8TO3JvAq5TeDlYjvDgrAHWXjVTFs5SWy+mnUEqsiphGmoGRqE+dZgZnzT1CbNyx3tATREjF3jvnwiutqYVkR0NBJAY7EpgIYzzI12mWLgVoG3PKGsUZE/cEnBqJ8uzh0CZEtBQH+MJlK6Wr+gC1Q/uxShI4o+rUI9Rj0jZ0RXjQNAsgJ1iz/ZSzo3qOgL+hYG9O9dBuE/2Jg0/3LVkKzHiYLdNfW2zDwazOBHQE6Y24UrxQ//oJAUHOg==
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=F+imr9Fvw7+ydrW6GcafTxf2V/lPdnwSEjm262AZCEs=;
 b=WfEA9/wEirrL+PTNGdP1zhF5/lwIR9uKbvzEqDLgqBeVUvNgQ86kl/piV2RJrmW47iRulLbstghPh7MOp8pWWjLk3R0JDcM7Yk+f8oLiZIRzOz/rtFKnFhPxYl8YysM64Y6Vrgq/mNuIZmatCIWoKzQW1bCPpeEfXf4ZBqFFRxGbADxvkuEpEeuQBxVqCQ7o1z5fDOERwEcfacMkNMM0alzxMzSNEuWM+MoOKcG5bKLiyWiCMGPY6rZFbGrOka8oSSTLDCki7AkjgOGqBEgFpBVNoHZge871D0IKlSAlL+FIs9d8cqou9KMjRGLgWuUX6TyY8kQH3UuPJtyn7BRzTg==
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=F+imr9Fvw7+ydrW6GcafTxf2V/lPdnwSEjm262AZCEs=;
 b=zUclnHNLnKDX1EHEIP6xbYstWgCH28zhZLnj64yOZ6hL2k8JJYKPRKys/laoj02xCw9Aq0d2TgkD2yuO/emnCc/ReNdvFuVyRbevH5QV+3GTO1IUNT1ytMCKTvA/+tITllCA76+Kv9cTYb7a2VlJmRWHDMSZdb2rysgSotP4GTI=
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: 0f6ef7b87a7b3c54
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YrrNGjCZrNSyXNoOIjXxgQBkLWNzYM+Nivsi3Js1a9v1rjcZy2kGtpIkwV5IcBCAH6ta9VsKEILEMR3Arpc2dC8Y3uJCYLlcwegVFbYd2PCqqE5tZfjTt9G2kPyuM8dFHqz1hT3mMZVFlJsVRdUMHogjq76ZCz7LKZGw5ZpVHDwip7Wmo+ZfsBhR/9yWKQG2gE84yDbYevrmW0fwj9nZJwm3qSPV2Qv/xs/gouWnDECgoRUv/HTjAOq7fDOCHUWXhQpSzDIvStuL7o9WO8EzzeuyYZiIE3Hz3T1WLAu9OQHZYr/XtPwicaPhxsgpJE1EFAHdkXykGsMa7Xbj3TRwMw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F+imr9Fvw7+ydrW6GcafTxf2V/lPdnwSEjm262AZCEs=;
 b=SKUj8t+Dh57/G4Pd9jlKSp/qo5J3tUffceNPGZpWFKWg4iA2F3leJKEL4tY53JHp/SXKy3LjUcsVgv6jXMLDh8Y1M/FwaXKUjckcA/Ma5v/+GCw0BdFY5IYj1Xv2Rdr2t0NwHEylE7+4am1V0eXjNnkXOydJFpxKLEg84o+AiuDUCZI3AjjrKguA8WfBYjyKyPMlsXrWT3fXjPswEqBZiCKmyhLrXZSEbnHRmocgYmU0qGPnQuERgsZAQzD6jPW6T7IbKQiY+zh+S8mQieP6R7Y3AALFyVEqLc2vZJNd56UWyn421KqwyCSYdiPbCSbOG2mOKb3L/5C90MANfKWqpw==
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=F+imr9Fvw7+ydrW6GcafTxf2V/lPdnwSEjm262AZCEs=;
 b=zUclnHNLnKDX1EHEIP6xbYstWgCH28zhZLnj64yOZ6hL2k8JJYKPRKys/laoj02xCw9Aq0d2TgkD2yuO/emnCc/ReNdvFuVyRbevH5QV+3GTO1IUNT1ytMCKTvA/+tITllCA76+Kv9cTYb7a2VlJmRWHDMSZdb2rysgSotP4GTI=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, Andrew
 Cooper <andrew.cooper3@citrix.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <Michal.Orzel@amd.com>, Wei Liu <wl@xen.org>, George Dunlap
	<george.dunlap@cloud.com>
Subject: Re: Clang-format configuration discussion - pt 2
Thread-Topic: Clang-format configuration discussion - pt 2
Thread-Index: AQHaHhwDfni7SbjBtk6S7YLD/w4HebCJUeoAgAANCgCAAAc3gIAAATaA
Date: Fri, 24 Nov 2023 12:29:10 +0000
Message-ID: <DB3B132B-0148-4AD7-9BC0-5D4C50D8E6BF@arm.com>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <CA+zSX=YL0fjM+ZTEoXNpzQ9iFKFwzdZRR-QsyQAZCQVeOGdj6A@mail.gmail.com>
 <DE78DF95-3E57-4283-8252-01A0BA2219F8@arm.com>
 <ced05080-ef2b-4288-93be-74535a7a3982@suse.com>
In-Reply-To: <ced05080-ef2b-4288-93be-74535a7a3982@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PAWPR08MB10260:EE_|DB5PEPF00014B9A:EE_|GV1PR08MB7708:EE_
X-MS-Office365-Filtering-Correlation-Id: d5513b19-66a8-4704-a90c-08dbece8fd76
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:
 GO/pamyFkSYdmtv/qfq1u25j0Z1OfYJeoLq5pxSe9xpH9bF+BuP1ayl8xrSMOqY4hzfo264m9UyqNLzmYQVaO4EBjmHPW8pRLZ9m8+444fBCswyJU6VX84NI2399jQbsrKzUkFiV9MM4Uq7peoP2rVwixA4yy2Az9deRF0sPPk1iDuTLuUefGrQFDtfu3kuZyZfhS5AGljjzSkbBTu+IkaZu5/bFjQWwXW9pSY7PSwlNcCPtC41iWS02uKI4KxyYmxzraqgB05zbrkOW9M7tSgVj6zPlwbS7qYWau+gH9UWfWxaTgEUkB9jKG/qlFBqX/BSnwJm+snD6N095ISnIJi5q1el2QTWeh0QbRGe5a3PH+igzW+F0LFZmPYu7AFE4L2Ts9ycpIlMh2LgX0KWp6OVD6ifWX7gb94kpMkqP0sTMPdxxirx99R3mA+Dsd1TZEptuC03p2qk2YElm4wu1wiAP+7cm8AeUJ9me2i40CDSIinLLqf+r0Fiw2BNr8QihttIBa5j9blcbRmJQKnTp7rNMXeCCfW+dbIMBKSXVt6noTQsXhCDbh/00IVE0U5/nKp42RDXZjXxb8UGD8yVUJSTaJgTH42+OoS7Pb+YUgeugxsETDQzRvG+GX0zQQfiLmyw08BQRDp2aF78w0Jiwow==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(366004)(39860400002)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(6486002)(966005)(53546011)(6506007)(38070700009)(36756003)(122000001)(6512007)(26005)(66446008)(2906002)(5660300002)(2616005)(86362001)(4326008)(91956017)(83380400001)(66476007)(41300700001)(8676002)(66946007)(64756008)(54906003)(8936002)(76116006)(66556008)(316002)(33656002)(6916009)(38100700002)(71200400001)(478600001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <1F35428D9ABAF64E8C799D26387C6416@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB10260
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:
 DB5PEPF00014B9A.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b554c4a7-2728-41c0-967c-08dbece8f59f
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	6Nhb+yg79Y6BlXwGEmVmy8M0O/RiCL/IMeleY5/nj9swMplJNAt43DPG1CalzqJ7s3sH8sd6FvafT2RIzKK+dLFxe0TJXfyeCnSq1owx0CvCnjwatot5B5N/4PHD2jEHGmYzjZszRtFkPA/yLDcxsWWdka+PSju4jX08CaTT4oW9TuhJ5ktTaSaDHL5AeOSTRKYYvsjsJxIlyVLP/dfal99onIoECcaMFJ0KcVZKNs40IMYi47UpF3819Y+UrOdhYWr+mgSWcmhDc951/abcoetSvP09dCmoS2pYiSUyePfSeb+FF8uusiVVYDomUfUJ/0kBfa37AuQbm/Do1O12R/XNqERUUYhiLGnSySc4WMpgSPcvgI5WjQ4BoGAhPOSNCHeJHDUMobq3COV1pntAOay7sGgmDHllu1QauKv/oBASSEZ1yCGuOrghQGowe5yMMgpbVyfcd5Fi++927BCCxdtaVLV71VpRyPvIG5tvIquZ57coWg4pL5yJv4kL8aDax2/7wNBvSf76LSwQPMiy4+dc2d3c7uANe4uvQOzmWeu0I1k04D5aRecJTl671Q6s6zuSPQp2iiVRbp02kEANy78/QvffHqQdDaML5nz2lUJFk3v4EqaC/nyjSdjZnMNOh7TXFcUjccCt0QDSjbWZ4kWZ5Jag/3RriJPsW4+0aMe/S+vy7cigINnE/d+L60FJ3vHCXJZOw1w/mkxfqZgnqGhhgzvGUYDXU+dkJxWuO3I=
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:(13230031)(4636009)(376002)(136003)(346002)(396003)(39860400002)(230922051799003)(82310400011)(64100799003)(451199024)(186009)(1800799012)(46966006)(36840700001)(40470700004)(4326008)(70586007)(70206006)(8676002)(8936002)(6862004)(316002)(53546011)(54906003)(6506007)(107886003)(40460700003)(2616005)(6512007)(966005)(478600001)(6486002)(2906002)(36756003)(33656002)(41300700001)(5660300002)(36860700001)(47076005)(86362001)(40480700001)(81166007)(356005)(82740400003)(83380400001)(336012)(26005);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 12:29:23.2037
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d5513b19-66a8-4704-a90c-08dbece8fd76
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:
	DB5PEPF00014B9A.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB7708

DQoNCj4gT24gMjQgTm92IDIwMjMsIGF0IDEyOjI0LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjQuMTEuMjAyMyAxMjo1OSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IEBAIC0zMzMzLDE5ICszMzE4LDE4IEBAIHN0YXRpYyBpbnQgX19pbml0IGFsbG9j
X2RvbWFpbl9ldnRjaG4oc3RydWN0IGR0X2RldmljZV9ub2RlICpub2RlKQ0KPj4gcmMgPSBldnRj
aG5fYWxsb2NfdW5ib3VuZCgmYWxsb2NfdW5ib3VuZCwgZG9tVTFfcG9ydCk7DQo+PiBpZiAoIHJj
IDwgMCApDQo+PiB7DQo+PiAtIHByaW50ayhYRU5MT0dfRVJSDQo+PiAtICJldnRjaG5fYWxsb2Nf
dW5ib3VuZCgpIGZhaWx1cmUgKEVycm9yICVkKSBcbiIsIHJjKTsNCj4+ICsgcHJpbnRrKFhFTkxP
R19FUlIgImV2dGNobl9hbGxvY191bmJvdW5kKCkgZmFpbHVyZSAoRXJyb3IgJWQpIFxuIiwgcmMp
Ow0KPj4gcmV0dXJuIHJjOw0KPj4gfQ0KPj4gLSBiaW5kX2ludGVyZG9tYWluLnJlbW90ZV9kb20g
PSBkMS0+ZG9tYWluX2lkOw0KPj4gKyBiaW5kX2ludGVyZG9tYWluLnJlbW90ZV9kb20gPSBkMS0+
ZG9tYWluX2lkOw0KPj4gYmluZF9pbnRlcmRvbWFpbi5yZW1vdGVfcG9ydCA9IGRvbVUxX3BvcnQ7
DQo+PiByYyA9IGV2dGNobl9iaW5kX2ludGVyZG9tYWluKCZiaW5kX2ludGVyZG9tYWluLCBkMiwg
ZG9tVTJfcG9ydCk7DQo+PiBpZiAoIHJjIDwgMCApDQo+PiB7DQo+PiANCj4+IEFzc2lnbm1lbnQg
b2YgYmluZF9pbnRlcmRvbWFpbi5yZW1vdGVfZG9tIHdhcyBhbGlnbmVkIHdpdGggdGhlIGZvbGxv
d2luZyBsaW5lLCBidXQgc2luY2UgdGhlIHZhbHVlDQo+PiBvZiB0aGlzIGNvbmZpZ3VyYWJsZSBp
cyDigJxOb25l4oCdLCBjbGFuZy1mb3JtYXQgaXMgbW9kaWZ5aW5nIHRoYXQgdG8gdXNlIG9ubHkg
b25lIHNwYWNlIGJlZm9yZSB0aGUgYXNzaWdubWVudA0KPj4gb3BlcmF0b3IuDQo+IA0KPiBOZWl0
aGVyIGhlcmUgbm9yIC4uLg0KPiANCj4+IE9uZSBleGFtcGxlIHJlbGF0ZWQgdG8gbWFjcm9zIGNh
biBiZSBmb3VuZCBvbiBsaW5lIDE2NjM6DQo+PiANCj4+IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9h
cm0vYXJtMzIvaW5zbi5jIGIveGVuL2FyY2gvYXJtL2FybTMyL2luc24uYw0KPj4gaW5kZXggNDk5
NTNhMDQyYS4uMTYzNWM0YjZkMSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL2FybS9hcm0zMi9p
bnNuLmMNCj4+ICsrKyBiL3hlbi9hcmNoL2FybS9hcm0zMi9pbnNuLmMNCj4+IEBAIC0xOSw5ICsx
OSw5IEBADQo+PiAjaW5jbHVkZSA8YXNtL2luc24uaD4NCj4+IC8qIE1hc2sgb2YgYnJhbmNoIGlu
c3RydWN0aW9ucycgaW1tZWRpYXRlLiAqLw0KPj4gLSNkZWZpbmUgQlJBTkNIX0lOU05fSU1NX01B
U0sgR0VOTUFTSygyMywgMCkNCj4+ICsjZGVmaW5lIEJSQU5DSF9JTlNOX0lNTV9NQVNLIEdFTk1B
U0soMjMsIDApDQo+PiAvKiBTaGlmdCBvZiBicmFuY2ggaW5zdHJ1Y3Rpb25zJyBpbW1lZGlhdGUu
ICovDQo+PiAtI2RlZmluZSBCUkFOQ0hfSU5TTl9JTU1fU0hJRlQgMA0KPj4gKyNkZWZpbmUgQlJB
TkNIX0lOU05fSU1NX1NISUZUIDANCj4+IA0KPj4gQ2xhbmcgZm9ybWF0IHNlZXMgdGhlIGNvbW1l
bnQgYmV0d2VlbiBCUkFOQ0hfSU5TTl9JTU1fTUFTSyBhbmQgQlJBTkNIX0lOU05fSU1NX1NISUZU
IGFuZA0KPj4gZXZlbiBpZiBiZWZvcmUgdGhlIHZhbHVlIG9mIHRoZSBtYWNyb3Mgd2VyZSBhbGln
bmVkLCBpdCBhcHBsaWVzIHRoZSBydWxlIG9mIG9uZSBzcGFjZSBiZXR3ZWVuIHRoZSBtYWNybyBu
YW1lDQo+PiBhbmQgdGhlIHZhbHVlLg0KPiANCj4gLi4uIGhlcmUgdGhlcmUgaXMgYW55IGNoYW5n
ZSBpbiB0aGUgZm9ybWF0dGluZyBvbiB0aGUgbGluZXMgaW4gcXVlc3Rpb24uDQo+IEkgd2FzIGZp
cnN0IHN1c3BlY3RpbmcgYSBwb3NzaWJsZSBpc3N1ZSB3aXRoIG15IG1haWwgVUksIGJ1dA0KPiBo
dHRwczovL2xpc3RzLnhlbi5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAyMy0xMS9tc2cw
MjEzMi5odG1sDQo+IGxvb2tzIHRvIGNvbmZpcm0gdGhlIGlzc3VlIHRvIG1vcmUgbGlrZWx5IGJl
IG9uIHlvdXIgZW5kIChhcHBhcmVudGx5IGFsc28NCj4gcmVzdWx0aW5nIGluIGxlYWRpbmcgd2hp
dGVzcGFjZSBoYXZpbmcgYmVlbiBkcm9wcGVkKS4NCg0KWWVzIGluZGVlZCwgaXQgc2VlbXMgdGhh
dCBjb3B5IHBhc3RlIHJlbW92ZWQgdGhlIG9yaWdpbmFsIGZvcm1hdHRpbmcsDQpidXQgdGhlc2Ug
c25pcHBldHMgY2FuIGJlIGNoZWNrZWQgaW4gdGhlIHBhdGNoIGZpbGUgSSBsaW5rZWQsIEnigJl2
ZSBhZGRlZA0KYSBsaW5lIG51bWJlci4NClNvcnJ5IGZvciB0aGUgaW5jb252ZW5pZW5jZS4NCg0K
Q2hlZXJzLA0KTHVjYQ0KDQo=


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:30:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:30:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640635.999113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6VKP-0006bg-5A; Fri, 24 Nov 2023 12:30:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640635.999113; Fri, 24 Nov 2023 12: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 1r6VKP-0006bX-2Z; Fri, 24 Nov 2023 12:30:37 +0000
Received: by outflank-mailman (input) for mailman id 640635;
 Fri, 24 Nov 2023 12: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=TtXz=HF=redhat.com=imammedo@srs-se1.protection.inumbo.net>)
 id 1r6VKO-0006W5-1C
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:30:36 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4286d232-8ac5-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 13:30:33 +0100 (CET)
Received: from mail-ej1-f72.google.com (mail-ej1-f72.google.com
 [209.85.218.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-609-764UsHq8PWG6qsSSWXmzag-1; Fri, 24 Nov 2023 07:30:30 -0500
Received: by mail-ej1-f72.google.com with SMTP id
 a640c23a62f3a-9fd0a58549bso212631766b.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 04:30:30 -0800 (PST)
Received: from imammedo.users.ipa.redhat.com ([185.140.112.229])
 by smtp.gmail.com with ESMTPSA id
 z2-20020a170906074200b009d268e3b801sm2005640ejb.37.2023.11.24.04.30.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 04:30:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4286d232-8ac5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1700829032;
	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=SOnQZJiPoycuaOOjIvzYkhhazzVkk/CroKuGK8Q3kS4=;
	b=EMhi0IVHf+TTvqryj3L+HFy7U2v+qWUEQwuyN56/JFiaXlS0e5AKvQBwfK36zMlLM/KkCq
	d5DuZ4mpR15z8H7tGXCaUU9ZakfYywaSrO+JSrXLU6RpslDNOD7y0UFZFW+VWqvPQSuFb5
	0aoOVanSxstglhcCiwjGwX/ugws6XgY=
X-MC-Unique: 764UsHq8PWG6qsSSWXmzag-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700829030; x=1701433830;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:subject:cc:to:from:date:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=SOnQZJiPoycuaOOjIvzYkhhazzVkk/CroKuGK8Q3kS4=;
        b=nA8UjZ+xECrWbW1sNa24HefX2cBdvasXVzFl7gfexWzAWwexX/ziwVf2DibTeiqTAk
         9oSteZB9eqUkUIG9uBOCNArS38b1YFkqpuNLvhqEW8ILzyYGFq+3DQo0dc8ui/SmTjSu
         pin9U1YzYkgTCpmb/OO73cgM7JoF/4K0umYIWP48LKepISeNrjsqQ2gIJoUtm8zlfdqg
         B7PkKfTjQ1W0QxKVEUSnyjaBiXfRdJ/dS5q+xd/1jF0hg+XxDCL3MhXCC4QVH5xgRXgP
         iPm33SbwnAxN9nK9Y7fTgTcgJPanoZhK4BSvyBztCg/mNXud6YcrZJx6GS27Q9j/iQ5A
         42zA==
X-Gm-Message-State: AOJu0Yxj4AyDWcGKsQNjsbWTHfiud2hTOySSq+l/GEcMSETBcIxuc5BC
	fmWCZNwmVfoUDhBf1QmafoN5qVdkAxVtuosK223K5tcFSZeyNXU7famNZMSsiybepnOgY+D9yiu
	aiU+U3KxruajFaQN3UV3zi48SNGc=
X-Received: by 2002:a17:906:5308:b0:a01:bd67:d2fb with SMTP id h8-20020a170906530800b00a01bd67d2fbmr5048526ejo.0.1700829029730;
        Fri, 24 Nov 2023 04:30:29 -0800 (PST)
X-Google-Smtp-Source: AGHT+IF5hhYCSBRFGjFVJaIpCtN6Ifeb8GN525CYnoyjVkMd+Ma3rQLs4ESjB+FNOmY5MZ/w2M2iWg==
X-Received: by 2002:a17:906:5308:b0:a01:bd67:d2fb with SMTP id h8-20020a170906530800b00a01bd67d2fbmr5048504ejo.0.1700829029358;
        Fri, 24 Nov 2023 04:30:29 -0800 (PST)
Date: Fri, 24 Nov 2023 13:30:28 +0100
From: Igor Mammedov <imammedo@redhat.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, David Woodhouse
 <dwmw@amazon.co.uk>, Stefano Stabellini <sstabellini@kernel.org>, Julien
 Grall <julien@xen.org>, Oleksandr Tyshchenko
 <Oleksandr_Tyshchenko@epam.com>, Peter Maydell <peter.maydell@linaro.org>,
 Anthony Perard <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>,
 "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>, "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support
Message-ID: <20231124133028.72ba1d6e@imammedo.users.ipa.redhat.com>
In-Reply-To: <20231121221023.419901-7-volodymyr_babchuk@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	<20231121221023.419901-7-volodymyr_babchuk@epam.com>
X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; x86_64-redhat-linux-gnu)
MIME-Version: 1.0
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

On Tue, 21 Nov 2023 22:10:28 +0000
Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> wrote:

> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> 
> The bridge is needed for virtio-pci support, as QEMU can emulate the
> whole bridge with any virtio-pci devices connected to it.
> 
> This patch provides a flexible way to configure PCIe brige resources
> with xenstore. We made this for several reasons:
> 
> - We don't want to clash with vPCI devices, so we need information
>   from Xen toolstack on which PCI bus to use.
> - The guest memory layout that describes these resources is not stable
>   and may vary between guests, so we cannot rely on static resources
>   to be always the same for both ends.
> - Also the device-models which run in different domains and serve
>   virtio-pci devices for the same guest should use different host
>   bridge resources for Xen to distinguish. The rule for the guest
>   device-tree generation is one PCI host bridge per backend domain.
> 
> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> 
> ---
> 
> Changes from v1:
> 
>  - Renamed virtio_pci_host to pcie_host entries in XenStore, because
>  there is nothing specific to virtio-pci: any PCI device can be
>  emulated via this newly created bridge.
> ---
>  hw/arm/xen_arm.c            | 186 ++++++++++++++++++++++++++++++++++++
>  hw/xen/xen-hvm-common.c     |   9 +-
>  include/hw/xen/xen_native.h |   8 +-
>  3 files changed, 200 insertions(+), 3 deletions(-)
> 
> diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
> index b9c3ae14b6..d506d55d0f 100644
> --- a/hw/arm/xen_arm.c
> +++ b/hw/arm/xen_arm.c
> @@ -22,6 +22,7 @@
>   */
>  
>  #include "qemu/osdep.h"
> +#include "qemu/cutils.h"
>  #include "qemu/error-report.h"
>  #include "qapi/qapi-commands-migration.h"
>  #include "qapi/visitor.h"
> @@ -34,6 +35,9 @@
>  #include "hw/xen/xen-hvm-common.h"
>  #include "sysemu/tpm.h"
>  #include "hw/xen/arch_hvm.h"
> +#include "exec/address-spaces.h"
> +#include "hw/pci-host/gpex.h"
> +#include "hw/virtio/virtio-pci.h"
>  
>  #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
>  OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
> @@ -58,6 +62,11 @@ struct XenArmState {
>      struct {
>          uint64_t tpm_base_addr;
>      } cfg;
> +
> +    MemMapEntry pcie_mmio;
> +    MemMapEntry pcie_ecam;
> +    MemMapEntry pcie_mmio_high;
> +    int         pcie_irq;
>  };
>  
>  static MemoryRegion ram_lo, ram_hi;
> @@ -73,6 +82,7 @@ static MemoryRegion ram_lo, ram_hi;
>  #define NR_VIRTIO_MMIO_DEVICES   \
>     (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST)
>  
> +/* TODO It should be xendevicemodel_set_pci_intx_level() for PCI interrupts. */
>  static void xen_set_irq(void *opaque, int irq, int level)
>  {
>      if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
> @@ -129,6 +139,176 @@ static void xen_init_ram(MachineState *machine)
>      }
>  }
>  
> +static void xen_create_pcie(XenArmState *xam)
> +{
> +    MemoryRegion *mmio_alias, *mmio_alias_high, *mmio_reg;
> +    MemoryRegion *ecam_alias, *ecam_reg;
> +    DeviceState *dev;
> +    int i;
> +
> +    dev = qdev_new(TYPE_GPEX_HOST);
> +    sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
> +
> +    /* Map ECAM space */
> +    ecam_alias = g_new0(MemoryRegion, 1);
> +    ecam_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0);
> +    memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam",
> +                             ecam_reg, 0, xam->pcie_ecam.size);
> +    memory_region_add_subregion(get_system_memory(), xam->pcie_ecam.base,
> +                                ecam_alias);
> +
> +    /* Map the MMIO space */
> +    mmio_alias = g_new0(MemoryRegion, 1);
> +    mmio_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1);
> +    memory_region_init_alias(mmio_alias, OBJECT(dev), "pcie-mmio",
> +                             mmio_reg,
> +                             xam->pcie_mmio.base,
> +                             xam->pcie_mmio.size);
> +    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio.base,
> +                                mmio_alias);
> +
> +    /* Map the MMIO_HIGH space */
> +    mmio_alias_high = g_new0(MemoryRegion, 1);
> +    memory_region_init_alias(mmio_alias_high, OBJECT(dev), "pcie-mmio-high",
> +                             mmio_reg,
> +                             xam->pcie_mmio_high.base,
> +                             xam->pcie_mmio_high.size);
> +    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio_high.base,
> +                                mmio_alias_high);
> +
> +    /* Legacy PCI interrupts (#INTA - #INTD) */
> +    for (i = 0; i < GPEX_NUM_IRQS; i++) {
> +        qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL,
> +                                         xam->pcie_irq + i);
> +
> +        sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, irq);
> +        gpex_set_irq_num(GPEX_HOST(dev), i, xam->pcie_irq + i);
> +    }
> +

> +    DPRINTF("Created PCIe host bridge\n");
replace DPRINTFs with trace_foo(), see 885f380f7be for example

> +}
> +
> +static bool xen_read_pcie_prop(XenArmState *xam, unsigned int xen_domid,
> +                               const char *prop_name, unsigned long *data)
> +{
> +    char path[128], *value = NULL;
> +    unsigned int len;
> +    bool ret = true;
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/%s",
> +             xen_domid, prop_name);

try to avoid usage of snprintf() in series
see d2fe2264679 as an example

> +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
maybe use g_autofree

> +
> +    if (qemu_strtou64(value, NULL, 16, data)) {
> +        error_report("xenpv: Failed to get 'pcie_host/%s' prop",
> +                     prop_name);

if it's error, then better would be to use error_fatal so qemu would exit
on the 1st encounter.

> +        ret = false;
> +    }
> +
> +    free(value);
> +
> +    return ret;
> +}
> +
> +static int xen_get_pcie_params(XenArmState *xam)
> +{
> +    char path[128], *value = NULL, **entries = NULL;
> +    unsigned int len, tmp;
> +    int rc = -1;
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host",
> +             xen_domid);
> +    entries = xs_directory(xam->state->xenstore, XBT_NULL, path, &len);
> +    if (entries == NULL) {
> +        error_report("xenpv: 'pcie_host' dir is not present");
> +        return -1;
> +    }
> +    free(entries);

maybe use g_autofree for strings in this function

> +    if (len != 9) {
> +        error_report("xenpv: Unexpected number of entries in 'pcie_host' dir");
> +        goto out;
> +    }
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/id",
> +             xen_domid);
> +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> +    if (qemu_strtoui(value, NULL, 10, &tmp)) {
> +        error_report("xenpv: Failed to get 'pcie_host/id' prop");
> +        goto out;
> +    }
> +    free(value);

> +    value = NULL;
and then get rid of pointless assignment 

> +    if (tmp > 0xffff) {
> +        error_report("xenpv: Wrong 'pcie_host/id' value %u", tmp);
> +        goto out;
> +    }
> +    xen_pci_segment = tmp;
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_base",
> +                            &xam->pcie_ecam.base)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "ecam_size",
> +                            &xam->pcie_ecam.size)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "mem_base",
> +                            &xam->pcie_mmio.base)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "mem_size",
> +                            &xam->pcie_mmio.base)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_base",
> +                            &xam->pcie_mmio_high.base)) {
> +        goto out;
> +    }
> +
> +    if (!xen_read_pcie_prop(xam, xen_domid, "prefetch_mem_size",
> +                            &xam->pcie_mmio_high.size)) {
> +        goto out;
> +    }
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/irq_first",
> +             xen_domid);
> +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> +    if (qemu_strtoi(value, NULL, 10, &xam->pcie_irq)) {
> +        error_report("xenpv: Failed to get 'pcie_host/irq_first' prop");
> +        goto out;
> +    }
> +    free(value);
> +    value = NULL;
> +    DPRINTF("PCIe host bridge: irq_first %u\n", xam->pcie_irq);
> +
> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/num_irqs",
> +             xen_domid);
> +    value = xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> +    if (qemu_strtoui(value, NULL, 10, &tmp)) {
> +        error_report("xenpv: Failed to get 'pcie_host/num_irqs' prop");
> +        goto out;
> +    }
> +    free(value);
> +    value = NULL;
> +    if (tmp != GPEX_NUM_IRQS) {
> +        error_report("xenpv: Wrong 'pcie_host/num_irqs' value %u", tmp);
> +        goto out;
> +    }
> +    DPRINTF("PCIe host bridge: num_irqs %u\n", tmp);
> +
> +    rc = 0;
> +out:
> +    if (value) {
> +        free(value);
> +    }
> +
> +    return rc;
> +}
> +
>  void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
>  {
>      hw_error("Invalid ioreq type 0x%x\n", req->type);
> @@ -189,6 +369,12 @@ static void xen_arm_init(MachineState *machine)
>      xen_register_ioreq(xam->state, machine->smp.cpus, &xen_memory_listener);
>  
>      xen_create_virtio_mmio_devices(xam);
> +    if (!xen_get_pcie_params(xam)) {
> +        xen_create_pcie(xam);
> +    } else {
> +        DPRINTF("PCIe host bridge is not available,"
> +                "only virtio-mmio can be used\n");

so if something went wrong, it will be just ignored.
Is it really expected behavior?

> +    }
>  
>  #ifdef CONFIG_TPM
>      if (xam->cfg.tpm_base_addr) {
> diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
> index 565dc39c8f..0f78f15057 100644
> --- a/hw/xen/xen-hvm-common.c
> +++ b/hw/xen/xen-hvm-common.c
> @@ -47,6 +47,8 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr,
>      g_free(pfn_list);
>  }
>  
> +uint16_t xen_pci_segment;
> +
>  static void xen_set_memory(struct MemoryListener *listener,
>                             MemoryRegionSection *section,
>                             bool add)
> @@ -382,7 +384,12 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_t *req)
>      }
>  
>      QLIST_FOREACH(xendev, &state->dev_list, entry) {
> -        if (xendev->sbdf != sbdf) {
> +        /*
> +         * As we append xen_pci_segment just before forming dm_op in
> +         * xen_map_pcidev() we need to check with appended xen_pci_segment
> +         * here as well.
> +         */
> +        if ((xendev->sbdf | (xen_pci_segment << 16)) != sbdf) {
>              continue;
>          }
>  
> diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
> index 6f09c48823..2b1debaff4 100644
> --- a/include/hw/xen/xen_native.h
> +++ b/include/hw/xen/xen_native.h
> @@ -431,6 +431,8 @@ static inline void xen_unmap_io_section(domid_t dom,
>                                                      0, start_addr, end_addr);
>  }
>  
> +extern uint16_t xen_pci_segment;
> +
>  static inline void xen_map_pcidev(domid_t dom,
>                                    ioservid_t ioservid,
>                                    PCIDevice *pci_dev)
> @@ -441,7 +443,8 @@ static inline void xen_map_pcidev(domid_t dom,
>  
>      trace_xen_map_pcidev(ioservid, pci_dev_bus_num(pci_dev),
>                           PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->devfn));
> -    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid, 0,
> +    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid,
> +                                              xen_pci_segment,
>                                                pci_dev_bus_num(pci_dev),
>                                                PCI_SLOT(pci_dev->devfn),
>                                                PCI_FUNC(pci_dev->devfn));
> @@ -457,7 +460,8 @@ static inline void xen_unmap_pcidev(domid_t dom,
>  
>      trace_xen_unmap_pcidev(ioservid, pci_dev_bus_num(pci_dev),
>                             PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->devfn));
> -    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid, 0,
> +    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid,
> +                                                  xen_pci_segment,
>                                                    pci_dev_bus_num(pci_dev),
>                                                    PCI_SLOT(pci_dev->devfn),
>                                                    PCI_FUNC(pci_dev->devfn));



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:43:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:43:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640641.999124 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6VWg-0004gO-Ai; Fri, 24 Nov 2023 12:43:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640641.999124; Fri, 24 Nov 2023 12: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 1r6VWg-0004fX-5Z; Fri, 24 Nov 2023 12:43:18 +0000
Received: by outflank-mailman (input) for mailman id 640641;
 Fri, 24 Nov 2023 12:43: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 1r6VWe-0004Zk-Mf; Fri, 24 Nov 2023 12:43: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 1r6VWe-0004Ev-CY; Fri, 24 Nov 2023 12:43: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 1r6VWd-0007pe-Vg; Fri, 24 Nov 2023 12:43:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6VWd-00072t-VC; Fri, 24 Nov 2023 12:43: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=4BTiRoyG15pFLHu6pnzgGw8ff9ssZ9e90r+R3aKG040=; b=oX1I4m3sNdCAJU+7CTGxDP/5aY
	OrQrGNLF/5NC/0KzxHf8L5DZHGc0r84E8kqfacriwztsFZ3odUewne9n78xEVdoY7rkBVzdiamRQF
	bfh6fA1rZlp6QE4epUHkA0kALJ5UtiDBv56gU7641NWHRZXX3dW4BOmnikidLNX34+/Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183847-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183847: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt:migrate-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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-libvirt-raw:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    xen=f96e2f64576cdbb147391c7cb399d393385719a9
X-Osstest-Versions-That:
    xen=c22fe7213c9b1f99cbc64c33e391afa223f9cd08
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Nov 2023 12:43:15 +0000

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

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 183839
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183839
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183839
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183839
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183839
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183839
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183839
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183839
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183839
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183839
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183839
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183839
 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-xsm 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-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-libvirt-xsm 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-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          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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-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-libvirt     15 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:
 xen                  f96e2f64576cdbb147391c7cb399d393385719a9
baseline version:
 xen                  c22fe7213c9b1f99cbc64c33e391afa223f9cd08

Last test of basis   183839  2023-11-23 09:43:27 Z    1 days
Testing same since   183847  2023-11-23 20:09:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Henry Wang <Henry.Wang@arm.com>
  Jan Beulich <jbeulich@suse.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stewart Hildebrand <stewart.hildebrand@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                                          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-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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   c22fe7213c..f96e2f6457  f96e2f64576cdbb147391c7cb399d393385719a9 -> master


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:47:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:47:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640664.999200 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Vaf-00075o-Ku; Fri, 24 Nov 2023 12:47:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640664.999200; Fri, 24 Nov 2023 12:47: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 1r6Vaf-00075h-Hv; Fri, 24 Nov 2023 12:47:25 +0000
Received: by outflank-mailman (input) for mailman id 640664;
 Fri, 24 Nov 2023 12:47: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6Vae-00075b-PO
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:47:24 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0628.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::628])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d11d052-8ac7-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 13:47:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8196.eurprd04.prod.outlook.com (2603:10a6:20b:3e9::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 12:47:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 12:47: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: 9d11d052-8ac7-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G6szqs3C3opcLwHvNV+KTY7nYwGtGFUQe+YDCq63gBQKvcEyiJjQkvgHvIzTI6kz39uS1rH7Y63KuH0RlTN2MJgzZP0MLs3PxhZr/+RTcICxQ+CqAoO2q6Wg87feiIyf2DLzkKCwuQqde97fltMAgQllCk6HSFqVtSHBr/O/Z72DfNU1cis4mKawjqUsRzLXjb8ifg97Ef6TGYiLvdqzzUJIAyhM46+rHZNBuOmuDsFSc1KVL+Gf0qRKVjR+7XBhTwSOkFmBUlqNYNCDiiqUWNoVE4XdxEldlMId2V8ojdVPafkVKTIJPmUZhjQq2GyysbKTzOQpkOGi4H3w4DOL3g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xeF6dLSwz+mFiIfBIWs4Ze+QNXHHg4PqH1GD9i/IG6A=;
 b=mek5FIMGDBTnwcDq80Zw9arEIexFYv7Yq4Ob4zrLgqSId7o0HutNdG5as1Gqnt8o01lTlXELVvps/pzrczhQj9NYXiUVvV9a+R+xKWXXh0ep2xu53n7T/DCSmj/uAgkKsvGPV6weP02mOalF3h3sX3sP7dfUk/PbDFGKaxVVjLrQntzCWNkom95M0gQ4lyEzRRFvPRngjilRwJ/PjyMYB4qo2J0w4AhFNXmAS0QjrveNw4BnrcCN3DTfFsGbYWfyfVALpp1X/F80vYef2IemjdyjFMljTK6XcTkk6UaluCSnfTkzDGD/kqBCek5RAKCR2UX0EmOsIJshOq3zJR8ZXg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xeF6dLSwz+mFiIfBIWs4Ze+QNXHHg4PqH1GD9i/IG6A=;
 b=v21OwbvRuKrfM0TV+HWn2gjCPdYVdPHEfhWcMHg4o4sg1EgLnR3sd3QIus5oxHQsKKHJ8IDcfn7B+rJtztt68nkykRePI0l/zuhXEAA3wUhxP61afGzRc7bp7ygTf0HL4XfTGilDzoJfeuUga26p3EkWGEqQjgF/ZOjbl+77W+j5satQV6D9t5OoMLS2MexHMDqnzRh/cu5vyECiXi2cdHno47LG/QDqk5NuFQ+BNYEZXUXyRpoqVxR/A8RqIyt3W02s+3txTdQmiWwzpf5C+ALYikM0WM6qNfNDxy7WMKnDjKJeUtd11BfI62jTuvFNiRJOUI0Dxwkoqg7SAlV6Ig==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
Date: Fri, 24 Nov 2023 13:47:19 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Clang-format configuration discussion - pt 2
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <Michal.Orzel@amd.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0293.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e7::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8196:EE_
X-MS-Office365-Filtering-Correlation-Id: df3a4efc-fe40-4d01-9e3e-08dbeceb8000
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SdrZUaRJh+oJq2Dvxnpf+UEJEPLjKXzL1eaL7iOJy3ojPNBwEPoYzxxjUwXmffaove5XQNjtM6UDPupbnqEyXNHccuqR+29vwVQ244U9ebRgUYhE2gjhq4ko/KwM31jFmB9uvSNzKDkq79QnPRlvqfZV5S4GLu2AYdHKy6P4UdTQW5gQ4keUbo451kS9PxzWCySJcibcz2hCS6CG56YHoj6i+6KZLB3gz11qEZixPh8mDbGY8GZwm+d+E+xdDD05d6sr/iXetN2y9wRjsdffrzZQYBRHduZJO2vWIj2ptbVfaEofUUxWdbT6h0zWG76mGrADIvcqF4LEaI9Wf4g1E7F4icvej7wyAufxo/rDAoen6Lu9FsRcOnyt7zCotvtdWFRKjQIgsT7Mro7i6ftUButRpWEwRROG8o/VKM2urw73RF2uQ1ndRYs6NK/gyXZnL9er2CTJKurT9dyKW341JQdYh6REQQuG9/2QsMtcHWbZnhGQYFu9hOjFIhDAOQ6rb5Wlus4HUdVMu8jKKEYM1+BKi6N6j9EXds53PADrx3M1lfCLgvleERF8qAXPpj9nl9TYKjgq6jlHskEyh6puK0R5uYus85SCojJHI9pqXshBRQJDzUQOY3sL7PjfiE+oXD/yoN7tksCD1D1YaOA0DQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(39860400002)(376002)(396003)(136003)(366004)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(31686004)(26005)(6512007)(53546011)(83380400001)(2616005)(6506007)(966005)(478600001)(6486002)(66946007)(66476007)(316002)(54906003)(2906002)(86362001)(66556008)(31696002)(5660300002)(7416002)(6916009)(36756003)(8676002)(8936002)(38100700002)(4326008)(66899024)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TlBUZjA4M054eDVTYzNDRTFlMkQzN3paSERNLzl5bFhrMUxvZkk2cm51Z0hq?=
 =?utf-8?B?NVpva012djVhK3RCY01nek5tbW5McCtLMGtKU2wyY2JTN2RUb2hxOEFHaVZR?=
 =?utf-8?B?b1ZRNTVzaFM1L0tjM0ZQOHRvNkdsR3BiNXFLTXlDRnI4eElnb2FCVkhYV1Na?=
 =?utf-8?B?b1A2QXJEdm5ZeklpQjVUZlhzUXA2dzliODIzOGNmb3VQRTFkYXhPWktob25q?=
 =?utf-8?B?TjBlQTc5T0VpaWpOOGVaU0dhSTdmMFV1NUc5WjZXZUxBZHNwTmVTYXN1VnM0?=
 =?utf-8?B?dGx5Zy9kOVlDS1RtQnJTWDZKcjdWZFNxMmVBekk2RmhkZGdSeUFYdVdyUEdW?=
 =?utf-8?B?RkIwWFdKWkdPSDRKekdHUjRSdmEwV2F2Sk1uaFJ2aVhFMlEzeVJiUi9WMy9O?=
 =?utf-8?B?NWpOZUFqYXFGM0lFQk9LRUs0V1BVUU95YWp2NjI1aFFkTlUyaGdyVEZUYVB3?=
 =?utf-8?B?cGkrUTBLaTFxcENkYWhYeVZNNWMvV3U3NGs5Z2lQbmJOM085ZmsybHNaYWx6?=
 =?utf-8?B?Y3dlWk9WZWFaK1JrS1dyc0RKTXpFQnNBQ3dma011SHgzN0NWZDZDaENuS1FO?=
 =?utf-8?B?cjBZRlRIWjE0ZjJKdmxNSXVvbW56clFXcHhqV21LWFpEWkE0QkhRcHh4R0hE?=
 =?utf-8?B?aEo3Nlg3L3NkdFYyWXBwU3RHZUF4V2JCVFNyWC9CbnMwV2E4TW03Uithc0Rp?=
 =?utf-8?B?emVseTAycFNSMnNlL1NDQXA0aTVOQnNNTWV6TlZweWo3djcyZzJFeHNaTVdw?=
 =?utf-8?B?czhoRzJBdmJJZFRsbUF0bzFmaVpSdzMzMkp5RHM4THRiVkU2SEpLaElSL1ZS?=
 =?utf-8?B?RFJ1K29KRnppd1lqU3h0Y3BtbFlBNGRMVUc2Q1VqRmFOalY4ejVacEw3enFz?=
 =?utf-8?B?WGZDSy9NdXZkN3hlU2RNOC8vYm1lU1hFcTcrR2xBNDJlQzV0T29iR1BvUGJT?=
 =?utf-8?B?bUEvRmMrUUw4dCtRRDA3ejJOaDdNeC93ZW1aMExnTjNFVWUxZlJ0R053czlU?=
 =?utf-8?B?akdtMFE4WVdLQVJMcXRPUGtvb3lVYlRpVXBjYk5EZU5wc2dicUN1aG1yS3NF?=
 =?utf-8?B?WFBuUkpWNm5raCtNRjgwTVIwa0ljSjdoSXlXNUR2WTNMMHJjKzA2STRCakpT?=
 =?utf-8?B?bXZMRTBMYTdNdXNFcGdscmF4SFZab3VVMXpMaWEvTXM2Vk5pRUtBWGVqRlk4?=
 =?utf-8?B?aUtqcHRUcVVtci9FU1IzQ3NBUFhMQWVCUXRBbmsyN3J5Yy8zTFU0ZjNFTTY5?=
 =?utf-8?B?aVBGUWt0OElJNjRKeUpadW5XUmp2UFcrOGkrNzRKdEgxM3l0a0dwRHY1VnV1?=
 =?utf-8?B?RVRoVHRaTy9KOTV0bzFRRXhzcE1YTmRubFhzcWJ2MHFxQWNRTGwxVGRXcUo0?=
 =?utf-8?B?ZkpJRkZiVlE5RjhRcFJwM0JYcHhIUklqSWx1V29rQ3phTUMvZ3J6K3lSYzhy?=
 =?utf-8?B?eFFHRmh0SysrMC8wKzEyWFFkUmx3ckpORXhDUHpiK1lRWDdKRXlRUXlHOWw2?=
 =?utf-8?B?QXNxakp2R0o0SkRkZU1iUDRNamNnUzRMMURwVmJkcC9JZExCZTg4OHZZY1hV?=
 =?utf-8?B?R20vUGFIbnUxWTFQd2VxMzdRcll0MlFna0dSYjJ3M3hWOUNNS0Vtd0dxUmlD?=
 =?utf-8?B?V0RYd2tMUXRMOHF3cVJmaUpyUytnSmRyYVVDdDI4REw5dEtmWmo0Zm8xTVB1?=
 =?utf-8?B?RmxrM2NXckNrQjZrZXpRZnBqcjlBaTcwN2FxZ1BGUVdBYXZmMk1BNzFtVXpo?=
 =?utf-8?B?NDVkRFhOaFBScG1OZFk2cmVJaGlJTnJBajBnUUVKay9udUdqWnpxZzhwelVk?=
 =?utf-8?B?ZndhVE1oSDZrMHM0SGY0YU9KUUtFVzVJNnh5VVBZQmhtV1JyNytnWVN0UUQw?=
 =?utf-8?B?bjNLNG9lNDlhc0lGdEhETFlEaEMrT2tLZk53RzhHeTh3YVhQdlFPc0ZlajU0?=
 =?utf-8?B?c2RuWlFEWjFjWkdqOHZqaWFXdXoyMFMvTzFnbE51dmVEdkM3M2JEaEo2azE0?=
 =?utf-8?B?K09vd3hkMzV4K0VVVG1ZWmtGMnRZMWtyM2t3b2YzanlpUVBuZDN6UTVUS3Qy?=
 =?utf-8?B?bUJTRStUQkFjakU1TndsZzJQeTRjR09ER3JZWDUwU0RiVzZaK1pwOERtOE03?=
 =?utf-8?Q?CIF1ob9R1bPoEBj/vE6Ogywxa?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df3a4efc-fe40-4d01-9e3e-08dbeceb8000
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 12:47:21.3029
 (UTC)
X-MS-Exchange-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/dAlZFZc/Ps+X5zp+uJJv1gocHKev6BqAm/JTUn8y88mgFyOeReO/sOyPu4Zo/QulNbOugHl8U2FUn6NiL90Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8196

On 23.11.2023 15:47, Luca Fancellu wrote:
> Hi all,
> 
> Let’s continue the discussion about clang-format configuration, this is part 2, previous discussions are:
> 
>  - https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00498.html
> 
> You can find the serie introducing clang-format here:
> https://patchwork.kernel.org/project/xen-devel/cover/20231031132304.2573924-1-luca.fancellu@arm.com/
> and there is also a patch linked to my gitlab account where you can find the output for the hypervisor code.
> 
> For a full list of configurables and to find the possible values for them, please refer to this page:
> https://clang.llvm.org/docs/ClangFormatStyleOptions.html
> 
> --------------------------------------------------------------------------------------------------------------------------------------------------
> 
> Our coding style doesn’t mention anything about alignment, shall we add a new section?
> I can send patches when we reach agreement on each of these rules.
> 
> 
> QualifierAlignment: Custom
> QualifierOrder: ['static', 'inline', 'const', 'volatile', 'type']
> 
> ---
> For “QualifierAlignment” I chose Custom in order to apply in “QualifierOrder” an order for the
> qualifiers that match the current codebase, we could specify also “Leave” in order to keep
> them as they are.

Where do attributes go in this sequence?

> Depending on how the discussion goes on this one, it could be an entry in our coding style
> 
> --------------------------------------------------------------------------------------------------------------------------------------------------
> 
> AlignAfterOpenBracket: Align
> 
> ---
> This one is to align function parameters that overflows the line length, I chose to align them
> to the open bracket to match the current codebase (hopefully)
> 
> e.g.:
> someLongFunction(argument1,
>                                 argument2);

The above matches neither of the two generally permitted styles:

    someLongFunction(argument1,
                     argument2);

    someLongFunction(
        argument1,
        argument2);

Then again from its name I would infer this isn't just about function
arguments?

> This one can be a candidate for an entry in our coding style
> 
> --------------------------------------------------------------------------------------------------------------------------------------------------
> 
> AlignArrayOfStructures: Left
> 
> ---
> “When using initialization for an array of structs aligns the fields into columns."
> It’s important to say that even if we specify “None”, it is going to format the data structure anyway,
> I choose left, but clearly I’m open to suggestions.

You don't say in which way it re-formats such constructs.

> I don’t know how to phrase this one in our coding style
> 
> --------------------------------------------------------------------------------------------------------------------------------------------------
> 
> AlignConsecutiveAssignments: None
> 
> ---
> This one is disabled because of feedbacks from Stefano and Alejandro about some weird behaviour on our
> codebase.
> 
> This one could be phased along this line: “Consecutive assignments don't need to be aligned.”, the issue is
> that in this way it seems that it’s optional, but clang-format is going to remove the alignment anyway for
> assignment that are consecutive and aligned.

Like below if there's no way to say "leave alone", then I don't consider this
usable. Imo we want to permit people to align when they think it helps, but
we don't want to demand them doing so.

Jan

> --------------------------------------------------------------------------------------------------------------------------------------------------
> 
> AlignConsecutiveBitFields: None
> 
> ---
> Same thing as AlignConsecutiveAssignments, but for bitfields.
> 
> --------------------------------------------------------------------------------------------------------------------------------------------------
> 
> AlignConsecutiveDeclarations: None
> 
> ---
> This aligns declarations names, same considerations as AlignConsecutiveAssignments.
> 
> --------------------------------------------------------------------------------------------------------------------------------------------------
> 
> Ok this is it for now, let me know your thoughts about them, ideally if I don’t get any reply in two weeks (7th of December),
> I will consider that we have an agreement on these configuration.
> 
> Cheers,
> Luca



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:47:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:47:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640666.999211 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6VbA-0007aH-TO; Fri, 24 Nov 2023 12:47:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640666.999211; Fri, 24 Nov 2023 12: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 1r6VbA-0007aA-QC; Fri, 24 Nov 2023 12:47:56 +0000
Received: by outflank-mailman (input) for mailman id 640666;
 Fri, 24 Nov 2023 12:47: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6Vb9-00075b-DH
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:47:55 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af9b3d79-8ac7-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 13:47:54 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E4A8721C0C;
 Fri, 24 Nov 2023 12:47:53 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id B2EBD1340B;
 Fri, 24 Nov 2023 12:47:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id TSlYKnmbYGUTJwAAD6G6ig
 (envelope-from <jgross@suse.com>); Fri, 24 Nov 2023 12: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>
X-Inumbo-ID: af9b3d79-8ac7-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1700830073; 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:autocrypt:autocrypt;
	bh=OYHedQBnJY15XZhMAd5H6ml7PVh7BVJsJmASk8AHfoY=;
	b=nRFtU9jlWZYGRm8Z0E40OCEgaO0Yf/dz3Y8TGON2UJofzq+0Wxn3RCQtq1PSSvFx/8Ioao
	t9gPnLK+b4Ykm/rWEkkh1jFbEB0c8tJ8kYw0U5h0ATvcbvKbzYLLUUxkJbtKmeGKiQXbOj
	wdyg2yISjDnLnX3Mm7c6JMrmdS7plXA=
Message-ID: <7a4ca8fe-da45-428f-a300-241b2bf0b2f2@suse.com>
Date: Fri, 24 Nov 2023 13:47:53 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable through
 'xl.conf'
Content-Language: en-US
To: Divin Raj <divin.raj@arm.com>, Xen-devel
 <xen-devel@lists.xenproject.org>,
 "anthony.perard@citrix.com" <anthony.perard@citrix.com>
Cc: Olaf Hering <olaf@aepfle.de>, Jan Beulich <jbeulich@suse.com>,
 Luca Fancellu <Luca.Fancellu@arm.com>, Rahul Singh <Rahul.Singh@arm.com>
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
 <20231115182340.505df6c3.olaf@aepfle.de>
 <4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
 <20231116085629.40a0445b.olaf@aepfle.de>
 <A6D4B8C2-E781-4964-A757-C72F38169246@arm.com>
 <20231116105321.4a59eed4.olaf@aepfle.de>
 <47ec45a1-2004-410c-86c7-861d03c1939b@arm.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <47ec45a1-2004-410c-86c7-861d03c1939b@arm.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------8h407fNXi9WwSufgbpZopa3w"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Score: -3.33
X-Spam-Flag: NO
X-Spam-Level: 
X-Spamd-Result: default: False [-3.33 / 50.00];
	 ARC_NA(0.00)[];
	 TO_DN_EQ_ADDR_SOME(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-0.14)[68.38%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.19)[-0.974];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[7];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[opensuse.org:url];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------8h407fNXi9WwSufgbpZopa3w
Content-Type: multipart/mixed; boundary="------------KiOcREk6wMFjJ0yZms9PUraz";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Divin Raj <divin.raj@arm.com>, Xen-devel
 <xen-devel@lists.xenproject.org>,
 "anthony.perard@citrix.com" <anthony.perard@citrix.com>
Cc: Olaf Hering <olaf@aepfle.de>, Jan Beulich <jbeulich@suse.com>,
 Luca Fancellu <Luca.Fancellu@arm.com>, Rahul Singh <Rahul.Singh@arm.com>
Message-ID: <7a4ca8fe-da45-428f-a300-241b2bf0b2f2@suse.com>
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable through
 'xl.conf'
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
 <20231115182340.505df6c3.olaf@aepfle.de>
 <4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
 <20231116085629.40a0445b.olaf@aepfle.de>
 <A6D4B8C2-E781-4964-A757-C72F38169246@arm.com>
 <20231116105321.4a59eed4.olaf@aepfle.de>
 <47ec45a1-2004-410c-86c7-861d03c1939b@arm.com>
In-Reply-To: <47ec45a1-2004-410c-86c7-861d03c1939b@arm.com>

--------------KiOcREk6wMFjJ0yZms9PUraz
Content-Type: multipart/mixed; boundary="------------Q2Des5hqV5SkGb0ZOjmF0nTx"

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

T24gMjMuMTEuMjMgMTY6MTgsIERpdmluIFJhaiB3cm90ZToNCj4gT24gMTEvMTYvMjMgOTo1
MyBBTSwgT2xhZiBIZXJpbmcgd3JvdGU6DQo+PiBUaHUsIDE2IE5vdiAyMDIzIDA5OjIxOjA2
ICswMDAwIEx1Y2EgRmFuY2VsbHUgPEx1Y2EuRmFuY2VsbHVAYXJtLmNvbT46DQo+Pg0KPj4+
IEkgc2VlIHlvdXIgcGF0Y2ggaXMgaGFuZGxpbmcgdGhpcyBpc3N1ZSBidXQgbWF5YmUgd2Fz
IG5vdCBtZWFudCB0byBiZSANCj4+PiB1cHN0cmVhbWVkLA0KPj4+IHNvIEkgd291bGQgbGlr
ZSB0byBhc2sgaWYgeW91IGFyZSB3aWxsaW5nIHRvIG1ha2UgaXQgdXBzdHJlYW0tYWJsZSBv
ciBpZiBpdOKAmXMgDQo+Pj4gbm90IHBsYW5uZWQNCj4+PiB0byBkbyBzby4NCj4+DQo+PiBS
aWdodCBub3cgSSBkbyBub3QgaGF2ZSB0aGUgdGltZSB0byB3b3JrIG9uIHRoaXMuDQo+Pg0K
Pj4gRmlyc3QgdGhlcmUgbmVlZCB0byBiZSBhbiBhZ3JlZW1lbnQgYWJvdXQgaG93IHRoZSB0
aW1lb3V0IG5lZWRzIHRvIGJlIGNvbmZpZ3VyZWQuDQo+Pg0KPj4NCj4+IE9sYWYNCj4gDQo+
IEhlbGxvIGV2ZXJ5b25lLA0KPiANCj4gRm9sbG93aW5nIG91ciBlYXJsaWVyIGRpc2N1c3Np
b24sIHdlIGxlYXJuZWQgdGhhdCB0aGVyZSBpcyBhbHJlYWR5IGEgc29sdXRpb24gdG8gDQo+
IGZpeCB0aGUgTElCWEwgaG90cGx1ZyB0aW1lb3V0IGlzc3VlLiBDdXJyZW50bHksIHdlIGhh
dmUgdHdvIG9wdGlvbnM6DQo+IA0KPiAxLiBYZW5zdG9yZSBLZXkvVmFsdWUgQXBwcm9hY2g6
IFRoaXMgaXMgaW1wbGVtZW50ZWQgaW4gdGhlIHBhdGNoIA0KPiAibGlieGwuTElCWExfSE9U
UExVR19USU1FT1VULnBhdGNoIi4gVGhpcyBtZXRob2QgZG9lcyBub3QgcmVxdWlyZSByZWNv
bXBpbGluZyANCj4gbGlieGwuIEl0IGludm9sdmVzIHNldHRpbmcgdXAgYSBrZXkvdmFsdWUg
aW4gWGVuc3RvcmUgYmVmb3JlIGRvbWFpbiBjcmVhdGlvbi4gDQo+IFRoZSBwYXRjaCBjYW4g
YmUgdmlld2VkIGhlcmU6IA0KPiBbaHR0cHM6Ly9idWlsZC5vcGVuc3VzZS5vcmcvcGFja2Fn
ZS92aWV3X2ZpbGUvb3BlblNVU0U6RmFjdG9yeS94ZW4vbGlieGwuTElCWExfSE9UUExVR19U
SU1FT1VULnBhdGNoP2V4cGFuZD0xXS4NCg0KSSBkb24ndCBsaWtlIHRoaXMgYXBwcm9hY2gu
IEl0IHdhcyB1c2VkIHRvIHNvbHZlIHRoZSBwcm9ibGVtIHdpdGhvdXQNCmFmZmVjdGluZyB0
aGUgQUJJLCBidXQgaXQgaXMgYmFzaWNhbGx5IGEgaGFjay4NCg0KPiANCj4gMi4gQ29uZmln
dXJhdGlvbiB2aWEgJ3hsLmNvbmYnOiBXZSBjYW4gbWFrZSAiTElCWExfSE9UUExVR19USU1F
T1VUIiBjb25maWd1cmFibGUgDQo+IHRocm91Z2ggdGhlICd4bC5jb25mJyBmaWxlLg0KDQpB
cyBPbGFmIGhhcyBzYWlkIGFscmVhZHk6IHRoaXMgd291bGRuJ3QgY292ZXIgYWN0aW9ucyBl
LmcuIGJ5IGxpYnZpcnQuDQoNCkkgdGhpbmsgd2UgbWlnaHQgd2FudCBzb21ldGhpbmcgbGlr
ZSBsaWJ4bC5jb25mIChvciB4ZW4uY29uZj8pIHNldHRpbmcNCmRlZmF1bHRzIGZvciBBTEwg
dG9vbCBzdGFja3MuIEkgdGhpbmsgd2Ugc2hvdWxkIGV2ZW4gbW92ZSBzb21lIG9mIHRoZQ0K
c2V0dGluZ3MgZnJvbSB4bC5jb25mIGludG8gdGhlIG5ldyBmaWxlIChsaWtlIGF1dG9iYWxs
b29uLCBtYXhfZ3JhbnRfZnJhbWVzLA0KZXRjLikuDQoNCg0KSnVlcmdlbg0K
--------------Q2Des5hqV5SkGb0ZOjmF0nTx
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------Q2Des5hqV5SkGb0ZOjmF0nTx--

--------------KiOcREk6wMFjJ0yZms9PUraz--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVgm3kFAwAAAAAACgkQsN6d1ii/Ey+x
egf8D/TntIXjNTMyOvX5e05WjZbc8UlkyADKc+aaC85Tp3lHzCHEQf7ZaiZBdDPYu26gzEukqwjq
l6d5An8aj7Rb6goUz5vndY2/XXFtEkveXkF9tZPKsdFoRiUXnC3GgBs1Wiw9J6oiLep4SOh/NAhK
HKLnXAv3/ylznqvp+BZtXNLFv6hn1oQi+cBHir7XU/vVKcCFWtNXyitk+yVvVFyVGR1YXnrZwzFa
mFWHhxt8brMeAWZdoSEz05WYcgIkzSbvJRy/B/P0xv0OFofx3oKxz8t61P7oTaeICgyogJCRSPhe
+prbw5BbrO3sgDWYY2gO0gceuh+8CsE2rAPNozQjdw==
=ed1i
-----END PGP SIGNATURE-----

--------------8h407fNXi9WwSufgbpZopa3w--


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 12:56:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 12:56:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640671.999220 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Vjo-00054r-Pt; Fri, 24 Nov 2023 12:56:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640671.999220; Fri, 24 Nov 2023 12: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 1r6Vjo-00054k-NO; Fri, 24 Nov 2023 12:56:52 +0000
Received: by outflank-mailman (input) for mailman id 640671;
 Fri, 24 Nov 2023 12:56: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=WabF=HF=linaro.org=alex.bennee@srs-se1.protection.inumbo.net>)
 id 1r6Vjn-00054e-M8
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 12:56:51 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ee668cc5-8ac8-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 13:56:49 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2c503dbe50dso22819211fa.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 04:56:49 -0800 (PST)
Received: from draig.lan ([85.9.250.243]) by smtp.gmail.com with ESMTPSA id
 m18-20020a05600c3b1200b00405959469afsm5051474wms.3.2023.11.24.04.56.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 24 Nov 2023 04:56:48 -0800 (PST)
Received: from draig (localhost [IPv6:::1])
 by draig.lan (Postfix) with ESMTP id 11B775F7AA;
 Fri, 24 Nov 2023 12:56:48 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ee668cc5-8ac8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1700830609; x=1701435409; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:user-agent
         :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rYh9ttpZExkVPVkQ28/dpWEwBabZM3xCVfwqKkfGpoE=;
        b=l9MzqNug9v+DO7QGYZ0DjJ/HUmpNeotbH3vl+vtva3Gkkc667enZczhRLENKXPw1li
         U1nxBnWfOALNo25yOj98mBvom6pbUORTD63oKi6iICTsMmKihlmNoL1jlONAq1Cj3G13
         yieojaBNRU9O/MAFgx5VIbLkGwK2QR21KExmU/fJrteRTLbSGuBjlf6uloWIXrvhKcZy
         8e1oWB9keNVOM+guD9HdYWJ9mILyzofZsKnYeODcmAa6lJSgKeBl9rbLTO2S19y5Fpud
         5AaI3Ri0rrUstr5wJctSBXaGDySdzWTQOc1g1lNPmOkV+FC0rJLGm6bF92En4scba3qU
         HGrQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700830609; x=1701435409;
        h=content-transfer-encoding:mime-version:message-id:date:user-agent
         :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from
         :to:cc:subject:date:message-id:reply-to;
        bh=rYh9ttpZExkVPVkQ28/dpWEwBabZM3xCVfwqKkfGpoE=;
        b=fJunPX5+8GtKuJdd4AkiO7Tf0qkMsCwf5NTDmMW5JsgbfNsBQQmWJMOq7zPwVNFZdB
         cxQj9vr+V1qQAAWXgh1drBJAE2wMDyKp+x/X684D/lJ62hBuCfLgXEGiomqKLbZ4NbWy
         HuS+7YxSv24/zOnI+LaT4vKNKhaq+O+xaFdk7Gapbzfx+ufRwmLD3VrBZDduD2staXzu
         oS/ZHmgiM20zGX9k1NdD+7mav1f2PWjnSt20NB7UMIAzymLLWqoEW7Rm8H2humi6guK3
         U2WS16zYPA0VcPVettxAAl4J+x0ZRyGdzlrRNhrZ/T8cvke4aEzE2QI+xB2WXH+mGKxq
         4npw==
X-Gm-Message-State: AOJu0Yyn7vxRwIzA9CBBnVr0zipC7cEceSYO1lWjGRSKsVV69Z0KiAoT
	L1oRnqG88+/MEXUWgLBZGCPYsA==
X-Google-Smtp-Source: AGHT+IEW4oaIEl4UKl/xCLKHHE+a9oAX7cxDG0m2YWIUUGXEoUOvuMm1aEI6exCQqWi9qOF1bBvvNg==
X-Received: by 2002:a05:6512:3a85:b0:50b:a6c7:e8b0 with SMTP id q5-20020a0565123a8500b0050ba6c7e8b0mr212264lfu.26.1700830608786;
        Fri, 24 Nov 2023 04:56:48 -0800 (PST)
From: =?utf-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: David Woodhouse <dwmw2@infradead.org>,  Stefano Stabellini
 <sstabellini@kernel.org>,  "paul@xen.org" <paul@xen.org>,
  "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,  Julien Grall
 <julien@xen.org>,  Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
  Anthony Perard <anthony.perard@citrix.com>,  "open list:X86 Xen CPUs"
 <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 4/6] xen_pvdev: Do not assume Dom0 when creating a
 directory
In-Reply-To: <87cyw1z61i.fsf@epam.com> (Volodymyr Babchuk's message of "Thu,
	23 Nov 2023 00:07:05 +0000")
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
	<20231121221023.419901-5-volodymyr_babchuk@epam.com>
	<b04daedc-ba6a-4109-8e23-fbcd023bcfec@xen.org>
	<alpine.DEB.2.22.394.2311221428570.2053963@ubuntu-linux-20-04-desktop>
	<ce719f35e72a9387fc04af098e6d688f9bbdca4e.camel@infradead.org>
	<alpine.DEB.2.22.394.2311221508270.2424505@ubuntu-linux-20-04-desktop>
	<a4e6a62a7cfe756344a1efcb8b2c3cfb1e50817e.camel@infradead.org>
	<alpine.DEB.2.22.394.2311221515010.2424505@ubuntu-linux-20-04-desktop>
	<87r0khz6zj.fsf@epam.com> <87cyw1z61i.fsf@epam.com>
User-Agent: mu4e 1.11.25; emacs 29.1
Date: Fri, 24 Nov 2023 12:56:48 +0000
Message-ID: <87wmu7b97z.fsf@draig.linaro.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> writes:

> Hi,
>
> Volodymyr Babchuk <volodymyr_babchuk@epam.com> writes:
>
>> Hi Stefano,
>>
>> Stefano Stabellini <sstabellini@kernel.org> writes:
>>
>>> On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>> On Wed, 2023-11-22 at 15:09 -0800, Stefano Stabellini wrote:
>>>> > On Wed, 22 Nov 2023, David Woodhouse wrote:
>>>> > > On Wed, 2023-11-22 at 14:29 -0800, Stefano Stabellini wrote:
>>>> > > > On Wed, 22 Nov 2023, Paul Durrant wrote:
>>>> > > > > On 21/11/2023 22:10, Volodymyr Babchuk wrote:
>>>> > > > > > From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
<snip>
>>>> The -xen-domid argument on the QEMU command line today is the *guest*
>>>> domain ID, not the domain ID in which QEMU itself is running.
>>>>=20
>>>> Or were you thinking of something different?
>>>
>>> Ops, you are right and I understand your comment better now. The backend
>>> domid is not on the command line but it should be discoverable (on
>>> xenstore if I remember right).
>>
>> Yes, it is just "~/domid". I'll add a function that reads it.
>
> Just a quick question to QEMU folks: is it better to add a global
> variable where we will store own Domain ID or it will be okay to read
> domid from Xenstore every time we need it?
>
> If global variable variant is better, what is proffered place to define
> this variable? system/globals.c ?

Hmm maybe, I see Xen already has some but the comment:

  "Global variables that (mostly) should not exist"

I think it to dissuade the file growing more than it should.

I think generally the best pattern to use if a global can't be avoided
is to have a "static global" in the main .c file for the module and then
provide a helper access function for other files to read it. That also
makes re-factoring easier if things like locking need to be added down
the line.

We still do have a few true global variables which need "extern"
declarations in the headers but if we can avoid adding more that would
be good.

Of course ideally this sort of data would be wrapped up in QOM
structures but I can see the argument for the host domain ID.

--=20
Alex Benn=C3=A9e
Virtualisation Tech Lead @ Linaro


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:00:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:00:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640673.999231 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6VnT-0007YV-8s; Fri, 24 Nov 2023 13:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640673.999231; Fri, 24 Nov 2023 13: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 1r6VnT-0007YO-6B; Fri, 24 Nov 2023 13:00:39 +0000
Received: by outflank-mailman (input) for mailman id 640673;
 Fri, 24 Nov 2023 13:00: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=u6gD=HF=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r6VnR-0007YI-QW
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:00:37 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on2061a.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 74d9ab33-8ac9-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 14:00:36 +0100 (CET)
Received: from SN7PR04CA0172.namprd04.prod.outlook.com (2603:10b6:806:125::27)
 by CH3PR12MB9431.namprd12.prod.outlook.com (2603:10b6:610:1c1::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 13:00:32 +0000
Received: from SN1PEPF000252A4.namprd05.prod.outlook.com
 (2603:10b6:806:125:cafe::a8) by SN7PR04CA0172.outlook.office365.com
 (2603:10b6:806:125::27) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend
 Transport; Fri, 24 Nov 2023 13:00:32 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF000252A4.mail.protection.outlook.com (10.167.242.11) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 13:00:31 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Fri, 24 Nov
 2023 07:00:31 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Fri, 24 Nov 2023 07:00:29 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 74d9ab33-8ac9-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dmD1/Fc5aZ1LULXO3t6niazlgkgWU4q++KQzDauPUMJBZqmrOB+oIcGlc7TNZUG3axz9kJwWsX++dsTcvtZBE6qKLFy8wLI5lTyJxSI57w4/UrzCWr964Q4CRmbrl5oF7jACX5ehN/49706yfPhCXJnTX9NPtfPQmQ6u6FhDYQigpCEoD6F1OZ1vgTqENu5wG1sJ0E/Xl2OGzoZopvhlSV2Vot6+2FQqn9xQSjGAdEngNOnzgcR+6YiVUEcxsWbWEcuoWGKWyh3R7C7WbF+wK8U1xGErVWPrOmML63N9wQAlqfhfw3mTU6Yjrs4/1ijAXdxHq0zKQ+LGuWC0nYGQ3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i7SFUSNGiUIjnozlsTsX9Le9wc3ZYVthP5VFGjMhrPY=;
 b=ZjhfiXdgLbLZlF+yNeSwAF0pE50WDnWfCz01biUPvmPJmn/7jOoHfUcCbeu20Jg38j01DDdmoML9MYS/Z77eo8A4hzyZr1RSnXb/Ep/qSTjF9MZzaQj07viM40sEq0AWczjiDCwncvVpzuUNYWiW3pBojmrTIY3J7LUrFYQt3ctpbFQOKLmMq15PdlSfyeou66Qkgfc5hosIX9RNl9NsXRjkLdm2aRg7d7L9jynHACHZuI3slX/pOWvJbDEs+OqyTR9d9rd0Uaqf3q4dMfezmVFXXrG6fujzyeL9gullHyt5rjHVfhtl2/b0UrlHyYx5q11sXJst5DUSJRtmhrdMYg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=gmail.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 (0)
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=i7SFUSNGiUIjnozlsTsX9Le9wc3ZYVthP5VFGjMhrPY=;
 b=2McaqmEvTtv9P7eAsnhVys6xhZGNqqguh/6RINjl3ZesmeUdSvXdzqhAc9vfHM1pWMkX6aXpafxLhzm1U2P5SAGd1kFo8QezpRTKocZ0WpJI/7YUtwAyiXrXjA73wAqd5DI07Slq+/dE+Yogh2Il6j/ABxVeTkA8MAyrTk/3tr0=
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: <5a1b98cc-cbda-4355-87db-9aea12d21d73@amd.com>
Date: Fri, 24 Nov 2023 14:00:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/14] xen/asm-generic: introduce generic header
 altp2m.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	<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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Shawn Anastasio
	<sanastasio@raptorengineering.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <efb6b1864de36d9990a2d2a84308f4bdebebb66a.1700221559.git.oleksii.kurochko@gmail.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <efb6b1864de36d9990a2d2a84308f4bdebebb66a.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF000252A4:EE_|CH3PR12MB9431:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b3cb597-09af-4502-5216-08dbeced5763
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yAhBvqac1aXNIveh+HFCJ6dh0PfKzKWqbsBk5lOEmSp2Vcx8ClTpGmM8jHhwg0iSFwUasaVE/Vg85fgJjk0Ozq8Y/V5W9dRSxCooMrtEC8y2PczQGbUgELAIyNeFAS2xaX6yAVeKxxGgB9FREs29iQie6YyMhEMEm0z9rp7sC/ou5bVjAjA5spDkHBTJZif9t/y/QT7tHL5z2hWhqFM1GGsyDS3izZN8ICZw1gt/WNl6cjpiUl50U5H1T9d9dnE5PQlMj+hF2E/4FMGAHot3YVUAnRvEhyhyEvkZsVANhqK57YSqGxl6pmxDPRCehWk+TnOwR9+cSMSWKKQM3pAPOJlFk5FNbXdbaxd/DXVQu8BjjFZWoGo6y26M3H5RUI/tSKfGt4OzfyPefDGP6LP12lsKrCc0izkHOPsZLLOvSJ+gtMujdtiwv2dKcY/rAbV9LokRANivlNpTiP1L3sLGDIs5TJxf86hXKNq2y0B2ughfCyOO/Bt6YduQZm+a56FdvyjSMGt1I1fLiSeNDakjOiV1fNIYYtprOgCXASGRw4Eeq+UA27IQiQZVapIyeJXgFPTWp5ws4L5js+an0oH0Flj1eNdDxjpXTx76x5eUBh+568PyiHkQlOs+rd09OS3Nv4H7ltRELhNOzmIM1K1K+Z81rU35AeHAUKzYpvjnmX9lCw/A4b6v8vxqY6EVqvZKnkHtgkn4+/YoLG79BJdMxsLXbrjKekAJXYZIoWxqHwpDhP7g644RHxghU2NIn1rLgqsBnanVT4EKif49oDUPWUCeM8JarRBA1HBrz0Jn5b0etBclnmfQy7x6rFMYlTAz
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:(13230031)(4636009)(136003)(39860400002)(346002)(376002)(396003)(230922051799003)(451199024)(1800799012)(64100799003)(82310400011)(186009)(36840700001)(46966006)(40470700004)(7416002)(31686004)(2906002)(44832011)(41300700001)(8936002)(8676002)(4326008)(40480700001)(5660300002)(316002)(70586007)(70206006)(54906003)(16576012)(110136005)(40460700003)(47076005)(86362001)(2616005)(478600001)(36756003)(53546011)(336012)(426003)(26005)(36860700001)(356005)(83380400001)(81166007)(82740400003)(31696002)(41533002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 13:00:31.9963
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b3cb597-09af-4502-5216-08dbeced5763
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:
	SN1PEPF000252A4.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9431

Hi,

On 17/11/2023 13:24, Oleksii Kurochko wrote:
> 
> 
> <asm/alt2pm.h> is common between archs so it is moved to
> asm-generic.
> 
> Arm and PPC were switched to asm-generic version of altp2m.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V3:
>  - Drop Arm and PPC's altp2m.h
>  - Update the commit message.
> ---
> Changes in V2:
>         - change uint16_t to unsigned int in declaration of altp2m_vcpu_idx
>         - update the commit message
> ---
>  xen/arch/arm/include/asm/Makefile |  1 +
>  xen/arch/arm/include/asm/altp2m.h | 39 -------------------------------
>  xen/arch/ppc/include/asm/Makefile |  1 +
>  xen/arch/ppc/include/asm/altp2m.h | 25 --------------------
>  xen/include/asm-generic/altp2m.h  | 34 +++++++++++++++++++++++++++
>  5 files changed, 36 insertions(+), 64 deletions(-)
>  delete mode 100644 xen/arch/arm/include/asm/altp2m.h
>  delete mode 100644 xen/arch/ppc/include/asm/altp2m.h
>  create mode 100644 xen/include/asm-generic/altp2m.h
> 
> diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
> index 36d95d6310..8221429c2c 100644
> --- a/xen/arch/arm/include/asm/Makefile
> +++ b/xen/arch/arm/include/asm/Makefile
> @@ -1,4 +1,5 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> +generic-y += altp2m.h
>  generic-y += hardirq.h
>  generic-y += iocap.h
>  generic-y += paging.h
> diff --git a/xen/arch/arm/include/asm/altp2m.h b/xen/arch/arm/include/asm/altp2m.h
> deleted file mode 100644
> index df50cb2f09..0000000000
> --- a/xen/arch/arm/include/asm/altp2m.h
> +++ /dev/null
> @@ -1,39 +0,0 @@
> -/*
> - * Alternate p2m
> - *
> - * Copyright (c) 2014, Intel Corporation.
Shouldn't this copyright be moved to generic header as well?

Apart from that:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:03:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:03:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640676.999241 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6VqJ-0008Ey-Ns; Fri, 24 Nov 2023 13:03:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640676.999241; Fri, 24 Nov 2023 13: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 1r6VqJ-0008Er-K3; Fri, 24 Nov 2023 13:03:35 +0000
Received: by outflank-mailman (input) for mailman id 640676;
 Fri, 24 Nov 2023 13:03: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=u6gD=HF=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r6VqJ-0008Ej-1j
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:03:35 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20631.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id def08799-8ac9-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 14:03:33 +0100 (CET)
Received: from MN2PR16CA0062.namprd16.prod.outlook.com (2603:10b6:208:234::31)
 by SA0PR12MB4461.namprd12.prod.outlook.com (2603:10b6:806:9c::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 13:03:28 +0000
Received: from BL6PEPF0001AB50.namprd04.prod.outlook.com
 (2603:10b6:208:234:cafe::a3) by MN2PR16CA0062.outlook.office365.com
 (2603:10b6:208:234::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27 via Frontend
 Transport; Fri, 24 Nov 2023 13:03:28 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB50.mail.protection.outlook.com (10.167.242.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 13:03:27 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Fri, 24 Nov
 2023 07:03:26 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Fri, 24 Nov 2023 07:03:24 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: def08799-8ac9-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kEkU8uKxj1IVVEXlQEA00WBii0fE4uI6Wte+ci89VYdBr9pMT6lQ0CSgZ9Rmyu5dyM4wlh8wNACBDqFDMvfSag+3ZfnmgBoWd0UgDuJOI99LQMuFThKGqBNTL9Jwk0VPkkjlRvj0vF57Zpb1KlPNXK+2jc7Fsg2u+GHI+nhPL4sX9M15moVdFKlF4D1CG1TBmQll3VBKyWChUPnclWheBpoLNsxNICVXtqm7ywNfFIQ52JxkYytV4k1+CqpXN1aPJD0QsUmV3cNVkij+OiTInFeWhx4iLwI6UVq9dS4sVCBVvGg868ojSTTuWQEZ7lzkf254vI24IoqzSA/eWkeoUw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2/KWxRtgo9u9naN8fCMsjhe9r40LEJgm9tnGJbTO5+I=;
 b=G6Cl4GbN3HE2gh/FofqbgwaUqhvWjMhdqbt5Rnze1ur6epjewx59doFKme1qpOrdFMk8YpCNaxfH2AfF1zX/pmQ0T6gDPZBuD1iuHCFofUYAzZgErmcSUbk1OX8NJhUVC7Px/nzuqPxnHXMmj9gkXBysTQM15XudAnzafFqeb37Cjdn1ziwic2NV9bd4l9FWYVVHOaBEJYThOMjW6cAIUA9giz3WaUbJtv66PGEbUY4kLk0jfXcOoVeD+6G+NuQAN/pS3qUitJyFLuXEZ+HHkVoIe7GSILIk6NsZVYtAibODvyAe+e2BUHJQ0PBu0sUnCXKgc5z1rW+0rj25sKF3PQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=gmail.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 (0)
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=2/KWxRtgo9u9naN8fCMsjhe9r40LEJgm9tnGJbTO5+I=;
 b=30+J0yz7YdaGw15qYlnVXs5SZjAM1Jp+FtbIwceDCsr32lmRIImPcgI2crnLxxlrK5CbVyzmuh7QmQyyAzq2iaQfCnV4LfuhDTXqRqynCPODyyFNm58SPXP72sp34/G69nw01ug8ALXt1qAk5lqQkeM+1ZCrKCf5LJ0I+0Wz9T8=
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: <c728ba04-8cbd-45d5-af2c-eefcdf3f7afd@amd.com>
Date: Fri, 24 Nov 2023 14:03:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/14] xen/asm-generic: introduce stub header numa.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	<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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Shawn Anastasio
	<sanastasio@raptorengineering.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <7ae3b2dbdb8e711b2462af511e1f64c2700113d7.1700221559.git.oleksii.kurochko@gmail.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <7ae3b2dbdb8e711b2462af511e1f64c2700113d7.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB50:EE_|SA0PR12MB4461:EE_
X-MS-Office365-Filtering-Correlation-Id: a66a6895-2e86-4d5f-ce81-08dbecedc045
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QQvGWly0ZUmYp6h2YFMbLxTz1CnCJ7dnWxgis1P5sSIsNTpdkvt2P1jPmVwxYlDUjM5JogSeGN3Y2MEiVso03UHQllTgtA8VRzZvsnzkjekOAxsf/26V3PdvDNCi4rYEKw4Vm8obZvzLliC344KI+sGslCC+vmUp9GHOSjssWVMoNNzNvzmvBWzA0hCbmq5m3K7O2WjsdfC004uqU1dIFKX/F3GyvqXmyPzChTn9XkTqn3oggvRn/30v/s7NFMO2T1lftFAmJCNgtpPTdHonkFESz5tPptg7bj9gr3M/fGIpa45dccYDgxIGFLw19MZrbL81efP2PhSR9/hcbIZcfIuGpcoIvBxQreOU7BoVmfX0RKn91w6wIEwmmuxg9/n64+GwDhzaMh5+SIxTzAjy+MmpFQMrGFhBudVV64QEuXhnbu/HClyFBVg28k9a64wPfgMQ2bykXzUSJJmCmqnb9xNX/D0ccyR8+dYD5kD/PkF5HRdTLEZjtxyd5ISRy1bdd2EU3zFAIG64zFlnE9wvmDSC4N72IzNomms9AKXGD8X3QMKBcPWv87I99SoObxXPIwaDke9tY+X+6o7zCJIFeWsMjB9aor83/7BoLXcKnRrKJGD4Eu06r0Q03VIOH7hEyWPAqRBeqgW12yJDdbYRc4tQifYQiUbCQDhD5gxwmip8q+a4JR8PL2oBt0sPII/jqD8cSLLI918UOq0N5sWsCxEZ/8/UpRWtvVOcwGEukRPAy81kFKuIRmP5KkSOPXsV1tePfY+JQyWreWYF10ywXLRCZhdQgEGtFhayKjD92N8a15OnuxthPqnto8n1qBSsT4bcajoeujl7aDtGhxnYOl4+db5lHKRRZlJRrgxaffI=
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:(13230031)(4636009)(376002)(346002)(136003)(39860400002)(396003)(230922051799003)(186009)(1800799012)(64100799003)(82310400011)(451199024)(40470700004)(46966006)(36840700001)(53546011)(40480700001)(82740400003)(26005)(47076005)(356005)(81166007)(8676002)(110136005)(316002)(70206006)(70586007)(16576012)(54906003)(4326008)(36860700001)(31686004)(336012)(426003)(2616005)(83380400001)(478600001)(8936002)(44832011)(86362001)(31696002)(7416002)(2906002)(5660300002)(41300700001)(36756003)(40460700003)(41533002)(21314003)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 13:03:27.9792
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a66a6895-2e86-4d5f-ce81-08dbecedc045
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:
	BL6PEPF0001AB50.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4461

Hi,

On 17/11/2023 13:24, Oleksii Kurochko wrote:
> 
> 
> <asm/numa.h> is common through some archs so it is moved
> to asm-generic.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V3:
>  - Remove old header inclusion in asm-generic numa.h and include
>    <xen/mm-frame.h> and <xen/stdint.h>
>  - Drop Arm and PPC's numa.h and use asm-generic version instead.
> ---
> Changes in V2:
>         - update the commit message.
>         - change u8 to uint8_t.
>         - add ifnded CONFIG_NUMA.
> ---
>  xen/arch/arm/include/asm/Makefile             |  1 +
>  xen/arch/ppc/include/asm/Makefile             |  1 +
>  xen/arch/ppc/include/asm/numa.h               | 26 -------------------
>  .../asm => include/asm-generic}/numa.h        | 13 ++++++----
>  4 files changed, 10 insertions(+), 31 deletions(-)
>  delete mode 100644 xen/arch/ppc/include/asm/numa.h
>  rename xen/{arch/arm/include/asm => include/asm-generic}/numa.h (75%)
> 
> diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
> index 8221429c2c..0c855a798a 100644
> --- a/xen/arch/arm/include/asm/Makefile
> +++ b/xen/arch/arm/include/asm/Makefile
> @@ -2,6 +2,7 @@
>  generic-y += altp2m.h
>  generic-y += hardirq.h
>  generic-y += iocap.h
> +generic-y += numa.h
>  generic-y += paging.h
>  generic-y += percpu.h
>  generic-y += random.h
> diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
> index 9bbae4cec8..d5a94bc718 100644
> --- a/xen/arch/ppc/include/asm/Makefile
> +++ b/xen/arch/ppc/include/asm/Makefile
> @@ -5,6 +5,7 @@ generic-y += hardirq.h
>  generic-y += hypercall.h
>  generic-y += iocap.h
>  generic-y += monitor.h
> +generic-y += numa.h
>  generic-y += paging.h
>  generic-y += percpu.h
>  generic-y += random.h
> diff --git a/xen/arch/ppc/include/asm/numa.h b/xen/arch/ppc/include/asm/numa.h
> deleted file mode 100644
> index 7fdf66c3da..0000000000
> --- a/xen/arch/ppc/include/asm/numa.h
> +++ /dev/null
> @@ -1,26 +0,0 @@
> -#ifndef __ASM_PPC_NUMA_H__
> -#define __ASM_PPC_NUMA_H__
> -
> -#include <xen/types.h>
> -#include <xen/mm.h>
> -
> -typedef uint8_t nodeid_t;
> -
> -/* Fake one node for now. See also node_online_map. */
> -#define cpu_to_node(cpu) 0
> -#define node_to_cpumask(node)   (cpu_online_map)
> -
> -/*
> - * TODO: make first_valid_mfn static when NUMA is supported on PPC, this
> - * is required because the dummy helpers are using it.
> - */
> -extern mfn_t first_valid_mfn;
> -
> -/* XXX: implement NUMA support */
> -#define node_spanned_pages(nid) (max_page - mfn_x(first_valid_mfn))
> -#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
> -#define __node_distance(a, b) (20)
> -
> -#define arch_want_default_dmazone() (false)
> -
> -#endif /* __ASM_PPC_NUMA_H__ */
> diff --git a/xen/arch/arm/include/asm/numa.h b/xen/include/asm-generic/numa.h
> similarity index 75%
> rename from xen/arch/arm/include/asm/numa.h
> rename to xen/include/asm-generic/numa.h
> index e2bee2bd82..c5b522dee8 100644
> --- a/xen/arch/arm/include/asm/numa.h
> +++ b/xen/include/asm-generic/numa.h
> @@ -1,9 +1,11 @@
> -#ifndef __ARCH_ARM_NUMA_H
> -#define __ARCH_ARM_NUMA_H
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ARCH_GENERIC_NUMA_H
> +#define __ARCH_GENERIC_NUMA_H
ASM_GENERIC ?

> 
> -#include <xen/mm.h>
> +#include <xen/mm-frame.h>
If this is for mfn_t, shouldn't this inclusion be moved under #ifndef ?

Apart from that:
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:04:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:04:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640679.999251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6VrS-0000TQ-1T; Fri, 24 Nov 2023 13:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640679.999251; Fri, 24 Nov 2023 13:04: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 1r6VrR-0000TJ-Tw; Fri, 24 Nov 2023 13:04:45 +0000
Received: by outflank-mailman (input) for mailman id 640679;
 Fri, 24 Nov 2023 13:04: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=u6gD=HF=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r6VrQ-0000T4-WD
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:04:45 +0000
Received: from NAM04-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam04on20603.outbound.protection.outlook.com
 [2a01:111:f400:7e8b::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 08138c1d-8aca-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 14:04:43 +0100 (CET)
Received: from DS7PR03CA0057.namprd03.prod.outlook.com (2603:10b6:5:3b5::32)
 by BY5PR12MB4113.namprd12.prod.outlook.com (2603:10b6:a03:207::15) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.22; Fri, 24 Nov
 2023 13:04:39 +0000
Received: from DS1PEPF00017091.namprd03.prod.outlook.com
 (2603:10b6:5:3b5:cafe::43) by DS7PR03CA0057.outlook.office365.com
 (2603:10b6:5:3b5::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend
 Transport; Fri, 24 Nov 2023 13:04:38 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS1PEPF00017091.mail.protection.outlook.com (10.167.17.133) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 13:04:38 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Fri, 24 Nov
 2023 07:04:38 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Fri, 24 Nov 2023 07:04:36 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 08138c1d-8aca-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KS4QuOHpHERfAIz1gTwYY9OLGDOzZnOuFdBKav2iEYWTUhi3Mh9vTMbV22RiPLU5RSmXYRuJsZ5sQw6aYBKafPxXzYMbrE9itkB42oLt3kyuj+UQzo/Q1pMv0kj9eNJhShCBuiTx380R/Baq13A5yUrSa4Au7F3RPLcbW/wXdV26DPbUhPL3e8LuEQ5pLVgaVABv3hrnE7B1kS8t9zQr1dYwyjoCs3/rZqvQWpgZWd7ebEi2V7kgM0LCDxBfL8bHcpRGtvJBozCE8xRKt57hrdg6CfId8GcGZCnVszYDTreDBxqgpXb3gkNE0mrX5/MTl6oL9txj2kFaoAbEDfpPvg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=f6yHv2FbX5bmSiHz9aprPTQAUGyPsfIp5cb1QNJOO3o=;
 b=fwmpAQAQGg/LYsh+8WkOXofrXlIHdzr8kTKGgRu8kKxHcTzhkbpESYppdFNtlsSmZc2V/LuV2dgKjraJH068VlaNd9kxxCAtpPjoK6DfT56i3wHl2fRIPhCMn3k1c8W3JrGEj3WNP8Kod8js8ertNG2lzlHHtnrT5id5IT3rEmnFNCZU18+Yni1lTZz9AXRJ+N4C66yFBLbJUS1SFhHamWEy2hosoncmXUkZ8tWCUAwMRW2XiCueJSldQuKzjraA5psN6HwwVdu1Atd2XIbcgxb4hMZAXDZZhQP2qIdCI8FDEJ/ByPSmkFx2s0gDI1645XwqsTiyeG6X9BCCv+xEHQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=gmail.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 (0)
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=f6yHv2FbX5bmSiHz9aprPTQAUGyPsfIp5cb1QNJOO3o=;
 b=fhwOK/NTHzW2XmumDkDJHmuH84/qammOLWnbjKCA+j4j5YrOrP9U8WT1ygpYF2Oru5AkTxyR5YgqnK9F0RNjH9+MMkJoXQhhLItWBSva1sgF8hGI7d/FDtycyVhFE791V7L45iSnMMKZMjB0/OHVh0y6OdNr3gMCYkNZc9fZjls=
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: <14c1f186-bbe9-4a66-b6ad-e89d85fef8ae@amd.com>
Date: Fri, 24 Nov 2023 14:04:36 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/14] xen/asm-generic: introduce stub header softirq.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.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>, Bertrand Marquis <bertrand.marquis@arm.com>, Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>, Shawn Anastasio
	<sanastasio@raptorengineering.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <8b1969350a4f05758969058d47ac3ec10d80db50.1700221559.git.oleksii.kurochko@gmail.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <8b1969350a4f05758969058d47ac3ec10d80db50.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS1PEPF00017091:EE_|BY5PR12MB4113:EE_
X-MS-Office365-Filtering-Correlation-Id: dfd56358-0c2b-4d25-2f24-08dbecedea86
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xZsnWz2hwnrgJqIbQzTYtXZDrGfFroIK3l6wbXabIHy5wo295BXYWbhsHdtcSKfSclVAFAA7lrE4qd2v49rb0pcSUhJL5GRDKS8p2nYBuHlQ7A6cEWNNc2U87hme5IRKdz7O57dQO3Fau/ZbJSgATuTuDrM1gHKD3cIwqMBt+bSOrvo5KwpYA3IUnSp/Y8QITPzj8SbgdX/ztav5+un98s7jwsB53yjDBFkUl+9PO4VkXleFGiuZW95nB1b7lfi5ohpJSV0/i+nnZbzsB8KTLaJiXz+haUxXuPmp0cHbhlXS/J/mcfB3U4sRKc9r2sD2oNjGqEHpmVhPPy6XFOflQl0qusxf2CaVRQFXuqK5gMd8twcU8/9DoJB8gQuozHVTTCzzLM73m3jFWWTIG/9yG6OCNTb86IrhvICPeO3o7jLmY5qVAJLg0/jGGs5AW2VcPHZu7tqEoK4SxL/se1F2DeWzU9NDcG9hbhdHvQPny+ldtzuO/cFoKOgZMCWcNUNcEyWFheZnu6NbyHeBMkkgus/806V+JoJ81wgkednOtYR98nzm74NtWLeNjdMmzSOCR565puFO1Mz3/HAoKSf+PU0HB2R3W9K47CJlk/brdBX8eNmKg8jaQaw3ZvYY+Tsl93AL57/vMFOIjbIypbASGud0+mi2/k9YI/PZLmbyJeafh0Q5rgoHGJ8OhQrpqCmFNXxx9iT/dakcljwOUYVwOnHw//JNBAyqEpecCMeQEUXBhWc55UBxfTNoKmC/t0ypTSGrq3XVVWZUR98B77R0Hd6RSzAZj7twrfW7D0AXw3cjPF2b/I3bxMXmBvk3gwFOUU0RLiPun/ES0C7goVIGPw==
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:(13230031)(4636009)(396003)(346002)(39850400004)(376002)(136003)(230922051799003)(64100799003)(451199024)(186009)(82310400011)(1800799012)(46966006)(40470700004)(36840700001)(558084003)(110136005)(70206006)(70586007)(54906003)(16576012)(316002)(478600001)(40460700003)(7416002)(5660300002)(86362001)(2906002)(4326008)(8676002)(8936002)(31696002)(44832011)(82740400003)(81166007)(356005)(47076005)(426003)(336012)(26005)(31686004)(36756003)(36860700001)(41300700001)(40480700001)(2616005)(53546011)(41533002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 13:04:38.8186
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: dfd56358-0c2b-4d25-2f24-08dbecedea86
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:
	DS1PEPF00017091.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4113

Hi,

On 17/11/2023 13:24, Oleksii Kurochko wrote:
> 
> 
> <asm/softirq.h> is common between Arm, PPC and RISC-V so it is
> moved to asm-generic.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>

~Michal



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:04:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:04:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640680.999261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6VrT-0000k1-CN; Fri, 24 Nov 2023 13:04:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640680.999261; Fri, 24 Nov 2023 13:04: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 1r6VrT-0000jo-95; Fri, 24 Nov 2023 13:04:47 +0000
Received: by outflank-mailman (input) for mailman id 640680;
 Fri, 24 Nov 2023 13:04: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=qY/0=HF=aepfle.de=olaf@srs-se1.protection.inumbo.net>)
 id 1r6VrS-0000T4-7c
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:04:46 +0000
Received: from mo4-p01-ob.smtp.rzone.de (mo4-p01-ob.smtp.rzone.de
 [81.169.146.164]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0986e765-8aca-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 14:04:44 +0100 (CET)
Received: from sender by smtp.strato.de (RZmta 49.9.1 AUTH)
 with ESMTPSA id g1b15czAOD4dz4a
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256 bits))
 (Client did not present a certificate);
 Fri, 24 Nov 2023 14:04:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0986e765-8aca-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1700831080; cv=none;
    d=strato.com; s=strato-dkim-0002;
    b=e27Lk99MGkXVCQlI9WZjRAI7s7c4N57GUKrQzLUgPyJg15uDGYIrfSiF+7APYeTVm4
    4As3I5vaZQbVmnM6i1aLugevakfXgJ2rplmXQiGGEavensy8+0MZ1o3fd+2DzEUzrKgZ
    VrP1szw2WP4IbA2diYTw8E4K3j8rvD01rVzL89ZzFMKtR89ZQaL5KAr22XSnUoti4s6N
    XDLf3KSMk49D9LAalRw5z7UZh8UlOYBOLjsP2J629OHiy0VUEgzgmck5+P6Is7hRilqT
    fcs1SdJIl2c7eL9h6sGyRyQk15RMpZToqpCL7jG5LFQUNa1asKzX/26Y5YDl2ukscpOt
    HGXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; t=1700831080;
    s=strato-dkim-0002; d=strato.com;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=9TKf/tqiBhMxJLHGBCTMKwbEORd3jvKTVIyEkD2ibxQ=;
    b=Su7S3cZ6dG7Q1hlb+LgdhrjGV6n7T5PbksUIdBnexYzoOllZKyFr0gF2LIvr7SrFZv
    hc5Sd9MtemDZF8t2dVeVQxlsCmehbIroyQz1PiS9TJGEuk2szyJGsR6lLBSE5WR84YOr
    GZIEe6KDHlOQ2QszIsnviIS6+6a8ao9VnncfzdBfwpsatwU73RcVAPB+1A2ws+EAdmSP
    4DU/5/OlqQUy2UVjgOjGNrvlXeYnPzF1ybTUCT6G4Uw+HTGlwCaRk9vLbWsZ5iFoFT66
    YESxP1SY4jbrFp93gMfiaRarXSkgxcaX53IezLkQ+K49xt5saqjBAukZqU/Y1qMX4jki
    E0zw==
ARC-Authentication-Results: i=1; strato.com;
    arc=none;
    dkim=none
X-RZG-CLASS-ID: mo01
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1700831080;
    s=strato-dkim-0002; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=9TKf/tqiBhMxJLHGBCTMKwbEORd3jvKTVIyEkD2ibxQ=;
    b=bRU8wCZRNvRNNBGr0Yk8WAbGpzpfbpxNcbJcpR7AM3D76hdMgBgP3+c79GGZ4jwsPL
    RlYX0zhTGr4azyJotk9gppXbpEjDt0Nz9ryLIVryGkN0PtA1MwE/iMX3p+60xRiTPfNX
    I/R/pRaKseeGpRjhw7yvbM/eAmsefT2m+s5GnQsT+xU1H82Hs35mLptj9Bfz9Z0ultMi
    whp9APLnpsU6+7f8SY4Qm8nUxhHeq/5i9U80b4IJrhtE/0l/iRqSlRBsf37pqLYdGckc
    IIDQjiXRMMWk0ZocWA1sHeEgpeOFe9dpYZb9Kd8Sl3wyEWx96eaRXN120apmblbSdJMX
    T5eg==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; t=1700831080;
    s=strato-dkim-0003; d=aepfle.de;
    h=References:In-Reply-To:Message-ID:Subject:Cc:To:From:Date:Cc:Date:
    From:Subject:Sender;
    bh=9TKf/tqiBhMxJLHGBCTMKwbEORd3jvKTVIyEkD2ibxQ=;
    b=Z8n+9zJpRY+j7w6yxHW3653mYAVQ4TjXwyAqotwWU/KKmmcSdaXPK9ODxpDs4hnON9
    TVbqFM4motw8mdqMogAw==
X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QLpd5ylWvMDX3y/OuD5rXVisR5VxOIOx7sW7Yq7k+0gzUhLCSnSrvMYFPvEI3Cdw=="
Date: Fri, 24 Nov 2023 14:04:32 +0100
From: Olaf Hering <olaf@aepfle.de>
To: Juergen Gross <jgross@suse.com>
Cc: Divin Raj <divin.raj@arm.com>, Xen-devel
 <xen-devel@lists.xenproject.org>, "anthony.perard@citrix.com"
 <anthony.perard@citrix.com>, Jan Beulich <jbeulich@suse.com>, Luca Fancellu
 <Luca.Fancellu@arm.com>, Rahul Singh <Rahul.Singh@arm.com>
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable
 through 'xl.conf'
Message-ID: <20231124140432.53105119.olaf@aepfle.de>
In-Reply-To: <7a4ca8fe-da45-428f-a300-241b2bf0b2f2@suse.com>
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
	<20231115182340.505df6c3.olaf@aepfle.de>
	<4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
	<20231116085629.40a0445b.olaf@aepfle.de>
	<A6D4B8C2-E781-4964-A757-C72F38169246@arm.com>
	<20231116105321.4a59eed4.olaf@aepfle.de>
	<47ec45a1-2004-410c-86c7-861d03c1939b@arm.com>
	<7a4ca8fe-da45-428f-a300-241b2bf0b2f2@suse.com>
X-Mailer: Claws Mail 20230817T113819.a897c59c hat ein Softwareproblem, kann man nichts machen.
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="Sig_/LUj/PFA2cU_wx.cFGsxsjFO";
 protocol="application/pgp-signature"; micalg=pgp-sha256
Content-Transfer-Encoding: 7bit

--Sig_/LUj/PFA2cU_wx.cFGsxsjFO
Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: quoted-printable

Fri, 24 Nov 2023 13:47:53 +0100 Juergen Gross <jgross@suse.com>:

> As Olaf has said already: this wouldn't cover actions e.g. by libvirt.

Jim pointed me to /etc/libvirt/libxl.conf. So from this perspective both
xl and libvirt is covered. Now it just takes someone to implement it.


Olaf

--Sig_/LUj/PFA2cU_wx.cFGsxsjFO
Content-Type: application/pgp-signature
Content-Description: Digitale Signatur von OpenPGP

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

iQIzBAEBCAAdFiEE97o7Um30LT3B+5b/86SN7mm1DoAFAmVgn2AACgkQ86SN7mm1
DoAVCQ/7BnBEdxxYDkYaXc89SSjneOxauYDELN+9uY+jv0tdf1pnfGpAeZPqRzwq
n3MJGMxZyq7Wg+/C/9gyIn7NVkoXCJizeHNz5CQSXiwAA3OYZzuUcQMv/sza8rqw
JjPYoFxvo93kRu2jHrA4WosuajZG/X0AHfb3/T41flDQ8UJ8Jj5f+x9XeOEtO/CS
XStqJytT6pnb8hHNVFs9d6BN5JJ8DPthUCDfOfkYJSkcz9PS2Xe7a0ezY0NN0zyc
WLL75FhbRkKGP7kx8btAsul5hQl36G/uIRnZPy+Osmv0yKAda1UciKuO5pTUNE71
fSGba6zfv7XZFkXAVvK6lSBX1dBLtATNcrig3wJSD/o2b+sYKSP2IPThTYlSQmXk
YsocDWyR2gD2hxIE9II5AdLsfpb+055af80tu72umEv/dTOTJPPzhL5wgGNNMyrq
YGzFI6mZ0XCf6wEGvHxUpeBxBQkfR7tzCw+y8s89fpV7O7sGH6x9HwiM1zyk2aEh
RgQBxOAWd1UEzReNgYtnSJ0D1Q0NElBMzLoi0mbc0y7eLPN0Tkdmf+QhopE/XiEL
vxhKKj9g6ZNbuSk9f3O7RNx5F5GkkzFsVAuzOz6cEUSt8B7jeUiI/Ww/NuOXBpa5
Vaqz9tgb/84nb9TaMK1vvVpwGm/1GFQL+jWE61OhReqy4FAVnSo=
=wAY0
-----END PGP SIGNATURE-----

--Sig_/LUj/PFA2cU_wx.cFGsxsjFO--


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:18:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:18:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640688.999271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6W4z-0004H4-IA; Fri, 24 Nov 2023 13:18:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640688.999271; Fri, 24 Nov 2023 13:18: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 1r6W4z-0004Gx-FP; Fri, 24 Nov 2023 13:18:45 +0000
Received: by outflank-mailman (input) for mailman id 640688;
 Fri, 24 Nov 2023 13:18: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6W4y-0004FV-3t
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:18:44 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::603])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fd5781f0-8acb-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 14:18:43 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9551.eurprd04.prod.outlook.com (2603:10a6:20b:4fa::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.12; Fri, 24 Nov
 2023 13:18:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 13:18: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: fd5781f0-8acb-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nuBGURx+157kepsNCLnDKXhKZy1ZsIkDqOtfEohYL6R1ABaOnUWOUfiVgVop8zM74xG4TKBjB6E7Z8j+/1Ld1POJYYypVdzh3o032jUsS/sGGhRP7Sf5Z2SKMO8lwkMNUTAc9jLrzr9QfjN+srbxeILd1JbvxM3qbGiSd4Nmfq5p7jv2L/dwdHyXB59FsNJE+z5zvpn03+FFNxPsdaoI/XZ6kJsMCKRT/mH/362TJ3Ag+VCtGNA5PU/4/gAe+5WbhY1zB6dZ5jJFdYdqvRXZDJHOVRSJ4cU7ubcyRcJT4G0aF2vugK8hh8br02YZLuyUe4o4fwTp3TdVRedx9S1P0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=E1yRHYVPpqqoUk8sGtZwi/QaG5bP9kIgK17f2AgBkCs=;
 b=DuWjEs9vkNvNdU/Y3IqJl6c+UDYPlj8/dRll+x3T5JGsWzK4DtVQLcw6tlnHP2+iuzhGW4UoMMWFmkOFCrxDLkEXszuQ7a+bVxUSmRlGkttKgRF84Pe+1J6Ji+7hRwTLxZ9TnYnHnAdGb0lvFj+RvgYZy1D67RBb9nWAEWf/AHVjWTX0guYrzgYGt+8w3VsWCzYVKeF79aDHJWgmN96JYtT0yr/7iKPzRfLFjITStwiDLC5PyQIbdQw4q1bdsM1sV/39/aZLbVghxS1zjlgvKo3WWB1sEftRSsNixWEapqdUa0O7iMDkGQ8gZ7gJYMNg0X8A1xpQ2ioXR4oes/vfEQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=E1yRHYVPpqqoUk8sGtZwi/QaG5bP9kIgK17f2AgBkCs=;
 b=cqhnUAJPHLyuoLSx5wjl+PECduhlqmjnsMPDroq3h9fPJ6DTY9ajc0+vdaLuoXZJYztVb4knjFkrQOsCBzuE5IkKGWWJN0po7YRmunZUHkZckvdxUQUM9a+Jmlpp49bAvh3YWHM37VlBxkL5m2mcz3BGmoRYaQ4mDQgxCAvUgsE7YtlRG8G9q6ykTH3rvC1wqEyyrZCTvpLbM2+5J020CPYOembV4Vj9HR1E+vByCGWV7dx6lLtMFVCT/1jDLro/FCTJeovAUPkJBuwjrKtpUo5gaEGtLoLvcMSVFAcVQj4CC61yJnhJzcf5sAkS764xIgIAJur+wTD7AQEJ710K0Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f37ac1d0-888f-484f-9e74-40699cd3a620@suse.com>
Date: Fri, 24 Nov 2023 14:18:38 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/14] xen/asm-generic: introduce generic header
 altp2m.h
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <efb6b1864de36d9990a2d2a84308f4bdebebb66a.1700221559.git.oleksii.kurochko@gmail.com>
 <5a1b98cc-cbda-4355-87db-9aea12d21d73@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5a1b98cc-cbda-4355-87db-9aea12d21d73@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0105.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9551:EE_
X-MS-Office365-Filtering-Correlation-Id: e973ada3-c6a5-4633-47b0-08dbecefdfeb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MmOBXtvgCLGZqYRZi3bI13x/m7q0fSUX9p6I0l/Bn5ubyYH6B5yLemLKGPzWs/iZQ/YiQnUzMgaNNQtKhEN5j7SRjo6twUjWBbhBxUX5yJ4nvTaN4J1jICdjz8nqi00byhuC6ry3+all0bBRnZ1K0N811gzr7gP31V9Inb/tYRsk1cOljq4Chc3kQqyE+dvH/v56B20YgnqHfm9vRLrt150gJJyvO7yi/pOFu3+wu+R78LZgg1goQFLUoh5WF7ZDmNS6+vUmzEXNQcCzqXBnIcdnsnVi9DqLcXUkJy0/MluoGCZGuobKfDVO/E4Kvay9z0dXTEU6MUAIx7PWlYYD9cBZaLHIOzjplfg+m9u0UTCuoXBDTCc1uJnu1rHBc3j25WtO0MuKl9UuYhvELoUHALYRcBVg4POzfNj38m2Yu1/KunSK4sy24+ErQZZ5vJbmDsy2o2wTLv1SiwoTfOC6YHnFWX0wIKz/6vl4OHZR13pBVORDtYXKSxQEHhsQgCtg3Gtf1KTlVO3BeiDh3cbBbut+Df7QslBxK40Z9MSPdBba5FkTAFxV8Uh1n0R+PotOq6YeZQerXXy7teIhBMiY1B0LJBaC/+QfTRpXu5OEZDpqrCs+dR6XF8Wu9pLv3TlSRnISRBGYwX8JRUdLJRsd7HvrAUFP60Abt9xXh3cc8Us=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(136003)(396003)(39860400002)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(4326008)(66556008)(66476007)(66946007)(6916009)(8676002)(8936002)(54906003)(53546011)(316002)(6506007)(2616005)(6512007)(478600001)(6486002)(2906002)(36756003)(41300700001)(31696002)(4744005)(7416002)(5660300002)(86362001)(38100700002)(31686004)(26005)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RmVNRVp6Zlh3WW1hU00zME1FV1pDR21CY1pTVUNtVWMwUmNxTHkzQXl2MkNJ?=
 =?utf-8?B?T2RNMEI5NFAxZE0xY0RBV0VSTWJ5djdKSDFObUZadVg2V1NZNS9YSXZxTG5Z?=
 =?utf-8?B?aTFCWDVuMVBkL3FxN3owY0NNaGxwSUkreGpIcHdaV0NtV1dmdzAzOTdUR1R3?=
 =?utf-8?B?ZnZiWDZVcUowb25lRUwrM3lDSUNiaXN2L3pMcG1LNmx0eGFrOE9lV0l6c3c0?=
 =?utf-8?B?dDFNYkdNaG5GUGEzbXNnYU1CUmNRK0gyZGl5Zlc2Y0xPNE9DSEdhRG8yZEs4?=
 =?utf-8?B?Q2ExbXVOd1FnaG1wdy82cDB5MHpnNWlSWDQ1bldlTmJTK3hzWGhZcTFNVWls?=
 =?utf-8?B?OE1SeWJQTk93K2hJT2dsd1k0Zlp4bE5IMU5NdjJ3SXl0dHBNeHdmWkhld2Mx?=
 =?utf-8?B?K3dDcTNKVnZrWG9PS3VOZlRjaDNxejR4ODYwODN4b3Rtck9Nakl0ZzhYMzY3?=
 =?utf-8?B?cjc4Vjd4eGRLb0YvVGFDR09EZ2p6d2p3blZoS0pML1IxOUUvNU5vVFRUbzBO?=
 =?utf-8?B?eU03cnp3cmt0ZlNDQXpaZU1lekswVmlZMmEvVXdSODNpREk2TW9IQTdadVU0?=
 =?utf-8?B?YjBkM2ZwWTFpcEFyUlIyQktDZksyQ3pTcWtyR2Z5S1JXc2hLMG5VQlNNbmh4?=
 =?utf-8?B?M056QWk5M1MxWURVVUVhaU1kYUhpMzU1RGd3Snd4eW1aN3FCRDlTazQxZzRw?=
 =?utf-8?B?NnVvSWtSSExPUHJ2bXBrbExjV0FPbytKOUtWdFdyYUJ5MHFFcXc5S202SHR5?=
 =?utf-8?B?aXMrRFNuc0owaU1CTVFFT0JQMk54V3VIbmJNTmpmRTZibm1vTFFUbVhlbTVL?=
 =?utf-8?B?eGxvZldHMVVVZTI3dWx1SGdZN0tEZGt0ZTBIeDg2eUNPRG82SXEzUTUrTWVG?=
 =?utf-8?B?TC9ocTlZWE5RUFlYSnZ3N0thaFp0dEM2cVVkMGFoSVFJZ2UzR3BGWXFNc1JT?=
 =?utf-8?B?WUtmYm5KWVlTcDJDdEh2RUE4MUpaTGlOTGJkZGVNc3liUnhTeGZjdktSSlRR?=
 =?utf-8?B?WGl1STZSU2QvazNJdFQyM0ZlNFJSNHpkZ3hqaEJOaVFzU0NUckk5VkN2UEZV?=
 =?utf-8?B?UnVvNTFnZEJqZkxrNktoMVJjTlFOSXFYRmZOQ3owRFJBVlI4YWd3cFF1U0NM?=
 =?utf-8?B?T2g3UzZ3aHFwcDFZWnF6ZWx3em9xQVArcktPNXJMQWh6S2VBa21HZlduTmly?=
 =?utf-8?B?YnY4NXdrRGpsamZ3WFA3RFB6dkRIaEtmcE5PdnRYakRzNkhxS1FLdTBhYytj?=
 =?utf-8?B?VHp2bHZhZkxXQnBUa2NyU0NldWNaanVHMzlqY2xIUDN2M0ZuTkV1clcrY3ZJ?=
 =?utf-8?B?djg5RlBuNmdCb0wxbm16M2puUFN5RUZMNStEb0F5TWxhUHJPZ3JkeldFekhh?=
 =?utf-8?B?eHFVVm82YW9TV2lLWmhMNDdLQWhMOGJrdkZZcEU5Z2h4dDk3aTloeWVEa1Yw?=
 =?utf-8?B?cStIeGNRRTNLc2RxOUtxNzFZQVB1RDVsdTJqdGd3aGxFN0YrdUd3aVR3b21j?=
 =?utf-8?B?Qmc4VXhDNU5DNlc2NXFqRmtsaTRrVGJUMG8yNnJlNXVVS21jY0ZrVGdIRmtR?=
 =?utf-8?B?akoyOUF2NEdlT0VBdGJIcGh4NW4rTTNGOElQSnpUK1ppR3JIamx4RGNXcmF2?=
 =?utf-8?B?K3p2akRoV3JVK083YWJoamt5bnNFRzlITlp0Z3NNY3U3clNJM3ZIYnhybXQy?=
 =?utf-8?B?TkZLcUR2NmRvV1NidWtQa3BGa0ZJbVJtUHE1MC9UVDV0dDVzd05VYUowMzE1?=
 =?utf-8?B?ODFYRURMOVhUSnNIVS9XWkwvM2Z2MnFGM1p3d21wMzBsbjVRRk5LYmFWVnlC?=
 =?utf-8?B?enhIdXZ0cnBWMFZPaUNHMFZ6N1ROMitXYStCc1JBRERaNHc2NWx6NEZFRzFS?=
 =?utf-8?B?eGlDSEs4UWRYL3l3ZEdIZkt5cGpmVlMxYnl2YndOZ1U4Z2hDY3hZZEFmMUpH?=
 =?utf-8?B?aGcySlpIRFFVT2JqZHZiNnFwSXNNbUxPSXlFVkhMdTV2YVBscmN1cnJLSDlP?=
 =?utf-8?B?YzZ5cnB0VlRGRk1rN2N2QlIzUXNCUHdpWjlMemtzb1I5Z3RoUVB4bCtNbHYz?=
 =?utf-8?B?bmNHazdzSjFySFcrUXdTb24zWXNMR2xSMUtNQUdTaDdnKzJXWmF1TktyYkpy?=
 =?utf-8?Q?mJvPLsNF645TMm487NkoSs1Cw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e973ada3-c6a5-4633-47b0-08dbecefdfeb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 13:18:40.2063
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cjnrNX3Wx3sotRPu369vvhg+V+ClpWuYG6/uX9NUAxJcIcB32IAmQlrfYCwfD85078qmz2mOtZDRyFweB3ogzw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9551

On 24.11.2023 14:00, Michal Orzel wrote:
> On 17/11/2023 13:24, Oleksii Kurochko wrote:
>> --- a/xen/arch/arm/include/asm/altp2m.h
>> +++ /dev/null
>> @@ -1,39 +0,0 @@
>> -/*
>> - * Alternate p2m
>> - *
>> - * Copyright (c) 2014, Intel Corporation.
> Shouldn't this copyright be moved to generic header as well?

In earlier communication I raised the question whether such trivial
stubs are actually copyright-able.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:20:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:20:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640690.999281 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6W6n-00069T-UR; Fri, 24 Nov 2023 13:20:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640690.999281; Fri, 24 Nov 2023 13:20: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 1r6W6n-00069M-RE; Fri, 24 Nov 2023 13:20:37 +0000
Received: by outflank-mailman (input) for mailman id 640690;
 Fri, 24 Nov 2023 13:20: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6W6m-00068x-IQ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:20:36 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20613.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::613])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3fcbdc20-8acc-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 14:20:34 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9551.eurprd04.prod.outlook.com (2603:10a6:20b:4fa::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.12; Fri, 24 Nov
 2023 13:20:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 13:20: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: 3fcbdc20-8acc-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=EP58U5NFLtvW42PPt4XINv65Fyr/QQRch/UEHE9mn73KYqnkE5vMRcUCMIqlbltFoJI0nsHKgTWQSg3Adh/E4CK/ZQJA9oFWvUXPI5CBv6o92CAGzyTEp20jD2dRc/oDJgEkYQzVd/5atM00r07qwjXSTcJ+C+KgECPHmS/HsCEaTr/E5+q1WPZ/bE6+YB9TkV5vQHv3h9aONET9TlES77s7TE0ufKBcVlvFacAcBsLSEp08VUCf20RfelZENBseRm4zvqFJENPZGR/9IS41RX4Hsu4vs9QgXXNtZcLGdo/4oWQZtMtI4fYuBHsbsM8yorF7vaQxhBtQTjGWL993TA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JV8Z1zlnoBVL7BM4RYnFRmehf5mczkb7dpsS8sXs3hk=;
 b=fdI6JdFdemOvaUBLZmOwPyaOmbtD3Ch0GecrUfPrVKSIsxfJbJ8OqB3q0j4WyURXmgqUpfdcNoXESwwn/QEpDmIMt1f1NZx1PQ7kSQiVw/ksxZBumXjPB4Q3ZQcuzLZpvlEpIDbNHA4dsXp+tXe7Bh9cqMeY8NP6Ee9Cy05scigpK3ESBSWuj6atsZb6+lj6AKqCU6eKIltIlBSqfrOdyYkG8jVAe94FMfX4TeJ8MToXqSZbX+rdtAFvVo5CvFpeXXtASvmqNBJBHE+IzKZ5b/LqvDJ80NOQoQnI4UaULHVPk224qoWsX2sSE0rWBP9jLGLBVOsay+QroKQFQ7C43A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JV8Z1zlnoBVL7BM4RYnFRmehf5mczkb7dpsS8sXs3hk=;
 b=nZxzEoq2A3Re3vkhAfB13Duz6DBjoP6EzdHcOmLcnc9p8cMKGjqLbgOes/cD4w/v67rt3LzklkDcH6GsraV4QS7u1Y8oHKAy8Rfca4UAmRnzofRdcl5nMNva6iN71zpbh6l/Qn80NQhweHPCb3wL1WWAQYSiQKH7HpOrIHn1CFIy4DPh4iunbRgdUHXLQZ2hJeHHALG0PG1VmsMR+9Rx4e6mRUym0Dduuzva6xhIVo9tIRrEdCpWqqCcSs+cNmQZ9ZaDYUROTHHnUDsOKwZtbZKFUkriTTMhPDGDJJjU34VtWMQIkhAsAGUPLqOAx24QBEjDbWSGz14i6OAhw0mbiQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a43afbc4-5c3d-4626-9aab-8cee09ec94ae@suse.com>
Date: Fri, 24 Nov 2023 14:20:25 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 11/14] xen/asm-generic: introduce stub header numa.h
Content-Language: en-US
To: Michal Orzel <michal.orzel@amd.com>,
 Oleksii Kurochko <oleksii.kurochko@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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <7ae3b2dbdb8e711b2462af511e1f64c2700113d7.1700221559.git.oleksii.kurochko@gmail.com>
 <c728ba04-8cbd-45d5-af2c-eefcdf3f7afd@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c728ba04-8cbd-45d5-af2c-eefcdf3f7afd@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0001.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::11)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9551:EE_
X-MS-Office365-Filtering-Correlation-Id: be91bb11-35df-44ea-b5a3-08dbecf01fad
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Q8Nmj3UJaXgS9jpU5N9A+xi+MGX28ykhLNiE8vBnQPEZ2XLcPD9x8nIPTz5b7GTZyZOJAmPqpgJ13m8ZwTqm3HwHyJdcbapyM+4oRKYQx9qBzxjGano57xlp0rcg8zwOhQ9DkAW5YvplEdQpNKCobt/mlZNyyg4vm99UAEdvtH32zAMJy2MQeRfl8btHaVL1axBwYYXrAZySI8sVnCsbHDI6LzHrkUY+GuWo2vsAJ+xIKRKL8SQCgaMOg35l0ChALCfDsNSpg5Nm+ZBw04TO8sVtmNSA264dwi+h63R+Mt33MzCqnPmszeHBD68vMyeJlrRJnLt6dbpPgUwEK/p7ipU+NzBmCz1g0ItPPOZ74CsIy83Ve7p9jJ5w0sNbT1w3nBhJSL5aky4MUrI/iL8Q4Ez2clGMYT/ZXNY3MDnoCKo/0k5pWBsHYUZR2pHr6nBl9li5J8Z0vJXAJM1mIcEKHJbeYpOSzvyJ2dVltH//cR+oxCx3iFJExK0V3Dfjlf5MX31vZutifTINEzrF3Nm/YED54+NP0TGR0rebQuJcR9Ll6cMePsGpYk/IHssHWiaDBYHy2k8Z1dYTv18L4vkpZMP73Jbynij2+bT70uP5v75Eku990WnHqtaRx9CfSspdn7daJyfodoQOdLdmzNm0HC6o0yvS+9eiyigyCwjzIoE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(136003)(396003)(39860400002)(346002)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(4326008)(66556008)(66476007)(66946007)(8676002)(8936002)(110136005)(54906003)(53546011)(316002)(6506007)(2616005)(6512007)(478600001)(6486002)(2906002)(36756003)(41300700001)(31696002)(4744005)(7416002)(5660300002)(86362001)(38100700002)(31686004)(26005)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Q3JIVWlIcXlHL1ZKSUE1WHNGRllHYWQvQVhDRzA4TnlNVXpMOFF2ZEFmeGJW?=
 =?utf-8?B?VzFlUGFPQXRacDhxQm0xdjM0TVhHR3grR3RaZGRITjRncDRXMGFhVHkrYXRN?=
 =?utf-8?B?WTdLWnhsdHgrUTZXa1llbi9Db3NuakZqb0VHaVZycXQ4WTY0bDkzakhsS3lM?=
 =?utf-8?B?djFuRWNiUnR4WTA4MG9HTTVWU0hNanJwQ0ljVXcrOUhUZWt4OHgzbnpVajUy?=
 =?utf-8?B?RWMzN1RPeEtqejVhNFZscERFZUpLQkIyeVducStJN1ZDcFR3aWFabDhHMk8v?=
 =?utf-8?B?aklMVTlBTjR3cHRGSHFIMHNMM0g2Ri9IL3UyZy82eU8wQVcwVzdUNCtubjhk?=
 =?utf-8?B?WXJsNVhqdk1ydmpSWWQxK3pscWFMSVgxSEJyUEJsaGtVT1cxMGkwRjE5YWZT?=
 =?utf-8?B?Y0RGM3UxYVBXQlhPQ3czSFpHY09kNnNpUy82UHdjelRySmpIdTFhbmpxeEdC?=
 =?utf-8?B?TjY0V1BIZXJMY3pnRWo4Y3JocjRKKzFEODl6UTV6MmV2Y1RrYlNJeE5sUS9n?=
 =?utf-8?B?dExyTEtsWm5Qc3pRR2VNamlOb0RYeFFvSDRsU01tZ3pnMHJ5TFl2UDNYNjNJ?=
 =?utf-8?B?UDcyM2xDcEozMXR2cHFCSXJ1dG9BZW9xYnB2MStZSHpRTFlFeTNPZkJOVmJU?=
 =?utf-8?B?NGtVcmtkTndYZXhRZHFQRHc5NXh0OHFsbzlCQWRoUFV3VmlFb0d1WnNtVis2?=
 =?utf-8?B?MmkrMmlYNXluV056a3ovQ2JVRGRWdjV0djMrS0pwa3NlWksvMSt4SEFDcWt3?=
 =?utf-8?B?cXJLVUJBV1FkaFdHSXBJOHpFQU0wakJCV3lmb2ZCMlpCUkF6aU5BZVhHcE5Z?=
 =?utf-8?B?aVE3bTI5R1dCQTFPaGN3MmRjQWhNMW5VOXk1ZEpxZU1nc3czMnFhM01DZGRv?=
 =?utf-8?B?L0dObWFZaWNXb3BzQnpVZ2U1UkNKTlM2TmhTVURSSXl1ZXdDbWszOWZKR0lL?=
 =?utf-8?B?NHkwbWN6cDBqQjlkWFJLbEE0N080ZEVtOTJLWnFkTUFidm5ZTkxUY3c2N2c2?=
 =?utf-8?B?UFYwNEdESUdBNkZwOHBQeWlVV25qd1dCODh6ZTlqaTl4S2w2d21USnlDNGdv?=
 =?utf-8?B?L3hyNnpDQTMxSS9qMzlpV1UzWmgxb1hCeDgwcFd1Qzg2RDdDZ1hTODFOTnhK?=
 =?utf-8?B?aUhjaEwwMExVWUU5cTYyaEJhc3QyNlNKWUtHdHFJMEluVkE1M2VoMUVMUzJi?=
 =?utf-8?B?NnFKZjNzei9MbnlhSTJCN1FUNDU3YW03V28xMkZLbGxFQWM2dU1Id3R4cXd5?=
 =?utf-8?B?eWN3WGV3eGh2b2k2eEhRS1U5QVhSYVR0TURJZE1ROWFvNEJnS1h1UVpOSTIy?=
 =?utf-8?B?TGpGK1U5alhISVJKeU9RWnRtZ1FsNmlTaGJTYzRFQUZOZmE0YjZsOVVuRGNW?=
 =?utf-8?B?SHJKTGtGeWtDdmx0a2xYdFA5YUk1L0tnMUpvaENRdkQvQmYzWUhpd1JpQ25N?=
 =?utf-8?B?RWNNKy9nak02Sm4zMVQ2dkwwQU41QnNHclg2ZFpnYjFwS3h3SlBKTnIzTysw?=
 =?utf-8?B?cWl6ZzZlcU51R2l1R3hMcS9vcWdtZThLOG5kSFV4eE5mRkV0QTlIaXlyQkZP?=
 =?utf-8?B?aFlBVGNKUnVCNk9XTng4QjVYSFpUTjFEaEhyUEI3QURNbzdXRVpCZTZpS293?=
 =?utf-8?B?T3FOUVdyWkRSc1RMdy9oZkVTVjBXZXhHZktPWStZODM1OTZMV09hcW9hM3V0?=
 =?utf-8?B?OU8rR1lKWXl6a0ZMbUtrZTdKKzVZL2xtN2xpekM0OXYzNVllNkg3amNQYklQ?=
 =?utf-8?B?TjBqWU5MQ1lublpoR3c0bEVwRUVGMUFOb3N1NmozS0hjQkRnSzRRWHU2YnRu?=
 =?utf-8?B?UlIrc0VEQVUvbUM1cGowdU1HRjlZK0Y5cGpLSVRVaHRYYUF0SzZZN1ZUaCs4?=
 =?utf-8?B?b3dkdGhKTENXYWpNVU9KeU1UZTVGR0JVUlcrYit0MitUYlhHR0F2VkJXaXZn?=
 =?utf-8?B?d1NGTU1OYzVpS0V1enZOZ0l6ZjJnSUVqaEVRa0cyeWRhSTNZV3MwRndiMGJj?=
 =?utf-8?B?TUIxMW83SlVHdlkyQWVTVlVBS2hsekJ3NldMelp0WENnR3JRckNacGJNa3kw?=
 =?utf-8?B?UTRLajZEaFQrZWRIcmM0QlZpSWlwc0xMUmwvOVBuMGp1S0ZRMzhNVzg4aytm?=
 =?utf-8?Q?ipM0Djvmom2QpNBH+D78Fg8Nh?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: be91bb11-35df-44ea-b5a3-08dbecf01fad
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 13:20:27.2024
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tXupU4+UaNeZ75bmeWtDgpDUAvWc7zV3BR/UWiavAVkRWB6UsQBDLh5qgOfR/ncnNaJvmlOCxAxYjQkqiACkOA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9551

On 24.11.2023 14:03, Michal Orzel wrote:
> On 17/11/2023 13:24, Oleksii Kurochko wrote:
>> --- a/xen/arch/arm/include/asm/numa.h
>> +++ b/xen/include/asm-generic/numa.h
>> @@ -1,9 +1,11 @@
>> -#ifndef __ARCH_ARM_NUMA_H
>> -#define __ARCH_ARM_NUMA_H
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +#ifndef __ARCH_GENERIC_NUMA_H
>> +#define __ARCH_GENERIC_NUMA_H
> ASM_GENERIC ?
> 
>>
>> -#include <xen/mm.h>
>> +#include <xen/mm-frame.h>
> If this is for mfn_t, shouldn't this inclusion be moved under #ifndef ?

I agree, it better would be.

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:21:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:21:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640693.999290 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6W7u-0007AR-Az; Fri, 24 Nov 2023 13:21:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640693.999290; Fri, 24 Nov 2023 13:21: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 1r6W7u-0007AK-8P; Fri, 24 Nov 2023 13:21:46 +0000
Received: by outflank-mailman (input) for mailman id 640693;
 Fri, 24 Nov 2023 13:21: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6W7t-0007AC-6p
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:21:45 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 696a1b97-8acc-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 14:21:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8109.eurprd04.prod.outlook.com (2603:10a6:102:1c2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 13:21:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 13:21: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: 696a1b97-8acc-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dt6gnZO1XMF9Aob+FFhkG6NsOUkguqLGC8mwvy8zfSsPLo4F4QlJartXT/BOl4t+4+0XntT5umo7p7O+hxE+bQve+YYg1Wqj+dFoFRTrS/Gec/kSui4gq3GUI5m/TyNrBI4P4CceQziNufr8TCZd6xpJOvx+/oSFRrp42PRj6vN1YX5r/ID2r0lAF8vuSf2MQsaZX9w0e7q22eLvbnmf0kq8x+cGCKr0+r7PapOXpeVQpEzCu3UIMXXWvgIDs4KY1ruNpaCBmi63YWMRqh2nzqd/2N416Mtp8pk35ydfjc+vadzN4HALkFG72evk6Q4jkyOu7YIzZ3xa9B4MdC4VCQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Sp6wz80eQlDToaoHsFELXIRGZd2smX+6sKRVULs4A8c=;
 b=cxWk3+TKMDhdCNd4Zv/UszsrZe0DtA/MGuLnrlJNCCG6hDI8n4ThX00SYR15bnXV7/571nYA9lwRxt+FuQ5zgKiw+KnB6L8XwWAWA5vNlLPAfabck90eDXlDIXIHGqO4DX6rcC63GLQnL4dSDeXOjaYid3QTER8eiP49yU7FvFIALZUfQSZMONgdZly5E6T4NIAdPsRH+So6ZUGf4J43E8mpcYhn57cRHCQ9y8li9gnmRMcnNMentKczsExmH+tMD7MLWfBLgONMsQljCkBU9AA369usBJbfZomQpIkLzZklh4B+3StXe9idJF74nwAanuQGANSSyDffHhuTiVKDsA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Sp6wz80eQlDToaoHsFELXIRGZd2smX+6sKRVULs4A8c=;
 b=MMIvv/IhtZJFWQJQJjO2QrJHy7gA0vH38pSrwFbIxll9CxdS76tw3QWDMKL6M1hW+m+VOpOe5J3GoHCigMCrz/QelJk9D8mM+p/IKgvpWtBF/9FOHiGQ9+LSK40IgW4nE0NNQf6Lh0j0TLpZmqzbdgfSimIVrrMx7qUbV1k/Hu5UxSlFimiYXMYeArmMq6Y1/AiBQ+WVjcf3HtzdV5xbT3SjmRKQ3gY5ztiPB8ZRyRxwIVTPyrPYD8BDrBxtR/OoKoHZEecIQwSLfc6hKrtYFzqjg6qqZ4n6tWsJtM/oNuyEzVEBp/qeMXdPO5rB9mqnT1iYvveknJtoJ67qPe0u0w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e6dd0b64-9977-4e86-ad20-b46bfa4023c4@suse.com>
Date: Fri, 24 Nov 2023 14:21:41 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 12/14] xen/asm-generic: introduce stub header softirq.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org, Michal Orzel <michal.orzel@amd.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <8b1969350a4f05758969058d47ac3ec10d80db50.1700221559.git.oleksii.kurochko@gmail.com>
 <14c1f186-bbe9-4a66-b6ad-e89d85fef8ae@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <14c1f186-bbe9-4a66-b6ad-e89d85fef8ae@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0001.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::11)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8109:EE_
X-MS-Office365-Filtering-Correlation-Id: 70fd8bc5-5f13-4692-c532-08dbecf04cc3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2oqFxsFjQWZfdRTp68WluUwT0Vvbd0Ri9LvWUkifFJyuPg+E/HDziMreGJkofcXHEMPkswCesGiAxL18cKOmyQkWDbE/dp+WjN2nDd4/lxE7do49BxkRsXcRzPCrRXhiI0ikYDzHIRZ+Gy4PAWMQ0wXvevg1nRdI8J/1iitwJjvivP0Wl+ee3sqUAvvaHJ9lI4o5mTS+TfxNYMB+FgtepVcDMmoXJP/StSt1sAOv+ShYF7sIKH1/pM6EtWFKzB4NwfHqFrtnaqVuR4g5fsXpSR9N3leY36x8VQKSRTKjBwK37LK/w1IIRaBi8MsuWv8phsiFAgsmHpl55CQ+0ppJ8WdHO886Jxc+dZhsvAcv5fzP9waxDpGpVVqOcD05jU+b4G7RD01HUuKIJ+fwWPcKBligP9o135Vid/EtPrh1cTbI8lf/iugsc0jcQ58lXGppftW52W+BfDyPmf3soVlK4mAJdfmo5BiOeBLNF5op3IY7tN8g2ecx1Ihf472f+6BJxA/M8gRwd97Uj5h65iX55cf2pzuZtamke24sqFJlK5jV82pn6wZ0HTMUW/vX+qpPHSrGlGbkJx6A4bq+woQrjrMF9VIPqQo29fzw7FrE8g9sqv1Mk59PQSysxTDlx7cAtCsGTVIeeDuyEqE+DLIjjzQ9gHuvC0XpEk5m1DCTu84=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(366004)(376002)(396003)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(26005)(6506007)(53546011)(2616005)(6512007)(6486002)(5660300002)(4744005)(41300700001)(7416002)(2906002)(8676002)(478600001)(316002)(8936002)(4326008)(66476007)(6916009)(66556008)(54906003)(66946007)(86362001)(31696002)(36756003)(38100700002)(31686004)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K2NzSlJaQ2tVSVQ2Q25ZSDY1Rm1xcHJET25BdGtyNi9WU1JkTWs2YStkN3FN?=
 =?utf-8?B?YWNKdSszalQ3Qjd4VWYyL21RWFNJdlZlQjZvWmxqVFNseE1GcW1DNmVnU3FX?=
 =?utf-8?B?ck5mUGVPbFROMk9BTXl3cGNkanl2cHpnbytQUVgvYkRUMjFzb3RTd3RhTThi?=
 =?utf-8?B?QVlvNzB6ZE1jMW9tTldHallUeXdaWkx4cTljUGVBcVhKazdHK25VZDVsM3Fu?=
 =?utf-8?B?V2V4MVpVVktZWDhqSVlYQUpuRmdTbDZYRUw5L2RRYjR5NnNRbnZpTkNPVVNr?=
 =?utf-8?B?SWlsN2JGditySEE4eVdLa0hRZUlKYkVzdzhhaVZqSU9FUGJsM2Q4T0M2WnE5?=
 =?utf-8?B?MzdFemNmaGJIaG43eGNiOHNQMEdObmhyeURIK0hwRXdHU2RCQUFhNHlaVzl0?=
 =?utf-8?B?aUdVVXozS3dIdExoUDdId3hZempjU0twWGlOanFuaGRhdElRaWRrZ3ovaTVN?=
 =?utf-8?B?L1BRUSs4ZWI5MkFnd0c0ZCtrOWN2aVZpQUdVOGQ4SFpDRC9LZmFMelF5YWxV?=
 =?utf-8?B?elc4ZWtpeDdaYWJCYkF4aW54dWpINUZqbkM2MUlkWUFMUUpIYllUM084dEor?=
 =?utf-8?B?SXVTYlgzRUlLYWsxRjRzUVV3eVF3dzQxb1d6TUxxKzRqUWp4TVY5VjRLTTg2?=
 =?utf-8?B?L0dHSUduZTdMUngwV0cySTFCRlpvcGRWR29NQUw5ZmhXamtXVmxxR1F6bVlV?=
 =?utf-8?B?YStYZHhOV1JLUzFuNlZLVUdGSW43RHlKeWQyUWhGdVcwZHR4Q2dobzZ3dGNM?=
 =?utf-8?B?TDJWMjd3T1UyM1lUbEEvdkJmS0M2Vk5MWnBMQXBrdWNaQ3JxeVNzSUdKam5n?=
 =?utf-8?B?Vit5bEZ4bDRNaStqVHIyYkpVN2p6c0ZkRStlQjQzcmJPUVFpNUx1T29sRWNa?=
 =?utf-8?B?b2h6cnluOE5aZklrcnRNclZPck42MVRYUXZjNERzR2hNV1dGeUJhbnpmb0hZ?=
 =?utf-8?B?Q0ZDNStBN1FvRXVkMHNWS0NITmxZYzQ4R3d2eXJQVEtNOWQzWitQamdsVzlM?=
 =?utf-8?B?aVQ1a08yUm9yRUVnWDZXQ2RPT2ppUFNJY0QzRUFEU0N6bHhKalA1L3llbWZs?=
 =?utf-8?B?dHIxK2JNQVlwSHJaUnJoWHFKcjg3L0txZ05zT294T21CUjFqaXNTMGdkOGZr?=
 =?utf-8?B?QU1ySjJCcG5hbHo5d21selNCVmFMdENWNmNTbDFaZy9ONlBoL1BoZkEybmx5?=
 =?utf-8?B?M3F6QUIzNVR2N3h1SEg4V1dSbzFmYnlkSEM2RGJocklVZngrZ1R5encvUGpO?=
 =?utf-8?B?Z3JBZEJDNlFxR0ljMHpTT1RkUCtjZUhVcHhJa1p2aUFDSWZoSUVMV2ZDYlFy?=
 =?utf-8?B?aFBmUVBISFJodjI0UnBQYjdHZmFQUi9FQndnakdmWXQ0cWxEVTVLTkdJL3E2?=
 =?utf-8?B?M3VzRitSQWVwV3N4WjU5aUpPd2Y2K3JSWUpDcjRZOVZ3Ym0zY1FSc3l6UnYz?=
 =?utf-8?B?bElOQitQUzhTR0Z6MjhhQjB0ZjRRYVdWWWh4SWlNYnJHajJzTklWRlhzMTgv?=
 =?utf-8?B?VTBLcHlpVUNkeG01ZjlDY1JhR2FsM084ZWVsUXJzTEt4ZkNrbTE1MzJGNjhR?=
 =?utf-8?B?MWNXa0FOcnVzV0oyM29nd0J6RXF6Zys3MWs4aHZtSUtZay9uOWlPNG1jdFNt?=
 =?utf-8?B?RFpMckZ4ZUdNRVB4OWJ2VEtJd3JnbDV1ei9nVWJrVkEwR2lEbHdxRkd5c0Fw?=
 =?utf-8?B?K2FVWVBZaFh0VWtMcDQ4M3J1K1U5SzVyZ0w4K3FPNm9NOVZ5U0NrOTRkVGhk?=
 =?utf-8?B?WnNKekJPcW8rL2RyQ1VQbG5CelZqWmFndTl3NmZGVlVUQWxvNlNLK1RiOUI2?=
 =?utf-8?B?S242RjdrSjlxbFlnWVpmc2ZONkVZNWFBMkhtUFkvaDdySXE5MlBDTXIxOGhj?=
 =?utf-8?B?dG5OTThCTHQzTThDaEJIVDJONFp0WDNPVE85T0hTdm5qT0VHZ0ZVamJweENn?=
 =?utf-8?B?OURndUR2emcwY1JRZEhWVU1yMkZrbW4vUkNTMG9lUmpYTDJPUnMvL1JVVStP?=
 =?utf-8?B?ODlHQmdTZm45YXd6T01YWDdWSHBzQnRBTUtOaDhlOGdkMFhMbEJGL3pxeTht?=
 =?utf-8?B?MHF2RW1NSm9xVFVEUWpiSG1HTW1uY0xCS3hRc1IydFhyUUZMa0JNSWl2VmFI?=
 =?utf-8?Q?WHwvLbkssjNTikFSz2oCx/NZz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 70fd8bc5-5f13-4692-c532-08dbecf04cc3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 13:21:42.8223
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 49iIznNNEpar8nNv5sf8ClQrb4Qjh/6ZLYahERc4ItkHss/ktmcYunEVqJIKLIDYtkAVqnudDhKMgyyK+kBRmQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8109

On 24.11.2023 14:04, Michal Orzel wrote:
> On 17/11/2023 13:24, Oleksii Kurochko wrote:
>>
>>
>> <asm/softirq.h> is common between Arm, PPC and RISC-V so it is
>> moved to asm-generic.
>>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

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




From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:23:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:23:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640698.999300 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6W9n-0008F1-MH; Fri, 24 Nov 2023 13:23:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640698.999300; Fri, 24 Nov 2023 13:23: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 1r6W9n-0008Es-Jf; Fri, 24 Nov 2023 13:23:43 +0000
Received: by outflank-mailman (input) for mailman id 640698;
 Fri, 24 Nov 2023 13:23: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6W9m-0008DX-Ss
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:23:42 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062b.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id af884740-8acc-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 14:23:42 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8109.eurprd04.prod.outlook.com (2603:10a6:102:1c2::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 13:23:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 13: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>
X-Inumbo-ID: af884740-8acc-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=HR6SJxTTycG18YGuUHzj/0bR4Udleko2k7i2X/A9SG2rKgTzivjpKmtrkztEEB0v9alA2nQSN8Y6K8qPw2tfQnzZJ9zuB/MretiUPiYcZe9lnf15LJ8nfVi+Cb4XEPj2bBw8BcjKpYx0NUBM2zZSUAxT7aaopWXHKQKH1RrYfIsGT/DI27P+Fdvbu0LDy3R+3dUIMP/pK5Kni64BSz275GvyQBsa1kUBa7ytYZZX2EahoQNHTPxeCSob8ccbw3yS8HIwKQpf+UuGTVgbU0jTnGkI4dAgoqEH9qEl9RF/pYugd7n1ZrYIESsLVIUMVYkP1E45nHQVTc2qXz1rFLf5yQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=hk883fAfPN4OaAEwF8j+juDSumTorYeBNVodwbWcm78=;
 b=ZKyEZRtvBicLNZd5uXQMNE6WO1sX4kSOnOSgIAVhB3caDqkR29moUX8tGp2YNj1TvLRC3/Mn2ZCf6R3acnVGja/5bEortYLTv8vJFWFw7ElypQOM0xaU1VkJiel7JeyBoAIaJbvfLhQgTzie5nJ+xlLqe6mToPJ8jMhax/t/yo4qJ/EI3KYf8u+lAh1vNldxHPDjSYcD2Fa3YjQ8CWND0lQ4s6Leaq7eEuExkZnBaMkebtOW1lMqPcU3dtwjsm+4EljQBOPyyrXqcRBGFhyHebL25IEovTLmNLi40S29e+7ZJ/ELKX6PBgS44gJJ0XPfz9E/uGvRwpXE1lT4TJgptA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=hk883fAfPN4OaAEwF8j+juDSumTorYeBNVodwbWcm78=;
 b=vvj9HQV+UOsJjKFzqZtVd3DizrJ39T/GChz9EWRz/8FX5LbffzYUoV1Sb42vRQ03IF2JqN8EffTKFZ2o9i8XgW77B7vbnQ55Y6XWz/bYZAD7NgOi5Gfd/T4LD8IzzzGCCtzPCkJobOebZAsV5xwIAtU76ehLHQO5a8/Inc6Yt7XLwbkf3MdcP48iVIOVbsXJmdccJ/KDrZDEvA/auAPePiEg9kKbYKVzY0DInHaZsr9KsjH13n5WDa4bIULTGeloUzvDlCJtv3MU8sxqKrYUnOSg3aMMioN5bteCowjrC5Ueh9zocyeKppmvlH+Y/xgpZqu+39fjZVL88FDha2LNlQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ee8e1c2c-041f-44e0-a76f-8a154e93e3c8@suse.com>
Date: Fri, 24 Nov 2023 14:23:37 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 10/14] xen/asm-generic: introduce stub header monitor.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Shawn Anastasio <sanastasio@raptorengineering.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <4340a173244ddf933979331762ccb0d523969738.1700221559.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4340a173244ddf933979331762ccb0d523969738.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0128.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9e::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8109:EE_
X-MS-Office365-Filtering-Correlation-Id: a8fc6f82-5a81-4e84-3fea-08dbecf092a2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Las6PxLJHvxf7Hx6kcwPb8+bCA0kyvlFY/+Jx/Vf7uqYvbjAZTKfYsjm7LoITO674FwooO+USvhM2x0zow3TEpytDXGkBVTltNcb2WUQiyMPN3ncT9URonNLnTZix7I5svBs5fI/gkQ3JN6Rn3AiJu2zxUoCPFwR6tR3ye+ou7kLWZb6Ne7VnPOCABY85rzZsVIqgeFIkwnIJ4z+modhkP+Gi3ujwo635mc2vIQCVlt1T+sSM646UDktutMv/WFjKcRcyIPcuzpdrY5ybyovTw+cBCj+YzK6pFJASUqGbUAbZZUit1afNJeEj4r1JTDvayRRq06gZT+yevyBIfoMnCTh4MB/mVarYOJId2++Lhv8+NUSuLT1VbrgY8aiJbGgA8R3Q00/2APUDmI/qjUsZmAAycZAIrvX6Xhl/07IkJb12R2IhkLJhAb9fArQG6qISrtkpjdFIWB6KrMwx+zmimEepCulnVxQXoFBV2jckQfb/9bSufpjNFyUxnl0BXLo767Fw9yipkYROVl6ZZQI37pr6foMrW88vdhyeZMhUIDepCbXZ66WKwLk5LLuK25KYvGiGn1vC2L6SJnvUNdVhYLdINnuDw8epVe6fMKcdcsMdpZHasiC27wmxOXrMA+aPvQUeyAIA89OdrGIactSjsklSmr9/fnZqun7k1c1Oww=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(136003)(366004)(376002)(396003)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(26005)(6506007)(53546011)(6666004)(2616005)(6512007)(6486002)(5660300002)(41300700001)(2906002)(8676002)(478600001)(316002)(8936002)(4326008)(66476007)(6916009)(66556008)(54906003)(66946007)(86362001)(31696002)(36756003)(38100700002)(31686004)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?L2Z1ZUpWcWRDT0hOT1lGbHJsWGgrK3prdmN0WmdGbmFhUnIzSlgrK05tdmFC?=
 =?utf-8?B?UUZRNTF6QnlneUNlS3c3Zno1WmYrbFg4SS9ucjM3Y2pSSEFYUlhWWjJCMUR1?=
 =?utf-8?B?RE1nRkFSd3NPR2c2R2lNMEF5dVJXYTQwcnEwbnpFU1NpbHRtQmhST1k3Slgy?=
 =?utf-8?B?amxpS2RFUEFNRk5YSTJaazQzQkRDN0lEV09IWDMxdE84NHJpeS9PbWZOZ1R5?=
 =?utf-8?B?ZDRwVERnK3J0bXI0bDNPWlJpRkxoSVVIZ1BXRER0UTMzbVhkYzYzUWVSRnFN?=
 =?utf-8?B?dDVuazQzVUdJdnBNMXlzczBwRXRKY0tiWlVTOGU0ZTA1cjd5dElMdXczRDZW?=
 =?utf-8?B?SFNyenR0VDY3Q3d6bTRFbHNSdFptVUhyTi9ueUZpZzNqejBTMTdxK0MyNmQv?=
 =?utf-8?B?VjNQWXh2V1V2Z1pBeEFRMXJVUmtMM3FDQ1Z2NEREQXRJQTBuR3FuUjBOMTVD?=
 =?utf-8?B?dDZNcG9zcGNNeEkvZkwxckgvSDM5di9Cb2t0ZTJabzhidzFkUjNRMHJVNkpU?=
 =?utf-8?B?ZEY4Q2tiOHJ4M3dEdTdyT29EUFl1RFNmUjgzcjkxckY0OHoyUW1TVk02bTZo?=
 =?utf-8?B?eUo0aDBBb0ZNdXZmWXZPOHdFTWhsK000QktwUDZyVmVGYmxmU0IyYkQ1Vzls?=
 =?utf-8?B?eXhhMWVBUEw2V0pvL3JtZUJ3OUs1QjN6QmRoQnFoczBXZFM4dkRZOTkrNGpB?=
 =?utf-8?B?dCtLdHM4UjJVT0ZLR3RUUWMvbys5TVl6aUI3MDlLRHF6cStFTGFsTzJIbWIz?=
 =?utf-8?B?SEhRdVJrZWNCMnc3bi9DcWwydXErejJTdEtLK3BjUUZISVhpTHdTcWdqd2RW?=
 =?utf-8?B?ZjMzak5BYWw2QVN6TmhrNzJTbTNiaUxNeUhaRFVwaFFpTkVJMEQyc2dLOG91?=
 =?utf-8?B?c2xCb2VHKzEvSStsejU1dlo5azZHY2N5LzFJWVB5bXQwRWxaWFgvR2tCZmMy?=
 =?utf-8?B?STI3MVlzbnlFTzRtNnRwRTNneHVzT2V4SlZ5MVBWQ3FLK2V3Ny9RRllmTjRM?=
 =?utf-8?B?RkFjcUN6dnhMQklrbyt2YkxjUVkzS1NzTk0rTW5ZelpzNjNEZWFYOExKS3pr?=
 =?utf-8?B?eGRXQ29YckFwSVJQOWlMcm51S0ZuU2EvUVZKbFcvV3dCSFAzWGZWckdZTG5C?=
 =?utf-8?B?Tzd3c0U1ZWN4YlA0cUNHNEIwRE9Uc2xRbmQxdjhlL1RYNjFwSldlNGQ2Y1cv?=
 =?utf-8?B?UG5RNjFHQ0dXTVN6OVUyVDVtRUFNcE1OR0xmcHZNeXljaHc3OHlmd1ErajJk?=
 =?utf-8?B?ckxTZTNZUlFJUHA0Z0NSOUpXZzJHMTdQcjBPZmlPYVh0aGRNa1pUQm9UUzNW?=
 =?utf-8?B?WEg3NmYvOC9KOXVNOEErVDhXYWpZWWVKMk1BM0JwU1dnYnI2V1QweU4wUFJN?=
 =?utf-8?B?bzB3UWpFN09tUVpIZndTVXY2L0o0aGtrSGRrR05vbFRXUkZMeUMxMXJGK0N4?=
 =?utf-8?B?bkd5UU0raU5yUUVxRmw3RTJMcDRyM2NYQ2JvbW5xN1c5UUtZMVYwcWVjUVZ0?=
 =?utf-8?B?NUJQbjJqWTlCaHRMMGJqZ2hHNzNqOVo3SFlBRklmckI4KytTLzU1OHJzTlA1?=
 =?utf-8?B?UHlHeVlCYUdJMVdWV0xhbHQvUHJ3eEFqUTVrbENhKzVuQlZCU0IwWDAvRm5F?=
 =?utf-8?B?NkZ3VXY0NzhtWjRsc2JhTDFQZjRqOHR0d3FnQk81T1R1SW4wM3liNWNuNW0v?=
 =?utf-8?B?Q3NqWWxaNjBsa1QySUFhWDMzdlowTlF0cStOaG5Rd1g0K3VJWVZrNUgzOWtK?=
 =?utf-8?B?TkhTWFRFaHdnUTVQOUxYcGN1UGlDb3g3aURLUGtpazhyVERPWHFIVUJQdHhI?=
 =?utf-8?B?QmhCblhOQVVhSXBxZzBheFZLRVY2OFhiYk5Jb2tPdGFWNWRYdWYwTVU3am5V?=
 =?utf-8?B?RXpQWWJsUHBCZEVGNFlrWTFKQkM5RDJzR3VvbzB6WGZaZXJydjRqTUk1U3ls?=
 =?utf-8?B?OGNTSGtMWXNYa09ScjM1TVlPUFVmZnhKK0dMRFRMRlFyaTlCQlhiV25YaTcx?=
 =?utf-8?B?ZENWdlk0VUo3OThmdlhwaWpwalBoSzFRQUcvMXRpZUcya3NSKzRTQ0Y1bDNr?=
 =?utf-8?B?TkN5WjdFNThsaEliQVFsSGlkcHpGemFMT3gvZ3MxNWpSU0RaTlljMUF0SVBS?=
 =?utf-8?Q?yJSZlbDNc0XG4YJngNHXYEE98?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a8fc6f82-5a81-4e84-3fea-08dbecf092a2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 13:23:40.0381
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7O0ciNkIwpKIrWHkudbfGcst4dLNdJpl1Hk5At243tU83RnrPq2tdgYHybsQ4HoMzL7XlfEfD1qUCEqts3Ie2g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8109

On 17.11.2023 13:24, Oleksii Kurochko wrote:
> --- a/xen/arch/ppc/include/asm/monitor.h
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -/* Derived from xen/arch/arm/include/asm/monitor.h */
> -#ifndef __ASM_PPC_MONITOR_H__
> -#define __ASM_PPC_MONITOR_H__
> -
> -#include <public/domctl.h>
> -#include <xen/errno.h>
> -
> -static inline
> -void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
> -{
> -}
> -
> -static inline
> -int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
> -{
> -    /* No arch-specific monitor ops on PPC. */
> -    return -EOPNOTSUPP;
> -}
> -
> -int arch_monitor_domctl_event(struct domain *d,
> -                              struct xen_domctl_monitor_op *mop);
> -
> -static inline
> -int arch_monitor_init_domain(struct domain *d)
> -{
> -    /* No arch-specific domain initialization on PPC. */
> -    return 0;
> -}
> -
> -static inline
> -void arch_monitor_cleanup_domain(struct domain *d)
> -{
> -    /* No arch-specific domain cleanup on PPC. */
> -}
> -
> -static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
> -{
> -    BUG_ON("unimplemented");
> -    return 0;
> -}
> -
> -#endif /* __ASM_PPC_MONITOR_H__ */
> diff --git a/xen/include/asm-generic/monitor.h b/xen/include/asm-generic/monitor.h
> new file mode 100644
> index 0000000000..57b2256db7
> --- /dev/null
> +++ b/xen/include/asm-generic/monitor.h
> @@ -0,0 +1,63 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * include/asm-GENERIC/monitor.h
> + *
> + * Arch-specific monitor_op domctl handler.
> + *
> + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> + * Copyright (c) 2016, Bitdefender S.R.L.
> + *
> + */
> +
> +#ifndef __ASM_GENERIC_MONITOR_H__
> +#define __ASM_GENERIC_MONITOR_H__
> +
> +#include <xen/errno.h>
> +
> +struct domain;
> +struct xen_domctl_monitor_op;
> +
> +static inline
> +void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
> +{
> +}
> +
> +static inline
> +int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
> +{
> +    /* No arch-specific monitor ops on GENERIC. */
> +    return -EOPNOTSUPP;
> +}
> +
> +int arch_monitor_domctl_event(struct domain *d,
> +                              struct xen_domctl_monitor_op *mop);
> +
> +static inline
> +int arch_monitor_init_domain(struct domain *d)
> +{
> +    /* No arch-specific domain initialization on GENERIC. */
> +    return 0;
> +}
> +
> +static inline
> +void arch_monitor_cleanup_domain(struct domain *d)
> +{
> +    /* No arch-specific domain cleanup on GENERIC. */
> +}
> +
> +static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
> +{
> +    return 0;
> +}
> +
> +#endif /* __ASM_GENERIC_MONITOR_H__ */
> +
> +
> +/*

With the double blank line removed here
Acked-by: Jan Beulich <jbeulich@suse.com>




From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:26:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640702.999310 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WCD-00012K-2P; Fri, 24 Nov 2023 13:26:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640702.999310; Fri, 24 Nov 2023 13:26: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 1r6WCC-00012D-Vr; Fri, 24 Nov 2023 13:26:12 +0000
Received: by outflank-mailman (input) for mailman id 640702;
 Fri, 24 Nov 2023 13:26: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=Ulgz=HF=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r6WCB-000126-KY
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:26:11 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20601.outbound.protection.outlook.com
 [2a01:111:f400:7d00::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 081f6b70-8acd-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 14:26:10 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8375.eurprd04.prod.outlook.com (2603:10a6:102:1be::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 13:26:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 13: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: 081f6b70-8acd-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MptBarYaHncmdVeG/0ea95dS00eDUVwllWQQk/r3ZZxVK2QnIHFej++uFmq2CcrmMyjA1OQ9F4o9DePLHKTeT2QBNoOADprREYJrFqr39uGF+dbXO/Zme+9X+Cd1MyPnieMlfTSR2IucutBbm+K5102ruqowI0QxvDRN5/R2y6KO9WMm0Vb6CW5qkwqTIWBMZR/ita+8+cMNLHNUpeVnprjgdByawoDGKIoZzROuV3EyQ45kOcnl4Le8veNBqDgLQD/1kW5N7wGZfNE3V3c3YM6fxKFaHLb/yX/cB9zZaSivCpeLCFIcu3UthgtZFS3ZEASI4lxFI1BF2cchiDRohw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dhBrRoXSxSPmX3jliiXK9WUeRpBl/EtLSGFKchjY44M=;
 b=SUHSz/0vb3g2oK1OyBiHf3qVOIBtTFjyn3NfAp9Ihmo7PAMXgo6yaQMS7B1HS9IoJ+Gyi6DbAOlOEiniLBQBSDlJaZhlIHfY9PpVlWB96koiC1DmPCpzr8K+1k2RjPEqga14NIc87SyDdTTUq6jKGQnbCm834kexXi+CI20ffHn9kQ0MC8Dz+KhH62u8A3x6knTwgh7ZqA45DW1u2044KYGUsifJgvNvDAzIuuC7KEhJnfrYNkJNcPkCaQbmYVqhMJITdRZzLvCo2M5dprHDnktnBjjvS9oz6GIAOAya5autQ8eg2I06zSEXdklH+jSRCCdHpz8k05ujgo1Uoj84Dg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dhBrRoXSxSPmX3jliiXK9WUeRpBl/EtLSGFKchjY44M=;
 b=CXB2GkVFdJnUJs8lLO3ZjqrgyEh11A6dDKt0kkud2n1Cz+TodnvFGnlR2G0JL/YT48tMv2b7da/FYQaBLxOef9c78qUwwMKYiGn6Foi5A2+154ohTDpD34VqT7wtQSFFcdJoAWztmHE4Ynz+dRC6TRPVy4Un+qo8XMIYvM+JFUeFPfvXmSBFdz5PtSAulNLkohOrN2I8g38bZt6Vw21ubgxQ6mZbOY0Hc4pgECVbIx4/Qc4LPfkfemGwSyIMP7iPGFgZxFruFAFUk0i7DxmsAi10AHuY1oLmZDAvtHN71oPNEuJJyy/mXWNVFPtlD1qE2DrTToLW3EIkd3rtY78bWg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <de24866c-a18c-4951-8f74-a0b1004d36f5@suse.com>
Date: Fri, 24 Nov 2023 14:26:05 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/14] xen/asm-generic: introduce generic header
 altp2m.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <efb6b1864de36d9990a2d2a84308f4bdebebb66a.1700221559.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <efb6b1864de36d9990a2d2a84308f4bdebebb66a.1700221559.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0233.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b2::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8375:EE_
X-MS-Office365-Filtering-Correlation-Id: 15478f6c-6eb7-48c7-a331-08dbecf0eaba
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	VLYwT7eZduvzi75yYnyEp0AK5jcR4WdzBmHpHglfm2ZqLeqj9aQdDK2WGdbgsMaD54PfsNv050CEU85RMiY2FAtYEri4QucZdLe8PW464IwIAcsrvULty8O2zZNmhNQm+KDEsIUdhGmR6QrrDpVvHadfHMoPTkwi4OYJnHIOTngMrSTeK65jTPjRK0p8P+hdX6tr2u9XvOkzZDHpKAAARn+sf5ENbaBjvbRBnGj0J3yOeOQbn5pCR9VKHTHKk0bkDl8jcce2ZTanAieETn4ECl5y5UlsA9UvAQvrkpDm/khRtDs5tYyZC821Uk1NW1COWCphLMF6OdfkIYpEZkImB8iVeUSD2JI7i7pfUAuTspYUEPvcJCYNwXhwcMWQdk0Z0eQT0kP+NDle3K34ZLgiGhwd+lSnykzFQaE0omVuObJ2enIqr4g7vKoOUg1PkCOPy9ybqQn83tCQJJ5uf0AIHzCiaW4zzEPjFpyRWXWJDUsuFjZ9s2uTfFVO/TNVyYejYx8aTPgpnvBv4dRYgRrvQKYyYWXC2UVfVv3RV8XWs8QkKrBqBlNGeAw9f7LMD+pvlsI4hMkvtLKXmsamWAYFv662A/8Y21r0XGrif8kIhOGhuVCkR/qD0DwV28ZdiBHwuvd8BC0HB0ViwS9Rcr7WkF572oq/GfSM776YFbUeWYQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(39860400002)(396003)(136003)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(478600001)(6486002)(6512007)(31696002)(53546011)(6506007)(316002)(6916009)(66476007)(54906003)(66946007)(66556008)(8936002)(4326008)(8676002)(4744005)(2906002)(36756003)(41300700001)(38100700002)(31686004)(86362001)(2616005)(7416002)(26005)(5660300002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Mnkyc3AzSGNLQkpmVDJKVkluMnl0U1BDUjFjYmo5OXRrdkw2NVh6S05ZZUJn?=
 =?utf-8?B?YU4vQU1Fd2FVMUNQd01SQ1cwZW56Z2NDMnhhdEtCTzlkVWFsTCt0YXhpL0lX?=
 =?utf-8?B?cUlCa0JRL1YzU01rSjdhQUhNWlZQeTdyYk1za2pScmZGMTEzc2c3eG5uZGpL?=
 =?utf-8?B?UFI0NkpwdWpnQVFQZVBiNGtkT1R4bmQ0MDRHRVFXN0FzSXp4cVNFQ0RKSU0v?=
 =?utf-8?B?eGI5QWs0ZHN0U0FBa0EyYmVjMzJxQS9mM1ZiZUZYSldCVm51NFpJdEpxbEQ1?=
 =?utf-8?B?bURRZXNMRWhUc2F1TjUvZlN4NFhZSkpqR3N5dmZScU1MREZxaVc3eHpkK3hY?=
 =?utf-8?B?dkFBSW0xb0JscWFwQ3BzYUJJTWxzcEJEM1pqQll2V3JHRjBRSEFUNlFOZDAz?=
 =?utf-8?B?UTRtQ3pnSGFsK0lWajNNdlZET2pENXF1eXJwaWpRL3BlemsvVkh5eXZwYzVI?=
 =?utf-8?B?dEo1UFIxU1NuUENzVXNvM3NrcnNtSTVtclpsOHZacWNrQ1duVThmZmVrbjk4?=
 =?utf-8?B?U1NoclM5Q2Jjd1QwT21qcFlvTDQ1M1RLYVV1RGpiblhrTVJWci9WLzVSWjFq?=
 =?utf-8?B?S3RGaUd3ZmNCaUhCZmJyaHB2enRkZVNDNDZFbkRQdU1ENnVKNm83SW1MWE5P?=
 =?utf-8?B?bmxrT2VpcnNZZlhhR1pLNDBBZGhQY3IzYVJmaFpaR3FiQTVDZ09JaUpscWpt?=
 =?utf-8?B?NW1TMzZOTjhnMHBzUy93dVhEc0FGV2JmcUVMZ0JqQzZTMFpkUlgraDVEQ2JZ?=
 =?utf-8?B?ZmlKb0lJUmZSNTBKMWdWUG1tYkVpbXhGRWRaYzE2K3pYb0JJTmRsVWlYSXpP?=
 =?utf-8?B?eGVpMU5IbU9kMVVkWU5vN2pzOTRScVJ5Y1RZV1FxYzErbklDcHRvd05yM2dK?=
 =?utf-8?B?dnlkYjBnSWRiYVVMQVF3OVVIRWdjeWhScjdURGh6YmdRNGJKd0xadmFXNmll?=
 =?utf-8?B?MXFUemZWMElEK2J2alR4T0NJSUdsaG55N1l4ZlJQRlNUenJ5ZlNpZW9OeWFT?=
 =?utf-8?B?YlpRMmxkMFEzVlFCMEluZVo3cmg2SjhRMGFMQVdMcmNwRE5SYmdkaWpkUU5j?=
 =?utf-8?B?SytocEoxS1J3SzJxVFp4dE1VNWdSd0grNjJFdkk4dGdQSmdNOGx4TndRV05X?=
 =?utf-8?B?UjMwNWJXODh1dy9jaUN0RmxvTlhSZzkvbDExTFo4ZzdWKzMwejZwSTFGTkxY?=
 =?utf-8?B?aHUvYnNFZTNmOHVuV1FjRmJDNUp0RnJPeThBVzc4YThTYTg3ZTl3dktxVVNE?=
 =?utf-8?B?cDY5RUFSWThOaDRsdnlMcWlaeFc5dGhwbzdWdmMzQ0dHZDZlRytSOURhQUtk?=
 =?utf-8?B?aXhmYUx6Qk9EVlE3cTcxWW5sbVpJM2pqZERna0Y0NUxKMSt6RUlMelZKQ2Zx?=
 =?utf-8?B?WnBHNmp3UGJKT3YxQXMrdFJDazRNOEhrbXlsMU9QcGwrK2R6MFpNZVR6QW42?=
 =?utf-8?B?a1NoMTdGTTVHQ0lpZ1RpQnkrem8zKzZiSTNOWGZoRTlxMitGb1IyN0tFRDFn?=
 =?utf-8?B?QVJnUEYyNnBjUkxDNGJ0bmZISW43NVEwb2dlczVaM0RxNWY5YmI5R0xvZE1X?=
 =?utf-8?B?SmVZWmdydkRteUxWOHl6blNRU0x6cTZWMFVZbkgvUXpRY0RZbWpibjlPVXA0?=
 =?utf-8?B?WmVDWHNUWEdOV2VvWkxpOWxpcy9nRjRnRTlOTjNFaW00SG0rdmRrcWhJQVgr?=
 =?utf-8?B?Q1BydU5nY2JrRVRwdWlFV2hBelROeCsrMitTWjQ5L3lSaGZsYTFISUR2Y0hp?=
 =?utf-8?B?R2tXMmJoN1g5b1lVU2RXU2NySjNjcm5pTVFnaDV0WnE0M2hobFpkOFFCSTNB?=
 =?utf-8?B?Q1dkeE1iTkl5djZlaUxKVjRqVG5nbGlsdkJHeDFmNVFWU1E1M20yVDQ5TW83?=
 =?utf-8?B?SVRPWHcvYno0ekx3UEpPSkJOSGR2MFZ4c3VocUQrZnFHVHBsTHJ4ZHdPb0Y4?=
 =?utf-8?B?dGZhMnZqamRWeGJ3KzhpRVZ5S1U2YVF3OXc4RFRlSGZGNzd0Vkh1MGJRYzRk?=
 =?utf-8?B?dVo2alJyOXFWOVZiL2xjeTdyazh5b2dsUm5SY09tSVYxbTk2UlBlYzVpSlNU?=
 =?utf-8?B?WFdrYUZYZGNqN0c3RFpUM21tTWJnRGJOS3F0VmJNZkFiOWpYQ2pueVVWdlZY?=
 =?utf-8?Q?zs08bRhFgNnVvTxhN5O6V2EfW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 15478f6c-6eb7-48c7-a331-08dbecf0eaba
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 13:26:07.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: GH3p9jLfqSJzo/TlQayItgifnP1EChqRGi1Hc2IQ3F8FxOCQDBi3o/xZyQ1bsJC/PlyQdX0MIu8e0LoCsfSi/g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8375

On 17.11.2023 13:24, Oleksii Kurochko wrote:
> <asm/alt2pm.h> is common between archs so it is moved to
> asm-generic.

Here and elsewhere: The statement above can be read that the same applies
to all arch-s (in which case the header would better move to include/xen/).
Since this isn't true for x86, may I suggest to insert "several" or "some"?
Then (here)
Acked-by: Jan Beulich <jbeulich@suse.com>

Jan


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:41:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:41:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640710.999320 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WQw-0004jm-Gh; Fri, 24 Nov 2023 13:41:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640710.999320; Fri, 24 Nov 2023 13:41: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 1r6WQw-0004jf-E4; Fri, 24 Nov 2023 13:41:26 +0000
Received: by outflank-mailman (input) for mailman id 640710;
 Fri, 24 Nov 2023 13:41: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=5NGl=HF=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r6WQv-0004jZ-3T
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:41:25 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 285d54d0-8acf-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 14:41:23 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 157234EE073C;
 Fri, 24 Nov 2023 14:41:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 285d54d0-8acf-11ee-98e2-6d05b1d4d9a1
MIME-Version: 1.0
Date: Fri, 24 Nov 2023 14:41:23 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, Simone Ballarin <simone.ballarin@bugseng.com>, Doug
 Goldstein <cardoe@cardoe.com>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>
Subject: Re: [XEN PATCH v5 0/2] use the documentation for MISRA C:2012 Dir 4.1
In-Reply-To: <cover.1700211131.git.nicola.vetrini@bugseng.com>
References: <cover.1700211131.git.nicola.vetrini@bugseng.com>
Message-ID: <4dce3cf790d2beea9f1ea5a38c1d7b51@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-17 09:53, Nicola Vetrini wrote:
> This series addresses some concerns raised on patches 2 and 3 from [1].
> Note that patch 1 from that series has already been applied.
> 
> Patch 1 comprises a modified version of patches 2 and 3 of the previous 
> series.
> Patch 2 is brand new, as it merely clarifies how to write such 
> documentation.
> 
> [1] 
> https://lore.kernel.org/xen-devel/cover.1696231870.git.nicola.vetrini@bugseng.com/
> 
> Nicola Vetrini (2):
>   automation/eclair: make the docs for MISRA C:2012 Dir 4.1 visible to
>     ECLAIR
>   docs/misra: add guidance on the format of  Dir 4.1 docs for ECLAIR
> 
>  automation/eclair_analysis/build.sh   | 31 +++++++++++++++++++++++----
>  automation/eclair_analysis/prepare.sh |  7 +++---
>  docs/misra/C-runtime-failures.rst     |  8 +++++++
>  3 files changed, 39 insertions(+), 7 deletions(-)

I think all outstanding comments on this series have been addressed, so 
I think it could be committed.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:43:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:43:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640713.999331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WSi-0005fy-RU; Fri, 24 Nov 2023 13:43:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640713.999331; Fri, 24 Nov 2023 13: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 1r6WSi-0005fr-Oq; Fri, 24 Nov 2023 13:43:16 +0000
Received: by outflank-mailman (input) for mailman id 640713;
 Fri, 24 Nov 2023 13:43: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=5NGl=HF=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r6WSi-0005fj-8h
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:43:16 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a2d5f75-8acf-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 14:43:14 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id CD6DA4EE073C;
 Fri, 24 Nov 2023 14:43:13 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a2d5f75-8acf-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Fri, 24 Nov 2023 14:43:13 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, jbeulich@suse.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com, bertrand.marquis@arm.com,
 julien@xen.org, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Re: [XEN PATCH v2] domain: add ASSERT to help static analysis tools
In-Reply-To: <921dee5b4ebb052ef66e06001f4b84dce7f5ecfc.1700212866.git.nicola.vetrini@bugseng.com>
References: <921dee5b4ebb052ef66e06001f4b84dce7f5ecfc.1700212866.git.nicola.vetrini@bugseng.com>
Message-ID: <6092b5363a19d118c3e0ba2dde4cfe52@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-17 10:21, Nicola Vetrini wrote:
> Static analysis tools may detect a possible null pointer
> dereference of 'config'. This ASSERT helps them in detecting
> that such a condition is not possible given that only
> real domains can enter this branch, which are guaranteeed to have
> a non-NULL config at this point, but this information is not
> inferred by the tool.
> 
> Checking that the condition given in the assertion holds via
> testing is the means to protect release builds, where the assertion
> expands to effectively nothing.
> 
> Suggested-by: Julien Grall <julien@xen.org>
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Acked-by: Stefano Stabellini <sstabellini@kernel.org>
> ---
> Changes in v2:
> - Clarified the context in which the assertion is useful.
> 
> The check may be later improved by proper error checking
> instead of relying on the semantics explained here:
> https://lore.kernel.org/xen-devel/61f04d4b-34d9-4fd1-a989-56b042b4f3d8@citrix.com/
> ---
>  xen/common/domain.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/xen/common/domain.c b/xen/common/domain.c
> index 8f9ab01c0cb7..924099db1098 100644
> --- a/xen/common/domain.c
> +++ b/xen/common/domain.c
> @@ -700,6 +700,13 @@ struct domain *domain_create(domid_t domid,
> 
>      if ( !is_idle_domain(d) )
>      {
> +        /*
> +         * The assertion helps static analysis tools infer that config 
> cannot
> +         * be NULL in this branch, which in turn means that it can be 
> safely
> +         * dereferenced. Therefore, this assertion is not redundant.
> +         */
> +        ASSERT(config);
> +
>          watchdog_domain_init(d);
>          init_status |= INIT_watchdog;

This patch has been revised according to the comments received on v1 to 
clarify that the assertion seems redundant, but it's useful for other 
purposes.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:52:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:52:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640720.999341 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Wby-0003hC-Nh; Fri, 24 Nov 2023 13:52:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640720.999341; Fri, 24 Nov 2023 13:52: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 1r6Wby-0003h5-KJ; Fri, 24 Nov 2023 13:52:50 +0000
Received: by outflank-mailman (input) for mailman id 640720;
 Fri, 24 Nov 2023 13:52: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=6Spf=HF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6Wbx-0003gz-SU
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:52:49 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c09bdf68-8ad0-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 14:52:48 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40b397793aaso5077005e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 05:52:48 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 be7-20020a05600c1e8700b00405442edc69sm5793837wmb.14.2023.11.24.05.52.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 05:52:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c09bdf68-8ad0-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700833968; x=1701438768; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0jveOIPMrLWlwynVVgSlo6Fx43+tBBc8fLFCdM/DHpk=;
        b=gSzhRVM99vEs8WdJltkNld7jmdn7hslLSQuXaGc2hgmLxlRTq5l86Rb5b9GcKvFo8v
         MJ9n5zBsY6p1zaAwsOL6rW7kaEkwA7kzuM60kvG3IRXeB7tIgbRB1cUrLLNbAzllgMGb
         fdD//nbBDlPYOQM0IThmBDVBLIJ/clBQ7gQ1Q=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700833968; x=1701438768;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0jveOIPMrLWlwynVVgSlo6Fx43+tBBc8fLFCdM/DHpk=;
        b=frExmIuBY9PDGJzmxhyc4DxGjEyHYU1uazPcMSjFdyy1nGiZx+7cES3MvVNg+wgzEI
         8K/FxgSxmZ9G3AycFbyWhWqbx2he4Q5jjelUfi/x4tGPMizZ8VWFkAp8cpr4iCV7Aumd
         oDsM+gvXRc0VSreTGgkS5OzElDlCRgY0Oke+T8waIAHKO1M1vWrR7muk7tXFCbZ1x1Tw
         EYKMC2VLqdQnAG7IURWz34ERyHFsciTTNmb70AU8RnnYb4qgICvOmxaY7CrMj6ZX2nLL
         XXFsxdU3HGjtERCqBLDPKabtr/qFvfcacOIkTYUp21CbhHSGuf9az9STxIY9BPjsSocH
         RQfA==
X-Gm-Message-State: AOJu0YxK7j3pnwjTrHO5WhZi9mDdc2Hnnh8TG7T5bWaiaEcQZDgGdQ/s
	uGMDI8JM2wqCSCbFj5YCsK1trQ==
X-Google-Smtp-Source: AGHT+IFNtJQwOUa94719J8GqOvLVTpJs4dT06EQkpFH+DamN9hEvHOe+3A5bsjqgJd7ZLeQlXzRSHQ==
X-Received: by 2002:a05:600c:138d:b0:40b:2afd:1a9 with SMTP id u13-20020a05600c138d00b0040b2afd01a9mr5529565wmf.15.1700833968032;
        Fri, 24 Nov 2023 05:52:48 -0800 (PST)
Message-ID: <2dad26f0-e73c-4d92-9060-fd3771f3f53f@citrix.com>
Date: Fri, 24 Nov 2023 13:52:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 05/15] x86: amend cpu_has_xen_[ibt,shstk}
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
 <8f9c3db0-bedb-4b8d-9560-3e5526288b5f@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <8f9c3db0-bedb-4b8d-9560-3e5526288b5f@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

In the subject, [ -> {

?

On 24/11/2023 8:38 am, Jan Beulich wrote:
> ... to evaluate to false at compile-time when the respective Kconfig
> control is off, thus allowing the compiler to eliminate then-dead code.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

I've got part of a series trying to do some cleanup to this effect, but
I'll rebase it around this.




From xen-devel-bounces@lists.xenproject.org Fri Nov 24 13:59:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 13:59:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640725.999354 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Wi7-0002tB-DD; Fri, 24 Nov 2023 13:59:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640725.999354; Fri, 24 Nov 2023 13:59: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 1r6Wi7-0002t4-Ai; Fri, 24 Nov 2023 13:59:11 +0000
Received: by outflank-mailman (input) for mailman id 640725;
 Fri, 24 Nov 2023 13:59: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=dUjn=HF=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6Wi6-0002rA-6T
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 13:59:10 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a3039d44-8ad1-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 14:59:08 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E45861FDD9;
 Fri, 24 Nov 2023 13:59:06 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id BBF50139E8;
 Fri, 24 Nov 2023 13:59:06 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id TSCSLCqsYGURGwAAn2gu4w
 (envelope-from <jgross@suse.com>); Fri, 24 Nov 2023 13:59: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: a3039d44-8ad1-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [RFC PATCH] Mini-OS: explicitly mark symbols to be visible for apps
Date: Fri, 24 Nov 2023 14:59:03 +0100
Message-Id: <20231124135903.16621-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: *********************
X-Spamd-Bar: +++++++++++++++++++++
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [21.50 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 BAYES_HAM(-3.00)[100.00%];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,mini-os.map:url];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 21.50
X-Rspamd-Queue-Id: E45861FDD9
X-Spam-Flag: NO

Add an EXPORT_SYMBOL() macro to explicitly mark a symbol to be visible
for an app or library linked with Mini-OS. This enables to hide all
other symbols from external components, avoiding any problems with
duplicate symbol names.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
Based on top of my previous series "Mini-OS: hide mini-os internal
symbols".
This is a RFC as an alternative to the map file containing all
visible symbol names. It would add more code churn, but it has the
large benefit of declaring visibility of a symbol at the place
where it is defined, reducing the chance to miss a proper symbol
visibility definition.
This patch is including an example for the do_exit() function in
order to prove the viability of the approach.
In case this idea is approved, I'd setup a patch series replacing
the second patch of above series with this patch (minus the do_exit()
example) and the scattered EXPORT_SYMBOL() instances.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
 Makefile      | 3 ++-
 include/lib.h | 6 ++++++
 kernel.c      | 1 +
 mini-os.map   | 1 -
 4 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index d4768110..5dbad8ce 100644
--- a/Makefile
+++ b/Makefile
@@ -166,7 +166,8 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 
 $(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds mini-os.map
 	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
-	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=mini-os.map $@ $@
+	$(OBJCOPY) --dump-section .export_symbol=syms mini-os-kern.o
+	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=mini-os.map --keep-global-symbols=syms --remove-section=.export_symbol $@ $@
 
 $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
 	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
diff --git a/include/lib.h b/include/lib.h
index dd68985a..24fd0186 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -64,6 +64,12 @@
 #define BUILD_BUG_ON(cond) ((void)BUILD_BUG_ON_ZERO(cond))
 #endif
 
+#define EXPORT_SYMBOL(sym)                    \
+    extern typeof(sym) sym;                   \
+    asm(".section \".export_symbol\",\"a\"\n" \
+        "\t.ascii \""#sym"\n\"\n"             \
+        ".previous")
+
 #ifdef HAVE_LIBC
 #include <sys/queue.h>
 #include <sys/stat.h>
diff --git a/kernel.c b/kernel.c
index 1f97d8dd..29eed535 100644
--- a/kernel.c
+++ b/kernel.c
@@ -199,3 +199,4 @@ void do_exit(void)
         HYPERVISOR_sched_op(SCHEDOP_shutdown, &sched_shutdown);
     }
 }
+EXPORT_SYMBOL(do_exit);
diff --git a/mini-os.map b/mini-os.map
index 58a3a0ee..90f02edf 100644
--- a/mini-os.map
+++ b/mini-os.map
@@ -69,7 +69,6 @@ close
 closedir
 closelog
 connect
-do_exit
 dup
 dup2
 err
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640735.999405 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WnX-0006Lq-9e; Fri, 24 Nov 2023 14:04:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640735.999405; Fri, 24 Nov 2023 14:04: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 1r6WnX-0006Lj-5M; Fri, 24 Nov 2023 14:04:47 +0000
Received: by outflank-mailman (input) for mailman id 640735;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnU-0005N1-Ve
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:44 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ac27968-8ad2-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 15:04:43 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 682354EE0C8A;
 Fri, 24 Nov 2023 15:04:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ac27968-8ad2-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 04/11] xen/dmi: address a violation of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:19 +0100
Message-Id: <0eaa7a31011dc3b2f22217d2c7389570d5634549.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter name. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/dmi.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/dmi.h b/xen/include/xen/dmi.h
index 71a5c46dc6..0fef41842e 100644
--- a/xen/include/xen/dmi.h
+++ b/xen/include/xen/dmi.h
@@ -24,7 +24,7 @@ struct dmi_strmatch {
 };
 
 struct dmi_system_id {
-	int (*callback)(const struct dmi_system_id *);
+	int (*callback)(const struct dmi_system_id *d);
 	const char *ident;
 	struct dmi_strmatch matches[4];
 	void *driver_data;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640737.999415 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WnX-0006WF-U2; Fri, 24 Nov 2023 14:04:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640737.999415; Fri, 24 Nov 2023 14:04: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 1r6WnX-0006VD-Pr; Fri, 24 Nov 2023 14:04:47 +0000
Received: by outflank-mailman (input) for mailman id 640737;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnW-0005N0-2S
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6beddff9-8ad2-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 15:04:45 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 6F9B94EE0C97;
 Fri, 24 Nov 2023 15:04:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6beddff9-8ad2-11ee-98e2-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 06/11] xen/notifier: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:21 +0100
Message-Id: <cdd613a0570b9376eee058e399e4e0cc08ed7df2.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/notifier.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/xen/include/xen/notifier.h b/xen/include/xen/notifier.h
index 51453c1552..2a952484df 100644
--- a/xen/include/xen/notifier.h
+++ b/xen/include/xen/notifier.h
@@ -23,7 +23,8 @@
  */
 
 struct notifier_block {
-    int (*notifier_call)(struct notifier_block *, unsigned long, void *);
+    int (*notifier_call)(struct notifier_block *nfb, unsigned long action,
+                         void *hcpu);
     struct list_head chain;
     int priority;
 };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640739.999438 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WnZ-00078r-RQ; Fri, 24 Nov 2023 14:04:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640739.999438; Fri, 24 Nov 2023 14: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 1r6WnZ-000776-J8; Fri, 24 Nov 2023 14:04:49 +0000
Received: by outflank-mailman (input) for mailman id 640739;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnX-0005N0-TT
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6d14d466-8ad2-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 15:04:47 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 4B65A4EE0C98;
 Fri, 24 Nov 2023 15:04:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d14d466-8ad2-11ee-98e2-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 08/11] xen/kernel: address a violation of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:23 +0100
Message-Id: <2f551139ef5a26b203c6c089947ca4bc5bd29d5a.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter name. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/kernel.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/kernel.h b/xen/include/xen/kernel.h
index 560b1c2832..6bbd4a2827 100644
--- a/xen/include/xen/kernel.h
+++ b/xen/include/xen/kernel.h
@@ -112,7 +112,7 @@ struct vcpu;
 
 void show_execution_state(const struct cpu_user_regs *regs);
 void cf_check show_execution_state_nonconst(struct cpu_user_regs *regs);
-void vcpu_show_execution_state(struct vcpu *);
+void vcpu_show_execution_state(struct vcpu *v);
 
 #endif /* _LINUX_KERNEL_H */
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640738.999434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WnZ-00071b-G5; Fri, 24 Nov 2023 14:04:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640738.999434; Fri, 24 Nov 2023 14: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 1r6WnZ-0006zl-4u; Fri, 24 Nov 2023 14:04:49 +0000
Received: by outflank-mailman (input) for mailman id 640738;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnX-0005N1-S4
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c72c5f2-8ad2-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 15:04:46 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 87C9C4EE0C92;
 Fri, 24 Nov 2023 15:04:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c72c5f2-8ad2-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>,
	Paul Durrant <paul@xen.org>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 07/11] xen/iommu: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:22 +0100
Message-Id: <85581b19ffe10276639683aff56d04f3f74abd6f.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names to address violations of MISRA C:2012
Rule 8.2 and remove uses of u{8,16,32} in favor of C standard types.
No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/iommu.h | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/xen/include/xen/iommu.h b/xen/include/xen/iommu.h
index d5c2577091..69d572543c 100644
--- a/xen/include/xen/iommu.h
+++ b/xen/include/xen/iommu.h
@@ -262,14 +262,15 @@ struct iommu_ops {
     int (*init)(struct domain *d);
     void (*hwdom_init)(struct domain *d);
     int (*quarantine_init)(device_t *dev, bool scratch_page);
-    int (*add_device)(u8 devfn, device_t *dev);
+    int (*add_device)(uint8_t devfn, device_t *dev);
     int (*enable_device)(device_t *dev);
-    int (*remove_device)(u8 devfn, device_t *dev);
-    int (*assign_device)(struct domain *, u8 devfn, device_t *dev, u32 flag);
+    int (*remove_device)(uint8_t devfn, device_t *dev);
+    int (*assign_device)(struct domain *d, uint8_t devfn, device_t *dev,
+                         uint32_t flag);
     int (*reassign_device)(struct domain *s, struct domain *t,
-                           u8 devfn, device_t *dev);
+                           uint8_t devfn, device_t *dev);
 #ifdef CONFIG_HAS_PCI
-    int (*get_device_group_id)(u16 seg, u8 bus, u8 devfn);
+    int (*get_device_group_id)(uint16_t seg, uint8_t bus, uint8_t devfn);
 #endif /* HAS_PCI */
 
     void (*teardown)(struct domain *d);
@@ -308,7 +309,7 @@ struct iommu_ops {
     int __must_check (*iotlb_flush)(struct domain *d, dfn_t dfn,
                                     unsigned long page_count,
                                     unsigned int flush_flags);
-    int (*get_reserved_device_memory)(iommu_grdm_t *, void *);
+    int (*get_reserved_device_memory)(iommu_grdm_t *func, void *ctxt);
     void (*dump_page_tables)(struct domain *d);
 
 #ifdef CONFIG_HAS_DEVICE_TREE
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640733.999375 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WnU-0005Xa-Gi; Fri, 24 Nov 2023 14:04:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640733.999375; Fri, 24 Nov 2023 14:04: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 1r6WnU-0005Wd-Cw; Fri, 24 Nov 2023 14:04:44 +0000
Received: by outflank-mailman (input) for mailman id 640733;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnT-0005N1-17
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 69982414-8ad2-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 15:04:41 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id DD6024EE0C91;
 Fri, 24 Nov 2023 15:04:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69982414-8ad2-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [XEN PATCH 02/11] xen/aclinux: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:17 +0100
Message-Id: <98eabdc58a458188157765fd9ca8c9d4d4f6b11c.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/acpi/platform/aclinux.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/include/acpi/platform/aclinux.h b/xen/include/acpi/platform/aclinux.h
index 9e572460dc..f5e0a6108e 100644
--- a/xen/include/acpi/platform/aclinux.h
+++ b/xen/include/acpi/platform/aclinux.h
@@ -75,9 +75,9 @@
 
 #define acpi_thread_id struct vcpu *
 
-void *acpi_os_alloc_memory(size_t);
-void *acpi_os_zalloc_memory(size_t);
-void acpi_os_free_memory(void *);
+void *acpi_os_alloc_memory(size_t sz);
+void *acpi_os_zalloc_memory(size_t sz);
+void acpi_os_free_memory(void *ptr);
 
 #define ACPI_ALLOCATE(a)	acpi_os_alloc_memory(a)
 #define ACPI_ALLOCATE_ZEROED(a)	acpi_os_zalloc_memory(a)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640740.999448 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Wna-0007L5-H3; Fri, 24 Nov 2023 14:04:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640740.999448; Fri, 24 Nov 2023 14: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 1r6Wna-0007Gt-3q; Fri, 24 Nov 2023 14:04:50 +0000
Received: by outflank-mailman (input) for mailman id 640740;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnY-0005N0-Th
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:48 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6db036a9-8ad2-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 15:04:48 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 5FCFD4EE073C;
 Fri, 24 Nov 2023 15:04:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6db036a9-8ad2-11ee-98e2-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 09/11] xen/param: address a violation of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:24 +0100
Message-Id: <2ef34f3beec85dac126a89c6da1bbbdfaa00727d.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter name. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/param.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/param.h b/xen/include/xen/param.h
index 93c3fe7cb7..9170455cde 100644
--- a/xen/include/xen/param.h
+++ b/xen/include/xen/param.h
@@ -22,7 +22,7 @@ struct kernel_param {
     unsigned int len;
     union {
         void *var;
-        int (*func)(const char *);
+        int (*func)(const char *s);
     } par;
 };
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640732.999372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WnU-0005Qq-90; Fri, 24 Nov 2023 14:04:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640732.999372; Fri, 24 Nov 2023 14:04: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 1r6WnU-0005PS-2w; Fri, 24 Nov 2023 14:04:44 +0000
Received: by outflank-mailman (input) for mailman id 640732;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnS-0005N0-Ea
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 693b14e9-8ad2-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 15:04:41 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id DE3034EE0C8B;
 Fri, 24 Nov 2023 15:04:39 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 693b14e9-8ad2-11ee-98e2-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 01/11] xen/console: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:16 +0100
Message-Id: <c79bcd4dd33cd448e5eba21defff1c928f064079.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/drivers/char/console.c | 4 ++--
 xen/include/xen/console.h  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
index 946af5e625..0666564ec9 100644
--- a/xen/drivers/char/console.c
+++ b/xen/drivers/char/console.c
@@ -393,9 +393,9 @@ 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;
+static void (*serial_steal_fn)(const char *str, size_t nr) = early_puts;
 
-int console_steal(int handle, void (*fn)(const char *, size_t nr))
+int console_steal(int handle, void (*fn)(const char *str, size_t nr))
 {
     if ( (handle == -1) || (handle != sercon_handle) )
         return 0;
diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
index ab5c30c0da..68759862e8 100644
--- a/xen/include/xen/console.h
+++ b/xen/include/xen/console.h
@@ -36,7 +36,7 @@ struct domain *console_input_domain(void);
  * Steal output from the console. Returns +ve identifier, else -ve error.
  * Takes the handle of the serial line to steal, and steal callback function.
  */
-int console_steal(int handle, void (*fn)(const char *, size_t nr));
+int console_steal(int handle, void (*fn)(const char *str, size_t nr));
 
 /* Give back stolen console. Takes the identifier returned by console_steal. */
 void console_giveback(int id);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640731.999366 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WnU-0005NO-0I; Fri, 24 Nov 2023 14:04:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640731.999366; Fri, 24 Nov 2023 14:04: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 1r6WnT-0005NH-Ri; Fri, 24 Nov 2023 14:04:43 +0000
Received: by outflank-mailman (input) for mailman id 640731;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnS-0005N1-2b
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 68b2604b-8ad2-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 15:04:40 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 5ACF24EE073C;
 Fri, 24 Nov 2023 15:04:38 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 68b2604b-8ad2-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 00/11] xen: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:15 +0100
Message-Id: <cover.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This patch series adds some of the missing parameter names.
No functional changes are introduced.

Federico Serafini (11):
  xen/console: address violations of MISRA C:2012 Rule 8.2
  xen/aclinux: address violations of MISRA C:2012 Rule 8.2
  xen/cpumask: address violations of MISRA C:2012 Rule 8.2
  xen/dmi: address a violation of MISRA C:2012 Rule 8.2
  xen/domain: address violations of MISRA C:2012 Rule 8.2
  xen/notifier: address violations of MISRA C:2012 Rule 8.2
  xen/iommu: address violations of MISRA C:2012 Rule 8.2
  xen/kernel: address a violation of MISRA C:2012 Rule 8.2
  xen/param: address a violation of MISRA C:2012 Rule 8.2
  xen/perfc: address a violation of MISRA C:2012 Rule 8.2
  xen/serial: address a violation of MISRA C:2012 Rule 8.2

 xen/drivers/char/console.c          |  4 ++--
 xen/include/acpi/platform/aclinux.h |  6 +++---
 xen/include/xen/console.h           |  2 +-
 xen/include/xen/cpumask.h           |  6 ++++--
 xen/include/xen/dmi.h               |  2 +-
 xen/include/xen/domain.h            | 14 +++++++-------
 xen/include/xen/iommu.h             | 13 +++++++------
 xen/include/xen/kernel.h            |  2 +-
 xen/include/xen/notifier.h          |  3 ++-
 xen/include/xen/param.h             |  2 +-
 xen/include/xen/perfc.h             |  2 +-
 xen/include/xen/serial.h            |  2 +-
 12 files changed, 31 insertions(+), 27 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640736.999409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WnX-0006PI-IJ; Fri, 24 Nov 2023 14:04:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640736.999409; Fri, 24 Nov 2023 14:04: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 1r6WnX-0006Nq-DG; Fri, 24 Nov 2023 14:04:47 +0000
Received: by outflank-mailman (input) for mailman id 640736;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnV-0005N1-VZ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:45 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b5493b8-8ad2-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 15:04:44 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 768CB4EE0C96;
 Fri, 24 Nov 2023 15:04:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b5493b8-8ad2-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 05/11] xen/domain: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:20 +0100
Message-Id: <d38b5f555c622a23b2433793e70156efe459a811.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/domain.h | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/xen/include/xen/domain.h b/xen/include/xen/domain.h
index 460c8c3d27..d345278b71 100644
--- a/xen/include/xen/domain.h
+++ b/xen/include/xen/domain.h
@@ -25,7 +25,7 @@ unsigned int dom0_max_vcpus(void);
 int parse_arch_dom0_param(const char *s, const char *e);
 struct vcpu *alloc_dom0_vcpu0(struct domain *dom0);
 
-int vcpu_reset(struct vcpu *);
+int vcpu_reset(struct vcpu *v);
 int vcpu_up(struct vcpu *v);
 
 void setup_system_domains(void);
@@ -65,9 +65,9 @@ void free_vcpu_struct(struct vcpu *v);
 
 /* Allocate/free a PIRQ structure. */
 #ifndef alloc_pirq_struct
-struct pirq *alloc_pirq_struct(struct domain *);
+struct pirq *alloc_pirq_struct(struct domain *d);
 #endif
-void cf_check free_pirq_struct(void *);
+void cf_check free_pirq_struct(void *ptr);
 
 /*
  * Initialise/destroy arch-specific details of a VCPU.
@@ -103,8 +103,8 @@ void arch_domain_creation_finished(struct domain *d);
 
 void arch_p2m_set_access_required(struct domain *d, bool access_required);
 
-int arch_set_info_guest(struct vcpu *, vcpu_guest_context_u);
-void arch_get_info_guest(struct vcpu *, vcpu_guest_context_u);
+int arch_set_info_guest(struct vcpu *v, vcpu_guest_context_u c);
+void arch_get_info_guest(struct vcpu *v, vcpu_guest_context_u c);
 
 int arch_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
 int default_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
@@ -112,7 +112,7 @@ int default_initialise_vcpu(struct vcpu *v, XEN_GUEST_HANDLE_PARAM(void) arg);
 int arch_get_paging_mempool_size(struct domain *d, uint64_t *size /* bytes */);
 int arch_set_paging_mempool_size(struct domain *d, uint64_t size /* bytes */);
 
-bool update_runstate_area(struct vcpu *);
+bool update_runstate_area(struct vcpu *v);
 
 int domain_relinquish_resources(struct domain *d);
 
@@ -122,7 +122,7 @@ void arch_dump_vcpu_info(struct vcpu *v);
 
 void arch_dump_domain_info(struct domain *d);
 
-int arch_vcpu_reset(struct vcpu *);
+int arch_vcpu_reset(struct vcpu *v);
 
 bool domctl_lock_acquire(void);
 void domctl_lock_release(void);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640734.999386 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6WnV-0005kh-40; Fri, 24 Nov 2023 14:04:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640734.999386; Fri, 24 Nov 2023 14: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 1r6WnU-0005iL-RK; Fri, 24 Nov 2023 14:04:44 +0000
Received: by outflank-mailman (input) for mailman id 640734;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6WnT-0005N1-Tz
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:43 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a1d49dd-8ad2-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 15:04:42 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 85B054EE0C8F;
 Fri, 24 Nov 2023 15:04:41 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a1d49dd-8ad2-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 03/11] xen/cpumask: address violations of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:18 +0100
Message-Id: <0ea3c74ef2e5524d0a9726b6e0795d50dfc32eb8.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter names. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/cpumask.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/include/xen/cpumask.h b/xen/include/xen/cpumask.h
index 9826707909..145e140481 100644
--- a/xen/include/xen/cpumask.h
+++ b/xen/include/xen/cpumask.h
@@ -460,7 +460,9 @@ extern cpumask_t cpu_present_map;
 
 /* Copy to/from cpumap provided by control tools. */
 struct xenctl_bitmap;
-int cpumask_to_xenctl_bitmap(struct xenctl_bitmap *, const cpumask_t *);
-int xenctl_bitmap_to_cpumask(cpumask_var_t *, const struct xenctl_bitmap *);
+int cpumask_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_cpumap,
+                             const cpumask_t *cpumask);
+int xenctl_bitmap_to_cpumask(cpumask_var_t *cpumask,
+                             const struct xenctl_bitmap *xenctl_cpumap);
 
 #endif /* __XEN_CPUMASK_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640741.999465 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Wnc-0007zr-Jk; Fri, 24 Nov 2023 14:04:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640741.999465; Fri, 24 Nov 2023 14:04: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 1r6Wnc-0007zf-Fc; Fri, 24 Nov 2023 14:04:52 +0000
Received: by outflank-mailman (input) for mailman id 640741;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6Wna-0005N1-UF
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6e4b893d-8ad2-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 15:04:49 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 67F414EE0C8A;
 Fri, 24 Nov 2023 15:04:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e4b893d-8ad2-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 10/11] xen/perfc: address a violation of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:25 +0100
Message-Id: <642bcf2ea2147c797d102a12d51b7eee90f0e5a6.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter name. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/include/xen/perfc.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/perfc.h b/xen/include/xen/perfc.h
index 96022c0748..f9009dc388 100644
--- a/xen/include/xen/perfc.h
+++ b/xen/include/xen/perfc.h
@@ -94,7 +94,7 @@ DECLARE_PER_CPU(perfc_t[NUM_PERFCOUNTERS], perfcounters);
 #endif
 
 struct xen_sysctl_perfc_op;
-int perfc_control(struct xen_sysctl_perfc_op *);
+int perfc_control(struct xen_sysctl_perfc_op *pc);
 
 extern void cf_check perfc_printall(unsigned char key);
 extern void cf_check perfc_reset(unsigned char key);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:04:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:04:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640742.999474 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Wne-0008G1-0w; Fri, 24 Nov 2023 14:04:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640742.999474; Fri, 24 Nov 2023 14:04: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 1r6Wnd-0008FY-P9; Fri, 24 Nov 2023 14:04:53 +0000
Received: by outflank-mailman (input) for mailman id 640742;
 Fri, 24 Nov 2023 14:04: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6Wnb-0005N1-V1
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:04:51 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6ee7ebbb-8ad2-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 15:04:50 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 6379C4EE0C91;
 Fri, 24 Nov 2023 15:04:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ee7ebbb-8ad2-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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 11/11] xen/serial: address a violation of MISRA C:2012 Rule 8.2
Date: Fri, 24 Nov 2023 15:03:26 +0100
Message-Id: <4f831a5441ac699b50783fb0559daabaa37b8e50.1700832962.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700832962.git.federico.serafini@bugseng.com>
References: <cover.1700832962.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Add missing parameter name. No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
In my previous patch for serial.h I missed one parameter: sorry for that.
---
 xen/include/xen/serial.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/include/xen/serial.h b/xen/include/xen/serial.h
index 8d64fb5e86..870ca2f6eb 100644
--- a/xen/include/xen/serial.h
+++ b/xen/include/xen/serial.h
@@ -181,7 +181,7 @@ static void inline xhci_dbc_uart_init(void) {};
 void arm_uart_init(void);
 
 struct physdev_dbgp_op;
-int dbgp_op(const struct physdev_dbgp_op *);
+int dbgp_op(const struct physdev_dbgp_op *op);
 
 /* Baud rate was pre-configured before invoking the UART driver. */
 #define BAUD_AUTO (-1)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:23:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:23:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640773.999484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6X5K-0007W4-IN; Fri, 24 Nov 2023 14:23:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640773.999484; Fri, 24 Nov 2023 14:23: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 1r6X5K-0007Vx-Fr; Fri, 24 Nov 2023 14:23:10 +0000
Received: by outflank-mailman (input) for mailman id 640773;
 Fri, 24 Nov 2023 14:23: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=wuqv=HF=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r6X5J-0007Ua-7M
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:23:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fcaddc75-8ad4-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 15:23:07 +0100 (CET)
Received: from Dell.bugseng.com (unknown [37.161.237.167])
 by support.bugseng.com (Postfix) with ESMTPSA id 3C4794EE073C;
 Fri, 24 Nov 2023 15:23:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcaddc75-8ad4-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH] automation/eclair: tag files as "adopted" and "out of scope"
Date: Fri, 24 Nov 2023 15:22:59 +0100
Message-Id: <548e2f7e5794ec35997d615282f0f4dc6f6250a8.1700835046.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Tag arm64/efibind.h as "adopted":
it is used to build the efi stub, which is a separate entry point
for Xen when booted from EFI firmware.

Tag common/coverage/* as "out-of-scope":
it is code to support gcov, hence it is part of the testing machinery.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/out_of_scope.ecl | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/out_of_scope.ecl b/automation/eclair_analysis/ECLAIR/out_of_scope.ecl
index e1ec4a607c..3bd385ecf9 100644
--- a/automation/eclair_analysis/ECLAIR/out_of_scope.ecl
+++ b/automation/eclair_analysis/ECLAIR/out_of_scope.ecl
@@ -84,6 +84,7 @@
 -doc_begin="Files imported from the gnu-efi package"
 -file_tag+={adopted,"^xen/include/efi/.*$"}
 -file_tag+={adopted,"^xen/arch/x86/include/asm/x86_64/efibind\\.h$"}
+-file_tag+={adopted,"^xen/arch/arm/include/asm/arm64/efibind\\.h$"}
 -doc_end
 
 -doc_begin="Build tools are out of scope."
@@ -104,6 +105,10 @@
 -file_tag+={out_of_scope,"^xen/include/xen/xxhash\\.h$"}
 -doc_end
 
+-doc_begin="Out of scope code to support gcov."
+-file_tag+={out_of_scope, "^xen/common/coverage/.*$"}
+-doc_end
+
 -doc_begin="Headers under xen/include/public/ are the description of the public
 hypercall ABI so the community is extremely conservative in making changes
 there, because the interface is maintained for backward compatibility: ignore
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 14:53:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 14:53:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640793.999495 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6XYG-0000mB-Vu; Fri, 24 Nov 2023 14:53:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640793.999495; Fri, 24 Nov 2023 14:53: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 1r6XYG-0000m4-Se; Fri, 24 Nov 2023 14:53:04 +0000
Received: by outflank-mailman (input) for mailman id 640793;
 Fri, 24 Nov 2023 14:53: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=Vqky=HF=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r6XYF-0000ly-8x
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 14:53:03 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20613.outbound.protection.outlook.com
 [2a01:111:f400:fe12::613])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29d9d93a-8ad9-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 15:53:01 +0100 (CET)
Received: from AS8PR04CA0127.eurprd04.prod.outlook.com (2603:10a6:20b:127::12)
 by AS4PR08MB8048.eurprd08.prod.outlook.com (2603:10a6:20b:588::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 14:52:51 +0000
Received: from AM4PEPF00027A6C.eurprd04.prod.outlook.com
 (2603:10a6:20b:127:cafe::d8) by AS8PR04CA0127.outlook.office365.com
 (2603:10a6:20b:127::12) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20 via Frontend
 Transport; Fri, 24 Nov 2023 14:52:51 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00027A6C.mail.protection.outlook.com (10.167.16.90) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.12 via Frontend Transport; Fri, 24 Nov 2023 14:52:50 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Fri, 24 Nov 2023 14:52:50 +0000
Received: from eb41afeff85d.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 8632ADED-D4CA-4AFB-B11A-7C1BE743A56D.1; 
 Fri, 24 Nov 2023 14:52:39 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id eb41afeff85d.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Fri, 24 Nov 2023 14:52:39 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB3PR08MB8986.eurprd08.prod.outlook.com (2603:10a6:10:42b::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.18; Fri, 24 Nov
 2023 14:52:37 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.021; Fri, 24 Nov 2023
 14: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>
X-Inumbo-ID: 29d9d93a-8ad9-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=eN8Oq0ZTPx8FoCyvlakoGpd5V8FVX38LsTZ6STwwKcgisuOYf5f3qhWXhacvXgUc57O+1aLf1HPHRwNYQjLza8yK47xlu6eT3X5E35TmOwa0X9MldAhsgLPME9KrCbmiXTdZ/WHrG9I8+o0cCKZvxUOVGWUO1EyvpM//5Q86M15CdYLUMvVJINcDrQvtAzoLVcdQ3h7Ie3JRQUsJ4+hnKqNg4qH3t8Pk0ClDcKxCCtUD0Nwj++AaFuyy6GpeCwmc8PkzCPNRE+pJXQhlqQmdOa7NcjG1YIIisGWrum3YjdIomD+FP7CQjBKsM/kJGlFsfakjmp4gCFPEO86jVzd0yw==
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=S+Mkax+mFXeII1DFONwEQjzwiA3rXmpxlGRT2uK0qKk=;
 b=ggcgUJtuZIJZmqHH0kkawL7Kh/mbXQi+e2Va+/V+azz4UauiHSbrHMaKsQL7gPr8kkRf4eiXFFJ8vzgHEKOTkPEmUjJOmG1Pt0Z6Yr52gFWsQjXkb3w8ZH/WgdrHU+Nq9Np+aunt9HoZWypuC8RlALiQTxOvbLsK6u+8VfE13r+tQBANMgBEH2ZTqJcDRoOk7tyH0eFFpd8g80jms2CWDdQc4/5BzYtgwC0DM3i19WPWcw/A0qeWq1VHcwXJ6ZSIOIdLxDDw1vOLCvPdZF0Uyydo0JXOi2+wE5RKjSq5eA1zQ+GxAlgqxIU0kbvUvEmQiHAOigEUxSYUysVFcqAV6w==
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=S+Mkax+mFXeII1DFONwEQjzwiA3rXmpxlGRT2uK0qKk=;
 b=TTcxLJFfMJStrcPx2JJhDdm/2Na/G/VQJ6dJr5y669Bnnx1w1agW1aDBcA+0ztM1bxESZIS+8bm5hpj1ce0HgvLA4/az3dJkRLKpnQXxBAhV5ugw+cPYi6HcPFT0Ha5MQrW+eKw5fJclQZ+GbTJsMGWh4/rRZJsuOtprgm7xVkk=
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: 28e5c48f4111e93b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VEVVHU1oApTecfeH+D+OSCTjSmCLYH5jPzCZMg/w7jkb3g0uz0u854OVjpPaapUwa6OblcHFDJ53OCGYk0fHc8Qu+FuVDs8gzd5I7DJTH+nKTkVThi0vJPIWOApZFneWDOLv7SuSLjpabjgwKJnZxzJc3H9T+N+/9oKTFboXrVihTvxr3i09EnRy1oSb5IIF6Qezzc++yB6IbiWaT2Jg77nOVjCq6XgIohkmvLQdT/4dqzhnX0P9f1cWHk9NW+CXILZ1Fli5nEA9mUfNBTtuFWkCaBidNMjFxjuPUnLShjHPWVuXi6NmyvkP4iNLFZ+ZJlNx0pZWRiqRMZhjxe14DQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=S+Mkax+mFXeII1DFONwEQjzwiA3rXmpxlGRT2uK0qKk=;
 b=RHk0mrMwfsbdyKy6azKp2Nu5Gxul0vS4HUZde4g22S8/zU5kFyD7/WBQKu8tM5jJBNiYKfp4AHH28xcQp34JIsqu1BvISa4j4T2G2s/EEOXgP9nbB6p25W/DVvowA7e8cyFA3/5UiWOH9RJ1RVv6eQO6CH+KoJCQ0fDWB9Rg0n5SHlQlB1f4qGOR5NtVNLUFcBwGSkvbsq3NjLZSjSWK6wS/qbXoqZy37VZ7TnbjtiEVUrvhQwgIW1VL//8j5733lha9iw7q1+TTWxAJEzVzquV4NgTAbTqUEyViyBdAR7Xxv0pLxn83kQPYefpQ2zCG72oPwYV4GbOmBnfy55dM9A==
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=S+Mkax+mFXeII1DFONwEQjzwiA3rXmpxlGRT2uK0qKk=;
 b=TTcxLJFfMJStrcPx2JJhDdm/2Na/G/VQJ6dJr5y669Bnnx1w1agW1aDBcA+0ztM1bxESZIS+8bm5hpj1ce0HgvLA4/az3dJkRLKpnQXxBAhV5ugw+cPYi6HcPFT0Ha5MQrW+eKw5fJclQZ+GbTJsMGWh4/rRZJsuOtprgm7xVkk=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Clang-format configuration discussion - pt 2
Thread-Topic: Clang-format configuration discussion - pt 2
Thread-Index: AQHaHhwDfni7SbjBtk6S7YLD/w4HebCJbICAgAAi9QA=
Date: Fri, 24 Nov 2023 14:52:37 +0000
Message-ID: <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
In-Reply-To: <1e770335-9606-4e9a-9f96-d04834675426@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DB3PR08MB8986:EE_|AM4PEPF00027A6C:EE_|AS4PR08MB8048:EE_
X-MS-Office365-Filtering-Correlation-Id: 2ec1606e-12f2-46e3-0f4e-08dbecfd0819
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:
 EeHqJWy9xgFG06tGDXvCGnbAvnmFaz185pmjY/TbPchBqwVqwgHS3bjggkMbc+nDBSox54xraQOmFaZOZysWPi3mtuavAhPaoC/Gqffw3uqRoIrH3Npu1ZkUHE1y+JqG0RF10ZdG230OggFmJecRRIs9aGWWXlfsVL5BxtgX6DQdU8EiZPN6g+kp3t5YdsfLVUbmD/hElIhEDtVTxRKHJAhMQkTXQlRsyaf5M+BCzYeojIavTjwl36lel4sNkTKsI/TCkV3fNmv6JWcY1Xajd2P//Mnhk/1U1OsPMdngAM9H9yoNT7wsVSeLOcC7f8yo8TXYv74GSl3ATV6VvNQcMqITI4nkw4khcx2lLZfptV4lkKA33StxQFtuF5vr2c/SoO19CY/wNH4i1tLmFcdglNL32G3vNiBKyu3o/oZ0sRMzslfgg1Wy6dgkhXSd2JLBJ9YEWnugPx37tFz337MKMFxL2Lz6lrwJfoeYrVp8IIFUUkiBeaEAvlw86s0QQRNwq5IchgsXojpEQrMD11AgLTictREmwfzs6mADSYokSeosXJapvTEyj/spCmkxJ5cnCKAO/+zy4nE5o1FpJWufIzsyZGKQQU3TDDC+7t0aSSV1C+0lbTHx3jJ2KhAvR8WxFbzl/LwPHzJSrbMuHH9ZMeibi07sCDJq5+FwyqGwPqp4CYYrizXYx8DSZwwR3JbA
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39850400004)(376002)(136003)(346002)(366004)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(38070700009)(66899024)(2616005)(6512007)(26005)(86362001)(36756003)(6486002)(966005)(478600001)(71200400001)(8936002)(83380400001)(6506007)(53546011)(8676002)(4326008)(6916009)(40140700001)(38100700002)(66946007)(64756008)(66556008)(41300700001)(91956017)(2906002)(66446008)(66476007)(30864003)(33656002)(54906003)(76116006)(316002)(122000001)(5660300002)(45980500001)(579004);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <E99DC23ACCD21B4B99140254EDE11D17@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR08MB8986
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:
 AM4PEPF00027A6C.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	84d0e221-c9d7-4afb-4d9d-08dbecfcfffa
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NCJvI9XrSb9w/QpENe9tM8JPp6WDEKabhGdtMQuBR7XKifWau1SK8SP/SBJKlf8JMOUStL7qTj/0wiAxfQwG/j3ZRTJekpsCSdsDKctMmkt+jfOzx0jA/sUNeG0+QMkEG6Il+4caiYI5sqHU0neFv9Ocr7yJpggZBQVL1Sj7C5dbYi/oDuaWEQ90QzfYCsbwhJmHDLmtETq/DflJ1o0C8whBHe6z5/nloMsCwhzS9x9h6bNutxW4rxzPUjE9k0a8N4HOj6stD12p5V5P7uuhEC6bVRsyLrs5AfO+JPRroIwPhzPZAl1ZtcVMBsed6/gMSk/imj5wwa4JZJ3EkioJMxfywE7waSYpFViG37pTVkK6qOR5shlPfoGz0wjVSK4r3S3vYrxKGzEgZpEOW+socj1Uw9q3LcfCispsuU2NHnEd3XE1HJfKAMzOo4bbMw/d4HAKbPCrvtn32gsWYNKnF58jkKCkRJKyr5nPdNKlbYZAXvfSrVDjA/EXl6Sfb+9z4Gn8lzvFPceOoidE+tfxESwmThmhy5pViGuNAO5j77XCCNk6uwZ+w8q4bH07c+yOxwG4W3lV7hotb1Ct5m1HEYEmYzJYcdQmldEQxlQPwIkss0vXXffoSu9WoyiLzcXkWrZeewHSpNlwJpwOZgp5h04XaORmklWRsh2kdcpTSh7drZHtNCEkdOE1IHuSs/2iubRUTjRgsfytvsqE8kUYUnF8VkNAHuWI5Eb+PchCB59Fzb/so55PIqjLN744LmihUiYQqMT3P98IiUfnXlwMGA==
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:(13230031)(4636009)(136003)(396003)(376002)(346002)(39860400002)(230922051799003)(451199024)(82310400011)(186009)(64100799003)(1800799012)(40470700004)(46966006)(36840700001)(47076005)(2616005)(40460700003)(26005)(66899024)(53546011)(6506007)(36860700001)(6512007)(36756003)(478600001)(966005)(6486002)(33656002)(40140700001)(2906002)(6862004)(4326008)(356005)(30864003)(8676002)(8936002)(82740400003)(81166007)(41300700001)(86362001)(54906003)(70206006)(70586007)(316002)(5660300002)(336012)(40480700001)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 14:52:50.9173
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2ec1606e-12f2-46e3-0f4e-08dbecfd0819
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:
	AM4PEPF00027A6C.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR08MB8048

DQoNCj4gT24gMjQgTm92IDIwMjMsIGF0IDEyOjQ3LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjMuMTEuMjAyMyAxNTo0NywgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IEhpIGFsbCwNCj4+IA0KPj4gTGV04oCZcyBjb250aW51ZSB0aGUgZGlzY3Vzc2lv
biBhYm91dCBjbGFuZy1mb3JtYXQgY29uZmlndXJhdGlvbiwgdGhpcyBpcyBwYXJ0IDIsIHByZXZp
b3VzIGRpc2N1c3Npb25zIGFyZToNCj4+IA0KPj4gLSBodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMjMtMTEvbXNnMDA0OTguaHRtbA0KPj4gDQo+
PiBZb3UgY2FuIGZpbmQgdGhlIHNlcmllIGludHJvZHVjaW5nIGNsYW5nLWZvcm1hdCBoZXJlOg0K
Pj4gaHR0cHM6Ly9wYXRjaHdvcmsua2VybmVsLm9yZy9wcm9qZWN0L3hlbi1kZXZlbC9jb3Zlci8y
MDIzMTAzMTEzMjMwNC4yNTczOTI0LTEtbHVjYS5mYW5jZWxsdUBhcm0uY29tLw0KPj4gYW5kIHRo
ZXJlIGlzIGFsc28gYSBwYXRjaCBsaW5rZWQgdG8gbXkgZ2l0bGFiIGFjY291bnQgd2hlcmUgeW91
IGNhbiBmaW5kIHRoZSBvdXRwdXQgZm9yIHRoZSBoeXBlcnZpc29yIGNvZGUuDQo+PiANCj4+IEZv
ciBhIGZ1bGwgbGlzdCBvZiBjb25maWd1cmFibGVzIGFuZCB0byBmaW5kIHRoZSBwb3NzaWJsZSB2
YWx1ZXMgZm9yIHRoZW0sIHBsZWFzZSByZWZlciB0byB0aGlzIHBhZ2U6DQo+PiBodHRwczovL2Ns
YW5nLmxsdm0ub3JnL2RvY3MvQ2xhbmdGb3JtYXRTdHlsZU9wdGlvbnMuaHRtbA0KPj4gDQo+PiAt
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4gDQo+PiBPdXIgY29kaW5nIHN0eWxl
IGRvZXNu4oCZdCBtZW50aW9uIGFueXRoaW5nIGFib3V0IGFsaWdubWVudCwgc2hhbGwgd2UgYWRk
IGEgbmV3IHNlY3Rpb24/DQo+PiBJIGNhbiBzZW5kIHBhdGNoZXMgd2hlbiB3ZSByZWFjaCBhZ3Jl
ZW1lbnQgb24gZWFjaCBvZiB0aGVzZSBydWxlcy4NCj4+IA0KPj4gDQo+PiBRdWFsaWZpZXJBbGln
bm1lbnQ6IEN1c3RvbQ0KPj4gUXVhbGlmaWVyT3JkZXI6IFsnc3RhdGljJywgJ2lubGluZScsICdj
b25zdCcsICd2b2xhdGlsZScsICd0eXBlJ10NCj4+IA0KPj4gLS0tDQo+PiBGb3Ig4oCcUXVhbGlm
aWVyQWxpZ25tZW504oCdIEkgY2hvc2UgQ3VzdG9tIGluIG9yZGVyIHRvIGFwcGx5IGluIOKAnFF1
YWxpZmllck9yZGVy4oCdIGFuIG9yZGVyIGZvciB0aGUNCj4+IHF1YWxpZmllcnMgdGhhdCBtYXRj
aCB0aGUgY3VycmVudCBjb2RlYmFzZSwgd2UgY291bGQgc3BlY2lmeSBhbHNvIOKAnExlYXZl4oCd
IGluIG9yZGVyIHRvIGtlZXANCj4+IHRoZW0gYXMgdGhleSBhcmUuDQo+IA0KPiBXaGVyZSBkbyBh
dHRyaWJ1dGVzIGdvIGluIHRoaXMgc2VxdWVuY2U/DQoNCkkgdGhpbmsgZnVuY3Rpb24gZGVjbGFy
YXRpb24vZGVmaW5pdGlvbiBhbmQgdmFyaWFibGVzLg0KDQo+IA0KPj4gRGVwZW5kaW5nIG9uIGhv
dyB0aGUgZGlzY3Vzc2lvbiBnb2VzIG9uIHRoaXMgb25lLCBpdCBjb3VsZCBiZSBhbiBlbnRyeSBp
biBvdXIgY29kaW5nIHN0eWxlDQo+PiANCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tDQo+PiANCj4+IEFsaWduQWZ0ZXJPcGVuQnJhY2tldDogQWxpZ24NCj4+IA0KPj4gLS0tDQo+
PiBUaGlzIG9uZSBpcyB0byBhbGlnbiBmdW5jdGlvbiBwYXJhbWV0ZXJzIHRoYXQgb3ZlcmZsb3dz
IHRoZSBsaW5lIGxlbmd0aCwgSSBjaG9zZSB0byBhbGlnbiB0aGVtDQo+PiB0byB0aGUgb3BlbiBi
cmFja2V0IHRvIG1hdGNoIHRoZSBjdXJyZW50IGNvZGViYXNlIChob3BlZnVsbHkpDQo+PiANCj4+
IGUuZy46DQo+PiBzb21lTG9uZ0Z1bmN0aW9uKGFyZ3VtZW50MSwNCj4+ICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBhcmd1bWVudDIpOw0KPiANCj4gVGhlIGFib3ZlIG1hdGNoZXMgbmVp
dGhlciBvZiB0aGUgdHdvIGdlbmVyYWxseSBwZXJtaXR0ZWQgc3R5bGVzOg0KPiANCj4gICAgc29t
ZUxvbmdGdW5jdGlvbihhcmd1bWVudDEsDQo+ICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQy
KTsNCj4gDQo+ICAgIHNvbWVMb25nRnVuY3Rpb24oDQo+ICAgICAgICBhcmd1bWVudDEsDQo+ICAg
ICAgICBhcmd1bWVudDIpOw0KPiANCj4gVGhlbiBhZ2FpbiBmcm9tIGl0cyBuYW1lIEkgd291bGQg
aW5mZXIgdGhpcyBpc24ndCBqdXN0IGFib3V0IGZ1bmN0aW9uDQo+IGFyZ3VtZW50cz8NCg0KSSB0
aGluayBpdCBhcHBsaWVzIHRvIHBhcmFtZXRlcnMgYW5kIGFyZ3VtZW50cyBvZiBmdW5jdGlvbnMg
YW5kIG1hY3JvLCBnaXZlbiB0aGUgZGVzY3JpcHRpb24gaW4gdGhlIGRvY3MuDQoNCkkgc2VlIHlv
dXIgdHdvIHNuaXBwZXRzIGFib3ZlIGJ1dCBJ4oCZdmUgYWx3YXlzIGZvdW5kIGF0IGxlYXN0IG9u
IGFybSBhIHByZWRvbWluYW5jZSBvZg0KdGhlIHN0eWxlIGFib3ZlIGZvciBmdW5jdGlvbnMsIHNv
IGFyZ3VtZW50cyBhbGlnbmVkIGFmdGVyIHRoZSBvcGVuaW5nIGJyYWNrZXQsIGZvciBtYWNyb3MN
CnRoZXJlIGlzIGEgbWl4Lg0KSSBtaWdodCBiZSB3cm9uZyB0aG91Z2ggYW5kIHNvIGFub3RoZXIg
b3BpbmlvbiBmcm9tIGFub3RoZXIgbWFpbnRhaW5lciB3b3VsZCBoZWxwLg0KDQpJbiBhbnkgY2Fz
ZSB3ZSBjYW4gY2hvb3NlIGFtb25nIG1hbnkgdmFsdWU6IGh0dHBzOi8vY2xhbmcubGx2bS5vcmcv
ZG9jcy9DbGFuZ0Zvcm1hdFN0eWxlT3B0aW9ucy5odG1sI2FsaWduYWZ0ZXJvcGVuYnJhY2tldCwN
CmJ1dCB3aGVuIHdlIGRvIHNvLCB3ZSBuZWVkIHRvIHN0aWNrIHRvIG9uZSBwZXJtaXR0ZWQgc3R5
bGUgb25seSwgdGhlIHRvb2wgZG9u4oCZdCBhbGxvdyB0byBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUu
DQoNCj4gDQo+PiBUaGlzIG9uZSBjYW4gYmUgYSBjYW5kaWRhdGUgZm9yIGFuIGVudHJ5IGluIG91
ciBjb2Rpbmcgc3R5bGUNCj4+IA0KPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N
Cj4+IA0KPj4gQWxpZ25BcnJheU9mU3RydWN0dXJlczogTGVmdA0KPj4gDQo+PiAtLS0NCj4+IOKA
nFdoZW4gdXNpbmcgaW5pdGlhbGl6YXRpb24gZm9yIGFuIGFycmF5IG9mIHN0cnVjdHMgYWxpZ25z
IHRoZSBmaWVsZHMgaW50byBjb2x1bW5zLiINCj4+IEl04oCZcyBpbXBvcnRhbnQgdG8gc2F5IHRo
YXQgZXZlbiBpZiB3ZSBzcGVjaWZ5IOKAnE5vbmXigJ0sIGl0IGlzIGdvaW5nIHRvIGZvcm1hdCB0
aGUgZGF0YSBzdHJ1Y3R1cmUgYW55d2F5LA0KPj4gSSBjaG9vc2UgbGVmdCwgYnV0IGNsZWFybHkg
SeKAmW0gb3BlbiB0byBzdWdnZXN0aW9ucy4NCj4gDQo+IFlvdSBkb24ndCBzYXkgaW4gd2hpY2gg
d2F5IGl0IHJlLWZvcm1hdHMgc3VjaCBjb25zdHJ1Y3RzLg0KDQpTdXJlLCB0YWtpbmcgYXMgZXhh
bXBsZSBhbiBhcnJheSBvZiBzdHJ1Y3R1cmUsIHhlbi9kcml2ZXJzL3ZpZGVvL21vZGVsaW5lcy5o
LA0KDQpXaXRoIEFsaWduQXJyYXlPZlN0cnVjdHVyZXM6IE5vbmUgd2UgaGF2ZSB0aGlzIGJlbG93
Lg0KDQpkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvdmlkZW8vbW9kZWxpbmVzLmggYi94ZW4vZHJp
dmVycy92aWRlby9tb2RlbGluZXMuaA0KaW5kZXggOWNiN2NkZGUwNTVmLi4zZmYyM2VmMWY4YTcg
MTAwNjQ0DQotLS0gYS94ZW4vZHJpdmVycy92aWRlby9tb2RlbGluZXMuaA0KKysrIGIveGVuL2Ry
aXZlcnMvdmlkZW8vbW9kZWxpbmVzLmgNCkBAIC00MiwzNiArNDIsMzYgQEAgc3RydWN0IG1vZGVs
aW5lIHsNCiB9Ow0KIA0KIHN0cnVjdCBtb2RlbGluZSBfX2luaXRkYXRhIHZpZGVvbW9kZXNbXSA9
IHsNCi0gICAgeyAiNjQweDQ4MEA2MCIsICAgMjUxNzUsICA2NDAsICAxNiwgICA5NiwgICA0OCwg
ICA0ODAsICAxMSwgICAyLCAgICAzMSB9LA0KLSAgICB7ICI2NDB4NDgwQDcyIiwgICAzMTUwMCwg
IDY0MCwgIDI0LCAgIDQwLCAgIDEyOCwgIDQ4MCwgIDksICAgIDMsICAgIDI4IH0sDQotICAgIHsg
IjY0MHg0ODBANzUiLCAgIDMxNTAwLCAgNjQwLCAgMTYsICAgOTYsICAgNDgsICAgNDgwLCAgMTEs
ICAgMiwgICAgMzIgfSwNCi0gICAgeyAiNjQweDQ4MEA4NSIsICAgMzYwMDAsICA2NDAsICAzMiwg
ICA0OCwgICAxMTIsICA0ODAsICAxLCAgICAzLCAgICAyNSB9LA0KLSAgICB7ICI4MDB4NjAwQDU2
IiwgICAzODEwMCwgIDgwMCwgIDMyLCAgIDEyOCwgIDEyOCwgIDYwMCwgIDEsICAgIDQsICAgIDE0
IH0sDQotICAgIHsgIjgwMHg2MDBANjAiLCAgIDQwMDAwLCAgODAwLCAgNDAsICAgMTI4LCAgODgg
LCAgNjAwLCAgMSwgICAgNCwgICAgMjMgfSwNCi0gICAgeyAiODAweDYwMEA3MiIsICAgNTAwMDAs
ICA4MDAsICA1NiwgICAxMjAsICA2NCAsICA2MDAsICAzNywgICA2LCAgICAyMyB9LA0KLSAgICB7
ICI4MDB4NjAwQDc1IiwgICA0OTUwMCwgIDgwMCwgIDE2LCAgIDgwLCAgIDE2MCwgIDYwMCwgIDEs
ICAgIDIsICAgIDIxIH0sDQotICAgIHsgIjgwMHg2MDBAODUiLCAgIDU2MjUwLCAgODAwLCAgMzIs
ICAgNjQsICAgMTUyLCAgNjAwLCAgMSwgICAgMywgICAgMjcgfSwNCi0gICAgeyAiMTAyNHg3NjhA
NjAiLCAgNjUwMDAsICAxMDI0LCAyNCwgICAxMzYsICAxNjAsICA3NjgsICAzLCAgICA2LCAgICAy
OSB9LA0KLSAgICB7ICIxMDI0eDc2OEA3MCIsICA3NTAwMCwgIDEwMjQsIDI0LCAgIDEzNiwgIDE0
NCwgIDc2OCwgIDMsICAgIDYsICAgIDI5IH0sDQotICAgIHsgIjEwMjR4NzY4QDc1IiwgIDc4NzUw
LCAgMTAyNCwgMTYsICAgOTYsICAgMTc2LCAgNzY4LCAgMSwgICAgMywgICAgMjggfSwNCi0gICAg
eyAiMTAyNHg3NjhAODUiLCAgOTQ1MDAsICAxMDI0LCA0OCwgICA5NiwgICAyMDgsICA3NjgsICAx
LCAgICAzLCAgICAzNiB9LA0KLSAgICB7ICIxMjgweDEwMjRANjAiLCAxMDgwMDAsIDEyODAsIDQ4
LCAgIDExMiwgIDI0OCwgIDEwMjQsIDEsICAgIDMsICAgIDM4IH0sDQotICAgIHsgIjEyODB4MTAy
NEA3NSIsIDEzNTAwMCwgMTI4MCwgMTYsICAgMTQ0LCAgMjQ4LCAgMTAyNCwgMSwgICAgMywgICAg
MzggfSwNCi0gICAgeyAiMTI4MHgxMDI0QDg1IiwgMTU3NTAwLCAxMjgwLCA2NCwgICAxNjAsICAy
MjQsICAxMDI0LCAxLCAgICAzLCAgICA0NCB9LA0KLSAgICB7ICIxNDAweDEwNTBANjAiLCAxMjI2
MTAsIDE0MDAsIDg4LCAgIDE1MiwgIDI0MCwgIDEwNTAsIDEsICAgIDMsICAgIDMzIH0sDQotICAg
IHsgIjE0MDB4MTA1MEA3NSIsIDE1NTg1MCwgMTQwMCwgOTYsICAgMTUyLCAgMjQ4LCAgMTA1MCwg
MSwgICAgMywgICAgNDIgfSwNCi0gICAgeyAiMTYwMHgxMjAwQDYwIiwgMTYyMDAwLCAxNjAwLCA2
NCwgICAxOTIsICAzMDQsICAxMjAwLCAxLCAgICAzLCAgICA0NiB9LA0KLSAgICB7ICIxNjAweDEy
MDBANjUiLCAxNzU1MDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAsIDEsICAgIDMsICAg
IDQ2IH0sDQotICAgIHsgIjE2MDB4MTIwMEA3MCIsIDE4OTAwMCwgMTYwMCwgNjQsICAgMTkyLCAg
MzA0LCAgMTIwMCwgMSwgICAgMywgICAgNDYgfSwNCi0gICAgeyAiMTYwMHgxMjAwQDc1IiwgMjAy
NTAwLCAxNjAwLCA2NCwgICAxOTIsICAzMDQsICAxMjAwLCAxLCAgICAzLCAgICA0NiB9LA0KLSAg
ICB7ICIxNjAweDEyMDBAODUiLCAyMjk1MDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAs
IDEsICAgIDMsICAgIDQ2IH0sDQotICAgIHsgIjE3OTJ4MTM0NEA2MCIsIDIwNDgwMCwgMTc5Miwg
MTI4LCAgMjAwLCAgMzI4LCAgMTM0NCwgMSwgICAgMywgICAgNDYgfSwNCi0gICAgeyAiMTc5Mngx
MzQ0QDc1IiwgMjYxMDAwLCAxNzkyLCA5NiwgICAyMTYsICAzNTIsICAxMzQ0LCAxLCAgICAzLCAg
ICA2OSB9LA0KLSAgICB7ICIxODU2eDEzOTJANjAiLCAyMTgzMDAsIDE4NTYsIDk2LCAgIDIyNCwg
IDM1MiwgIDEzOTIsIDEsICAgIDMsICAgIDQzIH0sDQotICAgIHsgIjE4NTZ4MTM5MkA3NSIsIDI4
ODAwMCwgMTg1NiwgMTI4LCAgMjI0LCAgMzUyLCAgMTM5MiwgMSwgICAgMywgICAgMTA0IH0sDQot
ICAgIHsgIjE5MjB4MTIwMEA3NSIsIDE5MzE2MCwgMTkyMCwgMTI4LCAgMjA4LCAgMzM2LCAgMTIw
MCwgMSwgICAgMywgICAgMzggfSwNCi0gICAgeyAiMTkyMHgxNDQwQDYwIiwgMjM0MDAwLCAxOTIw
LCAxMjgsICAyMDgsICAzNDQsICAxNDQwLCAxLCAgICAzLCAgICA1NiB9LA0KLSAgICB7ICIxOTIw
eDE0NDBANzUiLCAyOTcwMDAsIDE5MjAsIDE0NCwgIDIyNCwgIDM1MiwgIDE0NDAsIDEsICAgIDMs
ICAgIDU2IH0sDQorICAgIHsgIjY0MHg0ODBANjAiLCAyNTE3NSwgNjQwLCAxNiwgOTYsIDQ4LCA0
ODAsIDExLCAyLCAzMSB9LA0KKyAgICB7ICI2NDB4NDgwQDcyIiwgMzE1MDAsIDY0MCwgMjQsIDQw
LCAxMjgsIDQ4MCwgOSwgMywgMjggfSwNCisgICAgeyAiNjQweDQ4MEA3NSIsIDMxNTAwLCA2NDAs
IDE2LCA5NiwgNDgsIDQ4MCwgMTEsIDIsIDMyIH0sDQorICAgIHsgIjY0MHg0ODBAODUiLCAzNjAw
MCwgNjQwLCAzMiwgNDgsIDExMiwgNDgwLCAxLCAzLCAyNSB9LA0KKyAgICB7ICI4MDB4NjAwQDU2
IiwgMzgxMDAsIDgwMCwgMzIsIDEyOCwgMTI4LCA2MDAsIDEsIDQsIDE0IH0sDQorICAgIHsgIjgw
MHg2MDBANjAiLCA0MDAwMCwgODAwLCA0MCwgMTI4LCA4OCwgNjAwLCAxLCA0LCAyMyB9LA0KKyAg
ICB7ICI4MDB4NjAwQDcyIiwgNTAwMDAsIDgwMCwgNTYsIDEyMCwgNjQsIDYwMCwgMzcsIDYsIDIz
IH0sDQorICAgIHsgIjgwMHg2MDBANzUiLCA0OTUwMCwgODAwLCAxNiwgODAsIDE2MCwgNjAwLCAx
LCAyLCAyMSB9LA0KKyAgICB7ICI4MDB4NjAwQDg1IiwgNTYyNTAsIDgwMCwgMzIsIDY0LCAxNTIs
IDYwMCwgMSwgMywgMjcgfSwNCisgICAgeyAiMTAyNHg3NjhANjAiLCA2NTAwMCwgMTAyNCwgMjQs
IDEzNiwgMTYwLCA3NjgsIDMsIDYsIDI5IH0sDQorICAgIHsgIjEwMjR4NzY4QDcwIiwgNzUwMDAs
IDEwMjQsIDI0LCAxMzYsIDE0NCwgNzY4LCAzLCA2LCAyOSB9LA0KKyAgICB7ICIxMDI0eDc2OEA3
NSIsIDc4NzUwLCAxMDI0LCAxNiwgOTYsIDE3NiwgNzY4LCAxLCAzLCAyOCB9LA0KKyAgICB7ICIx
MDI0eDc2OEA4NSIsIDk0NTAwLCAxMDI0LCA0OCwgOTYsIDIwOCwgNzY4LCAxLCAzLCAzNiB9LA0K
KyAgICB7ICIxMjgweDEwMjRANjAiLCAxMDgwMDAsIDEyODAsIDQ4LCAxMTIsIDI0OCwgMTAyNCwg
MSwgMywgMzggfSwNCisgICAgeyAiMTI4MHgxMDI0QDc1IiwgMTM1MDAwLCAxMjgwLCAxNiwgMTQ0
LCAyNDgsIDEwMjQsIDEsIDMsIDM4IH0sDQorICAgIHsgIjEyODB4MTAyNEA4NSIsIDE1NzUwMCwg
MTI4MCwgNjQsIDE2MCwgMjI0LCAxMDI0LCAxLCAzLCA0NCB9LA0KKyAgICB7ICIxNDAweDEwNTBA
NjAiLCAxMjI2MTAsIDE0MDAsIDg4LCAxNTIsIDI0MCwgMTA1MCwgMSwgMywgMzMgfSwNCisgICAg
eyAiMTQwMHgxMDUwQDc1IiwgMTU1ODUwLCAxNDAwLCA5NiwgMTUyLCAyNDgsIDEwNTAsIDEsIDMs
IDQyIH0sDQorICAgIHsgIjE2MDB4MTIwMEA2MCIsIDE2MjAwMCwgMTYwMCwgNjQsIDE5MiwgMzA0
LCAxMjAwLCAxLCAzLCA0NiB9LA0KKyAgICB7ICIxNjAweDEyMDBANjUiLCAxNzU1MDAsIDE2MDAs
IDY0LCAxOTIsIDMwNCwgMTIwMCwgMSwgMywgNDYgfSwNCisgICAgeyAiMTYwMHgxMjAwQDcwIiwg
MTg5MDAwLCAxNjAwLCA2NCwgMTkyLCAzMDQsIDEyMDAsIDEsIDMsIDQ2IH0sDQorICAgIHsgIjE2
MDB4MTIwMEA3NSIsIDIwMjUwMCwgMTYwMCwgNjQsIDE5MiwgMzA0LCAxMjAwLCAxLCAzLCA0NiB9
LA0KKyAgICB7ICIxNjAweDEyMDBAODUiLCAyMjk1MDAsIDE2MDAsIDY0LCAxOTIsIDMwNCwgMTIw
MCwgMSwgMywgNDYgfSwNCisgICAgeyAiMTc5MngxMzQ0QDYwIiwgMjA0ODAwLCAxNzkyLCAxMjgs
IDIwMCwgMzI4LCAxMzQ0LCAxLCAzLCA0NiB9LA0KKyAgICB7ICIxNzkyeDEzNDRANzUiLCAyNjEw
MDAsIDE3OTIsIDk2LCAyMTYsIDM1MiwgMTM0NCwgMSwgMywgNjkgfSwNCisgICAgeyAiMTg1Nngx
MzkyQDYwIiwgMjE4MzAwLCAxODU2LCA5NiwgMjI0LCAzNTIsIDEzOTIsIDEsIDMsIDQzIH0sDQor
ICAgIHsgIjE4NTZ4MTM5MkA3NSIsIDI4ODAwMCwgMTg1NiwgMTI4LCAyMjQsIDM1MiwgMTM5Miwg
MSwgMywgMTA0IH0sDQorICAgIHsgIjE5MjB4MTIwMEA3NSIsIDE5MzE2MCwgMTkyMCwgMTI4LCAy
MDgsIDMzNiwgMTIwMCwgMSwgMywgMzggfSwNCisgICAgeyAiMTkyMHgxNDQwQDYwIiwgMjM0MDAw
LCAxOTIwLCAxMjgsIDIwOCwgMzQ0LCAxNDQwLCAxLCAzLCA1NiB9LA0KKyAgICB7ICIxOTIweDE0
NDBANzUiLCAyOTcwMDAsIDE5MjAsIDE0NCwgMjI0LCAzNTIsIDE0NDAsIDEsIDMsIDU2IH0sDQog
fTsNCiANCiAjZW5kaWYNCg0KV2l0aCBBbGlnbkFycmF5T2ZTdHJ1Y3R1cmVzOiBMZWZ0IHdlIGhh
dmUgKEkgbm90aWNlZCB0aGVyZSBtaWdodCBiZSBhIHNtYWxsDQpidWcgaW4gY2xhbmctZm9ybWF0
IHNpbmNlIHRoZSBmaXJzdCBlbnRyeSBoYXMgbm8gc3BhY2UgYWZ0ZXIgdGhlIG9wZW5pbmcgY3Vy
bHkgYnJhY2tldCk6DQoNCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92aWRlby9tb2RlbGluZXMu
aCBiL3hlbi9kcml2ZXJzL3ZpZGVvL21vZGVsaW5lcy5oDQppbmRleCA5Y2I3Y2RkZTA1NWYuLjFh
ZmU3MjVkY2I0YyAxMDA2NDQNCi0tLSBhL3hlbi9kcml2ZXJzL3ZpZGVvL21vZGVsaW5lcy5oDQor
KysgYi94ZW4vZHJpdmVycy92aWRlby9tb2RlbGluZXMuaA0KQEAgLTQyLDM2ICs0MiwzNiBAQCBz
dHJ1Y3QgbW9kZWxpbmUgew0KIH07DQogDQogc3RydWN0IG1vZGVsaW5lIF9faW5pdGRhdGEgdmlk
ZW9tb2Rlc1tdID0gew0KLSAgICB7ICI2NDB4NDgwQDYwIiwgICAyNTE3NSwgIDY0MCwgIDE2LCAg
IDk2LCAgIDQ4LCAgIDQ4MCwgIDExLCAgIDIsICAgIDMxIH0sDQotICAgIHsgIjY0MHg0ODBANzIi
LCAgIDMxNTAwLCAgNjQwLCAgMjQsICAgNDAsICAgMTI4LCAgNDgwLCAgOSwgICAgMywgICAgMjgg
fSwNCi0gICAgeyAiNjQweDQ4MEA3NSIsICAgMzE1MDAsICA2NDAsICAxNiwgICA5NiwgICA0OCwg
ICA0ODAsICAxMSwgICAyLCAgICAzMiB9LA0KLSAgICB7ICI2NDB4NDgwQDg1IiwgICAzNjAwMCwg
IDY0MCwgIDMyLCAgIDQ4LCAgIDExMiwgIDQ4MCwgIDEsICAgIDMsICAgIDI1IH0sDQotICAgIHsg
IjgwMHg2MDBANTYiLCAgIDM4MTAwLCAgODAwLCAgMzIsICAgMTI4LCAgMTI4LCAgNjAwLCAgMSwg
ICAgNCwgICAgMTQgfSwNCi0gICAgeyAiODAweDYwMEA2MCIsICAgNDAwMDAsICA4MDAsICA0MCwg
ICAxMjgsICA4OCAsICA2MDAsICAxLCAgICA0LCAgICAyMyB9LA0KLSAgICB7ICI4MDB4NjAwQDcy
IiwgICA1MDAwMCwgIDgwMCwgIDU2LCAgIDEyMCwgIDY0ICwgIDYwMCwgIDM3LCAgIDYsICAgIDIz
IH0sDQotICAgIHsgIjgwMHg2MDBANzUiLCAgIDQ5NTAwLCAgODAwLCAgMTYsICAgODAsICAgMTYw
LCAgNjAwLCAgMSwgICAgMiwgICAgMjEgfSwNCi0gICAgeyAiODAweDYwMEA4NSIsICAgNTYyNTAs
ICA4MDAsICAzMiwgICA2NCwgICAxNTIsICA2MDAsICAxLCAgICAzLCAgICAyNyB9LA0KLSAgICB7
ICIxMDI0eDc2OEA2MCIsICA2NTAwMCwgIDEwMjQsIDI0LCAgIDEzNiwgIDE2MCwgIDc2OCwgIDMs
ICAgIDYsICAgIDI5IH0sDQotICAgIHsgIjEwMjR4NzY4QDcwIiwgIDc1MDAwLCAgMTAyNCwgMjQs
ICAgMTM2LCAgMTQ0LCAgNzY4LCAgMywgICAgNiwgICAgMjkgfSwNCi0gICAgeyAiMTAyNHg3NjhA
NzUiLCAgNzg3NTAsICAxMDI0LCAxNiwgICA5NiwgICAxNzYsICA3NjgsICAxLCAgICAzLCAgICAy
OCB9LA0KLSAgICB7ICIxMDI0eDc2OEA4NSIsICA5NDUwMCwgIDEwMjQsIDQ4LCAgIDk2LCAgIDIw
OCwgIDc2OCwgIDEsICAgIDMsICAgIDM2IH0sDQotICAgIHsgIjEyODB4MTAyNEA2MCIsIDEwODAw
MCwgMTI4MCwgNDgsICAgMTEyLCAgMjQ4LCAgMTAyNCwgMSwgICAgMywgICAgMzggfSwNCi0gICAg
eyAiMTI4MHgxMDI0QDc1IiwgMTM1MDAwLCAxMjgwLCAxNiwgICAxNDQsICAyNDgsICAxMDI0LCAx
LCAgICAzLCAgICAzOCB9LA0KLSAgICB7ICIxMjgweDEwMjRAODUiLCAxNTc1MDAsIDEyODAsIDY0
LCAgIDE2MCwgIDIyNCwgIDEwMjQsIDEsICAgIDMsICAgIDQ0IH0sDQotICAgIHsgIjE0MDB4MTA1
MEA2MCIsIDEyMjYxMCwgMTQwMCwgODgsICAgMTUyLCAgMjQwLCAgMTA1MCwgMSwgICAgMywgICAg
MzMgfSwNCi0gICAgeyAiMTQwMHgxMDUwQDc1IiwgMTU1ODUwLCAxNDAwLCA5NiwgICAxNTIsICAy
NDgsICAxMDUwLCAxLCAgICAzLCAgICA0MiB9LA0KLSAgICB7ICIxNjAweDEyMDBANjAiLCAxNjIw
MDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAsIDEsICAgIDMsICAgIDQ2IH0sDQotICAg
IHsgIjE2MDB4MTIwMEA2NSIsIDE3NTUwMCwgMTYwMCwgNjQsICAgMTkyLCAgMzA0LCAgMTIwMCwg
MSwgICAgMywgICAgNDYgfSwNCi0gICAgeyAiMTYwMHgxMjAwQDcwIiwgMTg5MDAwLCAxNjAwLCA2
NCwgICAxOTIsICAzMDQsICAxMjAwLCAxLCAgICAzLCAgICA0NiB9LA0KLSAgICB7ICIxNjAweDEy
MDBANzUiLCAyMDI1MDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAsIDEsICAgIDMsICAg
IDQ2IH0sDQotICAgIHsgIjE2MDB4MTIwMEA4NSIsIDIyOTUwMCwgMTYwMCwgNjQsICAgMTkyLCAg
MzA0LCAgMTIwMCwgMSwgICAgMywgICAgNDYgfSwNCi0gICAgeyAiMTc5MngxMzQ0QDYwIiwgMjA0
ODAwLCAxNzkyLCAxMjgsICAyMDAsICAzMjgsICAxMzQ0LCAxLCAgICAzLCAgICA0NiB9LA0KLSAg
ICB7ICIxNzkyeDEzNDRANzUiLCAyNjEwMDAsIDE3OTIsIDk2LCAgIDIxNiwgIDM1MiwgIDEzNDQs
IDEsICAgIDMsICAgIDY5IH0sDQotICAgIHsgIjE4NTZ4MTM5MkA2MCIsIDIxODMwMCwgMTg1Niwg
OTYsICAgMjI0LCAgMzUyLCAgMTM5MiwgMSwgICAgMywgICAgNDMgfSwNCi0gICAgeyAiMTg1Nngx
MzkyQDc1IiwgMjg4MDAwLCAxODU2LCAxMjgsICAyMjQsICAzNTIsICAxMzkyLCAxLCAgICAzLCAg
ICAxMDQgfSwNCi0gICAgeyAiMTkyMHgxMjAwQDc1IiwgMTkzMTYwLCAxOTIwLCAxMjgsICAyMDgs
ICAzMzYsICAxMjAwLCAxLCAgICAzLCAgICAzOCB9LA0KLSAgICB7ICIxOTIweDE0NDBANjAiLCAy
MzQwMDAsIDE5MjAsIDEyOCwgIDIwOCwgIDM0NCwgIDE0NDAsIDEsICAgIDMsICAgIDU2IH0sDQot
ICAgIHsgIjE5MjB4MTQ0MEA3NSIsIDI5NzAwMCwgMTkyMCwgMTQ0LCAgMjI0LCAgMzUyLCAgMTQ0
MCwgMSwgICAgMywgICAgNTYgfSwNCisgICAgeyI2NDB4NDgwQDYwIiwgICAgMjUxNzUsICA2NDAs
ICAxNiwgIDk2LCAgNDgsICA0ODAsICAxMSwgMiwgMzEgfSwNCisgICAgeyAiNjQweDQ4MEA3MiIs
ICAgMzE1MDAsICA2NDAsICAyNCwgIDQwLCAgMTI4LCA0ODAsICA5LCAgMywgMjggfSwNCisgICAg
eyAiNjQweDQ4MEA3NSIsICAgMzE1MDAsICA2NDAsICAxNiwgIDk2LCAgNDgsICA0ODAsICAxMSwg
MiwgMzIgfSwNCisgICAgeyAiNjQweDQ4MEA4NSIsICAgMzYwMDAsICA2NDAsICAzMiwgIDQ4LCAg
MTEyLCA0ODAsICAxLCAgMywgMjUgfSwNCisgICAgeyAiODAweDYwMEA1NiIsICAgMzgxMDAsICA4
MDAsICAzMiwgIDEyOCwgMTI4LCA2MDAsICAxLCAgNCwgMTQgfSwNCisgICAgeyAiODAweDYwMEA2
MCIsICAgNDAwMDAsICA4MDAsICA0MCwgIDEyOCwgODgsICA2MDAsICAxLCAgNCwgMjMgfSwNCisg
ICAgeyAiODAweDYwMEA3MiIsICAgNTAwMDAsICA4MDAsICA1NiwgIDEyMCwgNjQsICA2MDAsICAz
NywgNiwgMjMgfSwNCisgICAgeyAiODAweDYwMEA3NSIsICAgNDk1MDAsICA4MDAsICAxNiwgIDgw
LCAgMTYwLCA2MDAsICAxLCAgMiwgMjEgfSwNCisgICAgeyAiODAweDYwMEA4NSIsICAgNTYyNTAs
ICA4MDAsICAzMiwgIDY0LCAgMTUyLCA2MDAsICAxLCAgMywgMjcgfSwNCisgICAgeyAiMTAyNHg3
NjhANjAiLCAgNjUwMDAsICAxMDI0LCAyNCwgIDEzNiwgMTYwLCA3NjgsICAzLCAgNiwgMjkgfSwN
CisgICAgeyAiMTAyNHg3NjhANzAiLCAgNzUwMDAsICAxMDI0LCAyNCwgIDEzNiwgMTQ0LCA3Njgs
ICAzLCAgNiwgMjkgfSwNCisgICAgeyAiMTAyNHg3NjhANzUiLCAgNzg3NTAsICAxMDI0LCAxNiwg
IDk2LCAgMTc2LCA3NjgsICAxLCAgMywgMjggfSwNCisgICAgeyAiMTAyNHg3NjhAODUiLCAgOTQ1
MDAsICAxMDI0LCA0OCwgIDk2LCAgMjA4LCA3NjgsICAxLCAgMywgMzYgfSwNCisgICAgeyAiMTI4
MHgxMDI0QDYwIiwgMTA4MDAwLCAxMjgwLCA0OCwgIDExMiwgMjQ4LCAxMDI0LCAxLCAgMywgMzgg
fSwNCisgICAgeyAiMTI4MHgxMDI0QDc1IiwgMTM1MDAwLCAxMjgwLCAxNiwgIDE0NCwgMjQ4LCAx
MDI0LCAxLCAgMywgMzggfSwNCisgICAgeyAiMTI4MHgxMDI0QDg1IiwgMTU3NTAwLCAxMjgwLCA2
NCwgIDE2MCwgMjI0LCAxMDI0LCAxLCAgMywgNDQgfSwNCisgICAgeyAiMTQwMHgxMDUwQDYwIiwg
MTIyNjEwLCAxNDAwLCA4OCwgIDE1MiwgMjQwLCAxMDUwLCAxLCAgMywgMzMgfSwNCisgICAgeyAi
MTQwMHgxMDUwQDc1IiwgMTU1ODUwLCAxNDAwLCA5NiwgIDE1MiwgMjQ4LCAxMDUwLCAxLCAgMywg
NDIgfSwNCisgICAgeyAiMTYwMHgxMjAwQDYwIiwgMTYyMDAwLCAxNjAwLCA2NCwgIDE5MiwgMzA0
LCAxMjAwLCAxLCAgMywgNDYgfSwNCisgICAgeyAiMTYwMHgxMjAwQDY1IiwgMTc1NTAwLCAxNjAw
LCA2NCwgIDE5MiwgMzA0LCAxMjAwLCAxLCAgMywgNDYgfSwNCisgICAgeyAiMTYwMHgxMjAwQDcw
IiwgMTg5MDAwLCAxNjAwLCA2NCwgIDE5MiwgMzA0LCAxMjAwLCAxLCAgMywgNDYgfSwNCisgICAg
eyAiMTYwMHgxMjAwQDc1IiwgMjAyNTAwLCAxNjAwLCA2NCwgIDE5MiwgMzA0LCAxMjAwLCAxLCAg
MywgNDYgfSwNCisgICAgeyAiMTYwMHgxMjAwQDg1IiwgMjI5NTAwLCAxNjAwLCA2NCwgIDE5Miwg
MzA0LCAxMjAwLCAxLCAgMywgNDYgfSwNCisgICAgeyAiMTc5MngxMzQ0QDYwIiwgMjA0ODAwLCAx
NzkyLCAxMjgsIDIwMCwgMzI4LCAxMzQ0LCAxLCAgMywgNDYgfSwNCisgICAgeyAiMTc5MngxMzQ0
QDc1IiwgMjYxMDAwLCAxNzkyLCA5NiwgIDIxNiwgMzUyLCAxMzQ0LCAxLCAgMywgNjkgfSwNCisg
ICAgeyAiMTg1NngxMzkyQDYwIiwgMjE4MzAwLCAxODU2LCA5NiwgIDIyNCwgMzUyLCAxMzkyLCAx
LCAgMywgNDMgfSwNCisgICAgeyAiMTg1NngxMzkyQDc1IiwgMjg4MDAwLCAxODU2LCAxMjgsIDIy
NCwgMzUyLCAxMzkyLCAxLCAgMywgMTA0fSwNCisgICAgeyAiMTkyMHgxMjAwQDc1IiwgMTkzMTYw
LCAxOTIwLCAxMjgsIDIwOCwgMzM2LCAxMjAwLCAxLCAgMywgMzggfSwNCisgICAgeyAiMTkyMHgx
NDQwQDYwIiwgMjM0MDAwLCAxOTIwLCAxMjgsIDIwOCwgMzQ0LCAxNDQwLCAxLCAgMywgNTYgfSwN
CisgICAgeyAiMTkyMHgxNDQwQDc1IiwgMjk3MDAwLCAxOTIwLCAxNDQsIDIyNCwgMzUyLCAxNDQw
LCAxLCAgMywgNTYgfSwNCiB9Ow0KIA0KICNlbmRpZg0KDQpXaXRoIEFsaWduQXJyYXlPZlN0cnVj
dHVyZXM6IFJpZ2h0IHdlIGhhdmU6DQoNCmRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92aWRlby9t
b2RlbGluZXMuaCBiL3hlbi9kcml2ZXJzL3ZpZGVvL21vZGVsaW5lcy5oDQppbmRleCA5Y2I3Y2Rk
ZTA1NWYuLjUzOWFiN2MxMmQwMCAxMDA2NDQNCi0tLSBhL3hlbi9kcml2ZXJzL3ZpZGVvL21vZGVs
aW5lcy5oDQorKysgYi94ZW4vZHJpdmVycy92aWRlby9tb2RlbGluZXMuaA0KQEAgLTQyLDM2ICs0
MiwzNiBAQCBzdHJ1Y3QgbW9kZWxpbmUgew0KIH07DQogDQogc3RydWN0IG1vZGVsaW5lIF9faW5p
dGRhdGEgdmlkZW9tb2Rlc1tdID0gew0KLSAgICB7ICI2NDB4NDgwQDYwIiwgICAyNTE3NSwgIDY0
MCwgIDE2LCAgIDk2LCAgIDQ4LCAgIDQ4MCwgIDExLCAgIDIsICAgIDMxIH0sDQotICAgIHsgIjY0
MHg0ODBANzIiLCAgIDMxNTAwLCAgNjQwLCAgMjQsICAgNDAsICAgMTI4LCAgNDgwLCAgOSwgICAg
MywgICAgMjggfSwNCi0gICAgeyAiNjQweDQ4MEA3NSIsICAgMzE1MDAsICA2NDAsICAxNiwgICA5
NiwgICA0OCwgICA0ODAsICAxMSwgICAyLCAgICAzMiB9LA0KLSAgICB7ICI2NDB4NDgwQDg1Iiwg
ICAzNjAwMCwgIDY0MCwgIDMyLCAgIDQ4LCAgIDExMiwgIDQ4MCwgIDEsICAgIDMsICAgIDI1IH0s
DQotICAgIHsgIjgwMHg2MDBANTYiLCAgIDM4MTAwLCAgODAwLCAgMzIsICAgMTI4LCAgMTI4LCAg
NjAwLCAgMSwgICAgNCwgICAgMTQgfSwNCi0gICAgeyAiODAweDYwMEA2MCIsICAgNDAwMDAsICA4
MDAsICA0MCwgICAxMjgsICA4OCAsICA2MDAsICAxLCAgICA0LCAgICAyMyB9LA0KLSAgICB7ICI4
MDB4NjAwQDcyIiwgICA1MDAwMCwgIDgwMCwgIDU2LCAgIDEyMCwgIDY0ICwgIDYwMCwgIDM3LCAg
IDYsICAgIDIzIH0sDQotICAgIHsgIjgwMHg2MDBANzUiLCAgIDQ5NTAwLCAgODAwLCAgMTYsICAg
ODAsICAgMTYwLCAgNjAwLCAgMSwgICAgMiwgICAgMjEgfSwNCi0gICAgeyAiODAweDYwMEA4NSIs
ICAgNTYyNTAsICA4MDAsICAzMiwgICA2NCwgICAxNTIsICA2MDAsICAxLCAgICAzLCAgICAyNyB9
LA0KLSAgICB7ICIxMDI0eDc2OEA2MCIsICA2NTAwMCwgIDEwMjQsIDI0LCAgIDEzNiwgIDE2MCwg
IDc2OCwgIDMsICAgIDYsICAgIDI5IH0sDQotICAgIHsgIjEwMjR4NzY4QDcwIiwgIDc1MDAwLCAg
MTAyNCwgMjQsICAgMTM2LCAgMTQ0LCAgNzY4LCAgMywgICAgNiwgICAgMjkgfSwNCi0gICAgeyAi
MTAyNHg3NjhANzUiLCAgNzg3NTAsICAxMDI0LCAxNiwgICA5NiwgICAxNzYsICA3NjgsICAxLCAg
ICAzLCAgICAyOCB9LA0KLSAgICB7ICIxMDI0eDc2OEA4NSIsICA5NDUwMCwgIDEwMjQsIDQ4LCAg
IDk2LCAgIDIwOCwgIDc2OCwgIDEsICAgIDMsICAgIDM2IH0sDQotICAgIHsgIjEyODB4MTAyNEA2
MCIsIDEwODAwMCwgMTI4MCwgNDgsICAgMTEyLCAgMjQ4LCAgMTAyNCwgMSwgICAgMywgICAgMzgg
fSwNCi0gICAgeyAiMTI4MHgxMDI0QDc1IiwgMTM1MDAwLCAxMjgwLCAxNiwgICAxNDQsICAyNDgs
ICAxMDI0LCAxLCAgICAzLCAgICAzOCB9LA0KLSAgICB7ICIxMjgweDEwMjRAODUiLCAxNTc1MDAs
IDEyODAsIDY0LCAgIDE2MCwgIDIyNCwgIDEwMjQsIDEsICAgIDMsICAgIDQ0IH0sDQotICAgIHsg
IjE0MDB4MTA1MEA2MCIsIDEyMjYxMCwgMTQwMCwgODgsICAgMTUyLCAgMjQwLCAgMTA1MCwgMSwg
ICAgMywgICAgMzMgfSwNCi0gICAgeyAiMTQwMHgxMDUwQDc1IiwgMTU1ODUwLCAxNDAwLCA5Niwg
ICAxNTIsICAyNDgsICAxMDUwLCAxLCAgICAzLCAgICA0MiB9LA0KLSAgICB7ICIxNjAweDEyMDBA
NjAiLCAxNjIwMDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAsIDEsICAgIDMsICAgIDQ2
IH0sDQotICAgIHsgIjE2MDB4MTIwMEA2NSIsIDE3NTUwMCwgMTYwMCwgNjQsICAgMTkyLCAgMzA0
LCAgMTIwMCwgMSwgICAgMywgICAgNDYgfSwNCi0gICAgeyAiMTYwMHgxMjAwQDcwIiwgMTg5MDAw
LCAxNjAwLCA2NCwgICAxOTIsICAzMDQsICAxMjAwLCAxLCAgICAzLCAgICA0NiB9LA0KLSAgICB7
ICIxNjAweDEyMDBANzUiLCAyMDI1MDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAsIDEs
ICAgIDMsICAgIDQ2IH0sDQotICAgIHsgIjE2MDB4MTIwMEA4NSIsIDIyOTUwMCwgMTYwMCwgNjQs
ICAgMTkyLCAgMzA0LCAgMTIwMCwgMSwgICAgMywgICAgNDYgfSwNCi0gICAgeyAiMTc5MngxMzQ0
QDYwIiwgMjA0ODAwLCAxNzkyLCAxMjgsICAyMDAsICAzMjgsICAxMzQ0LCAxLCAgICAzLCAgICA0
NiB9LA0KLSAgICB7ICIxNzkyeDEzNDRANzUiLCAyNjEwMDAsIDE3OTIsIDk2LCAgIDIxNiwgIDM1
MiwgIDEzNDQsIDEsICAgIDMsICAgIDY5IH0sDQotICAgIHsgIjE4NTZ4MTM5MkA2MCIsIDIxODMw
MCwgMTg1NiwgOTYsICAgMjI0LCAgMzUyLCAgMTM5MiwgMSwgICAgMywgICAgNDMgfSwNCi0gICAg
eyAiMTg1NngxMzkyQDc1IiwgMjg4MDAwLCAxODU2LCAxMjgsICAyMjQsICAzNTIsICAxMzkyLCAx
LCAgICAzLCAgICAxMDQgfSwNCi0gICAgeyAiMTkyMHgxMjAwQDc1IiwgMTkzMTYwLCAxOTIwLCAx
MjgsICAyMDgsICAzMzYsICAxMjAwLCAxLCAgICAzLCAgICAzOCB9LA0KLSAgICB7ICIxOTIweDE0
NDBANjAiLCAyMzQwMDAsIDE5MjAsIDEyOCwgIDIwOCwgIDM0NCwgIDE0NDAsIDEsICAgIDMsICAg
IDU2IH0sDQotICAgIHsgIjE5MjB4MTQ0MEA3NSIsIDI5NzAwMCwgMTkyMCwgMTQ0LCAgMjI0LCAg
MzUyLCAgMTQ0MCwgMSwgICAgMywgICAgNTYgfSwNCisgICAgeyAgIjY0MHg0ODBANjAiLCAgMjUx
NzUsICA2NDAsICAxNiwgIDk2LCAgNDgsICA0ODAsIDExLCAyLCAgMzF9LA0KKyAgICB7ICAiNjQw
eDQ4MEA3MiIsICAzMTUwMCwgIDY0MCwgIDI0LCAgNDAsIDEyOCwgIDQ4MCwgIDksIDMsICAyOH0s
DQorICAgIHsgICI2NDB4NDgwQDc1IiwgIDMxNTAwLCAgNjQwLCAgMTYsICA5NiwgIDQ4LCAgNDgw
LCAxMSwgMiwgIDMyfSwNCisgICAgeyAgIjY0MHg0ODBAODUiLCAgMzYwMDAsICA2NDAsICAzMiwg
IDQ4LCAxMTIsICA0ODAsICAxLCAzLCAgMjV9LA0KKyAgICB7ICAiODAweDYwMEA1NiIsICAzODEw
MCwgIDgwMCwgIDMyLCAxMjgsIDEyOCwgIDYwMCwgIDEsIDQsICAxNH0sDQorICAgIHsgICI4MDB4
NjAwQDYwIiwgIDQwMDAwLCAgODAwLCAgNDAsIDEyOCwgIDg4LCAgNjAwLCAgMSwgNCwgIDIzfSwN
CisgICAgeyAgIjgwMHg2MDBANzIiLCAgNTAwMDAsICA4MDAsICA1NiwgMTIwLCAgNjQsICA2MDAs
IDM3LCA2LCAgMjN9LA0KKyAgICB7ICAiODAweDYwMEA3NSIsICA0OTUwMCwgIDgwMCwgIDE2LCAg
ODAsIDE2MCwgIDYwMCwgIDEsIDIsICAyMX0sDQorICAgIHsgICI4MDB4NjAwQDg1IiwgIDU2MjUw
LCAgODAwLCAgMzIsICA2NCwgMTUyLCAgNjAwLCAgMSwgMywgIDI3fSwNCisgICAgeyAiMTAyNHg3
NjhANjAiLCAgNjUwMDAsIDEwMjQsICAyNCwgMTM2LCAxNjAsICA3NjgsICAzLCA2LCAgMjl9LA0K
KyAgICB7ICIxMDI0eDc2OEA3MCIsICA3NTAwMCwgMTAyNCwgIDI0LCAxMzYsIDE0NCwgIDc2OCwg
IDMsIDYsICAyOX0sDQorICAgIHsgIjEwMjR4NzY4QDc1IiwgIDc4NzUwLCAxMDI0LCAgMTYsICA5
NiwgMTc2LCAgNzY4LCAgMSwgMywgIDI4fSwNCisgICAgeyAiMTAyNHg3NjhAODUiLCAgOTQ1MDAs
IDEwMjQsICA0OCwgIDk2LCAyMDgsICA3NjgsICAxLCAzLCAgMzZ9LA0KKyAgICB7IjEyODB4MTAy
NEA2MCIsIDEwODAwMCwgMTI4MCwgIDQ4LCAxMTIsIDI0OCwgMTAyNCwgIDEsIDMsICAzOH0sDQor
ICAgIHsiMTI4MHgxMDI0QDc1IiwgMTM1MDAwLCAxMjgwLCAgMTYsIDE0NCwgMjQ4LCAxMDI0LCAg
MSwgMywgIDM4fSwNCisgICAgeyIxMjgweDEwMjRAODUiLCAxNTc1MDAsIDEyODAsICA2NCwgMTYw
LCAyMjQsIDEwMjQsICAxLCAzLCAgNDR9LA0KKyAgICB7IjE0MDB4MTA1MEA2MCIsIDEyMjYxMCwg
MTQwMCwgIDg4LCAxNTIsIDI0MCwgMTA1MCwgIDEsIDMsICAzM30sDQorICAgIHsiMTQwMHgxMDUw
QDc1IiwgMTU1ODUwLCAxNDAwLCAgOTYsIDE1MiwgMjQ4LCAxMDUwLCAgMSwgMywgIDQyfSwNCisg
ICAgeyIxNjAweDEyMDBANjAiLCAxNjIwMDAsIDE2MDAsICA2NCwgMTkyLCAzMDQsIDEyMDAsICAx
LCAzLCAgNDZ9LA0KKyAgICB7IjE2MDB4MTIwMEA2NSIsIDE3NTUwMCwgMTYwMCwgIDY0LCAxOTIs
IDMwNCwgMTIwMCwgIDEsIDMsICA0Nn0sDQorICAgIHsiMTYwMHgxMjAwQDcwIiwgMTg5MDAwLCAx
NjAwLCAgNjQsIDE5MiwgMzA0LCAxMjAwLCAgMSwgMywgIDQ2fSwNCisgICAgeyIxNjAweDEyMDBA
NzUiLCAyMDI1MDAsIDE2MDAsICA2NCwgMTkyLCAzMDQsIDEyMDAsICAxLCAzLCAgNDZ9LA0KKyAg
ICB7IjE2MDB4MTIwMEA4NSIsIDIyOTUwMCwgMTYwMCwgIDY0LCAxOTIsIDMwNCwgMTIwMCwgIDEs
IDMsICA0Nn0sDQorICAgIHsiMTc5MngxMzQ0QDYwIiwgMjA0ODAwLCAxNzkyLCAxMjgsIDIwMCwg
MzI4LCAxMzQ0LCAgMSwgMywgIDQ2fSwNCisgICAgeyIxNzkyeDEzNDRANzUiLCAyNjEwMDAsIDE3
OTIsICA5NiwgMjE2LCAzNTIsIDEzNDQsICAxLCAzLCAgNjl9LA0KKyAgICB7IjE4NTZ4MTM5MkA2
MCIsIDIxODMwMCwgMTg1NiwgIDk2LCAyMjQsIDM1MiwgMTM5MiwgIDEsIDMsICA0M30sDQorICAg
IHsiMTg1NngxMzkyQDc1IiwgMjg4MDAwLCAxODU2LCAxMjgsIDIyNCwgMzUyLCAxMzkyLCAgMSwg
MywgMTA0fSwNCisgICAgeyIxOTIweDEyMDBANzUiLCAxOTMxNjAsIDE5MjAsIDEyOCwgMjA4LCAz
MzYsIDEyMDAsICAxLCAzLCAgMzh9LA0KKyAgICB7IjE5MjB4MTQ0MEA2MCIsIDIzNDAwMCwgMTky
MCwgMTI4LCAyMDgsIDM0NCwgMTQ0MCwgIDEsIDMsICA1Nn0sDQorICAgIHsiMTkyMHgxNDQwQDc1
IiwgMjk3MDAwLCAxOTIwLCAxNDQsIDIyNCwgMzUyLCAxNDQwLCAgMSwgMywgIDU2fSwNCiB9Ow0K
IA0KICNlbmRpZg0KDQo+IA0KPj4gSSBkb27igJl0IGtub3cgaG93IHRvIHBocmFzZSB0aGlzIG9u
ZSBpbiBvdXIgY29kaW5nIHN0eWxlDQo+PiANCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQo+PiANCj4+IEFsaWduQ29uc2VjdXRpdmVBc3NpZ25tZW50czogTm9uZQ0KPj4gDQo+
PiAtLS0NCj4+IFRoaXMgb25lIGlzIGRpc2FibGVkIGJlY2F1c2Ugb2YgZmVlZGJhY2tzIGZyb20g
U3RlZmFubyBhbmQgQWxlamFuZHJvIGFib3V0IHNvbWUgd2VpcmQgYmVoYXZpb3VyIG9uIG91cg0K
Pj4gY29kZWJhc2UuDQo+PiANCj4+IFRoaXMgb25lIGNvdWxkIGJlIHBoYXNlZCBhbG9uZyB0aGlz
IGxpbmU6IOKAnENvbnNlY3V0aXZlIGFzc2lnbm1lbnRzIGRvbid0IG5lZWQgdG8gYmUgYWxpZ25l
ZC7igJ0sIHRoZSBpc3N1ZSBpcw0KPj4gdGhhdCBpbiB0aGlzIHdheSBpdCBzZWVtcyB0aGF0IGl0
4oCZcyBvcHRpb25hbCwgYnV0IGNsYW5nLWZvcm1hdCBpcyBnb2luZyB0byByZW1vdmUgdGhlIGFs
aWdubWVudCBhbnl3YXkgZm9yDQo+PiBhc3NpZ25tZW50IHRoYXQgYXJlIGNvbnNlY3V0aXZlIGFu
ZCBhbGlnbmVkLg0KPiANCj4gTGlrZSBiZWxvdyBpZiB0aGVyZSdzIG5vIHdheSB0byBzYXkgImxl
YXZlIGFsb25lIiwgdGhlbiBJIGRvbid0IGNvbnNpZGVyIHRoaXMNCj4gdXNhYmxlLiBJbW8gd2Ug
d2FudCB0byBwZXJtaXQgcGVvcGxlIHRvIGFsaWduIHdoZW4gdGhleSB0aGluayBpdCBoZWxwcywg
YnV0DQo+IHdlIGRvbid0IHdhbnQgdG8gZGVtYW5kIHRoZW0gZG9pbmcgc28uDQoNClllcyBJIHVu
ZGVyc3RhbmQsIHVuZm9ydHVuYXRlbHkgdGhlIHRvb2wgZG9lc27igJl0IGFsbG93IHRoYXQgYW5k
IGlmIHdlIGRvbuKAmXQgc3BlY2lmeSB0aGlzIGNvbmZpZ3VyYWJsZSwgaXQgd2lsbA0KdGFrZSB0
aGUgZGVmYXVsdCBvbmUgd2hpY2ggaXMgZGlzYWJsZWQgKGFuZCBzbyB3b3VsZCByZW1vdmUgdGhl
IGZvcm1hdHRpbmcgZnJvbSBhbHJlYWR5IGFsaWduZWQgYXNzaWdubWVudHMNCnRoYXQgaXQgd291
bGQgZXZlbnR1YWxseSBmaW5kKS4NCg0KVGhpcyBtb3N0IG9mIHRoZSBjb25maWd1cmFibGUsIHdo
ZW4gbm90IHNwZWNpZmllZCwgdGhleSBhcHBseSB0aGVpciBkZWZhdWx0IHRvIHRoZSBjb2RlIGFu
eXdheS4NCg0KDQo+IA0KPiBKYW4NCj4gDQo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLQ0KPj4gDQo+PiBBbGlnbkNvbnNlY3V0aXZlQml0RmllbGRzOiBOb25lDQo+PiANCj4+IC0t
LQ0KPj4gU2FtZSB0aGluZyBhcyBBbGlnbkNvbnNlY3V0aXZlQXNzaWdubWVudHMsIGJ1dCBmb3Ig
Yml0ZmllbGRzLg0KPj4gDQo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4g
DQo+PiBBbGlnbkNvbnNlY3V0aXZlRGVjbGFyYXRpb25zOiBOb25lDQo+PiANCj4+IC0tLQ0KPj4g
VGhpcyBhbGlnbnMgZGVjbGFyYXRpb25zIG5hbWVzLCBzYW1lIGNvbnNpZGVyYXRpb25zIGFzIEFs
aWduQ29uc2VjdXRpdmVBc3NpZ25tZW50cy4NCj4+IA0KPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0NCj4+IA0KPj4gT2sgdGhpcyBpcyBpdCBmb3Igbm93LCBsZXQgbWUga25vdyB5
b3VyIHRob3VnaHRzIGFib3V0IHRoZW0sIGlkZWFsbHkgaWYgSSBkb27igJl0IGdldCBhbnkgcmVw
bHkgaW4gdHdvIHdlZWtzICg3dGggb2YgRGVjZW1iZXIpLA0KPj4gSSB3aWxsIGNvbnNpZGVyIHRo
YXQgd2UgaGF2ZSBhbiBhZ3JlZW1lbnQgb24gdGhlc2UgY29uZmlndXJhdGlvbi4NCj4+IA0KPj4g
Q2hlZXJzLA0KPj4gTHVjYQ0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 15:48:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 15:48:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640806.999505 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6YPS-0002xH-2c; Fri, 24 Nov 2023 15:48:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640806.999505; Fri, 24 Nov 2023 15:48: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 1r6YPR-0002xA-VX; Fri, 24 Nov 2023 15:48:01 +0000
Received: by outflank-mailman (input) for mailman id 640806;
 Fri, 24 Nov 2023 15:48: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=SG+4=HF=epam.com=prvs=569229df20=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r6YPQ-0002x4-73
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 15:48:00 +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 d628f58e-8ae0-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 16:47:58 +0100 (CET)
Received: from pps.filterd (m0174677.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AODX7d2009043; Fri, 24 Nov 2023 15:47:50 GMT
Received: from eur01-ve1-obe.outbound.protection.outlook.com
 (mail-ve1eur01lp2050.outbound.protection.outlook.com [104.47.1.50])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3ujrwb1f8m-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 24 Nov 2023 15:47:50 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by GV1PR03MB10314.eurprd03.prod.outlook.com (2603:10a6:150:16b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.21; Fri, 24 Nov
 2023 15:47:46 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.020; Fri, 24 Nov 2023
 15:47: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: d628f58e-8ae0-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RF4UKLAodQDaWXgQd0sa0kxc5qlq/J2a6MLIE4sID5tqCC+cnTCvlSGWrEbGfvMRNjODAjGfOEyISELo2tICpO4/esgrXnsxiybCaaS68zdXsC5JP0m+mQwvNPPOww859dhipkQEVpKUXLSU2IgqmS18jlfI/8Pmww2uC79mzV/Iinu9lXafysbnKX4opYz5YgYFRgBuVJpvODDtXvNuHY4l+Hnr8FOWxf3xz9ai8MZdqk6GSclN4uEmWb5yBIr6ZYG1LojkKsIRrq9WGeNH9x2/j3632/EqFu5r9NGLyU4aqKUt9lWRLrTE3XuuJoRr6+XtbcymXTfHS/MidlPOpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6en3WvjYJusXWSWiY4NO+8cabS/2ZvY1/zSpJBI6n6U=;
 b=R2WV77jDO5wZGvN07XoeM76Heroqx0I418jG22zsY4L5fz9LGZLxqOTM/hNoUL4Is2urmR9n/SXWzwl5wh/ffSke1SC4btCvCNF4FT9nsioK7svklgcrtW2TkYZzVHadf4r/Qoh9QOSeYm4Oa4DjZ8ei8q94doIi8M6aMng0aPlkcn/jGvCJzfJrDri53EmnlCkbvw3WtCf3XdcstR9UsYGDO1cna7NxK4uZJyRJjpzTI2+7YVvhB0X6ktbjlpUJC7m3HiDK3gxBK97mWqGTpfSWPb9X6bhVT9CYQyvk4irg6cE83ONpYOW3JI8hQpsZjvJp4mRYli39lm/twyBCpQ==
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=6en3WvjYJusXWSWiY4NO+8cabS/2ZvY1/zSpJBI6n6U=;
 b=PsUKIYMULBL7lcm12735xIg3/5AF9e4T5wpD3JLlibatSokhJuPYuAnGcsLQA1cH0DlV6Ci26cjZbU8BvjqLOjhRo6Mn4SBAajb6HKS0CeO31QKmx7d79eLsu051QfSWoRBQ/kdP9OCSUdUgmhzKgsUy61x3jHcKkRh5DxW8HQJV0mlOn4h2q3vUr1vPmBn/idprElMUVR2yREDxiun9RsMsIZnakVVNbTT1bgpvfIUUB++adfSrDL2TqkXKPEdEHAwYdlwLZsX/LosgB3qqppbuOxaCwB3Cr3IU6wVWKDUSihSycl5CzmghwwS1cIk38vk+nGhGc0+Ap5ytZpKxCA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: Igor Mammedov <imammedo@redhat.com>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        David Woodhouse
	<dwmw@amazon.co.uk>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Julien
 Grall <julien@xen.org>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Peter Maydell <peter.maydell@linaro.org>,
        Anthony Perard
	<anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:ARM TCG
 CPUs" <qemu-arm@nongnu.org>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support
Thread-Topic: [PATCH v2 6/6] xen_arm: Add virtual PCIe host bridge support
Thread-Index: AQHaHMeJqHnam8LJkECFe490J2r1JLCJanQAgAA18wA=
Date: Fri, 24 Nov 2023 15:47:45 +0000
Message-ID: <878r6nw3tr.fsf@epam.com>
References: <20231121221023.419901-1-volodymyr_babchuk@epam.com>
 <20231121221023.419901-7-volodymyr_babchuk@epam.com>
 <20231124133028.72ba1d6e@imammedo.users.ipa.redhat.com>
In-Reply-To: <20231124133028.72ba1d6e@imammedo.users.ipa.redhat.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|GV1PR03MB10314:EE_
x-ms-office365-filtering-correlation-id: f4e3deeb-9259-4362-8474-08dbed04b3d1
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 1I+d/DZR+WKWL6LgCQOcCUEtx6ElTipYBFy6LL+/UwNBwOAhUWiDh35oH4QdLpQ40PD/c9K+jAKtbwi9ic5BlX+KFXqfN17HsziMyhRVZ0FPiagTNItKLoBbmd4cBqTUXHrdLoUWrPyL8t3j0Vuwxdnp1VvNyhpEkOZOS9Yv5040x3B6/kcxH9R+yqA8yPCKpDjhv6iCYpugrT+xOhTJrmvUczxFHP9v8rAYg/FMUNITsSBzyqZBe135HmuKR7NtmHPp3yT0KB3Wv3n7n2YCOwf2J1tft/zrJOFkOXyQmoKFju3A4k5fQwqlV0WNbO7DZPr1qXrei78GTM30oBWmh4UZRnK2hgdaJo/v8NbBiu61YKhzYtbLrRPJ1xv0qMkEZl6hQEy6xPy6PM2hpqu4kbfblJ1RCUB/KsmI6MvqGgSZnuXOlUmgacS55PQn07WaU25GscxBliTHq4JzLEz6I2jCVyB39Wr3hvyOnydRPNrsgFGm4mYDyqS/t4rCtk1/5FIhF9d/d7Ef4qt21v3uFbeCkVhPCOdWI6ZQrOnnRwPpF1vGUxEZVrBZzEoNOTQpGfc9iYxG3YrSHb+1lFR8Ko6gQCsTXjsGey4vjggMq1IiCDzoCQ1VFM2G4079t/d7cp5TwLZqsa3FFiCBxUIT7UltL9pzI2BtaizLw5Q6lWk=
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:(13230031)(366004)(136003)(39860400002)(346002)(396003)(376002)(230273577357003)(230173577357003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(2616005)(36756003)(478600001)(122000001)(41300700001)(6486002)(38070700009)(86362001)(5660300002)(55236004)(316002)(71200400001)(6916009)(7416002)(6512007)(8936002)(8676002)(4326008)(6506007)(83380400001)(38100700002)(91956017)(66946007)(2906002)(76116006)(66446008)(64756008)(66476007)(54906003)(66556008)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?NueKAzqUxJUzyFE73pKhOoLQNvnnitlFLeQtpnMZaVhx+t5HuFVslf4i0C?=
 =?iso-8859-1?Q?iRBkiUH45yKcbe1EAYmGNyq+Kg1XWOSNnwKaqoTl9O1ozIxSjHlfC4Gctw?=
 =?iso-8859-1?Q?3UkQtLEvV6NCe/wi4f/4qRW210StLM1HBzGffy9bNqcJ3VfHeUx3dg1NbF?=
 =?iso-8859-1?Q?arE3F/ZePXxja16g4WLWbiQPI/UgHjOtoRFElK0R67RSdxJV2TVfJS+RZR?=
 =?iso-8859-1?Q?opjDoO+8sTvatUKlerAuSemQEXpi8oZ5bdY6ReWQ0XBuOlAsfbjnj4oQsw?=
 =?iso-8859-1?Q?AAql81Acih/P2XyyCd2vmLpA+1NgYsyywoZtRrbJQwlyYiFu6/uTbTVrmy?=
 =?iso-8859-1?Q?FxvkCr031kSalBKM4PHflBmvDuiqvx12B6ZvRwCSixoA8w5BZhwKw/xvQR?=
 =?iso-8859-1?Q?F/cw9+8eT8t6C69YCjd3RAuasq+0viamhQyGB0wjW0h7fHUdchDT7+jvNc?=
 =?iso-8859-1?Q?gWanPmGYejE4JcNuey0qWpFzwVahTVC1iXksxw2PhK16WaKPe2t+iG/+Hw?=
 =?iso-8859-1?Q?MdeLsXkK/E/kPPwIPy/KBdcXJAsop6aZGWMdvjhoTROu6fiuEmVBvTO3qd?=
 =?iso-8859-1?Q?vz8lScK0EraHgT3+9HTT2ytDH3o+dTFznKcuKYkEBN1P9I1GYa4uQ/PdAF?=
 =?iso-8859-1?Q?dCRQ4DegngMF4U+gZAKbpSmGB904TAdrwpfrX77XmGRZ67So2eN5iJ2ptD?=
 =?iso-8859-1?Q?vnsZqa45q7Rw146Z6UEb7X0n1mSahFkIejQUZDMekWZaK9j2+Ah8gctn2W?=
 =?iso-8859-1?Q?V9MABZZ9tNYwTIRKSJkeqp1/FP9B2ckyoR9HpAQKJFthB72mPE4Fv9sK7Y?=
 =?iso-8859-1?Q?IZQRZdEBeRxM3kR36qA6uuHcTuUDAmXGqzLIN+jvSVUYjLccgzRrsFhwfL?=
 =?iso-8859-1?Q?5yIjZNFiEU+xITzSDDTe+bFsygtShpce4IJ0Z46pnQqhwVzEzU1YCiKnCO?=
 =?iso-8859-1?Q?OuBKeO3dz8RTRVEHt34uYPY/DjtSzHuEQ1jMqFd1Ip1+ymloTJ9nrOyDBZ?=
 =?iso-8859-1?Q?ZTBO1yD5HCfe6Dq3oCP3oZwGa7yLIRm6VDGMjOF5+x8qf6cR55XY3fAyUz?=
 =?iso-8859-1?Q?4SIyoOFdrDgSYvcaX+RsPj1ly87U6ZwXF5IGDjcDJT0+kd6XtmXEadYFlT?=
 =?iso-8859-1?Q?9yLXEijHbR6VDOOa4Z8GiilxNUVIzyLU8o+3zPbhQMr/W/eC820AXAwq9+?=
 =?iso-8859-1?Q?/azrScFLZ1ZAxPMQayzTh4FB8RtVF8ATMSPSqHaPa6L0/jMzrl5Ao9cbRu?=
 =?iso-8859-1?Q?MJCVnEQidsNJwiWqD5PheX2p6iSmdNae4UlgJC0qKnrTiDyLUC/fWaXj5G?=
 =?iso-8859-1?Q?xrbl/rKK9lGn606LKGOm/sTSOzqcgrLDJKrDSRpbnRCIz43ZywTFWHqfk8?=
 =?iso-8859-1?Q?aWeBdmHIVJQRS5TDkKEJQXnpYx12ai45hJUhVpzKCNozl+SFhqiOxG7VrS?=
 =?iso-8859-1?Q?plP3aR/lKUkRi5jrOsgp4ou/yRJJUf2aAEiJiW0/HqROY5x20YobrQ/liu?=
 =?iso-8859-1?Q?mS0XIGbDYtikRQaBXV+wcj74EoJ673a734cwrVi0WPOg0wRg96W0vfjnIC?=
 =?iso-8859-1?Q?R1CvYRYs3NjdexSj8lrawKGoF9ZFV2APuAKxLtgN3dhAzoEaSHp7gZvM91?=
 =?iso-8859-1?Q?LIgkaDDuqLqqenFf6Grflaj4CRzJ9CiwMlVbYp2y0LXCNf+d2Jis/wmQ?=
 =?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: f4e3deeb-9259-4362-8474-08dbed04b3d1
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2023 15:47:45.5062
 (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: Y4GDqJ0YCxc03kr+xr1CxRSicCN2JAgmkLRbDqjKeiV873MvHLoxALcDhl7RvUZgKqxA4BnFHvRdoElmDNQ8UoRJGaWeFxua0Ey/u0CiqVA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR03MB10314
X-Proofpoint-GUID: a6Di1YzmVvK2815ctjganDuyuk_Jr3dB
X-Proofpoint-ORIG-GUID: a6Di1YzmVvK2815ctjganDuyuk_Jr3dB
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-24_02,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 suspectscore=0
 impostorscore=0 lowpriorityscore=0 phishscore=0 clxscore=1011
 priorityscore=1501 mlxscore=0 mlxlogscore=970 adultscore=0 malwarescore=0
 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311240123


Hi Igor,

Thank you for the review,

Igor Mammedov <imammedo@redhat.com> writes:

> On Tue, 21 Nov 2023 22:10:28 +0000
> Volodymyr Babchuk <Volodymyr_Babchuk@epam.com> wrote:
>
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>=20
>> The bridge is needed for virtio-pci support, as QEMU can emulate the
>> whole bridge with any virtio-pci devices connected to it.
>>=20
>> This patch provides a flexible way to configure PCIe brige resources
>> with xenstore. We made this for several reasons:
>>=20
>> - We don't want to clash with vPCI devices, so we need information
>>   from Xen toolstack on which PCI bus to use.
>> - The guest memory layout that describes these resources is not stable
>>   and may vary between guests, so we cannot rely on static resources
>>   to be always the same for both ends.
>> - Also the device-models which run in different domains and serve
>>   virtio-pci devices for the same guest should use different host
>>   bridge resources for Xen to distinguish. The rule for the guest
>>   device-tree generation is one PCI host bridge per backend domain.
>>=20
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>=20
>> ---
>>=20
>> Changes from v1:
>>=20
>>  - Renamed virtio_pci_host to pcie_host entries in XenStore, because
>>  there is nothing specific to virtio-pci: any PCI device can be
>>  emulated via this newly created bridge.
>> ---
>>  hw/arm/xen_arm.c            | 186 ++++++++++++++++++++++++++++++++++++
>>  hw/xen/xen-hvm-common.c     |   9 +-
>>  include/hw/xen/xen_native.h |   8 +-
>>  3 files changed, 200 insertions(+), 3 deletions(-)
>>=20
>> diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
>> index b9c3ae14b6..d506d55d0f 100644
>> --- a/hw/arm/xen_arm.c
>> +++ b/hw/arm/xen_arm.c
>> @@ -22,6 +22,7 @@
>>   */
>> =20
>>  #include "qemu/osdep.h"
>> +#include "qemu/cutils.h"
>>  #include "qemu/error-report.h"
>>  #include "qapi/qapi-commands-migration.h"
>>  #include "qapi/visitor.h"
>> @@ -34,6 +35,9 @@
>>  #include "hw/xen/xen-hvm-common.h"
>>  #include "sysemu/tpm.h"
>>  #include "hw/xen/arch_hvm.h"
>> +#include "exec/address-spaces.h"
>> +#include "hw/pci-host/gpex.h"
>> +#include "hw/virtio/virtio-pci.h"
>> =20
>>  #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
>>  OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
>> @@ -58,6 +62,11 @@ struct XenArmState {
>>      struct {
>>          uint64_t tpm_base_addr;
>>      } cfg;
>> +
>> +    MemMapEntry pcie_mmio;
>> +    MemMapEntry pcie_ecam;
>> +    MemMapEntry pcie_mmio_high;
>> +    int         pcie_irq;
>>  };
>> =20
>>  static MemoryRegion ram_lo, ram_hi;
>> @@ -73,6 +82,7 @@ static MemoryRegion ram_lo, ram_hi;
>>  #define NR_VIRTIO_MMIO_DEVICES   \
>>     (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST)
>> =20
>> +/* TODO It should be xendevicemodel_set_pci_intx_level() for PCI interr=
upts. */
>>  static void xen_set_irq(void *opaque, int irq, int level)
>>  {
>>      if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) =
{
>> @@ -129,6 +139,176 @@ static void xen_init_ram(MachineState *machine)
>>      }
>>  }
>> =20
>> +static void xen_create_pcie(XenArmState *xam)
>> +{
>> +    MemoryRegion *mmio_alias, *mmio_alias_high, *mmio_reg;
>> +    MemoryRegion *ecam_alias, *ecam_reg;
>> +    DeviceState *dev;
>> +    int i;
>> +
>> +    dev =3D qdev_new(TYPE_GPEX_HOST);
>> +    sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
>> +
>> +    /* Map ECAM space */
>> +    ecam_alias =3D g_new0(MemoryRegion, 1);
>> +    ecam_reg =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0);
>> +    memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam",
>> +                             ecam_reg, 0, xam->pcie_ecam.size);
>> +    memory_region_add_subregion(get_system_memory(), xam->pcie_ecam.bas=
e,
>> +                                ecam_alias);
>> +
>> +    /* Map the MMIO space */
>> +    mmio_alias =3D g_new0(MemoryRegion, 1);
>> +    mmio_reg =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1);
>> +    memory_region_init_alias(mmio_alias, OBJECT(dev), "pcie-mmio",
>> +                             mmio_reg,
>> +                             xam->pcie_mmio.base,
>> +                             xam->pcie_mmio.size);
>> +    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio.bas=
e,
>> +                                mmio_alias);
>> +
>> +    /* Map the MMIO_HIGH space */
>> +    mmio_alias_high =3D g_new0(MemoryRegion, 1);
>> +    memory_region_init_alias(mmio_alias_high, OBJECT(dev), "pcie-mmio-h=
igh",
>> +                             mmio_reg,
>> +                             xam->pcie_mmio_high.base,
>> +                             xam->pcie_mmio_high.size);
>> +    memory_region_add_subregion(get_system_memory(), xam->pcie_mmio_hig=
h.base,
>> +                                mmio_alias_high);
>> +
>> +    /* Legacy PCI interrupts (#INTA - #INTD) */
>> +    for (i =3D 0; i < GPEX_NUM_IRQS; i++) {
>> +        qemu_irq irq =3D qemu_allocate_irq(xen_set_irq, NULL,
>> +                                         xam->pcie_irq + i);
>> +
>> +        sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, irq);
>> +        gpex_set_irq_num(GPEX_HOST(dev), i, xam->pcie_irq + i);
>> +    }
>> +
>
>> +    DPRINTF("Created PCIe host bridge\n");
> replace DPRINTFs with trace_foo(), see 885f380f7be for example
>
>> +}
>> +
>> +static bool xen_read_pcie_prop(XenArmState *xam, unsigned int xen_domid=
,
>> +                               const char *prop_name, unsigned long *da=
ta)
>> +{
>> +    char path[128], *value =3D NULL;
>> +    unsigned int len;
>> +    bool ret =3D true;
>> +
>> +    snprintf(path, sizeof(path), "device-model/%d/pcie_host/%s",
>> +             xen_domid, prop_name);
>
> try to avoid usage of snprintf() in series
> see d2fe2264679 as an example
>

This whole function will be dropped in the next version.

>> +    value =3D xs_read(xam->state->xenstore, XBT_NULL, path, &len);
> maybe use g_autofree

I am not sure if this is a good idea, as xs_read() is provided by an
external library which uses plain old malloc().

>>      xen_create_virtio_mmio_devices(xam);
>> +    if (!xen_get_pcie_params(xam)) {
>> +        xen_create_pcie(xam);
>> +    } else {
>> +        DPRINTF("PCIe host bridge is not available,"
>> +                "only virtio-mmio can be used\n");
>
> so if something went wrong, it will be just ignored.
> Is it really expected behavior?
>

In the new version I reworked this section. Now we have 3 possible
outcomes:

1. No PCIe config was provided at all. This is fine, as user don't want
to use PCIe.

2. Full PCIe config was provided. We continue to creating the PCIe bridge.

3. Partial config was provided. This is an error and we exit.


--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 15:50:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 15:50:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640808.999516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6YRS-0004xL-GC; Fri, 24 Nov 2023 15:50:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640808.999516; Fri, 24 Nov 2023 15:50: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 1r6YRS-0004xE-B3; Fri, 24 Nov 2023 15:50:06 +0000
Received: by outflank-mailman (input) for mailman id 640808;
 Fri, 24 Nov 2023 15: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=y9fG=HF=suse.com=jfehlig@srs-se1.protection.inumbo.net>)
 id 1r6YRQ-0004iz-UR
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 15:50:05 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0606.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21cbe0fa-8ae1-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 16:50:03 +0100 (CET)
Received: from PAXPR04MB8623.eurprd04.prod.outlook.com (2603:10a6:102:21a::11)
 by DBBPR04MB7900.eurprd04.prod.outlook.com (2603:10a6:10:1e8::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.14; Fri, 24 Nov
 2023 15:50:00 +0000
Received: from PAXPR04MB8623.eurprd04.prod.outlook.com
 ([fe80::be92:1441:1177:e77]) by PAXPR04MB8623.eurprd04.prod.outlook.com
 ([fe80::be92:1441:1177:e77%5]) with mapi id 15.20.7046.012; Fri, 24 Nov 2023
 15:49: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: 21cbe0fa-8ae1-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gqE/fGBB55DIRlHd42LXwjmhvlthCSfObt42+xuNGiLUEaCoWHJ5mxfhg1zqW0jgnDqQUxe+rZocWlzox5SGF9pZMt421NoXdq4d8YmoOgZhChNiNuwIGJxuAs655/wL31H2WTq5CdKit74ATJLEJNRN5nnS4Hl8E2pPmwztpueOFnB2IL79hliUEJhwEH1kWeDUkBureSWQgADMIEDHI6tHYMJw8zDGampZnpPgYEo19BvEyiNitplP5w6NuADYDre0xoSBS4D6J12oI4e4oLFaSlvzZP4cD9VcZe4qNvg4rHyz4KRJCEkdhBy2K28doZXiKeJpOWdPB9yybIjf+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=5qVGVNK7o/NFEBlxK4m3r8c9JoNJT0VdrFv83q4MSc0=;
 b=IKrx77MEc1dlUaXMOf13NumFzY6/sMF1Zp9NX0mAhz6ICnz/UrSv06TghRW8935hQl49tq3uWeyoeEoTLaxPXvVDl1guCAJoTVweAPYxoMy1iQdwUCvFlvA/FmMbpkB/4VBlyfVIfcfNqi4n2Bm21NR5UKG543X71MQ2fQ68do6gdf2MkTw+lB2teyiS91wJHOxPecD93uTM1p6kMUrOgvINXK1R7KZlTSeW2DSG2P6Eo/yWHSmuN1NF5OgjaGPGV6NHOw4AwYvaG0QOV7kVDKwnb7KqiDtspWZMz+kVpy5gXXuqfBBBlIiG8Ar1a82URScSDTn1Ry/jbw1nJE3BBg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=5qVGVNK7o/NFEBlxK4m3r8c9JoNJT0VdrFv83q4MSc0=;
 b=sNCfGu4r85u5hr/xU9kf5Bf0V6ltpM9E2+6abZtnmqwBh15gFEsgeLeYPsARzlHdEyEifpKjk7cNq4IbwcRSsYGDJVG4Xx5GEb3aa2gkf/vr9X/23hw8/Yjtmh6EoPL6PrVFmR1CjLR7yVrlGZnWkMpe7fp9Kzcza6UdQbJGacO9IW1CHS69FepZ57KJ2/HLCagQUDcHoJG3Oi+M0hZvPsPKRp62Q/b3WVFxDrGfSPFPIlsxijXeoWcUVfmD5XgnoCEVFUOdSfahvH8Q8UU9YZVu2jCTD0mrgcXZTc2y0m6XOzx/wTuuube1U9CObPTMC8VlLN+DxGcRE84zXgfCxQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <14651950-81f5-4862-b65b-ec9662a2227a@suse.com>
Date: Fri, 24 Nov 2023 08:49:51 -0700
User-Agent: Mozilla Thunderbird
Subject: Re: [Discussion]: Making "LIBXL_HOTPLUG_TIMEOUT" configurable through
 'xl.conf'
To: Olaf Hering <olaf@aepfle.de>, Juergen Gross <jgross@suse.com>
Cc: Divin Raj <divin.raj@arm.com>, Xen-devel
 <xen-devel@lists.xenproject.org>,
 "anthony.perard@citrix.com" <anthony.perard@citrix.com>,
 Jan Beulich <jbeulich@suse.com>, Luca Fancellu <Luca.Fancellu@arm.com>,
 Rahul Singh <Rahul.Singh@arm.com>
References: <4a54e7e7-c041-44d3-a16e-d331e9fdd414@arm.com>
 <20231115182340.505df6c3.olaf@aepfle.de>
 <4f418916-b76d-425a-96a2-05b56a3dc195@suse.com>
 <20231116085629.40a0445b.olaf@aepfle.de>
 <A6D4B8C2-E781-4964-A757-C72F38169246@arm.com>
 <20231116105321.4a59eed4.olaf@aepfle.de>
 <47ec45a1-2004-410c-86c7-861d03c1939b@arm.com>
 <7a4ca8fe-da45-428f-a300-241b2bf0b2f2@suse.com>
 <20231124140432.53105119.olaf@aepfle.de>
Content-Language: en-US
From: Jim Fehlig <jfehlig@suse.com>
In-Reply-To: <20231124140432.53105119.olaf@aepfle.de>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: CYZPR10CA0021.namprd10.prod.outlook.com
 (2603:10b6:930:8a::14) To PAXPR04MB8623.eurprd04.prod.outlook.com
 (2603:10a6:102:21a::11)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: PAXPR04MB8623:EE_|DBBPR04MB7900:EE_
X-MS-Office365-Filtering-Correlation-Id: d71db112-5861-4324-c7f8-08dbed050357
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:
	L1e9UgCfhVgw5ozm0yrRQ0BTBu3yPwPnEutoytlJlx3OdYAFh/GtBg88OGY56CHPRYbnSdAjj/visj9vBGWiwI9TJpUs0FLpsaFszChYM8QzM3Zj7iXlb2IcHTuOMQCZXrs+Io7igfoTe5n1MoIkvvH6iqijJOMpmh+KEqMAqBklV8xOcRuv0SznfIQQfa+e1WSRNhoJ61M4ImpdCxisYUVkLDdkuC+73MNPk2UWPs1btZ2rdxYxz+DUm0GWS6pgnq+7r+Me9e1mXnM8vvdyNramoPsnuSe9ybhlgdlyCguNRlWNmz1tS+j46kDYHt2Q2DWbTwVXRmLcGejr4ubkSz+z/TEwvIlvh3ZQcJfKsy4akymzXUEmNCN3e4alCv24ZjI/N6SQkR0X9I6WfycSwzQq/PrLb8C01ALs5H+hoG2RU1PR44/wNwE9vInVi+DRNFnNo2s+Y8BPTML1NmddPtODWtTDnb65+hBHiZjB9FBJqMP+rCKmTCUZooKLL/tu1f2uLim2QZY41lPwj6A1ckzS9ZYa9JrDB1f8sKNpkQHA6xZJ16/hc+FarRoyrD2bd8FQE9E4EoFJzzMnrI+BkfSTPQ2t9+viv3mRTVZJUtRDBVRS9WzxCCtx4XET5GPWu594rfY/UETP0eBu9DCmMv9lD5Xes7Tvr1Sa1mu0iMT1ZmE/EGdGqHol45RPwAI8
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PAXPR04MB8623.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(39860400002)(396003)(136003)(230922051799003)(230273577357003)(230173577357003)(186009)(451199024)(1800799012)(64100799003)(478600001)(6486002)(6512007)(6666004)(31696002)(53546011)(6506007)(316002)(6636002)(66476007)(66946007)(110136005)(54906003)(66556008)(8936002)(4326008)(8676002)(4744005)(2906002)(36756003)(41300700001)(38100700002)(31686004)(86362001)(2616005)(83380400001)(26005)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Smdab1ZwMWdNamFteklGajVpWHIyNlNlRlhGbzBiSHNXNnppV2o3eGdxRTR3?=
 =?utf-8?B?OVB1OU4xcGhSWUdPSU4waFAyM01zNFFDQ2RMamRlcXRsMVhMSHpEalN0OTFG?=
 =?utf-8?B?SFRnaytqbjVjMVZraENwQkJzeTY3K2JjQjhkelBkVHBjVVFVazZhWXpyZHIv?=
 =?utf-8?B?WWIvRlVFSTlUcWJaY1A5UmRHMmhjRnRwb0lsTUtJOU12UTVqRmloMG0wZWI4?=
 =?utf-8?B?eUVjNDU1b3RSSi9XQURna0dpcE03akVLOG0yQkZCQjUrVjFCWVUxeXc4enA5?=
 =?utf-8?B?d284YnZWVExsRVQvd0NPNjY3V3p4cll2c2h5T1VrelE4ODlsdkpSOEh6M09y?=
 =?utf-8?B?RmwvazhtcTIvOGhselNmaEhFUHlpd2hVVHU4T0gzSEk2aGR5TUswY1NTTHNF?=
 =?utf-8?B?QnBSZUlLOGpRRFRBSVBtNUJXU3FxeENDcEJKNDdDdExNUFNNa3prZUljd25a?=
 =?utf-8?B?L0xTQjdzN2VHNGNGU0ZJMTVPN3o1NFIzWHdQaVN4ZWFweldMQ3V0dTZwR1NT?=
 =?utf-8?B?TGphcjB5VUdRakJCSGprZWs4RTJCRzRwa3RZTHRaM1lYdjNMbWplZGw0OGRX?=
 =?utf-8?B?MFlEKzZ0WnRMQXZaclZybFk0K2RLeUdzdElyMStKZkY2VnlwV0k5VWIzQmUw?=
 =?utf-8?B?bWFLcU82L2NvSG1DRWtlSEpUazVIOUdDWUx1RUw4REJlOFcrZ3Y5ZlNQc05N?=
 =?utf-8?B?UEd6b2N1c3pmUGxva0RSVmc5L2pmYkNiU2g3Q3Vuc0szcmIxM0JFWHJqSUJT?=
 =?utf-8?B?RGFYWC9aZGhOemZKRWJ5Q0Q0VzZGcXhzODZkclFJSWJNVmFvWVh3dHZCR29x?=
 =?utf-8?B?N2ExTEF4ZUZUamIzNnZkSlNLanA3WldCeHBrZ0ZlRVo1UEtMalk3WWtmUnNF?=
 =?utf-8?B?Ty96b1p1UVdRY3ZWM2VzYlU1VUdIOHpKRWtoL0FuVHFieEdBNmphMXU3dFBD?=
 =?utf-8?B?YzJRMG91TUtmY05hVGc0WmIrTm40K0ZpK1FXWVZZaXhBOUZqT0N1TnVBaVNq?=
 =?utf-8?B?Vk0yM05kdTBiam1UVlgzQy9CbG9zb0F0Qkd5eHhCeDdwUHZkN0NMYkFiemp5?=
 =?utf-8?B?REtCS3hlTjZUMERQdHRtaVg0MEtKUm1tZ200djNvVlFaU0MwQ3FIS0xQY1g1?=
 =?utf-8?B?b3hpL0M3R0VOWDY1ZXRqNlpaUGcvelpYSzVudXR3bUQwSXpDY042MFp0bHdP?=
 =?utf-8?B?MHkxVkJ6TnFhdnptMXVaSzMyY1hTMjVYcVZwME5qWjNrUVJlNU1PODN2Wi9H?=
 =?utf-8?B?ckx4K25SMFdvK2dPSCtrRWV0YWVQYmRJdlpnV2VkNE0zT3JucTNPbTFJNGZU?=
 =?utf-8?B?VWsvcWlneWtxdDBUOWdhaVRtRWtFOEpDR3NobkZaTkszS0NVTzl5eTdLRXhq?=
 =?utf-8?B?cHQ4N3cxdnlYZDdteDFsSTFwelJCV2FtbWg1dFAwdnpEUllDZE1aYmR0ZVh4?=
 =?utf-8?B?ekVHbkV2Rnh3N3RWVHgyb2ErcWVWbmxIVloxRUgxWkp2dWV6QWpIUW96b0Uv?=
 =?utf-8?B?aU5VU053WThPd2J2WXhVcFZ6Y1RSR2xJNmJFcTJMa1J5dDhYMmlNaVQyY1ND?=
 =?utf-8?B?ZVh6Z2poMWg4LzVnTXNCVGtkUXNkb2tHc1hCR0xwcnM3cUVvYjJidkl5cmpN?=
 =?utf-8?B?WVpJU2NrU2hGb3F4eS9JbEY5NEZRNnQxOWRNbnZyTEg3dW1JWERBemRqcGVO?=
 =?utf-8?B?NExGVE9vOENZUU9qRGd2amRCSUhsc0Qzd01LNTNxeXVoRENqaWVpVmhUUmpM?=
 =?utf-8?B?SDdFWVVVbWlBcHBVaFgxcW9qdHRNNnVEdTRPRnZsS1V3ZFo0SkxJaHNwVnVP?=
 =?utf-8?B?WDVlUTNiNjhIVU9uN3ZYd0svVkhiNDVjK1dyazJNQVpjZUxxT3ZDT3p3ZVlK?=
 =?utf-8?B?OVJsdG5ZaUF6bWFXRlhwTno1cUk5Ym02L1NSTGRQa3lrOWVLOHh0dmx4ZGht?=
 =?utf-8?B?UHkxcjJ2WlUwRS95bkkyN3ZmWmxhUHFhRWpjU3pBeW1QVWFsUHNSZlkzTS9j?=
 =?utf-8?B?N3lMVVJ0NTFXUkRJNWE0Rjh3RWl3a0d4Y29tdFNoOTN4Z3Q2ayt0ZTV3Z003?=
 =?utf-8?B?Y2hFY2JZQUFyVXpsTWxLUUdNWTg0RGVWTE9PbXdpZ29FN1VPcytxQ1F6Qm5M?=
 =?utf-8?Q?/mb9ZRfftqy7ZLrTq5NfTieNJ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d71db112-5861-4324-c7f8-08dbed050357
X-MS-Exchange-CrossTenant-AuthSource: PAXPR04MB8623.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Nov 2023 15:49:59.2144
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: qge1XfSzn0i5j4O+huGbAu6UtPfl14iIgZVf1X7ddein2MMlVb8myLrl0LRstAYco90ZzaQlYkkVU4l10xTSMg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7900

On 11/24/23 06:04, Olaf Hering wrote:
> Fri, 24 Nov 2023 13:47:53 +0100 Juergen Gross <jgross@suse.com>:
> 
>> As Olaf has said already: this wouldn't cover actions e.g. by libvirt.
> 
> Jim pointed me to /etc/libvirt/libxl.conf. So from this perspective both
> xl and libvirt is covered. Now it just takes someone to implement it.

I like Juergen's idea of libxl.conf or xen.conf for Xen. This would avoid the 
duplicate effort of adding support for such host-wide settings to the 
configuration of external libxl toolstacks like libvirt. And external stacks 
could immediately use any new settings added to the Xen configuration.

Regards,
Jim



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 16:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 16:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640824.999555 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Z4F-0001Yh-Me; Fri, 24 Nov 2023 16:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640824.999555; Fri, 24 Nov 2023 16: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 1r6Z4F-0001Xc-Gi; Fri, 24 Nov 2023 16:30:11 +0000
Received: by outflank-mailman (input) for mailman id 640824;
 Fri, 24 Nov 2023 16:30: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6Z4E-0000du-3C
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 16:30:10 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id baffe575-8ae6-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 17:30:08 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 810044EE0747;
 Fri, 24 Nov 2023 17:30:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: baffe575-8ae6-11ee-9b0e-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	maria.celeste.cesario@bugseng.com,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [PATCH 3/5] AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
Date: Fri, 24 Nov 2023 17:29:17 +0100
Message-Id: <11fc193f35be188165294665b1e989b2db17a776.1700842832.git.maria.celeste.cesario@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>

Add missing const qualifier in casting to comply with Rule 11.8.
The type of the formal parameter ivhd_block is const qualified.
No functional change.

Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
---
 xen/drivers/passthrough/amd/iommu_acpi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
index 699d33f429..00923a6bb5 100644
--- a/xen/drivers/passthrough/amd/iommu_acpi.c
+++ b/xen/drivers/passthrough/amd/iommu_acpi.c
@@ -1232,7 +1232,7 @@ static int __init get_last_bdf_ivhd(
     while ( ivhd_block->header.length >=
             (block_length + sizeof(struct acpi_ivrs_de_header)) )
     {
-        ivhd_device = (const void *)((u8 *)ivhd_block + block_length);
+        ivhd_device = (const void *)((const uint8_t *)ivhd_block + block_length);
 
         switch ( ivhd_device->header.type )
         {
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 16:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 16:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640821.999534 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Z4D-00018x-NQ; Fri, 24 Nov 2023 16:30:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640821.999534; Fri, 24 Nov 2023 16: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 1r6Z4D-00018q-Ku; Fri, 24 Nov 2023 16:30:09 +0000
Received: by outflank-mailman (input) for mailman id 640821;
 Fri, 24 Nov 2023 16: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6Z4C-00015K-Eg
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 16:30:08 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ba5f5af2-8ae6-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 17:30:07 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 5D1244EE0740;
 Fri, 24 Nov 2023 17:30:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba5f5af2-8ae6-11ee-98e2-6d05b1d4d9a1
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	maria.celeste.cesario@bugseng.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>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [PATCH 1/5] x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
Date: Fri, 24 Nov 2023 17:29:15 +0100
Message-Id: <a04d1dda2fd3cceaf9cfa1eb82e4964d5343ed36.1700842832.git.maria.celeste.cesario@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>

Add const qualifier in cast that unnecessarily removes it
to comply with Rule 11.8.
The variable info is declared with a const qualified type.
No functional change.

Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
---
 xen/arch/x86/platform_hypercall.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/platform_hypercall.c b/xen/arch/x86/platform_hypercall.c
index c1ab552c57..4dde71db27 100644
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -364,7 +364,7 @@ ret_t do_platform_op(
             if ( length > info->edd_device_params.length )
                 length = info->edd_device_params.length;
             if ( copy_to_compat(op->u.firmware_info.u.disk_info.edd_params,
-                                (u8 *)&info->edd_device_params,
+                                (const uint8_t *)&info->edd_device_params,
                                 length) )
                 break;
             if ( copy_to_compat(op->u.firmware_info.u.disk_info.edd_params,
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 16:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 16:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640822.999545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Z4E-0001OQ-W2; Fri, 24 Nov 2023 16:30:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640822.999545; Fri, 24 Nov 2023 16:30: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 1r6Z4E-0001OJ-T9; Fri, 24 Nov 2023 16:30:10 +0000
Received: by outflank-mailman (input) for mailman id 640822;
 Fri, 24 Nov 2023 16:30: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6Z4D-0000du-2z
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 16:30:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bab67beb-8ae6-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 17:30:07 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id E8B374EE0C89;
 Fri, 24 Nov 2023 17:30:06 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bab67beb-8ae6-11ee-9b0e-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	maria.celeste.cesario@bugseng.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>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [PATCH 2/5] x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
Date: Fri, 24 Nov 2023 17:29:16 +0100
Message-Id: <0e82b0a844e6eb50860ba5c9a2fcdb3328bc374f.1700842832.git.maria.celeste.cesario@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>

Add missing const qualifier in casting to comply with Rule 11.8.
Argument tag is typically const qualified.
No functional change.

Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
---
 xen/arch/x86/boot/reloc.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/boot/reloc.c b/xen/arch/x86/boot/reloc.c
index e093b7389c..df0bc710a7 100644
--- a/xen/arch/x86/boot/reloc.c
+++ b/xen/arch/x86/boot/reloc.c
@@ -67,7 +67,7 @@ struct vesa_mode_info {
 };
 #endif /* CONFIG_VIDEO */
 
-#define get_mb2_data(tag, type, member)   (((multiboot2_tag_##type##_t *)(tag))->member)
+#define get_mb2_data(tag, type, member)   (((const multiboot2_tag_##type##_t *)(tag))->member)
 #define get_mb2_string(tag, type, member) ((u32)get_mb2_data(tag, type, member))
 
 static u32 alloc;
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 16:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 16:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640823.999550 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Z4F-0001Qm-CJ; Fri, 24 Nov 2023 16:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640823.999550; Fri, 24 Nov 2023 16: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 1r6Z4F-0001Q3-4P; Fri, 24 Nov 2023 16:30:11 +0000
Received: by outflank-mailman (input) for mailman id 640823;
 Fri, 24 Nov 2023 16:30: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6Z4D-00015K-Px
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 16:30:09 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bbb43385-8ae6-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 17:30:09 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 8B8CF4EE074E;
 Fri, 24 Nov 2023 17:30:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbb43385-8ae6-11ee-98e2-6d05b1d4d9a1
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	maria.celeste.cesario@bugseng.com,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [PATCH 5/5] xen/arm: address violations of MISRA C:2012 Rule 11.8
Date: Fri, 24 Nov 2023 17:29:19 +0100
Message-Id: <df2af5f9a93c3cbcb61c28ff5228632c82d56f37.1700842832.git.maria.celeste.cesario@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>

Add or amend casts to comply with Rule 11.8.

The violations are resolved either:
- by adding a missing const qualifier in the cast
- by removing a cast to non-const on a const-qualified object

No functional change.

Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
---
 xen/arch/arm/domain_build.c       | 2 +-
 xen/arch/arm/include/asm/atomic.h | 2 +-
 xen/arch/arm/include/asm/regs.h   | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2dd2926b41..c17214f738 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2749,7 +2749,7 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
     if ( node == NULL )
     {
         printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
-               (char *)xen_path->data);
+               xen_path->data);
         return -EINVAL;
     }
 
diff --git a/xen/arch/arm/include/asm/atomic.h b/xen/arch/arm/include/asm/atomic.h
index 64314d59b3..517216d2a8 100644
--- a/xen/arch/arm/include/asm/atomic.h
+++ b/xen/arch/arm/include/asm/atomic.h
@@ -154,7 +154,7 @@ static always_inline void write_atomic_size(volatile void *p,
  */
 static inline int atomic_read(const atomic_t *v)
 {
-    return *(volatile int *)&v->counter;
+    return *(const volatile int *)&v->counter;
 }
 
 static inline int _atomic_read(atomic_t v)
diff --git a/xen/arch/arm/include/asm/regs.h b/xen/arch/arm/include/asm/regs.h
index 8a0db95415..79050937f3 100644
--- a/xen/arch/arm/include/asm/regs.h
+++ b/xen/arch/arm/include/asm/regs.h
@@ -48,7 +48,7 @@ static inline bool regs_mode_is_32bit(const struct cpu_user_regs *regs)
 
 static inline bool guest_mode(const struct cpu_user_regs *r)
 {
-    unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r);
+    unsigned long diff = (char *)guest_cpu_user_regs() - (const char *)(r);
     /* Frame pointer must point into current CPU stack. */
     ASSERT(diff < STACK_SIZE);
     /* If not a guest frame, it must be a hypervisor frame. */
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 16:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 16:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640820.999524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Z4B-0000pK-Ci; Fri, 24 Nov 2023 16:30:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640820.999524; Fri, 24 Nov 2023 16:30: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 1r6Z4B-0000ol-A0; Fri, 24 Nov 2023 16:30:07 +0000
Received: by outflank-mailman (input) for mailman id 640820;
 Fri, 24 Nov 2023 16:30: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6Z4A-0000du-HZ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 16:30:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7fca036-8ae6-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 17:30:03 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id C4A2F4EE073C;
 Fri, 24 Nov 2023 17:30:01 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7fca036-8ae6-11ee-9b0e-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	maria.celeste.cesario@bugseng.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>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH 0/5] xen: address violations of MISRA C:2012 Rule 11.8
Date: Fri, 24 Nov 2023 17:29:14 +0100
Message-Id: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>

The xen sources contains violations of MISRA C:2012 Rule 11.8 whose headline
states:
"A conversion shall not remove any const, volatile or Atomic qualification
from the type pointed to by a pointer".

This patch amends or removes casts that unnecessarily drop const qualifiers.
Example:

  static inline int atomic_read(const atomic_t *v)
  {
    return *(volatile int *)&v->counter;    /* Non-compliant */
  }

In this example, the const qualifier is unnnecessarily removed from
the original object, therefore making it non-compliant.

Maria Celeste Cesario (5):
  x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
  x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
  AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
  x86/atomic: address violations of MISRA C:2012 Rule 11.8
  xen/arm: address violations of MISRA C:2012 Rule 11.8

 xen/arch/arm/domain_build.c              | 2 +-
 xen/arch/arm/include/asm/atomic.h        | 2 +-
 xen/arch/arm/include/asm/regs.h          | 2 +-
 xen/arch/x86/boot/reloc.c                | 2 +-
 xen/arch/x86/include/asm/atomic.h        | 8 ++++----
 xen/arch/x86/platform_hypercall.c        | 2 +-
 xen/drivers/passthrough/amd/iommu_acpi.c | 2 +-
 7 files changed, 10 insertions(+), 10 deletions(-)

-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 16:30:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 16:30:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640825.999575 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6Z4G-00026c-VC; Fri, 24 Nov 2023 16:30:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640825.999575; Fri, 24 Nov 2023 16:30: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 1r6Z4G-00024o-OQ; Fri, 24 Nov 2023 16:30:12 +0000
Received: by outflank-mailman (input) for mailman id 640825;
 Fri, 24 Nov 2023 16:30: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6Z4F-0000du-3X
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 16:30:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb561178-8ae6-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 17:30:08 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 003AA4EE0C8F;
 Fri, 24 Nov 2023 17:30:07 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb561178-8ae6-11ee-9b0e-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	maria.celeste.cesario@bugseng.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>,
	Simone Ballarin <simone.ballarin@bugseng.com>
Subject: [PATCH 4/5] x86/atomic: address violations of MISRA C:2012 Rule 11.8
Date: Fri, 24 Nov 2023 17:29:18 +0100
Message-Id: <0224699e85baac395e47a1d5d89972d9d0284e85.1700842832.git.maria.celeste.cesario@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>

Edit casts that unnecessarily remove const qualifiers
to comply with Rule 11.8.
The type of the provided pointer may be const qualified.
No functional change.

Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
---
 xen/arch/x86/include/asm/atomic.h | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/xen/arch/x86/include/asm/atomic.h b/xen/arch/x86/include/asm/atomic.h
index 27aad43aaa..16bd0ebfd7 100644
--- a/xen/arch/x86/include/asm/atomic.h
+++ b/xen/arch/x86/include/asm/atomic.h
@@ -51,10 +51,10 @@ void __bad_atomic_size(void);
     unsigned long x_;                                     \
     CLANG_DISABLE_WARN_GCC_COMPAT_START                   \
     switch ( sizeof(*(p)) ) {                             \
-    case 1: x_ = read_u8_atomic((uint8_t *)(p)); break;   \
-    case 2: x_ = read_u16_atomic((uint16_t *)(p)); break; \
-    case 4: x_ = read_u32_atomic((uint32_t *)(p)); break; \
-    case 8: x_ = read_u64_atomic((uint64_t *)(p)); break; \
+    case 1: x_ = read_u8_atomic((const uint8_t *)(p)); break;   \
+    case 2: x_ = read_u16_atomic((const uint16_t *)(p)); break; \
+    case 4: x_ = read_u32_atomic((const uint32_t *)(p)); break; \
+    case 8: x_ = read_u64_atomic((const uint64_t *)(p)); break; \
     default: x_ = 0; __bad_atomic_size(); break;          \
     }                                                     \
     CLANG_DISABLE_WARN_GCC_COMPAT_END                     \
-- 
2.40.0



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 16:37:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 16:37:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640848.999585 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6ZAw-00063b-LS; Fri, 24 Nov 2023 16:37:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640848.999585; Fri, 24 Nov 2023 16: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 1r6ZAw-000635-IE; Fri, 24 Nov 2023 16:37:06 +0000
Received: by outflank-mailman (input) for mailman id 640848;
 Fri, 24 Nov 2023 16: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 1r6ZAu-0005vm-V1; Fri, 24 Nov 2023 16:37: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 1r6ZAu-00012g-FC; Fri, 24 Nov 2023 16:37: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 1r6ZAt-000224-UG; Fri, 24 Nov 2023 16:37:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6ZAt-0006WT-TQ; Fri, 24 Nov 2023 16:37: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=msGUASBjBODItL056Xzwhj3RhDaJVQjAbTOSu3I2j9E=; b=SjcegKjJgOiasT97QPmECgomma
	RGuufRa3cKJjiOkGeeVyiisUUGrSNxR+5dOk/gnZImYteclbRESqLoZG1jZpLxdHR7SgwAfIkBjt3
	S4JcRWxwBRFvr+s8hcVk+bUwstxoIHdc8ohCcxf75rNgd6D8IaHZfPSPAcbxNdeqil4Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183848-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183848: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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-arndale:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=d3fa86b1a7b4cdc4367acacea16b72e0a200b3d7
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Nov 2023 16:37:03 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  16 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-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     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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                d3fa86b1a7b4cdc4367acacea16b72e0a200b3d7
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    8 days
Failing since        183773  2023-11-16 13:12:48 Z    8 days   18 attempts
Testing same since   183848  2023-11-23 23:44:16 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Elder <elder@linaro.org>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  Ani Sinha <anisinha@redhat.com>
  Anthony Iliopoulos <ailiop@suse.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Bibo Mao <maobibo@loongson.cn>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chen Yu <yu.c.chen@intel.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  D. Wythe <alibuda@linux.alibaba.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Dexuan Cui <decui@microsoft.com>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Ferry Meng <mengferry@linux.alibaba.com>
  Gal Pressman <gal@nvidia.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gerd Bayer <gbayer@linux.ibm.com>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Haiyang Zhang <haiyangz@microsoft.com>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hans de Goede <hdegoede@redhat.com>
  Hao Ge <gehao@kylinos.cn>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herb Wei <weihao.bj@ieisystem.com>
  Hou Tao <houtao1@huawei.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Ivan Vecera <ivecera@redhat.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jann Horn <jannh@google.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jean Delvare <jdelvare@suse.de>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jiawen Wu <jiawenwu@trustnetic.com>
  Jijie Shao <shaojijie@huawei.com>
  Jingbo Xu <jefflexu@linux.alibaba.com>
  Jithu Joseph <jithu.joseph@intel.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kunwu Chan <chentao@kylinos.cn>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Lech Perczak <lech.perczak@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Long Li <longli@microsoft.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nguyen Dinh Phi <phind.uet@gmail.com>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nilesh Javali <njavali@marvell.com>
  Oliver Neukum <oneukum@suse.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Peilin Ye <peilin.ye@bytedance.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Quinn Tran <qutran@marvell.com>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Raju Rangoju <Raju.Rangoju@amd.com>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  Saurabh Sengar <ssengar@linux.microsoft.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Simon Glass <sjg@chromium.org>
  Simon Horman <horms@kernel.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stephen Hemminger <stephen@networkplumber.org>
  Steve French <stfrench@microsoft.com>
  Stuart Hayhurst <stuart.a.hayhurst@gmail.com>
  Suman Ghosh <sumang@marvell.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uros Bizjak <ubizjak@gmail.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  WANG Rui <wangrui@loongson.cn>
  Wei Liu <wei.liu@kernel.org>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yanteng Si <siyanteng@loongson.cn>
  Yi Zhang <yi.zhang@redhat.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 10668 lines long.)


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 17:30:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 17:30:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640858.999595 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6a0d-0002Yh-Kf; Fri, 24 Nov 2023 17:30:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640858.999595; Fri, 24 Nov 2023 17:30: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 1r6a0d-0002Ya-I9; Fri, 24 Nov 2023 17:30:31 +0000
Received: by outflank-mailman (input) for mailman id 640858;
 Fri, 24 Nov 2023 17:30: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6a0c-0002YN-KP
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 17:30:30 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2912e1dd-8aef-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 18:30:28 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id BD4C74EE074E;
 Fri, 24 Nov 2023 18:30:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2912e1dd-8aef-11ee-98e2-6d05b1d4d9a1
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@bugseng.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>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [XEN PATCH v2 2/3] xen/arm: add SAF deviation for debugging and logging effects
Date: Fri, 24 Nov 2023 18:29:42 +0100
Message-Id: <761ce615438312ca5d37fb8829a0ba903375392f.1700844359.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700844359.git.simone.ballarin@bugseng.com>
References: <cover.1700844359.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rule 13.1: Initializer lists shall not contain persistent side effects

Effects caused by debug/logging macros and functions (like ASSERT, __bad_atomic_size,
LOG, etc ...) that crash execution or produce logs are not dangerous in initializer
lists. The evaluation order in abnormal conditions is not relevant. Evaluation order
of logging effects is always safe.

This patch deviates violations using SAF commits caused by debug/logging macros and
functions.

Asm volatile statements in initializer lists that do not perform any persistent side
effect are safe: this patch deviates violations caused by uses of the current macro
(that contains an asm volatile) in initializer lists.

No functional changes.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

---
Changes in v2:
New patch based on the discussion for "xen/arm: address violations of MISRA C:2012 Rule 13.1".
---
 docs/misra/safe.json     | 16 ++++++++++++++++
 xen/arch/arm/device.c    |  1 +
 xen/arch/arm/guestcopy.c |  4 ++++
 xen/arch/x86/hvm/hvm.c   |  1 +
 xen/common/sched/core.c  |  3 +++
 5 files changed, 25 insertions(+)

diff --git a/docs/misra/safe.json b/docs/misra/safe.json
index 952324f85c..69ab526084 100644
--- a/docs/misra/safe.json
+++ b/docs/misra/safe.json
@@ -28,6 +28,22 @@
         },
         {
             "id": "SAF-3-safe",
+            "analyser": {
+                "eclair": "MC3R1.R13.1"
+            },
+            "name": "MC3R1.R13.1: effects for debugging and logging",
+            "text": "Effects for debugging and loggings reasons that crash execution or produce logs are allowed in initializer lists. The evaluation order in abnormal conditions is not relevant."
+        },
+        {
+            "id": "SAF-4-safe",
+            "analyser": {
+                "eclair": "MC3R1.R13.1"
+            },
+            "name": "MC3R1.R13.1: volatile asm statements that do not perform any persistent side effect",
+            "text": "Volatile asm statements in an initializer list if do not perform persistent side effects are safe."
+        },
+        {
+            "id": "SAF-5-safe",
             "analyser": {},
             "name": "Sentinel",
             "text": "Next ID to be used"
diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 1f631d3274..fa331f164d 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -331,6 +331,7 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
         .p2mt = p2mt,
         .skip_mapping = !own_device ||
                         (is_pci_passthrough_enabled() &&
+                        /* SAF-3-safe effects for debugging/logging reasons are safe */
                         (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),
         .iomem_ranges = iomem_ranges,
         .irq_ranges = irq_ranges
diff --git a/xen/arch/arm/guestcopy.c b/xen/arch/arm/guestcopy.c
index 6716b03561..31b809ea08 100644
--- a/xen/arch/arm/guestcopy.c
+++ b/xen/arch/arm/guestcopy.c
@@ -110,18 +110,21 @@ static unsigned long copy_guest(void *buf, uint64_t addr, unsigned int len,
 unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
 {
     return copy_guest((void *)from, (vaddr_t)to, len,
+                      /* SAF-4-safe No persistent side effects */
                       GVA_INFO(current), COPY_to_guest | COPY_linear);
 }
 
 unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
                                              unsigned int len)
 {
+    /* SAF-4-safe No persistent side effects */
     return copy_guest((void *)from, (vaddr_t)to, len, GVA_INFO(current),
                       COPY_to_guest | COPY_flush_dcache | COPY_linear);
 }
 
 unsigned long raw_clear_guest(void *to, unsigned int len)
 {
+    /* SAF-4-safe No persistent side effects */
     return copy_guest(NULL, (vaddr_t)to, len, GVA_INFO(current),
                       COPY_to_guest | COPY_linear);
 }
@@ -129,6 +132,7 @@ unsigned long raw_clear_guest(void *to, unsigned int len)
 unsigned long raw_copy_from_guest(void *to, const void __user *from,
                                   unsigned int len)
 {
+    /* SAF-4-safe No persistent side effects */
     return copy_guest(to, (vaddr_t)from, len, GVA_INFO(current),
                       COPY_from_guest | COPY_linear);
 }
diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
index 35a30df3b1..24fd02b363 100644
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -1700,6 +1700,7 @@ void hvm_hlt(unsigned int eflags)
 
     do_sched_op(SCHEDOP_block, guest_handle_from_ptr(NULL, void));
 
+    /* SAF-3-safe effects for debugging/logging reasons are safe */
     HVMTRACE_1D(HLT, /* pending = */ vcpu_runnable(curr));
 }
 
diff --git a/xen/common/sched/core.c b/xen/common/sched/core.c
index eba0cea4bb..b1b94c8689 100644
--- a/xen/common/sched/core.c
+++ b/xen/common/sched/core.c
@@ -1517,6 +1517,7 @@ long vcpu_yield(void)
 
     SCHED_STAT_CRANK(vcpu_yield);
 
+    /* SAF-4-safe No persistent side effects */
     TRACE_2D(TRC_SCHED_YIELD, current->domain->domain_id, current->vcpu_id);
     raise_softirq(SCHEDULE_SOFTIRQ);
     return 0;
@@ -1895,6 +1896,7 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( copy_from_guest(&sched_shutdown, arg, 1) )
             break;
 
+        /* SAF-4-safe No persistent side effects */
         TRACE_3D(TRC_SCHED_SHUTDOWN,
                  current->domain->domain_id, current->vcpu_id,
                  sched_shutdown.reason);
@@ -1912,6 +1914,7 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
         if ( copy_from_guest(&sched_shutdown, arg, 1) )
             break;
 
+        /* SAF-4-safe No persistent side effects */
         TRACE_3D(TRC_SCHED_SHUTDOWN_CODE,
                  d->domain_id, current->vcpu_id, sched_shutdown.reason);
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 17:30:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 17:30:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640860.999612 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6a0g-0002rA-6d; Fri, 24 Nov 2023 17:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640860.999612; Fri, 24 Nov 2023 17: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 1r6a0g-0002qs-0d; Fri, 24 Nov 2023 17:30:34 +0000
Received: by outflank-mailman (input) for mailman id 640860;
 Fri, 24 Nov 2023 17:30: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6a0e-0002YK-1z
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 17:30:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 288bb92e-8aef-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 18:30:27 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 4C8A84EE0740;
 Fri, 24 Nov 2023 18:30:27 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 288bb92e-8aef-11ee-9b0e-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v2 1/3] automation/eclair: tag function calls to address violations of MISRA C:2012 Rule 13.1
Date: Fri, 24 Nov 2023 18:29:41 +0100
Message-Id: <fc3e04e5d0432b280110414136f0587a1433d9b0.1700844359.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700844359.git.simone.ballarin@bugseng.com>
References: <cover.1700844359.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rule 13.1: Initializer lists shall not contain persistent side effects

Invocations of functions in initializer lists cause violations of rule
13.1 if the called functions are not tagged with __attribute_pure__ or
__attribute_const__ as they can produce persistent side effects.

Handling these violations with  attributes is not always possible: the
pure and const attributes may cause unwanted and potentially dangerous
optimisations.

To avoid this problem ECLAIR allows using the same attributes in the
-call_properties setting. Additionally, it adds the noeffect attribute
with the following definition:
"like pure but can also read volatile variable not triggering side effects"

These patch tags some functions used in initializer lists to address
violations of Rule 13.1.

No functional changes.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

---
Changes in v2:
New patch partly based on "xen/arm: address violations of MISRA C:2012 Rule 13.1"
and "xen/include: add pure and const attributes". This new patch uses
ECL tagging instead of compiler attributes.
---
 .../ECLAIR/call_properties.ecl                | 22 +++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/call_properties.ecl b/automation/eclair_analysis/ECLAIR/call_properties.ecl
index 3f7794bf8b..c2b2a6182e 100644
--- a/automation/eclair_analysis/ECLAIR/call_properties.ecl
+++ b/automation/eclair_analysis/ECLAIR/call_properties.ecl
@@ -73,6 +73,17 @@
 -call_properties+={"macro(^va_start$)", {"pointee_write(1=always)", "pointee_read(1=never)", "taken()"}}
 -call_properties+={"macro(^memcmp$)", {"pointee_write(1..2=never)", "taken()"}}
 -call_properties+={"macro(^memcpy$)", {"pointee_write(1=always&&2..=never)", "pointee_read(1=never&&2..=always)", "taken()"}}
+-call_properties+={"name(get_cpu_info)",{pure}}
+-call_properties+={"name(pdx_to_pfn)",{pure}}
+-call_properties+={"name(is_pci_passthrough_enabled)",{const}}
+-call_properties+={"name(get_cycles)", {"noeffect"}}
+-call_properties+={"name(msi_gflags)",{const}}
+-call_properties+={"name(hvm_save_size)",{pure}}
+-call_properties+={"name(cpu_has)",{pure}}
+-call_properties+={"name(boot_cpu_has)",{pure}}
+-call_properties+={"name(get_cpu_info)",{pure}}
+-call_properties+={"name(put_pte_flags)",{const}}
+-call_properties+={"name(is_pv_vcpu)",{pure}}
 
 -doc_begin="Property inferred as a consequence of the semantics of device_tree_get_reg"
 -call_properties+={"name(acquire_static_memory_bank)", {"pointee_write(4..=always)", "pointee_read(4..=never)", "taken()"}}
@@ -104,3 +115,14 @@ Furthermore, their uses do initialize the involved variables as needed by futher
 -call_properties+={"macro(^(__)?(raw_)?copy_from_(paddr|guest|compat)(_offset)?$)", {"pointee_write(1=always)", "pointee_read(1=never)", "taken()"}}
 -call_properties+={"macro(^(__)?copy_to_(guest|compat)(_offset)?$)", {"pointee_write(2=always)", "pointee_read(2=never)", "taken()"}}
 -doc_end
+
+-doc_begin="Functions generated by build_atomic_read cannot be considered pure
+since the input pointer is volatile, but they do not produce any persistent side
+effect."
+-call_properties+={"^read_u(8|16|32|64|int)_atomic.*$", {noeffect}}
+-doc_end
+
+-doc_begin="Functions generated by TYPE_SAFE are const."
+-call_properties+={"^(mfn|gfn|pfn)_x\\(.*$",{const}}
+-call_properties+={"^_(mfn|gfn|pfn)\\(.*$",{const}}
+-doc_end
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 17:30:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 17:30:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640859.999604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6a0f-0002nc-Qy; Fri, 24 Nov 2023 17:30:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640859.999604; Fri, 24 Nov 2023 17:30: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 1r6a0f-0002nV-OR; Fri, 24 Nov 2023 17:30:33 +0000
Received: by outflank-mailman (input) for mailman id 640859;
 Fri, 24 Nov 2023 17:30: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6a0d-0002YK-R9
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 17:30:31 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2861d191-8aef-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 18:30:27 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 4D9794EE073C;
 Fri, 24 Nov 2023 18:30:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2861d191-8aef-11ee-9b0e-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>
Subject: [XEN PATCH v2 0/3] xen: address violations of MISRA C:2012 Rule 13.1
Date: Fri, 24 Nov 2023 18:29:40 +0100
Message-Id: <cover.1700844359.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This series contains some changes and deviation to address
reports of MISRA C:2012 Rule 13.1:
Initializer lists shall not contain persistent side effects

An assignment has been moved outside the initializer lists, other
violations have been deviated with SAF comments.

Function calls do not necessarily have side-effects, in these cases this
patch proposes to add ECLAIR pure, const or noeffect attributes whenever
possible.

ECLAIR pure and const attributes have the same definition of the corresponding
GCC attributes, noeffect attribute has the following definition:
"like pure but can also read volatile variable not triggering side effects"

It has been decided to avoid GCC/clang attributes to avoid potentially
dangerous optimisations from the compiler.

Changes in v2:
- prefer ECLAIR attributes over GCC attributes;
- replace ECL deviations with equivalent SAF deviations;
- deviate violations caused by harmless volatile asm;
- deviate violations caused by debug and logging macros/functions.

Simone Ballarin (3):
  automation/eclair: tag function calls to address violations of MISRA
    C:2012 Rule 13.1
  xen/arm: add SAF deviation for debugging and logging effects
  xen: address violations of MISRA C:2012 Rule 13.1

 .../ECLAIR/call_properties.ecl                | 22 +++++++++++++++++++
 docs/misra/safe.json                          | 16 ++++++++++++++
 xen/arch/arm/device.c                         |  1 +
 xen/arch/arm/guestcopy.c                      |  4 ++++
 xen/arch/x86/hvm/hvm.c                        |  1 +
 xen/common/sched/core.c                       |  3 +++
 xen/drivers/char/ns16550.c                    |  6 +++--
 7 files changed, 51 insertions(+), 2 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 17:30:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 17:30:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640861.999617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6a0g-0002wB-FB; Fri, 24 Nov 2023 17:30:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640861.999617; Fri, 24 Nov 2023 17: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 1r6a0g-0002vB-7a; Fri, 24 Nov 2023 17:30:34 +0000
Received: by outflank-mailman (input) for mailman id 640861;
 Fri, 24 Nov 2023 17:30: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6a0e-0002YK-97
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 17:30:32 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 29794bea-8aef-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 18:30:29 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 9D7834EE0747;
 Fri, 24 Nov 2023 18:30:28 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29794bea-8aef-11ee-9b0e-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@bugseng.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>,
	Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Subject: [XEN PATCH v2 3/3] xen: address violations of MISRA C:2012 Rule 13.1
Date: Fri, 24 Nov 2023 18:29:43 +0100
Message-Id: <771a6f804f4e7dda3897359b57d1d14c2878ea16.1700844359.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1700844359.git.simone.ballarin@bugseng.com>
References: <cover.1700844359.git.simone.ballarin@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Rule 13.1: Initializer lists shall not contain persistent side effects

The assignment operation in:

.irq = rc = uart->irq,

is a persistent side effect in a struct initializer list.

This patch avoids rc assignment and directly uses uart->irq
in the following if statement.

No functional changes.

Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

---
Changes in v2:
- avoid assignment of rc;
- drop changes in vcpu_yield(void).
---
 xen/drivers/char/ns16550.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c
index ddf2a48be6..644a3192bb 100644
--- a/xen/drivers/char/ns16550.c
+++ b/xen/drivers/char/ns16550.c
@@ -445,11 +445,13 @@ static void __init cf_check ns16550_init_postirq(struct serial_port *port)
             struct msi_info msi = {
                 .sbdf = PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[1],
                                  uart->ps_bdf[2]),
-                .irq = rc = uart->irq,
+                .irq = uart->irq,
                 .entry_nr = 1
             };
 
-            if ( rc > 0 )
+            rc = 0;
+
+            if ( uart->irq > 0 )
             {
                 struct msi_desc *msi_desc = NULL;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 17:53:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 17:53:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640877.999635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6aNB-0000of-94; Fri, 24 Nov 2023 17:53:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640877.999635; Fri, 24 Nov 2023 17:53: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 1r6aNB-0000oY-6C; Fri, 24 Nov 2023 17:53:49 +0000
Received: by outflank-mailman (input) for mailman id 640877;
 Fri, 24 Nov 2023 17:53: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=6Spf=HF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6aNA-0000oS-4E
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 17:53:48 +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 6a296767-8af2-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 18:53:46 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-332ca7f95e1so1408983f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 09:53:46 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t20-20020adfa2d4000000b00332cbece829sm4859115wra.59.2023.11.24.09.53.45
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 09:53:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a296767-8af2-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700848426; x=1701453226; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=9PVSYbMiYRTryxGmNHXxEZwteVuSejVZGm7hB10ECB0=;
        b=umpMHRzRbqaBCkPRrZkJwSRBcyc9wkT7FCL+I9Keqk9EkvM8HCs4QCcxe4aF/cJ7lN
         3x3UZgcm97ooHHEtU+nNTTFcbGRw2IDDM4d9WEFUXEZ44V72kN8qOoDftM9+WhhqQmer
         F/wH6SxSMMMFWHHJKsV+5djhwzzY3XorPZl1I=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700848426; x=1701453226;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=9PVSYbMiYRTryxGmNHXxEZwteVuSejVZGm7hB10ECB0=;
        b=AXzfefh5TuiBlohmIcuIKWELXo4lGdvsp52TxY177NI1gx09Y5GfF1HHwMIsrUzr1r
         VzfkAyv9n7lKmYv50cL/IfGdD7JmmwHkXpwcLuCoR+4GEOE6Zlw7b3S6R++fDQEG2+I0
         kTCc1Xv6/NI8U0aYqoOTlfYlmOhZknuf9M8H8splu6/CHeIQg3x5KTrRLEdHBGCNyggS
         KkbQKG/cBPX3c2T8bkBqXq8/Yt+F9ZeOLdfqzl24/hjWoVkkDUnWaiceasXywWDt+qq7
         KkJ1WWL7pbXJaoSYfaV6seMk3LtLAD3itMAFNvbk/kAkDmGAFb4lxbEjJwEVWuR15cbs
         AdmQ==
X-Gm-Message-State: AOJu0Yx+fQfOeQD4dX3/srY1fpGP0IkkCm4pIdnfnYJxpv/ebS7WqW4N
	RGReShOn5Sg3mAcDOJ/scOjkNw==
X-Google-Smtp-Source: AGHT+IGergJ0yFAow9AAticP/arID+iq9Ni18FKhLzWdeJZm+t4Tl/Yvs8Scmnztl6+QdxYV/HOhYg==
X-Received: by 2002:a5d:51c5:0:b0:332:cfbc:cbd0 with SMTP id n5-20020a5d51c5000000b00332cfbccbd0mr3064326wrv.9.1700848425921;
        Fri, 24 Nov 2023 09:53:45 -0800 (PST)
Message-ID: <77cd9dd3-d4ce-4804-829f-41bab971adac@citrix.com>
Date: Fri, 24 Nov 2023 17:53:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/5] AMD/IOMMU: address violations of MISRA C:2012 Rule
 11.8
Content-Language: en-GB
To: Simone Ballarin <simone.ballarin@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, maria.celeste.cesario@bugseng.com,
 Jan Beulich <jbeulich@suse.com>
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
 <11fc193f35be188165294665b1e989b2db17a776.1700842832.git.maria.celeste.cesario@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <11fc193f35be188165294665b1e989b2db17a776.1700842832.git.maria.celeste.cesario@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/11/2023 4:29 pm, Simone Ballarin wrote:
> From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
>
> Add missing const qualifier in casting to comply with Rule 11.8.
> The type of the formal parameter ivhd_block is const qualified.
> No functional change.
>
> Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
> Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
> ---
>  xen/drivers/passthrough/amd/iommu_acpi.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/xen/drivers/passthrough/amd/iommu_acpi.c b/xen/drivers/passthrough/amd/iommu_acpi.c
> index 699d33f429..00923a6bb5 100644
> --- a/xen/drivers/passthrough/amd/iommu_acpi.c
> +++ b/xen/drivers/passthrough/amd/iommu_acpi.c
> @@ -1232,7 +1232,7 @@ static int __init get_last_bdf_ivhd(
>      while ( ivhd_block->header.length >=
>              (block_length + sizeof(struct acpi_ivrs_de_header)) )
>      {
> -        ivhd_device = (const void *)((u8 *)ivhd_block + block_length);
> +        ivhd_device = (const void *)((const uint8_t *)ivhd_block + block_length);

This we should simplify into just:

    ivhd_device = (const void *)ivhd_block + block_length;

We use this GCC extension in many other places too.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 17:56:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 17:56:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640879.999644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6aPu-0001yX-Lx; Fri, 24 Nov 2023 17:56:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640879.999644; Fri, 24 Nov 2023 17:56: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 1r6aPu-0001yQ-JT; Fri, 24 Nov 2023 17:56:38 +0000
Received: by outflank-mailman (input) for mailman id 640879;
 Fri, 24 Nov 2023 17:56: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=6Spf=HF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6aPt-0001wl-86
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 17:56:37 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cf7d5a64-8af2-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 18:56:36 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-32fdc5be26dso1278235f8f.2
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 09:56:36 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 k15-20020a5d628f000000b0033134ab9691sm4838717wru.57.2023.11.24.09.56.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 09:56:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cf7d5a64-8af2-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700848596; x=1701453396; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=q6ThfQWYpQpxgVWPFy3Li72hemEFQoaXfreBHLbqYV0=;
        b=NoEIBQifpI5NoJUhH+GQQNf6zkLYZPaFQb8gofVhoqsb4z92NLVOlcHBsVlZ3/JGfA
         +YSgF9S0WGHvv9+Ry3Iu0TlkSq+o4f9O9YNrbgT2EYMszxBYNLkeHZDpwn1Vbn5SuwhO
         07S3lDD3F43M15xurDbl00XLac41dI0sLOMU0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700848596; x=1701453396;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=q6ThfQWYpQpxgVWPFy3Li72hemEFQoaXfreBHLbqYV0=;
        b=EwfkA/xWQeVzaCIGgh8C8NkfjRE50YKI+W6KZO06Qu8hkD35vAgynQ4f8zF27Du259
         rvFAajNp8x8GdHjFH/QFwkZcuE/UCJbgdJK1ru693/KLeBGtuP5Q5zLWxKZCbYXgqXT3
         5kzSSOXiDoiTKEgM0ZDRR0Yg9Nkp2Gf7bsEbONksygvTQ+iXSV0FuEsXBpeGyqbw0MsX
         SgzC28q1VbcmI6qfaMHxD6ccANyvOIrvGXRLkWZId/zLPadGxCePn+9JDelifycHPQs/
         WnsFGGPH0mAgIcHccCf8KNIKjErPVDQypu7BPFV8+6QRGLwy9ZrWx2UMiP7Wzt5NFjQ3
         OvYg==
X-Gm-Message-State: AOJu0YwPO8hwpPla0QQSWmVmuJPyT3PydlvrGiMkn7vvpyAPDPMq+Sn9
	Q3MC1eBBSyADkKGFFn6wjzVlL33n1AFcLy07Ndc=
X-Google-Smtp-Source: AGHT+IFmf/dnMTnPJ6gyTTkQqLc/mym2mfVBbaIZNZjt9kme4BGKdnKDgnpHkb9pZ91qfVpBAUC0vw==
X-Received: by 2002:adf:e60a:0:b0:332:e692:a127 with SMTP id p10-20020adfe60a000000b00332e692a127mr3381821wrm.50.1700848595914;
        Fri, 24 Nov 2023 09:56:35 -0800 (PST)
Message-ID: <b8e0926a-bb63-4227-a5d5-3fb9f4a1bf49@citrix.com>
Date: Fri, 24 Nov 2023 17:56:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/5] xen: address violations of MISRA C:2012 Rule 11.8
Content-Language: en-GB
To: Simone Ballarin <simone.ballarin@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, maria.celeste.cesario@bugseng.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 24/11/2023 4:29 pm, Simone Ballarin wrote:
> Maria Celeste Cesario (5):
>   x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
>   x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
>   AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
>   x86/atomic: address violations of MISRA C:2012 Rule 11.8
>   xen/arm: address violations of MISRA C:2012 Rule 11.8

Patches 1,2,4 Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Patch 3 I'm happy to fix on commit if you're happy with the suggestion.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 17:59:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 17:59:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640883.999655 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6aSj-0003FN-8C; Fri, 24 Nov 2023 17:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640883.999655; Fri, 24 Nov 2023 17: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 1r6aSj-0003FG-5X; Fri, 24 Nov 2023 17:59:33 +0000
Received: by outflank-mailman (input) for mailman id 640883;
 Fri, 24 Nov 2023 17:59: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=AaTM=HF=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6aSh-0003F8-Ss
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 17:59:31 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 36b713ef-8af3-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 18:59:29 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-40859dee28cso16954455e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 09:59:29 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n8-20020a05600c3b8800b0040b398f0585sm3170863wms.9.2023.11.24.09.59.28
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 09:59:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 36b713ef-8af3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700848769; x=1701453569; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=3wxAXdmSwpm2R9yrwS5cfY6Sni7L/o0evldgQ9HaTnE=;
        b=dJNpxXcabREHs+AS0/j4m/XqVwMV2QLfSYmC2z2hq/UYwgdDZpfnZp89d8lT4NtHOn
         +5Z+z8VW+n3wovwCLahKPm1GG08F5nYnkOmnS1ZggnJl+GysGTAjrzd+QJnZOuiRtNUU
         xAr5PsE0S/BQl9smsd103B/1kimA10AyVu7ak=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700848769; x=1701453569;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=3wxAXdmSwpm2R9yrwS5cfY6Sni7L/o0evldgQ9HaTnE=;
        b=CggpCP2C7tdxpYW0+J+Vt+gGjCFlKTkGyOGFKM7AR47ZWSFnApWSr9G7DuGn4CFnK2
         4q5AGzrOFmgom6nQYn6v6LYp80yZWiBMEjxsALjeEkpgFd/xqvSLxzHAnUFXJEhpyjek
         eaR/XZHGHqbRpCGPk8BSF+/Bh2uOi6WWAjzRQH1VU3K99MLvmtSVinoiuYf8ljTjRHQZ
         PEmI346IJ9lfli1PVQ+12C4zqM2FcqB4q6Au0mhapW2DkvZpRICDdnhgGMoFKaQFZR+5
         nnq2rm94+o8mKQqQ0LdAIO+P8v14VoIbV6nBcymn9KVMDCPbusbdvCNmM/u/pUzx0Vdf
         CjSQ==
X-Gm-Message-State: AOJu0YzYb/wgdF+ccPXlZd59Q/NBE6QKyfuwvPIDzxLO6x0Dge4hG8JU
	pUbRKKry8QBKfcjvoNFZ73v5Xw==
X-Google-Smtp-Source: AGHT+IFn5al/rk794m0ld3VYp4vOLBziP8b1o9A9Nik65/1XKuJzjqip3xFN159waUc9MNqWvbwTpg==
X-Received: by 2002:a05:600c:45cf:b0:40a:25f1:7a28 with SMTP id s15-20020a05600c45cf00b0040a25f17a28mr2728598wmo.40.1700848768986;
        Fri, 24 Nov 2023 09:59:28 -0800 (PST)
Message-ID: <1d575e42-9b85-40da-8d96-0932ce98424f@cloud.com>
Date: Fri, 24 Nov 2023 17:59:26 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/13] xen/spinlock: reduce lock profile ifdefs
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-3-jgross@suse.com>
Content-Language: en-US
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <20231120113842.5897-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 20/11/2023 11:38, Juergen Gross wrote:> With some small adjustments to the LOCK_PROFILE_* macros some #ifdefs
> can be dropped from spinlock.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - new patch
> V3:
> - add variable name to macros parameter (Jan Beulich)
> ---
>   xen/common/spinlock.c | 49 +++++++++++++++++++------------------------
>   1 file changed, 21 insertions(+), 28 deletions(-)
> 
> diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
> index d7194e518c..ce18fbdd8a 100644
> --- a/xen/common/spinlock.c
> +++ b/xen/common/spinlock.c
> @@ -267,25 +267,28 @@ void spin_debug_disable(void)
>           lock->profile->time_hold += NOW() - lock->profile->time_locked;      \
>           lock->profile->lock_cnt++;                                           \
>       }
> -#define LOCK_PROFILE_VAR    s_time_t block = 0
> -#define LOCK_PROFILE_BLOCK  block = block ? : NOW();
> -#define LOCK_PROFILE_GOT                                                     \
> +#define LOCK_PROFILE_VAR(var, val)    s_time_t var = (val)
> +#define LOCK_PROFILE_BLOCK(var     )  var = var ? : NOW()nit: spaces before the closing parenthesis

And that's as far as I can complain on your changes. As for things that were
already present...

> +#define LOCK_PROFILE_BLKACC(tst, val)                                        \
> +    if ( tst )                                                               \
> +    {                                                                        \
> +        lock->profile->time_block += lock->profile->time_locked - (val);     \
> +        lock->profile->block_cnt++;                                          \
> +    }> +#define LOCK_PROFILE_GOT(val)                                                \
>       if ( lock->profile )                                                     \
>       {                                                                        \
>           lock->profile->time_locked = NOW();                                  \
> -        if ( block )                                                         \
> -        {                                                                    \
> -            lock->profile->time_block += lock->profile->time_locked - block; \
> -            lock->profile->block_cnt++;                                      \
> -        }                                                                    \
> +        LOCK_PROFILE_BLKACC(val, val);                                       \
>       }... these 2 probably want `lock` to be the first argument so they don't rely on
the variable "lock" to be in context, and...

>   
>   #else
>   
>   #define LOCK_PROFILE_REL
> -#define LOCK_PROFILE_VAR
> -#define LOCK_PROFILE_BLOCK
> -#define LOCK_PROFILE_GOT
> +#define LOCK_PROFILE_VAR(var, val)
> +#define LOCK_PROFILE_BLOCK(var)
> +#define LOCK_PROFILE_BLKACC(tst, val)
> +#define LOCK_PROFILE_GOT(val)... I'd feel better if these where actually statements rather than fully empty. i.e:
(void)0, or something like that. Then they would behave well in conditionals without
braces.

>   
>   #endif
>   
> @@ -308,7 +311,7 @@ static void always_inline spin_lock_common(spinlock_t *lock,
>                                              void (*cb)(void *), void *data)
>   {
>       spinlock_tickets_t tickets = SPINLOCK_TICKET_INC;
> -    LOCK_PROFILE_VAR;
> +    LOCK_PROFILE_VAR(block, 0);
>   
>       check_lock(&lock->debug, false);
>       preempt_disable();
> @@ -316,14 +319,14 @@ static void always_inline spin_lock_common(spinlock_t *lock,
>                                              tickets.head_tail);
>       while ( tickets.tail != observe_head(&lock->tickets) )
>       {
> -        LOCK_PROFILE_BLOCK;
> +        LOCK_PROFILE_BLOCK(block);
>           if ( cb )
>               cb(data);
>           arch_lock_relax();
>       }
>       arch_lock_acquire_barrier();
>       got_lock(&lock->debug);
> -    LOCK_PROFILE_GOT;
> +    LOCK_PROFILE_GOT(block);
>   }
>   
>   void _spin_lock(spinlock_t *lock)
> @@ -411,19 +414,15 @@ int _spin_trylock(spinlock_t *lock)
>        * arch_lock_acquire_barrier().
>        */
>       got_lock(&lock->debug);
> -#ifdef CONFIG_DEBUG_LOCK_PROFILE
> -    if ( lock->profile )
> -        lock->profile->time_locked = NOW();
> -#endif
> +    LOCK_PROFILE_GOT(0);
> +
>       return 1;
>   }
>   
>   void _spin_barrier(spinlock_t *lock)
>   {
>       spinlock_tickets_t sample;
> -#ifdef CONFIG_DEBUG_LOCK_PROFILE
> -    s_time_t block = NOW();
> -#endif
> +    LOCK_PROFILE_VAR(block, NOW());
>   
>       check_barrier(&lock->debug);
>       smp_mb();
> @@ -432,13 +431,7 @@ void _spin_barrier(spinlock_t *lock)
>       {
>           while ( observe_head(&lock->tickets) == sample.head )
>               arch_lock_relax();
> -#ifdef CONFIG_DEBUG_LOCK_PROFILE
> -        if ( lock->profile )
> -        {
> -            lock->profile->time_block += NOW() - block;
> -            lock->profile->block_cnt++;
> -        }
> -#endif
> +        LOCK_PROFILE_BLKACC(lock->profile, block);
>       }
>       smp_mb();
>   }
Besides the first nit, the others were already present and
the usage of the macros is very localised, so take it or
leave it. It's fairly inconsequential. Otherwise LGTM.


With the 1st nit sorted

   Reviewed-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 17:59:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 17:59:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640884.999664 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6aT8-0003dz-HA; Fri, 24 Nov 2023 17:59:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640884.999664; Fri, 24 Nov 2023 17: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 1r6aT8-0003ds-EB; Fri, 24 Nov 2023 17:59:58 +0000
Received: by outflank-mailman (input) for mailman id 640884;
 Fri, 24 Nov 2023 17:59: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 1r6aT7-0003dS-FC; Fri, 24 Nov 2023 17:59: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 1r6aT7-0002Sc-8W; Fri, 24 Nov 2023 17:59: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 1r6aT6-0006PT-Qc; Fri, 24 Nov 2023 17:59:56 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6aT6-0002eS-QC; Fri, 24 Nov 2023 17: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=mP6Qick2HgdcqyUlzK1jsS296Nv60V2052rBWklYSNw=; b=PLJDnoa9baKcs+o5s2+ARa5fK8
	06sYCt5SjS0SvnC7gBipH8ftRVMLunzta+Wui47TSSGc7+JC1IEzwqOlxp6Ny2pv2iWpas51k5GBY
	ySeMusxBGb4hTzC2YXiIV2uY9htLYJyRyRKGXNRiQGuWoTfpOERNmKtx45qgIubQ62lU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183850-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183850: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=717790adde11c08246377188e0bef4e1720262e1
X-Osstest-Versions-That:
    libvirt=7f31ee5cf5b137275697bd8ca17c7ae591261b87
From: osstest service owner <osstest-admin@xenproject.org>
Date: Fri, 24 Nov 2023 17:59:56 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183819
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183819
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183819
 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-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-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-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     16 saverestore-support-check    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-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 saverestore-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-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass
 test-armhf-armhf-libvirt     15 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              717790adde11c08246377188e0bef4e1720262e1
baseline version:
 libvirt              7f31ee5cf5b137275697bd8ca17c7ae591261b87

Last test of basis   183819  2023-11-22 04:20:25 Z    2 days
Testing same since   183850  2023-11-24 04:18:49 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@redhat.com>
  Peter Krempa <pkrempa@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   7f31ee5cf5..717790adde  717790adde11c08246377188e0bef4e1720262e1 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 18:12:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 18:12:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640893.999675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6af0-0007Qd-In; Fri, 24 Nov 2023 18:12:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640893.999675; Fri, 24 Nov 2023 18: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 1r6af0-0007QW-GC; Fri, 24 Nov 2023 18:12:14 +0000
Received: by outflank-mailman (input) for mailman id 640893;
 Fri, 24 Nov 2023 18:12: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=AaTM=HF=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6aez-0007QQ-E9
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 18:12:13 +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 fd33efc4-8af4-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 19:12:12 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40b34563987so12890125e9.1
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 10:12:12 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l6-20020a05600c4f0600b0040b3632e993sm5800002wmq.46.2023.11.24.10.12.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 10:12:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd33efc4-8af4-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700849531; x=1701454331; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=o+/f84opKH9lWCplODjnO9oWR+dC+5Qdntt28d/NUXM=;
        b=WaLvWBM61mXULYdfOrN3B2poR3HMbMoBra5rUbh6OQWkbSFxH1MppqQuY3ZdbCmVGG
         bBaY0T+PmDLscSN697bN6BUTg4OG9LHrVfIWrEPc4/vS9Rgge7ki6UUHq/AvhdqrWGok
         Udbpy2psg5CJg49aCqcg4MGVllKos5gy6Y/PU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700849531; x=1701454331;
        h=content-transfer-encoding:in-reply-to:references:cc:to:from
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=o+/f84opKH9lWCplODjnO9oWR+dC+5Qdntt28d/NUXM=;
        b=jK9VQF+Y9QOsyMkL2TjCeXKQnUnnie1PujksjRi0WJnPADEQ2wrA4EaiADOAH7EJye
         FdEXgW6EoQq5O6BH4gC9ERztZcFhxgGqRxt97QJFIUv2GFhP8dFtgi0sBtTK9Xgvpq3L
         +hGPVZx2Uk0BN5jJBAxkBkjEBxDdx0y/RrULASXhDX6hlTNF9lAYbxrA8j6WqoV7T7Be
         9wxy5E583pS+NKhME1snQpCTqelZH5S/uk0qgIQ9ZKSxd0frQLNhqkeWcymIzFrR0qDp
         J2KeRsxaHGDhVOea5zRuEFTx3hlNbxNzwKjO/sM49WNsZSiK0YnezgMCPAMIsL7Ep4Vj
         IBUg==
X-Gm-Message-State: AOJu0Yxgc9P5RUQ+FHyLky+zFjTNr2+9Gl3fKswgZAWH1rfAlCKbeBHM
	AFQkJaZqQoz/oh6kUt5ln0rYzw==
X-Google-Smtp-Source: AGHT+IGSwOU0zBEYtx1nxsjqfZOVrGVE2NBsptutiYIhQCZqnLWi5wgm36nRaS29+aIcCU6cU3wAoQ==
X-Received: by 2002:a05:600c:274e:b0:406:5a14:5c1e with SMTP id 14-20020a05600c274e00b004065a145c1emr6986007wmw.1.1700849531560;
        Fri, 24 Nov 2023 10:12:11 -0800 (PST)
Message-ID: <e52a4b10-c0c9-40fa-bd39-65e804b9605d@cloud.com>
Date: Fri, 24 Nov 2023 18:12:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/13] xen/spinlock: reduce lock profile ifdefs
Content-Language: en-US
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-3-jgross@suse.com>
 <1d575e42-9b85-40da-8d96-0932ce98424f@cloud.com>
In-Reply-To: <1d575e42-9b85-40da-8d96-0932ce98424f@cloud.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24/11/2023 17:59, Alejandro Vallejo wrote:
> Hi,
> 
> On 20/11/2023 11:38, Juergen Gross wrote:> With some small adjustments 
> to the LOCK_PROFILE_* macros some #ifdefs
>> can be dropped from spinlock.c.
>>
>> Signed-off-by: Juergen Gross <jgross@suse.com>
>> ---
>> V2:
>> - new patch
>> V3:
>> - add variable name to macros parameter (Jan Beulich)
>> ---
>>   xen/common/spinlock.c | 49 +++++++++++++++++++------------------------
>>   1 file changed, 21 insertions(+), 28 deletions(-)
>>
>> diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
>> index d7194e518c..ce18fbdd8a 100644
>> --- a/xen/common/spinlock.c
>> +++ b/xen/common/spinlock.c
>> @@ -267,25 +267,28 @@ void spin_debug_disable(void)
>>           lock->profile->time_hold += NOW() - 
>> lock->profile->time_locked;      \
>>           
>> lock->profile->lock_cnt++;                                           \
>>       }
>> -#define LOCK_PROFILE_VAR    s_time_t block = 0
>> -#define LOCK_PROFILE_BLOCK  block = block ? : NOW();
>> -#define 
>> LOCK_PROFILE_GOT                                                     \
>> +#define LOCK_PROFILE_VAR(var, val)    s_time_t var = (val)
>> +#define LOCK_PROFILE_BLOCK(var     )  var = var ? : NOW()nit: spaces 
>> before the closing parenthesis

Ugh, I'm changing email clients and formatting seems have gone haywire.
The first line of each comment is inlined with the quote they refer to.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 19:00:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 19:00:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640897.999685 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6bP8-0001pp-2V; Fri, 24 Nov 2023 18:59:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640897.999685; Fri, 24 Nov 2023 18: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 1r6bP7-0001pi-W5; Fri, 24 Nov 2023 18:59:53 +0000
Received: by outflank-mailman (input) for mailman id 640897;
 Fri, 24 Nov 2023 18:59: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=AaTM=HF=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6bP6-0001pc-Rx
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 18:59:52 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a538a13b-8afb-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 19:59:51 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-40b27726369so15571635e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 10:59:51 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 fa20-20020a05600c519400b0040b3e26872dsm773963wmb.8.2023.11.24.10.59.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 10:59:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a538a13b-8afb-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700852390; x=1701457190; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=+2EqA3WKOTSi5sA1kRGPuHa/SCPopUzZMkbh8doNGpM=;
        b=gLYerTWPlp5jp5BICpmfx3Fl6qXMyxajZMA5xiOCGCqa3/1A2cecbaQCcOGOJrK3GC
         p+SEIZjEkycA9kWjxnh4w9QR3NjtQu1gnFnVirtH18GL8kmTHGMcI8fBXsc6u7YBjcww
         FicI8BWRezlv83kP+sVdSyyhNfFuYnCGmgbSs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700852390; x=1701457190;
        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:subject:date:message-id:reply-to;
        bh=+2EqA3WKOTSi5sA1kRGPuHa/SCPopUzZMkbh8doNGpM=;
        b=BfcccvGVjWU/7gOLSmTpKy8SB5DKuFk0sErRp6c7HbP/Om8n58QLOQv6iH03k8ScfY
         qWSrGlcKKB8+kshL15y8XodADZmAcea4O7/DuBG1OLRI5HUIT6zE9huV147SIE4UivNp
         0VSaM3N97u4Z1xOXOfmp0LXRN4CTYZsGEJseylUfEoXcM3xahxM7ekqzs8nKTAThqSp1
         2dREkR9m7heCTDNQAZlpbT08Qu66pD1WDTh7X7HA+7BomIf3nV0+J6tUWz6DlYz7UtLo
         efnZpUQ9zcn9Rz9jUpNZAx7+SBFoc/afTKMSlukGzgtT0mbJdfTKN7dfQa99tDZ5ISLr
         hPWw==
X-Gm-Message-State: AOJu0Yzes4A+RIBeOucMWDTxhzaF1G5wFQAI1f7kTlI5J3kLkDDcnCe2
	X1p8/MN+yE2JBfe7+FYa9J37cA==
X-Google-Smtp-Source: AGHT+IHj/zvi6D47ADsJGM3PYFy56y/bmnIPWsH9JDgLsf9vuSH0jL4tRhy24u6JYTD3Ww4nMobCqA==
X-Received: by 2002:a05:600c:1c0d:b0:40b:3d92:de42 with SMTP id j13-20020a05600c1c0d00b0040b3d92de42mr1393465wms.8.1700852390488;
        Fri, 24 Nov 2023 10:59:50 -0800 (PST)
Message-ID: <e31f93a7-5270-4c09-8ada-c9bc24172c70@cloud.com>
Date: Fri, 24 Nov 2023 18:59:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/13] xen/spinlock: introduce new type for recursive
 spinlocks
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Paul Durrant <paul@xen.org>
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-5-jgross@suse.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <20231120113842.5897-5-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 20/11/2023 11:38, Juergen Gross wrote:
> Introduce a new type "rspinlock_t" to be used for recursive spinlocks.
> 
> For now it is only an alias of spinlock_t, so both types can still be
> used for recursive spinlocks. This will be changed later, though.
> 
> Switch all recursive spinlocks to the new type.
> 
> Define the initializer helpers and use them where appropriate.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - carved out from V1 patch
> ---
>   xen/arch/x86/include/asm/mm.h |  2 +-
>   xen/arch/x86/mm/mm-locks.h    |  2 +-
>   xen/common/domain.c           |  4 ++--
>   xen/common/ioreq.c            |  2 +-
>   xen/drivers/char/console.c    |  4 ++--
>   xen/drivers/passthrough/pci.c |  2 +-
>   xen/include/xen/sched.h       |  6 +++---
>   xen/include/xen/spinlock.h    | 19 +++++++++++++++----
>   8 files changed, 26 insertions(+), 15 deletions(-)
> 
> diff --git a/xen/arch/x86/include/asm/mm.h b/xen/arch/x86/include/asm/mm.h
> index 05dfe35502..8a6e0c283f 100644
> --- a/xen/arch/x86/include/asm/mm.h
> +++ b/xen/arch/x86/include/asm/mm.h
> @@ -596,7 +596,7 @@ unsigned long domain_get_maximum_gpfn(struct domain *d);
>   
>   /* Definition of an mm lock: spinlock with extra fields for debugging */
>   typedef struct mm_lock {
> -    spinlock_t         lock;
> +    rspinlock_t        lock;

Considering it's rspinlock_t rather than spinlock_recursive, do we want
to change also mm_lock_recursive() and paging_lock_recursive() into
mm_rlock() and paging_rlock() ?


> diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
> index bbe1472571..19561d5e61 100644
> --- a/xen/include/xen/spinlock.h
> +++ b/xen/include/xen/spinlock.h
 > [snip]
> @@ -182,8 +191,10 @@ typedef struct spinlock {
>   #endif
>   } spinlock_t;
>   
> +typedef spinlock_t rspinlock_t;
>   
>   #define spin_lock_init(l) (*(l) = (spinlock_t)SPIN_LOCK_UNLOCKED)
> +#define rspin_lock_init(l) (*(l) = (rspinlock_t)SPIN_LOCK_UNLOCKED)

nit: Both variants of [r]spin_lock_init(l) could be inline functions
rather than macros.

Cheers,
Alejandro



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 19:19:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 19:19:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640903.999694 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6bi8-0006qM-Np; Fri, 24 Nov 2023 19:19:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640903.999694; Fri, 24 Nov 2023 19:19: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 1r6bi8-0006qF-LK; Fri, 24 Nov 2023 19:19:32 +0000
Received: by outflank-mailman (input) for mailman id 640903;
 Fri, 24 Nov 2023 19:19: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=SB6C=HF=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r6bi6-0006q7-OZ
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 19:19:30 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 637c070e-8afe-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 20:19:29 +0100 (CET)
Received: from [192.168.1.9] (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 166594EE073C;
 Fri, 24 Nov 2023 20:19:28 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 637c070e-8afe-11ee-98e2-6d05b1d4d9a1
Message-ID: <6b2c0903-7225-4644-858e-e26146cb9e74@bugseng.com>
Date: Fri, 24 Nov 2023 20:19:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 0/5] xen: address violations of MISRA C:2012 Rule 11.8
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, maria.celeste.cesario@bugseng.com,
 Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
 <b8e0926a-bb63-4227-a5d5-3fb9f4a1bf49@citrix.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <b8e0926a-bb63-4227-a5d5-3fb9f4a1bf49@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 24/11/23 18:56, Andrew Cooper wrote:
> On 24/11/2023 4:29 pm, Simone Ballarin wrote:
>> Maria Celeste Cesario (5):
>>    x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
>>    x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
>>    AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
>>    x86/atomic: address violations of MISRA C:2012 Rule 11.8
>>    xen/arm: address violations of MISRA C:2012 Rule 11.8
> 
> Patches 1,2,4 Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> Patch 3 I'm happy to fix on commit if you're happy with the suggestion.

Yes, the change is fine. Thanks!

> 
> ~Andrew
> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Fri Nov 24 19:23:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 19:23:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640907.999706 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6bmD-0008Hq-AA; Fri, 24 Nov 2023 19:23:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640907.999706; Fri, 24 Nov 2023 19:23: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 1r6bmD-0008Hj-5V; Fri, 24 Nov 2023 19:23:45 +0000
Received: by outflank-mailman (input) for mailman id 640907;
 Fri, 24 Nov 2023 19:23: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=AaTM=HF=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6bmB-0008Hd-83
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 19:23:43 +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 f9ff9151-8afe-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 20:23:42 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-332d2b6a84cso1496721f8f.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 11:23:42 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 i18-20020a5d5592000000b003316a2aedadsm4997231wrv.36.2023.11.24.11.23.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 11:23:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f9ff9151-8afe-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700853821; x=1701458621; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=59+8DK1c7Gd9frVkLXFKI8kQq9QLX9w870GtKkuAKnQ=;
        b=T/zju1BStrLJwTrtfFZUwaUcxG5aBPAIuWp8+Mveuu2FNADX7q4rHM5XRUZVAYiajn
         mmQZS8tuemFghMBAFjZMx3g/ry6VZ52+FrhsEd3y37xkbdC50rw3Msg+ykqqBAVfPAm8
         RzZRqrqk5tGiIQ0jwgm08gTwnpP/NzLHRVm6A=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700853821; x=1701458621;
        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:subject:date:message-id:reply-to;
        bh=59+8DK1c7Gd9frVkLXFKI8kQq9QLX9w870GtKkuAKnQ=;
        b=Dljj5Hc9izJJjvVAQK+r0hkwbEDoCKaE7VC4Jy6bq4poFHmPXS/xtWkFOg137f/hdr
         dyfaC2GeVXZV8P/IhSaIJnyldOoqtowgPmZzgujeHesJ10TSuZXd5EHWO125MqeQn27G
         Amsz2t2nQ22nc7DcLeoUU4y37jbYOGrlYtBTm716CL+HN5XylFYFuDxyMJAjkn2v6X5o
         rvi/YUFah0h/tyZlNB88gfj5/IJYZ8Y73IWpsDpqC8QS+w3KzLgfDuFmdTxtq5NFrO2w
         EEblGdDoTLoBe73ICCy3smDV3tBtFhGti4vZpVuyxIdvF9s0bGBr39TxHDzex4+hIFKB
         Mocw==
X-Gm-Message-State: AOJu0YwOAtbBgKzJI4YYeNA1GdLONjQE8ejK0iqmjxJrpfvndYomjiNM
	DaWQ69YXotnlPJgKLFcrX2a8Iw==
X-Google-Smtp-Source: AGHT+IFtVeG5dzc0EZWRycjZ3rrhQHCzG5ejn1s4/jujVm4e2QBtRj3FAih4KRlPumypc5Dp/O/fQA==
X-Received: by 2002:a5d:68ca:0:b0:32f:8181:7d2b with SMTP id p10-20020a5d68ca000000b0032f81817d2bmr3195063wrw.32.1700853821135;
        Fri, 24 Nov 2023 11:23:41 -0800 (PST)
Message-ID: <6f712c33-fcfe-42e1-a31d-53e0c7ffea44@cloud.com>
Date: Fri, 24 Nov 2023 19:23:39 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/13] xen/spinlock: add
 rspin_[un]lock_irq[save|restore]()
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-7-jgross@suse.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <20231120113842.5897-7-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 20/11/2023 11:38, Juergen Gross wrote:
> Instead of special casing rspin_lock_irqsave() and
> rspin_unlock_irqrestore() for the console lock, add those functions
> to spinlock handling and use them where needed.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - new patch
> ---
>   xen/arch/x86/traps.c       | 14 ++++++++------
>   xen/common/spinlock.c      | 16 ++++++++++++++++
>   xen/drivers/char/console.c | 18 +-----------------
>   xen/include/xen/console.h  |  5 +++--
>   xen/include/xen/spinlock.h |  7 +++++++
>   5 files changed, 35 insertions(+), 25 deletions(-)
> 
> diff --git a/xen/arch/x86/traps.c b/xen/arch/x86/traps.c
> index e1356f696a..f72769e79b 100644
> --- a/xen/arch/x86/traps.c
> +++ b/xen/arch/x86/traps.c
> @@ -647,13 +647,15 @@ void show_stack_overflow(unsigned int cpu, const struct cpu_user_regs *regs)
>   void show_execution_state(const struct cpu_user_regs *regs)
>   {
>       /* Prevent interleaving of output. */
> -    unsigned long flags = console_lock_recursive_irqsave();
> +    unsigned long flags;
> +
> +    rspin_lock_irqsave(&console_lock, flags);

This feels a bit weird because rspin_lock_irqsave() being lowercase
hints that it's a either a function or behaves like one. For that it
should take &flags instead.

>   
>       show_registers(regs);
>       show_code(regs);
>       show_stack(regs);
>   
> -    console_unlock_recursive_irqrestore(flags);
> +    rspin_unlock_irqrestore(&console_lock, flags);
>   }
>   
>   void cf_check show_execution_state_nonconst(struct cpu_user_regs *regs)
> @@ -663,7 +665,7 @@ void cf_check show_execution_state_nonconst(struct cpu_user_regs *regs)
>   
>   void vcpu_show_execution_state(struct vcpu *v)
>   {
> -    unsigned long flags = 0;
> +    unsigned long flags;
>   
>       if ( test_bit(_VPF_down, &v->pause_flags) )
>       {
> @@ -698,7 +700,7 @@ void vcpu_show_execution_state(struct vcpu *v)
>   #endif
>   
>       /* Prevent interleaving of output. */
> -    flags = console_lock_recursive_irqsave();
> +    rspin_lock_irqsave(&console_lock, flags);
>   
>       vcpu_show_registers(v);
>   
> @@ -708,7 +710,7 @@ void vcpu_show_execution_state(struct vcpu *v)
>            * Stop interleaving prevention: The necessary P2M lookups involve
>            * locking, which has to occur with IRQs enabled.
>            */
> -        console_unlock_recursive_irqrestore(flags);
> +        rspin_unlock_irqrestore(&console_lock, flags);
>   
>           show_hvm_stack(v, &v->arch.user_regs);
>       }
> @@ -717,7 +719,7 @@ void vcpu_show_execution_state(struct vcpu *v)
>           if ( guest_kernel_mode(v, &v->arch.user_regs) )
>               show_guest_stack(v, &v->arch.user_regs);
>   
> -        console_unlock_recursive_irqrestore(flags);
> +        rspin_unlock_irqrestore(&console_lock, flags);
>       }
>   
>   #ifdef CONFIG_HVM
> diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
> index 26c667d3cc..17716fc4eb 100644
> --- a/xen/common/spinlock.c
> +++ b/xen/common/spinlock.c
> @@ -475,6 +475,16 @@ void rspin_lock(rspinlock_t *lock)
>       lock->recurse_cnt++;
>   }
>   
> +unsigned long __rspin_lock_irqsave(rspinlock_t *lock)
> +{
> +    unsigned long flags;
> +
> +    local_irq_save(flags);
> +    rspin_lock(lock);
> +
> +    return flags;
> +}
> +
>   void rspin_unlock(rspinlock_t *lock)
>   {
>       if ( likely(--lock->recurse_cnt == 0) )
> @@ -484,6 +494,12 @@ void rspin_unlock(rspinlock_t *lock)
>       }
>   }
>   
> +void rspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags)
> +{
> +    rspin_unlock(lock);
> +    local_irq_restore(flags);
> +}
> +
>   #ifdef CONFIG_DEBUG_LOCK_PROFILE
>   
>   struct lock_profile_anc {
> diff --git a/xen/drivers/char/console.c b/xen/drivers/char/console.c
> index 369b2f9077..cc743b67ec 100644
> --- a/xen/drivers/char/console.c
> +++ b/xen/drivers/char/console.c
> @@ -120,7 +120,7 @@ static int __read_mostly sercon_handle = -1;
>   int8_t __read_mostly opt_console_xen; /* console=xen */
>   #endif
>   
> -static DEFINE_RSPINLOCK(console_lock);
> +DEFINE_RSPINLOCK(console_lock);
>   
>   /*
>    * To control the amount of printing, thresholds are added.
> @@ -1158,22 +1158,6 @@ void console_end_log_everything(void)
>       atomic_dec(&print_everything);
>   }
>   
> -unsigned long console_lock_recursive_irqsave(void)
> -{
> -    unsigned long flags;
> -
> -    local_irq_save(flags);
> -    rspin_lock(&console_lock);
> -
> -    return flags;
> -}
> -
> -void console_unlock_recursive_irqrestore(unsigned long flags)
> -{
> -    rspin_unlock(&console_lock);
> -    local_irq_restore(flags);
> -}
> -
>   void console_force_unlock(void)
>   {
>       watchdog_disable();
> diff --git a/xen/include/xen/console.h b/xen/include/xen/console.h
> index ab5c30c0da..dff0096b27 100644
> --- a/xen/include/xen/console.h
> +++ b/xen/include/xen/console.h
> @@ -8,8 +8,11 @@
>   #define __CONSOLE_H__
>   
>   #include <xen/inttypes.h>
> +#include <xen/spinlock.h>
>   #include <public/xen.h>
>   
> +extern rspinlock_t console_lock;
> +
>   struct xen_sysctl_readconsole;
>   long read_console_ring(struct xen_sysctl_readconsole *op);
>   
> @@ -20,8 +23,6 @@ void console_init_postirq(void);
>   void console_endboot(void);
>   int console_has(const char *device);
>   
> -unsigned long console_lock_recursive_irqsave(void);
> -void console_unlock_recursive_irqrestore(unsigned long flags);
>   void console_force_unlock(void);
>   
>   void console_start_sync(void);
> diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
> index c99ee52458..53f0f72ac4 100644
> --- a/xen/include/xen/spinlock.h
> +++ b/xen/include/xen/spinlock.h
> @@ -218,7 +218,14 @@ void _spin_barrier(spinlock_t *lock);
>    */
>   int rspin_trylock(rspinlock_t *lock);
>   void rspin_lock(rspinlock_t *lock);
> +#define rspin_lock_irqsave(l, f)                                \
> +    ({                                                          \
> +        BUILD_BUG_ON(sizeof(f) != sizeof(unsigned long));       \
> +        ((f) = __rspin_lock_irqsave(l));                        \
> +    })

If f is &flags, then s/f/*(f)/ would be needed in these 2 cases.

On other matters if we had -Wconversion turned on by default that
BUILD_BUG_ON() wouldn't be needed. Not that you can do it (I'm sure the 
codebase would explode everywhere if we switched it on), but might be
something to consider in the future.

> +unsigned long __rspin_lock_irqsave(rspinlock_t *lock);
>   void rspin_unlock(rspinlock_t *lock);
> +void rspin_unlock_irqrestore(rspinlock_t *lock, unsigned long flags);
>   
>   #define spin_lock(l)                  _spin_lock(l)
>   #define spin_lock_cb(l, c, d)         _spin_lock_cb(l, c, d)

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 19:55:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 19:55:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640913.999714 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6cGQ-0006s2-Ly; Fri, 24 Nov 2023 19:54:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640913.999714; Fri, 24 Nov 2023 19:54: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 1r6cGQ-0006rv-JU; Fri, 24 Nov 2023 19:54:58 +0000
Received: by outflank-mailman (input) for mailman id 640913;
 Fri, 24 Nov 2023 19:54: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=jxba=HF=neowutran.ovh=xen@srs-se1.protection.inumbo.net>)
 id 1r6cGO-0006rp-Jk
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 19:54:57 +0000
Received: from neowutran.ovh (core.neowutran.ovh [51.83.40.211])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56579fef-8b03-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 20:54:54 +0100 (CET)
Received: from neowutran.ovh (unknown [10.200.200.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
 (No client certificate requested)
 by neowutran.ovh (Postfix) with ESMTPSA id 1A03461314;
 Fri, 24 Nov 2023 19:54: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: 56579fef-8b03-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=neowutran.ovh; s=mail;
	t=1700855691; bh=JCGEcbnOg+lqAGVtLpKvJmG6Ie60g2ZLlxgrqWy2uq4=;
	h=Date:From:To:Cc:Subject:References;
	b=qdx0G55evm7upEtMtCg1DnnmToL3y7iouglADneIfWHvoS46iA1lapQvtEPBVtukA
	 3QbgGw/EJu6ilcoIOO2KiP3pjpoent6yNIv1blqfVnKaLFZ0QHItCcVekdXkfC9rt6
	 xGaMV8qszcb0FNP/W9pRieU5zjBbpeR2M9oraJr/+DXPhzvNey6L+2mMuQCK1StpnN
	 bTIbOY+1HSkSKlmoUZXBH1nYic95aoB7HSCkcByMZM5KOvjDY5+eQtRtA/lbXMPtxs
	 j/QltwknhUsfFd6kj5IZmBFZTJLGdWBaFeeV7d+e8h0kKhV56TwvIG7IraKPj5z+RV
	 1zd5KJ6Qb365+xlrY9My55eCwHfQtjMzFxprEx532ATmycqddYPtIYQ4Q+4JvFanRX
	 vgq8tFqHsPJG19wirZRpT3YVN994GslwM72/VKrSEpn6zaL+A25hvGR9PBfbJR6YIt
	 DBwHbuQeCOBVAUZc5uvNUpsMRLzQt0FCaQ7w+woL2nLFu0SjKqv39wWctA6dFupw+b
	 KvYnsWfJVJipWPypvPoDLEJWsw1dCXswk9io6GRLdJU1SQIg8v7yYhe2ivkfhb9Y9O
	 ODG6I3z1h7SWRUYJy0s6gxf0Dlm6okVoYEMP1Ov6JH1bGFvo0F6unvBQdB62WFKAR9
	 Ape2WbtCBQ4N4XHoMkIi02FA=
Date: Fri, 24 Nov 2023 20:54:35 +0100
From: Neowutran <xen@neowutran.ovh>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Elliott Mitchell <ehem+xen@m5p.com>, Henry Wang <Henry.Wang@arm.com>, 
	Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>, xen-devel@lists.xenproject.org, 
	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>, Neowutran <xen@neowutran.ovh>
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <x4qzfuqkkebjkdfmhw6rvdhrn2ewa6ghjtjqd7xevnuylfahh7@pjratinsg76a>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
 <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8

Content-D 
isposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>

On 2023-11-18 11:11, Andrew Cooper wrote:
> On 18/11/2023 3:04 am, Elliott Mitchell wrote:
> > On Fri, Nov 17, 2023 at 11:12:37AM +0100, Neowutran wrote:
> >> On 2023-11-07 11:11, Elliott Mitchell wrote:
> >>> On Mon, Oct 30, 2023 at 04:27:22PM +01
> >>>> On Mon, Oct 30, 2023 at 07:50:27AM -0700, Elliott Mitchell wrote:
> >>>>> On Tue, Oct 24, 2023 at 03:51:50PM +0200, Roger Pau Monne wrote:
> >>>>>> diff --git a/xen/arch/x86/genapic/x2apic.c b/xen/arch/x86/genapic/x2apic.c
> >>>>>> index 707deef98c27..15632cc7332e 100644
> >>>>>> --- a/xen/arch/x86/genapic/x2apic.c
> >>>>>> +++ b/xen/arch/x86/genapic/x2apic.c
> >>>>>> @@ -220,38 +239,56 @@ static struct notifier_block x2apic_cpu_nfb = {
> >>>>>>  static int8_t __initdata x2apic_phys = -1;
> >>>>>>  boolean_param("x2apic_phys", x2apic_phys);
> >>>>>>  
> >>>>>> +enum {
> >>>>>> +   unset, physical, cluster, mixed
> >>>>>> +} static __initdata x2 
apic_mode = unset;
> >>>>>> +
> >>>>>> +static int __init parse_x2apic_mode(const char *s)
> >>>>>> +{
> >>>>>> +    if ( !cmdline_strcmp(s, "physical") )
> >>>>>> +        x2apic_mode = physical;
> >>>>>> +    else if ( !cmdline_strcmp(s, "cluster") )
> >>>>>> +        x2apic_mode = cluster;
> >>>>>> +    else if ( !cmdline_strcmp(s, "mixed") )
> >>>>>> +   
> >>>>>> +    else
> >>>>>> +        return EINVAL;
> >>>>>> +
> >>>>>> +    return 0;
> >>>>>> +}
> >>>>>> +custom_param("x2apic-mode", parse_x2apic_mode);
> >>>>>> +
> >>>>>>  const struct genapic *__init apic_x2apic_probe(void)
> >>>>>>  {
> >>>>>> -    if ( x2apic_phys < 0 )
> >>>>>> +    /* x2apic-mode option has preference over x2apic_phys. */
> >>>>>> +    if ( x2apic_phys >= 0 && x2apic_mode == unset )
> >>>>>> +        x2apic_mode = x2apic_phys ? physical : cluster;
> >>>>>> +
> >>>>>> +    if ( x2apic_mode == unset )
> >>>>>>      {
> >>>>>> -        /*
> >>>>>> -         * Force physical mode if there's no (full) interrupt remapping support:
 
> >>>>>> -         * The ID in clustered mode requires a 32 bit destination field due to
> >>>>>> -         * the usage of the high 16 bits to hold the cluster ID.
> >>>>>> -         */
> >>>>>> -        x2apic_phys = iommu_intremap != iommu_intremap_full ||
> >>>>>> -                      (acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL) ||
> >>>>>> -        
> >>>>>> -    }
> >>>>>> -    else if ( !x2apic_phys )
> >>>>>> -        switch ( iommu_intremap )
> >>>>>> +        if ( acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL )
> >>>>>>          {
> >>>>> Could this explain the issues with recent AMD processors/motherboards?
> >>>>>
> >>>>> Mainly the firmware had been setting this flag, but Xen was previously
> >>>>> ignoring it?
> >>>> No, not unless you pass {no-}x2apic_phys={false,0} on the Xen command
> >>>> line to force logical (clustered) destination mode.
> >>>>
> >>>>> As such Xen had been attempting to use cluster mode on an
> >>>>> x2APIC where that mode was broken for physical interrupts?
> >>>> No 
, not realy, x2apic_phys was already forced to true if
> >>>> acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL is set on the FADT (I
> >>>> just delete that line in this same chunk and move it here).
> >>> Okay, that was from a quick look at the patch.  Given the symptoms and
> >>> workaround with recent AMD motherboards, this looked
> >>>
> >>> In that case it might be a bug in what AMD is providing to motherboard
> >>> manufacturers.  Mainly this bit MUST be set, but AMD's implementation
> >>> leaves it unset.
> >>>
> >>> Could also be if the setup is done correctly the bit can be cleared, but
> >>> multiple motherboard manufacturers are breaking this.  Perhaps the steps
> >>> are fragile and AMD needed to provide better guidance.
> >>>
> >>>
> >>> Neowutran, are you still setup to and interested in doing
> >>> experimentation/testing with Xen on your AMD computer?  Would you be up
> >>> for trying the patch here:
> >>>
> >>> https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw
>  
>>>
> >>> I have a suspicion this *might* fix the x2APIC issue everyone has been
> >>> seeing.
> >>>
> >>> How plausible would it be to release this as a bugfix/workaround on 4.17?
> >>> I'm expecting a "no", but figured I should ask given how widespread the
> >>> issue is.
> >> I just applied the patch on my setup ( https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw ) 
> >> It seems to fix the x2APIC issue I was having. 
> >>
> >> I only did some quick tests: 
> >>
> >> I tried all the differents values in my bios for the X2APIC settings. 
> >> Now the system successfully boot in all the cases, without needing
> >> manual override of the x2apic_phys/x2apic_mode parameter in boot commandline .
> > In light of this issue effecting a large number of people with recent
> > hardware, I formally request the patch
> > "x86/x2apic: introduce a mixed physical/cluster mode" be considered for
> > backport release on the 4.17 and 4.18 branches.
> >
> > (I'm unsure whether it is realistic  
for a 4.17 update, but I figure I
> > should ask)
> 
> This is an unreasonable ask.
> 
> I believe you when you say there is (or at least was) an x2apic bug (or
> bugs), but not once did you provide the logging requested, nor engage
> usefully with us in debugging.
> 
> And despite this, we (Roger, Jan and myself) found, fixed and backported
> 3 x2apic bugs.
> 
> Now you come along guessing alone at x2apic in a patch name that it
> fixes your problem, on a patch which is not a bugfix - it's a
> performance optimisation.


------

> Neowutran, thankyou for looking into the patch, but I'm afraid that
> doesn't confirm that this patch fixed an issue either.  If it really did
> make a difference, then you'll see a difference in behaviour using each
> of the 3 new x2apic-mode= options.
> 
> Please could you take your single up-to-date build of Xen, put the BIOS
> settings back to whatever was causing you problems originally, and
> describe what happens when booting each of
> x2apic-mode={physical,cluster,mixed}? 


Hi, 
I did some more tests and research, indeed this patch improved/solved my specific case. 

Starting point: 

I am using Xen version 4.17.2 (exactly this source https://github.com/QubesOS/qubes-vmm-xen).
In the bios (a Asus motherboard), I configured the "local apic" parameter to "X2APIC".
For Xen, I did not set the parameter "x2apic-mode" nor the parameter "x2apic_phys". 

Case 1:
I tryied to boot just like that, result: system is unusuably slow

Case 2:
Then, I applied a backport of the patch  
https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw 
to the original Xen version of QubesOS and I recompiled. 
(https://github.com/neowutran/qubes-vmm-xen/blob/x2apic3/X2APIC.patch)
Result: it work, the system is usable. 

Case 3:
Then, I applied the patch https://github.com/xen-project/xen/commit/26a449ce32cef33f2cb50602be19fcc0c4223ba9
to the original Xen version of QubesOS and I recompiled.
(https://github.com/neowutran/qubes-vmm-xen/blob/x2apic4/X2APIC.patch)
Result: system is  
unusuably slow. 


In "Case 2", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_mixed". 
In "Case 3", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_cluster". 


-------------------
If you want / need, details for the function "apic_x2apic_probe":

Known "input" value:

"CONFIG_X2APIC_PHYSICAL" is not defined
"iommu_intremap == iommu_intremap_off" = false
"acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL" -> 0
"acpi_gbl_FADT.flags" = 247205 (in decimal)
"CONFIG_X2APIC_PHYSICAL" is not defined
"CONFIG_X2APIC_MIXED" is defined, because it is the default choice
"x2apic_mode" = 0
"x2apic_phys" = -1



Trace log (I did some call "printk" to trace what was going on)
Case 2:
(XEN) NEOWUTRAN: X2APIC_MODE: 0 
(XEN) NEOWUTRAN: X2APIC_PHYS: -1 
(XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
(XEN) NEOWUTRAN IOMMU_INTREMAP: different 
(XEN) Neowutran: PASSE 2 
(XEN) Neowutran: PASSE 4 
(XEN) NEOWUTRAN: X2APIC_MODE: 3 
(XEN) Neowutran: PASSE 7 
(XEN) NEOWUTRAN: X2APIC_MODE: 3 
 
(XEN) NEOWUTRAN: X2APIC_PHYS: -1 
(XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
(XEN) NEOWUTRAN IOMMU_INTREMAP: different 

Case 3:
(XEN) NEOWUTRAN2: X2APIC_PHYS: -1 
(XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
(XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
(XEN) Neowutran2: Passe 1 
(XEN) NEOWUTRAN2: X2APIC_PHYS: 0 
(XEN) Neowutran2: Passe 6 
(XEN) Neowutran2: Passe 7 
(XEN) NEOWUTRAN2: X2APIC_PHYS: 0 
(XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
(XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
(XEN) Neowutran2: Passe 2 
(XEN) Neowutran2: Passe 4 
(XEN) Neowutran2: Passe 7



If you require the full logs, I could publish the full logs somewhere.
----------------------

( However I do not understand if the root issue is a buggy motherboard, a
bug in xen, or if the parameter "X2APIC_PHYSICAL" should have been set
by the QubesOS project, or something else)
 
> Thankyou,
> 
> ~Andrew

Thanks you, 
Neowutran
 


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 20:09:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 20:09:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640927.999725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6cUS-0002BC-U6; Fri, 24 Nov 2023 20:09:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640927.999725; Fri, 24 Nov 2023 20:09: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 1r6cUS-0002B5-RT; Fri, 24 Nov 2023 20:09:28 +0000
Received: by outflank-mailman (input) for mailman id 640927;
 Fri, 24 Nov 2023 20:09: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=AaTM=HF=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r6cUR-0002Az-93
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 20:09:27 +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 5c85a013-8b05-11ee-9b0e-b553b5be7939;
 Fri, 24 Nov 2023 21:09:24 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-40b30308c67so15524665e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 12:09:24 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l24-20020a05600c1d1800b0040b3566e541sm6349355wms.36.2023.11.24.12.09.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 12:09:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5c85a013-8b05-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1700856563; x=1701461363; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=kjiF/+3RtO2be5aKBSNHz6DO4zrPB6uPcx1B7HlbWzc=;
        b=g+9e2Py1xJfQtqoN2Ndq1iO0xTNv1dWedGtES839/6T0MNvY7I4T1nqKgmD6atrd0l
         J9eeIbi2riC9Eqkbgn5ePJ1gbi3pZIpNfgOtvUr6o/ZYlyBo2ZOHsA6abfiMgFPnwXbQ
         rLDAfLS7zf6VIDfaYvZTzR8jd6vvMupy7TO/U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700856563; x=1701461363;
        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:subject:date:message-id:reply-to;
        bh=kjiF/+3RtO2be5aKBSNHz6DO4zrPB6uPcx1B7HlbWzc=;
        b=QuhLI89HSOc5PARgcB3y2Huq2VuPtkt2Ss/oR15IbyVHjAergH4y55lro/wg39M55r
         vWHfwk8wVKxzTQgvn3PjnKCl3yH0Azx51EZwykasv43IPNTXnd3AYlc3xg2uZybwd/El
         3WFqrKghU/XAT+J11fHq6rYt5RLTqdEubFUVCbhxXBafpvRSJlg+YZbBplUFdrBE6B3Y
         z2/BZvX5s17aCn+y7QDY+A/z+E5b4cusDAiLlPVxo7L1la4GHy7DM61O1EAR0vduWFJp
         BU2VAMnBt4yZCQMObqa7lTePK17DR7HDxNWNQGW836vystrgA8SRfG4zwv0t+mfxXtYP
         U0Uw==
X-Gm-Message-State: AOJu0YzVdik7EPwywyLCvN2xZXIkSx/e7I31z/5TVhXlAnZZ7U1utYBN
	u54nCQz3/KTPEsajFmgHaG7Xlw==
X-Google-Smtp-Source: AGHT+IG6zZ85zrfuYwyv/cO4urvYiZYm1MfCaS3QWLga7KaA6L2jKpFDViwvZ/xR7RpPVrDuWC9Mjg==
X-Received: by 2002:a05:600c:474d:b0:405:3885:490a with SMTP id w13-20020a05600c474d00b004053885490amr3547963wmo.0.1700856563449;
        Fri, 24 Nov 2023 12:09:23 -0800 (PST)
Message-ID: <cb7ea607-b73d-4cc2-b680-fb953f8d445b@cloud.com>
Date: Fri, 24 Nov 2023 20:09:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 07/13] xen/spinlock: make struct lock_profile
 rspinlock_t aware
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-8-jgross@suse.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <20231120113842.5897-8-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 20/11/2023 11:38, Juergen Gross wrote:
> Struct lock_profile contains a pointer to the spinlock it is associated
> with. Prepare support of differing spinlock_t and rspinlock_t types by
> adding a type indicator of the pointer. Use the highest bit of the
> block_cnt member for this indicator in order to not grow the struct
> while hurting only the slow path with slightly less performant code.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
> V2:
> - new patch
> ---
>   xen/common/spinlock.c      | 26 +++++++++++++++++++-------
>   xen/include/xen/spinlock.h | 10 ++++++++--
>   2 files changed, 27 insertions(+), 9 deletions(-)
> 
> diff --git a/xen/common/spinlock.c b/xen/common/spinlock.c
> index 17716fc4eb..65f180203a 100644
> --- a/xen/common/spinlock.c
> +++ b/xen/common/spinlock.c
> @@ -538,19 +538,31 @@ static void spinlock_profile_iterate(lock_profile_subfunc *sub, void *par)
>   static void cf_check spinlock_profile_print_elem(struct lock_profile *data,
>       int32_t type, int32_t idx, void *par)
>   {
> -    struct spinlock *lock = data->lock;
> +    unsigned int cpu;
> +    uint32_t lockval;
> +
> +    if ( data->is_rlock )
> +    {
> +        cpu = data->rlock->debug.cpu;
> +        lockval = data->rlock->tickets.head_tail;
> +    }
> +    else
> +    {
> +        cpu = data->lock->debug.cpu;
> +        lockval = data->lock->tickets.head_tail;
> +    }
>   
>       printk("%s ", lock_profile_ancs[type].name);
>       if ( type != LOCKPROF_TYPE_GLOBAL )
>           printk("%d ", idx);
> -    printk("%s: addr=%p, lockval=%08x, ", data->name, lock,
> -           lock->tickets.head_tail);
> -    if ( lock->debug.cpu == SPINLOCK_NO_CPU )
> +    printk("%s: addr=%p, lockval=%08x, ", data->name, data->lock, lockval); > +    if ( cpu == SPINLOCK_NO_CPU )
>           printk("not locked\n");
>       else
> -        printk("cpu=%d\n", lock->debug.cpu);
> -    printk("  lock:%" PRId64 "(%" PRI_stime "), block:%" PRId64 "(%" PRI_stime ")\n",
> -           data->lock_cnt, data->time_hold, data->block_cnt, data->time_block);
> +        printk("cpu=%u\n", cpu);
> +    printk("  lock:%" PRIu64 "(%" PRI_stime "), block:%" PRIu64 "(%" PRI_stime ")\n",
> +           data->lock_cnt, data->time_hold, (uint64_t)data->block_cnt,
> +           data->time_block);
>   }
>   
>   void cf_check spinlock_profile_printall(unsigned char key)
> diff --git a/xen/include/xen/spinlock.h b/xen/include/xen/spinlock.h
> index 53f0f72ac4..5ada9dce3d 100644
> --- a/xen/include/xen/spinlock.h
> +++ b/xen/include/xen/spinlock.h
> @@ -76,13 +76,19 @@ union lock_debug { };
>   */
>   
>   struct spinlock;
> +/* Temporary hack until a dedicated struct rspinlock is existing. */
> +#define rspinlock spinlock
>   
>   struct lock_profile {
>       struct lock_profile *next;       /* forward link */
>       const char          *name;       /* lock name */
> -    struct spinlock     *lock;       /* the lock itself */
> +    union {
> +        struct spinlock *lock;       /* the lock itself */
> +        struct rspinlock *rlock;     /* the recursive lock itself * > +    };
>       uint64_t            lock_cnt;    /* # of complete locking ops */
> -    uint64_t            block_cnt;   /* # of complete wait for lock */
> +    uint64_t            block_cnt:63; /* # of complete wait for lock */
> +    uint64_t            is_rlock:1;  /* use rlock pointer */
>       s_time_t            time_hold;   /* cumulated lock time */
>       s_time_t            time_block;  /* cumulated wait time */
>       s_time_t            time_locked; /* system time of last locking */

LGTM.

Acked-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 22:06:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 22:06:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640960.999750 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6eJI-0001ZU-Jq; Fri, 24 Nov 2023 22:06:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640960.999750; Fri, 24 Nov 2023 22:06: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 1r6eJI-0001ZN-H7; Fri, 24 Nov 2023 22:06:04 +0000
Received: by outflank-mailman (input) for mailman id 640960;
 Fri, 24 Nov 2023 22:06: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=6Spf=HF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6eJI-0001ZH-0a
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 22:06:04 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6a353b5-8b15-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 23:06:01 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40b2afd049aso16213595e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 14:06:00 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 r7-20020a05600c35c700b0040b30be6244sm6182326wmq.24.2023.11.24.14.05.58
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 14:05:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6a353b5-8b15-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700863560; x=1701468360; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=pztvtz7Mem9/nCOY2LQsG6s0Hmtvkt037Gm1ogHRzQg=;
        b=ThdXlV6j8Y0i7EaaaeV4M94Xwvh4FOw0ksQtDASv4yuGxD8KtMqTyX32DSKYNaIlP3
         7FUqon7Tl5a+q8uAZzcU+P6I/tRpDRPKisN3qKx3WCmY9EnPoqAtthviNHNO7+9QujZs
         uZgMcNFJyML3chWmVKbqBky267Hyj+j1hBsSM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700863560; x=1701468360;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=pztvtz7Mem9/nCOY2LQsG6s0Hmtvkt037Gm1ogHRzQg=;
        b=w+ZKrWvNGg6vAVUmQR1P06SBuF08gY07SJctK5VRijXOxXofboEgWfvIw72cXsygnZ
         iEQSkvvurbMjadnHMIB/pLLY8GX9acQVyS0kFz40jyLV54Dh+Hy1C5qsT2bquTnGY/SY
         Pkvetp8YlOl6sl47WQykfvwWa/s3XH1tsd6nhWRybC3EcYNq1DCk7t4mzKZP7FJIFc0L
         3sHrx4o7M1dsmNCnHFCcm0+EznT/Jkmvas+QLSeXz2ihv1ZXsD3mR+UcTKQscxVfCrS6
         8/phOmvA0Isov7V0VJfhUKaFyGp1Q6ePTNLWXfssPn4z0gh1t3dY4xA9u44ikiLsYbYW
         iA1w==
X-Gm-Message-State: AOJu0YyQluaPRYjK/Tb7jUUhm8uvAsvbB2yAOFrwIXekm7na3AeW1tFI
	6vpqe3nV4lLeKhrCJGNFTu4DfRogvcNdlyRIBww=
X-Google-Smtp-Source: AGHT+IHFf74aTLj91CRDZ4Apo7tq/ZzjoYE2w+6hlzrPvmEtJr9n0ITwf2xnO14psKQw22nsF979eA==
X-Received: by 2002:a05:600c:450b:b0:405:9666:5242 with SMTP id t11-20020a05600c450b00b0040596665242mr3705961wmo.31.1700863558968;
        Fri, 24 Nov 2023 14:05:58 -0800 (PST)
Message-ID: <e96e7f7b-d2d5-496a-9a2b-e8da2017a282@citrix.com>
Date: Fri, 24 Nov 2023 22:05:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

A few minor grammar notes.

"x86/vlapic: In x2APIC ..."


On 23/11/2023 5:30 pm, Alejandro Vallejo wrote:
> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> registers are derivable from each other through a fixed formula.
>
> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> rather than x2APIC IDs (which are not, at the moment). As I understand it,
> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> 16 vCPUs rather than 8, but this is problematic for OSs that might read the
> x2APIC ID and internally derive LDR (or the other way around)

Missing full stop.  But I'd also phrase this explicitly as "violating
the spec", rather than "problematic".

Intel is crystal clear on the matter:

  Logical x2APIC ID = [(x2APIC ID[19:4] « 16) | (1 « x2APIC ID[3:0])]

and Xen isn't implementing this.

> This patch fixes the implementation so we follow the rules in the x2APIC
> spec(s) and covers migrations from broken hypervisors, so LDRs are
> preserved even for hotppluggable CPUs and across APIC resets.

"This patch fixes the implementation so we follow the x2APIC spec for
new VMs, while preserving the behaviour (buggy or fixed) for migrated-in
VMs."

Hotpluggable isn't relevant.  We have the state, and it's either as it
was before, or it's fixed.


>
> While touching that area, I removed the existing printk statement in
> vlapic_load_fixup() (as the checks it performed didn't make sense in x2APIC
> mode and wouldn't affect the outcome) and put another printk as an else
> branch so we get warnings trying to load nonsensical LDR values we don't
> know about.
>
> Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> v4:
>   * Removed "See <function>()" part of comment in set_x2apic_id()
>   * Removed _with_ in field name
>   * Trimmed down comments further
>   * Rephrased the Xen versions in the comments so it's implied not every
>     Xen 4.X is affected (as they won't be after this patch is backported)
>   * Replace Xen 4.18 reference with date+4.19 dev window
> ---
>  xen/arch/x86/hvm/vlapic.c             | 66 ++++++++++++++++++---------
>  xen/arch/x86/include/asm/hvm/domain.h |  3 ++
>  2 files changed, 47 insertions(+), 22 deletions(-)
>
> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
> index 5cb87f8649..cd4701c5a2 100644
> --- a/xen/arch/x86/hvm/vlapic.c
> +++ b/xen/arch/x86/hvm/vlapic.c
> @@ -1061,13 +1061,26 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
>      .write = vlapic_mmio_write,
>  };
>  
> +static uint32_t x2apic_ldr_from_id(uint32_t id)
> +{
> +    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
> +}
> +
>  static void set_x2apic_id(struct vlapic *vlapic)
>  {

const struct vcpu *v = vlapic_vcpu(vlapic);

seeing as you've got the expression used twice already.

With that, the following logic is shorter too; you can get away with
dropping the vcpu_id variable as v->vcpu_id is the more common form to
use in Xen.


> -    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
> -    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
> +    uint32_t vcpu_id = vlapic_vcpu(vlapic)->vcpu_id;
> +    uint32_t apic_id = vcpu_id * 2;

/* TODO: Fix topology */ as a suffix here.

Just to make it clear that we're aware that this *2 logic is faulty, but
it needs to remain like this in the short term.

> +    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
> +
> +    /*
> +     * Workaround for migrated domains to derive LDRs as the source host
> +     * would've.
> +     */
> +    if ( vlapic_domain(vlapic)->arch.hvm.bug_x2apic_ldr_vcpu_id )
> +        apic_ldr = x2apic_ldr_from_id(vcpu_id);
>  
> -    vlapic_set_reg(vlapic, APIC_ID, id * 2);
> -    vlapic_set_reg(vlapic, APIC_LDR, ldr);
> +    vlapic_set_reg(vlapic, APIC_ID, apic_id);
> +    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
>  }
>  
>  int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
> @@ -1498,27 +1511,36 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
>   */
>  static void lapic_load_fixup(struct vlapic *vlapic)
>  {

Again, const struct vcpu *v = vlapic_vcpu(vlapic); here helps legibility.

> -    uint32_t id = vlapic->loaded.id;
> +    uint32_t good_ldr = x2apic_ldr_from_id(vlapic->loaded.id);
>  
> -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
> -    {
> +    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
> +    if ( !vlapic_x2apic_mode(vlapic) ||
> +         (vlapic->loaded.ldr == good_ldr) )
> +        return;
> +
> +    if ( vlapic->loaded.ldr == 1 )
> +       /*
> +        * Xen <= 4.4 may have a bug by which all the APICs configured in
> +        * x2APIC mode got LDR = 1. We can't leave it as-is because it
> +        * assigned the same LDR to every CPU.  We'll fix fix the bug now
> +        * and assign an LDR value consistent with the APIC ID.
> +        */
> +        set_x2apic_id(vlapic);
> +    else if ( vlapic->loaded.ldr ==

I know these are single statement if's, and the coding style permits
them without braces, but the comment makes it visually awkward to follow.

This is an example where braces help readability generally, but also (as
it happens) help make a more readable diff.


> +              x2apic_ldr_from_id(vlapic_vcpu(vlapic)->vcpu_id) )
>          /*
> -         * This is optional: ID != 0 contradicts LDR == 1. It's being added
> -         * to aid in eventual debugging of issues arising from the fixup done
> -         * here, but can be dropped as soon as it is found to conflict with
> -         * other (future) changes.
> +         * Migrations from Xen 4.4 to date (4.19 dev window, Nov 2023) may
> +         * show this bug.

"may have had LDR derived from the vCPU_ID, not the APIC_ID."

Better to clearly state what the bug is.

>  We must preserve LDRs so new vCPUs use consistent
> +         * derivations and existing guests, which may have already read the
> +         * LDR at the source host, aren't surprised when interrupts stop
> +         * working the way they did at the other end.
>           */
> -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
> -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
> -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
> -                   vlapic_vcpu(vlapic), id);
> -        set_x2apic_id(vlapic);
> -    }
> -    else /* Undo an eventual earlier fixup. */
> -    {
> -        vlapic_set_reg(vlapic, APIC_ID, id);
> -        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
> -    }
> +        vlapic_domain(vlapic)->arch.hvm.bug_x2apic_ldr_vcpu_id = true;
> +    else
> +        printk(XENLOG_G_WARNING
> +               "%pv: bogus x2APIC loaded id=%#x ldr=%#x (expected ldr=%#x)\n",

%pv: bogus loaded x2APIC ID %#x, LDR %#x, expected LDR %#x\n

If you properly capitalise x2APIC, you should capitalise ID and LDR. 
The other changes are matter of taste, but make for a less cluttered log
message IMO.


This is a long list of minor niggles, but they're all style/comment
issues, and nothing to do with the logic itself.  I'm happy to fix them
all up on commit, and here is the result with them merged:

https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=953dcb0317d20959ffee14e404595cfbb66c607a

for you to glance over.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 22:29:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 22:29:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640964.999761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6efN-0006iA-DL; Fri, 24 Nov 2023 22:28:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640964.999761; Fri, 24 Nov 2023 22: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 1r6efN-0006i3-9M; Fri, 24 Nov 2023 22:28:53 +0000
Received: by outflank-mailman (input) for mailman id 640964;
 Fri, 24 Nov 2023 22:28: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=6Spf=HF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6efL-0006hx-S1
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 22:28:51 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7068a01-8b18-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 23:28:50 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40b27726369so16705155e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 14:28:50 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 fc8-20020a05600c524800b0040b3807ec38sm4861984wmb.33.2023.11.24.14.28.48
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 14:28:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d7068a01-8b18-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700864929; x=1701469729; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=8jigi7JLBGC52EdYWf5218yQYyxx3D5XldiBSdv1Xus=;
        b=g085WizITxZJodH2nqYugouguEGGi5I7fw03rMn/rXLQ18VwXk1/OfjDp3Wrva67om
         VnFI4js7R0lWKTlAq3Fjmt0WL/Bm5DodkKgHZA9L8aVIrEzWwGod8wXHvKMzLBkOv2JI
         jRi/2sh718Xl+jiX6O9qcvg1Lnx/yuDw7pzeE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700864929; x=1701469729;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=8jigi7JLBGC52EdYWf5218yQYyxx3D5XldiBSdv1Xus=;
        b=i/kfdzymE6bUDG5TjaH9/1ApFoNW2rLFJRC6zRhZdzExuwMb4zSfqlI/4u8XRaYk+T
         zS5FicPRUUhQHJsJQJFtrohwcEGixpG6KGycaBx2DF/pi0pgEPO3e4BVWyZv85oanAyc
         W9a/gVthBcuD2mqMUx4n4gN/Xh1jHWnLQFm/QUzj/a/uB5Z22MR83dwH/mndrkZImE25
         a6ctjfSMn8KtYxQyo/OB/yW9k7fZKYV0sYFz32BtiNAagLewdm5Ot90VY1uaKOd/wL4s
         J+1vFx7rNC9nF+5e7plQOS8rTKX7pE2pn7xSHkgXjSUszs+QcDQFYZse7EgSgJYGW7nU
         I2eA==
X-Gm-Message-State: AOJu0YwqTePp70b8EDQLDcvl+vlovlHb84t+qKYzhDVIlFvPUjlWCBSE
	DRuBTC0HsKRzotM8f+B2wQrVow==
X-Google-Smtp-Source: AGHT+IHIDQhvJwBIomk0XHW25kwumr6iS/6gcwSs8ezMoKWIbDqwqK1cmtSW0pL9srye/2HMsQv2AQ==
X-Received: by 2002:a05:600c:1f82:b0:408:364e:34a2 with SMTP id je2-20020a05600c1f8200b00408364e34a2mr3700206wmb.10.1700864929359;
        Fri, 24 Nov 2023 14:28:49 -0800 (PST)
Message-ID: <c7e50f7f-690e-4402-a873-1534d01c6434@citrix.com>
Date: Fri, 24 Nov 2023 22:28:48 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 06/15] x86/HVM: improve CET-IBT pruning of ENDBR
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Kevin Tian <kevin.tian@intel.com>,
 Jun Nakajima <jun.nakajima@intel.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
 <8112f1f9-3e3a-4839-9124-9adb87f82c29@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <8112f1f9-3e3a-4839-9124-9adb87f82c29@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/11/2023 8:39 am, Jan Beulich wrote:
> __init{const,data}_cf_clobber can have an effect only for pointers
> actually populated in the respective tables. While not the case for SVM
> right now, VMX installs a number of pointers only under certain
> conditions. Hence the respective functions would have their ENDBR purged
> only when those conditions are met. Invoke "pruning" functions after
> having copied the respective tables, for them to install any "missing"
> pointers.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

In theory Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, but see
later.

I have to admit that I'd overlooked this point when putting together
__init{}_cf_clobber originally.  Then again, I did have more urgent
things on my mind at the time.

> ---
> This is largely cosmetic for present hardware, which when supporting
> CET-IBT likely also supports all of the advanced VMX features for which
> hook pointers are installed conditionally. The only case this would make
> a difference there is when use of respective features was suppressed via
> command line option (where available). For future hooks it may end up
> relevant even by default, and it also would be if AMD started supporting
> CET-IBT; right now it matters only for .pi_update_irte, as iommu_intpost
> continues to default to off.
>
> Originally I had meant to put the SVM and VMX functions in presmp-
> initcalls, but hvm/{svm,vmx}/built_in.o are linked into hvm/built_in.o
> before hvm/hvm.o. And I don't think I want to fiddle with link order
> here.

An alternative is the form I used for microcode, where start_{vmx,svm}()
fills in fns, and doesn't have to fill in all hooks.

That will be more amenable to Kconfig-ing generally, and will probably
be less fragile to getting forgotten.

> ---
> v2: Use cpu_has_xen_ibt in prune_{svm,vmx}().
>
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -161,10 +161,15 @@ static int __init cf_check hvm_enable(vo
>      else if ( cpu_has_svm )
>          fns = start_svm();
>  
> +    if ( fns )
> +        hvm_funcs = *fns;
> +
> +    prune_vmx();
> +    prune_svm();
> +
>      if ( fns == NULL )
>          return 0;
>  
> -    hvm_funcs = *fns;
>      hvm_enabled = 1;
>  
>      printk("HVM: %s enabled\n", fns->name);
> --- a/xen/arch/x86/hvm/svm/svm.c
> +++ b/xen/arch/x86/hvm/svm/svm.c
> @@ -2587,6 +2587,19 @@ const struct hvm_function_table * __init
>      return &svm_function_table;
>  }
>  
> +void __init prune_svm(void)
> +{
> +    /*
> +     * Now that svm_function_table was copied, populate all function pointers
> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
> +     * much of an effect as possible.
> +     */
> +    if ( !cpu_has_xen_ibt )
> +        return;
> +
> +    /* Nothing at present. */
> +}
> +
>  void asmlinkage svm_vmexit_handler(void)
>  {
>      struct cpu_user_regs *regs = guest_cpu_user_regs();
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -3033,6 +3033,30 @@ const struct hvm_function_table * __init
>      return &vmx_function_table;
>  }
>  
> +void __init prune_vmx(void)
> +{
> +    /*
> +     * Now that vmx_function_table was copied, populate all function pointers
> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
> +     * much of an effect as possible.
> +     */
> +    if ( !cpu_has_xen_ibt )
> +        return;
> +
> +    vmx_function_table.set_descriptor_access_exiting =
> +        vmx_set_descriptor_access_exiting;
> +
> +    vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
> +    vmx_function_table.process_isr            = vmx_process_isr;
> +    vmx_function_table.handle_eoi             = vmx_handle_eoi;
> +
> +    vmx_function_table.pi_update_irte = vmx_pi_update_irte;
> +
> +    vmx_function_table.deliver_posted_intr = vmx_deliver_posted_intr;
> +    vmx_function_table.sync_pir_to_irr     = vmx_sync_pir_to_irr;
> +    vmx_function_table.test_pir            = vmx_test_pir;

That said...

This (the hooks being conditional in the first place) is bogus to begin
with.  Posted interrupts (or not) are a per-VM property even if we don't
wire this up properly yet.  It will be forced to be done properly in
order to support nested virt, as L0 Xen *must* comply with the settings
chosen by the L1 hypervisor.

So the choice to use the hooks will have to come from per-vCPU state,
and not from the conditional-ness of them.

Any chance I can talk you into instead making the hooks unconditional? 
If not, someone (George was volunteering) is going to have to undo this
in fairly short order.

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 22:41:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 22:41:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640967.999771 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6erv-0001a2-Gw; Fri, 24 Nov 2023 22:41:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640967.999771; Fri, 24 Nov 2023 22:41: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 1r6erv-0001Zv-EO; Fri, 24 Nov 2023 22:41:51 +0000
Received: by outflank-mailman (input) for mailman id 640967;
 Fri, 24 Nov 2023 22:41: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=6Spf=HF=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r6ert-0001Zp-La
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 22:41:49 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a71d2423-8b1a-11ee-98e2-6d05b1d4d9a1;
 Fri, 24 Nov 2023 23:41:48 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40b2afd049aso16363035e9.0
 for <xen-devel@lists.xenproject.org>; Fri, 24 Nov 2023 14:41:48 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 k10-20020a05600c1c8a00b004042dbb8925sm6887623wms.38.2023.11.24.14.41.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Fri, 24 Nov 2023 14:41:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a71d2423-8b1a-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1700865708; x=1701470508; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=oPmmjenKolGdlAbWzy5dL4bLDjsXuW5ddnW22P4orks=;
        b=vGK/TnhflU4IQzug+SPlfzBuo5OwE6+TVucVDooEWPH5YbEqeEjsTWhN8tubQnalYT
         OZrtuMkjUEHB0iUw4VJRZ2e2ca67QElSihxQObpDh3FF7nBcMWHjR4MT24cMVrJtW/Ei
         qItGo9fdmRM6VgYMzWKKRPIG12KsniZ8A20FA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1700865708; x=1701470508;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=oPmmjenKolGdlAbWzy5dL4bLDjsXuW5ddnW22P4orks=;
        b=FNERDMcIwp2kRCQXFkcej2h+fQL4Pyv5YxstQu8iCO0D7zLK8sydpDeFjWY4ZuNZbz
         WxfyV9QgfgpfB/Ml1eB7hbfcRXZ0y+4ydCSaYT8Xr2tR6im4Rw+3se7pVqa59pbXDYnt
         sJZKaMwLCL65USephnQIRBlVcLAQi4hw7W7cmvDQRJn+1K+FJBjoyposM5HnAqV4PxrE
         utQKzlSAu93PhULj2boRB3JVmmlz+qRZELUG63Vb6PaAzCKaHqEr4k9ESWeVpCoW5TWe
         KC4lRccRGjeTi7MhOXrDaLwhcowD322WNSDdfTb+ON6pJydVRbL2CrVJMHO7qZEqm0g6
         jjoA==
X-Gm-Message-State: AOJu0YxJpxMPJOkjjKw/lL8+c4WyCVWvZjsvf2L85oTemfQ+Rw2zulfe
	yvAnkuqsB85W3UZcakeBTxo2mQ==
X-Google-Smtp-Source: AGHT+IHiRcfCi+rJ/+EI3usXO99qWzcwsf8x9VZnI6cI0czItg1LeA/lnKvZlAxaIIQUhU8t8FlMyQ==
X-Received: by 2002:a05:600c:4fc5:b0:408:4120:bad2 with SMTP id o5-20020a05600c4fc500b004084120bad2mr3872851wmq.9.1700865707973;
        Fri, 24 Nov 2023 14:41:47 -0800 (PST)
Message-ID: <e17d6e45-b03c-4906-9fb3-af4770aa3cf0@citrix.com>
Date: Fri, 24 Nov 2023 22:41:47 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 08/15] VMX: convert vmx_basic_msr
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Kevin Tian <kevin.tian@intel.com>,
 Jun Nakajima <jun.nakajima@intel.com>,
 George Dunlap <george.dunlap@citrix.com>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
 <d07fb86f-ef9c-4c2b-ba9a-f1e5c813d45d@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <d07fb86f-ef9c-4c2b-ba9a-f1e5c813d45d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/11/2023 8:41 am, Jan Beulich wrote:
> ... to a struct field, which is then going to be accompanied by other
> capability/control data presently living in individual variables. As
> this structure isn't supposed to be altered post-boot, put it in
> .data.ro_after_init right away.
>
> Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

For (usable) nested virt, we're going to need the VMX MSRs, in their
architectural form, in struct cpu_policy.  And just like CPUID features,
I want it to end up with nice bitfields to use.

Looking through the rest of this series, vmx_caps ends up almost in
architectural form.

Could I talk you into having a "struct vmx_msrs" (or similar - 'caps'
doesn't feel quite right here) in the policy object, and also
instantiating one instance of it for this purpose here?

AFAICT, it would only be a minor deviation to the latter half of this
series, but it would be an excellent start to fixing nested virt - and
getting this data in the policy really is the first task in getting the
ball rolling on nested virt.

I don't mind about serialising/de-serialsing it - that still has a bit
of userspace complexity to work out, and depends on some of the cleanup
still needing a repost.

If you don't want to take the added space in cpu_policy yet, how about
having the declaration there and just forgo instantiating the subobject
in the short term?

~Andrew


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 23:24:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 23:24:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640983.999787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6fXM-0001V9-2c; Fri, 24 Nov 2023 23:24:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640983.999787; Fri, 24 Nov 2023 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 1r6fXL-0001Ui-T9; Fri, 24 Nov 2023 23:24:39 +0000
Received: by outflank-mailman (input) for mailman id 640983;
 Fri, 24 Nov 2023 23:24: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=SG+4=HF=epam.com=prvs=569229df20=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r6fXK-0001Rw-AD
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 23:24:38 +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 a140b6be-8b20-11ee-98e2-6d05b1d4d9a1;
 Sat, 25 Nov 2023 00:24:36 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AOMwAPH014042; Fri, 24 Nov 2023 23:24:28 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uk2wmr6b0-2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 24 Nov 2023 23:24:27 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB8551.eurprd03.prod.outlook.com (2603:10a6:10:3e2::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 23:24:23 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.022; Fri, 24 Nov 2023
 23: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>
X-Inumbo-ID: a140b6be-8b20-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TpeisnCGNsoilk3cGYa8Caj4IaklwZcUNyC+n2wWKAw5yc6wRmwJZIAx9c56FZk5q+6Ys7poOsY8pUVyuWYP3t6Ses1qAq5AVP0GAYl0kVb+nQb0HNcEuq8km5sYnMs/zh3LmbxAz9Tq8QtTzBEXPlu3RYAGTvVsTttS6QOscV3KVv19oyXpChmjEkdq6MHbWC6pnz7oZ0OcGt0WXIO/z5Je4XLoR9G//xLTrD5+xq40n+uMs4Cahdx+ebXJ3uxbXxoUCKbkGMHU/Q7u2NcC6HQg5ksIKhis9V0QEQi3bw3v3/u2TokBFm0sklLn6FqcyL2TBvZPSDQRSmPBFcGxtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xHbTU4afcP4VPCt7c5t9HdrtExRFqhrJyZbbFA7antU=;
 b=LKXOE4DBlEF+TWDHvKwomLlm2YVZyokt2Q93LX+x5hAkSnc5IxB7edN3umaJC568ZDOWmFLXoWzBO8lQznHcXYGZJ1D8FT2mCeDQ7OxbihVNgpnra7I7hestaewlqVkC9B2Q24dp9p3pic8bGUPEOp5Vo1bvG+hL3STVbwFxjyGEzq5vebchzv1IBcJce7CdvzmGw232r3pwaGOgtZNcewYVIuKec8ANeaTCttEDiwI/WrlPigQkR7cRTo/zzIUVDbysEXzgtT3HZkB7pwksQXvax0iZ8+YqEbcJe2fUwUZuCg2/KL3VlEt6KjtWaZ1yimON2U4rDF3K92g6FRZZ8w==
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=xHbTU4afcP4VPCt7c5t9HdrtExRFqhrJyZbbFA7antU=;
 b=f+L2mrMr2hKxvijMNlwg4y5oWE8Vlq/mikkbY+CAoTipigJu/3sK2TgZxSoY4fRTI/pl1lH8lEM8vyFK81OiO4qmDnpgDeLHrmmiE74fYDzbC1xBQIX9L9xuikpYNVyjdVxUehQeiRtYTcQht9gQFjB1CUYbmD+3LxJ2G1ilD5e0zukFsdmqXDiW0Woqa8TXgMHWBt0dyGRFqPZI2CP/kig75JXfx0I2UsfOCae62t8Uxj5EFdPvT0LnEas6qbZgR36vIkLPDaZEymzwO4c7YD28gfNIw7KMAi7PeiRTTpYv/IMZn6CLiI4tKCgLUAZIfeMZnWdJ8MR7pAjI8ajblA==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: David Woodhouse <dwmw@amazon.co.uk>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>, Paul Durrant
	<paul@xen.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Kevin Wolf
	<kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
        =?iso-8859-1?Q?Marc-Andr=E9_Lureau?= <marcandre.lureau@redhat.com>,
        Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
        "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
        "open list:Block layer
 core" <qemu-block@nongnu.org>
Subject: [PATCH v3 1/5] hw/xen: Set XenBackendInstance in the XenDevice before
 realizing it
Thread-Topic: [PATCH v3 1/5] hw/xen: Set XenBackendInstance in the XenDevice
 before realizing it
Thread-Index: AQHaHy1a8CXoLlgE4EukDzzCfLk4pQ==
Date: Fri, 24 Nov 2023 23:24:22 +0000
Message-ID: <20231124232400.943580-2-volodymyr_babchuk@epam.com>
References: <20231124232400.943580-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231124232400.943580-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB8551:EE_
x-ms-office365-filtering-correlation-id: 69fa1008-ed93-496a-f94d-08dbed447deb
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 qK1f2fq4OS3pPkJfbqDAW93jxVfQuUwbPUok1NGHYsKfXviBJ0BbB+wNuQ2N2Rvbsp0SWNW1wRYj9bSV5KXPlS1Pd/odZKmnE1C2uCQ9xqT3GN0+fEJIHXTTCpg9g4FeeySn06rkRU1aJQHN8V99b2L/jMHPkznJI6A5i5wDxY9TRzmBkjL8f0yDhKj+GnjOQAX2e2ckMRJk5/vVNAVHNtFAwJeVT4wsiNaPowkU25P+Ct8sdTqYm00jgiMvoaVDSmouE3FomHuAQy121AgyH8E7SS2YbMwGTIxHtwUqLezr0r4wffDT17i09HSDxdjsh7YLrnSV7j4Fu45YQ2cnf8llJSKsV5SLAVVWrWrit3Ye3ZXHEN/ErzhJN6yUa58EAR+znQac/ZLhcyEMx2ZyaUUC1+Hz1gr6CoSdadJ3RQO8e1lmwza60zCz0QhGRSD9gUewYgW+rLvLH5wyOdHrAQ4tb+4tttUh+TUKA7W4bvHfxHZ6MV0+SRxcLDGXd/6ohmIqHycDSGFAR1A46+tsneCKEZL1JdLnFQ1NpVrIWZf55/cXiShSsipVg+x4ILDqpQIGV0Y9CrkijAa8xOrb6QQz9oS/Hohmwq9jpeEi0hLKE1fAMuk1UnMnNhiYuCpL
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:(13230031)(396003)(346002)(366004)(136003)(376002)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(38100700002)(1076003)(6512007)(83380400001)(2616005)(6506007)(55236004)(71200400001)(41300700001)(8676002)(4326008)(5660300002)(8936002)(26005)(7416002)(478600001)(6486002)(2906002)(6916009)(316002)(91956017)(66476007)(66446008)(54906003)(64756008)(76116006)(66946007)(66556008)(86362001)(122000001)(36756003)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?CPvPHzxVoOOq6y3wA8LNBb+Kj/VUQx3X4aicVAeBC+Y+/wIriMwsz8Xy0P?=
 =?iso-8859-1?Q?3kdl24+1ibjZmifHuw0eV8c1BIIcqsnweBlHUVwJE1CZsn1zWx0t8m9W6/?=
 =?iso-8859-1?Q?IudXcE5l0hV43cvfxN3rm6itbaxbBPuXHXZ242fV+/1wLhUfmj1x+TTfSh?=
 =?iso-8859-1?Q?3nCZT7tjHsSXltSVbXh0UwB9gXxOIACvML3spqksfCQxGIAg44dbZAJ4kO?=
 =?iso-8859-1?Q?F+0EtIPvT2Oo0NZv1iZ+92zAmiAKFwcIADQdMHDVae64wRs7MK4SR/pVgx?=
 =?iso-8859-1?Q?x2k/VX0HUy0w9Q8u/djFYAoAmMJPH5Oc1joKTaDnbSKnslqiB2UWRJFVV4?=
 =?iso-8859-1?Q?r0LlzoAUC2TVMNAAvpqeEP9MmmypfTDU/xuRn0rlPN5Qioo3fdGjliRUCe?=
 =?iso-8859-1?Q?kdWbTqWDZckIfLxhfrYqg5tKbPNfb546KTvzYT1Esv3IboIn617ooDZ2sZ?=
 =?iso-8859-1?Q?WMLkbvspjy3mKvjEJS5vZdT/h6+DFQANlLffdLlTwrei8j0s0tIBQLWZ3B?=
 =?iso-8859-1?Q?LIl3ndSnvjgScRJFf/rSlzwLVyTxiiXKBcTXkzUypSQn7Q38CNyhpjsDbo?=
 =?iso-8859-1?Q?S/Fc4D4esTy1lQmDnB6umJ/0fcCvyN3lEZdlPhl8gefLcQsJvVr+fEvJIz?=
 =?iso-8859-1?Q?wHvoGC5HTcgjgf+Ej80RelmTEP3RXN+7FexI7Vw0in0ZwgaknAt8/Y5k6D?=
 =?iso-8859-1?Q?XVXe+cc1J+q0bqA7HWnZinSdCJ0Vys+X9ecEOOOMMxOsk92s+Yo+GOjKpt?=
 =?iso-8859-1?Q?iKAikwfB5hXXkWhtlPViHIohuPBCVfbLB0Wgwsm62KEKmegTtOjtvJDHiX?=
 =?iso-8859-1?Q?lnotSm0uUuRUi4WT2UFDb2XFv3cA1ZIRH0SSGmPvRoqc7MAjSOQ02oHgcW?=
 =?iso-8859-1?Q?O52NnaxQ95ETpBFLBYI8naP1Ps82/ql/Jcn9mVvITmTgsN5HlP1ECo8nc5?=
 =?iso-8859-1?Q?8t5F5yza4Fi/cAcQZxlrh2aIejq0cJgaSkEGHUMBw4wNmBq+KOgVkuNgNa?=
 =?iso-8859-1?Q?JJUhHC5ZRzs/GSrugkJDtBw+fLOdBpjI+0BGx39ejNFTG02fyg5vwViUzF?=
 =?iso-8859-1?Q?9Z3d/9dj0WC1Joo2b0iWKL2lzJUOGs1Or6RFGlEogdVdMiowOzRKtU+cN7?=
 =?iso-8859-1?Q?gnK9hR1E5Z0CQVppeSJhZdsATa2BfiTypqZMpxVfrKE3H//O9+9I4jaORj?=
 =?iso-8859-1?Q?BizT4xzXxyHPZkuCywxM828WDYU9Ivld8QUw1sWVFnhKUJeSBuyWmgnUCB?=
 =?iso-8859-1?Q?hK4snQAnGaS7HIOV7v2Lo9yZ0dU05J9HgcHCc4TswQjmnvUSZywad9XZ7f?=
 =?iso-8859-1?Q?mOvbJ4RexqJPQxsb0zJpaFm0xaYfcL1HxeBGrQLukeKW1Or0p1F3UzpxqK?=
 =?iso-8859-1?Q?SMStcfj91KPNtRn/xTj3D149qjJc9EUOXLvSqjl/Ji4nymzLJMfwn+oSy4?=
 =?iso-8859-1?Q?+bWVRS/siq6sqUdrRoxD3iayeI+vEiobJF0ke+E/2qbuFjopxNLv8phwMd?=
 =?iso-8859-1?Q?4xJBaaTyGGJdg7Q9uVkWiCVTIUYADNaull7vskyV09rGCSRLB0m3aUewBe?=
 =?iso-8859-1?Q?+SByiucRHu1Cdij4ZmeRUf9K16L5bA+X8J0wrrX6onzrEfw9O1ChIq9OnP?=
 =?iso-8859-1?Q?v4gZTGnGsZu5VtEWlnmxP7+S8hoW180+Gg1ZoTjWHr5sC3Ho27aLOVeg?=
 =?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: 69fa1008-ed93-496a-f94d-08dbed447deb
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2023 23:24:22.1479
 (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: NqFn8c1v7QgxnmQsmu10+gzfcesFpT6DPX0SzaFgzoE2ENmkQiWy6CPH4u8XqXyBfar2p4HQ7lImIiou1gUh/CK0SthqkFQzGK5ew52I+lI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8551
X-Proofpoint-GUID: 9fDivZI2WYkH1c0SNc8NmrePuBQxUhPq
X-Proofpoint-ORIG-GUID: 9fDivZI2WYkH1c0SNc8NmrePuBQxUhPq
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-24_09,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 malwarescore=0 priorityscore=1501 mlxscore=0 spamscore=0 bulkscore=0
 suspectscore=0 phishscore=0 mlxlogscore=413 adultscore=0
 lowpriorityscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311240182

From: David Woodhouse <dwmw@amazon.co.uk>

This allows a XenDevice implementation to know whether it was created
by QEMU, or merely discovered in XenStore after the toolstack created
it. This will allow us to create frontend/backend nodes only when we
should, rather than unconditionally attempting to overwrite them from
a driver domain which doesn't have privileges to do so.

As an added benefit, it also means we no longer have to call the
xen_backend_set_device() function from the device models immediately
after calling qdev_realize_and_unref(). Even though we could make
the argument that it's safe to do so, and the pointer to the unreffed
device *will* actually still be valid, it still made my skin itch to
look at it.

Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Paul Durrant <paul@xen.org>
---
 hw/block/xen-block.c         |  3 +--
 hw/char/xen_console.c        |  2 +-
 hw/net/xen_nic.c             |  2 +-
 hw/xen/xen-backend.c         | 15 +--------------
 hw/xen/xen-bus.c             |  4 ++++
 include/hw/xen/xen-backend.h |  2 --
 include/hw/xen/xen-bus.h     |  2 ++
 7 files changed, 10 insertions(+), 20 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index 6d64ede94f..c2ac9db4a2 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -1081,13 +1081,12 @@ static void xen_block_device_create(XenBackendInsta=
nce *backend,
=20
     blockdev->iothread =3D iothread;
     blockdev->drive =3D drive;
+    xendev->backend =3D backend;
=20
     if (!qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
         error_prepend(errp, "realization of device %s failed: ", type);
         goto fail;
     }
-
-    xen_backend_set_device(backend, xendev);
     return;
=20
 fail:
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index 5cbee2f184..bef8a3a621 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -600,8 +600,8 @@ static void xen_console_device_create(XenBackendInstanc=
e *backend,
         goto fail;
     }
=20
+    xendev->backend =3D backend;
     if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
-        xen_backend_set_device(backend, xendev);
         goto done;
     }
=20
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index af4ba3f1e6..afa10c96e8 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -627,8 +627,8 @@ static void xen_net_device_create(XenBackendInstance *b=
ackend,
     net->dev =3D number;
     memcpy(&net->conf.macaddr, &mac, sizeof(mac));
=20
+    xendev->backend =3D backend;
     if (qdev_realize_and_unref(DEVICE(xendev), BUS(xenbus), errp)) {
-        xen_backend_set_device(backend, xendev);
         return;
     }
=20
diff --git a/hw/xen/xen-backend.c b/hw/xen/xen-backend.c
index b9bf70a9f5..b2e753ebc8 100644
--- a/hw/xen/xen-backend.c
+++ b/hw/xen/xen-backend.c
@@ -88,19 +88,6 @@ static void xen_backend_list_add(XenBackendInstance *bac=
kend)
     QLIST_INSERT_HEAD(&backend_list, backend, entry);
 }
=20
-static XenBackendInstance *xen_backend_list_find(XenDevice *xendev)
-{
-    XenBackendInstance *backend;
-
-    QLIST_FOREACH(backend, &backend_list, entry) {
-        if (backend->xendev =3D=3D xendev) {
-            return backend;
-        }
-    }
-
-    return NULL;
-}
-
 bool xen_backend_exists(const char *type, const char *name)
 {
     const XenBackendImpl *impl =3D xen_backend_table_lookup(type);
@@ -170,7 +157,7 @@ XenDevice *xen_backend_get_device(XenBackendInstance *b=
ackend)
=20
 bool xen_backend_try_device_destroy(XenDevice *xendev, Error **errp)
 {
-    XenBackendInstance *backend =3D xen_backend_list_find(xendev);
+    XenBackendInstance *backend =3D xendev->backend;
     const XenBackendImpl *impl;
=20
     if (!backend) {
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index 4973e7d9c9..dd0171ab98 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -1079,6 +1079,10 @@ static void xen_device_realize(DeviceState *dev, Err=
or **errp)
         }
     }
=20
+    if (xendev->backend) {
+        xen_backend_set_device(xendev->backend, xendev);
+    }
+
     xendev->exit.notify =3D xen_device_exit;
     qemu_add_exit_notifier(&xendev->exit);
     return;
diff --git a/include/hw/xen/xen-backend.h b/include/hw/xen/xen-backend.h
index 0f01631ae7..ea080ba7c9 100644
--- a/include/hw/xen/xen-backend.h
+++ b/include/hw/xen/xen-backend.h
@@ -10,8 +10,6 @@
=20
 #include "hw/xen/xen-bus.h"
=20
-typedef struct XenBackendInstance XenBackendInstance;
-
 typedef void (*XenBackendDeviceCreate)(XenBackendInstance *backend,
                                        QDict *opts, Error **errp);
 typedef void (*XenBackendDeviceDestroy)(XenBackendInstance *backend,
diff --git a/include/hw/xen/xen-bus.h b/include/hw/xen/xen-bus.h
index 334ddd1ff6..7647c4c38e 100644
--- a/include/hw/xen/xen-bus.h
+++ b/include/hw/xen/xen-bus.h
@@ -14,9 +14,11 @@
 #include "qom/object.h"
=20
 typedef struct XenEventChannel XenEventChannel;
+typedef struct XenBackendInstance XenBackendInstance;
=20
 struct XenDevice {
     DeviceState qdev;
+    XenBackendInstance *backend;
     domid_t frontend_id;
     char *name;
     struct qemu_xs_handle *xsh;
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 23:24:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 23:24:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640982.999781 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6fXL-0001SJ-Pn; Fri, 24 Nov 2023 23:24:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640982.999781; Fri, 24 Nov 2023 23:24: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 1r6fXL-0001SC-M1; Fri, 24 Nov 2023 23:24:39 +0000
Received: by outflank-mailman (input) for mailman id 640982;
 Fri, 24 Nov 2023 23:24: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=SG+4=HF=epam.com=prvs=569229df20=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r6fXJ-0001Rw-Mj
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 23:24:37 +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 a0c0b35b-8b20-11ee-98e2-6d05b1d4d9a1;
 Sat, 25 Nov 2023 00:24:35 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AOMwAPI014042; Fri, 24 Nov 2023 23:24:29 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uk2wmr6b0-3
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 24 Nov 2023 23:24:28 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB8551.eurprd03.prod.outlook.com (2603:10a6:10:3e2::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 23:24:23 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.022; Fri, 24 Nov 2023
 23:24: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: a0c0b35b-8b20-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NbVatzfST7Db17RlJcewQWIWs4r66OEQ9LAUFhZ+QOzyjbdVsLxBIl5jD8KxYy+3MPODmsV2JB3UMYOPurzihF8M6I8Whs7x6bKL8+s7G+sQI6Gy3UskpCTZPNZF98XyhGYRACWbehJ7ynXGxy/z6E5/zPHyCcO+jipcZU8vj8g5+N4bUdDASP0tCtWyDansmLdVPLTVy0evDF/E+yzaAFHahDh2xMhDvBY4V8CY74O9puukCi7+XxmprHsywdv8+AcR7eKQIxvcqHu4yWbXKP0jOtKl6xmauESnkLpyNK4at/kQNLPYA2zicBXL6GTvOL51Nlk0Lp0V34ECOxjIow==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=y5NInDPYzynXk4olgXY22V4iJ6pK1OKa9T7IrkYRcgc=;
 b=QsY1WR92DT6I0UlUrcyjvYf+oWUR1aWUn0BxMGRKFhjXYy28SoVoSKHnmSGc8kL9OiuQ8GgjYvG8PVyjgpTXEKPAlPZFAl7dhJb2KOX88v2pt9gnUKWhZ0xvjNc9aj9RZIJhXHLL8Ay+a0xtVwzs+FR/dMVbvHJwawBbDjB1MwOWqovetrKB6uQ4r8dx5EpJfLdzuFO8WhsxtNY8TGxA5iYUCj+VCWeZuOqE0ZO/evmsuGEU72hktzLQSR32dqrz8GBkAjGZXhCfZ/B3LQno7igh/8hFP78VR9dTu31eRw26b4579sVH7d531YuyfgMtWbBf7LxHjOBirPBiGJieCg==
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=y5NInDPYzynXk4olgXY22V4iJ6pK1OKa9T7IrkYRcgc=;
 b=UNtw5F8wJ5FGYckK8d/sZr7L9+kItSpRlAWiK8+7Cr0g0fDdBfd/slCXyzbmeB5oUr/gy4UkxNCp9sgIZfQ6WPzKdJtse0DCvi6IDq2+gabQi1EhlKkABF7EhEXG8mp3ce9CBB9yB+HbVak0B11a0FIlLojTQfKgUyFLr7LXsNBASv2RaTfds9r/XnNibabRjRJl8dkS1bEy3/Ug/Frl8BiAZknkv65527jpbBArf1r9ddpONtG6NSyEEWOqT+AZL9NcV5eCNhJWhnGxjtjBFvS8Vf6lS084/Swz3F/x0fy/EtL9f+EzF2wb7gzCO2M+RMOMJ/XnY10JY5Cwx87sAQ==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: David Woodhouse <dwmw@amazon.co.uk>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Paul Durrant <xadimgnik@gmail.com>,
        Oleksandr
 Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard
	<anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>, Kevin Wolf
	<kwolf@redhat.com>,
        Hanna Reitz <hreitz@redhat.com>,
        =?iso-8859-1?Q?Marc-Andr=E9_Lureau?= <marcandre.lureau@redhat.com>,
        Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
        "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
        "open list:Block layer
 core" <qemu-block@nongnu.org>
Subject: [PATCH v3 2/5] xen: backends: don't overwrite XenStore nodes created
 by toolstack
Thread-Topic: [PATCH v3 2/5] xen: backends: don't overwrite XenStore nodes
 created by toolstack
Thread-Index: AQHaHy1b3EzvbBTaE06mm4g67YDmDQ==
Date: Fri, 24 Nov 2023 23:24:22 +0000
Message-ID: <20231124232400.943580-3-volodymyr_babchuk@epam.com>
References: <20231124232400.943580-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231124232400.943580-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB8551:EE_
x-ms-office365-filtering-correlation-id: 79aa1d96-b998-457c-9410-08dbed447e27
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 PX5QxQ/3/kiqNtjA8aiYBrNGyfixFZag0Y2G457JCoSybbEJ2X/zNH+bRXrInOiMY9CqtB5PRb6kkfTdZIPB969ikRwsx1gPkeSw99BkvQ6n3mkWdMDzGj7yUPV1rRBjv9ph1CKMXKBaeG45vMVGyn0DCA3aGALcZwVti1oor6BiNnblLqTclufjCY2q0A/9eF566Ho0Ww17Kj96H0om+CRZ/Qka1/kTznYVkRf//p1eYljH0duKe5nFbPCG+bwmER0g1I/+6Jfooc1CsjQQsTuz3Hf0Ty1xcMF3xfhG3Wc6rGE9kXQPFsUCJzx+EZGb8DY2I0fiN7mWarOygunie+1egNWw058y6IH6OfKB51rc8+w3x07K5WYpuBamq9ySmjIEY14n4Pr5d94m285x+s7/RDkPXDF2maSgUNNnXUdu4vApYt//y3xN+lCk8j77FFeF3WAHgQh51Bj6GvQknsVBbRY/ayDsHyioYp7YL9Jxf4hm5BJ93g4vU1HfDcwfzhU7sVaTNk4yQc/WZsjV50hvbubfhBs2wGla44EWR6TMLwilNp/R1/bDQbXxjbG3KotGZBLUuNWuXX8Og0ibAuD7m6bAYxjTzag5ptxAL20wEkEe8YhAt0ffUFKsxQGM
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:(13230031)(396003)(346002)(366004)(136003)(376002)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(38100700002)(1076003)(6512007)(83380400001)(2616005)(6506007)(55236004)(71200400001)(41300700001)(8676002)(4326008)(5660300002)(8936002)(26005)(7416002)(478600001)(6486002)(2906002)(6916009)(316002)(91956017)(66476007)(66446008)(54906003)(64756008)(76116006)(66946007)(66556008)(86362001)(122000001)(36756003)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?P5Zk/L9SG8UthSFzLsCkHbt/S6WyBm8+U7I/ORZv+rPdcD9abqEQfjbBwh?=
 =?iso-8859-1?Q?XbhynglhgNPobt6+GYHck+kzZAQPzUOSw1b7Jg+/MmMnF4ayNxuQOgxdW7?=
 =?iso-8859-1?Q?WRQA6MOaxj3pwk6d5VZZPwIiPx5HM4+k5t0L/Qa9/RcHclCOWMUMAPWBHq?=
 =?iso-8859-1?Q?7FyHiig5can1lhcXjRmSHOhJBKbAeFBUUcijbnJFiCBx0jiRKI6uluzKDU?=
 =?iso-8859-1?Q?8/aLvdWyTC2n6tQikY4kmsrW3nmK/cf50+TucX7oegxUZKhP97oiQezPQC?=
 =?iso-8859-1?Q?W4OyPpKNmX1nW+4GUtzkxH9qGrrtl1PzDHBdyCGw37UAIpMjzx0LJPGkrE?=
 =?iso-8859-1?Q?dN8HKpK45ZS8bg125CCaCSZh5fumZl4/RF23LCtga3KFGekJ8EuKWV50Cj?=
 =?iso-8859-1?Q?EMusd4kMALvYLyRO3km0lL+pFVxtImkO46dJtNMMfj8v5gjvcH0V4YYgsh?=
 =?iso-8859-1?Q?lBfLpcfqttovs60xpakvXemoHlPr3koRVlAr6bTIGNxw3IRjT3MIdI4VxL?=
 =?iso-8859-1?Q?wqqSH+Ut3yIjHtUMg/aR8oPdxrcSXUAVeGrx0iEeoyV9NJDKEq+wj4Xjda?=
 =?iso-8859-1?Q?inwLj5cmmvd0uupUl+e8QyibMzCb2VEOIyoPx393RTfx6DvLtHaXiMkrK7?=
 =?iso-8859-1?Q?RNx65IPfzWxUuMNY3/uKwqE0O3aI6dGCUUtaJefMSxTKnQds2FhOAOioUc?=
 =?iso-8859-1?Q?NTggrNswn6lpKt8WTPRpnQyM6Fa2rP1n8Btd2ZlOGYZESdxMbtkcnt0JM7?=
 =?iso-8859-1?Q?86HEyqdh7gpO4QgbKMvtvIE/fwOezfjb9F6tnKKpIfHW0FIu/APPLaJCs/?=
 =?iso-8859-1?Q?Fd6I59M0Vo2guRTT5Bb9iQKkVScXQE3z7Hk20D3Nh/va4U1VyfkovqEoHb?=
 =?iso-8859-1?Q?Vfas4/KBszV08b1eL89Or5tLYrxngbG0tqzC2O3iAKhZC+vdIhuNNd5aZE?=
 =?iso-8859-1?Q?+Ht+uhzdSyHhuBi3YdgYacZPzXO7WgutJ22tutN3Jq82qpVjVYrB9C57wx?=
 =?iso-8859-1?Q?4js+n06l0phNUKKK0JVb4ItaXleiYtJp3N78+LMuWrnB4uzqFs8HTHuRdi?=
 =?iso-8859-1?Q?jP2WerCmaN/f+S5C0g4UWItIuF6En7Rx93yJFIRNzhUV0z/QE+5kxM27uG?=
 =?iso-8859-1?Q?0xgS0lLti7lk7rwQo3jSA+X0VYm7fLYIwrDDczxGTy15rzre2glOxT8yRA?=
 =?iso-8859-1?Q?lcO1x5gSK1luKZCzvO1NeeDcK/RK6kp2wd6yA46GpT8ajO93Hjraua6ssG?=
 =?iso-8859-1?Q?OmFBO7Gx1otGgiCrOOMC06g+kOykXowHRXdUtgYeBb4SDb9pta6oYBjYcY?=
 =?iso-8859-1?Q?CT+KEgpAnY35U6C6Bm7+aU89Cjx3ExVtQIlQarisBR3XOFqXhbCjtPSNNL?=
 =?iso-8859-1?Q?aT5Y6q7H/5N8PIZguSJ+1udV/mPvjVSfd2kaGdtWxVnjMppEKDwZFr/cXw?=
 =?iso-8859-1?Q?Ox6chBtAZAl5/V5c0grVobCx/zeMJxSufQ+cHvtos9fAvBKk87sHBEgQUx?=
 =?iso-8859-1?Q?F5fYz0z8Fb68m88pidzR6LCZkSXEGB9T+2PUIaqMySXyQMVyCOLI+VWjW5?=
 =?iso-8859-1?Q?qm+TYCytMgcfnKpRz69aF8wERw5VXiXV7cfGh69FoskZO6CFyTdUl65D3r?=
 =?iso-8859-1?Q?O0Qckf41XxgkveMjOn8nJK+VsbkZbZeyUBvJfhPWKn6r8/gwi6ummsMQ?=
 =?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: 79aa1d96-b998-457c-9410-08dbed447e27
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2023 23:24:22.5517
 (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: xNkyqKI4YT4IIdT+ljJO8sagcbRBqB2Fuv6M9yFz1v8iP/hdl/kWRESJTCJqW1KfiUgAMAUlMRepVUWpLavnOEXzKt9n2h9MOEmtMwUYtrI=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8551
X-Proofpoint-GUID: 79EPq4XasLgjwOuPBklnjbU3ybtvPQIo
X-Proofpoint-ORIG-GUID: 79EPq4XasLgjwOuPBklnjbU3ybtvPQIo
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-24_09,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 malwarescore=0 priorityscore=1501 mlxscore=0 spamscore=0 bulkscore=0
 suspectscore=0 phishscore=0 mlxlogscore=971 adultscore=0
 lowpriorityscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311240182

Xen PV devices in QEMU can be created in two ways: either by QEMU
itself, if they were passed via command line, or by Xen toolstack. In
the latter case, QEMU scans XenStore entries and configures devices
accordingly.

In the second case we don't want QEMU to write/delete front-end
entries for two reasons: it might have no access to those entries if
it is running in un-privileged domain and it is just incorrect to
overwrite entries already provided by Xen toolstack, because toolstack
manages those nodes. For example, it might read backend- or frontend-
state to be sure that they are both disconnected and it is safe to
destroy a domain.

This patch checks presence of xendev->backend to check if Xen PV
device was configured by Xen toolstack to decide if it should touch
frontend entries in XenStore. Also, when we need to remove XenStore
entries during device teardown only if they weren't created by Xen
toolstack. If they were created by toolstack, then it is toolstack's
job to do proper clean-up.

Suggested-by: Paul Durrant <xadimgnik@gmail.com>
Suggested-by: David Woodhouse <dwmw@amazon.co.uk>
Co-Authored-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

Changes in v3:

 - Rephrased the commit message
---
 hw/block/xen-block.c  | 16 +++++++++-------
 hw/char/xen_console.c |  2 +-
 hw/net/xen_nic.c      | 18 ++++++++++--------
 hw/xen/xen-bus.c      | 14 +++++++++-----
 4 files changed, 29 insertions(+), 21 deletions(-)

diff --git a/hw/block/xen-block.c b/hw/block/xen-block.c
index c2ac9db4a2..dac519a6d3 100644
--- a/hw/block/xen-block.c
+++ b/hw/block/xen-block.c
@@ -390,13 +390,15 @@ static void xen_block_realize(XenDevice *xendev, Erro=
r **errp)
=20
     xen_device_backend_printf(xendev, "info", "%u", blockdev->info);
=20
-    xen_device_frontend_printf(xendev, "virtual-device", "%lu",
-                               vdev->number);
-    xen_device_frontend_printf(xendev, "device-type", "%s",
-                               blockdev->device_type);
-
-    xen_device_backend_printf(xendev, "sector-size", "%u",
-                              conf->logical_block_size);
+    if (!xendev->backend) {
+        xen_device_frontend_printf(xendev, "virtual-device", "%lu",
+                                   vdev->number);
+        xen_device_frontend_printf(xendev, "device-type", "%s",
+                                   blockdev->device_type);
+
+        xen_device_backend_printf(xendev, "sector-size", "%u",
+                                  conf->logical_block_size);
+    }
=20
     xen_block_set_size(blockdev);
=20
diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
index bef8a3a621..b52ddddabf 100644
--- a/hw/char/xen_console.c
+++ b/hw/char/xen_console.c
@@ -450,7 +450,7 @@ static void xen_console_realize(XenDevice *xendev, Erro=
r **errp)
=20
     trace_xen_console_realize(con->dev, object_get_typename(OBJECT(cs)));
=20
-    if (CHARDEV_IS_PTY(cs)) {
+    if (CHARDEV_IS_PTY(cs) && !xendev->backend) {
         /* Strip the leading 'pty:' */
         xen_device_frontend_printf(xendev, "tty", "%s", cs->filename + 4);
     }
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index afa10c96e8..27442bef38 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -315,14 +315,16 @@ static void xen_netdev_realize(XenDevice *xendev, Err=
or **errp)
=20
     qemu_macaddr_default_if_unset(&netdev->conf.macaddr);
=20
-    xen_device_frontend_printf(xendev, "mac", "%02x:%02x:%02x:%02x:%02x:%0=
2x",
-                               netdev->conf.macaddr.a[0],
-                               netdev->conf.macaddr.a[1],
-                               netdev->conf.macaddr.a[2],
-                               netdev->conf.macaddr.a[3],
-                               netdev->conf.macaddr.a[4],
-                               netdev->conf.macaddr.a[5]);
-
+    if (!xendev->backend) {
+        xen_device_frontend_printf(xendev, "mac",
+                                   "%02x:%02x:%02x:%02x:%02x:%02x",
+                                   netdev->conf.macaddr.a[0],
+                                   netdev->conf.macaddr.a[1],
+                                   netdev->conf.macaddr.a[2],
+                                   netdev->conf.macaddr.a[3],
+                                   netdev->conf.macaddr.a[4],
+                                   netdev->conf.macaddr.a[5]);
+    }
     netdev->nic =3D qemu_new_nic(&net_xen_info, &netdev->conf,
                                object_get_typename(OBJECT(xendev)),
                                DEVICE(xendev)->id, netdev);
diff --git a/hw/xen/xen-bus.c b/hw/xen/xen-bus.c
index dd0171ab98..d0f17aeb27 100644
--- a/hw/xen/xen-bus.c
+++ b/hw/xen/xen-bus.c
@@ -599,8 +599,10 @@ static void xen_device_backend_destroy(XenDevice *xend=
ev)
=20
     g_assert(xenbus->xsh);
=20
-    xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->backend_path,
-                    &local_err);
+    if (!xendev->backend) {
+        xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->backend_path,
+                        &local_err);
+    }
     g_free(xendev->backend_path);
     xendev->backend_path =3D NULL;
=20
@@ -764,8 +766,10 @@ static void xen_device_frontend_destroy(XenDevice *xen=
dev)
=20
     g_assert(xenbus->xsh);
=20
-    xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->frontend_path,
-                    &local_err);
+    if (!xendev->backend) {
+        xs_node_destroy(xenbus->xsh, XBT_NULL, xendev->frontend_path,
+                        &local_err);
+    }
     g_free(xendev->frontend_path);
     xendev->frontend_path =3D NULL;
=20
@@ -1063,7 +1067,7 @@ static void xen_device_realize(DeviceState *dev, Erro=
r **errp)
     xen_device_backend_set_online(xendev, true);
     xen_device_backend_set_state(xendev, XenbusStateInitWait);
=20
-    if (!xen_device_frontend_exists(xendev)) {
+    if (!xen_device_frontend_exists(xendev) && !xendev->backend) {
         xen_device_frontend_printf(xendev, "backend", "%s",
                                    xendev->backend_path);
         xen_device_frontend_printf(xendev, "backend-id", "%u",
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 23:24:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 23:24:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640984.999797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6fXM-0001js-JX; Fri, 24 Nov 2023 23:24:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640984.999797; Fri, 24 Nov 2023 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 1r6fXM-0001hJ-CH; Fri, 24 Nov 2023 23:24:40 +0000
Received: by outflank-mailman (input) for mailman id 640984;
 Fri, 24 Nov 2023 23:24: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=SG+4=HF=epam.com=prvs=569229df20=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r6fXL-0001Rw-AY
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 23:24:39 +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 a1ddba27-8b20-11ee-98e2-6d05b1d4d9a1;
 Sat, 25 Nov 2023 00:24:37 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AOMwAPN014042; Fri, 24 Nov 2023 23:24:31 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uk2wmr6b0-6
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 24 Nov 2023 23:24:31 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB8551.eurprd03.prod.outlook.com (2603:10a6:10:3e2::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 23:24:24 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.022; Fri, 24 Nov 2023
 23:24: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: a1ddba27-8b20-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N5VkXAhLS1mC99Iq0T0NI3IIk8YiTMTNW7pmF+nOP677+Dr2gVnQcvhDXr7Zq9YRVCl2RgEjbf32VdHVx0jdtLVfG6Ug74rEbooZT0AQckFeBJE/0dd6G5HpYTGjvdpNt44TtlORQufKPibOqUsXoZBkAT9yy0WLjy78ykkE1sHWKd1YnFskvseOBjra18N1b96gAjpeR8HneYXdxoUiA7blJu6tgKucY1v/4r9SQWdn+X3zbbu6OjAgplYN002KLbE2pQUev+s+8vOcs4b9/R3uet71yFX8zCvRjfUbbdVrORwy+2BXp3INyhzWxMDzMcN4zvMNCUn7VRWOMJl1Rg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=D1sE3o7/1/WPykkUQrLgvygBnr35JJ7+xArB8a3+h6c=;
 b=huE7CyX2ZEIq5Kf7JISLh6KglMfgR/pe1o1vGP6D6Zjkhl0rCcPbXlnb84Ycr/Fp+9XzkyvTjkOc6jhyJ8kpQ/88xV6RDNpPjdxbreVsvAx2bZXSS7Q2qk09/XgBFjSDsTzBr4VVKs+C1MDKg0t1lTmBePcqQ6c4kukYJQkQC2+x0+7Vc8iZt3Id200m3Vc6futN8G4Y3zDOBj4C9Xov3rioJ1hchxUXeNDF0wM7OmLmcN9zD5qRoWBvpA9EFsi21EqPEtk6Tvz2jmTRy6MSOIr8xEg000JnRds7RgvDp5460N1/QKy7tYZ9t2JCrlKXy61CJ7CwKqxEHYz42ex7gg==
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=D1sE3o7/1/WPykkUQrLgvygBnr35JJ7+xArB8a3+h6c=;
 b=rfFnJzc4Sh9CHT4pWcaokKQnKCfjoIl2rJY5c2gI9qRcKoiVDybsSsaW73GFlANfODsBiHuqf3zi2AusIuWknkFauxflpAqh2URsyApqDvwih8/X8r3w3ycXuOm5dordQib9NP+gJ7bqFlSJZOzO7qLIDggb3s4mRVxKAVMXcdCx7gyJRAmLeXjI8eQHQbjqPs5WF07fszMnZfqh6qK2J+K3Ltk+YgCjEj7LWMQrIXfuV5JsU0TGkoO2ApXZ+Lk31dXTElR39mFnPKh+OjwnUqFOJEGNYc2bNBbb5d69lLffgxpaRbs4uhslRUrKpitu4W3vjvsfZ55WEIuWhrMqdw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: David Woodhouse <dwmw@amazon.co.uk>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Oleksandr Tyshchenko
	<Oleksandr_Tyshchenko@epam.com>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Peter Maydell <peter.maydell@linaro.org>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>,
        "open list:ARM TCG CPUs" <qemu-arm@nongnu.org>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: [PATCH v3 5/5] xen_arm: Add virtual PCIe host bridge support
Thread-Topic: [PATCH v3 5/5] xen_arm: Add virtual PCIe host bridge support
Thread-Index: AQHaHy1b0mzAt+6ABEigm2G74/KugQ==
Date: Fri, 24 Nov 2023 23:24:23 +0000
Message-ID: <20231124232400.943580-6-volodymyr_babchuk@epam.com>
References: <20231124232400.943580-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231124232400.943580-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB8551:EE_
x-ms-office365-filtering-correlation-id: 2624485c-5b2f-4db5-647a-08dbed447eda
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 0dw3QvhJzIeRch7/T2ifhNUsO8E5XgmhR9UXKqTvfhi1rT9ValVr5Ja5GfKyMIS0t5w23MF2ZTABrjFAeP6nT7+SgZMx/Ya8hsNd6e2Wjz8iJe7TJyuiyRsdvgBRH8qLboX3NXg1QeTUxSrVARFsHWZvq30JV7DjFxEAIyO//EDBU+cOTkhpTx1lTTKnwpPZVxc8m0vYzf5O35zZqbWgEqtO/6uMCAER6/y5fm3vA+yLwhBg1h4ZQxve/p0ewUEF+eIxbuHXXxBNpLP7UA0gNznWN2gOHaoUJ+bBRum36B6Yx7varMPSOPlBB5wax988zGpKj1ULWsXFAMEHe4CUeTw7BEZQdlrthpipKanbEPM8n3VIo0/0Rgz/i9rOJeLv8xkFa50J3i8DV2DVY3Ddnw5LApRKPWvVO9aMQhCH0eAQo2Y2RsFk0aniPIQsOxLzkyWTLZs3QdWBTkrnXA01fK0EneOCrwYAT5dxENMcjOTlDat193Pe4Gs++RzHeCKH1SM5y9z4U3rV3J22tybOSPyRwEDp+2XaTa2eg1TnLC41yuL+Jrxo3z8YxRlVtDvZcetgAB5wILL51/ddRif2aXslJ7PCA9ew/aSdxhdbAHyiX7bu57HvZRdfpRj8ggI+
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:(13230031)(396003)(346002)(366004)(136003)(376002)(39860400002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(38100700002)(1076003)(6512007)(83380400001)(2616005)(6506007)(55236004)(71200400001)(41300700001)(8676002)(4326008)(5660300002)(8936002)(26005)(478600001)(6486002)(30864003)(2906002)(6916009)(316002)(91956017)(66476007)(66446008)(54906003)(64756008)(76116006)(66946007)(66556008)(86362001)(122000001)(36756003)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?nc651D1DQsrI1tXHu4/DrE5IVnTVih62bIweyETHOzZ+OKb6OpDiYQp5Zx?=
 =?iso-8859-1?Q?skHzHMx+0hGC95uOyVgZv1GquHewkfNKCQVov4qMckhD0W1yZraRj6OCjC?=
 =?iso-8859-1?Q?bDtS/RZrNsIqFxdxhQJaAoWZjODRCKMVJfYCP+iq5SSIshI0tgXfp8o5Ik?=
 =?iso-8859-1?Q?8WaQywi1Dli+xdMMYF4VoWfwPx4HbhwAhtbdacYBaS61bhvmeJHfoqjuiB?=
 =?iso-8859-1?Q?5IWAsVRwNJjLW9DihTy3sZjcg3XbHsOWxzQoFrkAynbfPnlmT0eA1XUSPY?=
 =?iso-8859-1?Q?ZB3b4hrQzbr3sh+H1V5W4BfUvFCe458oovQWBf0nGV9KWt2BuD0vpW24hZ?=
 =?iso-8859-1?Q?zuUg+tqeMwPlj3xaxj1W23Kedst0z5/up5iQJPmicBpDnXXM0rV3wrLkfX?=
 =?iso-8859-1?Q?loZutFWuQi9KtXum4MhVFmtTRRcC/Rql+Fo5lo+MYIQoOYnQ/gAx1vvX6c?=
 =?iso-8859-1?Q?ViK9uWc8fjhbDusV0HkwXIEEUT7yV/+bm2FnCBThqNSAdyKfqE140WZAfm?=
 =?iso-8859-1?Q?koNH86Zbf21GFRD8szn5U6jfUSNHifLBFH40pte+LeeUOEwA/aycEARd+S?=
 =?iso-8859-1?Q?HNnSd4y+xAEiFRf4H8vKcn3jogabV9hiGOyMQ+bPXsHzjaSkf6rRZuD9Dc?=
 =?iso-8859-1?Q?I37StdfCK1n9R35LbLcuQs8VByI/JhP1rzYdHUxzZ82XMrKNGR7qzEi3Rb?=
 =?iso-8859-1?Q?m6FxEMlShdMfR8vyoMlaxHnNUGSfRm2qE7orzmoS1N/gCeTsSZ8DpTJVCM?=
 =?iso-8859-1?Q?KLH+WDdqX+XqSLN7fbB9YNOF85foIKmOn5xai900IeKC0aUgN+xB28Steq?=
 =?iso-8859-1?Q?bsYg+pQS4hR1tEtjpQtvJfakvSJm0ukgfIAtJ2Tl2lFDPSj0KgqvKDSQAQ?=
 =?iso-8859-1?Q?3Lf2sLOQr1XN55v7TDdy4OJiOj3CHRldy3HDawPGsfsy7etsx/IhTd6OEn?=
 =?iso-8859-1?Q?xbdNoipbeNiQ7w7TCatXCRveptdkrN3sy+a/oyjuPOiS/g7A/bqFqNQavu?=
 =?iso-8859-1?Q?6BklwEkeehDFuc8USdxxeGI0RZnc01cLPZew/OImvc/n/TRQ6wuWMTmFg4?=
 =?iso-8859-1?Q?JX1+VMAcfDk1LN/vCRB7HiWL4j6iMnLXd1Rc6JGRnzYKfdfg17EocNurKJ?=
 =?iso-8859-1?Q?q2IVdWebmoewCh7flmE5PXDKX7Y+R4wqLzLjcKU1KPGvAWM+tV7VJ9w7N+?=
 =?iso-8859-1?Q?xRBGp3kYgAeYavgbd+9Gx87pU58J80UeeKlpz2unH0vRtJ1HloBMPlegxW?=
 =?iso-8859-1?Q?6mEiLPY3Byp+42cPUoFTJXl1qtJpBoHrxCPKeBvc/VTxNxUFUYb3Dd2tL9?=
 =?iso-8859-1?Q?ngNEXtLlD9fDecdcc/dHV+w+K+YjfL7LQbTdkIMoIAeseL5FsusoYWH28l?=
 =?iso-8859-1?Q?OOArVNvo0/HRayJfyho0ASNtur2Wb2R1xckfXD3CCHkyJ7JO6naOTCSpdq?=
 =?iso-8859-1?Q?ab1Iu8yTmHpugKdHnPLLuJ0hPVf2pOMX/AG0oaFvI2Jl6J9FM0c9ZZlQH6?=
 =?iso-8859-1?Q?Zkxn6hSOJmWOQmYa/0q2lpIevyKc985995HiSoB/uaWFJcsnrBTtF2yPKY?=
 =?iso-8859-1?Q?5X5pFUbJiKFg69lrEO1LRHY2c4UycokjI1BK7ol8vlvqxfv6nBJDYqi+m/?=
 =?iso-8859-1?Q?zGLGaTw3wzzxH85lHvYepCSWCTmL/4LiQkR0CfxFxG6GZbWuayei0GaA?=
 =?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: 2624485c-5b2f-4db5-647a-08dbed447eda
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2023 23:24:23.7566
 (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: 3VCbrezFxuhWwkrIzUou/D+DEh5gK8wwvmULD316tIvxCmOdQ+BrReAnns9YNlDGUi5O2qIfHdMlpdWAJJoUGf9367lrJWV+CuKagPpg8fY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8551
X-Proofpoint-GUID: IuhptZD8j7yZJTKtZiqN36M2VDN9hsRh
X-Proofpoint-ORIG-GUID: IuhptZD8j7yZJTKtZiqN36M2VDN9hsRh
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-24_09,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 malwarescore=0 priorityscore=1501 mlxscore=0 spamscore=0 bulkscore=0
 suspectscore=0 phishscore=0 mlxlogscore=999 adultscore=0
 lowpriorityscore=0 clxscore=1015 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311240182

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

The bridge is needed for virtio-pci support, as QEMU can emulate the
whole bridge with any virtio-pci devices connected to it.

This patch provides a flexible way to configure PCIe bridge resources
using QEMU machine properties. We made this for several reasons:

- We don't want to clash with vPCI devices, so we need information
  from Xen toolstack on which PCI bus to use.
- The guest memory layout that describes these resources is not stable
  and may vary between guests, so we cannot rely on static resources
  to be always the same for both ends.
- Also the device-models which run in different domains and serve
  virtio-pci devices for the same guest should use different host
  bridge resources for Xen to distinguish. The rule for the guest
  device-tree generation is one PCI host bridge per backend domain.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

Changes in v3:

 - Use QOM properties instead of reading from XenStore
 - Remove unneeded includes
 - Move pcie_* fields into "struct cfg"

Changes in v2:

 - Renamed virtio_pci_host to pcie_host entries in XenStore, because
 there is nothing specific to virtio-pci: any PCI device can be
 emulated via this newly created bridge.
---
 hw/arm/xen_arm.c            | 226 ++++++++++++++++++++++++++++++++++++
 hw/xen/xen-hvm-common.c     |   9 +-
 include/hw/xen/xen_native.h |   8 +-
 3 files changed, 240 insertions(+), 3 deletions(-)

diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c
index b9c3ae14b6..dc6d3a1d82 100644
--- a/hw/arm/xen_arm.c
+++ b/hw/arm/xen_arm.c
@@ -34,6 +34,7 @@
 #include "hw/xen/xen-hvm-common.h"
 #include "sysemu/tpm.h"
 #include "hw/xen/arch_hvm.h"
+#include "hw/pci-host/gpex.h"
=20
 #define TYPE_XEN_ARM  MACHINE_TYPE_NAME("xenpvh")
 OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM)
@@ -57,6 +58,10 @@ struct XenArmState {
=20
     struct {
         uint64_t tpm_base_addr;
+        MemMapEntry pcie_mmio;
+        MemMapEntry pcie_ecam;
+        MemMapEntry pcie_mmio_high;
+        int         pcie_irq_base;
     } cfg;
 };
=20
@@ -73,6 +78,15 @@ static MemoryRegion ram_lo, ram_hi;
 #define NR_VIRTIO_MMIO_DEVICES   \
    (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST)
=20
+#define XEN_ARM_PCIE_ECAM_BASE          "pcie-ecam-base"
+#define XEN_ARM_PCIE_ECAM_SIZE          "pcie-ecam-size"
+#define XEN_ARM_PCIE_MEM_BASE           "pcie-mem-base"
+#define XEN_ARM_PCIE_MEM_SIZE           "pcie-mem-size"
+#define XEN_ARM_PCIE_PREFETCH_BASE      "pcie-prefetch-mem-base"
+#define XEN_ARM_PCIE_PREFETCH_SIZE      "pcie-prefetch-mem-size"
+#define XEN_ARM_PCIE_IRQ_BASE           "pcie-irq-base"
+
+/* TODO It should be xendevicemodel_set_pci_intx_level() for PCI interrupt=
s. */
 static void xen_set_irq(void *opaque, int irq, int level)
 {
     if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) {
@@ -129,6 +143,89 @@ static void xen_init_ram(MachineState *machine)
     }
 }
=20
+static bool xen_validate_pcie_config(XenArmState *xam)
+{
+    if (xam->cfg.pcie_ecam.base =3D=3D 0 &&
+        xam->cfg.pcie_ecam.size =3D=3D 0 &&
+        xam->cfg.pcie_mmio.base =3D=3D 0 &&
+        xam->cfg.pcie_mmio.size =3D=3D 0 &&
+        xam->cfg.pcie_mmio_high.base =3D=3D 0 &&
+        xam->cfg.pcie_mmio_high.size =3D=3D 0 &&
+        xam->cfg.pcie_irq_base =3D=3D 0) {
+
+        /* It's okay, user just don't want PCIe brige */
+
+        return false;
+    }
+
+    if (xam->cfg.pcie_ecam.base =3D=3D 0 ||
+        xam->cfg.pcie_ecam.size =3D=3D 0 ||
+        xam->cfg.pcie_mmio.base =3D=3D 0 ||
+        xam->cfg.pcie_mmio.size =3D=3D 0 ||
+        xam->cfg.pcie_mmio_high.base =3D=3D 0 ||
+        xam->cfg.pcie_mmio_high.size =3D=3D 0 ||
+        xam->cfg.pcie_irq_base =3D=3D 0) {
+
+        /* User provided some PCIe options, but not all of them */
+
+        error_printf("Incomplete PCIe bridge configuration\n");
+
+        exit(1);
+    }
+
+    return true;
+}
+
+static void xen_create_pcie(XenArmState *xam)
+{
+    MemoryRegion *mmio_alias, *mmio_alias_high, *mmio_reg;
+    MemoryRegion *ecam_alias, *ecam_reg;
+    DeviceState *dev;
+    int i;
+
+    dev =3D qdev_new(TYPE_GPEX_HOST);
+    sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal);
+
+    /* Map ECAM space */
+    ecam_alias =3D g_new0(MemoryRegion, 1);
+    ecam_reg =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0);
+    memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam",
+                             ecam_reg, 0, xam->cfg.pcie_ecam.size);
+    memory_region_add_subregion(get_system_memory(), xam->cfg.pcie_ecam.ba=
se,
+                                ecam_alias);
+
+    /* Map the MMIO space */
+    mmio_alias =3D g_new0(MemoryRegion, 1);
+    mmio_reg =3D sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1);
+    memory_region_init_alias(mmio_alias, OBJECT(dev), "pcie-mmio",
+                             mmio_reg,
+                             xam->cfg.pcie_mmio.base,
+                             xam->cfg.pcie_mmio.size);
+    memory_region_add_subregion(get_system_memory(), xam->cfg.pcie_mmio.ba=
se,
+                                mmio_alias);
+
+    /* Map the MMIO_HIGH space */
+    mmio_alias_high =3D g_new0(MemoryRegion, 1);
+    memory_region_init_alias(mmio_alias_high, OBJECT(dev), "pcie-mmio-high=
",
+                             mmio_reg,
+                             xam->cfg.pcie_mmio_high.base,
+                             xam->cfg.pcie_mmio_high.size);
+    memory_region_add_subregion(get_system_memory(),
+                                xam->cfg.pcie_mmio_high.base,
+                                mmio_alias_high);
+
+    /* Legacy PCI interrupts (#INTA - #INTD) */
+    for (i =3D 0; i < GPEX_NUM_IRQS; i++) {
+        qemu_irq irq =3D qemu_allocate_irq(xen_set_irq, NULL,
+                                         xam->cfg.pcie_irq_base + i);
+
+        sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, irq);
+        gpex_set_irq_num(GPEX_HOST(dev), i, xam->cfg.pcie_irq_base + i);
+    }
+
+    DPRINTF("Created PCIe host bridge\n");
+}
+
 void arch_handle_ioreq(XenIOState *state, ioreq_t *req)
 {
     hw_error("Invalid ioreq type 0x%x\n", req->type);
@@ -189,6 +286,12 @@ static void xen_arm_init(MachineState *machine)
     xen_register_ioreq(xam->state, machine->smp.cpus, &xen_memory_listener=
);
=20
     xen_create_virtio_mmio_devices(xam);
+    if (xen_validate_pcie_config(xam)) {
+        xen_create_pcie(xam);
+    } else {
+        DPRINTF("PCIe host bridge is not configured,"
+                " only virtio-mmio can be used\n");
+    }
=20
 #ifdef CONFIG_TPM
     if (xam->cfg.tpm_base_addr) {
@@ -225,6 +328,90 @@ static void xen_arm_set_tpm_base_addr(Object *obj, Vis=
itor *v,
 }
 #endif
=20
+static void xen_arm_get_pcie_prop(Object *obj, Visitor *v,
+                                  const char *name, void *opaque,
+                                  Error **errp)
+{
+    XenArmState *xam =3D XEN_ARM(obj);
+    hwaddr *target;
+
+    if (!strcmp(name, XEN_ARM_PCIE_ECAM_BASE)) {
+        target =3D &xam->cfg.pcie_ecam.base;
+    } else if (!strcmp(name, XEN_ARM_PCIE_ECAM_SIZE)) {
+        target =3D &xam->cfg.pcie_ecam.size;
+    } else if (!strcmp(name, XEN_ARM_PCIE_MEM_BASE)) {
+        target =3D &xam->cfg.pcie_mmio.base;
+    } else if (!strcmp(name, XEN_ARM_PCIE_MEM_SIZE)) {
+        target =3D &xam->cfg.pcie_mmio.size;
+    } else if (!strcmp(name, XEN_ARM_PCIE_PREFETCH_BASE)) {
+        target =3D &xam->cfg.pcie_mmio_high.base;
+    } else if (!strcmp(name, XEN_ARM_PCIE_PREFETCH_SIZE)) {
+        target =3D &xam->cfg.pcie_mmio_high.size;
+    } else {
+        /* Unreachable */
+        assert(false);
+        return;
+    }
+
+    visit_type_uint64(v, name, target, errp);
+}
+
+static void xen_arm_set_pcie_prop(Object *obj, Visitor *v,
+                                  const char *name, void *opaque,
+                                  Error **errp)
+{
+    XenArmState *xam =3D XEN_ARM(obj);
+    uint64_t value;
+    hwaddr *target;
+
+    if (!strcmp(name, XEN_ARM_PCIE_ECAM_BASE)) {
+        target =3D &xam->cfg.pcie_ecam.base;
+    } else if (!strcmp(name, XEN_ARM_PCIE_ECAM_SIZE)) {
+        target =3D &xam->cfg.pcie_ecam.size;
+    } else if (!strcmp(name, XEN_ARM_PCIE_MEM_BASE)) {
+        target =3D &xam->cfg.pcie_mmio.base;
+    } else if (!strcmp(name, XEN_ARM_PCIE_MEM_SIZE)) {
+        target =3D &xam->cfg.pcie_mmio.size;
+    } else if (!strcmp(name, XEN_ARM_PCIE_PREFETCH_BASE)) {
+        target =3D &xam->cfg.pcie_mmio_high.base;
+    } else if (!strcmp(name, XEN_ARM_PCIE_PREFETCH_SIZE)) {
+        target =3D &xam->cfg.pcie_mmio_high.size;
+    } else {
+        /* Unreachable */
+        assert(false);
+        return;
+    }
+
+    if (!visit_type_uint64(v, name, &value, errp)) {
+        return;
+    }
+    *target =3D value;
+}
+
+static void xen_arm_get_pcie_irq_base(Object *obj, Visitor *v,
+                                      const char *name, void *opaque,
+                                      Error **errp)
+{
+    XenArmState *xam =3D XEN_ARM(obj);
+    int64_t value =3D xam->cfg.pcie_irq_base;
+
+    visit_type_int(v, name, &value, errp);
+}
+
+static void xen_arm_set_pcie_irq_base(Object *obj, Visitor *v,
+                                      const char *name, void *opaque,
+                                      Error **errp)
+{
+    XenArmState *xam =3D XEN_ARM(obj);
+    int64_t value;
+
+    if (!visit_type_int(v, name, &value, errp)) {
+        return;
+    }
+
+    xam->cfg.pcie_irq_base =3D value;
+}
+
 static void xen_arm_machine_class_init(ObjectClass *oc, void *data)
 {
=20
@@ -246,6 +433,45 @@ static void xen_arm_machine_class_init(ObjectClass *oc=
, void *data)
=20
     machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS);
 #endif
+
+    object_class_property_add(oc, XEN_ARM_PCIE_ECAM_BASE, "uint64_t",
+                              xen_arm_get_pcie_prop,
+                              xen_arm_set_pcie_prop, NULL, NULL);
+    object_class_property_set_description(oc, XEN_ARM_PCIE_ECAM_BASE,
+        "Base address for ECAM range of virtual PCIe host bridge");
+    object_class_property_add(oc, XEN_ARM_PCIE_ECAM_SIZE, "uint64_t",
+                              xen_arm_get_pcie_prop,
+                              xen_arm_set_pcie_prop, NULL, NULL);
+    object_class_property_set_description(oc, XEN_ARM_PCIE_ECAM_SIZE,
+        "Size of ECAM range of virtual PCIe host bridge");
+
+    object_class_property_add(oc, XEN_ARM_PCIE_MEM_BASE, "uint64_t",
+                              xen_arm_get_pcie_prop,
+                              xen_arm_set_pcie_prop, NULL, NULL);
+    object_class_property_set_description(oc, XEN_ARM_PCIE_MEM_BASE,
+        "Base address for non-prefetchable memory of virtual PCIe host bri=
dge");
+    object_class_property_add(oc, XEN_ARM_PCIE_MEM_SIZE, "uint64_t",
+                              xen_arm_get_pcie_prop,
+                              xen_arm_set_pcie_prop, NULL, NULL);
+    object_class_property_set_description(oc, XEN_ARM_PCIE_MEM_SIZE,
+        "Size of non-prefetchable memory of virtual PCIe host bridge");
+
+    object_class_property_add(oc, XEN_ARM_PCIE_PREFETCH_BASE, "uint64_t",
+                              xen_arm_get_pcie_prop,
+                              xen_arm_set_pcie_prop, NULL, NULL);
+    object_class_property_set_description(oc, XEN_ARM_PCIE_PREFETCH_BASE,
+        "Base address for prefetchable memory of virtual PCIe host bridge"=
);
+    object_class_property_add(oc, XEN_ARM_PCIE_PREFETCH_SIZE, "uint64_t",
+                              xen_arm_get_pcie_prop,
+                              xen_arm_set_pcie_prop, NULL, NULL);
+    object_class_property_set_description(oc, XEN_ARM_PCIE_PREFETCH_SIZE,
+        "Size of prefetchable memory of virtual PCIe host bridge");
+
+    object_class_property_add(oc, XEN_ARM_PCIE_IRQ_BASE, "int",
+                              xen_arm_get_pcie_irq_base,
+                              xen_arm_set_pcie_irq_base, NULL, NULL);
+    object_class_property_set_description(oc, XEN_ARM_PCIE_IRQ_BASE,
+        "Number of first PCI legacy interrupt for PCIe host bridge");
 }
=20
 static const TypeInfo xen_arm_machine_type =3D {
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 2e7897dbd2..19fcccdb16 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -47,6 +47,8 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, =
MemoryRegion *mr,
     g_free(pfn_list);
 }
=20
+uint16_t xen_pci_segment;
+
 static void xen_set_memory(struct MemoryListener *listener,
                            MemoryRegionSection *section,
                            bool add)
@@ -382,7 +384,12 @@ static void cpu_ioreq_config(XenIOState *state, ioreq_=
t *req)
     }
=20
     QLIST_FOREACH(xendev, &state->dev_list, entry) {
-        if (xendev->sbdf !=3D sbdf) {
+        /*
+         * As we append xen_pci_segment just before forming dm_op in
+         * xen_map_pcidev() we need to check with appended xen_pci_segment
+         * here as well.
+         */
+        if ((xendev->sbdf | (xen_pci_segment << 16)) !=3D sbdf) {
             continue;
         }
=20
diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h
index 6f09c48823..2b1debaff4 100644
--- a/include/hw/xen/xen_native.h
+++ b/include/hw/xen/xen_native.h
@@ -431,6 +431,8 @@ static inline void xen_unmap_io_section(domid_t dom,
                                                     0, start_addr, end_add=
r);
 }
=20
+extern uint16_t xen_pci_segment;
+
 static inline void xen_map_pcidev(domid_t dom,
                                   ioservid_t ioservid,
                                   PCIDevice *pci_dev)
@@ -441,7 +443,8 @@ static inline void xen_map_pcidev(domid_t dom,
=20
     trace_xen_map_pcidev(ioservid, pci_dev_bus_num(pci_dev),
                          PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->devfn=
));
-    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid, 0,
+    xendevicemodel_map_pcidev_to_ioreq_server(xen_dmod, dom, ioservid,
+                                              xen_pci_segment,
                                               pci_dev_bus_num(pci_dev),
                                               PCI_SLOT(pci_dev->devfn),
                                               PCI_FUNC(pci_dev->devfn));
@@ -457,7 +460,8 @@ static inline void xen_unmap_pcidev(domid_t dom,
=20
     trace_xen_unmap_pcidev(ioservid, pci_dev_bus_num(pci_dev),
                            PCI_SLOT(pci_dev->devfn), PCI_FUNC(pci_dev->dev=
fn));
-    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid,=
 0,
+    xendevicemodel_unmap_pcidev_from_ioreq_server(xen_dmod, dom, ioservid,
+                                                  xen_pci_segment,
                                                   pci_dev_bus_num(pci_dev)=
,
                                                   PCI_SLOT(pci_dev->devfn)=
,
                                                   PCI_FUNC(pci_dev->devfn)=
);
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Fri Nov 24 23:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Fri, 24 Nov 2023 23:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.640985.999811 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6fXY-0002Ja-Pa; Fri, 24 Nov 2023 23:24:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 640985.999811; Fri, 24 Nov 2023 23:24: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 1r6fXY-0002JP-Lb; Fri, 24 Nov 2023 23:24:52 +0000
Received: by outflank-mailman (input) for mailman id 640985;
 Fri, 24 Nov 2023 23:24: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=SG+4=HF=epam.com=prvs=569229df20=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r6fXX-0002IJ-8Q
 for xen-devel@lists.xenproject.org; Fri, 24 Nov 2023 23:24:51 +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 a8bd7e5d-8b20-11ee-9b0e-b553b5be7939;
 Sat, 25 Nov 2023 00:24:48 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AOMwAPM014042; Fri, 24 Nov 2023 23:24:30 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2168.outbound.protection.outlook.com [104.47.17.168])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3uk2wmr6b0-5
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Fri, 24 Nov 2023 23:24:30 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DU0PR03MB8551.eurprd03.prod.outlook.com (2603:10a6:10:3e2::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.20; Fri, 24 Nov
 2023 23:24:23 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.022; Fri, 24 Nov 2023
 23:24: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: a8bd7e5d-8b20-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DXrjT/OSbqCjCpOs+hua40bK0JiB+R5QMjusa1WIU7HUUjmQDPLh0jyQ1jAY64p8WxHtRciXlA0aKAR2MQmtXg7k2//V+f/d3WrOy+KxOY8tyAYoHPNyBRTFMY3JxtP5Hb7ONFiyEOUepuv6ew2W5e/OPL+apKVUYXw5oU6KPh78A3JVgHKc1es0wj6os+5Y9HM65cW9vD8N2FayfCK77KBag4678+qfJoeQ2WMBIe9PN8+3kZwDVA2Ii5lj0DHcir5uxTClOrYKHYkSL21SGp2VN+MbvQafErec+N7HxKluByhg5v4EE/t8tkHewcJhmeccAZtvUn6tFy3KEl3mJQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=b6piVTLnT/ePWflf79oGCnWyoOwmQ+YDU+WgRfEz16g=;
 b=Equg6HOhNI7IS3F1ZmTcXV5CbT94DgymC+zi3P8mlBD9dGp9akTnJ0uGPTTAqnXW9IwGoxrSwPYrjN9gHpQJhN9DtbPEOqz3uB3FMVV7cCw21E0MSUnc9wR3sVaWCQAzFH+s6SsCA9cyPJL9e/ZQsOWCYVHvfWUlBGq5jz6Y1KScuhlVQdmMdtrYDQLCZ9Vqj0q9xSfa641PUPZh3TduIRnlPC1uPdtjFfj7Xz6AsEDA7BdhFbBMuqrqbyYRL6Nocj0nMe5Kg7iltfQjpcS3ouwgfGf+uK/4u2Q2+PwjfDCjfwqMMxTqdu7ztWesfoqUbaJfWrvoh2ylO/2BHZRuBg==
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=b6piVTLnT/ePWflf79oGCnWyoOwmQ+YDU+WgRfEz16g=;
 b=FJOtKXMsJT+sDYZgZLPCgVA40qKATrAf7BkHyT5zbOLrPKqXPgWzaYAhJtSDduMhb5Q6rfhZG7x4EGD0kamHH5CpxYFJRqNbQBCK7qS6MI6b0LQFzC/SYZssicAjjM2kzcQPUm2wmGPmn/gihdkmX/gCDoz28ZVRox8+8ljxcYXZpq52xCm5nC314xk3KQXuUFHcvGPq0Up9PtGHW3rZIBqgdCtokMjRbbZ+ZxTufisa3WeX4paD2ZHCJfPZkoHtUJ+mbffJVn3twck+f0/2XsJ0HQW8A+WSGL7DFxUKxgPMQMEvDwu6Slzt8NwzEdUiJHKKeDqswuQNdTRheh6Wtg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: David Woodhouse <dwmw@amazon.co.uk>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>,
        Volodymyr Babchuk
	<Volodymyr_Babchuk@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>, Greg Kurz <groug@kaod.org>,
        Christian
 Schoenebeck <qemu_oss@crudebyte.com>,
        "Michael S. Tsirkin" <mst@redhat.com>,
        Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
        Paolo Bonzini
	<pbonzini@redhat.com>,
        Richard Henderson <richard.henderson@linaro.org>,
        Eduardo Habkost <eduardo@habkost.net>,
        Gerd Hoffmann <kraxel@redhat.com>,
        =?iso-8859-1?Q?Marc-Andr=E9_Lureau?= <marcandre.lureau@redhat.com>,
        =?iso-8859-1?Q?Daniel_P=2E_Berrang=E9?= <berrange@redhat.com>,
        Thomas Huth
	<thuth@redhat.com>,
        =?iso-8859-1?Q?Philippe_Mathieu-Daud=E9?=
	<philmd@linaro.org>,
        "open list:X86 Xen CPUs"
	<xen-devel@lists.xenproject.org>
Subject: [RFC PATCH v3 3/5] xen: add option to disable legacy backends
Thread-Topic: [RFC PATCH v3 3/5] xen: add option to disable legacy backends
Thread-Index: AQHaHy1b1vaaoDkYtEa69hkezixH/A==
Date: Fri, 24 Nov 2023 23:24:22 +0000
Message-ID: <20231124232400.943580-4-volodymyr_babchuk@epam.com>
References: <20231124232400.943580-1-volodymyr_babchuk@epam.com>
In-Reply-To: <20231124232400.943580-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.42.0
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DU0PR03MB8551:EE_
x-ms-office365-filtering-correlation-id: a26c1ac4-9949-4445-914b-08dbed447e65
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 BS9SMTgN7qWvPu4x/QLjqGjpfS0uZc1mAeFoJPD7arR0WqyJkyDSJrNE74udiMp5HYr5Sz/gt+aHmNHnaAfICV6ieso20mTIiHZ4ciiacccZV5S9Hp9rKgSmINtpSUsARY/bQMv9GyT51Czn7dpl4PR3QTAYZ4xWOofCrHRAvgdw3Jy2+u4q0jLQQ+uz33q0PBRzRD51sRs/sKFDKjHlG9NzRe+UkAfaLHVvBOpsfJvlwYTI0KWOKNiZJ6iSiYzJsWrMT3VEUwuaICv97n4otId+p+x4+VoPAtl5Qyo/MFi41ZvBgxDIoWRA+zpJCP63/Gggu4NUZ2Uk6Hmjc1/cQPiEn91POJ6YMDRStIAnfKy5o+GlKMZunEPu0KGSq9cYpbl0PDuUlVKn6mRgw5koq62PEz3KDPtzHegJst4h5heOqyrNqBQ/OXD0RL7HgqjmJrBvOd7vPK7FcCuO7Mx6xMmBsX+J6R+K13rGmbHoaeb45KLlApJskhDLhnPppZVa45potgH6YIELa9Z3GnQ3nVJtc7dTrTvo5WKwMaPzZofJumTP696KMyR4rOqjgQ2Jwe+lLrHxkiWMycKwSxp3r7Uog8YCC2Y3KkOJsjmIhCdWnOXJGbTqAzOLe7hAKnkvOj6HJ0s44lqOldlHI6wS3w==
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:(13230031)(396003)(346002)(366004)(136003)(376002)(39860400002)(230173577357003)(230273577357003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(38100700002)(1076003)(6512007)(83380400001)(2616005)(6506007)(55236004)(71200400001)(41300700001)(8676002)(4326008)(5660300002)(8936002)(26005)(7416002)(478600001)(966005)(6486002)(2906002)(6916009)(316002)(91956017)(66476007)(66446008)(54906003)(64756008)(76116006)(66946007)(66556008)(86362001)(122000001)(36756003)(38070700009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?w+NFI1LLHpWcCY/2EDoaqaSIeAiQLjXogpLtFnvqsBIpDAIhiLXyHwA2Jk?=
 =?iso-8859-1?Q?5+kQOBOdViWuWv/TsfH2fB5g2Rz4mfkyV4mzU8dubGfD9R4NCl4X97Yz0e?=
 =?iso-8859-1?Q?hs/g01w6GUlJ1UBmDRvR+tGFnCtL0bfeJflB4h/gVaeDq8nHhbm+1rdOPl?=
 =?iso-8859-1?Q?w+LB7RtApnMxTVKCnhinOCZak3eErKzMhy5V0ySxMOhfEmxpkbffrk0399?=
 =?iso-8859-1?Q?VDUAXMwJSpdyiSeG32U4tEu138U1mixoTqUk3KJcFD/XzgVcd55dt62MnO?=
 =?iso-8859-1?Q?ZBBuovWU8gXfGF2/MPFe/bnrJxcVBN+/GdVN1JYaj7xX8Oln7rmgcqvu+B?=
 =?iso-8859-1?Q?SR3tyOivr9qXSGESEZSdrDKJhuSW895MuLZdTC2lj7XWfMB8h81DdD2bBY?=
 =?iso-8859-1?Q?ijnaiNnRzrRtPQEKiS3widQ8coPtcJCIUOUxVhCNXVo6chB6YPQyiSr4/v?=
 =?iso-8859-1?Q?ivJkqiDliYtBjk+HcPIJIPeJs4jyTMiviD3CyVsishcqsPF9CdDA7Jm0TW?=
 =?iso-8859-1?Q?ZG2oHnw2ZGw0i+TXdwI7Tp0hpuH5kTxKwFmDdInM1xq7jNrwRIc+Yv5vch?=
 =?iso-8859-1?Q?kDtskKdY+IdHCzUrJPdZNdrKXGPSigcr5h2A7HBEaUiJk4aMIS6NYRbr84?=
 =?iso-8859-1?Q?c/Iq6du/bRQJts53HuzQBYqApL0X2kRVMZkY00fY4hzltZUV5UD0lUOrnT?=
 =?iso-8859-1?Q?Kbl/xIUv6nKhIZrKiSLGfkiovqzczW6P+R6v+SJRjw1k5hzK1/SB8ZrwqQ?=
 =?iso-8859-1?Q?HcFyj/hx5zg40Sp2Lhq0is3cSr80WNi8P82mrS4VJcJenMmUq6LQO/pr7J?=
 =?iso-8859-1?Q?oZA7I11zF8v0YTaQ13McShUZLhrpZLtfTgdoTXUX1Mo9b17dUA/gOMGD3H?=
 =?iso-8859-1?Q?rIO41saRbExsH6rtYvHhsbyXu5Pnhg4nOPMHyW97cCnRtQD7URCdxpnIha?=
 =?iso-8859-1?Q?IYno0GjWV4obAn1SUrr0sRijn2VOuUL8eLDzvNTCbL+s7Oj6itugXnZnxI?=
 =?iso-8859-1?Q?jlazoHdaK+lKYLdykpgCd8GTKiN7qJrzKjsBRxrEPY1mmxXwVHh5CfN9Ao?=
 =?iso-8859-1?Q?mx+QRjEv9DFUseX3drXXASt0Syy6sBE38DCGrNDvdbJlB1axW8O0cV1I5h?=
 =?iso-8859-1?Q?wWX5xZb6JA1UOZs9TT12ctw/rvdA6hXzRIpyVEoy8yQxXj4JWZWD3DL73B?=
 =?iso-8859-1?Q?uafximKjLUf5xf2uXK70TPH7/m+LMGz/FBCE/ubEpZ/bWfLprxeR4FUTFD?=
 =?iso-8859-1?Q?hLkgN8H77C4+z64qTaU1JWKHuUmBZkVDWtCNMC0iTcUwwVJuBRCN2a8nmq?=
 =?iso-8859-1?Q?Om3wgzvCVmmnHzZaS4t4Qgo4O1ncPiMLolX+aLL0KGRqb+HnsrNRB4CxWW?=
 =?iso-8859-1?Q?HxJ8C952hbht3UW4IxRaI0v3LG4xa95jFORlB3xyU5B/zU3MUs/17P7HQt?=
 =?iso-8859-1?Q?r9SiGQTH+Wp2Lg6cHaALZ8rq404vzwM1jWCVRy5inOwJhlzvGb8Xm7zxLJ?=
 =?iso-8859-1?Q?N/XiUJHY7UeAu6qXU64WSCUWQQlnTw4N8ZZiJxC60fhBQkt+Kv6IlF3T9A?=
 =?iso-8859-1?Q?dwNGx8AVL1ODbjelz9QcqduXWyeil6ivo4frNtyenX4VEYAx/Jc/kqI5Wd?=
 =?iso-8859-1?Q?I3MAiAXkCVdXwqAoAw7z09f8BJZKsEsX8x2r1mdoIWtAhGH/iw2t4FDA?=
 =?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: a26c1ac4-9949-4445-914b-08dbed447e65
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Nov 2023 23:24:22.9990
 (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: Bp4r+fFxW0tQiM20XqIGK26wOvHcgYGA99OqOszjpaMRhpXUd1bSRvrtgJHdAZAe3IWDhFDu72EVPwFmLwOSKOToWVuKL/ZehwBqYuh0NrM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR03MB8551
X-Proofpoint-GUID: 7SIitNEDAyqQ4I0uP2sdQqI9RpRxPv6u
X-Proofpoint-ORIG-GUID: 7SIitNEDAyqQ4I0uP2sdQqI9RpRxPv6u
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-24_09,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0
 malwarescore=0 priorityscore=1501 mlxscore=0 spamscore=0 bulkscore=0
 suspectscore=0 phishscore=0 mlxlogscore=999 adultscore=0
 lowpriorityscore=0 clxscore=1011 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311240182

This patch makes legacy backends optional. As was discussed at [1]
this is a solution to a problem when we can't run QEMU as a device
model in a non-privileged domain. This is because legacy backends
assume that they are always running in domain with ID =3D 0. Actually,
this may prevent running QEMU in a privileged domain with ID not equal
to zero.

To be able to disable legacy backends we need to alter couple of
source files that unintentionally depend on them. For example
xen-all.c used xen_pv_printf to report errors, while not providing any
additional like xendev pointer. Also, we need to move xenstore
structure from xen-legacy-backend.c, because it is apparently used in
xen-all.c.

With this patch it is possible to provide
"--disable-xen-legacy-backends" configure option to get QEMU binary
that can run in a driver domain. With price of not be able to use
legacy backends of course.

[1]
https://lists.gnu.org/archive/html/qemu-devel/2023-11/msg05022.html

Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>

---

I am not sure if I made correct changes to the build system, thus this
patch is tagged as RFC.

Changes in v3:
 - New patch in v3
---
 accel/xen/xen-all.c           | 13 ++++++++++---
 hw/9pfs/meson.build           |  4 +++-
 hw/display/meson.build        |  4 +++-
 hw/i386/pc.c                  |  2 ++
 hw/usb/meson.build            |  5 ++++-
 hw/xen/meson.build            | 11 ++++++++---
 hw/xen/xen-hvm-common.c       |  2 ++
 hw/xen/xen-legacy-backend.c   |  7 -------
 hw/xenpv/xen_machine_pv.c     |  2 ++
 meson.build                   |  5 +++++
 meson_options.txt             |  2 ++
 scripts/meson-buildoptions.sh |  4 ++++
 12 files changed, 45 insertions(+), 16 deletions(-)

diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c
index 5ff0cb8bd9..188b29597f 100644
--- a/accel/xen/xen-all.c
+++ b/accel/xen/xen-all.c
@@ -29,6 +29,7 @@ bool xen_allowed;
 xc_interface *xen_xc;
 xenforeignmemory_handle *xen_fmem;
 xendevicemodel_handle *xen_dmod;
+struct qemu_xs_handle *xenstore;
=20
 static void xenstore_record_dm_state(const char *state)
 {
@@ -78,20 +79,26 @@ static int xen_init(MachineState *ms)
 {
     MachineClass *mc =3D MACHINE_GET_CLASS(ms);
=20
+    xenstore =3D qemu_xen_xs_open();
+    if (!xenstore) {
+        error_report("can't connect to xenstored\n");
+        exit(1);
+    }
+
     xen_xc =3D xc_interface_open(0, 0, 0);
     if (xen_xc =3D=3D NULL) {
-        xen_pv_printf(NULL, 0, "can't open xen interface\n");
+        error_report("can't open xen interface\n");
         return -1;
     }
     xen_fmem =3D xenforeignmemory_open(0, 0);
     if (xen_fmem =3D=3D NULL) {
-        xen_pv_printf(NULL, 0, "can't open xen fmem interface\n");
+        error_report("can't open xen fmem interface\n");
         xc_interface_close(xen_xc);
         return -1;
     }
     xen_dmod =3D xendevicemodel_open(0, 0);
     if (xen_dmod =3D=3D NULL) {
-        xen_pv_printf(NULL, 0, "can't open xen devicemodel interface\n");
+        error_report("can't open xen devicemodel interface\n");
         xenforeignmemory_close(xen_fmem);
         xc_interface_close(xen_xc);
         return -1;
diff --git a/hw/9pfs/meson.build b/hw/9pfs/meson.build
index 2944ea63c3..e8306ba8d2 100644
--- a/hw/9pfs/meson.build
+++ b/hw/9pfs/meson.build
@@ -15,7 +15,9 @@ fs_ss.add(files(
 ))
 fs_ss.add(when: 'CONFIG_LINUX', if_true: files('9p-util-linux.c'))
 fs_ss.add(when: 'CONFIG_DARWIN', if_true: files('9p-util-darwin.c'))
-fs_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-9p-backend.c'))
+if have_xen_legacy_backends
+  fs_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-9p-backend.c'))
+endif
 system_ss.add_all(when: 'CONFIG_FSDEV_9P', if_true: fs_ss)
=20
 specific_ss.add(when: 'CONFIG_VIRTIO_9P', if_true: files('virtio-9p-device=
.c'))
diff --git a/hw/display/meson.build b/hw/display/meson.build
index 344dfe3d8c..18d657f6b3 100644
--- a/hw/display/meson.build
+++ b/hw/display/meson.build
@@ -14,7 +14,9 @@ system_ss.add(when: 'CONFIG_PL110', if_true: files('pl110=
.c'))
 system_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
 system_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
 system_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
-system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
+if have_xen_legacy_backends
+  system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
+endif
=20
 system_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
 system_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
diff --git a/hw/i386/pc.c b/hw/i386/pc.c
index 29b9964733..91857af428 100644
--- a/hw/i386/pc.c
+++ b/hw/i386/pc.c
@@ -1263,7 +1263,9 @@ void pc_basic_device_init(struct PCMachineState *pcms=
,
             pci_create_simple(pcms->bus, -1, "xen-platform");
         }
         pcms->xenbus =3D xen_bus_init();
+#ifdef CONFIG_XEN_LEGACY_BACKENDS
         xen_be_init();
+#endif
     }
 #endif
=20
diff --git a/hw/usb/meson.build b/hw/usb/meson.build
index e94149ebde..8d395745b2 100644
--- a/hw/usb/meson.build
+++ b/hw/usb/meson.build
@@ -84,6 +84,9 @@ if libusb.found()
   hw_usb_modules +=3D {'host': usbhost_ss}
 endif
=20
-system_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN_BUS', libusb], if_true: fil=
es('xen-usb.c'))
+if have_xen_legacy_backends
+  system_ss.add(when: ['CONFIG_USB', 'CONFIG_XEN_BUS', libusb],
+                if_true: files('xen-usb.c'))
+endif
=20
 modules +=3D { 'hw-usb': hw_usb_modules }
diff --git a/hw/xen/meson.build b/hw/xen/meson.build
index d887fa9ba4..964c3364f2 100644
--- a/hw/xen/meson.build
+++ b/hw/xen/meson.build
@@ -2,11 +2,16 @@ system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
   'xen-backend.c',
   'xen-bus-helper.c',
   'xen-bus.c',
-  'xen-legacy-backend.c',
-  'xen_devconfig.c',
-  'xen_pvdev.c',
 ))
=20
+if have_xen_legacy_backends
+  system_ss.add(when: ['CONFIG_XEN_BUS'], if_true: files(
+    'xen_pvdev.c',
+    'xen-legacy-backend.c',
+    'xen_devconfig.c',
+  ))
+endif
+
 system_ss.add(when: ['CONFIG_XEN', xen], if_true: files(
   'xen-operations.c',
 ))
diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c
index 565dc39c8f..2e7897dbd2 100644
--- a/hw/xen/xen-hvm-common.c
+++ b/hw/xen/xen-hvm-common.c
@@ -869,7 +869,9 @@ void xen_register_ioreq(XenIOState *state, unsigned int=
 max_cpus,
=20
     xen_bus_init();
=20
+#ifdef CONFIG_XEN_LEGACY_BACKENDS
     xen_be_init();
+#endif
=20
     return;
=20
diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 124dd5f3d6..717d5efc06 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -39,7 +39,6 @@ BusState *xen_sysbus;
 /* ------------------------------------------------------------- */
=20
 /* public */
-struct qemu_xs_handle *xenstore;
 const char *xen_protocol;
=20
 /* private */
@@ -605,12 +604,6 @@ static void xen_set_dynamic_sysbus(void)
=20
 void xen_be_init(void)
 {
-    xenstore =3D qemu_xen_xs_open();
-    if (!xenstore) {
-        xen_pv_printf(NULL, 0, "can't connect to xenstored\n");
-        exit(1);
-    }
-
     if (xen_evtchn_ops =3D=3D NULL || xen_gnttab_ops =3D=3D NULL) {
         xen_pv_printf(NULL, 0, "Xen operations not set up\n");
         exit(1);
diff --git a/hw/xenpv/xen_machine_pv.c b/hw/xenpv/xen_machine_pv.c
index 9f9f137f99..03a55f345c 100644
--- a/hw/xenpv/xen_machine_pv.c
+++ b/hw/xenpv/xen_machine_pv.c
@@ -37,7 +37,9 @@ static void xen_init_pv(MachineState *machine)
     setup_xen_backend_ops();
=20
     /* Initialize backend core & drivers */
+#ifdef CONFIG_XEN_LEGACY_BACKENDS
     xen_be_init();
+#endif
=20
     switch (xen_mode) {
     case XEN_ATTACH:
diff --git a/meson.build b/meson.build
index ec01f8b138..c8a43dd97d 100644
--- a/meson.build
+++ b/meson.build
@@ -1749,6 +1749,9 @@ have_xen_pci_passthrough =3D get_option('xen_pci_pass=
through') \
            error_message: 'Xen PCI passthrough not available on this platf=
orm') \
   .allowed()
=20
+have_xen_legacy_backends =3D get_option('xen-legacy-backends').require(xen=
.found(),
+           error_message: 'Xen legacy backends requested but Xen not enabl=
ed').allowed()
+
=20
 cacard =3D not_found
 if not get_option('smartcard').auto() or have_system
@@ -2219,6 +2222,7 @@ config_host_data.set('CONFIG_DBUS_DISPLAY', dbus_disp=
lay)
 config_host_data.set('CONFIG_CFI', get_option('cfi'))
 config_host_data.set('CONFIG_SELINUX', selinux.found())
 config_host_data.set('CONFIG_XEN_BACKEND', xen.found())
+config_host_data.set('CONFIG_XEN_LEGACY_BACKENDS', have_xen_legacy_backend=
s)
 config_host_data.set('CONFIG_LIBDW', libdw.found())
 if xen.found()
   # protect from xen.version() having less than three components
@@ -3049,6 +3053,7 @@ config_all +=3D config_targetos
 config_all +=3D config_all_disas
 config_all +=3D {
   'CONFIG_XEN': xen.found(),
+  'CONFIG_XEN_LEGACY_BACKENDS': have_xen_legacy_backends,
   'CONFIG_SYSTEM_ONLY': have_system,
   'CONFIG_USER_ONLY': have_user,
   'CONFIG_ALL': true,
diff --git a/meson_options.txt b/meson_options.txt
index c9baeda639..91dd677257 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -77,6 +77,8 @@ option('nvmm', type: 'feature', value: 'auto',
        description: 'NVMM acceleration support')
 option('xen', type: 'feature', value: 'auto',
        description: 'Xen backend support')
+option('xen-legacy-backends', type: 'feature', value: 'auto',
+       description: 'Xen legacy backends (9pfs, fb, qusb) support')
 option('xen_pci_passthrough', type: 'feature', value: 'auto',
        description: 'Xen PCI passthrough support')
 option('tcg', type: 'feature', value: 'enabled',
diff --git a/scripts/meson-buildoptions.sh b/scripts/meson-buildoptions.sh
index 680fa3f581..b5acef008f 100644
--- a/scripts/meson-buildoptions.sh
+++ b/scripts/meson-buildoptions.sh
@@ -218,6 +218,8 @@ meson_options_help() {
   printf "%s\n" '  werror          Treat warnings as errors'
   printf "%s\n" '  whpx            WHPX acceleration support'
   printf "%s\n" '  xen             Xen backend support'
+  printf "%s\n" '  xen-legacy-backends'
+  printf "%s\n" '                  Xen legacy backends (9pfs, fb, qusb) su=
pport'
   printf "%s\n" '  xen-pci-passthrough'
   printf "%s\n" '                  Xen PCI passthrough support'
   printf "%s\n" '  xkbcommon       xkbcommon support'
@@ -556,6 +558,8 @@ _meson_option_parse() {
     --disable-whpx) printf "%s" -Dwhpx=3Ddisabled ;;
     --enable-xen) printf "%s" -Dxen=3Denabled ;;
     --disable-xen) printf "%s" -Dxen=3Ddisabled ;;
+    --enable-xen-legacy-backends) printf "%s" -Dxen-legacy-backends=3Denab=
led ;;
+    --disable-xen-legacy-backends) printf "%s" -Dxen-legacy-backends=3Ddis=
abled ;;
     --enable-xen-pci-passthrough) printf "%s" -Dxen_pci_passthrough=3Denab=
led ;;
     --disable-xen-pci-passthrough) printf "%s" -Dxen_pci_passthrough=3Ddis=
abled ;;
     --enable-xkbcommon) printf "%s" -Dxkbcommon=3Denabled ;;
--=20
2.42.0


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 01:06:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 01:06:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641008.999820 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6h85-0006WA-U4; Sat, 25 Nov 2023 01:06:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641008.999820; Sat, 25 Nov 2023 01: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 1r6h85-0006W3-RQ; Sat, 25 Nov 2023 01:06:41 +0000
Received: by outflank-mailman (input) for mailman id 641008;
 Sat, 25 Nov 2023 01:06: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 1r6h83-0006Vm-QR; Sat, 25 Nov 2023 01:06: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 1r6h83-0000od-In; Sat, 25 Nov 2023 01:06: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 1r6h83-0003Zo-4r; Sat, 25 Nov 2023 01:06:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6h83-0007Ty-4Q; Sat, 25 Nov 2023 01:06: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=E1xS72N6hWMC13htiDZRrYV3UlMGm3g6lNdZwHxst7c=; b=3CQFm8/ye7eInoBDW2tTEb3ttM
	crV5XnwZM+Ez6D8lXS7q5vDHPoN7HHcP/i1T1dZzQxwbVLBPw2MY//48SQj5iSa/Y6I9PeAKS44Ps
	S6/6rlpqfbVTdGhyyevZaXPFJj1qBgwlWlMUa6kdZR3nnDHbTeTMQsfUYWgbWnTSQMOw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183852-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183852: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt:migrate-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-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-thunderx:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-thunderx: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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-libvirt-raw:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    xen=80c153c48b255bae61948827241c26671207cf4e
X-Osstest-Versions-That:
    xen=f96e2f64576cdbb147391c7cb399d393385719a9
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Nov 2023 01:06:39 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail pass in 183854-retest

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183847
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183847
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183847
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183847
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183847
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183847
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183847
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183847
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183847
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183847
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183847
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183847
 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-xsm 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-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-libvirt-xsm 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-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          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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-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-libvirt     15 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:
 xen                  80c153c48b255bae61948827241c26671207cf4e
baseline version:
 xen                  f96e2f64576cdbb147391c7cb399d393385719a9

Last test of basis   183847  2023-11-23 20:09:07 Z    1 days
Testing same since   183852  2023-11-24 12:45:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Jan Beulich <jbeulich@suse.com>
  Juergen Gross <jgross@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Nicola Vetrini <nicola.vetrini@bugseng.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-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                                  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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   f96e2f6457..80c153c48b  80c153c48b255bae61948827241c26671207cf4e -> master


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 01:16:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 01:16:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641027.999887 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6hHG-0001Ny-DV; Sat, 25 Nov 2023 01:16:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641027.999887; Sat, 25 Nov 2023 01: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 1r6hHG-0001Nr-Ao; Sat, 25 Nov 2023 01:16:10 +0000
Received: by outflank-mailman (input) for mailman id 641027;
 Sat, 25 Nov 2023 01:16: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=Tn7F=HG=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1r6hHF-0001Nl-Dk
 for xen-devel@lists.xenproject.org; Sat, 25 Nov 2023 01:16:09 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 31743bc2-8b30-11ee-9b0e-b553b5be7939;
 Sat, 25 Nov 2023 02:16:01 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3AP1FZEH047548
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Fri, 24 Nov 2023 20:15:41 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3AP1FYj8047547;
 Fri, 24 Nov 2023 17:15:34 -0800 (PST) (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: 31743bc2-8b30-11ee-9b0e-b553b5be7939
Date: Fri, 24 Nov 2023 17:15:34 -0800
From: Elliott Mitchell <ehem+xen@m5p.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Henry Wang <Henry.Wang@arm.com>,
        xen-devel@lists.xenproject.org,
        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>,
        Neowutran <xen@neowutran.ovh>
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZWFKtrBl2kpdvjBC@mattapan.m5p.com>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
 <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
 <ZV1Rz+FmmyWFHiM9@mattapan.m5p.com>
 <ZV8d2ZiiiBBNySgc@macbook>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZV8d2ZiiiBBNySgc@macbook>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Thu, Nov 23, 2023 at 10:39:37AM +0100, Roger Pau Monn wrote:
> On Tue, Nov 21, 2023 at 04:56:47PM -0800, Elliott Mitchell wrote:
> > It was insisted that full logs be sent to xen-devel.  Perhaps I am
> > paranoid, but I doubt I would have been successful at scrubbing all
> > hardware serial numbers.  As such, I was willing to post substantial
> > sections, but not everything.
> 
> Can you please point out which hardware serial numbers are you
> referring to, and where are they printed in Xen dmesg?

I didn't confirm the presence of hardware serial numbers getting into
Xen's dmesg, but there was a lot of data and many hexadecimal numbers.
With 4000 lines of output, checking for concerning data is troublesome.

There was enough for alarms to trigger.


-- 
(\___(\___(\______          --=> 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 Sat Nov 25 03:21:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 03:21:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641037.999897 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6jEl-0006nz-CZ; Sat, 25 Nov 2023 03:21:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641037.999897; Sat, 25 Nov 2023 03:21: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 1r6jEl-0006ns-9W; Sat, 25 Nov 2023 03:21:43 +0000
Received: by outflank-mailman (input) for mailman id 641037;
 Sat, 25 Nov 2023 03:21: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 1r6jEj-0006ni-St; Sat, 25 Nov 2023 03:21: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 1r6jEj-0004ML-GG; Sat, 25 Nov 2023 03:21: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 1r6jEi-0006hF-Uo; Sat, 25 Nov 2023 03:21:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6jEi-0005oz-TR; Sat, 25 Nov 2023 03:21: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=ya4dnQ5UzxEJz7i0lNlxHXYiIU/SRL3PcRpF1ukIej4=; b=rAr2uB6aely0bfQoQwy2ocRscG
	KNYcgx+zwL0qKdjfEf5zQttEY0V38kEyiHWockVYIiUWJ6lY3wUxNIyv/zH5nidruRf/LCevzIrwA
	QR3BLSOGM7hN/iAF21EK3uSdmzQbC/ONuVr2BC9Vr7c+Iytsx8vjCr9HO/7XkhKiP8ps=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183853-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183853: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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-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-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=f1a09972a45ae63efbd1587337c4be13b1893330
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Nov 2023 03:21:40 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-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-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                f1a09972a45ae63efbd1587337c4be13b1893330
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    9 days
Failing since        183773  2023-11-16 13:12:48 Z    8 days   19 attempts
Testing same since   183853  2023-11-24 16:42:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  "Michael S. Tsirkin" <mst@redhat.com>
  Abel Wu <wuyun.abel@bytedance.com>
  Aleksandr Loktionov <aleksandr.loktionov@intel.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alex Elder <elder@linaro.org>
  Alex Hung <alex.hung@amd.com>
  Alex Pakhunov <alexey.pakhunov@spacex.com>
  Alexei Starovoitov <ast@kernel.org>
  Alistair Francis <alistair.francis@wdc.com>
  Amir Goldstein <amir73il@gmail.com>
  Anastasia Belova <abelova@astralinux.ru>
  Anders Roxell <anders.roxell@linaro.org>
  Andi Shyti <andi.shyti@kernel.org>
  Andrew Morton <akpm@linux-foundation.org>
  Andrii Nakryiko <andrii@kernel.org>
  Andy Shevchenko <andriy.shevchenko@linux.intel.com>
  Andy Shevchenko <andy.shevchenko@gmail.com>
  Ani Sinha <anisinha@redhat.com>
  Anthony Iliopoulos <ailiop@suse.com>
  Aoba K <nexp_0x17@outlook.com>
  Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
  Arnd Bergmann <arnd@arndb.de>
  Arpana Arland <arpanax.arland@intel.com> (A Contingent worker at Intel)
  Arseniy Krasnov <avkrasnov@salutedevices.com>
  Asad Kamal <asad.kamal@amd.com>
  Bagas Sanjaya <bagasdotme@gmail.com>
  Baruch Siach <baruch@tkos.co.il>
  Bibo Mao <maobibo@loongson.cn>
  Björn Töpel <bjorn@rivosinc.com>
  Breno Leitao <leitao@debian.org>
  Brenton Simpson <appsforartists@google.com>
  Brett Raye <braye@fastmail.com>
  Chandan Babu R <chandanbabu@kernel.org>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Charles Mirabile <cmirabil@redhat.com>
  Charles Yi <be286@163.com>
  Chen Ni <nichen@iscas.ac.cn>
  Chen Yu <yu.c.chen@intel.com>
  Chengming Zhou <zhouchengming@bytedance.com>
  Christian König <christian.koenig@amd.com>
  Christoph Hellwig <hch@infradead.org>
  Christoph Hellwig <hch@lst.de>
  Chuck Lever <chuck.lever@oracle.com>
  ChunHao Lin <hau@realtek.com>
  Clément Léger <cleger@rivosinc.com>
  Colin Ian King <colin.i.king@gmail.com>
  Coly Li <colyli@suse.de>
  D. Wythe <alibuda@linux.alibaba.com>
  Damien Le Moal <dlemoal@kernel.org>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dan Nowlin <dan.nowlin@intel.com>
  Daniel Borkmann <daniel@iogearbox.net>
  Daniel J Blueman <daniel@quora.org>
  Daniel Vetter <daniel.vetter@ffwll.ch>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Danilo Krummrich <dakr@redhat.com>
  Dave Airlie <airlied@redhat.com>
  Dave Chinner <dchinner@redhat.com>
  Dave Hansen <dave.hansen@linux.intel.com>
  David Howells <dhowells@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Woodhouse <dwmw@amazon.co.uk>
  Denis Benato <benato.denis96@gmail.com>
  Dexuan Cui <decui@microsoft.com>
  Duncan Ma <duncan.ma@amd.com>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Erez Shitrit <erezsh@nvidia.com>
  Eric Dumazet <edumazet@google.com>
  Eugenio Pérez <eperezma@redhat.com>
  Eymen Yigit <eymenyg01@gmail.com>
  Fang Xiang <fangxiang3@xiaomi.com>
  Fangzhi Zuo <jerry.zuo@amd.com>
  Ferry Meng <mengferry@linux.alibaba.com>
  Gal Pressman <gal@nvidia.com>
  Gao Xiang <hsiangkao@linux.alibaba.com>
  Gavin Li <gavinl@nvidia.com>
  Geliang Tang <geliang.tang@suse.com>
  Gerd Bayer <gbayer@linux.ibm.com>
  Guoqing Jiang <guoqing.jiang@linux.dev>
  Gustavo A. R. Silva <gustavoars@kernel.org>
  Haiyang Zhang <haiyangz@microsoft.com>
  Hamish Martin <hamish.martin@alliedtelesis.co.nz>
  Hamza Mahfooz <hamza.mahfooz@amd.com>
  Hannes Reinecke <hare@suse.de>
  Hans de Goede <hdegoede@redhat.com>
  Hao Ge <gehao@kylinos.cn>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herb Wei <weihao.bj@ieisystem.com>
  Hou Tao <houtao1@huawei.com>
  Huacai Chen <chenhuacai@loongson.cn>
  Hyeongtak Ji <hyeongtak.ji@sk.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Itamar Gozlan <igozlan@nvidia.com>
  Ivan Vecera <ivecera@redhat.com>
  Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
  Jacob Keller <jacob.e.keller@intel.com>
  Jakub Kicinski <kuba@kernel.org>
  Jakub Sitnicki <jakub@cloudflare.com>
  Jan Bottorff <janb@os.amperecomputing.com>
  Jan Höppner <hoeppner@linux.ibm.com>
  Jan Kiszka <jan.kiszka@siemens.com>
  Jann Horn <jannh@google.com>
  Jarkko Nikula <jarkko.nikula@linux.intel.com>
  Jason A. Donenfeld <Jason@zx2c4.com>
  Jason Andryuk <jandryuk@gmail.com>
  Jason Wang <jasowang@redhat.com>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jean Delvare <jdelvare@suse.de>
  Jeff Layton <jlayton@kernel.org
  Jeff Layton <jlayton@kernel.org>
  Jens Axboe <axboe@kernel.dk>
  Jian Shen <shenjian15@huawei.com>
  Jianbo Liu <jianbol@nvidia.com>
  Jiapeng Chong <jiapeng.chong@linux.alibaba.com>
  Jiawen Wu <jiawenwu@trustnetic.com>
  Jijie Shao <shaojijie@huawei.com>
  Jingbo Xu <jefflexu@linux.alibaba.com>
  Jiri Kosina <jkosina@suse.cz>
  Jithu Joseph <jithu.joseph@intel.com>
  Johannes Weiner <hannes@cmpxchg.org>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  Jose Ignacio Tornos Martinez <jtornosm@redhat.com>
  José Pekkarinen <jose.pekkarinen@foxhound.fi>
  Jozsef Kadlecsik <kadlec@netfilter.org>
  Juergen Gross <jgross@suse.com>
  Kai Huang <kai.huang@intel.com>
  Kai Vehmanen <kai.vehmanen@linux.intel.com>
  Kailang Yang <kailang@realtek.com>
  Kees Cook <keescook@chromium.org>
  Keisuke Nishimura <keisuke.nishimura@inria.fr>
  Keith Busch <kbusch@kernel.org>
  Kent Overstreet <kent.overstreet@gmail.com>
  Kent Overstreet <kent.overstreet@linux.dev>
  Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
  Kunwu Chan <chentao@kylinos.cn>
  Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
  Le Ma <le.ma@amd.com>
  Leah Rumancik <leah.rumancik@gmail.com>
  Lech Perczak <lech.perczak@gmail.com>
  Len Brown <len.brown@intel.com>
  Lewis Huang <lewis.huang@amd.com>
  Li Nan <linan122@huawei.com>
  Lijo Lazar <lijo.lazar@amd.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Liu Tie <liutie4@huawei.com>
  Long Li <leo.lilong@huawei.com>
  Long Li <longli@microsoft.com>
  Lorenzo Bianconi <lorenzo@kernel.org>
  Luca Boccassi <bluca@debian.org>
  Lukas Bulwahn <lukas.bulwahn@gmail.com>
  Luke D. Jones <luke@ljones.dev>
  Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
  Maciej Fijalkowski <maciej.fijalkowski@intel.com>
  Maher Sanalla <msanalla@nvidia.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Marek Behún <kabel@kernel.org>
  Mario Limonciello <mario.limonciello@amd.com>
  Mario Limonciello <mario.limonciello@amd.com> # PHX & Navi33
  Mark O'Donovan <shiftee@posteo.net>
  Martin K. Petersen <martin.petersen@oracle.com>
  Martin KaFai Lau <martin.lau@kernel.org>
  Masahiro Yamada <masahiroy@kernel.org>
  matoro <matoro_mailinglist_kernel@matoro.tk>
  Matthew Wilcox (Oracle) <willy@infradead.org>
  Matthieu Baerts <matttbe@kernel.org>
  Matus Malych <matus@malych.org>
  MD Danish Anwar <danishanwar@ti.com>
  Michael S. Tsirkin <mst@redhat.com>
  Mike Christie <michael.christie@oracle.com>
  Mike Snitzer <snitzer@kernel.org>
  Mikulas Patocka <mpatocka@redhat.com>
  Ming Lei <ming.lei@redhat.com>
  Mingzhe Zou <mingzhe.zou@easystack.cn>
  Muhammad Ahmed <ahmed.ahmed@amd.com>
  Muhammad Muzammil <m.muzzammilashraf@gmail.com>
  Muhammad Usama Anjum <usama.anjum@collabora.com>
  Naomi Chu <naomi.chu@mediatek.com>
  Nathan Chancellor <nathan@kernel.org>
  Neil Armstrong <neil.armstrong@linaro.org>
  Nguyen Dinh Phi <phind.uet@gmail.com>
  Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
  Nicholas Susanto <nicholas.susanto@amd.com>
  Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
  Nikolay Aleksandrov <razor@blackwall.org>
  Nilesh Javali <njavali@marvell.com>
  Oliver Neukum <oneukum@suse.com>
  Omar Sandoval <osandov@fb.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Greenwalt <paul.greenwalt@intel.com>
  Paul Hsieh <paul.hsieh@amd.com>
  Paul Moore <paul@paul-moore.com>
  Peilin Ye <peilin.ye@bytedance.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Korsgaard <peter@korsgaard.com>
  Peter Wang <peter.wang@mediatek.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
  Quinn Tran <qutran@marvell.com>
  Rafal Romanowski <rafal.romanowski@intel.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Raju Rangoju <Raju.Rangoju@amd.com>
  Rand Deeb <rand.sec96@gmail.com>
  Randy Dunlap <rdunlap@infradead.org>
  Randy Dunlap <rdunlap@infradead.org> # build-tested
  Ravi Gunasekaran <r-gunasekaran@ti.com>
  Richard Cochran <richardcochran@gmail.com>
  Richard Fitzgerald <rf@opensource.cirrus.com>
  Rick Edgecombe <rick.p.edgecombe@intel.com>
  Robert Marko <robert.marko@sartura.hr>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Roman Gushchin <roman.gushchin@linux.dev>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Ryan Roberts <ryan.roberts@arm.com>
  Saeed Mahameed <saeedm@nvidia.com>
  Sam James <sam@gentoo.org>
  Samuel Holland <samuel.holland@sifive.com>
  Saurabh Sengar <ssengar@linux.microsoft.com>
  SeongJae Park <sj@kernel.org>
  Serge Semin <fancer.lancer@gmail.com>
  Shakeel Butt <shakeelb@google.com>
  Shannon Nelson <shannon.nelson@amd.com>
  Shigeru Yoshida <syoshida@redhat.com>
  Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
  Shiwu Zhang <shiwu.zhang@amd.com>
  Shyam Prasad N <sprasad@microsoft.com>
  Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
  Simon Glass <sjg@chromium.org>
  Simon Horman <horms@kernel.org>
  Simon Trimmer <simont@opensource.cirrus.com>
  Song Liu <song@kernel.org>
  Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
  Srinivasan Shanmugam <srinivasan.shanmugam@amd.com>
  Stanislav Fomichev <sdf@google.com>
  Stanislaw Gruszka <stanislaw.gruszka@linux.intel.com>
  Stefan Binding <sbinding@opensource.cirrus.com>
  Stefan Haberland <sth@linux.ibm.com>
  Stefan Roesch <shr@devkernel.io>
  Stefano Garzarella <sgarzare@redhat.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Stephen Hemminger <stephen@networkplumber.org>
  Steve French <stfrench@microsoft.com>
  Stuart Hayhurst <stuart.a.hayhurst@gmail.com>
  Suman Ghosh <sumang@marvell.com>
  Sumeet Pawnikar <sumeet.r.pawnikar@intel.com>
  Sunitha Mekala <sunithax.d.mekala@intel.com> (A Contingent worker at Intel)
  Suren Baghdasaryan <surenb@google.com>
  Sven Auhagen <sven.auhagen@voleatech.de>
  Takashi Iwai <tiwai@suse.de>
  Thomas Gleixner <tglx@linutronix.de>
  Tianci Yin <tianci.yin@amd.com>
  Tony Nguyen <anthony.l.nguyen@intel.com>
  Uros Bizjak <ubizjak@gmail.com>
  Victor Lu <victorchengchi.lu@amd.com>
  Vincent Wong <vincent.wong2@spacex.com>
  Vlad Buslov <vladbu@nvidia.com>
  WANG Rui <wangrui@loongson.cn>
  Wei Liu <wei.liu@kernel.org>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Xiao Ni <xni@redhat.com>
  Xin Long <lucien.xin@gmail.com>
  Yang Li <yang.lee@linux.alibaba.com>
  Yang Wang <kevinyang.wang@amd.com>
  Yanteng Si <siyanteng@loongson.cn>
  Yi Zhang <yi.zhang@redhat.com>
  Yihong Cao <caoyihong4@outlook.com>
  Yonghong Song <yonghong.song@linux.dev>
  Yonglong Liu <liuyonglong@huawei.com>
  YuanShang <YuanShang.Mao@amd.com>
  Yuran Pereira <yuran.pereira@hotmail.com>
  Zhang Rui <rui.zhang@intel.com>
  Ziwei Xiao <ziweixiao@google.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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 12062 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 09:22:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 09:22:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641065.999907 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6orb-0007k9-7Z; Sat, 25 Nov 2023 09:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641065.999907; Sat, 25 Nov 2023 09: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 1r6orb-0007k2-4N; Sat, 25 Nov 2023 09:22:11 +0000
Received: by outflank-mailman (input) for mailman id 641065;
 Sat, 25 Nov 2023 09: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=hI3K=HG=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r6orZ-0007jw-8n
 for xen-devel@lists.xenproject.org; Sat, 25 Nov 2023 09:22:09 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1a72130f-8b74-11ee-98e2-6d05b1d4d9a1;
 Sat, 25 Nov 2023 10:22:07 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 0A3261FF07;
 Sat, 25 Nov 2023 09:22:06 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id D4FCB13519;
 Sat, 25 Nov 2023 09:22:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id +awxMr28YWUheQAAn2gu4w
 (envelope-from <jgross@suse.com>); Sat, 25 Nov 2023 09:22: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: 1a72130f-8b74-11ee-98e2-6d05b1d4d9a1
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.7-rc3
Date: Sat, 25 Nov 2023 10:22:05 +0100
Message-Id: <20231125092205.8378-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: +++++++++++++++
X-Spam-Score: 15.00
X-Rspamd-Server: rspamd1
X-Spam-Level: ***************
X-Rspamd-Queue-Id: 0A3261FF07
X-Spam-Flag: YES
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[4];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 TO_DN_NONE(0.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 NEURAL_HAM_SHORT(-0.02)[-0.094];
	 MID_CONTAINS_FROM(1.00)[];
	 NEURAL_HAM_LONG(-0.99)[-0.994];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_IN_DNSWL_HI(-0.50)[2a07:de40:b281:106:10:150:64:167:received];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-1.11)[88.26%]
X-Spam: Yes

Linus,

Please git pull the following tag:

 git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.7a-rc3-tag

xen: branch for v6.7-rc3

It contains the following patches:

- A small cleanup patch for the Xen privcmd driver.

- A fix for the swiotlb-xen driver which was missing the advertising
  of the maximum mapping length.

- A fix for Xen on Arm for a long standing bug, which happened to occur
  only recently: a structure in percpu memory crossed a page boundary,
  which was rejected by the hypervisor.


Thanks.

Juergen

 arch/arm/xen/enlighten.c  | 3 ++-
 drivers/xen/privcmd.c     | 2 +-
 drivers/xen/swiotlb-xen.c | 1 +
 3 files changed, 4 insertions(+), 2 deletions(-)

Gustavo A. R. Silva (1):
      xen: privcmd: Replace zero-length array with flex-array member and use __counted_by

Keith Busch (1):
      swiotlb-xen: provide the "max_mapping_size" method

Stefano Stabellini (1):
      arm/xen: fix xen_vcpu_info allocation alignment


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 09:50:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 09:50:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641071.999917 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6pIR-0002k1-E2; Sat, 25 Nov 2023 09:49:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641071.999917; Sat, 25 Nov 2023 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 1r6pIR-0002ju-Ap; Sat, 25 Nov 2023 09:49:55 +0000
Received: by outflank-mailman (input) for mailman id 641071;
 Sat, 25 Nov 2023 09:39: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=L/LZ=HG=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r6p8i-0001dV-Ms
 for xen-devel@lists.xenproject.org; Sat, 25 Nov 2023 09:39:52 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 91bbac01-8b76-11ee-9b0e-b553b5be7939;
 Sat, 25 Nov 2023 10:39:49 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.93.142])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4Scmyz22q0z4f3lfQ
 for <xen-devel@lists.xenproject.org>; Sat, 25 Nov 2023 17:39:39 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 9B55D1A038C
 for <xen-devel@lists.xenproject.org>; Sat, 25 Nov 2023 17:39:43 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgA3iA7bwGFldwaOBw--.23278S4;
 Sat, 25 Nov 2023 17:39:43 +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: 91bbac01-8b76-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	gregkh@linuxfoundation.org,
	min15.li@samsung.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	p.raghav@samsung.com,
	hare@suse.de
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai3@huawei.com,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH -next] block: remove field 'bd_inode' from block_device
Date: Sat, 25 Nov 2023 17:39:12 +0800
Message-Id: <20231125093912.141486-1-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgA3iA7bwGFldwaOBw--.23278S4
X-Coremail-Antispam: 1UD129KBjvAXoWfurWDGr4kuw47KryDKr4kJFb_yoW5Cr1fZo
	W3Jr13Wr1kJry3J397G3s2ya4UX39rCws3CFs8CFn0va4F9w1jk347Ga15AF1fuw1rKF1f
	A34xAa1rXFWUAayrn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3
	AaLaJ3UjIYCTnIWjp_UUUYI7AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E6xAIw20EY4v20xva
	j40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2
	x7M28EF7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8
	Jr0_Cr1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26r
	xl6s0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj
	6xIIjxv20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr
	0_Gr1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E
	8cxan2IY04v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I
	8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8
	Jr1lIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7
	CjxVAFwI0_Cr0_Gr1UMIIF0xvE42xK8VAvwI8IcIk0rVWrZr1j6s0DMIIF0xvEx4A2jsIE
	14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr1j6F4UJbIYCTnIWIevJa73UjIFyT
	uYvjfUojjgUUUUU
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

block_devcie is allocated from bdev_alloc() by bdev_alloc_inode(), and
currently block_device contains a pointer that point to the address of
inode, while such inode is allocated together:

bdev_alloc
 inode = new_inode()
  // inode is &bdev_inode->vfs_inode
 bdev = I_BDEV(inode)
  // bdev is &bdev_inode->bdev
 bdev->inode = inode

Add a new helper to get address of inode from bdev by add operation
instead of memory access, which is more efficiency. Also prepare to
add a new field 'bd_flags' in the first cacheline(64 bytes).

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 block/bdev.c                       | 39 +++++++++++++++++-------------
 block/blk-zoned.c                  |  4 +--
 block/fops.c                       |  4 +--
 block/genhd.c                      |  8 +++---
 block/ioctl.c                      |  8 +++---
 block/partitions/core.c            |  9 ++++---
 drivers/block/xen-blkback/xenbus.c |  2 +-
 drivers/md/bcache/super.c          |  2 +-
 drivers/mtd/devices/block2mtd.c    | 12 ++++-----
 drivers/s390/block/dasd_ioctl.c    |  2 +-
 drivers/scsi/scsicam.c             |  2 +-
 fs/bcachefs/util.h                 |  2 +-
 fs/btrfs/disk-io.c                 |  6 ++---
 fs/btrfs/volumes.c                 |  4 +--
 fs/btrfs/zoned.c                   |  2 +-
 fs/buffer.c                        |  8 +++---
 fs/cramfs/inode.c                  |  2 +-
 fs/erofs/data.c                    |  2 +-
 fs/ext4/dir.c                      |  2 +-
 fs/ext4/ext4_jbd2.c                |  2 +-
 fs/ext4/super.c                    |  8 +++---
 fs/gfs2/glock.c                    |  2 +-
 fs/gfs2/ops_fstype.c               |  2 +-
 fs/jbd2/journal.c                  |  3 ++-
 fs/jbd2/recovery.c                 |  2 +-
 fs/nilfs2/segment.c                |  2 +-
 include/linux/blk_types.h          | 10 ++++++--
 include/linux/blkdev.h             |  4 +--
 include/linux/buffer_head.h        |  4 +--
 29 files changed, 86 insertions(+), 73 deletions(-)

diff --git a/block/bdev.c b/block/bdev.c
index e4cfb7adb645..f27eb5588332 100644
--- a/block/bdev.c
+++ b/block/bdev.c
@@ -48,7 +48,7 @@ EXPORT_SYMBOL(I_BDEV);
 
 static void bdev_write_inode(struct block_device *bdev)
 {
-	struct inode *inode = bdev->bd_inode;
+	struct inode *inode = bdev_inode(bdev);
 	int ret;
 
 	spin_lock(&inode->i_lock);
@@ -67,7 +67,7 @@ static void bdev_write_inode(struct block_device *bdev)
 /* Kill _all_ buffers and pagecache , dirty or not.. */
 static void kill_bdev(struct block_device *bdev)
 {
-	struct address_space *mapping = bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(bdev)->i_mapping;
 
 	if (mapping_empty(mapping))
 		return;
@@ -79,7 +79,7 @@ static void kill_bdev(struct block_device *bdev)
 /* Invalidate clean unused buffers and pagecache. */
 void invalidate_bdev(struct block_device *bdev)
 {
-	struct address_space *mapping = bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(bdev)->i_mapping;
 
 	if (mapping->nrpages) {
 		invalidate_bh_lrus();
@@ -107,7 +107,7 @@ int truncate_bdev_range(struct block_device *bdev, blk_mode_t mode,
 			goto invalidate;
 	}
 
-	truncate_inode_pages_range(bdev->bd_inode->i_mapping, lstart, lend);
+	truncate_inode_pages_range(bdev_inode(bdev)->i_mapping, lstart, lend);
 	if (!(mode & BLK_OPEN_EXCL))
 		bd_abort_claiming(bdev, truncate_bdev_range);
 	return 0;
@@ -117,7 +117,7 @@ int truncate_bdev_range(struct block_device *bdev, blk_mode_t mode,
 	 * Someone else has handle exclusively open. Try invalidating instead.
 	 * The 'end' argument is inclusive so the rounding is safe.
 	 */
-	return invalidate_inode_pages2_range(bdev->bd_inode->i_mapping,
+	return invalidate_inode_pages2_range(bdev_inode(bdev)->i_mapping,
 					     lstart >> PAGE_SHIFT,
 					     lend >> PAGE_SHIFT);
 }
@@ -125,18 +125,21 @@ int truncate_bdev_range(struct block_device *bdev, blk_mode_t mode,
 static void set_init_blocksize(struct block_device *bdev)
 {
 	unsigned int bsize = bdev_logical_block_size(bdev);
-	loff_t size = i_size_read(bdev->bd_inode);
+	struct inode *inode = bdev_inode(bdev);
+	loff_t size = i_size_read(inode);
 
 	while (bsize < PAGE_SIZE) {
 		if (size & bsize)
 			break;
 		bsize <<= 1;
 	}
-	bdev->bd_inode->i_blkbits = blksize_bits(bsize);
+	inode->i_blkbits = blksize_bits(bsize);
 }
 
 int set_blocksize(struct block_device *bdev, int size)
 {
+	struct inode *inode;
+
 	/* Size must be a power of two, and between 512 and PAGE_SIZE */
 	if (size > PAGE_SIZE || size < 512 || !is_power_of_2(size))
 		return -EINVAL;
@@ -146,9 +149,10 @@ int set_blocksize(struct block_device *bdev, int size)
 		return -EINVAL;
 
 	/* Don't change the size if it is same as current */
-	if (bdev->bd_inode->i_blkbits != blksize_bits(size)) {
+	inode = bdev_inode(bdev);
+	if (inode->i_blkbits != blksize_bits(size)) {
 		sync_blockdev(bdev);
-		bdev->bd_inode->i_blkbits = blksize_bits(size);
+		inode->i_blkbits = blksize_bits(size);
 		kill_bdev(bdev);
 	}
 	return 0;
@@ -183,7 +187,7 @@ int sync_blockdev_nowait(struct block_device *bdev)
 {
 	if (!bdev)
 		return 0;
-	return filemap_flush(bdev->bd_inode->i_mapping);
+	return filemap_flush(bdev_inode(bdev)->i_mapping);
 }
 EXPORT_SYMBOL_GPL(sync_blockdev_nowait);
 
@@ -195,13 +199,13 @@ int sync_blockdev(struct block_device *bdev)
 {
 	if (!bdev)
 		return 0;
-	return filemap_write_and_wait(bdev->bd_inode->i_mapping);
+	return filemap_write_and_wait(bdev_inode(bdev)->i_mapping);
 }
 EXPORT_SYMBOL(sync_blockdev);
 
 int sync_blockdev_range(struct block_device *bdev, loff_t lstart, loff_t lend)
 {
-	return filemap_write_and_wait_range(bdev->bd_inode->i_mapping,
+	return filemap_write_and_wait_range(bdev_inode(bdev)->i_mapping,
 			lstart, lend);
 }
 EXPORT_SYMBOL(sync_blockdev_range);
@@ -400,7 +404,6 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
 	spin_lock_init(&bdev->bd_size_lock);
 	mutex_init(&bdev->bd_holder_lock);
 	bdev->bd_partno = partno;
-	bdev->bd_inode = inode;
 	bdev->bd_queue = disk->queue;
 	if (partno)
 		bdev->bd_has_submit_bio = disk->part0->bd_has_submit_bio;
@@ -418,17 +421,19 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
 void bdev_set_nr_sectors(struct block_device *bdev, sector_t sectors)
 {
 	spin_lock(&bdev->bd_size_lock);
-	i_size_write(bdev->bd_inode, (loff_t)sectors << SECTOR_SHIFT);
+	i_size_write(bdev_inode(bdev), (loff_t)sectors << SECTOR_SHIFT);
 	bdev->bd_nr_sectors = sectors;
 	spin_unlock(&bdev->bd_size_lock);
 }
 
 void bdev_add(struct block_device *bdev, dev_t dev)
 {
+	struct inode *inode = bdev_inode(bdev);
+
 	bdev->bd_dev = dev;
-	bdev->bd_inode->i_rdev = dev;
-	bdev->bd_inode->i_ino = dev;
-	insert_inode_hash(bdev->bd_inode);
+	inode->i_rdev = dev;
+	inode->i_ino = dev;
+	insert_inode_hash(inode);
 }
 
 long nr_blockdev_pages(void)
diff --git a/block/blk-zoned.c b/block/blk-zoned.c
index 619ee41a51cc..6b91f6d45590 100644
--- a/block/blk-zoned.c
+++ b/block/blk-zoned.c
@@ -401,7 +401,7 @@ int blkdev_zone_mgmt_ioctl(struct block_device *bdev, blk_mode_t mode,
 		op = REQ_OP_ZONE_RESET;
 
 		/* Invalidate the page cache, including dirty pages. */
-		filemap_invalidate_lock(bdev->bd_inode->i_mapping);
+		filemap_invalidate_lock(bdev_inode(bdev)->i_mapping);
 		ret = blkdev_truncate_zone_range(bdev, mode, &zrange);
 		if (ret)
 			goto fail;
@@ -424,7 +424,7 @@ int blkdev_zone_mgmt_ioctl(struct block_device *bdev, blk_mode_t mode,
 
 fail:
 	if (cmd == BLKRESETZONE)
-		filemap_invalidate_unlock(bdev->bd_inode->i_mapping);
+		filemap_invalidate_unlock(bdev_inode(bdev)->i_mapping);
 
 	return ret;
 }
diff --git a/block/fops.c b/block/fops.c
index 0abaac705daf..45ee180448ed 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -605,7 +605,7 @@ static int blkdev_open(struct inode *inode, struct file *filp)
 	if (bdev_nowait(handle->bdev))
 		filp->f_mode |= FMODE_NOWAIT;
 
-	filp->f_mapping = handle->bdev->bd_inode->i_mapping;
+	filp->f_mapping = bdev_inode(handle->bdev)->i_mapping;
 	filp->f_wb_err = filemap_sample_wb_err(filp->f_mapping);
 	filp->private_data = handle;
 	return 0;
@@ -657,7 +657,7 @@ static ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
 {
 	struct file *file = iocb->ki_filp;
 	struct block_device *bdev = I_BDEV(file->f_mapping->host);
-	struct inode *bd_inode = bdev->bd_inode;
+	struct inode *bd_inode = bdev_inode(bdev);
 	loff_t size = bdev_nr_bytes(bdev);
 	size_t shorted = 0;
 	ssize_t ret;
diff --git a/block/genhd.c b/block/genhd.c
index c9d06f72c587..643936a47547 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -653,7 +653,7 @@ void del_gendisk(struct gendisk *disk)
 	 */
 	mutex_lock(&disk->open_mutex);
 	xa_for_each(&disk->part_tbl, idx, part)
-		remove_inode_hash(part->bd_inode);
+		remove_inode_hash(bdev_inode(part));
 	mutex_unlock(&disk->open_mutex);
 
 	/*
@@ -742,7 +742,7 @@ void invalidate_disk(struct gendisk *disk)
 	struct block_device *bdev = disk->part0;
 
 	invalidate_bdev(bdev);
-	bdev->bd_inode->i_mapping->wb_err = 0;
+	bdev_inode(bdev)->i_mapping->wb_err = 0;
 	set_capacity(disk, 0);
 }
 EXPORT_SYMBOL(invalidate_disk);
@@ -1188,7 +1188,7 @@ static void disk_release(struct device *dev)
 	if (test_bit(GD_ADDED, &disk->state) && disk->fops->free_disk)
 		disk->fops->free_disk(disk);
 
-	iput(disk->part0->bd_inode);	/* frees the disk */
+	iput(bdev_inode(disk->part0));	/* frees the disk */
 }
 
 static int block_uevent(const struct device *dev, struct kobj_uevent_env *env)
@@ -1378,7 +1378,7 @@ struct gendisk *__alloc_disk_node(struct request_queue *q, int node_id,
 out_destroy_part_tbl:
 	xa_destroy(&disk->part_tbl);
 	disk->part0->bd_disk = NULL;
-	iput(disk->part0->bd_inode);
+	iput(bdev_inode(disk->part0));
 out_free_bdi:
 	bdi_put(disk->bdi);
 out_free_bioset:
diff --git a/block/ioctl.c b/block/ioctl.c
index 4160f4e6bd5b..185336f3d4f2 100644
--- a/block/ioctl.c
+++ b/block/ioctl.c
@@ -89,7 +89,7 @@ static int blk_ioctl_discard(struct block_device *bdev, blk_mode_t mode,
 {
 	uint64_t range[2];
 	uint64_t start, len;
-	struct inode *inode = bdev->bd_inode;
+	struct inode *inode = bdev_inode(bdev);
 	int err;
 
 	if (!(mode & BLK_OPEN_WRITE))
@@ -143,12 +143,12 @@ static int blk_ioctl_secure_erase(struct block_device *bdev, blk_mode_t mode,
 	if (start + len > bdev_nr_bytes(bdev))
 		return -EINVAL;
 
-	filemap_invalidate_lock(bdev->bd_inode->i_mapping);
+	filemap_invalidate_lock(bdev_inode(bdev)->i_mapping);
 	err = truncate_bdev_range(bdev, mode, start, start + len - 1);
 	if (!err)
 		err = blkdev_issue_secure_erase(bdev, start >> 9, len >> 9,
 						GFP_KERNEL);
-	filemap_invalidate_unlock(bdev->bd_inode->i_mapping);
+	filemap_invalidate_unlock(bdev_inode(bdev)->i_mapping);
 	return err;
 }
 
@@ -158,7 +158,7 @@ static int blk_ioctl_zeroout(struct block_device *bdev, blk_mode_t mode,
 {
 	uint64_t range[2];
 	uint64_t start, end, len;
-	struct inode *inode = bdev->bd_inode;
+	struct inode *inode = bdev_inode(bdev);
 	int err;
 
 	if (!(mode & BLK_OPEN_WRITE))
diff --git a/block/partitions/core.c b/block/partitions/core.c
index f47ffcfdfcec..ac678c340e19 100644
--- a/block/partitions/core.c
+++ b/block/partitions/core.c
@@ -243,7 +243,7 @@ static const struct attribute_group *part_attr_groups[] = {
 static void part_release(struct device *dev)
 {
 	put_disk(dev_to_bdev(dev)->bd_disk);
-	iput(dev_to_bdev(dev)->bd_inode);
+	iput(bdev_inode(dev_to_bdev(dev)));
 }
 
 static int part_uevent(const struct device *dev, struct kobj_uevent_env *env)
@@ -483,7 +483,7 @@ int bdev_del_partition(struct gendisk *disk, int partno)
 	 * Just delete the partition and invalidate it.
 	 */
 
-	remove_inode_hash(part->bd_inode);
+	remove_inode_hash(bdev_inode(part));
 	invalidate_bdev(part);
 	drop_partition(part);
 	ret = 0;
@@ -669,7 +669,7 @@ int bdev_disk_changed(struct gendisk *disk, bool invalidate)
 		 * it cannot be looked up any more even when openers
 		 * still hold references.
 		 */
-		remove_inode_hash(part->bd_inode);
+		remove_inode_hash(bdev_inode(part));
 
 		/*
 		 * If @disk->open_partitions isn't elevated but there's
@@ -718,7 +718,8 @@ EXPORT_SYMBOL_GPL(bdev_disk_changed);
 
 void *read_part_sector(struct parsed_partitions *state, sector_t n, Sector *p)
 {
-	struct address_space *mapping = state->disk->part0->bd_inode->i_mapping;
+	struct address_space *mapping =
+			bdev_inode(state->disk->part0)->i_mapping;
 	struct folio *folio;
 
 	if (n >= get_capacity(state->disk)) {
diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index e34219ea2b05..e11f8123d213 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -105,7 +105,7 @@ static void xen_update_blkif_status(struct xen_blkif *blkif)
 		return;
 	}
 	invalidate_inode_pages2(
-			blkif->vbd.bdev_handle->bdev->bd_inode->i_mapping);
+			bdev_inode(blkif->vbd.bdev_handle->bdev)->i_mapping);
 
 	for (i = 0; i < blkif->nr_rings; i++) {
 		ring = &blkif->rings[i];
diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index bfe1685dbae5..3ab8bae049ee 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -171,7 +171,7 @@ static const char *read_super(struct cache_sb *sb, struct block_device *bdev,
 	struct page *page;
 	unsigned int i;
 
-	page = read_cache_page_gfp(bdev->bd_inode->i_mapping,
+	page = read_cache_page_gfp(bdev_inode(bdev)->i_mapping,
 				   SB_OFFSET >> PAGE_SHIFT, GFP_KERNEL);
 	if (IS_ERR(page))
 		return "IO error";
diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c
index aa44a23ec045..d4f7a4339a70 100644
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
@@ -56,7 +56,7 @@ static struct page *page_read(struct address_space *mapping, pgoff_t index)
 static int _block2mtd_erase(struct block2mtd_dev *dev, loff_t to, size_t len)
 {
 	struct address_space *mapping =
-				dev->bdev_handle->bdev->bd_inode->i_mapping;
+				bdev_inode(dev->bdev_handle->bdev)->i_mapping;
 	struct page *page;
 	pgoff_t index = to >> PAGE_SHIFT;	// page index
 	int pages = len >> PAGE_SHIFT;
@@ -107,7 +107,7 @@ static int block2mtd_read(struct mtd_info *mtd, loff_t from, size_t len,
 {
 	struct block2mtd_dev *dev = mtd->priv;
 	struct address_space *mapping =
-				dev->bdev_handle->bdev->bd_inode->i_mapping;
+				bdev_inode(dev->bdev_handle->bdev)->i_mapping;
 	struct page *page;
 	pgoff_t index = from >> PAGE_SHIFT;
 	int offset = from & (PAGE_SIZE-1);
@@ -143,7 +143,7 @@ static int _block2mtd_write(struct block2mtd_dev *dev, const u_char *buf,
 {
 	struct page *page;
 	struct address_space *mapping =
-				dev->bdev_handle->bdev->bd_inode->i_mapping;
+				bdev_inode(dev->bdev_handle->bdev)->i_mapping;
 	pgoff_t index = to >> PAGE_SHIFT;	// page index
 	int offset = to & ~PAGE_MASK;	// page offset
 	int cpylen;
@@ -212,7 +212,7 @@ static void block2mtd_free_device(struct block2mtd_dev *dev)
 
 	if (dev->bdev_handle) {
 		invalidate_mapping_pages(
-			dev->bdev_handle->bdev->bd_inode->i_mapping, 0, -1);
+			bdev_inode(dev->bdev_handle->bdev)->i_mapping, 0, -1);
 		bdev_release(dev->bdev_handle);
 	}
 
@@ -295,7 +295,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size,
 		goto err_free_block2mtd;
 	}
 
-	if ((long)bdev->bd_inode->i_size % erase_size) {
+	if ((long)bdev_inode(bdev)->i_size % erase_size) {
 		pr_err("erasesize must be a divisor of device size\n");
 		goto err_free_block2mtd;
 	}
@@ -313,7 +313,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size,
 
 	dev->mtd.name = name;
 
-	dev->mtd.size = bdev->bd_inode->i_size & PAGE_MASK;
+	dev->mtd.size = bdev_inode(bdev)->i_size & PAGE_MASK;
 	dev->mtd.erasesize = erase_size;
 	dev->mtd.writesize = 1;
 	dev->mtd.writebufsize = PAGE_SIZE;
diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c
index 61b9675e2a67..a34554ace310 100644
--- a/drivers/s390/block/dasd_ioctl.c
+++ b/drivers/s390/block/dasd_ioctl.c
@@ -221,7 +221,7 @@ dasd_format(struct dasd_block *block, struct format_data_t *fdata)
 	 * enabling the device later.
 	 */
 	if (fdata->start_unit == 0) {
-		block->gdp->part0->bd_inode->i_blkbits =
+		bdev_inode(block->gdp->part0)->i_blkbits =
 			blksize_bits(fdata->blksize);
 	}
 
diff --git a/drivers/scsi/scsicam.c b/drivers/scsi/scsicam.c
index e2c7d8ef205f..de40a5ef7d96 100644
--- a/drivers/scsi/scsicam.c
+++ b/drivers/scsi/scsicam.c
@@ -32,7 +32,7 @@
  */
 unsigned char *scsi_bios_ptable(struct block_device *dev)
 {
-	struct address_space *mapping = bdev_whole(dev)->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(bdev_whole(dev))->i_mapping;
 	unsigned char *res = NULL;
 	struct folio *folio;
 
diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h
index 2984b57b2958..fe7ccb3a3517 100644
--- a/fs/bcachefs/util.h
+++ b/fs/bcachefs/util.h
@@ -518,7 +518,7 @@ int bch2_bio_alloc_pages(struct bio *, size_t, gfp_t);
 
 static inline sector_t bdev_sectors(struct block_device *bdev)
 {
-	return bdev->bd_inode->i_size >> 9;
+	return bdev_inode(bdev)->i_size >> 9;
 }
 
 #define closure_bio_submit(bio, cl)					\
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 401ea09ae4b8..88b20cd4d046 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -3653,7 +3653,7 @@ struct btrfs_super_block *btrfs_read_dev_one_super(struct block_device *bdev,
 	struct btrfs_super_block *super;
 	struct page *page;
 	u64 bytenr, bytenr_orig;
-	struct address_space *mapping = bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(bdev)->i_mapping;
 	int ret;
 
 	bytenr_orig = btrfs_sb_offset(copy_num);
@@ -3740,7 +3740,7 @@ static int write_dev_supers(struct btrfs_device *device,
 			    struct btrfs_super_block *sb, int max_mirrors)
 {
 	struct btrfs_fs_info *fs_info = device->fs_info;
-	struct address_space *mapping = device->bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(device->bdev)->i_mapping;
 	SHASH_DESC_ON_STACK(shash, fs_info->csum_shash);
 	int i;
 	int errors = 0;
@@ -3857,7 +3857,7 @@ static int wait_dev_supers(struct btrfs_device *device, int max_mirrors)
 		    device->commit_total_bytes)
 			break;
 
-		page = find_get_page(device->bdev->bd_inode->i_mapping,
+		page = find_get_page(bdev_inode(device->bdev)->i_mapping,
 				     bytenr >> PAGE_SHIFT);
 		if (!page) {
 			errors++;
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index c6f16625af51..bbf157cedab7 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -1257,8 +1257,8 @@ static struct btrfs_super_block *btrfs_read_disk_super(struct block_device *bdev
 		return ERR_PTR(-EINVAL);
 
 	/* pull in the page with our super */
-	page = read_cache_page_gfp(bdev->bd_inode->i_mapping, index, GFP_KERNEL);
-
+	page = read_cache_page_gfp(bdev_inode(bdev)->i_mapping, index,
+				   GFP_KERNEL);
 	if (IS_ERR(page))
 		return ERR_CAST(page);
 
diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c
index 188378ca19c7..a5f7f1458edf 100644
--- a/fs/btrfs/zoned.c
+++ b/fs/btrfs/zoned.c
@@ -120,7 +120,7 @@ static int sb_write_pointer(struct block_device *bdev, struct blk_zone *zones,
 		return -ENOENT;
 	} else if (full[0] && full[1]) {
 		/* Compare two super blocks */
-		struct address_space *mapping = bdev->bd_inode->i_mapping;
+		struct address_space *mapping = bdev_inode(bdev)->i_mapping;
 		struct page *page[BTRFS_NR_SB_LOG_ZONES];
 		struct btrfs_super_block *super[BTRFS_NR_SB_LOG_ZONES];
 		int i;
diff --git a/fs/buffer.c b/fs/buffer.c
index 967f34b70aa8..bf993198f881 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -189,7 +189,7 @@ EXPORT_SYMBOL(end_buffer_write_sync);
 static struct buffer_head *
 __find_get_block_slow(struct block_device *bdev, sector_t block)
 {
-	struct inode *bd_inode = bdev->bd_inode;
+	struct inode *bd_inode = bdev_inode(bdev);
 	struct address_space *bd_mapping = bd_inode->i_mapping;
 	struct buffer_head *ret = NULL;
 	pgoff_t index;
@@ -1032,7 +1032,7 @@ static int
 grow_dev_page(struct block_device *bdev, sector_t block,
 	      pgoff_t index, int size, int sizebits, gfp_t gfp)
 {
-	struct inode *inode = bdev->bd_inode;
+	struct inode *inode = bdev_inode(bdev);
 	struct folio *folio;
 	struct buffer_head *bh;
 	sector_t end_block;
@@ -1463,7 +1463,7 @@ __bread_gfp(struct block_device *bdev, sector_t block,
 {
 	struct buffer_head *bh;
 
-	gfp |= mapping_gfp_constraint(bdev->bd_inode->i_mapping, ~__GFP_FS);
+	gfp |= mapping_gfp_constraint(bdev_inode(bdev)->i_mapping, ~__GFP_FS);
 
 	/*
 	 * Prefer looping in the allocator rather than here, at least that
@@ -1696,7 +1696,7 @@ EXPORT_SYMBOL(create_empty_buffers);
  */
 void clean_bdev_aliases(struct block_device *bdev, sector_t block, sector_t len)
 {
-	struct inode *bd_inode = bdev->bd_inode;
+	struct inode *bd_inode = bdev_inode(bdev);
 	struct address_space *bd_mapping = bd_inode->i_mapping;
 	struct folio_batch fbatch;
 	pgoff_t index = block >> (PAGE_SHIFT - bd_inode->i_blkbits);
diff --git a/fs/cramfs/inode.c b/fs/cramfs/inode.c
index 60dbfa0f8805..e9ed1e24c9e4 100644
--- a/fs/cramfs/inode.c
+++ b/fs/cramfs/inode.c
@@ -183,7 +183,7 @@ static int next_buffer;
 static void *cramfs_blkdev_read(struct super_block *sb, unsigned int offset,
 				unsigned int len)
 {
-	struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(sb->s_bdev)->i_mapping;
 	struct file_ra_state ra = {};
 	struct page *pages[BLKS_PER_BUF];
 	unsigned i, blocknr, buffer;
diff --git a/fs/erofs/data.c b/fs/erofs/data.c
index 029c761670bf..85d490b3b53d 100644
--- a/fs/erofs/data.c
+++ b/fs/erofs/data.c
@@ -70,7 +70,7 @@ void erofs_init_metabuf(struct erofs_buf *buf, struct super_block *sb)
 	if (erofs_is_fscache_mode(sb))
 		buf->inode = EROFS_SB(sb)->s_fscache->inode;
 	else
-		buf->inode = sb->s_bdev->bd_inode;
+		buf->inode = bdev_inode(sb->s_bdev);
 }
 
 void *erofs_read_metabuf(struct erofs_buf *buf, struct super_block *sb,
diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index 3985f8c33f95..6e9fe408642b 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -192,7 +192,7 @@ static int ext4_readdir(struct file *file, struct dir_context *ctx)
 					(PAGE_SHIFT - inode->i_blkbits);
 			if (!ra_has_index(&file->f_ra, index))
 				page_cache_sync_readahead(
-					sb->s_bdev->bd_inode->i_mapping,
+					bdev_inode(sb->s_bdev)->i_mapping,
 					&file->f_ra, file,
 					index, 1);
 			file->f_ra.prev_pos = (loff_t)index << PAGE_SHIFT;
diff --git a/fs/ext4/ext4_jbd2.c b/fs/ext4/ext4_jbd2.c
index d1a2e6624401..e0e7f71d022d 100644
--- a/fs/ext4/ext4_jbd2.c
+++ b/fs/ext4/ext4_jbd2.c
@@ -206,7 +206,7 @@ static void ext4_journal_abort_handle(const char *caller, unsigned int line,
 
 static void ext4_check_bdev_write_error(struct super_block *sb)
 {
-	struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(sb->s_bdev)->i_mapping;
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
 	int err;
 
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index c5fcf377ab1f..da6af2205e55 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -244,7 +244,7 @@ static struct buffer_head *__ext4_sb_bread_gfp(struct super_block *sb,
 struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block,
 				   blk_opf_t op_flags)
 {
-	gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping,
+	gfp_t gfp = mapping_gfp_constraint(bdev_inode(sb->s_bdev)->i_mapping,
 			~__GFP_FS) | __GFP_MOVABLE;
 
 	return __ext4_sb_bread_gfp(sb, block, op_flags, gfp);
@@ -253,7 +253,7 @@ struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block,
 struct buffer_head *ext4_sb_bread_unmovable(struct super_block *sb,
 					    sector_t block)
 {
-	gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping,
+	gfp_t gfp = mapping_gfp_constraint(bdev_inode(sb->s_bdev)->i_mapping,
 			~__GFP_FS);
 
 	return __ext4_sb_bread_gfp(sb, block, 0, gfp);
@@ -502,7 +502,7 @@ static void ext4_maybe_update_superblock(struct super_block *sb)
  */
 static int block_device_ejected(struct super_block *sb)
 {
-	struct inode *bd_inode = sb->s_bdev->bd_inode;
+	struct inode *bd_inode = bdev_inode(sb->s_bdev);
 	struct backing_dev_info *bdi = inode_to_bdi(bd_inode);
 
 	return bdi->dev == NULL;
@@ -5585,7 +5585,7 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb)
 	 * used to detect the metadata async write error.
 	 */
 	spin_lock_init(&sbi->s_bdev_wb_lock);
-	errseq_check_and_advance(&sb->s_bdev->bd_inode->i_mapping->wb_err,
+	errseq_check_and_advance(&bdev_inode(sb->s_bdev)->i_mapping->wb_err,
 				 &sbi->s_bdev_wb_err);
 	EXT4_SB(sb)->s_mount_state |= EXT4_ORPHAN_FS;
 	ext4_orphan_cleanup(sb, es);
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index d6bf1f8c25dc..ec6394544ebb 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1210,7 +1210,7 @@ int gfs2_glock_get(struct gfs2_sbd *sdp, u64 number,
 	mapping = gfs2_glock2aspace(gl);
 	if (mapping) {
                 mapping->a_ops = &gfs2_meta_aops;
-		mapping->host = s->s_bdev->bd_inode;
+		mapping->host = bdev_inode(s->s_bdev);
 		mapping->flags = 0;
 		mapping_set_gfp_mask(mapping, GFP_NOFS);
 		mapping->private_data = NULL;
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index b108c5d26839..dfc4735cfd54 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -114,7 +114,7 @@ static struct gfs2_sbd *init_sbd(struct super_block *sb)
 
 	address_space_init_once(mapping);
 	mapping->a_ops = &gfs2_rgrp_aops;
-	mapping->host = sb->s_bdev->bd_inode;
+	mapping->host = bdev_inode(sb->s_bdev);
 	mapping->flags = 0;
 	mapping_set_gfp_mask(mapping, GFP_NOFS);
 	mapping->private_data = NULL;
diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index ed53188472f9..e2d034cc9dc0 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -2003,7 +2003,8 @@ static int __jbd2_journal_erase(journal_t *journal, unsigned int flags)
 		byte_count = (block_stop - block_start + 1) *
 				journal->j_blocksize;
 
-		truncate_inode_pages_range(journal->j_dev->bd_inode->i_mapping,
+		truncate_inode_pages_range(
+				bdev_inode(journal->j_dev)->i_mapping,
 				byte_start, byte_stop);
 
 		if (flags & JBD2_JOURNAL_FLUSH_DISCARD) {
diff --git a/fs/jbd2/recovery.c b/fs/jbd2/recovery.c
index 01f744cb97a4..7774efe872e8 100644
--- a/fs/jbd2/recovery.c
+++ b/fs/jbd2/recovery.c
@@ -309,7 +309,7 @@ int jbd2_journal_recover(journal_t *journal)
 	}
 
 	wb_err = 0;
-	mapping = journal->j_fs_dev->bd_inode->i_mapping;
+	mapping = bdev_inode(journal->j_fs_dev)->i_mapping;
 	errseq_check_and_advance(&mapping->wb_err, &wb_err);
 	err = do_one_pass(journal, &info, PASS_SCAN);
 	if (!err)
diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
index 55e31cc903d1..d346f5c1aad7 100644
--- a/fs/nilfs2/segment.c
+++ b/fs/nilfs2/segment.c
@@ -2823,7 +2823,7 @@ int nilfs_attach_log_writer(struct super_block *sb, struct nilfs_root *root)
 	if (!nilfs->ns_writer)
 		return -ENOMEM;
 
-	inode_attach_wb(nilfs->ns_bdev->bd_inode, NULL);
+	inode_attach_wb(bdev_inode(nilfs->ns_bdev), NULL);
 
 	err = nilfs_segctor_start_thread(nilfs->ns_writer);
 	if (unlikely(err))
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index d5c5e59ddbd2..db7c2b2179c7 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -50,8 +50,7 @@ struct block_device {
 	bool			bd_has_submit_bio;
 	dev_t			bd_dev;
 	atomic_t		bd_openers;
-	spinlock_t		bd_size_lock; /* for bd_inode->i_size updates */
-	struct inode *		bd_inode;	/* will die */
+	spinlock_t		bd_size_lock; /* for inode i_size updates */
 	void *			bd_claiming;
 	void *			bd_holder;
 	const struct blk_holder_ops *bd_holder_ops;
@@ -85,6 +84,13 @@ struct block_device {
 #define bdev_kobj(_bdev) \
 	(&((_bdev)->bd_device.kobj))
 
+static inline struct inode *bdev_inode(struct block_device *bdev)
+{
+	void *inode = bdev + 1;
+
+	return inode;
+}
+
 /*
  * Block error status values.  See block/blk-core:blk_errors for the details.
  * Alpha cannot write a byte atomically, so we need to use 32-bit value.
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 51fa7ffdee83..ef625ebefc7d 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -211,7 +211,7 @@ struct gendisk {
 
 static inline bool disk_live(struct gendisk *disk)
 {
-	return !inode_unhashed(disk->part0->bd_inode);
+	return !inode_unhashed(bdev_inode(disk->part0));
 }
 
 /**
@@ -1339,7 +1339,7 @@ static inline unsigned int blksize_bits(unsigned int size)
 
 static inline unsigned int block_size(struct block_device *bdev)
 {
-	return 1 << bdev->bd_inode->i_blkbits;
+	return 1 << bdev_inode(bdev)->i_blkbits;
 }
 
 int kblockd_schedule_work(struct work_struct *work);
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index 5f23ee599889..da9ee62e3aa9 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -341,7 +341,7 @@ static inline struct buffer_head *getblk_unmovable(struct block_device *bdev,
 {
 	gfp_t gfp;
 
-	gfp = mapping_gfp_constraint(bdev->bd_inode->i_mapping, ~__GFP_FS);
+	gfp = mapping_gfp_constraint(bdev_inode(bdev)->i_mapping, ~__GFP_FS);
 	gfp |= __GFP_NOFAIL;
 
 	return bdev_getblk(bdev, block, size, gfp);
@@ -352,7 +352,7 @@ static inline struct buffer_head *__getblk(struct block_device *bdev,
 {
 	gfp_t gfp;
 
-	gfp = mapping_gfp_constraint(bdev->bd_inode->i_mapping, ~__GFP_FS);
+	gfp = mapping_gfp_constraint(bdev_inode(bdev)->i_mapping, ~__GFP_FS);
 	gfp |= __GFP_MOVABLE | __GFP_NOFAIL;
 
 	return bdev_getblk(bdev, block, size, gfp);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Sat Nov 25 11:39:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 11:39:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641105.999926 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6qzy-0001LV-2P; Sat, 25 Nov 2023 11:38:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641105.999926; Sat, 25 Nov 2023 11:38: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 1r6qzx-0001LO-Vx; Sat, 25 Nov 2023 11:38:57 +0000
Received: by outflank-mailman (input) for mailman id 641105;
 Sat, 25 Nov 2023 11: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 1r6qzw-0001LE-Kt; Sat, 25 Nov 2023 11: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 1r6qzw-0006LA-AV; Sat, 25 Nov 2023 11: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 1r6qzv-0005KE-P3; Sat, 25 Nov 2023 11:38:55 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6qzv-0003cU-Nt; Sat, 25 Nov 2023 11: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=OidBCi+VPqO7yjj4d7Fr3QnML6ugIJ3qf/S++IMFLVM=; b=TvXyM0U1yKEMEUMmHse1D9nqn9
	0wZqQMaJOQIh25ITczzpmV5/LVHip1DQ10bSBGwer1g5JcpOmnHgeX72bfpZ0aZ93n1Adh0lDQGpa
	SAWVBGX8rNxj45dvuUEZD8udKpQAbMkaFXQPWklPtcXhlMCrDcx1c30geoCgPK71p9po=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183855-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183855: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-xl-credit1:guest-start/debian.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2: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-libvirt:migrate-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-i386-xl-pvshim:guest-start: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-amd64-amd64-libvirt-vhd: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-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    xen=80c153c48b255bae61948827241c26671207cf4e
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Nov 2023 11:38:55 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-xl-credit1 18 guest-start/debian.repeat fail in 183852 pass in 183855
 test-armhf-armhf-libvirt-raw 13 guest-start                fail pass in 183852

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 183852 blocked in 183855
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 183852 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183852
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183852
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183852
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183852
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183852
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183852
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183852
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183852
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183852
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183852
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183852
 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-xsm 15 migrate-support-check        fail   never pass
 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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 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-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          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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-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-libvirt     15 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:
 xen                  80c153c48b255bae61948827241c26671207cf4e
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183855  2023-11-25 01:53:52 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-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                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     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 Sat Nov 25 14:30:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 14:30:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641134.999937 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6tg8-0008RJ-6F; Sat, 25 Nov 2023 14:30:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641134.999937; Sat, 25 Nov 2023 14:30: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 1r6tg8-0008RC-38; Sat, 25 Nov 2023 14:30:40 +0000
Received: by outflank-mailman (input) for mailman id 641134;
 Sat, 25 Nov 2023 14:30: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 1r6tg6-0008R2-JO; Sat, 25 Nov 2023 14: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 1r6tg6-00019N-B4; Sat, 25 Nov 2023 14: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 1r6tg5-0000hX-Sv; Sat, 25 Nov 2023 14:30:37 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6tg5-0003zZ-SB; Sat, 25 Nov 2023 14:30: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=nztODIX2gPzd7ED2ue1PyfxxYkky+PamhIu42cv7DBs=; b=ldIZ7pH40DPiKCzvvMlwgQnEp/
	n0VP23ndFw1WZcvzQK0xRq+IBuPeTALNVEFoEkPlpUuFndMdC6Cv6+9ZFuHPYabwP3lB/m8fQFOSU
	NW7qwQnNWOcK4aJCEuN1t/HDf/igdb4atHysRbX2//CJ5a+/le7gy30KwcxTde+8MNUA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183856-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183856: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:regression
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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-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-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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
X-Osstest-Versions-This:
    linux=0f5cc96c367f2e780eb492cc9cab84e3b2ca88da
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Nov 2023 14:30:37 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766
 test-armhf-armhf-libvirt-qcow2  8 xen-boot               fail REGR. vs. 183766

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-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-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-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-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

version targeted for testing:
 linux                0f5cc96c367f2e780eb492cc9cab84e3b2ca88da
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z    9 days
Failing since        183773  2023-11-16 13:12:48 Z    9 days   20 attempts
Testing same since   183856  2023-11-25 03:26:35 Z    0 days    1 attempts

------------------------------------------------------------
315 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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                               fail    
 test-amd64-amd64-libvirt-raw                                 pass    
 test-arm64-arm64-libvirt-raw                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 13200 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 14:33:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 14:33:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641138.999946 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6tiU-0000a7-JV; Sat, 25 Nov 2023 14:33:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641138.999946; Sat, 25 Nov 2023 14:33: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 1r6tiU-0000a0-GF; Sat, 25 Nov 2023 14:33:06 +0000
Received: by outflank-mailman (input) for mailman id 641138;
 Sat, 25 Nov 2023 14:33: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=kKti=HG=linuxfoundation.org=gregkh@srs-se1.protection.inumbo.net>)
 id 1r6tiS-0000Zu-Lx
 for xen-devel@lists.xenproject.org; Sat, 25 Nov 2023 14:33:04 +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 88b2da80-8b9f-11ee-98e2-6d05b1d4d9a1;
 Sat, 25 Nov 2023 15:33:01 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id CD2BD60C23;
 Sat, 25 Nov 2023 14:32:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id EAF1EC433C9;
 Sat, 25 Nov 2023 14:32:57 +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: 88b2da80-8b9f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org;
	s=korg; t=1700922779;
	bh=oSd7BcOK3bP0I8DfntCNNyxB1mRx7mQJk5aYCZ56Jps=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=tb+b1AGjl66gEFJb49YPJaFeRIASRiFOTSxrZYFb/9UEMzhBhJ7dj03XjtnQqURkF
	 TfRgGHRdUiAjOE44N/FKpf7JzCF5V8n47LggUk8mYZ6WAEYe+BIWeDP2a/vA3Woy4L
	 +jv6Fe3Kj+6ny2tml8PShu+0hReicMnk89ZJEMIM=
Date: Sat, 25 Nov 2023 14:32:55 +0000
From: Greg KH <gregkh@linuxfoundation.org>
To: Yu Kuai <yukuai1@huaweicloud.com>
Cc: hch@infradead.org, ming.lei@redhat.com, axboe@kernel.dk,
	roger.pau@citrix.com, colyli@suse.de, kent.overstreet@gmail.com,
	joern@lazybastard.org, miquel.raynal@bootlin.com, richard@nod.at,
	vigneshr@ti.com, sth@linux.ibm.com, hoeppner@linux.ibm.com,
	hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com,
	jejb@linux.ibm.com, martin.petersen@oracle.com, clm@fb.com,
	josef@toxicpanda.com, dsterba@suse.com, viro@zeniv.linux.org.uk,
	brauner@kernel.org, nico@fluxnic.net, xiang@kernel.org,
	chao@kernel.org, tytso@mit.edu, adilger.kernel@dilger.ca,
	agruenba@redhat.com, jack@suse.com, konishi.ryusuke@gmail.com,
	dchinner@redhat.com, linux@weissschuh.net, min15.li@samsung.com,
	dlemoal@kernel.org, willy@infradead.org, akpm@linux-foundation.org,
	p.raghav@samsung.com, hare@suse.de, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org, gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org, yukuai3@huawei.com,
	yi.zhang@huawei.com, yangerkun@huawei.com
Subject: Re: [PATCH -next] block: remove field 'bd_inode' from block_device
Message-ID: <2023112544-subpanel-national-58e5@gregkh>
References: <20231125093912.141486-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231125093912.141486-1-yukuai1@huaweicloud.com>

On Sat, Nov 25, 2023 at 05:39:12PM +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> block_devcie is allocated from bdev_alloc() by bdev_alloc_inode(), and
> currently block_device contains a pointer that point to the address of
> inode, while such inode is allocated together:
> 
> bdev_alloc
>  inode = new_inode()
>   // inode is &bdev_inode->vfs_inode
>  bdev = I_BDEV(inode)
>   // bdev is &bdev_inode->bdev
>  bdev->inode = inode
> 
> Add a new helper to get address of inode from bdev by add operation
> instead of memory access, which is more efficiency. Also prepare to
> add a new field 'bd_flags' in the first cacheline(64 bytes).
> 
> Signed-off-by: Yu Kuai <yukuai3@huawei.com>
> ---
>  block/bdev.c                       | 39 +++++++++++++++++-------------
>  block/blk-zoned.c                  |  4 +--
>  block/fops.c                       |  4 +--
>  block/genhd.c                      |  8 +++---
>  block/ioctl.c                      |  8 +++---
>  block/partitions/core.c            |  9 ++++---
>  drivers/block/xen-blkback/xenbus.c |  2 +-
>  drivers/md/bcache/super.c          |  2 +-
>  drivers/mtd/devices/block2mtd.c    | 12 ++++-----
>  drivers/s390/block/dasd_ioctl.c    |  2 +-
>  drivers/scsi/scsicam.c             |  2 +-
>  fs/bcachefs/util.h                 |  2 +-
>  fs/btrfs/disk-io.c                 |  6 ++---
>  fs/btrfs/volumes.c                 |  4 +--
>  fs/btrfs/zoned.c                   |  2 +-
>  fs/buffer.c                        |  8 +++---
>  fs/cramfs/inode.c                  |  2 +-
>  fs/erofs/data.c                    |  2 +-
>  fs/ext4/dir.c                      |  2 +-
>  fs/ext4/ext4_jbd2.c                |  2 +-
>  fs/ext4/super.c                    |  8 +++---
>  fs/gfs2/glock.c                    |  2 +-
>  fs/gfs2/ops_fstype.c               |  2 +-
>  fs/jbd2/journal.c                  |  3 ++-
>  fs/jbd2/recovery.c                 |  2 +-
>  fs/nilfs2/segment.c                |  2 +-
>  include/linux/blk_types.h          | 10 ++++++--
>  include/linux/blkdev.h             |  4 +--
>  include/linux/buffer_head.h        |  4 +--
>  29 files changed, 86 insertions(+), 73 deletions(-)

You should do this as a patch series, add the helper function that does
nothing, convert all the different portions of the kernel as different
patches, and _then_ change the implementation of the block layer to
handle the change in the structure.

Otherwise this is going to be hard to get accepted.

Also, one note:

> @@ -85,6 +84,13 @@ struct block_device {
>  #define bdev_kobj(_bdev) \
>  	(&((_bdev)->bd_device.kobj))
>  
> +static inline struct inode *bdev_inode(struct block_device *bdev)
> +{
> +	void *inode = bdev + 1;

That's crazy, if something changes, this will keep working yet the
kernel will break and no one will know why.

Please use container_of(), that's what it is there for, this exact type
of thing.  Or if not, are you just assuming that the memory location
right after bdev is the inode?  That's a tough assumption, how are you
going to assure it really stays there?

thanks,

greg k-h


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 16:07:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 16:07:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641157.999956 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6vB8-00064G-9e; Sat, 25 Nov 2023 16:06:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641157.999956; Sat, 25 Nov 2023 16:06: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 1r6vB8-000649-6s; Sat, 25 Nov 2023 16:06:46 +0000
Received: by outflank-mailman (input) for mailman id 641157;
 Sat, 25 Nov 2023 16:06: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 1r6vB6-00061t-CG; Sat, 25 Nov 2023 16:06: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 1r6vB6-0003O7-5q; Sat, 25 Nov 2023 16:06: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 1r6vB5-00043i-K1; Sat, 25 Nov 2023 16:06:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r6vB5-0002ul-JU; Sat, 25 Nov 2023 16:06: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=AQzOOAghCee8AZ0P0k6vXDr/waUTNu5TOIlJ3dpku2w=; b=uv95lIbw+dusDYM+0Ur4iYC2gz
	3/ucFK4JClcNNMg3bDY0Mxn0T/c3wnFY/lgv9Fx8tNrCVOOTzB7gSgXxIMvf22KBHIbUfW7FI6i6b
	DnV0K3+F2sGYB0Pnz25CXR18XTfKJQIepVFnEtGOzGtGxtgU/jN/v7OeMuV5SSWh3O2I=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183857-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183857: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=b6471a9191359d48b93e537a5c44af6b005b5f2e
X-Osstest-Versions-That:
    libvirt=717790adde11c08246377188e0bef4e1720262e1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Nov 2023 16:06:43 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183850
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183850
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183850
 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-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-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-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     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-libvirt     15 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-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              b6471a9191359d48b93e537a5c44af6b005b5f2e
baseline version:
 libvirt              717790adde11c08246377188e0bef4e1720262e1

Last test of basis   183850  2023-11-24 04:18:49 Z    1 days
Testing same since   183857  2023-11-25 04:18:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Göran Uddeborg <goeran@uddeborg.se>
  Jan Tomko <jtomko@redhat.com>
  Ján Tomko <jtomko@redhat.com>
  Michal Privoznik <mprivozn@redhat.com>
  Peter Krempa <pkrempa@redhat.com>
  Tim Wiederhake <twiederh@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   717790adde..b6471a9191  b6471a9191359d48b93e537a5c44af6b005b5f2e -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 17:13:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 17:13:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641190.999967 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r6wDY-00076G-RS; Sat, 25 Nov 2023 17:13:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641190.999967; Sat, 25 Nov 2023 17:13: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 1r6wDY-000769-Oi; Sat, 25 Nov 2023 17:13:20 +0000
Received: by outflank-mailman (input) for mailman id 641190;
 Sat, 25 Nov 2023 17:13: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=jIEU=HG=kernel.org=pr-tracker-bot@srs-se1.protection.inumbo.net>)
 id 1r6wDX-000763-IH
 for xen-devel@lists.xenproject.org; Sat, 25 Nov 2023 17:13:19 +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 eb56c64d-8bb5-11ee-9b0e-b553b5be7939;
 Sat, 25 Nov 2023 18:13:16 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 3EDEA60DE4;
 Sat, 25 Nov 2023 17:13:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPS id E1A90C433C8;
 Sat, 25 Nov 2023 17:13:13 +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
 C1926EAA958; Sat, 25 Nov 2023 17:13: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: eb56c64d-8bb5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1700932393;
	bh=W0F/lRbpZj2Yy5ZtrfTRl4NAOBt7IGaRShsMv19f7A4=;
	h=Subject:From:In-Reply-To:References:Date:To:Cc:From;
	b=eown95AF5iXiVU5DzcxsHte5XXmyGDs2qI4t3kXE/SF7xlCfia5STArF/YIwaLQ+3
	 ztDewWDLjZMMybm0L+RGXURn+eEg2QdrIFiX33uzo9nT+ALZ+Vf/+nlRWmcltotGGm
	 UDnWY26QTSvRRLWC1ubLjsTCTNa92eHy+QGdhYSPqObM0fdgh+ak5YqW/lDtHG9W94
	 imXkc/NxEAd29gpXA20g8jAWalOD9OSe6kj5FwmH2BI/TWkfPrNTIuJ7BpYHv5jQVx
	 iipinUh04FcctLcptCcYYRPK24cyqayehl+5AXT+E2WDzMCM+ZdBe1X5NPTskhag/h
	 0LvaFelKR4UAA==
Subject: Re: [GIT PULL] xen: branch for v6.7-rc3
From: pr-tracker-bot@kernel.org
In-Reply-To: <20231125092205.8378-1-jgross@suse.com>
References: <20231125092205.8378-1-jgross@suse.com>
X-PR-Tracked-List-Id: <linux-kernel.vger.kernel.org>
X-PR-Tracked-Message-Id: <20231125092205.8378-1-jgross@suse.com>
X-PR-Tracked-Remote: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.7a-rc3-tag
X-PR-Tracked-Commit-Id: 7bf9a6b46549852a37e6d07e52c601c3c706b562
X-PR-Merge-Tree: torvalds/linux.git
X-PR-Merge-Refname: refs/heads/master
X-PR-Merge-Commit-Id: 00cff7b29b1dbc4ff48ae9278eb1aa4dc0bfad6a
Message-Id: <170093239378.710.7580413467376806013.pr-tracker-bot@kernel.org>
Date: Sat, 25 Nov 2023 17:13:13 +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, 25 Nov 2023 10:22:05 +0100:

> git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-6.7a-rc3-tag

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/00cff7b29b1dbc4ff48ae9278eb1aa4dc0bfad6a

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 21:59:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 21:59:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641234.999976 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r70gJ-0002jD-Hf; Sat, 25 Nov 2023 21:59:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641234.999976; Sat, 25 Nov 2023 21: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 1r70gJ-0002j6-F3; Sat, 25 Nov 2023 21:59:19 +0000
Received: by outflank-mailman (input) for mailman id 641234;
 Sat, 25 Nov 2023 21:59: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 1r70gJ-0002iw-0u; Sat, 25 Nov 2023 21:59: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 1r70gI-0001X3-Le; Sat, 25 Nov 2023 21:59: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 1r70gI-00066f-6e; Sat, 25 Nov 2023 21:59:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r70gI-0000Os-69; Sat, 25 Nov 2023 21:59: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=sCEtiX6OqCpD14iiQ1YDBie0lscYkOsXxk03bDpdcqI=; b=h6DJWom1XJ5udHXX8xZ1SeGwRm
	z901zGtoVjbuHAHZI+otqD3d8CPNEWDkK6pRxB9XM00jC88ethbI9A/S+VlkM9pTTI+kz7at4y8y0
	JRAOAxX8MlHz/7ihErlX9eLProiKpPCaJ4sAnuEq2R9yLW9RLFYf3+PA8SPCQXtzRAlc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183858-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183858: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-arm64-arm64-examine:reboot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit2:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-thunderx:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-credit1:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-raw:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:xen-boot:fail:regression
    linux-linus:test-arm64-arm64-xl-vhd:xen-boot:fail:regression
    linux-linus:test-armhf-armhf-libvirt-qcow2:xen-boot:fail:heisenbug
    linux-linus:test-armhf-armhf-examine:reboot:fail:heisenbug
    linux-linus:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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-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-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=0f5cc96c367f2e780eb492cc9cab84e3b2ca88da
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sat, 25 Nov 2023 21:59:18 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-examine      8 reboot                   fail REGR. vs. 183766
 test-arm64-arm64-xl-credit2   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-thunderx  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-xsm       8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-credit1   8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-raw  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl           8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-libvirt-xsm  8 xen-boot                 fail REGR. vs. 183766
 test-arm64-arm64-xl-vhd       8 xen-boot                 fail REGR. vs. 183766

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2  8 xen-boot       fail in 183856 pass in 183858
 test-armhf-armhf-examine      8 reboot                     fail pass in 183856

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-xsm 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-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-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-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-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-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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                0f5cc96c367f2e780eb492cc9cab84e3b2ca88da
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z   10 days
Failing since        183773  2023-11-16 13:12:48 Z    9 days   21 attempts
Testing same since   183856  2023-11-25 03:26:35 Z    0 days    2 attempts

------------------------------------------------------------
315 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                                          fail    
 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                                 fail    
 test-amd64-amd64-xl-xsm                                      pass    
 test-arm64-arm64-xl-xsm                                      fail    
 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                                  fail    
 test-armhf-armhf-xl-credit2                                  pass    
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-amd64-examine                                     pass    
 test-arm64-arm64-examine                                     fail    
 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                                     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                                 fail    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-amd64-xl-rtds                                     pass    
 test-armhf-armhf-xl-rtds                                     pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-amd64-xl-shadow                                   pass    
 test-arm64-arm64-xl-thunderx                                 fail    
 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 13200 lines long.)


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 22:21:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 22:21:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641247.999991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r711c-0006kh-CY; Sat, 25 Nov 2023 22:21:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641247.999991; Sat, 25 Nov 2023 22: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 1r711c-0006ka-9O; Sat, 25 Nov 2023 22:21:20 +0000
Received: by outflank-mailman (input) for mailman id 641247;
 Sat, 25 Nov 2023 22:21: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=lWaD=HG=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r711a-0006ig-UA
 for xen-devel@lists.xenproject.org; Sat, 25 Nov 2023 22:21:18 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f1c20b2d-8be0-11ee-98e2-6d05b1d4d9a1;
 Sat, 25 Nov 2023 23:21:16 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id CD966200E8;
 Sat, 25 Nov 2023 23:21:13 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id E05toH2dd2so; Sat, 25 Nov 2023 23:21:13 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 91E62200E6;
 Sat, 25 Nov 2023 23:21:13 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r711V-000000060g8-0zHt; Sat, 25 Nov 2023 23:21: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: f1c20b2d-8be0-11ee-98e2-6d05b1d4d9a1
Date: Sat, 25 Nov 2023 23:21:13 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v2 2/2] Mini-OS: keep a positive list of externally
 visible symbols
Message-ID: <20231125222113.liwl52xjb7lxwltg@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231123114504.29329-1-jgross@suse.com>
 <20231123114504.29329-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231123114504.29329-3-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le jeu. 23 nov. 2023 12:45:04 +0100, a ecrit:
> Add a mini-os.map file containing all global symbols that are allowed
> to be referenced by an application or library. Hide all other symbols
> of Mini-OS from being visible externally.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

Thanks!

> ---
> V2:
> - added more symbols (Samuel Thibault)
> - sorted symbols in each section alphabetically
> ---
>  Makefile    |   3 +-
>  mini-os.map | 295 ++++++++++++++++++++++++++++++++++++++++++++++++++++
>  2 files changed, 297 insertions(+), 1 deletion(-)
>  create mode 100644 mini-os.map
> 
> diff --git a/Makefile b/Makefile
> index 85c6db75..d4768110 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -164,8 +164,9 @@ endif
>  $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
>  	$(CPP) $(ASFLAGS) -P $< -o $@
>  
> -$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
> +$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds mini-os.map
>  	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
> +	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=mini-os.map $@ $@
>  
>  $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
>  	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
> diff --git a/mini-os.map b/mini-os.map
> new file mode 100644
> index 00000000..58a3a0ee
> --- /dev/null
> +++ b/mini-os.map
> @@ -0,0 +1,295 @@
> +# Mini-OS symbols being externally visible
> +# entry point
> +_start
> +# Mini-OS service functions
> +alloc_fd
> +alloc_file_type
> +alloc_pages
> +bind_pirq
> +bind_virq
> +block
> +clear_evtchn
> +console_print
> +create_thread
> +do_map_frames
> +event_queue
> +evtchn_alloc_unbound
> +evtchn_bind_interdomain
> +evtchn_get_peercontext
> +exit_thread
> +free_pages
> +get_domid
> +get_file_from_fd
> +gntmap_fini
> +gntmap_init
> +gntmap_map_grant_refs
> +gntmap_munmap
> +gntmap_set_max_grants
> +gnttabop_error
> +gnttab_alloc_and_grant
> +gnttab_grant_access
> +gnttab_grant_transfer
> +gnttab_end_transfer
> +gnttab_end_access
> +hypercall_page
> +ioremap
> +ioremap_nocache
> +iounmap
> +map_frames_ex
> +map_frame_rw
> +map_frame_virt
> +mask_evtchn
> +msleep
> +need_pgt
> +printk
> +schedule
> +stop_kernel
> +unbind_evtchn
> +unmap_frames
> +unmask_evtchn
> +wake
> +xencons_ring_avail
> +xprintk
> +__local_irq_restore
> +__local_irq_save
> +# libgcc
> +__divdi3
> +__moddi3
> +__qdivrem
> +__udivdi3
> +__udivmoddi4
> +__umoddi3
> +# libc
> +accept
> +bind
> +cfmakeraw
> +chdir
> +clock_gettime
> +close
> +closedir
> +closelog
> +connect
> +do_exit
> +dup
> +dup2
> +err
> +errx
> +execv
> +fcntl
> +ffs
> +ffsl
> +ffsll
> +fork
> +free
> +fstat64
> +fsync
> +ftruncate
> +getegid
> +geteuid
> +getgid
> +gethostname
> +getpagesize
> +getpeername
> +getpid
> +getsockname
> +getsockopt
> +gettimeofday
> +getuid
> +htonl
> +htons
> +inet_aton
> +inet_ntoa
> +ioctl
> +isatty
> +kill
> +link
> +listen
> +lockf
> +lseek64
> +malloc
> +memcmp
> +memcpy
> +memset
> +mkdir
> +mmap64
> +munmap
> +nanosleep
> +nice
> +ntohl
> +ntohs
> +open64
> +opendir
> +openlog
> +pipe
> +poll
> +posix_openpt
> +read
> +readdir
> +realloc
> +recv
> +recvfrom
> +rmdir
> +sbrk
> +scnprintf
> +select
> +select_read_flag
> +send
> +sendto
> +setsid
> +setsockopt
> +shutdown
> +sigaction
> +sleep
> +snprintf
> +socket
> +sprintf
> +sscanf
> +stat
> +strcat
> +strchr
> +strcmp
> +strcpy
> +strdup
> +strlen
> +strncmp
> +strncpy
> +strnlen
> +strrchr
> +strstr
> +strtoq
> +strtoul
> +strtouq
> +sysconf
> +syslog
> +tcgetattr
> +tcsetattr
> +umask
> +unlink
> +usleep
> +verr
> +verrx
> +vscnprintf
> +vsnprintf
> +vsprintf
> +vsscanf
> +vsyslog
> +vwarn
> +vwarnx
> +waitpid
> +warn
> +warnx
> +write
> +_ctype
> +_exit
> +_fini
> +_init
> +___lock_acquire
> +___lock_acquire_recursive
> +___lock_init_recursive
> +___lock_release
> +___lock_release_recursive
> +# 9pfront driver
> +init_9pfront
> +shutdown_9pfront
> +# blkfront driver
> +blkfront_aio
> +blkfront_aio_poll
> +blkfront_aio_push_operation
> +blkfront_io
> +blkfront_open
> +blkfront_queue
> +blkfront_sync
> +init_blkfront
> +shutdown_blkfront
> +# fbfront driver
> +fbfront_open
> +fbfront_receive
> +fbfront_resize
> +fbfront_update
> +init_fbfront
> +shutdown_fbfront
> +# kbdfront driver
> +init_kbdfront
> +kbdfront_open
> +kbdfront_receive
> +shutdown_kbdfront
> +# netfront driver
> +init_netfront
> +netfront_get_gateway
> +netfront_get_netmask
> +netfront_receive
> +netfront_tap_open
> +netfront_xmit
> +networking_set_addr
> +resume_netfront
> +shutdown_netfront
> +start_networking
> +stop_networking
> +suspend_netfront
> +# pcifront driver
> +init_pcifront
> +pcifront_conf_read
> +pcifront_conf_write
> +pcifront_disable_msi
> +pcifront_disable_msix
> +pcifront_enable_msi
> +pcifront_enable_msix
> +pcifront_op
> +pcifront_scan
> +shutdown_pcifront
> +# tpmback driver
> +init_tpmback
> +shutdown_tpmback
> +tpmback_get_opaque
> +tpmback_get_peercontext
> +tpmback_get_uuid
> +tpmback_num_frontends
> +tpmback_req
> +tpmback_req_any
> +tpmback_resp
> +tpmback_set_opaque
> +tpmback_wait_for_frontend_connect
> +# tpmfront driver
> +init_tpmfront
> +shutdown_tpmfront
> +tpmfront_cmd
> +tpmfront_open
> +tpmfront_set_locality
> +# tpm_tis driver
> +init_tpm_tis
> +init_tpm2_tis
> +tpm_tis_cmd
> +tpm_tis_open
> +tpm_tis_request_locality
> +# xenbus driver
> +xenbus_get_perms
> +xenbus_get_self_id
> +xenbus_ls
> +xenbus_msg_reply
> +xenbus_printf
> +xenbus_read
> +xenbus_read_integer
> +xenbus_read_uuid
> +xenbus_rm
> +xenbus_set_perms
> +xenbus_transaction_end
> +xenbus_switch_state
> +xenbus_transaction_start
> +xenbus_unwatch_path_token
> +xenbus_wait_for_state_change
> +xenbus_wait_for_value
> +xenbus_wait_for_watch
> +xenbus_wait_for_watch_return
> +xenbus_watch_path_token
> +xenbus_write
> +xenstore_buf
> +xs_daemon_open
> +xs_directory
> +xs_fileno
> +xs_get_domain_path
> +xs_read
> +xs_read_watch
> +xs_rm
> +xs_unwatch
> +xs_watch
> +xs_write
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Sat Nov 25 22:24:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sat, 25 Nov 2023 22:24:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641252.1000000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r714T-0007NV-Oq; Sat, 25 Nov 2023 22:24:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641252.1000000; Sat, 25 Nov 2023 22:24: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 1r714T-0007NO-MC; Sat, 25 Nov 2023 22:24:17 +0000
Received: by outflank-mailman (input) for mailman id 641252;
 Sat, 25 Nov 2023 22: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=lWaD=HG=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r714S-0007ND-Bd
 for xen-devel@lists.xenproject.org; Sat, 25 Nov 2023 22:24:16 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5bf1efd6-8be1-11ee-9b0e-b553b5be7939;
 Sat, 25 Nov 2023 23:24:13 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 133D6200E8;
 Sat, 25 Nov 2023 23:24:12 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id YN0-7rbfk1W0; Sat, 25 Nov 2023 23:24:11 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id F03FF200E6;
 Sat, 25 Nov 2023 23:24:11 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r714N-000000060iN-2uzu; Sat, 25 Nov 2023 23:24:11 +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: 5bf1efd6-8be1-11ee-9b0e-b553b5be7939
Date: Sat, 25 Nov 2023 23:24:11 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [RFC PATCH] Mini-OS: explicitly mark symbols to be visible for
 apps
Message-ID: <20231125222411.o7rf6awppslwhsro@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231124135903.16621-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231124135903.16621-1-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le ven. 24 nov. 2023 14:59:03 +0100, a ecrit:
> Add an EXPORT_SYMBOL() macro to explicitly mark a symbol to be visible
> for an app or library linked with Mini-OS. This enables to hide all
> other symbols from external components, avoiding any problems with
> duplicate symbol names.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> Based on top of my previous series "Mini-OS: hide mini-os internal
> symbols".
> This is a RFC as an alternative to the map file containing all
> visible symbol names. It would add more code churn, but it has the
> large benefit of declaring visibility of a symbol at the place
> where it is defined, reducing the chance to miss a proper symbol
> visibility definition.
> This patch is including an example for the do_exit() function in
> order to prove the viability of the approach.
> In case this idea is approved, I'd setup a patch series replacing
> the second patch of above series with this patch (minus the do_exit()
> example) and the scattered EXPORT_SYMBOL() instances.

I agree on the rationale, indeed.

> Signed-off-by: Juergen Gross <jgross@suse.com>
> ---
>  Makefile      | 3 ++-
>  include/lib.h | 6 ++++++
>  kernel.c      | 1 +
>  mini-os.map   | 1 -
>  4 files changed, 9 insertions(+), 2 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index d4768110..5dbad8ce 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -166,7 +166,8 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
>  
>  $(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds mini-os.map
>  	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
> -	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=mini-os.map $@ $@
> +	$(OBJCOPY) --dump-section .export_symbol=syms mini-os-kern.o
> +	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=mini-os.map --keep-global-symbols=syms --remove-section=.export_symbol $@ $@
>  
>  $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
>  	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
> diff --git a/include/lib.h b/include/lib.h
> index dd68985a..24fd0186 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -64,6 +64,12 @@
>  #define BUILD_BUG_ON(cond) ((void)BUILD_BUG_ON_ZERO(cond))
>  #endif
>  
> +#define EXPORT_SYMBOL(sym)                    \
> +    extern typeof(sym) sym;                   \
> +    asm(".section \".export_symbol\",\"a\"\n" \
> +        "\t.ascii \""#sym"\n\"\n"             \
> +        ".previous")
> +
>  #ifdef HAVE_LIBC
>  #include <sys/queue.h>
>  #include <sys/stat.h>
> diff --git a/kernel.c b/kernel.c
> index 1f97d8dd..29eed535 100644
> --- a/kernel.c
> +++ b/kernel.c
> @@ -199,3 +199,4 @@ void do_exit(void)
>          HYPERVISOR_sched_op(SCHEDOP_shutdown, &sched_shutdown);
>      }
>  }
> +EXPORT_SYMBOL(do_exit);
> diff --git a/mini-os.map b/mini-os.map
> index 58a3a0ee..90f02edf 100644
> --- a/mini-os.map
> +++ b/mini-os.map
> @@ -69,7 +69,6 @@ close
>  closedir
>  closelog
>  connect
> -do_exit
>  dup
>  dup2
>  err
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Sun Nov 26 04:50:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Nov 2023 04:50:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641284.1000016 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r776F-0005QC-CV; Sun, 26 Nov 2023 04:50:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641284.1000016; Sun, 26 Nov 2023 04: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 1r776F-0005Q5-7Q; Sun, 26 Nov 2023 04:50:31 +0000
Received: by outflank-mailman (input) for mailman id 641284;
 Sun, 26 Nov 2023 04:50: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 1r776E-0005Pq-MM; Sun, 26 Nov 2023 04:50: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 1r776E-0008NU-GF; Sun, 26 Nov 2023 04:50: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 1r776E-0005UC-0s; Sun, 26 Nov 2023 04:50:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r776E-0006iq-0X; Sun, 26 Nov 2023 04: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=1fTlgzAzoenkmV7DqEgYfWM+45dDFWpPQe/Gl8LBBFg=; b=H9HQplBVOZjYznIOVvmefvoP23
	v3kUz7CWDR2PBW1NMBgYBGSUosN45Nsh24yWe9YYBhNXuhuNb8d9EGYxGtxjsPORCD8mFFmfdAM+U
	wN1lNxoZlQnCdciezXvGwtyy54ge6ioIAf3IgvrfNNmrwwoA/pTs339OpJr4VkQWa2bo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183859-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183859: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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: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-credit1: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-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: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-amd64-amd64-libvirt-raw: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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=b46ae77f67874918c540feb1e37a63308b2c9290
X-Osstest-Versions-That:
    linux=c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Nov 2023 04:50:30 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183766
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183766
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183766
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183766
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183766
 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-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-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          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-libvirt     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-amd64-amd64-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                b46ae77f67874918c540feb1e37a63308b2c9290
baseline version:
 linux                c42d9eeef8e5ba9292eda36fd8e3c11f35ee065c

Last test of basis   183766  2023-11-15 17:14:16 Z   10 days
Failing since        183773  2023-11-16 13:12:48 Z    9 days   22 attempts
Testing same since   183859  2023-11-25 22:13:34 Z    0 days    1 attempts

------------------------------------------------------------
322 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                                  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-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-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
   c42d9eeef8e5..b46ae77f6787  b46ae77f67874918c540feb1e37a63308b2c9290 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Sun Nov 26 11:25:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Nov 2023 11:25:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641357.1000025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7DGW-0005L1-N8; Sun, 26 Nov 2023 11:25:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641357.1000025; Sun, 26 Nov 2023 11: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 1r7DGW-0005Ku-K9; Sun, 26 Nov 2023 11:25:32 +0000
Received: by outflank-mailman (input) for mailman id 641357;
 Sun, 26 Nov 2023 11:25: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 1r7DGV-0005Kk-SO; Sun, 26 Nov 2023 11:25: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 1r7DGV-00082Z-KT; Sun, 26 Nov 2023 11:25: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 1r7DGU-0007FJ-W3; Sun, 26 Nov 2023 11:25:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7DGU-0001B6-VX; Sun, 26 Nov 2023 11: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=geLSh2EerSGHxP+p4zWkoqxtdnfXMQVOdOawdZe6/hA=; b=cQLZl5Z3/GDDE/pyOH/QnCn6X9
	5EZ5mp48TSAgadHMDSXMyExMnWfI6oaRt91znU0aCM0chuZKMVd1fNx2C7HiYAot6EdfpcvHkqyyS
	h1+3mnbPcm0uDV2BqRTI33GMS/ByjYzgeU93B6Fl1NGsg436SdXBjzV923jsW3Y8xFRY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183860-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183860: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:guest-start/redhat.repeat:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:heisenbug
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    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-amd64-i386-xl-qemuu-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-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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: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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw:migrate-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-libvirt-raw:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd: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-libvirt-raw:migrate-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-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    xen=80c153c48b255bae61948827241c26671207cf4e
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Nov 2023 11:25:30 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 13 guest-start      fail in 183855 pass in 183860
 test-amd64-i386-qemuu-rhel6hvm-amd 14 guest-start/redhat.repeat fail pass in 183855
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install    fail pass in 183855

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop  fail in 183855 like 183852
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183852
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183855
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183855
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183855
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183855
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183855
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183855
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183855
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183855
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183855
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183855
 test-amd64-i386-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-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-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-libvirt-xsm 15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-xsm 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-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-arm64-arm64-xl-credit2  15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-credit2  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-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-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-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-libvirt     15 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:
 xen                  80c153c48b255bae61948827241c26671207cf4e
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183860  2023-11-26 01:54: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                                          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                           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-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-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 Sun Nov 26 13:10:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Nov 2023 13:10:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641375.1000035 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7EtM-0001Um-Ci; Sun, 26 Nov 2023 13:09:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641375.1000035; Sun, 26 Nov 2023 13:09: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 1r7EtM-0001Uf-9o; Sun, 26 Nov 2023 13:09:44 +0000
Received: by outflank-mailman (input) for mailman id 641375;
 Sun, 26 Nov 2023 13:09: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 1r7EtL-0001UV-6W; Sun, 26 Nov 2023 13:09: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 1r7EtK-0001U3-U1; Sun, 26 Nov 2023 13:09: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 1r7EtK-0001NC-Jx; Sun, 26 Nov 2023 13:09:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7EtK-0006Tk-JJ; Sun, 26 Nov 2023 13:09: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=fVtB7L6JtqnxIit7pOQbKq6N/ASFvg3fmo+4AHqYiTI=; b=6WlmAWOC93eYrwr6+h+CKVjhcx
	qLd/eFJ37UF7w0orewrqt7dhF5kodieS6jHlRezjqim19IHVO32NarDBtGfgGz7f/l4xfrx5jmBAw
	4O1/erZXobOhpz0w2+lzdVKKyu5MCwOsY4olXgHuWxpm7tiw205UvJYhTr3hjMCRwJDs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183861-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183861: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=d9a1fe8ac4ca7c503efcb0ed90742fe5d223ad03
X-Osstest-Versions-That:
    libvirt=b6471a9191359d48b93e537a5c44af6b005b5f2e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Nov 2023 13:09:42 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183857
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183857
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183857
 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-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-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     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-libvirt     15 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-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              d9a1fe8ac4ca7c503efcb0ed90742fe5d223ad03
baseline version:
 libvirt              b6471a9191359d48b93e537a5c44af6b005b5f2e

Last test of basis   183857  2023-11-25 04:18:52 Z    1 days
Testing same since   183861  2023-11-26 04:20:30 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   b6471a9191..d9a1fe8ac4  d9a1fe8ac4ca7c503efcb0ed90742fe5d223ad03 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Sun Nov 26 14:51:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Nov 2023 14:51:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641388.1000045 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7GTd-0006Zf-JT; Sun, 26 Nov 2023 14:51:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641388.1000045; Sun, 26 Nov 2023 14:51: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 1r7GTd-0006ZY-Gm; Sun, 26 Nov 2023 14:51:17 +0000
Received: by outflank-mailman (input) for mailman id 641388;
 Sun, 26 Nov 2023 14: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=TSke=HH=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r7GTb-0006ZS-Ez
 for xen-devel@lists.xen.org; Sun, 26 Nov 2023 14:51: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 3b7ea015-8c6b-11ee-98e2-6d05b1d4d9a1;
 Sun, 26 Nov 2023 15:51:12 +0100 (CET)
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.nyi.internal (Postfix) with ESMTP id BAF385C0089;
 Sun, 26 Nov 2023 09:51:07 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute6.internal (MEProxy); Sun, 26 Nov 2023 09:51:07 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Sun,
 26 Nov 2023 09:51:06 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3b7ea015-8c6b-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type: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=
	1701010267; x=1701096667; bh=yMTiAU4nKA5KvLWbdyh3fJCHXXfE6402iU9
	CsmAyGxY=; b=GoqxoBYcpSLW4mszRZ1y0ESXuEwTe2s/TJW64sxQLIy9JGm83bi
	3jesmz24nzoBmXuv2KHRFKEmEhiqLdD3HzEw5Hlqc8+VMILRF0PNWmoymeW87ckl
	U0dx8hAbmgEYJjmd1V7pEKDz+SeqGRUABjtXHO66HVTp4CPlnI6HYXEnFgacYeFj
	1W0fxNE9EyIVJOXH4OYyykUAxQ+6BrMLT4uQ1uPNtAJa8voE47BLmybdC1jpoMuE
	g+lTBcS/xMFlBlVI8zi9Xtu5RK8MhTSwqKmCOuVl3AiBsGL4FSPkF+5zY893JRvN
	wQawrq0BrvaLYd1K/i5R+J2E/Pb2yFTBuDQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type: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=1701010267; x=1701096667; bh=yMTiAU4nKA5Kv
	LWbdyh3fJCHXXfE6402iU9CsmAyGxY=; b=h8qe7o/lxrv+hRoc4aMjfMSvGSmpF
	hDnG9mg6C7bxQXPXK5TPA9hFqbPpJwQ6HC3ScWkgjE/J6C0f8UCIFz+IeSoDotSz
	UT+6ksST7ZtgLSUyRT+V4ytV84jSL4y0e5O3JAw0RCJQf5Wz0QxRsa09tBG/r4hw
	2en7S6WkcdMjnFgqhJa2Jm3I8MJChIPjOz5YBNl/x0zPhJOnvGU4KPOEuaTD4QxT
	/fyFD00ZxBZ5mCfe9OTcWspeHkvSK5BHS3djy68//+dUyFBNG+pDixFyubdOeX9U
	Pa6rwpsCTlyjZ/ixA+CYexjpbSL+6gu8NRsExzvTXw23lbVRBSxjM+glw==
X-ME-Sender: <xms:W1tjZaZBVnbE0gj8LK9aDILsxeyMPNzEQ7wUwriw7UYD1RG8JykE6g>
    <xme:W1tjZdYzs6IwUK6e8E4XXQYwV3ptQd1gaePY7Su4YqerOuCo6A0mSyw9wEFWds4sG
    SHAxtWeCPz4rQ>
X-ME-Received: <xmr:W1tjZU-uh5sAfGemYVemlwPaGFQ-Bn2hZ1cOtQGj_ZGVf3rYNCJZKcu8HwgthkQ2vw3QlpUq5hvxKcjbniR45ljZdWJ1_m84NXQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudehledgjedvucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepgfdu
    leetfeevhfefheeiteeliefhjefhleduveetteekveettddvgeeuteefjedunecuvehluh
    hsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepmhgrrhhmrghrvghk
    sehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:W1tjZcqdF5ebH4bLI5OUyyqw3Epw9BiyPYwBPep9mCjzwfFNYu-LPw>
    <xmx:W1tjZVpvTWuoLvlDN9L0g-C-746-VDOn5bvhFQxTSmN-xGp5doXLqQ>
    <xmx:W1tjZaTh4XV6oxvymY34wuBApXRJEXpCE-RvDu6DeaB27dJUa2Nxnw>
    <xmx:W1tjZUSmeLxTyP5CB7uUCIjPbOKCInpRPhWX7AuIbGcYhokGIbseLg>
Feedback-ID: i1568416f:Fastmail
Date: Sun, 26 Nov 2023 15:51:04 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] PV guest with PCI passthrough crash on Xen 4.8.3
 inside KVM when booted through OVMF
Message-ID: <ZWNbWPkKsLI1q8+D@mail-itl>
References: <20180216174835.GJ4302@mail-itl>
 <3b6ce245-626d-a6db-b9fa-77dcf26a4ad6@citrix.com>
 <20180216185122.GK4302@mail-itl>
 <b8bb621f-1558-d207-4978-4dca46e350e6@citrix.com>
 <01e7d219-5a2f-58cb-bb30-59f31749f019@suse.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="I23C6JJ1Z6HK3fb1"
Content-Disposition: inline
In-Reply-To: <01e7d219-5a2f-58cb-bb30-59f31749f019@suse.com>


--I23C6JJ1Z6HK3fb1
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Sun, 26 Nov 2023 15:51:04 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] PV guest with PCI passthrough crash on Xen 4.8.3
 inside KVM when booted through OVMF

On Mon, Feb 19, 2018 at 06:30:14PM +0100, Juergen Gross wrote:
> On 16/02/18 20:02, Andrew Cooper wrote:
> > On 16/02/18 18:51, Marek Marczykowski-G=C3=B3recki wrote:
> >> On Fri, Feb 16, 2018 at 05:52:50PM +0000, Andrew Cooper wrote:
> >>> On 16/02/18 17:48, Marek Marczykowski-G=C3=B3recki wrote:
> >>>> Hi,
> >>>>
> >>>> As in the subject, the guest crashes on boot, before kernel output
> >>>> anything. I've isolated this to the conditions below:
> >>>>  - PV guest have PCI device assigned (e1000e emulated by QEMU in thi=
s case),
> >>>>    without PCI device it works
> >>>>  - Xen (in KVM) is started through OVMF; with seabios it works
> >>>>  - nested HVM is disabled in KVM
> >>>>  - AMD IOMMU emulation is disabled in KVM; when enabled qemu crashes=
 on
> >>>>    boot (looks like qemu bug, unrelated to this one)
> >>>>
> >>>> Version info:
> >>>>  - KVM host: OpenSUSE 42.3, qemu 2.9.1, ovmf-2017+git1492060560.b6d1=
1d7c46-4.1, AMD
> >>>>  - Xen host: Xen 4.8.3, dom0: Linux 4.14.13
> >>>>  - Xen domU: Linux 4.14.13, direct boot
> >>>>
> >>>> Not sure if relevant, but initially I've tried booting xen.efi /mapbs
> >>>> /noexitboot and then dom0 kernel crashed saying something about conf=
lict
> >>>> between e820 and kernel mapping. But now those options are disabled.
> >>>>
> >>>> The crash message:
> >>>> (XEN) d1v0 Unhandled invalid opcode fault/trap [#6, ec=3D0000]
> >>>> (XEN) domain_crash_sync called from entry.S: fault at ffff82d0802187=
20 entry.o#create_bounce_frame+0x137/0x146
> >>>> (XEN) Domain 1 (vcpu#0) crashed on cpu#1:
> >>>> (XEN) ----[ Xen-4.8.3  x86_64  debug=3Dn   Not tainted ]----
> >>>> (XEN) CPU:    1
> >>>> (XEN) RIP:    e033:[<ffffffff826d9156>]
> >>> This is #UD, which is most probably hitting a BUG().=C2=A0 addr2line =
this ^
> >>> to find some code to look at.
> >> addr2line failed me
> >=20
> > By default, vmlinux is stripped and compressed.=C2=A0 Ideally you want =
to
> > addr2line the vmlinux artefact in the root of your kernel build, which
> > is the plain elf with debugging symbols.
> >=20
> > Alternatively, use scripts/extract-vmlinux on the binary you actually
> > booted, which might get you somewhere.
> >=20
> >> , but System.map says its xen_memory_setup. And it
> >> looks like the BUG() is the same as I had in dom0 before:
> >> "Xen hypervisor allocated kernel memory conflicts with E820 map".
> >=20
> > Juergen: Is there anything we can do to try and insert some dummy
> > exception handlers right at PV start, so we could at least print out a
> > oneliner to the host console which is a little more helpful than Xen
> > saying "something unknown went wrong" ?
>=20
> You mean something like commit 42b3a4cb5609de757f5445fcad18945ba9239a07
> added to kernel 4.15?
>=20
> >=20
> >>
> >> Disabling e820_host in guest config solved the problem. Thanks!
> >>
> >> Is this some bug in Xen or OVMF, or is it expected behavior and e820_h=
ost
> >> should be avoided?
> >=20
> > I don't really know.=C2=A0 e820_host is a gross hack which shouldn't re=
ally
> > be present.=C2=A0 The actually problem is that Linux can't cope with the
> > memory layout it was given (and I can't recall if there is anything
> > Linux could potentially to do cope).=C2=A0 OTOH, the toolstack, which k=
new
> > about e820_host and chose to lay the guest out in an overlapping way is
> > probably also at fault.
>=20
> The kernel can cope with lots of E820 scenarios (e.g. by relocating
> initrd or the p2m map), but moving itself out of the way is not
> possible.

I'm afraid I need to resurrect this thread...

With recent kernel (6.6+), the host_e820=3D0 workaround is not an option
anymore. It makes Linux not initialize xen-swiotlb (due to
f9a38ea5172a3365f4594335ed5d63e15af2fd18), so PCI passthrough doesn't
work at all. While I can add yet another layer of workaround (force
xen-swiotlb with iommu=3Dsoft), that's getting unwieldy.

Furthermore, I don't get the crash message anymore, even with debug
hypervisor and guest_loglvl=3Dall. Not even "Domain X crashed" in `xl
dmesg`. It looks like the "crash" shutdown reason doesn't reach Xen, and
it's considered clean shutdown (I can confirm it by changing various
`on_*` settings (via libvirt) and observing which gets applied).

Most tests I've done with 6.7-rc1, but the issue I observed on 6.6.1
already.

This is on Xen 4.17.2. And the L0 is running Linux 6.6.1, and then uses
QEMU 8.1.2 + OVMF 202308 to run Xen as L1.

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmVjW1gACgkQ24/THMrX
1yzhJgf/SoYPLSLh7ifQ0C6Fr8cZPbDnHSjUqWi9SHDvSBBsB1nbnQ91zyxwNfAS
fGvkOJB8k8zGzt5tNojmB914ysHyBpq6wkAzfamz6xhwugzDb/zscjtA1hXvH3Fu
GaQMg64HBhsJymd9eUq76JUBAW8h/6gjw3a5OuCgnmmobTmgO94NrL/he0FdS/b1
GoVwR53ax1Ge/qQL5vNDYMAquhzyK8JSAOn3ypw/vT1Nxpku+8/1vOwwOizAw2+P
y5aMpRIDneun9jbgK78oktbhkbH0BM5d5IieuKV5lTRaEqXRsC1a8EoUQoW5pGy4
BLWa6aMgLltssRQiZTLmER1Y2CnZ9w==
=uSQz
-----END PGP SIGNATURE-----

--I23C6JJ1Z6HK3fb1--


From xen-devel-bounces@lists.xenproject.org Sun Nov 26 16:11:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Nov 2023 16:11:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641404.1000060 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7HjH-0000SU-D5; Sun, 26 Nov 2023 16:11:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641404.1000060; Sun, 26 Nov 2023 16:11: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 1r7HjH-0000SN-8U; Sun, 26 Nov 2023 16:11:31 +0000
Received: by outflank-mailman (input) for mailman id 641404;
 Sun, 26 Nov 2023 16:11: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=XV2v=HH=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r7HjF-0000SH-9d
 for xen-devel@lists.xenproject.org; Sun, 26 Nov 2023 16:11:29 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 73c6b688-8c76-11ee-98e2-6d05b1d4d9a1;
 Sun, 26 Nov 2023 17:11:28 +0100 (CET)
Received: from mg.gitlab.com (28.226.74.34.bc.googleusercontent.com
 [34.74.226.28]) by
 4880619ba52c with SMTP id 65636e2eeffdc836159f54e4 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Sun, 26 Nov 2023 16:11:26 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 73c6b688-8c76-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1701015086; x=1701022286; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=fapADnc3bOFmFbRmHaZpvNcECTGt3/D7yCqkU9q2Lbo=;
 b=hpF7Gg2jZJYYmyN+4lrq/FLUHlG4PoeIQqPQmvbPuvYtIaTI0WY5iHw3oUsTTwdLLd5j4w0DEJ7i5GI3ikrF99EJPLNHiQxZ8MWMzojBaEEsDz5mBFBo50m63Jq1Ieo1r7OLALpxgXNDfM9nscKQeBvcrgx2cC3PE1uNBkAepok=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Sun, 26 Nov 2023 16:11:25 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65636e2db884a_2c9af9c49571@gitlab-sidekiq-catchall-v2-7bdb8c6cbf-2xk27.mail>
Subject: xen | Successful pipeline for staging | 80c153c4
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65636e2db094e_2c9af9c49430";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1085376266
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65636e2db094e_2c9af9c49430
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1085376266 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 80c153c4 ( https://gitlab.com/xen-project/xen/-/commit/80c153c48b255bae61948827241c26671207cf4e )
Commit Message: xen/sort: address violations of MISRA C:2012 Ru...
Commit Author: Federico Serafini
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1085376266 ( https://gitlab.com/xen-project/xen/-/pipelines/1085376266 ) triggered by Andrew Cooper ( https://gitlab.com/andyhhp )
successfully completed 135 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65636e2db094e_2c9af9c49430
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 80c153c4</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1085376266 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/80c153c48b255bae61=
948827241c26671207cf4e" style=3D"color: #3777b0; text-decoration: none;">=
80c153c4</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/sort: address violations of MISRA C:2012 Ru...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/7347c1427cde55f447d83dc392bce562?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Federico Serafini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108537=
6266" style=3D"color: #3777b0; text-decoration: none;">#1085376266</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 135 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65636e2db094e_2c9af9c49430--


From xen-devel-bounces@lists.xenproject.org Sun Nov 26 18:36:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Nov 2023 18:36:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641466.1000069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7JzH-0001AY-K3; Sun, 26 Nov 2023 18:36:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641466.1000069; Sun, 26 Nov 2023 18: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 1r7JzH-0001AR-HJ; Sun, 26 Nov 2023 18:36:11 +0000
Received: by outflank-mailman (input) for mailman id 641466;
 Sun, 26 Nov 2023 18:36: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 1r7JzG-0001AH-OL; Sun, 26 Nov 2023 18:36: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 1r7JzG-00008x-It; Sun, 26 Nov 2023 18:36: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 1r7JzG-0000MC-1N; Sun, 26 Nov 2023 18:36:10 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7JzG-0006yb-0r; Sun, 26 Nov 2023 18:36: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=ATENztyw3cT/3eWfx97cHwNjXTIpAf27BxrXt4brKtk=; b=X0Bo65Ito8t4abUXBOfxJCPK0t
	q56ERvgYYz9mXJcaf8RFyqYRl9mvqMSjpgAMQauc3u3f2wGpA0ugC9vUsk3Qr3T+9JLXuqqzM5eGh
	3m5Q/fvaNF/c2p6J0hVBWSbPnjUuwH6hLNpEs3+93sKxnBHPmtiLVtdZQUSQix1heIsQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183862-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183862: regressions - FAIL
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-dom0pvh-xl-intel:guest-localmigrate/x10:fail:regression
    linux-linus:test-armhf-armhf-libvirt: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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: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-credit1: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-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: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-amd64-amd64-libvirt-raw: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-arm64-arm64-xl-vhd:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm: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-raw:migrate-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=090472ed9c922e699dc61dd601a9b376a64f4390
X-Osstest-Versions-That:
    linux=b46ae77f67874918c540feb1e37a63308b2c9290
From: osstest service owner <osstest-admin@xenproject.org>
Date: Sun, 26 Nov 2023 18:36:10 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-amd64-amd64-dom0pvh-xl-intel 20 guest-localmigrate/x10 fail REGR. vs. 183859

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183859
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183859
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183859
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183859
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183859
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183859
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183859
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183859
 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-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-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          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-libvirt     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-amd64-amd64-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-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-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                090472ed9c922e699dc61dd601a9b376a64f4390
baseline version:
 linux                b46ae77f67874918c540feb1e37a63308b2c9290

Last test of basis   183859  2023-11-25 22:13:34 Z    0 days
Testing same since   183862  2023-11-26 04:55:31 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Andrea della Porta <andrea.porta@suse.com>
  Andrew Halaney <ahalaney@redhat.com>
  Asuna Yang <SpriteOvO@gmail.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Conor Dooley <conor.dooley@microchip.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hans de Goede <hdegoede@redhat.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Heikki Krogeus <heikki.krogerus@linux.intel.com>
  Ivan Ivanov <ivan.ivanov@suse.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lech Perczak <lech.perczak@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthias Kaehlcke <mka@chromium.org>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Niklas Neronin <niklas.neronin@linux.intel.com>
  Oliver Neukum <oneukum@suse.com>
  Pawel Laszczak <pawell@cadence.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Chen <peter.chen@kernel.org>
  Puliang Lu <puliang.lu@fibocom.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Shawn Guo <shawn.guo@linaro.org>
  Stanley Chang <stanley_chang@realtek.com>
  Stefan Eichenberger <stefan.eichenberger@toradex.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Victor Fragoso <victorffs@hotmail.com>
  Wentong Wu <wentong.wu@intel.com>
  Will McVicker <willmcvicker@google.com>
  Yangyu Chen <cyy@cyyself.name>

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-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                            fail    
 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-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 966 lines long.)


From xen-devel-bounces@lists.xenproject.org Sun Nov 26 23:46:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Nov 2023 23:46:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641519.1000078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7OpI-0005SX-Qm; Sun, 26 Nov 2023 23:46:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641519.1000078; Sun, 26 Nov 2023 23:46: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 1r7OpI-0005SQ-NF; Sun, 26 Nov 2023 23:46:12 +0000
Received: by outflank-mailman (input) for mailman id 641519;
 Sun, 26 Nov 2023 23:46: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=+N0s=HH=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1r7OpH-0005SK-LL
 for xen-devel@lists.xenproject.org; Sun, 26 Nov 2023 23:46:11 +0000
Received: from sender4-op-o15.zoho.com (sender4-op-o15.zoho.com
 [136.143.188.15]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f35b3806-8cb5-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 00:46:01 +0100 (CET)
Received: from mail-yw1-f169.google.com (mail-yw1-f169.google.com
 [209.85.128.169]) by mx.zohomail.com
 with SMTPS id 1701042355550503.334650266578;
 Sun, 26 Nov 2023 15:45:55 -0800 (PST)
Received: by mail-yw1-f169.google.com with SMTP id
 00721157ae682-5b383b4184fso36795587b3.1
 for <xen-devel@lists.xenproject.org>; Sun, 26 Nov 2023 15:45:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f35b3806-8cb5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1701042358; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=OcnDc+kPXb9DTvzRwFbKiqRBfQ4ycEzdZseVJvW/wUDNh4ENGZykAF6bVAPfZmi0dvfjeqSqGplI9XD+lqWyAoijxJK44N9ICwchYKV9rpFC/dBlqmchNyXYCjoD+YX1iZEjPtATY3VXe65VJEQ50nEFjeCIPvQkVLDib8DPW0s=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1701042358; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=4IJwgedyDNLSUAna4chhs+5GUUpSKzzdKWokeejZMh0=; 
	b=L3EwAvJAx+wNrIcN0StyAVM5W3OfUWGobCNlWr1bAPRxAYX5RbslHlkmrPx5mU20l8PTZmj/B2rycTnQWrpp0HWAxw+d6TtXS5iB0BLxXzR3SB6dqYwzHnUbOkfRucdvh0umYu6TBKP7xihzGSJdXM3v1JAmESfQigRW3xP2y5Q=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=tklengyel.com;
	spf=pass  smtp.mailfrom=tamas@tklengyel.com;
	dmarc=pass header.from=<tamas@tklengyel.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1701042358;
	s=zmail; d=tklengyel.com; i=tamas@tklengyel.com;
	h=MIME-Version:References:In-Reply-To:From:From:Date:Date:Message-ID:Subject:Subject:To:To:Cc:Cc:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=4IJwgedyDNLSUAna4chhs+5GUUpSKzzdKWokeejZMh0=;
	b=hmT2pIwkIo8lreZ3V24QcQNUkqMNFdX4BByvfeF2pFRHYYuadrpc/unDbRlkhyWe
	pofZCWBH4pA/ZoLauNj1fav2UIqQWBb/RmgNZ0gJURM7gAZp9Dm6fClRZIdi52DdBm4
	3eqC59LrMU6AIhi2c4Jb8QycoLtp4C8XXUzpTNQc=
X-Gm-Message-State: AOJu0Yw0ijzSpWIDXUpB9Esw9ASBGKZf39UAcsnZddUB+VWjmrs1wAYX
	vpkArS/2YcXrjCkY174wjDSqjZgYU8lekhOVgk4=
X-Google-Smtp-Source: AGHT+IHYBQsGOK1rlZGwbBsKo0GRoEib7feCrPh3Io6w4KKViY1GicdO6jj9Pi8ZKJTWFKW2oWZObgdKF0fLh6TZszg=
X-Received: by 2002:a05:690c:2e88:b0:5cb:996d:15ea with SMTP id
 eu8-20020a05690c2e8800b005cb996d15eamr8523670ywb.4.1701042354953; Sun, 26 Nov
 2023 15:45:54 -0800 (PST)
MIME-Version: 1.0
References: <20231122163955.14555-1-frediano.ziglio@cloud.com> <03d5e381-1444-4ac0-9feb-3f46948e31b8@citrix.com>
In-Reply-To: <03d5e381-1444-4ac0-9feb-3f46948e31b8@citrix.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Sun, 26 Nov 2023 18:45:18 -0500
X-Gmail-Original-Message-ID: <CABfawh=GSbO8ApJ-QmERC3Z7xS4CozjoBGc4010aYRrbgboYQw@mail.gmail.com>
Message-ID: <CABfawh=GSbO8ApJ-QmERC3Z7xS4CozjoBGc4010aYRrbgboYQw@mail.gmail.com>
Subject: Re: [PATCH] x86/mem_sharing: Release domain if we are not able to
 enable memory sharing
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>, xen-devel@lists.xenproject.org, 
	Jan Beulich <jbeulich@suse.com>, George Dunlap <george.dunlap@citrix.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 Wed, Nov 22, 2023 at 2:42=E2=80=AFPM Andrew Cooper <andrew.cooper3@citri=
x.com> wrote:
>
> On 22/11/2023 4:39 pm, Frediano Ziglio wrote:
> > In case it's not possible to enable memory sharing (mem_sharing_control
> > fails) we just return the error code without releasing the domain
> > acquired some lines above by rcu_lock_live_remote_domain_by_id.
>
> Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop"=
)
>
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Tamas K Lengyel <tamas@tklengyel.com>


From xen-devel-bounces@lists.xenproject.org Sun Nov 26 23:46:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Sun, 26 Nov 2023 23:46:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641521.1000088 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Opt-0005vO-2o; Sun, 26 Nov 2023 23:46:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641521.1000088; Sun, 26 Nov 2023 23:46: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 1r7Opt-0005vH-0E; Sun, 26 Nov 2023 23:46:49 +0000
Received: by outflank-mailman (input) for mailman id 641521;
 Sun, 26 Nov 2023 23:46: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=+N0s=HH=tklengyel.com=tamas@srs-se1.protection.inumbo.net>)
 id 1r7Opr-0005sP-PA
 for xen-devel@lists.xenproject.org; Sun, 26 Nov 2023 23:46:47 +0000
Received: from sender4-op-o12.zoho.com (sender4-op-o12.zoho.com
 [136.143.188.12]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0d37903b-8cb6-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 00:46:46 +0100 (CET)
Received: from mail-yw1-f177.google.com (mail-yw1-f177.google.com
 [209.85.128.177]) by mx.zohomail.com
 with SMTPS id 1701042399444835.4044586813383;
 Sun, 26 Nov 2023 15:46:39 -0800 (PST)
Received: by mail-yw1-f177.google.com with SMTP id
 00721157ae682-5cf57a493d0so9216517b3.1
 for <xen-devel@lists.xenproject.org>; Sun, 26 Nov 2023 15:46:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0d37903b-8cb6-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; t=1701042401; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=bC8cNsOJY27Jj4FhIFy5jm9N2of9qbo5nFxmT1mmThDr94eROvA4ZDHju1SH+6bbXbdMLovUue3Jv+dC9xR3vlt1rRKibs3UyOZTJj7iPWqEO/PbCKSKprKE1aCcj0kHCIHyEh4cn3mXuQuc+za9zmN+l943XtUPnggBxZy/q0U=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1701042401; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=Uz2eRhp6iKugdEeT5lsnYhFwH8XzKH0UxT+wL1pXRDg=; 
	b=gq4UMMcZGCLRnXevVqqsGm9dMTdkn4pY0wWebNGsXHilP8CkT7Ej0Rlx0Xg8kqmTid0VyN/TYhZueHExjpkdt95s/ZFNzNuGizN9rHDLisjJCptbgkoNGYEdVrL8Bq2QTbfDybmCeoKYAuPaLDZY4nDuiG9Hgfs1CKeH0JLJ1dk=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=tklengyel.com;
	spf=pass  smtp.mailfrom=tamas@tklengyel.com;
	dmarc=pass header.from=<tamas@tklengyel.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1701042401;
	s=zmail; d=tklengyel.com; i=tamas@tklengyel.com;
	h=MIME-Version:References:In-Reply-To:From:From:Date:Date:Message-ID:Subject:Subject:To:To:Cc:Cc:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=Uz2eRhp6iKugdEeT5lsnYhFwH8XzKH0UxT+wL1pXRDg=;
	b=KHpC9uwYb7pVoI8JPfzC7QBXxR9K1hjPmFV4bKnH2uPyshjoxbp+LJG5P4Sg97cs
	VyYMlnrK5c892V35HgVFBUYIFSQTqm/Q5mD19gmi5nZFg39rAFjF/NCU0MWDdvi5Xgt
	czKmgrsdx3I+bhZEsSkMPjfpnso8yYIzhJWe+rI0=
X-Gm-Message-State: AOJu0YxdNAS3xFA2RwIxBQWG5vR7Nmnm8cZptjlL5q19yaB5C1HwVCWI
	yjJXnk/+nIdtOpvIunH+gG3Xwh32yTAQfp2Xs0s=
X-Google-Smtp-Source: AGHT+IF06cIj/noODB+LOaJuKzXjuqm+DaeNuwHP91kAe0XnwDuWPDrzITYorjOjfWtFA+p41KDYM7/TSS3YDAlWO0w=
X-Received: by 2002:a0d:fc05:0:b0:5cb:332e:ab68 with SMTP id
 m5-20020a0dfc05000000b005cb332eab68mr9842957ywf.5.1701042398943; Sun, 26 Nov
 2023 15:46:38 -0800 (PST)
MIME-Version: 1.0
References: <20231122162620.4354-1-frediano.ziglio@cloud.com> <55fb9f8d-8834-414a-b789-7fcff76950c5@citrix.com>
In-Reply-To: <55fb9f8d-8834-414a-b789-7fcff76950c5@citrix.com>
From: Tamas K Lengyel <tamas@tklengyel.com>
Date: Sun, 26 Nov 2023 18:46:02 -0500
X-Gmail-Original-Message-ID: <CABfawhmbTfRQbMMqerPrOnPDqCKvqTncDWCF+a-izFJm3PP3Sw@mail.gmail.com>
Message-ID: <CABfawhmbTfRQbMMqerPrOnPDqCKvqTncDWCF+a-izFJm3PP3Sw@mail.gmail.com>
Subject: Re: [PATCH] x86/mem_sharing: Fix typo in comment
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>, xen-devel@lists.xenproject.org, 
	Jan Beulich <jbeulich@suse.com>, George Dunlap <george.dunlap@citrix.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 Wed, Nov 22, 2023 at 11:27=E2=80=AFAM Andrew Cooper
<andrew.cooper3@citrix.com> wrote:
>
> On 22/11/2023 4:26 pm, Frediano Ziglio wrote:
> > ambigious -> ambiguous
> >
> > Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
>
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Not sure if it's still needed but either case:

Acked-by: Tamas K Lengyel <tamas@tklengyel.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 01:14:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 01:14:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641531.1000098 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7QCG-0008Us-4G; Mon, 27 Nov 2023 01:14:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641531.1000098; Mon, 27 Nov 2023 01:14: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 1r7QCG-0008Ul-1I; Mon, 27 Nov 2023 01:14:00 +0000
Received: by outflank-mailman (input) for mailman id 641531;
 Mon, 27 Nov 2023 01:13: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7QCE-0008Uf-9Y
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 01:13:58 +0000
Received: from dggsgout12.his.huawei.com (unknown [45.249.212.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 39e8e389-8cc2-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 02:13:54 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.93.142])
 by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4SdnfM28xsz4f3kFG
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 09:13:47 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 239E31A0735
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 09:13:49 +0800 (CST)
Received: from [10.174.176.73] (unknown [10.174.176.73])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hBD7WNlrI8oCA--.40143S3;
 Mon, 27 Nov 2023 09:13:42 +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: 39e8e389-8cc2-11ee-9b0e-b553b5be7939
Subject: Re: [PATCH -next] block: remove field 'bd_inode' from block_device
To: Greg KH <gregkh@linuxfoundation.org>, Yu Kuai <yukuai1@huaweicloud.com>
Cc: hch@infradead.org, ming.lei@redhat.com, axboe@kernel.dk,
 roger.pau@citrix.com, colyli@suse.de, kent.overstreet@gmail.com,
 joern@lazybastard.org, miquel.raynal@bootlin.com, richard@nod.at,
 vigneshr@ti.com, sth@linux.ibm.com, hoeppner@linux.ibm.com,
 hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com,
 jejb@linux.ibm.com, martin.petersen@oracle.com, clm@fb.com,
 josef@toxicpanda.com, dsterba@suse.com, viro@zeniv.linux.org.uk,
 brauner@kernel.org, nico@fluxnic.net, xiang@kernel.org, chao@kernel.org,
 tytso@mit.edu, adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
 konishi.ryusuke@gmail.com, dchinner@redhat.com, linux@weissschuh.net,
 min15.li@samsung.com, dlemoal@kernel.org, willy@infradead.org,
 akpm@linux-foundation.org, p.raghav@samsung.com, hare@suse.de,
 linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
 linux-mtd@lists.infradead.org, linux-s390@vger.kernel.org,
 linux-scsi@vger.kernel.org, linux-bcachefs@vger.kernel.org,
 linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
 linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
 gfs2@lists.linux.dev, linux-nilfs@vger.kernel.org, yi.zhang@huawei.com,
 yangerkun@huawei.com, "yukuai (C)" <yukuai3@huawei.com>
References: <20231125093912.141486-1-yukuai1@huaweicloud.com>
 <2023112544-subpanel-national-58e5@gregkh>
From: Yu Kuai <yukuai1@huaweicloud.com>
Message-ID: <6ef798a6-8c0c-16b0-9991-b461258eb7d4@huaweicloud.com>
Date: Mon, 27 Nov 2023 09:13:39 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <2023112544-subpanel-national-58e5@gregkh>
Content-Type: text/plain; charset=gbk; format=flowed
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hBD7WNlrI8oCA--.40143S3
X-Coremail-Antispam: 1UD129KBjvJXoWxCw48Jw4DZF43tw18tFWrKrg_yoW5ZFW8pr
	W3GFZ5AFyq9ry7uF4IqF1xXryrJ3Wku3y3JrySyw10vrWYvF12gryvyr93uFy8ZrZ7tr4j
	qF1aq34vkr18CrJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUU9214x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
	1l84ACjcxK6xIIjxv20xvE14v26w1j6s0DM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26F4U
	JVW0owA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oV
	Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0
	I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r
	4UM4x0Y48IcVAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2kI
	c2xKxwCYjI0SjxkI62AI1cAE67vIY487MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4
	AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE
	17CEb7AF67AKxVWrXVW8Jr1lIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCw
	CI42IY6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UMIIF0xvE42xK8VAvwI8IcIk0rVWrZr1j
	6s0DMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYx
	BIdaVFxhVjvjDU0xZFpf9x0JUd8n5UUUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

Hi,

 2023/11/25 22:32, Greg KH д:
> On Sat, Nov 25, 2023 at 05:39:12PM +0800, Yu Kuai wrote:
>> From: Yu Kuai <yukuai3@huawei.com>
>>
>> block_devcie is allocated from bdev_alloc() by bdev_alloc_inode(), and
>> currently block_device contains a pointer that point to the address of
>> inode, while such inode is allocated together:
>>
>> bdev_alloc
>>   inode = new_inode()
>>    // inode is &bdev_inode->vfs_inode
>>   bdev = I_BDEV(inode)
>>    // bdev is &bdev_inode->bdev
>>   bdev->inode = inode
>>
>> Add a new helper to get address of inode from bdev by add operation
>> instead of memory access, which is more efficiency. Also prepare to
>> add a new field 'bd_flags' in the first cacheline(64 bytes).
>>
>> Signed-off-by: Yu Kuai <yukuai3@huawei.com>
>> ---
>>   block/bdev.c                       | 39 +++++++++++++++++-------------
>>   block/blk-zoned.c                  |  4 +--
>>   block/fops.c                       |  4 +--
>>   block/genhd.c                      |  8 +++---
>>   block/ioctl.c                      |  8 +++---
>>   block/partitions/core.c            |  9 ++++---
>>   drivers/block/xen-blkback/xenbus.c |  2 +-
>>   drivers/md/bcache/super.c          |  2 +-
>>   drivers/mtd/devices/block2mtd.c    | 12 ++++-----
>>   drivers/s390/block/dasd_ioctl.c    |  2 +-
>>   drivers/scsi/scsicam.c             |  2 +-
>>   fs/bcachefs/util.h                 |  2 +-
>>   fs/btrfs/disk-io.c                 |  6 ++---
>>   fs/btrfs/volumes.c                 |  4 +--
>>   fs/btrfs/zoned.c                   |  2 +-
>>   fs/buffer.c                        |  8 +++---
>>   fs/cramfs/inode.c                  |  2 +-
>>   fs/erofs/data.c                    |  2 +-
>>   fs/ext4/dir.c                      |  2 +-
>>   fs/ext4/ext4_jbd2.c                |  2 +-
>>   fs/ext4/super.c                    |  8 +++---
>>   fs/gfs2/glock.c                    |  2 +-
>>   fs/gfs2/ops_fstype.c               |  2 +-
>>   fs/jbd2/journal.c                  |  3 ++-
>>   fs/jbd2/recovery.c                 |  2 +-
>>   fs/nilfs2/segment.c                |  2 +-
>>   include/linux/blk_types.h          | 10 ++++++--
>>   include/linux/blkdev.h             |  4 +--
>>   include/linux/buffer_head.h        |  4 +--
>>   29 files changed, 86 insertions(+), 73 deletions(-)
> 
> You should do this as a patch series, add the helper function that does
> nothing, convert all the different portions of the kernel as different
> patches, and _then_ change the implementation of the block layer to
> handle the change in the structure.
> 
> Otherwise this is going to be hard to get accepted.

Okay, thanks for the adivce, I'll do that in v2.

By the way, I was thinking that this patch is quite simple, and doesn't
worth spliting into 10+ patches,
> 
> Also, one note:
> 
>> @@ -85,6 +84,13 @@ struct block_device {
>>   #define bdev_kobj(_bdev) \
>>   	(&((_bdev)->bd_device.kobj))
>>   
>> +static inline struct inode *bdev_inode(struct block_device *bdev)
>> +{
>> +	void *inode = bdev + 1;
> 
> That's crazy, if something changes, this will keep working yet the
> kernel will break and no one will know why.
> 
> Please use container_of(), that's what it is there for, this exact type
> of thing.  Or if not, are you just assuming that the memory location
> right after bdev is the inode?  That's a tough assumption, how are you
> going to assure it really stays there?

Struct bdev_inode never changes since commit 8fbd544cbca5 ("[PATCH]
bdev: add I_BDEV()") from 2004, and I think it won't change unless
there is a different way to manage lifetime of block_device.

And the 'bdev + 1' is copied from blk_mq_rq_to_pdu(), however, I aggre
that use container_of() is better and I will use it in v2.

Thanks,
Kuai

> 
> thanks,
> 
> greg k-h
> .
> 



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 01:31:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 01:31:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641537.1000110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7QTK-00038v-Pf; Mon, 27 Nov 2023 01:31:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641537.1000110; Mon, 27 Nov 2023 01:31: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 1r7QTK-00038i-K2; Mon, 27 Nov 2023 01:31:38 +0000
Received: by outflank-mailman (input) for mailman id 641537;
 Mon, 27 Nov 2023 01:31: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 1r7QTJ-00037V-GG; Mon, 27 Nov 2023 01:31: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 1r7QTJ-0006qb-8b; Mon, 27 Nov 2023 01:31: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 1r7QTI-0000yK-IJ; Mon, 27 Nov 2023 01:31:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7QTI-0008PD-Hu; Mon, 27 Nov 2023 01:31: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=dzyi65svXIwv3PhmDzkwKh/M1iQBiosD5Fni/FJoigE=; b=4Y9RqOmiyVgLGa5/eoeP/a79gh
	HSpdn65EFmzf+i1GGXhoZLa6dC8/ly2h7MygtQEdK8CBv/vQi599Au2Zrb2CtczA97Hb5cGgKk2wN
	1q+Urm+8jt+RGCNyVu3jOjKGGCu/jlNPMf/MLcPnBlWxyezb9XrJJcjl1orkjY15ovcE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183864-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183864: trouble: blocked/broken/pass
X-Osstest-Failures:
    linux-linus:build-amd64:<job status>:broken:regression
    linux-linus:build-amd64-pvops:<job status>:broken:regression
    linux-linus:build-amd64-xsm:<job status>:broken:regression
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64-xsm:<job status>:broken:regression
    linux-linus:build-armhf-pvops:<job status>:broken:regression
    linux-linus:build-i386:<job status>:broken:regression
    linux-linus:build-i386-pvops:<job status>:broken:regression
    linux-linus:build-i386-xsm:<job status>:broken:regression
    linux-linus:build-i386-xsm:host-install(4):broken:regression
    linux-linus:build-i386-pvops:host-install(4):broken:regression
    linux-linus:build-i386:host-install(4):broken:regression
    linux-linus:build-arm64:host-install(4):broken:regression
    linux-linus:build-arm64-xsm:host-install(4):broken:regression
    linux-linus:build-arm64-pvops:host-install(4):broken:regression
    linux-linus:build-armhf-pvops:host-install(4):broken:regression
    linux-linus:build-amd64:host-install(4):broken:regression
    linux-linus:build-amd64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64-pvops:host-install(4):broken:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    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-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    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:build-arm64-libvirt: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:build-i386-libvirt: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-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=d2da77f431ac49b5763b88751a75f70daa46296c
X-Osstest-Versions-That:
    linux=b46ae77f67874918c540feb1e37a63308b2c9290
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Nov 2023 01:31:36 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 183859
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 183859
 build-i386                    4 host-install(4)        broken REGR. vs. 183859
 build-arm64                   4 host-install(4)        broken REGR. vs. 183859
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-amd64                   4 host-install(4)        broken REGR. vs. 183859
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 183859

Tests which did not succeed, but are not blocking:
 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-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-examine      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           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 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
 build-arm64-libvirt           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
 build-i386-libvirt            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-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 linux                d2da77f431ac49b5763b88751a75f70daa46296c
baseline version:
 linux                b46ae77f67874918c540feb1e37a63308b2c9290

Last test of basis   183859  2023-11-25 22:13:34 Z    1 days
Failing since        183862  2023-11-26 04:55:31 Z    0 days    2 attempts
Testing same since   183864  2023-11-26 18:41:56 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Andrea della Porta <andrea.porta@suse.com>
  Andrew Halaney <ahalaney@redhat.com>
  Asuna Yang <SpriteOvO@gmail.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dapeng Mi <dapeng1.mi@linux.intel.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hans de Goede <hdegoede@redhat.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Heikki Krogeus <heikki.krogerus@linux.intel.com>
  Helge Deller <deller@gmx.de>
  Ingo Molnar <mingo@kernel.org>
  Ivan Ivanov <ivan.ivanov@suse.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lech Perczak <lech.perczak@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthias Kaehlcke <mka@chromium.org>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Niklas Neronin <niklas.neronin@linux.intel.com>
  Oliver Neukum <oneukum@suse.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pawel Laszczak <pawell@cadence.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Puliang Lu <puliang.lu@fibocom.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Ritvik Budhiraja <rbudhiraja@microsoft.com>
  Shawn Guo <shawn.guo@linaro.org>
  Stanley Chang <stanley_chang@realtek.com>
  Stefan Eichenberger <stefan.eichenberger@toradex.com>
  Steve French <stfrench@microsoft.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Victor Fragoso <victorffs@hotmail.com>
  Wentong Wu <wentong.wu@intel.com>
  Will McVicker <willmcvicker@google.com>
  Yangyu Chen <cyy@cyyself.name>

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-arm64                                                  broken  
 build-armhf                                                  pass    
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          pass    
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 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                                 blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 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                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 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                                     blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 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                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-amd64-xl-vhd                                      blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-xsm host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-i386 host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-pvops host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641547.1000131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0R-0000JZ-8y; Mon, 27 Nov 2023 06:22:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641547.1000131; Mon, 27 Nov 2023 06:22: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 1r7V0R-0000IG-6H; Mon, 27 Nov 2023 06:22:07 +0000
Received: by outflank-mailman (input) for mailman id 641547;
 Mon, 27 Nov 2023 06:22: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0P-0008S3-RE
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:05 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4448111e-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:22:00 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwTq4PKKz4f3mHH
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:21:51 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 0AAFB1A0DC9
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:21:56 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S5;
 Mon, 27 Nov 2023 14:21:55 +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: 4448111e-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 01/16] block: add a new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:21:01 +0800
Message-Id: <20231127062116.2355129-2-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S5
X-Coremail-Antispam: 1UD129KBjvJXoW7uF1kur1UZFWfWw45tr1rtFb_yoW8Aw4rpF
	nxGFy5GrWDWry2gF4vvw17Zry3K3W0k3y8JrZaqw4Y9ayUtr1IgF1ktr17Ary0vrZ3KF4j
	gF1Y9rW8urWUC3DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUPF14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jr4l82xGYIkIc2
	x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
	Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F4UJw
	A2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq3wAS
	0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2
	IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0
	Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2kIc2
	xKxwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v2
	6r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Wrv_Gr1UMIIYrx
	kI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E14v2
	6r4UJVWxJr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r
	4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr1j6F4UJbIYCTnIWIevJa73UjIFyTuYvjfUOR6z
	UUUUU
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

block_devcie is allocated from bdev_alloc() by bdev_alloc_inode(), and
currently block_device contains a pointer that point to the address of
inode, while such inode is allocated together:

bdev_alloc
 inode = new_inode()
  // inode is &bdev_inode->vfs_inode
 bdev = I_BDEV(inode)
  // bdev is &bdev_inode->bdev
 bdev->inode = inode

Add a new helper to get address of inode from bdev by add operation
instead of memory access, which is more efficiency.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 block/bdev.c              |  5 -----
 include/linux/blk_types.h | 12 ++++++++++++
 2 files changed, 12 insertions(+), 5 deletions(-)

diff --git a/block/bdev.c b/block/bdev.c
index e4cfb7adb645..7509389095b7 100644
--- a/block/bdev.c
+++ b/block/bdev.c
@@ -30,11 +30,6 @@
 #include "../fs/internal.h"
 #include "blk.h"
 
-struct bdev_inode {
-	struct block_device bdev;
-	struct inode vfs_inode;
-};
-
 static inline struct bdev_inode *BDEV_I(struct inode *inode)
 {
 	return container_of(inode, struct bdev_inode, vfs_inode);
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index d5c5e59ddbd2..06de8393dcd1 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -85,6 +85,18 @@ struct block_device {
 #define bdev_kobj(_bdev) \
 	(&((_bdev)->bd_device.kobj))
 
+struct bdev_inode {
+	struct block_device bdev;
+	struct inode vfs_inode;
+};
+
+static inline struct inode *bdev_inode(struct block_device *bdev)
+{
+	struct bdev_inode *bi = container_of(bdev, struct bdev_inode, bdev);
+
+	return &bi->vfs_inode;
+}
+
 /*
  * Block error status values.  See block/blk-core:blk_errors for the details.
  * Alpha cannot write a byte atomically, so we need to use 32-bit value.
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641548.1000140 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0R-0000QH-MH; Mon, 27 Nov 2023 06:22:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641548.1000140; Mon, 27 Nov 2023 06:22: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 1r7V0R-0000Oi-F8; Mon, 27 Nov 2023 06:22:07 +0000
Received: by outflank-mailman (input) for mailman id 641548;
 Mon, 27 Nov 2023 06:22: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0Q-0008S3-1p
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:06 +0000
Received: from dggsgout12.his.huawei.com (unknown [45.249.212.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45fb875b-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:22:02 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4SdwTw1Yvgz4f3kG0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:21:56 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 1214C1A0DCE
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:21:58 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S6;
 Mon, 27 Nov 2023 14:21:57 +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: 45fb875b-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 02/16] xen/blkback: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:21:02 +0800
Message-Id: <20231127062116.2355129-3-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S6
X-Coremail-Antispam: 1UD129KBjvdXoWrKw17KF4DGrW3uF4UJr4DCFg_yoW3KFX_XF
	18urW7Zrn3Crsaka45uFs3Z340kw18ur4F9a1Iva4Sq34UCFW0v392vFn5Gr47XFWUG3Z0
	y3WxXFW7tr4xJjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUbDAFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUXwA2048vs2IY02
	0Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28EF7xv
	wVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1UM2
	8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI
	xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x
	vE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv
	r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04
	v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_
	Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8Jr1lIxkGc2
	Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_
	Gr1j6F4UJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr
	1lIxAIcVC2z280aVCY1x0267AKxVW8Jr0_Cr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUHbyAU
	UUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 drivers/block/xen-blkback/xenbus.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/block/xen-blkback/xenbus.c b/drivers/block/xen-blkback/xenbus.c
index e34219ea2b05..e11f8123d213 100644
--- a/drivers/block/xen-blkback/xenbus.c
+++ b/drivers/block/xen-blkback/xenbus.c
@@ -105,7 +105,7 @@ static void xen_update_blkif_status(struct xen_blkif *blkif)
 		return;
 	}
 	invalidate_inode_pages2(
-			blkif->vbd.bdev_handle->bdev->bd_inode->i_mapping);
+			bdev_inode(blkif->vbd.bdev_handle->bdev)->i_mapping);
 
 	for (i = 0; i < blkif->nr_rings; i++) {
 		ring = &blkif->rings[i];
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641546.1000125 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0Q-0008W0-Rp; Mon, 27 Nov 2023 06:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641546.1000125; Mon, 27 Nov 2023 06: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 1r7V0Q-0008VC-L5; Mon, 27 Nov 2023 06:22:06 +0000
Received: by outflank-mailman (input) for mailman id 641546;
 Mon, 27 Nov 2023 06:22: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0P-0008S4-5v
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:05 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 469908ac-8ced-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 07:22:03 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.235])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwTv39Rtz4f3m79
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:21:55 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id D47481A0FEB
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:21:59 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S7;
 Mon, 27 Nov 2023 14:21:59 +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: 469908ac-8ced-11ee-98e2-6d05b1d4d9a1
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 03/16] bcache: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:21:03 +0800
Message-Id: <20231127062116.2355129-4-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S7
X-Coremail-Antispam: 1UD129KBjvdXoWrKw1xZryrZw1UJr47Kw4kJFb_yoW3uFc_uF
	4xZFy2g3yrKrn2vr45GwsavrWjy3WkuF4IqFW7tryavFy5Jr93Wry093W3Xr43WrsIkanx
	CFyDGr45Aw109jkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUbDAFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUWwA2048vs2IY02
	0Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28EF7xv
	wVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr1UM2
	8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI
	xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x
	vE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv
	r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04
	v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_
	Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8Jr1lIxkGc2
	Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_
	Gr1j6F4UJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr
	1lIxAIcVC2z280aVCY1x0267AKxVW8Jr0_Cr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUd8n5U
	UUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 drivers/md/bcache/super.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/md/bcache/super.c b/drivers/md/bcache/super.c
index bfe1685dbae5..3ab8bae049ee 100644
--- a/drivers/md/bcache/super.c
+++ b/drivers/md/bcache/super.c
@@ -171,7 +171,7 @@ static const char *read_super(struct cache_sb *sb, struct block_device *bdev,
 	struct page *page;
 	unsigned int i;
 
-	page = read_cache_page_gfp(bdev->bd_inode->i_mapping,
+	page = read_cache_page_gfp(bdev_inode(bdev)->i_mapping,
 				   SB_OFFSET >> PAGE_SHIFT, GFP_KERNEL);
 	if (IS_ERR(page))
 		return "IO error";
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641553.1000195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0Y-0001uu-Gp; Mon, 27 Nov 2023 06:22:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641553.1000195; Mon, 27 Nov 2023 06: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 1r7V0Y-0001uU-9i; Mon, 27 Nov 2023 06:22:14 +0000
Received: by outflank-mailman (input) for mailman id 641553;
 Mon, 27 Nov 2023 06:22: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0X-0008S4-BI
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:13 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c0c522c-8ced-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 07:22:12 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwV6000Dz4f3k5c
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:05 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id CE8311A0BA5
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:08 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S12;
 Mon, 27 Nov 2023 14:22:08 +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: 4c0c522c-8ced-11ee-98e2-6d05b1d4d9a1
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 08/16] btrfs: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:21:08 +0800
Message-Id: <20231127062116.2355129-9-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S12
X-Coremail-Antispam: 1UD129KBjvJXoWxZr1xKFykCFWxKFyUKFy5CFg_yoW5XFWkpr
	9xCF98tw4UXr1jga1kW3yvvr1Sqa1vkayxCr93Jw4S9rWxtryYqFyqkry8Za40yrW8JF17
	XF4jk3yUXr10krJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUPF14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI
	kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2
	z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr1j6r
	xdM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0D
	M2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx
	v20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l
	F7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2
	IY04v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAF
	wI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8Jr1lIx
	kGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUCVW8JwCI42IY6xIIjxv20xvEc7CjxVAF
	wI0_Cr1j6rxdMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJV
	W8JwCI42IY6I8E87Iv6xkF7I0E14v26F4UJVW0obIYCTnIWIevJa73UjIFyTuYvjfUOBTY
	UUUUU
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 fs/btrfs/disk-io.c | 6 +++---
 fs/btrfs/volumes.c | 4 ++--
 fs/btrfs/zoned.c   | 2 +-
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 401ea09ae4b8..88b20cd4d046 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -3653,7 +3653,7 @@ struct btrfs_super_block *btrfs_read_dev_one_super(struct block_device *bdev,
 	struct btrfs_super_block *super;
 	struct page *page;
 	u64 bytenr, bytenr_orig;
-	struct address_space *mapping = bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(bdev)->i_mapping;
 	int ret;
 
 	bytenr_orig = btrfs_sb_offset(copy_num);
@@ -3740,7 +3740,7 @@ static int write_dev_supers(struct btrfs_device *device,
 			    struct btrfs_super_block *sb, int max_mirrors)
 {
 	struct btrfs_fs_info *fs_info = device->fs_info;
-	struct address_space *mapping = device->bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(device->bdev)->i_mapping;
 	SHASH_DESC_ON_STACK(shash, fs_info->csum_shash);
 	int i;
 	int errors = 0;
@@ -3857,7 +3857,7 @@ static int wait_dev_supers(struct btrfs_device *device, int max_mirrors)
 		    device->commit_total_bytes)
 			break;
 
-		page = find_get_page(device->bdev->bd_inode->i_mapping,
+		page = find_get_page(bdev_inode(device->bdev)->i_mapping,
 				     bytenr >> PAGE_SHIFT);
 		if (!page) {
 			errors++;
diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index c6f16625af51..bbf157cedab7 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -1257,8 +1257,8 @@ static struct btrfs_super_block *btrfs_read_disk_super(struct block_device *bdev
 		return ERR_PTR(-EINVAL);
 
 	/* pull in the page with our super */
-	page = read_cache_page_gfp(bdev->bd_inode->i_mapping, index, GFP_KERNEL);
-
+	page = read_cache_page_gfp(bdev_inode(bdev)->i_mapping, index,
+				   GFP_KERNEL);
 	if (IS_ERR(page))
 		return ERR_CAST(page);
 
diff --git a/fs/btrfs/zoned.c b/fs/btrfs/zoned.c
index 188378ca19c7..a5f7f1458edf 100644
--- a/fs/btrfs/zoned.c
+++ b/fs/btrfs/zoned.c
@@ -120,7 +120,7 @@ static int sb_write_pointer(struct block_device *bdev, struct blk_zone *zones,
 		return -ENOENT;
 	} else if (full[0] && full[1]) {
 		/* Compare two super blocks */
-		struct address_space *mapping = bdev->bd_inode->i_mapping;
+		struct address_space *mapping = bdev_inode(bdev)->i_mapping;
 		struct page *page[BTRFS_NR_SB_LOG_ZONES];
 		struct btrfs_super_block *super[BTRFS_NR_SB_LOG_ZONES];
 		int i;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641549.1000145 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0R-0000Uw-UH; Mon, 27 Nov 2023 06:22:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641549.1000145; Mon, 27 Nov 2023 06:22: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 1r7V0R-0000Si-P9; Mon, 27 Nov 2023 06:22:07 +0000
Received: by outflank-mailman (input) for mailman id 641549;
 Mon, 27 Nov 2023 06:22: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0Q-0008S4-GL
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:06 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47d95c51-8ced-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 07:22:05 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwTx1xQ2z4f3m7N
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:21:57 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id ADEAE1A090D
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:01 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S8;
 Mon, 27 Nov 2023 14:22:01 +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: 47d95c51-8ced-11ee-98e2-6d05b1d4d9a1
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 04/16] mtd: block2mtd: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:21:04 +0800
Message-Id: <20231127062116.2355129-5-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S8
X-Coremail-Antispam: 1UD129KBjvJXoWxZr1xKF4kJF1kWr4xAw1kXwb_yoW5Xr1Up3
	43AFWrAw4jkr1Y9a18XFyqqrnrX3Z7tay8Cry7A3yYkr93Xry2kayqka45JrW8t348AFW5
	XFsrCrZ5Cr4I93DanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUPa14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI
	kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2
	z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j6F
	4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oVCq
	3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7
	IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4U
	M4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2
	kIc2xKxwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E
	14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E67AF67kF1VAFwI0_Wrv_Gr1UMI
	IYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF4lIxAIcVC0I7IYx2IY6xkF7I0E
	14v26r4UJVWxJr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r
	1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr1j6F4UJbIYCTnIWIevJa73UjIFyTuYvjfU
	OBTYUUUUU
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 drivers/mtd/devices/block2mtd.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/mtd/devices/block2mtd.c b/drivers/mtd/devices/block2mtd.c
index aa44a23ec045..d4f7a4339a70 100644
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
@@ -56,7 +56,7 @@ static struct page *page_read(struct address_space *mapping, pgoff_t index)
 static int _block2mtd_erase(struct block2mtd_dev *dev, loff_t to, size_t len)
 {
 	struct address_space *mapping =
-				dev->bdev_handle->bdev->bd_inode->i_mapping;
+				bdev_inode(dev->bdev_handle->bdev)->i_mapping;
 	struct page *page;
 	pgoff_t index = to >> PAGE_SHIFT;	// page index
 	int pages = len >> PAGE_SHIFT;
@@ -107,7 +107,7 @@ static int block2mtd_read(struct mtd_info *mtd, loff_t from, size_t len,
 {
 	struct block2mtd_dev *dev = mtd->priv;
 	struct address_space *mapping =
-				dev->bdev_handle->bdev->bd_inode->i_mapping;
+				bdev_inode(dev->bdev_handle->bdev)->i_mapping;
 	struct page *page;
 	pgoff_t index = from >> PAGE_SHIFT;
 	int offset = from & (PAGE_SIZE-1);
@@ -143,7 +143,7 @@ static int _block2mtd_write(struct block2mtd_dev *dev, const u_char *buf,
 {
 	struct page *page;
 	struct address_space *mapping =
-				dev->bdev_handle->bdev->bd_inode->i_mapping;
+				bdev_inode(dev->bdev_handle->bdev)->i_mapping;
 	pgoff_t index = to >> PAGE_SHIFT;	// page index
 	int offset = to & ~PAGE_MASK;	// page offset
 	int cpylen;
@@ -212,7 +212,7 @@ static void block2mtd_free_device(struct block2mtd_dev *dev)
 
 	if (dev->bdev_handle) {
 		invalidate_mapping_pages(
-			dev->bdev_handle->bdev->bd_inode->i_mapping, 0, -1);
+			bdev_inode(dev->bdev_handle->bdev)->i_mapping, 0, -1);
 		bdev_release(dev->bdev_handle);
 	}
 
@@ -295,7 +295,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size,
 		goto err_free_block2mtd;
 	}
 
-	if ((long)bdev->bd_inode->i_size % erase_size) {
+	if ((long)bdev_inode(bdev)->i_size % erase_size) {
 		pr_err("erasesize must be a divisor of device size\n");
 		goto err_free_block2mtd;
 	}
@@ -313,7 +313,7 @@ static struct block2mtd_dev *add_device(char *devname, int erase_size,
 
 	dev->mtd.name = name;
 
-	dev->mtd.size = bdev->bd_inode->i_size & PAGE_MASK;
+	dev->mtd.size = bdev_inode(bdev)->i_size & PAGE_MASK;
 	dev->mtd.erasesize = erase_size;
 	dev->mtd.writesize = 1;
 	dev->mtd.writebufsize = PAGE_SIZE;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641552.1000189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0X-0001qb-W4; Mon, 27 Nov 2023 06:22:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641552.1000189; Mon, 27 Nov 2023 06:22: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 1r7V0X-0001qQ-Sd; Mon, 27 Nov 2023 06:22:13 +0000
Received: by outflank-mailman (input) for mailman id 641552;
 Mon, 27 Nov 2023 06:22: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0W-0008S3-H5
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:12 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4ad0ae3d-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:22:10 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwV41Tgdz4f3jq5
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:04 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 0A11D1A04A0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:07 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S11;
 Mon, 27 Nov 2023 14:22:06 +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: 4ad0ae3d-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 07/16] bcachefs: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:21:07 +0800
Message-Id: <20231127062116.2355129-8-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S11
X-Coremail-Antispam: 1UD129KBjvdXoWrKw1xZr17AF15GFy3Gw17KFg_yoWxtrb_XF
	1xZF47Xw4rJFn2q3Z8JrsYvr4I9w4fWrW2vFZ8AF17G3WDGFZ5XFZ5Gr98XrsrGrs7Ga4x
	X34fJrW7uryS9jkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUbq8FF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUAVCq3wA2048vs2
	IY020Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28E
	F7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVWxJr0_Gc
	Wl84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s1l
	e2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI
	8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwAC
	jcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka0x
	kIwI1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AK
	xVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc4
	0Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AK
	xVW8Jr0_Cr1UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJV
	W8JwCI42IY6I8E87Iv6xkF7I0E14v26F4UJVW0obIYCTnIWIevJa73UjIFyTuYvjfUOBTY
	UUUUU
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 fs/bcachefs/util.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h
index 2984b57b2958..fe7ccb3a3517 100644
--- a/fs/bcachefs/util.h
+++ b/fs/bcachefs/util.h
@@ -518,7 +518,7 @@ int bch2_bio_alloc_pages(struct bio *, size_t, gfp_t);
 
 static inline sector_t bdev_sectors(struct block_device *bdev)
 {
-	return bdev->bd_inode->i_size >> 9;
+	return bdev_inode(bdev)->i_size >> 9;
 }
 
 #define closure_bio_submit(bio, cl)					\
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641551.1000179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0V-0001WS-Pc; Mon, 27 Nov 2023 06:22:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641551.1000179; Mon, 27 Nov 2023 06: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 1r7V0V-0001WF-KP; Mon, 27 Nov 2023 06:22:11 +0000
Received: by outflank-mailman (input) for mailman id 641551;
 Mon, 27 Nov 2023 06:22: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0U-0008S3-NU
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:10 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 49c1f068-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:22:08 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.93.142])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwV064TKz4f3lg7
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:00 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 42E041A0C0A
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:05 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S10;
 Mon, 27 Nov 2023 14:22:04 +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: 49c1f068-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 06/16] scsicam: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:21:06 +0800
Message-Id: <20231127062116.2355129-7-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S10
X-Coremail-Antispam: 1UD129KBjvdXoWrKw1ruF1rJryfZrykJFy8Grg_yoW3Gwb_CF
	W09ryxWr1rArs7Kw45JFs5Zryqvw4rXF109F4Fq3savayUXFn5tr4vqr17Zw47Wr4DA3Z8
	JFnrXryYkrsrKjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUbqxFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUAVCq3wA2048vs2
	IY020Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28E
	F7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVWxJr0_Gc
	Wl84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s1l
	e2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI
	8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwAC
	jcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka0x
	kIwI1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AK
	xVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc4
	0Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AK
	xVW8Jr0_Cr1UMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVWUJV
	W8JwCI42IY6I8E87Iv6xkF7I0E14v26r4UJVWxJrUvcSsGvfC2KfnxnUUI43ZEXa7VUbmZ
	X7UUUUU==
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 drivers/scsi/scsicam.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/scsicam.c b/drivers/scsi/scsicam.c
index e2c7d8ef205f..de40a5ef7d96 100644
--- a/drivers/scsi/scsicam.c
+++ b/drivers/scsi/scsicam.c
@@ -32,7 +32,7 @@
  */
 unsigned char *scsi_bios_ptable(struct block_device *dev)
 {
-	struct address_space *mapping = bdev_whole(dev)->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(bdev_whole(dev))->i_mapping;
 	unsigned char *res = NULL;
 	struct folio *folio;
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641550.1000169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0U-0001Fn-AS; Mon, 27 Nov 2023 06:22:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641550.1000169; Mon, 27 Nov 2023 06:22: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 1r7V0U-0001Fe-6H; Mon, 27 Nov 2023 06:22:10 +0000
Received: by outflank-mailman (input) for mailman id 641550;
 Mon, 27 Nov 2023 06: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0T-0008S4-5v
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:09 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 497ae6c1-8ced-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 07:22:08 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.235])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwV04ttqz4f3jqW
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:00 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 7D7171A0C0B
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:03 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S9;
 Mon, 27 Nov 2023 14:22:02 +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: 497ae6c1-8ced-11ee-98e2-6d05b1d4d9a1
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 05/16] s390/dasd: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:21:05 +0800
Message-Id: <20231127062116.2355129-6-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S9
X-Coremail-Antispam: 1UD129KBjvdXoWrKw1rWw4fAF15Kw1DXry3CFg_yoW3Cwc_CF
	13JryIqw18Crnakw1YvF4rZr9a9F1kWr1IvFy5tr1fXF9rXF4Svw4kua13JrZ7GayUG3s8
	JF9rXr1jvr15WjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUbqkFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUAVCq3wA2048vs2
	IY020Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28E
	F7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVW8Jr0_Cr
	1UM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0D
	M2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx
	v20xvE14v26r1j6r18McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l
	F7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2
	IY04v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAF
	wI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8Jr1lIx
	kGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUCVW8JwCI42IY6xIIjxv20xvEc7CjxVAF
	wI0_Gr1j6F4UJwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr
	0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8Jr0_Cr1UYxBIdaVFxhVjvjDU0xZFpf9x0JUQ
	SdkUUUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 drivers/s390/block/dasd_ioctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/s390/block/dasd_ioctl.c b/drivers/s390/block/dasd_ioctl.c
index 61b9675e2a67..a34554ace310 100644
--- a/drivers/s390/block/dasd_ioctl.c
+++ b/drivers/s390/block/dasd_ioctl.c
@@ -221,7 +221,7 @@ dasd_format(struct dasd_block *block, struct format_data_t *fdata)
 	 * enabling the device later.
 	 */
 	if (fdata->start_unit == 0) {
-		block->gdp->part0->bd_inode->i_blkbits =
+		bdev_inode(block->gdp->part0)->i_blkbits =
 			blksize_bits(fdata->blksize);
 	}
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641545.1000119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0Q-0008SZ-GQ; Mon, 27 Nov 2023 06:22:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641545.1000119; Mon, 27 Nov 2023 06: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 1r7V0Q-0008SS-CJ; Mon, 27 Nov 2023 06:22:06 +0000
Received: by outflank-mailman (input) for mailman id 641545;
 Mon, 27 Nov 2023 06:22: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0O-0008S4-V4
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:04 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 442bc42f-8ced-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 07:22:00 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwTn5rg3z4f3m6s
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:21:49 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 3D3771A092C
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:21:54 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S4;
 Mon, 27 Nov 2023 14:21:53 +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: 442bc42f-8ced-11ee-98e2-6d05b1d4d9a1
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 00/16] block: remove field 'bd_inode' from block_device
Date: Mon, 27 Nov 2023 14:21:00 +0800
Message-Id: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S4
X-Coremail-Antispam: 1UD129KBjvJXoW7Ar4fKw15Jr18CF1kZr1rtFb_yoW8urWfpr
	9xKFWrJ3yjkryrua1Iqw45X345Ja1kKayxuF97Aw4ruFW8G34furWktrsxGrW0qrZrJrWj
	gF13t34DJF4xXaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUvI14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
	1l84ACjcxK6xIIjxv20xvE14v26w1j6s0DM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U
	JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc
	CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E
	2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV
	W8JwACjcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2
	Y2ka0xkIwI1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4
	xG67AKxVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4U
	JwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x
	0267AKxVWxJVW8Jr1lIxAIcVCF04k26cxKx2IYs7xG6rW3Jr0E3s1lIxAIcVC2z280aVAF
	wI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVW8Jr0_Cr1UYxBIdaVFxhVjvjDU0xZFpf
	9x0JUd8n5UUUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Changes in v2:
 - split different portions into different patches, as greg k-h
 suggested.
 - use container_of() instead of "bdev + 1" to get the address of
 bd_inode in the new helper, as grep k-h suggested.

Yu Kuai (16):
  block: add a new helper to get inode from block_device
  xen/blkback: use new helper to get inode from block_device
  bcache: use new helper to get inode from block_device
  mtd: block2mtd: use new helper to get inode from block_device
  s390/dasd: use new helper to get inode from block_device
  scsicam: use new helper to get inode from block_device
  bcachefs: use new helper to get inode from block_device
  btrfs: use new helper to get inode from block_device
  cramfs: use new helper to get inode from block_device
  erofs: use new helper to get inode from block_device
  ext4: use new helper to get inode from block_device
  gfs2: use new helper to get inode from block_device
  jbd2: use new helper to get inode from block_device
  nilfs2: use new helper to get inode from block_device
  buffer: use new helper to get inode from block_device
  block: use new helper to get inode from block_device

 block/bdev.c                       | 44 +++++++++++++++---------------
 block/blk-zoned.c                  |  4 +--
 block/fops.c                       |  4 +--
 block/genhd.c                      |  8 +++---
 block/ioctl.c                      |  8 +++---
 block/partitions/core.c            |  9 +++---
 drivers/block/xen-blkback/xenbus.c |  2 +-
 drivers/md/bcache/super.c          |  2 +-
 drivers/mtd/devices/block2mtd.c    | 12 ++++----
 drivers/s390/block/dasd_ioctl.c    |  2 +-
 drivers/scsi/scsicam.c             |  2 +-
 fs/bcachefs/util.h                 |  2 +-
 fs/btrfs/disk-io.c                 |  6 ++--
 fs/btrfs/volumes.c                 |  4 +--
 fs/btrfs/zoned.c                   |  2 +-
 fs/buffer.c                        |  8 +++---
 fs/cramfs/inode.c                  |  2 +-
 fs/erofs/data.c                    |  2 +-
 fs/ext4/dir.c                      |  2 +-
 fs/ext4/ext4_jbd2.c                |  2 +-
 fs/ext4/super.c                    |  8 +++---
 fs/gfs2/glock.c                    |  2 +-
 fs/gfs2/ops_fstype.c               |  2 +-
 fs/jbd2/journal.c                  |  3 +-
 fs/jbd2/recovery.c                 |  2 +-
 fs/nilfs2/segment.c                |  2 +-
 include/linux/blk_types.h          | 15 ++++++++--
 include/linux/blkdev.h             |  4 +--
 include/linux/buffer_head.h        |  4 +--
 29 files changed, 91 insertions(+), 78 deletions(-)

-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:22:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:22:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641554.1000209 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V0b-0002Vc-OY; Mon, 27 Nov 2023 06:22:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641554.1000209; Mon, 27 Nov 2023 06:22: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 1r7V0b-0002VQ-Ka; Mon, 27 Nov 2023 06:22:17 +0000
Received: by outflank-mailman (input) for mailman id 641554;
 Mon, 27 Nov 2023 06:22: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V0a-0008S3-2W
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:22:16 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4cfc2e0d-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:22:14 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwV75tdfz4f3k6D
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:07 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 9FD5D1A0E06
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:22:10 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hB+NWRlrcU8CA--.57866S13;
 Mon, 27 Nov 2023 14:22:10 +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: 4cfc2e0d-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 09/16] cramfs: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:21:09 +0800
Message-Id: <20231127062116.2355129-10-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hB+NWRlrcU8CA--.57866S13
X-Coremail-Antispam: 1UD129KBjvdXoWrKw17uryxXw1fuw13uFy5XFb_yoW3uFg_Aa
	409ry8Wwn3Xrn29ws8Gws8Zr109w4rGws7uFW5Kr9rJry5JF95Crs7JF1rXr47Jr4UXa98
	CFn7XF4xJr9F9jkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUbDAFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUAVCq3wA2048vs2
	IY020Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28E
	F7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVWxJr0_Gc
	Wl84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s1l
	e2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI
	8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwAC
	jcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka0x
	kIwI1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AK
	xVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc4
	0Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1I6r4UMIIF0xvE2Ix0cI8IcVCY1x0267AK
	xVWxJr0_GcWlIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F
	4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Cr1j6rxdYxBIdaVFxhVjvjDU0xZFpf9x0JUQSdkU
	UUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 fs/cramfs/inode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/cramfs/inode.c b/fs/cramfs/inode.c
index 60dbfa0f8805..e9ed1e24c9e4 100644
--- a/fs/cramfs/inode.c
+++ b/fs/cramfs/inode.c
@@ -183,7 +183,7 @@ static int next_buffer;
 static void *cramfs_blkdev_read(struct super_block *sb, unsigned int offset,
 				unsigned int len)
 {
-	struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(sb->s_bdev)->i_mapping;
 	struct file_ra_state ra = {};
 	struct page *pages[BLKS_PER_BUF];
 	unsigned i, blocknr, buffer;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:23:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:23:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641566.1000219 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V1s-0005Kf-5c; Mon, 27 Nov 2023 06:23:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641566.1000219; Mon, 27 Nov 2023 06: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 1r7V1s-0005KY-21; Mon, 27 Nov 2023 06:23:36 +0000
Received: by outflank-mailman (input) for mailman id 641566;
 Mon, 27 Nov 2023 06:23: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V1q-0005KR-TQ
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:23:34 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7bc6c48d-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:23:32 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.235])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwWc5Tmyz4f3m74
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:24 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 2E2361A0960
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:29 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgBXWhDeNWRlxeA8CA--.60190S4;
 Mon, 27 Nov 2023 14:23:28 +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: 7bc6c48d-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 10/16] erofs: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:22:46 +0800
Message-Id: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgBXWhDeNWRlxeA8CA--.60190S4
X-Coremail-Antispam: 1UD129KBjvdXoWrKw1rtr4DGw4UtFy3tr4DCFg_yoW3XFg_ZF
	yxArW8W3y3J34fta95C3WrZr1vga1F9F409FWUJrZ8WFyUJrZ5ZrZrJ3WxJrs7WwsrKFZ8
	AFsxWF47tryrXjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUbxkFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w
	A2z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr1j
	6rxdM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s
	0DM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xII
	jxv20xvE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr
	1lF7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxa
	n2IY04v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrV
	AFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8Jr1l
	IxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVW8JVW5JwCI42IY6xIIjxv20xvEc7CjxV
	AFwI0_Cr1j6rxdMIIF0xvE42xK8VAvwI8IcIk0rVW3JVWrJr1lIxAIcVC2z280aVAFwI0_
	Gr0_Cr1lIxAIcVC2z280aVCY1x0267AKxVWxJr0_GcJvcSsGvfC2KfnxnUUI43ZEXa7VU1
	VOJ5UUUUU==
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 fs/erofs/data.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/erofs/data.c b/fs/erofs/data.c
index 029c761670bf..85d490b3b53d 100644
--- a/fs/erofs/data.c
+++ b/fs/erofs/data.c
@@ -70,7 +70,7 @@ void erofs_init_metabuf(struct erofs_buf *buf, struct super_block *sb)
 	if (erofs_is_fscache_mode(sb))
 		buf->inode = EROFS_SB(sb)->s_fscache->inode;
 	else
-		buf->inode = sb->s_bdev->bd_inode;
+		buf->inode = bdev_inode(sb->s_bdev);
 }
 
 void *erofs_read_metabuf(struct erofs_buf *buf, struct super_block *sb,
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:23:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:23:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641567.1000229 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V1u-0005aB-D1; Mon, 27 Nov 2023 06:23:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641567.1000229; Mon, 27 Nov 2023 06:23: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 1r7V1u-0005a4-9L; Mon, 27 Nov 2023 06:23:38 +0000
Received: by outflank-mailman (input) for mailman id 641567;
 Mon, 27 Nov 2023 06:23: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V1s-0005KR-Ma
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:23:36 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d078266-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:23:34 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwWh3KvBz4f3jql
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:28 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 4900C1A0C83
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:31 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgBXWhDeNWRlxeA8CA--.60190S5;
 Mon, 27 Nov 2023 14:23:30 +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: 7d078266-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 11/16] ext4: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:22:47 +0800
Message-Id: <20231127062252.2367645-2-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
References: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgBXWhDeNWRlxeA8CA--.60190S5
X-Coremail-Antispam: 1UD129KBjvJXoWxZr1xKFy7JrWUXF18AF47Jwb_yoW5ZF4xpF
	y3AFyrAr4UZFyj9a92krZFq3W29w1IkFWxWryfuw1a9rWaqw1SqFykKF12yFyFvrW8Jry2
	qF1jkrW8Cr4rKrDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUPj14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jr4l82xGYIkIc2
	x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
	Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr1j6rxdM2
	8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI
	xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x
	vE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv
	r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04
	v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_
	Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8Jr1lIxkGc2
	Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVW8JVW5JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_
	Cr1j6rxdMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJw
	CI42IY6I8E87Iv6xkF7I0E14v26F4UJVW0obIYCTnIWIevJa73UjIFyTuYvjfUFT5lUUUU
	U
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 fs/ext4/dir.c       | 2 +-
 fs/ext4/ext4_jbd2.c | 2 +-
 fs/ext4/super.c     | 8 ++++----
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/ext4/dir.c b/fs/ext4/dir.c
index 3985f8c33f95..6e9fe408642b 100644
--- a/fs/ext4/dir.c
+++ b/fs/ext4/dir.c
@@ -192,7 +192,7 @@ static int ext4_readdir(struct file *file, struct dir_context *ctx)
 					(PAGE_SHIFT - inode->i_blkbits);
 			if (!ra_has_index(&file->f_ra, index))
 				page_cache_sync_readahead(
-					sb->s_bdev->bd_inode->i_mapping,
+					bdev_inode(sb->s_bdev)->i_mapping,
 					&file->f_ra, file,
 					index, 1);
 			file->f_ra.prev_pos = (loff_t)index << PAGE_SHIFT;
diff --git a/fs/ext4/ext4_jbd2.c b/fs/ext4/ext4_jbd2.c
index d1a2e6624401..e0e7f71d022d 100644
--- a/fs/ext4/ext4_jbd2.c
+++ b/fs/ext4/ext4_jbd2.c
@@ -206,7 +206,7 @@ static void ext4_journal_abort_handle(const char *caller, unsigned int line,
 
 static void ext4_check_bdev_write_error(struct super_block *sb)
 {
-	struct address_space *mapping = sb->s_bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(sb->s_bdev)->i_mapping;
 	struct ext4_sb_info *sbi = EXT4_SB(sb);
 	int err;
 
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index c5fcf377ab1f..da6af2205e55 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -244,7 +244,7 @@ static struct buffer_head *__ext4_sb_bread_gfp(struct super_block *sb,
 struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block,
 				   blk_opf_t op_flags)
 {
-	gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping,
+	gfp_t gfp = mapping_gfp_constraint(bdev_inode(sb->s_bdev)->i_mapping,
 			~__GFP_FS) | __GFP_MOVABLE;
 
 	return __ext4_sb_bread_gfp(sb, block, op_flags, gfp);
@@ -253,7 +253,7 @@ struct buffer_head *ext4_sb_bread(struct super_block *sb, sector_t block,
 struct buffer_head *ext4_sb_bread_unmovable(struct super_block *sb,
 					    sector_t block)
 {
-	gfp_t gfp = mapping_gfp_constraint(sb->s_bdev->bd_inode->i_mapping,
+	gfp_t gfp = mapping_gfp_constraint(bdev_inode(sb->s_bdev)->i_mapping,
 			~__GFP_FS);
 
 	return __ext4_sb_bread_gfp(sb, block, 0, gfp);
@@ -502,7 +502,7 @@ static void ext4_maybe_update_superblock(struct super_block *sb)
  */
 static int block_device_ejected(struct super_block *sb)
 {
-	struct inode *bd_inode = sb->s_bdev->bd_inode;
+	struct inode *bd_inode = bdev_inode(sb->s_bdev);
 	struct backing_dev_info *bdi = inode_to_bdi(bd_inode);
 
 	return bdi->dev == NULL;
@@ -5585,7 +5585,7 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb)
 	 * used to detect the metadata async write error.
 	 */
 	spin_lock_init(&sbi->s_bdev_wb_lock);
-	errseq_check_and_advance(&sb->s_bdev->bd_inode->i_mapping->wb_err,
+	errseq_check_and_advance(&bdev_inode(sb->s_bdev)->i_mapping->wb_err,
 				 &sbi->s_bdev_wb_err);
 	EXT4_SB(sb)->s_mount_state |= EXT4_ORPHAN_FS;
 	ext4_orphan_cleanup(sb, es);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:23:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:23:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641568.1000239 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V1v-0005qz-Q4; Mon, 27 Nov 2023 06:23:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641568.1000239; Mon, 27 Nov 2023 06:23: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 1r7V1v-0005qo-NN; Mon, 27 Nov 2023 06:23:39 +0000
Received: by outflank-mailman (input) for mailman id 641568;
 Mon, 27 Nov 2023 06: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V1v-0005KR-0O
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:23:39 +0000
Received: from dggsgout12.his.huawei.com (unknown [45.249.212.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7e6c88f3-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:23:36 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.235])
 by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4SdwWl5fVBz4f3kG9
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:31 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 9D74F1A0AF2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:33 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgBXWhDeNWRlxeA8CA--.60190S6;
 Mon, 27 Nov 2023 14:23:33 +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: 7e6c88f3-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 12/16] gfs2: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:22:48 +0800
Message-Id: <20231127062252.2367645-3-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
References: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgBXWhDeNWRlxeA8CA--.60190S6
X-Coremail-Antispam: 1UD129KBjvJXoW7Kr1rurWfGr4fAw4UAF15XFb_yoW8Jw1fpr
	9rJF1YkF4kWrnIgaykuF4Fq3WUuay8G3yIy3s5Cwn0vrsrGw1aga92kF4DJayrXa97ZwsI
	ga1a9w4avr1Ygr7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUPj14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_Jryl82xGYIkIc2
	x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
	Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr1j6rxdM2
	8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI
	xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x
	vE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv
	r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04
	v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_
	Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8Jr1lIxkGc2
	Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVW8JVW5JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_
	Cr1j6rxdMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJw
	CI42IY6I8E87Iv6xkF7I0E14v26F4UJVW0obIYCTnIWIevJa73UjIFyTuYvjfUFrcTDUUU
	U
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 fs/gfs2/glock.c      | 2 +-
 fs/gfs2/ops_fstype.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c
index d6bf1f8c25dc..ec6394544ebb 100644
--- a/fs/gfs2/glock.c
+++ b/fs/gfs2/glock.c
@@ -1210,7 +1210,7 @@ int gfs2_glock_get(struct gfs2_sbd *sdp, u64 number,
 	mapping = gfs2_glock2aspace(gl);
 	if (mapping) {
                 mapping->a_ops = &gfs2_meta_aops;
-		mapping->host = s->s_bdev->bd_inode;
+		mapping->host = bdev_inode(s->s_bdev);
 		mapping->flags = 0;
 		mapping_set_gfp_mask(mapping, GFP_NOFS);
 		mapping->private_data = NULL;
diff --git a/fs/gfs2/ops_fstype.c b/fs/gfs2/ops_fstype.c
index b108c5d26839..dfc4735cfd54 100644
--- a/fs/gfs2/ops_fstype.c
+++ b/fs/gfs2/ops_fstype.c
@@ -114,7 +114,7 @@ static struct gfs2_sbd *init_sbd(struct super_block *sb)
 
 	address_space_init_once(mapping);
 	mapping->a_ops = &gfs2_rgrp_aops;
-	mapping->host = sb->s_bdev->bd_inode;
+	mapping->host = bdev_inode(sb->s_bdev);
 	mapping->flags = 0;
 	mapping_set_gfp_mask(mapping, GFP_NOFS);
 	mapping->private_data = NULL;
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:23:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:23:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641569.1000249 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V1y-000690-37; Mon, 27 Nov 2023 06:23:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641569.1000249; Mon, 27 Nov 2023 06: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 1r7V1x-00068r-Vs; Mon, 27 Nov 2023 06:23:41 +0000
Received: by outflank-mailman (input) for mailman id 641569;
 Mon, 27 Nov 2023 06:23: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V1w-0005KR-VF
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:23:40 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f9452c6-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:23:38 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.93.142])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwWm58V8z4f3k68
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:32 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 8642B1A0808
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:35 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgBXWhDeNWRlxeA8CA--.60190S7;
 Mon, 27 Nov 2023 14:23:34 +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: 7f9452c6-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 13/16] jbd2: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:22:49 +0800
Message-Id: <20231127062252.2367645-4-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
References: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgBXWhDeNWRlxeA8CA--.60190S7
X-Coremail-Antispam: 1UD129KBjvJXoW7KFWUJF45XF1kJF1UAF1UWrg_yoW8Gr1xpr
	y7GF98Ca98Zry8tFn7GF4vqrWjqa4I9FWUCr1kuwnYywsxJr12vw18KrnxGa4YyFWvqayF
	qr1jv3y8G3yYgrDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUPj14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JrWl82xGYIkIc2
	x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2z4x0
	Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Cr1j6rxdM2
	8EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0DM2AI
	xVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjxv20x
	vE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xv
	r2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2IY04
	v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_
	Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8Jr1lIxkGc2
	Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVW8JVW5JwCI42IY6xIIjxv20xvEc7CjxVAFwI0_
	Cr1j6rxdMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JVWxJw
	CI42IY6I8E87Iv6xkF7I0E14v26F4UJVW0obIYCTnIWIevJa73UjIFyTuYvjfUFfHUDUUU
	U
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 fs/jbd2/journal.c  | 3 ++-
 fs/jbd2/recovery.c | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c
index ed53188472f9..e2d034cc9dc0 100644
--- a/fs/jbd2/journal.c
+++ b/fs/jbd2/journal.c
@@ -2003,7 +2003,8 @@ static int __jbd2_journal_erase(journal_t *journal, unsigned int flags)
 		byte_count = (block_stop - block_start + 1) *
 				journal->j_blocksize;
 
-		truncate_inode_pages_range(journal->j_dev->bd_inode->i_mapping,
+		truncate_inode_pages_range(
+				bdev_inode(journal->j_dev)->i_mapping,
 				byte_start, byte_stop);
 
 		if (flags & JBD2_JOURNAL_FLUSH_DISCARD) {
diff --git a/fs/jbd2/recovery.c b/fs/jbd2/recovery.c
index 01f744cb97a4..7774efe872e8 100644
--- a/fs/jbd2/recovery.c
+++ b/fs/jbd2/recovery.c
@@ -309,7 +309,7 @@ int jbd2_journal_recover(journal_t *journal)
 	}
 
 	wb_err = 0;
-	mapping = journal->j_fs_dev->bd_inode->i_mapping;
+	mapping = bdev_inode(journal->j_fs_dev)->i_mapping;
 	errseq_check_and_advance(&mapping->wb_err, &wb_err);
 	err = do_one_pass(journal, &info, PASS_SCAN);
 	if (!err)
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:23:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:23:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641570.1000259 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V20-0006SJ-BQ; Mon, 27 Nov 2023 06:23:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641570.1000259; Mon, 27 Nov 2023 06:23: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 1r7V20-0006S8-7K; Mon, 27 Nov 2023 06:23:44 +0000
Received: by outflank-mailman (input) for mailman id 641570;
 Mon, 27 Nov 2023 06:23: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V1z-0005KR-8C
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:23:43 +0000
Received: from dggsgout12.his.huawei.com (unknown [45.249.212.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 80eaec52-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:23:41 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.93.142])
 by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4SdwWq41c7z4f3kFS
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:35 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 657BE1A0C68
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:37 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgBXWhDeNWRlxeA8CA--.60190S8;
 Mon, 27 Nov 2023 14:23:36 +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: 80eaec52-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 14/16] nilfs2: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:22:50 +0800
Message-Id: <20231127062252.2367645-5-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
References: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgBXWhDeNWRlxeA8CA--.60190S8
X-Coremail-Antispam: 1UD129KBjvdXoWrKw1xCF4xArWfGFy7ArW3Awb_yoW3AFgEqF
	1kArykW34YqFs3Zw4kurZYyryrA3WFk3WxXr18AF98GFW0yrZ5Cr1qyr42qFW7WwnFq3Zx
	G3W3Wr98tryjvjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUbDAFF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28IrcIa0xkI8VA2jI8067AKxVWUAVCq3wA2048vs2
	IY020Ec7CjxVAFwI0_Xr0E3s1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxSw2x7M28E
	F7xvwVC0I7IYx2IY67AKxVWDJVCq3wA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxVWxJr0_Gc
	Wl84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s1l
	e2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI
	8IcVAFwI0_JrI_JrylYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwAC
	jcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka0x
	kIwI1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AK
	xVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc4
	0Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x0267AK
	xVWxJr0_GcWlIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F
	4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Cr1j6rxdYxBIdaVFxhVjvjDU0xZFpf9x0JUArcfU
	UUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 fs/nilfs2/segment.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/nilfs2/segment.c b/fs/nilfs2/segment.c
index 55e31cc903d1..d346f5c1aad7 100644
--- a/fs/nilfs2/segment.c
+++ b/fs/nilfs2/segment.c
@@ -2823,7 +2823,7 @@ int nilfs_attach_log_writer(struct super_block *sb, struct nilfs_root *root)
 	if (!nilfs->ns_writer)
 		return -ENOMEM;
 
-	inode_attach_wb(nilfs->ns_bdev->bd_inode, NULL);
+	inode_attach_wb(bdev_inode(nilfs->ns_bdev), NULL);
 
 	err = nilfs_segctor_start_thread(nilfs->ns_writer);
 	if (unlikely(err))
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:23:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:23:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641571.1000269 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V21-0006k6-K8; Mon, 27 Nov 2023 06:23:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641571.1000269; Mon, 27 Nov 2023 06:23: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 1r7V21-0006ji-Fh; Mon, 27 Nov 2023 06:23:45 +0000
Received: by outflank-mailman (input) for mailman id 641571;
 Mon, 27 Nov 2023 06:23: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V1z-0005JH-LB
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:23:43 +0000
Received: from dggsgout11.his.huawei.com (unknown [45.249.212.51])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 81ca471d-8ced-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 07:23:42 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.235])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SdwWp6DnLz4f3mHN
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:34 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 47AAD1A111E
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:39 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgBXWhDeNWRlxeA8CA--.60190S9;
 Mon, 27 Nov 2023 14:23:38 +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: 81ca471d-8ced-11ee-98e2-6d05b1d4d9a1
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 15/16] buffer: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:22:51 +0800
Message-Id: <20231127062252.2367645-6-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
References: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgBXWhDeNWRlxeA8CA--.60190S9
X-Coremail-Antispam: 1UD129KBjvJXoWxJF13Xry3Zr4rKw1xKryxGrg_yoW5XFWxpF
	9IkFW3G3ykWryFgay0yws0qr9Ig3W2gay8u3yxJ3sxArW0gF92qF10kr12vFWayrW0yrWj
	qF42krWrury2gFJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUUPY14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2048vs2IY020E87I2jVAFwI0_JF0E3s1l82xGYI
	kIc2x26xkF7I0E14v26ryj6s0DM28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8wA2
	z4x0Y4vE2Ix0cI8IcVAFwI0_tr0E3s1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_GcCE3s
	1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_GcCE3s1l
	e2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI
	8IcVAFwI0_JrI_JrylYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwAC
	jcxG0xvY0x0EwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka0x
	kIwI1l42xK82IYc2Ij64vIr41l4I8I3I0E4IkC6x0Yz7v_Jr0_Gr1lx2IqxVAqx4xG67AK
	xVWUJVWUGwC20s026x8GjcxK67AKxVWUGVWUWwC2zVAF1VAY17CE14v26rWY6r4UJwCIc4
	0Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r4j6ryUMIIF0xvE2Ix0cI8IcVCY1x0267AK
	xVWxJr0_GcWlIxAIcVCF04k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r4j6F
	4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Cr1j6rxdYxBIdaVFxhVjvjDU0xZFpf9x0JUArcfU
	UUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also prepare to remove the field
'bd_inode' from block_device.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 fs/buffer.c                 | 8 ++++----
 include/linux/buffer_head.h | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index 967f34b70aa8..bf993198f881 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -189,7 +189,7 @@ EXPORT_SYMBOL(end_buffer_write_sync);
 static struct buffer_head *
 __find_get_block_slow(struct block_device *bdev, sector_t block)
 {
-	struct inode *bd_inode = bdev->bd_inode;
+	struct inode *bd_inode = bdev_inode(bdev);
 	struct address_space *bd_mapping = bd_inode->i_mapping;
 	struct buffer_head *ret = NULL;
 	pgoff_t index;
@@ -1032,7 +1032,7 @@ static int
 grow_dev_page(struct block_device *bdev, sector_t block,
 	      pgoff_t index, int size, int sizebits, gfp_t gfp)
 {
-	struct inode *inode = bdev->bd_inode;
+	struct inode *inode = bdev_inode(bdev);
 	struct folio *folio;
 	struct buffer_head *bh;
 	sector_t end_block;
@@ -1463,7 +1463,7 @@ __bread_gfp(struct block_device *bdev, sector_t block,
 {
 	struct buffer_head *bh;
 
-	gfp |= mapping_gfp_constraint(bdev->bd_inode->i_mapping, ~__GFP_FS);
+	gfp |= mapping_gfp_constraint(bdev_inode(bdev)->i_mapping, ~__GFP_FS);
 
 	/*
 	 * Prefer looping in the allocator rather than here, at least that
@@ -1696,7 +1696,7 @@ EXPORT_SYMBOL(create_empty_buffers);
  */
 void clean_bdev_aliases(struct block_device *bdev, sector_t block, sector_t len)
 {
-	struct inode *bd_inode = bdev->bd_inode;
+	struct inode *bd_inode = bdev_inode(bdev);
 	struct address_space *bd_mapping = bd_inode->i_mapping;
 	struct folio_batch fbatch;
 	pgoff_t index = block >> (PAGE_SHIFT - bd_inode->i_blkbits);
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index 5f23ee599889..da9ee62e3aa9 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -341,7 +341,7 @@ static inline struct buffer_head *getblk_unmovable(struct block_device *bdev,
 {
 	gfp_t gfp;
 
-	gfp = mapping_gfp_constraint(bdev->bd_inode->i_mapping, ~__GFP_FS);
+	gfp = mapping_gfp_constraint(bdev_inode(bdev)->i_mapping, ~__GFP_FS);
 	gfp |= __GFP_NOFAIL;
 
 	return bdev_getblk(bdev, block, size, gfp);
@@ -352,7 +352,7 @@ static inline struct buffer_head *__getblk(struct block_device *bdev,
 {
 	gfp_t gfp;
 
-	gfp = mapping_gfp_constraint(bdev->bd_inode->i_mapping, ~__GFP_FS);
+	gfp = mapping_gfp_constraint(bdev_inode(bdev)->i_mapping, ~__GFP_FS);
 	gfp |= __GFP_MOVABLE | __GFP_NOFAIL;
 
 	return bdev_getblk(bdev, block, size, gfp);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:23:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:23:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641572.1000279 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7V23-00076U-Ts; Mon, 27 Nov 2023 06:23:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641572.1000279; Mon, 27 Nov 2023 06:23: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 1r7V23-00076E-QN; Mon, 27 Nov 2023 06:23:47 +0000
Received: by outflank-mailman (input) for mailman id 641572;
 Mon, 27 Nov 2023 06:23: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7V23-0005KR-7Y
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:23:47 +0000
Received: from dggsgout12.his.huawei.com (unknown [45.249.212.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8311d07c-8ced-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 07:23:44 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4SdwWv3vGmz4f3kGJ
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:39 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 625661A0EC6
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 14:23:41 +0800 (CST)
Received: from huaweicloud.com (unknown [10.175.104.67])
 by APP1 (Coremail) with SMTP id cCh0CgBXWhDeNWRlxeA8CA--.60190S10;
 Mon, 27 Nov 2023 14:23:40 +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: 8311d07c-8ced-11ee-9b0e-b553b5be7939
From: Yu Kuai <yukuai1@huaweicloud.com>
To: hch@infradead.org,
	ming.lei@redhat.com,
	axboe@kernel.dk,
	roger.pau@citrix.com,
	colyli@suse.de,
	kent.overstreet@gmail.com,
	joern@lazybastard.org,
	miquel.raynal@bootlin.com,
	richard@nod.at,
	vigneshr@ti.com,
	sth@linux.ibm.com,
	hoeppner@linux.ibm.com,
	hca@linux.ibm.com,
	gor@linux.ibm.com,
	agordeev@linux.ibm.com,
	jejb@linux.ibm.com,
	martin.petersen@oracle.com,
	clm@fb.com,
	josef@toxicpanda.com,
	dsterba@suse.com,
	viro@zeniv.linux.org.uk,
	brauner@kernel.org,
	nico@fluxnic.net,
	xiang@kernel.org,
	chao@kernel.org,
	tytso@mit.edu,
	adilger.kernel@dilger.ca,
	agruenba@redhat.com,
	jack@suse.com,
	konishi.ryusuke@gmail.com,
	dchinner@redhat.com,
	linux@weissschuh.net,
	min15.li@samsung.com,
	yukuai3@huawei.com,
	dlemoal@kernel.org,
	willy@infradead.org,
	akpm@linux-foundation.org,
	hare@suse.de,
	p.raghav@samsung.com
Cc: linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org,
	yukuai1@huaweicloud.com,
	yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: [PATCH block/for-next v2 16/16] block: use new helper to get inode from block_device
Date: Mon, 27 Nov 2023 14:22:52 +0800
Message-Id: <20231127062252.2367645-7-yukuai1@huaweicloud.com>
X-Mailer: git-send-email 2.39.2
In-Reply-To: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
References: <20231127062252.2367645-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgBXWhDeNWRlxeA8CA--.60190S10
X-Coremail-Antispam: 1UD129KBjvAXoW3KF4xKFWxJw43WF1Dtw17Awb_yoW8JF1xCo
	W3Jr43Xrs5JrW3G3yxG3s7Aa4jq39rCws5CFn8urn8ua4Fyw1jk347Ga15AFyru3WrKF1x
	ZryxAF1rXFW5CF4fn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3
	AaLaJ3UjIYCTnIWjp_UUUOj7AC8VAFwI0_Wr0E3s1l1xkIjI8I6I8E6xAIw20EY4v20xva
	j40_Wr0E3s1l1IIY67AEw4v_Jr0_Jr4l82xGYIkIc2x26280x7IE14v26r126s0DM28Irc
	Ia0xkI8VCY1x0267AKxVW5JVCq3wA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK021l
	84ACjcxK6xIIjxv20xvE14v26w1j6s0DM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26rxl6s
	0DM28EF7xvwVC2z280aVAFwI0_GcCE3s1l84ACjcxK6I8E87Iv6xkF7I0E14v26rxl6s0D
	M2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVACY4xI64kE6c02F40Ex7xfMcIj6xIIjx
	v20xvE14v26r106r15McIj6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1l
	F7xvr2IYc2Ij64vIr41lF7I21c0EjII2zVCS5cI20VAGYxC7M4IIrI8v6xkF7I0E8cxan2
	IY04v7MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAF
	wI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVWrXVW8Jr1lIx
	kGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVW8JVW5JwCI42IY6xIIjxv20xvEc7CjxVAF
	wI0_Cr1j6rxdMIIF0xvE42xK8VAvwI8IcIk0rVWUJVWUCwCI42IY6I8E87Iv67AKxVW8JV
	WxJwCI42IY6I8E87Iv6xkF7I0E14v26rxl6s0DYxBIdaVFxhVjvjDU0xZFpf9x0JUArcfU
	UUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

From: Yu Kuai <yukuai3@huawei.com>

Which is more efficiency, and also remove the field 'bd_inode' since it's
not used anymore.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
---
 block/bdev.c              | 39 ++++++++++++++++++++++-----------------
 block/blk-zoned.c         |  4 ++--
 block/fops.c              |  4 ++--
 block/genhd.c             |  8 ++++----
 block/ioctl.c             |  8 ++++----
 block/partitions/core.c   |  9 +++++----
 include/linux/blk_types.h |  3 +--
 include/linux/blkdev.h    |  4 ++--
 8 files changed, 42 insertions(+), 37 deletions(-)

diff --git a/block/bdev.c b/block/bdev.c
index 7509389095b7..8af89cf91ae1 100644
--- a/block/bdev.c
+++ b/block/bdev.c
@@ -43,7 +43,7 @@ EXPORT_SYMBOL(I_BDEV);
 
 static void bdev_write_inode(struct block_device *bdev)
 {
-	struct inode *inode = bdev->bd_inode;
+	struct inode *inode = bdev_inode(bdev);
 	int ret;
 
 	spin_lock(&inode->i_lock);
@@ -62,7 +62,7 @@ static void bdev_write_inode(struct block_device *bdev)
 /* Kill _all_ buffers and pagecache , dirty or not.. */
 static void kill_bdev(struct block_device *bdev)
 {
-	struct address_space *mapping = bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(bdev)->i_mapping;
 
 	if (mapping_empty(mapping))
 		return;
@@ -74,7 +74,7 @@ static void kill_bdev(struct block_device *bdev)
 /* Invalidate clean unused buffers and pagecache. */
 void invalidate_bdev(struct block_device *bdev)
 {
-	struct address_space *mapping = bdev->bd_inode->i_mapping;
+	struct address_space *mapping = bdev_inode(bdev)->i_mapping;
 
 	if (mapping->nrpages) {
 		invalidate_bh_lrus();
@@ -102,7 +102,7 @@ int truncate_bdev_range(struct block_device *bdev, blk_mode_t mode,
 			goto invalidate;
 	}
 
-	truncate_inode_pages_range(bdev->bd_inode->i_mapping, lstart, lend);
+	truncate_inode_pages_range(bdev_inode(bdev)->i_mapping, lstart, lend);
 	if (!(mode & BLK_OPEN_EXCL))
 		bd_abort_claiming(bdev, truncate_bdev_range);
 	return 0;
@@ -112,7 +112,7 @@ int truncate_bdev_range(struct block_device *bdev, blk_mode_t mode,
 	 * Someone else has handle exclusively open. Try invalidating instead.
 	 * The 'end' argument is inclusive so the rounding is safe.
 	 */
-	return invalidate_inode_pages2_range(bdev->bd_inode->i_mapping,
+	return invalidate_inode_pages2_range(bdev_inode(bdev)->i_mapping,
 					     lstart >> PAGE_SHIFT,
 					     lend >> PAGE_SHIFT);
 }
@@ -120,18 +120,21 @@ int truncate_bdev_range(struct block_device *bdev, blk_mode_t mode,
 static void set_init_blocksize(struct block_device *bdev)
 {
 	unsigned int bsize = bdev_logical_block_size(bdev);
-	loff_t size = i_size_read(bdev->bd_inode);
+	struct inode *inode = bdev_inode(bdev);
+	loff_t size = i_size_read(inode);
 
 	while (bsize < PAGE_SIZE) {
 		if (size & bsize)
 			break;
 		bsize <<= 1;
 	}
-	bdev->bd_inode->i_blkbits = blksize_bits(bsize);
+	inode->i_blkbits = blksize_bits(bsize);
 }
 
 int set_blocksize(struct block_device *bdev, int size)
 {
+	struct inode *inode;
+
 	/* Size must be a power of two, and between 512 and PAGE_SIZE */
 	if (size > PAGE_SIZE || size < 512 || !is_power_of_2(size))
 		return -EINVAL;
@@ -141,9 +144,10 @@ int set_blocksize(struct block_device *bdev, int size)
 		return -EINVAL;
 
 	/* Don't change the size if it is same as current */
-	if (bdev->bd_inode->i_blkbits != blksize_bits(size)) {
+	inode = bdev_inode(bdev);
+	if (inode->i_blkbits != blksize_bits(size)) {
 		sync_blockdev(bdev);
-		bdev->bd_inode->i_blkbits = blksize_bits(size);
+		inode->i_blkbits = blksize_bits(size);
 		kill_bdev(bdev);
 	}
 	return 0;
@@ -178,7 +182,7 @@ int sync_blockdev_nowait(struct block_device *bdev)
 {
 	if (!bdev)
 		return 0;
-	return filemap_flush(bdev->bd_inode->i_mapping);
+	return filemap_flush(bdev_inode(bdev)->i_mapping);
 }
 EXPORT_SYMBOL_GPL(sync_blockdev_nowait);
 
@@ -190,13 +194,13 @@ int sync_blockdev(struct block_device *bdev)
 {
 	if (!bdev)
 		return 0;
-	return filemap_write_and_wait(bdev->bd_inode->i_mapping);
+	return filemap_write_and_wait(bdev_inode(bdev)->i_mapping);
 }
 EXPORT_SYMBOL(sync_blockdev);
 
 int sync_blockdev_range(struct block_device *bdev, loff_t lstart, loff_t lend)
 {
-	return filemap_write_and_wait_range(bdev->bd_inode->i_mapping,
+	return filemap_write_and_wait_range(bdev_inode(bdev)->i_mapping,
 			lstart, lend);
 }
 EXPORT_SYMBOL(sync_blockdev_range);
@@ -395,7 +399,6 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
 	spin_lock_init(&bdev->bd_size_lock);
 	mutex_init(&bdev->bd_holder_lock);
 	bdev->bd_partno = partno;
-	bdev->bd_inode = inode;
 	bdev->bd_queue = disk->queue;
 	if (partno)
 		bdev->bd_has_submit_bio = disk->part0->bd_has_submit_bio;
@@ -413,17 +416,19 @@ struct block_device *bdev_alloc(struct gendisk *disk, u8 partno)
 void bdev_set_nr_sectors(struct block_device *bdev, sector_t sectors)
 {
 	spin_lock(&bdev->bd_size_lock);
-	i_size_write(bdev->bd_inode, (loff_t)sectors << SECTOR_SHIFT);
+	i_size_write(bdev_inode(bdev), (loff_t)sectors << SECTOR_SHIFT);
 	bdev->bd_nr_sectors = sectors;
 	spin_unlock(&bdev->bd_size_lock);
 }
 
 void bdev_add(struct block_device *bdev, dev_t dev)
 {
+	struct inode *inode = bdev_inode(bdev);
+
 	bdev->bd_dev = dev;
-	bdev->bd_inode->i_rdev = dev;
-	bdev->bd_inode->i_ino = dev;
-	insert_inode_hash(bdev->bd_inode);
+	inode->i_rdev = dev;
+	inode->i_ino = dev;
+	insert_inode_hash(inode);
 }
 
 long nr_blockdev_pages(void)
diff --git a/block/blk-zoned.c b/block/blk-zoned.c
index 619ee41a51cc..6b91f6d45590 100644
--- a/block/blk-zoned.c
+++ b/block/blk-zoned.c
@@ -401,7 +401,7 @@ int blkdev_zone_mgmt_ioctl(struct block_device *bdev, blk_mode_t mode,
 		op = REQ_OP_ZONE_RESET;
 
 		/* Invalidate the page cache, including dirty pages. */
-		filemap_invalidate_lock(bdev->bd_inode->i_mapping);
+		filemap_invalidate_lock(bdev_inode(bdev)->i_mapping);
 		ret = blkdev_truncate_zone_range(bdev, mode, &zrange);
 		if (ret)
 			goto fail;
@@ -424,7 +424,7 @@ int blkdev_zone_mgmt_ioctl(struct block_device *bdev, blk_mode_t mode,
 
 fail:
 	if (cmd == BLKRESETZONE)
-		filemap_invalidate_unlock(bdev->bd_inode->i_mapping);
+		filemap_invalidate_unlock(bdev_inode(bdev)->i_mapping);
 
 	return ret;
 }
diff --git a/block/fops.c b/block/fops.c
index 0abaac705daf..45ee180448ed 100644
--- a/block/fops.c
+++ b/block/fops.c
@@ -605,7 +605,7 @@ static int blkdev_open(struct inode *inode, struct file *filp)
 	if (bdev_nowait(handle->bdev))
 		filp->f_mode |= FMODE_NOWAIT;
 
-	filp->f_mapping = handle->bdev->bd_inode->i_mapping;
+	filp->f_mapping = bdev_inode(handle->bdev)->i_mapping;
 	filp->f_wb_err = filemap_sample_wb_err(filp->f_mapping);
 	filp->private_data = handle;
 	return 0;
@@ -657,7 +657,7 @@ static ssize_t blkdev_write_iter(struct kiocb *iocb, struct iov_iter *from)
 {
 	struct file *file = iocb->ki_filp;
 	struct block_device *bdev = I_BDEV(file->f_mapping->host);
-	struct inode *bd_inode = bdev->bd_inode;
+	struct inode *bd_inode = bdev_inode(bdev);
 	loff_t size = bdev_nr_bytes(bdev);
 	size_t shorted = 0;
 	ssize_t ret;
diff --git a/block/genhd.c b/block/genhd.c
index c9d06f72c587..643936a47547 100644
--- a/block/genhd.c
+++ b/block/genhd.c
@@ -653,7 +653,7 @@ void del_gendisk(struct gendisk *disk)
 	 */
 	mutex_lock(&disk->open_mutex);
 	xa_for_each(&disk->part_tbl, idx, part)
-		remove_inode_hash(part->bd_inode);
+		remove_inode_hash(bdev_inode(part));
 	mutex_unlock(&disk->open_mutex);
 
 	/*
@@ -742,7 +742,7 @@ void invalidate_disk(struct gendisk *disk)
 	struct block_device *bdev = disk->part0;
 
 	invalidate_bdev(bdev);
-	bdev->bd_inode->i_mapping->wb_err = 0;
+	bdev_inode(bdev)->i_mapping->wb_err = 0;
 	set_capacity(disk, 0);
 }
 EXPORT_SYMBOL(invalidate_disk);
@@ -1188,7 +1188,7 @@ static void disk_release(struct device *dev)
 	if (test_bit(GD_ADDED, &disk->state) && disk->fops->free_disk)
 		disk->fops->free_disk(disk);
 
-	iput(disk->part0->bd_inode);	/* frees the disk */
+	iput(bdev_inode(disk->part0));	/* frees the disk */
 }
 
 static int block_uevent(const struct device *dev, struct kobj_uevent_env *env)
@@ -1378,7 +1378,7 @@ struct gendisk *__alloc_disk_node(struct request_queue *q, int node_id,
 out_destroy_part_tbl:
 	xa_destroy(&disk->part_tbl);
 	disk->part0->bd_disk = NULL;
-	iput(disk->part0->bd_inode);
+	iput(bdev_inode(disk->part0));
 out_free_bdi:
 	bdi_put(disk->bdi);
 out_free_bioset:
diff --git a/block/ioctl.c b/block/ioctl.c
index 4160f4e6bd5b..185336f3d4f2 100644
--- a/block/ioctl.c
+++ b/block/ioctl.c
@@ -89,7 +89,7 @@ static int blk_ioctl_discard(struct block_device *bdev, blk_mode_t mode,
 {
 	uint64_t range[2];
 	uint64_t start, len;
-	struct inode *inode = bdev->bd_inode;
+	struct inode *inode = bdev_inode(bdev);
 	int err;
 
 	if (!(mode & BLK_OPEN_WRITE))
@@ -143,12 +143,12 @@ static int blk_ioctl_secure_erase(struct block_device *bdev, blk_mode_t mode,
 	if (start + len > bdev_nr_bytes(bdev))
 		return -EINVAL;
 
-	filemap_invalidate_lock(bdev->bd_inode->i_mapping);
+	filemap_invalidate_lock(bdev_inode(bdev)->i_mapping);
 	err = truncate_bdev_range(bdev, mode, start, start + len - 1);
 	if (!err)
 		err = blkdev_issue_secure_erase(bdev, start >> 9, len >> 9,
 						GFP_KERNEL);
-	filemap_invalidate_unlock(bdev->bd_inode->i_mapping);
+	filemap_invalidate_unlock(bdev_inode(bdev)->i_mapping);
 	return err;
 }
 
@@ -158,7 +158,7 @@ static int blk_ioctl_zeroout(struct block_device *bdev, blk_mode_t mode,
 {
 	uint64_t range[2];
 	uint64_t start, end, len;
-	struct inode *inode = bdev->bd_inode;
+	struct inode *inode = bdev_inode(bdev);
 	int err;
 
 	if (!(mode & BLK_OPEN_WRITE))
diff --git a/block/partitions/core.c b/block/partitions/core.c
index f47ffcfdfcec..ac678c340e19 100644
--- a/block/partitions/core.c
+++ b/block/partitions/core.c
@@ -243,7 +243,7 @@ static const struct attribute_group *part_attr_groups[] = {
 static void part_release(struct device *dev)
 {
 	put_disk(dev_to_bdev(dev)->bd_disk);
-	iput(dev_to_bdev(dev)->bd_inode);
+	iput(bdev_inode(dev_to_bdev(dev)));
 }
 
 static int part_uevent(const struct device *dev, struct kobj_uevent_env *env)
@@ -483,7 +483,7 @@ int bdev_del_partition(struct gendisk *disk, int partno)
 	 * Just delete the partition and invalidate it.
 	 */
 
-	remove_inode_hash(part->bd_inode);
+	remove_inode_hash(bdev_inode(part));
 	invalidate_bdev(part);
 	drop_partition(part);
 	ret = 0;
@@ -669,7 +669,7 @@ int bdev_disk_changed(struct gendisk *disk, bool invalidate)
 		 * it cannot be looked up any more even when openers
 		 * still hold references.
 		 */
-		remove_inode_hash(part->bd_inode);
+		remove_inode_hash(bdev_inode(part));
 
 		/*
 		 * If @disk->open_partitions isn't elevated but there's
@@ -718,7 +718,8 @@ EXPORT_SYMBOL_GPL(bdev_disk_changed);
 
 void *read_part_sector(struct parsed_partitions *state, sector_t n, Sector *p)
 {
-	struct address_space *mapping = state->disk->part0->bd_inode->i_mapping;
+	struct address_space *mapping =
+			bdev_inode(state->disk->part0)->i_mapping;
 	struct folio *folio;
 
 	if (n >= get_capacity(state->disk)) {
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h
index 06de8393dcd1..e9baebe53b2a 100644
--- a/include/linux/blk_types.h
+++ b/include/linux/blk_types.h
@@ -50,8 +50,7 @@ struct block_device {
 	bool			bd_has_submit_bio;
 	dev_t			bd_dev;
 	atomic_t		bd_openers;
-	spinlock_t		bd_size_lock; /* for bd_inode->i_size updates */
-	struct inode *		bd_inode;	/* will die */
+	spinlock_t		bd_size_lock; /* for i_size updates */
 	void *			bd_claiming;
 	void *			bd_holder;
 	const struct blk_holder_ops *bd_holder_ops;
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 51fa7ffdee83..ef625ebefc7d 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -211,7 +211,7 @@ struct gendisk {
 
 static inline bool disk_live(struct gendisk *disk)
 {
-	return !inode_unhashed(disk->part0->bd_inode);
+	return !inode_unhashed(bdev_inode(disk->part0));
 }
 
 /**
@@ -1339,7 +1339,7 @@ static inline unsigned int blksize_bits(unsigned int size)
 
 static inline unsigned int block_size(struct block_device *bdev)
 {
-	return 1 << bdev->bd_inode->i_blkbits;
+	return 1 << bdev_inode(bdev)->i_blkbits;
 }
 
 int kblockd_schedule_work(struct work_struct *work);
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:48:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:48:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641608.1000288 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7VQ6-0003yh-4Q; Mon, 27 Nov 2023 06:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641608.1000288; Mon, 27 Nov 2023 06:48: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 1r7VQ6-0003ya-1L; Mon, 27 Nov 2023 06:48:38 +0000
Received: by outflank-mailman (input) for mailman id 641608;
 Mon, 27 Nov 2023 06:48: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=E76h=HI=ftp.linux.org.uk=viro@srs-se1.protection.inumbo.net>)
 id 1r7VQ3-0003yU-TK
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:48:36 +0000
Received: from zeniv.linux.org.uk (zeniv.linux.org.uk
 [2a03:a000:7:0:5054:ff:fe1c:15ff])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fbedde74-8cf0-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 07:48:34 +0100 (CET)
Received: from viro by zeniv.linux.org.uk with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1r7VP7-003r7k-26; Mon, 27 Nov 2023 06:47: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
X-Inumbo-ID: fbedde74-8cf0-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=linux.org.uk; s=zeniv-20220401; h=Sender:In-Reply-To:Content-Type:
	MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=PRdjsHwBJnTnCFJ6KWMNGkw3R1XwKUQdbL+BMJT0K70=; b=X33IAizBXxOu44K+tKNOQcX6aN
	L3R58WnMzMuH49yXIvG7omqQGa3O2DELuiG9T0RDZfJfL9RxoTFv7kUL42tZGssHxvodfBhu53zAl
	oziCAbD1I4rfcGgYF7+pmO1j4z7VlfcJSt54k/bu5RznWMw8UGAKzI85OeNE+/rj2cbLblF4OE6VJ
	eTO7WwvbpkhSAH2j8YC9xxeFsHPww+97YyGIXXbr6H0E8B8/2bjSezQMUryHuqSaucYpxVB9Oms42
	fJOuOXLDq1bOpbdO9PADT2+G/2FCegqrb+HsEfhKX3cA8yGKyYkW0zp9+6loKz3FcpZ/JElMbJsDK
	wQbg0j1Q==;
Date: Mon, 27 Nov 2023 06:47:37 +0000
From: Al Viro <viro@zeniv.linux.org.uk>
To: Yu Kuai <yukuai1@huaweicloud.com>
Cc: hch@infradead.org, ming.lei@redhat.com, axboe@kernel.dk,
	roger.pau@citrix.com, colyli@suse.de, kent.overstreet@gmail.com,
	joern@lazybastard.org, miquel.raynal@bootlin.com, richard@nod.at,
	vigneshr@ti.com, sth@linux.ibm.com, hoeppner@linux.ibm.com,
	hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com,
	jejb@linux.ibm.com, martin.petersen@oracle.com, clm@fb.com,
	josef@toxicpanda.com, dsterba@suse.com, brauner@kernel.org,
	nico@fluxnic.net, xiang@kernel.org, chao@kernel.org, tytso@mit.edu,
	adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
	konishi.ryusuke@gmail.com, dchinner@redhat.com,
	linux@weissschuh.net, min15.li@samsung.com, yukuai3@huawei.com,
	dlemoal@kernel.org, willy@infradead.org, akpm@linux-foundation.org,
	hare@suse.de, p.raghav@samsung.com, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org, gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org, yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: Re: [PATCH block/for-next v2 00/16] block: remove field 'bd_inode'
 from block_device
Message-ID: <20231127064737.GH38156@ZenIV>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
Sender: Al Viro <viro@ftp.linux.org.uk>

On Mon, Nov 27, 2023 at 02:21:00PM +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> Changes in v2:
>  - split different portions into different patches, as greg k-h
>  suggested.
>  - use container_of() instead of "bdev + 1" to get the address of
>  bd_inode in the new helper, as grep k-h suggested.

You might have misinterpreted gregkh - in your place I would rather
do a one-patch never-rebased branch (introduction of bdev_inode() in
form that returns bdev->bd_inode), with followup in your branch that
switches it to your variant.  Then conversions of ->bd_inode users,
to be either picked by individual filesystems of staying in your branch.
Any filesystem tree could merge from your never-rebased branch, after
which they could switch their ->bd_inode uses to the new helper, without
introducing any bisection hazards or interdependencies.
After the next -rc1, once all ->bd_inode users are gone from the tree -
remove the field.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:50:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:50:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641610.1000299 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7VRY-0005LO-GB; Mon, 27 Nov 2023 06:50:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641610.1000299; Mon, 27 Nov 2023 06:50: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 1r7VRY-0005LH-Bp; Mon, 27 Nov 2023 06:50:08 +0000
Received: by outflank-mailman (input) for mailman id 641610;
 Mon, 27 Nov 2023 06:50: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=gtR5=HI=linux.dev=kent.overstreet@srs-se1.protection.inumbo.net>)
 id 1r7VRW-0005GH-F8
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 06:50:07 +0000
Received: from out-185.mta0.migadu.com (out-185.mta0.migadu.com
 [2001:41d0:1004:224b::b9])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 315242b8-8cf1-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 07:50:04 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 315242b8-8cf1-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 01:49:53 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1701067801;
	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=HkjYQiNIVrfX2OBhuLTiiwzS64/a/ylKVqG71mkDtoA=;
	b=DL1ZcP/KviDDoXIKv0QIFRLZT2BpMmMrebGvWHdGh9aTKtxpmaDswg71Y2nAKp49rM9zFi
	oCfHCq5KhNQGYzCFdxPL2IiRC5e4TQlt44fRgVAiZlc1g3fzyjxEcQWPI04lYpzGeBzudu
	z+mDuhqyi808TBjcj4dzEHnQIZ2UEX0=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Yu Kuai <yukuai1@huaweicloud.com>
Cc: hch@infradead.org, ming.lei@redhat.com, axboe@kernel.dk,
	roger.pau@citrix.com, colyli@suse.de, kent.overstreet@gmail.com,
	joern@lazybastard.org, miquel.raynal@bootlin.com, richard@nod.at,
	vigneshr@ti.com, sth@linux.ibm.com, hoeppner@linux.ibm.com,
	hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com,
	jejb@linux.ibm.com, martin.petersen@oracle.com, clm@fb.com,
	josef@toxicpanda.com, dsterba@suse.com, viro@zeniv.linux.org.uk,
	brauner@kernel.org, nico@fluxnic.net, xiang@kernel.org,
	chao@kernel.org, tytso@mit.edu, adilger.kernel@dilger.ca,
	agruenba@redhat.com, jack@suse.com, konishi.ryusuke@gmail.com,
	dchinner@redhat.com, linux@weissschuh.net, min15.li@samsung.com,
	yukuai3@huawei.com, dlemoal@kernel.org, willy@infradead.org,
	akpm@linux-foundation.org, hare@suse.de, p.raghav@samsung.com,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org, linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev, linux-nilfs@vger.kernel.org,
	yi.zhang@huawei.com, yangerkun@huawei.com
Subject: Re: [PATCH block/for-next v2 07/16] bcachefs: use new helper to get
 inode from block_device
Message-ID: <20231127064953.uo7bf2o62nroyjxs@moria.home.lan>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-8-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231127062116.2355129-8-yukuai1@huaweicloud.com>
X-Migadu-Flow: FLOW_OUT

On Mon, Nov 27, 2023 at 02:21:07PM +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> Which is more efficiency, and also prepare to remove the field
> 'bd_inode' from block_device.
> 
> Signed-off-by: Yu Kuai <yukuai3@huawei.com>

Acked-by: Kent Overstreet <kent.overstreet@linux.dev>

> ---
>  fs/bcachefs/util.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h
> index 2984b57b2958..fe7ccb3a3517 100644
> --- a/fs/bcachefs/util.h
> +++ b/fs/bcachefs/util.h
> @@ -518,7 +518,7 @@ int bch2_bio_alloc_pages(struct bio *, size_t, gfp_t);
>  
>  static inline sector_t bdev_sectors(struct block_device *bdev)
>  {
> -	return bdev->bd_inode->i_size >> 9;
> +	return bdev_inode(bdev)->i_size >> 9;
>  }
>  
>  #define closure_bio_submit(bio, cl)					\
> -- 
> 2.39.2
> 


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 06:54:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 06:54:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641613.1000309 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7VVV-0005xx-Vi; Mon, 27 Nov 2023 06:54:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641613.1000309; Mon, 27 Nov 2023 06: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 1r7VVV-0005xq-RL; Mon, 27 Nov 2023 06:54:13 +0000
Received: by outflank-mailman (input) for mailman id 641613;
 Mon, 27 Nov 2023 06:54: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 1r7VVT-0005xZ-Rp; Mon, 27 Nov 2023 06:54: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 1r7VVT-0005bu-Mz; Mon, 27 Nov 2023 06:54: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 1r7VVT-00081n-45; Mon, 27 Nov 2023 06:54:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7VVT-0004qs-3d; Mon, 27 Nov 2023 06:54: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=yQHD5/BwsoaU++MmMLgt4bPFhSsi2kSV+c0onakAJC0=; b=CYxLejwIpYn0mCrxha63Ry6f5W
	TWKoy7zVDmwdrNJyqwctOOcN8UevUGC+9iczfNFrOMHVuap7wdKopK3wxl1hs0mdmaoF8mZyYDfL0
	Y8764dSVcluAXof6y08chPUU9euLctVL0eRViVwyJG7zpS1vF5qmbNa5q9l8rZ696agc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183865-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183865: trouble: blocked/broken
X-Osstest-Failures:
    linux-linus:build-amd64:<job status>:broken:regression
    linux-linus:build-amd64-pvops:<job status>:broken:regression
    linux-linus:build-amd64-xsm:<job status>:broken:regression
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64-xsm:<job status>:broken:regression
    linux-linus:build-armhf:<job status>:broken:regression
    linux-linus:build-armhf-pvops:<job status>:broken:regression
    linux-linus:build-i386:<job status>:broken:regression
    linux-linus:build-i386-pvops:<job status>:broken:regression
    linux-linus:build-i386-xsm:<job status>:broken:regression
    linux-linus:build-i386-xsm:host-install(4):broken:regression
    linux-linus:build-i386-pvops:host-install(4):broken:regression
    linux-linus:build-i386:host-install(4):broken:regression
    linux-linus:build-arm64:host-install(4):broken:regression
    linux-linus:build-arm64-pvops:host-install(4):broken:regression
    linux-linus:build-arm64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64:host-install(4):broken:regression
    linux-linus:build-amd64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64-pvops:host-install(4):broken:regression
    linux-linus:build-armhf-pvops:host-install(4):broken:regression
    linux-linus:build-armhf:host-install(4):broken:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    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-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    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:build-arm64-libvirt: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:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:build-i386-libvirt: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-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=d2da77f431ac49b5763b88751a75f70daa46296c
X-Osstest-Versions-That:
    linux=b46ae77f67874918c540feb1e37a63308b2c9290
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Nov 2023 06:54:11 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 183859
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 183859
 build-i386                    4 host-install(4)        broken REGR. vs. 183859
 build-arm64                   4 host-install(4)        broken REGR. vs. 183859
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-amd64                   4 host-install(4)        broken REGR. vs. 183859
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-armhf                   4 host-install(4)        broken REGR. vs. 183859

Tests which did not succeed, but are not blocking:
 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-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-examine      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           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 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
 build-arm64-libvirt           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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 build-i386-libvirt            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-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 linux                d2da77f431ac49b5763b88751a75f70daa46296c
baseline version:
 linux                b46ae77f67874918c540feb1e37a63308b2c9290

Last test of basis   183859  2023-11-25 22:13:34 Z    1 days
Failing since        183862  2023-11-26 04:55:31 Z    1 days    3 attempts
Testing same since   183864  2023-11-26 18:41:56 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Andrea della Porta <andrea.porta@suse.com>
  Andrew Halaney <ahalaney@redhat.com>
  Asuna Yang <SpriteOvO@gmail.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dapeng Mi <dapeng1.mi@linux.intel.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hans de Goede <hdegoede@redhat.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Heikki Krogeus <heikki.krogerus@linux.intel.com>
  Helge Deller <deller@gmx.de>
  Ingo Molnar <mingo@kernel.org>
  Ivan Ivanov <ivan.ivanov@suse.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lech Perczak <lech.perczak@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Matthias Kaehlcke <mka@chromium.org>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Niklas Neronin <niklas.neronin@linux.intel.com>
  Oliver Neukum <oneukum@suse.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pawel Laszczak <pawell@cadence.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Puliang Lu <puliang.lu@fibocom.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Ritvik Budhiraja <rbudhiraja@microsoft.com>
  Shawn Guo <shawn.guo@linaro.org>
  Stanley Chang <stanley_chang@realtek.com>
  Stefan Eichenberger <stefan.eichenberger@toradex.com>
  Steve French <stfrench@microsoft.com>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Victor Fragoso <victorffs@hotmail.com>
  Wentong Wu <wentong.wu@intel.com>
  Will McVicker <willmcvicker@google.com>
  Yangyu Chen <cyy@cyyself.name>

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-arm64                                                  broken  
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 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                                 blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 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                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 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                                     blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 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                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-amd64-xl-vhd                                      blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-xsm host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-i386 host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:10:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:10:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641621.1000318 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Vko-0000Ee-CH; Mon, 27 Nov 2023 07:10:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641621.1000318; Mon, 27 Nov 2023 07: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 1r7Vko-0000E2-9c; Mon, 27 Nov 2023 07:10:02 +0000
Received: by outflank-mailman (input) for mailman id 641621;
 Mon, 27 Nov 2023 07:10: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=ve7u=HI=kernel.org=dlemoal@srs-se1.protection.inumbo.net>)
 id 1r7Vkm-0008VY-UY
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:10:00 +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 f999a5d1-8cf3-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 08:09:59 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id EF79F60917;
 Mon, 27 Nov 2023 07:09:57 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 996CFC433C7;
 Mon, 27 Nov 2023 07:09: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: f999a5d1-8cf3-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701068997;
	bh=rnicohsvfFaSTeb42azhK+SpajDI1T+vJboqkZ88aAw=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=VRPuFgHzyDdTKsrT6v2s4trEAs1zQA4cvx634pNpuoQtKkSCdvaCJbelneF1Ip3l4
	 3R2XpX9ULxFTLpvYZKC+OlVq1tQIg76lPle5uK1IXkDVPKpxfksILf6SRdY2YXiVx8
	 +7dKkjw2ixB7N6vQIrVxt9xKL7YlIHvL3xsDc8NMjznTj873bGKZp7GuQibnlnSWQy
	 ysSVDOissl1B8bF0lV/M0VJ7ULdDRCNYUqiH8Y50kpQs3OK75m1qeIPmc8MbFbLlTF
	 UDMB8ntMGz+OWj0fdv08z2PCWBrrlD9/8Y+uzFUqcbmYmX6+lodrokeIPhbDBGbkVC
	 Bn0mDn1QrfPEw==
Message-ID: <d3b87b87-2ca7-43ca-9fb4-ee3696561eb5@kernel.org>
Date: Mon, 27 Nov 2023 16:09:47 +0900
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH block/for-next v2 07/16] bcachefs: use new helper to get
 inode from block_device
To: Yu Kuai <yukuai1@huaweicloud.com>, hch@infradead.org,
 ming.lei@redhat.com, axboe@kernel.dk, roger.pau@citrix.com, colyli@suse.de,
 kent.overstreet@gmail.com, joern@lazybastard.org, miquel.raynal@bootlin.com,
 richard@nod.at, vigneshr@ti.com, sth@linux.ibm.com, hoeppner@linux.ibm.com,
 hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com,
 jejb@linux.ibm.com, martin.petersen@oracle.com, clm@fb.com,
 josef@toxicpanda.com, dsterba@suse.com, viro@zeniv.linux.org.uk,
 brauner@kernel.org, nico@fluxnic.net, xiang@kernel.org, chao@kernel.org,
 tytso@mit.edu, adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
 konishi.ryusuke@gmail.com, dchinner@redhat.com, linux@weissschuh.net,
 min15.li@samsung.com, yukuai3@huawei.com, willy@infradead.org,
 akpm@linux-foundation.org, hare@suse.de, p.raghav@samsung.com
Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
 linux-mtd@lists.infradead.org, linux-s390@vger.kernel.org,
 linux-scsi@vger.kernel.org, linux-bcachefs@vger.kernel.org,
 linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
 linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
 gfs2@lists.linux.dev, linux-nilfs@vger.kernel.org, yi.zhang@huawei.com,
 yangerkun@huawei.com
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-8-yukuai1@huaweicloud.com>
Content-Language: en-US
From: Damien Le Moal <dlemoal@kernel.org>
Organization: Western Digital Research
In-Reply-To: <20231127062116.2355129-8-yukuai1@huaweicloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/27/23 15:21, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> Which is more efficiency, and also prepare to remove the field
> 'bd_inode' from block_device.
> 
> Signed-off-by: Yu Kuai <yukuai3@huawei.com>
> ---
>  fs/bcachefs/util.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h
> index 2984b57b2958..fe7ccb3a3517 100644
> --- a/fs/bcachefs/util.h
> +++ b/fs/bcachefs/util.h
> @@ -518,7 +518,7 @@ int bch2_bio_alloc_pages(struct bio *, size_t, gfp_t);
>  
>  static inline sector_t bdev_sectors(struct block_device *bdev)
>  {
> -	return bdev->bd_inode->i_size >> 9;
> +	return bdev_inode(bdev)->i_size >> 9;

shouldn't this use i_size_read() ?

I missed the history with this but why not use bdev_nr_sectors() and delete this
helper ?

>  }
>  
>  #define closure_bio_submit(bio, cl)					\

-- 
Damien Le Moal
Western Digital Research



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:22:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:22:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641624.1000330 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Vwt-0002zC-I6; Mon, 27 Nov 2023 07:22:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641624.1000330; Mon, 27 Nov 2023 07:22: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 1r7Vwt-0002z5-CZ; Mon, 27 Nov 2023 07:22:31 +0000
Received: by outflank-mailman (input) for mailman id 641624;
 Mon, 27 Nov 2023 07:22: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=sMaF=HI=bombadil.srs.infradead.org=BATV+6fdacddc1aa5db9ef0e1+7400+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1r7Vws-0002yz-Go
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:22:31 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b72048e0-8cf5-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 08:22:28 +0100 (CET)
Received: from hch by bombadil.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1r7Vvt-001iAl-0W; Mon, 27 Nov 2023 07: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: b72048e0-8cf5-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=bbFcmB19INmvUTx5j+M9jRyJXBnU+PmCLplmYes7xKg=; b=HmhTUB6Bgh7OnZuv3MNiTVnfXC
	c22YIG8T5br8hsKMu41mjZ9/cx++C8wVTWDYSvUAH36xMkip5/yiTG260lY2rrIM/r+C0G+isp9uF
	etkeNOURS8fQD6aPmSdyzSSGKWF+pTqcC1ZGT7oZVvUTVk9QpHYUf0FBUrJw19CADdPVngmSrijuO
	IOMUdcJcEkdHTqMAdFx1L+mfGJd3fWDG081TsGYrqYpe4ADrF5w0LuzxW+1HqJjso+aXzjyCht+N2
	tYj8ta2d171C20L5JBM/BAzza5S6Fp5sV5ukto8ZE9jI63+MJW0c2xIdTP/sw0+cxDdqp7qdN9Sak
	f2DjTQ3g==;
Date: Sun, 26 Nov 2023 23:21:29 -0800
From: Christoph Hellwig <hch@infradead.org>
To: Yu Kuai <yukuai1@huaweicloud.com>
Cc: hch@infradead.org, ming.lei@redhat.com, axboe@kernel.dk,
	roger.pau@citrix.com, colyli@suse.de, kent.overstreet@gmail.com,
	joern@lazybastard.org, miquel.raynal@bootlin.com, richard@nod.at,
	vigneshr@ti.com, sth@linux.ibm.com, hoeppner@linux.ibm.com,
	hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com,
	jejb@linux.ibm.com, martin.petersen@oracle.com, clm@fb.com,
	josef@toxicpanda.com, dsterba@suse.com, viro@zeniv.linux.org.uk,
	brauner@kernel.org, nico@fluxnic.net, xiang@kernel.org,
	chao@kernel.org, tytso@mit.edu, adilger.kernel@dilger.ca,
	agruenba@redhat.com, jack@suse.com, konishi.ryusuke@gmail.com,
	dchinner@redhat.com, linux@weissschuh.net, min15.li@samsung.com,
	yukuai3@huawei.com, dlemoal@kernel.org, willy@infradead.org,
	akpm@linux-foundation.org, hare@suse.de, p.raghav@samsung.com,
	linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
	linux-mtd@lists.infradead.org, linux-s390@vger.kernel.org,
	linux-scsi@vger.kernel.org, linux-bcachefs@vger.kernel.org,
	linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
	gfs2@lists.linux.dev, linux-nilfs@vger.kernel.org,
	yi.zhang@huawei.com, yangerkun@huawei.com
Subject: Re: [PATCH block/for-next v2 01/16] block: add a new helper to get
 inode from block_device
Message-ID: <ZWRDeQ4K8BiYnV+X@infradead.org>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-2-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231127062116.2355129-2-yukuai1@huaweicloud.com>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

On Mon, Nov 27, 2023 at 02:21:01PM +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> block_devcie is allocated from bdev_alloc() by bdev_alloc_inode(), and
> currently block_device contains a pointer that point to the address of
> inode, while such inode is allocated together:

This is going the wrong way.  Nothing outside of core block layer code
should ever directly use the bdev inode.  We've been rather sloppy
and added a lot of direct reference to it, but they really need to
go away and be replaced with well defined high level operation on
struct block_device.  Once that is done we can remove the bd_inode
pointer, but replacing it with something that pokes even more deeply
into bdev internals is a bad idea.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:24:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:24:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641626.1000338 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Vyf-0003WF-R5; Mon, 27 Nov 2023 07:24:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641626.1000338; Mon, 27 Nov 2023 07:24: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 1r7Vyf-0003W8-Oa; Mon, 27 Nov 2023 07:24:21 +0000
Received: by outflank-mailman (input) for mailman id 641626;
 Mon, 27 Nov 2023 07:24: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=gtR5=HI=linux.dev=kent.overstreet@srs-se1.protection.inumbo.net>)
 id 1r7Vye-0003Vm-72
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:24:20 +0000
Received: from out-178.mta0.migadu.com (out-178.mta0.migadu.com
 [91.218.175.178]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f976a16d-8cf5-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 08:24:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f976a16d-8cf5-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 02:24:09 -0500
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1;
	t=1701069856;
	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=sJC7JnCdDMwVJE2Gwk1C0vFk6Py1BaDljTucatOpxXs=;
	b=kgGJDb1VLCucuD5e2hQjWQ+XC++egZdZLhAJ5iSZ9utvVrf0CyMvQhrYx/JyB6n/L7fH3e
	GiEbFbqY39IEtBXghxm0L08GSy6BnG8399HEFLMWDdDhP3apLoaek5QzUTk74RqX4T/nLt
	6aKmIt20r4fDMRbnYCLJEPsYwvQ8600=
X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers.
From: Kent Overstreet <kent.overstreet@linux.dev>
To: Damien Le Moal <dlemoal@kernel.org>
Cc: Yu Kuai <yukuai1@huaweicloud.com>, hch@infradead.org,
	ming.lei@redhat.com, axboe@kernel.dk, roger.pau@citrix.com,
	colyli@suse.de, kent.overstreet@gmail.com, joern@lazybastard.org,
	miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com,
	sth@linux.ibm.com, hoeppner@linux.ibm.com, hca@linux.ibm.com,
	gor@linux.ibm.com, agordeev@linux.ibm.com, jejb@linux.ibm.com,
	martin.petersen@oracle.com, clm@fb.com, josef@toxicpanda.com,
	dsterba@suse.com, viro@zeniv.linux.org.uk, brauner@kernel.org,
	nico@fluxnic.net, xiang@kernel.org, chao@kernel.org, tytso@mit.edu,
	adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
	konishi.ryusuke@gmail.com, dchinner@redhat.com,
	linux@weissschuh.net, min15.li@samsung.com, yukuai3@huawei.com,
	willy@infradead.org, akpm@linux-foundation.org, hare@suse.de,
	p.raghav@samsung.com, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org, gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org, yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: Re: [PATCH block/for-next v2 07/16] bcachefs: use new helper to get
 inode from block_device
Message-ID: <20231127072409.y22jkynrchm4tkd2@moria.home.lan>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-8-yukuai1@huaweicloud.com>
 <d3b87b87-2ca7-43ca-9fb4-ee3696561eb5@kernel.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <d3b87b87-2ca7-43ca-9fb4-ee3696561eb5@kernel.org>
X-Migadu-Flow: FLOW_OUT

On Mon, Nov 27, 2023 at 04:09:47PM +0900, Damien Le Moal wrote:
> On 11/27/23 15:21, Yu Kuai wrote:
> > From: Yu Kuai <yukuai3@huawei.com>
> > 
> > Which is more efficiency, and also prepare to remove the field
> > 'bd_inode' from block_device.
> > 
> > Signed-off-by: Yu Kuai <yukuai3@huawei.com>
> > ---
> >  fs/bcachefs/util.h | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h
> > index 2984b57b2958..fe7ccb3a3517 100644
> > --- a/fs/bcachefs/util.h
> > +++ b/fs/bcachefs/util.h
> > @@ -518,7 +518,7 @@ int bch2_bio_alloc_pages(struct bio *, size_t, gfp_t);
> >  
> >  static inline sector_t bdev_sectors(struct block_device *bdev)
> >  {
> > -	return bdev->bd_inode->i_size >> 9;
> > +	return bdev_inode(bdev)->i_size >> 9;
> 
> shouldn't this use i_size_read() ?
> 
> I missed the history with this but why not use bdev_nr_sectors() and delete this
> helper ?

Actually, this helper seems to be dead code.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:28:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:28:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641629.1000349 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7W2r-0004kd-Cn; Mon, 27 Nov 2023 07:28:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641629.1000349; Mon, 27 Nov 2023 07: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 1r7W2r-0004kW-9O; Mon, 27 Nov 2023 07:28:41 +0000
Received: by outflank-mailman (input) for mailman id 641629;
 Mon, 27 Nov 2023 07: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=YRKV=HI=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r7W2q-0004kO-Bw
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:28:40 +0000
Received: from pb-smtp2.pobox.com (pb-smtp2.pobox.com [64.147.108.71])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 93e22585-8cf6-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 08:28:37 +0100 (CET)
Received: from pb-smtp2.pobox.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 5DE171B90A1;
 Mon, 27 Nov 2023 02:28:36 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp2.nyi.icgroup.com (unknown [127.0.0.1])
 by pb-smtp2.pobox.com (Postfix) with ESMTP id 42BB81B90A0;
 Mon, 27 Nov 2023 02:28:36 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [188.163.75.13])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp2.pobox.com (Postfix) with ESMTPSA id 11A0D1B909F;
 Mon, 27 Nov 2023 02:28:34 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93e22585-8cf6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:mime-version:content-transfer-encoding;
	 s=sasl; bh=MYnPoETdUxJ/TLIQahbfyCUvdmhPJe4Jj/xrR19sxn8=; b=naLe
	HRVUaEVyY4Cj2bfm8V8NwMp8JxjoWOqgv9Y1bhFQ2w3j9MsnMCkq6D+ZYZKcENrQ
	4ev5eeXRb63XP63L+539B07m5El2vjVohkUBJ1qkwtIR/hx0VtoYgcF/4JzjUTE3
	WW/bXYP11rX+awLQTkQzu2KAabVi5s7B9yLF9oM=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org,
	Julien Grall <julien@xen.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Juergen Gross <jgross@suse.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: [RFC PATCH v1 0/5] ARM virtio-pci initial support
Date: Mon, 27 Nov 2023 09:27:49 +0200
Message-Id: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
X-Pobox-Relay-ID:
 92FC8734-8CF6-11EE-B193-25B3960A682E-90055647!pb-smtp2.pobox.com
Content-Transfer-Encoding: quoted-printable

Hi,
The next iteration of RFC series introducing support of PCI devices emula=
ted by Virtio=20
on ARM platform.

A guest system is presented with Virtio Host bridge device, through
which a number of emulated PCI devices (e.g. disk, network, graphic, audi=
o etc)
can work with corresponding guests' subsystems.

For that purpose we add a new "pci" virtio transport mechanism in xl
configuration, in addition to present "mmio" mechanism.

Suitable MMIO and IRQ ranges are reverved and guest's DT extended with PC=
I
(#INTA..#INTD) interrupt mappings.

For now only supported combination of backends is when both PCI Host brid=
ge
and all PCI devices behind it are emulated by the same single instance (i=
.e. Qemu).

The code was tested with QEMU backends, yet it aims to be extendable to s=
upport
stand-alone backends.

Initial series:

https://www.mail-archive.com/xen-devel@lists.xenproject.org/msg157743.htm=
l

Changes in v1:
  - one virtio-pci bus instead of two, hence cut reserved memory regions'=
 size by 2
  - drop the code to trap & forward MMIO access to IOREQ server, since we=
 can
    do without it in this series
  - better describe reserver resources' limits both in code & commit desc=
ription

 -Sergiy


Oleksandr Tyshchenko (5):
  libxl: Pass max_vcpus to Qemu in case of PVH domain (Arm) as well
  xen/public: arch-arm: reserve resources for virtio-pci
  libxl/arm: Add basic virtio-pci support
  libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices
  libxl: Add "backend_type" property for the Virtio devices

 docs/man/xl.cfg.5.pod.in          |  18 +-
 tools/libs/light/libxl_arm.c      | 351 ++++++++++++++++++++++++++++--
 tools/libs/light/libxl_create.c   |  18 +-
 tools/libs/light/libxl_dm.c       |  98 ++++++++-
 tools/libs/light/libxl_internal.h |   5 +
 tools/libs/light/libxl_types.idl  |  41 +++-
 tools/libs/light/libxl_virtio.c   | 119 ++++++++--
 tools/xl/xl_parse.c               |  39 ++++
 xen/include/public/arch-arm.h     |  26 +++
 9 files changed, 656 insertions(+), 59 deletions(-)

--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:29:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:29:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641630.1000358 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7W3E-000587-KF; Mon, 27 Nov 2023 07:29:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641630.1000358; Mon, 27 Nov 2023 07: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 1r7W3E-000580-Hf; Mon, 27 Nov 2023 07:29:04 +0000
Received: by outflank-mailman (input) for mailman id 641630;
 Mon, 27 Nov 2023 07:29: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=YRKV=HI=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r7W3D-0004kO-BF
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:29:03 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1998854-8cf6-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 08:29:01 +0100 (CET)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 0EDD41A518;
 Mon, 27 Nov 2023 02:28:59 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 064691A517;
 Mon, 27 Nov 2023 02:28:59 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [188.163.75.13])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id B2C721A516;
 Mon, 27 Nov 2023 02:28:55 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1998854-8cf6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=JxaNh5W5NVw14x6LTlh4LsUYY
	sXdhWV9cMoMNLEDhSM=; b=jqHc+rVh38HE5GawOxoTPLHXqGIuJB5IUfFZjkvlk
	QrKYYmSPtTgyO/nyWGDxNynmNVNDRmyij8vh+9KYzm8bozxS9T4J8X8Ue/JcRWZd
	vm9YB1UmiR9FGHbrURTvFaTOM+tc09UIwMbS7Q6bWRWLHP6JsFDI7P8qAMqUrPZo
	lw=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org,
	Julien Grall <julien@xen.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH v1 1/5] libxl: Pass max_vcpus to Qemu in case of PVH domain (Arm) as well
Date: Mon, 27 Nov 2023 09:27:50 +0200
Message-Id: <20231127072754.4045254-2-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
References: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 9F4C56C2-8CF6-11EE-888E-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

The number of vCPUs used for the IOREQ configuration (machine->smp.cpus)
should really match the system value as for each vCPU we setup a dedicate=
d
evtchn for the communication with Xen at the runtime. This is needed
for the IOREQ to be properly configured and work if the involved domain
has more than one vCPU assigned.

Note that Qemu should set mc->max_cpus to GUEST_MAX_VCPUS in
xen_arm_machine_class_init().

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 tools/libs/light/libxl_dm.c | 28 ++++++++++++++++------------
 1 file changed, 16 insertions(+), 12 deletions(-)

diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 14b593110f..0b2548d35b 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -1553,18 +1553,6 @@ static int libxl__build_device_model_args_new(libx=
l__gc *gc,
         if (!libxl__acpi_defbool_val(b_info)) {
             flexarray_append(dm_args, "-no-acpi");
         }
-        if (b_info->max_vcpus > 1) {
-            flexarray_append(dm_args, "-smp");
-            if (b_info->avail_vcpus.size) {
-                int nr_set_cpus =3D 0;
-                nr_set_cpus =3D libxl_bitmap_count_set(&b_info->avail_vc=
pus);
-
-                flexarray_append(dm_args, GCSPRINTF("%d,maxcpus=3D%d",
-                                                    nr_set_cpus,
-                                                    b_info->max_vcpus));
-            } else
-                flexarray_append(dm_args, GCSPRINTF("%d", b_info->max_vc=
pus));
-        }
         for (i =3D 0; i < num_nics; i++) {
             if (nics[i].nictype =3D=3D LIBXL_NIC_TYPE_VIF_IOEMU) {
                 char *smac =3D GCSPRINTF(LIBXL_MAC_FMT,
@@ -1800,6 +1788,22 @@ static int libxl__build_device_model_args_new(libx=
l__gc *gc,
     for (i =3D 0; b_info->extra && b_info->extra[i] !=3D NULL; i++)
         flexarray_append(dm_args, b_info->extra[i]);
=20
+    if (b_info->type =3D=3D LIBXL_DOMAIN_TYPE_HVM ||
+        b_info->type =3D=3D LIBXL_DOMAIN_TYPE_PVH) {
+        if (b_info->max_vcpus > 1) {
+            flexarray_append(dm_args, "-smp");
+            if (b_info->avail_vcpus.size) {
+                int nr_set_cpus =3D 0;
+                nr_set_cpus =3D libxl_bitmap_count_set(&b_info->avail_vc=
pus);
+
+                flexarray_append(dm_args, GCSPRINTF("%d,maxcpus=3D%d",
+                                                    nr_set_cpus,
+                                                    b_info->max_vcpus));
+            } else
+                flexarray_append(dm_args, GCSPRINTF("%d", b_info->max_vc=
pus));
+        }
+    }
+
     flexarray_append(dm_args, "-machine");
     switch (b_info->type) {
     case LIBXL_DOMAIN_TYPE_PVH:
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:29:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:29:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641632.1000369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7W3K-0005Sa-SR; Mon, 27 Nov 2023 07:29:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641632.1000369; Mon, 27 Nov 2023 07:29: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 1r7W3K-0005ST-PY; Mon, 27 Nov 2023 07:29:10 +0000
Received: by outflank-mailman (input) for mailman id 641632;
 Mon, 27 Nov 2023 07:29: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=YRKV=HI=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r7W3J-0004kO-2v
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:29:09 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a553287b-8cf6-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 08:29:06 +0100 (CET)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 7EF7C1A51D;
 Mon, 27 Nov 2023 02:29:05 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 776291A51C;
 Mon, 27 Nov 2023 02:29:05 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [188.163.75.13])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id 128D41A51B;
 Mon, 27 Nov 2023 02:29:02 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a553287b-8cf6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=9JyQs8aYabTMI9rypcTcqg0D+
	zlsuPF150pLvMUKNLw=; b=DCK0JzAdWuHs1rJw6rdFhZXTTx+y09Sde575U9o9D
	c1vo+MFHq4+UipolP1yjlwaL3SNujaTI9u78ApAaTYtTJlDPgG9iWz3CfHNf8p+j
	RRoiTImhqgE3GQ/dVeeJDQQpHN4BFtys47iFD92c7bw9HMClp5w3ujuFblKwUz81
	/c=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org,
	Julien Grall <julien@xen.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Juergen Gross <jgross@suse.com>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH v1 2/5] xen/public: arch-arm: reserve resources for virtio-pci
Date: Mon, 27 Nov 2023 09:27:51 +0200
Message-Id: <20231127072754.4045254-3-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
References: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 A314BB46-8CF6-11EE-98F6-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

In order to enable more use-cases such as having multiple
device-models (Qemu) running in different backend domains which provide
virtio-pci devices for the same guest, we allocate and expose one
PCI host bridge for every virtio backend domain for that guest.

For that purpose we reserve separate virtio-pci resources (memory and SPI=
 range
for Legacy PCI interrupts) for up to 8 possible PCI host bridges
(to be aligned with MAX_NR_IOREQ_SERVERS) and allocate one host bridge pe=
r
backend domain. We'll need at most 32 interrupts (INTA..INTD legacy PCI
interrupts per each of 8 host bridges), and at most 32MB of memory
(since as it was observed virtio-pci devices use up to 16KB each, this ca=
n
be different for physical PCI devices ofc).

The details of PCI host bridge (including its host_id)
are to be written to dedicated Xenstore node for the device-model to retr=
ieve.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 xen/include/public/arch-arm.h | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.=
h
index a25e87dbda..caa4e92b55 100644
--- a/xen/include/public/arch-arm.h
+++ b/xen/include/public/arch-arm.h
@@ -466,6 +466,28 @@ typedef uint64_t xen_callback_t;
 #define GUEST_VPCI_MEM_ADDR                 xen_mk_ullong(0x23000000)
 #define GUEST_VPCI_MEM_SIZE                 xen_mk_ullong(0x10000000)
=20
+/*
+ * 8 MB is reserved for virtio-pci configuration space based on calculat=
ion
+ * 8 bridges x 32 devices x 8 functions x 4 KB =3D 8 MB
+ */
+#define GUEST_VIRTIO_PCI_ECAM_BASE          xen_mk_ullong(0x33000000)
+#define GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE    xen_mk_ullong(0x00800000)
+#define GUEST_VIRTIO_PCI_HOST_ECAM_SIZE     xen_mk_ullong(0x00100000)
+
+/* 32 MB is reserved for virtio-pci memory based on calculation
+ * 8 bridges x 32 devices x 8 functions x 16 KB per virtio-pci device =3D=
 32 MB
+ */
+#define GUEST_VIRTIO_PCI_ADDR_TYPE_MEM    xen_mk_ullong(0x02000000)
+#define GUEST_VIRTIO_PCI_MEM_ADDR         xen_mk_ullong(0x33800000)
+#define GUEST_VIRTIO_PCI_MEM_SIZE         xen_mk_ullong(0x02000000)
+
+/* 32 MB is reserved for virtio-pci Prefetch memory based on calculation
+ * 8 bridges x 32 devices x 8 functions x 16 KB per virtio-pci device =3D=
 32 MB
+ */
+#define GUEST_VIRTIO_PCI_ADDR_TYPE_PREFETCH_MEM    xen_mk_ullong(0x42000=
000)
+#define GUEST_VIRTIO_PCI_PREFETCH_MEM_ADDR         xen_mk_ullong(0x35800=
000)
+#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE         xen_mk_ullong(0x02000=
000)
+
 /*
  * 16MB =3D=3D 4096 pages reserved for guest to use as a region to map i=
ts
  * grant table in.
@@ -515,6 +537,10 @@ typedef uint64_t xen_callback_t;
 #define GUEST_VIRTIO_MMIO_SPI_FIRST   33
 #define GUEST_VIRTIO_MMIO_SPI_LAST    43
=20
+/* 8 bridges x 4 #INTA..#INTD interrupts =3D 32 SPIs to reserve for virt=
io-pci */
+#define GUEST_VIRTIO_PCI_SPI_FIRST   44
+#define GUEST_VIRTIO_PCI_SPI_LAST    76
+
 /* PSCI functions */
 #define PSCI_cpu_suspend 0
 #define PSCI_cpu_off     1
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:29:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:29:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641633.1000379 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7W3S-0005pS-7z; Mon, 27 Nov 2023 07:29:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641633.1000379; Mon, 27 Nov 2023 07:29: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 1r7W3S-0005pJ-53; Mon, 27 Nov 2023 07:29:18 +0000
Received: by outflank-mailman (input) for mailman id 641633;
 Mon, 27 Nov 2023 07:29: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=YRKV=HI=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r7W3R-0005Pb-GN
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:29:17 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a927e4ff-8cf6-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 08:29:14 +0100 (CET)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id D12B61A520;
 Mon, 27 Nov 2023 02:29:11 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id B6CE61A51F;
 Mon, 27 Nov 2023 02:29:11 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [188.163.75.13])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id 0A6921A51E;
 Mon, 27 Nov 2023 02:29:07 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a927e4ff-8cf6-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=CbeTAHYGk50C0Qkwb6apv4tsO
	0V8YdHsdOnMVLhr/r0=; b=xWhj6BPsp3N9S19K57k/v1fh2zscMH5AGetvd+XPU
	FOm5uFAueJTD6M/C7Q22wu71dw0Ro8C49TpAdCY7J78Hqo/rJ2D/u9vc98l+4O4O
	wg1ptGK4eQT0lzz+V02jYv9xyFDy6w+XLXlEzOZxDs6ZTVmvA836rkuF2pbgRCEv
	i4=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org,
	Julien Grall <julien@xen.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH v1 3/5] libxl/arm: Add basic virtio-pci support
Date: Mon, 27 Nov 2023 09:27:52 +0200
Message-Id: <20231127072754.4045254-4-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
References: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 A6A2B34E-8CF6-11EE-8C37-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Introduce new transport mechanism "pci" for the Virtio device
and update parsing and configuration logic accordingly.

In order to enable more use-cases such as having multiple
device-models (Qemu) running in different backend domains which provide
virtio-pci devices for the same guest, we allocate and expose one
PCI host bridge for every virtio backend domain for that guest.

Also extend PCI Host bridge DT node exposed to the guest by adding
bindings for Legacy PCI interrupts (#INTA - #INTD).

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 docs/man/xl.cfg.5.pod.in          |   9 +-
 tools/libs/light/libxl_arm.c      | 287 ++++++++++++++++++++++++++++--
 tools/libs/light/libxl_create.c   |  18 +-
 tools/libs/light/libxl_dm.c       |  70 ++++++++
 tools/libs/light/libxl_internal.h |   5 +
 tools/libs/light/libxl_types.idl  |  34 +++-
 tools/libs/light/libxl_virtio.c   |  98 +++++++---
 tools/xl/xl_parse.c               |  36 ++++
 8 files changed, 507 insertions(+), 50 deletions(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 2e234b450e..0fba750815 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1616,8 +1616,13 @@ hexadecimal format, without the "0x" prefix and al=
l in lower case, like
=20
 =3Ditem B<transport=3DSTRING>
=20
-Specifies the transport mechanism for the Virtio device, only "mmio" is
-supported for now.
+Specifies the transport mechanism for the Virtio device, both "mmio" and=
 "pci"
+are supported. This option is mandatory.
+
+=3Ditem B<bdf=3DSTRING>
+
+The Virtio device with transport "pci" must be identified by its B<BDF>.
+See L<xl-pci-configuration(5)> for more details about the format for B<B=
DF>.
=20
 =3Ditem B<grant_usage=3DBOOLEAN>
=20
diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 1539191774..4789ee08d2 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -20,6 +20,11 @@
  */
 #define VIRTIO_MMIO_DEV_SIZE   xen_mk_ullong(0x200)
=20
+#define VIRTIO_PCI_HOST_MEM_SIZE            xen_mk_ullong(0x400000)
+#define VIRTIO_PCI_HOST_PREFETCH_MEM_SIZE   xen_mk_ullong(0x400000)
+#define VIRTIO_PCI_HOST_NUM_SPIS            4
+#define VIRTIO_PCI_MAX_HOSTS                8
+
 static uint64_t alloc_virtio_mmio_base(libxl__gc *gc, uint64_t *virtio_m=
mio_base)
 {
     uint64_t base =3D *virtio_mmio_base;
@@ -80,14 +85,101 @@ static const char *gicv_to_string(libxl_gic_version =
gic_version)
     }
 }
=20
+static int alloc_virtio_pci_host(libxl__gc *gc,
+                                 uint32_t backend_domid,
+                                 uint32_t *host_id,
+                                 unsigned int *num_hosts,
+                                 libxl_virtio_pci_host *hosts)
+{
+    unsigned int i;
+
+    BUILD_BUG_ON(VIRTIO_PCI_MAX_HOSTS !=3D
+                 GUEST_VIRTIO_PCI_TOTAL_ECAM_SIZE / GUEST_VIRTIO_PCI_HOS=
T_ECAM_SIZE);
+    BUILD_BUG_ON(VIRTIO_PCI_MAX_HOSTS !=3D
+                 GUEST_VIRTIO_PCI_MEM_SIZE / VIRTIO_PCI_HOST_MEM_SIZE);
+    BUILD_BUG_ON(VIRTIO_PCI_MAX_HOSTS !=3D
+                 GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE / VIRTIO_PCI_HOST_PR=
EFETCH_MEM_SIZE);
+    BUILD_BUG_ON(VIRTIO_PCI_MAX_HOSTS !=3D
+                 (GUEST_VIRTIO_PCI_SPI_LAST - GUEST_VIRTIO_PCI_SPI_FIRST=
) / VIRTIO_PCI_HOST_NUM_SPIS);
+
+    if (*num_hosts > VIRTIO_PCI_MAX_HOSTS)
+        return ERROR_INVAL;
+
+    for (i =3D 0; i < *num_hosts; i++) {
+        if (hosts[i].backend_domid =3D=3D backend_domid) {
+            *host_id =3D hosts[i].id;
+
+            LOG(DEBUG, "Reuse host #%u: "
+                        "ECAM: 0x%"PRIx64"-0x%"PRIx64" "
+                        "MEM: 0x%"PRIx64"-0x%"PRIx64" "
+                        "PREFETCH_MEM: 0x%"PRIx64"-0x%"PRIx64" "
+                        "IRQ: %u-%u",
+                        hosts[i].id,
+                        hosts[i].ecam_base,
+                        hosts[i].ecam_base + hosts[i].ecam_size - 1,
+                        hosts[i].mem_base,
+                        hosts[i].mem_base + hosts[i].mem_size - 1,
+                        hosts[i].prefetch_mem_base,
+                        hosts[i].prefetch_mem_base + hosts[i].prefetch_m=
em_size - 1,
+                        hosts[i].irq_first,
+                        hosts[i].irq_first + hosts[i].num_irqs - 1);
+
+            return 0;
+        }
+    }
+
+    if (i =3D=3D VIRTIO_PCI_MAX_HOSTS) {
+        LOG(ERROR, "Ran out of reserved resources for virtio-pci host\n"=
);
+        return ERROR_FAIL;
+    }
+
+    hosts[i].backend_domid =3D backend_domid;
+    hosts[i].id =3D i;
+    hosts[i].ecam_base =3D GUEST_VIRTIO_PCI_ECAM_BASE +
+        i * GUEST_VIRTIO_PCI_HOST_ECAM_SIZE;
+    hosts[i].ecam_size =3D GUEST_VIRTIO_PCI_HOST_ECAM_SIZE;
+    hosts[i].mem_base =3D GUEST_VIRTIO_PCI_MEM_ADDR +
+        i * VIRTIO_PCI_HOST_MEM_SIZE;
+    hosts[i].mem_size =3D VIRTIO_PCI_HOST_MEM_SIZE;
+    hosts[i].prefetch_mem_base =3D GUEST_VIRTIO_PCI_PREFETCH_MEM_ADDR +
+        i * VIRTIO_PCI_HOST_PREFETCH_MEM_SIZE;
+    hosts[i].prefetch_mem_size =3D VIRTIO_PCI_HOST_PREFETCH_MEM_SIZE;
+    hosts[i].irq_first =3D GUEST_VIRTIO_PCI_SPI_FIRST +
+        i * VIRTIO_PCI_HOST_NUM_SPIS;
+    hosts[i].num_irqs =3D VIRTIO_PCI_HOST_NUM_SPIS;
+
+    *host_id =3D hosts[i].id;
+
+    (*num_hosts)++;
+
+    LOG(DEBUG, "Allocate host #%u: "
+                "ECAM: 0x%"PRIx64"-0x%"PRIx64" "
+                "MEM: 0x%"PRIx64"-0x%"PRIx64" "
+                "PREFETCH_MEM: 0x%"PRIx64"-0x%"PRIx64" "
+                "IRQ: %u-%u",
+                hosts[i].id,
+                hosts[i].ecam_base,
+                hosts[i].ecam_base + hosts[i].ecam_size - 1,
+                hosts[i].mem_base,
+                hosts[i].mem_base + hosts[i].mem_size - 1,
+                hosts[i].prefetch_mem_base,
+                hosts[i].prefetch_mem_base + hosts[i].prefetch_mem_size =
- 1,
+                hosts[i].irq_first,
+                hosts[i].irq_first + hosts[i].num_irqs - 1);
+
+    return 0;
+}
+
 int libxl__arch_domain_prepare_config(libxl__gc *gc,
                                       libxl_domain_config *d_config,
                                       struct xen_domctl_createdomain *co=
nfig)
 {
     uint32_t nr_spis =3D 0;
     unsigned int i;
-    uint32_t vuart_irq, virtio_irq =3D 0;
-    bool vuart_enabled =3D false, virtio_enabled =3D false;
+    uint32_t vuart_irq, virtio_mmio_irq_last, virtio_pci_irq_last =3D 0;
+    bool vuart_enabled =3D false, virtio_mmio_enabled =3D false;
+    unsigned int num_virtio_pci_hosts =3D 0;
+    libxl_virtio_pci_host virtio_pci_hosts[VIRTIO_PCI_MAX_HOSTS] =3D {0}=
;
     uint64_t virtio_mmio_base =3D GUEST_VIRTIO_MMIO_BASE;
     uint32_t virtio_mmio_irq =3D GUEST_VIRTIO_MMIO_SPI_FIRST;
     int rc;
@@ -118,11 +210,17 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc=
,
     for (i =3D 0; i < d_config->num_virtios; i++) {
         libxl_device_virtio *virtio =3D &d_config->virtios[i];
=20
-        if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO)
-            continue;
-
-        rc =3D alloc_virtio_mmio_params(gc, &virtio->base, &virtio->irq,
-                                      &virtio_mmio_base, &virtio_mmio_ir=
q);
+        if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO) {
+            rc =3D alloc_virtio_pci_host(gc,
+                                       virtio->backend_domid,
+                                       &virtio->u.pci.host_id,
+                                       &num_virtio_pci_hosts,
+                                       virtio_pci_hosts);
+        } else {
+            rc =3D alloc_virtio_mmio_params(gc, &virtio->u.mmio.base,
+                                          &virtio->u.mmio.irq,
+                                          &virtio_mmio_base, &virtio_mmi=
o_irq);
+        }
=20
         if (rc)
             return rc;
@@ -134,14 +232,25 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc=
,
      * The resulting "nr_spis" needs to cover the highest possible SPI.
      */
     if (virtio_mmio_irq !=3D GUEST_VIRTIO_MMIO_SPI_FIRST) {
-        virtio_enabled =3D true;
+        virtio_mmio_enabled =3D true;
=20
         /*
          * Assumes that "virtio_mmio_irq" is the highest allocated irq, =
which is
          * updated from alloc_virtio_mmio_irq() currently.
          */
-        virtio_irq =3D virtio_mmio_irq - 1;
-        nr_spis =3D max(nr_spis, virtio_irq - 32 + 1);
+        virtio_mmio_irq_last =3D virtio_mmio_irq - 1;
+        nr_spis =3D max(nr_spis, virtio_mmio_irq_last - 32 + 1);
+    }
+
+    if (num_virtio_pci_hosts) {
+        libxl_virtio_pci_host *host =3D &virtio_pci_hosts[num_virtio_pci=
_hosts - 1];
+
+        /*
+         * Assumes that latest allocated host contains the highest alloc=
ated
+         * irq range.
+         */
+        virtio_pci_irq_last =3D host->irq_first + host->num_irqs - 1;
+        nr_spis =3D max(nr_spis, virtio_pci_irq_last - 32 + 1);
     }
=20
     for (i =3D 0; i < d_config->b_info.num_irqs; i++) {
@@ -164,10 +273,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc=
,
         }
=20
         /* The same check as for vpl011 */
-        if (virtio_enabled &&
-            (irq >=3D GUEST_VIRTIO_MMIO_SPI_FIRST && irq <=3D virtio_irq=
)) {
+        if (virtio_mmio_enabled &&
+            (irq >=3D GUEST_VIRTIO_MMIO_SPI_FIRST && irq <=3D virtio_mmi=
o_irq_last)) {
             LOG(ERROR, "Physical IRQ %u conflicting with Virtio MMIO IRQ=
 range\n", irq);
             return ERROR_FAIL;
+        } else if (num_virtio_pci_hosts &&
+            (irq >=3D GUEST_VIRTIO_PCI_SPI_FIRST && irq <=3D virtio_pci_=
irq_last)) {
+            LOG(ERROR, "Physical IRQ %u conflicting with Virtio PCI IRQ =
range\n", irq);
+            return ERROR_FAIL;
         }
=20
         if (irq < 32)
@@ -179,6 +292,14 @@ int libxl__arch_domain_prepare_config(libxl__gc *gc,
             nr_spis =3D spi + 1;
     }
=20
+    if (num_virtio_pci_hosts) {
+        d_config->b_info.num_virtio_pci_hosts =3D num_virtio_pci_hosts;
+        d_config->b_info.virtio_pci_hosts =3D libxl__calloc(NOGC,
+            num_virtio_pci_hosts, sizeof(*d_config->b_info.virtio_pci_ho=
sts));
+        memcpy(d_config->b_info.virtio_pci_hosts, virtio_pci_hosts,
+            sizeof(*d_config->b_info.virtio_pci_hosts) * num_virtio_pci_=
hosts);
+    }
+
     LOG(DEBUG, "Configure the domain");
=20
     config->arch.nr_spis =3D nr_spis;
@@ -908,6 +1029,130 @@ static int make_vpci_node(libxl__gc *gc, void *fdt=
,
     return 0;
 }
=20
+#define PCI_IRQ_MAP_MIN_STRIDE   8
+
+static int create_virtio_pci_irq_map(libxl__gc *gc, void *fdt,
+                                     libxl_virtio_pci_host *host)
+{
+    uint32_t *full_irq_map, *irq_map;
+    size_t len;
+    unsigned int slot, pin;
+    int res, cells;
+
+    res =3D fdt_property_cell(fdt, "#interrupt-cells", 1);
+    if (res) return res;
+
+    /* assume GIC node to be present, due to
+     * make_gicv2_node()/make_gicv3_node() get called earlier
+     */
+    res =3D fdt_node_offset_by_phandle(fdt, GUEST_PHANDLE_GIC);
+    if (res < 0)
+        return res;
+
+    res =3D fdt_address_cells(fdt, res);
+    /* handle case of make_gicv2_node() setting #address-cells to 0 */
+    if (res =3D=3D -FDT_ERR_BADNCELLS)
+        res =3D 0;
+    else if (res < 0)
+        return res;
+
+    cells =3D res;
+    len =3D sizeof(uint32_t) * host->num_irqs * host->num_irqs *
+          (PCI_IRQ_MAP_MIN_STRIDE + cells);
+    irq_map =3D full_irq_map =3D libxl__malloc(gc, len);
+
+    for (slot =3D 0; slot < host->num_irqs; slot++) {
+        for (pin =3D 0; pin < host->num_irqs; pin++) {
+            uint32_t irq =3D host->irq_first + ((pin + slot) % host->num=
_irqs);
+            unsigned int i =3D 0;
+
+            /* PCI address (3 cells) */
+            irq_map[i++] =3D cpu_to_fdt32(PCI_DEVFN(slot, 0) << 8);
+            irq_map[i++] =3D cpu_to_fdt32(0);
+            irq_map[i++] =3D cpu_to_fdt32(0);
+
+            /* PCI interrupt (1 cell) */
+            irq_map[i++] =3D cpu_to_fdt32(pin + 1);
+
+            /* GIC phandle (1 cell) */
+            irq_map[i++] =3D cpu_to_fdt32(GUEST_PHANDLE_GIC);
+
+            /* GIC unit address, set 0 because vgic itself handles vpci =
IRQs */
+            for (int c =3D cells; c--; irq_map[i++] =3D cpu_to_fdt32(0))=
;
+
+            /* GIC interrupt (3 cells) */
+            irq_map[i++] =3D cpu_to_fdt32(0); /* SPI */
+            irq_map[i++] =3D cpu_to_fdt32(irq - 32);
+            irq_map[i++] =3D cpu_to_fdt32(DT_IRQ_TYPE_LEVEL_HIGH);
+
+            irq_map +=3D PCI_IRQ_MAP_MIN_STRIDE + cells;
+        }
+    }
+
+    res =3D fdt_property(fdt, "interrupt-map", full_irq_map, len);
+    if (res) return res;
+
+    res =3D fdt_property_values(gc, fdt, "interrupt-map-mask", 4,
+                              PCI_DEVFN(3, 0) << 8, 0, 0, 0x7);
+    if (res) return res;
+
+    return 0;
+}
+
+/* TODO Consider reusing make_vpci_node() */
+static int make_virtio_pci_node(libxl__gc *gc, void *fdt,
+                                libxl_virtio_pci_host *host,
+                                libxl_domain_config *d_config)
+{
+    int res;
+    const char *name =3D GCSPRINTF("pcie@%"PRIx64, host->ecam_base);
+
+    res =3D fdt_begin_node(fdt, name);
+    if (res) return res;
+
+    res =3D fdt_property_compat(gc, fdt, 1, "pci-host-ecam-generic");
+    if (res) return res;
+
+    res =3D fdt_property_string(fdt, "device_type", "pci");
+    if (res) return res;
+
+    res =3D fdt_property_regs(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
+        GUEST_ROOT_SIZE_CELLS, 1, host->ecam_base, host->ecam_size);
+    if (res) return res;
+
+    res =3D fdt_property_values(gc, fdt, "bus-range", 2, 0, 0);
+    if (res) return res;
+
+    res =3D fdt_property_cell(fdt, "#address-cells", 3);
+    if (res) return res;
+
+    res =3D fdt_property_cell(fdt, "#size-cells", 2);
+    if (res) return res;
+
+    res =3D fdt_property_string(fdt, "status", "okay");
+    if (res) return res;
+
+    res =3D fdt_property_vpci_ranges(gc, fdt, GUEST_ROOT_ADDRESS_CELLS,
+        GUEST_ROOT_SIZE_CELLS, 2,
+        GUEST_VIRTIO_PCI_ADDR_TYPE_MEM, host->mem_base, host->mem_size,
+        GUEST_VIRTIO_PCI_ADDR_TYPE_PREFETCH_MEM, host->prefetch_mem_base=
,
+        host->prefetch_mem_size);
+    if (res) return res;
+
+    /* The same property as for virtio-mmio device */
+    res =3D fdt_property(fdt, "dma-coherent", NULL, 0);
+    if (res) return res;
+
+    /* Legacy PCI interrupts (#INTA - #INTD) */
+    res =3D create_virtio_pci_irq_map(gc, fdt, host);
+    if (res) return res;
+
+    res =3D fdt_end_node(fdt);
+    if (res) return res;
+
+    return 0;
+}
+
 static int make_xen_iommu_node(libxl__gc *gc, void *fdt)
 {
     int res;
@@ -1384,20 +1629,26 @@ next_resize:
         for (i =3D 0; i < d_config->num_virtios; i++) {
             libxl_device_virtio *virtio =3D &d_config->virtios[i];
=20
-            if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO)
-                continue;
-
             if (libxl_defbool_val(virtio->grant_usage))
                 iommu_needed =3D true;
=20
-            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->base,
-                                              virtio->irq, virtio->type,
+            if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO)
+                continue;
+
+            FDT( make_virtio_mmio_node_device(gc, fdt, virtio->u.mmio.ba=
se,
+                                              virtio->u.mmio.irq, virtio=
->type,
                                               virtio->backend_domid,
                                               libxl_defbool_val(virtio->=
grant_usage)) );
         }
=20
+        for (i =3D 0; i < d_config->b_info.num_virtio_pci_hosts; i++) {
+            libxl_virtio_pci_host *host =3D &d_config->b_info.virtio_pci=
_hosts[i];
+
+            FDT( make_virtio_pci_node(gc, fdt, host, d_config) );
+        }
+
         /*
-         * The iommu node should be created only once for all virtio-mmi=
o
+         * The iommu node should be created only once for all virtio
          * devices.
          */
         if (iommu_needed)
diff --git a/tools/libs/light/libxl_create.c b/tools/libs/light/libxl_cre=
ate.c
index ce1d431103..22b4fa40cc 100644
--- a/tools/libs/light/libxl_create.c
+++ b/tools/libs/light/libxl_create.c
@@ -1273,8 +1273,9 @@ int libxl__domain_config_setdefault(libxl__gc *gc,
     }
=20
     for (i =3D 0; i < d_config->num_virtios; i++) {
-        ret =3D libxl__virtio_devtype.set_default(gc, domid,
-                                                &d_config->virtios[i], f=
alse);
+        libxl_device_virtio *virtio =3D &d_config->virtios[i];
+
+        ret =3D libxl__virtio_devtype.set_default(gc, domid, virtio, fal=
se);
         if (ret) {
             LOGD(ERROR, domid, "Unable to set virtio defaults for device=
 %d", i);
             goto error_out;
@@ -1770,6 +1771,19 @@ static void domcreate_launch_dm(libxl__egc *egc, l=
ibxl__multidev *multidev,
     for (i =3D 0; i < d_config->num_virtios; i++)
         libxl__device_add(gc, domid, &libxl__virtio_devtype,
                           &d_config->virtios[i]);
+    /*
+     * This should be done before spawning device model, but after
+     * the creation of "device-model" directory in Xenstore.
+     */
+    for (i =3D 0; i < d_config->b_info.num_virtio_pci_hosts; i++) {
+        libxl_virtio_pci_host *host =3D &d_config->b_info.virtio_pci_hos=
ts[i];
+
+        ret =3D libxl__save_dm_virtio_pci_host(gc, domid, host);
+        if (ret) {
+            LOGD(ERROR, domid, "Unable to save virtio_pci_host for devic=
e model");
+            goto error_out;
+        }
+    }
=20
     switch (d_config->c_info.type) {
     case LIBXL_DOMAIN_TYPE_HVM:
diff --git a/tools/libs/light/libxl_dm.c b/tools/libs/light/libxl_dm.c
index 0b2548d35b..4e9391fc08 100644
--- a/tools/libs/light/libxl_dm.c
+++ b/tools/libs/light/libxl_dm.c
@@ -3375,6 +3375,76 @@ static void device_model_postconfig_done(libxl__eg=
c *egc,
     dmss->callback(egc, dmss, rc);
 }
=20
+int libxl__save_dm_virtio_pci_host(libxl__gc *gc,
+                                   uint32_t domid,
+                                   libxl_virtio_pci_host *host)
+{
+    const char *dm_path;
+    char **dir;
+    xs_transaction_t t =3D XBT_NULL;
+    unsigned int n;
+    int rc;
+
+    dm_path =3D GCSPRINTF("/local/domain/%d/device-model", host->backend=
_domid);
+
+    dir =3D libxl__xs_directory(gc, XBT_NULL, dm_path, &n);
+    if (!dir)
+        return ERROR_INVAL;
+
+    dm_path =3D DEVICE_MODEL_XS_PATH(gc, host->backend_domid, domid, "/v=
irtio_pci_host");
+
+    for (;;) {
+        rc =3D libxl__xs_transaction_start(gc, &t);
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/id", dm_path=
),
+                                     GCSPRINTF("%u", host->id));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/ecam_base", =
dm_path),
+                                     GCSPRINTF("%#"PRIx64, host->ecam_ba=
se));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/ecam_size", =
dm_path),
+                                     GCSPRINTF("%#"PRIx64, host->ecam_si=
ze));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/mem_base", d=
m_path),
+                                     GCSPRINTF("%#"PRIx64, host->mem_bas=
e));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/mem_size", d=
m_path),
+                                     GCSPRINTF("%#"PRIx64, host->mem_siz=
e));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/prefetch_mem=
_base", dm_path),
+                                     GCSPRINTF("%#"PRIx64, host->prefetc=
h_mem_base));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/prefetch_mem=
_size", dm_path),
+                                     GCSPRINTF("%#"PRIx64, host->prefetc=
h_mem_size));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/irq_first", =
dm_path),
+                                     GCSPRINTF("%u", host->irq_first));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_write_checked(gc, t, GCSPRINTF("%s/num_irqs", d=
m_path),
+                                     GCSPRINTF("%u", host->num_irqs));
+        if (rc) goto out;
+
+        rc =3D libxl__xs_transaction_commit(gc, &t);
+        if (!rc) break;
+        if (rc < 0) goto out;
+    }
+
+    return 0;
+
+out:
+    libxl__xs_transaction_abort(gc, &t);
+    return rc;
+}
+
 void libxl__spawn_qdisk_backend(libxl__egc *egc, libxl__dm_spawn_state *=
dmss)
 {
     STATE_AO_GC(dmss->spawn.ao);
diff --git a/tools/libs/light/libxl_internal.h b/tools/libs/light/libxl_i=
nternal.h
index d5732d1c37..75d370d739 100644
--- a/tools/libs/light/libxl_internal.h
+++ b/tools/libs/light/libxl_internal.h
@@ -4199,6 +4199,11 @@ _hidden void libxl__spawn_qdisk_backend(libxl__egc=
 *egc,
                                         libxl__dm_spawn_state *dmss);
 _hidden int libxl__destroy_qdisk_backend(libxl__gc *gc, uint32_t domid);
=20
+
+_hidden int libxl__save_dm_virtio_pci_host(libxl__gc *gc,
+                                           uint32_t domid,
+                                           libxl_virtio_pci_host *host);
+
 /*----- Domain creation -----*/
=20
=20
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_ty=
pes.idl
index 7d8bd5d216..a86c601994 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -281,6 +281,7 @@ libxl_vkb_backend =3D Enumeration("vkb_backend", [
 libxl_virtio_transport =3D Enumeration("virtio_transport", [
     (0, "UNKNOWN"),
     (1, "MMIO"),
+    (2, "PCI"),
     ])
=20
 libxl_passthrough =3D Enumeration("passthrough", [
@@ -558,6 +559,19 @@ libxl_altp2m_mode =3D Enumeration("altp2m_mode", [
     (3, "limited"),
     ], init_val =3D "LIBXL_ALTP2M_MODE_DISABLED")
=20
+libxl_virtio_pci_host =3D Struct("virtio_pci_host", [
+    ("backend_domid",     libxl_domid),
+    ("id",                uint32),
+    ("ecam_base",         uint64),
+    ("ecam_size",         uint64),
+    ("mem_base",          uint64),
+    ("mem_size",          uint64),
+    ("prefetch_mem_base", uint64),
+    ("prefetch_mem_size", uint64),
+    ("irq_first",         uint32),
+    ("num_irqs",          uint32),
+    ])
+
 libxl_domain_build_info =3D Struct("domain_build_info",[
     ("max_vcpus",       integer),
     ("avail_vcpus",     libxl_bitmap),
@@ -631,6 +645,7 @@ libxl_domain_build_info =3D Struct("domain_build_info=
",[
     ("apic",             libxl_defbool),
     ("dm_restrict",      libxl_defbool),
     ("tee",              libxl_tee_type),
+    ("virtio_pci_hosts", Array(libxl_virtio_pci_host, "num_virtio_pci_ho=
sts")),
     ("u", KeyedUnion(None, libxl_domain_type, "type",
                 [("hvm", Struct(None, [("firmware",         string),
                                        ("bios",             libxl_bios_t=
ype),
@@ -764,13 +779,22 @@ libxl_device_virtio =3D Struct("device_virtio", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
     ("type", string),
-    ("transport", libxl_virtio_transport),
+    ("u", KeyedUnion(None, libxl_virtio_transport, "transport",
+              [("unknown", None),
+               # Note that virtio-mmio parameters (irq and base) are for=
 internal
+               # use by libxl and can't be modified.
+               ("mmio", Struct(None, [("irq", uint32),
+                                      ("base", uint64),
+                                     ])),
+               ("pci", Struct(None,  [("func", uint8),
+                                      ("dev", uint8),
+                                      ("bus", uint8),
+                                      ("domain", uint16),
+                                      ("host_id", uint32),
+                                     ])),
+              ])),
     ("grant_usage", libxl_defbool),
     ("devid", libxl_devid),
-    # Note that virtio-mmio parameters (irq and base) are for internal
-    # use by libxl and can't be modified.
-    ("irq", uint32),
-    ("base", uint64)
     ])
=20
 libxl_device_disk =3D Struct("device_disk", [
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_vir=
tio.c
index e5e321adc5..8062423c75 100644
--- a/tools/libs/light/libxl_virtio.c
+++ b/tools/libs/light/libxl_virtio.c
@@ -57,8 +57,21 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, u=
int32_t domid,
 {
     const char *transport =3D libxl_virtio_transport_to_string(virtio->t=
ransport);
=20
-    flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->irq));
-    flexarray_append_pair(back, "base", GCSPRINTF("%#"PRIx64, virtio->ba=
se));
+    if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_MMIO) {
+        flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->u.mmi=
o.irq));
+        flexarray_append_pair(back, "base", GCSPRINTF("%#"PRIx64, virtio=
->u.mmio.base));
+    } else {
+        /*
+         * TODO:
+         * Probably we will also need to store PCI Host bridge details (=
irq and
+         * mem ranges) this particular PCI device belongs to if emulator=
 cannot
+         * or should not rely on what is described at include/public/arc=
h-arm.h
+         */
+        flexarray_append_pair(back, "bdf", GCSPRINTF("%04x:%02x:%02x.%01=
x",
+                              virtio->u.pci.domain, virtio->u.pci.bus,
+                              virtio->u.pci.dev, virtio->u.pci.func));
+        flexarray_append_pair(back, "host_id", GCSPRINTF("%u", virtio->u=
.pci.host_id));
+    }
     flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
     flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport))=
;
     flexarray_append_pair(back, "grant_usage",
@@ -84,33 +97,72 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc,=
 const char *libxl_path,
     rc =3D libxl__backendpath_parse_domid(gc, be_path, &virtio->backend_=
domid);
     if (rc) goto out;
=20
-    rc =3D libxl__xs_read_checked(gc, XBT_NULL,
-				GCSPRINTF("%s/irq", be_path), &tmp);
-    if (rc) goto out;
-
-    if (tmp) {
-        virtio->irq =3D strtoul(tmp, NULL, 0);
+    tmp =3D libxl__xs_read(gc, XBT_NULL, GCSPRINTF("%s/transport", be_pa=
th));
+    if (!tmp) {
+        LOG(ERROR, "Missing xenstore node %s/transport", be_path);
+        rc =3D ERROR_INVAL;
+        goto out;
     }
=20
-    tmp =3D NULL;
-    rc =3D libxl__xs_read_checked(gc, XBT_NULL,
-				GCSPRINTF("%s/base", be_path), &tmp);
-    if (rc) goto out;
+    rc =3D libxl_virtio_transport_from_string(tmp, &virtio->transport);
+    if (rc) {
+        LOG(ERROR, "Unable to parse xenstore node %s/transport", be_path=
);
+        goto out;
+    }
=20
-    if (tmp) {
-        virtio->base =3D strtoul(tmp, NULL, 0);
+    if (virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_MMIO &&
+        virtio->transport !=3D LIBXL_VIRTIO_TRANSPORT_PCI) {
+        LOG(ERROR, "Unexpected transport for virtio");
+        rc =3D ERROR_INVAL;
+        goto out;
     }
=20
-    tmp =3D NULL;
-    rc =3D libxl__xs_read_checked(gc, XBT_NULL,
-				GCSPRINTF("%s/transport", be_path), &tmp);
-    if (rc) goto out;
+    if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_MMIO) {
+        tmp =3D NULL;
+        rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                    GCSPRINTF("%s/irq", be_path), &tmp);
+        if (rc) goto out;
=20
-    if (tmp) {
-        if (!strcmp(tmp, "mmio")) {
-            virtio->transport =3D LIBXL_VIRTIO_TRANSPORT_MMIO;
-        } else {
-            return ERROR_INVAL;
+        if (tmp) {
+            virtio->u.mmio.irq =3D strtoul(tmp, NULL, 0);
+        }
+
+        tmp =3D NULL;
+        rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                    GCSPRINTF("%s/base", be_path), &tmp)=
;
+        if (rc) goto out;
+
+        if (tmp) {
+            virtio->u.mmio.base =3D strtoul(tmp, NULL, 0);
+        }
+    } else {
+        unsigned int domain, bus, dev, func;
+
+        tmp =3D NULL;
+        rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                    GCSPRINTF("%s/bdf", be_path), &tmp);
+        if (rc) goto out;
+
+        if (tmp) {
+            if (sscanf(tmp, "%04x:%02x:%02x.%01x",
+                &domain, &bus, &dev, &func) !=3D 4) {
+                rc =3D ERROR_INVAL;
+                goto out;
+            }
+
+            virtio->u.pci.domain =3D domain;
+            virtio->u.pci.bus =3D bus;
+            virtio->u.pci.dev =3D dev;
+            virtio->u.pci.func =3D func;
+        }
+
+        tmp =3D NULL;
+        rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                    GCSPRINTF("%s/host_id", be_path), &t=
mp);
+        if (rc) goto out;
+
+        if (tmp) {
+            virtio->u.pci.host_id =3D strtoul(tmp, NULL, 0);
         }
     }
=20
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index ed983200c3..4544ce2307 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1217,6 +1217,24 @@ static int parse_virtio_config(libxl_device_virtio=
 *virtio, char *token)
         if (rc) return rc;
     } else if (MATCH_OPTION("grant_usage", token, oparg)) {
         libxl_defbool_set(&virtio->grant_usage, strtoul(oparg, NULL, 0))=
;
+    } else if (MATCH_OPTION("bdf", token, oparg)) {
+        /*
+         * TODO:
+         * We pretend that we are ordinary PCI device to reuse BDF parsi=
ng
+         * logic. This needs to be properly reused by adjusting parse_bd=
f().
+         */
+        libxl_device_pci pci;
+
+        rc =3D xlu_pci_parse_bdf(NULL, &pci, oparg);
+        if (rc) {
+            fprintf(stderr, "Unable to parse BDF `%s' for virtio-pci\n",=
 oparg);
+            return -1;
+        }
+
+        virtio->u.pci.domain =3D pci.domain;
+        virtio->u.pci.bus =3D pci.bus;
+        virtio->u.pci.dev =3D pci.dev;
+        virtio->u.pci.func =3D pci.func;
     } else {
         fprintf(stderr, "Unknown string \"%s\" in virtio spec\n", token)=
;
         return -1;
@@ -1238,6 +1256,7 @@ static void parse_virtio_list(const XLU_Config *con=
fig,
         while ((item =3D xlu_cfg_get_listitem(virtios, entry)) !=3D NULL=
) {
             libxl_device_virtio *virtio;
             char *p;
+            bool bdf_present =3D false;
=20
             virtio =3D ARRAY_EXTEND_INIT(d_config->virtios, d_config->nu=
m_virtios,
                                        libxl_device_virtio_init);
@@ -1260,6 +1279,8 @@ static void parse_virtio_list(const XLU_Config *con=
fig,
                         strcat(str, p2);
                         p =3D str;
                     }
+                } else if (MATCH_OPTION("bdf", p, oparg)) {
+                    bdf_present =3D true;
                 }
=20
                 rc =3D parse_virtio_config(virtio, p);
@@ -1270,6 +1291,21 @@ static void parse_virtio_list(const XLU_Config *co=
nfig,
                 p =3D strtok(NULL, ",");
             }
=20
+            if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_UNKNOWN)=
 {
+                fprintf(stderr, "Unspecified transport for virtio\n");
+                rc =3D ERROR_FAIL; goto out;
+            }
+
+            if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_PCI &&
+                !bdf_present) {
+                fprintf(stderr, "BDF must be specified for virtio-pci\n"=
);
+                rc =3D ERROR_FAIL; goto out;
+            } else if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_M=
MIO &&
+                bdf_present) {
+                fprintf(stderr, "BDF must not be specified for virtio-mm=
io\n");
+                rc =3D ERROR_FAIL; goto out;
+            }
+
             entry++;
             free(buf);
         }
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:34:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:34:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641645.1000389 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7W8T-0007xh-11; Mon, 27 Nov 2023 07:34:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641645.1000389; Mon, 27 Nov 2023 07:34: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 1r7W8S-0007xa-TG; Mon, 27 Nov 2023 07:34:28 +0000
Received: by outflank-mailman (input) for mailman id 641645;
 Mon, 27 Nov 2023 07:34: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=YRKV=HI=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r7W8R-0007xT-Cu
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:34:27 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 63b25de3-8cf7-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 08:34:26 +0100 (CET)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 62F701A588;
 Mon, 27 Nov 2023 02:34:24 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 5A3391A586;
 Mon, 27 Nov 2023 02:34:24 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [188.163.75.13])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id E7D621A585;
 Mon, 27 Nov 2023 02:34:20 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63b25de3-8cf7-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=F3YC9QsVnSSuRXfmGqVQj/is4
	CeJzEOPdZWm5MoPMAk=; b=ePUv65SniNxzAG8cD18UU4fzCVBq0E3UPLwcXQp3D
	eWpixnPBs9YvRVtDVM1APsisMh1AB8cOeWDSRsbYa0bGHOY50DSUhaymCAzscVlw
	gk+U6f0yeQzQUdDAgvwi4AcUPqjER4N2DH08Jwog8vf2ABnoMhbWcwGC1LeBk+7C
	mg=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org,
	Julien Grall <julien@xen.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH v1 4/5] libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices
Date: Mon, 27 Nov 2023 09:32:20 +0200
Message-Id: <20231127073221.4046427-1-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
References: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 6124FFEC-8CF7-11EE-B321-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Use the same "xen-grant-dma" device concept for the PCI devices
behind device-tree based PCI Host controller, but with one modification.
Unlike for platform devices, we cannot use generic IOMMU bindings
(iommus property), as we need to support more flexible configuration.
The problem is that PCI devices under the single PCI Host controller
may have the backends running in different Xen domains and thus have
different endpoints ID (backend domains ID).

Reuse generic PCI-IOMMU bindings (iommu-map/iommu-map-mask properties)
which allows us to describe relationship between PCI devices and
backend domains ID properly. Linux guest is already able to deal
with generic PCI-IOMMU bindings (see Linux drivers/xen/grant-dma-ops.c
for details).

According to Linux:
   - Documentation/devicetree/bindings/pci/pci-iommu.txt
   - Documentation/devicetree/bindings/iommu/xen,grant-dma.yaml

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
---
 tools/libs/light/libxl_arm.c | 64 ++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)

diff --git a/tools/libs/light/libxl_arm.c b/tools/libs/light/libxl_arm.c
index 4789ee08d2..c1e39d688a 100644
--- a/tools/libs/light/libxl_arm.c
+++ b/tools/libs/light/libxl_arm.c
@@ -1030,6 +1030,7 @@ static int make_vpci_node(libxl__gc *gc, void *fdt,
 }
=20
 #define PCI_IRQ_MAP_MIN_STRIDE   8
+#define PCI_IOMMU_MAP_STRIDE 4
=20
 static int create_virtio_pci_irq_map(libxl__gc *gc, void *fdt,
                                      libxl_virtio_pci_host *host)
@@ -1099,6 +1100,65 @@ static int create_virtio_pci_irq_map(libxl__gc *gc=
, void *fdt,
     return 0;
 }
=20
+/* XXX Consider reusing libxl__realloc() to avoid an extra loop */
+static int create_virtio_pci_iommu_map(libxl__gc *gc, void *fdt,
+                                       libxl_virtio_pci_host *host,
+                                       libxl_domain_config *d_config)
+{
+    uint32_t *full_iommu_map, *iommu_map;
+    unsigned int i, len, ntranslated =3D 0;
+    int res;
+
+    for (i =3D 0; i < d_config->num_virtios; i++) {
+        libxl_device_virtio *virtio =3D &d_config->virtios[i];
+
+        if (libxl_defbool_val(virtio->grant_usage) &&
+            virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_PCI &&
+            virtio->u.pci.host_id =3D=3D host->id) {
+            ntranslated++;
+        }
+    }
+
+    if (!ntranslated)
+        return 0;
+
+    len =3D ntranslated * sizeof(uint32_t) * PCI_IOMMU_MAP_STRIDE;
+    full_iommu_map =3D libxl__malloc(gc, len);
+    iommu_map =3D full_iommu_map;
+
+    /* See Linux Documentation/devicetree/bindings/pci/pci-iommu.txt */
+    for (i =3D 0; i < d_config->num_virtios; i++) {
+        libxl_device_virtio *virtio =3D &d_config->virtios[i];
+
+        if (libxl_defbool_val(virtio->grant_usage) &&
+            virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_PCI &&
+            virtio->u.pci.host_id =3D=3D host->id) {
+            uint16_t bdf =3D (virtio->u.pci.bus << 8) |
+                (virtio->u.pci.dev << 3) | virtio->u.pci.func;
+            unsigned int j =3D 0;
+
+            /* rid_base (1 cell) */
+            iommu_map[j++] =3D cpu_to_fdt32(bdf);
+
+            /* iommu_phandle (1 cell) */
+            iommu_map[j++] =3D cpu_to_fdt32(GUEST_PHANDLE_IOMMU);
+
+            /* iommu_base (1 cell) */
+            iommu_map[j++] =3D cpu_to_fdt32(virtio->backend_domid);
+
+            /* length (1 cell) */
+            iommu_map[j++] =3D cpu_to_fdt32(1 << 3);
+
+            iommu_map +=3D PCI_IOMMU_MAP_STRIDE;
+        }
+    }
+
+    res =3D fdt_property(fdt, "iommu-map", full_iommu_map, len);
+    if (res) return res;
+
+    return 0;
+}
+
 /* TODO Consider reusing make_vpci_node() */
 static int make_virtio_pci_node(libxl__gc *gc, void *fdt,
                                 libxl_virtio_pci_host *host,
@@ -1147,6 +1207,10 @@ static int make_virtio_pci_node(libxl__gc *gc, voi=
d *fdt,
     res =3D create_virtio_pci_irq_map(gc, fdt, host);
     if (res) return res;
=20
+    /* xen,grant-dma bindings */
+    res =3D create_virtio_pci_iommu_map(gc, fdt, host, d_config);
+    if (res) return res;
+
     res =3D fdt_end_node(fdt);
     if (res) return res;
=20
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:38:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:38:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641647.1000398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7WBv-0001An-EO; Mon, 27 Nov 2023 07:38:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641647.1000398; Mon, 27 Nov 2023 07:38: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 1r7WBv-0001Ag-BD; Mon, 27 Nov 2023 07:38:03 +0000
Received: by outflank-mailman (input) for mailman id 641647;
 Mon, 27 Nov 2023 07:38: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=YRKV=HI=darkstar.site=sakib@srs-se1.protection.inumbo.net>)
 id 1r7WBt-00019G-TV
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:38:01 +0000
Received: from pb-smtp21.pobox.com (pb-smtp21.pobox.com [173.228.157.53])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e36b66e6-8cf7-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 08:38:00 +0100 (CET)
Received: from pb-smtp21.pobox.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 1C7EE1A5A6;
 Mon, 27 Nov 2023 02:37:59 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from pb-smtp21.sea.icgroup.com (unknown [127.0.0.1])
 by pb-smtp21.pobox.com (Postfix) with ESMTP id 13B171A5A5;
 Mon, 27 Nov 2023 02:37:59 -0500 (EST)
 (envelope-from sakib@darkstar.site)
Received: from localhost (unknown [188.163.75.13])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by pb-smtp21.pobox.com (Postfix) with ESMTPSA id A0B661A5A4;
 Mon, 27 Nov 2023 02:37:54 -0500 (EST)
 (envelope-from sakib@darkstar.site)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e36b66e6-8cf7-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=pobox.com; h=from:to:cc
	:subject:date:message-id:in-reply-to:references:mime-version
	:content-transfer-encoding; s=sasl; bh=/Z6kaeEKawpzWl9Eo1m8IbkY5
	KCnWj8r3LTFolwrXyg=; b=CgYzO7Qbsw3D7wjBW12uiZp86cQ3nJuYdPlOr68+G
	eTVZjOJYaLoy4LRWeCtPI5pJOiR6nOhRtVdTkZuWPttAc5fvDqTVA5KUjxAQVSt9
	IYzit7HhTfuojt70/VlwVRhl4VpRqB4PPYVoCNLZCXzbZpGefy7ADE5stpLl3W6X
	bg=
From: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
To: xen-devel@lists.xenproject.org,
	Julien Grall <julien@xen.org>
Cc: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Juergen Gross <jgross@suse.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Subject: [RFC PATCH v1 5/5] libxl: Add "backend_type" property for the Virtio devices
Date: Mon, 27 Nov 2023 09:32:21 +0200
Message-Id: <20231127073221.4046427-2-Sergiy_Kibrik@epam.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20231127073221.4046427-1-Sergiy_Kibrik@epam.com>
References: <20231127072754.4045254-1-Sergiy_Kibrik@epam.com>
 <20231127073221.4046427-1-Sergiy_Kibrik@epam.com>
MIME-Version: 1.0
X-Pobox-Relay-ID:
 E085CC4E-8CF7-11EE-9B4A-A19503B9AAD1-90055647!pb-smtp21.pobox.com
Content-Transfer-Encoding: quoted-printable

From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>

Introduce new configuration option "backend_type" for the Virtio
devices in order to specify backend implementation to use.
There are two possible values "qemu" (default) and "standalone".

If backend is in Qemu (backend_type=3Dqemu) and Qemu runs in toolstack
domain (backend=3DDomain-0) then Qemu will be launched automatically
at the guest creation time. For this to work implement "dm_needed"
callback.

Please note, there is no support for Qemu in other domains for
the time being, so the combination of "backend=3DDomD" and
"backend_type=3Dqemu" just won't work.

Qemu configuration for Virtio devices should be described via
"device_model_args" property.

Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
Signed-off-by: Sergiy Kibrik <Sergiy_Kibrik@epam.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
---
 docs/man/xl.cfg.5.pod.in         |  9 +++++++++
 tools/libs/light/libxl_types.idl |  7 +++++++
 tools/libs/light/libxl_virtio.c  | 29 ++++++++++++++++++++++++++++-
 tools/xl/xl_parse.c              |  3 +++
 4 files changed, 47 insertions(+), 1 deletion(-)

diff --git a/docs/man/xl.cfg.5.pod.in b/docs/man/xl.cfg.5.pod.in
index 0fba750815..592aad1d1e 100644
--- a/docs/man/xl.cfg.5.pod.in
+++ b/docs/man/xl.cfg.5.pod.in
@@ -1624,6 +1624,15 @@ are supported. This option is mandatory.
 The Virtio device with transport "pci" must be identified by its B<BDF>.
 See L<xl-pci-configuration(5)> for more details about the format for B<B=
DF>.
=20
+=3Ditem B<backend_type=3DSTRING>
+
+Specifies the software implementation of the backend implementation to u=
se.
+This option doesn't affect the guest's view of the Virtio device.
+
+Both "qemu" and "standalone" are supported. The only difference is
+that for the former the toolstack assists with configuring and launching
+the device-model. If this option is missing, then "qemu" value will be u=
sed.
+
 =3Ditem B<grant_usage=3DBOOLEAN>
=20
 If this option is B<true>, the Xen grants are always enabled.
diff --git a/tools/libs/light/libxl_types.idl b/tools/libs/light/libxl_ty=
pes.idl
index a86c601994..13b8ade41c 100644
--- a/tools/libs/light/libxl_types.idl
+++ b/tools/libs/light/libxl_types.idl
@@ -284,6 +284,12 @@ libxl_virtio_transport =3D Enumeration("virtio_trans=
port", [
     (2, "PCI"),
     ])
=20
+libxl_virtio_backend =3D Enumeration("virtio_backend", [
+    (0, "UNKNOWN"),
+    (1, "QEMU"),
+    (2, "STANDALONE"),
+    ])
+
 libxl_passthrough =3D Enumeration("passthrough", [
     (0, "default"),
     (1, "disabled"),
@@ -778,6 +784,7 @@ libxl_device_vkb =3D Struct("device_vkb", [
 libxl_device_virtio =3D Struct("device_virtio", [
     ("backend_domid", libxl_domid),
     ("backend_domname", string),
+    ("backend_type", libxl_virtio_backend),
     ("type", string),
     ("u", KeyedUnion(None, libxl_virtio_transport, "transport",
               [("unknown", None),
diff --git a/tools/libs/light/libxl_virtio.c b/tools/libs/light/libxl_vir=
tio.c
index 8062423c75..339a2006f0 100644
--- a/tools/libs/light/libxl_virtio.c
+++ b/tools/libs/light/libxl_virtio.c
@@ -32,9 +32,20 @@ static int libxl__device_virtio_setdefault(libxl__gc *=
gc, uint32_t domid,
     libxl_defbool_setdefault(&virtio->grant_usage,
                              virtio->backend_domid !=3D LIBXL_TOOLSTACK_=
DOMID);
=20
+    if (virtio->backend_type =3D=3D LIBXL_VIRTIO_BACKEND_UNKNOWN)
+        virtio->backend_type =3D LIBXL_VIRTIO_BACKEND_QEMU;
+
     return 0;
 }
=20
+static int libxl__device_virtio_dm_needed(void *e, unsigned domid)
+{
+    libxl_device_virtio *elem =3D e;
+
+    return elem->backend_type =3D=3D LIBXL_VIRTIO_BACKEND_QEMU &&
+           elem->backend_domid =3D=3D domid;
+}
+
 static int libxl__device_from_virtio(libxl__gc *gc, uint32_t domid,
                                      libxl_device_virtio *virtio,
                                      libxl__device *device)
@@ -55,7 +66,8 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, ui=
nt32_t domid,
                                       flexarray_t *back, flexarray_t *fr=
ont,
                                       flexarray_t *ro_front)
 {
-    const char *transport =3D libxl_virtio_transport_to_string(virtio->t=
ransport);
+    const char *transport =3D libxl_virtio_transport_to_string(virtio->t=
ransport),
+               *backend =3D libxl_virtio_backend_to_string(virtio->backe=
nd_type);
=20
     if (virtio->transport =3D=3D LIBXL_VIRTIO_TRANSPORT_MMIO) {
         flexarray_append_pair(back, "irq", GCSPRINTF("%u", virtio->u.mmi=
o.irq));
@@ -74,6 +86,7 @@ static int libxl__set_xenstore_virtio(libxl__gc *gc, ui=
nt32_t domid,
     }
     flexarray_append_pair(back, "type", GCSPRINTF("%s", virtio->type));
     flexarray_append_pair(back, "transport", GCSPRINTF("%s", transport))=
;
+    flexarray_append_pair(back, "backend_type", GCSPRINTF("%s", backend)=
);
     flexarray_append_pair(back, "grant_usage",
                           libxl_defbool_val(virtio->grant_usage) ? "1" :=
 "0");
=20
@@ -166,6 +179,19 @@ static int libxl__virtio_from_xenstore(libxl__gc *gc=
, const char *libxl_path,
         }
     }
=20
+    tmp =3D NULL;
+    rc =3D libxl__xs_read_checked(gc, XBT_NULL,
+                                GCSPRINTF("%s/backend_type", be_path), &=
tmp);
+    if (rc) goto out;
+
+    if (tmp) {
+        rc =3D libxl_virtio_backend_from_string(tmp, &virtio->backend_ty=
pe);
+        if (rc) {
+            LOG(ERROR, "Unable to parse xenstore node %s/backend_type", =
be_path);
+            goto out;
+        }
+    }
+
     tmp =3D NULL;
     rc =3D libxl__xs_read_checked(gc, XBT_NULL,
                                 GCSPRINTF("%s/grant_usage", be_path), &t=
mp);
@@ -200,6 +226,7 @@ static LIBXL_DEFINE_UPDATE_DEVID(virtio)
 #define libxl_device_virtio_compare NULL
=20
 DEFINE_DEVICE_TYPE_STRUCT(virtio, VIRTIO, virtios,
+    .dm_needed =3D libxl__device_virtio_dm_needed,
     .set_xenstore_config =3D (device_set_xenstore_config_fn_t)
                            libxl__set_xenstore_virtio,
     .from_xenstore =3D (device_from_xenstore_fn_t)libxl__virtio_from_xen=
store,
diff --git a/tools/xl/xl_parse.c b/tools/xl/xl_parse.c
index 4544ce2307..234cef5f7e 100644
--- a/tools/xl/xl_parse.c
+++ b/tools/xl/xl_parse.c
@@ -1215,6 +1215,9 @@ static int parse_virtio_config(libxl_device_virtio =
*virtio, char *token)
     } else if (MATCH_OPTION("transport", token, oparg)) {
         rc =3D libxl_virtio_transport_from_string(oparg, &virtio->transp=
ort);
         if (rc) return rc;
+    } else if (MATCH_OPTION("backend_type", token, oparg)) {
+        rc =3D libxl_virtio_backend_from_string(oparg, &virtio->backend_=
type);
+        if (rc) return rc;
     } else if (MATCH_OPTION("grant_usage", token, oparg)) {
         libxl_defbool_set(&virtio->grant_usage, strtoul(oparg, NULL, 0))=
;
     } else if (MATCH_OPTION("bdf", token, oparg)) {
--=20
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 07:53:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 07:53:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641658.1000409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7WQI-00059P-M1; Mon, 27 Nov 2023 07:52:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641658.1000409; Mon, 27 Nov 2023 07:52: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 1r7WQI-00059I-JD; Mon, 27 Nov 2023 07:52:54 +0000
Received: by outflank-mailman (input) for mailman id 641658;
 Mon, 27 Nov 2023 07:52: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7WQH-00059C-Cp
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 07:52:53 +0000
Received: from dggsgout12.his.huawei.com (unknown [45.249.212.56])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f4a5984f-8cf9-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 08:52:49 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.235])
 by dggsgout12.his.huawei.com (SkyGuard) with ESMTP id 4SdyVf0WDSz4f3kFr
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 15:52:42 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id E598D1A0CF1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 15:52:43 +0800 (CST)
Received: from [10.174.176.73] (unknown [10.174.176.73])
 by APP1 (Coremail) with SMTP id cCh0CgBXWhDISmRl1qdCCA--.65049S3;
 Mon, 27 Nov 2023 15:52:43 +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: f4a5984f-8cf9-11ee-9b0e-b553b5be7939
Subject: Re: [PATCH block/for-next v2 07/16] bcachefs: use new helper to get
 inode from block_device
To: Kent Overstreet <kent.overstreet@linux.dev>,
 Damien Le Moal <dlemoal@kernel.org>
Cc: Yu Kuai <yukuai1@huaweicloud.com>, hch@infradead.org,
 ming.lei@redhat.com, axboe@kernel.dk, roger.pau@citrix.com, colyli@suse.de,
 kent.overstreet@gmail.com, joern@lazybastard.org, miquel.raynal@bootlin.com,
 richard@nod.at, vigneshr@ti.com, sth@linux.ibm.com, hoeppner@linux.ibm.com,
 hca@linux.ibm.com, gor@linux.ibm.com, agordeev@linux.ibm.com,
 jejb@linux.ibm.com, martin.petersen@oracle.com, clm@fb.com,
 josef@toxicpanda.com, dsterba@suse.com, viro@zeniv.linux.org.uk,
 brauner@kernel.org, nico@fluxnic.net, xiang@kernel.org, chao@kernel.org,
 tytso@mit.edu, adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
 konishi.ryusuke@gmail.com, dchinner@redhat.com, linux@weissschuh.net,
 min15.li@samsung.com, willy@infradead.org, akpm@linux-foundation.org,
 hare@suse.de, p.raghav@samsung.com, linux-block@vger.kernel.org,
 linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
 linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org,
 linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
 linux-bcachefs@vger.kernel.org, linux-btrfs@vger.kernel.org,
 linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org,
 linux-ext4@vger.kernel.org, gfs2@lists.linux.dev,
 linux-nilfs@vger.kernel.org, yi.zhang@huawei.com, yangerkun@huawei.com,
 "yukuai (C)" <yukuai3@huawei.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-8-yukuai1@huaweicloud.com>
 <d3b87b87-2ca7-43ca-9fb4-ee3696561eb5@kernel.org>
 <20231127072409.y22jkynrchm4tkd2@moria.home.lan>
From: Yu Kuai <yukuai1@huaweicloud.com>
Message-ID: <58ced33e-0a8c-7bd3-beb8-d75119cab60b@huaweicloud.com>
Date: Mon, 27 Nov 2023 15:52:39 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <20231127072409.y22jkynrchm4tkd2@moria.home.lan>
Content-Type: text/plain; charset=gbk; format=flowed
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgBXWhDISmRl1qdCCA--.65049S3
X-Coremail-Antispam: 1UD129KBjvdXoW7Gw1kGw4ktFy5uF47KryUKFg_yoWkArX_XF
	17ur47Zw4fJF1vq3ZYqFsYqrZF9rWrXrWaqFn5JF1UWa4kJFZ5ZFZ5Kr93ZrsxJr4DGF12
	vrZ5XFW3CrySkjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT
	9fnUUIcSsGvfJTRUUUba8FF20E14v26rWj6s0DM7CY07I20VC2zVCF04k26cxKx2IYs7xG
	6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48ve4kI8w
	A2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI0_Gr1j
	6F4UJwA2z4x0Y4vEx4A2jsIE14v26rxl6s0DM28EF7xvwVC2z280aVCY1x0267AKxVW0oV
	Cq3wAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0
	I7IYx2IY67AKxVWUJVWUGwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r
	4UM4x0Y48IcVAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628vn2kI
	c2xKxwCYjI0SjxkI62AI1cAE67vIY487MxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4
	AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE
	17CEb7AF67AKxVWrXVW8Jr1lIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCw
	CI42IY6xIIjxv20xvEc7CjxVAFwI0_Cr0_Gr1UMIIF0xvE42xK8VAvwI8IcIk0rVWrZr1j
	6s0DMIIF0xvEx4A2jsIE14v26r4j6F4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_GcCE3sUvcS
	sGvfC2KfnxnUUI43ZEXa7VUbJ73DUUUUU==
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

Hi,

 2023/11/27 15:24, Kent Overstreet д:
> On Mon, Nov 27, 2023 at 04:09:47PM +0900, Damien Le Moal wrote:
>> On 11/27/23 15:21, Yu Kuai wrote:
>>> From: Yu Kuai <yukuai3@huawei.com>
>>>
>>> Which is more efficiency, and also prepare to remove the field
>>> 'bd_inode' from block_device.
>>>
>>> Signed-off-by: Yu Kuai <yukuai3@huawei.com>
>>> ---
>>>   fs/bcachefs/util.h | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/fs/bcachefs/util.h b/fs/bcachefs/util.h
>>> index 2984b57b2958..fe7ccb3a3517 100644
>>> --- a/fs/bcachefs/util.h
>>> +++ b/fs/bcachefs/util.h
>>> @@ -518,7 +518,7 @@ int bch2_bio_alloc_pages(struct bio *, size_t, gfp_t);
>>>   
>>>   static inline sector_t bdev_sectors(struct block_device *bdev)
>>>   {
>>> -	return bdev->bd_inode->i_size >> 9;
>>> +	return bdev_inode(bdev)->i_size >> 9;
>>
>> shouldn't this use i_size_read() ?
>>
>> I missed the history with this but why not use bdev_nr_sectors() and delete this
>> helper ?
> 
> Actually, this helper seems to be dead code.

Yes, there is no caller of this helper, I'll remove this helper.

Thanks,
Kuai

> .
> 



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 08:06:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 08:06:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641668.1000419 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7WdZ-0000DX-6N; Mon, 27 Nov 2023 08:06:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641668.1000419; Mon, 27 Nov 2023 08:06: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 1r7WdZ-0000DQ-2b; Mon, 27 Nov 2023 08:06:37 +0000
Received: by outflank-mailman (input) for mailman id 641668;
 Mon, 27 Nov 2023 08:06: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7WdY-0000DK-A1
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 08:06:36 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e153479c-8cfb-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 09:06:34 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9326.eurprd04.prod.outlook.com (2603:10a6:102:2b8::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 08:06:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 08:06: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: e153479c-8cfb-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=e5V79ty/+n4pMtQaCYCVwxIL3VOUEefkHWnkrKKoYxWiXYlrRjLMik8pkGdJm+H7snzMQYRENOgN1fPgGJVZM4c/CHhf+ulb73wNR9ZZqkm+a+lj8rJBRjQDs57JQEs1+i+5lbAwEdxNUMvUpnvC+D2PVmqD74w5ADLi1ZDfGXWvEHwlidPBc6tNrNLas4cHwv45r7qB//bmpl/wSRgHpr9R/XWP1/BuDc8fwD3UhRzn7QM+Rcyrlg/7AvSXsn8bfCZnOtS47g57qiRiecT8uuDirCdxSC09E+8hb/W+zYq2kz0dOx9h+JexcdWnAPDqvhYq0Jxm+GkmD+nlHG7XSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RnudBNUQPXqLbnfK4VvMuRihG8KZVtkDTYuZCYL1czI=;
 b=eVKRIMbmPjiiT5SDQxfuqD5+7UF3xkM4n5IuluQw675fjM2NDY5g79YLdY2JnvkuiEooue3+pEbLBs6rHBTDEV+2aS18wQnlFRzPn65d2qVj/32g2FqqbbwWshNWoW7bf0EeObmzNeFssL2a+dlfuV7f7IMd84reC8rWL194g+Ea6XYCCOxLSFwnFDo9uPOimlWt/4Hoqnty80qRmEHJdz3bSZHorX2qR0Gx1XzJlyVzbyTa9kJIQf6KcVk3+i5AgbtPfx3rThAXmhcAJnq82Hn80DTAfTJaYzrT31pKV+wU8egEIy4cKLLgcWlU2tSt7/fCiG56poPXlP0prcWV8Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RnudBNUQPXqLbnfK4VvMuRihG8KZVtkDTYuZCYL1czI=;
 b=vmgPOgiQdeXogjyVNEZ206kNmPHEduvi3Qf6ZZHok9fUTPopUgZ1IMnbn6aLdS6c/fhSsjssMSx2s6bVlcZUJgNpXRSBasbvq45oNibRfYSNiMpogE4KjYvDpZIsQc/tAZ1/AbGV8GFqE834Q1bHf5Ff3LepJlIHp1ZCxEsHxGc4O8FyBnYiu4ssG2+sjkeAN3hwlZUm6EFfnSgRPJkeL06O4uR/vAJyHO2VMUGpookrU+4hW2dk9RdEOh6JAZrgHV2K0kXO98Fs2IRxdcp9UkChXJ+lI4E6HmDi17OAl6S9VclUXNN53+iru3dhqbTSA4D3SZNn/KlvmCx80mS/VQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d4ce98c9-cb13-4c2a-aa4f-7cbbf7ca68b0@suse.com>
Date: Mon, 27 Nov 2023 09:06:32 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 05/15] x86: amend cpu_has_xen_[ibt,shstk}
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: 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: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
 <8f9c3db0-bedb-4b8d-9560-3e5526288b5f@suse.com>
 <2dad26f0-e73c-4d92-9060-fd3771f3f53f@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2dad26f0-e73c-4d92-9060-fd3771f3f53f@citrix.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9326:EE_
X-MS-Office365-Filtering-Correlation-Id: b4c56b4a-4824-40f5-73ef-08dbef1fc419
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/jYXMHzGj+mhR0MOLnQ2lQL/fRNM0bNgune2mmGS785VAlcJrmPZtOcme61pXUZOrTKvDSjpaL7AJjm7j9KSfi6mIuQOdaOiLznKVHjnGAGFTckBob3WWPtmsmdVTBy1Qrkw+W+fPkvDGc/gfuwOCWk6Fdvm5te//jWId6iWMkIr6t/jTHAhLGZUBDxmrl+6ZQddHHUEFAN3avCrfmqSY2Z8zOaXuizBmEZtpvtAplRiggWyylFg3LXrQguaFf2TdGYIJuHgA0Zd+3bkETySMUhm57xNnnvsoLe4TxReGiNySiei1zuFoLl4pbpwa4+wWmWJpEusPOjKxC1x32aI8wlr8mMbJ0W0h00wnbc1hl7XfqgrL6/2+sutRO2ksPtjnQ1eUUmcSgntgQwaAE5DWObqNXajbeG43d2CrYvwsFE6becjPSfkzP3yEtO8NqKhVgTaxZOlR2bBo8+o8U8LNOPfgh9xVvudzEpoPtb1K+UVArcf/CFxBCNKn7LhnmM3Rmip//crdMYV/M8o+mMxAy18Yb7RLkwP4S6iOMOEteFwdiwaBpe9xTd4JPEsMn2aMmWoP2pBjKvd0MU/mlwIbqDIFRNghfcnE6YuKnKthtN+wJG+nrENlAztV4sBdV3JS47bvUpAc4BuhaQ3VXhpHg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(136003)(396003)(39860400002)(346002)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(83380400001)(38100700002)(31686004)(4326008)(8936002)(8676002)(6512007)(6506007)(53546011)(316002)(66476007)(6916009)(54906003)(66556008)(31696002)(66946007)(5660300002)(86362001)(6486002)(478600001)(4744005)(2906002)(41300700001)(36756003)(26005)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TW1LZ2NIcTMreVM4VE55dDMySWV0dno4Mk5uSDArb3pDUkhBSHNJUU56Q0Y5?=
 =?utf-8?B?UEhGenNmdW02UDRrWTJUZXl3S25zOUt6eXJGUElOZ04xUGw1eTBxSDU0UEph?=
 =?utf-8?B?MGxpTUFKdHZOZVhUZ2hVN2phU1lGNDJ6S1Vrc2ZtTEFLWWNDQ0RGVC9Pd3Jw?=
 =?utf-8?B?WUpkWUc3Nk80WHVZbTM1MUh2eVNWeVZTZVpmUUFKeCtaMFM0UzVNOEp3NTFC?=
 =?utf-8?B?bEdEeWJwdnhXMzJPMmo4N2xOYlBXQnE5V2UvNEoyRFkwRjUxczhZcjN3S29y?=
 =?utf-8?B?U0VCVW5QRlhjNndHLzlCZkpycFRhanNWL004SXQvcTZZQWFUaCtyMlE3dURK?=
 =?utf-8?B?UHJpVWJkN1RYbllLTThhOSsvYTBteERLSFd4aSt3TWx6TE5qcllYNXdiZEF5?=
 =?utf-8?B?OWZQTG9CcmFSOUlTNkcxeEoxUEpsdHBhMys4ZjYvbHVkV2wwZEMyWGFNaU1o?=
 =?utf-8?B?cUR1aGVmZFN0bzRiaVNiSjNTcmsyYit4N2ZZenNSdmFwZFJKWDdTWStqL1Nt?=
 =?utf-8?B?aUUwd09iN0xvTHdsUWZWUGt5TzZ1VGZQYzJQZC93b29sSXdkS21HNWJVSHRh?=
 =?utf-8?B?d3AwaVVFNHREK29ucHFqZCttRkdad2Rya2ZsbnIrb1htYkl6M2tDMFdJRHBJ?=
 =?utf-8?B?eXQwWVM0RWg3SWpoeFYrcExZZ2l6ekVwc2xOczdSNFRLMFQ5T2ZBL25QeVkw?=
 =?utf-8?B?TFlSVW1XQUJnb0Z6NkU5VFRHZ0hGZTNxTlVUZ1NXS045ZWIyWDV0Yll4ckJ1?=
 =?utf-8?B?RjFnTkxhVDRCSkQwcm9WUks3RUhZVStCTXJyaWtRU3FXOVhXa2ZobVVldW1Y?=
 =?utf-8?B?MHlxaTMxRXpiaFRqa0VvR1hUeGp2eVJCRmNUV3huajNqbitSOGtOT1ZBR0pw?=
 =?utf-8?B?OHdodi9SbmtiS2NGQW9mRDdObyt1TGYzNFRxcTB3ODRBR2ppc3VFN3Q3ZXA0?=
 =?utf-8?B?eGJFV3BIdEZmUC9FdXpjSVNNVmpKRnNxSHgwdXRDNnBWdmUyODBYcmR1ODVV?=
 =?utf-8?B?NjVkUm5jc3Z2L0cvSHVpYU9lVjVqdEZKeTA5aXlyZlRZYjM0UWdTMkEwUFFa?=
 =?utf-8?B?RDRGTzBkWmMrRElSU1U0ZTh0d1JLNVBGVkdJem1xQzcyOTdtbGVuQ2gzRmxJ?=
 =?utf-8?B?Y0JZeEVVZWQrMVV6dlQ4ZXVmcW9xLzhTeWx5YlBoM0w0Slg3VU0wakM0UXZ5?=
 =?utf-8?B?Q1VzTW9YQ29VVlZoVUVoQWI2Z3VvbjJFYm84d3FwL3B5K280SHdZN1I3b3g1?=
 =?utf-8?B?Q3NTZVR6RlI5QzYvMWhFMHJIWjV3anRpWVBiSTNjdGtZWEtmOVRSb05uRGZ1?=
 =?utf-8?B?dUNVZWZZb21JVFQ5WmtHREpsZGRoam9JWVFyK2lMRVl2OFRMVG9oZjdFQitZ?=
 =?utf-8?B?L1JnREY2NmFoMTBBcTdadHo2Q0wvdWRIRWozWm9jdENqYmYxNWw3UkFWd3lO?=
 =?utf-8?B?ZEI5RnovU0tYdytFb1Z5d0VSMm95Q25WZVZOaUM3cDBjOWoyY2RaRkQ4bVBw?=
 =?utf-8?B?Rk0rMGJRa1dEUEFDR1QxMWUrcDNFMFU5Wm5IUVB6Ym5DSlJ6N1hWb1RaT0dM?=
 =?utf-8?B?Vkp2a2ZRUWJ5d3F2em9aZU5obU8xYzZBcnlsNmlyTXRQUUFOTHJjZm04K28w?=
 =?utf-8?B?UlAxSWRCbDlKekUzdDFkOXdjK3ZHaEsxQTd2NUZIZE1JbFQ2RWh2VXJUMTdh?=
 =?utf-8?B?c3JITktIOCtWc09RVFNQeEZ3MHg5S2JwV1U3bjUzL05DeW5UdWE5TEVpU2hm?=
 =?utf-8?B?dWx4RzU3NUFML0tJZ0crYzNOZ2ZBVmppUTZmaFNuSm50bWhCeTY4VmxMbzQ2?=
 =?utf-8?B?VFNqMmg2NlJ2ckJZVG1xdmtWSHhaT1BpM2lPSG45ZHhGUTNveTdVdTlxYzZ4?=
 =?utf-8?B?RE9GbmVGYTFjMVNvRmNZMVNNS0dkTVdwZVZiUHdPNXB5bzVHZWh3UWF1c01W?=
 =?utf-8?B?TEZNMjJEMmRiQXdGeTgzUXBoYVovVkhMOGdONTNBeGhOWjhNM0pjRHpsSlJw?=
 =?utf-8?B?S2ZCaXk2VHlNbGtLbFIzUkFkSkpVa0tuZU42cXAzMnp5aHN1NTVCR1FORVgy?=
 =?utf-8?B?U2MzTHFoL3ZCTXFXOXdwdlBta3B5bkM1Y3pMSmdYZURtbStvdkxHSVNQemdZ?=
 =?utf-8?Q?qAfxFMxsJeStNQ4BvzKKqjTu6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b4c56b4a-4824-40f5-73ef-08dbef1fc419
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 08:06:31.7444
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MZjc+LG4OveyvAyttCtVxENAKYhlp0p95kGGa0y1rleJZZy/DCHoG3dfXkT5sGSP5ImeFdNkZkDBwfwXJzoQtQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9326

On 24.11.2023 14:52, Andrew Cooper wrote:
> In the subject, [ -> {
> 
> ?

Right, noticed (sadly) just after sending, and already corrected locally.

> On 24/11/2023 8:38 am, Jan Beulich wrote:
>> ... to evaluate to false at compile-time when the respective Kconfig
>> control is off, thus allowing the compiler to eliminate then-dead code.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Thanks.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 08:27:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 08:27:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641675.1000429 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7WxE-0005cm-UR; Mon, 27 Nov 2023 08:26:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641675.1000429; Mon, 27 Nov 2023 08:26: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 1r7WxE-0005cf-Rl; Mon, 27 Nov 2023 08:26:56 +0000
Received: by outflank-mailman (input) for mailman id 641675;
 Mon, 27 Nov 2023 08:26: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7WxD-0005bJ-5d
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 08:26:55 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::631])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b6991fc7-8cfe-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 09:26:51 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7782.eurprd04.prod.outlook.com (2603:10a6:20b:28a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 08:26:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 08:26: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: b6991fc7-8cfe-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E+icNZSPRB15gZtVf+cR3CWMcgF/aZWlk+Bw09kXQ+hq8wCvnWAtH9R7Z+01Udz6vBvnEQ8GplrISigMnr5h49v+VSSwg0Ju/ktPAGMbF73VG/BPfhEya+yRUf6mJg2Sd5YkkXt5ZPPo7yUAoKNkniTX4YnsdfYPCmwb8PujrkqKw4P9ZxVy3yOPL2Eu9Hh0DSBcmBSkI0n0H6tiUsVaKOiZ6NAH+ugIBLJRDlJLnJJku7NdugY4kbU6tZCE2QZaaqDuEEs43CN9Ba9hfi0CcryXEFDyPWNI/YkTcloTtIU6x+Lpfj2RELmzPg9HaY/9BEajbbo49MC/tlk/wREt4A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9bT7HH3MSiJMX+dcuTD01F57YpwhXAjzYnqVRQXlBdU=;
 b=JbUgo0y5pO35CKH8psIqgcsskQ+1kLdj10sgAXbVBp69lDEDxySPtCXVJlFgEul8nZQsDBrWEZvI24+5MZq2WX6DoTA5b/9jvogCde2fH3yYMHee0ShCs2Z+uI621NGvo9aXX9UN3Ys6j/s0Th3kdf8ac3VOytysUIGKEx00AXGWQq+XQrrMRfbg2f2vTkAJ44zwLjdRh+Sr7zFFqTjMEtXQLG2E/s0Aqc6+YuPBVGcaM6MK/AAVSPdOybA5rB6LnqXU+NLz8GVVQVFQ/+N1wkXhxyHjcsRr2FVWsMqxtROkGJ31ebpVN3Zmn0stvlyaF72D1mnvdPDnoHL5NaAKGQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9bT7HH3MSiJMX+dcuTD01F57YpwhXAjzYnqVRQXlBdU=;
 b=Z9P5mJcx/WOmaNgbl2aaHg5fODYLyPL8tYIJtvBYY+dV1+QOg/k/X+cgOiLrO2ipbDSQiWfglduqFo6gnMZg7nHuBUsyE5c4//47arTjkUd02X6FP0BlqOwPoripZdjKN3gv2vOmN1F8PD9hfT1u7k2morrVpMcfVgaHUTw/hv+9XTxAu3TDuV7Ws24Tk4ed4AmmpmGg14F820FoXf+WRkqcOX50axLY/louN/qPXHBzlANmo7MiRy9onCmNn+Awt5CVFn/RxB01u/pCvIu5JeSlDHIqnUdXe1l3s8F+/q+Cb/XIln8U+8DuQ95OqEb4XJA6FjHYYoJ9OeJgbf/ghw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1a4d4082-4606-4d5b-9e7c-b8186f3a5e34@suse.com>
Date: Mon, 27 Nov 2023 09:26:48 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 06/15] x86/HVM: improve CET-IBT pruning of ENDBR
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Kevin Tian <kevin.tian@intel.com>,
 Jun Nakajima <jun.nakajima@intel.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
 <8112f1f9-3e3a-4839-9124-9adb87f82c29@suse.com>
 <c7e50f7f-690e-4402-a873-1534d01c6434@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c7e50f7f-690e-4402-a873-1534d01c6434@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0069.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:49::22) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7782:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b95a74d-1aa2-4d84-111b-08dbef2298de
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8tgiPXdRi9mdOopW6o7lmp47M9rhoLIyuU8wPUtD+a2LZMQZ/C+8uFqE6prmvfuiI9SxWPr9WY73LjaxINOpypUacBgzpQbKQcROQ4RG1ADHkC13xtIsQirTDwQLeD7GgOK17gKDRYIN+XDYYC8mOQhupFRdG8V0DXqFMsyeHeHKtPwqnp1BwyeuQMomKVdNOXpt3SyuA/37n8IFubWWYBlO3XzHqUed1j0AnfSPo8ccGg6tCp9rHRJvWdVWHf5r/CFD+yx61NaIH02iVHVE/HR7XnXIXwDMUnCwMkULj0gQWaH9temoHD7TSmRqpAsb2K/HWWMdsPwil0IaBAqES2Jg/kM6FkalXf5KLAHrPsCIo7TFjYzGY1h3KlXDVsDvJwD2NMbF97Bdc/JR6YHWdmNi7zw7KnK/3okEeWvwZd4OgGB2g2WnFWh+YRy9xd0idUGwsvS5QNaBPyZJTcMhW0lSxjPRnQ6Pkzhijd9DXThaZW/wVKqGFR2Lm7JjOiH661qVLoGQxc7X+O1091at/o2tIwq3gX4S1F4ioQ64EmmuSc0i5hs2JLTedG1CszuUuPzVzVWWnf/M30+H1Qk89iNbz8OS1kw3Lr/p6OTkdwSA/4CUoAFJYPO+L+GIqbdc/gOHdesZlShQuOYSGoNvOg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(346002)(39860400002)(136003)(366004)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(31686004)(26005)(6486002)(2616005)(6506007)(53546011)(478600001)(6512007)(38100700002)(36756003)(86362001)(31696002)(5660300002)(41300700001)(2906002)(66946007)(83380400001)(66476007)(4326008)(54906003)(66556008)(316002)(6916009)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NDRzejFoQytEK0hlVnZLSWdFb2JxcFR0U1JUaTIwcHpLUTB3bEsrN2hkY3gv?=
 =?utf-8?B?Q1E3eWFZaFdZMThuRmx4Y0RoTGpSOEhYNHVlTERvLzhNcUJkLzl4YkxZTDEx?=
 =?utf-8?B?Y2xrRURSTlloUDZOa2lPMk9zRkE1NUEvcGNlZUwrWDdac0RFMnE0RTAvcm9j?=
 =?utf-8?B?Z3hWVzVEMEc1b3Nzb0ZlYkVKS3M4azJhZWpaZWNPZjZPUHp1TTY4VDUvZ3FI?=
 =?utf-8?B?L1BKdHFkNGNMcjVYSXpEMDNhY0VFNHY3REphL3pjQmVZdW00UVlULzV6OTVW?=
 =?utf-8?B?MTRpWEVYcXJ1STJDWGMrUGdBaHNHQ0RVQW1VdlhUdW13REFnL0NLUmtnVWZT?=
 =?utf-8?B?Zk01VDdJNDJPTG1yM1BaWWMvSEVKUnJuQ0ljTWVTUitIV3JYRVA5NFVMVDZR?=
 =?utf-8?B?WFNSZ1c5aUFDZWNLN0RnWURYSVo2VTZiMDY5VUNhSEFvNHFWbkFHMGVyZXNJ?=
 =?utf-8?B?bHJzYWh3dG14MXh1eklQWGJITmFZM0YyTFRLdXB2bVY0U3U0LzFBdVhmSVZm?=
 =?utf-8?B?S1FETVVXemVCMzR6R2Q2Z1VzZWEydUxKM3g2WndKTzQ5UFVVMUNjRGxiUGpV?=
 =?utf-8?B?cWtVY3RZcTE0TCtNdVV2ZUk1bWhEdVl0ekNVOVFYQzlUTlV0YUl4b1ZMaDRX?=
 =?utf-8?B?cXpybllPU1hCR2ZZNmdZUG15QlpWTW43eWtaRXoxTzdMbkI1bUhGaHpLWTFX?=
 =?utf-8?B?T1RwVWx4c2xwcW1EdzdrRXllU3RNcEZaT1ZvekdPbTdiUnFTbEVLZ1RYalVC?=
 =?utf-8?B?dE1pQXgreEJBRzYySCtpMlo3UkNrZkthN0NxQmFBNzZiY3A3anVGQnNLeG14?=
 =?utf-8?B?Ri9LY3IwV2tDcDdCRTRsU3R3UDVHTTdFYXVXM3NsV2xOREdOZlNyQTFUL1Nz?=
 =?utf-8?B?NGNlZnowOWY5STBOT2ExRjFVcmExQ3c3VWVyb0FVbUJMeTZpOWdSWHp3Y2ho?=
 =?utf-8?B?aldiQkJYQ0RETHZXaWw5eElVOEhxVGViMUJjMlptVTV2RWIyQ1g1dDlJNFo3?=
 =?utf-8?B?ay9YRlFYbzZHa1kwNWJJUFhhZkdpWG5aL3VhQU5CR1hlV20vRStpTkorOUha?=
 =?utf-8?B?NnNTa0NzMDhMcHl5NkFiK21VM0lteHVSdlJ2WHB4STRPNU9RWEJtUUhBRFdQ?=
 =?utf-8?B?KzhBY25NN3hFSkRyYUtEWEJMeFF1aGZvR1NwQUgvb3gwakVZNy9iVmd0NHo3?=
 =?utf-8?B?a0h0YXdUMmVkME1NQWNYT0I2VGg3VERRUVNsYmNKUWhTejRVL0pwTHJkZGRN?=
 =?utf-8?B?cjBzV0RHVVB0c0h3U2ZGWVdBemhlS1FrcVYrU2htb0RycHUrRFpUWThZQVI1?=
 =?utf-8?B?dWpPSFhFdnhPNVQwTHB5cFhsai9Uc0hrM0k2WlIwVm9kK3FyS1NjUityZEFa?=
 =?utf-8?B?S2FzTXgvcGJHMGllQnVkVEF2MTh2ejVydGtjSXNoVFJiVzczVXdXMThUWlBp?=
 =?utf-8?B?bWJHN1ZXeisyWG02YUdCaXFlQk11aU10VFhrU2NLRXBrNFdJYm01b0NpWDFH?=
 =?utf-8?B?QnV4R3U0ZWJ5UGFYSlEvdmJLN3VtbER1STZhSVNBZ2t2eHVuQldiT2JHdkg1?=
 =?utf-8?B?N0h4Y0ZFOEc2c2xyeFlBRXhHOHI4TmVxVDhUT2dKbFlMSU44UFN6eGtvZklx?=
 =?utf-8?B?VGV2U3J2STU5Z28wL2J2RjRwZVN1cDJFVkxldno3dE9HQndTWHdmQk1GR2ly?=
 =?utf-8?B?eVlLV0VDTnFyemZ0aHNrV0FQS1l6Qkl2QjZIT0wzanFTYnJoTmorNndlZEdt?=
 =?utf-8?B?YzJ5Qm1hWGw4bnRaUTAwNEQxd3BOZUpLVURXMVhxalAyak80cnZ5ZS9xMUgv?=
 =?utf-8?B?aXVSbkJiamhJdmNrRjY5Z1g2My9tY0hzZ1ZZZHBuTHlweEZuWUo3NWdDb2F5?=
 =?utf-8?B?dEZOb3Bua0s0Qzd2L05aZ2pPcmlUVWdiaEFVRS9nUTJCdGVkbmRoeHM0M0hs?=
 =?utf-8?B?d3hESEFSRnBhcjF0NHhpWlhqUHZrK0VuUng3UDlvMFVmYVV2WHRJdHdXQ0Vz?=
 =?utf-8?B?RzBjWkx0MVhNVUZxQkI2bzFTbWRyMHdGUEc3cnd1cXFxV28vU3Ixa2E0byti?=
 =?utf-8?B?dWVudXpJQ3VHVkFCeUgyU2NLTVhGblJoczkyeUxxb0NkT0dBM1ZXVVRIYmlI?=
 =?utf-8?Q?FgxP/5aIzVGgPottj95bTaVIH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b95a74d-1aa2-4d84-111b-08dbef2298de
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 08:26:48.0269
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Ewm2mpAhSi6V7ZYAOGIi51VHIey77X0qg+PyBedvlQMjstFrsRiAotqGMo/OQhtR96Y6PAcGWtDX3QvBMNDbaA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7782

On 24.11.2023 23:28, Andrew Cooper wrote:
> On 24/11/2023 8:39 am, Jan Beulich wrote:
>> __init{const,data}_cf_clobber can have an effect only for pointers
>> actually populated in the respective tables. While not the case for SVM
>> right now, VMX installs a number of pointers only under certain
>> conditions. Hence the respective functions would have their ENDBR purged
>> only when those conditions are met. Invoke "pruning" functions after
>> having copied the respective tables, for them to install any "missing"
>> pointers.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> In theory Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>, but see
> later.

Thanks. See below as well.

>> ---
>> This is largely cosmetic for present hardware, which when supporting
>> CET-IBT likely also supports all of the advanced VMX features for which
>> hook pointers are installed conditionally. The only case this would make
>> a difference there is when use of respective features was suppressed via
>> command line option (where available). For future hooks it may end up
>> relevant even by default, and it also would be if AMD started supporting
>> CET-IBT; right now it matters only for .pi_update_irte, as iommu_intpost
>> continues to default to off.
>>
>> Originally I had meant to put the SVM and VMX functions in presmp-
>> initcalls, but hvm/{svm,vmx}/built_in.o are linked into hvm/built_in.o
>> before hvm/hvm.o. And I don't think I want to fiddle with link order
>> here.
> 
> An alternative is the form I used for microcode, where start_{vmx,svm}()
> fills in fns, and doesn't have to fill in all hooks.
> 
> That will be more amenable to Kconfig-ing generally, and will probably
> be less fragile to getting forgotten.

You mean specifically "x86/ucode: Move vendor specifics back out of
early_microcode_init()", which looks to not have gone in yet? That's going
the opposite route (NULLing out hooks after copying), yet this looks to
still go against what you're asking for below. In how far this would reduce
the chance of being forgotten is not entirely clear to me right away, but I
think I see your point.

One (further) benefit of copying before editing would of course be that the
static struct instances then can be const.

>> --- a/xen/arch/x86/hvm/vmx/vmx.c
>> +++ b/xen/arch/x86/hvm/vmx/vmx.c
>> @@ -3033,6 +3033,30 @@ const struct hvm_function_table * __init
>>      return &vmx_function_table;
>>  }
>>  
>> +void __init prune_vmx(void)
>> +{
>> +    /*
>> +     * Now that vmx_function_table was copied, populate all function pointers
>> +     * which may have been left at NULL, for __initdata_cf_clobber to have as
>> +     * much of an effect as possible.
>> +     */
>> +    if ( !cpu_has_xen_ibt )
>> +        return;
>> +
>> +    vmx_function_table.set_descriptor_access_exiting =
>> +        vmx_set_descriptor_access_exiting;
>> +
>> +    vmx_function_table.update_eoi_exit_bitmap = vmx_update_eoi_exit_bitmap;
>> +    vmx_function_table.process_isr            = vmx_process_isr;
>> +    vmx_function_table.handle_eoi             = vmx_handle_eoi;
>> +
>> +    vmx_function_table.pi_update_irte = vmx_pi_update_irte;
>> +
>> +    vmx_function_table.deliver_posted_intr = vmx_deliver_posted_intr;
>> +    vmx_function_table.sync_pir_to_irr     = vmx_sync_pir_to_irr;
>> +    vmx_function_table.test_pir            = vmx_test_pir;
> 
> That said...
> 
> This (the hooks being conditional in the first place) is bogus to begin
> with.  Posted interrupts (or not) are a per-VM property even if we don't
> wire this up properly yet.  It will be forced to be done properly in
> order to support nested virt, as L0 Xen *must* comply with the settings
> chosen by the L1 hypervisor.
> 
> So the choice to use the hooks will have to come from per-vCPU state,
> and not from the conditional-ness of them.
> 
> Any chance I can talk you into instead making the hooks unconditional? 
> If not, someone (George was volunteering) is going to have to undo this
> in fairly short order.

As you can see from "x86/HVM: drop tsc_scaling.setup() hook" I actually
did consider removing the conditional parts, where sufficiently
straightforward. I'll take another close look for the other hooks, but
I'm not going to promise anything towards actually taking the alternative
route.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 08:27:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 08:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641676.1000439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Wxj-00067q-6g; Mon, 27 Nov 2023 08:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641676.1000439; Mon, 27 Nov 2023 08: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 1r7Wxj-00067j-35; Mon, 27 Nov 2023 08:27:27 +0000
Received: by outflank-mailman (input) for mailman id 641676;
 Mon, 27 Nov 2023 08:27: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=j1wO=HI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7Wxh-00065t-K3
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 08:27:25 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ca3d9019-8cfe-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 09:27:24 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40b3e7f2fd9so14724905e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 00:27:24 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 e16-20020adffc50000000b003313902cef5sm11188853wrs.93.2023.11.27.00.27.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 00:27:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca3d9019-8cfe-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701073643; x=1701678443; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=DpW6mh75EPA88+Q0go1842xRQrpcvbKU0AZ/YBs8l10=;
        b=uUDxpY+ZD4Sp1XwIDO7U4vuPtN6+XODmROCqNGciXCNOv3tqpFn3ljNsgC+eG32Bez
         +uMiSqDo0syt5qUlSgEK05mLu5WhjhlLG7IVbcaK6E8H/OVB2pXH7xqLWJ2fdhH4rX5g
         S+CQze0Xi29PVZGMe7fjGkIYfE2zmkzimBBOs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701073643; x=1701678443;
        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:subject:date:message-id:reply-to;
        bh=DpW6mh75EPA88+Q0go1842xRQrpcvbKU0AZ/YBs8l10=;
        b=rpxqRi+CWF70x0lABUkxOFp6ZfCwjV4e76T3uStg8x6j4wwrY3hrH2WjXEmHGtdMKh
         ukxZCnKyzN33voXa2SzvF8lW2YF4gBe/P3RzSLC2IFPsxFic2PgELP/oEGCpZKrUYzWt
         Cd1xsjrkra3++9zie5uuuUZou2myODV/9lhDT1r5Iu5q9KU/HEYE6LyI/6hCxGx+WNQq
         Ltg0JoVJUwY4Tg71h7IfNVH1glTIqJO3xpOnpujBkcx39+tjrNgTSB+CbF5ZhBpfbKSA
         9yt6ApnSydOc/KGZ7eTjB4bk1mijMiE2Muwgc6Zgl+4sKsrOt3XKPQ4hoL7sAj7OUo6C
         UY9g==
X-Gm-Message-State: AOJu0Ywt9wthP3QOMxsA/r7kDH0/8DjTj/Ve7O4H2DEtr0QNY6I0nh+c
	rygvu5doFydRmMwzzPZNJIxnlg==
X-Google-Smtp-Source: AGHT+IFtK9fQvA6bM1No8GZVJsNh5SkNHM0rXNyt7Hkok8gO+TzYYdgXQExxv9kWZ3dUlogdjcdB7w==
X-Received: by 2002:a05:600c:4ecf:b0:40b:47dc:9bb3 with SMTP id g15-20020a05600c4ecf00b0040b47dc9bb3mr598096wmq.14.1701073643670;
        Mon, 27 Nov 2023 00:27:23 -0800 (PST)
Date: Mon, 27 Nov 2023 09:27:18 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Elliott Mitchell <ehem+xen@m5p.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
	Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org,
	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>,
	Neowutran <xen@neowutran.ovh>
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZWRS5qUTjkoD22MF@macbook>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
 <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
 <ZV1Rz+FmmyWFHiM9@mattapan.m5p.com>
 <ZV8d2ZiiiBBNySgc@macbook>
 <ZWFKtrBl2kpdvjBC@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZWFKtrBl2kpdvjBC@mattapan.m5p.com>

On Fri, Nov 24, 2023 at 05:15:34PM -0800, Elliott Mitchell wrote:
> On Thu, Nov 23, 2023 at 10:39:37AM +0100, Roger Pau Monné wrote:
> > On Tue, Nov 21, 2023 at 04:56:47PM -0800, Elliott Mitchell wrote:
> > > It was insisted that full logs be sent to xen-devel.  Perhaps I am
> > > paranoid, but I doubt I would have been successful at scrubbing all
> > > hardware serial numbers.  As such, I was willing to post substantial
> > > sections, but not everything.
> > 
> > Can you please point out which hardware serial numbers are you
> > referring to, and where are they printed in Xen dmesg?
> 
> I didn't confirm the presence of hardware serial numbers getting into
> Xen's dmesg, but there was a lot of data and many hexadecimal numbers.
> With 4000 lines of output, checking for concerning data is troublesome.

4000 lines of output from Xen dmesg seems quite suspicious.  Xen dmesg
on a fully booted box is ~400 lines on my local box.  That might get
quite longer if you have a box with a lot of memory region, or a lot
of CPUs.

> There was enough for alarms to trigger.

That's fine, but without pointing out which information is sensitive,
it's very unlikely such concerns will ever get fixed.

Could you at least go over the log and point out the first instance of
such line that you consider contains sensitive information?

The primary way we have to diagnose and solve issues reported by users
is based on Xen dmesg, so if it's impossible to provide it for privacy
reasons that's an issue that we need to address.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 08:36:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 08:36:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641685.1000449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7X64-0008O8-1r; Mon, 27 Nov 2023 08:36:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641685.1000449; Mon, 27 Nov 2023 08:36: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 1r7X63-0008O1-V6; Mon, 27 Nov 2023 08:36:03 +0000
Received: by outflank-mailman (input) for mailman id 641685;
 Mon, 27 Nov 2023 08:36: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=EO16=HI=casper.srs.infradead.org=BATV+aa86ddc7919caf007eda+7400+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r7X62-0008MU-K1
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 08:36:03 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fdf93e58-8cff-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 09:36:00 +0100 (CET)
Received: from [2001:8b0:10b:5:4d47:ff3d:19f6:2ce9]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r7X5k-00BCIV-CG; Mon, 27 Nov 2023 08:35: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: fdf93e58-8cff-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=t8WucoIIvwkBv16MHsGc53u2MEDd7Gz2klnep6cc95A=; b=ve0U8le8ZnTBfkF0MCpDZa9DBV
	k1E8hLX5G6m21kwSkHOzCqJZtZRuUARwqD50OGS1MBQ0F0aaCrTib7JSjJ8CuuZ0ulKC45hS4aBHi
	KXiqSbFdWdHlQ7203nDxjyvIaj68ON6hWqBQkMlgVGOt14tISTaYGby9CV2/6VBROFW4M4KouBPvd
	yh3yJgy0WsoWddQ863HBkMqD+el6ILa5FRXPpcEpHm9J61FQSd+mSi4eGtyuJH60vpQUQLizbnMKr
	Z4JmRRnXlZvnWe2UDU8zIJ8sCFipZBql15NZXGd8MamtZZRm7sH7shvIIYgS/LDs6Q1kLSoX/8rLq
	hLQoVOmQ==;
Message-ID: <51fd9b1f4407b92352c109cbef5acf16c91351d4.camel@infradead.org>
Subject: Re: [EXTERNAL] [PATCH v3 2/5] xen: backends: don't overwrite
 XenStore nodes created by toolstack
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, "qemu-devel@nongnu.org"
	 <qemu-devel@nongnu.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Paul Durrant <xadimgnik@gmail.com>, Oleksandr Tyshchenko
 <Oleksandr_Tyshchenko@epam.com>, Anthony Perard
 <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Kevin Wolf
 <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, 
 =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>, Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>, "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,  "open list:Block
 layer core" <qemu-block@nongnu.org>
Date: Mon, 27 Nov 2023 08:35:42 +0000
In-Reply-To: <20231124232400.943580-3-volodymyr_babchuk@epam.com>
References: <20231124232400.943580-1-volodymyr_babchuk@epam.com>
	 <20231124232400.943580-3-volodymyr_babchuk@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-o65bmCye2sIQWK/pTUhq"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


--=-o65bmCye2sIQWK/pTUhq
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: base64

T24gRnJpLCAyMDIzLTExLTI0IGF0IDIzOjI0ICswMDAwLCBWb2xvZHlteXIgQmFiY2h1ayB3cm90
ZToKPiBYZW4gUFYgZGV2aWNlcyBpbiBRRU1VIGNhbiBiZSBjcmVhdGVkIGluIHR3byB3YXlzOiBl
aXRoZXIgYnkgUUVNVQo+IGl0c2VsZiwgaWYgdGhleSB3ZXJlIHBhc3NlZCB2aWEgY29tbWFuZCBs
aW5lLCBvciBieSBYZW4gdG9vbHN0YWNrLiBJbgo+IHRoZSBsYXR0ZXIgY2FzZSwgUUVNVSBzY2Fu
cyBYZW5TdG9yZSBlbnRyaWVzIGFuZCBjb25maWd1cmVzIGRldmljZXMKPiBhY2NvcmRpbmdseS4K
PiAKPiBJbiB0aGUgc2Vjb25kIGNhc2Ugd2UgZG9uJ3Qgd2FudCBRRU1VIHRvIHdyaXRlL2RlbGV0
ZSBmcm9udC1lbmQKPiBlbnRyaWVzIGZvciB0d28gcmVhc29uczogaXQgbWlnaHQgaGF2ZSBubyBh
Y2Nlc3MgdG8gdGhvc2UgZW50cmllcyBpZgo+IGl0IGlzIHJ1bm5pbmcgaW4gdW4tcHJpdmlsZWdl
ZCBkb21haW4gYW5kIGl0IGlzIGp1c3QgaW5jb3JyZWN0IHRvCj4gb3ZlcndyaXRlIGVudHJpZXMg
YWxyZWFkeSBwcm92aWRlZCBieSBYZW4gdG9vbHN0YWNrLCBiZWNhdXNlCj4gdG9vbHN0YWNrCj4g
bWFuYWdlcyB0aG9zZSBub2Rlcy4gRm9yIGV4YW1wbGUsIGl0IG1pZ2h0IHJlYWQgYmFja2VuZC0g
b3IgZnJvbnRlbmQtCj4gc3RhdGUgdG8gYmUgc3VyZSB0aGF0IHRoZXkgYXJlIGJvdGggZGlzY29u
bmVjdGVkIGFuZCBpdCBpcyBzYWZlIHRvCj4gZGVzdHJveSBhIGRvbWFpbi4KPiAKPiBUaGlzIHBh
dGNoIGNoZWNrcyBwcmVzZW5jZSBvZiB4ZW5kZXYtPmJhY2tlbmQgdG8gY2hlY2sgaWYgWGVuIFBW
Cj4gZGV2aWNlIHdhcyBjb25maWd1cmVkIGJ5IFhlbiB0b29sc3RhY2sgdG8gZGVjaWRlIGlmIGl0
IHNob3VsZCB0b3VjaAo+IGZyb250ZW5kIGVudHJpZXMgaW4gWGVuU3RvcmUuIEFsc28sIHdoZW4g
d2UgbmVlZCB0byByZW1vdmUgWGVuU3RvcmUKPiBlbnRyaWVzIGR1cmluZyBkZXZpY2UgdGVhcmRv
d24gb25seSBpZiB0aGV5IHdlcmVuJ3QgY3JlYXRlZCBieSBYZW4KPiB0b29sc3RhY2suIElmIHRo
ZXkgd2VyZSBjcmVhdGVkIGJ5IHRvb2xzdGFjaywgdGhlbiBpdCBpcyB0b29sc3RhY2sncwo+IGpv
YiB0byBkbyBwcm9wZXIgY2xlYW4tdXAuCj4gCj4gU3VnZ2VzdGVkLWJ5OiBQYXVsIER1cnJhbnQg
PHhhZGltZ25pa0BnbWFpbC5jb20+Cj4gU3VnZ2VzdGVkLWJ5OiBEYXZpZCBXb29kaG91c2UgPGR3
bXdAYW1hem9uLmNvLnVrPgo+IENvLUF1dGhvcmVkLWJ5OiBPbGVrc2FuZHIgVHlzaGNoZW5rbyA8
b2xla3NhbmRyX3R5c2hjaGVua29AZXBhbS5jb20+Cj4gU2lnbmVkLW9mZi1ieTogVm9sb2R5bXly
IEJhYmNodWsgPHZvbG9keW15cl9iYWJjaHVrQGVwYW0uY29tPgoKUmV2aWV3ZWQtYnk6IERhdmlk
IFdvb2Rob3VzZSA8ZHdtd0BhbWF6b24uY28udWs+CgouLi4gYWxiZWl0IHdpdGggYSBjb3VwbGUg
b2Ygc3VnZ2VzdGlvbnMuLi4gCgo+IGRpZmYgLS1naXQgYS9ody9jaGFyL3hlbl9jb25zb2xlLmMg
Yi9ody9jaGFyL3hlbl9jb25zb2xlLmMKPiBpbmRleCBiZWY4YTNhNjIxLi5iNTJkZGRkYWJmIDEw
MDY0NAo+IC0tLSBhL2h3L2NoYXIveGVuX2NvbnNvbGUuYwo+ICsrKyBiL2h3L2NoYXIveGVuX2Nv
bnNvbGUuYwo+IEBAIC00NTAsNyArNDUwLDcgQEAgc3RhdGljIHZvaWQgeGVuX2NvbnNvbGVfcmVh
bGl6ZShYZW5EZXZpY2UgKnhlbmRldiwgRXJyb3IgKiplcnJwKQo+IAo+IMKgwqDCoMKgIHRyYWNl
X3hlbl9jb25zb2xlX3JlYWxpemUoY29uLT5kZXYsIG9iamVjdF9nZXRfdHlwZW5hbWUoT0JKRUNU
KGNzKSkpOwo+IAo+IC3CoMKgwqAgaWYgKENIQVJERVZfSVNfUFRZKGNzKSkgewo+ICvCoMKgwqAg
aWYgKENIQVJERVZfSVNfUFRZKGNzKSAmJiAheGVuZGV2LT5iYWNrZW5kKSB7Cj4gwqDCoMKgwqDC
oMKgwqDCoCAvKiBTdHJpcCB0aGUgbGVhZGluZyAncHR5OicgKi8KPiDCoMKgwqDCoMKgwqDCoMKg
IHhlbl9kZXZpY2VfZnJvbnRlbmRfcHJpbnRmKHhlbmRldiwgInR0eSIsICIlcyIsIGNzLT5maWxl
bmFtZSArIDQpOwo+IMKgwqDCoMKgIH0KCgpJdCdzIGtpbmQgb2Ygd2VpcmQgdGhhdCB0aGF0IG9u
ZSBpcyBhIGZyb250ZW5kIG5vZGUgYXQgYWxsOyBzdXJlbHkgaXQKc2hvdWxkIGhhdmUgYmVlbiBh
IGJhY2tlbmQgbm9kZT8gQnV0IGl0IGlzIGtub3duIG9ubHkgdG8gUUVNVSBvbmNlIGl0CmFjdHVh
bGx5IG9wZW5zIC9kZXYvcHRteCBhbmQgY3JlYXRlcyBhIG5ldyBwdHkuIEl0IGNhbid0IGJlIHBv
cHVsYXRlZApieSB0aGUgdG9vbHN0YWNrIGluIGFkdmFuY2UuCgpTbyBzaG91bGRuJ3QgdGhlIHRv
b2xzdGFjayBoYXZlIG1hZGUgaXQgd3JpdGFibGUgYnkgdGhlIGRyaXZlciBkb21haW4/IAoKSSB0
aGluayB3ZSBzaG91bGQgYXR0ZW1wdCB0byB3cml0ZSB0aGlzIGFuZCBqdXN0IGdyYWNlZnVsbHkg
aGFuZGxlIHRoZQpmYWlsdXJlIGlmIHdlIGNhbid0LiAoSW4gZmFjdCwgeGVuX2RldmljZV9mcm9u
dGVuZF9wcmludGYoKSB3aWxsIGp1c3QKdXNlIGVycm9yX3JlcG9ydF9lcnIoKSB3aGljaCBpcyBw
cm9iYWJseSBPSyB1bmxlc3MgeW91IGZlZWwgc3Ryb25nbHkKYWJvdXQgc2lsZW5jaW5nIGl0KS4K
Cj4gZGlmZiAtLWdpdCBhL2h3L25ldC94ZW5fbmljLmMgYi9ody9uZXQveGVuX25pYy5jCj4gaW5k
ZXggYWZhMTBjOTZlOC4uMjc0NDJiZWYzOCAxMDA2NDQKPiAtLS0gYS9ody9uZXQveGVuX25pYy5j
Cj4gKysrIGIvaHcvbmV0L3hlbl9uaWMuYwo+IEBAIC0zMTUsMTQgKzMxNSwxNiBAQCBzdGF0aWMg
dm9pZCB4ZW5fbmV0ZGV2X3JlYWxpemUoWGVuRGV2aWNlICp4ZW5kZXYsIEVycm9yICoqZXJycCkK
PiAKPiDCoMKgwqDCoCBxZW11X21hY2FkZHJfZGVmYXVsdF9pZl91bnNldCgmbmV0ZGV2LT5jb25m
Lm1hY2FkZHIpOwo+IAo+IC3CoMKgwqAgeGVuX2RldmljZV9mcm9udGVuZF9wcmludGYoeGVuZGV2
LCAibWFjIiwgIiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4IiwKPiAtwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5ldGRldi0+
Y29uZi5tYWNhZGRyLmFbMF0sCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuZXRkZXYtPmNvbmYubWFjYWRkci5hWzFdLAo+IC3C
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqAgbmV0ZGV2LT5jb25mLm1hY2FkZHIuYVsyXSwKPiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5ldGRldi0+Y29uZi5tYWNhZGRy
LmFbM10sCj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoCBuZXRkZXYtPmNvbmYubWFjYWRkci5hWzRdLAo+IC3CoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmV0ZGV2LT5j
b25mLm1hY2FkZHIuYVs1XSk7Cj4gLQo+ICvCoMKgwqAgaWYgKCF4ZW5kZXYtPmJhY2tlbmQpIHsK
PiArwqDCoMKgwqDCoMKgwqAgeGVuX2RldmljZV9mcm9udGVuZF9wcmludGYoeGVuZGV2LCAibWFj
IiwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgIiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4IiwKPiArwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqAgbmV0ZGV2LT5jb25mLm1hY2FkZHIuYVswXSwKPiArwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmV0ZGV2
LT5jb25mLm1hY2FkZHIuYVsxXSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmV0ZGV2LT5jb25mLm1hY2FkZHIu
YVsyXSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgbmV0ZGV2LT5jb25mLm1hY2FkZHIuYVszXSwKPiArwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqAgbmV0ZGV2LT5jb25mLm1hY2FkZHIuYVs0XSwKPiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmV0ZGV2LT5j
b25mLm1hY2FkZHIuYVs1XSk7Cj4gK8KgwqDCoCB9Cj4gwqDCoMKgwqAgbmV0ZGV2LT5uaWMgPSBx
ZW11X25ld19uaWMoJm5ldF94ZW5faW5mbywgJm5ldGRldi0+Y29uZiwKPiDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvYmplY3Rf
Z2V0X3R5cGVuYW1lKE9CSkVDVCh4ZW5kZXYpKSwKPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBERVZJQ0UoeGVuZGV2KS0+aWQs
IG5ldGRldik7CgoKUGVyaGFwcyBoZXJlIHlvdSBzaG91bGQgY3JlYXRlIHRoZSAibWFjIiBub2Rl
IGlmIGl0IGRvZXNuJ3QgZXhpc3QgKG9yCmlzIHRoYXQgImlmIGl0IGRvZXNuJ3QgbWF0Y2ggbmV0
ZGV2LT5jb25mLm1hY2FkZHIiPykgYW5kIGp1c3QKZ3JhY2VmdWxseSBhY2NlcHQgZmFpbHVyZSB0
b28/CgoKCg==


--=-o65bmCye2sIQWK/pTUhq
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTI3MDgzNTQyWjAvBgkqhkiG9w0BCQQxIgQgvVVTPY8H
BxrTcS10rhfZj1QzP9uP1HsFaBt+FfAaOiowgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBFECi6ppuWQW9eYUcBDFWIH+BIBhh7P6ex
jtIZs/irgirtxyTz/EL82MN/zoK0hXy0cBeZomwl3+oKdcBwDMkus5D9II9k2+UYgRM+u/SJkvPw
hs3jRu8n+zJZBtlBzT1WBeeRW/wBzb7lsELdwetGXwPy6jzE/C8bUlFAUiGtHJh7yDHxK17XEzmT
PKIiMd74tUvC9yxZqA+sYbH1l8ICdaCLf057f/+7pqSp+oi81Xd9pxEhJ/7eJCgG9lLV3x0K+OxX
F5GOhmmadwAiHqEah90ovlovDUTOlPvWqlHcW7TC1Z2etkGKp6n7zElj4kI1qtb8oB2OBL/O7YHA
knPdbcsZMbCBwJHxa6nI7UgxRohKnaU0xKMid1f7jDoZI+vG5qiHlXLko/ZNYj5fEQbepGPamvYk
6dEsEUSeBG1czuQj+UcbdVpUrFdndrPwJ9zNSdbzN/+wNc8cHhvGa3x8G1EbC/xPKLIlw2UvxLJp
ApoqWlaguMTR2GVbeLuuEziACo7I/pdycFwIoWpRIaAbx2coijWwpdSeQGOVrkdZ1jtxmkq6u8uX
klWrSjzPaTE0IHEP/+L88Fu8FgRW5rOiWSDFMvCUGxfEzUUpxg0ak/PU3nq9y9MrbbMVXpifQGTc
nPRC2NOsBS0H43zextBkGNXD0bt6SDLgxewqeFOjYQAAAAAAAA==


--=-o65bmCye2sIQWK/pTUhq--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 08:40:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 08:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641693.1000459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7XAa-0002j1-OE; Mon, 27 Nov 2023 08:40:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641693.1000459; Mon, 27 Nov 2023 08:40: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 1r7XAa-0002iu-Kw; Mon, 27 Nov 2023 08:40:44 +0000
Received: by outflank-mailman (input) for mailman id 641693;
 Mon, 27 Nov 2023 08:40: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7XAZ-0002io-Q7
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 08:40:43 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20627.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::627])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a616052b-8d00-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 09:40:42 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB6969.eurprd04.prod.outlook.com (2603:10a6:10:11b::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 08:40:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 08:40: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: a616052b-8d00-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RJqmlL70zuv2tgzQEj9zwRucm8DfaZABbtiXSP5sGjf3ZLF2cH7KUPOGaLpDcmHGbzUCKzTGk4o1UHRXSn8CkMfuYev/v0Cizi8IfrrhWwzy5eZoDPhfHwxLNI/TqMlgTuyPgzTWriWf7Ig2TPaEn+/SgQHfTUwivQ/c7C4GtHCNNMyBDow4mCceQnUJ0g+2Vp4onzdTofclKH+bijrnim3amPEIje+Fc/JNLt5qkKKvnd465B6VcJFqboAZDN9cYwbJbh3s+j/CCrGSFk9aJScxnUgXh2eNQO9K81BELxxvyXyeYrc6l6BGj4o1H4lNxVdvFP0PZLGAIlB9gkMSUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eKqgYgBZgxZzjwy0IBelXNH7KhvjD+C+mCZJjhqUUFo=;
 b=WeSsrAm6a/7fLAELfXV8DH7yd6t2kl25lv6dOeJ7ZVF/sx/sgi6SoaUoaM4aODc40s8rFcKJv72VGzLYq0WkHTmyY222gZD+T/1nWUHn8x8ThWawhJJ6D3T66neIyoChu/QRvG3urghWTkrbCdnWbiDdcmO0Um8caEXSJCGQB1yE/5dUdfKwoqTyrYyRChRAnuQ58a9dXmfMVMrbnx4QsKDFo1XmulW8kZ5xAzqE9e+HBGYALpxnUzWwcpVH7+KgPMM9hM3C/0xXqnSPIdp4zumERAQH5ps4u1Nf+IxEURiaO9TL+13atVzJjx3MK3VCOM/cXXSeM1ITnLVYq4qTNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=eKqgYgBZgxZzjwy0IBelXNH7KhvjD+C+mCZJjhqUUFo=;
 b=tnKhjZPLvLIkncKJfg8wGKI17w1/bL2mAMU4NvhqiupJrccWnz1RrZyU2ug+gMXTV+kD5zdGkMVAVil+pUUZolwA6plj2S5sbijHHlrPTjMbN/rNtOabdodUH7tbpSAF8deYA35TjQVTo8SbTk2SXdeei68NKqXhwXVqwn3GePTppvm7G8FIEdnF1lGEcMzm91nxcc5DcQ8CArSJNQqwU4EGfrTEBjqyU+EVzj8TSaBX+IXBJM1+CkqH4yNGeM+xLCHcPuofWEwotpwM2zCsrTbpXPA84oqLxR8uLPAZQzTtlSgd7Y6pV2bDLUC/UJqBSMcUVjPg2VM8lQwB7tI9lQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2fedb7c1-5742-46d7-9882-d2ec336beece@suse.com>
Date: Mon, 27 Nov 2023 09:40:41 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 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: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:cb::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB6969:EE_
X-MS-Office365-Filtering-Correlation-Id: 1042ecf7-a6e8-447e-7392-08dbef248977
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	gVw2CCIbSd3W5Cum+xyrQJrBkp+DgmONBsYGAW/tBo9OILheKLsrSLm2GDq8I+KLpc8hN+SPpC6wDYtPp/cmipabwQT1lKIK4cl+QvOZq2JiiKrFXEA1pvP3d2OYY+m+NODVJkaJO7jbWYQdoagb+dh4QECO0MA3E36E2a0gvilftQcKJrfTw0twJzYGV6DESmdkOjKHJZazRWlshexD/b1zE1IpVk2mAz6c0EoO5U4DfcUCzTdJVx2lILp0jy2N28rK/Qe6YZkanrjo5ARUNNFdOeDYMNsukMWJkUgBhbDUpwqAxmoJiv2IP12+cwRU/PeCRq0PKQ6f12xptmCnLRWBvlIZqq0KhgSZwHBPO6axT47qzjhsTVQML7UpP+bs2bm52WTs/DU9iuursw+Qa1B/Py+PBeaqREazk72dSPbDfKV/VU30A0xHhONBQEkcslUyjaCCoOhB2pjhMZP5Fd4DSGfIEltQC1/npy4w1t/mgtBZnzEjZ/E4i1yA2niYZOh+Z8e4NoXUgPOwVPapOABG4eZYjLHUFUnpgw6GA0r9oADPoNGZqWuFWzSo3tWjHktIwBODySIx6B2k7EvqynCHX+x1DfA+57KMSkccZdKor9Jd4GN1xyA4Ll76VOrRisjCFowtLiEOec7HS5bkeg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(396003)(39860400002)(366004)(346002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(31686004)(26005)(6486002)(2616005)(6506007)(53546011)(478600001)(6512007)(38100700002)(86362001)(36756003)(31696002)(5660300002)(41300700001)(2906002)(66946007)(66556008)(54906003)(110136005)(316002)(66476007)(4326008)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZGxJT3kwbTRBWWcxd3FEd0pGUlhCNUFCdnY3K3lsSjUwb2xZQStUZnpJREZk?=
 =?utf-8?B?OVlldUtkY3RBY2RCbXZGUnVZZDI1RmU3SnBxT1B5bTdZQzhqSjZZb0RhVHk5?=
 =?utf-8?B?K05iSmllR0JOZW83MFRhbkluekU5VWFzeERxRDNGbVVvUHVQdHZhZ1lQRzVO?=
 =?utf-8?B?VUJhclI2dy8zMTFqN0NnUFI5eEMzRjFxRVk2UG5xM3JOZUowTCt3WjJNc1NN?=
 =?utf-8?B?bjJLMGxFRWpzTlJMYWc0ZkVpcHlvbTZqZHdCOWZjVmlLVFJtY0RPZXZocHIr?=
 =?utf-8?B?b2VDQTRCazlrNm40QVhRL25FbGo0NEhteGpXMjZtWDBVZTd6NzR6dytTUW05?=
 =?utf-8?B?RUtWc00wOHh4dnAzY1hZcEJPeW5iSlE0VzFYL0hFeEhvemdCYlg4N1QzU3Rz?=
 =?utf-8?B?cnkwS2ZDcHJyOWRCTE53WkdmYWhMUSs3Ync5alJhbWpFa2dEZFNuZlpUNWo3?=
 =?utf-8?B?MFpJSlVOTS9zZXN6Z1ZtNkNIMlBmckpNNUxyZUloK2kzdDNlazNTekV2OWhn?=
 =?utf-8?B?QnVUKzFsL3hoelBML29FMEtydjVDK3A0Q2E5dlcwTkdhMHhWVFI1dVcvc0Ft?=
 =?utf-8?B?RVRlY0xWR3IvekpjMm9DZWJNeG1udEJONUNhejlQdW42Q3VHb1UyZG9UNVkr?=
 =?utf-8?B?WFFNMzQvUXRDY25vdTArS2dpSUdBRHAvOVo2d3JUZWgvdTY5OXQyVHdMYzhT?=
 =?utf-8?B?UmVzOVVUQytkQWxpNEtJd3FuclBTZFpaU1Vub1J2ZXV2eUwxalQrckFOejBh?=
 =?utf-8?B?S1owZk9ibkdFdnlXSm8xTjQrY0MyczVlSVozaE4vTFJyMHB5bFl1b3UzNUhx?=
 =?utf-8?B?NkZlK3lDbUtYd0pNWWRIbHdGb24ybTVOR0c5RVZxcllkalE0aGZUMGlxcHNy?=
 =?utf-8?B?MHhtYTh3Nm9EYXJMS3BLNEpTUnh6allEaHhwZWJMZEpCenVJcjRsc2NUZWF1?=
 =?utf-8?B?K1BweVBuUk56d28vSjhhdmZtOXhIUk9BaEl2Q0JrdnpnZitteVZHMzdhV1l0?=
 =?utf-8?B?dG9Jb25XVEdaZHZOUXEza1BJTGNBN29US203blJGZS9ZMkJkNnpKQjZyeUVz?=
 =?utf-8?B?UDAwdXdpU3pKWTJvZUlmcmp0d3BpbUp0Z24rbnROWFFEN3ZtMEF0cnNvTU15?=
 =?utf-8?B?QmlnWFUvWTNaUkd2a1RKMnFKS3ZZa2cwaVl3S3hVTFJIeTQ0NDBFZlQxNS9X?=
 =?utf-8?B?MmY5b1BQV0VRS1B1dnJobElIVEpEYWZRV2JCOFpnT1c3SUVMdjFkNVlXak4w?=
 =?utf-8?B?WWk2VFAwUXRVMTVPTHdJay9DRy90REI5am5HNWgzZDF0dVFXZUtGbTRUSUVE?=
 =?utf-8?B?RjRXcHNSNHBCTFR0eXB5UGRXT0tJeGRsdDZJNjdjWjBDR1M1L1JUemlCT3Y0?=
 =?utf-8?B?TXNpTG8vRlFWdzhZTDNXVEtMMlkxZk1KRjJ2c1V5TWJQdXFkNHh1aFVQenFF?=
 =?utf-8?B?ZVpzdVppNVpPNWxLV0FGMW51WDdSWHZaSTRyM2h3VjFkUnE1QkI2L1MwdkVX?=
 =?utf-8?B?cGM3eXNsMFNLN1BtTWZEdUV2N1Z4b1ZmcEswdU1ibThMM3U5U1RKdEFrdnZ4?=
 =?utf-8?B?czgrRTlxRi8vaTd4NjFLR0RuRkRxODZxUkF1Yk9nU3EzdGhJQ1VyUVVKS21s?=
 =?utf-8?B?YmI2TmU3dS9vS0xJT2dnZ2prL2c4Tzc1RDJ2SDF5TG9vSXlSK2xaWWUwUjht?=
 =?utf-8?B?Ym8wb3Z0QzRBRTRDQXJsY0dIYlJKZHFxRmVDVk1xSHU2aTZBRldaNDh0aXFq?=
 =?utf-8?B?cDQwR1A1T21vQWhITmRRWnFXeExYUGUybXBOSmEzK0h4RVphcGtkaGtvUVJk?=
 =?utf-8?B?Y05icWlrdk4ya0p3Vjc0YW1EaDJjb1k3V1FkMllKU1VxTHYxNTh6ZFpjakY3?=
 =?utf-8?B?eHFmMTJTRVRYcXFHRi8xbERBU256aHoxczUvOTRKa2ROempJOHpJcThPQ2tn?=
 =?utf-8?B?VFZ2TmhyckNCMHRmcEVOUW9sa25PQnptSnNjNk82Tks1aFdXZ3g0SmNBNG0z?=
 =?utf-8?B?NnQxZGo5STMyd0RTeG93bzRVL2prM0FZYmp2NE5VMDVKZURjLzdtVWNTRkJn?=
 =?utf-8?B?WjdudFEyaUpvTkVLZS9HSG1MVjgvdUJ0c1cybUxHVjR1ek5sbkhENXZVcHZN?=
 =?utf-8?Q?xPJNyOxAqNHUHd9zfuIs+y/xP?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1042ecf7-a6e8-447e-7392-08dbef248977
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 08:40:40.8220
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9iC54Z8tUVZXYrpRTgS8OutBb6iMTZ3GfSnr4rZ5qVjxUbx0hbnx7eSFwq+u5qMuioyCc4OMoTJBewJX+t9GPQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB6969

On 23.11.2023 18:30, Alejandro Vallejo wrote:
> @@ -1498,27 +1511,36 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
>   */
>  static void lapic_load_fixup(struct vlapic *vlapic)
>  {
> -    uint32_t id = vlapic->loaded.id;
> +    uint32_t good_ldr = x2apic_ldr_from_id(vlapic->loaded.id);
>  
> -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
> -    {
> +    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
> +    if ( !vlapic_x2apic_mode(vlapic) ||
> +         (vlapic->loaded.ldr == good_ldr) )
> +        return;
> +
> +    if ( vlapic->loaded.ldr == 1 )
> +       /*
> +        * Xen <= 4.4 may have a bug by which all the APICs configured in
> +        * x2APIC mode got LDR = 1. We can't leave it as-is because it
> +        * assigned the same LDR to every CPU.  We'll fix fix the bug now
> +        * and assign an LDR value consistent with the APIC ID.
> +        */

Just one comment on top of Andrew's: Is the double "fix" really intended
here? (I could see it might be, but then "fix the bug fix" would read
slightly more smoothly to me as a non-native speaker.)

Another aspect here is what exactly the comment states (and does not
state). Original comments made explicit that LDR == 1 contradicts ID == 0.
In the new comment you only emphasize that all CPUs cannot have that same
LDR. But the value of 1 being bogus in the first place doesn't become clear
anymore.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 08:46:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 08:46:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641696.1000469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7XGC-0003Vl-Al; Mon, 27 Nov 2023 08:46:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641696.1000469; Mon, 27 Nov 2023 08:46: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 1r7XGC-0003Ve-7x; Mon, 27 Nov 2023 08:46:32 +0000
Received: by outflank-mailman (input) for mailman id 641696;
 Mon, 27 Nov 2023 08:46: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=lpOF=HI=amazon.co.uk=prvs=6887de0c1=dwmw@srs-se1.protection.inumbo.net>)
 id 1r7XGA-0003VY-En
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 08:46:30 +0000
Received: from smtp-fw-80006.amazon.com (smtp-fw-80006.amazon.com
 [99.78.197.217]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 734a1a14-8d01-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 09:46:28 +0100 (CET)
Received: from pdx4-co-svc-p1-lb2-vlan3.amazon.com (HELO
 email-inbound-relay-pdx-2a-m6i4x-1197e3af.us-west-2.amazon.com)
 ([10.25.36.214]) by smtp-border-fw-80006.pdx80.corp.amazon.com with
 ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2023 08:46:24 +0000
Received: from smtpout.prod.us-east-1.prod.farcaster.email.amazon.dev
 (pdx2-ws-svc-p26-lb5-vlan2.pdx.amazon.com [10.39.38.66])
 by email-inbound-relay-pdx-2a-m6i4x-1197e3af.us-west-2.amazon.com (Postfix)
 with ESMTPS id 266D8100FBD; Mon, 27 Nov 2023 08:46:23 +0000 (UTC)
Received: from EX19MTAUEA002.ant.amazon.com [10.0.44.209:44475]
 by smtpin.naws.us-east-1.prod.farcaster.email.amazon.dev [10.0.6.41:2525] with
 esmtp (Farcaster)
 id 141044fc-c10d-4cf8-bc11-f71ae1145270; Mon, 27 Nov 2023 08:46:22 +0000 (UTC)
Received: from EX19D008UEC001.ant.amazon.com (10.252.135.232) by
 EX19MTAUEA002.ant.amazon.com (10.252.134.9) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.2.1118.39; Mon, 27 Nov 2023 08:46:22 +0000
Received: from EX19D008UEC001.ant.amazon.com (10.252.135.232) by
 EX19D008UEC001.ant.amazon.com (10.252.135.232) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.2.1118.39;
 Mon, 27 Nov 2023 08:46:22 +0000
Received: from EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797]) by
 EX19D008UEC001.ant.amazon.com ([fe80::4702:5d1a:c556:797%3]) with mapi id
 15.02.1118.039; Mon, 27 Nov 2023 08: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
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 734a1a14-8d01-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=amazon.co.uk; i=@amazon.co.uk; q=dns/txt;
  s=amazon201209; t=1701074788; x=1732610788;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to;
  bh=2f4ZZ4v4ePsCyOCB+yogvbTxlVa8DfjeKoghatgYhHI=;
  b=KeWcBEOjfc+eNBLZZI7Yw7mdHXnumIevTAUFTOIFLp/fS7qgJHvA+IRh
   zj6vbBwMOQvAUAtFK1YgzPU0mKwBi91AmNkmQxezlxFfL828QTUx1TnCo
   2hOd4APbZVY6lLYxFLIp6BcY/3j67+VZh6pxs9IqHnLbfAma/FgtFs4TJ
   s=;
X-Amazon-filename: smime.p7s
X-IronPort-AV: E=Sophos;i="6.04,230,1695686400"; 
   d="p7s'?scan'208";a="255012342"
Content-Type: multipart/mixed; boundary="===============3000760005954283363=="
MIME-Version: 1.0
X-Farcaster-Flow-ID: 141044fc-c10d-4cf8-bc11-f71ae1145270
From: "Woodhouse, David" <dwmw@amazon.co.uk>
To: "Volodymyr_Babchuk@epam.com" <Volodymyr_Babchuk@epam.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
CC: "eduardo@habkost.net" <eduardo@habkost.net>, "sstabellini@kernel.org"
	<sstabellini@kernel.org>, "marcel.apfelbaum@gmail.com"
	<marcel.apfelbaum@gmail.com>, "groug@kaod.org" <groug@kaod.org>,
	"qemu_oss@crudebyte.com" <qemu_oss@crudebyte.com>, "pbonzini@redhat.com"
	<pbonzini@redhat.com>, "richard.henderson@linaro.org"
	<richard.henderson@linaro.org>, "julien@xen.org" <julien@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"paul@xen.org" <paul@xen.org>, "anthony.perard@citrix.com"
	<anthony.perard@citrix.com>, "kraxel@redhat.com" <kraxel@redhat.com>,
	"marcandre.lureau@redhat.com" <marcandre.lureau@redhat.com>,
	"berrange@redhat.com" <berrange@redhat.com>, "philmd@linaro.org"
	<philmd@linaro.org>, "thuth@redhat.com" <thuth@redhat.com>, "mst@redhat.com"
	<mst@redhat.com>
Subject: Re: [RFC PATCH v3 3/5] xen: add option to disable legacy backends
Thread-Topic: [RFC PATCH v3 3/5] xen: add option to disable legacy backends
Thread-Index: AQHaIQ4y9k/QGRqAmk6N5LqHUfs1XQ==
Date: Mon, 27 Nov 2023 08:46:21 +0000
Message-ID: <a876dd8d01570f76da06f009eb8ed96bc3e0fea6.camel@amazon.co.uk>
References: <20231124232400.943580-1-volodymyr_babchuk@epam.com>
	 <20231124232400.943580-4-volodymyr_babchuk@epam.com>
In-Reply-To: <20231124232400.943580-4-volodymyr_babchuk@epam.com>
Accept-Language: en-GB, en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.106.82.23]
MIME-Version: 1.0
Precedence: Bulk

--===============3000760005954283363==
Content-Language: en-US
Content-Type: multipart/signed; micalg=sha-256;
	protocol="application/pkcs7-signature"; boundary="=-x5o5G14s2DLSe/tKK17B"

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

On Fri, 2023-11-24 at 23:24 +0000, Volodymyr Babchuk wrote:
> This patch makes legacy backends optional. As was discussed at [1]
> this is a solution to a problem when we can't run QEMU as a device
> model in a non-privileged domain. This is because legacy backends
> assume that they are always running in domain with ID =3D 0. Actually,
> this may prevent running QEMU in a privileged domain with ID not equal
> to zero.
>=20
> To be able to disable legacy backends we need to alter couple of
> source files that unintentionally depend on them. For example
> xen-all.c used xen_pv_printf to report errors, while not providing any
> additional like xendev pointer. Also, we need to move xenstore
> structure from xen-legacy-backend.c, because it is apparently used in
> xen-all.c.
>=20
> With this patch it is possible to provide
> "--disable-xen-legacy-backends" configure option to get QEMU binary
> that can run in a driver domain. With price of not be able to use
> legacy backends of course.
>=20
> [1]
> https://lists.gnu.org/archive/html/qemu-devel/2023-11/msg05022.html
>=20
> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>=20
> ---
>=20
> I am not sure if I made correct changes to the build system, thus this
> patch is tagged as RFC.

Hm, I was imagining a new CONFIG_LEGACY_XEN_BACKENDS option which would
look a lot like CONFIG_XEN_BUS (which would now be only for the new
XenBus code).

This looks weird to me:

> --- a/hw/display/meson.build
> +++ b/hw/display/meson.build
> @@ -14,7 +14,9 @@ system_ss.add(when: 'CONFIG_PL110', if_true:
> files('pl110.c'))
>  system_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
>  system_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
>  system_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
> -system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
> +if have_xen_legacy_backends
> +  system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
> +endif
>=20
>  system_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
>  system_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))

I'd prefer to see just:

-system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
+system_ss.add(when: 'CONFIG_XEN_LEGACY_BACKENDS', if_true: files('xenfb.c'=
))


Probably also better to split out the bits in accel/xen/xen-all.c and
hw/xen/xen-legacy-backend.c to a separate preparatory commit.

--=-x5o5G14s2DLSe/tKK17B
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEjww
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhAwggT4oAMCAQICEQC/QgfpbUT3q2fHshU/ReqfMA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowIjEgMB4GCSqGSIb3DQEJARYRZHdtd0BhbWF6b24uY28udWsw
ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCZgnzd4h6STv/MQcUPixvDN/dNtp4yVSdc
xz9mB1OcA7HXd4WdPyYagmkcH0WguDYaQnOszkSdElI+2XRFSlGXhY7U9tktvdWuY1zAY1UWES8e
3BUHqSKbIKx4SX6GuctCcPnyagVZ9Hk21YUElx9cdmrqt0bGoydgxAspEx56J9Q5a48WfvFYjLBF
NL1dw+P1eUeAljco30+Xggf5faawKfPArUX0cmU4VIh5DMUyv4d0xxfNN6cK1GMj/HGUg2T9OTHW
nbTdq+OHJwHGi/37mCWx1O3uV0hbZzA1fNklaqlsr1Acg0elPeCFXLb8dSkMgQZHNJVjn+mBvG4d
MG4FS3ntipApytA+a5IaMP3LNAo0EoBd5/xVy0M6TXbiYesYLq9rhnrLgO1qcw7+if0jH9YoEJ6a
Je1m7omfEXh2XpospSLaohmAqaBKlyhXDXbTnUVnIf79zU5ohHZof0cP2amnnvYUVD72iuf9qe7X
4L1Rj589qEWYROKiMil5X7l/smE1dAmxhKxx6YWvWkXH9u7JOcmLGdKST0voaY7j3Wk0lxK3NKsk
q0G3BpqbPz3P8BYtn38BvbkFnwVW7F7Qzus3KZJgP62eN25QHxoFj44x3sppx4I5WlYG4lxdFZsY
smQdj64c7MaJ7cp8RJN+eO32RKrkndEkihzxevl11wIDAQABo4IByjCCAcYwHwYDVR0jBBgwFoAU
CcDy/AvalNtf/ivfqJlCz8ngrQAwHQYDVR0OBBYEFJ418HpIgZaPnwpWdCNSvm4XgH/lMA4GA1Ud
DwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUFBwMEBggrBgEFBQcDAjBA
BgNVHSAEOTA3MDUGDCsGAQQBsjEBAgEBATAlMCMGCCsGAQUFBwIBFhdodHRwczovL3NlY3RpZ28u
Y29tL0NQUzBaBgNVHR8EUzBRME+gTaBLhklodHRwOi8vY3JsLnNlY3RpZ28uY29tL1NlY3RpZ29S
U0FDbGllbnRBdXRoZW50aWNhdGlvbmFuZFNlY3VyZUVtYWlsQ0EuY3JsMIGKBggrBgEFBQcBAQR+
MHwwVQYIKwYBBQUHMAKGSWh0dHA6Ly9jcnQuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1
dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcnQwIwYIKwYBBQUHMAGGF2h0dHA6Ly9vY3Nw
LnNlY3RpZ28uY29tMBwGA1UdEQQVMBOBEWR3bXdAYW1hem9uLmNvLnVrMA0GCSqGSIb3DQEBCwUA
A4IBAQCSez7gtf1wlWJr568crX21nm6QFWRdJ/YxMOReeqYtGs8QZf2zm2vIEFab61MrgJFJcFJL
sRhVHwnH/hvax3ZldDpUhM0ODpA9soUjYsvKJ0boFAHPtI1BL0yrZNCBdsUGxMv0t64Acj2ovxQ+
OxPd5ngHu0MzYIKLDvTSehxkh/qW23X7Ey/fPR0sgnAK4IV7clidmuWBbrqX+WKEyEP2kaEvLsRg
8plzYbVVFJl37rX2waKnGaWYnJ3BrvcMMgDSQCuoxMThWAOr7wxOh0ni0K3rW7CwDIAjUSk+fFmS
2EacUvIv/0xUW1nXzGJ12/Qyi+Mw65m0qE776qfcftg3MIIGEDCCBPigAwIBAgIRAL9CB+ltRPer
Z8eyFT9F6p8wDQYJKoZIhvcNAQELBQAwgZYxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVy
IE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1NlY3RpZ28gTGltaXRlZDE+
MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9uIGFuZCBTZWN1cmUgRW1h
aWwgQ0EwHhcNMjIwMTA3MDAwMDAwWhcNMjUwMTA2MjM1OTU5WjAiMSAwHgYJKoZIhvcNAQkBFhFk
d213QGFtYXpvbi5jby51azCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJmCfN3iHpJO
/8xBxQ+LG8M39022njJVJ1zHP2YHU5wDsdd3hZ0/JhqCaRwfRaC4NhpCc6zORJ0SUj7ZdEVKUZeF
jtT22S291a5jXMBjVRYRLx7cFQepIpsgrHhJfoa5y0Jw+fJqBVn0eTbVhQSXH1x2auq3RsajJ2DE
CykTHnon1DlrjxZ+8ViMsEU0vV3D4/V5R4CWNyjfT5eCB/l9prAp88CtRfRyZThUiHkMxTK/h3TH
F803pwrUYyP8cZSDZP05MdadtN2r44cnAcaL/fuYJbHU7e5XSFtnMDV82SVqqWyvUByDR6U94IVc
tvx1KQyBBkc0lWOf6YG8bh0wbgVLee2KkCnK0D5rkhow/cs0CjQSgF3n/FXLQzpNduJh6xgur2uG
esuA7WpzDv6J/SMf1igQnpol7WbuiZ8ReHZemiylItqiGYCpoEqXKFcNdtOdRWch/v3NTmiEdmh/
Rw/Zqaee9hRUPvaK5/2p7tfgvVGPnz2oRZhE4qIyKXlfuX+yYTV0CbGErHHpha9aRcf27sk5yYsZ
0pJPS+hpjuPdaTSXErc0qySrQbcGmps/Pc/wFi2ffwG9uQWfBVbsXtDO6zcpkmA/rZ43blAfGgWP
jjHeymnHgjlaVgbiXF0VmxiyZB2PrhzsxontynxEk3547fZEquSd0SSKHPF6+XXXAgMBAAGjggHK
MIIBxjAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUnjXwekiBlo+f
ClZ0I1K+bheAf+UwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYB
BQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEW
F2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2Vj
dGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5j
cmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9T
ZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEF
BQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHAYDVR0RBBUwE4ERZHdtd0BhbWF6b24uY28u
dWswDQYJKoZIhvcNAQELBQADggEBAJJ7PuC1/XCVYmvnrxytfbWebpAVZF0n9jEw5F56pi0azxBl
/bOba8gQVpvrUyuAkUlwUkuxGFUfCcf+G9rHdmV0OlSEzQ4OkD2yhSNiy8onRugUAc+0jUEvTKtk
0IF2xQbEy/S3rgByPai/FD47E93meAe7QzNggosO9NJ6HGSH+pbbdfsTL989HSyCcArghXtyWJ2a
5YFuupf5YoTIQ/aRoS8uxGDymXNhtVUUmXfutfbBoqcZpZicncGu9wwyANJAK6jExOFYA6vvDE6H
SeLQretbsLAMgCNRKT58WZLYRpxS8i//TFRbWdfMYnXb9DKL4zDrmbSoTvvqp9x+2DcxggTHMIIE
wwIBATCBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdv
IFJTQSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAL9CB+ltRPer
Z8eyFT9F6p8wDQYJYIZIAWUDBAIBBQCgggHrMBgGCSqGSIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJ
KoZIhvcNAQkFMQ8XDTIzMTEyNzA4NDYyMFowLwYJKoZIhvcNAQkEMSIEILpChnzCNBsdRY+Ea+pi
uD6W5dicbuIDxzBGftFR3+onMIG9BgkrBgEEAYI3EAQxga8wgawwgZYxCzAJBgNVBAYTAkdCMRsw
GQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAOBgNVBAcTB1NhbGZvcmQxGDAWBgNVBAoTD1Nl
Y3RpZ28gTGltaXRlZDE+MDwGA1UEAxM1U2VjdGlnbyBSU0EgQ2xpZW50IEF1dGhlbnRpY2F0aW9u
IGFuZCBTZWN1cmUgRW1haWwgQ0ECEQC/QgfpbUT3q2fHshU/ReqfMIG/BgsqhkiG9w0BCRACCzGB
r6CBrDCBljELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
BxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJT
QSBDbGllbnQgQXV0aGVudGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAL9CB+ltRPerZ8ey
FT9F6p8wDQYJKoZIhvcNAQEBBQAEggIAlbdFSh4QuvBisYDKpPOxH1gNP2da8eaCyyaAHPff1CQK
UhxjNkoewU5matatC2SDw2mMt7i7p56zNkqKeZG20c4L5mV9E0KlQfwls5ADLozZxKJLhcPPxK+A
AS7H13/MP6oIVIU5KHS4JF8btFecaUC2ZoRTZEXv0aLnOGGNtSKs2+O3tUBW24MWhek5gPLCB9aE
nuLUh1l3O3Ws3lqIbpV2W0WfppQtPYx56Dyx24MYtWdYXSq0oLkpCcujFjABjN1IwvlyBj959S/+
v4x3pQyoJetanuSYQ6015XY4OaXG9pOaqso9tYN+G8UwbyWqfWuyhbeAfWfYjYMzqcZ4V/EwIYij
rzelcB40PbJuB54hpi6yu2iPDb3W+zA90AiWZo1WUKs76uhhiGORWmN+wfynMzs+8Kdkvn8x/4s7
kpDvoAFR9sBvVDd23WPQtj1hqJr05i9hgiIbQs8TknWAlI/ZC3nqkw9bWRDLoq24JyB8pKyyXN8C
CHRwaw3S/RzXjBxAt6x496lHCo73E9x7l+YI6mMeef5JvJSg4HA0J6i2hlVkOgfYm9f8ZoaX0B/l
jt/S7F2Ah8X09UGvFKfX/PWJ9vuKXiMUBePA1Uiym//falgCZj0EGFQDrYPpQvfOrYq1P1lvWSQ0
H3b78dS0RusX3gHUok8+C9oQT2NZ6csAAAAAAAA=


--=-x5o5G14s2DLSe/tKK17B--

--===============3000760005954283363==
Content-Type: multipart/alternative; boundary="===============2959059955995353066=="
MIME-Version: 1.0
Content-Disposition: inline

--===============2959059955995353066==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable




Amazon Development Centre (London) Ltd. Registered in England and Wales wit=
h registration number 04543232 with its registered office at 1 Principal Pl=
ace, Worship Street, London EC2A 2FA, United Kingdom.



--===============2959059955995353066==
Content-Type: text/html; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable

<br><br><br>Amazon Development Centre (London) Ltd.Registered in England an=
d Wales with registration number 04543232 with its registered office at 1 P=
rincipal Place, Worship Street, London EC2A 2FA, United Kingdom.<br><br><br>

--===============2959059955995353066==--
--===============3000760005954283363==--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 09:16:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 09:16:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641704.1000479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Xiw-0002QI-IX; Mon, 27 Nov 2023 09:16:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641704.1000479; Mon, 27 Nov 2023 09: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 1r7Xiw-0002QB-Fi; Mon, 27 Nov 2023 09:16:14 +0000
Received: by outflank-mailman (input) for mailman id 641704;
 Mon, 27 Nov 2023 09:16: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=k6Bw=HI=epam.com=prvs=56951a8688=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r7Xiu-0002OM-J0
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 09:16:12 +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 99b2c031-8d05-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 10:16:09 +0100 (CET)
Received: from pps.filterd (m0174681.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AR8lxbW031745; Mon, 27 Nov 2023 09:15:47 GMT
Received: from eur02-db5-obe.outbound.protection.outlook.com
 (mail-db5eur02lp2104.outbound.protection.outlook.com [104.47.11.104])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3umqhjg7ga-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Mon, 27 Nov 2023 09:15:47 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AS8PR03MB6741.eurprd03.prod.outlook.com (2603:10a6:20b:23c::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Mon, 27 Nov
 2023 09:15:43 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.022; Mon, 27 Nov 2023
 09:15: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: 99b2c031-8d05-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kJeuUpsTFBpbEsDoGoRWb+oOmrBya7GVJ19HAzUxp+ZeEYDu8ZgqqhFrJR3U8BV893Of25hDTfT4B74ykVHtQdbjPaKEnjHneRQ6L5gEC28xlm+ApV6dW/OyJs7xw1DuyvBZVjFRN0GskVp8/kS3YwHsE1q72tAtvsonqwM9SqjMgsr6ufBAlQvo4KDCJ7dS/7dRre5fnPtfDU0ji8cor3OqDjbORlwmiggMRg2Cz0hI44H9NdlhwlSJJLKzOReU3DGl9EPV9JfgLe6MYORkucvwg5DieKCnWVaxliKEL49rXr6EofSJrzGIpee8cWS5OgIf5kpMJdoiuv6z6kNDBg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xFzyiHh/QMZTRP7tUR5OUPs10G9l38g+TiH8pO4ZwuA=;
 b=lrjb+f4aPpKQTuOOnON5d1uq5kIRpCcNpNpT19sEKo3fV7tXS4TmNTKBpCCo3jCLUfLU9d0f0Bb2J6n0Ay3JYo3oAVp3yvBiF66Ill0GsJtFMSnJcMT+VGbWOm7Zl6KWmDDD7yoKJHuY7IijGJ/KINTlXbte6L8zkjHwUTbW4ipL1yvSG6AF5HhRFX9NrEiJni5dVTCVxs8+RYi8GH6dxvoeIbYlpRWiN8FX5ACpR7hATnh8awrjpXNPPIlPsta7AUU7SH9GQPZpOy9omy6ZjuvNhxlzeGVLvl+/6Gjfw77exUvGXv+ZXuw0B6KqNKsh7qWlVPH8qQoh4l1fYNOxkg==
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=xFzyiHh/QMZTRP7tUR5OUPs10G9l38g+TiH8pO4ZwuA=;
 b=eO9sZuv12/6ZmTFmCARXgknOGla776TtBHAUUo6eE8A3SepKva02zn1wltjpjsWOoJb0g+sn+iNd1eUBLgmbgpSJA/n5E2gvfLxSJ2B2fFADvHETkoH7DZ8tSfuExdVfpa3kZfvoyB1i8PxcqFCXueyi0reAdBABttYxggBvSA3fLuZ2LGcx8OdQ/Ck1LtgrWcjN6zYx29xYxyWJapWDOP4JSWNBX0NmPFbDOkO29ocko20ysPLDYirgIWqsMJnLNfyTovDM2L6RSnH1yyOEdnASWvdw4segwzR48hcMcI7mtwwdYmhyEe9KB48BW0/gBwpELgmP8zwvsOpzkGVpxg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: "Woodhouse, David" <dwmw@amazon.co.uk>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        "eduardo@habkost.net"
	<eduardo@habkost.net>,
        "sstabellini@kernel.org" <sstabellini@kernel.org>,
        "marcel.apfelbaum@gmail.com" <marcel.apfelbaum@gmail.com>,
        "groug@kaod.org"
	<groug@kaod.org>,
        "qemu_oss@crudebyte.com" <qemu_oss@crudebyte.com>,
        "pbonzini@redhat.com" <pbonzini@redhat.com>,
        "richard.henderson@linaro.org"
	<richard.henderson@linaro.org>,
        "julien@xen.org" <julien@xen.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "paul@xen.org" <paul@xen.org>,
        "anthony.perard@citrix.com"
	<anthony.perard@citrix.com>,
        "kraxel@redhat.com" <kraxel@redhat.com>,
        "marcandre.lureau@redhat.com" <marcandre.lureau@redhat.com>,
        "berrange@redhat.com" <berrange@redhat.com>,
        "philmd@linaro.org"
	<philmd@linaro.org>,
        "thuth@redhat.com" <thuth@redhat.com>,
        "mst@redhat.com"
	<mst@redhat.com>
Subject: Re: [RFC PATCH v3 3/5] xen: add option to disable legacy backends
Thread-Topic: [RFC PATCH v3 3/5] xen: add option to disable legacy backends
Thread-Index: AQHaHy1b1vaaoDkYtEa69hkezixH/LCN3giAgAAHWwA=
Date: Mon, 27 Nov 2023 09:15:43 +0000
Message-ID: <871qcbwo8x.fsf@epam.com>
References: <20231124232400.943580-1-volodymyr_babchuk@epam.com>
 <20231124232400.943580-4-volodymyr_babchuk@epam.com>
 <a876dd8d01570f76da06f009eb8ed96bc3e0fea6.camel@amazon.co.uk>
In-Reply-To: <a876dd8d01570f76da06f009eb8ed96bc3e0fea6.camel@amazon.co.uk>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AS8PR03MB6741:EE_
x-ms-office365-filtering-correlation-id: c908b975-f085-4d55-c2cc-08dbef296ec9
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 EnMH7v1sM1TrQ/uGzdFyLfhC+9A6MIVXVC93H1x/8Msu/fPpskJ331arUSBhaWpt9MFGO2gZX0TexrVtBKKh97FlNTvxw7ZzS3R1vbIsOINtnqQawlAAHz0KMOLKbVnPNdA8lOjiDsCMpL36LsX75tHEERaL3ArgO5PCrrh+WTki1Dtd75gvKhewoss01l3WVOCiYzh5IeQ2jEGpCgGMGfaHxF7EJwOfA/yleus9iNsx+0xs/6iSVGD8vBO86nKQ+BPsEsee/yOLJwAKSn2vYuNG1yicA3ntoCmR+rDZdmae1YztQtCgl3HY4jeMC/JAwQk06xa+K1eJkLoeU2+DJapGC1EIZmcWxbUcAed4WBXk3c9QpfD9k65fQh0uXXI98aa5w+WKEQtpT60CGBGveKy5wTQkFnaMxrHh7fhcJFtn105eE5AxAOeTIByHRDPA5wFptCY5Q1uvw8qKMkFrD8kbzsC9NHNNqcDYvftG1N2MAyF8gufNdA/L+PYq/jQZxPW09lB0Tc4+Yl3ab5S/DdS+De9aKCrPfn2UeBhIQXG8WILDiaa9wYEPTqAkR2kxIec1LLKNs3nbl/ocrW0rxakauNsRwvko7DJcbea5P/o=
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:(13230031)(346002)(376002)(39860400002)(366004)(396003)(136003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(38100700002)(41300700001)(36756003)(86362001)(4001150100001)(38070700009)(122000001)(2906002)(5660300002)(7416002)(26005)(2616005)(6512007)(55236004)(6506007)(71200400001)(8676002)(4326008)(8936002)(478600001)(6486002)(966005)(66446008)(66946007)(91956017)(64756008)(76116006)(54906003)(66476007)(66556008)(6916009)(316002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?iso-8859-1?Q?/kAxux74LSvL9unhpDUhwi2npPk0bO4Ngurhrzvka/K3sIBaC6o1vA1UdH?=
 =?iso-8859-1?Q?PY4GQ7K0YolvN4Y9Vh0g9weeUbrfF+r7H8Xa8asEE9jGfjECs6iAsXC6Dx?=
 =?iso-8859-1?Q?TjXTVABxWDsiUztd95MoXdzSdE2JJkZNdRsYeGAUYgJBE3vjEp3erDYHpB?=
 =?iso-8859-1?Q?YOl9LOWmCvcQo9f2g5lLIlniIH8YvoVC5fteTVDM6wR5pe1d/8XjG5dY1I?=
 =?iso-8859-1?Q?3eC1hvycDZetgNeQwqMwztUKTJrW2525Xn1Y6JCi1F4YNW4PZlqMMxl3fT?=
 =?iso-8859-1?Q?EhUv5Mf7q6+w+ZZWv8CXnvtZSvLuJyXLNP/6teBkqkO+VN0IRBEm0Nrx+k?=
 =?iso-8859-1?Q?k14uAtpS3Ru9dvpnAiUoWBTDgwPq4K+4aEuI60mEw9rBbITJwmcWSHP+yB?=
 =?iso-8859-1?Q?oLjr+0KDz7/cUTQ/saKJbm6NI1HLwOnzoXx8upCwruwU+AnGFwkFE+MDvw?=
 =?iso-8859-1?Q?a8fB0uzu3WfudWpP3vOS6OWArdqnM695ArNj97jNny9E5z98OP6emLYlKo?=
 =?iso-8859-1?Q?QJBMfiRWS5ts2jNWxUDmkOEVXKt4mXIYyMmhzKGysNCRr5m6XtbfWpgV2Y?=
 =?iso-8859-1?Q?dgvmgG6PVgPJ5CID+VXPnZ1hMfuhNQ2F/R3FiuIL4NURn9GcpTj27FSQoA?=
 =?iso-8859-1?Q?azpwW8Qg0qcjtCdA4gmy2aE2xhcKkTFxGOS45zCvI5vhts6TrcdefYgWnQ?=
 =?iso-8859-1?Q?0TMdwCS+MsWG1h1Su7lpncocqy3u7IbmcvuTptew4d6LJPtPGoMb++YNCT?=
 =?iso-8859-1?Q?AA2M8BpXG47qmn8JGWsWUMkj28oANcU9BH/4ztMIUmultPK0Ozf4jyBZ33?=
 =?iso-8859-1?Q?rwaMS6LQszUkJxUYFlDpadIzVfphcMvUh63Od/XcP8LahJ4bWL/2RVI7os?=
 =?iso-8859-1?Q?M18E6UEtbB8xyHUcQB4ElPFfplPFySnTfM6TRpnMjQKDhDriKQWaDHrUEN?=
 =?iso-8859-1?Q?FCMgO9aamXFra483fox8spzj4Vt8/tUoxKQqRiFI285QY4As/meKq8hsLc?=
 =?iso-8859-1?Q?oSDMo8FEyMcEPQfn1jWId5hiWitRpla+hWx90FWcmn6C3TTKjm4dI16KwS?=
 =?iso-8859-1?Q?BLZ2QNWksGvIjs1e8zlci31M7b/djjjh1mIHhhhtC7HmA5BUkl6S6X8M+O?=
 =?iso-8859-1?Q?6x3ZE7gHMDeXo+JRAemGmLJFHbzLfz1eGhobBce2MpJA7vq1KudUUXfWjY?=
 =?iso-8859-1?Q?KiWlZNe9u6R0kHiAX1OhmfhcxEBn35UMyuNAI/8t6uqlV9jTmgPYwm+TVY?=
 =?iso-8859-1?Q?CCTF3d9GbckZboJpuDczEH6AflMCgx5iYSNp2p/BnYam+e2YJxVPeqMRKT?=
 =?iso-8859-1?Q?ecawO3Spe4sW5VldTUQb6XzDqW4y6T0ntiHdWJa6++mIWtFU2OGdQ2HgRx?=
 =?iso-8859-1?Q?6IGNB5zOzYZpRDwhGpdBLg01rIpkBPX5x0Tp6rpFWyKAE/hS8P+ZxMx4W3?=
 =?iso-8859-1?Q?gRuiwc5F+rPIsKcquRg0gYmym4F7RGoTAhf7jfuf+DubtuoTqFJq6xqVhj?=
 =?iso-8859-1?Q?WrVczi4hLvNTkkbDkUfSl3rcaSLfiKq90VLfyCdK5fpzzqrtOLRbCge0TU?=
 =?iso-8859-1?Q?k0eZDqLYZlWr4ss7nUk2bg31lDmcadjgs42ANvvP2Ka/+4VKMyn+dtAPc4?=
 =?iso-8859-1?Q?x4uC8wkZqGGJqmtenkAmO4V+JcKGqA30T0ysxObHJD9BubQSRcR7tX8Q?=
 =?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: c908b975-f085-4d55-c2cc-08dbef296ec9
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Nov 2023 09:15:43.3919
 (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: kQHQTZK6WLjgB1ehk1w3cv1cDV3fIHrol/lqaJwfwPtoFgtO4gI7TKl6NRUc5UWLElRXuiK4jE5hC9z0mYD7kaqve31SHKL21HhhBw7gSmA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB6741
X-Proofpoint-GUID: ovnmhCe0hxnTS8isImgkJDed2dlVCqQh
X-Proofpoint-ORIG-GUID: ovnmhCe0hxnTS8isImgkJDed2dlVCqQh
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-27_07,2023-11-22_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 clxscore=1015 mlxscore=0 malwarescore=0 adultscore=0 suspectscore=0
 phishscore=0 spamscore=0 mlxlogscore=999 bulkscore=0 impostorscore=0
 lowpriorityscore=0 classifier=spam adjust=0 reason=mlx scancount=1
 engine=8.12.0-2311060000 definitions=main-2311270064


Hi David,

"Woodhouse, David" <dwmw@amazon.co.uk> writes:

> [[S/MIME Signed Part:Undecided]]
> On Fri, 2023-11-24 at 23:24 +0000, Volodymyr Babchuk wrote:
>> This patch makes legacy backends optional. As was discussed at [1]
>> this is a solution to a problem when we can't run QEMU as a device
>> model in a non-privileged domain. This is because legacy backends
>> assume that they are always running in domain with ID =3D 0. Actually,
>> this may prevent running QEMU in a privileged domain with ID not equal
>> to zero.
>>=20
>> To be able to disable legacy backends we need to alter couple of
>> source files that unintentionally depend on them. For example
>> xen-all.c used xen_pv_printf to report errors, while not providing any
>> additional like xendev pointer. Also, we need to move xenstore
>> structure from xen-legacy-backend.c, because it is apparently used in
>> xen-all.c.
>>=20
>> With this patch it is possible to provide
>> "--disable-xen-legacy-backends" configure option to get QEMU binary
>> that can run in a driver domain. With price of not be able to use
>> legacy backends of course.
>>=20
>> [1]
>> https://lists.gnu.org/archive/html/qemu-devel/2023-11/msg05022.html
>>=20
>> Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
>>=20
>> ---
>>=20
>> I am not sure if I made correct changes to the build system, thus this
>> patch is tagged as RFC.
>
> Hm, I was imagining a new CONFIG_LEGACY_XEN_BACKENDS option which would
> look a lot like CONFIG_XEN_BUS (which would now be only for the new
> XenBus code).
>

It was my original intention too. But it appears that it is not possible
to add Kconfig value and then make it configurable via ./config
script. As I understood it can be set only via defconfig file.

> This looks weird to me:
>
>> --- a/hw/display/meson.build
>> +++ b/hw/display/meson.build
>> @@ -14,7 +14,9 @@ system_ss.add(when: 'CONFIG_PL110', if_true:
>> files('pl110.c'))
>>  system_ss.add(when: 'CONFIG_SII9022', if_true: files('sii9022.c'))
>>  system_ss.add(when: 'CONFIG_SSD0303', if_true: files('ssd0303.c'))
>>  system_ss.add(when: 'CONFIG_SSD0323', if_true: files('ssd0323.c'))
>> -system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
>> +if have_xen_legacy_backends
>> +  system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
>> +endif
>>=20
>>  system_ss.add(when: 'CONFIG_VGA_PCI', if_true: files('vga-pci.c'))
>>  system_ss.add(when: 'CONFIG_VGA_ISA', if_true: files('vga-isa.c'))
>
> I'd prefer to see just:
>
> -system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xenfb.c'))
> +system_ss.add(when: 'CONFIG_XEN_LEGACY_BACKENDS', if_true: files('xenfb.=
c'))

I tried, but it does not work this way. I need to create Kconfig
variable to do this, but then other problems appear.

>
> Probably also better to split out the bits in accel/xen/xen-all.c and
> hw/xen/xen-legacy-backend.c to a separate preparatory commit.

Okay, will do.

--=20
WBR, Volodymyr=


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:25:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:25:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641720.1000516 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yo8-0000WN-3r; Mon, 27 Nov 2023 10:25:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641720.1000516; Mon, 27 Nov 2023 10: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 1r7Yo8-0000WG-1E; Mon, 27 Nov 2023 10:25:40 +0000
Received: by outflank-mailman (input) for mailman id 641720;
 Mon, 27 Nov 2023 10: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yo6-0000Co-VX
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:25:39 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4ea601b5-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:25:38 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id A651121B08;
 Mon, 27 Nov 2023 10:25:36 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 7BEF0132A6;
 Mon, 27 Nov 2023 10:25:36 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id LxsHHaBuZGWJfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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: 4ea601b5-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080736; 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=PJU+VtDFhLX4cjANmjzlM4a1Q5rxASlVJ6nflK0YN+k=;
	b=j1vwIKyjbJyvqjZ1t4HjsJ+Y4aFWtuR+uZAUGsRof411x235iZX+VltoGc9Yt6/58fc0IK
	IA6RNDtFW6+LWlI/jxYTdRRRH4T5TSigWnGRRKFkau9gwY7fv7NhMLkYyQUlXtxotTXHSu
	TBVslUVKLc6cBgShiznv2EcZYduj/uI=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 02/32] Mini-OS: explicitly mark symbols to be visible for apps
Date: Mon, 27 Nov 2023 11:24:53 +0100
Message-Id: <20231127102523.28003-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ****************
X-Spam-Score: 16.50
X-Spamd-Result: default: False [16.50 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(5.10)[100.00%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,minios-config.mk:url];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Add an EXPORT_SYMBOL() macro to explicitly mark a symbol to be visible
for an app or library linked with Mini-OS. This prepares hiding all
other symbols from external components, avoiding any problems with
duplicate symbol names.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 .gitignore       |  1 +
 Makefile         |  3 ++-
 include/export.h | 10 ++++++++++
 include/lib.h    |  1 +
 4 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 include/export.h

diff --git a/.gitignore b/.gitignore
index abef46b2..bacf787e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,4 @@ mini-os.gz
 minios-config.mk
 mini-os-debug
 mini-os-debug.gz
+syms
diff --git a/Makefile b/Makefile
index 85c6db75..588496cb 100644
--- a/Makefile
+++ b/Makefile
@@ -166,10 +166,11 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 
 $(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
 	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
+	$(OBJCOPY) --dump-section .export_symbol=$(OBJ_DIR)/syms $@
 
 $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
 	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
-	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
+	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start --remove-section=.export_symbol $@.o $@.o
 	$(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@-debug
 	strip -s $@-debug -o $@
 	gzip -n -f -9 -c $@-debug >$@-debug.gz
diff --git a/include/export.h b/include/export.h
new file mode 100644
index 00000000..7140ac68
--- /dev/null
+++ b/include/export.h
@@ -0,0 +1,10 @@
+#ifndef _EXPORT_H_
+#define _EXPORT_H_
+
+/* Mark a symbol to be visible for apps and libs. */
+#define EXPORT_SYMBOL(sym)          \
+    asm(".section .export_symbol\n" \
+        ".ascii \""#sym"\\n\"\n"    \
+        ".previous\n")
+
+#endif /* _EXPORT_H_ */
diff --git a/include/lib.h b/include/lib.h
index dd68985a..abd4e9ab 100644
--- a/include/lib.h
+++ b/include/lib.h
@@ -53,6 +53,7 @@
 #include <stddef.h>
 #include <xen/xen.h>
 #include <xen/event_channel.h>
+#include <mini-os/export.h>
 #include "gntmap.h"
 
 #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:25:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:25:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641719.1000507 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yo6-0000EM-U5; Mon, 27 Nov 2023 10:25:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641719.1000507; Mon, 27 Nov 2023 10: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 1r7Yo6-0000De-Qp; Mon, 27 Nov 2023 10:25:38 +0000
Received: by outflank-mailman (input) for mailman id 641719;
 Mon, 27 Nov 2023 10:25: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yo5-0000Co-Ja
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:25:37 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c37c0a3-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:25:35 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 23457202A5;
 Mon, 27 Nov 2023 10:25:31 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id EDAFA132A6;
 Mon, 27 Nov 2023 10:25:30 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id O/zJOJpuZGV+fgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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: 4c37c0a3-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 01/32] Mini-OS: link kernel separately
Date: Mon, 27 Nov 2023 11:24:52 +0100
Message-Id: <20231127102523.28003-2-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: ++++++++++++++++++
X-Spam-Score: 18.90
X-Rspamd-Server: rspamd1
X-Spam-Level: ******************
X-Rspamd-Queue-Id: 23457202A5
X-Spam-Flag: NO
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [18.90 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(5.10)[100.00%];
	 MX_GOOD(-0.01)[];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email,ens-lyon.org:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]

Add an additional link step with linking all Mini-OS kernel binaries
into a single object file.

This is done in preparation of hiding Mini-OS internal symbols before
linking the kernel with libraries and an application.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
---
 Makefile | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 7ee181a2..85c6db75 100644
--- a/Makefile
+++ b/Makefile
@@ -164,8 +164,11 @@ endif
 $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 	$(CPP) $(ASFLAGS) -P $< -o $@
 
-$(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
-	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS) -o $@.o
+$(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
+	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
+
+$(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
+	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
 	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
 	$(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@-debug
 	strip -s $@-debug -o $@
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:25:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:25:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641716.1000488 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yo1-0008Na-I6; Mon, 27 Nov 2023 10:25:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641716.1000488; Mon, 27 Nov 2023 10:25: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 1r7Yo1-0008NT-FY; Mon, 27 Nov 2023 10:25:33 +0000
Received: by outflank-mailman (input) for mailman id 641716;
 Mon, 27 Nov 2023 10:25: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yo0-0008NG-Uu
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:25:32 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 47f41aac-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:25:29 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 95AB221A8E;
 Mon, 27 Nov 2023 10:25:25 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 6AA80132A6;
 Mon, 27 Nov 2023 10:25:25 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id Jw69GJVuZGV5fgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:25: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: 47f41aac-8d0f-11ee-9b0e-b553b5be7939
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 00/32] Mini-OS: hide mini-os internal symbols
Date: Mon, 27 Nov 2023 11:24:51 +0100
Message-Id: <20231127102523.28003-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: **************************
X-Spamd-Bar: ++++++++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [26.60 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(5.10)[100.00%];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 26.60
X-Rspamd-Queue-Id: 95AB221A8E
X-Spam-Flag: NO

In order to avoid conflicts due to symbols with the same name when
linking Mini-OS with an application, hide all Mini9-OS internal symbols
from the application by linking the Mini-OS kernel individually and
then removing all symbols which should be used internally only.

Changes in V2:
- added more symbols in patch 2

Changes in V3:
- Instead of a global file with symbol names use EXPORT_SYMBOL()
  instances for each symbol. Former patch 2 is replaced with new
  patches 2-32.

Juergen Gross (32):
  Mini-OS: link kernel separately
  Mini-OS: explicitly mark symbols to be visible for apps
  Mini-OS: add EXPORT_SYMBOL() instances to kernel.c
  Mini-OS: add EXPORT_SYMBOL() instances to hypervisor.c
  Mini-OS: add EXPORT_SYMBOL() instances to sched.c
  Mini-OS: add EXPORT_SYMBOL() instances to mm.c
  Mini-OS: add EXPORT_SYMBOL() instances to lib/sys.c
  Mini-OS: add EXPORT_SYMBOL() instances to lib/string.c
  Mini-OS: add EXPORT_SYMBOL() instances to lib/math.c
  Mini-OS: add EXPORT_SYMBOL() instances to lib/printf.c
  Mini-OS: add EXPORT_SYMBOL() instances to lib/ctype.c
  Mini-OS: add EXPORT_SYMBOL() instances to lib/xmalloc.c
  Mini-OS: add EXPORT_SYMBOL() instances to lib/xs.c
  Mini-OS: add EXPORT_SYMBOL() instances to main.c
  Mini-OS: add EXPORT_SYMBOL() instances to console.c
  Mini-OS: add EXPORT_SYMBOL() instances to events.c
  Mini-OS: add EXPORT_SYMBOL() instances to gntmap.c
  Mini-OS: add EXPORT_SYMBOL() instances to gnttab.c
  Mini-OS: add EXPORT_SYMBOL() instances to ioremap.c
  Mini-OS: add EXPORT_SYMBOL() instances to lock.c
  Mini-OS: add EXPORT_SYMBOL() instances to time.c
  Mini-OS: add EXPORT_SYMBOL() instances to lwip-*.c
  Mini-OS: add EXPORT_SYMBOL() instances to 9pfront.c
  Mini-OS: add EXPORT_SYMBOL() instances to blkfront.c
  Mini-OS: add EXPORT_SYMBOL() instances to fbfront.c
  Mini-OS: add EXPORT_SYMBOL() instances to netfront.c
  Mini-OS: add EXPORT_SYMBOL() instances to pcifront.c
  Mini-OS: add EXPORT_SYMBOL() instances to tpmback.c
  Mini-OS: add EXPORT_SYMBOL() instances to tpmfront.c
  Mini-OS: add EXPORT_SYMBOL() instances to tpm_tis.c
  Mini-OS: add EXPORT_SYMBOL() instances to xenbus.c
  Mini-OS: hide all symbols not exported via EXPORT_SYMBOLS()

 .gitignore         |  1 +
 9pfront.c          |  2 +
 Makefile           | 11 ++++--
 arch/arm/mm.c      |  2 +
 arch/arm/time.c    |  1 +
 arch/x86/ioremap.c |  5 ++-
 arch/x86/mm.c      |  5 +++
 arch/x86/sched.c   |  5 +++
 arch/x86/time.c    |  2 +-
 blkfront.c         | 12 ++++--
 console.c          |  5 +++
 events.c           |  7 ++++
 fbfront.c          | 11 +++++-
 gntmap.c           |  5 +++
 gnttab.c           |  6 +++
 hypervisor.c       |  5 +++
 include/export.h   | 10 +++++
 include/lib.h      |  1 +
 kernel.c           |  5 +++
 lib/ctype.c        |  2 +
 lib/math.c         |  6 +++
 lib/printf.c       | 10 ++++-
 lib/string.c       | 18 +++++++++
 lib/sys.c          | 92 +++++++++++++++++++++++++++++++++++++++++++---
 lib/xmalloc.c      |  3 ++
 lib/xs.c           | 10 +++++
 lock.c             |  9 ++++-
 lwip-arch.c        |  9 +++++
 lwip-net.c         |  2 +-
 main.c             |  3 ++
 mm.c               |  4 ++
 netfront.c         |  7 ++++
 pcifront.c         | 11 +++++-
 sched.c            |  7 ++++
 tpm_tis.c          |  5 +++
 tpmback.c          | 11 ++++++
 tpmfront.c         |  6 +++
 xenbus.c           | 23 ++++++++++++
 38 files changed, 320 insertions(+), 19 deletions(-)
 create mode 100644 include/export.h

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:25:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:25:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641722.1000531 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7YoF-0000y0-DH; Mon, 27 Nov 2023 10:25:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641722.1000531; Mon, 27 Nov 2023 10: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 1r7YoF-0000xt-9x; Mon, 27 Nov 2023 10:25:47 +0000
Received: by outflank-mailman (input) for mailman id 641722;
 Mon, 27 Nov 2023 10: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YoD-0008NG-Dc
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:25:45 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5169d7ec-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:25:42 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 31D6C21B08;
 Mon, 27 Nov 2023 10:25:42 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 09058132A6;
 Mon, 27 Nov 2023 10:25:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id Oaj9AKZuZGWLfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:25: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: 5169d7ec-8d0f-11ee-9b0e-b553b5be7939
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 03/32] Mini-OS: add EXPORT_SYMBOL() instances to kernel.c
Date: Mon, 27 Nov 2023 11:24:54 +0100
Message-Id: <20231127102523.28003-4-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: *********************
X-Spamd-Bar: +++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [21.50 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(0.00)[16.52%];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MX_GOOD(-0.01)[];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 21.50
X-Rspamd-Queue-Id: 31D6C21B08
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to kernel.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 kernel.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/kernel.c b/kernel.c
index 1f97d8dd..0b444940 100644
--- a/kernel.c
+++ b/kernel.c
@@ -50,6 +50,9 @@
 #include <xen/features.h>
 #include <xen/version.h>
 
+void _start(void);
+EXPORT_SYMBOL(_start);
+
 uint8_t xen_features[XENFEAT_NR_SUBMAPS * 32];
 char cmdline[MAX_CMDLINE_SIZE];
 
@@ -181,6 +184,7 @@ void stop_kernel(void)
     /* Reset arch details */
     arch_fini();
 }
+EXPORT_SYMBOL(stop_kernel);
 
 /*
  * do_exit: This is called whenever an IRET fails in entry.S.
@@ -199,3 +203,4 @@ void do_exit(void)
         HYPERVISOR_sched_op(SCHEDOP_shutdown, &sched_shutdown);
     }
 }
+EXPORT_SYMBOL(do_exit);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:25:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:25:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641725.1000549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7YoI-0001Nm-QH; Mon, 27 Nov 2023 10:25:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641725.1000549; Mon, 27 Nov 2023 10:25: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 1r7YoI-0001NY-N4; Mon, 27 Nov 2023 10:25:50 +0000
Received: by outflank-mailman (input) for mailman id 641725;
 Mon, 27 Nov 2023 10:25: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YoH-0000Co-Is
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:25:49 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 549a28c2-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:25:48 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id ADE80202A8;
 Mon, 27 Nov 2023 10:25:47 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 84D56132A6;
 Mon, 27 Nov 2023 10:25:47 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id JY4dH6tuZGWTfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:25: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: 549a28c2-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080747; 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=YtTXnS8twSeqnIiZ7AYCOkSOLGbyxVJLKTGBp2+gyoo=;
	b=QfuLCQS3JRkaG0G9i4/hjoQ9rA6p1pohqz+leGCYPJxjnqn2B5/RTbzr0qJoc2AEYpYNCr
	5SVTeMcI0iSD+YC2DqZfsiGOMYAi1Gxt6TacmfESNYTbaoiWmebJ0M8ywih0CuMCocBc47
	LtZQpC73wmeE+H7WmUPxol4h5BfYBFc=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 04/32] Mini-OS: add EXPORT_SYMBOL() instances to hypervisor.c
Date: Mon, 27 Nov 2023 11:24:55 +0100
Message-Id: <20231127102523.28003-5-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: ***
X-Spam-Flag: NO
X-Spam-Score: 3.70
X-Spamd-Result: default: False [3.70 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.999];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]

Add the needed instances of EXPORT_SYMBOL() to hypervisor.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 hypervisor.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/hypervisor.c b/hypervisor.c
index d3857e70..f2cbbc1c 100644
--- a/hypervisor.c
+++ b/hypervisor.c
@@ -31,6 +31,8 @@
 #include <mini-os/events.h>
 #include <xen/memory.h>
 
+EXPORT_SYMBOL(hypercall_page);
+
 #define active_evtchns(cpu,sh,idx)              \
     ((sh)->evtchn_pending[idx] &                \
      ~(sh)->evtchn_mask[idx])
@@ -157,6 +159,7 @@ inline void mask_evtchn(uint32_t port)
     shared_info_t *s = HYPERVISOR_shared_info;
     synch_set_bit(port, &s->evtchn_mask[0]);
 }
+EXPORT_SYMBOL(mask_evtchn);
 
 inline void unmask_evtchn(uint32_t port)
 {
@@ -180,9 +183,11 @@ inline void unmask_evtchn(uint32_t port)
             force_evtchn_callback();
     }
 }
+EXPORT_SYMBOL(unmask_evtchn);
 
 inline void clear_evtchn(uint32_t port)
 {
     shared_info_t *s = HYPERVISOR_shared_info;
     synch_clear_bit(port, &s->evtchn_pending[0]);
 }
+EXPORT_SYMBOL(clear_evtchn);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:25:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:25:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641730.1000559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7YoN-0001rI-3s; Mon, 27 Nov 2023 10:25:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641730.1000559; Mon, 27 Nov 2023 10: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 1r7YoN-0001r5-0N; Mon, 27 Nov 2023 10:25:55 +0000
Received: by outflank-mailman (input) for mailman id 641730;
 Mon, 27 Nov 2023 10:25: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YoM-0000Co-DD
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:25:54 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57f39661-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:25:53 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3930321B08;
 Mon, 27 Nov 2023 10:25:53 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 0F484132A6;
 Mon, 27 Nov 2023 10:25:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id kz+JArFuZGWXfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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>
X-Inumbo-ID: 57f39661-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 05/32] Mini-OS: add EXPORT_SYMBOL() instances to sched.c
Date: Mon, 27 Nov 2023 11:24:56 +0100
Message-Id: <20231127102523.28003-6-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: *********************
X-Spamd-Bar: +++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [21.50 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 21.50
X-Rspamd-Queue-Id: 3930321B08
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to sched.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 arch/x86/sched.c | 5 +++++
 sched.c          | 7 +++++++
 2 files changed, 12 insertions(+)

diff --git a/arch/x86/sched.c b/arch/x86/sched.c
index e7b6954e..dabe6fd6 100644
--- a/arch/x86/sched.c
+++ b/arch/x86/sched.c
@@ -142,11 +142,13 @@ unsigned long __local_irq_save(void)
     local_irq_save(flags);
     return flags;
 }
+EXPORT_SYMBOL(__local_irq_save);
 
 void __local_irq_restore(unsigned long flags)
 {
     local_irq_restore(flags);
 }
+EXPORT_SYMBOL(__local_irq_restore);
 
 unsigned long __local_save_flags(void)
 {
@@ -155,13 +157,16 @@ unsigned long __local_save_flags(void)
     local_save_flags(flags);
     return flags;
 }
+EXPORT_SYMBOL(__local_save_flags);
 
 void __local_irq_disable(void)
 {
     local_irq_disable();
 }
+EXPORT_SYMBOL(__local_irq_disable);
 
 void __local_irq_enable(void)
 {
     local_irq_enable();
 }
+EXPORT_SYMBOL(__local_irq_enable);
diff --git a/sched.c b/sched.c
index 6f89ea4d..e162cb60 100644
--- a/sched.c
+++ b/sched.c
@@ -128,6 +128,7 @@ void schedule(void)
         }
     }
 }
+EXPORT_SYMBOL(schedule);
 
 struct thread* create_thread(char *name, void (*function)(void *), void *data)
 {
@@ -147,6 +148,7 @@ struct thread* create_thread(char *name, void (*function)(void *), void *data)
     local_irq_restore(flags);
     return thread;
 }
+EXPORT_SYMBOL(create_thread);
 
 #ifdef HAVE_LIBC
 static struct _reent callback_reent;
@@ -184,6 +186,7 @@ struct _reent *__getreent(void)
 #endif
     return _reent;
 }
+EXPORT_SYMBOL(__getreent);
 #endif
 
 void exit_thread(void)
@@ -205,12 +208,14 @@ void exit_thread(void)
         printk("schedule() returned!  Trying again\n");
     }
 }
+EXPORT_SYMBOL(exit_thread);
 
 void block(struct thread *thread)
 {
     thread->wakeup_time = 0LL;
     clear_runnable(thread);
 }
+EXPORT_SYMBOL(block);
 
 void msleep(uint32_t millisecs)
 {
@@ -219,12 +224,14 @@ void msleep(uint32_t millisecs)
     clear_runnable(thread);
     schedule();
 }
+EXPORT_SYMBOL(msleep);
 
 void wake(struct thread *thread)
 {
     thread->wakeup_time = 0LL;
     set_runnable(thread);
 }
+EXPORT_SYMBOL(wake);
 
 void idle_thread_fn(void *unused)
 {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:27:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:27:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641747.1000580 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Ypg-0004QE-SF; Mon, 27 Nov 2023 10:27:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641747.1000580; Mon, 27 Nov 2023 10:27: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 1r7Ypg-0004Q7-Oz; Mon, 27 Nov 2023 10:27:16 +0000
Received: by outflank-mailman (input) for mailman id 641747;
 Mon, 27 Nov 2023 10:27: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Ype-0004NR-Rf
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:14 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 861a515c-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:27:11 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 940B7202A5;
 Mon, 27 Nov 2023 10:27:10 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 6AB62132A6;
 Mon, 27 Nov 2023 10:27:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id qH7JGP5uZGX/fgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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>
X-Inumbo-ID: 861a515c-8d0f-11ee-9b0e-b553b5be7939
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 19/32] Mini-OS: add EXPORT_SYMBOL() instances to ioremap.c
Date: Mon, 27 Nov 2023 11:25:10 +0100
Message-Id: <20231127102523.28003-20-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: +++++++++++++++
X-Spam-Score: 15.00
X-Rspamd-Server: rspamd1
X-Spam-Level: ***************
X-Rspamd-Queue-Id: 940B7202A5
X-Spam-Flag: YES
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(0.16)[64.98%];
	 MX_GOOD(-0.01)[];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam: Yes

Add the needed instances of EXPORT_SYMBOL() to ioremap.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 arch/x86/ioremap.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/arch/x86/ioremap.c b/arch/x86/ioremap.c
index 4384b1c0..fda74d5d 100644
--- a/arch/x86/ioremap.c
+++ b/arch/x86/ioremap.c
@@ -51,11 +51,13 @@ void *ioremap(unsigned long phys_addr, unsigned long size)
 {
     return __do_ioremap(phys_addr, size, IO_PROT);
 }
+EXPORT_SYMBOL(ioremap);
 
 void *ioremap_nocache(unsigned long phys_addr, unsigned long size)
 {
     return __do_ioremap(phys_addr, size, IO_PROT_NOCACHE);
 }
+EXPORT_SYMBOL(ioremap_nocache);
 
 /* Un-map the io-remapped region. Currently no list of existing mappings is
  * maintained, so the caller has to supply the size */
@@ -69,7 +71,6 @@ void iounmap(void *virt_addr, unsigned long size)
 
     unmap_frames(va & PAGE_MASK, num_pages);
 }
-
-
+EXPORT_SYMBOL(iounmap);
 
 /* -*-  Mode:C; c-basic-offset:4; tab-width:4 indent-tabs-mode:nil -*- */
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:27:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641748.1000591 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Ypk-0004h0-4S; Mon, 27 Nov 2023 10:27:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641748.1000591; Mon, 27 Nov 2023 10: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 1r7Ypk-0004gr-1a; Mon, 27 Nov 2023 10:27:20 +0000
Received: by outflank-mailman (input) for mailman id 641748;
 Mon, 27 Nov 2023 10: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Ypj-0004NR-B9
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:19 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 89606ddc-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:27:16 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 1EE59202A5;
 Mon, 27 Nov 2023 10:27:16 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id EAB10132A6;
 Mon, 27 Nov 2023 10:27:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id YFcWOANvZGUDfwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:27: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: 89606ddc-8d0f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080836; 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=vsQt5sczdEkDLsGfMhKbpXQdiEi3uQZXsLLDtTgbDTg=;
	b=H/K2ZeNdRRhpty2LMEcJiw14lt/9n5XrASb2s1HaK1yR/9x6aF/crZAm1V5A0Z2S4UHr6b
	1CZs6jozc3Qw+WG9+eTWj15xdl+9J5VPDgNs9PYzXvvc4zE+7AmeFqK2I9v3qA9KJSejjn
	3Hx/MkKyTTPTt/eER/6Wjp4mds8bo+M=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 20/32] Mini-OS: add EXPORT_SYMBOL() instances to lock.c
Date: Mon, 27 Nov 2023 11:25:11 +0100
Message-Id: <20231127102523.28003-21-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: ***
X-Spam-Flag: NO
X-Spam-Score: 3.80
X-Spamd-Result: default: False [3.80 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(0.10)[61.14%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.999];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]

Add the needed instances of EXPORT_SYMBOL() to lock.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 lock.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lock.c b/lock.c
index 61194e5d..8f58344f 100644
--- a/lock.c
+++ b/lock.c
@@ -17,6 +17,7 @@ int ___lock_init(_LOCK_T *lock)
     init_waitqueue_head(&lock->wait);
     return 0;
 }
+EXPORT_SYMBOL(___lock_init);
 
 int ___lock_acquire(_LOCK_T *lock)
 {
@@ -32,6 +33,7 @@ int ___lock_acquire(_LOCK_T *lock)
     local_irq_restore(flags);
     return 0;
 }
+EXPORT_SYMBOL(___lock_acquire);
 
 int ___lock_try_acquire(_LOCK_T *lock)
 {
@@ -45,6 +47,7 @@ int ___lock_try_acquire(_LOCK_T *lock)
     local_irq_restore(flags);
     return ret;
 }
+EXPORT_SYMBOL(___lock_try_acquire);
 
 int ___lock_release(_LOCK_T *lock)
 {
@@ -55,7 +58,7 @@ int ___lock_release(_LOCK_T *lock)
     local_irq_restore(flags);
     return 0;
 }
-
+EXPORT_SYMBOL(___lock_release);
 
 int ___lock_init_recursive(_LOCK_RECURSIVE_T *lock)
 {
@@ -63,6 +66,7 @@ int ___lock_init_recursive(_LOCK_RECURSIVE_T *lock)
     init_waitqueue_head(&lock->wait);
     return 0;
 }
+EXPORT_SYMBOL(___lock_init_recursive);
 
 int ___lock_acquire_recursive(_LOCK_RECURSIVE_T *lock)
 {
@@ -81,6 +85,7 @@ int ___lock_acquire_recursive(_LOCK_RECURSIVE_T *lock)
     lock->count++;
     return 0;
 }
+EXPORT_SYMBOL(___lock_acquire_recursive);
 
 int ___lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock)
 {
@@ -95,6 +100,7 @@ int ___lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock)
     local_irq_restore(flags);
     return ret;
 }
+EXPORT_SYMBOL(___lock_try_acquire_recursive);
 
 int ___lock_release_recursive(_LOCK_RECURSIVE_T *lock)
 {
@@ -108,5 +114,6 @@ int ___lock_release_recursive(_LOCK_RECURSIVE_T *lock)
     local_irq_restore(flags);
     return 0;
 }
+EXPORT_SYMBOL(___lock_release_recursive);
 
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:27:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:27:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641751.1000609 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Ypr-00058o-HP; Mon, 27 Nov 2023 10:27:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641751.1000609; Mon, 27 Nov 2023 10: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 1r7Ypr-00058f-DU; Mon, 27 Nov 2023 10:27:27 +0000
Received: by outflank-mailman (input) for mailman id 641751;
 Mon, 27 Nov 2023 10:27: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Ypp-0004NR-Vy
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:25 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8cbd7c38-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:27:22 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 9E72921B08;
 Mon, 27 Nov 2023 10:27:21 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 752E5132A6;
 Mon, 27 Nov 2023 10:27:21 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id kB5gGwlvZGUKfwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:27: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: 8cbd7c38-8d0f-11ee-9b0e-b553b5be7939
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 21/32] Mini-OS: add EXPORT_SYMBOL() instances to time.c
Date: Mon, 27 Nov 2023 11:25:12 +0100
Message-Id: <20231127102523.28003-22-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: **********************
X-Spamd-Bar: ++++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [22.60 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(1.10)[82.54%];
	 MX_GOOD(-0.01)[];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 22.60
X-Rspamd-Queue-Id: 9E72921B08
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to time.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 arch/arm/time.c | 1 +
 arch/x86/time.c | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/arm/time.c b/arch/arm/time.c
index a088981e..3483511a 100644
--- a/arch/arm/time.c
+++ b/arch/arm/time.c
@@ -83,6 +83,7 @@ int gettimeofday(struct timeval *tv, void *tz)
 
     return 0;
 }
+EXPORT_SYMBOL(gettimeofday);
 
 /* Set the timer and mask. */
 void write_timer_ctl(uint32_t value) {
diff --git a/arch/x86/time.c b/arch/x86/time.c
index 8077c80c..332c0260 100644
--- a/arch/x86/time.c
+++ b/arch/x86/time.c
@@ -204,7 +204,7 @@ int gettimeofday(struct timeval *tv, void *tz)
 
     return 0;
 }
-
+EXPORT_SYMBOL(gettimeofday);
 
 void block_domain(s_time_t until)
 {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:27:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:27:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641757.1000619 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yq6-0005rJ-NJ; Mon, 27 Nov 2023 10:27:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641757.1000619; Mon, 27 Nov 2023 10: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 1r7Yq6-0005r7-Kb; Mon, 27 Nov 2023 10:27:42 +0000
Received: by outflank-mailman (input) for mailman id 641757;
 Mon, 27 Nov 2023 10: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yq5-0004NR-Fy
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:41 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 968569d8-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:27:38 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 33AB221B08;
 Mon, 27 Nov 2023 10:27:38 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 0AC51132A6;
 Mon, 27 Nov 2023 10:27:38 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id RWhXARpvZGUefwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:27: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: 968569d8-8d0f-11ee-9b0e-b553b5be7939
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 24/32] Mini-OS: add EXPORT_SYMBOL() instances to blkfront.c
Date: Mon, 27 Nov 2023 11:25:15 +0100
Message-Id: <20231127102523.28003-25-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: *********************
X-Spamd-Bar: +++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [21.80 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(0.30)[70.31%];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 21.80
X-Rspamd-Queue-Id: 33AB221B08
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to blkfront.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 blkfront.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/blkfront.c b/blkfront.c
index 8f140896..b0fc80d1 100644
--- a/blkfront.c
+++ b/blkfront.c
@@ -23,9 +23,7 @@
 /* Note: we really suppose non-preemptive threads.  */
 
 DECLARE_WAIT_QUEUE_HEAD(blkfront_queue);
-
-
-
+EXPORT_SYMBOL(blkfront_queue);
 
 #define BLK_RING_SIZE __RING_SIZE((struct blkif_sring *)0, PAGE_SIZE)
 #define GRANT_INVALID_REF 0
@@ -243,6 +241,7 @@ error:
     free_blkfront(dev);
     return NULL;
 }
+EXPORT_SYMBOL(init_blkfront);
 
 void shutdown_blkfront(struct blkfront_dev *dev)
 {
@@ -304,6 +303,7 @@ close:
     if (!err)
         free_blkfront(dev);
 }
+EXPORT_SYMBOL(shutdown_blkfront);
 
 static void blkfront_wait_slot(struct blkfront_dev *dev)
 {
@@ -386,6 +386,7 @@ void blkfront_aio(struct blkfront_aiocb *aiocbp, int write)
 
     if(notify) notify_remote_via_evtchn(dev->evtchn);
 }
+EXPORT_SYMBOL(blkfront_aio);
 
 static void blkfront_aio_cb(struct blkfront_aiocb *aiocbp, int ret)
 {
@@ -417,6 +418,7 @@ void blkfront_io(struct blkfront_aiocb *aiocbp, int write)
     remove_waiter(w, blkfront_queue);
     local_irq_restore(flags);
 }
+EXPORT_SYMBOL(blkfront_io);
 
 static void blkfront_push_operation(struct blkfront_dev *dev, uint8_t op, uint64_t id)
 {
@@ -444,6 +446,7 @@ void blkfront_aio_push_operation(struct blkfront_aiocb *aiocbp, uint8_t op)
     struct blkfront_dev *dev = aiocbp->aio_dev;
     blkfront_push_operation(dev, op, (uintptr_t) aiocbp);
 }
+EXPORT_SYMBOL(blkfront_aio_push_operation);
 
 void blkfront_sync(struct blkfront_dev *dev)
 {
@@ -473,6 +476,7 @@ void blkfront_sync(struct blkfront_dev *dev)
     remove_waiter(w, blkfront_queue);
     local_irq_restore(flags);
 }
+EXPORT_SYMBOL(blkfront_sync);
 
 int blkfront_aio_poll(struct blkfront_dev *dev)
 {
@@ -557,6 +561,7 @@ moretodo:
 
     return nr_consumed;
 }
+EXPORT_SYMBOL(blkfront_aio_poll);
 
 #ifdef HAVE_LIBC
 static int blkfront_posix_rwop(struct file *file, uint8_t *buf, size_t count,
@@ -773,4 +778,5 @@ int blkfront_open(struct blkfront_dev *dev)
 
     return dev->fd;
 }
+EXPORT_SYMBOL(blkfront_open);
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:35:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:35:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641771.1000632 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yxu-0007vN-FO; Mon, 27 Nov 2023 10:35:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641771.1000632; Mon, 27 Nov 2023 10:35: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 1r7Yxu-0007vG-Cu; Mon, 27 Nov 2023 10:35:46 +0000
Received: by outflank-mailman (input) for mailman id 641771;
 Mon, 27 Nov 2023 10:35: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yqa-0000Co-JG
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:28:12 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa4770a9-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:28:12 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5495621BFD;
 Mon, 27 Nov 2023 10:28:11 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 2AD2F132A6;
 Mon, 27 Nov 2023 10:28:11 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id 2swsCTtvZGVNfwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:28: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: aa4770a9-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 30/32] Mini-OS: add EXPORT_SYMBOL() instances to tpm_tis.c
Date: Mon, 27 Nov 2023 11:25:21 +0100
Message-Id: <20231127102523.28003-31-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: +++++++++++++++
X-Spam-Score: 15.33
X-Rspamd-Server: rspamd1
X-Spam-Level: ***************
X-Rspamd-Queue-Id: 5495621BFD
X-Spam-Flag: YES
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [15.33 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(1.53)[86.00%];
	 MX_GOOD(-0.01)[];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam: Yes

Add the needed instances of EXPORT_SYMBOL() to tpm_tis.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 tpm_tis.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/tpm_tis.c b/tpm_tis.c
index c3998f2d..ad95e289 100644
--- a/tpm_tis.c
+++ b/tpm_tis.c
@@ -673,6 +673,7 @@ int tpm_tis_request_locality(struct tpm_chip* tpm, int l) {
    printk("REQ LOCALITY FAILURE\n");
    return -1;
 }
+EXPORT_SYMBOL(tpm_tis_request_locality);
 
 static uint8_t tpm_tis_status(struct tpm_chip* tpm) {
    return ioread8(TPM_STS(tpm, tpm->locality));
@@ -1264,6 +1265,7 @@ abort_egress:
    }
    return NULL;
 }
+EXPORT_SYMBOL(init_tpm_tis);
 
 int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** resp, size_t* resplen)
 {
@@ -1281,6 +1283,7 @@ int tpm_tis_cmd(struct tpm_chip* tpm, uint8_t* req, size_t reqlen, uint8_t** res
    memcpy(*resp, tpm->data_buffer, *resplen);
    return 0;
 }
+EXPORT_SYMBOL(tpm_tis_cmd);
 
 #ifdef HAVE_LIBC
 #include <sys/stat.h>
@@ -1392,6 +1395,7 @@ int tpm_tis_open(struct tpm_chip *tpm)
 
     return tpm->fd;
 }
+EXPORT_SYMBOL(tpm_tis_open);
 
 /* TPM 2.0 */
 
@@ -1550,4 +1554,5 @@ abort_egress:
     }
     return NULL;
 }
+EXPORT_SYMBOL(init_tpm2_tis);
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:35:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:35:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641772.1000637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yxu-0007yj-OC; Mon, 27 Nov 2023 10:35:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641772.1000637; Mon, 27 Nov 2023 10:35: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 1r7Yxu-0007yc-L9; Mon, 27 Nov 2023 10:35:46 +0000
Received: by outflank-mailman (input) for mailman id 641772;
 Mon, 27 Nov 2023 10:35: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=+izA=HI=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r7Yr0-0000Co-Ti
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:28:39 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9678f25-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:28:37 +0100 (CET)
Received: from AS9PR06CA0777.eurprd06.prod.outlook.com (2603:10a6:20b:484::31)
 by PAWPR08MB8837.eurprd08.prod.outlook.com (2603:10a6:102:336::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Mon, 27 Nov
 2023 10:28:29 +0000
Received: from AMS0EPF00000190.eurprd05.prod.outlook.com
 (2603:10a6:20b:484:cafe::7a) by AS9PR06CA0777.outlook.office365.com
 (2603:10a6:20b:484::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28 via Frontend
 Transport; Mon, 27 Nov 2023 10:28:29 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF00000190.mail.protection.outlook.com (10.167.16.213) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Mon, 27 Nov 2023 10:28:29 +0000
Received: ("Tessian outbound e243565b0037:v228");
 Mon, 27 Nov 2023 10:28:29 +0000
Received: from 0e5ff7cda270.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B7227366-587E-4624-BDC9-2BBEF6826A51.1; 
 Mon, 27 Nov 2023 10:28:18 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 0e5ff7cda270.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 27 Nov 2023 10:28:18 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by DB8PR08MB5324.eurprd08.prod.outlook.com (2603:10a6:10:11e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28; Mon, 27 Nov
 2023 10:28:13 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7025.022; Mon, 27 Nov 2023
 10: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: b9678f25-8d0f-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=MDSAmbO0IALIddBK2mER5ueBx+6Xr++6cBrpMpHv/mpa/vwoMENG4c4jtf0LMscdjSR6E6PWJLV9q+6sVRTr+LuzvyoMQHtBLY9ifcfAly1a0KX0uyC58nlzF1V1M4Bx56nv/8KED9xLjIgQBKbLB2i0BheSLCjznyNU/kXXKbwQ9swpHcp78Q5CPU4NqqHgvXjowlPdphdizwFwduFghiqoqIEzl1zW5vXnE7/dHCG+dC0RoIfE28lyZhxQrZuLW/N0vIBTLSpHI41aFt1v/t/MkP6By9n9AwRUoXiIwSaNYZj0Fm1/dOTh1ug8OApWts6wi5pTHnCVW7jILymW1w==
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=ZDDgmvC3H7XGbddnRDRljG9XE/z5a7o6VdO5cApr62k=;
 b=he9vTyAqxwGTVhbkSBX7qswNf9m4vH69TQRfi3o3VIi633ROhd2C5Sh6/UOoIu7CFQWd9m9tzrip9TFBPzA2vrb1c/yONPbTr9E5gSl6J1uxBOIPbKwcMTYfxXvc8STSKj8YwsFhA8drl4EcPF+GgeCpHugXNfrYbL3bgYV/LdLzlojR8JLMsk394uKRiXO/BLWQEgFPIVlVZz3M8muc5knEg93E08TqbXVIZBMPzv52ea8sFnYe5ULQHi5DkTnRT1Irw8egrQeKvpcN/qvReDq3hMQvjqkCu0tVQw8sCcPS106kYO4zzXDt+ONobVJB4CTSGQ8hz9o9JRnpIKCW0Q==
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=ZDDgmvC3H7XGbddnRDRljG9XE/z5a7o6VdO5cApr62k=;
 b=mKCWxCSEzQDQgBQdr6Uxp3dU5geC4S6Ar0K9DcoA5yXaxrloZknLEVaGtdr8ItU+l8ZsKw4JEbLUy8FpGZscvTp589o3seVD6lHscKZwGU+O2Eu45Y9TAAKrENIiP5CysLqm4Iflbwuv77rl9hFgqep6GVKJZIAW0CDn26nmUAc=
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: 0c6312e545a37815
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cm2kxOj1QH/dKO8xAuS4514kCAHbtK22oYjq8m1PmS4lY6T/SDBIOd4ht7ApRVIINFebkaoS1/rzjphhZrbmEdKJPG4dt0aLGjjr3+nLCEuHWnIDc59F4zxnlU4Y79yjewipDsoK3gPqeCcS2p2zs+Y9ksygpBYHmRx0sVBgJsKgAoCKG5nGj9ccgAnzgltuYybNtZoTHera2juSIGsadaeoQaWXWn25Q66tj+iWGk7ArHWD3fBojetWv4oqWK0i9dgHvuPDu+ql9lwI3XGTNYJlOmmNqTTXg+OKfIO/R7VX4Nkqvb3SHvMY7hxCg6uzXhTgvBtSD8ey5wfaoCH93A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZDDgmvC3H7XGbddnRDRljG9XE/z5a7o6VdO5cApr62k=;
 b=OXJKIHcyv8Q/GQCptuD0f02NIAd4AOXnx9sOlDPeclszAOvF87QEGaYAaJwTU+B2oxPkl9uI2igZtmWUFJm/BzrGVzPV2J3iv7nID77jyztpgCjpUf6kIoBipE8pX1y6NCZKUgtuv+G+S8yG7YvHQDK1t1oPxC/c5EmDGCQrdUhHYW+NZJkMd4+yTU+JJla5gL32pQ0EGueMaFPZdWlQGG67ZSDVtXtbjDONCDbtl4ZC6yTeOyKttQep5LBCFzZs3ZAN60c1TVN4qS4VQAagJWj40DGaPBW8DnDg7IpdRhxAE7Fi3iY8V3LewsrdtoBcQFGb36QG/xp8kfGc5cNO+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=ZDDgmvC3H7XGbddnRDRljG9XE/z5a7o6VdO5cApr62k=;
 b=mKCWxCSEzQDQgBQdr6Uxp3dU5geC4S6Ar0K9DcoA5yXaxrloZknLEVaGtdr8ItU+l8ZsKw4JEbLUy8FpGZscvTp589o3seVD6lHscKZwGU+O2Eu45Y9TAAKrENIiP5CysLqm4Iflbwuv77rl9hFgqep6GVKJZIAW0CDn26nmUAc=
From: Henry Wang <Henry.Wang@arm.com>
To: Mario Marietto <marietto2008@gmail.com>
CC: Demi Marie Obenour <demi@invisiblethingslab.com>, Anthony PERARD
	<anthony.perard@citrix.com>, =?iso-8859-1?Q?Roger_Pau_Monn=E9?=
	<roger.pau@citrix.com>, Julien Grall <julien@xen.org>, Xen-devel
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Thread-Topic: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Thread-Index: AQHaIRqC1LNxkfiXQEOwpgfnTEw2i7CN9pcA
Date: Mon, 27 Nov 2023 10:28:13 +0000
Message-ID: <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com>
References:
 <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
In-Reply-To:
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|DB8PR08MB5324:EE_|AMS0EPF00000190:EE_|PAWPR08MB8837:EE_
X-MS-Office365-Filtering-Correlation-Id: 4d7fbbc4-c1a2-4a34-cb1b-08dbef33990b
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:
 WFH5EVkGk1EhTczUBfWOpy0Qqh7rhjo4lBPNw4rR702urF7WLjMssGlDSqLd3OOfxn83url8y2+yA6oxDRkXGULI965x1NlCs1Q4m0yYZtfDYA7qhvUswCxY3OKAyB8lBbcOk8o+Xo2OFJ7BBtLx4e4riNN8fPTluaLpkNb7QEBdTnqjStXDx9H8kwtLF+HiFJJMhH8SOQZPGRFfwsV6fmIETxMsOphOpsqMGdYSRtc+wYuD2NGeHxoobiC0bcTqq+VCVKQdch4ofZUHkqhFv+6emz0eCH9p2cYUVecMBzEOboOO7tdgWQm970AfgzlEdHJZndJGgyxVzwg2RoFOGTpwbYUYblCKsrV8ECx24uuWj5hyZx3ZkjhJUZtTj763ZGzDcRkXxscxzasMUKQpZ0ButI0j55wFgHmMTXsDUdZxzasxBzDyr7sxVJHxYNW4jkURoTgXPhM++9PUdTr4J7aVkIvRnEChSaTe2HMB2uOu4JLDeTRuU2NzPlM1pUWOjPsqbLsCRcjHktvH149Yl10PrVg8QuE7AUzXKsXaMmkGnfkQR4cROmdPtt5cHQhUs5mpa7rlcIHG23HsW555EcPtzcO5rUGsSL4r+GPti69RTgqXouCg/7qC8uOrLMfD
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:(13230031)(366004)(346002)(396003)(39860400002)(136003)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(6512007)(53546011)(6506007)(2616005)(6486002)(478600001)(966005)(71200400001)(83380400001)(2906002)(5660300002)(41300700001)(91956017)(66946007)(76116006)(66556008)(54906003)(66476007)(6916009)(316002)(64756008)(4326008)(8936002)(8676002)(66446008)(38100700002)(38070700009)(86362001)(36756003)(122000001)(33656002)(26005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <4E402AC98D7E374295B0470B8E9308D0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR08MB5324
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:
 AMS0EPF00000190.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	5204ef92-7b81-4a11-158a-08dbef338f6c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vuIDi70f/2oGchz77WbQrLrKU1Xj8st1kuJ0FpGb78KH3u/HMZ8UxNhnYY1IQukw/Kdxe9co1wZRhdCsJNoU5LcUFDCTSkli7rqpyiGVMDijcqUBhLRy8UIF224SqCZGwvBNOzdfJX9NMT78eY3Ddmu5T6Avlw/o+OO8bC72gncIehkQFKKsnXdNQhxHNn0v4tEH9utsRX6OaC2GkaV/Z1us+Goswu0F2Nb9KgNbpYkRM/+63mRZd18abtdpEITBJX0wyI0rCupM7ej/DeoCP8f7mkCkHh81RdGp+6WRRR7U8ur+IGXRBQz7dKubSHPC7/om8FatkcaEZ6b50OXZEEsPsPSFmm9yz0Oxm4M3EN/3d0rVQYbH3VQtgzuCjM3Eyrf1oy0oa/N0oodQoTfhZu6qplYtrQhj6zg5rzi3N+4d1b49285wsgx09IfeNdd/QEXaHzQeXrdnUYgjtVX0EH6bCx28FtXgYpLy8NRT45LpIgXxEv4YX/3pioxXaUxLNqFre4iqLwPFDbWUuqYxtoYp/F6DEzmpWXjWC5Rvqj5woxC3zMwhzyY7OduurKhOm9bNDGK4qPYVj2zRLOZarkQLbuEcFfCzXErMBUjWQHtNQ0NuzABUuV4vOJXOzlW69IYHyU+rvbWR5TH7w3WQSUg0hjUVoO/qqzar5x6VqigA3jbTM4ue/6rXGls9jccG2zfYQYJPs5ZOlTML2cA7QAxhZkHnp0pevnKNG0ZjvQk=
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:(13230031)(4636009)(376002)(136003)(346002)(396003)(39860400002)(230922051799003)(451199024)(82310400011)(1800799012)(186009)(64100799003)(46966006)(40470700004)(36840700001)(83380400001)(81166007)(356005)(47076005)(336012)(82740400003)(6506007)(6512007)(8936002)(4326008)(70586007)(70206006)(966005)(316002)(36860700001)(54906003)(6486002)(53546011)(5660300002)(8676002)(6862004)(478600001)(86362001)(40480700001)(41300700001)(33656002)(2906002)(36756003)(26005)(2616005)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 10:28:29.2332
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4d7fbbc4-c1a2-4a34-cb1b-08dbef33990b
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:
	AMS0EPF00000190.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8837

+(xen-devel and Arm maintainers, including Julien)

> On Nov 27, 2023, at 18:03, Mario Marietto <marietto2008@gmail.com> wrote:
>=20
> Hello.
> We have just virtualized Debian 12 on our arm (32 bit) Chromebook model x=
e303c12 . As host / dom0 we have chosen Devuan 5,and for guest / domU,Debia=
n 12. It works great. But our goal is different. We want to virtualize Free=
BSD as domU. Can we have a working Xen PV network driver for a FreeBSD arm =
guest ?. I found that Julien Grall has ported the Xen drivers to FreeBSD on=
 arm. I would like to know if Julien's work was accepted upstream by FreeBS=
D, in which case FreeBSD as a Xen guest on arm should work if we enable the=
 Xen PV drivers in the FreeBSD on arm kernel. If Julien's work was not acce=
pted upstream by FreeBSD, we will have to find his patches and apply them o=
urselves to the FreeBSD on arm kernel.
> We found these slides :
>=20
> https://events.static.linuxfound.org/sites/events/files/slides/Porting%20=
FreeBSD%20on%20Xen%20on%20ARM%20.pdf
>=20
> Slide 13 refers to a XENHVM FreeBSD on arm kernel config - that is what w=
e want to find.
> It looks like when that slide presentation was written, there were some l=
imitations on FreeBSD Xen guests. For example, for our debian bookworm gues=
t, I am using vcpus =3D '2' to match the number of real cpus on our Chromeb=
ook, but slide 13 mentions support for only 1 VCPU with a FreeBSD guest, so=
 I will need to change that vcpus =3D '1' in the FreeBSD guest config unles=
s support for 2 or more vcpus was added later, which is possible because th=
at slide presentation is 9 years old.
> Here is where I would expect to find the XENHVM FreeBSD on arm kernel con=
fig file:
>=20
> https://cgit.freebsd.org/src/tree/sys/arm/conf
>=20
> But it is not there unless I am not understanding something correctly. Fo=
r now, unfortunately conclude that the support for Xen on arm that Julien G=
rall mentioned in that slide presentation 9 years ago was never added to th=
e official FreeBSD source code. I am searching the web now to see if the pa=
tches that Julien Grall wrote are still posted somewhere online. If we cann=
ot find them, we can ask here and on the xen-users mailing list. Julien reg=
ularly reads that list and responds to questions about Xen on arm, so I thi=
nk he will tell us how to find the patches if we cannot find them online.
> According to this page from the FreeBSD wiki:
>=20
> https://wiki.freebsd.org/Xen
>=20
> I think FreeBSD only supports Xen on x86, not arm. So this is going to be=
 a bit of a challenge to get a Xen FreeBSD guest on arm working. We know Ju=
lien Grall has some patches that made it work in the past !
> I found a slightly newer slide presentation by Julien here:
>=20
> https://www.slideshare.net/xen_com_mgr/bsdcan-2015-how-to-port-your-bsd
>=20
> It is about the same, but it mentions the GENERIC FreeBSD kernel supports=
 Xen on arm64, but still says we need the XENHVM FreeBSD config for Xen on =
arm 32 bit, which I haven't found online yet.
> Please,take a look at this output of the linux kernel that can boot on Xe=
n, and the FreeBSD kernel that cannot :
>=20
> % file zImage-6.1.59-stb-xen-cbe+
> zImage-6.1.59-stb-xen-cbe+: Linux kernel ARM boot executable zImage (litt=
le-endian)
>=20
> % file FREEBSD-XENVIRT=20
> FREEBSD-XENVIRT: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), =
dynamically linked, interpreter /red/herring, for FreeBSD 11.0 (1100048), n=
ot stripped
>=20
>=20
> The FreeBSD kernel that won't boot is in ELF format but the Linux kernel =
that does boot is in zImage format. This is the error we get :
> # xl create freebsd.cfg=20
> Parsing config from freebsd.cfg xc: error: panic: xg_dom_elfloader.c:63: =
xc_dom_guest_type: image not capable of booting inside a HV
> M container: Invalid kernel=20
> libxl: error: libxl_dom.c:571:libxl__build_dom: xc_dom_parse_image failed=
=20
> libxl: error: libxl_create.c:1640:domcreate_rebuild_done: Domain 4:cannot=
 (re-)build domain: -3=20
> libxl: error: libxl_domain.c:1183:libxl__destroy_domid: Domain 4:Non-exis=
tant domain=20
> libxl: error: libxl_domain.c:1137:domain_destroy_callback: Domain 4:Unabl=
e to destroy guest=20
> libxl: error: libxl_domain.c:1064:domain_destroy_cb: Domain 4:Destruction=
 of domain failed
>=20
> We are spending time reading the docs on xenbits.xenproject.org, and acco=
rding to those docs Xen on arm only knows how to boot a kernel in the zImag=
e format, so the FreeBSD kernel is in a format that modern Xen incorrectly =
detects as an x86 kernel.
> I also watched Julien Grall's 30 minute video presentation of his work to=
 boot FreeBSD/arm on Xen at FOSDEM 2014 here :
>=20
> https://archive.fosdem.org/2014/schedule/event/freebsd_xen_arm/
>=20
> In that video, and in other places, Julien mentions that the boot ABI for=
 FreeBSD/arm on Xen was not yet developed and he was getting occasional cra=
shes and needed to investigate the problem. He mentioned the zImage ABI tha=
t Linux uses, but pointed out FreeBSD does not use that format, and back th=
en it was an open question which format to use to boot FreeBSD/arm on Xen. =
Unfortunately, nine years later, the only supported format is still the zIm=
age format that Linux uses.
> It looks like Julien's work back then was using an ELF binary to boot Fre=
eBSD/arm on Xen instead of the supported zImage format that Linux uses and =
the modern Xen toolstack exits with an error when trying to boot the FreeBS=
D ELF formatted binary that Julien's patch creates. So the best solution wo=
uld be to try to port the rules to build a FreeBSD kernel in the zImage for=
mat instead of the ELF format. I have been studying the Makefiles in Linux =
to see how Linux builds the Linux arm kernel in the zImage format, but it i=
s not trivial to understand.
> --=20
> Mario.



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:36:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:36:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641780.1000661 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7YyG-0000XW-AQ; Mon, 27 Nov 2023 10:36:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641780.1000661; Mon, 27 Nov 2023 10:36: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 1r7YyG-0000XN-7b; Mon, 27 Nov 2023 10:36:08 +0000
Received: by outflank-mailman (input) for mailman id 641780;
 Mon, 27 Nov 2023 10:36: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7You-0000Co-P2
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:28 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6bd6d5a2-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:27 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5C5DC21A5E;
 Mon, 27 Nov 2023 10:26:26 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 3392A132A6;
 Mon, 27 Nov 2023 10:26:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id BPdEC9JuZGXBfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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>
X-Inumbo-ID: 6bd6d5a2-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 11/32] Mini-OS: add EXPORT_SYMBOL() instances to lib/ctype.c
Date: Mon, 27 Nov 2023 11:25:02 +0100
Message-Id: <20231127102523.28003-12-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: **************************
X-Spamd-Bar: ++++++++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [26.53 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(5.03)[99.83%];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MX_GOOD(-0.01)[];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 26.53
X-Rspamd-Queue-Id: 5C5DC21A5E
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to lib/ctype.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 lib/ctype.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/lib/ctype.c b/lib/ctype.c
index 3f3bdb00..309ebbc9 100644
--- a/lib/ctype.c
+++ b/lib/ctype.c
@@ -1,5 +1,6 @@
 #ifndef HAVE_LIBC
 #include <ctype.h>
+#include <mini-os/export.h>
 
 unsigned char _ctype[] = {
 _C,_C,_C,_C,_C,_C,_C,_C,                        /* 0-7 */
@@ -26,4 +27,5 @@ _U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,       /* 192-207 */
 _U,_U,_U,_U,_U,_U,_U,_P,_U,_U,_U,_U,_U,_U,_U,_L,       /* 208-223 */
 _L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,       /* 224-239 */
 _L,_L,_L,_L,_L,_L,_L,_P,_L,_L,_L,_L,_L,_L,_L,_L};      /* 240-255 */
+EXPORT_SYMBOL(_ctype);
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:36:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:36:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641781.1000668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7YyG-0000bw-PP; Mon, 27 Nov 2023 10:36:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641781.1000668; Mon, 27 Nov 2023 10:36: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 1r7YyG-0000aj-Fv; Mon, 27 Nov 2023 10:36:08 +0000
Received: by outflank-mailman (input) for mailman id 641781;
 Mon, 27 Nov 2023 10:36: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YqA-0000Co-0Y
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:46 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99cccf65-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:27:44 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B2EE421B08;
 Mon, 27 Nov 2023 10:27:43 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 8A4A1132A6;
 Mon, 27 Nov 2023 10:27:43 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id hYaCIB9vZGUmfwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:27: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: 99cccf65-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080863; 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=A7Ph8EWiRNQhlaHcJX8OV0y/unaxE1ONICuU8ZiL5cc=;
	b=GclHgrD36WDf97KrAwi5GUh8+rXIDW/NWEeCTFfbEVlXi9uJPdb14UyOOY93daE0qnEgvA
	2s6hh+mVx8fKEMk5opg6E+wxo3N/C91GI3HGGjLz+M/i3LN6OENUOwIr4CR8hkdtDFxoHo
	+sDupZHiSMZCEGxNlcqH5nrrpy/Ku8E=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 25/32] Mini-OS: add EXPORT_SYMBOL() instances to fbfront.c
Date: Mon, 27 Nov 2023 11:25:16 +0100
Message-Id: <20231127102523.28003-26-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ************
X-Spam-Score: 12.14
X-Spamd-Result: default: False [12.14 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(0.74)[78.58%];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to fbfront.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 fbfront.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/fbfront.c b/fbfront.c
index 1b67f527..d4e28d0c 100644
--- a/fbfront.c
+++ b/fbfront.c
@@ -201,6 +201,7 @@ error:
     free_kbdfront(dev);
     return NULL;
 }
+EXPORT_SYMBOL(init_kbdfront);
 
 int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n)
 {
@@ -239,7 +240,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
 
     return i;
 }
-
+EXPORT_SYMBOL(kbdfront_receive);
 
 void shutdown_kbdfront(struct kbdfront_dev *dev)
 {
@@ -301,6 +302,7 @@ close_kbdfront:
     if (!err)
         free_kbdfront(dev);
 }
+EXPORT_SYMBOL(shutdown_kbdfront);
 
 #ifdef HAVE_LIBC
 static int kbd_read(struct file *file, void *buf, size_t nbytes)
@@ -351,6 +353,7 @@ int kbdfront_open(struct kbdfront_dev *dev)
 
     return dev->fd;
 }
+EXPORT_SYMBOL(kbdfront_open);
 #endif
 
 
@@ -451,6 +454,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
 
     return i;
 }
+EXPORT_SYMBOL(fbfront_receive);
 
 struct fbfront_dev *init_fbfront(char *_nodename, unsigned long *mfns, int width, int height, int depth, int stride, int n)
 {
@@ -617,6 +621,7 @@ error:
     free_fbfront(dev);
     return NULL;
 }
+EXPORT_SYMBOL(init_fbfront);
 
 static void fbfront_out_event(struct fbfront_dev *dev, union xenfb_out_event *event)
 {
@@ -668,6 +673,7 @@ void fbfront_update(struct fbfront_dev *dev, int x, int y, int width, int height
     update.height = height;
     fbfront_out_event(dev, (union xenfb_out_event *) &update);
 }
+EXPORT_SYMBOL(fbfront_update);
 
 void fbfront_resize(struct fbfront_dev *dev, int width, int height, int stride, int depth, int offset)
 {
@@ -681,6 +687,7 @@ void fbfront_resize(struct fbfront_dev *dev, int width, int height, int stride,
     dev->offset = resize.offset = offset;
     fbfront_out_event(dev, (union xenfb_out_event *) &resize);
 }
+EXPORT_SYMBOL(fbfront_resize);
 
 void shutdown_fbfront(struct fbfront_dev *dev)
 {
@@ -745,6 +752,7 @@ close_fbfront:
     if (!err)
         free_fbfront(dev);
 }
+EXPORT_SYMBOL(shutdown_fbfront);
 
 #ifdef HAVE_LIBC
 static int fbfront_read(struct file *file, void *buf, size_t nbytes)
@@ -794,5 +802,6 @@ int fbfront_open(struct fbfront_dev *dev)
     file->dev = dev;
     return dev->fd;
 }
+EXPORT_SYMBOL(fbfront_open);
 #endif
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:36:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:36:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641785.1000681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7YyM-0001Dt-Qj; Mon, 27 Nov 2023 10:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641785.1000681; Mon, 27 Nov 2023 10: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 1r7YyM-0001Dg-Nn; Mon, 27 Nov 2023 10:36:14 +0000
Received: by outflank-mailman (input) for mailman id 641785;
 Mon, 27 Nov 2023 10: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yp4-0000Co-JB
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:38 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 723e8f30-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:37 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 67E7321A5E;
 Mon, 27 Nov 2023 10:26:37 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 3F819132A6;
 Mon, 27 Nov 2023 10:26:37 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id TUghDt1uZGXRfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:26: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: 723e8f30-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080797; 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=YCGp9mQOcr8NzJb1ZHSNOf2u959zWvLhTh86LYUiIoU=;
	b=YcD7l7hAG6XaemMopOA8Bd26KS0kRqJBJaiQZdmKGF6ua4h0Z2HRyMlfJojEKuleToI863
	uxPRvoBry5Gnnd5sEbKR3h8e6BYYJIbiv0aVWmnqTv1VlxcB8jEfnx1sf53dA+dl04Ztd0
	31ZgnNFGOgVkwaKSUhd3Lu5uZphV6N4=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 13/32] Mini-OS: add EXPORT_SYMBOL() instances to lib/xs.c
Date: Mon, 27 Nov 2023 11:25:04 +0100
Message-Id: <20231127102523.28003-14-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ***********
X-Spam-Score: 11.40
X-Spamd-Result: default: False [11.40 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to lib/xs.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 lib/xs.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/lib/xs.c b/lib/xs.c
index 7fe9b03e..ff0768c1 100644
--- a/lib/xs.c
+++ b/lib/xs.c
@@ -64,6 +64,7 @@ struct xs_handle *xs_daemon_open()
     printk("xs_daemon_open -> %d, %p\n", fd, &file->dev);
     return (void*)(intptr_t) fd;
 }
+EXPORT_SYMBOL(xs_daemon_open);
 
 void xs_daemon_close(struct xs_handle *h)
 {
@@ -74,6 +75,7 @@ int xs_fileno(struct xs_handle *h)
 {
     return _xs_fileno(h);
 }
+EXPORT_SYMBOL(xs_fileno);
 
 void *xs_read(struct xs_handle *h, xs_transaction_t t,
 	     const char *path, unsigned int *len)
@@ -92,6 +94,7 @@ void *xs_read(struct xs_handle *h, xs_transaction_t t,
 	*len = strlen(value);
     return value;
 }
+EXPORT_SYMBOL(xs_read);
 
 bool xs_write(struct xs_handle *h, xs_transaction_t t,
 	      const char *path, const void *data, unsigned int len)
@@ -110,6 +113,7 @@ bool xs_write(struct xs_handle *h, xs_transaction_t t,
     }
     return true;
 }
+EXPORT_SYMBOL(xs_write);
 
 static bool xs_bool(char *reply)
 {
@@ -123,6 +127,7 @@ bool xs_rm(struct xs_handle *h, xs_transaction_t t, const char *path)
 {
     return xs_bool(xenbus_rm(t, path));
 }
+EXPORT_SYMBOL(xs_rm);
 
 static void *xs_talkv(struct xs_handle *h, xs_transaction_t t,
 		enum xsd_sockmsg_type type,
@@ -163,6 +168,7 @@ char *xs_get_domain_path(struct xs_handle *h, unsigned int domid)
 
     return xs_single(h, XBT_NULL, XS_GET_DOMAIN_PATH, domid_str, NULL);
 }
+EXPORT_SYMBOL(xs_get_domain_path);
 
 char **xs_directory(struct xs_handle *h, xs_transaction_t t,
 		    const char *path, unsigned int *num)
@@ -199,6 +205,7 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
     free(res);
     return entries;
 }
+EXPORT_SYMBOL(xs_directory);
 
 bool xs_watch(struct xs_handle *h, const char *path, const char *token)
 {
@@ -208,6 +215,7 @@ bool xs_watch(struct xs_handle *h, const char *path, const char *token)
     return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
                                            (xenbus_event_queue *)&file->dev));
 }
+EXPORT_SYMBOL(xs_watch);
 
 char **xs_read_watch(struct xs_handle *h, unsigned int *num)
 {
@@ -220,10 +228,12 @@ char **xs_read_watch(struct xs_handle *h, unsigned int *num)
     *num = 2;
     return (char **) &event->path;
 }
+EXPORT_SYMBOL(xs_read_watch);
 
 bool xs_unwatch(struct xs_handle *h, const char *path, const char *token)
 {
     printk("xs_unwatch(%s, %s)\n", path, token);
     return xs_bool(xenbus_unwatch_path_token(XBT_NULL, path, token));
 }
+EXPORT_SYMBOL(xs_unwatch);
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:36:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641786.1000686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7YyN-0001Gg-4Q; Mon, 27 Nov 2023 10:36:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641786.1000686; Mon, 27 Nov 2023 10:36: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 1r7YyM-0001Ft-V9; Mon, 27 Nov 2023 10:36:14 +0000
Received: by outflank-mailman (input) for mailman id 641786;
 Mon, 27 Nov 2023 10:36: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yoa-0008NG-Ff
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:08 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5e9486b0-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:26:04 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 4ABDB21B08;
 Mon, 27 Nov 2023 10:26:04 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 1CA9F132A6;
 Mon, 27 Nov 2023 10:26:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id LgK8BbxuZGWnfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:26: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: 5e9486b0-8d0f-11ee-9b0e-b553b5be7939
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 07/32] Mini-OS: add EXPORT_SYMBOL() instances to lib/sys.c
Date: Mon, 27 Nov 2023 11:24:58 +0100
Message-Id: <20231127102523.28003-8-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: *********************
X-Spamd-Bar: +++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [21.50 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MX_GOOD(-0.01)[];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Score: 21.50
X-Rspamd-Queue-Id: 4ABDB21B08
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to lib/sys.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 lib/sys.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 file changed, 87 insertions(+), 5 deletions(-)

diff --git a/lib/sys.c b/lib/sys.c
index 118fc441..481067f7 100644
--- a/lib/sys.c
+++ b/lib/sys.c
@@ -20,6 +20,7 @@
 
 #ifdef HAVE_LIBC
 #include <os.h>
+#include <export.h>
 #include <string.h>
 #include <console.h>
 #include <sched.h>
@@ -63,7 +64,8 @@
     { \
 	print_unsupported(#function); \
 	do_exit(); \
-    }
+    } \
+    EXPORT_SYMBOL(function)
 
 /* Log and err out on function call */
 #define unsupported_function_log(type, function, ret) \
@@ -73,7 +75,8 @@
 	print_unsupported(#function); \
 	errno = ENOSYS; \
 	return ret; \
-    }
+    } \
+    EXPORT_SYMBOL(function)
 
 /* Err out on function call */
 #define unsupported_function(type, function, ret) \
@@ -82,7 +85,8 @@
     { \
 	errno = ENOSYS; \
 	return ret; \
-    }
+    } \
+    EXPORT_SYMBOL(function)
 
 #define NOFILE 32
 #define N_MOUNTS  16
@@ -187,6 +191,7 @@ unsigned int alloc_file_type(const struct file_ops *ops)
 
     return ret;
 }
+EXPORT_SYMBOL(alloc_file_type);
 
 static const struct file_ops *get_file_ops(unsigned int type)
 {
@@ -203,8 +208,10 @@ struct file *get_file_from_fd(int fd)
 
     return (files[fd].type == FTYPE_NONE) ? NULL : files + fd;
 }
+EXPORT_SYMBOL(get_file_from_fd);
 
 DECLARE_WAIT_QUEUE_HEAD(event_queue);
+EXPORT_SYMBOL(event_queue);
 
 int alloc_fd(unsigned int type)
 {
@@ -222,6 +229,7 @@ int alloc_fd(unsigned int type)
     printk("Too many opened files\n");
     do_exit();
 }
+EXPORT_SYMBOL(alloc_fd);
 
 void close_all_files(void)
 {
@@ -232,6 +240,7 @@ void close_all_files(void)
             close(i);
     pthread_mutex_unlock(&fd_lock);
 }
+EXPORT_SYMBOL(close_all_files);
 
 int dup2(int oldfd, int newfd)
 {
@@ -243,33 +252,39 @@ int dup2(int oldfd, int newfd)
     pthread_mutex_unlock(&fd_lock);
     return 0;
 }
+EXPORT_SYMBOL(dup2);
 
 pid_t getpid(void)
 {
     return 1;
 }
+EXPORT_SYMBOL(getpid);
 
 pid_t getppid(void)
 {
     return 1;
 }
+EXPORT_SYMBOL(getppid);
 
 pid_t setsid(void)
 {
     return 1;
 }
+EXPORT_SYMBOL(setsid);
 
 char *getcwd(char *buf, size_t size)
 {
     snprintf(buf, size, "/");
     return buf;
 }
+EXPORT_SYMBOL(getcwd);
 
 int mkdir(const char *pathname, mode_t mode)
 {
     errno = EIO;
     return -1;
 }
+EXPORT_SYMBOL(mkdir);
 
 #ifdef CONFIG_CONSFRONT
 int posix_openpt(int flags)
@@ -282,6 +297,7 @@ int posix_openpt(int flags)
 
     return fd;
 }
+EXPORT_SYMBOL(posix_openpt);
 
 static int open_pt(struct mount_point *mnt, const char *pathname, int flags,
                    mode_t mode)
@@ -313,6 +329,8 @@ int posix_openpt(int flags)
 	errno = EIO;
 	return -1;
 }
+EXPORT_SYMBOL(posix_openpt);
+
 int open_savefile(const char *path, int save)
 {
 	errno = EIO;
@@ -378,6 +396,8 @@ int open(const char *pathname, int flags, ...)
     errno = EIO;
     return -1;
 }
+EXPORT_SYMBOL(open);
+EXPORT_SYMBOL(open64);
 
 int mount(const char *path, void *dev,
           int (*open)(struct mount_point *, const char *, int, mode_t))
@@ -422,6 +442,7 @@ int isatty(int fd)
 {
     return files[fd].type == FTYPE_CONSOLE;
 }
+EXPORT_SYMBOL(isatty);
 
 int read(int fd, void *buf, size_t nbytes)
 {
@@ -440,6 +461,7 @@ int read(int fd, void *buf, size_t nbytes)
     errno = EBADF;
     return -1;
 }
+EXPORT_SYMBOL(read);
 
 int write(int fd, const void *buf, size_t nbytes)
 {
@@ -458,6 +480,7 @@ int write(int fd, const void *buf, size_t nbytes)
     errno = EBADF;
     return -1;
 }
+EXPORT_SYMBOL(write);
 
 off_t lseek_default(struct file *file, off_t offset, int whence)
 {
@@ -510,11 +533,14 @@ off_t lseek(int fd, off_t offset, int whence)
     errno = ESPIPE;
     return (off_t) -1;
 }
+EXPORT_SYMBOL(lseek);
+EXPORT_SYMBOL(lseek64);
 
 int fsync(int fd) {
     errno = EBADF;
     return -1;
 }
+EXPORT_SYMBOL(fsync);
 
 int close(int fd)
 {
@@ -542,6 +568,7 @@ int close(int fd)
     errno = EBADF;
     return -1;
 }
+EXPORT_SYMBOL(close);
 
 static void init_stat(struct stat *buf)
 {
@@ -559,6 +586,7 @@ int stat(const char *path, struct stat *buf)
     errno = EIO;
     return -1;
 }
+EXPORT_SYMBOL(stat);
 
 int fstat(int fd, struct stat *buf)
 {
@@ -579,28 +607,34 @@ int fstat(int fd, struct stat *buf)
     errno = EBADF;
     return -1;
 }
+EXPORT_SYMBOL(fstat);
+EXPORT_SYMBOL(fstat64);
 
 int ftruncate(int fd, off_t length)
 {
     errno = EBADF;
     return -1;
 }
+EXPORT_SYMBOL(ftruncate);
 
 int remove(const char *pathname)
 {
     errno = EIO;
     return -1;
 }
+EXPORT_SYMBOL(remove);
 
 int unlink(const char *pathname)
 {
     return remove(pathname);
 }
+EXPORT_SYMBOL(unlink);
 
 int rmdir(const char *pathname)
 {
     return remove(pathname);
 }
+EXPORT_SYMBOL(rmdir);
 
 int fcntl(int fd, int cmd, ...)
 {
@@ -635,6 +669,7 @@ int fcntl(int fd, int cmd, ...)
     errno = ENOSYS;
     return -1;
 }
+EXPORT_SYMBOL(fcntl);
 
 DIR *opendir(const char *name)
 {
@@ -648,11 +683,13 @@ DIR *opendir(const char *name)
     ret->has_more = 1;
     return ret;
 }
+EXPORT_SYMBOL(opendir);
 
 struct dirent *readdir(DIR *dir)
 {
     return NULL;
 } 
+EXPORT_SYMBOL(readdir);
 
 int closedir(DIR *dir)
 {
@@ -664,6 +701,7 @@ int closedir(DIR *dir)
     free(dir);
     return 0;
 }
+EXPORT_SYMBOL(closedir);
 
 /* We assume that only the main thread calls select(). */
 
@@ -732,6 +770,7 @@ bool select_read_flag(struct file *file)
 {
     return file->read;
 }
+EXPORT_SYMBOL(select_read_flag);
 
 /* Just poll without blocking */
 static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
@@ -1044,6 +1083,7 @@ out:
     remove_waiter(console_w, console_queue);
     return ret;
 }
+EXPORT_SYMBOL(select);
 
 /* Wrap around select */
 int poll(struct pollfd _pfd[], nfds_t _nfds, int _timeout)
@@ -1136,6 +1176,7 @@ int poll(struct pollfd _pfd[], nfds_t _nfds, int _timeout)
 
     return n;
 }
+EXPORT_SYMBOL(poll);
 
 #ifdef HAVE_LWIP
 int socket(int domain, int type, int protocol)
@@ -1149,6 +1190,7 @@ int socket(int domain, int type, int protocol)
     files[res].fd = fd;
     return res;
 }
+EXPORT_SYMBOL(socket);
 
 int accept(int s, struct sockaddr *addr, socklen_t *addrlen)
 {
@@ -1166,6 +1208,7 @@ int accept(int s, struct sockaddr *addr, socklen_t *addrlen)
     printk("accepted on %d -> %d\n", s, res);
     return res;
 }
+EXPORT_SYMBOL(accept);
 
 #define LWIP_STUB(ret, name, proto, args) \
 ret name proto \
@@ -1180,15 +1223,25 @@ ret name proto \
 }
 
 LWIP_STUB(int, bind, (int s, struct sockaddr *my_addr, socklen_t addrlen), (s, my_addr, addrlen))
+EXPORT_SYMBOL(bind);
 LWIP_STUB(int, getsockopt, (int s, int level, int optname, void *optval, socklen_t *optlen), (s, level, optname, optval, optlen))
+EXPORT_SYMBOL(getsockopt);
 LWIP_STUB(int, setsockopt, (int s, int level, int optname, void *optval, socklen_t optlen), (s, level, optname, optval, optlen))
+EXPORT_SYMBOL(setsockopt);
 LWIP_STUB(int, connect, (int s, struct sockaddr *serv_addr, socklen_t addrlen), (s, serv_addr, addrlen))
+EXPORT_SYMBOL(connect);
 LWIP_STUB(int, listen, (int s, int backlog), (s, backlog));
+EXPORT_SYMBOL(listen);
 LWIP_STUB(ssize_t, recv, (int s, void *buf, size_t len, int flags), (s, buf, len, flags))
+EXPORT_SYMBOL(recv);
 LWIP_STUB(ssize_t, recvfrom, (int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen), (s, buf, len, flags, from, fromlen))
+EXPORT_SYMBOL(recvfrom);
 LWIP_STUB(ssize_t, send, (int s, void *buf, size_t len, int flags), (s, buf, len, flags))
+EXPORT_SYMBOL(send);
 LWIP_STUB(ssize_t, sendto, (int s, void *buf, size_t len, int flags, struct sockaddr *to, socklen_t tolen), (s, buf, len, flags, to, tolen))
+EXPORT_SYMBOL(sendto);
 LWIP_STUB(int, getsockname, (int s, struct sockaddr *name, socklen_t *namelen), (s, name, namelen))
+EXPORT_SYMBOL(getsockname);
 #endif
 
 static char *syslog_ident;
@@ -1197,12 +1250,14 @@ void openlog(const char *ident, int option, int facility)
     free(syslog_ident);
     syslog_ident = strdup(ident);
 }
+EXPORT_SYMBOL(openlog);
 
 void vsyslog(int priority, const char *format, va_list ap)
 {
     printk("%s: ", syslog_ident);
     print(0, format, ap);
 }
+EXPORT_SYMBOL(vsyslog);
 
 void syslog(int priority, const char *format, ...)
 {
@@ -1211,12 +1266,14 @@ void syslog(int priority, const char *format, ...)
     vsyslog(priority, format, ap);
     va_end(ap);
 }
+EXPORT_SYMBOL(syslog);
 
 void closelog(void)
 {
     free(syslog_ident);
     syslog_ident = NULL;
 }
+EXPORT_SYMBOL(closelog);
 
 void vwarn(const char *format, va_list ap)
 {
@@ -1228,6 +1285,7 @@ void vwarn(const char *format, va_list ap)
     }
     printk("%s", strerror(the_errno));
 }
+EXPORT_SYMBOL(vwarn);
 
 void warn(const char *format, ...)
 {
@@ -1236,12 +1294,14 @@ void warn(const char *format, ...)
     vwarn(format, ap);
     va_end(ap);
 }
+EXPORT_SYMBOL(warn);
 
 void verr(int eval, const char *format, va_list ap)
 {
     vwarn(format, ap);
     exit(eval);
 }
+EXPORT_SYMBOL(verr);
 
 void err(int eval, const char *format, ...)
 {
@@ -1250,6 +1310,7 @@ void err(int eval, const char *format, ...)
     verr(eval, format, ap);
     va_end(ap);
 }
+EXPORT_SYMBOL(err);
 
 void vwarnx(const char *format, va_list ap)
 {
@@ -1257,6 +1318,7 @@ void vwarnx(const char *format, va_list ap)
     if (format)
         print(0, format, ap);
 }
+EXPORT_SYMBOL(vwarnx);
 
 void warnx(const char *format, ...)
 {
@@ -1265,12 +1327,14 @@ void warnx(const char *format, ...)
     vwarnx(format, ap);
     va_end(ap);
 }
+EXPORT_SYMBOL(warnx);
 
 void verrx(int eval, const char *format, va_list ap)
 {
     vwarnx(format, ap);
     exit(eval);
 }
+EXPORT_SYMBOL(verrx);
 
 void errx(int eval, const char *format, ...)
 {
@@ -1279,6 +1343,7 @@ void errx(int eval, const char *format, ...)
     verrx(eval, format, ap);
     va_end(ap);
 }
+EXPORT_SYMBOL(errx);
 
 int nanosleep(const struct timespec *req, struct timespec *rem)
 {
@@ -1304,6 +1369,7 @@ int nanosleep(const struct timespec *req, struct timespec *rem)
 
     return 0;
 }
+EXPORT_SYMBOL(nanosleep);
 
 int usleep(useconds_t usec)
 {
@@ -1317,6 +1383,7 @@ int usleep(useconds_t usec)
 
     return 0;
 }
+EXPORT_SYMBOL(usleep);
 
 unsigned int sleep(unsigned int seconds)
 {
@@ -1332,6 +1399,7 @@ unsigned int sleep(unsigned int seconds)
 
     return rem.tv_sec;
 }
+EXPORT_SYMBOL(sleep);
 
 int clock_gettime(clockid_t clk_id, struct timespec *tp)
 {
@@ -1364,37 +1432,44 @@ int clock_gettime(clockid_t clk_id, struct timespec *tp)
 
     return 0;
 }
+EXPORT_SYMBOL(clock_gettime);
 
 uid_t getuid(void)
 {
 	return 0;
 }
+EXPORT_SYMBOL(getuid);
 
 uid_t geteuid(void)
 {
 	return 0;
 }
+EXPORT_SYMBOL(geteuid);
 
 gid_t getgid(void)
 {
 	return 0;
 }
+EXPORT_SYMBOL(getgid);
 
 gid_t getegid(void)
 {
 	return 0;
 }
+EXPORT_SYMBOL(getegid);
 
 int gethostname(char *name, size_t namelen)
 {
 	strncpy(name, "mini-os", namelen);
 	return 0;
 }
+EXPORT_SYMBOL(gethostname);
 
 size_t getpagesize(void)
 {
     return PAGE_SIZE;
 }
+EXPORT_SYMBOL(getpagesize);
 
 void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset)
 {
@@ -1412,6 +1487,8 @@ void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset
         return map_frames_ex(&first_mfn, n, 0, 1, 1, DOMID_IO, NULL, _PAGE_PRESENT|_PAGE_RW);
     } else ASSERT(0);
 }
+EXPORT_SYMBOL(mmap);
+EXPORT_SYMBOL(mmap64);
 
 int munmap(void *start, size_t length)
 {
@@ -1425,6 +1502,7 @@ int munmap(void *start, size_t length)
     }
     return 0;
 }
+EXPORT_SYMBOL(munmap);
 
 void sparse(unsigned long data, size_t size)
 {
@@ -1465,6 +1543,7 @@ int nice(int inc)
     printk("nice() stub called with inc=%d\n", inc);
     return 0;
 }
+EXPORT_SYMBOL(nice);
 
 /* Limited termios terminal settings support */
 const struct termios default_termios = {0,             /* iflag */
@@ -1512,6 +1591,7 @@ int tcsetattr(int fildes, int action, const struct termios *tios)
 
     return 0;
 }
+EXPORT_SYMBOL(tcsetattr);
 
 int tcgetattr(int fildes, struct termios *tios)
 {
@@ -1545,6 +1625,7 @@ int tcgetattr(int fildes, struct termios *tios)
 
     return 0;
 }
+EXPORT_SYMBOL(tcgetattr);
 
 void cfmakeraw(struct termios *tios)
 {
@@ -1555,6 +1636,7 @@ void cfmakeraw(struct termios *tios)
     tios->c_cflag &= ~(CSIZE | PARENB);
     tios->c_cflag |= CS8;
 }
+EXPORT_SYMBOL(cfmakeraw);
 
 /* Not supported by FS yet.  */
 unsupported_function_crash(link);
@@ -1659,8 +1741,8 @@ unsupported_function_log(int, ftruncate64, -1);
 unsupported_function_log(int, fchown, -1);
 unsupported_function_log(int, fchmod, -1);
 unsupported_function_crash(execvp);
-unsupported_function_log(int, dup, -1)
-unsupported_function_log(int, chroot, -1)
+unsupported_function_log(int, dup, -1);
+unsupported_function_log(int, chroot, -1);
 unsupported_function_log(int, chown, -1);
 unsupported_function_log(int, chmod, -1);
 unsupported_function_crash(alarm);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:36:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:36:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641795.1000701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yyf-0002jM-H4; Mon, 27 Nov 2023 10:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641795.1000701; Mon, 27 Nov 2023 10: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 1r7Yyf-0002jA-E5; Mon, 27 Nov 2023 10:36:33 +0000
Received: by outflank-mailman (input) for mailman id 641795;
 Mon, 27 Nov 2023 10:36: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yp0-0000Co-CD
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:34 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f0520a5-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:32 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id DBD3D21A5E;
 Mon, 27 Nov 2023 10:26:31 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id B436D132A6;
 Mon, 27 Nov 2023 10:26:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id AyvGKtduZGXFfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:26: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: 6f0520a5-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 12/32] Mini-OS: add EXPORT_SYMBOL() instances to lib/xmalloc.c
Date: Mon, 27 Nov 2023 11:25:03 +0100
Message-Id: <20231127102523.28003-13-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: **********************
X-Spamd-Bar: ++++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [22.92 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(1.42)[85.25%];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 22.92
X-Rspamd-Queue-Id: DBD3D21A5E
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to lib/xmalloc.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 lib/xmalloc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/lib/xmalloc.c b/lib/xmalloc.c
index e16f161a..cc5db11e 100644
--- a/lib/xmalloc.c
+++ b/lib/xmalloc.c
@@ -271,6 +271,7 @@ void *malloc(size_t size)
 {
     return _xmalloc(size, DEFAULT_ALIGN);
 }
+EXPORT_SYMBOL(malloc);
 
 void *realloc(void *ptr, size_t size)
 {
@@ -301,11 +302,13 @@ void *realloc(void *ptr, size_t size)
 
     return new;
 }
+EXPORT_SYMBOL(realloc);
 
 void free(void *ptr)
 {
     xfree(ptr);
 }
+EXPORT_SYMBOL(free);
 #endif
 
 /*
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:36:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:36:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641796.1000707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yyf-0002mF-SY; Mon, 27 Nov 2023 10:36:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641796.1000707; Mon, 27 Nov 2023 10: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 1r7Yyf-0002lV-Lh; Mon, 27 Nov 2023 10:36:33 +0000
Received: by outflank-mailman (input) for mailman id 641796;
 Mon, 27 Nov 2023 10:36: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7Yok-0000Co-I3
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:18 +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 66481989-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:17 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-50970c2115eso5444629e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 02:26:17 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 n6-20020ac242c6000000b0050baa32e7b1sm783672lfl.280.2023.11.27.02.26.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 02:26:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 66481989-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701080777; x=1701685577; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=WkFPt88N+PUxGN0su3/tX12/b2mgEyhS/f1xCDw3SHg=;
        b=eQrG2q9AXM6p7fqrPOGZp5+uTM1MLKdQ5Y84hKpQ9YDj2y2DuVO4NjuzuW8sYbwxAi
         h0oRQlNpArtCDE2lWaUY+H8OLHX10ADKK5yp4ahhO4mW8/lJgqrJSSMdI1SXVm0oEFKZ
         lrCFB+Ojy6DI/A7z685Fym9IyxF7+tl7TvnZqHbMqoQ63621B/dXgmoKYNfSBZxu9ziF
         CN5xO02hTUL3wYAHEtLLD86rYBC/6QAFKuuJeBbkEPj3LaFlvXLq9fizPc/3Q1ndQqOE
         tb3EFRY5O4SqAB2UwF+lcUp0HSPbWiBhBlun2pxvmqjFNg37QnWNeuhWdtksBjuygfik
         OUKg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701080777; x=1701685577;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WkFPt88N+PUxGN0su3/tX12/b2mgEyhS/f1xCDw3SHg=;
        b=JhyFlzRNHBZXLM3HdiySAz4eWf2rKmgXYUMeQQZ9CYIKod3KeNQYF9qsLLlQfP3g9c
         893geDbAKJ4P9YTImmVbbGuMzhA3ZwwDFY0GFoGDqe3HEWmAZta96wQw0TdGJdSYqavd
         2AQ7VJyjI18WzHbZWiEuOOLEIHHtDvLIMDzRDN4nsSsXxTT0gy/GIqMy31vej3Sc3jkf
         uRS1c2Rps1qyL6CTjo3tJ3oLv/XPQaPN2eaNHhyFZTUJcXLDyEZkpgpmfNjAcNN/3sT9
         fMmTjTwqSZCsgSaf0bq9vUUYmMIthq5SL+YPvrXnmjBvAjkHCib+Z7iMWPrLBQLqD/Gf
         uM5g==
X-Gm-Message-State: AOJu0Yy8tlXwjAmO9Vb/2wlKbDeGKZkhYNSLGWkuqRmz3muEO93/DLuU
	VEvyli3hdlaH0MmRWb+51Gk8eYlWKsJDog==
X-Google-Smtp-Source: AGHT+IHC1ioWXdzU+J+SFSesJ8aA7zgfTBmLe/d+oLaX/+41Fd4wBYdun5SLhdb5vZqtdMSdD7InqA==
X-Received: by 2002:a19:790b:0:b0:500:a378:db71 with SMTP id u11-20020a19790b000000b00500a378db71mr7241147lfc.57.1701080776526;
        Mon, 27 Nov 2023 02:26:16 -0800 (PST)
Message-ID: <e720e5a053c2ec6b68546f33bb5713b2f2e12c98.camel@gmail.com>
Subject: Re: [PATCH v2] xen: remove <asm/delay.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org, Shawn Anastasio
	 <sanastasio@raptorengineering.com>
Cc: Jan Beulich <jbeulich@suse.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>, Roger Pau
 =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Date: Mon, 27 Nov 2023 12:26:15 +0200
In-Reply-To: <3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
References: 
	<3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

Hello Shawn,

Could you kindly review the patch when you have a moment?
It can help with merging other patch series.

Thanks in advance.

~ Oleksii

On Tue, 2023-10-31 at 16:28 +0200, Oleksii Kurochko wrote:
> <asm/delay.h> only declares udelay() function so udelay()
> declaration was moved to xen/delay.h.
>=20
> For x86, __udelay() was renamed to udelay() and removed
> inclusion of <asm/delay.h> in x86 code.
>=20
> For ppc, udelay() stub definition was moved to ppc/stubs.c.
>=20
> Suggested-by: Jan Beulich <jbeulich@suse.com>
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>
> ---
> Changes in v2:
> =C2=A0- rebase on top of the latest staging.
> =C2=A0- add Suggested-by:/Reviewed-by: Jan Beulich <jbeulich@suse.com>.
> =C2=A0- remove <asm/delay.h> for PPC.
> =C2=A0- remove changes related to RISC-V's <asm/delay.h> as they've not
> =C2=A0=C2=A0 introduced in staging branch yet.
> ---
> =C2=A0xen/arch/arm/include/asm/delay.h=C2=A0 | 14 --------------
> =C2=A0xen/arch/ppc/include/asm/delay.h=C2=A0 | 12 ------------
> =C2=A0xen/arch/ppc/stubs.c=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 7 +++++++
> =C2=A0xen/arch/x86/cpu/microcode/core.c |=C2=A0 2 +-
> =C2=A0xen/arch/x86/delay.c=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 2 +-
> =C2=A0xen/arch/x86/include/asm/delay.h=C2=A0 | 13 -------------
> =C2=A0xen/include/xen/delay.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 2 +-
> =C2=A07 files changed, 10 insertions(+), 42 deletions(-)
> =C2=A0delete mode 100644 xen/arch/arm/include/asm/delay.h
> =C2=A0delete mode 100644 xen/arch/ppc/include/asm/delay.h
> =C2=A0delete mode 100644 xen/arch/x86/include/asm/delay.h
>=20
> diff --git a/xen/arch/arm/include/asm/delay.h
> b/xen/arch/arm/include/asm/delay.h
> deleted file mode 100644
> index 042907d9d5..0000000000
> --- a/xen/arch/arm/include/asm/delay.h
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -#ifndef _ARM_DELAY_H
> -#define _ARM_DELAY_H
> -
> -extern void udelay(unsigned long usecs);
> -
> -#endif /* defined(_ARM_DELAY_H) */
> -/*
> - * Local variables:
> - * mode: C
> - * c-file-style: "BSD"
> - * c-basic-offset: 4
> - * indent-tabs-mode: nil
> - * End:
> - */
> diff --git a/xen/arch/ppc/include/asm/delay.h
> b/xen/arch/ppc/include/asm/delay.h
> deleted file mode 100644
> index da6635888b..0000000000
> --- a/xen/arch/ppc/include/asm/delay.h
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -#ifndef __ASM_PPC_DELAY_H__
> -#define __ASM_PPC_DELAY_H__
> -
> -#include <xen/lib.h>
> -
> -static inline void udelay(unsigned long usecs)
> -{
> -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> -}
> -
> -#endif /* __ASM_PPC_DELAY_H__ */
> diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
> index 4c276b0e39..a96e45626d 100644
> --- a/xen/arch/ppc/stubs.c
> +++ b/xen/arch/ppc/stubs.c
> @@ -337,3 +337,10 @@ int __init parse_arch_dom0_param(const char *s,
> const char *e)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> =C2=A0}
> +
> +/* delay.c */
> +
> +void udelay(unsigned long usecs)
> +{
> +=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> +}
> diff --git a/xen/arch/x86/cpu/microcode/core.c
> b/xen/arch/x86/cpu/microcode/core.c
> index 65ebeb50de..22d5e04552 100644
> --- a/xen/arch/x86/cpu/microcode/core.c
> +++ b/xen/arch/x86/cpu/microcode/core.c
> @@ -23,6 +23,7 @@
> =C2=A0
> =C2=A0#include <xen/alternative-call.h>
> =C2=A0#include <xen/cpu.h>
> +#include <xen/delay.h>
> =C2=A0#include <xen/earlycpio.h>
> =C2=A0#include <xen/err.h>
> =C2=A0#include <xen/guest_access.h>
> @@ -35,7 +36,6 @@
> =C2=A0
> =C2=A0#include <asm/apic.h>
> =C2=A0#include <asm/cpu-policy.h>
> -#include <asm/delay.h>
> =C2=A0#include <asm/nmi.h>
> =C2=A0#include <asm/processor.h>
> =C2=A0#include <asm/setup.h>
> diff --git a/xen/arch/x86/delay.c b/xen/arch/x86/delay.c
> index 2662c26272..b3a41881a1 100644
> --- a/xen/arch/x86/delay.c
> +++ b/xen/arch/x86/delay.c
> @@ -15,7 +15,7 @@
> =C2=A0#include <asm/msr.h>
> =C2=A0#include <asm/processor.h>
> =C2=A0
> -void __udelay(unsigned long usecs)
> +void udelay(unsigned long usecs)
> =C2=A0{
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long ticks =3D usecs * (cpu_khz / 1000)=
;
> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long s, e;
> diff --git a/xen/arch/x86/include/asm/delay.h
> b/xen/arch/x86/include/asm/delay.h
> deleted file mode 100644
> index 9be2f46590..0000000000
> --- a/xen/arch/x86/include/asm/delay.h
> +++ /dev/null
> @@ -1,13 +0,0 @@
> -#ifndef _X86_DELAY_H
> -#define _X86_DELAY_H
> -
> -/*
> - * Copyright (C) 1993 Linus Torvalds
> - *
> - * Delay routines calling functions in arch/i386/lib/delay.c
> - */
> -
> -extern void __udelay(unsigned long usecs);
> -#define udelay(n) __udelay(n)
> -
> -#endif /* defined(_X86_DELAY_H) */
> diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
> index 9150226271..8fd3b8f99f 100644
> --- a/xen/include/xen/delay.h
> +++ b/xen/include/xen/delay.h
> @@ -3,7 +3,7 @@
> =C2=A0
> =C2=A0/* Copyright (C) 1993 Linus Torvalds */
> =C2=A0
> -#include <asm/delay.h>
> +void udelay(unsigned long usecs);
> =C2=A0
> =C2=A0static inline void mdelay(unsigned long msec)
> =C2=A0{



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:36:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:36:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641801.1000725 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yyj-0003OC-44; Mon, 27 Nov 2023 10:36:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641801.1000725; Mon, 27 Nov 2023 10: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 1r7Yyi-0003O5-W0; Mon, 27 Nov 2023 10:36:36 +0000
Received: by outflank-mailman (input) for mailman id 641801;
 Mon, 27 Nov 2023 10:36: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YpB-0000Co-1P
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:45 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 758edf24-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:43 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E88C0202A5;
 Mon, 27 Nov 2023 10:26:42 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id BDCE9132A6;
 Mon, 27 Nov 2023 10:26:42 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id lesbLeJuZGXXfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:26: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: 758edf24-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 14/32] Mini-OS: add EXPORT_SYMBOL() instances to main.c
Date: Mon, 27 Nov 2023 11:25:05 +0100
Message-Id: <20231127102523.28003-15-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: +++++++++++++++++
X-Spam-Score: 17.93
X-Rspamd-Server: rspamd1
X-Spam-Level: *****************
X-Rspamd-Queue-Id: E88C0202A5
X-Spam-Flag: NO
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [17.93 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(4.13)[97.40%];
	 MX_GOOD(-0.01)[];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]

Add the needed instances of EXPORT_SYMBOL() to main.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 main.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/main.c b/main.c
index a93bc9d6..c5c1c420 100644
--- a/main.c
+++ b/main.c
@@ -38,10 +38,12 @@ int main(int argc, char *argv[], char *envp[])
 void _init(void)
 {
 }
+EXPORT_SYMBOL(_init);
 
 void _fini(void)
 {
 }
+EXPORT_SYMBOL(_fini);
 
 extern char __app_bss_start, __app_bss_end;
 static void call_main(void *p)
@@ -189,6 +191,7 @@ void _exit(int ret)
     }
     do_exit();
 }
+EXPORT_SYMBOL(_exit);
 
 int app_main(void *p)
 {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:36:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:36:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641808.1000743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Yyw-0004Ps-HA; Mon, 27 Nov 2023 10:36:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641808.1000743; Mon, 27 Nov 2023 10:36: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 1r7Yyw-0004P2-DB; Mon, 27 Nov 2023 10:36:50 +0000
Received: by outflank-mailman (input) for mailman id 641808;
 Mon, 27 Nov 2023 10:36: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YoS-0000Co-8B
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:00 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b43082a-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:25:59 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B939E21B08;
 Mon, 27 Nov 2023 10:25:58 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 90147132A6;
 Mon, 27 Nov 2023 10:25:58 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id 8XjpIbZuZGWffgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:25: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: 5b43082a-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 06/32] Mini-OS: add EXPORT_SYMBOL() instances to mm.c
Date: Mon, 27 Nov 2023 11:24:57 +0100
Message-Id: <20231127102523.28003-7-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: *********************
X-Spamd-Bar: +++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [21.50 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MX_GOOD(-0.01)[];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 21.50
X-Rspamd-Queue-Id: B939E21B08
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to mm.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 arch/arm/mm.c | 2 ++
 arch/x86/mm.c | 5 +++++
 mm.c          | 4 ++++
 3 files changed, 11 insertions(+)

diff --git a/arch/arm/mm.c b/arch/arm/mm.c
index 11962f8b..c269ab14 100644
--- a/arch/arm/mm.c
+++ b/arch/arm/mm.c
@@ -85,6 +85,7 @@ int do_map_frames(unsigned long addr,
 {
     return -ENOSYS;
 }
+EXPORT_SYMBOL(do_map_frames);
 
 /* Get Xen's suggested physical page assignments for the grant table. */
 static paddr_t get_gnttab_base(void)
@@ -149,3 +150,4 @@ unsigned long map_frame_virt(unsigned long mfn)
 {
     return mfn_to_virt(mfn);
 }
+EXPORT_SYMBOL(map_frame_virt);
diff --git a/arch/x86/mm.c b/arch/x86/mm.c
index cfc978f6..767a5f07 100644
--- a/arch/x86/mm.c
+++ b/arch/x86/mm.c
@@ -493,6 +493,7 @@ pgentry_t *need_pgt(unsigned long va)
     offset = l1_table_offset(va);
     return &tab[offset];
 }
+EXPORT_SYMBOL(need_pgt);
 
 /*
  * Reserve an area of virtual address space for mappings and Heap
@@ -634,6 +635,7 @@ int do_map_frames(unsigned long va,
 
     return 0;
 }
+EXPORT_SYMBOL(do_map_frames);
 
 /*
  * Map an array of MFNs contiguous into virtual address space. Virtual
@@ -654,6 +656,7 @@ void *map_frames_ex(const unsigned long *mfns, unsigned long n,
 
     return (void *)va;
 }
+EXPORT_SYMBOL(map_frames_ex);
 
 /*
  * Unmap nun_frames frames mapped at virtual address va.
@@ -724,6 +727,7 @@ int unmap_frames(unsigned long va, unsigned long num_frames)
     }
     return 0;
 }
+EXPORT_SYMBOL(unmap_frames);
 
 /*
  * Clear some of the bootstrap memory
@@ -859,3 +863,4 @@ unsigned long map_frame_virt(unsigned long mfn)
 
     return addr;
 }
+EXPORT_SYMBOL(map_frame_virt);
diff --git a/mm.c b/mm.c
index 6493bdd4..eb0e34de 100644
--- a/mm.c
+++ b/mm.c
@@ -280,6 +280,7 @@ unsigned long alloc_pages(int order)
 
     return 0;
 }
+EXPORT_SYMBOL(alloc_pages);
 
 void free_pages(void *pointer, int order)
 {
@@ -336,6 +337,7 @@ void free_pages(void *pointer, int order)
     free_head[order] = freed_ch;   
    
 }
+EXPORT_SYMBOL(free_pages);
 
 int free_physical_pages(xen_pfn_t *mfns, int n)
 {
@@ -352,6 +354,7 @@ int map_frame_rw(unsigned long addr, unsigned long mfn)
 {
     return do_map_frames(addr, &mfn, 1, 1, 1, DOMID_SELF, NULL, L1_PROT);
 }
+EXPORT_SYMBOL(map_frame_rw);
 
 #ifdef HAVE_LIBC
 void *sbrk(ptrdiff_t increment)
@@ -385,6 +388,7 @@ void *sbrk(ptrdiff_t increment)
 
     return (void *) old_brk;
 }
+EXPORT_SYMBOL(sbrk);
 #endif
 
 
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:37:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:37:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641822.1000761 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7YzX-0005fm-SZ; Mon, 27 Nov 2023 10:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641822.1000761; Mon, 27 Nov 2023 10:37: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 1r7YzX-0005ff-P9; Mon, 27 Nov 2023 10:37:27 +0000
Received: by outflank-mailman (input) for mailman id 641822;
 Mon, 27 Nov 2023 10:37: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yoj-0000Co-Hl
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:17 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 651adca2-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:15 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5714D21B08;
 Mon, 27 Nov 2023 10:26:15 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 2D7B1132A6;
 Mon, 27 Nov 2023 10:26:15 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id ARfVCcduZGW1fgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:26: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: 651adca2-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080775; 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=0DRQp+amWyFgc15qgsA7zVmZocwANgk7w1gaKIUS3eY=;
	b=d5MvaSh4q9nCVYwqr++Wx8UgiX7f6CC2PE4OGZgo2LW/fPYdtLx5j5wncG7/YYT87kEQJT
	tePy0SXfyF8EECUPGw5FYhM/bztxtBYwxGtGUMZ9idU+BlEbfXYj15Cvb1GAqgQbzZTLa4
	poPn5xzk9p54DzwuLPREzUi7oqaDYos=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 09/32] Mini-OS: add EXPORT_SYMBOL() instances to lib/math.c
Date: Mon, 27 Nov 2023 11:25:00 +0100
Message-Id: <20231127102523.28003-10-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ***********
X-Spam-Score: 11.43
X-Spamd-Result: default: False [11.43 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(0.03)[52.25%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to lib/math.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 lib/math.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/math.c b/lib/math.c
index b98cc1d2..9ee9fcdb 100644
--- a/lib/math.c
+++ b/lib/math.c
@@ -338,6 +338,7 @@ __qdivrem(u_quad_t uq, u_quad_t vq, u_quad_t *arq)
 	tmp.ul[L] = COMBINE(qspace[3], qspace[4]);
 	return (tmp.q);
 }
+EXPORT_SYMBOL(__qdivrem);
 
 /*
  * From
@@ -365,6 +366,7 @@ __divdi3(quad_t a, quad_t b)
 	uq = __qdivrem(ua, ub, (u_quad_t *)0);
 	return (neg ? -uq : uq);
 }
+EXPORT_SYMBOL(__divdi3);
 
 /*
  * From
@@ -379,6 +381,7 @@ __udivdi3(u_quad_t a, u_quad_t b)
 {
 	return (__qdivrem(a, b, (u_quad_t *)0));
 }
+EXPORT_SYMBOL(__udivdi3);
 
 /*
  * From
@@ -396,6 +399,7 @@ __umoddi3(u_quad_t a, u_quad_t b)
 	(void)__qdivrem(a, b, &r);
 	return (r);
 }
+EXPORT_SYMBOL(__umoddi3);
 
 /*
  * Returns the quotient and places remainder in r
@@ -405,6 +409,7 @@ __udivmoddi4(u_quad_t a, u_quad_t b, u_quad_t *r)
 {
 	return __qdivrem(a, b, r);
 }
+EXPORT_SYMBOL(__udivmoddi4);
 
 /*
  * From
@@ -434,3 +439,4 @@ __moddi3(quad_t a, quad_t b)
 	(void)__qdivrem(ua, ub, &ur);
 	return (neg ? -ur : ur);
 }
+EXPORT_SYMBOL(__moddi3);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:38:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:38:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641836.1000779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z0F-0006hu-Cx; Mon, 27 Nov 2023 10:38:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641836.1000779; Mon, 27 Nov 2023 10: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 1r7Z0F-0006hl-AF; Mon, 27 Nov 2023 10:38:11 +0000
Received: by outflank-mailman (input) for mailman id 641836;
 Mon, 27 Nov 2023 10:38: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YpX-0000Co-8A
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:07 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 82c2956e-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:27:05 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 1360D21B08;
 Mon, 27 Nov 2023 10:27:05 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id DDA65132A6;
 Mon, 27 Nov 2023 10:27:04 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id wEHaNPhuZGX0fgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:27: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: 82c2956e-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080825; 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=90LIXqRuYEhUqlUUdjvXyDMioMTVUvaIxj4Mp4Wj2kc=;
	b=QV5+kCYudc661PKbdtL8tjQn+f8YBhkFTsFP1xfGGZQz87GjDG8z2zpgl/KK4gdFqN/CKG
	6U/wC9bgs3tkGWa7QTQFLG+4NMrSkW1OuCw3xFyhBZVRAZg2SUdPUwVV5J8tcjqVXG7iLb
	fwO9QO0EqIgZlYCgBdS/L0CDtM9U8zc=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 18/32] Mini-OS: add EXPORT_SYMBOL() instances to gnttab.c
Date: Mon, 27 Nov 2023 11:25:09 +0100
Message-Id: <20231127102523.28003-19-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ****************
X-Spam-Score: 16.27
X-Spamd-Result: default: False [16.27 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(4.87)[99.42%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to gnttab.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 gnttab.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/gnttab.c b/gnttab.c
index 6978a9bc..8168ed5d 100644
--- a/gnttab.c
+++ b/gnttab.c
@@ -80,6 +80,7 @@ gnttab_grant_access(domid_t domid, unsigned long frame, int readonly)
 
     return ref;
 }
+EXPORT_SYMBOL(gnttab_grant_access);
 
 grant_ref_t
 gnttab_grant_transfer(domid_t domid, unsigned long pfn)
@@ -94,6 +95,7 @@ gnttab_grant_transfer(domid_t domid, unsigned long pfn)
 
     return ref;
 }
+EXPORT_SYMBOL(gnttab_grant_transfer);
 
 int
 gnttab_end_access(grant_ref_t ref)
@@ -114,6 +116,7 @@ gnttab_end_access(grant_ref_t ref)
     put_free_entry(ref);
     return 1;
 }
+EXPORT_SYMBOL(gnttab_end_access);
 
 unsigned long
 gnttab_end_transfer(grant_ref_t ref)
@@ -144,6 +147,7 @@ gnttab_end_transfer(grant_ref_t ref)
 
     return frame;
 }
+EXPORT_SYMBOL(gnttab_end_transfer);
 
 grant_ref_t
 gnttab_alloc_and_grant(void **map)
@@ -156,6 +160,7 @@ gnttab_alloc_and_grant(void **map)
     gref = gnttab_grant_access(0, mfn, 0);
     return gref;
 }
+EXPORT_SYMBOL(gnttab_alloc_and_grant);
 
 static const char * const gnttabop_error_msgs[] = GNTTABOP_error_msgs;
 
@@ -168,6 +173,7 @@ gnttabop_error(int16_t status)
     else
         return gnttabop_error_msgs[status];
 }
+EXPORT_SYMBOL(gnttabop_error);
 
 void
 init_gnttab(void)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:38:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:38:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641837.1000788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z0K-00070G-KB; Mon, 27 Nov 2023 10:38:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641837.1000788; Mon, 27 Nov 2023 10:38: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 1r7Z0K-000707-HH; Mon, 27 Nov 2023 10:38:16 +0000
Received: by outflank-mailman (input) for mailman id 641837;
 Mon, 27 Nov 2023 10: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YqE-0000Co-Oj
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:50 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9d1e6be3-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:27:50 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4352220214;
 Mon, 27 Nov 2023 10:27:49 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 18344132A6;
 Mon, 27 Nov 2023 10:27:49 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id TMKfBCVvZGUqfwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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: 9d1e6be3-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 26/32] Mini-OS: add EXPORT_SYMBOL() instances to netfront.c
Date: Mon, 27 Nov 2023 11:25:17 +0100
Message-Id: <20231127102523.28003-27-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: +++++++++++++++
X-Spam-Score: 15.00
X-Rspamd-Server: rspamd1
X-Spam-Level: ***************
X-Rspamd-Queue-Id: 4352220214
X-Spam-Flag: YES
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(0.15)[64.57%];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam: Yes

Add the needed instances of EXPORT_SYMBOL() to netfront.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 netfront.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/netfront.c b/netfront.c
index 164fdc66..7de2498a 100644
--- a/netfront.c
+++ b/netfront.c
@@ -370,16 +370,19 @@ out:
 err:
     return dev;
 }
+EXPORT_SYMBOL(init_netfront);
 
 char *netfront_get_netmask(struct netfront_dev *dev)
 {
     return dev->mask ? strdup(dev->mask) : NULL;
 }
+EXPORT_SYMBOL(netfront_get_netmask);
 
 char *netfront_get_gateway(struct netfront_dev *dev)
 {
     return dev->gw ? strdup(dev->gw) : NULL;
 }
+EXPORT_SYMBOL(netfront_get_gateway);
 
 static struct netfront_dev *_init_netfront(struct netfront_dev *dev)
 {
@@ -625,6 +628,7 @@ int netfront_tap_open(char *nodename) {
     file->dev = dev;
     return dev->fd;
 }
+EXPORT_SYMBOL(netfront_tap_open);
 #endif
 
 void shutdown_netfront(struct netfront_dev *dev)
@@ -654,6 +658,7 @@ void shutdown_netfront(struct netfront_dev *dev)
         free_netfront(dev);
     }
 }
+EXPORT_SYMBOL(shutdown_netfront);
 
 static int _shutdown_netfront(struct netfront_dev *dev)
 {
@@ -813,6 +818,7 @@ void netfront_xmit(struct netfront_dev *dev, const unsigned char *data, int len)
     network_tx_buf_gc(dev);
     local_irq_restore(flags);
 }
+EXPORT_SYMBOL(netfront_xmit);
 
 #ifdef HAVE_LIBC
 ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t len)
@@ -840,6 +846,7 @@ ssize_t netfront_receive(struct netfront_dev *dev, unsigned char *data, size_t l
 
     return dev->rlen;
 }
+EXPORT_SYMBOL(netfront_receive);
 #endif
 
 void netfront_set_rx_handler(struct netfront_dev *dev,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:38:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:38:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641845.1000807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z0Z-0007jo-1r; Mon, 27 Nov 2023 10:38:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641845.1000807; Mon, 27 Nov 2023 10:38: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 1r7Z0Y-0007je-UG; Mon, 27 Nov 2023 10:38:30 +0000
Received: by outflank-mailman (input) for mailman id 641845;
 Mon, 27 Nov 2023 10: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YpF-0000Co-L5
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:49 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78dd2f6e-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:49 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 75B2B21A5E;
 Mon, 27 Nov 2023 10:26:48 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 4CBA9132A6;
 Mon, 27 Nov 2023 10:26:48 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id Q69iEehuZGXdfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:26: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: 78dd2f6e-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080808; 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=6A+RhPrAAMc0jcGa19Yq756hCQ6xoflSogusd8hsADA=;
	b=dNH1K448IJdl4+akYaWlEmCY2doQEIYjPj9X8PGJ62TFdVgPIuauGEjZCzNMf0jXp1l6iO
	BWtBGbqsZxIeXWMlXnemN5An9Mw0NMqRa/BIDdD3c7vGVIgHh5ugXTkwTPnPyMZHXdpb53
	1IhGwyYIXMG2hICTs8CzZR4JzON3/xA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 15/32] Mini-OS: add EXPORT_SYMBOL() instances to console.c
Date: Mon, 27 Nov 2023 11:25:06 +0100
Message-Id: <20231127102523.28003-16-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ***********
X-Spam-Score: 11.83
X-Spamd-Result: default: False [11.83 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(0.43)[73.32%];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to console.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 console.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/console.c b/console.c
index 5d205c7d..0107b685 100644
--- a/console.c
+++ b/console.c
@@ -125,6 +125,7 @@ void console_print(struct consfront_dev *dev, const char *data, int length)
 
     ring_send_fn(dev, copied_ptr, length);
 }
+EXPORT_SYMBOL(console_print);
 
 void print(int direct, const char *fmt, va_list args)
 {
@@ -155,6 +156,7 @@ void printk(const char *fmt, ...)
     print(0, fmt, args);
     va_end(args);
 }
+EXPORT_SYMBOL(printk);
 
 void xprintk(const char *fmt, ...)
 {
@@ -164,6 +166,8 @@ void xprintk(const char *fmt, ...)
     print(1, fmt, args);
     va_end(args);
 }
+EXPORT_SYMBOL(xprintk);
+
 void init_console(void)
 {
     printk("Initialising console ... ");
@@ -320,6 +324,7 @@ int xencons_ring_avail(struct consfront_dev *dev)
 
     return prod - cons;
 }
+EXPORT_SYMBOL(xencons_ring_avail);
 
 int xencons_ring_recv(struct consfront_dev *dev, char *data, unsigned int len)
 {
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:38:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:38:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641855.1000821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z0o-0008Qe-B2; Mon, 27 Nov 2023 10:38:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641855.1000821; Mon, 27 Nov 2023 10:38: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 1r7Z0o-0008QT-7f; Mon, 27 Nov 2023 10:38:46 +0000
Received: by outflank-mailman (input) for mailman id 641855;
 Mon, 27 Nov 2023 10:38: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yoo-0000Co-75
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:22 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6865c561-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:21 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D80AA21A5E;
 Mon, 27 Nov 2023 10:26:20 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id AEEAA132A6;
 Mon, 27 Nov 2023 10:26:20 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id JriAKcxuZGW3fgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:26: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: 6865c561-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080780; 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=ktKhOGmur4jQ1Brbb0nDkjWoCytuJc3+OYR5hECH7CE=;
	b=IjYs3Cs2b2fDJ3zRFhwBZ2fdsjgytBwFlhVyufPK6Kks/dxRbKSpbdlKH+yCrYRmlsjoI6
	FDaSPq0TJBmoKfP94ajBemev0J17uiv40Ca4NESo7mvgs7+88VfKCSBVo18EHNxgam5/Oe
	fc/+FfV8ugeqZS1kaWzBBK+VAtajTCA=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 10/32] Mini-OS: add EXPORT_SYMBOL() instances to lib/printf.c
Date: Mon, 27 Nov 2023 11:25:01 +0100
Message-Id: <20231127102523.28003-11-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ***********
X-Spam-Score: 11.40
X-Spamd-Result: default: False [11.40 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to lib/printf.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 lib/printf.c | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/lib/printf.c b/lib/printf.c
index f9e9d682..0e054957 100644
--- a/lib/printf.c
+++ b/lib/printf.c
@@ -150,6 +150,7 @@ strtoul(const char *nptr, char **endptr, int base)
                 *endptr = __DECONST(char *, any ? s - 1 : nptr);
         return (acc);
 }
+EXPORT_SYMBOL(strtoul);
 
 /*
  * Convert a string to a quad integer.
@@ -241,6 +242,7 @@ strtoq(const char *nptr, char **endptr, int base)
                 *endptr = __DECONST(char *, any ? s - 1 : nptr);
         return (acc);
 }
+EXPORT_SYMBOL(strtoq);
 
 /*
  * Convert a string to an unsigned quad integer.
@@ -309,6 +311,7 @@ strtouq(const char *nptr, char **endptr, int base)
                 *endptr = __DECONST(char *, any ? s - 1 : nptr);
         return (acc);
 }
+EXPORT_SYMBOL(strtouq);
 
 /*
  * Scaled down version of printf(3).
@@ -585,6 +588,7 @@ number:
         }
 #undef PCHAR
 }
+EXPORT_SYMBOL(vsnprintf);
 
 /**
  * snprintf - Format a string and place it in a buffer
@@ -603,6 +607,7 @@ int snprintf(char * buf, size_t size, const char *fmt, ...)
     va_end(args);
     return i;
 }
+EXPORT_SYMBOL(snprintf);
 
 /**
  * vsprintf - Format a string and place it in a buffer
@@ -617,7 +622,7 @@ int vsprintf(char *buf, const char *fmt, va_list args)
 {
     return vsnprintf(buf, 0xFFFFFFFFUL, fmt, args);
 }
-
+EXPORT_SYMBOL(vsprintf);
 
 /**
  * sprintf - Format a string and place it in a buffer
@@ -635,6 +640,7 @@ int sprintf(char * buf, const char *fmt, ...)
     va_end(args);
     return i;
 }
+EXPORT_SYMBOL(sprintf);
 
 /*
  * Fill in the given table from the scanset at the given format
@@ -1214,6 +1220,7 @@ input_failure:
 match_failure:
         return (nassigned);
 }
+EXPORT_SYMBOL(vsscanf);
 
 /**
  * sscanf - Unformat a buffer into a list of arguments
@@ -1231,5 +1238,6 @@ int sscanf(const char * buf, const char * fmt, ...)
 	va_end(args);
 	return i;
 }
+EXPORT_SYMBOL(sscanf);
 
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:38:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:38:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641863.1000843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z10-0000ig-SN; Mon, 27 Nov 2023 10:38:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641863.1000843; Mon, 27 Nov 2023 10:38: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 1r7Z10-0000iK-LQ; Mon, 27 Nov 2023 10:38:58 +0000
Received: by outflank-mailman (input) for mailman id 641863;
 Mon, 27 Nov 2023 10:38: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YqX-0004NR-TR
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:28:09 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a6fb56be-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:28:06 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id CC569202A8;
 Mon, 27 Nov 2023 10:28:05 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id A3661132A6;
 Mon, 27 Nov 2023 10:28:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id Ui6jJjVvZGVEfwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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>
X-Inumbo-ID: a6fb56be-8d0f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080885; 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=3OavG29JmnpyUi3SYYO0kR9XpCfsrefzwj7xVlfdRZw=;
	b=jsKbaDSg7iI0hkJ0JnsT2e+XZMwrO6az3BvsxsrC8+UbWN6lNKl88tSCDJcPXI3scLe4eH
	9JOIdASO3HAh6AGHPD/Uk7LqApT5To243QiyYafYDyvD6gsjfoSFH7RsQj5HeikyPalGFL
	eUKiyVIR0iNMjgMqOgaSFP5vqx0vl6Q=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 29/32] Mini-OS: add EXPORT_SYMBOL() instances to tpmfront.c
Date: Mon, 27 Nov 2023 11:25:20 +0100
Message-Id: <20231127102523.28003-30-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: ****
X-Spam-Flag: NO
X-Spam-Score: 4.69
X-Spamd-Result: default: False [4.69 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(0.99)[81.49%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.999];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]

Add the needed instances of EXPORT_SYMBOL() to tpmfront.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 tpmfront.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/tpmfront.c b/tpmfront.c
index f4864d61..83768d07 100644
--- a/tpmfront.c
+++ b/tpmfront.c
@@ -338,6 +338,8 @@ error:
    shutdown_tpmfront(dev);
    return NULL;
 }
+EXPORT_SYMBOL(init_tpmfront);
+
 void shutdown_tpmfront(struct tpmfront_dev* dev)
 {
    char* err;
@@ -402,6 +404,7 @@ void shutdown_tpmfront(struct tpmfront_dev* dev)
    }
    free(dev);
 }
+EXPORT_SYMBOL(shutdown_tpmfront);
 
 int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
 {
@@ -528,6 +531,7 @@ int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t*
 
    return 0;
 }
+EXPORT_SYMBOL(tpmfront_cmd);
 
 int tpmfront_set_locality(struct tpmfront_dev* dev, int locality)
 {
@@ -536,6 +540,7 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality)
    dev->page->locality = locality;
    return 0;
 }
+EXPORT_SYMBOL(tpmfront_set_locality);
 
 #ifdef HAVE_LIBC
 #include <errno.h>
@@ -663,5 +668,6 @@ int tpmfront_open(struct tpmfront_dev *dev)
 
     return dev->fd;
 }
+EXPORT_SYMBOL(tpmfront_open);
 
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:39:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641883.1000860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z1h-0001qY-7M; Mon, 27 Nov 2023 10:39:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641883.1000860; Mon, 27 Nov 2023 10:39: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 1r7Z1h-0001pz-46; Mon, 27 Nov 2023 10:39:41 +0000
Received: by outflank-mailman (input) for mailman id 641883;
 Mon, 27 Nov 2023 10:39: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yqm-0000Co-D0
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:28:24 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b0d1e573-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:28:22 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 6289D21A5E;
 Mon, 27 Nov 2023 10:28:22 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 38A33132A6;
 Mon, 27 Nov 2023 10:28:22 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id PgOiDEZvZGVafwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:28: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: b0d1e573-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 32/32] Mini-OS: hide all symbols not exported via EXPORT_SYMBOLS()
Date: Mon, 27 Nov 2023 11:25:23 +0100
Message-Id: <20231127102523.28003-33-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: **************************
X-Spamd-Bar: ++++++++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [26.60 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(5.10)[100.00%];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 26.60
X-Rspamd-Queue-Id: 6289D21A5E
X-Spam-Flag: NO

When doing the final linking of the Mini-OS kernel only keep the
symbols visible which have been marked via EXPORT_SYMBOL().

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index 588496cb..456aed0b 100644
--- a/Makefile
+++ b/Makefile
@@ -167,6 +167,7 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
 $(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
 	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
 	$(OBJCOPY) --dump-section .export_symbol=$(OBJ_DIR)/syms $@
+	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=$(OBJ_DIR)/syms --remove-section=.export_symbol $@ $@
 
 $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
 	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:39:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:39:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641885.1000865 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z1h-0001uh-H0; Mon, 27 Nov 2023 10:39:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641885.1000865; Mon, 27 Nov 2023 10:39: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 1r7Z1h-0001uE-Bg; Mon, 27 Nov 2023 10:39:41 +0000
Received: by outflank-mailman (input) for mailman id 641885;
 Mon, 27 Nov 2023 10:39: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yqh-0000Co-34
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:28:19 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ad8b86c7-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:28:17 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id D71B321A5E;
 Mon, 27 Nov 2023 10:28:16 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id AE454132A6;
 Mon, 27 Nov 2023 10:28:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id PWFQKUBvZGVRfwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:28: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: ad8b86c7-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080896; 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=g73YDIOfg+fr6DHKGm3oVeWr7gfJUQ0OIPzwFoMgOy0=;
	b=Idyyl2HRFHkHp4suzKoMv9lJBrLRoW23tRNrqihml85WGwhHTe9CvZhWKtkCN0MVe9ClQk
	XzfJbcpKHtuBA1UEsjIOnLLRHuRvcGupPRhOiZode3VvP7+Wb9646ItqQgt+C8aoRSDnYp
	dz8VnO5G7Sarjd/OuOXGKhZHb9+eQXE=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 31/32] Mini-OS: add EXPORT_SYMBOL() instances to xenbus.c
Date: Mon, 27 Nov 2023 11:25:22 +0100
Message-Id: <20231127102523.28003-32-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ****************
X-Spam-Score: 16.50
X-Spamd-Result: default: False [16.50 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(5.10)[99.99%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to xenbus.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 xenbus.c | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/xenbus.c b/xenbus.c
index 8bfd5bd4..eb9af055 100644
--- a/xenbus.c
+++ b/xenbus.c
@@ -123,6 +123,7 @@ char **xenbus_wait_for_watch_return(xenbus_event_queue *queue)
 
     return &event->path;
 }
+EXPORT_SYMBOL(xenbus_wait_for_watch_return);
 
 void xenbus_wait_for_watch(xenbus_event_queue *queue)
 {
@@ -136,6 +137,7 @@ void xenbus_wait_for_watch(xenbus_event_queue *queue)
     else
         printk("unexpected path returned by watch\n");
 }
+EXPORT_SYMBOL(xenbus_wait_for_watch);
 
 void xenbus_release_wait_for_watch(xenbus_event_queue *queue)
 {
@@ -145,6 +147,7 @@ void xenbus_release_wait_for_watch(xenbus_event_queue *queue)
     *queue = event;
     wake_up(&xenbus_watch_queue);
 }
+EXPORT_SYMBOL(xenbus_release_wait_for_watch);
 
 char *xenbus_wait_for_value(const char *path, const char *value,
                             xenbus_event_queue *queue)
@@ -170,6 +173,7 @@ char *xenbus_wait_for_value(const char *path, const char *value,
         xenbus_wait_for_watch(queue);
     }
 }
+EXPORT_SYMBOL(xenbus_wait_for_value);
 
 char *xenbus_switch_state(xenbus_transaction_t xbt, const char *path,
                           XenbusState state)
@@ -220,6 +224,7 @@ exit:
 
     return msg;
 }
+EXPORT_SYMBOL(xenbus_switch_state);
 
 char *xenbus_wait_for_state_change(const char *path, XenbusState *state,
                                    xenbus_event_queue *queue)
@@ -249,6 +254,7 @@ char *xenbus_wait_for_state_change(const char *path, XenbusState *state,
     }
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_wait_for_state_change);
 
 static void xenbus_read_data(char *buf, unsigned int len)
 {
@@ -602,6 +608,7 @@ struct xsd_sockmsg *xenbus_msg_reply(int type, xenbus_transaction_t trans,
 
     return rep;
 }
+EXPORT_SYMBOL(xenbus_msg_reply);
 
 static char *errmsg(struct xsd_sockmsg *rep)
 {
@@ -664,6 +671,7 @@ char *xenbus_ls(xenbus_transaction_t xbt, const char *pre, char ***contents)
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_ls);
 
 char *xenbus_read(xenbus_transaction_t xbt, const char *path, char **value)
 {
@@ -687,6 +695,7 @@ char *xenbus_read(xenbus_transaction_t xbt, const char *path, char **value)
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_read);
 
 char *xenbus_write(xenbus_transaction_t xbt, const char *path,
                    const char *value)
@@ -707,6 +716,7 @@ char *xenbus_write(xenbus_transaction_t xbt, const char *path,
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_write);
 
 char* xenbus_watch_path_token(xenbus_transaction_t xbt, const char *path,
                               const char *token, xenbus_event_queue *events)
@@ -738,6 +748,7 @@ char* xenbus_watch_path_token(xenbus_transaction_t xbt, const char *path,
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_watch_path_token);
 
 char* xenbus_unwatch_path_token(xenbus_transaction_t xbt, const char *path,
                                 const char *token)
@@ -771,6 +782,7 @@ char* xenbus_unwatch_path_token(xenbus_transaction_t xbt, const char *path,
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_unwatch_path_token);
 
 char *xenbus_rm(xenbus_transaction_t xbt, const char *path)
 {
@@ -787,6 +799,7 @@ char *xenbus_rm(xenbus_transaction_t xbt, const char *path)
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_rm);
 
 char *xenbus_get_perms(xenbus_transaction_t xbt, const char *path, char **value)
 {
@@ -810,6 +823,7 @@ char *xenbus_get_perms(xenbus_transaction_t xbt, const char *path, char **value)
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_get_perms);
 
 #define PERM_MAX_SIZE 32
 char *xenbus_set_perms(xenbus_transaction_t xbt, const char *path, domid_t dom,
@@ -834,6 +848,7 @@ char *xenbus_set_perms(xenbus_transaction_t xbt, const char *path, domid_t dom,
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_set_perms);
 
 char *xenbus_transaction_start(xenbus_transaction_t *xbt)
 {
@@ -855,6 +870,7 @@ char *xenbus_transaction_start(xenbus_transaction_t *xbt)
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_transaction_start);
 
 char *xenbus_transaction_end(xenbus_transaction_t t, int abort, int *retry)
 {
@@ -883,6 +899,7 @@ char *xenbus_transaction_end(xenbus_transaction_t t, int abort, int *retry)
 
     return NULL;
 }
+EXPORT_SYMBOL(xenbus_transaction_end);
 
 int xenbus_read_integer(const char *path)
 {
@@ -902,6 +919,7 @@ int xenbus_read_integer(const char *path)
 
     return t;
 }
+EXPORT_SYMBOL(xenbus_read_integer);
 
 int xenbus_read_uuid(const char *path, unsigned char uuid[16])
 {
@@ -935,6 +953,7 @@ int xenbus_read_uuid(const char *path, unsigned char uuid[16])
 
     return 1;
 }
+EXPORT_SYMBOL(xenbus_read_uuid);
 
 #define BUFFER_SIZE 256
 static void xenbus_build_path(const char *dir, const char *node, char *res)
@@ -957,6 +976,7 @@ char *xenbus_printf(xenbus_transaction_t xbt, const char* node,
 
     return xenbus_write(xbt,fullpath,val);
 }
+EXPORT_SYMBOL(xenbus_printf);
 
 domid_t xenbus_get_self_id(void)
 {
@@ -968,6 +988,7 @@ domid_t xenbus_get_self_id(void)
 
     return ret;
 }
+EXPORT_SYMBOL(xenbus_get_self_id);
 
 char *xenbus_read_string(xenbus_transaction_t xbt, const char *dir,
                          const char *node, char **value)
@@ -978,6 +999,7 @@ char *xenbus_read_string(xenbus_transaction_t xbt, const char *dir,
 
     return xenbus_read(xbt, path, value);
 }
+EXPORT_SYMBOL(xenbus_read_string);
 
 char *xenbus_read_unsigned(xenbus_transaction_t xbt, const char *dir,
                            const char *node, unsigned int *value)
@@ -997,6 +1019,7 @@ char *xenbus_read_unsigned(xenbus_transaction_t xbt, const char *dir,
 
     return msg;
 }
+EXPORT_SYMBOL(xenbus_read_unsigned);
 
 /*
  * Local variables:
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:39:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:39:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641888.1000885 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z1o-0002Ww-2p; Mon, 27 Nov 2023 10:39:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641888.1000885; Mon, 27 Nov 2023 10:39: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 1r7Z1o-0002Wl-07; Mon, 27 Nov 2023 10:39:48 +0000
Received: by outflank-mailman (input) for mailman id 641888;
 Mon, 27 Nov 2023 10:39: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YpM-0000Co-4I
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:56 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c2ce034-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:54 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 05E6E21A5E;
 Mon, 27 Nov 2023 10:26:54 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id D122E132A6;
 Mon, 27 Nov 2023 10:26:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id ioJbMe1uZGXhfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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: 7c2ce034-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 16/32] Mini-OS: add EXPORT_SYMBOL() instances to events.c
Date: Mon, 27 Nov 2023 11:25:07 +0100
Message-Id: <20231127102523.28003-17-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: *********************
X-Spamd-Bar: +++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [21.57 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(0.07)[58.33%];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 21.57
X-Rspamd-Queue-Id: 05E6E21A5E
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to events.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 events.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/events.c b/events.c
index 4683e8e1..9f3dbf05 100644
--- a/events.c
+++ b/events.c
@@ -119,6 +119,7 @@ void unbind_evtchn(evtchn_port_t port )
     if ( rc )
         printk("WARN: close_port %d failed rc=%d. ignored\n", port, rc);
 }
+EXPORT_SYMBOL(unbind_evtchn);
 
 evtchn_port_t bind_virq(uint32_t virq, evtchn_handler_t handler, void *data)
 {
@@ -138,6 +139,7 @@ evtchn_port_t bind_virq(uint32_t virq, evtchn_handler_t handler, void *data)
     bind_evtchn(op.port, handler, data);
 	return op.port;
 }
+EXPORT_SYMBOL(bind_virq);
 
 evtchn_port_t bind_pirq(uint32_t pirq, int will_share,
                         evtchn_handler_t handler, void *data)
@@ -157,6 +159,7 @@ evtchn_port_t bind_pirq(uint32_t pirq, int will_share,
 	bind_evtchn(op.port, handler, data);
 	return op.port;
 }
+EXPORT_SYMBOL(bind_pirq);
 
 /*
  * Initially all events are without a handler and disabled
@@ -217,6 +220,7 @@ int evtchn_alloc_unbound(domid_t pal, evtchn_handler_t handler,
     *port = bind_evtchn(op.port, handler, data);
     return rc;
 }
+EXPORT_SYMBOL(evtchn_alloc_unbound);
 
 /* Connect to a port so as to allow the exchange of notifications with
    the pal. Returns the result of the hypervisor call. */
@@ -240,6 +244,7 @@ int evtchn_bind_interdomain(domid_t pal, evtchn_port_t remote_port,
     *local_port = bind_evtchn(port, handler, data);
     return rc;
 }
+EXPORT_SYMBOL(evtchn_bind_interdomain);
 
 int evtchn_get_peercontext(evtchn_port_t local_port, char *ctx, int size)
 {
@@ -260,6 +265,7 @@ int evtchn_get_peercontext(evtchn_port_t local_port, char *ctx, int size)
     rc = HYPERVISOR_xsm_op(&op);
     return rc;
 }
+EXPORT_SYMBOL(evtchn_get_peercontext);
 
 /* Replace below when a hypercall is available to get the domid. */
 domid_t get_domid(void)
@@ -294,6 +300,7 @@ domid_t get_domid(void)
 
     return domid;
 }
+EXPORT_SYMBOL(get_domid);
 
 /*
  * Local variables:
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:39:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:39:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641893.1000895 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z1v-00035k-B5; Mon, 27 Nov 2023 10:39:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641893.1000895; Mon, 27 Nov 2023 10:39: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 1r7Z1v-00035X-7u; Mon, 27 Nov 2023 10:39:55 +0000
Received: by outflank-mailman (input) for mailman id 641893;
 Mon, 27 Nov 2023 10:39: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yoe-0000Co-EC
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:26:12 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 61d40f72-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:26:10 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id CB4AA21B08;
 Mon, 27 Nov 2023 10:26:09 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id A145E132A6;
 Mon, 27 Nov 2023 10:26:09 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id wlYeJsFuZGWyfgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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: 61d40f72-8d0f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080769; 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=IWD9wp7e1oDERY6EogAJmEZnMVVQ68S78bsckAXuJSQ=;
	b=mLeiD3dNhIcEs2Z5Pm6u+uA1RJoffr7sg/iuIZ0VeVkYVSgg52ytLyBNM9niK/PZ5VW5Yt
	iKVSQ5ALKVsXR5030f7xVXKnC4APnKErB6lKba2SgTIS7KvesZkJl4hliq3Dj8nhDaw9ju
	fl/M2tlIoddQ9+rNKxtt1xwMGD0OMhs=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 08/32] Mini-OS: add EXPORT_SYMBOL() instances to lib/string.c
Date: Mon, 27 Nov 2023 11:24:59 +0100
Message-Id: <20231127102523.28003-9-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: ****************
X-Spam-Score: 16.50
X-Spamd-Result: default: False [16.50 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(5.10)[100.00%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to lib/string.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 lib/string.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/lib/string.c b/lib/string.c
index 8b241464..b0b628c6 100644
--- a/lib/string.c
+++ b/lib/string.c
@@ -19,6 +19,7 @@
  */
 
 #include <strings.h>
+#include <mini-os/export.h>
 
 /* newlib defines ffs but not ffsll or ffsl */
 int __ffsti2 (long long int lli)
@@ -49,11 +50,13 @@ int ffsl (long int li)
 {
     return __ffsti2 ((long long int) li);
 }
+EXPORT_SYMBOL(ffsl);
 
 int ffsll (long long int lli)
 {
     return __ffsti2 (lli);
 }
+EXPORT_SYMBOL(ffsll);
 
 #if !defined HAVE_LIBC
 
@@ -72,6 +75,7 @@ int memcmp(const void * cs,const void * ct,size_t count)
 			break;
 	return res;
 }
+EXPORT_SYMBOL(memcmp);
 
 void * memcpy(void * dest,const void *src,size_t count)
 {
@@ -83,6 +87,7 @@ void * memcpy(void * dest,const void *src,size_t count)
 
 	return dest;
 }
+EXPORT_SYMBOL(memcpy);
 
 int strncmp(const char * cs,const char * ct,size_t count)
 {
@@ -96,6 +101,7 @@ int strncmp(const char * cs,const char * ct,size_t count)
 
 	return __res;
 }
+EXPORT_SYMBOL(strncmp);
 
 int strcmp(const char * cs,const char * ct)
 {
@@ -108,6 +114,7 @@ int strcmp(const char * cs,const char * ct)
 
         return __res;
 }
+EXPORT_SYMBOL(strcmp);
 
 char * strcpy(char * dest,const char *src)
 {
@@ -117,6 +124,7 @@ char * strcpy(char * dest,const char *src)
                 /* nothing */;
         return tmp;
 }
+EXPORT_SYMBOL(strcpy);
 
 char * strncpy(char * dest,const char *src,size_t count)
 {
@@ -127,6 +135,7 @@ char * strncpy(char * dest,const char *src,size_t count)
 
         return tmp;
 }
+EXPORT_SYMBOL(strncpy);
 
 void * memset(void * s,int c,size_t count)
 {
@@ -137,6 +146,7 @@ void * memset(void * s,int c,size_t count)
 
         return s;
 }
+EXPORT_SYMBOL(memset);
 
 size_t strnlen(const char * s, size_t count)
 {
@@ -146,6 +156,7 @@ size_t strnlen(const char * s, size_t count)
                 /* nothing */;
         return sc - s;
 }
+EXPORT_SYMBOL(strnlen);
 
 
 char * strcat(char * dest, const char * src)
@@ -159,6 +170,7 @@ char * strcat(char * dest, const char * src)
     
     return tmp;
 }
+EXPORT_SYMBOL(strcat);
 
 size_t strlen(const char * s)
 {
@@ -168,6 +180,7 @@ size_t strlen(const char * s)
 		/* nothing */;
 	return sc - s;
 }
+EXPORT_SYMBOL(strlen);
 
 char * strchr(const char * s, int c)
 {
@@ -176,6 +189,7 @@ char * strchr(const char * s, int c)
                         return NULL;
         return (char *)s;
 }
+EXPORT_SYMBOL(strchr);
 
 char * strrchr(const char * s, int c)
 {
@@ -185,6 +199,7 @@ char * strrchr(const char * s, int c)
                         res = s;
         return (char *)res;
 }
+EXPORT_SYMBOL(strrchr);
 
 char * strstr(const char * s1,const char * s2)
 {
@@ -202,6 +217,7 @@ char * strstr(const char * s1,const char * s2)
         }
         return NULL;
 }
+EXPORT_SYMBOL(strstr);
 
 char *strdup(const char *x)
 {
@@ -211,6 +227,7 @@ char *strdup(const char *x)
     memcpy(res, x, l + 1);
     return res;
 }
+EXPORT_SYMBOL(strdup);
 
 int ffs(int i)
 {
@@ -224,5 +241,6 @@ int ffs(int i)
    } while (i);
    return 0;
 }
+EXPORT_SYMBOL(ffs);
 
 #endif
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:40:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641900.1000908 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z24-0004G9-M9; Mon, 27 Nov 2023 10:40:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641900.1000908; Mon, 27 Nov 2023 10:40: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 1r7Z24-0004Fp-Hj; Mon, 27 Nov 2023 10:40:04 +0000
Received: by outflank-mailman (input) for mailman id 641900;
 Mon, 27 Nov 2023 10:40: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Ypz-0000Co-Gm
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:35 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 93398bcc-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:27:33 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id AB9C320214;
 Mon, 27 Nov 2023 10:27:32 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 82EF1132A6;
 Mon, 27 Nov 2023 10:27:32 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id UH62HhRvZGUYfwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10: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: 93398bcc-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 23/32] Mini-OS: add EXPORT_SYMBOL() instances to 9pfront.c
Date: Mon, 27 Nov 2023 11:25:14 +0100
Message-Id: <20231127102523.28003-24-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: ++++++++++++++++++
X-Spam-Score: 18.44
X-Rspamd-Server: rspamd1
X-Spam-Level: ******************
X-Rspamd-Queue-Id: AB9C320214
X-Spam-Flag: NO
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [18.44 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(4.64)[98.82%];
	 MX_GOOD(-0.01)[];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]

Add the needed instances of EXPORT_SYMBOL() to 9pfront.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 9pfront.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/9pfront.c b/9pfront.c
index 35c5552b..315089bc 100644
--- a/9pfront.c
+++ b/9pfront.c
@@ -1243,6 +1243,7 @@ void *init_9pfront(unsigned int id, const char *mnt)
     free(msg);
     return NULL;
 }
+EXPORT_SYMBOL(init_9pfront);
 
 void shutdown_9pfront(void *dev)
 {
@@ -1286,6 +1287,7 @@ void shutdown_9pfront(void *dev)
         printk("9pfsfront shutdown %u failed, %s\n", dev9p->id, reason);
     free(msg);
 }
+EXPORT_SYMBOL(shutdown_9pfront);
 
 static const struct file_ops ops_9pfs = {
     .name = "9pfs",
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:40:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641906.1000922 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z2K-0005XS-1T; Mon, 27 Nov 2023 10:40:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641906.1000922; Mon, 27 Nov 2023 10:40: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 1r7Z2J-0005Wx-Sn; Mon, 27 Nov 2023 10:40:19 +0000
Received: by outflank-mailman (input) for mailman id 641906;
 Mon, 27 Nov 2023 10: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YqM-0004NR-OZ
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:58 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a06271ea-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:27:55 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C6769202A8;
 Mon, 27 Nov 2023 10:27:54 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 9B9D7132A6;
 Mon, 27 Nov 2023 10:27:54 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id rj2uJCpvZGUufwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:27: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: a06271ea-8d0f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080874; 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=S8H+CSjoaNbzZijd2tLFpL6ZuHjupFKRJ6T0BDc7jy0=;
	b=MiraO6Du6oOChuFu+ZcXdUcPdlEOAGriPvPSPXUfvExiIuM/sn4XO6OLzDuvIMvf+WBdBe
	BGgvuGn+bIff4xKUUEbfwG7GOzOLGZpz8JNvdL64ZgOdso+6scg9o4Pvpxq8nLfQwzhTei
	eG2jnOld468dRzseHQIgLRsFjINuRzU=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 27/32] Mini-OS: add EXPORT_SYMBOL() instances to pcifront.c
Date: Mon, 27 Nov 2023 11:25:18 +0100
Message-Id: <20231127102523.28003-28-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: ***
X-Spam-Flag: NO
X-Spam-Score: 3.76
X-Spamd-Result: default: False [3.76 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(0.06)[57.24%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.999];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]

Add the needed instances of EXPORT_SYMBOL() to pcifront.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 pcifront.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/pcifront.c b/pcifront.c
index 56423562..f1d69396 100644
--- a/pcifront.c
+++ b/pcifront.c
@@ -278,6 +278,7 @@ error:
     free_pcifront(dev);
     return NULL;
 }
+EXPORT_SYMBOL(init_pcifront);
 
 void pcifront_scan(struct pcifront_dev *dev, void (*func)(unsigned int domain, unsigned int bus, unsigned slot, unsigned int fun))
 {
@@ -319,6 +320,7 @@ void pcifront_scan(struct pcifront_dev *dev, void (*func)(unsigned int domain, u
     }
     free(path);
 }
+EXPORT_SYMBOL(pcifront_scan);
 
 void shutdown_pcifront(struct pcifront_dev *dev)
 {
@@ -377,6 +379,7 @@ close_pcifront:
     if (!err)
         free_pcifront(dev);
 }
+EXPORT_SYMBOL(shutdown_pcifront);
 
 int pcifront_physical_to_virtual (struct pcifront_dev *dev,
                                   unsigned int *dom,
@@ -451,6 +454,7 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op)
     rmb();
     *op = dev->info->op;
 }
+EXPORT_SYMBOL(pcifront_op);
 
 int pcifront_conf_read(struct pcifront_dev *dev,
                        unsigned int dom,
@@ -481,6 +485,7 @@ int pcifront_conf_read(struct pcifront_dev *dev,
 
     return 0;
 }
+EXPORT_SYMBOL(pcifront_conf_read);
 
 int pcifront_conf_write(struct pcifront_dev *dev,
                         unsigned int dom,
@@ -508,6 +513,7 @@ int pcifront_conf_write(struct pcifront_dev *dev,
 
     return op.err;
 }
+EXPORT_SYMBOL(pcifront_conf_write);
 
 int pcifront_enable_msi(struct pcifront_dev *dev,
                         unsigned int dom,
@@ -533,6 +539,7 @@ int pcifront_enable_msi(struct pcifront_dev *dev,
     else
         return op.value;
 }
+EXPORT_SYMBOL(pcifront_enable_msi);
 
 int pcifront_disable_msi(struct pcifront_dev *dev,
                          unsigned int dom,
@@ -555,6 +562,7 @@ int pcifront_disable_msi(struct pcifront_dev *dev,
     
     return op.err;
 }
+EXPORT_SYMBOL(pcifront_disable_msi);
 
 int pcifront_enable_msix(struct pcifront_dev *dev,
                          unsigned int dom,
@@ -589,7 +597,7 @@ int pcifront_enable_msix(struct pcifront_dev *dev,
 
     return 0;
 }
-
+EXPORT_SYMBOL(pcifront_enable_msix);
 
 int pcifront_disable_msix(struct pcifront_dev *dev,
                           unsigned int dom,
@@ -612,3 +620,4 @@ int pcifront_disable_msix(struct pcifront_dev *dev,
     
     return op.err;
 }
+EXPORT_SYMBOL(pcifront_disable_msix);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:40:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:40:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641908.1000927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z2K-0005bO-AM; Mon, 27 Nov 2023 10:40:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641908.1000927; Mon, 27 Nov 2023 10: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 1r7Z2K-0005ab-6p; Mon, 27 Nov 2023 10:40:20 +0000
Received: by outflank-mailman (input) for mailman id 641908;
 Mon, 27 Nov 2023 10:40: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7Yps-0000Co-TB
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:28 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 900feff4-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:27:28 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 2CB5C202A8;
 Mon, 27 Nov 2023 10:27:27 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 01A33132A6;
 Mon, 27 Nov 2023 10:27:26 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id rjPDOg5vZGUQfwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:27: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: 900feff4-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 22/32] Mini-OS: add EXPORT_SYMBOL() instances to lwip-*.c
Date: Mon, 27 Nov 2023 11:25:13 +0100
Message-Id: <20231127102523.28003-23-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spamd-Bar: +++++++++++++++
X-Spam-Score: 15.00
X-Rspamd-Server: rspamd1
X-Spam-Level: ***************
X-Rspamd-Queue-Id: 2CB5C202A8
X-Spam-Flag: YES
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(1.04)[81.94%];
	 MX_GOOD(-0.01)[];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam: Yes

Add the needed instances of EXPORT_SYMBOL() to lwip-*.c.

Most added symbols are in LWIP, but we can't add the EXPORT_SYMBOL()
instances easily there.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 lwip-arch.c | 9 +++++++++
 lwip-net.c  | 2 +-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/lwip-arch.c b/lwip-arch.c
index 21e941e9..7907f446 100644
--- a/lwip-arch.c
+++ b/lwip-arch.c
@@ -12,7 +12,9 @@
 #include <console.h>
 #include <xmalloc.h>
 #include <lwip/sys.h>
+#include <lwip/inet.h>
 #include <stdarg.h>
+#include <mini-os/export.h>
 
 /* Is called to initialize the sys_arch layer */
 void sys_init(void)
@@ -293,3 +295,10 @@ void lwip_die(char *fmt, ...)
     printk("\n");
     BUG();
 }
+
+EXPORT_SYMBOL(htonl);
+EXPORT_SYMBOL(htons);
+EXPORT_SYMBOL(inet_aton);
+EXPORT_SYMBOL(inet_ntoa);
+EXPORT_SYMBOL(ntohl);
+EXPORT_SYMBOL(ntohs);
diff --git a/lwip-net.c b/lwip-net.c
index 16950d32..e71a11c7 100644
--- a/lwip-net.c
+++ b/lwip-net.c
@@ -250,7 +250,7 @@ void networking_set_addr(struct ip_addr *ipaddr, struct ip_addr *netmask, struct
   netif_set_netmask(the_interface, netmask);
   netif_set_gw(the_interface, gw);
 }
-
+EXPORT_SYMBOL(networking_set_addr);
 
 static void
 arp_timer(void *arg)
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:40:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:40:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641911.1000943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z2Y-0006eU-O8; Mon, 27 Nov 2023 10:40:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641911.1000943; Mon, 27 Nov 2023 10:40: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 1r7Z2Y-0006eN-L6; Mon, 27 Nov 2023 10:40:34 +0000
Received: by outflank-mailman (input) for mailman id 641911;
 Mon, 27 Nov 2023 10:40: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YpR-0000Co-FN
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:27:01 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7f76510e-8d0f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:27:00 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 87E5921A5E;
 Mon, 27 Nov 2023 10:26:59 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 5D66B132A6;
 Mon, 27 Nov 2023 10:26:59 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id BCGDFfNuZGXofgAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:26: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: 7f76510e-8d0f-11ee-98e2-6d05b1d4d9a1
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 17/32] Mini-OS: add EXPORT_SYMBOL() instances to gntmap.c
Date: Mon, 27 Nov 2023 11:25:08 +0100
Message-Id: <20231127102523.28003-18-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Level: *************************
X-Spamd-Bar: +++++++++++++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:98 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [25.48 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:98:from];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 BAYES_SPAM(3.98)[96.94%];
	 NEURAL_SPAM_SHORT(3.00)[1.000];
	 MX_GOOD(-0.01)[];
	 NEURAL_SPAM_LONG(3.50)[1.000];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 25.48
X-Rspamd-Queue-Id: 87E5921A5E
X-Spam-Flag: NO

Add the needed instances of EXPORT_SYMBOL() to gntmap.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 gntmap.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/gntmap.c b/gntmap.c
index 3422ab23..5f57d6b3 100644
--- a/gntmap.c
+++ b/gntmap.c
@@ -106,6 +106,7 @@ gntmap_set_max_grants(struct gntmap *map, int count)
     map->nentries = count;
     return 0;
 }
+EXPORT_SYMBOL(gntmap_set_max_grants);
 
 static int
 _gntmap_unmap_grant_ref(struct gntmap *map, int idx)
@@ -209,6 +210,7 @@ gntmap_munmap(struct gntmap *map, unsigned long start_address, int count)
 
     return 0;
 }
+EXPORT_SYMBOL(gntmap_munmap);
 
 void*
 gntmap_map_grant_refs(struct gntmap *map, 
@@ -251,6 +253,7 @@ gntmap_map_grant_refs(struct gntmap *map,
 
     return (void*) addr;
 }
+EXPORT_SYMBOL(gntmap_map_grant_refs);
 
 void
 gntmap_init(struct gntmap *map)
@@ -259,6 +262,7 @@ gntmap_init(struct gntmap *map)
     map->nentries = 0;
     map->entries = NULL;
 }
+EXPORT_SYMBOL(gntmap_init);
 
 void
 gntmap_fini(struct gntmap *map)
@@ -281,3 +285,4 @@ gntmap_fini(struct gntmap *map)
     map->entries = NULL;
     map->nentries = 0;
 }
+EXPORT_SYMBOL(gntmap_fini);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:40:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:40:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641915.1000961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z2d-00077m-4J; Mon, 27 Nov 2023 10:40:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641915.1000961; Mon, 27 Nov 2023 10:40: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 1r7Z2d-00077d-1A; Mon, 27 Nov 2023 10:40:39 +0000
Received: by outflank-mailman (input) for mailman id 641915;
 Mon, 27 Nov 2023 10: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7YqS-0004NR-8Q
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:28:04 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a3ac04e8-8d0f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:28:00 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 4B50E202A8;
 Mon, 27 Nov 2023 10:28:00 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 2281C132A6;
 Mon, 27 Nov 2023 10:28:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id OMI+BzBvZGU5fwAAn2gu4w
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 10:28: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: a3ac04e8-8d0f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701080880; 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=ycr4nnyHBdDBvJ+GYl2PkdDbUSfnWvY3qJvRrp1NPfg=;
	b=vBupVY1PuNl1EfwC9Apaf9wlKHRObRIQCO3YZhGXiqzByrlf5kNtMSkZJHMnqOv9qEIV+Q
	mr68zz+1opApUf/rSqpkVoIKviQhIPxRjjy/iePlFVxlcbnOQb0hvR3u5nVlr8H6jc6QKX
	7ZmuWdAEujUFYX4cw8FrSottaKdzqvU=
From: Juergen Gross <jgross@suse.com>
To: minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org,
	wl@xen.org,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH v3 28/32] Mini-OS: add EXPORT_SYMBOL() instances to tpmback.c
Date: Mon, 27 Nov 2023 11:25:19 +0100
Message-Id: <20231127102523.28003-29-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: ****
X-Spam-Flag: NO
X-Spam-Score: 4.82
X-Spamd-Result: default: False [4.82 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(1.12)[82.74%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-0.999];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]

Add the needed instances of EXPORT_SYMBOL() to tpmback.c.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V3:
- new patch
---
 tpmback.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tpmback.c b/tpmback.c
index 22adbd32..ab0df127 100644
--- a/tpmback.c
+++ b/tpmback.c
@@ -804,6 +804,7 @@ void* tpmback_get_opaque(domid_t domid, unsigned int handle)
 
    return tpmif->opaque;
 }
+EXPORT_SYMBOL(tpmback_get_opaque);
 
 int tpmback_set_opaque(domid_t domid, unsigned int handle, void *opaque)
 {
@@ -816,6 +817,7 @@ int tpmback_set_opaque(domid_t domid, unsigned int handle, void *opaque)
    tpmif->opaque = opaque;
    return 0;
 }
+EXPORT_SYMBOL(tpmback_set_opaque);
 
 unsigned char* tpmback_get_uuid(domid_t domid, unsigned int handle)
 {
@@ -827,6 +829,7 @@ unsigned char* tpmback_get_uuid(domid_t domid, unsigned int handle)
 
    return tpmif->uuid;
 }
+EXPORT_SYMBOL(tpmback_get_uuid);
 
 int tpmback_get_peercontext(domid_t domid, unsigned int handle, void* buffer, int buflen)
 {
@@ -838,6 +841,7 @@ int tpmback_get_peercontext(domid_t domid, unsigned int handle, void* buffer, in
 
    return evtchn_get_peercontext(tpmif->evtchn, buffer, buflen);
 }
+EXPORT_SYMBOL(tpmback_get_peercontext);
 
 static void event_listener(void)
 {
@@ -903,6 +907,7 @@ void init_tpmback(void (*open_cb)(domid_t, unsigned int), void (*close_cb)(domid
    eventthread = create_thread("tpmback-listener", event_thread, NULL);
 
 }
+EXPORT_SYMBOL(init_tpmback);
 
 void shutdown_tpmback(void)
 {
@@ -923,6 +928,7 @@ void shutdown_tpmback(void)
    wake_up(&waitq);
    schedule();
 }
+EXPORT_SYMBOL(shutdown_tpmback);
 
 static void init_tpmcmd(tpmcmd_t* tpmcmd, domid_t domid, unsigned int handle, void *opaque)
 {
@@ -1061,6 +1067,7 @@ tpmcmd_t* tpmback_req_any(void)
    TPMBACK_ERR("backend request ready flag was set but no interfaces were actually ready\n");
    return NULL;
 }
+EXPORT_SYMBOL(tpmback_req_any);
 
 tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle)
 {
@@ -1081,6 +1088,7 @@ tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle)
 
    return get_request(tpmif);
 }
+EXPORT_SYMBOL(tpmback_req);
 
 void tpmback_resp(tpmcmd_t* tpmcmd)
 {
@@ -1108,6 +1116,7 @@ end:
    free(tpmcmd);
    return;
 }
+EXPORT_SYMBOL(tpmback_resp);
 
 int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle)
 {
@@ -1125,8 +1134,10 @@ int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle)
 
    return 0;
 }
+EXPORT_SYMBOL(tpmback_wait_for_frontend_connect);
 
 int tpmback_num_frontends(void)
 {
    return gtpmdev.num_tpms;
 }
+EXPORT_SYMBOL(tpmback_num_frontends);
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:46:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:46:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641936.1000971 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7Z8R-0000Cn-M4; Mon, 27 Nov 2023 10:46:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641936.1000971; Mon, 27 Nov 2023 10: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 1r7Z8R-0000Cg-Iu; Mon, 27 Nov 2023 10:46:39 +0000
Received: by outflank-mailman (input) for mailman id 641936;
 Mon, 27 Nov 2023 10:46: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7Z8Q-0000Ca-QR
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:46:39 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20614.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d53ce9c-8d12-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:46:37 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU0PR04MB9347.eurprd04.prod.outlook.com (2603:10a6:10:357::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 10:46:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 10:46: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: 3d53ce9c-8d12-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kSGOndY5/81GeY338cD/5BpTEFjlmU3DF+IiTbP7jGRulEGNAUYaEljZjFY1oQptpX4jblhiOzhVqE3YDfym3NdVIUAaAN2gCqOFVLB6zJSpbWlJc3/Wp/6KeBCx91K/kiLEOu83Z6nZnguonBUzj1NdFl/ji6HDUTB2+B0TcaeZu0X1WVgeSrIZyw4uOfz+v8F0Wm7uSlcF9pgMwIJIkH+MM+lqLLLzbkMhsGw4XNdtItKi656pPMYoS/3Hk2jjLkTE2aF5K1NCE6XDvJk1ECX3TQnLbNp5cc8f85TRE0OXMLIaMQJhYgV+wnfJoYUnBOLSOCiJ6+6hh/v5iIcbQQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=M3F4Z7GcJNquQVuGDzotKNtGtAraWw7HhIc6dlAURqE=;
 b=RIe+ldkJeWwfBIZcUuigS58fDbFREhlQtogKAvIe8fvmSUuNnJwYu+7BW5DkUSmuj1ehXxNkYr3inHqUeSyw3WYRrFQ2jxD1m+OIpq90/OALXwDgqbSJmNZ6xp+wN8kX+2IBHViFx0T8U4NVyRQN2sXc9oxetDl8GoOX8PKH4Uqi6/WWZvR+tiFHFH/GmiHZTWmnXgBqvWUO56N9cXDexAql4SpPnZOGwKkmWYy0Ga7b/0lk93s/8x3fBjPlHlLH1LMRftIXei9+qx+kE4nFyvaLy9b44nYpM/wLhYd/TzQoD9TtNZaMKQU5RAkWbqEmMLEsw5T0fW1iVs+kbVN4Ug==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=M3F4Z7GcJNquQVuGDzotKNtGtAraWw7HhIc6dlAURqE=;
 b=e5ZL4hJb5dhLeu+pyDK4+Lykf95uesWdIQUtUxVd4PyIf1a9jjt+k4VivB7Ojoy4kXODZsF/BMF7tJzwR+4gedt4kpYHFAS9FOSs8evxMMnwipfW8bVh9aYtOemOmTrV/KEwgGCifiKoB6jr412mFbvp/9MdlTxr0/xvVI/xZPxTk8XzYupUheuMtpFs16w5nEUHULZJTy2ubmcpemSwLLIeMLhg6Jr9VitGPD8wpFg42wokYPhk4o0h29wkAOhy2itwj6o37Xx/DhAqrvsBUeGvFdAQEpEKGEFB2DHEoxkQyRSFghgerfih+7MG2SFoanPNAww36nb+JBeDe9eT0Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <ec587cf6-088b-4142-8067-4d9d67fc58c1@suse.com>
Date: Mon, 27 Nov 2023 11:46:34 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/3] xen/arm: add SAF deviation for debugging and
 logging effects
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1700844359.git.simone.ballarin@bugseng.com>
 <761ce615438312ca5d37fb8829a0ba903375392f.1700844359.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <761ce615438312ca5d37fb8829a0ba903375392f.1700844359.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0138.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b8::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9347:EE_
X-MS-Office365-Filtering-Correlation-Id: 8f5709a8-8585-4029-f9a1-08dbef361f49
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:
	UPaPIDp2o39ig2/M63dSmdZl9+qbk0l2uQTvTq95DxJtbawxvSBlGdDROQS8YMvll3u9PdddkrRopcXOptPawtp6zIh3kr9pDlYMrm5pjwSnado/DMEcArUTPj5wmgb9scsWvss+WL/K0MChtvGXQcllErnDSNIUuhFaPe5wRTX3rj+8QeMuMs67mzCepcMVQGM0eHKclWLZe5/QZcDRtfHe7H3GQNlYWDZVtARdjplpQBHOdhJlZ7qDBgoKdFszYOk4XjL5+50H/HKQmvLzuKW7Qjgcr1kDt5aeuY9cUNGGXhn7EupTdtbq4SbhX7lOb4xCKyYtJH1O0bOpvKLUSidVYH+z4bZM8hYqLE0h9oFhVf0qcbyrnie/0U50zMWq8AbCTtU8nq3OfledMuMx6IGQnUpLNv/LghnyoUdZvZqTqn5ir911H2VpOkKKCGi0VF+8/1uyjvlJOqt3Gun5U8OdBCZkTThpVqzidtrVA1YY1oToIvtKQfJS49uUYY6jJvOny6xbZYbhsFuAInoBl3jNRUtk0bGak7Ji0LU0nCjwBzrvqNBKbDI8e0uMfr651+3r1qpSpW0MatCZcCsol7rIiq9bBGNnXhlQOrtjKnpO/+SlJnLHyqrYqzUJV18SYpLBsc+eWm0wGoWoFWUOuA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(376002)(396003)(346002)(136003)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(6512007)(6506007)(53546011)(2616005)(6486002)(478600001)(83380400001)(7416002)(2906002)(5660300002)(41300700001)(66946007)(54906003)(66556008)(4326008)(6916009)(316002)(8936002)(8676002)(66476007)(36756003)(38100700002)(86362001)(31696002)(31686004)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NXJrOW1pZTRGRC9lK0d6ZlF2WXBxZHErbFhERmYvTHpjVmltTUVkT3NrNEhv?=
 =?utf-8?B?TXFaSkladitRMlZNcW9hNi94Z2pCMFF5cGozdGZlOE1sMnhZY3RxTTRPUWE5?=
 =?utf-8?B?M0V5ZHlqMjloUllrelkwdlNlVnYxN0RKYVpXUVVkb3BFbXZRS1o4WXQ5Tndh?=
 =?utf-8?B?Y1h3NE5FeEU3VU5yWEFkemVlWk80ci9NTDJwckxiVkJVQXgzUitzams0T3Ex?=
 =?utf-8?B?c2tMclZTcjBLNlJsREVLUEFxZ3pOS0RSUXZYWjRvTkRJVkwxZURoaEI4ZGZZ?=
 =?utf-8?B?ZkFBb3hBR2hUZXp0Y2ZNMEk0WTdxRlkzNTc5Zi85aXh4MklCTjFDbzgxQ2xl?=
 =?utf-8?B?KzYrcmFYb1hlN1lLWGI4MWlHU1NIVjlQMG5rVVFFcHhsR0JXVWFtQmx1UVV6?=
 =?utf-8?B?WWVYSmYvTE9zMzRQUHpTaStGVUJ3c2xjeThyVjkrVFNnV0JoSXN2a2JaYStT?=
 =?utf-8?B?ZWR4Z1pGU1BTSkVscG11QWl2ZHlnQnErcmlEamhMVEJWT2Q0YmRZUERFSk5R?=
 =?utf-8?B?RHEvVjFiL1VjeTlicGJuN3lCRVdRempkOFBOT2JpYy9rbGd2SU1XK3BWdHo5?=
 =?utf-8?B?Sm5lTHA5WjZVZ3NscUNsSi9GNmRqMGFSOG5aS2F3T0RVSWZ2VlRDMmV5RXYv?=
 =?utf-8?B?OGd1cStqdFZuMW1BWTBBbEJsci9McHFqTjlYeUlEVFZ0a2FpZlJpd0xHeWIz?=
 =?utf-8?B?VEJJUzRVRzdVNXhiU1pPZVhZYXVqS0ZFRDlYODVYeGZ6ODlMUlhhdjU2bk1P?=
 =?utf-8?B?bEN6cjkyTUZESGlXOTFybzRtSnBRQ20xQlJkSU5NYmtmdTZrTE5RUlo1akZI?=
 =?utf-8?B?R3NwdWMrSHB1eTQ4R2ZZclFVRG1kOWZrOC8xbnRxYmp4d1VRT3U0TTZkaWdK?=
 =?utf-8?B?ejJiaWhxZmtNMVpWWGlkTUovSHE2RHJDdGYzWnh1b0w0cHdvdmpJYkRoTjQ1?=
 =?utf-8?B?UXRnYlhVamhHY1FnUDEzRG51UkFkNXhQdkVhb0owaWwvdG5yWS9pcStsbDNF?=
 =?utf-8?B?a29yMGgrZkV4RjBiL0JkWWoveThSUVhQa2x0eFdUMFB3TkNvL2M1bXBaM29Q?=
 =?utf-8?B?VlFjM1g2eVBsaXFRMWlTSnZLbllRN1FOL0h3SnVxbFlueTU3MDB5T3h0M0Ri?=
 =?utf-8?B?bEVKNFl5Z3RNR0hqL2MrQnpwQ2tTOHZwK1RldDlTTTJ1RTl5T25RN0tZVFFm?=
 =?utf-8?B?ZHpHcSs1U2VWUkg3c0pHcDg3Z2JpZlMwYkVKTHZGK0VtbXNtbzFlZjZqNk5G?=
 =?utf-8?B?elpMOWlnbC9KbGZ2RHRnajlTTzlDZ2FrbzJaaWNkekZzUEdMeGdFOVEwQmFp?=
 =?utf-8?B?YnZCVEZTU3k2a2FlaEUyNzVzWVI5ekpGRDZRcERVZjk0TDdjRFdiSFAzQ0pK?=
 =?utf-8?B?R25oTGtMZHFXVlN2bktCYndBVHVGSnVCekNEbFh0SHVZY1V3Ky9FcmgwR3h0?=
 =?utf-8?B?bzl6cWRmR0w1UVhjaUZTc1I4bTZ3YTkrbVE4Y0hQdjhYMGREeDFjbDRVemVV?=
 =?utf-8?B?U0xWSVEyUTg1Y1A5ZEo0MERrZk9zdEdxbmxJZE11amQrSEloMXNTc0Iyb0JH?=
 =?utf-8?B?cEV6T25kUktmRFJTeExTUVh3ZUkvSUs0eDNCbmhaTVlwaVNaM1FxaXhuSlN3?=
 =?utf-8?B?clNCYmd6TURQMXlrTHRERjc3TnpqdnU3YXVTV2pJNVdRVFFkdHUrQ1FSUnFC?=
 =?utf-8?B?cklvNFp2dHhTcEhXb3VTNEZMc0M5SGtMYXdkaHhaWC9wZ0RSOXNqZzZyU09t?=
 =?utf-8?B?T3lVU1picVIzcldmTFpETlhHSmRtV1pReU1IUGhYQ1AyWWNtWWVLUGQwTldt?=
 =?utf-8?B?QnBUS2hhSUN4bmRIbUpWWnA2Q0NrS1ZqWFZEbldmd1pQSjFkVU43aGxIdDg3?=
 =?utf-8?B?VCthWkgxUkVZdW1uMjUyNGFTdVNwWjE2NTdKU1pob1hKOUgxSUdRWVpQSk9X?=
 =?utf-8?B?cGt6T20vMWVmRlVaQzZKb1hRVTFsSCtPZUo2ZVRpTUpnaXdsRHdrOXRNQXFk?=
 =?utf-8?B?Sm5FeGxKNGJoUmFWeW9INlk2cjhLR2wrOFB3Nmk1NjRBT3ZMQnBEZnNia3E5?=
 =?utf-8?B?d3V5SVE4YXBpZkhkbjRRelB3cDZsYmhkQkd0MTdHcnU1U0Y3cENoZTlHZ2RY?=
 =?utf-8?Q?i6BeuQZIGxFvUflJxJUUclm5t?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8f5709a8-8585-4029-f9a1-08dbef361f49
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 10:46:33.6384
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9W8cv7Qu5KcQvPuBK+fkcvQkvN4I4+NLEAjhuHz4f219bLysYsgERQqZx5d6GajNSS/ZliL/NJN3UIym4oKR+A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9347

On 24.11.2023 18:29, Simone Ballarin wrote:
> Rule 13.1: Initializer lists shall not contain persistent side effects
> 
> Effects caused by debug/logging macros and functions (like ASSERT, __bad_atomic_size,
> LOG, etc ...) that crash execution or produce logs are not dangerous in initializer
> lists. The evaluation order in abnormal conditions is not relevant. Evaluation order
> of logging effects is always safe.
> 
> This patch deviates violations using SAF commits caused by debug/logging macros and
> functions.
> 
> Asm volatile statements in initializer lists that do not perform any persistent side
> effect are safe: this patch deviates violations caused by uses of the current macro
> (that contains an asm volatile) in initializer lists.
> 
> No functional changes.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> 
> ---
> Changes in v2:
> New patch based on the discussion for "xen/arm: address violations of MISRA C:2012 Rule 13.1".
> ---
>  docs/misra/safe.json     | 16 ++++++++++++++++
>  xen/arch/arm/device.c    |  1 +
>  xen/arch/arm/guestcopy.c |  4 ++++
>  xen/arch/x86/hvm/hvm.c   |  1 +
>  xen/common/sched/core.c  |  3 +++

The latter two don't really fit the title prefix.

> --- a/docs/misra/safe.json
> +++ b/docs/misra/safe.json
> @@ -28,6 +28,22 @@
>          },
>          {
>              "id": "SAF-3-safe",
> +            "analyser": {
> +                "eclair": "MC3R1.R13.1"
> +            },
> +            "name": "MC3R1.R13.1: effects for debugging and logging",
> +            "text": "Effects for debugging and loggings reasons that crash execution or produce logs are allowed in initializer lists. The evaluation order in abnormal conditions is not relevant."
> +        },

I'm wary of this statement. Order may not matter much anymore _after_ an
abnormal condition was encountered, but in the course of determining whether
an abnormal condition might have been reached it may very well still matter.

> +        {
> +            "id": "SAF-4-safe",
> +            "analyser": {
> +                "eclair": "MC3R1.R13.1"
> +            },
> +            "name": "MC3R1.R13.1: volatile asm statements that do not perform any persistent side effect",
> +            "text": "Volatile asm statements in an initializer list if do not perform persistent side effects are safe."

Since each respective comment ought to affect just a single asm(), I think
this wants writing in singular. I further don't think it is useful for
"text" to largely restate what "name" already says.

> --- a/xen/arch/arm/device.c
> +++ b/xen/arch/arm/device.c
> @@ -331,6 +331,7 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
>          .p2mt = p2mt,
>          .skip_mapping = !own_device ||
>                          (is_pci_passthrough_enabled() &&
> +                        /* SAF-3-safe effects for debugging/logging reasons are safe */
>                          (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),

What's the debugging / logging reason on the commented line?

> --- a/xen/arch/arm/guestcopy.c
> +++ b/xen/arch/arm/guestcopy.c
> @@ -110,18 +110,21 @@ static unsigned long copy_guest(void *buf, uint64_t addr, unsigned int len,
>  unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
>  {
>      return copy_guest((void *)from, (vaddr_t)to, len,
> +                      /* SAF-4-safe No persistent side effects */
>                        GVA_INFO(current), COPY_to_guest | COPY_linear);
>  }
>  
>  unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
>                                               unsigned int len)
>  {
> +    /* SAF-4-safe No persistent side effects */
>      return copy_guest((void *)from, (vaddr_t)to, len, GVA_INFO(current),
>                        COPY_to_guest | COPY_flush_dcache | COPY_linear);
>  }
>  
>  unsigned long raw_clear_guest(void *to, unsigned int len)
>  {
> +    /* SAF-4-safe No persistent side effects */
>      return copy_guest(NULL, (vaddr_t)to, len, GVA_INFO(current),
>                        COPY_to_guest | COPY_linear);
>  }
> @@ -129,6 +132,7 @@ unsigned long raw_clear_guest(void *to, unsigned int len)
>  unsigned long raw_copy_from_guest(void *to, const void __user *from,
>                                    unsigned int len)
>  {
> +    /* SAF-4-safe No persistent side effects */
>      return copy_guest(to, (vaddr_t)from, len, GVA_INFO(current),
>                        COPY_from_guest | COPY_linear);
>  }

I can only guess that in all four of these it's the use of "current" which
requires the comment. Yet imo that either needs making explicit, or such a
comment shouldn't go on use sites of "current", but on its definition site.

> --- a/xen/common/sched/core.c
> +++ b/xen/common/sched/core.c
> @@ -1517,6 +1517,7 @@ long vcpu_yield(void)
>  
>      SCHED_STAT_CRANK(vcpu_yield);
>  
> +    /* SAF-4-safe No persistent side effects */
>      TRACE_2D(TRC_SCHED_YIELD, current->domain->domain_id, current->vcpu_id);
>      raise_softirq(SCHEDULE_SOFTIRQ);
>      return 0;
> @@ -1895,6 +1896,7 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          if ( copy_from_guest(&sched_shutdown, arg, 1) )
>              break;
>  
> +        /* SAF-4-safe No persistent side effects */
>          TRACE_3D(TRC_SCHED_SHUTDOWN,
>                   current->domain->domain_id, current->vcpu_id,
>                   sched_shutdown.reason);
> @@ -1912,6 +1914,7 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          if ( copy_from_guest(&sched_shutdown, arg, 1) )
>              break;
>  
> +        /* SAF-4-safe No persistent side effects */
>          TRACE_3D(TRC_SCHED_SHUTDOWN_CODE,
>                   d->domain_id, current->vcpu_id, sched_shutdown.reason);
>  

In at least the former two of these cases pulling out "current" into a local
variable "curr" would likely eliminate the violation and at the same time
improve code a little.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:54:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:54:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641952.1000980 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ZFp-00038o-IT; Mon, 27 Nov 2023 10:54:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641952.1000980; Mon, 27 Nov 2023 10:54: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 1r7ZFp-00038h-Fq; Mon, 27 Nov 2023 10:54:17 +0000
Received: by outflank-mailman (input) for mailman id 641952;
 Mon, 27 Nov 2023 10:54: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7ZFo-00038U-H5
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:54:16 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0602.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4dbdaeed-8d13-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 11:54:14 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB9320.eurprd04.prod.outlook.com (2603:10a6:102:2a7::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Mon, 27 Nov
 2023 10:54:12 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 10:54: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: 4dbdaeed-8d13-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RsjpNRhGj/SotU+bohYns4KOSLtSge2vMFyZtt3EexcRXroc7PKuLqFDPCGN7ytsJDwwyWHadKhCx63r33pPx854wjxsshg0HBwUDhioCrk4lHGGinBnbqGS01zdjiS9X421kAZJDHseNxPlNrCgknU2dLTD2WIwVV0iqb8k9Z0WdXI31nxc/iIRTALy5bWiBtIrU6Q/sW4xDCagfBplAwf8K27N32XxnZU1GlSCVbIcYTRgpVVo8eeszA5BaiGt5/856vOTeizJtZl+9bPEia+Tp/dEDXrApz2w61h4zg2dgv1wEJ2fcqzm5iXOQZoxUgAL6/Ir6D1k7O+QucXV/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=3lonXkSG6ucxcf2J9VlLGMSpSz2zvsXvrVV4yIN8rGQ=;
 b=JER7J9EWLZCc6Unc29eLeiiWWLCzvE5ZK6YUZDoTGzJY3MCNSWu+xHAtrRlyaAzpOxGqKROIpqgpp99vfATGnfaGH/9vNyLJRtWvdB62aYHdhPKwPZeQkaGjPSsNgMVjYhptC3rQW6FJ960A8S2d12bIgtC5vscV2b3io6haKNqJvJJvQvtzhzIFO3/Kz8WhpI6ul8DqMEj2AOZY0uVf/lU87ybyPqIf+lBU5Gj0bK/qFgC+o0yxrZgI0e+VdfXc9iJ1nilNj4oU4ivTz9uGr6UCeYV9BqVJM84nAq+RmXRA/p2l3BEiJUNUvYFC80Fz1F/efxUuRknYgj0DHZNGRw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3lonXkSG6ucxcf2J9VlLGMSpSz2zvsXvrVV4yIN8rGQ=;
 b=w9lZe7jgVwtEIQORIQSwf55GAjWhQvb9RkcBhEBCOOUUhwOkYPY6ucEgRLNKtwa+rOwVryGcmVY1n1EkjTLr6/dsVoT3Wp6Jp9CZfudIwL0YnAwKma0DNQOxbKgQeLEr4TcTH2TRQMrkkZNs2FnXxRCXyjiT8tJ7aVw8URsNidbTZHt8ZmFvTxm4zHF/fWzC23XXb1I2YDHEjjlFAcbTlTFtIM0v6qvwGCqFb4JP6+mHXEvSOeucexJk/hG7C0G45tq3xF9/WZW8eLU7SszPppsg3WQZl39lty8ugg0I27JPfpRRVoxX3IWhyT6bc0XvQ//Qeuz+87Q1319U0bFbGA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2d4d3dab-f5a2-4b57-904e-e48642f7937f@suse.com>
Date: Mon, 27 Nov 2023 11:54:12 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 3/3] xen: address violations of MISRA C:2012 Rule
 13.1
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.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>,
 Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>,
 xen-devel@lists.xenproject.org
References: <cover.1700844359.git.simone.ballarin@bugseng.com>
 <771a6f804f4e7dda3897359b57d1d14c2878ea16.1700844359.git.simone.ballarin@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <771a6f804f4e7dda3897359b57d1d14c2878ea16.1700844359.git.simone.ballarin@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0145.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB9320:EE_
X-MS-Office365-Filtering-Correlation-Id: bd097ec0-12f8-4727-9633-08dbef3730ac
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Cc1R7s9qAY9GsTrkJgg4acmfRhbk7fTUpgM3gE9pOJLgMgMB7VGZ16DK6jiMy20vtFTLiXTj2jtWxKRXV8oc5VFffbHoSO/p09+FL/P6UUvEE0i/RdUatg9Z/2b9lU7SeILTYtAVIZqG/N4yFm82dBbN1PjW2xmLvU0mukDMEOTio9JPhLrsujmq88m/1Eq0wi6UfK7oY4+NpQNKSKNa6cSrcD2KJQgVieCTGLP3O8ClG/B78WlhLxm8krxGHTxSXtWlyALS6Tg3zrglmL8s35ZOnsAiPy8EwvBTQsuY6hlOQjy9XV94rv+bYlaQG8FtbkLWlkaf4d9OlzKtuN57qVWYgUc0m9wrVCxU0SQjuHXYAtFnswQ+EmuzK62Q/XmuxUP4oH1ZkiD41y1xy6cFWqFt4pchRhN8gsqSYyZ44zVpnkKBh5C50RwBY9PiTqT+OpQIBDzI61bVlfO9Zkisp3IKJ4nReZVMREsC80j1pikOvJC2TxMO9NXPNRnGGbpj9ZRn9IAvqU53CSzenjnSYOPJClSl9XQvoj8GX+EIuSfrVoGhUOVmUTWzSO1kBdSufxThKp5qSKCmo25q/I/7RPcenzOJc8wTPRQxu/Do9LiFCvJuYK7ZBE7XHX5r4ASQ5xmsSdbdM+dNH1XSWP737Q==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(366004)(396003)(346002)(39860400002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(83380400001)(38100700002)(31686004)(4326008)(8936002)(8676002)(53546011)(6512007)(6506007)(66946007)(316002)(66556008)(54906003)(6916009)(66476007)(86362001)(31696002)(6486002)(5660300002)(478600001)(41300700001)(36756003)(2906002)(26005)(2616005)(66899024)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UGNZUWhIc0Y5dEhvUkpRajk1eCt1K2lRV2YvNlVwTG9WbUY1WlFIQi9xSmJv?=
 =?utf-8?B?OWFMc21aNlU1L082dnRiVVlodDRNbFRVeU8yZ0UzakhkZmJiSmZ5aFNxbzN6?=
 =?utf-8?B?MTRTdHZyTWtOMi83c2dPciszVGx2WmQ3TmYzQXlNUE9ybU9mTHpnbFdDVlZZ?=
 =?utf-8?B?aEdXWDdPb2R6RnJmSlN4b0JQcStGSlgyaUZoem50c0Jaa1dKcDdJTkpiYi9h?=
 =?utf-8?B?RnkrMktxQVRBcUVxUk1WM0kzYlUrN0VwSjQ3MklYV3Btb3hPcGQ0ZXp4K09F?=
 =?utf-8?B?MmZGNnVIbmlXU1dJR1VkVFpJTTBzRkFNWkg4QTBlVmhIbERZRHFQSFhuVnVK?=
 =?utf-8?B?cVRqNDEyRnNFM1hPQjB5TkxjczVKdE43ZkFoVzl3YktxbWM1RlFONnhUaUhO?=
 =?utf-8?B?R2cydlk0UnNVYVdDTlJXZ0FmMzdBMHdZZGZpRWhNNGMrdnVKWmxJUG1nSGcz?=
 =?utf-8?B?S0k4WUlYclI4QTlINVhKT21KSUZ6MDBpQVJBSjgrblEwZTlFSHFnZGQvWGRs?=
 =?utf-8?B?WVhPNkhlK2s1UE1XYm9VcEpSaDBBa3NVUG5XejdJclYyUDlzN0xCM0piU3Ey?=
 =?utf-8?B?SGxGdFVHY0RacVVoMnJWWkx2ais1aUJpTHlYaDA5dk9leVJWZ3dUQXFtNlpQ?=
 =?utf-8?B?RGhQVGE5NlV0ZC9EWWNBY2ZqSk12NWJNZFJEREVjdmpVYUFMcmhHZEEvUTV0?=
 =?utf-8?B?dlNFMXkwY2pqRFI1T1IvVWkrVVlUWHc4cTRZM2F0d2szNFE1OG9GMmNSWlA0?=
 =?utf-8?B?MkhDeUM0WFN3LzZQU0pCYjROVW8xN2hveEc4VFYzVzZuYml2U1Jmd05GV1M4?=
 =?utf-8?B?WjJGMTJmM1F6RTdiRU5INkMxUU1uR2xKQnUreEVJdEN6UDVtOVVzWno0Zkwx?=
 =?utf-8?B?T2ZmWXkvZnc3UUZNVmFHNTNRd2pLVXBHQXpXMksvN2tIMFV2YVVjZ3UrSlBF?=
 =?utf-8?B?NG9oQmt5V1kzVkhyQlN0ZkRTYytpYjJMVTBEcmI5cG8rZjV3U1ZnckVhekpI?=
 =?utf-8?B?dlJIRHRXdjZWcDhnVThEME1oYmZobXhzUmtTR3pZTlFucVRzNklzSHpuYjBP?=
 =?utf-8?B?MzVRUnNYdktCeU16UGd1NlJXL3FQbE02M2xyZEppR2ZqUlFKYlJnRUNQb0dV?=
 =?utf-8?B?azNWOFA4a0RLRlE0NEUxYkFPTzFWNGZ1WGdIZEZVVGJsYU4xb3loODVhSVZk?=
 =?utf-8?B?dVV5Wnp2N1NNSHYvOFU4UlFtekpFWk1nSVR1YWNRVVJnTGpVWUdXaHlvT3Jk?=
 =?utf-8?B?UkpCRDU3ZDNLTzlOc25ZQzBYL0ZNYTNSNklWMmt5VUpMNS9xc3N4Qm9BQk9y?=
 =?utf-8?B?UGZhcHdaK1hEano4SjkrSXh4U1ZYRVNGa3ArZWZZS0RHYmI5UVp5ZDlneFdP?=
 =?utf-8?B?cVVBVXpsdVNuL2lKWHcxMVVSRHJXMkxqa3h4Uy9jYWQ2SEp6VEMyZ01YNW9k?=
 =?utf-8?B?cUZsQXo4YTRpWER6b0ZRVXJXZzJmT0dWcHZZNk5FbCs0VTJWRmo0SVRsNVFG?=
 =?utf-8?B?djVVS2NXZzlIVnRKbG9yWkh5MFZIYW41TkVJcUpPL0xwOEYraktENXFHZWE0?=
 =?utf-8?B?SFlEejJSUmJIMXlaQi9lM3g0emNxcjBPQXU2NHRJcTZPRllOOWNBYy9pcGlH?=
 =?utf-8?B?cDZRYW5SbVppNlR5bkRhOU5KbmhYS29ERnpoOVdhNkdBNkZSRi9YQXpZNlVa?=
 =?utf-8?B?dmM0UWVMYXdhTXlLWE9ncmVCK0pXem40VUYrdW1uOG1aeUllWXVMcXhlY2Vq?=
 =?utf-8?B?S3I4RGprVjJIaUFuekJjSm40ZUFWTHdHcitLYWhCWjBXVmhBcjdmZitqMzR5?=
 =?utf-8?B?dFM5N3BEL1pPZGk4aVdHUlIyM0lmbzRQaTNxSFJFZUxwT05nS1M5NU5qZkFs?=
 =?utf-8?B?aEo2bm9LNVU0NnFMSmxEVjhPTVRhK2FuelRJSEJUYVdpUVFSL3lUWk9QeklE?=
 =?utf-8?B?R3Q4UTRzRVhocFlsUzRJTCtJZlJjam9DZjFGcnNiRnBDRzF3MWJXd1d3RVhY?=
 =?utf-8?B?OWJpZ3pRa0o3Zkk2aDdvcm5QSmsrL3NPS0cwSURHY0g4UlhSVjNiMHVXUkVv?=
 =?utf-8?B?a0hRNDhJK0xESDVRM2NlakRydXRmYlNSU0dIS1VONmRhSW1vc3ZkZWl3YUMv?=
 =?utf-8?Q?yVKhIbwvxCPGYtDCpanHGL1it?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bd097ec0-12f8-4727-9633-08dbef3730ac
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 10:54:12.3119
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: tFDkAAhuCAlTuLN2Bq1vEySaYH1z5H34k8kziVZ/k7jdVUAwdWrUjkBPfZmROz4FEzv7YScyYEzRwNvPhdzRMw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB9320

On 24.11.2023 18:29, Simone Ballarin wrote:
> Rule 13.1: Initializer lists shall not contain persistent side effects
> 
> The assignment operation in:
> 
> .irq = rc = uart->irq,
> 
> is a persistent side effect in a struct initializer list.
> 
> This patch avoids rc assignment and directly uses uart->irq
> in the following if statement.
> 
> No functional changes.
> 
> Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

Who's the author of this patch? (Either the order of the SoB is wrong, or
there's a From: tag missing.)

> ---
> Changes in v2:
> - avoid assignment of rc;
> - drop changes in vcpu_yield(void).
> ---
>  xen/drivers/char/ns16550.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

This warrants a more specific subject prefix. Also there's only a single
violation being dealt with here.

> --- a/xen/drivers/char/ns16550.c
> +++ b/xen/drivers/char/ns16550.c
> @@ -445,11 +445,13 @@ static void __init cf_check ns16550_init_postirq(struct serial_port *port)
>              struct msi_info msi = {
>                  .sbdf = PCI_SBDF(0, uart->ps_bdf[0], uart->ps_bdf[1],
>                                   uart->ps_bdf[2]),
> -                .irq = rc = uart->irq,
> +                .irq = uart->irq,
>                  .entry_nr = 1
>              };
>  
> -            if ( rc > 0 )
> +            rc = 0;
> +
> +            if ( uart->irq > 0 )
>              {
>                  struct msi_desc *msi_desc = NULL;

The fact that there's no functional change here isn't really obvious.
Imo you want to prove that to a reasonable degree in the description.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 10:56:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 10:56:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641956.1000991 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ZHX-0003yZ-Te; Mon, 27 Nov 2023 10:56:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641956.1000991; Mon, 27 Nov 2023 10:56: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 1r7ZHX-0003yS-Pq; Mon, 27 Nov 2023 10:56:03 +0000
Received: by outflank-mailman (input) for mailman id 641956;
 Mon, 27 Nov 2023 10:56: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=j1wO=HI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7ZHW-0003x3-18
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 10:56:02 +0000
Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com
 [2a00:1450:4864:20::42e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8d2a4ac5-8d13-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 11:56:01 +0100 (CET)
Received: by mail-wr1-x42e.google.com with SMTP id
 ffacd0b85a97d-332eeb16e39so1362922f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 02:56:01 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 d11-20020adfa40b000000b003142e438e8csm11675102wra.26.2023.11.27.02.55.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 02:56:00 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d2a4ac5-8d13-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701082560; x=1701687360; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=LD5fcl/vI55p8AwCO4J/PRxd7kgm5d4GjXUo7myTQ/A=;
        b=KC/v90hNSLDQ9u0jHDPZKu99LxzZ44++idSNZOeiAzrR5pH6vOEu9euEnj1SZs21+k
         rtEIARK6K0f/f5FW85QQ5DIVWv5K/6M/X3t/ok+9DfzSkrcDsu6f0qABizCLJ5if1Gc9
         F+WnrAnLortLC1LnVLmTM5p6a/PD0GCwMRhbY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701082560; x=1701687360;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LD5fcl/vI55p8AwCO4J/PRxd7kgm5d4GjXUo7myTQ/A=;
        b=PymYuRo85Of2o3Q2yBt16GVuJZJjk0J615L4AuR7hYFDYPZJnGxmTSjysBsR4A77DP
         JcZDmSHwjZefrzmbC8qdi7FVFJ1KmwUHcdQ0j3CCXFiegsekhNO6tQ9tTjLzl05S3N05
         FnbBGs0JlGDedhoef+1+RcPa0E2uzELUmiwnuyr72griv/ZKn2L2NYJSUhISXjE43Y8s
         1vlh8X2NNI7eGqjVn6fpw+fnmkPBq7DNdgqRpD3YfXT/0EIYoj/S1mtx16qraTGPHHet
         eN+++JyaPe203RxWJ7MtReAf3NeWznZRDnPf+1frlJVkciK3X4YYkJAYNktsiE66HiG/
         GUAA==
X-Gm-Message-State: AOJu0YyiMROpEADpvbVl4ymEL9eI2kQgN4p1s/AgIxwMOq+dmKW48Y3R
	3/BRvP3fXmT1BKPItmFo0qCwwA==
X-Google-Smtp-Source: AGHT+IGfrU5MTTWxk4kGdan/Iy7ZNXKwGAy7MXPGvlkohyokRQFJw/88s+xYtzmZF6SNFeQqkXEoxg==
X-Received: by 2002:adf:f248:0:b0:333:2c0:58af with SMTP id b8-20020adff248000000b0033302c058afmr1249228wrp.51.1701082560352;
        Mon, 27 Nov 2023 02:56:00 -0800 (PST)
Date: Mon, 27 Nov 2023 11:55:59 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Mario Marietto <marietto2008@gmail.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Elliott Mitchell <ehem+freebsd@m5p.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Message-ID: <ZWR1v5Y3EpRK817B@macbook>
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com>

On Mon, Nov 27, 2023 at 10:28:13AM +0000, Henry Wang wrote:
> +(xen-devel and Arm maintainers, including Julien)
> 
> > On Nov 27, 2023, at 18:03, Mario Marietto <marietto2008@gmail.com>
> > wrote:
> > 
> > Hello.  We have just virtualized Debian 12 on our arm (32 bit)
> > Chromebook model xe303c12 . As host / dom0 we have chosen Devuan
> > 5,and for guest / domU,Debian 12. It works great. But our goal is
> > different. We want to virtualize FreeBSD as domU. Can we have a
> > working Xen PV network driver for a FreeBSD arm guest ?. I found
> > that Julien Grall has ported the Xen drivers to FreeBSD on arm. I
> > would like to know if Julien's work was accepted upstream by
> > FreeBSD, in which case FreeBSD as a Xen guest on arm should work
> > if we enable the Xen PV drivers in the FreeBSD on arm kernel. If
> > Julien's work was not accepted upstream by FreeBSD, we will have
> > to find his patches and apply them ourselves to the FreeBSD on arm
> > kernel.

I've added Elliot on Cc as he is working on upstreaming the patches to
FreeBSD.  He will be able to provide a better update than myself.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 11:14:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 11:14:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641972.1001000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ZZM-0002Cg-8I; Mon, 27 Nov 2023 11:14:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641972.1001000; Mon, 27 Nov 2023 11: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 1r7ZZM-0002CZ-5L; Mon, 27 Nov 2023 11:14:28 +0000
Received: by outflank-mailman (input) for mailman id 641972;
 Mon, 27 Nov 2023 11:14: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7ZZK-0002CR-3V
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 11:14:26 +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 1e7a20af-8d16-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 12:14:23 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-507be298d2aso5508234e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 03:14:23 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a29-20020a19ca1d000000b0050aa9e8e26asm1469738lfg.5.2023.11.27.03.14.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 03:14:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1e7a20af-8d16-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701083663; x=1701688463; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=hWjzXLoagQT/SZypkFh4gYCxdo8PooTKKzIaG1UEEJY=;
        b=bD08LHHK35vdaVejZWfWLSoz8hM2lldcwO64zQ8vIDcXFj1DzwzJIu4JM/qvm+VpFq
         zQ4W0DWRh9O24jOM5xbyw8Pa82s0rVO6M9bEiOD6cL4iE87I+uMlTJ8mDpy3A7/3jgj/
         YYvCMEKOI2nhyYgAAP9GVBaHcCaslyQQB9J3H2XrrcsIJuwqHXgHHk/6wg3J1m4QkTEu
         R7m+WVRpbgrrYeAbmJi7VDx7jZFpm1bfeLLdflUswhMVOXp3IDbxYOaC/1Q7sRVdW1Y8
         77dMi/bp73gQaKOx7j0MkhHV1RAMTdCJKW26wcAQCNTtfC+vLGrnER6I0dDk25Q4BnpF
         ntxQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701083663; x=1701688463;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=hWjzXLoagQT/SZypkFh4gYCxdo8PooTKKzIaG1UEEJY=;
        b=dnv/gkaQUTVpVbXaOO1l6mx4PnDmUxcU8unl+v9/EkxHVE7eK+Nf+WM4U3GGVT6Iqx
         vkubxR9ew7CWxRD1pN1eyPVUqrb3uxj+YPmuLTo65KAlbZrLaH33kvqtbw9H7xhmTxiQ
         /1UdtvEpm0oYw5UPcB9DwBy+XGgS6oh2+tdBz43/KTHbu9bCTNaM+Oj4BxmI/ImTRYtg
         3d0YULQZKT/wZJJ360O0eizzJKHaPKjdLU4uXWk92rAcUuOQAIWdw0W14iQtbwyWFAE4
         sqfGsEAzdbCFTzGHZggaKVm9oXfeKINj6oM5HWTp6fL0X1va8Jt0Qkz2wxneBhZj+FIq
         MgbA==
X-Gm-Message-State: AOJu0YzAoBMcdxf9r0JOixtQ8uqjeW0yX6HEEnanUrbXqWuguV/LprqR
	v15jItznGQBDgnWeDF44mzc=
X-Google-Smtp-Source: AGHT+IE3kJ5RmUTsHLuLcKwGyR0qJGCslid1ixDTDppbKTrKyJol5/O9OEdFfE1AC/T4AlQmuVEgVw==
X-Received: by 2002:a19:5f5e:0:b0:503:2555:d1e7 with SMTP id a30-20020a195f5e000000b005032555d1e7mr6539967lfj.45.1701083663114;
        Mon, 27 Nov 2023 03:14:23 -0800 (PST)
Message-ID: <80246724de22a23b35f70b5b47ebb886f47f5dfd.camel@gmail.com>
Subject: Re: [PATCH v3 11/14] xen/asm-generic: introduce stub header numa.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Michal Orzel <michal.orzel@amd.com>, 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>, Andrew Cooper
 <andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Shawn Anastasio
 <sanastasio@raptorengineering.com>
Date: Mon, 27 Nov 2023 13:14:22 +0200
In-Reply-To: <c728ba04-8cbd-45d5-af2c-eefcdf3f7afd@amd.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
	 <7ae3b2dbdb8e711b2462af511e1f64c2700113d7.1700221559.git.oleksii.kurochko@gmail.com>
	 <c728ba04-8cbd-45d5-af2c-eefcdf3f7afd@amd.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

Hello Michal,

On Fri, 2023-11-24 at 14:03 +0100, Michal Orzel wrote:
>=20
> On 17/11/2023 13:24, Oleksii Kurochko wrote:
> >=20
> >=20
> > <asm/numa.h> is common through some archs so it is moved
> > to asm-generic.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V3:
> > =C2=A0- Remove old header inclusion in asm-generic numa.h and include
> > =C2=A0=C2=A0 <xen/mm-frame.h> and <xen/stdint.h>
> > =C2=A0- Drop Arm and PPC's numa.h and use asm-generic version instead.
> > ---
> > Changes in V2:
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - update the commit message.
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - change u8 to uint8_t.
> > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 - add ifnded CONFIG_NUMA.
> > ---
> > =C2=A0xen/arch/arm/include/asm/Makefile=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 1 +
> > =C2=A0xen/arch/ppc/include/asm/Makefile=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 1 +
> > =C2=A0xen/arch/ppc/include/asm/numa.h=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 | 26 ---------------
> > ----
> > =C2=A0.../asm =3D> include/asm-generic}/numa.h=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 | 13 ++++++----
> > =C2=A04 files changed, 10 insertions(+), 31 deletions(-)
> > =C2=A0delete mode 100644 xen/arch/ppc/include/asm/numa.h
> > =C2=A0rename xen/{arch/arm/include/asm =3D> include/asm-generic}/numa.h
> > (75%)
> >=20
> > diff --git a/xen/arch/arm/include/asm/Makefile
> > b/xen/arch/arm/include/asm/Makefile
> > index 8221429c2c..0c855a798a 100644
> > --- a/xen/arch/arm/include/asm/Makefile
> > +++ b/xen/arch/arm/include/asm/Makefile
> > @@ -2,6 +2,7 @@
> > =C2=A0generic-y +=3D altp2m.h
> > =C2=A0generic-y +=3D hardirq.h
> > =C2=A0generic-y +=3D iocap.h
> > +generic-y +=3D numa.h
> > =C2=A0generic-y +=3D paging.h
> > =C2=A0generic-y +=3D percpu.h
> > =C2=A0generic-y +=3D random.h
> > diff --git a/xen/arch/ppc/include/asm/Makefile
> > b/xen/arch/ppc/include/asm/Makefile
> > index 9bbae4cec8..d5a94bc718 100644
> > --- a/xen/arch/ppc/include/asm/Makefile
> > +++ b/xen/arch/ppc/include/asm/Makefile
> > @@ -5,6 +5,7 @@ generic-y +=3D hardirq.h
> > =C2=A0generic-y +=3D hypercall.h
> > =C2=A0generic-y +=3D iocap.h
> > =C2=A0generic-y +=3D monitor.h
> > +generic-y +=3D numa.h
> > =C2=A0generic-y +=3D paging.h
> > =C2=A0generic-y +=3D percpu.h
> > =C2=A0generic-y +=3D random.h
> > diff --git a/xen/arch/ppc/include/asm/numa.h
> > b/xen/arch/ppc/include/asm/numa.h
> > deleted file mode 100644
> > index 7fdf66c3da..0000000000
> > --- a/xen/arch/ppc/include/asm/numa.h
> > +++ /dev/null
> > @@ -1,26 +0,0 @@
> > -#ifndef __ASM_PPC_NUMA_H__
> > -#define __ASM_PPC_NUMA_H__
> > -
> > -#include <xen/types.h>
> > -#include <xen/mm.h>
> > -
> > -typedef uint8_t nodeid_t;
> > -
> > -/* Fake one node for now. See also node_online_map. */
> > -#define cpu_to_node(cpu) 0
> > -#define node_to_cpumask(node)=C2=A0=C2=A0 (cpu_online_map)
> > -
> > -/*
> > - * TODO: make first_valid_mfn static when NUMA is supported on
> > PPC, this
> > - * is required because the dummy helpers are using it.
> > - */
> > -extern mfn_t first_valid_mfn;
> > -
> > -/* XXX: implement NUMA support */
> > -#define node_spanned_pages(nid) (max_page -
> > mfn_x(first_valid_mfn))
> > -#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
> > -#define __node_distance(a, b) (20)
> > -
> > -#define arch_want_default_dmazone() (false)
> > -
> > -#endif /* __ASM_PPC_NUMA_H__ */
> > diff --git a/xen/arch/arm/include/asm/numa.h b/xen/include/asm-
> > generic/numa.h
> > similarity index 75%
> > rename from xen/arch/arm/include/asm/numa.h
> > rename to xen/include/asm-generic/numa.h
> > index e2bee2bd82..c5b522dee8 100644
> > --- a/xen/arch/arm/include/asm/numa.h
> > +++ b/xen/include/asm-generic/numa.h
> > @@ -1,9 +1,11 @@
> > -#ifndef __ARCH_ARM_NUMA_H
> > -#define __ARCH_ARM_NUMA_H
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +#ifndef __ARCH_GENERIC_NUMA_H
> > +#define __ARCH_GENERIC_NUMA_H
> ASM_GENERIC ?
Thanks. I'll rename the guard.
>=20
> >=20
> > -#include <xen/mm.h>
> > +#include <xen/mm-frame.h>
> If this is for mfn_t, shouldn't this inclusion be moved under #ifndef
> ?
It would be better. I'll update that in the next patch series.

>=20
> Apart from that:
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 11:27:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 11:27:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641992.1001015 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ZlX-0000mn-Db; Mon, 27 Nov 2023 11:27:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641992.1001015; Mon, 27 Nov 2023 11:27: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 1r7ZlX-0000mg-9I; Mon, 27 Nov 2023 11:27:03 +0000
Received: by outflank-mailman (input) for mailman id 641992;
 Mon, 27 Nov 2023 11:27: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=a1Fr=HI=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r7ZlV-0000kL-Nq
 for xen-devel@lists.xen.org; Mon, 27 Nov 2023 11:27:01 +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 dda89fd1-8d17-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 12:26:57 +0100 (CET)
Received: from compute3.internal (compute3.nyi.internal [10.202.2.43])
 by mailout.west.internal (Postfix) with ESMTP id 93E883200AC7;
 Mon, 27 Nov 2023 06:26:52 -0500 (EST)
Received: from mailfrontend2 ([10.202.2.163])
 by compute3.internal (MEProxy); Mon, 27 Nov 2023 06:26:52 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Mon,
 27 Nov 2023 06:26:51 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dda89fd1-8d17-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:cc:content-type: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=
	1701084412; x=1701170812; bh=Ahovy3dTMQY5oV7FRTgjhhNH+Fxl2JWmSk3
	tOMjcAbA=; b=xIN8yc7w11iqT8MNuarkF581B/CkDLiNCTKVQjNImWlTFPabBAx
	ZpnfYAfk42mnIHpzNTVeUTNgE1Dnn8ll4SWDZuQG1fi+FXmlVeO4U6DFvfk3B33y
	Nu+mZ1rlk/CMS8HREPU+NUeWR7MXzWyKNgP9YqelcbReRdwBv3jnJVGSRbjNjhzX
	3K8ODBAAbSTQOZwfuPUet+90Bj6AWcH9x0e1lVBFdcvmZQJvPiPjMcx1u3oSZt2S
	5kl6iQjLkn6XuY55qgtky9LUxB99t0knRIzYRBX95hXxFToMnKsD13+guzpD1A50
	iyljFu0WdwkS/w393gaLsHVVJ3/NXnp9lVw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:cc:content-type: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=1701084412; x=1701170812; bh=Ahovy3dTMQY5o
	V7FRTgjhhNH+Fxl2JWmSk3tOMjcAbA=; b=p6VBWOTlWzOaTIV+uCn5kyTc0VfpK
	x92rkoWfWfSejZujfVD3eYQzPWDp68/FhULi+LggKpu2ym5Il+s0zm58HdnlvQeS
	K+U7LYbkOfUaULNdQaOJCG/4FhGeDfNP6kzlfNNtcrZ+A+lVA309Ko5r39+oUJ99
	yrSpAmDcnHkDdxhAvnAOReqqozWbCmdm/dSJrSIhsOY2GPembMvlYp73Fzj/y98H
	X3b3nVGIlWjZ+rjJiAAoVZkGKZ81185U1CrELrYJE38ON5PePZkjlEGO4OgTM/B5
	yqWeAxpRMydMT5lH4GOZm9pRGVLPwRp30NtXZCyRclHr635piCXm/zajQ==
X-ME-Sender: <xms:-3xkZfrbMq8Ucmsu8ZYVIuzl5UML5j3uo48aX0I8MCV9QE7VHaacrw>
    <xme:-3xkZZphuChcbE4Fi8ZIgnTJCzHi0lXmZahEahVOAId90xxjj5u9i2z8gJfEQU8IM
    co7znHF1CEPog>
X-ME-Received: <xmr:-3xkZcNCintfLtlVWhtZwCEAapTgkrFB1JWpY-5VsqFdhPOBMQYyruACa1QZ7n7UBn32-MYHWOJFUrONFUtnyeGkxy10rYmRG_Q>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudeiuddgvdekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
    cujfgurhepfffhvfevuffkfhggtggujgesghdtreertddtjeenucfhrhhomhepofgrrhgv
    khcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhiuceomhgrrhhmrghrvghksehinh
    hvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqnecuggftrfgrthhtvghrnhepueek
    teetgefggfekudehteegieeljeejieeihfejgeevhfetgffgteeuteetueetnecuffhomh
    grihhnpehgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr
    mhepmhgrihhlfhhrohhmpehmrghrmhgrrhgvkhesihhnvhhishhisghlvghthhhinhhgsh
    hlrggsrdgtohhm
X-ME-Proxy: <xmx:-3xkZS4Lgbxs6VG4CEJvJ7k8ZXxyLBlqcSBf2bj7PAKFBQ5b_k3luQ>
    <xmx:-3xkZe7aqKH94eliv7uonD1vIgzxQE4vDTG056QCaoYePIOeQe2G0g>
    <xmx:-3xkZain5UFzw_rC20dzKnYMx7yzjnm9fM6VgpIcWv3uNLGM1pFGDg>
    <xmx:_HxkZbVtafVarH342kXUEQE2dJTjHOxjQWvIxMN-4ag_MBVItpQY6w>
Feedback-ID: i1568416f:Fastmail
Date: Mon, 27 Nov 2023 12:26:49 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] PV guest with PCI passthrough crash on Xen 4.8.3
 inside KVM when booted through OVMF
Message-ID: <ZWR8+Xjm2K8eZpab@mail-itl>
References: <20180216174835.GJ4302@mail-itl>
 <3b6ce245-626d-a6db-b9fa-77dcf26a4ad6@citrix.com>
 <20180216185122.GK4302@mail-itl>
 <b8bb621f-1558-d207-4978-4dca46e350e6@citrix.com>
 <01e7d219-5a2f-58cb-bb30-59f31749f019@suse.com>
 <ZWNbWPkKsLI1q8+D@mail-itl>
 <CACHz=ZiWufUenyw_wg+QuK86+gU5RZNkuJNzX9-K1UM5P3m8+Q@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="exY+4DKLQTsw8emk"
Content-Disposition: inline
In-Reply-To: <CACHz=ZiWufUenyw_wg+QuK86+gU5RZNkuJNzX9-K1UM5P3m8+Q@mail.gmail.com>


--exY+4DKLQTsw8emk
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Mon, 27 Nov 2023 12:26:49 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: Frediano Ziglio <frediano.ziglio@cloud.com>
Cc: xen-devel <xen-devel@lists.xen.org>
Subject: Re: [Xen-devel] PV guest with PCI passthrough crash on Xen 4.8.3
 inside KVM when booted through OVMF

On Mon, Nov 27, 2023 at 11:20:36AM +0000, Frediano Ziglio wrote:
> On Sun, Nov 26, 2023 at 2:51=E2=80=AFPM Marek Marczykowski-G=C3=B3recki
> <marmarek@invisiblethingslab.com> wrote:
> >
> > On Mon, Feb 19, 2018 at 06:30:14PM +0100, Juergen Gross wrote:
> > > On 16/02/18 20:02, Andrew Cooper wrote:
> > > > On 16/02/18 18:51, Marek Marczykowski-G=C3=B3recki wrote:
> > > >> On Fri, Feb 16, 2018 at 05:52:50PM +0000, Andrew Cooper wrote:
> > > >>> On 16/02/18 17:48, Marek Marczykowski-G=C3=B3recki wrote:
> > > >>>> Hi,
> > > >>>>
> > > >>>> As in the subject, the guest crashes on boot, before kernel outp=
ut
> > > >>>> anything. I've isolated this to the conditions below:
> > > >>>>  - PV guest have PCI device assigned (e1000e emulated by QEMU in=
 this case),
> > > >>>>    without PCI device it works
> > > >>>>  - Xen (in KVM) is started through OVMF; with seabios it works
> > > >>>>  - nested HVM is disabled in KVM
> > > >>>>  - AMD IOMMU emulation is disabled in KVM; when enabled qemu cra=
shes on
> > > >>>>    boot (looks like qemu bug, unrelated to this one)
> > > >>>>
> > > >>>> Version info:
> > > >>>>  - KVM host: OpenSUSE 42.3, qemu 2.9.1, ovmf-2017+git1492060560.=
b6d11d7c46-4.1, AMD
> > > >>>>  - Xen host: Xen 4.8.3, dom0: Linux 4.14.13
> > > >>>>  - Xen domU: Linux 4.14.13, direct boot
> > > >>>>
> > > >>>> Not sure if relevant, but initially I've tried booting xen.efi /=
mapbs
> > > >>>> /noexitboot and then dom0 kernel crashed saying something about =
conflict
> > > >>>> between e820 and kernel mapping. But now those options are disab=
led.
> > > >>>>
> > > >>>> The crash message:
> > > >>>> (XEN) d1v0 Unhandled invalid opcode fault/trap [#6, ec=3D0000]
> > > >>>> (XEN) domain_crash_sync called from entry.S: fault at ffff82d080=
218720 entry.o#create_bounce_frame+0x137/0x146
> > > >>>> (XEN) Domain 1 (vcpu#0) crashed on cpu#1:
> > > >>>> (XEN) ----[ Xen-4.8.3  x86_64  debug=3Dn   Not tainted ]----
> > > >>>> (XEN) CPU:    1
> > > >>>> (XEN) RIP:    e033:[<ffffffff826d9156>]
> > > >>> This is #UD, which is most probably hitting a BUG().  addr2line t=
his ^
> > > >>> to find some code to look at.
> > > >> addr2line failed me
> > > >
> > > > By default, vmlinux is stripped and compressed.  Ideally you want to
> > > > addr2line the vmlinux artefact in the root of your kernel build, wh=
ich
> > > > is the plain elf with debugging symbols.
> > > >
> > > > Alternatively, use scripts/extract-vmlinux on the binary you actual=
ly
> > > > booted, which might get you somewhere.
> > > >
> > > >> , but System.map says its xen_memory_setup. And it
> > > >> looks like the BUG() is the same as I had in dom0 before:
> > > >> "Xen hypervisor allocated kernel memory conflicts with E820 map".
> > > >
> > > > Juergen: Is there anything we can do to try and insert some dummy
> > > > exception handlers right at PV start, so we could at least print ou=
t a
> > > > oneliner to the host console which is a little more helpful than Xen
> > > > saying "something unknown went wrong" ?
> > >
> > > You mean something like commit 42b3a4cb5609de757f5445fcad18945ba9239a=
07
> > > added to kernel 4.15?
> > >
> > > >
> > > >>
> > > >> Disabling e820_host in guest config solved the problem. Thanks!
> > > >>
> > > >> Is this some bug in Xen or OVMF, or is it expected behavior and e8=
20_host
> > > >> should be avoided?
> > > >
> > > > I don't really know.  e820_host is a gross hack which shouldn't rea=
lly
> > > > be present.  The actually problem is that Linux can't cope with the
> > > > memory layout it was given (and I can't recall if there is anything
> > > > Linux could potentially to do cope).  OTOH, the toolstack, which kn=
ew
> > > > about e820_host and chose to lay the guest out in an overlapping wa=
y is
> > > > probably also at fault.
> > >
> > > The kernel can cope with lots of E820 scenarios (e.g. by relocating
> > > initrd or the p2m map), but moving itself out of the way is not
> > > possible.
> >
> > I'm afraid I need to resurrect this thread...
> >
> > With recent kernel (6.6+), the host_e820=3D0 workaround is not an option
> > anymore. It makes Linux not initialize xen-swiotlb (due to
> > f9a38ea5172a3365f4594335ed5d63e15af2fd18), so PCI passthrough doesn't
> > work at all. While I can add yet another layer of workaround (force
> > xen-swiotlb with iommu=3Dsoft), that's getting unwieldy.
> >
> > Furthermore, I don't get the crash message anymore, even with debug
> > hypervisor and guest_loglvl=3Dall. Not even "Domain X crashed" in `xl
> > dmesg`. It looks like the "crash" shutdown reason doesn't reach Xen, and
> > it's considered clean shutdown (I can confirm it by changing various
> > `on_*` settings (via libvirt) and observing which gets applied).
> >
> > Most tests I've done with 6.7-rc1, but the issue I observed on 6.6.1
> > already.
> >
> > This is on Xen 4.17.2. And the L0 is running Linux 6.6.1, and then uses
> > QEMU 8.1.2 + OVMF 202308 to run Xen as L1.
> >
>=20
> So basically you start the domain and it looks like it's shutting down
> cleanly from logs.
> Can you see anything from the guest? Can you turn on some more
> debugging at guest level?

No, it crashes before printing anything to the console, also with
earlyprintk=3Dxen.

> I tried to get some more information from the initial crash but I
> could not understand which guest code triggered the bug.

I'm not sure which one is it this time (because I don't have Xen
reporting guest crash...) but last time it was here:
https://github.com/torvalds/linux/blob/master/arch/x86/xen/setup.c#L873-L874

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

--exY+4DKLQTsw8emk
Content-Type: application/pgp-signature; name="signature.asc"

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmVkfPkACgkQ24/THMrX
1yyHMgf6A8AxoFAloPh24/UoabFzFWqVwbwNXr0mL+HK/nCjf3MbOEUdzTiPOM39
91Pbywha5jf9FW6yFwssKCYwNAcFxNmyoCbFC0nxMvMrA1nBAnq3gsJBLLU7FkQs
EQqE7M47fYZJf1K6otwkKq+GTvKR5nheXCKpMIqEM5qRFvhNtdL3v8m4/071D8JG
VQpYxeBRT1Ad1Uwxbe1j5v+yksPk2CW8jztomb3ypQxs02R0hAXdBWF7VK0pJ43I
a94lluEI2T2TSeG6iX2k9+8sKIVdZldIbrtIk0sSiihkIFr3oROtUzhg3L13neoH
HOanUQSlGRwlZ9aQdf7yQt/Ok2z8Bg==
=0YKb
-----END PGP SIGNATURE-----

--exY+4DKLQTsw8emk--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 11:48:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 11:48:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.641999.1001025 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7a68-0006CZ-7J; Mon, 27 Nov 2023 11:48:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 641999.1001025; Mon, 27 Nov 2023 11:48: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 1r7a68-0006CS-4M; Mon, 27 Nov 2023 11:48:20 +0000
Received: by outflank-mailman (input) for mailman id 641999;
 Mon, 27 Nov 2023 11:48: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7a67-0006CM-0C
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 11:48:19 +0000
Received: from mail-lj1-x235.google.com (mail-lj1-x235.google.com
 [2a00:1450:4864:20::235])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da409007-8d1a-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 12:48:16 +0100 (CET)
Received: by mail-lj1-x235.google.com with SMTP id
 38308e7fff4ca-2c503da4fd6so49535891fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 03:48:17 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 t10-20020a2e780a000000b002bb95815f92sm1328322ljc.115.2023.11.27.03.48.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 03:48:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da409007-8d1a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701085696; x=1701690496; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=WwC3Y0ODqqJ5G7Umpl0ATxm2dqp0b9XYBSLUHG7fDxE=;
        b=iQIanO88gKUkigUAe0H4Zcz5no9Oa+/OphVxadpWyJ0ftFcqSlwIismMxtaU+gF8l3
         Z6JCcikkuZcHYLF2DAb5Fe4tg92sAQdG/muXNB5MWyRAB7W7edBWMFzoniqCr0YOqPis
         Jip5SbODEQrl8a9CT2jJRFNrX6PHQ9glpgLa2r+vdaRsENo5+m1aaNL1lHrPLI3J4pVO
         wvsJYAljizqPqN8pSZxHflELus3Y8TOfPHObiAOGTBMV6P0rI8fk9WMFW4MfKMLUQKZJ
         4FI8qlBw6aVWHBM4MOzo6d4DsLT7tHhuf3G2qKXo8+Avi47qk5tUwJjScYb7DfXuE3hq
         NhPA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701085696; x=1701690496;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WwC3Y0ODqqJ5G7Umpl0ATxm2dqp0b9XYBSLUHG7fDxE=;
        b=Ao+60OYrPz+KtxJOIuSzqDkFpK1VTpAsVBxoJukuUecQ8iFnQHT7XULc80SEGZkida
         PHvqgX1bhkLr90umqgEz5Qt5w5/5eBdEfQpJxjsAdHf2e6xW1Djpc6k+QslKEW0ov3/H
         2hSxjW6YUurNsMinwnvHgPQOeI9VxYy9iR5zyNK6dZ3CqCtYXnuSyFljorTviYb558+r
         h+ne99fgvlnufkKgquljSopfacKiXAkmysQaLJU0Qy7TBfasi19ZD8m10dLjYGEZTv7z
         0e51Vzb7rc1Alv3dkJdR65e/CDKfheA3edpnxXzBbt79i7sfIk75r+a1iWn41DdOiAYG
         Pz7Q==
X-Gm-Message-State: AOJu0YzsAOykSzn2KOys+mJS9SQtcALtLjgSxNZPKum/P5thcwWkcMSA
	CBzC0jXXv/D7AbJjerT4r7o=
X-Google-Smtp-Source: AGHT+IEJhztbmOdPXBPp+BemJKeVnAalj77bJS/6J2YPMA+ARgmI7birHi1+LcHnRA8OKiqAll7+rA==
X-Received: by 2002:a05:651c:3d1:b0:2c9:954b:7247 with SMTP id f17-20020a05651c03d100b002c9954b7247mr4155747ljp.10.1701085696311;
        Mon, 27 Nov 2023 03:48:16 -0800 (PST)
Message-ID: <f3a707b82b3f2c8829ca1a26fe4ac307f9a212bd.camel@gmail.com>
Subject: Re: [PATCH v3 09/14] xen/asm-generic: introduce generic header
 altp2m.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>, Michal Orzel <michal.orzel@amd.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>, George Dunlap <george.dunlap@citrix.com>, Wei
 Liu <wl@xen.org>, Shawn Anastasio <sanastasio@raptorengineering.com>, 
 xen-devel@lists.xenproject.org
Date: Mon, 27 Nov 2023 13:48:15 +0200
In-Reply-To: <f37ac1d0-888f-484f-9e74-40699cd3a620@suse.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
	 <efb6b1864de36d9990a2d2a84308f4bdebebb66a.1700221559.git.oleksii.kurochko@gmail.com>
	 <5a1b98cc-cbda-4355-87db-9aea12d21d73@amd.com>
	 <f37ac1d0-888f-484f-9e74-40699cd3a620@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Fri, 2023-11-24 at 14:18 +0100, Jan Beulich wrote:
> On 24.11.2023 14:00, Michal Orzel wrote:
> > On 17/11/2023 13:24, Oleksii Kurochko wrote:
> > > --- a/xen/arch/arm/include/asm/altp2m.h
> > > +++ /dev/null
> > > @@ -1,39 +0,0 @@
> > > -/*
> > > - * Alternate p2m
> > > - *
> > > - * Copyright (c) 2014, Intel Corporation.
> > Shouldn't this copyright be moved to generic header as well?
>=20
> In earlier communication I raised the question whether such trivial
> stubs are actually copyright-able.
Could you please give a link? I couldn't remember what was the decision
and why.

Thanks in advance.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 11:49:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 11:49:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642001.1001034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7a6u-0006o3-Es; Mon, 27 Nov 2023 11:49:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642001.1001034; Mon, 27 Nov 2023 11: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 1r7a6u-0006nw-C9; Mon, 27 Nov 2023 11:49:08 +0000
Received: by outflank-mailman (input) for mailman id 642001;
 Mon, 27 Nov 2023 11: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=fT1m=HI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r7a6t-0006nq-AP
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 11:49:07 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f67608a1-8d1a-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 12:49:04 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-40b4734b975so4776365e9.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 03:49:04 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 k24-20020a5d5258000000b00332c0aace23sm11734537wrc.105.2023.11.27.03.49.03
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 03:49:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f67608a1-8d1a-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701085744; x=1701690544; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:from:to:cc:subject:date:message-id:reply-to;
        bh=kW4RCVrbbaCbEntC8Yzu+19SQZJLaZ2u5ZHseuSLRWI=;
        b=n9RVL8vGBvgHwRwvHEeL+Te6W0GQzpcUaVKBwIMkQZZG5frOsKt5cJyGAxJfIoEAs9
         9TGwl3flkkfu+VapLic+UQsdY8krdEWYYKf2XmM+XINnAFqwLZPDXnxyuEavJGqhlbAB
         zzlY/cHLA2TKEJ6ZjflFzh3S4UPTjecRrtcU0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701085744; x=1701690544;
        h=content-transfer-encoding:in-reply-to:autocrypt:content-language
         :references:cc:to:subject:from:user-agent:mime-version:date
         :message-id:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=kW4RCVrbbaCbEntC8Yzu+19SQZJLaZ2u5ZHseuSLRWI=;
        b=RZ/O7MpQeFXp1v/JxlXF201vS5wCTFhYHK+xI7D+iaTovxbGucwhEDfvgE9dJrcLJx
         oOxP2p7/hAfy3Jo3IEmT/uy2M4++W54ucLiKqtl5KqsNyJtF9o+i/eMbMRxGupxKGwtI
         xD2Z2zmahcen7CM5Op/kFlQZ4bE0HFfBgL1vqwc3fyw3NLn6oqDF7Re8h0AfLyyWFGOy
         vM6kwuGOXoSUPjDuK3xLCv7bPYh9FJuZJSVCCojQT/remD4apz5S2CYfIaHoqSd0eJSz
         uYbSUx+5q7f3016sseFBmJf8+wx5Gu6YTlcwDe7CxtWAxxVbCOQWMdFn/0J8ElyabxSN
         Joyg==
X-Gm-Message-State: AOJu0YxaQB1Xz9elQFICu7UPqvaUAIvk/iNliH95F6ryi+ouV+zSAwye
	ABPx3G32XFrCn5hJFSptIv1DaQ==
X-Google-Smtp-Source: AGHT+IH62kjb8WyQ2w7dbXIM1Smc3JbDbLdKThk7powgW3mBpqS2lHeUWGLJvccXorqCVYSrJGxPaA==
X-Received: by 2002:adf:f94d:0:b0:333:43b:840a with SMTP id q13-20020adff94d000000b00333043b840amr1124769wrr.50.1701085743821;
        Mon, 27 Nov 2023 03:49:03 -0800 (PST)
Message-ID: <a4b4546a-60b8-4d0e-bdf4-9af6699fb925@citrix.com>
Date: Mon, 27 Nov 2023 11:49:03 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
To: Neowutran <xen@neowutran.ovh>
Cc: Elliott Mitchell <ehem+xen@m5p.com>, Henry Wang <Henry.Wang@arm.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, 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?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com> <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
 <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
 <x4qzfuqkkebjkdfmhw6rvdhrn2ewa6ghjtjqd7xevnuylfahh7@pjratinsg76a>
Content-Language: en-GB
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <x4qzfuqkkebjkdfmhw6rvdhrn2ewa6ghjtjqd7xevnuylfahh7@pjratinsg76a>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 24/11/2023 7:54 pm, Neowutran wrote:
> Hi, 
> I did some more tests and research, indeed this patch improved/solved my specific case. 
>
> Starting point: 
>
> I am using Xen version 4.17.2 (exactly this source https://github.com/QubesOS/qubes-vmm-xen).
> In the bios (a Asus motherboard), I configured the "local apic" parameter to "X2APIC".
> For Xen, I did not set the parameter "x2apic-mode" nor the parameter "x2apic_phys". 
>
> Case 1:
> I tryied to boot just like that, result: system is unusuably slow
>
> Case 2:
> Then, I applied a backport of the patch  
> https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw 
> to the original Xen version of QubesOS and I recompiled. 
> (https://github.com/neowutran/qubes-vmm-xen/blob/x2apic3/X2APIC.patch)
> Result: it work, the system is usable. 
>
> Case 3:
> Then, I applied the patch https://github.com/xen-project/xen/commit/26a449ce32cef33f2cb50602be19fcc0c4223ba9
> to the original Xen version of QubesOS and I recompiled.
> (https://github.com/neowutran/qubes-vmm-xen/blob/x2apic4/X2APIC.patch)
> Result: system is  
> unusuably slow. 
>
>
> In "Case 2", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_mixed". 
> In "Case 3", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_cluster". 
>
>
> -------------------
> If you want / need, details for the function "apic_x2apic_probe":
>
> Known "input" value:
>
> "CONFIG_X2APIC_PHYSICAL" is not defined
> "iommu_intremap == iommu_intremap_off" = false
> "acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL" -> 0
> "acpi_gbl_FADT.flags" = 247205 (in decimal)
> "CONFIG_X2APIC_PHYSICAL" is not defined
> "CONFIG_X2APIC_MIXED" is defined, because it is the default choice
> "x2apic_mode" = 0
> "x2apic_phys" = -1
>
>
>
> Trace log (I did some call "printk" to trace what was going on)
> Case 2:
> (XEN) NEOWUTRAN: X2APIC_MODE: 0 
> (XEN) NEOWUTRAN: X2APIC_PHYS: -1 
> (XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
> (XEN) NEOWUTRAN IOMMU_INTREMAP: different 
> (XEN) Neowutran: PASSE 2 
> (XEN) Neowutran: PASSE 4 
> (XEN) NEOWUTRAN: X2APIC_MODE: 3 
> (XEN) Neowutran: PASSE 7 
> (XEN) NEOWUTRAN: X2APIC_MODE: 3 
>  
> (XEN) NEOWUTRAN: X2APIC_PHYS: -1 
> (XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
> (XEN) NEOWUTRAN IOMMU_INTREMAP: different 
>
> Case 3:
> (XEN) NEOWUTRAN2: X2APIC_PHYS: -1 
> (XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
> (XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
> (XEN) Neowutran2: Passe 1 
> (XEN) NEOWUTRAN2: X2APIC_PHYS: 0 
> (XEN) Neowutran2: Passe 6 
> (XEN) Neowutran2: Passe 7 
> (XEN) NEOWUTRAN2: X2APIC_PHYS: 0 
> (XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
> (XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
> (XEN) Neowutran2: Passe 2 
> (XEN) Neowutran2: Passe 4 
> (XEN) Neowutran2: Passe 7
>
>
>
> If you require the full logs, I could publish the full logs somewhere.
> ----------------------
>
> ( However I do not understand if the root issue is a buggy motherboard, a
> bug in xen, or if the parameter "X2APIC_PHYSICAL" should have been set
> by the QubesOS project, or something else)

Hello,

Thankyou for the analysis.

For your base version of QubeOS Xen, was that 4.13.2-5 ?   I can't see
any APIC changes in the patchqueue, and I believe all relevant bugfixes
are in 4.17.2, but I'd just like to confirm.

First, by "unusable slow", other than the speed, did everything else
appear to operate adequately?  Any chance you could guess the slowdown. 
i.e. was it half the speed, or "seconds per log console line during
boot" levels of slow?


Having re-reviewed 26a449ce32, the patch is correct but the reasoning is
wrong.

ACPI_FADT_APIC_CLUSTER predates x2APIC by almost a decade (it appeared
in ACPI 3.0), and is not relevant outside of xAPIC mode.  xAPIC has 2
different logical destination modes, cluster and flat, and their
applicability is dependent on whether you have fewer or more than 8
local APICs, hence that property being called out in the ACPI spec.

x2APIC does not have this property.  DFR was removed from the
architecture, and logical mode is strictly cluster.  So the bit should
never have been interpreted on an x2APIC code path.

Not that it matters in your case - the bit isn't set in your FADT, hence
why case 1 and 3 have the same behaviour.


This brings us to case 2, where mixed mode does seem to resolve the perf
problem.

Since that patch was written, I've learnt how cluster delivery mode
works for external interrupts, and Xen should never ever have been using
it (Xen appears to be alone in OS software here).  For an external
interrupt in Logical cluster mode, it always sends to the lowest ID in
the cluster.  If that APIC decides that the local processor is too busy
to handle the interrupt now, it forwards the interrupt to the next APIC
in the cluster, and this cycle continues until one APIC accepts the message.

You get most interrupts hitting the lowest APIC in the cluster, but the
interrupt can be forwarded between APICs for an unbounded quantity of
time depending on system utilisation.


Could you please take case 2 and confirm what happens when booting with
x2apic-mode={physical,cluster}?  If the pattern holds, the physical
should be fine, and cluster should see the same problems as case 1 and 3.

Thanks,

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 11:55:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 11:55:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642013.1001044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7aDK-0002JD-44; Mon, 27 Nov 2023 11:55:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642013.1001044; Mon, 27 Nov 2023 11:55: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 1r7aDK-0002J6-1U; Mon, 27 Nov 2023 11:55:46 +0000
Received: by outflank-mailman (input) for mailman id 642013;
 Mon, 27 Nov 2023 11:55: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 1r7aDI-0002Ie-Je; Mon, 27 Nov 2023 11:55: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 1r7aDI-0003JK-At; Mon, 27 Nov 2023 11:55: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 1r7aDH-0006Ak-QF; Mon, 27 Nov 2023 11:55:43 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7aDH-0006AW-Pf; Mon, 27 Nov 2023 11:55: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=Fzj2mZ/EZkdYpfJFy9EhXoVJKCZ1KOT6RLU/o+TVCYA=; b=UNPx/uoNHBxylEMrCZtGww5Hfo
	2h933z3LnB0yIhVt4xd3SX4xwx/fP1pU5vz7kgifYSDsQZmoMvXM+o7igxUnGt6vhx49mCWbmvZ1G
	FgELgnybtdENn0CFLR8OyZx65Bhjyxp0EgGS6yfByFHbjuy9jNUvhaV7iZOEOlMSRHKk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183866-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183866: trouble: blocked/broken
X-Osstest-Failures:
    xen-unstable:build-amd64:<job status>:broken:regression
    xen-unstable:build-amd64-prev:<job status>:broken:regression
    xen-unstable:build-amd64-pvops:<job status>:broken:regression
    xen-unstable:build-amd64-xsm:<job status>:broken:regression
    xen-unstable:build-amd64-xtf:<job status>:broken:regression
    xen-unstable:build-arm64:<job status>:broken:regression
    xen-unstable:build-arm64-pvops:<job status>:broken:regression
    xen-unstable:build-arm64-xsm:<job status>:broken:regression
    xen-unstable:build-armhf:<job status>:broken:regression
    xen-unstable:build-armhf-pvops:<job status>:broken:regression
    xen-unstable:build-i386:<job status>:broken:regression
    xen-unstable:build-i386-prev:<job status>:broken:regression
    xen-unstable:build-i386-pvops:<job status>:broken:regression
    xen-unstable:build-i386-xsm:<job status>:broken:regression
    xen-unstable:build-i386-pvops:host-install(4):broken:regression
    xen-unstable:build-i386-prev:host-install(4):broken:regression
    xen-unstable:build-i386-xsm:host-install(4):broken:regression
    xen-unstable:build-i386:host-install(4):broken:regression
    xen-unstable:build-arm64-xsm:host-install(4):broken:regression
    xen-unstable:build-arm64:host-install(4):broken:regression
    xen-unstable:build-arm64-pvops:host-install(4):broken:regression
    xen-unstable:build-amd64-pvops:host-install(4):broken:regression
    xen-unstable:build-amd64-prev:host-install(4):broken:regression
    xen-unstable:build-amd64-xsm:host-install(4):broken:regression
    xen-unstable:build-amd64-xtf:host-install(4):broken:regression
    xen-unstable:build-armhf-pvops:host-install(4):broken:regression
    xen-unstable:build-amd64:host-install(4):broken:regression
    xen-unstable:build-armhf:host-install(4):broken:regression
    xen-unstable:test-amd64-coresched-amd64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-coresched-i386-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-examine-bios:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-examine-uefi:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-freebsd10-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-freebsd10-i386: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-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-amd64-i386-livepatch:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-migrupgrade:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-qemuu-rhel6hvm-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-i386-xsm:build-check(1):blocked:nonblocking
    xen-unstable:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-qcow2:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvshim:build-check(1):blocked:nonblocking
    xen-unstable:build-arm64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvhv2-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-pvhv2-amd:build-check(1):blocked:nonblocking
    xen-unstable:build-armhf-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:build-i386-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-dom0pvh-xl-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-intel:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine-bios:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-examine-uefi:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-freebsd12-amd64: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-qemuu-freebsd11-amd64: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-amd64-pygrub:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-livepatch:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-migrupgrade:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-pair:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-win7-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-amd64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-shadow:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-vhd:build-check(1):blocked:nonblocking
    xen-unstable:test-amd64-i386-xl-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:test-arm64-arm64-xl-credit2: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-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-examine: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:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    xen-unstable:test-armhf-armhf-xl-vhd: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
X-Osstest-Versions-This:
    xen=80c153c48b255bae61948827241c26671207cf4e
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Nov 2023 11:55:43 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-prev                <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-amd64-xtf                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-prev                 <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 183860
 build-i386-prev               4 host-install(4)        broken REGR. vs. 183860
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 183860
 build-i386                    4 host-install(4)        broken REGR. vs. 183860
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 183860
 build-arm64                   4 host-install(4)        broken REGR. vs. 183860
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 183860
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 183860
 build-amd64-prev              4 host-install(4)        broken REGR. vs. 183860
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 183860
 build-amd64-xtf               4 host-install(4)        broken REGR. vs. 183860
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 183860
 build-amd64                   4 host-install(4)        broken REGR. vs. 183860
 build-armhf                   4 host-install(4)        broken REGR. vs. 183860

Tests which did not succeed, but are not blocking:
 test-amd64-coresched-amd64-xl  1 build-check(1)               blocked  n/a
 test-amd64-coresched-i386-xl  1 build-check(1)               blocked  n/a
 test-amd64-i386-examine       1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-bios  1 build-check(1)               blocked  n/a
 test-amd64-i386-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-amd64  1 build-check(1)               blocked  n/a
 test-amd64-i386-freebsd10-i386  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-amd64-i386-livepatch     1 build-check(1)               blocked  n/a
 test-amd64-i386-migrupgrade   1 build-check(1)               blocked  n/a
 test-amd64-i386-pair          1 build-check(1)               blocked  n/a
 test-amd64-i386-qemut-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemut-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-amd  1 build-check(1)               blocked n/a
 test-amd64-i386-qemuu-rhel6hvm-intel  1 build-check(1)             blocked n/a
 test-amd64-i386-xl            1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-pvshim     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64  1 build-check(1)         blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow  1 build-check(1)  blocked n/a
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm  1 build-check(1)      blocked n/a
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict 1 build-check(1) blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemuu-win7-amd64  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
 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
 build-amd64-libvirt           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-qcow2     1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvshim    1 build-check(1)               blocked  n/a
 build-arm64-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-pvhv2-amd  1 build-check(1)               blocked  n/a
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit2   1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-credit1   1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl           1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-dom0pvh-xl-intel  1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-nested-intel  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-qemuu-nested-amd  1 build-check(1)               blocked  n/a
 test-amd64-amd64-examine-uefi  1 build-check(1)               blocked  n/a
 test-amd64-amd64-libvirt      1 build-check(1)               blocked  n/a
 test-amd64-amd64-qemuu-freebsd12-amd64  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-qemuu-freebsd11-amd64  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-pygrub       1 build-check(1)               blocked  n/a
 test-amd64-amd64-livepatch    1 build-check(1)               blocked  n/a
 test-amd64-amd64-migrupgrade  1 build-check(1)               blocked  n/a
 test-amd64-amd64-pair         1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemut-win7-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-qemut-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-amd64-xl-shadow    1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-qemuu-ws16-amd64  1 build-check(1)              blocked n/a
 test-amd64-i386-xl-shadow     1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-vhd        1 build-check(1)               blocked  n/a
 test-amd64-i386-xl-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
 test-arm64-arm64-xl-credit2   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-examine      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           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd       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

version targeted for testing:
 xen                  80c153c48b255bae61948827241c26671207cf4e
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183866  2023-11-27 01:52:12 Z    0 days
Testing same since                          (not found)         0 attempts

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64-xtf                                              broken  
 build-amd64                                                  broken  
 build-arm64                                                  broken  
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-prev                                             broken  
 build-i386-prev                                              broken  
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 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                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 test-amd64-i386-xl                                           blocked 
 test-amd64-coresched-i386-xl                                 blocked 
 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        blocked 
 test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm         blocked 
 test-amd64-amd64-xl-qemut-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemut-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-i386-xsm                 blocked 
 test-amd64-i386-xl-qemuu-debianhvm-i386-xsm                  blocked 
 test-amd64-amd64-libvirt-xsm                                 blocked 
 test-arm64-arm64-libvirt-xsm                                 blocked 
 test-amd64-i386-libvirt-xsm                                  blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-i386-xl-xsm                                       blocked 
 test-amd64-amd64-qemuu-nested-amd                            blocked 
 test-amd64-amd64-xl-pvhv2-amd                                blocked 
 test-amd64-i386-qemut-rhel6hvm-amd                           blocked 
 test-amd64-i386-qemuu-rhel6hvm-amd                           blocked 
 test-amd64-amd64-dom0pvh-xl-amd                              blocked 
 test-amd64-amd64-xl-qemut-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemut-debianhvm-amd64                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     blocked 
 test-amd64-i386-freebsd10-amd64                              blocked 
 test-amd64-amd64-qemuu-freebsd11-amd64                       blocked 
 test-amd64-amd64-qemuu-freebsd12-amd64                       blocked 
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ovmf-amd64                          blocked 
 test-amd64-amd64-xl-qemut-win7-amd64                         blocked 
 test-amd64-i386-xl-qemut-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-win7-amd64                         blocked 
 test-amd64-i386-xl-qemuu-win7-amd64                          blocked 
 test-amd64-amd64-xl-qemut-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemut-ws16-amd64                          blocked 
 test-amd64-amd64-xl-qemuu-ws16-amd64                         blocked 
 test-amd64-i386-xl-qemuu-ws16-amd64                          blocked 
 test-armhf-armhf-xl-arndale                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-i386-examine-bios                                 blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 test-amd64-i386-examine                                      blocked 
 test-amd64-i386-freebsd10-i386                               blocked 
 test-amd64-amd64-qemuu-nested-intel                          blocked 
 test-amd64-amd64-xl-pvhv2-intel                              blocked 
 test-amd64-i386-qemut-rhel6hvm-intel                         blocked 
 test-amd64-i386-qemuu-rhel6hvm-intel                         blocked 
 test-amd64-amd64-dom0pvh-xl-intel                            blocked 
 test-amd64-amd64-libvirt                                     blocked 
 test-armhf-armhf-libvirt                                     blocked 
 test-amd64-i386-libvirt                                      blocked 
 test-amd64-amd64-livepatch                                   blocked 
 test-amd64-i386-livepatch                                    blocked 
 test-amd64-amd64-migrupgrade                                 blocked 
 test-amd64-i386-migrupgrade                                  blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 test-amd64-amd64-pair                                        blocked 
 test-amd64-i386-pair                                         blocked 
 test-amd64-amd64-libvirt-pair                                blocked 
 test-amd64-i386-libvirt-pair                                 blocked 
 test-amd64-amd64-xl-pvshim                                   blocked 
 test-amd64-i386-xl-pvshim                                    blocked 
 test-amd64-amd64-pygrub                                      blocked 
 test-armhf-armhf-libvirt-qcow2                               blocked 
 test-amd64-amd64-xl-qcow2                                    blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-i386-libvirt-raw                                  blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-amd64-i386-xl-shadow                                    blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-i386-examine-uefi                                 blocked 
 test-amd64-amd64-libvirt-vhd                                 blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-vhd                                      blocked 
 test-amd64-i386-xl-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

broken-job build-amd64 broken
broken-job build-amd64-prev broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-amd64-xtf broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-prev broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-pvops host-install(4)
broken-step build-i386-prev host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-i386 host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-prev host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-xtf host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-armhf host-install(4)

Published tested tree is already up to date.



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:08:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:08:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642020.1001055 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7aP4-0005zK-8r; Mon, 27 Nov 2023 12:07:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642020.1001055; Mon, 27 Nov 2023 12:07: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 1r7aP4-0005zD-4h; Mon, 27 Nov 2023 12:07:54 +0000
Received: by outflank-mailman (input) for mailman id 642020;
 Mon, 27 Nov 2023 12:07: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=fT1m=HI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r7aP2-0005z2-KN
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:07:52 +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 95f22f03-8d1d-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 13:07:50 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-32faea0fa1fso2290222f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 04:07:50 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e5-20020adfe7c5000000b0033307ffb193sm672137wrn.29.2023.11.27.04.07.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 04:07:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 95f22f03-8d1d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701086870; x=1701691670; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=cWg0AUfU7LCITWc0ebEvCsUjuTmU1TRcyAMcbPew+8I=;
        b=KiwBglo58t1vhQE4Fl5hLA+JFZSQKhoy8LrHssuRVozp3TbKe6DK4HfhLvjBQuMBYU
         Zfx93dIAENEmHwTBjJws/FbkjGLAeH76HuwPLfjkRWlJBOCud60/HBggDp5iWwYAu4eF
         e7+iA7seomGPVy7NJ9HZpmhLWtPxgJpQYBA7s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701086870; x=1701691670;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=cWg0AUfU7LCITWc0ebEvCsUjuTmU1TRcyAMcbPew+8I=;
        b=SJknNWjZMKP9u6cVUytEufqsUN0GZPVPFI8C1Kg6jZjtIB8Vv7YILezC3o4kHibXbY
         +tjZD/3/APAHESScetc28ZNBzgtDG084PeUaXNRkvhZ7Mrzqt9bmqnTZabr3dht+5dLe
         qK4skZCb32aidW9nYvHCy/cI3R1jD6tJEV035yOHGG409dg+9icrb41I15sSeCLdXVdp
         iwAXbBvhQllkHr7bwu1gGSmVeoWnxAR7/5jdaryDaWJsn+ylP05tJhCpSEsN6EIu54y0
         UoshvnQ8rZ4uOQi4F+zX6nW2GN4ADljTaYPlH7k1w9WVoyro6PG/k4gbFmbqCrSYLvQ3
         ZNLg==
X-Gm-Message-State: AOJu0YwBsPsN70uJcwsmBVWpakhNweFLsvyX25rNdhASeYrgKGGfnKBf
	X3zh9P0GIGuebtBU+VTX28YBZA==
X-Google-Smtp-Source: AGHT+IH2aGqisbZPkQg/WYC8+L1hS275NSWumBSenst34bSdlRm6McX8aWbGYgvNlX0K8WG1KjCpSw==
X-Received: by 2002:a5d:6a09:0:b0:332:c65a:8f1e with SMTP id m9-20020a5d6a09000000b00332c65a8f1emr9476734wru.19.1701086870045;
        Mon, 27 Nov 2023 04:07:50 -0800 (PST)
Message-ID: <ab5ad7ce-db7d-4325-b6e0-2dcc9256c03c@citrix.com>
Date: Mon, 27 Nov 2023 12:07:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] Mini-OS: keep a positive list of externally
 visible symbols
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
 xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231123114504.29329-1-jgross@suse.com>
 <20231123114504.29329-3-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231123114504.29329-3-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 23/11/2023 11:45 am, Juergen Gross wrote:
> diff --git a/mini-os.map b/mini-os.map
> new file mode 100644
> index 00000000..58a3a0ee
> --- /dev/null
> +++ b/mini-os.map
> @@ -0,0 +1,295 @@
> +# Mini-OS symbols being externally visible

\n

> +# entry point
> +_start

\n

etc.  A few blank lines go a long way in terms of clarity.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:08:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:08:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642025.1001069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7aPn-0006aO-HT; Mon, 27 Nov 2023 12:08:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642025.1001069; Mon, 27 Nov 2023 12:08: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 1r7aPn-0006aH-Ea; Mon, 27 Nov 2023 12:08:39 +0000
Received: by outflank-mailman (input) for mailman id 642025;
 Mon, 27 Nov 2023 12:08: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=hhMp=HI=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r7aPl-0006WS-PI
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:08:37 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1166611-8d1d-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 13:08:36 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-333030a6537so329911f8f.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 04:08:36 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 e2-20020a5d4e82000000b0032d893d8dc8sm11869959wru.2.2023.11.27.04.08.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 04:08:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b1166611-8d1d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701086915; x=1701691715; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6LYqMCRLIUgHv0pWFBtHxSHZ2T9QlV3NnXMKmuv+8Yo=;
        b=KZjROAfF815hwkmHVx3r+y4A8gQ8Aj0echfCkW1TbfjuhRBcyWAyTCueQtsQdHpSiT
         Zwxd8QcpF1uR9J1kcVXHb07BqJi+fB/0Ti6oK1tJU8gERFOCj6674IJ05XbihwRpxI97
         gALq00VLcitPnWfe8lVbt1hMIrUKHoposDJgw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701086915; x=1701691715;
        h=content-transfer-encoding:in-reply-to:from:content-language
         :references:cc:to:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6LYqMCRLIUgHv0pWFBtHxSHZ2T9QlV3NnXMKmuv+8Yo=;
        b=i2obkaUnsOAn0ht5YSclKVTIHaId8ywmEXmmnKELbO6Bt4vcmD6Qw625uy1ufyDqn+
         Xu2+erXsVqJZPttQ33FElm3fa6cCTNBYONVUrRbdtA38lkvAFGS6zjZXd38PdAmqjbGE
         /qM1i5ecX2P0NZhI3oz1pVPbHPzIKyjSkolT4HU9hj8LR96rP10Nek1/yMSsjZwAAfbG
         l0lqncCpEVIjCEibcF9JVCdahJ3HT8RnqTDDGn5tVvAnRZAz84/XHBojBXd39gh+on17
         OgrDzX9bcoE4Me5pBlXjzkxtSGRtcag10r8AjaFltr7FanlgIIdMUeXs8ehycUfgil+7
         uRWg==
X-Gm-Message-State: AOJu0Yys02uDog3bjfZvfAhDVBjOEoYEPvJZ5gXhEGnXhPGgjVl00Oto
	cv3n+SM418CwJeULY5OXHtHEag==
X-Google-Smtp-Source: AGHT+IGFY84REDSslq0VvQoZpogf2Q/URvIgrtPBUjETspUr/b2q+hsgARritCxRbtiEZB+DBhJGsQ==
X-Received: by 2002:a05:6000:120f:b0:333:86d:c28a with SMTP id e15-20020a056000120f00b00333086dc28amr283829wrx.40.1701086915584;
        Mon, 27 Nov 2023 04:08:35 -0800 (PST)
Message-ID: <f028ce00-207a-41b7-b2b2-dff25d7fe7c2@cloud.com>
Date: Mon, 27 Nov 2023 12:08:34 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/x86: On x2APIC mode, derive LDR from APIC ID
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
 <e96e7f7b-d2d5-496a-9a2b-e8da2017a282@citrix.com>
Content-Language: en-US
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <e96e7f7b-d2d5-496a-9a2b-e8da2017a282@citrix.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 24/11/2023 22:05, Andrew Cooper wrote:
>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
>> index 5cb87f8649..cd4701c5a2 100644
>> --- a/xen/arch/x86/hvm/vlapic.c
>> +++ b/xen/arch/x86/hvm/vlapic.c
>> @@ -1061,13 +1061,26 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
>>       .write = vlapic_mmio_write,
>>   };
>>   
>> +static uint32_t x2apic_ldr_from_id(uint32_t id)
>> +{
>> +    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
>> +}
>> +
>>   static void set_x2apic_id(struct vlapic *vlapic)
>>   {
> 
> const struct vcpu *v = vlapic_vcpu(vlapic);
> 
> seeing as you've got the expression used twice already.
> 
> With that, the following logic is shorter too; you can get away with
> dropping the vcpu_id variable as v->vcpu_id is the more common form to
> use in Xen.

Twice? I can see a vague raison-d'etre in lapic_load_fixup(), but
there's a single occurence here.

> 
>>   We must preserve LDRs so new vCPUs use consistent
>> +         * derivations and existing guests, which may have already read the
>> +         * LDR at the source host, aren't surprised when interrupts stop
>> +         * working the way they did at the other end.
>>            */
>> -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
>> -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
>> -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
>> -                   vlapic_vcpu(vlapic), id);
>> -        set_x2apic_id(vlapic);
>> -    }
>> -    else /* Undo an eventual earlier fixup. */
>> -    {
>> -        vlapic_set_reg(vlapic, APIC_ID, id);
>> -        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
>> -    }
>> +        vlapic_domain(vlapic)->arch.hvm.bug_x2apic_ldr_vcpu_id = true;
>> +    else
>> +        printk(XENLOG_G_WARNING
>> +               "%pv: bogus x2APIC loaded id=%#x ldr=%#x (expected ldr=%#x)\n",
> 
> %pv: bogus loaded x2APIC ID %#x, LDR %#x, expected LDR %#x\n
> 
> If you properly capitalise x2APIC, you should capitalise ID and LDR.
> The other changes are matter of taste, but make for a less cluttered log
> message IMO.
> 

"bogus x2APIC loaded" is meant to be a sentence followed by key-value 
pairs. Uppercasing the keys is fine (albeit unnecessary, IMO), but you 
choice of word order feels backwards.

> 
> This is a long list of minor niggles, but they're all style/comment
> issues, and nothing to do with the logic itself.  I'm happy to fix them
> all up on commit, and here is the result with them merged:
> 
> https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=953dcb0317d20959ffee14e404595cfbb66c607a
> 
> for you to glance over.
> 
> ~Andrew

Except for the 2 bits pointed out, the others are cosmetic changes
I don't particularly mind. Jan spotted a typo in the second comment 
block in lapic_load_fixup() that should be corrected too.
(s/fix fix/fix/)

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:11:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:11:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642029.1001078 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7aSS-0008Gg-UB; Mon, 27 Nov 2023 12:11:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642029.1001078; Mon, 27 Nov 2023 12: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 1r7aSS-0008GZ-Rc; Mon, 27 Nov 2023 12:11:24 +0000
Received: by outflank-mailman (input) for mailman id 642029;
 Mon, 27 Nov 2023 12:11: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7aSS-0008GT-4k
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:11:24 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1492ae8a-8d1e-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 13:11:23 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 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.7046.19; Mon, 27 Nov
 2023 12:11:20 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 12:11: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: 1492ae8a-8d1e-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MeZ88Z4YkS445LFxoh0qfbmzP6S93KHdsfzggalrrh7Id3vqBcnTxJmd3oOjn/Neval48/lY2jwsGka3B+sHOP34ijkoKnxLYGQDMSFZXGcaFbwHFdaNvApLKs/5vc7kiTkrYSqboAsqNzdpw3vKGDwcJ9nGsfOW1N7wfCCN+c3rqJ8IrtNkG2AaMwOVW6QESly4XI9gbg2P4OCa5S6q5fEBSk+zEqs+kcrlRF4eZFWLQ5jfNl/rMC3BCVZgoZo4YT+e6sI5ddJEBBrDF4yzMsZGiCDjy3WtGiMUhSYv5BP1j1gsYtJpLvphb/JpCOFRVbC7+48R+eOowTbYBRZJ4g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=7n3CALkEYIwfZZ4OYFHSS5u0IpUZoHX4ICiF9NsnVLI=;
 b=QTJQlT0ic7yICp06LLtHv1pAPubLNOhxqAXpo8zcg2rCD1bhL459jqqDQSkrqw2acPFGKsI6Q4D7PaO2+FWTPNJPEBKP3ARu+f06GaNSGQpiax426vcgoovTwczZxpxTAdX8xvRG8yzQwJrIGqPTKYMSScvNdNNiITx0ac0J0M5+i8gvW9WolamhBB/WZ+DEKjBDN/wrp18PmqmcUK/bdyQ7NWrH1WFpkEgRX2sGE35GnB0zvM5Y9M0x7cbJtx4Oj8PLg61HPdoS47PVahk1VXBJx/YHuFKtyJZT5j/PJ9//SpEuxfwRNGuGjwdu4mLnNRZM5RCJ2rTlt3Qe4so5/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=7n3CALkEYIwfZZ4OYFHSS5u0IpUZoHX4ICiF9NsnVLI=;
 b=eHOA+5Tuz6kYMOxGWyiGR/gkvB06jKI6uBcrJwiIhWfapP97D8f1/nuj0CKRQL5d9PmzV5nlloMOBIyErZIi0bpJgayvp8pxxAOYr4DcX1iD5la46L1N1V9ItHEAH574Wc8UmaYZQC4x+43Rg2vTIes0hhxfbL8eJDkdLEK1Nyr7b7E8kiJ7aiJG38PTF4j7uWVVMgPBk5sCiXAgMcMYGlQXorV+gQ4e8+1JumEVfkkvFGkRLPYIedZj4ch0oAdoAZ55M71IxCEQInUam8F/71tDyjai4MOIexBSKjSEe2IZpDJrjorgPpVQoj2JCx43pMZDwpOk0LcDkVxxlbVu2w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <12adb389-c84a-43a6-85eb-68eb62c2b24d@suse.com>
Date: Mon, 27 Nov 2023 13:11:20 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 09/14] xen/asm-generic: introduce generic header
 altp2m.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@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>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org, Michal Orzel <michal.orzel@amd.com>
References: <cover.1700221559.git.oleksii.kurochko@gmail.com>
 <efb6b1864de36d9990a2d2a84308f4bdebebb66a.1700221559.git.oleksii.kurochko@gmail.com>
 <5a1b98cc-cbda-4355-87db-9aea12d21d73@amd.com>
 <f37ac1d0-888f-484f-9e74-40699cd3a620@suse.com>
 <f3a707b82b3f2c8829ca1a26fe4ac307f9a212bd.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f3a707b82b3f2c8829ca1a26fe4ac307f9a212bd.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0018.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::28) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8625:EE_
X-MS-Office365-Filtering-Correlation-Id: 946cdadd-51a1-4f49-9130-08dbef41f726
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o8Kcu59ELeCbjljuR4YPXIt43UAmTtz3C82E7xJTLfbcd0QgMQcNrHh7R5S1/A1NHUiPmB8kmhNbu37d8Q4ZFNELl7V0qVrQee4Uo03bM2tgPMCbdKzzusGk6rETPjEd9t71LaSpUTHZugPDTbQdSrXgujduOMbHT4LwKxrAWieYZsC0tTHMn8l7sEXXU1OLtUtE4nhB0iFaxnXL6Hj6T005995yRZpEsfpyv1KnmRWRS/2A8umIV2VxRN7BBI+zNMCfYyPz5iK0Lpl3GIjQTR/5F0MT9+cl0Gesb2EZDUm0RqoReJ9VV/tngMXoq8+X0bYTngSf0EXZvBotdwZvmzlMm6J0WHkZgw1lYoBBT9KNXXOxfv50w8DD3VRMa80KEX377aB6C3KjlQM+Zrqvq9eW728peswiNNx5P8WiNyAYCVt1LFGnZ5MRAP1OGm5NOz2rqyi7zZ7EtdZai/FXScKOX0PYn7tcl8fQ4AameNtBSfjcp+jo4YTRem8o8X1TKtnempWIUl8ZRW3h0Li+l2LKjlq1lClQOOWgosIYm0+sd0kW6v2pY2gKIsEMMlsNkeRYUeedSdJz4qwGgpXMu3ufsnLAWs9Gt69za6sOF4ZZh82RnGKch61CblASIuaJTcTSjSCgmsp8NV1QBoiDghhkMPTO2XMWmEHrPI5KvYU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(376002)(396003)(346002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(2906002)(4744005)(7416002)(4001150100001)(31686004)(41300700001)(66946007)(53546011)(6512007)(54906003)(8676002)(8936002)(6916009)(316002)(66476007)(66556008)(478600001)(6486002)(6506007)(5660300002)(4326008)(2616005)(26005)(38100700002)(86362001)(31696002)(36756003)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eDc5Wk5iZVYvRzFLOEY2cnhBVS9oM0k4NW1yK1J1dWZRWlFITU9PWjc0OTZE?=
 =?utf-8?B?Q0dwOTAzZllHM3hSSXZnamcydVQ5VmdINUQvVTkxSE1WczczSVhLMmtITHFD?=
 =?utf-8?B?MVcySmVpRzBtZWZES3lkeXJHeG5OL1FWNzRnWEFmNlc4YlRrSlJ2bFZvUE5k?=
 =?utf-8?B?amlrbEVOSmhBR0lLbFdRdkZkdDI0Q0pXdmFTTHlYK0tlRkgxdnJucy82dHBU?=
 =?utf-8?B?c2RzekNnR1lFdVdmK2xISTRmL1dKbjU5L2Z4TmhMZHhOU3U5T2d2QWdoOHho?=
 =?utf-8?B?aTc4elAxTVNSRldka21HaUprWWc3TCtkM0lUNEFaWVdnUitvbjJ3bXlXV1py?=
 =?utf-8?B?cE0wL3c1a0RUWGNpQXl6Y1FDWDk5Y3l0cUJhMEZzR3hoZm9xTDFsNDBjalNn?=
 =?utf-8?B?YXlTSHl0bWx1YXVQbzVQYWdVbWlRVHBYUXV1MlE4RExNOStJSDlZMkhIUThQ?=
 =?utf-8?B?UG5zdmVDMlQraDVtdU51KzExdHFpc0ZHaWhBTUdDbmZYdGR4NkZzQlByeFI1?=
 =?utf-8?B?eXJNckFjVDZlcnVYN3R1Qm53YVB6Q1h1SDJYaVpEZ0dHekU4MlY2anN4UklF?=
 =?utf-8?B?YlE0WEFVbmpKM2JLcU15T0Y2SG14QXp3WjN6ZnY1Y0hBQnZYeGtMaStuaS9o?=
 =?utf-8?B?TG5LbnM0bjRkTEozdi9VYTl3ZURCV0pvWjJNSC92L2d4UFpVS0xoZldGdXNp?=
 =?utf-8?B?OG1ZSnNjL25CUmRTS1R1SjVUUktQWEtQZlNhZ1RKamViNzB1aWJaY3Ftandl?=
 =?utf-8?B?c3dGM2taczBSOUtOL0lwMk1iSGliZXd4RDYwcW1TYmk0Q0tjVzg4SEh6YlBH?=
 =?utf-8?B?WjMyM1orQ3Qzd0ZuemxHa1lNNGtsU2ZoM0E2STFVSUd2ditkc21oZEFWWktB?=
 =?utf-8?B?QTE0ZHdhVzRRRDhxQ3RYc0pycWtsb2g1M09ITFlZd1JhaEJxeUtDaTJmQldY?=
 =?utf-8?B?TjRkTGJmeGJYM0tnemdKRHUwSFdaRExGQUM0WGNvUlB5dFVGYXl4Slpmc1VG?=
 =?utf-8?B?SHJFaXcralpwQ2wxZWx5djBwZTRxK1NrSjBXUm5uSlNCYnZkWWkwNWxLdnJ1?=
 =?utf-8?B?dVRXVWxZc21oOFAybklEVFN1dkpScnovQlcyTjFmWDR5cVRSalBGVGY2TG8x?=
 =?utf-8?B?YnZuMmhGTjZHRUMzUkJvVEMwRHlEWUpRMmx0Yk90a1NMZXRDZzFpbFRDRGRW?=
 =?utf-8?B?dFFpNkFjK1JVMEoxRjBBMXZvVUtGRDVOdXdZdnE4cWUybXk3aThZeno5dWVP?=
 =?utf-8?B?SWxVaGlOeks4TWoyNER2V0laYk5ycFVhenJaTnRvYVVsLzRneUNWeWV0SHhw?=
 =?utf-8?B?MU5kNmFXMVREU0V5NGNHbFlCY1pHeERJUVFvanpZV0w2cWhBN0pkZythNC9C?=
 =?utf-8?B?VTVBNlN6M0l0c2IvSzg2UDVwb2U1Sk5yTG1rUE9Cd1UwaFNGREdxMFNIR0w0?=
 =?utf-8?B?L3JQTmEyTDV1VWYrVThPZEpncWJETnF6bUl0YnA0WnB4aXZZUEJaS3M2R0xY?=
 =?utf-8?B?Yy9FVjlqY3pDTWlxcWIxeFh0elJ0OEdKcmxzcGtPeGtRYXFCL0lkZXlWMjAv?=
 =?utf-8?B?YmMrd3I3UWFJWWUvMVI5Uk8xL0JXYkw4R05PcUFYc2xZaVptVjFFUUhBS2xQ?=
 =?utf-8?B?bDdRaFAwdmdZOUR0UTNoclY2WS9Xaldtb2hpeFFWKzdDaEtUc3p5LzhKbDNW?=
 =?utf-8?B?MUd3aEQ0N3pRMTZleFFYaVhpUTcrUDJDYWJCU2djMVlYVXUvSThZZWcvN2Fm?=
 =?utf-8?B?bmF2SWx4SDM2WFhMSXpTb3dvZTd4THVaREdpZlJHUHVzWDB2RE5EUnhOaHJK?=
 =?utf-8?B?a21pNkY4MHlrOFMrTWR0VW1LM1dBbDZMdWlNTjFmTk9rck1GM21qT1FrN0oy?=
 =?utf-8?B?YmlXbHFub3VhYW9aVi85aUdrenRjUUJNeG94L2ozYkZpOTRVQU1KL1dpRzRB?=
 =?utf-8?B?U0pxeHdYZkJId09kY3RqNURvckozQlpEdDk5MGliOXg4d1BIbmVMY095eFRm?=
 =?utf-8?B?SnRSRGtUaWdqSERyRlRzb3BTenl2MlRYdGV5SUlmbmxBVTV6Z3Njb1pKV1R5?=
 =?utf-8?B?dkZEdDJtMjRocGc1QjBkTW5xVU9Ib2NOekJsYWJuVzFEN0E2NzZoUXlKV0RQ?=
 =?utf-8?Q?O5t//4YCQm1CeTptEUUkE7M36?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 946cdadd-51a1-4f49-9130-08dbef41f726
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 12:11:20.2456
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FgoGHGzWRtu6u+bBXiSdpB5bz1XuDOIcVnMDLbu60uFWuYFfsfNMSZRmEbmKMRwu5Cxf36IlH2ghiBCFFLykqQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8625

On 27.11.2023 12:48, Oleksii wrote:
> On Fri, 2023-11-24 at 14:18 +0100, Jan Beulich wrote:
>> On 24.11.2023 14:00, Michal Orzel wrote:
>>> On 17/11/2023 13:24, Oleksii Kurochko wrote:
>>>> --- a/xen/arch/arm/include/asm/altp2m.h
>>>> +++ /dev/null
>>>> @@ -1,39 +0,0 @@
>>>> -/*
>>>> - * Alternate p2m
>>>> - *
>>>> - * Copyright (c) 2014, Intel Corporation.
>>> Shouldn't this copyright be moved to generic header as well?
>>
>> In earlier communication I raised the question whether such trivial
>> stubs are actually copyright-able.
> Could you please give a link?

I'm sorry, but no, I don't recall in the context of which patch this was.

Jan

> I couldn't remember what was the decision
> and why.
> 
> Thanks in advance.
> 
> ~ Oleksii



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:14:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:14:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642032.1001093 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7aV4-0000aW-Du; Mon, 27 Nov 2023 12:14:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642032.1001093; Mon, 27 Nov 2023 12:14: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 1r7aV4-0000aP-BI; Mon, 27 Nov 2023 12:14:06 +0000
Received: by outflank-mailman (input) for mailman id 642032;
 Mon, 27 Nov 2023 12:14: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7aV3-0000Xv-30
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:14:05 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 72d69cea-8d1e-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 13:14:01 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 77A2721D6B;
 Mon, 27 Nov 2023 12:14:00 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 4FE2A1379A;
 Mon, 27 Nov 2023 12:14:00 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 4xnhEQiIZGXfeQAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 12: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: 72d69cea-8d1e-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701087240; 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:autocrypt:autocrypt;
	bh=vYNt81uoDZ2jIQDhQYgcXl0U054Tnb2bWLOBg6xV7ks=;
	b=BTf5BcDHw8tGHUvslOJ2755SQGmG4dwuncVQvfSfJ1H+Ei64UavtXCmzSjUqifexqhu1uU
	BKbQZ5I03o0B6/Pk5RGj1JlSR6rDQ73YqSHDexSrgQizSL6cy6czM7j0rRMLYyeP4lSsdF
	M9EtxMyvQcyDKxZZGTvZ5R1dUzAvxSU=
Message-ID: <ab119291-8d7c-454c-993f-db5314708d3f@suse.com>
Date: Mon, 27 Nov 2023 13:13:59 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 2/2] Mini-OS: keep a positive list of externally
 visible symbols
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
References: <20231123114504.29329-1-jgross@suse.com>
 <20231123114504.29329-3-jgross@suse.com>
 <ab5ad7ce-db7d-4325-b6e0-2dcc9256c03c@citrix.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <ab5ad7ce-db7d-4325-b6e0-2dcc9256c03c@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------s5EJIb77RpdCkwTb0sOgSg7z"
X-Spam-Flag: NO
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spamd-Result: default: False [-2.19 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCPT_COUNT_FIVE(0.00)[5];
	 RCVD_COUNT_THREE(0.00)[3];
	 NEURAL_HAM_SHORT(-0.20)[-0.996];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: -2.19

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------s5EJIb77RpdCkwTb0sOgSg7z
Content-Type: multipart/mixed; boundary="------------JhPIHTame6yWwTFHkG0UoSdf";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org
Cc: samuel.thibault@ens-lyon.org, wl@xen.org
Message-ID: <ab119291-8d7c-454c-993f-db5314708d3f@suse.com>
Subject: Re: [PATCH v2 2/2] Mini-OS: keep a positive list of externally
 visible symbols
References: <20231123114504.29329-1-jgross@suse.com>
 <20231123114504.29329-3-jgross@suse.com>
 <ab5ad7ce-db7d-4325-b6e0-2dcc9256c03c@citrix.com>
In-Reply-To: <ab5ad7ce-db7d-4325-b6e0-2dcc9256c03c@citrix.com>

--------------JhPIHTame6yWwTFHkG0UoSdf
Content-Type: multipart/mixed; boundary="------------1kW2hAMSlvhrkPImn13SYckN"

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

T24gMjcuMTEuMjMgMTM6MDcsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDIzLzExLzIw
MjMgMTE6NDUgYW0sIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiBkaWZmIC0tZ2l0IGEvbWlu
aS1vcy5tYXAgYi9taW5pLW9zLm1hcA0KPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4+IGlu
ZGV4IDAwMDAwMDAwLi41OGEzYTBlZQ0KPj4gLS0tIC9kZXYvbnVsbA0KPj4gKysrIGIvbWlu
aS1vcy5tYXANCj4+IEBAIC0wLDAgKzEsMjk1IEBADQo+PiArIyBNaW5pLU9TIHN5bWJvbHMg
YmVpbmcgZXh0ZXJuYWxseSB2aXNpYmxlDQo+IA0KPiBcbg0KPiANCj4+ICsjIGVudHJ5IHBv
aW50DQo+PiArX3N0YXJ0DQo+IA0KPiBcbg0KPiANCj4gZXRjLsKgIEEgZmV3IGJsYW5rIGxp
bmVzIGdvIGEgbG9uZyB3YXkgaW4gdGVybXMgb2YgY2xhcml0eS4NCg0KVjMgaGFzIGdvbmUg
b3V0IHRvZGF5LCByZXBsYWNpbmcgdGhlIGdsb2JhbCBsaXN0IHdpdGggRVhQT1JUX1NZTUJP
TCgpDQpkaXJlY3RpdmVzIHNwcmlua2xlZCBvdmVyIHRoZSBjb2RlLg0KDQoNCkp1ZXJnZW4N
Cg==
--------------1kW2hAMSlvhrkPImn13SYckN
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------1kW2hAMSlvhrkPImn13SYckN--

--------------JhPIHTame6yWwTFHkG0UoSdf--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVkiAcFAwAAAAAACgkQsN6d1ii/Ey/S
lAf+KxUrfX2wr3SoWHrXhXamDGd2uaEim76y5NsAVF27uxzsYvjKjDGX6E0xeGOPEMV3wRcP1Mh4
UdJPQkWPpaaNabbhDTVXo+5sY25gAP/bWgzwTbaQfAe8szKQSxVOfp4bMqLP7MD91GYaZF+DFYRV
BIkEYbdSt1T28Xf7YQHs/1X9V/YKfGd8eSDEjh7GQHfknlj7KXCs+KNzlyIGrZCdAuOinyiRQn48
+KT+UyaVcNzpG+M/dI7+a5NsrSvZ7tSk8mIxNhOP3aflF0R4Vp+3H7IsrgAzXaat3iAuORqubqDG
7lr6B/DlcPoYTcWNFX11FlDSg1TDLCGdbZWJqUCoHg==
=6Hyg
-----END PGP SIGNATURE-----

--------------s5EJIb77RpdCkwTb0sOgSg7z--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:18:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:18:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642039.1001102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7aYu-0001Uy-1M; Mon, 27 Nov 2023 12:18:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642039.1001102; Mon, 27 Nov 2023 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 1r7aYt-0001Ur-VB; Mon, 27 Nov 2023 12:18:03 +0000
Received: by outflank-mailman (input) for mailman id 642039;
 Mon, 27 Nov 2023 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=hhMp=HI=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r7aYs-0001Uh-Ow
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:18:02 +0000
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com
 [2a00:1450:4864:20::232])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 01a66482-8d1f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 13:18:00 +0100 (CET)
Received: by mail-lj1-x232.google.com with SMTP id
 38308e7fff4ca-2c873cf9f74so52816081fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 04:18:00 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 iv8-20020a05600c548800b004063ea92492sm13767380wmb.22.2023.11.27.04.17.59
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 04:17:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 01a66482-8d1f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701087480; x=1701692280; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=4hLgFVm3RCc87BIHvz0t9JohJ7QeYZhEaMrXKFcoAxQ=;
        b=N/ksU7EXXNmdri16RKht7M16oW2KB24nggT8RAF2hT09w6ho4Bi0oxdXuXRR9XcBKc
         C6ONcakQkv1gCybHQ6t1w2SYtlvt2P5k6AH9WWFuPa4lts/6DYqFVRzQiSkzNQuDq/Vl
         A7l6G7eibYKsSNtvQwmET4THHGXfkO/OEX5fg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701087480; x=1701692280;
        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:subject:date:message-id:reply-to;
        bh=4hLgFVm3RCc87BIHvz0t9JohJ7QeYZhEaMrXKFcoAxQ=;
        b=GVu+6vOAEhvoFNKn4GVVZQgTTRcdpfHIOXBzpvD6yOAq4cvJ6rgYUY7YO5L4uQHFKY
         AM1RWl3eLIT6od6U2y4OJsufAvPpzWkQ8B6Kj9Txy3K/GLfhEer1ggzbTXY0AcXbS0c8
         2gEXzzW/4y9Asa9DLETcLMsfQ5xVDRGaSmU9KhwGFzrBTlifGu0x+C1b2sRCQy9sEm+u
         aNh2jO/gD5S7bVEzJY6RHxZJTFDoU7ybkXINzyjKqun5OXVHv8mNqvATRt03OGSicXVz
         nVicj/WfgkdZUTsSKiZVviBwgPQGeMbXZsJ/AjddU9mNGuqKZiNbtWDefxQgMRH0Uo0X
         MiFQ==
X-Gm-Message-State: AOJu0YwrxOoFfyd/p7qUlG3s7/EhI39BTVWfqbPuccqj8qoE7kigeZb5
	3XJF6+mWOCKxRRPK7W+HJbrChg==
X-Google-Smtp-Source: AGHT+IHCPDjJzlSbQrM9iN9v/c127Wg0A5HH2c0hzq+HG/eTVD245yi163S6VbQm0SXldkmgdFhGgg==
X-Received: by 2002:a2e:87cd:0:b0:2bf:7fad:229b with SMTP id v13-20020a2e87cd000000b002bf7fad229bmr7674255ljj.37.1701087480220;
        Mon, 27 Nov 2023 04:18:00 -0800 (PST)
Message-ID: <71a22900-6167-490f-9d33-fe924bb96c5c@cloud.com>
Date: Mon, 27 Nov 2023 12:17:59 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>, 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: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
 <2fedb7c1-5742-46d7-9882-d2ec336beece@suse.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <2fedb7c1-5742-46d7-9882-d2ec336beece@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 27/11/2023 08:40, Jan Beulich wrote:
> On 23.11.2023 18:30, Alejandro Vallejo wrote:
>> @@ -1498,27 +1511,36 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
>>    */
>>   static void lapic_load_fixup(struct vlapic *vlapic)
>>   {
>> -    uint32_t id = vlapic->loaded.id;
>> +    uint32_t good_ldr = x2apic_ldr_from_id(vlapic->loaded.id);
>>   
>> -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
>> -    {
>> +    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
>> +    if ( !vlapic_x2apic_mode(vlapic) ||
>> +         (vlapic->loaded.ldr == good_ldr) )
>> +        return;
>> +
>> +    if ( vlapic->loaded.ldr == 1 )
>> +       /*
>> +        * Xen <= 4.4 may have a bug by which all the APICs configured in
>> +        * x2APIC mode got LDR = 1. We can't leave it as-is because it
>> +        * assigned the same LDR to every CPU.  We'll fix fix the bug now
>> +        * and assign an LDR value consistent with the APIC ID.
>> +        */
> 
> Just one comment on top of Andrew's: Is the double "fix" really intended
> here? (I could see it might be, but then "fix the bug fix" would read
> slightly more smoothly to me as a non-native speaker.)

It's not intended indeed. s/fix fix/fix/

> 
> Another aspect here is what exactly the comment states (and does not
> state). Original comments made explicit that LDR == 1 contradicts ID == 0.
> In the new comment you only emphasize that all CPUs cannot have that same
> LDR. But the value of 1 being bogus in the first place doesn't become clear
> anymore.
> 
> Jan

1 is bogus for id!=0, but so would be 3, 7 or 42. In particular we have
ID==2 contradicting LDR=2, and we're allowing it. The reason why we must
fix this other case is because all LDRs are equal, otherwise it would
get the same treatment as the other bug.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:20:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:20:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642041.1001113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7abO-00033K-FM; Mon, 27 Nov 2023 12:20:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642041.1001113; Mon, 27 Nov 2023 12: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 1r7abO-00033D-CW; Mon, 27 Nov 2023 12:20:38 +0000
Received: by outflank-mailman (input) for mailman id 642041;
 Mon, 27 Nov 2023 12:20: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7abM-000337-UX
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:20:37 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe02::61a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5cb437c9-8d1f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 13:20:33 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7590.eurprd04.prod.outlook.com (2603:10a6:20b:23d::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 12:20:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 12:20: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: 5cb437c9-8d1f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bZRSFs3T6EEBL9a6Ta0vPKALNv0f/1/Cxo7LiVJKeegnoc7p/X9O4rd/RdpfFavCIolWpuoOmsyQyqD+Bk8TrePVJDDkT7ldl7VgWGTst1R2xUpkxM6kKEUvmNkMtud+ixpWBvPMPX0g2+qG/iD/LmeVztYKhtLTt3PpqWixCccj7ZCru8senAcg8F9J5hm2+moB0tdDVOya9D20eb0UfOrruJNi8io4XMXAki9t/eAmlv3J1Y6IPNyy3Bel7xeENTRrWq8NAzkhDMtgTaYxb8HjrWEGeQzDo7aoOLZH3MmOyXSOMsrxxhkdbI5NtA5b5qjEM7a4A+1umYKc8wCRkA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YXQSlPQFynbsjDvEqV7wgo7JdDUpKIVIfiU5q9MkQEo=;
 b=g24Wr0hwYdiiQbgyn52kVDGW+LTbFI7k0YzLpx2U+FyZuAiUw1gmdJJK9ISUghuDOQTCzbwx6jorTcmarZWQXZBmtsEk+LQSBAqoYL5U7R9oz7aYg+KPJtC5ZM4rTRXHFElzGdDHCuZdGxfbx0fEbznjCJ9NGFsCf0NoG9xGaHfnJIBpxheKgn8ZXwmq32am+X6V8YTbpUo/1M09ZdeBS9fs8KATgE5Pr0MxtLOdljIRyPgGcyWhlLcrTDGBjxMLfdxlogZLtHWvQED+ipeEErleFh/Wrn7GAxTtIJtcZvA29XGl9d/y7Vlu5yS7Qm6xe21jlCoAi5xn3P4tC5b6fQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YXQSlPQFynbsjDvEqV7wgo7JdDUpKIVIfiU5q9MkQEo=;
 b=UXV1UUkwl6v5cyboqZLoGM+gx4swCbwR4H4lZsN6BpxqiHrgDk+2+QeEWbAw1L4HzALZu+Ob00KxeunSjFfdrppvX3pvvWxMpOzp1IoQshUvTJVjw9pJ/o0+d6ZJjEOWJm4EdIwznxbc+G+3rH+1EqEH8xa2vhPRqNY+LydW98Cmn+WcjBMR/TCjtMFV7FNdRhNr2fWF89NBcn5gQtVF8RI00d3JL8+T+iuCIdALxPMLyZ8AowuZGoDW06hjP1w6iALzuQM3y73trwmQUXExtcXMxbgzcOB93DwJt+hGBg/Zt0uT7YO3v1im7ir71mfxPEgn+JMUa2hy4n7Ra8y8tA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <838395c3-41ba-4004-abf1-948b655a5ef2@suse.com>
Date: Mon, 27 Nov 2023 13:20:31 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Clang-format configuration discussion - pt 2
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <Michal.Orzel@amd.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
 <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0227.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e9::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7590:EE_
X-MS-Office365-Filtering-Correlation-Id: fa7d720d-8ea9-4a44-58c3-08dbef433f77
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	huEl/0M7G0nDpCdDDo6sBweDF2/aghE+X9zyUMrVBoPm+wHSJc4YFMiXFbR5Otyfd+KctwuBTTTnvsL3fsioZusgwHPnkqL8dfMZPZtq4+zq2d3+IDL9koFQGM6XmiTiPkgZd79DQ7lk/ggUxqyfj14iWKNd/sWUsqxC4mOTuw0TH+PyE40ADXkazZYySz/RRTHA7MBcR5BgvVmaQmyGk3QQyyWTnX/J02jPx4JeVsRyZOD3ot6A09zEiyUlo4jXmNxtadlcHlxx9SWSLghXOK4ZiILSWM0gofBUkljJeLQQ3cIxVQ9P/OBb0rB6R3emCIV9B0CPIivQwn17Irk2bLI83paNm3LT0MtIX1xmLh4YMk3mRcq80nX/+BvM0q7T1qvyMlQgRp2BkQrGS6dL4/4FOHYyD6hl4eV5i//oCJt3nkCa1B2hinqYcbmf1aecY/mMnRZBJdVjztJeRDLi2g9tpXEmaBnxguZEyTwT0hz+Hh4HNN0bNYfLpqtPqK/Eg0neWk6yuUrZ+OrhEbxoQCmAHOQCHLP4vcitsUKiGNi/JX7pRuH5n/qZCEa7iOdgAy3T2WrZeU1GAoDYJHIDALYmxtwz/1/x0uZqLBCM0xeQ8UiDoiyX2xs9q9WpyQOxNmnbZQSpnbCugBdJOP0SJQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(366004)(346002)(39860400002)(136003)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(31686004)(26005)(6486002)(2616005)(6506007)(53546011)(966005)(478600001)(6512007)(38100700002)(86362001)(40140700001)(36756003)(31696002)(5660300002)(41300700001)(7416002)(2906002)(66946007)(83380400001)(30864003)(66556008)(54906003)(4326008)(316002)(6916009)(66476007)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WEhzV0gwS2xVVlJ1MFhNaVU5MkphYnd1RUR4YlBtdWwvQld1Y1dybGRQU3k1?=
 =?utf-8?B?anp4ajZaTHEyQ200djlXelY2M3Y1WGV5ckk2M0xNY3prYXkvQlF5THh5M0x2?=
 =?utf-8?B?SXdSQUsrZ0hRVTVyOG9reGVlSG5jdXFUMUZFMHl0am1XNDJqT0cwd3NTajRv?=
 =?utf-8?B?ODR0dmxZZUZuYUJJYUlwL2cwZ0V1MXlXMVNlRjhDYUpmdjM2RzlPUll5R1c5?=
 =?utf-8?B?THZURkdqWUVEN2hkQllvdERvei96Q1p4RUczVWFFZmJiaGhPNzlSdysvTDdk?=
 =?utf-8?B?TTNVK1dIbWF6aERVZkJ1NW1uVkpTSVRPdXh3MVZlZXUzTVoyemZjT29oWmZO?=
 =?utf-8?B?ZTMrVm5rZ1VZOU5TNU5WaTVWMmpQM2RWbGJlSlZscnFqN3hZSEhVWWFIZFJo?=
 =?utf-8?B?WjgwZWFKUHAxZUp6T0lwWWpvYVc4c3hIVVBoRmdPa2FudGZtaU92NU5yYmtV?=
 =?utf-8?B?eDFxOHpwNXR1S2ZNWExCS0RabTZHSDFQbDBiVS9LZG0vUy9LNHRjWVIwYUx3?=
 =?utf-8?B?M3o0VXVhMHdmVlBTUTUwRWZCc1hKUE14Snl5ZjBZV1d4Uk1XRWRYenlKWTJ2?=
 =?utf-8?B?R0dyMmxvTDMxOTlVbTM4akIxYXR0c3ZzL0pXVkNvUERMejRPN2lySWpsQUFK?=
 =?utf-8?B?c1hqOG0yQktOVGNqSHA2ZVRtSklwQ1dwNklJYTI4a1JJMTJUa0RrcEZHUTlI?=
 =?utf-8?B?RGhsaStVZ3ZKZ0tZbURqZlJEQm9hT3MvM3F3ekZBUGdrMzMrZW9TNmIwQ3Y4?=
 =?utf-8?B?ZENqRlNUNGI0b0NLTjlYV1E0K1liVHRpelkzVWp0QUxVb2RVc0xleFE2bGdQ?=
 =?utf-8?B?ZVpmdDZMeGl4R2R4OTArTHZLL01lTmhOdnNQN2R1eHphb2Z1QWVvM2NrODkz?=
 =?utf-8?B?ZWFtR0NZUlNVNng1OUcwYkkxSWcraHBTQ25wb2I0V0VicElOWElqV0Z6S1ds?=
 =?utf-8?B?NXNNbmsrYlpxSFU5RWFMZHdJWTZYS0xyV2p5NHFyUmJFSi9MQ1YwekRBOFp1?=
 =?utf-8?B?UjRyTzk1elVFenFKcmFqNnUzd05aZDVvbmhlVWJxNnNDZmFDOUI2Y0dhTy9C?=
 =?utf-8?B?VlZoUFdyTGk2ci9xbUF0aFpOQkJBR2pXMkoxaVZTY0JLUGRwVXVFeWxJNS8y?=
 =?utf-8?B?Z1ltL3o3MGlSUXJseDcrcHNTYVdvOU9nSWIxc1dmOUF0czlMcnFaZlcyUC84?=
 =?utf-8?B?RHlaaEFRWjBCaGdQdzBTYzc3SkIwWFJ5RDNOYkVHR3pZMkhFMWhQV1pKR3px?=
 =?utf-8?B?UHVEdVhvTnI3bk5rOWd4LzNja2lObHhPWC9laG9nc1d5QnRFRGRoaGNTUHdS?=
 =?utf-8?B?VGtaM2dGN1hQZUJPOWRuMnd1S1ZDa1VWTW45VGJnb3pXRDhSWFdqSFBpeUo4?=
 =?utf-8?B?elV4TUJSMHRHZmg5aGh4eVlyMWkwZStyMWR0QkRNL1lmQy9FZCttNWxvNGkz?=
 =?utf-8?B?YkgwYVQ2M0oxbWdsc2tpUW1Dek1EeVRCVzM4M1duWE5OVGpwRDdwZTk4MThV?=
 =?utf-8?B?MFBla1drME80RU8vZDRTcE1YQnRZcDEzZ1YwUlB1SFJBSERzNDhnNHFPQjhk?=
 =?utf-8?B?RXdscXJkaGl5dnFOQUtRczU3dzZFaEpnWVR2bll4ak9CZFI2L3Z4SEVabmEw?=
 =?utf-8?B?cGJqUGRUdlFUMlRPUlAyUkthbHZEMzlXb2JPaE1YTUxYVzNXd0FsTmRINStn?=
 =?utf-8?B?dzBHQWN4QzVCZzVLcnlhRWxScVJDdWV3cSsxWGU1UEtodUZRVnVSSVhmQ2JW?=
 =?utf-8?B?QlBJbkhhQ0lBeUo2NHVOMnVKQXFJTkkvUzhiS2FjRWhReUMrY0tvZ0RDV1Ji?=
 =?utf-8?B?NDNXZDlnREZRckdSb3RDcnFNNXE2ZTQ3aFJjT0pPMUtPcEN0elZXekU1N2Rm?=
 =?utf-8?B?OEorYXMvd0I2U1V5REZQT2VuN2MyZkk3a0ZaTlNZYStrNS9POWt1c25KYS84?=
 =?utf-8?B?Mm1jSzdodVpzeDJTOEpxRU9tdUFVMU5ESG5yNDVySWpJN000Q0Z3WHBxeVhR?=
 =?utf-8?B?UWZmSzFUeGRmelNmMFA1NkgxeCtxRVZyaWFSQ3FiNWppbWRYM2ZMbk55S3dE?=
 =?utf-8?B?Sm1DdnpCU2hmZkZ2R1hXTkFTOXR6ZUVwM2JMamlyRXVmemdQdUtYclpTZ2FE?=
 =?utf-8?Q?cvqxhDIkt3kVdzG0dGeBjB2DB?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fa7d720d-8ea9-4a44-58c3-08dbef433f77
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 12:20:31.0958
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sRPC3CHBIGtwiEx6cWCWrIjpAcBsJYskAr2vUX/PrN2n9LgQNLM9pYXafjSWfTCl8Bs2xkzlvzUadMtUuBPAEg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7590

On 24.11.2023 15:52, Luca Fancellu wrote:
>> On 24 Nov 2023, at 12:47, Jan Beulich <jbeulich@suse.com> wrote:
>> On 23.11.2023 15:47, Luca Fancellu wrote:
>>> Let’s continue the discussion about clang-format configuration, this is part 2, previous discussions are:
>>>
>>> - https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00498.html
>>>
>>> You can find the serie introducing clang-format here:
>>> https://patchwork.kernel.org/project/xen-devel/cover/20231031132304.2573924-1-luca.fancellu@arm.com/
>>> and there is also a patch linked to my gitlab account where you can find the output for the hypervisor code.
>>>
>>> For a full list of configurables and to find the possible values for them, please refer to this page:
>>> https://clang.llvm.org/docs/ClangFormatStyleOptions.html
>>>
>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>> Our coding style doesn’t mention anything about alignment, shall we add a new section?
>>> I can send patches when we reach agreement on each of these rules.
>>>
>>>
>>> QualifierAlignment: Custom
>>> QualifierOrder: ['static', 'inline', 'const', 'volatile', 'type']
>>>
>>> ---
>>> For “QualifierAlignment” I chose Custom in order to apply in “QualifierOrder” an order for the
>>> qualifiers that match the current codebase, we could specify also “Leave” in order to keep
>>> them as they are.
>>
>> Where do attributes go in this sequence?
> 
> I think function declaration/definition and variables.

How does this relate to my question? I asked about the sequence of elements
listed for QualifierOrder:, where attributes don't appear at all right now.

>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>> AlignAfterOpenBracket: Align
>>>
>>> ---
>>> This one is to align function parameters that overflows the line length, I chose to align them
>>> to the open bracket to match the current codebase (hopefully)
>>>
>>> e.g.:
>>> someLongFunction(argument1,
>>>                                argument2);
>>
>> The above matches neither of the two generally permitted styles:
>>
>>    someLongFunction(argument1,
>>                     argument2);
>>
>>    someLongFunction(
>>        argument1,
>>        argument2);
>>
>> Then again from its name I would infer this isn't just about function
>> arguments?
> 
> I think it applies to parameters and arguments of functions and macro, given the description in the docs.
> 
> I see your two snippets above but I’ve always found at least on arm a predominance of
> the style above for functions, so arguments aligned after the opening bracket, for macros
> there is a mix.

The latter "above" refers to which form exactly? The one you originally
spelled out, or the former of what my reply had?

> I might be wrong though and so another opinion from another maintainer would help.
> 
> In any case we can choose among many value: https://clang.llvm.org/docs/ClangFormatStyleOptions.html#alignafteropenbracket,
> but when we do so, we need to stick to one permitted style only, the tool don’t allow to specify more than one.

On top of my earlier reply yet another reason perhaps that this tool then
won't really fit our intended use.

>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>
>>> AlignArrayOfStructures: Left
>>>
>>> ---
>>> “When using initialization for an array of structs aligns the fields into columns."
>>> It’s important to say that even if we specify “None”, it is going to format the data structure anyway,
>>> I choose left, but clearly I’m open to suggestions.
>>
>> You don't say in which way it re-formats such constructs.
> 
> Sure, taking as example an array of structure, xen/drivers/video/modelines.h,
> 
> With AlignArrayOfStructures: None we have this below.
> 
> diff --git a/xen/drivers/video/modelines.h b/xen/drivers/video/modelines.h
> index 9cb7cdde055f..3ff23ef1f8a7 100644
> --- a/xen/drivers/video/modelines.h
> +++ b/xen/drivers/video/modelines.h
> @@ -42,36 +42,36 @@ struct modeline {
>  };
>  
>  struct modeline __initdata videomodes[] = {
> -    { "640x480@60",   25175,  640,  16,   96,   48,   480,  11,   2,    31 },
> -    { "640x480@72",   31500,  640,  24,   40,   128,  480,  9,    3,    28 },
> -    { "640x480@75",   31500,  640,  16,   96,   48,   480,  11,   2,    32 },
> -    { "640x480@85",   36000,  640,  32,   48,   112,  480,  1,    3,    25 },
> -    { "800x600@56",   38100,  800,  32,   128,  128,  600,  1,    4,    14 },
> -    { "800x600@60",   40000,  800,  40,   128,  88 ,  600,  1,    4,    23 },
> -    { "800x600@72",   50000,  800,  56,   120,  64 ,  600,  37,   6,    23 },
> -    { "800x600@75",   49500,  800,  16,   80,   160,  600,  1,    2,    21 },
> -    { "800x600@85",   56250,  800,  32,   64,   152,  600,  1,    3,    27 },
> -    { "1024x768@60",  65000,  1024, 24,   136,  160,  768,  3,    6,    29 },
> -    { "1024x768@70",  75000,  1024, 24,   136,  144,  768,  3,    6,    29 },
> -    { "1024x768@75",  78750,  1024, 16,   96,   176,  768,  1,    3,    28 },
> -    { "1024x768@85",  94500,  1024, 48,   96,   208,  768,  1,    3,    36 },
> -    { "1280x1024@60", 108000, 1280, 48,   112,  248,  1024, 1,    3,    38 },
> -    { "1280x1024@75", 135000, 1280, 16,   144,  248,  1024, 1,    3,    38 },
> -    { "1280x1024@85", 157500, 1280, 64,   160,  224,  1024, 1,    3,    44 },
> -    { "1400x1050@60", 122610, 1400, 88,   152,  240,  1050, 1,    3,    33 },
> -    { "1400x1050@75", 155850, 1400, 96,   152,  248,  1050, 1,    3,    42 },
> -    { "1600x1200@60", 162000, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@65", 175500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@70", 189000, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@75", 202500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@85", 229500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1792x1344@60", 204800, 1792, 128,  200,  328,  1344, 1,    3,    46 },
> -    { "1792x1344@75", 261000, 1792, 96,   216,  352,  1344, 1,    3,    69 },
> -    { "1856x1392@60", 218300, 1856, 96,   224,  352,  1392, 1,    3,    43 },
> -    { "1856x1392@75", 288000, 1856, 128,  224,  352,  1392, 1,    3,    104 },
> -    { "1920x1200@75", 193160, 1920, 128,  208,  336,  1200, 1,    3,    38 },
> -    { "1920x1440@60", 234000, 1920, 128,  208,  344,  1440, 1,    3,    56 },
> -    { "1920x1440@75", 297000, 1920, 144,  224,  352,  1440, 1,    3,    56 },
> +    { "640x480@60", 25175, 640, 16, 96, 48, 480, 11, 2, 31 },
> +    { "640x480@72", 31500, 640, 24, 40, 128, 480, 9, 3, 28 },
> +    { "640x480@75", 31500, 640, 16, 96, 48, 480, 11, 2, 32 },
> +    { "640x480@85", 36000, 640, 32, 48, 112, 480, 1, 3, 25 },
> +    { "800x600@56", 38100, 800, 32, 128, 128, 600, 1, 4, 14 },
> +    { "800x600@60", 40000, 800, 40, 128, 88, 600, 1, 4, 23 },
> +    { "800x600@72", 50000, 800, 56, 120, 64, 600, 37, 6, 23 },
> +    { "800x600@75", 49500, 800, 16, 80, 160, 600, 1, 2, 21 },
> +    { "800x600@85", 56250, 800, 32, 64, 152, 600, 1, 3, 27 },
> +    { "1024x768@60", 65000, 1024, 24, 136, 160, 768, 3, 6, 29 },
> +    { "1024x768@70", 75000, 1024, 24, 136, 144, 768, 3, 6, 29 },
> +    { "1024x768@75", 78750, 1024, 16, 96, 176, 768, 1, 3, 28 },
> +    { "1024x768@85", 94500, 1024, 48, 96, 208, 768, 1, 3, 36 },
> +    { "1280x1024@60", 108000, 1280, 48, 112, 248, 1024, 1, 3, 38 },
> +    { "1280x1024@75", 135000, 1280, 16, 144, 248, 1024, 1, 3, 38 },
> +    { "1280x1024@85", 157500, 1280, 64, 160, 224, 1024, 1, 3, 44 },
> +    { "1400x1050@60", 122610, 1400, 88, 152, 240, 1050, 1, 3, 33 },
> +    { "1400x1050@75", 155850, 1400, 96, 152, 248, 1050, 1, 3, 42 },
> +    { "1600x1200@60", 162000, 1600, 64, 192, 304, 1200, 1, 3, 46 },
> +    { "1600x1200@65", 175500, 1600, 64, 192, 304, 1200, 1, 3, 46 },
> +    { "1600x1200@70", 189000, 1600, 64, 192, 304, 1200, 1, 3, 46 },
> +    { "1600x1200@75", 202500, 1600, 64, 192, 304, 1200, 1, 3, 46 },
> +    { "1600x1200@85", 229500, 1600, 64, 192, 304, 1200, 1, 3, 46 },
> +    { "1792x1344@60", 204800, 1792, 128, 200, 328, 1344, 1, 3, 46 },
> +    { "1792x1344@75", 261000, 1792, 96, 216, 352, 1344, 1, 3, 69 },
> +    { "1856x1392@60", 218300, 1856, 96, 224, 352, 1392, 1, 3, 43 },
> +    { "1856x1392@75", 288000, 1856, 128, 224, 352, 1392, 1, 3, 104 },
> +    { "1920x1200@75", 193160, 1920, 128, 208, 336, 1200, 1, 3, 38 },
> +    { "1920x1440@60", 234000, 1920, 128, 208, 344, 1440, 1, 3, 56 },
> +    { "1920x1440@75", 297000, 1920, 144, 224, 352, 1440, 1, 3, 56 },
>  };
>  
>  #endif
> 
> With AlignArrayOfStructures: Left we have (I noticed there might be a small
> bug in clang-format since the first entry has no space after the opening curly bracket):
> 
> diff --git a/xen/drivers/video/modelines.h b/xen/drivers/video/modelines.h
> index 9cb7cdde055f..1afe725dcb4c 100644
> --- a/xen/drivers/video/modelines.h
> +++ b/xen/drivers/video/modelines.h
> @@ -42,36 +42,36 @@ struct modeline {
>  };
>  
>  struct modeline __initdata videomodes[] = {
> -    { "640x480@60",   25175,  640,  16,   96,   48,   480,  11,   2,    31 },
> -    { "640x480@72",   31500,  640,  24,   40,   128,  480,  9,    3,    28 },
> -    { "640x480@75",   31500,  640,  16,   96,   48,   480,  11,   2,    32 },
> -    { "640x480@85",   36000,  640,  32,   48,   112,  480,  1,    3,    25 },
> -    { "800x600@56",   38100,  800,  32,   128,  128,  600,  1,    4,    14 },
> -    { "800x600@60",   40000,  800,  40,   128,  88 ,  600,  1,    4,    23 },
> -    { "800x600@72",   50000,  800,  56,   120,  64 ,  600,  37,   6,    23 },
> -    { "800x600@75",   49500,  800,  16,   80,   160,  600,  1,    2,    21 },
> -    { "800x600@85",   56250,  800,  32,   64,   152,  600,  1,    3,    27 },
> -    { "1024x768@60",  65000,  1024, 24,   136,  160,  768,  3,    6,    29 },
> -    { "1024x768@70",  75000,  1024, 24,   136,  144,  768,  3,    6,    29 },
> -    { "1024x768@75",  78750,  1024, 16,   96,   176,  768,  1,    3,    28 },
> -    { "1024x768@85",  94500,  1024, 48,   96,   208,  768,  1,    3,    36 },
> -    { "1280x1024@60", 108000, 1280, 48,   112,  248,  1024, 1,    3,    38 },
> -    { "1280x1024@75", 135000, 1280, 16,   144,  248,  1024, 1,    3,    38 },
> -    { "1280x1024@85", 157500, 1280, 64,   160,  224,  1024, 1,    3,    44 },
> -    { "1400x1050@60", 122610, 1400, 88,   152,  240,  1050, 1,    3,    33 },
> -    { "1400x1050@75", 155850, 1400, 96,   152,  248,  1050, 1,    3,    42 },
> -    { "1600x1200@60", 162000, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@65", 175500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@70", 189000, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@75", 202500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@85", 229500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1792x1344@60", 204800, 1792, 128,  200,  328,  1344, 1,    3,    46 },
> -    { "1792x1344@75", 261000, 1792, 96,   216,  352,  1344, 1,    3,    69 },
> -    { "1856x1392@60", 218300, 1856, 96,   224,  352,  1392, 1,    3,    43 },
> -    { "1856x1392@75", 288000, 1856, 128,  224,  352,  1392, 1,    3,    104 },
> -    { "1920x1200@75", 193160, 1920, 128,  208,  336,  1200, 1,    3,    38 },
> -    { "1920x1440@60", 234000, 1920, 128,  208,  344,  1440, 1,    3,    56 },
> -    { "1920x1440@75", 297000, 1920, 144,  224,  352,  1440, 1,    3,    56 },
> +    {"640x480@60",    25175,  640,  16,  96,  48,  480,  11, 2, 31 },
> +    { "640x480@72",   31500,  640,  24,  40,  128, 480,  9,  3, 28 },
> +    { "640x480@75",   31500,  640,  16,  96,  48,  480,  11, 2, 32 },
> +    { "640x480@85",   36000,  640,  32,  48,  112, 480,  1,  3, 25 },
> +    { "800x600@56",   38100,  800,  32,  128, 128, 600,  1,  4, 14 },
> +    { "800x600@60",   40000,  800,  40,  128, 88,  600,  1,  4, 23 },
> +    { "800x600@72",   50000,  800,  56,  120, 64,  600,  37, 6, 23 },
> +    { "800x600@75",   49500,  800,  16,  80,  160, 600,  1,  2, 21 },
> +    { "800x600@85",   56250,  800,  32,  64,  152, 600,  1,  3, 27 },
> +    { "1024x768@60",  65000,  1024, 24,  136, 160, 768,  3,  6, 29 },
> +    { "1024x768@70",  75000,  1024, 24,  136, 144, 768,  3,  6, 29 },
> +    { "1024x768@75",  78750,  1024, 16,  96,  176, 768,  1,  3, 28 },
> +    { "1024x768@85",  94500,  1024, 48,  96,  208, 768,  1,  3, 36 },
> +    { "1280x1024@60", 108000, 1280, 48,  112, 248, 1024, 1,  3, 38 },
> +    { "1280x1024@75", 135000, 1280, 16,  144, 248, 1024, 1,  3, 38 },
> +    { "1280x1024@85", 157500, 1280, 64,  160, 224, 1024, 1,  3, 44 },
> +    { "1400x1050@60", 122610, 1400, 88,  152, 240, 1050, 1,  3, 33 },
> +    { "1400x1050@75", 155850, 1400, 96,  152, 248, 1050, 1,  3, 42 },
> +    { "1600x1200@60", 162000, 1600, 64,  192, 304, 1200, 1,  3, 46 },
> +    { "1600x1200@65", 175500, 1600, 64,  192, 304, 1200, 1,  3, 46 },
> +    { "1600x1200@70", 189000, 1600, 64,  192, 304, 1200, 1,  3, 46 },
> +    { "1600x1200@75", 202500, 1600, 64,  192, 304, 1200, 1,  3, 46 },
> +    { "1600x1200@85", 229500, 1600, 64,  192, 304, 1200, 1,  3, 46 },
> +    { "1792x1344@60", 204800, 1792, 128, 200, 328, 1344, 1,  3, 46 },
> +    { "1792x1344@75", 261000, 1792, 96,  216, 352, 1344, 1,  3, 69 },
> +    { "1856x1392@60", 218300, 1856, 96,  224, 352, 1392, 1,  3, 43 },
> +    { "1856x1392@75", 288000, 1856, 128, 224, 352, 1392, 1,  3, 104},
> +    { "1920x1200@75", 193160, 1920, 128, 208, 336, 1200, 1,  3, 38 },
> +    { "1920x1440@60", 234000, 1920, 128, 208, 344, 1440, 1,  3, 56 },
> +    { "1920x1440@75", 297000, 1920, 144, 224, 352, 1440, 1,  3, 56 },
>  };
>  
>  #endif
> 
> With AlignArrayOfStructures: Right we have:
> 
> diff --git a/xen/drivers/video/modelines.h b/xen/drivers/video/modelines.h
> index 9cb7cdde055f..539ab7c12d00 100644
> --- a/xen/drivers/video/modelines.h
> +++ b/xen/drivers/video/modelines.h
> @@ -42,36 +42,36 @@ struct modeline {
>  };
>  
>  struct modeline __initdata videomodes[] = {
> -    { "640x480@60",   25175,  640,  16,   96,   48,   480,  11,   2,    31 },
> -    { "640x480@72",   31500,  640,  24,   40,   128,  480,  9,    3,    28 },
> -    { "640x480@75",   31500,  640,  16,   96,   48,   480,  11,   2,    32 },
> -    { "640x480@85",   36000,  640,  32,   48,   112,  480,  1,    3,    25 },
> -    { "800x600@56",   38100,  800,  32,   128,  128,  600,  1,    4,    14 },
> -    { "800x600@60",   40000,  800,  40,   128,  88 ,  600,  1,    4,    23 },
> -    { "800x600@72",   50000,  800,  56,   120,  64 ,  600,  37,   6,    23 },
> -    { "800x600@75",   49500,  800,  16,   80,   160,  600,  1,    2,    21 },
> -    { "800x600@85",   56250,  800,  32,   64,   152,  600,  1,    3,    27 },
> -    { "1024x768@60",  65000,  1024, 24,   136,  160,  768,  3,    6,    29 },
> -    { "1024x768@70",  75000,  1024, 24,   136,  144,  768,  3,    6,    29 },
> -    { "1024x768@75",  78750,  1024, 16,   96,   176,  768,  1,    3,    28 },
> -    { "1024x768@85",  94500,  1024, 48,   96,   208,  768,  1,    3,    36 },
> -    { "1280x1024@60", 108000, 1280, 48,   112,  248,  1024, 1,    3,    38 },
> -    { "1280x1024@75", 135000, 1280, 16,   144,  248,  1024, 1,    3,    38 },
> -    { "1280x1024@85", 157500, 1280, 64,   160,  224,  1024, 1,    3,    44 },
> -    { "1400x1050@60", 122610, 1400, 88,   152,  240,  1050, 1,    3,    33 },
> -    { "1400x1050@75", 155850, 1400, 96,   152,  248,  1050, 1,    3,    42 },
> -    { "1600x1200@60", 162000, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@65", 175500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@70", 189000, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@75", 202500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1600x1200@85", 229500, 1600, 64,   192,  304,  1200, 1,    3,    46 },
> -    { "1792x1344@60", 204800, 1792, 128,  200,  328,  1344, 1,    3,    46 },
> -    { "1792x1344@75", 261000, 1792, 96,   216,  352,  1344, 1,    3,    69 },
> -    { "1856x1392@60", 218300, 1856, 96,   224,  352,  1392, 1,    3,    43 },
> -    { "1856x1392@75", 288000, 1856, 128,  224,  352,  1392, 1,    3,    104 },
> -    { "1920x1200@75", 193160, 1920, 128,  208,  336,  1200, 1,    3,    38 },
> -    { "1920x1440@60", 234000, 1920, 128,  208,  344,  1440, 1,    3,    56 },
> -    { "1920x1440@75", 297000, 1920, 144,  224,  352,  1440, 1,    3,    56 },
> +    {  "640x480@60",  25175,  640,  16,  96,  48,  480, 11, 2,  31},
> +    {  "640x480@72",  31500,  640,  24,  40, 128,  480,  9, 3,  28},
> +    {  "640x480@75",  31500,  640,  16,  96,  48,  480, 11, 2,  32},
> +    {  "640x480@85",  36000,  640,  32,  48, 112,  480,  1, 3,  25},
> +    {  "800x600@56",  38100,  800,  32, 128, 128,  600,  1, 4,  14},
> +    {  "800x600@60",  40000,  800,  40, 128,  88,  600,  1, 4,  23},
> +    {  "800x600@72",  50000,  800,  56, 120,  64,  600, 37, 6,  23},
> +    {  "800x600@75",  49500,  800,  16,  80, 160,  600,  1, 2,  21},
> +    {  "800x600@85",  56250,  800,  32,  64, 152,  600,  1, 3,  27},
> +    { "1024x768@60",  65000, 1024,  24, 136, 160,  768,  3, 6,  29},
> +    { "1024x768@70",  75000, 1024,  24, 136, 144,  768,  3, 6,  29},
> +    { "1024x768@75",  78750, 1024,  16,  96, 176,  768,  1, 3,  28},
> +    { "1024x768@85",  94500, 1024,  48,  96, 208,  768,  1, 3,  36},
> +    {"1280x1024@60", 108000, 1280,  48, 112, 248, 1024,  1, 3,  38},
> +    {"1280x1024@75", 135000, 1280,  16, 144, 248, 1024,  1, 3,  38},
> +    {"1280x1024@85", 157500, 1280,  64, 160, 224, 1024,  1, 3,  44},
> +    {"1400x1050@60", 122610, 1400,  88, 152, 240, 1050,  1, 3,  33},
> +    {"1400x1050@75", 155850, 1400,  96, 152, 248, 1050,  1, 3,  42},
> +    {"1600x1200@60", 162000, 1600,  64, 192, 304, 1200,  1, 3,  46},
> +    {"1600x1200@65", 175500, 1600,  64, 192, 304, 1200,  1, 3,  46},
> +    {"1600x1200@70", 189000, 1600,  64, 192, 304, 1200,  1, 3,  46},
> +    {"1600x1200@75", 202500, 1600,  64, 192, 304, 1200,  1, 3,  46},
> +    {"1600x1200@85", 229500, 1600,  64, 192, 304, 1200,  1, 3,  46},
> +    {"1792x1344@60", 204800, 1792, 128, 200, 328, 1344,  1, 3,  46},
> +    {"1792x1344@75", 261000, 1792,  96, 216, 352, 1344,  1, 3,  69},
> +    {"1856x1392@60", 218300, 1856,  96, 224, 352, 1392,  1, 3,  43},
> +    {"1856x1392@75", 288000, 1856, 128, 224, 352, 1392,  1, 3, 104},
> +    {"1920x1200@75", 193160, 1920, 128, 208, 336, 1200,  1, 3,  38},
> +    {"1920x1440@60", 234000, 1920, 128, 208, 344, 1440,  1, 3,  56},
> +    {"1920x1440@75", 297000, 1920, 144, 224, 352, 1440,  1, 3,  56},
>  };
>  
>  #endif

None of which improve what we have at present, imo. Yet another reason not
to use this tool then, I would say.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:20:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:20:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642043.1001122 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7abU-0003Na-Qw; Mon, 27 Nov 2023 12:20:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642043.1001122; Mon, 27 Nov 2023 12:20: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 1r7abU-0003NR-OQ; Mon, 27 Nov 2023 12:20:44 +0000
Received: by outflank-mailman (input) for mailman id 642043;
 Mon, 27 Nov 2023 12:20: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=fT1m=HI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r7abT-000337-Fr
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:20:43 +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 61a13687-8d1f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 13:20:41 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-507962561adso6294329e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 04:20:41 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 l12-20020a5d4bcc000000b00332fbc183ebsm4408459wrt.76.2023.11.27.04.20.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 04:20:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 61a13687-8d1f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701087641; x=1701692441; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=6akbFpLdxaKlRjrO9SU0wPhQjuo7P5u8rY6OCLb2Xtc=;
        b=L9mgE3+TDkeNYNQFt+9aQveDqyI/14UIzXiy+yZGKzpRgVtZ7eoQ47e5ZtzIRRPRa0
         8rhGat8icuhDAr7aih66ZzAelM+pbj+khbtq5eqghpLlXEb5yIjs54Ep7YuZ9IxhGod2
         U7gl5F/1VxD7OwDbwE2u1OAzyELmPRefnJ30k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701087641; x=1701692441;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=6akbFpLdxaKlRjrO9SU0wPhQjuo7P5u8rY6OCLb2Xtc=;
        b=tJUcYL2fqoUCHkCvrduil8mTRbWzcpA4SMIXrPFvCEZmw8/BQCkdNeN9Nx4wRHu7MH
         dofNPHm62SSAp7BI5UXZhhCSdq2SnOyrmnk/91aQ4j6ND5N9PHT5ce7YujMFXUsnDL8f
         iewLvHr7Ep4btgLHn24dr0iU0rV6dSs0KIAfN5Smxk37D5iraNvWvHxdhtlm2YPVdFUS
         MfmPeMU49xuyATmrH6NlmVP7MPR8mx+PamyYaeDM0oy8t4oP+vwxClbrvIHire+LDQbh
         GITqLyTIifmhukCTcjQ+xQXrSpDdVJXQrr72VhsXXLr4RgFbh9i0I2UIMFyjNYx5aqAK
         oBww==
X-Gm-Message-State: AOJu0YxYH18izLydcBS8M3FbGL1zLzPyLeFywetRizVZPLDcvAlw3DFC
	Y4zXoWtlsI2onQXPF1rrjFesFA==
X-Google-Smtp-Source: AGHT+IFDurqD1AD+zNB5HK2mbwGV5LmNXkAZ/7RxxIjZ56w1lXGErCvehU3wkIu2slEbwW9qyymZ+A==
X-Received: by 2002:a05:6512:5cf:b0:50b:acfd:c523 with SMTP id o15-20020a05651205cf00b0050bacfdc523mr2854033lfo.31.1701087641328;
        Mon, 27 Nov 2023 04:20:41 -0800 (PST)
Message-ID: <d302d638-6fd4-4c26-b2e1-4db68180ba20@citrix.com>
Date: Mon, 27 Nov 2023 12:20:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-GB
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
 <e96e7f7b-d2d5-496a-9a2b-e8da2017a282@citrix.com>
 <f028ce00-207a-41b7-b2b2-dff25d7fe7c2@cloud.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <f028ce00-207a-41b7-b2b2-dff25d7fe7c2@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/11/2023 12:08 pm, Alejandro Vallejo wrote:
> On 24/11/2023 22:05, Andrew Cooper wrote:
>>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
>>> index 5cb87f8649..cd4701c5a2 100644
>>> --- a/xen/arch/x86/hvm/vlapic.c
>>> +++ b/xen/arch/x86/hvm/vlapic.c
>>> @@ -1061,13 +1061,26 @@ static const struct hvm_mmio_ops
>>> vlapic_mmio_ops = {
>>>       .write = vlapic_mmio_write,
>>>   };
>>>   +static uint32_t x2apic_ldr_from_id(uint32_t id)
>>> +{
>>> +    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
>>> +}
>>> +
>>>   static void set_x2apic_id(struct vlapic *vlapic)
>>>   {
>>
>> const struct vcpu *v = vlapic_vcpu(vlapic);
>>
>> seeing as you've got the expression used twice already.
>>
>> With that, the following logic is shorter too; you can get away with
>> dropping the vcpu_id variable as v->vcpu_id is the more common form to
>> use in Xen.
>
> Twice? I can see a vague raison-d'etre in lapic_load_fixup(), but
> there's a single occurence here.

It's hidden in the vlapic_domain(), which is vlacpi_vcpu()->domain.

>
>>
>>>   We must preserve LDRs so new vCPUs use consistent
>>> +         * derivations and existing guests, which may have already
>>> read the
>>> +         * LDR at the source host, aren't surprised when interrupts
>>> stop
>>> +         * working the way they did at the other end.
>>>            */
>>> -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
>>> -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
>>> -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
>>> -                   vlapic_vcpu(vlapic), id);
>>> -        set_x2apic_id(vlapic);
>>> -    }
>>> -    else /* Undo an eventual earlier fixup. */
>>> -    {
>>> -        vlapic_set_reg(vlapic, APIC_ID, id);
>>> -        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
>>> -    }
>>> +        vlapic_domain(vlapic)->arch.hvm.bug_x2apic_ldr_vcpu_id = true;
>>> +    else
>>> +        printk(XENLOG_G_WARNING
>>> +               "%pv: bogus x2APIC loaded id=%#x ldr=%#x (expected
>>> ldr=%#x)\n",
>>
>> %pv: bogus loaded x2APIC ID %#x, LDR %#x, expected LDR %#x\n
>>
>> If you properly capitalise x2APIC, you should capitalise ID and LDR.
>> The other changes are matter of taste, but make for a less cluttered log
>> message IMO.
>>
>
> "bogus x2APIC loaded" is meant to be a sentence followed by key-value
> pairs. Uppercasing the keys is fine (albeit unnecessary, IMO), but you
> choice of word order feels backwards.

The grammar is awkward either way.

How about "bogus x2APIC record: "

?

That is much clearer I think.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:24:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642052.1001132 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7af3-0006OF-8C; Mon, 27 Nov 2023 12:24:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642052.1001132; Mon, 27 Nov 2023 12:24: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 1r7af3-0006O8-5I; Mon, 27 Nov 2023 12:24:25 +0000
Received: by outflank-mailman (input) for mailman id 642052;
 Mon, 27 Nov 2023 12:24: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7af2-0006I0-4S
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:24:24 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e4d8afc1-8d1f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 13:24:22 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PR3PR04MB7468.eurprd04.prod.outlook.com (2603:10a6:102:8d::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 12:24:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 12:24: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: e4d8afc1-8d1f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fdPq4F9R5SAj8W+PG2TGE66vTjBhJz60soISivj5va1TVapdV846+/uXF50dURD5hsjh4HNs2oW8zXSULaMSRpCwj0i28VaQXx61X1n/TVBwSi6loBoK9aztxigQt4EOOLflcNhugWX1BRdjt7sXmHjCoXMsMF+Hv/sYFxuru6DIcUOUcYyeZRflbpdXdq5NFX+Z18tu4miZX/tm1hqZcojx5Qo9NHGFfwtEjiSdjOtdQ1IupwTJ700y7A1KhHD/8Gd48Z9gXMPfeegLDZx2nwXVa6ulmtO8t8/LoEwWp/IQNSycPWruSclcDY5uEPtPSKclnHEAaSyLAxDdsVBOiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WE5KAkUqjNeQY7q544O6gAWiH7k/A5rAtNQR4V56iBo=;
 b=Ii6inpEil3xeR2Bd0Q7KP9+Jl4s9Xn+LHu5d43cbu7XlylWsKxiYfTOTjvvgJ9OyBis6ueIB2NXPOpQ88zXSiNQnp7IBukr0nMCpiy0xGDa+LiRP/5+TF7IcQkmUzbu6MdJ3GGExVZihR5divYr9Wm8uMheBTxKHmGS0cH1utSBgU0OJ+2q6mYP8lIPDlGmjo/Iza+hJDuFk+1tqhOQbuFbmPeYmnQbz8vUeqRrgMqRqgTtLEddUKlql8fqBVDezozcepfZ92IFSmSTq7uJKfje5GeMGY2LvCcgArAY90K93jIEwPSQkgQd7sQDAiJuv3KvPXz+iCKAbfjth+2iVaQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=WE5KAkUqjNeQY7q544O6gAWiH7k/A5rAtNQR4V56iBo=;
 b=iKYuHR/xLsD0xcMRKNwis8njRquM9T5UUSA8F5LhDb7jeK42zVS9H8/kBZ7Nz6i23d1F3s5VcjMkVCEU02wsrcAFMjhGw90IrrHlOuUABIX6PscG/XkYUCfc3KWX1gV0VweMYpU5NZ6m/CirelYMINqL6iiYElbVYnBQNsZY8kxeb7IYFF/0ankDpScN71W/UMxzu5XFBrhak0FY8+xHSqqrXQKxe7I8HBwyXxgZh1m7/iIPfXXXMVznxv9KYN0ngQFMYvWxO5gB5jcS9/4xX8yxy3LUmU3uP6MB+RJ8R5gcDEoekrUXePGWUZVcFNMBgR/4uKwFitLVTs5Awcr7Jg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <699ef5f9-50c0-4c15-8874-833dda81e251@suse.com>
Date: Mon, 27 Nov 2023 13:24:20 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
 <2fedb7c1-5742-46d7-9882-d2ec336beece@suse.com>
 <71a22900-6167-490f-9d33-fe924bb96c5c@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <71a22900-6167-490f-9d33-fe924bb96c5c@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0359.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f4::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PR3PR04MB7468:EE_
X-MS-Office365-Filtering-Correlation-Id: cb0cea46-70cc-4718-4b99-08dbef43c76c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	i+W4MuKGAmwag3MqNrsZ7WgiHezlh0tvtl+ksr/GdWzYqCnlFfnKDB68SPGTsJaPZbStM03UWo4bewd99rrdWL59Ufz1frNCh7CPSlWKMC2SuE0wgeVYaJUul2B77Qm5HCi66PBvfmaXpFaO3ydERUxNjFl7RYHEklkIxcsJqFPB6jMh5L6C40mazfhT11rmx3gkgNnk8eEuBGT4p6ctV0OG2suULL3OQhfg8ZEm3vg/pymuKcpIQfCXprOmQAQtt3t7DaZktURX2bAL1cH4xlnZ4C1NgtWdW+zq5gwABKGHj3K/hyqfbA/iVcTi1tPi9WwvDMOTUFSC012BIPRIqjLXc7NzNEhb1ed96pSFd+ErpDKWPxZ8Ot5IscQ7scU8hNaEoU551/Je/7a7JaqORHi9vmeqvlGXghf8XQyUc8xdEbDmdE4P+loeqdj14BF+MYEJfxoDkrLwqSqCrKRbDckyLT9x0+DjPvV9ZCdvYPotTW4GmEgMn9CoKzcRcvGI2Q19VEJhInnjBucq1STLIbp0W3RuwwIUHkhqdDDKsnU3Yf4EhKX1UycjsLkeObU4vz+liSkmVTm2A+SaVGn7hft2EnjAtVj1GlhefkojfS8SW50jyzEgbbc1Ui5dFmha3cLb8LtyBm4wG42P/P0Xig==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(396003)(136003)(376002)(346002)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(38100700002)(31686004)(4326008)(8936002)(53546011)(6512007)(6506007)(8676002)(6666004)(66556008)(66476007)(66946007)(6916009)(54906003)(316002)(31696002)(5660300002)(6486002)(86362001)(478600001)(41300700001)(2906002)(36756003)(26005)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dVBsRlZTd2FqRE1GSHFLc1Y0WU9yQnRCc0lXcDFzbC9hZHdwOVFrb0ZPdDJP?=
 =?utf-8?B?WHFQaU9XZ0pXeXdmc2QzejFHbUp0ekRYL05BZXZ3Y1FWeWFVVGlJSC92VHJn?=
 =?utf-8?B?a21Bb2JTRTZNN3hIYU1qSndjaHBaYjRBM2lDc3FiaGNRc05ScHJhOFhINnZR?=
 =?utf-8?B?OWFLODMzMExmRHRQZTBkd05RVkZWS2VUM2U1OE5DUitvRzNNVHhPYkpvTlMy?=
 =?utf-8?B?RkM2NVNBR0VsSDdscGZLVUxsQyt5WUZ3UHhtVndMcVBuQ1RBUzk0RVpseVF5?=
 =?utf-8?B?N3RHamFLUjJTSHJqazJySGRka2MrVWY0YlBubWR2aWZkTzJndDU4dHYzTEFE?=
 =?utf-8?B?b2xRMWdaeFkrQ3h4S3RtUlBtYnlrbTNFVFJmdEE3cFBqVE9rK3N6eUhvanN4?=
 =?utf-8?B?R1YvYjBYZjNXV2xrZVE2cWEveWNPdkRQbkVrMjFobjRxNkxWVmNlRzJwWWZP?=
 =?utf-8?B?VDRzNDBXeElPL1loTDhBTVk1eTF6Y3F5TmFsam41NDdYVFhZY3FmdDdURlNh?=
 =?utf-8?B?Z015UmozVzJSZEY1SDNsVGtaVTdJSTVHQTYvVlVqS0grZnlMdDlkLzMzQnVy?=
 =?utf-8?B?OGR6WHl4Zkd3UXMvd2t0WCs1VWJoUStQU1hPbS9QNU0yNHNKVVIza0FFdGJa?=
 =?utf-8?B?cHM2MmdVdmNRMHBjaldOSlF2MXJzQkNra3FVbGxDRVBIQjlNaURBYldlQlFU?=
 =?utf-8?B?ZGlpV0tBNDV1Q1d0SlZIRjNVL1pQSVFmTWNqRjVKTkJmNGNReitFMEpNZVlx?=
 =?utf-8?B?QWd5dVBLVzE0Q2RYcmJsTm9qSGI4enBqZXJIdlhMcmhsS1RpRFBtTnhkZ1B5?=
 =?utf-8?B?K2VRN0FIUEQvVVRFRHQ4STNqRDF2K0ZKLzZMb1NQODNFYmdGZGFUUHZKd2JC?=
 =?utf-8?B?TVRoRU5DMFB5Szc4NmRrdElxUHBJZ01YVmg1NjVlSTFGa1ZQQ1MrVDNaYW5Z?=
 =?utf-8?B?eDVkN1FWYmdXbUl2bEdkM3NvVjh3TWFZZ3k2Zk5CV05wZi9FZ0k5VWxtdzVk?=
 =?utf-8?B?aE03RzdBTysxOFg3WU9JbXp4cHUrS0c0N0R5VFl4di9WbG11SW9naUlPdC9v?=
 =?utf-8?B?RDg1REprTzBvY1V0eHlIT2tVKzNSbndObGl2Vk9JQXhrb3YyaDFWdkYyTldX?=
 =?utf-8?B?Q2txdkJYUDJqNFIxS0xrWlgrck1nMDVGV3Q3Wk80RWJaK2tnRktZZFdURSt5?=
 =?utf-8?B?Q2todkpURjlualRSVnkyRFkxSGFMZFRMY3BJRDdLaTNTOFozejlqRU5tTE1K?=
 =?utf-8?B?T3p0ZlF2V3dYYUxTbVBlbi90V1diQlRUcFRuTmJvbUlubDVKWktIRzNsTzdU?=
 =?utf-8?B?VE1VaXNQK21PWDE2WnBjT2QyS2ZkYk82dXBUbHlNcHFNWXhYSXIwcVFXMHI3?=
 =?utf-8?B?OXJRWWgyTlBsZDJSRUtVVmFWWVFJVDFxZkFtai9OSTVvZ1g1TEQ0MVpDS0dU?=
 =?utf-8?B?eUJ4elkvT2xvc3ZNcm9lc2ltMGx0YUgvSnFzcjREU09IdDJPUjVHL2luMFA0?=
 =?utf-8?B?VTNraUlGd3VNRGd4SkM2eXdaRmZIL2YyYjRaVGcrcDRhQWQxb1I2SkJMQ1N3?=
 =?utf-8?B?bnJmV25wU2x3Mnp1S0xpNm1WeW01bXBudW1WQ1htM05GdWVPeXIrUk5iK0Fn?=
 =?utf-8?B?SHA5ZjRvampsSVVqZXNaRWhhbUs0RHlza3c1bVVkWkxMbmgzYWZ1MHdrVDhh?=
 =?utf-8?B?eUNobTBZb09kWThDK2VBb1Ixekljb2F5QmJ2U2FrUFkxS2FFL1dRMFdKRGps?=
 =?utf-8?B?OGx2T0t0Q1Q4VHJPSHFZYkxOYmZjRlhBNmtvNDdiZkpIbUZ3R0lhcXBDUkZh?=
 =?utf-8?B?dHV3VytTMTJDaHR0THppclZGSVRVNm02TGgzSk8vWmFPMmtUY0xheDVsbjlJ?=
 =?utf-8?B?ZUQvSUJiM1UxRDlKR0RLL2w2YytZeGZBc1ZnaHZVWFYxMHFHMVZWalFVQWpF?=
 =?utf-8?B?bXVxa1lSM3Y5L3c2Z0lKWFJRc1ZraUwxcytuSCt1VmdQandmSGxuRFUyM081?=
 =?utf-8?B?TFR1VU9IYW9BdlRYMi9UZm5OWGhsK3VMTndyMm9nUWp1ZFZBUExiOXNoMlQx?=
 =?utf-8?B?cTkyYnBSd1VZZnN0aDUrUXJrTGozbFFFMTRIRlY3WnF6UzNqRzZiRGxjaWZa?=
 =?utf-8?Q?vvLD+Ni+/bFicXZoJGJ89aOMe?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cb0cea46-70cc-4718-4b99-08dbef43c76c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 12:24:19.4429
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Iynaebg1hJ3yG8yEKwUIm/8CcbRgG3lJGEeQW/jif0MS8ScbELJR2TfUdf1ZJlz4ZGZdJWSvkqkV7dM2EIKrOg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7468

On 27.11.2023 13:17, Alejandro Vallejo wrote:
> On 27/11/2023 08:40, Jan Beulich wrote:
>> On 23.11.2023 18:30, Alejandro Vallejo wrote:
>>> @@ -1498,27 +1511,36 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
>>>    */
>>>   static void lapic_load_fixup(struct vlapic *vlapic)
>>>   {
>>> -    uint32_t id = vlapic->loaded.id;
>>> +    uint32_t good_ldr = x2apic_ldr_from_id(vlapic->loaded.id);
>>>   
>>> -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
>>> -    {
>>> +    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
>>> +    if ( !vlapic_x2apic_mode(vlapic) ||
>>> +         (vlapic->loaded.ldr == good_ldr) )
>>> +        return;
>>> +
>>> +    if ( vlapic->loaded.ldr == 1 )
>>> +       /*
>>> +        * Xen <= 4.4 may have a bug by which all the APICs configured in
>>> +        * x2APIC mode got LDR = 1. We can't leave it as-is because it
>>> +        * assigned the same LDR to every CPU.  We'll fix fix the bug now
>>> +        * and assign an LDR value consistent with the APIC ID.
>>> +        */
>>
>> Just one comment on top of Andrew's: Is the double "fix" really intended
>> here? (I could see it might be, but then "fix the bug fix" would read
>> slightly more smoothly to me as a non-native speaker.)
> 
> It's not intended indeed. s/fix fix/fix/
> 
>>
>> Another aspect here is what exactly the comment states (and does not
>> state). Original comments made explicit that LDR == 1 contradicts ID == 0.
>> In the new comment you only emphasize that all CPUs cannot have that same
>> LDR. But the value of 1 being bogus in the first place doesn't become clear
>> anymore.
> 
> 1 is bogus for id!=0, but so would be 3, 7 or 42.

Yet 3, 7, and 42 aren't interesting in the context of that older bug.

> In particular we have
> ID==2 contradicting LDR=2, and we're allowing it. The reason why we must
> fix this other case is because all LDRs are equal, otherwise it would
> get the same treatment as the other bug.

I understand all that; still there's loss of information in the comments,
from my perspective.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:44:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:44:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642058.1001143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ayK-00059i-T3; Mon, 27 Nov 2023 12:44:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642058.1001143; Mon, 27 Nov 2023 12:44: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 1r7ayK-00059b-Oa; Mon, 27 Nov 2023 12:44:20 +0000
Received: by outflank-mailman (input) for mailman id 642058;
 Mon, 27 Nov 2023 12:44: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7ayJ-00059V-Sr
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:44:19 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20618.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ade2dbcc-8d22-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 13:44:18 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB9914.eurprd04.prod.outlook.com (2603:10a6:10:4c1::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 12:44:12 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 12: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>
X-Inumbo-ID: ade2dbcc-8d22-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GgwTxNC5tPWiCe9U5s2RpSkwENIgmvl4Ms1H2g+SU27sVTNLZ5ErGnU0YuCoBYm66tC5YbPtfM1ZA911h5na6AIrqf7o8wryvItfrxCEqZW0Oq4zyUifYr1qQ1Xi/HDJf6etVuDA0ek3MOx8AMxwQOy1WERi2IaLaml4w8Fwch0quJ138fV2Xbq6iuiYTpFxJ1kd20vegVhTnq8uX5P05hWicubVklQ0YZZJ9wUevLWJSPl2pT+M0zC8PLJWtwq8Q/MwVoRFx2fhnI3QV7uVGASF/8kUXdpW8KlmaYwaUdONbdKfUchw7ubPhpvgkINm5dXyGqp6BaVqlJT/8/bcVg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xthGpBEuwGdhFmf9J40C9DGwgIsRnGhARhvPxw4yEC0=;
 b=NvfaNnab+jmxC1E4RW0DjvCia8MfUEXVSnfQkoKD49J2ZmQYbs9dDR6DGVTYIF9APoN9/+9Jtw6A00N0NXrkvGG/YPeiLyG+c6YQcZA3wPYzwucov9azKEO724z1Z0+viPUiwtoUXppD3KWv8DTDFFc6uXX9vlnmJHq+/vQBIYjCQfY1XnsGSZKPlLg4FZ8JRFn7JR9LTMmOLp7AUWFapTfqod0T0SF9P9oGx1uGmlSwWXoEoBoQa2iSAaUb5mM8Ol/wfvPw3WNInaZuRTIiLpd09513IlJxipd06suMQYOFCIP43lqDczDqemMmEbOrROH8NoxkjJPzNeM6nmCykw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xthGpBEuwGdhFmf9J40C9DGwgIsRnGhARhvPxw4yEC0=;
 b=rgG1MJL9EtpcDnWmMCOAST5POeIkOI5pvsmC/11HCjbCOYXFKS9yetxfIi6giIwez8clOxrXglaE+R5Hxkvaeo9Er7U45KkbGDt4jnYnIEePgqJ/vVY0DAm1BzgcQ2h2lnXoDwChXz+N1U6BzgYJoT6DvktOx7b1ymH55tlybJZLl1GH5bWZHigI4/sslNkvJrSGnWkPdXqUgT+/eeuQsOJY1MhdCnBaucEvCu4TU6sxlJg8vkv+uCXsBcHrQtVPNtVf0+3PmRMFQEGnP4G02w5QMT/ju1JbagqqBNYxZtMsg7mDeQKpLU1CSktt0uYxLZfmdX10hemezR3tV/G7pg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <beac1f7c-51cb-47a9-8e96-d09cb3ea6ab7@suse.com>
Date: Mon, 27 Nov 2023 13:44:13 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 08/15] VMX: convert vmx_basic_msr
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Wei Liu <wl@xen.org>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Kevin Tian <kevin.tian@intel.com>,
 Jun Nakajima <jun.nakajima@intel.com>,
 George Dunlap <george.dunlap@citrix.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <b63b648f-02d0-4e52-a5e5-94ffd5666a14@suse.com>
 <d07fb86f-ef9c-4c2b-ba9a-f1e5c813d45d@suse.com>
 <e17d6e45-b03c-4906-9fb3-af4770aa3cf0@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e17d6e45-b03c-4906-9fb3-af4770aa3cf0@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0239.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e9::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB9914:EE_
X-MS-Office365-Filtering-Correlation-Id: dca8a437-7281-43c1-4767-08dbef468ed8
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TA7M0N3+3+eDP5JRNewabOawCjwama10aQ9SRkRlcbAQA05bWnLZhwMfVlLCFO83HQDbb1X+FYAJ7O5CQot4DLJN6FQSHmG/F5BeweEWfzccPxWkwI0T5QuHq6m3YmPnZHMUZTVQxTsEWpe1+iW2w+hNs6nHapnLn9TdfeWKaRFlJlwagqmkEuGRF+fpfBw9Wk8AZnoSKCF/WUYX84SquHUZtk/0ccc6Q9ATVM/jN/JWTP3JwIpNBlK1X3BMIZyqJcvTJpumHYIvIfG06Lhsk6MabyaCcK5e0KalES7+fb5yAwOnnM3JdqJGfxkJp2eV3eYh1N+FlGeoLbbFPR3+2yXjLqwR1HhRfICqZOV//3gMabT8mRceAFSZ+2A2VyqNM9iNZDbZvq+0/SoFdxQlmGqumfdcXBMimWKMusVLtv+/e7t0XTIDy+mxI/KhCABiYchUDOIV9CGNswL100MmSvKj+nYBL2fZl9bhn6G6mpNgrZ76mC7tTzVDAI+KxZRTTalVhZR3mmYQhn/5GFWgb7DYvNFOyEMOU/Ooxsg0I8FqkfSrPf8b208mvSBhiT77KgFs7N9+ldnDZFvSeOO4VAKsm9i29zI+rlvCA5MLARTEN3PhyfDg4ubT+qNy9Qm4PiLJJCUUYnQQ9oShwSvHlQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(376002)(39860400002)(366004)(346002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(53546011)(6506007)(31696002)(86362001)(36756003)(31686004)(2616005)(6486002)(26005)(316002)(6916009)(54906003)(66476007)(66946007)(66556008)(8936002)(83380400001)(4326008)(8676002)(5660300002)(478600001)(6512007)(2906002)(41300700001)(38100700002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ejlZMmFGbXlXSUVNd0x3VG1wZUFWNGlkaEdJcExQc2hqQ25tNVRFVDdzNFVl?=
 =?utf-8?B?UFRVZVhGZE9kbURqUXIvWXN0cWhuUWJ4RnJrSGYzQzNQb3BHQjRFVUtPVTBJ?=
 =?utf-8?B?VC9DemhjMWZ5dW5XRWUwNXhWeld3YjhUa0RmY3FEbkFzU3JmOVFIQ3k5YkdJ?=
 =?utf-8?B?MXBvelUydU15SWs2L3NydTIrZWZEVHpxT0VFQ0kvNkFXb1VYc3VzdnNMQXVJ?=
 =?utf-8?B?TEp3aFZaK2U5dDZZQi9sc2MzT3pjNVRnVXo1clJxcFp3eG95NlduWVZLZ0Fi?=
 =?utf-8?B?ZXRLOGZUS05QMWR2azE1WERiU1RVTUJyMkVFZ09JeWxvam9LR2M3dVVpRlRk?=
 =?utf-8?B?d3NrcGV1SlRIb2M5SjVxTUVVc2VJVzhCMkRUbEpsRFk3Y0xXRCtDUW1lNnVY?=
 =?utf-8?B?QmdndlRsVHIrLy9SYlRsZ1BYaHNLbmJ5eTNicnhBNTFFQlVZQVpDTzdjTDJt?=
 =?utf-8?B?eTZ0cSs4bDJOUE9wbU1QS3FqclBSOElsdVZac2Ixc1M0Z3dCVGR4VmdRTlp0?=
 =?utf-8?B?ZHlBRmdQVjVYUCsvOXBtZU5UM2g4QnBhUmZ6K091dmN4Tm1SZ012ZkZkM1FD?=
 =?utf-8?B?SUNRSVlNNFRpbWovSnoyWWZZeTJISDVSa0NwcTlBV3BXQkYvSWNQNjA4Snlt?=
 =?utf-8?B?TmFDT1l4Vk90dk1FUDJMUW1RdEk2YWg4RU1QdjZrTmJVc1NoS2hMUlJtWnZ6?=
 =?utf-8?B?NEVZYmZ6RXUyS1phay9Zd0htL2xYdFg1ajM5OGhYc2Q2V3MzaVZmeHNlenY2?=
 =?utf-8?B?aG8vK21qM2pFbms0N2Z6L296WlhoenZrb0kvVXh1SGVZVjlaenBGOG5KYVhl?=
 =?utf-8?B?OStFWWdVTU15N3lybkhBRVFka2RmeFRjbWRPRlpwMmJJZ2FYdlJUcmhhK0Vw?=
 =?utf-8?B?cUd3NEtEd1pWdWd5MEYxdHVsRHJleG9JZ0xYMHdOamIrQUlTMWNqM1JWNm9m?=
 =?utf-8?B?RUxpeEUxa2dQYVdHSGwzMTkzUEI0dkpjN0xRajY0TzV1WkErbVdWL3Y0RXJL?=
 =?utf-8?B?T3pmMFpkdTNvWGtWSFQxN0IwVENUY2hiR09JWlowT3R1K2ZmM0cvYlVwQjFi?=
 =?utf-8?B?Umt5Wm9sUjI3Q1czeTkzOU9QaVJ4N05GVWlrVisrVnFlUTRrY1M4SFMrZEtm?=
 =?utf-8?B?TGx4SGZRMm55Mmhxb3I5cGpkNTNCOUtGSnRkbHJxNkphM3lLamFqTjY4Sk5J?=
 =?utf-8?B?V1FuMTEyTDhkNlljaHNTSXFaL090OWNSZlZrcXBSSmpVNDV3UlJudlJ4ZVNS?=
 =?utf-8?B?VEFKY0xkc1RLTDJoQlJTUmJwMExWU1dBN2VWSnhvYUpZODEvZGJkZ3JRemx3?=
 =?utf-8?B?UmNCY092U0xKOXdiUXd3eW16cjdQeGVXRkgxNEljK012KzRhbTFVaVlFVm9r?=
 =?utf-8?B?Y01hbVpqUWUrcG1rQmlKeXJyakwyMXNac29WNFFiQXZIUmhFem1qcXVvS3py?=
 =?utf-8?B?T0VHaVNHdGc0NGNzRW9lSjF1STRSQjFnUzBIempyaEt1YlN4clQvVEY2TUFN?=
 =?utf-8?B?YlFZeHFxUFFna295U1BoT3pjZitrT0VXSXMzU0hBUnB4djZCVEx6alZjY2ZM?=
 =?utf-8?B?VDdObElwNHVzSm1kV2FWMW5SbW5hYVZHMHE3a3VsV0l0NXBTdDllRGJFdmJC?=
 =?utf-8?B?WlVZRGszVmJleGlybUxQMXRMOGxaWXVSNjQ2WmJ4dkJ0aXdjL0RlVTViTHJ0?=
 =?utf-8?B?OEpPOVIyUEc1MlFXT0IwQTdJUVlkQVlYYXJBZWN4RkZTd3FvclAxcHNocHRj?=
 =?utf-8?B?MFhQWU9yLzFBNXBodmJKSUZ1NzdOS1BNVG9UOStTSGRGTGU4amVVc0gxeUdM?=
 =?utf-8?B?dWlNS2lENkszL3VMSE5EcEN2TS9BblZrbUhtM0lReURuLzRJd3BOeEdUb0lF?=
 =?utf-8?B?ajhhNTdDZk9ud3RyaGxzK000M3lRMmordGN5OHpndlIyQ3dybzJ1a2xDT051?=
 =?utf-8?B?bDNwTUZsTzRReUZFYmpqTXZobEIwYityVzM3WFZvMEpGUHAxcXFkeFptOG1r?=
 =?utf-8?B?Zkhkc0NhRzVsOFR1SFY4VjNPcjQyakNhMVl3V1k5UkI2NEFtKy9rU1ZlRUJ2?=
 =?utf-8?B?SEVicWFIbUxXM25Nc1ZWTFBZT1FNd1BtcWVzcjNhMzhZYUw4ZDNCUWZ6R3dk?=
 =?utf-8?Q?LbgBs50a9JutsZCz5M5qfAltZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dca8a437-7281-43c1-4767-08dbef468ed8
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 12:44:12.7382
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: aPtCHoWQS57k1RBUzKSAs3jDUsHaUORcE/4xCaxTsOZEEv2oaJ8RU/CiXRmvDwbnXT1iwK8rKQMxXd+LHhTdqQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB9914

On 24.11.2023 23:41, Andrew Cooper wrote:
> On 24/11/2023 8:41 am, Jan Beulich wrote:
>> ... to a struct field, which is then going to be accompanied by other
>> capability/control data presently living in individual variables. As
>> this structure isn't supposed to be altered post-boot, put it in
>> .data.ro_after_init right away.
>>
>> Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> 
> For (usable) nested virt, we're going to need the VMX MSRs, in their
> architectural form, in struct cpu_policy.  And just like CPUID features,
> I want it to end up with nice bitfields to use.
> 
> Looking through the rest of this series, vmx_caps ends up almost in
> architectural form.
> 
> Could I talk you into having a "struct vmx_msrs" (or similar - 'caps'
> doesn't feel quite right here) in the policy object, and also
> instantiating one instance of it for this purpose here?

I was actually wondering while doing the conversion. The main reason I
didn't go that route right away was that I wasn't really certain whether
what I'd put there would the really be the (largely) final shape it
wants to take there. (One thing you've likely noticed I didn't convert
is _vmx_misc_cap, which right now only exists as a local variable in
vmx_init_vmcs_config().)

> AFAICT, it would only be a minor deviation to the latter half of this
> series, but it would be an excellent start to fixing nested virt - and
> getting this data in the policy really is the first task in getting the
> ball rolling on nested virt.

How much of a further change it would end up being (or where that change
would occur) depends on another aspect: When put in cpu-policy.h (and I
take it you mean the lib/ instance, not the asm/ one), it would seem
natural and perhaps even necessary to properly introduce bitfields for
each of the MSRs right away. That'll lead to a "raw" field as well. In
VMX code (mostly its cpu_has_* #define-s), I'd then either need to use
.raw (perhaps a little ugly here and there) or go with using the
individual bitfields right away (likely eliminating the need for many of
the constant #define-s), which increases the risk of inadvertent mistakes
(and their overlooking during review).

> I don't mind about serialising/de-serialsing it - that still has a bit
> of userspace complexity to work out, and depends on some of the cleanup
> still needing a repost.
> 
> If you don't want to take the added space in cpu_policy yet, how about
> having the declaration there and just forgo instantiating the subobject
> in the short term?

There's quite a bit of effectively dead space in the struct already; I
think I wouldn't mind instantiating the struct there right away. So long
as you're convinced it's going to be used there in not too distant a
future.

But: If I go as far, why would I introduce a global instance of the new
struct? Wouldn't it then make more sense to use host_cpu_policy right
away? I probably would keep populating it in vmx_init_vmcs_config() to
limit churn for now, but consumers of the flags could then right away
use the host policy.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:46:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:46:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642061.1001153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7b0T-00067g-CG; Mon, 27 Nov 2023 12:46:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642061.1001153; Mon, 27 Nov 2023 12: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 1r7b0T-00067Z-92; Mon, 27 Nov 2023 12:46:33 +0000
Received: by outflank-mailman (input) for mailman id 642061;
 Mon, 27 Nov 2023 12: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=fJnr=HI=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r7b0R-00065z-8D
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:46:31 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fcaa5a25-8d22-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 13:46:30 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a02d12a2444so608924066b.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 04:46:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcaa5a25-8d22-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701089190; x=1701693990; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=8Q4o9keE/0fbZA7BBj4pWJ+QZiZ7NWyv6VAZH8qWfpE=;
        b=jyRzLUNG4OaB1ymW7UjyQaSbzZ6QK/jyw+cdObPns6FWSg0wyXdv1uvC5ZGPNcVJrz
         I0PpBaMrmCHfwloImlHtz9zSSdMohnS55pYza4Po24wDRA75sdPzdfW+HqbF46P7nnar
         rLicit2VWz+Cfq1e6PhtVEqUamWsFXAJ6dBDYCMjt8a9OufsIH70Wa9MVROzk/54sW97
         Oa8Th2uhELCcHwyozZfnWMvMCrgn/S6pHJiG0XhQj0eL3WO5v/2CUfw5xIsfavm4yEj3
         wdVR25yjUayz+0KMD0S/kq8emCBs33xY6RW3Czueq3GcHTC75Bz/yVXHogxRgyHOiHVW
         e+sQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701089190; x=1701693990;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=8Q4o9keE/0fbZA7BBj4pWJ+QZiZ7NWyv6VAZH8qWfpE=;
        b=KZthMJZJYNih8mx3lOMngdo2ZlykPaZ+aD+rLcHKvvU0/dc50Dq/KtsV5X7i1y3Z7l
         +RRgq2dJxL0REoSa4y2qa649X6wX2FUx+qqeME9RYx6aci/KNGLHSWA1EOu4wzn+FIHb
         RlMv23Jhk6V3ryf5Mhj1t2Hv4iAvAH3OEj5qx3iFCMjZEGKsPr464auGc+LDQL0/Iua7
         YUMODuoQrJHeXfsWIPkYzDBfCOLnjxike58gQ3NZwcv7Hs88nXNpoLojatWm71JVQmsO
         RXhRmI0CMUldisE0yESvX+inpmwqEnAhclonft3cAR06XCGi5QQc/4kte4EeczYlWQsA
         h3Ng==
X-Gm-Message-State: AOJu0YxC0NDVebJ56UVeFKguGqg8wM17I8FxMn16bL3AmVTvVQzn5BMd
	tOonFzo4SShsN8D9eGA8VSiuz5jWC7SyVsbByZg=
X-Google-Smtp-Source: AGHT+IHHlXuUmLXfKjruZT0DtP54n0+/9ZBqf0/ibsIR7gUDOmxJrQj5ywpFh5SuEMFcIzw/jwdPTB5dfnRcgg+b0Hw=
X-Received: by 2002:a17:906:9c87:b0:a0d:9ba9:6255 with SMTP id
 fj7-20020a1709069c8700b00a0d9ba96255mr3881142ejc.75.1701089189405; Mon, 27
 Nov 2023 04:46:29 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook>
In-Reply-To: <ZWR1v5Y3EpRK817B@macbook>
From: Mario Marietto <marietto2008@gmail.com>
Date: Mon, 27 Nov 2023 13:45:53 +0100
Message-ID: <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32 bit
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>, Anthony PERARD <anthony.perard@citrix.com>, 
	Julien Grall <julien@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>, Elliott Mitchell <ehem+freebsd@m5p.com>
Content-Type: multipart/alternative; boundary="000000000000dda859060b21b09f"

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

@Chuck Zmudzinski <brchuckz@netscape.net> : Stay tuned. They want to help
us. The xen developers are great. Very good support for us. I'm sure that
you can give a good contribution to understand what's our problem and how
to implement a fix with the help of all those good guys.

On Mon, Nov 27, 2023 at 11:56=E2=80=AFAM Roger Pau Monn=C3=A9 <roger.pau@ci=
trix.com>
wrote:

> On Mon, Nov 27, 2023 at 10:28:13AM +0000, Henry Wang wrote:
> > +(xen-devel and Arm maintainers, including Julien)
> >
> > > On Nov 27, 2023, at 18:03, Mario Marietto <marietto2008@gmail.com>
> > > wrote:
> > >
> > > Hello.  We have just virtualized Debian 12 on our arm (32 bit)
> > > Chromebook model xe303c12 . As host / dom0 we have chosen Devuan
> > > 5,and for guest / domU,Debian 12. It works great. But our goal is
> > > different. We want to virtualize FreeBSD as domU. Can we have a
> > > working Xen PV network driver for a FreeBSD arm guest ?. I found
> > > that Julien Grall has ported the Xen drivers to FreeBSD on arm. I
> > > would like to know if Julien's work was accepted upstream by
> > > FreeBSD, in which case FreeBSD as a Xen guest on arm should work
> > > if we enable the Xen PV drivers in the FreeBSD on arm kernel. If
> > > Julien's work was not accepted upstream by FreeBSD, we will have
> > > to find his patches and apply them ourselves to the FreeBSD on arm
> > > kernel.
>
> I've added Elliot on Cc as he is working on upstreaming the patches to
> FreeBSD.  He will be able to provide a better update than myself.
>
> Regards, Roger.
>


--=20
Mario.

--000000000000dda859060b21b09f
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><a class=3D"gmail_plusreply" id=3D"plusReplyChip-0" href=
=3D"mailto:brchuckz@netscape.net" tabindex=3D"-1">@Chuck Zmudzinski</a> : S=
tay tuned. They want to help us. The xen developers are great. Very good su=
pport for us. I&#39;m sure that you can give a good contribution to underst=
and what&#39;s our problem and how to implement a fix with the help of all =
those good guys. <br></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" =
class=3D"gmail_attr">On Mon, Nov 27, 2023 at 11:56=E2=80=AFAM Roger Pau Mon=
n=C3=A9 &lt;<a href=3D"mailto:roger.pau@citrix.com">roger.pau@citrix.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">On =
Mon, Nov 27, 2023 at 10:28:13AM +0000, Henry Wang wrote:<br>
&gt; +(xen-devel and Arm maintainers, including Julien)<br>
&gt; <br>
&gt; &gt; On Nov 27, 2023, at 18:03, Mario Marietto &lt;<a href=3D"mailto:m=
arietto2008@gmail.com" target=3D"_blank">marietto2008@gmail.com</a>&gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; <br>
&gt; &gt; Hello.=C2=A0 We have just virtualized Debian 12 on our arm (32 bi=
t)<br>
&gt; &gt; Chromebook model xe303c12 . As host / dom0 we have chosen Devuan<=
br>
&gt; &gt; 5,and for guest / domU,Debian 12. It works great. But our goal is=
<br>
&gt; &gt; different. We want to virtualize FreeBSD as domU. Can we have a<b=
r>
&gt; &gt; working Xen PV network driver for a FreeBSD arm guest ?. I found<=
br>
&gt; &gt; that Julien Grall has ported the Xen drivers to FreeBSD on arm. I=
<br>
&gt; &gt; would like to know if Julien&#39;s work was accepted upstream by<=
br>
&gt; &gt; FreeBSD, in which case FreeBSD as a Xen guest on arm should work<=
br>
&gt; &gt; if we enable the Xen PV drivers in the FreeBSD on arm kernel. If<=
br>
&gt; &gt; Julien&#39;s work was not accepted upstream by FreeBSD, we will h=
ave<br>
&gt; &gt; to find his patches and apply them ourselves to the FreeBSD on ar=
m<br>
&gt; &gt; kernel.<br>
<br>
I&#39;ve added Elliot on Cc as he is working on upstreaming the patches to<=
br>
FreeBSD.=C2=A0 He will be able to provide a better update than myself.<br>
<br>
Regards, Roger.<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--000000000000dda859060b21b09f--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 12:57:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 12:57:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642067.1001163 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bBG-0002Vx-BG; Mon, 27 Nov 2023 12:57:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642067.1001163; Mon, 27 Nov 2023 12: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 1r7bBG-0002Vq-7n; Mon, 27 Nov 2023 12:57:42 +0000
Received: by outflank-mailman (input) for mailman id 642067;
 Mon, 27 Nov 2023 12:57: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=fJh/=HI=linaro.org=dan.carpenter@srs-se1.protection.inumbo.net>)
 id 1r7bBF-0002Vk-SA
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 12:57:41 +0000
Received: from mail-lj1-x22b.google.com (mail-lj1-x22b.google.com
 [2a00:1450:4864:20::22b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c4e722f-8d24-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 13:57:40 +0100 (CET)
Received: by mail-lj1-x22b.google.com with SMTP id
 38308e7fff4ca-2c5039d4e88so50455981fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 04:57:40 -0800 (PST)
Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id
 e16-20020adffc50000000b00332cb561c8dsm11987442wrs.112.2023.11.27.04.57.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 04:57:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c4e722f-8d24-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1701089860; x=1701694660; darn=lists.xenproject.org;
        h=content-disposition:mime-version:message-id:subject:cc:to:from:date
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Sjt6k/8uh3hwCXXR7YydDVs4BIzvpxlypHixoFNvEN0=;
        b=IK/PTfD+qbZhbxN1jm1OvrM7/xqOR42CEKnR7sKwIN7YKmrkAcCNtWmx6hOxaXznZX
         xZaA2W3TM+qgpCFMOrz3mzfCdwiHyvQuMp9ycM7D9cvtI4hbqzKquKMh//cAxiopYQcL
         h6hgJNnPuNymSZIxFN83beIZ6OsDx7U3Dt4gP4Tf6mAC+Oeg39+Bede/9rkRsp5RRR6G
         2JCJu2965wSZh/JzaaJrU+O9WnS8uPacmySUccA9f/4o8/guBdX0Cv7rMw6yqNqPHXSx
         VecljdGIbxjdwM4Om1nSvozv4xfBZQXwsyoYoemRsiFrQTMNLrFoIZW3Y3aphAcZ+C4m
         zSkA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701089860; x=1701694660;
        h=content-disposition:mime-version:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=Sjt6k/8uh3hwCXXR7YydDVs4BIzvpxlypHixoFNvEN0=;
        b=XfkwJetmrAsyBDC8Z7Z09qBfzrTASTkuk4rvmDerj5GQ43bx7k6pfIOHaiv6T4i1tv
         QNwjGhnEgpcI5ZY8NGF4HYaVVpd/gCPmhRCa8ynRKiLXZ8BviCPfnIOsNH7FpH6uylZG
         hGMuw4lIPkV/GmsdZq1Fk4IgNnm0fLxZwxoYOIT+Me8PBckYkVBLTwPetUpYG3akVXfT
         SoQA4VJ063ZnfHW2oFwH3sSNjs8jKkmLnmxlbYDOQBz6vXrFVVlvy8UifUBnsl+k8fjX
         ICX776V8ndcGC13ZCjkzJBBa+7BTcxtVI7WNoAiwqkGqMon8x1QE7HtFJnTMYF0/2IqA
         4mrA==
X-Gm-Message-State: AOJu0YxnOYMJLh2xKYqrKB+pGawDBbBU5VieZe2bCrfsQ3oSAXAM4KnZ
	kT05hmQUbOSiDYjpxjBgADHqTw==
X-Google-Smtp-Source: AGHT+IH4FeHkACMbF03cjzsbK+N/epx+FNdWdYPGoXzsZlA+/Oqge/c/eDLnMpx/HFxScHtGL5JStg==
X-Received: by 2002:a2e:3207:0:b0:2c5:6cb:2e50 with SMTP id y7-20020a2e3207000000b002c506cb2e50mr7457759ljy.27.1701089860305;
        Mon, 27 Nov 2023 04:57:40 -0800 (PST)
Date: Mon, 27 Nov 2023 15:57:36 +0300
From: Dan Carpenter <dan.carpenter@linaro.org>
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Julien Grall <jgrall@amazon.com>, Rahul Singh <rahul.singh@arm.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	David Vrabel <david.vrabel@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
Subject: [PATCH] xen/events: fix error codes in xen_bind_pirq_msi_to_irq()
Message-ID: <60028de8-a137-423d-91d8-00b2942bd73d@moroto.mountain>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Mailer: git-send-email haha only kidding

The error code needs to be set on these error paths.

Fixes: 5dd9ad32d775 ("xen/events: drop xen_allocate_irqs_dynamic()")
Fixes: d2ba3166f23b ("xen/events: move drivers/xen/events.c into drivers/xen/events/")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
Are we going to backport these to stable?  Should I split this into two
patches?

 drivers/xen/events/events_base.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index f5edb9e27e3c..aae62603b461 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1105,13 +1105,17 @@ int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc,
 	mutex_lock(&irq_mapping_update_lock);
 
 	irq = irq_alloc_descs(-1, 0, nvec, -1);
-	if (irq < 0)
+	if (irq < 0) {
+		ret = irq;
 		goto out;
+	}
 
 	for (i = 0; i < nvec; i++) {
 		info = xen_irq_init(irq + i);
-		if (!info)
+		if (!info) {
+			ret = -ENOMEM;
 			goto error_irq;
+		}
 
 		irq_set_chip_and_handler_name(irq + i, &xen_pirq_chip, handle_edge_irq, name);
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:07:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:07:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642071.1001173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bKq-0005Zi-7Y; Mon, 27 Nov 2023 13:07:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642071.1001173; Mon, 27 Nov 2023 13: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 1r7bKq-0005Zb-3j; Mon, 27 Nov 2023 13:07:36 +0000
Received: by outflank-mailman (input) for mailman id 642071;
 Mon, 27 Nov 2023 13:07: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=f6Ye=HI=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7bKp-0005ZV-4X
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:07:35 +0000
Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com
 [45.249.212.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eb211ad3-8d25-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 14:07:32 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4Sf5Tl37q5z4f3jHj
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 21:07:23 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 43A0F1A0A64
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 21:07:26 +0800 (CST)
Received: from [10.174.176.73] (unknown [10.174.176.73])
 by APP1 (Coremail) with SMTP id cCh0CgDX2hCKlGRldTJXCA--.14854S3;
 Mon, 27 Nov 2023 21:07: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: eb211ad3-8d25-11ee-98e2-6d05b1d4d9a1
Subject: Re: [PATCH block/for-next v2 01/16] block: add a new helper to get
 inode from block_device
To: Christoph Hellwig <hch@infradead.org>, Yu Kuai <yukuai1@huaweicloud.com>
Cc: ming.lei@redhat.com, axboe@kernel.dk, roger.pau@citrix.com,
 colyli@suse.de, kent.overstreet@gmail.com, joern@lazybastard.org,
 miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com,
 sth@linux.ibm.com, hoeppner@linux.ibm.com, hca@linux.ibm.com,
 gor@linux.ibm.com, agordeev@linux.ibm.com, jejb@linux.ibm.com,
 martin.petersen@oracle.com, clm@fb.com, josef@toxicpanda.com,
 dsterba@suse.com, viro@zeniv.linux.org.uk, brauner@kernel.org,
 nico@fluxnic.net, xiang@kernel.org, chao@kernel.org, tytso@mit.edu,
 adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
 konishi.ryusuke@gmail.com, dchinner@redhat.com, linux@weissschuh.net,
 min15.li@samsung.com, dlemoal@kernel.org, willy@infradead.org,
 akpm@linux-foundation.org, hare@suse.de, p.raghav@samsung.com,
 linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
 linux-mtd@lists.infradead.org, linux-s390@vger.kernel.org,
 linux-scsi@vger.kernel.org, linux-bcachefs@vger.kernel.org,
 linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
 linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
 gfs2@lists.linux.dev, linux-nilfs@vger.kernel.org, yi.zhang@huawei.com,
 yangerkun@huawei.com, "yukuai (C)" <yukuai3@huawei.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-2-yukuai1@huaweicloud.com>
 <ZWRDeQ4K8BiYnV+X@infradead.org>
From: Yu Kuai <yukuai1@huaweicloud.com>
Message-ID: <6acdeece-7163-3219-95e2-827e54eadd0c@huaweicloud.com>
Date: Mon, 27 Nov 2023 21:07:22 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <ZWRDeQ4K8BiYnV+X@infradead.org>
Content-Type: text/plain; charset=gbk; format=flowed
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDX2hCKlGRldTJXCA--.14854S3
X-Coremail-Antispam: 1UD129KBjvJXoW7KF1fWFWkJw1kuFy8XF43KFg_yoW8KrWDp3
	y7KFn8tw1DJryFgan7tw1jqrn0g3W7GrWUZ34rZrsxurZ8WFy2qF10krsrXFyIyr48Jw4I
	qF45AF43Xry2grJanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUU9214x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
	1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U
	JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc
	CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E
	2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV
	W8JwACjcxG0xvEwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka
	0xkIwI1lc7I2V7IY0VAS07AlzVAYIcxG8wCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7x
	kEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E
	67AF67kF1VAFwI0_Wrv_Gr1UMIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF
	4lIxAIcVC0I7IYx2IY6xkF7I0E14v26F4j6r4UJwCI42IY6xAIw20EY4v20xvaj40_WFyU
	JVCq3wCI42IY6I8E87Iv67AKxVW8JVWxJwCI42IY6I8E87Iv6xkF7I0E14v26rxl6s0DYx
	BIdaVFxhVjvjDU0xZFpf9x0JUd8n5UUUUU=
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

Hi,

 2023/11/27 15:21, Christoph Hellwig д:
> On Mon, Nov 27, 2023 at 02:21:01PM +0800, Yu Kuai wrote:
>> From: Yu Kuai <yukuai3@huawei.com>
>>
>> block_devcie is allocated from bdev_alloc() by bdev_alloc_inode(), and
>> currently block_device contains a pointer that point to the address of
>> inode, while such inode is allocated together:
> 
> This is going the wrong way.  Nothing outside of core block layer code
> should ever directly use the bdev inode.  We've been rather sloppy
> and added a lot of direct reference to it, but they really need to
> go away and be replaced with well defined high level operation on
> struct block_device.  Once that is done we can remove the bd_inode
> pointer, but replacing it with something that pokes even more deeply
> into bdev internals is a bad idea.

Thanks for the advice, however, after collecting how other modules are
using bdev inode, I got two main questions:

1) Is't okay to add a new helper to pass in bdev for following apis?
If so, then almost all the fs and driver can avoid to access bd_inode
dirctly.

errseq_check(&bdev->bd_inode->i_mapping->wb_err, wb_err);
errseq_check_and_advance(&bdev->bd_inode->i_mapping->wb_err, &wb_err);
mapping_gfp_constraint(bdev->bd_inode->i_mapping, gfp);
i_size_read(bdev->bd_inode)
find_get_page(bdev->bd_inode->i_mapping, offset);
find_or_create_page(bdev->bd_inode->i_mapping, index, gfp);
read_cache_page_gfp(bdev->bd_inode->i_mapping, index, gfp);
invalidate_inode_pages2(bdev->bd_inode->i_mapping);
invalidate_inode_pages2_range(bdev->bd_inode->i_mapping, start, end);
read_mapping_folio(bdev->bd_inode->i_mapping, index, file);
read_mapping_page(bdev->bd_inode->i_mapping, index, file);
balance_dirty_pages_ratelimited(bdev->bd_inode->i_mapping)
file_ra_state_init(ra, bdev->bd_inode->i_mapping);
page_cache_sync_readahead(bdev->bd_inode->i_mapping, ra, file, index, 
req_count);
inode_to_bdi(bdev->bd_inode)

2) For the file fs/buffer.c, there are some special usage like
following that I don't think it's good to add a helper:

spin_lock(&bd_inode->i_mapping->private_lock);

Is't okay to move following apis from fs/buffer.c directly to
block/bdev.c?

__find_get_block
bdev_getblk

Thanks,
Kuai

> .
> 



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:17:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:17:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642076.1001184 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bU7-0007kR-5B; Mon, 27 Nov 2023 13:17:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642076.1001184; Mon, 27 Nov 2023 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 1r7bU7-0007kF-0K; Mon, 27 Nov 2023 13:17:11 +0000
Received: by outflank-mailman (input) for mailman id 642076;
 Mon, 27 Nov 2023 13:17: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7bU6-0007k9-0R
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:17:10 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43f22b7b-8d27-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 14:17:08 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 5972F21DBD;
 Mon, 27 Nov 2023 13:17:06 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 0316B1367B;
 Mon, 27 Nov 2023 13:17:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 4scXO9GWZGWBDwAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 13:17: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: 43f22b7b-8d27-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701091026; 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:autocrypt:autocrypt;
	bh=T1gmTFW7WREbEHt+h3CYFaBP7z7H778U4dxXYXFAfPM=;
	b=vWoWHqdC/YNTe/m8h/aCdWPplQFMfLOFR3CE+apIk8y1mcCINOyQVKboVTB+UeKDJcBxGt
	jCt1cl3JEC0Shg3gVu+N8ZvEBkMUqc6tYJ2BeGsK5H10n8Isze0XmCORXEBl14qNHXckzy
	ajjhlQSsb9IFX1EgM0xAtDMJkqGz/Mc=
Message-ID: <6f9c8b08-3865-479f-8f32-686f778203f6@suse.com>
Date: Mon, 27 Nov 2023 14:17:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/events: fix error codes in xen_bind_pirq_msi_to_irq()
Content-Language: en-US
To: Dan Carpenter <dan.carpenter@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Viresh Kumar <viresh.kumar@linaro.org>, Julien Grall <jgrall@amazon.com>,
 Rahul Singh <rahul.singh@arm.com>, David Woodhouse <dwmw@amazon.co.uk>,
 David Vrabel <david.vrabel@citrix.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
References: <60028de8-a137-423d-91d8-00b2942bd73d@moroto.mountain>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <60028de8-a137-423d-91d8-00b2942bd73d@moroto.mountain>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------bMuLuOyArqGYB5SV94Vqw30L"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -1.10
X-Spamd-Result: default: False [-1.10 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-0.11)[66.23%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_TWELVE(0.00)[12];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[linaro.org:email];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------bMuLuOyArqGYB5SV94Vqw30L
Content-Type: multipart/mixed; boundary="------------jaZjZ35uxQ10mcRNek5XDtCE";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Dan Carpenter <dan.carpenter@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Viresh Kumar <viresh.kumar@linaro.org>, Julien Grall <jgrall@amazon.com>,
 Rahul Singh <rahul.singh@arm.com>, David Woodhouse <dwmw@amazon.co.uk>,
 David Vrabel <david.vrabel@citrix.com>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>,
 xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
Message-ID: <6f9c8b08-3865-479f-8f32-686f778203f6@suse.com>
Subject: Re: [PATCH] xen/events: fix error codes in xen_bind_pirq_msi_to_irq()
References: <60028de8-a137-423d-91d8-00b2942bd73d@moroto.mountain>
In-Reply-To: <60028de8-a137-423d-91d8-00b2942bd73d@moroto.mountain>

--------------jaZjZ35uxQ10mcRNek5XDtCE
Content-Type: multipart/mixed; boundary="------------yyiu4ya4hhoT7UrY6pRqDN4N"

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

T24gMjcuMTEuMjMgMTM6NTcsIERhbiBDYXJwZW50ZXIgd3JvdGU6DQo+IFRoZSBlcnJvciBj
b2RlIG5lZWRzIHRvIGJlIHNldCBvbiB0aGVzZSBlcnJvciBwYXRocy4NCj4gDQo+IEZpeGVz
OiA1ZGQ5YWQzMmQ3NzUgKCJ4ZW4vZXZlbnRzOiBkcm9wIHhlbl9hbGxvY2F0ZV9pcnFzX2R5
bmFtaWMoKSIpDQo+IEZpeGVzOiBkMmJhMzE2NmYyM2IgKCJ4ZW4vZXZlbnRzOiBtb3ZlIGRy
aXZlcnMveGVuL2V2ZW50cy5jIGludG8gZHJpdmVycy94ZW4vZXZlbnRzLyIpDQoNClBsZWFz
ZSBkcm9wIHRoZSBsYXN0IEZpeGVzOiB0YWcuIFNhaWQgcGF0Y2ggZGlkbid0IGludHJvZHVj
ZSBhbnkgbmV3IHByb2JsZW0uDQoNCj4gU2lnbmVkLW9mZi1ieTogRGFuIENhcnBlbnRlciA8
ZGFuLmNhcnBlbnRlckBsaW5hcm8ub3JnPg0KPiAtLS0NCj4gQXJlIHdlIGdvaW5nIHRvIGJh
Y2twb3J0IHRoZXNlIHRvIHN0YWJsZT8gIFNob3VsZCBJIHNwbGl0IHRoaXMgaW50byB0d28N
Cj4gcGF0Y2hlcz8NCj4gDQo+ICAgZHJpdmVycy94ZW4vZXZlbnRzL2V2ZW50c19iYXNlLmMg
fCA4ICsrKysrKy0tDQo+ICAgMSBmaWxlIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMiBk
ZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3hlbi9ldmVudHMvZXZl
bnRzX2Jhc2UuYyBiL2RyaXZlcnMveGVuL2V2ZW50cy9ldmVudHNfYmFzZS5jDQo+IGluZGV4
IGY1ZWRiOWUyN2UzYy4uYWFlNjI2MDNiNDYxIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL3hl
bi9ldmVudHMvZXZlbnRzX2Jhc2UuYw0KPiArKysgYi9kcml2ZXJzL3hlbi9ldmVudHMvZXZl
bnRzX2Jhc2UuYw0KPiBAQCAtMTEwNSwxMyArMTEwNSwxNyBAQCBpbnQgeGVuX2JpbmRfcGly
cV9tc2lfdG9faXJxKHN0cnVjdCBwY2lfZGV2ICpkZXYsIHN0cnVjdCBtc2lfZGVzYyAqbXNp
ZGVzYywNCj4gICAJbXV0ZXhfbG9jaygmaXJxX21hcHBpbmdfdXBkYXRlX2xvY2spOw0KPiAg
IA0KPiAgIAlpcnEgPSBpcnFfYWxsb2NfZGVzY3MoLTEsIDAsIG52ZWMsIC0xKTsNCj4gLQlp
ZiAoaXJxIDwgMCkNCj4gKwlpZiAoaXJxIDwgMCkgew0KPiArCQlyZXQgPSBpcnE7DQo+ICAg
CQlnb3RvIG91dDsNCj4gKwl9DQoNCldoeT8gVGhlIHJldHVybiB2YWx1ZSBmb3IgdGhlIG91
dDogbGFiZWwgaXMgaW4gaXJxLg0KDQo+ICAgDQo+ICAgCWZvciAoaSA9IDA7IGkgPCBudmVj
OyBpKyspIHsNCj4gICAJCWluZm8gPSB4ZW5faXJxX2luaXQoaXJxICsgaSk7DQo+IC0JCWlm
ICghaW5mbykNCj4gKwkJaWYgKCFpbmZvKSB7DQo+ICsJCQlyZXQgPSAtRU5PTUVNOw0KPiAg
IAkJCWdvdG8gZXJyb3JfaXJxOw0KPiArCQl9DQoNCkl0IHdvdWxkIGJlIGVhc2llciB0byBq
dXN0IHByZXNldCByZXQgd2l0aCAtRU5PTUVNIHdoZW4gZGVmaW5pbmcgaXQuDQoNCg0KSnVl
cmdlbg0K
--------------yyiu4ya4hhoT7UrY6pRqDN4N
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------yyiu4ya4hhoT7UrY6pRqDN4N--

--------------jaZjZ35uxQ10mcRNek5XDtCE--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVkltEFAwAAAAAACgkQsN6d1ii/Ey+J
qQf/fY1wnTi8rjFOcfFbfA2LJSvIerBzD4bZowsQDAh0yY/oWPxrJoGVe68W0gQe/KCNSKVg7LUy
tUEWV2WHQRGuAUUpQZNis48V8vLvQE1MTPEOER0AR1hKAAb/frqh3yuUgQbTznYWwzsutouazbzu
kAzhiv1qDrp8xGLruUYEPnfa0iRm12ZZ0kicGm5rwiNaFhTJhszjSojOjXNOo0xPG7qPcz+ywd8V
UABFRChKVdRPI7aMBptOilnYHZo7bn3x0bdOxIJ/7hG8ulnxQX3wK7NlxUODXbgfBmDXqsdw0u8v
T1GGSG3+0lQsxo55nz07H3xngg2UnHM+kX84X9Cftg==
=qCIf
-----END PGP SIGNATURE-----

--------------bMuLuOyArqGYB5SV94Vqw30L--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:18:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:18:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642079.1001193 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bVm-00009O-JB; Mon, 27 Nov 2023 13:18:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642079.1001193; Mon, 27 Nov 2023 13:18: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 1r7bVm-00009H-EN; Mon, 27 Nov 2023 13:18:54 +0000
Received: by outflank-mailman (input) for mailman id 642079;
 Mon, 27 Nov 2023 13:18: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7bVl-00009B-9p
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:18:53 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 81497e33-8d27-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 14:18:51 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7958.eurprd04.prod.outlook.com (2603:10a6:20b:2a5::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 13:18:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 13:18: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: 81497e33-8d27-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aHKNRrqRVlAReSJps7xnAnSyOe/V/Va6cubP7jYaOqcBzcptGfUQ6oPZG1v+EqFCisaLzXax0llKio3yvlJXqwRcZWAvsdZIwKIXj3NA97AwwKIqxw+R3QcmI5MvxaO048H+JkxP8sCblRnvR1Gh5kVVKhOz5Q6Ak1H53LIDQjQGvw5euZkV+OAYu3wezFSE10RieViWQwizjM8kErehrlMWbFis7tTerG1dX+NVYDly+xoHOnSUz0hd5Vq9u95cKzdRn/DiLQWAeBZuUywPPgFHNvtRLpJ65Vi/go90uMK/iLvaI+NDnug/XHMnjjMY86KHjA/olofdESJShr/VsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mXiHqxY2uQUxO8KQoAkTGn2iy7HTr8e1WQhV4uV3sHU=;
 b=C81VOkJyuQLwQ77KjWUZwYQywj/9E3WIpqTkuCkWpuwzKrb1Kz3arwWACPkfGepFuYFPzG2XX6WSMSuTngXNWBuFYqbxWP+HFPemJQ4K7iFBkJB0VKdVwLtwNrmHFtjRzCwcaS1Uz6RoHVvdpaT0hrK0TOiKgF+xTOHF+38FTE1B8Gl6uCUVnlefxPXmTWkml5zgRH52Gzk9yEMJMMznIMGla0CRlS7leL/QzS1xsYE66V3ch9cJtOi28Z9WyKpxyf5ojRRTo6GHSdkKOjDnvUUijLlMOCWm4JHVw2gNdykccYMhGDFpN7L3Dnzl3D7I6sulzgnTlBzo384Jdmdhig==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mXiHqxY2uQUxO8KQoAkTGn2iy7HTr8e1WQhV4uV3sHU=;
 b=JMFVCwpHctY93AefQZ7nN/MVZSRNmns3OwMVA3QVSERVOBbdLn/Od39/x766aDb8mpYBPzbT10DteWgaUG1dlKog50aanfPz9vGZoammTO8rV02EnJ63PACkWji+fa4zuNHYwOJsgGw473RJkNXWM4SGTR6gSLzdEUge4Ub4TuiY2UapjnPt2CvhQQnrnx71RQSTOJa4tjJxMxFy5eimmWaPHnh7aWld+ovgcC7KjVoM6xBQ6BYEp8KpyUNsIdITetO4+aTeqP5w8I18IcWpYR6rdtGL4HhzhJke/+h4DnyY757KIaENzmcxwpq+bKQiQn8UsUTTTI79GytI1RNV6Q==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b73bfba8-0c31-4f89-8a74-fdd326910b2e@suse.com>
Date: Mon, 27 Nov 2023 14:18:46 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4 1/2] x86/mm: preparation work to uniform
 modify_xen_mappings* interfaces
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1700645120.git.federico.serafini@bugseng.com>
 <8f318ade9277b316a6f91df3b75a593d662ac586.1700645120.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2311221419530.2053963@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311221419530.2053963@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b7::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7958:EE_
X-MS-Office365-Filtering-Correlation-Id: 6221349b-aa79-444e-21bb-08dbef4b63fd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	OWeo5krrtp3bu/SjqCXsfZV/dkqyvb+gI13tmtLTI5CrNWGM6dI+1e0uMrkuzJ3fSvgnmtjoohX90g/fXLrcfuF0MKzC0Lvk590dZrJUZuEEWEV39zUF9Ix37ztK+I6/sgT6nfYgNWcrlDgDE4JiCD5TjRBNGOilnJtN37ZvjQg6j5cdvk+FDzvU9XynSIXrwnrbKNXMxel44KypYiBSw2s+xErQ5Hv/4C/6vk8VUu/jzX1LnN/LN6YlX84IQ8vzqu77t4eX/BEOJJhG52xllzEwyTJwBhNCs1CtJdiD2TGQzVtCVIStw14uz5TI2mhAaLOB2FR7q/QHas6GpuUKe/TIT/T4aLyaOENIK5hZoPuy+ehMjcCgJRtIrF0NpbxnMpUjWYkLLQ0VxJuhBvI/HO+UV+bi39YF7O8E6HwbGDvAHY1tla5zgxa5VDpHESpSqq3qZLt0i6DxwARlZdg5SUtJOA96gkuKMw+9njnFgaRyJwokDiUhIt6jQShhHxi5Iyb28NDO9IsspYTJu/zd4Cn0wnUWH4lLDLk0h2Nhb5zJwAudzfJNV9ciDOQI0M7Gdy/pypNCPJefv2fFXopzhWkGEidXqSVQj/WisTNyXpH0274QlSQnJVItJUYj/4EO5hO735NF07SDQLJ+jtpdlg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(366004)(396003)(136003)(39860400002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(38100700002)(31686004)(4326008)(8936002)(8676002)(53546011)(6512007)(6506007)(66946007)(316002)(66556008)(6916009)(54906003)(66476007)(86362001)(31696002)(6486002)(5660300002)(478600001)(4744005)(41300700001)(36756003)(2906002)(26005)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TWZtU1dZU013cnltMG9hQkhscENQOENKa0YwZ3NVbTljVWxFS2U4bVBURVZt?=
 =?utf-8?B?dEFLYkFjaGhBY2JqMk1nLzZlMGpJWUdreFpkWkhwaGlybzFDZEdXT3pvT0NX?=
 =?utf-8?B?U3hGUFJaZEpocnNNNHJQemhMT0J0STJPRzJPNzFuRm1nVXRrN1IxelViY2NJ?=
 =?utf-8?B?T3dOVzVnS0VyM09uTjBoVnFKUFZyMHBEYlRzeWtzZ2dNOW8raWowbWsvK3FW?=
 =?utf-8?B?OWk5YzJER1hHMVRpZVMzK2pnckJjNDFMUXExWGdtcnNVcUJlTGoxL3VodzdE?=
 =?utf-8?B?M0xlaGhPMndGNXFsaEdEbGxPQ1JZa2RFcFZUbUt6L2t2N3NiWDFrUDRnNG81?=
 =?utf-8?B?RXlBVCtZMGlPVmwvR01VeDZFS3ZTREdkZm5nQUpDNlBIcG5XaW1aVGFyb3dR?=
 =?utf-8?B?UlNnVFBYRWhzT21EbTE2RzRCQmZacVpUQVJhL2M4RDcyRHhKZDhpajQwWmFK?=
 =?utf-8?B?SzFNcTN3aDVJS1ZtRG1jZk5COXlUKzlmSFF1QVBwbUZsZGFyOFdFS1hRWHRT?=
 =?utf-8?B?VFg1QW9STjRrSUMweUxoZGs2dzV6aGVWTEV3RWtZNDVQaVpvc2NpMUk1Z3BK?=
 =?utf-8?B?dTRzczRlSXRTL2lWdE1jSklUdUdNMktTNGhhQy8vVGdxOGJBUjcwbEdyT0lp?=
 =?utf-8?B?SDNqZElneWFNNCtFSFFoamJQbmlZUVg3bWx4cFlYNjlvbFYxaUVjaVZlQVEz?=
 =?utf-8?B?SlZmMW1xelVnZERKanpwTUZMS0piNDVFbElsTHhHMU9acjJKaGJtaFZObEJC?=
 =?utf-8?B?dGxyZElHZE1JTWx6b1FFR0ZXNmpCN2xLNGRrWU8yc0gva0dNR0ZEbHMxajNR?=
 =?utf-8?B?dlhkVDUzQU8xaFRSb1kyTFVnbnIreisxRjlBN2w3R09NQlU1d1VlQUNlZU04?=
 =?utf-8?B?dm84djB1TXJXd1pFM3BURlVzb1ZEU2dLNjVWeUVLKzgyT1RrTTBKVlRNN3pC?=
 =?utf-8?B?SnJ2WE93M3FqNmxGYzJzazFEVmpRaUY0SGRWU0NQLzZRQlptNmpIeGJaZGpo?=
 =?utf-8?B?NHBaNW15T0VQWmYyM3VmV010YUJyK0tYQlpYOXpyM0k2SmloT0pFMWo3aVJi?=
 =?utf-8?B?RVJmKzREWi9kK3UvYlYyYlNqOUE5dFNPaVRpT004QjlYWXVqeERGendxRnYz?=
 =?utf-8?B?TVBwaVBDbDB2WXMrWjlOc0swMnlCQk1DdTcxeTUxWGFEVnZJZ3VuSmw1Tmdu?=
 =?utf-8?B?QXgvQVJHUnY5cDJITDR1Z1hWOVZrZ1N6VW9NQjIxeUN1VTBOcXNIcHJ0dTRm?=
 =?utf-8?B?d3M1RDRIWjVneVVmUm1iYTExT2w1VTM4Ym03WG5mUjRmKzhDL3VvRFdENk1o?=
 =?utf-8?B?clNxS0crRWxZMHRIc3o4TCtQanhva3UzVHZsYnhJeEk0emlpMlpvZ2Jzc1Vz?=
 =?utf-8?B?Z0UyQTc1L29qbkhMRTVlN3NvVGZ0YUw0RitDdXBmWCtOWEJJaXZpYWNDWDFT?=
 =?utf-8?B?MEtZN09iampKUzBNWXE2eC9QUWpLQTVzRDFQaG1QMFFvVVZMZTdqcFNocXU5?=
 =?utf-8?B?d3IyV1dSL1NqdjVBOEMwM3FhUTdPbjd6Mkt3Z1VBQ1B2b0EvcEtabFJtdGpF?=
 =?utf-8?B?Si9BbjhIckM1OWUxYURRd1o3aElNZmxsT3pTMXhkWHB0U1RFV043ampkSXhz?=
 =?utf-8?B?OFJkOWJCL1lNMENNTWQrRWpCQ0ZkOUh4WktrM3BxdFRqYWJmVjA3Zjc1ZFAx?=
 =?utf-8?B?WUE2cTBVWmYxT21kRzNJUW9JTXpvUStvejFGUHRFR3VZRDR2RmZjbGE5cUZH?=
 =?utf-8?B?eUhvMU5qaDZ4c01wanVjU0pYQklRR3drdmJ6M245NHM3Zm5UOUFRcThyV0k0?=
 =?utf-8?B?aXpPenAyRWI0VmRMdzk2RXNycVdTMTFsdDJRWmN1M29CeU50V0ZtbUZ1elVH?=
 =?utf-8?B?OVZla0NMU29iRWZRT0I2OFZReFFVVU9nZWt6SmJQQ2x1c2tXcmM1a3ZrMzFD?=
 =?utf-8?B?eWJlVDVUc1YvZGdmcDZiV0hwSDRYTE5yQnljcGxKVUN5MjNmQjZtbnJkbC9J?=
 =?utf-8?B?cE11bU5MSmRWZW1zWm9odHFIS3dNZ0JCMFFnZnBuWDZDTEdpZkppNVYwZ08v?=
 =?utf-8?B?eEhSMTVJWURzOS9PdHQ5MXdGMmVqZzZoejY0dWRxcFcvOG1Sc05teUNPVStK?=
 =?utf-8?Q?T29EWfhxdNexD2Z7So2w1CgCS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6221349b-aa79-444e-21bb-08dbef4b63fd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 13:18:48.3179
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: f93vvOTm5eMjNTw8oYuAeokDvqcDW4AEGthVrE1/4Lw5Vz2lkS2UnWhxmeWJxHIZka0o1HgJLFFywPh1DtrDHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7958

On 22.11.2023 23:20, Stefano Stabellini wrote:
> On Wed, 22 Nov 2023, Federico Serafini wrote:
>> The objective is to use parameter name "nf" to denote "new flags"
>> in all the modify_xen_mappings* functions.
>> Since modify_xen_mappings_lite() is currently using "nf" as identifier
>> for a local variable, bad things could happen if new uses of such
>> variable are committed while a renaming patch is waiting for the
>> approval.
>> To avoid such danger, as first thing rename the local variable from
>> "nf" to "flags".
>>
>> No functional change.
>>
>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:19:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:19:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642081.1001202 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bWS-0000rN-PP; Mon, 27 Nov 2023 13:19:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642081.1001202; Mon, 27 Nov 2023 13:19: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 1r7bWS-0000rG-Mb; Mon, 27 Nov 2023 13:19:36 +0000
Received: by outflank-mailman (input) for mailman id 642081;
 Mon, 27 Nov 2023 13:19: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7bWR-0000rA-Fc
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:19:35 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062a.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a876101-8d27-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 14:19:33 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7082.eurprd04.prod.outlook.com (2603:10a6:10:129::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 13:19:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 13: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: 9a876101-8d27-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lYljT4RECzLK6qHFJZ0v+P4sqyDowLGlkSi9c8KUQPEnaKoEj4vZLN5QCNVkOw02QiljDKlMT7aStchzEvAa7OUxsIypXG2ZozPHAX/TTzG7BMxNvy4cZZX8qVE1AtFFnbS1KSbvbraCA0ZJXMxMfZpUnlIUiWEtwOhJjGHH8jYF4qUEzbxsCMJyl3ZLTRATROYoRYYo3fEYYK5my1AhqiBVOA908QEw7qHKErOKQtqaSN1sx3/PDmky5yPNx0qnf+jsWcGPVVgx3BjIUOHD8FBl2mRaSuqI6aQZorJh5ucyb0q6XlXd/PAX3PWdAjJdWQTdgtmoHRcrFEID5ak9sA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RfmtKYUJa4Hp2RWuPwRM812YInh7TUPrj1c+SIjGv+I=;
 b=VPY4sAywhwnsjGLHsTAkwxewydubpYwTNoZF/eVI2nua46CgjPcyD45vfw/ctpDDL7GZhaLj6VkduGCtHZy8D1zZ4If6Xg6nNeTeQ2L7fbGp9xmCgCZcGmR+jG/cc6a5DKkMZ/y6v+GqFoJH75IcAZSbpHfpq03jZO152rqNw1eoc+3w1SNTZLNmNpB22mXywkGOUSg+B4WiEbFRaMIKHOYzaxK5oq/RzDRTvEVJpnXmsRe+8xokikCDudDLHThjr/5Nd+l27PgUuAjzkS60iGvXIyxsTxzRQt5+V8GGTcR97LFxGAR6pVLWTOFHXHEKlD5OWy1Gi4wgDMrN3hj9Rg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RfmtKYUJa4Hp2RWuPwRM812YInh7TUPrj1c+SIjGv+I=;
 b=g93uLre9n0Tc3XxaOH/itrMhUqrBqOZrxyVVJXKr9tJfj3ZUrA2/0AGxzh7kkx4CMLesSXAcQakypews6CPIIyaNDgeOrTnFO+1CvleVRDE+WjNrwLudBV65GalmPVYrPfaNSL24B976Dz99pplLQjL4huIUZbndPXLdPtswnGIzoTOPHiW2jsl82RGntdfzAvHP/XWopNYIBqIRE2OfhWDqPtgaRush1nWPwXJZNDeT3ZB/ozrihLxSLZNE0Bdez21sRw081LkVwzD5nOp/OIXJ9rVCD6DBhT2NjpRhmS5bN0/eHOOhnjbc/EqT+bDi+Y0/8k4Mz9ElbNhrUbpCYQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f0331c55-fcc4-41c7-ace0-688d98c02dfa@suse.com>
Date: Mon, 27 Nov 2023 14:19:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4 2/2] xen/mm: address violations of MISRA C:2012
 Rules 8.2 and 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>
References: <cover.1700645120.git.federico.serafini@bugseng.com>
 <9a73c479f3a9b2a3f796f8f65de3b3feb735c56d.1700645120.git.federico.serafini@bugseng.com>
 <alpine.DEB.2.22.394.2311221422440.2053963@ubuntu-linux-20-04-desktop>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <alpine.DEB.2.22.394.2311221422440.2053963@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0173.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b7::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7082:EE_
X-MS-Office365-Filtering-Correlation-Id: 396cc1b8-e608-4c6f-b167-08dbef4b7d48
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	UYqXYBQTVtgivycKdbAesiBF9rIxFdIxRfHr4uxyepHWjk4fDSaqOZZClJrIW3pSDgGizzWfj8zDf0Up9IacTItwmhl5AK26+iY2Af60kjTm77omYe3b64jPxXQ0Bh0oX2OWLjgbuuHvTzMxRMQuzZS2o57SsKiZldghVhU+Zt8CMNw+Hq4gAdwjeeSH3xEyi4av5K5+KSzc73S/8UcKEB/VYO94Tr7L3JiQIk+Jpj6oDIJ78hI1yD96c35U0LEWtkEd44+OadvxokKmMSI5nPU+MfG7tByocrnaYDJ1G5lvPemWvusb21DNygxQtybOUU3mCoyxZf6Rupre/gUKlmNdqjHejzJ/ISK41Ee4YCPP9P2bo40PBldL+K75LoP+aoNTM1ZQdjhGHyFOeaKA3UpH01vcBNGSPU8zX3mVUPyg7q56z33/PudcE1UWjECgxIzo6a2tudL86HJjgYIFI5bV4TtQG36K0LyenjUrkycd5CmRJ5wl2UmmVopEI6eB+zZiWcoWM1UDegh5ybVPQb7TDZBOtdDX/FR9h3FgQfJW3Q9THSpibcDzrjsFiKFQTC0U4ldU8/yd76HG18QSd2udgy/kBz1Ou0cnGn49UbzBm2IWSnj04HvrtM6Wk5LJwViJu/3Jv4QrTMXZiZ2fJw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(39860400002)(366004)(376002)(346002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(41300700001)(31686004)(4326008)(2906002)(4744005)(8936002)(8676002)(6512007)(6506007)(53546011)(86362001)(2616005)(31696002)(316002)(66476007)(66556008)(66946007)(6916009)(54906003)(7416002)(5660300002)(478600001)(6486002)(36756003)(26005)(38100700002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RCtWZVVxdzc4Wit0Uml1MWwrWHB0aVpMWTVOWVhuUEpFNFhscmQ1QkdIUnh0?=
 =?utf-8?B?TUZ5dkNqbzRFam56eGVjRGVxQTFWMFlEOCthUDNpZW1jdW1KRFZuQk5GUlBU?=
 =?utf-8?B?KzFoTCtFK3g4TTNWQmhPTFVDZ0lwUFZFYjl1TUNoa1Jzei9IcmJ6SG83ZHZJ?=
 =?utf-8?B?cDBuTTRQM2JlQ1Q3MnE4VXJrV3hwaGhGNUFGVWtOV1hHeE5SWHZudU43Ukdq?=
 =?utf-8?B?cEd2R1B0Nm45WHVuZXRxQlA1VEJpcC9iRkVaOWdzcG95K2hpOUxhRVNUR054?=
 =?utf-8?B?MnhzU3p4UDdVWC9qQmlKMmUrYzBZT3NNSzlGMnVTdTdKbW80bFRhZHdJQ1Yw?=
 =?utf-8?B?V1lURE9NTFZVeHNZc0J1SlVkZ01pM3h3U1RzdFNGc3pWemtOeWM4VDBYNnlr?=
 =?utf-8?B?NUs0L2lZRjFYUGRSdkVMdFNNZjlzNFcwK3QvMmxLdjRzR1kvdTJONEtaMGdu?=
 =?utf-8?B?TzBuejMwWXFVL1JQaks4dWI2Ny9yRWlvS2FyNUxMTU5DR0M1UStkMFJuRlI5?=
 =?utf-8?B?L2EybU5GNzNYbXdxWXlBUytJNEYxOWdGcUhzMG5JMGU0cEkrM3k2b0hvQWd0?=
 =?utf-8?B?aThRNDJUVUJ2cnoxVi8zRzZZUms2OWFySlpGcW53RzRPWjZEeUtTMTgyR3Zr?=
 =?utf-8?B?TXFnTGdWRWhLRzJPakpsMTdzTlN5ckRvQUJhVDErSjhwL240MHNhd0RleWJa?=
 =?utf-8?B?UnFDY1l6NHRjbEtLdk1BT1lpcy8zQXJPampEaWtkcmVwNnNodFA1eWdMbjlQ?=
 =?utf-8?B?ZTQ5eHFTMExWYjJYRFJVRmQzd2lPdFB1M1RFOVdXSGthek5LRzAwbEhIUVlZ?=
 =?utf-8?B?MFB5ODUyand5TzY3eVpoa1J2NzBzbkNjOVpvR29uTitIUmlXeDgrSVg1VzRB?=
 =?utf-8?B?OHBlRUNxV3VpeFd6QzJ2ODJCMXJUck1kT25RYS9rTEh5S3NOYjBlRnhRRXQ1?=
 =?utf-8?B?aXFqMGY3VURaRTBOalJZVDZSSFhMdTdlenluMG5keFFHKzRKdGx2K2s2OW1i?=
 =?utf-8?B?Rm1xNkNyRXdyOXNQWm9Pankwb0NodmlrRVpEa3dqck56SUVXK0dyYkFIKzho?=
 =?utf-8?B?cW9pUHVkQU4ranU3a2VVSUE5OGRjMWlKSHVib0hYc09tNWxuanhXZ0twd0ZS?=
 =?utf-8?B?bkJpSkx0cmpoUmhrV0RBYVNWeFdiOThTVkhPa3Rqd0x4ZFVPM210TWtQOFAx?=
 =?utf-8?B?aW5wRUNsNnhLVVFoNUpzd1I0YmhJZWJvTlRqSDRxellsbFp2UnlVb1RibU5k?=
 =?utf-8?B?Z2c1SnRoTlMrVkpBRDFQMVBoamVKTmlYdnd0RE1Od29RZnpNNk9ZL3hGaGNq?=
 =?utf-8?B?MkNPSXN0NjkrSFMrMXNQTzlNMzk5TUdlNThoZW90S1BSekxPMk81YzJSdDU0?=
 =?utf-8?B?dno2dnhGZTZoMklzbnhMaTdnaGV3eU9EQ0l0cTdoVENuRkEwemlHTW1ueEYw?=
 =?utf-8?B?bHo2czBJMHBmUmR4MUZ0TWJ3SE82cjYvUWVUWm5hWnJodDJVVS94dWNwU2tC?=
 =?utf-8?B?L0pmVko3Z0VyeiticnBPZ2o2NTZZaWtzdTFmVU11KzZYME1RVkh1NHFsVnhq?=
 =?utf-8?B?VGg3THVxM0pWQVRxNlJST3B2ZGMzS3pyeEFkQ1RZM3VPU2Y1MXF6Q2laQUFj?=
 =?utf-8?B?cHp0Nm41ejM4a0F0VWVHbUNPUFhtZ3FEWlZNSFU1L2ljK2lVZHVRQXVBRTFQ?=
 =?utf-8?B?VmZMcVFXZGVwdGdvaVUvRHJMWG91YUo0a2lEUWREK1BMdWplWVlwVmxFcFdD?=
 =?utf-8?B?SndnU3N5VGVoSkU0cTlEeWZnRC9TNXhoQk9DcnJZaHN2REFvVmFIK2lQajVw?=
 =?utf-8?B?d3ZaRnYycUUrWDY0bFJGK1JyL2U3UGZTcmZKSEdocUF0LzFzVUZRdWkyZndp?=
 =?utf-8?B?bm9UVVV0bTlQSXNxUlB1eTdLWTI5OTBRNTBMWm9RTnYzU2h0eHlqUHdZMXQw?=
 =?utf-8?B?ZG9MMUpLZ1VzTXRFN2MzTlJYRUllNHpaRG1NUW1NQ2ZLUW0ybzR1cWFTNFpQ?=
 =?utf-8?B?dlhxTlJJVkc3RmRNMFBtMTlBK0sra3R2OFZIWUNBV1ZBMmlMVnY1YkJtVVFq?=
 =?utf-8?B?Mlg1eThQaFhWck1aSGVIS3Z1azJaRnNRMExvV0JYUytBdzVJd0J2Z01WWWFJ?=
 =?utf-8?Q?Qk/ST+Xxac6gwInNA2yIGha4V?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 396cc1b8-e608-4c6f-b167-08dbef4b7d48
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 13:19:30.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: g9bk2pDbVB/Mt3gNNvc8gruGDfs+GPCoyh8MqROsYWDUnYMSrWmYWIXpGSN72iZBDjgtmLnjFMzx5mLcyq7Vkg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7082

On 22.11.2023 23:22, Stefano Stabellini wrote:
> On Wed, 22 Nov 2023, Federico Serafini wrote:
>> Add missing parameter names and uniform the interfaces of
>> modify_xen_mappings() and modify_xen_mappings_lite().
>>
>> No functional change.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> 
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>

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



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:25:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:25:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642088.1001213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bc6-0003jX-F9; Mon, 27 Nov 2023 13:25:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642088.1001213; Mon, 27 Nov 2023 13:25: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 1r7bc6-0003jQ-C2; Mon, 27 Nov 2023 13:25:26 +0000
Received: by outflank-mailman (input) for mailman id 642088;
 Mon, 27 Nov 2023 13:25: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=hhMp=HI=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r7bc5-0003jK-Iw
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:25:25 +0000
Received: from mail-wr1-x429.google.com (mail-wr1-x429.google.com
 [2a00:1450:4864:20::429])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6b184186-8d28-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 14:25:23 +0100 (CET)
Received: by mail-wr1-x429.google.com with SMTP id
 ffacd0b85a97d-3316a4bc37dso2751411f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 05:25:23 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 j18-20020a5d5652000000b00332f6ad2ca8sm6225621wrw.36.2023.11.27.05.25.22
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 05:25:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6b184186-8d28-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701091523; x=1701696323; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=eitqmP1c/gOwGr5LPKnhc7eP29Juw/q2Px8hQR5DYZ4=;
        b=bEYJkmzGWPL5DjEeRCEn0LKIMeMMQxUPPuOx9BdenPRwwQgiBdnc9woGghUVV/ovpq
         Cw4A62dbH6+UbMGF2qTZ6mw0ZRMri2cbPjZ7sQwpgMA3PxJMWpIUkUA/PLS+pKKbj4wG
         FEbPPx1sAaoFnrHO5xmDEkbv1mowBIUQ3ja6s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701091523; x=1701696323;
        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:subject:date:message-id:reply-to;
        bh=eitqmP1c/gOwGr5LPKnhc7eP29Juw/q2Px8hQR5DYZ4=;
        b=GjvfgmLBWDnSTqRYcZR4NLA1vEo4dx/o4RGVClitQiSAMoKpOm/cfrYFRIKIpyZMdZ
         +a8FNy5D4NuUKc4lj4Sp4CWeXxI97MNnK2o/62JJ5fURjcuIFY0UH8OLllJI/bhcUZpp
         vaK9Lf0F8rEO8wXG/dN22ptUf01FPWH0v0bOY6anjf+PmWMsjPgJG1ZcWYziciSR2Mus
         jCyDY7zKNrPxUm6LKvh6cqt8Kgi+dx51kXYIP8hYu3BWu3xa/Es/DunbNdJS9IA8DNzn
         4phljjXefym5o2MBWeECvPG8bgb8J5e4SumoPf3gE8E6xdklwjiFnnwmpD0SoYKifYps
         5BvQ==
X-Gm-Message-State: AOJu0YxubUSuijlsBI+1pSxIyI+dR7azmKAWnRecL6bIKySjDyf8cE+h
	+jCr+hUcIao/X2OY37aCZwdOgw==
X-Google-Smtp-Source: AGHT+IG7nCnJLy7C9G8aXtyYRUr4eAgo65XwNs2OR3Oy2XFswZZa93tQcTXC9iuGQceOuGe2Y952tQ==
X-Received: by 2002:adf:ef4e:0:b0:332:dc6e:ae0d with SMTP id c14-20020adfef4e000000b00332dc6eae0dmr7948164wrp.24.1701091522701;
        Mon, 27 Nov 2023 05:25:22 -0800 (PST)
Message-ID: <ce23aa2a-5747-4b43-916b-11e35f06cb13@cloud.com>
Date: Mon, 27 Nov 2023 13:25:21 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
Cc: Jan Beulich <jbeulich@suse.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
 <e96e7f7b-d2d5-496a-9a2b-e8da2017a282@citrix.com>
 <f028ce00-207a-41b7-b2b2-dff25d7fe7c2@cloud.com>
 <d302d638-6fd4-4c26-b2e1-4db68180ba20@citrix.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <d302d638-6fd4-4c26-b2e1-4db68180ba20@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/11/2023 12:20, Andrew Cooper wrote:
> On 27/11/2023 12:08 pm, Alejandro Vallejo wrote:
>> On 24/11/2023 22:05, Andrew Cooper wrote:
>>>> diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
>>>> index 5cb87f8649..cd4701c5a2 100644
>>>> --- a/xen/arch/x86/hvm/vlapic.c
>>>> +++ b/xen/arch/x86/hvm/vlapic.c
>>>> @@ -1061,13 +1061,26 @@ static const struct hvm_mmio_ops
>>>> vlapic_mmio_ops = {
>>>>        .write = vlapic_mmio_write,
>>>>    };
>>>>    +static uint32_t x2apic_ldr_from_id(uint32_t id)
>>>> +{
>>>> +    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
>>>> +}
>>>> +
>>>>    static void set_x2apic_id(struct vlapic *vlapic)
>>>>    {
>>>
>>> const struct vcpu *v = vlapic_vcpu(vlapic);
>>>
>>> seeing as you've got the expression used twice already.
>>>
>>> With that, the following logic is shorter too; you can get away with
>>> dropping the vcpu_id variable as v->vcpu_id is the more common form to
>>> use in Xen.
>>
>> Twice? I can see a vague raison-d'etre in lapic_load_fixup(), but
>> there's a single occurence here.
> 
> It's hidden in the vlapic_domain(), which is vlacpi_vcpu()->domain.
> 
>>
>>>
>>>>    We must preserve LDRs so new vCPUs use consistent
>>>> +         * derivations and existing guests, which may have already
>>>> read the
>>>> +         * LDR at the source host, aren't surprised when interrupts
>>>> stop
>>>> +         * working the way they did at the other end.
>>>>             */
>>>> -        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
>>>> -             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
>>>> -            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
>>>> -                   vlapic_vcpu(vlapic), id);
>>>> -        set_x2apic_id(vlapic);
>>>> -    }
>>>> -    else /* Undo an eventual earlier fixup. */
>>>> -    {
>>>> -        vlapic_set_reg(vlapic, APIC_ID, id);
>>>> -        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
>>>> -    }
>>>> +        vlapic_domain(vlapic)->arch.hvm.bug_x2apic_ldr_vcpu_id = true;
>>>> +    else
>>>> +        printk(XENLOG_G_WARNING
>>>> +               "%pv: bogus x2APIC loaded id=%#x ldr=%#x (expected
>>>> ldr=%#x)\n",
>>>
>>> %pv: bogus loaded x2APIC ID %#x, LDR %#x, expected LDR %#x\n
>>>
>>> If you properly capitalise x2APIC, you should capitalise ID and LDR.
>>> The other changes are matter of taste, but make for a less cluttered log
>>> message IMO.
>>>
>>
>> "bogus x2APIC loaded" is meant to be a sentence followed by key-value
>> pairs. Uppercasing the keys is fine (albeit unnecessary, IMO), but you
>> choice of word order feels backwards.
> 
> The grammar is awkward either way.
> 
> How about "bogus x2APIC record: "
> 
> ?
> 
> That is much clearer I think.
> 
> ~Andrew

LGTM.

Do you want me to send a v5 with it all?

Cheers,
Alejandro

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:29:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:29:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642092.1001223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bfm-0005sZ-2p; Mon, 27 Nov 2023 13:29:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642092.1001223; Mon, 27 Nov 2023 13: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 1r7bfl-0005sS-V8; Mon, 27 Nov 2023 13:29:13 +0000
Received: by outflank-mailman (input) for mailman id 642092;
 Mon, 27 Nov 2023 13: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=hhMp=HI=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r7bfk-0005sM-P9
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:29:12 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f2a8b127-8d28-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 14:29:10 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-332f90a375eso1096288f8f.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 05:29:10 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 y14-20020adff6ce000000b0033308db2576sm148139wrp.56.2023.11.27.05.29.09
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 05:29:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2a8b127-8d28-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701091750; x=1701696550; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0LNIHfEOwDBsf8wwbpILXgkaYyvbksHHNoO7waMEB0A=;
        b=CAVuf7gS5DyOcPUg9Clg23VZV+RFF5Ips6PeNw5ZCmP+2AXZDqDJO9ei0BPMercPK3
         wsFiNUFACmXQfCD5aiRG6iZbLerOdXforxiBmyEIlM97+wlg7Q90jhiMsc01VFtYe/Rt
         8sgE1LcsIBm09ZdEHwAsjLJjKjvwioItR66jY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701091750; x=1701696550;
        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:subject:date:message-id:reply-to;
        bh=0LNIHfEOwDBsf8wwbpILXgkaYyvbksHHNoO7waMEB0A=;
        b=ESNgC85f9eWKOn7Y4wk+Lj80Ndf/gkvEP6cIjhYdBZ6xW0SyBRZPCWtpq19BOPbsS2
         CAaU3aodBP1QAqYDJRJp9rsEC8ELocNwy3vwGjiwZnE39Y8ekq4sqcUA8I1QFA14KcbZ
         mPutEENrulw8WA7AMlLiSEInlPBdYiDCT5Thld3D33BzFtnPOlRxPFiGROEAy3N9gh7T
         +NPEISkNgdHH21VKlsdHdmChZB0X0wlo5QGgiP2sIuuAsxTZRTOP4ye3rjHPzhO2kKec
         bXRW6tuE/SLmish2lNP7SVuaUtuTO8dsuU3XcsZyjKgRWQiOOl5frXe33b4nLnORbITP
         l2EA==
X-Gm-Message-State: AOJu0Yxh/VeR5LCPykG+Y5Vs+aSqCdfGoTT6XTmvy83ElzfDfViIh1Ae
	IqubYe6d6XxV05DPnLo3+foYmw==
X-Google-Smtp-Source: AGHT+IEWugLVOsvwueuT3N0ZHByMItJT6RJk8Al5V6OyMNsZEaQmEVlIDhgm20mBPhD0NDNhoO7EwA==
X-Received: by 2002:adf:fc4f:0:b0:332:ec48:a132 with SMTP id e15-20020adffc4f000000b00332ec48a132mr6333744wrs.53.1701091750188;
        Mon, 27 Nov 2023 05:29:10 -0800 (PST)
Message-ID: <ba992154-0681-46fe-88a9-3a526fb0ca30@cloud.com>
Date: Mon, 27 Nov 2023 13:29:09 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Wei Liu <wl@xen.org>, Andrew Cooper <andrew.cooper3@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>
References: <20231123173057.1325-1-alejandro.vallejo@cloud.com>
 <2fedb7c1-5742-46d7-9882-d2ec336beece@suse.com>
 <71a22900-6167-490f-9d33-fe924bb96c5c@cloud.com>
 <699ef5f9-50c0-4c15-8874-833dda81e251@suse.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <699ef5f9-50c0-4c15-8874-833dda81e251@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 27/11/2023 12:24, Jan Beulich wrote:
> On 27.11.2023 13:17, Alejandro Vallejo wrote:
>> On 27/11/2023 08:40, Jan Beulich wrote:
>>> On 23.11.2023 18:30, Alejandro Vallejo wrote:
>>>> @@ -1498,27 +1511,36 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
>>>>    */
>>>>   static void lapic_load_fixup(struct vlapic *vlapic)
>>>>   {
>>>> -    uint32_t id = vlapic->loaded.id;
>>>> +    uint32_t good_ldr = x2apic_ldr_from_id(vlapic->loaded.id);
>>>>   
>>>> -    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
>>>> -    {
>>>> +    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
>>>> +    if ( !vlapic_x2apic_mode(vlapic) ||
>>>> +         (vlapic->loaded.ldr == good_ldr) )
>>>> +        return;
>>>> +
>>>> +    if ( vlapic->loaded.ldr == 1 )
>>>> +       /*
>>>> +        * Xen <= 4.4 may have a bug by which all the APICs configured in
>>>> +        * x2APIC mode got LDR = 1. We can't leave it as-is because it
>>>> +        * assigned the same LDR to every CPU.  We'll fix fix the bug now
>>>> +        * and assign an LDR value consistent with the APIC ID.
>>>> +        */
>>>
>>> Just one comment on top of Andrew's: Is the double "fix" really intended
>>> here? (I could see it might be, but then "fix the bug fix" would read
>>> slightly more smoothly to me as a non-native speaker.)
>>
>> It's not intended indeed. s/fix fix/fix/
>>
>>>
>>> Another aspect here is what exactly the comment states (and does not
>>> state). Original comments made explicit that LDR == 1 contradicts ID == 0.
>>> In the new comment you only emphasize that all CPUs cannot have that same
>>> LDR. But the value of 1 being bogus in the first place doesn't become clear
>>> anymore.
>>
>> 1 is bogus for id!=0, but so would be 3, 7 or 42.
> 
> Yet 3, 7, and 42 aren't interesting in the context of that older bug.
> 
>> In particular we have
>> ID==2 contradicting LDR=2, and we're allowing it. The reason why we must
>> fix this other case is because all LDRs are equal, otherwise it would
>> get the same treatment as the other bug.
> 
> I understand all that; still there's loss of information in the comments,
> from my perspective.
> 
> Jan

v2 did have a "Note that "x2apic_id == 0" has always been correct and
can't be used to discriminate these cases." and another in front of the
early exit "No need to perform fixups in non-x2apic mode, and x2apic_id
== 0 has always been correct.". They were trimmed as versions went on.

As mentioned before this is all cosmetic, so I'm happy either way. I'll
reinstate something to this effect in a v5.

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:34:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:34:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642094.1001233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bkz-00088h-KN; Mon, 27 Nov 2023 13:34:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642094.1001233; Mon, 27 Nov 2023 13: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 1r7bkz-00088a-HM; Mon, 27 Nov 2023 13:34:37 +0000
Received: by outflank-mailman (input) for mailman id 642094;
 Mon, 27 Nov 2023 13:34: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 1r7bky-00088Q-GC; Mon, 27 Nov 2023 13:34: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 1r7bky-0005Ni-23; Mon, 27 Nov 2023 13:34: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 1r7bkx-0008JA-OU; Mon, 27 Nov 2023 13:34:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7bkx-0007sF-O2; Mon, 27 Nov 2023 13:34: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=F6JhvZX0azjhn78atV1ttwjKGFpeB4K46h2nm4C+zoY=; b=NOadTQN/wYyYjepmmrMb56Qgt4
	ZUXnLkGgdmSn5srnzzaTLGXghwnOyDgfBdvRi3hi517z0MNuLJezl5o/a5Hc+mkJRJ68gW+VuFUFi
	GoiMYQ//vJ9acF1dFZxcjisG+t1hVLla6ExjetqwajXEMdDRO5UkIH47sVRaV8vTEO5M=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183867-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183867: trouble: blocked/broken
X-Osstest-Failures:
    ovmf:build-amd64:<job status>:broken:regression
    ovmf:build-amd64-pvops:<job status>:broken:regression
    ovmf:build-amd64-xsm:<job status>:broken:regression
    ovmf:build-i386:<job status>:broken:regression
    ovmf:build-i386-pvops:<job status>:broken:regression
    ovmf:build-i386-xsm:<job status>:broken:regression
    ovmf:build-i386:host-install(4):broken:regression
    ovmf:build-i386-xsm:host-install(4):broken:regression
    ovmf:build-i386-pvops:host-install(4):broken:regression
    ovmf:build-amd64-pvops:host-install(4):broken:regression
    ovmf:build-amd64:host-install(4):broken:regression
    ovmf:build-amd64-xsm:host-install(4):broken:regression
    ovmf:build-amd64-libvirt:build-check(1):blocked:nonblocking
    ovmf:build-i386-libvirt:build-check(1):blocked:nonblocking
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=33e31c289cc7b417f110d6da70dc8224443d32d3
X-Osstest-Versions-That:
    ovmf=8736b8fdca85e02933cdb0a13309de14c9799ece
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Nov 2023 13:34:35 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386                    4 host-install(4)        broken REGR. vs. 183825
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 183825
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 183825
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 183825
 build-amd64                   4 host-install(4)        broken REGR. vs. 183825
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 183825

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a

version targeted for testing:
 ovmf                 33e31c289cc7b417f110d6da70dc8224443d32d3
baseline version:
 ovmf                 8736b8fdca85e02933cdb0a13309de14c9799ece

Last test of basis   183825  2023-11-22 13:41:06 Z    4 days
Testing same since   183867  2023-11-27 05:41:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  xieyuanh <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386 host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-xsm host-install(4)

Not pushing.

------------------------------------------------------------
commit 33e31c289cc7b417f110d6da70dc8224443d32d3
Author: xieyuanh <yuanhao.xie@intel.com>
Date:   Mon Nov 20 12:09:14 2023 +0800

    UefiCpuPkg/MpInitLib: Update the comments of _CPU_MP_DATA.
    
    No functional changes in this patch.
    
    Updates the comments of _CPU_MP_DATA to delcared that duplications in
    CpuMpData are present to avoid to be direct accessed and comprehended
     in assembly code. CpuMpData: Intended for use in C code while
     ExchangeInfo are used in assembly code in this module.
    
    This patch deletes the unnecessary comments in CpuMpData, since
    CpuMpData is no longer responsible for passing information from PEI to
    DXE.
    
    Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com>
    Cc: Laszlo Ersek lersek@redhat.com
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>

commit cb3f41a9378822a0bcf0febf898af254b4994b8d
Author: Yuanhao Xie <yuanhao.xie@intel.com>
Date:   Fri Nov 10 16:03:02 2023 +0800

    UefiCpuPkg/MpInitLib: Enable execute disable bit.
    
    This patch synchronizes the No-Execute bit in the IA32_EFER
    register for the APs before the RestoreVolatileRegisters operation.
    
    The commit 964a4f0, titled "Eliminate the second INIT-SIPI-SIPI
    sequence," replaces the second INIT-SIPI-SIPI sequence with the BSP
    calling the SwitchApContext function to initiate a specialized start-up
    signal, waking up APs in the DXE instead of using INIT-SIPI-SIPI.
    
    Due to this change, the logic for "Enable execute disable bit" in
    MpFuncs.nasm is no longer executed. However, to ensure the proper setup
    of the page table, it is necessary to synchronize the IA32_EFER.NXE for
    APs before executing RestoreVolatileRegisters .
    
    Based on SDM:
    If IA32_EFER.NXE is set to 1, it signifies execute-disable, meaning
    instruction fetches are not allowed from the 4-KByte page controlled by
    this entry. Conversely, if it is set to 0, it is reserved.
    
    Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek lersek@redhat.com
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:46:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:46:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642100.1001243 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bwL-0003pU-Kp; Mon, 27 Nov 2023 13:46:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642100.1001243; Mon, 27 Nov 2023 13:46: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 1r7bwL-0003pN-II; Mon, 27 Nov 2023 13:46:21 +0000
Received: by outflank-mailman (input) for mailman id 642100;
 Mon, 27 Nov 2023 13:46: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=fJh/=HI=linaro.org=dan.carpenter@srs-se1.protection.inumbo.net>)
 id 1r7bwJ-0003nj-U9
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:46:19 +0000
Received: from mail-wr1-x42a.google.com (mail-wr1-x42a.google.com
 [2a00:1450:4864:20::42a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 56cf92cf-8d2b-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 14:46:17 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3316d3d11e1so2384584f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 05:46:17 -0800 (PST)
Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id
 v5-20020a5d6105000000b0032f7fab0712sm12018505wrt.52.2023.11.27.05.46.15
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 05:46:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 56cf92cf-8d2b-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1701092777; x=1701697577; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=YundCbgOqgxog8krRgkHDMLd3spWK5TLMe9KGeiCx18=;
        b=I50vKEjuTOGuHoDB9kO2x5K+/PWjNnaN5HD6Vxm1UIsUkvycIvNjexWeTPkMGS/bHl
         JxvJT8plOL5keMHEPiSujSwB7KADu62F6ejqcjmKcbMpv70nUCAMV8C7D6u0srHwiksZ
         72X/sFO592FvJTBRSdvOxNEorbQFlwC3RfxNcPGfWGZ/f6BSQFlwhlhF+3FpfqMAl/Xh
         pV4N9ZDHeaGbtfqneqLECqMErEhonBTaI0TvKlVvJW2Ol34j+sakC9goR92bOv3yv/BG
         pfJDAEzmgUsvmWtxAw9oM/7GesufqQpU80ZmQ66RT2FR7sSONlT0SD+jOKJ5pLomhcOl
         E1PA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701092777; x=1701697577;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=YundCbgOqgxog8krRgkHDMLd3spWK5TLMe9KGeiCx18=;
        b=Zl52ExJzlIDjA/HQzRybaMFA4mlJe441njkxczoObSKjDHo0noRIPY98Ic4CXefD9f
         aB/x/HHW8yUEcfZLjp+ZGHgk0R9cTIG2TVjjLxHeGPA/QTeHfo76iSt19RzCqGzwaJd3
         vw75nksz6VMi3c6MAf7IDm5KqopXPFfcJpDd/QO+C8zAnHmLTVYcbZXThJdG2rqFFqIj
         huJU53XQyqqi9J2FdDsGFasU6LBQ1/Ufebrpi3NkLYGYU4Q4X42OYEZWTZzFWWc/8qY5
         PU74b3hvQmkCrfkiamUHO42gyNBvdbiz4/+srRyXEyH08HQgTxkcSHgN4M4vQX0q1UhD
         MVjg==
X-Gm-Message-State: AOJu0Yyb2C7aIOZ1KRhbORpQMAnO580/8yhzPzRNKFNOgBuInubtWqJS
	V9VObgAXOFLAFgu95b78ZuyEXA==
X-Google-Smtp-Source: AGHT+IHvZXohMRpWp9ljekBnVunFfdsN+Aw6FeyybD7055qlsh79kgqr97OPSx0yef3zaO71BUfszw==
X-Received: by 2002:a5d:64e3:0:b0:333:47e:4cf4 with SMTP id g3-20020a5d64e3000000b00333047e4cf4mr1874886wri.15.1701092776947;
        Mon, 27 Nov 2023 05:46:16 -0800 (PST)
Date: Mon, 27 Nov 2023 16:46:12 +0300
From: Dan Carpenter <dan.carpenter@linaro.org>
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	Julien Grall <jgrall@amazon.com>, Rahul Singh <rahul.singh@arm.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	David Vrabel <david.vrabel@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
Subject: Re: [PATCH] xen/events: fix error codes in xen_bind_pirq_msi_to_irq()
Message-ID: <4e85c67c-7e3a-47e1-a493-4906cd79306b@suswa.mountain>
References: <60028de8-a137-423d-91d8-00b2942bd73d@moroto.mountain>
 <6f9c8b08-3865-479f-8f32-686f778203f6@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <6f9c8b08-3865-479f-8f32-686f778203f6@suse.com>

On Mon, Nov 27, 2023 at 02:17:05PM +0100, Juergen Gross wrote:
> On 27.11.23 13:57, Dan Carpenter wrote:
> > The error code needs to be set on these error paths.
> > 
> > Fixes: 5dd9ad32d775 ("xen/events: drop xen_allocate_irqs_dynamic()")
> > Fixes: d2ba3166f23b ("xen/events: move drivers/xen/events.c into drivers/xen/events/")
> 
> Please drop the last Fixes: tag. Said patch didn't introduce any new problem.

Yup.

> 
> > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> > ---
> > Are we going to backport these to stable?  Should I split this into two
> > patches?
> > 
> >   drivers/xen/events/events_base.c | 8 ++++++--
> >   1 file changed, 6 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
> > index f5edb9e27e3c..aae62603b461 100644
> > --- a/drivers/xen/events/events_base.c
> > +++ b/drivers/xen/events/events_base.c
> > @@ -1105,13 +1105,17 @@ int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc,
> >   	mutex_lock(&irq_mapping_update_lock);
> >   	irq = irq_alloc_descs(-1, 0, nvec, -1);
> > -	if (irq < 0)
> > +	if (irq < 0) {
> > +		ret = irq;
> >   		goto out;
> > +	}
> 
> Why? The return value for the out: label is in irq.
> 

This patch is full of embarrassment.  I misread this code.  I thought
the out label was in the error handling block.

> >   	for (i = 0; i < nvec; i++) {
> >   		info = xen_irq_init(irq + i);
> > -		if (!info)
> > +		if (!info) {
> > +			ret = -ENOMEM;
> >   			goto error_irq;
> > +		}
> 
> It would be easier to just preset ret with -ENOMEM when defining it.
> 

That only works if it fails on the first iteration.

I'll fix this up and resend.

regards,
dan carpenter







From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:46:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:46:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642101.1001253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bwO-00044h-Sl; Mon, 27 Nov 2023 13:46:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642101.1001253; Mon, 27 Nov 2023 13:46: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 1r7bwO-00044a-Pf; Mon, 27 Nov 2023 13:46:24 +0000
Received: by outflank-mailman (input) for mailman id 642101;
 Mon, 27 Nov 2023 13:46: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=hhMp=HI=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r7bwN-0003nj-3H
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:46:23 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 59ae7999-8d2b-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 14:46:22 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-332ed1bd4cbso1659506f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 05:46:22 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net
 (default-46-102-197-194.interdsl.co.uk. [46.102.197.194])
 by smtp.gmail.com with ESMTPSA id
 h17-20020a5d5491000000b0033307ffb19fsm936329wrv.37.2023.11.27.05.46.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 05:46:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 59ae7999-8d2b-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701092781; x=1701697581; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=XD03BzMzLPcaKsTkQCuR7IMRGOgU6EQa6qDB+DeGE5I=;
        b=BfQPX07ni8k4tDgUwhtOLIxz99jY5kooAK6+N0NPr2f6HCYSfSSMuBcqtOlLy9W2bF
         EGD5L07sGg+7CRVVgXONhc176TBEYh4m65RTrlk4cJp9owEErO16hW3Tx80CD7zqSPd6
         ATFzbIYL3EQYHjJA54zVW0rzufToOc/GyKDIc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701092781; x=1701697581;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=XD03BzMzLPcaKsTkQCuR7IMRGOgU6EQa6qDB+DeGE5I=;
        b=n/T0MTeN4pAE8WNozYF8R16qvHGInk/zUv9tb8I6tEfEB2/mta0+ksXFEuuPeiHlbC
         9iobK/N0QFfQoXc50+1oJDmBSFbDNLGAE0T33LzzKANLjhtWiheQ2FNCX5yfqTfDhYml
         uxG9BwhyF7+Lh6hfFdESHF3jqv9pfoUkKDwD6vyC+7Sh5jiznQIMphyyC74Ps9GJI6Lj
         KTj81wWzdQ3EIauJIunbCNic37tCMpVfcZXKHbtvoC1SbLgEewWGNOEFhgvmJaQq+oE4
         WrBEZcr2y9F2C1djjEoqd9jAiSvngprVLUNgeMPLy8XPvzdds8+o9qfxF9+308yrGPLn
         vRcg==
X-Gm-Message-State: AOJu0YyAbThphVVpSz2tNo7+m7NIRZde/QO8QRepMELZMWlBY6HPBQRk
	os2KkMmy8uBHX2ljtLf22YIKM/6UkjzORHn/Z54=
X-Google-Smtp-Source: AGHT+IFLA55O3bpyRUqEMoG+MiB7QguPCnD07GyHwGntdMDyG1MMInjxoG58Cj+2iEhL0lwTlk84Hw==
X-Received: by 2002:a5d:4607:0:b0:32f:7649:2648 with SMTP id t7-20020a5d4607000000b0032f76492648mr8283421wrq.46.1701092781295;
        Mon, 27 Nov 2023 05:46:21 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.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 v5] xen/x86: On x2APIC mode, derive LDR from APIC ID
Date: Mon, 27 Nov 2023 13:46:19 +0000
Message-Id: <20231127134619.2978-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
registers are derivable from each other through a fixed formula.

Xen uses that formula, but applies it to vCPU IDs (which are sequential)
rather than x2APIC IDs (which are not, at the moment). As I understand it,
this is an attempt to tightly pack vCPUs into clusters so each cluster has
16 vCPUs rather than 8, but this is a spec violation.

This patch fixes the implementation so we follow the x2APIC spec for new
VMs, while preserving the behaviour (buggy or fixed) for migrated-in VMs.

While touching that area, remove the existing printk statement in
vlapic_load_fixup() (as the checks it performed didn't make sense in x2APIC
mode and wouldn't affect the outcome) and put another printk as an else
branch so we get warnings trying to load nonsensical LDR values we don't
know about.

Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
v5:

[Andrew]
  * Missing full stop in commit message
  * Specifically mention spec violation in the commit message
  * Use struct vcpu* directly rather than through vlapic_vcpu()
  * Braces in conditionals of lapic_load_fixup()

[Jan]
  * Restored information about id!=0 + ldr==1 being inconsistent.
    in the context of older fixup
---
 xen/arch/x86/hvm/vlapic.c             | 64 +++++++++++++++++++--------
 xen/arch/x86/include/asm/hvm/domain.h |  3 ++
 2 files changed, 48 insertions(+), 19 deletions(-)

diff --git a/xen/arch/x86/hvm/vlapic.c b/xen/arch/x86/hvm/vlapic.c
index 5cb87f8649..2d705020c8 100644
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1061,13 +1061,26 @@ static const struct hvm_mmio_ops vlapic_mmio_ops = {
     .write = vlapic_mmio_write,
 };
 
+static uint32_t x2apic_ldr_from_id(uint32_t id)
+{
+    return ((id & ~0xf) << 12) | (1 << (id & 0xf));
+}
+
 static void set_x2apic_id(struct vlapic *vlapic)
 {
-    u32 id = vlapic_vcpu(vlapic)->vcpu_id;
-    u32 ldr = ((id & ~0xf) << 12) | (1 << (id & 0xf));
+    const struct vcpu *v = vlapic_vcpu(vlapic);
+    uint32_t apic_id = v->vcpu_id * 2;
+    uint32_t apic_ldr = x2apic_ldr_from_id(apic_id);
 
-    vlapic_set_reg(vlapic, APIC_ID, id * 2);
-    vlapic_set_reg(vlapic, APIC_LDR, ldr);
+    /*
+     * Workaround for migrated domains to derive LDRs as the source host
+     * would've.
+     */
+    if ( v->domain->arch.hvm.bug_x2apic_ldr_vcpu_id )
+        apic_ldr = x2apic_ldr_from_id(v->vcpu_id);
+
+    vlapic_set_reg(vlapic, APIC_ID, apic_id);
+    vlapic_set_reg(vlapic, APIC_LDR, apic_ldr);
 }
 
 int guest_wrmsr_apic_base(struct vcpu *v, uint64_t val)
@@ -1498,27 +1511,40 @@ static int cf_check lapic_save_regs(struct vcpu *v, hvm_domain_context_t *h)
  */
 static void lapic_load_fixup(struct vlapic *vlapic)
 {
-    uint32_t id = vlapic->loaded.id;
+    const struct vcpu *v = vlapic_vcpu(vlapic);
+    uint32_t good_ldr = x2apic_ldr_from_id(vlapic->loaded.id);
 
-    if ( vlapic_x2apic_mode(vlapic) && id && vlapic->loaded.ldr == 1 )
+    /* Skip fixups on xAPIC mode, or if the x2APIC LDR is already correct */
+    if ( !vlapic_x2apic_mode(vlapic) ||
+         (vlapic->loaded.ldr == good_ldr) )
+        return;
+
+    if ( vlapic->loaded.ldr == 1 )
     {
-        /*
-         * This is optional: ID != 0 contradicts LDR == 1. It's being added
-         * to aid in eventual debugging of issues arising from the fixup done
-         * here, but can be dropped as soon as it is found to conflict with
-         * other (future) changes.
-         */
-        if ( GET_xAPIC_ID(id) != vlapic_vcpu(vlapic)->vcpu_id * 2 ||
-             id != SET_xAPIC_ID(GET_xAPIC_ID(id)) )
-            printk(XENLOG_G_WARNING "%pv: bogus APIC ID %#x loaded\n",
-                   vlapic_vcpu(vlapic), id);
+       /*
+        * Xen <= 4.4 may have a bug by which all the APICs configured in
+        * x2APIC mode got LDR = 1, which is inconsistent on every vCPU
+        * except for the one with ID = 0. We'll fix fix the bug now and
+        * assign an LDR value consistent with the APIC ID.
+        */
         set_x2apic_id(vlapic);
     }
-    else /* Undo an eventual earlier fixup. */
+    else if ( vlapic->loaded.ldr == x2apic_ldr_from_id(v->vcpu_id) )
     {
-        vlapic_set_reg(vlapic, APIC_ID, id);
-        vlapic_set_reg(vlapic, APIC_LDR, vlapic->loaded.ldr);
+        /*
+         * Migrations from Xen 4.4 to date (4.19 dev window, Nov 2023) may
+         * have LDR drived from the vCPU ID, not the APIC ID. We must preserve
+         * LDRs so new vCPUs use consistent derivations and existing guests,
+         * which may have already read the LDR at the source host, aren't
+         * surprised when interrupts stop working the way they did at the
+         * other end.
+         */
+        v->domain->arch.hvm.bug_x2apic_ldr_vcpu_id = true;
     }
+    else
+        printk(XENLOG_G_WARNING
+               "%pv: bogus x2APIC record: ID %#x, LDR %#x, expected LDR %#x\n",
+               v, vlapic->loaded.id, vlapic->loaded.ldr, good_ldr);
 }
 
 static int cf_check lapic_load_hidden(struct domain *d, hvm_domain_context_t *h)
diff --git a/xen/arch/x86/include/asm/hvm/domain.h b/xen/arch/x86/include/asm/hvm/domain.h
index 6e53ce4449..dd9d837e84 100644
--- a/xen/arch/x86/include/asm/hvm/domain.h
+++ b/xen/arch/x86/include/asm/hvm/domain.h
@@ -106,6 +106,9 @@ struct hvm_domain {
 
     bool                   is_s3_suspended;
 
+    /* Compatibility setting for a bug in x2APIC LDR */
+    bool bug_x2apic_ldr_vcpu_id;
+
     /* hypervisor intercepted msix table */
     struct list_head       msixtbl_list;
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:49:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:49:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642105.1001263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7bzl-00069n-Ec; Mon, 27 Nov 2023 13:49:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642105.1001263; Mon, 27 Nov 2023 13:49: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 1r7bzl-00069g-Bj; Mon, 27 Nov 2023 13:49:53 +0000
Received: by outflank-mailman (input) for mailman id 642105;
 Mon, 27 Nov 2023 13:49: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=hhMp=HI=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r7bzj-000644-8Z
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:49:51 +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 d3f922c5-8d2b-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 14:49:47 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40b479b9c35so5060915e9.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 05:49:47 -0800 (PST)
Received: from [10.80.4.253] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u13-20020a05600c19cd00b0040b4110f548sm7165815wmq.23.2023.11.27.05.49.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 05:49:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3f922c5-8d2b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701092986; x=1701697786; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=HoBvhxJ0Av+vT3EEw/lW8cjGSpIv16L+xvyD2Mzxz3I=;
        b=ZyO9DFrsNrcIdvD2+Fc9B0PT2jqgTBoNKhTzWJrKBEsiNu4Zb9Mj4PRH4izCvHB/cB
         Da3xlWIurZ5KKFUwnE7N8BKc3oOVP+gxD9c0KU1Ey8yjI5Yw+8xyBHZ/hT9nQPOqBZdi
         P9pMELbsdRQdgnlVfqdWgQ8r6tI2/vUwhRoQE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701092986; x=1701697786;
        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:subject:date:message-id:reply-to;
        bh=HoBvhxJ0Av+vT3EEw/lW8cjGSpIv16L+xvyD2Mzxz3I=;
        b=euTTQDLWE1Vo0AQx1PabSEng2/HcEQoR93iaao4N53d/+VJRTGGYw0EcRQAjDlTTY9
         6zm5/wFm0MgZ+P4ciPnnO6TLCMC54IJUkMpyIVjQ9SgRJzmnYglmtm5xIc1tt0szqFKG
         TDP/oiq+zQV5BQkvtP6o37bKBgOrxVMfhkGWwc22JvPyTSVdzfMSsrFkyP8H6conbbxj
         OqY9e3s45T6ZigmAj/dEq+pZTr9aGQHTSK4F9oK+q4SZ8w/yng+Wh7m6kkYu0zQLqztQ
         fdVA40HWOVOQrwF+NY5IY16tzu4HUQPg+OW2FPKJnc1aTJ3JgGOw/XVMRlNkSZV8L8ij
         h2hg==
X-Gm-Message-State: AOJu0YxXb8o6pR56J5LBRO5qKTC0gg2qk2RbH+7mI3ako8QafDVXM7bw
	4z2HayVmguNGCTiEuNDJ2q2Z5vIXzsH8fiVuxWo=
X-Google-Smtp-Source: AGHT+IFuqGIwz6+wHvkfzOiKkbRFfxGApHIL9h3BY/xk1pvcBrSxZw7QdwvTBN2f+QxR3c4JisqZ8Q==
X-Received: by 2002:a05:600c:1381:b0:405:3455:e1a3 with SMTP id u1-20020a05600c138100b004053455e1a3mr7850571wmf.17.1701092986562;
        Mon, 27 Nov 2023 05:49:46 -0800 (PST)
Message-ID: <287760a9-c6fd-4723-8357-f0abf9202d46@cloud.com>
Date: Mon, 27 Nov 2023 13:49:45 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-US
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: 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>
References: <20231127134619.2978-1-alejandro.vallejo@cloud.com>
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
In-Reply-To: <20231127134619.2978-1-alejandro.vallejo@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/11/2023 13:46, Alejandro Vallejo wrote:
> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
> registers are derivable from each other through a fixed formula.
> 
> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
> rather than x2APIC IDs (which are not, at the moment). As I understand it,
> this is an attempt to tightly pack vCPUs into clusters so each cluster has
> 16 vCPUs rather than 8, but this is a spec violation.
> 
> This patch fixes the implementation so we follow the x2APIC spec for new
> VMs, while preserving the behaviour (buggy or fixed) for migrated-in VMs.
> 
> While touching that area, remove the existing printk statement in
> vlapic_load_fixup() (as the checks it performed didn't make sense in x2APIC
> mode and wouldn't affect the outcome) and put another printk as an else
> branch so we get warnings trying to load nonsensical LDR values we don't
> know about.
> 
> Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

While no R-by from Andrew was in the mailing list, it was in the xenbits
patch, of which this is a direct copy except for minor delta suggested
by Jan in lapic_load_fixup()

> https://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=commitdiff;h=953dcb0317d20959ffee14e404595cfbb66c607a#patch1

Cheers,
Alejandro


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:56:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:56:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642110.1001272 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7c5g-0008MF-3R; Mon, 27 Nov 2023 13:56:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642110.1001272; Mon, 27 Nov 2023 13: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 1r7c5g-0008M8-0Y; Mon, 27 Nov 2023 13:56:00 +0000
Received: by outflank-mailman (input) for mailman id 642110;
 Mon, 27 Nov 2023 13: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7c5f-0008M2-6J
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:55:59 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0618.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b0ac7c04-8d2c-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 14:55:58 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7607.eurprd04.prod.outlook.com (2603:10a6:20b:294::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 13:55:55 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 13: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: b0ac7c04-8d2c-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I7hfD7Abu8XXXpE8u5KUXUwBWwh9Qovo+D78ct98EwS3Nn+vglsbBYjmYb128NtJEF8Qs1lcbHZZi7h25BMVfhxIhLbKCIQIX3fMiWvy9jTFprc3Z2fh9a+LX9KpqOQ9yzIg3Syh4htDpqFdadZ5dla1HpDv1M/sBn3g9BHwzONKYC0Owvx0AnlitplGX3kKFjHNEwe0681OMQyMElMzKmaCuOAZOyvYn4mS0yqaaGwXedFarwQCycFnEDdiNCiPikQmQSHg7XxK6DWbwTrikR92GG/3YTQqhE7xjVWjzhx/vlJ9C32VYXaGlvuDKvpTLnbwELZgn9SCxZ4RWH+8VA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YfEfqweG28j+L9GdXNulpUMnE4Sak2c/WgbY0hjebtw=;
 b=hlk9D06xTaTimJU24jqraqIvzERaYS/hHRIcEWgsgvGwqoFr7q7v3/RMLpvwFxlGfaPePVslEVm0ozs/3LpDk6M9OdWvcOSNpiPl6b0jlVlOfxkyYJZnC6SGoE4Pz+fkWQ0bgkXc/wL0tmvvn7qkEBHEzCNCtFR5wZmLnFYTr1F7cZNolMYucz5KdG8GZU33SzPkawMas83S3OHvbdDI2/AGEWtBXDC55dCpR3Yv5T9HKEamFeVPNZ8YVxeBK+aBCgaFNjjRX+OeC+t0S2w4xmrYbknjrRaq8CdJE9OsnFC8XpELdV/YunKiqDgnto2j/qSl61Ek3rfSrLkR8g2q8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YfEfqweG28j+L9GdXNulpUMnE4Sak2c/WgbY0hjebtw=;
 b=d8J8ZKtme7CqHprQkaU081eRT6el+tendJVkHPXt+4Tqk9NOgMo5Nr9rlGYpGI5mZnVJJJQZj9P4p1qGWLy1X4ybmadpJ+h6TBwEzYeQZ5+flV/8PKt9eHgPr4N0h6ssEB8brjK1ouyA/jfp9QTX+Zbh64GSG3pxtP1OpqynDcMxbmloVy9q9TmBHMh5XuMoHlM+wWWtMNRyFNt2kSLD9HvcdVhtAsmjUioLySPTfDPgl46Bw5TbLkGXw0dTdlyxi2xhgMN0TVnCe+AOCCjJloWrNDv7HHY3agREyKe1YRBEuzasTuP0+HStjIA6w6yVULQvsgfHqPuczQ9Fe2/uGw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <580c6c48-9dd5-4296-8696-2b40beac2bc3@suse.com>
Date: Mon, 27 Nov 2023 14:55:52 +0100
User-Agent: Mozilla Thunderbird
Content-Language: en-US
To: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Christopher Clark <christopher.w.clark@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] Argo: drop meaningless mfn_valid() check
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0092.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7607:EE_
X-MS-Office365-Filtering-Correlation-Id: 61b2955a-e675-412c-d430-08dbef5092b7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	85EvFNELaPZ4f0ZrNErvApCb1N2MHU6ToaJW4POwDa2x7KzWMwwBoJ72mon9lRcSEYi7KEgn977ZNnabsH3pQEQQ1CLUPCzbUxktnDYa8UHoqLPFO8wH4BPe/oQKdjUreVHBYKxkHaoibt0KWLbUyNugKdiMS8hFlLpJnn7yPs45QlCfI9lSE2fvEWy8D+CXeCJwSIXNs7JFOIP7PBx5pUsAN2C1OG7eQDU4f8eBe2osaCfJze3ZTfyY27e6vEPwIvaUeCrq9mgfm/or4Rn//pqvRMn70sDv2iFCBExy8ClyXnxo7i9T/qQIozCgtQFsVGUEoUP5NpjSTe2Gooft1OPAGiKMQiG1WZKxRHKnFOhzM+29v/CcT6+7Z27kp8Xw3GZGWJ2i+0KOq0MaDRbKPNtaRfFzRNivDaMcJhx+0uHfLFcxBB/LU4Ryh4lf/Qq8r3HQputd1II+7PHvTkP5cavgPp7KDIer+EnKRTocqDsXdlLnGsJp6UsVaUtqEg4hWkpqo9GuyLus3yurhqKr6Y7KRId2F/wBM0vCJ5nbxelKaBUdUKAAjubysOyFwsXy5+N9FHQB5D2nCVcARGPdjGArtNMjqaSkDomDCHLs4+SX8sC1M5FsrfTljaSs5jT2Dzvf3WY5wu7OaA1PMIcPPg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(396003)(366004)(39860400002)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(31686004)(26005)(6486002)(2616005)(6506007)(478600001)(6512007)(38100700002)(36756003)(86362001)(31696002)(41300700001)(5660300002)(2906002)(66946007)(66476007)(66556008)(4326008)(316002)(6916009)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WlBQZSswMHlWU043MSs3VUkxbGRJTEFmSmpCbDk3azBaNXNvaFZCaEh5SExV?=
 =?utf-8?B?YTJnUk5qL1hXMWxiVHhRVWdkYmJCRm9LS3Vsb2RVUnE2NE1MMkpaTUppZTd4?=
 =?utf-8?B?RU9BRnIyWDlBVkp4bDdEOXBLTlVhRVRtUjZlZFJ2Qngxekh3S3VTaFZ5OVlB?=
 =?utf-8?B?L2FCTXhEaHBxMG1DYUEzVWR3YytkVFZaOHRUMkUwTWpybU5ycFRGak5GdU16?=
 =?utf-8?B?TWd3Nlh2YlZMaHdkcGtNdExhNEJmOEpJajVTRzFyTk9pRkhPc0Q5cXE0cXFk?=
 =?utf-8?B?WWJJTUg5T2c4U2ZKQWFXNmQvL09aUUIwanZhQzM3UDV3VGs3cWFUMll3a0pS?=
 =?utf-8?B?WHdEREk2SGtkcmdOWG9uVGpPUVVSVysvQlUvYWFhKzZMK0g1NFJ5UXVqM3hv?=
 =?utf-8?B?R1d0U1RwcUQzRmNieHNpOFVjTldFS1dKVUtTTDcrYXk3RjR4ZFNzOUR2eW1a?=
 =?utf-8?B?UjcvOVB2VzA4aFBicjMybm4vUjlHb1hnV3doTkRQdytoN1JmdDhRcUpiRDA2?=
 =?utf-8?B?WjNvQUh3ZE04ckJzS0MwbTdBTTdnckk4TEUvZkMxTkxQVE1DWWN4VTR2Ri9F?=
 =?utf-8?B?Y29IZXo3aVIwa2JCRlZZNmZrbHRqR3o1QnFxSndhd2RiOWJ4RXVIaGRVd2tZ?=
 =?utf-8?B?L0hMRkREK2FNbTFXYUVYQ1NYck9STVpjSTZQL0U2YkVoaXFWaHIra0tIaU1a?=
 =?utf-8?B?WnNFQ3NFNDU1Mjk2VU1WSkc5ZlJ2QXFwZ20zTmx5MksrWmZlcm82ckVaVzdG?=
 =?utf-8?B?dmRNQVBDazBBZjU2cVgyd2xiVXF0Vkc0WVRnZjRGamtscDdWb3p2TlFwcXA1?=
 =?utf-8?B?eFoybjZxcTNZbTJjWjV3TStOMjdJcmhyakFUV2xjdjlYdW5iT05YT3poNGFZ?=
 =?utf-8?B?Z1lKa2E5M1Zuald5OTZ5bjV2WXNmRDhDRWFNc0VZNG1EdlBOZjhTYjlMc1lQ?=
 =?utf-8?B?SXlBSHVCdzE4VTRKYkVXWjVPNXE0azhLcVZCOC9xek1lUDNRTzRlRnpVcFVr?=
 =?utf-8?B?Z2dwT1NrMUt1K2x0bTlzWVkydFZ2Y0Q5THllU3hWNW83bEVBZFRqb0Q3QlFH?=
 =?utf-8?B?N1lwOWlORThjNk10REV5ZWx2UWtMVGRMcW5LZ0pmVExtdXYrWWVMUUtsZkJC?=
 =?utf-8?B?bGM0dmg1WisrVVhudlNhV0lmdS9vYTE5anRibUhTVG94LzZWb2NYYXlrNWFO?=
 =?utf-8?B?R3QvejlrUmwzY1J4azlvaUM5OSt2NXV5dENvN2ViNHlBOTlVc1MzRWZydzV1?=
 =?utf-8?B?cVVHbkI0QU9TN0l1UzBEcEloR1VMbzJ0VE0zZTczZmlBODdVOUxDeDNNZTYw?=
 =?utf-8?B?MjFKZFYxTnJQN1lHWmI5Sk9BQnMwWTQ2T2N6VlpsUzk0SG5aTVVHOG1rb1hy?=
 =?utf-8?B?b2JkL3FtUjZ1OXZaYmRieittWW9ReEp1S2RjRnBycUJDd3pNWmd2VkpBRHRQ?=
 =?utf-8?B?WFN1YjFBMXJJQTk0M3hrUlJiSFAyekJTQ1FXb0xrNDYrbmttZWF4SVRwTlEw?=
 =?utf-8?B?cFV3VWd4UFFIaVhZRW8yTU1HSUZFL1RVMVZSY0pRS0VjSDRKSzBCdklJdHJy?=
 =?utf-8?B?WWkzWlFqUm1DRThxUkFrNENhakh3Rmk3MkM1aU5xZmpua1YxMFZVZ2cxQ1I1?=
 =?utf-8?B?S05jeVNCalhtaFFuc3UwdzNRVStJc3Y4ekRtQ28vcXJGbUYzOEdrTDNwZDU3?=
 =?utf-8?B?a2RGTEFKUEFCUys5c1pRWnd2YkdZZGV0Z3l6UlpoekZoUCs4OVhzTVhOUmRK?=
 =?utf-8?B?UDBJT1BKQXFaaG1kQkZSZERzSWtHVXJtWlpzZmVYU2pWS3Z6UnVpMTNnYmc3?=
 =?utf-8?B?RCt6dFY4eGJyV3dNWTJMWkpqR1p6a1VjNG54V09jNVZmMUhMOE9NZ0s3RS9D?=
 =?utf-8?B?MVE1VmhWSUN3bFNFODlnRnNmM1ByeWJ3S3dGTnpDYTlIckdIaW5Od2FkSHcz?=
 =?utf-8?B?TStzQ0lFcS93VHRoYXMzZ0ZudHVWT2R3dG1TSjEyUG1tWGtlMW1CR3R1amtO?=
 =?utf-8?B?cjBaa1JxNUlybHQzc3FaRjBxTWZJZzFNOHF5dHJqZWFqS29KdFlsYkFBbGQr?=
 =?utf-8?B?b1JTcXU5R3hEL0h6RjZURXo2QzZHa0RJakRySjNQdTEvek9oVjJlWEUxYmlT?=
 =?utf-8?Q?riRl3wv7Z5K4ou1AP/wbjen/5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 61b2955a-e675-412c-d430-08dbef5092b7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 13:55:54.2502
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ghQT54ELrv+MHjy2j7Y3bXllnWLNzJTgzrWyXJalo7cutyL9Wg3SPQQ1wV5Vlqm6TZHeGird5UdODMPxr0Z4rg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7607

Holding a valid struct page_info * in hands already means the referenced
MFN is valid; there's no need to check that again. Convert the checking
logic to a switch(), to help keeping the extra (and questionable) x86-
only check in somewhat tidy shape.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Initially I had this (with less code churn) as

#ifdef CONFIG_X86
    if ( p2mt == p2m_ram_logdirty )
        ret = -EAGAIN;
    else
#endif
    if ( (p2mt != p2m_ram_rw) ||
         !get_page_type(page, PGT_writable_page) )
        ret = -EINVAL;

But the "else" placement seemed too ugly to me. Otoh there better
wouldn't be any special casing of log-dirty here (and instead such a
page be converted, perhaps right in check_get_page_from_gfn() when
readonly=false), at which point the odd "else" would go away, and the
if() likely again be preferable over the switch().

--- a/xen/common/argo.c
+++ b/xen/common/argo.c
@@ -1421,15 +1421,24 @@ find_ring_mfn(struct domain *d, gfn_t gf
         return ret;
 
     *mfn = page_to_mfn(page);
-    if ( !mfn_valid(*mfn) )
-        ret = -EINVAL;
+
+    switch ( p2mt )
+    {
+    case p2m_ram_rw:
+        if ( !get_page_and_type(page, d, PGT_writable_page) )
+            ret = -EINVAL;
+        break;
+
 #ifdef CONFIG_X86
-    else if ( p2mt == p2m_ram_logdirty )
+    case p2m_ram_logdirty:
         ret = -EAGAIN;
+        break;
 #endif
-    else if ( (p2mt != p2m_ram_rw) ||
-              !get_page_and_type(page, d, PGT_writable_page) )
+
+    default:
         ret = -EINVAL;
+        break;
+    }
 
     put_page(page);
 


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 13:58:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 13:58:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642112.1001283 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7c8U-0001Xk-IQ; Mon, 27 Nov 2023 13:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642112.1001283; Mon, 27 Nov 2023 13:58: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 1r7c8U-0001Xd-EC; Mon, 27 Nov 2023 13:58:54 +0000
Received: by outflank-mailman (input) for mailman id 642112;
 Mon, 27 Nov 2023 13:58: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7c8T-0001WD-Nz
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 13:58:53 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20604.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 18f0baba-8d2d-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 14:58:52 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by GV1PR04MB9200.eurprd04.prod.outlook.com (2603:10a6:150:2b::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 13:58:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 13: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: 18f0baba-8d2d-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PDOdElmkcFzQr8CE+iQrE7Yg6hF4xaykveFhHHqlwmErWo1/JZZ1jat18CFxLYm3mPmqcuPtiRlGrrsYN90YHt9F5NGupInGp0EPMGSRaKVQtxm8g3NJWCoEI4g82+BaK3Lum4yK94xP+9KRAmwocaoZWgMf4AUzYyJ0CxDPn6/ZnbUkVkS9ZismReKzKstH3dpbox51Ktt6FIBFdQIlLLcMiNOhQ3Fbbr6jFzGS7RC8XiyG0BCDkcacKKz4H0mgR6/KcXcRN8dxmxYytx2BcTMiMZaCiQrXidwD3M9ZqBP/vdpVZNjmSjI04/z5HCIfWiu6Exk5fnjrELO5pKXayQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bYEYYMZaiMMMVwcsqGHs/3WtVAXSuEy3GLJdcSPQMys=;
 b=abKBBQN2JSQu1lufhPkfeByB3HshP4invrpfG3dc7HimnubEFsOOrI0iYeLcRMXzdT4M6PiBoIEumGI9qhlvFy1DLgKdmp6FBgG4Fg2/Cn/UaV9FydI00zeV3TfMu2gOFeG3/L6GAGFUYzGRh2mGoRhDcBLDFP2fGmYZZkE1eR8jBJrIeT1RhZdPvYj4cP3BdfsKfnmFwlsDmGGuJGEo7YO7XeTZ7GwsJnqnoaZSj3u3w4i3ozR+Oj/A3FFRoJk9JyYmIEDwOxEWvKPz1zi5v4AaQH67/sSRIDYhQnbF8B6djY4X8fodCEFRs80yq3YuQbyxyKv1MvtMxbVwFVHi2Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bYEYYMZaiMMMVwcsqGHs/3WtVAXSuEy3GLJdcSPQMys=;
 b=JS1K1My07vraOMVCSISFTA3UHxHCcoeM8VcRrIotNY8a5pO7clTa00fI8NemNPEwnjm+y/zXH3g6cpFIM5NrCCDDPBWWXbHoSz72WCT/m4AB6NETbVFaNQgveN/ZfTrWJ7N2Pfp492mbEfFxYY/9hEd0/yE+4bw117Dd0YFuEU/6LMmbliikuiqV1XvXrfNB9rWVmBTSrxptdNKPeHEdykEsg07BAq0jS3oFz8rsh0iWy+5TZ3MojX+JxNQsthxoyWqiooysPbRDlZcc1lrdWKi5q9jn+xQzHTM39rgJ3qbUpiawsvcD7gl9auwCuEFJzv6vtoNmQemwjZVKAqQuBw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a0995dd2-22f4-45a1-b5a0-8eb7e5bcd23a@suse.com>
Date: Mon, 27 Nov 2023 14:58:48 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v5] xen/x86: On x2APIC mode, derive LDR from APIC ID
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>
References: <20231127134619.2978-1-alejandro.vallejo@cloud.com>
 <287760a9-c6fd-4723-8357-f0abf9202d46@cloud.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <287760a9-c6fd-4723-8357-f0abf9202d46@cloud.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|GV1PR04MB9200:EE_
X-MS-Office365-Filtering-Correlation-Id: da7beaa1-73b6-44b2-4a34-08dbef50fbe7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	tziGy5jKCFoA/xDFULCejSbt9eTS4mgpLL9aOPL0nw4fkTqDxVHg4rOX2k0qD1VGU9z9EUe9s4Ly378ZwPrpWV1XtWlfTnujpsA/32X9KlSNhQnMwhDbqcZtDUQOQdDQ5wbSUvH+Aua+tPP8fFUifdoCq3wbOb6TFMc1vOSj8MWfV2lknAC/cn6aatJcL3fZYZfL64MUTBtdrU3v+a0VSQLToo7lwVsfFZ9i95YDPHdbbHCK8dMBnCdd1yznAab8hPkwBZbZKeNJozdcX7kB2NxMoUAsFf4BPgzs2eAZvlvAAeFuGNL65E//+nXODJKEYbskG0h8qK8uS503K+hDb5Na8qqw4T3sxrTD6sCMpirbMgxDSjsTr//NOxTGAfN2MvO8D6zJIsC3s/y3267SZcLA6//tErlosYTllRIQMEeYENA+AzyN83S/CkTDHNihMY0gJhYW8/FSrdZ+asN6d0PkOO21fDlxxxilIiSsZdV8eM0vmir2yypSHGojggZXGx93nDzt9i8Ubj5Yvf41O4fIsKq9zpEHQyJug9WV4lKUhIKt3cLvkU/K54SozecoIcDDCJA7b1iNLZDtyCsifLzpOekM/gOPfr+8ORcbJ2RCfDyXxhysQ6tr+d7J+TE/Xcfb7QCmDkbKL/yQpXuVx1mShkY/P59Aaj3IlciHPmGHkTuQ1xlc0Sl/jWTKjmdN
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(396003)(39860400002)(346002)(136003)(230273577357003)(230922051799003)(230173577357003)(186009)(451199024)(1800799012)(64100799003)(4326008)(5660300002)(41300700001)(31686004)(26005)(8936002)(8676002)(2906002)(478600001)(6506007)(6512007)(53546011)(2616005)(38100700002)(83380400001)(316002)(54906003)(66946007)(6916009)(66476007)(6486002)(66556008)(36756003)(86362001)(31696002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cC9PdTU1aW5WYTdENHh6dHJ3WHFnSWdNaU9PT3lNSTBUTUV1aHFiWmdrM3Qx?=
 =?utf-8?B?Q3lRMnRhRjZ0b3hUdDU5RHh1Vjdic2J3UFdxeXN1MCtaZ01CR0lLVGY0VFNC?=
 =?utf-8?B?T2JwdDZ0bnJRajlhTldja2xkeWdJRUlwMXdIVGh3d1lmcUY3SWNZektSdENt?=
 =?utf-8?B?NFpzVkFIMzRJSVdiWWlpZEFlMmQ3V3U5OHpVeW9HdkErNzBqUThxREljNDg5?=
 =?utf-8?B?QldhSDZMek43dXRPMVdTTzk1OFJDd1BWb0dMRGI4WjdnTDZuOWJYV0N4VlpU?=
 =?utf-8?B?QXdWbisxQ3RHUVpWTHJPVWhCWlNBTHY1Y05ubktmSzBuZU13SnN3Znl0dkF3?=
 =?utf-8?B?Y0lpRmhvcE5Ja1pmSHJtR093bTFnaUdIVTdXWE1xejBTYXRwb2NtUFk4cmww?=
 =?utf-8?B?dFFuMHE1MmNRY3VIdTFuR0xZQ0ppTGRSSTQxU05QdlZpYUFUNEkvUEdwVWlB?=
 =?utf-8?B?Zll5YnRvZHhBWWx5SmozNmdFbUFWdm9JZEQ0a2tzYVFVYmVSRnNKbGZibjBW?=
 =?utf-8?B?WVhwS2tNVTkxUi9mNGc0cVVNeVpPbFRWUkE0VkpkNCtqbFkyUGlTSmQ2YTZ4?=
 =?utf-8?B?R29idGJuSlNrWGx3RUhXRWw3QWpQRGxPd3JYMllKamFUaWQ0Sit3SUlzMmRE?=
 =?utf-8?B?WUdnWTBHNE0ycUhhWVNITlVkNGN5SzFsLzhpcjJScjhFTHVMM051TC9rajJD?=
 =?utf-8?B?ZXk2VHlmdVg3bU5HQk8zb1U5ZXZUZFJQRlg2aUp3WVpCU2F2QmE3UmRoY0pM?=
 =?utf-8?B?eUdvY3hvdHloRm5SM1hOVW1nMENEUGx5MmpYQzdDL3BOTDRpQktzU2ZFemI3?=
 =?utf-8?B?WWRaeG5IU3dxOG5mZFJYd3FSenAvRWFacWRQN2YxWnBxRFZMdzFuRVI2aXNq?=
 =?utf-8?B?UTBzSjVQdXR1N1Y3QWp1QTQwa2pleTlwaEFCbzIvcUhZU2lFNWhLZ3lzd1FQ?=
 =?utf-8?B?V1FhVWRzVGlnSjEvaG9SOVNIRlVEaGZxV3I4ZDhnYjRhUXRZR0NWOXVUd04x?=
 =?utf-8?B?Q1ZGOHFTL1ZQb0UzbTBuZCtyMWd4V1JzVnRlenM5SFlIOHRHbk5OVzR3Uzht?=
 =?utf-8?B?T29GVXRtNllua1VKWjJ6ekYvMWpCN1pZd0tCWjFDVkovZGVseXFlelFRMmJE?=
 =?utf-8?B?Q21Mck5xUnZrTUZMalFQZ0x5eDN5NHpkTW9FNENYRUtRVHZaM3RwZFJVaExw?=
 =?utf-8?B?Y2VvOHFjVDVReGhJbmxUUVlTK25lTEJFNG1pWVE0a1V0emRXOHlWUEJ1MmxH?=
 =?utf-8?B?TmpqNkU5QlB6cXhGWStxVlhxWmg4OEd3WU1wd2ZWbkcwbmFTa0dzaDZqQUIw?=
 =?utf-8?B?QUNnS0ZDQ2hsVTJJTVU0NlRCcFlYM2pvS2wxanJ5VmtVaEx0V2xwblh1T0h3?=
 =?utf-8?B?d25pSWlVZkYyVzdiazl6Rk9EUVh0bGlVbzNpZjEzdGp5WCtyUXJhSGxlWGph?=
 =?utf-8?B?VkQ2ek5TdHJuQ2dyY2hkMHNUYzRGakE0QlV5WDM4Sy9qMlE5S3NjSEJWL2RS?=
 =?utf-8?B?UW5MdTZmb1FSUUpISFNLRkdIYlNaNnlWQUdiWFpnSWJVdnZzdzVEWWZkRUdY?=
 =?utf-8?B?SmREL1lZUGpSQ2Y0ZDBzY3ZQWmRGak9lclpjWGI0aGsxT2NwL29LRThVNWls?=
 =?utf-8?B?VWxkbmpWOFZPNmEzVGFBYWowUUZzRWgrL2hxdWFQZ2FYWGIwSjNuNnRDVWdF?=
 =?utf-8?B?SXNJaXdpUDJ2anJ4VjFJTmtmb3VRT2cyeHllT3V1UVhHOUE5RWNyUE9KYSsz?=
 =?utf-8?B?aGQ5Mzk5WkphWGhkc3F5NFZwRGNDTlppWnM4M052cHdCUUxteE9zQkR1L0s5?=
 =?utf-8?B?RkkwVTlseXdzcVBjNmRuSlZqYzMrR1VXN0ZtaGEveWZnbVk2OHFvMHU0bDA5?=
 =?utf-8?B?QXlmZXROMlFEVEVHT3pPZTA2TVhCMVIyUjBSSnZ6Z1BmaGVSMEZqWGhyaHM4?=
 =?utf-8?B?SG1TUFhrMjc2eklqTXp0dWZLajZDSTZER1FiRS9aYVZHZVdtM3VRek9YaElX?=
 =?utf-8?B?OTdNRzh5eGo1Tm5TVCs5emNxRjdNcDdQTkFyc2hvQmJkUi9leTA0aHlJejhP?=
 =?utf-8?B?aTVoWjAvbWpUTHQwb0Q0TzFqdS81ajM5ZUR4SmZmbU9iNTVzQkcra0lmdkFK?=
 =?utf-8?Q?R3+TCREZzKNoGUNMKNVk5MdW9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: da7beaa1-73b6-44b2-4a34-08dbef50fbe7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 13:58:50.6718
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Or4/KfCUuX5PRrGIDGmIVbQROPJQbXaO2hoLOsI5JWpJM1ghXMb8BfaeRNg53/7nCm0i+SIKi+TRM4ANsk7aog==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR04MB9200

On 27.11.2023 14:49, Alejandro Vallejo wrote:
> On 27/11/2023 13:46, Alejandro Vallejo wrote:
>> Both Intel and AMD manuals agree that on x2APIC mode, the APIC LDR and ID
>> registers are derivable from each other through a fixed formula.
>>
>> Xen uses that formula, but applies it to vCPU IDs (which are sequential)
>> rather than x2APIC IDs (which are not, at the moment). As I understand it,
>> this is an attempt to tightly pack vCPUs into clusters so each cluster has
>> 16 vCPUs rather than 8, but this is a spec violation.
>>
>> This patch fixes the implementation so we follow the x2APIC spec for new
>> VMs, while preserving the behaviour (buggy or fixed) for migrated-in VMs.
>>
>> While touching that area, remove the existing printk statement in
>> vlapic_load_fixup() (as the checks it performed didn't make sense in x2APIC
>> mode and wouldn't affect the outcome) and put another printk as an else
>> branch so we get warnings trying to load nonsensical LDR values we don't
>> know about.
>>
>> Fixes: f9e0cccf7b35 ("x86/HVM: fix ID handling of x2APIC emulation")
>> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
>> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
>> Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
> 
> While no R-by from Andrew was in the mailing list, it was in the xenbits
> patch, of which this is a direct copy except for minor delta suggested
> by Jan in lapic_load_fixup()

Sadly the doubly "fix" is still there in that comment.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642121.1001333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMl-0006YN-SH; Mon, 27 Nov 2023 14:13:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642121.1001333; Mon, 27 Nov 2023 14:13: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 1r7cMl-0006YD-PX; Mon, 27 Nov 2023 14:13:39 +0000
Received: by outflank-mailman (input) for mailman id 642121;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMk-0005in-CT
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:38 +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 27d2a50a-8d2f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:13:36 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-507a98517f3so5768285e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:36 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:34 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27d2a50a-8d2f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094416; x=1701699216; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=LTGEtmZyvJYSvDBCU/Joet0728F83MeKuS2cE8UNmxw=;
        b=UJ+uN8vD88p81E8jSqmhNPkEeuArZG9A9wu55lFNpEC/FDw82h6tnxVrRNsOeMYfTO
         eck3KMyZi9bMvSI5QVCOJxolL2eXwxQY6R44ik1cuFyLHmu74NMBoiDLoU0CycszP03V
         kQYyR8OW8+6H7gnqCdRp43mR+MIIX4EauYXQ5p1GNVtXMqMVqFrnNG+vdWkkGQEGiKDW
         qxVwDknKC48AubDvUf78XbHeLsishQtD5uh3BP8yzVXTzjUbnYVFF3CNpRGuwKm6twMg
         4MADulmooYPmqo2NCObQP26Y7/q4JwCSLHVcPNW3gSn+jOhaQpQjumclAQ3OX1AwInsx
         XVEA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094416; x=1701699216;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=LTGEtmZyvJYSvDBCU/Joet0728F83MeKuS2cE8UNmxw=;
        b=k8U7w0tHwKjGFthK+A8uOaMxftcrGUxmG3frZEwHT/61GwIa62GeTFuOOhnB4k9rnh
         J7GrxApAElwo8DUby9/WDRfhZZrQHeql7BCer18HUTLMLZ/1BeLWcQnWyWPOhOl29T2q
         rYCuOaF/pCyPBNq8o9C8c6iGx/1cdVX/FBIjJAbSu72Umi198tu6al7ooiW9wBbpwU/t
         ncv8/ZgPP/kjOMmfBcRZTzAQP/6ITJDXC3ka84Tjg/k9byy4jFl4brTQDTluT9hNXgGr
         OUADBdDv0L/t/HJbhGRY/SvP/H3sey+s6pof7JezemBSlyf2H8TBqrXYI/IM9khXrtc8
         LzuQ==
X-Gm-Message-State: AOJu0YwnGWSEgxHadaKqEn6fKwAcMjuJ+k53vfq6RdBcY8AJxpSI1vA1
	aWO2btpbyaphvt5YOCqaUKo57m0ABE6vwQ==
X-Google-Smtp-Source: AGHT+IGSEcW61mTUe4cUfkt2cJXqcXPCENoYhknpst/CAwEbU39mNrs0P0CCsyJ1SDaFNznvLWyAiw==
X-Received: by 2002:a05:6512:ea0:b0:503:1b83:e352 with SMTP id bi32-20020a0565120ea000b005031b83e352mr9955172lfb.52.1701094415582;
        Mon, 27 Nov 2023 06:13:35 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 04/14] xen/asm-generic: introduce generic header iocap.h
Date: Mon, 27 Nov 2023 16:13:17 +0200
Message-ID: <855ac4ea4061fac36f24dc8b9125349c2074e1dc.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

iocap.h is common for Arm, PPC and RISC-V architectures thereby
it was moved to asm-generic.

Also Arm and PPC were switched to asm-generic version of iocap.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in V4:
	- Added Reviewed-by: Jan Beulich <jbeulich@suse.com>
	- Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in V3:
  - Drop Arm and PPC's iocap.h and switch to asm-generic's version.
  - Update the commit message.
---
Changes in V2:
 - update the commit message
---
 xen/arch/arm/include/asm/Makefile                         | 1 +
 xen/arch/ppc/include/asm/Makefile                         | 1 +
 xen/arch/ppc/include/asm/iocap.h                          | 8 --------
 xen/{arch/arm/include/asm => include/asm-generic}/iocap.h | 7 ++++---
 4 files changed, 6 insertions(+), 11 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/iocap.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/iocap.h (60%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index df4c1ebb08..2d036045e8 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += device.h
+generic-y += iocap.h
 generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index d5e369128c..209c3e74d8 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += device.h
 generic-y += hypercall.h
+generic-y += iocap.h
 generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/iocap.h b/xen/arch/ppc/include/asm/iocap.h
deleted file mode 100644
index 76bf13a70f..0000000000
--- a/xen/arch/ppc/include/asm/iocap.h
+++ /dev/null
@@ -1,8 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_IOCAP_H__
-#define __ASM_PPC_IOCAP_H__
-
-#define cache_flush_permitted(d)                        \
-    (!rangeset_is_empty((d)->iomem_caps))
-
-#endif /* __ASM_PPC_IOCAP_H__ */
diff --git a/xen/arch/arm/include/asm/iocap.h b/xen/include/asm-generic/iocap.h
similarity index 60%
rename from xen/arch/arm/include/asm/iocap.h
rename to xen/include/asm-generic/iocap.h
index 276fefbc59..dd7cb45488 100644
--- a/xen/arch/arm/include/asm/iocap.h
+++ b/xen/include/asm-generic/iocap.h
@@ -1,10 +1,11 @@
-#ifndef __X86_IOCAP_H__
-#define __X86_IOCAP_H__
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_IOCAP_H__
+#define __ASM_GENERIC_IOCAP_H__
 
 #define cache_flush_permitted(d)                        \
     (!rangeset_is_empty((d)->iomem_caps))
 
-#endif
+#endif /* __ASM_GENERIC_IOCAP_H__ */
 
 /*
  * Local variables:
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642117.1001293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMg-0005XR-Pn; Mon, 27 Nov 2023 14:13:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642117.1001293; Mon, 27 Nov 2023 14:13: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 1r7cMg-0005XK-Ld; Mon, 27 Nov 2023 14:13:34 +0000
Received: by outflank-mailman (input) for mailman id 642117;
 Mon, 27 Nov 2023 14: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMf-0005XE-1D
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:33 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25041995-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:31 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-5094cb3a036so5767495e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:31 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25041995-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094411; x=1701699211; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=XAsoAAzEY3uwUk91ZdsbSK4UNtVB/IpfbbALLJMh+3w=;
        b=mBwlmc1DsUj6AAqcoZ06fqpZ8IYrnBIV5zBYY4YSQBOXLRfufbncEaKeYeL8EBmuGV
         MIsocwnlY672DMiT1PPGG6xnRPaNwEiCaM6zOsocv9AmwlxLeMHdLAF4i0Zn08ba1jRg
         QPvLxhZt8/opXHqxNEGb6aFVjPSuXEW6Py+d9dbLRTK81Jr9Pu7Aha1547fDgOLZ+jVW
         IS7384s4AkSetxun9XFKOzB73LkJRFdD05EXNs7wp1xv5E2p8mpo3TMRz7UepHofpo+o
         bNhAkjW/SOyEp2KoWer7zfbKm0Wbwdzzd3PMAGoNM6f9Y+w6MmnLJLelcLWYltQb3ul8
         jDGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094411; x=1701699211;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=XAsoAAzEY3uwUk91ZdsbSK4UNtVB/IpfbbALLJMh+3w=;
        b=rnAumTPFDOd/O+iq9cYpwMWDe2st4qfjqcKeaGTbeQ2VFzLaxy5FuZpQxS5FGexj3R
         jwlCED1VFw0/mtjqVfHRKxmqj2fBQ/J7lStAyHSXbewTY2EnYkwc49FnE/ODU3Tgj+bZ
         Oeu5AoKaWxIHS2hvnhLxyppo2g63jSuaCDwyfk+yUFDvnn0d+rxq8vn6kP2UTIzetGip
         J4HbDeziE6idCJutucqeonak1NOAKet3kaMH1+TpP1wr/qWuq/6USQZ60R9EGH+jui0i
         w4jODLqb1iEKyD4EFzBxi/4RB7m5mXq+fjmn3vqvOAz+TOSEFAtGyWPu6Ty68yuQqnlI
         Qo0A==
X-Gm-Message-State: AOJu0Yweir72nEYkBUNt6kVG+CnYV4NXrN0drFymN/IlXbvU+SAdDzTG
	CBMj0sKXBu8eE5ZWFi/tvphWZff5s2RBvQ==
X-Google-Smtp-Source: AGHT+IGhrgOeyEXelJDSekysLRtyy97vSLB2q3Nq7QHR16RDovymZotL8e0hMLjgONLgvQxAjR8XVA==
X-Received: by 2002:a19:f505:0:b0:507:9a49:3f23 with SMTP id j5-20020a19f505000000b005079a493f23mr7486380lfb.18.1701094410719;
        Mon, 27 Nov 2023 06:13:30 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>
Subject: [PATCH v4 00/14]  Introduce generic headers
Date: Mon, 27 Nov 2023 16:13:13 +0200
Message-ID: <cover.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Some headers are common between several architectures, so the current patch series
provide them.

Another one reason to have them as generic is a simplification of adding support
necessary to make a complete Xen build as it was/is being done in the patch series [1]
and [2].

Also, instead of providing generic/stub headers, it was used
"#ifdef CONFIG_* #include <asm/*.h> #endif" instead of providing empty headers.

Patch related to delay.h [3] was sent separately.

This patch series is a pre-requisite for "Enable build of full Xen for RISC-V" [4].

[1] https://lore.kernel.org/xen-devel/cover.1694543103.git.sanastasio@raptorengineering.com/
[2] https://lore.kernel.org/xen-devel/cover.1692181079.git.oleksii.kurochko@gmail.com/
[3] https://lore.kernel.org/xen-devel/3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com/
[4] https://lore.kernel.org/xen-devel/cover.1700761381.git.oleksii.kurochko@gmail.com/

---
Changes in V4:
 - Update the cover letter message
 - Add Reviewed-by/Acked-by for patches:
    [PATCH v3 01/14] xen/asm-generic: introduce stub header paging.h
    [PATCH v3 03/14] xen/asm-generic: introduce generic hypercall.h
    [PATCH v3 04/14] xen/asm-generic: introduce generic header iocap.h
    [PATCH v3 05/14] xen/asm-generic: introduce stub header <asm/random.h>
    [PATCH v3 06/14] xen/asm-generic: introduce generic header percpu.h
    [PATCH v3 07/14] xen/asm-generic: introduce generalized hardirq.h
    [PATCH v3 08/14] xen/asm-generic: introduce generic div64.h header
    [PATCH v3 09/14] xen/asm-generic: introduce generic header altp2m.h
    [PATCH v3 10/14] xen/asm-generic: introduce stub header monitor.h
    [PATCH v3 11/14] xen/asm-generic: introduce stub header numa.h
    [PATCH v3 12/14] xen/asm-generic: introduce stub header softirq.h
 - Fix some code style and minor issues.
 - Use asm-generic version of device.h for Arm and PPC.
---
Changes in V3:
 - Update the commit message of the cover letter.
 - Drop the following patch as it can be arch-specific enough:
   * [PATCH v2 09/15] xen/asm-generic: introduce generic header smp.h
 - Drop correspondent arch specific headers and use asm-generic version of
   a header.
 - Back to the patch series patches:
   * xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
   * xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
---
Changes in V2:
 - Update the commit message of the cover letter.
 - Drop the following patches because they are arch-specific or was sent as a separate patch:
   - xen/asm-generic: introduce stub header event.h
	 - xen/asm-generic: introduce stub header spinlock.h
	 - [PATCH v1 03/29] xen/asm-generic: introduce stub header cpufeature.h
	 - [PATCH v1 07/29] xen/asm-generic: introduce stub header guest_atomics.h
	 - [PATCH v1 10/29] xen/asm-generic: introduce stub header iommu.h
	 - [PATCH v1 12/29] xen/asm-generic: introduce stub header pci.h because separate patch was sent [5]
	 - [PATCH v1 14/29] xen/asm-generic: introduce stub header setup.h
	 - [PATCH v1 15/29] xen/asm-generic: introduce stub header xenoprof.h because of [3].
	 - [PATCH v1 16/29] xen/asm-generic: introduce stub header flushtlb.h
	 - [PATCH v1 22/29] xen/asm-generic: introduce stub header delay.h because of [3]
	 - [PATCH v1 23/29] xen/asm-generic: introduce stub header domain.h
	 - [PATCH v1 24/29] xen/asm-generic: introduce stub header guest_access.h
	 - [PATCH v1 25/29] xen/asm-generic: introduce stub header irq.h ( probably not so generic as I expected, I'll back to it if it will be necessary in the future )
	 - [PATCH v1 28/29] xen/asm-generic: introduce stub header p2m.h ( probably not so generic as I expected, I'll back to it if it will be necessary in the future )
 - For the rest of the patches please look at changes for each patch separately.
---

Oleksii Kurochko (14):
  xen/asm-generic: introduce stub header paging.h
  xen/asm-generic: introduce generic device.h
  xen/asm-generic: introduce generic hypercall.h
  xen/asm-generic: introduce generic header iocap.h
  xen/asm-generic: introduce stub header <asm/random.h>
  xen/asm-generic: introduce generic header percpu.h
  xen/asm-generic: introduce generalized hardirq.h
  xen/asm-generic: introduce generic div64.h header
  xen/asm-generic: introduce generic header altp2m.h
  xen/asm-generic: introduce stub header monitor.h
  xen/asm-generic: introduce stub header numa.h
  xen/asm-generic: introduce stub header softirq.h
  xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
  xen/asm-generic: ifdef inclusion of <asm/mem_access.h>

 xen/arch/arm/device.c                         |  15 ++-
 xen/arch/arm/domain_build.c                   |   3 +-
 xen/arch/arm/gic-v2.c                         |   4 +-
 xen/arch/arm/gic-v3.c                         |   6 +-
 xen/arch/arm/gic.c                            |   4 +-
 xen/arch/arm/include/asm/Makefile             |   9 ++
 xen/arch/arm/include/asm/altp2m.h             |  39 ------
 xen/arch/arm/include/asm/current.h            |   3 +
 xen/arch/arm/include/asm/div64.h              |   8 +-
 xen/arch/arm/include/asm/paging.h             |  16 ---
 xen/arch/arm/include/asm/random.h             |   9 --
 xen/arch/arm/p2m.c                            |   1 +
 xen/arch/arm/traps.c                          |   1 +
 xen/arch/ppc/include/asm/Makefile             |  12 ++
 xen/arch/ppc/include/asm/altp2m.h             |  25 ----
 xen/arch/ppc/include/asm/current.h            |   6 +
 xen/arch/ppc/include/asm/device.h             |  53 --------
 xen/arch/ppc/include/asm/div64.h              |  14 --
 xen/arch/ppc/include/asm/grant_table.h        |   5 -
 xen/arch/ppc/include/asm/hardirq.h            |  19 ---
 xen/arch/ppc/include/asm/hypercall.h          |   5 -
 xen/arch/ppc/include/asm/iocap.h              |   8 --
 xen/arch/ppc/include/asm/irq.h                |   4 +
 xen/arch/ppc/include/asm/mem_access.h         |   5 -
 xen/arch/ppc/include/asm/monitor.h            |  43 ------
 xen/arch/ppc/include/asm/numa.h               |  26 ----
 xen/arch/ppc/include/asm/paging.h             |   7 -
 xen/arch/ppc/include/asm/percpu.h             |  24 ----
 xen/arch/ppc/include/asm/random.h             |   9 --
 xen/arch/ppc/include/asm/softirq.h            |   8 --
 xen/arch/x86/include/asm/Makefile             |   3 +
 xen/arch/x86/include/asm/current.h            |   2 +
 xen/arch/x86/include/asm/div64.h              |  14 --
 xen/arch/x86/include/asm/percpu.h             |  22 ---
 xen/include/asm-generic/altp2m.h              |  34 +++++
 .../asm => include/asm-generic}/device.h      | 125 +++++++++++-------
 xen/include/asm-generic/div64.h               |  27 ++++
 .../asm => include/asm-generic}/hardirq.h     |   8 +-
 xen/include/asm-generic/hypercall.h           |  18 +++
 .../asm => include/asm-generic}/iocap.h       |   7 +-
 xen/include/asm-generic/monitor.h             |  62 +++++++++
 .../asm => include/asm-generic}/numa.h        |  14 +-
 xen/include/asm-generic/paging.h              |  19 +++
 .../asm => include/asm-generic}/percpu.h      |  18 ++-
 xen/include/asm-generic/random.h              |  19 +++
 .../asm => include/asm-generic}/softirq.h     |   7 +-
 xen/include/headers++.chk.new                 |   0
 xen/include/xen/grant_table.h                 |   3 +
 xen/include/xen/mem_access.h                  |   2 +
 xen/include/xen/percpu.h                      |   4 +-
 50 files changed, 362 insertions(+), 437 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/altp2m.h
 delete mode 100644 xen/arch/arm/include/asm/paging.h
 delete mode 100644 xen/arch/arm/include/asm/random.h
 delete mode 100644 xen/arch/ppc/include/asm/altp2m.h
 delete mode 100644 xen/arch/ppc/include/asm/device.h
 delete mode 100644 xen/arch/ppc/include/asm/div64.h
 delete mode 100644 xen/arch/ppc/include/asm/grant_table.h
 delete mode 100644 xen/arch/ppc/include/asm/hardirq.h
 delete mode 100644 xen/arch/ppc/include/asm/hypercall.h
 delete mode 100644 xen/arch/ppc/include/asm/iocap.h
 delete mode 100644 xen/arch/ppc/include/asm/mem_access.h
 delete mode 100644 xen/arch/ppc/include/asm/monitor.h
 delete mode 100644 xen/arch/ppc/include/asm/numa.h
 delete mode 100644 xen/arch/ppc/include/asm/paging.h
 delete mode 100644 xen/arch/ppc/include/asm/percpu.h
 delete mode 100644 xen/arch/ppc/include/asm/random.h
 delete mode 100644 xen/arch/ppc/include/asm/softirq.h
 create mode 100644 xen/arch/x86/include/asm/Makefile
 delete mode 100644 xen/arch/x86/include/asm/div64.h
 delete mode 100644 xen/arch/x86/include/asm/percpu.h
 create mode 100644 xen/include/asm-generic/altp2m.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/device.h (79%)
 create mode 100644 xen/include/asm-generic/div64.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/hardirq.h (79%)
 create mode 100644 xen/include/asm-generic/hypercall.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/iocap.h (60%)
 create mode 100644 xen/include/asm-generic/monitor.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/numa.h (76%)
 create mode 100644 xen/include/asm-generic/paging.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/percpu.h (57%)
 create mode 100644 xen/include/asm-generic/random.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/softirq.h (56%)
 create mode 100644 xen/include/headers++.chk.new

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642119.1001306 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMj-0005pO-8Q; Mon, 27 Nov 2023 14:13:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642119.1001306; Mon, 27 Nov 2023 14:13: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 1r7cMj-0005oF-4W; Mon, 27 Nov 2023 14:13:37 +0000
Received: by outflank-mailman (input) for mailman id 642119;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMh-0005in-OQ
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:35 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 25ef3fd3-8d2f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:13:33 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-50aab0ca90aso6114007e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:33 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 25ef3fd3-8d2f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094413; x=1701699213; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=U9O7jlW2ke1lTOAYgSQUjqDX45LjkP4J1X6mHCR3nQ8=;
        b=FQL9/NQQyCSzklikVdYX+c+6LryAW3MCeKkC0zOD8IN+f4vQU9iuT/vmm2QoIm1q3F
         yYsFnto1v6qtLvO7qaWwTEpKloZJwkI/Rbns3Xnuw+BZa8MaRfOoi5TiSOEAAELYXxjC
         9d60NehMjAr8fYUOp5JYV5qpwGeiOfCwmt2i2E4vY4rzVrhmHzifVzKWXmJEwKBR1Om7
         zwgWQlO5NM6xfWj9ED6eGh1iz/sNpShtkdcPHS/Ssa03G206rGxHLfo+JNcmR3COeqW8
         N9KX3tJX38E2vi5JXqpJTHwz6/OQxqUW1kP7dpnXIY4kcAhHAQkNuQOmbjZ2n+bpoCPs
         XZEg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094413; x=1701699213;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=U9O7jlW2ke1lTOAYgSQUjqDX45LjkP4J1X6mHCR3nQ8=;
        b=O9SM2aXn43S6YiW9tQS5rc6YWbzgp0HgLdB10NwDF0SB4EFHQbW93jgmuKDNjLWU7A
         nNUL9VT34SgKFxOk5BQnKzlPLxp1ea/eVouepLkjdWKxfkIhPyDkwswVJkngmFTVhZu8
         W9h7HVLr3MZeUHeiJPFiwPHKwjODAuQi1B7jwUd8mf/zX4wSfssKRLTBj7dZEFwoVeZm
         yS3ki1o6rBu/Z8vHIkXlbBoffpduqNxN2prlcVZ8B+BvXd6OdFn2IzGrhWMCMEACcgl2
         yhwvaUyz+VsOUmAxsPN6irzXR1mcLHn4XM1O+5x3xFPudc9APcLJF6tIWaJMGdkFuyFU
         707w==
X-Gm-Message-State: AOJu0Yxf2RtimdMbP5UClcuCvn1qnj+x/EU0NHn91cp0aW7BnqSnkdhv
	m4EzQd0Him4MOzAwSZ2Y+VWR975oguiGfA==
X-Google-Smtp-Source: AGHT+IHUpefJlm8io5BjsZw06/4eH4Ux24My5p1bmY1fI2IT6oNJBg5n2kcJyvqUuUYk3v2PhpwUiw==
X-Received: by 2002:a05:6512:1592:b0:507:ab58:7f7a with SMTP id bp18-20020a056512159200b00507ab587f7amr10227140lfb.10.1701094411951;
        Mon, 27 Nov 2023 06:13:31 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 01/14] xen/asm-generic: introduce stub header paging.h
Date: Mon, 27 Nov 2023 16:13:14 +0200
Message-ID: <78608aaa8108f1dd56758c098f64534580c54cc3.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces generic paging.h header for Arm, PPC and
RISC-V.

All mentioned above architectures use hardware virt extensions
and hardware pagetable extensions thereby it makes sense to set
paging_mode_translate and paging_mode_external by default.

Also in this patch Arm and PPC architectures are switched to
generic paging.h header.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in V4:
 - Added Acked-by: Julien Grall <jgrall@amazon.com>.
---
Changes in V3:
 - Sort xen/arch/{arm,ppc}/include/asm/Makefile alphabetically.
 - Add Reviewed-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V2:
	- evaluate argument of macros
	- covert macros to true
	- use proper tabs
	- switch Arm & PPC to generic paging.h
	- update commit message
---
 xen/arch/arm/include/asm/Makefile |  1 +
 xen/arch/arm/include/asm/paging.h | 16 ----------------
 xen/arch/ppc/include/asm/Makefile |  1 +
 xen/arch/ppc/include/asm/paging.h |  7 -------
 xen/include/asm-generic/paging.h  | 19 +++++++++++++++++++
 5 files changed, 21 insertions(+), 23 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/paging.h
 delete mode 100644 xen/arch/ppc/include/asm/paging.h
 create mode 100644 xen/include/asm-generic/paging.h

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 821addb0bf..ece7fa66dd 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/arm/include/asm/paging.h b/xen/arch/arm/include/asm/paging.h
deleted file mode 100644
index 6d1a000246..0000000000
--- a/xen/arch/arm/include/asm/paging.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _XEN_PAGING_H
-#define _XEN_PAGING_H
-
-#define paging_mode_translate(d)              (1)
-#define paging_mode_external(d)               (1)
-
-#endif /* XEN_PAGING_H */
-
-/*
- * Local variables:
- * mode: C
- * c-file-style: "BSD"
- * c-basic-offset: 4
- * indent-tabs-mode: nil
- * End:
- */
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 821addb0bf..ece7fa66dd 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/paging.h b/xen/arch/ppc/include/asm/paging.h
deleted file mode 100644
index eccacece29..0000000000
--- a/xen/arch/ppc/include/asm/paging.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef __ASM_PPC_PAGING_H__
-#define __ASM_PPC_PAGING_H__
-
-#define paging_mode_translate(d)              (1)
-#define paging_mode_external(d)               (1)
-
-#endif /* __ASM_PPC_PAGING_H__ */
diff --git a/xen/include/asm-generic/paging.h b/xen/include/asm-generic/paging.h
new file mode 100644
index 0000000000..8df534cfdc
--- /dev/null
+++ b/xen/include/asm-generic/paging.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_PAGING_H__
+#define __ASM_GENERIC_PAGING_H__
+
+#include <xen/stdbool.h>
+
+#define paging_mode_translate(d)    ((void)(d), true)
+#define paging_mode_external(d)     ((void)(d), true)
+
+#endif /* __ASM_GENERIC_PAGING_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642120.1001322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMk-0006Gt-L9; Mon, 27 Nov 2023 14:13:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642120.1001322; Mon, 27 Nov 2023 14:13: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 1r7cMk-0006Gh-IN; Mon, 27 Nov 2023 14:13:38 +0000
Received: by outflank-mailman (input) for mailman id 642120;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMj-0005in-2c
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:37 +0000
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com
 [2a00:1450:4864:20::130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 27126976-8d2f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:13:35 +0100 (CET)
Received: by mail-lf1-x130.google.com with SMTP id
 2adb3069b0e04-50aabfa1b75so6013173e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:35 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.33
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27126976-8d2f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094414; x=1701699214; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=w5JXuiZ7y/GlkK062RV6dkVhWvGbS3m7ws90DCrxh6U=;
        b=DN5mpgKDXUujobLQXmeWg1w8cIxwqnuz/Zhx+zWWO2QmELfX5qg4HLLCvQ8dVZ3w7n
         ArZKxk1K5slEQ3reYoAKjZkqtoPxAUJOFeK6PimUwe/ZhK0J6l1gk/SNJ4fufP8g5Imn
         PcN1tttLToH3ha6ZJYgzezMuE+dJL/54nx2qxQfyR7R79GqEjXoU8FpeJhfF15QhAnDr
         pyXKCBPBIS41HaXEhD6fWRo3lDgJMjS02u6LWGq+w5dl03cBi+w46n/61RIwoP1V1Z5S
         DY++1VcImZmS3ypkD+13gkLgDL/8H4ksRnt+x5OT49G7gRgakDhcK/5cut+2h0JPSbSS
         eQTw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094414; x=1701699214;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=w5JXuiZ7y/GlkK062RV6dkVhWvGbS3m7ws90DCrxh6U=;
        b=sr9rBIEdDwLqMyn5x9mXrkcNz9qhRiDQ3eS9Ki3Q7etQMzIqIb8UTrOmSR1TUS7EOh
         ZotdEDKo6uSTu2Iq4lnF8QUAZsutecjLcqbmATENb9yvwlxSAjPBXkC+YDAvVkQa7ZS2
         v+lf0ZgQL1HXYQyGQDvirmjPU82DDu8XKCLjjrJcQeK5tRuCbU8++zVB/EgJdVhoVSSY
         06MCMKFcccl7C/JyCAOP5OepnkX9HtgI8NVKEcy1rYFDhoNPem+XYEUjyeLFphxPhoqG
         zSbQucUDpoJUd1OPRhItTKhB5t6kUYodn/vRMU/7j946igK8rZkRzRYrdDiwkg/+MMpu
         JUvg==
X-Gm-Message-State: AOJu0YwOWdvh8MGSaIjn1D/zTcfjaUWGh40NxcD8qjiLoFMQCcY6XR0E
	xzj5tEWOedopnDHjpSJ06LdCpP67lphP6g==
X-Google-Smtp-Source: AGHT+IEatNVdXmW8IqzjIx2tCSu+qukrkKZOFVdAtYZechh5EkESLflZ4iddO6h3vLURycoMFC3xFg==
X-Received: by 2002:a05:6512:14f:b0:50b:a75f:c7 with SMTP id m15-20020a056512014f00b0050ba75f00c7mr5490792lfo.57.1701094414107;
        Mon, 27 Nov 2023 06:13:34 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.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 03/14] xen/asm-generic: introduce generic hypercall.h
Date: Mon, 27 Nov 2023 16:13:16 +0200
Message-ID: <b08aeb05ae905d8ed0d61f3780e20c576950f96b.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Introduce an empty generic hypercall.h for archs which don't
implement it.

Drop PPC's hypercall.h and switch to generic one instead.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V4:
 - Nothing changed. Only rebase.
---
Changes in V3:
 - Drop PPC's hypercall.h and switch to generic one.
 - Update the commit message
 - Add Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V2:
 - add check that <asm/hypercall.h> isn't included directly.
---
 xen/arch/ppc/include/asm/Makefile    |  1 +
 xen/arch/ppc/include/asm/hypercall.h |  5 -----
 xen/include/asm-generic/hypercall.h  | 18 ++++++++++++++++++
 3 files changed, 19 insertions(+), 5 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/hypercall.h
 create mode 100644 xen/include/asm-generic/hypercall.h

diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index df4c1ebb08..d5e369128c 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += device.h
+generic-y += hypercall.h
 generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/hypercall.h b/xen/arch/ppc/include/asm/hypercall.h
deleted file mode 100644
index 1e8ca0ce9c..0000000000
--- a/xen/arch/ppc/include/asm/hypercall.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_HYPERCALL_H__
-#define __ASM_PPC_HYPERCALL_H__
-
-#endif /* __ASM_PPC_HYPERCALL_H__ */
diff --git a/xen/include/asm-generic/hypercall.h b/xen/include/asm-generic/hypercall.h
new file mode 100644
index 0000000000..7743b35c0d
--- /dev/null
+++ b/xen/include/asm-generic/hypercall.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __XEN_HYPERCALL_H__
+#error "asm/hypercall.h should not be included directly - include xen/hypercall.h instead"
+#endif
+
+#ifndef __ASM_GENERIC_HYPERCALL_H__
+#define __ASM_GENERIC_HYPERCALL_H__
+
+#endif /* __ASM_GENERIC_HYPERCALL_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642118.1001303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMi-0005mO-W9; Mon, 27 Nov 2023 14:13:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642118.1001303; Mon, 27 Nov 2023 14:13: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 1r7cMi-0005mH-Sz; Mon, 27 Nov 2023 14:13:36 +0000
Received: by outflank-mailman (input) for mailman id 642118;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMh-0005XE-77
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:35 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 266fc5f8-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:34 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-507a98517f3so5768211e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:34 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.32
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:33 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 266fc5f8-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094413; x=1701699213; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Jt+o8yKRJ72jcDErPqmz2xVNbl8BtgwH3tlP5mvg/DI=;
        b=UInkNey0t2j2HiP+r4qP2LTCU2ZkQaIBvN6JzD9wcfMuJqq1tefT5y/so1aCM5j7dv
         7TIcc0Gj9DYrbP6Rh5pT9aEt47cmGbL9S2kG0xSxO4AshxQxnR7XOw+bVWzkjxwUo4+1
         wRJOl90KwXk/RVAukyW83krhxsAXnK+7tFcWXjKuK3SE08PgocTHxL9b1HHFYmY53OBi
         Pn0J3AbYnRdMG2wLkZUCN4sdvLGNIAG1s21uKZpj0F9TSC2kFYkkTgV1EmOs73QwxzfW
         X5qszaQ/kNCK6tsfN6kPwUuaUyi5GG6f7k2NsF4nk9bY93K8lD1fRq68zCzGmxfGPmmg
         x1KQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094413; x=1701699213;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Jt+o8yKRJ72jcDErPqmz2xVNbl8BtgwH3tlP5mvg/DI=;
        b=Mm7jxPLsbc1rVlpd219xODR05xJrWWEcYEHaq+GXvJsKiDQg/zzBybJw5LFmUArR9m
         25Buc+TRax3kwsI6JW+FRtARSH7Lzs4ZTHHkzSKD21gAMYVkxWw8lChQCVzcDk3XzrUo
         K3HxeqGLiCBsWWC0dfX8bEZCp1b3jWqjVaS+p8QV9IQr+MmbcIyspJVfGHz6ih0CYe+9
         lXjGtGpLwUafvC+dFgexsk8ZJ/LqcIqJl3FNpjG6pu2p81mif5B5sMjc3YDUNLqAHn62
         EOa3SRdrKqjrRlyoeirTjlmUKSllctKruufSiIKwKD3mDDU/FUlSAF9k4NrxNs/FjvKV
         hsmw==
X-Gm-Message-State: AOJu0YzNeKqzkWRLeqyMHibtZD4YJXHAXIE2R3m9mjxfqdjhW1kVB3MA
	CGS+W7XnRKkd0/hpNxjucAq8LQ/RYKzsJQ==
X-Google-Smtp-Source: AGHT+IGHD+aUwzD82bEStkCkUhNz+16lrAzAm78czHJax++twgbKThhzcrt6DF7kA7uALf5w1+g0jA==
X-Received: by 2002:ac2:4acb:0:b0:50b:ac31:28e5 with SMTP id m11-20020ac24acb000000b0050bac3128e5mr3448337lfp.65.1701094413189;
        Mon, 27 Nov 2023 06:13:33 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
Date: Mon, 27 Nov 2023 16:13:15 +0200
Message-ID: <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Arm, PPC and RISC-V use the same device.h thereby device.h
was moved to asm-generic. Arm's device.h was taken as a base with
the following changes:
 - #ifdef PCI related things.
 - #ifdef ACPI related things.
 - Rename #ifdef guards.
 - Add SPDX tag.
 - #ifdef CONFIG_HAS_DEVICE_TREE related things.
 - #ifdef-ing iommu related things with CONFIG_HAS_PASSTHROUGH.

Also Arm and PPC are switched to asm-generic version of device.h

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 - Updated the commit message
 - Switched Arm and PPC to asm-generic version of device.h
 - Replaced HAS_PCI with CONFIG_HAS_PCI
 - ifdef-ing iommu filed of dev_archdata struct with CONFIG_HAS_PASSTHROUGH
 - ifdef-ing iommu_fwspec of device struct with CONFIG_HAS_PASSTHROUGH
 - ifdef-ing DT related things with CONFIG_HAS_DEVICE_TREE
 - Updated the commit message ( remove a note with question about
   if device.h should be in asm-generic or not )
 - Replaced DEVICE_IC with DEVICE_INTERRUPT_CONTROLLER
 - Rationalized usage of CONFIG_HAS_* in device.h
 - Fixed indents for ACPI_DEVICE_START and ACPI_DEVICE_END
---
Changes in V3:
 - ifdef device tree related things.
 - update the commit message
---
Changes in V2:
	- take ( as common ) device.h from Arm as PPC and RISC-V use it as a base.
	- #ifdef PCI related things.
	- #ifdef ACPI related things.
	- rename DEVICE_GIC to DEVIC_IC.
	- rename #ifdef guards.
	- switch Arm and PPC to generic device.h
	- add SPDX tag
	- update the commit message

---
 xen/arch/arm/device.c                         |  15 ++-
 xen/arch/arm/domain_build.c                   |   2 +-
 xen/arch/arm/gic-v2.c                         |   4 +-
 xen/arch/arm/gic-v3.c                         |   6 +-
 xen/arch/arm/gic.c                            |   4 +-
 xen/arch/arm/include/asm/Makefile             |   1 +
 xen/arch/ppc/include/asm/Makefile             |   1 +
 xen/arch/ppc/include/asm/device.h             |  53 --------
 xen/arch/ppc/include/asm/irq.h                |   4 +
 .../asm => include/asm-generic}/device.h      | 125 +++++++++++-------
 xen/include/headers++.chk.new                 |   0
 11 files changed, 106 insertions(+), 109 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/device.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/device.h (79%)
 create mode 100644 xen/include/headers++.chk.new

diff --git a/xen/arch/arm/device.c b/xen/arch/arm/device.c
index 1f631d3274..affbe79f9a 100644
--- a/xen/arch/arm/device.c
+++ b/xen/arch/arm/device.c
@@ -16,7 +16,10 @@
 #include <xen/lib.h>
 
 extern const struct device_desc _sdevice[], _edevice[];
+
+#ifdef CONFIG_ACPI
 extern const struct acpi_device_desc _asdevice[], _aedevice[];
+#endif
 
 int __init device_init(struct dt_device_node *dev, enum device_class class,
                        const void *data)
@@ -45,6 +48,7 @@ int __init device_init(struct dt_device_node *dev, enum device_class class,
     return -EBADF;
 }
 
+#ifdef CONFIG_ACPI
 int __init acpi_device_init(enum device_class class, const void *data, int class_type)
 {
     const struct acpi_device_desc *desc;
@@ -61,6 +65,7 @@ int __init acpi_device_init(enum device_class class, const void *data, int class
 
     return -EBADF;
 }
+#endif
 
 enum device_class device_get_class(const struct dt_device_node *dev)
 {
@@ -329,9 +334,13 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
     struct map_range_data mr_data = {
         .d = d,
         .p2mt = p2mt,
-        .skip_mapping = !own_device ||
-                        (is_pci_passthrough_enabled() &&
-                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),
+        .skip_mapping =
+                        !own_device
+#ifdef CONFIG_HAS_PCI
+                        || (is_pci_passthrough_enabled() &&
+                        (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE))
+#endif
+                        ,
         .iomem_ranges = iomem_ranges,
         .irq_ranges = irq_ranges
     };
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index 2dd2926b41..a26cbff68e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -2361,7 +2361,7 @@ static int __init handle_node(struct domain *d, struct kernel_info *kinfo,
      * Replace these nodes with our own. Note that the original may be
      * used_by DOMID_XEN so this check comes first.
      */
-    if ( device_get_class(node) == DEVICE_GIC )
+    if ( device_get_class(node) == DEVICE_INTERRUPT_CONTROLLER )
         return make_gic_node(d, kinfo->fdt, node);
     if ( dt_match_node(timer_matches, node) )
         return make_timer_node(kinfo);
diff --git a/xen/arch/arm/gic-v2.c b/xen/arch/arm/gic-v2.c
index cf392bfd1c..5d6885e389 100644
--- a/xen/arch/arm/gic-v2.c
+++ b/xen/arch/arm/gic-v2.c
@@ -1366,7 +1366,7 @@ static const struct dt_device_match gicv2_dt_match[] __initconst =
     { /* sentinel */ },
 };
 
-DT_DEVICE_START(gicv2, "GICv2", DEVICE_GIC)
+DT_DEVICE_START(gicv2, "GICv2", DEVICE_INTERRUPT_CONTROLLER)
         .dt_match = gicv2_dt_match,
         .init = gicv2_dt_preinit,
 DT_DEVICE_END
@@ -1381,7 +1381,7 @@ static int __init gicv2_acpi_preinit(const void *data)
     return 0;
 }
 
-ACPI_DEVICE_START(agicv2, "GICv2", DEVICE_GIC)
+ACPI_DEVICE_START(agicv2, "GICv2", DEVICE_INTERRUPT_CONTROLLER)
         .class_type = ACPI_MADT_GIC_VERSION_V2,
         .init = gicv2_acpi_preinit,
 ACPI_DEVICE_END
diff --git a/xen/arch/arm/gic-v3.c b/xen/arch/arm/gic-v3.c
index 9b35a8c8a7..d8f9aa0352 100644
--- a/xen/arch/arm/gic-v3.c
+++ b/xen/arch/arm/gic-v3.c
@@ -1875,7 +1875,7 @@ static const struct dt_device_match gicv3_dt_match[] __initconst =
     { /* sentinel */ },
 };
 
-DT_DEVICE_START(gicv3, "GICv3", DEVICE_GIC)
+DT_DEVICE_START(gicv3, "GICv3", DEVICE_INTERRUPT_CONTROLLER)
         .dt_match = gicv3_dt_match,
         .init = gicv3_dt_preinit,
 DT_DEVICE_END
@@ -1890,12 +1890,12 @@ static int __init gicv3_acpi_preinit(const void *data)
     return 0;
 }
 
-ACPI_DEVICE_START(agicv3, "GICv3", DEVICE_GIC)
+ACPI_DEVICE_START(agicv3, "GICv3", DEVICE_INTERRUPT_CONTROLLER)
         .class_type = ACPI_MADT_GIC_VERSION_V3,
         .init = gicv3_acpi_preinit,
 ACPI_DEVICE_END
 
-ACPI_DEVICE_START(agicv4, "GICv4", DEVICE_GIC)
+ACPI_DEVICE_START(agicv4, "GICv4", DEVICE_INTERRUPT_CONTROLLER)
         .class_type = ACPI_MADT_GIC_VERSION_V4,
         .init = gicv3_acpi_preinit,
 ACPI_DEVICE_END
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index d922ea67aa..b5a9c8266c 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -234,7 +234,7 @@ static void __init gic_dt_preinit(void)
         if ( !dt_get_parent(node) )
             continue;
 
-        rc = device_init(node, DEVICE_GIC, NULL);
+        rc = device_init(node, DEVICE_INTERRUPT_CONTROLLER, NULL);
         if ( !rc )
         {
             /* NOTE: Only one GIC is supported */
@@ -262,7 +262,7 @@ static void __init gic_acpi_preinit(void)
 
     dist = container_of(header, struct acpi_madt_generic_distributor, header);
 
-    if ( acpi_device_init(DEVICE_GIC, NULL, dist->version) )
+    if ( acpi_device_init(DEVICE_INTERRUPT_CONTROLLER, NULL, dist->version) )
         panic("Unable to find compatible GIC in the ACPI table\n");
 }
 #else
diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index ece7fa66dd..df4c1ebb08 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,3 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += device.h
 generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index ece7fa66dd..df4c1ebb08 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,3 +1,4 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += device.h
 generic-y += paging.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/device.h b/xen/arch/ppc/include/asm/device.h
deleted file mode 100644
index 8253e61d51..0000000000
--- a/xen/arch/ppc/include/asm/device.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_DEVICE_H__
-#define __ASM_PPC_DEVICE_H__
-
-enum device_type
-{
-    DEV_DT,
-    DEV_PCI,
-};
-
-struct device {
-    enum device_type type;
-#ifdef CONFIG_HAS_DEVICE_TREE
-    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
-#endif
-};
-
-enum device_class
-{
-    DEVICE_SERIAL,
-    DEVICE_IOMMU,
-    DEVICE_PCI_HOSTBRIDGE,
-    /* Use for error */
-    DEVICE_UNKNOWN,
-};
-
-struct device_desc {
-    /* Device name */
-    const char *name;
-    /* Device class */
-    enum device_class class;
-    /* List of devices supported by this driver */
-    const struct dt_device_match *dt_match;
-    /*
-     * Device initialization.
-     *
-     * -EAGAIN is used to indicate that device probing is deferred.
-     */
-    int (*init)(struct dt_device_node *dev, const void *data);
-};
-
-typedef struct device device_t;
-
-#define DT_DEVICE_START(name_, namestr_, class_)                    \
-static const struct device_desc __dev_desc_##name_ __used           \
-__section(".dev.info") = {                                          \
-    .name = namestr_,                                               \
-    .class = class_,                                                \
-
-#define DT_DEVICE_END                                               \
-};
-
-#endif /* __ASM_PPC_DEVICE_H__ */
diff --git a/xen/arch/ppc/include/asm/irq.h b/xen/arch/ppc/include/asm/irq.h
index 5c37d0cf25..49193fddff 100644
--- a/xen/arch/ppc/include/asm/irq.h
+++ b/xen/arch/ppc/include/asm/irq.h
@@ -3,7 +3,9 @@
 #define __ASM_PPC_IRQ_H__
 
 #include <xen/lib.h>
+#ifdef CONFIG_HAS_DEVICE_TREE
 #include <xen/device_tree.h>
+#endif
 #include <public/device_tree_defs.h>
 
 /* TODO */
@@ -25,9 +27,11 @@ static inline void arch_move_irqs(struct vcpu *v)
     BUG_ON("unimplemented");
 }
 
+#ifdef CONFIG_HAS_DEVICE_TREE
 static inline int platform_get_irq(const struct dt_device_node *device, int index)
 {
     BUG_ON("unimplemented");
 }
+#endif
 
 #endif /* __ASM_PPC_IRQ_H__ */
diff --git a/xen/arch/arm/include/asm/device.h b/xen/include/asm-generic/device.h
similarity index 79%
rename from xen/arch/arm/include/asm/device.h
rename to xen/include/asm-generic/device.h
index b5d451e087..063c448c4e 100644
--- a/xen/arch/arm/include/asm/device.h
+++ b/xen/include/asm-generic/device.h
@@ -1,14 +1,37 @@
-#ifndef __ASM_ARM_DEVICE_H
-#define __ASM_ARM_DEVICE_H
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_DEVICE_H__
+#define __ASM_GENERIC_DEVICE_H__
+
+#include <xen/stdbool.h>
 
 enum device_type
 {
+#ifdef CONFIG_HAS_DEVICE_TREE
     DEV_DT,
+#endif
+
+#ifdef CONFIG_HAS_PCI
     DEV_PCI,
+#endif
+    DEV_TYPE_MAX,
+};
+
+enum device_class
+{
+    DEVICE_SERIAL,
+    DEVICE_IOMMU,
+    DEVICE_INTERRUPT_CONTROLLER,
+#ifdef CONFIG_HAS_PCI
+    DEVICE_PCI_HOSTBRIDGE,
+#endif
+    /* Use for error */
+    DEVICE_UNKNOWN,
 };
 
 struct dev_archdata {
+#ifdef CONFIG_HAS_PASSTHROUGH
     void *iommu;    /* IOMMU private data */
+#endif
 };
 
 /* struct device - The basic device structure */
@@ -19,31 +42,65 @@ struct device
     struct dt_device_node *of_node; /* Used by drivers imported from Linux */
 #endif
     struct dev_archdata archdata;
+#ifdef CONFIG_HAS_PASSTHROUGH
     struct iommu_fwspec *iommu_fwspec; /* per-device IOMMU instance data */
+#endif
 };
 
 typedef struct device device_t;
 
+#ifdef CONFIG_HAS_DEVICE_TREE
+
 #include <xen/device_tree.h>
 
-#define dev_is_pci(dev) ((dev)->type == DEV_PCI)
 #define dev_is_dt(dev)  ((dev)->type == DEV_DT)
 
-enum device_class
-{
-    DEVICE_SERIAL,
-    DEVICE_IOMMU,
-    DEVICE_GIC,
-    DEVICE_PCI_HOSTBRIDGE,
-    /* Use for error */
-    DEVICE_UNKNOWN,
+/**
+ *  device_init - Initialize a device
+ *  @dev: device to initialize
+ *  @class: class of the device (serial, network...)
+ *  @data: specific data for initializing the device
+ *
+ *  Return 0 on success.
+ */
+int device_init(struct dt_device_node *dev, enum device_class class,
+                const void *data);
+
+/**
+ * device_get_type - Get the type of the device
+ * @dev: device to match
+ *
+ * Return the device type on success or DEVICE_ANY on failure
+ */
+enum device_class device_get_class(const struct dt_device_node *dev);
+
+#define DT_DEVICE_START(_name, _namestr, _class)                    \
+static const struct device_desc __dev_desc_##_name __used           \
+__section(".dev.info") = {                                          \
+    .name = _namestr,                                               \
+    .class = _class,                                                \
+
+#define DT_DEVICE_END                                               \
 };
 
+#else /* !CONFIG_HAS_DEVICE_TREE */
+#define dev_is_dt(dev) ((void)(dev), false)
+#endif /* CONFIG_HAS_DEVICE_TREE */
+
+#ifdef CONFIG_HAS_PCI
+#define dev_is_pci(dev) ((dev)->type == DEV_PCI)
+#else
+#define dev_is_pci(dev) ((void)(dev), false)
+#endif
+
 struct device_desc {
     /* Device name */
     const char *name;
     /* Device class */
     enum device_class class;
+
+#ifdef CONFIG_HAS_DEVICE_TREE
+
     /* List of devices supported by this driver */
     const struct dt_device_match *dt_match;
     /*
@@ -52,8 +109,12 @@ struct device_desc {
      * -EAGAIN is used to indicate that device probing is deferred.
      */
     int (*init)(struct dt_device_node *dev, const void *data);
+
+#endif
 };
 
+#ifdef CONFIG_ACPI
+
 struct acpi_device_desc {
     /* Device name */
     const char *name;
@@ -75,44 +136,18 @@ struct acpi_device_desc {
 int acpi_device_init(enum device_class class,
                      const void *data, int class_type);
 
-/**
- *  device_init - Initialize a device
- *  @dev: device to initialize
- *  @class: class of the device (serial, network...)
- *  @data: specific data for initializing the device
- *
- *  Return 0 on success.
- */
-int device_init(struct dt_device_node *dev, enum device_class class,
-                const void *data);
-
-/**
- * device_get_type - Get the type of the device
- * @dev: device to match
- *
- * Return the device type on success or DEVICE_ANY on failure
- */
-enum device_class device_get_class(const struct dt_device_node *dev);
+#define ACPI_DEVICE_START(_name, _namestr, _class)              \
+static const struct acpi_device_desc __dev_desc_##_name __used  \
+__section(".adev.info") = {                                     \
+    .name = _namestr,                                           \
+    .class = _class,                                            \
 
-#define DT_DEVICE_START(_name, _namestr, _class)                    \
-static const struct device_desc __dev_desc_##_name __used           \
-__section(".dev.info") = {                                          \
-    .name = _namestr,                                               \
-    .class = _class,                                                \
-
-#define DT_DEVICE_END                                               \
+#define ACPI_DEVICE_END                                         \
 };
 
-#define ACPI_DEVICE_START(_name, _namestr, _class)                    \
-static const struct acpi_device_desc __dev_desc_##_name __used           \
-__section(".adev.info") = {                       \
-    .name = _namestr,                                               \
-    .class = _class,                                                \
-
-#define ACPI_DEVICE_END                                               \
-};
+#endif /* CONFIG_ACPI */
 
-#endif /* __ASM_ARM_DEVICE_H */
+#endif /* __ASM_GENERIC_DEVICE_H__ */
 
 /*
  * Local variables:
diff --git a/xen/include/headers++.chk.new b/xen/include/headers++.chk.new
new file mode 100644
index 0000000000..e69de29bb2
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642122.1001343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMo-0006rh-53; Mon, 27 Nov 2023 14:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642122.1001343; Mon, 27 Nov 2023 14:13: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 1r7cMo-0006rV-16; Mon, 27 Nov 2023 14:13:42 +0000
Received: by outflank-mailman (input) for mailman id 642122;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMm-0005in-6D
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:40 +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 28df9258-8d2f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:13:38 +0100 (CET)
Received: by mail-lf1-x131.google.com with SMTP id
 2adb3069b0e04-5079f6efd64so5736092e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:38 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.35
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28df9258-8d2f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094418; x=1701699218; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iArxO5Q+e25GnaSqlqRKwaYLFQZh1QQBQsbgx4QCxvE=;
        b=TkmFCuPjvERm7zHhMnga0i795JMPzF7IIStd5uFrO7ZADZCp39Inug7UntDP43ZSf4
         gA46TGCJv08GoXpErmK9Nc7B0LaANBHIq6jVxSD8oLrYc3Z8zMXRkUpA0x5QZUwI17CF
         +LfZdprFZlnszzMJ0hb2I8oVHqCCuKSDljyVJioU6fh6p8n2n7ztnUthQKaMseP+8rkY
         NaTyi17UhJi8BctdiSoSXYMQuhYtuYrT+ugmvKPCR0wYPJs2JQj+NzFkxTkseOwFsePz
         /oEe66tFrlxmKgU26nKsFGxSlDeenMp/FlgOa17Osfs18yIcyfO4n6L6/do+Dqne1FMb
         et3Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094418; x=1701699218;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iArxO5Q+e25GnaSqlqRKwaYLFQZh1QQBQsbgx4QCxvE=;
        b=n58Lsq9aFhvAUJLFxxFDF8O/yiAeiOQMQv0uI7TdXuTbPHLxPEQFRKWO66srFjw8qM
         bKk7Hp9NuevIqYJX4q+7pKmGgT8183GWqIdMM++RsUiFELKV/NBMxQHnQLcGcQskallE
         zETGm5fuMQA/LSy2chZyxAq+RncDJ8J5/0K4VbUM6lOzs2odLnBsLe+R+CzvmUdkKJC4
         z2qCEOSQzCO6zvVjlrDRmRY1O3Ltdmh4PcNsYFLEY6MkdnVBxawTjWRQWJ1ZTx6dXTmq
         LarH5grPlA0I17WYfuauBGRIHY9QKNzLbuSqhVVjqrSwQaXsmminUMdJIdQN2CIsPQm5
         wddQ==
X-Gm-Message-State: AOJu0YynBQ23iEuL/ki5pERcQVbxFiW8uKD2bC+VQLV9hz/XiwJMPRi9
	qqjgv3beL63UT19YPV5xPQpoaZwB+oCa6g==
X-Google-Smtp-Source: AGHT+IH/exedbxyFOf3LS6xovtduxEpwge7jrCOrzVMj28WIz07/xbb24ot6oHAdSP2YExPkcHhwPA==
X-Received: by 2002:ac2:456a:0:b0:507:a0d6:f178 with SMTP id k10-20020ac2456a000000b00507a0d6f178mr7027439lfm.35.1701094417655;
        Mon, 27 Nov 2023 06:13:37 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 05/14] xen/asm-generic: introduce stub header <asm/random.h>
Date: Mon, 27 Nov 2023 16:13:18 +0200
Message-ID: <6025959eee0b7c140b97a7866c6c762e74eee1a7.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/random.h> is common for Arm, PPC and RISC-V thereby it
is moved to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in V4:
 - Added Reviewed-by: Jan Beulich <jbeulich@suse.com>
 - Added Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in V3:
 - Drop Arm and PPC's random.h and switch to asm-generic verison.
---
Changes in V2:
 - update the commit messages
---
 xen/arch/arm/include/asm/Makefile |  1 +
 xen/arch/arm/include/asm/random.h |  9 ---------
 xen/arch/ppc/include/asm/Makefile |  1 +
 xen/arch/ppc/include/asm/random.h |  9 ---------
 xen/include/asm-generic/random.h  | 19 +++++++++++++++++++
 5 files changed, 21 insertions(+), 18 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/random.h
 delete mode 100644 xen/arch/ppc/include/asm/random.h
 create mode 100644 xen/include/asm-generic/random.h

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 2d036045e8..7593c4e8ee 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -2,4 +2,5 @@
 generic-y += device.h
 generic-y += iocap.h
 generic-y += paging.h
+generic-y += random.h
 generic-y += vm_event.h
diff --git a/xen/arch/arm/include/asm/random.h b/xen/arch/arm/include/asm/random.h
deleted file mode 100644
index b4acee276b..0000000000
--- a/xen/arch/arm/include/asm/random.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __ASM_RANDOM_H__
-#define __ASM_RANDOM_H__
-
-static inline unsigned int arch_get_random(void)
-{
-    return 0;
-}
-
-#endif /* __ASM_RANDOM_H__ */
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 209c3e74d8..039b0eb5ee 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -3,4 +3,5 @@ generic-y += device.h
 generic-y += hypercall.h
 generic-y += iocap.h
 generic-y += paging.h
+generic-y += random.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/random.h b/xen/arch/ppc/include/asm/random.h
deleted file mode 100644
index 2f9e9bbae4..0000000000
--- a/xen/arch/ppc/include/asm/random.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __ASM_PPC_RANDOM_H__
-#define __ASM_PPC_RANDOM_H__
-
-static inline unsigned int arch_get_random(void)
-{
-    return 0;
-}
-
-#endif /* __ASM_PPC_RANDOM_H__ */
diff --git a/xen/include/asm-generic/random.h b/xen/include/asm-generic/random.h
new file mode 100644
index 0000000000..d0d35dd217
--- /dev/null
+++ b/xen/include/asm-generic/random.h
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_RANDOM_H__
+#define __ASM_GENERIC_RANDOM_H__
+
+static inline unsigned int arch_get_random(void)
+{
+    return 0;
+}
+
+#endif /* __ASM_GENERIC_RANDOM_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642123.1001350 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMo-0006vZ-Jd; Mon, 27 Nov 2023 14:13:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642123.1001350; Mon, 27 Nov 2023 14:13: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 1r7cMo-0006ts-9J; Mon, 27 Nov 2023 14:13:42 +0000
Received: by outflank-mailman (input) for mailman id 642123;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMm-0005XE-81
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:40 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 29874509-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:39 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-507a29c7eefso5569503e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:39 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.37
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 29874509-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094419; x=1701699219; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=JqLH1UtY7OVGSY4DIQ1ECGjJMVg4yHMMQVT4k4W5848=;
        b=gGGKqnGsWmSHKtYDArtm9ssTIfzF+zJDz1J+PdMiKT2ZES3W+DKCSo4ESt6eoLqeel
         +52bvii0ZGz7iawiJ5kJtHWHAfWA+vfc9fjmxSnsDmmvk6HkB7LkNCV2NU6GkS0uEXbo
         Vp9w2hx+1iTsSXrKTTQVlb4ROK5ZfrJuoBqXn+gd0clg+C/ENTXd3GhkgiuM1ae4wsGb
         YE7rQUIEmqhZnzKRM7mqqcixMtwau/Np+LY61GQu6Pvqm2aaNzuP+3BdtS6JMnUbsk+4
         x2Zxt/Jg1LkiT45HzgbYRGBJG3twTuUXF5W+nWjLeT+omeZaWL9M1f6KyHqhIQS7fCs8
         YUFg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094419; x=1701699219;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=JqLH1UtY7OVGSY4DIQ1ECGjJMVg4yHMMQVT4k4W5848=;
        b=gcBlphJHt9BkzgapbEovPUfL2fA/z3s8NuYn7QX5Fd1A0d7WF6qcpGfDUmzqQdXmvO
         Tq5sxndkgL2o53ZRdgVi3B2j8+6iV5gRdGktjScRLEnE7qCExCAq1Y4VfohG/xCnJRKY
         /SQrC1HAI0R2UCyC90q0a8a3OD5/+jSajf18faw/FoWFkn0Vg1YKPFO1QntibojzMqBe
         uh4t51iaLs2MkU5jv61vo4fSjCB13bALo8WkJqmZUzpTEatRESFU3FamOFC6+HIvdZ3U
         SG/hplVDUrQt+cHTChRuTVvBlE/+EAPIR89zIdjrw7NCRnPnVZmG92EVGbek26CyhAfM
         UEBA==
X-Gm-Message-State: AOJu0Yzp/hQ2/KjiMJ070gIRa0OAzRDZ6qCH950clsmaTa61R4KrQRkC
	uBSBGHPrFoGtTWUERz8MYkH/ACvO99w3+w==
X-Google-Smtp-Source: AGHT+IHt0FhUols5qxnlTvCt3Dy6pOvBwfZVdzrK9weVqGSEmrZ9XIK7fddDee0n8ARFW8Hd1UItQg==
X-Received: by 2002:a05:6512:3c91:b0:502:fdca:2eaa with SMTP id h17-20020a0565123c9100b00502fdca2eaamr6205170lfv.52.1701094418591;
        Mon, 27 Nov 2023 06:13:38 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 06/14] xen/asm-generic: introduce generic header percpu.h
Date: Mon, 27 Nov 2023 16:13:19 +0200
Message-ID: <7f10cbda3885a91e108e1a303fe74ffc21d1025c.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The patch introduces generic percpu.h which was based on Arm's version
with the following changes:
 * makes __per_cpu_data_end[] constant
 * introduce get_per_cpu_offset() for macros this_cpu() and this_cpu_ptr()
 * add inclustion of <asm/current.h> as get_per_cpu_offset() is located there.

Also it was changed a place where <asm/percpu.h> is included in <xen/percpu.h>
because asm-generic version of percpu.h started to include <asm/current.h> which
requires definition of DECLARE_PER_CPU.

As well the patch switches Arm, PPC and x86 architectures to use asm-generic
version of percpu.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in V4:
 - Added FIXME comment in ppc/current.h for get_per_cpu_offset()
 - Added Acked-by: Julien Grall <jgrall@amazon.com>.
---
Changes in V3:
 - switch all architectures to asm-generic version of percpu.h
 - introduce get_per_cpu_offset() and implement it architectures.
 - make __per_cpu_data_end constamt.
 - update the commit message.
---
Changes in V2:
	- use smp_processor_id() instead of get_processor_id().
 	- update commit message .
---
 xen/arch/arm/include/asm/Makefile             |  1 +
 xen/arch/arm/include/asm/current.h            |  3 +++
 xen/arch/ppc/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/current.h            |  6 +++++
 xen/arch/ppc/include/asm/percpu.h             | 24 -------------------
 xen/arch/x86/include/asm/Makefile             |  2 ++
 xen/arch/x86/include/asm/current.h            |  2 ++
 xen/arch/x86/include/asm/percpu.h             | 22 -----------------
 .../asm => include/asm-generic}/percpu.h      | 18 ++++++++------
 xen/include/xen/percpu.h                      |  4 ++--
 10 files changed, 28 insertions(+), 55 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/percpu.h
 create mode 100644 xen/arch/x86/include/asm/Makefile
 delete mode 100644 xen/arch/x86/include/asm/percpu.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/percpu.h (57%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 7593c4e8ee..60bb78fc09 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -2,5 +2,6 @@
 generic-y += device.h
 generic-y += iocap.h
 generic-y += paging.h
+generic-y += percpu.h
 generic-y += random.h
 generic-y += vm_event.h
diff --git a/xen/arch/arm/include/asm/current.h b/xen/arch/arm/include/asm/current.h
index 51d1c8efa8..0be7ad6ef9 100644
--- a/xen/arch/arm/include/asm/current.h
+++ b/xen/arch/arm/include/asm/current.h
@@ -5,6 +5,7 @@
 #include <xen/percpu.h>
 
 #include <asm/processor.h>
+#include <asm/sysregs.h>
 
 /* Tell whether the guest vCPU enabled Workaround 2 (i.e variant 4) */
 #define CPUINFO_WORKAROUND_2_FLAG_SHIFT   0
@@ -60,6 +61,8 @@ do {                                                    \
     this_cpu(cpu_id) = (id);                            \
 } while ( 0 )
 
+#define get_per_cpu_offset()  READ_SYSREG(TPIDR_EL2)
+
 #endif
 
 #endif /* __ARM_CURRENT_H__ */
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 039b0eb5ee..edef0fab78 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -3,5 +3,6 @@ generic-y += device.h
 generic-y += hypercall.h
 generic-y += iocap.h
 generic-y += paging.h
+generic-y += percpu.h
 generic-y += random.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/current.h b/xen/arch/ppc/include/asm/current.h
index 0ca06033f9..e329a548e6 100644
--- a/xen/arch/ppc/include/asm/current.h
+++ b/xen/arch/ppc/include/asm/current.h
@@ -4,6 +4,8 @@
 
 #include <xen/percpu.h>
 
+#include <asm/processor.h>
+
 #ifndef __ASSEMBLY__
 
 struct vcpu;
@@ -38,6 +40,10 @@ static inline struct cpu_info *get_cpu_info(void)
 
 #define guest_cpu_user_regs() (&get_cpu_info()->guest_cpu_user_regs)
 
+#define smp_processor_id()      0 /* TODO: Fix this */
+
+#define get_per_cpu_offset()    smp_processor_id() /* TODO: Fix this */
+
 #endif /* __ASSEMBLY__ */
 
 #endif /* __ASM_PPC_CURRENT_H__ */
diff --git a/xen/arch/ppc/include/asm/percpu.h b/xen/arch/ppc/include/asm/percpu.h
deleted file mode 100644
index e7c40c0f03..0000000000
--- a/xen/arch/ppc/include/asm/percpu.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef __PPC_PERCPU_H__
-#define __PPC_PERCPU_H__
-
-#ifndef __ASSEMBLY__
-
-extern char __per_cpu_start[], __per_cpu_data_end[];
-extern unsigned long __per_cpu_offset[NR_CPUS];
-void percpu_init_areas(void);
-
-#define smp_processor_id() 0 /* TODO: Fix this */
-
-#define per_cpu(var, cpu)  \
-    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
-#define this_cpu(var) \
-    (*RELOC_HIDE(&per_cpu__##var, smp_processor_id()))
-
-#define per_cpu_ptr(var, cpu)  \
-    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
-#define this_cpu_ptr(var) \
-    (*RELOC_HIDE(var, smp_processor_id()))
-
-#endif
-
-#endif /* __PPC_PERCPU_H__ */
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
new file mode 100644
index 0000000000..874429ed30
--- /dev/null
+++ b/xen/arch/x86/include/asm/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0-only
+generic-y += percpu.h
diff --git a/xen/arch/x86/include/asm/current.h b/xen/arch/x86/include/asm/current.h
index 35cca5cbe4..10950f36cc 100644
--- a/xen/arch/x86/include/asm/current.h
+++ b/xen/arch/x86/include/asm/current.h
@@ -102,6 +102,8 @@ static inline struct cpu_info *get_cpu_info(void)
 #define smp_processor_id()    (get_cpu_info()->processor_id)
 #define guest_cpu_user_regs() (&get_cpu_info()->guest_cpu_user_regs)
 
+#define get_per_cpu_offset()  (get_cpu_info()->per_cpu_offset)
+
 /*
  * Get the bottom-of-stack, as stored in the per-CPU TSS. This actually points
  * into the middle of cpu_info.guest_cpu_user_regs, at the section that
diff --git a/xen/arch/x86/include/asm/percpu.h b/xen/arch/x86/include/asm/percpu.h
deleted file mode 100644
index 2b0c29a233..0000000000
--- a/xen/arch/x86/include/asm/percpu.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef __X86_PERCPU_H__
-#define __X86_PERCPU_H__
-
-#ifndef __ASSEMBLY__
-extern char __per_cpu_start[], __per_cpu_data_end[];
-extern unsigned long __per_cpu_offset[NR_CPUS];
-void percpu_init_areas(void);
-#endif
-
-/* var is in discarded region: offset to particular copy we want */
-#define per_cpu(var, cpu)  \
-    (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
-#define this_cpu(var) \
-    (*RELOC_HIDE(&per_cpu__##var, get_cpu_info()->per_cpu_offset))
-
-#define this_cpu_ptr(var) \
-    (*RELOC_HIDE(var, get_cpu_info()->per_cpu_offset))
-
-#define per_cpu_ptr(var, cpu)  \
-    (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
-
-#endif /* __X86_PERCPU_H__ */
diff --git a/xen/arch/arm/include/asm/percpu.h b/xen/include/asm-generic/percpu.h
similarity index 57%
rename from xen/arch/arm/include/asm/percpu.h
rename to xen/include/asm-generic/percpu.h
index f1a8768080..60af4f9ff9 100644
--- a/xen/arch/arm/include/asm/percpu.h
+++ b/xen/include/asm-generic/percpu.h
@@ -1,28 +1,32 @@
-#ifndef __ARM_PERCPU_H__
-#define __ARM_PERCPU_H__
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_PERCPU_H__
+#define __ASM_GENERIC_PERCPU_H__
 
 #ifndef __ASSEMBLY__
 
 #include <xen/types.h>
-#include <asm/sysregs.h>
+#include <asm/current.h>
 
-extern char __per_cpu_start[], __per_cpu_data_end[];
+extern char __per_cpu_start[];
+extern const char __per_cpu_data_end[];
 extern unsigned long __per_cpu_offset[NR_CPUS];
 void percpu_init_areas(void);
 
 #define per_cpu(var, cpu)  \
     (*RELOC_HIDE(&per_cpu__##var, __per_cpu_offset[cpu]))
+
 #define this_cpu(var) \
-    (*RELOC_HIDE(&per_cpu__##var, READ_SYSREG(TPIDR_EL2)))
+    (*RELOC_HIDE(&per_cpu__##var, get_per_cpu_offset()))
 
 #define per_cpu_ptr(var, cpu)  \
     (*RELOC_HIDE(var, __per_cpu_offset[cpu]))
 #define this_cpu_ptr(var) \
-    (*RELOC_HIDE(var, READ_SYSREG(TPIDR_EL2)))
+    (*RELOC_HIDE(var, get_per_cpu_offset()))
 
 #endif
 
-#endif /* __ARM_PERCPU_H__ */
+#endif /* __ASM_GENERIC_PERCPU_H__ */
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/include/xen/percpu.h b/xen/include/xen/percpu.h
index c7bf57cbcd..57522f346b 100644
--- a/xen/include/xen/percpu.h
+++ b/xen/include/xen/percpu.h
@@ -1,8 +1,6 @@
 #ifndef __XEN_PERCPU_H__
 #define __XEN_PERCPU_H__
 
-#include <asm/percpu.h>
-
 #define DECLARE_PER_CPU(type, name) \
     extern __typeof__(type) per_cpu__ ## name
 
@@ -29,6 +27,8 @@
 
 #define get_per_cpu_var(var)  (per_cpu__##var)
 
+#include <asm/percpu.h>
+
 /* Linux compatibility. */
 #define get_cpu_var(var) this_cpu(var)
 #define put_cpu_var(var)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642124.1001356 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMp-0007BJ-Ay; Mon, 27 Nov 2023 14:13:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642124.1001356; Mon, 27 Nov 2023 14: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 1r7cMp-00077k-3d; Mon, 27 Nov 2023 14:13:43 +0000
Received: by outflank-mailman (input) for mailman id 642124;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMn-0005XE-C8
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:41 +0000
Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com
 [2a00:1450:4864:20::134])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2a57dcc0-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:40 +0100 (CET)
Received: by mail-lf1-x134.google.com with SMTP id
 2adb3069b0e04-50aab20e828so6079842e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:40 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.38
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2a57dcc0-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094420; x=1701699220; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=XCDKszFdTZd3ubNMlRIerIQDFL6fl03ubInCKVrFPUQ=;
        b=TNMzRNwDnfKy+7xq+ZNxoEVFavEBNz6eKhw8wGt1y6okTxV9ZvSBHqVBRDsIzJQi+d
         Ro1LlcX57rN9cnzl0kv5kWSgXWGJihrRD6QMoLym28CcwtRFMDY3WUJVFthnLD0Uvo2g
         OlsyVLqFTBQualAAffLxvmHlV9nAv6Q4gDkmRQuTZGa8MgQiX9gFQXCo8bUM6GYabw06
         ErpG+02APHpYMYHwGQEigiS09PtP6DCQ9TyF3u7N5K/sjTDb7ELUcnn0b4vEAkdgBQgd
         2c++mfSlgrRDjdNDpJJjScprdAIJ0gvRC/Rji1gzinGzUOsB/zCz8BaL9eWkoeuzTwNi
         AHvw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094420; x=1701699220;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=XCDKszFdTZd3ubNMlRIerIQDFL6fl03ubInCKVrFPUQ=;
        b=XnEyjjXrjjaIua1OdqA3AawxDvkPrL0j9EUsxF/gpuEQgEo3xy/ZodtDLtBoqb9gPB
         fGnK/proM5YE1FitDsJtNvgtt1TGLdE4xrzTRphLh0LzBWQtPKl1qBq3tRKLH+M5EYKQ
         RjPrpnuOwVwgiZlZW4MbtR+Uks9gu5kfW6IPqAQFNh6l/SRtcaTODoY8tAa18nN2Ib/G
         R+/6DVMeOBVw9uPYd4D+5wA8eAH+ROFZkW+WVm1hwWamtqNv4gfbbW3N4dx9ORep9q7I
         c7wrvUk3D2I7TJI226pw+G8uv/ySl/uRbWycB1Ei9PKE9w16DvpFahX8O2kmE2j8h5en
         X9Eg==
X-Gm-Message-State: AOJu0YwoA4vBB+q6EeQkSk4NF00jQN9nSvLTCj5P9tNGUv//XOJJLT1w
	l2/Lmm2Yc9c0GlnBTC+DUjBEaYYVU+iKVw==
X-Google-Smtp-Source: AGHT+IGIv7qDJm1UBS7MdqQQbNs8Vfeg3A1ypx4IfmzCjPBzEWLTSrDeeq68OF3ymgUlgnftq0yj9g==
X-Received: by 2002:a05:6512:23a7:b0:500:a66b:b189 with SMTP id c39-20020a05651223a700b00500a66bb189mr6988673lfv.51.1701094419620;
        Mon, 27 Nov 2023 06:13:39 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Julien Grall <jgrall@amazon.com>
Subject: [PATCH v4 07/14] xen/asm-generic: introduce generalized hardirq.h
Date: Mon, 27 Nov 2023 16:13:20 +0200
Message-ID: <4834c3e10a0dba429edb41c340065560ccf0d942.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/hardirq.h> is common through archs thereby it is moved
to asm-generic.

Arm and PPC were switched to asm generic verstion of hardirq.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in V4:
 - Added Reviewed-by: Jan Beulich <jbeulich@suse.com>.
 - Added Acked-by: Julien Grall <jgrall@amazon.com>.
---
Changes in V3:
 - Drop Arm and PPC's hardirq.h
 - Update the commit message.
---
Changes in V2:
	- add #include <xen/cache.h>.
	- update the commit message
---
 xen/arch/arm/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/hardirq.h            | 19 -------------------
 .../asm => include/asm-generic}/hardirq.h     |  8 +++++---
 4 files changed, 7 insertions(+), 22 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/hardirq.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/hardirq.h (79%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 60bb78fc09..f6f108bbb8 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += device.h
+generic-y += hardirq.h
 generic-y += iocap.h
 generic-y += paging.h
 generic-y += percpu.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index edef0fab78..3241236c64 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += device.h
+generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
 generic-y += paging.h
diff --git a/xen/arch/ppc/include/asm/hardirq.h b/xen/arch/ppc/include/asm/hardirq.h
deleted file mode 100644
index 343efc7e69..0000000000
--- a/xen/arch/ppc/include/asm/hardirq.h
+++ /dev/null
@@ -1,19 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_HARDIRQ_H__
-#define __ASM_PPC_HARDIRQ_H__
-
-#include <xen/cache.h>
-
-typedef struct {
-        unsigned long __softirq_pending;
-        unsigned int __local_irq_count;
-} __cacheline_aligned irq_cpustat_t;
-
-#include <xen/irq_cpustat.h>    /* Standard mappings for irq_cpustat_t above */
-
-#define in_irq() (local_irq_count(smp_processor_id()) != 0)
-
-#define irq_enter()     (local_irq_count(smp_processor_id())++)
-#define irq_exit()      (local_irq_count(smp_processor_id())--)
-
-#endif /* __ASM_PPC_HARDIRQ_H__ */
diff --git a/xen/arch/arm/include/asm/hardirq.h b/xen/include/asm-generic/hardirq.h
similarity index 79%
rename from xen/arch/arm/include/asm/hardirq.h
rename to xen/include/asm-generic/hardirq.h
index 67b6a673db..ddccf460b9 100644
--- a/xen/arch/arm/include/asm/hardirq.h
+++ b/xen/include/asm-generic/hardirq.h
@@ -1,5 +1,6 @@
-#ifndef __ASM_HARDIRQ_H
-#define __ASM_HARDIRQ_H
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_HARDIRQ_H
+#define __ASM_GENERIC_HARDIRQ_H
 
 #include <xen/cache.h>
 #include <xen/smp.h>
@@ -16,7 +17,8 @@ typedef struct {
 #define irq_enter()     (local_irq_count(smp_processor_id())++)
 #define irq_exit()      (local_irq_count(smp_processor_id())--)
 
-#endif /* __ASM_HARDIRQ_H */
+#endif /* __ASM_GENERIC_HARDIRQ_H */
+
 /*
  * Local variables:
  * mode: C
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642125.1001372 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMq-0007ct-Nr; Mon, 27 Nov 2023 14:13:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642125.1001372; Mon, 27 Nov 2023 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 1r7cMq-0007c2-H9; Mon, 27 Nov 2023 14:13:44 +0000
Received: by outflank-mailman (input) for mailman id 642125;
 Mon, 27 Nov 2023 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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMo-0005XE-SG
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:42 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2b39ff78-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:42 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-50970c2115eso5775410e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:42 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b39ff78-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094422; x=1701699222; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=RX3zgR/k3naH0cxTUjVNfFsJEx/hUFvxNDBlPipUY+c=;
        b=lzgv7d3v2jzlz5bDZm9QASV0BY8LTL+oqHbP5EmNJnUKCY9poi3YHrfkWAuxHGBz0w
         co3e5bWE1RpaNSVQssvWqwDfH96E0q1jwfzoSBAIWkgUvLThLQHlEjlFhwEU9s052520
         vDH7R5p0JygHeTXN4T/kymsvmM7yjFykklA6ySVJKzxA9Q6LrvGqaPVvVBabZbTL2fdC
         Xeni94Evj7PhGPDzGRqngBe1ySRd13d9cQdzwDZHUIc9tOzXyBgeXLe6di8B7C3lHa//
         LrY41UtLfd6nXNV7UuLTqd8TQGTKtd1SKUYwM1OrRZvuCsPcfO5gYJkq31mKrXGmNJcC
         PXbw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094422; x=1701699222;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=RX3zgR/k3naH0cxTUjVNfFsJEx/hUFvxNDBlPipUY+c=;
        b=o2dUqRT4UrwmjtndKz6/I1adipwqCjYOYrtFlj1tqV7JKKp7ug7+vcMw7SJdyjJX2O
         aeZludETxUyyxwrjUN7zz2IE/RJEMiJcP2vEvqhdp0j3/ij7ka7V4e6Fb6w8SW/GGoUk
         WY8J0U8eMCWhb20uJdPGAj+MrgolAEzwxsl2y14GJxXLD7RayOzj0LjWJwKiH1xVVRxd
         jDbvYhJYXh1QcJOr+iIQjx3CpT3XZUQppB5O5D8ZHasDNIALrZs149bqW9F1qa5gxqdI
         H9uGrQ66cpPrRbkXLWZMTS46h/O2iOiWVHpjtVRNAtVF3CE129OZVtO7tlSguMecneYC
         6bGA==
X-Gm-Message-State: AOJu0Yw1f4nujqcOk4w1x7k0DhHJwU6ZavPBmPiug6P8nG6i00yWcvgv
	76PI8gMeAJywdxTgWuje30lpLC8ZzD95cg==
X-Google-Smtp-Source: AGHT+IHgVb25jgNQ0m8/UNTAYkEhO51GThc7+/wtvJ6LjS77N58SkOQgkPS2ZRVjLDZYE1IfqMqnhw==
X-Received: by 2002:a05:6512:3c87:b0:50b:a64d:acf with SMTP id h7-20020a0565123c8700b0050ba64d0acfmr8699499lfv.59.1701094421004;
        Mon, 27 Nov 2023 06:13:41 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [PATCH v4 08/14] xen/asm-generic: introduce generic div64.h header
Date: Mon, 27 Nov 2023 16:13:21 +0200
Message-ID: <adc8456bd3c5574491f78ac7f8ce7934d359d005.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

All archs have the do_div implementation for BITS_PER_LONG == 64
so do_div64.h is moved to asm-generic.

x86 and PPC were switched to asm-generic version of div64.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V4:
 - Added Acked-by: Jan Beulich <jbeulich@suse.com>.
 - include <asm-generic/div64.h> in Arm's div64.h for 64-bit case.
---
Changes in V3:
 - Drop x86 and PPC's div64.h.
 - Update the commit message.
---
Changes in V2:
	- rename base to divisor
	- add "#if BITS_PER_LONG == 64"
	- fix code style
---
 xen/arch/arm/include/asm/div64.h  |  8 +-------
 xen/arch/ppc/include/asm/Makefile |  1 +
 xen/arch/ppc/include/asm/div64.h  | 14 --------------
 xen/arch/x86/include/asm/Makefile |  1 +
 xen/arch/x86/include/asm/div64.h  | 14 --------------
 xen/include/asm-generic/div64.h   | 27 +++++++++++++++++++++++++++
 6 files changed, 30 insertions(+), 35 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/div64.h
 delete mode 100644 xen/arch/x86/include/asm/div64.h
 create mode 100644 xen/include/asm-generic/div64.h

diff --git a/xen/arch/arm/include/asm/div64.h b/xen/arch/arm/include/asm/div64.h
index fc667a80f9..0459d5cc01 100644
--- a/xen/arch/arm/include/asm/div64.h
+++ b/xen/arch/arm/include/asm/div64.h
@@ -24,13 +24,7 @@
 
 #if BITS_PER_LONG == 64
 
-# define do_div(n,base) ({                                      \
-        uint32_t __base = (base);                               \
-        uint32_t __rem;                                         \
-        __rem = ((uint64_t)(n)) % __base;                       \
-        (n) = ((uint64_t)(n)) / __base;                         \
-        __rem;                                                  \
- })
+#include <asm-generic/div64.h>
 
 #elif BITS_PER_LONG == 32
 
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 3241236c64..5364bb1d59 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 generic-y += device.h
+generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
diff --git a/xen/arch/ppc/include/asm/div64.h b/xen/arch/ppc/include/asm/div64.h
deleted file mode 100644
index d213e50585..0000000000
--- a/xen/arch/ppc/include/asm/div64.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_DIV64_H__
-#define __ASM_PPC_DIV64_H__
-
-#include <xen/types.h>
-
-#define do_div(n, base) ({                       \
-    uint32_t base_ = (base);                     \
-    uint32_t rem_ = (uint64_t)(n) % base_;       \
-    (n) = (uint64_t)(n) / base_;                 \
-    rem_;                                        \
-})
-
-#endif /* __ASM_PPC_DIV64_H__ */
diff --git a/xen/arch/x86/include/asm/Makefile b/xen/arch/x86/include/asm/Makefile
index 874429ed30..daab34ff0a 100644
--- a/xen/arch/x86/include/asm/Makefile
+++ b/xen/arch/x86/include/asm/Makefile
@@ -1,2 +1,3 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += div64.h
 generic-y += percpu.h
diff --git a/xen/arch/x86/include/asm/div64.h b/xen/arch/x86/include/asm/div64.h
deleted file mode 100644
index dd49f64a3b..0000000000
--- a/xen/arch/x86/include/asm/div64.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef __X86_DIV64
-#define __X86_DIV64
-
-#include <xen/types.h>
-
-#define do_div(n,base) ({                       \
-    uint32_t __base = (base);                   \
-    uint32_t __rem;                             \
-    __rem = ((uint64_t)(n)) % __base;           \
-    (n) = ((uint64_t)(n)) / __base;             \
-    __rem;                                      \
-})
-
-#endif
diff --git a/xen/include/asm-generic/div64.h b/xen/include/asm-generic/div64.h
new file mode 100644
index 0000000000..068d8a11ad
--- /dev/null
+++ b/xen/include/asm-generic/div64.h
@@ -0,0 +1,27 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_DIV64
+#define __ASM_GENERIC_DIV64
+
+#include <xen/types.h>
+
+#if BITS_PER_LONG == 64
+
+#define do_div(n, divisor) ({                   \
+    uint32_t divisor_ = (divisor);              \
+    uint32_t rem_ = (uint64_t)(n) % divisor_;   \
+    (n) = (uint64_t)(n) / divisor_;             \
+    rem_;                                       \
+})
+
+#endif /* BITS_PER_LONG */
+
+#endif
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642126.1001383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMs-0007xK-4k; Mon, 27 Nov 2023 14:13:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642126.1001383; Mon, 27 Nov 2023 14:13: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 1r7cMr-0007wP-Uo; Mon, 27 Nov 2023 14:13:45 +0000
Received: by outflank-mailman (input) for mailman id 642126;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMq-0005XE-F8
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:44 +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 2c28e230-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:43 +0100 (CET)
Received: by mail-lf1-x12f.google.com with SMTP id
 2adb3069b0e04-507c5249d55so6473999e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:43 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c28e230-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094423; x=1701699223; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=MfFkIWV/5QoXgBfRidEiq3DVpTBnfp3dPpbyHjgJaBY=;
        b=hraTyRggYQESA8UfITKKImw3TsG4mc2Xo1KFagAyRWt6WmFNXVQnHPCxrG+/v4vbat
         y0l+iW+Sapq1WS2OmWL7Cv+u6EhSBcWpfS5JcH1o8X1FvlJGMqXWM+OD8G2zaHHRxxI4
         ES9XTXfFtIGlpDPhQg+VzII+1htiYEFL1/bbGhBHrYrB2LRE6mK3EC/UBktYP45Rj1h2
         YACDKT0ib7DIJ3kO3LD1b2AvYkpxsahCjUsCbdAeu0qOlTHDTCMWpWqaa9o9aOHcobXM
         2Y9s+4OOfHbZEN7fVGzny3TztbR/NSCujEtTBhcUfpAFAIyYeT1oEgEeZ0dVYG+vtCoa
         rCTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094423; x=1701699223;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=MfFkIWV/5QoXgBfRidEiq3DVpTBnfp3dPpbyHjgJaBY=;
        b=pBGq2Jz83Tc5/9GSaz4DSNzPGdJlcYmlMSlmiw51d90TmwbLSzWQCuxafXFbHBNp/i
         B1EHS3Jr35as0F2IC62v13nvamowUnyCzfdQt3FwxlMKA/jqmNpCOUIsEMMPcHTuJ6la
         pej1EPAXnuu/yXcGGf443B8L/SfxD3GYkFbksYc/BWBFNz/C3xqhyafDFKIf1gIqdH0a
         vfyinXPp8UaKTkOrJc6UKw9Ag3WZF19F1/Vpg/9mDKeHj/aHJjsDmFLoYI2mGO5r/554
         8O47VlovKIS/lfJtXa9M3BTAxJFJLesKmglYZPZOOa6hvsBEb8FOUqDcky9FDKe+o36e
         Iyew==
X-Gm-Message-State: AOJu0YyQZohu0PStcdoac3zhWjI2obAAEu3IXDtgxkT6Dl8o6kKx18dA
	CVZ4Y1leVs0M6WJVR2W9PNBnTHJght9dtg==
X-Google-Smtp-Source: AGHT+IHKIKz8d5RLuVwcYataUKXp7A3JIB7f6KQ7x0z9RxUJeoO8rwo+r/odpwVF2RJzG4fFifOa7w==
X-Received: by 2002:ac2:4c55:0:b0:507:a1b3:2d47 with SMTP id o21-20020ac24c55000000b00507a1b32d47mr8022420lfk.17.1701094422549;
        Mon, 27 Nov 2023 06:13:42 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 09/14] xen/asm-generic: introduce generic header altp2m.h
Date: Mon, 27 Nov 2023 16:13:22 +0200
Message-ID: <5e1846febdbc5b9ebfe61993231dbebc9457f083.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/alt2pm.h> is common between several archs so it is
moved to asm-generic.

Arm and PPC were switched to asm-generic version of altp2m.h.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Michal Orzel <michal.orzel@amd.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
---

 Michal asked the following:
  Shouldn't this copyright be moved to generic header as well?

 It seems to me that it is fine to leave the stub altp2m header
 without the copyright "Copyright (c) 2014, Intel Corporation.".
 
 If an absense of the copyright violates something I will be
 happy to add it during merge.

---
Changes in V4:
 - Update the commit message
 - Added Acked-by: Michal Orzel <michal.orzel@amd.com>
 - Added Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V3:
 - Drop Arm and PPC's altp2m.h
 - Update the commit message.
---
Changes in V2:
	- change uint16_t to unsigned int in declaration of altp2m_vcpu_idx
	- update the commit message
---
 xen/arch/arm/include/asm/Makefile |  1 +
 xen/arch/arm/include/asm/altp2m.h | 39 -------------------------------
 xen/arch/ppc/include/asm/Makefile |  1 +
 xen/arch/ppc/include/asm/altp2m.h | 25 --------------------
 xen/include/asm-generic/altp2m.h  | 34 +++++++++++++++++++++++++++
 5 files changed, 36 insertions(+), 64 deletions(-)
 delete mode 100644 xen/arch/arm/include/asm/altp2m.h
 delete mode 100644 xen/arch/ppc/include/asm/altp2m.h
 create mode 100644 xen/include/asm-generic/altp2m.h

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index f6f108bbb8..55d153ed82 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += altp2m.h
 generic-y += device.h
 generic-y += hardirq.h
 generic-y += iocap.h
diff --git a/xen/arch/arm/include/asm/altp2m.h b/xen/arch/arm/include/asm/altp2m.h
deleted file mode 100644
index df50cb2f09..0000000000
--- a/xen/arch/arm/include/asm/altp2m.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Alternate p2m
- *
- * Copyright (c) 2014, Intel Corporation.
- *
- * 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/>.
- */
-
-#ifndef __ASM_ARM_ALTP2M_H
-#define __ASM_ARM_ALTP2M_H
-
-#include <xen/sched.h>
-
-/* Alternate p2m on/off per domain */
-static inline bool altp2m_active(const struct domain *d)
-{
-    /* Not implemented on ARM. */
-    return false;
-}
-
-/* Alternate p2m VCPU */
-static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v)
-{
-    /* Not implemented on ARM, should not be reached. */
-    BUG();
-    return 0;
-}
-
-#endif /* __ASM_ARM_ALTP2M_H */
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 5364bb1d59..319e90955b 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -1,4 +1,5 @@
 # SPDX-License-Identifier: GPL-2.0-only
+generic-y += altp2m.h
 generic-y += device.h
 generic-y += div64.h
 generic-y += hardirq.h
diff --git a/xen/arch/ppc/include/asm/altp2m.h b/xen/arch/ppc/include/asm/altp2m.h
deleted file mode 100644
index bd5c9aa415..0000000000
--- a/xen/arch/ppc/include/asm/altp2m.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_ALTP2M_H__
-#define __ASM_PPC_ALTP2M_H__
-
-#include <xen/bug.h>
-
-struct domain;
-struct vcpu;
-
-/* Alternate p2m on/off per domain */
-static inline bool altp2m_active(const struct domain *d)
-{
-    /* Not implemented on PPC. */
-    return false;
-}
-
-/* Alternate p2m VCPU */
-static inline uint16_t altp2m_vcpu_idx(const struct vcpu *v)
-{
-    /* Not implemented on PPC, should not be reached. */
-    ASSERT_UNREACHABLE();
-    return 0;
-}
-
-#endif /* __ASM_PPC_ALTP2M_H__ */
diff --git a/xen/include/asm-generic/altp2m.h b/xen/include/asm-generic/altp2m.h
new file mode 100644
index 0000000000..39865a842a
--- /dev/null
+++ b/xen/include/asm-generic/altp2m.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_ALTP2M_H
+#define __ASM_GENERIC_ALTP2M_H
+
+#include <xen/bug.h>
+
+struct domain;
+struct vcpu;
+
+/* Alternate p2m on/off per domain */
+static inline bool altp2m_active(const struct domain *d)
+{
+    /* Not implemented on GENERIC. */
+    return false;
+}
+
+/* Alternate p2m VCPU */
+static inline unsigned int altp2m_vcpu_idx(const struct vcpu *v)
+{
+    /* Not implemented on GENERIC, should not be reached. */
+    BUG();
+    return 0;
+}
+
+#endif /* __ASM_GENERIC_ALTP2M_H */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642127.1001392 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMt-0008FN-EA; Mon, 27 Nov 2023 14:13:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642127.1001392; Mon, 27 Nov 2023 14:13: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 1r7cMt-0008F1-9I; Mon, 27 Nov 2023 14:13:47 +0000
Received: by outflank-mailman (input) for mailman id 642127;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMs-0005in-DY
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:46 +0000
Received: from mail-lf1-x12b.google.com (mail-lf1-x12b.google.com
 [2a00:1450:4864:20::12b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c95ebc5-8d2f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:13:44 +0100 (CET)
Received: by mail-lf1-x12b.google.com with SMTP id
 2adb3069b0e04-507c5249d55so6474024e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:44 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c95ebc5-8d2f-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094423; x=1701699223; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=bnIg8DAf+y9I4dvM43pjfdMpTdd4ChaNYKivfQNekNQ=;
        b=R+yLmRlOPLVRbLjrLZr8TmPEv7ofHHuWbbTvl6xe9l5xX/9kGmcCNQqI7A7inF/525
         fLmkaJ1/1g1kyHFGP+5S7vgJer2mAZC/Fdlzl/usTh1FF0z9TX5INxteRyUyPdGMdNCk
         VFloflCBgZR0TEIfg0mjD2gPmydwNJu8BaHboL3eO0DXnBA+4wJQ8Jb+HQEto40zjFIu
         PTr+PCNdiIcA4z0sjV/Liw59LgkgD/uOZkCW8dD52B30jqF2yDHT+gjDVj7TB9440YzQ
         /Fw6D4Nd3lPgHdLganMG6BtorUI9E/CUGvg3iNs2i43c9oy4sAhu5le94jB+xRjH0a2U
         fc4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094423; x=1701699223;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=bnIg8DAf+y9I4dvM43pjfdMpTdd4ChaNYKivfQNekNQ=;
        b=dHYKs8wzjr//hGNYNjzZ+6fnscBwMb8Zh03jSGXkLGeMPmofy3Ae+oNeo2mVGDiI8i
         4EJXnFbUX2pNKaGFjYAwg5GVkeEkXqlqIF5SSWCt26OO0WCpVPuG4Zd6qh71uBQIYxXE
         9ssLWt8OprJa8hDwkM5gpxbr/18KkyQmIKC1wuZ/ev7JHKdHKo/J/7STlcVdAFoizRul
         +iLroC/WB+3LWXOfTuJdmQ2u7tCadomBvTXgBABYGESy2VMkHnXTCT0dtCXT4kvfFHXs
         TZrw9hImhhp4yPOZq7/OetNlT9FBDj4flp74S9aKu667UGlXhM1pIv8E6dKEQYdguW1S
         acMQ==
X-Gm-Message-State: AOJu0YznDyYZ7mN104+OFf3EVtjACXyng4gC+3vOsLx1sZ6GA54sv1oc
	nMAv4aqPVhazIG6vk8oh8tEEPNEBx2N6Gg==
X-Google-Smtp-Source: AGHT+IEz0BsFdd9YfJPJCwRyQXF90Zskc6ipeZE43MBh+1q4c9KD9668ivj++xWsjE+B2qEDYYjk+g==
X-Received: by 2002:a05:6512:3b2c:b0:4fb:9f93:365f with SMTP id f44-20020a0565123b2c00b004fb9f93365fmr5720616lfv.38.1701094423201;
        Mon, 27 Nov 2023 06:13:43 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4 10/14] xen/asm-generic: introduce stub header monitor.h
Date: Mon, 27 Nov 2023 16:13:23 +0200
Message-ID: <83e16ccc588d35042b804e0d56ebdb5fe710695b.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The header is shared between several archs so it is
moved to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>.
---
Changes in V4:
 - Removed the double blank line.
 - Added Acked-by: Jan Beulich <jbeulich@suse.com>.
 - Update the commit message
---
Changes in V3:
 - Use forward-declaration of struct domain instead of " #include <xen/sched.h> ".
 - Add ' include <xen/errno.h> '
 - Drop PPC's monitor.h.
---
Changes in V2:
	- remove inclusion of "+#include <public/domctl.h>"
	- add "struct xen_domctl_monitor_op;"
	- remove one of SPDX tags.
---
 xen/arch/ppc/include/asm/Makefile  |  1 +
 xen/arch/ppc/include/asm/monitor.h | 43 ---------------------
 xen/include/asm-generic/monitor.h  | 62 ++++++++++++++++++++++++++++++
 3 files changed, 63 insertions(+), 43 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/monitor.h
 create mode 100644 xen/include/asm-generic/monitor.h

diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index 319e90955b..bcddcc181a 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -5,6 +5,7 @@ generic-y += div64.h
 generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
+generic-y += monitor.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
diff --git a/xen/arch/ppc/include/asm/monitor.h b/xen/arch/ppc/include/asm/monitor.h
deleted file mode 100644
index e5b0282bf1..0000000000
--- a/xen/arch/ppc/include/asm/monitor.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/* Derived from xen/arch/arm/include/asm/monitor.h */
-#ifndef __ASM_PPC_MONITOR_H__
-#define __ASM_PPC_MONITOR_H__
-
-#include <public/domctl.h>
-#include <xen/errno.h>
-
-static inline
-void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
-{
-}
-
-static inline
-int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
-{
-    /* No arch-specific monitor ops on PPC. */
-    return -EOPNOTSUPP;
-}
-
-int arch_monitor_domctl_event(struct domain *d,
-                              struct xen_domctl_monitor_op *mop);
-
-static inline
-int arch_monitor_init_domain(struct domain *d)
-{
-    /* No arch-specific domain initialization on PPC. */
-    return 0;
-}
-
-static inline
-void arch_monitor_cleanup_domain(struct domain *d)
-{
-    /* No arch-specific domain cleanup on PPC. */
-}
-
-static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
-{
-    BUG_ON("unimplemented");
-    return 0;
-}
-
-#endif /* __ASM_PPC_MONITOR_H__ */
diff --git a/xen/include/asm-generic/monitor.h b/xen/include/asm-generic/monitor.h
new file mode 100644
index 0000000000..6be8614431
--- /dev/null
+++ b/xen/include/asm-generic/monitor.h
@@ -0,0 +1,62 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * include/asm-GENERIC/monitor.h
+ *
+ * Arch-specific monitor_op domctl handler.
+ *
+ * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
+ * Copyright (c) 2016, Bitdefender S.R.L.
+ *
+ */
+
+#ifndef __ASM_GENERIC_MONITOR_H__
+#define __ASM_GENERIC_MONITOR_H__
+
+#include <xen/errno.h>
+
+struct domain;
+struct xen_domctl_monitor_op;
+
+static inline
+void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
+{
+}
+
+static inline
+int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
+{
+    /* No arch-specific monitor ops on GENERIC. */
+    return -EOPNOTSUPP;
+}
+
+int arch_monitor_domctl_event(struct domain *d,
+                              struct xen_domctl_monitor_op *mop);
+
+static inline
+int arch_monitor_init_domain(struct domain *d)
+{
+    /* No arch-specific domain initialization on GENERIC. */
+    return 0;
+}
+
+static inline
+void arch_monitor_cleanup_domain(struct domain *d)
+{
+    /* No arch-specific domain cleanup on GENERIC. */
+}
+
+static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
+{
+    return 0;
+}
+
+#endif /* __ASM_GENERIC_MONITOR_H__ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: BSD
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642128.1001404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMv-0000C5-EV; Mon, 27 Nov 2023 14:13:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642128.1001404; Mon, 27 Nov 2023 14:13: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 1r7cMv-0000Au-4T; Mon, 27 Nov 2023 14:13:49 +0000
Received: by outflank-mailman (input) for mailman id 642128;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMs-0005XE-Q4
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:46 +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 2d7bb9e7-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:46 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-50baa1ca01cso2655965e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:46 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.43
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2d7bb9e7-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094425; x=1701699225; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4bUm713lDLCEJ2dvdCey6eXivZPe2wBORV5zk7ydBpk=;
        b=JlyGcqPo+DwBzWs5Af2IgHUrjUzecFJlprbhtOxyQTsmGBsCRCYQ78VLby6L9PWX8A
         453e3XGVvWFC9zRn2l01w/NQmrvKDiny5wHpRtKQRTsD2lcB/Lr0Ead1IKHHgN7c1vFY
         ebIzVhQraI5ZZdw49qV838ANQeGSWwtaU6aB95DkGVk3D6yVP6Bj7tzrKLjANMhdDFI1
         7gVG853OOGdwEO6o7nIadaWZWCuv28/ZUwrBKebJxfjZufBosS/mm7MSKhEAR3MURsDd
         bI3yKEsZ8EGfQEog49/aBXe0M9XttH6a4VLb5IzrO4Z7EpPB6F/Owa9rscXOX65Iz+Kd
         WPrg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094425; x=1701699225;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=4bUm713lDLCEJ2dvdCey6eXivZPe2wBORV5zk7ydBpk=;
        b=pNf/8zNDbVq0nxbN74/B3coRRUQURUYJgtYPHEx5fQNmJtrXiLHiluBu53J7QOpbXy
         tAhvArHKNNKHqkTY6udgGdn7dKQDVnA+G8lAgJ5Wq/j+FjDCrt57U7EYGql2KrsJIrHh
         70ww/1xzyNgweBlpxUrzsUXaVV5duPILkIqvf6snqZt30PXrohEli6RiLy1Lp6TS28NU
         jyLoACIkr+uSZjMc3O80a7oUOEafe42If+Gqbm65ttXXkAIGl/m1IVR/HPeI/H2/u0V+
         ZD+O24OT8wQ03xc+9sfAnuLlcPrdQzjEBRVqGX7M9q+4b6Opp3FAog+xbixHs0g7laFH
         amCw==
X-Gm-Message-State: AOJu0Yx9dC0zuH1dB58dcVrHB9+NG3HX31rU7c0MQB8ZNXUUJLnL7yp0
	wW38uh8TqAi82A2TxffXO4I3CtJs3FKt/Q==
X-Google-Smtp-Source: AGHT+IEutomLAHesztCjy6aoYueTcP3YR8O+2sj2jEHca65VzhdmRPVVuTEfc3Fu8l4ECyaqLw3AZA==
X-Received: by 2002:ac2:44b2:0:b0:50b:aee4:ab12 with SMTP id c18-20020ac244b2000000b0050baee4ab12mr2615799lfm.53.1701094425004;
        Mon, 27 Nov 2023 06:13:45 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 11/14] xen/asm-generic: introduce stub header numa.h
Date: Mon, 27 Nov 2023 16:13:24 +0200
Message-ID: <44bb374738ad0cae041a0164812dfd33d091d954.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/numa.h> is common through some archs so it is moved
to asm-generic.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
---
Changes in V4:
 - Updated guards name: *ARCH_GENERIC* -> *ASM_GENERIC*.
 - Moved inclusion of xen/mm-frame.h under "#ifndef CONFIG_NUMA".
 - Added Reviewed-by: Michal Orzel <michal.orzel@amd.com>.
---
Changes in V3:
 - Remove old header inclusion in asm-generic numa.h and include
   <xen/mm-frame.h> and <xen/stdint.h>
 - Drop Arm and PPC's numa.h and use asm-generic version instead.
---
Changes in V2:
	- update the commit message.
	- change u8 to uint8_t.
	- add ifnded CONFIG_NUMA.
---
 xen/arch/arm/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/Makefile             |  1 +
 xen/arch/ppc/include/asm/numa.h               | 26 -------------------
 .../asm => include/asm-generic}/numa.h        | 14 ++++++----
 4 files changed, 11 insertions(+), 31 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/numa.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/numa.h (76%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index 55d153ed82..b8e0763c77 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -3,6 +3,7 @@ generic-y += altp2m.h
 generic-y += device.h
 generic-y += hardirq.h
 generic-y += iocap.h
+generic-y += numa.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index bcddcc181a..a4188dce1d 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -6,6 +6,7 @@ generic-y += hardirq.h
 generic-y += hypercall.h
 generic-y += iocap.h
 generic-y += monitor.h
+generic-y += numa.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
diff --git a/xen/arch/ppc/include/asm/numa.h b/xen/arch/ppc/include/asm/numa.h
deleted file mode 100644
index 7fdf66c3da..0000000000
--- a/xen/arch/ppc/include/asm/numa.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef __ASM_PPC_NUMA_H__
-#define __ASM_PPC_NUMA_H__
-
-#include <xen/types.h>
-#include <xen/mm.h>
-
-typedef uint8_t nodeid_t;
-
-/* Fake one node for now. See also node_online_map. */
-#define cpu_to_node(cpu) 0
-#define node_to_cpumask(node)   (cpu_online_map)
-
-/*
- * TODO: make first_valid_mfn static when NUMA is supported on PPC, this
- * is required because the dummy helpers are using it.
- */
-extern mfn_t first_valid_mfn;
-
-/* XXX: implement NUMA support */
-#define node_spanned_pages(nid) (max_page - mfn_x(first_valid_mfn))
-#define node_start_pfn(nid) (mfn_x(first_valid_mfn))
-#define __node_distance(a, b) (20)
-
-#define arch_want_default_dmazone() (false)
-
-#endif /* __ASM_PPC_NUMA_H__ */
diff --git a/xen/arch/arm/include/asm/numa.h b/xen/include/asm-generic/numa.h
similarity index 76%
rename from xen/arch/arm/include/asm/numa.h
rename to xen/include/asm-generic/numa.h
index e2bee2bd82..b00fca4978 100644
--- a/xen/arch/arm/include/asm/numa.h
+++ b/xen/include/asm-generic/numa.h
@@ -1,12 +1,15 @@
-#ifndef __ARCH_ARM_NUMA_H
-#define __ARCH_ARM_NUMA_H
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_NUMA_H
+#define __ASM_GENERIC_NUMA_H
 
-#include <xen/mm.h>
+#include <xen/stdint.h>
 
-typedef u8 nodeid_t;
+typedef uint8_t nodeid_t;
 
 #ifndef CONFIG_NUMA
 
+#include <xen/mm-frame.h>
+
 /* Fake one node for now. See also node_online_map. */
 #define cpu_to_node(cpu) 0
 #define node_to_cpumask(node)   (cpu_online_map)
@@ -26,7 +29,8 @@ extern mfn_t first_valid_mfn;
 
 #define arch_want_default_dmazone() (false)
 
-#endif /* __ARCH_ARM_NUMA_H */
+#endif /* __ASM_GENERIC_NUMA_H */
+
 /*
  * Local variables:
  * mode: C
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642129.1001409 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMw-0000H7-3B; Mon, 27 Nov 2023 14:13:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642129.1001409; Mon, 27 Nov 2023 14:13: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 1r7cMv-0000GB-KM; Mon, 27 Nov 2023 14:13:49 +0000
Received: by outflank-mailman (input) for mailman id 642129;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMt-0005XE-Q6
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:47 +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 2dfd07be-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:47 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-50baa3e5c00so2618142e87.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:47 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2dfd07be-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094426; x=1701699226; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=9kdAs1MJcXuPPHejdAkexStxGmrKeo9/ZkYuTVmb0VU=;
        b=gaR6X+8FRkkQpkK8YaCsEnW0h4u+XRUcTx9NSSAhe1N5/hZ6fuxHOn3b39ykRpLmrz
         TYoYqjaqiDhP2h29lijNnFL6gPpyl8DdHO20aU4J+eSm58wTDoQ6B/6XGBKma2TqmCeS
         6tz+Tu6Mkr+IfUXrXCa/tU7w6iOYO9iQHxdEKkME88QkxuuYaJfZV0gMATcLZSRV4AFd
         E4Du3txlTXTuS2ANR+Difu9lwn6CFpQSkNaICvTSEVUK4QJzwINvHvNelcmml8ZPu7Nx
         Rx6ymppq4F6a7MUnI1y/Gkyq28IYvfZYpHelHA0KoSzhBr/Vgy4dCA6mV2h+e7EPMV+3
         I+WA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094426; x=1701699226;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=9kdAs1MJcXuPPHejdAkexStxGmrKeo9/ZkYuTVmb0VU=;
        b=NHkO8sBWwHOibSc09KkK96Arhvy8uuKcaiIApuZ2njHgFfkNUjrLe98HPTzHGmIoS1
         7RtJuxgZawMith58zpTK3vEOX30IwzIR1CIgGJ+A32oPQZ2EIpC4FGo1VXgaK8F46Q1G
         gj/nYsF2eYAG4RTSNUaz0IF9/xW0RvfaQYaFxBv7VddSuGXJISo1d76yaKVy/WMr/07L
         37oyRWn19N/AyqKI5wKTmHtciKM5YFQWyPMRGFRxjOB6vTWLSfeQ2mM0NVZsEb6WqKcW
         tvbczZpBL8M8hmM5W7m97ujVRns7ESCdpOoCpiLJGbdeyJz/DS/MzGAGoQUYj6ZfxGJk
         Iopw==
X-Gm-Message-State: AOJu0Yycrc3LBYbIHWJBo+TCHGYVoWxKYGMVop2C0Qfo26O3abfxbHlQ
	gGjcG1vb//QisjgIPMtSeZ1MN7BIOyKtxw==
X-Google-Smtp-Source: AGHT+IF7XO+57hao/i105qRWNU98qqjNFbo7I+jgj+SEKPMIAIYlDITfNqO2ety+PmZfzc29dBzzUg==
X-Received: by 2002:a05:6512:1588:b0:50a:af72:538 with SMTP id bp8-20020a056512158800b0050aaf720538mr5095709lfb.55.1701094426379;
        Mon, 27 Nov 2023 06:13:46 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 12/14] xen/asm-generic: introduce stub header softirq.h
Date: Mon, 27 Nov 2023 16:13:25 +0200
Message-ID: <090991be61252cabefc06da19597e3a86a4cd1da.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

<asm/softirq.h> is common between Arm, PPC and RISC-V so it is
moved to asm-generic.

Drop Arm and PPC's softirq.h and use asm-generic version instead.

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Reviewed-by: Michal Orzel <michal.orzel@amd.com>
Added Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V4:
 - Added Reviewed-by: Michal Orzel <michal.orzel@amd.com>
 - Added Acked-by: Jan Beulich <jbeulich@suse.com>
---
Changes in V3:
 - Drop Arm and PPC's softirq.h
 - Update the commit message.
---
Changes in V2:
    - update the commit message.
---
 xen/arch/arm/include/asm/Makefile                         | 1 +
 xen/arch/ppc/include/asm/Makefile                         | 1 +
 xen/arch/ppc/include/asm/softirq.h                        | 8 --------
 .../arm/include/asm => include/asm-generic}/softirq.h     | 7 ++++---
 4 files changed, 6 insertions(+), 11 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/softirq.h
 rename xen/{arch/arm/include/asm => include/asm-generic}/softirq.h (56%)

diff --git a/xen/arch/arm/include/asm/Makefile b/xen/arch/arm/include/asm/Makefile
index b8e0763c77..c3f4291ee2 100644
--- a/xen/arch/arm/include/asm/Makefile
+++ b/xen/arch/arm/include/asm/Makefile
@@ -7,4 +7,5 @@ generic-y += numa.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
+generic-y += softirq.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
index a4188dce1d..4da0c70cc0 100644
--- a/xen/arch/ppc/include/asm/Makefile
+++ b/xen/arch/ppc/include/asm/Makefile
@@ -10,4 +10,5 @@ generic-y += numa.h
 generic-y += paging.h
 generic-y += percpu.h
 generic-y += random.h
+generic-y += softirq.h
 generic-y += vm_event.h
diff --git a/xen/arch/ppc/include/asm/softirq.h b/xen/arch/ppc/include/asm/softirq.h
deleted file mode 100644
index a0b28a5e51..0000000000
--- a/xen/arch/ppc/include/asm/softirq.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __ASM_PPC_SOFTIRQ_H__
-#define __ASM_PPC_SOFTIRQ_H__
-
-#define NR_ARCH_SOFTIRQS 0
-
-#define arch_skip_send_event_check(cpu) 0
-
-#endif /* __ASM_PPC_SOFTIRQ_H__ */
diff --git a/xen/arch/arm/include/asm/softirq.h b/xen/include/asm-generic/softirq.h
similarity index 56%
rename from xen/arch/arm/include/asm/softirq.h
rename to xen/include/asm-generic/softirq.h
index 976e0ebd70..83be855e50 100644
--- a/xen/arch/arm/include/asm/softirq.h
+++ b/xen/include/asm-generic/softirq.h
@@ -1,11 +1,12 @@
-#ifndef __ASM_SOFTIRQ_H__
-#define __ASM_SOFTIRQ_H__
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef __ASM_GENERIC_SOFTIRQ_H__
+#define __ASM_GENERIC_SOFTIRQ_H__
 
 #define NR_ARCH_SOFTIRQS       0
 
 #define arch_skip_send_event_check(cpu) 0
 
-#endif /* __ASM_SOFTIRQ_H__ */
+#endif /* __ASM_GENERIC_SOFTIRQ_H__ */
 /*
  * Local variables:
  * mode: C
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642130.1001421 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMx-0000kH-JV; Mon, 27 Nov 2023 14:13:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642130.1001421; Mon, 27 Nov 2023 14:13: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 1r7cMx-0000h1-7E; Mon, 27 Nov 2023 14:13:51 +0000
Received: by outflank-mailman (input) for mailman id 642130;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMv-0005XE-3w
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:49 +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 2efbd014-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:48 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-50baa2a278bso2638234e87.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:48 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.46
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2efbd014-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094428; x=1701699228; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+K9fYcSeRYeq73qmv3zekjZbm7cEpWWW1b3TdqlhfPg=;
        b=BqMvaPR0PLF41NXF89n9bb5OlRuBdPKIhEJZVsWgwooaeaii3yWcwWLHqRYji0nQ6m
         l1tc/cOrkFqPYc1ZycD3q6F43npcezsT/myPvl6FTcnKROlWFeseXHuuqtqgqjoWqiKm
         81FVIOB8DHl/KChRIiZshZ1q90Fz6ehEOJUzA9cbm1bS6CLK3mOKg9rhv4B6j0BnWqIP
         S0aAa3UJEu71w6V4JpRIEIZv0xXNcsM63ZNsR9kZY0+RXh+gR0CZOkNcM8XO8owSJRNK
         d/47TURUEikV4oQimOcjM265tpx89AUM+AhOsZi6YYpU0x+dbM/t0uYbFzcX3NFoJof7
         +J4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094428; x=1701699228;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+K9fYcSeRYeq73qmv3zekjZbm7cEpWWW1b3TdqlhfPg=;
        b=n0WVKEsZ/OWr1svRWQpQ6LgZZ02xfyoSJBkS33dF2G8f3efOrx969flD99rrRxBf+v
         Xc+fcF/VqYr597VUyDzU9xTWJ5nksVTn9rWvXKp0XSzJb6meY+8iGHCoOwzH6tpDxupW
         YKpGQ1LFrTqAfkdCozLvhIaGZZFddL/M3DCHSyuT3Ue1fCoq8S5+1GSfURt0n2Kl3L+N
         kLseLAGBmI/miFOx2K+ZNlWDNvBI0pN/LqqTcShpA18ggsZRP1c9Q3MlqVE7PY0FPLXx
         8pqBJxbDBSgE/7Dq+dtBchfEWVfNpqljE/2Vn1LJhodfCh77WrVxUfsn3D1MIdrTSKcd
         LirQ==
X-Gm-Message-State: AOJu0YyU3TOjBksFmpKB3L2hgWmT4Iv0DAeny4/TFQfJbsFOgi0rSOBY
	KrrPxGtfyhw5lR9ZB8bLQgvFwT+MD4KQcQ==
X-Google-Smtp-Source: AGHT+IGIcJqUMoKPodavVLftJXyzgym2+XXHilyK7pfv/1E5QyNQPki/WNSmULlxxUiUHUYFnU/9Vg==
X-Received: by 2002:a05:6512:11eb:b0:509:4bb5:ff96 with SMTP id p11-20020a05651211eb00b005094bb5ff96mr6195802lfs.59.1701094427177;
        Mon, 27 Nov 2023 06:13:47 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.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>,
	Shawn Anastasio <sanastasio@raptorengineering.com>
Subject: [PATCH v4 13/14] xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
Date: Mon, 27 Nov 2023 16:13:26 +0200
Message-ID: <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Ifdef-ing inclusion of <asm/grant_table.h> allows to avoid
generation of empty <asm/grant_table.h> for cases when
CONFIG_GRANT_TABLE is not enabled.

The following changes were done for Arm:
<asm/grant_table.h> should be included directly because it contains
gnttab_dom0_frames() macros which is unique for Arm and is used in
arch/arm/domain_build.c.
<asm/grant_table.h> is #ifdef-ed with CONFIG_GRANT_TABLE in
<xen/grant_table.h> so in case of !CONFIG_GRANT_TABLE gnttab_dom0_frames
won't be available for use in arch/arm/domain_build.c.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 - Nothing changed. Only rebase.
---
Changes in V3:
 - Remove unnecessary comment.
---
 xen/arch/arm/domain_build.c            | 1 +
 xen/arch/ppc/include/asm/grant_table.h | 5 -----
 xen/include/xen/grant_table.h          | 3 +++
 3 files changed, 4 insertions(+), 5 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/grant_table.h

diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index a26cbff68e..646862b10e 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -34,6 +34,7 @@
 
 #include <xen/irq.h>
 #include <xen/grant_table.h>
+#include <asm/grant_table.h>
 #include <xen/serial.h>
 
 #define STATIC_EVTCHN_NODE_SIZE_CELLS 2
diff --git a/xen/arch/ppc/include/asm/grant_table.h b/xen/arch/ppc/include/asm/grant_table.h
deleted file mode 100644
index d0ff58dd3d..0000000000
--- a/xen/arch/ppc/include/asm/grant_table.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_GRANT_TABLE_H__
-#define __ASM_PPC_GRANT_TABLE_H__
-
-#endif /* __ASM_PPC_GRANT_TABLE_H__ */
diff --git a/xen/include/xen/grant_table.h b/xen/include/xen/grant_table.h
index 85fe6b7b5e..50edfecfb6 100644
--- a/xen/include/xen/grant_table.h
+++ b/xen/include/xen/grant_table.h
@@ -26,7 +26,10 @@
 #include <xen/mm-frame.h>
 #include <xen/rwlock.h>
 #include <public/grant_table.h>
+
+#ifdef CONFIG_GRANT_TABLE
 #include <asm/grant_table.h>
+#endif
 
 struct grant_table;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:13:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:13:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642131.1001424 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cMy-0000q8-61; Mon, 27 Nov 2023 14:13:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642131.1001424; Mon, 27 Nov 2023 14:13: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 1r7cMx-0000p5-TE; Mon, 27 Nov 2023 14:13:51 +0000
Received: by outflank-mailman (input) for mailman id 642131;
 Mon, 27 Nov 2023 14:13: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7cMw-0005XE-7e
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:13:50 +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 2fa4ea2b-8d2f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:13:49 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-5094cb3a036so5768083e87.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:13:49 -0800 (PST)
Received: from fedora.. ([94.75.70.14]) by smtp.gmail.com with ESMTPSA id
 x29-20020ac259dd000000b00507b869b068sm1494100lfn.302.2023.11.27.06.13.48
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:13:48 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2fa4ea2b-8d2f-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701094429; x=1701699229; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=r0iOf2hTMhBZexTObReAkFaeeSyAcKp7YhGZC/f1qqo=;
        b=IKxGI901CiRxhXPOjVdmC3QmHJE+UzR0w8eEEmcV+3RQ7597Ag8S1yaC4EnN3xOpez
         P1DPTjhIRrZtxMvRryNcxx3uuxLHTfO0w69AeUoAz6gD3YRp1r5Bp0CkLp8JFpnxf+fO
         CisahWQ9u/lm1N8zu7jhU1ScGXx79pfDhe2GLbJTxF8w/6/S3OQPqTIquaxNUZQZ9p6S
         aiHX89z9kJgLV2LqWzUpJO5HJcCPLTtbrPfEOfXpG6NBQm4YZLaQI5XAqJQaKrpBiHxr
         BvbpKgj0ESMIKT8KMvoBp5vIQVWUCQL9EzVD8KLxqqJfZ+NDgI0w+LtryZJtaTw/u8Lf
         BWaw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701094429; x=1701699229;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=r0iOf2hTMhBZexTObReAkFaeeSyAcKp7YhGZC/f1qqo=;
        b=MaOkf4Ya1XvW2Gu/ZUWH0Rz72X4+X+M70bX2KU8AQMTR5IRwnyROVZAVkbaATIY9CY
         Dmjxer6sJ2Napfpr2FFBZXi9e8N6/K83f8ZI4Wc3iRKaAR4cM1LKfBIpw2V7KkgGubRr
         6j7rnM8U9PFSPuPe8gLq2wILuGmvFG9o82ofDEQgR7qjfl9VwpqaxTJ7kSM0VRL3qZ0n
         6MvMBwDPDsyEVVx0rZWmM6e7AXO3HzL97Xglug8FbcbKIcfSjPMrdDKY7U7mHtiYLMm9
         VkXmRSjz+Y1xsd1/36kv0MU1eUGuewoKkt/Wh/cTn0ymfMuSh1xQwO/qKSdv+VH8lBGx
         kDIQ==
X-Gm-Message-State: AOJu0YziFF89onLU7dfaLeomqYYgXbr6yaT1tkub7GDWF0VaSicEIl0B
	qDaAKSbjhUfv+0KoYkUGf+joLWH6s9KNwQ==
X-Google-Smtp-Source: AGHT+IEn+2Umx1QwZQfZosBAm8En1WuFDBDCAyHpi2S4U21cq4UkU/GGWMJwz0BiPihG4x1eHoNoXw==
X-Received: by 2002:a05:6512:3694:b0:50a:7640:6a83 with SMTP id d20-20020a056512369400b0050a76406a83mr6658554lfs.32.1701094429022;
        Mon, 27 Nov 2023 06:13:49 -0800 (PST)
From: Oleksii Kurochko <oleksii.kurochko@gmail.com>
To: xen-devel@lists.xenproject.org
Cc: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Bertrand Marquis <bertrand.marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Tamas K Lengyel <tamas@tklengyel.com>,
	Alexandru Isaila <aisaila@bitdefender.com>,
	Petre Pircalabu <ppircalabu@bitdefender.com>,
	Shawn Anastasio <sanastasio@raptorengineering.com>,
	Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v4 14/14] xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
Date: Mon, 27 Nov 2023 16:13:27 +0200
Message-ID: <c89f80900a0e2dc6188cea79b60a68604938f7c9.1701093907.git.oleksii.kurochko@gmail.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

ifdefing inclusion of <asm/mem_access.h> in <xen/mem_access.h>
allows to avoid generation of empty <asm/mem_access.h> header
for the case when !CONFIG_MEM_ACCESS.

For Arm it was explicitly added inclusion of <asm/mem_access.h> for p2m.c
and traps.c because they require some functions from <asm/mem_access.h> which
aren't available in case of !CONFIG_MEM_ACCESS.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
---
Changes in V4:
 - Nothing changed. Only rebase.
---
Changes in V3:
 - Remove unnecessary comment.
---
 xen/arch/arm/p2m.c                    | 1 +
 xen/arch/arm/traps.c                  | 1 +
 xen/arch/ppc/include/asm/mem_access.h | 5 -----
 xen/include/xen/mem_access.h          | 2 ++
 4 files changed, 4 insertions(+), 5 deletions(-)
 delete mode 100644 xen/arch/ppc/include/asm/mem_access.h

diff --git a/xen/arch/arm/p2m.c b/xen/arch/arm/p2m.c
index b991b76ce4..2465c266e9 100644
--- a/xen/arch/arm/p2m.c
+++ b/xen/arch/arm/p2m.c
@@ -7,6 +7,7 @@
 #include <asm/event.h>
 #include <asm/flushtlb.h>
 #include <asm/guest_walk.h>
+#include <asm/mem_access.h>
 #include <asm/page.h>
 #include <asm/traps.h>
 
diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c
index 8492e2b7bb..0ad056b89b 100644
--- a/xen/arch/arm/traps.c
+++ b/xen/arch/arm/traps.c
@@ -35,6 +35,7 @@
 #include <asm/cpufeature.h>
 #include <asm/event.h>
 #include <asm/hsr.h>
+#include <asm/mem_access.h>
 #include <asm/mmio.h>
 #include <asm/regs.h>
 #include <asm/smccc.h>
diff --git a/xen/arch/ppc/include/asm/mem_access.h b/xen/arch/ppc/include/asm/mem_access.h
deleted file mode 100644
index e7986dfdbd..0000000000
--- a/xen/arch/ppc/include/asm/mem_access.h
+++ /dev/null
@@ -1,5 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef __ASM_PPC_MEM_ACCESS_H__
-#define __ASM_PPC_MEM_ACCESS_H__
-
-#endif /* __ASM_PPC_MEM_ACCESS_H__ */
diff --git a/xen/include/xen/mem_access.h b/xen/include/xen/mem_access.h
index 4e4811680d..87d93b31f6 100644
--- a/xen/include/xen/mem_access.h
+++ b/xen/include/xen/mem_access.h
@@ -33,7 +33,9 @@
  */
 struct vm_event_st;
 
+#ifdef CONFIG_MEM_ACCESS
 #include <asm/mem_access.h>
+#endif
 
 /*
  * Additional access types, which are used to further restrict
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:31:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642168.1001443 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ceM-0004mZ-Ss; Mon, 27 Nov 2023 14:31:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642168.1001443; Mon, 27 Nov 2023 14: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 1r7ceM-0004mS-Px; Mon, 27 Nov 2023 14:31:50 +0000
Received: by outflank-mailman (input) for mailman id 642168;
 Mon, 27 Nov 2023 14:31: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7ceL-0004g0-G5
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:31:49 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061d.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b1927b77-8d31-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:31:47 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB9192.eurprd04.prod.outlook.com (2603:10a6:20b:44f::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Mon, 27 Nov
 2023 14:31:44 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 14:31: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: b1927b77-8d31-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Dk1V/AChgWxEMf83CoPP53IfVOUQdSg4q2WdNHEF6OjTZMDJVUXlJjegfLjAYA1d186QWydVbkpjZpmrvaj/ZBPVdFh287ooioAX++HCeCgUdc5bRB0f0YbadmbEp64WrevFvPt5lC8uvraPzYolvdMQDJm6E0RzFSvd1zOKTk3YpKAJO0PMXqn7RPrvRaHGD+hnbBwbeYnKZTKtW0Cpf38k1ripcY2HDWahkK3mSZXIUa1oRUmNeY8DuNxDgDWHrZHtb0hzNE7bGhmSs84qdiDozDaESiWlO6EEd4M2uN6pAMXEAQ9Fz5e9dPqdug3YugtH9MW7gYCaki61LrwPMg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O3o01JpG/ONgP3fXyjJdNK7Uj9Vrj5CkGgyQegYFhO0=;
 b=dTczqZYm5vPeYW8qMzxiaHI+UU72G/rCOXD72muFNl/15k7qYuz3A8N9Ouk/gzsE55oRRoPbOHWJJKaEtJPzcw/K7g/aud86fQGxkkRw2T5TfcJIHCaGcZWewurZgI+OmcC5SFntvi/ldyyV/oeiacazU3LRfBvdUcVdYpYM3L2cxGHATuO6dfzDttCKpHOpAkcWqgAMSZg7iOzFsGbuL0wiwTFIslKy6PRQpYpFMNOMAffXyimHvOWHy3ny7aOUvX9fq/7exSGr8a/siODioJUjxJ9EMzPUuGPyiHm8rJSdD+ERKlVVfYDgKnl2MhUmFZOBRMgNpj+bmrx1eVjmQg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O3o01JpG/ONgP3fXyjJdNK7Uj9Vrj5CkGgyQegYFhO0=;
 b=txP6d9Tj1lCewP5rsPosYoPg2kdqhTFwzbrFQn9Z5TePwYVkAeM4WNWWyoDr/620p47beohkjk9xjq1PX+mUdVyUY7Im9F1jViaP+c2cBsiBJZd/tLV7Ccre7Prx1kC5jarnrU/PQkwSo9UnZHB2lUZ+bwH0p3E3qwGsdfkLIrWZlhFEnmWTSkFmEOkmoOiUWfX/qbOWIAq9YFjL5FSFGu5ISM8wbSo11+OiLMzslnZkLU00AZ0iVWkcsYnYrWk9Goj8jF9wCT4eEsvR/dqlSqQS7DzyqIisVPyfkj8szCuRO4ygKWlqbsnSQjuKOoHLWL/wsUG8+lJ2D4QDhN/C6w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6aa8c7e5-c13e-43e0-bec4-74827407c985@suse.com>
Date: Mon, 27 Nov 2023 15:31:41 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB9192:EE_
X-MS-Office365-Filtering-Correlation-Id: a4ff193e-db16-4b01-2eba-08dbef5593f1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SZi3YZungd24kzxIdurtPY0mu/6moEtyNosrK10KuxLBNSBkUz6CBFelRUDDJnkcuUmEwVb6MjwUDA9vcBKjK69usgBb7/mtS4eUje/JvA1nJI0fZDngfo+uVQkzbUOz0SLwrpmrvIb5tTMrxdh9EYOIDE8A3s/MuDXXAPzC9GYH8juES3ukj5jSeK4HnWcbdtn6Gs7ZcmBSzowTIv4oJaI/IPK3+uOG9rus7tTubHzLtQZH6bjeSdvrrsbYG4Pu4BkqnyqxltMEWqGwF+dLCT93N8jzviykEHdSagC1n3MJuUAV+D0g3jIjKzWr+/wvXYZ4ZW9kvf5jRYYZZp4YlZJEGJbzWzff6ic6TRx+NpTU9I4LqB3a0nt/qUF980163tck6CKJAHZ+xC+omn/D9Jcjx6bab5s4Yepbxqekn+kzaDp3r3tOgJOJnJuHC4qFb9hZQvw8xtDJ+BudKCzMRp/m5pGvxSJEjiH24oCQ0U9LA+9l5qKRippC+I0D/TD96bwxLSLdgbSu8C9tHSuyEoOLfarVp429p2SfezMPmP0a9cgVncI/zKcpk3rj4OoluT21ZnL1a771eacZ8YPlkjeijiNVZezr9bBVBtmMCOHWKOnj/+bAUeplt/CSbYwt8SylyizGIzsDniH3fjf38HbLGikmQ/DqTk4H729kBSs=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(366004)(376002)(136003)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(2616005)(26005)(6506007)(6512007)(53546011)(4326008)(8676002)(8936002)(5660300002)(6486002)(7416002)(31696002)(86362001)(478600001)(316002)(66946007)(66556008)(6916009)(54906003)(66476007)(38100700002)(83380400001)(31686004)(41300700001)(36756003)(2906002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RklxWi96VFpwVHljMW43djRDNzNXd1lNazJNam9VV3dmZ1ArNFZXUktvbnJ4?=
 =?utf-8?B?MGZ0cGhWU3VjZUZVR3hXdUVkR0VNdkJKaE0xQVVkU2FQSXFHTmRzK3JOeHdQ?=
 =?utf-8?B?WFpBSHVwM0p5RE1rRVRkVzV4cFNKTi8wUGM1MUdKMDZ5Y05WMHNYTVlFc0pG?=
 =?utf-8?B?ZFgxa0VRWjZ6T1VNMkt2Z2Z4Qm9DOFNIVjc5b2JEK2xsS2xKLzBNUGgzcG5P?=
 =?utf-8?B?QWNXa0JsczJFUHAvdStiY0dVZ25LcXlJSlUyUldWeUdWcmtHbEpiaWpvVDd4?=
 =?utf-8?B?SWhrVlVRV2JZS1ArZGJSTWtiZEpmOUlxK1lwZVhCdGQwN29KNWdNSG1yQjQ0?=
 =?utf-8?B?eGFhWUprRjN4WDVDWGVONk85cWN6bklsWDBLSXNTN2x4MEw3c0dGdHVXYWVk?=
 =?utf-8?B?WXU4eDhNQi84bFpqVXllL1JNQXVjZnhieUVyaDZZVWh0S1I0QlBNOU1TUVRD?=
 =?utf-8?B?ZmhzblU1Wm1ZZkNCdnZqTXZXUnRxM1prM1pKV1ZDc2VOZ0JGbFQ2N3huSG9o?=
 =?utf-8?B?MldNWXBOcVVwNkQ4QThKbSt4eDlYandwNkw1QmhYMnhJYnhkK1EvSVVDUTVi?=
 =?utf-8?B?SGoyb2NvL0grc3FSa0wwSEQyTDdxSEhGZFFSZGFpWEZRem45Q0ZDQ21hdGNy?=
 =?utf-8?B?REFMblRnQWtOVWVxMFdBR05ybytxaEt0ZFN5UmZNdnlVRXpyYlZjdWZCWHVx?=
 =?utf-8?B?elBzajNPejJ3OG9XYTRCY3JDRlVDQkVjQm5rSXB5M2hvNHgxRm1nbEQ2a2Zq?=
 =?utf-8?B?M2ZiZHFqbVNNclduTEJJaFErUXhpUmYwWFZYT3NpdUVZQnhFQysyemordEFR?=
 =?utf-8?B?ZU1KU3l2by8zaHlFdGhhcUVPWTc4KytVNm1kSFk5dU1NMkV1QW9GSGhmY3dl?=
 =?utf-8?B?UGtJRTBSeHlkSVVFZU1vMUZSS2ZPWlNJYUJiMHdaU3V4R3lEQXBYVEhDVjFj?=
 =?utf-8?B?Y0FoM3dSeFo2WWdkeTFGaWdDVENIWmlwK0R0ZXFESmlCZ0xMeUYzb1NoN0NE?=
 =?utf-8?B?Z2ZaSmIwSXZVTTV2TUdSMmtYUFUzYk9pdyt5b3NZNmV0SUlJYnBGSjlIZEhD?=
 =?utf-8?B?U3p2bXl0cDVjUVh2aTltdlZoVmpYOWlCUWpIK080ZnN2M25WSk01VlV6NEZO?=
 =?utf-8?B?VitkNkRtZC9RYlN2dHo4d3UyV0JXQU9PQ3BONUlvZWdTUVkxRDhqbGFyNWRv?=
 =?utf-8?B?ellkUVFFdDFhQWpWMDBqeCtOcDRWNnR1MmF0REttdUZ5T1h4ZEpXNU5xQU9V?=
 =?utf-8?B?a0Y5dHhieWlsRVdJK1ZkczFldUQ4N1FPelJJMUJYeHpmdUE4WjIzVGVVWUdk?=
 =?utf-8?B?dnkyUUJQbmhPM0xPMkZNSi9FbUptWFpUWU4zQlR2UEt6N0RMNTRPekhyYUxh?=
 =?utf-8?B?UTBRSDFzK3RpZWJBblhGelNKWjZEekZuUUdDcTM5NEZhbGlnamZxZUFENHNY?=
 =?utf-8?B?WXFNYjZ5RUZFUTVQRGY1M2p1RDg2VGpiZHIxVXFaWnBtTXZ6OHp2M3FxWFZP?=
 =?utf-8?B?VFd2KzRwclhaS1ZZUVd2eFhERGFpYm10Zk51dzhPcXB4bUlDN0JLWk1jZGZ4?=
 =?utf-8?B?aG9LZ28raDQyR2V4bm5sQ2c3ZjVmZ0pDQ3N0SUMvTEN0SzJDUkVoWk1tNVVM?=
 =?utf-8?B?U01UM2ZzL2FIOHZPQXg0Zmo2eS9TWkdDcUp0dXNMSUdKU3hVNy81RnRRekR5?=
 =?utf-8?B?VWMvMjhzSm9hTW9icll4ZURwMzBQN0pyM0VlcWxPL3ZTZ1IwSXAySG1lNjhF?=
 =?utf-8?B?Q3ZyMXRzQUhHUWxIQkxKSnNRVXJ4Q0ladTQ5aytEbHF6ZmMxZ0w1ZHNyTk0z?=
 =?utf-8?B?TzhTNCs4ZHJ2dy80aElwS0ZIQzRubm9IZFltSEF4ZTVJUDhkay9BVldqNEpp?=
 =?utf-8?B?OURrV1dmRVpoamxBRG9pV29yVnNUdW1HMHpHc0JvcTFVODYyUWc4WDlaenFU?=
 =?utf-8?B?UlRBTXJ5MmJoN1NRMnZwT0xudGdNMm5IK3hET0pBL2Rzd1Bjb0Q3UEJhNkY2?=
 =?utf-8?B?c1BhZXlxOU1aWjl0dWFzWWxlK2ZkYWJnQ1lhL3hHY2RlVGtsVXowS1RrWVQ1?=
 =?utf-8?B?cTY2eWxmR0VMdldXOFBtRkxtL2JtN1BCWjJFbjAvNUN5RlJUMWtsOHhxRlRF?=
 =?utf-8?Q?NIjOincsLOe4cutNaaF/3yhSv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a4ff193e-db16-4b01-2eba-08dbef5593f1
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:31:43.8538
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: QiJFltSXWfbr3agYSnSjQyUtbBNO3jBsY00MLGrFAviiWx3s+wLFpX8itMxO2yJXU1ctHaSQGKRHLDayJx1wyA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB9192

On 27.11.2023 15:13, Oleksii Kurochko wrote:
> Arm, PPC and RISC-V use the same device.h thereby device.h
> was moved to asm-generic. Arm's device.h was taken as a base with
> the following changes:
>  - #ifdef PCI related things.
>  - #ifdef ACPI related things.
>  - Rename #ifdef guards.
>  - Add SPDX tag.
>  - #ifdef CONFIG_HAS_DEVICE_TREE related things.
>  - #ifdef-ing iommu related things with CONFIG_HAS_PASSTHROUGH.
> 
> Also Arm and PPC are switched to asm-generic version of device.h
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> ---
> Changes in V4:
>  - Updated the commit message
>  - Switched Arm and PPC to asm-generic version of device.h
>  - Replaced HAS_PCI with CONFIG_HAS_PCI
>  - ifdef-ing iommu filed of dev_archdata struct with CONFIG_HAS_PASSTHROUGH
>  - ifdef-ing iommu_fwspec of device struct with CONFIG_HAS_PASSTHROUGH
>  - ifdef-ing DT related things with CONFIG_HAS_DEVICE_TREE
>  - Updated the commit message ( remove a note with question about
>    if device.h should be in asm-generic or not )
>  - Replaced DEVICE_IC with DEVICE_INTERRUPT_CONTROLLER
>  - Rationalized usage of CONFIG_HAS_* in device.h
>  - Fixed indents for ACPI_DEVICE_START and ACPI_DEVICE_END
> ---
> Changes in V3:
>  - ifdef device tree related things.
>  - update the commit message
> ---
> Changes in V2:
> 	- take ( as common ) device.h from Arm as PPC and RISC-V use it as a base.
> 	- #ifdef PCI related things.
> 	- #ifdef ACPI related things.
> 	- rename DEVICE_GIC to DEVIC_IC.
> 	- rename #ifdef guards.
> 	- switch Arm and PPC to generic device.h
> 	- add SPDX tag
> 	- update the commit message
> 
> ---
>  xen/arch/arm/device.c                         |  15 ++-
>  xen/arch/arm/domain_build.c                   |   2 +-
>  xen/arch/arm/gic-v2.c                         |   4 +-
>  xen/arch/arm/gic-v3.c                         |   6 +-
>  xen/arch/arm/gic.c                            |   4 +-
>  xen/arch/arm/include/asm/Makefile             |   1 +
>  xen/arch/ppc/include/asm/Makefile             |   1 +
>  xen/arch/ppc/include/asm/device.h             |  53 --------
>  xen/arch/ppc/include/asm/irq.h                |   4 +
>  .../asm => include/asm-generic}/device.h      | 125 +++++++++++-------
>  xen/include/headers++.chk.new                 |   0
>  11 files changed, 106 insertions(+), 109 deletions(-)
>  delete mode 100644 xen/arch/ppc/include/asm/device.h
>  rename xen/{arch/arm/include/asm => include/asm-generic}/device.h (79%)
>  create mode 100644 xen/include/headers++.chk.new

Stray new file, presumably because of a missing entry in .gitignore?

Overall I think there are too many changes done all in one go here.
But it's mostly Arm which is affected, so I'll leave judging about that
to the Arm maintainers.

> --- a/xen/arch/ppc/include/asm/irq.h
> +++ b/xen/arch/ppc/include/asm/irq.h
> @@ -3,7 +3,9 @@
>  #define __ASM_PPC_IRQ_H__
>  
>  #include <xen/lib.h>
> +#ifdef CONFIG_HAS_DEVICE_TREE
>  #include <xen/device_tree.h>
> +#endif
>  #include <public/device_tree_defs.h>

Why would this #ifdef not cover the public header as well? (Otherwise I'd
be inclined to ask that the conditional be moved inside that header.)

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:32:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:32:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642169.1001453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ceb-00059N-7U; Mon, 27 Nov 2023 14:32:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642169.1001453; Mon, 27 Nov 2023 14: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 1r7ceb-00059G-4L; Mon, 27 Nov 2023 14:32:05 +0000
Received: by outflank-mailman (input) for mailman id 642169;
 Mon, 27 Nov 2023 14:32: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=VqC2=HI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r7cea-0004g0-3N
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:32:04 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ba94ded3-8d31-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:32:02 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 930AB4EE0737;
 Mon, 27 Nov 2023 15:32:01 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ba94ded3-8d31-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Mon, 27 Nov 2023 15:32:01 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Xen Devel <xen-devel@lists.xenproject.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Jbeulich
 <jbeulich@suse.com>, Andrew Cooper3 <andrew.cooper3@citrix.com>, Julien
 Grall <julien@xen.org>, George Dunlap <george.dunlap@citrix.com>, Wei Liu
 <wl@xen.org>
Subject: Re: MISRA: Compatible declarations for sort and bsearch
In-Reply-To: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
References: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
Message-ID: <ca540835e3cce50a852fdf2b3956205a@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-24 10:40, Nicola Vetrini wrote:
> Hi all,
> 
> in xen/lib.h and xen/sort.h there are definitions of the functions 
> bsearch and sort that have no prior declarations, and therefore are 
> subject to a violation of MISRA C Rule 8.4.
> 
> I'm wondering whether it would be preferred
> 
> 1. to put a declaration just before the definition, in lib.h and sort.h
> 2. deviate these functions, as their signatures are well-known and 
> somewhat standardized
> 
> other resolution strategies are possible, but I think these are the 
> main ones.

Still on the matter of Rule 8.4, though not related to bsearch or sort:

- the definition of do_mca in x86/cpu/mcheck/mca.c has the following 
header:
   #include <xen/hypercall.h> /* for do_mca */
   which in turn leads to x86/include/asm/hypercall.h, which includes the 
following:
   #include <public/arch-x86/xen-mca.h> /* for do_mca */

   where I can't see a declaration for do_mca, as I would have expected. 
I'd like to understand what's going on here, since I may be missing some 
piece of information (perhaps something is generated during the build).

- x86/traps.c do_general_protection may want a declaration in 
x86/include/asm/traps.h, or perhaps it should gain the asmlinkage 
attribute, given that it's used only by asm and the TU that defines it.

- function test and variable data in x86/efi/check.c look like they 
should not be MISRA compliant, so they may be added to the 
exclude-list.json

- given the comment in xen/common/page_alloc.c for first_valid_mfn

/*
  * first_valid_mfn is exported because it is use in ARM specific NUMA
  * helpers. See comment in arch/arm/include/asm/numa.h.
  */
mfn_t first_valid_mfn = INVALID_MFN_INITIALIZER;

and the related ARM comment

/*
  * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
  * is required because the dummy helpers are using it.
  */
extern mfn_t first_valid_mfn;

it should probably be deviated.

- compat_set_{px,cx}_pminfo in x86/x86_64/cpufreq.c are perhaps declared 
with an autogenerated header?

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:33:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:33:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642171.1001462 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cfc-0006OA-GM; Mon, 27 Nov 2023 14:33:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642171.1001462; Mon, 27 Nov 2023 14:33: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 1r7cfc-0006O3-Dl; Mon, 27 Nov 2023 14:33:08 +0000
Received: by outflank-mailman (input) for mailman id 642171;
 Mon, 27 Nov 2023 14:33: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7cfb-0006Nw-5g
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:33:07 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0600.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e0157217-8d31-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:33:05 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7661.eurprd04.prod.outlook.com (2603:10a6:102:e3::8) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 14:33:02 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 14: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: e0157217-8d31-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N5g0VDPX//mDGToHPYNR8tGTiAw+C34olluM1k9UuhUsEQdi7hJ9tjhiNYqOuf8wSBUFqRZ9j/LAnvmGnjt6WYK77qY08PdYegy9zoP6cYifU0WVG36HLQaEPuz4/6nSM332TOG/1mDY5z60zvx9ab/gQnDKKbPjLn1U9uitFSls3nsjPDb9hzRnuD4EBKoU+nert64fegAzPC3WPru3FbR4k1p1Cn3Z0vbszD72Y1An6ZLpBbwatE1E3GyufANhNejZWrSTMI1tB6u83Diy1q5Uoj3MOsrKIEk6yUS06YkbtvklKf8VzzcnFKcDHkHtw0HxQQONpGiMbKv60EjnoQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=p02tAfGH0l8t8MTNrfTEd/wNR9JTST2MQM0J1Lfs7AM=;
 b=WBTMJGrGrkE+qRndvFgeLvGO2mLkkhDF8osYwqmNU9hcewAwJ5r9npPiznli3XGYVVzDbvo1+3MCgSTLQ7BfPjdq91R4tLZFbKu9OT0ICNOiHECqz8x9DycMTRm+cQPyhI1d52TCums9xh4W1lr6ACOAo+odEIhQocGVX4JgYg16NbWLtfqNfkHyPv0CKWyHhPpOVRqtlIJn7azwGxWJteHb0IKYRu6ETKW34b6ZTOrz0u2dqO1CGk6WOgJdx0ETIXuMouV1jl8y8YHYDQuHZIllkJMCC33clhPTzvPL/iHaJoTPCqsjyna1fJuF9BJHY7MRSbCZty2G+2bKlKG6aA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=p02tAfGH0l8t8MTNrfTEd/wNR9JTST2MQM0J1Lfs7AM=;
 b=uL/ahjoEU1FjNs4kn8IiP8j/OXQUuAY8EyrOErykw8xjXmzzx52UB3KYXMua2rd0gsjgABsZHIH6pmGUGEeTIeIRBz/Q0s6OC5QzJ70u8HfyaqhsRPnkU6eRt7JfpIlhpBHya/nWGublSao1FYH1ALiPxabC/koXIq3Q4pM4ap6/jrFzKJws7NUDcbCkjuPu1jW7iPitvdlEhxzAfoNdk/k1R4W/d/AGza9DUDmzJfBQ2t6lYEsiZtkJqV7XJ7WsLd8pW6/vmHrIrr1pfBY9DmXxkU0GGx6V0v8wc5PjqwYmGe7GQD2J60v6MxG7GX5ha2dmAxaUA0VAAId3LxvNbQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3dd42724-958f-4895-ad13-b3d461c15c15@suse.com>
Date: Mon, 27 Nov 2023 15:33:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 06/14] xen/asm-generic: introduce generic header
 percpu.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <7f10cbda3885a91e108e1a303fe74ffc21d1025c.1701093907.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <7f10cbda3885a91e108e1a303fe74ffc21d1025c.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:4b::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7661:EE_
X-MS-Office365-Filtering-Correlation-Id: df7d50d7-af9e-4515-1206-08dbef55c2e4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SLfmLAM4w4K7quRPIRbz3ZUyXCLjBbIqz7QK3B7iXceCLRZcbGcLckdUd37YDIdoLl1ym7qy3dYdfkaAJ/TbuapXdPesPYWnDT0jL5lEVQ9U71VAqYDclM90M7kgKPb5w8+EBUTPFGbzDU4MljOFZU8oGrU8iUMnSB9JQASuWewyMsn5l2GSVh2eKAI853m6rY/GDwdY1QjWZm8Lp33mBBVRpFCvOZZnZ4mzpoFSnORKMw7tnj79Aus3DlhrgCF6wwJ8bUW5ZXCimEllNJtq08QS77hcueKwzYTX1fEA8sJcZhBAssL5HQoz2QiTx8eo/TNwUcw8mEHOUqSNT3E/zIVfJiWYm+besCWNq1Yr3alVVfTNjaROFMSCNnuZlP3YftveGm7WZQga+yrwt8tqxyLB2mvhRAakziFUiAR8OEOJv3Vau3jUequuMD+ilsDH5XdBPpcxJLtB1YiumnZSmu/MBCvUdeY8QNeVwnSx6NGMjPf+al77sBPbx5XRPanwabD25oHL4nMcB2V0e92YEEd4/vAIp3dO8PiAXftEGTMIDnFFogWWarlinZkolwc90iUTk0BVd4MznWTqKz/vB+lu1dEM2mtuqOXqOsvVUb/WlyNB387e7b3uuLm7MZTRZCxG5oPyeg1NBWK3P+6XR1wYNWfwBa7O5V3QBNHNSeA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(366004)(346002)(39860400002)(136003)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(31686004)(26005)(6486002)(2616005)(6506007)(53546011)(478600001)(6512007)(38100700002)(86362001)(36756003)(31696002)(5660300002)(41300700001)(7416002)(2906002)(66946007)(4744005)(66556008)(54906003)(4326008)(316002)(6916009)(66476007)(8936002)(8676002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Zzc2cFgrblo5R2dvVXdDaGd2Wk1OdnE0Rmx2VHQxbnpFVDdlQ2hvU3dObzc2?=
 =?utf-8?B?cldFcE5Bd29HL3hPMFNqdi8zbXhqWmUrSjNEOEJhTUZkZkZkK0Z5OUhQYjFN?=
 =?utf-8?B?YXU5Q0VsYzZLTUErWXQwVW5JZjhmSkZlN3RrN3l2NUpmRitCd2VuRTYrYU9L?=
 =?utf-8?B?dWVHbkVaczBrZEJFTjNIMWRBaFczbGlXR1dSbWJHY01NZjNBc1FzeFVnQWto?=
 =?utf-8?B?bnVldGRGMUJTclp0dU9xV09EN3hhU0NQYmVQMDYyL2VKeElxMUY2bHNObFo4?=
 =?utf-8?B?cnluZWd2ajFuckJZSWU1b1RmdEU4TzZtdlFZTGFWNEF2T0xDQXRlTEUvcVhr?=
 =?utf-8?B?NjlRTThOZS9QOEUwbi96SVlpWnRtd0tiaVN5ZzIxdm4vZzNpNmJnbEQ5aEYx?=
 =?utf-8?B?NTdZNzBBYlFJRHZmZzlLYWorNEcwZGpFNW5KZ0RtZElkY1ArOFV2VWZ6M2Jx?=
 =?utf-8?B?TUk3QWhqcTZkOFo3c3RzS3RJRHdVZTJtMFhWY1VrbVRKMFllVi9UdjBFUHUw?=
 =?utf-8?B?alRuUGFxUzlBMDE1ZXcvaGFzcnpSclVvbThNSnJZcEUxSEJRMVRYZ05xT2dk?=
 =?utf-8?B?aktFc2trZzNWUVBPVDNNTzJkMlNJWC9MVXEyOXE1dVYyTWM0K2Z6UnFyU3Zj?=
 =?utf-8?B?RkFhS3lFQy82eUJqNkpQV2hpekZ5bk5GTzNqazlLMUJJRXJCT01ncWo3WE5z?=
 =?utf-8?B?Z1M4SEhKTHFpdGs1WXFrZVEveWVXM2t0Q0RoZ3FNRHBEZGJieXUvaDJMTzNG?=
 =?utf-8?B?RlBreHRGTEJ5OEZrNG5YQWw3em5CYWoxSjVDWFM4RE5BWDJWdkY2cUpteHVz?=
 =?utf-8?B?ZWphcks5VHdmSUpkNHh3Y0FGS2IrVG5icmN4ZGxTYW42NklSZEZpTGw0TEZB?=
 =?utf-8?B?d2o0NmU5UitWVG9Sb016dGtOU2VaVEkzZlN4NDBZWGJpTytEVkxJb0hDUXoy?=
 =?utf-8?B?MTBtbFdHMmRlNE95bld3bUw4Rmh4ZVVUZk5UOWhqd05GQlZWdVYwWkoxUEZD?=
 =?utf-8?B?QU8xeDlOYlJObXp6aVB1WGM1WUZJOEwrWkVJSDJ2S0UrTDloWFBmZVA2MEZw?=
 =?utf-8?B?UW5yUlhEdTE0aFViZDVJNDk2VDhLVHNVWU1heTN3TVJwZ2NkSzFoQXBQcy84?=
 =?utf-8?B?KzA2Yjh6QzQyUFZyenFtZWQwSTZ5SUlVd3g3QUR6LzlTWUxtL1dRTlVuT1FU?=
 =?utf-8?B?MVh5L28rTmpjSGZPUlB5QVg5R2ZEakRYL2huSjlYVkJjOSs3VitDekU1ai9R?=
 =?utf-8?B?Y0VHc1VOVjhSV1JuWGozbktJK0JFZFMyT2ZNY0tNdHF4UzdiMTFhSDQ1ZUp5?=
 =?utf-8?B?SWRGdnF1THVkR2JqMDk2Rkhuc2g4MWIxTmtkT1c1R0Zpc2I1ODQyZE9scTZu?=
 =?utf-8?B?YUxYampITWNtZnVhc2lyUzF0YTFHVGtaRmdmdlRNNTBGTm5nOFhvNXI5M2Rk?=
 =?utf-8?B?M3NvMHM2N080a2lCRjg2dUdBOTR1M3cyeDVyRzdpcnFJemlTem9xYVdLWVo0?=
 =?utf-8?B?V1lIcXUwZHdvUUd3ejZFZVBQTTdvV1RMRGFTYUNOWGVVWHRMc0sxWlIzam5L?=
 =?utf-8?B?UmU3UTVtM1d1S3VkTzZqMmFSSnlMcjdZNTkxYXhEREREV0JjNVB3QzZiWE4y?=
 =?utf-8?B?ZWJHZlNhTHRyRWpuNnNWYThIWHYzamJTeUVHNWFNYjF1dUxtdHdLRTIrMnc3?=
 =?utf-8?B?cGpLa1lLclc3UnRKV3BCNGtWUlJMazRUTUVEcnBpWkZUSUpBWWNXZStrT3pU?=
 =?utf-8?B?RHFKbFpnWHc4aTVRL3Y2SVZiY21sMS9XcFZoRDRqNmdaMS9Kak9Zdkl6WmRB?=
 =?utf-8?B?YWxjcmFJaVIrYkVzL3RIMVM0NzBhd01nV3MzbVNxaWFEemJQb29JRG9aOTJD?=
 =?utf-8?B?ajlVbWlmS0VWMjdUbGFzQU5lSmp1QTgvbUYzQXVZWWZmWGhWdW5zcWJZc0RO?=
 =?utf-8?B?RUxHUERFZU5xN1VCMUJhQ1IvSllXbWpMUkVQNGpmNllNUXZJUGduRnIzaldO?=
 =?utf-8?B?NVAzUEgxV05TNk1PNXprdzg5UkRKWkU5T1gzS015dVpLNXpkY1dDVjl2UUh0?=
 =?utf-8?B?amNWUUU4YlRHTjBLblMrZDQxREVCbldIb0lrWTMxUFlSbS8valI4aHNBTnFS?=
 =?utf-8?Q?3NH00wsxX/04xnK5Qugj0SgJ6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: df7d50d7-af9e-4515-1206-08dbef55c2e4
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:33:02.4991
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Xp5kz9hKfnDsZ5xybDCtNVnWYtW1UrsJRReQd7uoLHc8c0PuTXepNQIafhMklf3dBHrzSF3MRBon4+FXwzUWUg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7661

On 27.11.2023 15:13, Oleksii Kurochko wrote:
> The patch introduces generic percpu.h which was based on Arm's version
> with the following changes:
>  * makes __per_cpu_data_end[] constant
>  * introduce get_per_cpu_offset() for macros this_cpu() and this_cpu_ptr()
>  * add inclustion of <asm/current.h> as get_per_cpu_offset() is located there.
> 
> Also it was changed a place where <asm/percpu.h> is included in <xen/percpu.h>
> because asm-generic version of percpu.h started to include <asm/current.h> which
> requires definition of DECLARE_PER_CPU.
> 
> As well the patch switches Arm, PPC and x86 architectures to use asm-generic
> version of percpu.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Acked-by: Julien Grall <jgrall@amazon.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:35:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:35:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642174.1001473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7chm-0007t4-TO; Mon, 27 Nov 2023 14:35:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642174.1001473; Mon, 27 Nov 2023 14:35: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 1r7chm-0007sx-Q2; Mon, 27 Nov 2023 14:35:22 +0000
Received: by outflank-mailman (input) for mailman id 642174;
 Mon, 27 Nov 2023 14:35: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=D1Su=HI=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r7chl-0007po-LL
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:35:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30bfec85-8d32-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:35:20 +0100 (CET)
Received: from [192.168.1.9] (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 500AB4EE0737;
 Mon, 27 Nov 2023 15:35:19 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 30bfec85-8d32-11ee-98e2-6d05b1d4d9a1
Message-ID: <59744708-c2fb-488c-9e6b-e47faf7a8007@bugseng.com>
Date: Mon, 27 Nov 2023 15:35:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/3] xen/arm: add SAF deviation for debugging and
 logging effects
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1700844359.git.simone.ballarin@bugseng.com>
 <761ce615438312ca5d37fb8829a0ba903375392f.1700844359.git.simone.ballarin@bugseng.com>
 <ec587cf6-088b-4142-8067-4d9d67fc58c1@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <ec587cf6-088b-4142-8067-4d9d67fc58c1@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 27/11/23 11:46, Jan Beulich wrote:
> On 24.11.2023 18:29, Simone Ballarin wrote:
>> Rule 13.1: Initializer lists shall not contain persistent side effects
>>
>> Effects caused by debug/logging macros and functions (like ASSERT, __bad_atomic_size,
>> LOG, etc ...) that crash execution or produce logs are not dangerous in initializer
>> lists. The evaluation order in abnormal conditions is not relevant. Evaluation order
>> of logging effects is always safe.
>>
>> This patch deviates violations using SAF commits caused by debug/logging macros and
>> functions.
>>
>> Asm volatile statements in initializer lists that do not perform any persistent side
>> effect are safe: this patch deviates violations caused by uses of the current macro
>> (that contains an asm volatile) in initializer lists.
>>
>> No functional changes.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>>
>> ---
>> Changes in v2:
>> New patch based on the discussion for "xen/arm: address violations of MISRA C:2012 Rule 13.1".
>> ---
>>   docs/misra/safe.json     | 16 ++++++++++++++++
>>   xen/arch/arm/device.c    |  1 +
>>   xen/arch/arm/guestcopy.c |  4 ++++
>>   xen/arch/x86/hvm/hvm.c   |  1 +
>>   xen/common/sched/core.c  |  3 +++
> 
> The latter two don't really fit the title prefix.
> 
>> --- a/docs/misra/safe.json
>> +++ b/docs/misra/safe.json
>> @@ -28,6 +28,22 @@
>>           },
>>           {
>>               "id": "SAF-3-safe",
>> +            "analyser": {
>> +                "eclair": "MC3R1.R13.1"
>> +            },
>> +            "name": "MC3R1.R13.1: effects for debugging and logging",
>> +            "text": "Effects for debugging and loggings reasons that crash execution or produce logs are allowed in initializer lists. The evaluation order in abnormal conditions is not relevant."
>> +        },
> 
> I'm wary of this statement. Order may not matter much anymore _after_ an
> abnormal condition was encountered, but in the course of determining whether
> an abnormal condition might have been reached it may very well still matter.
> 

Do you object to the deviation in general? Or just to the wording?

>> +        {
>> +            "id": "SAF-4-safe",
>> +            "analyser": {
>> +                "eclair": "MC3R1.R13.1"
>> +            },
>> +            "name": "MC3R1.R13.1: volatile asm statements that do not perform any persistent side effect",
>> +            "text": "Volatile asm statements in an initializer list if do not perform persistent side effects are safe."
> 
> Since each respective comment ought to affect just a single asm(), I think
> this wants writing in singular. I further don't think it is useful for
> "text" to largely restate what "name" already says.
> 

Ok.

>> --- a/xen/arch/arm/device.c
>> +++ b/xen/arch/arm/device.c
>> @@ -331,6 +331,7 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
>>           .p2mt = p2mt,
>>           .skip_mapping = !own_device ||
>>                           (is_pci_passthrough_enabled() &&
>> +                        /* SAF-3-safe effects for debugging/logging reasons are safe */
>>                           (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),
> 
> What's the debugging / logging reason on the commented line?

The "ASSERT(dev != NULL)" in its body.

> 
>> --- a/xen/arch/arm/guestcopy.c
>> +++ b/xen/arch/arm/guestcopy.c
>> @@ -110,18 +110,21 @@ static unsigned long copy_guest(void *buf, uint64_t addr, unsigned int len,
>>   unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
>>   {
>>       return copy_guest((void *)from, (vaddr_t)to, len,
>> +                      /* SAF-4-safe No persistent side effects */
>>                         GVA_INFO(current), COPY_to_guest | COPY_linear);
>>   }
>>   
>>   unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
>>                                                unsigned int len)
>>   {
>> +    /* SAF-4-safe No persistent side effects */
>>       return copy_guest((void *)from, (vaddr_t)to, len, GVA_INFO(current),
>>                         COPY_to_guest | COPY_flush_dcache | COPY_linear);
>>   }
>>   
>>   unsigned long raw_clear_guest(void *to, unsigned int len)
>>   {
>> +    /* SAF-4-safe No persistent side effects */
>>       return copy_guest(NULL, (vaddr_t)to, len, GVA_INFO(current),
>>                         COPY_to_guest | COPY_linear);
>>   }
>> @@ -129,6 +132,7 @@ unsigned long raw_clear_guest(void *to, unsigned int len)
>>   unsigned long raw_copy_from_guest(void *to, const void __user *from,
>>                                     unsigned int len)
>>   {
>> +    /* SAF-4-safe No persistent side effects */
>>       return copy_guest(to, (vaddr_t)from, len, GVA_INFO(current),
>>                         COPY_from_guest | COPY_linear);
>>   }
> 
> I can only guess that in all four of these it's the use of "current" which
> requires the comment. Yet imo that either needs making explicit, or such a
> comment shouldn't go on use sites of "current", but on its definition site.
> 

"current" does not contain any violation of R13.1. Its expansion
produces a side-effect, but this is not a problem in itself. The real
problem is that GVA_INFO expands it in an initializer list:
#define GVA_INFO(vcpu) ((copy_info_t) { .gva = { vcpu } })

GVA_INFO(current) is the real piece of code that requires to be
deviated.

>> --- a/xen/common/sched/core.c
>> +++ b/xen/common/sched/core.c
>> @@ -1517,6 +1517,7 @@ long vcpu_yield(void)
>>   
>>       SCHED_STAT_CRANK(vcpu_yield);
>>   
>> +    /* SAF-4-safe No persistent side effects */
>>       TRACE_2D(TRC_SCHED_YIELD, current->domain->domain_id, current->vcpu_id);
>>       raise_softirq(SCHEDULE_SOFTIRQ);
>>       return 0;
>> @@ -1895,6 +1896,7 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>           if ( copy_from_guest(&sched_shutdown, arg, 1) )
>>               break;
>>   
>> +        /* SAF-4-safe No persistent side effects */
>>           TRACE_3D(TRC_SCHED_SHUTDOWN,
>>                    current->domain->domain_id, current->vcpu_id,
>>                    sched_shutdown.reason);
>> @@ -1912,6 +1914,7 @@ ret_t do_sched_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>           if ( copy_from_guest(&sched_shutdown, arg, 1) )
>>               break;
>>   
>> +        /* SAF-4-safe No persistent side effects */
>>           TRACE_3D(TRC_SCHED_SHUTDOWN_CODE,
>>                    d->domain_id, current->vcpu_id, sched_shutdown.reason);
>>   
> 
> In at least the former two of these cases pulling out "current" into a local
> variable "curr" would likely eliminate the violation and at the same time
> improve code a little.
> 

Yes, I agree.

> Jan
> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:36:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:36:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642176.1001482 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ciT-00007F-5S; Mon, 27 Nov 2023 14:36:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642176.1001482; Mon, 27 Nov 2023 14:36: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 1r7ciT-000074-2k; Mon, 27 Nov 2023 14:36:05 +0000
Received: by outflank-mailman (input) for mailman id 642176;
 Mon, 27 Nov 2023 14:36: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7ciR-00006q-IH
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:36:03 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20624.outbound.protection.outlook.com
 [2a01:111:f400:fe13::624])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 49de6c90-8d32-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:36:02 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9761.eurprd04.prod.outlook.com (2603:10a6:800:1df::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 14:36:00 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 14:36: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: 49de6c90-8d32-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UXpKopBefJ0P6KZghsqYizwomuHJPDmKPf90ja/1JwI3is6z8dEAnAk1eVWg5SmuW8sMx0Xq1TaJApWQ+aJ2vCfMBg8V0+oWP6dy2ouaazgzBvy94a6winTpd+hHJAuiNHPkX0EMtNl2jtaaeZd+QJzwUv0DXNA8S3i9Z4R+qxLfZh8pKhDpwkvel0ugij4NQGVA10ojwmFY/uvR3cWw0aI0dElYYAnpN1gyqcvxLdKX0UT/DJUq8XnKOnoMqXwxI99Q41HnXH0v49boQUxoFB70mxvM88evoDyH6GnkHJRuQIkiwRycu7P0mdxrQhxxHwpqT7EvcWgubJCksg/6wg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4IRX83pTyzxXPzG1cRo8Wgcd/HnH1iuGKnBg0sicY94=;
 b=BCOhTbzjKkCEs9U1resmvRPIDwNKBKJONq4YwZrUsiJ7PZCTDByzv2FM44NyAM3LpiMcI+iDZEsN5VvSTIyBVhRwg+naYw5I7XBp1jMfVfYD3qqqyqPB8iltMXZomRMb8QJqXv6mkshjvxC4+HJ4GloYtdOr/Ckmy/uhiBQr8dmXM+itrdW1FcDnDV8NmNS5Mrn+V546K9lpkqguv6BaGLz5Z4N+tL73y617L62pHdMvt/f6weG36OuZ3aZU48/+GpjBYgRWippYujcgqVhw5m0RKl3icDLV877zgOxIYUW/Y1nozTz6YCRlesu9gp5jTJbOI39SzmcyAy1KmTdsew==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=4IRX83pTyzxXPzG1cRo8Wgcd/HnH1iuGKnBg0sicY94=;
 b=YLIF8ano1ky+toBRWELKHlGl11aJBvh1RwOFRu4tgqTzvnwZBOB+06bRvyncJprYKBV/oqaPWWPODvvqwFmOAWun0KUL/QZuUjqDBcslNsFD0Cy9yLTOLu81nhLXMYgIrGA7dyKvw8s0liQqRdUF5sW2tOeM+86oup5pNkik40XmuRGRrEhmIsqDA/c7GYHGNE/tsCXfmdasBQfhUPETUT1t+snIxH3wJyzlcYZXAdKAXtTFjl/seoq7lbM2eEgczL6K3seuV5KBFFS8Xh+23GArbjOh47roRuGsPz41tAV6r4yYdktYgTTRefxpbss9jeQsTJUTtXwS7MFX8KmhKQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <45515791-e538-4c8c-9275-338e6ae06640@suse.com>
Date: Mon, 27 Nov 2023 15:35:57 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 11/14] xen/asm-generic: introduce stub header numa.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <44bb374738ad0cae041a0164812dfd33d091d954.1701093907.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <44bb374738ad0cae041a0164812dfd33d091d954.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0186.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9761:EE_
X-MS-Office365-Filtering-Correlation-Id: 073a8b81-107a-4f2e-1e6c-08dbef562ccb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	DvBBw2T6rd7G9tsFyhmDdLTQi9iwcEQqob7Uny+uxJwvHElx4C2rrnaBqpPzHNx4s1dabNaAWVpbpHANTG77paV/+6WcEznjyBcdifKyP7D9gvO8fYB0xaqmCCLEjlM6eXiyMqg3obn+loVoUlgZI7ylCXV3RoSWByc9GfRCT5q0XwcXldWHgLTP8KjHrfO19AovHoKWm8PkoDKXurIp62P6yzAc/ZoJmFnMHiSqpqqRC+FH4UqRet5xV5PpEakN2Iu4qyWfv9mQ+662+ghdt9bsfc43PiA1AjLTki4sMx5U0IKmymbUKROMuLCHBfY73QcdqOyAfW2Bs3DwjdTxdgDowky7sFiie3NlRosbmFGO5cUEFXzkXjZ/eBIZ/FmXt37n7NrMp1qwe8nJsa8KlVcwF6Nh0jvM3mWetNNRiYaqutNUQ9rr95T+uqYQVPLruiu2/QNE/sltEH7G1IPXoTiPXdplCnseI7n+HxBUaShyYxzbjPDYLQ0zRo5Z+eY5i+EoWtytaPw3uMudl9xatgfGbLS2kUNidDpnEBUpeHQPVINmdIzGlJFnMZbjKOojuijjIUW5UGlFsJIsBkFnx71YR4RTsxziyAOeyCiLcdvPdsvi5rFPMoyCS2XHeBsZZXZGnjvZh6FHKAWj+2QnegmyW5AtLAj86Map7ZkyZ9o=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(366004)(376002)(136003)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(2616005)(26005)(6666004)(6506007)(6512007)(53546011)(4326008)(8676002)(8936002)(5660300002)(6486002)(7416002)(31696002)(86362001)(478600001)(316002)(66946007)(66556008)(6916009)(54906003)(66476007)(38100700002)(31686004)(558084003)(41300700001)(36756003)(2906002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d1hYVG5La0J5UlNRTHMwQ1hNT29oK3dMdUVudmI3QVA3ZUEvSklUVnpXaXBJ?=
 =?utf-8?B?dEQ4Mm1aL3pFQ1FLUk5jcXhjRHh6Y0xwRnFDZytyNktCTVF6ZXhxQ0dYZzJJ?=
 =?utf-8?B?Z0k1WHB0bHFXT1Vpeityck5TS2x3TTBhQ0NBa0NodzFPS1RWbzByM3VFMldJ?=
 =?utf-8?B?czMwZG5BZDI3WTdWalZhWXRPMXJ2YVQzVlFPNmg2QlBwcnIwK1NFcVpsdWRh?=
 =?utf-8?B?WWthdmVNeFE3dGFaUUZpRnNRenBiRlhvL3dobXFid1JXVGZQSEhUVFpsWGxW?=
 =?utf-8?B?aFRGVjNTcHpCdmNLMzRkTE5lUzdKaG90YzNISy8xa0N0a000VjI3ZXNkbUxn?=
 =?utf-8?B?UnRlSHYvNFpJVmFZU1FYVGFLWnVTNlg3RzFVSzc4aEJRQ3JyVHdITWUvWHpB?=
 =?utf-8?B?eHVoZHJEcUJETU1sb2w5R0JBaE5lMHlhcGRtSFF1U09Odk9aVVA5dC9NNzZ0?=
 =?utf-8?B?RzYvR1lUVmc0YnNETnRUTEdUTmYrdkxxb3RUaWFScko3MFRiYm1sN01QbzlR?=
 =?utf-8?B?bXMwVnN3RWFadkxldmxsNjBRaG1IdnNVeG5XcDdHS3NqVTN4cGQyZmNtaHBN?=
 =?utf-8?B?THduNENGUUFRbEgwZnc3enF4MWFlSFNZNElwYWNjRUJnM0M4Z055RTJVQzdp?=
 =?utf-8?B?bkFVMUo1cHFFUlBqYmNiNm5yanU4UDRRa3hTVk9tbFBwZSsyYmlDV09oNmZu?=
 =?utf-8?B?dld5bVEzNjc5QmtNV0tPbVl1T2h2U01zbEV2bU5zTlN1Tmh6T3FmRHlrV2xq?=
 =?utf-8?B?b1lLWVFYQi9jTWtUaGxDS05SNnV5ZFZRNXkvd1p2R2dRSXhsQ0xUWmNhelhK?=
 =?utf-8?B?UkR3akZZYTdFNVZvM25RaXpBakFtR3QyUis0QmRNY1hLR0RaS1ozM2JqN2tx?=
 =?utf-8?B?UXVjY0cya2tMbno5WldPN29XbElUZStkaDF1ODZndnVIU0JBdktkUzFFL3dJ?=
 =?utf-8?B?L2huTlgzL1NIWTNtYXpuS0JaWXVYOWN4cDVMQlVmY1JscU5YcSs2RkxVY0hi?=
 =?utf-8?B?a0ZRMW5JRlJ6VEtvcTVSYUVqODNEK21BdDRrZmd6UFg3a1RuaHE1OWdGeDJ2?=
 =?utf-8?B?OHFGcGdWWnh0ZWM0cWRDbU10RVF3MElpdGxOWHFlNEpSRG1TTXZ1bjRRaFMv?=
 =?utf-8?B?VnVKcmk1ZmtaRFNldWU2WUVEdS9IS01JdEl1ejQzRUpDYmRjQ0gxd2hVMEti?=
 =?utf-8?B?M2FweVF6TEM3a0xQS1dqRTF3SzlLQ09PSUxJNDFkSlVQeUxoTWtmYUNlZU0r?=
 =?utf-8?B?bFZ0RHdlZFIzeFp0OGVHT1I2NlZYMHBsMlBHdlJTaVNZNThZelB1T0tydkIw?=
 =?utf-8?B?dGNIalpqUHltdGdnUHhOWkNJR0pnbk9kM1g0dWNUNnNVNGU0MUpJL0REWjlR?=
 =?utf-8?B?WnBpQ2p4ZWdTVUZvbnptaVJ3emtMc2lFcVlRWmN5UVlLRXpReDRIMGF1TFQ4?=
 =?utf-8?B?aWNjcThhZ3dMTzJHbFdYeEIvdVpXV0ZmUTF4c3l2OFQ0b1ZyWEpaNzZPUVNQ?=
 =?utf-8?B?UXZIUXd3SzluekZHRmZpRzZCd3p0N1QzbHZFYzl1NTRYMk5XdG1VZXJWVTZ2?=
 =?utf-8?B?Z2RRenB4MDVoc2RBNFZud1hlRHFmUHlNRnJlMFBDaWtJSDNPNVBVeHhXWVov?=
 =?utf-8?B?MUM5dGdOTDBqSkFEbUZ1WnRSVXorVHpFY1liT2dlQmJXaytwY2JnMVVGQ3di?=
 =?utf-8?B?Tlh4enNqbzdjUWZEcG1qRGpnTWpaeklsUlJ5ZDVaOVFMQ2dRaHRIVFR1UmdH?=
 =?utf-8?B?VmFrYVVWWjB4YW9nczVsQzdzRGRoTkJZd1YzQzBlZDhMRGsxVWZJUWtPcnVp?=
 =?utf-8?B?N2pTai95NlZKZCtjK0VQeVVmTmdWbzlnMHNncDRjQ1JQSEZjR2diMHQ0ZDRs?=
 =?utf-8?B?VXB4My9iSloxMDZVOExOZ0JqM2FXRHhnU2xuaTRWV3EzQU1oUGVxTWp6Zkk4?=
 =?utf-8?B?K2pPQ3JwM0JpZWRHSndsYTJkclRRSGJNMm16QW4zdXNtUFREMnhUaE9IcVhU?=
 =?utf-8?B?dDJEYXVmaERkdkkycVBsd21JL3NkZzVkd0c2OXRyYnhURmFSdHMrUDZvWkln?=
 =?utf-8?B?blJMZml1enNMd3NmOXdxNk4wTUZuaCt6REZrOFVJVWlDaEROOXhEbG1LYUN0?=
 =?utf-8?Q?Qa7h3JackTJLD/BOcQ9fxDkZE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 073a8b81-107a-4f2e-1e6c-08dbef562ccb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:36:00.1967
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /9x78g1v5kn+LWTjJAN8S0CKIisPPX8ZHbNWT9Yi6nvI60VUGNtw0PBuAhJynS6RbYvk7CbxboGe47OPQhlmrQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9761

On 27.11.2023 15:13, Oleksii Kurochko wrote:
> <asm/numa.h> is common through some archs so it is moved
> to asm-generic.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>

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




From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:36:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:36:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642178.1001493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cjG-0001L1-JQ; Mon, 27 Nov 2023 14:36:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642178.1001493; Mon, 27 Nov 2023 14:36: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 1r7cjG-0001Ku-GN; Mon, 27 Nov 2023 14:36:54 +0000
Received: by outflank-mailman (input) for mailman id 642178;
 Mon, 27 Nov 2023 14:36: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7cjE-0001KP-BI
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:36:52 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2062a.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6648ffe4-8d32-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:36:50 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9761.eurprd04.prod.outlook.com (2603:10a6:800:1df::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 14:36:48 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 14:36: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: 6648ffe4-8d32-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A3/WiXDu6chVf7dr8whhq9U/CyrbvxfvyN1xjyNPQbxf8P7LWa4kpew/kplj5WAqj37f05Uu6EZyrK/k8lXjXFUWXEczL5Wb7xwVrwfzopRLSBf6igg0ICnC3aAP59MEyzY3mqqqPxLaX1ZRWaZdqUkFBlraOd2d3L5ZWV/ibdwqWbwk91aQzw0zsXHFXhVR5uRGzGDEbTVdu+J9n6yjhVmH/WCQx5arIYimg0jM7ZClRDgwDm6t/I/j/mqcSjv66Qc1wY3QSE+pdzm7OAA+bo5qzQIZxSketUy6k6vwvVxcCT+csEIugl/UgWP1qyGjxxZlM19R+XkpWNQQ0l1qOg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3GkbICPkBAaYGCxb3Q9Aw6MMEe633c4wx+Cvx2SSmOg=;
 b=ioIlp44ZsCT/pSef+WQi+zy44D130lGXPjQqumob43VAe5RArVMrCDHzwc2q9pxw1Y9vVMmyDS6HgGgpkeK5XRjyHzf6rq1S/wsdBdJnqoYFA7UiR3l6j/1Mfhwuk798p18yE/HTq7mKdKU/KzbfLEGmLJIGYfgiz+vBldbcLyiuudiDBAYwHuBpCKL+NGdZf0koVuYGKV3cYYaNsYEeH3zs/g6UDbZh+RUtV6sNNIhiOweA3X+6TqYpFDade9qunrHk9gtP17P/TNiGLJilnAlfI/8icOJ4g4vtXwZ9C06bFFhKgEUsrDVnm3x2y+D7wjlhbpnaI35zcdleTWjlkw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3GkbICPkBAaYGCxb3Q9Aw6MMEe633c4wx+Cvx2SSmOg=;
 b=pvK3IJ5sSxnPPDxfjL/4IyoJwNY8gG6hdlYa9Xt5IIodfsfw1VfQBQgFXn493xcTVqbGutWZWUHcUYFN/toE1gcbcyFPZw0PS8+aNLz+msRbdO38XzKeUGzBWaBWU13s1x7PLX9IuiUc9xWYfBdzZ7njtxILG0Il24wpSuus9bmADKYMVHGcF9uW33YnO11M//jHUqfHMJp5/Cja/lUFRauL+lfca43KYPf1ZfxEtAPyAEvAKiPDAFiR6suktMUn1+rErBKfyY4ylWbAOXsvCLghA/EPlduxHUqci8SDVpacyK+ZZmLPBmOX/F2M6Sul7e7aEv1hEVYQ8NNQqQ7UxA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <36211cd7-6b62-40ec-ba1e-110df2653c5d@suse.com>
Date: Mon, 27 Nov 2023 15:36:47 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/14] xen/asm-generic: introduce stub header softirq.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <090991be61252cabefc06da19597e3a86a4cd1da.1701093907.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <090991be61252cabefc06da19597e3a86a4cd1da.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0186.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a4::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9761:EE_
X-MS-Office365-Filtering-Correlation-Id: 29d11e5b-3c25-461e-eda3-08dbef56495d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YS2vtpHOKFVhlOHB91k3N3YWw+S9l1yShTkQrZpHsAovrFc/fqjRTuVxCqi7vGuf3bRoAWGpZDEsINFcJopmgaTL/W7WEyrbsavpGU5EJO95g+gijf66vz6yF3I82MmyjexGkL5Pt4qPfeeTvo3LGZwUYq7UPmpJsFo6KwUXNve7KJ/LmGD2Orm7KxHB7sQwHioe0mWBxfrZjnCw9759V6l8YfR3gbSq7ImS/WInzpj4q6LCw6hSMz42XRmNDR2pXywL9kFPR/4fFiD9P055t+0phQ5Cl30BmNA8E7w1y0aggQQYMB1sT+2v7v29tnZ47H/1tw+ArJVLrGer/k/eREi71YACav82lcAGV+ycpqHHPvjSs0/uzQB/3G51mqusWlYpW1YPkTiGgPJKtBYjim4w7oP1lea96DQTDy4lAmCVwppYBc48Ix0cRWFbxCISHMZDB92SC95iDSpR4uLA9+iBJrPQ1G2vtIGNd4dF98lTBagvV0KdU6pLhH7QPdOVNVRTiMTHNiB4VRMQREUMQVLAqVJYzw8lpem3FmmjuhPVxgkVpZI7do58vPIoNK/r4vY7S7j+S2Njsl4/rY1ZdFMk4zYb8/gtjVKULyQjinsp5JIW02LmIZM/YKIwuQhLWZgoEul2F8JbObYVw3Xi8AIb9DKp5HJYmayanaUFEI4=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(366004)(376002)(136003)(396003)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(2616005)(26005)(6506007)(6512007)(53546011)(4326008)(8676002)(8936002)(5660300002)(6486002)(7416002)(31696002)(86362001)(478600001)(316002)(66946007)(66556008)(6916009)(54906003)(66476007)(38100700002)(31686004)(4744005)(41300700001)(36756003)(2906002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bjZDbUkvejhtZlVnaURxU3NneDFpcCtNT09RRk1mYXU1OWRRVXRmVlJQSlZP?=
 =?utf-8?B?ejZKRklsOHJqME5hRVFwOHQrNFRqVVAyVjF4MHUzSHZpWHRGaDY1TzYwcVhZ?=
 =?utf-8?B?UXp0NWU3OHUxTlhkZUZIV3FmWXpBaWlGZElsL0s0T1ZqSTlSUnlucVNqTXV4?=
 =?utf-8?B?ZThXbjBWUG0xSXUyWUJSRi9RRVp0MjdZTXdwbGxGd3JwOFBFUFUwSmdBSHM5?=
 =?utf-8?B?cUhQSDJ1QnRxV1F2cWRoai9icy92d0o3cVBDVkc0ME9pSDIxdDQyUXFsZEI2?=
 =?utf-8?B?U3lXd1hqd2NnZi9BMUdmSEhVRC92SWV2b3I0dGZXSjkzR01GMTBYMG05bWpy?=
 =?utf-8?B?UGlsUlFLREI0RW5HTytIcnIzK1VMcDMyZXo0d0R1cHpoay96ZmV6aWJXdk1T?=
 =?utf-8?B?ck1qc09QWFBDakx1MURUc1c4UlNsNFJIT1hlbm12bVk3NkRaSy9vL0xXWUpO?=
 =?utf-8?B?RUFFRCtoYUp5cWE5WkdWZ2ZiMDVFT3JUN29pd3MvOVRVaXdzU3VsbUg1VldY?=
 =?utf-8?B?bDRJRjhjWWh3N0E3bU5GTjlzVlpjdnVZa3U1RVZqakRWbkoxbXlZSk5CZlJY?=
 =?utf-8?B?ZEd5WWg1aFlMNE05cWh0UXBFUEpJUGdrOTY5RU1zRzVqaGZ5djVhQ3IrL1p5?=
 =?utf-8?B?SVZ5c1E0enBMWU0xYUd4OGJoeE9jMjhmY3dWSmpjdTFETEwvcWhnc25mNmFq?=
 =?utf-8?B?dnZ6ZkpzS3RjVU1sVVJmbjhBRWp4SzBHZWdoV1o2Q3NjQ3J5bXJPZElnK1Np?=
 =?utf-8?B?bmJzc0t0QnEzOFhyV2lYY3VaR2UxNS9LOS9RWFZSdGFIbnFsbmkrSWl2MGda?=
 =?utf-8?B?WXcvakVjSHkwdjh4RE5kaG5sdTBaYlQwTVQvTnh5YTZDLzhvTXNGd1FXclJa?=
 =?utf-8?B?T2Fvclh2MUZXVHhzNWNtSE9QWTNrcDR2SzVLSWN5R2UrZVRBaGRVamFBVlZD?=
 =?utf-8?B?WldUNysrTWJqeUxIVVJqcCsvaVlJdEdJWmQwMW1kRFZNbUhZemNnN1hKa2hQ?=
 =?utf-8?B?VnZBamtxRm5zclJNVUIvSjFrZDZidnVZSVNiSEVCV2lyNHZGU3hHdFJVY05D?=
 =?utf-8?B?YUQwOGk5SkszeTYvRE1WZklOUkZBNUF4dDl5SVlwcnFwTUVBMU5hMDYvZWZm?=
 =?utf-8?B?a2huL1RtVDMxMnM5emQyN2w5am1nWmNjNmRzQTB1UTRRWUZsOCt4b09DK2hi?=
 =?utf-8?B?R0l3UWdWMkVibVhrQlZjb3FGZ3Q0MDJ6WWdkRk5BeTRIT2xkdU9FOVZjZFR1?=
 =?utf-8?B?b1NaWW1sYUpEWDJBODBuVW9YSExTS2lodjk3THlnSG44aGFrbndKazF5czFO?=
 =?utf-8?B?MVN4dW92dWM2SjRQK1VqaktxOUZaRU9mRnh0L0g5M2Vpc3B2RGZtTk1DMElp?=
 =?utf-8?B?L2QreUxYeXh4dDM2YXRnVHB2N2xZdk9tOXJWWDB5MmppcGNiMlB5SnV5cEtL?=
 =?utf-8?B?NUZWeW5OWXVRYTNRYXJnTGpleVhnTWdxSXN1dmhnN3Bjc3NqMmxKTkk5S3U0?=
 =?utf-8?B?SGZWRnA2MHpqNGkrbVdIYjVNd1RiOFBvOE5yZFlDeUFYODVBcVEwazRpRy9U?=
 =?utf-8?B?bnpiL0NLMGE4dS95MlNJd1dJRllrWEFTOUlZUEkrcVFxNXNIeUE0ejlQckho?=
 =?utf-8?B?VVpNSjhRaVZQc05xaUdJU0l6Zy9IREpNR3dRQXZVYzNJcHg4WnN6eGhEZ01u?=
 =?utf-8?B?eWRnc0duc0E5QUlOUE8rOWlzQzZnTFA5TXBMVm1vS0Y3ODZlVUpHenJveUI0?=
 =?utf-8?B?VTVRbXA1N1dCeGhTemxwR0RxeUpDR1h3VUNURUdFNXRVaE5XUEN6Qzl0U3Fh?=
 =?utf-8?B?R2Y3cDc4a3JjV2p1cTlremQwUTZTcUgxWFF0aFFkQ2RNb3d6NmRWMnJNV29h?=
 =?utf-8?B?L0NBeFZvQTZEUGZrcEhKck9LQU5WcXk0emlXWk45dlR4N3h2T1d6NS9ISTVv?=
 =?utf-8?B?clhuY202STJveFBWT2UzRTVaK3IrbVllTXg5TDMrYm0zNTNJMHpLWmpSeXFz?=
 =?utf-8?B?NG1CTDE0NDZrbW1hbjNCeFlMUHlISXU1dVI0a210dFBiQlVWMy9EbzNEM2Np?=
 =?utf-8?B?TEdVVmZIclpSZFV0WDNPR1Y0T1NMZEEwL0I2U0k2RDJhR0lmeDlYQ3Fibnlq?=
 =?utf-8?Q?vYinDMAwztz3fcv98c7ceSRpl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 29d11e5b-3c25-461e-eda3-08dbef56495d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:36:48.1186
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NTD7pA5CJjxwyK3uPulOE9uHV8D7URgG1cPnc7T5ygnR4nb81wPwkAqvKMjaGduMlHvO+UpXBTxOszbEHmOFnw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9761

On 27.11.2023 15:13, Oleksii Kurochko wrote:
> <asm/softirq.h> is common between Arm, PPC and RISC-V so it is
> moved to asm-generic.
> 
> Drop Arm and PPC's softirq.h and use asm-generic version instead.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> Added Acked-by: Jan Beulich <jbeulich@suse.com>

In case a v5 is needed, please drop the stray "Added".

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:41:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:41:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642189.1001503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cnO-0004ft-5h; Mon, 27 Nov 2023 14:41:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642189.1001503; Mon, 27 Nov 2023 14: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 1r7cnO-0004fm-1V; Mon, 27 Nov 2023 14:41:10 +0000
Received: by outflank-mailman (input) for mailman id 642189;
 Mon, 27 Nov 2023 14: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7cnN-0004fg-2i
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:41:09 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on20606.outbound.protection.outlook.com
 [2a01:111:f400:fe12::606])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fff8462a-8d32-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:41:08 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7759.eurprd04.prod.outlook.com (2603:10a6:102:c6::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 14:41:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 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: fff8462a-8d32-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hCVUR3RCGjhiPStIFqn/bBEmhmmkEMcTJIk5a8PHU8Pvtii/Ep+c/d0NUO/21HV3/4+d+NcgVkyjZ+vEpciryH6YJO7IBWgNMJ7Ugpap2x1M5zD81mzYWu7uE4dbHVPxGHNw8jdO9sEwQRsiG2TF1WtVeSH746Fm566PODjm6ooktk0hQ1plB1QbWP4OUszlJDRTyZD7wu0AS2fVOQlixgGmAhqhNTdieNW0c2jxyLmz1ugeoH6C3CbidmxUdMbdXb4TOYrO5XiHBGRxdW71Owrlx9RAvYg6sonmv2Orgb63DZAntzl8byDX7ZC4e/DX3t8BlPadU5PX/vyyZucUkw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=dRslTjqt3S29cfdZp3EamzX2RkCXf3utxBLl8RxArUU=;
 b=mRe1uxhEFtOWDJwczbzzjpCXtoE8SZO6Kf1Zc6R9DWPjfYE6e42ODxmmZHz+1BHMGEoK2+jfXz6E7zjOVWmabtzGUCrxlrGeerNfexQHL/wylIYVDxXny0Iskh3mqzx9Kxui/pGyTwit0a9XTzEOziLaAMyazbJxYRRyIqxEU4uFLhcvXLBW1k1Vj/tNMVeRh70GJ26I6Cntc7fsZPMcZKBUgySA4eKGQ4VqWNTK3ugSpsHN2D1sThKctje3wn1SyKQbe4Dam7EPHaN9p5ERoucHyLaifQoCRGCfa5MC8UibMImVUPRWRJWWgDCSBaQCJ3IAsdr5NHuRf3KszAlnOA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=dRslTjqt3S29cfdZp3EamzX2RkCXf3utxBLl8RxArUU=;
 b=CDsphy6DFhKaAyIy1lUArJxI2o5IrVVHHBQScPzKmR/9SCLQg7QXuwZuVehnFtGd1w5bCpGkWxbSA1WIcc/f9I4MWDfgONN0kc7OQeReyGrBJ4/tCITMHI8UJJNRageVIq1NF9WUCvD82ZNTM/uS8JhFABt9siGLmZIDNHeENzTtUhu/W/we+jIc/d8vFP2vfunGcIhMjwtTLTSll2Ncxx17w927i+rgrLwDAXWHgHnctxnOQaDTN5LP0QH2ZOGsXQ5ye8ZHQNzcpgJklVRySY5DuFwhy3z+4l7GKjXM7bE0Xy7mZfa6pjpQ78HLmLNXX73Gd9TSsWLjd4F3m6v+TQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <21ca8f55-d720-489f-a2d0-59a1f78d3656@suse.com>
Date: Mon, 27 Nov 2023 15:41:03 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 13/14] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0004.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7759:EE_
X-MS-Office365-Filtering-Correlation-Id: fe25a9d0-2619-4983-873e-08dbef56e2e3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3hJ23Wp2ac26DlLyJla6SWlwr0gy1qjV5KqEUgnPQKGUO3m0g3xrXD99Jy0Ei5+rc6FK7Me1rxYQjFouGYFOP7hhqiWo4eN0OOyB7RzLxKRiwsTaSGhHldk/+8ZypLi8/m4StaFW2/1BlWVlvY/mH23AIfkxgqdas6u9plcvsN5N8yegf5Zq4OFkE+/j7etpgAKKfAYSBJvuSmlWH0yutiawQzSkcEJ0atIQtBiWbBjwEG++RTPTch91wH6RbHR1mPEDmzKvHdiSkRy1xpMEqjyfLMHel97nV77wkW/c8M+LrpTGN9prqBL2DK7GYFLIXZn7aqgmQT9+cOpDWWySLp9IIqHa/uY8F4HldK3qTHl0sjDrl0xNmsHYV2kdT3k6w5z6reyp/n4DMqNDd/5hB1PyMvmxqBDv9JeDQXu2B3w9KvaACvWt5OSGJ17oRqbu8RIhcrtbO7gaALKEClBq7UcpDHsJ6cg2/ty5/BNtwdLT0TGLV1pq6IPZN1awzMjtVf9uPfWGKna/2lstPL+w+sAsORWTD+TZU56fPNiCA6SMR4RXPz6fJsOuSXVNpq2c/D2mU/etVjrjVe5vhWTsvGhOUv/EwIXnuvXzE4T9fYtNk9l8l51Vs31dHt0xLqhH95W89h6AaxDU9rlydHQ2eQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(396003)(376002)(136003)(39860400002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(2616005)(26005)(6506007)(6512007)(53546011)(4326008)(8936002)(8676002)(7416002)(31696002)(5660300002)(86362001)(478600001)(6486002)(66946007)(66556008)(316002)(6916009)(54906003)(66476007)(38100700002)(83380400001)(31686004)(41300700001)(2906002)(4744005)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Uk9CNUZzLzVHN3pCSWU5VGlERGpSb2c1ZGNsdnBKQXpYRExWOVdRc2lqanFZ?=
 =?utf-8?B?eFFZT0R5Nkk4VEtsOVlaZ3dTQjN0cU1PU1YzVWV4SzFhSTFMMk5mUGtBaGp2?=
 =?utf-8?B?MjZkKzFNMmFTOXN3bXE3K0g1ZDc5T0VtNTZleVIrWElVYUkwRkhUdCtCVU5D?=
 =?utf-8?B?QmFKRWRVVlV6QmxBM1NlSElwTjBqbzBDbFpEeThQQVl0TGpybDJqM3JTVHc3?=
 =?utf-8?B?cUhoNktHakM4djZ6OGkxM2NhU0tNYXdVK3p0M0tSVzZTQ0JNRUN6ZU9tTDB1?=
 =?utf-8?B?MHFwWnlUMHhLUGU1clV6SG16OHFxSVV2Zk12ZlVMU0F6RjgrTzAwb0F2NHFJ?=
 =?utf-8?B?OU4wbjYrMk5ERFhSM1ByQ2lQUVBjZGpZbHJSaWhuL3BydDhIai9iMHJZS1Jz?=
 =?utf-8?B?K0RIVm9KOEZ3MWxzT3Bnc1ZlZndXbFZ0VnowUHJ6cGM3TFp0b295Wm96S0Nx?=
 =?utf-8?B?akgyM3k4eVQ4b3R0UDJJdy9LRDhsaGthVDhacUtuOGlvTE9PTEFSK3ZhUGhR?=
 =?utf-8?B?ZmlrRDRDTTF5M3ZJeXNjR2t6ZEVxS2FQOGh4Q0NlYTE4a0MzbHlvcHF0YzJk?=
 =?utf-8?B?cytpOG0wTGwrejArNFdxU3BNNnk4MHZpYm11cnlYWXBvUFpzK05JdHlnMUJv?=
 =?utf-8?B?NVVSRkdiOVZMZjFsNXhNN1RBQndwNHNpN2h5bkh6SjI1VEJmTkhYbm01eEVY?=
 =?utf-8?B?NkMwaG9tc2ZTZW1aSVN2S2JObXZVSStRSU5ZajVCa3AxYVBaQW5BZjNUaExF?=
 =?utf-8?B?NDRTSXBqMmRTQXN5QmRWeHFaUlFHZVlCYlE3V3V1VGNzQytlcFJDeHhwNHUv?=
 =?utf-8?B?WjVuZUdlQUo3WG90Zi9Dd0ZPQjk2OXRYSWp6YXhJRzZmaTJHZmU0bzN2QThV?=
 =?utf-8?B?czA4WkFPSkFxQmhZQWZFbk1KUkhTUFRsaVduOHpVN1hMVDNPSWJoazZJdUgx?=
 =?utf-8?B?c2REWVgxU1Z5Umd4ckdFNytVbjFjSCtUZzY2OVgzb3F2N3dUT1pBaksxL2x0?=
 =?utf-8?B?dDdJWFV2ZU9vbnZvY0V6SXJnQ3pKZ3F2N3g2VFFsbVJESW9IYmFzeEpWcHR6?=
 =?utf-8?B?UU1HVFBwSnl6TkJxUEdIbWFnWjZmYmNVaXpLdyszekEzQ2YxdHZaMEpMMVd1?=
 =?utf-8?B?Ym1hUDhGeTN2bk1ZSlE5K21CYkpwNU4wdjFGeUtBRkpGNnlmRG9qR2luZnhT?=
 =?utf-8?B?azBUUmVXbTAyUHhCQ2hOZ241enlrUjl2RGhyakt3UlV6L3Z4VW9MdXhvaWlX?=
 =?utf-8?B?Ymh0QlZKK0p6RjhHYVlJaVBjNVRZOWdGVG9VT2FQOWNtSTNqeHBZaWNCYUhx?=
 =?utf-8?B?YmlBQzRaNjE0UkdaOWhhQnhsZ2JpSjRJVWhqYWx4YjNwM2hGVmNMT00ranp5?=
 =?utf-8?B?NXphUUVPQ2YwdStHMUxMa0Ywd1ozdHUzN2pEejdkM0xhcWVJRWlPRlpQKzBU?=
 =?utf-8?B?b0tGN05wejJwZlJDYk41YndOTjE2WDVld0N3d1lteEo2bHlGZ0FWeUo2OFRu?=
 =?utf-8?B?TGNNYlRzY0wxYTJ6dHpUaGxhbVorODROMnFHYURGVjdyajlPLzhRb3ExOGY3?=
 =?utf-8?B?ZXBVZ1N5bU1RdDFBRXFvaFRDMDFyRWNVelZ0NGtzZDJiclk5cmhEL2tlR3hD?=
 =?utf-8?B?T3JUVklyTlE4OCtvVlNWNFphMEVYN3VPR1RHcG53Mi9MdyttTUtVMWsvQldm?=
 =?utf-8?B?ZFBmVHp3U0x2aXRMcW8xSDdYRWVFdlhnQkliWVlQUmF5NExhbWIraWNHR2ls?=
 =?utf-8?B?UzBYTktZWmlaaWRsVm1FOHFlWXBSb2RYaHZrS1pTeXhWV2t5bE9xOG9PdmFu?=
 =?utf-8?B?elBFMTNTSER4UmZvS1VLbVRxTU1Kcmd6bEY3T1pOdktQT20wZ21xeDBJWEhR?=
 =?utf-8?B?V3dKaVNTZDg0dlY2NE43VnJOUnZwdHdhWVdURnhveDZNL0ZTNFFlTjZqRW1H?=
 =?utf-8?B?R2dvSEhhTkh0NDBDVGJuYy9KQng4cmtuekU1YTd1ZUFaL09CSFYyL2xwZkJL?=
 =?utf-8?B?ZW9NMSt4bGpBd0trR0dlUHh6K0R3SCtZbGFDQ0s1ZTdrMkJNdWxqMVh3MEpq?=
 =?utf-8?B?cVJCcUVGaW5TQXBXZ2lXMzlhUTFkODlmVGdycVh1RGVDeHBRdVU3Mm1NSzZn?=
 =?utf-8?Q?s8gCNsjlOFuuhwc+5CErJW+Tc?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fe25a9d0-2619-4983-873e-08dbef56e2e3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:41:05.9338
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H40p8Rtmpi/cUc7VKQck8mdRMfNUEbnhF+euNPhHykFEYVOokijG/4cTC7ekfyirxaxQf4gM3NUDsdDkhNjFuw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7759

On 27.11.2023 15:13, Oleksii Kurochko wrote:
> --- a/xen/arch/ppc/include/asm/grant_table.h
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -#ifndef __ASM_PPC_GRANT_TABLE_H__
> -#define __ASM_PPC_GRANT_TABLE_H__
> -
> -#endif /* __ASM_PPC_GRANT_TABLE_H__ */

Removing this header would be correct only if GRANT_TABLE had a "depends on
!PPC", I'm afraid. Recall that the earlier randconfig adjustment in CI was
actually requested to be undone, at which point what an arch's defconfig
says isn't necessarily what a randconfig should use.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:42:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:42:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642190.1001512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7coa-0005Cr-EH; Mon, 27 Nov 2023 14:42:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642190.1001512; Mon, 27 Nov 2023 14:42: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 1r7coa-0005Ck-Bi; Mon, 27 Nov 2023 14:42:24 +0000
Received: by outflank-mailman (input) for mailman id 642190;
 Mon, 27 Nov 2023 14:42: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=tpch=HI=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r7coZ-0005Ce-JE
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:42:23 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2af9f360-8d33-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:42:20 +0100 (CET)
Received: from BL0PR02CA0092.namprd02.prod.outlook.com (2603:10b6:208:51::33)
 by PH7PR12MB8039.namprd12.prod.outlook.com (2603:10b6:510:26a::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Mon, 27 Nov
 2023 14:42:17 +0000
Received: from MN1PEPF0000F0E3.namprd04.prod.outlook.com
 (2603:10b6:208:51:cafe::3b) by BL0PR02CA0092.outlook.office365.com
 (2603:10b6:208:51::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend
 Transport; Mon, 27 Nov 2023 14:42:16 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 MN1PEPF0000F0E3.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Mon, 27 Nov 2023 14:42:16 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Mon, 27 Nov
 2023 08:42:15 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Mon, 27 Nov 2023 08:42:14 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2af9f360-8d33-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TCOz8QhntX6ZgEuNVIAQkDJWNanWm+gkue9dpazBrUT/SVKIt9gQwwsMCZYF7IJb80iN6ORNUmFP59Db6oF7P57j8PNCkPdpBe3/reA20LNkXnTlE4CV9f+Za5qGje3JloSlrLbvovd05eAYsAmLNy5uz11Zqbnmr70hDPhwjcgU3qMHNHSc6BeqP2mnQNhEXsvbZxc7fr9ZESYfqPopVI3yStu2TpT/hHPMG53hh8s0e8LAAUlfv6nps9DdIImq8r3kucjfZ66pgwsUjpCr1wEgkfO2IVbOu6Byq/zQmEgAmNaSnuO4Lz6hbi7vJ0s2jhLj9nR4FSaUFILH5PL9nw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=8txgQdFFbhv199fN7KInBreuwQAnXt3XT1taWmKNQHU=;
 b=Zu6ATWllDw9+ywg0Vu6ZD2xKMVeto7sfJ1nwdOSelHkO00hVOuQsJLWu6URMUFE0yXtc1l966eKF0vxsYhoabkRgaGmJjXrsRe1V90ZANixgROScD48JJRgB/WHejJLyaQMEHJ/r/iOGvwZqFy+w44s77tMM1YkxKGpqWs+/Q4MwIakvr1j90UEvwxq6Q4f3UqZsaNMsvDobDW+NwrRnF8kv8bGH7X0VYC54u6EpJTp/9NpkpAvVlvvCX6newlrWsTp9wP9whDUhVMSEvYXISRb1tPBFAHTh6iyX4C+kCXsSv6K+ya3e1Wwd5jOmPnwkpq9c8YmXAjMCyYbaNhBKaw==
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 (0)
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=8txgQdFFbhv199fN7KInBreuwQAnXt3XT1taWmKNQHU=;
 b=heN2UZU394s0MWbcTTwbFON8uCgKZ4MV27ZHg1AJ4KtZCtxjSVcmZNnH8x/OeXNv6SLiCfqzIz/1AfkFO1rf7ryPhyB3bYODCEuTl5ZyL4GVOqwRD5RjzhVb58xFjwToFPiR6TdtwpylBokha9jktUUjwI7ju28I/HcQNqwuRaw=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.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] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN failure
Date: Mon, 27 Nov 2023 15:41:55 +0100
Message-ID: <20231127144156.361656-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: MN1PEPF0000F0E3:EE_|PH7PR12MB8039:EE_
X-MS-Office365-Filtering-Correlation-Id: 816a8274-33e8-4fe4-9f37-08dbef570d15
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	TJ/xklmR7Htz32OwbYr/BlGC0pNaC/zj2crKGxGgVUCOjTF+94e5GHz8NmXktmZubEnL2GPrNBXSxkcL5qi7w6YXZZ/+7a6qCtPJU0QbZkabFZ7FLW57PQVHpjWiQjYHcei0jZfqumY1FMPwEzyLmUnCC5eRdqFplWUq/INZQwuVrD/sAUsaKIyjexg2WYQl6O8gAonkY11QuIPZCNHaovRrAf9yur4j4RSa3i26xBRiqxcrSYmtrVc9OOTvemtnQOaPZd0aDLxbiNTp8Rt+pwHqe81u7Zg6CD91L9C/Rqe0+kx9umCrCbOLXVSM7/b292JgPwFWFXoisEJdulq5UsFCBrJ7Qe7ziSt4M2xUHqP2PmYWl3KKohdI6KI6PeEBHmm2RE2EfhD+yfe4Gf4OOgry+4XGzexFXAZGHyPmjKyopJW1UqmI6JwbHKFgCuQ9T3VhruKv5bkTgfNPUs3vJ3P329kiRwskN5yO6wACpMwpvpiddsjNvc27QYTuhaGn6CseR/8fTZNYbvUsuTtY/RAhBznGpDeQPSt7rAQHnVFNHquFxyLjzsR947SA6pTwwkibDnMPhhFlNaCQlRA7IgZnjnjeIGHnkgnh3MB9706eip2oXciVV5fjdBve7vPcY2RUKYRonRv0n8IOGFNyFMAbF1selCgJun9UcxQ0gMwFlhMNho3b/1bfmwEFr0RTogmvsg8eFh06sNkZf8rNnC7fSQOxojGhcpnmh4NHmTr4XHBNl8xYDxLFgBbUV+gdW7DkQx7XqSvkkRo99FJp3w==
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:(13230031)(4636009)(346002)(136003)(39860400002)(396003)(376002)(230922051799003)(64100799003)(451199024)(82310400011)(1800799012)(186009)(40470700004)(36840700001)(46966006)(36860700001)(36756003)(82740400003)(356005)(81166007)(40460700003)(86362001)(41300700001)(4326008)(8936002)(8676002)(6916009)(316002)(54906003)(70206006)(70586007)(6666004)(478600001)(5660300002)(2906002)(44832011)(47076005)(426003)(336012)(40480700001)(2616005)(26005)(1076003)(83380400001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:42:16.3302
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 816a8274-33e8-4fe4-9f37-08dbef570d15
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:
	MN1PEPF0000F0E3.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8039

Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where prompt
attention to undefined behavior issues, notably during CI test runs, is
essential. When enabled, this option causes Xen to panic upon detecting
UBSAN failure (as the last step in ubsan_epilogue()).

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
 xen/Kconfig.debug        | 7 +++++++
 xen/common/ubsan/ubsan.c | 4 ++++
 2 files changed, 11 insertions(+)

diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
index 94e818ee09b5..e19e9d48817c 100644
--- a/xen/Kconfig.debug
+++ b/xen/Kconfig.debug
@@ -107,6 +107,13 @@ config UBSAN
 
 	  If unsure, say N here.
 
+config UBSAN_FATAL
+	bool "Panic on UBSAN failure"
+	depends on UBSAN
+	help
+	  Enabling this option will cause Xen to panic when an undefined behavior
+	  is detected by UBSAN. If unsure, say N here.
+
 config DEBUG_TRACE
 	bool "Debug trace support"
 	---help---
diff --git a/xen/common/ubsan/ubsan.c b/xen/common/ubsan/ubsan.c
index a3a80fa99eec..dd5ee0013648 100644
--- a/xen/common/ubsan/ubsan.c
+++ b/xen/common/ubsan/ubsan.c
@@ -174,6 +174,10 @@ static void ubsan_epilogue(unsigned long *flags)
 		"========================================\n");
 	spin_unlock_irqrestore(&report_lock, *flags);
 	current->in_ubsan--;
+
+#ifdef CONFIG_UBSAN_FATAL
+	panic("UBSAN failure detected\n");
+#endif
 }
 
 static void handle_overflow(struct overflow_data *data, unsigned long lhs,
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:43:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:43:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642193.1001522 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cpt-000611-Sp; Mon, 27 Nov 2023 14:43:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642193.1001522; Mon, 27 Nov 2023 14:43: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 1r7cpt-00060u-QA; Mon, 27 Nov 2023 14:43:45 +0000
Received: by outflank-mailman (input) for mailman id 642193;
 Mon, 27 Nov 2023 14:43: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7cps-00060i-8L
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:43:44 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2054.outbound.protection.outlook.com [40.107.7.54])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5c8ce707-8d33-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:43:43 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 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.7046.19; Mon, 27 Nov
 2023 14:43:11 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 14:43: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: 5c8ce707-8d33-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZceEkh66Gwd44kMWqOmtAuzcL6qxAExeaf5gnzYERU+b1Vg8xQEAevRJHcv/4RrsjYcskScuye5X9etkycf4Dx4kG2NFuL6ViraB1CrkCliktp2bk2ibw/JqafzhODggEa2s11yq+4YPGX0C2YT6rLydepyYfJusm7iRVTl/96rtJ2mOxMc5x5z52e2+C1MWDtahSxO+g3LF8+K+2XM/7cVkF5R/Q5ywikPRjX55cJYT7T21WS1rbBiWSBp/WI9TX4OeLI3fN+8ht3Hf17Eo2FKVSiQT6TxYWFGWuLSPK/mE8NgN2G5xEUBSj3uYsLo7U5aeWBHlhXPvRqpii81HxQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ny3XMuhL1fS2aEtPNShVNKomRw2WuywK/O+QlDi9HMw=;
 b=d+3pOHzBHZPpjTwc8SbmHqS75IB4mWGDw4Rs6qdiNiZQTgCHa9d4dZIqla9qlFVaTwIcb4he1/jFniGJ/jkXBShjhbisHjNXOEyyHSk4SGiO38ZcvF4Cdt0RyvadSDIuX87bo44hIZPLPn009LQcdYuKvB0OCdA/6hyLFPANDf8soi9s0+d5gXlkgNBctNyEWsgar42o2DMDDShtHN2OjtM5lmMUrs7ZkfkgycCAYVJIM1WoHV/O94AziMn3dGNfB+ZoRXyonWvJYPHnGSYdIOa/zajkylRliWDmbzEk2rBX3a2tTnw08deuxIaJ8WQAuf5bO65opp/ZkGrfuq/c1A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ny3XMuhL1fS2aEtPNShVNKomRw2WuywK/O+QlDi9HMw=;
 b=oh4P2BRkv+kWHmLUUXIoXO8JY0/4NfMX+uXll/48AnX36e7QWtyEvVZm5K/s9fby2r/5VUOUz3p2nPyjV4dJWtVjFJvAjk+yG8xeqKWr6QEn5JYtlyb2FbZIuYCS7oBOpKCwyXi9D2mzeNvyQWjxQaUYT+sqABWh9m0B9ucBKXAMKX+EbKlXs6rS8YYplRjRXdwPRbOV69eSqoLwjJicb06s9eN8exg7RyAo8NoAwvq4nVVGskG2fUYWqvFaDy3KJa/1oQEGoY0uxaTVHMDlGrD3yCNainYkpTmxXyIx2EuUR4NLk3pFg9JQCLk63iNaJq1hbv52r1JsvuHfF2BgNQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <61d33ac5-0523-47d7-b786-dfead58c46d4@suse.com>
Date: Mon, 27 Nov 2023 15:43:09 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 14/14] xen/asm-generic: ifdef inclusion of
 <asm/mem_access.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <c89f80900a0e2dc6188cea79b60a68604938f7c9.1701093907.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c89f80900a0e2dc6188cea79b60a68604938f7c9.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FRYP281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::28)
 To DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU0PR04MB9348:EE_
X-MS-Office365-Filtering-Correlation-Id: b2a5d14f-f2f9-4558-a226-08dbef572dd0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pJRdgNyCiNbLlIecayfngIp3JRshPx+abDUCFc6uwm7Gw9Rc0LdXQb7K37SQUstV8xK7ZGIDsPO/UMfUp2pkdCS48ZNo6pU2yF2Oso5rSi7fd+iThJjubD6xtqlhX63T9+aBy1wLlukHr+KMDdlNb0js87CMW5E2Yqi2DarNKJmIN+bT5vFHGM7HbAaNOKfB5pVNpdbTHca4c4wlYk7QSnKa+E2u5ZRV6Ni28/xVGJyJK7r7pS2C/tjPUecNUWsPPSmmhkK5b3h3haD24IN///yioKWJcGSWwEHIF8MFIzoYNH1aJJUzZTxi9j16pBDLVJY4axZvDyQM6PckcDj6Nyh5N3PZ8VIl5APTTPdiEqsFmtW21U5T30edyG7epXHii+cAJv3RS7nk4DTUFxf0XM8CFY3LbXMYVrXVOwygHJE/fgC+AFOP1aKjhYkbo72f5hyPsQPe5tJL9iW3gj5VufC3T4JwjyENHxOrYQ0a2BmGlUuCZXsYfii9xN3oQ5EFSEftM1tlp9ToSsfB6qhClU3rtmZO6tNFRoVOOvObhbxJeHbrdDLBCFG47pj2eljGEq/k/Tg52a+RdsmPGYZlVmk2n5QanUPirA6V79X1jNAG5vD7LAq0WxcAHXfXye4zwTnWzg/lTxWtiqjkpM2zy6OG4UzKHJuWMD5OokJrJR0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(396003)(366004)(39860400002)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(31686004)(26005)(6486002)(2616005)(6506007)(53546011)(478600001)(6512007)(38100700002)(36756003)(86362001)(31696002)(41300700001)(5660300002)(7416002)(2906002)(66946007)(83380400001)(4744005)(66476007)(54906003)(66556008)(4326008)(316002)(6916009)(8936002)(8676002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MDhZOFhjdXhBTXdsVjZRZmoxUkF1MVJVRVFrUnNNSDE3cGlaM0wzQlYwZ1RE?=
 =?utf-8?B?VmRSNVF6bitNd25ZM1hvTGZ0SjluR3gvN0lUditRMG83YzJIL2tmN3R5THFN?=
 =?utf-8?B?UzJZWU5vSHVMM0NZaEQrUjBVWVA4djhxWEx3QXZhanp2bHp3WEtuMFNXTTVv?=
 =?utf-8?B?SEpkbTE1a0ZtNkJtUlVQaE9VaSswbGNlV3QxS0pOZGFwUHpGeDhKc2RqQ3ky?=
 =?utf-8?B?aHRzMzE4azVFY0p6RXBMaGltUGJzdlBtdXB1aG1TZW1JK2pnT2JZZENpNFVV?=
 =?utf-8?B?Q0Q1ek16TVozQnA3MEdQVXc4RkZGSEFPT2VGakYrK1R5UlMzb2R4RWVUNnRn?=
 =?utf-8?B?WksrdGpDN1NRTFRFamkwTWhsTnBSZ2VjWGlYWGlnaGM4UmY2T2hwcGk0ZFY4?=
 =?utf-8?B?R3VvNWhwRy9wZnI5NDE0czE3ZDNjdFJxQ0lIeHBNazMwUWVLVzZYbkN1bi8v?=
 =?utf-8?B?cGZoNXlRNm84ZGkzQTQ3cnVmSlNWQUw0WXlJci80SXpjd1prQmNnUlc3QWVC?=
 =?utf-8?B?Vkg4THNQaHdRaWJIeXJSRC9UQ09jOTVSU3JUSWVOaXFIdVVGeXlacUtTdjhz?=
 =?utf-8?B?cHQ2eHFSRGx3Zzc5dVl1d2ZMZGorMDRLN01PS0tMMFp6aTBBZE51a0xmaWM1?=
 =?utf-8?B?UGIyQmZiMERrL0VnVTV0RlZpbFVTY00yWm5abWtEN3Q0VWUxQ2RqZEY3d3k2?=
 =?utf-8?B?WlMreEpnQXF1TG5YUWFVekZwZVVxbzdZdkczZnBUSkROZnZvU0cwOTRrTjU4?=
 =?utf-8?B?VlVOQVFrcnFvamQvTjR6by9pSWF3VytVRkFuV0tGSVJJQjNubisvUFNMdkx3?=
 =?utf-8?B?UDVXakhUcGRaU3RMQ0NaRjlUd3B3Z0V4UWNZRFhHMVNIR3pkWGplbDRtNDZM?=
 =?utf-8?B?SW1Ydm5LZ2tzeHRnZVVSeVlIK2RiMHJBTzVQQzFxY1ByYU85WlFKSDhxRUhC?=
 =?utf-8?B?WGNlU3hGSEtyQVhhd3BOTUp4SlZqeGVGb2FVWmFZb2VNOUh2Y3hMZ2tDcmkz?=
 =?utf-8?B?RUllazVoSjBzMjE5ZWRVNmpSbTFPSUVEdkVtK1l0MkY2S3ZCRWp5MDFVckEz?=
 =?utf-8?B?ZkJLbzNDQ0I3VEx2QzFNSEo4L1pqZkdkSUpnTUdMNFoySi9FOXdsVS9EWmRP?=
 =?utf-8?B?Qm0vcnJoSi84WE95K0p1ajhmeW03RGpTUS9tSUFFajBDUHhGVnNySUQwdGRF?=
 =?utf-8?B?S0dpUTVFd21GaDlLWk5NVkMvUlI2OWs2dG5DN3UrWGN3RjJaTTVVY0VEcU5r?=
 =?utf-8?B?OHV1UWZJWnF0MmJkeWtMSGFVVjVFR1FiNnNGbGlBNW5FVWhiNVJ1L0QwVmZ4?=
 =?utf-8?B?TVlLSWhJOW1aMlBEQjN6dkNMS0xvUy9pNHptTVlPOTJPaU1Ua0FUTG9lTEtt?=
 =?utf-8?B?RHVkZm1ldklHQnp3aEVvMTFSd0w4NW4wQkNWWWZqOFM0UEhXMEJkTDVSdWtw?=
 =?utf-8?B?MTd3VVZ1N2RkdCtZZ1VXU1pYaXNCbW5LakxOd2FHYW5IUVMrMW5yN2F1Z3Qv?=
 =?utf-8?B?ZDNEUDhUeEwyR1hVbVJ2QTV2ekhrUVNyQjNXM1BzYU82VkxVNTU3TXBZci9T?=
 =?utf-8?B?ZzRYNk56a0wrTWN2NktaR2ZjbFROQmxVSS83YjdMSHE0MmJhZVJ3QjRzYXV2?=
 =?utf-8?B?d0JDZXB4ZTlNZ3AzK0FHZjdBN2w3U3E3VEVTVFVxRmtpK0J0VDM4TTFUTDc2?=
 =?utf-8?B?bnhtbVhpUE85V3dGZmNMWTlwM0ZuMmNuUGZvMEcxcU92c2JvSkZEbHNZSExn?=
 =?utf-8?B?dWc5Vld5NlJDYjhoYzNNeU9qNVdtM1Exem0xWVpEY29qLzhyanhVM1FmZUUz?=
 =?utf-8?B?YUg1cHFrSmFzcDFPdWZNL3dRc2R5Q1d2RlAzSjRLbGhjQXJuL1dsOEtUSFNt?=
 =?utf-8?B?MWFZZ1RTRmpCSCtsWWx4VkxjUlh5OGhtejlSWEJua21rTmkycktLVXZOSjVi?=
 =?utf-8?B?SVVNN0F3NzdQc0RHNjlhcU9Vdm00MXY3STFaRzkwVmh3Vk5pZEI1Q3VBY2hS?=
 =?utf-8?B?Z0Y1ZzV5bDBVMW1zZ3FhcmcvbmltYzZ2WC81ZHVlNVdtU3grd1Bzb3R0RjAr?=
 =?utf-8?B?ZTh2RS81ZlJuSG1HMFk4TXo5QnJQQXFZZmNIellQV2Qxc1F0ejJBUzlCVE9X?=
 =?utf-8?Q?IYXpwz9t2pVXtvRlpBIjYn0oH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b2a5d14f-f2f9-4558-a226-08dbef572dd0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:43:11.4119
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 9oXNdukW3NQb68z+VMkBnEqKta8QQUg6I6FT4qAfGch9MfecjYzr0QwDMhYTZN2PxGZrso43fKGQAp4r2v941Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR04MB9348

On 27.11.2023 15:13, Oleksii Kurochko wrote:
> --- a/xen/arch/ppc/include/asm/mem_access.h
> +++ /dev/null
> @@ -1,5 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -#ifndef __ASM_PPC_MEM_ACCESS_H__
> -#define __ASM_PPC_MEM_ACCESS_H__
> -
> -#endif /* __ASM_PPC_MEM_ACCESS_H__ */

Same as for the grant table change - if you want to remove this header
(and not put one in place for RISC-V), MEM_ACCESS needs to be impossible
to turn on for PPC and RISC-V.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:48:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:48:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642201.1001533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7cty-0007DY-Ct; Mon, 27 Nov 2023 14:47:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642201.1001533; Mon, 27 Nov 2023 14: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 1r7cty-0007DR-A0; Mon, 27 Nov 2023 14:47:58 +0000
Received: by outflank-mailman (input) for mailman id 642201;
 Mon, 27 Nov 2023 14:47: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=j1wO=HI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7ctw-0007C7-Uc
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:47:56 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f2f19350-8d33-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 15:47:55 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c871d566cfso48140151fa.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:47:55 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 bi24-20020a05600c3d9800b0040b3d8907fesm9729261wmb.29.2023.11.27.06.47.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:47:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f2f19350-8d33-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701096475; x=1701701275; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=yMCWFdih6CSmmbiEu9RB4Dppy2Np8RV9HS0VcjNvI0E=;
        b=QqIwF26oqRN69ZUClA/dB8/8GGeNTCfD8m+7eoF5hkYphsfLiccw7KnvivOupzv6GT
         MZ+YC/8BOpV45x1PRcASeSjMO5YcH4QNpbdCcT1+V6QvNtBqnSsZvMivNmUldkpbcX9b
         A++FaETPXpht2XfNO7kTURQkR4J2k3n5xWMuo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701096475; x=1701701275;
        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:subject:date:message-id:reply-to;
        bh=yMCWFdih6CSmmbiEu9RB4Dppy2Np8RV9HS0VcjNvI0E=;
        b=MF92VEPsjPvIqaxTjcxLDm31ruoB4/y/bIjviPE+zkvU0NrammHzu3uy+L8nrJgPOR
         GjjWu5Z9iwCQHY60crriX0GWFtrtwK2AWYm4dqO0p3Gx2z3ZfNM38QNNtU1EkhEL6TbL
         Pl9nHfA2fJVPAgOSGr6DiiiHZJXNJ8SdBHbZzKDEJIm1Y7wE7Z4owYsRMpjlMie906zf
         lKSZj0J+nWsG9hcSC1CsWc4XkSMMOrlOi1T401sU0IGRhnWAb7LB5KqbARp7zoWoZ0BP
         erf8T7r9u5nOMWmjEi69YOvLp9mKm5108IwW8Sds0qgx8DTCzpddgldqOwVvHm/Tqs9L
         cXrg==
X-Gm-Message-State: AOJu0YxPHOHjaptw9fP3rF9YP04hUwzBim/eWvl7Eu2eP0INnuIlAtZQ
	rkFRP68N1RIVOn9JnIe2+6HBLQ==
X-Google-Smtp-Source: AGHT+IE8JyEWxR6JNM5df4zB1qUkYX/QpjxeqzhaJaLkON2warQ8UAL3/DGpv7ZVbGT0muuvETTY3Q==
X-Received: by 2002:a2e:5317:0:b0:2c9:94e8:46c9 with SMTP id h23-20020a2e5317000000b002c994e846c9mr5429940ljb.23.1701096474967;
        Mon, 27 Nov 2023 06:47:54 -0800 (PST)
Date: Mon, 27 Nov 2023 15:47:53 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Ross Lagerwall <ross.lagerwall@cloud.com>,
	xen-devel@lists.xenproject.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [PATCH 1/2] livepatch-build-tools: remove usage of gawk
Message-ID: <ZWSsGfEx-F5yyRU8@macbook>
References: <20231123160535.18658-1-roger.pau@citrix.com>
 <20231123160535.18658-2-roger.pau@citrix.com>
 <CAG7k0EqQZLZDMMJg=20EgnKwhbXZ9US-9zMs0NkJD7eWYR2vtA@mail.gmail.com>
 <3706e5a8-7893-4e4e-a9b2-60517720f2a7@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <3706e5a8-7893-4e4e-a9b2-60517720f2a7@cloud.com>

On Fri, Nov 24, 2023 at 12:10:57PM +0000, Alejandro Vallejo wrote:
> On 24/11/2023 11:43, Ross Lagerwall wrote:
> > On Thu, Nov 23, 2023 at 4:08 PM Roger Pau Monne <roger.pau@citrix.com>
> wrote:
> >>
> >> And instead use plain awk.
> >>
> >> There's no need to use the --non-decimal-data option for gawk, since the
> >> numbers that we want to print are already prefixed with '0x', and so
> plain awk
> >> will do the conversion from hexadecimal to decimal just fine.
> >
> > I don't think that's true (at least with gnu awk 5.1.1):
> >
> > $ echo '<e98b7>   DW_AT_byte_size   : 0x14' | awk '{printf("%d\n", $4)}'
> > 0
> >
> 
> I think it's a FreeBSD quirk. From their man page:

Seems like BusyBox inherited that behavior:

BusyBox v1.36.1 (2023-07-27 17:12:24 UTC) multi-call binary.
$ echo '<e98b7>   DW_AT_byte_size   : 0x14' | awk '{printf("%d\n", $4)}'
20

I've assumed that Busybox was the lowest common denominator, but not
in this case.

> >        Historically,  awk did not accept "0x" as a hex string. However,
> since
> >        One True Awk used strtod to convert strings to floats, and since
> "0x12"
> >        is a valid hexadecimal representation of a floating  point number,
> On
> >        FreeBSD, awk has accepted this notation as an extension since One
> True
> >        Awk was imported in FreeBSD 5.0. Upstream One True  Awk has
> restored
> >        the  historical behavior for better compatibility between the
> different
> >        awk implementations.  Both gawk and mawk already  behave similarly.
> >        Starting with FreeBSD 14.0 awk will no longer accept this
> extension.
> 
> I'm guessing the latest FreeBSD doesn't have that behaviour either?

Hm, I guess my FreeBSD world is not new enough, as the awk (version
20210724) I have does parse hex numbers:

# echo '<e98b7>   DW_AT_byte_size   : 0x14' | awk '{printf("%d\n", $4)}'
20

Will see what I can do to address this without requiring gawk if
possible.

I'm not sure if there are other issues that would prevent
livepatch-build-tools from working on FreeBSD however.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:53:38 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:53:38 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642207.1001543 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7czL-0001Ij-1J; Mon, 27 Nov 2023 14:53:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642207.1001543; Mon, 27 Nov 2023 14: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 1r7czK-0001Ic-U9; Mon, 27 Nov 2023 14:53:30 +0000
Received: by outflank-mailman (input) for mailman id 642207;
 Mon, 27 Nov 2023 14:53: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=j1wO=HI=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7czK-0001IW-9A
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:53:30 +0000
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com
 [2a00:1450:4864:20::430])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7709f04-8d34-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:53:25 +0100 (CET)
Received: by mail-wr1-x430.google.com with SMTP id
 ffacd0b85a97d-32f8441dfb5so2959854f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 06:53:25 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 h9-20020a05600c314900b0040b32edf626sm8532359wmo.31.2023.11.27.06.53.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 06:53:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7709f04-8d34-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701096805; x=1701701605; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=myBAOJYFsx4wkz4rU0sw7kfl9scNwXPkx5D7RaVVg5Y=;
        b=KZVOIMe5QMAtbKQJU71KfA6mkUDAtXljMJ6RdkVZ2pNF7ETjALxilH8/WcTi6Z/2Zv
         bN37NS/JMNbabJmNVJ4m9k9QA0fQL9a6/KN+3dxfNMvvHOlo4cFA0WV2NrsAiBBdLNwR
         i89zLH+uKu3LeuCa0lcv1lVqcp8luscjAWDPc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701096805; x=1701701605;
        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:subject:date:message-id:reply-to;
        bh=myBAOJYFsx4wkz4rU0sw7kfl9scNwXPkx5D7RaVVg5Y=;
        b=CnYB2uIgrWrJsT1JntxVIqtf3EZBugZCMxMPdoPRhVrwZCwVpdcJFTKC+D/hqD+C9x
         OOp5BcbmSkRWo2gtn1Qe/9NAqk09THixT8S40UEH6kawZdFqnTcMmbY5TD/D5oTw82gc
         S4gRZVczI1lnRgKapuKG4nr/fwrzQi30WivG9vaB4gB30oFxY3qXlep9A8o+CWzubjvk
         bRM1hTpeDGmWf6/UdcXgbICFBDy0rQQF1RjY5DaCu3tsDTEktltGYQ59GfDGUWOnDmkm
         e8YJU9om+hkJkocblDnC+3tImlTLZkiz/GXZk2BHzVIAGtduyrNeYOqP69a58kfQj2ql
         KQEA==
X-Gm-Message-State: AOJu0Yyw8eZz++GNywruaRUw7yojpsR5nMJfRuj30wuTjCrYbZ2DXvh8
	ULicRvwWip9ckBzH41L4PBuwQw==
X-Google-Smtp-Source: AGHT+IErJJqMy2gqG4PnroabFbwfgaSz2K9mSYXh2JNm6jERD+YGieUe0eBo5H8hKvFX7vFhNrIAmA==
X-Received: by 2002:adf:e543:0:b0:32f:7be5:50f with SMTP id z3-20020adfe543000000b0032f7be5050fmr7924484wrm.48.1701096804755;
        Mon, 27 Nov 2023 06:53:24 -0800 (PST)
Date: Mon, 27 Nov 2023 15:53:23 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Neowutran <xen@neowutran.ovh>, Elliott Mitchell <ehem+xen@m5p.com>,
	Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org,
	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>,
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <ZWStY7G_Anh1MWHX@macbook>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
 <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
 <x4qzfuqkkebjkdfmhw6rvdhrn2ewa6ghjtjqd7xevnuylfahh7@pjratinsg76a>
 <a4b4546a-60b8-4d0e-bdf4-9af6699fb925@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a4b4546a-60b8-4d0e-bdf4-9af6699fb925@citrix.com>

On Mon, Nov 27, 2023 at 11:49:03AM +0000, Andrew Cooper wrote:
> On 24/11/2023 7:54 pm, Neowutran wrote:
> > Hi, 
> > I did some more tests and research, indeed this patch improved/solved my specific case. 
> >
> > Starting point: 
> >
> > I am using Xen version 4.17.2 (exactly this source https://github.com/QubesOS/qubes-vmm-xen).
> > In the bios (a Asus motherboard), I configured the "local apic" parameter to "X2APIC".
> > For Xen, I did not set the parameter "x2apic-mode" nor the parameter "x2apic_phys". 
> >
> > Case 1:
> > I tryied to boot just like that, result: system is unusuably slow
> >
> > Case 2:
> > Then, I applied a backport of the patch  
> > https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw 
> > to the original Xen version of QubesOS and I recompiled. 
> > (https://github.com/neowutran/qubes-vmm-xen/blob/x2apic3/X2APIC.patch)
> > Result: it work, the system is usable. 
> >
> > Case 3:
> > Then, I applied the patch https://github.com/xen-project/xen/commit/26a449ce32cef33f2cb50602be19fcc0c4223ba9
> > to the original Xen version of QubesOS and I recompiled.
> > (https://github.com/neowutran/qubes-vmm-xen/blob/x2apic4/X2APIC.patch)
> > Result: system is  
> > unusuably slow. 
> >
> >
> > In "Case 2", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_mixed". 
> > In "Case 3", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_cluster". 
> >
> >
> > -------------------
> > If you want / need, details for the function "apic_x2apic_probe":
> >
> > Known "input" value:
> >
> > "CONFIG_X2APIC_PHYSICAL" is not defined
> > "iommu_intremap == iommu_intremap_off" = false
> > "acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL" -> 0
> > "acpi_gbl_FADT.flags" = 247205 (in decimal)
> > "CONFIG_X2APIC_PHYSICAL" is not defined
> > "CONFIG_X2APIC_MIXED" is defined, because it is the default choice
> > "x2apic_mode" = 0
> > "x2apic_phys" = -1
> >
> >
> >
> > Trace log (I did some call "printk" to trace what was going on)
> > Case 2:
> > (XEN) NEOWUTRAN: X2APIC_MODE: 0 
> > (XEN) NEOWUTRAN: X2APIC_PHYS: -1 
> > (XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
> > (XEN) NEOWUTRAN IOMMU_INTREMAP: different 
> > (XEN) Neowutran: PASSE 2 
> > (XEN) Neowutran: PASSE 4 
> > (XEN) NEOWUTRAN: X2APIC_MODE: 3 
> > (XEN) Neowutran: PASSE 7 
> > (XEN) NEOWUTRAN: X2APIC_MODE: 3 
> >  
> > (XEN) NEOWUTRAN: X2APIC_PHYS: -1 
> > (XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
> > (XEN) NEOWUTRAN IOMMU_INTREMAP: different 
> >
> > Case 3:
> > (XEN) NEOWUTRAN2: X2APIC_PHYS: -1 
> > (XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
> > (XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
> > (XEN) Neowutran2: Passe 1 
> > (XEN) NEOWUTRAN2: X2APIC_PHYS: 0 
> > (XEN) Neowutran2: Passe 6 
> > (XEN) Neowutran2: Passe 7 
> > (XEN) NEOWUTRAN2: X2APIC_PHYS: 0 
> > (XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
> > (XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
> > (XEN) Neowutran2: Passe 2 
> > (XEN) Neowutran2: Passe 4 
> > (XEN) Neowutran2: Passe 7
> >
> >
> >
> > If you require the full logs, I could publish the full logs somewhere.
> > ----------------------
> >
> > ( However I do not understand if the root issue is a buggy motherboard, a
> > bug in xen, or if the parameter "X2APIC_PHYSICAL" should have been set
> > by the QubesOS project, or something else)
> 
> Hello,
> 
> Thankyou for the analysis.
> 
> For your base version of QubeOS Xen, was that 4.13.2-5 ?   I can't see
> any APIC changes in the patchqueue, and I believe all relevant bugfixes
> are in 4.17.2, but I'd just like to confirm.
> 
> First, by "unusable slow", other than the speed, did everything else
> appear to operate adequately?  Any chance you could guess the slowdown. 
> i.e. was it half the speed, or "seconds per log console line during
> boot" levels of slow?
> 
> 
> Having re-reviewed 26a449ce32, the patch is correct but the reasoning is
> wrong.
> 
> ACPI_FADT_APIC_CLUSTER predates x2APIC by almost a decade (it appeared
> in ACPI 3.0), and is not relevant outside of xAPIC mode.  xAPIC has 2
> different logical destination modes, cluster and flat, and their
> applicability is dependent on whether you have fewer or more than 8
> local APICs, hence that property being called out in the ACPI spec.
> 
> x2APIC does not have this property.  DFR was removed from the
> architecture, and logical mode is strictly cluster.  So the bit should
> never have been interpreted on an x2APIC code path.

FWIW, Jan also pointed out that the ACPI spec mentions xAPIC strictly,
even for ACPI_FADT_APIC_PHYSICAL.  It's possible APIC_PHYSICAL should
also be enforced only in xAPIC mode.  Or it's also possible the ACPI
spec was not updated to mention both xAPIC and x2APIC modes.

Roger.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:58:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:58:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642213.1001553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7d43-0002jq-Jy; Mon, 27 Nov 2023 14:58:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642213.1001553; Mon, 27 Nov 2023 14: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 1r7d43-0002jj-H7; Mon, 27 Nov 2023 14:58:23 +0000
Received: by outflank-mailman (input) for mailman id 642213;
 Mon, 27 Nov 2023 14: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=YLEH=HI=oracle.com=boris.ostrovsky@srs-se1.protection.inumbo.net>)
 id 1r7d42-0002jd-3l
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:58:22 +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 663ac947-8d35-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:58:19 +0100 (CET)
Received: from pps.filterd (m0333520.ppops.net [127.0.0.1])
 by mx0b-00069f02.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ARE3wV6003550; Mon, 27 Nov 2023 14:57:58 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 3uk8yd35nw-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 27 Nov 2023 14:57:58 +0000
Received: from pps.filterd
 (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.17.1.19/8.17.1.19)
 with ESMTP id 3AREn1NR001437; Mon, 27 Nov 2023 14:57:57 GMT
Received: from nam12-dm6-obe.outbound.protection.outlook.com
 (mail-dm6nam12lp2168.outbound.protection.outlook.com [104.47.59.168])
 by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id
 3uk7cbm50u-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Mon, 27 Nov 2023 14:57:57 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com (2603:10b6:208:321::10)
 by SJ2PR10MB7656.namprd10.prod.outlook.com (2603:10b6:a03:53e::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Mon, 27 Nov
 2023 14:57:55 +0000
Received: from BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::f1c7:5e12:4b90:ecf9]) by BLAPR10MB5009.namprd10.prod.outlook.com
 ([fe80::f1c7:5e12:4b90:ecf9%7]) with mapi id 15.20.7025.022; Mon, 27 Nov 2023
 14: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>
X-Inumbo-ID: 663ac947-8d35-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=message-id : date :
 subject : to : cc : references : from : in-reply-to : content-type :
 content-transfer-encoding : mime-version; s=corp-2023-11-20;
 bh=XQ/yRXFLIasp+bV/depr1T0UJ+5B064yXkIN3kExU9A=;
 b=YJoQuOeIU7x7Tv6a0b1YEXtj37mRVKw/u1LkuM+QXTdcGJUev8fx6ZRmdQkQ3ExPb1um
 rQ1yH0yDvahhUccRoyGS5fXJUjO6QUYBoTAoUoFewn5NO1w+mg4XyOqSCBTtXEo3LxTQ
 CyNA4+w+lHFwTwexxS9+GH8cy1rGXsjMvCfQ2VuDiOmpsTMK7qH7OJUB33ATU1WCWPgA
 OvNbtNif1YxMeBp8OdybgGTUfG31W4/t/fqxv+fst8s5f7p4fPL3tbSjM+FyGBgcq+JN
 sGysDxwPoGrfOQocbgjyFgGJvxbLajBVWb4pJ8/OqHpr6kiUqtdG3tSkXdVM8/WeMge6 YA== 
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=kSAJLLTcqEGsq55GEQNbFH/KrxTbUsv0CfUv6nIiV1vhl5xL8ZJ4ABGVGyVkV4hXVAgSZtFH5p2/VeOE6P+FTpNZOsO0d1vvl7/orutyPyAcPimqAOphvx+SF8s7gQteV2Oj7ZsaLY7SKDMmotwIBy1secOad8hlVW1PhU4MzI5k6KMNi6wViNewmO3lWtK+xyk3Gjd54+6Ubj+3FSLMX1aHO7P7UQkMHf+h4URVMrHdgmfC6xPqYLXt+JQXGJz5Zyd9DsCkV3OURkY9QDyuaWW7Eh9iypyBSsY0ubm+aY/z01+iE4w85lmXznLwprvQiDhG/xBO2bGhlb3Nh2JZZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XQ/yRXFLIasp+bV/depr1T0UJ+5B064yXkIN3kExU9A=;
 b=kdZLVIAqpgen419s3kqbrZThgQwHmcPFDGyYV/AwAc59MRTEsKoKNj3o5LJGFd3arIjcFEQzQX5mpWBf8L1Jt/mIUj3flhXPrLOeSSBu6m1TThbKefPe2yJyjVPGaLtwS3J5Rwt4GUyyvoWYfqq06djWIwBNgPc0xm+V7ImEJa3rUZe1KfIDYdXjEgFYVE2GtPkXUZ0GJGwimcq95b/w1EKvmWX/cRgQgxhmg5b2g+Vju5z1Dfyi6ZM8ai0ntYv+CA1DPwfKaWmCiNSTjotdhE73e3O2P/tu8HmlYcY6XJmiBXFHB4zun+YtIk/c0962wNQppscIKT/AwF984UZwhA==
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=XQ/yRXFLIasp+bV/depr1T0UJ+5B064yXkIN3kExU9A=;
 b=HOupqUhUWW7hiR6SiRipDFOokJEUVBLd3IjWgDtU9WdsFfME7KAr+j6kip8SvWYQf39GmDrM0RoO95RucuMOUV72KigPL+p4aCLLmM/vMDNHsRcENLij9z7EPJsi+li1XpJ886ZElArR3tDeTDwHW5otZW8R/QX1ZYY4mzdt6Zk=
Message-ID: <69ba2a99-90f7-4d39-afc6-971b0867a1c8@oracle.com>
Date: Mon, 27 Nov 2023 09:57:49 -0500
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/xen: fix percpu vcpu_info allocation
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org,
        x86@kernel.org
Cc: 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>, xen-devel@lists.xenproject.org
References: <20231124074852.25161-1-jgross@suse.com>
From: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Autocrypt: addr=boris.ostrovsky@oracle.com; keydata=
 xsFNBFH8CgsBEAC0KiOi9siOvlXatK2xX99e/J3OvApoYWjieVQ9232Eb7GzCWrItCzP8FUV
 PQg8rMsSd0OzIvvjbEAvaWLlbs8wa3MtVLysHY/DfqRK9Zvr/RgrsYC6ukOB7igy2PGqZd+M
 MDnSmVzik0sPvB6xPV7QyFsykEgpnHbvdZAUy/vyys8xgT0PVYR5hyvhyf6VIfGuvqIsvJw5
 C8+P71CHI+U/IhsKrLrsiYHpAhQkw+Zvyeml6XSi5w4LXDbF+3oholKYCkPwxmGdK8MUIdkM
 d7iYdKqiP4W6FKQou/lC3jvOceGupEoDV9botSWEIIlKdtm6C4GfL45RD8V4B9iy24JHPlom
 woVWc0xBZboQguhauQqrBFooHO3roEeM1pxXjLUbDtH4t3SAI3gt4dpSyT3EvzhyNQVVIxj2
 FXnIChrYxR6S0ijSqUKO0cAduenhBrpYbz9qFcB/GyxD+ZWY7OgQKHUZMWapx5bHGQ8bUZz2
 SfjZwK+GETGhfkvNMf6zXbZkDq4kKB/ywaKvVPodS1Poa44+B9sxbUp1jMfFtlOJ3AYB0WDS
 Op3d7F2ry20CIf1Ifh0nIxkQPkTX7aX5rI92oZeu5u038dHUu/dO2EcuCjl1eDMGm5PLHDSP
 0QUw5xzk1Y8MG1JQ56PtqReO33inBXG63yTIikJmUXFTw6lLJwARAQABzTNCb3JpcyBPc3Ry
 b3Zza3kgKFdvcmspIDxib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbT7CwXgEEwECACIFAlH8
 CgsCGwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEIredpCGysGyasEP/j5xApopUf4g
 9Fl3UxZuBx+oduuw3JHqgbGZ2siA3EA4bKwtKq8eT7ekpApn4c0HA8TWTDtgZtLSV5IdH+9z
 JimBDrhLkDI3Zsx2CafL4pMJvpUavhc5mEU8myp4dWCuIylHiWG65agvUeFZYK4P33fGqoaS
 VGx3tsQIAr7MsQxilMfRiTEoYH0WWthhE0YVQzV6kx4wj4yLGYPPBtFqnrapKKC8yFTpgjaK
 jImqWhU9CSUAXdNEs/oKVR1XlkDpMCFDl88vKAuJwugnixjbPFTVPyoC7+4Bm/FnL3iwlJVE
 qIGQRspt09r+datFzPqSbp5Fo/9m4JSvgtPp2X2+gIGgLPWp2ft1NXHHVWP19sPgEsEJXSr9
 tskM8ScxEkqAUuDs6+x/ISX8wa5Pvmo65drN+JWA8EqKOHQG6LUsUdJolFM2i4Z0k40BnFU/
 kjTARjrXW94LwokVy4x+ZYgImrnKWeKac6fMfMwH2aKpCQLlVxdO4qvJkv92SzZz4538az1T
 m+3ekJAimou89cXwXHCFb5WqJcyjDfdQF857vTn1z4qu7udYCuuV/4xDEhslUq1+GcNDjAhB
 nNYPzD+SvhWEsrjuXv+fDONdJtmLUpKs4Jtak3smGGhZsqpcNv8nQzUGDQZjuCSmDqW8vn2o
 hWwveNeRTkxh+2x1Qb3GT46uzsFNBFH8CgsBEADGC/yx5ctcLQlB9hbq7KNqCDyZNoYu1HAB
 Hal3MuxPfoGKObEktawQPQaSTB5vNlDxKihezLnlT/PKjcXC2R1OjSDinlu5XNGc6mnky03q
 yymUPyiMtWhBBftezTRxWRslPaFWlg/h/Y1iDuOcklhpr7K1h1jRPCrf1yIoxbIpDbffnuyz
 kuto4AahRvBU4Js4sU7f/btU+h+e0AcLVzIhTVPIz7PM+Gk2LNzZ3/on4dnEc/qd+ZZFlOQ4
 KDN/hPqlwA/YJsKzAPX51L6Vv344pqTm6Z0f9M7YALB/11FO2nBB7zw7HAUYqJeHutCwxm7i
 BDNt0g9fhviNcJzagqJ1R7aPjtjBoYvKkbwNu5sWDpQ4idnsnck4YT6ctzN4I+6lfkU8zMzC
 gM2R4qqUXmxFIS4Bee+gnJi0Pc3KcBYBZsDK44FtM//5Cp9DrxRQOh19kNHBlxkmEb8kL/pw
 XIDcEq8MXzPBbxwHKJ3QRWRe5jPNpf8HCjnZz0XyJV0/4M1JvOua7IZftOttQ6KnM4m6WNIZ
 2ydg7dBhDa6iv1oKdL7wdp/rCulVWn8R7+3cRK95SnWiJ0qKDlMbIN8oGMhHdin8cSRYdmHK
 kTnvSGJNlkis5a+048o0C6jI3LozQYD/W9wq7MvgChgVQw1iEOB4u/3FXDEGulRVko6xCBU4
 SQARAQABwsFfBBgBAgAJBQJR/AoLAhsMAAoJEIredpCGysGyfvMQAIywR6jTqix6/fL0Ip8G
 jpt3uk//QNxGJE3ZkUNLX6N786vnEJvc1beCu6EwqD1ezG9fJKMl7F3SEgpYaiKEcHfoKGdh
 30B3Hsq44vOoxR6zxw2B/giADjhmWTP5tWQ9548N4VhIZMYQMQCkdqaueSL+8asp8tBNP+TJ
 PAIIANYvJaD8xA7sYUXGTzOXDh2THWSvmEWWmzok8er/u6ZKdS1YmZkUy8cfzrll/9hiGCTj
 u3qcaOM6i/m4hqtvsI1cOORMVwjJF4+IkC5ZBoeRs/xW5zIBdSUoC8L+OCyj5JETWTt40+lu
 qoqAF/AEGsNZTrwHJYu9rbHH260C0KYCNqmxDdcROUqIzJdzDKOrDmebkEVnxVeLJBIhYZUd
 t3Iq9hdjpU50TA6sQ3mZxzBdfRgg+vaj2DsJqI5Xla9QGKD+xNT6v14cZuIMZzO7w0DoojM4
 ByrabFsOQxGvE0w9Dch2BDSI2Xyk1zjPKxG1VNBQVx3flH37QDWpL2zlJikW29Ws86PHdthh
 Fm5PY8YtX576DchSP6qJC57/eAAe/9ztZdVAdesQwGb9hZHJc75B+VNm4xrh/PJO6c1THqdQ
 19WVJ+7rDx3PhVncGlbAOiiiE3NOFPJ1OQYxPKtpBUukAlOTnkKE6QcA4zckFepUkfmBV1wM
 Jg6OxFYd01z+a+oL
In-Reply-To: <20231124074852.25161-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: BYAPR06CA0066.namprd06.prod.outlook.com
 (2603:10b6:a03:14b::43) To BLAPR10MB5009.namprd10.prod.outlook.com
 (2603:10b6:208:321::10)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BLAPR10MB5009:EE_|SJ2PR10MB7656:EE_
X-MS-Office365-Filtering-Correlation-Id: c1224e94-307f-4d41-f828-08dbef593c7b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: 
	9mkdpxwEe5SnMwfbpN7cRV8ojIwQ10J4WGYuXYzI92Br3ojqvKkrejAhen8lTR/6jReX71pVakm8688VbFDtHRJd4r7YpXRTW4uWftHi7mdisfRWYv5Uhn+w4gwuRCkiTUgdUHL+R4aoRofMh9wxJTRj/D0gex+HpA1WYnDlH4fJ+/DntykNeFgfxZyHHquVesvW7zK0iUO+5cF3ocEj8dQ0FjwHyDDaOamR/eAbHEDy3CTOFwmFZoM8AnMfz2OLI0WOCCWqGvT9LXMK59wiwUygXy1DNwsdPmQ2MXH5f26t76ph71bdRrHnnhlt6EEMy0sY1xfukx7bT6XL8E4Q8VuANhT1ZISrqtz8N4sA/zOZVcgPzQxOStwI25F+cGQzB3tdPhLg8lacVU6SVdrRWkQAostrSnyuu1RGisoafnCaieqV9bnk9qxiEakY/Z0Gu6K4EXHth7GHcXLhhc12yz2so7dJJ/M7fcpcxxSa6XcBzEhcy3mCMBsmEBaGYjaGgfF4JYxUTvbfQpZhMEol4Xy0WfjT9cQ8xy6UACE8gBKgY+Qr0Z7EGIOjkC24I03dDBI048KA99vGnbpCpOPzEzJ3WML+GLTI/IAPRZzkp1RCI9trROyMBIMBltPOgTGP8Ucb3pyfCkY2LsgijqEYjw==
X-Forefront-Antispam-Report: 
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BLAPR10MB5009.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(39860400002)(346002)(136003)(396003)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(4326008)(44832011)(2906002)(4744005)(31686004)(8676002)(8936002)(41300700001)(26005)(66476007)(66556008)(316002)(54906003)(66946007)(6512007)(53546011)(5660300002)(2616005)(6506007)(6666004)(31696002)(86362001)(38100700002)(6486002)(478600001)(36756003)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: 
	=?utf-8?B?NVNIWVJqdUR5bzRzZ205K2JCMnRCRlRXYVUwdURUeDdhWis4akluUGIxRDlB?=
 =?utf-8?B?MVcrMHNiWjFodmpqU1V5cVBoMkZBYTh0QnBHMkNhT01Wai80bC92ZDJ6ZExK?=
 =?utf-8?B?UnpOVFRIYU02SG5DbHVZb0ZRUXB2eU5LbHhXRzJXZmw0cVRhbTJCamNQOElh?=
 =?utf-8?B?R0h0cGI2SnBZMGl2NlhPeVBCZS83RGpFUGlRS1ZmaENTSFdRMTRXcjh4aUVz?=
 =?utf-8?B?REJMZkhQQ1ZZNTNaVlAyVVk1eEt0bDVnSzREeVpWZHZHbVJLNytvelorK2dy?=
 =?utf-8?B?cGZ6YTVEWkNMTFR3TXcwNEI2YlpFSGZhMElybUJRckRNVUxuVTFLR3YvUStL?=
 =?utf-8?B?UldQWnBCbjhIUVVyb1ZJYXhURGpTWFlyWExDSHZ2TnljK0REaXJPVnB0TmJ5?=
 =?utf-8?B?QTd2Ynl0M3dRaldFSHJURmRIbnRiV0xyTksyNytvYUJYRzh6cXovWDY3SkEw?=
 =?utf-8?B?VGVTVGg3QUhWNmZCcVUzVnBNaDRHMi9Pc1FIc0pZTXVXTUU4MUczYUwvamJa?=
 =?utf-8?B?Z3VlS1JUOHAxNkhpc1VLUGpQUXNNb1c1ZEhIQmpUNkFvU1phVHR1cDdKQ0k2?=
 =?utf-8?B?ZmpIMy9HS3ZKNi80bUw0WTFhSXhhcCtqU29pNkNUWU1jYnEwc3p2YlBnRCs1?=
 =?utf-8?B?WEk3dlA3eTk3aXRacy8vVFdJS282dU1vRDB5OFZBSktJVVhuL3U3T1N6M2l5?=
 =?utf-8?B?Z2MxSU0vcGdQNTJrSEZkbzZOemFUaUplQ0lnOUEwWlFoRjZibUNhRk5vUjFa?=
 =?utf-8?B?WkJNL1NDcGNnMGpieXN5dnlCdXN4OVYwZ0dCV29hanRQL2Q1WUNpWjEzc1BJ?=
 =?utf-8?B?QjN4VW5FV21CZFBYVXVkbjNNclFEOHFKNlM1cU53Lzc4TU1IcXk1VFhPWnNh?=
 =?utf-8?B?eTVuMldycTZhREw1SENBZnhSRkhNUVorZm9GdStOZWJzWkp0TDVkS25SKzhT?=
 =?utf-8?B?eklWcXlZRC9yVGNiZVRvRmxEb2ZWcEZwbkNRbytSbGhtM2t2amlsYkJDaWFv?=
 =?utf-8?B?SE4xcTNteUxEeTB1YTVDd0t2ZUdZNHg5Qm12RHBEM2FzZEowRFRhQ0ViNDgx?=
 =?utf-8?B?WDBsYWJ1eHozM29vWVM0NVk5WWNJSU8zbmhaVXY4T25HWEhwNmNPeUJqMmRT?=
 =?utf-8?B?SC9YQXJuOGpEVXMyN3FVWFJMVHcrejA1dis5WnZPQ3JLRzRwM2NwVHlUWFdl?=
 =?utf-8?B?UDZ0aWpJNHd2R0FwUDdQUlZpVEJmNmcvZTg2VFp3MTQ1b1YvenZaejZtODBC?=
 =?utf-8?B?WHJDaG5jamNxTlBKZkI1ZDRhMUY0dVVwUFpTajhkZTVXRFFWMU9zSHlrWlQ2?=
 =?utf-8?B?Z0VITitIbEZ4S3BUYzMvSE5UNGxBbUt4ZTBBVUoxQWtaYXVTU29QSExwVEN1?=
 =?utf-8?B?NDVTcXF0WmxqQVcrQ1BXOTNJS2NpdjY5WWl0MjdNS0xERlZTdkdmV3dVUVBs?=
 =?utf-8?B?NzVqaGtCZzMraTBkc2V0TGpyT1lEWTRGR2VXS3B6RW9yOTVmcEtWelpKL1A5?=
 =?utf-8?B?MllsSHVyTUo4VTdYU0xTcFdDZklqQ1liZU5VVHlCWmlpTjZvcnlRWXYyUEpW?=
 =?utf-8?B?WmJaM3hnWVFKdTNPQUtsaC81NTM1ZjJGQ04zbG9jYjczbVlCelBtelMvM0RQ?=
 =?utf-8?B?OXRjUzQwSlFRSFZOeXFCRzlMS0hmUHcrOFhiV2FFM3hSMnhXeU5RMUZzbVNP?=
 =?utf-8?B?SFVsV0Z5N0xrbDF3dXlKeXl0c0wwb0IydngzTjJVcklMaXFicXRYeWdGL1k3?=
 =?utf-8?B?ZzcyR0d1V3BvRURjcVlFYkNuRlQyNGJURmhXYkJpbnYwMUZRRFBZZUFjQmps?=
 =?utf-8?B?NmQxTkR2N3pXdlhUZUl4ZHhWazZpOXRxajRhZElveHZ3YUhQMHFEMmdUUHRP?=
 =?utf-8?B?T1JLQ3V6M1lnbUdnMUdlbmpDTzhaN1VJblhzdjQ0OGVhSDhWbjF2SkVXU3hx?=
 =?utf-8?B?eVRUYnphK0U1TWVRakNPeGdhd3lXWTZNWmVNcUVkQzVFRUtMZG1yckNyWmU3?=
 =?utf-8?B?ZEpmVXlQSElUdkxEbnVnWGo3OTFNR2RER3ZhV2hlNngyQkx1M3dsZERhSFJa?=
 =?utf-8?B?Vk1JcHNjT0NjU2hnc01IUzlYdGtsditWeFJUUHU4Mk9Hc0hRV243R2xzbko1?=
 =?utf-8?B?WWZ3NHpUeXBBL3YyRnZyNzVCdHhYR0VoZWlKQ0tGZndoYVV0c2kvVzFCbm13?=
 =?utf-8?B?Snc9PQ==?=
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: 
	=?utf-8?B?ZkthYzZTRnZzTjg4NXlNY2FYV1hld0FMc0hMOWJYcHVKVzVSajRZNHFWcjFp?=
 =?utf-8?B?SkNtZ2pXYVk1QVZZWVM3Zk5TeFBSM3JsYVl4aTZDWFZCTjExRWpxSzZiU2NC?=
 =?utf-8?B?MlM3VWtGT3pDeHorM0FZRjEyeExUVElTSEZWTll2ME5vbEZ0ZXNKaVJqVkhW?=
 =?utf-8?B?VUxwS2Y3RTZ3eEJmMzVpanJha2l3NDRPVmR5QjNjd3lybWJxS29PWXVWd2Iv?=
 =?utf-8?B?MnhzNVRVdU40RGdWQjRvdWFMQTRqVUkrTkJzTHF6RVJpeFFOZzNIL1hjY2Jq?=
 =?utf-8?B?YWQxSFBTWnA1SlpraUxJNEhDRE1qWjN5RlBQangwWjZzY3JpSThYZGNYalZu?=
 =?utf-8?B?TnRYM0dLaDhMaXBWSEx3UXZUMUJ4M0dOR1hxb3RhUXVHQUlKMmpjdHVKVDd1?=
 =?utf-8?B?VUxOdS9ZY1VjRW5PWDVqdHF2ZXdjN1o2MXF0RCthWUIraUdCYk13YWh6SHAr?=
 =?utf-8?B?WEZNK29lMWc0YU1Sb1JKSDkzNGdTYkFveVJmNy9GZHh0OHFLUjBNRTZaa1JC?=
 =?utf-8?B?QWhQSXFtRVREOURYQTVibzhUWlVUOWR4NkpJMVZOVVFjWWRMZWZ2RnVLeGpM?=
 =?utf-8?B?Zm9menI5enR4Q2I2QmdGWUtrdjdmM2JzN2Q0WTJqejR3cFdyclpISldCLzdQ?=
 =?utf-8?B?R1A0ZWhVTkQ1cjFBYjdDNFZLT09JMXNWNGRoQ3JUc2l3L2h2Q201OHluY1B5?=
 =?utf-8?B?ckNwN3pNM29lOFBhS1VIbnBzMkxSSXBJeWdQWDFYTmJLTnRaSmtFNGR2Z001?=
 =?utf-8?B?OWpWQXBvWXZrSDdGYWRaRWx0Z2FYT0ZNN1A3UXZnNEN6Sml2LzBBa0dRYlNK?=
 =?utf-8?B?aGRCeHJrY3RZQnBTMkFTVThCTVdkUWt5NnZ1b1BpbzJ4eG9Dc0kxdDFLVTNk?=
 =?utf-8?B?RitOY01BSy9sbWt3dWFlR3JnVUJZRXo1djMrWjBmaGRHajFNMnJlRUpEMVdq?=
 =?utf-8?B?VFBHY3Bha0p0dE1VS3Q0aHh4WkZIeDJzL0IxZlA0Y2hjalZWaTAwaUZxanlz?=
 =?utf-8?B?UFVsY00vMHFIOUxhNzV0NHgwR2xwenBvcmZaUlhRODdmeFZzc2hvZDRtS2hF?=
 =?utf-8?B?TFdreEpFaVozQTNUN056a0FTdmhHN0tEMHNINnRuQU82YVhaU3RHTGZzVURQ?=
 =?utf-8?B?SHByMTRacnhOOE83LzVrNFlNUVdodHg3WUxkZVFreWNOVEc2dWJHOTVCQ1hU?=
 =?utf-8?B?S2JOQVNoOHNVSGhFN0Z3aHIyWC9NV2IzbUo5a1RiTFJGdHB0UWdMbnJYZmR3?=
 =?utf-8?B?VTdqZG56RFpzdDltWmpVZEREeDlSOWhZenRyWXdaTElaYzlwbW5RTUdyRnNX?=
 =?utf-8?B?L1ZsVTN2Q2NRZ04zaWpKS29DenVmVE1UVjZzcjY5VUZnbWUxZGZPVWljV0NJ?=
 =?utf-8?B?VHE2MmNJTWFWTUE9PQ==?=
X-OriginatorOrg: oracle.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1224e94-307f-4d41-f828-08dbef593c7b
X-MS-Exchange-CrossTenant-AuthSource: BLAPR10MB5009.namprd10.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:57:55.0217
 (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: dh+6rpqBGdEp/I1l2afm+7Rcu7osUZxyYr6OwucU9Drx2puWb+nH9BXwL3ELLqOfEQovgtZ5ivBM4JfQBmszZzENCsivn2JX4rpooghQjbg=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR10MB7656
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-27_13,2023-11-27_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 suspectscore=0 bulkscore=0
 mlxlogscore=999 adultscore=0 malwarescore=0 mlxscore=0 phishscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000
 definitions=main-2311270102
X-Proofpoint-ORIG-GUID: lsAtb85udv-wQ7MVwfZq2cVdKscrQT9m
X-Proofpoint-GUID: lsAtb85udv-wQ7MVwfZq2cVdKscrQT9m



On 11/24/23 2:48 AM, Juergen Gross wrote:
> Today the percpu struct vcpu_info is allocated via DEFINE_PER_CPU(),
> meaning that it could cross a page boundary. In this case registering
> it with the hypervisor will fail, resulting in a panic().
> 
> This can easily be fixed by using DEFINE_PER_CPU_ALIGNED() instead,
> as struct vcpu_info is guaranteed to have a size of 64 bytes, matching
> the cache line size of x86 64-bit processors (Xen doesn't support
> 32-bit processors).
> 
> Fixes: 5ead97c84fa7 ("xen: Core Xen implementation")
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.con>

although I am not sure in usefulness of BUILD_BUG_ON --- 64 bytes is part of ABI and hypervisor already has its own BUILD_BUG_ON for this.


-boris


> @@ -160,6 +163,7 @@ void xen_vcpu_setup(int cpu)
>   	int err;
>   	struct vcpu_info *vcpup;
>   
> +	BUILD_BUG_ON(sizeof(*vcpup) > SMP_CACHE_BYTES);
>   	BUG_ON(HYPERVISOR_shared_info == &xen_dummy_shared_info);


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:59:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:59:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642217.1001563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7d4g-0003TN-0T; Mon, 27 Nov 2023 14:59:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642217.1001563; Mon, 27 Nov 2023 14: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 1r7d4f-0003TG-TA; Mon, 27 Nov 2023 14:59:01 +0000
Received: by outflank-mailman (input) for mailman id 642217;
 Mon, 27 Nov 2023 14: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=QuWu=HI=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r7d4d-0002jd-T1
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:59:00 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2045.outbound.protection.outlook.com [40.107.13.45])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7cb4bc21-8d35-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:58:56 +0100 (CET)
Received: from AM5PR04CA0032.eurprd04.prod.outlook.com (2603:10a6:206:1::45)
 by PAWPR08MB8885.eurprd08.prod.outlook.com (2603:10a6:102:339::21) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Mon, 27 Nov
 2023 14:58:25 +0000
Received: from AMS0EPF0000019E.eurprd05.prod.outlook.com
 (2603:10a6:206:1:cafe::6e) by AM5PR04CA0032.outlook.office365.com
 (2603:10a6:206:1::45) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend
 Transport; Mon, 27 Nov 2023 14:58:25 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019E.mail.protection.outlook.com (10.167.16.250) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Mon, 27 Nov 2023 14:58:25 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Mon, 27 Nov 2023 14:58:25 +0000
Received: from b352ea938fc8.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6134754C-3A71-4A47-8E75-4704D1693D5F.1; 
 Mon, 27 Nov 2023 14:58:14 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id b352ea938fc8.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 27 Nov 2023 14:58:14 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM0PR08MB5297.eurprd08.prod.outlook.com (2603:10a6:208:18a::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28; Mon, 27 Nov
 2023 14:58:12 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.022; Mon, 27 Nov 2023
 14: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: 7cb4bc21-8d35-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=Xr20kSnK2z/kmSc72j4EZW6iBpxkZUoDe5rfxDBDqk8pKqhJ2Pvk6ECQi9gKJ0/D61lX/xhNz/3AIQ130iRTH4oQ82p8FZaHylxJRRoAUYhFVEIyHuHln0tA4JIsCZnLVnrc/iIiEppER36fuRhT+O859PpYf/+i4Tx6QmIzxD0388O1a+aNRfOYrXrczPlnDqTkpbqjLk6zyAr9j7Bxs2MasfSFNiAajUcf5qJVuL7TRiCFbbi5o3/DQpFuKBt1VIYnruheYyvzgqKRICcmihrMO/xO9N5IQ/fKe0gY8VAhGjVDsJ7etgiOwPF2/7aKBRZ8iTzsmH6KJZ4GWcdOeg==
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=cAu89ANbHzEV7k01Su4fwv3RwUPabQ2F6UdywE5EixY=;
 b=bVbWS6+CWQrpoZRjHpj4qYlLtipJ4Poq0lwgXPWNfWieiJelYQSuVpo6w1My0VDFPdDcRWgqnYSUURFzGu0WFpGKE9gij90kRrZpM7buQyhovP9ru4HEgCIK3O+idBHnq8701hpaM54ckl11iiNNtWUF6z0nwe+4eN0aEaEQnwV+oS8aPh8ZDMXUOYgE1zacZAG0/Orf8tugX6X95sIpYfjHRh+MaG4e/aP7agt9wmNq7ETeFQdtniDmu4aNKlWb5YbyMVUizaFVydE+DMNFlI6wTvaVRF64gTUX21OpESYrcAYQ92TdY8f0SudiqrKmSQ1flQ2gktuLIbFgMWslPQ==
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=cAu89ANbHzEV7k01Su4fwv3RwUPabQ2F6UdywE5EixY=;
 b=y9JbPNgROQk50C83HSyMeROolQFLWgqRQ9JST21awdj/BfIgVs8fisoB9ggujb2z+gibBq9AxVigoquIKz+6NWODdJOb8TJVfI5kEa9YJGwrb6tcvMuoVZKMLOhkl9qc7EUsTv0Z7hWqAvINRBhfpKSG6rMC2SVWuyabYJUIm/0=
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: 1944c25bd34bf5f2
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZcOvw+rozkt/h0OSJ68Vs3F1KBdo59b2G5Cm7CRm5pwl/0t/ITRgxW3ae7uoPExKp+oHCVucxLFjFYEP5hAR+2/CzREN3SDzb7eJ14v0io+5YJS8bvLk3XLfSh3xSEIk6f5A36jK9ZFwSulBxI0dB+zc84LPlV+pvcir0qW2ax6Xg56bx28kM+X2QrkamRFfUgL0jxEDDMV1/Cu5q0hApaU7IcM6xW8/gvdKWcbaXVp0rpOgHjK0vkQ45D9RMZAr01Yn1lBL8EgkKHPp7V9xxxbetZxokSgMb6zAkIGB+At5iKGJTealCjTGQvuvDg6r7fFperXQKBVzPbgsAd6tfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=cAu89ANbHzEV7k01Su4fwv3RwUPabQ2F6UdywE5EixY=;
 b=HtL0vGyBj/kqk0dFXISz2BKUCdDAK7XZ/e6T/Xma/RZlo59QuwiXGk2HVRVN3PbMnsSfb1ucb4wj8FGNiQsVBukrUgvv+y5lHtwMWghahrCbpMYr1i2Rq8iKinU+Wt3a7f3W568nlZlb9iZLyT/E2CMB4CFhbXcxxAG8oMx9i549yxZnxxsMbuvS4gAuSe+5W993tlL93L83Po10jIv0yqEmiTD9m8oh6Ny+KoKhSFVu3uUvH4aSeoMa51dF03aSRkGNmYQlVvZIetwMqvLOsAmC8vCzD7Rw7Mb4vduOdF7BVY5eFVT5j5LpXDDx4DPuxg/TdAVUeu0aLHNQ8cY9JQ==
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=cAu89ANbHzEV7k01Su4fwv3RwUPabQ2F6UdywE5EixY=;
 b=y9JbPNgROQk50C83HSyMeROolQFLWgqRQ9JST21awdj/BfIgVs8fisoB9ggujb2z+gibBq9AxVigoquIKz+6NWODdJOb8TJVfI5kEa9YJGwrb6tcvMuoVZKMLOhkl9qc7EUsTv0Z7hWqAvINRBhfpKSG6rMC2SVWuyabYJUIm/0=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Clang-format configuration discussion - pt 2
Thread-Topic: Clang-format configuration discussion - pt 2
Thread-Index: AQHaHhwDfni7SbjBtk6S7YLD/w4HebCJbICAgAAi9QCABIyNgIAAK/0A
Date: Mon, 27 Nov 2023 14:58:09 +0000
Message-ID: <B5AF6A9F-3986-4F3C-90F7-122D63A2B31A@arm.com>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
 <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
 <838395c3-41ba-4004-abf1-948b655a5ef2@suse.com>
In-Reply-To: <838395c3-41ba-4004-abf1-948b655a5ef2@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM0PR08MB5297:EE_|AMS0EPF0000019E:EE_|PAWPR08MB8885:EE_
X-MS-Office365-Filtering-Correlation-Id: eb1793d6-702b-4fe4-a491-08dbef594ebe
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:
 DhiJcgO6Aw3a569fDO/zJ8bSoYRX4ynaSTi7Gy8xEgpc4fTr8hQeNZZasZnln5tGGyqbbIflm0Nu2TsjHTf9s2q6Opx55RuIXMFv9hF3Ja9yOKFfeN2Yeha0dtfclBDi9s9BrVQTI5rM0d7nWGCCFRmhejOO2r3g9ffQvK7SyO5Co55QTJGxtebAF8toSgIuPb3Mf8yPcQYTDVTNEHuCsp8lb7uBCsXrbV2P6r1OqC7IZzA4kNsINLMwg/NOHTziopy2r0gmvth7r9yaulbZm0H7n8z3ofm1gTr1g1AEIQmXTzlXYSCvY4tZuWYewrNrqY6yZOY+Vrk1gfcBXM44fasKb/kaXGiKGVF+st57NMNZtWb3xdsRma162P/Orkxy74QIQ5dwApSb58UssdN1ECCY8lRcFyBbgwqk9744F7jJpZJkNc8FNx4wlXh6iabOYZj5B1pLtf3v2QidHj2+9AzcpKy6M8leuN2x07iEqyW4svr6Xagt83y3mCwl7X6ieFZXqkyrYpNN3WgEIoY4nACG6LwCOwiOLtDWIE6igOo3rja67f2WksjssUL26y4f9FkbqKAQopLX6lCCgfMVkdaIThgBq/5ZoEyKgD9yUa1vwSxC25hSgF7qXFLpKTUj5oKrIeaEWRYGQonn9fk3AbiGwxHtY4vkMHGzh5uIK40TnaADnbJEIAyHT2ZdA5Tg
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(366004)(376002)(346002)(396003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(4326008)(71200400001)(8936002)(8676002)(6512007)(53546011)(6506007)(6916009)(64756008)(54906003)(91956017)(76116006)(66946007)(66556008)(66476007)(316002)(66446008)(966005)(6486002)(478600001)(122000001)(30864003)(33656002)(36756003)(38100700002)(41300700001)(40140700001)(38070700009)(86362001)(26005)(2906002)(2616005)(83380400001)(5660300002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <1079084999C86641AFA5B70DF24DB02E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB5297
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:
 AMS0EPF0000019E.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	d260040b-f381-41f2-9e2e-08dbef594518
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YfKFbQqdlkdD9LYnvzPkOrH963aJEJ7N7BB7uDl/Urjt5EYKhmdUT8ZRGAIMtgHvJQxy1C1sldjen2Sdp6Tc7uZTpSo5ux8QN/I+DOVWfeqcK4U413XIO+OPHF/L+K311jMffb2SifIWfmhRYepL4UZ6DH1CZRotNdlvFTGrAxGWFD5u+W+RnDgNVv1PyqW6RQGLcF9wd/fEeurLKX+88wJN6RzMVigqh93kuAybquCHOsJW1MxAZtp3djAqT21haPiT7lmC1vel+w+z9sjUVShlcgrSpICJG5bn6D4Q0nI1o1rw92uruMJvwL7greKXa3Gu8c3K/deD5OogNGIdwbeYkD9X4c6W+AZ9Vlvypvq7rbiFu6jp1lTNBkkHU3nBLlQ1WFKBofUUPTu44qy/kNOGVqUKqmBNx73jdi7gXP12EUdgmm0pHTMFl6uHPv6+CI90GJdAbNa3uQMlZljL08qHqmACW5mUCBzuRU7PqsSgtA62w3lA9EJ2mnB9p6rlH9Ry/Fyy6jV1IieItMSnjcBdZfpEXngHbksfCVKu87aWUioQ3uMryKcA1L0grb58IZhgJ7JjVffXYvZtSGMYUnSN4i9xp5KvGexCGZy9zpB/kMPBtzF+/Q2CL+14kAfb61vpGaXepku+nFGYPhKDaqX9PcnsXkO5KLJI8ZjVV9EqAoH+vYobY8OjIhpHBDt4n4+U8hWIw5u9i8luoCjyW7UsPwRVLv6suzXueDOmRIiH8yHEsgMbDAtyP4V7pMYdDXCyYKWhCxgtDMJmIb3DQw==
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:(13230031)(4636009)(39860400002)(396003)(136003)(376002)(346002)(230922051799003)(1800799012)(82310400011)(64100799003)(451199024)(186009)(46966006)(36840700001)(40470700004)(83380400001)(81166007)(47076005)(356005)(336012)(82740400003)(4326008)(8936002)(6862004)(53546011)(6512007)(6506007)(8676002)(54906003)(316002)(36860700001)(70586007)(70206006)(5660300002)(6486002)(86362001)(966005)(478600001)(30864003)(41300700001)(2906002)(40140700001)(40480700001)(36756003)(33656002)(26005)(2616005)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:58:25.4676
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eb1793d6-702b-4fe4-a491-08dbef594ebe
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:
	AMS0EPF0000019E.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB8885

DQoNCj4gT24gMjcgTm92IDIwMjMsIGF0IDEyOjIwLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjQuMTEuMjAyMyAxNTo1MiwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+PiBPbiAyNCBOb3YgMjAyMywgYXQgMTI6NDcsIEphbiBCZXVsaWNoIDxqYmV1bGlj
aEBzdXNlLmNvbT4gd3JvdGU6DQo+Pj4gT24gMjMuMTEuMjAyMyAxNTo0NywgTHVjYSBGYW5jZWxs
dSB3cm90ZToNCj4+Pj4gTGV04oCZcyBjb250aW51ZSB0aGUgZGlzY3Vzc2lvbiBhYm91dCBjbGFu
Zy1mb3JtYXQgY29uZmlndXJhdGlvbiwgdGhpcyBpcyBwYXJ0IDIsIHByZXZpb3VzIGRpc2N1c3Np
b25zIGFyZToNCj4+Pj4gDQo+Pj4+IC0gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNo
aXZlcy9odG1sL3hlbi1kZXZlbC8yMDIzLTExL21zZzAwNDk4Lmh0bWwNCj4+Pj4gDQo+Pj4+IFlv
dSBjYW4gZmluZCB0aGUgc2VyaWUgaW50cm9kdWNpbmcgY2xhbmctZm9ybWF0IGhlcmU6DQo+Pj4+
IGh0dHBzOi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC94ZW4tZGV2ZWwvY292ZXIvMjAy
MzEwMzExMzIzMDQuMjU3MzkyNC0xLWx1Y2EuZmFuY2VsbHVAYXJtLmNvbS8NCj4+Pj4gYW5kIHRo
ZXJlIGlzIGFsc28gYSBwYXRjaCBsaW5rZWQgdG8gbXkgZ2l0bGFiIGFjY291bnQgd2hlcmUgeW91
IGNhbiBmaW5kIHRoZSBvdXRwdXQgZm9yIHRoZSBoeXBlcnZpc29yIGNvZGUuDQo+Pj4+IA0KPj4+
PiBGb3IgYSBmdWxsIGxpc3Qgb2YgY29uZmlndXJhYmxlcyBhbmQgdG8gZmluZCB0aGUgcG9zc2li
bGUgdmFsdWVzIGZvciB0aGVtLCBwbGVhc2UgcmVmZXIgdG8gdGhpcyBwYWdlOg0KPj4+PiBodHRw
czovL2NsYW5nLmxsdm0ub3JnL2RvY3MvQ2xhbmdGb3JtYXRTdHlsZU9wdGlvbnMuaHRtbA0KPj4+
PiANCj4+Pj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4gDQo+Pj4+IE91
ciBjb2Rpbmcgc3R5bGUgZG9lc27igJl0IG1lbnRpb24gYW55dGhpbmcgYWJvdXQgYWxpZ25tZW50
LCBzaGFsbCB3ZSBhZGQgYSBuZXcgc2VjdGlvbj8NCj4+Pj4gSSBjYW4gc2VuZCBwYXRjaGVzIHdo
ZW4gd2UgcmVhY2ggYWdyZWVtZW50IG9uIGVhY2ggb2YgdGhlc2UgcnVsZXMuDQo+Pj4+IA0KPj4+
PiANCj4+Pj4gUXVhbGlmaWVyQWxpZ25tZW50OiBDdXN0b20NCj4+Pj4gUXVhbGlmaWVyT3JkZXI6
IFsnc3RhdGljJywgJ2lubGluZScsICdjb25zdCcsICd2b2xhdGlsZScsICd0eXBlJ10NCj4+Pj4g
DQo+Pj4+IC0tLQ0KPj4+PiBGb3Ig4oCcUXVhbGlmaWVyQWxpZ25tZW504oCdIEkgY2hvc2UgQ3Vz
dG9tIGluIG9yZGVyIHRvIGFwcGx5IGluIOKAnFF1YWxpZmllck9yZGVy4oCdIGFuIG9yZGVyIGZv
ciB0aGUNCj4+Pj4gcXVhbGlmaWVycyB0aGF0IG1hdGNoIHRoZSBjdXJyZW50IGNvZGViYXNlLCB3
ZSBjb3VsZCBzcGVjaWZ5IGFsc28g4oCcTGVhdmXigJ0gaW4gb3JkZXIgdG8ga2VlcA0KPj4+PiB0
aGVtIGFzIHRoZXkgYXJlLg0KPj4+IA0KPj4+IFdoZXJlIGRvIGF0dHJpYnV0ZXMgZ28gaW4gdGhp
cyBzZXF1ZW5jZT8NCj4+IA0KPj4gSSB0aGluayBmdW5jdGlvbiBkZWNsYXJhdGlvbi9kZWZpbml0
aW9uIGFuZCB2YXJpYWJsZXMuDQo+IA0KPiBIb3cgZG9lcyB0aGlzIHJlbGF0ZSB0byBteSBxdWVz
dGlvbj8gSSBhc2tlZCBhYm91dCB0aGUgc2VxdWVuY2Ugb2YgZWxlbWVudHMNCj4gbGlzdGVkIGZv
ciBRdWFsaWZpZXJPcmRlcjosIHdoZXJlIGF0dHJpYnV0ZXMgZG9uJ3QgYXBwZWFyIGF0IGFsbCBy
aWdodCBub3cuDQoNClNvcnJ5LCBJIG1pc3JlYWQgeW91ciBxdWVzdGlvbiwgYXR0cmlidXRlcyBh
cmUgbGlrZSBpbnZpc2libGUgZm9yIHRoZSB0b29sLCB0aGV5IGNhbiBiZSBwbGFjZWQgd2hlcmV2
ZXIgYmV0d2Vlbg0KZWFjaCBvZiB0aGUgUXVhbGlmaWVyT3JkZXIgaXRlbXMuDQoNCj4gDQo+Pj4+
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+Pj4+IA0KPj4+PiBBbGlnbkFmdGVy
T3BlbkJyYWNrZXQ6IEFsaWduDQo+Pj4+IA0KPj4+PiAtLS0NCj4+Pj4gVGhpcyBvbmUgaXMgdG8g
YWxpZ24gZnVuY3Rpb24gcGFyYW1ldGVycyB0aGF0IG92ZXJmbG93cyB0aGUgbGluZSBsZW5ndGgs
IEkgY2hvc2UgdG8gYWxpZ24gdGhlbQ0KPj4+PiB0byB0aGUgb3BlbiBicmFja2V0IHRvIG1hdGNo
IHRoZSBjdXJyZW50IGNvZGViYXNlIChob3BlZnVsbHkpDQo+Pj4+IA0KPj4+PiBlLmcuOg0KPj4+
PiBzb21lTG9uZ0Z1bmN0aW9uKGFyZ3VtZW50MSwNCj4+Pj4gICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYXJndW1lbnQyKTsNCj4+PiANCj4+PiBUaGUgYWJvdmUgbWF0Y2hlcyBuZWl0aGVy
IG9mIHRoZSB0d28gZ2VuZXJhbGx5IHBlcm1pdHRlZCBzdHlsZXM6DQo+Pj4gDQo+Pj4gICBzb21l
TG9uZ0Z1bmN0aW9uKGFyZ3VtZW50MSwNCj4+PiAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQy
KTsNCj4+PiANCj4+PiAgIHNvbWVMb25nRnVuY3Rpb24oDQo+Pj4gICAgICAgYXJndW1lbnQxLA0K
Pj4+ICAgICAgIGFyZ3VtZW50Mik7DQo+Pj4gDQo+Pj4gVGhlbiBhZ2FpbiBmcm9tIGl0cyBuYW1l
IEkgd291bGQgaW5mZXIgdGhpcyBpc24ndCBqdXN0IGFib3V0IGZ1bmN0aW9uDQo+Pj4gYXJndW1l
bnRzPw0KPj4gDQo+PiBJIHRoaW5rIGl0IGFwcGxpZXMgdG8gcGFyYW1ldGVycyBhbmQgYXJndW1l
bnRzIG9mIGZ1bmN0aW9ucyBhbmQgbWFjcm8sIGdpdmVuIHRoZSBkZXNjcmlwdGlvbiBpbiB0aGUg
ZG9jcy4NCj4+IA0KPj4gSSBzZWUgeW91ciB0d28gc25pcHBldHMgYWJvdmUgYnV0IEnigJl2ZSBh
bHdheXMgZm91bmQgYXQgbGVhc3Qgb24gYXJtIGEgcHJlZG9taW5hbmNlIG9mDQo+PiB0aGUgc3R5
bGUgYWJvdmUgZm9yIGZ1bmN0aW9ucywgc28gYXJndW1lbnRzIGFsaWduZWQgYWZ0ZXIgdGhlIG9w
ZW5pbmcgYnJhY2tldCwgZm9yIG1hY3Jvcw0KPj4gdGhlcmUgaXMgYSBtaXguDQo+IA0KPiBUaGUg
bGF0dGVyICJhYm92ZSIgcmVmZXJzIHRvIHdoaWNoIGZvcm0gZXhhY3RseT8gVGhlIG9uZSB5b3Ug
b3JpZ2luYWxseQ0KPiBzcGVsbGVkIG91dCwgb3IgdGhlIGZvcm1lciBvZiB3aGF0IG15IHJlcGx5
IGhhZD8NCg0KSW4gbXkgcmVwbHkgSSB3YXMgcmVmZXJyaW5nIHRvIHRoZSBvbmUgSSBvcmlnaW5h
bGx5IHNwZWxsZWQgb3V0Lg0KDQo+IA0KPj4gSSBtaWdodCBiZSB3cm9uZyB0aG91Z2ggYW5kIHNv
IGFub3RoZXIgb3BpbmlvbiBmcm9tIGFub3RoZXIgbWFpbnRhaW5lciB3b3VsZCBoZWxwLg0KPj4g
DQo+PiBJbiBhbnkgY2FzZSB3ZSBjYW4gY2hvb3NlIGFtb25nIG1hbnkgdmFsdWU6IGh0dHBzOi8v
Y2xhbmcubGx2bS5vcmcvZG9jcy9DbGFuZ0Zvcm1hdFN0eWxlT3B0aW9ucy5odG1sI2FsaWduYWZ0
ZXJvcGVuYnJhY2tldCwNCj4+IGJ1dCB3aGVuIHdlIGRvIHNvLCB3ZSBuZWVkIHRvIHN0aWNrIHRv
IG9uZSBwZXJtaXR0ZWQgc3R5bGUgb25seSwgdGhlIHRvb2wgZG9u4oCZdCBhbGxvdyB0byBzcGVj
aWZ5IG1vcmUgdGhhbiBvbmUuDQo+IA0KPiBPbiB0b3Agb2YgbXkgZWFybGllciByZXBseSB5ZXQg
YW5vdGhlciByZWFzb24gcGVyaGFwcyB0aGF0IHRoaXMgdG9vbCB0aGVuDQo+IHdvbid0IHJlYWxs
eSBmaXQgb3VyIGludGVuZGVkIHVzZS4NCg0Kb2sNCg0KPiANCj4+Pj4gLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NCj4+Pj4gDQo+Pj4+IEFsaWduQXJyYXlPZlN0cnVjdHVyZXM6IExl
ZnQNCj4+Pj4gDQo+Pj4+IC0tLQ0KPj4+PiDigJxXaGVuIHVzaW5nIGluaXRpYWxpemF0aW9uIGZv
ciBhbiBhcnJheSBvZiBzdHJ1Y3RzIGFsaWducyB0aGUgZmllbGRzIGludG8gY29sdW1ucy4iDQo+
Pj4+IEl04oCZcyBpbXBvcnRhbnQgdG8gc2F5IHRoYXQgZXZlbiBpZiB3ZSBzcGVjaWZ5IOKAnE5v
bmXigJ0sIGl0IGlzIGdvaW5nIHRvIGZvcm1hdCB0aGUgZGF0YSBzdHJ1Y3R1cmUgYW55d2F5LA0K
Pj4+PiBJIGNob29zZSBsZWZ0LCBidXQgY2xlYXJseSBJ4oCZbSBvcGVuIHRvIHN1Z2dlc3Rpb25z
Lg0KPj4+IA0KPj4+IFlvdSBkb24ndCBzYXkgaW4gd2hpY2ggd2F5IGl0IHJlLWZvcm1hdHMgc3Vj
aCBjb25zdHJ1Y3RzLg0KPj4gDQo+PiBTdXJlLCB0YWtpbmcgYXMgZXhhbXBsZSBhbiBhcnJheSBv
ZiBzdHJ1Y3R1cmUsIHhlbi9kcml2ZXJzL3ZpZGVvL21vZGVsaW5lcy5oLA0KPj4gDQo+PiBXaXRo
IEFsaWduQXJyYXlPZlN0cnVjdHVyZXM6IE5vbmUgd2UgaGF2ZSB0aGlzIGJlbG93Lg0KPj4gDQo+
PiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvdmlkZW8vbW9kZWxpbmVzLmggYi94ZW4vZHJpdmVy
cy92aWRlby9tb2RlbGluZXMuaA0KPj4gaW5kZXggOWNiN2NkZGUwNTVmLi4zZmYyM2VmMWY4YTcg
MTAwNjQ0DQo+PiAtLS0gYS94ZW4vZHJpdmVycy92aWRlby9tb2RlbGluZXMuaA0KPj4gKysrIGIv
eGVuL2RyaXZlcnMvdmlkZW8vbW9kZWxpbmVzLmgNCj4+IEBAIC00MiwzNiArNDIsMzYgQEAgc3Ry
dWN0IG1vZGVsaW5lIHsNCj4+IH07DQo+PiANCj4+IHN0cnVjdCBtb2RlbGluZSBfX2luaXRkYXRh
IHZpZGVvbW9kZXNbXSA9IHsNCj4+IC0gICAgeyAiNjQweDQ4MEA2MCIsICAgMjUxNzUsICA2NDAs
ICAxNiwgICA5NiwgICA0OCwgICA0ODAsICAxMSwgICAyLCAgICAzMSB9LA0KPj4gLSAgICB7ICI2
NDB4NDgwQDcyIiwgICAzMTUwMCwgIDY0MCwgIDI0LCAgIDQwLCAgIDEyOCwgIDQ4MCwgIDksICAg
IDMsICAgIDI4IH0sDQo+PiAtICAgIHsgIjY0MHg0ODBANzUiLCAgIDMxNTAwLCAgNjQwLCAgMTYs
ICAgOTYsICAgNDgsICAgNDgwLCAgMTEsICAgMiwgICAgMzIgfSwNCj4+IC0gICAgeyAiNjQweDQ4
MEA4NSIsICAgMzYwMDAsICA2NDAsICAzMiwgICA0OCwgICAxMTIsICA0ODAsICAxLCAgICAzLCAg
ICAyNSB9LA0KPj4gLSAgICB7ICI4MDB4NjAwQDU2IiwgICAzODEwMCwgIDgwMCwgIDMyLCAgIDEy
OCwgIDEyOCwgIDYwMCwgIDEsICAgIDQsICAgIDE0IH0sDQo+PiAtICAgIHsgIjgwMHg2MDBANjAi
LCAgIDQwMDAwLCAgODAwLCAgNDAsICAgMTI4LCAgODggLCAgNjAwLCAgMSwgICAgNCwgICAgMjMg
fSwNCj4+IC0gICAgeyAiODAweDYwMEA3MiIsICAgNTAwMDAsICA4MDAsICA1NiwgICAxMjAsICA2
NCAsICA2MDAsICAzNywgICA2LCAgICAyMyB9LA0KPj4gLSAgICB7ICI4MDB4NjAwQDc1IiwgICA0
OTUwMCwgIDgwMCwgIDE2LCAgIDgwLCAgIDE2MCwgIDYwMCwgIDEsICAgIDIsICAgIDIxIH0sDQo+
PiAtICAgIHsgIjgwMHg2MDBAODUiLCAgIDU2MjUwLCAgODAwLCAgMzIsICAgNjQsICAgMTUyLCAg
NjAwLCAgMSwgICAgMywgICAgMjcgfSwNCj4+IC0gICAgeyAiMTAyNHg3NjhANjAiLCAgNjUwMDAs
ICAxMDI0LCAyNCwgICAxMzYsICAxNjAsICA3NjgsICAzLCAgICA2LCAgICAyOSB9LA0KPj4gLSAg
ICB7ICIxMDI0eDc2OEA3MCIsICA3NTAwMCwgIDEwMjQsIDI0LCAgIDEzNiwgIDE0NCwgIDc2OCwg
IDMsICAgIDYsICAgIDI5IH0sDQo+PiAtICAgIHsgIjEwMjR4NzY4QDc1IiwgIDc4NzUwLCAgMTAy
NCwgMTYsICAgOTYsICAgMTc2LCAgNzY4LCAgMSwgICAgMywgICAgMjggfSwNCj4+IC0gICAgeyAi
MTAyNHg3NjhAODUiLCAgOTQ1MDAsICAxMDI0LCA0OCwgICA5NiwgICAyMDgsICA3NjgsICAxLCAg
ICAzLCAgICAzNiB9LA0KPj4gLSAgICB7ICIxMjgweDEwMjRANjAiLCAxMDgwMDAsIDEyODAsIDQ4
LCAgIDExMiwgIDI0OCwgIDEwMjQsIDEsICAgIDMsICAgIDM4IH0sDQo+PiAtICAgIHsgIjEyODB4
MTAyNEA3NSIsIDEzNTAwMCwgMTI4MCwgMTYsICAgMTQ0LCAgMjQ4LCAgMTAyNCwgMSwgICAgMywg
ICAgMzggfSwNCj4+IC0gICAgeyAiMTI4MHgxMDI0QDg1IiwgMTU3NTAwLCAxMjgwLCA2NCwgICAx
NjAsICAyMjQsICAxMDI0LCAxLCAgICAzLCAgICA0NCB9LA0KPj4gLSAgICB7ICIxNDAweDEwNTBA
NjAiLCAxMjI2MTAsIDE0MDAsIDg4LCAgIDE1MiwgIDI0MCwgIDEwNTAsIDEsICAgIDMsICAgIDMz
IH0sDQo+PiAtICAgIHsgIjE0MDB4MTA1MEA3NSIsIDE1NTg1MCwgMTQwMCwgOTYsICAgMTUyLCAg
MjQ4LCAgMTA1MCwgMSwgICAgMywgICAgNDIgfSwNCj4+IC0gICAgeyAiMTYwMHgxMjAwQDYwIiwg
MTYyMDAwLCAxNjAwLCA2NCwgICAxOTIsICAzMDQsICAxMjAwLCAxLCAgICAzLCAgICA0NiB9LA0K
Pj4gLSAgICB7ICIxNjAweDEyMDBANjUiLCAxNzU1MDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwg
IDEyMDAsIDEsICAgIDMsICAgIDQ2IH0sDQo+PiAtICAgIHsgIjE2MDB4MTIwMEA3MCIsIDE4OTAw
MCwgMTYwMCwgNjQsICAgMTkyLCAgMzA0LCAgMTIwMCwgMSwgICAgMywgICAgNDYgfSwNCj4+IC0g
ICAgeyAiMTYwMHgxMjAwQDc1IiwgMjAyNTAwLCAxNjAwLCA2NCwgICAxOTIsICAzMDQsICAxMjAw
LCAxLCAgICAzLCAgICA0NiB9LA0KPj4gLSAgICB7ICIxNjAweDEyMDBAODUiLCAyMjk1MDAsIDE2
MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAsIDEsICAgIDMsICAgIDQ2IH0sDQo+PiAtICAgIHsg
IjE3OTJ4MTM0NEA2MCIsIDIwNDgwMCwgMTc5MiwgMTI4LCAgMjAwLCAgMzI4LCAgMTM0NCwgMSwg
ICAgMywgICAgNDYgfSwNCj4+IC0gICAgeyAiMTc5MngxMzQ0QDc1IiwgMjYxMDAwLCAxNzkyLCA5
NiwgICAyMTYsICAzNTIsICAxMzQ0LCAxLCAgICAzLCAgICA2OSB9LA0KPj4gLSAgICB7ICIxODU2
eDEzOTJANjAiLCAyMTgzMDAsIDE4NTYsIDk2LCAgIDIyNCwgIDM1MiwgIDEzOTIsIDEsICAgIDMs
ICAgIDQzIH0sDQo+PiAtICAgIHsgIjE4NTZ4MTM5MkA3NSIsIDI4ODAwMCwgMTg1NiwgMTI4LCAg
MjI0LCAgMzUyLCAgMTM5MiwgMSwgICAgMywgICAgMTA0IH0sDQo+PiAtICAgIHsgIjE5MjB4MTIw
MEA3NSIsIDE5MzE2MCwgMTkyMCwgMTI4LCAgMjA4LCAgMzM2LCAgMTIwMCwgMSwgICAgMywgICAg
MzggfSwNCj4+IC0gICAgeyAiMTkyMHgxNDQwQDYwIiwgMjM0MDAwLCAxOTIwLCAxMjgsICAyMDgs
ICAzNDQsICAxNDQwLCAxLCAgICAzLCAgICA1NiB9LA0KPj4gLSAgICB7ICIxOTIweDE0NDBANzUi
LCAyOTcwMDAsIDE5MjAsIDE0NCwgIDIyNCwgIDM1MiwgIDE0NDAsIDEsICAgIDMsICAgIDU2IH0s
DQo+PiArICAgIHsgIjY0MHg0ODBANjAiLCAyNTE3NSwgNjQwLCAxNiwgOTYsIDQ4LCA0ODAsIDEx
LCAyLCAzMSB9LA0KPj4gKyAgICB7ICI2NDB4NDgwQDcyIiwgMzE1MDAsIDY0MCwgMjQsIDQwLCAx
MjgsIDQ4MCwgOSwgMywgMjggfSwNCj4+ICsgICAgeyAiNjQweDQ4MEA3NSIsIDMxNTAwLCA2NDAs
IDE2LCA5NiwgNDgsIDQ4MCwgMTEsIDIsIDMyIH0sDQo+PiArICAgIHsgIjY0MHg0ODBAODUiLCAz
NjAwMCwgNjQwLCAzMiwgNDgsIDExMiwgNDgwLCAxLCAzLCAyNSB9LA0KPj4gKyAgICB7ICI4MDB4
NjAwQDU2IiwgMzgxMDAsIDgwMCwgMzIsIDEyOCwgMTI4LCA2MDAsIDEsIDQsIDE0IH0sDQo+PiAr
ICAgIHsgIjgwMHg2MDBANjAiLCA0MDAwMCwgODAwLCA0MCwgMTI4LCA4OCwgNjAwLCAxLCA0LCAy
MyB9LA0KPj4gKyAgICB7ICI4MDB4NjAwQDcyIiwgNTAwMDAsIDgwMCwgNTYsIDEyMCwgNjQsIDYw
MCwgMzcsIDYsIDIzIH0sDQo+PiArICAgIHsgIjgwMHg2MDBANzUiLCA0OTUwMCwgODAwLCAxNiwg
ODAsIDE2MCwgNjAwLCAxLCAyLCAyMSB9LA0KPj4gKyAgICB7ICI4MDB4NjAwQDg1IiwgNTYyNTAs
IDgwMCwgMzIsIDY0LCAxNTIsIDYwMCwgMSwgMywgMjcgfSwNCj4+ICsgICAgeyAiMTAyNHg3NjhA
NjAiLCA2NTAwMCwgMTAyNCwgMjQsIDEzNiwgMTYwLCA3NjgsIDMsIDYsIDI5IH0sDQo+PiArICAg
IHsgIjEwMjR4NzY4QDcwIiwgNzUwMDAsIDEwMjQsIDI0LCAxMzYsIDE0NCwgNzY4LCAzLCA2LCAy
OSB9LA0KPj4gKyAgICB7ICIxMDI0eDc2OEA3NSIsIDc4NzUwLCAxMDI0LCAxNiwgOTYsIDE3Niwg
NzY4LCAxLCAzLCAyOCB9LA0KPj4gKyAgICB7ICIxMDI0eDc2OEA4NSIsIDk0NTAwLCAxMDI0LCA0
OCwgOTYsIDIwOCwgNzY4LCAxLCAzLCAzNiB9LA0KPj4gKyAgICB7ICIxMjgweDEwMjRANjAiLCAx
MDgwMDAsIDEyODAsIDQ4LCAxMTIsIDI0OCwgMTAyNCwgMSwgMywgMzggfSwNCj4+ICsgICAgeyAi
MTI4MHgxMDI0QDc1IiwgMTM1MDAwLCAxMjgwLCAxNiwgMTQ0LCAyNDgsIDEwMjQsIDEsIDMsIDM4
IH0sDQo+PiArICAgIHsgIjEyODB4MTAyNEA4NSIsIDE1NzUwMCwgMTI4MCwgNjQsIDE2MCwgMjI0
LCAxMDI0LCAxLCAzLCA0NCB9LA0KPj4gKyAgICB7ICIxNDAweDEwNTBANjAiLCAxMjI2MTAsIDE0
MDAsIDg4LCAxNTIsIDI0MCwgMTA1MCwgMSwgMywgMzMgfSwNCj4+ICsgICAgeyAiMTQwMHgxMDUw
QDc1IiwgMTU1ODUwLCAxNDAwLCA5NiwgMTUyLCAyNDgsIDEwNTAsIDEsIDMsIDQyIH0sDQo+PiAr
ICAgIHsgIjE2MDB4MTIwMEA2MCIsIDE2MjAwMCwgMTYwMCwgNjQsIDE5MiwgMzA0LCAxMjAwLCAx
LCAzLCA0NiB9LA0KPj4gKyAgICB7ICIxNjAweDEyMDBANjUiLCAxNzU1MDAsIDE2MDAsIDY0LCAx
OTIsIDMwNCwgMTIwMCwgMSwgMywgNDYgfSwNCj4+ICsgICAgeyAiMTYwMHgxMjAwQDcwIiwgMTg5
MDAwLCAxNjAwLCA2NCwgMTkyLCAzMDQsIDEyMDAsIDEsIDMsIDQ2IH0sDQo+PiArICAgIHsgIjE2
MDB4MTIwMEA3NSIsIDIwMjUwMCwgMTYwMCwgNjQsIDE5MiwgMzA0LCAxMjAwLCAxLCAzLCA0NiB9
LA0KPj4gKyAgICB7ICIxNjAweDEyMDBAODUiLCAyMjk1MDAsIDE2MDAsIDY0LCAxOTIsIDMwNCwg
MTIwMCwgMSwgMywgNDYgfSwNCj4+ICsgICAgeyAiMTc5MngxMzQ0QDYwIiwgMjA0ODAwLCAxNzky
LCAxMjgsIDIwMCwgMzI4LCAxMzQ0LCAxLCAzLCA0NiB9LA0KPj4gKyAgICB7ICIxNzkyeDEzNDRA
NzUiLCAyNjEwMDAsIDE3OTIsIDk2LCAyMTYsIDM1MiwgMTM0NCwgMSwgMywgNjkgfSwNCj4+ICsg
ICAgeyAiMTg1NngxMzkyQDYwIiwgMjE4MzAwLCAxODU2LCA5NiwgMjI0LCAzNTIsIDEzOTIsIDEs
IDMsIDQzIH0sDQo+PiArICAgIHsgIjE4NTZ4MTM5MkA3NSIsIDI4ODAwMCwgMTg1NiwgMTI4LCAy
MjQsIDM1MiwgMTM5MiwgMSwgMywgMTA0IH0sDQo+PiArICAgIHsgIjE5MjB4MTIwMEA3NSIsIDE5
MzE2MCwgMTkyMCwgMTI4LCAyMDgsIDMzNiwgMTIwMCwgMSwgMywgMzggfSwNCj4+ICsgICAgeyAi
MTkyMHgxNDQwQDYwIiwgMjM0MDAwLCAxOTIwLCAxMjgsIDIwOCwgMzQ0LCAxNDQwLCAxLCAzLCA1
NiB9LA0KPj4gKyAgICB7ICIxOTIweDE0NDBANzUiLCAyOTcwMDAsIDE5MjAsIDE0NCwgMjI0LCAz
NTIsIDE0NDAsIDEsIDMsIDU2IH0sDQo+PiB9Ow0KPj4gDQo+PiAjZW5kaWYNCj4+IA0KPj4gV2l0
aCBBbGlnbkFycmF5T2ZTdHJ1Y3R1cmVzOiBMZWZ0IHdlIGhhdmUgKEkgbm90aWNlZCB0aGVyZSBt
aWdodCBiZSBhIHNtYWxsDQo+PiBidWcgaW4gY2xhbmctZm9ybWF0IHNpbmNlIHRoZSBmaXJzdCBl
bnRyeSBoYXMgbm8gc3BhY2UgYWZ0ZXIgdGhlIG9wZW5pbmcgY3VybHkgYnJhY2tldCk6DQo+PiAN
Cj4+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92aWRlby9tb2RlbGluZXMuaCBiL3hlbi9kcml2
ZXJzL3ZpZGVvL21vZGVsaW5lcy5oDQo+PiBpbmRleCA5Y2I3Y2RkZTA1NWYuLjFhZmU3MjVkY2I0
YyAxMDA2NDQNCj4+IC0tLSBhL3hlbi9kcml2ZXJzL3ZpZGVvL21vZGVsaW5lcy5oDQo+PiArKysg
Yi94ZW4vZHJpdmVycy92aWRlby9tb2RlbGluZXMuaA0KPj4gQEAgLTQyLDM2ICs0MiwzNiBAQCBz
dHJ1Y3QgbW9kZWxpbmUgew0KPj4gfTsNCj4+IA0KPj4gc3RydWN0IG1vZGVsaW5lIF9faW5pdGRh
dGEgdmlkZW9tb2Rlc1tdID0gew0KPj4gLSAgICB7ICI2NDB4NDgwQDYwIiwgICAyNTE3NSwgIDY0
MCwgIDE2LCAgIDk2LCAgIDQ4LCAgIDQ4MCwgIDExLCAgIDIsICAgIDMxIH0sDQo+PiAtICAgIHsg
IjY0MHg0ODBANzIiLCAgIDMxNTAwLCAgNjQwLCAgMjQsICAgNDAsICAgMTI4LCAgNDgwLCAgOSwg
ICAgMywgICAgMjggfSwNCj4+IC0gICAgeyAiNjQweDQ4MEA3NSIsICAgMzE1MDAsICA2NDAsICAx
NiwgICA5NiwgICA0OCwgICA0ODAsICAxMSwgICAyLCAgICAzMiB9LA0KPj4gLSAgICB7ICI2NDB4
NDgwQDg1IiwgICAzNjAwMCwgIDY0MCwgIDMyLCAgIDQ4LCAgIDExMiwgIDQ4MCwgIDEsICAgIDMs
ICAgIDI1IH0sDQo+PiAtICAgIHsgIjgwMHg2MDBANTYiLCAgIDM4MTAwLCAgODAwLCAgMzIsICAg
MTI4LCAgMTI4LCAgNjAwLCAgMSwgICAgNCwgICAgMTQgfSwNCj4+IC0gICAgeyAiODAweDYwMEA2
MCIsICAgNDAwMDAsICA4MDAsICA0MCwgICAxMjgsICA4OCAsICA2MDAsICAxLCAgICA0LCAgICAy
MyB9LA0KPj4gLSAgICB7ICI4MDB4NjAwQDcyIiwgICA1MDAwMCwgIDgwMCwgIDU2LCAgIDEyMCwg
IDY0ICwgIDYwMCwgIDM3LCAgIDYsICAgIDIzIH0sDQo+PiAtICAgIHsgIjgwMHg2MDBANzUiLCAg
IDQ5NTAwLCAgODAwLCAgMTYsICAgODAsICAgMTYwLCAgNjAwLCAgMSwgICAgMiwgICAgMjEgfSwN
Cj4+IC0gICAgeyAiODAweDYwMEA4NSIsICAgNTYyNTAsICA4MDAsICAzMiwgICA2NCwgICAxNTIs
ICA2MDAsICAxLCAgICAzLCAgICAyNyB9LA0KPj4gLSAgICB7ICIxMDI0eDc2OEA2MCIsICA2NTAw
MCwgIDEwMjQsIDI0LCAgIDEzNiwgIDE2MCwgIDc2OCwgIDMsICAgIDYsICAgIDI5IH0sDQo+PiAt
ICAgIHsgIjEwMjR4NzY4QDcwIiwgIDc1MDAwLCAgMTAyNCwgMjQsICAgMTM2LCAgMTQ0LCAgNzY4
LCAgMywgICAgNiwgICAgMjkgfSwNCj4+IC0gICAgeyAiMTAyNHg3NjhANzUiLCAgNzg3NTAsICAx
MDI0LCAxNiwgICA5NiwgICAxNzYsICA3NjgsICAxLCAgICAzLCAgICAyOCB9LA0KPj4gLSAgICB7
ICIxMDI0eDc2OEA4NSIsICA5NDUwMCwgIDEwMjQsIDQ4LCAgIDk2LCAgIDIwOCwgIDc2OCwgIDEs
ICAgIDMsICAgIDM2IH0sDQo+PiAtICAgIHsgIjEyODB4MTAyNEA2MCIsIDEwODAwMCwgMTI4MCwg
NDgsICAgMTEyLCAgMjQ4LCAgMTAyNCwgMSwgICAgMywgICAgMzggfSwNCj4+IC0gICAgeyAiMTI4
MHgxMDI0QDc1IiwgMTM1MDAwLCAxMjgwLCAxNiwgICAxNDQsICAyNDgsICAxMDI0LCAxLCAgICAz
LCAgICAzOCB9LA0KPj4gLSAgICB7ICIxMjgweDEwMjRAODUiLCAxNTc1MDAsIDEyODAsIDY0LCAg
IDE2MCwgIDIyNCwgIDEwMjQsIDEsICAgIDMsICAgIDQ0IH0sDQo+PiAtICAgIHsgIjE0MDB4MTA1
MEA2MCIsIDEyMjYxMCwgMTQwMCwgODgsICAgMTUyLCAgMjQwLCAgMTA1MCwgMSwgICAgMywgICAg
MzMgfSwNCj4+IC0gICAgeyAiMTQwMHgxMDUwQDc1IiwgMTU1ODUwLCAxNDAwLCA5NiwgICAxNTIs
ICAyNDgsICAxMDUwLCAxLCAgICAzLCAgICA0MiB9LA0KPj4gLSAgICB7ICIxNjAweDEyMDBANjAi
LCAxNjIwMDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAsIDEsICAgIDMsICAgIDQ2IH0s
DQo+PiAtICAgIHsgIjE2MDB4MTIwMEA2NSIsIDE3NTUwMCwgMTYwMCwgNjQsICAgMTkyLCAgMzA0
LCAgMTIwMCwgMSwgICAgMywgICAgNDYgfSwNCj4+IC0gICAgeyAiMTYwMHgxMjAwQDcwIiwgMTg5
MDAwLCAxNjAwLCA2NCwgICAxOTIsICAzMDQsICAxMjAwLCAxLCAgICAzLCAgICA0NiB9LA0KPj4g
LSAgICB7ICIxNjAweDEyMDBANzUiLCAyMDI1MDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEy
MDAsIDEsICAgIDMsICAgIDQ2IH0sDQo+PiAtICAgIHsgIjE2MDB4MTIwMEA4NSIsIDIyOTUwMCwg
MTYwMCwgNjQsICAgMTkyLCAgMzA0LCAgMTIwMCwgMSwgICAgMywgICAgNDYgfSwNCj4+IC0gICAg
eyAiMTc5MngxMzQ0QDYwIiwgMjA0ODAwLCAxNzkyLCAxMjgsICAyMDAsICAzMjgsICAxMzQ0LCAx
LCAgICAzLCAgICA0NiB9LA0KPj4gLSAgICB7ICIxNzkyeDEzNDRANzUiLCAyNjEwMDAsIDE3OTIs
IDk2LCAgIDIxNiwgIDM1MiwgIDEzNDQsIDEsICAgIDMsICAgIDY5IH0sDQo+PiAtICAgIHsgIjE4
NTZ4MTM5MkA2MCIsIDIxODMwMCwgMTg1NiwgOTYsICAgMjI0LCAgMzUyLCAgMTM5MiwgMSwgICAg
MywgICAgNDMgfSwNCj4+IC0gICAgeyAiMTg1NngxMzkyQDc1IiwgMjg4MDAwLCAxODU2LCAxMjgs
ICAyMjQsICAzNTIsICAxMzkyLCAxLCAgICAzLCAgICAxMDQgfSwNCj4+IC0gICAgeyAiMTkyMHgx
MjAwQDc1IiwgMTkzMTYwLCAxOTIwLCAxMjgsICAyMDgsICAzMzYsICAxMjAwLCAxLCAgICAzLCAg
ICAzOCB9LA0KPj4gLSAgICB7ICIxOTIweDE0NDBANjAiLCAyMzQwMDAsIDE5MjAsIDEyOCwgIDIw
OCwgIDM0NCwgIDE0NDAsIDEsICAgIDMsICAgIDU2IH0sDQo+PiAtICAgIHsgIjE5MjB4MTQ0MEA3
NSIsIDI5NzAwMCwgMTkyMCwgMTQ0LCAgMjI0LCAgMzUyLCAgMTQ0MCwgMSwgICAgMywgICAgNTYg
fSwNCj4+ICsgICAgeyI2NDB4NDgwQDYwIiwgICAgMjUxNzUsICA2NDAsICAxNiwgIDk2LCAgNDgs
ICA0ODAsICAxMSwgMiwgMzEgfSwNCj4+ICsgICAgeyAiNjQweDQ4MEA3MiIsICAgMzE1MDAsICA2
NDAsICAyNCwgIDQwLCAgMTI4LCA0ODAsICA5LCAgMywgMjggfSwNCj4+ICsgICAgeyAiNjQweDQ4
MEA3NSIsICAgMzE1MDAsICA2NDAsICAxNiwgIDk2LCAgNDgsICA0ODAsICAxMSwgMiwgMzIgfSwN
Cj4+ICsgICAgeyAiNjQweDQ4MEA4NSIsICAgMzYwMDAsICA2NDAsICAzMiwgIDQ4LCAgMTEyLCA0
ODAsICAxLCAgMywgMjUgfSwNCj4+ICsgICAgeyAiODAweDYwMEA1NiIsICAgMzgxMDAsICA4MDAs
ICAzMiwgIDEyOCwgMTI4LCA2MDAsICAxLCAgNCwgMTQgfSwNCj4+ICsgICAgeyAiODAweDYwMEA2
MCIsICAgNDAwMDAsICA4MDAsICA0MCwgIDEyOCwgODgsICA2MDAsICAxLCAgNCwgMjMgfSwNCj4+
ICsgICAgeyAiODAweDYwMEA3MiIsICAgNTAwMDAsICA4MDAsICA1NiwgIDEyMCwgNjQsICA2MDAs
ICAzNywgNiwgMjMgfSwNCj4+ICsgICAgeyAiODAweDYwMEA3NSIsICAgNDk1MDAsICA4MDAsICAx
NiwgIDgwLCAgMTYwLCA2MDAsICAxLCAgMiwgMjEgfSwNCj4+ICsgICAgeyAiODAweDYwMEA4NSIs
ICAgNTYyNTAsICA4MDAsICAzMiwgIDY0LCAgMTUyLCA2MDAsICAxLCAgMywgMjcgfSwNCj4+ICsg
ICAgeyAiMTAyNHg3NjhANjAiLCAgNjUwMDAsICAxMDI0LCAyNCwgIDEzNiwgMTYwLCA3NjgsICAz
LCAgNiwgMjkgfSwNCj4+ICsgICAgeyAiMTAyNHg3NjhANzAiLCAgNzUwMDAsICAxMDI0LCAyNCwg
IDEzNiwgMTQ0LCA3NjgsICAzLCAgNiwgMjkgfSwNCj4+ICsgICAgeyAiMTAyNHg3NjhANzUiLCAg
Nzg3NTAsICAxMDI0LCAxNiwgIDk2LCAgMTc2LCA3NjgsICAxLCAgMywgMjggfSwNCj4+ICsgICAg
eyAiMTAyNHg3NjhAODUiLCAgOTQ1MDAsICAxMDI0LCA0OCwgIDk2LCAgMjA4LCA3NjgsICAxLCAg
MywgMzYgfSwNCj4+ICsgICAgeyAiMTI4MHgxMDI0QDYwIiwgMTA4MDAwLCAxMjgwLCA0OCwgIDEx
MiwgMjQ4LCAxMDI0LCAxLCAgMywgMzggfSwNCj4+ICsgICAgeyAiMTI4MHgxMDI0QDc1IiwgMTM1
MDAwLCAxMjgwLCAxNiwgIDE0NCwgMjQ4LCAxMDI0LCAxLCAgMywgMzggfSwNCj4+ICsgICAgeyAi
MTI4MHgxMDI0QDg1IiwgMTU3NTAwLCAxMjgwLCA2NCwgIDE2MCwgMjI0LCAxMDI0LCAxLCAgMywg
NDQgfSwNCj4+ICsgICAgeyAiMTQwMHgxMDUwQDYwIiwgMTIyNjEwLCAxNDAwLCA4OCwgIDE1Miwg
MjQwLCAxMDUwLCAxLCAgMywgMzMgfSwNCj4+ICsgICAgeyAiMTQwMHgxMDUwQDc1IiwgMTU1ODUw
LCAxNDAwLCA5NiwgIDE1MiwgMjQ4LCAxMDUwLCAxLCAgMywgNDIgfSwNCj4+ICsgICAgeyAiMTYw
MHgxMjAwQDYwIiwgMTYyMDAwLCAxNjAwLCA2NCwgIDE5MiwgMzA0LCAxMjAwLCAxLCAgMywgNDYg
fSwNCj4+ICsgICAgeyAiMTYwMHgxMjAwQDY1IiwgMTc1NTAwLCAxNjAwLCA2NCwgIDE5MiwgMzA0
LCAxMjAwLCAxLCAgMywgNDYgfSwNCj4+ICsgICAgeyAiMTYwMHgxMjAwQDcwIiwgMTg5MDAwLCAx
NjAwLCA2NCwgIDE5MiwgMzA0LCAxMjAwLCAxLCAgMywgNDYgfSwNCj4+ICsgICAgeyAiMTYwMHgx
MjAwQDc1IiwgMjAyNTAwLCAxNjAwLCA2NCwgIDE5MiwgMzA0LCAxMjAwLCAxLCAgMywgNDYgfSwN
Cj4+ICsgICAgeyAiMTYwMHgxMjAwQDg1IiwgMjI5NTAwLCAxNjAwLCA2NCwgIDE5MiwgMzA0LCAx
MjAwLCAxLCAgMywgNDYgfSwNCj4+ICsgICAgeyAiMTc5MngxMzQ0QDYwIiwgMjA0ODAwLCAxNzky
LCAxMjgsIDIwMCwgMzI4LCAxMzQ0LCAxLCAgMywgNDYgfSwNCj4+ICsgICAgeyAiMTc5MngxMzQ0
QDc1IiwgMjYxMDAwLCAxNzkyLCA5NiwgIDIxNiwgMzUyLCAxMzQ0LCAxLCAgMywgNjkgfSwNCj4+
ICsgICAgeyAiMTg1NngxMzkyQDYwIiwgMjE4MzAwLCAxODU2LCA5NiwgIDIyNCwgMzUyLCAxMzky
LCAxLCAgMywgNDMgfSwNCj4+ICsgICAgeyAiMTg1NngxMzkyQDc1IiwgMjg4MDAwLCAxODU2LCAx
MjgsIDIyNCwgMzUyLCAxMzkyLCAxLCAgMywgMTA0fSwNCj4+ICsgICAgeyAiMTkyMHgxMjAwQDc1
IiwgMTkzMTYwLCAxOTIwLCAxMjgsIDIwOCwgMzM2LCAxMjAwLCAxLCAgMywgMzggfSwNCj4+ICsg
ICAgeyAiMTkyMHgxNDQwQDYwIiwgMjM0MDAwLCAxOTIwLCAxMjgsIDIwOCwgMzQ0LCAxNDQwLCAx
LCAgMywgNTYgfSwNCj4+ICsgICAgeyAiMTkyMHgxNDQwQDc1IiwgMjk3MDAwLCAxOTIwLCAxNDQs
IDIyNCwgMzUyLCAxNDQwLCAxLCAgMywgNTYgfSwNCj4+IH07DQo+PiANCj4+ICNlbmRpZg0KPj4g
DQo+PiBXaXRoIEFsaWduQXJyYXlPZlN0cnVjdHVyZXM6IFJpZ2h0IHdlIGhhdmU6DQo+PiANCj4+
IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92aWRlby9tb2RlbGluZXMuaCBiL3hlbi9kcml2ZXJz
L3ZpZGVvL21vZGVsaW5lcy5oDQo+PiBpbmRleCA5Y2I3Y2RkZTA1NWYuLjUzOWFiN2MxMmQwMCAx
MDA2NDQNCj4+IC0tLSBhL3hlbi9kcml2ZXJzL3ZpZGVvL21vZGVsaW5lcy5oDQo+PiArKysgYi94
ZW4vZHJpdmVycy92aWRlby9tb2RlbGluZXMuaA0KPj4gQEAgLTQyLDM2ICs0MiwzNiBAQCBzdHJ1
Y3QgbW9kZWxpbmUgew0KPj4gfTsNCj4+IA0KPj4gc3RydWN0IG1vZGVsaW5lIF9faW5pdGRhdGEg
dmlkZW9tb2Rlc1tdID0gew0KPj4gLSAgICB7ICI2NDB4NDgwQDYwIiwgICAyNTE3NSwgIDY0MCwg
IDE2LCAgIDk2LCAgIDQ4LCAgIDQ4MCwgIDExLCAgIDIsICAgIDMxIH0sDQo+PiAtICAgIHsgIjY0
MHg0ODBANzIiLCAgIDMxNTAwLCAgNjQwLCAgMjQsICAgNDAsICAgMTI4LCAgNDgwLCAgOSwgICAg
MywgICAgMjggfSwNCj4+IC0gICAgeyAiNjQweDQ4MEA3NSIsICAgMzE1MDAsICA2NDAsICAxNiwg
ICA5NiwgICA0OCwgICA0ODAsICAxMSwgICAyLCAgICAzMiB9LA0KPj4gLSAgICB7ICI2NDB4NDgw
QDg1IiwgICAzNjAwMCwgIDY0MCwgIDMyLCAgIDQ4LCAgIDExMiwgIDQ4MCwgIDEsICAgIDMsICAg
IDI1IH0sDQo+PiAtICAgIHsgIjgwMHg2MDBANTYiLCAgIDM4MTAwLCAgODAwLCAgMzIsICAgMTI4
LCAgMTI4LCAgNjAwLCAgMSwgICAgNCwgICAgMTQgfSwNCj4+IC0gICAgeyAiODAweDYwMEA2MCIs
ICAgNDAwMDAsICA4MDAsICA0MCwgICAxMjgsICA4OCAsICA2MDAsICAxLCAgICA0LCAgICAyMyB9
LA0KPj4gLSAgICB7ICI4MDB4NjAwQDcyIiwgICA1MDAwMCwgIDgwMCwgIDU2LCAgIDEyMCwgIDY0
ICwgIDYwMCwgIDM3LCAgIDYsICAgIDIzIH0sDQo+PiAtICAgIHsgIjgwMHg2MDBANzUiLCAgIDQ5
NTAwLCAgODAwLCAgMTYsICAgODAsICAgMTYwLCAgNjAwLCAgMSwgICAgMiwgICAgMjEgfSwNCj4+
IC0gICAgeyAiODAweDYwMEA4NSIsICAgNTYyNTAsICA4MDAsICAzMiwgICA2NCwgICAxNTIsICA2
MDAsICAxLCAgICAzLCAgICAyNyB9LA0KPj4gLSAgICB7ICIxMDI0eDc2OEA2MCIsICA2NTAwMCwg
IDEwMjQsIDI0LCAgIDEzNiwgIDE2MCwgIDc2OCwgIDMsICAgIDYsICAgIDI5IH0sDQo+PiAtICAg
IHsgIjEwMjR4NzY4QDcwIiwgIDc1MDAwLCAgMTAyNCwgMjQsICAgMTM2LCAgMTQ0LCAgNzY4LCAg
MywgICAgNiwgICAgMjkgfSwNCj4+IC0gICAgeyAiMTAyNHg3NjhANzUiLCAgNzg3NTAsICAxMDI0
LCAxNiwgICA5NiwgICAxNzYsICA3NjgsICAxLCAgICAzLCAgICAyOCB9LA0KPj4gLSAgICB7ICIx
MDI0eDc2OEA4NSIsICA5NDUwMCwgIDEwMjQsIDQ4LCAgIDk2LCAgIDIwOCwgIDc2OCwgIDEsICAg
IDMsICAgIDM2IH0sDQo+PiAtICAgIHsgIjEyODB4MTAyNEA2MCIsIDEwODAwMCwgMTI4MCwgNDgs
ICAgMTEyLCAgMjQ4LCAgMTAyNCwgMSwgICAgMywgICAgMzggfSwNCj4+IC0gICAgeyAiMTI4MHgx
MDI0QDc1IiwgMTM1MDAwLCAxMjgwLCAxNiwgICAxNDQsICAyNDgsICAxMDI0LCAxLCAgICAzLCAg
ICAzOCB9LA0KPj4gLSAgICB7ICIxMjgweDEwMjRAODUiLCAxNTc1MDAsIDEyODAsIDY0LCAgIDE2
MCwgIDIyNCwgIDEwMjQsIDEsICAgIDMsICAgIDQ0IH0sDQo+PiAtICAgIHsgIjE0MDB4MTA1MEA2
MCIsIDEyMjYxMCwgMTQwMCwgODgsICAgMTUyLCAgMjQwLCAgMTA1MCwgMSwgICAgMywgICAgMzMg
fSwNCj4+IC0gICAgeyAiMTQwMHgxMDUwQDc1IiwgMTU1ODUwLCAxNDAwLCA5NiwgICAxNTIsICAy
NDgsICAxMDUwLCAxLCAgICAzLCAgICA0MiB9LA0KPj4gLSAgICB7ICIxNjAweDEyMDBANjAiLCAx
NjIwMDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAsIDEsICAgIDMsICAgIDQ2IH0sDQo+
PiAtICAgIHsgIjE2MDB4MTIwMEA2NSIsIDE3NTUwMCwgMTYwMCwgNjQsICAgMTkyLCAgMzA0LCAg
MTIwMCwgMSwgICAgMywgICAgNDYgfSwNCj4+IC0gICAgeyAiMTYwMHgxMjAwQDcwIiwgMTg5MDAw
LCAxNjAwLCA2NCwgICAxOTIsICAzMDQsICAxMjAwLCAxLCAgICAzLCAgICA0NiB9LA0KPj4gLSAg
ICB7ICIxNjAweDEyMDBANzUiLCAyMDI1MDAsIDE2MDAsIDY0LCAgIDE5MiwgIDMwNCwgIDEyMDAs
IDEsICAgIDMsICAgIDQ2IH0sDQo+PiAtICAgIHsgIjE2MDB4MTIwMEA4NSIsIDIyOTUwMCwgMTYw
MCwgNjQsICAgMTkyLCAgMzA0LCAgMTIwMCwgMSwgICAgMywgICAgNDYgfSwNCj4+IC0gICAgeyAi
MTc5MngxMzQ0QDYwIiwgMjA0ODAwLCAxNzkyLCAxMjgsICAyMDAsICAzMjgsICAxMzQ0LCAxLCAg
ICAzLCAgICA0NiB9LA0KPj4gLSAgICB7ICIxNzkyeDEzNDRANzUiLCAyNjEwMDAsIDE3OTIsIDk2
LCAgIDIxNiwgIDM1MiwgIDEzNDQsIDEsICAgIDMsICAgIDY5IH0sDQo+PiAtICAgIHsgIjE4NTZ4
MTM5MkA2MCIsIDIxODMwMCwgMTg1NiwgOTYsICAgMjI0LCAgMzUyLCAgMTM5MiwgMSwgICAgMywg
ICAgNDMgfSwNCj4+IC0gICAgeyAiMTg1NngxMzkyQDc1IiwgMjg4MDAwLCAxODU2LCAxMjgsICAy
MjQsICAzNTIsICAxMzkyLCAxLCAgICAzLCAgICAxMDQgfSwNCj4+IC0gICAgeyAiMTkyMHgxMjAw
QDc1IiwgMTkzMTYwLCAxOTIwLCAxMjgsICAyMDgsICAzMzYsICAxMjAwLCAxLCAgICAzLCAgICAz
OCB9LA0KPj4gLSAgICB7ICIxOTIweDE0NDBANjAiLCAyMzQwMDAsIDE5MjAsIDEyOCwgIDIwOCwg
IDM0NCwgIDE0NDAsIDEsICAgIDMsICAgIDU2IH0sDQo+PiAtICAgIHsgIjE5MjB4MTQ0MEA3NSIs
IDI5NzAwMCwgMTkyMCwgMTQ0LCAgMjI0LCAgMzUyLCAgMTQ0MCwgMSwgICAgMywgICAgNTYgfSwN
Cj4+ICsgICAgeyAgIjY0MHg0ODBANjAiLCAgMjUxNzUsICA2NDAsICAxNiwgIDk2LCAgNDgsICA0
ODAsIDExLCAyLCAgMzF9LA0KPj4gKyAgICB7ICAiNjQweDQ4MEA3MiIsICAzMTUwMCwgIDY0MCwg
IDI0LCAgNDAsIDEyOCwgIDQ4MCwgIDksIDMsICAyOH0sDQo+PiArICAgIHsgICI2NDB4NDgwQDc1
IiwgIDMxNTAwLCAgNjQwLCAgMTYsICA5NiwgIDQ4LCAgNDgwLCAxMSwgMiwgIDMyfSwNCj4+ICsg
ICAgeyAgIjY0MHg0ODBAODUiLCAgMzYwMDAsICA2NDAsICAzMiwgIDQ4LCAxMTIsICA0ODAsICAx
LCAzLCAgMjV9LA0KPj4gKyAgICB7ICAiODAweDYwMEA1NiIsICAzODEwMCwgIDgwMCwgIDMyLCAx
MjgsIDEyOCwgIDYwMCwgIDEsIDQsICAxNH0sDQo+PiArICAgIHsgICI4MDB4NjAwQDYwIiwgIDQw
MDAwLCAgODAwLCAgNDAsIDEyOCwgIDg4LCAgNjAwLCAgMSwgNCwgIDIzfSwNCj4+ICsgICAgeyAg
IjgwMHg2MDBANzIiLCAgNTAwMDAsICA4MDAsICA1NiwgMTIwLCAgNjQsICA2MDAsIDM3LCA2LCAg
MjN9LA0KPj4gKyAgICB7ICAiODAweDYwMEA3NSIsICA0OTUwMCwgIDgwMCwgIDE2LCAgODAsIDE2
MCwgIDYwMCwgIDEsIDIsICAyMX0sDQo+PiArICAgIHsgICI4MDB4NjAwQDg1IiwgIDU2MjUwLCAg
ODAwLCAgMzIsICA2NCwgMTUyLCAgNjAwLCAgMSwgMywgIDI3fSwNCj4+ICsgICAgeyAiMTAyNHg3
NjhANjAiLCAgNjUwMDAsIDEwMjQsICAyNCwgMTM2LCAxNjAsICA3NjgsICAzLCA2LCAgMjl9LA0K
Pj4gKyAgICB7ICIxMDI0eDc2OEA3MCIsICA3NTAwMCwgMTAyNCwgIDI0LCAxMzYsIDE0NCwgIDc2
OCwgIDMsIDYsICAyOX0sDQo+PiArICAgIHsgIjEwMjR4NzY4QDc1IiwgIDc4NzUwLCAxMDI0LCAg
MTYsICA5NiwgMTc2LCAgNzY4LCAgMSwgMywgIDI4fSwNCj4+ICsgICAgeyAiMTAyNHg3NjhAODUi
LCAgOTQ1MDAsIDEwMjQsICA0OCwgIDk2LCAyMDgsICA3NjgsICAxLCAzLCAgMzZ9LA0KPj4gKyAg
ICB7IjEyODB4MTAyNEA2MCIsIDEwODAwMCwgMTI4MCwgIDQ4LCAxMTIsIDI0OCwgMTAyNCwgIDEs
IDMsICAzOH0sDQo+PiArICAgIHsiMTI4MHgxMDI0QDc1IiwgMTM1MDAwLCAxMjgwLCAgMTYsIDE0
NCwgMjQ4LCAxMDI0LCAgMSwgMywgIDM4fSwNCj4+ICsgICAgeyIxMjgweDEwMjRAODUiLCAxNTc1
MDAsIDEyODAsICA2NCwgMTYwLCAyMjQsIDEwMjQsICAxLCAzLCAgNDR9LA0KPj4gKyAgICB7IjE0
MDB4MTA1MEA2MCIsIDEyMjYxMCwgMTQwMCwgIDg4LCAxNTIsIDI0MCwgMTA1MCwgIDEsIDMsICAz
M30sDQo+PiArICAgIHsiMTQwMHgxMDUwQDc1IiwgMTU1ODUwLCAxNDAwLCAgOTYsIDE1MiwgMjQ4
LCAxMDUwLCAgMSwgMywgIDQyfSwNCj4+ICsgICAgeyIxNjAweDEyMDBANjAiLCAxNjIwMDAsIDE2
MDAsICA2NCwgMTkyLCAzMDQsIDEyMDAsICAxLCAzLCAgNDZ9LA0KPj4gKyAgICB7IjE2MDB4MTIw
MEA2NSIsIDE3NTUwMCwgMTYwMCwgIDY0LCAxOTIsIDMwNCwgMTIwMCwgIDEsIDMsICA0Nn0sDQo+
PiArICAgIHsiMTYwMHgxMjAwQDcwIiwgMTg5MDAwLCAxNjAwLCAgNjQsIDE5MiwgMzA0LCAxMjAw
LCAgMSwgMywgIDQ2fSwNCj4+ICsgICAgeyIxNjAweDEyMDBANzUiLCAyMDI1MDAsIDE2MDAsICA2
NCwgMTkyLCAzMDQsIDEyMDAsICAxLCAzLCAgNDZ9LA0KPj4gKyAgICB7IjE2MDB4MTIwMEA4NSIs
IDIyOTUwMCwgMTYwMCwgIDY0LCAxOTIsIDMwNCwgMTIwMCwgIDEsIDMsICA0Nn0sDQo+PiArICAg
IHsiMTc5MngxMzQ0QDYwIiwgMjA0ODAwLCAxNzkyLCAxMjgsIDIwMCwgMzI4LCAxMzQ0LCAgMSwg
MywgIDQ2fSwNCj4+ICsgICAgeyIxNzkyeDEzNDRANzUiLCAyNjEwMDAsIDE3OTIsICA5NiwgMjE2
LCAzNTIsIDEzNDQsICAxLCAzLCAgNjl9LA0KPj4gKyAgICB7IjE4NTZ4MTM5MkA2MCIsIDIxODMw
MCwgMTg1NiwgIDk2LCAyMjQsIDM1MiwgMTM5MiwgIDEsIDMsICA0M30sDQo+PiArICAgIHsiMTg1
NngxMzkyQDc1IiwgMjg4MDAwLCAxODU2LCAxMjgsIDIyNCwgMzUyLCAxMzkyLCAgMSwgMywgMTA0
fSwNCj4+ICsgICAgeyIxOTIweDEyMDBANzUiLCAxOTMxNjAsIDE5MjAsIDEyOCwgMjA4LCAzMzYs
IDEyMDAsICAxLCAzLCAgMzh9LA0KPj4gKyAgICB7IjE5MjB4MTQ0MEA2MCIsIDIzNDAwMCwgMTky
MCwgMTI4LCAyMDgsIDM0NCwgMTQ0MCwgIDEsIDMsICA1Nn0sDQo+PiArICAgIHsiMTkyMHgxNDQw
QDc1IiwgMjk3MDAwLCAxOTIwLCAxNDQsIDIyNCwgMzUyLCAxNDQwLCAgMSwgMywgIDU2fSwNCj4+
IH07DQo+PiANCj4+ICNlbmRpZg0KPiANCj4gTm9uZSBvZiB3aGljaCBpbXByb3ZlIHdoYXQgd2Ug
aGF2ZSBhdCBwcmVzZW50LCBpbW8uIFlldCBhbm90aGVyIHJlYXNvbiBub3QNCj4gdG8gdXNlIHRo
aXMgdG9vbCB0aGVuLCBJIHdvdWxkIHNheS4NCg0KT2sgDQoNCj4gDQo+IEphbg0KDQo=


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 14:59:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 14:59:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642218.1001573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7d4n-0003o6-CP; Mon, 27 Nov 2023 14:59:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642218.1001573; Mon, 27 Nov 2023 14: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 1r7d4n-0003nx-8S; Mon, 27 Nov 2023 14:59:09 +0000
Received: by outflank-mailman (input) for mailman id 642218;
 Mon, 27 Nov 2023 14: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7d4l-0002jd-RO
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 14:59:07 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20628.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::628])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 826209e9-8d35-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 15:59:05 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7849.eurprd04.prod.outlook.com (2603:10a6:10:1eb::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 14:59:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 14: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: 826209e9-8d35-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DD81iWiWbGbHjBIBakaOcZJjJYhRiy/2WEa1kMCOovaEayov0vZXLG4Q9zteAuktKBOFQvasAC/Lwhm3umWl/zsLj6PEgu71AMheYhdZPO+tQqwR6tGC1KQbiWYzElQBLTEH6I/zS+LQ/WWBX6lBWeRYIh0Q3fXLPfEXmbXRV0XHgcSj144QYdGkDPJYNkwZAU4BMR9y8YMuJsZo2oZOmkvsFKeAVIyyHhdyoG+Ba5QXc8JWTYWTUG+BFLr6rDCY5C9EsINcOVbopRzAsfv28+IsSzbjm7S2vnCGnOSFL3u0RyiBjtA8rliedBJiaSIW+pRekx7uHi5kK4/uPaD5lQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=huXVDHiHts0e+I2NQzjcV9hrChBr6RWKEkS+mrK+Ge0=;
 b=fQm5im2dGd+Z2g6yMJ9r7fYhc0vDMatKPcAjghhtDID+rChmOxY+u6fkedurLtZgOd5jN6TC9Wo4t6LXWjhEmIG9Qc9DUW5SJZgXH6Vsq6k2jx+CtZbq/4XqD+r9NUVuRUg/tV9gdY95wqrm0rTFboDLNPk2PTlVEj2zKQq7FdDCuvrDchJzZlDSa8dTzl3LxLiQJLYiW+UJywjPRAV4CISDMqmcXYN30FRnpZLB7M2/MciqDVm5Vg57qdYNpkbrMyg1k9FiPXV5ebgyKf7KF0UKoAO7UQAkNoo3Qyc/xnisz6CqImzhpj3QOONNB7TyraOlW3zrTZ++GjcUrXo2cg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=huXVDHiHts0e+I2NQzjcV9hrChBr6RWKEkS+mrK+Ge0=;
 b=0Fwzg+1cdEGKOYBkHqGMIqWsgoqtjy5xQLPNy1LLER4+ixUpDhDJDmTdBoxLWmmuierivR2AthycCy3JtIItjK276scA7FkCJZoJZP+D7XJufW7iy7TvbkJmyH2UqIzPmo7o79WG7lPROA7ff+Yhow/pom5iSDgFP7wdhaqC+/PHy0FI9UacHDYMySiQIVYV9EeY5rj1a5exJZo9Rk6cFYCeEq5HF/arJDfyp2d3JhCczemOE8MC2uxcJQPYoM4rz6qjtSSPQufcMZK3L5jGjwj8xMwZ491j0AB1JabZHT1oo1E2FlUHkvY9uOvYeq0VUvlEBP/q7luKwXhdxS3BxQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b3e14bf0-def2-4e1c-83f6-a94a203c7b8d@suse.com>
Date: Mon, 27 Nov 2023 15:59:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: MISRA: Compatible declarations for sort and bsearch
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper3 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Xen Devel <xen-devel@lists.xenproject.org>
References: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
 <ca540835e3cce50a852fdf2b3956205a@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <ca540835e3cce50a852fdf2b3956205a@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0114.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7849:EE_
X-MS-Office365-Filtering-Correlation-Id: a05a6dbf-e08b-41d1-5e2c-08dbef59652d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	kNXgG0M5tAA+sz4k80MIjgW9+SNes8zaeyt9JlBeZusxzHAdYgGUgHxyS2pam/sQLBxqnkMhwdU/CRFgFwM/zg4AFxFA56pN58mOCBQ3tT9Lu068gu6og8Ur4xhewYlZTltll6MRUJo3Za+kHGrgEKsUsFHy/fO+N0+mI9P5LX9IGd3EyJuZkXADB5OmrhXwQTaLt6NdDdXtKKL9trzO20fhbe3pQF/BreZg8SR4cOwxCfXgaY6mA6iuVch8VZfuKozjoC/nncyaVTgev0TWyPhSTYXjEaR7ankr1RWitb4ccXDjMb1gJ2yis3glCDjtF1Fe+cTNom/JoPXlkJJ/zegjuymc/W4EFFmm+tbnSh1LTLzvh4zbejVIK4bathlJEz2NL0SyHMIm8uM0JbY+3Jch5g4bXi2ddgwHN5DJeKJCagJaLp/+6sqkBwQ8VAPGeyedR8IPQsgRKIm2Yr2Hd7lEDdmNDSKJ5+oOhfKmOVOe79bWPZB0tOtCSbXeHC8CdpAAGHf8lLlnjNNpKGCXVmoSZWFSneLITmYXslB3aBhS9ZUzD/p2vUjxW2DwsLVJFs6U95cVnWz7oYgW5oAv6+gUDaFmrBNsu9sCaHHJerkyVEz8ildAyYREviot3RE50kHsFgCK4xvu54h/xxQROg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(396003)(136003)(376002)(346002)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(38100700002)(31686004)(4326008)(8936002)(53546011)(6512007)(6506007)(8676002)(66556008)(66476007)(66946007)(6916009)(54906003)(316002)(31696002)(5660300002)(6486002)(86362001)(478600001)(41300700001)(2906002)(36756003)(26005)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZDdGbEdXUDdVN2dPRmlvUllWOHo4cE43Y0ZTZW91SUc4TjVqYU82RWdDR2l1?=
 =?utf-8?B?cDljL00rK09sT0JUK1R5cFBGaTNURW90SkNBb2l3QVQ4SFFycnpiNk1XajlB?=
 =?utf-8?B?cllueEFuVnU0ZWNtUTJ6V0VWNU13dGRkMS8yenArZStySm9OazA1UXBvYldC?=
 =?utf-8?B?V2RseDlKcFVCeFpvRTNrT0U5UHN2Y3cyZFptVWNWczE4Yi91L3dpNW1qRi9v?=
 =?utf-8?B?ajZGNFJ5bDZtUEJIbTQ4Yk1xTmhOVVFhVERxMmFpQUI3dUpYYW5jZnZ6ZHpv?=
 =?utf-8?B?TzlsMVkycHp2VWx5MVYyMkpHOExEd1pSMUVMNHdVRlMyc1FUTUZyMFF2Y01I?=
 =?utf-8?B?dk5xUXpndk9XenVuRGo4dDBvTDBySXg0UldsM3NnZkwwRmdRK2NPT0hDUk43?=
 =?utf-8?B?MHl3QnpwVzVHd00wV28za0VVUU4wbndWM1lIdysxRVJvLytYQUZWSGorZmxj?=
 =?utf-8?B?eDVsL3FqRGZiVWh1aU16TTl0NGZvL3pXTFFiaDJsWEhaUXJURkY2Y2Ird3NJ?=
 =?utf-8?B?d2NFZkxZOEJ5aWkxQm0rMStWcE01L3lXaWVaQ25yeFkrTi8rUVoxcG9SdEIz?=
 =?utf-8?B?bGUybHRuMTJsSVFsYWNwUC9NWDh2bE9wVitub25NL3d1bU85TXVkTmRWanA2?=
 =?utf-8?B?a3lWVWsySUlNdnMyWlF3WlVIenUwcDRLaWRSMThnY1NlSkJLRlpGck13M3pJ?=
 =?utf-8?B?NG12RGVqU0tBbyt0Q0dxWUxSeG1SYjlNUHJ2WHphc3ZVS2xlbStWaWhHWUZh?=
 =?utf-8?B?RUxaVHd2R2tJZ044TnVxNERwSzJkSDRGN1VQRHE5OUJSR0cvWk44RnFObitq?=
 =?utf-8?B?bzFpbDdNd2lIdk9kUVl2T2hwNmU0ZHo5VXZQSlErUnRPZkx0RW5sUXBWTWpX?=
 =?utf-8?B?ZWJrTkNYdmFlNGprbWtiNWJhb2JLM1BnM3dCdGdCYWlDc2N3R1FaT0NaK0kx?=
 =?utf-8?B?dlFqOWFybHRrVDdDQ1hheHlkN0NGQUQ4NDJYeHYrWjEyN1pFRVRURjZRdkhD?=
 =?utf-8?B?MGFPNXpkTWw5NzhycHJZbmhXelFSckVoSVFEOVpuczl1M01KR3Q1Zkl2ckkz?=
 =?utf-8?B?VDBVMGxQNTkwaVBvQUZDeFpDZjF1b0N5VmpoeUJQSFBhR1ZqODBEdy94WS9P?=
 =?utf-8?B?R3ZGNndVYlVpUnVoVDBNRS9JS1hTUjl0d3BiWXNoVFdtMVM1RzFjSk4yMG9v?=
 =?utf-8?B?UUpBdzBzbnY0MDdLQ0o3WWQwdUh3RGNZQW00SzVVZDhVSFMzS1R3RDR0TFFO?=
 =?utf-8?B?N2FDRzY4aVBvbFZxd0Qwc3R5d0h5QlM2YlpqazhTaUdwZGliaGxabEZ4NGxJ?=
 =?utf-8?B?aDZmUFcxZVY5R1ZTMCsxb0tvT3VKL1JuUkFHakV2Q0ZFTHpUTGJyNlZWYkla?=
 =?utf-8?B?V2ZzUG05dVliNkRTTUI3OWZJSDkydFBpRzVFbXRvd0wzM01qNUlBWkF5RDRy?=
 =?utf-8?B?K2VUVUNiSDFkS0ZmaU1YS2F6dnlLREhxQkhPRGNWaTRaaDN6S01BSVRQU0dW?=
 =?utf-8?B?Rzd6aGVFSklCRU5pei9WZ2NtTDVVd0N2ZnZWTkpERnFnVnFSWnphZnNMSTdR?=
 =?utf-8?B?dDdscmc3TkdJd0xlbUpkTVRuTGlRNUgyc1ljSDN1YU8zZDY0ckRvMU9IZHJV?=
 =?utf-8?B?YnFJbUg3NHllZithczNBVXQyR1h6UkhkOE4zSlRpWDhuQkJyRjhsVlBWdHRx?=
 =?utf-8?B?NVdQYXhOeUlTSm9kSTNsMHRlOW0yZm9nR2NnekZuTEhacjYzWXhRSW9WWmxn?=
 =?utf-8?B?WThEWFhQNXJRK0ExbHJxM0FmR0hOZlUxYk9TczRMaHJGWUdTUkNsRUoxS29R?=
 =?utf-8?B?M2szYlVLMHRFNzBScjJDTENBQTRNQ0kzR2NKT3lQQmVGSVFUNGdQajRmMmhH?=
 =?utf-8?B?RG5kREkrSHhGTWl4WWx2dklOajRrYWpEd0hYZmNQWGhNVElJQUFsaWFQS25S?=
 =?utf-8?B?VHdRcHE1cWtDYXo5bG9mWTAwNVRkK3ZtcnhMaG42Y29JK3RrQ0VUdU9ERHZy?=
 =?utf-8?B?OFF3U0NlMVBiNXN1b2toSk1zQ2dQWXZGMkgwYy9XNTNjdmZUSVd4bm9OZ1JD?=
 =?utf-8?B?Q25jSnlaQnM5Z1NNcUc3YnB6ZWhQL3R1UW9LWWpzLzFHMmQ5RkdrZnNBdUJq?=
 =?utf-8?Q?LIRAktP58kruNVH9CLzkocU9Z?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a05a6dbf-e08b-41d1-5e2c-08dbef59652d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 14:59:03.5813
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: wcsYJJcGTuwZ4bItPOgaw4a+2UnHvVGXMUCZTDgukOOmLA3lPkScoXmb4huePtdKMuPYMoANkuZZiHtX11tBHQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7849

On 27.11.2023 15:32, Nicola Vetrini wrote:
> Still on the matter of Rule 8.4, though not related to bsearch or sort:
> 
> - the definition of do_mca in x86/cpu/mcheck/mca.c has the following 
> header:
>    #include <xen/hypercall.h> /* for do_mca */
>    which in turn leads to x86/include/asm/hypercall.h, which includes the 
> following:
>    #include <public/arch-x86/xen-mca.h> /* for do_mca */
> 
>    where I can't see a declaration for do_mca, as I would have expected. 
> I'd like to understand what's going on here, since I may be missing some 
> piece of information (perhaps something is generated during the build).

It can't possibly live in the public header. The comment simply went
stale with the auto-generation of headers; the decl is in hypercall-defs.h
now.

> - x86/traps.c do_general_protection may want a declaration in 
> x86/include/asm/traps.h, or perhaps it should gain the asmlinkage 
> attribute, given that it's used only by asm and the TU that defines it.

Neither is really attractive imo.

> - function test and variable data in x86/efi/check.c look like they 
> should not be MISRA compliant, so they may be added to the 
> exclude-list.json

This file isn't contributing to the final binary.

> - given the comment in xen/common/page_alloc.c for first_valid_mfn
> 
> /*
>   * first_valid_mfn is exported because it is use in ARM specific NUMA
>   * helpers. See comment in arch/arm/include/asm/numa.h.
>   */
> mfn_t first_valid_mfn = INVALID_MFN_INITIALIZER;
> 
> and the related ARM comment
> 
> /*
>   * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
>   * is required because the dummy helpers are using it.
>   */
> extern mfn_t first_valid_mfn;
> 
> it should probably be deviated.

NUMA work is still in progress for Arm, I think, so I'd rather wait with
deviating.

> - compat_set_{px,cx}_pminfo in x86/x86_64/cpufreq.c are perhaps declared 
> with an autogenerated header?

I don't think so. Only top-level hypercall handlers would be. This works by
(perhaps even unintentional) trickery: xen/pmstat.h is included only after
set_{c,p}x_pminfo are re-defined to compat_set_{c,p}x_pminfo, so the same
declarations happen to serve two purposes (but of course don't provide the
intended caller/callee agreement).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:00:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:00:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642222.1001583 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7d5y-00062O-M7; Mon, 27 Nov 2023 15:00:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642222.1001583; Mon, 27 Nov 2023 15: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 1r7d5y-00062H-Ix; Mon, 27 Nov 2023 15:00:22 +0000
Received: by outflank-mailman (input) for mailman id 642222;
 Mon, 27 Nov 2023 15:00: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7d5y-00062B-0k
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:00:22 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20611.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae7d6463-8d35-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 16:00:19 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7849.eurprd04.prod.outlook.com (2603:10a6:10:1eb::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 15:00:18 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 15:00: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: ae7d6463-8d35-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eFOT0IVIqdWAGgZq2Ev0yAB/MGv2jseL8dLKPEwRiMKmk6yKLcTroRE27nd+d9O5VVFpa/To5ReVpadhL/MJKWmWquJJtApDQ138ldZ8LvT8/uTXQ/HekSMDFVxIOLKaFVLL3WWUGxaX3v5AS3aqtREybw6hUp0fG75G1DOYM6J6pK0vJYZki62yXTbN5qtGpE1f3r9yqFVjErcXR8K3WcJZ+EZ8OFtJAz9XT98Yvb0fEC7AP1TiqpXEl1uEYCPBrxJHYluS4Rcj/x6GiHDTKfvWtGezoQd713oqlN4YueQzlYcku2XjIKFrI907h6GpwTVCTeyiGF+Fa6DnpnfsOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Ct7P1ZefeVRNmwR3+WVJwm8Vyg0MFXdJNKq8bsClr84=;
 b=e0YzO76KKeW3Wr7ONHBY7vBPm+utWGnFUdH9nPtCfKTOjCfHK2EIuMGVAW6GHQON39G4tCa7aFVb43ZOhUylfrwtQqoQdBR0Wucl2XiQbqKOSqRULt4MdGiWPY6Nd6q93fEZtxXGdfdaaRYHdy73XLmq89+NZTbnL2EbgVZioMd90CLkS1e7hW5cXHpIYMMYavV18rRYfYJfJs8uPePtSeb1SPOxgo6cq30sNfJy5JJmXWNf8w5ak2ga2PVikPjBGCapRY+S7Hbfx/mnMKoO/4YX3G7nad1oAsOIgBFgNI2TBITbWabM35JhshlJcn+5nu9d4elh2qHElUqw7G+2PQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Ct7P1ZefeVRNmwR3+WVJwm8Vyg0MFXdJNKq8bsClr84=;
 b=p1MjDzkSRvwFTahH2H96k5N/fpsFi4RTRf70Jsc9k3f9XWSj3lOo8GYR51x3cZ/87qJWoHYxBwNI+3ivrMbZ/xZjYTTheKg+ywbscnU7TiQ5+KUFy057hPvNGthDrcHkb7JpLbf/FDQ6mmSJLscYt1+kPfFLN+J+MohsKrGGCrnIlvCbPu4kx7NZHL7bFulHdFRlaT/UskkvR/uA9Hma5DPn4HnpAVyZeyfvcmuwTqkHx0YkW3VTnpsvu7YyXByHKHL4GUB0HAFw4kt5d7ObII4HkvJDu0Mg5BycMfIsFktMsL3MeEHnet+XFOGPy64Ju1zAvVYtDkDxPu1txPH/lQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <1b2da249-254d-4879-aa16-9ea7f39d1259@suse.com>
Date: Mon, 27 Nov 2023 16:00:17 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/xen: fix percpu vcpu_info allocation
Content-Language: en-US
To: Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org
Cc: 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>, xen-devel@lists.xenproject.org,
 Juergen Gross <jgross@suse.com>, linux-kernel@vger.kernel.org
References: <20231124074852.25161-1-jgross@suse.com>
 <69ba2a99-90f7-4d39-afc6-971b0867a1c8@oracle.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <69ba2a99-90f7-4d39-afc6-971b0867a1c8@oracle.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0114.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7849:EE_
X-MS-Office365-Filtering-Correlation-Id: f3e24329-d377-46a3-d098-08dbef5991c9
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:
	idaUIww6wBycVJ7b/XAEO/FT6++U0Qd5Ir0tijwDk2TKa5oRyMuD9Y8NBEFFTNplxvK1zTcgoVhmqYY7ynuZBuSA417l7SrgDk/VyWrC4WABkAl5gHR3j1wLLBwtw50jiMP0fkjoZH9gvIc6Fy4HztPXV6ObmSCaEV81Y9R74dI+sRmI+4eD8gVVV90KTo4umhtEuTruk6Cte0USRwOBcOrSOXeT4U3kqLsezMvDJUc+p9eFyMCsTLya2NUFLstomnmthKl2sjTxttUOPHJgiBYCIXqYTJ+J5WTLYAiLUcioVn0WM4GhvgJOHk55wA4rLlSyOMCz24wu3TEwnQWjB0Oozzd6FELuyA1XEq7jb/EKcorE8mMzNBcOxDtBhm1554jK8N3bqkMQWAy0nPjjE7QXlweWG4I8IZoaSxe7F3S6+8um+6LvR78rfZDXL2td+p70jcedgdXtvTUHbUNyIldcFxmDnA2mzapxOkLP6pIa4jSMsiubmAktWUr6nPeHQ2ME0rq2U8wrxIYLiEnDG58JtFPAkxuA8sxU9pGR04Zrqqa/44Z9t7A4K/o6zetfEq26JtSBh+94vzVyFWN55XR2fiyfXZgPyDMAXchC0kVe9wEMCmoLSdXKyK1aXxGhQVopinU9gTasL5LVIRCJmw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(396003)(136003)(376002)(346002)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(38100700002)(31686004)(4326008)(8936002)(53546011)(6512007)(6506007)(8676002)(66556008)(66476007)(66946007)(54906003)(316002)(31696002)(5660300002)(6486002)(86362001)(478600001)(41300700001)(2906002)(36756003)(26005)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?clRmdXlwOTM0R05UVjZpMDhCaXpQbWNBSnBmVzhramE3emlNM2VNR0VFTTFx?=
 =?utf-8?B?bUZyK2lxTHcwN0w2T1hsWHZXRS95VU03ODAvQWU4WUNLSjlDYnFOTTBzTnRk?=
 =?utf-8?B?aGtEU3JnU3hDQ1RGc01tYi9XZEJSYWVJRGdwZDZ6Sk50OFhvWXpHVVFER0dQ?=
 =?utf-8?B?VnJ4NjVIU1M0S1ZSdU5DSGN2WWE3N0x4bWROcEZXK0lqQWJEb0RLaHQwMW96?=
 =?utf-8?B?a3pQY0JuVlhuYmlkcDZ6ZjZudHFOVVZZa1FGNXVXc3NtWnJ4cjA0RWhsanVE?=
 =?utf-8?B?Q25kV25WUHpnOUY4Unh1QUlrdENEMkh1RHV3TjV0SUFJQUpyMXRvaDNGS3Ey?=
 =?utf-8?B?THV1MXAwL3ZsN3dNUi93N0RSRHRzTzdVbDZOMzJBbzhBeko3b1RpVG5VRHls?=
 =?utf-8?B?N1A0WWtldnQ1dDc5b2ZUUFMxVldYODZtY09pK0pLVC9aay9wdEJxT0FzNWRD?=
 =?utf-8?B?UnBFT04wNVRlcjFlQXlDOVc0Q3RIeGZFSEl4a2dLYkh3eFRpUzlMRURZdlVX?=
 =?utf-8?B?RGtEbjFuakxwM0Y0V1ZES3RoblBLRnZ2L0xKY3Z2dy84K2VRY0RaTHZMeS84?=
 =?utf-8?B?VWdMYks0VkhWeHhDSkE0Q1hTKytzOHpvT0NnT09adGd1cnQ0QjBpOEgvT0h4?=
 =?utf-8?B?VnVTOGhNTzM2NGgzcXRKT0VzUm5QSmppRy9qZCtESENPRjZzUFRHS2gyOXky?=
 =?utf-8?B?MWRDQ0VGR2NlbjZRVGI3WGZZdndXcXRmSFFQVUhhOUVMNGxkN2M2RHV6K3NR?=
 =?utf-8?B?SnNNeTJlRmJVNUQzcit5cTgweDZUdUJqNitKYU1kR3l6ckUxbDVKZk9NTWcw?=
 =?utf-8?B?d0RpNTFmODV3dHRBRWRwaENXYTc5d29KRVFKeXlueUhyWng1dnNHYm1ReFRF?=
 =?utf-8?B?QWtLSEZqUjgzaXE5UGtPY3ZJRXFtVzVNeDJtMnhzNlJoOFZocTRjT240cnh6?=
 =?utf-8?B?SWNKM2lDMFpoNmRtWFZWS3Q3QlNIaElseXFQZHVvWFAxOStJU0JPNWRjSmRG?=
 =?utf-8?B?Zm5saE9wMFg3LzNheHQvbGphNEw1clN0dXlKaXorc281cHFXczlXQWVxaTVX?=
 =?utf-8?B?ZzRRZTZKeHpoZW9NRktiRUJEYmIzQXNMeEtFOUxoV0RITEJwRFpwSkFXWFIy?=
 =?utf-8?B?STdyMVlmd3JIamxsMmxyVm4yN1dGVEUwaWtobDZjbGRBc1IvSmZ2MGIxTlYw?=
 =?utf-8?B?UUk2RnFxckZKdkJMM0ZMa3ZYc09udmZKMThnV1pSZGtpWFBlVVNoL25ZUmVO?=
 =?utf-8?B?M1pwdURIT0FtOHZLYTROSkxnRWVSMVF0OENOeTBhVFR3QzljY1RGQUtKeG1x?=
 =?utf-8?B?RUdQOHpIUm16M0UvaDlUWUt1cFpNTFlNbk5iZ1lDVmU5Q3JRckN2VlR3SGRJ?=
 =?utf-8?B?U0dlVEJJOStNWVczSCtsWDhkQTRTVWxQbkZmUWxRY051eVArb0lYWnA3YURX?=
 =?utf-8?B?dWtVQ1dnUHlYemtqK0xodzJnNEtsbnRrdTFlSEYvanJXOU01V29jMlJOQnRy?=
 =?utf-8?B?b2wrYWtPZzE5NG1odjRsY3hZeFBJUThjeFYzTHI2MWtZNGh3c0kzRTBSTzM2?=
 =?utf-8?B?V0hFQ29DdHNHNlk5S1ZMR3gvbVd1SUgrcGtQeThwaGh6dElKcHg3OHRYZm1i?=
 =?utf-8?B?REJyY3ZRLzExWjVFQ1Z0U1ZJNTF1dERtQ1AwQ2U4a3dVY2NVZEgybktUU3Az?=
 =?utf-8?B?OFMyazIxWGcvVC9KNHBZT3B2U0NxNXlDVU9idERvYTFFT2lvYXFHaERSbDFV?=
 =?utf-8?B?TmsyNzBUWk9zeEViNWpaWCtDeUpVMTJjREdrNGdSaXFVaUM2MG5yNFdVNTQ5?=
 =?utf-8?B?ZFZ1QTkvNjBURDMxV1YwZUVBdzZhVElwNXNqZWI4QzlJc3AwWmdOOVNLNVV0?=
 =?utf-8?B?OTk0WURua05GeUczZVdKcm5jOUtVZjQrNGxteStVeXdUbTdiRTBvSDhTMmth?=
 =?utf-8?B?cUFxcThHQnd2cHRGR1dDbjF5SEpoZ3ovM3ZBL2szRngrZjk1U2IrRUYvYStR?=
 =?utf-8?B?SVR2eVNPTnNKaUdsdXVLVHE3TEhvQm53bVc3d2E2VlYxZTdvR3g4M0M2SU9N?=
 =?utf-8?B?TTluQUUwMmdsaWFLc01KbFRrTW13dUZLSE1tckVkNTBUVUdWMjZPOFZQbnh0?=
 =?utf-8?Q?6rccZaksS6k/RVbvThCm65GtO?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f3e24329-d377-46a3-d098-08dbef5991c9
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 15:00:18.1426
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LV4K3R1ixdv/lpZ77Jk6jlmwEfmQ0y/XJ8GzLKS0rZ53AmImhK438r8nhEFWEB3baDFreYLvJsDaiYKAvrXYVQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7849

On 27.11.2023 15:57, Boris Ostrovsky wrote:
> 
> 
> On 11/24/23 2:48 AM, Juergen Gross wrote:
>> Today the percpu struct vcpu_info is allocated via DEFINE_PER_CPU(),
>> meaning that it could cross a page boundary. In this case registering
>> it with the hypervisor will fail, resulting in a panic().
>>
>> This can easily be fixed by using DEFINE_PER_CPU_ALIGNED() instead,
>> as struct vcpu_info is guaranteed to have a size of 64 bytes, matching
>> the cache line size of x86 64-bit processors (Xen doesn't support
>> 32-bit processors).
>>
>> Fixes: 5ead97c84fa7 ("xen: Core Xen implementation")
>> Signed-off-by: Juergen Gross <jgross@suse.com>
> 
> Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.con>
> 
> although I am not sure in usefulness of BUILD_BUG_ON --- 64 bytes is part of ABI and hypervisor already has its own BUILD_BUG_ON for this.

I understood the check to guard against SMP_CACHE_BYTES < 64.

Jan

>> @@ -160,6 +163,7 @@ void xen_vcpu_setup(int cpu)
>>   	int err;
>>   	struct vcpu_info *vcpup;
>>   
>> +	BUILD_BUG_ON(sizeof(*vcpup) > SMP_CACHE_BYTES);
>>   	BUG_ON(HYPERVISOR_shared_info == &xen_dummy_shared_info);
> 



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:06:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:06:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642230.1001592 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dBh-0007zV-8o; Mon, 27 Nov 2023 15:06:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642230.1001592; Mon, 27 Nov 2023 15: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 1r7dBh-0007zO-6A; Mon, 27 Nov 2023 15:06:17 +0000
Received: by outflank-mailman (input) for mailman id 642230;
 Mon, 27 Nov 2023 15:06: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7dBg-0007zI-ED
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:06:16 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 823c4cd9-8d36-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 16:06:15 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 1275821ADA;
 Mon, 27 Nov 2023 15:06:14 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id BC18E1367B;
 Mon, 27 Nov 2023 15:06:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id m35BLGWwZGVCPAAAD6G6ig
 (envelope-from <jgross@suse.com>); Mon, 27 Nov 2023 15:06: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: 823c4cd9-8d36-11ee-98e2-6d05b1d4d9a1
Message-ID: <b56bed44-6c53-4c5b-9fb7-724c53d41287@suse.com>
Date: Mon, 27 Nov 2023 16:06:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/xen: fix percpu vcpu_info allocation
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org
Cc: 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>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
References: <20231124074852.25161-1-jgross@suse.com>
 <69ba2a99-90f7-4d39-afc6-971b0867a1c8@oracle.com>
 <1b2da249-254d-4879-aa16-9ea7f39d1259@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <1b2da249-254d-4879-aa16-9ea7f39d1259@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------XdrODNnIQ0utYjMdAAU3P5Wx"
X-Spam-Level: ***************
X-Spamd-Bar: +++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:97 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-0.01)[48.79%];
	 HAS_ATTACHMENT(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 ARC_NA(0.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 RCVD_COUNT_THREE(0.00)[3];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[10];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Score: 15.00
X-Rspamd-Queue-Id: 1275821ADA
X-Spam-Flag: YES
X-Spam: Yes

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------XdrODNnIQ0utYjMdAAU3P5Wx
Content-Type: multipart/mixed; boundary="------------0hmfHqVASUx9LCqKULP0yYEz";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>,
 Boris Ostrovsky <boris.ostrovsky@oracle.com>, x86@kernel.org
Cc: 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>, xen-devel@lists.xenproject.org,
 linux-kernel@vger.kernel.org
Message-ID: <b56bed44-6c53-4c5b-9fb7-724c53d41287@suse.com>
Subject: Re: [PATCH] x86/xen: fix percpu vcpu_info allocation
References: <20231124074852.25161-1-jgross@suse.com>
 <69ba2a99-90f7-4d39-afc6-971b0867a1c8@oracle.com>
 <1b2da249-254d-4879-aa16-9ea7f39d1259@suse.com>
In-Reply-To: <1b2da249-254d-4879-aa16-9ea7f39d1259@suse.com>

--------------0hmfHqVASUx9LCqKULP0yYEz
Content-Type: multipart/mixed; boundary="------------iV3YD9swX4Zfdz9PKrwAOpIr"

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

T24gMjcuMTEuMjMgMTY6MDAsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyNy4xMS4yMDIz
IDE1OjU3LCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6DQo+Pg0KPj4NCj4+IE9uIDExLzI0LzIz
IDI6NDggQU0sIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gVG9kYXkgdGhlIHBlcmNwdSBz
dHJ1Y3QgdmNwdV9pbmZvIGlzIGFsbG9jYXRlZCB2aWEgREVGSU5FX1BFUl9DUFUoKSwNCj4+
PiBtZWFuaW5nIHRoYXQgaXQgY291bGQgY3Jvc3MgYSBwYWdlIGJvdW5kYXJ5LiBJbiB0aGlz
IGNhc2UgcmVnaXN0ZXJpbmcNCj4+PiBpdCB3aXRoIHRoZSBoeXBlcnZpc29yIHdpbGwgZmFp
bCwgcmVzdWx0aW5nIGluIGEgcGFuaWMoKS4NCj4+Pg0KPj4+IFRoaXMgY2FuIGVhc2lseSBi
ZSBmaXhlZCBieSB1c2luZyBERUZJTkVfUEVSX0NQVV9BTElHTkVEKCkgaW5zdGVhZCwNCj4+
PiBhcyBzdHJ1Y3QgdmNwdV9pbmZvIGlzIGd1YXJhbnRlZWQgdG8gaGF2ZSBhIHNpemUgb2Yg
NjQgYnl0ZXMsIG1hdGNoaW5nDQo+Pj4gdGhlIGNhY2hlIGxpbmUgc2l6ZSBvZiB4ODYgNjQt
Yml0IHByb2Nlc3NvcnMgKFhlbiBkb2Vzbid0IHN1cHBvcnQNCj4+PiAzMi1iaXQgcHJvY2Vz
c29ycykuDQo+Pj4NCj4+PiBGaXhlczogNWVhZDk3Yzg0ZmE3ICgieGVuOiBDb3JlIFhlbiBp
bXBsZW1lbnRhdGlvbiIpDQo+Pj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdy
b3NzQHN1c2UuY29tPg0KPj4NCj4+IFJldmlld2VkLWJ5OiBCb3JpcyBPc3Ryb3Zza3kgPGJv
cmlzLm9zdHJvdnNreUBvcmFjbGUuY29uPg0KPj4NCj4+IGFsdGhvdWdoIEkgYW0gbm90IHN1
cmUgaW4gdXNlZnVsbmVzcyBvZiBCVUlMRF9CVUdfT04gLS0tIDY0IGJ5dGVzIGlzIHBhcnQg
b2YgQUJJIGFuZCBoeXBlcnZpc29yIGFscmVhZHkgaGFzIGl0cyBvd24gQlVJTERfQlVHX09O
IGZvciB0aGlzLg0KPiANCj4gSSB1bmRlcnN0b29kIHRoZSBjaGVjayB0byBndWFyZCBhZ2Fp
bnN0IFNNUF9DQUNIRV9CWVRFUyA8IDY0Lg0KDQpZZXMsIHRoYXQgd2FzIHRoZSBpZGVhLiBC
ZXR0ZXIgc2FmZSB0aGFuIHNvcnJ5Lg0KDQoNCkp1ZXJnZW4NCg==
--------------iV3YD9swX4Zfdz9PKrwAOpIr
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------iV3YD9swX4Zfdz9PKrwAOpIr--

--------------0hmfHqVASUx9LCqKULP0yYEz--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVksGUFAwAAAAAACgkQsN6d1ii/Ey+/
UwgAlFNFS1VXA0AUsh5ZQUX011sd7nFPanyX76Owp8ZFEHmShxHRpAlZQLKsVtY7m0G22+b7pT8p
VlpLHRMRW95pAhEUm8WaHJV7DvTcKVvZmDFr2v53CvbLq+HT1wogQ7o+vtRdzDc4HaIWfkoVB3zC
7eZy0VjcIbj22ZW21B163OCnGUXCRTWlgS1hZUSeLDXlXVoYPlIi2z1YV+eE0umzEgOgkryvD8g2
JVzBtDm3Xn6zEYuPjAGIlv6ddq+LDu3M9MMqqbWphbHqBsNaaPYBJ3aIr8eA4nbmHnqVWI0kW7XW
lDKPWvGmYCy6OvUMTIz/YNgF+rs2CyGENWj2LpiTxg==
=qARG
-----END PGP SIGNATURE-----

--------------XdrODNnIQ0utYjMdAAU3P5Wx--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:09:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:09:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642234.1001603 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dEY-0000jq-QP; Mon, 27 Nov 2023 15:09:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642234.1001603; Mon, 27 Nov 2023 15:09: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 1r7dEY-0000jj-N0; Mon, 27 Nov 2023 15:09:14 +0000
Received: by outflank-mailman (input) for mailman id 642234;
 Mon, 27 Nov 2023 15:09: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7dEX-0000jb-1p
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:09:13 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061c.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebbc80b7-8d36-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 16:09:12 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8955.eurprd04.prod.outlook.com (2603:10a6:20b:40a::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Mon, 27 Nov
 2023 15:09:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 15:09: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: ebbc80b7-8d36-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=U2qobQhoI5Pz5XD8CkBOuzmtid/zbLPXT86ENh5hiX7bQsnr8ZCXjyRH87N7cIi7GSxpkf63xdzapqOlxATJVBZh2qAgqZgHHmbhgP24NuOfwq/T9Gg3lRnyxAruSsT1PO43PlvehQ6UVhqItsI2YySGPqFu/VYlGuuBQWDMCnELI6ko3eu7SfjM2yTYilYvz+p5ma7L4wiLoS2Ghqnfj91I97l/Sz27yJv6Cpdpp4Znv8zGFC/sCaJdMGLKahbHKTaaz+usdhuWdsSgH4/Czyto/R/2QfN4WgOLk2tV4jaQ15AOjsamYpg7eqh2KYlFinHRgREM6TH2iTAAcEYJOA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3Xf5m2xX9f8b5p9mAKnkR6dtaoQH3jHgBBjvglAj/C8=;
 b=dNS27vXitN7WZVZT9eo8aXvx8H8TlOVjJ6n55dYNdMpHMHAtYMns6yHkSpBicODwx/Eo0U8RWCGhCnSTh5PTbfEPi5jIUOF03OPGOwBkBBrJSeN6sMdeo1bnvnlI48jGTidVUt8TeCGOQgog7TfH2YeNIcyTZDptwadJQ/5r/R7qZm5ftkYD1M2AqKbCzOLhKs7wnKDCa24p+MScIHcYVN7hCvq3+1ZoNUggcUmWPXWcdm2sZfNCrsjXhCYroUUo5E1jkcOYhK3ylMMLhVrHyGYhfR6yS+va0Bit+nOFcMW+mxMj1avkHEyzw52eyX/vXC4vzV20OB/ey9ZQDwS1iA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=3Xf5m2xX9f8b5p9mAKnkR6dtaoQH3jHgBBjvglAj/C8=;
 b=xay2vEBnNn+VwWllsR443EB2yKbCb9JUQN33kXI9ubcechNyzHKjkc4w4vs07qn6f2zBH570qUXbscB9CQV9XEABx8Xl2BYldETM8ZSAWsI35VSYnMdkEaD4MZ22qDJAiKqh803nFD6sNOAzwNS5tR0EAJG/L7d6w3Qt1RmQMYrJocV9HNYaniCmba+Wmc/QNcu6bMp05vGfhbaBLHwMBUFkRgsl1hMlNPstt3U1h5pYhJ89xuyaChTdNgkF3KgM020uDiVVvNRBYtfVDowWO40bHi5r5UCLGGNeBwTc4zi35l+RkhF2RUglmwd0LozyoasJZ8qxzpf0pRnk+EpoYg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <497617b3-6a86-46bf-99ea-2b2f1bdf9d97@suse.com>
Date: Mon, 27 Nov 2023 16:09:07 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/3] xen/arm: add SAF deviation for debugging and
 logging effects
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1700844359.git.simone.ballarin@bugseng.com>
 <761ce615438312ca5d37fb8829a0ba903375392f.1700844359.git.simone.ballarin@bugseng.com>
 <ec587cf6-088b-4142-8067-4d9d67fc58c1@suse.com>
 <59744708-c2fb-488c-9e6b-e47faf7a8007@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <59744708-c2fb-488c-9e6b-e47faf7a8007@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0031.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f3::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8955:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c06743a-825a-4d74-9eed-08dbef5ace65
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:
	9hoSuaQm4JPr1lSAopaVK/vUqhiVUdKgNt/8baHvmsJtG9dmrH4PGKxKklwAM8B5+oyP0U3bjoT4t0pqLah9kGXsNyZOCjY/OLAnlOXmUkFEwpi3h5kQUnrMRK1AtjHBI2Zqh711lRkbtGgsLmllF2WJu/ySwx8LJln0oGcr1sSfVhjyIU9y7eSvyZgaWtsS1XTPJkEcTqTJjIChJaC0pL6aj9s4aJ108tfzg7Mnd9NZCnw5JlCEtrRQ/wDjSyFQt4+yxR02BYQmwKHzl4gFjIbaOoakXF0aAC5pPogGaSSrh3TU5Oy5z0q30wran3yM3mLNBN8wvYX0KY98YTkWGHuffxxIrF3nYAKerVrs68T8gPs9Kk2uQUdHtpYRG3Urq3oCTCJayuxti8A1iuTEHtlVr/2Hz4bvJAm2sYxaCFD3RkV6UE+2MFg1lEmaDSrXfNuDENYxVQfl9t84uS5bwohbTelzxu3puwLRl0zHUgjen8CzVmv1uUS0HkKRnycmvR6Fe5GlC1pfe8k4jEpdNqzjYpUD9TzGTouzfiYeguHQciQ9OsTF2+3rabbuV9zdIO1pwF4Elhiuh6BvVafqjFWpPqfUc9ZCVWHrICqqXWAifW+SdqjbMkyM+JbYZ3pu1vXKQjdGeyNZfXsQVYZrzg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(366004)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(31686004)(26005)(66899024)(6486002)(2616005)(6506007)(53546011)(478600001)(6512007)(38100700002)(86362001)(36756003)(31696002)(5660300002)(41300700001)(7416002)(2906002)(66946007)(83380400001)(66556008)(54906003)(4326008)(316002)(6916009)(66476007)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?clpqbHRlUXJ3a0orSWVtcTFub1JaMmdNYzlEN3BiUkVvRFdJeHFtWFhZbVMv?=
 =?utf-8?B?T0lDUDRBR1pia3dEa09JeDJ6bXBJTU5WVW1YVWpsSDF2em51ODlsNUVsUkNI?=
 =?utf-8?B?T1llaGEwQkRzZzA5STVHTzQrSDd2dVZ4cEd5WTNLMHZUYVFBL3lmc2FxUmpx?=
 =?utf-8?B?cWkrdGZ2eStCTzVDVnVJMkYwdGpTQmZDRGNQblVBTUlycDA4U25jS1I0Nnpp?=
 =?utf-8?B?cXFOZUczNnVxNVRxSStiNVlRVGhLQXZnTGx4RkpMU1RhVlcyYkRJd3AyRWlJ?=
 =?utf-8?B?YXU3WFprcmVsd2ExTVFxeHdaUjd3YTNSQmFkdUxiUFpjQkpsM2ZaTlc2UHo5?=
 =?utf-8?B?QTdwSGVDcmFucG9DRzhiZUR1VnZsNEFsTzRnUmxDQ1QyR1BubnZraEVPYmRF?=
 =?utf-8?B?SXNTUjcyZGNMNWZyUk5vRkRnNWpGdXdRZmNDcG96S3FJcHJmeGU2VlMzSUtP?=
 =?utf-8?B?OTMwM3VSQjNZNFF4L0VEVG4zKzZFYmFDME1aYzIxSXBhY0Y3MkRNTEZXSGdy?=
 =?utf-8?B?YTFNbXYyMXI0NnFDZDVWd09IckJ6SXdjcXRPaWdLY1BhZkxaY2NXRWZhTjZV?=
 =?utf-8?B?TGxFTmFHQXNJSXR5a1hUeEJBRkR3NkRiWUpEeGVyNmdIK2hiQis3UUpmVXZ2?=
 =?utf-8?B?Rk9oNnlGdFRTV0c4MVliWVhtZ3liNHh5SERDaFF4ellpcVc3LzZxOXZlcGtL?=
 =?utf-8?B?aytVa3VsMm9IdGEvd0ZxNXZXck0zVVpSeWMvamVGbWdWS3VPWnNrb0VEeGMy?=
 =?utf-8?B?UndZSWlhaGJNQ3N2YmJyUGtNbXdQS2xDVUltSHVYanFrc2p6RW0zMjNxUjhQ?=
 =?utf-8?B?S2ZyemFWYzd1cUhiWkZXdXJNY2RZRi92bldzS1pFaXhqTFVpcTJaek1xMVA4?=
 =?utf-8?B?NTdwQ2hMMlAweVo2R0hNZytHQm9DT3hPeUhQZXlUTVlxTVVoTTZmUXJQWEdS?=
 =?utf-8?B?RlhaM3ZUVWR1MkFONnRRQTJhVHByMVJQZjdTUGszRTcxSEs3dW5YMjRXWHNh?=
 =?utf-8?B?SkVVeDQ4QUJyT1BuRkVMUXlzditsazdWa2hWUEh4QWpYSDVhTlpRODhvNTZV?=
 =?utf-8?B?RVhsK3czMzJGdmJ6RDd6VU5pV1RzMTljRjVEbUpLZUdycUU0ZStRekxselM3?=
 =?utf-8?B?VkRXQS9CbnJTNEdCQTc3YmpIY2NhdWVtbDY4ejl6Mk1yRVNMSTlhS0R3dkgv?=
 =?utf-8?B?K1h3UmNtcWNsTUVvVU5SV1l3MEJ6YmtNbWhhUEM4bVgwRGhuQStOSHdrTzM0?=
 =?utf-8?B?b1NwWnJ5T01iUjVoWGRLSnhmVHg1VHZLM2JXalVWdHdtTVI2M1NDWGZYZWdB?=
 =?utf-8?B?dkMwTFJOOG8xUEpEd0RjV3M0Umh4bzljNU1aMEpIRmxVWXpRUmpKTVZPNlNC?=
 =?utf-8?B?U0x4cnVibGo0SncybkZRWEdiNVhXSWdiVnZwY1YreDlLVjhsSFBiMzc5Vngv?=
 =?utf-8?B?YnBxTldrZnJPZzZSRXZpaDYwRGs1b05HZW9KbWFyTkZvcG90WmNjY3ViZlNm?=
 =?utf-8?B?TnplaHZoRjNoU1k3cDlBQ0VKS21zcjR0SW9hRy9tWnBsOEhVZG9YUVpLZWdk?=
 =?utf-8?B?WG1MRlhHOGNBYzFSUjUyaFNHaGtoYjlNc2hGTHFycUd4MFFqNnA3Nms4Vmp4?=
 =?utf-8?B?TXZwMTR6Q21EcHp2TTQwVmVnYjNzSFBFaUJTQU4yZ2poaWhiTCtDc0lUdU94?=
 =?utf-8?B?VjZOK0lMeVVNYW5pM3M4ZEU3VjU4YVlkcmdUN2ZodXNZanhlazhJRmNqT1Rm?=
 =?utf-8?B?c01TbE04Y1V5eStXUTZvQ1Q5V0E5N2IyZlhUbmN1STM0Zmc0dzF1SHdhRzJH?=
 =?utf-8?B?TEl5VzczZWdLajVQMWZQS1k5RGkvdzc2STN2UnBHZFV2cHllOWZYN080Uk5t?=
 =?utf-8?B?VHAzb254N05zVTNxNUQvZlZ3Z25NVUUyb00wSVdZT3ZXL1BtQ3NaK1VLRG80?=
 =?utf-8?B?L1d0aE9SQU13YmFWWDRyZXFPd2lVOEtHc3ZVNktGTzdMc2gyL1cvUjdIdnAz?=
 =?utf-8?B?N1dONGEvY1ovTEdEaXlzRjlycDdBWUVaN1FQRysyQk9qZTE0TkN0Rm1RZS80?=
 =?utf-8?B?R0ROdC92WUQ3c2cva01pYlcwdlNxZzZqMEJhY0RUUHFHWER2dnlFc3dNWjl5?=
 =?utf-8?Q?hypCygAziC8r01HHZcBgn3+FC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c06743a-825a-4d74-9eed-08dbef5ace65
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 15:09:09.3179
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OMA1Pf1Glv1I7Myk2NFAwpXhjRx7Mp/2S6HqAYMCkpDcIrL4ZcMNUV3pN8dCqkvdaqQY5wZlaFxFbGU93F+1aQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8955

On 27.11.2023 15:35, Simone Ballarin wrote:
> On 27/11/23 11:46, Jan Beulich wrote:
>> On 24.11.2023 18:29, Simone Ballarin wrote:
>>> --- a/docs/misra/safe.json
>>> +++ b/docs/misra/safe.json
>>> @@ -28,6 +28,22 @@
>>>           },
>>>           {
>>>               "id": "SAF-3-safe",
>>> +            "analyser": {
>>> +                "eclair": "MC3R1.R13.1"
>>> +            },
>>> +            "name": "MC3R1.R13.1: effects for debugging and logging",
>>> +            "text": "Effects for debugging and loggings reasons that crash execution or produce logs are allowed in initializer lists. The evaluation order in abnormal conditions is not relevant."
>>> +        },
>>
>> I'm wary of this statement. Order may not matter much anymore _after_ an
>> abnormal condition was encountered, but in the course of determining whether
>> an abnormal condition might have been reached it may very well still matter.
> 
> Do you object to the deviation in general? Or just to the wording?

Primarily the wording. Yet the need to adjust the wording also hints at there
needing to be care when actually making use of this deviation. Which it turn
I'm not convinced is in the spirit of Misra.

>>> --- a/xen/arch/arm/device.c
>>> +++ b/xen/arch/arm/device.c
>>> @@ -331,6 +331,7 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
>>>           .p2mt = p2mt,
>>>           .skip_mapping = !own_device ||
>>>                           (is_pci_passthrough_enabled() &&
>>> +                        /* SAF-3-safe effects for debugging/logging reasons are safe */
>>>                           (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),
>>
>> What's the debugging / logging reason on the commented line?
> 
> The "ASSERT(dev != NULL)" in its body.

"it" == device_get_class() I assume? Imo to unobvious to deal with like this.

>>> --- a/xen/arch/arm/guestcopy.c
>>> +++ b/xen/arch/arm/guestcopy.c
>>> @@ -110,18 +110,21 @@ static unsigned long copy_guest(void *buf, uint64_t addr, unsigned int len,
>>>   unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
>>>   {
>>>       return copy_guest((void *)from, (vaddr_t)to, len,
>>> +                      /* SAF-4-safe No persistent side effects */
>>>                         GVA_INFO(current), COPY_to_guest | COPY_linear);
>>>   }
>>>   
>>>   unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
>>>                                                unsigned int len)
>>>   {
>>> +    /* SAF-4-safe No persistent side effects */
>>>       return copy_guest((void *)from, (vaddr_t)to, len, GVA_INFO(current),
>>>                         COPY_to_guest | COPY_flush_dcache | COPY_linear);
>>>   }
>>>   
>>>   unsigned long raw_clear_guest(void *to, unsigned int len)
>>>   {
>>> +    /* SAF-4-safe No persistent side effects */
>>>       return copy_guest(NULL, (vaddr_t)to, len, GVA_INFO(current),
>>>                         COPY_to_guest | COPY_linear);
>>>   }
>>> @@ -129,6 +132,7 @@ unsigned long raw_clear_guest(void *to, unsigned int len)
>>>   unsigned long raw_copy_from_guest(void *to, const void __user *from,
>>>                                     unsigned int len)
>>>   {
>>> +    /* SAF-4-safe No persistent side effects */
>>>       return copy_guest(to, (vaddr_t)from, len, GVA_INFO(current),
>>>                         COPY_from_guest | COPY_linear);
>>>   }
>>
>> I can only guess that in all four of these it's the use of "current" which
>> requires the comment. Yet imo that either needs making explicit, or such a
>> comment shouldn't go on use sites of "current", but on its definition site.
>>
> 
> "current" does not contain any violation of R13.1. Its expansion
> produces a side-effect, but this is not a problem in itself. The real
> problem is that GVA_INFO expands it in an initializer list:
> #define GVA_INFO(vcpu) ((copy_info_t) { .gva = { vcpu } })

But an initializer list doesn't itself constitute a side effect, does it?

> GVA_INFO(current) is the real piece of code that requires to be
> deviated.

In which case I think this such want spelling

    return copy_guest(to, (vaddr_t)from, len,
                      /* SAF-4-safe No persistent side effects */
                      GVA_INFO(current),
                      COPY_from_guest | COPY_linear);

or some such. Not the least because we want to make sure a deviation does
not have wider than necessary scope (which when formatted as above is,
aiui, always the following source line).

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:13:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:13:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642241.1001614 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dIQ-00039l-Ei; Mon, 27 Nov 2023 15:13:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642241.1001614; Mon, 27 Nov 2023 15: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 1r7dIQ-00039e-AB; Mon, 27 Nov 2023 15:13:14 +0000
Received: by outflank-mailman (input) for mailman id 642241;
 Mon, 27 Nov 2023 15: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7dIO-00039Y-Qh
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:13:12 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7ab8b3a8-8d37-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 16:13:11 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7392.eurprd04.prod.outlook.com (2603:10a6:800:1b2::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 15:13:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 15:13: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: 7ab8b3a8-8d37-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=heiwIfyIvH2xv+AEgXJTDtepUNNGPQ7MIYPxcZWa2CVmfYP/vl9A8N70RLuKRhiWsEFHYRkNCsCtRGFuaJZccfVqeXdUcTFXyRypDf58wX2f7HKH/xehBT0LfDk/gsCTdSyxFxF73FezPsO0FZg0UHdY0V8H/M6Gip7vYUfjq57UmDTAUeim+FIU495KSFHFkGWHjE8pYdFD1cBmJhqjA6Yo0N3SOxL7xHv+4QdnXRph5weP92gVnH1Qf7E3Yp9HdITeSGGT/DUe5Qw//e774qnR0JTR+0zLu3WLQcbiy+9YUnK1vJ+vyrYcJvt9nl4Y+q2H72yLEgDpee1tzX1OWg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2ru9w74zy+inVfA/LL1VJRcOLJEFKNSgHeUk4Q33v+w=;
 b=aA6MChh8EJlBP21L6+45XnuI9CXFEQXLLy5NUi5RJGjFWf9Uu9lql6bziwKS9bjYyezH+cq3UoR5MU5HMxQUMRXiccg2eMUQYY78M62WViTr2+faSS9jfDSKfm0v5YZsI3QhXA8RLFgLijxRAzOmVqKhAi3VcYI2+GKEd1ocO1/757fMZGT1YLUc/L/muBLEttQZoJBBlg0tbMoBRjaM2WgctRjWIo9wLJq5neQJK/nFuNh+jPgso0YDHFv9zyZZ9T4fB0HKWzC8pi5WfYegN2vNbv7/UyVXD1wh5+0elb8Bx/aKfc7k5T8fBcmQ+QBTvU5wetCpTiLkFbGq/gNMaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2ru9w74zy+inVfA/LL1VJRcOLJEFKNSgHeUk4Q33v+w=;
 b=3HS5/9LkF3KWqj1uZnT5rybZvfVsI2BT5uhvhFvoFTpfji7k5R1yPn3fAgZtzCpPehI7/dHCFQdD0gR6j0YMXX8xM9W9paKUOQ6CF2pHUPEDnOfX1gSHJ5rtz0Z2oM5io6tVDOtvjppvlB4SvpXPDPyWzOBL9w7Hvh3IcCpCtlMGCjo8KdMCwEKWdlPUf7HCZ1mpX1JuWXwWKMBvgkEwQtYA0M+/EKo7EKBCe0/6OmTJQ4CZi+Z65spcoTrp/+ubC/bTzVicHSkfx61brc/iToHQDnydhhstRBhn7uCwcVUKIKk/OFNNo/W5geSZ6VOaR2dXkoeIjQL+BZcgPN3jug==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a99681e4-e201-4abe-bf6a-fda61674074e@suse.com>
Date: Mon, 27 Nov 2023 16:13:07 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Clang-format configuration discussion - pt 2
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <Michal.Orzel@amd.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
 <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
 <838395c3-41ba-4004-abf1-948b655a5ef2@suse.com>
 <B5AF6A9F-3986-4F3C-90F7-122D63A2B31A@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <B5AF6A9F-3986-4F3C-90F7-122D63A2B31A@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR5P281CA0057.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f0::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7392:EE_
X-MS-Office365-Filtering-Correlation-Id: 588f0af5-2f81-413e-a6a3-08dbef5b5da0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EClRZfNKMr3FLGbVw+UlIJmFgGLj2pjugzbwlAszNy8y8X2efgenszl2olSa9YWcLRZJTyMIkugr3iBaicb+2nuv/wj7qpGY3KOET5vkfUZ4Ay95ageuLlAo+qq/01I0bspmrmgneHLarTtSNh1eulHJDxZRNnTbWD1RBz7q1xVFtTyhMG8F7F7YLLxEE7V9vHfiIksEhJf4CcDVmMkxldRO0MS0WdQZ3nAnx4IzzpPL0cGziF6TtSZUMYajoaZS5MQKEe4CeuiGNpbqB/QcUSxOOx5RMnVtfCVhL6oIBg5f61xvtfly6sHJ+9t6y7vKvgabmlEfQJVMVPqY7WJzE8cn3kPz5zmL/5QS+mp2GiAORTcu7LWl2VrTZDsOqU7a4BAIRAOh8LP+O24fcL8HxgP/Xeo2TZWJbYoAjkQlKpx5HMOCcqU2/OZo8KVNzECKysjLx48i5auhXP/HIr6hmMkX3A9HJj9/eeh05LNC1WTpB2dNGPs1BfmQZ6/ptWyUDqgYzIC8iXhLMrXzkCiPSzMt3S3LOV5F6SU4DRcKL8hH2h0AWhIdq2tBFSFw3602KaehlGpu5x7d20FT81ip5c6tdxv/FzfMkhdK9lsknwQWQRLakMxmGYTJ3B1bjlkUH0OE5gpjb2JebxfTI05Mbw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(396003)(366004)(346002)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(2616005)(26005)(6506007)(6512007)(53546011)(8676002)(8936002)(4326008)(6486002)(5660300002)(7416002)(31696002)(86362001)(966005)(478600001)(316002)(66946007)(66556008)(6916009)(54906003)(66476007)(38100700002)(83380400001)(31686004)(41300700001)(36756003)(2906002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZGEvbDk1aWhSMW1jMTlqaGhBaHRUalptK3R2eW1RR2p3QlJOUHVlUjc4OFFF?=
 =?utf-8?B?dFJwR0VLZFhXN2FrQ1E5VUR4bkt1RGhPZ3NUNGxBTjVKYUNzVU9SQ2s2K05K?=
 =?utf-8?B?OGN2KzZETjhGbDdjb0VnTmV6emxMVm1JVHZDZTlaYlRyQmZpL1oxSTJuMnVY?=
 =?utf-8?B?cDFBcnlVdEt0RFd4WW9BY252aEhwdWtQa2FBSWxtUFhjZ2taekhnUG1TblA0?=
 =?utf-8?B?blRiUW4zK3lLV28ySXdRaVRNVXlLQ3l0cmVBQ2s3aEt0V2N5REQ4SVlOc3BF?=
 =?utf-8?B?cDRnVU9DNmYvT0JoTWxHdXp6SnZGVWJJVDFFTURXNFBSZElsMDFKdG1kM3Rm?=
 =?utf-8?B?V3RmM01YakhMNTVOSTRQUzJua0VJVWdzN3VtbnhMeUZ3eFJjcmxuLzllN3Bi?=
 =?utf-8?B?WWhNaVNVbjJETnVaMjhHb3hUMk1VYjNyU2xVR2NXSnJmMllJTnZhTU5TbnIr?=
 =?utf-8?B?WlFmZGlKUTVXdUwrT0pKNDZxSDh6SjBLdWw2SDA3b3pTb1ZQWXNDTzcveGV1?=
 =?utf-8?B?V1poR3lwSCswZVEvMGcvODhYQWpDM1Z1MEpOa2MzbHhPQXowUExFbFZLdU1F?=
 =?utf-8?B?SGg0aFRVVzlwRjdEbUUxdTdpK1JqdjhvLzhoRHVzam9sTjdWZ0dMRUpDc3R6?=
 =?utf-8?B?TzlHTUpQWTlNYzBaaE1FYlJwazVpcFhqaDZBS3o3YlFwK2Ntdkhwam16TmNR?=
 =?utf-8?B?SU5xQUZJbElPQTJzaUROQlJXUnV0K0tqbTdqTlNzb2NGK2lJaGdVa3R6akRI?=
 =?utf-8?B?dXJ5MmZpeHR3NmJRbjdYWjBaV2tLTmFyOUpjeGlnaVF2ekd1T1lFd29IYUpV?=
 =?utf-8?B?Vzlybk1TQXRFU1FNWWZwemFvNGw0R0E4MmJZcGhhcWNhMStIeXVjY0ZYeVZl?=
 =?utf-8?B?VWxTdlZ2Nno2M1JTY1ZkQndrQjlVTDFlTVc4eklCdTg4cnA5aTVXaW1Ya3Ex?=
 =?utf-8?B?L0VFUzBBNDFXazVJVm1ySXdwalhpUTMrelorU1FhRUNETXRONUYybG5sKzgv?=
 =?utf-8?B?RmlPbmd4a25MV0N3Tm9tY01aZ3FzVFphYzZRV0VJVzJ3dU9FN3NRbXBDcURJ?=
 =?utf-8?B?SDQvbzBZc2xCUFgwOTBkV2VCRVdXaFQ5TXQ4N082eEF2aXJvd2lZNEJuOE14?=
 =?utf-8?B?Tk9JNE9CaVNtTWlHbTdtM0VTWldIeUkwbVR2RndPSzB0SWpQRllSL0liblB4?=
 =?utf-8?B?M2ZaV1dsdXVzMFEwMmFFSW1lU3c1SlhvVVhRMVZOMnVSeFRHcXh3Yk1OM29V?=
 =?utf-8?B?eDVFTFhXNFViYnZ6TDdna2tuOU8wbVBqNmdsNGtpZzJUeEEvajMxN1d2UkJ3?=
 =?utf-8?B?dGpMTEExTDU4YjdLRWN4Y0tQMW1HS2NpdnNnUjdialNWNnlLNE10TjNpSjhS?=
 =?utf-8?B?dHRjOC8xeHE4VUEwMXRwWEFZM3kxZlRzRTA1QkJ1eEtmTWo4NnNKUG9Sd3hK?=
 =?utf-8?B?UVRIODlUSWdqRjJMd3NSWVRjRXN4SEljeTQrdHJqR0x1N2FZYzRrWEJJcHpO?=
 =?utf-8?B?UWxxODZpbVdMTUVDaGtJQ3RFNloybTk3RzZoVzBnUnpMRW0wMHFvQnZsZ2Fj?=
 =?utf-8?B?TVNNTnc5dHVNTVBFTGJYdTBwN3FMMWplbGRKTmJOWnhQMEh2TS9oQWp0bm9S?=
 =?utf-8?B?Und2SUdyN2dDYkIranpMVVJtTEUrazVsUU9tOEdodlB0S0lUdEJnSGNJTjYy?=
 =?utf-8?B?ZkVQUW1vT2k5dWhxT3hJaHRicHN1dE5lMjR5b2lFYmpTMDR4UEVuU1RTVHIx?=
 =?utf-8?B?c2tWd3JHTEVUa2k2VWZsWDlyeW5PT0lla0RiZWEwYVN3R3c1S01uOEg4WE5Y?=
 =?utf-8?B?Slk5Wk5BdS9sQmVNZ202MXhPRUNDVUlmcUg4TmY5dmVNRjN6aHhZZDg2eXlh?=
 =?utf-8?B?VUxKSmllQkswdVlJQTBpZlZHU2xuSFBDSkgvRzB4eHNELzJUZFhCSjkrMDRr?=
 =?utf-8?B?OUo2Qm10M052Yk9ydTRlMG1GZ0NoU1lQTnFPWVJvbGl2NmNHWERSb1dtc1pl?=
 =?utf-8?B?dEIrcCswajFJYU5XbDJXTUtFTnRCWkdPdTVkRGtmbFcyN3pOWFJWQmhta1hZ?=
 =?utf-8?B?RjdaUEwxUkU5cTdadmEzcTBVOWhUTUlmYnJOY0dIVmNrUXMxcDg1K1IxbHp3?=
 =?utf-8?Q?lLUgBy3OpI98JXjd5Eq/xNkYd?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 588f0af5-2f81-413e-a6a3-08dbef5b5da0
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 15:13:09.6462
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: G2OOLUpfTgSkhBqor1zlPKvrHCl/MfvdkCmoFBVDI/Hz5qDapQSXTuZltGYpr2Z9FPiVxy+qAdH4Vtzher96xQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7392

On 27.11.2023 15:58, Luca Fancellu wrote:
>> On 27 Nov 2023, at 12:20, Jan Beulich <jbeulich@suse.com> wrote:
>> On 24.11.2023 15:52, Luca Fancellu wrote:
>>>> On 24 Nov 2023, at 12:47, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 23.11.2023 15:47, Luca Fancellu wrote:
>>>>> Let’s continue the discussion about clang-format configuration, this is part 2, previous discussions are:
>>>>>
>>>>> - https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00498.html
>>>>>
>>>>> You can find the serie introducing clang-format here:
>>>>> https://patchwork.kernel.org/project/xen-devel/cover/20231031132304.2573924-1-luca.fancellu@arm.com/
>>>>> and there is also a patch linked to my gitlab account where you can find the output for the hypervisor code.
>>>>>
>>>>> For a full list of configurables and to find the possible values for them, please refer to this page:
>>>>> https://clang.llvm.org/docs/ClangFormatStyleOptions.html
>>>>>
>>>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>
>>>>> Our coding style doesn’t mention anything about alignment, shall we add a new section?
>>>>> I can send patches when we reach agreement on each of these rules.
>>>>>
>>>>>
>>>>> QualifierAlignment: Custom
>>>>> QualifierOrder: ['static', 'inline', 'const', 'volatile', 'type']
>>>>>
>>>>> ---
>>>>> For “QualifierAlignment” I chose Custom in order to apply in “QualifierOrder” an order for the
>>>>> qualifiers that match the current codebase, we could specify also “Leave” in order to keep
>>>>> them as they are.
>>>>
>>>> Where do attributes go in this sequence?
>>>
>>> I think function declaration/definition and variables.
>>
>> How does this relate to my question? I asked about the sequence of elements
>> listed for QualifierOrder:, where attributes don't appear at all right now.
> 
> Sorry, I misread your question, attributes are like invisible for the tool, they can be placed wherever between
> each of the QualifierOrder items.

Hoho, one thing where various options are tolerated.

>>>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>
>>>>> AlignAfterOpenBracket: Align
>>>>>
>>>>> ---
>>>>> This one is to align function parameters that overflows the line length, I chose to align them
>>>>> to the open bracket to match the current codebase (hopefully)
>>>>>
>>>>> e.g.:
>>>>> someLongFunction(argument1,
>>>>>                               argument2);
>>>>
>>>> The above matches neither of the two generally permitted styles:
>>>>
>>>>   someLongFunction(argument1,
>>>>                    argument2);
>>>>
>>>>   someLongFunction(
>>>>       argument1,
>>>>       argument2);
>>>>
>>>> Then again from its name I would infer this isn't just about function
>>>> arguments?
>>>
>>> I think it applies to parameters and arguments of functions and macro, given the description in the docs.
>>>
>>> I see your two snippets above but I’ve always found at least on arm a predominance of
>>> the style above for functions, so arguments aligned after the opening bracket, for macros
>>> there is a mix.
>>
>> The latter "above" refers to which form exactly? The one you originally
>> spelled out, or the former of what my reply had?
> 
> In my reply I was referring to the one I originally spelled out.

But that's properly malformed, for not aligning argument2 with argument1.
Where are such constructs commonly used? I just took one example (cpuerrata.c)
and only found my first form of wrapping.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:18:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:18:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642245.1001623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dNd-00062z-4Q; Mon, 27 Nov 2023 15:18:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642245.1001623; Mon, 27 Nov 2023 15:18: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 1r7dNd-00062s-1Q; Mon, 27 Nov 2023 15:18:37 +0000
Received: by outflank-mailman (input) for mailman id 642245;
 Mon, 27 Nov 2023 15:18: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=oQs+=HI=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r7dNc-0005xN-4V
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:18:36 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 3a413969-8d38-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 16:18:33 +0100 (CET)
Received: from mg.gitlab.com (68.90.74.34.bc.googleusercontent.com
 [34.74.90.68]) by
 9691b5986cf9 with SMTP id 6564b348008c3fb47a442e8e (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 27 Nov 2023 15:18:32 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 3a413969-8d38-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1701098312; x=1701105512; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=Jv7cFTIUrgO+nN/xp7vz04mCLYfC8luiEXqGvvViYhQ=;
 b=k5ljysHsY6H/j+gQvPE4H17xdN3A3a1DogQmg5apldNsGRLUQ/RAZZGr+GVYIU3F2kyGKJ0O1U3c8KisFmCznSDF29jhxHvh/ixP2LazbcAxHIazk0UItdIPsBZZXfSiW5N3D8ZpPR1KZ/KENnxeS6CfaIWIwGmbulWGfotg1+0=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Mon, 27 Nov 2023 15:18:31 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6564b347cbfd1_2c229acaf0966398@gitlab-sidekiq-catchall-v2-7bdb8c6cbf-vqtnn.mail>
Subject: xen | Successful pipeline for staging | fbcec32d
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6564b347c4aa7_2c229acaf09662d8";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1086376593
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6564b347c4aa7_2c229acaf09662d8
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1086376593 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: fbcec32d ( https://gitlab.com/xen-project/xen/-/commit/fbcec32d6d3ea0ac329301925b317478316209ed )
Commit Message: x86/mem_sharing: Release domain if we are not a...
Commit Author: Frediano Ziglio ( https://gitlab.com/frediano.ziglio )
Committed by: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1086376593 ( https://gitlab.com/xen-project/xen/-/pipelines/1086376593 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6564b347c4aa7_2c229acaf09662d8
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | fbcec32d</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1086376593 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/fbcec32d6d3ea0ac32=
9301925b317478316209ed" style=3D"color: #3777b0; text-decoration: none;">=
fbcec32d</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86/mem_sharing: Release domain if we are not a...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/19662f3e97ef5f75e95817ac465c05bf?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/frediano.ziglio" style=3D"c=
olor: #333333; text-decoration: none;">
Frediano Ziglio
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108637=
6593" style=3D"color: #3777b0; text-decoration: none;">#1086376593</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6564b347c4aa7_2c229acaf09662d8--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:18:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:18:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642247.1001633 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dNg-0006I5-Ae; Mon, 27 Nov 2023 15:18:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642247.1001633; Mon, 27 Nov 2023 15:18: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 1r7dNg-0006Hy-86; Mon, 27 Nov 2023 15:18:40 +0000
Received: by outflank-mailman (input) for mailman id 642247;
 Mon, 27 Nov 2023 15:18: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=ZCh1=HI=neowutran.ovh=xen@srs-se1.protection.inumbo.net>)
 id 1r7dNe-0005xN-1W
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:18:39 +0000
Received: from neowutran.ovh (core.neowutran.ovh [51.83.40.211])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3bd5acb3-8d38-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 16:18:35 +0100 (CET)
Received: from neowutran.ovh (unknown [10.200.200.2])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)
 (No client certificate requested)
 by neowutran.ovh (Postfix) with ESMTPSA id E47C661314;
 Mon, 27 Nov 2023 15:18: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: 3bd5acb3-8d38-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=neowutran.ovh; s=mail;
	t=1701098312; bh=7NPGcxtH9RhluoakQAhBixQkqHYu5YSF440oIYGP1HE=;
	h=Date:From:To:Cc:Subject:References;
	b=ETzJFxszNp3y61f2EX823PgfNWjwwobpYcHX1PmCR0SZBwlAP3uG0hZDSmZorqgzs
	 Np8VP7/J/f0HoGKud6W5sWGmIyAcLu3uSV8CPpkjmbOG6pk07sHf8SDctS9gscVwzS
	 t6V3txmREZBlphtmGhlGWzKj1facY0Kz4J/ODCsCyrxJcwFuH7wazAaee84i5RATl+
	 VpeGQgTbVCZzy3C8yKpqXkCCqIqzgGhgGegaN6c9mcK79/Wrv++nUt19wIIZYgDjtc
	 pBu4RZYohn7cJwAfOzoTKXsmuyuQzjqCRfFbMb/3t4G8b1+wr1JxUYnFggjQuZcSV3
	 9Zc7mG6hz4K1j3PkdDp0zsnrEeHRSnS9oZ5A5/dZrrLTEIGx8qE3geCfq+gvZ8F5W/
	 nJhLAAP8FDXyuYM6UCYDREf3x3weZgo1d2rC4ibwuSg0KcAusum6glDWIaK2YfLDXA
	 n1w5Dc49N4DmM3dEgHsLHY8A7Bj3U1ecq2cetsH90NjHpFxnW/Ecu//wPQtHljBRAe
	 +CoG0lN8PaRj77/Y1hPNj09PBEuBflOeBImHfi8gpUIkVAzzgvcpwYrGfm+IiibLs9
	 x3V1IllUJOemMNDtTLQg3JXCAJvUOc9SSL5OwhSNA87BQ++8PkapGbZ2PQ6PpiBxJX
	 ABnftd7SRBa07oZpEgPVNfEc=
Date: Mon, 27 Nov 2023 16:18:01 +0100
From: Neowutran <xen@neowutran.ovh>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Neowutran <xen@neowutran.ovh>, Elliott Mitchell <ehem+xen@m5p.com>, 
	Henry Wang <Henry.Wang@arm.com>, Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>, 
	xen-devel@lists.xenproject.org, 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>, 
	Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Message-ID: <2lyqb2u7tlcaig7nit3rnw5ftfupfemqmffr4ddsnolcrdojme@kmmlzigrzch3>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com>
 <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
 <81f6bbd5-0487-461a-af1a-dbb6ead47

cab@citrix.com>
 <x4qzfuqkkebjkdfmhw6rvdhrn2ewa6ghjtjqd7xevnuylfahh7@pjratinsg76a>
 <a4b4546a-60b8-4d0e-bdf4-9af6699fb925@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a4b4546a-60b8-4d0e-bdf4-9af6699fb925@citrix.com>


Hello, 
Thanks a lot for all the details and explainations ! :)

On 2023-11-27 11:11, Andrew Cooper wrote:
> On 24/11/2023 7:54 pm, Neowutran wrote:
> > Hi, 
> > I did some more tests and research, indeed this patch improved/solved my specific case. 
> >
> > Starting point: 
> >
> > I am using Xen version 4.17.2 (exactly this source https://github.com/QubesOS/qubes-vmm-xen).
> > In the bios (a Asus motherboard), I configured the "local apic" parameter to "X2APIC".
> > For Xen, I did not set the parameter "x2apic-mode" nor the parameter "x2apic_phys". 
> >
> > Case 1:
> > I tryied to boot just like that, result: system is unusuably slow
> >
> > Case 2:
> > Then, I applied a backport of the patch  
 
> > https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw 
> > to the original Xen version of QubesOS and I recompiled. 
> > (https://github.com/neowutran/qubes-vmm-xen/blob/x2apic3/X2APIC.patch)
> > Result: it work, the system is usable. 
> >
> > Case 3:
> > Then, I applied the patch https://github.com/xen-project/xen/commit/26a449ce32cef33f2cb50602be19fcc0c4223ba9
> > to the original Xen version of QubesOS and I recompiled.
> > (https://github.com/neowutran/qubes-vmm-xen/blob/x2apic4/X2APIC.patch)
> > Result: system is  
> > unusuably slow. 
> >
> >
> > In "Case 2", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_mixed". 
> > In "Case 3", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_cluster". 
> >
> >
> > -------------------
> > If you want / need, details for the function "apic_x2apic_probe":
> >
> > Known "input" value:
> >
> > "CONFIG_X2APIC_PHYSICAL" is not defined
> > "iommu_intremap == iommu_intremap_off" = false
> > "acpi 
_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL" -> 0
> > "acpi_gbl_FADT.flags" = 247205 (in decimal)
> > "CONFIG_X2APIC_PHYSICAL" is not defined
> > "CONFIG_X2APIC_MIXED" is defined, because it is the default choice
> > "x2apic_mode" = 0
> > "x2apic_phys" = -1
> >
> >
> >
> > Trace log (I did some call "printk" to trace what was going on)
> > Case 2:
> > (XEN) NEOWUTRAN: X2APIC_MODE: 0 
> > (XEN) NEOWUTRAN: X2APIC_PHYS: -1 
> > (XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
> > (XEN) NEOWUTRAN IOMMU_INTREMAP: different 
> > (XEN) Neowutran: PASSE 2 
> > (XEN) Neowutran: PASSE 4 
> > (XEN) NEOWUTRAN: X2APIC_MODE: 3 
> > (XEN) Neowutran: PASSE 7 
> > (XEN) NEOWUTRAN: X2APIC_MODE: 3 
> >  
> > (XEN) NEOWUTRAN: X2APIC_PHYS: -1 
> > (XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
> > (XEN) NEOWUTRAN IOMMU_INTREMAP: different 
> >
> > Case 3:
> > (XEN) NEOWUTRAN2: X2APIC_PHYS: -1 
> > (XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
> > (XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
> > (XEN) Neowutran2: Passe 1 
> > (XEN) NEO 
WUTRAN2: X2APIC_PHYS: 0 
> > (XEN) Neowutran2: Passe 6 
> > (XEN) Neowutran2: Passe 7 
> > (XEN) NEOWUTRAN2: X2APIC_PHYS: 0 
> > (XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
> > (XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
> > (XEN) Neowutran2: Passe 2 
> > (XEN) Neowutran2: Passe 4 
> > (XEN) Neowutran2: Passe 7
> >
> >
> >
> > If you require the full logs, I could publish the full logs somewhere.
> > ----------------------
> >
> > ( However I do not understand if the root issue is a buggy motherboard, a
> > bug in xen, or if the parameter "X2APIC_PHYSICAL" should have been set
> > by the QubesOS project, or something else)
> 
> Hello,
> 
> Thankyou for the analysis.
> 
> For your base version of QubeOS Xen, was that 4.13.2-5 ?   I can't see
> any APIC changes in the patchqueue, and I believe all relevant bugfixes
> are in 4.17.2, but I'd just like to confirm.

I was using the qubes-vmm-xen release "4.17.2-5" that use xen version
"4.17.2" . I don't see custom modification for APIC in the patchs
applied t 
o Xen by QubesOS

> 
> First, by "unusable slow", other than the speed, did everything else
> appear to operate adequately?  Any chance you could guess the slowdown. 
> i.e. was it half the speed, or "seconds per log console line during
> boot" levels of slow?

Once I was logged in, it took me around 10 minutes to type the command
"sudo dmesg > log"

There was also graphical instabilities (screen display something, then it is black,
few seconds later it display things again. 
Sometime it completly crash and I need to reboot to try to finish the boot+login process),
and unable to start guests due to the system being too slow. 

Some of the logs gathered from "sudo dmesg" that only appear for case 1 and
case 3: 

"
 nvme nvme1: I/O 998 QID 1 timeout, completion polled
 nvme nvme1: I/O 854 QID 5 timeout, completion polled
 ...
 [drm] Fence fallback timer expired on ring sdma0
 [drm] Fence fallback timer expired on ring sdma0
 ...
 [drm] Fence fallback timer expired on ring sdma0
 [drm] Fence fallback timer ex 
pired on ring gfx_0.0.0
 [drm] Fence fallback timer expired on ring gfx_0.0.0
 [drm] Fence fallback timer expired on ring sdma0
 ...
" 
things like that repeated hundreds of times. 

> 
> Having re-reviewed 26a449ce32, the patch is correct but the reasoning is
> wrong.
> 
> ACPI_FADT_APIC_CLUSTER predates x2APIC by almost a decade (it appeared
> in ACPI 3.0), and is not relevant outside of xAPIC mode.  xAPIC has 2
> different logical destination modes, cluster and flat, and their
> applicability is dependent on whether you have fewer or more than 8
> local APICs, hence that property being called out in the ACPI spec.
> 
> x2APIC does not have this property.  DFR was removed from the
> architecture, and logical mode is strictly cluster.  So the bit should
> never have been interpreted on an x2APIC code path.
> 
> Not that it matters in your case - the bit isn't set in your FADT, hence
> why case 1 and 3 have the same behaviour.
> 
> 
> This brings us to case 2, where mixed mode does seem to resolve the per 
f
> problem.
> 
> Since that patch was written, I've learnt how cluster delivery mode
> works for external interrupts, and Xen should never ever have been using
> it (Xen appears to be alone in OS software here).  For an external
> interrupt in Logical cluster mode, it always sends to the lowest ID in
> the cluster.  If that APIC decides that the local processor is too busy
> to handle the interrupt now, it forwards the interrupt to the next APIC
> in the cluster, and this cycle continues until one APIC accepts the message.
> 
> You get most interrupts hitting the lowest APIC in the cluster, but the
> interrupt can be forwarded between APICs for an unbounded quantity of
> time depending on system utilisation.
> 
> 
> Could you please take case 2 and confirm what happens when booting with
> x2apic-mode={physical,cluster}?  If the pattern holds, the physical
> should be fine, and cluster should see the same problems as case 1 and 3.

I confirm that the pattern holds. "physical" is fine and "cluster"
have th 
e same issue as case 1 and case 3. 


> Thanks,
> 
> ~Andrew

Thanks, 
Neowutran
 


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:23:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:23:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642284.1001642 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dRu-0001AT-T1; Mon, 27 Nov 2023 15:23:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642284.1001642; Mon, 27 Nov 2023 15: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 1r7dRu-0001AM-QA; Mon, 27 Nov 2023 15:23:02 +0000
Received: by outflank-mailman (input) for mailman id 642284;
 Mon, 27 Nov 2023 15: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=mRNM=HI=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1r7dRs-0001AG-Sw
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:23:01 +0000
Received: from sonic313-19.consmr.mail.gq1.yahoo.com
 (sonic313-19.consmr.mail.gq1.yahoo.com [98.137.65.82])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d7f5e294-8d38-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 16:22:59 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic313.consmr.mail.gq1.yahoo.com with HTTP; Mon, 27 Nov 2023 15:22:56 +0000
Received: by hermes--production-bf1-5f77bdbcd8-v9b5f (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 668e288a09972a0f592ec32724e19984; 
 Mon, 27 Nov 2023 15:22:53 +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: d7f5e294-8d38-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1701098576; bh=c1plXlRLi1bfZxl7QCo7eYCUbClRwF0lMd0izuhKXqE=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From:Subject:Reply-To; b=otQdWf7oPc7Iwf3xvZSi+c7RuFRW4FgWKBBJ2+CpEefGEzLbda1Bk/N0vNVShFSwf9kdw48cr1sWsB8l91m7j7PGyLZljDC9g3Tk0js4cVWv4eW3g5PLywEZIT5UHc2idu+M6yDy84YQAqCC3hWr9uwq2jI2VI9w7CtE3FPK3GqMtzW6YKVuRFDGb/WUxyuixO28HujCxAHRyCAK8gbwJDXvmcA2akAqmdqP8XMvzoHqLlC6R5lBCLzmEhDmsFgkbnkPrmRM/q424L8Jr1UcznuB/cvCGs01m2YKCzNqO7etilDT4L83nuxb/7byaRDG1Fx0UuElJxf3NtIqax7NNA==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1701098576; bh=5gdQiKc9eUjlrIZiddsu8pu/+rg9jz17YI1qRJ+k/qd=; h=X-Sonic-MF:Date:Subject:To:From:From:Subject; b=Zq95OHk2OQF4e2YnWq5+S7ZBKXggp9ojhJix1mCr6s8TR3Cs8GkCfWfh/Gu0kHtXoWZ1HlBdDI682vhc9VWP/wkmMz5kGdB5DLoHKdHc26XvCDl7ZAsa2JK8U19gvU2fdgJRfBUox7GLJyBfUyHBOPBxBsEfQnbedcATXvmqUhncKCQLKUMgJlOyxQw9Q6JMikBpw/51oHyT7iHqm7bi9lzVuQhoqD50gklP3n+G9xDVuoum2BQMckmWkI4uXyHXce+/ESfyQEkoIP45L76fs+pPw2flQSzGjrACJKuLw93Z2TAm0FHcfaaYNJmjDcr1aREmYjPwOYNOA8s3AHusOQ==
X-YMail-OSG: HGxpYnkVM1kXax_nIGUikP74DywLxJwobVHSQOLTce2JHR_a_1OaC8vfG.jE8Ov
 ca1vvheho_SSgRQTosVu0hrWgEo6Wy7MuO3FWoxJivQIOed_88qKXnJwu.yR3rPgRd8.Qd_3shEO
 O0MSTqIJzY0toEHsn7FinHLHYh0hhTfzrqETwfo5o.paD8.zREEOUfSiVN7vW3OTeDgxlYYojOCO
 GWHHoMCrX1HWnXfUE0Q2wM3vIp2ofAKBCBg5PE5Db_SAMDwTZlUXYG7piDuZNvRFNfj4X.5zDE4d
 VqAIFFtP4Ya06nM27TyqLhzymddo0aLE4FJGE91LevTzJ7hX_Cvn00lJz16.zTkuDGfStXFbxiET
 HqMW5JXNPQVfek2Vki48SGXPgxpSeLs2tEv3T6DN1I.po5BrXlcymHxmOgZVOOZChgn9.rmQ.Jf.
 .p2hP_AgvITeO3PVBhKl0CRokHivBtEHMXfbJyOptg2K7JezPhubrSckA51ZDbuhSsG0DCHsh6a0
 x6wRJL.XAGRxeCMULlYhXBP3lnoQ62B4GX0qAS1FAUqfQDPLy1GEp6SVHHgoxsJAGzr6shTMRAYE
 9zucHypbg0W7nkJaSaH.I1ZS6K1qSbRRfOgjeRbNh80Zb4Beg_IlGTu7tAOSLtaU_Bbe03fVIeaz
 XkMDT9G2DxpXyMg5bA5sKkeHyhMvH.ggN.PH0dDEvfl.8T_7TLXnUO67yGzbrcZrEDGssOrDAFWs
 23IDWyGT3xcqwXHuqkj8hLskukyFXHGKSMpXaKknFPIh90YZFf2TGDiV1PA7JLHLTqHHDiFVFJGk
 Es92gAworclCVI.lAByEPwkU93gOoSndcDYxRIcD9N_xGS4uEVYC57T7IrPq0XBEf3hdz7rBxR.M
 nIpqwcfMxTVKNno4MPl66qY.VGVQ.Hcnt0r2w4e0EWigWBHalY.rAFYa7E4UE.UgJuXu5pK0BeqR
 jkCfp1EX02yTDTKybKzB2GdbHdSXpQ6lzKXQlpNRy4jfNPqobqYLsGRRAiDaHSfWcjGOZtEqiVxi
 .hUtz8ME057WozEGpI7bkaeoyI6ViAICvScTiXcR2gpJ5sNns_hscRD5dNmoIb0rRr6FwGWB3bZe
 dG1szuZy3GAGI2OSsJ1hzg5XT.K9hXU0Gx_tZ4AQI8ShVpzfE.Gpt2DvRd8AsIM0FjAZm1OzGA0m
 cR3MSIylnjErqCCxvZSq7b41LvUwMMq43jK5au72D.P9Y1t0kdTgqOBMlcQiwf89v6fjRNwf9Brn
 UgcDq9T2z8n6zd5EZoNRLPsF6ZSPsFH6OVxjOOKqgCWrf9QLpM9HogU6mn9bmsdAhYtPpPDdrC52
 QhY9impRsq9Ti3FR0Z7E55vC8qNZ1NOK0t4_NC4MFSURJsTN8pFeNuU4iUmaWnUNTPJo.bsf1h_x
 w_92IE7ztmgrBYyMqWZSmXCRcussl4vlXopveYyREf_hCpuTxygVio3Uz7w45jGZ_Uaz8OXWJyD5
 oP9QR6YHbWhPs.evvWzxp37Y_riohxK2f6PlUOCUU6zNcNaF3XRJKYncY1Q33DVy8CHr00fs1E4M
 rco.uAb6qGFO_Gv.D6cmv3OFYaIw9I1aHt3c7B8AWxgCngAiMLGSHCAsImGu1C3uIcPJEeqbqDr1
 GkE36VWo17CTVb_WTe0O7.hWHJbxeWtjII9foDVZdH2lL5GaE4iLvu9X8DTpLP5NPHz.BOjLNjrB
 XEYlOShda79TP8D9fJjJfdNGgsKQZUOgVon2Z0cxg0aN0x.E4EyKbkJ2gUdArAcbf0AeMxCDgq0Y
 .qU6OjW3WDepTw_FleN1PigmvkTj5tlaUrIJEUre.jKcqekGFq4CLb6KoFQ0lClFkVef8NsTRLCz
 3ye5U_tjDI9wo.Uy1MSG4lRWVN.7oelvag_E93sWLGjFHqDcZyyAVfZSMxMzfWYqo510PQgRUQQb
 N9bnB5E.GDJM_Vp3QlS6__h1QVAkac6qyl.BXV2KxGV.VwAVADUHiMo4t_1uMnepoGTFU6FVarRB
 D.bwl6YA7_yRX9Ua8rw81g0s4B2OOvJ6uqhynNXbfs5D1JQh7XG2tbLpHuCLvGn5upBtH.j3ZRYh
 nivjpENtODPqCpvEahilAyAacfEvfpAM9iRH6084ig4KkfbScbFIRRPoa0cE33UhTCNDUSAATXnn
 LsiZdsSmrBC5s0BOKjBRrmS_95pCnS1A2.gGPtS1HKDgprcFjB_sYKIvGJRixyKQ1mXQoOAJevAQ
 i2HUpwCJ1q.wY8D3LimRokqzsn7VVlA--
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: c152a4a2-3c65-46e3-a816-c117b72274e4
Message-ID: <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net>
Date: Mon, 27 Nov 2023 10:22:52 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Content-Language: en-US
To: Mario Marietto <marietto2008@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
 Anthony PERARD <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Elliott Mitchell <ehem+freebsd@m5p.com>
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
From: Chuck Zmudzinski <brchuckz@netscape.net>
In-Reply-To: <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mailer: WebService/1.1.21896 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 4297

On 11/27/2023 7:45 AM, Mario Marietto wrote:
> @Chuck Zmudzinski <mailto:brchuckz@netscape.net> : Stay tuned. They want to help us. The xen developers are great. Very good support for us. I'm sure that you can give a good contribution to understand what's our problem and how to implement a fix with the help of all those good guys.
> 
> On Mon, Nov 27, 2023 at 11:56 AM Roger Pau Monné <roger.pau@citrix.com <mailto:roger.pau@citrix.com>> wrote:
> 
>     On Mon, Nov 27, 2023 at 10:28:13AM +0000, Henry Wang wrote:
>     > +(xen-devel and Arm maintainers, including Julien)
>     >
>     > > On Nov 27, 2023, at 18:03, Mario Marietto <marietto2008@gmail.com <mailto:marietto2008@gmail.com>>
>     > > wrote:
>     > >
>     > > Hello.  We have just virtualized Debian 12 on our arm (32 bit)
>     > > Chromebook model xe303c12 . As host / dom0 we have chosen Devuan
>     > > 5,and for guest / domU,Debian 12. It works great. But our goal is
>     > > different. We want to virtualize FreeBSD as domU. Can we have a
>     > > working Xen PV network driver for a FreeBSD arm guest ?. I found
>     > > that Julien Grall has ported the Xen drivers to FreeBSD on arm. I
>     > > would like to know if Julien's work was accepted upstream by
>     > > FreeBSD, in which case FreeBSD as a Xen guest on arm should work
>     > > if we enable the Xen PV drivers in the FreeBSD on arm kernel. If
>     > > Julien's work was not accepted upstream by FreeBSD, we will have
>     > > to find his patches and apply them ourselves to the FreeBSD on arm
>     > > kernel.
> 
>     I've added Elliot on Cc as he is working on upstreaming the patches to
>     FreeBSD.  He will be able to provide a better update than myself.
> 
>     Regards, Roger.

I have been collaborating with Mario, and I can explain what we have done so far :

We are using Julien's patch set against an old development version of FreeBSD 11
from 2014-12-03 :

https://xenbits.xen.org/gitweb/?p=people/julieng/freebsd.git;a=shortlog;h=refs/heads/xen-arm-v2.2

We successfully built the XENVIRT kernel and FreeBSD world, and created the
FreeBSD rootfs according to Julien's instructions here :

https://lists.freebsd.org/pipermail/freebsd-xen/2014-November/002202.html

There were some adjustments to the instructions :

To build the kernel, we used :

$ sudo make TARGET_ARCH=armv6 KERNCONF=XENVIRT buildkernel

instead of

$ sudo make TARGET_ARCH=armv6 KERNCONF=XENHVM buildkernel

The FreeBSD 'kernel' file is in ELF format and did not work, and we spent
some time trying to convert it to the zImage format without realizing the
build of the FreeBSD kernel creates the 'kernel.bin' file in the zImage format.
So when booting with the 'kernel.bin' file instead, it actually boots :

user@devuan-bunsen ~ % sudo xl create freebsd.cfg
Parsing config from freebsd.cfg
user@devuan-bunsen ~ % sudo xl li
Name                                        ID   Mem VCPUs	State	Time(s)
Domain-0                                     0   768     2     r-----    1439.4
freebsd                                      1  1152     1     r-----       3.0
user@devuan-bunsen ~ %

However, the guest is still not working correctly :

1. Attaching the console with the -c option at creation or with
   'xl console freebsd' results in no output to the console.

2. The timestamp on the virtual disk image file shows that the filesystem
   was at best mounted read-only, if it was mounted at all by the guest
   FreeBSD kernel.

3. The 'xl shutdown freebsd' command does not work, it just hangs. To stop
   the guest, you need to do 'xl destroy freebsd'.

However, I think we can get the console to work and the rootfs to mount because I
just realized I forgot to do the steps from Julien's instructions of editing the
/etc/fstab and /etc/ttys files in the FreeBSD rootfs :

$ echo "/dev/xbd0       /       ufs     rw      1       1" > /mnt/etc/fstab
$ vi /mnt/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm on secure")

I will add those and see if the console and disk are working.

But it would be much better if we could have this working with FreeBSD 13 / 14
instead of the old FreeBSD 11. Also, Julien's patch set only supports one vcpu
and it would be great to get the smp support for FreeBSD also.

Thanks,

Chuck

> 
> 
> 
> -- 
> Mario.



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:24:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:24:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642287.1001653 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dTW-00024M-Bx; Mon, 27 Nov 2023 15:24:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642287.1001653; Mon, 27 Nov 2023 15: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 1r7dTW-00024F-7y; Mon, 27 Nov 2023 15:24:42 +0000
Received: by outflank-mailman (input) for mailman id 642287;
 Mon, 27 Nov 2023 15:24: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7dTU-000247-Nl
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:24:40 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 14b76c41-8d39-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 16:24:39 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7810.eurprd04.prod.outlook.com (2603:10a6:20b:237::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Mon, 27 Nov
 2023 15:24:37 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 15: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>
X-Inumbo-ID: 14b76c41-8d39-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VdgtaFZZinFMoevVTuLDlyrcOuwKAEFcH9LzjxsAoFS7Hujr1AuqusU0kKrRhW5/G7Cyi77nGwJ3SiZhLQ5fqqALBHghlTkoNpw//sar9TsGGzCs1Y7uOWoxnE/2wg0fZ57h9q2jiUTdeDA0/JQk8rtqxXASt8CR9bN3dGa77fU3WAZo6TRfrdho+Poj4X2EP2fTymybutH2SmjV6KyrwCUAqJGJY7fC9uBhPlNjyN3/QxdbbHWmoL+oEDRlbVsWz9xNLGbUG5Pou5w5IAFovyM54EYqdGbUEMlfOjZgqZ0BhSfGSdXzb3MOoKgm1NrsN03JrMbz8sho7c01ZfNW0w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u0Cwd7dsA21FG8IH3ZruaTlV0TrtwyPEbjnUByz3u5A=;
 b=k+We0bb4VOVa4qTZuEjGaJppwPOtRQlQOXj+7DJf3/EtBAaIHjSFW8fdRg5O9w7MFRbBLZyRqF22K+s6rj515e/jNMQKD/maGbInhXLiMlW/97troqyOnrZCqqQeeCnLxUAnvKOzED7T91cIEGPITEI2x5bpX1DX8VrynRiPnop9HAOtW/f9R5NHB66iGQPeIXLTtq+sjFL+BRaM1Aodk4ReOhANJ6JRXJHJ+QXdrzRxZSxeYTZigQ93+06aWczOJbkb4HBK9Aeex0vjIBQ3vGDKtyDjF2tgvh1kdMvWJ5tpXd6Vz3KIqQ3xO64j2HEWmYji2U9S6Jn0z6EuJKmI4w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u0Cwd7dsA21FG8IH3ZruaTlV0TrtwyPEbjnUByz3u5A=;
 b=YuNX3IruWzdIreBd9SZGy7ebB7ngeiB7LZYGe6kkyWHN+qHww3Ybj2evG73LockqWIfPnoQa30zH/CMYMwX1261WPVWoABgKQ7fc/Uvv6cAKQ6bjHB0E/OhOy1KMH8Xnp0eCoD6fglg3it8AT1cpPqw3/IE55jAPiM+tOP53yjHuDRH7nd8HVUEVCLkX/UE4MvdmA06RL29lAoO3LXP/AYc1psX/H4PW4s/+eZLsjZsrgZE4s5KFmUUy6nPTddM8UNvvoYkiMTxlhmK4F6J4D5Ub9BuLVwbk9MUgmqKoJ1A0/PJJSE/uQC8/PMOBV4pMxkoqvtwscFwE5umTedrSlA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <37ea7f26-cfc5-43c2-9ca1-5850c786ae60@suse.com>
Date: Mon, 27 Nov 2023 16:24:35 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v4] xen: replace some occurrences of SAF-1-safe with
 asmlinkage attribute
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com,
 andrew.cooper3@citrix.com, roger.pau@citrix.com,
 Julien Grall <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, Wei Liu <wl@xen.org>,
 Julien Grall <jgrall@amazon.com>, xen-devel@lists.xenproject.org
References: <edbf9e56a404a456db26445ce0d79b0c178a54f4.1700813413.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <edbf9e56a404a456db26445ce0d79b0c178a54f4.1700813413.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0204.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7810:EE_
X-MS-Office365-Filtering-Correlation-Id: d4a8ac9c-7d5a-4fd5-68bd-08dbef5cf7cc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YogBJHulNgUldoboFFj/RlMCSl546Uyaz9dAhiiSIYs/wM7NhQBrJe/HLHXMWp2Hdemxdf9vhfooQYjbDDnCtJLghAvCby5JH2GaSwsqCixQEZYUy/6MfUeSQCz1yZZNrXuBcrS0WMK6wWsjfgQS1Awujk9p/jNY5T0F37wCj/YSswOc41x8Di76eGnVpgv1wOLOPDykvAAqGz9GbgFXlACJD5yxgr3Iyvea/v3TJvnsmjFewYbpa7nhTSKb+zNHT8LmT5tRrE83n8zlhwRYYxZzVq9YV/TRhTpis7m2X0QPX8RnyAThkDayHpUF8hNxp/+0gmdA1XJLH4edVYKTcxNljxvlqriuPYgkMBtUOvuXkUX5enmmVL120lwtDR4ZCYUTvMNt6PPkYtklv5j+YHIcdYOpHEaSefeTozgNe+2sRnRUwynCMGwiXZcB0NqQ5NvMqyKrWIL9vGw87FmyDJj6ho2+iSQ+OxTaAJx8yRJtdqwmQc1/RzC3eIrLAB29M3dHwwbiJYu3izcGPNOk7BUDDp3+M5HWfupaSGt39BXOGj1K106bI5U54oCYlYGCR9e194tsqusXpV7RGVfFNr6ogzlsFdQ+r88i8SEsV1J1MnuDZLCDqqSOj8bxmozpzav+mozCZ2l1y+Lk/+Mq4g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(366004)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(31686004)(26005)(6486002)(2616005)(6506007)(53546011)(478600001)(6512007)(38100700002)(86362001)(36756003)(31696002)(5660300002)(41300700001)(7416002)(2906002)(66946007)(4744005)(66556008)(54906003)(4326008)(316002)(6916009)(66476007)(8936002)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NkdyY1dSRE5nZy9tMUpQeWE5Q0szQURjU2lMQnpBRCtZdDVRbUlweko3MkJv?=
 =?utf-8?B?NHdIa001aG1YdEZseVZ0UkFHUlNSa1ErenBveEY1a2VsYVBYdEhpNjUzQ3FB?=
 =?utf-8?B?TWtibUVNQzVHZ3lwclhiZlR1KzVsSWg5S2dhMllaUklLMFVoWFNpRENJUHpt?=
 =?utf-8?B?dm90enZac1FUS3RVWm9mUUZ0cVJNVHJMTmFuM2hoaUFNRFBkUlVZc21pNzZM?=
 =?utf-8?B?b2hIRTRXVUJBVitFQjZwU0p6Mzg3QWR3elo5MkllUzJ0blArbXRvLzErTlFB?=
 =?utf-8?B?NXFyZ1FSL1QrYjBEVFZsQSt6d2MrT0p4MzRrb2xiR1JjR1QvM25OVy9kek1D?=
 =?utf-8?B?NEEwbW5KMmw0MThaZUpFNWlJSExjNTQwc05HNkNrSjl5Y3JYYXlPL1ByZUFl?=
 =?utf-8?B?K2EwOE5CZUtteHBISSs3dWQvSmIrVnZIcEV2cUYyN0xGczlTMXRGNDlJNStp?=
 =?utf-8?B?ZzgrV1Y5TTlsa1JJYk9XWitRN2VyWlBsNGhuRXR1bURMZWV1MGJoa1c2YTlV?=
 =?utf-8?B?MjFXbEV1SnZPczEzUVhHdGIvdGpYY0E2Nm1pelhQYTNQWDJqcWtOT1pLQVph?=
 =?utf-8?B?cjdQREFqYUpmajVYQXUrcjRSN0I2bktBWHByTHQ1L0Zaa01lS1NoMWtsMlBF?=
 =?utf-8?B?NUlsd0R3RWhMN251RkZVSkdObFB2Qll4c09TZnd0d3ZNR0E3N3daVWpEeTVW?=
 =?utf-8?B?dEpva1BNN1BDQTRYcGwramM1OEE0cE8vMzJsOXloWmZscTZKdjFBemY1d3dP?=
 =?utf-8?B?QVBOWVNRck1zQWtkY2FRQnVIdHZXNUhGMjc4clhSMFFJRlc2KzNLZUhBZlZH?=
 =?utf-8?B?UEFBLzc2VTRRd052cUFLaGNEeDVOeGZQL2JpWkFlMUZhL1ZLTUlLSGZVUmVt?=
 =?utf-8?B?MUF1RktKeWlQby9CZjc5bnA1VzVpZXgwQ0ZIeDlxZXV4NXhQWkhEMmMySUk0?=
 =?utf-8?B?QkF6b2xoclphMHZlaGpveVI2aUUvQktFcjZRSG55MGJEemtUTlVnVzR1bERo?=
 =?utf-8?B?bkQwdE5HMUlGZ080elpPelBwbFNTMXJ0c1crR2JneG9nZENKZzVoWHMvWUlK?=
 =?utf-8?B?NEZqTDh1WWZmOUlHZEtCZFJEbU05Z1NITEZJOHFETTVNdU45a2p1SmMxUFBq?=
 =?utf-8?B?OFZpNWhpTzZPcGp1blIydG0rQ1VCZUt4VGlWZmRna2VFY0wrT1NwL1E1RDdE?=
 =?utf-8?B?LzJjREtueFZtSnJVUFhZZDgwMkRPVUV1UHhrWFYzQ2VVT0xEYUVxMHU3WUh5?=
 =?utf-8?B?Ylo0bHUzYW5Wd2cwdG1MbWowVGgvc04remZXNWhPb2R4amdzbGdrWXdjSUVV?=
 =?utf-8?B?a3czblg0ek9HMzFGdC9OMnQySWQyUE5UTHEvZE5KNXRmc2ZZK0FMUE14bHZL?=
 =?utf-8?B?VVhmb296bGc2QXYzNjl5VzZ1eVZZV0hRM3k1THRtWWJNOFJOYlo3eHVSejdX?=
 =?utf-8?B?S0ZZUlhSUXh2V3FEOGUxTWNRcW1TZ290OG1VUEViRktlSC9zSXBNSkk4Qjkv?=
 =?utf-8?B?MDFVNGlERTBSRTRXT0FZZ2VvYitZV1ZaUGlDQXBhekI5d0hsWlU1SFJwYUo3?=
 =?utf-8?B?b0J0VkxYRTFCZkIzYjVrSWNUaEUyVldJVlpNQ1B3WG9hNENWWDg5a3RkcWV0?=
 =?utf-8?B?NGUrcVVUZnBVVi81S3YzWTRWdmM3UmwxV3FtZkgzTzBOS1hKdHJIQnpveDB1?=
 =?utf-8?B?MFg0VS9HemFhSXErcDlSLzBDaytmYlZwdmZJTDFHZ24yTENudGNHL0svYVY3?=
 =?utf-8?B?ekZGSGEzRFQ5RitZNFByVVdHbndweFNQM3JyTGRxa0pLems4RHQ5b2M1R1Rv?=
 =?utf-8?B?RG1wblpkQnRaS3dnWXc2eC93WTRVUzIrU0UzVDQ5QmE3cFI4TW01TE4wYjdO?=
 =?utf-8?B?cnlHN2tJTTM4ZTAxVUYyVjc3NGkyRTZlRGk1V2c4WUFHRFhlR3BpQzR6VEFO?=
 =?utf-8?B?VCsxR1BQWmNrVHU4bjBLUDY2eHZmUm5qTmhCN2FyT1ZZV084UUgwMjlxMks4?=
 =?utf-8?B?NnJjZW9xN2o1ZnhJL05BcVZWR2RKdzFTOW5BSVlQRDlsREVtL1BSRllPekQ4?=
 =?utf-8?B?YUFSQTdZZ0J1enhlZ1hnVlRCNzZhMHY5dTM5TzdlNVJuZjFMeXQ4QXpFMCt4?=
 =?utf-8?Q?umKhu21IrC2oNP3mosRpiYZ7r?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d4a8ac9c-7d5a-4fd5-68bd-08dbef5cf7cc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 15:24:37.7453
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BElIWPwVWxGK6aEjLqcpR+ZqjC39bKzxWBeAP4cdvVnmhbLzpagdwGfAcMeAeOHu170DxegMoaw2aP7mFtRMwQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7810

On 24.11.2023 09:11, Nicola Vetrini wrote:
> The comment-based justifications for MISRA C:2012 Rule 8.4 are replaced
> by the asmlinkage pseudo-attribute, for the sake of uniformity.
> 
> asmlinkage may in the future have the effect of altering the calling
> convention, therefore three special where the calling convention is
> altered by another macro retain the textual deviation.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Acked-by: Julien Grall <jgrall@amazon.com>

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

Irrespective guidelines on when to use which will likely want spelling out
somewhere.

Jan



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:38:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:38:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642305.1001662 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dgX-0001wy-Fe; Mon, 27 Nov 2023 15:38:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642305.1001662; Mon, 27 Nov 2023 15:38: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 1r7dgX-0001wr-D1; Mon, 27 Nov 2023 15:38:09 +0000
Received: by outflank-mailman (input) for mailman id 642305;
 Mon, 27 Nov 2023 15:38: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=QuWu=HI=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r7dgV-0001vX-WA
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:38:08 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe16::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f46a25a7-8d3a-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 16:38:05 +0100 (CET)
Received: from AM0PR10CA0042.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:20b:150::22)
 by DBBPR08MB6266.eurprd08.prod.outlook.com (2603:10a6:10:203::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Mon, 27 Nov
 2023 15:37:58 +0000
Received: from AM3PEPF0000A796.eurprd04.prod.outlook.com
 (2603:10a6:20b:150:cafe::3d) by AM0PR10CA0042.outlook.office365.com
 (2603:10a6:20b:150::22) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend
 Transport; Mon, 27 Nov 2023 15:37:58 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM3PEPF0000A796.mail.protection.outlook.com (10.167.16.101) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Mon, 27 Nov 2023 15:37:57 +0000
Received: ("Tessian outbound 5d213238733f:v228");
 Mon, 27 Nov 2023 15:37:57 +0000
Received: from 04a1da9d97e5.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 6CC1E321-0589-4951-8133-31D8299BCECD.1; 
 Mon, 27 Nov 2023 15:37:46 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 04a1da9d97e5.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 27 Nov 2023 15:37:46 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AS2PR08MB9786.eurprd08.prod.outlook.com (2603:10a6:20b:605::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28; Mon, 27 Nov
 2023 15:37:44 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.022; Mon, 27 Nov 2023
 15:37: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: f46a25a7-8d3a-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=m9AWpTWpfYp3CeVjzqdO2EPMH1D2Lhu/wFAqLXOtEKB3cqxMo9MS4/rMucjfXQQT9mqG77kQi0fYapuiSyUlPuKlMgIYH3U27RciX55mnBCHTX5e7ajwxoERc55RUcnuL1JtNH03bPHUgpOVzWTn9ZmkxcekVw1YLvx8gDc9URnBdAlGO02uJm/Z7uirtyclT/C7S94Jvffo1J1Woa+uBohYEbg+KXnmWOp64DlqBcaIolOjLlu0t5PBQxn8fDl2tG0+9Es8IY3zvbecrjRA38E01XKBJi6ol4xXTyb3xOQz4JoDWRoXN9fOIXos+x1Nrx+Xfe4c0U+RpVRr4rEs1w==
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=TvWSAQNKX1G5wd2oakkCR2kHpeUYVezXHZ16eLXaOE0=;
 b=iRed0VC2cPYmKM9oBI34je0+gKZ5rJenlXt5ovNqidHYv1J8RMrPS7S/s8fDFzLcjW1EXwNklFuwozT6EzPgdCPFAS9aBoFyWRvppzvPZA+J9qbRro/gKoKJDmzWyrN6Z45uMzaEZmy89wPnHwR5nTSAC4dh4zKBs2ralQhRmWyYV0onuB26scdYpHG7kyzhd3ISZar/GcUNSnkER4EU+5/iUB0dg5xNDoDTqPvAD9rLTfPMWDEjCddn1GcdIG31+5ubeI+fcbHfMDj2w5dG/iJC5k7qtOeNo0hjz9NxJfoD6RundMhLPfMi25TIx1VPfxF473K/CGhDDXwlD0hq9w==
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=TvWSAQNKX1G5wd2oakkCR2kHpeUYVezXHZ16eLXaOE0=;
 b=badn6k/PnWKT1M9PPLubTg3jkLM9Lfu/dMwNg8GQ3HFBB+AvKYaV5UKY9ALWWWFCn69dw6Vk4Kp//8TTt6DrkaPZMwuuVvTjUQhDKVy8h6nhFskiIPedXpQmjq4S2v90iDB+b3GrpakDJZl09TWSveMnSFYUXW45/qS/Wtxqm0k=
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: bd90959dcd3c3ece
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OswIkPJrhOEMgsxqxDIA8DxKHID1wF3llDfytiNHgXGIPC/xstkpUntpjC8F123Kz9XOPTbPLyRZThlg9XrkVcNjZGBJYkWsJk5aOJQ4aq5KORXhDdDKPxRUJHphDWVueJDytw6pQ7Bnv0Rtw1aaKXcihWaS72hysh9eJGvScWaEenCLtZVc41suomqk/QjV4GNcnga2kg44YK4CfJBP+P1mZyHL9W4w/Vkwo6J965uPOhE9Dw5MrahVQmyriBoAcun2vnJzSYZiKiNCkUEzecPGs+dce5VtBrt79fMHtoq7WfClHkaN6uqYAbuBHJLn7h8dM6L5jryh1n1ZCgXZFA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TvWSAQNKX1G5wd2oakkCR2kHpeUYVezXHZ16eLXaOE0=;
 b=MPHQAjECyPw/7gtbAepeDLScZitAY8uMfNCbbGz6JQttXYDuzy/X8/sFIZRK1+dqZbJlfLgbudlIsseR1vTiqko1uAr3VvcstkUvu3ReNgsxXFlcr+XtWWkOnUkQzYNYvTkbXlGRQhSMCiWRjH17EIyH2PrDzkCuSP28vRhM3VIruTUn3WKzJiD4Cwrxd913iD88KC5AphsoONIHBLYyzbyBPsn59nQKGqOMePIRelXP6M0wRv2P5Ssf20Aoe8TnRH8TkVh4QSdoYiTKKM2QPHjwX+a/LG6dd+kA8ZlKacbCt3fOtm9y4xaRxzuX9eG6m6kAhHYefBciQ9GIiqBWdw==
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=TvWSAQNKX1G5wd2oakkCR2kHpeUYVezXHZ16eLXaOE0=;
 b=badn6k/PnWKT1M9PPLubTg3jkLM9Lfu/dMwNg8GQ3HFBB+AvKYaV5UKY9ALWWWFCn69dw6Vk4Kp//8TTt6DrkaPZMwuuVvTjUQhDKVy8h6nhFskiIPedXpQmjq4S2v90iDB+b3GrpakDJZl09TWSveMnSFYUXW45/qS/Wtxqm0k=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Clang-format configuration discussion - pt 2
Thread-Topic: Clang-format configuration discussion - pt 2
Thread-Index:
 AQHaHhwDfni7SbjBtk6S7YLD/w4HebCJbICAgAAi9QCABIyNgIAAK/0AgAAEPICAAAbTgA==
Date: Mon, 27 Nov 2023 15:37:43 +0000
Message-ID: <8DE85ED0-2949-4FF1-832B-ABEDC86BF13B@arm.com>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
 <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
 <838395c3-41ba-4004-abf1-948b655a5ef2@suse.com>
 <B5AF6A9F-3986-4F3C-90F7-122D63A2B31A@arm.com>
 <a99681e4-e201-4abe-bf6a-fda61674074e@suse.com>
In-Reply-To: <a99681e4-e201-4abe-bf6a-fda61674074e@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AS2PR08MB9786:EE_|AM3PEPF0000A796:EE_|DBBPR08MB6266:EE_
X-MS-Office365-Filtering-Correlation-Id: 3598a330-5a69-4e1a-8906-08dbef5ed4b6
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:
 PyS9cUjttySj+EVBDXIeJCwphM77Oh1nDC9vR2Wpbe9EfJIl2o1+5wQS4ZEYkQ/Umrk08pHJaIvoXPdNs+bCAMKEPXC369YmCjQdL4RGQ591JmZDcGwq1iDWfjkAPPA/sghxBOCZVXikjRxiE73BDwX7SOijFMlKbKp9+siQITrdA8nScitYoJziWPBJmLnEH8/IR3a62PklQlYpBmZSBU3bAukyM1BtJQKqLgq6AHHiMcC5Orq0mvHZw6voeeG+FP/VuIAExcUKwk7SRbquYR9bPmyciBho70uwrbILJjbrekW1snoHsCzbIi/6M4GcpWUKHTWrsXOPiB4mjxpeM+aiqF3l65gteICzesqfDN2hMoIGvwb7OV1jHsnCI0q/IHFkij4uYiI0G5Na9y9lFjogX2L5zzQ+kj5+qt4MUUHwAc0V0Ddcx0APvzc9VBT9Oa6J8UcuaGhCsneOpxNQ7T+uM1/ynQBxj3KpTn412V+nH/R0MezMzQ8+X2FaLHR/tkcbOsWjT5SiRK60UrYoLYeyGUvtEs4Bnaw1FXdgec46bRH5LTfaXW7cI1WD3jyWD6ZSn3qXU7y1Nzd0AhFBt8sJ3eqzyikSSM9lhLZ7J6KqFhpZqR5FMXVvbVYGMQElRgHrI17tgJg0WeXjR/4eGcKg6s16q2+gkYpmfiuFeK5th1r9AAlxNcYG2aRBMCMA
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(366004)(136003)(396003)(376002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(71200400001)(8936002)(8676002)(4326008)(6512007)(6506007)(53546011)(64756008)(316002)(91956017)(66556008)(66946007)(6916009)(54906003)(76116006)(966005)(6486002)(478600001)(122000001)(36756003)(38100700002)(41300700001)(38070700009)(33656002)(86362001)(26005)(2906002)(66476007)(2616005)(83380400001)(5660300002)(66446008)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <DB03494A459FA642AC188B39D9B83D7B@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR08MB9786
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:
 AM3PEPF0000A796.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	e0042cc7-0d7c-45cb-6c3e-08dbef5ecc7c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	lp8vP6haPsikc+72DF7Dfqm2IIX3UDrkV6fwkRMyYqaGBqN5Y74ZFzvXRPCyXTWIHXqzCQjyVL9QDKFAekGnerMyJzf0hWxyywYWUrLPukLSug6Ehxg6flkjoOVG03J89EAzJlxFEthLj4LJi+TYRXznrtAzyRvlGfuM+l2OE3K+NudNGxW5+ZY46lTHr3Oj+rIA3u0SYk6bEAMk1zJFoBmsaWWcpVKfX1SBBwhZEQrdmMa1E6c924XPtxXAw4j7nTJlkhZcyyPOa2mZGhdJaOJSZk0YUT9/ppt+4lC+IY2ADld5zMOY6+E9BM/+QN6V+aAa81GcUdLIpDuH6EjrnJcGmCm1JHMSn3E+DFyDBAEzusjjG/xkSuMDEHA5OrHInhYZBqUZXHtUWEKneXck9mRVCkACgqisYvc4rqGQQOzy0qzGsS2/HwmjBuYLLvEwiLn/Ay+XaHBZ3EDToPHP+k+DsSa7O3ldBpDiLwxR9NxSveosV9BDevja2eLZENhSzpb7TwhXjRptzw0xSeTqCpYgav6c5NYmisbyvgUJtVp/eNrAivuIVPRlFlF7zdkhz06ZbkstPicjzMauoLUHko1dAo8qGyEK73F3KPTBY42QZw8zfuPat1lRc/jLWUmkf61sNMu6T0gM4a8nAicaQnIHfM6ZG86H13fTwuGcOjlpKUkFJFNEHjFTcGBfjoiwW+Heid3/y0c/AaaZiSVjhC9S2eCiVeffoCvx3dCTVc0eecJ74J5rSQPi/7AdQ/4+Tzh0bNPq5O35EMojTe+/VA==
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:(13230031)(4636009)(39860400002)(376002)(136003)(396003)(346002)(230922051799003)(82310400011)(1800799012)(451199024)(186009)(64100799003)(46966006)(40470700004)(36840700001)(83380400001)(81166007)(356005)(47076005)(336012)(82740400003)(8936002)(6512007)(6506007)(6862004)(8676002)(316002)(966005)(70206006)(70586007)(36860700001)(53546011)(54906003)(86362001)(4326008)(6486002)(478600001)(5660300002)(33656002)(40480700001)(41300700001)(2906002)(36756003)(26005)(2616005)(40460700003);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 15:37:57.7128
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 3598a330-5a69-4e1a-8906-08dbef5ed4b6
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:
	AM3PEPF0000A796.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB6266

DQoNCj4gT24gMjcgTm92IDIwMjMsIGF0IDE1OjEzLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjcuMTEuMjAyMyAxNTo1OCwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+PiBPbiAyNyBOb3YgMjAyMywgYXQgMTI6MjAsIEphbiBCZXVsaWNoIDxqYmV1bGlj
aEBzdXNlLmNvbT4gd3JvdGU6DQo+Pj4gT24gMjQuMTEuMjAyMyAxNTo1MiwgTHVjYSBGYW5jZWxs
dSB3cm90ZToNCj4+Pj4+IE9uIDI0IE5vdiAyMDIzLCBhdCAxMjo0NywgSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCj4+Pj4+IE9uIDIzLjExLjIwMjMgMTU6NDcsIEx1Y2Eg
RmFuY2VsbHUgd3JvdGU6DQo+Pj4+Pj4gTGV04oCZcyBjb250aW51ZSB0aGUgZGlzY3Vzc2lvbiBh
Ym91dCBjbGFuZy1mb3JtYXQgY29uZmlndXJhdGlvbiwgdGhpcyBpcyBwYXJ0IDIsIHByZXZpb3Vz
IGRpc2N1c3Npb25zIGFyZToNCj4+Pj4+PiANCj4+Pj4+PiAtIGh0dHBzOi8vbGlzdHMueGVucHJv
amVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAyMy0xMS9tc2cwMDQ5OC5odG1sDQo+
Pj4+Pj4gDQo+Pj4+Pj4gWW91IGNhbiBmaW5kIHRoZSBzZXJpZSBpbnRyb2R1Y2luZyBjbGFuZy1m
b3JtYXQgaGVyZToNCj4+Pj4+PiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3Qv
eGVuLWRldmVsL2NvdmVyLzIwMjMxMDMxMTMyMzA0LjI1NzM5MjQtMS1sdWNhLmZhbmNlbGx1QGFy
bS5jb20vDQo+Pj4+Pj4gYW5kIHRoZXJlIGlzIGFsc28gYSBwYXRjaCBsaW5rZWQgdG8gbXkgZ2l0
bGFiIGFjY291bnQgd2hlcmUgeW91IGNhbiBmaW5kIHRoZSBvdXRwdXQgZm9yIHRoZSBoeXBlcnZp
c29yIGNvZGUuDQo+Pj4+Pj4gDQo+Pj4+Pj4gRm9yIGEgZnVsbCBsaXN0IG9mIGNvbmZpZ3VyYWJs
ZXMgYW5kIHRvIGZpbmQgdGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlbSwgcGxlYXNlIHJlZmVy
IHRvIHRoaXMgcGFnZToNCj4+Pj4+PiBodHRwczovL2NsYW5nLmxsdm0ub3JnL2RvY3MvQ2xhbmdG
b3JtYXRTdHlsZU9wdGlvbnMuaHRtbA0KPj4+Pj4+IA0KPj4+Pj4+IC0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tDQo+Pj4+Pj4gDQo+Pj4+Pj4gT3VyIGNvZGluZyBzdHlsZSBkb2VzbuKA
mXQgbWVudGlvbiBhbnl0aGluZyBhYm91dCBhbGlnbm1lbnQsIHNoYWxsIHdlIGFkZCBhIG5ldyBz
ZWN0aW9uPw0KPj4+Pj4+IEkgY2FuIHNlbmQgcGF0Y2hlcyB3aGVuIHdlIHJlYWNoIGFncmVlbWVu
dCBvbiBlYWNoIG9mIHRoZXNlIHJ1bGVzLg0KPj4+Pj4+IA0KPj4+Pj4+IA0KPj4+Pj4+IFF1YWxp
ZmllckFsaWdubWVudDogQ3VzdG9tDQo+Pj4+Pj4gUXVhbGlmaWVyT3JkZXI6IFsnc3RhdGljJywg
J2lubGluZScsICdjb25zdCcsICd2b2xhdGlsZScsICd0eXBlJ10NCj4+Pj4+PiANCj4+Pj4+PiAt
LS0NCj4+Pj4+PiBGb3Ig4oCcUXVhbGlmaWVyQWxpZ25tZW504oCdIEkgY2hvc2UgQ3VzdG9tIGlu
IG9yZGVyIHRvIGFwcGx5IGluIOKAnFF1YWxpZmllck9yZGVy4oCdIGFuIG9yZGVyIGZvciB0aGUN
Cj4+Pj4+PiBxdWFsaWZpZXJzIHRoYXQgbWF0Y2ggdGhlIGN1cnJlbnQgY29kZWJhc2UsIHdlIGNv
dWxkIHNwZWNpZnkgYWxzbyDigJxMZWF2ZeKAnSBpbiBvcmRlciB0byBrZWVwDQo+Pj4+Pj4gdGhl
bSBhcyB0aGV5IGFyZS4NCj4+Pj4+IA0KPj4+Pj4gV2hlcmUgZG8gYXR0cmlidXRlcyBnbyBpbiB0
aGlzIHNlcXVlbmNlPw0KPj4+PiANCj4+Pj4gSSB0aGluayBmdW5jdGlvbiBkZWNsYXJhdGlvbi9k
ZWZpbml0aW9uIGFuZCB2YXJpYWJsZXMuDQo+Pj4gDQo+Pj4gSG93IGRvZXMgdGhpcyByZWxhdGUg
dG8gbXkgcXVlc3Rpb24/IEkgYXNrZWQgYWJvdXQgdGhlIHNlcXVlbmNlIG9mIGVsZW1lbnRzDQo+
Pj4gbGlzdGVkIGZvciBRdWFsaWZpZXJPcmRlcjosIHdoZXJlIGF0dHJpYnV0ZXMgZG9uJ3QgYXBw
ZWFyIGF0IGFsbCByaWdodCBub3cuDQo+PiANCj4+IFNvcnJ5LCBJIG1pc3JlYWQgeW91ciBxdWVz
dGlvbiwgYXR0cmlidXRlcyBhcmUgbGlrZSBpbnZpc2libGUgZm9yIHRoZSB0b29sLCB0aGV5IGNh
biBiZSBwbGFjZWQgd2hlcmV2ZXIgYmV0d2Vlbg0KPj4gZWFjaCBvZiB0aGUgUXVhbGlmaWVyT3Jk
ZXIgaXRlbXMuDQo+IA0KPiBIb2hvLCBvbmUgdGhpbmcgd2hlcmUgdmFyaW91cyBvcHRpb25zIGFy
ZSB0b2xlcmF0ZWQuDQo+IA0KPj4+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
DQo+Pj4+Pj4gDQo+Pj4+Pj4gQWxpZ25BZnRlck9wZW5CcmFja2V0OiBBbGlnbg0KPj4+Pj4+IA0K
Pj4+Pj4+IC0tLQ0KPj4+Pj4+IFRoaXMgb25lIGlzIHRvIGFsaWduIGZ1bmN0aW9uIHBhcmFtZXRl
cnMgdGhhdCBvdmVyZmxvd3MgdGhlIGxpbmUgbGVuZ3RoLCBJIGNob3NlIHRvIGFsaWduIHRoZW0N
Cj4+Pj4+PiB0byB0aGUgb3BlbiBicmFja2V0IHRvIG1hdGNoIHRoZSBjdXJyZW50IGNvZGViYXNl
IChob3BlZnVsbHkpDQo+Pj4+Pj4gDQo+Pj4+Pj4gZS5nLjoNCj4+Pj4+PiBzb21lTG9uZ0Z1bmN0
aW9uKGFyZ3VtZW50MSwNCj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3Vt
ZW50Mik7DQo+Pj4+PiANCj4+Pj4+IFRoZSBhYm92ZSBtYXRjaGVzIG5laXRoZXIgb2YgdGhlIHR3
byBnZW5lcmFsbHkgcGVybWl0dGVkIHN0eWxlczoNCj4+Pj4+IA0KPj4+Pj4gIHNvbWVMb25nRnVu
Y3Rpb24oYXJndW1lbnQxLA0KPj4+Pj4gICAgICAgICAgICAgICAgICAgYXJndW1lbnQyKTsNCj4+
Pj4+IA0KPj4+Pj4gIHNvbWVMb25nRnVuY3Rpb24oDQo+Pj4+PiAgICAgIGFyZ3VtZW50MSwNCj4+
Pj4+ICAgICAgYXJndW1lbnQyKTsNCj4+Pj4+IA0KPj4+Pj4gVGhlbiBhZ2FpbiBmcm9tIGl0cyBu
YW1lIEkgd291bGQgaW5mZXIgdGhpcyBpc24ndCBqdXN0IGFib3V0IGZ1bmN0aW9uDQo+Pj4+PiBh
cmd1bWVudHM/DQo+Pj4+IA0KPj4+PiBJIHRoaW5rIGl0IGFwcGxpZXMgdG8gcGFyYW1ldGVycyBh
bmQgYXJndW1lbnRzIG9mIGZ1bmN0aW9ucyBhbmQgbWFjcm8sIGdpdmVuIHRoZSBkZXNjcmlwdGlv
biBpbiB0aGUgZG9jcy4NCj4+Pj4gDQo+Pj4+IEkgc2VlIHlvdXIgdHdvIHNuaXBwZXRzIGFib3Zl
IGJ1dCBJ4oCZdmUgYWx3YXlzIGZvdW5kIGF0IGxlYXN0IG9uIGFybSBhIHByZWRvbWluYW5jZSBv
Zg0KPj4+PiB0aGUgc3R5bGUgYWJvdmUgZm9yIGZ1bmN0aW9ucywgc28gYXJndW1lbnRzIGFsaWdu
ZWQgYWZ0ZXIgdGhlIG9wZW5pbmcgYnJhY2tldCwgZm9yIG1hY3Jvcw0KPj4+PiB0aGVyZSBpcyBh
IG1peC4NCj4+PiANCj4+PiBUaGUgbGF0dGVyICJhYm92ZSIgcmVmZXJzIHRvIHdoaWNoIGZvcm0g
ZXhhY3RseT8gVGhlIG9uZSB5b3Ugb3JpZ2luYWxseQ0KPj4+IHNwZWxsZWQgb3V0LCBvciB0aGUg
Zm9ybWVyIG9mIHdoYXQgbXkgcmVwbHkgaGFkPw0KPj4gDQo+PiBJbiBteSByZXBseSBJIHdhcyBy
ZWZlcnJpbmcgdG8gdGhlIG9uZSBJIG9yaWdpbmFsbHkgc3BlbGxlZCBvdXQuDQo+IA0KPiBCdXQg
dGhhdCdzIHByb3Blcmx5IG1hbGZvcm1lZCwgZm9yIG5vdCBhbGlnbmluZyBhcmd1bWVudDIgd2l0
aCBhcmd1bWVudDEuDQo+IFdoZXJlIGFyZSBzdWNoIGNvbnN0cnVjdHMgY29tbW9ubHkgdXNlZD8g
SSBqdXN0IHRvb2sgb25lIGV4YW1wbGUgKGNwdWVycmF0YS5jKQ0KPiBhbmQgb25seSBmb3VuZCBt
eSBmaXJzdCBmb3JtIG9mIHdyYXBwaW5nLg0KDQpJIGhhZCB0byBnbyBiYWNrIHRvIHRoZSB0aHJl
YWQgdG8gcmVhbGlzZSB0aGVyZSB3YXMgc29tZSBzdHlsZSBpc3N1ZSwgdGhlIHNuaXBwZXQgSSB0
aG91Z2h0DQpJIHNlbnQgYWxyZWFkeSBoYWQgYXJndW1lbnQyIGFsaWduZWQgdW5kZXIgYXJndW1l
bnQxLCBsaWtlIHRoaXM6DQoNCmUuZy46DQpzb21lTG9uZ0Z1bmN0aW9uKGFyZ3VtZW50MSwNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnQyKTsNCg0KRXZlbiBteSB3b3Jk
aW5nIHdhcyBub3QgcmVhbGx5IGFjY3VyYXRlLCBhcyBJIG1lYW50Og0K4oCcVGhpcyBvbmUgaXMg
dG8gYWxpZ24gZnVuY3Rpb24gcGFyYW1ldGVycyB0aGF0IG92ZXJmbG93cyB0aGUgbGluZSBsZW5n
dGgsIEkgY2hvc2UgdG8gYWxpZ24gdGhlbQ0KKmFmdGVyKiB0aGUgb3BlbiBicmFja2V0IHRvIG1h
dGNoIHRoZSBjdXJyZW50IGNvZGViYXNlIChob3BlZnVsbHkp4oCdDQoNClNvIHRvIHN1bW1hcml6
ZSwgdGhpcyB2YWx1ZSBmb3JtYXRzIHRoZSBjb2RlIHRvIGhhdmUgb3ZlcmZsb3dpbmcgYXJncy9w
YXJhbSBhbGlnbmVkIGFmdGVyDQp0aGUgb3BlbiBicmFrZXQuDQoNCkJ1dCBJIHVuZGVyc3RhbmQg
dGhhdCBoYXZpbmcgb25seSBvbmUgZm9ybWF0IGlzIG5vdCBkZXNpcmFibGUuDQoNCj4gDQo+IEph
bg0KPiANCg0K


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:56:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:56:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642309.1001673 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dxZ-0001IT-4H; Mon, 27 Nov 2023 15:55:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642309.1001673; Mon, 27 Nov 2023 15:55: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 1r7dxZ-0001IM-0t; Mon, 27 Nov 2023 15:55:45 +0000
Received: by outflank-mailman (input) for mailman id 642309;
 Mon, 27 Nov 2023 15: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7dxX-0001IG-I6
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:55:43 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20617.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a742056-8d3d-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 16:55:41 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB7160.eurprd04.prod.outlook.com (2603:10a6:20b:119::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 15:55:39 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 15:55: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: 6a742056-8d3d-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NHrySxGXN9IIMq5H9lFV2rNTvNWPZJL/fVIiZAo6iK6IFIeVNlsjEprbNApPa36NNT2zsWDRerXlhg6i5kIYulJcj39gyjcEcaTaobOGRgaJ7/XYiPcclLkfQo0dDBZFfqAOYF+6HClLkKXEF3N6DpTFJQ+yM6L0YGgxQSGWZCZBrcGtWX/K0F37jZOr46GULYRR07KX0zmlJUpg1GgqjNdURZDqiPtzCJ1NYl/5esvRpJpa1+vnKSApIVvXn4QPa/TPtdXf8jO7v22dL7WazvFnOpnvGQLwyEmGUfb6ZRku/1/Z28xUjq0ggWnM9xGGZVkX8A4a0/SjsDL6l8674A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W+GUzqXZnN9KgWDZbFfw0QSufZRF5F6NsWh/ypV0kGk=;
 b=U8mACLYR0MuSIpHM7ByCg4D64kSB4FPn5DSesUSESt3qhBRWUfSlqSvvhdqdXjpbzEVrzEFOG0Czj7nNG6OCCsRpiTkckMOlqEjz3NaGNeO3IepxyjCm4UjyH13iPHPmn3Sl9T3cQCfk5/ayRkqUAGJ/+F5U2d85V3WjrnVgEHb3N+GTKojktkv11WLEkvAhrWyvTijZbXrrb8rTpYKxvJYNUcW7Z245etiiRWCFCZLq1XJmSKcBKJY2kevZhdKvcqRDg55Mf4V32eYumW4tkYXEO+XCnTe9iue5GRlaqmBVAFLwk2oLLIKBZdSzwNogVzHRKfZ0Z66xOkVz9PFMbQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=W+GUzqXZnN9KgWDZbFfw0QSufZRF5F6NsWh/ypV0kGk=;
 b=ms0+tKugwFl7gWJOv7pDaaZERUZ4/FvV4M7DNC/uW83RLNIO0QMCR2RHfJFmKoPHDWUsBfbBZGHH1gqE9cAUt5b0ez5M+Ni38YUaof3tHNBSatYTTJh+4SMOu82P5tbiL78e8JOj4ApRdIB+eRTSLCbe7QAG0Z83QQsVxfytlX8SQCMsGZV986sactYbMVPZLiGmu4us6HPeOaS0i8CwY7YORW4oMw9mbu9NBdOu299+3ijsftEGBkkJ5ijPZXaQHqsGiGyO4LuWSSFOoeNonWBtsDQiVvk0GroUmabS9VmcgfANHXg1yY3tazjPXkJzbzf3mfxJOxgwykNGOA2s8A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <05808302-3e8b-4e87-89bc-950261300958@suse.com>
Date: Mon, 27 Nov 2023 16:55:37 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Clang-format configuration discussion - pt 2
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <Michal.Orzel@amd.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
 <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
 <838395c3-41ba-4004-abf1-948b655a5ef2@suse.com>
 <B5AF6A9F-3986-4F3C-90F7-122D63A2B31A@arm.com>
 <a99681e4-e201-4abe-bf6a-fda61674074e@suse.com>
 <8DE85ED0-2949-4FF1-832B-ABEDC86BF13B@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <8DE85ED0-2949-4FF1-832B-ABEDC86BF13B@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0126.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:97::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB7160:EE_
X-MS-Office365-Filtering-Correlation-Id: e6af69f1-1525-4600-9bbe-08dbef614d86
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	FM+K8cmSOLmFfFrIx7hETehZCMDz6PUJoXJX61eHLnCM1htJYFVgf8bcW6lUIJY0xS5uO9UcWQLXeF3lo1o06V2MbXWEa7LKKAoclazrEUks13I5rMe7wWAIoxw2SwrIni1a3cmcXQ2JEJAVohmM6QXVsmyKUAMMK8yGXINCWK+AjVeo4qSWOxFAXsTJ9YgfQ0RyC+wmTqCsJgGuFa+PMIqbOyuHKmIn8ByltpqjctkDUta2jvPg5ZMwFUBuZWx14/kcN8n3bRr9QptUS8tet6w85uKS6GdivxHeFHu+whSBBuPYrITByFjHZ7cAc6vi2hEnOoxsMAkEqgKrLjU5xCa8O3ceZh5qwc6YEyhCfuJdrN5rh1pBCHdyhmfr3cn2Qq4iPjRBoUTxeX+HrBVD1N3evyUBk2fn5FGzkfHQEpllpfsxqTIEILabDFq5vUydVn8fhv6HqWFjily7gZMYvPKdzSRQwp6a2/4dyNonfXpbm7hDXB4NoSmA5/K0OdAEVMiYuP+OZ0EhwbooCpZDnN5MhWFs+pbzwS0roz2hVFe4EDoPJ4Xpc98M+F2GsptMX3MLvLW/KSMUXHAkku66GWDBxdf1BwGehYXjEMiHZqDqct7ZD9rJsFwC33D9Oyie64zHZiDjEgAbS97pVoOeqp0y4rqS8B0E3lVq23AVzsQ=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(396003)(39860400002)(136003)(346002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(41300700001)(31686004)(4326008)(2906002)(8936002)(8676002)(6512007)(6506007)(53546011)(86362001)(2616005)(31696002)(316002)(66476007)(66556008)(66946007)(6916009)(54906003)(7416002)(5660300002)(478600001)(966005)(6486002)(36756003)(26005)(83380400001)(38100700002)(116466002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?N3BGZ09wK3RBVHZwanFlR1dRY0JQK0hNOURXS2FZN2dZVVc0Q2pxa0loZkls?=
 =?utf-8?B?Y0pGRG1ydVZORHluRE1Wak9Nc0s2VXoyY2ZnazlkY1c5aGQrSW5qeU1ya0ZK?=
 =?utf-8?B?TUxXQkFSV2M0cFpaa1I3eEQrK0NZcWlJamRFckMyUnVOZ05GdE4wUG0vZ0Fr?=
 =?utf-8?B?cTAwSjZTWlE2TzNDR21VTUZqMFA0U0s5b0VDcnRZbkRUSWRCNFY1NWNTVHhY?=
 =?utf-8?B?bEtBZWs2RnRqU3R0c0ZoSDk4NHRHVUZ5NXpVZXQ4Y1lidkp6aXVobVdCNnJ2?=
 =?utf-8?B?eHkxdTlIa0RiVUVhSzVXLzVvUklvZHpzaXpvUlUwYU0zV05rcTYwV045Zk9O?=
 =?utf-8?B?RGdHRk5lVUZUc21pM3pzaGhrWkIxa2dleEVzdm9TR05vZnd3WVBaTGVYUVNR?=
 =?utf-8?B?cStubjB5U3ZNVjJsZVF6OVRYVlNlRnZFRVpsbnpHdVVqQVY0VXI2d2dmSWh4?=
 =?utf-8?B?M1hMeHZCdURpTUVwSUZ6MDQ5aUhUR09iaHNpNXUvZ3pqUlhKTVJkMGpsMkQ1?=
 =?utf-8?B?YUVWdEpLdC9mWng4bFpqRjNzRDZaTkkxVXpmNzJObUkzSGhRVVh4UTlaV2lR?=
 =?utf-8?B?Y280ZXJ3V216QTljSHFnMUJEZkNpSVptZWJWaG92R21Od0d4T0ZpcC91ejRT?=
 =?utf-8?B?UERhbXRKaXZtNGczL0NYUUYweFVQQ0YxYmR1OWlMQk9vOWJCdXBsemw0c3Ri?=
 =?utf-8?B?dFJLODc0ajFNOTRJMTFqSldWUFBnZjk3RDUwRjJmdWxrSTZ0VFNGMEhka0dX?=
 =?utf-8?B?ZEY3V1MyOUM2dEU3b1kwZkp2L0srY3VVaXJFNklxTjlYYkw5aWF0MFJHa0I2?=
 =?utf-8?B?dVpWNkw5TGo3TkJ0a1lDK3djWis1YVZsd0d1dUsyUGhWZUNpbHp3amlJVUNq?=
 =?utf-8?B?b0p4dm1UV0NodXlINnA0ZHljRUY4ZWloS0VDeFRZTTRjeXdqb2VoYWlFZ2hW?=
 =?utf-8?B?S1puZ1RBejhyWHIwRXdzblNpa3Vqd1BrV3BlUk51MGpJclJIeDhpRVlxWGxo?=
 =?utf-8?B?YTlQNHBGc3dJYzhMV3NJM0pTdFhlM0lxM0lqbDJBMjhHejdRdFk4REZFeWZt?=
 =?utf-8?B?aUlPU3liS3FJNEZDaHBmeE9RUnNDcmRRdmJOb0M0aHc5dmpLZjZYSHVuR2xM?=
 =?utf-8?B?RDdiNVI4SzkzQVZMY3dXV0ZJYkNmcGtPMm42aDJ5aTFLZjMxWWJlbFVzdjVk?=
 =?utf-8?B?ZnNTSjJOSDlPOUQzZUM4VTZPOVQxVmNBeXluMFlWdGpaOG41Nk9RL0lUZS9q?=
 =?utf-8?B?TmpyY2phWHh1WTE3VE13MmI3bDNBRVZLTEErSW0vajFYU1VCYVI2RFA1aFNv?=
 =?utf-8?B?OUQ2NUpqRUxkaml5RyswQklNQVEyLytwU3ZOa1NVUjhwc0xhcE9mQjNlZ2ZY?=
 =?utf-8?B?YklJTDdHUmNONmk4VzRXbmJBZGp6MFF5cGRsNWF5T01nVkh6OU9UNFpmWm9j?=
 =?utf-8?B?WHNZbXJWY0lkTW9wb24zMVJZalJVRGpZc3h1ejRvaHMwWHo0OEtsalFoekNP?=
 =?utf-8?B?YWlQQ1M3Y3VuV0JBWktFOFhnQytBV282MmRwaWRsSWhGNXgzWWNRTjcrblJY?=
 =?utf-8?B?YkhHZVNaK2xRV0FHWkJMazNxSUJMTkxOaVFwSzMyQXNKVmZhQkVrMExHTEI2?=
 =?utf-8?B?cytMWDhhZktwY1c2QlRZKzk1RFVEdW1HbXkwU1lFM1E1SXU0LzZpOUc3Z1pG?=
 =?utf-8?B?NnBxemtWTmZFdldyWS9TS2hWTVhmVVpCNWdJclJudVE0SVhVYnA0WVpLWnhY?=
 =?utf-8?B?cXpmMGVzcXRpYmJ4cDdpYnVCVVY1enM5a2s4WjdpZzA3cVBtM1cwZkVEbUJM?=
 =?utf-8?B?dS81RjRHd0FLb2FXb0E1RkRUVEZjeDFXUGt0dktJNU00YkZmUzBUeUxURitt?=
 =?utf-8?B?eVVDN1FFTmRodmVLMWlmVE5CN0dwZnBYOXBYRUNTaW5TdTRsTE15Y2oxcmdX?=
 =?utf-8?B?aGxYRE0yRDNYVlVJbFpyQmt6bTZDOWJkRUhlQ2s4VUZhSWp3dzNxY1l2MUJr?=
 =?utf-8?B?U3B3TGpadjlmSWRHWXJQaWViUnBqQ0FJaFdKZFNzN3dWaTN2dURvbjhCMzQ1?=
 =?utf-8?B?SmNoS3RuNEt5ZnFVcUs0QjJxRWNxYWc4dmV1NmRZZjZNYlUwUFY3OGFGVGNU?=
 =?utf-8?Q?Yss2s1+2HZvwunopvtuofyQ9C?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e6af69f1-1525-4600-9bbe-08dbef614d86
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 15:55:39.5983
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rL26FAqTXZBUVKduMnnJUnyxrJQJqlkgqhOeegyZ9JbituWI/oyB3zb0vykTUsdYfZFJu1a3fcEV+jk/rk/fNg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7160

On 27.11.2023 16:37, Luca Fancellu wrote:
> 
> 
>> On 27 Nov 2023, at 15:13, Jan Beulich <jbeulich@suse.com> wrote:
>>
>> On 27.11.2023 15:58, Luca Fancellu wrote:
>>>> On 27 Nov 2023, at 12:20, Jan Beulich <jbeulich@suse.com> wrote:
>>>> On 24.11.2023 15:52, Luca Fancellu wrote:
>>>>>> On 24 Nov 2023, at 12:47, Jan Beulich <jbeulich@suse.com> wrote:
>>>>>> On 23.11.2023 15:47, Luca Fancellu wrote:
>>>>>>> Let’s continue the discussion about clang-format configuration, this is part 2, previous discussions are:
>>>>>>>
>>>>>>> - https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00498.html
>>>>>>>
>>>>>>> You can find the serie introducing clang-format here:
>>>>>>> https://patchwork.kernel.org/project/xen-devel/cover/20231031132304.2573924-1-luca.fancellu@arm.com/
>>>>>>> and there is also a patch linked to my gitlab account where you can find the output for the hypervisor code.
>>>>>>>
>>>>>>> For a full list of configurables and to find the possible values for them, please refer to this page:
>>>>>>> https://clang.llvm.org/docs/ClangFormatStyleOptions.html
>>>>>>>
>>>>>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>> Our coding style doesn’t mention anything about alignment, shall we add a new section?
>>>>>>> I can send patches when we reach agreement on each of these rules.
>>>>>>>
>>>>>>>
>>>>>>> QualifierAlignment: Custom
>>>>>>> QualifierOrder: ['static', 'inline', 'const', 'volatile', 'type']
>>>>>>>
>>>>>>> ---
>>>>>>> For “QualifierAlignment” I chose Custom in order to apply in “QualifierOrder” an order for the
>>>>>>> qualifiers that match the current codebase, we could specify also “Leave” in order to keep
>>>>>>> them as they are.
>>>>>>
>>>>>> Where do attributes go in this sequence?
>>>>>
>>>>> I think function declaration/definition and variables.
>>>>
>>>> How does this relate to my question? I asked about the sequence of elements
>>>> listed for QualifierOrder:, where attributes don't appear at all right now.
>>>
>>> Sorry, I misread your question, attributes are like invisible for the tool, they can be placed wherever between
>>> each of the QualifierOrder items.
>>
>> Hoho, one thing where various options are tolerated.
>>
>>>>>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>
>>>>>>> AlignAfterOpenBracket: Align
>>>>>>>
>>>>>>> ---
>>>>>>> This one is to align function parameters that overflows the line length, I chose to align them
>>>>>>> to the open bracket to match the current codebase (hopefully)
>>>>>>>
>>>>>>> e.g.:
>>>>>>> someLongFunction(argument1,
>>>>>>>                              argument2);
>>>>>>
>>>>>> The above matches neither of the two generally permitted styles:
>>>>>>
>>>>>>  someLongFunction(argument1,
>>>>>>                   argument2);
>>>>>>
>>>>>>  someLongFunction(
>>>>>>      argument1,
>>>>>>      argument2);
>>>>>>
>>>>>> Then again from its name I would infer this isn't just about function
>>>>>> arguments?
>>>>>
>>>>> I think it applies to parameters and arguments of functions and macro, given the description in the docs.
>>>>>
>>>>> I see your two snippets above but I’ve always found at least on arm a predominance of
>>>>> the style above for functions, so arguments aligned after the opening bracket, for macros
>>>>> there is a mix.
>>>>
>>>> The latter "above" refers to which form exactly? The one you originally
>>>> spelled out, or the former of what my reply had?
>>>
>>> In my reply I was referring to the one I originally spelled out.
>>
>> But that's properly malformed, for not aligning argument2 with argument1.
>> Where are such constructs commonly used? I just took one example (cpuerrata.c)
>> and only found my first form of wrapping.
> 
> I had to go back to the thread to realise there was some style issue, the snippet I thought
> I sent already had argument2 aligned under argument1, like this:
> 
> e.g.:
> someLongFunction(argument1,
>                                 argument2);
> 
> Even my wording was not really accurate, as I meant:
> “This one is to align function parameters that overflows the line length, I chose to align them
> *after* the open bracket to match the current codebase (hopefully)”
> 
> So to summarize, this value formats the code to have overflowing args/param aligned after
> the open braket.

But the example above _again_ does not have the two arguments aligned.
I would have suspected a mail UI issue, but
https://lists.xen.org/archives/html/xen-devel/2023-11/msg02366.html
similarly shows way too many indenting blanks on the 2nd line.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:56:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:56:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642311.1001683 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dyV-00022X-DA; Mon, 27 Nov 2023 15:56:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642311.1001683; Mon, 27 Nov 2023 15: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 1r7dyV-00022Q-AP; Mon, 27 Nov 2023 15:56:43 +0000
Received: by outflank-mailman (input) for mailman id 642311;
 Mon, 27 Nov 2023 15: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=fT1m=HI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r7dyU-0001IG-GA
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:56:42 +0000
Received: from mail-wm1-x333.google.com (mail-wm1-x333.google.com
 [2a00:1450:4864:20::333])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8e4aabba-8d3d-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 16:56:41 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40b4746ae3bso6025005e9.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 07:56:41 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n26-20020a05600c3b9a00b0040b400711f5sm8059133wms.7.2023.11.27.07.56.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 07:56:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8e4aabba-8d3d-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701100601; x=1701705401; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/25M6b94F8nds+B2SV+SIOQY+XSnhZqFugQ7IVmNW2s=;
        b=hALJBSqa9+INgpsFRGHE71CsImA4IWwxA0+umEHGGMVbglZsQHeklcCNHVT+nD/VxJ
         iNzijYfpQzlhw19O27wwBMKMAezJTuLbwa9LIcPCZL2/gTdO8U2nOb1y+DZrRjeqRyDe
         4So3enwY3vi+TfutGofDgeiGyOV1gbmn+pM4o=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701100601; x=1701705401;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=/25M6b94F8nds+B2SV+SIOQY+XSnhZqFugQ7IVmNW2s=;
        b=rby/p/7KT8CI8StpSHwQaCyEvzV3G9xVxdxg8i7FlUPilUC/4yaNW/UWP0WtcLwmfO
         jiXwl+nefTDTNoAb7ACEkTRJ6XLgzdmGP38jjnXUmlPBUZU1bgAK528WkIw7DJja9pp+
         oI6laBvSK1zfZfS27tH4k0GpgxqR5blLpPqTQj1y1SLQPBojvb7fSm65OyCTBE3SblVC
         gCqG8XhICsGvdrgO82w+fmKqfx9wDJrwvicHHEPRBrVM81lpGxLqHW8dZplephodTVH9
         Tmi1cu+8F1hTEsorjaMgN8cbxU7jsINV0sA9ypSJRlGP1BhEivo0RW6XQgLF/64kdwEB
         elzQ==
X-Gm-Message-State: AOJu0YxLwvSULt0K2SoRhF4WpU7idV08WKdy4U9Tjm9fdXJln0DEFSBN
	mhceZhdVi4kbtXWxsLN0LORWqw==
X-Google-Smtp-Source: AGHT+IFJZ1GqWeL/QZ5N+tuWvpjvL+KB0ali01ILYTqby+gX+LS+XZfqiglfVuR0UjzuTk5Y4sOScQ==
X-Received: by 2002:a05:600c:458f:b0:40b:2afd:70a6 with SMTP id r15-20020a05600c458f00b0040b2afd70a6mr8242498wmo.1.1701100600988;
        Mon, 27 Nov 2023 07:56:40 -0800 (PST)
Message-ID: <e5adb091-ebd6-4321-862e-d08591af0ecb@citrix.com>
Date: Mon, 27 Nov 2023 15:56:40 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-GB
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Neowutran <xen@neowutran.ovh>, Elliott Mitchell <ehem+xen@m5p.com>,
 Henry Wang <Henry.Wang@arm.com>, xen-devel@lists.xenproject.org,
 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?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com> <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com>
 <81f6bbd5-0487-461a-af1a-dbb6ead47cab@citrix.com>
 <x4qzfuqkkebjkdfmhw6rvdhrn2ewa6ghjtjqd7xevnuylfahh7@pjratinsg76a>
 <a4b4546a-60b8-4d0e-bdf4-9af6699fb925@citrix.com> <ZWStY7G_Anh1MWHX@macbook>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <ZWStY7G_Anh1MWHX@macbook>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/11/2023 2:53 pm, Roger Pau Monné wrote:
> On Mon, Nov 27, 2023 at 11:49:03AM +0000, Andrew Cooper wrote:
>> On 24/11/2023 7:54 pm, Neowutran wrote:
>>> Hi, 
>>> I did some more tests and research, indeed this patch improved/solved my specific case. 
>>>
>>> Starting point: 
>>>
>>> I am using Xen version 4.17.2 (exactly this source https://github.com/QubesOS/qubes-vmm-xen).
>>> In the bios (a Asus motherboard), I configured the "local apic" parameter to "X2APIC".
>>> For Xen, I did not set the parameter "x2apic-mode" nor the parameter "x2apic_phys". 
>>>
>>> Case 1:
>>> I tryied to boot just like that, result: system is unusuably slow
>>>
>>> Case 2:
>>> Then, I applied a backport of the patch  
>>> https://lore.kernel.org/xen-devel/20231106142739.19650-1-roger.pau@citrix.com/raw 
>>> to the original Xen version of QubesOS and I recompiled. 
>>> (https://github.com/neowutran/qubes-vmm-xen/blob/x2apic3/X2APIC.patch)
>>> Result: it work, the system is usable. 
>>>
>>> Case 3:
>>> Then, I applied the patch https://github.com/xen-project/xen/commit/26a449ce32cef33f2cb50602be19fcc0c4223ba9
>>> to the original Xen version of QubesOS and I recompiled.
>>> (https://github.com/neowutran/qubes-vmm-xen/blob/x2apic4/X2APIC.patch)
>>> Result: system is  
>>> unusuably slow. 
>>>
>>>
>>> In "Case 2", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_mixed". 
>>> In "Case 3", the value returned by the function "apic_x2apic_probe" is "&apic_x2apic_cluster". 
>>>
>>>
>>> -------------------
>>> If you want / need, details for the function "apic_x2apic_probe":
>>>
>>> Known "input" value:
>>>
>>> "CONFIG_X2APIC_PHYSICAL" is not defined
>>> "iommu_intremap == iommu_intremap_off" = false
>>> "acpi_gbl_FADT.flags & ACPI_FADT_APIC_PHYSICAL" -> 0
>>> "acpi_gbl_FADT.flags" = 247205 (in decimal)
>>> "CONFIG_X2APIC_PHYSICAL" is not defined
>>> "CONFIG_X2APIC_MIXED" is defined, because it is the default choice
>>> "x2apic_mode" = 0
>>> "x2apic_phys" = -1
>>>
>>>
>>>
>>> Trace log (I did some call "printk" to trace what was going on)
>>> Case 2:
>>> (XEN) NEOWUTRAN: X2APIC_MODE: 0 
>>> (XEN) NEOWUTRAN: X2APIC_PHYS: -1 
>>> (XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
>>> (XEN) NEOWUTRAN IOMMU_INTREMAP: different 
>>> (XEN) Neowutran: PASSE 2 
>>> (XEN) Neowutran: PASSE 4 
>>> (XEN) NEOWUTRAN: X2APIC_MODE: 3 
>>> (XEN) Neowutran: PASSE 7 
>>> (XEN) NEOWUTRAN: X2APIC_MODE: 3 
>>>  
>>> (XEN) NEOWUTRAN: X2APIC_PHYS: -1 
>>> (XEN) NEOWUTRAN: acpi_gbl_FADT.flags: 247205 
>>> (XEN) NEOWUTRAN IOMMU_INTREMAP: different 
>>>
>>> Case 3:
>>> (XEN) NEOWUTRAN2: X2APIC_PHYS: -1 
>>> (XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
>>> (XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
>>> (XEN) Neowutran2: Passe 1 
>>> (XEN) NEOWUTRAN2: X2APIC_PHYS: 0 
>>> (XEN) Neowutran2: Passe 6 
>>> (XEN) Neowutran2: Passe 7 
>>> (XEN) NEOWUTRAN2: X2APIC_PHYS: 0 
>>> (XEN) NEOWUTRAN2: acpi_gbl_FADT.flags: 247205 
>>> (XEN) NEOWUTRAN2 IOMMU_INTREMAP: different 
>>> (XEN) Neowutran2: Passe 2 
>>> (XEN) Neowutran2: Passe 4 
>>> (XEN) Neowutran2: Passe 7
>>>
>>>
>>>
>>> If you require the full logs, I could publish the full logs somewhere.
>>> ----------------------
>>>
>>> ( However I do not understand if the root issue is a buggy motherboard, a
>>> bug in xen, or if the parameter "X2APIC_PHYSICAL" should have been set
>>> by the QubesOS project, or something else)
>> Hello,
>>
>> Thankyou for the analysis.
>>
>> For your base version of QubeOS Xen, was that 4.13.2-5 ?   I can't see
>> any APIC changes in the patchqueue, and I believe all relevant bugfixes
>> are in 4.17.2, but I'd just like to confirm.
>>
>> First, by "unusable slow", other than the speed, did everything else
>> appear to operate adequately?  Any chance you could guess the slowdown. 
>> i.e. was it half the speed, or "seconds per log console line during
>> boot" levels of slow?
>>
>>
>> Having re-reviewed 26a449ce32, the patch is correct but the reasoning is
>> wrong.
>>
>> ACPI_FADT_APIC_CLUSTER predates x2APIC by almost a decade (it appeared
>> in ACPI 3.0), and is not relevant outside of xAPIC mode.  xAPIC has 2
>> different logical destination modes, cluster and flat, and their
>> applicability is dependent on whether you have fewer or more than 8
>> local APICs, hence that property being called out in the ACPI spec.
>>
>> x2APIC does not have this property.  DFR was removed from the
>> architecture, and logical mode is strictly cluster.  So the bit should
>> never have been interpreted on an x2APIC code path.
> FWIW, Jan also pointed out that the ACPI spec mentions xAPIC strictly,
> even for ACPI_FADT_APIC_PHYSICAL.  It's possible APIC_PHYSICAL should
> also be enforced only in xAPIC mode.  Or it's also possible the ACPI
> spec was not updated to mention both xAPIC and x2APIC modes.

ACPI_FADT_APIC_PHYSICAL is similarly old.

In 2004, xAPIC used strictly in this way distinguished the P4/Xeon APIC
architecture (named xAPIC) from prior generations (simply APIC,
including the original external APIC implementation).

But x2APIC is different still, so properties which were necessary to
state for xAPIC don't necessarily hold for x2APIC.

ACPI_FADT_APIC_CLUSTER is definitely obsolete for x2APIC.  Given the
wording of ACPI_FADT_APIC_PHYSICAL refers to DFR and the 8-APIC
boundary, I'd say its equally obsolete.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:56:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:56:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642312.1001693 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dya-0002Kn-LB; Mon, 27 Nov 2023 15:56:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642312.1001693; Mon, 27 Nov 2023 15:56: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 1r7dya-0002Ke-HT; Mon, 27 Nov 2023 15:56:48 +0000
Received: by outflank-mailman (input) for mailman id 642312;
 Mon, 27 Nov 2023 15:56: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=nJkC=HI=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r7dyZ-0002I6-1x
 for xen-devel@lists.xen.org; Mon, 27 Nov 2023 15:56:47 +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 8f5844e2-8d3d-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 16:56:43 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-54a95657df3so6244810a12.0
 for <xen-devel@lists.xen.org>; Mon, 27 Nov 2023 07:56:43 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8f5844e2-8d3d-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701100603; x=1701705403; darn=lists.xen.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=wWXTIlNiMhIsFwR1xKm+ftyqoETNQT3rbNWu6UGGBPA=;
        b=i++KpoHFhDe+NOne9wKnkPL/jMWZ0+/XirGa4TYAUFTSxV1dG+rFSrIz7I5NnnTqoP
         VjUpHvN05fsoQUe2XPzYUhT9nbP8uU4M7VDzePrgIBit0N1GPu/4pmmwGun2Ygm61snH
         wtTTHlctMqqVkCTdwTXCOcDwKW5wu89SLG3QvxPGSgQz9XV9XbL1EELZKnACJNIpJ9UL
         cy2jwO2eS50sZ4l1Ex+Rsb0q6MyfUK4Ka+ER8bOTlHyQcw54K38n5yKX2dWtdGT7cZyk
         CLx65wvSUBdxh6+d+Brq89d84BHhy0Hav3DnJvmZpUGBd031U9x2V2M1a0zVXPEnfpqM
         EDFQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701100603; x=1701705403;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=wWXTIlNiMhIsFwR1xKm+ftyqoETNQT3rbNWu6UGGBPA=;
        b=QYxH/5w9DodnTImimLWttKjUAXS/ttyz6E0ss2NUzbDJqB4mIQsYThm7691QSPh9Xn
         vETj/mRnBoeY4n/H1vojNRgVlyXyCY2B776HYXo9xr2QXEGrLwQnVuTmgzfqBoJCM+Qb
         dA5U47M6mFVU/60Ch6ZB9nirQj6LfDF3n3qevFpNY7YUtrQ2jNJUPxXUMEsEZUUE28Vr
         d7ZKRJgVKTaXoxKwq/cbxpdmdif2DNyiaOrVtJI8HlMV2fqV0GdKuqB/Ipr0ok34a4wC
         tJQ+CNUumrSbZQy6XhCyEjIuOHG5PT/CbKziXN4zNsu20+uItqBfP1Eqx+v7iaN70Mz0
         3Dmw==
X-Gm-Message-State: AOJu0YyB3qaB/3ZKq8FSUoCfvirsvNrkHTvWigNNm5Ac4dc40L5J7x1z
	j4F5J1ii4SjE1dlh2AI0yhkWwde0KC4j8LnP4aY=
X-Google-Smtp-Source: AGHT+IH5yZ2DXuU+Uv4imX94yxQ1/S3F3n4+Z7PxB/7x8YPIX2Hqe2twCYqLl1+GjxPuCz9nZ9fdyDjswPdLP2CctIY=
X-Received: by 2002:a05:6402:2207:b0:54b:25e8:c00e with SMTP id
 cq7-20020a056402220700b0054b25e8c00emr5217025edb.0.1701100602741; Mon, 27 Nov
 2023 07:56:42 -0800 (PST)
MIME-Version: 1.0
References: <20180216174835.GJ4302@mail-itl> <3b6ce245-626d-a6db-b9fa-77dcf26a4ad6@citrix.com>
 <20180216185122.GK4302@mail-itl> <b8bb621f-1558-d207-4978-4dca46e350e6@citrix.com>
 <01e7d219-5a2f-58cb-bb30-59f31749f019@suse.com> <ZWNbWPkKsLI1q8+D@mail-itl>
 <CACHz=ZiWufUenyw_wg+QuK86+gU5RZNkuJNzX9-K1UM5P3m8+Q@mail.gmail.com> <ZWR8+Xjm2K8eZpab@mail-itl>
In-Reply-To: <ZWR8+Xjm2K8eZpab@mail-itl>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Mon, 27 Nov 2023 10:56:29 -0500
Message-ID: <CAKf6xpvBE7VnziXYBpbh4iPw+sJi9bjLcZupUgrt_Pw6qUtffg@mail.gmail.com>
Subject: Re: [Xen-devel] PV guest with PCI passthrough crash on Xen 4.8.3
 inside KVM when booted through OVMF
To: =?UTF-8?Q?Marek_Marczykowski=2DG=C3=B3recki?= <marmarek@invisiblethingslab.com>
Cc: Frediano Ziglio <frediano.ziglio@cloud.com>, xen-devel <xen-devel@lists.xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Nov 27, 2023 at 6:27=E2=80=AFAM Marek Marczykowski-G=C3=B3recki
<marmarek@invisiblethingslab.com> wrote:
>
> On Mon, Nov 27, 2023 at 11:20:36AM +0000, Frediano Ziglio wrote:
> > On Sun, Nov 26, 2023 at 2:51=E2=80=AFPM Marek Marczykowski-G=C3=B3recki
> > <marmarek@invisiblethingslab.com> wrote:
> > >
> > > On Mon, Feb 19, 2018 at 06:30:14PM +0100, Juergen Gross wrote:
> > > > On 16/02/18 20:02, Andrew Cooper wrote:
> > > > > On 16/02/18 18:51, Marek Marczykowski-G=C3=B3recki wrote:
> > > > >> On Fri, Feb 16, 2018 at 05:52:50PM +0000, Andrew Cooper wrote:
> > > > >>> On 16/02/18 17:48, Marek Marczykowski-G=C3=B3recki wrote:
> > > > >>>> Hi,
> > > > >>>>
> > > > >>>> As in the subject, the guest crashes on boot, before kernel ou=
tput
> > > > >>>> anything. I've isolated this to the conditions below:
> > > > >>>>  - PV guest have PCI device assigned (e1000e emulated by QEMU =
in this case),
> > > > >>>>    without PCI device it works
> > > > >>>>  - Xen (in KVM) is started through OVMF; with seabios it works
> > > > >>>>  - nested HVM is disabled in KVM
> > > > >>>>  - AMD IOMMU emulation is disabled in KVM; when enabled qemu c=
rashes on
> > > > >>>>    boot (looks like qemu bug, unrelated to this one)
> > > > >>>>
> > > > >>>> Version info:
> > > > >>>>  - KVM host: OpenSUSE 42.3, qemu 2.9.1, ovmf-2017+git149206056=
0.b6d11d7c46-4.1, AMD
> > > > >>>>  - Xen host: Xen 4.8.3, dom0: Linux 4.14.13
> > > > >>>>  - Xen domU: Linux 4.14.13, direct boot
> > > > >>>>
> > > > >>>> Not sure if relevant, but initially I've tried booting xen.efi=
 /mapbs
> > > > >>>> /noexitboot and then dom0 kernel crashed saying something abou=
t conflict
> > > > >>>> between e820 and kernel mapping. But now those options are dis=
abled.
> > > > >>>>
> > > > >>>> The crash message:
> > > > >>>> (XEN) d1v0 Unhandled invalid opcode fault/trap [#6, ec=3D0000]
> > > > >>>> (XEN) domain_crash_sync called from entry.S: fault at ffff82d0=
80218720 entry.o#create_bounce_frame+0x137/0x146
> > > > >>>> (XEN) Domain 1 (vcpu#0) crashed on cpu#1:
> > > > >>>> (XEN) ----[ Xen-4.8.3  x86_64  debug=3Dn   Not tainted ]----
> > > > >>>> (XEN) CPU:    1
> > > > >>>> (XEN) RIP:    e033:[<ffffffff826d9156>]
> > > > >>> This is #UD, which is most probably hitting a BUG().  addr2line=
 this ^
> > > > >>> to find some code to look at.
> > > > >> addr2line failed me
> > > > >
> > > > > By default, vmlinux is stripped and compressed.  Ideally you want=
 to
> > > > > addr2line the vmlinux artefact in the root of your kernel build, =
which
> > > > > is the plain elf with debugging symbols.
> > > > >
> > > > > Alternatively, use scripts/extract-vmlinux on the binary you actu=
ally
> > > > > booted, which might get you somewhere.
> > > > >
> > > > >> , but System.map says its xen_memory_setup. And it
> > > > >> looks like the BUG() is the same as I had in dom0 before:
> > > > >> "Xen hypervisor allocated kernel memory conflicts with E820 map"=
.
> > > > >
> > > > > Juergen: Is there anything we can do to try and insert some dummy
> > > > > exception handlers right at PV start, so we could at least print =
out a
> > > > > oneliner to the host console which is a little more helpful than =
Xen
> > > > > saying "something unknown went wrong" ?
> > > >
> > > > You mean something like commit 42b3a4cb5609de757f5445fcad18945ba923=
9a07
> > > > added to kernel 4.15?
> > > >
> > > > >
> > > > >>
> > > > >> Disabling e820_host in guest config solved the problem. Thanks!
> > > > >>
> > > > >> Is this some bug in Xen or OVMF, or is it expected behavior and =
e820_host
> > > > >> should be avoided?
> > > > >
> > > > > I don't really know.  e820_host is a gross hack which shouldn't r=
eally
> > > > > be present.  The actually problem is that Linux can't cope with t=
he
> > > > > memory layout it was given (and I can't recall if there is anythi=
ng
> > > > > Linux could potentially to do cope).  OTOH, the toolstack, which =
knew
> > > > > about e820_host and chose to lay the guest out in an overlapping =
way is
> > > > > probably also at fault.
> > > >
> > > > The kernel can cope with lots of E820 scenarios (e.g. by relocating
> > > > initrd or the p2m map), but moving itself out of the way is not
> > > > possible.
> > >
> > > I'm afraid I need to resurrect this thread...
> > >
> > > With recent kernel (6.6+), the host_e820=3D0 workaround is not an opt=
ion
> > > anymore. It makes Linux not initialize xen-swiotlb (due to
> > > f9a38ea5172a3365f4594335ed5d63e15af2fd18), so PCI passthrough doesn't
> > > work at all. While I can add yet another layer of workaround (force
> > > xen-swiotlb with iommu=3Dsoft), that's getting unwieldy.
> > >
> > > Furthermore, I don't get the crash message anymore, even with debug
> > > hypervisor and guest_loglvl=3Dall. Not even "Domain X crashed" in `xl
> > > dmesg`. It looks like the "crash" shutdown reason doesn't reach Xen, =
and
> > > it's considered clean shutdown (I can confirm it by changing various
> > > `on_*` settings (via libvirt) and observing which gets applied).
> > >
> > > Most tests I've done with 6.7-rc1, but the issue I observed on 6.6.1
> > > already.
> > >
> > > This is on Xen 4.17.2. And the L0 is running Linux 6.6.1, and then us=
es
> > > QEMU 8.1.2 + OVMF 202308 to run Xen as L1.
> > >
> >
> > So basically you start the domain and it looks like it's shutting down
> > cleanly from logs.
> > Can you see anything from the guest? Can you turn on some more
> > debugging at guest level?
>
> No, it crashes before printing anything to the console, also with
> earlyprintk=3Dxen.
>
> > I tried to get some more information from the initial crash but I
> > could not understand which guest code triggered the bug.
>
> I'm not sure which one is it this time (because I don't have Xen
> reporting guest crash...) but last time it was here:
> https://github.com/torvalds/linux/blob/master/arch/x86/xen/setup.c#L873-L=
874

Hi Marek,

I too have run into this "Xen hypervisor allocated kernel memory
conflicts with E820 map" error when running Xen under KVM & OVMF with
SecureBoot.  OVMF built without SecureBoot did not trip over the
issue.  It was a little while back - I have some notes though.

Non-SecureBoot
(XEN)  [0000000000810000, 00000000008fffff] (ACPI NVS)
(XEN)  [0000000000900000, 000000007f8eefff] (usable)

SecureBoot
(XEN)  [0000000000810000, 000000000170ffff] (ACPI NVS)
(XEN)  [0000000001710000, 000000007f0edfff] (usable)

Linux (under Xen) is checking that _pa(_text) (=3D 0x1000000) is RAM,
but it is not.  Looking at the E820 map, there is type 4, NVS, region
defined:
[0000000000810000, 000000000170ffff] (ACPI NVS)

When OVMF is built with SMM (for SecureBoot) and S3Supported is true,
the memory range 0x900000-0x170ffff is additionally marked ACPI NVS
and Linux trips over this.  It becomes usable RAM under Non-SecureBoot
so Linux boots fine.

What I don't understand is why there is even a check that _pa(_text)
is RAM.  Xen logs that it places dom0 way up high in memory, so the
physical address of the kernel pages are much higher than 0x1000000.
The value 0x1000000 for _pa(_text) doesn't match reality.  Maybe there
are some expectations for the ACPI NVS and other reserved regions to
be 1-1 mapped?  I tried removing the BUG mentioned above, but it still
failed to boot.  I think I also removed a second BUG, but
unfortunately I don't have notes on either.

The other thing I noticed is _pa() uses phys_base to shift its output,
but phys_base is not updated under Xen.  If _pa() is supposed to
reference the high memory addresses Xen assigned, then maybe that
should be updated?

Booting under SecureBoot was tangential to my goal at the time, so I
didn't pursue it further.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:58:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:58:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642316.1001702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dzc-0003Wn-3r; Mon, 27 Nov 2023 15:57:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642316.1001702; Mon, 27 Nov 2023 15:57: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 1r7dzc-0003Wg-1P; Mon, 27 Nov 2023 15:57:52 +0000
Received: by outflank-mailman (input) for mailman id 642316;
 Mon, 27 Nov 2023 15:57: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=mRNM=HI=aim.com=brchuckz@srs-se1.protection.inumbo.net>)
 id 1r7dza-0003Wa-M6
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:57:50 +0000
Received: from sonic315-54.consmr.mail.gq1.yahoo.com
 (sonic315-54.consmr.mail.gq1.yahoo.com [98.137.65.30])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5eaf667-8d3d-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 16:57:49 +0100 (CET)
Received: from sonic.gate.mail.ne1.yahoo.com by
 sonic315.consmr.mail.gq1.yahoo.com with HTTP; Mon, 27 Nov 2023 15:57:47 +0000
Received: by hermes--production-bf1-5f77bdbcd8-kdvj9 (Yahoo Inc. Hermes SMTP
 Server) with ESMTPA ID 310c9781e397b0fe1fd6617bcebc48b7; 
 Mon, 27 Nov 2023 15:57: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: b5eaf667-8d3d-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netscape.net; s=a2048; t=1701100667; bh=C1c7zU8CE44u3+BTVsGYoRwfQib5VXIKbar+yZejy2Q=; h=Date:Subject:From:To:Cc:References:In-Reply-To:From:Subject:Reply-To; b=rJ3cnuT4u9amE0Lew3uSTcUMA2uutqtWVIxlrA2arFP/uoj6KCjOGOegd/bBtc1u8ba2WfRIW7fE67Vshu9N8i2ZnohdZYWYBqhgjTqtpNBiIYy8g9KUGxY5dlR531ZRih89DS9zNWgrkYmE5QnC7iB2Xo7w5r5Doowsf/uHWVU/JdJeEMaiWQVBd99u+2v9SL6gkML40nIvJLs+8TLdebKqLx7zLZiRQz9tNK9YNJB0MZc3gy+Qm7cJkCN48pDPErf82LcneGISvmEKzWamPe6nqdnpMh/7elXX6l7I2/XvvUvK384dnX+VDQMUKB05IQSJlPeKPlBKLQGqJKZY1g==
X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1701100667; bh=nUDTiqFoYijGTejHkcovluZPtJI3v9iBAlsXdYrjZT4=; h=X-Sonic-MF:Date:Subject:From:To:From:Subject; b=XpWbNEsU4e2VNwB6DE3Yga9XZW5o5yaEFDQeHyuP08cuOyDpr8B+mhD8oNymf7lUG6ow731fvgGLefR0wrzqWWfoLATH3P5+cL5FkRHmbqkf6m1aLmHCxHEeUcwwmydd8Xb8DXr9MP+wdDvMFP2iY+sVFNbipAPy8kFpI4JMnlDrKBxOJ9kXuxef+RMmmauk6NjMhBImBfLCm/EUiBcVEJduceJcVpOabtooT/9M6TQnpc88BpSRhWARl2G2ftq2xfrF0hRigwvPA2Cce0kCEEEw4MBcsvfU2wqpcpdeAlrFzaQ6f2aJFQi5GCucPoQ5u7JZu1eQ3FO/7Bb38JTpUg==
X-YMail-OSG: 6T8Nz0UVM1lRmmHqAhNJRPccegNesl3I1UiADE0UAF59DLkwrXzRZVn53hwa4Cv
 rwxrUEOu3uN5NB8Le3Xs0rhG0WldDw_HzOhmGrqflagFzxfyRWs.VTwkox82j9S_.5NxIvMQijRS
 S5QKeNMjgShdZ4AOqg6d1xVOjqQR2JqS051RVxnj0rXvHOD0Aa9pJAw_QmglqzFt4TilGKp9wjie
 DgEWxa1BlkmXbEgO1WRr3fsdZ6MFpTZVwC2KI2Pka487AEFOWpoaePglOIXY8Iw3aGRORLDWp3Eo
 4L01.GcQhiAT4K8tQDmXKTxAtFeQ07PqxfqmJh0dAJrYZTudqv.S69wdHW6wcfi7a_0G396Qsjfb
 0muP7exKtYsWq3WFd3nLnuBLRSGOwPa6_tPXMzXluzsZbkhXFZCLfDxeolUEFTZl1b52fuAINaLV
 H0Pz.biSZHK_mu8_D10BepcyM8MvCGqucoWajzBCfJxWSZdOpr2Q71as2NzjzLaRAvkxKnfMWDWF
 YcRT_HBiG7gacZbijneqv4AzRoIv4olJX_0.63LJEz9bayYXLZmF1yhtnYzRNayuNjD3YFKqfM37
 BwEuHnxb8PNwpoRw.n0e83SZqePpLrIFOjUiLwzA.KLpcGYJahszhEXuQT62Hj5mQFb75W84xwEm
 .UXUr06iKmpSBLo2_qIhoaYst8s4LP1dXYqZ1Q6pcd1C2OcA.tSLhkuFEs7sFFnEOZh9P9JpP539
 mmKwqq1el4Dr7AlZx05mz0CBrbJZs.zGeXbWFl2EbNoyaloS2VX5lJl8.JBEzI0FpwpUkVfCFuVm
 1ttmwVZQbhqXUONTmdfiz12wF7xuY2ybki4G38iitueeewEfAkDSe7Af5SSQB0sUK8ttUSL0JOft
 JaLNQsZkFvdIkGqgdv4UoAYIUV671zb4luVRGaEfKzsY2EelJpCzu0Ay4lUIav0qZ9YElYS362il
 ve7_DjZUdcdDNKFc7GfCRQwWQY4CZSIEhY01Xy4eP7HVafDQw8hxpOj.xJUuGUyGlP4z8zJb8bgL
 Dq5h499alC1eOt8F9ewC6xopMHKm25nNjuqT8e90SlzJDvZT3sqS9AEkakuYK8O4LFDBvYB2aa_F
 eG01tMme9RSbjA8tO_62klu2Sio.nzuJghp5Sm1KCH_OLOUoW9wsAFbrXufQjsg_fLtv7bOqrgft
 9yckiWn8iQljoMMXt4bCWMfegIRlgA1byEpvy0VDKBwx_6kHD1glT2AF_W2HO0ySVCF7.cGSqOAu
 gEj.aeVygWp_yrm3MwpEPf6I4MWtFWSQmKdn6UxH3yTgHlUlI8Fg5mLjPs0ov_gxbaYcP0Wz44NW
 8zxlHFlFdoixfvo.H0rePomaiLgXKwER.guT6kFJ0GomVAkaHTfLCtKDrn6CkbYtqofz3QqJZ_ss
 Q8tPffAuZJocmOpSol0DwJb8GwAdHCBgzLh_bPcah_eNDCOis38O7a7p5IUd3HuvM3SZ78zol6hB
 ZwoVDK.3XpkgwLDXCkIYdn61NTVwxRYUqS9rDHO7v_WL.RHzAmENMrj4wjaAeVtLU0P0rYZvRxc4
 zfZGZ75oCNQJiJ8fHZ6oYSFunH_grL0sx9ppPswxEtNFzbUVBi57sBmaPlaExLaKmifzE7LwFyxy
 OF3nlrgO0jPjNOGkr7aZVLwG_nN3rnzgUrVocG4cU_BG2ZJLUefDFW5rfV0qVWVtJtP4xtTyQZ0U
 E2wo0N1_2.1CAx3nsvVQyh6R_qCT4NByTDqxnLNApnPrnipMPcl6MB9eAWfrqilhyPT0uQ7sC..x
 .PQlDhdn6QFGk0oEFvnu91D_AkQRTYGvwy_itgDROUgq4H.OdU5wJcg0aFqmn7kgbth_j_Uhx4_I
 nfs3UMVZWaongMAeSQzo.szLhAxq9dNvJxyS53GqGQf8ukhY9qhPHNbSk7G.8zmyfMhALwtB22H1
 jkGUGPC0pqIZpPmXUHX0a2dT1eH3o.ItZS5qu77JP_9Nk4QpgaWE0DZStUAe3F.sctVpxjupQZ2m
 HRXnP3t.ytcOLPzOkbyncBBfOeSwgFvtPxi.aoSga1nF5cvyc5ITXo5KgGIofNcSUQJNxqFi0F.L
 Gm0r6V4MQT0OxoW7zVGS7MnmzbTO0cFkGk3cHwYzfVmn.LO6iKYlVEazZByX1IRB2RTBBnpgR_d8
 o45c9u3eNEsl6_xwsOmBhL7fz_Ch4zLe22WZzGhCytdnVbtPJF8jj03J0ojxyxw2fPKSnupkEsDq
 JtLdUZEGwDS439PL1R5YIN7ZvlxKzWZQb.To-
X-Sonic-MF: <brchuckz@aim.com>
X-Sonic-ID: 02f0e585-11ab-40ea-ad82-c7ea624852fd
Message-ID: <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
Date: Mon, 27 Nov 2023 10:57:42 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Content-Language: en-US
From: Chuck Zmudzinski <brchuckz@netscape.net>
To: Mario Marietto <marietto2008@gmail.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Demi Marie Obenour <demi@invisiblethingslab.com>,
 Anthony PERARD <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>,
 Xen-devel <xen-devel@lists.xenproject.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>, Elliott Mitchell <ehem+freebsd@m5p.com>
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net>
In-Reply-To: <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Mailer: WebService/1.1.21896 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.aol
Content-Length: 5118

On 11/27/2023 10:22 AM, Chuck Zmudzinski wrote:
> On 11/27/2023 7:45 AM, Mario Marietto wrote:
>> @Chuck Zmudzinski <mailto:brchuckz@netscape.net> : Stay tuned. They want to help us. The xen developers are great. Very good support for us. I'm sure that you can give a good contribution to understand what's our problem and how to implement a fix with the help of all those good guys.
>> 
>> On Mon, Nov 27, 2023 at 11:56 AM Roger Pau Monné <roger.pau@citrix.com <mailto:roger.pau@citrix.com>> wrote:
>> 
>>     On Mon, Nov 27, 2023 at 10:28:13AM +0000, Henry Wang wrote:
>>     > +(xen-devel and Arm maintainers, including Julien)
>>     >
>>     > > On Nov 27, 2023, at 18:03, Mario Marietto <marietto2008@gmail.com <mailto:marietto2008@gmail.com>>
>>     > > wrote:
>>     > >
>>     > > Hello.  We have just virtualized Debian 12 on our arm (32 bit)
>>     > > Chromebook model xe303c12 . As host / dom0 we have chosen Devuan
>>     > > 5,and for guest / domU,Debian 12. It works great. But our goal is
>>     > > different. We want to virtualize FreeBSD as domU. Can we have a
>>     > > working Xen PV network driver for a FreeBSD arm guest ?. I found
>>     > > that Julien Grall has ported the Xen drivers to FreeBSD on arm. I
>>     > > would like to know if Julien's work was accepted upstream by
>>     > > FreeBSD, in which case FreeBSD as a Xen guest on arm should work
>>     > > if we enable the Xen PV drivers in the FreeBSD on arm kernel. If
>>     > > Julien's work was not accepted upstream by FreeBSD, we will have
>>     > > to find his patches and apply them ourselves to the FreeBSD on arm
>>     > > kernel.
>> 
>>     I've added Elliot on Cc as he is working on upstreaming the patches to
>>     FreeBSD.  He will be able to provide a better update than myself.
>> 
>>     Regards, Roger.
> 
> I have been collaborating with Mario, and I can explain what we have done so far :
> 
> We are using Julien's patch set against an old development version of FreeBSD 11
> from 2014-12-03 :
> 
> https://xenbits.xen.org/gitweb/?p=people/julieng/freebsd.git;a=shortlog;h=refs/heads/xen-arm-v2.2
> 
> We successfully built the XENVIRT kernel and FreeBSD world, and created the
> FreeBSD rootfs according to Julien's instructions here :
> 
> https://lists.freebsd.org/pipermail/freebsd-xen/2014-November/002202.html
> 
> There were some adjustments to the instructions :
> 
> To build the kernel, we used :
> 
> $ sudo make TARGET_ARCH=armv6 KERNCONF=XENVIRT buildkernel
> 
> instead of
> 
> $ sudo make TARGET_ARCH=armv6 KERNCONF=XENHVM buildkernel
> 
> The FreeBSD 'kernel' file is in ELF format and did not work, and we spent
> some time trying to convert it to the zImage format without realizing the
> build of the FreeBSD kernel creates the 'kernel.bin' file in the zImage format.
> So when booting with the 'kernel.bin' file instead, it actually boots :
> 
> user@devuan-bunsen ~ % sudo xl create freebsd.cfg
> Parsing config from freebsd.cfg
> user@devuan-bunsen ~ % sudo xl li
> Name                                        ID   Mem VCPUs	State	Time(s)
> Domain-0                                     0   768     2     r-----    1439.4
> freebsd                                      1  1152     1     r-----       3.0
> user@devuan-bunsen ~ %
> 
> However, the guest is still not working correctly :
> 
> 1. Attaching the console with the -c option at creation or with
>    'xl console freebsd' results in no output to the console.
> 
> 2. The timestamp on the virtual disk image file shows that the filesystem
>    was at best mounted read-only, if it was mounted at all by the guest
>    FreeBSD kernel.
> 
> 3. The 'xl shutdown freebsd' command does not work, it just hangs. To stop
>    the guest, you need to do 'xl destroy freebsd'.
> 
> However, I think we can get the console to work and the rootfs to mount because I
> just realized I forgot to do the steps from Julien's instructions of editing the
> /etc/fstab and /etc/ttys files in the FreeBSD rootfs :
> 
> $ echo "/dev/xbd0       /       ufs     rw      1       1" > /mnt/etc/fstab
> $ vi /mnt/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm on secure")
> 
> I will add those and see if the console and disk are working.

Unfortunately, adding xc0 to /etc/ttys and /dev/xbd0 as the root device in
/etc/fstab did not make the console or disk work. Still no output on the
xen console from the guest kernel, and the timestamp on the rootfs image
file did not change so it did not mount read-write.

We could use some advice for troubleshooting this. Now, we are blind because
we are not getting any xen console output But I am pleased we were able to
demonstrate that Julien's old patch set for FreeBSD 11 allows us to boot
FreeBSD 11 on a modern version of Xen on arm - we are using the Debian
stable Xen 4.17 packages.

Cheers

> 
> But it would be much better if we could have this working with FreeBSD 13 / 14
> instead of the old FreeBSD 11. Also, Julien's patch set only supports one vcpu
> and it would be great to get the smp support for FreeBSD also.
> 
> Thanks,
> 
> Chuck
> 
>> 
>> 
>> 
>> -- 
>> Mario.
> 



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 15:58:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 15:58:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642317.1001713 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7dzh-0003oi-BY; Mon, 27 Nov 2023 15:57:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642317.1001713; Mon, 27 Nov 2023 15: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 1r7dzh-0003oZ-8d; Mon, 27 Nov 2023 15:57:57 +0000
Received: by outflank-mailman (input) for mailman id 642317;
 Mon, 27 Nov 2023 15:57: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=QuWu=HI=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r7dzf-0002I6-Sl
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 15:57:55 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0625.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b8fd8a61-8d3d-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 16:57:53 +0100 (CET)
Received: from AM5PR0601CA0075.eurprd06.prod.outlook.com (2603:10a6:206::40)
 by AS8PR08MB8039.eurprd08.prod.outlook.com (2603:10a6:20b:549::20) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Mon, 27 Nov
 2023 15:57:50 +0000
Received: from AMS0EPF0000019C.eurprd05.prod.outlook.com
 (2603:10a6:206:0:cafe::cb) by AM5PR0601CA0075.outlook.office365.com
 (2603:10a6:206::40) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28 via Frontend
 Transport; Mon, 27 Nov 2023 15:57:50 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS0EPF0000019C.mail.protection.outlook.com (10.167.16.248) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Mon, 27 Nov 2023 15:57:50 +0000
Received: ("Tessian outbound 8289ea11ec17:v228");
 Mon, 27 Nov 2023 15:57:50 +0000
Received: from 91ede15fb737.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 3EA755E1-3230-432F-BCC7-0ABB00E66786.1; 
 Mon, 27 Nov 2023 15:57:43 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 91ede15fb737.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Mon, 27 Nov 2023 15:57:43 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by AM9PR08MB6274.eurprd08.prod.outlook.com (2603:10a6:20b:2d5::24)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Mon, 27 Nov
 2023 15:57:41 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.022; Mon, 27 Nov 2023
 15:57: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: b8fd8a61-8d3d-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=izw7FWhg7q5nDSFr7X0650SQvlOlV1Tneh9ppLAcEgZydk9N9dDx9FtUsC3gcUyLASq5C+JkAAUL9NsuVQrMwfYaAfmpLe5Qeml3erDLoAqdx2uMH0jxoP6aCXUCo42wM7yz5Kh66cpPMz3cPcDpIjmq7v6Yz3dQbE70W3wt2a6vsK1BzW5Q6uZFNn6bZw+yrnr6ezL1i2fwR5AcF2B+aNfItblukM+rLSZUHnJArzuqgM6zOZKjEVcX8f8aEawSAXMq0pvYJ5WZvpXpIjl43pcsI8G6CJOcBCqwj6ghpWg151q76ydQJBRrwWlt/YgJS0h8GN+98PETmpqHoLwTuw==
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=91kmgh05WO/MQ+6qanLkX98vKIokRWJqu/BtHo4wXic=;
 b=F5FGr635EKCDWk+XuUozOm4TPPclgb1o2/UNFuKlG+t6gwL0gYgfCcKIruvqFXPXU5tkYomt2EDr73f1XRluAMEWmtCOGdP8wd8552JQNy0R30PC4mEseoXgucGvREbe1BLGyBY5TZkooNC99EuU/ljqwv8zMsmebkLb9VB1A7sPKHMFi2KQSLTyU5VKrqvTa/NU58j+FIedet5GlZzQbArXYnvd+6zmxLkvvTGiwcflHn/rEBZMoigs9yUe48d67bGfUx9hvp1X4C+QEK8F/HtwgVPth1BZtohoMEeUZOImIGIhFKM9JoVqJLP6AIs/cZ8JG5T10k1NQ6XrNxHaIA==
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=91kmgh05WO/MQ+6qanLkX98vKIokRWJqu/BtHo4wXic=;
 b=+K0UIonVMQFB31m10TWqLgQkh5sQE3+VckKTpJWkLEBe/NOshoc+DYmjJZ5zyuNZkD+q69IZQJdayDKFMROtwjrIW+dbYk/coOJeJBoEat7mpgaaoePZfbv5j0i5tCIUY1VzhVQE4eWSE9pg7f0JD1UcvzijB65ZOYVkPufjRFg=
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: b9ec52d7dac228ac
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JeumLFkTJTTNSd3i1hktqTHdUp27+p6DQvSvmqSF9W8XoQt+SYHVaGpIkk1xKJ4f+ZuGUc/P69jp3+dN26LxjrAQO5YOZk4RVTjpeU+jFwpNvvsQvsdGpOJWghl6qMpqJIjmBr14B1secHl16uKjaDyigvoCaXJhcEPGupRgbKYRxd2V1C06CPKGU+vQN3j6gTP2FP7wcot29HDtVSOBPHu9LTpAY/QC17B3Jx7uytCRZ1Ll6qW1K5PHu8Oe9aO9RsUWKHwEdY5qJgd04pnNj+h2g/xP3m1zLAjcgzLGAXtQTuUFTf/KhVBq+c67I80Am6jOFsA2ludXm1ygqxDHUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=91kmgh05WO/MQ+6qanLkX98vKIokRWJqu/BtHo4wXic=;
 b=dWjs4uGzzozBgw24vcQg6BdYITsA8dyAZG1qr54FUm+Ivw0vptcK9YKlPhseiG+685ygpS6Al8P38olDL5+V+jgojQpejXs/RuzV2KwQa/jxUrQWMi8fHp4HvHYAk/YNSbrjaBQM/STgIovQU8qDvQOAPw+9aeXxrFQ1JP2aT28IuU6+vdzpw7dJF7Z9YaMep2+/jzCnBPspNNSyB+BVMNMFPpJorzGzbOM8v/4BYtqicneQ4Dpy0vu77sIDUElTm+u64NmVMLFiKezHp9cDDqkncLv/ALehLjSklwWSGZ9zpRQlEBbPVyTFa4h/Y/WVbEHg25STVJ+kPgcPacCyNA==
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=91kmgh05WO/MQ+6qanLkX98vKIokRWJqu/BtHo4wXic=;
 b=+K0UIonVMQFB31m10TWqLgQkh5sQE3+VckKTpJWkLEBe/NOshoc+DYmjJZ5zyuNZkD+q69IZQJdayDKFMROtwjrIW+dbYk/coOJeJBoEat7mpgaaoePZfbv5j0i5tCIUY1VzhVQE4eWSE9pg7f0JD1UcvzijB65ZOYVkPufjRFg=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Clang-format configuration discussion - pt 2
Thread-Topic: Clang-format configuration discussion - pt 2
Thread-Index:
 AQHaHhwDfni7SbjBtk6S7YLD/w4HebCJbICAgAAi9QCABIyNgIAAK/0AgAAEPICAAAbTgIAABQ2AgAAAhAA=
Date: Mon, 27 Nov 2023 15:57:39 +0000
Message-ID: <BAE8E255-F65F-414F-B30C-A1F2631E74ED@arm.com>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
 <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
 <838395c3-41ba-4004-abf1-948b655a5ef2@suse.com>
 <B5AF6A9F-3986-4F3C-90F7-122D63A2B31A@arm.com>
 <a99681e4-e201-4abe-bf6a-fda61674074e@suse.com>
 <8DE85ED0-2949-4FF1-832B-ABEDC86BF13B@arm.com>
 <05808302-3e8b-4e87-89bc-950261300958@suse.com>
In-Reply-To: <05808302-3e8b-4e87-89bc-950261300958@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|AM9PR08MB6274:EE_|AMS0EPF0000019C:EE_|AS8PR08MB8039:EE_
X-MS-Office365-Filtering-Correlation-Id: b5842b22-1706-4dcc-7682-08dbef619bcb
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:
 y3bvQzq5h/JImwVEDtJ03wbsMcMXDbQpoB9P6CZEfwzjQZNpNx8Xzakn8paVutXS0oly/C6sTUJwQTKIjjoY4ImHB3ZOQjNbxY72n8fJdhWpO6Hm4ty80DaunKuuxnDRMsGwjTeiafwyD+DWJOQHRuxPc0gGEkTmJ9XrEGBwcjtLkP3wkK0Y/0eCnzyx3zWC0YLfbBg+r50xRcMm8ReEPRbOGXIVpHZ6pGNREbtAmfB62qpy2fMrwBww0AXNE9GWqWFM2EYhIiqJXghdDoY/1xQxkHhdJVatTR/Tnv55xoK6spksLR4wxRgGVOAnKl4jwcRM6u7mD2ezaRKsiMGXdh0gECjVL9/eRAPQywZGNaAzUeMnwz/6qSwi0kEmkKZP1b0SA0eIJm95Z/Jq8Elo4REe57ONLPwQLAjczE6ePqFnCjzAxoLsjgA3ajyWNfTRbYNBzGpQYZVVJ1Y92P0O7pWPvJ1sbEN6Mu5qOgn/GJeFcqJAxp9pXXGULpEuS36nP6MfIJ17IL9AbJm+36zXq+/GgmJPVbhJffhZU4PGKZaNBrqVmdwf3KjNghPKwnLUA5K/6xzymstgOAaQVugCcIPC8BC85bIOVCGaTU1HGFRXx2vsln1U7d9woL7PCn5pCh6FhNXb4CyllaijgmeN9NWQskNtviCoPG3PhyZiC2XCkGYl/d5LN05d3IzKzzU9
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(376002)(366004)(136003)(396003)(346002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(83380400001)(38100700002)(122000001)(8936002)(6512007)(6506007)(71200400001)(8676002)(91956017)(316002)(966005)(76116006)(53546011)(66946007)(66556008)(66476007)(66446008)(54906003)(6916009)(64756008)(86362001)(4326008)(6486002)(478600001)(5660300002)(33656002)(41300700001)(2906002)(36756003)(38070700009)(26005)(2616005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <8EF444DCB77E494EA1F2576C431A28CD@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR08MB6274
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:
 AMS0EPF0000019C.eurprd05.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	a080487d-5d41-4f8e-053a-08dbef6194e6
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yrtk36C1cVE5hGJxLF4S3KUCVhBEout+o/Zr/ErjUt2+0j2JOEkz+RCS1VKcGjr72bG+a2nUUVdRIwRB6col+2myvbZKWFHXA6kocPK9G1uwjrQw12bu6UK1P6ZM4jLD/w6YPmLv95N0Rd7cTE2FeEsOG+oVJGDJPrvPZ0nfiHPkU1x4VUV8No9kBwY8vVkHgsFAFLUPFQwWRMNMKD2H62oYMEYdcQDeqsWXYAt5vr5nZSx3D0kmejUFn5Rt7/sq0kCHw0TU3BtV/XD4eb1nA3mKBSuZdO7vDd4rbQNvkJh4rNtRGOfG6eG3TCI3ElZmcP6ng3DVs1ZUqjwS40QB3MvICqG8fEcWQvgxzkdF59nCXwraCCwHz4xx2LBc2NObto4sbp9gXSTnBb87K75O2GDG4AuiUZWLrl/q9k44iwIDAJrPSYmex0ye3jxNn3y9kn9VDP6A602dkP+nQVo3GOCYGBAoGzpWMTu8uK3zM63LXX6pbyXi2OmaWZqD5YklKCvy/DWciLYxz8iTiC/I2KN+mJPuTn5oEmKTOsjkh6p/51NPIHTeZMaBM5FeX1fiw5avS2C0YZeXeVdJWSPfNY6a7/WCES7Ni40yAL5uwlUi47St8puX8VSF3Xya9CYPHOGkt7tk5bAuuHaGmBxHjx4X3J50k9VjL0Nn6QIap8IVvJyVHOeTXVt4RenSDbLLHXg90zMTOgZDDHzw3Pu4peLEYTIvUaz9Z4J35pqzpTpmN5j8WxnvQfHayr22xLJ7ObvPDfZlhScaxX9Cn4d+Zg==
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:(13230031)(4636009)(39860400002)(136003)(376002)(346002)(396003)(230922051799003)(64100799003)(451199024)(186009)(82310400011)(1800799012)(40470700004)(46966006)(36840700001)(36860700001)(33656002)(36756003)(82740400003)(81166007)(356005)(40460700003)(86362001)(53546011)(6512007)(6486002)(966005)(6506007)(478600001)(5660300002)(6862004)(4326008)(8676002)(8936002)(54906003)(70586007)(70206006)(316002)(41300700001)(47076005)(40480700001)(2906002)(336012)(26005)(2616005)(83380400001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 15:57:50.7100
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b5842b22-1706-4dcc-7682-08dbef619bcb
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:
	AMS0EPF0000019C.eurprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB8039

DQoNCj4gT24gMjcgTm92IDIwMjMsIGF0IDE1OjU1LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjcuMTEuMjAyMyAxNjozNywgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IA0KPj4gDQo+Pj4gT24gMjcgTm92IDIwMjMsIGF0IDE1OjEzLCBKYW4gQmV1bGlj
aCA8amJldWxpY2hAc3VzZS5jb20+IHdyb3RlOg0KPj4+IA0KPj4+IE9uIDI3LjExLjIwMjMgMTU6
NTgsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+PiBPbiAyNyBOb3YgMjAyMywgYXQgMTI6MjAs
IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+Pj4+PiBPbiAyNC4xMS4y
MDIzIDE1OjUyLCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4+Pj4+PiBPbiAyNCBOb3YgMjAyMywg
YXQgMTI6NDcsIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+Pj4+Pj4+
IE9uIDIzLjExLjIwMjMgMTU6NDcsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+Pj4+PiBMZXTi
gJlzIGNvbnRpbnVlIHRoZSBkaXNjdXNzaW9uIGFib3V0IGNsYW5nLWZvcm1hdCBjb25maWd1cmF0
aW9uLCB0aGlzIGlzIHBhcnQgMiwgcHJldmlvdXMgZGlzY3Vzc2lvbnMgYXJlOg0KPj4+Pj4+Pj4g
DQo+Pj4+Pj4+PiAtIGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94
ZW4tZGV2ZWwvMjAyMy0xMS9tc2cwMDQ5OC5odG1sDQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IFlvdSBj
YW4gZmluZCB0aGUgc2VyaWUgaW50cm9kdWNpbmcgY2xhbmctZm9ybWF0IGhlcmU6DQo+Pj4+Pj4+
PiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QveGVuLWRldmVsL2NvdmVyLzIw
MjMxMDMxMTMyMzA0LjI1NzM5MjQtMS1sdWNhLmZhbmNlbGx1QGFybS5jb20vDQo+Pj4+Pj4+PiBh
bmQgdGhlcmUgaXMgYWxzbyBhIHBhdGNoIGxpbmtlZCB0byBteSBnaXRsYWIgYWNjb3VudCB3aGVy
ZSB5b3UgY2FuIGZpbmQgdGhlIG91dHB1dCBmb3IgdGhlIGh5cGVydmlzb3IgY29kZS4NCj4+Pj4+
Pj4+IA0KPj4+Pj4+Pj4gRm9yIGEgZnVsbCBsaXN0IG9mIGNvbmZpZ3VyYWJsZXMgYW5kIHRvIGZp
bmQgdGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlbSwgcGxlYXNlIHJlZmVyIHRvIHRoaXMgcGFn
ZToNCj4+Pj4+Pj4+IGh0dHBzOi8vY2xhbmcubGx2bS5vcmcvZG9jcy9DbGFuZ0Zvcm1hdFN0eWxl
T3B0aW9ucy5odG1sDQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tDQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IE91ciBjb2Rpbmcgc3R5bGUgZG9lc27igJl0
IG1lbnRpb24gYW55dGhpbmcgYWJvdXQgYWxpZ25tZW50LCBzaGFsbCB3ZSBhZGQgYSBuZXcgc2Vj
dGlvbj8NCj4+Pj4+Pj4+IEkgY2FuIHNlbmQgcGF0Y2hlcyB3aGVuIHdlIHJlYWNoIGFncmVlbWVu
dCBvbiBlYWNoIG9mIHRoZXNlIHJ1bGVzLg0KPj4+Pj4+Pj4gDQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+
IFF1YWxpZmllckFsaWdubWVudDogQ3VzdG9tDQo+Pj4+Pj4+PiBRdWFsaWZpZXJPcmRlcjogWydz
dGF0aWMnLCAnaW5saW5lJywgJ2NvbnN0JywgJ3ZvbGF0aWxlJywgJ3R5cGUnXQ0KPj4+Pj4+Pj4g
DQo+Pj4+Pj4+PiAtLS0NCj4+Pj4+Pj4+IEZvciDigJxRdWFsaWZpZXJBbGlnbm1lbnTigJ0gSSBj
aG9zZSBDdXN0b20gaW4gb3JkZXIgdG8gYXBwbHkgaW4g4oCcUXVhbGlmaWVyT3JkZXLigJ0gYW4g
b3JkZXIgZm9yIHRoZQ0KPj4+Pj4+Pj4gcXVhbGlmaWVycyB0aGF0IG1hdGNoIHRoZSBjdXJyZW50
IGNvZGViYXNlLCB3ZSBjb3VsZCBzcGVjaWZ5IGFsc28g4oCcTGVhdmXigJ0gaW4gb3JkZXIgdG8g
a2VlcA0KPj4+Pj4+Pj4gdGhlbSBhcyB0aGV5IGFyZS4NCj4+Pj4+Pj4gDQo+Pj4+Pj4+IFdoZXJl
IGRvIGF0dHJpYnV0ZXMgZ28gaW4gdGhpcyBzZXF1ZW5jZT8NCj4+Pj4+PiANCj4+Pj4+PiBJIHRo
aW5rIGZ1bmN0aW9uIGRlY2xhcmF0aW9uL2RlZmluaXRpb24gYW5kIHZhcmlhYmxlcy4NCj4+Pj4+
IA0KPj4+Pj4gSG93IGRvZXMgdGhpcyByZWxhdGUgdG8gbXkgcXVlc3Rpb24/IEkgYXNrZWQgYWJv
dXQgdGhlIHNlcXVlbmNlIG9mIGVsZW1lbnRzDQo+Pj4+PiBsaXN0ZWQgZm9yIFF1YWxpZmllck9y
ZGVyOiwgd2hlcmUgYXR0cmlidXRlcyBkb24ndCBhcHBlYXIgYXQgYWxsIHJpZ2h0IG5vdy4NCj4+
Pj4gDQo+Pj4+IFNvcnJ5LCBJIG1pc3JlYWQgeW91ciBxdWVzdGlvbiwgYXR0cmlidXRlcyBhcmUg
bGlrZSBpbnZpc2libGUgZm9yIHRoZSB0b29sLCB0aGV5IGNhbiBiZSBwbGFjZWQgd2hlcmV2ZXIg
YmV0d2Vlbg0KPj4+PiBlYWNoIG9mIHRoZSBRdWFsaWZpZXJPcmRlciBpdGVtcy4NCj4+PiANCj4+
PiBIb2hvLCBvbmUgdGhpbmcgd2hlcmUgdmFyaW91cyBvcHRpb25zIGFyZSB0b2xlcmF0ZWQuDQo+
Pj4gDQo+Pj4+Pj4+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPj4+Pj4+Pj4g
DQo+Pj4+Pj4+PiBBbGlnbkFmdGVyT3BlbkJyYWNrZXQ6IEFsaWduDQo+Pj4+Pj4+PiANCj4+Pj4+
Pj4+IC0tLQ0KPj4+Pj4+Pj4gVGhpcyBvbmUgaXMgdG8gYWxpZ24gZnVuY3Rpb24gcGFyYW1ldGVy
cyB0aGF0IG92ZXJmbG93cyB0aGUgbGluZSBsZW5ndGgsIEkgY2hvc2UgdG8gYWxpZ24gdGhlbQ0K
Pj4+Pj4+Pj4gdG8gdGhlIG9wZW4gYnJhY2tldCB0byBtYXRjaCB0aGUgY3VycmVudCBjb2RlYmFz
ZSAoaG9wZWZ1bGx5KQ0KPj4+Pj4+Pj4gDQo+Pj4+Pj4+PiBlLmcuOg0KPj4+Pj4+Pj4gc29tZUxv
bmdGdW5jdGlvbihhcmd1bWVudDEsDQo+Pj4+Pj4+PiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgYXJndW1lbnQyKTsNCj4+Pj4+Pj4gDQo+Pj4+Pj4+IFRoZSBhYm92ZSBtYXRjaGVzIG5laXRo
ZXIgb2YgdGhlIHR3byBnZW5lcmFsbHkgcGVybWl0dGVkIHN0eWxlczoNCj4+Pj4+Pj4gDQo+Pj4+
Pj4+IHNvbWVMb25nRnVuY3Rpb24oYXJndW1lbnQxLA0KPj4+Pj4+PiAgICAgICAgICAgICAgICAg
IGFyZ3VtZW50Mik7DQo+Pj4+Pj4+IA0KPj4+Pj4+PiBzb21lTG9uZ0Z1bmN0aW9uKA0KPj4+Pj4+
PiAgICAgYXJndW1lbnQxLA0KPj4+Pj4+PiAgICAgYXJndW1lbnQyKTsNCj4+Pj4+Pj4gDQo+Pj4+
Pj4+IFRoZW4gYWdhaW4gZnJvbSBpdHMgbmFtZSBJIHdvdWxkIGluZmVyIHRoaXMgaXNuJ3QganVz
dCBhYm91dCBmdW5jdGlvbg0KPj4+Pj4+PiBhcmd1bWVudHM/DQo+Pj4+Pj4gDQo+Pj4+Pj4gSSB0
aGluayBpdCBhcHBsaWVzIHRvIHBhcmFtZXRlcnMgYW5kIGFyZ3VtZW50cyBvZiBmdW5jdGlvbnMg
YW5kIG1hY3JvLCBnaXZlbiB0aGUgZGVzY3JpcHRpb24gaW4gdGhlIGRvY3MuDQo+Pj4+Pj4gDQo+
Pj4+Pj4gSSBzZWUgeW91ciB0d28gc25pcHBldHMgYWJvdmUgYnV0IEnigJl2ZSBhbHdheXMgZm91
bmQgYXQgbGVhc3Qgb24gYXJtIGEgcHJlZG9taW5hbmNlIG9mDQo+Pj4+Pj4gdGhlIHN0eWxlIGFi
b3ZlIGZvciBmdW5jdGlvbnMsIHNvIGFyZ3VtZW50cyBhbGlnbmVkIGFmdGVyIHRoZSBvcGVuaW5n
IGJyYWNrZXQsIGZvciBtYWNyb3MNCj4+Pj4+PiB0aGVyZSBpcyBhIG1peC4NCj4+Pj4+IA0KPj4+
Pj4gVGhlIGxhdHRlciAiYWJvdmUiIHJlZmVycyB0byB3aGljaCBmb3JtIGV4YWN0bHk/IFRoZSBv
bmUgeW91IG9yaWdpbmFsbHkNCj4+Pj4+IHNwZWxsZWQgb3V0LCBvciB0aGUgZm9ybWVyIG9mIHdo
YXQgbXkgcmVwbHkgaGFkPw0KPj4+PiANCj4+Pj4gSW4gbXkgcmVwbHkgSSB3YXMgcmVmZXJyaW5n
IHRvIHRoZSBvbmUgSSBvcmlnaW5hbGx5IHNwZWxsZWQgb3V0Lg0KPj4+IA0KPj4+IEJ1dCB0aGF0
J3MgcHJvcGVybHkgbWFsZm9ybWVkLCBmb3Igbm90IGFsaWduaW5nIGFyZ3VtZW50MiB3aXRoIGFy
Z3VtZW50MS4NCj4+PiBXaGVyZSBhcmUgc3VjaCBjb25zdHJ1Y3RzIGNvbW1vbmx5IHVzZWQ/IEkg
anVzdCB0b29rIG9uZSBleGFtcGxlIChjcHVlcnJhdGEuYykNCj4+PiBhbmQgb25seSBmb3VuZCBt
eSBmaXJzdCBmb3JtIG9mIHdyYXBwaW5nLg0KPj4gDQo+PiBJIGhhZCB0byBnbyBiYWNrIHRvIHRo
ZSB0aHJlYWQgdG8gcmVhbGlzZSB0aGVyZSB3YXMgc29tZSBzdHlsZSBpc3N1ZSwgdGhlIHNuaXBw
ZXQgSSB0aG91Z2h0DQo+PiBJIHNlbnQgYWxyZWFkeSBoYWQgYXJndW1lbnQyIGFsaWduZWQgdW5k
ZXIgYXJndW1lbnQxLCBsaWtlIHRoaXM6DQo+PiANCj4+IGUuZy46DQo+PiBzb21lTG9uZ0Z1bmN0
aW9uKGFyZ3VtZW50MSwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmd1bWVu
dDIpOw0KPj4gDQo+PiBFdmVuIG15IHdvcmRpbmcgd2FzIG5vdCByZWFsbHkgYWNjdXJhdGUsIGFz
IEkgbWVhbnQ6DQo+PiDigJxUaGlzIG9uZSBpcyB0byBhbGlnbiBmdW5jdGlvbiBwYXJhbWV0ZXJz
IHRoYXQgb3ZlcmZsb3dzIHRoZSBsaW5lIGxlbmd0aCwgSSBjaG9zZSB0byBhbGlnbiB0aGVtDQo+
PiAqYWZ0ZXIqIHRoZSBvcGVuIGJyYWNrZXQgdG8gbWF0Y2ggdGhlIGN1cnJlbnQgY29kZWJhc2Ug
KGhvcGVmdWxseSnigJ0NCj4+IA0KPj4gU28gdG8gc3VtbWFyaXplLCB0aGlzIHZhbHVlIGZvcm1h
dHMgdGhlIGNvZGUgdG8gaGF2ZSBvdmVyZmxvd2luZyBhcmdzL3BhcmFtIGFsaWduZWQgYWZ0ZXIN
Cj4+IHRoZSBvcGVuIGJyYWtldC4NCj4gDQo+IEJ1dCB0aGUgZXhhbXBsZSBhYm92ZSBfYWdhaW5f
IGRvZXMgbm90IGhhdmUgdGhlIHR3byBhcmd1bWVudHMgYWxpZ25lZC4NCj4gSSB3b3VsZCBoYXZl
IHN1c3BlY3RlZCBhIG1haWwgVUkgaXNzdWUsIGJ1dA0KPiBodHRwczovL2xpc3RzLnhlbi5vcmcv
YXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAyMy0xMS9tc2cwMjM2Ni5odG1sDQo+IHNpbWlsYXJs
eSBzaG93cyB3YXkgdG9vIG1hbnkgaW5kZW50aW5nIGJsYW5rcyBvbiB0aGUgMm5kIGxpbmUuDQoN
Ck1tbS4uLiBiZWZvcmUgc2VuZGluZyB0aGUgYXJndW1lbnRzIHdlcmUgYWxpZ25lZCwgYXJndW1l
bnQyIHVuZGVyIGFyZ3VtZW50MSwNCknigJltIHVzaW5nIOKAnG1haWzigJ0gZnJvbSBNYWMgT1Ms
IGRvbuKAmXQga25vdyB3aGF0IGlzIGdvaW5nIG9uLi4uDQoNCg0KPiANCj4gSmFuDQoNCg==


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 16:06:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 16:06:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642326.1001723 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7e7T-00075R-AV; Mon, 27 Nov 2023 16:05:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642326.1001723; Mon, 27 Nov 2023 16: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 1r7e7T-00075K-7j; Mon, 27 Nov 2023 16:05:59 +0000
Received: by outflank-mailman (input) for mailman id 642326;
 Mon, 27 Nov 2023 16:05: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=gVlU=HI=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7e7R-00075E-Bv
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 16:05:57 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d7e05a30-8d3e-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 17:05:54 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 99C0D21AA4
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 16:05:53 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 821971379A
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 16:05:53 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id UV9sHmG+ZGVYUwAAD6G6ig
 (envelope-from <jgross@suse.com>)
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 16:05: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: d7e05a30-8d3e-11ee-9b0e-b553b5be7939
Message-ID: <42f02cd6-9aa2-43d3-a352-3abfc5b25ee0@suse.com>
Date: Mon, 27 Nov 2023 17:05:52 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [Xen-devel] PV guest with PCI passthrough crash on Xen 4.8.3
 inside KVM when booted through OVMF
Content-Language: en-US
To: xen-devel@lists.xenproject.org
References: <20180216174835.GJ4302@mail-itl>
 <3b6ce245-626d-a6db-b9fa-77dcf26a4ad6@citrix.com>
 <20180216185122.GK4302@mail-itl>
 <b8bb621f-1558-d207-4978-4dca46e350e6@citrix.com>
 <01e7d219-5a2f-58cb-bb30-59f31749f019@suse.com> <ZWNbWPkKsLI1q8+D@mail-itl>
 <CACHz=ZiWufUenyw_wg+QuK86+gU5RZNkuJNzX9-K1UM5P3m8+Q@mail.gmail.com>
 <ZWR8+Xjm2K8eZpab@mail-itl>
 <CAKf6xpvBE7VnziXYBpbh4iPw+sJi9bjLcZupUgrt_Pw6qUtffg@mail.gmail.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <CAKf6xpvBE7VnziXYBpbh4iPw+sJi9bjLcZupUgrt_Pw6qUtffg@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------2gtVCCsMIAv3h5MEATKPZpRR"
X-Spam-Level: ***************
X-Spamd-Bar: +++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:97 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 PREVIOUSLY_DELIVERED(0.00)[xen-devel@lists.xenproject.org];
	 TO_DN_NONE(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCPT_COUNT_ONE(0.00)[1];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 RCVD_COUNT_THREE(0.00)[3];
	 ARC_NA(0.00)[];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Score: 15.00
X-Rspamd-Queue-Id: 99C0D21AA4
X-Spam-Flag: YES
X-Spam: Yes

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------2gtVCCsMIAv3h5MEATKPZpRR
Content-Type: multipart/mixed; boundary="------------YKcEbY1u19J6Qt5f5JSHSSV8";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: xen-devel@lists.xenproject.org
Message-ID: <42f02cd6-9aa2-43d3-a352-3abfc5b25ee0@suse.com>
Subject: Re: [Xen-devel] PV guest with PCI passthrough crash on Xen 4.8.3
 inside KVM when booted through OVMF
References: <20180216174835.GJ4302@mail-itl>
 <3b6ce245-626d-a6db-b9fa-77dcf26a4ad6@citrix.com>
 <20180216185122.GK4302@mail-itl>
 <b8bb621f-1558-d207-4978-4dca46e350e6@citrix.com>
 <01e7d219-5a2f-58cb-bb30-59f31749f019@suse.com> <ZWNbWPkKsLI1q8+D@mail-itl>
 <CACHz=ZiWufUenyw_wg+QuK86+gU5RZNkuJNzX9-K1UM5P3m8+Q@mail.gmail.com>
 <ZWR8+Xjm2K8eZpab@mail-itl>
 <CAKf6xpvBE7VnziXYBpbh4iPw+sJi9bjLcZupUgrt_Pw6qUtffg@mail.gmail.com>
In-Reply-To: <CAKf6xpvBE7VnziXYBpbh4iPw+sJi9bjLcZupUgrt_Pw6qUtffg@mail.gmail.com>

--------------YKcEbY1u19J6Qt5f5JSHSSV8
Content-Type: multipart/mixed; boundary="------------KnnF2lKK2VJvbiwx5g1XsTZ1"

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

T24gMjcuMTEuMjMgMTY6NTYsIEphc29uIEFuZHJ5dWsgd3JvdGU6DQo+IE9uIE1vbiwgTm92
IDI3LCAyMDIzIGF0IDY6MjfigK9BTSBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kNCj4g
PG1hcm1hcmVrQGludmlzaWJsZXRoaW5nc2xhYi5jb20+IHdyb3RlOg0KPj4NCj4+IE9uIE1v
biwgTm92IDI3LCAyMDIzIGF0IDExOjIwOjM2QU0gKzAwMDAsIEZyZWRpYW5vIFppZ2xpbyB3
cm90ZToNCj4+PiBPbiBTdW4sIE5vdiAyNiwgMjAyMyBhdCAyOjUx4oCvUE0gTWFyZWsgTWFy
Y3p5a293c2tpLUfDs3JlY2tpDQo+Pj4gPG1hcm1hcmVrQGludmlzaWJsZXRoaW5nc2xhYi5j
b20+IHdyb3RlOg0KPj4+Pg0KPj4+PiBPbiBNb24sIEZlYiAxOSwgMjAxOCBhdCAwNjozMDox
NFBNICswMTAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4+Pj4gT24gMTYvMDIvMTggMjA6
MDIsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+Pj4+Pj4gT24gMTYvMDIvMTggMTg6NTEsIE1h
cmVrIE1hcmN6eWtvd3NraS1Hw7NyZWNraSB3cm90ZToNCj4+Pj4+Pj4gT24gRnJpLCBGZWIg
MTYsIDIwMTggYXQgMDU6NTI6NTBQTSArMDAwMCwgQW5kcmV3IENvb3BlciB3cm90ZToNCj4+
Pj4+Pj4+IE9uIDE2LzAyLzE4IDE3OjQ4LCBNYXJlayBNYXJjenlrb3dza2ktR8OzcmVja2kg
d3JvdGU6DQo+Pj4+Pj4+Pj4gSGksDQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiBBcyBpbiB0aGUg
c3ViamVjdCwgdGhlIGd1ZXN0IGNyYXNoZXMgb24gYm9vdCwgYmVmb3JlIGtlcm5lbCBvdXRw
dXQNCj4+Pj4+Pj4+PiBhbnl0aGluZy4gSSd2ZSBpc29sYXRlZCB0aGlzIHRvIHRoZSBjb25k
aXRpb25zIGJlbG93Og0KPj4+Pj4+Pj4+ICAgLSBQViBndWVzdCBoYXZlIFBDSSBkZXZpY2Ug
YXNzaWduZWQgKGUxMDAwZSBlbXVsYXRlZCBieSBRRU1VIGluIHRoaXMgY2FzZSksDQo+Pj4+
Pj4+Pj4gICAgIHdpdGhvdXQgUENJIGRldmljZSBpdCB3b3Jrcw0KPj4+Pj4+Pj4+ICAgLSBY
ZW4gKGluIEtWTSkgaXMgc3RhcnRlZCB0aHJvdWdoIE9WTUY7IHdpdGggc2VhYmlvcyBpdCB3
b3Jrcw0KPj4+Pj4+Pj4+ICAgLSBuZXN0ZWQgSFZNIGlzIGRpc2FibGVkIGluIEtWTQ0KPj4+
Pj4+Pj4+ICAgLSBBTUQgSU9NTVUgZW11bGF0aW9uIGlzIGRpc2FibGVkIGluIEtWTTsgd2hl
biBlbmFibGVkIHFlbXUgY3Jhc2hlcyBvbg0KPj4+Pj4+Pj4+ICAgICBib290IChsb29rcyBs
aWtlIHFlbXUgYnVnLCB1bnJlbGF0ZWQgdG8gdGhpcyBvbmUpDQo+Pj4+Pj4+Pj4NCj4+Pj4+
Pj4+PiBWZXJzaW9uIGluZm86DQo+Pj4+Pj4+Pj4gICAtIEtWTSBob3N0OiBPcGVuU1VTRSA0
Mi4zLCBxZW11IDIuOS4xLCBvdm1mLTIwMTcrZ2l0MTQ5MjA2MDU2MC5iNmQxMWQ3YzQ2LTQu
MSwgQU1EDQo+Pj4+Pj4+Pj4gICAtIFhlbiBob3N0OiBYZW4gNC44LjMsIGRvbTA6IExpbnV4
IDQuMTQuMTMNCj4+Pj4+Pj4+PiAgIC0gWGVuIGRvbVU6IExpbnV4IDQuMTQuMTMsIGRpcmVj
dCBib290DQo+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiBOb3Qgc3VyZSBpZiByZWxldmFudCwgYnV0
IGluaXRpYWxseSBJJ3ZlIHRyaWVkIGJvb3RpbmcgeGVuLmVmaSAvbWFwYnMNCj4+Pj4+Pj4+
PiAvbm9leGl0Ym9vdCBhbmQgdGhlbiBkb20wIGtlcm5lbCBjcmFzaGVkIHNheWluZyBzb21l
dGhpbmcgYWJvdXQgY29uZmxpY3QNCj4+Pj4+Pj4+PiBiZXR3ZWVuIGU4MjAgYW5kIGtlcm5l
bCBtYXBwaW5nLiBCdXQgbm93IHRob3NlIG9wdGlvbnMgYXJlIGRpc2FibGVkLg0KPj4+Pj4+
Pj4+DQo+Pj4+Pj4+Pj4gVGhlIGNyYXNoIG1lc3NhZ2U6DQo+Pj4+Pj4+Pj4gKFhFTikgZDF2
MCBVbmhhbmRsZWQgaW52YWxpZCBvcGNvZGUgZmF1bHQvdHJhcCBbIzYsIGVjPTAwMDBdDQo+
Pj4+Pj4+Pj4gKFhFTikgZG9tYWluX2NyYXNoX3N5bmMgY2FsbGVkIGZyb20gZW50cnkuUzog
ZmF1bHQgYXQgZmZmZjgyZDA4MDIxODcyMCBlbnRyeS5vI2NyZWF0ZV9ib3VuY2VfZnJhbWUr
MHgxMzcvMHgxNDYNCj4+Pj4+Pj4+PiAoWEVOKSBEb21haW4gMSAodmNwdSMwKSBjcmFzaGVk
IG9uIGNwdSMxOg0KPj4+Pj4+Pj4+IChYRU4pIC0tLS1bIFhlbi00LjguMyAgeDg2XzY0ICBk
ZWJ1Zz1uICAgTm90IHRhaW50ZWQgXS0tLS0NCj4+Pj4+Pj4+PiAoWEVOKSBDUFU6ICAgIDEN
Cj4+Pj4+Pj4+PiAoWEVOKSBSSVA6ICAgIGUwMzM6WzxmZmZmZmZmZjgyNmQ5MTU2Pl0NCj4+
Pj4+Pj4+IFRoaXMgaXMgI1VELCB3aGljaCBpcyBtb3N0IHByb2JhYmx5IGhpdHRpbmcgYSBC
VUcoKS4gIGFkZHIybGluZSB0aGlzIF4NCj4+Pj4+Pj4+IHRvIGZpbmQgc29tZSBjb2RlIHRv
IGxvb2sgYXQuDQo+Pj4+Pj4+IGFkZHIybGluZSBmYWlsZWQgbWUNCj4+Pj4+Pg0KPj4+Pj4+
IEJ5IGRlZmF1bHQsIHZtbGludXggaXMgc3RyaXBwZWQgYW5kIGNvbXByZXNzZWQuICBJZGVh
bGx5IHlvdSB3YW50IHRvDQo+Pj4+Pj4gYWRkcjJsaW5lIHRoZSB2bWxpbnV4IGFydGVmYWN0
IGluIHRoZSByb290IG9mIHlvdXIga2VybmVsIGJ1aWxkLCB3aGljaA0KPj4+Pj4+IGlzIHRo
ZSBwbGFpbiBlbGYgd2l0aCBkZWJ1Z2dpbmcgc3ltYm9scy4NCj4+Pj4+Pg0KPj4+Pj4+IEFs
dGVybmF0aXZlbHksIHVzZSBzY3JpcHRzL2V4dHJhY3Qtdm1saW51eCBvbiB0aGUgYmluYXJ5
IHlvdSBhY3R1YWxseQ0KPj4+Pj4+IGJvb3RlZCwgd2hpY2ggbWlnaHQgZ2V0IHlvdSBzb21l
d2hlcmUuDQo+Pj4+Pj4NCj4+Pj4+Pj4gLCBidXQgU3lzdGVtLm1hcCBzYXlzIGl0cyB4ZW5f
bWVtb3J5X3NldHVwLiBBbmQgaXQNCj4+Pj4+Pj4gbG9va3MgbGlrZSB0aGUgQlVHKCkgaXMg
dGhlIHNhbWUgYXMgSSBoYWQgaW4gZG9tMCBiZWZvcmU6DQo+Pj4+Pj4+ICJYZW4gaHlwZXJ2
aXNvciBhbGxvY2F0ZWQga2VybmVsIG1lbW9yeSBjb25mbGljdHMgd2l0aCBFODIwIG1hcCIu
DQo+Pj4+Pj4NCj4+Pj4+PiBKdWVyZ2VuOiBJcyB0aGVyZSBhbnl0aGluZyB3ZSBjYW4gZG8g
dG8gdHJ5IGFuZCBpbnNlcnQgc29tZSBkdW1teQ0KPj4+Pj4+IGV4Y2VwdGlvbiBoYW5kbGVy
cyByaWdodCBhdCBQViBzdGFydCwgc28gd2UgY291bGQgYXQgbGVhc3QgcHJpbnQgb3V0IGEN
Cj4+Pj4+PiBvbmVsaW5lciB0byB0aGUgaG9zdCBjb25zb2xlIHdoaWNoIGlzIGEgbGl0dGxl
IG1vcmUgaGVscGZ1bCB0aGFuIFhlbg0KPj4+Pj4+IHNheWluZyAic29tZXRoaW5nIHVua25v
d24gd2VudCB3cm9uZyIgPw0KPj4+Pj4NCj4+Pj4+IFlvdSBtZWFuIHNvbWV0aGluZyBsaWtl
IGNvbW1pdCA0MmIzYTRjYjU2MDlkZTc1N2Y1NDQ1ZmNhZDE4OTQ1YmE5MjM5YTA3DQo+Pj4+
PiBhZGRlZCB0byBrZXJuZWwgNC4xNT8NCj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4+Pj4NCj4+Pj4+
Pj4gRGlzYWJsaW5nIGU4MjBfaG9zdCBpbiBndWVzdCBjb25maWcgc29sdmVkIHRoZSBwcm9i
bGVtLiBUaGFua3MhDQo+Pj4+Pj4+DQo+Pj4+Pj4+IElzIHRoaXMgc29tZSBidWcgaW4gWGVu
IG9yIE9WTUYsIG9yIGlzIGl0IGV4cGVjdGVkIGJlaGF2aW9yIGFuZCBlODIwX2hvc3QNCj4+
Pj4+Pj4gc2hvdWxkIGJlIGF2b2lkZWQ/DQo+Pj4+Pj4NCj4+Pj4+PiBJIGRvbid0IHJlYWxs
eSBrbm93LiAgZTgyMF9ob3N0IGlzIGEgZ3Jvc3MgaGFjayB3aGljaCBzaG91bGRuJ3QgcmVh
bGx5DQo+Pj4+Pj4gYmUgcHJlc2VudC4gIFRoZSBhY3R1YWxseSBwcm9ibGVtIGlzIHRoYXQg
TGludXggY2FuJ3QgY29wZSB3aXRoIHRoZQ0KPj4+Pj4+IG1lbW9yeSBsYXlvdXQgaXQgd2Fz
IGdpdmVuIChhbmQgSSBjYW4ndCByZWNhbGwgaWYgdGhlcmUgaXMgYW55dGhpbmcNCj4+Pj4+
PiBMaW51eCBjb3VsZCBwb3RlbnRpYWxseSB0byBkbyBjb3BlKS4gIE9UT0gsIHRoZSB0b29s
c3RhY2ssIHdoaWNoIGtuZXcNCj4+Pj4+PiBhYm91dCBlODIwX2hvc3QgYW5kIGNob3NlIHRv
IGxheSB0aGUgZ3Vlc3Qgb3V0IGluIGFuIG92ZXJsYXBwaW5nIHdheSBpcw0KPj4+Pj4+IHBy
b2JhYmx5IGFsc28gYXQgZmF1bHQuDQo+Pj4+Pg0KPj4+Pj4gVGhlIGtlcm5lbCBjYW4gY29w
ZSB3aXRoIGxvdHMgb2YgRTgyMCBzY2VuYXJpb3MgKGUuZy4gYnkgcmVsb2NhdGluZw0KPj4+
Pj4gaW5pdHJkIG9yIHRoZSBwMm0gbWFwKSwgYnV0IG1vdmluZyBpdHNlbGYgb3V0IG9mIHRo
ZSB3YXkgaXMgbm90DQo+Pj4+PiBwb3NzaWJsZS4NCj4+Pj4NCj4+Pj4gSSdtIGFmcmFpZCBJ
IG5lZWQgdG8gcmVzdXJyZWN0IHRoaXMgdGhyZWFkLi4uDQo+Pj4+DQo+Pj4+IFdpdGggcmVj
ZW50IGtlcm5lbCAoNi42KyksIHRoZSBob3N0X2U4MjA9MCB3b3JrYXJvdW5kIGlzIG5vdCBh
biBvcHRpb24NCj4+Pj4gYW55bW9yZS4gSXQgbWFrZXMgTGludXggbm90IGluaXRpYWxpemUg
eGVuLXN3aW90bGIgKGR1ZSB0bw0KPj4+PiBmOWEzOGVhNTE3MmEzMzY1ZjQ1OTQzMzVlZDVk
NjNlMTVhZjJmZDE4KSwgc28gUENJIHBhc3N0aHJvdWdoIGRvZXNuJ3QNCj4+Pj4gd29yayBh
dCBhbGwuIFdoaWxlIEkgY2FuIGFkZCB5ZXQgYW5vdGhlciBsYXllciBvZiB3b3JrYXJvdW5k
IChmb3JjZQ0KPj4+PiB4ZW4tc3dpb3RsYiB3aXRoIGlvbW11PXNvZnQpLCB0aGF0J3MgZ2V0
dGluZyB1bndpZWxkeS4NCj4+Pj4NCj4+Pj4gRnVydGhlcm1vcmUsIEkgZG9uJ3QgZ2V0IHRo
ZSBjcmFzaCBtZXNzYWdlIGFueW1vcmUsIGV2ZW4gd2l0aCBkZWJ1Zw0KPj4+PiBoeXBlcnZp
c29yIGFuZCBndWVzdF9sb2dsdmw9YWxsLiBOb3QgZXZlbiAiRG9tYWluIFggY3Jhc2hlZCIg
aW4gYHhsDQo+Pj4+IGRtZXNnYC4gSXQgbG9va3MgbGlrZSB0aGUgImNyYXNoIiBzaHV0ZG93
biByZWFzb24gZG9lc24ndCByZWFjaCBYZW4sIGFuZA0KPj4+PiBpdCdzIGNvbnNpZGVyZWQg
Y2xlYW4gc2h1dGRvd24gKEkgY2FuIGNvbmZpcm0gaXQgYnkgY2hhbmdpbmcgdmFyaW91cw0K
Pj4+PiBgb25fKmAgc2V0dGluZ3MgKHZpYSBsaWJ2aXJ0KSBhbmQgb2JzZXJ2aW5nIHdoaWNo
IGdldHMgYXBwbGllZCkuDQo+Pj4+DQo+Pj4+IE1vc3QgdGVzdHMgSSd2ZSBkb25lIHdpdGgg
Ni43LXJjMSwgYnV0IHRoZSBpc3N1ZSBJIG9ic2VydmVkIG9uIDYuNi4xDQo+Pj4+IGFscmVh
ZHkuDQo+Pj4+DQo+Pj4+IFRoaXMgaXMgb24gWGVuIDQuMTcuMi4gQW5kIHRoZSBMMCBpcyBy
dW5uaW5nIExpbnV4IDYuNi4xLCBhbmQgdGhlbiB1c2VzDQo+Pj4+IFFFTVUgOC4xLjIgKyBP
Vk1GIDIwMjMwOCB0byBydW4gWGVuIGFzIEwxLg0KPj4+Pg0KPj4+DQo+Pj4gU28gYmFzaWNh
bGx5IHlvdSBzdGFydCB0aGUgZG9tYWluIGFuZCBpdCBsb29rcyBsaWtlIGl0J3Mgc2h1dHRp
bmcgZG93bg0KPj4+IGNsZWFubHkgZnJvbSBsb2dzLg0KPj4+IENhbiB5b3Ugc2VlIGFueXRo
aW5nIGZyb20gdGhlIGd1ZXN0PyBDYW4geW91IHR1cm4gb24gc29tZSBtb3JlDQo+Pj4gZGVi
dWdnaW5nIGF0IGd1ZXN0IGxldmVsPw0KPj4NCj4+IE5vLCBpdCBjcmFzaGVzIGJlZm9yZSBw
cmludGluZyBhbnl0aGluZyB0byB0aGUgY29uc29sZSwgYWxzbyB3aXRoDQo+PiBlYXJseXBy
aW50az14ZW4uDQo+Pg0KPj4+IEkgdHJpZWQgdG8gZ2V0IHNvbWUgbW9yZSBpbmZvcm1hdGlv
biBmcm9tIHRoZSBpbml0aWFsIGNyYXNoIGJ1dCBJDQo+Pj4gY291bGQgbm90IHVuZGVyc3Rh
bmQgd2hpY2ggZ3Vlc3QgY29kZSB0cmlnZ2VyZWQgdGhlIGJ1Zy4NCj4+DQo+PiBJJ20gbm90
IHN1cmUgd2hpY2ggb25lIGlzIGl0IHRoaXMgdGltZSAoYmVjYXVzZSBJIGRvbid0IGhhdmUg
WGVuDQo+PiByZXBvcnRpbmcgZ3Vlc3QgY3Jhc2guLi4pIGJ1dCBsYXN0IHRpbWUgaXQgd2Fz
IGhlcmU6DQo+PiBodHRwczovL2dpdGh1Yi5jb20vdG9ydmFsZHMvbGludXgvYmxvYi9tYXN0
ZXIvYXJjaC94ODYveGVuL3NldHVwLmMjTDg3My1MODc0DQo+IA0KPiBIaSBNYXJlaywNCj4g
DQo+IEkgdG9vIGhhdmUgcnVuIGludG8gdGhpcyAiWGVuIGh5cGVydmlzb3IgYWxsb2NhdGVk
IGtlcm5lbCBtZW1vcnkNCj4gY29uZmxpY3RzIHdpdGggRTgyMCBtYXAiIGVycm9yIHdoZW4g
cnVubmluZyBYZW4gdW5kZXIgS1ZNICYgT1ZNRiB3aXRoDQo+IFNlY3VyZUJvb3QuICBPVk1G
IGJ1aWx0IHdpdGhvdXQgU2VjdXJlQm9vdCBkaWQgbm90IHRyaXAgb3ZlciB0aGUNCj4gaXNz
dWUuICBJdCB3YXMgYSBsaXR0bGUgd2hpbGUgYmFjayAtIEkgaGF2ZSBzb21lIG5vdGVzIHRo
b3VnaC4NCj4gDQo+IE5vbi1TZWN1cmVCb290DQo+IChYRU4pICBbMDAwMDAwMDAwMDgxMDAw
MCwgMDAwMDAwMDAwMDhmZmZmZl0gKEFDUEkgTlZTKQ0KPiAoWEVOKSAgWzAwMDAwMDAwMDA5
MDAwMDAsIDAwMDAwMDAwN2Y4ZWVmZmZdICh1c2FibGUpDQo+IA0KPiBTZWN1cmVCb290DQo+
IChYRU4pICBbMDAwMDAwMDAwMDgxMDAwMCwgMDAwMDAwMDAwMTcwZmZmZl0gKEFDUEkgTlZT
KQ0KPiAoWEVOKSAgWzAwMDAwMDAwMDE3MTAwMDAsIDAwMDAwMDAwN2YwZWRmZmZdICh1c2Fi
bGUpDQo+IA0KPiBMaW51eCAodW5kZXIgWGVuKSBpcyBjaGVja2luZyB0aGF0IF9wYShfdGV4
dCkgKD0gMHgxMDAwMDAwKSBpcyBSQU0sDQo+IGJ1dCBpdCBpcyBub3QuICBMb29raW5nIGF0
IHRoZSBFODIwIG1hcCwgdGhlcmUgaXMgdHlwZSA0LCBOVlMsIHJlZ2lvbg0KPiBkZWZpbmVk
Og0KPiBbMDAwMDAwMDAwMDgxMDAwMCwgMDAwMDAwMDAwMTcwZmZmZl0gKEFDUEkgTlZTKQ0K
PiANCj4gV2hlbiBPVk1GIGlzIGJ1aWx0IHdpdGggU01NIChmb3IgU2VjdXJlQm9vdCkgYW5k
IFMzU3VwcG9ydGVkIGlzIHRydWUsDQo+IHRoZSBtZW1vcnkgcmFuZ2UgMHg5MDAwMDAtMHgx
NzBmZmZmIGlzIGFkZGl0aW9uYWxseSBtYXJrZWQgQUNQSSBOVlMNCj4gYW5kIExpbnV4IHRy
aXBzIG92ZXIgdGhpcy4gIEl0IGJlY29tZXMgdXNhYmxlIFJBTSB1bmRlciBOb24tU2VjdXJl
Qm9vdA0KPiBzbyBMaW51eCBib290cyBmaW5lLg0KPiANCj4gV2hhdCBJIGRvbid0IHVuZGVy
c3RhbmQgaXMgd2h5IHRoZXJlIGlzIGV2ZW4gYSBjaGVjayB0aGF0IF9wYShfdGV4dCkNCj4g
aXMgUkFNLiAgWGVuIGxvZ3MgdGhhdCBpdCBwbGFjZXMgZG9tMCB3YXkgdXAgaGlnaCBpbiBt
ZW1vcnksIHNvIHRoZQ0KPiBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBrZXJuZWwgcGFnZXMg
YXJlIG11Y2ggaGlnaGVyIHRoYW4gMHgxMDAwMDAwLg0KPiBUaGUgdmFsdWUgMHgxMDAwMDAw
IGZvciBfcGEoX3RleHQpIGRvZXNuJ3QgbWF0Y2ggcmVhbGl0eS4gIE1heWJlIHRoZXJlDQo+
IGFyZSBzb21lIGV4cGVjdGF0aW9ucyBmb3IgdGhlIEFDUEkgTlZTIGFuZCBvdGhlciByZXNl
cnZlZCByZWdpb25zIHRvDQo+IGJlIDEtMSBtYXBwZWQ/ICBJIHRyaWVkIHJlbW92aW5nIHRo
ZSBCVUcgbWVudGlvbmVkIGFib3ZlLCBidXQgaXQgc3RpbGwNCj4gZmFpbGVkIHRvIGJvb3Qu
ICBJIHRoaW5rIEkgYWxzbyByZW1vdmVkIGEgc2Vjb25kIEJVRywgYnV0DQo+IHVuZm9ydHVu
YXRlbHkgSSBkb24ndCBoYXZlIG5vdGVzIG9uIGVpdGhlci4NCg0KVGhlIF9ndWVzdF8gcGh5
c2ljYWwgYWRkcmVzcyBpcyB3aGF0IG1hdHRlcnMgaGVyZS4NCg0KV2l0aCB1c2luZyB0aGUg
aG9zdCBFODIwIG1hcCB0aGUgUFYta2VybmVsIHRyaWVzIHRvIHJlYXJyYW5nZSBpdHMgZ3Vl
c3QNCnBoeXNpY2FsIG1lbW9yeSBsYXlvdXQgdG8gbWF0Y2ggdGhlIEU4MjAgbWFwLiBBbmQg
YSBub24tUkFNIEdQQSBmb3IgdGhlDQpsb2NhdGlvbiB3aGVyZSB0aGUga2VybmVsIGlzIGxv
Y2F0ZWQgdHJpZ2dlcnMgdGhlIEJVRy4NCg0KDQpKdWVyZ2VuDQo=
--------------KnnF2lKK2VJvbiwx5g1XsTZ1
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------KnnF2lKK2VJvbiwx5g1XsTZ1--

--------------YKcEbY1u19J6Qt5f5JSHSSV8--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVkvmEFAwAAAAAACgkQsN6d1ii/Ey+m
BQgAnrsN6n2B9Frej3RRSc+gU/b+uCuQXxSnjda0iwwt9s6fiKiu3Dh92l5EKO0JnKeEHh9duypH
1HrL26gSFH9HokvPe12DHooK9BO3ZBSmBKuVFZdHBriQA+s7/pCk0RoLaY53JeOoOkC4nLafRJ16
RjG0Nkg6iS0FrkEz8Ff5iq/nC5AU6z5xtgqDx4Bb6qPV6w6m1BwyW3s2aHpBqdGGSOQ0S5yVjLHH
PGrnimovoROcljpGIa4wcDXKNRXKy2j5z0RUs1co3dUrLH+Lqy0HJmeezpkH8qaN7IIAIj6z/UlO
jJqgAlvpfuLbb3bQ2L+nV/tDVbdzTJ2/0KBa7YvgGA==
=Rotf
-----END PGP SIGNATURE-----

--------------2gtVCCsMIAv3h5MEATKPZpRR--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 16:17:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 16:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642332.1001733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7eIP-0001ri-Am; Mon, 27 Nov 2023 16:17:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642332.1001733; Mon, 27 Nov 2023 16:17: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 1r7eIP-0001rb-7s; Mon, 27 Nov 2023 16:17:17 +0000
Received: by outflank-mailman (input) for mailman id 642332;
 Mon, 27 Nov 2023 16:17: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=fT1m=HI=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r7eIN-0001rV-8V
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 16:17:15 +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 6c4247b3-8d40-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 17:17:12 +0100 (CET)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2c878e228b4so54656181fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 08:17:13 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 bd12-20020a05600c1f0c00b0040b3027ddc5sm15328081wmb.37.2023.11.27.08.17.11
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Mon, 27 Nov 2023 08:17:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c4247b3-8d40-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701101832; x=1701706632; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=kaynfYCQTiHwSJRdKciBcK5VUK1PLNWXVOARFeCqUZg=;
        b=cw2jkC9Gfy9glZlGRMnU+UaOrPlWUtezxwY1vJc9+naacSlfIe22Cd2kACJ8g32EBT
         psjCCWC+WbKakjQxlbXWpp3mpZAzXQt5ojA5Ed64+ueFgX6h0YgiYIngFRqtJbdiWiXl
         Y3kSAefyn0THoqqWavpDGkGb0SpGFIDvDapzY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701101832; x=1701706632;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=kaynfYCQTiHwSJRdKciBcK5VUK1PLNWXVOARFeCqUZg=;
        b=PJhCjqsUmZ7VGKiYXLhgsAbR6dvC9kcXM2JcQ7gSzKpDRmU4aWyml/17m6usWwDXhV
         zIstivsN1x7GNabp8E4Thnumx5EFv0ceruKFRWXhnr3Fa2dSUMfMcLBfFqdAIwpFAL0Z
         n5KZOVho41KbEkHHGKZE1yyhfDf8B+Vl7bcYT37P58N6/E4SYx74jstECZb12q//h02v
         YcHXlBzpEdX0ORG5SACJKTPS+D4c2hG0TVctiT2dfEhnx4KO8pZSrebgVUnCI8RaS3JT
         p2SYOFARQoVdtB4La6gHchaWLxD9funmAAxYZiCItwHmlRbxhb8NSUjx+8diUeh3QHt8
         Urxg==
X-Gm-Message-State: AOJu0Yz11aXRt9oQc5d2+86MZhFJy5PFxfzzFcui1gtgLcaoRIbZoZZ2
	KwOK87y3t9Vo/FDidASE+v/D2Q==
X-Google-Smtp-Source: AGHT+IFF3uq7/+Xus5vZcxsQzFYm4eJCNrfg4omIDA2/vGxB33fl1gG61fSUdG4gTzaREWi3fh01ww==
X-Received: by 2002:a2e:a48f:0:b0:2c9:a042:e008 with SMTP id h15-20020a2ea48f000000b002c9a042e008mr3099865lji.21.1701101832411;
        Mon, 27 Nov 2023 08:17:12 -0800 (PST)
Message-ID: <72619755-670a-4472-bb92-11221053c320@citrix.com>
Date: Mon, 27 Nov 2023 16:17:11 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/x2apic: introduce a mixed physical/cluster mode
Content-Language: en-GB
To: Neowutran <xen@neowutran.ovh>
Cc: Elliott Mitchell <ehem+xen@m5p.com>, Henry Wang <Henry.Wang@arm.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org, 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?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
References: <20231024135150.49232-1-roger.pau@citrix.com>
 <ZT/Cs+MsBPibcc9D@mattapan.m5p.com> <ZT_LWjKgQxOE9lpj@macbook>
 <ZUqRfgAmzJRImW4O@mattapan.m5p.com>
 <hqj6xjxb7r5lb52biejbzzue2jth3rcth3bouadya4jwarll4l@oswerq2ejbli>
 <ZVgp0wshHg3ZQ/Md@mattapan.m5p.com> <81f6bbd5-0487-461a-af1a-dbb6ead47
 <2lyqb2u7tlcaig7nit3rnw5ftfupfemqmffr4ddsnolcrdojme@kmmlzigrzch3>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <2lyqb2u7tlcaig7nit3rnw5ftfupfemqmffr4ddsnolcrdojme@kmmlzigrzch3>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/11/2023 3:18 pm, Neowutran wrote:
>> Hello,
>>
>> Thankyou for the analysis.
>>
>> For your base version of QubeOS Xen, was that 4.13.2-5 ?   I can't see
>> any APIC changes in the patchqueue, and I believe all relevant bugfixes
>> are in 4.17.2, but I'd just like to confirm.
> I was using the qubes-vmm-xen release "4.17.2-5" that use xen version
> "4.17.2" . I don't see custom modification for APIC in the patchs
> applied t 
> o Xen by QubesOS
>
>> First, by "unusable slow", other than the speed, did everything else
>> appear to operate adequately?  Any chance you could guess the slowdown. 
>> i.e. was it half the speed, or "seconds per log console line during
>> boot" levels of slow?
> Once I was logged in, it took me around 10 minutes to type the command
> "sudo dmesg > log"

Ok.  Glacial it is.


>
> There was also graphical instabilities (screen display something, then it is black,
> few seconds later it display things again. 
> Sometime it completly crash and I need to reboot to try to finish the boot+login process),
> and unable to start guests due to the system being too slow. 
>
> Some of the logs gathered from "sudo dmesg" that only appear for case 1 and
> case 3: 
>
> "
>  nvme nvme1: I/O 998 QID 1 timeout, completion polled
>  nvme nvme1: I/O 854 QID 5 timeout, completion polled
>  ...
>  [drm] Fence fallback timer expired on ring sdma0
>  [drm] Fence fallback timer expired on ring sdma0
>  ...
>  [drm] Fence fallback timer expired on ring sdma0
>  [drm] Fence fallback timer ex 
> pired on ring gfx_0.0.0
>  [drm] Fence fallback timer expired on ring gfx_0.0.0
>  [drm] Fence fallback timer expired on ring sdma0
>  ...
> " 
> things like that repeated hundreds of times.

Both the disk and GPU had timeouts.  Both indicative of interrupts not
working correctly.
>> Having re-reviewed 26a449ce32, the patch is correct but the reasoning is
>> wrong.
>>
>> ACPI_FADT_APIC_CLUSTER predates x2APIC by almost a decade (it appeared
>> in ACPI 3.0), and is not relevant outside of xAPIC mode.  xAPIC has 2
>> different logical destination modes, cluster and flat, and their
>> applicability is dependent on whether you have fewer or more than 8
>> local APICs, hence that property being called out in the ACPI spec.
>>
>> x2APIC does not have this property.  DFR was removed from the
>> architecture, and logical mode is strictly cluster.  So the bit should
>> never have been interpreted on an x2APIC code path.
>>
>> Not that it matters in your case - the bit isn't set in your FADT, hence
>> why case 1 and 3 have the same behaviour.
>>
>>
>> This brings us to case 2, where mixed mode does seem to resolve the per 
> f
>> problem.
>>
>> Since that patch was written, I've learnt how cluster delivery mode
>> works for external interrupts, and Xen should never ever have been using
>> it (Xen appears to be alone in OS software here).  For an external
>> interrupt in Logical cluster mode, it always sends to the lowest ID in
>> the cluster.  If that APIC decides that the local processor is too busy
>> to handle the interrupt now, it forwards the interrupt to the next APIC
>> in the cluster, and this cycle continues until one APIC accepts the message.
>>
>> You get most interrupts hitting the lowest APIC in the cluster, but the
>> interrupt can be forwarded between APICs for an unbounded quantity of
>> time depending on system utilisation.
>>
>>
>> Could you please take case 2 and confirm what happens when booting with
>> x2apic-mode={physical,cluster}?  If the pattern holds, the physical
>> should be fine, and cluster should see the same problems as case 1 and 3.
> I confirm that the pattern holds. "physical" is fine and "cluster"
> have th 
> e same issue as case 1 and case 3.

Ok, so something in your system *really* doesn't like having external
interrupts programmed in Logical cluster mode.

And knowing how logical cluster mode works for external interrupts, we
should never have done that in the first place.

I think this is enough justification to backport mixed mode.  Against a
default upstream Xen, that swaps external interrupts to being programmed
in physical mode, while keeping IPIs in cluster mode.

FWIW, we've already backported mixed mode to XenServer's Xen 4.13 (where
we forced physical mode for other reasons), and that's come with nice
perf improvements from swapping IPIs to using cluster mode.

~Andrew


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 16:18:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 16:18:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642335.1001742 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7eJQ-0002WK-PC; Mon, 27 Nov 2023 16:18:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642335.1001742; Mon, 27 Nov 2023 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 1r7eJQ-0002WD-MS; Mon, 27 Nov 2023 16:18:20 +0000
Received: by outflank-mailman (input) for mailman id 642335;
 Mon, 27 Nov 2023 16:18: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7eJP-0002Ul-H8
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 16:18:19 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 933c3c0b-8d40-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 17:18:18 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7771.eurprd04.prod.outlook.com (2603:10a6:10:1e6::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Mon, 27 Nov
 2023 16:18:16 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 16:18: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: 933c3c0b-8d40-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XRbQvc6twqf02huIJ0vUhPzwUt+PFAPMDlXjbknESrw+1ZwYGJ4f5uApxMtpAAlNt6ch1bF3kE63XVCUYWP52zpmkTFeHe6xmv0kxO1VcwAHKD1DFKm9ZEIS8hPxaCH7o/jKJN0oVf2Y1hN/6rmwBb6xlGd8s9XLgRqzOX1z4i/62Bh82JGtdPhkddZby6WmsCeXgXUhlz9QNfWcEOfoFR79PL6pHZFeM/LNY56iz5kteAm6l7qGs8+43uHCMWav0XeXzhW3uWaIevTMzvu2y1dK2I8eRwLM0+p+HXK3sgXr6IqkHhewOGQojYZec6mrbm9TEanJBZu+/8/5KiOOBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nk0MbnXXzvWD5Lzxn3+PntMR9YtRJ90kYdVw6zNPDoo=;
 b=SczyEJ0E0RRxXWvKVUT5zQui3/o1CMgKz7IfCQhjiKmgGCKWkEYmdF7b55Roe1MlwmqYP5Y8dagaqwvGxMmzWM806K4AQlwMqcsv6SQGLvjM/j7Ie8L0xg4Ju93k3skGHkwAM/gn0DY50DWYDggZwPraFP2XEVRpKkr37fVh8DFBQFRPXoN6ozvzZWBO5CA9baMkXdoK6TWOKabGRB+o0YNSaVq3yc+yDMBq0+sJtTS70/hyv/K/Q9W2DGGCzvMwCKFL8udR2N7wGxwwsFJBpXov3hNUjpFZnShieQkC0W8Yavn6+Y5qokYn9tuLslZBANQg7ievqTPPTvrBKALSLw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nk0MbnXXzvWD5Lzxn3+PntMR9YtRJ90kYdVw6zNPDoo=;
 b=zk69cK+6pYCIJPNzolLZ6zj0P2z5czLIS1ldskeHXkyfSWS7zurE/lfCtPHleQl1rty6EPP772Pu+aEW8aQPjFZTGGj9FZYk/mYbrWoINvL4+vkj4EEMM9N9+yoXcPj+qKqpYisHQyctYtq+FIcNoCYabbbPTbNq8jg+BenIjud+mjaabUu5EDFF+5yLzDHuQORrhpjw8mSwPK7YcPqR9mMk3FEmwZW8Hg/5avAn/Yu44x3Fr/mH0HfKAi594bkLJL5PSPDwYshwhh2Jc6rpNo8bVZ3dn/+X4D99754A9wIptlmI6qp5JleJR3SY9kP/yET7sOpY/Y6bmcNVroUI0w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c4b3bcab-d571-4df5-9ee7-80dd4580adb5@suse.com>
Date: Mon, 27 Nov 2023 17:18:14 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 1/6] x86/msi: passthrough all MSI-X vector ctrl writes
 to device model
Content-Language: en-US
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
 <marmarek@invisiblethingslab.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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 xen-devel@lists.xenproject.org
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
 <6c030c703fcd37d7dfae3c488c21b5bca540e352.1700790421.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6c030c703fcd37d7dfae3c488c21b5bca540e352.1700790421.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0097.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a9::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7771:EE_
X-MS-Office365-Filtering-Correlation-Id: e17a2f70-122e-4c55-c22c-08dbef647626
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/JUFv1CVR9rWYeXlCxJZ9wBFX4r3yZxzNPtO82VU41w3lfLYgGh4NVksGNdJ+JXoLk0SOnOb4jl1WrfMDMnsQffR2ZYLYtSuQNPdgsRNbhYLPaHHfe3dTe8SUyphAzMdJZasuCCkpr4WrAjN4hULxN/05hNoPB7K9Owe6Oi6bX6kKza0wgEa55csG8piUlk+baaNaBIyzr2VBIDTb3uClMGO3DLCauilt5DLC7broRGUZqyM9BTV/HfIUDwADujFxpTWmlj+f0mz+M3uDP04lVCjZWZhXy8kp8Yebokmol24X7FsL/iQXPIkylEwRD9DtwH/HUVBZw6AkTqvPDHwhEIOHrum24Kv7+qCoqnCgvZw+gqMVWqTFn6irD53+xLla3lKotKHNbaCnjKxgLAZKaZTJZbx42iNP7M8UcdKJtAfNrR9KE0e4sUn8lVppuAFrsUAlfJVNHxOjbXDzR+wiY6Gah2kYu5j66VXRt4zNW2HuEGCF1Xw8Tcf6kAcyNqY62qkuiwjB494qblfsV2m0aUcMBnrC0eAvz8BspOi1fJsr0IEBmmmMAXswadZ0S5QNqm2gNsK/BzglfYXL8va9U85ZIQA6N5PbZY1xgCUihvEtaDIbwKBWdsn+5SpHdHg5RvM3QUPPhm6RxFFxmfnBQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(346002)(39860400002)(396003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(31686004)(26005)(6486002)(2616005)(6506007)(53546011)(478600001)(6512007)(38100700002)(36756003)(86362001)(31696002)(5660300002)(2906002)(66946007)(4744005)(41300700001)(66476007)(54906003)(66556008)(4326008)(8936002)(316002)(6916009)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QmlSbS9rRnJjYUlMY25sL205cFU2K2FXU2tqcUdxa2Y2MTd0UENoRmRzYzNt?=
 =?utf-8?B?MFpiRE9kL1NUd3NmTi9mOVkxaHdaRXhxaEdXeHc0NGN0ZStnRVByWm42enR5?=
 =?utf-8?B?QVhTWml4aFRRaFIxN3J3ZHpuMmd2ZkFwcUNxQ0dWS1VldmRaMFFtQXdpZjU1?=
 =?utf-8?B?WnQvRDhTcmpESEVtd2M3REtIMXdBYi93ZHpCRnZBbGk1S3VrRGE3TnJEdDNk?=
 =?utf-8?B?cEtSTFdyRTY5NjkxTndIdmxSRmRMNmdibUlWamk3MHJiazZaMndnUlE2R3BL?=
 =?utf-8?B?V0dzNWdCOTcxRWRrdy95eXd3dkx5VnIyM1h2cERrdHQxQm1VUzRBWGZjOHVw?=
 =?utf-8?B?M2VrNjk1bFM2NUxqSXNDd001UndGd3NFQUxKWW5kMS90MWZHMGJuMm82cmYw?=
 =?utf-8?B?aUx5cmwxbndaOFhtYUJheE1qaUNTRE5vaU05NitsallkaDRrcFE2djhRanhi?=
 =?utf-8?B?dkNyc25EQlROM3htMmdRb0VSU2dGQnpvQTI1TEJ5cU9nQkIzVDBqS05oTm1l?=
 =?utf-8?B?YklLZm5SNDBtZXVXQ1dJSE1TMitlWjJ5OG9BcHpBZ2c5N05wNXdWR0s4NllK?=
 =?utf-8?B?MUJVVTdKdGltQ1d2aFNOVWtPbXlVOS9sbWxJOHhQTGtyZnc1VWZ6YW5PQjI0?=
 =?utf-8?B?MUpYdW1vTmhCT0VnQ1F3QytGcWhiVlVUN1hZYUhBdG9scWJBWmwzUWJWazg3?=
 =?utf-8?B?SW4zcXJBZllaRitlamhiNXk1WGZpNXMvQkJRQUxFNFpSMUh6NGRDaXpYckxi?=
 =?utf-8?B?VWpvNldpOVNHY2JTSG1qMTRqazhhMGxpTzZqekVYaXZUaGVQUGlsRVlWcUJN?=
 =?utf-8?B?cFNtTXRoNi9aRW5OeWFjQi9yVWtpcnNYNG1IOE9zc2RLMnpxRytESjhoSnNz?=
 =?utf-8?B?NldyZVZlSXVkVStqL2ErUTBHQ0lvOENoVjRVTmhoY0VLblFUOSt2ZHEwU3cr?=
 =?utf-8?B?YmRORnhEWHhPQ3ZVUGdDbmZHTW1JMTlMRExpRE9UMmthR0g5WnRuTkNvaWtF?=
 =?utf-8?B?bTZrQ2hlUE1PcTNncjkrTmppVkh2bUdzN3dBUnRHM1o2Nm9iNm03QUhvYk1J?=
 =?utf-8?B?Tm1Ra2E1aEhxbi93ZkRNRUh3ZTJjb3h4c2Y2LzJOVC9NM1J1c3B2ZzdzNzRC?=
 =?utf-8?B?Y3FaR24rNFFxd3g3RjVHZENGWVFLTDJHRW04SXlGcmVzeVpVL2dkaWxDNFdE?=
 =?utf-8?B?UDZRZ04ybDIwWmRKK29YQm04cWNtVVBJR3p5WEZibGY4dXpWTVg1VFRUZUh5?=
 =?utf-8?B?UWtFM2UwSFFMdnBhK2wreERMcWQxMVoxUmJqUmE3dndrRkJDUzl1OFJFY2Rn?=
 =?utf-8?B?dm8rV25HT1VFay9HMlQ2c1hENzI2dHR4czgwUE5RY254b01HaFZCOENZT1A0?=
 =?utf-8?B?dFZDVll2MzhrWjJveE4yMjRZR3I2QjdHdW1Vdmx5Sy9KQ1czUktwU0syVDNv?=
 =?utf-8?B?SEJVcWlRcjVidEoxbkJXa1hYMk5GMWJoZHdEMXdtYThvWWhoZXo2aTFaSTh6?=
 =?utf-8?B?Q3ltdGoxb29WTHVKc1pGditrdTRFcVMyM0k3dUQzTWpvVWhTUTlmRERLeEg4?=
 =?utf-8?B?RUxDY1Y4VzNBeThZME1oQjRzbWNINVhxSUVBanErVjlqWXVrUTMvY0JTVzFS?=
 =?utf-8?B?OFFDdWZYeUM2bDM2ODFLOHg0Ni9QSFZST2ZOYnVFM25RMmhjVkdOSjdRSFhM?=
 =?utf-8?B?cnFxZW9YcWVRZlVyUGxIaGJ1MFhZdEhvQ3NQMHlKcFJMOFd2UUwweXpGNE5Y?=
 =?utf-8?B?NFUxKzJkQ0tISVpSbUdoYVRLU2NoSGFLaWJwWEVPMTI3RlhjczhwSHV0M1h4?=
 =?utf-8?B?RU15Q21qaGpkYk1Rb0ovSWtKWEVrdGttMzNVQ2gwNEpSOW5CbWFXcU9MeUMv?=
 =?utf-8?B?RkJkY1ZUS2c5amttTXFSU1Bmb0IwL1JvamN1YURoSXFlYVB1eWxqSlJ0MWpv?=
 =?utf-8?B?ZklLRXV6RkpQYVZ5bTNQU05iVFg5cGVnc0VZYzQ5QlZMdjIxYm9TRE1hT1Jx?=
 =?utf-8?B?NXNWUUx5cUdJZWYzcEFnTk1xYmRaYnFFUHB2YTNkdEJhMmVTalBNOFBlakw4?=
 =?utf-8?B?YStJc0U4K0tEZm1nb2gycmJCNUpmeURvNjVhVWQ0VkNTZlN3eENBbXQrdlFt?=
 =?utf-8?Q?cAOzFJlmzNcUe04aoDiKcpiub?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e17a2f70-122e-4c55-c22c-08dbef647626
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 16:18:16.4683
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: R0FEhiDlA+ql8DJK/B2KIoYdF5NC6uOIdLNyxlyW3S12J4pQ8JUN4ootM9l1AiBnYVA4sZGpwmDDhhMJzeNUsA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7771

On 24.11.2023 02:47, Marek Marczykowski-Górecki wrote:
> @@ -357,7 +356,17 @@ static int cf_check _msixtbl_write(
>      const struct hvm_io_handler *handler, uint64_t address, uint32_t len,
>      uint64_t val)
>  {
> -    return msixtbl_write(current, address, len, val);
> +    /* ignore invalid length or unaligned writes */

Nit: Style (capital first letter).

> +    if ( len != 4 && len != 8 || !IS_ALIGNED(address, len) )

Please parenthesize the && as an operand of ||.

> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -642,6 +642,7 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>                  fi.submap |= (1U << XENFEAT_direct_mapped);
>              else
>                  fi.submap |= (1U << XENFEAT_not_direct_mapped);
> +            fi.submap |= (1U << XENFEAT_dm_msix_all_writes);

This probably wants to move up into the x86-only section?

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 16:29:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 16:29:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642341.1001752 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7eTr-0007ZS-Lj; Mon, 27 Nov 2023 16:29:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642341.1001752; Mon, 27 Nov 2023 16:29: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 1r7eTr-0007ZL-Iz; Mon, 27 Nov 2023 16:29:07 +0000
Received: by outflank-mailman (input) for mailman id 642341;
 Mon, 27 Nov 2023 16: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=6whs=HI=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r7eTq-0007Y2-UX
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 16:29:06 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 14682fbf-8d42-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 17:29:04 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3316d3d11e1so2535665f8f.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 08:29:04 -0800 (PST)
Received: from localhost.localdomain
 (cpc92320-cmbg19-2-0-cust35.5-4.cable.virginm.net. [82.13.64.36])
 by smtp.gmail.com with ESMTPSA id
 r5-20020a5d6c65000000b00332f6202b82sm6916802wrz.9.2023.11.27.08.29.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 08:29:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 14682fbf-8d42-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701102543; x=1701707343; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=rqSjlpQSLY++eIbHc8Ks2mT2vCpbUSFHhdPuPpDAmrk=;
        b=A9FoAYRN/UOOFZgYTcKuH34mgFkVExV1PNRzKXJ+GqQbogu7M5bcxZNSDm6NlqwkKL
         Y651fWmPJPDMYy7hID/WXVCP05aLWYSzazUFDSRiVG4/cpzbiBGl4Nu7uLnutJ5VG4AB
         TZ5Z3qjGY7Tn3nZbpopXQ+/yf9mcm/etSVOhE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701102543; x=1701707343;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=rqSjlpQSLY++eIbHc8Ks2mT2vCpbUSFHhdPuPpDAmrk=;
        b=Vde6zieBV4i7mHxwcpCf27xCOXOk/zMJkMOINJe06IoIjGH/efnaFZazIaxYkHHAM9
         b94HYKjrjOqZh4cGMALWCINCTwSb5+F92EPhVL3RjMzTU+6q5rfbOMyh90QXxWrLyFLI
         KJovRi+la/6wRG0rHBxN1fJE/CP+tPhMAKvfd1tmOb5aBAmtJvpYTol2dG0ObbwYsH+b
         TU78k7MvotBIb+s3S8f2go6znSWvHPZREcXbPluhSrQgx9jwpClDKsLqvevhKATTKyOm
         hBXK7YZ0uQCsEwo17ybGr+ww/wml0Gbzn64f7VsMd213TtTKMibYBM1UEfvI0rFtyADp
         TI+A==
X-Gm-Message-State: AOJu0Yz2d8YG6Av4IG2rEaNBjZmhDGHwDpf6GQtqc0+hioB5bAEYa5eH
	nrg8oUdtsLoH9Q6SMCsLFS1PACHUG+k7NZvlpn4=
X-Google-Smtp-Source: AGHT+IGoZu3ohze5/D037jKrUxqY2t04BpL0EWNjL8241zqpSdJ/R577lE7UKnuvqr5YF8tOSBAjog==
X-Received: by 2002:a5d:6282:0:b0:332:f97e:f560 with SMTP id k2-20020a5d6282000000b00332f97ef560mr4948930wru.30.1701102543306;
        Mon, 27 Nov 2023 08:29:03 -0800 (PST)
From: Anthony PERARD <anthony.perard@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: [OSSTEST PATCH] preseed_base: Remove reportbug-gtk if present
Date: Mon, 27 Nov 2023 16:28:56 +0000
Message-Id: <20231127162856.35391-1-anthony.perard@citrix.com>
X-Mailer: git-send-email 2.39.2
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The Debian installer have started to install "reportbug-gtk" which
depends on "dconf-service" and "dbus-user-session" and "systemd".

And when we try to install "sysvinit-core" we are met with the
following error message:
>    The following packages have unmet dependencies:
>     dconf-service : Depends: default-dbus-session-bus or
>			       dbus-session-bus

So, remove that new package and its dependencies before moving on.

While here, add `set -x` to help debugging.

Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
---

Notes:
    I'm pushing that right away.

 Osstest/Debian.pm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Osstest/Debian.pm b/Osstest/Debian.pm
index ded7cdfc..9b30a375 100644
--- a/Osstest/Debian.pm
+++ b/Osstest/Debian.pm
@@ -896,6 +896,9 @@ sub preseed_base ($$$;@) {
     # breaks ts-leak-check.  Fall back to SysV init for now.
     if ( $suite !~ /squeeze|wheezy/ ) {
        preseed_hook_command($ho, 'late_command', $sfx, <<END)
+#!/bin/sh
+set -ex
+in-target apt-get remove --auto-remove -y reportbug-gtk
 in-target apt-get install -y sysvinit-core
 in-target apt-get remove -y systemd
 END
-- 
Anthony PERARD



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 16:33:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 16:33:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642347.1001763 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7eY3-00041O-72; Mon, 27 Nov 2023 16:33:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642347.1001763; Mon, 27 Nov 2023 16:33: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 1r7eY3-00041H-3W; Mon, 27 Nov 2023 16:33:27 +0000
Received: by outflank-mailman (input) for mailman id 642347;
 Mon, 27 Nov 2023 16:33: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=sMaF=HI=bombadil.srs.infradead.org=BATV+6fdacddc1aa5db9ef0e1+7400+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1r7eY1-00040s-Et
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 16:33:26 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aef71281-8d42-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 17:33:24 +0100 (CET)
Received: from hch by bombadil.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1r7eXO-0030D4-22; Mon, 27 Nov 2023 16: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: aef71281-8d42-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=N2zDXv8N842SdWeP1QfvmzEvIcEsyQplx8msSV1RBzc=; b=3w8bJekjauD14xkhiSXsSeP1yp
	9N3b2DKZZPdBt27xj1DIEE7RXLXZrvHxDKR2sRYD21pNAAIJ3vl1ZCKZ4NFvv5G6xjzqey6N1n0KK
	ZrI0nakNUBsMEbW2Q4e4j1NRh5OeO1tyxIFUhlV8EaqwcQbah9MgH17+QPadh0DqL/pm4sqZ5f/vV
	IH1EMWIP6up9ybGx4dw0MvcLdLRClPIEOMfWizJpOcO8WEMAVnlOuY5kgUVe2HK2Xt75AhDq2qkmf
	jzAFQBFfr3qP/5tAASIdgOPBH9JmPj2A8s0x9fJ50RYVccYl2K4OsZZ71u82sMqjEZ1B5f5BIa6y8
	Lia9qiAg==;
Date: Mon, 27 Nov 2023 08:32:46 -0800
From: Christoph Hellwig <hch@infradead.org>
To: Yu Kuai <yukuai1@huaweicloud.com>
Cc: Christoph Hellwig <hch@infradead.org>, ming.lei@redhat.com,
	axboe@kernel.dk, roger.pau@citrix.com, colyli@suse.de,
	kent.overstreet@gmail.com, joern@lazybastard.org,
	miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com,
	sth@linux.ibm.com, hoeppner@linux.ibm.com, hca@linux.ibm.com,
	gor@linux.ibm.com, agordeev@linux.ibm.com, jejb@linux.ibm.com,
	martin.petersen@oracle.com, clm@fb.com, josef@toxicpanda.com,
	dsterba@suse.com, viro@zeniv.linux.org.uk, brauner@kernel.org,
	nico@fluxnic.net, xiang@kernel.org, chao@kernel.org, tytso@mit.edu,
	adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
	konishi.ryusuke@gmail.com, dchinner@redhat.com,
	linux@weissschuh.net, min15.li@samsung.com, dlemoal@kernel.org,
	willy@infradead.org, akpm@linux-foundation.org, hare@suse.de,
	p.raghav@samsung.com, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org, gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org, yi.zhang@huawei.com,
	yangerkun@huawei.com, "yukuai (C)" <yukuai3@huawei.com>
Subject: Re: [PATCH block/for-next v2 01/16] block: add a new helper to get
 inode from block_device
Message-ID: <ZWTErvnMf7HiO1Wj@infradead.org>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-2-yukuai1@huaweicloud.com>
 <ZWRDeQ4K8BiYnV+X@infradead.org>
 <6acdeece-7163-3219-95e2-827e54eadd0c@huaweicloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <6acdeece-7163-3219-95e2-827e54eadd0c@huaweicloud.com>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

On Mon, Nov 27, 2023 at 09:07:22PM +0800, Yu Kuai wrote:
> 1) Is't okay to add a new helper to pass in bdev for following apis?


For some we already have them (e.g. bdev_nr_bytes to read the bdev)
size, for some we need to add them.  The big thing that seems to
stick out is page cache API, and I think that is where we need to
define maintainable APIs for file systems and others to use the
block device page cache.  Probably only in folio versions and not
pages once if we're touching the code anyay

> 2) For the file fs/buffer.c, there are some special usage like
> following that I don't think it's good to add a helper:
> 
> spin_lock(&bd_inode->i_mapping->private_lock);
> 
> Is't okay to move following apis from fs/buffer.c directly to
> block/bdev.c?
> 
> __find_get_block
> bdev_getblk

I'm not sure moving is a good idea, but we might end up the
some kind of low-level access from buffer.c, be that special
helpers, a separate header or something else.  Let's sort out
the rest of the kernel first.



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 16:48:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 16:48:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642353.1001774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7emj-0000aa-Gm; Mon, 27 Nov 2023 16:48:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642353.1001774; Mon, 27 Nov 2023 16:48: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 1r7emj-0000aT-CT; Mon, 27 Nov 2023 16:48:37 +0000
Received: by outflank-mailman (input) for mailman id 642353;
 Mon, 27 Nov 2023 16:48: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=gQ2W=HI=linux.microsoft.com=madvenka@srs-se1.protection.inumbo.net>)
 id 1r7emi-0000aN-9s
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 16:48:36 +0000
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id ccfdb32c-8d44-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 17:48:33 +0100 (CET)
Received: from [192.168.4.26] (unknown [47.186.13.91])
 by linux.microsoft.com (Postfix) with ESMTPSA id 862F420B74C0;
 Mon, 27 Nov 2023 08:48:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ccfdb32c-8d44-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 862F420B74C0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
	s=default; t=1701103712;
	bh=jeMkp5Q+EKa19c6aqn2EEeUT1WIFRK1lWII/T1Aq+rQ=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=aDtpsQCv5Z7lrnyBfZDtXIQ5YkOeXU+eDniqpgG5DSD+i9xBYSIgXtJO6yM/hN7oZ
	 EiQi/S+Yjy2TnSaq8aWFJwrDCDQJ4E01iXdFLG0uIDqHbnx9CwBuz6XIqHOPh2NLet
	 Jzp9sNlniTRePSjgypI8ZiHOZ0a54xSepS+7ZLF8=
Message-ID: <a52d8885-43cc-4a4e-bb47-9a800070779e@linux.microsoft.com>
Date: Mon, 27 Nov 2023 10:48:29 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2 17/19] heki: x86: Update permissions counters
 during text patching
Content-Language: en-US
To: Peter Zijlstra <peterz@infradead.org>, =?UTF-8?B?TWlja2HDq2wgU2FsYcO8?=
 =?UTF-8?Q?n?= <mic@digikod.net>
Cc: Borislav Petkov <bp@alien8.de>, Dave Hansen
 <dave.hansen@linux.intel.com>, "H . Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Kees Cook <keescook@chromium.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Sean Christopherson
 <seanjc@google.com>, Thomas Gleixner <tglx@linutronix.de>,
 Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>,
 Alexander Graf <graf@amazon.com>, Chao Peng <chao.p.peng@linux.intel.com>,
 "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
 Forrest Yuan Yu <yuanyu@google.com>, James Gowans <jgowans@amazon.com>,
 James Morris <jamorris@linux.microsoft.com>,
 John Andersen <john.s.andersen@intel.com>,
 Marian Rotariu <marian.c.rotariu@gmail.com>,
 =?UTF-8?Q?Mihai_Don=C8=9Bu?= <mdontu@bitdefender.com>,
 =?UTF-8?B?TmljdciZb3IgQ8OuyJt1?= <nicu.citu@icloud.com>,
 Thara Gopinath <tgopinath@microsoft.com>,
 Trilok Soni <quic_tsoni@quicinc.com>, Wei Liu <wei.liu@kernel.org>,
 Will Deacon <will@kernel.org>, Yu Zhang <yu.c.zhang@linux.intel.com>,
 Zahra Tarkhani <ztarkhani@microsoft.com>,
 =?UTF-8?Q?=C8=98tefan_=C8=98icleru?= <ssicleru@bitdefender.com>,
 dev@lists.cloudhypervisor.org, kvm@vger.kernel.org,
 linux-hardening@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org,
 qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
 x86@kernel.org, xen-devel@lists.xenproject.org
References: <20231113022326.24388-1-mic@digikod.net>
 <20231113022326.24388-18-mic@digikod.net>
 <20231113081929.GA16138@noisy.programming.kicks-ass.net>
From: "Madhavan T. Venkataraman" <madvenka@linux.microsoft.com>
In-Reply-To: <20231113081929.GA16138@noisy.programming.kicks-ass.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Apologies for the late reply. I was on vacation. Please see my response below:

On 11/13/23 02:19, Peter Zijlstra wrote:
> On Sun, Nov 12, 2023 at 09:23:24PM -0500, Mickaël Salaün wrote:
>> From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
>>
>> X86 uses a function called __text_poke() to modify executable code. This
>> patching function is used by many features such as KProbes and FTrace.
>>
>> Update the permissions counters for the text page so that write
>> permissions can be temporarily established in the EPT to modify the
>> instructions in that page.
>>
>> Cc: Borislav Petkov <bp@alien8.de>
>> Cc: Dave Hansen <dave.hansen@linux.intel.com>
>> Cc: H. Peter Anvin <hpa@zytor.com>
>> Cc: Ingo Molnar <mingo@redhat.com>
>> Cc: Kees Cook <keescook@chromium.org>
>> Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
>> Cc: Mickaël Salaün <mic@digikod.net>
>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>> Cc: Sean Christopherson <seanjc@google.com>
>> Cc: Thomas Gleixner <tglx@linutronix.de>
>> Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
>> Cc: Wanpeng Li <wanpengli@tencent.com>
>> Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
>> ---
>>
>> Changes since v1:
>> * New patch
>> ---
>>  arch/x86/kernel/alternative.c |  5 ++++
>>  arch/x86/mm/heki.c            | 49 +++++++++++++++++++++++++++++++++++
>>  include/linux/heki.h          | 14 ++++++++++
>>  3 files changed, 68 insertions(+)
>>
>> diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
>> index 517ee01503be..64fd8757ba5c 100644
>> --- a/arch/x86/kernel/alternative.c
>> +++ b/arch/x86/kernel/alternative.c
>> @@ -18,6 +18,7 @@
>>  #include <linux/mmu_context.h>
>>  #include <linux/bsearch.h>
>>  #include <linux/sync_core.h>
>> +#include <linux/heki.h>
>>  #include <asm/text-patching.h>
>>  #include <asm/alternative.h>
>>  #include <asm/sections.h>
>> @@ -1801,6 +1802,7 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
>>  	 */
>>  	pgprot = __pgprot(pgprot_val(PAGE_KERNEL) & ~_PAGE_GLOBAL);
>>  
>> +	heki_text_poke_start(pages, cross_page_boundary ? 2 : 1, pgprot);
>>  	/*
>>  	 * The lock is not really needed, but this allows to avoid open-coding.
>>  	 */
>> @@ -1865,7 +1867,10 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
>>  	}
>>  
>>  	local_irq_restore(flags);
>> +
>>  	pte_unmap_unlock(ptep, ptl);
>> +	heki_text_poke_end(pages, cross_page_boundary ? 2 : 1, pgprot);
>> +
>>  	return addr;
>>  }
> 
> This makes no sense, we already use a custom CR3 with userspace alias
> for the actual pages to write to, why are you then frobbing permissions
> on that *again* ?

Today, the permissions for a guest page in the extended page table (EPT) are RWX (unless permissions are
restricted for some specific reason like for shadow page table pages). In this Heki feature, we don't allow
RWX by default in the EPT. We only allow those permissions in the EPT that the guest page actually needs.
E.g., for a text page, it is R_X in both the guest page table and the EPT.

For text patching, the above code establishes an alternate mapping in the guest page table that is RW_ so
that the text can be patched. That needs to be reflected in the EPT so that the EPT permissions will change
from R_X to RWX. In other words, RWX is allowed only as necessary. At the end of patching, the EPT permissions
are restored to R_X.

Does that address your comment?

Madhavan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 17:01:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 17:01:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642360.1001782 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7eyt-000622-Ha; Mon, 27 Nov 2023 17:01:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642360.1001782; Mon, 27 Nov 2023 17:01: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 1r7eyt-00061v-F3; Mon, 27 Nov 2023 17:01:11 +0000
Received: by outflank-mailman (input) for mailman id 642360;
 Mon, 27 Nov 2023 17:01: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=nblC=HI=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7eyr-00061p-NW
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 17:01:09 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20604.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::604])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8be8abf4-8d46-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 18:01:04 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 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.7046.21; Mon, 27 Nov
 2023 17:01:00 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Mon, 27 Nov 2023
 17:01: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: 8be8abf4-8d46-11ee-98e2-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=SkFQmxhcg42pccdZnihu+/iyEmvoTmNX/3oftOIJcY/0pLndZ59/wJQaOJAeYvCV7xXX5e7Z1Yn00zrkWAB7RRwM2Ql7z3GlGzVwfIK+dXHQrDUE0vGN5SgI3vpt8tFvW9OyUQvFUGvYDRltrw/D3neh1XVm1KMcnFuiBvcB79UMt5y4Do9NEjCxsU3CSJn9eh2JBm6fk23O1gRiP76ww5ah3ZcSqDx1L//k4fTOgKGUeWY0dYaIW9pVWbyh/Y9DZvnzevmrfmOpBpH0Iyte7gsHLWX+VeNvYUCVp0M0WWJNUSajXGJIPz2ope+/eHfu46pwhUwvwup61MO/JO67rQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=mMM5gqqY6GhO3pJrgHG+fgXdLNUvYC+Vadfm0e4i5sA=;
 b=GHSMiLnLOZdty382tfOu/4RTUI6Jdf0mqqN0vsDXm1jQDAJpQIi8OpVRTgh1Bdii+rSl6NwH1pR3L7xl5tQADdxhTZYREEcV3r9XUMgVjDp3QJqfzjt8Mw4yVSH7ph/0OQ1uF+oZ1hN2l7dX8wqNAVL7H/LkS5C93tr+Gc+PN6dBp2ZVeJYPIbqnrDk+MdT0SKHfx8q6+43bHm1iz4lDpmLkY35D4YYDfOKJ3XOza/r4l6HdsVPwUd8iSYX8i55dnOYk6WkreHJuUAg40iZc5u9h8BaeBs9vlkuodI3GgSChnNLDOCfeqUSTIHXEjcIP3oiU+EXjs6+2wsr0Dnz/4g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=mMM5gqqY6GhO3pJrgHG+fgXdLNUvYC+Vadfm0e4i5sA=;
 b=szyPqjZOaKlzsjrxwMPcwXS3ycTN/x1pmxK9XkMMCzLg13cBEiulyDF3Mu5U6R0m7+72UGBu0hLknma+fNt6GfGQv3TDtByTAI8mfL0IuqY6a7uHVZ9gR8nOO5FV3u4WXjC+0XIXEE12xouvYoLErAsPpgwOGmEl9t3wZek3VV0kr2QQHVdbKzFE5oHalyKQb5pa8pPum/YbliWQUjab+2HyvVMkDdnGNO1ZzYr31NWHe/syMP+AB7esOnBSaSSqHIxkU5IN274lbSxIVtEA/MGxcLFQrAZDHrXPZSDyY8mRve7C6a6ORlJj47HGqX6XVhzXomIS4WFb0yXtyJO8/g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <277f832d-20ce-437d-a7a3-7935aa6cf34e@suse.com>
Date: Mon, 27 Nov 2023 18:00:57 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 2/6] x86/hvm: Allow access to registers on the same
 page as MSI-X table
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, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com>
 <de5e66c790c9fc5e7f668f06826c7ee781b6d6e1.1700790421.git-series.marmarek@invisiblethingslab.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <de5e66c790c9fc5e7f668f06826c7ee781b6d6e1.1700790421.git-series.marmarek@invisiblethingslab.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0407.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:d0::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8466:EE_
X-MS-Office365-Filtering-Correlation-Id: 66b72f39-9051-4641-e5f5-08dbef6a6e70
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2WwEcFtbD9301PxSv0HLWsvOhhGUqzIfxbtpGA3+YnwNrnQ4pVo/MVDKK4eRHGozhIhYc2pDEEItkMM5PrRlF7gKzcbzMlA8i2+KRTPVNFkF/ieJ1DnuPqico28YsomdsWKNOD3RcM+hpFKCtaiZYJ2BF6gLRoYCCSglQaqbmxQac+2OI8RnpOBIdpC8UFRebrEL8kJ0HTpLeaeDFM8xTxyY7yStjrgQ9OiqhzAA/CNpD00ek0L8W8jIV2KxAtXq4Be2TWKf9ZI9CNQpQGWRPzBe9NB5p5KqI/7uNEHSWFJr3et1FmbufcyS7+wKR8Kf5ZQoawMGoG9QZHR8BHo7L9Mvv1JEb6m3RR6NrlfDlKfU0gxu+wm2mL3AXe7G34C/KYD0rUIX4QNvUCW0b7eXX9XOsPsM/pycyUCjQMmh/aFIOTaCMA1bUVIsK7ibLqHH6la2Hn1BiB8f3Uoa+7a5QkZiJVnR4mvS93GIjzpEUZT4Ax8MOkgBV4K0mFtJAeSjE0m5C+yx5aKErJclPbs0aTSH51OmaT6sap+ywHZQEtkI/IejPOw+v8dCf6snA+/w6IxTvLydNp0oRbHwIXCIQw2F5lALP3RNga71gd92y+RAhJxqY1n3rSVMtdxfMURufKDZ+lae5mq3buCsv3MMZpejl4DeMeQ4mY8xYpSXWqpQgZ/tfzuHq9TLtI9H40zM
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(366004)(136003)(376002)(396003)(230273577357003)(230922051799003)(230173577357003)(64100799003)(186009)(1800799012)(451199024)(6512007)(6506007)(53546011)(2616005)(6486002)(478600001)(6666004)(66574015)(83380400001)(2906002)(5660300002)(41300700001)(66946007)(54906003)(4326008)(66476007)(6916009)(316002)(8936002)(8676002)(66556008)(38100700002)(86362001)(31696002)(36756003)(31686004)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NU5rNERib0hDL1NpQTV6cjhKbTdsR0hDLzhDY25sdVVMYnFCUHZTcTQwckVE?=
 =?utf-8?B?OHJ0WllZaUlHVUZsdGNiYXhodHdEY3RDbFRrWU5SakUxTVF2S1AxOUx0VzVG?=
 =?utf-8?B?Zm9DMkV3YThnM04wQVAwSWZBQmRkVGxxLzRXZ2prbUlOY1Y2OUhsUjdsWmZ0?=
 =?utf-8?B?ZkdUREU3ME1RaC9DVTlIMTIxS2JxdlY4WHd5UTNSb2docHRYSVBDTmduM0cx?=
 =?utf-8?B?UHRNQk1JekRINTFqM1dTQkJyNVAyVlJSUmpYVk9VZnhTK3dINFpYNkpJYVMw?=
 =?utf-8?B?QlliRDNqSXN3Y0MwTXRyTS9QVFV3aTFFQkRoY0pqQXFrclZZczJUOTZRcFhP?=
 =?utf-8?B?L3crYU5tQ3dEWUlGTUM1UE1NdnRvMnlxOW04NHIyNGs4clVwNjQreUxTcVd4?=
 =?utf-8?B?ZkxIMEtxUUtkaGtrT3hHVUczK0h1WHVlbGMwSXFmaDZOUTdtT0VVVElSak5q?=
 =?utf-8?B?aW5id3NVYXlLQTc3NlJ1d2NLaWFINFJVRlIwbmxXU1VIZkhnOElIQnYrT0Z6?=
 =?utf-8?B?ZEpqNjhQWk5hTUgxeStRUC90VWdVZHhQUEtmeW9oU2ZMMFZ3UHJUdWNtYnBI?=
 =?utf-8?B?czlWWDdvaFNJTFFiMWtaVkcxTE12WVBXaHR1NmpUQ3dIVStRZ3BrWkFpYWJv?=
 =?utf-8?B?a29XdUJUQjBWa3dBSmZSU29ydThWSVRNZjJjeXl2aE9jVk9WaG9RMFM5UHVJ?=
 =?utf-8?B?ZXp4cHo0b3lRWTNMenErZDF0M3MrbmxFa0VSRE00eStwcllwOVpNRGJVWGdJ?=
 =?utf-8?B?UlVSUUFXRDRvZzVZMU84N2ZjRldDdW1UL3JVdEJldFdaL2RWREJ6SHNMWWIz?=
 =?utf-8?B?TzFkM1RFZGQ4Q003R2d6VzJDUTNQZXZwM2JSbFMzTktTTTNPNVBYZlZTZUhL?=
 =?utf-8?B?bkNiNENrMmhBM29sQVJJY1Mxem5jeVZaUmRiZU0xVWN1REVWcWN2eThxSk14?=
 =?utf-8?B?TlpvZ0h4d3lIV0gvekVTcWp6YlR3N1puKysxV3ZxSk1leVRNd1JCSFZRMmI4?=
 =?utf-8?B?YzRKaHBPYVhEK2xPU2xUMzMxOUxHT0U2dzZub3hsdGNTTGx4Wk0xZTBmSGl1?=
 =?utf-8?B?RytXNklGM3NEbUpsUi9lY3J1NzNBUGhxLzJrQWtyNFFjMWExY3EwOTMzRlVI?=
 =?utf-8?B?SWxnb1ljOEVDRGR3NHBBS0RxZXh1aVorMHV3ZDRkNStqQm1teFd4a0lqYzFi?=
 =?utf-8?B?bHVGSkh4RDREMkJFMi9JblBDaEJqRnJRc2NHZnJtdnNZM0p2cmdRZUM5azA1?=
 =?utf-8?B?SHpTS1ZMUmhUbUt3eU41R3BVR0dHVnpFb1BNR0JnVHg5VWFBNnEwaFIyVnI1?=
 =?utf-8?B?Z0pBQ052azlUU1FQMWpVY0xLdHFDeXhiZmVVTE44UFhTQytKbnNEK2Jtd2xu?=
 =?utf-8?B?SHZma0ViNkE5YTRHakdhSEZEeG9jYjhCRmJtSXBlWTBsWXVSMlo4WW8vN0JH?=
 =?utf-8?B?TXVGcGNoRDBJWGFQbWxGVnNEVXYrVU91bGd4c25qcU56aCtLQ3I4ZmtoMjlW?=
 =?utf-8?B?ZTJnNlpySTRCTFEzb2d4WXF1TnZ1NkkwMklxZ2hZclVHMlRCUE85blJYSE9G?=
 =?utf-8?B?Q3V6VXR3T2FwbHIwV2lrd2dhWmZlNkJJNEV6dFJ1S1lTRXBhQXVobHUwMXRB?=
 =?utf-8?B?UDcreUx0NUpnUUtvU2R5Yll0STNnd2dtVE1wMlhncmlNWnFPUFJvTGpjWTdo?=
 =?utf-8?B?MlRVR29vSjBpbHlvaTdIbU1zMXVCWE1xYmIvV1NaSk8yVVNnU1I1a2pMNFAv?=
 =?utf-8?B?SkxvUmNVN054VCtpSERGM2JWaGltRlNjS0U1a3hyK0VGL3YyaklmWEVvS0tK?=
 =?utf-8?B?UCt4blIyMHdvckI2eWxqbnFkOGVyTU1UcXVxRndEZnFKd1NFTkpmd2xGL0l6?=
 =?utf-8?B?bEN2K0FBQXNzelo4R1lNRHRkT0JTUDJGVjQzOHNwQmVGamdHci9JK2ZtVlMr?=
 =?utf-8?B?UnRPc2xoU2dma2U5a2pCVFVRY1VXUVJNN2tLeS9KUXNvKzh1ZEI0djZIK0xu?=
 =?utf-8?B?aTUzbmRnUHQ1QndxSFNQMlRDaUhQb2tBTklUaTN2UjJLY0FJR3g5TDB1ZDZM?=
 =?utf-8?B?SHhnOUdtQVZEWU8wY0V4T3RmSVZLaWpHNWNWclF1MXE4M3N1Q0M1YnVSUGV5?=
 =?utf-8?Q?JJRC2XcdDVhw2xOHinZAfw45y?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 66b72f39-9051-4641-e5f5-08dbef6a6e70
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Nov 2023 17:01:00.3456
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: yuvJ3pj6gi8sw+9LKLTceDQsEtsrAmIR74X17dxiHhyX97XeDTUZ22l4FXzyrA080XsGoiU2udSbucrzblPzFw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8466

On 24.11.2023 02:47, Marek Marczykowski-Górecki wrote:
> Some devices (notably Intel Wifi 6 AX210 card) keep auxiliary registers
> on the same page as MSI-X table. Device model (especially one in
> stubdomain) cannot really handle those, as direct writes to that page is
> refused (page is on the mmio_ro_ranges list). Instead, extend
> msixtbl_mmio_ops to handle such accesses too.
> 
> Doing this, requires correlating read/write location with guest
> of MSI-X table address. Since QEMU doesn't map MSI-X table to the guest,
> it requires msixtbl_entry->gtable, which is HVM-only. Similar feature
> for PV would need to be done separately.
> 
> This will be also used to read Pending Bit Array, if it lives on the same
> page, making QEMU not needing /dev/mem access at all (especially helpful
> with lockdown enabled in dom0). If PBA lives on another page, QEMU will
> map it to the guest directly.
> If PBA lives on the same page, discard writes and log a message.
> Technically, writes outside of PBA could be allowed, but at this moment
> the precise location of PBA isn't saved, and also no known device abuses
> the spec in this way (at least yet).
> 
> To access those registers, msixtbl_mmio_ops need the relevant page
> mapped. MSI handling already has infrastructure for that, using fixmap,
> so try to map first/last page of the MSI-X table (if necessary) and save
> their fixmap indexes. Note that msix_get_fixmap() does reference
> counting and reuses existing mapping, so just call it directly, even if
> the page was mapped before. Also, it uses a specific range of fixmap
> indexes which doesn't include 0, so use 0 as default ("not mapped")
> value - which simplifies code a bit.
> 
> GCC gets confused about 'desc' variable:
> 
>     arch/x86/hvm/vmsi.c: In function ‘msixtbl_range’:
>     arch/x86/hvm/vmsi.c:553:8: error: ‘desc’ may be used uninitialized [-Werror=maybe-uninitialized]
>       553 |     if ( desc )
>           |        ^
>     arch/x86/hvm/vmsi.c:537:28: note: ‘desc’ was declared here
>       537 |     const struct msi_desc *desc;
>           |                            ^~~~

This could do with also indicating the gcc version. Issues like this
tend to get fixed over time.

> It's conditional initialization is actually correct (in the case where
> it isn't initialized, function returns early), but to avoid
> build failure initialize it explicitly to NULL anyway.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Logic looks okay to me now (albeit I'm still not overly happy that we need
to gain such code), but there are a couple of cosmetic issues.

> @@ -213,6 +217,131 @@ static struct msi_desc *msixtbl_addr_to_desc(
>      return NULL;
>  }
>  
> +/*
> + * Returns:
> + *  - UINT_MAX if no handling should be done
> + *  - UINT_MAX-1 if write should be discarded
> + *  - a fixmap idx to use for handling
> + */
> +#define ADJACENT_DONT_HANDLE UINT_MAX
> +#define ADJACENT_DISCARD_WRITE (UINT_MAX - 1)

The comment would imo better talk in terms of the two constants you
define here.

> +static unsigned int adjacent_handle(
> +    const struct msixtbl_entry *entry, unsigned long addr, bool write)
> +{
> +    unsigned int adj_type;
> +    const struct arch_msix *msix;
> +
> +    if ( !entry || !entry->pdev )
> +        return ADJACENT_DONT_HANDLE;
> +
> +    if ( PFN_DOWN(addr) == PFN_DOWN(entry->gtable) && addr < entry->gtable )
> +        adj_type = ADJ_IDX_FIRST;
> +    else if ( PFN_DOWN(addr) == PFN_DOWN(entry->gtable + entry->table_len - 1) &&
> +              addr >= entry->gtable + entry->table_len )
> +        adj_type = ADJ_IDX_LAST;
> +    else
> +        return ADJACENT_DONT_HANDLE;
> +
> +    msix = entry->pdev->msix;
> +    ASSERT(msix);
> +
> +    if ( !msix->adj_access_idx[adj_type] )
> +    {
> +        gprintk(XENLOG_WARNING,
> +                "Page for adjacent(%d) MSI-X table access not initialized for %pp (addr %#lx, gtable %#lx\n",
> +                adj_type, &entry->pdev->sbdf, addr, entry->gtable);
> +
> +        return ADJACENT_DONT_HANDLE;
> +    }
> +
> +    /* If PBA lives on the same page too, discard writes. */
> +    if ( write &&
> +         ((adj_type == ADJ_IDX_LAST &&
> +           msix->table.last == msix->pba.first) ||
> +          (adj_type == ADJ_IDX_FIRST &&
> +           msix->table.first == msix->pba.last)) )
> +    {
> +        gprintk(XENLOG_WARNING,
> +                "MSI-X table and PBA of %pp live on the same page, "
> +                "writing to other registers there is not implemented\n",
> +                &entry->pdev->sbdf);

Here and above I think verbosity needs limiting to the first instance per
device per domain.

> +        return ADJACENT_DISCARD_WRITE;
> +    }
> +
> +    return msix->adj_access_idx[adj_type];
> +}
> +
> +static int adjacent_read(
> +    unsigned int fixmap_idx,
> +    paddr_t address, unsigned int len, uint64_t *pval)
> +{
> +    const void __iomem *hwaddr;
> +
> +    *pval = ~0UL;
> +
> +    ASSERT(fixmap_idx != ADJACENT_DISCARD_WRITE);
> +
> +    hwaddr = fix_to_virt(fixmap_idx) + PAGE_OFFSET(address);
> +
> +    switch ( len )
> +    {
> +    case 1:
> +        *pval = readb(hwaddr);
> +        break;
> +
> +    case 2:
> +        *pval = readw(hwaddr);
> +        break;
> +
> +    case 4:
> +        *pval = readl(hwaddr);
> +        break;
> +
> +    case 8:
> +        *pval = readq(hwaddr);
> +        break;
> +
> +    default:
> +        ASSERT_UNREACHABLE();
> +    }
> +    return X86EMUL_OKAY;
> +}
> +
> +static int adjacent_write(
> +        unsigned int fixmap_idx,
> +        uint64_t address, uint32_t len, uint64_t val)

This uses indentation different from the two cases further up. Types
used also don't match adjacent_read()'s.

> @@ -220,16 +349,31 @@ static int cf_check msixtbl_read(
>      unsigned long offset;
>      struct msixtbl_entry *entry;
>      unsigned int nr_entry, index;
> +    unsigned int adjacent_fixmap;
>      int r = X86EMUL_UNHANDLEABLE;
>  
> -    if ( (len != 4 && len != 8) || (address & (len - 1)) )
> +    if ( !IS_ALIGNED(address, len) )
>          return r;
>  
>      rcu_read_lock(&msixtbl_rcu_lock);
> -
>      entry = msixtbl_find_entry(current, address);
>      if ( !entry )
>          goto out;
> +
> +    adjacent_fixmap = adjacent_handle(entry, address, false);
> +    if ( adjacent_fixmap != ADJACENT_DONT_HANDLE )
> +    {
> +        r = adjacent_read(adjacent_fixmap, address, len, pval);
> +        goto out;
> +    }
> +
> +    if ( address < entry->gtable ||
> +         address >= entry->gtable + entry->table_len )
> +        goto out;
> +
> +    if ( len != 4 && len != 8 )
> +        goto out;
> +
>      offset = address & (PCI_MSIX_ENTRY_SIZE - 1);
>  
>      if ( offset != PCI_MSIX_ENTRY_VECTOR_CTRL_OFFSET )
> @@ -282,6 +426,7 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
>      int r = X86EMUL_UNHANDLEABLE;
>      unsigned long flags;
>      struct irq_desc *desc;
> +    unsigned int adjacent_fixmap;
>  
>      if ( !IS_ALIGNED(address, len) )
>          return X86EMUL_OKAY;
> @@ -291,6 +436,19 @@ static int msixtbl_write(struct vcpu *v, unsigned long address,
>      entry = msixtbl_find_entry(v, address);
>      if ( !entry )
>          goto out;
> +
> +    adjacent_fixmap = adjacent_handle(entry, address, true);
> +    if ( adjacent_fixmap != ADJACENT_DONT_HANDLE )
> +    {
> +        r = adjacent_write(adjacent_fixmap, address, len, val);
> +        goto out;
> +    }
> +    if ( address < entry->gtable ||
> +         address >= entry->gtable + entry->table_len )
> +        goto out;
> +    if ( len != 4 && len != 8 )
> +        goto out;
> +

Can this please follow the read side as far as use of blank lines goes?

> @@ -622,12 +788,15 @@ void msix_write_completion(struct vcpu *v)
>           v->arch.hvm.hvm_io.msix_snoop_gpa )
>      {
>          unsigned int token = hvmemul_cache_disable(v);
> -        const struct msi_desc *desc;
> +        const struct msi_desc *desc = NULL;
> +        const struct msixtbl_entry *entry;
>          uint32_t data;
>  
>          rcu_read_lock(&msixtbl_rcu_lock);
> -        desc = msixtbl_addr_to_desc(msixtbl_find_entry(v, snoop_addr),
> -                                    snoop_addr);
> +        entry = msixtbl_find_entry(v, snoop_addr);
> +        if ( entry && snoop_addr >= entry->gtable &&
> +                      snoop_addr < entry->gtable + entry->table_len )

Nit: Too deep indentation.

> --- a/xen/arch/x86/include/asm/msi.h
> +++ b/xen/arch/x86/include/asm/msi.h
> @@ -207,6 +207,10 @@ struct msg_address {
>                                         PCI_MSIX_ENTRY_SIZE + \
>                                         (~PCI_MSIX_BIRMASK & (PAGE_SIZE - 1)))
>  
> +/* indexes in adj_access_idx[] below */

Nit: Comment style again.

> @@ -1078,6 +1108,16 @@ static void _pci_cleanup_msix(struct arch_msix *msix)
>              WARN();
>          msix->table.first = 0;
>          msix->table.last = 0;
> +        if ( msix->adj_access_idx[ADJ_IDX_FIRST] )
> +        {
> +            msix_put_fixmap(msix, msix->adj_access_idx[ADJ_IDX_FIRST]);
> +            msix->adj_access_idx[ADJ_IDX_FIRST] = 0;
> +        }
> +        if ( msix->adj_access_idx[ADJ_IDX_LAST] )
> +        {
> +            msix_put_fixmap(msix, msix->adj_access_idx[ADJ_IDX_LAST]);
> +            msix->adj_access_idx[ADJ_IDX_LAST] = 0;
> +        }
>  
>          if ( rangeset_remove_range(mmio_ro_ranges, msix->pba.first,
>                                     msix->pba.last) )

This could probably do with another blank line at the head of the
addition.

Jan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 17:05:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 17:05:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642363.1001792 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7f34-0006i7-7Y; Mon, 27 Nov 2023 17:05:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642363.1001792; Mon, 27 Nov 2023 17:05: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 1r7f34-0006hy-4f; Mon, 27 Nov 2023 17:05:30 +0000
Received: by outflank-mailman (input) for mailman id 642363;
 Mon, 27 Nov 2023 17:05: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=gQ2W=HI=linux.microsoft.com=madvenka@srs-se1.protection.inumbo.net>)
 id 1r7f33-0006hs-A0
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 17:05:29 +0000
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 28fcc5d7-8d47-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 18:05:26 +0100 (CET)
Received: from [192.168.4.26] (unknown [47.186.13.91])
 by linux.microsoft.com (Postfix) with ESMTPSA id D60A120B74C0;
 Mon, 27 Nov 2023 09:05:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 28fcc5d7-8d47-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com D60A120B74C0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
	s=default; t=1701104726;
	bh=hQp9k1xmzkhJv53kIi+fGz0Bm7C0uUgSE5lwBZUzRAE=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=rJ8cBOmhMjU1LJ0/8Jcu8Zs0D7K0IoJJgYpooleweR4JPTx8RVu3i076OKuSc40H8
	 vQyhttx9sRNbXZhKrbp4uy9amwle/wkhxSgx+XSVVJGrDjkKV6ziAkv22z1oJr2gBV
	 BrN8A1ek3f3VLgDmEE47gJhsasnKPJeYvbYTTmRg=
Message-ID: <b1dc0963-ab99-4a79-af19-ef5ed981fa60@linux.microsoft.com>
Date: Mon, 27 Nov 2023 11:05:23 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2 18/19] heki: x86: Protect guest kernel memory using
 the KVM hypervisor
Content-Language: en-US
To: Peter Zijlstra <peterz@infradead.org>, =?UTF-8?B?TWlja2HDq2wgU2FsYcO8?=
 =?UTF-8?Q?n?= <mic@digikod.net>
Cc: Borislav Petkov <bp@alien8.de>, Dave Hansen
 <dave.hansen@linux.intel.com>, "H . Peter Anvin" <hpa@zytor.com>,
 Ingo Molnar <mingo@redhat.com>, Kees Cook <keescook@chromium.org>,
 Paolo Bonzini <pbonzini@redhat.com>, Sean Christopherson
 <seanjc@google.com>, Thomas Gleixner <tglx@linutronix.de>,
 Vitaly Kuznetsov <vkuznets@redhat.com>, Wanpeng Li <wanpengli@tencent.com>,
 Alexander Graf <graf@amazon.com>, Chao Peng <chao.p.peng@linux.intel.com>,
 "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
 Forrest Yuan Yu <yuanyu@google.com>, James Gowans <jgowans@amazon.com>,
 James Morris <jamorris@linux.microsoft.com>,
 John Andersen <john.s.andersen@intel.com>,
 Marian Rotariu <marian.c.rotariu@gmail.com>,
 =?UTF-8?Q?Mihai_Don=C8=9Bu?= <mdontu@bitdefender.com>,
 =?UTF-8?B?TmljdciZb3IgQ8OuyJt1?= <nicu.citu@icloud.com>,
 Thara Gopinath <tgopinath@microsoft.com>,
 Trilok Soni <quic_tsoni@quicinc.com>, Wei Liu <wei.liu@kernel.org>,
 Will Deacon <will@kernel.org>, Yu Zhang <yu.c.zhang@linux.intel.com>,
 Zahra Tarkhani <ztarkhani@microsoft.com>,
 =?UTF-8?Q?=C8=98tefan_=C8=98icleru?= <ssicleru@bitdefender.com>,
 dev@lists.cloudhypervisor.org, kvm@vger.kernel.org,
 linux-hardening@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org,
 qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
 x86@kernel.org, xen-devel@lists.xenproject.org
References: <20231113022326.24388-1-mic@digikod.net>
 <20231113022326.24388-19-mic@digikod.net>
 <20231113085403.GC16138@noisy.programming.kicks-ass.net>
From: "Madhavan T. Venkataraman" <madvenka@linux.microsoft.com>
In-Reply-To: <20231113085403.GC16138@noisy.programming.kicks-ass.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Apologies for the late reply. I was on vacation. Please see my response below:

On 11/13/23 02:54, Peter Zijlstra wrote:
> On Sun, Nov 12, 2023 at 09:23:25PM -0500, Mickaël Salaün wrote:
>> From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
>>
>> Implement a hypervisor function, kvm_protect_memory() that calls the
>> KVM_HC_PROTECT_MEMORY hypercall to request the KVM hypervisor to
>> set specified permissions on a list of guest pages.
>>
>> Using the protect_memory() function, set proper EPT permissions for all
>> guest pages.
>>
>> Use the MEM_ATTR_IMMUTABLE property to protect the kernel static
>> sections and the boot-time read-only sections. This enables to make sure
>> a compromised guest will not be able to change its main physical memory
>> page permissions. However, this also disable any feature that may change
>> the kernel's text section (e.g., ftrace, Kprobes), but they can still be
>> used on kernel modules.
>>
>> Module loading/unloading, and eBPF JIT is allowed without restrictions
>> for now, but we'll need a way to authenticate these code changes to
>> really improve the guests' security. We plan to use module signatures,
>> but there is no solution yet to authenticate eBPF programs.
>>
>> Being able to use ftrace and Kprobes in a secure way is a challenge not
>> solved yet. We're looking for ideas to make this work.
>>
>> Likewise, the JUMP_LABEL feature cannot work because the kernel's text
>> section is read-only.
> 
> What is the actual problem? As is the kernel text map is already RO and
> never changed.

For the JUMP_LABEL optimization, the text needs to be patched at some point.
That patching requires a writable mapping of the text page at the time of
patching.

In this Heki feature, we currently lock down the kernel text at the end of
kernel boot just before kicking off the init process. The lockdown is
implemented by setting the permissions of a text page to R_X in the extended
page table and not allowing write permissions in the EPT after that. So, jump label
patching during kernel boot is not a problem. But doing it after kernel
boot is a problem.

The lockdown is just for the current Heki implementation. In the future, we plan
to have a way of authenticating guest requests to change permissions on a text page.
Once that is in place, permissions on text pages can be changed on the fly to
support features that depend on text patching - FTrace, KProbes, etc.

Madhavan


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 17:34:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 17:34:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642374.1001803 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7fUr-0007FA-D9; Mon, 27 Nov 2023 17:34:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642374.1001803; Mon, 27 Nov 2023 17:34: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 1r7fUr-0007F3-A0; Mon, 27 Nov 2023 17:34:13 +0000
Received: by outflank-mailman (input) for mailman id 642374;
 Mon, 27 Nov 2023 17:34: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=D1Su=HI=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r7fUp-0007Ex-NR
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 17:34:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2c30e0f8-8d4b-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 18:34:10 +0100 (CET)
Received: from [192.168.1.9] (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id B849A4EE0737;
 Mon, 27 Nov 2023 18:34:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2c30e0f8-8d4b-11ee-98e2-6d05b1d4d9a1
Message-ID: <89847582-ff70-4ba2-9cc7-e45ea2b691e3@bugseng.com>
Date: Mon, 27 Nov 2023 18:34:08 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/3] xen/arm: add SAF deviation for debugging and
 logging effects
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1700844359.git.simone.ballarin@bugseng.com>
 <761ce615438312ca5d37fb8829a0ba903375392f.1700844359.git.simone.ballarin@bugseng.com>
 <ec587cf6-088b-4142-8067-4d9d67fc58c1@suse.com>
 <59744708-c2fb-488c-9e6b-e47faf7a8007@bugseng.com>
 <497617b3-6a86-46bf-99ea-2b2f1bdf9d97@suse.com>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <497617b3-6a86-46bf-99ea-2b2f1bdf9d97@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 27/11/23 16:09, Jan Beulich wrote:
> On 27.11.2023 15:35, Simone Ballarin wrote:
>> On 27/11/23 11:46, Jan Beulich wrote:
>>> On 24.11.2023 18:29, Simone Ballarin wrote:
>>>> --- a/docs/misra/safe.json
>>>> +++ b/docs/misra/safe.json
>>>> @@ -28,6 +28,22 @@
>>>>            },
>>>>            {
>>>>                "id": "SAF-3-safe",
>>>> +            "analyser": {
>>>> +                "eclair": "MC3R1.R13.1"
>>>> +            },
>>>> +            "name": "MC3R1.R13.1: effects for debugging and logging",
>>>> +            "text": "Effects for debugging and loggings reasons that crash execution or produce logs are allowed in initializer lists. The evaluation order in abnormal conditions is not relevant."
>>>> +        },
>>>
>>> I'm wary of this statement. Order may not matter much anymore _after_ an
>>> abnormal condition was encountered, but in the course of determining whether
>>> an abnormal condition might have been reached it may very well still matter.
>>
>> Do you object to the deviation in general? Or just to the wording?
> 
> Primarily the wording. Yet the need to adjust the wording also hints at there
> needing to be care when actually making use of this deviation. Which it turn
> I'm not convinced is in the spirit of Misra

The rule is really strict, but imho the only real dangerous situation is
when an entry performs a persistent side effect that can change the
behavior of another entry. I.e.:

int y = 0;
int x[2] =
{
   y=1, /* first element will be always 1 */
   y    /* second element can be either 0 or 1 */
};

Above we have a dependency between the first entry and the second.

Now let's consider logging effects:

#define LOG(x) printf("LOG: %s", x);

int x[2] =
{
   ({ LOG("1"); 1; }),
   ({ LOG("2"); 2; })
};


Here the execution can print:
"LOG: 1LOG: 2" or
"LOG: 2LOG: 1".

Do we agree that the evaluation order of prints caused by logging
functions/macros do not normally cause dependencies between the
entries? The execution is still non-deterministic, but does it really
matter?.

In the case of function that crash execution, no dependencies can exist
since no further entries will be evaluated.

In conclusion, I propose the following rewording:

"text": "Effects that crash execution or produce logs are allowed in 
initializer lists. Logging effects do not affect the evaluation of 
subsequent entries. Crash effects are allowed as they represent the
end of the execution.


> 
>>>> --- a/xen/arch/arm/device.c
>>>> +++ b/xen/arch/arm/device.c
>>>> @@ -331,6 +331,7 @@ int handle_device(struct domain *d, struct dt_device_node *dev, p2m_type_t p2mt,
>>>>            .p2mt = p2mt,
>>>>            .skip_mapping = !own_device ||
>>>>                            (is_pci_passthrough_enabled() &&
>>>> +                        /* SAF-3-safe effects for debugging/logging reasons are safe */
>>>>                            (device_get_class(dev) == DEVICE_PCI_HOSTBRIDGE)),
>>>
>>> What's the debugging / logging reason on the commented line?
>>
>> The "ASSERT(dev != NULL)" in its body.
> 
> "it" == device_get_class() I assume? Imo to unobvious to deal with like this.
> 

Yes, Julien suggested to simply remove the ASSERT as it isn't really 
useful. I forgot his suggestion. In v3 I will remove it as suggested.

>>>> --- a/xen/arch/arm/guestcopy.c
>>>> +++ b/xen/arch/arm/guestcopy.c
>>>> @@ -110,18 +110,21 @@ static unsigned long copy_guest(void *buf, uint64_t addr, unsigned int len,
>>>>    unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
>>>>    {
>>>>        return copy_guest((void *)from, (vaddr_t)to, len,
>>>> +                      /* SAF-4-safe No persistent side effects */
>>>>                          GVA_INFO(current), COPY_to_guest | COPY_linear);
>>>>    }
>>>>    
>>>>    unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
>>>>                                                 unsigned int len)
>>>>    {
>>>> +    /* SAF-4-safe No persistent side effects */
>>>>        return copy_guest((void *)from, (vaddr_t)to, len, GVA_INFO(current),
>>>>                          COPY_to_guest | COPY_flush_dcache | COPY_linear);
>>>>    }
>>>>    
>>>>    unsigned long raw_clear_guest(void *to, unsigned int len)
>>>>    {
>>>> +    /* SAF-4-safe No persistent side effects */
>>>>        return copy_guest(NULL, (vaddr_t)to, len, GVA_INFO(current),
>>>>                          COPY_to_guest | COPY_linear);
>>>>    }
>>>> @@ -129,6 +132,7 @@ unsigned long raw_clear_guest(void *to, unsigned int len)
>>>>    unsigned long raw_copy_from_guest(void *to, const void __user *from,
>>>>                                      unsigned int len)
>>>>    {
>>>> +    /* SAF-4-safe No persistent side effects */
>>>>        return copy_guest(to, (vaddr_t)from, len, GVA_INFO(current),
>>>>                          COPY_from_guest | COPY_linear);
>>>>    }
>>>
>>> I can only guess that in all four of these it's the use of "current" which
>>> requires the comment. Yet imo that either needs making explicit, or such a
>>> comment shouldn't go on use sites of "current", but on its definition site.
>>>
>>
>> "current" does not contain any violation of R13.1. Its expansion
>> produces a side-effect, but this is not a problem in itself. The real
>> problem is that GVA_INFO expands it in an initializer list:
>> #define GVA_INFO(vcpu) ((copy_info_t) { .gva = { vcpu } })
> 
> But an initializer list doesn't itself constitute a side effect, does it?
> 

The side effect should be inside the initializer list. { .gva = 1 } is 
not a violation.

>> GVA_INFO(current) is the real piece of code that requires to be
>> deviated.
> 
> In which case I think this such want spelling
> 
>      return copy_guest(to, (vaddr_t)from, len,
>                        /* SAF-4-safe No persistent side effects */
>                        GVA_INFO(current),
>                        COPY_from_guest | COPY_linear);
> 
> or some such. Not the least because we want to make sure a deviation does
> not have wider than necessary scope (which when formatted as above is,
> aiui, always the following source line).
> 

Yes, I agree.

> Jan

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Mon Nov 27 17:43:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 17:43:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642379.1001813 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7fdr-0001uy-9S; Mon, 27 Nov 2023 17:43:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642379.1001813; Mon, 27 Nov 2023 17: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 1r7fdr-0001ur-5t; Mon, 27 Nov 2023 17:43:31 +0000
Received: by outflank-mailman (input) for mailman id 642379;
 Mon, 27 Nov 2023 17:43: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 1r7fdp-0001uh-Rm; Mon, 27 Nov 2023 17:43: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 1r7fdp-0002LV-Ff; Mon, 27 Nov 2023 17:43: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 1r7fdp-0005JM-0n; Mon, 27 Nov 2023 17:43:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7fdp-0001Zz-0A; Mon, 27 Nov 2023 17: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=47U/qa/OTj2TcjKChTrxPp85+mRP9EdpKAXVs+4QKoE=; b=PyWjjcqwQ110jBuLUE+PtzB+Ki
	r6MwZJ2DshX9hSZytbnO9yEjsMKIwLEmLPdULrdrRGnJPpbdkLZW6aUdb4KSaukzcW8JiRV4EJvGX
	kO+7wTFog6N7I2VPyWwr8VVx2/sXO9OmF/Pgnwb36CLS5XavoPCY2101BQRkqjvDJotQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183868-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183868: trouble: blocked/broken
X-Osstest-Failures:
    linux-linus:build-amd64:<job status>:broken:regression
    linux-linus:build-amd64-pvops:<job status>:broken:regression
    linux-linus:build-amd64-xsm:<job status>:broken:regression
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64-xsm:<job status>:broken:regression
    linux-linus:build-armhf:<job status>:broken:regression
    linux-linus:build-armhf-pvops:<job status>:broken:regression
    linux-linus:build-i386:<job status>:broken:regression
    linux-linus:build-i386-pvops:<job status>:broken:regression
    linux-linus:build-i386-xsm:<job status>:broken:regression
    linux-linus:build-i386-xsm:host-install(4):broken:regression
    linux-linus:build-i386:host-install(4):broken:regression
    linux-linus:build-i386-pvops:host-install(4):broken:regression
    linux-linus:build-arm64:host-install(4):broken:regression
    linux-linus:build-arm64-pvops:host-install(4):broken:regression
    linux-linus:build-arm64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64:host-install(4):broken:regression
    linux-linus:build-amd64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64-pvops:host-install(4):broken:regression
    linux-linus:build-armhf-pvops:host-install(4):broken:regression
    linux-linus:build-armhf:host-install(4):broken:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    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-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    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:build-arm64-libvirt: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:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:build-i386-libvirt: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-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=2cc14f52aeb78ce3f29677c2de1f06c0e91471ab
X-Osstest-Versions-That:
    linux=b46ae77f67874918c540feb1e37a63308b2c9290
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Nov 2023 17:43:29 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 183859
 build-i386                    4 host-install(4)        broken REGR. vs. 183859
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 183859
 build-arm64                   4 host-install(4)        broken REGR. vs. 183859
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-amd64                   4 host-install(4)        broken REGR. vs. 183859
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-armhf                   4 host-install(4)        broken REGR. vs. 183859

Tests which did not succeed, but are not blocking:
 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-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-examine      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           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 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
 build-arm64-libvirt           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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 build-i386-libvirt            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-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 linux                2cc14f52aeb78ce3f29677c2de1f06c0e91471ab
baseline version:
 linux                b46ae77f67874918c540feb1e37a63308b2c9290

Last test of basis   183859  2023-11-25 22:13:34 Z    1 days
Failing since        183862  2023-11-26 04:55:31 Z    1 days    4 attempts
Testing same since   183868  2023-11-27 06:55:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Andrea della Porta <andrea.porta@suse.com>
  Andrew Halaney <ahalaney@redhat.com>
  Asuna Yang <SpriteOvO@gmail.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dapeng Mi <dapeng1.mi@linux.intel.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hans de Goede <hdegoede@redhat.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Heikki Krogeus <heikki.krogerus@linux.intel.com>
  Helge Deller <deller@gmx.de>
  Ingo Molnar <mingo@kernel.org>
  Ivan Ivanov <ivan.ivanov@suse.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lech Perczak <lech.perczak@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Matthias Kaehlcke <mka@chromium.org>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Niklas Neronin <niklas.neronin@linux.intel.com>
  Oliver Neukum <oneukum@suse.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pawel Laszczak <pawell@cadence.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Puliang Lu <puliang.lu@fibocom.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Ritvik Budhiraja <rbudhiraja@microsoft.com>
  Shawn Guo <shawn.guo@linaro.org>
  Stanley Chang <stanley_chang@realtek.com>
  Stefan Eichenberger <stefan.eichenberger@toradex.com>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Victor Fragoso <victorffs@hotmail.com>
  Wentong Wu <wentong.wu@intel.com>
  Will McVicker <willmcvicker@google.com>
  Yangyu Chen <cyy@cyyself.name>

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-arm64                                                  broken  
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 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                                 blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 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                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 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                                     blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 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                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-amd64-xl-vhd                                      blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-xsm host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 17:57:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 17:57:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642385.1001822 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7frb-0005kf-JV; Mon, 27 Nov 2023 17:57:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642385.1001822; Mon, 27 Nov 2023 17:57: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 1r7frb-0005kY-H1; Mon, 27 Nov 2023 17:57:43 +0000
Received: by outflank-mailman (input) for mailman id 642385;
 Mon, 27 Nov 2023 17:57: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=VqC2=HI=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r7fra-0005io-Dh
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 17:57:42 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 756193b2-8d4e-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 18:57:41 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id D15D34EE0737;
 Mon, 27 Nov 2023 18:57:40 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 756193b2-8d4e-11ee-98e2-6d05b1d4d9a1
MIME-Version: 1.0
Date: Mon, 27 Nov 2023 18:57:40 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Andrew Cooper3
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Xen Devel
 <xen-devel@lists.xenproject.org>
Subject: Re: MISRA: Compatible declarations for sort and bsearch
In-Reply-To: <b3e14bf0-def2-4e1c-83f6-a94a203c7b8d@suse.com>
References: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
 <ca540835e3cce50a852fdf2b3956205a@bugseng.com>
 <b3e14bf0-def2-4e1c-83f6-a94a203c7b8d@suse.com>
Message-ID: <5ebb62b5485bb1a0c4e805af6580ab6d@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-27 15:59, Jan Beulich wrote:
> On 27.11.2023 15:32, Nicola Vetrini wrote:
>> Still on the matter of Rule 8.4, though not related to bsearch or 
>> sort:
>> 
>> - the definition of do_mca in x86/cpu/mcheck/mca.c has the following
>> header:
>>    #include <xen/hypercall.h> /* for do_mca */
>>    which in turn leads to x86/include/asm/hypercall.h, which includes 
>> the
>> following:
>>    #include <public/arch-x86/xen-mca.h> /* for do_mca */
>> 
>>    where I can't see a declaration for do_mca, as I would have 
>> expected.
>> I'd like to understand what's going on here, since I may be missing 
>> some
>> piece of information (perhaps something is generated during the 
>> build).
> 
> It can't possibly live in the public header. The comment simply went
> stale with the auto-generation of headers; the decl is in 
> hypercall-defs.h
> now.
> 

Ok, thanks.

>> - x86/traps.c do_general_protection may want a declaration in
>> x86/include/asm/traps.h, or perhaps it should gain the asmlinkage
>> attribute, given that it's used only by asm and the TU that defines 
>> it.
> 
> Neither is really attractive imo.
> 
>> - function test and variable data in x86/efi/check.c look like they
>> should not be MISRA compliant, so they may be added to the
>> exclude-list.json
> 
> This file isn't contributing to the final binary.
> 

Then I'll exclude them

>> - given the comment in xen/common/page_alloc.c for first_valid_mfn
>> 
>> /*
>>   * first_valid_mfn is exported because it is use in ARM specific NUMA
>>   * helpers. See comment in arch/arm/include/asm/numa.h.
>>   */
>> mfn_t first_valid_mfn = INVALID_MFN_INITIALIZER;
>> 
>> and the related ARM comment
>> 
>> /*
>>   * TODO: make first_valid_mfn static when NUMA is supported on Arm, 
>> this
>>   * is required because the dummy helpers are using it.
>>   */
>> extern mfn_t first_valid_mfn;
>> 
>> it should probably be deviated.
> 
> NUMA work is still in progress for Arm, I think, so I'd rather wait 
> with
> deviating.
> 

+Stefano

I can leave it as is, if that's indeed going to become static at some 
point.

>> - compat_set_{px,cx}_pminfo in x86/x86_64/cpufreq.c are perhaps 
>> declared
>> with an autogenerated header?
> 
> I don't think so. Only top-level hypercall handlers would be. This 
> works by
> (perhaps even unintentional) trickery: xen/pmstat.h is included only 
> after
> set_{c,p}x_pminfo are re-defined to compat_set_{c,p}x_pminfo, so the 
> same
> declarations happen to serve two purposes (but of course don't provide 
> the
> intended caller/callee agreement).
> 

I didn't understand your explanation fully; I see xen/pmstat.h in 
cpufreq.c included before
compat/platform.h which, as I understand it, redefines set_{c,p}x_pminfo 
to compat_set_{c,p}x_pminfo, therefore down below no declaration for 
compat_set_{c,p}x_pminfo is visible, triggering the violation.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 18:07:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 18:07:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642389.1001833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7g17-00083m-GE; Mon, 27 Nov 2023 18:07:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642389.1001833; Mon, 27 Nov 2023 18: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 1r7g17-00083f-DE; Mon, 27 Nov 2023 18:07:33 +0000
Received: by outflank-mailman (input) for mailman id 642389;
 Mon, 27 Nov 2023 18: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 1r7g15-00083V-MK; Mon, 27 Nov 2023 18: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 1r7g15-0002qf-G0; Mon, 27 Nov 2023 18: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 1r7g15-0005tA-4l; Mon, 27 Nov 2023 18:07:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7g15-0000us-4I; Mon, 27 Nov 2023 18: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=z8pEe0SkpZhulk3sM56x/bFQ6eetXtnnnCWR7OrkL9g=; b=zpEaQrBk5SC7dEULZ2NyIq/jvE
	lJe5l3oHuHZiTpC6MWmpdDnNTzLG0rBhCucDfvhjYZsTxhyt4y5GDelhNtgNsUvhgm6q/RHCDDoHL
	aWLaO02TOn0dYpWZ9sEf2/gWESJ3RsBZ5SIo+uT8uV32JHOd6VlROXSidH5PmfNMqnvY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183871-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183871: trouble: blocked/broken
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:<job status>:broken:regression
    xen-unstable-smoke:build-arm64-xsm:<job status>:broken:regression
    xen-unstable-smoke:build-armhf:<job status>:broken:regression
    xen-unstable-smoke:build-arm64-xsm:host-install(4):broken:regression
    xen-unstable-smoke:build-amd64:host-install(4):broken:regression
    xen-unstable-smoke:build-armhf:host-install(4):broken:regression
    xen-unstable-smoke:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=fbcec32d6d3ea0ac329301925b317478316209ed
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Nov 2023 18:07:31 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 183851
 build-amd64                   4 host-install(4)        broken REGR. vs. 183851
 build-armhf                   4 host-install(4)        broken REGR. vs. 183851

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

version targeted for testing:
 xen                  fbcec32d6d3ea0ac329301925b317478316209ed
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    3 days
Testing same since   183871  2023-11-27 14:00:26 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Tamas K Lengyel <tamas@tklengyel.com>

jobs:
 build-arm64-xsm                                              broken  
 build-amd64                                                  broken  
 build-armhf                                                  broken  
 build-amd64-libvirt                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 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 build-amd64 broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

------------------------------------------------------------
commit fbcec32d6d3ea0ac329301925b317478316209ed
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:39:55 2023 +0000

    x86/mem_sharing: Release domain if we are not able to enable memory sharing
    
    In case it's not possible to enable memory sharing (mem_sharing_control
    fails) we just return the error code without releasing the domain
    acquired some lines above by rcu_lock_live_remote_domain_by_id().
    
    Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit b9eeb1992676ec83cee285b97fee94d03eaa9836
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:26:20 2023 +0000

    x86/mem_sharing: Fix typo in comment
    
    ambigious -> ambiguous
    
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 18:48:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 18:48:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642395.1001842 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7geO-0008So-He; Mon, 27 Nov 2023 18:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642395.1001842; Mon, 27 Nov 2023 18: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 1r7geO-0008Sh-Ex; Mon, 27 Nov 2023 18:48:08 +0000
Received: by outflank-mailman (input) for mailman id 642395;
 Mon, 27 Nov 2023 18:48: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=oQs+=HI=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r7geN-0008SZ-B4
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 18:48:07 +0000
Received: from m202-219.mailgun.net (m202-219.mailgun.net [161.38.202.219])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 7f52f14c-8d55-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 19:48:05 +0100 (CET)
Received: from mg.gitlab.com (4.226.74.34.bc.googleusercontent.com
 [34.74.226.4]) by
 3b5f6fa3fba0 with SMTP id 6564e462effdc83615794537 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Mon, 27 Nov 2023 18:48:02 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 7f52f14c-8d55-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1701110882; x=1701118082; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=/v0zWTw1YlcdxPKqFOpVAywTN7WwbqbqTp3I5bx22Xc=;
 b=nRdurNFLnx0gORJ5NckEu4WI66q17osABLPEo3SzpELe4vNFOZar2oa29Sd/1pCamP+lywzR+A4mV63AgUR3TkxV905SvUvyk1x+IiqwtRf5roBVnE/SYH3fb10TG3iCRHPCn01OKSREtJoUHbS95sdUaTd+VM9RtZi0HADAenE=
X-Mailgun-Sending-Ip: 161.38.202.219
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Mon, 27 Nov 2023 18:48:02 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6564e46261a50_2c3d609ef010599ef@gitlab-sidekiq-catchall-v2-7bdb8c6cbf-9mdb9.mail>
Subject: xen | Successful pipeline for staging | 72d51813
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6564e46250d41_2c3d609ef01059899";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1086435762
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6564e46250d41_2c3d609ef01059899
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1086435762 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 72d51813 ( https://gitlab.com/xen-project/xen/-/commit/72d51813d631fe27d37736b7a55eeec08f246983 )
Commit Message: x86: amend cpu_has_xen_{ibt,shstk}

... to eval...
Commit Author: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1086435762 ( https://gitlab.com/xen-project/xen/-/pipelines/1086435762 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6564e46250d41_2c3d609ef01059899
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 72d51813</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1086435762 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/72d51813d631fe27d3=
7736b7a55eeec08f246983" style=3D"color: #3777b0; text-decoration: none;">=
72d51813</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
x86: amend cpu_has_xen_{ibt,shstk}

... to eval...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108643=
5762" style=3D"color: #3777b0; text-decoration: none;">#1086435762</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6564e46250d41_2c3d609ef01059899--


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 19:38:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 19:38:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642433.1001853 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hR2-0000cO-56; Mon, 27 Nov 2023 19:38:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642433.1001853; Mon, 27 Nov 2023 19: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 1r7hR2-0000cH-2H; Mon, 27 Nov 2023 19:38:24 +0000
Received: by outflank-mailman (input) for mailman id 642433;
 Mon, 27 Nov 2023 19:38: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7hR0-0000cB-Pb
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 19:38:22 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 85909d29-8d5c-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 20:38:21 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2c503da4fd6so56392871fa.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 11:38:21 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 v19-20020a2e7a13000000b002c87132d618sm1421346ljc.91.2023.11.27.11.38.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 11:38:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85909d29-8d5c-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701113901; x=1701718701; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=y7ym5EEv0/qhi2tFDB8t3lmkWrG2Zwe9T6aXR1Ng7lU=;
        b=laFL2c7bfpkYaS/B56rzgTfUJ9nEgIse44vPvlhZNV6dC8zwCNpaqh777CENbyZHJ8
         AHNW7HMYBTLVm/W6ZP3EYEebNJ1hu7VBLV18Vq+M8AIeRv+WbQWAfJQctb1vtpSCuJmY
         u60xEIJgyfntSq7VgE0tuqWy2Od38Xa4I3PERG0RmmR8qWStt4CZd6vwsWH+IXAVT9k9
         Jx28LOL9i3V1T9IP795sCQMwZFGjRCTUEBHN7bwdt/WgpfH1vPn/RpHbFU/vUz+lXQcG
         1dKeKpAxKaIZ09ghrDnIDXIV4MRQH0WAbZ/+Qnup1Xq5Kc6Iv6eNZntnyhZrPsjzJKI5
         6ErA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701113901; x=1701718701;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=y7ym5EEv0/qhi2tFDB8t3lmkWrG2Zwe9T6aXR1Ng7lU=;
        b=gqW7wejJAfpH6k4Exoyd/QaGDm+Y628h64XNQTxQGt6D6BCwQvUSBZO/5GnGJIHdet
         FUQCmX4iB+qXPg8HqPsogb5uOowpPJr4lcHfCxWqcjLrgtA5VmarA/AAfzTwLYRvqExl
         vDCjVTP6xkKD0bUXAvgv/EKE36t8eg6KQArsPn70XsUzRgv2eRAKFJCP9tX4ii9tMc9a
         cCn21IgsSKTtYSLltqNuzA9PJeALQPM7uhWLjGkUo1z9Gf915NJmvPtbPVWVtED+yFm9
         6rAJTi3XlQIjKWHxuzHoVILfEQPHR1W2eRXasG7AdMGBaPpBo0inn99XZZT+XPbYaZIf
         AHxw==
X-Gm-Message-State: AOJu0YwXEyYl0XKzD6fsRCMI1oBQhoaHOlZjd4miYIXc7BpSVlF2+Bb9
	AYDCK4H2mEMP1b//nct9r7Gdj8r//Z6Wow==
X-Google-Smtp-Source: AGHT+IG6TModd5iRVCGWHNckKn89o1Zhswr6HPzAlWFjYodMnx11gTbkg7kOGDyg4cFEFvopnzJQdQ==
X-Received: by 2002:a2e:8602:0:b0:2c5:128c:fae7 with SMTP id a2-20020a2e8602000000b002c5128cfae7mr8779998lji.38.1701113900431;
        Mon, 27 Nov 2023 11:38:20 -0800 (PST)
Message-ID: <6543c6aec8f69878e37912924b6d6208136a02af.camel@gmail.com>
Subject: Re: [PATCH v4 13/14] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, xen-devel@lists.xenproject.org
Date: Mon, 27 Nov 2023 21:38:19 +0200
In-Reply-To: <21ca8f55-d720-489f-a2d0-59a1f78d3656@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
	 <21ca8f55-d720-489f-a2d0-59a1f78d3656@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Mon, 2023-11-27 at 15:41 +0100, Jan Beulich wrote:
> On 27.11.2023 15:13, Oleksii Kurochko wrote:
> > --- a/xen/arch/ppc/include/asm/grant_table.h
> > +++ /dev/null
> > @@ -1,5 +0,0 @@
> > -/* SPDX-License-Identifier: GPL-2.0-only */
> > -#ifndef __ASM_PPC_GRANT_TABLE_H__
> > -#define __ASM_PPC_GRANT_TABLE_H__
> > -
> > -#endif /* __ASM_PPC_GRANT_TABLE_H__ */
>=20
> Removing this header would be correct only if GRANT_TABLE had a
> "depends on
> !PPC", I'm afraid. Recall that the earlier randconfig adjustment in
> CI was
> actually requested to be undone, at which point what an arch's
> defconfig
> says isn't necessarily what a randconfig should use.
We can do depends on !PPC && !RISCV but shouldn't it be enough only to
turn CONFIG_GRANT_TABLE off in defconfig and set CONFIG_GRANT_TABLE=3Dn
in EXTRA_XEN_CONFIG?

Some time ago I also tried to redefine "Config GRANT_TABLE" in arch-
specific Kconfig + defconfig + EXTRA_XEN_CONFIG and it works for me.
Could it be solution instead of "depends on..." ?

One more question I have do we really need this randconfig? On RISC-V
side, I launched several time this patch series ( from v1 to v4 + runs
during test of patch series ) and I haven't faced case
when CONFIG_GRANT_TABLE=3Dn. ( but I turned the config off in defconfig +
EXTRA_XEN_CONFIG ). Also when it "Config GRANT_TABLE" was re-defined in
arch-specific KConfig I haven't face an issue with CONFIG_GRANT_TABLE
too.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 19:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 19:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642436.1001862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hRu-000184-KF; Mon, 27 Nov 2023 19:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642436.1001862; Mon, 27 Nov 2023 19: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 1r7hRu-00017x-Hi; Mon, 27 Nov 2023 19:39:18 +0000
Received: by outflank-mailman (input) for mailman id 642436;
 Mon, 27 Nov 2023 19:39: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7hRt-0000xu-Fp
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 19:39:17 +0000
Received: from mail-lf1-x132.google.com (mail-lf1-x132.google.com
 [2a00:1450:4864:20::132])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a627ba99-8d5c-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 20:39:16 +0100 (CET)
Received: by mail-lf1-x132.google.com with SMTP id
 2adb3069b0e04-50aab3bf71fso6332964e87.3
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 11:39:16 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 f27-20020ac2533b000000b0050b6662220csm1581533lfh.96.2023.11.27.11.39.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 11:39:15 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a627ba99-8d5c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701113955; x=1701718755; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=PHM+G1lwPknfo1C3GINi4VSZV2dlYS1InrAKROhEkR8=;
        b=WQsRidls+Mq4sWERzXVyyheDC2RVw+ZYGEtVCm+gI/PBwcovAiOTe6P7QIBnZb9iDW
         P2/bV9/H/xOxv+CCLJgbjTfcd6iJfGuiG6VnR0hrxSrYBkSqkDS2V4C9wWl2f3sJC1il
         1GbQcAm6Rwp4537E7ypdt0UcMoHmvvKMlg7K2lwDWHqIBw8Kt42F/NdTegAac+LrsygH
         nU+AzIPbKwHCQKaQwiq+6G1RDmpf3pzS5P/ocmiIpvivoQ4Vv2MocQ3ABqEIbViBLrvz
         TRoDFdoEo57pTpBTJRyQDCe+vekAOrmxOqvwOEPXYlX2YtgBhDJtBYOhgIXwM5SoRQPy
         n6nw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701113955; x=1701718755;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=PHM+G1lwPknfo1C3GINi4VSZV2dlYS1InrAKROhEkR8=;
        b=tHf7yRV07hZLHkk4fqFCqGQe4IofhhV5Tu8nYUZAMbYhFzHFmuOZPyyv4BfnzLgF9y
         v6bxZIxRxAdSFIPWsKpX2bOi5sOAXdeWH07rV6I4b/E9P4S+TvcMBUPazZpNMJW148m2
         GVTJm3Vy03ckUC4zUsF6O9NYM6RCbwh6XNa8s8Xi0RKqqgYeSWlD7J9vdiNZ3wtpR0Sw
         4/J0fyl0Uze21Nl/IC4cmKGJSuUrTN0O+/JwOPa2IuF+/nrERZKAAjYtfXu+mYBeOnv6
         DP26FcPxb4dSq7ZtMyrdzy5UE9O/ZMrn9Yy9NhmvlltKJ2NzyH0TgpiPxAHJFDwozLoC
         6uxQ==
X-Gm-Message-State: AOJu0YyMOhUDc6Z5C86pA1NitUR7qrB/5X4TW/5D0qGVZMZazQ2znoB7
	gP+SH1u+jpVIwXE/CfE7jKE=
X-Google-Smtp-Source: AGHT+IGo+KaM6TrWKahR1U5gXW1+a1ILa6w6bPkfM2ogQYBoH8wUPvSd73KaLUe1V2abg9jfTg4Paw==
X-Received: by 2002:a05:6512:3c87:b0:50b:a64d:acf with SMTP id h7-20020a0565123c8700b0050ba64d0acfmr9731529lfv.59.1701113955321;
        Mon, 27 Nov 2023 11:39:15 -0800 (PST)
Message-ID: <ead8e884eec7f0779c29c5d3d020f0283093fbee.camel@gmail.com>
Subject: Re: [PATCH v4 12/14] xen/asm-generic: introduce stub header
 softirq.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, xen-devel@lists.xenproject.org
Date: Mon, 27 Nov 2023 21:39:14 +0200
In-Reply-To: <36211cd7-6b62-40ec-ba1e-110df2653c5d@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <090991be61252cabefc06da19597e3a86a4cd1da.1701093907.git.oleksii.kurochko@gmail.com>
	 <36211cd7-6b62-40ec-ba1e-110df2653c5d@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Mon, 2023-11-27 at 15:36 +0100, Jan Beulich wrote:
> On 27.11.2023 15:13, Oleksii Kurochko wrote:
> > <asm/softirq.h> is common between Arm, PPC and RISC-V so it is
> > moved to asm-generic.
> >=20
> > Drop Arm and PPC's softirq.h and use asm-generic version instead.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > Reviewed-by: Michal Orzel <michal.orzel@amd.com>
> > Added Acked-by: Jan Beulich <jbeulich@suse.com>
>=20
> In case a v5 is needed, please drop the stray "Added".
Thanks.

I'll do in case a v5 is needed.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 19:46:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 19:46:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642440.1001873 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hZ5-0003Ig-BQ; Mon, 27 Nov 2023 19:46:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642440.1001873; Mon, 27 Nov 2023 19: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 1r7hZ5-0003IZ-8Q; Mon, 27 Nov 2023 19:46:43 +0000
Received: by outflank-mailman (input) for mailman id 642440;
 Mon, 27 Nov 2023 19: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=5+WV=HI=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7hZ3-0003G5-OP
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 19:46:41 +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 af423da1-8d5d-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 20:46:40 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2c5071165d5so14844891fa.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 11:46:40 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 f15-20020a05651232cf00b0050ba6e989d6sm1112673lfg.268.2023.11.27.11.46.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 11:46:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: af423da1-8d5d-11ee-98e2-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701114400; x=1701719200; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=WLV0j56qHS6Cdq6x9V70fNSr7RxpLkfJiuN+QTqKbS0=;
        b=VvoOGyYRp6IlwTp2g2Ci/HpXkCKcMmQVTsutjWzQlsQx2X0ezgG1Rveb4fWbSN0i/E
         pvWJBzORtkLUYCP4ratQSj/3+Cc6N7P3GznOnpl5U8+FIA66OErWgyjra7zFyoufBJXW
         rPDBsZ0fwLz1MbI44TSmiZ+N5D5M/FYrv0GUCmq9uTESdR1XK8mziPUad9sSOwIUpfXr
         ZGmW/YZf8uuHEnnyZMNSDLWvurNDOy+vKNKRK0urWOa6nQDSU0KAPR0tisOUY69djP3Q
         IzHA8fqCMFioAkWm14sokkXXXwR16M9LQkXGk31FAbguSNzCfYhuI8vTd3tpTV7phEnO
         UQLg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701114400; x=1701719200;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=WLV0j56qHS6Cdq6x9V70fNSr7RxpLkfJiuN+QTqKbS0=;
        b=pCURG9nllIHzU2CnOGXKHB+Q4HrvHRIAxRuFsHh/br+GRTxzmW4jvNdcuqZw3bdHrW
         pfdkHdLcHOmzk720i+7qhdqzlNISGFjcdMQfhXv42BpUbdlsgV/J9gQn4N/HVuUKizjF
         WpUWIsXxE04E5RmUVcMZ4DklLWjKsxZmkwJg3MA/DhTYrnyeCWDsZexFn7dkCnXJ0rth
         2/C8E8Od9WIUqz/MP9Ir3AvJf/2IEEMSja4RI04XDaJQwt8pw4QaRSzdGIZEF31cv5jl
         QiTiVe7XHEM4WuVyDycJQ2R6+Q8RmMyjkMDB5M9MmSZvv5CSzP79fPmPBiJ4Icla4iVs
         x+mA==
X-Gm-Message-State: AOJu0YwImZE4OWMeb9Sb5tbGvSvja5J66rD8ZU5ChfBvagcWWl8NvKBQ
	x8C+NZ/6Cj4cg69ohWv6s8g=
X-Google-Smtp-Source: AGHT+IEhh64swUWE+/xHD3A590Wx8B61G+Hn/uanMmf7D0xbCcBth/WddiNQKzx0y+M36gxvP8vMZA==
X-Received: by 2002:ac2:5b04:0:b0:509:4599:f2bc with SMTP id v4-20020ac25b04000000b005094599f2bcmr8009727lfn.14.1701114400164;
        Mon, 27 Nov 2023 11:46:40 -0800 (PST)
Message-ID: <0e948dcb22fe553053431083f19f058245016e41.camel@gmail.com>
Subject: Re: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, xen-devel@lists.xenproject.org
Date: Mon, 27 Nov 2023 21:46:39 +0200
In-Reply-To: <6aa8c7e5-c13e-43e0-bec4-74827407c985@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
	 <6aa8c7e5-c13e-43e0-bec4-74827407c985@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Mon, 2023-11-27 at 15:31 +0100, Jan Beulich wrote:
> On 27.11.2023 15:13, Oleksii Kurochko wrote:
> > Arm, PPC and RISC-V use the same device.h thereby device.h
> > was moved to asm-generic. Arm's device.h was taken as a base with
> > the following changes:
> > =C2=A0- #ifdef PCI related things.
> > =C2=A0- #ifdef ACPI related things.
> > =C2=A0- Rename #ifdef guards.
> > =C2=A0- Add SPDX tag.
> > =C2=A0- #ifdef CONFIG_HAS_DEVICE_TREE related things.
> > =C2=A0- #ifdef-ing iommu related things with CONFIG_HAS_PASSTHROUGH.
> >=20
> > Also Arm and PPC are switched to asm-generic version of device.h
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > ---
> > Changes in V4:
> > =C2=A0- Updated the commit message
> > =C2=A0- Switched Arm and PPC to asm-generic version of device.h
> > =C2=A0- Replaced HAS_PCI with CONFIG_HAS_PCI
> > =C2=A0- ifdef-ing iommu filed of dev_archdata struct with
> > CONFIG_HAS_PASSTHROUGH
> > =C2=A0- ifdef-ing iommu_fwspec of device struct with
> > CONFIG_HAS_PASSTHROUGH
> > =C2=A0- ifdef-ing DT related things with CONFIG_HAS_DEVICE_TREE
> > =C2=A0- Updated the commit message ( remove a note with question about
> > =C2=A0=C2=A0 if device.h should be in asm-generic or not )
> > =C2=A0- Replaced DEVICE_IC with DEVICE_INTERRUPT_CONTROLLER
> > =C2=A0- Rationalized usage of CONFIG_HAS_* in device.h
> > =C2=A0- Fixed indents for ACPI_DEVICE_START and ACPI_DEVICE_END
> > ---
> > Changes in V3:
> > =C2=A0- ifdef device tree related things.
> > =C2=A0- update the commit message
> > ---
> > Changes in V2:
> > 	- take ( as common ) device.h from Arm as PPC and RISC-V
> > use it as a base.
> > 	- #ifdef PCI related things.
> > 	- #ifdef ACPI related things.
> > 	- rename DEVICE_GIC to DEVIC_IC.
> > 	- rename #ifdef guards.
> > 	- switch Arm and PPC to generic device.h
> > 	- add SPDX tag
> > 	- update the commit message
> >=20
> > ---
> > =C2=A0xen/arch/arm/device.c=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 15 ++-
> > =C2=A0xen/arch/arm/domain_build.c=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 2 +-
> > =C2=A0xen/arch/arm/gic-v2.c=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 4 +-
> > =C2=A0xen/arch/arm/gic-v3.c=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 6 +-
> > =C2=A0xen/arch/arm/gic.c=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=C2=A0 |=C2=A0=C2=A0 4 +-
> > =C2=A0xen/arch/arm/include/asm/Makefile=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 1 +
> > =C2=A0xen/arch/ppc/include/asm/Makefile=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 1 +
> > =C2=A0xen/arch/ppc/include/asm/device.h=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 53 --------
> > =C2=A0xen/arch/ppc/include/asm/irq.h=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 4 +
> > =C2=A0.../asm =3D> include/asm-generic}/device.h=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0 | 125 +++++++++++---
> > ----
> > =C2=A0xen/include/headers++.chk.new=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 =
0
> > =C2=A011 files changed, 106 insertions(+), 109 deletions(-)
> > =C2=A0delete mode 100644 xen/arch/ppc/include/asm/device.h
> > =C2=A0rename xen/{arch/arm/include/asm =3D> include/asm-generic}/device=
.h
> > (79%)
> > =C2=A0create mode 100644 xen/include/headers++.chk.new
>=20
> Stray new file, presumably because of a missing entry in .gitignore?
Yeah, I don't have such entry in .gitignore.
I will remove this file in next version of the patch.

>=20
> Overall I think there are too many changes done all in one go here.
> But it's mostly Arm which is affected, so I'll leave judging about
> that
> to the Arm maintainers.
>=20
> > --- a/xen/arch/ppc/include/asm/irq.h
> > +++ b/xen/arch/ppc/include/asm/irq.h
> > @@ -3,7 +3,9 @@
> > =C2=A0#define __ASM_PPC_IRQ_H__
> > =C2=A0
> > =C2=A0#include <xen/lib.h>
> > +#ifdef CONFIG_HAS_DEVICE_TREE
> > =C2=A0#include <xen/device_tree.h>
> > +#endif
> > =C2=A0#include <public/device_tree_defs.h>
>=20
> Why would this #ifdef not cover the public header as well? (Otherwise
> I'd
> be inclined to ask that the conditional be moved inside that header.)
In that header is defined only consts without additional header
inclusion. At that moment it looked to me pretty save to ifdef only
xen/device_tree.h but you are right we can move incluion of the public
header inside #ifdef OR just remove as xen/device_tree.h already
includes it.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 19:57:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 19:57:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642444.1001882 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hj9-0005sb-6X; Mon, 27 Nov 2023 19:57:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642444.1001882; Mon, 27 Nov 2023 19:57: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 1r7hj9-0005sU-3l; Mon, 27 Nov 2023 19:57:07 +0000
Received: by outflank-mailman (input) for mailman id 642444;
 Mon, 27 Nov 2023 19:57: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hj7-0005sJ-Vl
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 19:57:05 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21caf36d-8d5f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 20:57:02 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 2BE1A20103;
 Mon, 27 Nov 2023 20:57:02 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 96PMGdJeVTpd; Mon, 27 Nov 2023 20:57:02 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id E54A920101;
 Mon, 27 Nov 2023 20:57:01 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hj3-00000005cg6-2TyK; Mon, 27 Nov 2023 20:57:01 +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: 21caf36d-8d5f-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 20:57:01 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 03/32] Mini-OS: add EXPORT_SYMBOL() instances to
 kernel.c
Message-ID: <20231127195701.eyvzcqp3rfl2tckn@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-4-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-4-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:24:54 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to kernel.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  kernel.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/kernel.c b/kernel.c
> index 1f97d8dd..0b444940 100644
> --- a/kernel.c
> +++ b/kernel.c
> @@ -50,6 +50,9 @@
>  #include <xen/features.h>
>  #include <xen/version.h>
>  
> +void _start(void);
> +EXPORT_SYMBOL(_start);
> +
>  uint8_t xen_features[XENFEAT_NR_SUBMAPS * 32];
>  char cmdline[MAX_CMDLINE_SIZE];
>  
> @@ -181,6 +184,7 @@ void stop_kernel(void)
>      /* Reset arch details */
>      arch_fini();
>  }
> +EXPORT_SYMBOL(stop_kernel);
>  
>  /*
>   * do_exit: This is called whenever an IRET fails in entry.S.
> @@ -199,3 +203,4 @@ void do_exit(void)
>          HYPERVISOR_sched_op(SCHEDOP_shutdown, &sched_shutdown);
>      }
>  }
> +EXPORT_SYMBOL(do_exit);
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 19:57:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 19:57:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642450.1001900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hjp-0006Ti-In; Mon, 27 Nov 2023 19:57:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642450.1001900; Mon, 27 Nov 2023 19:57: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 1r7hjp-0006Tb-G2; Mon, 27 Nov 2023 19:57:49 +0000
Received: by outflank-mailman (input) for mailman id 642450;
 Mon, 27 Nov 2023 19:57: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hjo-0006PP-Cc
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 19:57:48 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3c231093-8d5f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 20:57:46 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 7041020103;
 Mon, 27 Nov 2023 20:57:46 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id bVN015LGAd3r; Mon, 27 Nov 2023 20:57:46 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 579BE20101;
 Mon, 27 Nov 2023 20:57:46 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hjm-00000005cgV-0IDI; Mon, 27 Nov 2023 20:57:46 +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: 3c231093-8d5f-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 20:57:46 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 02/32] Mini-OS: explicitly mark symbols to be visible
 for apps
Message-ID: <20231127195746.27mkak6honhb445h@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-3-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-3-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:24:53 +0100, a ecrit:
> Add an EXPORT_SYMBOL() macro to explicitly mark a symbol to be visible
> for an app or library linked with Mini-OS. This prepares hiding all
> other symbols from external components, avoiding any problems with
> duplicate symbol names.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  .gitignore       |  1 +
>  Makefile         |  3 ++-
>  include/export.h | 10 ++++++++++
>  include/lib.h    |  1 +
>  4 files changed, 14 insertions(+), 1 deletion(-)
>  create mode 100644 include/export.h
> 
> diff --git a/.gitignore b/.gitignore
> index abef46b2..bacf787e 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -16,3 +16,4 @@ mini-os.gz
>  minios-config.mk
>  mini-os-debug
>  mini-os-debug.gz
> +syms
> diff --git a/Makefile b/Makefile
> index 85c6db75..588496cb 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -166,10 +166,11 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
>  
>  $(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
>  	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
> +	$(OBJCOPY) --dump-section .export_symbol=$(OBJ_DIR)/syms $@
>  
>  $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
>  	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
> -	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
> +	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start --remove-section=.export_symbol $@.o $@.o
>  	$(LD) $(LDFLAGS) $(LDFLAGS_FINAL) $@.o $(EXTRA_OBJS) -o $@-debug
>  	strip -s $@-debug -o $@
>  	gzip -n -f -9 -c $@-debug >$@-debug.gz
> diff --git a/include/export.h b/include/export.h
> new file mode 100644
> index 00000000..7140ac68
> --- /dev/null
> +++ b/include/export.h
> @@ -0,0 +1,10 @@
> +#ifndef _EXPORT_H_
> +#define _EXPORT_H_
> +
> +/* Mark a symbol to be visible for apps and libs. */
> +#define EXPORT_SYMBOL(sym)          \
> +    asm(".section .export_symbol\n" \
> +        ".ascii \""#sym"\\n\"\n"    \
> +        ".previous\n")
> +
> +#endif /* _EXPORT_H_ */
> diff --git a/include/lib.h b/include/lib.h
> index dd68985a..abd4e9ab 100644
> --- a/include/lib.h
> +++ b/include/lib.h
> @@ -53,6 +53,7 @@
>  #include <stddef.h>
>  #include <xen/xen.h>
>  #include <xen/event_channel.h>
> +#include <mini-os/export.h>
>  #include "gntmap.h"
>  
>  #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 19:58:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 19:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642457.1001915 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hkK-00073Y-TH; Mon, 27 Nov 2023 19:58:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642457.1001915; Mon, 27 Nov 2023 19:58: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 1r7hkK-00073R-QR; Mon, 27 Nov 2023 19:58:20 +0000
Received: by outflank-mailman (input) for mailman id 642457;
 Mon, 27 Nov 2023 19:58: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hkJ-0006PP-VB
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 19:58:19 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4efefe7e-8d5f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 20:58:18 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 191F720103;
 Mon, 27 Nov 2023 20:58:18 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id bgg2Glo3Jjei; Mon, 27 Nov 2023 20:58:18 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 02D8D20101;
 Mon, 27 Nov 2023 20:58:18 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hkH-00000005cin-38tg; Mon, 27 Nov 2023 20:58:17 +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: 4efefe7e-8d5f-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 20:58:17 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 04/32] Mini-OS: add EXPORT_SYMBOL() instances to
 hypervisor.c
Message-ID: <20231127195817.gtuzpl7nu2zq24vj@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-5-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-5-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:24:55 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to hypervisor.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  hypervisor.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/hypervisor.c b/hypervisor.c
> index d3857e70..f2cbbc1c 100644
> --- a/hypervisor.c
> +++ b/hypervisor.c
> @@ -31,6 +31,8 @@
>  #include <mini-os/events.h>
>  #include <xen/memory.h>
>  
> +EXPORT_SYMBOL(hypercall_page);
> +
>  #define active_evtchns(cpu,sh,idx)              \
>      ((sh)->evtchn_pending[idx] &                \
>       ~(sh)->evtchn_mask[idx])
> @@ -157,6 +159,7 @@ inline void mask_evtchn(uint32_t port)
>      shared_info_t *s = HYPERVISOR_shared_info;
>      synch_set_bit(port, &s->evtchn_mask[0]);
>  }
> +EXPORT_SYMBOL(mask_evtchn);
>  
>  inline void unmask_evtchn(uint32_t port)
>  {
> @@ -180,9 +183,11 @@ inline void unmask_evtchn(uint32_t port)
>              force_evtchn_callback();
>      }
>  }
> +EXPORT_SYMBOL(unmask_evtchn);
>  
>  inline void clear_evtchn(uint32_t port)
>  {
>      shared_info_t *s = HYPERVISOR_shared_info;
>      synch_clear_bit(port, &s->evtchn_pending[0]);
>  }
> +EXPORT_SYMBOL(clear_evtchn);
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 19:58:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 19:58:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642464.1001928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hkm-0007eD-6D; Mon, 27 Nov 2023 19:58:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642464.1001928; Mon, 27 Nov 2023 19:58: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 1r7hkm-0007e4-3h; Mon, 27 Nov 2023 19:58:48 +0000
Received: by outflank-mailman (input) for mailman id 642464;
 Mon, 27 Nov 2023 19:58: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hkl-0006PP-32
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 19:58:47 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f23015a-8d5f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 20:58:45 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 2DBB920103;
 Mon, 27 Nov 2023 20:58:45 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id JTVClDYWgGBF; Mon, 27 Nov 2023 20:58:45 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 179DD20101;
 Mon, 27 Nov 2023 20:58:45 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hki-00000005cjK-3Nt0; Mon, 27 Nov 2023 20:58:44 +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: 5f23015a-8d5f-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 20:58:44 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 05/32] Mini-OS: add EXPORT_SYMBOL() instances to
 sched.c
Message-ID: <20231127195844.xdimcqdqial2hx4f@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-6-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-6-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:24:56 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to sched.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  arch/x86/sched.c | 5 +++++
>  sched.c          | 7 +++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/arch/x86/sched.c b/arch/x86/sched.c
> index e7b6954e..dabe6fd6 100644
> --- a/arch/x86/sched.c
> +++ b/arch/x86/sched.c
> @@ -142,11 +142,13 @@ unsigned long __local_irq_save(void)
>      local_irq_save(flags);
>      return flags;
>  }
> +EXPORT_SYMBOL(__local_irq_save);
>  
>  void __local_irq_restore(unsigned long flags)
>  {
>      local_irq_restore(flags);
>  }
> +EXPORT_SYMBOL(__local_irq_restore);
>  
>  unsigned long __local_save_flags(void)
>  {
> @@ -155,13 +157,16 @@ unsigned long __local_save_flags(void)
>      local_save_flags(flags);
>      return flags;
>  }
> +EXPORT_SYMBOL(__local_save_flags);
>  
>  void __local_irq_disable(void)
>  {
>      local_irq_disable();
>  }
> +EXPORT_SYMBOL(__local_irq_disable);
>  
>  void __local_irq_enable(void)
>  {
>      local_irq_enable();
>  }
> +EXPORT_SYMBOL(__local_irq_enable);
> diff --git a/sched.c b/sched.c
> index 6f89ea4d..e162cb60 100644
> --- a/sched.c
> +++ b/sched.c
> @@ -128,6 +128,7 @@ void schedule(void)
>          }
>      }
>  }
> +EXPORT_SYMBOL(schedule);
>  
>  struct thread* create_thread(char *name, void (*function)(void *), void *data)
>  {
> @@ -147,6 +148,7 @@ struct thread* create_thread(char *name, void (*function)(void *), void *data)
>      local_irq_restore(flags);
>      return thread;
>  }
> +EXPORT_SYMBOL(create_thread);
>  
>  #ifdef HAVE_LIBC
>  static struct _reent callback_reent;
> @@ -184,6 +186,7 @@ struct _reent *__getreent(void)
>  #endif
>      return _reent;
>  }
> +EXPORT_SYMBOL(__getreent);
>  #endif
>  
>  void exit_thread(void)
> @@ -205,12 +208,14 @@ void exit_thread(void)
>          printk("schedule() returned!  Trying again\n");
>      }
>  }
> +EXPORT_SYMBOL(exit_thread);
>  
>  void block(struct thread *thread)
>  {
>      thread->wakeup_time = 0LL;
>      clear_runnable(thread);
>  }
> +EXPORT_SYMBOL(block);
>  
>  void msleep(uint32_t millisecs)
>  {
> @@ -219,12 +224,14 @@ void msleep(uint32_t millisecs)
>      clear_runnable(thread);
>      schedule();
>  }
> +EXPORT_SYMBOL(msleep);
>  
>  void wake(struct thread *thread)
>  {
>      thread->wakeup_time = 0LL;
>      set_runnable(thread);
>  }
> +EXPORT_SYMBOL(wake);
>  
>  void idle_thread_fn(void *unused)
>  {
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:00:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:00:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642472.1001943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hmP-0000vI-Ni; Mon, 27 Nov 2023 20:00:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642472.1001943; Mon, 27 Nov 2023 20:00: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 1r7hmP-0000uw-Jm; Mon, 27 Nov 2023 20:00:29 +0000
Received: by outflank-mailman (input) for mailman id 642472;
 Mon, 27 Nov 2023 20:00: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hmO-0000uA-Bd
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:00:28 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9a1f149f-8d5f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:00:24 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 2124520103;
 Mon, 27 Nov 2023 21:00:24 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 1eZin29raO_T; Mon, 27 Nov 2023 21:00:24 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 011E720101;
 Mon, 27 Nov 2023 21:00:24 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hmJ-00000005ckW-35vU; Mon, 27 Nov 2023 21:00:23 +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: 9a1f149f-8d5f-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:00:23 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 07/32] Mini-OS: add EXPORT_SYMBOL() instances to
 lib/sys.c
Message-ID: <20231127200023.55gfbvrbygmep34l@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-8-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-8-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:24:58 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to lib/sys.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  lib/sys.c | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++---
>  1 file changed, 87 insertions(+), 5 deletions(-)
> 
> diff --git a/lib/sys.c b/lib/sys.c
> index 118fc441..481067f7 100644
> --- a/lib/sys.c
> +++ b/lib/sys.c
> @@ -20,6 +20,7 @@
>  
>  #ifdef HAVE_LIBC
>  #include <os.h>
> +#include <export.h>
>  #include <string.h>
>  #include <console.h>
>  #include <sched.h>
> @@ -63,7 +64,8 @@
>      { \
>  	print_unsupported(#function); \
>  	do_exit(); \
> -    }
> +    } \
> +    EXPORT_SYMBOL(function)
>  
>  /* Log and err out on function call */
>  #define unsupported_function_log(type, function, ret) \
> @@ -73,7 +75,8 @@
>  	print_unsupported(#function); \
>  	errno = ENOSYS; \
>  	return ret; \
> -    }
> +    } \
> +    EXPORT_SYMBOL(function)
>  
>  /* Err out on function call */
>  #define unsupported_function(type, function, ret) \
> @@ -82,7 +85,8 @@
>      { \
>  	errno = ENOSYS; \
>  	return ret; \
> -    }
> +    } \
> +    EXPORT_SYMBOL(function)
>  
>  #define NOFILE 32
>  #define N_MOUNTS  16
> @@ -187,6 +191,7 @@ unsigned int alloc_file_type(const struct file_ops *ops)
>  
>      return ret;
>  }
> +EXPORT_SYMBOL(alloc_file_type);
>  
>  static const struct file_ops *get_file_ops(unsigned int type)
>  {
> @@ -203,8 +208,10 @@ struct file *get_file_from_fd(int fd)
>  
>      return (files[fd].type == FTYPE_NONE) ? NULL : files + fd;
>  }
> +EXPORT_SYMBOL(get_file_from_fd);
>  
>  DECLARE_WAIT_QUEUE_HEAD(event_queue);
> +EXPORT_SYMBOL(event_queue);
>  
>  int alloc_fd(unsigned int type)
>  {
> @@ -222,6 +229,7 @@ int alloc_fd(unsigned int type)
>      printk("Too many opened files\n");
>      do_exit();
>  }
> +EXPORT_SYMBOL(alloc_fd);
>  
>  void close_all_files(void)
>  {
> @@ -232,6 +240,7 @@ void close_all_files(void)
>              close(i);
>      pthread_mutex_unlock(&fd_lock);
>  }
> +EXPORT_SYMBOL(close_all_files);
>  
>  int dup2(int oldfd, int newfd)
>  {
> @@ -243,33 +252,39 @@ int dup2(int oldfd, int newfd)
>      pthread_mutex_unlock(&fd_lock);
>      return 0;
>  }
> +EXPORT_SYMBOL(dup2);
>  
>  pid_t getpid(void)
>  {
>      return 1;
>  }
> +EXPORT_SYMBOL(getpid);
>  
>  pid_t getppid(void)
>  {
>      return 1;
>  }
> +EXPORT_SYMBOL(getppid);
>  
>  pid_t setsid(void)
>  {
>      return 1;
>  }
> +EXPORT_SYMBOL(setsid);
>  
>  char *getcwd(char *buf, size_t size)
>  {
>      snprintf(buf, size, "/");
>      return buf;
>  }
> +EXPORT_SYMBOL(getcwd);
>  
>  int mkdir(const char *pathname, mode_t mode)
>  {
>      errno = EIO;
>      return -1;
>  }
> +EXPORT_SYMBOL(mkdir);
>  
>  #ifdef CONFIG_CONSFRONT
>  int posix_openpt(int flags)
> @@ -282,6 +297,7 @@ int posix_openpt(int flags)
>  
>      return fd;
>  }
> +EXPORT_SYMBOL(posix_openpt);
>  
>  static int open_pt(struct mount_point *mnt, const char *pathname, int flags,
>                     mode_t mode)
> @@ -313,6 +329,8 @@ int posix_openpt(int flags)
>  	errno = EIO;
>  	return -1;
>  }
> +EXPORT_SYMBOL(posix_openpt);
> +
>  int open_savefile(const char *path, int save)
>  {
>  	errno = EIO;
> @@ -378,6 +396,8 @@ int open(const char *pathname, int flags, ...)
>      errno = EIO;
>      return -1;
>  }
> +EXPORT_SYMBOL(open);
> +EXPORT_SYMBOL(open64);
>  
>  int mount(const char *path, void *dev,
>            int (*open)(struct mount_point *, const char *, int, mode_t))
> @@ -422,6 +442,7 @@ int isatty(int fd)
>  {
>      return files[fd].type == FTYPE_CONSOLE;
>  }
> +EXPORT_SYMBOL(isatty);
>  
>  int read(int fd, void *buf, size_t nbytes)
>  {
> @@ -440,6 +461,7 @@ int read(int fd, void *buf, size_t nbytes)
>      errno = EBADF;
>      return -1;
>  }
> +EXPORT_SYMBOL(read);
>  
>  int write(int fd, const void *buf, size_t nbytes)
>  {
> @@ -458,6 +480,7 @@ int write(int fd, const void *buf, size_t nbytes)
>      errno = EBADF;
>      return -1;
>  }
> +EXPORT_SYMBOL(write);
>  
>  off_t lseek_default(struct file *file, off_t offset, int whence)
>  {
> @@ -510,11 +533,14 @@ off_t lseek(int fd, off_t offset, int whence)
>      errno = ESPIPE;
>      return (off_t) -1;
>  }
> +EXPORT_SYMBOL(lseek);
> +EXPORT_SYMBOL(lseek64);
>  
>  int fsync(int fd) {
>      errno = EBADF;
>      return -1;
>  }
> +EXPORT_SYMBOL(fsync);
>  
>  int close(int fd)
>  {
> @@ -542,6 +568,7 @@ int close(int fd)
>      errno = EBADF;
>      return -1;
>  }
> +EXPORT_SYMBOL(close);
>  
>  static void init_stat(struct stat *buf)
>  {
> @@ -559,6 +586,7 @@ int stat(const char *path, struct stat *buf)
>      errno = EIO;
>      return -1;
>  }
> +EXPORT_SYMBOL(stat);
>  
>  int fstat(int fd, struct stat *buf)
>  {
> @@ -579,28 +607,34 @@ int fstat(int fd, struct stat *buf)
>      errno = EBADF;
>      return -1;
>  }
> +EXPORT_SYMBOL(fstat);
> +EXPORT_SYMBOL(fstat64);
>  
>  int ftruncate(int fd, off_t length)
>  {
>      errno = EBADF;
>      return -1;
>  }
> +EXPORT_SYMBOL(ftruncate);
>  
>  int remove(const char *pathname)
>  {
>      errno = EIO;
>      return -1;
>  }
> +EXPORT_SYMBOL(remove);
>  
>  int unlink(const char *pathname)
>  {
>      return remove(pathname);
>  }
> +EXPORT_SYMBOL(unlink);
>  
>  int rmdir(const char *pathname)
>  {
>      return remove(pathname);
>  }
> +EXPORT_SYMBOL(rmdir);
>  
>  int fcntl(int fd, int cmd, ...)
>  {
> @@ -635,6 +669,7 @@ int fcntl(int fd, int cmd, ...)
>      errno = ENOSYS;
>      return -1;
>  }
> +EXPORT_SYMBOL(fcntl);
>  
>  DIR *opendir(const char *name)
>  {
> @@ -648,11 +683,13 @@ DIR *opendir(const char *name)
>      ret->has_more = 1;
>      return ret;
>  }
> +EXPORT_SYMBOL(opendir);
>  
>  struct dirent *readdir(DIR *dir)
>  {
>      return NULL;
>  } 
> +EXPORT_SYMBOL(readdir);
>  
>  int closedir(DIR *dir)
>  {
> @@ -664,6 +701,7 @@ int closedir(DIR *dir)
>      free(dir);
>      return 0;
>  }
> +EXPORT_SYMBOL(closedir);
>  
>  /* We assume that only the main thread calls select(). */
>  
> @@ -732,6 +770,7 @@ bool select_read_flag(struct file *file)
>  {
>      return file->read;
>  }
> +EXPORT_SYMBOL(select_read_flag);
>  
>  /* Just poll without blocking */
>  static int select_poll(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds)
> @@ -1044,6 +1083,7 @@ out:
>      remove_waiter(console_w, console_queue);
>      return ret;
>  }
> +EXPORT_SYMBOL(select);
>  
>  /* Wrap around select */
>  int poll(struct pollfd _pfd[], nfds_t _nfds, int _timeout)
> @@ -1136,6 +1176,7 @@ int poll(struct pollfd _pfd[], nfds_t _nfds, int _timeout)
>  
>      return n;
>  }
> +EXPORT_SYMBOL(poll);
>  
>  #ifdef HAVE_LWIP
>  int socket(int domain, int type, int protocol)
> @@ -1149,6 +1190,7 @@ int socket(int domain, int type, int protocol)
>      files[res].fd = fd;
>      return res;
>  }
> +EXPORT_SYMBOL(socket);
>  
>  int accept(int s, struct sockaddr *addr, socklen_t *addrlen)
>  {
> @@ -1166,6 +1208,7 @@ int accept(int s, struct sockaddr *addr, socklen_t *addrlen)
>      printk("accepted on %d -> %d\n", s, res);
>      return res;
>  }
> +EXPORT_SYMBOL(accept);
>  
>  #define LWIP_STUB(ret, name, proto, args) \
>  ret name proto \
> @@ -1180,15 +1223,25 @@ ret name proto \
>  }
>  
>  LWIP_STUB(int, bind, (int s, struct sockaddr *my_addr, socklen_t addrlen), (s, my_addr, addrlen))
> +EXPORT_SYMBOL(bind);
>  LWIP_STUB(int, getsockopt, (int s, int level, int optname, void *optval, socklen_t *optlen), (s, level, optname, optval, optlen))
> +EXPORT_SYMBOL(getsockopt);
>  LWIP_STUB(int, setsockopt, (int s, int level, int optname, void *optval, socklen_t optlen), (s, level, optname, optval, optlen))
> +EXPORT_SYMBOL(setsockopt);
>  LWIP_STUB(int, connect, (int s, struct sockaddr *serv_addr, socklen_t addrlen), (s, serv_addr, addrlen))
> +EXPORT_SYMBOL(connect);
>  LWIP_STUB(int, listen, (int s, int backlog), (s, backlog));
> +EXPORT_SYMBOL(listen);
>  LWIP_STUB(ssize_t, recv, (int s, void *buf, size_t len, int flags), (s, buf, len, flags))
> +EXPORT_SYMBOL(recv);
>  LWIP_STUB(ssize_t, recvfrom, (int s, void *buf, size_t len, int flags, struct sockaddr *from, socklen_t *fromlen), (s, buf, len, flags, from, fromlen))
> +EXPORT_SYMBOL(recvfrom);
>  LWIP_STUB(ssize_t, send, (int s, void *buf, size_t len, int flags), (s, buf, len, flags))
> +EXPORT_SYMBOL(send);
>  LWIP_STUB(ssize_t, sendto, (int s, void *buf, size_t len, int flags, struct sockaddr *to, socklen_t tolen), (s, buf, len, flags, to, tolen))
> +EXPORT_SYMBOL(sendto);
>  LWIP_STUB(int, getsockname, (int s, struct sockaddr *name, socklen_t *namelen), (s, name, namelen))
> +EXPORT_SYMBOL(getsockname);
>  #endif
>  
>  static char *syslog_ident;
> @@ -1197,12 +1250,14 @@ void openlog(const char *ident, int option, int facility)
>      free(syslog_ident);
>      syslog_ident = strdup(ident);
>  }
> +EXPORT_SYMBOL(openlog);
>  
>  void vsyslog(int priority, const char *format, va_list ap)
>  {
>      printk("%s: ", syslog_ident);
>      print(0, format, ap);
>  }
> +EXPORT_SYMBOL(vsyslog);
>  
>  void syslog(int priority, const char *format, ...)
>  {
> @@ -1211,12 +1266,14 @@ void syslog(int priority, const char *format, ...)
>      vsyslog(priority, format, ap);
>      va_end(ap);
>  }
> +EXPORT_SYMBOL(syslog);
>  
>  void closelog(void)
>  {
>      free(syslog_ident);
>      syslog_ident = NULL;
>  }
> +EXPORT_SYMBOL(closelog);
>  
>  void vwarn(const char *format, va_list ap)
>  {
> @@ -1228,6 +1285,7 @@ void vwarn(const char *format, va_list ap)
>      }
>      printk("%s", strerror(the_errno));
>  }
> +EXPORT_SYMBOL(vwarn);
>  
>  void warn(const char *format, ...)
>  {
> @@ -1236,12 +1294,14 @@ void warn(const char *format, ...)
>      vwarn(format, ap);
>      va_end(ap);
>  }
> +EXPORT_SYMBOL(warn);
>  
>  void verr(int eval, const char *format, va_list ap)
>  {
>      vwarn(format, ap);
>      exit(eval);
>  }
> +EXPORT_SYMBOL(verr);
>  
>  void err(int eval, const char *format, ...)
>  {
> @@ -1250,6 +1310,7 @@ void err(int eval, const char *format, ...)
>      verr(eval, format, ap);
>      va_end(ap);
>  }
> +EXPORT_SYMBOL(err);
>  
>  void vwarnx(const char *format, va_list ap)
>  {
> @@ -1257,6 +1318,7 @@ void vwarnx(const char *format, va_list ap)
>      if (format)
>          print(0, format, ap);
>  }
> +EXPORT_SYMBOL(vwarnx);
>  
>  void warnx(const char *format, ...)
>  {
> @@ -1265,12 +1327,14 @@ void warnx(const char *format, ...)
>      vwarnx(format, ap);
>      va_end(ap);
>  }
> +EXPORT_SYMBOL(warnx);
>  
>  void verrx(int eval, const char *format, va_list ap)
>  {
>      vwarnx(format, ap);
>      exit(eval);
>  }
> +EXPORT_SYMBOL(verrx);
>  
>  void errx(int eval, const char *format, ...)
>  {
> @@ -1279,6 +1343,7 @@ void errx(int eval, const char *format, ...)
>      verrx(eval, format, ap);
>      va_end(ap);
>  }
> +EXPORT_SYMBOL(errx);
>  
>  int nanosleep(const struct timespec *req, struct timespec *rem)
>  {
> @@ -1304,6 +1369,7 @@ int nanosleep(const struct timespec *req, struct timespec *rem)
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(nanosleep);
>  
>  int usleep(useconds_t usec)
>  {
> @@ -1317,6 +1383,7 @@ int usleep(useconds_t usec)
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(usleep);
>  
>  unsigned int sleep(unsigned int seconds)
>  {
> @@ -1332,6 +1399,7 @@ unsigned int sleep(unsigned int seconds)
>  
>      return rem.tv_sec;
>  }
> +EXPORT_SYMBOL(sleep);
>  
>  int clock_gettime(clockid_t clk_id, struct timespec *tp)
>  {
> @@ -1364,37 +1432,44 @@ int clock_gettime(clockid_t clk_id, struct timespec *tp)
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(clock_gettime);
>  
>  uid_t getuid(void)
>  {
>  	return 0;
>  }
> +EXPORT_SYMBOL(getuid);
>  
>  uid_t geteuid(void)
>  {
>  	return 0;
>  }
> +EXPORT_SYMBOL(geteuid);
>  
>  gid_t getgid(void)
>  {
>  	return 0;
>  }
> +EXPORT_SYMBOL(getgid);
>  
>  gid_t getegid(void)
>  {
>  	return 0;
>  }
> +EXPORT_SYMBOL(getegid);
>  
>  int gethostname(char *name, size_t namelen)
>  {
>  	strncpy(name, "mini-os", namelen);
>  	return 0;
>  }
> +EXPORT_SYMBOL(gethostname);
>  
>  size_t getpagesize(void)
>  {
>      return PAGE_SIZE;
>  }
> +EXPORT_SYMBOL(getpagesize);
>  
>  void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset)
>  {
> @@ -1412,6 +1487,8 @@ void *mmap(void *start, size_t length, int prot, int flags, int fd, off_t offset
>          return map_frames_ex(&first_mfn, n, 0, 1, 1, DOMID_IO, NULL, _PAGE_PRESENT|_PAGE_RW);
>      } else ASSERT(0);
>  }
> +EXPORT_SYMBOL(mmap);
> +EXPORT_SYMBOL(mmap64);
>  
>  int munmap(void *start, size_t length)
>  {
> @@ -1425,6 +1502,7 @@ int munmap(void *start, size_t length)
>      }
>      return 0;
>  }
> +EXPORT_SYMBOL(munmap);
>  
>  void sparse(unsigned long data, size_t size)
>  {
> @@ -1465,6 +1543,7 @@ int nice(int inc)
>      printk("nice() stub called with inc=%d\n", inc);
>      return 0;
>  }
> +EXPORT_SYMBOL(nice);
>  
>  /* Limited termios terminal settings support */
>  const struct termios default_termios = {0,             /* iflag */
> @@ -1512,6 +1591,7 @@ int tcsetattr(int fildes, int action, const struct termios *tios)
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(tcsetattr);
>  
>  int tcgetattr(int fildes, struct termios *tios)
>  {
> @@ -1545,6 +1625,7 @@ int tcgetattr(int fildes, struct termios *tios)
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(tcgetattr);
>  
>  void cfmakeraw(struct termios *tios)
>  {
> @@ -1555,6 +1636,7 @@ void cfmakeraw(struct termios *tios)
>      tios->c_cflag &= ~(CSIZE | PARENB);
>      tios->c_cflag |= CS8;
>  }
> +EXPORT_SYMBOL(cfmakeraw);
>  
>  /* Not supported by FS yet.  */
>  unsupported_function_crash(link);
> @@ -1659,8 +1741,8 @@ unsupported_function_log(int, ftruncate64, -1);
>  unsupported_function_log(int, fchown, -1);
>  unsupported_function_log(int, fchmod, -1);
>  unsupported_function_crash(execvp);
> -unsupported_function_log(int, dup, -1)
> -unsupported_function_log(int, chroot, -1)
> +unsupported_function_log(int, dup, -1);
> +unsupported_function_log(int, chroot, -1);
>  unsupported_function_log(int, chown, -1);
>  unsupported_function_log(int, chmod, -1);
>  unsupported_function_crash(alarm);
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:00:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:00:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642474.1001953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hmZ-0001GY-Uj; Mon, 27 Nov 2023 20:00:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642474.1001953; Mon, 27 Nov 2023 20: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 1r7hmZ-0001GQ-SA; Mon, 27 Nov 2023 20:00:39 +0000
Received: by outflank-mailman (input) for mailman id 642474;
 Mon, 27 Nov 2023 20:00: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hmY-0001F2-Mv
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:00:38 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a236a44c-8d5f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 21:00:38 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id AF9B520103;
 Mon, 27 Nov 2023 21:00:37 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id gz6bX0nBahxl; Mon, 27 Nov 2023 21:00:37 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 9856220101;
 Mon, 27 Nov 2023 21:00:37 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hmX-00000005ckq-1a3W; Mon, 27 Nov 2023 21:00:37 +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: a236a44c-8d5f-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 21:00:37 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 08/32] Mini-OS: add EXPORT_SYMBOL() instances to
 lib/string.c
Message-ID: <20231127200037.zt563kttl2eltws3@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-9-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-9-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:24:59 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to lib/string.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  lib/string.c | 18 ++++++++++++++++++
>  1 file changed, 18 insertions(+)
> 
> diff --git a/lib/string.c b/lib/string.c
> index 8b241464..b0b628c6 100644
> --- a/lib/string.c
> +++ b/lib/string.c
> @@ -19,6 +19,7 @@
>   */
>  
>  #include <strings.h>
> +#include <mini-os/export.h>
>  
>  /* newlib defines ffs but not ffsll or ffsl */
>  int __ffsti2 (long long int lli)
> @@ -49,11 +50,13 @@ int ffsl (long int li)
>  {
>      return __ffsti2 ((long long int) li);
>  }
> +EXPORT_SYMBOL(ffsl);
>  
>  int ffsll (long long int lli)
>  {
>      return __ffsti2 (lli);
>  }
> +EXPORT_SYMBOL(ffsll);
>  
>  #if !defined HAVE_LIBC
>  
> @@ -72,6 +75,7 @@ int memcmp(const void * cs,const void * ct,size_t count)
>  			break;
>  	return res;
>  }
> +EXPORT_SYMBOL(memcmp);
>  
>  void * memcpy(void * dest,const void *src,size_t count)
>  {
> @@ -83,6 +87,7 @@ void * memcpy(void * dest,const void *src,size_t count)
>  
>  	return dest;
>  }
> +EXPORT_SYMBOL(memcpy);
>  
>  int strncmp(const char * cs,const char * ct,size_t count)
>  {
> @@ -96,6 +101,7 @@ int strncmp(const char * cs,const char * ct,size_t count)
>  
>  	return __res;
>  }
> +EXPORT_SYMBOL(strncmp);
>  
>  int strcmp(const char * cs,const char * ct)
>  {
> @@ -108,6 +114,7 @@ int strcmp(const char * cs,const char * ct)
>  
>          return __res;
>  }
> +EXPORT_SYMBOL(strcmp);
>  
>  char * strcpy(char * dest,const char *src)
>  {
> @@ -117,6 +124,7 @@ char * strcpy(char * dest,const char *src)
>                  /* nothing */;
>          return tmp;
>  }
> +EXPORT_SYMBOL(strcpy);
>  
>  char * strncpy(char * dest,const char *src,size_t count)
>  {
> @@ -127,6 +135,7 @@ char * strncpy(char * dest,const char *src,size_t count)
>  
>          return tmp;
>  }
> +EXPORT_SYMBOL(strncpy);
>  
>  void * memset(void * s,int c,size_t count)
>  {
> @@ -137,6 +146,7 @@ void * memset(void * s,int c,size_t count)
>  
>          return s;
>  }
> +EXPORT_SYMBOL(memset);
>  
>  size_t strnlen(const char * s, size_t count)
>  {
> @@ -146,6 +156,7 @@ size_t strnlen(const char * s, size_t count)
>                  /* nothing */;
>          return sc - s;
>  }
> +EXPORT_SYMBOL(strnlen);
>  
>  
>  char * strcat(char * dest, const char * src)
> @@ -159,6 +170,7 @@ char * strcat(char * dest, const char * src)
>      
>      return tmp;
>  }
> +EXPORT_SYMBOL(strcat);
>  
>  size_t strlen(const char * s)
>  {
> @@ -168,6 +180,7 @@ size_t strlen(const char * s)
>  		/* nothing */;
>  	return sc - s;
>  }
> +EXPORT_SYMBOL(strlen);
>  
>  char * strchr(const char * s, int c)
>  {
> @@ -176,6 +189,7 @@ char * strchr(const char * s, int c)
>                          return NULL;
>          return (char *)s;
>  }
> +EXPORT_SYMBOL(strchr);
>  
>  char * strrchr(const char * s, int c)
>  {
> @@ -185,6 +199,7 @@ char * strrchr(const char * s, int c)
>                          res = s;
>          return (char *)res;
>  }
> +EXPORT_SYMBOL(strrchr);
>  
>  char * strstr(const char * s1,const char * s2)
>  {
> @@ -202,6 +217,7 @@ char * strstr(const char * s1,const char * s2)
>          }
>          return NULL;
>  }
> +EXPORT_SYMBOL(strstr);
>  
>  char *strdup(const char *x)
>  {
> @@ -211,6 +227,7 @@ char *strdup(const char *x)
>      memcpy(res, x, l + 1);
>      return res;
>  }
> +EXPORT_SYMBOL(strdup);
>  
>  int ffs(int i)
>  {
> @@ -224,5 +241,6 @@ int ffs(int i)
>     } while (i);
>     return 0;
>  }
> +EXPORT_SYMBOL(ffs);
>  
>  #endif
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:00:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:00:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642479.1001969 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hmi-0001i0-A4; Mon, 27 Nov 2023 20:00:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642479.1001969; Mon, 27 Nov 2023 20:00: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 1r7hmi-0001hm-6A; Mon, 27 Nov 2023 20:00:48 +0000
Received: by outflank-mailman (input) for mailman id 642479;
 Mon, 27 Nov 2023 20:00: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hmh-0001F2-Cj
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:00:47 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a74bea20-8d5f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 21:00:46 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 3D50720103;
 Mon, 27 Nov 2023 21:00:46 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id Ex_sFNYH70mL; Mon, 27 Nov 2023 21:00:46 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 2507D20101;
 Mon, 27 Nov 2023 21:00:46 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hmf-00000005cl5-3hAo; Mon, 27 Nov 2023 21:00:45 +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: a74bea20-8d5f-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 21:00:45 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 09/32] Mini-OS: add EXPORT_SYMBOL() instances to
 lib/math.c
Message-ID: <20231127200045.l6afamiqx3l4z4hd@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-10-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-10-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:00 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to lib/math.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  lib/math.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/lib/math.c b/lib/math.c
> index b98cc1d2..9ee9fcdb 100644
> --- a/lib/math.c
> +++ b/lib/math.c
> @@ -338,6 +338,7 @@ __qdivrem(u_quad_t uq, u_quad_t vq, u_quad_t *arq)
>  	tmp.ul[L] = COMBINE(qspace[3], qspace[4]);
>  	return (tmp.q);
>  }
> +EXPORT_SYMBOL(__qdivrem);
>  
>  /*
>   * From
> @@ -365,6 +366,7 @@ __divdi3(quad_t a, quad_t b)
>  	uq = __qdivrem(ua, ub, (u_quad_t *)0);
>  	return (neg ? -uq : uq);
>  }
> +EXPORT_SYMBOL(__divdi3);
>  
>  /*
>   * From
> @@ -379,6 +381,7 @@ __udivdi3(u_quad_t a, u_quad_t b)
>  {
>  	return (__qdivrem(a, b, (u_quad_t *)0));
>  }
> +EXPORT_SYMBOL(__udivdi3);
>  
>  /*
>   * From
> @@ -396,6 +399,7 @@ __umoddi3(u_quad_t a, u_quad_t b)
>  	(void)__qdivrem(a, b, &r);
>  	return (r);
>  }
> +EXPORT_SYMBOL(__umoddi3);
>  
>  /*
>   * Returns the quotient and places remainder in r
> @@ -405,6 +409,7 @@ __udivmoddi4(u_quad_t a, u_quad_t b, u_quad_t *r)
>  {
>  	return __qdivrem(a, b, r);
>  }
> +EXPORT_SYMBOL(__udivmoddi4);
>  
>  /*
>   * From
> @@ -434,3 +439,4 @@ __moddi3(quad_t a, quad_t b)
>  	(void)__qdivrem(ua, ub, &ur);
>  	return (neg ? -ur : ur);
>  }
> +EXPORT_SYMBOL(__moddi3);
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:01:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:01:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642490.1001985 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hmw-0002Of-L6; Mon, 27 Nov 2023 20:01:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642490.1001985; Mon, 27 Nov 2023 20:01: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 1r7hmw-0002OU-Hf; Mon, 27 Nov 2023 20:01:02 +0000
Received: by outflank-mailman (input) for mailman id 642490;
 Mon, 27 Nov 2023 20:01: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hmu-0000uA-VS
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:01:00 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id adbfbbd9-8d5f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:00:57 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 10D4620103;
 Mon, 27 Nov 2023 21:00:57 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id VL0c6YHIXZ3W; Mon, 27 Nov 2023 21:00:56 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id EC88D20101;
 Mon, 27 Nov 2023 21:00:56 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hmq-00000005clL-2z0A; Mon, 27 Nov 2023 21:00:56 +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: adbfbbd9-8d5f-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:00:56 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 10/32] Mini-OS: add EXPORT_SYMBOL() instances to
 lib/printf.c
Message-ID: <20231127200056.ycn6epvt376zj3cp@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-11-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-11-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:01 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to lib/printf.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  lib/printf.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/printf.c b/lib/printf.c
> index f9e9d682..0e054957 100644
> --- a/lib/printf.c
> +++ b/lib/printf.c
> @@ -150,6 +150,7 @@ strtoul(const char *nptr, char **endptr, int base)
>                  *endptr = __DECONST(char *, any ? s - 1 : nptr);
>          return (acc);
>  }
> +EXPORT_SYMBOL(strtoul);
>  
>  /*
>   * Convert a string to a quad integer.
> @@ -241,6 +242,7 @@ strtoq(const char *nptr, char **endptr, int base)
>                  *endptr = __DECONST(char *, any ? s - 1 : nptr);
>          return (acc);
>  }
> +EXPORT_SYMBOL(strtoq);
>  
>  /*
>   * Convert a string to an unsigned quad integer.
> @@ -309,6 +311,7 @@ strtouq(const char *nptr, char **endptr, int base)
>                  *endptr = __DECONST(char *, any ? s - 1 : nptr);
>          return (acc);
>  }
> +EXPORT_SYMBOL(strtouq);
>  
>  /*
>   * Scaled down version of printf(3).
> @@ -585,6 +588,7 @@ number:
>          }
>  #undef PCHAR
>  }
> +EXPORT_SYMBOL(vsnprintf);
>  
>  /**
>   * snprintf - Format a string and place it in a buffer
> @@ -603,6 +607,7 @@ int snprintf(char * buf, size_t size, const char *fmt, ...)
>      va_end(args);
>      return i;
>  }
> +EXPORT_SYMBOL(snprintf);
>  
>  /**
>   * vsprintf - Format a string and place it in a buffer
> @@ -617,7 +622,7 @@ int vsprintf(char *buf, const char *fmt, va_list args)
>  {
>      return vsnprintf(buf, 0xFFFFFFFFUL, fmt, args);
>  }
> -
> +EXPORT_SYMBOL(vsprintf);
>  
>  /**
>   * sprintf - Format a string and place it in a buffer
> @@ -635,6 +640,7 @@ int sprintf(char * buf, const char *fmt, ...)
>      va_end(args);
>      return i;
>  }
> +EXPORT_SYMBOL(sprintf);
>  
>  /*
>   * Fill in the given table from the scanset at the given format
> @@ -1214,6 +1220,7 @@ input_failure:
>  match_failure:
>          return (nassigned);
>  }
> +EXPORT_SYMBOL(vsscanf);
>  
>  /**
>   * sscanf - Unformat a buffer into a list of arguments
> @@ -1231,5 +1238,6 @@ int sscanf(const char * buf, const char * fmt, ...)
>  	va_end(args);
>  	return i;
>  }
> +EXPORT_SYMBOL(sscanf);
>  
>  #endif
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:01:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:01:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642493.1001995 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hn9-0002xV-22; Mon, 27 Nov 2023 20:01:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642493.1001995; Mon, 27 Nov 2023 20:01: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 1r7hn8-0002xO-Tj; Mon, 27 Nov 2023 20:01:14 +0000
Received: by outflank-mailman (input) for mailman id 642493;
 Mon, 27 Nov 2023 20:01: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hn7-0000uA-As
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:01:13 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b5c39b73-8d5f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:01:10 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 7C91120103;
 Mon, 27 Nov 2023 21:01:10 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id K-OKW63BGZvO; Mon, 27 Nov 2023 21:01:10 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 655EC20101;
 Mon, 27 Nov 2023 21:01:10 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hn4-00000005cln-0hZf; Mon, 27 Nov 2023 21:01:10 +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: b5c39b73-8d5f-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:01:10 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 12/32] Mini-OS: add EXPORT_SYMBOL() instances to
 lib/xmalloc.c
Message-ID: <20231127200110.qrz4jbdupe6hn7os@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-13-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-13-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:03 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to lib/xmalloc.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  lib/xmalloc.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/lib/xmalloc.c b/lib/xmalloc.c
> index e16f161a..cc5db11e 100644
> --- a/lib/xmalloc.c
> +++ b/lib/xmalloc.c
> @@ -271,6 +271,7 @@ void *malloc(size_t size)
>  {
>      return _xmalloc(size, DEFAULT_ALIGN);
>  }
> +EXPORT_SYMBOL(malloc);
>  
>  void *realloc(void *ptr, size_t size)
>  {
> @@ -301,11 +302,13 @@ void *realloc(void *ptr, size_t size)
>  
>      return new;
>  }
> +EXPORT_SYMBOL(realloc);
>  
>  void free(void *ptr)
>  {
>      xfree(ptr);
>  }
> +EXPORT_SYMBOL(free);
>  #endif
>  
>  /*
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:01:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:01:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642500.1002012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hnp-0003yK-DT; Mon, 27 Nov 2023 20:01:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642500.1002012; Mon, 27 Nov 2023 20:01: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 1r7hnp-0003yD-Az; Mon, 27 Nov 2023 20:01:57 +0000
Received: by outflank-mailman (input) for mailman id 642500;
 Mon, 27 Nov 2023 20: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hno-0003w3-95
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:01:56 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cfafaa4f-8d5f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 21:01:54 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 0203A20103;
 Mon, 27 Nov 2023 21:01:54 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 3Hz5THvXQPeR; Mon, 27 Nov 2023 21:01:53 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id D9B5420101;
 Mon, 27 Nov 2023 21:01:53 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hnl-00000005cn2-2MpD; Mon, 27 Nov 2023 21:01:53 +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: cfafaa4f-8d5f-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 21:01:53 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 17/32] Mini-OS: add EXPORT_SYMBOL() instances to
 gntmap.c
Message-ID: <20231127200153.pd4igzv4npr7zwvd@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-18-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-18-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:08 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to gntmap.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  gntmap.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/gntmap.c b/gntmap.c
> index 3422ab23..5f57d6b3 100644
> --- a/gntmap.c
> +++ b/gntmap.c
> @@ -106,6 +106,7 @@ gntmap_set_max_grants(struct gntmap *map, int count)
>      map->nentries = count;
>      return 0;
>  }
> +EXPORT_SYMBOL(gntmap_set_max_grants);
>  
>  static int
>  _gntmap_unmap_grant_ref(struct gntmap *map, int idx)
> @@ -209,6 +210,7 @@ gntmap_munmap(struct gntmap *map, unsigned long start_address, int count)
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(gntmap_munmap);
>  
>  void*
>  gntmap_map_grant_refs(struct gntmap *map, 
> @@ -251,6 +253,7 @@ gntmap_map_grant_refs(struct gntmap *map,
>  
>      return (void*) addr;
>  }
> +EXPORT_SYMBOL(gntmap_map_grant_refs);
>  
>  void
>  gntmap_init(struct gntmap *map)
> @@ -259,6 +262,7 @@ gntmap_init(struct gntmap *map)
>      map->nentries = 0;
>      map->entries = NULL;
>  }
> +EXPORT_SYMBOL(gntmap_init);
>  
>  void
>  gntmap_fini(struct gntmap *map)
> @@ -281,3 +285,4 @@ gntmap_fini(struct gntmap *map)
>      map->entries = NULL;
>      map->nentries = 0;
>  }
> +EXPORT_SYMBOL(gntmap_fini);
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:02:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:02:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642502.1002027 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hnw-0004Ka-Na; Mon, 27 Nov 2023 20:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642502.1002027; Mon, 27 Nov 2023 20: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 1r7hnw-0004KN-Ko; Mon, 27 Nov 2023 20:02:04 +0000
Received: by outflank-mailman (input) for mailman id 642502;
 Mon, 27 Nov 2023 20: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hnv-0003w3-9r
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:02:03 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d418af3f-8d5f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 21:02:01 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 53C8F20103;
 Mon, 27 Nov 2023 21:02:01 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id GuFf9kTSR_fs; Mon, 27 Nov 2023 21:02:01 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 385D420101;
 Mon, 27 Nov 2023 21:02:01 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hns-00000005cnJ-3lGx; Mon, 27 Nov 2023 21:02:00 +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: d418af3f-8d5f-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 21:02:00 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 18/32] Mini-OS: add EXPORT_SYMBOL() instances to
 gnttab.c
Message-ID: <20231127200200.342i3nlihewlgkcr@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-19-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-19-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:09 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to gnttab.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  gnttab.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/gnttab.c b/gnttab.c
> index 6978a9bc..8168ed5d 100644
> --- a/gnttab.c
> +++ b/gnttab.c
> @@ -80,6 +80,7 @@ gnttab_grant_access(domid_t domid, unsigned long frame, int readonly)
>  
>      return ref;
>  }
> +EXPORT_SYMBOL(gnttab_grant_access);
>  
>  grant_ref_t
>  gnttab_grant_transfer(domid_t domid, unsigned long pfn)
> @@ -94,6 +95,7 @@ gnttab_grant_transfer(domid_t domid, unsigned long pfn)
>  
>      return ref;
>  }
> +EXPORT_SYMBOL(gnttab_grant_transfer);
>  
>  int
>  gnttab_end_access(grant_ref_t ref)
> @@ -114,6 +116,7 @@ gnttab_end_access(grant_ref_t ref)
>      put_free_entry(ref);
>      return 1;
>  }
> +EXPORT_SYMBOL(gnttab_end_access);
>  
>  unsigned long
>  gnttab_end_transfer(grant_ref_t ref)
> @@ -144,6 +147,7 @@ gnttab_end_transfer(grant_ref_t ref)
>  
>      return frame;
>  }
> +EXPORT_SYMBOL(gnttab_end_transfer);
>  
>  grant_ref_t
>  gnttab_alloc_and_grant(void **map)
> @@ -156,6 +160,7 @@ gnttab_alloc_and_grant(void **map)
>      gref = gnttab_grant_access(0, mfn, 0);
>      return gref;
>  }
> +EXPORT_SYMBOL(gnttab_alloc_and_grant);
>  
>  static const char * const gnttabop_error_msgs[] = GNTTABOP_error_msgs;
>  
> @@ -168,6 +173,7 @@ gnttabop_error(int16_t status)
>      else
>          return gnttabop_error_msgs[status];
>  }
> +EXPORT_SYMBOL(gnttabop_error);
>  
>  void
>  init_gnttab(void)
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:04:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:04:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642510.1002037 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hpz-0005IQ-2u; Mon, 27 Nov 2023 20:04:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642510.1002037; Mon, 27 Nov 2023 20:04: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 1r7hpy-0005IJ-Vt; Mon, 27 Nov 2023 20:04:10 +0000
Received: by outflank-mailman (input) for mailman id 642510;
 Mon, 27 Nov 2023 20:04: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=GbWF=HI=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1r7hpw-0005GB-VH
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:04:09 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1d1cb228-8d60-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:04:07 +0100 (CET)
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 1r7hp0-00BhJQ-Ds; Mon, 27 Nov 2023 20:03:10 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
 id B60BD3002F1; Mon, 27 Nov 2023 21:03:08 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1d1cb228-8d60-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=HKdTKht77swWp6IqbMhOYILRR0g0Evek+a+XDBEGFI4=; b=VlhbNNJtOQjRl9xNXhif3pyBI3
	Yp697PDT+1EY5w8uqPMVRgSViNRDlwsEBioaXw3hqY3eTB8lhCbqt0zd3cnGZiqHwqP840guPwjV2
	oriE6LXZ82ilVLw6slHwTwphcRMD/0Nd1NsiEuOe9r4lBzOcT6SSF2nX3osd+EUhPcnLH6Ranfo9H
	Bv1hzhp/gFFn6ry0jRZXH/H0Gc8LitSNJ60ue7C967EBwiz7XA/OdUI9oaNSFUlcKQNcT7WMTubkf
	R85oEhWPha2wXYJ4yiCw7hSoq1yPIGJKgfABhWmW6p9IKG8obBpzJRziZFbyBKuL64aiz/cSiRsQN
	YX0jqE5A==;
Date: Mon, 27 Nov 2023 21:03:08 +0100
From: Peter Zijlstra <peterz@infradead.org>
To: "Madhavan T. Venkataraman" <madvenka@linux.microsoft.com>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	Mihai =?utf-8?B?RG9uyJt1?= <mdontu@bitdefender.com>,
	=?utf-8?B?TmljdciZb3IgQ8OuyJt1?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>, Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?utf-8?Q?=C8=98tefan_=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org, kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
	x86@kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH v2 18/19] heki: x86: Protect guest kernel memory
 using the KVM hypervisor
Message-ID: <20231127200308.GY3818@noisy.programming.kicks-ass.net>
References: <20231113022326.24388-1-mic@digikod.net>
 <20231113022326.24388-19-mic@digikod.net>
 <20231113085403.GC16138@noisy.programming.kicks-ass.net>
 <b1dc0963-ab99-4a79-af19-ef5ed981fa60@linux.microsoft.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b1dc0963-ab99-4a79-af19-ef5ed981fa60@linux.microsoft.com>

On Mon, Nov 27, 2023 at 11:05:23AM -0600, Madhavan T. Venkataraman wrote:
> Apologies for the late reply. I was on vacation. Please see my response below:
> 
> On 11/13/23 02:54, Peter Zijlstra wrote:
> > On Sun, Nov 12, 2023 at 09:23:25PM -0500, Mickal Salan wrote:
> >> From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
> >>
> >> Implement a hypervisor function, kvm_protect_memory() that calls the
> >> KVM_HC_PROTECT_MEMORY hypercall to request the KVM hypervisor to
> >> set specified permissions on a list of guest pages.
> >>
> >> Using the protect_memory() function, set proper EPT permissions for all
> >> guest pages.
> >>
> >> Use the MEM_ATTR_IMMUTABLE property to protect the kernel static
> >> sections and the boot-time read-only sections. This enables to make sure
> >> a compromised guest will not be able to change its main physical memory
> >> page permissions. However, this also disable any feature that may change
> >> the kernel's text section (e.g., ftrace, Kprobes), but they can still be
> >> used on kernel modules.
> >>
> >> Module loading/unloading, and eBPF JIT is allowed without restrictions
> >> for now, but we'll need a way to authenticate these code changes to
> >> really improve the guests' security. We plan to use module signatures,
> >> but there is no solution yet to authenticate eBPF programs.
> >>
> >> Being able to use ftrace and Kprobes in a secure way is a challenge not
> >> solved yet. We're looking for ideas to make this work.
> >>
> >> Likewise, the JUMP_LABEL feature cannot work because the kernel's text
> >> section is read-only.
> > 
> > What is the actual problem? As is the kernel text map is already RO and
> > never changed.
> 
> For the JUMP_LABEL optimization, the text needs to be patched at some point.
> That patching requires a writable mapping of the text page at the time of
> patching.
> 
> In this Heki feature, we currently lock down the kernel text at the end of
> kernel boot just before kicking off the init process. The lockdown is
> implemented by setting the permissions of a text page to R_X in the extended
> page table and not allowing write permissions in the EPT after that. So, jump label
> patching during kernel boot is not a problem. But doing it after kernel
> boot is a problem.

But you see, that's exactly what the kernel already does with the normal
permissions. They get set to RX after init and are never changed.

See the previous patch, we establish a read-write alias and write there.

You seem to lack basic understanding of how the kernel works in this
regard, which makes me very nervous about you touching any of this.

I must also say I really dislike your extra/random permssion calls all
over the place. They don't really get us anything afaict. Why can't you
plumb into the existing set_memory_*() family?


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:05:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:05:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642517.1002051 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hrZ-0005xv-G3; Mon, 27 Nov 2023 20:05:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642517.1002051; Mon, 27 Nov 2023 20: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 1r7hrZ-0005xo-C6; Mon, 27 Nov 2023 20:05:49 +0000
Received: by outflank-mailman (input) for mailman id 642517;
 Mon, 27 Nov 2023 20:05: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hlB-0006PP-SN
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 19:59:13 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6f191a2e-8d5f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 20:59:12 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id EAA7320103;
 Mon, 27 Nov 2023 20:59:11 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id UeLgJbsOi0kf; Mon, 27 Nov 2023 20:59:11 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id D4C4220101;
 Mon, 27 Nov 2023 20:59:11 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hl9-00000005cjx-2Xrj; Mon, 27 Nov 2023 20:59:11 +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: 6f191a2e-8d5f-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 20:59:11 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 06/32] Mini-OS: add EXPORT_SYMBOL() instances to mm.c
Message-ID: <20231127195911.b34wjlq3hv5er76r@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-7-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-7-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:24:57 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to mm.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  arch/arm/mm.c | 2 ++
>  arch/x86/mm.c | 5 +++++
>  mm.c          | 4 ++++
>  3 files changed, 11 insertions(+)
> 
> diff --git a/arch/arm/mm.c b/arch/arm/mm.c
> index 11962f8b..c269ab14 100644
> --- a/arch/arm/mm.c
> +++ b/arch/arm/mm.c
> @@ -85,6 +85,7 @@ int do_map_frames(unsigned long addr,
>  {
>      return -ENOSYS;
>  }
> +EXPORT_SYMBOL(do_map_frames);
>  
>  /* Get Xen's suggested physical page assignments for the grant table. */
>  static paddr_t get_gnttab_base(void)
> @@ -149,3 +150,4 @@ unsigned long map_frame_virt(unsigned long mfn)
>  {
>      return mfn_to_virt(mfn);
>  }
> +EXPORT_SYMBOL(map_frame_virt);
> diff --git a/arch/x86/mm.c b/arch/x86/mm.c
> index cfc978f6..767a5f07 100644
> --- a/arch/x86/mm.c
> +++ b/arch/x86/mm.c
> @@ -493,6 +493,7 @@ pgentry_t *need_pgt(unsigned long va)
>      offset = l1_table_offset(va);
>      return &tab[offset];
>  }
> +EXPORT_SYMBOL(need_pgt);
>  
>  /*
>   * Reserve an area of virtual address space for mappings and Heap
> @@ -634,6 +635,7 @@ int do_map_frames(unsigned long va,
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(do_map_frames);
>  
>  /*
>   * Map an array of MFNs contiguous into virtual address space. Virtual
> @@ -654,6 +656,7 @@ void *map_frames_ex(const unsigned long *mfns, unsigned long n,
>  
>      return (void *)va;
>  }
> +EXPORT_SYMBOL(map_frames_ex);
>  
>  /*
>   * Unmap nun_frames frames mapped at virtual address va.
> @@ -724,6 +727,7 @@ int unmap_frames(unsigned long va, unsigned long num_frames)
>      }
>      return 0;
>  }
> +EXPORT_SYMBOL(unmap_frames);
>  
>  /*
>   * Clear some of the bootstrap memory
> @@ -859,3 +863,4 @@ unsigned long map_frame_virt(unsigned long mfn)
>  
>      return addr;
>  }
> +EXPORT_SYMBOL(map_frame_virt);
> diff --git a/mm.c b/mm.c
> index 6493bdd4..eb0e34de 100644
> --- a/mm.c
> +++ b/mm.c
> @@ -280,6 +280,7 @@ unsigned long alloc_pages(int order)
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(alloc_pages);
>  
>  void free_pages(void *pointer, int order)
>  {
> @@ -336,6 +337,7 @@ void free_pages(void *pointer, int order)
>      free_head[order] = freed_ch;   
>     
>  }
> +EXPORT_SYMBOL(free_pages);
>  
>  int free_physical_pages(xen_pfn_t *mfns, int n)
>  {
> @@ -352,6 +354,7 @@ int map_frame_rw(unsigned long addr, unsigned long mfn)
>  {
>      return do_map_frames(addr, &mfn, 1, 1, 1, DOMID_SELF, NULL, L1_PROT);
>  }
> +EXPORT_SYMBOL(map_frame_rw);
>  
>  #ifdef HAVE_LIBC
>  void *sbrk(ptrdiff_t increment)
> @@ -385,6 +388,7 @@ void *sbrk(ptrdiff_t increment)
>  
>      return (void *) old_brk;
>  }
> +EXPORT_SYMBOL(sbrk);
>  #endif
>  
>  
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:05:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:05:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642518.1002061 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hre-0006HF-NR; Mon, 27 Nov 2023 20:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642518.1002061; Mon, 27 Nov 2023 20: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 1r7hre-0006H8-Jx; Mon, 27 Nov 2023 20:05:54 +0000
Received: by outflank-mailman (input) for mailman id 642518;
 Mon, 27 Nov 2023 20:05: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hnW-0000uA-TF
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:01:38 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c45d686c-8d5f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:01:35 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 01FC720103;
 Mon, 27 Nov 2023 21:01:35 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id itFpVaeRajsE; Mon, 27 Nov 2023 21:01:34 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id DFB3F20101;
 Mon, 27 Nov 2023 21:01:34 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hnS-00000005cmZ-2ovf; Mon, 27 Nov 2023 21:01:34 +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: c45d686c-8d5f-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:01:34 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 15/32] Mini-OS: add EXPORT_SYMBOL() instances to
 console.c
Message-ID: <20231127200134.sbga2c2ovi7wlcus@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-16-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-16-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:06 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to console.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  console.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/console.c b/console.c
> index 5d205c7d..0107b685 100644
> --- a/console.c
> +++ b/console.c
> @@ -125,6 +125,7 @@ void console_print(struct consfront_dev *dev, const char *data, int length)
>  
>      ring_send_fn(dev, copied_ptr, length);
>  }
> +EXPORT_SYMBOL(console_print);
>  
>  void print(int direct, const char *fmt, va_list args)
>  {
> @@ -155,6 +156,7 @@ void printk(const char *fmt, ...)
>      print(0, fmt, args);
>      va_end(args);
>  }
> +EXPORT_SYMBOL(printk);
>  
>  void xprintk(const char *fmt, ...)
>  {
> @@ -164,6 +166,8 @@ void xprintk(const char *fmt, ...)
>      print(1, fmt, args);
>      va_end(args);
>  }
> +EXPORT_SYMBOL(xprintk);
> +
>  void init_console(void)
>  {
>      printk("Initialising console ... ");
> @@ -320,6 +324,7 @@ int xencons_ring_avail(struct consfront_dev *dev)
>  
>      return prod - cons;
>  }
> +EXPORT_SYMBOL(xencons_ring_avail);
>  
>  int xencons_ring_recv(struct consfront_dev *dev, char *data, unsigned int len)
>  {
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:06:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:06:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642524.1002070 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hrv-0006v7-2i; Mon, 27 Nov 2023 20:06:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642524.1002070; Mon, 27 Nov 2023 20:06: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 1r7hrv-0006uv-0B; Mon, 27 Nov 2023 20:06:11 +0000
Received: by outflank-mailman (input) for mailman id 642524;
 Mon, 27 Nov 2023 20:06: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hnN-0000uA-M6
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:01:29 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bf2c84bb-8d5f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:01:26 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 4944520103;
 Mon, 27 Nov 2023 21:01:26 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id WJKEbp4yhnCX; Mon, 27 Nov 2023 21:01:26 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 3008C20101;
 Mon, 27 Nov 2023 21:01:26 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hnJ-00000005cmG-3xbj; Mon, 27 Nov 2023 21:01:25 +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: bf2c84bb-8d5f-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:01:25 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 14/32] Mini-OS: add EXPORT_SYMBOL() instances to main.c
Message-ID: <20231127200125.bnwst2mvxqg6642h@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-15-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-15-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:05 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to main.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  main.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/main.c b/main.c
> index a93bc9d6..c5c1c420 100644
> --- a/main.c
> +++ b/main.c
> @@ -38,10 +38,12 @@ int main(int argc, char *argv[], char *envp[])
>  void _init(void)
>  {
>  }
> +EXPORT_SYMBOL(_init);
>  
>  void _fini(void)
>  {
>  }
> +EXPORT_SYMBOL(_fini);
>  
>  extern char __app_bss_start, __app_bss_end;
>  static void call_main(void *p)
> @@ -189,6 +191,7 @@ void _exit(int ret)
>      }
>      do_exit();
>  }
> +EXPORT_SYMBOL(_exit);
>  
>  int app_main(void *p)
>  {
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:06:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:06:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642526.1002080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hrv-0006zG-H9; Mon, 27 Nov 2023 20:06:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642526.1002080; Mon, 27 Nov 2023 20:06: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 1r7hrv-0006yc-Bl; Mon, 27 Nov 2023 20:06:11 +0000
Received: by outflank-mailman (input) for mailman id 642526;
 Mon, 27 Nov 2023 20:06: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hnf-0000uA-2F
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:01:47 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c9c5dac0-8d5f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:01:44 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 140A620103;
 Mon, 27 Nov 2023 21:01:44 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 0wHMu2_Vb9p8; Mon, 27 Nov 2023 21:01:43 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id EDB6920101;
 Mon, 27 Nov 2023 21:01:43 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hnb-00000005cmo-33Zw; Mon, 27 Nov 2023 21:01: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: c9c5dac0-8d5f-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:01:43 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 16/32] Mini-OS: add EXPORT_SYMBOL() instances to
 events.c
Message-ID: <20231127200143.yo5jbprsnyhbeurt@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-17-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-17-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:07 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to events.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  events.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/events.c b/events.c
> index 4683e8e1..9f3dbf05 100644
> --- a/events.c
> +++ b/events.c
> @@ -119,6 +119,7 @@ void unbind_evtchn(evtchn_port_t port )
>      if ( rc )
>          printk("WARN: close_port %d failed rc=%d. ignored\n", port, rc);
>  }
> +EXPORT_SYMBOL(unbind_evtchn);
>  
>  evtchn_port_t bind_virq(uint32_t virq, evtchn_handler_t handler, void *data)
>  {
> @@ -138,6 +139,7 @@ evtchn_port_t bind_virq(uint32_t virq, evtchn_handler_t handler, void *data)
>      bind_evtchn(op.port, handler, data);
>  	return op.port;
>  }
> +EXPORT_SYMBOL(bind_virq);
>  
>  evtchn_port_t bind_pirq(uint32_t pirq, int will_share,
>                          evtchn_handler_t handler, void *data)
> @@ -157,6 +159,7 @@ evtchn_port_t bind_pirq(uint32_t pirq, int will_share,
>  	bind_evtchn(op.port, handler, data);
>  	return op.port;
>  }
> +EXPORT_SYMBOL(bind_pirq);
>  
>  /*
>   * Initially all events are without a handler and disabled
> @@ -217,6 +220,7 @@ int evtchn_alloc_unbound(domid_t pal, evtchn_handler_t handler,
>      *port = bind_evtchn(op.port, handler, data);
>      return rc;
>  }
> +EXPORT_SYMBOL(evtchn_alloc_unbound);
>  
>  /* Connect to a port so as to allow the exchange of notifications with
>     the pal. Returns the result of the hypervisor call. */
> @@ -240,6 +244,7 @@ int evtchn_bind_interdomain(domid_t pal, evtchn_port_t remote_port,
>      *local_port = bind_evtchn(port, handler, data);
>      return rc;
>  }
> +EXPORT_SYMBOL(evtchn_bind_interdomain);
>  
>  int evtchn_get_peercontext(evtchn_port_t local_port, char *ctx, int size)
>  {
> @@ -260,6 +265,7 @@ int evtchn_get_peercontext(evtchn_port_t local_port, char *ctx, int size)
>      rc = HYPERVISOR_xsm_op(&op);
>      return rc;
>  }
> +EXPORT_SYMBOL(evtchn_get_peercontext);
>  
>  /* Replace below when a hypercall is available to get the domid. */
>  domid_t get_domid(void)
> @@ -294,6 +300,7 @@ domid_t get_domid(void)
>  
>      return domid;
>  }
> +EXPORT_SYMBOL(get_domid);
>  
>  /*
>   * Local variables:
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:06:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:06:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642533.1002095 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hrz-0007gE-UH; Mon, 27 Nov 2023 20:06:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642533.1002095; Mon, 27 Nov 2023 20:06: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 1r7hrz-0007fO-R7; Mon, 27 Nov 2023 20:06:15 +0000
Received: by outflank-mailman (input) for mailman id 642533;
 Mon, 27 Nov 2023 20:06: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hnH-0000uA-Gn
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:01:23 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bb2d8ada-8d5f-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:01:19 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 9137120103;
 Mon, 27 Nov 2023 21:01:19 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id OKZg4NF0gxqH; Mon, 27 Nov 2023 21:01:19 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 7A1CB20101;
 Mon, 27 Nov 2023 21:01:19 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hnD-00000005cm1-12b9; Mon, 27 Nov 2023 21:01:19 +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: bb2d8ada-8d5f-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:01:19 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 13/32] Mini-OS: add EXPORT_SYMBOL() instances to
 lib/xs.c
Message-ID: <20231127200119.n37jqabhpdvlgfy6@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-14-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-14-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:04 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to lib/xs.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  lib/xs.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/lib/xs.c b/lib/xs.c
> index 7fe9b03e..ff0768c1 100644
> --- a/lib/xs.c
> +++ b/lib/xs.c
> @@ -64,6 +64,7 @@ struct xs_handle *xs_daemon_open()
>      printk("xs_daemon_open -> %d, %p\n", fd, &file->dev);
>      return (void*)(intptr_t) fd;
>  }
> +EXPORT_SYMBOL(xs_daemon_open);
>  
>  void xs_daemon_close(struct xs_handle *h)
>  {
> @@ -74,6 +75,7 @@ int xs_fileno(struct xs_handle *h)
>  {
>      return _xs_fileno(h);
>  }
> +EXPORT_SYMBOL(xs_fileno);
>  
>  void *xs_read(struct xs_handle *h, xs_transaction_t t,
>  	     const char *path, unsigned int *len)
> @@ -92,6 +94,7 @@ void *xs_read(struct xs_handle *h, xs_transaction_t t,
>  	*len = strlen(value);
>      return value;
>  }
> +EXPORT_SYMBOL(xs_read);
>  
>  bool xs_write(struct xs_handle *h, xs_transaction_t t,
>  	      const char *path, const void *data, unsigned int len)
> @@ -110,6 +113,7 @@ bool xs_write(struct xs_handle *h, xs_transaction_t t,
>      }
>      return true;
>  }
> +EXPORT_SYMBOL(xs_write);
>  
>  static bool xs_bool(char *reply)
>  {
> @@ -123,6 +127,7 @@ bool xs_rm(struct xs_handle *h, xs_transaction_t t, const char *path)
>  {
>      return xs_bool(xenbus_rm(t, path));
>  }
> +EXPORT_SYMBOL(xs_rm);
>  
>  static void *xs_talkv(struct xs_handle *h, xs_transaction_t t,
>  		enum xsd_sockmsg_type type,
> @@ -163,6 +168,7 @@ char *xs_get_domain_path(struct xs_handle *h, unsigned int domid)
>  
>      return xs_single(h, XBT_NULL, XS_GET_DOMAIN_PATH, domid_str, NULL);
>  }
> +EXPORT_SYMBOL(xs_get_domain_path);
>  
>  char **xs_directory(struct xs_handle *h, xs_transaction_t t,
>  		    const char *path, unsigned int *num)
> @@ -199,6 +205,7 @@ char **xs_directory(struct xs_handle *h, xs_transaction_t t,
>      free(res);
>      return entries;
>  }
> +EXPORT_SYMBOL(xs_directory);
>  
>  bool xs_watch(struct xs_handle *h, const char *path, const char *token)
>  {
> @@ -208,6 +215,7 @@ bool xs_watch(struct xs_handle *h, const char *path, const char *token)
>      return xs_bool(xenbus_watch_path_token(XBT_NULL, path, token,
>                                             (xenbus_event_queue *)&file->dev));
>  }
> +EXPORT_SYMBOL(xs_watch);
>  
>  char **xs_read_watch(struct xs_handle *h, unsigned int *num)
>  {
> @@ -220,10 +228,12 @@ char **xs_read_watch(struct xs_handle *h, unsigned int *num)
>      *num = 2;
>      return (char **) &event->path;
>  }
> +EXPORT_SYMBOL(xs_read_watch);
>  
>  bool xs_unwatch(struct xs_handle *h, const char *path, const char *token)
>  {
>      printk("xs_unwatch(%s, %s)\n", path, token);
>      return xs_bool(xenbus_unwatch_path_token(XBT_NULL, path, token));
>  }
> +EXPORT_SYMBOL(xs_unwatch);
>  #endif
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:06:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:06:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642534.1002101 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hs0-0007ja-EN; Mon, 27 Nov 2023 20:06:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642534.1002101; Mon, 27 Nov 2023 20: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 1r7hs0-0007iZ-42; Mon, 27 Nov 2023 20:06:16 +0000
Received: by outflank-mailman (input) for mailman id 642534;
 Mon, 27 Nov 2023 20:06: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hrz-0006dX-1G
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:06:15 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6980603f-8d60-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:06:12 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 0713720103;
 Mon, 27 Nov 2023 21:06:12 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id ZNbRNVguOyXE; Mon, 27 Nov 2023 21:06:11 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id E153920101;
 Mon, 27 Nov 2023 21:06:11 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hrv-00000005ct6-2Zh6; Mon, 27 Nov 2023 21:06:11 +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: 6980603f-8d60-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:06:11 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 20/32] Mini-OS: add EXPORT_SYMBOL() instances to lock.c
Message-ID: <20231127200611.hfwgkwgol7lbl5fo@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-21-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-21-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:11 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to lock.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  lock.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/lock.c b/lock.c
> index 61194e5d..8f58344f 100644
> --- a/lock.c
> +++ b/lock.c
> @@ -17,6 +17,7 @@ int ___lock_init(_LOCK_T *lock)
>      init_waitqueue_head(&lock->wait);
>      return 0;
>  }
> +EXPORT_SYMBOL(___lock_init);
>  
>  int ___lock_acquire(_LOCK_T *lock)
>  {
> @@ -32,6 +33,7 @@ int ___lock_acquire(_LOCK_T *lock)
>      local_irq_restore(flags);
>      return 0;
>  }
> +EXPORT_SYMBOL(___lock_acquire);
>  
>  int ___lock_try_acquire(_LOCK_T *lock)
>  {
> @@ -45,6 +47,7 @@ int ___lock_try_acquire(_LOCK_T *lock)
>      local_irq_restore(flags);
>      return ret;
>  }
> +EXPORT_SYMBOL(___lock_try_acquire);
>  
>  int ___lock_release(_LOCK_T *lock)
>  {
> @@ -55,7 +58,7 @@ int ___lock_release(_LOCK_T *lock)
>      local_irq_restore(flags);
>      return 0;
>  }
> -
> +EXPORT_SYMBOL(___lock_release);
>  
>  int ___lock_init_recursive(_LOCK_RECURSIVE_T *lock)
>  {
> @@ -63,6 +66,7 @@ int ___lock_init_recursive(_LOCK_RECURSIVE_T *lock)
>      init_waitqueue_head(&lock->wait);
>      return 0;
>  }
> +EXPORT_SYMBOL(___lock_init_recursive);
>  
>  int ___lock_acquire_recursive(_LOCK_RECURSIVE_T *lock)
>  {
> @@ -81,6 +85,7 @@ int ___lock_acquire_recursive(_LOCK_RECURSIVE_T *lock)
>      lock->count++;
>      return 0;
>  }
> +EXPORT_SYMBOL(___lock_acquire_recursive);
>  
>  int ___lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock)
>  {
> @@ -95,6 +100,7 @@ int ___lock_try_acquire_recursive(_LOCK_RECURSIVE_T *lock)
>      local_irq_restore(flags);
>      return ret;
>  }
> +EXPORT_SYMBOL(___lock_try_acquire_recursive);
>  
>  int ___lock_release_recursive(_LOCK_RECURSIVE_T *lock)
>  {
> @@ -108,5 +114,6 @@ int ___lock_release_recursive(_LOCK_RECURSIVE_T *lock)
>      local_irq_restore(flags);
>      return 0;
>  }
> +EXPORT_SYMBOL(___lock_release_recursive);
>  
>  #endif
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:06:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:06:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642542.1002127 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hsB-0000Pl-UI; Mon, 27 Nov 2023 20:06:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642542.1002127; Mon, 27 Nov 2023 20: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 1r7hsB-0000PQ-O4; Mon, 27 Nov 2023 20:06:27 +0000
Received: by outflank-mailman (input) for mailman id 642542;
 Mon, 27 Nov 2023 20:06: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hsA-0006dX-7H
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:06:26 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6fe9810d-8d60-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:06:23 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id C839420103;
 Mon, 27 Nov 2023 21:06:22 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 7P6LZC_9QCJv; Mon, 27 Nov 2023 21:06:22 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id B18F620101;
 Mon, 27 Nov 2023 21:06:22 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hs6-00000005ctK-21XC; Mon, 27 Nov 2023 21:06:22 +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: 6fe9810d-8d60-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:06:22 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 21/32] Mini-OS: add EXPORT_SYMBOL() instances to time.c
Message-ID: <20231127200622.uv7mf7kygucn2xbo@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-22-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-22-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:12 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to time.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  arch/arm/time.c | 1 +
>  arch/x86/time.c | 2 +-
>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/arm/time.c b/arch/arm/time.c
> index a088981e..3483511a 100644
> --- a/arch/arm/time.c
> +++ b/arch/arm/time.c
> @@ -83,6 +83,7 @@ int gettimeofday(struct timeval *tv, void *tz)
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(gettimeofday);
>  
>  /* Set the timer and mask. */
>  void write_timer_ctl(uint32_t value) {
> diff --git a/arch/x86/time.c b/arch/x86/time.c
> index 8077c80c..332c0260 100644
> --- a/arch/x86/time.c
> +++ b/arch/x86/time.c
> @@ -204,7 +204,7 @@ int gettimeofday(struct timeval *tv, void *tz)
>  
>      return 0;
>  }
> -
> +EXPORT_SYMBOL(gettimeofday);
>  
>  void block_domain(s_time_t until)
>  {
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:07:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:07:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642562.1002141 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ht9-0002Lt-7N; Mon, 27 Nov 2023 20:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642562.1002141; Mon, 27 Nov 2023 20: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 1r7ht9-0002Lm-44; Mon, 27 Nov 2023 20:07:27 +0000
Received: by outflank-mailman (input) for mailman id 642562;
 Mon, 27 Nov 2023 20: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hmz-0001F2-Ik
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:01:05 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b23c9701-8d5f-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 21:01:04 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 92C6920103;
 Mon, 27 Nov 2023 21:01:04 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id CmaUYKncBxPS; Mon, 27 Nov 2023 21:01:04 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 7BC5620101;
 Mon, 27 Nov 2023 21:01:04 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hmy-00000005clZ-10RF; Mon, 27 Nov 2023 21:01: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: b23c9701-8d5f-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 21:01:04 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 11/32] Mini-OS: add EXPORT_SYMBOL() instances to
 lib/ctype.c
Message-ID: <20231127200104.awrnyhnt6j5sajdb@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-12-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-12-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:02 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to lib/ctype.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  lib/ctype.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/lib/ctype.c b/lib/ctype.c
> index 3f3bdb00..309ebbc9 100644
> --- a/lib/ctype.c
> +++ b/lib/ctype.c
> @@ -1,5 +1,6 @@
>  #ifndef HAVE_LIBC
>  #include <ctype.h>
> +#include <mini-os/export.h>
>  
>  unsigned char _ctype[] = {
>  _C,_C,_C,_C,_C,_C,_C,_C,                        /* 0-7 */
> @@ -26,4 +27,5 @@ _U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,_U,       /* 192-207 */
>  _U,_U,_U,_U,_U,_U,_U,_P,_U,_U,_U,_U,_U,_U,_U,_L,       /* 208-223 */
>  _L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,_L,       /* 224-239 */
>  _L,_L,_L,_L,_L,_L,_L,_P,_L,_L,_L,_L,_L,_L,_L,_L};      /* 240-255 */
> +EXPORT_SYMBOL(_ctype);
>  #endif
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:09:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:09:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642579.1002159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7huz-0003IY-MW; Mon, 27 Nov 2023 20:09:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642579.1002159; Mon, 27 Nov 2023 20: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 1r7huz-0003IR-Jc; Mon, 27 Nov 2023 20:09:21 +0000
Received: by outflank-mailman (input) for mailman id 642579;
 Mon, 27 Nov 2023 20:09: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=GbWF=HI=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1r7huy-0003IH-JN
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:09:20 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d89a8bba-8d60-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:09:18 +0100 (CET)
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 1r7huM-00Bhd4-E7; Mon, 27 Nov 2023 20:08:42 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
 id 12A193002F1; Mon, 27 Nov 2023 21:08:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d89a8bba-8d60-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Transfer-Encoding:
	Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date:
	Sender:Reply-To:Content-ID:Content-Description;
	bh=0g8rmOmWV3gIvWc7PsUFJZCK/mjDmfDlEjIfQZ9fLpw=; b=eDWXIpgRHK0l6Kp1zvM8AozfOF
	C6Od0RZKcBiM1TpdWu2XQUTQBZigv/lVFcp4wmzQVJpUa30ta0VAtD86zKeO0v7pZOLiVWQRr4KN8
	hk4FOzx8yGdiIasjtANlRLndmWRJMvBdSEMGCKmqSYLag0ay+cj9SgXrs1vld5SS+8dkv6bWq3SV5
	MDYEEFDnBglQijN9WYMxBEuwTpC4pfbqpYLSGbfh3mrMun861qNxt0UbAxZ6eZUufig+63zyL2qSO
	J7adiJq4wNyrGWs8soFqK96nVJbz6xxEW1NnrEo4DM5u7kBaGizRWOoC4Gn534kdhjeQxjkmw2wur
	fASu7jhg==;
Date: Mon, 27 Nov 2023 21:08:41 +0100
From: Peter Zijlstra <peterz@infradead.org>
To: "Madhavan T. Venkataraman" <madvenka@linux.microsoft.com>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	Mihai =?utf-8?B?RG9uyJt1?= <mdontu@bitdefender.com>,
	=?utf-8?B?TmljdciZb3IgQ8OuyJt1?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>, Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?utf-8?Q?=C8=98tefan_=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org, kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
	x86@kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH v2 17/19] heki: x86: Update permissions counters
 during text patching
Message-ID: <20231127200841.GZ3818@noisy.programming.kicks-ass.net>
References: <20231113022326.24388-1-mic@digikod.net>
 <20231113022326.24388-18-mic@digikod.net>
 <20231113081929.GA16138@noisy.programming.kicks-ass.net>
 <a52d8885-43cc-4a4e-bb47-9a800070779e@linux.microsoft.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <a52d8885-43cc-4a4e-bb47-9a800070779e@linux.microsoft.com>

On Mon, Nov 27, 2023 at 10:48:29AM -0600, Madhavan T. Venkataraman wrote:
> Apologies for the late reply. I was on vacation. Please see my response below:
> 
> On 11/13/23 02:19, Peter Zijlstra wrote:
> > On Sun, Nov 12, 2023 at 09:23:24PM -0500, Mickal Salan wrote:
> >> From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
> >>
> >> X86 uses a function called __text_poke() to modify executable code. This
> >> patching function is used by many features such as KProbes and FTrace.
> >>
> >> Update the permissions counters for the text page so that write
> >> permissions can be temporarily established in the EPT to modify the
> >> instructions in that page.
> >>
> >> Cc: Borislav Petkov <bp@alien8.de>
> >> Cc: Dave Hansen <dave.hansen@linux.intel.com>
> >> Cc: H. Peter Anvin <hpa@zytor.com>
> >> Cc: Ingo Molnar <mingo@redhat.com>
> >> Cc: Kees Cook <keescook@chromium.org>
> >> Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
> >> Cc: Mickal Salan <mic@digikod.net>
> >> Cc: Paolo Bonzini <pbonzini@redhat.com>
> >> Cc: Sean Christopherson <seanjc@google.com>
> >> Cc: Thomas Gleixner <tglx@linutronix.de>
> >> Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
> >> Cc: Wanpeng Li <wanpengli@tencent.com>
> >> Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
> >> ---
> >>
> >> Changes since v1:
> >> * New patch
> >> ---
> >>  arch/x86/kernel/alternative.c |  5 ++++
> >>  arch/x86/mm/heki.c            | 49 +++++++++++++++++++++++++++++++++++
> >>  include/linux/heki.h          | 14 ++++++++++
> >>  3 files changed, 68 insertions(+)
> >>
> >> diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
> >> index 517ee01503be..64fd8757ba5c 100644
> >> --- a/arch/x86/kernel/alternative.c
> >> +++ b/arch/x86/kernel/alternative.c
> >> @@ -18,6 +18,7 @@
> >>  #include <linux/mmu_context.h>
> >>  #include <linux/bsearch.h>
> >>  #include <linux/sync_core.h>
> >> +#include <linux/heki.h>
> >>  #include <asm/text-patching.h>
> >>  #include <asm/alternative.h>
> >>  #include <asm/sections.h>
> >> @@ -1801,6 +1802,7 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
> >>  	 */
> >>  	pgprot = __pgprot(pgprot_val(PAGE_KERNEL) & ~_PAGE_GLOBAL);
> >>  
> >> +	heki_text_poke_start(pages, cross_page_boundary ? 2 : 1, pgprot);
> >>  	/*
> >>  	 * The lock is not really needed, but this allows to avoid open-coding.
> >>  	 */
> >> @@ -1865,7 +1867,10 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
> >>  	}
> >>  
> >>  	local_irq_restore(flags);
> >> +
> >>  	pte_unmap_unlock(ptep, ptl);
> >> +	heki_text_poke_end(pages, cross_page_boundary ? 2 : 1, pgprot);
> >> +
> >>  	return addr;
> >>  }
> > 
> > This makes no sense, we already use a custom CR3 with userspace alias
> > for the actual pages to write to, why are you then frobbing permissions
> > on that *again* ?
> 
> Today, the permissions for a guest page in the extended page table
> (EPT) are RWX (unless permissions are restricted for some specific
> reason like for shadow page table pages). In this Heki feature, we
> don't allow RWX by default in the EPT. We only allow those permissions
> in the EPT that the guest page actually needs.  E.g., for a text page,
> it is R_X in both the guest page table and the EPT.

To what end? If you always mirror what the guest does, you've not
actually gained anything.

> For text patching, the above code establishes an alternate mapping in
> the guest page table that is RW_ so that the text can be patched. That
> needs to be reflected in the EPT so that the EPT permissions will
> change from R_X to RWX. In other words, RWX is allowed only as
> necessary. At the end of patching, the EPT permissions are restored to
> R_X.
> 
> Does that address your comment?

No, if you want to mirror the native PTEs why don't you hook into the
paravirt page-table muck and get all that for free?

Also, this is the user range, are you saying you're also playing these
daft games with user maps?


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:09:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642583.1002173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7hvL-0003p0-6p; Mon, 27 Nov 2023 20:09:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642583.1002173; Mon, 27 Nov 2023 20:09: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 1r7hvL-0003ot-42; Mon, 27 Nov 2023 20:09:43 +0000
Received: by outflank-mailman (input) for mailman id 642583;
 Mon, 27 Nov 2023 20:09: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hvJ-0003IH-Hf
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:09:41 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e402fc08-8d60-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:09:37 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 940832010A;
 Mon, 27 Nov 2023 21:09:37 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 0hxlmaxEIvo1; Mon, 27 Nov 2023 21:09:37 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 7EE4220109;
 Mon, 27 Nov 2023 21:09:37 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hvF-00000005cx2-0yro; Mon, 27 Nov 2023 21:09:37 +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: e402fc08-8d60-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:09:37 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 00/32] Mini-OS: hide mini-os internal symbols
Message-ID: <20231127200937.33qm6fos43qcvuo7@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231127102523.28003-1-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Hello,

Juergen Gross, le lun. 27 nov. 2023 11:24:51 +0100, a ecrit:
>   Mini-OS: add EXPORT_SYMBOL() instances to ioremap.c
>   Mini-OS: add EXPORT_SYMBOL() instances to lwip-*.c
>   Mini-OS: add EXPORT_SYMBOL() instances to netfront.c
>   Mini-OS: add EXPORT_SYMBOL() instances to tpm_tis.c

I didn't receive the mails for those, but I went to the list archive,
and here it is for them:

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

Samuel


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:15:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:15:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642594.1002182 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7i1F-0005TX-Rm; Mon, 27 Nov 2023 20:15:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642594.1002182; Mon, 27 Nov 2023 20: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 1r7i1F-0005TQ-Oy; Mon, 27 Nov 2023 20:15:49 +0000
Received: by outflank-mailman (input) for mailman id 642594;
 Mon, 27 Nov 2023 20:15: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hsi-0006dX-U4
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:07:00 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8453dcf6-8d60-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:06:57 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 1279C20103;
 Mon, 27 Nov 2023 21:06:57 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id SK12of8wNoGG; Mon, 27 Nov 2023 21:06:56 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id F034C20101;
 Mon, 27 Nov 2023 21:06:56 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hse-00000005cu5-36Er; Mon, 27 Nov 2023 21:06:56 +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: 8453dcf6-8d60-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:06:56 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 25/32] Mini-OS: add EXPORT_SYMBOL() instances to
 fbfront.c
Message-ID: <20231127200656.2ovyubjpfyhwy5ht@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-26-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-26-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:16 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to fbfront.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  fbfront.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/fbfront.c b/fbfront.c
> index 1b67f527..d4e28d0c 100644
> --- a/fbfront.c
> +++ b/fbfront.c
> @@ -201,6 +201,7 @@ error:
>      free_kbdfront(dev);
>      return NULL;
>  }
> +EXPORT_SYMBOL(init_kbdfront);
>  
>  int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n)
>  {
> @@ -239,7 +240,7 @@ int kbdfront_receive(struct kbdfront_dev *dev, union xenkbd_in_event *buf, int n
>  
>      return i;
>  }
> -
> +EXPORT_SYMBOL(kbdfront_receive);
>  
>  void shutdown_kbdfront(struct kbdfront_dev *dev)
>  {
> @@ -301,6 +302,7 @@ close_kbdfront:
>      if (!err)
>          free_kbdfront(dev);
>  }
> +EXPORT_SYMBOL(shutdown_kbdfront);
>  
>  #ifdef HAVE_LIBC
>  static int kbd_read(struct file *file, void *buf, size_t nbytes)
> @@ -351,6 +353,7 @@ int kbdfront_open(struct kbdfront_dev *dev)
>  
>      return dev->fd;
>  }
> +EXPORT_SYMBOL(kbdfront_open);
>  #endif
>  
>  
> @@ -451,6 +454,7 @@ int fbfront_receive(struct fbfront_dev *dev, union xenfb_in_event *buf, int n)
>  
>      return i;
>  }
> +EXPORT_SYMBOL(fbfront_receive);
>  
>  struct fbfront_dev *init_fbfront(char *_nodename, unsigned long *mfns, int width, int height, int depth, int stride, int n)
>  {
> @@ -617,6 +621,7 @@ error:
>      free_fbfront(dev);
>      return NULL;
>  }
> +EXPORT_SYMBOL(init_fbfront);
>  
>  static void fbfront_out_event(struct fbfront_dev *dev, union xenfb_out_event *event)
>  {
> @@ -668,6 +673,7 @@ void fbfront_update(struct fbfront_dev *dev, int x, int y, int width, int height
>      update.height = height;
>      fbfront_out_event(dev, (union xenfb_out_event *) &update);
>  }
> +EXPORT_SYMBOL(fbfront_update);
>  
>  void fbfront_resize(struct fbfront_dev *dev, int width, int height, int stride, int depth, int offset)
>  {
> @@ -681,6 +687,7 @@ void fbfront_resize(struct fbfront_dev *dev, int width, int height, int stride,
>      dev->offset = resize.offset = offset;
>      fbfront_out_event(dev, (union xenfb_out_event *) &resize);
>  }
> +EXPORT_SYMBOL(fbfront_resize);
>  
>  void shutdown_fbfront(struct fbfront_dev *dev)
>  {
> @@ -745,6 +752,7 @@ close_fbfront:
>      if (!err)
>          free_fbfront(dev);
>  }
> +EXPORT_SYMBOL(shutdown_fbfront);
>  
>  #ifdef HAVE_LIBC
>  static int fbfront_read(struct file *file, void *buf, size_t nbytes)
> @@ -794,5 +802,6 @@ int fbfront_open(struct fbfront_dev *dev)
>      file->dev = dev;
>      return dev->fd;
>  }
> +EXPORT_SYMBOL(fbfront_open);
>  #endif
>  
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:16:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:16:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642598.1002201 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7i1U-0005zH-5q; Mon, 27 Nov 2023 20:16:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642598.1002201; Mon, 27 Nov 2023 20: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 1r7i1U-0005zA-2Z; Mon, 27 Nov 2023 20:16:04 +0000
Received: by outflank-mailman (input) for mailman id 642598;
 Mon, 27 Nov 2023 20:16: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7htD-0006fp-HV
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:07:31 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 97bec579-8d60-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 21:07:30 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 9F95A20103;
 Mon, 27 Nov 2023 21:07:29 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id IHb5svvfoN6u; Mon, 27 Nov 2023 21:07:29 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 89B4820101;
 Mon, 27 Nov 2023 21:07:29 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7htB-00000005cuo-1Lze; Mon, 27 Nov 2023 21:07:29 +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: 97bec579-8d60-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 21:07:29 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 29/32] Mini-OS: add EXPORT_SYMBOL() instances to
 tpmfront.c
Message-ID: <20231127200729.liceixtya5s4mixh@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-30-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-30-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:20 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to tpmfront.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  tpmfront.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/tpmfront.c b/tpmfront.c
> index f4864d61..83768d07 100644
> --- a/tpmfront.c
> +++ b/tpmfront.c
> @@ -338,6 +338,8 @@ error:
>     shutdown_tpmfront(dev);
>     return NULL;
>  }
> +EXPORT_SYMBOL(init_tpmfront);
> +
>  void shutdown_tpmfront(struct tpmfront_dev* dev)
>  {
>     char* err;
> @@ -402,6 +404,7 @@ void shutdown_tpmfront(struct tpmfront_dev* dev)
>     }
>     free(dev);
>  }
> +EXPORT_SYMBOL(shutdown_tpmfront);
>  
>  int tpmfront_send(struct tpmfront_dev* dev, const uint8_t* msg, size_t length)
>  {
> @@ -528,6 +531,7 @@ int tpmfront_cmd(struct tpmfront_dev* dev, uint8_t* req, size_t reqlen, uint8_t*
>  
>     return 0;
>  }
> +EXPORT_SYMBOL(tpmfront_cmd);
>  
>  int tpmfront_set_locality(struct tpmfront_dev* dev, int locality)
>  {
> @@ -536,6 +540,7 @@ int tpmfront_set_locality(struct tpmfront_dev* dev, int locality)
>     dev->page->locality = locality;
>     return 0;
>  }
> +EXPORT_SYMBOL(tpmfront_set_locality);
>  
>  #ifdef HAVE_LIBC
>  #include <errno.h>
> @@ -663,5 +668,6 @@ int tpmfront_open(struct tpmfront_dev *dev)
>  
>      return dev->fd;
>  }
> +EXPORT_SYMBOL(tpmfront_open);
>  
>  #endif
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:16:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:16:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642613.1002218 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7i1x-00070w-Hd; Mon, 27 Nov 2023 20:16:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642613.1002218; Mon, 27 Nov 2023 20:16: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 1r7i1x-00070p-Ek; Mon, 27 Nov 2023 20:16:33 +0000
Received: by outflank-mailman (input) for mailman id 642613;
 Mon, 27 Nov 2023 20:16: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hth-0006fp-9N
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:08:01 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a97ef029-8d60-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 21:07:59 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 6A26E20103;
 Mon, 27 Nov 2023 21:07:59 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id wApW8wetfkBL; Mon, 27 Nov 2023 21:07:59 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 5496D20101;
 Mon, 27 Nov 2023 21:07:59 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7htf-00000005cvL-0JwV; Mon, 27 Nov 2023 21:07:59 +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: a97ef029-8d60-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 21:07:59 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 32/32] Mini-OS: hide all symbols not exported via
 EXPORT_SYMBOLS()
Message-ID: <20231127200759.hf7rbntzua5pakrd@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-33-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-33-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:23 +0100, a ecrit:
> When doing the final linking of the Mini-OS kernel only keep the
> symbols visible which have been marked via EXPORT_SYMBOL().
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  Makefile | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Makefile b/Makefile
> index 588496cb..456aed0b 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -167,6 +167,7 @@ $(OBJ_DIR)/arch/x86/minios-x86%.lds:  arch/x86/minios-x86.lds.S
>  $(OBJ_DIR)/$(TARGET)-kern.o: $(OBJS) arch_lib $(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
>  	$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(OBJS) $(LDARCHLIB) -o $@
>  	$(OBJCOPY) --dump-section .export_symbol=$(OBJ_DIR)/syms $@
> +	$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* --keep-global-symbols=$(OBJ_DIR)/syms --remove-section=.export_symbol $@ $@
>  
>  $(OBJ_DIR)/$(TARGET): $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O)
>  	$(LD) -r $(LDFLAGS) $(OBJ_DIR)/$(TARGET)-kern.o $(APP_O) $(LDLIBS) -o $@.o
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:17:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:17:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642620.1002233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7i2V-0007m9-SH; Mon, 27 Nov 2023 20:17:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642620.1002233; Mon, 27 Nov 2023 20:17: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 1r7i2V-0007m2-Pl; Mon, 27 Nov 2023 20:17:07 +0000
Received: by outflank-mailman (input) for mailman id 642620;
 Mon, 27 Nov 2023 20:17: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hsJ-0006dX-PS
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:06:35 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75f4531c-8d60-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:06:33 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id E971120103;
 Mon, 27 Nov 2023 21:06:32 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id G1tAhd2f_1Dq; Mon, 27 Nov 2023 21:06:32 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id D399720101;
 Mon, 27 Nov 2023 21:06:32 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hsG-00000005cta-2d7R; Mon, 27 Nov 2023 21:06:32 +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: 75f4531c-8d60-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:06:32 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 23/32] Mini-OS: add EXPORT_SYMBOL() instances to
 9pfront.c
Message-ID: <20231127200632.o3l5hsdymr2cf2t4@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-24-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-24-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:14 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to 9pfront.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  9pfront.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/9pfront.c b/9pfront.c
> index 35c5552b..315089bc 100644
> --- a/9pfront.c
> +++ b/9pfront.c
> @@ -1243,6 +1243,7 @@ void *init_9pfront(unsigned int id, const char *mnt)
>      free(msg);
>      return NULL;
>  }
> +EXPORT_SYMBOL(init_9pfront);
>  
>  void shutdown_9pfront(void *dev)
>  {
> @@ -1286,6 +1287,7 @@ void shutdown_9pfront(void *dev)
>          printk("9pfsfront shutdown %u failed, %s\n", dev9p->id, reason);
>      free(msg);
>  }
> +EXPORT_SYMBOL(shutdown_9pfront);
>  
>  static const struct file_ops ops_9pfs = {
>      .name = "9pfs",
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:17:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:17:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642621.1002238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7i2W-0007pX-6B; Mon, 27 Nov 2023 20:17:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642621.1002238; Mon, 27 Nov 2023 20:17: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 1r7i2W-0007p7-1O; Mon, 27 Nov 2023 20:17:08 +0000
Received: by outflank-mailman (input) for mailman id 642621;
 Mon, 27 Nov 2023 20:17: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hsU-0006fp-Hy
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:06:46 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7cd1bef8-8d60-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 21:06:44 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 7637E20103;
 Mon, 27 Nov 2023 21:06:44 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id mkMg1i8jO4OK; Mon, 27 Nov 2023 21:06:44 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 57E8020101;
 Mon, 27 Nov 2023 21:06:44 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hsS-00000005ctq-0JVc; Mon, 27 Nov 2023 21:06:44 +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: 7cd1bef8-8d60-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 21:06:44 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 24/32] Mini-OS: add EXPORT_SYMBOL() instances to
 blkfront.c
Message-ID: <20231127200644.owkleq4md4yu4d3g@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-25-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-25-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:15 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to blkfront.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  blkfront.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/blkfront.c b/blkfront.c
> index 8f140896..b0fc80d1 100644
> --- a/blkfront.c
> +++ b/blkfront.c
> @@ -23,9 +23,7 @@
>  /* Note: we really suppose non-preemptive threads.  */
>  
>  DECLARE_WAIT_QUEUE_HEAD(blkfront_queue);
> -
> -
> -
> +EXPORT_SYMBOL(blkfront_queue);
>  
>  #define BLK_RING_SIZE __RING_SIZE((struct blkif_sring *)0, PAGE_SIZE)
>  #define GRANT_INVALID_REF 0
> @@ -243,6 +241,7 @@ error:
>      free_blkfront(dev);
>      return NULL;
>  }
> +EXPORT_SYMBOL(init_blkfront);
>  
>  void shutdown_blkfront(struct blkfront_dev *dev)
>  {
> @@ -304,6 +303,7 @@ close:
>      if (!err)
>          free_blkfront(dev);
>  }
> +EXPORT_SYMBOL(shutdown_blkfront);
>  
>  static void blkfront_wait_slot(struct blkfront_dev *dev)
>  {
> @@ -386,6 +386,7 @@ void blkfront_aio(struct blkfront_aiocb *aiocbp, int write)
>  
>      if(notify) notify_remote_via_evtchn(dev->evtchn);
>  }
> +EXPORT_SYMBOL(blkfront_aio);
>  
>  static void blkfront_aio_cb(struct blkfront_aiocb *aiocbp, int ret)
>  {
> @@ -417,6 +418,7 @@ void blkfront_io(struct blkfront_aiocb *aiocbp, int write)
>      remove_waiter(w, blkfront_queue);
>      local_irq_restore(flags);
>  }
> +EXPORT_SYMBOL(blkfront_io);
>  
>  static void blkfront_push_operation(struct blkfront_dev *dev, uint8_t op, uint64_t id)
>  {
> @@ -444,6 +446,7 @@ void blkfront_aio_push_operation(struct blkfront_aiocb *aiocbp, uint8_t op)
>      struct blkfront_dev *dev = aiocbp->aio_dev;
>      blkfront_push_operation(dev, op, (uintptr_t) aiocbp);
>  }
> +EXPORT_SYMBOL(blkfront_aio_push_operation);
>  
>  void blkfront_sync(struct blkfront_dev *dev)
>  {
> @@ -473,6 +476,7 @@ void blkfront_sync(struct blkfront_dev *dev)
>      remove_waiter(w, blkfront_queue);
>      local_irq_restore(flags);
>  }
> +EXPORT_SYMBOL(blkfront_sync);
>  
>  int blkfront_aio_poll(struct blkfront_dev *dev)
>  {
> @@ -557,6 +561,7 @@ moretodo:
>  
>      return nr_consumed;
>  }
> +EXPORT_SYMBOL(blkfront_aio_poll);
>  
>  #ifdef HAVE_LIBC
>  static int blkfront_posix_rwop(struct file *file, uint8_t *buf, size_t count,
> @@ -773,4 +778,5 @@ int blkfront_open(struct blkfront_dev *dev)
>  
>      return dev->fd;
>  }
> +EXPORT_SYMBOL(blkfront_open);
>  #endif
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:17:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:17:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642633.1002257 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7i2j-0000Fv-GJ; Mon, 27 Nov 2023 20:17:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642633.1002257; Mon, 27 Nov 2023 20:17: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 1r7i2j-0000Fo-Dc; Mon, 27 Nov 2023 20:17:21 +0000
Received: by outflank-mailman (input) for mailman id 642633;
 Mon, 27 Nov 2023 20:17: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7htW-0006dX-Dr
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:07:50 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a1c789d0-8d60-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:07:46 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 7794F2010A;
 Mon, 27 Nov 2023 21:07:46 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 04JtsHMYQpdc; Mon, 27 Nov 2023 21:07:46 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 6181E20109;
 Mon, 27 Nov 2023 21:07:46 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7htS-00000005cv5-0epf; Mon, 27 Nov 2023 21:07:46 +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: a1c789d0-8d60-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:07:46 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 31/32] Mini-OS: add EXPORT_SYMBOL() instances to
 xenbus.c
Message-ID: <20231127200746.trsiimy3vkhun3u5@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-32-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-32-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:22 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to xenbus.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  xenbus.c | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/xenbus.c b/xenbus.c
> index 8bfd5bd4..eb9af055 100644
> --- a/xenbus.c
> +++ b/xenbus.c
> @@ -123,6 +123,7 @@ char **xenbus_wait_for_watch_return(xenbus_event_queue *queue)
>  
>      return &event->path;
>  }
> +EXPORT_SYMBOL(xenbus_wait_for_watch_return);
>  
>  void xenbus_wait_for_watch(xenbus_event_queue *queue)
>  {
> @@ -136,6 +137,7 @@ void xenbus_wait_for_watch(xenbus_event_queue *queue)
>      else
>          printk("unexpected path returned by watch\n");
>  }
> +EXPORT_SYMBOL(xenbus_wait_for_watch);
>  
>  void xenbus_release_wait_for_watch(xenbus_event_queue *queue)
>  {
> @@ -145,6 +147,7 @@ void xenbus_release_wait_for_watch(xenbus_event_queue *queue)
>      *queue = event;
>      wake_up(&xenbus_watch_queue);
>  }
> +EXPORT_SYMBOL(xenbus_release_wait_for_watch);
>  
>  char *xenbus_wait_for_value(const char *path, const char *value,
>                              xenbus_event_queue *queue)
> @@ -170,6 +173,7 @@ char *xenbus_wait_for_value(const char *path, const char *value,
>          xenbus_wait_for_watch(queue);
>      }
>  }
> +EXPORT_SYMBOL(xenbus_wait_for_value);
>  
>  char *xenbus_switch_state(xenbus_transaction_t xbt, const char *path,
>                            XenbusState state)
> @@ -220,6 +224,7 @@ exit:
>  
>      return msg;
>  }
> +EXPORT_SYMBOL(xenbus_switch_state);
>  
>  char *xenbus_wait_for_state_change(const char *path, XenbusState *state,
>                                     xenbus_event_queue *queue)
> @@ -249,6 +254,7 @@ char *xenbus_wait_for_state_change(const char *path, XenbusState *state,
>      }
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_wait_for_state_change);
>  
>  static void xenbus_read_data(char *buf, unsigned int len)
>  {
> @@ -602,6 +608,7 @@ struct xsd_sockmsg *xenbus_msg_reply(int type, xenbus_transaction_t trans,
>  
>      return rep;
>  }
> +EXPORT_SYMBOL(xenbus_msg_reply);
>  
>  static char *errmsg(struct xsd_sockmsg *rep)
>  {
> @@ -664,6 +671,7 @@ char *xenbus_ls(xenbus_transaction_t xbt, const char *pre, char ***contents)
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_ls);
>  
>  char *xenbus_read(xenbus_transaction_t xbt, const char *path, char **value)
>  {
> @@ -687,6 +695,7 @@ char *xenbus_read(xenbus_transaction_t xbt, const char *path, char **value)
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_read);
>  
>  char *xenbus_write(xenbus_transaction_t xbt, const char *path,
>                     const char *value)
> @@ -707,6 +716,7 @@ char *xenbus_write(xenbus_transaction_t xbt, const char *path,
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_write);
>  
>  char* xenbus_watch_path_token(xenbus_transaction_t xbt, const char *path,
>                                const char *token, xenbus_event_queue *events)
> @@ -738,6 +748,7 @@ char* xenbus_watch_path_token(xenbus_transaction_t xbt, const char *path,
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_watch_path_token);
>  
>  char* xenbus_unwatch_path_token(xenbus_transaction_t xbt, const char *path,
>                                  const char *token)
> @@ -771,6 +782,7 @@ char* xenbus_unwatch_path_token(xenbus_transaction_t xbt, const char *path,
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_unwatch_path_token);
>  
>  char *xenbus_rm(xenbus_transaction_t xbt, const char *path)
>  {
> @@ -787,6 +799,7 @@ char *xenbus_rm(xenbus_transaction_t xbt, const char *path)
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_rm);
>  
>  char *xenbus_get_perms(xenbus_transaction_t xbt, const char *path, char **value)
>  {
> @@ -810,6 +823,7 @@ char *xenbus_get_perms(xenbus_transaction_t xbt, const char *path, char **value)
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_get_perms);
>  
>  #define PERM_MAX_SIZE 32
>  char *xenbus_set_perms(xenbus_transaction_t xbt, const char *path, domid_t dom,
> @@ -834,6 +848,7 @@ char *xenbus_set_perms(xenbus_transaction_t xbt, const char *path, domid_t dom,
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_set_perms);
>  
>  char *xenbus_transaction_start(xenbus_transaction_t *xbt)
>  {
> @@ -855,6 +870,7 @@ char *xenbus_transaction_start(xenbus_transaction_t *xbt)
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_transaction_start);
>  
>  char *xenbus_transaction_end(xenbus_transaction_t t, int abort, int *retry)
>  {
> @@ -883,6 +899,7 @@ char *xenbus_transaction_end(xenbus_transaction_t t, int abort, int *retry)
>  
>      return NULL;
>  }
> +EXPORT_SYMBOL(xenbus_transaction_end);
>  
>  int xenbus_read_integer(const char *path)
>  {
> @@ -902,6 +919,7 @@ int xenbus_read_integer(const char *path)
>  
>      return t;
>  }
> +EXPORT_SYMBOL(xenbus_read_integer);
>  
>  int xenbus_read_uuid(const char *path, unsigned char uuid[16])
>  {
> @@ -935,6 +953,7 @@ int xenbus_read_uuid(const char *path, unsigned char uuid[16])
>  
>      return 1;
>  }
> +EXPORT_SYMBOL(xenbus_read_uuid);
>  
>  #define BUFFER_SIZE 256
>  static void xenbus_build_path(const char *dir, const char *node, char *res)
> @@ -957,6 +976,7 @@ char *xenbus_printf(xenbus_transaction_t xbt, const char* node,
>  
>      return xenbus_write(xbt,fullpath,val);
>  }
> +EXPORT_SYMBOL(xenbus_printf);
>  
>  domid_t xenbus_get_self_id(void)
>  {
> @@ -968,6 +988,7 @@ domid_t xenbus_get_self_id(void)
>  
>      return ret;
>  }
> +EXPORT_SYMBOL(xenbus_get_self_id);
>  
>  char *xenbus_read_string(xenbus_transaction_t xbt, const char *dir,
>                           const char *node, char **value)
> @@ -978,6 +999,7 @@ char *xenbus_read_string(xenbus_transaction_t xbt, const char *dir,
>  
>      return xenbus_read(xbt, path, value);
>  }
> +EXPORT_SYMBOL(xenbus_read_string);
>  
>  char *xenbus_read_unsigned(xenbus_transaction_t xbt, const char *dir,
>                             const char *node, unsigned int *value)
> @@ -997,6 +1019,7 @@ char *xenbus_read_unsigned(xenbus_transaction_t xbt, const char *dir,
>  
>      return msg;
>  }
> +EXPORT_SYMBOL(xenbus_read_unsigned);
>  
>  /*
>   * Local variables:
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:18:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642642.1002271 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7i3Q-0001Ob-3A; Mon, 27 Nov 2023 20:18:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642642.1002271; Mon, 27 Nov 2023 20: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 1r7i3P-0001OU-W7; Mon, 27 Nov 2023 20:18:03 +0000
Received: by outflank-mailman (input) for mailman id 642642;
 Mon, 27 Nov 2023 20:18: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7ht6-0006dX-2h
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:07:24 +0000
Received: from sonata.ens-lyon.org (domu-toccata.ens-lyon.fr [140.77.166.138])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 92b62f72-8d60-11ee-9b0e-b553b5be7939;
 Mon, 27 Nov 2023 21:07:21 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 32E5920103;
 Mon, 27 Nov 2023 21:07:21 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id T2XCEQ0lmnyH; Mon, 27 Nov 2023 21:07:21 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 1D13420101;
 Mon, 27 Nov 2023 21:07:21 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7ht2-00000005cuX-3g25; Mon, 27 Nov 2023 21:07:20 +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: 92b62f72-8d60-11ee-9b0e-b553b5be7939
Date: Mon, 27 Nov 2023 21:07:20 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 28/32] Mini-OS: add EXPORT_SYMBOL() instances to
 tpmback.c
Message-ID: <20231127200720.awclc4nsrea7hn7c@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-29-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-29-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:19 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to tpmback.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  tpmback.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/tpmback.c b/tpmback.c
> index 22adbd32..ab0df127 100644
> --- a/tpmback.c
> +++ b/tpmback.c
> @@ -804,6 +804,7 @@ void* tpmback_get_opaque(domid_t domid, unsigned int handle)
>  
>     return tpmif->opaque;
>  }
> +EXPORT_SYMBOL(tpmback_get_opaque);
>  
>  int tpmback_set_opaque(domid_t domid, unsigned int handle, void *opaque)
>  {
> @@ -816,6 +817,7 @@ int tpmback_set_opaque(domid_t domid, unsigned int handle, void *opaque)
>     tpmif->opaque = opaque;
>     return 0;
>  }
> +EXPORT_SYMBOL(tpmback_set_opaque);
>  
>  unsigned char* tpmback_get_uuid(domid_t domid, unsigned int handle)
>  {
> @@ -827,6 +829,7 @@ unsigned char* tpmback_get_uuid(domid_t domid, unsigned int handle)
>  
>     return tpmif->uuid;
>  }
> +EXPORT_SYMBOL(tpmback_get_uuid);
>  
>  int tpmback_get_peercontext(domid_t domid, unsigned int handle, void* buffer, int buflen)
>  {
> @@ -838,6 +841,7 @@ int tpmback_get_peercontext(domid_t domid, unsigned int handle, void* buffer, in
>  
>     return evtchn_get_peercontext(tpmif->evtchn, buffer, buflen);
>  }
> +EXPORT_SYMBOL(tpmback_get_peercontext);
>  
>  static void event_listener(void)
>  {
> @@ -903,6 +907,7 @@ void init_tpmback(void (*open_cb)(domid_t, unsigned int), void (*close_cb)(domid
>     eventthread = create_thread("tpmback-listener", event_thread, NULL);
>  
>  }
> +EXPORT_SYMBOL(init_tpmback);
>  
>  void shutdown_tpmback(void)
>  {
> @@ -923,6 +928,7 @@ void shutdown_tpmback(void)
>     wake_up(&waitq);
>     schedule();
>  }
> +EXPORT_SYMBOL(shutdown_tpmback);
>  
>  static void init_tpmcmd(tpmcmd_t* tpmcmd, domid_t domid, unsigned int handle, void *opaque)
>  {
> @@ -1061,6 +1067,7 @@ tpmcmd_t* tpmback_req_any(void)
>     TPMBACK_ERR("backend request ready flag was set but no interfaces were actually ready\n");
>     return NULL;
>  }
> +EXPORT_SYMBOL(tpmback_req_any);
>  
>  tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle)
>  {
> @@ -1081,6 +1088,7 @@ tpmcmd_t* tpmback_req(domid_t domid, unsigned int handle)
>  
>     return get_request(tpmif);
>  }
> +EXPORT_SYMBOL(tpmback_req);
>  
>  void tpmback_resp(tpmcmd_t* tpmcmd)
>  {
> @@ -1108,6 +1116,7 @@ end:
>     free(tpmcmd);
>     return;
>  }
> +EXPORT_SYMBOL(tpmback_resp);
>  
>  int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle)
>  {
> @@ -1125,8 +1134,10 @@ int tpmback_wait_for_frontend_connect(domid_t *domid, unsigned int *handle)
>  
>     return 0;
>  }
> +EXPORT_SYMBOL(tpmback_wait_for_frontend_connect);
>  
>  int tpmback_num_frontends(void)
>  {
>     return gtpmdev.num_tpms;
>  }
> +EXPORT_SYMBOL(tpmback_num_frontends);
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:18:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:18:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642643.1002280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7i3R-0001e6-9U; Mon, 27 Nov 2023 20:18:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642643.1002280; Mon, 27 Nov 2023 20:18: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 1r7i3R-0001dz-6w; Mon, 27 Nov 2023 20:18:05 +0000
Received: by outflank-mailman (input) for mailman id 642643;
 Mon, 27 Nov 2023 20:18: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=j0zc=HI=ens-lyon.org=samuel.thibault@bounce.ens-lyon.org>)
 id 1r7hsu-0006fp-C3
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 20:07:12 +0000
Received: from sonata.ens-lyon.org (sonata.ens-lyon.org [140.77.166.138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8c23004f-8d60-11ee-98e2-6d05b1d4d9a1;
 Mon, 27 Nov 2023 21:07:10 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by sonata.ens-lyon.org (Postfix) with ESMTP id 2430120103;
 Mon, 27 Nov 2023 21:07:10 +0100 (CET)
Received: from sonata.ens-lyon.org ([127.0.0.1])
 by localhost (sonata.ens-lyon.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id gw9mB0mH72ey; Mon, 27 Nov 2023 21:07:10 +0100 (CET)
Received: from begin (aamiens-653-1-111-57.w83-192.abo.wanadoo.fr
 [83.192.234.57])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest
 SHA256) (No client certificate requested)
 by sonata.ens-lyon.org (Postfix) with ESMTPSA id 09E8420101;
 Mon, 27 Nov 2023 21:07:10 +0100 (CET)
Received: from samy by begin with local (Exim 4.97)
 (envelope-from <samuel.thibault@ens-lyon.org>)
 id 1r7hsr-00000005cuJ-3ALl; Mon, 27 Nov 2023 21:07:09 +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: 8c23004f-8d60-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 21:07:09 +0100
From: Samuel Thibault <samuel.thibault@ens-lyon.org>
To: Juergen Gross <jgross@suse.com>
Cc: minios-devel@lists.xenproject.org, xen-devel@lists.xenproject.org,
	wl@xen.org
Subject: Re: [PATCH v3 27/32] Mini-OS: add EXPORT_SYMBOL() instances to
 pcifront.c
Message-ID: <20231127200709.3ssmsvuurjbdd37w@begin>
Mail-Followup-To: Samuel Thibault <samuel.thibault@ens-lyon.org>,
	Juergen Gross <jgross@suse.com>, minios-devel@lists.xenproject.org,
	xen-devel@lists.xenproject.org, wl@xen.org
References: <20231127102523.28003-1-jgross@suse.com>
 <20231127102523.28003-28-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127102523.28003-28-jgross@suse.com>
Organization: I am not organized
User-Agent: NeoMutt/20170609 (1.8.3)

Juergen Gross, le lun. 27 nov. 2023 11:25:18 +0100, a ecrit:
> Add the needed instances of EXPORT_SYMBOL() to pcifront.c.
> 
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org>

> ---
> V3:
> - new patch
> ---
>  pcifront.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/pcifront.c b/pcifront.c
> index 56423562..f1d69396 100644
> --- a/pcifront.c
> +++ b/pcifront.c
> @@ -278,6 +278,7 @@ error:
>      free_pcifront(dev);
>      return NULL;
>  }
> +EXPORT_SYMBOL(init_pcifront);
>  
>  void pcifront_scan(struct pcifront_dev *dev, void (*func)(unsigned int domain, unsigned int bus, unsigned slot, unsigned int fun))
>  {
> @@ -319,6 +320,7 @@ void pcifront_scan(struct pcifront_dev *dev, void (*func)(unsigned int domain, u
>      }
>      free(path);
>  }
> +EXPORT_SYMBOL(pcifront_scan);
>  
>  void shutdown_pcifront(struct pcifront_dev *dev)
>  {
> @@ -377,6 +379,7 @@ close_pcifront:
>      if (!err)
>          free_pcifront(dev);
>  }
> +EXPORT_SYMBOL(shutdown_pcifront);
>  
>  int pcifront_physical_to_virtual (struct pcifront_dev *dev,
>                                    unsigned int *dom,
> @@ -451,6 +454,7 @@ void pcifront_op(struct pcifront_dev *dev, struct xen_pci_op *op)
>      rmb();
>      *op = dev->info->op;
>  }
> +EXPORT_SYMBOL(pcifront_op);
>  
>  int pcifront_conf_read(struct pcifront_dev *dev,
>                         unsigned int dom,
> @@ -481,6 +485,7 @@ int pcifront_conf_read(struct pcifront_dev *dev,
>  
>      return 0;
>  }
> +EXPORT_SYMBOL(pcifront_conf_read);
>  
>  int pcifront_conf_write(struct pcifront_dev *dev,
>                          unsigned int dom,
> @@ -508,6 +513,7 @@ int pcifront_conf_write(struct pcifront_dev *dev,
>  
>      return op.err;
>  }
> +EXPORT_SYMBOL(pcifront_conf_write);
>  
>  int pcifront_enable_msi(struct pcifront_dev *dev,
>                          unsigned int dom,
> @@ -533,6 +539,7 @@ int pcifront_enable_msi(struct pcifront_dev *dev,
>      else
>          return op.value;
>  }
> +EXPORT_SYMBOL(pcifront_enable_msi);
>  
>  int pcifront_disable_msi(struct pcifront_dev *dev,
>                           unsigned int dom,
> @@ -555,6 +562,7 @@ int pcifront_disable_msi(struct pcifront_dev *dev,
>      
>      return op.err;
>  }
> +EXPORT_SYMBOL(pcifront_disable_msi);
>  
>  int pcifront_enable_msix(struct pcifront_dev *dev,
>                           unsigned int dom,
> @@ -589,7 +597,7 @@ int pcifront_enable_msix(struct pcifront_dev *dev,
>  
>      return 0;
>  }
> -
> +EXPORT_SYMBOL(pcifront_enable_msix);
>  
>  int pcifront_disable_msix(struct pcifront_dev *dev,
>                            unsigned int dom,
> @@ -612,3 +620,4 @@ int pcifront_disable_msix(struct pcifront_dev *dev,
>      
>      return op.err;
>  }
> +EXPORT_SYMBOL(pcifront_disable_msix);
> -- 
> 2.35.3
> 

-- 
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 20:25:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 20:25:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642658.1002295 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7iAa-0003ku-3O; Mon, 27 Nov 2023 20:25:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642658.1002295; Mon, 27 Nov 2023 20: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 1r7iAZ-0003kn-VY; Mon, 27 Nov 2023 20:25:27 +0000
Received: by outflank-mailman (input) for mailman id 642658;
 Mon, 27 Nov 2023 20:25: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 1r7iAZ-0003kd-0x; Mon, 27 Nov 2023 20:25: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 1r7iAY-0005xK-P7; Mon, 27 Nov 2023 20:25: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 1r7iAY-0005aj-A5; Mon, 27 Nov 2023 20:25:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7iAY-0008J2-9k; Mon, 27 Nov 2023 20:25: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=xHb+dMLr7MnzEZ379oioKQ0nGUOz/jrPJkg1Djzh6wA=; b=wJ/RI5Rp+1Jo0xJCkglG/cfgHt
	hHxtNtLpko85GXVoHPRONanZ3nyavL30ZytSIaZ2/WjtY6dpskNmNroP3N2vBXadzamBk3t1st1ZL
	64r7Dq7fzOv2VjUddHAEdjS+du35MeBxPviCcnKKh03iv2ufeDSbVaSQLSrRUlDsv5vk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183870-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183870: trouble: blocked/broken
X-Osstest-Failures:
    ovmf:build-amd64:<job status>:broken:regression
    ovmf:build-amd64-pvops:<job status>:broken:regression
    ovmf:build-amd64-xsm:<job status>:broken:regression
    ovmf:build-i386:<job status>:broken:regression
    ovmf:build-i386-pvops:<job status>:broken:regression
    ovmf:build-i386-xsm:<job status>:broken:regression
    ovmf:build-i386:host-install(4):broken:regression
    ovmf:build-i386-xsm:host-install(4):broken:regression
    ovmf:build-i386-pvops:host-install(4):broken:regression
    ovmf:build-amd64:host-install(4):broken:regression
    ovmf:build-amd64-pvops:host-install(4):broken:regression
    ovmf:build-amd64-xsm:host-install(4):broken:regression
    ovmf:build-amd64-libvirt:build-check(1):blocked:nonblocking
    ovmf:build-i386-libvirt:build-check(1):blocked:nonblocking
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=33e31c289cc7b417f110d6da70dc8224443d32d3
X-Osstest-Versions-That:
    ovmf=8736b8fdca85e02933cdb0a13309de14c9799ece
From: osstest service owner <osstest-admin@xenproject.org>
Date: Mon, 27 Nov 2023 20:25:26 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386                    4 host-install(4)        broken REGR. vs. 183825
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 183825
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 183825
 build-amd64                   4 host-install(4)        broken REGR. vs. 183825
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 183825
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 183825

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a

version targeted for testing:
 ovmf                 33e31c289cc7b417f110d6da70dc8224443d32d3
baseline version:
 ovmf                 8736b8fdca85e02933cdb0a13309de14c9799ece

Last test of basis   183825  2023-11-22 13:41:06 Z    5 days
Testing same since   183867  2023-11-27 05:41:07 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  xieyuanh <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386 host-install(4)
broken-step build-i386-xsm host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)

Not pushing.

------------------------------------------------------------
commit 33e31c289cc7b417f110d6da70dc8224443d32d3
Author: xieyuanh <yuanhao.xie@intel.com>
Date:   Mon Nov 20 12:09:14 2023 +0800

    UefiCpuPkg/MpInitLib: Update the comments of _CPU_MP_DATA.
    
    No functional changes in this patch.
    
    Updates the comments of _CPU_MP_DATA to delcared that duplications in
    CpuMpData are present to avoid to be direct accessed and comprehended
     in assembly code. CpuMpData: Intended for use in C code while
     ExchangeInfo are used in assembly code in this module.
    
    This patch deletes the unnecessary comments in CpuMpData, since
    CpuMpData is no longer responsible for passing information from PEI to
    DXE.
    
    Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com>
    Cc: Laszlo Ersek lersek@redhat.com
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>

commit cb3f41a9378822a0bcf0febf898af254b4994b8d
Author: Yuanhao Xie <yuanhao.xie@intel.com>
Date:   Fri Nov 10 16:03:02 2023 +0800

    UefiCpuPkg/MpInitLib: Enable execute disable bit.
    
    This patch synchronizes the No-Execute bit in the IA32_EFER
    register for the APs before the RestoreVolatileRegisters operation.
    
    The commit 964a4f0, titled "Eliminate the second INIT-SIPI-SIPI
    sequence," replaces the second INIT-SIPI-SIPI sequence with the BSP
    calling the SwitchApContext function to initiate a specialized start-up
    signal, waking up APs in the DXE instead of using INIT-SIPI-SIPI.
    
    Due to this change, the logic for "Enable execute disable bit" in
    MpFuncs.nasm is no longer executed. However, to ensure the proper setup
    of the page table, it is necessary to synchronize the IA32_EFER.NXE for
    APs before executing RestoreVolatileRegisters .
    
    Based on SDM:
    If IA32_EFER.NXE is set to 1, it signifies execute-disable, meaning
    instruction fetches are not allowed from the 4-KByte page controlled by
    this entry. Conversely, if it is set to 0, it is reserved.
    
    Signed-off-by: Yuanhao Xie <yuanhao.xie@intel.com>
    Reviewed-by: Laszlo Ersek <lersek@redhat.com>
    Reviewed-by: Ray Ni <ray.ni@intel.com>
    Cc: Laszlo Ersek lersek@redhat.com
    Cc: Eric Dong <eric.dong@intel.com>
    Cc: Ray Ni <ray.ni@intel.com>
    Cc: Rahul Kumar <rahul1.kumar@intel.com>
    Cc: Gerd Hoffmann <kraxel@redhat.com>


From xen-devel-bounces@lists.xenproject.org Mon Nov 27 23:22:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Mon, 27 Nov 2023 23:22:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642673.1002304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7kvf-0005gC-9B; Mon, 27 Nov 2023 23:22:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642673.1002304; Mon, 27 Nov 2023 23:22: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 1r7kvf-0005g5-6V; Mon, 27 Nov 2023 23:22:15 +0000
Received: by outflank-mailman (input) for mailman id 642673;
 Mon, 27 Nov 2023 23: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=fJnr=HI=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r7kvd-0005fz-H0
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 23:22:13 +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 c99ae52f-8d7b-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 00:22:10 +0100 (CET)
Received: by mail-ej1-x635.google.com with SMTP id
 a640c23a62f3a-9fd0059a967so1122429466b.1
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 15:22:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c99ae52f-8d7b-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701127329; x=1701732129; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=57DF+as5OT3YcN1tasSYT/2Li56Bsht+emeOpvyzrvg=;
        b=lkMoMScZN5jkZ9gK5xvDV9aYkumOIfzxvFn+/1nFEbTAYSQBvwPuI+3BqtGJ+oAGQc
         BGrCrgJmWfzHQdmwsBrDd5oRe8fZtEARtmAwn1cjCur5FN93HuB9rYvqbMgfQ3bPQDKe
         68sbC1UpehPmX5zv9pOAnEGNfE4CLOFUa9ZIDuYa4R9b9VLnf5i2oq3GS4nTas9tggvY
         3W07Q5J8lT7uDx4eAyDRHvu7eJ8OV909rcM9OzLbhdVoSGY+B+6NQC/KzcGZGmZPb7OD
         Ni1a6XFp7WvHU32k8MwqNivDidqcG59CTnB4sIV1pRhjCAkzND0Y3RedtDSUN5e3HZKE
         dTIQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701127329; x=1701732129;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=57DF+as5OT3YcN1tasSYT/2Li56Bsht+emeOpvyzrvg=;
        b=H/XIUhLQ49/TXDJftYm8QlhUaygpNgbHDgQ1VbZ4Omm5kah9X7bhJ+5/l9e/S8bqip
         Zp6jWPtiZNK01mWcvuoEMkOSNTaMoaeexxjgQnZS3Qx2mL3C/kdzb/xo5EbSgcle+TTl
         PNUbH9jW5b3uRNCN0COwKTdo1SQcPC52e/Kl7egV6AKmkX1oJRYWx1MvhZKgE2XZSYi+
         2FM3rst2sgGPMzgsmX3Y3P7eD9p9Eu6p+lpj/IR5DKG5Br65UlEYlho3aqhw2VM+c9HE
         N3v8iKsXvQ+i/a1ChjQYzIS1Cy+zB+mLHkWroIDCmOIzSzJW2UAP5z6x5pcD1kroRA8P
         oFRA==
X-Gm-Message-State: AOJu0Yzq1T+RmC3aEVD7rPOoEKExLbrmT9zqRQbHLNx0x9rVStpPnEai
	EBhKWJvmQFIQvKf8PLnPiRKRy6epmEYBEhJZy2M=
X-Google-Smtp-Source: AGHT+IGusc6u/tCxvbZ7C5bA8J1owms8jL2DypfIAVyhJ0wFyqMVBVbGIXQ/yKR3iluDBizbQFmQH8lz3oMZGlwOmlA=
X-Received: by 2002:a17:906:e17:b0:9e8:1ba0:18fb with SMTP id
 l23-20020a1709060e1700b009e81ba018fbmr13751354eji.29.1701127328944; Mon, 27
 Nov 2023 15:22:08 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net> <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
 <ZWUgfkP4U5kOmQNj@mattapan.m5p.com>
In-Reply-To: <ZWUgfkP4U5kOmQNj@mattapan.m5p.com>
From: Mario Marietto <marietto2008@gmail.com>
Date: Tue, 28 Nov 2023 00:21:32 +0100
Message-ID: <CA+1FSijOZW_OTH2B3Zh3xkEFDt1h0TJo+kmZMtrO4yzga-RrGg@mail.gmail.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32 bit
To: Elliott Mitchell <ehem+freebsd@m5p.com>
Cc: Chuck Zmudzinski <brchuckz@netscape.net>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Demi Marie Obenour <demi@invisiblethingslab.com>, Anthony PERARD <anthony.perard@citrix.com>, 
	Julien Grall <julien@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>
Content-Type: multipart/alternative; boundary="00000000000028d415060b2a92f6"

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

Hello.

I know two FreeBSD developers that can commit your patches,if they think
that they are good. I could drop an email to them. I've hardly helped one
of them with the testing when we have implemented the passthrough of a
recent nvidia gpu on Linux. The second one is experienced with arm and
virtualization. Plus I know the main developer of bhyve. I'm happy to ask
them to review your work.

On Tue, Nov 28, 2023 at 12:04=E2=80=AFAM Elliott Mitchell <ehem+freebsd@m5p=
.com>
wrote:

> On Mon, Nov 27, 2023 at 10:57:42AM -0500, Chuck Zmudzinski wrote:
> > On 11/27/2023 10:22 AM, Chuck Zmudzinski wrote:
> > >
> > > I have been collaborating with Mario, and I can explain what we have
> done so far :
> > >
> > > We are using Julien's patch set against an old development version of
> FreeBSD 11
> > > from 2014-12-03 :
> > >
> > >
> https://xenbits.xen.org/gitweb/?p=3Dpeople/julieng/freebsd.git;a=3Dshortl=
og;h=3Drefs/heads/xen-arm-v2.2
> > >
> > > We successfully built the XENVIRT kernel and FreeBSD world, and
> created the
> > > FreeBSD rootfs according to Julien's instructions here :
> > >
> > >
> https://lists.freebsd.org/pipermail/freebsd-xen/2014-November/002202.html
> > >
> > > There were some adjustments to the instructions :
> > >
> > > To build the kernel, we used :
> > >
> > > $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENVIRT buildkernel
> > >
> > > instead of
> > >
> > > $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENHVM buildkernel
> > >
> > > The FreeBSD 'kernel' file is in ELF format and did not work, and we
> spent
> > > some time trying to convert it to the zImage format without realizing
> the
> > > build of the FreeBSD kernel creates the 'kernel.bin' file in the
> zImage format.
> > > So when booting with the 'kernel.bin' file instead, it actually boots=
 :
> > >
> > > user@devuan-bunsen ~ % sudo xl create freebsd.cfg
> > > Parsing config from freebsd.cfg
> > > user@devuan-bunsen ~ % sudo xl li
> > > Name                                        ID   Mem VCPUs  State
>  Time(s)
> > > Domain-0                                     0   768     2     r-----
>   1439.4
> > > freebsd                                      1  1152     1     r-----
>      3.0
> > > user@devuan-bunsen ~ %
> > >
> > > However, the guest is still not working correctly :
> > >
> > > 1. Attaching the console with the -c option at creation or with
> > >    'xl console freebsd' results in no output to the console.
> > >
> > > 2. The timestamp on the virtual disk image file shows that the
> filesystem
> > >    was at best mounted read-only, if it was mounted at all by the gue=
st
> > >    FreeBSD kernel.
> > >
> > > 3. The 'xl shutdown freebsd' command does not work, it just hangs. To
> stop
> > >    the guest, you need to do 'xl destroy freebsd'.
> > >
> > > However, I think we can get the console to work and the rootfs to
> mount because I
> > > just realized I forgot to do the steps from Julien's instructions of
> editing the
> > > /etc/fstab and /etc/ttys files in the FreeBSD rootfs :
> > >
> > > $ echo "/dev/xbd0       /       ufs     rw      1       1" >
> /mnt/etc/fstab
> > > $ vi /mnt/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm o=
n
> secure")
> > >
> > > I will add those and see if the console and disk are working.
> >
> > Unfortunately, adding xc0 to /etc/ttys and /dev/xbd0 as the root device
> in
> > /etc/fstab did not make the console or disk work. Still no output on th=
e
> > xen console from the guest kernel, and the timestamp on the rootfs imag=
e
> > file did not change so it did not mount read-write.
> >
> > We could use some advice for troubleshooting this. Now, we are blind
> because
> > we are not getting any xen console output But I am pleased we were able
> to
> > demonstrate that Julien's old patch set for FreeBSD 11 allows us to boo=
t
> > FreeBSD 11 on a modern version of Xen on arm - we are using the Debian
> > stable Xen 4.17 packages.
>
> The only method for booting I ever tried was Tianocore/EDK2.  As brought
> up previously, that needs an update for Xen 4.17 though:
> https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00278.htm=
l
> Essentially they had two uses of the shared info page, one was unmapped
> and the other never got unmapped.  That is good enough for FreeBSD's
> bootloader to function.
>
> FreeBSD's handling of patches is unfortunately very friendly to people
> who have permission to commit, or know someone responsible for a
> particular area.  If you're trying to get patches for something which
> has shared responsibility and you're unfunded you're SoL.  As such my
> work has basically stalled.  Everything works, but without anyone with
> an interest it is simply sitting here mouldering.  Combined with the
> annoyance curse it is simply sitting.
>
> Julien Grall's patches are very much PoC.  As such I've done a lot of
> updating.  Take a look at branch "submit":
> https://gitlab.com/ehem/freebsd-src.git
>
> Problem is FreeBSD's interrupt situation is troublesome.  Rather than 1
> interrupt framework, there are 4.  Each has different built-in
> assumptions.  "INTRNG" was designed for ARM and deliberately threw away
> the x86 assumptions, but then added other assumptions.
>
> The tip of the "submit" branch has a mix of different potential
> approaches to working with "INTRNG".  Several of these might be rejected,
> but hopefully one might be accepted.  Really I need someone in the
> FreeBSD organization with the authority to override Michal Meloun's
> proselytizing about INTRNG being perfect.
>
> The other problem is no one in the FreeBSD organization wants to deal
> with it's interrupt disaster.  By the time anyone is allowed to commit,
> they've been thoroughly burned by the situation and are unwilling to
> touch the interrupt system.  Thus leading to the antipattern of it being
> just barely maintained.
>
> I've got it working, just I'm stuck.
>
>
> BTW Roger Pau Monn=C3=A9, now that Xen 4.18 is out, take a look at the
> "royger" branch?
>
>
> --
> (\___(\___(\______          --=3D> 8-) EHM <=3D--          ______/)___/)_=
__/)
>  \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
>   \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
> 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445
>
>
>

--=20
Mario.

--00000000000028d415060b2a92f6
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello.</div><div><br></div><div>I know two FreeBSD de=
velopers that can commit your patches,if they think that they are good. I c=
ould drop an email to them. I&#39;ve hardly helped one of them with the tes=
ting when we have implemented the passthrough of a recent nvidia gpu on Lin=
ux. The second one is experienced with arm and virtualization. Plus I know =
the main developer of bhyve. I&#39;m happy to ask them to review your work.=
=C2=A0 <br></div></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" clas=
s=3D"gmail_attr">On Tue, Nov 28, 2023 at 12:04=E2=80=AFAM Elliott Mitchell =
&lt;<a href=3D"mailto:ehem%2Bfreebsd@m5p.com">ehem+freebsd@m5p.com</a>&gt; =
wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0=
px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, N=
ov 27, 2023 at 10:57:42AM -0500, Chuck Zmudzinski wrote:<br>
&gt; On 11/27/2023 10:22 AM, Chuck Zmudzinski wrote:<br>
&gt; &gt; <br>
&gt; &gt; I have been collaborating with Mario, and I can explain what we h=
ave done so far :<br>
&gt; &gt; <br>
&gt; &gt; We are using Julien&#39;s patch set against an old development ve=
rsion of FreeBSD 11<br>
&gt; &gt; from 2014-12-03 :<br>
&gt; &gt; <br>
&gt; &gt; <a href=3D"https://xenbits.xen.org/gitweb/?p=3Dpeople/julieng/fre=
ebsd.git;a=3Dshortlog;h=3Drefs/heads/xen-arm-v2.2" rel=3D"noreferrer" targe=
t=3D"_blank">https://xenbits.xen.org/gitweb/?p=3Dpeople/julieng/freebsd.git=
;a=3Dshortlog;h=3Drefs/heads/xen-arm-v2.2</a><br>
&gt; &gt; <br>
&gt; &gt; We successfully built the XENVIRT kernel and FreeBSD world, and c=
reated the<br>
&gt; &gt; FreeBSD rootfs according to Julien&#39;s instructions here :<br>
&gt; &gt; <br>
&gt; &gt; <a href=3D"https://lists.freebsd.org/pipermail/freebsd-xen/2014-N=
ovember/002202.html" rel=3D"noreferrer" target=3D"_blank">https://lists.fre=
ebsd.org/pipermail/freebsd-xen/2014-November/002202.html</a><br>
&gt; &gt; <br>
&gt; &gt; There were some adjustments to the instructions :<br>
&gt; &gt; <br>
&gt; &gt; To build the kernel, we used :<br>
&gt; &gt; <br>
&gt; &gt; $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENVIRT buildkernel<br=
>
&gt; &gt; <br>
&gt; &gt; instead of<br>
&gt; &gt; <br>
&gt; &gt; $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENHVM buildkernel<br>
&gt; &gt; <br>
&gt; &gt; The FreeBSD &#39;kernel&#39; file is in ELF format and did not wo=
rk, and we spent<br>
&gt; &gt; some time trying to convert it to the zImage format without reali=
zing the<br>
&gt; &gt; build of the FreeBSD kernel creates the &#39;kernel.bin&#39; file=
 in the zImage format.<br>
&gt; &gt; So when booting with the &#39;kernel.bin&#39; file instead, it ac=
tually boots :<br>
&gt; &gt; <br>
&gt; &gt; user@devuan-bunsen ~ % sudo xl create freebsd.cfg<br>
&gt; &gt; Parsing config from freebsd.cfg<br>
&gt; &gt; user@devuan-bunsen ~ % sudo xl li<br>
&gt; &gt; Name=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 ID=C2=A0 =C2=A0Mem VCPUs=C2=A0 State=C2=A0 =C2=A0Time(s)<br>
&gt; &gt; Domain-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 =C2=
=A00=C2=A0 =C2=A0768=C2=A0 =C2=A0 =C2=A02=C2=A0 =C2=A0 =C2=A0r-----=C2=A0 =
=C2=A0 1439.4<br>
&gt; &gt; freebsd=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 1=C2=A0 1152=C2=A0 =C2=A0 =C2=A01=C2=A0 =C2=A0 =C2=A0r-----=C2=A0 =C2=
=A0 =C2=A0 =C2=A03.0<br>
&gt; &gt; user@devuan-bunsen ~ %<br>
&gt; &gt; <br>
&gt; &gt; However, the guest is still not working correctly :<br>
&gt; &gt; <br>
&gt; &gt; 1. Attaching the console with the -c option at creation or with<b=
r>
&gt; &gt;=C2=A0 =C2=A0 &#39;xl console freebsd&#39; results in no output to=
 the console.<br>
&gt; &gt; <br>
&gt; &gt; 2. The timestamp on the virtual disk image file shows that the fi=
lesystem<br>
&gt; &gt;=C2=A0 =C2=A0 was at best mounted read-only, if it was mounted at =
all by the guest<br>
&gt; &gt;=C2=A0 =C2=A0 FreeBSD kernel.<br>
&gt; &gt; <br>
&gt; &gt; 3. The &#39;xl shutdown freebsd&#39; command does not work, it ju=
st hangs. To stop<br>
&gt; &gt;=C2=A0 =C2=A0 the guest, you need to do &#39;xl destroy freebsd&#3=
9;.<br>
&gt; &gt; <br>
&gt; &gt; However, I think we can get the console to work and the rootfs to=
 mount because I<br>
&gt; &gt; just realized I forgot to do the steps from Julien&#39;s instruct=
ions of editing the<br>
&gt; &gt; /etc/fstab and /etc/ttys files in the FreeBSD rootfs :<br>
&gt; &gt; <br>
&gt; &gt; $ echo &quot;/dev/xbd0=C2=A0 =C2=A0 =C2=A0 =C2=A0/=C2=A0 =C2=A0 =
=C2=A0 =C2=A0ufs=C2=A0 =C2=A0 =C2=A0rw=C2=A0 =C2=A0 =C2=A0 1=C2=A0 =C2=A0 =
=C2=A0 =C2=A01&quot; &gt; /mnt/etc/fstab<br>
&gt; &gt; $ vi /mnt/etc/ttys (add the line &#39;xc0 &quot;/usr/libexec/gett=
y Pc&quot; xterm on secure&quot;)<br>
&gt; &gt; <br>
&gt; &gt; I will add those and see if the console and disk are working.<br>
&gt; <br>
&gt; Unfortunately, adding xc0 to /etc/ttys and /dev/xbd0 as the root devic=
e in<br>
&gt; /etc/fstab did not make the console or disk work. Still no output on t=
he<br>
&gt; xen console from the guest kernel, and the timestamp on the rootfs ima=
ge<br>
&gt; file did not change so it did not mount read-write.<br>
&gt; <br>
&gt; We could use some advice for troubleshooting this. Now, we are blind b=
ecause<br>
&gt; we are not getting any xen console output But I am pleased we were abl=
e to<br>
&gt; demonstrate that Julien&#39;s old patch set for FreeBSD 11 allows us t=
o boot<br>
&gt; FreeBSD 11 on a modern version of Xen on arm - we are using the Debian=
<br>
&gt; stable Xen 4.17 packages.<br>
<br>
The only method for booting I ever tried was Tianocore/EDK2.=C2=A0 As broug=
ht<br>
up previously, that needs an update for Xen 4.17 though:<br>
<a href=3D"https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg=
00278.html" rel=3D"noreferrer" target=3D"_blank">https://lists.xenproject.o=
rg/archives/html/xen-devel/2023-10/msg00278.html</a><br>
Essentially they had two uses of the shared info page, one was unmapped<br>
and the other never got unmapped.=C2=A0 That is good enough for FreeBSD&#39=
;s<br>
bootloader to function.<br>
<br>
FreeBSD&#39;s handling of patches is unfortunately very friendly to people<=
br>
who have permission to commit, or know someone responsible for a<br>
particular area.=C2=A0 If you&#39;re trying to get patches for something wh=
ich<br>
has shared responsibility and you&#39;re unfunded you&#39;re SoL.=C2=A0 As =
such my<br>
work has basically stalled.=C2=A0 Everything works, but without anyone with=
<br>
an interest it is simply sitting here mouldering.=C2=A0 Combined with the<b=
r>
annoyance curse it is simply sitting.<br>
<br>
Julien Grall&#39;s patches are very much PoC.=C2=A0 As such I&#39;ve done a=
 lot of<br>
updating.=C2=A0 Take a look at branch &quot;submit&quot;:<br>
<a href=3D"https://gitlab.com/ehem/freebsd-src.git" rel=3D"noreferrer" targ=
et=3D"_blank">https://gitlab.com/ehem/freebsd-src.git</a><br>
<br>
Problem is FreeBSD&#39;s interrupt situation is troublesome.=C2=A0 Rather t=
han 1<br>
interrupt framework, there are 4.=C2=A0 Each has different built-in<br>
assumptions.=C2=A0 &quot;INTRNG&quot; was designed for ARM and deliberately=
 threw away<br>
the x86 assumptions, but then added other assumptions.<br>
<br>
The tip of the &quot;submit&quot; branch has a mix of different potential<b=
r>
approaches to working with &quot;INTRNG&quot;.=C2=A0 Several of these might=
 be rejected,<br>
but hopefully one might be accepted.=C2=A0 Really I need someone in the<br>
FreeBSD organization with the authority to override Michal Meloun&#39;s<br>
proselytizing about INTRNG being perfect.<br>
<br>
The other problem is no one in the FreeBSD organization wants to deal<br>
with it&#39;s interrupt disaster.=C2=A0 By the time anyone is allowed to co=
mmit,<br>
they&#39;ve been thoroughly burned by the situation and are unwilling to<br=
>
touch the interrupt system.=C2=A0 Thus leading to the antipattern of it bei=
ng<br>
just barely maintained.<br>
<br>
I&#39;ve got it working, just I&#39;m stuck.<br>
<br>
<br>
BTW Roger Pau Monn=C3=A9, now that Xen 4.18 is out, take a look at the<br>
&quot;royger&quot; branch?<br>
<br>
<br>
-- <br>
(\___(\___(\______=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 --=3D&gt; 8-) EHM &lt;=
=3D--=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ______/)___/)___/)<br>
=C2=A0\BS (=C2=A0 =C2=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"mail=
to:ehem%2Bsigmsg@m5p.com" target=3D"_blank">ehem+sigmsg@m5p.com</a>=C2=A0 P=
GP 87145445=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 )=C2=A0 =C2=A0/=
<br>
=C2=A0 \_CS\=C2=A0 =C2=A0|=C2=A0 _____=C2=A0 -O #include &lt;stddisclaimer.=
h&gt; O-=C2=A0 =C2=A0_____=C2=A0 |=C2=A0 =C2=A0/=C2=A0 _/<br>
8A19\___\_|_/58D2 7E3D DDF4 7BA6 &lt;-PGP-&gt; 41D1 B375 37D0 8714\_|_/___/=
5445<br>
<br>
<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--00000000000028d415060b2a92f6--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 00:40:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 00:40:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642680.1002315 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7m8c-0000Kt-Fp; Tue, 28 Nov 2023 00:39:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642680.1002315; Tue, 28 Nov 2023 00:39: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 1r7m8c-0000Km-B2; Tue, 28 Nov 2023 00:39:42 +0000
Received: by outflank-mailman (input) for mailman id 642680;
 Tue, 28 Nov 2023 00:39: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 1r7m8b-0000Kc-3R; Tue, 28 Nov 2023 00:39: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 1r7m8a-000318-OJ; Tue, 28 Nov 2023 00:39: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 1r7m8a-0004UE-5I; Tue, 28 Nov 2023 00:39:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7m8a-0000LY-4q; Tue, 28 Nov 2023 00: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=L1HrwU0Jv+otGw2QrotbHeNGFJuMcmh3Gmk0gfvl1mo=; b=HqB0Ct+IgkTkkI6uPCcQklAu8S
	hHA31WJW3ppHytL27j24qB7Hln+QMmtd4vA+Xi/g5OKDcN12SUGkepJSxmbqRgWUV6DsOPT5OtwSD
	3UOV+fmi+1K11sQGCu2hiM/FD50CCLLXvqBp7I31wu+HzDgZ20TLKvSIgGECbDJAIBQ4=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183873-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183873: trouble: blocked/broken
X-Osstest-Failures:
    linux-linus:build-amd64:<job status>:broken:regression
    linux-linus:build-amd64-pvops:<job status>:broken:regression
    linux-linus:build-amd64-xsm:<job status>:broken:regression
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64-xsm:<job status>:broken:regression
    linux-linus:build-armhf:<job status>:broken:regression
    linux-linus:build-armhf-pvops:<job status>:broken:regression
    linux-linus:build-i386:<job status>:broken:regression
    linux-linus:build-i386-pvops:<job status>:broken:regression
    linux-linus:build-i386-xsm:<job status>:broken:regression
    linux-linus:build-i386-xsm:host-install(4):broken:regression
    linux-linus:build-i386:host-install(4):broken:regression
    linux-linus:build-i386-pvops:host-install(4):broken:regression
    linux-linus:build-arm64:host-install(4):broken:regression
    linux-linus:build-arm64-pvops:host-install(4):broken:regression
    linux-linus:build-arm64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64:host-install(4):broken:regression
    linux-linus:build-amd64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64-pvops:host-install(4):broken:regression
    linux-linus:build-armhf-pvops:host-install(4):broken:regression
    linux-linus:build-armhf:host-install(4):broken:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    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-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    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:build-arm64-libvirt: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:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:build-i386-libvirt: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-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=2cc14f52aeb78ce3f29677c2de1f06c0e91471ab
X-Osstest-Versions-That:
    linux=b46ae77f67874918c540feb1e37a63308b2c9290
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 00:39:40 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 183859
 build-i386                    4 host-install(4)        broken REGR. vs. 183859
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 183859
 build-arm64                   4 host-install(4)        broken REGR. vs. 183859
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-amd64                   4 host-install(4)        broken REGR. vs. 183859
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-armhf                   4 host-install(4)        broken REGR. vs. 183859

Tests which did not succeed, but are not blocking:
 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-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-examine      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           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 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
 build-arm64-libvirt           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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 build-i386-libvirt            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-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 linux                2cc14f52aeb78ce3f29677c2de1f06c0e91471ab
baseline version:
 linux                b46ae77f67874918c540feb1e37a63308b2c9290

Last test of basis   183859  2023-11-25 22:13:34 Z    2 days
Failing since        183862  2023-11-26 04:55:31 Z    1 days    5 attempts
Testing same since   183868  2023-11-27 06:55:04 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Andrea della Porta <andrea.porta@suse.com>
  Andrew Halaney <ahalaney@redhat.com>
  Asuna Yang <SpriteOvO@gmail.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dapeng Mi <dapeng1.mi@linux.intel.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hans de Goede <hdegoede@redhat.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Heikki Krogeus <heikki.krogerus@linux.intel.com>
  Helge Deller <deller@gmx.de>
  Ingo Molnar <mingo@kernel.org>
  Ivan Ivanov <ivan.ivanov@suse.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lech Perczak <lech.perczak@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Matthias Kaehlcke <mka@chromium.org>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Niklas Neronin <niklas.neronin@linux.intel.com>
  Oliver Neukum <oneukum@suse.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pawel Laszczak <pawell@cadence.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Puliang Lu <puliang.lu@fibocom.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Ritvik Budhiraja <rbudhiraja@microsoft.com>
  Shawn Guo <shawn.guo@linaro.org>
  Stanley Chang <stanley_chang@realtek.com>
  Stefan Eichenberger <stefan.eichenberger@toradex.com>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Victor Fragoso <victorffs@hotmail.com>
  Wentong Wu <wentong.wu@intel.com>
  Will McVicker <willmcvicker@google.com>
  Yangyu Chen <cyy@cyyself.name>

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-arm64                                                  broken  
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 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                                 blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 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                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 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                                     blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 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                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-amd64-xl-vhd                                      blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-xsm host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 01:21:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 01:21:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642687.1002325 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7mmf-0005Wo-KJ; Tue, 28 Nov 2023 01:21:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642687.1002325; Tue, 28 Nov 2023 01:21: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 1r7mmf-0005Wh-Gs; Tue, 28 Nov 2023 01:21:05 +0000
Received: by outflank-mailman (input) for mailman id 642687;
 Tue, 28 Nov 2023 01:21: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=nMQ7=HJ=epam.com=prvs=5696eae2e6=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r7mme-0005Wb-KV
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 01:21:04 +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 62cf4f63-8d8c-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 02:21:00 +0100 (CET)
Received: from pps.filterd (m0174679.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AS0fZwl022786; Tue, 28 Nov 2023 01:20:43 GMT
Received: from eur05-vi1-obe.outbound.protection.outlook.com
 (mail-vi1eur05lp2169.outbound.protection.outlook.com [104.47.17.169])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3un5vdr1c7-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 28 Nov 2023 01:20:43 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by DB3PR0302MB8918.eurprd03.prod.outlook.com (2603:10a6:10:43b::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Tue, 28 Nov
 2023 01:20:37 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023
 01:20: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: 62cf4f63-8d8c-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LuyhFnKut4iK56T3LtUK4Ahe7ZkifCLAFoTK4wsvDJTHQRSdakuHW8OZYAo9q6JNe9CY3uc+V1+PC9TPCrd6tAcm8XsFt3qjCtKw0+Rejjz1T+aMO2UECIl6gLRRbH1O+qioWwKNgvtwwzHTIujHv0517gqDwYfABjraiVyGzbLdbENYyLP6K9Fy2vBd+eTCMJ66KLDFfgAqTn+KgPf0YnxQjCjal1TNOCEVti4IBqGpBPOxTLWkmHZKLysykQA88/4n+BZLOfA7cOYb4roSIrXWj9K7wmKKgnmbkVZryGEfY96zsmh29gETefpMk8+0i8iK0m4QlMY7B6+iX7IBKw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZSDu9I+631VGlq0MXvzkyYgsxuEOrGfIBIEr3UjIK3k=;
 b=ipoJcWXtN1cUPpZ2uMmqxTyl4IZ620yj8qCjcfw8ie6+FjIbCJZEmHf6V1dQtgO3eyBhmG6rRzP0BIaPw0LmRn5GahnMBGTThPDyRQ9cC6tyyLYIk6+4qENGprRQecHXadq/H8DbhjAKWp05rK96tMskENGs3eZeXM0KxtCftrJK5C8UT8b9+zploAK8ae7vG67EiqO0L+bexnLYf0+4uRb+UQ5n/TduapQU1iDsSo8xWFEgTisjL3LTMu6NvY37VWIBGENafbvSNztAilslFJ83ojgBZ3JDE7yK5v+/7YrU404cP4lpReTs4GQOEjumFQLchuzQdHRtYoL6BsVuDw==
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=ZSDu9I+631VGlq0MXvzkyYgsxuEOrGfIBIEr3UjIK3k=;
 b=SsMHBt2JizT8cZcNpYEvBT+LiSdZZe1GgTZSYEIGJ1oVJALBvcB6gXoy4TFRVlVtTJYeLFo+hlHlXEqSa7msO8wylQ7fMeMuRj6n0OlAR93mzRfonbPi7XaDOHR4t1XMr1111yTTVoGXz7pzLFK8Nu8iiU4gG+DIOUlIuSj/cC6IKt+5RZT/fSfX4OP3WfrQ/bb6okRMWMz6B2y8mE6nZNn/x0/utj8969dlS4MEhAH/b2e57bBotafvRWHbRR7tQbpuEQaJ8/I7dlWBd1TGodjk1FCtJJxKsk3zcv4wnLtJsgmfvLStullI9Nie1kU957t4aUoFT4Fvuk//BCD/7Q==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: David Woodhouse <dwmw2@infradead.org>
CC: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
        Stefano Stabellini
	<sstabellini@kernel.org>,
        Julien Grall <julien@xen.org>, Paul Durrant
	<xadimgnik@gmail.com>,
        Oleksandr Tyshchenko <Oleksandr_Tyshchenko@epam.com>,
        Anthony Perard <anthony.perard@citrix.com>,
        Paul Durrant <paul@xen.org>, Kevin Wolf <kwolf@redhat.com>,
        Hanna Reitz <hreitz@redhat.com>,
        =?utf-8?B?TWFyYy1BbmRyw6kgTHVyZWF1?= <marcandre.lureau@redhat.com>,
        Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>,
        "open
  list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>,
        "open list:Block  layer
 core" <qemu-block@nongnu.org>
Subject: Re: [EXTERNAL] [PATCH v3 2/5] xen: backends: don't overwrite XenStore
 nodes created by toolstack
Thread-Topic: [EXTERNAL] [PATCH v3 2/5] xen: backends: don't overwrite
 XenStore nodes created by toolstack
Thread-Index: AQHaHy1b3EzvbBTaE06mm4g67YDmDbCN2w8AgAEGzQA=
Date: Tue, 28 Nov 2023 01:20:35 +0000
Message-ID: <87il5mvfkt.fsf@epam.com>
References: <20231124232400.943580-1-volodymyr_babchuk@epam.com>
 <20231124232400.943580-3-volodymyr_babchuk@epam.com>
 <51fd9b1f4407b92352c109cbef5acf16c91351d4.camel@infradead.org>
In-Reply-To: <51fd9b1f4407b92352c109cbef5acf16c91351d4.camel@infradead.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|DB3PR0302MB8918:EE_
x-ms-office365-filtering-correlation-id: 08684dd8-202e-40ce-53dc-08dbefb03972
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 MkuNxnIEcKW0Lyb7Li3sObgMoihKaqFFKUkdGcqfPesjXQuo86F5D5PwatAPDcOaJhGPJdW/we3/8trDOXszfZPr8d8ybLhfYfDw30Q72o1TP6RZpEgZQVFBIFiKQO9XRLxoIFPOmrRCM01p86oamw4uDL/0R0KqXZ3BeNNpg/8pdMlQlhncyDdLeKF/IgKfcZSdg/RjOBDUiYGLH51gaV7nBI+KJSMW08HZx5EC4AL0cXBaabvLWFRB4Dn0DDywTjG2ScJCIvAT9SG+DjnYoQsRcpIzr+7VwnfMRBxkkJaB5JmpU58j0+wRUzTzFHHTYX5KBcYl0ueDAa16O9OiAq2HpWV9Mw4pF9HoHa4G3/xdMIl0qqrvrQPjyP52ikj3sIpkm9y7rdH9jthd3y1NBJV+AigviI63DjT9ovvxhW1dRatY2PjhMZmRa7G4+UaJ96i6n7xfWA5XGgtSnEswiXne3esMNzOzoux0vMFH164utxBrUCmqvXmIEnrXybYt/uzKqaWXsvdic0Di84p9VJLqPIeeUExoqfY90Y2j5ginaveIJOkKWwyCfsXNvRhjx5wXtn3OcUfubdQkjCMcy1mnLpkzTdG/hxcmpdAby446e1/dG4t6Kv+60S3EY75A
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:(13230031)(39860400002)(366004)(396003)(136003)(376002)(346002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(2616005)(26005)(71200400001)(6506007)(6512007)(4326008)(8936002)(91956017)(7416002)(86362001)(478600001)(6486002)(6916009)(76116006)(66946007)(66556008)(316002)(54906003)(66476007)(66446008)(64756008)(8676002)(55236004)(5660300002)(38100700002)(83380400001)(122000001)(41300700001)(2906002)(38070700009)(4001150100001)(36756003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?VzlqejQ4dXVQMTdLVjRrcnJhUCs0dkcrbUljQkFUUjRNbjVuMmVzVVNwdVVG?=
 =?utf-8?B?alJLbXRSRlprZ3I2Ukg3cHRhVW5VMjE5b0dja0J5V282b3VwN1haVy82Mnpq?=
 =?utf-8?B?VnNqbGJIUHBkTXlhOThralFMdWdSNW1DM3ZBcjhGSTdYTFFvT0dBdEROZmJn?=
 =?utf-8?B?YmVrVTdnUzlZeVVUOWRabFFuN3gwbGRrSkNYYzRJSEpINnd2M1Zhek9VM2Rq?=
 =?utf-8?B?TU8rcW1DdHY1cHV2M3FQNVI4VGNrKzB3Q1RtZExTTHNXQUw4N3VtNjJzVTR2?=
 =?utf-8?B?cE9DeXhLUU0yTm4rVEJCQTBrSElyWStXZHN2dEdrenhaR0p1cEpHd1NpNFJN?=
 =?utf-8?B?cnBwbmFlWmVoNXd6S2lwUjN5Vi8rWmgxczlhMGJEOEVGMCt3Z09TMU4zeTZU?=
 =?utf-8?B?Ny96Y3IyUVFGUkkzTXBZM3hMTnoxQjJBWW5oNkVPOXkvQWRoVXpGUEp6Z3lS?=
 =?utf-8?B?QjRpT3c4b0duOHJkRDA1TTVHWEZlSWFlSS9iTnpUaGZBd1h0ZEpDN3k3eUU3?=
 =?utf-8?B?KzcrWHBhcHpKKzZVaGNEZm9KV1NEVXhQbXdZdUYwSENLTnBHWXdOcmVFR0ZK?=
 =?utf-8?B?R0hrdU1RZnYxNkxPWjl3OXdsWGRTNFd4YlhUcVV6VS9xRFFEMjh6QlFnS0dv?=
 =?utf-8?B?UWVYNlBUTTFPUkNkbG5LSnVNT1N2c0JTMmYzRDRMd1dLeGFQN2VzRFpxQkcv?=
 =?utf-8?B?UFpVNW1TbEVaRExPZ0ZFdlNDU1B2RGpaYWo3dE1JWmt1SXhlVmtob0JXbm1H?=
 =?utf-8?B?Nko0UTgyUXU1aWtFVWFaMWMxNGVoRHd0L2EyMUEwNDc0ZERZUE12NU85MWVi?=
 =?utf-8?B?QXBwTnBpeCtZdzRrSjByL2VBNC9aVVRrcXc5V0lzcVZNdEhROWYwenVDUjRS?=
 =?utf-8?B?bVV6bGZRL2JjYVlFQ2pMS01zaDR6blNZdStCTTlkQXo1YUUrdkV0aVg5NVZS?=
 =?utf-8?B?NnpjOGdka0h3SXU5Y3BZN0VXT2NOYTQyUlMybS9TQmludXVQZmNxWVhSVExp?=
 =?utf-8?B?eWlkNDRIaVFCTWVrVFM2anBaZ1EwUWFHcmx0T1hSaHJoaCtTdHg4U1dNcTVy?=
 =?utf-8?B?N2t5dm02TU9qek8wekRGWExmVGlHS0c5NkZFNkkwWllXMWFWc1VrQk9YN3Zv?=
 =?utf-8?B?WFJ5RE1paVVaMkY2dys3ejFSdW5Yb0VxNGsybW5lQ0FwN2J0Q0R3WFBmd0dn?=
 =?utf-8?B?MEdxTnBDdENMQVRTempDTlMyWTBRa004ZHJsRkRnT0tUdllIWHNhek9GYzE1?=
 =?utf-8?B?UmkzZjhuZnpEejhjb2FlNkhGenZkYnZUK1BjKzBEMGJWeHRpanBhYWdKOGx2?=
 =?utf-8?B?NXo0bGlsNVB5TUZwN0tMS0RDTnBMeUt1WC8yeFYrS3dDdVNRYXVBOG9ueXQv?=
 =?utf-8?B?NDZZaXRINUh6Vm54YmtsSjRDUDNMS1NBVVhLblZUWHZ2dmJvZnpTam5QMjFC?=
 =?utf-8?B?ODlVMkZEMWozWXN3dFlTWFlhUzNlbFNJK3FjeGJNMFZLbThSRVB3RWVUakNP?=
 =?utf-8?B?U3pOa1l3WU53WTRCb1d0NitHWXZwOUVUNmNXQTVTaDZrQW9xQTlYQ1NqMU5M?=
 =?utf-8?B?aTVkN25EZjNjT0hjOE9FRG5EZEhFZ0o4bEd1Vk5hdlpaY2M1NEgrMi9ZNHVR?=
 =?utf-8?B?Z0szM0xaZk1LcnhpOXFJQzhxam8xeFUrSzNmK1RoSFZYOFp5bmZLMTg1cXpt?=
 =?utf-8?B?aXVrQnVyQXFSOC9oQWZlSmh5dFA4OGJVaHBTcE5RRGxCVGVFb1FUMEcxVUtB?=
 =?utf-8?B?QkIrNXhvOEZkcy9aN2h2Zk96Ull2RHgzWnR3V0NGUFNqTzJ5d1hYbmR3aVht?=
 =?utf-8?B?UkpLM2p0R05wekFWYWRoZGVteCtwbSszTHdOM010U2I4SEJ2L21hNEVUOHNn?=
 =?utf-8?B?Y2dlQmYrd3diM2hyV0NYelNiY3pBaUNkUndjdmZUbC9VMUdXNmpzYWM4aTlP?=
 =?utf-8?B?U0J4ZUpyOGdkWjlOMUZqeVk2ei8rcTR0NklYeUdNcWlRTDdtSHUxc1gzOWRr?=
 =?utf-8?B?ZkFwTDFVOFdaRGZQUjMxdEU5QXJTOGRHRXo5UGZ5VUwwbHM3bFJWSWYvTE43?=
 =?utf-8?B?aTEwUHdWcEJaZEZLUVhaY0dhaVp0TUQ1S2xpb05uZlFHN0JqV2tJekJGcWN3?=
 =?utf-8?B?SGd3UjhmMy94M1FZUThlWUQ1S0I2YVdHVncyRmVMTTczNmE2NlUwWUVWdmtw?=
 =?utf-8?B?V1E9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <691736B00C6D1E4595BCEA2D0C4C4360@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 08684dd8-202e-40ce-53dc-08dbefb03972
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Nov 2023 01:20:36.0039
 (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: O77BPFQN1G2fT7WW92WiWXhLzD5VnxwrTE4apV81YLCWI+lHvGgwmSiJfYULPxJoZLkQRRiJ5VvLdzNzDFV+Qqbq434loybb0S77ZVqjwBM=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB3PR0302MB8918
X-Proofpoint-GUID: c0vklUpUJpaOH0g9gSmXMIO9x9v8_p5X
X-Proofpoint-ORIG-GUID: c0vklUpUJpaOH0g9gSmXMIO9x9v8_p5X
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.987,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-28_01,2023-11-27_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 phishscore=0 spamscore=0 mlxscore=0 adultscore=0 clxscore=1015
 mlxlogscore=999 suspectscore=0 impostorscore=0 bulkscore=0
 lowpriorityscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311280009

SGkgRGF2aWQsDQoNClRoYW5rIHlvdSBmb3IgdGhlIHJldmlldw0KDQpEYXZpZCBXb29kaG91c2Ug
PGR3bXcyQGluZnJhZGVhZC5vcmc+IHdyaXRlczoNCg0KPiBbW1MvTUlNRSBTaWduZWQgUGFydDpV
bmRlY2lkZWRdXQ0KPiBPbiBGcmksIDIwMjMtMTEtMjQgYXQgMjM6MjQgKzAwMDAsIFZvbG9keW15
ciBCYWJjaHVrIHdyb3RlOg0KPj4gWGVuIFBWIGRldmljZXMgaW4gUUVNVSBjYW4gYmUgY3JlYXRl
ZCBpbiB0d28gd2F5czogZWl0aGVyIGJ5IFFFTVUNCj4+IGl0c2VsZiwgaWYgdGhleSB3ZXJlIHBh
c3NlZCB2aWEgY29tbWFuZCBsaW5lLCBvciBieSBYZW4gdG9vbHN0YWNrLiBJbg0KPj4gdGhlIGxh
dHRlciBjYXNlLCBRRU1VIHNjYW5zIFhlblN0b3JlIGVudHJpZXMgYW5kIGNvbmZpZ3VyZXMgZGV2
aWNlcw0KPj4gYWNjb3JkaW5nbHkuDQo+PiANCj4+IEluIHRoZSBzZWNvbmQgY2FzZSB3ZSBkb24n
dCB3YW50IFFFTVUgdG8gd3JpdGUvZGVsZXRlIGZyb250LWVuZA0KPj4gZW50cmllcyBmb3IgdHdv
IHJlYXNvbnM6IGl0IG1pZ2h0IGhhdmUgbm8gYWNjZXNzIHRvIHRob3NlIGVudHJpZXMgaWYNCj4+
IGl0IGlzIHJ1bm5pbmcgaW4gdW4tcHJpdmlsZWdlZCBkb21haW4gYW5kIGl0IGlzIGp1c3QgaW5j
b3JyZWN0IHRvDQo+PiBvdmVyd3JpdGUgZW50cmllcyBhbHJlYWR5IHByb3ZpZGVkIGJ5IFhlbiB0
b29sc3RhY2ssIGJlY2F1c2UNCj4+IHRvb2xzdGFjaw0KPj4gbWFuYWdlcyB0aG9zZSBub2Rlcy4g
Rm9yIGV4YW1wbGUsIGl0IG1pZ2h0IHJlYWQgYmFja2VuZC0gb3IgZnJvbnRlbmQtDQo+PiBzdGF0
ZSB0byBiZSBzdXJlIHRoYXQgdGhleSBhcmUgYm90aCBkaXNjb25uZWN0ZWQgYW5kIGl0IGlzIHNh
ZmUgdG8NCj4+IGRlc3Ryb3kgYSBkb21haW4uDQo+PiANCj4+IFRoaXMgcGF0Y2ggY2hlY2tzIHBy
ZXNlbmNlIG9mIHhlbmRldi0+YmFja2VuZCB0byBjaGVjayBpZiBYZW4gUFYNCj4+IGRldmljZSB3
YXMgY29uZmlndXJlZCBieSBYZW4gdG9vbHN0YWNrIHRvIGRlY2lkZSBpZiBpdCBzaG91bGQgdG91
Y2gNCj4+IGZyb250ZW5kIGVudHJpZXMgaW4gWGVuU3RvcmUuIEFsc28sIHdoZW4gd2UgbmVlZCB0
byByZW1vdmUgWGVuU3RvcmUNCj4+IGVudHJpZXMgZHVyaW5nIGRldmljZSB0ZWFyZG93biBvbmx5
IGlmIHRoZXkgd2VyZW4ndCBjcmVhdGVkIGJ5IFhlbg0KPj4gdG9vbHN0YWNrLiBJZiB0aGV5IHdl
cmUgY3JlYXRlZCBieSB0b29sc3RhY2ssIHRoZW4gaXQgaXMgdG9vbHN0YWNrJ3MNCj4+IGpvYiB0
byBkbyBwcm9wZXIgY2xlYW4tdXAuDQo+PiANCj4+IFN1Z2dlc3RlZC1ieTogUGF1bCBEdXJyYW50
IDx4YWRpbWduaWtAZ21haWwuY29tPg0KPj4gU3VnZ2VzdGVkLWJ5OiBEYXZpZCBXb29kaG91c2Ug
PGR3bXdAYW1hem9uLmNvLnVrPg0KPj4gQ28tQXV0aG9yZWQtYnk6IE9sZWtzYW5kciBUeXNoY2hl
bmtvIDxvbGVrc2FuZHJfdHlzaGNoZW5rb0BlcGFtLmNvbT4NCj4+IFNpZ25lZC1vZmYtYnk6IFZv
bG9keW15ciBCYWJjaHVrIDx2b2xvZHlteXJfYmFiY2h1a0BlcGFtLmNvbT4NCj4NCj4gUmV2aWV3
ZWQtYnk6IERhdmlkIFdvb2Rob3VzZSA8ZHdtd0BhbWF6b24uY28udWs+DQo+DQo+IC4uLiBhbGJl
aXQgd2l0aCBhIGNvdXBsZSBvZiBzdWdnZXN0aW9ucy4uLiANCj4NCj4+IGRpZmYgLS1naXQgYS9o
dy9jaGFyL3hlbl9jb25zb2xlLmMgYi9ody9jaGFyL3hlbl9jb25zb2xlLmMNCj4+IGluZGV4IGJl
ZjhhM2E2MjEuLmI1MmRkZGRhYmYgMTAwNjQ0DQo+PiAtLS0gYS9ody9jaGFyL3hlbl9jb25zb2xl
LmMNCj4+ICsrKyBiL2h3L2NoYXIveGVuX2NvbnNvbGUuYw0KPj4gQEAgLTQ1MCw3ICs0NTAsNyBA
QCBzdGF0aWMgdm9pZCB4ZW5fY29uc29sZV9yZWFsaXplKFhlbkRldmljZSAqeGVuZGV2LCBFcnJv
ciAqKmVycnApDQo+PiANCj4+IMKgwqDCoMKgIHRyYWNlX3hlbl9jb25zb2xlX3JlYWxpemUoY29u
LT5kZXYsIG9iamVjdF9nZXRfdHlwZW5hbWUoT0JKRUNUKGNzKSkpOw0KPj4gDQo+PiAtwqDCoMKg
IGlmIChDSEFSREVWX0lTX1BUWShjcykpIHsNCj4+ICvCoMKgwqAgaWYgKENIQVJERVZfSVNfUFRZ
KGNzKSAmJiAheGVuZGV2LT5iYWNrZW5kKSB7DQo+PiDCoMKgwqDCoMKgwqDCoMKgIC8qIFN0cmlw
IHRoZSBsZWFkaW5nICdwdHk6JyAqLw0KPj4gwqDCoMKgwqDCoMKgwqDCoCB4ZW5fZGV2aWNlX2Zy
b250ZW5kX3ByaW50Zih4ZW5kZXYsICJ0dHkiLCAiJXMiLCBjcy0+ZmlsZW5hbWUgKyA0KTsNCj4+
IMKgwqDCoMKgIH0NCj4NCj4NCj4gSXQncyBraW5kIG9mIHdlaXJkIHRoYXQgdGhhdCBvbmUgaXMg
YSBmcm9udGVuZCBub2RlIGF0IGFsbDsgc3VyZWx5IGl0DQo+IHNob3VsZCBoYXZlIGJlZW4gYSBi
YWNrZW5kIG5vZGU/DQoNClllYWgsIEFGQUlLLCBjb25zb2xlIHdhcyB0aGUgZmlyc3QgUFYgZHJp
dmVyLCBzbyBpdCBpcyBhIGJpdCBzdHJhbmdlLg0KQXMgSSBzZWUsIHRoaXMgZnJvbnRlbmQgZW50
cnkgaXMgdXNlZCBieSAieGwgY29uc29sZSIgdG9vbCB0byBmaW5kIFBUWQ0KZGV2aWNlIHRvIGF0
dGFjaCB0by4gU28geWVzLCBpdCBzaG91bGQgYmUgaW4gYmFja2VuZCBwYXJ0IG9mIHRoZQ0KeGVu
c3RvcmUuIEJ1dCBJIGRvbid0IGJlbGlldmUgd2UgY2FuIGZpeCB0aGlzIHJpZ2h0IG5vdy4NCg0K
PiBCdXQgaXQgaXMga25vd24gb25seSB0byBRRU1VIG9uY2UgaXQNCj4gYWN0dWFsbHkgb3BlbnMg
L2Rldi9wdG14IGFuZCBjcmVhdGVzIGEgbmV3IHB0eS4gSXQgY2FuJ3QgYmUgcG9wdWxhdGVkDQo+
IGJ5IHRoZSB0b29sc3RhY2sgaW4gYWR2YW5jZS4NCj4NCj4gU28gc2hvdWxkbid0IHRoZSB0b29s
c3RhY2sgaGF2ZSBtYWRlIGl0IHdyaXRhYmxlIGJ5IHRoZSBkcml2ZXIgZG9tYWluPw0KDQpNYXli
ZSBpdCBjYW4gbGVhZCB0byBhIHdlaXJkIHNpdHVhdGlvbiB3aGVuIHVzZXIgaW4gRG9tLTAgdHJp
ZXMgdG8gdXNlDQoieGwgY29uc29sZSIgY29tbWFuZCB0byBhdHRhY2ggdG8gYSBjb25zb2xlIHRo
YXQgaXMgYWJzZW50IGluIERvbS0wLA0KYmVjYXVzZSAidHR5IiBlbnRyeSBwb2ludHMgdG8gUFRZ
IGluIHRoZSBkcml2ZXIgZG9tYWluLg0KDQo+IEkgdGhpbmsgd2Ugc2hvdWxkIGF0dGVtcHQgdG8g
d3JpdGUgdGhpcyBhbmQganVzdCBncmFjZWZ1bGx5IGhhbmRsZSB0aGUNCj4gZmFpbHVyZSBpZiB3
ZSBjYW4ndC4gKEluIGZhY3QsIHhlbl9kZXZpY2VfZnJvbnRlbmRfcHJpbnRmKCkgd2lsbCBqdXN0
DQo+IHVzZSBlcnJvcl9yZXBvcnRfZXJyKCkgd2hpY2ggaXMgcHJvYmFibHkgT0sgdW5sZXNzIHlv
dSBmZWVsIHN0cm9uZ2x5DQo+IGFib3V0IHNpbGVuY2luZyBpdCkuDQoNCk5vcGUsIEkgYW0gZmlu
ZSB3aXRoIHRoaXMgYXBwcm9hY2guIEknbGwgcmVtb3ZlIHRoaXMgaHVuayBpbiB0aGUgbmV4dA0K
dmVyc2lvbi4NCg0KPg0KPj4gZGlmZiAtLWdpdCBhL2h3L25ldC94ZW5fbmljLmMgYi9ody9uZXQv
eGVuX25pYy5jDQo+PiBpbmRleCBhZmExMGM5NmU4Li4yNzQ0MmJlZjM4IDEwMDY0NA0KPj4gLS0t
IGEvaHcvbmV0L3hlbl9uaWMuYw0KPj4gKysrIGIvaHcvbmV0L3hlbl9uaWMuYw0KPj4gQEAgLTMx
NSwxNCArMzE1LDE2IEBAIHN0YXRpYyB2b2lkIHhlbl9uZXRkZXZfcmVhbGl6ZShYZW5EZXZpY2Ug
KnhlbmRldiwgRXJyb3IgKiplcnJwKQ0KPj4gDQo+PiDCoMKgwqDCoCBxZW11X21hY2FkZHJfZGVm
YXVsdF9pZl91bnNldCgmbmV0ZGV2LT5jb25mLm1hY2FkZHIpOw0KPj4gDQo+PiAtwqDCoMKgIHhl
bl9kZXZpY2VfZnJvbnRlbmRfcHJpbnRmKHhlbmRldiwgIm1hYyIsICIlMDJ4OiUwMng6JTAyeDol
MDJ4OiUwMng6JTAyeCIsDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5ldGRldi0+Y29uZi5tYWNhZGRyLmFbMF0sDQo+PiAt
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIG5ldGRldi0+Y29uZi5tYWNhZGRyLmFbMV0sDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5ldGRldi0+Y29uZi5tYWNh
ZGRyLmFbMl0sDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIG5ldGRldi0+Y29uZi5tYWNhZGRyLmFbM10sDQo+PiAtwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5l
dGRldi0+Y29uZi5tYWNhZGRyLmFbNF0sDQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5ldGRldi0+Y29uZi5tYWNhZGRyLmFb
NV0pOw0KPj4gLQ0KPj4gK8KgwqDCoCBpZiAoIXhlbmRldi0+YmFja2VuZCkgew0KPj4gK8KgwqDC
oMKgwqDCoMKgIHhlbl9kZXZpY2VfZnJvbnRlbmRfcHJpbnRmKHhlbmRldiwgIm1hYyIsDQo+PiAr
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqAgIiUwMng6JTAyeDolMDJ4OiUwMng6JTAyeDolMDJ4IiwNCj4+ICvCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBuZXRkZXYtPmNvbmYubWFjYWRkci5hWzBdLA0KPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5ldGRldi0+
Y29uZi5tYWNhZGRyLmFbMV0sDQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmV0ZGV2LT5jb25mLm1hY2FkZHIu
YVsyXSwNCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBuZXRkZXYtPmNvbmYubWFjYWRkci5hWzNdLA0KPj4gK8Kg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIG5ldGRldi0+Y29uZi5tYWNhZGRyLmFbNF0sDQo+PiArwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmV0
ZGV2LT5jb25mLm1hY2FkZHIuYVs1XSk7DQo+PiArwqDCoMKgIH0NCj4+IMKgwqDCoMKgIG5ldGRl
di0+bmljID0gcWVtdV9uZXdfbmljKCZuZXRfeGVuX2luZm8sICZuZXRkZXYtPmNvbmYsDQo+PiDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBvYmplY3RfZ2V0X3R5cGVuYW1lKE9CSkVDVCh4ZW5kZXYpKSwNCj4+IMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIERFVklD
RSh4ZW5kZXYpLT5pZCwgbmV0ZGV2KTsNCj4NCj4NCj4gUGVyaGFwcyBoZXJlIHlvdSBzaG91bGQg
Y3JlYXRlIHRoZSAibWFjIiBub2RlIGlmIGl0IGRvZXNuJ3QgZXhpc3QgKG9yDQo+IGlzIHRoYXQg
ImlmIGl0IGRvZXNuJ3QgbWF0Y2ggbmV0ZGV2LT5jb25mLm1hY2FkZHIiPykgYW5kIGp1c3QNCj4g
Z3JhY2VmdWxseSBhY2NlcHQgZmFpbHVyZSB0b28/DQo+DQoNCkkgYW0gbm90IHN1cmUgdGhhdCBJ
IGdvdCB0aGlzIHJpZ2h0LiBjb25mLm1hY2NhZHIgY2FuIGJlIHNlbnQgaW4gdHdvDQp3YXlzOiB2
aWEgeGVuX25ldF9kZXZpY2VfY3JlYXRlKCksIHdoaWNoIHdpbGwgZmFpbCBpZiB0b29sc3RhY2sg
ZGlkbid0DQpwcm92aWRlZCBhIE1BQyBhZGRyZXNzLCBvciB2aWEgcWVtdV9tYWNhZGRyX2RlZmF1
bHRfaWZfdW5zZXQoKSwgd2hpY2ggaXMNCnRoZSBjYXNlIGZvciBYZW4gZW11bGF0aW9uLg0KDQpY
ZW4gdG9vbHN0YWNrIGlzIHdyaXR0ZW4gaW4gYSBzdWNoIHdheSwgdGhhdCBpdCBhbHdheXMgcHJv
dmlkZXMgIm1hYyINClhlblN0b3JlIGVudHJ5IGFuZCBmcm9udGVuZCBkcml2ZXIgZXhwZWN0cyB0
aGF0IHRoaXMgZW50cnkgaXMgYWx3YXlzDQpwcmVzZW50LiBTbywgaWYgYnkgYW55IGNoYW5jZSB0
b29sc3RhY2sgaGFzIG5vdCBwcm92aWRlZCB0aGUgTUFDLCB0aGVuDQp0aGVyZSBpcyBzb21ldGhp
bmcgd3JvbmcgYW5kIGl0IGlzIGJldHRlciB0byBmYWlsLCB3aGF0DQp4ZW5fbmV0X2RldmljZV9j
cmVhdGUoKSBkb2VzLiBJIGFtIG5vdCBzdXJlIHRoYXQgaXQgaXMgYSBnb29kIGlkZWEgdG8NCnRy
eSB0byBzaWxlbnRseSBmaXggYW55IHRvb2xzdGFjayBpc3N1ZXMuDQoNCi0tIA0KV0JSLCBWb2xv
ZHlteXI=


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 01:36:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 01:36:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642691.1002335 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7n1K-0007cr-1D; Tue, 28 Nov 2023 01:36:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642691.1002335; Tue, 28 Nov 2023 01: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 1r7n1J-0007ck-SM; Tue, 28 Nov 2023 01:36:13 +0000
Received: by outflank-mailman (input) for mailman id 642691;
 Tue, 28 Nov 2023 01:36: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=3GcI=HJ=huaweicloud.com=yukuai1@srs-se1.protection.inumbo.net>)
 id 1r7n1I-0007ce-Lr
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 01:36:12 +0000
Received: from dggsgout11.his.huawei.com (dggsgout11.his.huawei.com
 [45.249.212.51]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7dd318b7-8d8e-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 02:36:05 +0100 (CET)
Received: from mail.maildlp.com (unknown [172.19.163.216])
 by dggsgout11.his.huawei.com (SkyGuard) with ESMTP id 4SfQ5T24WRz4f3k5c
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 09:35:57 +0800 (CST)
Received: from mail02.huawei.com (unknown [10.116.40.112])
 by mail.maildlp.com (Postfix) with ESMTP id 227771A0AA0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 09:36:00 +0800 (CST)
Received: from [10.174.176.73] (unknown [10.174.176.73])
 by APP1 (Coremail) with SMTP id cCh0CgDn6hD8Q2VlfLiHCA--.59632S3;
 Tue, 28 Nov 2023 09:35:59 +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: 7dd318b7-8d8e-11ee-98e3-6d05b1d4d9a1
Subject: Re: [PATCH block/for-next v2 01/16] block: add a new helper to get
 inode from block_device
To: Christoph Hellwig <hch@infradead.org>, Yu Kuai <yukuai1@huaweicloud.com>
Cc: ming.lei@redhat.com, axboe@kernel.dk, roger.pau@citrix.com,
 colyli@suse.de, kent.overstreet@gmail.com, joern@lazybastard.org,
 miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com,
 sth@linux.ibm.com, hoeppner@linux.ibm.com, hca@linux.ibm.com,
 gor@linux.ibm.com, agordeev@linux.ibm.com, jejb@linux.ibm.com,
 martin.petersen@oracle.com, clm@fb.com, josef@toxicpanda.com,
 dsterba@suse.com, viro@zeniv.linux.org.uk, brauner@kernel.org,
 nico@fluxnic.net, xiang@kernel.org, chao@kernel.org, tytso@mit.edu,
 adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
 konishi.ryusuke@gmail.com, dchinner@redhat.com, linux@weissschuh.net,
 min15.li@samsung.com, dlemoal@kernel.org, willy@infradead.org,
 akpm@linux-foundation.org, hare@suse.de, p.raghav@samsung.com,
 linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
 xen-devel@lists.xenproject.org, linux-bcache@vger.kernel.org,
 linux-mtd@lists.infradead.org, linux-s390@vger.kernel.org,
 linux-scsi@vger.kernel.org, linux-bcachefs@vger.kernel.org,
 linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
 linux-erofs@lists.ozlabs.org, linux-ext4@vger.kernel.org,
 gfs2@lists.linux.dev, linux-nilfs@vger.kernel.org, yi.zhang@huawei.com,
 yangerkun@huawei.com, "yukuai (C)" <yukuai3@huawei.com>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-2-yukuai1@huaweicloud.com>
 <ZWRDeQ4K8BiYnV+X@infradead.org>
 <6acdeece-7163-3219-95e2-827e54eadd0c@huaweicloud.com>
 <ZWTErvnMf7HiO1Wj@infradead.org>
From: Yu Kuai <yukuai1@huaweicloud.com>
Message-ID: <bc64da80-e9bd-84cb-f173-876623303131@huaweicloud.com>
Date: Tue, 28 Nov 2023 09:35:56 +0800
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <ZWTErvnMf7HiO1Wj@infradead.org>
Content-Type: text/plain; charset=gbk; format=flowed
Content-Transfer-Encoding: 8bit
X-CM-TRANSID:cCh0CgDn6hD8Q2VlfLiHCA--.59632S3
X-Coremail-Antispam: 1UD129KBjvJXoW7KF1rGFWkXF1DXFy3WF45ZFb_yoW8Wry7pF
	Wjkan8GF1DAFnrur4kWa1xK3yFy3sFkrW7GFy8CryxA3y5WF9FgFyfKw4UJFyDGr4DJr4q
	qa10vFy3Xa48WaDanT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2
	9KBjDU0xBIdaVrnRJUUU9I14x267AKxVWrJVCq3wAFc2x0x2IEx4CE42xK8VAvwI8IcIk0
	rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02
	1l84ACjcxK6xIIjxv20xvE14v26F1j6w1UM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4U
	JVWxJr1l84ACjcxK6I8E87Iv67AKxVW0oVCq3wA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_Gc
	CE3s1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E
	2Ix0cI8IcVAFwI0_Jr0_Jr4lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJV
	W8JwACjcxG0xvEwIxGrwACjI8F5VA0II8E6IAqYI8I648v4I1lFIxGxcIEc7CjxVA2Y2ka
	0xkIwI1lc7I2V7IY0VAS07AlzVAYIcxG8wCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7x
	kEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E
	67AF67kF1VAFwI0_Wrv_Gr1UMIIYrxkI7VAKI48JMIIF0xvE2Ix0cI8IcVAFwI0_Jr0_JF
	4lIxAIcVC0I7IYx2IY6xkF7I0E14v26F4j6r4UJwCI42IY6xAIw20EY4v20xvaj40_WFyU
	JVCq3wCI42IY6I8E87Iv67AKxVWUJVW8JwCI42IY6I8E87Iv6xkF7I0E14v26r4j6r4UJb
	IYCTnIWIevJa73UjIFyTuYvjfUojjgUUUUU
X-CM-SenderInfo: 51xn3trlr6x35dzhxuhorxvhhfrp/

Hi,

 2023/11/28 0:32, Christoph Hellwig д:
> On Mon, Nov 27, 2023 at 09:07:22PM +0800, Yu Kuai wrote:
>> 1) Is't okay to add a new helper to pass in bdev for following apis?
> 
> 
> For some we already have them (e.g. bdev_nr_bytes to read the bdev)
> size, for some we need to add them.  The big thing that seems to
> stick out is page cache API, and I think that is where we need to
> define maintainable APIs for file systems and others to use the
> block device page cache.  Probably only in folio versions and not
> pages once if we're touching the code anyay

Thanks for the advice! In case I'm understanding correctly, do you mean
that all other fs/drivers that is using pages versions can safely switch
to folio versions now?

By the way, my orginal idea was trying to add a new field 'bd_flags'
in block_devcie, and then add a new bit so that bio_check_ro() will
only warn once for each partition. Now that this patchset will be quite
complex, I'll add a new bool field 'bd_ro_warned' to fix the above
problem first, and then add 'bd_flags' once this patchset is done.

Thanks,
Kuai

> 
>> 2) For the file fs/buffer.c, there are some special usage like
>> following that I don't think it's good to add a helper:
>>
>> spin_lock(&bd_inode->i_mapping->private_lock);
>>
>> Is't okay to move following apis from fs/buffer.c directly to
>> block/bdev.c?
>>
>> __find_get_block
>> bdev_getblk
> 
> I'm not sure moving is a good idea, but we might end up the
> some kind of low-level access from buffer.c, be that special
> helpers, a separate header or something else.  Let's sort out
> the rest of the kernel first.
> 
> .
> 



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 02:25:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 02:25:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642705.1002347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7nmd-0007EF-IO; Tue, 28 Nov 2023 02:25:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642705.1002347; Tue, 28 Nov 2023 02:25: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 1r7nmd-0007E8-Fu; Tue, 28 Nov 2023 02:25:07 +0000
Received: by outflank-mailman (input) for mailman id 642705;
 Tue, 28 Nov 2023 02:25: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 1r7nmb-0007Dy-G0; Tue, 28 Nov 2023 02:25: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 1r7nmb-0003nC-5Z; Tue, 28 Nov 2023 02:25: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 1r7nma-0006ry-QB; Tue, 28 Nov 2023 02:25:04 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7nma-0006NU-Pk; Tue, 28 Nov 2023 02:25: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=Mzu7HwPKeXRucoJW1OL//ZEb+U9LK9GEI5ZwnqeosbY=; b=oQtFO8s0rA2WND9EwTS5XPnfSz
	iQyyZLtoJA55dCJB7x3d8HOiEQJoS8EfQgenaxjJjfJYldBpJIwL5vCSKEUWRCev2ojdYKf+Ja4Ro
	I39uojHItQWn13LPlwpg8VGfsG4EfR4gh8ZhoANIUG1cmDudIIqHXhCi2/TgddMnUK4o=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183874-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183874: trouble: blocked/broken
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:<job status>:broken:regression
    xen-unstable-smoke:build-arm64-xsm:<job status>:broken:regression
    xen-unstable-smoke:build-armhf:<job status>:broken:regression
    xen-unstable-smoke:build-arm64-xsm:host-install(4):broken:regression
    xen-unstable-smoke:build-amd64:host-install(4):broken:regression
    xen-unstable-smoke:build-armhf:host-install(4):broken:regression
    xen-unstable-smoke:build-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-xl-qemuu-debianhvm-amd64:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-armhf-armhf-xl:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    xen=72d51813d631fe27d37736b7a55eeec08f246983
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 02:25:04 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 183851
 build-amd64                   4 host-install(4)        broken REGR. vs. 183851
 build-armhf                   4 host-install(4)        broken REGR. vs. 183851

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

version targeted for testing:
 xen                  72d51813d631fe27d37736b7a55eeec08f246983
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    3 days
Failing since        183871  2023-11-27 14:00:26 Z    0 days    2 attempts
Testing same since   183874  2023-11-27 19:00:27 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>

jobs:
 build-arm64-xsm                                              broken  
 build-amd64                                                  broken  
 build-armhf                                                  broken  
 build-amd64-libvirt                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    blocked 
 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 build-amd64 broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

------------------------------------------------------------
commit 72d51813d631fe27d37736b7a55eeec08f246983
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Nov 27 15:18:48 2023 +0100

    x86: amend cpu_has_xen_{ibt,shstk}
    
    ... to evaluate to false at compile-time when the respective Kconfig
    control is off, thus allowing the compiler to eliminate then-dead code.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 17754972fa98bff2dfdec09b8094f54530bafcb8
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:56 2023 +0100

    x86/atomic: address violations of MISRA C:2012 Rule 11.8
    
    Edit casts that unnecessarily remove const qualifiers
    to comply with Rule 11.8.
    The type of the provided pointer may be const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fc63c0ebefe7e9d166b07971273c1de62428eb18
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:32 2023 +0100

    AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
    
    Drop an unnecessary cast discarding a const qualifier, to comply with
    Rule 11.8. The type of the formal parameter ivhd_block is const
    qualified.
    
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fe26cb2dd20fa864deb05e4b278bc9993ba120e6
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:07 2023 +0100

    x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
    
    Add missing const qualifier in casting to comply with Rule 11.8.
    Argument tag is typically const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 09c2fe438da1dfc83f70d921b52240bea576615f
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:16:43 2023 +0100

    x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
    
    Add const qualifier in cast that unnecessarily removes it
    to comply with Rule 11.8.
    The variable info is declared with a const qualified type.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Nov 27 15:16:01 2023 +0100

    livepatch: do not use .livepatch.funcs section to store internal state
    
    Currently the livepatch logic inside of Xen will use fields of struct
    livepatch_func in order to cache internal state of patched functions.  Note
    this is a field that is part of the payload, and is loaded as an ELF section
    (.livepatch.funcs), taking into account the SHF_* flags in the section
    header.
    
    The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
    are SHF_ALLOC, which leads to its contents (the array of livepatch_func
    structures) being placed in read-only memory:
    
    Section Headers:
      [Nr] Name              Type             Address           Offset
           Size              EntSize          Flags  Link  Info  Align
    [...]
      [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
           0000000000000068  0000000000000000   A       0     0     8
    
    This previously went unnoticed, as all writes to the fields of livepatch_func
    happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
    however WP is no longer toggled in CR0 for patch application, and only the
    hypervisor .text mappings are made write-accessible.  That leads to the
    following page fault when attempting to apply a livepatch:
    
    ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
    CPU:    4
    RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
    [...]
    Xen call trace:
       [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
       [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
       [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee
    
    Pagetable walk from ffff82d040625079:
     L4[0x105] = 000000008c6c9063 ffffffffffffffff
     L3[0x141] = 000000008c6c6063 ffffffffffffffff
     L2[0x003] = 000000086a1e7063 ffffffffffffffff
     L1[0x025] = 800000086ca5d121 ffffffffffffffff
    
    ****************************************
    Panic on CPU 4:
    FATAL PAGE FAULT
    [error_code=0003]
    Faulting linear address: ffff82d040625079
    ****************************************
    
    Fix this by moving the internal Xen function patching state out of
    livepatch_func into an area not allocated as part of the ELF payload.  While
    there also constify the array of livepatch_func structures in order to prevent
    further surprises.
    
    Note there's still one field (old_addr) that gets set during livepatch load.  I
    consider this fine since the field is read-only after load, and at the point
    the field gets set the underlying mapping hasn't been made read-only yet.
    
    Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

commit 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:15:09 2023 +0100

    xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
    
    Add missing parameter names and uniform the interfaces of
    modify_xen_mappings() and modify_xen_mappings_lite().
    
    No functional change.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit b82b867a6694368b9a74ed00397b2393d129a24d
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:14:00 2023 +0100

    x86/mm: preparation work to uniform modify_xen_mappings* interfaces
    
    The objective is to use parameter name "nf" to denote "new flags"
    in all the modify_xen_mappings* functions.
    Since modify_xen_mappings_lite() is currently using "nf" as identifier
    for a local variable, bad things could happen if new uses of such
    variable are committed while a renaming patch is waiting for the
    approval.
    To avoid such danger, as first thing rename the local variable from
    "nf" to "flags".
    
    No functional change.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit fbcec32d6d3ea0ac329301925b317478316209ed
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:39:55 2023 +0000

    x86/mem_sharing: Release domain if we are not able to enable memory sharing
    
    In case it's not possible to enable memory sharing (mem_sharing_control
    fails) we just return the error code without releasing the domain
    acquired some lines above by rcu_lock_live_remote_domain_by_id().
    
    Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit b9eeb1992676ec83cee285b97fee94d03eaa9836
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:26:20 2023 +0000

    x86/mem_sharing: Fix typo in comment
    
    ambigious -> ambiguous
    
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 02:28:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 02:28:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642709.1002357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7npy-0008FJ-1M; Tue, 28 Nov 2023 02:28:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642709.1002357; Tue, 28 Nov 2023 02:28: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 1r7npx-0008FC-Uy; Tue, 28 Nov 2023 02:28:33 +0000
Received: by outflank-mailman (input) for mailman id 642709;
 Tue, 28 Nov 2023 02:28: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=Tf5Q=HJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r7npw-0008Eq-7S
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 02:28:32 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0513e38-8d95-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 03:28:29 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id EF5DECE18E3;
 Tue, 28 Nov 2023 02:28:26 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DAF7AC433C8;
 Tue, 28 Nov 2023 02:28: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: d0513e38-8d95-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701138505;
	bh=z4wzH3qpdfJ/JKkQFVb6J45z+sFez+5zYfb5QLGMN7M=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=YapOFRPLjMjPmPfU7m578MnirLLI1qVz/Tn24qp1mWiwuiJEjpL2sbMxecTOyR1jh
	 R5+tLReqBYVGqo4+G2c+/ZpN2tEPsk8UrNa+zHbafk7LHU8M/w9+V7yxmN4U+IBWCH
	 bN2S1Uj1Aby9eElDsActoM9eLdnxftNLUe3FrSq+ANFQZyKQgAwUwwy9MLl9o5wk9o
	 4E0DQHS9oicoVtvs/t+KOXbRA1YaMkhNcwAbfl1nviGdUYTxSKeAWKdRZuq8fYc05W
	 AkPjal45KnZXn1gn7NjPzo4+/iV4wIx/TOEBjfSo0nsI4O32IY3aZrt3T72oo67nSQ
	 mgWAB9iMi607g==
Date: Mon, 27 Nov 2023 18:28:20 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Chuck Zmudzinski <brchuckz@netscape.net>
cc: Mario Marietto <marietto2008@gmail.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Demi Marie Obenour <demi@invisiblethingslab.com>, 
    Anthony PERARD <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>, 
    Elliott Mitchell <ehem+freebsd@m5p.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
In-Reply-To: <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
Message-ID: <alpine.DEB.2.22.394.2311271826370.3533093@ubuntu-linux-20-04-desktop>
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com> <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com> <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com> <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net> <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1230342751-1701138505=:3533093"

  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-1230342751-1701138505=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Mon, 27 Nov 2023, Chuck Zmudzinski wrote:
> On 11/27/2023 10:22 AM, Chuck Zmudzinski wrote:
> > On 11/27/2023 7:45 AM, Mario Marietto wrote:
> >> @Chuck Zmudzinski <mailto:brchuckz@netscape.net> : Stay tuned. They want to help us. The xen developers are great. Very good support for us. I'm sure that you can give a good contribution to understand what's our problem and how to implement a fix with the help of all those good guys.
> >> 
> >> On Mon, Nov 27, 2023 at 11:56 AM Roger Pau Monné <roger.pau@citrix.com <mailto:roger.pau@citrix.com>> wrote:
> >> 
> >>     On Mon, Nov 27, 2023 at 10:28:13AM +0000, Henry Wang wrote:
> >>     > +(xen-devel and Arm maintainers, including Julien)
> >>     >
> >>     > > On Nov 27, 2023, at 18:03, Mario Marietto <marietto2008@gmail.com <mailto:marietto2008@gmail.com>>
> >>     > > wrote:
> >>     > >
> >>     > > Hello.  We have just virtualized Debian 12 on our arm (32 bit)
> >>     > > Chromebook model xe303c12 . As host / dom0 we have chosen Devuan
> >>     > > 5,and for guest / domU,Debian 12. It works great. But our goal is
> >>     > > different. We want to virtualize FreeBSD as domU. Can we have a
> >>     > > working Xen PV network driver for a FreeBSD arm guest ?. I found
> >>     > > that Julien Grall has ported the Xen drivers to FreeBSD on arm. I
> >>     > > would like to know if Julien's work was accepted upstream by
> >>     > > FreeBSD, in which case FreeBSD as a Xen guest on arm should work
> >>     > > if we enable the Xen PV drivers in the FreeBSD on arm kernel. If
> >>     > > Julien's work was not accepted upstream by FreeBSD, we will have
> >>     > > to find his patches and apply them ourselves to the FreeBSD on arm
> >>     > > kernel.
> >> 
> >>     I've added Elliot on Cc as he is working on upstreaming the patches to
> >>     FreeBSD.  He will be able to provide a better update than myself.
> >> 
> >>     Regards, Roger.
> > 
> > I have been collaborating with Mario, and I can explain what we have done so far :
> > 
> > We are using Julien's patch set against an old development version of FreeBSD 11
> > from 2014-12-03 :
> > 
> > https://xenbits.xen.org/gitweb/?p=people/julieng/freebsd.git;a=shortlog;h=refs/heads/xen-arm-v2.2
> > 
> > We successfully built the XENVIRT kernel and FreeBSD world, and created the
> > FreeBSD rootfs according to Julien's instructions here :
> > 
> > https://lists.freebsd.org/pipermail/freebsd-xen/2014-November/002202.html
> > 
> > There were some adjustments to the instructions :
> > 
> > To build the kernel, we used :
> > 
> > $ sudo make TARGET_ARCH=armv6 KERNCONF=XENVIRT buildkernel
> > 
> > instead of
> > 
> > $ sudo make TARGET_ARCH=armv6 KERNCONF=XENHVM buildkernel
> > 
> > The FreeBSD 'kernel' file is in ELF format and did not work, and we spent
> > some time trying to convert it to the zImage format without realizing the
> > build of the FreeBSD kernel creates the 'kernel.bin' file in the zImage format.
> > So when booting with the 'kernel.bin' file instead, it actually boots :
> > 
> > user@devuan-bunsen ~ % sudo xl create freebsd.cfg
> > Parsing config from freebsd.cfg
> > user@devuan-bunsen ~ % sudo xl li
> > Name                                        ID   Mem VCPUs	State	Time(s)
> > Domain-0                                     0   768     2     r-----    1439.4
> > freebsd                                      1  1152     1     r-----       3.0
> > user@devuan-bunsen ~ %
> > 
> > However, the guest is still not working correctly :
> > 
> > 1. Attaching the console with the -c option at creation or with
> >    'xl console freebsd' results in no output to the console.
> > 
> > 2. The timestamp on the virtual disk image file shows that the filesystem
> >    was at best mounted read-only, if it was mounted at all by the guest
> >    FreeBSD kernel.
> > 
> > 3. The 'xl shutdown freebsd' command does not work, it just hangs. To stop
> >    the guest, you need to do 'xl destroy freebsd'.
> > 
> > However, I think we can get the console to work and the rootfs to mount because I
> > just realized I forgot to do the steps from Julien's instructions of editing the
> > /etc/fstab and /etc/ttys files in the FreeBSD rootfs :
> > 
> > $ echo "/dev/xbd0       /       ufs     rw      1       1" > /mnt/etc/fstab
> > $ vi /mnt/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm on secure")
> > 
> > I will add those and see if the console and disk are working.
> 
> Unfortunately, adding xc0 to /etc/ttys and /dev/xbd0 as the root device in
> /etc/fstab did not make the console or disk work. Still no output on the
> xen console from the guest kernel, and the timestamp on the rootfs image
> file did not change so it did not mount read-write.
> 
> We could use some advice for troubleshooting this. Now, we are blind because
> we are not getting any xen console output But I am pleased we were able to
> demonstrate that Julien's old patch set for FreeBSD 11 allows us to boot
> FreeBSD 11 on a modern version of Xen on arm - we are using the Debian
> stable Xen 4.17 packages.

You can use the DEBUG hypercalls to check how far we got into the
booting process:
https://wiki.xenproject.org/wiki/Xen_ARM_DEBUG_hypercalls

For instance add the following to FreeBSD code:

asm volatile("hvc 0xfffd");


--8323329-1230342751-1701138505=:3533093--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 03:21:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 03:21:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642714.1002368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7of9-0000BH-12; Tue, 28 Nov 2023 03:21:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642714.1002368; Tue, 28 Nov 2023 03:21: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 1r7of8-0000BA-SS; Tue, 28 Nov 2023 03:21:26 +0000
Received: by outflank-mailman (input) for mailman id 642714;
 Tue, 28 Nov 2023 03:21: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 1r7of7-0000B0-S1; Tue, 28 Nov 2023 03:21: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 1r7of7-0004kY-KW; Tue, 28 Nov 2023 03: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 1r7of7-00088F-5W; Tue, 28 Nov 2023 03:21:25 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7of7-0003CS-4v; Tue, 28 Nov 2023 03: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=s4TBD2gybB0gpvBICvCfd9INUmB1ly6HLUAh6u34Tf4=; b=vUht8Pw8Gzsh+Fvkp6rVtgREwT
	C6q3jUfJuF9jRan6U7AOWS2BhFSfW5He69W2gK+1GJnqheX/43sD1iw0tl1T7denKE+r8/Nui0jld
	ILnHwFNftfFj6lSfoPKGHx+gM0AJJ3NbRKn1OCOCoN5Rfuj9j0UXDS08yMdYZmdx1gKs=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183875-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183875: trouble: blocked/broken
X-Osstest-Failures:
    ovmf:build-amd64:<job status>:broken:regression
    ovmf:build-amd64-pvops:<job status>:broken:regression
    ovmf:build-amd64-xsm:<job status>:broken:regression
    ovmf:build-i386:<job status>:broken:regression
    ovmf:build-i386-pvops:<job status>:broken:regression
    ovmf:build-i386-xsm:<job status>:broken:regression
    ovmf:build-i386-xsm:host-install(4):broken:regression
    ovmf:build-i386:host-install(4):broken:regression
    ovmf:build-i386-pvops:host-install(4):broken:regression
    ovmf:build-amd64:host-install(4):broken:regression
    ovmf:build-amd64-pvops:host-install(4):broken:regression
    ovmf:build-amd64-xsm:host-install(4):broken:regression
    ovmf:build-amd64-libvirt:build-check(1):blocked:nonblocking
    ovmf:build-i386-libvirt:build-check(1):blocked:nonblocking
    ovmf:test-amd64-amd64-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
    ovmf:test-amd64-i386-xl-qemuu-ovmf-amd64:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    ovmf=0e9ce9146a6dc50a35488e3a4a7a2a4bbaf1eb1c
X-Osstest-Versions-That:
    ovmf=8736b8fdca85e02933cdb0a13309de14c9799ece
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 03:21:25 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 183825
 build-i386                    4 host-install(4)        broken REGR. vs. 183825
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 183825
 build-amd64                   4 host-install(4)        broken REGR. vs. 183825
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 183825
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 183825

Tests which did not succeed, but are not blocking:
 build-amd64-libvirt           1 build-check(1)               blocked  n/a
 build-i386-libvirt            1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemuu-ovmf-amd64  1 build-check(1)             blocked n/a
 test-amd64-i386-xl-qemuu-ovmf-amd64  1 build-check(1)              blocked n/a

version targeted for testing:
 ovmf                 0e9ce9146a6dc50a35488e3a4a7a2a4bbaf1eb1c
baseline version:
 ovmf                 8736b8fdca85e02933cdb0a13309de14c9799ece

Last test of basis   183825  2023-11-22 13:41:06 Z    5 days
Failing since        183867  2023-11-27 05:41:07 Z    0 days    3 attempts
Testing same since   183875  2023-11-27 20:41:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Taylor Beebe <taylor.d.beebe@gmail.com>
  xieyuanh <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@intel.com>

jobs:
 build-amd64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl-qemuu-ovmf-amd64                         blocked 
 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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-xsm host-install(4)
broken-step build-i386 host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-amd64-xsm host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 05:49:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 05:49:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642734.1002377 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7qy0-0003uN-VY; Tue, 28 Nov 2023 05:49:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642734.1002377; Tue, 28 Nov 2023 05: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 1r7qy0-0003uG-Sq; Tue, 28 Nov 2023 05:49:04 +0000
Received: by outflank-mailman (input) for mailman id 642734;
 Tue, 28 Nov 2023 05: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=Me7v=HJ=bombadil.srs.infradead.org=BATV+011e5a6fe4263adb6d23+7401+infradead.org+hch@srs-se1.protection.inumbo.net>)
 id 1r7qxy-0003u9-T7
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 05:49:03 +0000
Received: from bombadil.infradead.org (bombadil.infradead.org
 [2607:7c80:54:3::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d1ede11b-8db1-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 06:48:59 +0100 (CET)
Received: from hch by bombadil.infradead.org with local (Exim 4.96 #2 (Red Hat
 Linux)) id 1r7qxI-004BPZ-2N; Tue, 28 Nov 2023 05:48: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: d1ede11b-8db1-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=bombadil.20210309; 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=piX6sU8uUfRdM3HI4C5o5RtKyEk7LebUsWmX5nAnS9s=; b=zxF6+s0SCn2mTM1F5sDGatwdiD
	r+J5EdNg/JbVc8/TEwBGrSiUOrPltOv0SB5DHqEzye3x5UYQ3y43F+9CYP+YH9zZju4MAnIxN7jLr
	52H6aTiRg9m6ogsTbJ455qxXjn6rKf3EheShZA+8TlQ0nbft+l3Lre4a0bU7FkEs+H18O/xb4HfZ2
	DcIkdp3IB1Vc74yjq/SGmA7ZBc/H0ChYb2skCnNlw+1loprwzCvOOZXqJXWMJW983aVx/FvifwWE8
	GXy6mVkavESjy4cQk0Ees741WqX1/u5t1i6oo5VnA69qG8fgQUNZnB/k4V2ZDGbJGb/SxQnB+AlVf
	iSo+n9HA==;
Date: Mon, 27 Nov 2023 21:48:20 -0800
From: Christoph Hellwig <hch@infradead.org>
To: Yu Kuai <yukuai1@huaweicloud.com>
Cc: Christoph Hellwig <hch@infradead.org>, ming.lei@redhat.com,
	axboe@kernel.dk, roger.pau@citrix.com, colyli@suse.de,
	kent.overstreet@gmail.com, joern@lazybastard.org,
	miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com,
	sth@linux.ibm.com, hoeppner@linux.ibm.com, hca@linux.ibm.com,
	gor@linux.ibm.com, agordeev@linux.ibm.com, jejb@linux.ibm.com,
	martin.petersen@oracle.com, clm@fb.com, josef@toxicpanda.com,
	dsterba@suse.com, viro@zeniv.linux.org.uk, brauner@kernel.org,
	nico@fluxnic.net, xiang@kernel.org, chao@kernel.org, tytso@mit.edu,
	adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
	konishi.ryusuke@gmail.com, dchinner@redhat.com,
	linux@weissschuh.net, min15.li@samsung.com, dlemoal@kernel.org,
	willy@infradead.org, akpm@linux-foundation.org, hare@suse.de,
	p.raghav@samsung.com, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org, gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org, yi.zhang@huawei.com,
	yangerkun@huawei.com, "yukuai (C)" <yukuai3@huawei.com>
Subject: Re: [PATCH block/for-next v2 01/16] block: add a new helper to get
 inode from block_device
Message-ID: <ZWV/JBxrrGXzY0gr@infradead.org>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-2-yukuai1@huaweicloud.com>
 <ZWRDeQ4K8BiYnV+X@infradead.org>
 <6acdeece-7163-3219-95e2-827e54eadd0c@huaweicloud.com>
 <ZWTErvnMf7HiO1Wj@infradead.org>
 <bc64da80-e9bd-84cb-f173-876623303131@huaweicloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <bc64da80-e9bd-84cb-f173-876623303131@huaweicloud.com>
X-SRS-Rewrite: SMTP reverse-path rewritten from <hch@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html

On Tue, Nov 28, 2023 at 09:35:56AM +0800, Yu Kuai wrote:
> Thanks for the advice! In case I'm understanding correctly, do you mean
> that all other fs/drivers that is using pages versions can safely switch
> to folio versions now?

If you never allocate a high-order folio pages are identical to folios.
So yes, we can do folio based interfaces only, and also use that as
an opportunity to convert over the callers.

> By the way, my orginal idea was trying to add a new field 'bd_flags'
> in block_devcie, and then add a new bit so that bio_check_ro() will
> only warn once for each partition. Now that this patchset will be quite
> complex, I'll add a new bool field 'bd_ro_warned' to fix the above
> problem first, and then add 'bd_flags' once this patchset is done.

Yes, please do a minimal version if you can find space where the
rmw cycles don't cause damage to neighbouring fields.  Or just leave
the current set of warnings in if it's too hard.



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 05:59:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 05:59:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642670.1002388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7r7Y-0005lU-T2; Tue, 28 Nov 2023 05:58:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642670.1002388; Tue, 28 Nov 2023 05:58: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 1r7r7Y-0005lN-PX; Tue, 28 Nov 2023 05:58:56 +0000
Received: by outflank-mailman (input) for mailman id 642670;
 Mon, 27 Nov 2023 23: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=A91w=HI=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1r7kf4-00033H-Ss
 for xen-devel@lists.xenproject.org; Mon, 27 Nov 2023 23:05:06 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 655827c5-8d79-11ee-98e2-6d05b1d4d9a1;
 Tue, 28 Nov 2023 00:05:04 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3ARN4UpH061379
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Mon, 27 Nov 2023 18:04:36 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3ARN4UhW061378;
 Mon, 27 Nov 2023 15:04:30 -0800 (PST) (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: 655827c5-8d79-11ee-98e2-6d05b1d4d9a1
Date: Mon, 27 Nov 2023 15:04:30 -0800
From: Elliott Mitchell <ehem+freebsd@m5p.com>
To: Chuck Zmudzinski <brchuckz@netscape.net>
Cc: Mario Marietto <marietto2008@gmail.com>,
        Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>,
        Demi Marie Obenour <demi@invisiblethingslab.com>,
        Anthony PERARD <anthony.perard@citrix.com>,
        Julien Grall <julien@xen.org>,
        Xen-devel <xen-devel@lists.xenproject.org>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Bertrand Marquis <Bertrand.Marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Message-ID: <ZWUgfkP4U5kOmQNj@mattapan.m5p.com>
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com>
 <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net>
 <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Mon, Nov 27, 2023 at 10:57:42AM -0500, Chuck Zmudzinski wrote:
> On 11/27/2023 10:22 AM, Chuck Zmudzinski wrote:
> > 
> > I have been collaborating with Mario, and I can explain what we have done so far :
> > 
> > We are using Julien's patch set against an old development version of FreeBSD 11
> > from 2014-12-03 :
> > 
> > https://xenbits.xen.org/gitweb/?p=people/julieng/freebsd.git;a=shortlog;h=refs/heads/xen-arm-v2.2
> > 
> > We successfully built the XENVIRT kernel and FreeBSD world, and created the
> > FreeBSD rootfs according to Julien's instructions here :
> > 
> > https://lists.freebsd.org/pipermail/freebsd-xen/2014-November/002202.html
> > 
> > There were some adjustments to the instructions :
> > 
> > To build the kernel, we used :
> > 
> > $ sudo make TARGET_ARCH=armv6 KERNCONF=XENVIRT buildkernel
> > 
> > instead of
> > 
> > $ sudo make TARGET_ARCH=armv6 KERNCONF=XENHVM buildkernel
> > 
> > The FreeBSD 'kernel' file is in ELF format and did not work, and we spent
> > some time trying to convert it to the zImage format without realizing the
> > build of the FreeBSD kernel creates the 'kernel.bin' file in the zImage format.
> > So when booting with the 'kernel.bin' file instead, it actually boots :
> > 
> > user@devuan-bunsen ~ % sudo xl create freebsd.cfg
> > Parsing config from freebsd.cfg
> > user@devuan-bunsen ~ % sudo xl li
> > Name                                        ID   Mem VCPUs	State	Time(s)
> > Domain-0                                     0   768     2     r-----    1439.4
> > freebsd                                      1  1152     1     r-----       3.0
> > user@devuan-bunsen ~ %
> > 
> > However, the guest is still not working correctly :
> > 
> > 1. Attaching the console with the -c option at creation or with
> >    'xl console freebsd' results in no output to the console.
> > 
> > 2. The timestamp on the virtual disk image file shows that the filesystem
> >    was at best mounted read-only, if it was mounted at all by the guest
> >    FreeBSD kernel.
> > 
> > 3. The 'xl shutdown freebsd' command does not work, it just hangs. To stop
> >    the guest, you need to do 'xl destroy freebsd'.
> > 
> > However, I think we can get the console to work and the rootfs to mount because I
> > just realized I forgot to do the steps from Julien's instructions of editing the
> > /etc/fstab and /etc/ttys files in the FreeBSD rootfs :
> > 
> > $ echo "/dev/xbd0       /       ufs     rw      1       1" > /mnt/etc/fstab
> > $ vi /mnt/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm on secure")
> > 
> > I will add those and see if the console and disk are working.
> 
> Unfortunately, adding xc0 to /etc/ttys and /dev/xbd0 as the root device in
> /etc/fstab did not make the console or disk work. Still no output on the
> xen console from the guest kernel, and the timestamp on the rootfs image
> file did not change so it did not mount read-write.
> 
> We could use some advice for troubleshooting this. Now, we are blind because
> we are not getting any xen console output But I am pleased we were able to
> demonstrate that Julien's old patch set for FreeBSD 11 allows us to boot
> FreeBSD 11 on a modern version of Xen on arm - we are using the Debian
> stable Xen 4.17 packages.

The only method for booting I ever tried was Tianocore/EDK2.  As brought
up previously, that needs an update for Xen 4.17 though:
https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg00278.html
Essentially they had two uses of the shared info page, one was unmapped
and the other never got unmapped.  That is good enough for FreeBSD's
bootloader to function.

FreeBSD's handling of patches is unfortunately very friendly to people
who have permission to commit, or know someone responsible for a
particular area.  If you're trying to get patches for something which
has shared responsibility and you're unfunded you're SoL.  As such my
work has basically stalled.  Everything works, but without anyone with
an interest it is simply sitting here mouldering.  Combined with the
annoyance curse it is simply sitting.

Julien Grall's patches are very much PoC.  As such I've done a lot of
updating.  Take a look at branch "submit":
https://gitlab.com/ehem/freebsd-src.git

Problem is FreeBSD's interrupt situation is troublesome.  Rather than 1
interrupt framework, there are 4.  Each has different built-in
assumptions.  "INTRNG" was designed for ARM and deliberately threw away
the x86 assumptions, but then added other assumptions.

The tip of the "submit" branch has a mix of different potential
approaches to working with "INTRNG".  Several of these might be rejected,
but hopefully one might be accepted.  Really I need someone in the
FreeBSD organization with the authority to override Michal Meloun's
proselytizing about INTRNG being perfect.

The other problem is no one in the FreeBSD organization wants to deal
with it's interrupt disaster.  By the time anyone is allowed to commit,
they've been thoroughly burned by the situation and are unwilling to
touch the interrupt system.  Thus leading to the antipattern of it being
just barely maintained.

I've got it working, just I'm stuck.


BTW Roger Pau Monn, now that Xen 4.18 is out, take a look at the
"royger" branch?


-- 
(\___(\___(\______          --=> 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 Nov 28 05:59:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 05:59:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642695.1002398 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7r8N-0006HG-7t; Tue, 28 Nov 2023 05:59:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642695.1002398; Tue, 28 Nov 2023 05: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 1r7r8N-0006H9-3a; Tue, 28 Nov 2023 05:59:47 +0000
Received: by outflank-mailman (input) for mailman id 642695;
 Tue, 28 Nov 2023 01:37: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=2PfH=HJ=gmail.com=emelyvollmer@srs-se1.protection.inumbo.net>)
 id 1r7n2q-0008Bz-Fy
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 01:37:48 +0000
Received: from mail-ot1-x32c.google.com (mail-ot1-x32c.google.com
 [2607:f8b0:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bb90b01b-8d8e-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 02:37:47 +0100 (CET)
Received: by mail-ot1-x32c.google.com with SMTP id
 46e09a7af769-6d30d9f4549so3084567a34.0
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 17:37:47 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bb90b01b-8d8e-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701135466; x=1701740266; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=Jy/oTCykTaM00e347CNwkHBaLS2CcP30AyMFVm4vGQw=;
        b=InSl1ON5f3e/8hmVKKOXx9kaJy0fgY2JlS06URJdZD2pOpamGMU6kw10/fIX0ETU6m
         dVIDay8Q8VvsFIwZtu9o9MvS9DEvUEhyqz+RIHpbwvdf01zqeoScACbNXIrAPQPQuFHh
         FDVakPRmYH3XFbzSbkIrcyugRgsM/fMSVDmKAKvS59Rgomrct5JYrLGq6s4NKyV72C2M
         t7shmzMlf4BC63cQpFP9HvlDjPkU3Zl2qlmKLTj5LgjDpRhuED2J2Opg7GMURxi+41pW
         whaTF9j94pO1v1qNUYotQDcmwilRS974MZ0YrvSoqm1QIqEv66BVAmc/fur1/Z3tKaeE
         xPFw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701135466; x=1701740266;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=Jy/oTCykTaM00e347CNwkHBaLS2CcP30AyMFVm4vGQw=;
        b=ao0TYGyz14XM1kB+2cNivb5GttXWGQxl1VMveU3fSlKpKZxmgr16kg1mZKNBZ7lKDt
         2KNCa5bS7+0vs9mXE9m4aJHNhsx99v6iLC/UH3ReQNtGQmcQR+cf1x0enICIiwjazuZ2
         OW98Qr1xAYOlvjE8Zs522JnjooonQekN+xubpmPWKHU9hJ9QCSoeG5xt02bX57N7SGKQ
         FC64tLm2/9fqDxceyY7AkDMjUy7bX+O/rFY/wCtAPOZV/5OZba/9yx/wNyVlCnwa5cCr
         ILciXKDy6DMiKWvXV1iTQXPBLAtgQ2dn94ZoUt6uwZ5KRh7xy+3e6K6JZPvaFB1YswcP
         1M9w==
X-Gm-Message-State: AOJu0Yw2+v7sawiizXj9M+TmIaF8Wd4g372Fd345MAn77529CFhEcqkx
	rbBccPxw+th/eyuKfyCluzPDx6upk+WiCvfj84JggHki
X-Google-Smtp-Source: AGHT+IEdvahee5qc9B66WkqTMMcEicKk+Fr+/x+6R+emAg1zM+NNzXz9qxS8FUlODbHrfA3PGtMd2eDYoKHZvvjHKOc=
X-Received: by 2002:a05:6870:7021:b0:1f0:811a:324d with SMTP id
 u33-20020a056870702100b001f0811a324dmr15690215oae.51.1701135465895; Mon, 27
 Nov 2023 17:37:45 -0800 (PST)
MIME-Version: 1.0
From: Emely Vollmer <emelyvollmer@gmail.com>
Date: Tue, 28 Nov 2023 02:37:34 +0100
Message-ID: <CAEe9NNQvj=2F_=teO7UvN7doA3gJMgJU_oHct6txTyTFTTCfEg@mail.gmail.com>
Subject: Inquiry Regarding Usage of Xen Project Images for Private T-shirt Printing
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="00000000000028e56e060b2c7743"

--00000000000028e56e060b2c7743
Content-Type: text/plain; charset="UTF-8"

Dear Xen Project Team,

I trust this message finds you well. My name is Emely. I am an avid
supporter and admirer of the Xen Project, and I am writing to seek your
guidance and permission regarding the use of your images for personal,
non-commercial purposes.

I have recently been exploring ways to express my enthusiasm for the Xen
Project within the confines of my private interests. To this end, I am
interested in creating a custom t-shirt featuring the Xen Project images.
These shirts would be exclusively for personal use and would not be
utilized for any commercial purposes or intentions of selling.

In my research, I came across your usage guidelines, which state, "You can
use the images and material without attribution when used in a context that
refers to the Xen Project [...] Where the context is not clear, attribution
must be made to XenProject.org, and images used on merchandise, such as a
sticker, must contain the Xen Project logo." I appreciate the clarity you
provide on the acceptable use of Xen Project materials.

However, I find myself in a situation where I am unsure whether the
proposed use falls within the defined boundaries. Specifically, I would
like to confirm whether it is permissible to print Xen Project images on
private-use t-shirts without the intent to sell or engage in any commercial
activities.

I understand the importance of respecting intellectual property rights, and
I want to ensure that I adhere to your guidelines and policies. If there
are any additional conditions or steps I should follow to obtain formal
approval for this specific use, please do let me know, and I will be more
than happy to comply.

I appreciate your time and consideration in addressing this matter. Thank
you for your commitment to fostering a collaborative and supportive
community around the Xen Project.

Best regards,

Emely V.

--00000000000028e56e060b2c7743
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"auto"><span style=3D"font-size:17px">Dear Xen Project Team,</sp=
an>
<br><br><span style=3D"font-size:17px">I trust this message finds you well.=
 My name is Emely. I am an avid supporter and admirer of the Xen Project, a=
nd I am writing to seek your guidance and permission regarding the use of y=
our images for personal, non-commercial purposes.</span>
<br><br><span style=3D"font-size:17px">I have recently been exploring ways =
to express my enthusiasm for the Xen Project within the confines of my priv=
ate interests. To this end, I am interested in creating a custom t-shirt fe=
aturing the Xen Project images. These shirts would be exclusively for perso=
nal use and would not be utilized for any commercial purposes or intentions=
 of selling.</span>
<br><br><span style=3D"font-size:17px">In my research, I came across your u=
sage guidelines, which state, &quot;You can use the images and material wit=
hout attribution when used in a context that refers to the Xen Project [...=
] Where the context is not clear, attribution must be made to XenProject.or=
g, and images used on merchandise, such as a sticker, must contain the Xen =
Project logo.&quot; I appreciate the clarity you provide on the acceptable =
use of Xen Project materials.</span>
<br><br><span style=3D"font-size:17px">However, I find myself in a situatio=
n where I am unsure whether the proposed use falls within the defined bound=
aries. Specifically, I would like to confirm whether it is permissible to p=
rint Xen Project images on private-use t-shirts without the intent to sell =
or engage in any commercial activities.</span>
<br><br><span style=3D"font-size:17px">I understand the importance of respe=
cting intellectual property rights, and I want to ensure that I adhere to y=
our guidelines and policies. If there are any additional conditions or step=
s I should follow to obtain formal approval for this specific use, please d=
o let me know, and I will be more than happy to comply.</span>
<br><br><span style=3D"font-size:17px">I appreciate your time and considera=
tion in addressing this matter. Thank you for your commitment to fostering =
a collaborative and supportive community around the Xen Project.</span>
<br><br><span style=3D"font-size:17px">Best regards,</span>
<br><br><span style=3D"font-size:17px">Emely V.</span></div>

--00000000000028e56e060b2c7743--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 06:53:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 06:53:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642742.1002408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7rxg-0006Mt-SS; Tue, 28 Nov 2023 06:52:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642742.1002408; Tue, 28 Nov 2023 06:52: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 1r7rxg-0006Mm-PK; Tue, 28 Nov 2023 06:52:48 +0000
Received: by outflank-mailman (input) for mailman id 642742;
 Tue, 28 Nov 2023 06: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=g76+=HJ=linaro.org=dan.carpenter@srs-se1.protection.inumbo.net>)
 id 1r7rxf-0006Mg-2h
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 06:52:47 +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 bc4de7a7-8dba-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 07:52:46 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3330d64958aso228519f8f.2
 for <xen-devel@lists.xenproject.org>; Mon, 27 Nov 2023 22:52:45 -0800 (PST)
Received: from localhost ([102.36.222.112]) by smtp.gmail.com with ESMTPSA id
 f8-20020adff988000000b00332e75eae4asm12065652wrr.85.2023.11.27.22.52.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 27 Nov 2023 22:52:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bc4de7a7-8dba-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1701154365; x=1701759165; darn=lists.xenproject.org;
        h=content-disposition:mime-version:message-id:subject:cc:to:from:date
         :from:to:cc:subject:date:message-id:reply-to;
        bh=D3sn2wORbFiaGyfRVS1oXmiOhLph+AqLJL4TzSBHvg4=;
        b=sGOETUYq5M3MbjbtRJ1Cpxd8rQBX0XHyF7/HIYkrh8PnNyZWgNGuKBVldU8rKFfYHR
         SpdVmqEG6kJrJ07xTK/+ADmKSl7jgtCQYek5/aj9RJdn+hskIornBMCrR67QPZpbckrI
         9hL28alf/wqImqob/bQu22DhkEPF7Y7zok4k6d63Ko/YzzdDc2cbWfzZ6ul5+LmD3ZqN
         1TrLhN7q4TyWuvYi4PkGaTS3PKxWr/rx2mje+yoaju66tuYp3NZ5fWyUUcgUSWWA0I3x
         nTtQqYYMCnzLEAoWPe/FEckwvetTiDYdJSXZfhkgLDt3UBErgD/J5y5w7HTFhtl+NDBW
         IMNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701154365; x=1701759165;
        h=content-disposition:mime-version:message-id:subject:cc:to:from:date
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=D3sn2wORbFiaGyfRVS1oXmiOhLph+AqLJL4TzSBHvg4=;
        b=IiZGoHGWl4blJSMtYPShdZ+kMAaahMS+/C7G0uuvqiO+yZfK2rHpf1B52HhWh0Ow/O
         e6M+bQgeybHo9QHQnrSnSVa6kWZq78lgNnSa91pUKscgxycqrj+2Q+k3821D2petzIBd
         dLZ5LH+z85WJwFiN8zM7O6X77axjXzGU77fqC5FW2wMYHo2ZzSbmYb+h4VZR6LxuzwgA
         hbv6D8jQPd9h7HBIXxS5bbji78m8Yo493KYay8oLKIVOiB4IpC84WK/T3zBa8jd1EQ6l
         zmjySTTWXdGbb6KzFJiGOg8iU3g4HTPiBgWMZ/36Mj84pNca7jOwkUs7fr8pysmEMfhF
         3GSA==
X-Gm-Message-State: AOJu0YzIOqJctpPp/dUsB86EtUnH0lpMIvmCti+rbn7WpWAYWfFPbcb6
	7XMTdJKhDlAfsoFFqXH3WVhEsQ==
X-Google-Smtp-Source: AGHT+IGEUaFU4MSfpauTFFCq+x4ajOfRtDJqm1oTNru0X5DPLaYXn9F6bGF0vfjzYdULiiFEc3puDg==
X-Received: by 2002:adf:fd48:0:b0:332:e9f7:9a99 with SMTP id h8-20020adffd48000000b00332e9f79a99mr9121683wrs.43.1701154365307;
        Mon, 27 Nov 2023 22:52:45 -0800 (PST)
Date: Tue, 28 Nov 2023 09:52:41 +0300
From: Dan Carpenter <dan.carpenter@linaro.org>
To: Juergen Gross <jgross@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Rahul Singh <rahul.singh@arm.com>,
	David Woodhouse <dwmw@amazon.co.uk>,
	Viresh Kumar <viresh.kumar@linaro.org>,
	xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
Subject: [PATCH v2] xen/events: fix error code in xen_bind_pirq_msi_to_irq()
Message-ID: <3b9ab040-a92e-4e35-b687-3a95890a9ace@moroto.mountain>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
X-Mailer: git-send-email haha only kidding

Return -ENOMEM if xen_irq_init() fails.  currently the code returns an
uninitialized variable or zero.

Fixes: 5dd9ad32d775 ("xen/events: drop xen_allocate_irqs_dynamic()")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
---
v2: Part of v1 was bogus.  Delete that bit.

 drivers/xen/events/events_base.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
index f5edb9e27e3c..b8cfea7812d6 100644
--- a/drivers/xen/events/events_base.c
+++ b/drivers/xen/events/events_base.c
@@ -1110,8 +1110,10 @@ int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc,
 
 	for (i = 0; i < nvec; i++) {
 		info = xen_irq_init(irq + i);
-		if (!info)
+		if (!info) {
+			ret = -ENOMEM;
 			goto error_irq;
+		}
 
 		irq_set_chip_and_handler_name(irq + i, &xen_pirq_chip, handle_edge_irq, name);
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 06:53:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 06:53:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642745.1002418 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ryO-0006uo-Ay; Tue, 28 Nov 2023 06:53:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642745.1002418; Tue, 28 Nov 2023 06:53: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 1r7ryO-0006uh-6j; Tue, 28 Nov 2023 06:53:32 +0000
Received: by outflank-mailman (input) for mailman id 642745;
 Tue, 28 Nov 2023 06:53: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 1r7ryN-0006uQ-Bp; Tue, 28 Nov 2023 06:53: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 1r7ryN-0000ka-5R; Tue, 28 Nov 2023 06:53: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 1r7ryM-0001yS-SU; Tue, 28 Nov 2023 06:53:30 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7ryM-0004wc-Rw; Tue, 28 Nov 2023 06:53: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=5Afrvf1EgdQpNP7qj5C1fr96j6E84njS4ATXMTGvpvE=; b=7MGub7zg9ZWcdPgyZQ2qqPgL+9
	6CRZ70el7j572kkWWp7ySEQzLhpqKwJpZu1nFHapI+zGU5GNffPWdqX7GBgt3XCGBYx0Os68E8+Ba
	pNMo3/YdkaRJjTrLvVFL77ylZHgZC2ZSPP/UFhEpzXDGN1GR1iUwBW4LK1ncZHt0nLTU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183878-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183878: regressions - all pass
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-arm64-xsm:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-armhf:xen-build/dist-test:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=72d51813d631fe27d37736b7a55eeec08f246983
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 06:53:30 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   7 xen-build/dist-test      fail REGR. vs. 183851
 build-arm64-xsm               7 xen-build/dist-test      fail REGR. vs. 183851
 build-armhf                   7 xen-build/dist-test      fail REGR. vs. 183851

Tests which did not succeed, but are not blocking:
 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-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                  72d51813d631fe27d37736b7a55eeec08f246983
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    3 days
Failing since        183871  2023-11-27 14:00:26 Z    0 days    3 attempts
Testing same since   183874  2023-11-27 19:00:27 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 72d51813d631fe27d37736b7a55eeec08f246983
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Nov 27 15:18:48 2023 +0100

    x86: amend cpu_has_xen_{ibt,shstk}
    
    ... to evaluate to false at compile-time when the respective Kconfig
    control is off, thus allowing the compiler to eliminate then-dead code.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 17754972fa98bff2dfdec09b8094f54530bafcb8
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:56 2023 +0100

    x86/atomic: address violations of MISRA C:2012 Rule 11.8
    
    Edit casts that unnecessarily remove const qualifiers
    to comply with Rule 11.8.
    The type of the provided pointer may be const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fc63c0ebefe7e9d166b07971273c1de62428eb18
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:32 2023 +0100

    AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
    
    Drop an unnecessary cast discarding a const qualifier, to comply with
    Rule 11.8. The type of the formal parameter ivhd_block is const
    qualified.
    
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fe26cb2dd20fa864deb05e4b278bc9993ba120e6
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:07 2023 +0100

    x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
    
    Add missing const qualifier in casting to comply with Rule 11.8.
    Argument tag is typically const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 09c2fe438da1dfc83f70d921b52240bea576615f
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:16:43 2023 +0100

    x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
    
    Add const qualifier in cast that unnecessarily removes it
    to comply with Rule 11.8.
    The variable info is declared with a const qualified type.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Nov 27 15:16:01 2023 +0100

    livepatch: do not use .livepatch.funcs section to store internal state
    
    Currently the livepatch logic inside of Xen will use fields of struct
    livepatch_func in order to cache internal state of patched functions.  Note
    this is a field that is part of the payload, and is loaded as an ELF section
    (.livepatch.funcs), taking into account the SHF_* flags in the section
    header.
    
    The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
    are SHF_ALLOC, which leads to its contents (the array of livepatch_func
    structures) being placed in read-only memory:
    
    Section Headers:
      [Nr] Name              Type             Address           Offset
           Size              EntSize          Flags  Link  Info  Align
    [...]
      [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
           0000000000000068  0000000000000000   A       0     0     8
    
    This previously went unnoticed, as all writes to the fields of livepatch_func
    happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
    however WP is no longer toggled in CR0 for patch application, and only the
    hypervisor .text mappings are made write-accessible.  That leads to the
    following page fault when attempting to apply a livepatch:
    
    ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
    CPU:    4
    RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
    [...]
    Xen call trace:
       [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
       [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
       [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee
    
    Pagetable walk from ffff82d040625079:
     L4[0x105] = 000000008c6c9063 ffffffffffffffff
     L3[0x141] = 000000008c6c6063 ffffffffffffffff
     L2[0x003] = 000000086a1e7063 ffffffffffffffff
     L1[0x025] = 800000086ca5d121 ffffffffffffffff
    
    ****************************************
    Panic on CPU 4:
    FATAL PAGE FAULT
    [error_code=0003]
    Faulting linear address: ffff82d040625079
    ****************************************
    
    Fix this by moving the internal Xen function patching state out of
    livepatch_func into an area not allocated as part of the ELF payload.  While
    there also constify the array of livepatch_func structures in order to prevent
    further surprises.
    
    Note there's still one field (old_addr) that gets set during livepatch load.  I
    consider this fine since the field is read-only after load, and at the point
    the field gets set the underlying mapping hasn't been made read-only yet.
    
    Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

commit 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:15:09 2023 +0100

    xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
    
    Add missing parameter names and uniform the interfaces of
    modify_xen_mappings() and modify_xen_mappings_lite().
    
    No functional change.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit b82b867a6694368b9a74ed00397b2393d129a24d
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:14:00 2023 +0100

    x86/mm: preparation work to uniform modify_xen_mappings* interfaces
    
    The objective is to use parameter name "nf" to denote "new flags"
    in all the modify_xen_mappings* functions.
    Since modify_xen_mappings_lite() is currently using "nf" as identifier
    for a local variable, bad things could happen if new uses of such
    variable are committed while a renaming patch is waiting for the
    approval.
    To avoid such danger, as first thing rename the local variable from
    "nf" to "flags".
    
    No functional change.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit fbcec32d6d3ea0ac329301925b317478316209ed
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:39:55 2023 +0000

    x86/mem_sharing: Release domain if we are not able to enable memory sharing
    
    In case it's not possible to enable memory sharing (mem_sharing_control
    fails) we just return the error code without releasing the domain
    acquired some lines above by rcu_lock_live_remote_domain_by_id().
    
    Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit b9eeb1992676ec83cee285b97fee94d03eaa9836
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:26:20 2023 +0000

    x86/mem_sharing: Fix typo in comment
    
    ambigious -> ambiguous
    
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 07:03:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 07:03:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642752.1002431 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7s7m-0000e8-78; Tue, 28 Nov 2023 07:03:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642752.1002431; Tue, 28 Nov 2023 07:03: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 1r7s7m-0000e1-3s; Tue, 28 Nov 2023 07:03:14 +0000
Received: by outflank-mailman (input) for mailman id 642752;
 Tue, 28 Nov 2023 07:03: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=7TP6=HJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7s7k-0000dv-W1
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 07:03:13 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 30f8c4c6-8dbc-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 08:03:11 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8220B218F2;
 Tue, 28 Nov 2023 07:03:10 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 3FA261343E;
 Tue, 28 Nov 2023 07:03:10 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id IUtADq6QZWVVMwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 28 Nov 2023 07:03: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: 30f8c4c6-8dbc-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701154990; 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:autocrypt:autocrypt;
	bh=v2nCSPBwuG9evJw07XBSHhmh6wM6+cRTU6OW4cSt7lI=;
	b=YeAWSqg63KJZqLo0PkI8UsoQ7PkhCG6RZZMXrzvBQqKjV+c237JqCLhwSSQqQ0vZBtJnKh
	2p/fXrTLgmq8Wewd3aPL3LBHyxPbma5UNkwwnLHcYTxZV2G2aDeCcsRs6zB4XyXABd4tG9
	3ulOoN26SktqQ1WE5bgz4lWOxw6fSDc=
Message-ID: <b2f1c000-2819-4119-87bc-0b49b37265c5@suse.com>
Date: Tue, 28 Nov 2023 08:03:09 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/events: fix error code in
 xen_bind_pirq_msi_to_irq()
Content-Language: en-US
To: Dan Carpenter <dan.carpenter@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Thomas Gleixner <tglx@linutronix.de>, Rahul Singh <rahul.singh@arm.com>,
 David Woodhouse <dwmw@amazon.co.uk>, Viresh Kumar <viresh.kumar@linaro.org>,
 xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
References: <3b9ab040-a92e-4e35-b687-3a95890a9ace@moroto.mountain>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <3b9ab040-a92e-4e35-b687-3a95890a9ace@moroto.mountain>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------U11DjzjluMibARZmyPphyh59"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -4.97
X-Spamd-Result: default: False [-4.97 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-2.98)[99.92%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------U11DjzjluMibARZmyPphyh59
Content-Type: multipart/mixed; boundary="------------MFyAKptgriRZgmSHc8luN1Tz";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Dan Carpenter <dan.carpenter@linaro.org>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
 Thomas Gleixner <tglx@linutronix.de>, Rahul Singh <rahul.singh@arm.com>,
 David Woodhouse <dwmw@amazon.co.uk>, Viresh Kumar <viresh.kumar@linaro.org>,
 xen-devel@lists.xenproject.org, kernel-janitors@vger.kernel.org
Message-ID: <b2f1c000-2819-4119-87bc-0b49b37265c5@suse.com>
Subject: Re: [PATCH v2] xen/events: fix error code in
 xen_bind_pirq_msi_to_irq()
References: <3b9ab040-a92e-4e35-b687-3a95890a9ace@moroto.mountain>
In-Reply-To: <3b9ab040-a92e-4e35-b687-3a95890a9ace@moroto.mountain>

--------------MFyAKptgriRZgmSHc8luN1Tz
Content-Type: multipart/mixed; boundary="------------auQLvS5K59EunzeY2vICnOsp"

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

T24gMjguMTEuMjMgMDc6NTIsIERhbiBDYXJwZW50ZXIgd3JvdGU6DQo+IFJldHVybiAtRU5P
TUVNIGlmIHhlbl9pcnFfaW5pdCgpIGZhaWxzLiAgY3VycmVudGx5IHRoZSBjb2RlIHJldHVy
bnMgYW4NCj4gdW5pbml0aWFsaXplZCB2YXJpYWJsZSBvciB6ZXJvLg0KPiANCj4gRml4ZXM6
IDVkZDlhZDMyZDc3NSAoInhlbi9ldmVudHM6IGRyb3AgeGVuX2FsbG9jYXRlX2lycXNfZHlu
YW1pYygpIikNCj4gU2lnbmVkLW9mZi1ieTogRGFuIENhcnBlbnRlciA8ZGFuLmNhcnBlbnRl
ckBsaW5hcm8ub3JnPg0KDQpSZXZpZXdlZC1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHNz
dWUuY29tPg0KDQoNCkp1ZXJnZW4NCg0K
--------------auQLvS5K59EunzeY2vICnOsp
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------auQLvS5K59EunzeY2vICnOsp--

--------------MFyAKptgriRZgmSHc8luN1Tz--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVlkK0FAwAAAAAACgkQsN6d1ii/Ey8M
RAgAiYSE9oZWfkx6mZxv0aaNbh+HloBOf258vYLYnz2BVuQ3ulO8FN1jmMiRwXnLMvxgwBWIoXyF
YIHJVIJIc+T78O96VVw0n95O9j6LU4kQ6FLDnO0c5Y5SCOw7Rm8YpGmRYeoEP43voNAlKN2yUJ1a
ddXzZZvf2NEfdvYAq6+1dn2NZJerl7oqkT/DbM/d6FXVXHEgwF0Ny9oqy9CZuj/mw7UefYy4ubK8
PN58qlD9adGpXq0gmqYV6XcEOdK7Bd/MUVo02WYBlCyeqNjgQ1gLOy8w+IgZRgWmOYtMAdm5l5YC
HufGmctvShCaRI5/XkbX57MlIz/eKJx9F/gVAPET5g==
=YPQh
-----END PGP SIGNATURE-----

--------------U11DjzjluMibARZmyPphyh59--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 07:31:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 07:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642755.1002440 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7sZB-0005rQ-CC; Tue, 28 Nov 2023 07:31:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642755.1002440; Tue, 28 Nov 2023 07:31: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 1r7sZB-0005rJ-99; Tue, 28 Nov 2023 07:31:33 +0000
Received: by outflank-mailman (input) for mailman id 642755;
 Tue, 28 Nov 2023 07:31: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 1r7sZA-0005r8-BY; Tue, 28 Nov 2023 07:31: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 1r7sZA-0001WL-6P; Tue, 28 Nov 2023 07:31: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 1r7sZ9-0003PR-Sj; Tue, 28 Nov 2023 07:31:31 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7sZ9-0007Yj-SJ; Tue, 28 Nov 2023 07:31: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=qHvvJDxKPGOFf4FUqX6fRlIpj6wy7Pa1QmzjB7AiNRQ=; b=MtLYUcKte5ZIDDyWfnBfablky1
	Rfv0TwNPTExXDaJ19xt5hdX4p+RvMBPIa8tgbPQnlw6kbAp6sw8gXS4zA/Y2NQactdK/ot9NaiYeu
	+YWPY+3QJ0U2iJ333XXKhLoK/w/pj2rTc728l4SmgDcwm5QGgMYpfW/4ovRxg5GP1LHc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183879-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183879: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=0e9ce9146a6dc50a35488e3a4a7a2a4bbaf1eb1c
X-Osstest-Versions-That:
    ovmf=8736b8fdca85e02933cdb0a13309de14c9799ece
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 07:31:31 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 0e9ce9146a6dc50a35488e3a4a7a2a4bbaf1eb1c
baseline version:
 ovmf                 8736b8fdca85e02933cdb0a13309de14c9799ece

Last test of basis   183825  2023-11-22 13:41:06 Z    5 days
Failing since        183867  2023-11-27 05:41:07 Z    1 days    4 attempts
Testing same since   183875  2023-11-27 20:41:05 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiewen Yao <Jiewen.yao@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.com>
  Taylor Beebe <taylor.d.beebe@gmail.com>
  xieyuanh <yuanhao.xie@intel.com>
  Yuanhao Xie <yuanhao.xie@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
   8736b8fdca..0e9ce9146a  0e9ce9146a6dc50a35488e3a4a7a2a4bbaf1eb1c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 07:52:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 07:52:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642761.1002451 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7st6-000149-43; Tue, 28 Nov 2023 07:52:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642761.1002451; Tue, 28 Nov 2023 07: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 1r7st6-000142-0n; Tue, 28 Nov 2023 07:52:08 +0000
Received: by outflank-mailman (input) for mailman id 642761;
 Tue, 28 Nov 2023 07:52: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7st4-00013w-M0
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 07:52:06 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20627.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::627])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0524169e-8dc3-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 08:52:04 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB6951.eurprd04.prod.outlook.com (2603:10a6:20b:10f::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 07:52:01 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 07: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: 0524169e-8dc3-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZSLPDdi3/lEphYG6n+uQpq5nw/VkQrCP9hwdpVHEAvPX+UkCzY5SEhXVqDWkrj8T0S8lkU/1edc51GU63N1Q68912UGL95xoHVXoXQx/6HJFwlgkjOeYQzJf9Jz/9Qb1dvB/RBRTczdLc5/zt8LQNSXFqkAdlWF11MtBpzVEKevDPeN/LquwHPxRpI/rRIwmKck2+VcAcXs2fXzp0/Pbbmbu9+XN0iEXIGMFkOaYeutPgSRlGuKgkhv58L+1KSR75fDEVJ5oPETHbLE/MUskHkPZBDAXp98ssqYgDxzeuN3GJG7oa0bj//ylHetvz56MCZLmWxjDeK79n+FkhgYiOw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Yi5bmKT3wuiKQN7gsNb/0xQNXTB1/Uogrt7+38JcDYI=;
 b=ZD3qaZ7EAPbblBaxugZnzVn7r8XzWS/pgdWbOUB/y6CiZl45mclTkHHugnrvbhieiiA90ZHRE/lTSqc7ljl9ClUc9oKP2WSTaiBjearP+7mcj9hPdsD7dJ3PjZGHAGA/UIIMgMkNInOXaeAcFpGWA8hpgi+2biIK/RT+QY++wlNolBBbX2KDkQ6TAEntQ9VicFEA8xaHw9Z9M33LG2VxSa4iGeY1SgNpABZQwgHl9aKYCesH78wluNv3Q9Eozr5FU7f9WFPy3cfz+POyzqfL6hdwQyHHk3tVE1ed9qpeLbDOOlA0Ww/lnTQzhwjBrSgJnPRqiYJVb1/cAgoqq0i6pQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Yi5bmKT3wuiKQN7gsNb/0xQNXTB1/Uogrt7+38JcDYI=;
 b=SAqBHXMz783DeGkV+bmlPtCVoi1XqLTS+ru/CW8qhdZVs+ZUeMAu+RksVYdMTyY4UpU8PULODXNzsCQmBgDlp4KZTuVAsQrIu/23py0JpeySMxK+WNFrFkArBLZVYTU61jmiUj0zcN4J+H97yvROxQZ7HoxmMwowlHRYj1hLupoycgy9/Zn596F11wLcp3njpv6Zs7wOTQjjCFXkemgNMGHKcuXhIQRZGlg0EsWTkdHCbwrkghdQGtwfneuXEAYXtwdk1ycXX1ivh0hWaeDcQNPHTObz2tPi7eMyNZvWzaFuTP667bLRwVAOTYLV9Ntc6kd/5WKQvgQHyNq1Y+l6eg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <846bd4e4-cc37-4fd9-8f69-850c3b31d8b0@suse.com>
Date: Tue, 28 Nov 2023 08:51:59 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
 <6aa8c7e5-c13e-43e0-bec4-74827407c985@suse.com>
 <0e948dcb22fe553053431083f19f058245016e41.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0e948dcb22fe553053431083f19f058245016e41.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0178.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b7::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB6951:EE_
X-MS-Office365-Filtering-Correlation-Id: 152dfce9-8929-47d0-b2c4-08dbefe6e7b7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	MyxfsW/Fd1pzeGVqC0x+wC4AJ7n2KJDjCaW4CThkhCioCnVUoTu9LG26s8boZPTkJ7SIJEfgN3ewybuoADbmPX63YFqXvBtX/OvGZYvKK3G4cgV6XvwbkTIvUxsuBTZ8+IcXEFE3adNg//eK/ZlYWou4ZGDx0OY3M60Vf+zgYE3gizR9YH5FZUN/tLnUM115vBANgUjD7lw1EEkNRIPyN7Rm39k44kdDcGuiWORA5d/BN0yz1bHHmmQTuPyppgoqjaWJc2o+O2nMgn78XD5YgkOi1ST3vOJqPSBGe/C8Ce7yackujdkucI1McJ6Dt8BAugJJZZJZqwsdfTnuTImUtQ7j6gVPPgO8J79kIcP2/xxffRrXwO+hXEIfgy25mpXSqe+g4Dk85oLoKIP5xZcoQ0n39TK0JdZAzSAeChNBouPyzvTE70bD9fq6EKQcqySL0MVzisqIdUhIBnW2bhVEqMFnB1eSYdu4xHC8f9YYif6I5AaRffV4wioBuyWOembQv6KU61S4+ySgqZ9Wa8usRqeHsQmOQiMy7/QkpS/xPiidKJCXx1hi1izFKeGsCz5jFAiNNYio94SOgAM4Lak3E4e2B3p6OqTjEvJfbYH7jDriPNyNrSC1dAKezfycA/rXPnpBn4b2QVgt9SoUTwLyymldf9yUnOHmexy5fSJkwhA=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(396003)(136003)(346002)(39860400002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(6916009)(66476007)(66556008)(316002)(4326008)(31696002)(54906003)(66946007)(8936002)(8676002)(478600001)(6486002)(53546011)(36756003)(7416002)(86362001)(5660300002)(2906002)(41300700001)(4001150100001)(38100700002)(2616005)(26005)(6506007)(6512007)(31686004)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?d0tnU0YyM2lTRGZzR0hKMHkwN3ExZXZ4T3BsVHVudHduTFhzaEUxK0FWb1pn?=
 =?utf-8?B?cFhuVkpNKytEQlVNL0taa2RaQmJCQ1FsN3hvTHJjRVdXcFlaQTFKVzk0b3BD?=
 =?utf-8?B?R2ZVd2pEUW1RVTA1L0VYZWhwdmR2cTdnN3ZHdkJ5SGRKZHowRHE5dHZuLzd0?=
 =?utf-8?B?NlgzM0g4UDZyTTlQOVJUVEhnK1hnYnl0Smh1d3BjY3RwMVNLYnl0SnRDdlRS?=
 =?utf-8?B?MjJUNGNoRTlWMmlrRDVpMzROLzlheEx6MnoyMGVRdjVoLzRBSzNBVVk4REQ0?=
 =?utf-8?B?NmZwL1NuaGdiUmdoeFZPSmxHaHZIWXl6a1VqSVFPNStSeHJudDg5bzV3cEN3?=
 =?utf-8?B?ZVBvVWdYKy9KdHdVYWxMWG0zRlkzR05FWm5td002ak12VE81UWtJNncrU0tL?=
 =?utf-8?B?TFdxWVk3ZWlyZTVRMnQzWTJHYy9JN3N4RVROTDJXUTA2T0FZQ2dFenZMaHNs?=
 =?utf-8?B?Vklhb0RSZGdKS3FHbjMzUEVpcWZ5bjNKSVI1N0J3czA1MnlCNktBYVlZNzRW?=
 =?utf-8?B?ZTEyZ2FSYStqenRielZwaWJtQXlJSTkxZ1ZyYVQ1aCtjVGZESms4VjZZNVk3?=
 =?utf-8?B?QWlJQnprY3Urejd4YlJKbEZzd0xlUDFHZkJJd1JtZFlSNmwrNGxOQmkxS2tP?=
 =?utf-8?B?U1hiMVdwRXdqWEgxdW5pZ1lsWWF6M0xleks5YUFwUG9qWk8rS1MxemZ3UWlM?=
 =?utf-8?B?RTdNQzY0bmhJLzIxdUlCb0dhb3BLYkZTTUtIV0JUYy9ZUlg0WnhqTmxzUFB0?=
 =?utf-8?B?ZXVzQUFZY0cwNnVSbEZYR0lhMjRsMjNQam1mTjRCR01WMWREdE1VQVdoYnhh?=
 =?utf-8?B?L0FRTmlqTzF0aXRHLzFOWFUydW1SQXFRbmVUNFRhTmFqOStOM0RQMGsvR2VT?=
 =?utf-8?B?ckFPVlUvN3NVLzEvRHFSUE5PYVAvczRBWlIwUXVRV1dLc3BFM3F2b0lXWktG?=
 =?utf-8?B?dFgxRmluV2NkUjVuYm5rRVBNZzFaZXdYVWFpSE9EUXcxa1UxY0I0aDU3Yk11?=
 =?utf-8?B?UElhSkc0bVIyK0pQQml4M1JsZ3R4ekxKaFp5Q3NlRG1kc2RTa3VIM0d6anMx?=
 =?utf-8?B?V21vNE5RVWhQdmdvTHMrL29VKzFnc0hHQ2YxWDgzdVM3S2l5OTFzVzg2U2ds?=
 =?utf-8?B?QmcycU9wNGlNZTZrU2hMOE50Z0pSRkNSdTJKZmtneis2VmI3ZGJ1YnUzRlNu?=
 =?utf-8?B?aWozQXE0WitSVGwvalFPdm1vdk84YjYyd2o4ekFveFJQdEw0ZVBWbFgzMmtG?=
 =?utf-8?B?OVpSVGRMQnBoS2l0NFZxR0VDdXhZYjF3bHlodVRLMi9hVVdmVlhIeGU0cHJK?=
 =?utf-8?B?aG4wMVB5UGNLa3lsTEprZ3AzRjMvSWxyd2lnVzh4U1JnYlVGRUJUQ1p0dDhC?=
 =?utf-8?B?dUJ0endjZXJKWWFhWEdJN2p4TUx1TTJ3NU0wbUx6THBUaGRqcEVkVzRiTWdC?=
 =?utf-8?B?akhaUDlWSnNvbW9zMDlSVnlqQ2NBcEdlTiszVVhldGd5Rnl4VUkyS2VjbTVF?=
 =?utf-8?B?VkQwWEptUUovVDA3eWJvRm9SZ3NJT21CMG5KRVBvY2Z6bjRyZmdRNkliSjBI?=
 =?utf-8?B?YUkrcEFHb3ZnVnYxVTUyRWk0RkNwTXFWdGhWc25BRWxvRWpYaW9VOWNkRHVn?=
 =?utf-8?B?VVJuYzc3OEJzL0NjYUhreG1QV2xlc2lZTkxSWFJCSU9MME5JSVdDaytVaS9I?=
 =?utf-8?B?SGQxbzN2UnAxUmk2M2lOMlVCUkhaZmFHZ2NEQ05pOENWemFKTFIyY3psMTVG?=
 =?utf-8?B?RGtzMlU4TGNIWWpXZXhyNUgxQWpWaFdidXRMRnV5bUZaOCtXRDBBSWNmZzRV?=
 =?utf-8?B?YmUvaTcvcGtJRXBGTmgxeEVWeDgwUGFTMDBQRzZOdktoS3lSZ2ppeTEzbmFI?=
 =?utf-8?B?SXhFZ0NTOER0S0FYcVY0Ukw1UDdoNW1UUWE0TTlnaWZ0WDh6RHllenVaSXNE?=
 =?utf-8?B?UW9ZNUcrQnVwNXhnMDdqRVFzYnVKRytDQlZSRngzWW1STUdFQW9kMmJqSkc5?=
 =?utf-8?B?ekhtcUFCMzAwTTdXS1g3N2psNUFpd0pjK01OT3FBMWh5NkpWWHh4SE1Ta1N5?=
 =?utf-8?B?S2RCRURaMWNEN1NZSHFwdkNNRzc1R1VLR0R1azZVdE5VYzVoSE5WVkZDSCts?=
 =?utf-8?Q?lotAeFhLDFz7EqBUp2/rzAZ5J?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 152dfce9-8929-47d0-b2c4-08dbefe6e7b7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 07:52:01.3714
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: E0+FKYaPkaB1WDln6z6/pK3zoFIBE0fr8B4qvEVQ87RoOe9wjJ+cZH45XK64gM4/GnRl9o/9+FSqjcJSfZQjOw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB6951

On 27.11.2023 20:46, Oleksii wrote:
> On Mon, 2023-11-27 at 15:31 +0100, Jan Beulich wrote:
>> On 27.11.2023 15:13, Oleksii Kurochko wrote:
>>> --- a/xen/arch/ppc/include/asm/irq.h
>>> +++ b/xen/arch/ppc/include/asm/irq.h
>>> @@ -3,7 +3,9 @@
>>>  #define __ASM_PPC_IRQ_H__
>>>  
>>>  #include <xen/lib.h>
>>> +#ifdef CONFIG_HAS_DEVICE_TREE
>>>  #include <xen/device_tree.h>
>>> +#endif
>>>  #include <public/device_tree_defs.h>
>>
>> Why would this #ifdef not cover the public header as well? (Otherwise
>> I'd
>> be inclined to ask that the conditional be moved inside that header.)
> In that header is defined only consts without additional header
> inclusion. At that moment it looked to me pretty save to ifdef only
> xen/device_tree.h but you are right we can move incluion of the public
> header inside #ifdef OR just remove as xen/device_tree.h already
> includes it.

Oh, yes, dropping the redundant #include would be even better then. Yet
that furthers the desire to have the #ifdef inside that other header, to
improve how things look as use sites like the one here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 07:57:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 07:57:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642766.1002460 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7syK-0002Gp-MY; Tue, 28 Nov 2023 07:57:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642766.1002460; Tue, 28 Nov 2023 07:57: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 1r7syK-0002Gi-K2; Tue, 28 Nov 2023 07:57:32 +0000
Received: by outflank-mailman (input) for mailman id 642766;
 Tue, 28 Nov 2023 07:57: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7syJ-0002Gc-W3
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 07:57:31 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on060f.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c675c1c8-8dc3-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 08:57:28 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7416.eurprd04.prod.outlook.com (2603:10a6:10:1b3::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 07:57:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 07: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: c675c1c8-8dc3-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MJr9F0ad5JAxc8JA4QuC3Cp9MnoTMByf61kxwQeIpC2OcMVvXZFV2oom3mj/skIz0fp6ymmGwHCrMrXVa05o0mQeOp5Ddox8+ksjvtdob1u1Y8USMXFWycr9C5u4ak72Sn6yaddE9EeApMH+7UpDraQ3ymSx6fywQIIsFbfiu7gmrgMDSzP4/41T1i6Ek+qtaNZlxzPalTVvNKnn7ECjSWcXmubEIWCYEpaLcxWmxUIwFT9eLAc+MUHBKKayXTs6Uzmoq1gdBwblYaYwN6aPHoDrbavt2eUtrMjJY9fGAbhjAxHN9KtCZCnRX/8BykpxpjnaKFuEizDXkN6qeLm6QQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=u4PTtvCzg0Ja0EeDzc+UOOLp9ajc2AQY7vkCFW2huKg=;
 b=Znn3Qa+PmbdHws1KHsf45CTX4RhWISEmiWCKGv+oMya5lzS2m3k6i2YXHuzD/My5OtFaPjIOhpmhoCurET3yXxj4jyXDSLfj6/m//zmyW6qnWf22ypuN3aSaTcF73rRzwKC4aRgfZKKR2rWFwMwQobouCl2jU9Md4YL2A1uwEq0abePLsYAExXgcgOs/7w13DgVZg2/ZpQmN2/RMN1QPsJRiMjGpRZwj5rw+JHTd5SqdUJG/01gd7UvAbZDvaOvH8DMVVc/JgGXIgmijVBoClSuvfVnsDzCOcP5UPZetChg2GhieFCUbBttTCLy7HPwi1cTVm3L2efl/LbxB48boJg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=u4PTtvCzg0Ja0EeDzc+UOOLp9ajc2AQY7vkCFW2huKg=;
 b=220e0IaFp1GS/9+lKmLzQnnDQovvXmWPmvGjDQcYfDJm/McaF6P1XLDfMJveVJHEmdZrhqImAJxs3TwzALheCem5iLAZGpog4LH2HldLkYmQwuFb0f1durEjj6hSznif5hDxqAgjb4Dc9NJmlUVoYul1sAuMjBcMs8jY02q5KqJfeguNherkYrxb/zElmMd+va5QaJX/k8gN1ClT7pvPGsP/j/ERX9xehE/YJZ3BSPZEct1ECW/I26TNsVd34YVfEIcsry5jxw3eqc11BRS4N7vCzg1gg3XL1f90KPmvn1gjmvqIboc1Nyv+6ycVtritkSycYC0nW6NvP3oGlIAneA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <405c2d66-a6f4-4bbb-ada5-2ac49c8c9744@suse.com>
Date: Tue, 28 Nov 2023 08:57:23 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 13/14] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
 <21ca8f55-d720-489f-a2d0-59a1f78d3656@suse.com>
 <6543c6aec8f69878e37912924b6d6208136a02af.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <6543c6aec8f69878e37912924b6d6208136a02af.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0101.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7416:EE_
X-MS-Office365-Filtering-Correlation-Id: cdf16bb8-7e09-4281-9e24-08dbefe7a8bc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	SScLhe+Soqt63+XcgaWcB47+UGrIXD2naquiIJYUw4hGZdPyY6qbIEa9W98lCFUkvTSMzcMceEuI9dIpCdc/PO2uV6XNR5SbITocR6zKuqn8Ti4/ae8+0mEMiTYe/XSOC+2zezxmwaIBwQFG5bZ0N9MoW24BaHJn6ruccGdJhcxWwqnN71GPyMYvGUuRmt+E1cFo8Nffl8o3/XuMI5qN1cGSqVm7lzH77anj1lWatsaa/YT/Ao6RfKgFgtaNSDUozdGOQwHvbDFz9UxRCW6W4qjHdf65fNde21jnr/zlh4X6eVehsM1ohMUmCOjv1zrJvi9mQtLo8MuwEtTu25VIMKyN2/BFr7aigvRVkRL1CtvrljFcE1sSDsf4hxco9g9cdxJY6EcPaDuSomC+Bgl+zQaymNnLxg9fr9P6PXK2S3+zqPvm1L6laA0TYcyAfpoHoWWvr2732H0XeOaQoJJJvUMh1G940nacJjWl0pQfjq/g09a9ryRFimqNrMzYwFQj0bGXHlW7nb5CZAMNBfSy2ixZwKjP8CGDs+2e82IAT/qL7XEnvKIWIgVBWR6ouddE804rlJG0YoDdYObpvcqlzp70uNCIjNugk+OG0d1aYS7zoMZkU3+3iRQczn1ngRd9ZG6sqEV0Ti64D/Oylr+Tsw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(396003)(366004)(346002)(39860400002)(136003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(31686004)(26005)(6486002)(2616005)(6506007)(478600001)(53546011)(6512007)(38100700002)(86362001)(31696002)(36756003)(41300700001)(7416002)(4001150100001)(2906002)(66946007)(83380400001)(6916009)(8936002)(54906003)(316002)(4326008)(5660300002)(66476007)(8676002)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?K1ZMNnQxdkJWYjFrUDI4UW1QeldYc2R2TE1PcFh0bElHeWdIejZSdzdQVkh4?=
 =?utf-8?B?KzY1bEdWa3BxTTR2VVQ5WFozcWNzcjFXZE43SnhPcjJYWktFOUZ1Skx3RmYy?=
 =?utf-8?B?cUhaSW5QV3ROMXUxcFl6UkRqbHdHYjltMzkxQ3huMFJFdTVmc3phS2p1djI5?=
 =?utf-8?B?S1dIM2V0V3lSNmZ5SzJjK3hhd1Q2YnJrQitNSndVSUpZMnhVZ3YveFdhU2V2?=
 =?utf-8?B?SncrdjdvQXdhTmdFb05WOHRLSlZWdTZNK1c0NEltVE5BVmFQY2daWnRJbko5?=
 =?utf-8?B?Mm5aTUV1TDlQc2IxREI4QnM5UUZUUEdnTWQ3bzJsRC9wejNNY3B6cXNWTzRO?=
 =?utf-8?B?RHdONkgzTlYzVnBieElXc3oweWZQdk1sTjhLV01JamhWM21wRDMvbjE4RkJo?=
 =?utf-8?B?M25ndXFWQkl5ckZTYWgzOG83a211QW5XZUZha1g5WGVzQ1RoSUxlOFU0Y1VI?=
 =?utf-8?B?SVU3dlRVSytOMGdBWUJHcG9TM3hjekY5ZXphZHJTUDhlUnpZVVY2cThhMEoy?=
 =?utf-8?B?eWF2Yi9qU2d3QmJXWXNQM3RXMXJYaUVJZTVEb1pMc0dleW5YUWhvUm5oWUVQ?=
 =?utf-8?B?YzNYZnc2c2c3elVyYmJYb1RSWkpDeFhxa1V5VmJNaUQzY2lKWjBnUGJJVFJL?=
 =?utf-8?B?aEh3QjFTQlRrTWwvaEpDVnRFK0ZSUGVjK0hiWVlwM2V5amRSRDk3N1JaUUxu?=
 =?utf-8?B?RnpJVHl1R2ttcEYzV0lmREdZSXYrRENzTi9RZ1IrNVAycmQ4MGZjYzFkZE9T?=
 =?utf-8?B?WitqVjFDNTZaU0tEb0hoVWVoUEhjZFo2NWlnTCt2MnQrNWZFMllKMytyWG4r?=
 =?utf-8?B?MjlKaWdwWnhiUTViYnB4dUtDb2ZjSjVudTdzcDRVYm55OGVuVlJ4NGZ5b3pS?=
 =?utf-8?B?Y1hVWm9vNG5FY0MrRDBKK25aOFpWUnVRc0tCT3Rodzd2VXdsUlJDOWRTR2ZY?=
 =?utf-8?B?a2RiNmkvN0xJWUczOU42MmlUVkRQNkF1SEpxK3dlMUQ3a2IwckE0cEhYaHJ2?=
 =?utf-8?B?WnFPQmxFbXJ0c0x0Y1BlMGpWOVlsb3E4M0hMdi9DbGRKY3RFR3ZGNllHcEhL?=
 =?utf-8?B?WnhyMzFTVHJzbW9TenRnMzZ3RFZmTnFKbUs1dXRlMVR0ZVFUNTBZT3FVME4r?=
 =?utf-8?B?OFlYSU9IeG5tRnZNUUtza3J3OHp0bGlyRksyZk9IMkRNM3NCcDdtTXhYRFo1?=
 =?utf-8?B?bDFxcGF5RkVWZ2RIY05vcm5ScEdYTDJjekd3UlowV1NYaGt3OXhHSXZ4VmJo?=
 =?utf-8?B?VlBQd093NU1TYjY1d0FiVlQ4REZKY1VrcUFEQ0tFZTNyUkJHY3FaM1hTbkQ0?=
 =?utf-8?B?Zlh6N1JOdGdLMC8yYUZtZlB0YVd3YTVHWXJlMExCY1g0R2NqY0tESjNPL2J5?=
 =?utf-8?B?bDVvTmk1Z3RoK0dPNFVlS0tia21HcE5ZQmhQOHY5Zi9lRzkrNUs1ZEIrZThW?=
 =?utf-8?B?aFR5Y1ZabTRnMEdmWVhLc1FjOVQxNDFDSDZoaUQwMDVFdEd0V2pIeXJIcHh2?=
 =?utf-8?B?Y3dVT3BuMWRqN2g3YWo0RnZ0ZWs3L09kZFZDY1NsSlBYWXF3cEN2UTF5V3dv?=
 =?utf-8?B?dE9TOEY1VkQvbXp3YzZraFpBV2g0d2NEbGtTdXM5ejJMZUdnMmRITTBGNkxs?=
 =?utf-8?B?NWoxQzZDc2xmRWtOTTlVZ3JIakpXeDZZaTZwV3BQRmFzKzRzcXowWWxaQ1V4?=
 =?utf-8?B?bnZUYkxXRlpmcjdaRmxzLy9LSlloeUFGYUxoeGZCNGJGcU9tTXNmcldkSm95?=
 =?utf-8?B?UUZ0R1h3RjBIbVg2Rmp3MXUyQ2JkRVhxMFN2Zk0xZlZKSlVNaG1RU09ONEdE?=
 =?utf-8?B?M0hPa2hNMHcrRzN1akFadmE3WXB5MzVEY2lWU1JQOFV6ZFBNMlRubmIrYklO?=
 =?utf-8?B?MVpwVzdueVVDQjJKU3M3NVpyNUx1cG9CZzUzaFRlQ3ptTm5pRGxOR1MvNjhp?=
 =?utf-8?B?TTVaNjlmbEVkTFRMaldGVzNYMDNYY3N6czlpbHF6L09NM2ZHS3dWdWp0Z0h0?=
 =?utf-8?B?RkxpcTB3UjJhRU5CMEJVb21qaUxuTVNaWDBZU3dMcmhnQURoV3RsNzZYdy9B?=
 =?utf-8?B?QnBUOEYwMWtjeW0wb09kUEdyZ0RxcmN2KzNNSVhzQUJyZFdIckl5MHdMWEZh?=
 =?utf-8?Q?RV1jszep+hhELgHjEF9P4MHSj?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cdf16bb8-7e09-4281-9e24-08dbefe7a8bc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 07:57:25.1676
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: LKT1H5arekfpL6pwNLCrI1JGfxxQ35rpJw34aklF+AKi1cR3VeX3YY/UG5+hyFnNDtzCbl7OMLF6ziDrKnHaQw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7416

On 27.11.2023 20:38, Oleksii wrote:
> On Mon, 2023-11-27 at 15:41 +0100, Jan Beulich wrote:
>> On 27.11.2023 15:13, Oleksii Kurochko wrote:
>>> --- a/xen/arch/ppc/include/asm/grant_table.h
>>> +++ /dev/null
>>> @@ -1,5 +0,0 @@
>>> -/* SPDX-License-Identifier: GPL-2.0-only */
>>> -#ifndef __ASM_PPC_GRANT_TABLE_H__
>>> -#define __ASM_PPC_GRANT_TABLE_H__
>>> -
>>> -#endif /* __ASM_PPC_GRANT_TABLE_H__ */
>>
>> Removing this header would be correct only if GRANT_TABLE had a
>> "depends on
>> !PPC", I'm afraid. Recall that the earlier randconfig adjustment in
>> CI was
>> actually requested to be undone, at which point what an arch's
>> defconfig
>> says isn't necessarily what a randconfig should use.
> We can do depends on !PPC && !RISCV but shouldn't it be enough only to
> turn CONFIG_GRANT_TABLE off in defconfig and set CONFIG_GRANT_TABLE=n
> in EXTRA_XEN_CONFIG?

That _might_ be sufficient for CI, but we shouldn't take CI as the only
thing in the world. Personally I consider any kind of overriding for,
in particular, randconfig at bets bogus. Whatever may not be selected
(or must be selected) should be arranged for by Kconfig files themselves.
That said, there may be _rare_ exceptions. But what PPC's and RISC-V's
defconfig-s have right now is more than "rare" imo.

> Some time ago I also tried to redefine "Config GRANT_TABLE" in arch-
> specific Kconfig + defconfig + EXTRA_XEN_CONFIG and it works for me.
> Could it be solution instead of "depends on..." ?

Why would we want to re-define an setting? There wants to be one single
place where a common option is defined. Or maybe I don't understand
what you're suggesting ...

> One more question I have do we really need this randconfig? On RISC-V
> side, I launched several time this patch series ( from v1 to v4 + runs
> during test of patch series ) and I haven't faced case
> when CONFIG_GRANT_TABLE=n. ( but I turned the config off in defconfig +
> EXTRA_XEN_CONFIG ).

That override is why in CI you wouldn't see an issue. But as said - CI
isn't everything.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 08:20:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 08:20:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642779.1002476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7tJv-0006dY-Uu; Tue, 28 Nov 2023 08:19:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642779.1002476; Tue, 28 Nov 2023 08: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 1r7tJv-0006dR-Rg; Tue, 28 Nov 2023 08:19:51 +0000
Received: by outflank-mailman (input) for mailman id 642779;
 Tue, 28 Nov 2023 08:19: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 1r7tJt-0006dH-QN; Tue, 28 Nov 2023 08:19: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 1r7tJt-00030j-LA; Tue, 28 Nov 2023 08:19: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 1r7tJt-0005KR-8H; Tue, 28 Nov 2023 08:19:49 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7tJt-0000az-7o; Tue, 28 Nov 2023 08: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=nhXHAty4Ecd+nvZOFuwFZahIskl7/YDOPfmSDsJvi2o=; b=ndY/Qk8UcURdMFqe8Zq2fg8Ewj
	J9o2LWo9ZGSvfPST9VSgbH+Rv7zHLTRUYLuGG8xP8p3OyBCHv7CyurbautbNUb6cPpqNlAJc9ENhj
	JVKiT0eLmde5Q4Nll0mw0gPjdKiiQNfJILU972UGw56B+RFNr27mMcqM1TzF+etyLcmE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183876-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183876: trouble: blocked/broken
X-Osstest-Failures:
    linux-linus:build-amd64:<job status>:broken:regression
    linux-linus:build-amd64-pvops:<job status>:broken:regression
    linux-linus:build-amd64-xsm:<job status>:broken:regression
    linux-linus:build-arm64:<job status>:broken:regression
    linux-linus:build-arm64-pvops:<job status>:broken:regression
    linux-linus:build-arm64-xsm:<job status>:broken:regression
    linux-linus:build-armhf:<job status>:broken:regression
    linux-linus:build-armhf-pvops:<job status>:broken:regression
    linux-linus:build-i386:<job status>:broken:regression
    linux-linus:build-i386-pvops:<job status>:broken:regression
    linux-linus:build-i386-xsm:<job status>:broken:regression
    linux-linus:build-i386-xsm:host-install(4):broken:regression
    linux-linus:build-i386-pvops:host-install(4):broken:regression
    linux-linus:build-i386:host-install(4):broken:regression
    linux-linus:build-arm64:host-install(4):broken:regression
    linux-linus:build-arm64-pvops:host-install(4):broken:regression
    linux-linus:build-arm64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64:host-install(4):broken:regression
    linux-linus:build-amd64-xsm:host-install(4):broken:regression
    linux-linus:build-amd64-pvops:host-install(4):broken:regression
    linux-linus:build-armhf-pvops:host-install(4):broken:regression
    linux-linus:build-armhf:host-install(4):broken:regression
    linux-linus:test-arm64-arm64-libvirt-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-thunderx:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-examine:build-check(1):blocked:nonblocking
    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-armhf-armhf-xl:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-arndale:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-credit2:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:build-check(1):blocked:nonblocking
    linux-linus:test-armhf-armhf-xl-vhd:build-check(1):blocked:nonblocking
    linux-linus:test-arm64-arm64-examine:build-check(1):blocked:nonblocking
    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:build-arm64-libvirt: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:build-armhf-libvirt:build-check(1):blocked:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-debianhvm-amd64:build-check(1):blocked:nonblocking
    linux-linus:build-i386-libvirt: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-arm64-arm64-libvirt-raw:build-check(1):blocked:nonblocking
X-Osstest-Versions-This:
    linux=2cc14f52aeb78ce3f29677c2de1f06c0e91471ab
X-Osstest-Versions-That:
    linux=b46ae77f67874918c540feb1e37a63308b2c9290
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 08:19:49 +0000

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

Failures and problems with tests :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                     <job status>                 broken
 build-amd64-pvops               <job status>                 broken
 build-amd64-xsm                 <job status>                 broken
 build-arm64                     <job status>                 broken
 build-arm64-pvops               <job status>                 broken
 build-arm64-xsm                 <job status>                 broken
 build-armhf                     <job status>                 broken
 build-armhf-pvops               <job status>                 broken
 build-i386                      <job status>                 broken
 build-i386-pvops                <job status>                 broken
 build-i386-xsm                  <job status>                 broken
 build-i386-xsm                4 host-install(4)        broken REGR. vs. 183859
 build-i386-pvops              4 host-install(4)        broken REGR. vs. 183859
 build-i386                    4 host-install(4)        broken REGR. vs. 183859
 build-arm64                   4 host-install(4)        broken REGR. vs. 183859
 build-arm64-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-arm64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-amd64                   4 host-install(4)        broken REGR. vs. 183859
 build-amd64-xsm               4 host-install(4)        broken REGR. vs. 183859
 build-amd64-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-armhf-pvops             4 host-install(4)        broken REGR. vs. 183859
 build-armhf                   4 host-install(4)        broken REGR. vs. 183859

Tests which did not succeed, but are not blocking:
 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-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-examine      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           1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-arndale   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit1   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-credit2   1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-multivcpu  1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-rtds      1 build-check(1)               blocked  n/a
 test-armhf-armhf-xl-vhd       1 build-check(1)               blocked  n/a
 test-arm64-arm64-examine      1 build-check(1)               blocked  n/a
 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
 build-arm64-libvirt           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
 build-armhf-libvirt           1 build-check(1)               blocked  n/a
 test-amd64-amd64-xl-qemut-debianhvm-amd64  1 build-check(1)        blocked n/a
 build-i386-libvirt            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-arm64-arm64-libvirt-raw  1 build-check(1)               blocked  n/a

version targeted for testing:
 linux                2cc14f52aeb78ce3f29677c2de1f06c0e91471ab
baseline version:
 linux                b46ae77f67874918c540feb1e37a63308b2c9290

Last test of basis   183859  2023-11-25 22:13:34 Z    2 days
Failing since        183862  2023-11-26 04:55:31 Z    2 days    6 attempts
Testing same since   183868  2023-11-27 06:55:04 Z    1 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Andrea della Porta <andrea.porta@suse.com>
  Andrew Halaney <ahalaney@redhat.com>
  Asuna Yang <SpriteOvO@gmail.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dapeng Mi <dapeng1.mi@linux.intel.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hans de Goede <hdegoede@redhat.com>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Heikki Krogeus <heikki.krogerus@linux.intel.com>
  Helge Deller <deller@gmx.de>
  Ingo Molnar <mingo@kernel.org>
  Ivan Ivanov <ivan.ivanov@suse.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Lech Perczak <lech.perczak@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Matthias Kaehlcke <mka@chromium.org>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Niklas Neronin <niklas.neronin@linux.intel.com>
  Oliver Neukum <oneukum@suse.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pawel Laszczak <pawell@cadence.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Puliang Lu <puliang.lu@fibocom.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Ritvik Budhiraja <rbudhiraja@microsoft.com>
  Shawn Guo <shawn.guo@linaro.org>
  Stanley Chang <stanley_chang@realtek.com>
  Stefan Eichenberger <stefan.eichenberger@toradex.com>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Victor Fragoso <victorffs@hotmail.com>
  Wentong Wu <wentong.wu@intel.com>
  Will McVicker <willmcvicker@google.com>
  Yangyu Chen <cyy@cyyself.name>

jobs:
 build-amd64-xsm                                              broken  
 build-arm64-xsm                                              broken  
 build-i386-xsm                                               broken  
 build-amd64                                                  broken  
 build-arm64                                                  broken  
 build-armhf                                                  broken  
 build-i386                                                   broken  
 build-amd64-libvirt                                          blocked 
 build-arm64-libvirt                                          blocked 
 build-armhf-libvirt                                          blocked 
 build-i386-libvirt                                           blocked 
 build-amd64-pvops                                            broken  
 build-arm64-pvops                                            broken  
 build-armhf-pvops                                            broken  
 build-i386-pvops                                             broken  
 test-amd64-amd64-xl                                          blocked 
 test-amd64-coresched-amd64-xl                                blocked 
 test-arm64-arm64-xl                                          blocked 
 test-armhf-armhf-xl                                          blocked 
 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                                 blocked 
 test-amd64-amd64-xl-xsm                                      blocked 
 test-arm64-arm64-xl-xsm                                      blocked 
 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                                  blocked 
 test-amd64-amd64-examine-bios                                blocked 
 test-amd64-amd64-xl-credit1                                  blocked 
 test-arm64-arm64-xl-credit1                                  blocked 
 test-armhf-armhf-xl-credit1                                  blocked 
 test-amd64-amd64-xl-credit2                                  blocked 
 test-arm64-arm64-xl-credit2                                  blocked 
 test-armhf-armhf-xl-credit2                                  blocked 
 test-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        blocked 
 test-amd64-amd64-examine                                     blocked 
 test-arm64-arm64-examine                                     blocked 
 test-armhf-armhf-examine                                     blocked 
 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                                     blocked 
 test-amd64-amd64-xl-multivcpu                                blocked 
 test-armhf-armhf-xl-multivcpu                                blocked 
 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                               blocked 
 test-amd64-amd64-libvirt-raw                                 blocked 
 test-arm64-arm64-libvirt-raw                                 blocked 
 test-armhf-armhf-libvirt-raw                                 blocked 
 test-amd64-amd64-xl-rtds                                     blocked 
 test-armhf-armhf-xl-rtds                                     blocked 
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             blocked 
 test-amd64-amd64-xl-shadow                                   blocked 
 test-arm64-arm64-xl-thunderx                                 blocked 
 test-amd64-amd64-examine-uefi                                blocked 
 test-amd64-amd64-xl-vhd                                      blocked 
 test-arm64-arm64-xl-vhd                                      blocked 
 test-armhf-armhf-xl-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

broken-job build-amd64 broken
broken-job build-amd64-pvops broken
broken-job build-amd64-xsm broken
broken-job build-arm64 broken
broken-job build-arm64-pvops broken
broken-job build-arm64-xsm broken
broken-job build-armhf broken
broken-job build-armhf-pvops broken
broken-job build-i386 broken
broken-job build-i386-pvops broken
broken-job build-i386-xsm broken
broken-step build-i386-xsm host-install(4)
broken-step build-i386-pvops host-install(4)
broken-step build-i386 host-install(4)
broken-step build-arm64 host-install(4)
broken-step build-arm64-pvops host-install(4)
broken-step build-arm64-xsm host-install(4)
broken-step build-amd64 host-install(4)
broken-step build-amd64-xsm host-install(4)
broken-step build-amd64-pvops host-install(4)
broken-step build-armhf-pvops host-install(4)
broken-step build-armhf host-install(4)

Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 08:37:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 08:37:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642788.1002493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7taZ-0001rA-IU; Tue, 28 Nov 2023 08:37:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642788.1002493; Tue, 28 Nov 2023 08: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 1r7taZ-0001r3-ES; Tue, 28 Nov 2023 08:37:03 +0000
Received: by outflank-mailman (input) for mailman id 642788;
 Tue, 28 Nov 2023 08:37: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=Oxj7=HJ=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r7taX-0001qx-Mb
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 08:37:02 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c1a935c-8dc9-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 09:37:00 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id D84A840E01A5; 
 Tue, 28 Nov 2023 08:36:58 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 1vHsmSMNDYS3; Tue, 28 Nov 2023 08:36:57 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id C01D840E0031;
 Tue, 28 Nov 2023 08:36: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: 4c1a935c-8dc9-11ee-98e3-6d05b1d4d9a1
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key)
	header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1701160617; bh=DS2d99Cf/Tm1b0CoskKzTkSL4zfPSaK6CYmxmDpIDno=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=I8Kl7pOfZkDJ1aauL4p8L+PlN65c8sIR0dkdP1NbqWcLcQY6vEQjYeM/r0US8S9kF
	 RYKot1G8DTIU2i/vJbZ1dY8cBcGfRTw5eFgwVvUfS9BBoA90TBlEUp24OXrYB919e/
	 Oy9SPBMTF8mwOQGo4ENPJBFKDroY/sp19zB/SlzHi4KLsJ7dwdNlb1E3uwAjDanJoQ
	 vo2I6xeoAedHIyLyWVbyRwoypXxt0W/z9QtACLsVB9EJOZcuTpIzfRI0WQVy6PL0gs
	 lmvT8HdZT00moCakbNxG+hW2JFqsKP3UGOqM6ogwuTCRPnTt7vEHovr6BESHhP7Ghd
	 PrmO7bjwnAbf9slrMSVBPDynMcWeQLLh9sCucQNJyRSFHTD1ls5zbvnTNuutqKbcVd
	 2/D/sbPwNva3NafVp2mXa6fzDye7Dr0YJO74ghd0IpJ4svVag2MEsEKbllMGPOFaXB
	 yZKZTGXbFd5A0XC5WOguBvIJ+ogDfpVmSLzBtQ8aaFnZiDT5roz378AGxU0Cs0Jl7g
	 cOR129yb77LRWYUT6q9WwvjgaMIebKAbVM5H2TWl293NIL68arozCJwBKM7mI5u88B
	 1N9KRnvXlfSALDR32hWnUk2p/Kit1WXMb19R1Wxy4zqEb1j33zwAYoVT0pWIswldS1
	 cDLymiOsuFxx+9JUg1fX4yC8=
Date: Tue, 28 Nov 2023 09:36:29 +0100
From: Borislav Petkov <bp@alien8.de>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com,
	x86@kernel.org, hpa@zytor.com, luto@kernel.org, pbonzini@redhat.com,
	seanjc@google.com, peterz@infradead.org, jgross@suse.com,
	ravi.v.shankar@intel.com, mhiramat@kernel.org,
	andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
	nik.borisov@suse.com
Subject: Re: [PATCH v12 15/37] x86/ptrace: Cleanup the definition of the
 pt_regs structure
Message-ID: <20231128083629.GOZWWmjTe8l+IwXG5j@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-16-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231003062458.23552-16-xin3.li@intel.com>

On Mon, Oct 02, 2023 at 11:24:36PM -0700, Xin Li wrote:
> -/* Return frame for iretq */
> +
> +	/* The IRETQ return frame starts here */
>  	unsigned long ip;
> -	unsigned long cs;
> +
> +	union {
> +		u64	csx;	// The full 64-bit data slot containing CS
> +		u16	cs;	// CS selector

I know people want to start using those // one-line comments now but
this struct already uses the /* multiline ones. Can we stick to one type
pls, otherwise it'll turn into a mess.

And pls put those comments ontop, not on the side.

Thx.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 08:43:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 08:43:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642790.1002503 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7tgL-0003JB-4k; Tue, 28 Nov 2023 08:43:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642790.1002503; Tue, 28 Nov 2023 08:43: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 1r7tgL-0003J4-1w; Tue, 28 Nov 2023 08:43:01 +0000
Received: by outflank-mailman (input) for mailman id 642790;
 Tue, 28 Nov 2023 08:43: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7tgK-0003Iy-8u
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 08:43:00 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 21faec17-8dca-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 09:42:59 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8935.eurprd04.prod.outlook.com (2603:10a6:10:2e2::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 08:42:56 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 08: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>
X-Inumbo-ID: 21faec17-8dca-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Zx2hOlrh++NtZExKfH1HtXPSyGvtKu1EC0QKg2pyXnDc5kgHGQ/keQroHV8qM5laixAuIu8rQzVSJM31gpl+r86l5+6G7f8xbx+ojVp66wFJcgvj4Hz2uF5wfT18zYctf7/qSVXabRlcCNbGioNLr/fRscb47DezBmnkSOxRn4lELJJ5vKl+a82mDRglIfcdpE71Uf4fafwYCs3SYSYyN7BscRS+gcMGOiOxHsLLIfr7rUNYafIVUribttnwFzvWXhPss72PfIbcWbTBYJDDPkImujEtGteUHW2wpnzPlMv8HXJf2L15QG6t0SxxFb5HMIKnTas8BU2rwe3XSG+4Yw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=xSs067g/U8AUue32uACe19Uy8ZzzBUjW5ZDCoo9/bFI=;
 b=c9V57QXOTj6GIWfrgTvC65ONI3Jd2cryiFyk3BYRcUlOY6gRom/tqMjjbg2daBwK3ZhmMQpKCwMu27PEn2ngEYh4EhWsYk0FYBxcGiZZobB9ItHV/SfHNEnQiQkK5aWhMj1P2Ulm03RbJDg46E0NbIfx2XftSP4pHSCpbHXCin8Bj6FtOmWTgEJuAq91C0ZYs6r3h84/YzIbm8cZlyxzFDgfjWIy3PJ4bd2tk23PtHLf6HkSQhBD29kKr+08e6kmzU5egzO1lUSEVMG+pCY5gvC8urzYc1i8CyRcjaB6jw+wXU9lD0ghGeFhifm1NWFulyVoIPMDXID9J8uxXdbqfQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=xSs067g/U8AUue32uACe19Uy8ZzzBUjW5ZDCoo9/bFI=;
 b=U/EiD2HDBvPr2NrDw4GGoFIq2DFlHnFCIYz3T0qx+H9UMC5mrW3I98juCCSDTZRW/BwHCinkQb2boK37ZFVX8TfEXlfa7Zqwj5OTkGCJojyZqrjkKCHhNfzdfr4U2pRhJ9g+5eynj51ypXkV987/vC0O8Ir7CwlbeyD3Zo+LetnQTyzHRrIoJBdQXnBEy0IzLTFsoUabSktfit33Z4zzl5o5qPTh12Bx5E79P3jNEH+AzSOlsS1vcVztTBFAD3RtXtrRDTI75jk0Sf3+o08ERMtlqEWuRICiW9PLUB/qcQ5vdFhd8stK8DoQ9xln4ysHVLNRzEdCMUT6Rnq5xXbosw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <12b2d92d-f9b7-491d-affc-0c04708d950a@suse.com>
Date: Tue, 28 Nov 2023 09:42:54 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2 2/3] xen/arm: add SAF deviation for debugging and
 logging effects
Content-Language: en-US
To: Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.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>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Dario Faggioli <dfaggioli@suse.com>, xen-devel@lists.xenproject.org
References: <cover.1700844359.git.simone.ballarin@bugseng.com>
 <761ce615438312ca5d37fb8829a0ba903375392f.1700844359.git.simone.ballarin@bugseng.com>
 <ec587cf6-088b-4142-8067-4d9d67fc58c1@suse.com>
 <59744708-c2fb-488c-9e6b-e47faf7a8007@bugseng.com>
 <497617b3-6a86-46bf-99ea-2b2f1bdf9d97@suse.com>
 <89847582-ff70-4ba2-9cc7-e45ea2b691e3@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <89847582-ff70-4ba2-9cc7-e45ea2b691e3@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0197.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a5::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8935:EE_
X-MS-Office365-Filtering-Correlation-Id: 79924c65-b0c5-416f-12de-08dbefee04ae
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:
	CVfaX/sBFQJvRn5NJw/sJSmJ8V1HOSCjPYNC2whuPTz64Wuv17yqDQIC6BMMPDxQw3314gpWn9OgR2iIMx0DwL7OVktltHRTe9OAArNbeDzAtYKe/NZWR0QRx/JZrbf2tEhk9USPVxXrXsF2y09cLQokp9bLvUMUaJ9VWYCCi9rQJQnkgHcYohsO5WCJpp76qX7/FtKdzu2rSrbbBKFdkf0nklir7g5TiJobtXz0Senik4s7de1ZmsRM1+6YJzsjEgNkcE+3dfXy6MdUPG94FOCUo+t+/Zz69ggF/vQ+VbnLVf/mepZhNRVVIZgOpa4lKcawwy//XZw0KJSE0Ze5e3hNSOFc+tLMpMqjwX6PwtyL1HGSg55rpdjLAWFy7QDa1X+k54TgL//KOrxXRV8E8XZYMXUl/ECk1u+qsyIIArz3xnCSyna15UPEa8hetVeZM3KyvISdQXwlaPcHvRitPphvFCcuXDkEHqYy9AkzD0lqSso1AswVDu2I2fQ+QVOUiBuAjBzBJSBt2tCTs6IfLhDPCEB70VOs2VHpvYojdLpoArZVXNM9nmhmBOIlOdj/PFttfX17N1/jyQFc5Dhmta1/XaHyn1EAOivHk+z8owcrqXKaeeWqmtXYTBOyUeKa+dS2mOtF5nzmloW2+sr5YA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(376002)(39860400002)(346002)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(31686004)(5660300002)(7416002)(478600001)(31696002)(86362001)(2906002)(2616005)(26005)(83380400001)(53546011)(6506007)(6512007)(38100700002)(36756003)(41300700001)(8936002)(54906003)(8676002)(66556008)(66476007)(6916009)(66946007)(316002)(4326008)(6486002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?T1pzd05QSVdrV3ZDY2pXeHhIZS80bVRCTEhsVDhPaExnUGljbW85UDA4MWV6?=
 =?utf-8?B?ZjR5dldCVytDaW9JYTdSUUNZV0k2a1QyZjFxSEdqWXBzTmI0SzN3d3dGbmtD?=
 =?utf-8?B?d0d4NGxaQ3hnYzNNTUlIaWhhQUE1Q2lTMGlzUi9za0tvWW9xVEpsRVRHSWZF?=
 =?utf-8?B?cTR4MHNXbVhHTWJSanZWQytCN1owTStOSkJjMWlqbGh2N2R1cE1Ib3pSL002?=
 =?utf-8?B?VWZsZnBBc2V6N2xGeVR2bkwvN2wzcmlFV1YzTHcwNUR6bnRCQk5aZmFyK0I2?=
 =?utf-8?B?djRvNkRQN2w1VThobk42czUveGF6L0xPMWowNDV3YXZhWmJhckNSTWtCY3dZ?=
 =?utf-8?B?L1ZiTUxENHJvNDlOMEJSUEc4V2dlYmIvQzZNMHFZZ0wwYk92MHJuUE1jd09r?=
 =?utf-8?B?M0tZQVh0VFFpU3pnNlV0d2FzMHJTeVA5TGJSWWRsS3NRV2dBYzlrb3RITEdY?=
 =?utf-8?B?ZlpPQStBWDl6dGkxU0YyVXVoZFA0blhRenkwTlZaaDQ4dDhyV2R4aFFSM3Az?=
 =?utf-8?B?L2t1SEpUdk5TSHNmZ1BmaWRzTXVTN1RDYThIczlrakw1L3R0NEs0NzdpSW9K?=
 =?utf-8?B?K3NmbU5jUWRkUmI0cmhBVVRhSVN1VWM0ZUlTc1RhMlFDOTU0eldoT0x6WTRO?=
 =?utf-8?B?NGU4Q0p2cXdwSFRsYXRhbUtTSGE3V0lKV0thZDNZQ1AraENLMkJUNkZhbkhZ?=
 =?utf-8?B?b1Vxd29YSlVkYmhqVS9oV0tHVUhoSEdGY3k2QXQxQnR6UDdUSTlCV2h5MThI?=
 =?utf-8?B?QnNpSGNxSjRkVStYMzlOeXp1Q2pKYWFqZjVCY3diSDA1aHg2Qm5LUmkvUmpD?=
 =?utf-8?B?L044VERMR3dmeHA1dzUrUU9xb01iRkJiODF0bW9oTmpWd01yWnM4UVZFWUcr?=
 =?utf-8?B?RGo3ODU4S1FzOHFkNmU3Vjh5WWVzeitDYUxBc1hRTkxIMTMwRXhaWDBncmRK?=
 =?utf-8?B?UDVvaTlYa2hJUzhmZEYwckpISE5GaGpocDVhLzFqeWp0TFFOV3ZrYnNFcUI4?=
 =?utf-8?B?a0FZOUFHQzB6VnRCeXhVNzdrNjJCTjdNZy9ud2UzcE9aRW01cGxDTExzejd4?=
 =?utf-8?B?a0hrd3BTWGRQWlNNMHBTZXZSSzljNStFZ2VmVzZqSU9HQStGN2dpUnZZNGVW?=
 =?utf-8?B?T0FqOVZSSXdibEFDc2RHaUlaSE9JV0hibjZ0S2tCZnh0cHVwTExpb3dmYyt2?=
 =?utf-8?B?bmo0QTh6SFZvNUxDN0VEQ1d6MW5YMmhRUzdUS2xwT09RNE5UN2ZGZW9BZ3M4?=
 =?utf-8?B?QXE4OXVrYStXVzBRb09yMXdsQkQyNnVRUmEwQXl2aEVqL1MybjQ1blVFODE1?=
 =?utf-8?B?TjZoY0xHSjcrL29KbWpmNll1aHZPK1V5WlpmeGpVVGdtMkY4Z0t4cVBMU3di?=
 =?utf-8?B?RjU3R0RqN0JSQndXR3FjWjlORExJMTNtZ3pla1Z1WlZNM2l0eml3YWlNczlP?=
 =?utf-8?B?MXRnbTdyT0JjWXl6SkdnbHE2RHM5RDFwNUY3b2lNUENYWUJiV0pBWXRCUjM2?=
 =?utf-8?B?SmsvZG95M1FQLytkUVgrYy9TZEt0cklIb2svZEllZDJzdG1BaUhhRDNnUE9H?=
 =?utf-8?B?VlJTbkp3SVJjdTF2aFVMYTU0SWJHZ2IxaGxwaWc2dVJJbFcvS2ZRVk5UWDFL?=
 =?utf-8?B?amVtZ3lQMHVjcy94TGlFUWp1MUMrV0cydDIrUjdLb1JyV0lSN3YwNGxlUnBi?=
 =?utf-8?B?aldxRWVhMTRvTENyekwvY0hYbm0zalpTbHVYKzNZc3ZOOFA0SkxwdTdRNmsv?=
 =?utf-8?B?SGVmenVDYTBCdWZocXoyTlFNaTVscVRPS1orcUY5ejNvQlFVaFRKRU5QZ2hX?=
 =?utf-8?B?RFMxblJ1Sk84cHBpWlJJa0VMOCtGT2NqdUxwVGFRU0REZWNqL1FvbWZYMkRF?=
 =?utf-8?B?V2tBOW9rNzBiK1FJRWtjNnE4eTl3MDFyQ2ZTMGZmOHVJVGlFZzdrc2JNdktu?=
 =?utf-8?B?Z2tJUC84aFBBS3VHaURyNnpEcUNRZWw2VFJVekNPRytqL2JkaDlBcWlrOWxL?=
 =?utf-8?B?RExYZ3RseDZsRktZMTNzRkVNZ1ZkWG05WFdGdW9TdjR6d0RWV1pkelVyQjhk?=
 =?utf-8?B?SnU0QVdCcGNMR09ucnRnOWxoUWhwZjNEUUQwZmVaVnNRSVNLM1FacFYybzcw?=
 =?utf-8?Q?blKPeeITr939Sse99+e3xsAFt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 79924c65-b0c5-416f-12de-08dbefee04ae
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 08:42:56.4399
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZnkHT4w7uIIxcsJSJ3kKK/t7H6HM8pCdzrYZDE9aCOPe0ex3JfZGfguIfNZ1Xwg3fFEWwhlA61+j31hvW6VNsw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8935

On 27.11.2023 18:34, Simone Ballarin wrote:
> On 27/11/23 16:09, Jan Beulich wrote:
>> On 27.11.2023 15:35, Simone Ballarin wrote:
>>> On 27/11/23 11:46, Jan Beulich wrote:
>>>> On 24.11.2023 18:29, Simone Ballarin wrote:
>>>>> --- a/docs/misra/safe.json
>>>>> +++ b/docs/misra/safe.json
>>>>> @@ -28,6 +28,22 @@
>>>>>            },
>>>>>            {
>>>>>                "id": "SAF-3-safe",
>>>>> +            "analyser": {
>>>>> +                "eclair": "MC3R1.R13.1"
>>>>> +            },
>>>>> +            "name": "MC3R1.R13.1: effects for debugging and logging",
>>>>> +            "text": "Effects for debugging and loggings reasons that crash execution or produce logs are allowed in initializer lists. The evaluation order in abnormal conditions is not relevant."
>>>>> +        },
>>>>
>>>> I'm wary of this statement. Order may not matter much anymore _after_ an
>>>> abnormal condition was encountered, but in the course of determining whether
>>>> an abnormal condition might have been reached it may very well still matter.
>>>
>>> Do you object to the deviation in general? Or just to the wording?
>>
>> Primarily the wording. Yet the need to adjust the wording also hints at there
>> needing to be care when actually making use of this deviation. Which it turn
>> I'm not convinced is in the spirit of Misra
> 
> The rule is really strict, but imho the only real dangerous situation is
> when an entry performs a persistent side effect that can change the
> behavior of another entry. I.e.:
> 
> int y = 0;
> int x[2] =
> {
>    y=1, /* first element will be always 1 */
>    y    /* second element can be either 0 or 1 */
> };
> 
> Above we have a dependency between the first entry and the second.
> 
> Now let's consider logging effects:
> 
> #define LOG(x) printf("LOG: %s", x);
> 
> int x[2] =
> {
>    ({ LOG("1"); 1; }),
>    ({ LOG("2"); 2; })
> };
> 
> 
> Here the execution can print:
> "LOG: 1LOG: 2" or
> "LOG: 2LOG: 1".
> 
> Do we agree that the evaluation order of prints caused by logging
> functions/macros do not normally cause dependencies between the
> entries? The execution is still non-deterministic, but does it really
> matter?.
> 
> In the case of function that crash execution, no dependencies can exist
> since no further entries will be evaluated.
> 
> In conclusion, I propose the following rewording:
> 
> "text": "Effects that crash execution or produce logs are allowed in 
> initializer lists. Logging effects do not affect the evaluation of 
> subsequent entries. Crash effects are allowed as they represent the
> end of the execution.

Let's assume we have a BUG_ON() (as the "crash effect") the condition of
which depends on where in the sequence of operations it actually executes,
i.e. (potentially) dependent upon another part of the initializer. I hope
we agree that's not something that should be deviated? Yet even the re-
worded statement would - according to my reading - permit doing so.

I guess I should try to remember to bring this up on this afternoon's call.

>>>>> --- a/xen/arch/arm/guestcopy.c
>>>>> +++ b/xen/arch/arm/guestcopy.c
>>>>> @@ -110,18 +110,21 @@ static unsigned long copy_guest(void *buf, uint64_t addr, unsigned int len,
>>>>>    unsigned long raw_copy_to_guest(void *to, const void *from, unsigned int len)
>>>>>    {
>>>>>        return copy_guest((void *)from, (vaddr_t)to, len,
>>>>> +                      /* SAF-4-safe No persistent side effects */
>>>>>                          GVA_INFO(current), COPY_to_guest | COPY_linear);
>>>>>    }
>>>>>    
>>>>>    unsigned long raw_copy_to_guest_flush_dcache(void *to, const void *from,
>>>>>                                                 unsigned int len)
>>>>>    {
>>>>> +    /* SAF-4-safe No persistent side effects */
>>>>>        return copy_guest((void *)from, (vaddr_t)to, len, GVA_INFO(current),
>>>>>                          COPY_to_guest | COPY_flush_dcache | COPY_linear);
>>>>>    }
>>>>>    
>>>>>    unsigned long raw_clear_guest(void *to, unsigned int len)
>>>>>    {
>>>>> +    /* SAF-4-safe No persistent side effects */
>>>>>        return copy_guest(NULL, (vaddr_t)to, len, GVA_INFO(current),
>>>>>                          COPY_to_guest | COPY_linear);
>>>>>    }
>>>>> @@ -129,6 +132,7 @@ unsigned long raw_clear_guest(void *to, unsigned int len)
>>>>>    unsigned long raw_copy_from_guest(void *to, const void __user *from,
>>>>>                                      unsigned int len)
>>>>>    {
>>>>> +    /* SAF-4-safe No persistent side effects */
>>>>>        return copy_guest(to, (vaddr_t)from, len, GVA_INFO(current),
>>>>>                          COPY_from_guest | COPY_linear);
>>>>>    }
>>>>
>>>> I can only guess that in all four of these it's the use of "current" which
>>>> requires the comment. Yet imo that either needs making explicit, or such a
>>>> comment shouldn't go on use sites of "current", but on its definition site.
>>>>
>>>
>>> "current" does not contain any violation of R13.1. Its expansion
>>> produces a side-effect, but this is not a problem in itself. The real
>>> problem is that GVA_INFO expands it in an initializer list:
>>> #define GVA_INFO(vcpu) ((copy_info_t) { .gva = { vcpu } })
>>
>> But an initializer list doesn't itself constitute a side effect, does it?
> 
> The side effect should be inside the initializer list. { .gva = 1 } is 
> not a violation.

I'm afraid I don't see what would be constituting a violation here.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 08:52:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 08:52:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642809.1002513 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7toz-0005ch-0N; Tue, 28 Nov 2023 08:51:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642809.1002513; Tue, 28 Nov 2023 08:51: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 1r7toy-0005ca-U0; Tue, 28 Nov 2023 08:51:56 +0000
Received: by outflank-mailman (input) for mailman id 642809;
 Tue, 28 Nov 2023 08:51: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=Oxj7=HJ=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r7tox-0005cU-F9
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 08:51:55 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 612cfbe6-8dcb-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 09:51:54 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 1AEFA40E0195; 
 Tue, 28 Nov 2023 08:51:53 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id ChluQ_0bI5c3; Tue, 28 Nov 2023 08:51:51 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 2C26740E0031;
 Tue, 28 Nov 2023 08:51: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: 612cfbe6-8dcb-11ee-98e3-6d05b1d4d9a1
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key)
	header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1701161510; bh=b8kwNDDb/tymHpQVlkI8A91DHBnyujPGQHRX1wsU7tw=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=Q08NRJnAt21ZSfXI9PipunbDM7nORGQfk8q2MESUfrbhwdKcDNj/lvfrYaXQO6WrR
	 Uu/ou1jioWe9ismICRfRUVg3d+FQm/wPx6FZWqYIkuOj00lA7FTXRPgomSFC12JB9p
	 jx/Z+egKyrd9s+V6EUpP+PM29kiHtGxAEP6D+mj4x/WjUbMc5t6epBadUQmbQ6T59d
	 OHk9CXHFlXeMht5fKmdxwhaqaJsJcYjQcCwAG14XuoCwOAs3qO/8qwx/JlqJ47/JYv
	 +APDpeBEVPM7yMnVxkTaHX1cKKlYOzNJVz9G0G08aIT//tOtvT3TSq6/suZGzKM0iW
	 3xkbwEKeMxRkIQ1+WXUKcxmhbpGn8ST23QukmzUcDnTznWywJX4RBZBJ8xABUD/x/q
	 LpqrCLx8GqTQcvX46p79XCA7vm/VHTiyKe0iNeXxQqdC6Df8FkqJr0G6fi36OCuyGb
	 m5Jnl1QGqjQufT6g7fBC7LdpVg2DsriyG5b8QRGrNW+ZxiZWZHnDQ/wPnEwrzPEhcD
	 M/86WHzJqxUVJPuatkx67BNxXkgs8VEkb78/GQIFTZBVSPRw+rz5eNeMgEWAoMpQX2
	 q2gDBvCHdO54qtQ99xUVX3BvzTocJHZahfSUqyeY3gOuejIEZg/bj1NCSFqFY7mArL
	 sGFHikREKV+Z0TDiEnXHYFYs=
Date: Tue, 28 Nov 2023 09:51:22 +0100
From: Borislav Petkov <bp@alien8.de>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com,
	x86@kernel.org, hpa@zytor.com, luto@kernel.org, pbonzini@redhat.com,
	seanjc@google.com, peterz@infradead.org, jgross@suse.com,
	ravi.v.shankar@intel.com, mhiramat@kernel.org,
	andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
	nik.borisov@suse.com
Subject: Re: [PATCH v12 16/37] x86/ptrace: Add FRED additional information to
 the pt_regs structure
Message-ID: <20231128085122.GPZWWqCrPYnzB8BqFB@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-17-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231003062458.23552-17-xin3.li@intel.com>

On Mon, Oct 02, 2023 at 11:24:37PM -0700, Xin Li wrote:
> FRED defines additional information in the upper 48 bits of cs/ss
> fields. Therefore add the information definitions into the pt_regs
> structure.
> 
> Specially introduce a new structure fred_ss to denote the FRED flags
> above SS selector, which avoids FRED_SSX_ macros and makes the code
> simpler and easier to read.
> 
> Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>

You and hpa need to go through all the patches and figure out who's the
author that's going to land in git.

Because this and others have hpa's SOB first, suggesting he's the
author. However, the mail doesn't start with

From: H. Peter Anvin (Intel) <hpa@zytor.com>

and then git will make *you* the author.

> Tested-by: Shan Kang <shan.kang@intel.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Xin Li <xin3.li@intel.com>

...

>  	union {
> -		u64	ssx;	// The full 64-bit data slot containing SS
> -		u16	ss;	// SS selector
> +		/* SS selector */
> +		u16		ss;
> +		/* The extended 64-bit data slot containing SS */
> +		u64		ssx;
> +		/* The FRED SS extension */
> +		struct fred_ss	fred_ss;

Aha, sanity about the right comments has come to your mind in this next
patch. :-P

Just do them right in the previous one.

>  	/*
> -	 * Top of stack on IDT systems.
> +	 * Top of stack on IDT systems, while FRED systems have extra fields
> +	 * defined above for storing exception related information, e.g. CR2 or
> +	 * DR6.

Btw, I really appreciate the good commenting - thanks for that!

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 08:54:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 08:54:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642811.1002523 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7trT-0006Aa-E4; Tue, 28 Nov 2023 08:54:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642811.1002523; Tue, 28 Nov 2023 08: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 1r7trT-0006AR-Ab; Tue, 28 Nov 2023 08:54:31 +0000
Received: by outflank-mailman (input) for mailman id 642811;
 Tue, 28 Nov 2023 08:54: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7trR-0006AJ-QP
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 08:54:29 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd3ff266-8dcb-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 09:54:29 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9472.eurprd04.prod.outlook.com (2603:10a6:102:2b1::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 08:54:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 08:54: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: bd3ff266-8dcb-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IrykMD/NEcWBYq0WIafC6nytzlCzD0SGooWC4ztbTw3EoQkIMtS0H71o9sljVM2Dl/uNQwJtITYT2w2O4edZbAHpYFTqJwqCuklhGTgwt59jKSjnd+4b8Y8Ss/2lZ8jyCvjIDsV/j1+tXt5sKC+gmdkaVTPU/Y0aFmv7hv2lpYHucx6BjM/TmfciqHDOymRZm4ojr3/7IiQvX8DdTSomVJcKuMaYhfAyauAOaeOuPKUETAjYQUmAfM8ci6s48Yt9nqseYVZxHAr0TmmC6ybcKUVjedTQLhdZXM5Q+xKqTbARbgG/vEmYLv/+Fp61GKXbKd6G5vtU/e31zPKDHOPZ0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=i34ThBUw9MpRW6LsQCTqYObUX13WQFuVCiwbDamPOAE=;
 b=SpiOZ721u6Nb7mOepcPJ7DTkCev2vLyGWv9b2+lyNzIdQ14Rq5AuwrnkghareWEtSkB4WGNvnwkTBgB4oo0X/YjRvjvqh67FkpI7EDilXY0XYsdxHhIIzUD6sXlBbOd3yUxPAnlD+p+UQyVm6ufQtx9ydjqwNPE1V0K4oZhC16uRCw/gEKm8HFdPryf3Vi41xO421MCxSPeSswVGt83u8lz4TOOeKE8vHy3LcMlNSk7xGR6t0ywX72J/G3sZQ6Ed/UPB5fmE1C3fXikUXHWq5EERO284eGSYKozE74RdJRhp70o7VnAAnd4FPQP4lHE5fUK5VmDmZiBM35Evx7L/FQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=i34ThBUw9MpRW6LsQCTqYObUX13WQFuVCiwbDamPOAE=;
 b=bnqr9UidCP6FW67DnWHMdUML9PE2UkEqdaPFzTQrRacY6sftp43EKMtLpuCzqfDrbNZU8KGDckSKhAMIIgIpQI85eonkqdq+6yqB3jpm4Pxul8s/9HMRiHF4USIYhTPg7eb1Q2G88UK0hsAmHBGZvlR2HUE5JvH1lSyMp1gfawoZrRDH9TUHbJLyrr3sN0nsWSIEu1YSTxLfnxFx0OAang6LcmD0i7N10MtUYAYVRE8zW8n3w/yBU8yNGmTOJFVnHGaKYXFbUaWZ60Y9HngvsrcGHFnwSSwi29wOGPsAOZwVhfNkSVwPDTs2uyopDu0jOKa34A/6zDQ/yz9/RN63SA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0c8289f7-63ee-4833-a807-319f72e9b842@suse.com>
Date: Tue, 28 Nov 2023 09:54:25 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: MISRA: Compatible declarations for sort and bsearch
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Andrew Cooper3 <andrew.cooper3@citrix.com>, Julien Grall
 <julien@xen.org>, George Dunlap <george.dunlap@citrix.com>,
 Wei Liu <wl@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Xen Devel <xen-devel@lists.xenproject.org>
References: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
 <ca540835e3cce50a852fdf2b3956205a@bugseng.com>
 <b3e14bf0-def2-4e1c-83f6-a94a203c7b8d@suse.com>
 <5ebb62b5485bb1a0c4e805af6580ab6d@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5ebb62b5485bb1a0c4e805af6580ab6d@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0295.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e7::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9472:EE_
X-MS-Office365-Filtering-Correlation-Id: e4a1e1aa-873a-49fd-0e93-08dbefefa03c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xnmloYHg1qBZ38dk42jO6R9XxRjp+awZ9ir6E1TqUFP+rfCCOC96H63FyDj71J3TuXF1/oWQeHIy3eQqo0LkC9oZhceExShBUUA2j+EIPpeMmkl5gh3K7wyOdJhGSoDGpPkqxUrAdUwGW730MXi+dvpjC6GNhoHv+92/9QWVPslGUExtyhX+51cOgWlM0SoTImjqg+/4NulZjoP23edDFw3d102mhSl+oPnxpEv0unWjnCfok2ji0v8Gp0W16yTB03/SPA1Z5O2QBkSw3HjjdyQbOfe3Lx6KMOU9nAQtif3PKGuQt7+UGi8isILhd18xyM0kqQW7Tkh9X9zlWTena/cReVPw8RuGNc/xAoU8svuYRn6L/N2NHbEHfzm6OjaqjQ6ZP/8dNAoatFwCnz7EmI+vPosu9Td15ATmphvlKRkcC51ISP7Jo9bxonO99uyv6RxEmFH1soXi11Sz6/JLktN+5YdYky8nrzQqYwzUE2AvLc3ytZLFXzzQkitZfRSMalzCKDZfgzd1GOcuAA6ziidByzrALdc8Exszad/0GWWzv1XliJ7XLe3J1HNoh4zZGs/Uk5A3bhzBd8GLMZ1RyvA4Ai+aEVtngNX2ZWN+ktRTlogTcW629rBSq30Ka5ptkZNFwnwm48TL1QmSw2wBRA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(376002)(136003)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(66946007)(66556008)(66476007)(54906003)(316002)(6916009)(8936002)(4326008)(8676002)(83380400001)(2906002)(4001150100001)(38100700002)(6486002)(36756003)(478600001)(6512007)(53546011)(86362001)(31696002)(6506007)(41300700001)(31686004)(5660300002)(26005)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?b2txU0JNeEtUUFFkS1Jxc3lxNmR5cDhlcUhMUlVhNEZoUGUwNk90cjFiL0t6?=
 =?utf-8?B?Ym40ajRkYlN1T3YweTFMa0MvbkllOE9Ra0s1dy9uUmtpbjdDWHFvdzhOVnVr?=
 =?utf-8?B?bHZLN0hnYkoreHFvV0ZHekdtMjNJakhVR1F4aUZLcDRGSWNiME5tamMrMnlp?=
 =?utf-8?B?THhheUpxRmNkZjZzcXIrWHFweWZqR3ZUOHNvNnRHTkQ2SmtQMHBDb1BUZ3JM?=
 =?utf-8?B?YUNWQlVuZGcyRjl2eGJhbHJ4YVJLVVZGNnlTeFg5WTgwY00rajgwWDlLM1Y0?=
 =?utf-8?B?QlUrQnRaOE02cVA3TWFRWm9EanVLZkxFbkY5Qm1pN3NiaWd1MkhXWVlzOG9y?=
 =?utf-8?B?aDI5NHhBRkZLZndBa2hvL3lKR3pDdkJ5YktCR2wrSDRRRkVoSTBQeWxQZ0pU?=
 =?utf-8?B?OHhKSTUyc0NHQU1oeCtob3p3MGVuRjNzOG9vL0w4UzlYZFdJRDl2bDRlTlNs?=
 =?utf-8?B?U1RaOUQzSEZXVUhjZGJ6R2xhR3lpcjdWejRkbWVMU2dTcHlEL2ZlaWdSWjI2?=
 =?utf-8?B?T2RvakI4RHhidkIwSzN3YVVyazhvZFNoSENaVDkxd1RNcng0QUU5VXMrMTRU?=
 =?utf-8?B?T3Z5dkJSL01GenVTVXR6ZGpjclp0Z1pZWmZmang4c0piMWI2cnJFcERNSVJI?=
 =?utf-8?B?bGNJSGEwazM3UUhnendYNFp4cVFwTlloQkpGYkUxQTJxdHlYa0lrcWFlMWFD?=
 =?utf-8?B?by9PK2hQb3h1ak1DV3RaUFZHKzdqUDlQR3doZGlIM0YvNHZScU4rVEtWcUxn?=
 =?utf-8?B?cWdKazVjQkwva3k3RWdOc1lHRlBxcEF5aVFQU1RpRTNmZ1dDQVg0QldLRjR3?=
 =?utf-8?B?dGp6UExLTHk5Y3dJOVJTQ1ZRQ0NjVjI2bFpTTGdIbm5KMUFwT25Yb1ZGOWpY?=
 =?utf-8?B?WWFTUXpNTnJGZ1RNTkRGY2RyaS9UR3AwS0UvK0pRS2RESklHb3FyV20vR3li?=
 =?utf-8?B?OFI2T3YvOG54TjJCWFlBbW1TT0xSR09LTGdGanFtYnRMeFdVcWlydkVhSGh1?=
 =?utf-8?B?TGZCdmxhZ0pPWTR4bXJxR3ZoUTZFV1pNNkJReVJUNnU2d0VQSDJzdHFSVmtr?=
 =?utf-8?B?aVQyL0x3UDlMdFFmUXg2TDFSSjhWNlRnK0d1SVFxOWYrd1N4K3pScHVDTGtX?=
 =?utf-8?B?c3ZBM2RYQ3ptcW9MV3lSUzFqWWxUQkJuNExTMmtwdDVlZEg1NUxhem1nR2xs?=
 =?utf-8?B?M0VTSW1BeG5uSFZxdnViaXlMSDJrME55NVRxdG5jYlNaa3AxTlMzVUs4SHpj?=
 =?utf-8?B?OVNIMm5zNEhxQjBFcEk5azlYaVFvejVnVjFPTHlFaGNqSHdZRS96YTRtTTZU?=
 =?utf-8?B?MlcvR2oyUkRSblpFeUtSaUErR0hzQm81L2oyaVdxWXlnTExVcWVENXdrSmh3?=
 =?utf-8?B?OG5kcXhlZmlndG9CSFFhMEQxNVBNMGlWY2phRnd0TXkzRzNDa0RlMktiUTZS?=
 =?utf-8?B?QzZMdit0SnlnTGxTTWgzU2FPQnQ3dkNXMG5rTmI2bDR4bVBRVUVXWEFybDNM?=
 =?utf-8?B?ZU5sdDFVLzZCZFd0U2ZPSGlHSDNldUwybWZsK1JCTVV4Z0VvWTNSZnRwd1Zy?=
 =?utf-8?B?Q1hBeitMRG9MNW5pUEsybUJuNlpCb3h6WDdOWFhrdmFVUUZhMUM4S2xjRmhq?=
 =?utf-8?B?ZzFTUmdGVk1WWVlTVXJFY2cveTBFY1BsYnFNUEtsV1NOSjZaSFVMR0Q0cyt1?=
 =?utf-8?B?T1I1T0g4LzVOZFhLZXFYSitQSWlMYkJBMExhdjVaUnBYdzM3cGk2L2lWelFL?=
 =?utf-8?B?UE0zM3d5QU5SWkhCeVpxeEtsS1BuWnFPYjh1d0IrUHYwVCtXTWpiemNpY2JU?=
 =?utf-8?B?WXl1Y1RnNUZTNms3MHZGdXFDQlUzQ1lHSHc2cFZWUmdWNUtEclFjSHlUbjVT?=
 =?utf-8?B?S0kzeitHcnk1UXQzQTU5aXhKdUJudVovdEhMSHFuMHBNQzhDOHlHdE82N3hZ?=
 =?utf-8?B?bE96WGxJaW03V051SzhkcWQvczhrMk9XaDBaN2g1Mzh4L0hRVkl5VER2Tk5N?=
 =?utf-8?B?YnR5ZE5YWFJmaG9JQ2J2NkRGK3dLUEkyRTZHYXc0SmV2bHcyZWVHbldBd0hr?=
 =?utf-8?B?TFhqa09zaS84SUNUdk5qVnVBeTFCUm11ZEV5d0FLR2NtSWNyNWF4WFFXbHFP?=
 =?utf-8?Q?Apksr9CIrxm+iIETOjxCcVmTf?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e4a1e1aa-873a-49fd-0e93-08dbefefa03c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 08:54:26.8932
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: KRrdQKCBNzP6hlzPhSOjUMQbMLxl3O7Av34Uwz80Q6HljtkkmTHNqZwuB0f8tDr6OyzJo6jegsNFZjK5IDUozQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9472

On 27.11.2023 18:57, Nicola Vetrini wrote:
> On 2023-11-27 15:59, Jan Beulich wrote:
>> On 27.11.2023 15:32, Nicola Vetrini wrote:
>>> - compat_set_{px,cx}_pminfo in x86/x86_64/cpufreq.c are perhaps 
>>> declared
>>> with an autogenerated header?
>>
>> I don't think so. Only top-level hypercall handlers would be. This 
>> works by
>> (perhaps even unintentional) trickery: xen/pmstat.h is included only 
>> after
>> set_{c,p}x_pminfo are re-defined to compat_set_{c,p}x_pminfo, so the 
>> same
>> declarations happen to serve two purposes (but of course don't provide 
>> the
>> intended caller/callee agreement).
>>
> 
> I didn't understand your explanation fully; I see xen/pmstat.h in 
> cpufreq.c included before
> compat/platform.h which, as I understand it, redefines set_{c,p}x_pminfo 
> to compat_set_{c,p}x_pminfo, therefore down below no declaration for 
> compat_set_{c,p}x_pminfo is visible, triggering the violation.

May I suggest that you do what I also did in order to answer your original
question (and which imo you could have done up front): Generate the
preprocessed file(s) and check where the declaration(s) are? After all I
assume you understand that the compiler would choke if indeed there was no
declaration before use. The issue here is that there is a declaration
before use, but there is no (suitable) declaration before the definition.
Hence figuring out where the declaration is and why it won't be possible
to also use it for the definition (simply because there's nothing you can
include to achieve that effect) is the first step.

The (as said imo unintended) trickery can actually also be broken, by
simply adding an explicit inclusion of xen/pmstat.h to
x86_64/platform_hypercall.c near the top of the file. And it looks to me
as if adding this #include there is going to want to be part of the
eventual change (to deliberately make said trickery not work anymore).

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 08:56:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 08:56:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642815.1002533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ttC-0007ER-Tk; Tue, 28 Nov 2023 08:56:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642815.1002533; Tue, 28 Nov 2023 08: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 1r7ttC-0007EK-QV; Tue, 28 Nov 2023 08:56:18 +0000
Received: by outflank-mailman (input) for mailman id 642815;
 Tue, 28 Nov 2023 08: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7ttB-00078k-7N
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 08:56:17 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 (mail-am7eur03on20621.outbound.protection.outlook.com
 [2a01:111:f400:7eaf::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id fc4ea0d5-8dcb-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 09:56:15 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9472.eurprd04.prod.outlook.com (2603:10a6:102:2b1::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 08:56:13 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 08:56: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: fc4ea0d5-8dcb-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LLK7jUbNw+j3FiszIwq3QxU9aYEmf601lkjU25mQO2/YPKGS3FwpRsbQzZcUSIIdhBFuSa50aBpld6Zh5pSMtbGewOWNIn+HTUbt8J5k+Y+zSCqLZ5x0ktshoyekIpvDWzYcmT2hiRlHIinYZ1xRBeaa+2D2CLq7cgl6IAiAXCwy8kldgHfw7YzU+PuNAaaGehShfTKUkXsdeiiM5jQ+TXH8U9R1++JGiZVSWcFkSpkqbww198TMo0j5QWGOKTUu5IzPvVxrV+TsUtNa70iU1i14SBGj2jznD4HQwt2Y7KTYYsG9QBwnitVepSFlVE7Vkw53KokQWZBOdnTNPP5hzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q6Dgo/Z5pPVA+860FE7VmjPezpXu9kd5RFN0otc9Y0w=;
 b=FCoLlhrEwXu8r7nSuSNUAfD4NChMHHMf87KzO87d/1p3Q+p6EuwSMnbJJlvqW+l191vCoAluzrUDfidpZ0dOGNJNZmgUB5TgoOC9+ITOggjIJ5P9yej7VkhVh3Xm/PymkDmAKdZ0yHuQdZUpVNgMjLlCiHXBgiY8iib4B+yhnzuQCJgKWsqOxT1yHQgn/aVn70ATOptgvKHFx7DsfNLPkEMDFnJxRmFaMjLXpzxx3DvL+6VQkVoPwdpAxl3PJ6WTm3G1wN1i2p/3zBlFaYH6vBO13rOxmzSsln+rCnwKjlTzm/HVLSjzF68aSso135J41StBm3QS/mOiMB2fQrz4uw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Q6Dgo/Z5pPVA+860FE7VmjPezpXu9kd5RFN0otc9Y0w=;
 b=QfiHN3omffTFjHUAktNs2Uo2APZmldM9FPs7iNEHWSfU9kiHOh+P+izTjr9A+gLRfGN5rPknXgkkKk7eWjcFQrx90aU+Tt/IaPae1nxGiFJ6ZhH48G72qm3vm6yxd6YTMN5ekaWWiVIXTnzgG8wKRxnGZ1AFoNCsGRlreyVscc+57VlTQV//1FdxvXrJ0E8fhfkxPPm2SoD6+bsYqn3IQuQZbfP/4Wyv3QU8qtLM+ZNUmz8DpwsJEIE2OsUQS5glehi71RpqR7fWzpictH5RkMoW+lajTOrMs/Yuf3KZb0cF2NdQ5fQtdmFpmA9HgEU8YQ3TddcdOsGImrthQtMrxw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <225661f6-fd30-4c28-84af-a6ff16def246@suse.com>
Date: Tue, 28 Nov 2023 09:56:11 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: MISRA: Compatible declarations for sort and bsearch
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper3 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Xen Devel <xen-devel@lists.xenproject.org>
References: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0025.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f1::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9472:EE_
X-MS-Office365-Filtering-Correlation-Id: d2cedcfb-5612-4d32-861e-08dbefefdf9f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3z3l//e5iagwW/JWn1uYcVXdgeU+Q1+03y5c+ASvHQ8D7rPV6IFaTQyn6HpLSlcb6DFJCHN9LcN9ICwg9QZ9Y84tueYoh09Rxg1JcIuGmSOxOdolI/FXO7NmpHPhU5JE8UGOOlkmKq6RtqlILuTIxaPr5G2PuNtftaBjhrgddxyIMfdoMJc1QcZ7fWhkcby2zKwiRCWIrgXo+z/Ww72Ym2P9Asey3jZHD4et8WpPAQNtuxlAm3sNxKff3OBCge18q4w+HpaQdSZ922d7z+ztRZm6imQsVtt04HDYwgmnZ4YqgH3BubAQTblT7B8HEAhraW/i8T1rmrKgfAf4ytxySqeynhf8cDAt6UjHoxJH+EET0dIS75dvZo/pFmdcKDPYJyD3e/yALUKJbMYMInwJ+Gd5b9tg76RB4LChtyJ1mzpGfCx1eSRx1d+HX8IEoa4XHTzhDk34Jas4hps/BskhgEp3rNMUuQpgkc4MNhKLd6+d863PUxQd4qnBSQ8nP41parD2yxYNhomKwUPOTeF5mikpI8RElz2FWkvCQ01gyjjKuwN3wVnzfTO0o+849QEZhuG26QTnUP1SP/zPa6vR8afoSmHzOpy6tUYTKysE4Te5PWw0wvhMSTyON/FOE0S5K7ZS/Gb2LBFj7nzAzv+NaQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(376002)(136003)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(66946007)(66556008)(66476007)(54906003)(316002)(6916009)(8936002)(4326008)(8676002)(2906002)(38100700002)(4744005)(6486002)(36756003)(478600001)(6512007)(53546011)(86362001)(31696002)(6506007)(41300700001)(31686004)(5660300002)(26005)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NHJRelJIcUpkWnVJR0w0bVBlOGI5bmpFcFgrNUMrUnJjWWVDS0x4NUN6NXdo?=
 =?utf-8?B?eFdZd0Zhejc0eUNGbHlkL0NieVpKY1BIUHNEd0VOSCtqaWI2V0Q0SUlRVWxx?=
 =?utf-8?B?QnNIR2ZvQWlMRGpaS2hFOC94UndYTmtUWVZieVJyTTVLbzBIS0FRWGZlOE4w?=
 =?utf-8?B?elpSZGhXYUUybmxjOExGYUtqZzVRdTNGQjNhK0dYNitsemhaQTNScXBiK3Vv?=
 =?utf-8?B?c0xGZEZrYlJFeFE4cy9rQ1J5NTJIRzhnM1FOWCtFTXl1NC95c25GMElkNnhi?=
 =?utf-8?B?eURQVWlQREVMdHR0ck8vRzZMSzYrZXNRMi9Fc05oOHRrNlkyN0J6UjVqSzZz?=
 =?utf-8?B?Sk9VMnFEc2xoZG0yak9qRkk5dTFmY0o5bGdOUWlDUEpwZUtTUGJqZWdLZHZz?=
 =?utf-8?B?Tnl1WWNFN05XS1RvMGNzaU9LWkFvOGhTa1RjTGw3TXR1TEI3K3V0Q3Z0YjZh?=
 =?utf-8?B?UzVpcWd3clhqbXhjR3lRSnB1Z1RBVG5tOWE2ZWJCSWxrT3VSRS9iZWNiQWF2?=
 =?utf-8?B?Y2hvbjNIcjluZmJKcUdGQ1NhQ25OWmRxQUhXdmdIdHZ1QVE4ZU15TEVGM0h6?=
 =?utf-8?B?ZEZ5blkwazdGYy9ocVlNTU1KdG9KZmVhWGRFM3k4eGgxbklwcHRQZlJDZm9v?=
 =?utf-8?B?NitsNVlHQWlCbkFKQWZreVMrSEN4eUUxSlZCVDNLb0luWnRYcGcxY2lDYm91?=
 =?utf-8?B?MjBmaG5zZUljS2JUbTFUWGl4K0tuYThVQXJncUxYcit0dFg3Rk0yYzM3bUJG?=
 =?utf-8?B?eXBoU2hEWmEwOGhkajF5dkNsMFVzdHBEZWJkOU1aWTFGc2MrbUVzanQ1REZY?=
 =?utf-8?B?cy94WWdoc0lEaWVFUWJnSTErcERkMWZicGh2VWRwOXFwTThoMDVsUWQrSmo1?=
 =?utf-8?B?YTFJZjRScDMvMjZqM04vbE5pdWFYWmxtd0VRR3R0NEx0bWpzVWFBMzdqT3RY?=
 =?utf-8?B?SFh0M3RRbjd5Y0V6OGhpUG1lemVZWFhreXAzYWdmc29abWVEaElzZWlZVlJU?=
 =?utf-8?B?YjhVL1YweE14UDkwYkdCdHlXWk9zS1hHODNVaVR4cTYreTdRcjFkREYzeWRE?=
 =?utf-8?B?a2kzbkFPMFVUTTFuWUFzNGtQcWVVTUpub2c3TkllNlM3QUJFYlZCU2tpNk4z?=
 =?utf-8?B?blBkTmhQaFRXaXlGaVFmMHpvczJDU1lObHI4TC9Gd1VIV2xyejZKcWxUKzVG?=
 =?utf-8?B?VFdWMTdKQk05L3FlUnRaV0o2U3E5U0tWUUtSRkYreFZNU0g1OGFLRGRBZDli?=
 =?utf-8?B?ZEU1SXlPMUFDdWhCWk5Wc0psRUFlR1Z3UEVIN1lqcEdLSlFhaUNqN0FiR0FO?=
 =?utf-8?B?dHJmekVUMzJMTUpabkgzUG5JRGpjYjY5RitoalhKOXBYVTFjOHV5Zm1VUGNx?=
 =?utf-8?B?QTErNnpBU1pNSk94dzZqb2hXU2Z1eWh3blFubk56UzErMmxqdFI5aU9haHo1?=
 =?utf-8?B?OXRKcEhXOHpuTkZFMDhMZDByamJJS1RqTDVIaER0UEdlL1JEemFvMmpuYkhK?=
 =?utf-8?B?ektjUjJFRS8rNk5VTkQvRFZtcWVBN1dMMXFOdXk2K01adVRrVm5aN0JNaDJ6?=
 =?utf-8?B?WVcvT0VCUlpnN01NMDBmaXdkdmkxYnFlSGJZeUtDK2IyZGIwbFpkYWFzbjdx?=
 =?utf-8?B?ZHhsaVc0RFBRd2xnUllTMXZzaWFraXpIVE50SDl1YXlEd1c2N25nMlZBTzBj?=
 =?utf-8?B?U0tzRWIxWklXNXZrZ2xBOUl5RXdVNVZoZlEvQVVuZ01vTjZORWp0WHk5QnRT?=
 =?utf-8?B?RHhndnVUVGNFTnR6YWVVdFhkZkR5cXNxVFFCcEJTZVNsa0pwYUJsOGNuV2Ji?=
 =?utf-8?B?SzNVemJiZXltbjNsUjRNM1Q2RXBWUk9IOVo1SGx0cTFLNU9Dcm5sVFV0N0ZW?=
 =?utf-8?B?c1d6dzdTVGVneUVqcWRDREJKWkpZSjFiQ2ErTGFDUWtycU5SNnRkbGtzR0Z5?=
 =?utf-8?B?WlE3eEFqQyswQ2doeGt5eUpUSXlCcGgvMFdESm5zRElTMlNTMEcvck9NdXVY?=
 =?utf-8?B?QWNxdHJlRUJnMEplaTFBdEFSM0JuSFhUVHcxdG05VTdSWGJmMlc3MkNrUFFq?=
 =?utf-8?B?b0N4aUN1MVFySnZNVVlBWDRhdEswNURrK1QzZ2ZaK2xzbWhYVGt2YkVzaGtt?=
 =?utf-8?Q?+wcWfmH9htH5dSjzf0EnEO5BC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d2cedcfb-5612-4d32-861e-08dbefefdf9f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 08:56:13.2078
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: OjF/QdjDOA7W9nf4oq2X2ls7ZV7geoFiRQLy3ANEBjRXWI5ClhacZpIs96mWA4qZm7vZZdj7OLZF1f/Ymee7rw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9472

On 24.11.2023 10:40, Nicola Vetrini wrote:
> in xen/lib.h and xen/sort.h there are definitions of the functions 
> bsearch and sort that have no prior declarations, and therefore are 
> subject to a violation of MISRA C Rule 8.4.
> 
> I'm wondering whether it would be preferred
> 
> 1. to put a declaration just before the definition, in lib.h and sort.h
> 2. deviate these functions, as their signatures are well-known and 
> somewhat standardized

Seeing that so far no-one else has replied to this: My take is "neither".
It is the very nature of extern gnu_inline functions to work like this.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 09:22:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 09:22:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642823.1002559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uIV-00058w-65; Tue, 28 Nov 2023 09:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642823.1002559; Tue, 28 Nov 2023 09: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 1r7uIV-00058p-24; Tue, 28 Nov 2023 09:22:27 +0000
Received: by outflank-mailman (input) for mailman id 642823;
 Tue, 28 Nov 2023 09:22: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uIU-0004tr-31
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 09:22:26 +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 a298e996-8dcf-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 10:22:22 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40b4e35ecf1so2105775e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 01:22:23 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 e2-20020a5d4e82000000b0032d893d8dc8sm14402876wru.2.2023.11.28.01.22.21
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 01:22:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a298e996-8dcf-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701163342; x=1701768142; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=OVPVkZGrv+VUn3HtwR4TYYwB/Q4YpaApBmzFLnCcK1Y=;
        b=PUPRSiyRPatvWArvwpfsNEuU/kUWqNRet8UJs2nckGY1FEhOgOZjkhCZZp2OR93SEh
         Xv2b3smUOsRqQ2IfrOd4EqRGCaUvv02I73dnXZAXM6qWn+fkKMloIm5mkS8aNmPBtzNF
         7X+mGJ/7r0a9jfIYh5JXTtlTs+hCEJz9pQPcg=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701163342; x=1701768142;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=OVPVkZGrv+VUn3HtwR4TYYwB/Q4YpaApBmzFLnCcK1Y=;
        b=Izjn5w2he/j2rs80QgMKaZrEMAbpIuLeiCF2Ec39+Pr0HNNlK8pAGmWhMfCUsW8Lw0
         ARVlggtcOGRBfy3+AvejE3bsAcCoHYGbjBIxpgbVD1XSz2eec35PDTtr5rhN7RMyrsCN
         ur3hpDB7/6vkkg37gLSBeGD2p7Cef6lCGyX8ztPU1vUfjV3DynZksTaigbypevur7e4O
         FFSSmS4mYBz/c6PJ9+yJoY1+gOv9h/7Rk62/v5LtdW1608XgqJAG76pK7unyTjh/vkL5
         QyD8RV7csAKQiWaMuth5pii2N4mF+xZ5lK/aQyW44Br7VJyDMV4pXRCKgt04ZtvkgG84
         xwyg==
X-Gm-Message-State: AOJu0Yys/yOqljc41VBJLqP4rq112bnWUKtxa6iNdP0FoxdKK6DwnVWH
	Qkghtgm8lcvB6l2IT5Puz0hbYOIJAtCNfcC1e4Y=
X-Google-Smtp-Source: AGHT+IFgqG6uz6XpkdKSy5uzjb6VIzryT1vCPg5oBEDNb9+R3vRxY4HVTvN69yuGTg7HwT39r6n61Q==
X-Received: by 2002:a05:6000:1802:b0:332:cc15:6bae with SMTP id m2-20020a056000180200b00332cc156baemr9559311wrh.20.1701163341651;
        Tue, 28 Nov 2023 01:22:21 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v2 0/3] livepatch-build-tools: fixes for non GNU tools and alignment
Date: Tue, 28 Nov 2023 10:21:49 +0100
Message-ID: <20231128092152.35039-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The series contains two fixes for using the tools on non GNU
environments, plus one extra fix to account for section alignment when
calculating old function size.

Thanks, Roger.

Roger Pau Monne (3):
  livepatch-build-tools: do not use readlink -m option
  livepatch-build-tools: remove usage of gawk
  livepatch-build-tools: account for section alignment when calculating
    function size

 common.h             |  2 ++
 create-diff-object.c |  5 +++++
 livepatch-build      | 38 +++++++++++++++++++++-----------------
 3 files changed, 28 insertions(+), 17 deletions(-)


base-commit: e588b7914e7afa3abb64b15a32fc2fdb57ded341
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 09:22:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 09:22:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642824.1002563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uIV-0005C3-Dj; Tue, 28 Nov 2023 09:22:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642824.1002563; Tue, 28 Nov 2023 09: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 1r7uIV-0005At-9F; Tue, 28 Nov 2023 09:22:27 +0000
Received: by outflank-mailman (input) for mailman id 642824;
 Tue, 28 Nov 2023 09:22: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uIU-0004tq-C2
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 09:22:26 +0000
Received: from mail-wm1-x32a.google.com (mail-wm1-x32a.google.com
 [2a00:1450:4864:20::32a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a472df4c-8dcf-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 10:22:25 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40b4c2ef58aso4187555e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 01:22:25 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 n8-20020a05600c3b8800b0040b398f0585sm14323367wms.9.2023.11.28.01.22.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 01:22:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a472df4c-8dcf-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701163345; x=1701768145; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nloFbZsR0n5o1gFMfsRypOwTdPPhgWOtMQCBf1lcPX8=;
        b=eX4ePTQEiWinhG61NI8NtbC0pSmWTfp4G1zG3TASMY4PNT4MQ1ybL9nLc6OHVw+NkR
         eBhKvXVKN23VRTwND5PLx9jYXmw43eigkuSu42AvxidIoBkCJnIWP8v01msJ5biTlfaM
         zJz4MaWKjRBSG741CWN9qSyKj3ZlCUh9MGi/U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701163345; x=1701768145;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nloFbZsR0n5o1gFMfsRypOwTdPPhgWOtMQCBf1lcPX8=;
        b=Zu15x3k9uipQ4EdIaNoh4Is5bJnFyzq2FqMWCkPLETuuDkZO5p/yMJTo6v+P6+sqGl
         XuqtNFfBAw3+Ej36fo3qu+SivNAH0ro/+rDNFjzBFtu6QGe3DtBBlmbWNxFFqYrY80Yh
         6petiGvPkwC/WlXtd7RbRYyWbwlV0eglPZw2NXiD5rWvAGLP2WJVQb6DZUk5u/RuF6I+
         x7IpXOXShfyTw01f5oFJOdga3WF5E+ct8XCQ5r+JFrf5HMviJczvNsc1BhcgFfZ1eCGW
         D76Gxry7XxC0Ehh55reXc7PvaUU97i/uO7Kr2rJH47cuSMU12USv9UgrdE2k0ZWUeueT
         lhiw==
X-Gm-Message-State: AOJu0YzlHDp4qza2KReYyR7hZqtPUpZJ5VThXrdrLWz0l8WAvacaOAoG
	sbjgPNRcYZJZNXnig+0RxGprw9pu+pc6/umuOjI=
X-Google-Smtp-Source: AGHT+IG3Eo5ZvV3iidJ+LL4lIRYVlc0WvPm8MgpcybdntPPVgNd0KKSy77sIYN1+0k2yHT3X4/QGCA==
X-Received: by 2002:a05:600c:198a:b0:40b:448b:f711 with SMTP id t10-20020a05600c198a00b0040b448bf711mr4835936wmq.18.1701163345041;
        Tue, 28 Nov 2023 01:22:25 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v2 3/3] livepatch-build-tools: account for section alignment when calculating function size
Date: Tue, 28 Nov 2023 10:21:52 +0100
Message-ID: <20231128092152.35039-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128092152.35039-1-roger.pau@citrix.com>
References: <20231128092152.35039-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Forcing function section alignment at the compiler level ensures that enough
space is present in the text section so that at least a jump can be encoded in
the old function body to switch to the newly loaded code payload.

Modify create-diff-object to account for any section alignment when calculating
the size of the old function.

When used with a suitable -falign-function compiler parameter on the Xen
hypervisor build this ensures that all functions have enough space to
accommodate for any control flow instructions plus a jump.

Note that while the rounding could be applied to all (text) symbols, it's not
required, as the size is only relevant for functions that are live patched, and
hence only do the rounding when calculating the old (previous) function size.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v2:
 - New in this version.
---
 common.h             | 2 ++
 create-diff-object.c | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/common.h b/common.h
index 0d3e5f1dd3b5..5ff9ef6ca8e9 100644
--- a/common.h
+++ b/common.h
@@ -37,6 +37,8 @@ extern char *childobj;
 	list_add_tail(&(_new)->list, (_list)); \
 }
 
+#define ROUNDUP(x, a) (((x) + (a) - 1) & ~((a) - 1))
+
 enum loglevel {
 	DEBUG,
 	NORMAL
diff --git a/create-diff-object.c b/create-diff-object.c
index d0e14e3a62bb..fed360a9aa68 100644
--- a/create-diff-object.c
+++ b/create-diff-object.c
@@ -2015,6 +2015,11 @@ static void livepatch_create_patches_sections(struct kpatch_elf *kelf,
 					ERROR("lookup_global_symbol %s",
 					      sym->name);
 			}
+
+			/* Take into account section alignment for padding. */
+			result.size = ROUNDUP(result.size,
+					      sym->sec->sh.sh_addralign);
+
 			log_debug("lookup for %s @ 0x%016lx len %lu\n",
 			          sym->name, result.value, result.size);
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 09:22:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 09:22:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642825.1002578 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uIW-0005cP-Kd; Tue, 28 Nov 2023 09:22:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642825.1002578; Tue, 28 Nov 2023 09:22: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 1r7uIW-0005cI-HU; Tue, 28 Nov 2023 09:22:28 +0000
Received: by outflank-mailman (input) for mailman id 642825;
 Tue, 28 Nov 2023 09:22: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uIU-0004tr-Kw
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 09:22:26 +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 a3ccb24d-8dcf-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 10:22:24 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-3316bb1303bso3233170f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 01:22:25 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 b7-20020adfe307000000b00332fbf7ab21sm6834899wrj.60.2023.11.28.01.22.23
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 01:22:23 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a3ccb24d-8dcf-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701163344; x=1701768144; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=h5HPry0cHVXYa7E65UlZUEhBkm420RlLl9/gqlG+ArQ=;
        b=BKFwDsMvtefl2dhVlXZFUuughPuwhabDvJjl8vY5hQCWU3R+dHFu/GgCQ3iqn20iHz
         xHYT9WQ617iOMTkRXDZp6cTauItHg7A33DRHiTnwAlF51qh+XKDYyH/4MrsK1j5pw07n
         u2ikulgVxRh4P0D1IpNHlq0kG35r8Ht5H/dK0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701163344; x=1701768144;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=h5HPry0cHVXYa7E65UlZUEhBkm420RlLl9/gqlG+ArQ=;
        b=gdIE698slba8G89/W7bDN1d2ykemlqLjeKlPLoz4d2NDWKpE7L8c9mGJCrohxbB6jD
         sSvNv4qeYm4M/2RKR9DB2Hw4eZ7nc8GxlIckWeJFdLusgmJbbvNvcM+FU7oh3TYUC0XL
         rLqc7tTqYxOEXKmEK5GAj9ImzXLIZxWSqAIq3lPtYXv4MN3Yts02FVKdwMBfiN7Pv8+H
         UbYTDXNpUUeBVwgcX8vxKwpKyH1M0cZZnH6yl+2PYDqzrXDXzPim6J+asZMQsM8DIbJT
         6L0PXO5xPEM5iKkZ11boC3mYqSgv8r7UlmJEbC3E5MMhrp4CWJwXzEi/WSPaKhY20ONm
         dtiQ==
X-Gm-Message-State: AOJu0YwEcNK+ChUOrn9wNc/40pwSTWDgZ1BUxw0HmVC9JOLc+42U7McD
	9eFGn8DWTgtOktf+KHUJR5wIxmRzZ395XiUQXUk=
X-Google-Smtp-Source: AGHT+IEQiMZYddsFFj7Vr/s1dpjiADp3UuvyPpdn8nKI0utkQ7+Yp9K9ye8K+CxyXt8skoTiuCjdFg==
X-Received: by 2002:adf:f349:0:b0:333:ed:82ed with SMTP id e9-20020adff349000000b0033300ed82edmr4459304wrp.66.1701163343894;
        Tue, 28 Nov 2023 01:22:23 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v2 2/3] livepatch-build-tools: remove usage of gawk
Date: Tue, 28 Nov 2023 10:21:51 +0100
Message-ID: <20231128092152.35039-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128092152.35039-1-roger.pau@citrix.com>
References: <20231128092152.35039-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

And instead use plain awk.

Since plain awk cannot do the conversion from hex to decimal, use the shell
(bash) printf to convert the (maybe) hexadecimal output of readelf.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Use shell printf to convert.
---
 livepatch-build | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/livepatch-build b/livepatch-build
index 305644037ee7..e2ccce4f7fd7 100755
--- a/livepatch-build
+++ b/livepatch-build
@@ -423,14 +423,15 @@ if [ "${SKIP}" != "build" ]; then
     echo "Reading special section data"
     # Using xen-syms built in the previous step by build_full().
     SPECIAL_VARS=$(readelf -wi "$OUTPUT/xen-syms" |
-               gawk --non-decimal-data '
+               awk '
                BEGIN { a = b = e = 0 }
                a == 0 && /DW_AT_name.* alt_instr/ {a = 1; next}
                b == 0 && /DW_AT_name.* bug_frame/ {b = 1; next}
                e == 0 && /DW_AT_name.* exception_table_entry/ {e = 1; next}
-               a == 1 {printf("export ALT_STRUCT_SIZE=%d\n", $4); a = 2}
-               b == 1 {printf("export BUG_STRUCT_SIZE=%d\n", $4); b = 2}
-               e == 1 {printf("export EX_STRUCT_SIZE=%d\n", $4); e = 2}
+               # Use shell printf to (possibly) convert from hex to decimal
+               a == 1 {printf("export ALT_STRUCT_SIZE=`printf \"%%d\" \"%s\"`\n", $4); a = 2}
+               b == 1 {printf("export BUG_STRUCT_SIZE=`printf \"%%d\" \"%s\"`\n", $4); b = 2}
+               e == 1 {printf("export EX_STRUCT_SIZE=`printf \"%%d\" \"%s\"`\n", $4); e = 2}
                a == 2 && b == 2 && e == 2 {exit}')
     [[ -n $SPECIAL_VARS ]] && eval "$SPECIAL_VARS"
     if [[ -z $ALT_STRUCT_SIZE ]] || [[ -z $BUG_STRUCT_SIZE ]] || [[ -z $EX_STRUCT_SIZE ]]; then
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 09:22:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 09:22:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642822.1002549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uIT-0004u4-UN; Tue, 28 Nov 2023 09:22:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642822.1002549; Tue, 28 Nov 2023 09:22: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 1r7uIT-0004tx-Rg; Tue, 28 Nov 2023 09:22:25 +0000
Received: by outflank-mailman (input) for mailman id 642822;
 Tue, 28 Nov 2023 09:22: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uIS-0004tq-Sj
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 09:22:24 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a32bb506-8dcf-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 10:22:23 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-40b31232bf0so42186155e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 01:22:23 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p34-20020a05600c1da200b00406408dc788sm17535442wms.44.2023.11.28.01.22.22
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 01:22:22 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a32bb506-8dcf-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701163343; x=1701768143; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OgDIL9w5jx+UxCwj2sM5xrPgOrkinlsQKkLBTFvRxoc=;
        b=Yr1o+KfN8zJHB4DoKfB2Nc7tjtBMcDQfRoT6R5TmvS+4oOSj8sAT9OJFyfpZkj5XfQ
         Lly9EKEXkvWBriy6UyAb3EOw1uN9R3ebGwYotkG+DvUDRVNO4X0M2viV/p+uxcpoiPDH
         fDmBqj2O/cLfDaAyjA2y9d0JKVndAFCHd/cfY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701163343; x=1701768143;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OgDIL9w5jx+UxCwj2sM5xrPgOrkinlsQKkLBTFvRxoc=;
        b=FINwW9i5TzdJ6Qe73HB4UJ0OAyYmnG7A0hlF/bLFU8V/IpQld46IhR5d1qMG1L3ChU
         sVH55Gqo3Oasi92gG6VwkTNbX52yLRvD6YcNhTIPl8IDfQZfyG/n6UBqZu2eWcNayiFL
         x9QnNSRTjgflMgOQtW+bgd/RzEuJ1XfXpd5Z5A9xlRnzBq+ylPi97QwLIMsAgc4IkMI2
         InIMq/q4uE83/MygRTid0m52BRLwB/P85Xm+HDH2uvru9D/fyPsVEn1Bl4Iy2Z/xrcta
         QyvsXvQmeckl6TIPFvZt5eF8sLcMmP2Z2GzcM2IG8fyO7nV1Zs+CL8m12z2tLUMVE/fG
         ByFw==
X-Gm-Message-State: AOJu0YyD+XwaPsNslqQ5vJBCaHLG0hYU7lcK+EmdcJhWSJQtwvcU/1Sy
	BQz2gEU8m4YZcuU7C4igJwLBOh/DapZlabi+6Qc=
X-Google-Smtp-Source: AGHT+IERTa201gF0CHZeOAYrIVyvM0E4oJr0RIksH0nF29I7usiI6qaKzScDtaVOuV+0vNMPsuXnYg==
X-Received: by 2002:a05:600c:4f16:b0:40b:3857:12f9 with SMTP id l22-20020a05600c4f1600b0040b385712f9mr9408150wmq.5.1701163342885;
        Tue, 28 Nov 2023 01:22:22 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Roger Pau Monne <roger.pau@citrix.com>
Subject: [PATCH v2 1/3] livepatch-build-tools: do not use readlink -m option
Date: Tue, 28 Nov 2023 10:21:50 +0100
Message-ID: <20231128092152.35039-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128092152.35039-1-roger.pau@citrix.com>
References: <20231128092152.35039-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Busybox readlink implementation only supports the -f option to follow symlinks,
so adjust the logic in order to keep the same behaviour without using the -m
option.

Singed-off-by: Roger Pau Monné <roger.pau@citrix.com>
Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>
---
 livepatch-build | 29 ++++++++++++++++-------------
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/livepatch-build b/livepatch-build
index 91d203bda0eb..305644037ee7 100755
--- a/livepatch-build
+++ b/livepatch-build
@@ -336,8 +336,8 @@ while [[ $# -gt 0 ]]; do
             ;;
         --xen-syms)
             shift
-            XENSYMS="$(readlink -m -- "$1")"
-            [ -f "$XENSYMS" ] || die "xen-syms file does not exist"
+            [ -f "$1" ] || die "xen-syms file does not exist"
+            XENSYMS="$(readlink -f -- "$1")"
             shift
             ;;
         --depends)
@@ -366,22 +366,20 @@ while [[ $# -gt 0 ]]; do
 done
 
 [ -z "$srcarg" ] && die "Xen directory not given"
+[ -d "$srcarg" ] || die "Xen directory does not exist"
 [ -z "$patcharg" ] && die "Patchfile not given"
+[ -f "$patcharg" ] || die "Patchfile does not exist"
 [ -z "$configarg" ] && die ".config not given"
+[ -f "$configarg" ] || die ".config does not exist"
 [ -z "$outputarg" ] && die "Output directory not given"
 [ -z "$DEPENDS" ] && die "Build-id dependency not given"
 [ -z "$XEN_DEPENDS" ] && die "Xen Build-id dependency not given"
 
-SRCDIR="$(readlink -m -- "$srcarg")"
+SRCDIR="$(readlink -f -- "$srcarg")"
 # We need an absolute path because we move around, but we need to
 # retain the name of the symlink (= realpath -s)
 PATCHFILE="$(readlink -f "$(dirname "$patcharg")")/$(basename "$patcharg")"
-CONFIGFILE="$(readlink -m -- "$configarg")"
-OUTPUT="$(readlink -m -- "$outputarg")"
-
-[ -d "${SRCDIR}" ] || die "Xen directory does not exist"
-[ -f "${PATCHFILE}" ] || die "Patchfile does not exist"
-[ -f "${CONFIGFILE}" ] || die ".config does not exist"
+CONFIGFILE="$(readlink -f -- "$configarg")"
 
 PATCHNAME=$(make_patch_name "${PATCHFILE}")
 
@@ -390,17 +388,20 @@ echo
 echo "Xen directory: ${SRCDIR}"
 echo "Patch file: ${PATCHFILE}"
 echo ".config file: ${CONFIGFILE}"
-echo "Output directory: ${OUTPUT}"
+echo "Output directory: $outputarg"
 echo "================================================"
 echo
 
 if [ "${SKIP}" != "build" ]; then
-    [ -e "${OUTPUT}" ] && die "Output directory exists"
+    # Make sure output directory doesn't exist, and create it.
+    [ -e "$outputarg" ] && die "Output directory exists"
+    mkdir -p "$outputarg" || die
+    OUTPUT="$(readlink -f -- "$outputarg")"
+
     grep -q 'CONFIG_LIVEPATCH=y' "${CONFIGFILE}" || die "CONFIG_LIVEPATCH must be enabled"
     cd "$SRCDIR" || die
     patch -s -N -p1 -f --fuzz=0 --dry-run < "$PATCHFILE" || die "Source patch file failed to apply"
 
-    mkdir -p "${OUTPUT}" || die
     cp -f "${CONFIGFILE}" "${OUTPUT}/.config"
     cp -f "${OUTPUT}/.config" "xen/.config"
 
@@ -453,7 +454,9 @@ if [ "${SKIP}" != "build" ]; then
 fi
 
 if [ "${SKIP}" != "diff" ]; then
-    [ -d "${OUTPUT}" ] || die "Output directory does not exist"
+    cd "${SCRIPTDIR}" || die
+    [ -d "$outputarg" ] || die "Output directory does not exist"
+    OUTPUT="$(readlink -f -- "$outputarg")"
 
     cd "${OUTPUT}" || die
     create_patch

base-commit: e588b7914e7afa3abb64b15a32fc2fdb57ded341
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 09:28:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 09:28:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642847.1002588 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uOf-0008W4-F7; Tue, 28 Nov 2023 09:28:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642847.1002588; Tue, 28 Nov 2023 09:28: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 1r7uOf-0008Vx-CA; Tue, 28 Nov 2023 09:28:49 +0000
Received: by outflank-mailman (input) for mailman id 642847;
 Tue, 28 Nov 2023 09:28: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=C3UE=HJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7uOe-0008Vr-Tf
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 09:28:49 +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 8764f6a6-8dd0-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 10:28:46 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-50aab3bf71fso7111061e87.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 01:28:46 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 g20-20020a19ee14000000b0050aaafe2923sm1801262lfb.77.2023.11.28.01.28.45
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 01:28:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8764f6a6-8dd0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701163726; x=1701768526; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=0XuMjoXYZeSyME50U244VGsguh0x7O1pzxe3Son4AXc=;
        b=nEd4eI0g2qWEPY3dYqRQc3W3TzSdR18aPq5miij4rmYIpYvejYU23kQXOr8nxiagfJ
         t/RIQRhE/6rW7zjqHumJxCri88+mEJxx23JjX++Dc3fmmhbrGsn85XAXrYYgEOGj7GwH
         FaGBlgDScljV7mx2BIxBtD5pnr9158CDodGFbPRL8gvqT3z0MK4z5n9wmDcjSQ4rd+ra
         TZkqbOV6ZNv/RYVvERltPLO16IZFlf0XNR5bdgQEuCc0C22eEw4q/SaxGBxQ4zT5aurL
         d3BsErzl4hPcRKc3p2CBMllcv20bIMTk8bEDyt3PnfV1AmFAV3iPr9NMnnNyOJ8DTK6c
         PF2A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701163726; x=1701768526;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0XuMjoXYZeSyME50U244VGsguh0x7O1pzxe3Son4AXc=;
        b=M8088beA4BD8VRonZqhOPWuOKtfsfdzT1mRJpbwPD0o+/PtazLdomqwjzDZTcrk8MR
         K2i9VzaU6udGwIRh/CoLXSrAthknnqsZeFo2uQ0DPiQkI1ohXCuLlLu4XwtzgLP+011u
         rumQ+X2cVk8IK+SdAqWklCycYHUgj7dh6i0OWo8Wir6GEhlJYf6jy1cPMRwMwtEULj3p
         u3dSDzJRnqQvbRKi2D9nh/e2eKS7X8rTWqcaeud2/zbye9x4bEi6Uh6v/ymPKhAUQkCa
         20MKi/EnzxRKF22UXUZSPlaWxoGjlB+UukPqm1aUgrB9wiIZoIWfxOK9wfFLC+DC/z/4
         6Umw==
X-Gm-Message-State: AOJu0YxhkrSfiOtIyHISf0q/Ca7btym7YYrwIPb/3V0w8rgCVsrXfs7k
	/biN+l4p4+RmRHRN8Fe1cF4=
X-Google-Smtp-Source: AGHT+IH0IRpAvwytA2cFcIe79uxE5kybdJ1XjyefJeU0wVOp5K67RAvP04DG+r3n/TA5aC8o0EHKjg==
X-Received: by 2002:a05:6512:280c:b0:503:3808:389a with SMTP id cf12-20020a056512280c00b005033808389amr13211737lfb.11.1701163725987;
        Tue, 28 Nov 2023 01:28:45 -0800 (PST)
Message-ID: <195a50316efde86113f6f5df269c754a90490c57.camel@gmail.com>
Subject: Re: [PATCH v4 13/14] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, xen-devel@lists.xenproject.org
Date: Tue, 28 Nov 2023 11:28:45 +0200
In-Reply-To: <405c2d66-a6f4-4bbb-ada5-2ac49c8c9744@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
	 <21ca8f55-d720-489f-a2d0-59a1f78d3656@suse.com>
	 <6543c6aec8f69878e37912924b6d6208136a02af.camel@gmail.com>
	 <405c2d66-a6f4-4bbb-ada5-2ac49c8c9744@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Tue, 2023-11-28 at 08:57 +0100, Jan Beulich wrote:
> On 27.11.2023 20:38, Oleksii wrote:
> > On Mon, 2023-11-27 at 15:41 +0100, Jan Beulich wrote:
> > > On 27.11.2023 15:13, Oleksii Kurochko wrote:
> > > > --- a/xen/arch/ppc/include/asm/grant_table.h
> > > > +++ /dev/null
> > > > @@ -1,5 +0,0 @@
> > > > -/* SPDX-License-Identifier: GPL-2.0-only */
> > > > -#ifndef __ASM_PPC_GRANT_TABLE_H__
> > > > -#define __ASM_PPC_GRANT_TABLE_H__
> > > > -
> > > > -#endif /* __ASM_PPC_GRANT_TABLE_H__ */
> > >=20
> > > Removing this header would be correct only if GRANT_TABLE had a
> > > "depends on
> > > !PPC", I'm afraid. Recall that the earlier randconfig adjustment
> > > in
> > > CI was
> > > actually requested to be undone, at which point what an arch's
> > > defconfig
> > > says isn't necessarily what a randconfig should use.
> > We can do depends on !PPC && !RISCV but shouldn't it be enough only
> > to
> > turn CONFIG_GRANT_TABLE off in defconfig and set
> > CONFIG_GRANT_TABLE=3Dn
> > in EXTRA_XEN_CONFIG?
>=20
> That _might_ be sufficient for CI, but we shouldn't take CI as the
> only
> thing in the world. Personally I consider any kind of overriding for,
> in particular, randconfig at bets bogus. Whatever may not be selected
> (or must be selected) should be arranged for by Kconfig files
> themselves.
> That said, there may be _rare_ exceptions. But what PPC's and RISC-
> V's
> defconfig-s have right now is more than "rare" imo.
>=20
> > Some time ago I also tried to redefine "Config GRANT_TABLE" in
> > arch-
> > specific Kconfig + defconfig + EXTRA_XEN_CONFIG and it works for
> > me.
> > Could it be solution instead of "depends on..." ?
>=20
> Why would we want to re-define an setting? There wants to be one
> single
> place where a common option is defined. Or maybe I don't understand
> what you're suggesting ...
I just thought this change is temporary because grant_table.h will be
introduced later or earlier, and it will be needed to remove "depends
on !PPC && !RISCV". And not to litter common KConfig with the change
which will be removed, it will be better to redefine it in arch-
specific Kconfig with default n.

But after your words about one place, I realized that it would be
better to update a place where a common option is defined.

The only thing I would like to change is probably it will be better to
do the opposite, add "depends on" arches that support
CONFIG_GRANT_TABLE now so it will not need to update "depends on" for
new arches or arches that don't support CONFIG_GRANT_TABLE.

>=20
> > One more question I have do we really need this randconfig? On
> > RISC-V
> > side, I launched several time this patch series ( from v1 to v4 +
> > runs
> > during test of patch series ) and I haven't faced case
> > when CONFIG_GRANT_TABLE=3Dn. ( but I turned the config off in
> > defconfig +
> > EXTRA_XEN_CONFIG ).
>=20
> That override is why in CI you wouldn't see an issue. But as said -
> CI
> isn't everything.
>From this point of view it will be better to add "depends on !PPC &&
!RISCV" to "Config GRANT_TABLE".


~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 09:46:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 09:46:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642853.1002605 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ug2-0004R4-V4; Tue, 28 Nov 2023 09:46:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642853.1002605; Tue, 28 Nov 2023 09: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 1r7ug2-0004Qx-SR; Tue, 28 Nov 2023 09:46:46 +0000
Received: by outflank-mailman (input) for mailman id 642853;
 Tue, 28 Nov 2023 09:46: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=XwP9=HJ=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r7ug2-0004Qr-27
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 09:46:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09298792-8dd3-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 10:46:42 +0100 (CET)
Received: from Dell.homenet.telecomitalia.it
 (host-79-21-6-128.retail.telecomitalia.it [79.21.6.128])
 by support.bugseng.com (Postfix) with ESMTPSA id D96444EE0737;
 Tue, 28 Nov 2023 10:46:42 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09298792-8dd3-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.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>
Subject: [XEN PATCH] x86/guest_walk: address violations of MISRA C:2012 Rule 8.3
Date: Tue, 28 Nov 2023 10:46:34 +0100
Message-Id: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Uniform declaration and definition of guest_walk_tables() using
parameter name "pfec_walk":
this name highlights the connection with PFEC_* constants and it is
consistent with the use of the parameter within function body.
No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/include/asm/guest_pt.h |  2 +-
 xen/arch/x86/mm/guest_walk.c        | 39 +++++++++++++++--------------
 2 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/xen/arch/x86/include/asm/guest_pt.h b/xen/arch/x86/include/asm/guest_pt.h
index bc312343cd..5edf687dce 100644
--- a/xen/arch/x86/include/asm/guest_pt.h
+++ b/xen/arch/x86/include/asm/guest_pt.h
@@ -422,7 +422,7 @@ static inline unsigned int guest_walk_to_page_order(const walk_t *gw)
 
 bool
 guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
-                  unsigned long va, walk_t *gw, uint32_t pfec,
+                  unsigned long va, walk_t *gw, uint32_t pfec_walk,
                   gfn_t top_gfn, mfn_t top_mfn, void *top_map);
 
 /* Pretty-print the contents of a guest-walk */
diff --git a/xen/arch/x86/mm/guest_walk.c b/xen/arch/x86/mm/guest_walk.c
index fe7393334f..20a19bd7e2 100644
--- a/xen/arch/x86/mm/guest_walk.c
+++ b/xen/arch/x86/mm/guest_walk.c
@@ -69,7 +69,7 @@ static bool set_ad_bits(guest_intpte_t *guest_p, guest_intpte_t *walk_p,
  */
 bool
 guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
-                  unsigned long va, walk_t *gw, uint32_t walk,
+                  unsigned long va, walk_t *gw, uint32_t pfec_walk,
                   gfn_t top_gfn, mfn_t top_mfn, void *top_map)
 {
     struct domain *d = v->domain;
@@ -100,16 +100,17 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
      * inputs to a guest walk, but a whole load of code currently passes in
      * other PFEC_ constants.
      */
-    walk &= (PFEC_implicit | PFEC_insn_fetch | PFEC_user_mode | PFEC_write_access);
+    pfec_walk &= (PFEC_implicit | PFEC_insn_fetch | PFEC_user_mode |
+                  PFEC_write_access);
 
     /* Only implicit supervisor data accesses exist. */
-    ASSERT(!(walk & PFEC_implicit) ||
-           !(walk & (PFEC_insn_fetch | PFEC_user_mode)));
+    ASSERT(!(pfec_walk & PFEC_implicit) ||
+           !(pfec_walk & (PFEC_insn_fetch | PFEC_user_mode)));
 
     perfc_incr(guest_walk);
     memset(gw, 0, sizeof(*gw));
     gw->va = va;
-    gw->pfec = walk & (PFEC_user_mode | PFEC_write_access);
+    gw->pfec = pfec_walk & (PFEC_user_mode | PFEC_write_access);
 
     /*
      * PFEC_insn_fetch is only reported if NX or SMEP are enabled.  Hardware
@@ -117,7 +118,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
      * rights.
      */
     if ( guest_nx_enabled(v) || guest_smep_enabled(v) )
-        gw->pfec |= (walk & PFEC_insn_fetch);
+        gw->pfec |= (pfec_walk & PFEC_insn_fetch);
 
 #if GUEST_PAGING_LEVELS >= 3 /* PAE or 64... */
 #if GUEST_PAGING_LEVELS >= 4 /* 64-bit only... */
@@ -399,7 +400,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
      * N.B. In the case that the walk ended with a superpage, the fabricated
      * gw->l1e contains the appropriate leaf pkey.
      */
-    if ( !(walk & PFEC_insn_fetch) &&
+    if ( !(pfec_walk & PFEC_insn_fetch) &&
          ((ar & _PAGE_USER) ? guest_pku_enabled(v)
                             : guest_pks_enabled(v)) )
     {
@@ -408,8 +409,8 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
         unsigned int pk_ar = (pkr >> (pkey * PKEY_WIDTH)) & (PKEY_AD | PKEY_WD);
 
         if ( (pk_ar & PKEY_AD) ||
-             ((walk & PFEC_write_access) && (pk_ar & PKEY_WD) &&
-              ((walk & PFEC_user_mode) || guest_wp_enabled(v))) )
+             ((pfec_walk & PFEC_write_access) && (pk_ar & PKEY_WD) &&
+              ((pfec_walk & PFEC_user_mode) || guest_wp_enabled(v))) )
         {
             gw->pfec |= PFEC_prot_key;
             goto out;
@@ -417,17 +418,17 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
     }
 #endif
 
-    if ( (walk & PFEC_insn_fetch) && (ar & _PAGE_NX_BIT) )
+    if ( (pfec_walk & PFEC_insn_fetch) && (ar & _PAGE_NX_BIT) )
         /* Requested an instruction fetch and found NX? Fail. */
         goto out;
 
-    if ( walk & PFEC_user_mode ) /* Requested a user acess. */
+    if ( pfec_walk & PFEC_user_mode ) /* Requested a user acess. */
     {
         if ( !(ar & _PAGE_USER) )
             /* Got a supervisor walk?  Unconditional fail. */
             goto out;
 
-        if ( (walk & PFEC_write_access) && !(ar & _PAGE_RW) )
+        if ( (pfec_walk & PFEC_write_access) && !(ar & _PAGE_RW) )
             /* Requested a write and only got a read? Fail. */
             goto out;
     }
@@ -435,18 +436,18 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
     {
         if ( ar & _PAGE_USER ) /* Got a user walk. */
         {
-            if ( (walk & PFEC_insn_fetch) && guest_smep_enabled(v) )
+            if ( (pfec_walk & PFEC_insn_fetch) && guest_smep_enabled(v) )
                 /* User insn fetch and smep? Fail. */
                 goto out;
 
-            if ( !(walk & PFEC_insn_fetch) && guest_smap_enabled(v) &&
-                 ((walk & PFEC_implicit) ||
+            if ( !(pfec_walk & PFEC_insn_fetch) && guest_smap_enabled(v) &&
+                 ((pfec_walk & PFEC_implicit) ||
                   !(guest_cpu_user_regs()->eflags & X86_EFLAGS_AC)) )
                 /* User data access and smap? Fail. */
                 goto out;
         }
 
-        if ( (walk & PFEC_write_access) && !(ar & _PAGE_RW) &&
+        if ( (pfec_walk & PFEC_write_access) && !(ar & _PAGE_RW) &&
              guest_wp_enabled(v) )
             /* Requested a write, got a read, and CR0.WP is set? Fail. */
             goto out;
@@ -468,7 +469,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
 
     case 1:
         if ( set_ad_bits(&l1p[guest_l1_table_offset(va)].l1, &gw->l1e.l1,
-                         (walk & PFEC_write_access)) )
+                         (pfec_walk & PFEC_write_access)) )
         {
             paging_mark_dirty(d, gw->l1mfn);
             hvmemul_write_cache(v, l1gpa, &gw->l1e, sizeof(gw->l1e));
@@ -476,7 +477,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
         /* Fallthrough */
     case 2:
         if ( set_ad_bits(&l2p[guest_l2_table_offset(va)].l2, &gw->l2e.l2,
-                         (walk & PFEC_write_access) && leaf_level == 2) )
+                         (pfec_walk & PFEC_write_access) && leaf_level == 2) )
         {
             paging_mark_dirty(d, gw->l2mfn);
             hvmemul_write_cache(v, l2gpa, &gw->l2e, sizeof(gw->l2e));
@@ -485,7 +486,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
 #if GUEST_PAGING_LEVELS == 4 /* 64-bit only... */
     case 3:
         if ( set_ad_bits(&l3p[guest_l3_table_offset(va)].l3, &gw->l3e.l3,
-                         (walk & PFEC_write_access) && leaf_level == 3) )
+                         (pfec_walk & PFEC_write_access) && leaf_level == 3) )
         {
             paging_mark_dirty(d, gw->l3mfn);
             hvmemul_write_cache(v, l3gpa, &gw->l3e, sizeof(gw->l3e));
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 09:54:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 09:54:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642858.1002616 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7un5-0006o5-O0; Tue, 28 Nov 2023 09:54:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642858.1002616; Tue, 28 Nov 2023 09: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 1r7un5-0006ny-Iv; Tue, 28 Nov 2023 09:54:03 +0000
Received: by outflank-mailman (input) for mailman id 642858;
 Tue, 28 Nov 2023 09:54: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=Oxj7=HJ=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r7un4-0006ns-HR
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 09:54:02 +0000
Received: from mail.alien8.de (mail.alien8.de [2a01:4f9:3051:3f93::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0d4eeead-8dd4-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 10:53:59 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id D8A4C40E01B1; 
 Tue, 28 Nov 2023 09:53:58 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id bH8nQNUDPbpB; Tue, 28 Nov 2023 09:53:57 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 9763840E0195;
 Tue, 28 Nov 2023 09:53: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: 0d4eeead-8dd4-11ee-9b0e-b553b5be7939
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key)
	reason="fail (body has been altered)" header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1701165236; bh=aoMnhTr7jFd65n5Bx4KqYKvZ0RjDqIT+i/qp/fJf9sY=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=SDs4/28UNi7ssKZUpSxEQAK1JKNEFUDteBwUljeJdP1EjxfBr73XRShv17qhnE29j
	 Nf09IzxD+prQAm/Q4rOhBt85lPfBZiCTMRhQ9NoX5QIPwbFEix/+iBCG5+vxIOX98q
	 /NHeUoHAO18Of1mgtQH8/PuVEmf5Fb+rl0mDobbU5qiD7ptINcz2Eq73gPYwBCpH9C
	 qA9uASBrO9JaCtJT5E7ahhCs1Xie3EWLOLbdfWofmx5MGdX4g6Xwo2IHyGDRyw/So1
	 8UVeLkmc2VUZvqwlkbkNpjOoqkVxGhEcW7dgbGQtUoU+BaSRpcTEyZyFn58R0xAI7G
	 AjTaLWdZXbOi0lvAQE79lhCDmmqS+oLctYcxTJ82oWH0j5RPue1TUtCPisLSB3xEJZ
	 cMLZz3hOt6Np+xbUrFWqu3iZjOSrlFaxohNLV4uoAuto/1l8eJGgz9lFzdRTj+OdAT
	 FOHxijYdEySTKyj/1+Q/EKl3+WvDTXVazCchOy4n78gFYKZe8SiP7bmrdyIhdRcItk
	 DWXt4pwBXpMxosc56Zeo1QiMHBq5iDNcisNfkHf0Dk57xnhOlBt9kvuONbMGmiJ0RW
	 CEkO7XTK28htgUb78Jk8jfxji1wVzlYL7VOje+gqe5m1pSejuzet3rgDYLIblYpcfH
	 fFzIm7U20KE3ud/SyQRiGiIs=
Date: Tue, 28 Nov 2023 10:53:29 +0100
From: Borislav Petkov <bp@alien8.de>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com,
	x86@kernel.org, hpa@zytor.com, luto@kernel.org, pbonzini@redhat.com,
	seanjc@google.com, peterz@infradead.org, jgross@suse.com,
	ravi.v.shankar@intel.com, mhiramat@kernel.org,
	andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
	nik.borisov@suse.com
Subject: Re: [PATCH v12 20/37] x86/fred: Disallow the swapgs instruction when
 FRED is enabled
Message-ID: <20231128095329.GQZWW4mTdTdmhZ+wS4@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-21-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231003062458.23552-21-xin3.li@intel.com>
Content-Transfer-Encoding: quoted-printable

On Mon, Oct 02, 2023 at 11:24:41PM -0700, Xin Li wrote:
> +	 * Note, LKGS loads the GS base address into the IA32_KERNEL_GS_BASE
> +	 * MSR instead of the GS segment=E2=80=99s descriptor cache. As such,=
 the

:verify_diff: WARNING: Unicode char [=E2=80=99] (0x8217 in line: +     * =
MSR instead of the GS segment=E2=80=99s descriptor cache. As such, the

Just do a normal ' - char number 0x27.

--=20
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 09:59:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 09:59:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642868.1002624 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7urx-0000Is-7c; Tue, 28 Nov 2023 09:59:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642868.1002624; Tue, 28 Nov 2023 09: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 1r7urx-0000Il-55; Tue, 28 Nov 2023 09:59:05 +0000
Received: by outflank-mailman (input) for mailman id 642868;
 Tue, 28 Nov 2023 09:59: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7urw-0000IO-2S
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 09:59:04 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur01on2085.outbound.protection.outlook.com [40.107.13.85])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c11fffd8-8dd4-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 10:59:01 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS5PR04MB10059.eurprd04.prod.outlook.com (2603:10a6:20b:680::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 09:58:32 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 09: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: c11fffd8-8dd4-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gTbZUTMtzPjTct8KvLgTWjFq4gE1Kd+7TwKmki1oUzDuTlcyksJORkHuNKzAK3ju7NelLf2Ggwg1aC0+ci6n9zj2Vz8yMXsUlzG8G+RcejnaisX48mi2DZAYiPyRP77jlrYT1ekXxOgYmKKLZi6hw6Hheq+ofGV/35kl6W973SRn5oR3n5z3+bo4ewkX5Z6gGcK2oKcdUYat2nbi6naMry+M9tIYKiIaG2Ed7IBgCMnbS9JPAgBRsdoh6nYy1Kn45unUN+GEtmm9f4mjc94N6IFiSbm00EsJx+oB4MT6W460PamsyfCRuou8Tdm2VzUPLHKLd2AmGZAYuoKmKg7nTQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nVo6mXEJdVllx1xQz4J8SJAw4xBpv1w+ecg/HZxmgiE=;
 b=aej/QRDU+GnBCrU7Kiv49A5iLpB9YICOh38Vukqc7c8nQGccDXfA25eMN3IgDnPCgxFQfJohtuU09CRsomomZF4JPrSfkwjF0XTc5cw4W7ZHP533xWo5X1cmLPkiZJ8Xb+rnymqaTwqlrXuPUHN0/zZLoTjUSe9G4V+XxiMwIOgsyj3iGQB2dpaQJ+2hWYzPGlpqFmL7HpuGQXyKFf9LbqTMwJLYAkO+p+H5t9OklfEZk9a2TAzUCzJvtrJ1wWLtdvuev/ukARM2oxx55PTOwTUwQZyqamp9z1wx7mW3NNVhCiIOpYlfq6E4orrCLEE3FrJKjzcCLFPIPhAe0cO3TA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nVo6mXEJdVllx1xQz4J8SJAw4xBpv1w+ecg/HZxmgiE=;
 b=nqTAO24a25j1qyla9AIOpBgS0P35sPkWKEKPe99/b9Fa8KkfBSVd8Zcpo8NHdwVnbQrTFqBPX9Z+Dtvyy2xhIBxlCRmX4vT5W8h/YLRdkonatbWfYX5OOsGO9M8x8iSfGzOxjoPEbGalUHVB18Ovf2oc5kJdYiRHJfatku+8KNM3rLJ6YaRxWLBCRE6UhD6XzQYJ36pnh5qVD6KpOFX3eTR8PycLSoRpynJhr+PRrS9jaPUh/n0bg0X+Q/yLktuEsy64A6NgSbEyFBnR+jYG0xtORQGD4Xpa06gypBinMszM3TW1fxVwkeNbWcWSm5wOlfpjWx+z9ontS2P/YZWmXw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b81607e0-409f-4805-a4ee-8be8fdd959b8@suse.com>
Date: Tue, 28 Nov 2023 10:58:30 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 13/14] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
 <21ca8f55-d720-489f-a2d0-59a1f78d3656@suse.com>
 <6543c6aec8f69878e37912924b6d6208136a02af.camel@gmail.com>
 <405c2d66-a6f4-4bbb-ada5-2ac49c8c9744@suse.com>
 <195a50316efde86113f6f5df269c754a90490c57.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <195a50316efde86113f6f5df269c754a90490c57.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS5PR04MB10059:EE_
X-MS-Office365-Filtering-Correlation-Id: dfbb4b83-eb2c-4a4e-98fd-08dbeff8944b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pDNMZTtjO3yHF/dkeNvIxAXYR7x1Ej0trv7QFKXmlYStCZE3y2tNt95TfZtbAEmL6bCVDW3n4+cE3kmS+IRWa32xHRoOQCwhvNlzIQSXWDCJYiWIKshSBLb+x3gquSCePs854XlK2627JlL8+8kkJTUtR7nSzBSFb0Q4/bJnr670b3/EKlL6tuwHxLOcQBkpdW4cBeJHMvpT1jxDY0nyPZd/boUluBrtn/Ck/BP5s9msmcm3L7oqVb9c4QUSrrzLIubvk4yb+WKLUAf/r1XWdMPqX53hiM+eS1DpD3OWEC2VHluSZ/T6NMBfGtaZGzCG6kKqorFbww82s+2IFh+Q8KUBhqN0UP5nGxPoAaGSltLxF57MU6vgnB1+UM8v2FXoUJv/643rRrV3DFnj8c/nFVpttCSrjHHPV3HsxdWhgbHb7ARDiDVoTE5KCY2zee3O9QtHnvRDYmaB5VuZO/jScD2Q6NyVQ2Zq0S6CCQEua93sJ2Bsm2FBYlZ8Sa9P15W5gOnTj0mnvaBdo3WnirC3K/ZgvmbtE1fSLTbtUVY8a2kbDQlzXmixRA6Dol9fQCnfIR2w5NknTZqkTHqTT0rq3wx0OgN/kNPipIqqSAL2mWOd06rFtXMHSH0gVs6zV0iEoZcCD8FO3Q2OnzzSTvwELA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(366004)(39860400002)(376002)(136003)(346002)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(83380400001)(38100700002)(31686004)(4326008)(6486002)(8936002)(53546011)(8676002)(6506007)(54906003)(66556008)(66476007)(66946007)(31696002)(316002)(5660300002)(86362001)(478600001)(6916009)(4001150100001)(7416002)(2906002)(36756003)(6512007)(41300700001)(26005)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXJqZ09xTjNkRjhtMzdsdVh0c04yd2ZONlBVblNDZ1ZlZ1RXVy90ODhsRlU4?=
 =?utf-8?B?eWdxNHZxQXhYYjE1SVM3WTQ2THI2Ym9YdTliTy9KYVV5Vi90MWJWTnRrT3BV?=
 =?utf-8?B?U3AvSEM5eUx3WStETXhSNWFPclp3Y0RoQkg4N1dlUzJ2b3g0VnBDK05QSW4z?=
 =?utf-8?B?MWZmWmsvRG5JaGJoZXB0VEwvT1FKNmE5VXljSmxpeEJ3WlZ5ZXpPMWsreFUr?=
 =?utf-8?B?clJoUVVMVnIyZGYrT25KN2FSWE1xbTBQVHdLNFZ3YUhWdHFXZjNvSTcxZmc0?=
 =?utf-8?B?V1QwQkNoYW5UaTBKTEZwVWpmaUJLa0JCOWphT1ozZm5NNFhQMEZYLzh5T3Vx?=
 =?utf-8?B?YU53ajhJN2J4aXlWeURYVy9xQUx4UEx0anZtelYyajJWbUU5S1d3UEt3emt0?=
 =?utf-8?B?UytoZ3Ezblh0cE5FRGtjUWUvWVhEVk9ZeXkyaTNIdGt6ajRnVDRyUWJjak9n?=
 =?utf-8?B?dWFQRGpwL3p1TlUzazJ3WHAwN2wxYUVSOGxCempuaHFUQ292bU4vQWtUeEo1?=
 =?utf-8?B?Wm9SMUVtVlhmNnVPekMzZFNKREQvWC9MK2xVdW5HUy9vV0YzVkExcGxLL0pU?=
 =?utf-8?B?dlZOSFNVTUplQjFwQTUrVDNoOTExRldaODZqS2lpNGVhVXlHVEtUeWJDeWxH?=
 =?utf-8?B?NlhPZWp2YURPbTVEYkRuRHBIK1dEVHhmeU9OU3RvTjJSWUlLR3NzQVFBVTBS?=
 =?utf-8?B?Nm1TTXpadmNWalVXZEQ4NFZpdkNUMGUyTm1FUXluUlpCWnN5c24vVGFvWGtD?=
 =?utf-8?B?RE9mWnIrUW1mdzNUb1dBczVOanBBbldscGFlWUhnQzFFaUdNcExPUmF4L2VU?=
 =?utf-8?B?bGxRZGo2dU5iT2RIaWxLd2J5ckQ1MWNJYTU2Wit4a2k0NFZ3SC9UczNhd0Ri?=
 =?utf-8?B?UnlmS2lzcCtTakg0blRGWUlFdFFIbkNxQlp3SUwybzRSYnBoWVRqZ21XWmV3?=
 =?utf-8?B?OXJXL3VnNm9YN1g3LzNqU1pjT1dmNytFdWZVaEJFRGNyTHZodERLbTcxL3Jm?=
 =?utf-8?B?ZUM5bWZ1UnR4N0x5dHB3L01YVWdwNGJhMlVwc0hUZmtJRzB0b3B6ODNNZlpw?=
 =?utf-8?B?YnAxN25hNTE5bXpPMERzQzZ4Qk1GSzREY1p4RWErV3hNTDRydGx1TGVXbkt5?=
 =?utf-8?B?VTIvZmZIVUdaV2dEdmRQN0thWDkyMXRwRjd4NjEvVFg5Mm0yWFZVK3pnc2lm?=
 =?utf-8?B?Zk5LcUMxd1o0c0NXdklSSWYvMUFHa2VkdXpSbzhqaElIMlpOSmNrUWlSVEtL?=
 =?utf-8?B?ZExWcjJvNnBoNjRmS09KM0VwSkFMNlJHbjdyMU9tQWljdnd4aUNhVjRvT0FP?=
 =?utf-8?B?dlJ3VjhWN1p3Kzl1SzROTXVIa05pMEpJTkhBdFM0ZU45eFZtazRCNXJraFBC?=
 =?utf-8?B?dVo4V0dnenJUaEU5OEo0RXE1WXlvY1Zsbm80a2VFbk5tRlM2cmVGNVdnK0Vl?=
 =?utf-8?B?L01wQk83ZUdhWS9hN2d2SUlMdTdPVDVWb2hDS2NhSXo0TG1zMlk1c1gvczZj?=
 =?utf-8?B?OTFpck54a3NLRUlRSFZQV28ycHZUT05PRFpRYVh2Y3Nwc1NNeFhXVWtNTTli?=
 =?utf-8?B?ckFVNTZLTHZnODRicGVRQUdTeWNodnRwUHFLNHYzZDZMRGg0aDJwaW1oV09n?=
 =?utf-8?B?WEV1NEdrT2xpeUhaNWRaVjdkRTk1TFM0R3A3S2t4RER1VTM0VDdXTHBMTW5Y?=
 =?utf-8?B?Z2ZQTGhRcTZxTkF2a2hrc1RiTTJTeFZtVEJmd3NBdU1iOW5ORjNsNHBCY2Ez?=
 =?utf-8?B?aDZ1aFJrSWlaVHk3c1ZSaTdpckdDSVFoSzNobmdjd0hTV0xJWG5KcnYwckdV?=
 =?utf-8?B?Rm9KKzhYTHdzUlNhQ0dLaWVJUzN0VGY0RFBqeWJGS2M4MVpDUFJzSzRjbm9Q?=
 =?utf-8?B?dDRJVVNaV0ttTmtNZE42OERGcnY1Rk9XTTNzdTNxWTJta3NlSGlwVnAzTXMw?=
 =?utf-8?B?Qm9YU1g2NlAzbjZ4QzhLOUtGOGVJY3lYSG5QYW5aNlV3cmgzOGx3VXhSRGtR?=
 =?utf-8?B?RWVOVmVEMFN5djBYcTU4cXpNVlZJMjd6K3R2UDlySHdGN09iMCtsT2Z4Rlpr?=
 =?utf-8?B?cmZMZk9WYWhyWllZWndCck9ETlVkb0xzbkgrQWJMRXZyQ3lMUk5iUkg5OVo3?=
 =?utf-8?Q?HGlw6ehoA9jjtEWTvRVhXBdF8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: dfbb4b83-eb2c-4a4e-98fd-08dbeff8944b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 09:58:32.3863
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: nhBbLW/DD7cxOMHL2ubNYXS8icGsZvr4y0nWxeBCeaHt+JA8qXsil1LrCvZjv5LZMCwkDNFUlQThSkSBvtz5xQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR04MB10059

On 28.11.2023 10:28, Oleksii wrote:
> On Tue, 2023-11-28 at 08:57 +0100, Jan Beulich wrote:
>> On 27.11.2023 20:38, Oleksii wrote:
>>> On Mon, 2023-11-27 at 15:41 +0100, Jan Beulich wrote:
>>>> On 27.11.2023 15:13, Oleksii Kurochko wrote:
>>>>> --- a/xen/arch/ppc/include/asm/grant_table.h
>>>>> +++ /dev/null
>>>>> @@ -1,5 +0,0 @@
>>>>> -/* SPDX-License-Identifier: GPL-2.0-only */
>>>>> -#ifndef __ASM_PPC_GRANT_TABLE_H__
>>>>> -#define __ASM_PPC_GRANT_TABLE_H__
>>>>> -
>>>>> -#endif /* __ASM_PPC_GRANT_TABLE_H__ */
>>>>
>>>> Removing this header would be correct only if GRANT_TABLE had a
>>>> "depends on
>>>> !PPC", I'm afraid. Recall that the earlier randconfig adjustment
>>>> in
>>>> CI was
>>>> actually requested to be undone, at which point what an arch's
>>>> defconfig
>>>> says isn't necessarily what a randconfig should use.
>>> We can do depends on !PPC && !RISCV but shouldn't it be enough only
>>> to
>>> turn CONFIG_GRANT_TABLE off in defconfig and set
>>> CONFIG_GRANT_TABLE=n
>>> in EXTRA_XEN_CONFIG?
>>
>> That _might_ be sufficient for CI, but we shouldn't take CI as the
>> only
>> thing in the world. Personally I consider any kind of overriding for,
>> in particular, randconfig at bets bogus. Whatever may not be selected
>> (or must be selected) should be arranged for by Kconfig files
>> themselves.
>> That said, there may be _rare_ exceptions. But what PPC's and RISC-
>> V's
>> defconfig-s have right now is more than "rare" imo.
>>
>>> Some time ago I also tried to redefine "Config GRANT_TABLE" in
>>> arch-
>>> specific Kconfig + defconfig + EXTRA_XEN_CONFIG and it works for
>>> me.
>>> Could it be solution instead of "depends on..." ?
>>
>> Why would we want to re-define an setting? There wants to be one
>> single
>> place where a common option is defined. Or maybe I don't understand
>> what you're suggesting ...
> I just thought this change is temporary because grant_table.h will be
> introduced later or earlier, and it will be needed to remove "depends
> on !PPC && !RISCV". And not to litter common KConfig with the change
> which will be removed, it will be better to redefine it in arch-
> specific Kconfig with default n.

Right. But if it's indeed temporary, what's the point of this patch?
The entire series is (supposed to be) to improve code structure for
longer term purposes. If a non-generic grant_table.h is going to
appear for PPC and RISC-V, I don't see why the present dummy would
need removing. That's only useful if an arch can be expected to live
with GRANT_TABLE=n even when otherwise feature-complete, and at that
point modifying the Kconfig dependencies would (imo) be appropriate.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:03:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:03:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642872.1002635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uvx-0001sj-TA; Tue, 28 Nov 2023 10:03:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642872.1002635; Tue, 28 Nov 2023 10:03: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 1r7uvx-0001sc-QX; Tue, 28 Nov 2023 10:03:13 +0000
Received: by outflank-mailman (input) for mailman id 642872;
 Tue, 28 Nov 2023 10:03: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=Oxj7=HJ=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r7uvv-0001sW-LI
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:03:11 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 54f0b7a9-8dd5-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:03:08 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 7B76F40E014B; 
 Tue, 28 Nov 2023 10:03:08 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id SID4tgJZ7OsS; Tue, 28 Nov 2023 10:03:06 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 86DCE40E0031;
 Tue, 28 Nov 2023 10:02: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: 54f0b7a9-8dd5-11ee-9b0e-b553b5be7939
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key)
	header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1701165785; bh=h2VptRIJH9KOO+IwbuL3eYqIqKxO/mh8KoaUWSFZjt4=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=LrsHuw3t4TRk1vKx1R4oNXWQRszA/il7mXgXvmSRkFX7MLMc8EA7kH45Ofwub0aYJ
	 k9WIQsGexFOtjYLmD5QComShETDc0A3xNC8zBHYQCBpskVCiNsW4AjJYAsIqkToe/M
	 PTC9bv7xVCvMEC0BTBtHcqfnJsHmo2AM5ifbgOpNJU9NKl0hbC2gc1WbiRHs+ds0/p
	 FcksNIiJwpRhm3rcqN6lAo0npJ81kQaSyOAegLt/yo5ZNJNpyOVEMpxIS2GCdVCcpf
	 g/R9AjTlgQmHLimosVwy3QTkx/pHIxcXwdE6Qx3rHugoWMLRzma7LDu7rblzrpSzSr
	 FRiNnAYffB1BQi1/qEXcNflYy7mORkZPE8FNJ4D7G9nfLJfGoL4UGoMChVyZdfLiPV
	 j4Q5N13fU3XBcEnRIO2tiyqefV07YQPy2HlUQe1sJY9PbAib8C4pucCTSsX/TzneqV
	 qalF45E6X8Mq2XJ/rWN/13jMo+HIRlz+CoeTrwQ7m/fv2TMj/PbS9kdPwOjsMaorYK
	 Eka0w4ohlprCzcRyhlCgsOtE9UtOJZAwIAiyITAQd5bhvU28uj+C3QNIUiMzGJkf9e
	 fZgbtRugg35qB6j1g9XZrhIrxBqcCbZC2zufIvrGiK9sEDQudbymn/Zw+xKdIeYyK6
	 TwabAh4ml3j5rkvp1FGYztU8=
Date: Tue, 28 Nov 2023 11:02:42 +0100
From: Borislav Petkov <bp@alien8.de>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com,
	x86@kernel.org, hpa@zytor.com, luto@kernel.org, pbonzini@redhat.com,
	seanjc@google.com, peterz@infradead.org, jgross@suse.com,
	ravi.v.shankar@intel.com, mhiramat@kernel.org,
	andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
	nik.borisov@suse.com
Subject: Re: [PATCH v12 23/37] x86/fred: Make exc_page_fault() work for FRED
Message-ID: <20231128100242.GRZWW6wqU9IvyXO0cm@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-24-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231003062458.23552-24-xin3.li@intel.com>

On Mon, Oct 02, 2023 at 11:24:44PM -0700, Xin Li wrote:
> From: "H. Peter Anvin (Intel)" <hpa@zytor.com>
> 
> On a FRED system, the faulting address (CR2) is passed on the stack,
> to avoid the problem of transient state. Thus we get the page fault
						^^

Please use passive voice in your commit message: no "we" or "I", etc,
and describe your changes in imperative mood.

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:04:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:04:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642875.1002652 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uwp-0002SE-GY; Tue, 28 Nov 2023 10:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642875.1002652; Tue, 28 Nov 2023 10: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 1r7uwp-0002RO-9y; Tue, 28 Nov 2023 10:04:07 +0000
Received: by outflank-mailman (input) for mailman id 642875;
 Tue, 28 Nov 2023 10:04: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uwo-0002NP-3E
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:04:06 +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 7680d66b-8dd5-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 11:04:05 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-332f90a375eso1759750f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 02:04:05 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 b7-20020adfe307000000b00332fbf7ab21sm6937611wrj.60.2023.11.28.02.04.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 02:04:03 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7680d66b-8dd5-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701165844; x=1701770644; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nCTCryaDRhdDFZ2oalNsQcOivJksIALZ3Jna08fl7Bk=;
        b=BFbmsOEqRnfiSSmRdJbi4fgJqRYvYw9vGVdy2ZCsQqc6qG2RFQAg2gFkf++R2i+hS+
         CZawD+bWdvidvvRuB0GGZSgQeyfHrxkcthPPYYggXqCDFFqN+YdlXiPM730VfyesN/gy
         zEVFstefYMM8j2KmsPnAaOkg7yDbPCv3FcsJ8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701165844; x=1701770644;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nCTCryaDRhdDFZ2oalNsQcOivJksIALZ3Jna08fl7Bk=;
        b=wkyi6Y1V/SrYSxiPIU343B43pChi0iphG8urLMFq6uuS0LuUkYV5DbAo4v8O5ehsEc
         2EvC1rMPw4sFSDbK06uK1VHhXWhWtFM8UYQbZvo2ilL10iJkPhTPJ4SeQ25cGDtQLN92
         9PXqOQGBrDMQEoNpHyEzXKtzcuFXy036eW1lkydeya/fJ/v1m6jDg07EGp15+3XaAWCu
         Ab1sKdr7/o3TV5f+D6fVO7YopG0uvMLdxgcO1SyX311UNCTt4fap8M6XZC963mkuot5/
         wydrlvBBVUlPjHSx08e0e2BLsEo2FRu3s3dvZ65pyzB+MG1wDv7OeJIWIb7oQhiYlTDj
         2ZNA==
X-Gm-Message-State: AOJu0YyF8GouLfcjCwDXdYQRqlGBgdw7WdJ9u1A0IVO9pKTg0zSIk9u0
	f/+i2y+hwtWSpUTamX7R6ij5yF9R517sCRF/MCU=
X-Google-Smtp-Source: AGHT+IGQuUtgRkOf070NhCs+mSJ4aFuaA23C1fs1racT0rVWl/ek/z+YCDVIT4AF3eMZAlEaAGqmoA==
X-Received: by 2002:adf:ef4e:0:b0:331:4e5e:d9e7 with SMTP id c14-20020adfef4e000000b003314e5ed9e7mr10106417wrp.34.1701165843982;
        Tue, 28 Nov 2023 02:04:03 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH v2 1/5] x86/livepatch: set function alignment to ensure minimal function size
Date: Tue, 28 Nov 2023 11:03:48 +0100
Message-ID: <20231128100352.35430-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128100352.35430-1-roger.pau@citrix.com>
References: <20231128100352.35430-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The minimal function size requirements for livepatch are either 5 bytes (for
jmp) or 9 bytes (for endbr + jmp).  Ensure that functions are always at least
that size by requesting the compiled to align the functions to 8 or 16 bytes,
depending on whether Xen is build with IBT support.

Note that it's possible for the compiler to end up using a higher function
alignment regardless of the passed value, so this change just make sure that
the minimum required for livepatch to work is present.

Since the option (-falign-functions) is supported by both minimal required
compiler versions of clang and gcc there's no need to add a test to check for
its presence.

The alignment is currently only implemented for livepatch on x86, I'm unsure
whether ARM has a mandatory function alignment high enough to cover for the
space required by the replacement instruction(s).

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - New in this version.
---
 xen/arch/x86/Kconfig     | 6 ++++++
 xen/arch/x86/Makefile    | 2 ++
 xen/arch/x86/livepatch.c | 4 ++++
 3 files changed, 12 insertions(+)

diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig
index 1acdffc51c22..612a4acf079b 100644
--- a/xen/arch/x86/Kconfig
+++ b/xen/arch/x86/Kconfig
@@ -47,6 +47,12 @@ config HAS_CC_CET_IBT
 	# Retpoline check to work around https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93654
 	def_bool $(cc-option,-fcf-protection=branch -mmanual-endbr -mindirect-branch=thunk-extern) && $(as-instr,endbr64)
 
+# Set function alignment to ensure enough padding available
+config CC_FUNCTION_ALIGNMENT
+	int
+	default 16 if LIVEPATCH && XEN_IBT
+	default 8 if LIVEPATCH
+
 menu "Architecture Features"
 
 source "arch/Kconfig"
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index f3abdf9cd111..f629157086d0 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -82,6 +82,8 @@ obj-$(CONFIG_COMPAT) += x86_64/platform_hypercall.o
 obj-y += sysctl.o
 endif
 
+CFLAGS-$(CONFIG_LIVEPATCH) += -falign-functions=$(CONFIG_CC_FUNCTION_ALIGNMENT)
+
 extra-y += asm-macros.i
 extra-y += xen.lds
 
diff --git a/xen/arch/x86/livepatch.c b/xen/arch/x86/livepatch.c
index ee539f001b73..4a6ba09e0ec5 100644
--- a/xen/arch/x86/livepatch.c
+++ b/xen/arch/x86/livepatch.c
@@ -109,6 +109,10 @@ int arch_livepatch_verify_func(const struct livepatch_func *func)
          */
         uint8_t needed = ARCH_PATCH_INSN_SIZE;
 
+        BUILD_BUG_ON(ARCH_PATCH_INSN_SIZE +
+                     (IS_ENABLED(CONIFG_XEN_IBT) ? ENDBR64_LEN : 0) >
+                     CONFIG_CC_FUNCTION_ALIGNMENT);
+
         if ( is_endbr64(func->old_addr) || is_endbr64_poison(func->old_addr) )
             needed += ENDBR64_LEN;
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:04:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:04:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642874.1002645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uwp-0002P0-76; Tue, 28 Nov 2023 10:04:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642874.1002645; Tue, 28 Nov 2023 10: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 1r7uwp-0002Ot-3H; Tue, 28 Nov 2023 10:04:07 +0000
Received: by outflank-mailman (input) for mailman id 642874;
 Tue, 28 Nov 2023 10:04: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uwn-0001sW-Q1
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:04:05 +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 755342ff-8dd5-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:04:03 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40b2ddab817so36766465e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 02:04:04 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 n44-20020a05600c502c00b004083a105f27sm17644559wmr.26.2023.11.28.02.04.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 02:04:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 755342ff-8dd5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701165843; x=1701770643; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=88UoW1cjiE+bnAHASTqBRasXiz9tSSx28ygJG4VnQ5I=;
        b=Whx9OLab4+t4TOVP8hwxrauhrjHfkBEUD3qKD4vRWUlRuNETil5/3wQPf9j8NHJ9NP
         cGuDsgBdWDh4pmhgf5Mm6MWgpqSap0vIXIhakDpTMnlaLt7+vRcCwliMwAHM/SiCZtKu
         ab5gJv6zynF+HZs06LkSVVlxwF6HoDb0NsznA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701165843; x=1701770643;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=88UoW1cjiE+bnAHASTqBRasXiz9tSSx28ygJG4VnQ5I=;
        b=rA8QZTueYXiV8YMQcV5GNtHK+FypsyABZtfM3e0r797h54htp0vIFgUHB5Ti6h3GTR
         +SnGmGkPj2yZBtCR+nbElS5DNi2DUZKqH4NcLaNQou+KMnOEU4hGchyZ2ieCTtLw8ACX
         ilAHZY6QYvWWS0J3kFYJia2+nvBwOSjdNLBxHgIW4/iPLhOY9AKH/cehVuKu+8Z/Ybru
         OjDFOFxCoinlIcasr7viwv9cRlYXZUYOwM3I0dZ/sbKdmVxVvxvVRpTBW72aYq8qX11K
         rQ934epLppK4/fBRpHi67cdHwENe6I0sH/+nhLjrwykoq2k1H7sbYt/Zq40eWad/NAbj
         slFw==
X-Gm-Message-State: AOJu0Ywco965bVJxn67t7IuJua70LqH2gcgLaYxhwBb2qEVnBdHQAaBV
	Qhs30ZePKS+uHdqDL7P/WfMTan0imexiSXLflZM=
X-Google-Smtp-Source: AGHT+IHy2ZkZKGX9FneJgKA8Ij4p1l6+2WSbY/Byv3r7761Vy8NJ3+R+n0NVXYhyZvHr35mCo1EKKA==
X-Received: by 2002:a05:600c:4589:b0:40b:357c:bb9f with SMTP id r9-20020a05600c458900b0040b357cbb9fmr6675979wmo.33.1701165842735;
        Tue, 28 Nov 2023 02:04:02 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	Wei Liu <wl@xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>
Subject: [PATCH v2 0/5] xen/x86: add testing for self modifying code and livepatch
Date: Tue, 28 Nov 2023 11:03:47 +0100
Message-ID: <20231128100352.35430-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The following series contains a misc set of fixes and improvements.

There's one improvement for the hypervisor to set function alignment for
livepatch builds in order to make sure there's always enough space in a
function to be live-patched.

Following patches attempt to introduce a set of tests for self modifying
code, currently one test using the alternatives framework, and one test
for livepatch.

Last patch hooks the newly introduced livepatch test into the gitlab CI
using QEMU and an Alpine Linux dom0:

https://gitlab.com/xen-project/people/royger/xen/-/pipelines/1087447618

For the gitlab CI Alpine build the following series is required for
livepatch-build-tools:

https://lore.kernel.org/xen-devel/20231128092152.35039-1-roger.pau@citrix.com/

Roger Pau Monne (5):
  x86/livepatch: set function alignment to ensure minimal function size
  automation/alpine: add elfutils-dev
  xen/x86: introduce self modifying code test
  x86/livepatch: introduce a basic live patch test to gitlab CI
  automation: add x86-64 livepatching test

 automation/build/alpine/3.18.dockerfile       |  2 +
 automation/gitlab-ci/build.yaml               |  8 ++
 automation/gitlab-ci/test.yaml                |  8 ++
 automation/scripts/build                      | 21 +++++
 .../scripts/qemu-alpine-x86_64-livepatch.sh   | 68 ++++++++++++++++
 tools/include/xenctrl.h                       |  2 +
 tools/libs/ctrl/xc_misc.c                     | 14 ++++
 tools/misc/xen-livepatch.c                    | 29 +++++++
 xen/arch/x86/Kconfig                          |  6 ++
 xen/arch/x86/Makefile                         |  5 ++
 xen/arch/x86/include/asm/test-smc.h           | 20 +++++
 xen/arch/x86/livepatch.c                      |  4 +
 xen/arch/x86/setup.c                          |  3 +
 xen/arch/x86/sysctl.c                         |  7 ++
 xen/arch/x86/test-smc-lp-alt.c                | 23 ++++++
 xen/arch/x86/test-smc-lp.c                    | 23 ++++++
 xen/arch/x86/test-smc.c                       | 77 +++++++++++++++++++
 xen/common/kernel.c                           |  5 +-
 xen/include/public/sysctl.h                   | 13 ++++
 xen/include/xen/lib.h                         |  1 +
 20 files changed, 337 insertions(+), 2 deletions(-)
 create mode 100755 automation/scripts/qemu-alpine-x86_64-livepatch.sh
 create mode 100644 xen/arch/x86/include/asm/test-smc.h
 create mode 100644 xen/arch/x86/test-smc-lp-alt.c
 create mode 100644 xen/arch/x86/test-smc-lp.c
 create mode 100644 xen/arch/x86/test-smc.c

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:04:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:04:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642876.1002665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uwq-0002tn-N0; Tue, 28 Nov 2023 10:04:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642876.1002665; Tue, 28 Nov 2023 10:04: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 1r7uwq-0002tc-Jt; Tue, 28 Nov 2023 10:04:08 +0000
Received: by outflank-mailman (input) for mailman id 642876;
 Tue, 28 Nov 2023 10:04: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uwo-0002NP-TZ
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:04:06 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7750044f-8dd5-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 11:04:06 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c997467747so36351941fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 02:04:06 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 a10-20020a056000050a00b0032ddf2804ccsm14288986wrf.83.2023.11.28.02.04.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 02:04:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7750044f-8dd5-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701165845; x=1701770645; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=WKzhNQNtxrNJla1Dvx/CNVFVt9mfF6UZ3a4ebqZogfY=;
        b=uSy2i5dY2qzwh0od/byWASiBZg0pemBzLLZkFcxeyHCRNY9Zo3eSxZITng4aehZdw9
         KYlY+ZpwcMTR4KvG6zXC3K/n92lq0q0qJkSOqc5aUe5eM9hyKZsDdZwcx2fyVyH7WYxP
         A4xRCjqYUoANEzVTQRcccWR+pgTBJmyP34STc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701165845; x=1701770645;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=WKzhNQNtxrNJla1Dvx/CNVFVt9mfF6UZ3a4ebqZogfY=;
        b=P7qUlz7OMi0wru3DeEvj8ewUwZSx5ctBHt+SvEAQfaayC+htAsEci7ej3J8ci6vA5n
         aSB68Q0MEr5I27jICxgtW9TNos89wBGdRxrJh/83HxAZdcL5OjD+0WBHxHlgzyZmbuk6
         22VzoXBL4ymMhdw0XkoimClEygECgYH22beOoc7lqMWzFQHkzAzprj2Q8g31O2erNEIF
         RHX0RkOPK/nyeu+iGZAK0V7bqAnQnxUqnJYrMHxmS9dpj8Gph0o8MopSfRPpIxmYZoxr
         W/gJn6Tu8LFwzmg2HSgazTPdwRBBjtjDKYUaCTYE801avn9KfKQgGx2+woGi0JxtT3Jp
         nbaA==
X-Gm-Message-State: AOJu0Yxpw+I0VqmIcmEFaCSJNrZ7Xt7E95wuAhL79zu5IWMmhGYId1KD
	Ke/Y8iOrUMgSyFZ7i/h4ikvLvLumS/gwYnxEs9Q=
X-Google-Smtp-Source: AGHT+IEAPFRNttEIDc2cga3vjZhyJzcR+IN/kUQKqgwhWxsJGmAecXFEOYUlzZSYsfk2FSth4FaCfA==
X-Received: by 2002:a2e:1551:0:b0:2c9:9a39:28ed with SMTP id 17-20020a2e1551000000b002c99a3928edmr5366718ljv.31.1701165845276;
        Tue, 28 Nov 2023 02:04:05 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 2/5] automation/alpine: add elfutils-dev
Date: Tue, 28 Nov 2023 11:03:49 +0100
Message-ID: <20231128100352.35430-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128100352.35430-1-roger.pau@citrix.com>
References: <20231128100352.35430-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

In preparation for adding some livepatch-build-tools test update the Alpine
container to also install elfutils-dev.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 automation/build/alpine/3.18.dockerfile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/automation/build/alpine/3.18.dockerfile b/automation/build/alpine/3.18.dockerfile
index 4ae9cb5e9e30..aac2d8cc82d9 100644
--- a/automation/build/alpine/3.18.dockerfile
+++ b/automation/build/alpine/3.18.dockerfile
@@ -47,3 +47,5 @@ RUN apk --no-cache add \
   libcap-ng-dev \
   ninja \
   pixman-dev \
+  # livepatch-tools deps
+  elfutils-dev
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:04:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:04:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642878.1002681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uws-0003Fr-FH; Tue, 28 Nov 2023 10:04:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642878.1002681; Tue, 28 Nov 2023 10:04: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 1r7uws-0003ED-BN; Tue, 28 Nov 2023 10:04:10 +0000
Received: by outflank-mailman (input) for mailman id 642878;
 Tue, 28 Nov 2023 10:04: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uwr-0002NP-9o
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:04:09 +0000
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com
 [2a00:1450:4864:20::233])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 78a63ff1-8dd5-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 11:04:08 +0100 (CET)
Received: by mail-lj1-x233.google.com with SMTP id
 38308e7fff4ca-2c59a4dd14cso59502321fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 02:04:08 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 s7-20020a05600c45c700b0040b37f1079dsm15402156wmo.29.2023.11.28.02.04.07
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 02:04:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 78a63ff1-8dd5-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701165847; x=1701770647; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=+6FykrpCamJbjFK3ebQ5tpnfxbk6kWdBuuLGd0nmB/Q=;
        b=cU86KHKAC3655vnPm5kvBbv4D1E/8iROqxn1tgEgTx/UhIxMx1fzqmRVt/DKkFHHd8
         mg/3HpXWEnVodFWXFzadPXkl3iKIP9SVLbxoly05Y1ACjO1shat1It0e+OdHkf85ljaZ
         iDKYG810qarnbQSK5iwf4IWnfQ0S8N8YYSAgo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701165847; x=1701770647;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=+6FykrpCamJbjFK3ebQ5tpnfxbk6kWdBuuLGd0nmB/Q=;
        b=dDFsHpzXLD3kroKdOhFUVceXx5HuyhXz164hNLzu0dfP0mESGDesEQ4UWBhuCpDxaw
         UWAzVbFouqeafFl77BqXWY4P6JpNFDu4D+jhDpyoKXHDPGI4k0dNTAwIGIkpVbaudH7L
         yHiymFk2ABcLH/3YZo9gnCBUDMm/d2to0rP5GrtWuAni5JXu9FBE9lwf8NJ8bfWIdB48
         OQuvXY9TWRI9+Apir2W628Pd3nr0JB8GnRI86iilXHKiVkv5yL97SX/2Px7KBo4etAOy
         AAE11beXxi6F3+C37x4y8t6Eo9WE51JeiMUD+Pt8MfARnj3p0fuvCUusQJjkSJkXFrUm
         /XZA==
X-Gm-Message-State: AOJu0YxHSSUlHJmOueMvXjGkvXHvjM45m/dmb3wJBUPx8Zfr+hDZ/R/P
	ET2R5h8MlCtsOu+TTkeUi51Jx50hKjvCOBNNmUs=
X-Google-Smtp-Source: AGHT+IHF2djFkoNstPWyfXNmbJAwb5aYM7dmCbAtf3cyAvrTxaziGV47Fc+srammLi7ku6r/+i/UCA==
X-Received: by 2002:a2e:2245:0:b0:2c9:9fbf:52b1 with SMTP id i66-20020a2e2245000000b002c99fbf52b1mr4865431lji.13.1701165847693;
        Tue, 28 Nov 2023 02:04:07 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	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: [PATCH v2 4/5] x86/livepatch: introduce a basic live patch test to gitlab CI
Date: Tue, 28 Nov 2023 11:03:51 +0100
Message-ID: <20231128100352.35430-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128100352.35430-1-roger.pau@citrix.com>
References: <20231128100352.35430-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce a basic livepatch test using the interface to run self modifying
tests.  The introduced test relies on changing a function from returning false
to returning true.

To simplify the burden of keeping a patch that can be provided to
livepatch-build-tools, introduce two new files: one containing the unpatched
test functions, and another one that contains the patched forms of such
functions.  Note that only the former is linked into the Xen image, the latter
is built but the object file is not consumed afterwards.  Do this to assert
that the file containing the patched functions continues to build.

Since livepatch testing will ensure that the functions are not patched previous
the applying the livepatch, allow the livepatch related tests to fail without
tainting the hypervisor.

Note the livepatch tests are not run as part of the self modifying checks
executed during boot, as they would obviously fail.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - New interface & test.
---
 tools/misc/xen-livepatch.c          | 29 +++++++++++++++++++++++++++++
 xen/arch/x86/Makefile               |  2 ++
 xen/arch/x86/include/asm/test-smc.h |  2 ++
 xen/arch/x86/setup.c                |  2 +-
 xen/arch/x86/test-smc-lp-alt.c      | 23 +++++++++++++++++++++++
 xen/arch/x86/test-smc-lp.c          | 23 +++++++++++++++++++++++
 xen/arch/x86/test-smc.c             | 11 ++++++++++-
 xen/include/public/sysctl.h         |  6 +++++-
 8 files changed, 95 insertions(+), 3 deletions(-)
 create mode 100644 xen/arch/x86/test-smc-lp-alt.c
 create mode 100644 xen/arch/x86/test-smc-lp.c

diff --git a/tools/misc/xen-livepatch.c b/tools/misc/xen-livepatch.c
index 5bf9d9a32b65..fb396f46aaac 100644
--- a/tools/misc/xen-livepatch.c
+++ b/tools/misc/xen-livepatch.c
@@ -37,6 +37,7 @@ void show_help(void)
             "  replace <name>         apply <name> patch and revert all others.\n"
             "  unload <name>          unload name <name> patch.\n"
             "  load <file> [flags]    upload and apply <file> with name as the <file> name\n"
+            "  test                   execute self modifying code livepatch hypervisor tests\n"
             "    Supported flags:\n"
             "      --nodeps           Disable inter-module buildid dependency check.\n"
             "                         Check only against hypervisor buildid.\n",
@@ -542,6 +543,33 @@ error:
     return rc;
 }
 
+static int test_func(int argc, char *argv[])
+{
+    uint32_t results = 0;
+    int rc;
+
+    if ( argc != 0 )
+    {
+        show_help();
+        return -1;
+    }
+
+    rc = xc_test_smc(xch, XEN_SYSCTL_TEST_SMC_LP, &results);
+    if ( rc )
+    {
+        fprintf(stderr, "test operation failed: %s\n", strerror(errno));
+        return -1;
+    }
+    if ( (results & XEN_SYSCTL_TEST_SMC_LP) != XEN_SYSCTL_TEST_SMC_LP )
+    {
+        fprintf(stderr, "some tests failed: %#x (expected %#x)\n",
+                results, XEN_SYSCTL_TEST_SMC_LP);
+        return -1;
+    }
+
+    return 0;
+}
+
 /*
  * These are also functions in action_options that are called in case
  * none of the ones in main_options match.
@@ -554,6 +582,7 @@ struct {
     { "list", list_func },
     { "upload", upload_func },
     { "load", load_func },
+    { "test", test_func },
 };
 
 int main(int argc, char *argv[])
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index bdd2183a2fd7..71cb22e080b8 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -66,6 +66,8 @@ obj-y += spec_ctrl.o
 obj-y += srat.o
 obj-y += string.o
 obj-y += test-smc.o
+obj-$(CONFIG_LIVEPATCH)   += test-smc-lp.o     # for livepatch testing
+extra-$(CONFIG_LIVEPATCH) += test-smc-lp-alt.o
 obj-y += time.o
 obj-y += traps.o
 obj-y += tsx.o
diff --git a/xen/arch/x86/include/asm/test-smc.h b/xen/arch/x86/include/asm/test-smc.h
index 18b23dbdbf2d..6013e4daf7f8 100644
--- a/xen/arch/x86/include/asm/test-smc.h
+++ b/xen/arch/x86/include/asm/test-smc.h
@@ -5,6 +5,8 @@
 
 int test_smc(uint32_t selection, uint32_t *results);
 
+bool cf_check test_lp_insn_replacement(void);
+
 #endif	/* _ASM_X86_TEST_SMC_H_ */
 
 /*
diff --git a/xen/arch/x86/setup.c b/xen/arch/x86/setup.c
index 1f90d30204fe..8bfb394909b4 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -1953,7 +1953,7 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     alternative_branches();
 
-    test_smc(XEN_SYSCTL_TEST_SMC_ALL, NULL);
+    test_smc(XEN_SYSCTL_TEST_SMC_ALL & ~XEN_SYSCTL_TEST_SMC_LP, NULL);
 
     /*
      * NB: when running as a PV shim VCPUOP_up/down is wired to the shim
diff --git a/xen/arch/x86/test-smc-lp-alt.c b/xen/arch/x86/test-smc-lp-alt.c
new file mode 100644
index 000000000000..7bde547a950d
--- /dev/null
+++ b/xen/arch/x86/test-smc-lp-alt.c
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <asm/test-smc.h>
+
+/*
+ * Interesting case because `return false` can be encoded as an xor
+ * instruction, which is shorter than `return true` which is a mov instruction,
+ * and also shorter than a jmp instruction.
+ */
+bool cf_check test_lp_insn_replacement(void)
+{
+    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/x86/test-smc-lp.c b/xen/arch/x86/test-smc-lp.c
new file mode 100644
index 000000000000..0ae776053a42
--- /dev/null
+++ b/xen/arch/x86/test-smc-lp.c
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <asm/test-smc.h>
+
+/*
+ * Interesting case because `return false` can be encoded as an xor
+ * instruction, which is shorter than `return true` which is a mov instruction,
+ * and also shorter than a jmp instruction.
+ */
+bool cf_check test_lp_insn_replacement(void)
+{
+    return false;
+}
+
+/*
+ * 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/x86/test-smc.c b/xen/arch/x86/test-smc.c
index 8916c185d60a..1967016a229f 100644
--- a/xen/arch/x86/test-smc.c
+++ b/xen/arch/x86/test-smc.c
@@ -27,6 +27,10 @@ int test_smc(uint32_t selection, uint32_t *results)
     } static const tests[] = {
         { XEN_SYSCTL_TEST_SMC_INSN_REPL, &test_insn_replacement,
           "alternative instruction replacement" },
+#ifdef CONFIG_LIVEPATCH
+        { XEN_SYSCTL_TEST_SMC_LP_INSN, &test_lp_insn_replacement,
+          "livepatch instruction replacement" },
+#endif
     };
     unsigned int i;
 
@@ -50,7 +54,12 @@ int test_smc(uint32_t selection, uint32_t *results)
             continue;
         }
 
-        add_taint(TAINT_ERROR_SMC);
+        /*
+         * livepatch related tests don't taint the hypervisor because we also
+         * want to check the failing case.
+         */
+        if ( !(tests[i].mask & XEN_SYSCTL_TEST_SMC_LP) )
+            add_taint(TAINT_ERROR_SMC);
         printk(XENLOG_ERR "%s test failed\n", tests[i].name);
     }
 
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 94287009387c..c87878e72a42 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1204,7 +1204,11 @@ struct xen_sysctl_dt_overlay {
 struct xen_sysctl_test_smc {
     uint32_t tests;     /* IN: bitmap with selected tests to execute. */
 #define XEN_SYSCTL_TEST_SMC_INSN_REPL   (1U << 0)
-#define XEN_SYSCTL_TEST_SMC_ALL         (XEN_SYSCTL_TEST_SMC_INSN_REPL)
+#define XEN_SYSCTL_TEST_SMC_LP_INSN     (1U << 1)
+#define XEN_SYSCTL_TEST_SMC_ALL         (XEN_SYSCTL_TEST_SMC_INSN_REPL | \
+                                         XEN_SYSCTL_TEST_SMC_LP_INSN)
+#define XEN_SYSCTL_TEST_SMC_LP          (XEN_SYSCTL_TEST_SMC_LP_INSN)
+
     uint32_t results;   /* OUT: test result: 1 -> success, 0 -> failure. */
 };
 
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:04:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:04:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642877.1002675 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uws-0003AT-1W; Tue, 28 Nov 2023 10:04:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642877.1002675; Tue, 28 Nov 2023 10:04: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 1r7uwr-0003A7-Tb; Tue, 28 Nov 2023 10:04:09 +0000
Received: by outflank-mailman (input) for mailman id 642877;
 Tue, 28 Nov 2023 10:04: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uwq-0002NP-9A
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:04:08 +0000
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com
 [2a00:1450:4864:20::231])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 77f89934-8dd5-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 11:04:07 +0100 (CET)
Received: by mail-lj1-x231.google.com with SMTP id
 38308e7fff4ca-2c9b5b72983so4151171fa.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 02:04:07 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 o7-20020a05600c510700b0040b36ad5413sm16784552wms.46.2023.11.28.02.04.05
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 02:04:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 77f89934-8dd5-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701165846; x=1701770646; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=M3yKV/RFZSYIusyATo8RxWzm7Bfr63u910kNQKsr5wU=;
        b=OppS1gb/idvKi6zG2UoTdtxquNDadKMPiBJHV5UO2LzZBfjyv+pIIqClBWykfpPmst
         Gx5HbEUzPOmLGNVmPkxYIAXgeWZaFLfIhBzELVrmzbojiU1kqxAWY4iQc14AJuUdW0rW
         O2ZDHwbgLKtYjC3NcuADjQjTbqR19soL1dquM=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701165846; x=1701770646;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=M3yKV/RFZSYIusyATo8RxWzm7Bfr63u910kNQKsr5wU=;
        b=Vceb7xnvAYUSp9zXRYziV6aYF7PschBWcRaPkzDFIcmw/wtPc+trX8NA/pcyr8Ti2x
         IHXC3/lilTGcU0Wp+U58JuJD/I/wGL9cvZiSyoXYuUZS6R7Rc4iPzyw+xJ6l5NRK8P+w
         WgLqHcok4KtRdm1+0MRsVtIh/BYaWIlD/al7sfQRicR5STf4/IU1ofQsNgyOQiV0IZ9Q
         bIe0xlKijtUuVie76PuIros/sY67E0CpWTVUeFkrWEKQYUvkITt3q7lL/rej4nNWibAB
         VgtNW5OahX1vjcyB33wCnY55smvs1h4Suin30UPMXQjOXwiiE7FMSI3OFkH+vbbOPXSM
         Ro9Q==
X-Gm-Message-State: AOJu0YyH2UzLOUaLiWWCzv9K6FKx48ykYzgdM39YKnqUoIFCE4QIORuS
	r1hHXgs01RrVhbu6NoufiNPlrdz2L+CVAvPJ0IE=
X-Google-Smtp-Source: AGHT+IGUr4ORQZi+oIxzqruDPiO803YUuddIpmkAqngLT3LpdjlpHf0BiBh0Sx7bAd60OcacEiNMAw==
X-Received: by 2002:ac2:504f:0:b0:50b:bf06:ea0b with SMTP id a15-20020ac2504f000000b0050bbf06ea0bmr405848lfm.53.1701165846522;
        Tue, 28 Nov 2023 02:04:06 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.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>
Subject: [PATCH v2 3/5] xen/x86: introduce self modifying code test
Date: Tue, 28 Nov 2023 11:03:50 +0100
Message-ID: <20231128100352.35430-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128100352.35430-1-roger.pau@citrix.com>
References: <20231128100352.35430-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce a helper to perform checks related to self modifying code, and start
by creating a simple test to check that alternatives have been applied.

Such test is hooked into the boot process and called just after alternatives
have been applied.  In case of failure a message is printed, and the hypervisor
is tainted as not having passed the tests, this does require introducing a new
taint bit (printed as 'A').

A new sysctl is also introduced to run the tests on demand.  While there are no
current users introduced here, further changes will introduce those, and it's
helpful to have the interface defined in the sysctl header from the start.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
Changes since v1:
 - Rework test and interface.
---
 tools/include/xenctrl.h             |  2 +
 tools/libs/ctrl/xc_misc.c           | 14 ++++++
 xen/arch/x86/Makefile               |  1 +
 xen/arch/x86/include/asm/test-smc.h | 18 ++++++++
 xen/arch/x86/setup.c                |  3 ++
 xen/arch/x86/sysctl.c               |  7 +++
 xen/arch/x86/test-smc.c             | 68 +++++++++++++++++++++++++++++
 xen/common/kernel.c                 |  5 ++-
 xen/include/public/sysctl.h         |  9 ++++
 xen/include/xen/lib.h               |  1 +
 10 files changed, 126 insertions(+), 2 deletions(-)
 create mode 100644 xen/arch/x86/include/asm/test-smc.h
 create mode 100644 xen/arch/x86/test-smc.c

diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
index 2ef8b4e05422..0f87ffa4affd 100644
--- a/tools/include/xenctrl.h
+++ b/tools/include/xenctrl.h
@@ -2658,6 +2658,8 @@ int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
                   uint32_t overlay_fdt_size, uint8_t overlay_op);
 #endif
 
+int xc_test_smc(xc_interface *xch, uint32_t tests, uint32_t *result);
+
 /* Compat shims */
 #include "xenctrl_compat.h"
 
diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
index 5ecdfa2c7934..7f7ece589cc2 100644
--- a/tools/libs/ctrl/xc_misc.c
+++ b/tools/libs/ctrl/xc_misc.c
@@ -1021,6 +1021,20 @@ int xc_livepatch_replace(xc_interface *xch, char *name, uint32_t timeout, uint32
     return _xc_livepatch_action(xch, name, LIVEPATCH_ACTION_REPLACE, timeout, flags);
 }
 
+int xc_test_smc(xc_interface *xch, uint32_t tests, uint32_t *result)
+{
+    struct xen_sysctl sysctl = {
+        .cmd = XEN_SYSCTL_test_smc,
+        .u.smc.tests = tests,
+    };
+    int rc = do_sysctl(xch, &sysctl);
+
+    if ( !rc )
+        *result = sysctl.u.smc.results;
+
+    return rc;
+}
+
 /*
  * Local variables:
  * mode: C
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
index f629157086d0..bdd2183a2fd7 100644
--- a/xen/arch/x86/Makefile
+++ b/xen/arch/x86/Makefile
@@ -65,6 +65,7 @@ obj-y += smpboot.o
 obj-y += spec_ctrl.o
 obj-y += srat.o
 obj-y += string.o
+obj-y += test-smc.o
 obj-y += time.o
 obj-y += traps.o
 obj-y += tsx.o
diff --git a/xen/arch/x86/include/asm/test-smc.h b/xen/arch/x86/include/asm/test-smc.h
new file mode 100644
index 000000000000..18b23dbdbf2d
--- /dev/null
+++ b/xen/arch/x86/include/asm/test-smc.h
@@ -0,0 +1,18 @@
+#ifndef _ASM_X86_TEST_SMC_H_
+#define _ASM_X86_TEST_SMC_H_
+
+#include <xen/types.h>
+
+int test_smc(uint32_t selection, uint32_t *results);
+
+#endif	/* _ASM_X86_TEST_SMC_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/arch/x86/setup.c b/xen/arch/x86/setup.c
index f6b8a3efd752..1f90d30204fe 100644
--- a/xen/arch/x86/setup.c
+++ b/xen/arch/x86/setup.c
@@ -58,6 +58,7 @@
 #include <asm/microcode.h>
 #include <asm/prot-key.h>
 #include <asm/pv/domain.h>
+#include <asm/test-smc.h>
 
 /* opt_nosmp: If true, secondary processors are ignored. */
 static bool __initdata opt_nosmp;
@@ -1952,6 +1953,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
 
     alternative_branches();
 
+    test_smc(XEN_SYSCTL_TEST_SMC_ALL, NULL);
+
     /*
      * NB: when running as a PV shim VCPUOP_up/down is wired to the shim
      * physical cpu_add/remove functions, so launch the guest with only
diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
index 1d40d82c5ad2..77d091f4bd59 100644
--- a/xen/arch/x86/sysctl.c
+++ b/xen/arch/x86/sysctl.c
@@ -25,6 +25,7 @@
 #include <asm/processor.h>
 #include <asm/setup.h>
 #include <asm/smp.h>
+#include <asm/test-smc.h>
 #include <asm/numa.h>
 #include <xen/nodemask.h>
 #include <xen/cpu.h>
@@ -423,6 +424,12 @@ long arch_do_sysctl(
         break;
     }
 
+    case XEN_SYSCTL_test_smc:
+        ret = test_smc(sysctl->u.smc.tests, &sysctl->u.smc.results);
+        if ( !ret && __copy_field_to_guest(u_sysctl, sysctl, u.smc.results) )
+            ret = -EFAULT;
+        break;
+
     default:
         ret = -ENOSYS;
         break;
diff --git a/xen/arch/x86/test-smc.c b/xen/arch/x86/test-smc.c
new file mode 100644
index 000000000000..8916c185d60a
--- /dev/null
+++ b/xen/arch/x86/test-smc.c
@@ -0,0 +1,68 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+
+#include <xen/errno.h>
+
+#include <asm/alternative.h>
+#include <asm/cpufeature.h>
+#include <asm/test-smc.h>
+
+static bool cf_check test_insn_replacement(void)
+{
+#define EXPECTED_VALUE 2
+    unsigned int r = ~EXPECTED_VALUE;
+
+    alternative_io("", "mov $" STR(EXPECTED_VALUE) ", %0",
+                   X86_FEATURE_ALWAYS, "=r"(r));
+
+    return r == EXPECTED_VALUE;
+#undef EXPECTED_VALUE
+}
+
+int test_smc(uint32_t selection, uint32_t *results)
+{
+    struct {
+        unsigned int mask;
+        bool (*test)(void);
+        const char *name;
+    } static const tests[] = {
+        { XEN_SYSCTL_TEST_SMC_INSN_REPL, &test_insn_replacement,
+          "alternative instruction replacement" },
+    };
+    unsigned int i;
+
+    if ( selection & ~XEN_SYSCTL_TEST_SMC_ALL )
+        return -EINVAL;
+
+    if ( results )
+        *results = 0;
+
+    printk(XENLOG_INFO "Checking Self Modify Code\n");
+
+    for ( i = 0; i < ARRAY_SIZE(tests); i++ )
+    {
+        if ( !(selection & tests[i].mask) )
+            continue;
+
+        if ( tests[i].test() )
+        {
+            if ( results )
+                *results |= tests[i].mask;
+            continue;
+        }
+
+        add_taint(TAINT_ERROR_SMC);
+        printk(XENLOG_ERR "%s test failed\n", tests[i].name);
+    }
+
+    return 0;
+}
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/common/kernel.c b/xen/common/kernel.c
index 08dbaa2a054c..fed7ed0d587f 100644
--- a/xen/common/kernel.c
+++ b/xen/common/kernel.c
@@ -386,13 +386,14 @@ char *print_tainted(char *str)
 {
     if ( tainted )
     {
-        snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c%c%c",
+        snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c%c%c%c",
                  tainted & TAINT_MACHINE_INSECURE ? 'I' : ' ',
                  tainted & TAINT_MACHINE_CHECK ? 'M' : ' ',
                  tainted & TAINT_SYNC_CONSOLE ? 'C' : ' ',
                  tainted & TAINT_ERROR_INJECT ? 'E' : ' ',
                  tainted & TAINT_HVM_FEP ? 'H' : ' ',
-                 tainted & TAINT_CPU_OUT_OF_SPEC ? 'S' : ' ');
+                 tainted & TAINT_CPU_OUT_OF_SPEC ? 'S' : ' ',
+                 tainted & TAINT_ERROR_SMC ? 'A' : ' ');
     }
     else
     {
diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
index 9b19679caeb1..94287009387c 100644
--- a/xen/include/public/sysctl.h
+++ b/xen/include/public/sysctl.h
@@ -1201,6 +1201,13 @@ struct xen_sysctl_dt_overlay {
 };
 #endif
 
+struct xen_sysctl_test_smc {
+    uint32_t tests;     /* IN: bitmap with selected tests to execute. */
+#define XEN_SYSCTL_TEST_SMC_INSN_REPL   (1U << 0)
+#define XEN_SYSCTL_TEST_SMC_ALL         (XEN_SYSCTL_TEST_SMC_INSN_REPL)
+    uint32_t results;   /* OUT: test result: 1 -> success, 0 -> failure. */
+};
+
 struct xen_sysctl {
     uint32_t cmd;
 #define XEN_SYSCTL_readconsole                    1
@@ -1232,6 +1239,7 @@ struct xen_sysctl {
 /* #define XEN_SYSCTL_set_parameter              28 */
 #define XEN_SYSCTL_get_cpu_policy                29
 #define XEN_SYSCTL_dt_overlay                    30
+#define XEN_SYSCTL_test_smc                      31
     uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
     union {
         struct xen_sysctl_readconsole       readconsole;
@@ -1261,6 +1269,7 @@ struct xen_sysctl {
         struct xen_sysctl_livepatch_op      livepatch;
 #if defined(__i386__) || defined(__x86_64__)
         struct xen_sysctl_cpu_policy        cpu_policy;
+        struct xen_sysctl_test_smc          smc;
 #endif
 
 #if defined(__arm__) || defined (__aarch64__)
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 1793be5b6b89..1bec6a01b18a 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -167,6 +167,7 @@ uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c);
 #define TAINT_HVM_FEP                   (1u << 3)
 #define TAINT_MACHINE_INSECURE          (1u << 4)
 #define TAINT_CPU_OUT_OF_SPEC           (1u << 5)
+#define TAINT_ERROR_SMC                 (1U << 6)
 extern unsigned int tainted;
 #define TAINT_STRING_MAX_LEN            20
 extern char *print_tainted(char *str);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:04:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:04:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642879.1002695 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uwu-0003kN-Ur; Tue, 28 Nov 2023 10:04:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642879.1002695; Tue, 28 Nov 2023 10: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 1r7uwu-0003k6-PC; Tue, 28 Nov 2023 10:04:12 +0000
Received: by outflank-mailman (input) for mailman id 642879;
 Tue, 28 Nov 2023 10:04: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uwt-0001sW-70
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:04:11 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 789cfc28-8dd5-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:04:08 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-32f8441dfb5so3556602f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 02:04:09 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 q4-20020adfea04000000b003296b488961sm14424366wrm.31.2023.11.28.02.04.08
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 02:04:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 789cfc28-8dd5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701165849; x=1701770649; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=nnuz0Skbms73/IaPgLyxoHfzJBbgmoe2G5CAGghY1zE=;
        b=EvyUOAyWFfQeUKqPPAvz7cGbCtL7Kd8tNXqur5RZOegb6soTcpJAQR86EIltYITbig
         udhtyWbMjKz5Z4vJfeE2G/OF2H/K9bYP3B3B35W+Hinh56BJHyIkEErScWA5r0gSwzpQ
         sAtgXrA5TttkKYcb3SKfCnaXbxqfUyUWf1vxc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701165849; x=1701770649;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=nnuz0Skbms73/IaPgLyxoHfzJBbgmoe2G5CAGghY1zE=;
        b=iRfMOFVFKsZ3FGDJIRBul5ZgsVvsNbOrmOF+789uerC4V37ut9wppImas6svZcY1zc
         sRsS+NHg6OWkjPXLp2IaQDPA7Gp305Dd6rgFKa+jLc1j1rmBOB8qKaMKpkwGLLPam+/V
         YIWVJ3+tZjtl4qxSzg+kz1emaLi3SxzbFq5AZFRSqqtcXdM1YI/ctpyD9o5oEVD1rAyi
         2Lwynr/yPIKCTaVS1ndSQhX/WEZhbF+8AjeDMzLzU8rfU5/j0guWuHOzvyJzK/QFlkbJ
         QWsnT6LRgJaM/5DKiiKzxrMnnjk6uuHIVTlr1rKv7XB01FQzc4JX6uWYURNr0TQuX6So
         0UYw==
X-Gm-Message-State: AOJu0YxbkNV5hfCX7uoWmjU1MUltjGk0ETC0AjTtq8X5Nlzg3Bf1Ktni
	yL0Xa/QT2ChbotasjVGuy5JY1MkuMJj+Yr60Bbc=
X-Google-Smtp-Source: AGHT+IHueuC4uSA1qK/jZqwfC/DCqs0QYWMuzHDFCxW3pLiIfFHCUM1C9WKXGeqKkljXCWPSFTQk1w==
X-Received: by 2002:a5d:6a42:0:b0:332:c585:400a with SMTP id t2-20020a5d6a42000000b00332c585400amr10615660wrw.44.1701165848859;
        Tue, 28 Nov 2023 02:04:08 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [PATCH v2 5/5] automation: add x86-64 livepatching test
Date: Tue, 28 Nov 2023 11:03:52 +0100
Message-ID: <20231128100352.35430-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128100352.35430-1-roger.pau@citrix.com>
References: <20231128100352.35430-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Introduce a new gitlab tests for livepatching, using livepatch-build-tools,
which better reflects how downstreams build live patches rather than the
in-tree tests.

The tests applies the dummy in-tree patch example, checks that the patch is
applied correctly and then reverts and unloads it.

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 automation/gitlab-ci/build.yaml               |  8 +++
 automation/gitlab-ci/test.yaml                |  8 +++
 automation/scripts/build                      | 21 ++++++
 .../scripts/qemu-alpine-x86_64-livepatch.sh   | 68 +++++++++++++++++++
 4 files changed, 105 insertions(+)
 create mode 100755 automation/scripts/qemu-alpine-x86_64-livepatch.sh

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index 32af30ccedc9..22026df51b87 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -358,6 +358,14 @@ alpine-3.18-gcc-debug:
   variables:
     CONTAINER: alpine:3.18
 
+alpine-3.18-gcc-livepatch:
+  extends: .gcc-x86-64-build
+  variables:
+    CONTAINER: alpine:3.18
+    LIVEPATCH: y
+    EXTRA_XEN_CONFIG: |
+      CONFIG_LIVEPATCH=y
+
 debian-stretch-gcc-debug:
   extends: .gcc-x86-64-build-debug
   variables:
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 6aabdb9d156f..58a90be5ed0e 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -459,3 +459,11 @@ qemu-smoke-ppc64le-powernv9-gcc:
   needs:
     - qemu-system-ppc64-8.1.0-ppc64-export
     - debian-bullseye-gcc-ppc64le-debug
+
+qemu-alpine-x86_64-gcc-livepatch:
+  extends: .qemu-x86-64
+  script:
+    - ./automation/scripts/qemu-alpine-x86_64-livepatch.sh 2>&1 | tee ${LOGFILE}
+  needs:
+    - *x86-64-test-needs
+    - alpine-3.18-gcc-livepatch
diff --git a/automation/scripts/build b/automation/scripts/build
index b3c71fb6fb60..0a0a6dceb08c 100755
--- a/automation/scripts/build
+++ b/automation/scripts/build
@@ -103,3 +103,24 @@ else
     cp -r dist binaries/
     if [[ -f xen/xen ]] ; then cp xen/xen binaries/xen; fi
 fi
+
+if [[ "$LIVEPATCH" == "y" ]]; then
+    # Build a test livepatch using livepatch-build-tools.
+
+    if [[ "$XEN_TARGET_ARCH" != "x86_64" ]]; then
+        exit 1
+    fi
+
+    # git diff --no-index returns 0 if no differences, otherwise 1.
+    git diff --no-index --output=test.patch xen/arch/x86/test-smc-lp.c \
+                                            xen/arch/x86/test-smc-lp-alt.c && exit 1
+
+    BUILDID=$(readelf -Wn xen/xen-syms | sed -n -e 's/^.*Build ID: //p')
+
+    git clone https://xenbits.xen.org/git-http/livepatch-build-tools.git
+    cd livepatch-build-tools
+    make
+    ./livepatch-build -s ../ -p ../test.patch -o out -c ../xen/.config \
+        --depends $BUILDID --xen-depends $BUILDID
+    cp out/test.livepatch ../binaries/test.livepatch
+fi
diff --git a/automation/scripts/qemu-alpine-x86_64-livepatch.sh b/automation/scripts/qemu-alpine-x86_64-livepatch.sh
new file mode 100755
index 000000000000..da478cac4376
--- /dev/null
+++ b/automation/scripts/qemu-alpine-x86_64-livepatch.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+set -ex
+
+cd binaries
+# initrd.tar.gz is Dom0 rootfs
+mkdir -p rootfs
+cd rootfs
+tar xvzf ../initrd.tar.gz
+mkdir proc
+mkdir run
+mkdir srv
+mkdir sys
+rm var/run
+cp -ar ../dist/install/* .
+cp ../test.livepatch ./root/
+cat << "EOF" >> etc/local.d/xen-lp.start
+#!/bin/bash
+
+set -ex
+
+trap poweroff EXIT
+
+export LD_LIBRARY_PATH=/usr/local/lib
+
+xen-livepatch test && exit 1 || true
+
+xen-livepatch load /root/test.livepatch
+
+# Cannot fail now
+xen-livepatch test
+
+xen-livepatch revert test
+xen-livepatch unload test
+
+xen-livepatch test && exit 1 || true
+
+echo "SUCCESS"
+EOF
+chmod +x etc/local.d/xen-lp.start
+echo "rc_verbose=yes" >> etc/rc.conf
+# rebuild Dom0 rootfs
+find . |cpio -H newc -o|gzip > ../xen-rootfs.cpio.gz
+cd ../..
+
+cat >> binaries/pxelinux.0 << EOF
+#!ipxe
+
+kernel xen console=com1 console_timestamps=boot
+module bzImage console=hvc0
+module xen-rootfs.cpio.gz
+boot
+EOF
+
+# Run the test
+rm -f smoke.serial
+timeout -k 1 360 \
+qemu-system-x86_64 \
+    -cpu qemu64,+svm \
+    -m 2G -smp 2 \
+    -monitor none -serial stdio \
+    -nographic \
+    -device virtio-net-pci,netdev=n0 \
+    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& \
+        tee smoke.serial | sed 's/\r//'
+
+grep -q "SUCCESS" smoke.serial
+exit 0
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:05:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:05:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642892.1002705 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7uyE-0005d2-B9; Tue, 28 Nov 2023 10:05:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642892.1002705; Tue, 28 Nov 2023 10: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 1r7uyE-0005cv-6o; Tue, 28 Nov 2023 10:05:34 +0000
Received: by outflank-mailman (input) for mailman id 642892;
 Tue, 28 Nov 2023 10:05: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7uyC-0005cp-Se
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:05:32 +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 aa452011-8dd5-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 11:05:32 +0100 (CET)
Received: by mail-wr1-x435.google.com with SMTP id
 ffacd0b85a97d-32fdc5be26dso3247147f8f.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 02:05:32 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 l10-20020a5d674a000000b00332eef1ca7asm9779426wrw.80.2023.11.28.02.05.31
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 02:05:31 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa452011-8dd5-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701165931; x=1701770731; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ZKJsy/O9sQNKnNFyRJVuTOt01SElG6aFkPQ2+Lfq3iI=;
        b=NX8o7MObInackGePqqTyh+oJl/CmkGtJRK4UcGmdvC/1GmM0ui6P3XvtuHXsKgMepX
         9l6lgXMlIC/luq0/xhmMxvoucBEpSdQSvMqR1Mf/f7FXlYi7bhSCqTVIBIllk7RtXszN
         4GrZAlXQSxi2FHbDDALdQkk15nZWqid0qIKrA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701165931; x=1701770731;
        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:subject:date:message-id:reply-to;
        bh=ZKJsy/O9sQNKnNFyRJVuTOt01SElG6aFkPQ2+Lfq3iI=;
        b=T1KwXg9cosRBdiicefeiK6nOYy5DYYI2doiC/LKUwPoq80wuH/7kF6KK/122F8F4Co
         qA2tbgYigt3wtlC1TMJveHb1zqZPZ0KvlhY7H7ojSwRwIUNGEVxXtAK3m54F7X5VwAnA
         BeuDeM4ty6pe9uSNKMuHE9Kyqxpm6ShAzyawVWerIodTTaTNeO9g8A4G55xMh/6g44ey
         bSDDHFRmRA+EoWTiEqjlQMk04jz4A611wYKkcI+qKaTpLDdjMaC8h5MmQgxQ/6AvJJVz
         fMoDConJl5AmxKJsRVi7lIyhDqV3JkchmXlCWt62jeP4lT+lm6kOOOH+cXBj5Z4iQ0GL
         PEWQ==
X-Gm-Message-State: AOJu0YxJU7l3XVr2xo9NlDeOfDtAqUgxA+aK66bFgoWailykADjyGlwm
	6BTVAx2XvTaMd7Jgn/feRUkVeA==
X-Google-Smtp-Source: AGHT+IHso67qiRejATVe+y4q8GA8WkjBME6ZXNG2nx2AvipjQBf9Fe7u/GIhGV/RuBTAoKaGDDxyQg==
X-Received: by 2002:a5d:4bcf:0:b0:332:f81d:8dac with SMTP id l15-20020a5d4bcf000000b00332f81d8dacmr6833150wrt.67.1701165931581;
        Tue, 28 Nov 2023 02:05:31 -0800 (PST)
Date: Tue, 28 Nov 2023 11:05:30 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Yu Kuai <yukuai1@huaweicloud.com>
Cc: hch@infradead.org, ming.lei@redhat.com, axboe@kernel.dk, colyli@suse.de,
	kent.overstreet@gmail.com, joern@lazybastard.org,
	miquel.raynal@bootlin.com, richard@nod.at, vigneshr@ti.com,
	sth@linux.ibm.com, hoeppner@linux.ibm.com, hca@linux.ibm.com,
	gor@linux.ibm.com, agordeev@linux.ibm.com, jejb@linux.ibm.com,
	martin.petersen@oracle.com, clm@fb.com, josef@toxicpanda.com,
	dsterba@suse.com, viro@zeniv.linux.org.uk, brauner@kernel.org,
	nico@fluxnic.net, xiang@kernel.org, chao@kernel.org, tytso@mit.edu,
	adilger.kernel@dilger.ca, agruenba@redhat.com, jack@suse.com,
	konishi.ryusuke@gmail.com, dchinner@redhat.com,
	linux@weissschuh.net, min15.li@samsung.com, yukuai3@huawei.com,
	dlemoal@kernel.org, willy@infradead.org, akpm@linux-foundation.org,
	hare@suse.de, p.raghav@samsung.com, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-bcache@vger.kernel.org, linux-mtd@lists.infradead.org,
	linux-s390@vger.kernel.org, linux-scsi@vger.kernel.org,
	linux-bcachefs@vger.kernel.org, linux-btrfs@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, linux-erofs@lists.ozlabs.org,
	linux-ext4@vger.kernel.org, gfs2@lists.linux.dev,
	linux-nilfs@vger.kernel.org, yi.zhang@huawei.com,
	yangerkun@huawei.com
Subject: Re: [PATCH block/for-next v2 02/16] xen/blkback: use new helper to
 get inode from block_device
Message-ID: <ZWW7ag6vIhc_Skh5@macbook>
References: <20231127062116.2355129-1-yukuai1@huaweicloud.com>
 <20231127062116.2355129-3-yukuai1@huaweicloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231127062116.2355129-3-yukuai1@huaweicloud.com>

On Mon, Nov 27, 2023 at 02:21:02PM +0800, Yu Kuai wrote:
> From: Yu Kuai <yukuai3@huawei.com>
> 
> Which is more efficiency, and also prepare to remove the field
> 'bd_inode' from block_device.
> 
> Signed-off-by: Yu Kuai <yukuai3@huawei.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:09:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:09:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642920.1002720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7v2C-0007vU-RH; Tue, 28 Nov 2023 10:09:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642920.1002720; Tue, 28 Nov 2023 10: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 1r7v2C-0007vN-Ok; Tue, 28 Nov 2023 10:09:40 +0000
Received: by outflank-mailman (input) for mailman id 642920;
 Tue, 28 Nov 2023 10:09: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=Oxj7=HJ=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r7v2B-0007vH-Om
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:09:39 +0000
Received: from mail.alien8.de (mail.alien8.de [2a01:4f9:3051:3f93::2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3c59504a-8dd6-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:09:37 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 882A740E01B1; 
 Tue, 28 Nov 2023 10:09:36 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id n6vaYX6mQPGx; Tue, 28 Nov 2023 10:09:34 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 8B4B840E01A5;
 Tue, 28 Nov 2023 10: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: 3c59504a-8dd6-11ee-9b0e-b553b5be7939
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=pass (4096-bit key)
	header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1701166173; bh=ZbOAIQjytTHlygvBJZdtmYHZgd+py/hKn6bkyMaazjs=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=WqvcBgi4X9QIQCMq9rbbSQ5yckzcUFi2nYsW5MeInmATYRTahKqBugagSn2r6mcCf
	 0OKLl1fUw7IGcqogaH5K60o9MnxTMAwqVZcoLJj+TMs/KT0za6Zq7t1tW2/Ky9ATC4
	 pMaezQt2tstNf5o+V8MgG9hsMUIkDdRe8+AHDweomKer8/hpIZOyUDVdCsCvQm3EJp
	 R8fH+CyGxdZZedQ8ges+Y8u0LMmQYV3AqbrSkYKdbd1u6YGggNSvJV8KIpYwS/MrtT
	 8NLKg58ZHCK194AabA4fUcsX2l5x6TPCAG6E8WunhkXo7OyDI18O5HIsYKRlEnF2xz
	 DK+vBY+Etna4jLAt3huPcAlHSrV/TsprLkW+MM74k+XziphA6FKIN0HOJarlWLhol2
	 K0F1NhYJ5bIokwuhXGJqZ0FXH/v94Ul/8v435Jva0XF3m/skw6ISeuyDuv7kpDbOhT
	 fXNefHnI2Dc5iXbQpfiCXIb74g9FH7zPTXzsEMG2ez0G3YN8cMrrFRtDqZT7WQJUuc
	 CX3jZGcfJrp5UiW8OoFEM4FajOlEuVTcNzPYei0+052dHmkxO7AbDriA2oZOklc953
	 dej16pz5yYo1mdKVZaGNo/ODqFn8nXdYtyFEtOfQEi8eCl0wau/qz0RlzdveGBe5Mv
	 d2OWeQiMp1IFOzr8SWk0eIUk=
Date: Tue, 28 Nov 2023 11:09:10 +0100
From: Borislav Petkov <bp@alien8.de>
To: Xin Li <xin3.li@intel.com>
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com,
	x86@kernel.org, hpa@zytor.com, luto@kernel.org, pbonzini@redhat.com,
	seanjc@google.com, peterz@infradead.org, jgross@suse.com,
	ravi.v.shankar@intel.com, mhiramat@kernel.org,
	andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
	nik.borisov@suse.com
Subject: Re: [PATCH v12 24/37] x86/idtentry: Incorporate
 definitions/declarations of the FRED entries
Message-ID: <20231128100910.GSZWW8RnyhX0YQjwDm@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-25-xin3.li@intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231003062458.23552-25-xin3.li@intel.com>

On Mon, Oct 02, 2023 at 11:24:45PM -0700, Xin Li wrote:
> FRED and IDT can share most of the definitions and declarations so
> that in the majority of cases the actual handler implementation is the
> same.
> 
> The differences are the exceptions where FRED stores exception related
> information on the stack and the sysvec implementations as FRED can
> handle irqentry/exit() in the dispatcher instead of having it in each
> handler.
> 
> Also add stub defines for vectors which are not used due to Kconfig
> decisions to spare the ifdeffery in the actual FRED dispatch code.
> 
> Tested-by: Shan Kang <shan.kang@intel.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Signed-off-by: Xin Li <xin3.li@intel.com>

This makes me wonder too who the author is. The commit message text
sounds like tglx. :)

> @@ -137,6 +141,17 @@ static __always_inline void __##func(struct pt_regs *regs,		\
>  #define DEFINE_IDTENTRY_RAW(func)					\
>  __visible noinstr void func(struct pt_regs *regs)
>  
> +/**
> + * DEFINE_FREDENTRY_RAW - Emit code for raw FRED entry points

LOL, "FREDENTRY"

...

-- 
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:23:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:23:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642925.1002731 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vEw-0004Hf-2u; Tue, 28 Nov 2023 10:22:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642925.1002731; Tue, 28 Nov 2023 10:22: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 1r7vEw-0004HY-06; Tue, 28 Nov 2023 10:22:50 +0000
Received: by outflank-mailman (input) for mailman id 642925;
 Tue, 28 Nov 2023 10:22: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 1r7vEv-0004HN-6I; Tue, 28 Nov 2023 10:22: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 1r7vEu-0005Pw-OZ; Tue, 28 Nov 2023 10: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 1r7vEu-0003J0-FG; Tue, 28 Nov 2023 10:22:48 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7vEu-0005XT-Eq; Tue, 28 Nov 2023 10: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>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=d+zx/JzwGVkuLJr7rkIY1LwsBbquqO9zuEvPSZIvGpY=; b=3RPHbNAC42x9TDLL/uvHNE1Vf4
	LPa4/iO6QUccDL3gOhyXRfjiV9O5Tv4cI60YnRUZ3a9RB3fzOrpUn5z/Il95fx7yOFRJmR+DkPNB3
	a87bZBpjrcjOMoPqbspDIn9qvWMZa5tVvDQd1TPiY7DKclweuGlvguhmrkNvAtgnfMp0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183882-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183882: regressions - all pass
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-arm64-xsm:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-armhf:xen-build/dist-test:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=72d51813d631fe27d37736b7a55eeec08f246983
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 10:22:48 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   7 xen-build/dist-test      fail REGR. vs. 183851
 build-arm64-xsm               7 xen-build/dist-test      fail REGR. vs. 183851
 build-armhf                   7 xen-build/dist-test      fail REGR. vs. 183851

Tests which did not succeed, but are not blocking:
 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-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                  72d51813d631fe27d37736b7a55eeec08f246983
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    4 days
Failing since        183871  2023-11-27 14:00:26 Z    0 days    4 attempts
Testing same since   183874  2023-11-27 19:00:27 Z    0 days    3 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 72d51813d631fe27d37736b7a55eeec08f246983
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Nov 27 15:18:48 2023 +0100

    x86: amend cpu_has_xen_{ibt,shstk}
    
    ... to evaluate to false at compile-time when the respective Kconfig
    control is off, thus allowing the compiler to eliminate then-dead code.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 17754972fa98bff2dfdec09b8094f54530bafcb8
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:56 2023 +0100

    x86/atomic: address violations of MISRA C:2012 Rule 11.8
    
    Edit casts that unnecessarily remove const qualifiers
    to comply with Rule 11.8.
    The type of the provided pointer may be const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fc63c0ebefe7e9d166b07971273c1de62428eb18
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:32 2023 +0100

    AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
    
    Drop an unnecessary cast discarding a const qualifier, to comply with
    Rule 11.8. The type of the formal parameter ivhd_block is const
    qualified.
    
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fe26cb2dd20fa864deb05e4b278bc9993ba120e6
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:07 2023 +0100

    x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
    
    Add missing const qualifier in casting to comply with Rule 11.8.
    Argument tag is typically const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 09c2fe438da1dfc83f70d921b52240bea576615f
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:16:43 2023 +0100

    x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
    
    Add const qualifier in cast that unnecessarily removes it
    to comply with Rule 11.8.
    The variable info is declared with a const qualified type.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Nov 27 15:16:01 2023 +0100

    livepatch: do not use .livepatch.funcs section to store internal state
    
    Currently the livepatch logic inside of Xen will use fields of struct
    livepatch_func in order to cache internal state of patched functions.  Note
    this is a field that is part of the payload, and is loaded as an ELF section
    (.livepatch.funcs), taking into account the SHF_* flags in the section
    header.
    
    The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
    are SHF_ALLOC, which leads to its contents (the array of livepatch_func
    structures) being placed in read-only memory:
    
    Section Headers:
      [Nr] Name              Type             Address           Offset
           Size              EntSize          Flags  Link  Info  Align
    [...]
      [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
           0000000000000068  0000000000000000   A       0     0     8
    
    This previously went unnoticed, as all writes to the fields of livepatch_func
    happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
    however WP is no longer toggled in CR0 for patch application, and only the
    hypervisor .text mappings are made write-accessible.  That leads to the
    following page fault when attempting to apply a livepatch:
    
    ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
    CPU:    4
    RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
    [...]
    Xen call trace:
       [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
       [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
       [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee
    
    Pagetable walk from ffff82d040625079:
     L4[0x105] = 000000008c6c9063 ffffffffffffffff
     L3[0x141] = 000000008c6c6063 ffffffffffffffff
     L2[0x003] = 000000086a1e7063 ffffffffffffffff
     L1[0x025] = 800000086ca5d121 ffffffffffffffff
    
    ****************************************
    Panic on CPU 4:
    FATAL PAGE FAULT
    [error_code=0003]
    Faulting linear address: ffff82d040625079
    ****************************************
    
    Fix this by moving the internal Xen function patching state out of
    livepatch_func into an area not allocated as part of the ELF payload.  While
    there also constify the array of livepatch_func structures in order to prevent
    further surprises.
    
    Note there's still one field (old_addr) that gets set during livepatch load.  I
    consider this fine since the field is read-only after load, and at the point
    the field gets set the underlying mapping hasn't been made read-only yet.
    
    Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

commit 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:15:09 2023 +0100

    xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
    
    Add missing parameter names and uniform the interfaces of
    modify_xen_mappings() and modify_xen_mappings_lite().
    
    No functional change.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit b82b867a6694368b9a74ed00397b2393d129a24d
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:14:00 2023 +0100

    x86/mm: preparation work to uniform modify_xen_mappings* interfaces
    
    The objective is to use parameter name "nf" to denote "new flags"
    in all the modify_xen_mappings* functions.
    Since modify_xen_mappings_lite() is currently using "nf" as identifier
    for a local variable, bad things could happen if new uses of such
    variable are committed while a renaming patch is waiting for the
    approval.
    To avoid such danger, as first thing rename the local variable from
    "nf" to "flags".
    
    No functional change.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit fbcec32d6d3ea0ac329301925b317478316209ed
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:39:55 2023 +0000

    x86/mem_sharing: Release domain if we are not able to enable memory sharing
    
    In case it's not possible to enable memory sharing (mem_sharing_control
    fails) we just return the error code without releasing the domain
    acquired some lines above by rcu_lock_live_remote_domain_by_id().
    
    Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit b9eeb1992676ec83cee285b97fee94d03eaa9836
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:26:20 2023 +0000

    x86/mem_sharing: Fix typo in comment
    
    ambigious -> ambiguous
    
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:32:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:32:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642932.1002746 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vNw-0007vU-1B; Tue, 28 Nov 2023 10:32:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642932.1002746; Tue, 28 Nov 2023 10: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 1r7vNv-0007vN-Ux; Tue, 28 Nov 2023 10:32:07 +0000
Received: by outflank-mailman (input) for mailman id 642932;
 Tue, 28 Nov 2023 10:32: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vNu-0007vH-VP
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:32:06 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060e.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 604067de-8dd9-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 11:32:06 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8844.eurprd04.prod.outlook.com (2603:10a6:20b:40b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Tue, 28 Nov
 2023 10:32:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 10: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>
X-Inumbo-ID: 604067de-8dd9-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RaaglNm59ZJt1a9BvePcC+JJ6qo7/Hg8pU9E4uw19Znm/22itgAsNQju/9ILoHCFxsQJx9x+CQrp80aHYmEKsRqd7+X8xqOnVISpck8EyOtjUznOXiPDIZlzzmNA++qjDnLQa50AwMce4c6q+mXNjQObSKRnMcxfcNjCr6bDd55cExCWR5EwwhkODkJGNRX2OBT2iQTOPdO84+WfBPhZBn9wAS1QnPoJgunkefEQj+RmS6lPjJOkgXgKuRyCutqIug+c8+nrZuHAhgznpYi6yadnlVdYnuGrPTah3JjsZPKTdmsJLZ6UjYW13OKL94PXW81cHRNU4tYmbG2Lr3KvvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=BZXdqutN+5/hQK5ONAjJx6f2v2m6qGbaGE+hCP22rYs=;
 b=Eq2H/eMkkj32cSFeJJx5/nPx/Oael2NxskflMSr2ID4qant/3KIxJxZedpiETJMOiCN+ecmqgex7sGEukFc3iOIOHIHpzOYPMrDLF2QjMrmIC3CcduOyPZUGoAu5Eh54kNEVnqr5vPzMQCI5IjROUxbvvONEWAyAUziFFYvzOucd0gawuW89PjUv0YgMnFx4QJ/CNea+ArFJ2JYTIU134YoD4IhQsFijVdo4snBCVo9hLvxzbRqebtOrev5Z30kn3pZ7t1A/eANV/6JVVsnlqwsncPCuum/aC8hNh7405nrItLlmWM6x6TTOEGM3BcVR7qXePk7OW2rgY1pQoD1FCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=BZXdqutN+5/hQK5ONAjJx6f2v2m6qGbaGE+hCP22rYs=;
 b=d7sknWosowJrfcsKRjLzvwH+q0fYTG9bBukc/8avIbeK8KYUse2G+GN2Eqs8z99to4Ll7+I8CG8pMSX1zKzH1tb/hOjHw8M2NIaprLXT5EhCgnRLgm56uQpjMv04zprSWc6tK53p2LDF9WKMT3gMIWRLs9kXAqf7r/HXfiHvcGnKUUTKfP1HuJiukNlcRayaPut196ir64wgQLgdKVU9lQ2gkrEIRxStkPZjLni8sL+h7lgEBdvBC41lnRLzyIYr4kIcBXtLIOabZcWLEg3KrKCqlBZdu1Nk03O4ZQbNtaTWUl51RRV+SZBYpOaYhMPE49h/kZwhYUkI33We/4YOTQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Date: Tue, 28 Nov 2023 11:32:01 +0100
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 0/6] x86/HVM: load state checking
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
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0444.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8844:EE_
X-MS-Office365-Filtering-Correlation-Id: 9bc853ad-3615-4c90-09c3-08dbeffd42ce
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	XynfCyMmLJNcbKJK9YAAzTQ8x5PzBP9ZGbtBkHTfbDbO4tJKgvmalhHxJbhm/+dp3WQkhvwU32af94dQs5ZK0FvnTiRUSWCrfJcBeWoO2LUyjrUdzF836wPV+k4AZzMt27nQq75uHsoTcbmCcXOYJCaOdDYtsrLyiseZPu96zaOzFsBMVeuQyY6Aj5K02lPCWFTvADodRGpEPwVKeoyxFnq5FcWMGhsqBBEC/trmYLF89pJOxF5p6OQd2pAK9gO9aLRP+h15m5/4m8SaDV/1xIEF4bVVX7Gv37WjAnIDvl7oUm1JqHdEx443Vry6q89beoN4hT94ueA5DG2JBrpUeVLGKkiLdEc+1smfIEqKDxkMjI/hC9Qs+edkzjXPlH5nA7gCceCajVkNSjNU2LswrmIOuSpKP0AR6USo3RIkPU9GagYN8HDvdaPjlPM0lF102RAS/nrQ8moiQRvNXsHzfcsipDSZRtzDVALVNd7FmwxUqyHj2nrKQam1gzODan/K31atqixs5lKlGxeFbtWYjJpAc6Rc0+uh3fXKuJJvuLHs847qi/oibRGsUfteQt07PhoGb7TfRq09el7dN6zVdjh5mjQxjbDyV9HSAJwKhYkb5VOVKK9R0OT4LMEr8b24fMuB964a0+JJvu6B2X8aww==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(376002)(136003)(366004)(39860400002)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(2616005)(316002)(54906003)(38100700002)(36756003)(66476007)(6916009)(66946007)(66556008)(26005)(6486002)(478600001)(6512007)(6506007)(31686004)(86362001)(31696002)(2906002)(5660300002)(41300700001)(83380400001)(8936002)(4744005)(8676002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?S3g2UjB1WWg1Y3pWYVcxREZSalRJdnZ0dWYzMnNxVEJkMWd2ZW9tU09keU5D?=
 =?utf-8?B?ZFIvRGtBYjFzb3U1Q2xsaWgxMjF1V0ppL05rYmJwcjdVaHc0R2dmSUZaMTd2?=
 =?utf-8?B?bGhpSFBla3F5SzJpZ05OWUFVSXZCR0EvajZiRGdoSlcySzFLeldpR1paSVR1?=
 =?utf-8?B?Q1dWaVBBOVZ1aTh1UDNxb2FFdVlpVExhNlFlU01sU0dCZm5aWWhJUzM4ZThD?=
 =?utf-8?B?ZWRKRnNManZ1WDkzS0xJRkhzWlpnMk1UUXowL2FxOHJ5aExZL2lZdk9UVU92?=
 =?utf-8?B?ZDI3U2ZBbnRiUW5YSi9XUXRVeGFabzBHWEpEQ2ZocURURWVBQUtId203MlBB?=
 =?utf-8?B?UWg0YnlWb1AwK2tIU0V4emJDN01LQ21OQStCdGtZVTlhQ3l5MUNjMjVyS05D?=
 =?utf-8?B?WFJqSzZZMHBIT0hlZ21MVWNhdktMRWc3Q2NLRHNRWEtUTzFySDMvQVBXN0hh?=
 =?utf-8?B?amR2TGgrdm1DRUdZSzR6NGhZbDZnQklNUk85RFlSdGwrSDdRQUZaaWdwRWp0?=
 =?utf-8?B?WGhtOWYxQWVmNExCOWRpdnFOUzAwUFJza2lIMUtxQUF0Z0F0WU9WcTJVbzNy?=
 =?utf-8?B?c0l4ZGNwSGNGSWhqK1J1czEzRERLN2JqV21SVk1TdUxnaXpkaUxSV1daUU9n?=
 =?utf-8?B?UHo0aWY4ZW9CMFI3blZlQUZKdlpJcHVqN296MHFjMzAyRGxpbnd4emhxWVZx?=
 =?utf-8?B?MEcxUFNIcm92S3ZLblNwZlFtc2p1VHlGZGJIWTdaZ0x5WXFQa0d4aVRUTVVU?=
 =?utf-8?B?VjEyVFJScnh3ZzJHbVVPQmJEMGd1blVIRm5QaVJQZSsrMjIwSTQ5ekZjU0xO?=
 =?utf-8?B?cExOSGJQNHp6dmZpTkp5QUwyUTVxeVJzMW9iemNMWTdLeDZRd0ovcWpwQzVq?=
 =?utf-8?B?c252M2lmQldvVmxVRmVSeFFVNDI2VnN5YlRQRjJRVklNQkxMb3FmR2t5TlhQ?=
 =?utf-8?B?MHFTd0lqS056dmZHTnZHUHBsaHYvK00vZHYzNExTR2hhRnkwam1YN1RTaFV2?=
 =?utf-8?B?Nmlua2oxWFAySklNZEYxY1FhUTFLNXhoVDRyVlNFdnpNejNXTFdRdlVZZGY5?=
 =?utf-8?B?ZmFacXdERVFFaC9XcktyY2xQZlozZExyTnB2ZS9sR0dZdEVVeVltcDJzM083?=
 =?utf-8?B?M0RUOVViN3V5MytOSS9RbVZ6K1BJVmZ1Y3d6b2ZKS1FYbjlsRXF4TS9zWE9p?=
 =?utf-8?B?QmZFN1pIeGZHR2s0Ym5SeDc4bTZIR3hXc2gzSXJNc2tHS2JyamRsQTJUUGo2?=
 =?utf-8?B?b2pMR09BRkhxVlN1LzVkYndndDhIK0xXM2doM29WSk9LVkhCbEFieDhZQkti?=
 =?utf-8?B?TUxCSnlqdE5EcCs4UlUvNzJFUmlKZkFuaUZoSW9SRzdrcHQ1OFVwZEo1b3lX?=
 =?utf-8?B?L0RrTUFER3ZFVDJTUzJaZEZERVJPS0gzNkhxNXVrTzc2TFZNdDdQSXE5YTJQ?=
 =?utf-8?B?U3RUQk1jcHlsY0d5enRyMHYxMjdBRmlRa2o0cUpvMk55c0RESHVUVXRMcUY4?=
 =?utf-8?B?Ly9Zak8zYUNEZmIvNGFsQ3RxSVpIOEt4RnB4elpHbzRaVHM2R1I4QUd2Y1hS?=
 =?utf-8?B?V2JRZjJBanMxRkVpOUY4M2F3SXc4Vk5BU3BuWlo4NTdsZTJaRXV6bVF1NTYr?=
 =?utf-8?B?U2ROMnZtbjU4Q1pySTRFVXRVY3pGUUtGRi9UZ2ZhYkVNMHNjQ1l0UGJ2QUlC?=
 =?utf-8?B?cjl2ZUdnV2ZrYkRLd09iME5aQkpzNWxmUmlkcHo1S0VlRmRBWXpFUjdvN1Fq?=
 =?utf-8?B?U2VNbzA5Y1UzUFNobXpreE1XOXRDYkxWMVhLV0dsSEh3c085Y3JXblpvS1dS?=
 =?utf-8?B?QVJndGVUbXJ1cXltYkxaSnI4UUNSMFdPL05pd3lySzEyMFdndUdxaVh5RVZ0?=
 =?utf-8?B?Wm4xL1hqUC9ESW5zbG9FVC9XWlkzWjNzVUdkWU5Dd3pSMUlXaEw1M3N1T09L?=
 =?utf-8?B?QkNQUyt6Y0N3NVA0SjRENUpqUW91YnpjZ3dSTGQ1QVhZeWhzNkdEOEwwbWR2?=
 =?utf-8?B?dTEzd3I3Z1A2ZTJLb29Zd2IrRVZ2R0lRcjVRbWFibkQ4Y1VSUWdnTHRreHFw?=
 =?utf-8?B?YVorTnRXREFXLzB4Tlp3N3dJL2pvMFl1eGdWWDFiWURtVVZPQnBweUUrd3k0?=
 =?utf-8?Q?/iNjq6WWWP51FE42XzMPsLA1/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bc853ad-3615-4c90-09c3-08dbeffd42ce
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 10:32:03.0485
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: VlWkBYWtdVdAuS3KD0u4wXtw8WaH0n0zbWtIIx0wX7+pmVbGFCDUra/vKzah0ZVVsRpoAVpE8VD4/VmiwHz2gw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8844

With the request to convert bounding to actual refusal, and then
doing so in new hooks, the two previously separate patches now
need to be in a series, with infrastructure work done first.
Clearly the checking in other load handlers could (and likely
wants to be) moved to separate check handlers as well, down the
road.

1: HVM: introduce hvm_point_entry()
2: HVM: split restore state checking from state loading
3: HVM: adjust save/restore hook registration for optional check handler
4: vPIT: check values loaded from state save record
5: vPIC: vpic_elcr_mask() master bit 2 control
6: vPIC: check values loaded from state save record

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:33:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:33:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642938.1002757 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vPS-0000K6-Dp; Tue, 28 Nov 2023 10:33:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642938.1002757; Tue, 28 Nov 2023 10:33: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 1r7vPS-0000Jz-Az; Tue, 28 Nov 2023 10:33:42 +0000
Received: by outflank-mailman (input) for mailman id 642938;
 Tue, 28 Nov 2023 10:33: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vPR-0000IL-El
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:33:41 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0612.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::612])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 97bf8e0d-8dd9-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:33:39 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8844.eurprd04.prod.outlook.com (2603:10a6:20b:40b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Tue, 28 Nov
 2023 10:33:36 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 10: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: 97bf8e0d-8dd9-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=GisvrSPD0mju/nxXhRJpMFezXoI8D3iAoyEooZmR7NhoNpShHAoEkWP7+PJ8PFAeJlCQa1L6KLDmDgBsct/CKL3c4kVGe8hDLp+MDjo2n2HAHUSC3moxyseGmm8kgIszYzudnN4tP4cGFJWHgSU61FiyGe6WF45LwOylUcyjxaEVyTgU2LXedbzNazBtZSwGylqw0xKsVx6H1XdJHDg74uj0ECs/vid/wGJcLeGQEMXlwst4YPINDosxAthMlUG7+4ItwzHld1MobPPjOm6d6d4MziJ5hW5M9mH7w1foEk7q+6GdETqTl1AH9STjCAl8yb8rTU5abO/wfY+l9LiZ+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=ZprIUxrlQ9pKLtqLP+Mf4qwZU5HLEL5NJRnyyEOBfjE=;
 b=AjIJ0ZLenNC6VLgDmyydWCNFbj4LGF7aEg1vdZB73Sxccof7TzUqDFkUzaABQ548qz61Q2kiLDpEhlM9oGoYCJZ8u3srnji+/BIcKs5kjBZDrW8YURKrJP32adfodUf6wxpzXIEPj8buuGTD7TrYkXel72eT6BD9l+8yj2is7UPtPFNoSB1pZjt80ysIp6R6D2yM2mhgsGtjp4dAysCx2w/3ruJkJqwsvpsc/5vOyXOXfiX6HLINrzNjvGSYQlbN9qx6ZbF2zjyEZjEr5gY4TgY8vDlp0lcbAit+YPljz7zp4GIy+6+BUZmer9pRkogAPAjaO56P3ljmw2To1EPnww==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZprIUxrlQ9pKLtqLP+Mf4qwZU5HLEL5NJRnyyEOBfjE=;
 b=geq83vgh25rZJ+2teVQ060OPqtI4NnpAoiLygEkaRCVpZegeW/csa5t2+tnhQJqoVcRRua2VSJN6x5P1suFMYOugtNJ8Zkou9s+1bah9RKFmafk63ppKcX2ASVUNP9g+HkIgSz+Z0MbvH7+T2vv41O0UldoDfmv8Yz6b5PUA/46Lt8+f5hCQfgd2OLyavMQ4APTcmpE69ys/jDi1izb+XeAjs4fZFY9w4ud+hWor+J0SAQjGI80qPIiotc6vui+5egJmxGl4uSYSvKl1P6lNc6DDB/yEUgVzxiloU0S9EkW+LyP/2S6qpkK1f/hthXqloRiLML1mAlZt/5HhUYgV5A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b068aaed-5bcf-4d4d-90ba-81f5e296b2d2@suse.com>
Date: Tue, 28 Nov 2023 11:33:35 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 1/6] x86/HVM: introduce hvm_get_entry()
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: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0444.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8844:EE_
X-MS-Office365-Filtering-Correlation-Id: 24254803-e8db-42be-4afa-08dbeffd7a67
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2uYHqOTsBhL/xGq8wD+FDCxY7sl8jnoDJeU4z+KBhGrY7Zc/GOyQoFLjEetHue0GDFW82L+a2jTMWEIGKkqpCUPB/f+88p1JoWaMDaKDPhMxtDEAkqFjLgiUC900/WVtG8ymHk21yAunMN/yTY/AnBg9jNzbKmmuWt585wLB5MlDKw6EkJ4zmBNi4Sze3c98T5uiwnVxulOyDt/B+U8dl2cmkRKC45L6eft2N/o4zH4NaPCRUSxIKLrIEY5P+RnphPyDYez43dyDnfuJ5TZ8oFWYoNTmnQAq6ag6cxiE/FcEC1oWN3lJ4S0xKYri2XXjPzprXGQiusp3WuJ0P5xKBv6ObbyzmJRntC/9r5kOXf3VqiLPJsPZRRAhjQ6DijU7AijTPRhZmcjiezdU7OXqDAtRge4NxRu0d8Cl6WiWsYw1KH5sH5ALgI3D9Uzb3TH9FByTqm2wpuH6anK9rQOiA71K0r7fshAcZB5+T4nXUQ5r0110qhSfjB5kThhAWBiDRopA3sTUVZK4/0NA+UKXAzgCfG1Pu6jRfUdHCpm6T6ccM4YoAmyGIDN+iTfkb10ivVQ3DVN/fo0kqZpA8MnlwQ6eS99JBbf7F3nzRFkeNBb9KPhCO0EqUVHmB8X7uRl5sKECA0+PrNY+jb0Pam/jGw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(346002)(396003)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(31696002)(86362001)(2906002)(5660300002)(6512007)(31686004)(6506007)(8676002)(4326008)(41300700001)(8936002)(83380400001)(316002)(54906003)(38100700002)(36756003)(2616005)(478600001)(6486002)(66476007)(66946007)(6916009)(26005)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?QWVPL1hPTmN3QkxNZkpuTUdUZFRjOTM0T0hOdmFBOGRSbGF6V0M4YmswbjdO?=
 =?utf-8?B?MGdCQlpPZWZyWk1NTmpFV3ZOczdjKytaNk1FMnBNejlEMlRYTjRFcDdZSm1t?=
 =?utf-8?B?b2FWWlRnUUdZUWcwU09Ubm9jRFQ2LzZZYXR4YXFwQ2ZUVFZHUk5YTDhLUnZX?=
 =?utf-8?B?QlppcWxwZUhLSTI0dHBlNTR0cW4xdXVKVitkaDkrZ0lWcnY1VVp6WWlTR2tw?=
 =?utf-8?B?TmQyRWdyVFdBcHJVbDdoUFcybG5mOW56MjA4Vmk1a0VkVzVRblo2MlNTb2JZ?=
 =?utf-8?B?NFdOdjJrN1NTYzhrTUpQTUlqajFuc28yTmN2a1kwcGF1Z1hVcmdpM2RpQTl4?=
 =?utf-8?B?RTFlL1JsbmNnMG5HU0FUL3k5SHRReFRYbnRzWHVKaklISWFkZXJaVlBtdEhx?=
 =?utf-8?B?WVpMbHR4SWZhb3VGb0ZReGlCaFdhNXhsU1FEUWpKNml6c0JlUTBzZCtiV3Fa?=
 =?utf-8?B?RDk1eVBzeTBac1YwbWV0Nll2cDBSRHhZVkJJdHBKM242c0ZiVUJYVFNGWUVE?=
 =?utf-8?B?Y3RlWGRDTVI0dDZqWmNTeG1GNVVScTBOUHFPOGxGZEJveldpWWNXdzZyWHha?=
 =?utf-8?B?cHVwNDdndFRENU1FSUZzVnJNRjhMSmREL3pOaUF3TEJxTGlmemlrOS9IMzVS?=
 =?utf-8?B?bVd3Nll3b0U3R05IdHNFdlNwSXFUTWUwM1l6ME54V3F1WExNSmhyeWRJaVJl?=
 =?utf-8?B?emVxN0ZFczJ2NzBzTWxZNlJJOHFtT29HZENpandIakk4QzR0ampaR1Ixd0da?=
 =?utf-8?B?NkFhUDVBZFdsc21UbURSK3hUbzJiMGJGVm1ETWVEQnA1RElwVk9xY3dOZHlx?=
 =?utf-8?B?K3I3OTFvTDlPWGExdEZHbGpOQmo3eC9xOWwzN0FZMjU5UHU4b2N6M2lod0Vu?=
 =?utf-8?B?S1ppUjFYbUo3ejhCRkkzd09Vc0V6ZFNrZWY2bDlJTWdtMDVkTnRJVDhPNEg3?=
 =?utf-8?B?ejFDQ293cU5sdVBsTlZLcWwzbTVuYTdKbC9IZHZHM1ptZlhjNnkxZnd4N0ha?=
 =?utf-8?B?N0lkL2Jxa2lST055TmdFZ091ajVDOW0yU2JBQmcvNkUwN1FDbUtFWHRmb3BY?=
 =?utf-8?B?cHorMFhSdlNHc0dXVlhvQ1FyUWhMR3hZZjdiSHo1ekhtZjA0K2VYeTl3N1RU?=
 =?utf-8?B?SU15VlF2b3QyNnlqS3U1OFpwZ0lOZ0xvVEw2YVRnS2ZlVDZnV0RSSU1KdnZU?=
 =?utf-8?B?Mi9KVDJDVGRVSGY0TVB4K0tDUjhvTXFESnp6aGJ0bWZtUlVsckxhN1BManpE?=
 =?utf-8?B?cEx1czFSdVRLWmVPRzhWMGtJMjNBSjR3eVExWWZjdzRPa0RTejI2cnA5VzVN?=
 =?utf-8?B?WXQyNjJRMlNsYis4NUJxRFNRRm9sRnR6ekcwemZUSVladXlMWVNVeks0Umkx?=
 =?utf-8?B?RXVYcXhvd3lwQ3VMTmlHRXY0ZE0vb0loNXVWT0l1SmJvR2RnaGIvOWxtMjNm?=
 =?utf-8?B?L3duQTlrYmdCR3pxWGI3clczUTA5ODUvWG9TdU5sRTFYREdWRkUwM1A4WHYw?=
 =?utf-8?B?Qm4xK0VPdVROc3NpWHVnQmtRbHBEb2psWDVaZ0pNNmNrVm9zc2JPKzBJd1E1?=
 =?utf-8?B?amxGY0hIQ0Z4WXpQb1RrVTVpdU1FRkNPU3NmWklMa3QwalBTUjNqZ05MaStm?=
 =?utf-8?B?ZEVwR29hbUpLNXgwMXpING1EeHF3Wm9lZjdMQmp5VS9wZVcwcUR0TmJhczBT?=
 =?utf-8?B?UW00NEFiTjZXRE1xNUdyMndmc2dMbXFSbE5FdWxIRTRUOE5KT0w5ZmpkM3BK?=
 =?utf-8?B?K3Q0Ym15djBUUFlHTHgwc0doZDlYU1FnRzYvNERDcG81aWtsaFB3Z2tDVUVX?=
 =?utf-8?B?NkU5WjBIdkV0MWMyNUU1YysrcGNGaHE0UG5qZ05hNDEwSGVDcmpVSHEwSWUz?=
 =?utf-8?B?bE44NUhUeDU5SEhPckpKWm9keVBmbzZycGxWNVg0Zm1WUTJHcEplVVB5V2Qz?=
 =?utf-8?B?aFRBNDVpaXNjdnpNK284OEd4NDlTalRiM1crdzh3K0xNZjNBczFLSGt3SHNv?=
 =?utf-8?B?NFJ6ZGE1VStPQUZXUjBqenJPME5sZVRlR1VTQUppMzRnWlN0Q3lBVm1rY1NL?=
 =?utf-8?B?RnhkTTl1L3BzdWEzcVdFcGhNMFQvRWlDUDNDUzUvblJEYmVGMVZ3OTJSMHl3?=
 =?utf-8?Q?pp+pEBQvziO4SBKeOah+KWFA9?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 24254803-e8db-42be-4afa-08dbeffd7a67
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 10:33:36.3445
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PSomdg0tBYMx8qmPP3mXeTooeqQhQ7z/vKVjA6z1LXguqHVbsf0Tg7WfUJJfGQDJzhtrwTAMY4wW5nsosd/Jzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8844

... to accompany hvm_read_entry() when actual copying isn't desirable.
This allows to remove open-coded stream accesses from hpet_load(),
along with using the helper in hvm_load() itself.

Since arch_hvm_load()'s declaration would need changing, and since the
function is not used from elsewhere, purge the declaration. With that it
makes little sense to keep arch_hvm_save()'s around; convert that
function to static then at the same time.

In hpet_load() simplify the specific case of error return that's in
context anyway: There's no need to hold the lock when only updating a
local variable.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
v3: Rename to hvm_get_entry().
v2: New.

--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -637,7 +637,7 @@ static int cf_check hpet_save(struct vcp
 static int cf_check hpet_load(struct domain *d, hvm_domain_context_t *h)
 {
     HPETState *hp = domain_vhpet(d);
-    struct hvm_hw_hpet *rec;
+    const struct hvm_hw_hpet *rec;
     uint64_t cmp;
     uint64_t guest_time;
     int i;
@@ -645,17 +645,12 @@ static int cf_check hpet_load(struct dom
     if ( !has_vhpet(d) )
         return -ENODEV;
 
-    write_lock(&hp->lock);
-
     /* Reload the HPET registers */
-    if ( _hvm_check_entry(h, HVM_SAVE_CODE(HPET), HVM_SAVE_LENGTH(HPET), 1) )
-    {
-        write_unlock(&hp->lock);
+    rec = hvm_get_entry(HPET, h);
+    if ( !rec )
         return -EINVAL;
-    }
 
-    rec = (struct hvm_hw_hpet *)&h->data[h->cur];
-    h->cur += HVM_SAVE_LENGTH(HPET);
+    write_lock(&hp->lock);
 
 #define C(x) hp->hpet.x = rec->x
     C(capability);
--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -15,7 +15,7 @@
 
 #include <public/hvm/save.h>
 
-void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr)
+static void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr)
 {
     uint32_t eax, ebx, ecx, edx;
 
@@ -30,7 +30,7 @@ void arch_hvm_save(struct domain *d, str
     d->arch.hvm.sync_tsc = rdtsc();
 }
 
-int arch_hvm_load(struct domain *d, struct hvm_save_header *hdr)
+static int arch_hvm_load(struct domain *d, const struct hvm_save_header *hdr)
 {
     uint32_t eax, ebx, ecx, edx;
 
@@ -277,7 +277,7 @@ int hvm_save(struct domain *d, hvm_domai
 
 int hvm_load(struct domain *d, hvm_domain_context_t *h)
 {
-    struct hvm_save_header hdr;
+    const struct hvm_save_header *hdr;
     struct hvm_save_descriptor *desc;
     hvm_load_handler handler;
     struct vcpu *v;
@@ -286,11 +286,12 @@ int hvm_load(struct domain *d, hvm_domai
     if ( d->is_dying )
         return -EINVAL;
 
-    /* Read the save header, which must be first */
-    if ( hvm_load_entry(HEADER, h, &hdr) != 0 )
+    /* Get at the save header, which must be first */
+    hdr = hvm_get_entry(HEADER, h);
+    if ( !hdr )
         return -ENODATA;
 
-    rc = arch_hvm_load(d, &hdr);
+    rc = arch_hvm_load(d, hdr);
     if ( rc )
         return rc;
 
--- a/xen/arch/x86/include/asm/hvm/save.h
+++ b/xen/arch/x86/include/asm/hvm/save.h
@@ -39,6 +39,21 @@ void _hvm_write_entry(struct hvm_domain_
 int _hvm_check_entry(struct hvm_domain_context *h,
                      uint16_t type, uint32_t len, bool strict_length);
 
+/*
+ * Unmarshalling: check, then return pointer. Evaluates to non-NULL on success.
+ * This macro requires the save entry to be the same size as the dest structure.
+ */
+#define hvm_get_entry(x, h) ({                                  \
+    const void *ptr = NULL;                                     \
+    BUILD_BUG_ON(HVM_SAVE_HAS_COMPAT(x));                       \
+    if ( _hvm_check_entry(h, HVM_SAVE_CODE(x),                  \
+                          HVM_SAVE_LENGTH(x), true) == 0 )      \
+    {                                                           \
+        ptr = &(h)->data[(h)->cur];                             \
+        h->cur += HVM_SAVE_LENGTH(x);                           \
+    }                                                           \
+    ptr; })
+
 /* Unmarshalling: copy the contents in a type-safe way */
 void _hvm_read_entry(struct hvm_domain_context *h,
                      void *dest, uint32_t dest_len);
@@ -127,9 +142,4 @@ int hvm_save_one(struct domain *d, unsig
                  XEN_GUEST_HANDLE_64(uint8) handle, uint64_t *bufsz);
 int hvm_load(struct domain *d, hvm_domain_context_t *h);
 
-/* Arch-specific definitions. */
-struct hvm_save_header;
-void arch_hvm_save(struct domain *d, struct hvm_save_header *hdr);
-int arch_hvm_load(struct domain *d, struct hvm_save_header *hdr);
-
 #endif /* __XEN_HVM_SAVE_H__ */



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:34:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:34:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642941.1002767 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vPt-0000rB-Qz; Tue, 28 Nov 2023 10:34:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642941.1002767; Tue, 28 Nov 2023 10:34: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 1r7vPt-0000r2-O4; Tue, 28 Nov 2023 10:34:09 +0000
Received: by outflank-mailman (input) for mailman id 642941;
 Tue, 28 Nov 2023 10:34: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vPr-0000oV-Pm
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:34:07 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0618.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a8242fa7-8dd9-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 11:34:06 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8844.eurprd04.prod.outlook.com (2603:10a6:20b:40b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Tue, 28 Nov
 2023 10:34:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 10:34: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: a8242fa7-8dd9-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BMjN5Scs99xapyXXAGIeI9utqvVMF0N0q17VVdJuVJOdLQh2bvp8FEiHpFx9p8Hu6n0ervmZC0lxxT3RMpZol+6VYclu9K9zNRu+CBt4i46wE+2h9hbnASnUHp6Qsv4AsTI5uvri5KGtVIwKv7qNTXmveWCO8hsXHOuY3JUtM7MGeCc153EiuB67qZR7XDbXdZ0kvyAQQ2o6DUR75kA2olhL9hSLdi30lp/886iQzaZ2EetlBnipSVEFMQ70fTIEoU4AQevgZXO6UMUNQil+EGzgEYYCyawwwrUNjNbSuhPewGhnA8nCWvaWs3vvxdYtlQoaSoooAieQfaU0OGuiAQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HV5NvHCW8qUyTXV7C3qR2W+ZkaZGrmcXrHSxDmLp0YE=;
 b=YgofCn80b0RxRRNS4uOcsbsoNlYCaYa7eNcOCOEtthbHuDRg8wYiL7gdsh8SBxHbedCStO5XKAfh4k9f1rcvmi+cyYYKtUTtUYE85a9uVncu/aEk1V/xAHHHFgGOaYo7WaGr7VAx5PYOpPKOkx9ls5skCEfkCyJiiINt+4P7cOOat8apjnpIYQZCzmhLTD9G4vbov3G/Y9ELfQ4OmR9TDi6i84QtxMezVDW18wBqv1UYXKQp1lOxMV5wMPTHXeSHfNVmyqNBGM17933HL8TtCGG1gb8GlLKUU5nXVufJr6YpT0bYq5V+YjM0REWgfxCGbij37915ChkfIrOPUYGs6w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HV5NvHCW8qUyTXV7C3qR2W+ZkaZGrmcXrHSxDmLp0YE=;
 b=B7WL+hpJDrm5sQPKS+PKjKyAAKtGVS3yngbopK+Da61vh+Wuc6hN+ZnGkoKr4tR+RBuhbhroz5R6MSnx5vNb7gPq0G3ysoPqk1ogje4aPKhooSE4AqxSiT4d8EnfrAHheTLfGghFYKPfd6pzt9hNQQqhrsiRQ/y89uqFgM8tq75Cpeb22w1Sg7HSO+XpsG1/DUF+Ay54aKS+HZZ3wwPiatcJHMf4I2DVSDVElFjdyWBeoHVWCHjpAy3dB43bbeb8MUtG7flKnMkcWTMe2TVY8NxnNA8x9l8mOitNxbq0ZH2qySRnESmIjp4g3rCemFxH2C3R6lwCuE+/R0PfoHglNQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dcc726f5-634e-4b48-aa8f-d477cdc8dea9@suse.com>
Date: Tue, 28 Nov 2023 11:34:04 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 2/6] x86/HVM: split restore state checking from state
 loading
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: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0444.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8844:EE_
X-MS-Office365-Filtering-Correlation-Id: 623c4868-8194-46da-36bc-08dbeffd8b8a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	knB3XGgztw8Q6IXSzcov6Htl0Fc/g7a8VEoSEqWaO3WqFEq22fyeYXq+1Y+lHNYhHey673U7EqYGglZoZId0c09/CCyS7zE8Kff3tONmuU83TC7p3GtzpXDBCjiAwias3feGuFFerLAyhlmAaHgb7VpNCoGovDtaWgbI7ldWCDmAEh70pvhX3pL6cwa3d4ov0ecaK8SbytHCxGB+QK7ljLdDVsh1L+Qy29STHMH3Dkzhuu4pLkgb8wyGHwSRbbcmw/Cel7g7zlyD0ZY25h0Q+UOyNTnixctnkWk16P8sXn0zXRYphYMNgUlRP6hiUKzjur+UzDbyljCc6/oKxOnQMnS8V9OEiQLM53q7uXq/T/G3yqNQomLw5W2i/tnhoSHPlBCccNtochQW0st9blZpD5qmvJS4/Vq1RqCDNOzfPfIekdTzl9VWAAHoW1xJ7dpB1E+//wNhMhTJnj6aEWOVp/KrKbVEYNuMNPCuIGatUhmdBaelVRkDyfr/ElNYaBHYCifl4YK+McrtJ51MMp+j51S7WjT36xO+6EcY9zRLfDOtegOzsEQr8Q3wbh4/5i44K3Ny2p0z2Di+dAC6cj9NRz8A4GJUDTDzw7l4XGbZxxOVtaL4sJRsOe42JHULoEv/EIdCd2ovLvPz+IXU/xx8hA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(346002)(396003)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(31696002)(86362001)(2906002)(5660300002)(6512007)(31686004)(6506007)(8676002)(4326008)(41300700001)(8936002)(83380400001)(316002)(54906003)(38100700002)(36756003)(2616005)(478600001)(6486002)(66476007)(66946007)(6916009)(26005)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZkZDRzZ2RlFwZUNJZEF1c0FQNmdtQW1YSVVaUXlrZS9WTFIwNlNPSmhWa201?=
 =?utf-8?B?ek03QjQzMkVuWjJMbXlLL1NDZ0NXWDgxNGtMVU1SWjMzaWlTUkw3Vm5ib2Mz?=
 =?utf-8?B?aEVyV2xZbFAyQi9TNnZWS1ZPMHRIV3hRcHprUDI3MmdLMUFWVGpnNTZFS0wx?=
 =?utf-8?B?aFlMMlJuYmxIOVEwdHdYQzNENy9aRkJiQjltSldpVjBFelk1RlNBL2lPMXZL?=
 =?utf-8?B?eVJabjh2MWFoWGV0NTc2eVRhYmpBdjBpM0RZd1JyT1VjT3VtanF6ajhvUWQ4?=
 =?utf-8?B?MnFNSy9waHlSYzIxb3JMUmYyVFhCQ3hUNCtneE9VN21vdjdYSlVENlpLdGNF?=
 =?utf-8?B?Z0QyUXpWc29ITDFJeWVWbXVIRDVSZHJJUnlpZW1JVDZSa1JKYTJnVTBoT3Fv?=
 =?utf-8?B?VHVUSXZUcm5BZndwNHA5WUNYT3lZclFndlBqN0ZQMFhqVm9HY0IxcTRSR1gr?=
 =?utf-8?B?dTlyQjhYeXdyQzhPRW5panJ4L1BQa0hySWllVlZWYWl2OFA5QTlCVTJXWVZD?=
 =?utf-8?B?TmRDOFIzRDVpWk5pdU1JRVJTRW10SDlqOWhCQy84MHNNWmZBNlc2QzBINW9R?=
 =?utf-8?B?S01KTkxtWlFPSWczU1ovTXg5S2MzdnYrbUFVRkVhcUNrS0wvMlJML2thZkoz?=
 =?utf-8?B?UW54dDJsTVJnSXdmOHkvZTg3UEdJbHp3bTVoTnBNZlpuZUt2cXdXdS9JamtZ?=
 =?utf-8?B?OGNHS1lOQkdBRzNqY3VYd21hejR3L0NtNnZFZzBwQUZUaWhEY01weDdiNDZi?=
 =?utf-8?B?TlRLajljeURzTXl0Z1hWak8waXVsd2RwdUlWNzdpMnRtSzV6bTlIL04vMk5x?=
 =?utf-8?B?VTdhS3JzTlk1eEV4dnAzN2lPWlB1YVlLYVlnVUVEalJXbWZVOUxPZHF3ajdF?=
 =?utf-8?B?Mk9FdW9xbnJUbzZGMmhQKzEwSnZaU20zbVdRcW00M2E5MzNxeGV0Ylplbzdv?=
 =?utf-8?B?L1QvVW9ZYjZiYUZlcVZYeWFwWUR0RCtVblZPQ2p6dkJqbXQ1VXZNN0UrZWtm?=
 =?utf-8?B?VTBCbGpwTzhtdE9qc2RpWk5RaDU1dWJ2dHN6OHZNbkk0eXlwTE1Xb0ZFVzd5?=
 =?utf-8?B?cUI4TVliS3A1QmJiU3c0MzJFNHNBaFl0SWw3ZVFPdytPMTY4M0xFb2IzVStW?=
 =?utf-8?B?cThCTld5b1piZHdQSE5rNEdjcUIybVF1TjZ6Z3FvbndmWk5IYmt0dXk2bmNy?=
 =?utf-8?B?RDFKblhWSkEzVVhnRXQ1U0VaSFN4Q3prWCtEOWd0MlhWNnJqOFpSWThpa1Fi?=
 =?utf-8?B?ZmdlZVhSLzNya2wyU3dhQXRBbkF2Vzc0SWdxWW81VVVWRHZQWTFwRTcwU2s1?=
 =?utf-8?B?eHJNaDJGWGZBQ0tEOHJZZ3J5ejhicjg2MUdINmxHL2xwNlZoa0lidVJERncx?=
 =?utf-8?B?ejZLeEZURlJGVU9IMXZ3ZjQwWWpUQkNjZ291VSt5aUVqd2tYaXRLVTRaNzRN?=
 =?utf-8?B?Z2tXOXBLUnpXdGcrZWV6NTJRbVlxWnpVUGJ3YS9FOFpRMmFITlNxRzZXbWNO?=
 =?utf-8?B?cFBWUHRaYU9CZzQybDdyQ1BUcE0xYWl3Sy80SXZqQnB6QlRwMkhFUk5pUnFF?=
 =?utf-8?B?Tm9nNDZ4b3plQjlVTUtSb2dOa3Z6OWhES1Njai9CNDg5RXZ5WTJVWjJxeVl3?=
 =?utf-8?B?K3VWSTFiM3JNdENSRzUyUDFhK2I2cnJ2bUV3VkhYQUFsbW93aGtWVGVRbUQ4?=
 =?utf-8?B?cWNndGlQbUhWSU1EbW1EaFM4ZldqS2h2SENidk9oV09JS2VqUXpNSUJDQ2Ni?=
 =?utf-8?B?UlB4SnEyZWE3dEtBajNwbDgwc2NWaCs1aUM4TUQrRmlIUlpTeDRtTnU0UW9K?=
 =?utf-8?B?eThmdEt2S2pzVFJnbWpHdDFaRnlCZFZTdzhuNzNYZk9qVGh4ak5SSzJMZHp0?=
 =?utf-8?B?ZHllRTV6RmhqOWh1cVlJaUVOd084Z1RMOGR1ckQ4OWw3dlEveGUwcFVGR05X?=
 =?utf-8?B?UWQwOE9wTytnL3FXd2IzSFFYMUNGMmdiLzhvTFROY09sY3B5dVFRM0daZ1Jv?=
 =?utf-8?B?WHhEUkVNYXlGZ2tTRWZVUUlhTWJiejNwUENCUFYrSldLQSsvdVJzMFJ0N1lZ?=
 =?utf-8?B?VERwbWw4YThhTitveVZXdm1IV1A5bDNiMldaQ1VadFdZMGJwZHdzMkdnd1Rj?=
 =?utf-8?Q?kvGbS0x0UvXt/+l7QFdaai9x4?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 623c4868-8194-46da-36bc-08dbeffd8b8a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 10:34:05.1092
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Fla6ULWxSMiMgcLLqikFOQ0bLgTcMhOjYFl4WfxG4WSMSXbu/lsyrZVYwLIC8IWmDKD2zmQbNQNuf0S0lg72mg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8844

..., at least as reasonably feasible without making a check hook
mandatory (in particular strict vs relaxed/zero-extend length checking
can't be done early this way).

Note that only one of the two uses of hvm_load() is accompanied with
hvm_check(). The other directly consumes hvm_save() output, which ought
to be well-formed. This means that while input data related checks don't
need repeating in the "load" function when already done by the "check"
one (albeit assertions to this effect may be desirable), domain state
related checks (e.g. has_xyz(d)) will be required in both places.

Suggested-by: Roger Pau Monné <roger.pau@citrix.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Do we really need all the copying involved in use of _hvm_read_entry()
(backing hvm_load_entry()? Zero-extending loads are likely easier to
handle that way, but for strict loads all we gain is a reduced risk of
unaligned accesses (compared to simply pointing into h->data[]).

Would the hvm_sr_handlers[] better use array_access_nospec()?
---
v2: New.

--- a/xen/arch/x86/domctl.c
+++ b/xen/arch/x86/domctl.c
@@ -379,6 +379,10 @@ long arch_do_domctl(
         if ( copy_from_guest(c.data, domctl->u.hvmcontext.buffer, c.size) != 0 )
             goto sethvmcontext_out;
 
+        ret = hvm_check(d, &c);
+        if ( ret )
+            goto sethvmcontext_out;
+
         domain_pause(d);
         ret = hvm_load(d, &c);
         domain_unpause(d);
--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -30,7 +30,8 @@ static void arch_hvm_save(struct domain
     d->arch.hvm.sync_tsc = rdtsc();
 }
 
-static int arch_hvm_load(struct domain *d, const struct hvm_save_header *hdr)
+static int arch_hvm_check(const struct domain *d,
+                          const struct hvm_save_header *hdr)
 {
     uint32_t eax, ebx, ecx, edx;
 
@@ -55,6 +56,11 @@ static int arch_hvm_load(struct domain *
                "(%#"PRIx32") and restored on another (%#"PRIx32").\n",
                d->domain_id, hdr->cpuid, eax);
 
+    return 0;
+}
+
+static void arch_hvm_load(struct domain *d, const struct hvm_save_header *hdr)
+{
     /* Restore guest's preferred TSC frequency. */
     if ( hdr->gtsc_khz )
         d->arch.tsc_khz = hdr->gtsc_khz;
@@ -66,13 +72,12 @@ static int arch_hvm_load(struct domain *
 
     /* VGA state is not saved/restored, so we nobble the cache. */
     d->arch.hvm.stdvga.cache = STDVGA_CACHE_DISABLED;
-
-    return 0;
 }
 
 /* List of handlers for various HVM save and restore types */
 static struct {
     hvm_save_handler save;
+    hvm_check_handler check;
     hvm_load_handler load;
     const char *name;
     size_t size;
@@ -88,6 +93,7 @@ void __init hvm_register_savevm(uint16_t
 {
     ASSERT(typecode <= HVM_SAVE_CODE_MAX);
     ASSERT(hvm_sr_handlers[typecode].save == NULL);
+    ASSERT(hvm_sr_handlers[typecode].check == NULL);
     ASSERT(hvm_sr_handlers[typecode].load == NULL);
     hvm_sr_handlers[typecode].save = save_state;
     hvm_sr_handlers[typecode].load = load_state;
@@ -275,6 +281,78 @@ int hvm_save(struct domain *d, hvm_domai
     return 0;
 }
 
+int hvm_check(const struct domain *d, hvm_domain_context_t *h)
+{
+    const struct hvm_save_header *hdr;
+    int rc;
+
+    if ( d->is_dying )
+        return -EINVAL;
+
+    /* Get at the save header, which must be first. */
+    hdr = hvm_get_entry(HEADER, h);
+    if ( !hdr )
+        return -ENODATA;
+
+    rc = arch_hvm_check(d, hdr);
+    if ( rc )
+        return rc;
+
+    for ( ; ; )
+    {
+        const struct hvm_save_descriptor *desc;
+        hvm_check_handler handler;
+
+        if ( h->size - h->cur < sizeof(*desc) )
+        {
+            /* Run out of data */
+            printk(XENLOG_G_ERR
+                   "HVM restore %pd: save did not end with a null entry\n",
+                   d);
+            return -ENODATA;
+        }
+
+        /* Read the typecode of the next entry and check for the end-marker. */
+        desc = (const void *)&h->data[h->cur];
+        if ( desc->typecode == HVM_SAVE_CODE(END) )
+        {
+            /* Reset cursor for hvm_load(). */
+            h->cur = 0;
+            return 0;
+        }
+
+        /* Find the handler for this entry. */
+        if ( desc->typecode >= ARRAY_SIZE(hvm_sr_handlers) ||
+             !hvm_sr_handlers[desc->typecode].name ||
+             !hvm_sr_handlers[desc->typecode].load )
+        {
+            printk(XENLOG_G_ERR "HVM restore %pd: unknown entry typecode %u\n",
+                   d, desc->typecode);
+            return -EINVAL;
+        }
+
+        /* Check the entry. */
+        handler = hvm_sr_handlers[desc->typecode].check;
+        if ( !handler )
+        {
+            if ( desc->length > h->size - h->cur - sizeof(*desc) )
+                return -ENODATA;
+            h->cur += sizeof(*desc) + desc->length;
+        }
+        else if ( (rc = handler(d, h)) )
+        {
+            printk(XENLOG_G_ERR
+                   "HVM restore %pd: failed to check %s:%u rc %d\n",
+                   d, hvm_sr_handlers[desc->typecode].name, desc->instance, rc);
+            return rc;
+        }
+
+        process_pending_softirqs();
+    }
+
+    /* Not reached */
+}
+
 int hvm_load(struct domain *d, hvm_domain_context_t *h)
 {
     const struct hvm_save_header *hdr;
@@ -291,9 +369,8 @@ int hvm_load(struct domain *d, hvm_domai
     if ( !hdr )
         return -ENODATA;
 
-    rc = arch_hvm_load(d, hdr);
-    if ( rc )
-        return rc;
+    ASSERT(!arch_hvm_check(d, hdr));
+    arch_hvm_load(d, hdr);
 
     /* Down all the vcpus: we only re-enable the ones that had state saved. */
     for_each_vcpu(d, v)
@@ -304,10 +381,7 @@ int hvm_load(struct domain *d, hvm_domai
     {
         if ( h->size - h->cur < sizeof(struct hvm_save_descriptor) )
         {
-            /* Run out of data */
-            printk(XENLOG_G_ERR
-                   "HVM%d restore: save did not end with a null entry\n",
-                   d->domain_id);
+            ASSERT_UNREACHABLE();
             return -ENODATA;
         }
 
@@ -320,8 +394,7 @@ int hvm_load(struct domain *d, hvm_domai
         if ( (desc->typecode > HVM_SAVE_CODE_MAX) ||
              ((handler = hvm_sr_handlers[desc->typecode].load) == NULL) )
         {
-            printk(XENLOG_G_ERR "HVM%d restore: unknown entry typecode %u\n",
-                   d->domain_id, desc->typecode);
+            ASSERT_UNREACHABLE();
             return -EINVAL;
         }
 
--- a/xen/arch/x86/include/asm/hvm/save.h
+++ b/xen/arch/x86/include/asm/hvm/save.h
@@ -103,6 +103,8 @@ static inline unsigned int hvm_load_inst
  * restoring.  Both return non-zero on error. */
 typedef int (*hvm_save_handler) (struct vcpu *v,
                                  hvm_domain_context_t *h);
+typedef int (*hvm_check_handler)(const struct domain *d,
+                                 hvm_domain_context_t *h);
 typedef int (*hvm_load_handler) (struct domain *d,
                                  hvm_domain_context_t *h);
 
@@ -140,6 +142,7 @@ size_t hvm_save_size(struct domain *d);
 int hvm_save(struct domain *d, hvm_domain_context_t *h);
 int hvm_save_one(struct domain *d, unsigned int typecode, unsigned int instance,
                  XEN_GUEST_HANDLE_64(uint8) handle, uint64_t *bufsz);
+int hvm_check(const struct domain *d, hvm_domain_context_t *h);
 int hvm_load(struct domain *d, hvm_domain_context_t *h);
 
 #endif /* __XEN_HVM_SAVE_H__ */



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:35:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:35:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642945.1002776 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vQl-0001ex-4I; Tue, 28 Nov 2023 10:35:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642945.1002776; Tue, 28 Nov 2023 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 1r7vQl-0001eo-1Z; Tue, 28 Nov 2023 10:35:03 +0000
Received: by outflank-mailman (input) for mailman id 642945;
 Tue, 28 Nov 2023 10:35: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vQi-0001eS-Ua
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:35:01 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0606.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::606])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c7410ee2-8dd9-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:34:58 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8844.eurprd04.prod.outlook.com (2603:10a6:20b:40b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Tue, 28 Nov
 2023 10:34:57 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 10: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>
X-Inumbo-ID: c7410ee2-8dd9-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=I/GB5xavGsit3C5KGxn6FretSoyY3qBHzDsYC4aRpAKcz96SqU7UZCK+qS3OtP/IlTrPdMo3+9i2OF6cM9z2oC10oq0E0s2VxqRlL32jZPYMHY99BI4kkmrrlFgx+jMumjFI54UavzUhTQBB/iec+5BHIRBW5QzSXfq3+GPum6hjpi5XbynBoTKs5D6ZxMfA2q44nIEjvEA0b0zFx+fWGl90ciRRoopuyRiTqF7u5PZwW7i/Ciq15nzRmnBjhwe29J9eu08KR08oPCdIJWc56i5xO0tGEfvUYg+nsMRIHO2Zaw7iAbxcakMA4IhebcCr5LILihiVbYSSTJz+x7i+ZQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VPblwhZxXKXmmMEQwPYJhq3BZo9HkDC2DOK95SX8Bhw=;
 b=RSAn5rkq266bpDOt1vQKrRrRiCn7+nGs1Oo6HtHLJNt0DDqQNaEYA6KJuX8Be/D6alhb6FlD9TGNDm6FGKghxOAs7lGmdxfykul0lq4K7o8fSb9sH0VLa5hy9Ae9rbjK8I4b1FASrcTOD1M5jKDPpRw+Zncjyy4p0vgyE1mvgtFRPyo3FaGO5ffzbgVnks5BsW+2AOKHkrhV9LHl89bpJ28vYn5J4eKX69PcCZP8P/e6xZyJ42cnuZ/ykvw7Ye46T1jhVko0T31bGuIBYwZQUtCwU6bOb12UUCveLCNZNLrxeK5rcKL/ruKYYENZW32q1878e0okb7YBou50FHtoNQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=VPblwhZxXKXmmMEQwPYJhq3BZo9HkDC2DOK95SX8Bhw=;
 b=u/oIFidpg4oE+dJb26v59hPJZANIgUReV3AsOa0yr5Ne/36uykVexqapAWn/JPwwE8q8378sxMtaGJiG+wgk0MegoKI74wE4HQhvhSf18RGzPeWjCBCwSMNy4bPtw8MmVGWmsJH8JlCU/XJfmGI5INJWjuaEdWjdkQVN/HGYJ4bZrSSIAEr+fDquGZgApseN3GfiiO16sgMaY/Q/SAvQjmodsPMNs/GNPVEcQAZvw0CxFWsLJlC9XSbwPLsGQupp+Zn4c3IO6mwv2oDWW9dxMGR7EuHEr7WxAe9ekqMnH2Hsbm1IqReujh0lndStkVXarCwcHmqxW3wv44LhWdEx5A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <dbd5bc8d-baf9-4181-8f75-6e8c4f2351a4@suse.com>
Date: Tue, 28 Nov 2023 11:34:57 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 3/6] x86/HVM: adjust save/restore hook registration for
 optional check handler
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>,
 Paul Durrant <paul@xen.org>
References: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0444.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8844:EE_
X-MS-Office365-Filtering-Correlation-Id: 09482840-8f91-4fc5-9f63-08dbeffdaac5
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	t2dPqKkbG8YOGiziGkBRGMxX++Fib838ObmeL+AiDZoIth8pQEAMQh5Fr8b89jpyEtYEIJhIOBk/jOoao5puvJggO+xa9G7Fp+JVLnbm8CCK//ZmOwzjUWYHdQujDqdPTY2LhjDCyDYaM92SO4EqZQtamo5+JtN2vZ8ZLyo3BPp4gfNB+x/2lQevImkymdmO5rfvkV56LbEU+9o35w/qNNo8MoS6tWh9XtIFo4tDLwgKsU0mfX74rmFL1cijxFRY3LkFQcN1Rpk2DM9cv9jColhqsRM2TjIQHXGWRTlUz6ajiKv6i3qCxYU0w5rFKnWKHi5a0pfqXesfMr9e4bRR3svoX5sU79OVKNXnCt0aphkhCRa8vAnOaBqkjGOhfjECQAZDKgoRVMFFlvbmZ+8lW7xroJc1/fV0lkFMWHWU8ILs9fZKZXfGUGzpTyQbhl7exmYvq43gwV+kI0DYw73fJGA7XSXai/8fcfPbKE8K0H2H2QlEhiAORBRtFyYcMEN221w43U4l9S4ZZtHh/SLwh99oyv0ZcFDgYF9hP+HrnWnBZtRLKC70s1IdZa0Da+J27KmuuUlae+Rrr1Tv8BwDq+WIjn7oxLn5EEwtQLWL4Ag8bF7G4TzQAz+MbDWyhfWME+PFFyzI87sCdZRsCHJ4lw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(346002)(396003)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(31696002)(86362001)(2906002)(5660300002)(6512007)(31686004)(6506007)(8676002)(4326008)(41300700001)(8936002)(83380400001)(316002)(54906003)(38100700002)(36756003)(2616005)(478600001)(6486002)(66476007)(66946007)(6916009)(26005)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZHlFOUZyUHNFSjU3QjdNYVpSallTMmdQSmlnMk83MTZTSGE0ZHZhOHhPVDBM?=
 =?utf-8?B?UGtLWUVveTIzYUhqeGlmUXFyZkdDeGxyWXh1NEFZT3JMd1dROEh6U2NJSFor?=
 =?utf-8?B?b3RQNHU5bGpwdXhrQjdZZWd2cEZTMyt3RzNFdWZmZmc4UjJ5UitmSU5janpj?=
 =?utf-8?B?dEozczVaUVBYWStkQzRodHRYSTlvT2Rudm1nclFzV1RoVGUvUys2NlpmZXYv?=
 =?utf-8?B?cWMvWm5xSWxXUWFoWVFNdnExTTYwMUp5am94R2J0cFU3UXV3THZhNHRLd1dv?=
 =?utf-8?B?eE1PL2xJdlI3RjZnYTdLSTcvUUNxWlozTit6Z0hJRDRTb3ViWEoyUmhzNWR5?=
 =?utf-8?B?aVFTVWtnWUlFU054aHpaZEZoSURTbEd4Y29CQTRaQkRjY2NGMnJvT3hxdEFU?=
 =?utf-8?B?RHB2OUxPVUd2ZytCVFRDOWNRbC9iVHBQTjh6S0JsTnFORGk4a1pBOUt1RnBM?=
 =?utf-8?B?YmN0V05PVFVqSzBvUnFiamJwMHNoeFNPTFBDK3JJSlpLcUd1SmVxNWZOK3F6?=
 =?utf-8?B?dkNBRUwzSWhNU2JYN1ZHWWJHR3kzS0FVN0U5bWUvRUVTbjhnY1lvT2FxWWkz?=
 =?utf-8?B?TkNiZ28xclNQUFRGbytjcTRjcU9TZHFhM1RvaGVJcEpEYWpwQWJ1ekx6ZE1J?=
 =?utf-8?B?cHZOYWN6bkorb1RFMXVnZ20ram8xS090V2luL0lTcXFXUUxUZlB5SDNoTDZp?=
 =?utf-8?B?Wnp3Rkx1eVVidGRkTHlibTVFOXplT2lqWHlzMXl3ZVNRQmcrOUlZN280UDlq?=
 =?utf-8?B?R0d2b01EU0xkUDlpejVNS3JXa2h0U0RDa3BmMHNGbnRpRlJpTjR6U0xoNU9C?=
 =?utf-8?B?Yjd4YTdkdFk4NU0zNTdLMThaMVcvcllQOU94NGJEOFU1OUdXU2ZXQWs3SHpk?=
 =?utf-8?B?eWdNODNjOWpXNEw0L1JBVTVyYUpsaFZFVWNVS0VaSjE2dEYzTVRWTjZwK3RC?=
 =?utf-8?B?NjZnL2ljUmE2NjJ5WHAzcW1sYzdianR6bmhXSXYyS3REUW93cTJMZXNXRHMz?=
 =?utf-8?B?Y1FXN01PSkZVcUppdHRkWEZvUEJMSWRianFwc2RrY1hwSjdTeTZBV1dCeUZR?=
 =?utf-8?B?bVhsSTI3YlpuNEtONWttNEJCOUFORGJVOWZMZk5ycXVKeng4YllTeUVFSFZv?=
 =?utf-8?B?WHE5TkF6bkI0Y2lNeXpsc0p2TE5XV0NFMXg3am96OHh5VVJuZFZTL2dHdUgr?=
 =?utf-8?B?NjNFa3ZNNDVGMDBVWThzdHJhWU5USThWR2pmek83Mkc5OXhiRmNrL20rUU91?=
 =?utf-8?B?anhmMGh1bkV3T2E1NTBBTXZYNE0vemFnd1NOdjB1OTkvQ0dMa0NjdFFsSGha?=
 =?utf-8?B?QUljNE56MlFBMzhvRUJDd1paOG10V2Z0M3Fvalo3UnRLYzFKMHRUbG5kZ3hs?=
 =?utf-8?B?YTYwblFieFFPcURTVytvbkdEWkVEclZGMUxwdURxR3BrcGZSN3JMQ1BKS1hS?=
 =?utf-8?B?SjZ0QWtTWUlsOTRMTVpqVzVybENtNk5qQnU2R0E2TkJibHpIRDk3VFFndWdp?=
 =?utf-8?B?RmZHU2Q5Mk0vbFQ3V0xjb0hLbkt2Njk1YWlpeHZ6S1dEbjV1cGlmaTFmMk5F?=
 =?utf-8?B?Vm5TTnVaeTRrbVA3Wk5Uc2I3dWJ2dk5wbXVTa29JZ3hYWFBLM3hFdUFldUJl?=
 =?utf-8?B?UzVDQTJYMFRrVzRuRy9jUVQvQi85aW4wMlRVYXZjQW5CTGJvVVl1Z1BxMWs3?=
 =?utf-8?B?ekJvek0rSkxRTHhKUFBIMUpQZG5neDN0RGN6QzBGNVUxampqT0l1ZmNweDdN?=
 =?utf-8?B?TzJzbXNyRkY3NEFaQ1lwQmlLUjFnTGJrT05MSEFZNkh2WHEvNHlwQXBMbUE2?=
 =?utf-8?B?cjVpejdOa0hYUHVrajZHYzFXOWVYYWlCSVA3RUUxMkxCWmpaTnVUM0d1T2hI?=
 =?utf-8?B?dTRiZ3dLRXhPYkx0NGpER3N5d0JWSWt5c0V2NHFlSmpTQjRaeTNyTG1aZGdy?=
 =?utf-8?B?cHR5a2RJNXFJc2VjSDJ6NVZ3NXZtMnEvQ3lTYzlCeWhmQ2VjTnZHd0poZklH?=
 =?utf-8?B?NkNZcE0zUWRJRFg2Z2xQSkROTWJIOExPME0xdjRwOGdXaFdMS1FmMHBhamEw?=
 =?utf-8?B?Z05OZmV1NVpBR0hYbFJ5Y3AwNTdaVDRmc0lqMXkwcU0zT1dTNm5DWUpyK0VQ?=
 =?utf-8?Q?cp7RZIU6UUUgreVh9JTbBsb2m?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 09482840-8f91-4fc5-9f63-08dbeffdaac5
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 10:34:57.4683
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: MO8lOy9zTZFWNXZUsmBa7A1ByF1CmiIAWUIBNtR8vITWKmwHb38zEP8cCE7JL+nRPhrSgQdClVzon1dgfAHfpQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8844

Register NULL uniformly as a first step.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
v2: New.

--- a/xen/arch/x86/cpu/mcheck/vmce.c
+++ b/xen/arch/x86/cpu/mcheck/vmce.c
@@ -374,7 +374,7 @@ static int cf_check vmce_load_vcpu_ctxt(
     return err ?: vmce_restore_vcpu(v, &ctxt);
 }
 
-HVM_REGISTER_SAVE_RESTORE(VMCE_VCPU, vmce_save_vcpu_ctxt,
+HVM_REGISTER_SAVE_RESTORE(VMCE_VCPU, vmce_save_vcpu_ctxt, NULL,
                           vmce_load_vcpu_ctxt, 1, HVMSR_PER_VCPU);
 #endif
 
--- a/xen/arch/x86/emul-i8254.c
+++ b/xen/arch/x86/emul-i8254.c
@@ -458,7 +458,7 @@ static int cf_check pit_load(struct doma
     return rc;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, pit_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, NULL, pit_load, 1, HVMSR_PER_DOM);
 #endif
 
 /* The intercept action for PIT DM retval: 0--not handled; 1--handled. */
--- a/xen/arch/x86/hvm/hpet.c
+++ b/xen/arch/x86/hvm/hpet.c
@@ -692,7 +692,7 @@ static int cf_check hpet_load(struct dom
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(HPET, hpet_save, hpet_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(HPET, hpet_save, NULL, hpet_load, 1, HVMSR_PER_DOM);
 
 static void hpet_set(HPETState *h)
 {
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -793,7 +793,7 @@ static int cf_check hvm_load_tsc_adjust(
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(TSC_ADJUST, hvm_save_tsc_adjust,
+HVM_REGISTER_SAVE_RESTORE(TSC_ADJUST, hvm_save_tsc_adjust, NULL,
                           hvm_load_tsc_adjust, 1, HVMSR_PER_VCPU);
 
 static int cf_check hvm_save_cpu_ctxt(struct vcpu *v, hvm_domain_context_t *h)
@@ -1189,7 +1189,7 @@ static int cf_check hvm_load_cpu_ctxt(st
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(CPU, hvm_save_cpu_ctxt, hvm_load_cpu_ctxt, 1,
+HVM_REGISTER_SAVE_RESTORE(CPU, hvm_save_cpu_ctxt, NULL, hvm_load_cpu_ctxt, 1,
                           HVMSR_PER_VCPU);
 
 #define HVM_CPU_XSAVE_SIZE(xcr0) (offsetof(struct hvm_hw_cpu_xsave, \
@@ -1538,6 +1538,7 @@ static int __init cf_check hvm_register_
     hvm_register_savevm(CPU_XSAVE_CODE,
                         "CPU_XSAVE",
                         hvm_save_cpu_xsave_states,
+                        NULL,
                         hvm_load_cpu_xsave_states,
                         HVM_CPU_XSAVE_SIZE(xfeature_mask) +
                             sizeof(struct hvm_save_descriptor),
@@ -1546,6 +1547,7 @@ static int __init cf_check hvm_register_
     hvm_register_savevm(CPU_MSR_CODE,
                         "CPU_MSR",
                         hvm_save_cpu_msrs,
+                        NULL,
                         hvm_load_cpu_msrs,
                         HVM_CPU_MSR_SIZE(ARRAY_SIZE(msrs_to_send)) +
                             sizeof(struct hvm_save_descriptor),
--- a/xen/arch/x86/hvm/irq.c
+++ b/xen/arch/x86/hvm/irq.c
@@ -784,9 +784,9 @@ static int cf_check irq_load_link(struct
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PCI_IRQ, irq_save_pci, irq_load_pci,
+HVM_REGISTER_SAVE_RESTORE(PCI_IRQ, irq_save_pci, NULL, irq_load_pci,
                           1, HVMSR_PER_DOM);
-HVM_REGISTER_SAVE_RESTORE(ISA_IRQ, irq_save_isa, irq_load_isa,
+HVM_REGISTER_SAVE_RESTORE(ISA_IRQ, irq_save_isa, NULL, irq_load_isa,
                           1, HVMSR_PER_DOM);
-HVM_REGISTER_SAVE_RESTORE(PCI_LINK, irq_save_link, irq_load_link,
+HVM_REGISTER_SAVE_RESTORE(PCI_LINK, irq_save_link, NULL, irq_load_link,
                           1, HVMSR_PER_DOM);
--- a/xen/arch/x86/hvm/mtrr.c
+++ b/xen/arch/x86/hvm/mtrr.c
@@ -773,7 +773,7 @@ static int cf_check hvm_load_mtrr_msr(st
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(MTRR, hvm_save_mtrr_msr, hvm_load_mtrr_msr, 1,
+HVM_REGISTER_SAVE_RESTORE(MTRR, hvm_save_mtrr_msr, NULL, hvm_load_mtrr_msr, 1,
                           HVMSR_PER_VCPU);
 
 void memory_type_changed(struct domain *d)
--- a/xen/arch/x86/hvm/pmtimer.c
+++ b/xen/arch/x86/hvm/pmtimer.c
@@ -300,7 +300,7 @@ static int cf_check acpi_load(struct dom
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PMTIMER, acpi_save, acpi_load,
+HVM_REGISTER_SAVE_RESTORE(PMTIMER, acpi_save, NULL, acpi_load,
                           1, HVMSR_PER_DOM);
 
 int pmtimer_change_ioport(struct domain *d, uint64_t version)
--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -797,7 +797,7 @@ static int cf_check rtc_load(struct doma
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(RTC, rtc_save, rtc_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(RTC, rtc_save, NULL, rtc_load, 1, HVMSR_PER_DOM);
 
 void rtc_reset(struct domain *d)
 {
--- a/xen/arch/x86/hvm/save.c
+++ b/xen/arch/x86/hvm/save.c
@@ -88,6 +88,7 @@ static struct {
 void __init hvm_register_savevm(uint16_t typecode,
                                 const char *name,
                                 hvm_save_handler save_state,
+                                hvm_check_handler check_state,
                                 hvm_load_handler load_state,
                                 size_t size, int kind)
 {
@@ -96,6 +97,7 @@ void __init hvm_register_savevm(uint16_t
     ASSERT(hvm_sr_handlers[typecode].check == NULL);
     ASSERT(hvm_sr_handlers[typecode].load == NULL);
     hvm_sr_handlers[typecode].save = save_state;
+    hvm_sr_handlers[typecode].check = check_state;
     hvm_sr_handlers[typecode].load = load_state;
     hvm_sr_handlers[typecode].name = name;
     hvm_sr_handlers[typecode].size = size;
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -631,7 +631,8 @@ static int cf_check ioapic_load(struct d
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(IOAPIC, ioapic_save, ioapic_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(IOAPIC, ioapic_save, NULL, ioapic_load, 1,
+                          HVMSR_PER_DOM);
 
 void vioapic_reset(struct domain *d)
 {
--- a/xen/arch/x86/hvm/viridian/viridian.c
+++ b/xen/arch/x86/hvm/viridian/viridian.c
@@ -1145,7 +1145,7 @@ static int cf_check viridian_load_domain
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(VIRIDIAN_DOMAIN, viridian_save_domain_ctxt,
+HVM_REGISTER_SAVE_RESTORE(VIRIDIAN_DOMAIN, viridian_save_domain_ctxt, NULL,
                           viridian_load_domain_ctxt, 1, HVMSR_PER_DOM);
 
 static int cf_check viridian_save_vcpu_ctxt(
@@ -1188,7 +1188,7 @@ static int cf_check viridian_load_vcpu_c
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(VIRIDIAN_VCPU, viridian_save_vcpu_ctxt,
+HVM_REGISTER_SAVE_RESTORE(VIRIDIAN_VCPU, viridian_save_vcpu_ctxt, NULL,
                           viridian_load_vcpu_ctxt, 1, HVMSR_PER_VCPU);
 
 static int __init cf_check parse_viridian_version(const char *arg)
--- a/xen/arch/x86/hvm/vlapic.c
+++ b/xen/arch/x86/hvm/vlapic.c
@@ -1591,9 +1591,9 @@ static int cf_check lapic_load_regs(stru
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(LAPIC, lapic_save_hidden,
+HVM_REGISTER_SAVE_RESTORE(LAPIC, lapic_save_hidden, NULL,
                           lapic_load_hidden, 1, HVMSR_PER_VCPU);
-HVM_REGISTER_SAVE_RESTORE(LAPIC_REGS, lapic_save_regs,
+HVM_REGISTER_SAVE_RESTORE(LAPIC_REGS, lapic_save_regs, NULL,
                           lapic_load_regs, 1, HVMSR_PER_VCPU);
 
 int vlapic_init(struct vcpu *v)
--- a/xen/arch/x86/hvm/vpic.c
+++ b/xen/arch/x86/hvm/vpic.c
@@ -449,7 +449,7 @@ static int cf_check vpic_load(struct dom
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PIC, vpic_save, vpic_load, 2, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(PIC, vpic_save, NULL, vpic_load, 2, HVMSR_PER_DOM);
 
 void vpic_reset(struct domain *d)
 {
--- a/xen/arch/x86/include/asm/hvm/save.h
+++ b/xen/arch/x86/include/asm/hvm/save.h
@@ -113,6 +113,7 @@ typedef int (*hvm_load_handler) (struct
 void hvm_register_savevm(uint16_t typecode,
                          const char *name, 
                          hvm_save_handler save_state,
+                         hvm_check_handler check_state,
                          hvm_load_handler load_state,
                          size_t size, int kind);
 
@@ -122,12 +123,13 @@ void hvm_register_savevm(uint16_t typeco
 
 /* Syntactic sugar around that function: specify the max number of
  * saves, and this calculates the size of buffer needed */
-#define HVM_REGISTER_SAVE_RESTORE(_x, _save, _load, _num, _k)             \
+#define HVM_REGISTER_SAVE_RESTORE(_x, _save, check, _load, _num, _k)      \
 static int __init cf_check __hvm_register_##_x##_save_and_restore(void)   \
 {                                                                         \
     hvm_register_savevm(HVM_SAVE_CODE(_x),                                \
                         #_x,                                              \
                         &_save,                                           \
+                        check,                                            \
                         &_load,                                           \
                         (_num) * (HVM_SAVE_LENGTH(_x)                     \
                                   + sizeof (struct hvm_save_descriptor)), \



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:35:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:35:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642949.1002786 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vRW-0002Hg-G7; Tue, 28 Nov 2023 10:35:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642949.1002786; Tue, 28 Nov 2023 10:35: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 1r7vRW-0002HZ-DG; Tue, 28 Nov 2023 10:35:50 +0000
Received: by outflank-mailman (input) for mailman id 642949;
 Tue, 28 Nov 2023 10:35: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vRV-0002HL-NJ
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:35:49 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2043.outbound.protection.outlook.com [40.107.7.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e511a115-8dd9-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 11:35:48 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8844.eurprd04.prod.outlook.com (2603:10a6:20b:40b::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Tue, 28 Nov
 2023 10:35:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 10:35: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: e511a115-8dd9-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nTY9VZ3FtFfNLLNf1tLwN6lFg/c1KOZELtmNav7n5bPB8zNgj43QoZN4oN4Ow0R52tG3Jmx2bCti4I3KmsO2JpmSciChaKNkbgqG1UwfYInDLVlt5XpE8B99r1Jw0DZU/auGqkLQ9Wsv/PrPDu8zJ2lvYBpZDN0OtCc6HoENnh8X7Pyu8KC8zs46eRSfUPxSASWapxWMxYyzDEYXTcTVe28ZHSs4rqRGU6Qj53FsIoJ0BNS4B1zP1qtaoGp9ScB+EZLhf2xtIf6E3WVh5BX4c2zgK26rS3PlF02xTlCoG80/+J9Vq8agkZlCAWP8LcYtmidqf3FV7zQIUArRsMDbAg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=a9/1l+ViIg+Ju3Vw0L1eHHvCH642HR7HZCOl2I/vlGY=;
 b=VyfwxxaoXlvKdU8n4BLRHyB6yvZkVY3i4bykJutSp/1Bs5aOylONNKN/H784IDk0jM00w2HlfWpXCt/OyYB2kE9S8AyeZCVH9lf7ARhImP2LEGnBQDaASVG7yv/QNohSjmB2ccbIAWrChNFfW6xqGynUMIDwtpyo5ds1FN4lTND3bZHy6K9VeKqQDtpqGoZF7sUufQrTOiiL2sZ+Z5wtdwioQClq27gDUPLRq6k9TVnzEVzJJvwC3Lz+d0+slPkXpa+nIXJZYSTsfYxdpS3D4SQ3JI8uiXmwFDKnPCzQEoY5iDfMqAaDvESy4uK0vq1qGtb1tLIwM4r+Ct5EhwGs8w==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=a9/1l+ViIg+Ju3Vw0L1eHHvCH642HR7HZCOl2I/vlGY=;
 b=HQXjIyfaMYcgjy66AqnuSRACYplrEefhMlDjdjyAcUJdJ0CVu01mb9znvb9F+1F40N5mU5MmeA+sWxyxpc66nFrgRDSRpf8wFjMoKUsgMvNpl7gkrzLUGs3VInmxKJkH13/lvE6iMAhSrArHsrpcgxSdNwcHMxGEuNwqorPpuiOReNKvp2KiWc8MOReF2NzMUP62RrkYL61AQQZ6c1J9NHxqc8RGXS7rU6bo1jCxzuLJdBJsGomj8aufxKYjNU3PHQcPa+ocZJudLLzPRBFBF5++PP/LS4aRTQQg05fSCdoDwGEPU0QvSEhjncmBgVlTpBYp4+D9GvTUK7LWPdR6ug==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <cf1ff132-878a-4cb6-8eae-1995a78576a0@suse.com>
Date: Tue, 28 Nov 2023 11:35:18 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 4/6] x86/vPIT: check values loaded from state save record
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: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0444.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8844:EE_
X-MS-Office365-Filtering-Correlation-Id: 4da09ffa-6143-47c3-4b43-08dbeffdb7be
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iXNWD1FmDPjz0f923BEYB20iueGRpWcff9PlMURHPL2qBDeqNXU9ApeWDsirgWjHbIu7fDnXSK2BD/I2fGHR3/7YQFps9j1FpG5nG7zQ26mSlR+OKZDTah2uxC47IhUmt73qo6pZVPBqbwyMxxd6ghnHwLNPkG0tNj/v5I/qjM35t5/5irT75abEAqDYqDesCejxb4RsG+DIhsFrAwlkTjVkUITiGL/znAwqDGTBOOUVMFGTRtxfIR1RAXz4CJ6uIe7rCz5I7SMKa1uvpo7N8xzO0ucm3aX6SEkePLI0HfdUcUVwE89UeTIMnOo9NIyiOGtdH3wAceg/c3IT52tBG+8Q5ve/RculWIKeQSeXebWSLatWHNAF4+jHp2E6mgQMb9XGtAIZsJOiaN95O2f5RjSbZDszexolEX4G+CedBASTKcZU3eqjFkpMwlMWHI96uQfBkLdKVL0deyFqHZBI9NDDQg4BgjLC0EKaKl/Oox5n6OptwQlIJQ5sldfVH8j9cpt38vurOser4+3lKh1QW2vFvzLnu1qvw+8PonIOFHZwiezBoGRXKK0Tkf5Cwxg8EkpsDl1svzogP2jjJ3H3Fe3q0Bc5TscKtk5BX6bunOIowU39eNmKTUH2Q162+gWuSGhC3XcRQswqJ1yxsAsuOg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(346002)(396003)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(31696002)(86362001)(2906002)(5660300002)(6512007)(31686004)(6506007)(8676002)(4326008)(41300700001)(8936002)(83380400001)(316002)(54906003)(38100700002)(36756003)(2616005)(478600001)(6486002)(66476007)(66946007)(6916009)(26005)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MnJFTE91anNEaVpNMjhyM0o2c2lLTGtlYkJFUHRVZFQvVkVNOXptRTBpYWZZ?=
 =?utf-8?B?VUplU013aWs4ejEvOGV6OGZFVWNaNWRYR2VyZ3NzVlBpMTFnTDVzSm5jWmIv?=
 =?utf-8?B?Qzc1UklHTWdleWd4TllFV0k2UVZ2bkdqdCtaRWx3RFB2Vk0rZ3VVb0hZMFRy?=
 =?utf-8?B?Tk5zNXd1RmQ3OTY5YXlTNCtOZnV3QUxTR2FoajN5cS85bU16cW9QVkhvVHBE?=
 =?utf-8?B?WWhxUWtOdzAzVElmLzFDOVJLRUxVd3JmbFlTUTFzeElSa2ljVW0xcm5uaG41?=
 =?utf-8?B?a2d5blJEaGEwcEtZNzB5cmZsWWpWQWlub1lpSHVkZGRxQjQrN2NRdnB2VjE5?=
 =?utf-8?B?U0VGOUdLL2xuOUdCMllxcGtzcU5EQy9WR0N4YWI2d2JLVW9GWUdhWE1pUzdx?=
 =?utf-8?B?eVM4YmhHMmlmUGl4TGhYaUF5M2wvMi9DZmdCNi9MczVpMHNJWGc2NktKRDBz?=
 =?utf-8?B?MHp1b3JmOFR4dTA5cThYaVVMY0pxWUJFV3VQQkpPaENmZlJRMFZ0eUZxcTdy?=
 =?utf-8?B?RElFK0pZY3h0WXJJaE5xcE9jWGgyaVE4MTVnZU56dXc2dDc3cjh6ZjhyLzgy?=
 =?utf-8?B?bTEzelRtc3RmVmtFVlJlaURPL3cxam1kUmkwdlRNaDc3V1BKQ0ovRm1kaitV?=
 =?utf-8?B?Yjd2ZEVzSWtUL0lXTnlTVzhjVUxWQkxhOUV4T1JRdTZFbDQ4N01CWGRoV3Ux?=
 =?utf-8?B?SXpsSkFxV210QlJ1dEVCVU9RL1Y3RXcwYjVkR00xQzd4cFJQVXhKUzVXNVZo?=
 =?utf-8?B?T1dYbHBraDRIbW9kUnhTekJ3TW1MeFQ1TDE3ZDhTdVMyclJ6WVA3d2VDWmhx?=
 =?utf-8?B?Nm93OGVyNDRkZTA0eVZZR0ZKZnpWOXdNZVB6YU5DZG5HUERpZzMxVm1tUmVH?=
 =?utf-8?B?SUxEUkVaOFZ5eFhIWG5hV1hHaXNObnl0REk5cGtVTFlyY0RyQWNCMEJDVk1G?=
 =?utf-8?B?bHFIRHRnTm5BaFZqcEhzTUlobkduZXpEbFdZcUYvOUJxNU1qMXhjZjBFTWJt?=
 =?utf-8?B?M0N2VDg2VzMvdUIycHM2akVXWGpLRzF1dWdxbDFkY29wTzRaaVQxMDZDRG40?=
 =?utf-8?B?a3lyT3lzR255WVFRYXlISHZoSWpyZEVaaFJEMy9CalVDLy9mUVNkZ21vNzRr?=
 =?utf-8?B?VEd3S3kyUnRKSW0wVEN2YVhPWTE5NmpVWDVYa2YxdWtCRmp0VTJ2YlBGSTUv?=
 =?utf-8?B?MVpMSDNUaUl4c1pGbit5MmtUYzc5amR6RE05MVBGWVlvMU1ZZldvZkI5ZGxj?=
 =?utf-8?B?em1JemFMdnE5Zm5zTGloREhhNEUwa0NBK05vNEUzS2E5UEl0Y0s5Y0hJSU9R?=
 =?utf-8?B?TzErcWJiS2czNEpwSlJBbGdZYzFtNGxkVVJmTUhWWXNFMGRxQmFYb3lDOTIx?=
 =?utf-8?B?ZDV5Z2QwdlRKTzNETjdWaVBzVE04UXpCTjk1M3BvZXcxSlVoTEZlRG14UVk1?=
 =?utf-8?B?Ulo2U2xsT2pWbTNpbWpzSkhNOWdZR0dmSTB3djMrblpDS3Vvcjh0ZkxXZGx6?=
 =?utf-8?B?WGZ6ZUhJOTMwbHUzbDZQNjl6ZDFwMG03MUxRQ0dLdzRycVlEcHE1U0tXamU3?=
 =?utf-8?B?bVo3S0FGV0dDQ05MMGtEb0VCa0ttMEt1WEcrYndiZTAvK2xoTzVpbDQrdVBk?=
 =?utf-8?B?bFBBUzRjN2hYVlY0Vy9XdVBUWnA5RWdqcFJmaW5KUHJZejZta0ZaRlovV1E4?=
 =?utf-8?B?bXlQRmlXaU4zamJyUXRoWTZSalAvTnFVQzF6U2hZRGNTNEtMMVN6anNyUDhx?=
 =?utf-8?B?NCt1cTZNMFk4Q2h0RjVSUE1zdjArN1NQZzRweVZTNFJqNmRlbisvVndyZ3Z0?=
 =?utf-8?B?MHVNTWVMaG00TDg2dVNmZ1pFZ3JGVnJBblJLRUt3bDd2blFhZG5YYmR4VW1l?=
 =?utf-8?B?Mm1kQk5GZlZFRVJQc3ZrU05HYTdSekYyb082RXUrYzJGOXB5VEh2WXJ3QSt6?=
 =?utf-8?B?NmVIRnlEN21pd29DMjZkTDM3ckRNUWUydktmeHY4ZDZpamVITzgwblFFd21t?=
 =?utf-8?B?RE4zMUU2alQySzdDRlgzcFFRZE1rSXBkeGVQL1k2K3R3SVQ2NG9HMEV3ZTNF?=
 =?utf-8?B?V3ZNWHMyQWo5eTlWb3ZOUm9KMTU4NlVUSnY4eEZ2eERnR21oRWd2cmNpWTh6?=
 =?utf-8?Q?F6ktacHrOJG/MmlgQC5vy10m0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4da09ffa-6143-47c3-4b43-08dbeffdb7be
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 10:35:19.2332
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: D9dMEiegVL26VEHoGUtEuntx9NjLCoeimn1EkVE05YZZpP76j+78Lozx9QBQQRQZYtH6tvdnLpmfZ+Z2piXfqQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8844

In particular pit_latch_status() and speaker_ioport_read() perform
calculations which assume in-bounds values. Several of the state save
record fields can hold wider ranges, though. Refuse to load values which
cannot result from normal operation, except mode, the init state of
which (see also below) cannot otherwise be reached.

Note that ->gate should only be possible to be zero for channel 2;
enforce that as well.

Adjust pit_reset()'s writing of ->mode as well, to not unduly affect
the value pit_latch_status() may calculate. The chosen mode of 7 is
still one which cannot be established by writing the control word. Note
that with or without this adjustment effectively all switch() statements
using mode as the control expression aren't quite right when the PIT is
still in that init state; there is an apparent assumption that before
these can sensibly be invoked, the guest would init the PIT (i.e. in
particular set the mode).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
For mode we could refuse to load values in the [0x08,0xfe] range; I'm
not certain that's going to be overly helpful.

For count I was considering to clip the saved value to 16 bits (i.e. to
convert the internally used 0x10000 back to the architectural 0x0000),
but pit_save() doesn't easily lend itself to such a "fixup". If desired
perhaps better a separate change anyway.
---
v3: Slightly adjust two comments. Re-base over rename in earlier patch.
v2: Introduce separate checking function; switch to refusing to load
    bogus values. Re-base.

--- a/xen/arch/x86/emul-i8254.c
+++ b/xen/arch/x86/emul-i8254.c
@@ -47,6 +47,7 @@
 #define RW_STATE_MSB 2
 #define RW_STATE_WORD0 3
 #define RW_STATE_WORD1 4
+#define RW_STATE_NUM 5
 
 #define get_guest_time(v) \
    (is_hvm_vcpu(v) ? hvm_get_guest_time(v) : (u64)get_s_time())
@@ -427,6 +428,47 @@ static int cf_check pit_save(struct vcpu
     return rc;
 }
 
+static int cf_check pit_check(const struct domain *d, hvm_domain_context_t *h)
+{
+    const struct hvm_hw_pit *hw;
+    unsigned int i;
+
+    if ( !has_vpit(d) )
+        return -ENODEV;
+
+    hw = hvm_get_entry(PIT, h);
+    if ( !hw )
+        return -ENODATA;
+
+    /*
+     * Check to-be-loaded values are within valid range, for them to represent
+     * actually reachable state.  Uses of some of the values elsewhere assume
+     * this is the case.  Note that the channels' mode fields aren't checked;
+     * Xen prior to 4.19 might save them as 0xff.
+     */
+    if ( hw->speaker_data_on > 1 || hw->pad0 )
+        return -EDOM;
+
+    for ( i = 0; i < ARRAY_SIZE(hw->channels); ++i )
+    {
+        const struct hvm_hw_pit_channel *ch = &hw->channels[i];
+
+        if ( ch->count > 0x10000 ||
+             ch->count_latched >= RW_STATE_NUM ||
+             ch->read_state >= RW_STATE_NUM ||
+             ch->write_state >= RW_STATE_NUM ||
+             ch->rw_mode > RW_STATE_WORD0 ||
+             ch->gate > 1 ||
+             ch->bcd > 1 )
+            return -EDOM;
+
+        if ( i != 2 && !ch->gate )
+            return -EINVAL;
+    }
+
+    return 0;
+}
+
 static int cf_check pit_load(struct domain *d, hvm_domain_context_t *h)
 {
     PITState *pit = domain_vpit(d);
@@ -443,6 +485,14 @@ static int cf_check pit_load(struct doma
         goto out;
     }
     
+    for ( i = 0; i < ARRAY_SIZE(pit->hw.channels); ++i )
+    {
+        struct hvm_hw_pit_channel *ch = &pit->hw.channels[i];
+
+        if ( (ch->mode &= 7) > 5 )
+            ch->mode -= 4;
+    }
+
     /*
      * Recreate platform timers from hardware state.  There will be some 
      * time jitter here, but the wall-clock will have jumped massively, so 
@@ -458,7 +508,7 @@ static int cf_check pit_load(struct doma
     return rc;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, NULL, pit_load, 1, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(PIT, pit_save, pit_check, pit_load, 1, HVMSR_PER_DOM);
 #endif
 
 /* The intercept action for PIT DM retval: 0--not handled; 1--handled. */
@@ -575,7 +625,7 @@ void pit_reset(struct domain *d)
     for ( i = 0; i < 3; i++ )
     {
         s = &pit->hw.channels[i];
-        s->mode = 0xff; /* the init mode */
+        s->mode = 7; /* unreachable sentinel */
         s->gate = (i != 2);
         pit_load_count(pit, i, 0);
     }



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:35:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:35:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642950.1002797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vRY-0002dt-Ol; Tue, 28 Nov 2023 10:35:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642950.1002797; Tue, 28 Nov 2023 10: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 1r7vRY-0002dm-LM; Tue, 28 Nov 2023 10:35:52 +0000
Received: by outflank-mailman (input) for mailman id 642950;
 Tue, 28 Nov 2023 10: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vRX-0001eS-RM
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:35:51 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7d00::625])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e5e7f392-8dd9-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:35:50 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7542.eurprd04.prod.outlook.com (2603:10a6:20b:299::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 10:35:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 10: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: e5e7f392-8dd9-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FGeFkQQbLFFdgMdSho8eUSUNigoSxg9ObsTNc1LQ1RCbgSvaTD5L9x2Jm4JZt6Dw8aOqFWYXB92L0Hp3lRbEQjVsHdcw4G4z3XZkgwMhS10XXDng2PssWdbRng4MwOeq3aOUShuPXYR1jRS8CA6pSwxWiY3lEv9eH8tjmcjdf07MouPE5rqJVrQYJeaWcWDyoksdJFE8iL1/VN5Fr6ptdJDe+fvXy3ARO8xcFjO4IL6XE2M3WrwFDAoY5UriYqc+eDDPr1//8GzDGWYPVBxQp6/sCAEc66bRj6NVoHJbQyNcvE3NR2MKiXmIGZQtGhAYwbV3oLqrD+OCSi6hyLL5TQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=oBwVLYxteBvFvzJ5zFgWT14OipIYNoUnky/Sn7smcA8=;
 b=ktWX6Ce66aMMDt5vKF+rO+byyM/9oe2B4gZKRQCMr3Zmn3/dZSsbXt6xBUvQTm2P1Jc7XiD3gK00w7uuUiPGEPLA2Qk2aGnA8WahZXWz/BfuK48hvsV3fjJ/dCti9X+iIb69IOT8hp8A1OVx7aXvpkdgUoXkr/QlOMcPr3eHf1y8q2fXg1IRi+dx2DmXwDazj1oa3XslHWtCxgtcEcrbblDkucHDT62xGVyXLzJ0GnbIY37+884qPq5YomRBBph4KDMEkeYEK3dj8YvOmmu/8HyIgAE47/lXgfl/GvQZg3dhewTkBK9kdjAua3g5U+YnYteWa7qqHFxEMSQQLiH9oQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=oBwVLYxteBvFvzJ5zFgWT14OipIYNoUnky/Sn7smcA8=;
 b=VCVfNlkJqQSkL6IvZ5UrznDioBxMTzT5YwsJpomNi4SU2d8YTHSItW9FqccxnEn2FIuA3Zb6pjtBx7PY5k38La43GVZ1/paJH6DIqdW5H7O3jT0PZveJJ1X0k2YGfHFaWG1hJfss1hNWr8paHjaqac1mthhYNZHwUi+voqtJ9/N1JxquGe7T6a8fOwgICm695xCKoH08tTJZz228dumS21D1nPyRKYwAmbwPKtw2ZqxiEAN5wqJq771v0ppI4U3iRGmq+MgzE1suvBj9NQsyS2YsCsNP7jO/Ku2YEhSwgLI2x+YFPbezdZ1o8DG1wEwSLYbriojFsM7d47Vjkk2GBQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <09fc4c14-07e8-4e59-a23e-bb295125f25a@suse.com>
Date: Tue, 28 Nov 2023 11:35:46 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 5/6] x86/vPIC: vpic_elcr_mask() master bit 2 control
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: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0444.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7542:EE_
X-MS-Office365-Filtering-Correlation-Id: 1f3085dd-4f66-4b88-8f68-08dbeffdc876
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GcPMZ77MdVEpY8j0NVIXvuz/ILe3um0x9FYqKLuKhpGnhvOvvHAtj6zakUK87qqHEIYH3mxn23OnpdBtWF8FLc3CdUu4gskSiCFtBg4S+pVWTOveAxr+1RKguiXXjBIjlk6WgivOZm3IFzUQ8T6zNwyHNbwgH4QHYy9uO5M2eZAAeITiZc3iyu+OCZknc2oFk0qN188gyY6PRLM4SmmWY11tYLowvA7L7fnNflVeJRYSg2nlTDCdBEqIrOWtNVhGqlG9dc65mRgBYt1I9Nh8hPVPxRLmpD7thg40QCkkSSAu8QPFhvMCd0y+Gouk7nMZoAo81oNzch8VZ2qNvYHuzKqryHL9DQAQg1zT/auPtB120mKCkdZ2scu17cgCJja4NjhAov0Z/KxtqWBx2wojSmZS2bXlTzGdDbPxfl49U3tW94tNDYV40+bSYGUUR5hdOh8Csv2BXIh7H2Wv5jAngqcsnlsAfMSWUZ3rsYbkFQmrHLn64ohp7FmoL0MgO975JWRtvdrCO1LxfJkjaWcUPtc3qFoNTcFQuK7/lsmhA70gWLflFHJnJq5f8hkFTapEn6me4RqRQ3kcImw8+k/bxLF+2a069nFt3ntYcaUusAJvyBoV6rr8VBxXDglFbZK7mvKphCvKVfNW1ha8Z+c3WQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(39860400002)(366004)(136003)(396003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(31696002)(86362001)(83380400001)(6506007)(26005)(6512007)(2616005)(31686004)(36756003)(38100700002)(316002)(54906003)(4326008)(6916009)(66476007)(66556008)(66946007)(478600001)(6486002)(5660300002)(2906002)(8936002)(41300700001)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZTc0dnY4ajl1SFR0dnk3VFdiNmxvRlNlV2YrVmEzU3pkbHM1ZGFmMDBWekxP?=
 =?utf-8?B?NnJQVVNLUU41c1FaLzZTbmJVMTh6dHFteFNwdjdJSmUydjZsNjVKNldFNWp1?=
 =?utf-8?B?UjRYWWVFT0I3WGVaK3ZQc1BYVG1QdHJUUWN3YXJSNGoyQzlxaG84RzJCbWJM?=
 =?utf-8?B?UmJQWC8wK01iYjlPWGlMZlpsWmJ3a0dTemc1M0VhT0lydVlGMCt2cDhpVmtz?=
 =?utf-8?B?MldZMi9lY0NjeVpZdnE1cVVTazdWdmN0cHE1dDB5cWQ5WGdPb1czWkZzMEtW?=
 =?utf-8?B?RWtpMnZOaVVObEtFREVUY2NzL01aN1hodVBlQ3QvWVJwR25wWkV2NXMxZTQv?=
 =?utf-8?B?WGZ2eTNVZ2NzN0xwTlhiRHJaQkhzdlY2UVBnZ3BMTjlUMFM1WHAwSk0rYWpl?=
 =?utf-8?B?bmMwNnlycjg4SWJ3M2VQQXQ1REowaXZMUUQ2WHR1NWY4dmtQVm1LUE90V3l6?=
 =?utf-8?B?S3gyQ2UrSU96dEtmbVAzWmpzTzZFemg5bnRCUmRLV29oLzlhbExJcFNPcnBt?=
 =?utf-8?B?UmlzZ3A4aUpYQkl5WlFrdUgrak00YUxJeFpJaGJTNEg2TVBwcXpWQzVuelhW?=
 =?utf-8?B?VXEzN01Dcm9wcXR1TFNDOU5uTHA3YU9SOThiaE1YbUVMaDRSOE9sNEV2UXdQ?=
 =?utf-8?B?MGd1aWwzRFJFSHNYRTlVTWVyOTlyMEtLWkgrTUJReUQrNlFEZjNXc3NSMHlW?=
 =?utf-8?B?YjlZb2cwTFpQM2dSWmN0M2N5VW5FK0phdjZtNkQyd3dNdVdwLzYwMUpDWUpV?=
 =?utf-8?B?OTFqeDZYTkxjdnZkelVIbjFaOE1kS2d6OGtEcnd4eUFCN202aXBETmwyeC8w?=
 =?utf-8?B?S3BHMzdwVmlIcmVSeHhjb0NERDRHRkRiRWhveko0WENSZjh4L2FzL3hUa2lP?=
 =?utf-8?B?SkVrZTU4dzhQakdEU1YrQUlwVHM3NmRqQ3IvcVo1TDB3ejFWWUU2TXE1Mkhp?=
 =?utf-8?B?WnprT3JPVHF6ZXRlS21NeFEwdmhLOEJQUWljNXBVLzIxWU43cTZKQ3p1UHhJ?=
 =?utf-8?B?bHg5bUtGT1paK3N0WW8vTzVtRUVRQ1dCdjJaaGVvUDVpRmFNdVNrWmJpTlh3?=
 =?utf-8?B?djhVZ3dZZ2ZlTmRCeC9xclFsV0NrSEUwK1BSbnYyWTI5UThya2EwSWpxQVdn?=
 =?utf-8?B?dDA0NG1iVFc2eThtOGpvR1VuSElLOHFLci9pNTlrek1xTEFJdkVrbXNXcU5V?=
 =?utf-8?B?Q2NkdGpZZlR5MFM3T041bzBRcS9QZkJSSEdKSnFLYzNiSnltWVdQZGU1YTU5?=
 =?utf-8?B?ampodGhWNmN3N2NVYS9wMEc4Qi82aTFCY0JNZ3hVWnJRN2M3eXBNdWwweFZy?=
 =?utf-8?B?WFY4a3JpUmpHZVcvcnFsdkVraVRSY09xSnpmczY4VjgwbnBtbnFTTlZSaFRh?=
 =?utf-8?B?OVpmb3QxRkdET3YrWGxVRWErVWdXR3lSV0JkYm5wUEhSb0xLZWttSUNDOVdO?=
 =?utf-8?B?Ui9OZXVobGdjSXA1U05BdjFvVFF3bnYrbno4SzNRRlJ2MzlzQm51ZEFvWTZL?=
 =?utf-8?B?akdZMjNtT3J3cGJvcVNGSWM2OHlkVUxVZnVkZ2xuYmp3SHV4aU5Uclo2V1RF?=
 =?utf-8?B?NUQwZ1J4b2c5OGd5M2ttZms3b2o1VGFPRTJGU1RtNXZDVnh2cjJNSGF4MjRV?=
 =?utf-8?B?NzZpUWs2S3p0UXdTZllRL1RHYkhTU3F1a3I4TzBDTkxsUHd6V0VKajFWMXlU?=
 =?utf-8?B?NGNsdU80TGx6eXJKdDEzU0FBQmFpVGN3aUtWTVRmWXljS2tpR2VrVW9HRWRo?=
 =?utf-8?B?VEJROHBabExjcmV1cUROUGVYQUIwR1VzL1I1UXhYdEN4UXUvS3lvaXhmMGFv?=
 =?utf-8?B?bkg4YkNFZTMwTjV1RGtEbTBaOUxoNzJzVEJIQTFaYlEycWh3K05mc2F0TldV?=
 =?utf-8?B?LzBrVmg5NUxWMkxIMnJRQ1dhd2NNbU50ODdpZUF4OTJyZ0Iyc09zRmtBYlJJ?=
 =?utf-8?B?MkwvVlRUOHcrWXFOaUNEeHBOamdNODRhek1QUnRPcnhLWnNUY1YrSWl4cmU2?=
 =?utf-8?B?WjhOV0hjRUFkV3dsZ1ptd0lNdGFObEhqdTU1QUo5NGlWdE0xRTZrcnE4SU5J?=
 =?utf-8?B?bXNFcDFDeTROa1FReXVKQk9lbFZ3MWg1Q2Iwc0FIajhZRnJQditYQnZZV3NL?=
 =?utf-8?Q?G0Ftr4znpCr/2LER4DFbZP1TG?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1f3085dd-4f66-4b88-8f68-08dbeffdc876
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 10:35:47.3135
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: rjF7BD+Ezlv/OduflxeWaBcQrP+fLq1nI2B9/zfvPLjiHCMBMcJmWWGo6/nf8Fvu3l8/SqgmlNDWdkkbOI8Y0w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7542

Master bit 2 is treated specially: We force it set, but we don't expose
the bit being set to the guest. While right now the read and write
handling can easily use the fixed mask, the restore input checking that
is about to be put in place wants to use the inverted mask to prove that
no bits are unduly set. That will require master bit 2 to be set. Otoh
the read path requires the bit to be clear (the bit can have either
value for the use on the write path). Hence allow use sites control over
that bit.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: New, split from larger patch.
---
I'm certainly open to naming suggestions for the new macro parameter.
"mb2" can certainly be misleading as to Multiboot 2. Yet "master_bit_2"
it too long for my taste, not the least because of the macro then
needing to be split across lines.

--- a/xen/arch/x86/hvm/vpic.c
+++ b/xen/arch/x86/hvm/vpic.c
@@ -41,7 +41,7 @@
 #define vpic_lock(v)   spin_lock(__vpic_lock(v))
 #define vpic_unlock(v) spin_unlock(__vpic_lock(v))
 #define vpic_is_locked(v) spin_is_locked(__vpic_lock(v))
-#define vpic_elcr_mask(v) ((v)->is_master ? 0xf8 : 0xde)
+#define vpic_elcr_mask(v, mb2) ((v)->is_master ? 0xf8 | ((mb2) << 2) : 0xde)
 
 /* Return the highest priority found in mask. Return 8 if none. */
 #define VPIC_PRIO_NONE 8
@@ -387,7 +387,7 @@ static int cf_check vpic_intercept_elcr_
         if ( dir == IOREQ_WRITE )
         {
             /* Some IRs are always edge trig. Slave IR is always level trig. */
-            data = (*val >> shift) & vpic_elcr_mask(vpic);
+            data = (*val >> shift) & vpic_elcr_mask(vpic, 1);
             if ( vpic->is_master )
                 data |= 1 << 2;
             vpic->elcr = data;
@@ -395,7 +395,7 @@ static int cf_check vpic_intercept_elcr_
         else
         {
             /* Reader should not see hardcoded level-triggered slave IR. */
-            data = vpic->elcr & vpic_elcr_mask(vpic);
+            data = vpic->elcr & vpic_elcr_mask(vpic, 0);
             if ( !shift )
                 *val = data;
             else



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:36:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:36:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642954.1002807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vSR-0003pA-1S; Tue, 28 Nov 2023 10:36:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642954.1002807; Tue, 28 Nov 2023 10:36: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 1r7vSQ-0003p1-V0; Tue, 28 Nov 2023 10:36:46 +0000
Received: by outflank-mailman (input) for mailman id 642954;
 Tue, 28 Nov 2023 10:36: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vSP-0003ol-SY
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:36:45 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20610.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::610])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 05fdd8b3-8dda-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:36:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM8PR04MB7892.eurprd04.prod.outlook.com (2603:10a6:20b:235::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 10:36:41 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 10:36: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: 05fdd8b3-8dda-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cT615HDANPn3mdWsUtz3g1EaauoOW+DPjRwzVYNhnaWXIHbAImkYdoZjoTsa2XhNfddQd515nc0Q96UH38vuj3SIuyo6zH2a0o21+8X5hgE/v3yrx/EW4QGPUfTt7kOsy/igzr2BOWFRwmhe1J6Qpk+KhawkcPs5n8f7OIwxnPzYueWYuYdNpJn/mhIve5Gy3AhGXDw+TG2i7+17yTCk2tuUwKw4S4BO1u1NrpGLz+ffQP+s1md6MTBDwzH0x5tgw6JiBjKGAoHN1pXxxlo/b23VfAvmaHPc0Qa5QvNVK0jdWsCPH24VYm8W5c25SM0FyhRWQW9zIinZE0D77TIGSQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZxXDsWRhWG5TXSiUXqk5nLYM1a+YTnq7opN/8DGS2lo=;
 b=A0P8peg6bUhEtZykludjwbjmslSWYv0xMyXiQoUvuU4yJRMctDecgKKNxcbW5oupA/rwaWifbTm0PvzpAlpQtuP6NIS9U8/vf6vqBUf75SZSpnFroFelSEGERjGjhTXMFtZlSK2BMG3BVOQdo5HMydpiFncbD+TEarlDAIpFgTjbJ7nmCmLUEHvNJ1varFICmtS1ErjFyNP+RUG1tHsyceOWEo4AwzFE9lrtaQWZIAPMw5hOj780AddWTVGUzPxsqmHlICj7gAbqTFGDs91959td0zPUPRRZz9V8IWndHD0KtlHZ/iT/7oiTTZpgYYsGC2/EAv11B7B+n9TayUF0jQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZxXDsWRhWG5TXSiUXqk5nLYM1a+YTnq7opN/8DGS2lo=;
 b=ALGj4jRuLzq9w3KcVOMqAy3jGMS2xmRKELBXyciDCo31KS/ozS4peQsK/SeSwQIeprhJS+RemJQUjmFM6PnRuTAH5Fi1FOdr1IklQypzxCXibVPvdZach4umMt/dJmPsvQMvEcnkZGn1ArRMMLmAgXn2yAbyAhL4BwBjaviDLHsY8ztHeGQtNW3+3yItr6LZdiQzMhURMmOOviekNXMKd4c0Tb4Nyb53k+19aGCofkbgbH+Tr0mrQOb/FpN4Uk5bt0H6ovW1o9DTSntNVF3HWdLXnhKAIQnv8Y8st/eXBRs0sNHnngoRgRjCY5E7eh8M/0UMEcWqYoOxMJKQ0JyoGA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bac47eda-012f-492a-a1a4-c478929ba08e@suse.com>
Date: Tue, 28 Nov 2023 11:36:40 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 6/6] x86/vPIC: check values loaded from state save record
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: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <49a17ffa-c873-4b0f-81ed-9587053ca159@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0444.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM8PR04MB7892:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e40b020-7622-4de2-c072-08dbeffde84f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fs0WfHSwTMpyNTTumCgBL7cXvsG5OSBRWxqeYD9+8cUvBpP7RPRUr7Y7tgykRUNaJaHxyUwNvaTVZTK4zfK2matm3zJCkbe8rudej8j4Jbb2nRyrxbZwQ7Pjsm6brM0KNmjuHRrE/FHhvmltCEf2VXz8Y7Ni1+vJ1eamItPp5OMO0SkEnthTGAEmIdmTC2Su6ccHw0te3WDu/vAs0ZM/wwOnIgIoEH4KW05Av/wdruWgzTAEbDVn4sAhtjbJTYU1oxamIg0xPxtrE7K6OabBYHyz/dYeSe4gowbVUtfhJX0UHqDFBFWLY9RR95+zDNo2KTGIfG0+nYJCoGjHDc0Zi3ifjBZJ0p7/w0w1i8QNz/ZktdUsyBxgw12XsgR+GEU7C5fh1VPJBDuWJ73ub3d1hNKofNxsKJ54TwaH0DooQC2nut7EhiG2fJRcsnIwuW0zzspyfZIrLsPhdAV+z2VNvDFCUWOGGyuOa8M0FBWM1ajOpJ+owHty2Q8Zjj+PjSvhnBUWiGdCWsj9dMlS1MeyryWvmrM3LAfT9SKZbBXDcio2y9lLICz+m5dK1iM0STqaeWa4WGC5P3as6N4A86Jv0K0nvQc0Sxv0hNHICHQOI9rsqN/Bn1mbiPd76yetviBrmhBgUknvN3coGUxwyw5HjA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(346002)(396003)(39860400002)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(26005)(83380400001)(38100700002)(31686004)(6512007)(6506007)(8936002)(66946007)(4326008)(6916009)(316002)(66556008)(54906003)(66476007)(5660300002)(31696002)(478600001)(8676002)(6486002)(86362001)(2906002)(41300700001)(36756003)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YkRhWDNIN1ZiSVdPck5rcFBqMVFKdjBKTC80bjZkTWwwWDI3dmkycXV6R1RH?=
 =?utf-8?B?b2lIbnlRRUMrd0NaYW8vWkpMUGdTU1V4OXAxcUE1a01mNGZlNFdFbnU5akQ4?=
 =?utf-8?B?NGpNV1Z6K3BIR0h3QUVLcHZGM2tLTDFBYVBnWGNwQ3gxWnJxS0Z3VlVjelRj?=
 =?utf-8?B?WitjMHpZWkQvaUNHb0VOeXpSazJzbnFBREk3NmRlYVRuTHhFRUVhTG12dVZt?=
 =?utf-8?B?WU1lcnNObDR5dkN0U2xUWVF5Y1VDNkRTZmI1YXRncmMzTVRkaWNFM3pVV3pp?=
 =?utf-8?B?Y2gzRWlQUzhjZVdkcGtPL2ozRWhqVVRUYklUQytIRXNNNHkwTk9VOFI3ZGFv?=
 =?utf-8?B?d1dTOXh4OGE5Y1pnZnJpaFlydVlJK0N4ZHhPV2xWTEFpa1lrSlJGSkg3WktB?=
 =?utf-8?B?b0NJaUN6OE05eDhyK0RIeDJPcW5JOFNiV2JjS1BSVy9FREdjVkc4QnVTZ05K?=
 =?utf-8?B?N0VYQUNkb0hJeW95WG1tcEgzRXRKQ052TkhBRWtQT3JlR2JCZzBLNWRJMGRy?=
 =?utf-8?B?eFRtVVMyUDNCQlJSVWViTG90VkR5c3RXemxFMlhBcEp5TzM1NDQzK1hNMHZ3?=
 =?utf-8?B?bFdCWVBSNlVhZkc3UllHelB1SVl0dWxYWkZqb1lXbW9yUlc0UmlBTFJpRFpW?=
 =?utf-8?B?bXNwTTY0TS9CRTlnQ3hIb3UxRGRrSU1UVzN5dStnV2hMZy9XTHFJVUZWSnli?=
 =?utf-8?B?dmFkdWVnaU5pMTFteGNFUExydjNmaXlhQXg0eVB1MzMwb0tOY240dEc5OTBo?=
 =?utf-8?B?ZmxyWnY2bm1OVllUS0dLUjVuL0lHMFhLWm9hQUFNNnhpSk9LRCtBK0g2b3JR?=
 =?utf-8?B?akhvVWxRU2hxVm5CWXQ5dXR0cEgxcmk3RG9ZVks3UmRjM3BRbjJHVGoyZUxJ?=
 =?utf-8?B?U1dzNldZYmdFTXN1aXpRNWxYRmxHb0NLRTR1RjhPczBQdGdXS1EveGw2SS9r?=
 =?utf-8?B?VUV1TlZZbmIxSkRwTGk1ZWQ1ZVE2dURYOXN2Mk9TUXRNNGpDRVhHQXhPYWM3?=
 =?utf-8?B?aTRseE9DZjhNSU91TFBLdmpsR2FKSm1abWhNNDB2ZXVNT3NKUys0ajB3K1U2?=
 =?utf-8?B?M0JrT2pwVjdTbXkrTy81NGlya0R3WmZUMG03K1RrWWExc0huM0VpUmcvc3hw?=
 =?utf-8?B?REZOS2ZhRVc1bnJZVzJva0lzM0R5K3NWNHlzZ016M012UUZWSFhJcDZQdWJS?=
 =?utf-8?B?dk9yVEtPUHZ2MnVMR0J3NlVVMGRwaFlDR3NHT0Z4WUs1ZjlSSTl1a3Y3SzhN?=
 =?utf-8?B?bGIvaE11ZWtidTk3Mk8vaWIrSnRMNjU4bnY4aUU0bzVXTmlCZDFmd1BGL3kw?=
 =?utf-8?B?YjM1VlBLMFIzQzFDWDhIMFhTcmpOZzBkZ092bDgvcU1CYmRUK2krVDYySWpw?=
 =?utf-8?B?N0Z2bWJ1VVVQUkJ4d1ZXZ3hFcGlQVGY5ZFdHcGlFUE9kYWt6bFB5MjBxNUg5?=
 =?utf-8?B?ZndTNkdLMkplbW51MnJTcWl2bGQ3ZmRBNUhJYm1Jc08rVURIM1RXQlBGNFRh?=
 =?utf-8?B?UVFwZDBUbnFJZ0RvbEpSRHNxMXVlWFh6U2VaVDN6RlRzK3U5YkdnOEF5bVQv?=
 =?utf-8?B?VEVzbW1tcDFCOUdPK3NpT3hxaWZiZjI2M3Y3WERtQzRvaVh0NFVwTkg2SFNp?=
 =?utf-8?B?SnVpMVkzaVZqZlNaRFJVNGc1MkFydXdOenRlUXBKQTNrcWVVVi9WS3cwd1Nh?=
 =?utf-8?B?TWoxZmw5SFJBL1F6T2QzS21iUE0yaW41d1JEdWo3aXpxT09wZHhaYzVpZ0Rn?=
 =?utf-8?B?Rm1DL3Z6VFY0Z1hYUkNaN0M3SCtpWEZaWElvS2p1OWllVUx1U3o2Vi9sVkhi?=
 =?utf-8?B?VDF3c2Q0M1VUaituUTJCQkExSDlIeDcvQk9UR0ZVVUZPNkd6NHBJZmM0Uk8y?=
 =?utf-8?B?M2NVa3hnU21vQWFna3ZFK0JxOW9DNC90VGkvTWIycE9UQVovVWJFaFdOWlAz?=
 =?utf-8?B?cm43VCtML24ySXhvRHBsak9raGxveVBDZ0V4ZDk1VDk4SE9RVjd2L0RSSkx6?=
 =?utf-8?B?U2M1MHUvU0FqaWJyTytRWk40a0NIa2lodVFlK1YyRmtLUXFpN2xOK0c1NTlC?=
 =?utf-8?B?bmFOYnM1S08rVFVWaVJhK1N2TU9jTlVCdXRHTWx6ZXJKZEVZdkpXdXBPZmJy?=
 =?utf-8?Q?WjypeHebOLKB4MvdzrTEDUYHi?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e40b020-7622-4de2-c072-08dbeffde84f
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 10:36:40.7588
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: L5EnIh3MsUZSSz/L8/eIWH0EyG147F93wT+I8bqmdoWUcsW99fSjWEl61hU1cz3LOboppz7hy5BW6s7Kb+BdUQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR04MB7892

Loading is_master from the state save record can lead to out-of-bounds
accesses via at least the two container_of() uses by vpic_domain() and
__vpic_lock(). Make sure the value is consistent with the instance being
loaded.

For ->int_output (which for whatever reason isn't a 1-bit bitfield),
besides bounds checking also take ->init_state into account.

For ELCR follow what vpic_intercept_elcr_io()'s write path and
vpic_reset() do, i.e. don't insist on the internal view of the value to
be saved.

Move the instance range check as well, leaving just an assertion in the
load handler.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: vpic_domain() fix and vpic_elcr_mask() adjustment split out. Re-base
    over rename in earlier patch.
v2: Introduce separate checking function; switch to refusing to load
    bogus values. Re-base.

--- a/xen/arch/x86/hvm/vpic.c
+++ b/xen/arch/x86/hvm/vpic.c
@@ -429,6 +429,38 @@ static int cf_check vpic_save(struct vcp
     return 0;
 }
 
+static int cf_check vpic_check(const struct domain *d, hvm_domain_context_t *h)
+{
+    unsigned int inst = hvm_load_instance(h);
+    const struct hvm_hw_vpic *s;
+
+    if ( !has_vpic(d) )
+        return -ENODEV;
+
+    /* Which PIC is this? */
+    if ( inst >= ARRAY_SIZE(d->arch.hvm.vpic) )
+        return -ENOENT;
+
+    s = hvm_get_entry(PIC, h);
+    if ( !s )
+        return -ENODATA;
+
+    /*
+     * Check to-be-loaded values are within valid range, for them to represent
+     * actually reachable state.  Uses of some of the values elsewhere assume
+     * this is the case.
+     */
+    if ( s->int_output > 1 )
+        return -EDOM;
+
+    if ( s->is_master != !inst ||
+         (s->int_output && s->init_state) ||
+         (s->elcr & ~vpic_elcr_mask(s, 1)) )
+        return -EINVAL;
+
+    return 0;
+}
+
 static int cf_check vpic_load(struct domain *d, hvm_domain_context_t *h)
 {
     struct hvm_hw_vpic *s;
@@ -438,18 +470,21 @@ static int cf_check vpic_load(struct dom
         return -ENODEV;
 
     /* Which PIC is this? */
-    if ( inst > 1 )
-        return -ENOENT;
+    ASSERT(inst < ARRAY_SIZE(d->arch.hvm.vpic));
     s = &d->arch.hvm.vpic[inst];
 
     /* Load the state */
     if ( hvm_load_entry(PIC, h, s) != 0 )
         return -EINVAL;
 
+    if ( s->is_master )
+        s->elcr |= 1 << 2;
+
     return 0;
 }
 
-HVM_REGISTER_SAVE_RESTORE(PIC, vpic_save, NULL, vpic_load, 2, HVMSR_PER_DOM);
+HVM_REGISTER_SAVE_RESTORE(PIC, vpic_save, vpic_check, vpic_load, 2,
+                          HVMSR_PER_DOM);
 
 void vpic_reset(struct domain *d)
 {



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:37:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:37:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642957.1002817 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vSm-0004R2-DD; Tue, 28 Nov 2023 10:37:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642957.1002817; Tue, 28 Nov 2023 10:37: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 1r7vSm-0004Qv-AT; Tue, 28 Nov 2023 10:37:08 +0000
Received: by outflank-mailman (input) for mailman id 642957;
 Tue, 28 Nov 2023 10:37: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=A0gx=HJ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r7vSk-0003ol-9x
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:37:06 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2048.outbound.protection.outlook.com [40.107.7.48])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 123dd488-8dda-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:37:04 +0100 (CET)
Received: from DU2PR04CA0237.eurprd04.prod.outlook.com (2603:10a6:10:2b1::32)
 by DB9PR08MB7494.eurprd08.prod.outlook.com (2603:10a6:10:36d::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Tue, 28 Nov
 2023 10:36:35 +0000
Received: from DB5PEPF00014B97.eurprd02.prod.outlook.com
 (2603:10a6:10:2b1:cafe::2e) by DU2PR04CA0237.outlook.office365.com
 (2603:10a6:10:2b1::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28 via Frontend
 Transport; Tue, 28 Nov 2023 10:36:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B97.mail.protection.outlook.com (10.167.8.235) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 10:36:34 +0000
Received: ("Tessian outbound e243565b0037:v228");
 Tue, 28 Nov 2023 10:36:34 +0000
Received: from e5e76f2d74c1.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 F3D25E4E-2BF0-4FB5-A958-F41D23DEB3CF.1; 
 Tue, 28 Nov 2023 10:36:28 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id e5e76f2d74c1.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 28 Nov 2023 10:36:27 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DU2PR08MB7376.eurprd08.prod.outlook.com (2603:10a6:10:2f4::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Tue, 28 Nov
 2023 10:36:25 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023
 10:36: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: 123dd488-8dda-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=B+a7RotD3y2O1lDDvCJbPfkEhpryb1ugAFxZBOHZgx3iJU2P5S6WrzVRGpeTZ++23d/MBgJG33zgY3woV5osTxpGpz5TzINg8w5s/zIJCw7pW7osi1fSl9rOjutRzpb4mtRiEioM0n3imT9hRbrtciuQjkb3yhIiVnuA6XRMv0ep+tkrjWDShhH/PuR+hYKkmgEqW2Iada0NrV8jxc2CD/Hd/iZMMBQj7v7wTxj/93rMwZb5J/9YFCWgc6sHHe5WAlWYnxOXFbEhrAzN2w1zuUvkrOroiKrOBopPA00qSxyaFi9vGTfZi7Oq+S1YmyOPjCE//QSNvsFXWqPMNxrD7A==
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=EmOGGQy7sOjD1W26s1AhAbwBdyMxD523+N3Efj6+HLs=;
 b=KRntGbYikqHPDJ7chRiKCtb6qs8vYoUinHtlpsPlRtonZZgaDLPe8kEV+yUw6Io1/hkEZHPzw9a7qLmiUQcRVb9SZB/23flb7l1Wnh+vlcovBINwJUX5X6hSvt4VQrUINhY5WrOExoDEa5hVA5ldAPSep6WBdttvaBH5NhntJ6oDxoMyX+bmr1KzK0rO8GOGg7i6nfaZfWvc+OpYwMTBHb24/2SNGPXQaAw8OcYn1sBGAvtOzK8P2IG59UFQrp5qYlcifzISFDIoc60L7ISfjqaRlXitOjLD7ptbk7oGD8y8mmthjt35P3lR2AHVH5jTN45QVnLDGr443aPfarXgGw==
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=EmOGGQy7sOjD1W26s1AhAbwBdyMxD523+N3Efj6+HLs=;
 b=HsGxkglZHgrTTtQIYX4EPVEsQUwN7dOZsbLhuvf1KDJ2UfucdxCd2fEg8c5h5EynC5HyN8xaprFQADgQh4J6TeqUeEw9JXszIHeF9hKwLcmO38YVrC0g0lFJikTPidr9FCACDrGmTYYYyD7LEv0yKDl7r/PauAjAxZT1Bh6RbJo=
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: ae7fa59135ee81fc
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N8QRocfQOYKLNJXEzKkfmzyNG8nRRSLVKPmaSLbqwSO4ULiaPlUDIr/whwrXtmwYjEJWeYkNTxe6OUqFhAUwgoybx40LpzbT1VVR0vGwGbpJ08L1PMu4t6pLlr89iViGLxF5QOh3FcWaQLArBdAPIYSlNUttuov4Su/2pF8v82GxmUaIrF2hyPETVN4UEKR73W2rALC+oaJVFmJpjrktbu/3zMGAQnJo93uiNCPGhN9LDJPfpTfNr3ubl0nUDrnE0TtzAFkHGqdPzi9MRtwEjnviOdv1aRVPT2qPp1r1lnQajpPCx21UbB7/Z8siSkfQ/daCwZ3EpRDTsr3xSoStIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EmOGGQy7sOjD1W26s1AhAbwBdyMxD523+N3Efj6+HLs=;
 b=gvOiE5DGRcCM03nDs7cgcON+Dh+KHRkqZIyxPoqSoilGzesqwKuEoHZrfceNa2HHX+I6ywH1+vTq96DgE8KHx4o3biL+J+i+MbcvcuHfWVaem5t7wTrVMNYIKxyFBf7ikj/XL/jiNimB184AWgMpO+b+UDRUuucJ7FVifSzws7qoj3R7wSnBbBdsxoiKlWTUITR9WXwBAcTNe3F9DfbByfZkpd1SXZsQjganT2RHVIgTSQwRoCNlzxFoSZHnRWVKE0QWKBBftwlA+1xQRE1QmSgbBxxcW3zQmUky4Aj4tTFauBGJK6z98tfnmpjCRq1FyEMJ6Np35POL5/e4bF1IpA==
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=EmOGGQy7sOjD1W26s1AhAbwBdyMxD523+N3Efj6+HLs=;
 b=HsGxkglZHgrTTtQIYX4EPVEsQUwN7dOZsbLhuvf1KDJ2UfucdxCd2fEg8c5h5EynC5HyN8xaprFQADgQh4J6TeqUeEw9JXszIHeF9hKwLcmO38YVrC0g0lFJikTPidr9FCACDrGmTYYYyD7LEv0yKDl7r/PauAjAxZT1Bh6RbJo=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
CC: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
	<julien@xen.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>,
	"michal.orzel@amd.com" <michal.orzel@amd.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 v6 0/5] Fine granular configuration
Thread-Topic: [PATCH v6 0/5] Fine granular configuration
Thread-Index: AQHaHruBt1jR61BwukqrbWb7AIYNFrCJPEYAgAZTsIA=
Date: Tue, 28 Nov 2023 10:36:25 +0000
Message-ID: <9AFCB511-0192-4C7A-8792-51AD941D6014@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
 <E9D1FA66-DB03-4F52-9312-DD34FA916367@arm.com>
In-Reply-To: <E9D1FA66-DB03-4F52-9312-DD34FA916367@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DU2PR08MB7376:EE_|DB5PEPF00014B97:EE_|DB9PR08MB7494:EE_
X-MS-Office365-Filtering-Correlation-Id: 154b0044-ccfb-45b1-e319-08dbeffde4d2
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:
 5r7dNmthEWjomoKxn01me8xICdeHjIudUsIrNO+iw170QKj1h9OWspjcdqdTsUmOPVP12fmwZ6NQnIOjVhkGVIIsFSqmGqgWIUIfIELV4spgFE3UU91tLmkqKpS/EDEhigilM03i3tiYMenipOes9TnA5NXv+ZM9crSozs7lphSMKGnpsD7XYrLh+yUGYwLyrAl4gVMzn3o/+7RkK0mM4pKUgI/+Wgqh6KgdfKjdSQ5HwTDEdD0+RHAlUaLND9b0t0XrrnX1aN1XovvKqGmuZN5V+EqJIxy85jLMi/T5iINgIhgyOSxe9ut3BF7XjTaZELCFeR7mD/RxflWVOpn99IgC7wgY1P1jvmpWtjcyGddH9FfARN5hOIZn3fm6VZs7scVW5xa+rQgTRgYX4y8tJBLlwUkEBSCeNeGkqMChJ87Mw1CXdLxe4nUwBwrPmUsBxlWx8UJtBbqX0rWRfUUw5XF2LD4Xussz3zoLj7tfqEomiYo5PVu1EYQo2K6Fg3FQYPglfXxKGAtTHzjhhp3XAbYsgsfeNn0n52VqxT4DpDCYeZhes0bCe740eDQ0Zgu6G9uqxGSkWVdUcmeLMG0T/KyuZgSjD74XfCImz6P0/DvjUc3MYBsU1qhHZD+rJh29o0QQrgct9C4eSGXOxJnpMA==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39850400004)(136003)(366004)(396003)(376002)(346002)(230922051799003)(451199024)(186009)(1800799012)(64100799003)(38100700002)(316002)(122000001)(86362001)(6486002)(4326008)(8676002)(8936002)(6916009)(36756003)(33656002)(5660300002)(83380400001)(91956017)(76116006)(6506007)(6512007)(26005)(54906003)(64756008)(66446008)(66476007)(66556008)(66946007)(2616005)(478600001)(71200400001)(53546011)(38070700009)(41300700001)(2906002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <2AC6DE3B8DBCB44986313F878135A669@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR08MB7376
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:
 DB5PEPF00014B97.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	b1302c26-6649-484b-d5b1-08dbeffddf5a
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	S5oLrR67C/T61dYIF6y2993/ezIp9bHbrFGUHAyk+R1TIvbec2VdDHB8DzoNWfOZvmgRZYjlUSA+XLYpykWHBbGMJoaDLnJGieUyxLlSB31nBzDidCcpW5FNjZxcRznQxgfNwg771OAGek+90p/WXXuF7mMECcW5JJK8O4HZduw5i6iqRVt1sLVohcfjHXrwafFaDP4Gp6yax3f19Ihm91BQBLQ6CdmTY3k6cv01wvHV1HmG+8Cjz4FfG8k20oTWPPvWZRcuA9H/BZmRZjoTILfpK8CXEfEUXKnHXFMUFFJyLUqH8edkQ7i8LBtEFP/SSLuJrTJ6GZPa5rPCP6oYjtkv8N/GwDi5dGxe0AXofZQk2vM8rVblSkAa9WeNOblcNzb9/ByZJul+XDScFGzZDdSOR71LxWVDH6N8JHr46EnSHY+Iwzpj7O6W3PoVEkY6Sgb2qG6Z8EU0mbkKybA/54vt/uGcTEmSJ0ky0FsditD5cTn79P+mNy71hpBvHy9ScwAaIJ4dtlTP27KxjlI5/9km/JtDcO48pmRa0NwQHCgNKZFGJkVmuraykEGsC9CvXPJT02YUT+WlZeVjVJkX6bOjtKII5xbZAd7639njQNqxBNYkLDxH1LYc103/7jKrPla5YnQ4K+1wsIV31DkRePsNfbNh4zw1K9ZkeXiVvVvDnYXrloXy53HyLglVDczF+X2vBoc9gdvRwY6TEsjpoFjcI586Z47McOEXMnBw66YX9VQHlSAeUlUEpgfEDE5y
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:(13230031)(4636009)(376002)(346002)(136003)(39860400002)(396003)(230922051799003)(186009)(82310400011)(64100799003)(451199024)(1800799012)(40470700004)(36840700001)(46966006)(336012)(53546011)(2616005)(26005)(6506007)(6512007)(478600001)(47076005)(36860700001)(83380400001)(2906002)(4326008)(41300700001)(5660300002)(8936002)(54906003)(70206006)(70586007)(316002)(6486002)(6916009)(8676002)(40460700003)(356005)(81166007)(36756003)(33656002)(82740400003)(86362001)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 10:36:34.7534
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 154b0044-ccfb-45b1-e319-08dbeffde4d2
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:
	DB5PEPF00014B97.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB7494



> On 24 Nov 2023, at 09:59, Luca Fancellu <Luca.Fancellu@arm.com> wrote:
>=20
> + CC Maintainers
>=20
>> On 24 Nov 2023, at 09:48, Luca Fancellu <luca.fancellu@arm.com> wrote:
>>=20
>> This serie aims to add more modularity to some feature that can be exclu=
ded
>> without issues from the build.
>>=20
>> The first patch is already reviewed.
>>=20
>> v2 update: So I've tried to see how to put the dom0less code in the comm=
on code,
>> but the amount of modifications are not trivial, even putting only the c=
ommon
>> part and protecting them with ARM, leaving the ARM specific stuff under =
arch/
>> like gic etc... will leave a status that is not very nice, so I've decid=
ed for
>> now to keep everything on the arm architecture so that who is going to w=
ork
>> on unifying the code in common can just take from there and do the prope=
r
>> rework.
>>=20
>> Luca Fancellu (5):
>> arm/gicv2: make GICv2 driver and vGICv2 optional
>> xen/arm: Add asm/domain.h include to kernel.h
>> arm/dom0less: put dom0less feature code in a separate module
>> xen/arm: Move static memory build code in separate modules
>> arm/dom0less: introduce Kconfig for dom0less feature
>>=20
>> xen/arch/arm/Kconfig                      |   27 +
>> xen/arch/arm/Makefile                     |    7 +-
>> xen/arch/arm/arm32/mmu/mm.c               |    1 +
>> xen/arch/arm/arm64/mmu/mm.c               |    1 +
>> xen/arch/arm/bootfdt.c                    |  161 +-
>> xen/arch/arm/dom0less-build.c             | 1018 ++++++
>> xen/arch/arm/domain_build.c               | 3591 ++++++---------------
>> xen/arch/arm/efi/efi-boot.h               |    4 +
>> xen/arch/arm/gic-v3.c                     |    4 +
>> xen/arch/arm/include/asm/dom0less-build.h |   30 +
>> xen/arch/arm/include/asm/domain_build.h   |   34 +
>> xen/arch/arm/include/asm/kernel.h         |    1 +
>> xen/arch/arm/include/asm/setup.h          |    2 -
>> xen/arch/arm/include/asm/static-memory.h  |   45 +
>> xen/arch/arm/include/asm/static-shmem.h   |   66 +
>> xen/arch/arm/setup.c                      |   57 +-
>> xen/arch/arm/static-memory.c              |  287 ++
>> xen/arch/arm/static-shmem.c               |  547 ++++
>> xen/arch/arm/vgic.c                       |    2 +
>> xen/arch/arm/vgic/Makefile                |    4 +-
>> xen/common/Kconfig                        |    2 +-
>> 21 files changed, 3058 insertions(+), 2833 deletions(-)
>> create mode 100644 xen/arch/arm/dom0less-build.c
>> create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
>> create mode 100644 xen/arch/arm/include/asm/static-memory.h
>> create mode 100644 xen/arch/arm/include/asm/static-shmem.h
>> create mode 100644 xen/arch/arm/static-memory.c
>> create mode 100644 xen/arch/arm/static-shmem.c
>=20
> I sent this serie forgetting about adding the maintainers, CC them
> now.

Hi all,

I think all the patches here are Ack-ed by a maintainer, is there any issue=
 to
merge them?

>=20
> Cheers,
> Luca
>=20



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:42:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:42:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642985.1002831 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vXh-0007el-4b; Tue, 28 Nov 2023 10:42:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642985.1002831; Tue, 28 Nov 2023 10:42: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 1r7vXg-0007dk-WA; Tue, 28 Nov 2023 10:42:13 +0000
Received: by outflank-mailman (input) for mailman id 642985;
 Tue, 28 Nov 2023 10:42: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=ImyS=HJ=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r7vXg-0007Og-8K
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:42:12 +0000
Received: from mail-ed1-x52a.google.com (mail-ed1-x52a.google.com
 [2a00:1450:4864:20::52a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c87d1a86-8dda-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:42:10 +0100 (CET)
Received: by mail-ed1-x52a.google.com with SMTP id
 4fb4d7f45d1cf-5488bf9e193so7222952a12.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 02:42:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c87d1a86-8dda-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701168130; x=1701772930; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=LMweMtKzlGGErdAPuMSZvkgbTLlKrcEIRSD6fpsoUS0=;
        b=FWRaZp6ILszCBxg+DiUeIKoRjHV+b4JnxsII0+bmr2AvnBhpzeay67zXQn3tOaJK6D
         E+mopvMBIc3f+GcIRRE4v9iQlufnOD9cxBdFcfvYYh2bKO/GU0CmckdSE5S/JzaupC9k
         L54hHw5cG6+sXZuNqOdLhaLI8opSUEkUteT5ZckfRVaGvM7N/jIkj65lQubK41EWNswY
         dG3sEtE6XG3PNgL2nUfsk6V/dUAcrsNv9Sxe7dAu9wLVlbFefHZepOV/4g9djum6C92Q
         AS6KXxLUN4Qo+IjX/MV2wST70/DhEhPmbvJQB77MRQErkdCu0X+/OQXpHF1qmlneezHH
         CDow==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701168130; x=1701772930;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=LMweMtKzlGGErdAPuMSZvkgbTLlKrcEIRSD6fpsoUS0=;
        b=bTTfbpn6Gz7aY/pqm9bw4ZbhkSv4Bmfl/hqZ4BXWR9UWGvg2F+/zBy8dIlY1x6OPNx
         0WuWk5IcQQE123KD5wFKKpu2YAY74QfDldcG9jKNMAVhzDuZZM2C4mzyiN3aBVLitCXN
         jCp23VLf/XBaeoWrNIlr66QwqcFnpOiMuXdzLWUAuSIgKiCmURfQSG/K5vYmg5iT9Zge
         DVdnlOhw+7yWo5pr0kzUu2tX2AZ/Q2h4402ULbomI79F4doFhRQusQ0hWn8J1ikTaS95
         JhYE6o2sc+xHYKkcEFDvxsEPlgDdhvzvGVBJI5PL0WCncMZRkx+zQcxSAWz/BgMpNSZt
         tejA==
X-Gm-Message-State: AOJu0Yx8Ph21Gi6eLE6Q7otS4+0xOtwK2FfNX9NWrAjS02kyziTnkDfo
	Z2a46ktZUhzIfgQAExH42DEyF7xVEz5zBg56eXph5Bz1r+7GxEJO
X-Google-Smtp-Source: AGHT+IHZcUWhPB108UMRIaO5f7fhDCozfkVs9V1e8cwhD2mWotxO0DrJjV5gp3SavkH6Rqshd/4lfEwcVgEBuZObF/0=
X-Received: by 2002:a17:906:c307:b0:9d4:2080:61dc with SMTP id
 s7-20020a170906c30700b009d4208061dcmr11709602ejz.22.1701168129329; Tue, 28
 Nov 2023 02:42:09 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net> <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
 <alpine.DEB.2.22.394.2311271826370.3533093@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2311271826370.3533093@ubuntu-linux-20-04-desktop>
From: Mario Marietto <marietto2008@gmail.com>
Date: Tue, 28 Nov 2023 11:41:32 +0100
Message-ID: <CA+1FSijGq3oByrb7sDy-Zw5zqFXamyeYGrYQ9jouhN42ZDrvYA@mail.gmail.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32 bit
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Chuck Zmudzinski <brchuckz@netscape.net>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Demi Marie Obenour <demi@invisiblethingslab.com>, Anthony PERARD <anthony.perard@citrix.com>, 
	Julien Grall <julien@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>, 
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, 
	Elliott Mitchell <ehem+freebsd@m5p.com>
Content-Type: multipart/alternative; boundary="0000000000000d4e84060b3412b7"

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

Hello.

to try to compile the correct freebsd kernel that's recognized by xen using
the Elliott Michell code, are the commands below the correct ones ?

$ truncate -s 100G xenvm.img
$ mdconfig -f xenvm.img -u 0
$ newfs /dev/md0
$ mount /dev/md0 /mnt
$ git clone https://gitlab.com/ehem/freebsd-src.git
$ cd freebsd-src

$ make  -DNO_MODULES   KERNCONF=3DGENERIC TARGET=3Darm TARGET_ARCH=3Darmv7 =
buildkernel

$ echo "/dev/xbd0       /       ufs     rw      1
1" > /mnt/etc/fstab

$ nano /build/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc"
xterm on secure")
$ umount /build
$ mdconfig -d -u 0

Do you see errors ? some missing ? very thanks.


On Tue, Nov 28, 2023 at 3:28=E2=80=AFAM Stefano Stabellini <sstabellini@ker=
nel.org>
wrote:

> On Mon, 27 Nov 2023, Chuck Zmudzinski wrote:
> > On 11/27/2023 10:22 AM, Chuck Zmudzinski wrote:
> > > On 11/27/2023 7:45 AM, Mario Marietto wrote:
> > >> @Chuck Zmudzinski <mailto:brchuckz@netscape.net> : Stay tuned. They
> want to help us. The xen developers are great. Very good support for us.
> I'm sure that you can give a good contribution to understand what's our
> problem and how to implement a fix with the help of all those good guys.
> > >>
> > >> On Mon, Nov 27, 2023 at 11:56=E2=80=AFAM Roger Pau Monn=C3=A9 <
> roger.pau@citrix.com <mailto:roger.pau@citrix.com>> wrote:
> > >>
> > >>     On Mon, Nov 27, 2023 at 10:28:13AM +0000, Henry Wang wrote:
> > >>     > +(xen-devel and Arm maintainers, including Julien)
> > >>     >
> > >>     > > On Nov 27, 2023, at 18:03, Mario Marietto <
> marietto2008@gmail.com <mailto:marietto2008@gmail.com>>
> > >>     > > wrote:
> > >>     > >
> > >>     > > Hello.  We have just virtualized Debian 12 on our arm (32 bi=
t)
> > >>     > > Chromebook model xe303c12 . As host / dom0 we have chosen
> Devuan
> > >>     > > 5,and for guest / domU,Debian 12. It works great. But our
> goal is
> > >>     > > different. We want to virtualize FreeBSD as domU. Can we hav=
e
> a
> > >>     > > working Xen PV network driver for a FreeBSD arm guest ?. I
> found
> > >>     > > that Julien Grall has ported the Xen drivers to FreeBSD on
> arm. I
> > >>     > > would like to know if Julien's work was accepted upstream by
> > >>     > > FreeBSD, in which case FreeBSD as a Xen guest on arm should
> work
> > >>     > > if we enable the Xen PV drivers in the FreeBSD on arm kernel=
.
> If
> > >>     > > Julien's work was not accepted upstream by FreeBSD, we will
> have
> > >>     > > to find his patches and apply them ourselves to the FreeBSD
> on arm
> > >>     > > kernel.
> > >>
> > >>     I've added Elliot on Cc as he is working on upstreaming the
> patches to
> > >>     FreeBSD.  He will be able to provide a better update than myself=
.
> > >>
> > >>     Regards, Roger.
> > >
> > > I have been collaborating with Mario, and I can explain what we have
> done so far :
> > >
> > > We are using Julien's patch set against an old development version of
> FreeBSD 11
> > > from 2014-12-03 :
> > >
> > >
> https://xenbits.xen.org/gitweb/?p=3Dpeople/julieng/freebsd.git;a=3Dshortl=
og;h=3Drefs/heads/xen-arm-v2.2
> > >
> > > We successfully built the XENVIRT kernel and FreeBSD world, and
> created the
> > > FreeBSD rootfs according to Julien's instructions here :
> > >
> > >
> https://lists.freebsd.org/pipermail/freebsd-xen/2014-November/002202.html
> > >
> > > There were some adjustments to the instructions :
> > >
> > > To build the kernel, we used :
> > >
> > > $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENVIRT buildkernel
> > >
> > > instead of
> > >
> > > $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENHVM buildkernel
> > >
> > > The FreeBSD 'kernel' file is in ELF format and did not work, and we
> spent
> > > some time trying to convert it to the zImage format without realizing
> the
> > > build of the FreeBSD kernel creates the 'kernel.bin' file in the
> zImage format.
> > > So when booting with the 'kernel.bin' file instead, it actually boots=
 :
> > >
> > > user@devuan-bunsen ~ % sudo xl create freebsd.cfg
> > > Parsing config from freebsd.cfg
> > > user@devuan-bunsen ~ % sudo xl li
> > > Name                                        ID   Mem VCPUs  State
>  Time(s)
> > > Domain-0                                     0   768     2     r-----
>   1439.4
> > > freebsd                                      1  1152     1     r-----
>      3.0
> > > user@devuan-bunsen ~ %
> > >
> > > However, the guest is still not working correctly :
> > >
> > > 1. Attaching the console with the -c option at creation or with
> > >    'xl console freebsd' results in no output to the console.
> > >
> > > 2. The timestamp on the virtual disk image file shows that the
> filesystem
> > >    was at best mounted read-only, if it was mounted at all by the gue=
st
> > >    FreeBSD kernel.
> > >
> > > 3. The 'xl shutdown freebsd' command does not work, it just hangs. To
> stop
> > >    the guest, you need to do 'xl destroy freebsd'.
> > >
> > > However, I think we can get the console to work and the rootfs to
> mount because I
> > > just realized I forgot to do the steps from Julien's instructions of
> editing the
> > > /etc/fstab and /etc/ttys files in the FreeBSD rootfs :
> > >
> > > $ echo "/dev/xbd0       /       ufs     rw      1       1" >
> /mnt/etc/fstab
> > > $ vi /mnt/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm o=
n
> secure")
> > >
> > > I will add those and see if the console and disk are working.
> >
> > Unfortunately, adding xc0 to /etc/ttys and /dev/xbd0 as the root device
> in
> > /etc/fstab did not make the console or disk work. Still no output on th=
e
> > xen console from the guest kernel, and the timestamp on the rootfs imag=
e
> > file did not change so it did not mount read-write.
> >
> > We could use some advice for troubleshooting this. Now, we are blind
> because
> > we are not getting any xen console output But I am pleased we were able
> to
> > demonstrate that Julien's old patch set for FreeBSD 11 allows us to boo=
t
> > FreeBSD 11 on a modern version of Xen on arm - we are using the Debian
> > stable Xen 4.17 packages.
>
> You can use the DEBUG hypercalls to check how far we got into the
> booting process:
> https://wiki.xenproject.org/wiki/Xen_ARM_DEBUG_hypercalls
>
> For instance add the following to FreeBSD code:
>
> asm volatile("hvc 0xfffd");
>
>

--=20
Mario.

--0000000000000d4e84060b3412b7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hello.</div><div><br></div><div>to try to compile the=
 correct freebsd kernel that&#39;s recognized by xen using the Elliott Mich=
ell code, are the commands below the correct ones ?</div><div><br></div><di=
v><pre class=3D"gmail-_3GnarIQX9tD_qsgXkfSDz1"><code class=3D"gmail-_34q3Pg=
Lsx9zIU5BiSOjFoM">$ truncate -s 100G xenvm.img<br>$ mdconfig -f xenvm.img -=
u 0=20
$ newfs /dev/md0=20
$ mount /dev/md0 /mnt<br>$</code><span style=3D"font-family:monospace"><spa=
n style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)"> git clone <=
a href=3D"https://gitlab.com/ehem/freebsd-src.git">https://gitlab.com/ehem/=
freebsd-src.git</a><br>$ </span></span>cd freebsd-src<br><br>$ make  -DNO_M=
ODULES   KERNCONF=3DGENERIC TARGET=3Darm TARGET_ARCH=3Darmv7 buildkernel<co=
de class=3D"gmail-_34q3PgLsx9zIU5BiSOjFoM"><br><br>$ echo &quot;/dev/xbd0  =
     /       ufs     rw      1=20
1&quot; &gt; /mnt/etc/fstab =20

$ nano /build/etc/ttys (add the line &#39;xc0 &quot;/usr/libexec/getty Pc&q=
uot; xterm on secure&quot;)
$ umount /build<br>$ mdconfig -d -u 0<br><br></code></pre><pre class=3D"gma=
il-_3GnarIQX9tD_qsgXkfSDz1"><code class=3D"gmail-_34q3PgLsx9zIU5BiSOjFoM">D=
o you see errors ? some missing ? very thanks.<br></code></pre></div></div>=
<br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue=
, Nov 28, 2023 at 3:28=E2=80=AFAM Stefano Stabellini &lt;<a href=3D"mailto:=
sstabellini@kernel.org">sstabellini@kernel.org</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">On Mon, 27 Nov 2023, Chuck Zm=
udzinski wrote:<br>
&gt; On 11/27/2023 10:22 AM, Chuck Zmudzinski wrote:<br>
&gt; &gt; On 11/27/2023 7:45 AM, Mario Marietto wrote:<br>
&gt; &gt;&gt; @Chuck Zmudzinski &lt;mailto:<a href=3D"mailto:brchuckz@netsc=
ape.net" target=3D"_blank">brchuckz@netscape.net</a>&gt; : Stay tuned. They=
 want to help us. The xen developers are great. Very good support for us. I=
&#39;m sure that you can give a good contribution to understand what&#39;s =
our problem and how to implement a fix with the help of all those good guys=
.<br>
&gt; &gt;&gt; <br>
&gt; &gt;&gt; On Mon, Nov 27, 2023 at 11:56=E2=80=AFAM Roger Pau Monn=C3=A9=
 &lt;<a href=3D"mailto:roger.pau@citrix.com" target=3D"_blank">roger.pau@ci=
trix.com</a> &lt;mailto:<a href=3D"mailto:roger.pau@citrix.com" target=3D"_=
blank">roger.pau@citrix.com</a>&gt;&gt; wrote:<br>
&gt; &gt;&gt; <br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0On Mon, Nov 27, 2023 at 10:28:13AM +0000, =
Henry Wang wrote:<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; +(xen-devel and Arm maintainers, incl=
uding Julien)<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; On Nov 27, 2023, at 18:03, Mario=
 Marietto &lt;<a href=3D"mailto:marietto2008@gmail.com" target=3D"_blank">m=
arietto2008@gmail.com</a> &lt;mailto:<a href=3D"mailto:marietto2008@gmail.c=
om" target=3D"_blank">marietto2008@gmail.com</a>&gt;&gt;<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; wrote:<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Hello.=C2=A0 We have just virtua=
lized Debian 12 on our arm (32 bit)<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Chromebook model xe303c12 . As h=
ost / dom0 we have chosen Devuan<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; 5,and for guest / domU,Debian 12=
. It works great. But our goal is<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; different. We want to virtualize=
 FreeBSD as domU. Can we have a<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; working Xen PV network driver fo=
r a FreeBSD arm guest ?. I found<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; that Julien Grall has ported the=
 Xen drivers to FreeBSD on arm. I<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; would like to know if Julien&#39=
;s work was accepted upstream by<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; FreeBSD, in which case FreeBSD a=
s a Xen guest on arm should work<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; if we enable the Xen PV drivers =
in the FreeBSD on arm kernel. If<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Julien&#39;s work was not accept=
ed upstream by FreeBSD, we will have<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; to find his patches and apply th=
em ourselves to the FreeBSD on arm<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; kernel.<br>
&gt; &gt;&gt; <br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0I&#39;ve added Elliot on Cc as he is worki=
ng on upstreaming the patches to<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0FreeBSD.=C2=A0 He will be able to provide =
a better update than myself.<br>
&gt; &gt;&gt; <br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0Regards, Roger.<br>
&gt; &gt; <br>
&gt; &gt; I have been collaborating with Mario, and I can explain what we h=
ave done so far :<br>
&gt; &gt; <br>
&gt; &gt; We are using Julien&#39;s patch set against an old development ve=
rsion of FreeBSD 11<br>
&gt; &gt; from 2014-12-03 :<br>
&gt; &gt; <br>
&gt; &gt; <a href=3D"https://xenbits.xen.org/gitweb/?p=3Dpeople/julieng/fre=
ebsd.git;a=3Dshortlog;h=3Drefs/heads/xen-arm-v2.2" rel=3D"noreferrer" targe=
t=3D"_blank">https://xenbits.xen.org/gitweb/?p=3Dpeople/julieng/freebsd.git=
;a=3Dshortlog;h=3Drefs/heads/xen-arm-v2.2</a><br>
&gt; &gt; <br>
&gt; &gt; We successfully built the XENVIRT kernel and FreeBSD world, and c=
reated the<br>
&gt; &gt; FreeBSD rootfs according to Julien&#39;s instructions here :<br>
&gt; &gt; <br>
&gt; &gt; <a href=3D"https://lists.freebsd.org/pipermail/freebsd-xen/2014-N=
ovember/002202.html" rel=3D"noreferrer" target=3D"_blank">https://lists.fre=
ebsd.org/pipermail/freebsd-xen/2014-November/002202.html</a><br>
&gt; &gt; <br>
&gt; &gt; There were some adjustments to the instructions :<br>
&gt; &gt; <br>
&gt; &gt; To build the kernel, we used :<br>
&gt; &gt; <br>
&gt; &gt; $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENVIRT buildkernel<br=
>
&gt; &gt; <br>
&gt; &gt; instead of<br>
&gt; &gt; <br>
&gt; &gt; $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENHVM buildkernel<br>
&gt; &gt; <br>
&gt; &gt; The FreeBSD &#39;kernel&#39; file is in ELF format and did not wo=
rk, and we spent<br>
&gt; &gt; some time trying to convert it to the zImage format without reali=
zing the<br>
&gt; &gt; build of the FreeBSD kernel creates the &#39;kernel.bin&#39; file=
 in the zImage format.<br>
&gt; &gt; So when booting with the &#39;kernel.bin&#39; file instead, it ac=
tually boots :<br>
&gt; &gt; <br>
&gt; &gt; user@devuan-bunsen ~ % sudo xl create freebsd.cfg<br>
&gt; &gt; Parsing config from freebsd.cfg<br>
&gt; &gt; user@devuan-bunsen ~ % sudo xl li<br>
&gt; &gt; Name=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 ID=C2=A0 =C2=A0Mem VCPUs=C2=A0 State=C2=A0 =C2=A0Time(s)<br>
&gt; &gt; Domain-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 =C2=
=A00=C2=A0 =C2=A0768=C2=A0 =C2=A0 =C2=A02=C2=A0 =C2=A0 =C2=A0r-----=C2=A0 =
=C2=A0 1439.4<br>
&gt; &gt; freebsd=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 1=C2=A0 1152=C2=A0 =C2=A0 =C2=A01=C2=A0 =C2=A0 =C2=A0r-----=C2=A0 =C2=
=A0 =C2=A0 =C2=A03.0<br>
&gt; &gt; user@devuan-bunsen ~ %<br>
&gt; &gt; <br>
&gt; &gt; However, the guest is still not working correctly :<br>
&gt; &gt; <br>
&gt; &gt; 1. Attaching the console with the -c option at creation or with<b=
r>
&gt; &gt;=C2=A0 =C2=A0 &#39;xl console freebsd&#39; results in no output to=
 the console.<br>
&gt; &gt; <br>
&gt; &gt; 2. The timestamp on the virtual disk image file shows that the fi=
lesystem<br>
&gt; &gt;=C2=A0 =C2=A0 was at best mounted read-only, if it was mounted at =
all by the guest<br>
&gt; &gt;=C2=A0 =C2=A0 FreeBSD kernel.<br>
&gt; &gt; <br>
&gt; &gt; 3. The &#39;xl shutdown freebsd&#39; command does not work, it ju=
st hangs. To stop<br>
&gt; &gt;=C2=A0 =C2=A0 the guest, you need to do &#39;xl destroy freebsd&#3=
9;.<br>
&gt; &gt; <br>
&gt; &gt; However, I think we can get the console to work and the rootfs to=
 mount because I<br>
&gt; &gt; just realized I forgot to do the steps from Julien&#39;s instruct=
ions of editing the<br>
&gt; &gt; /etc/fstab and /etc/ttys files in the FreeBSD rootfs :<br>
&gt; &gt; <br>
&gt; &gt; $ echo &quot;/dev/xbd0=C2=A0 =C2=A0 =C2=A0 =C2=A0/=C2=A0 =C2=A0 =
=C2=A0 =C2=A0ufs=C2=A0 =C2=A0 =C2=A0rw=C2=A0 =C2=A0 =C2=A0 1=C2=A0 =C2=A0 =
=C2=A0 =C2=A01&quot; &gt; /mnt/etc/fstab<br>
&gt; &gt; $ vi /mnt/etc/ttys (add the line &#39;xc0 &quot;/usr/libexec/gett=
y Pc&quot; xterm on secure&quot;)<br>
&gt; &gt; <br>
&gt; &gt; I will add those and see if the console and disk are working.<br>
&gt; <br>
&gt; Unfortunately, adding xc0 to /etc/ttys and /dev/xbd0 as the root devic=
e in<br>
&gt; /etc/fstab did not make the console or disk work. Still no output on t=
he<br>
&gt; xen console from the guest kernel, and the timestamp on the rootfs ima=
ge<br>
&gt; file did not change so it did not mount read-write.<br>
&gt; <br>
&gt; We could use some advice for troubleshooting this. Now, we are blind b=
ecause<br>
&gt; we are not getting any xen console output But I am pleased we were abl=
e to<br>
&gt; demonstrate that Julien&#39;s old patch set for FreeBSD 11 allows us t=
o boot<br>
&gt; FreeBSD 11 on a modern version of Xen on arm - we are using the Debian=
<br>
&gt; stable Xen 4.17 packages.<br>
<br>
You can use the DEBUG hypercalls to check how far we got into the<br>
booting process:<br>
<a href=3D"https://wiki.xenproject.org/wiki/Xen_ARM_DEBUG_hypercalls" rel=
=3D"noreferrer" target=3D"_blank">https://wiki.xenproject.org/wiki/Xen_ARM_=
DEBUG_hypercalls</a><br>
<br>
For instance add the following to FreeBSD code:<br>
<br>
asm volatile(&quot;hvc 0xfffd&quot;);<br>
<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--0000000000000d4e84060b3412b7--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:45:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:45:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.642996.1002840 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vaZ-0000B5-Mm; Tue, 28 Nov 2023 10:45:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 642996.1002840; Tue, 28 Nov 2023 10:45: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 1r7vaZ-0000Ay-K9; Tue, 28 Nov 2023 10:45:11 +0000
Received: by outflank-mailman (input) for mailman id 642996;
 Tue, 28 Nov 2023 10:45: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=ImyS=HJ=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r7vaY-0000Ar-MY
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:45:10 +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 3292edbc-8ddb-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:45:08 +0100 (CET)
Received: by mail-ed1-x535.google.com with SMTP id
 4fb4d7f45d1cf-54b8a4d64b5so2010789a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 02:45:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3292edbc-8ddb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701168308; x=1701773108; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=weDXiyWQAvgiD2T9sKoaXPoDKzZLSVI1JwFyonF8AGU=;
        b=EHGVwxP8uBitzfaVD897AJd/e+j7cU812Pk8/FpsXGD1ge0+PV/YJQMMvAL3PSx4nH
         P0p21eV48ZkFluCXzaFFDU3KfaUIltSeWMsSRzr6anFPK4EEUPNvFUprFCuqowHdpx28
         g4vmEJAcFEVOkiFQHBn4XC0W2gIqm+9tcFwsKwRffFXRt9p5ELJ5S8fj1365RxVO6lS1
         jv66NWGHKyj0g8PbjwC9O9Ojyd6xxWI2D46i2wHz+W7HKAKgIwnIDZ/HGdbFiJA1A145
         XcZxs53yapPXm48nE8TbMCqj6deoB8XE4GJLq0NMDcRSWkOtnC8nxOqVjspcVVs7EMSx
         iDxg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701168308; x=1701773108;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=weDXiyWQAvgiD2T9sKoaXPoDKzZLSVI1JwFyonF8AGU=;
        b=X1Uy5BkvZuB+q6zcajjwgZYXGAsjR94YR/rpE0TSW8ix+7YVPlkvUMo8tIPpVUt3wN
         EKuze7nytVkkpD4EEJhNvg1T1coHKFH0Mxn7Rqb+RjYsdeYz0iTTtdSRwzlP2u1+lqlL
         g1O5v8uij/t2eo3+E6RqBJq2oU5znlxzz0wa0lR7YAxf/Nhzt7b99ZwWSqUxFscUM3wU
         tPNUnUgy1JtXcgzqx/+Vhk0aMo+WmxzkMrFG+GAFoxNM60wLThJ+dgMSXe37wQGmr2/G
         wcvsTRb+hBwyQwfhLnIqBfSz1l4l5+ABsdkVDmFKPF5w02JQebWHwFA4Sdmqufh71CeM
         XV1g==
X-Gm-Message-State: AOJu0YwnS5l440KITk6h9zZ6ODl98xirktr59yZql1pEdIZR2TgcFZOk
	llHsDvJSvXOHPUnRLJRwqm5bUasEI+zYmU48rW8=
X-Google-Smtp-Source: AGHT+IHkj9T8DrXWdcr1deWl2X20wmv10+1RKUMoCVqYgbF5IlYyZ/WojtAGsWiGj41mpTfzhm/v/jt1p95Bk8C01lo=
X-Received: by 2002:a17:906:f813:b0:a16:3da0:dd36 with SMTP id
 kh19-20020a170906f81300b00a163da0dd36mr655688ejb.48.1701168307466; Tue, 28
 Nov 2023 02:45:07 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net> <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
 <alpine.DEB.2.22.394.2311271826370.3533093@ubuntu-linux-20-04-desktop> <CA+1FSijGq3oByrb7sDy-Zw5zqFXamyeYGrYQ9jouhN42ZDrvYA@mail.gmail.com>
In-Reply-To: <CA+1FSijGq3oByrb7sDy-Zw5zqFXamyeYGrYQ9jouhN42ZDrvYA@mail.gmail.com>
From: Mario Marietto <marietto2008@gmail.com>
Date: Tue, 28 Nov 2023 11:44:31 +0100
Message-ID: <CA+1FSihT_kEzNjoA7-sAp4LGB2zh=3a9DT1_fAU1X6+zFqb55w@mail.gmail.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32 bit
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Chuck Zmudzinski <brchuckz@netscape.net>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Demi Marie Obenour <demi@invisiblethingslab.com>, Anthony PERARD <anthony.perard@citrix.com>, 
	Julien Grall <julien@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>, 
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, 
	Elliott Mitchell <ehem+freebsd@m5p.com>
Content-Type: multipart/alternative; boundary="000000000000ab760e060b341c75"

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

oh sorry I'm missing the DESTDIR parameter :

$ make  -DNO_MODULES   KERNCONF=3DGENERIC TARGET=3Darm TARGET_ARCH=3Darmv7
DESTDIR=3D/build buildkernel



On Tue, Nov 28, 2023 at 11:41=E2=80=AFAM Mario Marietto <marietto2008@gmail=
.com>
wrote:

> Hello.
>
> to try to compile the correct freebsd kernel that's recognized by xen
> using the Elliott Michell code, are the commands below the correct ones ?
>
> $ truncate -s 100G xenvm.img
> $ mdconfig -f xenvm.img -u 0
> $ newfs /dev/md0
> $ mount /dev/md0 /mnt
> $ git clone https://gitlab.com/ehem/freebsd-src.git
> $ cd freebsd-src
>
> $ make  -DNO_MODULES   KERNCONF=3DGENERIC TARGET=3Darm TARGET_ARCH=3Darmv=
7 buildkernel
>
> $ echo "/dev/xbd0       /       ufs     rw      1
> 1" > /mnt/etc/fstab
>
> $ nano /build/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm o=
n secure")
> $ umount /build
> $ mdconfig -d -u 0
>
> Do you see errors ? some missing ? very thanks.
>
>
> On Tue, Nov 28, 2023 at 3:28=E2=80=AFAM Stefano Stabellini <sstabellini@k=
ernel.org>
> wrote:
>
>> On Mon, 27 Nov 2023, Chuck Zmudzinski wrote:
>> > On 11/27/2023 10:22 AM, Chuck Zmudzinski wrote:
>> > > On 11/27/2023 7:45 AM, Mario Marietto wrote:
>> > >> @Chuck Zmudzinski <mailto:brchuckz@netscape.net> : Stay tuned. They
>> want to help us. The xen developers are great. Very good support for us.
>> I'm sure that you can give a good contribution to understand what's our
>> problem and how to implement a fix with the help of all those good guys.
>> > >>
>> > >> On Mon, Nov 27, 2023 at 11:56=E2=80=AFAM Roger Pau Monn=C3=A9 <
>> roger.pau@citrix.com <mailto:roger.pau@citrix.com>> wrote:
>> > >>
>> > >>     On Mon, Nov 27, 2023 at 10:28:13AM +0000, Henry Wang wrote:
>> > >>     > +(xen-devel and Arm maintainers, including Julien)
>> > >>     >
>> > >>     > > On Nov 27, 2023, at 18:03, Mario Marietto <
>> marietto2008@gmail.com <mailto:marietto2008@gmail.com>>
>> > >>     > > wrote:
>> > >>     > >
>> > >>     > > Hello.  We have just virtualized Debian 12 on our arm (32
>> bit)
>> > >>     > > Chromebook model xe303c12 . As host / dom0 we have chosen
>> Devuan
>> > >>     > > 5,and for guest / domU,Debian 12. It works great. But our
>> goal is
>> > >>     > > different. We want to virtualize FreeBSD as domU. Can we
>> have a
>> > >>     > > working Xen PV network driver for a FreeBSD arm guest ?. I
>> found
>> > >>     > > that Julien Grall has ported the Xen drivers to FreeBSD on
>> arm. I
>> > >>     > > would like to know if Julien's work was accepted upstream b=
y
>> > >>     > > FreeBSD, in which case FreeBSD as a Xen guest on arm should
>> work
>> > >>     > > if we enable the Xen PV drivers in the FreeBSD on arm
>> kernel. If
>> > >>     > > Julien's work was not accepted upstream by FreeBSD, we will
>> have
>> > >>     > > to find his patches and apply them ourselves to the FreeBSD
>> on arm
>> > >>     > > kernel.
>> > >>
>> > >>     I've added Elliot on Cc as he is working on upstreaming the
>> patches to
>> > >>     FreeBSD.  He will be able to provide a better update than mysel=
f.
>> > >>
>> > >>     Regards, Roger.
>> > >
>> > > I have been collaborating with Mario, and I can explain what we have
>> done so far :
>> > >
>> > > We are using Julien's patch set against an old development version o=
f
>> FreeBSD 11
>> > > from 2014-12-03 :
>> > >
>> > >
>> https://xenbits.xen.org/gitweb/?p=3Dpeople/julieng/freebsd.git;a=3Dshort=
log;h=3Drefs/heads/xen-arm-v2.2
>> > >
>> > > We successfully built the XENVIRT kernel and FreeBSD world, and
>> created the
>> > > FreeBSD rootfs according to Julien's instructions here :
>> > >
>> > >
>> https://lists.freebsd.org/pipermail/freebsd-xen/2014-November/002202.htm=
l
>> > >
>> > > There were some adjustments to the instructions :
>> > >
>> > > To build the kernel, we used :
>> > >
>> > > $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENVIRT buildkernel
>> > >
>> > > instead of
>> > >
>> > > $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENHVM buildkernel
>> > >
>> > > The FreeBSD 'kernel' file is in ELF format and did not work, and we
>> spent
>> > > some time trying to convert it to the zImage format without realizin=
g
>> the
>> > > build of the FreeBSD kernel creates the 'kernel.bin' file in the
>> zImage format.
>> > > So when booting with the 'kernel.bin' file instead, it actually boot=
s
>> :
>> > >
>> > > user@devuan-bunsen ~ % sudo xl create freebsd.cfg
>> > > Parsing config from freebsd.cfg
>> > > user@devuan-bunsen ~ % sudo xl li
>> > > Name                                        ID   Mem VCPUs  State
>>  Time(s)
>> > > Domain-0                                     0   768     2
>>  r-----    1439.4
>> > > freebsd                                      1  1152     1
>>  r-----       3.0
>> > > user@devuan-bunsen ~ %
>> > >
>> > > However, the guest is still not working correctly :
>> > >
>> > > 1. Attaching the console with the -c option at creation or with
>> > >    'xl console freebsd' results in no output to the console.
>> > >
>> > > 2. The timestamp on the virtual disk image file shows that the
>> filesystem
>> > >    was at best mounted read-only, if it was mounted at all by the
>> guest
>> > >    FreeBSD kernel.
>> > >
>> > > 3. The 'xl shutdown freebsd' command does not work, it just hangs. T=
o
>> stop
>> > >    the guest, you need to do 'xl destroy freebsd'.
>> > >
>> > > However, I think we can get the console to work and the rootfs to
>> mount because I
>> > > just realized I forgot to do the steps from Julien's instructions of
>> editing the
>> > > /etc/fstab and /etc/ttys files in the FreeBSD rootfs :
>> > >
>> > > $ echo "/dev/xbd0       /       ufs     rw      1       1" >
>> /mnt/etc/fstab
>> > > $ vi /mnt/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm
>> on secure")
>> > >
>> > > I will add those and see if the console and disk are working.
>> >
>> > Unfortunately, adding xc0 to /etc/ttys and /dev/xbd0 as the root devic=
e
>> in
>> > /etc/fstab did not make the console or disk work. Still no output on t=
he
>> > xen console from the guest kernel, and the timestamp on the rootfs ima=
ge
>> > file did not change so it did not mount read-write.
>> >
>> > We could use some advice for troubleshooting this. Now, we are blind
>> because
>> > we are not getting any xen console output But I am pleased we were abl=
e
>> to
>> > demonstrate that Julien's old patch set for FreeBSD 11 allows us to bo=
ot
>> > FreeBSD 11 on a modern version of Xen on arm - we are using the Debian
>> > stable Xen 4.17 packages.
>>
>> You can use the DEBUG hypercalls to check how far we got into the
>> booting process:
>> https://wiki.xenproject.org/wiki/Xen_ARM_DEBUG_hypercalls
>>
>> For instance add the following to FreeBSD code:
>>
>> asm volatile("hvc 0xfffd");
>>
>>
>
> --
> Mario.
>


--=20
Mario.

--000000000000ab760e060b341c75
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><pre class=3D"gmail-_3GnarIQX9tD_qsgXkfSDz1">oh sorry I&#3=
9;m missing the DESTDIR parameter :<br><br>$ make  -DNO_MODULES   KERNCONF=
=3DGENERIC TARGET=3Darm TARGET_ARCH=3Darmv7 <code class=3D"gmail-_34q3PgLsx=
9zIU5BiSOjFoM">DESTDIR=3D/build </code>buildkernel<code><br></code><br><br>=
</pre></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_=
attr">On Tue, Nov 28, 2023 at 11:41=E2=80=AFAM Mario Marietto &lt;<a href=
=3D"mailto:marietto2008@gmail.com">marietto2008@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(204,204,204);padding-left:1ex"><div dir=3D"ltr"><=
div>Hello.</div><div><br></div><div>to try to compile the correct freebsd k=
ernel that&#39;s recognized by xen using the Elliott Michell code, are the =
commands below the correct ones ?</div><div><br></div><div><pre><code>$ tru=
ncate -s 100G xenvm.img<br>$ mdconfig -f xenvm.img -u 0=20
$ newfs /dev/md0=20
$ mount /dev/md0 /mnt<br>$</code><span style=3D"font-family:monospace"><spa=
n style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)"> git clone <=
a href=3D"https://gitlab.com/ehem/freebsd-src.git" target=3D"_blank">https:=
//gitlab.com/ehem/freebsd-src.git</a><br>$ </span></span>cd freebsd-src<br>=
<br>$ make  -DNO_MODULES   KERNCONF=3DGENERIC TARGET=3Darm TARGET_ARCH=3Dar=
mv7 buildkernel<code><br><br>$ echo &quot;/dev/xbd0       /       ufs     r=
w      1=20
1&quot; &gt; /mnt/etc/fstab =20

$ nano /build/etc/ttys (add the line &#39;xc0 &quot;/usr/libexec/getty Pc&q=
uot; xterm on secure&quot;)
$ umount /build<br>$ mdconfig -d -u 0<br><br></code></pre><pre><code>Do you=
 see errors ? some missing ? very thanks.<br></code></pre></div></div><br><=
div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Tue, Nov=
 28, 2023 at 3:28=E2=80=AFAM Stefano Stabellini &lt;<a href=3D"mailto:sstab=
ellini@kernel.org" target=3D"_blank">sstabellini@kernel.org</a>&gt; wrote:<=
br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8e=
x;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Mon, 27 Nov 2=
023, Chuck Zmudzinski wrote:<br>
&gt; On 11/27/2023 10:22 AM, Chuck Zmudzinski wrote:<br>
&gt; &gt; On 11/27/2023 7:45 AM, Mario Marietto wrote:<br>
&gt; &gt;&gt; @Chuck Zmudzinski &lt;mailto:<a href=3D"mailto:brchuckz@netsc=
ape.net" target=3D"_blank">brchuckz@netscape.net</a>&gt; : Stay tuned. They=
 want to help us. The xen developers are great. Very good support for us. I=
&#39;m sure that you can give a good contribution to understand what&#39;s =
our problem and how to implement a fix with the help of all those good guys=
.<br>
&gt; &gt;&gt; <br>
&gt; &gt;&gt; On Mon, Nov 27, 2023 at 11:56=E2=80=AFAM Roger Pau Monn=C3=A9=
 &lt;<a href=3D"mailto:roger.pau@citrix.com" target=3D"_blank">roger.pau@ci=
trix.com</a> &lt;mailto:<a href=3D"mailto:roger.pau@citrix.com" target=3D"_=
blank">roger.pau@citrix.com</a>&gt;&gt; wrote:<br>
&gt; &gt;&gt; <br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0On Mon, Nov 27, 2023 at 10:28:13AM +0000, =
Henry Wang wrote:<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; +(xen-devel and Arm maintainers, incl=
uding Julien)<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt;<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; On Nov 27, 2023, at 18:03, Mario=
 Marietto &lt;<a href=3D"mailto:marietto2008@gmail.com" target=3D"_blank">m=
arietto2008@gmail.com</a> &lt;mailto:<a href=3D"mailto:marietto2008@gmail.c=
om" target=3D"_blank">marietto2008@gmail.com</a>&gt;&gt;<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; wrote:<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt;<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Hello.=C2=A0 We have just virtua=
lized Debian 12 on our arm (32 bit)<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Chromebook model xe303c12 . As h=
ost / dom0 we have chosen Devuan<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; 5,and for guest / domU,Debian 12=
. It works great. But our goal is<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; different. We want to virtualize=
 FreeBSD as domU. Can we have a<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; working Xen PV network driver fo=
r a FreeBSD arm guest ?. I found<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; that Julien Grall has ported the=
 Xen drivers to FreeBSD on arm. I<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; would like to know if Julien&#39=
;s work was accepted upstream by<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; FreeBSD, in which case FreeBSD a=
s a Xen guest on arm should work<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; if we enable the Xen PV drivers =
in the FreeBSD on arm kernel. If<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; Julien&#39;s work was not accept=
ed upstream by FreeBSD, we will have<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; to find his patches and apply th=
em ourselves to the FreeBSD on arm<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0&gt; &gt; kernel.<br>
&gt; &gt;&gt; <br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0I&#39;ve added Elliot on Cc as he is worki=
ng on upstreaming the patches to<br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0FreeBSD.=C2=A0 He will be able to provide =
a better update than myself.<br>
&gt; &gt;&gt; <br>
&gt; &gt;&gt;=C2=A0 =C2=A0 =C2=A0Regards, Roger.<br>
&gt; &gt; <br>
&gt; &gt; I have been collaborating with Mario, and I can explain what we h=
ave done so far :<br>
&gt; &gt; <br>
&gt; &gt; We are using Julien&#39;s patch set against an old development ve=
rsion of FreeBSD 11<br>
&gt; &gt; from 2014-12-03 :<br>
&gt; &gt; <br>
&gt; &gt; <a href=3D"https://xenbits.xen.org/gitweb/?p=3Dpeople/julieng/fre=
ebsd.git;a=3Dshortlog;h=3Drefs/heads/xen-arm-v2.2" rel=3D"noreferrer" targe=
t=3D"_blank">https://xenbits.xen.org/gitweb/?p=3Dpeople/julieng/freebsd.git=
;a=3Dshortlog;h=3Drefs/heads/xen-arm-v2.2</a><br>
&gt; &gt; <br>
&gt; &gt; We successfully built the XENVIRT kernel and FreeBSD world, and c=
reated the<br>
&gt; &gt; FreeBSD rootfs according to Julien&#39;s instructions here :<br>
&gt; &gt; <br>
&gt; &gt; <a href=3D"https://lists.freebsd.org/pipermail/freebsd-xen/2014-N=
ovember/002202.html" rel=3D"noreferrer" target=3D"_blank">https://lists.fre=
ebsd.org/pipermail/freebsd-xen/2014-November/002202.html</a><br>
&gt; &gt; <br>
&gt; &gt; There were some adjustments to the instructions :<br>
&gt; &gt; <br>
&gt; &gt; To build the kernel, we used :<br>
&gt; &gt; <br>
&gt; &gt; $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENVIRT buildkernel<br=
>
&gt; &gt; <br>
&gt; &gt; instead of<br>
&gt; &gt; <br>
&gt; &gt; $ sudo make TARGET_ARCH=3Darmv6 KERNCONF=3DXENHVM buildkernel<br>
&gt; &gt; <br>
&gt; &gt; The FreeBSD &#39;kernel&#39; file is in ELF format and did not wo=
rk, and we spent<br>
&gt; &gt; some time trying to convert it to the zImage format without reali=
zing the<br>
&gt; &gt; build of the FreeBSD kernel creates the &#39;kernel.bin&#39; file=
 in the zImage format.<br>
&gt; &gt; So when booting with the &#39;kernel.bin&#39; file instead, it ac=
tually boots :<br>
&gt; &gt; <br>
&gt; &gt; user@devuan-bunsen ~ % sudo xl create freebsd.cfg<br>
&gt; &gt; Parsing config from freebsd.cfg<br>
&gt; &gt; user@devuan-bunsen ~ % sudo xl li<br>
&gt; &gt; Name=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 ID=C2=A0 =C2=A0Mem VCPUs=C2=A0 State=C2=A0 =C2=A0Time(s)<br>
&gt; &gt; Domain-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 =C2=
=A00=C2=A0 =C2=A0768=C2=A0 =C2=A0 =C2=A02=C2=A0 =C2=A0 =C2=A0r-----=C2=A0 =
=C2=A0 1439.4<br>
&gt; &gt; freebsd=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 1=C2=A0 1152=C2=A0 =C2=A0 =C2=A01=C2=A0 =C2=A0 =C2=A0r-----=C2=A0 =C2=
=A0 =C2=A0 =C2=A03.0<br>
&gt; &gt; user@devuan-bunsen ~ %<br>
&gt; &gt; <br>
&gt; &gt; However, the guest is still not working correctly :<br>
&gt; &gt; <br>
&gt; &gt; 1. Attaching the console with the -c option at creation or with<b=
r>
&gt; &gt;=C2=A0 =C2=A0 &#39;xl console freebsd&#39; results in no output to=
 the console.<br>
&gt; &gt; <br>
&gt; &gt; 2. The timestamp on the virtual disk image file shows that the fi=
lesystem<br>
&gt; &gt;=C2=A0 =C2=A0 was at best mounted read-only, if it was mounted at =
all by the guest<br>
&gt; &gt;=C2=A0 =C2=A0 FreeBSD kernel.<br>
&gt; &gt; <br>
&gt; &gt; 3. The &#39;xl shutdown freebsd&#39; command does not work, it ju=
st hangs. To stop<br>
&gt; &gt;=C2=A0 =C2=A0 the guest, you need to do &#39;xl destroy freebsd&#3=
9;.<br>
&gt; &gt; <br>
&gt; &gt; However, I think we can get the console to work and the rootfs to=
 mount because I<br>
&gt; &gt; just realized I forgot to do the steps from Julien&#39;s instruct=
ions of editing the<br>
&gt; &gt; /etc/fstab and /etc/ttys files in the FreeBSD rootfs :<br>
&gt; &gt; <br>
&gt; &gt; $ echo &quot;/dev/xbd0=C2=A0 =C2=A0 =C2=A0 =C2=A0/=C2=A0 =C2=A0 =
=C2=A0 =C2=A0ufs=C2=A0 =C2=A0 =C2=A0rw=C2=A0 =C2=A0 =C2=A0 1=C2=A0 =C2=A0 =
=C2=A0 =C2=A01&quot; &gt; /mnt/etc/fstab<br>
&gt; &gt; $ vi /mnt/etc/ttys (add the line &#39;xc0 &quot;/usr/libexec/gett=
y Pc&quot; xterm on secure&quot;)<br>
&gt; &gt; <br>
&gt; &gt; I will add those and see if the console and disk are working.<br>
&gt; <br>
&gt; Unfortunately, adding xc0 to /etc/ttys and /dev/xbd0 as the root devic=
e in<br>
&gt; /etc/fstab did not make the console or disk work. Still no output on t=
he<br>
&gt; xen console from the guest kernel, and the timestamp on the rootfs ima=
ge<br>
&gt; file did not change so it did not mount read-write.<br>
&gt; <br>
&gt; We could use some advice for troubleshooting this. Now, we are blind b=
ecause<br>
&gt; we are not getting any xen console output But I am pleased we were abl=
e to<br>
&gt; demonstrate that Julien&#39;s old patch set for FreeBSD 11 allows us t=
o boot<br>
&gt; FreeBSD 11 on a modern version of Xen on arm - we are using the Debian=
<br>
&gt; stable Xen 4.17 packages.<br>
<br>
You can use the DEBUG hypercalls to check how far we got into the<br>
booting process:<br>
<a href=3D"https://wiki.xenproject.org/wiki/Xen_ARM_DEBUG_hypercalls" rel=
=3D"noreferrer" target=3D"_blank">https://wiki.xenproject.org/wiki/Xen_ARM_=
DEBUG_hypercalls</a><br>
<br>
For instance add the following to FreeBSD code:<br>
<br>
asm volatile(&quot;hvc 0xfffd&quot;);<br>
<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--000000000000ab760e060b341c75--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 10:55:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 10:55:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643014.1002850 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vkg-0003YR-Kv; Tue, 28 Nov 2023 10:55:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643014.1002850; Tue, 28 Nov 2023 10: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 1r7vkg-0003YK-IB; Tue, 28 Nov 2023 10:55:38 +0000
Received: by outflank-mailman (input) for mailman id 643014;
 Tue, 28 Nov 2023 10:55: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=A0gx=HJ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r7vke-0003Wg-Ip
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 10:55:36 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061c.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a790efe1-8ddc-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 11:55:34 +0100 (CET)
Received: from DUZPR01CA0001.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:3c3::10) by AM7PR08MB5431.eurprd08.prod.outlook.com
 (2603:10a6:20b:10c::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Tue, 28 Nov
 2023 10:55:30 +0000
Received: from DB5PEPF00014B90.eurprd02.prod.outlook.com
 (2603:10a6:10:3c3:cafe::89) by DUZPR01CA0001.outlook.office365.com
 (2603:10a6:10:3c3::10) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend
 Transport; Tue, 28 Nov 2023 10:55:30 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B90.mail.protection.outlook.com (10.167.8.228) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 10:55:29 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Tue, 28 Nov 2023 10:55:29 +0000
Received: from 93ca64726e9e.1
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 FD9C356D-4219-4688-AED5-5FF7F696FF77.1; 
 Tue, 28 Nov 2023 10:55:19 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 93ca64726e9e.1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 28 Nov 2023 10:55:18 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by VI1PR08MB9981.eurprd08.prod.outlook.com (2603:10a6:800:1c5::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.28; Tue, 28 Nov
 2023 10:55:14 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023
 10:55: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: a790efe1-8ddc-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=VNJ8AZEM2SU0vOT9dsNCH6NU7d11HBPF1ZpHzSD2ny/Ym+0BVxJN97t0mOYS/EVGykx8ROBFKrHGsXzK+G2s2QN5CNr+a2e/+CLrhN8WjvmbhIqxJOXDqqr9Wxz3aSLYaWS13Xc/OOcZMAJEE4NXoGLpr1L/lamRSl1ulWmX1jE7vOC/t7HzaBDEgQXS62pnZHE2/52qgFbmJIss4ZkfcwbA6q1SPwVSICpPXD9lCnUQ7UBX+oDwbam65OLfX9i9fZu7wWER4RG1PT/OkfOroGKG1emVeCpSsoJmZqg3pqQWXqV07i8gJ8ueq5hMzW6BUk7V3no0vy1nkTqqIqbpGQ==
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=qO3hbXopS1Gt+KOsjIh1wP42OchnGb1nznd3sKCCNfs=;
 b=LkhMA4XQqcRQuZHHO6mB9erArfhAvihOv+86j9dZM3NicysdcWwOKuBrQ6zVtc78gEf986YaVs2dvhN+zrp01H6GpEkPN4nUX6QKtXvSt2fSTTYtCkkjQ/Q6CcNveoLnsEILoMtYG0tnnRmguUh5UpUCL3ZPZdmmpW9n4K70K/Jg+qYmh65Dbys5MZLBrjRsfuHXtjJ5MPprONTs+eZ8IEn+aZlbd8XRzBeQAKzLMpwbV+xKTPqOe4/shadJkZBt4FMgo++TNqDrhbpJ989CMqw4W8FeuRb7OhVMBc7eAKc23lMrWOQzUwIzIC+LcIr2pngZNMdB8EL7as0m+56JxQ==
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=qO3hbXopS1Gt+KOsjIh1wP42OchnGb1nznd3sKCCNfs=;
 b=lfwYlD4bwzlDXnbiFetCjfVBe0CsqKMDRUHq6VI+FMIGoLUgLCmxM8YW4QGSG1qnlIlLRDfjPZB91WwAq/OZQ308kZaupW4xLnI92HTbcIfPpHyNz6uE64LReCdH35jnO+VC7VvM4kvDNRa1AazUCFv64580FAARiTNuECOxPm4=
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: 701a514e42a40085
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iG41Suz4j/+KedeBB1tApcqJRvHlyaAzwHrLH8mZ9p+tuv+l6HnVaBdy2w9pC+7qkXIKH5ScJo18vI2r+QJF2fX0JLgva8GLZQJ4exPc2NR93P2FBwgij1Ayw87RkVXeowCnl17i3xbVnYvN7q1JJq3aceg9R70SDOz6u7RNCPWWVr46CAchU/iYpZebUvtMCc4kOy8sg3EzSdCUvX+YXDEDR48ffG1BzlY7jT7ouS1Qlzjfo59mdF4yto7TAqop5Z6dZAWdJS1lsPiperx79mQMrZVKoQX87Ce4inlBv9rpcHBQ0l4O7g5bqv3td44iNV07RyOlOFo14WCW3L6gXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=qO3hbXopS1Gt+KOsjIh1wP42OchnGb1nznd3sKCCNfs=;
 b=Sn1xQ135rCNbxchqSm9OWolJ/7Ya5bRHnzDo8aUR9bD+DkRn4JhFZxKcCGlnPg6aueCGNp9Fm/4Rvf/3BLUiTFjoliFV1b7CJhkNeUqejI6LJqsZWCk2+z1hjgH6gblpesAOeacYSW3G2JCrRo3lPAswSPjH3w5SWQ45BimhSfzyYGyLAJZzUwDoF93WXjD3DhgF9Pzio4iGrQxTwBNlYCBTODJmHKy7Dd6uNJ6brOb35XVESaK1tY4W4CGNJTuv0uErXhcSkNdtiT+hN5KyxmctQtlqfKQAqOhzqWLUChPgm56HWSyjgLL2KJTlzVKpD3qy7ymykWqUQP/iFq/xbg==
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=qO3hbXopS1Gt+KOsjIh1wP42OchnGb1nznd3sKCCNfs=;
 b=lfwYlD4bwzlDXnbiFetCjfVBe0CsqKMDRUHq6VI+FMIGoLUgLCmxM8YW4QGSG1qnlIlLRDfjPZB91WwAq/OZQ308kZaupW4xLnI92HTbcIfPpHyNz6uE64LReCdH35jnO+VC7VvM4kvDNRa1AazUCFv64580FAARiTNuECOxPm4=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Clang-format configuration discussion - pt 2
Thread-Topic: Clang-format configuration discussion - pt 2
Thread-Index:
 AQHaHhwDfni7SbjBtk6S7YLD/w4HebCJbICAgAAi9QCABIyNgIAAK/0AgAAEPICAAAbTgIABQ2eA
Date: Tue, 28 Nov 2023 10:55:14 +0000
Message-ID: <53B2087D-A24C-45EF-BC4F-012714C718B3@arm.com>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
 <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
 <838395c3-41ba-4004-abf1-948b655a5ef2@suse.com>
 <B5AF6A9F-3986-4F3C-90F7-122D63A2B31A@arm.com>
 <a99681e4-e201-4abe-bf6a-fda61674074e@suse.com>
 <8DE85ED0-2949-4FF1-832B-ABEDC86BF13B@arm.com>
In-Reply-To: <8DE85ED0-2949-4FF1-832B-ABEDC86BF13B@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|VI1PR08MB9981:EE_|DB5PEPF00014B90:EE_|AM7PR08MB5431:EE_
X-MS-Office365-Filtering-Correlation-Id: 085deb45-dc09-468e-37f2-08dbf000892c
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:
 JQynM+i2EkvcdII3O7uyZ9uPPXs/OV9xZlqsNK5dTo8mpGBo2Uj8TdUC7Ar7KGv6LEVYFstRo3BGxJcA4GyObx8DsVUiKg/AAZsAVpehD4dlgN4/cKrxF5xbIU4JlhBAUnWBMqaKv/Q3cDOn/L+OMYtC5wV8uTl5gvkWvisgpGKehQc809M2/j5nO+hu4tznysDT/bGjHqBndfwa4rg0MHeer8r8nfaGNqseQ9Y65YWjkJaKFJLTf9dk36sClDJRIBR9RDEMEAnzABUtkhPQKA6odVqTau1QcAkIfLE7eqaS5ZpeqP0USVF/C225kf4MVcV2K7tMSt0GCwJ+8zrCqROBEQE++5XwEu8acD83yCZxdRR3mkIDsAAVze/f+Q6Wh8VsYmTBXx8YjeLZnAGIM6kmrP8ohZad3t1JcZj+qExIGjZi3NlCYr18d32Q2+YyvK6ZMpIP2h+j9GBNA1bAi0iCysHd4rBejJMQeM9BXL1bIH+6g8bqdj87H1by4rXgta/n6AbxHQg98cNkw6EAouaWJYIR4HwC96WGgnmqnRQcVLtZIt/WXFRAqWLWcJ8QOb2SukFC0HsjqaKATMKYrPPB8uEbmf/KN7KfXCwVORIhp/C/lDXY1YthlNufmJ90mS3uYei6E9DzuTobBi5EGaLoP7VvHsk9WY+dpI1LIRCFY9YShzco0NJUYvk8vNbJ
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(136003)(39850400004)(346002)(376002)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(38070700009)(2906002)(8936002)(4326008)(8676002)(41300700001)(5660300002)(478600001)(76116006)(316002)(6916009)(66946007)(64756008)(91956017)(66556008)(66446008)(66476007)(54906003)(36756003)(66899024)(86362001)(6486002)(26005)(71200400001)(53546011)(6512007)(33656002)(83380400001)(6506007)(122000001)(966005)(38100700002)(2616005)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <F417763E2DB7F74DA69BF1DA3F26D948@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB9981
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:
 DB5PEPF00014B90.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	edf4fb85-acad-43d2-8c94-08dbf0008038
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rNim0NKLWnXfNQPpYdq6751953mUWKZ6YZ8SWjCwkuR85+5VxYD8h7LQO101kX5/YuDDCFZ+7cz17xfALuM592gMgPB6NyBo8Bfa1Jx798rFKK+4wttHLwsrn0B3ryDnwA1z5EXgp4jlfkyAPn+yBXvTERPrAOUQmid5n8kXFpANU9F+YuwivvHaJHws+QMrYgChxdw546Loi82aOJ2eePTQA4jiFbiAdgbObMsEivBwvpXf+ks5KqgRGNCNUxtvwJOYHnt6geygH1wlg+VRhuXX5NtjBTMTdpws6SnVGZRcwDC2EvW0Md5p7a56fwiOpfxPpiQXYgX5oF3B80dN8I4esLgI4mXFtoBGIjX/US23Bd/N/2wC7Ungn8ql1StIy8cX//qlQs/67yfczj4CuY4hqdfJ3ZQf0fWv74j/OWHDi/af7zfx7+H/CfcgpTAL3a/wqHaxQ4cYQSurwA69bemnbLP7eU3dTdwPA/5xAmA7sHvdT3yAyrutgTBbmG+Bm6uKPmjvSttLprnZCc5EkZCce94yQPs1lAS555tUHDSyR9jE1mTqSa9L1fCim7AWXo4JXd7LNUYLaEVHTxpoEc1156FtzVCE1gyaxvozsONI+sszExb5THViHYCEMzk6xHa3QPDh55XoJe3Lr8ZWlR/WyIRmOoDCZljoNkDqqB54AL/hlV7QH+SC22NbtSHo84GHAM5lkXU9LqrUor8zyKQePm6fkXoRs5v9rHW8gfDUbaSJG5iFGI7VW/iTYV6xsO5gE4A6p7lCQtFEMqQnZw==
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:(13230031)(4636009)(376002)(136003)(396003)(39850400004)(346002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(82310400011)(40470700004)(46966006)(36840700001)(40460700003)(66899024)(81166007)(356005)(6486002)(966005)(82740400003)(478600001)(33656002)(41300700001)(8676002)(6862004)(4326008)(8936002)(36756003)(316002)(86362001)(54906003)(70206006)(70586007)(26005)(2616005)(47076005)(336012)(83380400001)(6506007)(53546011)(36860700001)(6512007)(2906002)(5660300002)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 10:55:29.4943
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 085deb45-dc09-468e-37f2-08dbf000892c
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:
	DB5PEPF00014B90.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR08MB5431

DQoNCj4gT24gMjcgTm92IDIwMjMsIGF0IDE1OjM3LCBMdWNhIEZhbmNlbGx1IDxMdWNhLkZhbmNl
bGx1QGFybS5jb20+IHdyb3RlOg0KPiANCj4gDQo+IA0KPj4gT24gMjcgTm92IDIwMjMsIGF0IDE1
OjEzLCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+IHdyb3RlOg0KPj4gDQo+PiBPbiAy
Ny4xMS4yMDIzIDE1OjU4LCBMdWNhIEZhbmNlbGx1IHdyb3RlOg0KPj4+PiBPbiAyNyBOb3YgMjAy
MywgYXQgMTI6MjAsIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4gd3JvdGU6DQo+Pj4+
IE9uIDI0LjExLjIwMjMgMTU6NTIsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+Pj4gT24gMjQg
Tm92IDIwMjMsIGF0IDEyOjQ3LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+IHdyb3Rl
Og0KPj4+Pj4+IE9uIDIzLjExLjIwMjMgMTU6NDcsIEx1Y2EgRmFuY2VsbHUgd3JvdGU6DQo+Pj4+
Pj4+IExldOKAmXMgY29udGludWUgdGhlIGRpc2N1c3Npb24gYWJvdXQgY2xhbmctZm9ybWF0IGNv
bmZpZ3VyYXRpb24sIHRoaXMgaXMgcGFydCAyLCBwcmV2aW91cyBkaXNjdXNzaW9ucyBhcmU6DQo+
Pj4+Pj4+IA0KPj4+Pj4+PiAtIGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMv
aHRtbC94ZW4tZGV2ZWwvMjAyMy0xMS9tc2cwMDQ5OC5odG1sDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBZ
b3UgY2FuIGZpbmQgdGhlIHNlcmllIGludHJvZHVjaW5nIGNsYW5nLWZvcm1hdCBoZXJlOg0KPj4+
Pj4+PiBodHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3Byb2plY3QveGVuLWRldmVsL2NvdmVy
LzIwMjMxMDMxMTMyMzA0LjI1NzM5MjQtMS1sdWNhLmZhbmNlbGx1QGFybS5jb20vDQo+Pj4+Pj4+
IGFuZCB0aGVyZSBpcyBhbHNvIGEgcGF0Y2ggbGlua2VkIHRvIG15IGdpdGxhYiBhY2NvdW50IHdo
ZXJlIHlvdSBjYW4gZmluZCB0aGUgb3V0cHV0IGZvciB0aGUgaHlwZXJ2aXNvciBjb2RlLg0KPj4+
Pj4+PiANCj4+Pj4+Pj4gRm9yIGEgZnVsbCBsaXN0IG9mIGNvbmZpZ3VyYWJsZXMgYW5kIHRvIGZp
bmQgdGhlIHBvc3NpYmxlIHZhbHVlcyBmb3IgdGhlbSwgcGxlYXNlIHJlZmVyIHRvIHRoaXMgcGFn
ZToNCj4+Pj4+Pj4gaHR0cHM6Ly9jbGFuZy5sbHZtLm9yZy9kb2NzL0NsYW5nRm9ybWF0U3R5bGVP
cHRpb25zLmh0bWwNCj4+Pj4+Pj4gDQo+Pj4+Pj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBPdXIgY29kaW5nIHN0eWxlIGRvZXNu4oCZdCBtZW50
aW9uIGFueXRoaW5nIGFib3V0IGFsaWdubWVudCwgc2hhbGwgd2UgYWRkIGEgbmV3IHNlY3Rpb24/
DQo+Pj4+Pj4+IEkgY2FuIHNlbmQgcGF0Y2hlcyB3aGVuIHdlIHJlYWNoIGFncmVlbWVudCBvbiBl
YWNoIG9mIHRoZXNlIHJ1bGVzLg0KPj4+Pj4+PiANCj4+Pj4+Pj4gDQo+Pj4+Pj4+IFF1YWxpZmll
ckFsaWdubWVudDogQ3VzdG9tDQo+Pj4+Pj4+IFF1YWxpZmllck9yZGVyOiBbJ3N0YXRpYycsICdp
bmxpbmUnLCAnY29uc3QnLCAndm9sYXRpbGUnLCAndHlwZSddDQo+Pj4+Pj4+IA0KPj4+Pj4+PiAt
LS0NCj4+Pj4+Pj4gRm9yIOKAnFF1YWxpZmllckFsaWdubWVudOKAnSBJIGNob3NlIEN1c3RvbSBp
biBvcmRlciB0byBhcHBseSBpbiDigJxRdWFsaWZpZXJPcmRlcuKAnSBhbiBvcmRlciBmb3IgdGhl
DQo+Pj4+Pj4+IHF1YWxpZmllcnMgdGhhdCBtYXRjaCB0aGUgY3VycmVudCBjb2RlYmFzZSwgd2Ug
Y291bGQgc3BlY2lmeSBhbHNvIOKAnExlYXZl4oCdIGluIG9yZGVyIHRvIGtlZXANCj4+Pj4+Pj4g
dGhlbSBhcyB0aGV5IGFyZS4NCj4+Pj4+PiANCj4+Pj4+PiBXaGVyZSBkbyBhdHRyaWJ1dGVzIGdv
IGluIHRoaXMgc2VxdWVuY2U/DQo+Pj4+PiANCj4+Pj4+IEkgdGhpbmsgZnVuY3Rpb24gZGVjbGFy
YXRpb24vZGVmaW5pdGlvbiBhbmQgdmFyaWFibGVzLg0KPj4+PiANCj4+Pj4gSG93IGRvZXMgdGhp
cyByZWxhdGUgdG8gbXkgcXVlc3Rpb24/IEkgYXNrZWQgYWJvdXQgdGhlIHNlcXVlbmNlIG9mIGVs
ZW1lbnRzDQo+Pj4+IGxpc3RlZCBmb3IgUXVhbGlmaWVyT3JkZXI6LCB3aGVyZSBhdHRyaWJ1dGVz
IGRvbid0IGFwcGVhciBhdCBhbGwgcmlnaHQgbm93Lg0KPj4+IA0KPj4+IFNvcnJ5LCBJIG1pc3Jl
YWQgeW91ciBxdWVzdGlvbiwgYXR0cmlidXRlcyBhcmUgbGlrZSBpbnZpc2libGUgZm9yIHRoZSB0
b29sLCB0aGV5IGNhbiBiZSBwbGFjZWQgd2hlcmV2ZXIgYmV0d2Vlbg0KPj4+IGVhY2ggb2YgdGhl
IFF1YWxpZmllck9yZGVyIGl0ZW1zLg0KPj4gDQo+PiBIb2hvLCBvbmUgdGhpbmcgd2hlcmUgdmFy
aW91cyBvcHRpb25zIGFyZSB0b2xlcmF0ZWQuDQoNCkkgcmVhbGlzZSBub3cgdGhhdCBteSBhbnN3
ZXIgYWJvdmUgaXMgbm90IGZ1bGx5IGNvcnJlY3QsIEkgd2FudGVkIHRvIHNheSB0aGF0IHRoZSBh
dHRyaWJ1dGVzIGFyZSBsaWtlIGludmlzaWJsZSBmb3IgdGhlIHRvb2wNCm9ubHkgd2hlbiBkZWFs
aW5nIHdpdGggdGhpcyBydWxlIGFib3V0IG9yZGVyaW5nIG9mIHRoZSBxdWFsaWZpZXJzLg0KDQpP
biB0aGUgb3RoZXIgaGFuZCwgeWVzLCBpZiB0aGUgUXVhbGlmaWVyQWxpZ25tZW50IGlzIOKAnExl
YXZl4oCdLCBjbGFuZy1mb3JtYXQgd29u4oCZdCB0b3VjaCB0aGVtLg0KDQpDaGVlcnMsDQpMdWNh
DQoNCg==


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:05:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:05:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643029.1002860 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vtg-0007mQ-LE; Tue, 28 Nov 2023 11:04:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643029.1002860; Tue, 28 Nov 2023 11: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 1r7vtg-0007mJ-IW; Tue, 28 Nov 2023 11:04:56 +0000
Received: by outflank-mailman (input) for mailman id 643029;
 Tue, 28 Nov 2023 11: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vtf-0007mD-Tg
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:04:56 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0607.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::607])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f53d579b-8ddd-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 12:04:54 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8276.eurprd04.prod.outlook.com (2603:10a6:20b:3e7::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 11:04:51 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 11: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: f53d579b-8ddd-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZAVvQQjs2qba7OEF3NV96y1F/owSHO51tXLHeiHGKORxCWiCMrcURMa2CHohjWC4qMuDb3iTj3+/gUZ2rK2ExS97X3ZL80BhdlLRQ0/mVOnNy8xaJV21bG8QTiB7PDNEamNm6acsQDRaQOUEMV6+KilL1tl50gbLQ50znp2X1J7ogiObjTVfHiaOwmVhKlrtg5ZsTJb1m20JCovuQh3xQzEA+TByJfXdtogM9wi9QyEH0P14Wc17lyhN3H5E8IAWn3TNgeAVtwuheMTR66yx0C55oSCU9jNaRFboYssVN+SAn3AJyGuXi+g3jXpFeqcJv1jf923acOUnU7yr3koAgg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=B0kiu5zcRzqLtk6BKde2UERGn+ThRitjMaC0tzTgvPM=;
 b=ZvwrcXOrLxaecaTgMZNRTfx+hHQe3Mo3bO4C3HhD33LEHu7euu7UC0wbPOAmO9dpXZmNLVSd3qRxwPnC4HDiqt0vEYVvS0BdChp/81CUWtxWZ+PC+/E11xKwezgXMaEW0+pJz41upAqDtEV+fYBp5WchY1rGlWcvQhhdsqrq5ufcN5KQYQKwQfNpdYUyYHIZXR4LptXz3/rak2xHZxZGu7gGrx+svsvRYtJFiHvRZIpKHeHloqiwPgucAcY9m3EjcxKN6np201LDoLSm1+2TA+3RRcwqHgmxs6rFjKq9FzttVZS8xT2kERcw7lWe/IDcyuveCf34kGkQ4uEH5lCGvw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=B0kiu5zcRzqLtk6BKde2UERGn+ThRitjMaC0tzTgvPM=;
 b=pbLBVZH7/cgQiui3A3Z0c93oetjWSKt9JbO4jVyZeoqcQWEdTuPxLO3Z3yIMdVraKY8eHjOdAVNdK4WKdv4jr2J/F4mIxiqBJ3mP0JqDCK6kSlj8xdJwed0kxO5WeUIFjkT500Nobn42KSSj3g5icvT7402JFZ67wqIFuhBZ3fs+wwahk2pVe7jnc8F/K12TwsPBzg8qvEpMbUqHLndepP2lzIEU18RjEnTDD+HOv9QA9gqabgsVLVxBbqQ8hwqGvGSo/ktLQDjLPEfcYxYMEguOMmIJDxr6QeAlx5ihtyH/WgxXqJY4Rk4oUd+c/f3+NvTZ+v3TgoO1CQrQYAJ7jg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Date: Tue, 28 Nov 2023 12:04:48 +0100
User-Agent: Mozilla Thunderbird
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH v3 0/6] x86emul: misc additions
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
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8276:EE_
X-MS-Office365-Filtering-Correlation-Id: 7bf6cfa1-07fe-4df6-b1aa-08dbf001d781
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7vUt08mGCEt6LxHwWxrvhOwrgF3CPj7KOt7hIpWFULtZkc/u/XQznnjgj1ITiAddlTmTEJH1Mm5hl3CcjmI5jvqzzFxJ3Mcjy6jxzLIufjFQiJ7rkV3Hv5BIbUYkZvjSaPkWZF2oS/UHTddSuAqlDQQI79SBJcIBGfc5kT/iu7C6JocFOvojYpaUGDGdmlyeYmv22hYIJOtKA792YQJO3/S+AW4xGPjMk4KPsY19GcRDxn4601SDJeaOrYBa/jbUQUqulSsO254KIKNkarNiDLE3uiqSFRV6serrdJxCn/+noVhD6ME4kTqaszc8SSdYCWvtF9tiWi2GE/fJ/Qh7vTZSHrX6vruNa4AIySOcB3GJrvRRtgvxOnMxPwzB1RALuCdKzFwwD2BZHJCJJNngsVMMuv9rW3lJit0eOZutnMgBkumbNCIsQkodlTP8pM3MpkLpgIZwb4gwHv0KSHpQ2oiQjoZV7RTnUnt4p7UG6jbZ4NPs63vKC6v7SqjoxyG+JSmJlB9pw6lmPrk9fhxZtQsTaWlNqfgjnaGkf7vgndleFpiH5p/9TRYAwfkQQnKYR6t+3JkD9LDkpZ39noDVgT0glzuS4J7cW4ZuJQ/I7l8DyXKgcIadDKkxh8rS8sWTEOx/x7XWH9GAhmCKOe+gVA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(366004)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(31686004)(26005)(2616005)(478600001)(6486002)(6506007)(6512007)(38100700002)(86362001)(5660300002)(31696002)(36756003)(41300700001)(2906002)(66946007)(83380400001)(4744005)(66476007)(66556008)(316002)(8676002)(6916009)(54906003)(8936002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bE0yTlptWUNJa1QzT3ZrL1prTnFLN3F0dlV6ZXZwTWVJNXhtK25SdEM4Rm8w?=
 =?utf-8?B?K1NGQmwvK3ZiQk9wamNlelo4MDBYTzl1RUwzYks0aExnNkJUK1lxK1RpcXdL?=
 =?utf-8?B?b1g3eU56MmMvQ290VFdsT2hzMmhWZVFzYmlpLzBNa3F5M050QlNZb2t3RlVh?=
 =?utf-8?B?b3loZWVaQjZxd1VLRHdZREdyRm84UVVVQ3dZdFN2WWVFanVpOU8zcWxIQWhP?=
 =?utf-8?B?QU1GTDVCREdYSmtaRlllOVM0bnhYUWhURENadC8waUlvWHBnc1JvQldOVlow?=
 =?utf-8?B?TFNuaVFubm85Q0RNeFl1K1pzK04yUldTWUhwYmpDYVp2RUN1Vm9mMDhnZ0xE?=
 =?utf-8?B?c0Q1TmlDZHpiRGRaNWdZZzZPQ0tueW1Sd1doRUtQZWlFeHh4aVlLdC9OZnBx?=
 =?utf-8?B?WnR5QmErRG82dFI4d3AremFYL2p0Y2l5Ykd0eXBLMnhJNzVSZHF1L2R5Ly94?=
 =?utf-8?B?MlJ6TWdCa2M4S3NCWklVOGFySmdJMVhURzVyL2tUZk8wRkNHYkdlS3k0c3JC?=
 =?utf-8?B?T1A4TGo2T0ZSOVlLZnhMVUpHdHQ1ZzNkdElkL1FXSHhFNTBqRGMrZnFjd2ZY?=
 =?utf-8?B?aUl3V09vMHhBbXVsR3BqekF0NmhTZzNyUHlJRVg2akd0TWFvSWFMbWx0d2pS?=
 =?utf-8?B?enVkRVVhMFZvSkl4QUo5Z2kxai9mdWpkbmxRMEJZaDZLWWhNU3BldXdPK2Zh?=
 =?utf-8?B?VXhaY09lNFJ5NjFFc0YzTW1xMkpacGhJd2RhR2RuQW51ME5CemZwRjdDclpL?=
 =?utf-8?B?QmZqUGUvVTQ4MnpKTjkxbHFsZHhLT1pPKzFySUE1ME45REVYY3RvTENBYlI0?=
 =?utf-8?B?RTg3cFpSSUhqQmZkUXdjd3AvbkZFd0ZzTHJGODZLN1J6eXlpb0hqM1JjSWZo?=
 =?utf-8?B?dEpNS0tyN3JNdUZaWW4zOFR4REdQUWprMDlqV1dNM0Y4YVhXNGNEM2J1S2Ns?=
 =?utf-8?B?SkE5T3BBRzR1b1lUd1lyQlNYVE11TXRNSmQ4aXlOcWFyZ1ZPT2ZOY1NZY25X?=
 =?utf-8?B?bDAxdXdIQ253Yi81b0JIRzZFVWhjc054d00yRjBkczdBbkVwUkJjMHRtUVps?=
 =?utf-8?B?QWNjUHE1SUN1MWpVbXRNenRidGgxdWtIU3ZNaFR3d3FXczRvbkE2Tnd5NzZt?=
 =?utf-8?B?RFpuQXpRVnkxaDNDWS95cnM1YXV4cXgva1RtVGs0K1h4bGRCbExubkNOMUtv?=
 =?utf-8?B?MDR5UmJKNUJLQjFESWd0b29yOHJzU051Ny91dnp3YVd0eWlSNCtrdWROQWVC?=
 =?utf-8?B?VWp6RTdZemVUZ1hObEVNZ0JMZ3pDanUrMzBaengzYkQ4Z2gxL3gxM25xYXU5?=
 =?utf-8?B?ZjJ1eVNNR00yTFpYV3RHdWxZYWlVUE5qaVA0bk1HWnBRa0t6eDdXOU95NUhY?=
 =?utf-8?B?LzlEQVo0M0UxYzA5cEVvYkdZQkVya2FGeWpJbWlYdk5COHJkN3pJK091L1pl?=
 =?utf-8?B?bFVIZnBoQVRoUkVIbHJ3b25GYndHV2ZiUkxPbCtOa0wzdkpHbDdSeWRJTzlE?=
 =?utf-8?B?c1IxMjdqSDZLZ2tCUDhhcGRidisxekJuUk1rOUNZT0lTR3I3bUE1NXI3blli?=
 =?utf-8?B?cUs3a3RrZ3ZOVEJENEVWUGlPSW91TWMyOUhwNjhNVm9JdU5yT3ExTXQ3Ulo3?=
 =?utf-8?B?QWRTd1QxVFJNY3V6b0xIVDUwQWpLK1liK3Q4L1lHbHVsQnFna0JGbWpxV1Fk?=
 =?utf-8?B?UGllL1pTLzk2bFl0MEwweGl2RFEycEwvbWZuSFpiTmlFTDd5WlZUczNGWkF0?=
 =?utf-8?B?VVVVWWxwSXFjOHdWemprSjU0QXBocTZkano5SDUyelJOQjY0MHo2UmdRNi9p?=
 =?utf-8?B?akZaaThQUHQ4QzAwZVIvYVNQaFdSdkRrUG9pR2JSVldwNDVFb3pPeHNJWnFp?=
 =?utf-8?B?WmZpTFlIOFMvRHlJLytQK0Q2OEVud1lrNUJ2MXhPSldsZncyOXZsSjdQYnNx?=
 =?utf-8?B?dG5mUitTZUhzdENVUHhuUHVrNUZXQ0V2UHREUUl2cjJzOXc5SXFIZS9NQldR?=
 =?utf-8?B?Vm9kWkhXOW5aUFJTYVU2eTVqNzVHRWJJc28zUklqeTd2Q2xST2Iydy9ocTdJ?=
 =?utf-8?B?Y3MrTWRjQmsya091M09iazVDc2NvU0tCQ1VSa3B1YWNZZ1V0YkRISG82VUhG?=
 =?utf-8?Q?u+f/gTmn7c1DxrXq7GpzDiFwN?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7bf6cfa1-07fe-4df6-b1aa-08dbf001d781
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 11:04:50.5199
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sTV707yayoH4MNoVOQDPNmhf5hCuef2RgDgY2cdRZfOjs/rnrULKu8j13qFLPs1ARRaiBCjcA0IeL/XF8erWHw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8276

This series adds support for a number of more or less recently announced
ISA extensions. The series interacts mildly (and only contextually) with
the AVX512-FP16 one. Note that an intended final patch (to fit in USER_MSR
elsewhere, in particular in VMX code) is yet to be written; specifically
I haven't checked yet whether - like was the case for MSRLIST - there's
again insufficient detail in the specification.

1: x86emul: support LKGS
2: x86emul: support CMPccXADD
3: VMX: tertiary execution control infrastructure
4: x86emul+VMX: support {RD,WR}MSRLIST
5: x86: introduce x86_seg_sys
6: x86emul: support USER_MSR instructions

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:06:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:06:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643031.1002871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vuw-0008T8-1F; Tue, 28 Nov 2023 11:06:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643031.1002871; Tue, 28 Nov 2023 11:06: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 1r7vuv-0008T1-Sb; Tue, 28 Nov 2023 11:06:13 +0000
Received: by outflank-mailman (input) for mailman id 643031;
 Tue, 28 Nov 2023 11:06: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vuu-0008Sq-Hx
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:06:12 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on062a.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::62a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 224cb7b8-8dde-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 12:06:09 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8276.eurprd04.prod.outlook.com (2603:10a6:20b:3e7::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 11:06:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 11:06: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: 224cb7b8-8dde-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=oL3MlrunuHOzwpSyhG0X/PCdkf5M4mI0H0QcyH2oW3JC7iOZhi5usBuTFqSQG4C8/YEO5OpvKBSZfqLY1bF3KEvb1uywVR3VxvZ6UOIIzbO3cx+ao4g1akzNwI+QQ7erm00Zp0NU9nnE882UaY8NAaQhvNOAKKxRFhwje5+1VDgUAR9HxMXvS3aJ68d3TDlbmMoas1Ij4NjsZqYC+OU0Y2CatNHrb72RCz3CNxyfe2mEdcL4uCGtodjBEwcxPCUSPtn2nv3hfbNq5jJFQTSnGOV1ett1d/JUNXgnIPfPli8j8QR7DaVNqpl5TcWJQLVTbetKX1IeRVZVMGepgCITDQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=2tCzUFHVVtZFMv3PlvJkQSJbk+2DfNWvtQzHlBmgIuQ=;
 b=Vi47j5CV7QJp11BWu1EnmoIq3psCv58hl/zp6IAuLrhEZ6HkTfQmelT4Rj+FFdy94aQDGPg21b/Hl1Lsj08WZAFW8aAuxhsg+CgllHsDLzdl3guniR0FTip54DrC8iTCo8r8n46XjDflc3hyRR2SAHIxrPpguivqV21/Eou/sQyMhMDJQVBt+pRZZUGLI9GyiOD3DdVBnSh25AQs3z9N7hs0NtIqrV0QDaoQzb09pMbsl5XF3DhZM5u54sUSi2VTJL/nQdBiUSPwqvGWM0yQ6+/yid3SnnCD1HnpSsR/Srs05RSvSvyfLI998SPCOqIcg24bgPyhInaKZZb0u7HBvA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=2tCzUFHVVtZFMv3PlvJkQSJbk+2DfNWvtQzHlBmgIuQ=;
 b=puPEj2efDnKt2JkN9RCQqUr0W/inooGIJA0TsnuWr0vRbOXT3C83Qe/wOOgVYHIQIQqwpJeFHvB5mNjNyHZllyrJITaBQbkuW8VH7UQhv7CuJpqNnsJgpCTUIpdO5+UC/oR0DFgr5HAIFR/HmEjYbywXZ3ev1Ja1EODXwiql4ZVaOQcuOLRB4vIGy2cjFOKdzRaWuevp94tYxdKW+TtaGhb0GkEp51IqD4Hl5MFeb4M6EAu3YkB90BCXta8r8bUklJQNPn6a8PvmHbmLoA3v/llWs1QmF4LLc0jHE0a7d7HtG69GesmhlcaG1VAV7GZzZ+/JAyLSJ22ifxe6pPwvDQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <2050719c-6a16-410c-b057-eed20733ffba@suse.com>
Date: Tue, 28 Nov 2023 12:06:06 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 1/6] x86emul: support LKGS
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: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8276:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b87a92d-5e59-424b-ec6e-08dbf002053d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	zYtZpJyx60aAbeFSHjUfATBObixXMlD1SW9ESTYicFsIqPO8e38nZhpdM3mo3V/8krKilZag2/HmcpbIUf2uh0MPcgm521W6vw43rQbpn67eXJaXKPw1GaCNRcYCnJQPAP5paTAz7brpkT68aaM60LrFmXHLApWeoUQYJhVKgDdiCKligLrULRS957WqblEA1ruKJNjL8FKLXwWJJ1f99VgBqZs/eP8WnK9KcVhaDjwU1LJe4SL2QtRoVtcHFBKfw5OtSk0QhybBPZjIux4NaDqD1eh4JQCL6qnz1A2LiAXUJuY3M7wFArFNDUkKMyS1jcX3XNCeMnkqPhW67q8yE5FJp4CaxcKyIHf3A+dXwVCDyuVsALYMSuAezvHrJnIW1b3GoxN1f62cp9+Sad6unIdz1OFfhsqXKTLZpDf9CO1VmCCHv4sco0Ur+6+HUn+V4Ci8DsUiNyVfclWc/okwAXZpgEF8eiTmSv1EB7WbQBtTZPiiMDO04t0hm+nHmO5lUKmieEPGho/ZL9r+/JpjWErD0PyZI/lVryQYnLY3B22ZlcF8TRG8WKSnkr+I2pB/dAJirWkaYBnLSbdpQFamuo0COZ4H0RC67/dhSMngz+Z/2eFExTZ9b4eDXDY2hsLUqFQEEdV6WreutGZia5n5jQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(366004)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(31686004)(26005)(2616005)(478600001)(6486002)(6506007)(6512007)(38100700002)(86362001)(5660300002)(31696002)(36756003)(41300700001)(2906002)(66946007)(83380400001)(66476007)(66556008)(316002)(8676002)(6916009)(54906003)(8936002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aGxob2tVMWM5QU5LdXFGemdNTWVMaHhKWjNidjZKdXhQdzZ5d1JQdXZ1NjUy?=
 =?utf-8?B?SThoU3haeFBQbElVdHZiUnRrWHUvZTZQcFlMV0Rkb3FpZXhTTnVhV1FTNnll?=
 =?utf-8?B?dXU5UXNvTng0d3o5ZGNVVzBVQzhTSytEMGJJYUNpNHArN2Q2OUxadG1QZ1Qw?=
 =?utf-8?B?RnZuMEV3V29hYVpiK0RLbWYvSXdmODdPWkZMYnpHS1huOHh4Uld1QWRuWm9u?=
 =?utf-8?B?RFdKMDE3dDlNK1pmYWM0K2JBY1RBNHB1YTNoQXJIaUNhVHZ5SlpxeVpDNnZR?=
 =?utf-8?B?bTdMTGhpWE5oL2xZSG42Q2hCUTMxQTZ3R3NzWGpZdlZsb0lZQ0orZzB5Tm1t?=
 =?utf-8?B?dHo4b0dtZGtSUVk4TDh4OVFzSmRrbEZCMnhxN2cvY1FyRXk3UTdEWUNHYk5p?=
 =?utf-8?B?eGR0MTIyNkU2SmpBR05yenVWdU1zQTFzNVprSG42ekF1ZUdXUVRsMHZwWE4y?=
 =?utf-8?B?d3plTFEyYVQ3Ti9qTlc1clpxUEdENDdRM0JaZGgxNE83TXpnUlF4bzRmb3lV?=
 =?utf-8?B?OHNnUUNWeGs5bmhEMzVGNmc3bjY5OXI1MXBCN1c4VHhOTHgrczJla1pvWTBq?=
 =?utf-8?B?b1V2MDJ0UWpBWkhBbGdlUnUzUXlPeFlZTWxkRlZNUEkwQnlMTG5LMW0zdzFX?=
 =?utf-8?B?dlNBOGtuLzBqcmUwdHF4Vm1OVjhuNkdFRXlRbkV2YmlVOGlxRThrR2NaMFJC?=
 =?utf-8?B?a2RwZGNJRzVjNEhBTWVad1pEd3JjWE13V3B3YThWK3V3Wm9UQjBWWkJacW9l?=
 =?utf-8?B?WnFYWmw5VHBocUtYemJCbkI2aFU3THlJWFZ6SlJ6UUdYNkJTYWRhZHBSZHBE?=
 =?utf-8?B?OVExWlROVDJOd3F3N3B2Z0ZIRWRQT1BRY3A4TXd1QXBlMWhXcE4rN3ZCQyta?=
 =?utf-8?B?eGJSa3plWisyRmhDZjFnTmVoRFNzeWhEOURvcUxLNUw0R05jT0YvMnhhSWlz?=
 =?utf-8?B?SFNJVCtaTWlVcWdXNU9CWVAvd3MyWjVXMzh0MU9xajU4WC9zTlllZk9GR2x6?=
 =?utf-8?B?cDFPckw4cHZHWDgrb2F5V3NNQUpxVUo4cnllQk9hbHNNb3UyMHZ5RnZzTktQ?=
 =?utf-8?B?VG9HQUtvUGJrdWJUNmRqUnd1RVhCT2RYWm4wMTgzYkJrTE9zZVdyVGRjYWdn?=
 =?utf-8?B?NWpBQ0ZteFVxb05nYThoK1p3VnUyVWlJQ09kbXBOK1BnYmlOdUd2RCtPUlNl?=
 =?utf-8?B?cVdOeGk0RUl0eFY5bURwakZwOWM3bTk0SUFPRFZLS1pZZE1Jb1luMU1PN2Rl?=
 =?utf-8?B?YWQyRGQ3S05FVndqdFFkZVU1cFg3Ym1aWVFxVEpCNGd2dFMrN1ZHL0hkUDFi?=
 =?utf-8?B?bUxHQUlEYitSSGNhMDVSYUJSY1lMUjhRdkM4OEQ5MGVISXRHYmlTUnk2bWZ0?=
 =?utf-8?B?dGRBcDZkcURiQnIxMldERGNrWi9aekpEUmNwM2dQVmdoaVduSDhPczd1endw?=
 =?utf-8?B?V1JORW1hS09ZUFVISU9PZnY0RTYvTmtoYmFMUmtQak1SbW40M2dxM1MxeC82?=
 =?utf-8?B?Y1p6R1RQSXJrWjRXUDJJUlpLQnlxSEdBcGVZYjNVRWE1WFlJNmRMUmFUbzFo?=
 =?utf-8?B?dFhTT3ZrNFAzYTJuNHBmbDlsMkNRWkFrSHMvUHE4amxSTlkxV2diRkM1cUVw?=
 =?utf-8?B?bTlwTG9oYXRRQWpOZ0J4Unh5dFRMdkFEaFlzSWlpWTE1ZVRMVk9OV0RCc0tQ?=
 =?utf-8?B?cTVzOEloRmo1REg4RDJVN2ZJTjhpcDdONFlCUDd6VVFNT2lINk4vUXJMOG81?=
 =?utf-8?B?V1R0RG9HMW52anF0czA3eGd1ejFqeGpwbDdVcjBOR0lBTkNlWWtKbFRXWkRj?=
 =?utf-8?B?U0lqNEpLUHFQeDRpNS9JemZNb0NsRnNucEVJcW5mSFpSeGt0TWhaZ1lONU1R?=
 =?utf-8?B?bG9SWGI2YlFnZUtzTnJacGIvNHRuNkVIWjJwMFRsM0lHdi9iYlIwb3lLdGVv?=
 =?utf-8?B?VnBVRXVqWW41Wi9EZjE4NjIrL3czd25yZ2R5ZmVkY0psR01CcXQ0RXZJT2Y1?=
 =?utf-8?B?TmpFZGVONnpuZUdPMkVXaGk0VG1oTGpvSE9NK0w0dXI2ZEpzckY0QTVsenN1?=
 =?utf-8?B?WmZ4RWw3MzhBUk55OHNxVWE2Yy9GOGsxWWtncFNNaWFWaUloL1Npd3BVb3pE?=
 =?utf-8?Q?+ocn3Cb0tHl4OwQyZM4xPGm7g?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b87a92d-5e59-424b-ec6e-08dbf002053d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 11:06:07.2483
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 4fzMLgQg626sMxPug5uDyRmIGujOMKauzXDK1WxZBUDwdw7YGRf+81H/ok8QHxzdaO9+4YoFsu2ZrQ6O+i1/sA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8276

Provide support for this insn, which is a prereq to FRED. CPUID-wise
introduce both its and FRED's bit at this occasion, thus allowing to
also express the dependency right away.

While adding a testcase, also add a SWAPGS one. In order to not affect
the behavior of pre-existing tests, install write_{segment,msr} hooks
only transiently.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Instead of ->read_segment() we could of course also use ->read_msr() to
fetch the original GS base. I don't think I can see a clear advantage of
either approach; the way it's done it matches how we handle SWAPGS.

For PV save_segments() would need adjustment, but the insn being
restricted to ring 0 means PV guests can't use it anyway (unless we
wanted to emulate it as another privileged insn).
---
v3: Add dependency on LM. Re-base.
v2: Use X86_EXC_*. Add comments.

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -190,7 +190,8 @@ static const char *const str_7a1[32] =
     [10] = "fzrm",          [11] = "fsrs",
     [12] = "fsrcs",
 
-    /* 18 */                [19] = "wrmsrns",
+    /* 16 */                [17] = "fred",
+    [18] = "lkgs",          [19] = "wrmsrns",
 
     /* 22 */                [23] = "avx-ifma",
 };
--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -326,6 +326,7 @@ static const struct {
     { { 0x00, 0x18 }, { 2, 2 }, T, R }, /* ltr */
     { { 0x00, 0x20 }, { 2, 2 }, T, R }, /* verr */
     { { 0x00, 0x28 }, { 2, 2 }, T, R }, /* verw */
+    { { 0x00, 0x30 }, { 0, 2 }, T, R, pfx_f2 }, /* lkgs */
     { { 0x01, 0x00 }, { 2, 2 }, F, W }, /* sgdt */
     { { 0x01, 0x08 }, { 2, 2 }, F, W }, /* sidt */
     { { 0x01, 0x10 }, { 2, 2 }, F, R }, /* lgdt */
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -680,6 +680,10 @@ static int blk(
     return x86_emul_blk((void *)offset, p_data, bytes, eflags, state, ctxt);
 }
 
+#ifdef __x86_64__
+static unsigned long gs_base, gs_base_shadow;
+#endif
+
 static int read_segment(
     enum x86_segment seg,
     struct segment_register *reg,
@@ -689,8 +693,30 @@ static int read_segment(
         return X86EMUL_UNHANDLEABLE;
     memset(reg, 0, sizeof(*reg));
     reg->p = 1;
+
+#ifdef __x86_64__
+    if ( seg == x86_seg_gs )
+        reg->base = gs_base;
+#endif
+
+    return X86EMUL_OKAY;
+}
+
+#ifdef __x86_64__
+static int write_segment(
+    enum x86_segment seg,
+    const struct segment_register *reg,
+    struct x86_emulate_ctxt *ctxt)
+{
+    if ( !is_x86_user_segment(seg) )
+        return X86EMUL_UNHANDLEABLE;
+
+    if ( seg == x86_seg_gs )
+        gs_base = reg->base;
+
     return X86EMUL_OKAY;
 }
+#endif
 
 static int read_msr(
     unsigned int reg,
@@ -703,6 +729,20 @@ static int read_msr(
         *val = ctxt->addr_size > 32 ? 0x500 /* LME|LMA */ : 0;
         return X86EMUL_OKAY;
 
+#ifdef __x86_64__
+    case 0xc0000101: /* GS_BASE */
+        if ( ctxt->addr_size < 64 )
+            break;
+        *val = gs_base;
+        return X86EMUL_OKAY;
+
+    case 0xc0000102: /* SHADOW_GS_BASE */
+        if ( ctxt->addr_size < 64 )
+            break;
+        *val = gs_base_shadow;
+        return X86EMUL_OKAY;
+#endif
+
     case 0xc0000103: /* TSC_AUX */
 #define TSC_AUX_VALUE 0xCACACACA
         *val = TSC_AUX_VALUE;
@@ -712,6 +752,31 @@ static int read_msr(
     return X86EMUL_UNHANDLEABLE;
 }
 
+#ifdef __x86_64__
+static int write_msr(
+    unsigned int reg,
+    uint64_t val,
+    struct x86_emulate_ctxt *ctxt)
+{
+    switch ( reg )
+    {
+    case 0xc0000101: /* GS_BASE */
+        if ( ctxt->addr_size < 64 || !is_canonical_address(val) )
+            break;
+        gs_base = val;
+        return X86EMUL_OKAY;
+
+    case 0xc0000102: /* SHADOW_GS_BASE */
+        if ( ctxt->addr_size < 64 || !is_canonical_address(val) )
+            break;
+        gs_base_shadow = val;
+        return X86EMUL_OKAY;
+    }
+
+    return X86EMUL_UNHANDLEABLE;
+}
+#endif
+
 #define INVPCID_ADDR 0x12345678
 #define INVPCID_PCID 0x123
 
@@ -1345,6 +1410,41 @@ int main(int argc, char **argv)
         printf("%u bytes read - ", bytes_read);
         goto fail;
     }
+    printf("okay\n");
+
+    emulops.write_segment = write_segment;
+    emulops.write_msr     = write_msr;
+
+    printf("%-40s", "Testing swapgs...");
+    instr[0] = 0x0f; instr[1] = 0x01; instr[2] = 0xf8;
+    regs.eip = (unsigned long)&instr[0];
+    gs_base = 0xffffeeeecccc8888UL;
+    gs_base_shadow = 0x0000111122224444UL;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.eip != (unsigned long)&instr[3]) ||
+         (gs_base != 0x0000111122224444UL) ||
+         (gs_base_shadow != 0xffffeeeecccc8888UL) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing lkgs 2(%rdx)...");
+    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x00; instr[3] = 0x72; instr[4] = 0x02;
+    regs.eip = (unsigned long)&instr[0];
+    regs.edx = (unsigned long)res;
+    res[0]   = 0x00004444;
+    res[1]   = 0x8888cccc;
+    i = cp.extd.nscb; cp.extd.nscb = true; /* for AMD */
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.eip != (unsigned long)&instr[5]) ||
+         (gs_base != 0x0000111122224444UL) ||
+         gs_base_shadow )
+        goto fail;
+
+    cp.extd.nscb = i;
+    emulops.write_segment = NULL;
+    emulops.write_msr     = NULL;
 #endif
     printf("okay\n");
 
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -86,6 +86,7 @@ bool emul_test_init(void)
     cp.feat.adx = true;
     cp.feat.avx512pf = cp.feat.avx512f;
     cp.feat.rdpid = true;
+    cp.feat.lkgs = true;
     cp.feat.wrmsrns = true;
     cp.extd.clzero = true;
 
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -741,8 +741,12 @@ decode_twobyte(struct x86_emulate_state
         case 0:
             s->desc |= DstMem | SrcImplicit | Mov;
             break;
+        case 6:
+            if ( !(s->modrm_reg & 1) && mode_64bit() )
+            {
         case 2: case 4:
-            s->desc |= SrcMem16;
+                s->desc |= SrcMem16;
+            }
             break;
         }
         break;
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -589,6 +589,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_avx512_fp16() (ctxt->cpuid->feat.avx512_fp16)
 #define vcpu_has_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
 #define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
+#define vcpu_has_lkgs()        (ctxt->cpuid->feat.lkgs)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
 #define vcpu_has_avx_ifma()    (ctxt->cpuid->feat.avx_ifma)
 #define vcpu_has_avx_vnni_int8() (ctxt->cpuid->feat.avx_vnni_int8)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -2853,8 +2853,35 @@ x86_emulate(
                 break;
             }
             break;
-        default:
-            generate_exception_if(true, X86_EXC_UD);
+        case 6: /* lkgs */
+            generate_exception_if((modrm_reg & 1) || vex.pfx != vex_f2,
+                                  X86_EXC_UD);
+            generate_exception_if(!mode_64bit() || !mode_ring0(), X86_EXC_UD);
+            vcpu_must_have(lkgs);
+            fail_if(!ops->read_segment || !ops->read_msr ||
+                    !ops->write_segment || !ops->write_msr);
+            if ( (rc = ops->read_msr(MSR_SHADOW_GS_BASE, &msr_val,
+                                     ctxt)) != X86EMUL_OKAY ||
+                 (rc = ops->read_segment(x86_seg_gs, &sreg,
+                                         ctxt)) != X86EMUL_OKAY )
+                goto done;
+            dst.orig_val = sreg.base; /* Preserve full GS Base. */
+            if ( (rc = protmode_load_seg(x86_seg_gs, src.val, false, &sreg,
+                                         ctxt, ops)) != X86EMUL_OKAY ||
+                 /* Write (32-bit) base into SHADOW_GS. */
+                 (rc = ops->write_msr(MSR_SHADOW_GS_BASE, sreg.base,
+                                      ctxt)) != X86EMUL_OKAY )
+                goto done;
+            sreg.base = dst.orig_val; /* Reinstate full GS Base. */
+            if ( (rc = ops->write_segment(x86_seg_gs, &sreg,
+                                          ctxt)) != X86EMUL_OKAY )
+            {
+                /* Best effort unwind (i.e. no real error checking). */
+                if ( ops->write_msr(MSR_SHADOW_GS_BASE, msr_val,
+                                    ctxt) == X86EMUL_EXCEPTION )
+                    x86_emul_reset_event(ctxt);
+                goto done;
+            }
             break;
         }
         break;
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -282,6 +282,8 @@ XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /
 XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
 XEN_CPUFEATURE(FSRS,         10*32+11) /*A  Fast Short REP STOSB */
 XEN_CPUFEATURE(FSRCS,        10*32+12) /*A  Fast Short REP CMPSB/SCASB */
+XEN_CPUFEATURE(FRED,         10*32+17) /*   Flexible Return and Event Delivery */
+XEN_CPUFEATURE(LKGS,         10*32+18) /*S  Load Kernel GS Base */
 XEN_CPUFEATURE(WRMSRNS,      10*32+19) /*S  WRMSR Non-Serialising */
 XEN_CPUFEATURE(AVX_IFMA,     10*32+23) /*A  AVX-IFMA Instructions */
 
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -274,7 +274,7 @@ def crunch_numbers(state):
         # superpages, PCID and PKU are only available in 4 level paging.
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL],
+        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.
@@ -332,6 +332,9 @@ def crunch_numbers(state):
 
         # The behaviour described by RRSBA depend on eIBRS being active.
         EIBRS: [RRSBA],
+
+        # FRED builds on the LKGS instruction.
+        LKGS: [FRED],
     }
 
     deep_features = tuple(sorted(deps.keys()))



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:06:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:06:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643034.1002881 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vvS-0000ZP-BL; Tue, 28 Nov 2023 11:06:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643034.1002881; Tue, 28 Nov 2023 11:06: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 1r7vvS-0000ZI-8n; Tue, 28 Nov 2023 11:06:46 +0000
Received: by outflank-mailman (input) for mailman id 643034;
 Tue, 28 Nov 2023 11:06: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7vvR-0000ZA-Do
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:06:45 +0000
Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com
 [2a00:1450:4864:20::42b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3690e36a-8dde-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 12:06:43 +0100 (CET)
Received: by mail-wr1-x42b.google.com with SMTP id
 ffacd0b85a97d-332c0c32d19so3664651f8f.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 03:06:43 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 x17-20020adff651000000b003330ecc3907sm1324674wrp.44.2023.11.28.03.06.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 03:06:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3690e36a-8dde-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701169603; x=1701774403; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=4544Fpr0xpXzSsGII81PnfJdRXQwcz4p3qozKAwiwGk=;
        b=L0ywxj+trRxjSjFd6jYdMDmwEjJNyZVqiIR571wU5HC3o9LKd1XUNg9uSwDYcP4x5N
         eTNSp9C9/GPW5h4D7etkLIjYkxvNnAGlQufV8fGvCCuxfu2KSkduvJoBD5CfqmkRll0i
         v0vc6FejYEnN1H0BNLPVv7hkI4ZcNa+9EFtqs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701169603; x=1701774403;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4544Fpr0xpXzSsGII81PnfJdRXQwcz4p3qozKAwiwGk=;
        b=JNpf9lEgsFUWv5s8fgXTUbQSZFRvnceD4cUavaAoAl6oi+xqWyO1ah+1xDK1dm+dD1
         tEH3PT3URIw1P1+2h3sTQthcD4WaLaL4svVtPIWnGdbLzhePiEKtvkieytv7vximh0fH
         zMTpuFcJ83fSNYoMdJAX7F4aeZrCfxJfQamJvQurFXAWNxDZkjN+Jf38b8iYo0K6XZKI
         D3XeSRQvJ/2Ys8aehit+FVKIMJoSOqrZcoCM/iFBECA88W2mVnk6jw94J7pbDxOu1ps8
         do0AsLyJdlu2ruYBQkNsQsiMK/YclIHJrMvugdnTLK/a/p04Xh4jj3AXPUXb/Bh/Ah99
         jyAw==
X-Gm-Message-State: AOJu0Yzc2vys9ooq/nXbKmNL8h0gkG5vCsm9f/MtUltufnYvcm1ZYPlE
	IrneXNSL8syf4Fv6EifO8c2R7Q==
X-Google-Smtp-Source: AGHT+IFtDYyljvWb3A7bJ1Us43VzQj6a6DufjzkHfU8NxQpzEuoUTLtz6a8kXHUUqQujHrcwJK3N7g==
X-Received: by 2002:adf:eacd:0:b0:332:ced7:56e5 with SMTP id o13-20020adfeacd000000b00332ced756e5mr10461289wrn.13.1701169602916;
        Tue, 28 Nov 2023 03:06:42 -0800 (PST)
Date: Tue, 28 Nov 2023 12:06:41 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
	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>,
	"H. Peter Anvin" <hpa@zytor.com>, xen-devel@lists.xenproject.org
Subject: Re: [PATCH] x86/xen: fix percpu vcpu_info allocation
Message-ID: <ZWXJwf4K4FOWSmK5@macbook>
References: <20231124074852.25161-1-jgross@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231124074852.25161-1-jgross@suse.com>

On Fri, Nov 24, 2023 at 08:48:52AM +0100, Juergen Gross wrote:
> Today the percpu struct vcpu_info is allocated via DEFINE_PER_CPU(),
> meaning that it could cross a page boundary. In this case registering
> it with the hypervisor will fail, resulting in a panic().
> 
> This can easily be fixed by using DEFINE_PER_CPU_ALIGNED() instead,
> as struct vcpu_info is guaranteed to have a size of 64 bytes, matching
> the cache line size of x86 64-bit processors (Xen doesn't support
> 32-bit processors).
> 
> Fixes: 5ead97c84fa7 ("xen: Core Xen implementation")
> Signed-off-by: Juergen Gross <jgross@suse.com>

FWIW, on FreeBSD we also switched to the same approach quite
recently:

https://cgit.freebsd.org/src/commit/sys/xen/xen_common.c?id=20fc5bf7df1db698f2651eaa04a3bc71290e1636

Should have checked the Linux side, sorry.

Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:07:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:07:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643035.1002890 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vvj-0000zo-IR; Tue, 28 Nov 2023 11:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643035.1002890; Tue, 28 Nov 2023 11: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 1r7vvj-0000zh-Fc; Tue, 28 Nov 2023 11:07:03 +0000
Received: by outflank-mailman (input) for mailman id 643035;
 Tue, 28 Nov 2023 11:07: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vvh-0000OW-Ju
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:07:01 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2088.outbound.protection.outlook.com [40.107.7.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 41015128-8dde-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 12:07:00 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7517.eurprd04.prod.outlook.com (2603:10a6:102:e0::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 11:06:31 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 11: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: 41015128-8dde-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=YEoYu6wfxPKHyjTbnN88MSxvDX33DhKyBiAMUFefgHV9yglWRiBaSwpqgShXAvUDRQkgaubdC8bwnTqQDnP8aSJy3vFfV+nRzw1v11gFaDiz9wGFWRwxrCk1c5YXhZp/hS3w0cMkoqucrZbvgxYirP0e7cXoCGOnCyDoKQJVwjJSFRMfB4QpPfEJ5ueRAQ6HTsURTJjAq2afOGCoKtSSWiHz2yWgJpHIY3A/UvXvcPevbypn+Zj+dI/fGFAI6v9o++fOHUYms30pBOVIt6yTYmklSCAWkhKKkDWVpZBxigrZudxf/WPPcm2kM9fq6u6+Yz5IjbeJBr/GOHrLKuwFeg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1MUubPn8Vwssi86CUDg9oJURDLWCW1lqV2zisTjO2sI=;
 b=H0BH/evT/xWHaYFwf+GPyZcGQAkESAHGPlZbwVVsaY4ALZwVNMXEkO26TeRqNksMqtvcgr574Qu+wuuAh2urGvyeg1p6123jSOdRbkb7b+xNud1txTFgQWSiMyPtw9ZwgAG+m8Tp7vTsu7PXPor2/BUqa0y63xYBvq5f44FZqT0UfpfyBjyZsBFOehQ1+4h64iN8tV/5MDA3DJkyRiek5t6WEx8vRBxTSW0pIsBa809Ue7+HAXa+bBveVhFJ4AJCSghkGG9U9lWvhZL64UaHeKnEENS/w8WcX7Sy7pmGhbFozl3RePwk2KscPZ6N1/i3HdVlE29yDgtLwoYH9VLlcg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1MUubPn8Vwssi86CUDg9oJURDLWCW1lqV2zisTjO2sI=;
 b=TWXaRLyidBiggDsezc5YePJBZT8grBd/IR5vGj9FGhs08CE3CntqPlT44wHixjW8irb11xqlkug6GqjBF1lOCPgehy5TJmdPmv4fqAD5nBFI9hLoTa0jumZRR4zfCSCErzvk2PfBzKdg16QEdsxQ4wClDIRlE/J6mkyBTQtPJdsXl20Lh1eDxk3+CgGsqn5t37eXat3H8L0P6SJG8F+mEDkThW+BJ+JJyNqBZJ/0GLdqogyKuj7xHQIWk6AIypV6huzu9qSW0mvynFDmGD8toue6y1vft1Fg/+O23LfS2eIPyG61seXk9vllrAobMB/tzNaFdLUIzzmc9t5nUuCSUw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <24060b1d-fa13-47a5-9bb5-e431b1ea7afc@suse.com>
Date: Tue, 28 Nov 2023 12:06:30 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 2/6] x86emul: support CMPccXADD
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: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7517:EE_
X-MS-Office365-Filtering-Correlation-Id: 44f5ca90-aaac-406d-adc9-08dbf002135d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NaJ1H1/2a4EjgHVMrjOl0v13g7kRuUwkyBBvjbCiKCpD+l2vJxq+Anb4Yw1JVMmzDoNpJsmSRStHKGT0YDYhxFkQIFYiRsxlpjRMvXYBZFVw938r+hGzhqjuM0LMDt9XtmihuWUkZ6PtikT1l5itNgDBULyLrH9Ogi4352k2qq7u/7ELFKMEnm8m9dcbWl4nggbm7FvOObimy8FhoviSaTwPF2O6RY49lcRbNgPWf8h1TV6nemUyysrdhnK5YDdpH4RlXLhwCVBALF2eThTPdi/X/qcbVOWredb7zSwuO1/VOQtbvHUzBgtdBlckJ3Nxqjf2CyT4kPjjtk+/Sbn9BOZQcYlfFlo5GgbPYemjbggx/g8dzQWMrVlBh48mJSf25p7utpZLuBuEh+L9uqDbrC2F7vBQC0m/OdtnTnhGKpkgaPiRozocmk/mC2qwbc2bMS4zB0MNSLrk7YFQDwVYDOY3U0rdPhJiITgpjeOm6d8F+ulb0NWa/tWSagtgmrVg1pcuOjaCouZ8A4tYUuVL/87nVznpzFyPrxk66kJZPfkJe4tBTwvxCQjbUVNygo2TYee75C22vQZ3sQ5fl/PRz7DuPQArFAbhveQwS7U/jw5p9xZn+wHeAME4k6nRotn0bQqOTwcwtI+7XspT+tUxnA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(396003)(39860400002)(346002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(86362001)(31696002)(83380400001)(66574015)(26005)(6506007)(6512007)(2616005)(31686004)(36756003)(38100700002)(478600001)(66556008)(66946007)(66476007)(6916009)(4326008)(6486002)(8936002)(8676002)(5660300002)(2906002)(30864003)(41300700001)(316002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MFR3VVBxRlNCSEFZdUs4ZTJXK1BwTDZvbHZucWZtcHpLNzdNTjYyOTA0UmNw?=
 =?utf-8?B?elNyNE1iVklLdGlQeGZWcDFXU1RLaE1mUkQ5TEZVQ2htelg3TzNFdGNwcEs1?=
 =?utf-8?B?NW92eXZqbjFXdGJSSFVhc0oranlPcDdjeDdlRjRrcEJDdmJGa0JZTjAwc0pE?=
 =?utf-8?B?ZFJPTHA0VUNYQmZTNDdUTkZnTXp2L0NKTGhrbzhSUXRzY2tNSFJSY1RnWTBs?=
 =?utf-8?B?YUlkNFYzclVYNzJBckRIL2lJMGtyUGJ4MEFCSlVYODVJTnljaEJPSFFqRWtZ?=
 =?utf-8?B?a0ZnWHphdmpCd2pXSnZrOHo5RG0rMGNSRUVOZkh5bXBYRWJOK1Zab0xsV0F4?=
 =?utf-8?B?SGttQm0vSzlIUnY4QjlIKzB2UTdEWW1sRGlVZHlvdGFXT2hWYk13dlNtZnAx?=
 =?utf-8?B?RmtFTzRTbDBORWN1NHo1UEkvYVJQdHpYeU53eHdnOFFkR0ZUSExsaWlvOHlV?=
 =?utf-8?B?ZDJGYWVJZlg0NzZOL1dkaTgzR0hwT1dCZGVBK0x4WHZ5bUhKMVpQcThOVGl5?=
 =?utf-8?B?VnllaEkwRTFFMkoxM3N0TFRWZVBNVjhYWENCVnYxT3UvaUNQUWZUYUpHWE9m?=
 =?utf-8?B?ZVhCcnp1WFN3dFl4VnJCTkZGVHBlNXJ6M0NnMkhmQ1BMeXkrTUYzWDBpL1Vj?=
 =?utf-8?B?UWFlaU5VVXdrdVI2M1l3b1dHdUZqWS9XeEZ2dFh5c2hHSWNmN0tzcEd0NVNI?=
 =?utf-8?B?dWhLckZrbXRLbDhqRTFFRk9xSWFDQ00vZ3loaWF4TzQ4TzNrdkxkaWsxcTM4?=
 =?utf-8?B?VjByaU8vY0gwSnFXRmxSTnBPdVVqb0oyaDBMd0FodldQeCtTRFNUZ1YremJ6?=
 =?utf-8?B?Yy8vbmg3b0VyYUxpNGY3SzlVaVBSVUFFWHJtcXFIRUlmdnRhbC9jNGdDZlky?=
 =?utf-8?B?Wk5GTjk2Rmt0cVJyQTJhS0JJTWJrdGF3SlIwT000MExOcXJqUER4VEJyMWoy?=
 =?utf-8?B?WmdRbjVDazZTNEFCdGMzMy9EcUpVV0VFM0g2NG92MHd3RUROOTNpNldOMDFq?=
 =?utf-8?B?MWlHYWRpeTIzZU9jVlhGclRUZnloUTZkVllnWW5MN25KZVFFUTU5NlR0Y2FY?=
 =?utf-8?B?OWxlWmNLSEhNTXprVU51K011TXNjRHV3a3pqbmdRNW9MaGpJMWR3Q3NTbTVr?=
 =?utf-8?B?ZTlEWWlkWThYbTlEbmRkeFljWFczQU1FeEFzMlZ4S2NZQUdhR0VFcDFPZ015?=
 =?utf-8?B?dm5EZ2YyVHdZdWpjQnpQYzBTWnczOS81T3k3OUdiY1RycHlpZ0x1R2RXWTNH?=
 =?utf-8?B?UFVRaS9RM3VBeXpydVIvdGV1T3c0NmEwOFdvVm9laTJvYzZQazFoOGN1RlVH?=
 =?utf-8?B?YnlXVDVmeCtsbVlFNUFTZzJqOWk1ZElDV3ZnTEYrWWFWdVU2aFNaYUlLdXNt?=
 =?utf-8?B?dkZnMnFlVDdsT0M0TUJ2amdkZHhmYnROcjNVUXJraW52Mzd3Y01oK2lhOVhM?=
 =?utf-8?B?cmxGQWo5YTZUemRxb3JMWDlHWVUwUzhVa3lodmc3c1BHSWNWbWJlZExxaCt2?=
 =?utf-8?B?TTNLVzJldVEzWHZWZVZZYUhwcEduZGZMZEUwTGUrKzkrczUvMndEUUNVUGVW?=
 =?utf-8?B?MGpmQndWaHNBbDA5WktXMHQ5Mlo4d2FyWWxpbE00RkduS0tXdGcyNzZWbnFt?=
 =?utf-8?B?aE4yTE9tbk10Y2lrNTRGaWl1T0FscndVUndyU2lSeEtjQW9kbENwRUxRS09k?=
 =?utf-8?B?RVZzM2FyeUVwYTgzL2ZySDRrYmZncW83bWlSdXRja0VrWjQ0c3VVNW5ZLzFa?=
 =?utf-8?B?YTJCa3hGUXRxMVdmZ214WjRrTlhIRVprV0VBK1BPQzVZc0d0dTEwc2JhUE02?=
 =?utf-8?B?ZGRCaGdTelVKWFUwUkpZRHh3VjgrZ045RzQxL21ERGt3NE1XQlNuU3NxZk9I?=
 =?utf-8?B?S2lEd1JUdzM2M25jL0NHdTlRY0lVWUdYWkNQT09mNC91UjA4ZDNHYWFhR2Zk?=
 =?utf-8?B?Rk5xNnYycWEraEI4Y3dxY3R4TkZxOWtOaFpMT2FjTTFDNFNRNjQ5WWRBME9o?=
 =?utf-8?B?K0JkVWpwaFNBb0RTSmxHZFV0MHpmdTE4RS9oZldlVWhCRGtMNGJ2MHU4Z3Fm?=
 =?utf-8?B?cVRwOEllVWhmN2hWSGtnWEdJVWk0eGpvVkVCTEpqUm9WZE9EQ01zaXlqeGx3?=
 =?utf-8?Q?c+cD8P6OPgbFo6KVlwa2MWQ3v?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 44f5ca90-aaac-406d-adc9-08dbf002135d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 11:06:30.9534
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: fsWsY5O3s/uanTybo9ufWPOZ6FteTrzkjacxdzpy4A48vTFdIirIIVkX+70nwtZgOb3RVc0u+DkYuCIwwHtAGw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7517

Unconditionally wire this through the ->rmw() hook. Since x86_emul_rmw()
now wants to construct and invoke a stub, make stub_exn available to it
via a new field in the emulator state structure.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v3: Add dependency on LM. Re-base.
v2: Use X86_EXC_*. Move past introduction of stub_exn in struct
    x86_emulate_state. Keep feature at just "a" for now.
---
SDE: -grr or -srf

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -186,6 +186,7 @@ static const char *const str_7d0[32] =
 static const char *const str_7a1[32] =
 {
     [ 4] = "avx-vnni",      [ 5] = "avx512-bf16",
+    /* 6 */                 [ 7] = "cmpccxadd",
 
     [10] = "fzrm",          [11] = "fsrs",
     [12] = "fsrcs",
--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -1403,6 +1403,22 @@ static const struct vex {
     { { 0xdd }, 2, T, R, pfx_66, WIG, Ln }, /* vaesenclast */
     { { 0xde }, 2, T, R, pfx_66, WIG, Ln }, /* vaesdec */
     { { 0xdf }, 2, T, R, pfx_66, WIG, Ln }, /* vaesdeclast */
+    { { 0xe0 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpoxadd */
+    { { 0xe1 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnoxadd */
+    { { 0xe2 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpbxadd */
+    { { 0xe3 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnbxadd */
+    { { 0xe4 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpexadd */
+    { { 0xe5 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnexadd */
+    { { 0xe6 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpbexadd */
+    { { 0xe7 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpaxadd */
+    { { 0xe8 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpsxadd */
+    { { 0xe9 }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnsxadd */
+    { { 0xea }, 2, F, W, pfx_66, Wn, L0 }, /* cmppxadd */
+    { { 0xeb }, 2, F, W, pfx_66, Wn, L0 }, /* cmpnpxadd */
+    { { 0xec }, 2, F, W, pfx_66, Wn, L0 }, /* cmplxadd */
+    { { 0xed }, 2, F, W, pfx_66, Wn, L0 }, /* cmpgexadd */
+    { { 0xee }, 2, F, W, pfx_66, Wn, L0 }, /* cmplexadd */
+    { { 0xef }, 2, F, W, pfx_66, Wn, L0 }, /* cmpgxadd */
     { { 0xf2 }, 2, T, R, pfx_no, Wn, L0 }, /* andn */
     { { 0xf3, 0x08 }, 2, T, R, pfx_no, Wn, L0 }, /* blsr */
     { { 0xf3, 0x10 }, 2, T, R, pfx_no, Wn, L0 }, /* blsmsk */
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -1412,6 +1412,78 @@ int main(int argc, char **argv)
     }
     printf("okay\n");
 
+    printf("%-40s", "Testing cmpbxadd %rbx,%r9,(%rdx)...");
+    if ( stack_exec && cpu_has_cmpccxadd )
+    {
+        instr[0] = 0xc4; instr[1] = 0x62; instr[2] = 0xe1; instr[3] = 0xe2; instr[4] = 0x0a;
+        regs.rip = (unsigned long)&instr[0];
+        regs.eflags = EFLAGS_ALWAYS_SET;
+        res[0] = 0x11223344;
+        res[1] = 0x01020304;
+        regs.rdx = (unsigned long)res;
+        regs.r9  = 0x0001020300112233UL;
+        regs.rbx = 0x0101010101010101UL;
+        rc = x86_emulate(&ctxt, &emulops);
+        if ( (rc != X86EMUL_OKAY) ||
+             (regs.eip != (unsigned long)&instr[5]) ||
+             (regs.r9 != 0x0102030411223344UL) ||
+             (regs.rbx != 0x0101010101010101UL) ||
+             ((regs.eflags & EFLAGS_MASK) !=
+              (X86_EFLAGS_PF | EFLAGS_ALWAYS_SET)) ||
+             (res[0] != 0x11223344) ||
+             (res[1] != 0x01020304) )
+            goto fail;
+
+        regs.rip = (unsigned long)&instr[0];
+        regs.r9 <<= 8;
+        rc = x86_emulate(&ctxt, &emulops);
+        if ( (rc != X86EMUL_OKAY) ||
+             (regs.eip != (unsigned long)&instr[5]) ||
+             (regs.r9 != 0x0102030411223344UL) ||
+             (regs.rbx != 0x0101010101010101UL) ||
+             ((regs.eflags & EFLAGS_MASK) !=
+              (X86_EFLAGS_CF | X86_EFLAGS_PF | X86_EFLAGS_SF |
+               EFLAGS_ALWAYS_SET)) ||
+             (res[0] != 0x12233445) ||
+             (res[1] != 0x02030405) )
+            goto fail;
+        printf("okay\n");
+
+        printf("%-40s", "Testing cmpsxadd %r9d,%ebx,4(%r10)...");
+        instr[1] = 0xc2; instr[2] = 0x31; instr[3] = 0xe8; instr[4] = 0x5a; instr[5] = 0x04;
+        regs.rip = (unsigned long)&instr[0];
+        res[2] = res[0] = ~0;
+        regs.r10 = (unsigned long)res;
+        rc = x86_emulate(&ctxt, &emulops);
+        if ( (rc != X86EMUL_OKAY) ||
+             (regs.eip != (unsigned long)&instr[6]) ||
+             (regs.r9 != 0x0102030411223344UL) ||
+             (regs.rbx != 0x02030405) ||
+             ((regs.eflags & EFLAGS_MASK) != EFLAGS_ALWAYS_SET) ||
+             (res[0] + 1) ||
+             (res[1] != 0x02030405) ||
+             (res[2] + 1) )
+            goto fail;
+
+        regs.rip = (unsigned long)&instr[0];
+        regs.rbx <<= 8;
+        rc = x86_emulate(&ctxt, &emulops);
+        if ( (rc != X86EMUL_OKAY) ||
+             (regs.eip != (unsigned long)&instr[6]) ||
+             (regs.r9 != 0x0102030411223344UL) ||
+             (regs.rbx != 0x02030405) ||
+             ((regs.eflags & EFLAGS_MASK) !=
+              (X86_EFLAGS_CF | X86_EFLAGS_PF | X86_EFLAGS_SF |
+               EFLAGS_ALWAYS_SET)) ||
+             (res[0] + 1) ||
+             (res[1] != 0x13253749) ||
+             (res[2] + 1) )
+            goto fail;
+        printf("okay\n");
+    }
+    else
+        printf("skipped\n");
+
     emulops.write_segment = write_segment;
     emulops.write_msr     = write_msr;
 
--- a/tools/tests/x86_emulator/x86-emulate.h
+++ b/tools/tests/x86_emulator/x86-emulate.h
@@ -178,6 +178,7 @@ void wrpkru(unsigned int val);
 #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))
+#define cpu_has_cmpccxadd  cp.feat.cmpccxadd
 #define cpu_has_avx_ifma   (cp.feat.avx_ifma && xcr0_mask(6))
 #define cpu_has_avx_vnni_int8 (cp.feat.avx_vnni_int8 && xcr0_mask(6))
 #define cpu_has_avx_ne_convert (cp.feat.avx_ne_convert && xcr0_mask(6))
--- a/xen/arch/x86/include/asm/cpufeature.h
+++ b/xen/arch/x86/include/asm/cpufeature.h
@@ -186,6 +186,7 @@ static inline bool boot_cpu_has(unsigned
 /* CPUID level 0x00000007:1.eax */
 #define cpu_has_avx_vnni        boot_cpu_has(X86_FEATURE_AVX_VNNI)
 #define cpu_has_avx512_bf16     boot_cpu_has(X86_FEATURE_AVX512_BF16)
+#define cpu_has_cmpccxadd       boot_cpu_has(X86_FEATURE_CMPCCXADD)
 #define cpu_has_avx_ifma        boot_cpu_has(X86_FEATURE_AVX_IFMA)
 
 /* CPUID level 0x00000007:1.edx */
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -439,6 +439,7 @@ static const struct ext0f38_table {
     [0xd7] = { .simd_size = simd_scalar_vexw, .d8s = d8s_dq },
     [0xdb] = { .simd_size = simd_packed_int, .two_op = 1 },
     [0xdc ... 0xdf] = { .simd_size = simd_packed_int, .d8s = d8s_vl },
+    [0xe0 ... 0xef] = { .to_mem = 1 },
     [0xf0] = { .two_op = 1 },
     [0xf1] = { .to_mem = 1, .two_op = 1 },
     [0xf2 ... 0xf3] = {},
@@ -931,6 +932,8 @@ decode_0f38(struct x86_emulate_state *s,
             ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
         break;
 
+    case X86EMUL_OPC_VEX_66(0, 0xe0) ...
+         X86EMUL_OPC_VEX_66(0, 0xef): /* cmp<cc>xadd */
     case X86EMUL_OPC_VEX(0, 0xf2):    /* andn */
     case X86EMUL_OPC_VEX(0, 0xf3):    /* Grp 17 */
     case X86EMUL_OPC_VEX(0, 0xf5):    /* bzhi */
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -257,6 +257,7 @@ struct x86_emulate_state {
         rmw_btc,
         rmw_btr,
         rmw_bts,
+        rmw_cmpccxadd,
         rmw_dec,
         rmw_inc,
         rmw_neg,
@@ -589,6 +590,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_avx512_fp16() (ctxt->cpuid->feat.avx512_fp16)
 #define vcpu_has_avx_vnni()    (ctxt->cpuid->feat.avx_vnni)
 #define vcpu_has_avx512_bf16() (ctxt->cpuid->feat.avx512_bf16)
+#define vcpu_has_cmpccxadd()   (ctxt->cpuid->feat.cmpccxadd)
 #define vcpu_has_lkgs()        (ctxt->cpuid->feat.lkgs)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
 #define vcpu_has_avx_ifma()    (ctxt->cpuid->feat.avx_ifma)
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -6918,6 +6918,15 @@ x86_emulate(
 
 #endif /* !X86EMUL_NO_SIMD */
 
+    case X86EMUL_OPC_VEX_66(0x0f38, 0xe0) ...
+         X86EMUL_OPC_VEX_66(0x0f38, 0xef): /* cmp<cc>xadd r,r,m */
+        generate_exception_if(!mode_64bit() || dst.type != OP_MEM || vex.l,
+                              X86_EXC_UD);
+        host_and_vcpu_must_have(cmpccxadd);
+        fail_if(!ops->rmw);
+        state->rmw = rmw_cmpccxadd;
+        break;
+
     case X86EMUL_OPC(0x0f38, 0xf0): /* movbe m,r */
     case X86EMUL_OPC(0x0f38, 0xf1): /* movbe r,m */
         vcpu_must_have(movbe);
@@ -8191,14 +8200,20 @@ x86_emulate(
     {
         ea.val = src.val;
         op_bytes = dst.bytes;
+        state->stub_exn = &stub_exn;
         rc = ops->rmw(dst.mem.seg, dst.mem.off, dst.bytes, &_regs.eflags,
                       state, ctxt);
+#ifdef __XEN__
+        if ( rc == X86EMUL_stub_failure )
+            goto emulation_stub_failure;
+#endif
         if ( rc != X86EMUL_OKAY )
             goto done;
 
         /* Some operations require a register to be written. */
         switch ( state->rmw )
         {
+        case rmw_cmpccxadd:
         case rmw_xchg:
         case rmw_xadd:
             switch ( dst.bytes )
@@ -8473,6 +8488,7 @@ int x86_emul_rmw(
     uint32_t *eflags,
     struct x86_emulate_state *s,
     struct x86_emulate_ctxt *ctxt)
+#define stub_exn (*s->stub_exn) /* for invoke_stub() */
 {
     unsigned long *dst = ptr;
 
@@ -8538,6 +8554,37 @@ int x86_emul_rmw(
 #undef BINOP
 #undef SHIFT
 
+#ifdef __x86_64__
+    case rmw_cmpccxadd:
+    {
+        struct x86_emulate_stub stub = {};
+        uint8_t *buf = get_stub(stub);
+        typeof(s->vex) *pvex = container_of(buf + 1, typeof(s->vex),
+                                            raw[0]);
+        unsigned long dummy;
+
+        buf[0] = 0xc4;
+        *pvex = s->vex;
+        pvex->b = 1;
+        pvex->r = 1;
+        pvex->reg = 0xf; /* rAX */
+        buf[3] = ctxt->opcode;
+        buf[4] = 0x11; /* reg=rDX r/m=(%RCX) */
+        buf[5] = 0xc3;
+
+        *eflags &= ~EFLAGS_MASK;
+        invoke_stub("",
+                    _POST_EFLAGS("[eflags]", "[mask]", "[tmp]"),
+                    "+m" (*dst), "+d" (s->ea.val),
+                    [tmp] "=&r" (dummy), [eflags] "+g" (*eflags)
+                    : "a" (*decode_vex_gpr(s->vex.reg, ctxt->regs, ctxt)),
+                      "c" (dst), [mask] "i" (EFLAGS_MASK));
+
+        put_stub(stub);
+        break;
+    }
+#endif
+
     case rmw_not:
         switch ( s->op_bytes )
         {
@@ -8633,7 +8680,13 @@ int x86_emul_rmw(
 #undef JCXZ
 
     return X86EMUL_OKAY;
+
+#if defined(__XEN__) && defined(__x86_64__)
+ emulation_stub_failure:
+    return X86EMUL_stub_failure;
+#endif
 }
+#undef stub_exn
 
 static void __init __maybe_unused build_assertions(void)
 {
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -279,6 +279,7 @@ XEN_CPUFEATURE(SSBD,          9*32+31) /
 /* Intel-defined CPU features, CPUID level 0x00000007:1.eax, word 10 */
 XEN_CPUFEATURE(AVX_VNNI,     10*32+ 4) /*A  AVX-VNNI Instructions */
 XEN_CPUFEATURE(AVX512_BF16,  10*32+ 5) /*A  AVX512 BFloat16 Instructions */
+XEN_CPUFEATURE(CMPCCXADD,    10*32+ 7) /*a  CMPccXADD Instructions */
 XEN_CPUFEATURE(FZRM,         10*32+10) /*A  Fast Zero-length REP MOVSB */
 XEN_CPUFEATURE(FSRS,         10*32+11) /*A  Fast Short REP STOSB */
 XEN_CPUFEATURE(FSRCS,        10*32+12) /*A  Fast Short REP CMPSB/SCASB */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -274,7 +274,7 @@ def crunch_numbers(state):
         # superpages, PCID and PKU are only available in 4 level paging.
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS],
+        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS, CMPCCXADD],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:07:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:07:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643041.1002900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vwW-0001tH-Sb; Tue, 28 Nov 2023 11:07:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643041.1002900; Tue, 28 Nov 2023 11:07: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 1r7vwW-0001tA-Pa; Tue, 28 Nov 2023 11:07:52 +0000
Received: by outflank-mailman (input) for mailman id 643041;
 Tue, 28 Nov 2023 11:07: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vwU-0001rU-NF
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:07:50 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2087.outbound.protection.outlook.com [40.107.7.87])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d55f5f4-8dde-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 12:07:48 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7517.eurprd04.prod.outlook.com (2603:10a6:102:e0::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 11:07:19 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 11:07: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: 5d55f5f4-8dde-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b3mLbMwxAcpwIuQZHaoh6bg06Elf3ZT7a/fPHmgKIunXkCXVEeY/dKF1s6elXX4ysb5VMKJDsVAdmSn0OhVkVDCwd+IuiX51y6UoG+5KZfUnYV3WT3tjhKOKiKxOYtXQ0LGltLSiaaBm0QHmwCA/CNYCbNtJK1cwC3iIkbjs5+wcoyNr14UvJ+ffXZqZsGOsi7cVosvb/IIUARyfSbphngiNS305FrKJ+FSSnDrddkMUAa5/0oxqTq8JbfnHilb9oxpDnTF7S6U4MYeRSMJjAaTSyvNDqxkT4QihDHgwgqMSxr2e75AX82yYLHOjToYSP71tI35wvBT+tuknHpUF5A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ji3OEKhwUqIsvsQcUzde40pnng7Ln2JAoUedRd8HgV0=;
 b=K7sLxoFjcgA0gq5hmVMlDdQYNQB2eq+pDhWErjl+O28pi1zevh7iUOAEmdSAWLc/O1XSAr0GCwpstO/ueRk8vgwnMEY6v2fF7Jao+qIXaaj/ArSBd3X6l0hG5WUEKdVwJwiFnzFcNTrzjyxkKH7e7deJOY2vcXCkof2EUimMOIQEDnczX00joIC8fgYo1pig5BfQ55pmXkyVRHCHbuAaeEGhlj3+HnH4Vtzf/sQwQ23aGZ0qGxHdseLae5IIZuYBrtFCny5rngqOTK1NM16jLPahfy+6VaQkV4DLgz+VFZ6KPDNJnhq3ageHGYx6aOI4uvZpDzXTAftykLQZcy5waQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ji3OEKhwUqIsvsQcUzde40pnng7Ln2JAoUedRd8HgV0=;
 b=tnhcQLYLEIZqwBSFZK4kppbLmW+jSA8PtnCAoZJqLJqQuogCzY8iMbM4ttx+gZGMm9mXnzvedAMnznkibDlIc7N0SgZt2vI9r8SVDnCybUqL8OOStdwRx1CSr7S2nQRX86c8GH30hERENekUk9H+82KAED/lg77ohDVEqcYy6dbgmo/dZ+4Y/Li3pZDwFCEy8wMG6p25XKTJuQxurP7OWhZp7TLO7Hfw5LY4rDjxcuy8O+P0jnJPTL9yXLpzRqboddd+f4DT0LStbXC28WCbjKSXNoxMwVZ3bf8Bu0EBvLiYOrpXkDB1kchLpjHZFci12TwLu7QCKqVqNmx+aNJlkg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9cad2c92-c0be-464b-b59c-7dd72d3090a6@suse.com>
Date: Tue, 28 Nov 2023 12:07:18 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 3/6] VMX: tertiary execution control infrastructure
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7517:EE_
X-MS-Office365-Filtering-Correlation-Id: 160e6a0d-57f7-47d9-df93-08dbf0023022
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nwFQEfzR/z3qPTFdApbcnHI89UsFXiamivXOTl6XAG1+2WMvL5PB0NZhjG6vII/LRzc5bc7I+7EhGRV6revMqyRHTkdhgg1mtQT7kDyk+xkcmsSgx1hPdT2ZcWXb0lnwDyPtCdym+LDzLe0rTETGtMI3wUHN5PRWxTTWr0bFOS5zqCneDeAupVO9sbqitvC0gp992TiQrF8s9BibuVgL0BpjOjWGEjOwJGPvMQqno0qBPON92QtOvssZEKEhY8aZ7eXATmgxl5lISjpIjncyj0IY2mBHRZXW7r+q1Um7dYC52dB7b/41gwZ/cixYlWK2p2eH6WVFnIC1PGJMrciy0GgsZjTvZwLG0FX3utlNE5eqL2wVstNTq8bBIJ3PAEKd//M2TWrdUxOLLdelzKBzLxYKITuacAjj3g7SFdCFzXc3yGHTKYYYs82ZHRGyMfuXsbIWUmjcYl3EYjMKUAay8yawB9djMFtS2q3iFC8k+t5J8XLo7TeWU+7oeKRPWcs57FzxFfVwkIcYk/JHgFpiHHh7CWRGjTFxmc8V3UCauBRxhmgZh0XO5qwHJcOnGes2gpvW8q5Uv6eB3J9/hPlEj/QimD39oKg6Ml2CiaXYP2f4/GrAYXvhBM6FThNjXwu0co4iliPTWnJ0lnGbZszl/w==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(396003)(39860400002)(346002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(86362001)(31696002)(83380400001)(26005)(6506007)(6512007)(2616005)(31686004)(36756003)(38100700002)(478600001)(66556008)(66946007)(66476007)(6916009)(4326008)(6486002)(8936002)(8676002)(5660300002)(2906002)(41300700001)(316002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UlNpaCtDWGhuODRINEFXTktRTkh3YTB5ektXUTBpQnRkbHExazdtVHF1UW41?=
 =?utf-8?B?OWlzNDZBWDRyQ09XUWUwbUV5TmpuYXJYaDZPc2s4VlkyRWxzZ3g5bFNwOGVt?=
 =?utf-8?B?azJZdVlDdGU4TjBCWGZLUmJveTRIMXB1YUNSdjJvOVRQeGZPWjIyUHpNRTA0?=
 =?utf-8?B?UEN2U000L3JpaEI3T24yU3J6a3JFRW9ZckdpK05FR09UaDdScG5iQVl5Qnpq?=
 =?utf-8?B?b2x4cEcwRVh2Skc1R1NRNjNnVStJWndDRVBmYjYvSWdKZGo5RHlHZ3VaSDFU?=
 =?utf-8?B?Q3RBU3ppNDB2TnBQSWlPMHJoQ05uTG5tamRjc3d4c0hHSGZBUEJ1MU1jRjFM?=
 =?utf-8?B?eFlleWd3a3R6WjFhOFRPR3VYU3lNL3RSYWJ4YWhrNVc5NS9oR3pqY1RDTjNP?=
 =?utf-8?B?ZjA3ZnZ6RlFRbFZhZmNpQkVuUjVXaXpWT1lIcG4rblBia2ZKZGdxM3AxZkE0?=
 =?utf-8?B?a0srWUp3RHc5YjBWaFUvek10WUVLM2srMnBmaU5ZS2Z4QkMyeXVrd21oc2xq?=
 =?utf-8?B?NzZBNU0zZVdJSWtMTXdOK2JaV0EvVWZoMlJaOHpDKzlucVd2NmtOeERPeERT?=
 =?utf-8?B?Vndna1hHN25sL2FUc3F2ZFhwTiswTzQyRitBR0ZZZ1NLOUE5UFRHcFozc0NC?=
 =?utf-8?B?Nmp0Y1E3QlJtWDJNWFFSaUEySEorWDlQUjBKWE04ZXNiRDRpV2lsTVlUTUNw?=
 =?utf-8?B?Ujk0Smw5cVBuTmk2RHF4Vm5vSFIrLzcwRkF1NXhDT3RPWkIrR2p1NlFobWJa?=
 =?utf-8?B?UDhxVUl1K1BDUXRmVThoZWxybFNrc2ZiRmJVdlZxMmljbTlGZEZwMG1DUWtB?=
 =?utf-8?B?KzB6MEVrVmViODVxcGxDNDNiTlU4NmpKMTRvRVZpYlRySjBUL25yS1R3WDV5?=
 =?utf-8?B?VjRLN3poTGVZVnFwYXEvMHJnWnVVMW5MbkRRQmdqMUlnSVhUYVc2V0FPbGh5?=
 =?utf-8?B?K2JDRFlHelBsaktKMWlRdEZqZ0tPM1hSbVVrZEt3eTVKS0tqR1RvZDNadldQ?=
 =?utf-8?B?UGUrNW5MYTYrbGxFYjR3SjFHWkgrRTB1Z2JJNG9TZHowZlEzRHhRbmJBeXUv?=
 =?utf-8?B?TzlCWFVSNFhQeDhaTHZwS0xKUWR4US9mU0FjNlZ5bmlVWk9Zd1V2eHpXLy90?=
 =?utf-8?B?c09rVVVDM2Y2UnozaUdWWjI1aloxTWtkTmR2dlhURnhSOU03bVZwaHlncnQ5?=
 =?utf-8?B?aDFVOFFFSVdVN3lWSmN1TFFyMEpHdWFIbjlCV3JyZmNGSDVKWE95THJzR0Ji?=
 =?utf-8?B?dFh4b1VHSHozVzJmc2dWY3IvTVhMY3NmRVBUZVZHbEZKSHk4eEE2YStxd1M2?=
 =?utf-8?B?M0ltSlZDRUdubVNWbW9sVHlzOXRYNThDME05aU4zVFJoZ0VUMWtqSzU3Z1lJ?=
 =?utf-8?B?d1luaUJ6d09Ibzd2Ull5amZCcjVRZjBnZVhwZ0NuaVJUb0M2VGlpOVJpZHk1?=
 =?utf-8?B?TlV1bGxxM05ReHJRYWJhRjRRSFE5czBQSU9tbmc4VzhhSFFpUURmWWRhdkE5?=
 =?utf-8?B?MWVybkpFdW55UXl6OFZnc1JhMXVwZHRlVjgyNUZhZnRvbzJkWUJ3MkJCejBa?=
 =?utf-8?B?OVNwd0FhcHpQNzlHN3NQSzUzNTBwc2lzc1VibUJSTmZRcTBXMmtkU3JrS25H?=
 =?utf-8?B?NVVxK1JtclMwdzl4QXJmYVZxU05WWWtaRjJlWnY2L1huMUZpZldCUnNwVmc0?=
 =?utf-8?B?VjVmMzBicGNBS24rNWRidVcvMzJ1K0ZsQlRyT2Zqa2FQTHdiOVkzeGlkOW44?=
 =?utf-8?B?UzJRUnNKdXpENzdwMXhqcFhQWDh6QlAwUjNIRHozeSt2bGx0M3h2TWJoZEU3?=
 =?utf-8?B?alVsWGVCZkc5MDNocUxHbTdCcDJhSkV5Z1NwSzVoM3ExaEhadzZ5NFI1UDBl?=
 =?utf-8?B?eWFuTTdHR211dG5VREpTUUZtYlIzKytlTkpCdGdTMFUxbzROcHpSRVBIODhC?=
 =?utf-8?B?ZFFxeENjY0VrdGhpTUFVZHowVVZFdzUyRWk1T3dWOWhxcytrdXFteFBQNDZy?=
 =?utf-8?B?UXdCcnN0aDFPNEdSc2U3UEloaUF5c1hJQ3dSWXhzZDhITUNpaDU5TzlkeUxC?=
 =?utf-8?B?bGpGQUo3bUdWc2xnYXBCMXZLWEVjaXRDdzdDN2lWdFprVHhKempGYlBJZThq?=
 =?utf-8?Q?kNXiCJL01pQ//fwOv20of9Sk0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 160e6a0d-57f7-47d9-df93-08dbf0023022
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 11:07:19.2055
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 7ixvSWC6q4U1bdy9m91Eq+KqFpIVI4CnnVxMdEe2NvycnYCePvKbUU22TaOy8WgVm5E3SzuAZDc8Xk3Ww0wKIA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7517

This is a prereq to enabling the MSRLIST feature.

Note that the PROCBASED_CTLS3 MSR is different from other VMX feature
reporting MSRs, in that all 64 bits report allowed 1-settings.

vVMX code is left alone, though, for the time being.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
v2: New.

--- a/xen/arch/x86/hvm/vmx/vmcs.c
+++ b/xen/arch/x86/hvm/vmx/vmcs.c
@@ -164,6 +164,7 @@ static int cf_check parse_ept_param_runt
 u32 vmx_pin_based_exec_control __read_mostly;
 u32 vmx_cpu_based_exec_control __read_mostly;
 u32 vmx_secondary_exec_control __read_mostly;
+uint64_t vmx_tertiary_exec_control __read_mostly;
 u32 vmx_vmexit_control __read_mostly;
 u32 vmx_vmentry_control __read_mostly;
 u64 vmx_ept_vpid_cap __read_mostly;
@@ -229,10 +230,32 @@ static u32 adjust_vmx_controls(
     return ctl;
 }
 
-static bool cap_check(const char *name, u32 expected, u32 saw)
+static uint64_t adjust_vmx_controls2(
+    const char *name, uint64_t ctl_min, uint64_t ctl_opt, unsigned int msr,
+    bool *mismatch)
+{
+    uint64_t vmx_msr, ctl = ctl_min | ctl_opt;
+
+    rdmsrl(msr, vmx_msr);
+
+    ctl &= vmx_msr; /* bit == 0 ==> must be zero */
+
+    /* Ensure minimum (required) set of control bits are supported. */
+    if ( ctl_min & ~ctl )
+    {
+        *mismatch = true;
+        printk("VMX: CPU%u has insufficient %s (%#lx; requires %#lx)\n",
+               smp_processor_id(), name, ctl, ctl_min);
+    }
+
+    return ctl;
+}
+
+static bool cap_check(
+    const char *name, unsigned long expected, unsigned long saw)
 {
     if ( saw != expected )
-        printk("VMX %s: saw %#x expected %#x\n", name, saw, expected);
+        printk("VMX %s: saw %#lx expected %#lx\n", name, saw, expected);
     return saw != expected;
 }
 
@@ -242,6 +265,7 @@ static int vmx_init_vmcs_config(bool bsp
     u32 _vmx_pin_based_exec_control;
     u32 _vmx_cpu_based_exec_control;
     u32 _vmx_secondary_exec_control = 0;
+    uint64_t _vmx_tertiary_exec_control = 0;
     u64 _vmx_ept_vpid_cap = 0;
     u64 _vmx_misc_cap = 0;
     u32 _vmx_vmexit_control;
@@ -275,7 +299,8 @@ static int vmx_init_vmcs_config(bool bsp
     opt = (CPU_BASED_ACTIVATE_MSR_BITMAP |
            CPU_BASED_TPR_SHADOW |
            CPU_BASED_MONITOR_TRAP_FLAG |
-           CPU_BASED_ACTIVATE_SECONDARY_CONTROLS);
+           CPU_BASED_ACTIVATE_SECONDARY_CONTROLS |
+           CPU_BASED_ACTIVATE_TERTIARY_CONTROLS);
     _vmx_cpu_based_exec_control = adjust_vmx_controls(
         "CPU-Based Exec Control", min, opt,
         MSR_IA32_VMX_PROCBASED_CTLS, &mismatch);
@@ -339,6 +364,15 @@ static int vmx_init_vmcs_config(bool bsp
             MSR_IA32_VMX_PROCBASED_CTLS2, &mismatch);
     }
 
+    if ( _vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_TERTIARY_CONTROLS )
+    {
+        uint64_t opt = 0;
+
+        _vmx_tertiary_exec_control = adjust_vmx_controls2(
+            "Tertiary Exec Control", 0, opt,
+            MSR_IA32_VMX_PROCBASED_CTLS3, &mismatch);
+    }
+
     /* The IA32_VMX_EPT_VPID_CAP MSR exists only when EPT or VPID available */
     if ( _vmx_secondary_exec_control & (SECONDARY_EXEC_ENABLE_EPT |
                                         SECONDARY_EXEC_ENABLE_VPID) )
@@ -469,6 +503,7 @@ static int vmx_init_vmcs_config(bool bsp
         vmx_pin_based_exec_control = _vmx_pin_based_exec_control;
         vmx_cpu_based_exec_control = _vmx_cpu_based_exec_control;
         vmx_secondary_exec_control = _vmx_secondary_exec_control;
+        vmx_tertiary_exec_control  = _vmx_tertiary_exec_control;
         vmx_ept_vpid_cap           = _vmx_ept_vpid_cap;
         vmx_vmexit_control         = _vmx_vmexit_control;
         vmx_vmentry_control        = _vmx_vmentry_control;
@@ -505,6 +540,9 @@ static int vmx_init_vmcs_config(bool bsp
             "Secondary Exec Control",
             vmx_secondary_exec_control, _vmx_secondary_exec_control);
         mismatch |= cap_check(
+            "Tertiary Exec Control",
+            vmx_tertiary_exec_control, _vmx_tertiary_exec_control);
+        mismatch |= cap_check(
             "VMExit Control",
             vmx_vmexit_control, _vmx_vmexit_control);
         mismatch |= cap_check(
@@ -1082,6 +1120,7 @@ static int construct_vmcs(struct vcpu *v
         v->arch.hvm.vmx.exec_control |= CPU_BASED_RDTSC_EXITING;
 
     v->arch.hvm.vmx.secondary_exec_control = vmx_secondary_exec_control;
+    v->arch.hvm.vmx.tertiary_exec_control  = vmx_tertiary_exec_control;
 
     /*
      * Disable features which we don't want active by default:
@@ -1136,6 +1175,10 @@ static int construct_vmcs(struct vcpu *v
         __vmwrite(SECONDARY_VM_EXEC_CONTROL,
                   v->arch.hvm.vmx.secondary_exec_control);
 
+    if ( cpu_has_vmx_tertiary_exec_control )
+        __vmwrite(TERTIARY_VM_EXEC_CONTROL,
+                  v->arch.hvm.vmx.tertiary_exec_control);
+
     /* MSR access bitmap. */
     if ( cpu_has_vmx_msr_bitmap )
     {
@@ -2070,10 +2113,12 @@ void vmcs_dump_vcpu(struct vcpu *v)
                vmr(HOST_PERF_GLOBAL_CTRL));
 
     printk("*** Control State ***\n");
-    printk("PinBased=%08x CPUBased=%08x SecondaryExec=%08x\n",
+    printk("PinBased=%08x CPUBased=%08x\n",
            vmr32(PIN_BASED_VM_EXEC_CONTROL),
-           vmr32(CPU_BASED_VM_EXEC_CONTROL),
-           vmr32(SECONDARY_VM_EXEC_CONTROL));
+           vmr32(CPU_BASED_VM_EXEC_CONTROL));
+    printk("SecondaryExec=%08x TertiaryExec=%08lx\n",
+           vmr32(SECONDARY_VM_EXEC_CONTROL),
+           vmr(TERTIARY_VM_EXEC_CONTROL));
     printk("EntryControls=%08x ExitControls=%08x\n", vmentry_ctl, vmexit_ctl);
     printk("ExceptionBitmap=%08x PFECmask=%08x PFECmatch=%08x\n",
            vmr32(EXCEPTION_BITMAP),
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -760,6 +760,12 @@ void vmx_update_secondary_exec_control(s
                   v->arch.hvm.vmx.secondary_exec_control);
 }
 
+void vmx_update_tertiary_exec_control(struct vcpu *v)
+{
+    __vmwrite(TERTIARY_VM_EXEC_CONTROL,
+              v->arch.hvm.vmx.tertiary_exec_control);
+}
+
 void vmx_update_exception_bitmap(struct vcpu *v)
 {
     u32 bitmap = unlikely(v->arch.hvm.vmx.vmx_realmode)
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -114,6 +114,7 @@ struct vmx_vcpu {
     /* Cache of cpu execution control. */
     u32                  exec_control;
     u32                  secondary_exec_control;
+    uint64_t             tertiary_exec_control;
     u32                  exception_bitmap;
 
     uint64_t             shadow_gs;
@@ -196,6 +197,7 @@ void vmx_vmcs_reload(struct vcpu *v);
 #define CPU_BASED_RDTSC_EXITING               0x00001000U
 #define CPU_BASED_CR3_LOAD_EXITING            0x00008000U
 #define CPU_BASED_CR3_STORE_EXITING           0x00010000U
+#define CPU_BASED_ACTIVATE_TERTIARY_CONTROLS  0x00020000U
 #define CPU_BASED_CR8_LOAD_EXITING            0x00080000U
 #define CPU_BASED_CR8_STORE_EXITING           0x00100000U
 #define CPU_BASED_TPR_SHADOW                  0x00200000U
@@ -260,6 +262,13 @@ extern u32 vmx_vmentry_control;
 #define SECONDARY_EXEC_NOTIFY_VM_EXITING        0x80000000U
 extern u32 vmx_secondary_exec_control;
 
+#define TERTIARY_EXEC_LOADIWKEY_EXITING         BIT(0, UL)
+#define TERTIARY_EXEC_ENABLE_HLAT               BIT(1, UL)
+#define TERTIARY_EXEC_EPT_PAGING_WRITE          BIT(2, UL)
+#define TERTIARY_EXEC_GUEST_PAGING_VERIFY       BIT(3, UL)
+#define TERTIARY_EXEC_IPI_VIRT                  BIT(4, UL)
+extern uint64_t vmx_tertiary_exec_control;
+
 #define VMX_EPT_EXEC_ONLY_SUPPORTED                         0x00000001
 #define VMX_EPT_WALK_LENGTH_4_SUPPORTED                     0x00000040
 #define VMX_EPT_MEMORY_TYPE_UC                              0x00000100
@@ -295,6 +304,8 @@ extern u64 vmx_ept_vpid_cap;
     (vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_MSR_BITMAP)
 #define cpu_has_vmx_secondary_exec_control \
     (vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_SECONDARY_CONTROLS)
+#define cpu_has_vmx_tertiary_exec_control \
+    (vmx_cpu_based_exec_control & CPU_BASED_ACTIVATE_TERTIARY_CONTROLS)
 #define cpu_has_vmx_ept \
     (vmx_secondary_exec_control & SECONDARY_EXEC_ENABLE_EPT)
 #define cpu_has_vmx_dt_exiting \
@@ -422,6 +433,7 @@ enum vmcs_field {
     VIRT_EXCEPTION_INFO             = 0x0000202a,
     XSS_EXIT_BITMAP                 = 0x0000202c,
     TSC_MULTIPLIER                  = 0x00002032,
+    TERTIARY_VM_EXEC_CONTROL        = 0x00002034,
     GUEST_PHYSICAL_ADDRESS          = 0x00002400,
     VMCS_LINK_POINTER               = 0x00002800,
     GUEST_IA32_DEBUGCTL             = 0x00002802,
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -81,6 +81,7 @@ void vmx_realmode(struct cpu_user_regs *
 void vmx_update_exception_bitmap(struct vcpu *v);
 void vmx_update_cpu_exec_control(struct vcpu *v);
 void vmx_update_secondary_exec_control(struct vcpu *v);
+void vmx_update_tertiary_exec_control(struct vcpu *v);
 
 #define POSTED_INTR_ON  0
 #define POSTED_INTR_SN  1
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -347,6 +347,7 @@
 #define MSR_IA32_VMX_TRUE_EXIT_CTLS             0x48f
 #define MSR_IA32_VMX_TRUE_ENTRY_CTLS            0x490
 #define MSR_IA32_VMX_VMFUNC                     0x491
+#define MSR_IA32_VMX_PROCBASED_CTLS3            0x492
 
 /* K7/K8 MSRs. Not complete. See the architecture manual for a more
    complete list. */



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:07:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:07:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643042.1002911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vwd-0002CX-AP; Tue, 28 Nov 2023 11:07:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643042.1002911; Tue, 28 Nov 2023 11:07: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 1r7vwd-0002CQ-67; Tue, 28 Nov 2023 11:07:59 +0000
Received: by outflank-mailman (input) for mailman id 643042;
 Tue, 28 Nov 2023 11:07: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vwc-0001rU-HH
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:07:58 +0000
Received: from EUR02-AM0-obe.outbound.protection.outlook.com
 (mail-am0eur02on20603.outbound.protection.outlook.com
 [2a01:111:f400:fe13::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6213c583-8dde-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 12:07:56 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7517.eurprd04.prod.outlook.com (2603:10a6:102:e0::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 11:07:54 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 11:07: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: 6213c583-8dde-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hu+jKUtKbdu636WkW4qPCi10ORHHGxIwd369FKxpoGlhFn5rLTN8Wwbz61QRpGoAVZYXSmNuYn63mwugKiHmaZD9t7HsTcjQAp8F/Pj/kXDl1DASqu51IFoM0UeM9gXdg1QmSIyYSaHPXCDL0GDopEFroofeHH5m93STe+KEaI3CjASZOjJwEi/TreTF5uGvb9fkzAkT1ahbxIKHdCCapj0mK2yfsok3Dq3tY6ZbCv4FTGqcbP4uIWYIhYUCK5edmpT5wiCQBnoH3Xr1VH+OoEnqqbiTgNQP1rsdV8h0jngpaJthzR1GvjXBMbXUHSKMLfDVY7KwrLOTXT+pLLih8Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ByNECU79BUFR7o98T7CHEi0Y4oha5ZLJzrxgRAuzdk4=;
 b=LzWqhOsOTVEUih+Bthf9x2Fm1oPEHdqRwzGkrw1cFi6R13gLZZ3ulFoFUQgpiQmd68rB2i1mZZc4HZE20f7HREO1+WahLI4E7TWmrJbqlvH3CELQzFij4ies/rLE2ArKkrnkJX5Orrj0TOSakfxXQNJEtI4RPju/iNjoJMXFsd+dLYap1NPiKeBvqbl/NrmXFXtriXc5XbguVgJ/QkgdG7rkkn2gBxfMjTXLQjDUdXVRSdxRTVjR+Ma1qcgIDnhBpqsVkJaeIB8dGonIwp4LRanAfuOju57/VnEG+XuyztiyEYxceLML2cSsNeol1MEljGWWWmy/TPEjE22qvqKEyA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ByNECU79BUFR7o98T7CHEi0Y4oha5ZLJzrxgRAuzdk4=;
 b=Rz5KASvnKjTohtnupDT9FkJ2y4KUO/zwqvSCGGVLscg13SrvqW9P0hQm+ll1gxatrwmEVxB7NpXd2DugVjss++WtRXbQECOwOsJS1cDavDDklGpVAIwFqXRGRaZeH2vEdsFUGpxyYs7BHFnYjivs1WNgr8D8iN0PyYeW4/2CXFKf7S2GGXrVbYz//ysVnQ5sJbbg38tRrSTF1flZQdWZiNAjGntI1b3q/ptok5dnNOtnARD/759uq/bpJAXswE7GIzsJR9aG1efhrpTk6sRBKKJQ8P8o6qgrEc4d1S0Yg6gMkBQLgvPgxGKDDeGBsl3FGcADG89WyeBLX728f4OKsQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eed96278-2b12-46f8-83ab-2c2aca7ee665@suse.com>
Date: Tue, 28 Nov 2023 12:07:53 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 4/6] x86emul+VMX: support {RD,WR}MSRLIST
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>,
 Kevin Tian <kevin.tian@intel.com>, Jun Nakajima <jun.nakajima@intel.com>
References: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7517:EE_
X-MS-Office365-Filtering-Correlation-Id: 6459cf29-0715-4a50-a752-08dbf00244ee
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2UpqnMROi8Bi5pramFd7KbcwHBMEjgHdbLCnJK5XMy3aLCjZZHbMqDUGdJhjOJkyz1NYrJbLsg0CDJnDRCf1adNBHHIeOTPAZJGww9UWe+49N0pC8+DWm4je8oXii9RneClgzEHDyklhnio8GalH7BlG6ckKjEaNTT8PjWrXiZy+Sc+Pdug252VruiG4k7HJwXWIzbJvoHZUy8eJ3pp58WRuH0OzNzXL1CMVNqntrmPLcc7T/+pBAwGqXVZD0UER9sM3DomvG+Hu+r/oYqjMKVThje0Bo7xfdawITeb5hZdlBq9eRCcw/2CvECSnC4aEezhQ9Sr6gu1nLjsMQojmdis62mZUP9/78MirjUUrDxGf/pgLMpJ3upl0FYTeSH2JgzpaW925SHjJ3QP10oZnFw/UyXKeFUsUlf+s9rOcm3zSA7gqLmToDRnD5V0i/M7wH2XWMneetLdE4kc+zAk5zTaZsH9j6457ndUePt2Fr/LE/38BvzUqAcpHXvnKUISOb50EzcpG/zopWvif9+EaymVhnUxZ7L4QOXaI1iifG0jZHSwLLVx/boy2ftATS6exQGXhtAxGhh2gqqqmBae7Y2SsZdpkNjdqy3p0+KDMuaUJoBrHgWFrQ7A/biHNWxnkFVAuuyNVFoCTbHZnIK2vXw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(396003)(39860400002)(346002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(86362001)(31696002)(83380400001)(26005)(6506007)(6512007)(2616005)(31686004)(36756003)(38100700002)(478600001)(66556008)(66946007)(66476007)(6916009)(4326008)(6486002)(8936002)(8676002)(5660300002)(2906002)(30864003)(41300700001)(316002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WmZKWllzYURoTzk4ekhNUlVCa3lKL20rdThPbGxRcGs1UDZzeENKYkY4NHpz?=
 =?utf-8?B?aEp2dnpJcWpxWS9qbm9Fc3c0OVErbEVkdUtuRGNNL1FreVVVa3hSaUlzQ1hC?=
 =?utf-8?B?Ym5vRklUUTZtVFFGVlB0MkVhUXJQWEtYbkdPcWF3cVNWb25KQUM1RzZKR2FP?=
 =?utf-8?B?bWpPdlRDWXZVRTh5WHpRZmVvNmd6WEdjR1JWaGRmZ0hlZW0rNDFnejJuQWlD?=
 =?utf-8?B?d0FoYUprWjV0WDF2NTZpd1RzTWpTOERpTlp1d0djYng2ZlZZRE42QWw3NVpH?=
 =?utf-8?B?WmlXSkpkbGxHdWdLaFM3aGhFN1ZHQkxxUERrZWlscU0yNzBCVC91THpEaDRN?=
 =?utf-8?B?NUV6QVY3VzhuMnNOSE15SUdoZzNHT0dteTVRLzh1eHNKckUvRDlvdnRzSWsx?=
 =?utf-8?B?Q1VTaXJaL2hhWFdCSVgxWFE4bG4rN2Flb1hNSDVmQW1CZEZDVWc1WTJveUk3?=
 =?utf-8?B?ZGlCbzF5VGVRQlphQ053eG5lQmFUcDVTY0piTUsyaVdpb2E5aEEwSlVJanNr?=
 =?utf-8?B?RitxMS9BTGlNODRVcUhvLzlaUkJ5L1Y0MER2eVFpU3I2Ri9UcE80YmRHS0Vx?=
 =?utf-8?B?TGhzTmU3M2RhOHlZTWZUUmNUQ2JnK29ORXZpelVPL3g3aUsvb1phTndoV1Nz?=
 =?utf-8?B?UDQwV0syWTZ1UTd0TVQyT1VYUjN3b3N3ZDVNK1lHaWJnMm9wNE1GMW1hTko5?=
 =?utf-8?B?TjF0dWlxTTFod01oQ3d1SnFXa0x5VHQvMi95MGVqd3piTG5pL2tzKzY5VU42?=
 =?utf-8?B?a1VVY1lIS0xncXNqbnp2eU1QQzZlQm9yeHJvWGZaTEo1NEV2bU04VnhHOFBB?=
 =?utf-8?B?NDE4d0VOVzNpYlFlUVZPTmIyTHlqdVRjMlN0bTBYUGFqdGVWS0lNTmhhajN0?=
 =?utf-8?B?eC9ldVp2Z0Fhd3ArTDhneCtNa3BSYWNBekgzMEVEZm1STCtEcVpXdGx6V3ho?=
 =?utf-8?B?Ums0SVZ3aTJqVTNqcFRxNWFDelVMSkVWSkYwckRta01GUm1CZ3Nxd3BSdEFD?=
 =?utf-8?B?TUJuMHI2Y1RoZVBTQ2E3TzB4dmxaMHJGa0xGL3R2Y05JaVhkK3pQV2o4UG5w?=
 =?utf-8?B?NkQ0MVBJemVxZzBWVlZlYktKNUZ2d0U1VSt5Qzd6VEdUbmNVTDMzTlU2eThB?=
 =?utf-8?B?azMycDJWbjAwQUNvck9aejhNTzR2SFdpcGtxVGdIaWlsVXUrNzZoQ3VjZ1Ey?=
 =?utf-8?B?SERiUXMwV3VWN1NxT1pOejM1WVJmZmJXSzlOOC9KVDBnb3lJSHRiN3NtQm95?=
 =?utf-8?B?ck1Nc2lqN1M1ditwS1Y1dVc5ZXNBSHhPeHRJeW9XOGhCdUUzbWsxTGplM21I?=
 =?utf-8?B?YWJaM3NJQTF4NTFkcjNTaXFVb0xQemdoSWpKWVdKSEp0UnoyMmJnNDdLbVVv?=
 =?utf-8?B?YzlhNG8xdmZsOUN0OVdSZHlYNE1qcHZhbW5kOFJoTDNpYjg3eWRiNVg1aVdv?=
 =?utf-8?B?UlViTjI2b1JGS0pQazUxQ0lDVkJJOUhwcVA3U0lpZGZUVG0zbnZhOTdtR0lY?=
 =?utf-8?B?aU8zNmczMHVyK1QzVEF6RU8yZ09wSWpDaW84dVhqaHR1V2o4dWpuTDRuMHdF?=
 =?utf-8?B?ODlwbERHbWY4c1RVZG5ZeE5iRUZXZzIzUlJCZlJnYnNwUFNJK0NQalhXdkhR?=
 =?utf-8?B?WFg1Zkt3ZFRSRHVKSjc4SmhiSWRlQ2pjVU01MHIxRm5zcGlaMkhUTjhCVW00?=
 =?utf-8?B?YVQ1VC9LNldsazc5VCsvTUpWdWVIU2U2RmRhS09LMHJ6R3d0UXdIdUhBejVx?=
 =?utf-8?B?WjdJZnIrdWNtM0RZV1hpSXNoM0Joc0pEbU5ucUd3b2xEZ1lLQURPaW5rOXVY?=
 =?utf-8?B?RWMwSzJSTlNSQ1hlUE9ndWY3U2p1OFlVZG9EYnZCb0VDcVpTZ21iSUZtV1VH?=
 =?utf-8?B?dXN2UVR3MlpZM0ZiQUJFRHFNTmpkQ3ZqQXdrU0tmL0JJaHRReWdYSWlyWEpS?=
 =?utf-8?B?aDNsWWxxZ3cvL3dkSVpyR1J1ZzZORXpoY0pFYUpDNmxUejlXd3QrSGdFQkxr?=
 =?utf-8?B?S1g3cnhjQXlvdGF4K0o4N01XSVV2c2Q1LytvUzl1c0hmWXE5aENvNHJVQUpz?=
 =?utf-8?B?TVVLUldnTElXU29VNU92c1VjdXFPdzlvVGJMT0lIYmVCOTlOZ3hmWWprVFNS?=
 =?utf-8?Q?kl/4r3JqPtUTzPK1y3K6eSfec?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6459cf29-0715-4a50-a752-08dbf00244ee
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 11:07:54.0974
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0MnoS00iQLMS56GsQNV0P8rYT/W5vyew7YgSsLr/JZk0nljqqXE2VjPVxD/M14im/HpzFOoi8VMTaw02BJZ6Pg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7517

These are "compound" instructions to issue a series of RDMSR / WRMSR
respectively. In the emulator we can therefore implement them by using
the existing msr_{read,write}() hooks. The memory accesses utilize that
the HVM ->read() / ->write() hooks are already linear-address
(x86_seg_none) aware (by way of hvmemul_virtual_to_linear() handling
this case).

Preemption is being checked for in WRMSRLIST handling only, as only MSR
writes are expected to possibly take long.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
RFC: In vmx_vmexit_handler() handling is forwarded to the emulator
     blindly. Alternatively we could consult the exit qualification and
     process just a single MSR at a time (without involving the
     emulator), exiting back to the guest after every iteration. (I
     don't think a mix of both models makes a lot of sense.)

The precise behavior of MSR_BARRIER is still not spelled out in ISE 050,
so the (minimal) implementation continues to be a guess for now.
---
v3: Add dependency on LM. Limit exposure to HVM. Utilize new info from
    ISE 050. Re-base.
v2: Use X86_EXC_*. Add preemption checking to WRMSRLIST handling. Remove
    the feature from "max" when the VMX counterpart isn't available.

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -195,6 +195,8 @@ static const char *const str_7a1[32] =
     [18] = "lkgs",          [19] = "wrmsrns",
 
     /* 22 */                [23] = "avx-ifma",
+
+    /* 26 */                [27] = "msrlist",
 };
 
 static const char *const str_e21a[32] =
--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -342,6 +342,8 @@ static const struct {
     { { 0x01, 0xc4 }, { 2, 2 }, F, N }, /* vmxoff */
     { { 0x01, 0xc5 }, { 2, 2 }, F, N }, /* pconfig */
     { { 0x01, 0xc6 }, { 2, 2 }, F, N }, /* wrmsrns */
+    { { 0x01, 0xc6 }, { 0, 2 }, F, W, pfx_f2 }, /* rdmsrlist */
+    { { 0x01, 0xc6 }, { 0, 2 }, F, R, pfx_f3 }, /* wrmsrlist */
     { { 0x01, 0xc8 }, { 2, 2 }, F, N }, /* monitor */
     { { 0x01, 0xc9 }, { 2, 2 }, F, N }, /* mwait */
     { { 0x01, 0xca }, { 2, 2 }, F, N }, /* clac */
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -603,6 +603,7 @@ static int read(
     default:
         if ( !is_x86_user_segment(seg) )
             return X86EMUL_UNHANDLEABLE;
+    case x86_seg_none:
         bytes_read += bytes;
         break;
     }
@@ -633,7 +634,7 @@ static int write(
     if ( verbose )
         printf("** %s(%u, %p,, %u,)\n", __func__, seg, (void *)offset, bytes);
 
-    if ( !is_x86_user_segment(seg) )
+    if ( !is_x86_user_segment(seg) && seg != x86_seg_none )
         return X86EMUL_UNHANDLEABLE;
     memcpy((void *)offset, p_data, bytes);
     return X86EMUL_OKAY;
@@ -725,6 +726,10 @@ static int read_msr(
 {
     switch ( reg )
     {
+    case 0x0000002f: /* BARRIER */
+        *val = 0;
+        return X86EMUL_OKAY;
+
     case 0xc0000080: /* EFER */
         *val = ctxt->addr_size > 32 ? 0x500 /* LME|LMA */ : 0;
         return X86EMUL_OKAY;
@@ -1513,9 +1518,53 @@ int main(int argc, char **argv)
          (gs_base != 0x0000111122224444UL) ||
          gs_base_shadow )
         goto fail;
+    printf("okay\n");
 
     cp.extd.nscb = i;
     emulops.write_segment = NULL;
+
+    printf("%-40s", "Testing rdmsrlist...");
+    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x01; instr[3] = 0xc6;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = (unsigned long)(res + 0x80);
+    regs.rdi = (unsigned long)(res + 0x80 + 0x40 * 2);
+    regs.rcx = 0x0002000100008000UL;
+    gs_base_shadow = 0x0000222244446666UL;
+    memset(res + 0x80, ~0, 0x40 * 8 * 2);
+    res[0x80 + 0x0f * 2] = 0xc0000101; /* GS_BASE */
+    res[0x80 + 0x0f * 2 + 1] = 0;
+    res[0x80 + 0x20 * 2] = 0xc0000102; /* SHADOW_GS_BASE */
+    res[0x80 + 0x20 * 2 + 1] = 0;
+    res[0x80 + 0x31 * 2] = 0x2f; /* BARRIER */
+    res[0x80 + 0x31 * 2 + 1] = 0;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[4]) ||
+         regs.rcx ||
+         (res[0x80 + (0x40 + 0x0f) * 2] != (unsigned int)gs_base) ||
+         (res[0x80 + (0x40 + 0x0f) * 2 + 1] != (gs_base >> (8 * sizeof(int)))) ||
+         (res[0x80 + (0x40 + 0x20) * 2] != (unsigned int)gs_base_shadow) ||
+         (res[0x80 + (0x40 + 0x20) * 2 + 1] != (gs_base_shadow >> (8 * sizeof(int)))) ||
+         res[0x80 + (0x40 + 0x31) * 2] || res[0x80 + (0x40 + 0x31) * 2 + 1] )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing wrmsrlist...");
+    instr[0] = 0xf3; instr[1] = 0x0f; instr[2] = 0x01; instr[3] = 0xc6;
+    regs.eip = (unsigned long)&instr[0];
+    regs.rsi -= 0x11 * 8;
+    regs.rdi -= 0x11 * 8;
+    regs.rcx = 0x0002000100000000UL;
+    res[0x80 + 0x0f * 2] = 0xc0000102; /* SHADOW_GS_BASE */
+    res[0x80 + 0x20 * 2] = 0xc0000101; /* GS_BASE */
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[4]) ||
+         regs.rcx ||
+         (gs_base != 0x0000222244446666UL) ||
+         (gs_base_shadow != 0x0000111122224444UL) )
+        goto fail;
+
     emulops.write_msr     = NULL;
 #endif
     printf("okay\n");
--- a/tools/tests/x86_emulator/x86-emulate.c
+++ b/tools/tests/x86_emulator/x86-emulate.c
@@ -88,6 +88,7 @@ bool emul_test_init(void)
     cp.feat.rdpid = true;
     cp.feat.lkgs = true;
     cp.feat.wrmsrns = true;
+    cp.feat.msrlist = true;
     cp.extd.clzero = true;
 
     if ( cpu_has_xsave )
--- a/xen/arch/x86/cpu-policy.c
+++ b/xen/arch/x86/cpu-policy.c
@@ -666,6 +666,9 @@ static void __init calculate_hvm_max_pol
             __clear_bit(X86_FEATURE_XSAVES, fs);
     }
 
+    if ( !cpu_has_vmx_msrlist )
+        __clear_bit(X86_FEATURE_MSRLIST, fs);
+
     /*
      * Xen doesn't use PKS, so the guest support for it has opted to not use
      * the VMCS load/save controls for efficiency reasons.  This depends on
--- a/xen/arch/x86/hvm/vmx/vmx.c
+++ b/xen/arch/x86/hvm/vmx/vmx.c
@@ -854,6 +854,20 @@ static void cf_check vmx_cpuid_policy_ch
     else
         vmx_set_msr_intercept(v, MSR_PKRS, VMX_MSR_RW);
 
+    if ( cp->feat.msrlist )
+    {
+        vmx_clear_msr_intercept(v, MSR_BARRIER, VMX_MSR_RW);
+        v->arch.hvm.vmx.tertiary_exec_control |= TERTIARY_EXEC_ENABLE_MSRLIST;
+        vmx_update_tertiary_exec_control(v);
+    }
+    else if ( v->arch.hvm.vmx.tertiary_exec_control &
+              TERTIARY_EXEC_ENABLE_MSRLIST )
+    {
+        vmx_set_msr_intercept(v, MSR_BARRIER, VMX_MSR_RW);
+        v->arch.hvm.vmx.tertiary_exec_control &= ~TERTIARY_EXEC_ENABLE_MSRLIST;
+        vmx_update_tertiary_exec_control(v);
+    }
+
  out:
     vmx_vmcs_exit(v);
 
@@ -3714,6 +3728,22 @@ gp_fault:
     return X86EMUL_EXCEPTION;
 }
 
+static bool cf_check is_msrlist(
+    const struct x86_emulate_state *state, const struct x86_emulate_ctxt *ctxt)
+{
+
+    if ( ctxt->opcode == X86EMUL_OPC(0x0f, 0x01) )
+    {
+        unsigned int rm, reg;
+        int mode = x86_insn_modrm(state, &rm, &reg);
+
+        /* This also includes WRMSRNS; should be okay. */
+        return mode == 3 && rm == 6 && !reg;
+    }
+
+    return false;
+}
+
 static void vmx_do_extint(struct cpu_user_regs *regs)
 {
     unsigned long vector;
@@ -4521,6 +4551,17 @@ void asmlinkage vmx_vmexit_handler(struc
         }
         break;
 
+    case EXIT_REASON_RDMSRLIST:
+    case EXIT_REASON_WRMSRLIST:
+        if ( vmx_guest_x86_mode(v) != 8 || !currd->arch.cpuid->feat.msrlist )
+        {
+            ASSERT_UNREACHABLE();
+            hvm_inject_hw_exception(X86_EXC_UD, X86_EVENT_NO_EC);
+        }
+        else if ( !hvm_emulate_one_insn(is_msrlist, "MSR list") )
+            hvm_inject_hw_exception(X86_EXC_GP, 0);
+        break;
+
     case EXIT_REASON_VMXOFF:
     case EXIT_REASON_VMXON:
     case EXIT_REASON_VMCLEAR:
--- a/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmcs.h
@@ -267,6 +267,7 @@ extern u32 vmx_secondary_exec_control;
 #define TERTIARY_EXEC_EPT_PAGING_WRITE          BIT(2, UL)
 #define TERTIARY_EXEC_GUEST_PAGING_VERIFY       BIT(3, UL)
 #define TERTIARY_EXEC_IPI_VIRT                  BIT(4, UL)
+#define TERTIARY_EXEC_ENABLE_MSRLIST            BIT(6, UL)
 extern uint64_t vmx_tertiary_exec_control;
 
 #define VMX_EPT_EXEC_ONLY_SUPPORTED                         0x00000001
@@ -356,6 +357,8 @@ extern u64 vmx_ept_vpid_cap;
     (vmx_secondary_exec_control & SECONDARY_EXEC_BUS_LOCK_DETECTION)
 #define cpu_has_vmx_notify_vm_exiting \
     (vmx_secondary_exec_control & SECONDARY_EXEC_NOTIFY_VM_EXITING)
+#define cpu_has_vmx_msrlist \
+    (vmx_tertiary_exec_control & TERTIARY_EXEC_ENABLE_MSRLIST)
 
 #define VMCS_RID_TYPE_MASK              0x80000000U
 
--- a/xen/arch/x86/include/asm/hvm/vmx/vmx.h
+++ b/xen/arch/x86/include/asm/hvm/vmx/vmx.h
@@ -202,6 +202,8 @@ static inline void pi_clear_sn(struct pi
 #define EXIT_REASON_XRSTORS             64
 #define EXIT_REASON_BUS_LOCK            74
 #define EXIT_REASON_NOTIFY              75
+#define EXIT_REASON_RDMSRLIST           78
+#define EXIT_REASON_WRMSRLIST           79
 /* Remember to also update VMX_PERF_EXIT_REASON_SIZE! */
 
 /*
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -24,6 +24,8 @@
 #define  APIC_BASE_ENABLE                   (_AC(1, ULL) << 11)
 #define  APIC_BASE_ADDR_MASK                _AC(0x000ffffffffff000, ULL)
 
+#define MSR_BARRIER                         0x0000002f
+
 #define MSR_TEST_CTRL                       0x00000033
 #define  TEST_CTRL_SPLITLOCK_DETECT         (_AC(1, ULL) << 29)
 #define  TEST_CTRL_SPLITLOCK_DISABLE        (_AC(1, ULL) << 31)
--- a/xen/arch/x86/include/asm/perfc_defn.h
+++ b/xen/arch/x86/include/asm/perfc_defn.h
@@ -6,7 +6,7 @@ PERFCOUNTER_ARRAY(exceptions,
 
 #ifdef CONFIG_HVM
 
-#define VMX_PERF_EXIT_REASON_SIZE 76
+#define VMX_PERF_EXIT_REASON_SIZE 80
 #define VMEXIT_NPF_PERFC 143
 #define SVM_PERF_EXIT_REASON_SIZE (VMEXIT_NPF_PERFC + 1)
 PERFCOUNTER_ARRAY(vmexits,              "vmexits",
--- a/xen/arch/x86/msr.c
+++ b/xen/arch/x86/msr.c
@@ -72,6 +72,12 @@ int guest_rdmsr(struct vcpu *v, uint32_t
     case MSR_AMD_PPIN:
         goto gp_fault;
 
+    case MSR_BARRIER:
+        if ( !cp->feat.msrlist )
+            goto gp_fault;
+        *val = 0;
+        break;
+
     case MSR_IA32_FEATURE_CONTROL:
         /*
          * Architecturally, availability of this MSR is enumerated by the
@@ -340,6 +346,7 @@ int guest_wrmsr(struct vcpu *v, uint32_t
         uint64_t rsvd;
 
         /* Read-only */
+    case MSR_BARRIER:
     case MSR_IA32_PLATFORM_ID:
     case MSR_CORE_CAPABILITIES:
     case MSR_INTEL_CORE_THREAD_COUNT:
--- a/xen/arch/x86/x86_emulate/0f01.c
+++ b/xen/arch/x86/x86_emulate/0f01.c
@@ -11,6 +11,7 @@
 #include "private.h"
 
 #ifdef __XEN__
+#include <xen/event.h>
 #include <asm/prot-key.h>
 #endif
 
@@ -28,6 +29,7 @@ int x86emul_0f01(struct x86_emulate_stat
     switch ( s->modrm )
     {
         unsigned long base, limit, cr0, cr0w, cr4;
+        unsigned int n;
         struct segment_register sreg;
         uint64_t msr_val;
 
@@ -42,6 +44,64 @@ int x86emul_0f01(struct x86_emulate_stat
                                 ((uint64_t)regs->r(dx) << 32) | regs->eax,
                                 ctxt);
             goto done;
+
+        case vex_f3: /* wrmsrlist */
+            vcpu_must_have(msrlist);
+            generate_exception_if(!mode_64bit(), X86_EXC_UD);
+            generate_exception_if(!mode_ring0() || (regs->r(si) & 7) ||
+                                  (regs->r(di) & 7),
+                                  X86_EXC_GP, 0);
+            fail_if(!ops->write_msr);
+            while ( regs->r(cx) )
+            {
+                n = __builtin_ffsl(regs->r(cx)) - 1;
+                if ( (rc = ops->read(x86_seg_none, regs->r(si) + n * 8,
+                                     &msr_val, 8, ctxt)) != X86EMUL_OKAY )
+                    break;
+                generate_exception_if(msr_val != (uint32_t)msr_val,
+                                      X86_EXC_GP, 0);
+                base = msr_val;
+                if ( (rc = ops->read(x86_seg_none, regs->r(di) + n * 8,
+                                     &msr_val, 8, ctxt)) != X86EMUL_OKAY ||
+                     (rc = ops->write_msr(base, msr_val, ctxt)) != X86EMUL_OKAY )
+                    break;
+                regs->r(cx) &= ~(1UL << n);
+
+#ifdef __XEN__
+                if ( regs->r(cx) && local_events_need_delivery() )
+                {
+                    rc = X86EMUL_RETRY;
+                    break;
+                }
+#endif
+            }
+            goto done;
+
+        case vex_f2: /* rdmsrlist */
+            vcpu_must_have(msrlist);
+            generate_exception_if(!mode_64bit(), X86_EXC_UD);
+            generate_exception_if(!mode_ring0() || (regs->r(si) & 7) ||
+                                  (regs->r(di) & 7),
+                                  X86_EXC_GP, 0);
+            fail_if(!ops->read_msr || !ops->write);
+            while ( regs->r(cx) )
+            {
+                n = __builtin_ffsl(regs->r(cx)) - 1;
+                if ( (rc = ops->read(x86_seg_none, regs->r(si) + n * 8,
+                                     &msr_val, 8, ctxt)) != X86EMUL_OKAY )
+                    break;
+                generate_exception_if(msr_val != (uint32_t)msr_val,
+                                      X86_EXC_GP, 0);
+                if ( (rc = ops->read_msr(msr_val, &msr_val,
+                                         ctxt)) != X86EMUL_OKAY ||
+                     (rc = ops->write(x86_seg_none, regs->r(di) + n * 8,
+                                      &msr_val, 8, ctxt)) != X86EMUL_OKAY )
+                    break;
+                regs->r(cx) &= ~(1UL << n);
+            }
+            if ( rc != X86EMUL_OKAY )
+                ctxt->regs->r(cx) = regs->r(cx);
+            goto done;
         }
         generate_exception(X86_EXC_UD);
 
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -594,6 +594,7 @@ amd_like(const struct x86_emulate_ctxt *
 #define vcpu_has_lkgs()        (ctxt->cpuid->feat.lkgs)
 #define vcpu_has_wrmsrns()     (ctxt->cpuid->feat.wrmsrns)
 #define vcpu_has_avx_ifma()    (ctxt->cpuid->feat.avx_ifma)
+#define vcpu_has_msrlist()     (ctxt->cpuid->feat.msrlist)
 #define vcpu_has_avx_vnni_int8() (ctxt->cpuid->feat.avx_vnni_int8)
 #define vcpu_has_avx_ne_convert() (ctxt->cpuid->feat.avx_ne_convert)
 
--- a/xen/arch/x86/x86_emulate/util.c
+++ b/xen/arch/x86/x86_emulate/util.c
@@ -100,6 +100,9 @@ bool cf_check x86_insn_is_mem_access(con
         break;
 
     case X86EMUL_OPC(0x0f, 0x01):
+        /* {RD,WR}MSRLIST */
+        if ( mode_64bit() && s->modrm == 0xc6 )
+            return s->vex.pfx >= vex_f3;
         /* Cover CLZERO. */
         return (s->modrm_rm & 7) == 4 && (s->modrm_reg & 7) == 7;
     }
@@ -160,7 +163,11 @@ bool cf_check x86_insn_is_mem_write(cons
         case 0xff: /* Grp5 */
             break;
 
-        case X86EMUL_OPC(0x0f, 0x01): /* CLZERO is the odd one. */
+        case X86EMUL_OPC(0x0f, 0x01):
+            /* RDMSRLIST */
+            if ( mode_64bit() && s->modrm == 0xc6 )
+                return s->vex.pfx == vex_f2;
+            /* CLZERO is another odd one. */
             return (s->modrm_rm & 7) == 4 && (s->modrm_reg & 7) == 7;
 
         default:
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -287,6 +287,7 @@ XEN_CPUFEATURE(FRED,         10*32+17) /
 XEN_CPUFEATURE(LKGS,         10*32+18) /*S  Load Kernel GS Base */
 XEN_CPUFEATURE(WRMSRNS,      10*32+19) /*S  WRMSR Non-Serialising */
 XEN_CPUFEATURE(AVX_IFMA,     10*32+23) /*A  AVX-IFMA Instructions */
+XEN_CPUFEATURE(MSRLIST,      10*32+27) /*s  MSR list instructions */
 
 /* AMD-defined CPU features, CPUID level 0x80000021.eax, word 11 */
 XEN_CPUFEATURE(LFENCE_DISPATCH,    11*32+ 2) /*A  LFENCE always serializing */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -274,7 +274,8 @@ def crunch_numbers(state):
         # superpages, PCID and PKU are only available in 4 level paging.
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
-        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS, CMPCCXADD],
+        LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS, CMPCCXADD,
+             MSRLIST],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:09:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:09:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643049.1002927 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vxb-0003Kt-SS; Tue, 28 Nov 2023 11:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643049.1002927; Tue, 28 Nov 2023 11:08: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 1r7vxb-0003KR-Nw; Tue, 28 Nov 2023 11:08:59 +0000
Received: by outflank-mailman (input) for mailman id 643049;
 Tue, 28 Nov 2023 11:08: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vxa-0003H2-7w
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:08:58 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0603.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::603])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 856ea8eb-8dde-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 12:08:55 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8276.eurprd04.prod.outlook.com (2603:10a6:20b:3e7::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 11:08:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 11:08: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: 856ea8eb-8dde-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lixExJ2+jZw2/E6prdflagAK6FhwxZvOKKO0SfgS0Bj5sgZYjAwbfCePf3GOJK0y9PhrgpU6UHTXrYvQGMf38nTES+4mr0wF9Z8KL8jQg3pG+qDLl6tzXrncj1z8ZepkZgkloZwGpzjwDfQJKThg5er5PLgeWEFTV44Xopk6qRqiBe+ZHt86IfkBER1s1KYSDf6ugS1vTJK1csrimv9SdofB/7UOe7eybPdc+Ld1Prbl+3gkmOui3dEhAFHQIv+kO6xB4ghmOV+AMd7BlGI2wRK8SGOViUsWuMhn/KaBLkw02gHP1QE/RD+nYNMtYFgrS/kjqIE7yiGLOcTpyT6PSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=pwrCA2CBrXdPl43QS9iokM9F6epYCSa2vyZSt+7U2aA=;
 b=aOPghqRxBsVC6C4WWeedcF0DX3unupQj6IZdFwzJVIRjo9g4P/w8N+OfUIoKAJpyPg+BCQZVAIK9IUlL5REXkQ4UaTo8Si9ccAgG4atTwIzgOgoDFKp2nERn5f1prbA5yl9P2G6HwOF4jHLl1yccYd0wFueVPqf8jIp1sWw5U5fCu7eQ6NV1BVevWwejYxuC9W7MhpV5BJ/SyVk0kHh+Ixy2s1F99XsWDmWK4M0C2dSMbtElLXWCldgklNYXUVu26HYcKvKpEQRnN22+VcWITb/lQguTpeqWSnBi4BEcpk7iLjf2GDf14fyOvhnx7psXATdq1OFePSPo5kqgMIqOiQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=pwrCA2CBrXdPl43QS9iokM9F6epYCSa2vyZSt+7U2aA=;
 b=kHnXY6GxomzkwSZbC/4F6cMxoo13eWrX/jdzgexUV93H3IfAuwbhqdYYwP79wuxKqETWUiV4hKUYREuDoM8vTluc8jJ126eAjXXB7ZpfzN9diNOCIq85mdJEinoCwxYUhsE58gsuHuZpmCxO4CNWdEchnUbzUOiC6zfTxZSpi9lY2W5DuyYyemy6HLat6oyTMrLadAqgsyInf8LPl40mIFq4MSIR9mFkmf2R0qHJbs3uKsk/98RUDZ6XMIuOItnkyuCEAbELLbh/9T2p7okU1xaGmzAlXx4JbFviLcQc0thot4Sk2KfmL3M6S/lr1cLsGilpUfklaAQ90+auO3hAMA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <407bb556-3951-4274-b304-413938ac7d76@suse.com>
Date: Tue, 28 Nov 2023 12:08:53 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 6/6] x86emul: support USER_MSR instructions
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: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8276:EE_
X-MS-Office365-Filtering-Correlation-Id: 55ded75e-4ad5-4ead-d9a5-08dbf002688b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	geFgr7nXrbUUaV8xT3QAD47EXCERWKh/DbzRVVrXF+SIPwWRwY2TXZExBNniSmforZOPhW1duX9zMoNqOaPSQgOaTzG1UxoKicTEOQpWgGtUQCzIxG32rjaoL66qyIwpl7FNgWiMaQ9CGxGIFA5egwaLkrsVItUOHa+jYY0ysRM+OZuWoWVV2fhcyqgqbZ6kR2tG38g+OpQivRygWhztYOE4MZwjtQXY+FqSRXF6w8pOufqRDeFMW+XNjVPZ4WaN019q6mLLUCCgdofe6WufvPuiEuT4pyySe90428yp0rjmLKtTS8peLi0bmeZBCReTafxDyYEcJEunQpJmZDYdwbmqv6ln10t2GRme/ygoQuxucWyOi56qa8VBDooYZu/I2cLomAVogLH2XJ8ZS2H3cScB/d4NA6nnR/AbcCpTpF05ZJTFEoo7xlNrgMhFwxRvkWjAIPu9B5fjOgE5Rd6MeFDEWmh/aOpphpTZJSc1XN52dOWAi7MrwofWeLyWAEFEZLOewPnyoKw7mcJCqB3ZN96beEENsKYfJ9E1usq8Abj1G4XM93P8EFi+Oyt5kH7WNvA+i4+ZSdbxeBrUgFgR9X9DJPDRS8ZLCkEBHks6I5zQ59pNNAwSIdpYYqcUjP09c9mtMjHnMoXoM8rbkzZOaA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(376002)(136003)(366004)(346002)(39860400002)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(31686004)(26005)(2616005)(478600001)(6486002)(6506007)(6512007)(38100700002)(86362001)(5660300002)(31696002)(36756003)(41300700001)(2906002)(66946007)(83380400001)(30864003)(66476007)(66556008)(316002)(8676002)(6916009)(54906003)(8936002)(4326008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?czA2bHBTYnplRThRZHFSMGQ5dit4blF2Y2NzMnBmdGdsUGRuaGMreVAxcmMx?=
 =?utf-8?B?bjhUMUFVak5HV1BKdm1kZE8zR09ZV3lQTHB2dlNRZ1VqRC9Pb3dJTGVkV1dL?=
 =?utf-8?B?SGI2ZE9yZ1B0OEZmRCsyOTAzSW1RMjRTNm9pMEJNZUNKbUtpcmw4aXhsTzZK?=
 =?utf-8?B?ZVBIclFFYjl0RU05SkJKTzVOVjFFakFaS0JSTmhPUUh6WTk3bis5emluNDN3?=
 =?utf-8?B?SXAvRVY5OTRuMmxaOXgxUHJRdms2UFNpdHRRYWk2b2dTVks1aDMwdVh3dEYv?=
 =?utf-8?B?YVZmWGZmNVc0NXNvR1I1Tkc2SlBQQU1oUEZXdGlRTnNTOHZwZm5nMXJQSVFO?=
 =?utf-8?B?QmlTeFFFWVRMU3ZUWTNKbW5ldFh6d1Y4a0xxbWhDVmtOa1JkNTIwKzdaenpS?=
 =?utf-8?B?TjNqSkRZb0txLy9DV0dYb0kxRjVJWXYvTkZWdTdwL21UbjQvemJPSGFkQmw1?=
 =?utf-8?B?Ui9UTW4zVUtTeFRQU2o0SGUwSXFmYUFDTU5rM1JZRUVyRXJ1VmtPdTUvbkFT?=
 =?utf-8?B?anp2bzVZS3krUjZjbS82cTFoVUw5ZDA5d1hqNVYrZWpCTmVDeUdHVGtWNkJV?=
 =?utf-8?B?MzZsaVlhZUUzUHNMeTJLcTN5Z09BWHlOVG5DREFuakUzS0lqSk1RZi9ZbDBF?=
 =?utf-8?B?OFhhUjZJMkpDa0FNTTJXSlF3WitrY3I3Y1RlWTZXc0FuWTJHSE5idDVzaHM4?=
 =?utf-8?B?RVl5clhVNXFDWVZKTkxEUkJMUyt6RUN4blV6UFVFMWtKd21hMzc3Q0lXSTNB?=
 =?utf-8?B?dDNJT1FKak9KMVNtMzQ2NGhTSGF1SHJkUS9Nc0hEeERpRkdvWUxOMTMrcFhn?=
 =?utf-8?B?Y0hKa2ROakpoZDBwM3NpTWozK2xpV1hwZ29pVWp0eWgyLzYrdElrVEpxbDNx?=
 =?utf-8?B?QVQ1N0ZrQjJMWVd2UCs1N0ZEYkVmdzBxSGF6MkFnY0pnMWp6K1FlTDFlaVhM?=
 =?utf-8?B?UHVyWDl6OGNlUHpxQUpQeFQzcThBbFNQTFJZdkVsL3NTSEhBaDFMVS9IeXNl?=
 =?utf-8?B?WGJ4L0tObklmVEtMaVVIdWtkcHhWdGJaVzlLSTJFMlk2NkR2aVZXSmVrV1c0?=
 =?utf-8?B?WldaT2p3SHhWTDZWNFBaa1FTeGl2RU5aNkltZEpoQm9HV0RHcFhRQUtZRkVK?=
 =?utf-8?B?MDRTUUtMaFRRY0FLM21vYXFHaE0yZkxBYXdSRUVZZnBuK1BXNGlxVXAyakp0?=
 =?utf-8?B?TmtnVDZMVDVESWhPRkh2dXZMenV3bUh3RnNoK0VCdGI5OWVhYzhremtCa0Y2?=
 =?utf-8?B?c0NXT1FKUll2M2N6RzVuWDVrMGJTeVlGTmhUTlNJc3hxeGNTb1c0bTZNVjNP?=
 =?utf-8?B?b2UyZDQxUkxxdCtwZXdqcWE0UTA2VEM2bGdLUXB2bmV1ckpEcktaMVhoZHNu?=
 =?utf-8?B?Sm54M0VRTk9IY0ZjQUlESG5hVExlN0t4M0NiREJkd1N5bFVxMXZ2eHV3SlFh?=
 =?utf-8?B?aDRnMTZtRVZjdFpnczFLQ0lqMDUzYVZMRkZSZjNqQVpiT1Y5TDBTV0xiOGxS?=
 =?utf-8?B?QjhBMTNwSkZTalBvTzhad3RHRDl6Tzk2TFpROFA5alpTYUdHSWgzRUdocTBq?=
 =?utf-8?B?RWZwcExtb3JCS3pBanV3RUhpQmJoUlErYU04dmJDZDk5RHQra1poaGVwQkFZ?=
 =?utf-8?B?RnNrN3AxMGNPMzdDeXg1bkYzcjVHTVBOYnlEWEdnOW9kdjRvNVl5OGN5bzdu?=
 =?utf-8?B?dFRLdmp6R1VBTHFoamhnaUtmR2VRKzdvZktvenFYbWJYenZld2sza1ZnU3Er?=
 =?utf-8?B?d2hRZlA0Q1JiekE0cDRrVGVoeXpBb1lGR1BTZFkwK0Zjb0t6T1BhamdhUStz?=
 =?utf-8?B?V0VBVC8rSCszTHEwVTcvNXRHQjNmR3FnSTZ3RENFRlJTNi9WZDZtdkxTUGFj?=
 =?utf-8?B?L3RsZHVJYmNZeGtzRS9HOHAwVTE1ak12d0orUTVVa3lmaVJ4RFRjNVlMN205?=
 =?utf-8?B?NUhkcU9sRnpwQkxXemR1QjdOakhKdDZjOFk2Q1RPcEh1VEVWTnNURllBeTFQ?=
 =?utf-8?B?dW95bWRPWjZ6SEVEemxOanlHbkJkVkZqaU9GK1dHaU1pdGVWZk5DaFl1SEd5?=
 =?utf-8?B?NHpicE9pNDZtYnIweHZUUTFHa1JPWnZyaTlrM2hvNkg4MnNJbVA4WTJUM1FB?=
 =?utf-8?Q?nYylsSRKQPGgyYu7v1Pi5j4/d?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 55ded75e-4ad5-4ead-d9a5-08dbf002688b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 11:08:53.8758
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sYZITt69cRQdiw/UA2X6v6lTZV5ji3t8sWaTs6PZ111q1u1G6LKn0VOczsiggzkFyBhP29ApIbp9lbTRCsczSg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8276

While UWRMSR probably isn't of much use as long as we don't support
UINTR, URDMSR may well be useful to guests even without that (depending
on what OSes are willing to permit access to).

Since the two VEX encodings introduce a lonely opcode point in map 7,
for now don't bother introducing a full 256-entry table.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
The retaining of (possible) #PF from the bitmap access is "speculative"
(the spec doesn't mention #PF as a possible exception; conceivably this
might also need converting to #GP).

I'm a little wary of the "MSRs Writeable by UWRMSR" table that the spec
has, and that our code thus also enforces: As new MSRs are added to that
table, we'll need piecemeal updates to that switch() statement.

The choice of using APERF in the test harness is connected to the also
pending RDPRU patch, where the register needs handling anyway.
---
v3: New.

--- a/tools/misc/xen-cpuid.c
+++ b/tools/misc/xen-cpuid.c
@@ -224,7 +224,7 @@ static const char *const str_7d1[32] =
 {
     [ 4] = "avx-vnni-int8",       [ 5] = "avx-ne-convert",
 
-    [14] = "prefetchi",
+    [14] = "prefetchi",           [15] = "user-msr",
 
     [18] = "cet-sss",
 };
--- a/tools/tests/x86_emulator/predicates.c
+++ b/tools/tests/x86_emulator/predicates.c
@@ -864,7 +864,9 @@ static const struct {
     { { 0xf6 }, { 2, 2 }, T, R, pfx_66 }, /* adcx */
     { { 0xf6 }, { 2, 2 }, T, R, pfx_f3 }, /* adox */
     { { 0xf8 }, { 2, 2 }, F, W, pfx_66 }, /* movdir64b */
+    { { 0xf8, 0xc0 }, { 0, 2 }, F, N, pfx_f3 }, /* uwrmsr */
     { { 0xf8 }, { 2, 2 }, F, W, pfx_f3 }, /* enqcmds */
+    { { 0xf8, 0xc0 }, { 0, 2 }, F, N, pfx_f2 }, /* urdmsr */
     { { 0xf8 }, { 2, 2 }, F, W, pfx_f2 }, /* enqcmd */
     { { 0xf9 }, { 2, 2 }, F, W }, /* movdiri */
 };
@@ -1502,6 +1504,9 @@ static const struct vex {
     { { 0xcf }, 3, T, R, pfx_66, W1, Ln }, /* vgf2p8affineinvqb */
     { { 0xdf }, 3, T, R, pfx_66, WIG, Ln }, /* vaeskeygenassist */
     { { 0xf0 }, 3, T, R, pfx_f2, Wn, L0 }, /* rorx */
+}, vex_map7[] = {
+    { { 0xf8, 0xc0 }, 6, F, N, pfx_f3, W0, L0 }, /* uwrmsr */
+    { { 0xf8, 0xc0 }, 6, F, N, pfx_f2, W0, L0 }, /* urdmsr */
 };
 
 static const struct {
@@ -1511,6 +1516,10 @@ static const struct {
     { vex_0f,   ARRAY_SIZE(vex_0f) },
     { vex_0f38, ARRAY_SIZE(vex_0f38) },
     { vex_0f3a, ARRAY_SIZE(vex_0f3a) },
+    { NULL,     0 }, /* map 4 */
+    { NULL,     0 }, /* map 5 */
+    { NULL,     0 }, /* map 6 */
+    { vex_map7, ARRAY_SIZE(vex_map7) },
 };
 
 static const struct xop {
@@ -2411,7 +2420,8 @@ void predicates_test(void *instr, struct
 
                 if ( vex[x].tbl[t].w == WIG || (vex[x].tbl[t].w & W0) )
                 {
-                    memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                    memcpy(ptr, vex[x].tbl[t].opc,
+                           MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L0) )
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
@@ -2421,7 +2431,8 @@ void predicates_test(void *instr, struct
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L1) )
                     {
                         ptr[-1] |= 4;
-                        memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                        memcpy(ptr, vex[x].tbl[t].opc,
+                               MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
                                 vex[x].tbl[t].modrm ? (void *)ptr - instr + 1 : 0,
@@ -2432,7 +2443,8 @@ void predicates_test(void *instr, struct
                 if ( vex[x].tbl[t].w == WIG || (vex[x].tbl[t].w & W1) )
                 {
                     ptr[-1] = 0xf8 | vex[x].tbl[t].pfx;
-                    memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                    memcpy(ptr, vex[x].tbl[t].opc,
+                           MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L0) )
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
@@ -2442,7 +2454,8 @@ void predicates_test(void *instr, struct
                     if ( vex[x].tbl[t].l == LIG || (vex[x].tbl[t].l & L1) )
                     {
                         ptr[-1] |= 4;
-                        memcpy(ptr, vex[x].tbl[t].opc, vex[x].tbl[t].len);
+                        memcpy(ptr, vex[x].tbl[t].opc,
+                               MIN(vex[x].tbl[t].len, ARRAY_SIZE(vex->tbl->opc)));
 
                         do_test(instr, vex[x].tbl[t].len + ((void *)ptr - instr),
                                 vex[x].tbl[t].modrm ? (void *)ptr - instr + 1 : 0,
--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -684,6 +684,7 @@ static int blk(
 
 #ifdef __x86_64__
 static unsigned long gs_base, gs_base_shadow;
+static unsigned long uintr_timer;
 #endif
 
 static int read_segment(
@@ -718,6 +719,15 @@ static int write_segment(
 
     return X86EMUL_OKAY;
 }
+
+static const uint8_t __attribute__((aligned(0x1000))) umsr_bitmap[0x1000] = {
+#define RD(msr) [(msr) >> 3] = 1 << ((msr) & 7)
+#define WR(msr) [0x800 + ((msr) >> 3)] = 1 << ((msr) & 7)
+    RD(0x000000e8), /* APERF */
+    WR(0x00001b00), /* UINTR_TIMER */
+#undef WR
+#undef RD
+};
 #endif
 
 static int read_msr(
@@ -727,10 +737,22 @@ static int read_msr(
 {
     switch ( reg )
     {
+#ifdef __x86_64__
+    case 0x0000001c: /* USER_MSR_CTL */
+        *val = (unsigned long)umsr_bitmap | 1;
+        return X86EMUL_OKAY;
+#endif
+
     case 0x0000002f: /* BARRIER */
         *val = 0;
         return X86EMUL_OKAY;
 
+    case 0x000000e8: /* APERF */
+#define APERF_LO_VALUE 0xAEAEAEAE
+#define APERF_HI_VALUE 0xEAEAEAEA
+        *val = ((uint64_t)APERF_HI_VALUE << 32) | APERF_LO_VALUE;
+        return X86EMUL_OKAY;
+
     case 0xc0000080: /* EFER */
         *val = ctxt->addr_size > 32 ? 0x500 /* LME|LMA */ : 0;
         return X86EMUL_OKAY;
@@ -766,6 +788,12 @@ static int write_msr(
 {
     switch ( reg )
     {
+    case 0x00001b00: /* UINTR_TIMER */
+        if ( ctxt->addr_size < 64 )
+            break;
+        uintr_timer = val;
+        return X86EMUL_OKAY;
+
     case 0xc0000101: /* GS_BASE */
         if ( ctxt->addr_size < 64 || !is_canonical_address(val) )
             break;
@@ -1565,6 +1593,62 @@ int main(int argc, char **argv)
          (gs_base != 0x0000222244446666UL) ||
          (gs_base_shadow != 0x0000111122224444UL) )
         goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing urdmsr %edx,%rcx...");
+    instr[0] = 0xf2; instr[1] = 0x0f; instr[2] = 0x38; instr[3] = 0xf8; instr[4] = 0xd1;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rdx = 0x12345678000000e8UL; /* APERF; high half to be ignored */
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[5]) ||
+         (regs.rcx != (((uint64_t)APERF_HI_VALUE << 32) | APERF_LO_VALUE)) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing urdmsr $0xe8,%rdx...");
+    instr[0] = 0xc4; instr[1] = 0xe7; instr[2] = 0x7b; instr[3] = 0xf8; instr[4] = 0xc2;
+    instr[5] = 0xe8; instr[6] = 0; instr[7] = 0; instr[8] = 0;
+    regs.rip = (unsigned long)&instr[0];
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[9]) ||
+         (regs.rdx != (((uint64_t)APERF_HI_VALUE << 32) | APERF_LO_VALUE)) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing uwrmsr %rdi,%esi...");
+    instr[0] = 0xf3; instr[1] = 0x0f; instr[2] = 0x38; instr[3] = 0xf8; instr[4] = 0xf7;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = 0x4433221100001b00UL; /* UINTR_TIMER; high half to be ignored */
+    regs.rdi = 0x0011223344556677UL;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[5]) ||
+         (uintr_timer != 0x0011223344556677UL) )
+        goto fail;
+    printf("okay\n");
+
+    printf("%-40s", "Testing uwrmsr %rsi,$0x1b00...");
+    instr[0] = 0xc4; instr[1] = 0xe7; instr[2] = 0x7a; instr[3] = 0xf8; instr[4] = 0xc6;
+    instr[5] = 0x00; instr[6] = 0x1b; instr[7] = 0; instr[8] = 0;
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = 0x8877665544332211UL;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_OKAY) ||
+         (regs.rip != (unsigned long)&instr[9]) ||
+         (uintr_timer != 0x8877665544332211UL) )
+        goto fail;
+
+    printf("%-40s", "Testing uwrmsr %rsi,$0x1b01...");
+    instr[5] = 0x01; /* UARCH_MISC_CTL (derived from UINTR_TIMER) */
+    regs.rip = (unsigned long)&instr[0];
+    regs.rsi = 0;
+    rc = x86_emulate(&ctxt, &emulops);
+    if ( (rc != X86EMUL_EXCEPTION) ||
+         (regs.rip != (unsigned long)&instr[0]) ||
+         (uintr_timer != 0x8877665544332211UL) )
+        goto fail;
 
     emulops.write_msr     = NULL;
 #endif
--- a/xen/arch/x86/include/asm/msr-index.h
+++ b/xen/arch/x86/include/asm/msr-index.h
@@ -24,6 +24,10 @@
 #define  APIC_BASE_ENABLE                   (_AC(1, ULL) << 11)
 #define  APIC_BASE_ADDR_MASK                _AC(0x000ffffffffff000, ULL)
 
+#define MSR_USER_MSR_CTL                    0x0000001c
+#define  USER_MSR_ENABLE                    (_AC(1, ULL) <<  0)
+#define  USER_MSR_ADDR_MASK                 0xfffffffffffff000ULL
+
 #define MSR_BARRIER                         0x0000002f
 
 #define MSR_TEST_CTRL                       0x00000033
--- a/xen/arch/x86/x86_emulate/decode.c
+++ b/xen/arch/x86/x86_emulate/decode.c
@@ -901,7 +901,7 @@ decode_0f38(struct x86_emulate_state *s,
     {
     case 0x00 ... 0xef:
     case 0xf2 ... 0xf5:
-    case 0xf7 ... 0xf8:
+    case 0xf7:
     case 0xfa ... 0xff:
         s->op_bytes = 0;
         /* fall through */
@@ -946,6 +946,18 @@ decode_0f38(struct x86_emulate_state *s,
     case X86EMUL_OPC_VEX_F2(0, 0xf7): /* shrx */
         break;
 
+    case 0xf8:
+        if ( s->modrm_mod == 3 ) /* u{rd,wr}msr */
+        {
+            s->desc = DstMem | SrcReg | Mov;
+            s->op_bytes = 4; /* Describes the MSR index. */
+            s->simd_size = simd_none;
+        }
+        else /* movdir64b / enqcmd{,s} */
+            s->op_bytes = 0;
+        ctxt->opcode |= MASK_INSR(s->vex.pfx, X86EMUL_OPC_PFX_MASK);
+        break;
+
     default:
         s->op_bytes = 0;
         break;
@@ -1251,6 +1263,16 @@ int x86emul_decode(struct x86_emulate_st
                          */
                         d = twobyte_table[0x38].desc;
                         break;
+
+                    case vex_map7:
+                        opcode |= MASK_INSR(7, X86EMUL_OPC_EXT_MASK);
+                        /*
+                         * No table lookup here for now, as there's only a single
+                         * opcode point populated in map 7.
+                         */
+                        if ( b == 0xf8 )
+                            d = DstMem | SrcImm | ModRM | Mov;
+                        break;
                     }
                 }
                 else if ( s->ext < ext_8f08 + ARRAY_SIZE(xop_table) )
@@ -1619,6 +1641,7 @@ int x86emul_decode(struct x86_emulate_st
             s->simd_size = ext8f09_table[b].simd_size;
             break;
 
+        case ext_map7:
         case ext_8f08:
         case ext_8f0a:
             /*
@@ -1833,6 +1856,7 @@ int x86emul_decode(struct x86_emulate_st
 
     case ext_map5:
     case ext_map6:
+    case ext_map7:
     case ext_8f09:
     case ext_8f0a:
         break;
--- a/xen/arch/x86/x86_emulate/private.h
+++ b/xen/arch/x86/x86_emulate/private.h
@@ -185,6 +185,7 @@ enum vex_opcx {
     vex_0f3a,
     evex_map5 = 5,
     evex_map6,
+    vex_map7,
 };
 
 enum vex_pfx {
@@ -241,6 +242,7 @@ struct x86_emulate_state {
         ext_0f3a = vex_0f3a,
         ext_map5 = evex_map5,
         ext_map6 = evex_map6,
+        ext_map7 = vex_map7,
         /*
          * For XOP use values such that the respective instruction field
          * can be used without adjustment.
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -7109,10 +7109,68 @@ x86_emulate(
         state->simd_size = simd_none;
         break;
 
-    case X86EMUL_OPC_F2(0x0f38, 0xf8): /* enqcmd r,m512 */
-    case X86EMUL_OPC_F3(0x0f38, 0xf8): /* enqcmds r,m512 */
+    case X86EMUL_OPC_F2(0x0f38, 0xf8): /* enqcmd r,m512 / urdmsr r32,r64 */
+    case X86EMUL_OPC_F3(0x0f38, 0xf8): /* enqcmds r,m512 / uwrmsr r64,r32 */
+        if ( ea.type == OP_MEM )
+            goto enqcmd;
+        imm1 = src.val;
+        /* fall through */
+    case X86EMUL_OPC_VEX_F2(7, 0xf8): /* urdmsr imm32,r64 */
+    case X86EMUL_OPC_VEX_F3(7, 0xf8): /* uwrmsr r64,imm32 */
+        generate_exception_if(!mode_64bit() || ea.type != OP_REG, X86_EXC_UD);
+        generate_exception_if(vex.l || vex.w, X86_EXC_UD);
+        generate_exception_if(vex.opcx && (modrm_reg || vex.reg != 0xf),
+                              X86_EXC_UD);
+        fail_if(!ops->read_msr);
+        if ( ops->read_msr(MSR_USER_MSR_CTL, &msr_val, ctxt) != X86EMUL_OKAY )
+        {
+            x86_emul_reset_event(ctxt);
+            msr_val = 0;
+        }
+        generate_exception_if(!(msr_val & USER_MSR_ENABLE), X86_EXC_UD);
+        generate_exception_if(imm1 & ~0x3fff, X86_EXC_GP, 0);
+
+        /* Check the corresponding bitmap. */
+        ea.mem.off = msr_val & ~0xfff;
+        if ( vex.pfx != vex_f2 )
+            ea.mem.off += 0x800;
+        ea.mem.off += imm1 >> 3;
+        if ( (rc = ops->read(x86_seg_sys, ea.mem.off, &b, 1,
+                             ctxt)) != X86EMUL_OKAY )
+            goto done;
+        generate_exception_if(!(b & (1 << (imm1 & 7))), X86_EXC_GP, 0);
+
+        /* Carry out the actual MSR access. */
+        if ( vex.pfx == vex_f2 )
+        {
+            /* urdmsr */
+            if ( (rc = ops->read_msr(imm1, &msr_val, ctxt)) != X86EMUL_OKAY )
+                goto done;
+            dst.val = msr_val;
+            ASSERT(dst.type == OP_REG);
+            dst.bytes = 8;
+        }
+        else
+        {
+            /* uwrmsr */
+            switch ( imm1 )
+            {
+            case 0x1b00: /* UINTR_TIMER */
+            case 0x1b01: /* UARCH_MISC_CTL */
+                break;
+            default:
+                generate_exception(X86_EXC_GP, 0);
+            }
+            fail_if(!ops->write_msr);
+            /* NB: Cannot use dst.val here, as op_bytes was set to 4. */
+            if ( (rc = ops->write_msr(imm1, *dst.reg, ctxt)) != X86EMUL_OKAY )
+                goto done;
+            dst.type = OP_NONE;
+        }
+        break;
+
+    enqcmd:
         host_and_vcpu_must_have(enqcmd);
-        generate_exception_if(ea.type != OP_MEM, X86_EXC_UD);
         generate_exception_if(vex.pfx != vex_f2 && !mode_ring0(), X86_EXC_GP, 0);
         src.val = truncate_ea(*dst.reg);
         generate_exception_if(!is_aligned(x86_seg_es, src.val, 64, ctxt, ops),
--- a/xen/include/public/arch-x86/cpufeatureset.h
+++ b/xen/include/public/arch-x86/cpufeatureset.h
@@ -315,6 +315,7 @@ XEN_CPUFEATURE(MCDT_NO,            13*32
 XEN_CPUFEATURE(AVX_VNNI_INT8,      15*32+ 4) /*A  AVX-VNNI-INT8 Instructions */
 XEN_CPUFEATURE(AVX_NE_CONVERT,     15*32+ 5) /*A  AVX-NE-CONVERT Instructions */
 XEN_CPUFEATURE(PREFETCHI,          15*32+14) /*A  PREFETCHIT{0,1} Instructions */
+XEN_CPUFEATURE(USER_MSR,           15*32+15) /*   U{RD,WR}MSR Instructions */
 XEN_CPUFEATURE(CET_SSS,            15*32+18) /*   CET Supervisor Shadow Stacks safe to use */
 
 /* Intel-defined CPU features, MSR_ARCH_CAPS 0x10a.eax, word 16 */
--- a/xen/tools/gen-cpuid.py
+++ b/xen/tools/gen-cpuid.py
@@ -275,7 +275,7 @@ def crunch_numbers(state):
         # NO_LMSL indicates the absense of Long Mode Segment Limits, which
         # have been dropped in hardware.
         LM: [CX16, PCID, LAHF_LM, PAGE1GB, PKU, NO_LMSL, LKGS, CMPCCXADD,
-             MSRLIST],
+             MSRLIST, USER_MSR],
 
         # AMD K6-2+ and K6-III processors shipped with 3DNow+, beyond the
         # standard 3DNow in the earlier K6 processors.



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:09:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:09:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643048.1002920 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7vxb-0003HT-Id; Tue, 28 Nov 2023 11:08:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643048.1002920; Tue, 28 Nov 2023 11:08: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 1r7vxb-0003HM-G4; Tue, 28 Nov 2023 11:08:59 +0000
Received: by outflank-mailman (input) for mailman id 643048;
 Tue, 28 Nov 2023 11:08: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7vxa-0003H1-77
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:08:58 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2083.outbound.protection.outlook.com [40.107.7.83])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 866267cd-8dde-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 12:08:57 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PA4PR04MB7517.eurprd04.prod.outlook.com (2603:10a6:102:e0::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 11:08:28 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 11: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>
X-Inumbo-ID: 866267cd-8dde-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=h+VQO4LI42fKSCYUagQEVvusVHyDhHZXb8PA+2vMvYaInmLDxCvlboYl3e4Bds6yoP7ub++SvL2L/vL44rMK3x15X6oVCG4oEKqtJJyB4K/xjQYG0kDcVG8ksyrxlgJUiii7b83GnGVb/gW3aDYK/Co/8ELxnVo4ASHFv1OHk897xBgzIINff8oZJxzFeJKEW1Nt+MWLSwbgRLIO34b/OEt/I/cmRzaTEBKG9iJvCWpw5hevCC+NCD2+Y9Zb0XUJRDoxUm7OvTNlInLmis+27aS51pvIYelVQZTl0sSqPSvs3V1blIjhAigtw92Wzl2Cqap69Z6jgnaXoi39n1VxGw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=CHM640CL0brm6XLhH4Ah5+FySsM4Ce2r9bQ7B4C6trc=;
 b=XCxNXvNZ1n8W8jwL6DmUpsSWkMw5VNRHEZOg+R26z7bIc18hxIyn905k6wIlZaPx7sL/vt9vavBmfgX9MRmNXDTZJFp5x6vfv46WMPeyQGySlO96bUoMYrAWvO5wDxEKVnrX7QVsdFO0/zcwozP5PIi0rkgyvpsN9aC/hQTGFnebjf5cHpIV2cM/mQLFAfQlELlwZiiUqqzTk/DaSuK02eymOMT2rhjDbd2CcI8PUsz/2no/X2iZZ6YUdiLP+0d+4hRtXQK7BlKCgSfy46gHgaldgOMD/K9ABA5jv8oMAOMg2NPNMTk8oqdtUjXodvOeW6BxiXmWg168vcX3aDOn3A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=CHM640CL0brm6XLhH4Ah5+FySsM4Ce2r9bQ7B4C6trc=;
 b=YE02Vr+RuOBHOGlK63sTh3T8PXTVSgz5/62gtYSjeKbvPR9SFF1A0J+fEo/Ey3AKJTwtzR6KabU4nqIgKfwo8urK2FUW7SuJw7ZGk19qiFdhIS+N3vjTB7fj3BfmdLbpkRVqMX7542XiaPeANJBkjbknqcQLZTPti7MjnLCucmMgXH51m+azYWUgGqUf/qa1CsRxV3j5at41OK+CgxvbDdZxNbE4ltq/nN7hqGnwT09brDNMsc/QlU5XkMQagaDiq3Lj6/1lm8IEhs9MQLG0mzCzEZ4Dgm4nNurrfXnY6rCIxk7MU9Eh3i+PD+Wwda+fBDQae3Dgd0gdRKrARZkdFQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5aef66fc-089b-4a14-bf35-96afe1e06285@suse.com>
Date: Tue, 28 Nov 2023 12:08:28 +0100
User-Agent: Mozilla Thunderbird
Subject: [PATCH v3 5/6] x86: introduce x86_seg_sys
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>,
 Paul Durrant <paul@xen.org>
References: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e13004ac-22af-411e-a5d0-907a2a0301c5@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0192.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ab::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PA4PR04MB7517:EE_
X-MS-Office365-Filtering-Correlation-Id: a1bfe7f6-8e38-455a-440a-08dbf0025975
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/vcVKHjF9uIOkr6b/Vw76vS+24YjAfoXCurc6mC7rEc16WK/ePHy2fBypXwuw7KTuBT8imyZgrZyOyXBJ6vjXDXYbclNCXsAZ9SM2t6JD3YndQ61MU5dVjZwwH4EEZaZZ+1EAKDPWivPHPFHYwVvUYiK8raqbKrPjS3guaQy4AgXEw8TRCNb7HDsAdl+2KQXQBJlh0RV69NEd2N+zebuO+jhbkPTlnx3fCVDt1sRJ762nbCPGIWCuvPSwkmhEFqhnf6EiTYeysFm6BIjkj8jRPY+lr/ZGR6Ah7BUnUvhafzX7wtq96AgLjNpvFGoKz1YtbM305KoeWg91ObjZOGHZZy+Bz2a3hWJ1+yEA3vSj35T7symO2Z5xPcVUsKSP7Mw8h+lRE2qPNSleAxlRqwxMD6O5ZHJ0O78Jycp3GLZE4td3StWcdgPNNTgNhTOmo8c/Znzy5joOIBDNlYgdknCdL7Q4uu/tWYkPx+NoG+UKeH3UeZP+BwrcmAvLAPicmLA0ExDhe7XPo2SuZnsL1m69mryFm9umQeHuP2Ntf2DjPOVcZcKiRIopTrSEME7lpnRSy9kv4x3ZiRGTEMdD53hpwX3JQ1AueFOYtjJcSwh2Jy4syrksa4b5ZhYRovTyAnAm/rkoF+6ldBg7WMoGOhVKA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(366004)(396003)(39860400002)(346002)(230922051799003)(186009)(64100799003)(1800799012)(451199024)(86362001)(31696002)(83380400001)(26005)(6506007)(6512007)(2616005)(31686004)(36756003)(38100700002)(478600001)(66556008)(66946007)(66476007)(6916009)(4326008)(6486002)(8936002)(8676002)(5660300002)(2906002)(41300700001)(316002)(54906003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bzZzd0p0c0s0WHlxTDNvZVRsdVFHQWtURk4wOCtqY0liY3hURHlrM08wOTNY?=
 =?utf-8?B?OXBXNFdPblYyZmxEbjlpZTNlNU9sbXVjVWR0YXZpTXQyU0dpMitVa2x0VXB3?=
 =?utf-8?B?a2JiYVNnMk95U1BWQisxeGQyMkR3NVJVeFp1dkNRZGp6cGt0YStjNHdZR1JV?=
 =?utf-8?B?Rmx1WDF5SmM1UGphSmtZY1pwV2IyaWFzZGJkN003K3hIMy9xNllZQ1JNZkJO?=
 =?utf-8?B?Z1RSb0d0V0RTOTVab3NwT2hGZVNuWUxwVnJLa014MUFXZUVXbStMbUI2QndI?=
 =?utf-8?B?Y04zLzJKOGJXdVJEYUpFOFQ4ajBZNlE4SEZYZjA0Q0ZHWldTRDE5d3YrNkVh?=
 =?utf-8?B?bnRFZkt5MXdESVlHU25XMklPcFFxOHhiQ2IrcndIVGpDSHZ1azRKV08vMlQv?=
 =?utf-8?B?d296K05Ec3BieUo4OUR0TTI2Z2VyV2FMOCtqcDk5RGk1OGdtbmgxV2ZsWGZH?=
 =?utf-8?B?QlVjT0FBeDlVeTZ2SDgwL1FVVnZ0SHlZcGkvTHpIY2FqZ3grU3dZOVkxVkVx?=
 =?utf-8?B?ZXJaemhHYXhJZUtNMGpKbHNPcTZWUXg0V3NpcVFmdDZoSGtOMUVtMjE0RTNI?=
 =?utf-8?B?SjVDZXpCSm1PYjRFMDhoRm9yMlNxTWdtNXJDWGs5bHEvZnNWcGxOdXZOZWtP?=
 =?utf-8?B?K3ZTTE1qL2xQdlpDZnR4bFR6U1pvZVJOMXRpT0JFdS9SRjB5Z2FIRVVwdTRY?=
 =?utf-8?B?bTV4T0VaWkMwMi9TdWs1K2JZQjVWNUxsbTlFTnJ3cVAzendkaENsUlQ2SndW?=
 =?utf-8?B?VXlMTHhscVU3TEpBZWM3K2oyd1NGYXNJUVYxR3VRRldmRFpiYVhwcnphR2tV?=
 =?utf-8?B?OUFHcnN4aVVqVmdiL2FPdWNjckJicTBIMkZ3M3FXQnE3SytXejJmdStiNmE1?=
 =?utf-8?B?bmQvRWx5eVlnL1MrODJTaDh5UFFJZVhyMG5MT1pBczBRSDduLy9ocGx2Q0Nz?=
 =?utf-8?B?KytZVVBGQlhFR2p1MkZqV1FsV3dYRzcvV1BPbGcvWU92QXBtaldBWjJjNjV0?=
 =?utf-8?B?VURoWER2SnozNm9XS3c3MHRHNS9NMVVnY29CZHkvbm5jci84QmFsRFJFRFhQ?=
 =?utf-8?B?V1Y0K1ZuWDB0M0dJS3ZYVXV2bnVHblcvK09MUlVqUkRpTzFLYno4WDZmdVVi?=
 =?utf-8?B?L2sxRWk1MXA0TmlaeGYveEtoelBzS1BSOEtPN1BJV3ExR2ZNd2ZwWDNSZHJ1?=
 =?utf-8?B?blZKTXdYOTRaODJmR1dVVmJsMFg3QWhGMGx2V29xcHZXMkxsbTNlRkMyU3hH?=
 =?utf-8?B?T1pVZFMxWEszVnhjWHpKbmtuOHFpV014K0taajFiZkMyUGV5TUNGSHY2UnRn?=
 =?utf-8?B?dmVHWEVXNzI3T0IwUnZ5ZTZDQm5HVXVtRnNTeTB6M3VURWF3Q0NEWTdLdURK?=
 =?utf-8?B?bEJ3eFRSQWdaSHFSSUkzQjlxZVVHeWRGcERyMEdQT3MxTUhZbnBCcW4wWkk0?=
 =?utf-8?B?SmVGdi9INGR3V2o4Zk1RS3hvQUwxMVpFVDM2MjNUdDJwV2ZxS3ZFb1FOdFJr?=
 =?utf-8?B?TmYzWWowVlNwYzRsS3BFTGFGRU4wQjNhbEZvZkdzbUFSQiszM1BhMFhsZHN2?=
 =?utf-8?B?RFpMNUhIMEt6MmVCWTE5SHFra1hXWmx1TVFTRVRVR1owbUVLM25UUHVOcTU2?=
 =?utf-8?B?NlhkNEJFTUJkeXo3Z21JVElRUWRvUExYRWc3K3hNTGlNdGJLcTV5Wm5jeURZ?=
 =?utf-8?B?UmU5QWFWWmxsYnhRd1B2bDNOUEV2eFZ6SGxLTW1RMTR3TnYzR1FaeGZkRlBU?=
 =?utf-8?B?VkE0ODVuYWVNWVdGQkJSRUxYUEF4UUwrT1NhaXFvem5raG5tZXpBNzYrSG50?=
 =?utf-8?B?WVZPNzQ2cFNUanBRZnlWQ3hmZTlzbDdtTTdWTnIyRGFxaXRWbWhZMncyY0Zv?=
 =?utf-8?B?Snk0WEd6YjRVVEpQWFdSQ0d2NGtNU2hYQ3dFSGJ1aGNrN1BJUHU2RzlnZVpO?=
 =?utf-8?B?Yy9YUENrUlBMc2tUOGpVVkY5WVBwRk4zckdxOW5DRSt5c01POW85YXpZS29E?=
 =?utf-8?B?K2VORHhTMDBkVG53VW4wc3JPQzFMeXI4YkFxeWZKWGNCOU1SL01uT1Y3VUV4?=
 =?utf-8?B?U2k4cDZPL3lacm5lVHFuZXp1YjlGU2ozWW1XditveVZZamE3UWRMcW43QWw1?=
 =?utf-8?Q?VQmVNDr/cqv//rxbZYbvuWtXH?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: a1bfe7f6-8e38-455a-440a-08dbf0025975
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 11:08:28.5387
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: H3wNGu8vM2mZUcrm5GHun9nsSSeB4OGkSrr9HSSvKvvskzFPRNP1T4R/xA1OqD28j2A+7Y04jY1kkbYmwY12cw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7517

To represent the USER-MSR bitmap access, a new segment type needs
introducing, behaving like x86_seg_none in terms of address treatment,
but behaving like a system segment for page walk purposes (implicit
supervisor-mode access).

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
This feels a little fragile: Of course I did look through uses of the
enumerators, and I didn't find further places which would need
adjustment, but I'm not really sure I didn't miss any place.
---
v3: New.

--- a/tools/tests/x86_emulator/test_x86_emulator.c
+++ b/tools/tests/x86_emulator/test_x86_emulator.c
@@ -603,6 +603,7 @@ static int read(
     default:
         if ( !is_x86_user_segment(seg) )
             return X86EMUL_UNHANDLEABLE;
+    case x86_seg_sys:
     case x86_seg_none:
         bytes_read += bytes;
         break;
--- a/xen/arch/x86/hvm/emulate.c
+++ b/xen/arch/x86/hvm/emulate.c
@@ -837,7 +837,7 @@ static int hvmemul_virtual_to_linear(
     int okay;
     unsigned long reps = 1;
 
-    if ( seg == x86_seg_none )
+    if ( seg == x86_seg_none || seg == x86_seg_sys )
     {
         *linear = offset;
         return X86EMUL_OKAY;
--- a/xen/arch/x86/hvm/hvm.c
+++ b/xen/arch/x86/hvm/hvm.c
@@ -2581,7 +2581,7 @@ bool hvm_vcpu_virtual_to_linear(
      * It is expected that the access rights of reg are suitable for seg (and
      * that this is enforced at the point that seg is loaded).
      */
-    ASSERT(seg < x86_seg_none);
+    ASSERT(seg < x86_seg_sys);
 
     /* However, check that insn fetches only ever specify CS. */
     ASSERT(access_type != hvm_access_insn_fetch || seg == x86_seg_cs);
--- a/xen/arch/x86/hvm/svm/svm.c
+++ b/xen/arch/x86/hvm/svm/svm.c
@@ -749,6 +749,7 @@ static void cf_check svm_set_segment_reg
         vmcb->ldtr = *reg;
         break;
 
+    case x86_seg_sys:
     case x86_seg_none:
         ASSERT_UNREACHABLE();
         break;
--- a/xen/arch/x86/x86_emulate/x86_emulate.h
+++ b/xen/arch/x86/x86_emulate/x86_emulate.h
@@ -43,7 +43,8 @@ enum x86_segment {
     x86_seg_ldtr,
     x86_seg_gdtr,
     x86_seg_idtr,
-    /* No Segment: For accesses which are already linear. */
+    /* No Segment: For (system/normal) accesses which are already linear. */
+    x86_seg_sys,
     x86_seg_none
 };
 



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:17:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:17:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643064.1002941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7w68-0008ST-UD; Tue, 28 Nov 2023 11:17:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643064.1002941; Tue, 28 Nov 2023 11:17: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 1r7w68-0008SM-R3; Tue, 28 Nov 2023 11:17:48 +0000
Received: by outflank-mailman (input) for mailman id 643064;
 Tue, 28 Nov 2023 11:17: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=r3Bp=HJ=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r7w67-0008SF-NR
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:17:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c114c934-8ddf-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 12:17:45 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id D43154EE0737;
 Tue, 28 Nov 2023 12:17:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c114c934-8ddf-11ee-9b0e-b553b5be7939
MIME-Version: 1.0
Date: Tue, 28 Nov 2023 12:17:44 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Andrew Cooper3
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Xen Devel
 <xen-devel@lists.xenproject.org>
Subject: Re: MISRA: Compatible declarations for sort and bsearch
In-Reply-To: <225661f6-fd30-4c28-84af-a6ff16def246@suse.com>
References: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
 <225661f6-fd30-4c28-84af-a6ff16def246@suse.com>
Message-ID: <51df0275d0988af618c22adb8d55138c@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-28 09:56, Jan Beulich wrote:
> On 24.11.2023 10:40, Nicola Vetrini wrote:
>> in xen/lib.h and xen/sort.h there are definitions of the functions
>> bsearch and sort that have no prior declarations, and therefore are
>> subject to a violation of MISRA C Rule 8.4.
>> 
>> I'm wondering whether it would be preferred
>> 
>> 1. to put a declaration just before the definition, in lib.h and 
>> sort.h
>> 2. deviate these functions, as their signatures are well-known and
>> somewhat standardized
> 
> Seeing that so far no-one else has replied to this: My take is 
> "neither".
> It is the very nature of extern gnu_inline functions to work like this.
> 

This could well be a justification text: violations of required rules 
need either to be fixed or justified.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:27:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:27:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643074.1002950 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7wFF-0005gp-ST; Tue, 28 Nov 2023 11:27:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643074.1002950; Tue, 28 Nov 2023 11: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 1r7wFF-0005gi-Py; Tue, 28 Nov 2023 11:27:13 +0000
Received: by outflank-mailman (input) for mailman id 643074;
 Tue, 28 Nov 2023 11:27: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7wFF-0005gc-6Z
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:27:13 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on061b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 122ac6b6-8de1-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 12:27:11 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8305.eurprd04.prod.outlook.com (2603:10a6:20b:3ee::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 11:27:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 11: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>
X-Inumbo-ID: 122ac6b6-8de1-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=L3XF31EK9a7i08Y6y9TDprvKYUxdWVa4HhfuufW1pW4kO3EEMixOxd/WqfFtjZwtgVCmyeKqyFQPumFPfrGrHvHyJwVnhwUTP3EGju28tsf5C7HO5KMeNR5o7CPD8cLIcxSwV406pr0COF1fRjMBtEZ03CL9MeQcd41fxsRd6IkRqqTWlzeXRQl3WBvZG/domEhY5CYIfox3JkHYwzJPc2dWcOVAQFUMKJ9+Agzqft0NKgdS5WGdogH1ClMB762qHAJOcEgjNq9hy0LvKidO0KABVmrrIqrMwVCdADJ/otnk+R2DBBzmTZW0bHCgtr+Ni6EVvAlos42kFsmI6ODPZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=TTC/n79uuiwJnhKuQ9xsTvAOjc1SDzEnT5Qz3rTZ3dw=;
 b=g/YGQLWvsT2jPC3bx2+pTP5nUlBqFbGqKcld4ypWp3EG2KFMUAsc02CDCdDBaVuUl5uGesoEhx7NraW+RlUHwvXuSRMhK+LrWQJI2OMmO3IW6neZWbj62tSTEB/FVGb0PPJ6PTiBMp4Jh8dMSXT02QBvQzk15R9FJ/L9KyJPBp5sIYOTKE8w7VWJ/kSaed7nmRbTRA4j1EHB/wyQb2jnuCGXJlQdwf8WxDiaexLrUuAJ607dvoRQROGNcuBf5F7fQ8JnEEvMXWFVAAuSYKKqSvnAUEuIv8L4w3/j0cRwfPutBjIITryjCb57LOkaGrGqn4JnAxifMCnVkds6nnS8Sw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=TTC/n79uuiwJnhKuQ9xsTvAOjc1SDzEnT5Qz3rTZ3dw=;
 b=U7iciL4V9OIbB/8NtNrzhYKbjdhwIHyZhPToqI9x4gF2e2hm10ZEmKXGf4B6OKmjCbxV7ntsqNgsj2GuWwYRXiMoWrEedbrvjf9jjWVTMXz/lv2lfrW2OrOXF8ULHMmgZQQDnrf9bi6s9Ng+FXGtOx7nJBA0SWQTkothrwlVZ7cRG/jQxZYY6iV1yC3RIz5z5xY32S9AzqHt+2gOp/Pa/RMjsA8bP058qGYK9jBfCMc2vtaMtsHDPdPXg/QsRUBs4lmG/AlhU5jdM4YmeS/4xEvrtVovsP3IuAzQibJMJL8Ks/9aISSOB6JxzhsPlUWimE0HD2xNDwSos+xd8F8WDQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <bfc02fcd-8e0f-4f3f-a17b-c85c307878fd@suse.com>
Date: Tue, 28 Nov 2023 12:27:05 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: Clang-format configuration discussion - pt 2
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>,
 Michal Orzel <Michal.Orzel@amd.com>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
 <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
 <838395c3-41ba-4004-abf1-948b655a5ef2@suse.com>
 <B5AF6A9F-3986-4F3C-90F7-122D63A2B31A@arm.com>
 <a99681e4-e201-4abe-bf6a-fda61674074e@suse.com>
 <8DE85ED0-2949-4FF1-832B-ABEDC86BF13B@arm.com>
 <53B2087D-A24C-45EF-BC4F-012714C718B3@arm.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <53B2087D-A24C-45EF-BC4F-012714C718B3@arm.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR0P281CA0078.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8305:EE_
X-MS-Office365-Filtering-Correlation-Id: 58f4549e-9b3b-41ac-0742-08dbf004f4a3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NbyoG/ffWOU6LyKABR/2lK9QKZEOYTAp+dBVUvBMhopoJUD+044gVjizln7ZxkRa/LaIgCZa64oHletFeYFQ4bLdG/+lwnvh6plC0ns8++YhV+eBJgdo7TpMqsqkAm8MpgzsWyJYpN2hoyj99nAmziI0HZrr6vQ0U6QC0Bg4xSkCYwestNaxfglsdYzXS0TX1ig3pP8pUVk5PXZHCSa0wOriui7ljoQu1iUFMNDb7XBbB5NdDue7tfZaCGZXRcsANATkI+nSvm4E46DpBi0IJx22ta+dcnNO3hxTnuvopDyD4STQkyd82NuK4zxVMFSLaMm6Iz5brMeY4wYHO+Z+qdubMC5NQLCxsSMjaVwtxurUq4aUR3yOzQPLo0cOkIXDUyoH+T3JSTVRl/GzCqvbXXGbfG0RO/H3XhqClyChBs2si1q7yI6RolqaPwRxZWlvxTP7xYFZrnSBnjVVmbuAznfEKWzPOB5YzCNtlvucM3DSQXbvcfryWA104n193oJbqR6lmx8YQk2E2QDTpWBtmRJB6H14qL4YJDpKkjUiBNSMrnL0fF64zVupCyJe3uNQOotJ+ZXYBz8wXIXZILkS7qEHOIX1QHVpYAj3yPI2THfPT4SG+YCJ3FeQR0mjFwQwuIdNxmzmq+ranHzeHseOmQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(376002)(346002)(396003)(39860400002)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(26005)(83380400001)(38100700002)(31686004)(6512007)(6506007)(8936002)(66946007)(4326008)(966005)(6916009)(316002)(66556008)(53546011)(54906003)(66476007)(5660300002)(31696002)(7416002)(478600001)(8676002)(6486002)(86362001)(2906002)(41300700001)(36756003)(2616005)(66899024)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SUpZVDFGQmVnd3YzQmk2WmtaZFR1Q2hUK0JuSC9DcUpXekhvY3ArbThERURW?=
 =?utf-8?B?RitlblhTV203RzdhRXFpVlE1RG5lcHBtOWtPb1laNTVUbVl5b3VUbXI4L1JB?=
 =?utf-8?B?Z1pGMUNDWHN6cVRNcDYwMmdjSG80MlUzbDdpZEo0YzhpSGFySFRTdkZiVXJq?=
 =?utf-8?B?NDIzRlFMemJFbE5tcTdoWEVyMkZJRnp0dDNCUDZKandOMjdlMENpNE5XOEdk?=
 =?utf-8?B?WHM1bFB0Sk5adjY5RVpESmlORituV1V6OWxzdTBLaVdhclEwNW9TaE9zZTZO?=
 =?utf-8?B?cHVHbnZXRTFHMEVBS1lNTFVCWmlGVkQ4dGFQdnl3dlo1aUlUbGFiNUlaVG5v?=
 =?utf-8?B?dElEdXRySVZyWmtFbFpSaXJMbFFpUWY3aDJpZk5mYjlIeWcyNFRuTWJhYTdK?=
 =?utf-8?B?bnpHR0ZmUkpKWHl1UzZJaW16cDN4VVpvNXM0bUZJMERKYm9lMTdmbFFOM1Zp?=
 =?utf-8?B?dWs3cjZ5akFIVzZzNjJEeFNDeW9wUmduUW9ZaDNKUHIxZllsaTUrVFVGOTVE?=
 =?utf-8?B?M0RwdDNKck9nRGJRTmhsS1pEZnNqYS9oV3ZxcXZVYmlaN1ZqUytiYkRSR2lF?=
 =?utf-8?B?T01YQm9IU3RISE10cXlXU1dTTTFhM2JBMFFCZ0FZMjlIT0ZEYUd4VjVPcGtk?=
 =?utf-8?B?VDh5MTkyd0c5M05qQVcyZndjZUw0MzdCeXBzQ0lPT2pPcUNVRkV4TUtJY3VE?=
 =?utf-8?B?bUgwZFdJTFNkQW9NWSs4QnZZaWc2bmVoZGtNVmpQdkFhWGR2bzJhWGxiYzg3?=
 =?utf-8?B?cDJGY25kaHc1dzk3bW9DVUFQVUxjNlJTNEdzYTNvRkdUMXB1ZGQrTEowUWlZ?=
 =?utf-8?B?MmMyeDlhNG5SVDh0QzVvQUU3aU9zYzZmZ0xTS3VGRGk0RWd1Szd5djI3WTBy?=
 =?utf-8?B?dys4WHFRN3N3MkNrV0dZOXRJME9uMHpoZGRkS290RXE2RzVveFloMkFoLzhz?=
 =?utf-8?B?RTJ4MG1kTEUrM1E1WHdndk90VW1TalhOaldrYU5NVHBjNkM0bnQxSDk4U3Zz?=
 =?utf-8?B?c3ZzNjJmVjZJQ1pQb3dxS0dIRzlDTlVYeWQvbU4rTXVYWGM2a3JLRXZMVTJB?=
 =?utf-8?B?NERhQkNyUlZhT21rTWR4aVNuSTU2MkdHQkhyb01CdGxQN2Eyemk1T2RUc1NZ?=
 =?utf-8?B?VnhnSFNlVXhtaHIvNFB1Qk9KV2NzdzZ5dmlKZVhrMjNMSDl3UlBzV015elB3?=
 =?utf-8?B?bHpSb3A1N3NpMVF4cFc5SWE0TUpicUhxL283VHI1cHpCMGl6N0h3QXArNmZn?=
 =?utf-8?B?LzY4V0V6YUxKcm1yZ25YeVRHdHFaaW1hNkpCa0JUam5Fa3hDQ0RjeG9kbnRX?=
 =?utf-8?B?aUFHbDZLWU8rQVZyUElJN0Y3VGNac0gwNFBQdHJsRDMrN1BMZWxqYmx4SWxJ?=
 =?utf-8?B?eGxCTlpKeGRWUTh5NGFHVXhOK0Y0RVRIaGVVZU1yUEkvNUpQckg5T0RkK1Fu?=
 =?utf-8?B?S1VWMXJsS1lhUUdoQXdZZ1poaGpRTnNEektQTmZyY1dhaEJSelB2OUY0dHRi?=
 =?utf-8?B?b0NwYXBqUGlEWnJjUVlueEQ5SlNXbzJrMTc4YWUwWTJxcmZ3TFBhL3RjQUY1?=
 =?utf-8?B?NTBGVG0rb05XcUtxcHZwYWgvU29GR1VFd1VoaVlXem5HNVFvajBFQkVtZ0xH?=
 =?utf-8?B?Y21ZNlc5QlNjYTVLRU5nK3kxQUFEZUF4SXVQTm95cnVwM0ZNV0VyOS8xYUw3?=
 =?utf-8?B?NkNuN2ZONTI2V2U4VUhQb21kMXRtcHprR05uU2FCWHNpelpuaG1ocTdOdzN3?=
 =?utf-8?B?WTVZRlJXbUtZcHdWbDNYc1RqWmZvdllpbUJzTUkrV3l2dDNaRklMcFEwMkg0?=
 =?utf-8?B?eTJKZElzMDdyWExabC9lZytwNXZVVUR2aVU2ZzVIUm5udVQ2OUtRR3lkMlV6?=
 =?utf-8?B?UUFLd3BGbFRJcWN6Q1pPdFRHWS9sV1pJWUNTR3M0a0tKRTZpam1ETXFLaDdG?=
 =?utf-8?B?dXlBaWJqQ0JQODlCN2k3M0tqOGxpdm5DcHNjbUQrekFpbVpxU3ZpZ2dyYkdu?=
 =?utf-8?B?N00vWkltd2ZGL2dQeG5GL21CUDFEczVtMkYzZ242Uk5qcWFDeDc0c3k3d2Fk?=
 =?utf-8?B?eWUxNVZheklQZ2xWdXRwS2l1ckk2K0RGeHN6SjF3aHBKVTlDL0lkWEU1TEFn?=
 =?utf-8?Q?8HiRNyCbg7qIvFeIsAtF2t7zb?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 58f4549e-9b3b-41ac-0742-08dbf004f4a3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 11:27:07.9185
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XQHCLECBUmVBa0vbNsPgzwed0/J1yU3iVlwkzBH/7Ygs4rgADj8W2Gcr3S3jmi/uWd7td9IiEB8nUHY0oF1Geg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8305

On 28.11.2023 11:55, Luca Fancellu wrote:
> 
> 
>> On 27 Nov 2023, at 15:37, Luca Fancellu <Luca.Fancellu@arm.com> wrote:
>>
>>
>>
>>> On 27 Nov 2023, at 15:13, Jan Beulich <jbeulich@suse.com> wrote:
>>>
>>> On 27.11.2023 15:58, Luca Fancellu wrote:
>>>>> On 27 Nov 2023, at 12:20, Jan Beulich <jbeulich@suse.com> wrote:
>>>>> On 24.11.2023 15:52, Luca Fancellu wrote:
>>>>>>> On 24 Nov 2023, at 12:47, Jan Beulich <jbeulich@suse.com> wrote:
>>>>>>> On 23.11.2023 15:47, Luca Fancellu wrote:
>>>>>>>> Let’s continue the discussion about clang-format configuration, this is part 2, previous discussions are:
>>>>>>>>
>>>>>>>> - https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00498.html
>>>>>>>>
>>>>>>>> You can find the serie introducing clang-format here:
>>>>>>>> https://patchwork.kernel.org/project/xen-devel/cover/20231031132304.2573924-1-luca.fancellu@arm.com/
>>>>>>>> and there is also a patch linked to my gitlab account where you can find the output for the hypervisor code.
>>>>>>>>
>>>>>>>> For a full list of configurables and to find the possible values for them, please refer to this page:
>>>>>>>> https://clang.llvm.org/docs/ClangFormatStyleOptions.html
>>>>>>>>
>>>>>>>> --------------------------------------------------------------------------------------------------------------------------------------------------
>>>>>>>>
>>>>>>>> Our coding style doesn’t mention anything about alignment, shall we add a new section?
>>>>>>>> I can send patches when we reach agreement on each of these rules.
>>>>>>>>
>>>>>>>>
>>>>>>>> QualifierAlignment: Custom
>>>>>>>> QualifierOrder: ['static', 'inline', 'const', 'volatile', 'type']
>>>>>>>>
>>>>>>>> ---
>>>>>>>> For “QualifierAlignment” I chose Custom in order to apply in “QualifierOrder” an order for the
>>>>>>>> qualifiers that match the current codebase, we could specify also “Leave” in order to keep
>>>>>>>> them as they are.
>>>>>>>
>>>>>>> Where do attributes go in this sequence?
>>>>>>
>>>>>> I think function declaration/definition and variables.
>>>>>
>>>>> How does this relate to my question? I asked about the sequence of elements
>>>>> listed for QualifierOrder:, where attributes don't appear at all right now.
>>>>
>>>> Sorry, I misread your question, attributes are like invisible for the tool, they can be placed wherever between
>>>> each of the QualifierOrder items.
>>>
>>> Hoho, one thing where various options are tolerated.
> 
> I realise now that my answer above is not fully correct, I wanted to say that the attributes are like invisible for the tool
> only when dealing with this rule about ordering of the qualifiers.
> 
> On the other hand, yes, if the QualifierAlignment is “Leave”, clang-format won’t touch them.

Hmm - gets me back to wondering what "Alignment" in the name is about, when
order of syntactical elements is affected.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:40:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:40:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643079.1002961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7wST-0003eE-2W; Tue, 28 Nov 2023 11:40:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643079.1002961; Tue, 28 Nov 2023 11:40: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 1r7wSS-0003e7-VT; Tue, 28 Nov 2023 11:40:52 +0000
Received: by outflank-mailman (input) for mailman id 643079;
 Tue, 28 Nov 2023 11:40: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 1r7wSR-0003dx-8w; Tue, 28 Nov 2023 11:40: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 1r7wSR-00071c-1f; Tue, 28 Nov 2023 11:40: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 1r7wSQ-0005s9-L5; Tue, 28 Nov 2023 11:40:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7wSQ-0004XD-KT; Tue, 28 Nov 2023 11:40: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=dQs9cOnYCDRbPfa7Xbe5NdO0vuWj6wsKnw4OYViQzFU=; b=M8bzJSrswIASWj4EtakEkEAcq0
	+AAC5fNIfveA6lB0UMTT/mMnDZRCwj8C+1iMglTpkS2avp1TD88AsND21Vi5tVqw9iMHGuP6wW8ZV
	R0FtpaQeXgyCh9PVx01AgvFvxw/bK8AavVygLYUktpCFC7qSxtXHqKpUMwK0BEilvONc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183877-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183877: tolerable FAIL
X-Osstest-Failures:
    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-i386-xl-qemuu-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-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-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-libvirt-raw:migrate-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    xen=80c153c48b255bae61948827241c26671207cf4e
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 11:40:50 +0000

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

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 183855
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183860
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183860
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183860
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183860
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183860
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183860
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183860
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183860
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183860
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183860
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183860
 test-amd64-i386-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-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-credit1  15 migrate-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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 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-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  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-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-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-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-libvirt     15 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:
 xen                  80c153c48b255bae61948827241c26671207cf4e
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183877  2023-11-28 01:53: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                                          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-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-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 Nov 28 11:41:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:41:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643086.1002977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7wTN-0004c0-IO; Tue, 28 Nov 2023 11:41:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643086.1002977; Tue, 28 Nov 2023 11:41: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 1r7wTN-0004bt-FU; Tue, 28 Nov 2023 11:41:49 +0000
Received: by outflank-mailman (input) for mailman id 643086;
 Tue, 28 Nov 2023 11:41: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=A0gx=HJ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r7wTM-0004bi-5e
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:41:48 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on060c.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1c3e00e8-8de3-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 12:41:46 +0100 (CET)
Received: from DUZPR01CA0171.eurprd01.prod.exchangelabs.com
 (2603:10a6:10:4b3::17) by PAXPR08MB6637.eurprd08.prod.outlook.com
 (2603:10a6:102:153::15) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Tue, 28 Nov
 2023 11:41:40 +0000
Received: from DU6PEPF0000A7DE.eurprd02.prod.outlook.com
 (2603:10a6:10:4b3:cafe::cd) by DUZPR01CA0171.outlook.office365.com
 (2603:10a6:10:4b3::17) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6977.19 via Frontend
 Transport; Tue, 28 Nov 2023 11:41:40 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DU6PEPF0000A7DE.mail.protection.outlook.com (10.167.8.38) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 11:41:40 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Tue, 28 Nov 2023 11:41:40 +0000
Received: from 10ba8c122283.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D2516DD8-CEE2-4850-98FB-1428553B0A63.1; 
 Tue, 28 Nov 2023 11:41:33 +0000
Received: from EUR03-AM7-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 10ba8c122283.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 28 Nov 2023 11:41:33 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by VE1PR08MB5839.eurprd08.prod.outlook.com (2603:10a6:800:1a0::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Tue, 28 Nov
 2023 11:41:31 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023
 11:41: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: 1c3e00e8-8de3-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=WvlTgtgw2vJiLrjV0GC0LfciyYVr3aMc23ot4YEGtvAgkHieAEGt/d4COUIZEccSV4pk3ZdF4N/3j+/TUGGvpHeBbegS/rX5qZGsK+u3v0SVgGEfgzv7rCXImSAwHbym5hAQXdkAbArt0LGPFNvXMTAwzMmXfscmiwRtA91mfeVhra3nNq/5upd5A+y6NZJL9qWwYnp8t2X/AbojILtNAkZLIaCqisPUcEmlG0oczpjJ4ipa/YbtTB9Hi/maXAyrAEf9j2AoeJ5LwMipWnpTtYYkwW8pPFhmD4fAD+BWPgBMyWi3HBOgllaSTD+YTrkcCcXPiab1yZQqU3hOJQQ8HA==
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/Ju3XQBulM1ZYSwXdZJQpIO+zOlCqsyn2j2xXCfZ5U=;
 b=l1lrk8SiEGHvzg1iO5ee3YOWC47julLawalkxgHHZ6I4NswyykE4St8CA21m926OVLLxfZ2H94VWMjFaErx/Y3i6SdN54238M59yLxLD4kXddqHKnA/aEuFrdZRzRQcbYAweOtjiykVSmOehv7T1tGs7rdD/dOYtusw1G/0ZFaufFdQdAJQcKInm3tdVVSqgFTo0Otwh1KOHN0ujyWLk6b1FbhdXLlBlcuRlCPq4RUjTYP6mI9FeuZeCd75BCRbNvnjUNBxqode4VhunwtKb9eSZOlg6x2Dq/svBG2b4zw5eVBq04gXh7XZcYi33M1bSHmfJBfpRz/w7psS7ncxzhg==
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/Ju3XQBulM1ZYSwXdZJQpIO+zOlCqsyn2j2xXCfZ5U=;
 b=W2iD32JXBuCoF79NARWXGqSHQr3kmcF98EB5ZbetQ4xp5nU3yNo/HXWzrl1ADszforegvdgdesvVzZVJWp51nFr/m2pM8ONnkvs9GUVl8+nIypKBKYNJ7wauNEz0Cnka7zosyZwWp6sBaVIzzYjOMb7iCPUYoLWSoJOrtVvXJMM=
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: c1fe7210dbf1ab72
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=MrTrpxwt0Vcifmzcf6CswnH8VRx2lZY/fgBvpl0Jyu4gkCKYdzN+A7xlTup3HzzDt5VJQRdnHxV2Vz8AXxHVmgItK+s92je2wI2pT+X48RHi0FfIm86BQydqbVrEN0NW8WDjdKtUu0/FarVKPrhPkNZYa3ky1i7J9mKlS4qMZEsVTy0YtddRlJmgPVe4X3FbIXo/zyaxdwzMCUHrqz11ML/W01UsObj8a7oQ0s5NgjO3g3tJOJqDStMY7SBvosMEwrtJsiaBanPqcxDRNyK30Z/RxG7pD+4nsV8QeXV5XrCA6oJZxsgy7Ul4wFsQ8DtzmoSpwWMnXph9rS4MBg0nww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-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/Ju3XQBulM1ZYSwXdZJQpIO+zOlCqsyn2j2xXCfZ5U=;
 b=ndB+Z3xoA6MSiLLDJi2TmChpOKMAcxa/oMVDG4W+idSkIPR53Ez+K8MQEwE6mYwp9T3ongGNlsTZyFTO0v/P4vypyV4MfJhgHqOqSfFuJ8GJ3aPIgvGbusyhkKu2GUyBKjHk1+B/SAH3MGzHaS+SZjKTXYmycXneFgl3CpJoXBsFQYyw4eCw3q4Sx1AMryNEFaFf51Sh0LJZDzStKwh4Kw/6+VvoDJ6phfhDEejiRoYyGt+ptS7oSpzQFCnrHZp8iXsPPVwq70qFxny6aQa0LbWj4gcrbLWa1pigHoe6r3Vt/mfQVChiuOCrKB5A5uziwEScxJy/erKC8C6z5BlYqw==
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/Ju3XQBulM1ZYSwXdZJQpIO+zOlCqsyn2j2xXCfZ5U=;
 b=W2iD32JXBuCoF79NARWXGqSHQr3kmcF98EB5ZbetQ4xp5nU3yNo/HXWzrl1ADszforegvdgdesvVzZVJWp51nFr/m2pM8ONnkvs9GUVl8+nIypKBKYNJ7wauNEz0Cnka7zosyZwWp6sBaVIzzYjOMb7iCPUYoLWSoJOrtVvXJMM=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Jan Beulich <jbeulich@suse.com>
CC: Andrew Cooper <andrew.cooper3@citrix.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Julien Grall
	<julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>, Bertrand
 Marquis <Bertrand.Marquis@arm.com>, Michal Orzel <Michal.Orzel@amd.com>,
	George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: Clang-format configuration discussion - pt 2
Thread-Topic: Clang-format configuration discussion - pt 2
Thread-Index:
 AQHaHhwDfni7SbjBtk6S7YLD/w4HebCJbICAgAAi9QCABIyNgIAAK/0AgAAEPICAAAbTgIABQ2eAgAAI84CAAAP8AA==
Date: Tue, 28 Nov 2023 11:41:31 +0000
Message-ID: <E899324F-7808-430E-9CA9-B5BE2035D8A1@arm.com>
References: <1B83FF45-E93B-47D7-AD21-615CFCFD0816@arm.com>
 <1e770335-9606-4e9a-9f96-d04834675426@suse.com>
 <3E69667A-BB66-427D-A907-FA1537CFA1CC@arm.com>
 <838395c3-41ba-4004-abf1-948b655a5ef2@suse.com>
 <B5AF6A9F-3986-4F3C-90F7-122D63A2B31A@arm.com>
 <a99681e4-e201-4abe-bf6a-fda61674074e@suse.com>
 <8DE85ED0-2949-4FF1-832B-ABEDC86BF13B@arm.com>
 <53B2087D-A24C-45EF-BC4F-012714C718B3@arm.com>
 <bfc02fcd-8e0f-4f3f-a17b-c85c307878fd@suse.com>
In-Reply-To: <bfc02fcd-8e0f-4f3f-a17b-c85c307878fd@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|VE1PR08MB5839:EE_|DU6PEPF0000A7DE:EE_|PAXPR08MB6637:EE_
X-MS-Office365-Filtering-Correlation-Id: 39373469-d92f-405f-3dff-08dbf006fcd1
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:
 o1g6nLoBBUjMGWyYkPk3Xjde4Rigj25WBKAzD2TOt2qiKGQ+1spcnIMw0n4qO0us7DumP6GLEBgU6YyhYMu4OdG3QGKG1Rc9GmidcqXS3ktQvi7aQECC35uH95fj7CHZ3c9CwZ5tggvaeEl62FUmAoqr+kUso41sa5zHuUjTAWHEXuvBMeyVbLAXpR2d7Mgoax/rDpIh5kwmWcG165hI2KzcZXJD4Wdh4P2aFi+BBoz51kZSfFqGF6PIRAGFzP+Ov4jtqsCxz50hUpb3CZDBGWe7Jliavtonw7f54Kd1UKZOsJ9v32r9QT/+cW2nz09+kbXPQo6OwKINZZZVqfB675ANBgP9wv8doFzsMRUDohfhvcB4LquFHcp8LcozuUCNgE91NH4yDtfdPRcx55F72K1jp8CCg31ZiMav3KYx3qLln9oIbGW9CJLOZuA6rm+42KxXSVoWzTqhGD8r3f91vvJKxOX64KlFzaPRIUvCQlxLZHUpcpu6kqBR2Snv01Yjlr5Bky9UCtIkbw6JxFtlOn/LUVQLtWha3AOMxTMeF/Qv+MQH55lgtGSzGp9nTDPNW2ofWWuPOJmiUZEm/rh4bB41dgWmvzvVQIOpGL5BC0t8xU6/ARd3HzQWxHEEqJDHyG7y6mTM4zPCz0fnijaXy2gq4a//PmXROVoBz0pjZzjtO9UBsMSCenVXZ/qluwzY
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(346002)(396003)(39850400004)(366004)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(66899024)(2616005)(26005)(6506007)(6512007)(71200400001)(53546011)(8676002)(8936002)(4326008)(6486002)(76116006)(86362001)(2906002)(54906003)(478600001)(966005)(5660300002)(64756008)(316002)(66446008)(91956017)(66556008)(66946007)(66476007)(6916009)(38100700002)(83380400001)(122000001)(38070700009)(33656002)(41300700001)(36756003)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <C1FE6775596C4D4792733544A3133214@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR08MB5839
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:
 DU6PEPF0000A7DE.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	600adb8c-2e1a-43ee-3133-08dbf006f753
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	qF6psAlGHb7mZxyIFW2N6BDKs8o06i2Ba7UnC8o9gx93tt+b2153uqGFEjvgPfTfonqXSQZAChJB9wUFetJElJY1fHB+WGL633drgB8nVcALalwA0enD4ewMXG2z/Wd1mWuHsxAAZ2gL67lACDkQydUbombS6xy/OZGAMypSQuHxNJlNkuMYhP/edJpB3+3TrALw8+E2HTbXXu4RMLhbblbiz/0zIokYqBKiYyJw1/wJ4bXWljYxZu6nZghB4xXaJQyMLoB4mh2rqxkIfUlsDZh1dW7tC/jQYW539/lMVtrlmpTCIiGkP6p2bHJMlmRXFBcaOaGHNkRehZbui2E11yEoVjgAYnec505O410xKKmAvL/y5gNqlU4iOCv9ILBPeYK45BAqioD6Rz4Kleu8uAyOcu2CD2Ah4luUUw9Ew0enhnlN0o8eVuGI4T0imhmFdso3261KTxm2EDT0yRDzLkRt2YxLTrxffcWjEaNZ0CKhomOWJ2kwmHLQRI90opueEG7LhqtpwOyBfOfdrbkHonT4zyuJ9Wc7jI6JmafgnxWM/cxuG388MVdZvJr0cvNIw1rBqDrQXsM2e9F724hzIHKA7Db28ykAAlDatQismyTlWx3EfLOF66P72cpkDnF2KJt6TFY5K+DJvTeHZEQXlG22y8xhTxQmIufxfTNNyN7jy791DQIAgGstcyljZnrm8041oTXeTmTsO3+Ehe97I7COqaXT1RjLv0gYf8MgkcpOp6UWg/cLQcEgr1kBbLEd6YUp6+IhGhS1TW86obRe+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:(13230031)(4636009)(346002)(39860400002)(376002)(136003)(396003)(230922051799003)(64100799003)(451199024)(186009)(82310400011)(1800799012)(40470700004)(46966006)(36840700001)(40460700003)(316002)(66899024)(70586007)(70206006)(54906003)(36756003)(53546011)(6512007)(6506007)(336012)(26005)(2616005)(6486002)(478600001)(966005)(82740400003)(81166007)(356005)(83380400001)(33656002)(86362001)(47076005)(36860700001)(40480700001)(5660300002)(2906002)(41300700001)(4326008)(6862004)(8936002)(8676002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 11:41:40.5098
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 39373469-d92f-405f-3dff-08dbf006fcd1
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:
	DU6PEPF0000A7DE.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6637

DQoNCj4gT24gMjggTm92IDIwMjMsIGF0IDExOjI3LCBKYW4gQmV1bGljaCA8amJldWxpY2hAc3Vz
ZS5jb20+IHdyb3RlOg0KPiANCj4gT24gMjguMTEuMjAyMyAxMTo1NSwgTHVjYSBGYW5jZWxsdSB3
cm90ZToNCj4+IA0KPj4gDQo+Pj4gT24gMjcgTm92IDIwMjMsIGF0IDE1OjM3LCBMdWNhIEZhbmNl
bGx1IDxMdWNhLkZhbmNlbGx1QGFybS5jb20+IHdyb3RlOg0KPj4+IA0KPj4+IA0KPj4+IA0KPj4+
PiBPbiAyNyBOb3YgMjAyMywgYXQgMTU6MTMsIEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNv
bT4gd3JvdGU6DQo+Pj4+IA0KPj4+PiBPbiAyNy4xMS4yMDIzIDE1OjU4LCBMdWNhIEZhbmNlbGx1
IHdyb3RlOg0KPj4+Pj4+IE9uIDI3IE5vdiAyMDIzLCBhdCAxMjoyMCwgSmFuIEJldWxpY2ggPGpi
ZXVsaWNoQHN1c2UuY29tPiB3cm90ZToNCj4+Pj4+PiBPbiAyNC4xMS4yMDIzIDE1OjUyLCBMdWNh
IEZhbmNlbGx1IHdyb3RlOg0KPj4+Pj4+Pj4gT24gMjQgTm92IDIwMjMsIGF0IDEyOjQ3LCBKYW4g
QmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+IHdyb3RlOg0KPj4+Pj4+Pj4gT24gMjMuMTEuMjAy
MyAxNTo0NywgTHVjYSBGYW5jZWxsdSB3cm90ZToNCj4+Pj4+Pj4+PiBMZXTigJlzIGNvbnRpbnVl
IHRoZSBkaXNjdXNzaW9uIGFib3V0IGNsYW5nLWZvcm1hdCBjb25maWd1cmF0aW9uLCB0aGlzIGlz
IHBhcnQgMiwgcHJldmlvdXMgZGlzY3Vzc2lvbnMgYXJlOg0KPj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+
IC0gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8y
MDIzLTExL21zZzAwNDk4Lmh0bWwNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBZb3UgY2FuIGZpbmQg
dGhlIHNlcmllIGludHJvZHVjaW5nIGNsYW5nLWZvcm1hdCBoZXJlOg0KPj4+Pj4+Pj4+IGh0dHBz
Oi8vcGF0Y2h3b3JrLmtlcm5lbC5vcmcvcHJvamVjdC94ZW4tZGV2ZWwvY292ZXIvMjAyMzEwMzEx
MzIzMDQuMjU3MzkyNC0xLWx1Y2EuZmFuY2VsbHVAYXJtLmNvbS8NCj4+Pj4+Pj4+PiBhbmQgdGhl
cmUgaXMgYWxzbyBhIHBhdGNoIGxpbmtlZCB0byBteSBnaXRsYWIgYWNjb3VudCB3aGVyZSB5b3Ug
Y2FuIGZpbmQgdGhlIG91dHB1dCBmb3IgdGhlIGh5cGVydmlzb3IgY29kZS4NCj4+Pj4+Pj4+PiAN
Cj4+Pj4+Pj4+PiBGb3IgYSBmdWxsIGxpc3Qgb2YgY29uZmlndXJhYmxlcyBhbmQgdG8gZmluZCB0
aGUgcG9zc2libGUgdmFsdWVzIGZvciB0aGVtLCBwbGVhc2UgcmVmZXIgdG8gdGhpcyBwYWdlOg0K
Pj4+Pj4+Pj4+IGh0dHBzOi8vY2xhbmcubGx2bS5vcmcvZG9jcy9DbGFuZ0Zvcm1hdFN0eWxlT3B0
aW9ucy5odG1sDQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0NCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBPdXIgY29kaW5nIHN0eWxlIGRvZXNu4oCZ
dCBtZW50aW9uIGFueXRoaW5nIGFib3V0IGFsaWdubWVudCwgc2hhbGwgd2UgYWRkIGEgbmV3IHNl
Y3Rpb24/DQo+Pj4+Pj4+Pj4gSSBjYW4gc2VuZCBwYXRjaGVzIHdoZW4gd2UgcmVhY2ggYWdyZWVt
ZW50IG9uIGVhY2ggb2YgdGhlc2UgcnVsZXMuDQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gDQo+Pj4+
Pj4+Pj4gUXVhbGlmaWVyQWxpZ25tZW50OiBDdXN0b20NCj4+Pj4+Pj4+PiBRdWFsaWZpZXJPcmRl
cjogWydzdGF0aWMnLCAnaW5saW5lJywgJ2NvbnN0JywgJ3ZvbGF0aWxlJywgJ3R5cGUnXQ0KPj4+
Pj4+Pj4+IA0KPj4+Pj4+Pj4+IC0tLQ0KPj4+Pj4+Pj4+IEZvciDigJxRdWFsaWZpZXJBbGlnbm1l
bnTigJ0gSSBjaG9zZSBDdXN0b20gaW4gb3JkZXIgdG8gYXBwbHkgaW4g4oCcUXVhbGlmaWVyT3Jk
ZXLigJ0gYW4gb3JkZXIgZm9yIHRoZQ0KPj4+Pj4+Pj4+IHF1YWxpZmllcnMgdGhhdCBtYXRjaCB0
aGUgY3VycmVudCBjb2RlYmFzZSwgd2UgY291bGQgc3BlY2lmeSBhbHNvIOKAnExlYXZl4oCdIGlu
IG9yZGVyIHRvIGtlZXANCj4+Pj4+Pj4+PiB0aGVtIGFzIHRoZXkgYXJlLg0KPj4+Pj4+Pj4gDQo+
Pj4+Pj4+PiBXaGVyZSBkbyBhdHRyaWJ1dGVzIGdvIGluIHRoaXMgc2VxdWVuY2U/DQo+Pj4+Pj4+
IA0KPj4+Pj4+PiBJIHRoaW5rIGZ1bmN0aW9uIGRlY2xhcmF0aW9uL2RlZmluaXRpb24gYW5kIHZh
cmlhYmxlcy4NCj4+Pj4+PiANCj4+Pj4+PiBIb3cgZG9lcyB0aGlzIHJlbGF0ZSB0byBteSBxdWVz
dGlvbj8gSSBhc2tlZCBhYm91dCB0aGUgc2VxdWVuY2Ugb2YgZWxlbWVudHMNCj4+Pj4+PiBsaXN0
ZWQgZm9yIFF1YWxpZmllck9yZGVyOiwgd2hlcmUgYXR0cmlidXRlcyBkb24ndCBhcHBlYXIgYXQg
YWxsIHJpZ2h0IG5vdy4NCj4+Pj4+IA0KPj4+Pj4gU29ycnksIEkgbWlzcmVhZCB5b3VyIHF1ZXN0
aW9uLCBhdHRyaWJ1dGVzIGFyZSBsaWtlIGludmlzaWJsZSBmb3IgdGhlIHRvb2wsIHRoZXkgY2Fu
IGJlIHBsYWNlZCB3aGVyZXZlciBiZXR3ZWVuDQo+Pj4+PiBlYWNoIG9mIHRoZSBRdWFsaWZpZXJP
cmRlciBpdGVtcy4NCj4+Pj4gDQo+Pj4+IEhvaG8sIG9uZSB0aGluZyB3aGVyZSB2YXJpb3VzIG9w
dGlvbnMgYXJlIHRvbGVyYXRlZC4NCj4+IA0KPj4gSSByZWFsaXNlIG5vdyB0aGF0IG15IGFuc3dl
ciBhYm92ZSBpcyBub3QgZnVsbHkgY29ycmVjdCwgSSB3YW50ZWQgdG8gc2F5IHRoYXQgdGhlIGF0
dHJpYnV0ZXMgYXJlIGxpa2UgaW52aXNpYmxlIGZvciB0aGUgdG9vbA0KPj4gb25seSB3aGVuIGRl
YWxpbmcgd2l0aCB0aGlzIHJ1bGUgYWJvdXQgb3JkZXJpbmcgb2YgdGhlIHF1YWxpZmllcnMuDQo+
PiANCj4+IE9uIHRoZSBvdGhlciBoYW5kLCB5ZXMsIGlmIHRoZSBRdWFsaWZpZXJBbGlnbm1lbnQg
aXMg4oCcTGVhdmXigJ0sIGNsYW5nLWZvcm1hdCB3b27igJl0IHRvdWNoIHRoZW0uDQo+IA0KPiBI
bW0gLSBnZXRzIG1lIGJhY2sgdG8gd29uZGVyaW5nIHdoYXQgIkFsaWdubWVudCIgaW4gdGhlIG5h
bWUgaXMgYWJvdXQsIHdoZW4NCj4gb3JkZXIgb2Ygc3ludGFjdGljYWwgZWxlbWVudHMgaXMgYWZm
ZWN0ZWQuDQoNClllcywgcHJvYmFibHkgUXVhbGlmaWVyQWxpZ25tZW50IGlzIG5vdCB0aGUgYmVz
dCBuYW1lLg0KDQo+IA0KPiBKYW4NCg0K


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 11:49:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 11:49:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643090.1002987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7wai-0007cQ-AM; Tue, 28 Nov 2023 11:49:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643090.1002987; Tue, 28 Nov 2023 11: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 1r7wai-0007cJ-6c; Tue, 28 Nov 2023 11:49:24 +0000
Received: by outflank-mailman (input) for mailman id 643090;
 Tue, 28 Nov 2023 11: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=C3UE=HJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7wag-0007ZQ-E9
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 11:49:22 +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 2b4e35b4-8de4-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 12:49:21 +0100 (CET)
Received: by mail-lj1-x230.google.com with SMTP id
 38308e7fff4ca-2c875207626so65929691fa.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 03:49:21 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 f21-20020a2e3815000000b002c017a56a1asm197234lja.70.2023.11.28.03.49.20
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 03:49:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b4e35b4-8de4-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701172161; x=1701776961; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=/KNRJ/ypgDuLs9fOmmSW9k7hoLyKCqFCCwVHWWU1ECA=;
        b=MvYjVk167g+ApvUFYlh4iH3lmZKbxozvKhlow2EFicFTXGYvrQPnfAmVvgltN8ec5o
         GavzqpcDf6AG+agVCMeCqfVgAKueK0mpJzJmIihCme0fdGjvG0HZaf+0hCGlqgR6n76Q
         gD060z3sMIRLpC8JSTSkvMv+2lRJ/6XKR6dRk0FfgNYuxF4ynerQL63w8J1skta/Umyk
         6KYbHjbgQacfhrGHEr6XHOBqp0INnb6mPT/2j3V07Mc9kemdkTxsKApbyqAho8O9CY4Q
         1KP2gWsOFy/4WEImH5Hswz7NH+rf1J4OC9IKtw94DOnCUiqtoCaVFOutTlnq1iczor0F
         nyTg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701172161; x=1701776961;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=/KNRJ/ypgDuLs9fOmmSW9k7hoLyKCqFCCwVHWWU1ECA=;
        b=BXKGCLLjRV7a4s2ELkvCJwf7rQtyuOmiELOyG/TS0qIYv2CFqCXHAaddgiWGFYmYlq
         R3LipjjJ3Szj4nn9cUn4YQ28F8NSvcAYoOqu/aNd+6ZGNdX52hAnDSrrK8h9rwTY5WnC
         ZFuX0mvbfUa1JAXonoQW0EsWtYcyD8ZHJIGQHAMQBZkNdPvruQYDyCA0wUReuTHNFqQi
         vHlWAyRHzaPzl+HjpNh+xdWdtd3JRWTT5V8/id/rZMXp7MYEda4aIqHfnmUJfXrTNqpS
         w/70Vc+NwHooH54EI+8JCCsJKW9Ek2jYd9AAkkykJrpf/vZWzTe2MhCjmEjK2qN9/NMN
         gt4g==
X-Gm-Message-State: AOJu0YwP9APB44rRyWbCEO/SiuO8srr/mAAch77QaopNvZD+yJ8NDbMe
	KfEDqfdAxkV6LcIXATE6TP+9zM3orRBuEQ==
X-Google-Smtp-Source: AGHT+IGrfXBaLme77wLRiaD7AEYdSh3SC854xMi9G3zKJGpmZ7MDGXLHvUvnDeUqkCQdO9V9YY+x2w==
X-Received: by 2002:a05:651c:1a06:b0:2c9:9953:30ec with SMTP id by6-20020a05651c1a0600b002c9995330ecmr7856402ljb.20.1701172160656;
        Tue, 28 Nov 2023 03:49:20 -0800 (PST)
Message-ID: <893de5be9743dd4fc908dfbbfd1e7dc890f74b07.camel@gmail.com>
Subject: Re: [PATCH v4 13/14] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, xen-devel@lists.xenproject.org
Date: Tue, 28 Nov 2023 13:49:14 +0200
In-Reply-To: <b81607e0-409f-4805-a4ee-8be8fdd959b8@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
	 <21ca8f55-d720-489f-a2d0-59a1f78d3656@suse.com>
	 <6543c6aec8f69878e37912924b6d6208136a02af.camel@gmail.com>
	 <405c2d66-a6f4-4bbb-ada5-2ac49c8c9744@suse.com>
	 <195a50316efde86113f6f5df269c754a90490c57.camel@gmail.com>
	 <b81607e0-409f-4805-a4ee-8be8fdd959b8@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Tue, 2023-11-28 at 10:58 +0100, Jan Beulich wrote:
> On 28.11.2023 10:28, Oleksii wrote:
> > On Tue, 2023-11-28 at 08:57 +0100, Jan Beulich wrote:
> > > On 27.11.2023 20:38, Oleksii wrote:
> > > > On Mon, 2023-11-27 at 15:41 +0100, Jan Beulich wrote:
> > > > > On 27.11.2023 15:13, Oleksii Kurochko wrote:
> > > > > > --- a/xen/arch/ppc/include/asm/grant_table.h
> > > > > > +++ /dev/null
> > > > > > @@ -1,5 +0,0 @@
> > > > > > -/* SPDX-License-Identifier: GPL-2.0-only */
> > > > > > -#ifndef __ASM_PPC_GRANT_TABLE_H__
> > > > > > -#define __ASM_PPC_GRANT_TABLE_H__
> > > > > > -
> > > > > > -#endif /* __ASM_PPC_GRANT_TABLE_H__ */
> > > > >=20
> > > > > Removing this header would be correct only if GRANT_TABLE had
> > > > > a
> > > > > "depends on
> > > > > !PPC", I'm afraid. Recall that the earlier randconfig
> > > > > adjustment
> > > > > in
> > > > > CI was
> > > > > actually requested to be undone, at which point what an
> > > > > arch's
> > > > > defconfig
> > > > > says isn't necessarily what a randconfig should use.
> > > > We can do depends on !PPC && !RISCV but shouldn't it be enough
> > > > only
> > > > to
> > > > turn CONFIG_GRANT_TABLE off in defconfig and set
> > > > CONFIG_GRANT_TABLE=3Dn
> > > > in EXTRA_XEN_CONFIG?
> > >=20
> > > That _might_ be sufficient for CI, but we shouldn't take CI as
> > > the
> > > only
> > > thing in the world. Personally I consider any kind of overriding
> > > for,
> > > in particular, randconfig at bets bogus. Whatever may not be
> > > selected
> > > (or must be selected) should be arranged for by Kconfig files
> > > themselves.
> > > That said, there may be _rare_ exceptions. But what PPC's and
> > > RISC-
> > > V's
> > > defconfig-s have right now is more than "rare" imo.
> > >=20
> > > > Some time ago I also tried to redefine "Config GRANT_TABLE" in
> > > > arch-
> > > > specific Kconfig + defconfig + EXTRA_XEN_CONFIG and it works
> > > > for
> > > > me.
> > > > Could it be solution instead of "depends on..." ?
> > >=20
> > > Why would we want to re-define an setting? There wants to be one
> > > single
> > > place where a common option is defined. Or maybe I don't
> > > understand
> > > what you're suggesting ...
> > I just thought this change is temporary because grant_table.h will
> > be
> > introduced later or earlier, and it will be needed to remove
> > "depends
> > on !PPC && !RISCV". And not to litter common KConfig with the
> > change
> > which will be removed, it will be better to redefine it in arch-
> > specific Kconfig with default n.
>=20
> Right. But if it's indeed temporary, what's the point of this patch?
> The entire series is (supposed to be) to improve code structure for
> longer term purposes. If a non-generic grant_table.h is going to
> appear for PPC and RISC-V, I don't see why the present dummy would
> need removing. That's only useful if an arch can be expected to live
> with GRANT_TABLE=3Dn even when otherwise feature-complete, and at that
> point modifying the Kconfig dependencies would (imo) be appropriate.
I agree. Let's proceed by adding the dependency in the KConfig file.

So which one option will be better:
1. depends on !PPC && !RISCV
2. depends on ARM || X86

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 12:39:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 12:39:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643116.1003009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7xMn-0008NN-5K; Tue, 28 Nov 2023 12:39:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643116.1003009; Tue, 28 Nov 2023 12:39: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 1r7xMn-0008NG-2f; Tue, 28 Nov 2023 12:39:05 +0000
Received: by outflank-mailman (input) for mailman id 643116;
 Tue, 28 Nov 2023 12:39: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=DME+=HJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r7xMm-0008Lp-1z
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 12:39:04 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20625.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1b647337-8deb-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 13:39:02 +0100 (CET)
Received: from SJ0PR03CA0168.namprd03.prod.outlook.com (2603:10b6:a03:338::23)
 by IA1PR12MB6186.namprd12.prod.outlook.com (2603:10b6:208:3e6::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Tue, 28 Nov
 2023 12:38:58 +0000
Received: from DS3PEPF000099D9.namprd04.prod.outlook.com
 (2603:10b6:a03:338:cafe::6d) by SJ0PR03CA0168.outlook.office365.com
 (2603:10b6:a03:338::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend
 Transport; Tue, 28 Nov 2023 12:38:57 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS3PEPF000099D9.mail.protection.outlook.com (10.167.17.10) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 12:38:57 +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.2507.34; Tue, 28 Nov
 2023 06:38:55 -0600
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.2507.32; Tue, 28 Nov
 2023 04:38:44 -0800
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 28 Nov 2023 06:38:42 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b647337-8deb-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=lsRAabmXPfSVJ4CHVXqopDM6sd1yR3J0LrooqaCTTM3ltofaX0nMvzrRZ/t5IP4MbNcyHBz0ixxVYckMORfQrBklohPsFWeFDFix9PhHYWRmrXkotxLTJ0wb43/ZBhTRMBX0MDNLBiW53+Z8DIf/s/QfcW2QCPBrjebkOl0I8qMkdjlnB/EyUp+IflSrsqWpzexUOM3JTQ/rlqQwGUDn+akbnMsRkNqHiCIUqb4FSK3JvJ1CowcoyTyjpzBZ/aukQovHWndpa5rj5wiibohtk7n52nIa0/r3inOTVlEDjSAzV7hKgNG8T1FpVlteScOILi09EE3SYVQUDFMnUBTrNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PTemlNvd/GU+kUlMWf/RFuuk1P542EEB/SCshsH8Adw=;
 b=QLjZ35rlvyUJVgycgXzAKWyhw4N9BzTN/4dfihyvxjHYQmdQmCES2saQ6XvIYDbmFCT3qqCWl343h80aAfGS2NFVtbthb6eKdTF+V+i13hg722H6faVyaWZnBeW30mjMkfVWIPYXVUNjDFKWQTTVn4uoDLwOg40M5p/C+qHiBvUdkHVeEzqrecImCzlwquubHMzLAect6lQUdnH70rbdWNslwnJTLCiOqkhLc9YJL+FJoQF9Yt2VftW/MpogyRwGEj9oeucL6gUfDjMYbfCM7ZJ4AVWOpTKpvtWnZmztjU14KUA8UY1Y9/jAYZEBPZPeewl3ncs61oTpRKpul7QF2A==
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 (0)
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=PTemlNvd/GU+kUlMWf/RFuuk1P542EEB/SCshsH8Adw=;
 b=jlWCGe3s3wZrMqrkG0Hu2XjgiXSEvFCuUYm0leUUscwCO8fBltFfVujilsh4J/tmfp5bj9nklCBKxJTcWLQzXINfg3OIQNAy5S3FL6jRxWb/sEAiMcG+xWKHPWI46LVN383lzNGREk/4OnLe4q1hjuUcGJPkeirNCX/LXafB5Rk=
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: <2402c235-97c9-4b75-a87d-8b048f049956@amd.com>
Date: Tue, 28 Nov 2023 13:38:41 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 0/5] Fine granular configuration
Content-Language: en-US
To: Luca Fancellu <Luca.Fancellu@arm.com>, Xen-devel
	<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>, Andrew Cooper
	<andrew.cooper3@citrix.com>, George Dunlap <george.dunlap@citrix.com>, "Jan
 Beulich" <jbeulich@suse.com>, Wei Liu <wl@xen.org>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
 <E9D1FA66-DB03-4F52-9312-DD34FA916367@arm.com>
 <9AFCB511-0192-4C7A-8792-51AD941D6014@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <9AFCB511-0192-4C7A-8792-51AD941D6014@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099D9:EE_|IA1PR12MB6186:EE_
X-MS-Office365-Filtering-Correlation-Id: 71a9716f-ac54-480d-87c3-08dbf00efd7a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nSTqlvFWWQmWZ2BMhuobU4ulIcxddfv4g+G0pDT9Nb6V5tEPG9ibKMYCT5b+/LzhsadnJMOawGDIigSu6W+PG8V9xPIjIKr8WlkacMYaiORucSK+yhNx6FI5vEquoYFT/V+dTjJbJ36TbVGRHceIvPXp1lVAq6A6oQIrWvLL/UmehZvA2q+z9sKhTJWvGzrz1ytpN18l3Ky0fJ4Rx4/vNz4ddtp474HIM5JbXnB9PTep/zpwpT7IhFUqj4s47u6hVT9253/eX3X+kmBqGCN1Tv+s4qTzGcn5Ok+rC4AeN57Ovg04YuQ0QfS1Q51eeh/Zp2WoBIV9sRXfFMxbxisFvX7vLLVpiAI6g4gbQHYRqZTSs+rTb/48YAL1op9s/RA2WLM3fgxYG9ieEARG6G158VS75uZiEMXKuUlxtiaxiBGMGBr1WgQWZuAtcIe5c+tFMSCvwwsuVGVn7Ww6Tv40YECEVigmU4iRLZ1vcZFGEoEd6TIa+pYVLbCyaSdyFaIgEOwEhvViyR6e9g7elmOLGqt7i1INhaKHyAdhLrQ3/rZ9X/ooYiTriEsu1rs1X3V9VHoOYGRDBEfXYZQp9L+KdKeiNHdUFi7uSpjeKfldztQrO4SaQvJ2uS1LH17C/fMynHn1RNv/z7QZmNR1uRSWpcuqyPi0T0re91UjUCA/MWl/0XeKhLoDea0VUCo/VhwK4vKwV7WqIjVmH6FRLFMujixCMGMOGjjCIWBiCPDO2Vu227fX3gglLX/6ua6xA2ZYMgJ8P4Nqj8BE2M7tV8N85+hLGyWV6lZy1ksLGn8zUOo=
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:(13230031)(4636009)(346002)(376002)(396003)(136003)(39860400002)(230922051799003)(1800799012)(64100799003)(451199024)(82310400011)(186009)(40470700004)(46966006)(36840700001)(36860700001)(36756003)(82740400003)(356005)(81166007)(40460700003)(31696002)(86362001)(8676002)(16576012)(8936002)(70586007)(110136005)(70206006)(5660300002)(53546011)(41300700001)(4326008)(478600001)(7416002)(2906002)(44832011)(31686004)(47076005)(40480700001)(54906003)(426003)(336012)(26005)(2616005)(316002)(83380400001)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 12:38:57.5150
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 71a9716f-ac54-480d-87c3-08dbf00efd7a
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:
	DS3PEPF000099D9.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6186

Hi Luca,

On 28/11/2023 11:36, Luca Fancellu wrote:
> 
> 
>> On 24 Nov 2023, at 09:59, Luca Fancellu <Luca.Fancellu@arm.com> wrote:
>>
>> + CC Maintainers
>>
>>> On 24 Nov 2023, at 09:48, Luca Fancellu <luca.fancellu@arm.com> wrote:
>>>
>>> This serie aims to add more modularity to some feature that can be excluded
>>> without issues from the build.
>>>
>>> The first patch is already reviewed.
>>>
>>> v2 update: So I've tried to see how to put the dom0less code in the common code,
>>> but the amount of modifications are not trivial, even putting only the common
>>> part and protecting them with ARM, leaving the ARM specific stuff under arch/
>>> like gic etc... will leave a status that is not very nice, so I've decided for
>>> now to keep everything on the arm architecture so that who is going to work
>>> on unifying the code in common can just take from there and do the proper
>>> rework.
>>>
>>> Luca Fancellu (5):
>>> arm/gicv2: make GICv2 driver and vGICv2 optional
>>> xen/arm: Add asm/domain.h include to kernel.h
>>> arm/dom0less: put dom0less feature code in a separate module
>>> xen/arm: Move static memory build code in separate modules
>>> arm/dom0less: introduce Kconfig for dom0less feature
>>>
>>> xen/arch/arm/Kconfig                      |   27 +
>>> xen/arch/arm/Makefile                     |    7 +-
>>> xen/arch/arm/arm32/mmu/mm.c               |    1 +
>>> xen/arch/arm/arm64/mmu/mm.c               |    1 +
>>> xen/arch/arm/bootfdt.c                    |  161 +-
>>> xen/arch/arm/dom0less-build.c             | 1018 ++++++
>>> xen/arch/arm/domain_build.c               | 3591 ++++++---------------
>>> xen/arch/arm/efi/efi-boot.h               |    4 +
>>> xen/arch/arm/gic-v3.c                     |    4 +
>>> xen/arch/arm/include/asm/dom0less-build.h |   30 +
>>> xen/arch/arm/include/asm/domain_build.h   |   34 +
>>> xen/arch/arm/include/asm/kernel.h         |    1 +
>>> xen/arch/arm/include/asm/setup.h          |    2 -
>>> xen/arch/arm/include/asm/static-memory.h  |   45 +
>>> xen/arch/arm/include/asm/static-shmem.h   |   66 +
>>> xen/arch/arm/setup.c                      |   57 +-
>>> xen/arch/arm/static-memory.c              |  287 ++
>>> xen/arch/arm/static-shmem.c               |  547 ++++
>>> xen/arch/arm/vgic.c                       |    2 +
>>> xen/arch/arm/vgic/Makefile                |    4 +-
>>> xen/common/Kconfig                        |    2 +-
>>> 21 files changed, 3058 insertions(+), 2833 deletions(-)
>>> create mode 100644 xen/arch/arm/dom0less-build.c
>>> create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
>>> create mode 100644 xen/arch/arm/include/asm/static-memory.h
>>> create mode 100644 xen/arch/arm/include/asm/static-shmem.h
>>> create mode 100644 xen/arch/arm/static-memory.c
>>> create mode 100644 xen/arch/arm/static-shmem.c
>>
>> I sent this serie forgetting about adding the maintainers, CC them
>> now.
> 
> Hi all,
> 
> I think all the patches here are Ack-ed by a maintainer, is there any issue to
> merge them?
We discussed this on Matrix and Julien will take care of committing this week.

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 12:45:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 12:45:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643120.1003019 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7xTA-0002LD-Rh; Tue, 28 Nov 2023 12:45:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643120.1003019; Tue, 28 Nov 2023 12: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 1r7xTA-0002L6-NV; Tue, 28 Nov 2023 12:45:40 +0000
Received: by outflank-mailman (input) for mailman id 643120;
 Tue, 28 Nov 2023 12: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=A0gx=HJ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r7xT9-0002Kh-RK
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 12:45:40 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0623.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 073a06f7-8dec-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 13:45:37 +0100 (CET)
Received: from DB7PR03CA0089.eurprd03.prod.outlook.com (2603:10a6:10:72::30)
 by AM8PR08MB5714.eurprd08.prod.outlook.com (2603:10a6:20b:1dd::22) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Tue, 28 Nov
 2023 12:45:33 +0000
Received: from DB5PEPF00014B9F.eurprd02.prod.outlook.com
 (2603:10a6:10:72:cafe::ed) by DB7PR03CA0089.outlook.office365.com
 (2603:10a6:10:72::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend
 Transport; Tue, 28 Nov 2023 12:45:33 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B9F.mail.protection.outlook.com (10.167.8.169) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.18 via Frontend Transport; Tue, 28 Nov 2023 12:45:32 +0000
Received: ("Tessian outbound 5d213238733f:v228");
 Tue, 28 Nov 2023 12:45:32 +0000
Received: from fe3eabffa92e.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D8B0E157-CD1A-4D85-8B3A-4876F139BD67.1; 
 Tue, 28 Nov 2023 12:45:22 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id fe3eabffa92e.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 28 Nov 2023 12:45:22 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by DB4PR08MB9263.eurprd08.prod.outlook.com (2603:10a6:10:3f8::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Tue, 28 Nov
 2023 12:45:19 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023
 12:45: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: 073a06f7-8dec-11ee-9b0e-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=SgYJ0TfUbGx4joQ73w5aq648j+0XCO8ttPVCTDd/h5lSuWmPjwPAsudv+k6aMWmqHMGcUhjAQNUkZHgC8EzYq7SkRG6eCEVkwPmmsh5wL9Sqm4dPux6o7S+Y7l93Ljp24fbt7zFFkWI9HSFRpai8D4eRRr4thV97Tirs5qZy1nNWtZzNhOkro5ZtNgxOdgH2P4xpuI6REbzHmQ+oBA7z/RaNDt0k/JsUT+zMDLFDacCsRUOtBdoElV/rM51N6ebCwHhcau3xkaNBnuYKmCLb2AQ3KYVBP9Sak3TGglgmzH03tPbdWCd5pNSPMG13QEP9XxlRFDbpyuV8WEvabS7lCQ==
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=q6nDvR46CWk2CI93w/An2DDADTbtzjdXyf4b1uHtW2U=;
 b=KVQz1yJQ8ka6r+CvA++4kdz7FDTgM2Q7HR+0vFZmKM82yzHRKFor7Bx2I/0qmFgScZFryd5gvDt5nCi/HN3d3yYjcSzfs+3xR8Eg8Ijta8BBgmvRgTSOP0ulAI5bUslm+Dn3lFNwqDzfczkGBiXaoHMjUP94yFqIkn8iG0DCqEiarvGx6TXJDCTS0EJdvU3feccFxhuMfb2FJ01hoWX92grm8jO+bp5kRRxh0SZ/oF+7dWzcq38a+iG5dyF+okOrWGpTCsMCuu0tqV/vc0XunNcN2H0//63nxsGB0+pokc5SLJC5vPE3p0qUNytFT26Y9cm63NwQuPRJdO+BBy1tRg==
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=q6nDvR46CWk2CI93w/An2DDADTbtzjdXyf4b1uHtW2U=;
 b=3LoX8FtoVL2S7Ymns065rTrb3sHUiUYMLwn1mShR9Azcc1kuiNAP1ZZGhiTTqglO4y/CjbpaGvtR0oO6jojLxQm4TVU50pWCTGuSP6na7YMLWQIgu53AwKbZqtExly+orv/CyE/yg9x/86rANNw/7PGMlvW3XnSJKlSUrk7ZHkY=
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: 6d680593d557812b
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RLgIveC0shFpgq76S2pBOUpWErXvCWZkCy3Cn9MVOfBLCkr6wxRb1v/SjPVpLTYNnlp/XZI2/c6GoeWdThk1A8/FrJtzjYHjr1A16yO1QjOlwFWBzT7vXiaQFp/fgVCgdhKPqNT7IlajP79V6cA1Ur4VsMumu1y88pc2hTE4CtcNWr3vV+i+fIYUrze2OyWnPY+R9IFd38GhoJJIMjwsvXmHqKW6F2GGQfaQ8Bs7ieB8glsMReESSCpR9JiFkfIEf4c+Mv6zlgJBKcCcIbZ5WeCR9Qb51NOQoRh5kgEiJr4wKkTCVn82jYvM4oS17E8nPARwXXPmGsJVlayIUD5DqQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=q6nDvR46CWk2CI93w/An2DDADTbtzjdXyf4b1uHtW2U=;
 b=fotyqUB6XUpEcKuQ/TZnXtzE63vG1znJ5+9HCQWFrShVk4PLH++VO1JZz2eT13qJtoB4k1njKUYVdXqQefYDFMmIUbeAQIv/Hc64jykzta/F1R0wvtGpEdQMCbPNiFZlc/CJcf66YOnIjnrKXVwDgU4usmgew6ad/WcMBGXH40ZLTWpQF6CrO8r4SbA3ODuD7smnrvotuEjn/gtVTar4bb1HEoSgSppWlHg5otjnHH7qFAz+l+xCEEDpQMme8Bjpu2AVBd+4m/4gJP0zAajRZgbwWnNiuAodWLif7Whay02fAUny27HBXRI4FQtPuh1YqrZhxGRNQiQZt1vOSVHxAw==
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=q6nDvR46CWk2CI93w/An2DDADTbtzjdXyf4b1uHtW2U=;
 b=3LoX8FtoVL2S7Ymns065rTrb3sHUiUYMLwn1mShR9Azcc1kuiNAP1ZZGhiTTqglO4y/CjbpaGvtR0oO6jojLxQm4TVU50pWCTGuSP6na7YMLWQIgu53AwKbZqtExly+orv/CyE/yg9x/86rANNw/7PGMlvW3XnSJKlSUrk7ZHkY=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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>,
	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 v6 0/5] Fine granular configuration
Thread-Topic: [PATCH v6 0/5] Fine granular configuration
Thread-Index: AQHaHruBt1jR61BwukqrbWb7AIYNFrCJPEYAgAZTsICAACI1gIAAAc0A
Date: Tue, 28 Nov 2023 12:45:19 +0000
Message-ID: <561A800B-FDFA-4018-824D-5BDAB26FE4DC@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
 <E9D1FA66-DB03-4F52-9312-DD34FA916367@arm.com>
 <9AFCB511-0192-4C7A-8792-51AD941D6014@arm.com>
 <2402c235-97c9-4b75-a87d-8b048f049956@amd.com>
In-Reply-To: <2402c235-97c9-4b75-a87d-8b048f049956@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|DB4PR08MB9263:EE_|DB5PEPF00014B9F:EE_|AM8PR08MB5714:EE_
X-MS-Office365-Filtering-Correlation-Id: 99f51e3b-29c4-443d-a72b-08dbf00fe90b
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:
 Ekc7KFgk+vV+GrgD3cL6DTC42h+QfBmBaIUatnIAv8p1KBV+fm2C7Sbr6NU5HxRyRk3wr6izevQqEC0atlN9odfpFBPHwto1JiR0+OQdcn1Ob6MUeWUvdr794HMpvhntyiAUXN7a0UIfpFsg0cc2SSc6p3zDrcCSPFvlky7n6ehEsdGmfOQK+oi7bXSD7FMjDt/GnVzDzEl3icXzhOoa6VaE5Hpf0jbClB7N54GhRh7M+0dBZFdGCoNY3xFUUqzNQeO67GmR3dRINB4guJnML4snYYMT38Dj6XAZe2AmW3fLRQegWq0jIi5wXanKvOrW4sZNkj1Y21fMIHkIzbeiP4OgRXLZ/Bu4eI16w+Q7HA/asPCqVUywIL5ViNDUSv6ga8+hPINm1OlNxC/eUJwnCmT3uysLtogkF6ZF9kJg35AkMKudzUkrCehVmZnVsYRQGm0K7hAEtsurj+U2GxEe97mD9E7LaKuQ4bwRGAQ9oEQAlD1Sf2YvXoADtQp+RwWCNsoCqf1xZQh3h8uXvg8u5mmL+0Qncr9+6d51r1fnAKVtQgNLMbZP8XWFmlxYRfwYxipkXu/A197itMi+lEOg9cqdaAgC76dzjxBPqw+dqMIM9d51pHZTS+XnPxPpYawkKqFjlMLk8mcEpBdeMGJYFg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39850400004)(346002)(396003)(366004)(136003)(376002)(230922051799003)(451199024)(186009)(64100799003)(1800799012)(2616005)(26005)(71200400001)(8676002)(8936002)(66476007)(4326008)(6486002)(86362001)(478600001)(66446008)(316002)(91956017)(76116006)(54906003)(66946007)(6916009)(53546011)(64756008)(66556008)(38100700002)(83380400001)(122000001)(5660300002)(6506007)(6512007)(38070700009)(2906002)(41300700001)(36756003)(33656002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <90B7D73DCC97AC408BD7ABE54216A11E@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB4PR08MB9263
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:
 DB5PEPF00014B9F.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	54b064c5-c068-4bc8-4d28-08dbf00fe11c
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	KDGnk+YJb3BjCdK9axtFFdY4kBzO+CwIobvQuhoAcfIyBoxp56OnAv2C63ngboxQSGBsUA4q2Zrurnd1tiEckrPUG7WEjej0TDygEPQetLtUMOQ4QESRTb88CRO911mH9hvhq8SXyBfh2q017jWR8ongzdUM9/CxoRneCR+CHAbfn2qeISe+G96XndG6Ls4rkuBlUTb4QQZlCz95T5KL1LRak9p9Lac8qeCdvLtDNNmmaLBgrYoMY4yLqkjx9gYn4bxDAVuSvhLGkrUop15/+y4TIJINtH2OUtTgfM4z07MXkxybNrAfbu88K9jmxLsq96YrRE7kGhLMEgOGlxTXXLfIxgKleQntkUI9ODJQGDzdav9dQoOgnv1971qDc92ENezFX0bsxB+0s/oi0iOTofnrF4LQkNFiBpMAyqjbNig3QmqwSHYeUOhGHIPQLZXdWiX6uRqPw/pkMmcv1NYoYs1MZ0+jT1oIbfAMAi7Tkt5072wnvcCOE/14urjKuDzKGb3lijqVE65bYI0Z3u7jTt2cQ03TbiyR7qXHORh73CAoSjMKJRovMpekF0JlRMvqLtj669vn18RitW3aHI+6+saHMur36ULm0g4AgF3y1vau+fbYLolU4dpurdu9Zk/tPA0zll6BJXT90rTDLS6al1tQKB9PfUXj9aJRj/vRTRpTj/85b5vGAm8vEvynEFOoZNX9Tk65hUsPSx87CIdgVpBcVjehpv29yiiGvbldjTSIog8uDLayMjNXlHVZALDr
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:(13230031)(4636009)(376002)(346002)(396003)(136003)(39860400002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(82310400011)(36840700001)(40470700004)(46966006)(336012)(83380400001)(356005)(40460700003)(81166007)(82740400003)(86362001)(36756003)(33656002)(47076005)(36860700001)(54906003)(316002)(41300700001)(70586007)(70206006)(4326008)(8936002)(8676002)(6862004)(40480700001)(5660300002)(2906002)(6512007)(53546011)(6506007)(2616005)(26005)(478600001)(6486002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 12:45:32.7931
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 99f51e3b-29c4-443d-a72b-08dbf00fe90b
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:
	DB5PEPF00014B9F.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5714



> On 28 Nov 2023, at 12:38, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Hi Luca,
>=20
> On 28/11/2023 11:36, Luca Fancellu wrote:
>>=20
>>=20
>>> On 24 Nov 2023, at 09:59, Luca Fancellu <Luca.Fancellu@arm.com> wrote:
>>>=20
>>> + CC Maintainers
>>>=20
>>>> On 24 Nov 2023, at 09:48, Luca Fancellu <luca.fancellu@arm.com> wrote:
>>>>=20
>>>> This serie aims to add more modularity to some feature that can be exc=
luded
>>>> without issues from the build.
>>>>=20
>>>> The first patch is already reviewed.
>>>>=20
>>>> v2 update: So I've tried to see how to put the dom0less code in the co=
mmon code,
>>>> but the amount of modifications are not trivial, even putting only the=
 common
>>>> part and protecting them with ARM, leaving the ARM specific stuff unde=
r arch/
>>>> like gic etc... will leave a status that is not very nice, so I've dec=
ided for
>>>> now to keep everything on the arm architecture so that who is going to=
 work
>>>> on unifying the code in common can just take from there and do the pro=
per
>>>> rework.
>>>>=20
>>>> Luca Fancellu (5):
>>>> arm/gicv2: make GICv2 driver and vGICv2 optional
>>>> xen/arm: Add asm/domain.h include to kernel.h
>>>> arm/dom0less: put dom0less feature code in a separate module
>>>> xen/arm: Move static memory build code in separate modules
>>>> arm/dom0less: introduce Kconfig for dom0less feature
>>>>=20
>>>> xen/arch/arm/Kconfig                      |   27 +
>>>> xen/arch/arm/Makefile                     |    7 +-
>>>> xen/arch/arm/arm32/mmu/mm.c               |    1 +
>>>> xen/arch/arm/arm64/mmu/mm.c               |    1 +
>>>> xen/arch/arm/bootfdt.c                    |  161 +-
>>>> xen/arch/arm/dom0less-build.c             | 1018 ++++++
>>>> xen/arch/arm/domain_build.c               | 3591 ++++++---------------
>>>> xen/arch/arm/efi/efi-boot.h               |    4 +
>>>> xen/arch/arm/gic-v3.c                     |    4 +
>>>> xen/arch/arm/include/asm/dom0less-build.h |   30 +
>>>> xen/arch/arm/include/asm/domain_build.h   |   34 +
>>>> xen/arch/arm/include/asm/kernel.h         |    1 +
>>>> xen/arch/arm/include/asm/setup.h          |    2 -
>>>> xen/arch/arm/include/asm/static-memory.h  |   45 +
>>>> xen/arch/arm/include/asm/static-shmem.h   |   66 +
>>>> xen/arch/arm/setup.c                      |   57 +-
>>>> xen/arch/arm/static-memory.c              |  287 ++
>>>> xen/arch/arm/static-shmem.c               |  547 ++++
>>>> xen/arch/arm/vgic.c                       |    2 +
>>>> xen/arch/arm/vgic/Makefile                |    4 +-
>>>> xen/common/Kconfig                        |    2 +-
>>>> 21 files changed, 3058 insertions(+), 2833 deletions(-)
>>>> create mode 100644 xen/arch/arm/dom0less-build.c
>>>> create mode 100644 xen/arch/arm/include/asm/dom0less-build.h
>>>> create mode 100644 xen/arch/arm/include/asm/static-memory.h
>>>> create mode 100644 xen/arch/arm/include/asm/static-shmem.h
>>>> create mode 100644 xen/arch/arm/static-memory.c
>>>> create mode 100644 xen/arch/arm/static-shmem.c
>>>=20
>>> I sent this serie forgetting about adding the maintainers, CC them
>>> now.
>>=20
>> Hi all,
>>=20
>> I think all the patches here are Ack-ed by a maintainer, is there any is=
sue to
>> merge them?
> We discussed this on Matrix and Julien will take care of committing this =
week.

Ok understood, thanks=20

>=20
> ~Michal
>=20



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 12:52:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 12:52:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643126.1003028 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7xZC-0005wd-F2; Tue, 28 Nov 2023 12:51:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643126.1003028; Tue, 28 Nov 2023 12: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 1r7xZC-0005wW-CK; Tue, 28 Nov 2023 12:51:54 +0000
Received: by outflank-mailman (input) for mailman id 643126;
 Tue, 28 Nov 2023 12:51: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7xZA-0005wP-KA
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 12:51:52 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20622.outbound.protection.outlook.com
 [2a01:111:f400:fe16::622])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e64fa86a-8dec-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 13:51:51 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8318.eurprd04.prod.outlook.com (2603:10a6:102:1c0::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Tue, 28 Nov
 2023 12:51:47 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 12: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>
X-Inumbo-ID: e64fa86a-8dec-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZHX81550qiue0njvsl50J6cDKQRjOj1sJ44j+TCzxYbBg4fdSaN60j1EKszjmPIVV2nO7YkUK2ot9B0XzMnMA6h5NaXv5AKMR8hzHu9Yrs3x6QRWooKozdJBpOYw2GWJI9NQxaDmhbDQBgb50cvLl4UNtCyHpyG05r3uE+GP88zu8Lc7HHycFbja+1et6aVgF3foEJX2lWD8fXMiamFc2sIaFbkpZt/fD38rwjWqfvHmRMeIBHKeHYoqtXObLJBqMccO5ZnNfd1MzvVmWN8sw1MAJ6CD8mM3fB0oiFlUtfa4HZGOeaoLdsU7M+kKXc2aaj6Ial2NqBphUg7hV7iQmQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ksOpb5R1khDl5tUF7jiXls5PGGmugXGR998w9ZjNdGo=;
 b=FL2zEW9/c18f9mEJYjq+mpOsjpJlLKNegHTMyB/0Fwkl/Tgf+CT4C2ey+LqBjQsvAHqFoXx4FrAqV2RwvYp12g1Eb1XFwr5gdbzvcGDwgtXLeUv/MDgb/RhdtWM2L1RnwZucTAzuYGkyDdlboP74F/n9MSTtmlvj6evY3bzyxHjPkBfGRjIyblxFPx3aAA2HhWEkJwVcF9WLZ9DU4EXiUkj4ErPhNrxaQghbjLJ/861L7cP0Geu0pZb/CvrI5mQaYhXhbuk7gmvpopkYWKPbM9iHYYpOFGoEQDJT2uU4FjURlExlp/Ul4ESthAdIXV6F7otxPCXezh1aINPtXpy7IQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ksOpb5R1khDl5tUF7jiXls5PGGmugXGR998w9ZjNdGo=;
 b=dkZB/xDA5gEXeX00u7opg3huQohVR5sNpGmDaI2Ov4/6RasfcApzFazhbNmDTAf5ftLgmevdooRVaNO8jYh5hLF+Y6/D0NY9IgC62pg8GWpckQlPSxbA9CTi2/I9oPySomLYSgZZCV2YzlrmusJADbvK8hxqWD7/EORdMHpEynr8FE2dhY7JkwRJ57CKSVgFbR0ZX+cvCKk8pllcbQJgTRKEAYQ51oYby/btCQ+26uoSFFxLigSepfh2xR/SO43wGx6J4USsYRcjDhEOKDN8XiGDEK+A1G/aXGqECLGbRKHTVFltjItfHoUy1X6cQlcZOyIWgj9IqzfXmzMp8jPF+A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <40438252-0d54-47f0-aad8-e76d57508bc5@suse.com>
Date: Tue, 28 Nov 2023 13:51:43 +0100
User-Agent: Mozilla Thunderbird
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>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] .gitignore: generalize *.new
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0153.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8318:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c73f5a5-befe-47db-2416-08dbf010c6da
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	r6YLNsYxNrKRBy6YT5JAx8uytN20aIOE47M2pefToA2RU+7w9ZZ5WznR+1WzICrZheIUEM3f0JPSTc3i8/X5s+7nzJsOCww2FMqfSMVwj2mjypVuX6SCVo/vim4orvhLwZtBSf8nbDpOSdPmgdkGp37PBFLDCiRIXT/9Ld+ERJy1/ODUDIIt50zlILQ0YhgQgisH35BY2nvVe5bkRa34A/y90zqYCnf39gQjkf1urYPgzC/axhHVufWZCVPKL0OCNnW6i5KBrOhKk3wLHHciNr4AYb1DNBFhnRNqoW1bg6u4W1S8/PlQ38VoJ0awCjPrTvyAcAuaMnNCDHXW9tfe5auj3sA3bS4bd/4BaS+NwvYT6MSKyk3NiCnuVsDV4cqGBH4b295X4qsXLltaIzFhna2XY4pOgwYzBBo2/sTvH0/U0fbSA5E7HARd0ckl9J7lyVZw6+137sU64cBgW1wJ3iSRn05BTzElPvf7X7EyvlF4JKass28XiObYZhuxLO3aotSwHoJcdB0WL7nZ3X2eMaFnncHOzA/A4HhDTP6x3Tn/wQVNQGnJE8EnNSp6zlF4rOTnWo/h3YdiWSD3DB21u1f/uSy0mLtNjuhM0ctkbvwj2BFxgn63xh0i2wN7Ygk94ekfQL8Q3gkgmwqecNoVGQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(39860400002)(376002)(136003)(346002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(2616005)(26005)(6512007)(6506007)(5660300002)(8936002)(4326008)(6486002)(31696002)(478600001)(86362001)(6916009)(66556008)(316002)(66946007)(54906003)(66476007)(8676002)(31686004)(38100700002)(2906002)(4744005)(41300700001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YWtSTWlucFBmQUhYRmE0V2ZmTmtQbnFDSk5vY3AvSG9SSW1XSC9hWDFaUUls?=
 =?utf-8?B?QTIzN1dtaGhWUEkyTTNuTG4rL1Q3SDBOa2JxMHd5eTRjT3RNSWQ1ZlNPQkZa?=
 =?utf-8?B?eHlvZmY0bHhac3ZtNmo5SVpZYndsSGNqcjZWZ0gxcmxBSjhKeXorYk1EWnUx?=
 =?utf-8?B?UVh6dVc1SmlWa3VPT0E0Nkt6Q2NNNzV0aFdHNytiKzI2bWkvbnBpNmtDd244?=
 =?utf-8?B?d2NaNFFXYjVMVFRDOXZmeU9SRGZTQk1yQTZlV3hXL2J3MlVRQWJNQ2tJeDMx?=
 =?utf-8?B?MHFPd29sVWJYdWQ1RW53OGJXT2xSTEdobktPUW82VFl2clhIaC96Z1luQW1V?=
 =?utf-8?B?S2k1UVBNRGlqTjM4YWV6bWhUVUtuRjhxcFlZUGxBdFl4d2t3MklnNU1IYnZC?=
 =?utf-8?B?RXVmclRmL01mbk1QckNCcDNvY0VoeW9WRFBkMWNHcURhMVFBUnYzYi9BL2h3?=
 =?utf-8?B?Sjlnb2x6alo2dWtBY3JOSytQczB5OVBLZFN1ZlpzT2NlUFZvVUhROUExQUdE?=
 =?utf-8?B?Q29PSEFEN2NEdm1GRk9BY2NxMDh5bzM0cTdqQXFLTTM0akwvZVJDcExrdHZH?=
 =?utf-8?B?WWthdkcvc1RkMk15UVhVc1J3SjVsYU1VWVNITTJBMkpSeTZvQ0JNZ0RVMlYy?=
 =?utf-8?B?MXE3RUZHZE1zYkdzbEl3dEZQL1hLUW5uWUlFM28yaS9ITkpES29WQ2pUbzB5?=
 =?utf-8?B?cTBIdzk2ODA0RnJjS2VvemRZN2g2b2pzNmphSnlCYTF1Mmg4dWNBZE5VQlFI?=
 =?utf-8?B?STRUcFNvQTk2MllnZWJ4b3BYYy9seG02Sm9jTnJmMEVaV0xSNFQzY0dHZ0Vp?=
 =?utf-8?B?SytTYjhETDBZdU1wMVF0dldTalBuWFUvL1VFSGtiMnAwSFhSRHMrRXhTaVlK?=
 =?utf-8?B?QU5UTWlSSDU3MDlQWUtWczlLRGp1bU4wZkpUNytibUZvakJuZ0FCRnkrR0Y3?=
 =?utf-8?B?VmJKd25FOC9qOXJDMGV6a0NtZ2RHWFBITlRNVFp2ZnJBM3dIMXBzTmlrYSsv?=
 =?utf-8?B?OExFbWhvdlM2ZStQazJjUGJmaEc1R0I5NlhKOXJvVmRkcis2b1pqZWFVc3Bp?=
 =?utf-8?B?ZXlaTWp1bVl2MEFkOXhkaS9hbUVtWWJRcDMyRjdsaUU3RTZuN2Z6NkFCTzJQ?=
 =?utf-8?B?c25oYTBIWjlxamRwdEZRRm0ycm5SNVllYllwODFRUzNscEFiV1BWdzNTVHFI?=
 =?utf-8?B?cUk3ZVBaNXhvclVvTEsvTkV1ZXk0bWY4QWFueXRKNFJ0N0lwYXNHeUxldjNr?=
 =?utf-8?B?eUIwdlJRNWw5bkFZTWJWcnU1WjBtY3NnemtQb25XeTRwUXduT0tGZlJ5M3lq?=
 =?utf-8?B?V1JNV20raWhsR1NOeElzNEhXeWV2aTFpdEpOZW5IZlB3VzlkMW1TZlZVNjNW?=
 =?utf-8?B?elVrMXNTTWNPZ3puY0JtQm5Tc2VKS3o2MWJDK3NMNVBPdTZCd2tpRXJ2T3VY?=
 =?utf-8?B?NWRod09iMUtodlltbUdzem5Wa2cwYUhseEZKWGNIbGVqNnRHZytudFdwQ1hE?=
 =?utf-8?B?MnIwMEVWVVFNcE8yZHFaa3ZkbVVJUnM4ZjdNYmJXUWFKYU03WkxlQlZiRUQv?=
 =?utf-8?B?Vk5WVkk2ak05QXpkemtSUFlsSTQ3OXNTNXRVZzV0K1pvb1hHc3RKOXNFbWlu?=
 =?utf-8?B?Z1Y5N2hPaURrTTR4Q3NpVjVKRkIxOWljS05adUs5MDc0aGVESkxlOHFxTWdC?=
 =?utf-8?B?SHlMcGZmbHVJR2VJbDI4REh2R1Z4azBtSXFnVFl4RThtdVFFcmV2bjJnVm95?=
 =?utf-8?B?MUtPMitabVJqSStvNE4zUGRvS0k1U0YvSkxkZGZ3eFY1MEhiZDl5U3ZrMlNV?=
 =?utf-8?B?ZG1vZVlsd0o4aW5MZEwvS1lYM2dPUzAwa2FTeWJFMUZPYm5KbkxvZVdYZzJs?=
 =?utf-8?B?TFUzU0hhenl5V0hLaytoQTQ4b0h0SW5lYmRrQ3lsSVNvQTJPcHdnZzZwb1Rt?=
 =?utf-8?B?Y3VmUmIySG5VNHZIZzA4eG9CbW54VC93d2VxYzJPb3BMaTVPQU84emJtaC9u?=
 =?utf-8?B?eUZybGo2bXAvanBhTzlhUW91WUxXbFBuUlBVc2kvSU5UZ2xvZ05OcUEvNUtY?=
 =?utf-8?B?ZW1wUERpeFNwUDVxTytGNld3SWR0d1BsdVovZE9tSEdNVlFSZnkwU3RVU3pG?=
 =?utf-8?Q?LnbX5pE+HCrtvkJ9YsoXP9t4E?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c73f5a5-befe-47db-2416-08dbf010c6da
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 12:51:45.0478
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NIgHAHO63LoiwyYwiecH/tcRJdWy9W1XG3bz2neqnvOcA8nADXnrec9lPas4nhvHMwJ6WjmeioJY+6u/hSqRbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8318

It's not only in xen/include/xen/ that we generate (intermediate) *.new
files.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Really I don't think I can spot what *.new we create in that specific
directory. xen/include/ certainly has some.

--- a/.gitignore
+++ b/.gitignore
@@ -17,6 +17,7 @@
 *.so.[0-9]*
 *.bin
 *.bak
+*.new
 *.tmp
 *.spot
 *.spit
@@ -277,7 +278,6 @@
 xen/include/config/
 xen/include/generated/
 xen/include/public/public
-xen/include/xen/*.new
 xen/include/xen/acm_policy.h
 xen/include/xen/compile.h
 xen/include/xen/hypercall-defs.h


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 12:53:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 12:53:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643129.1003039 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7xat-0006Y4-V4; Tue, 28 Nov 2023 12:53:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643129.1003039; Tue, 28 Nov 2023 12: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 1r7xat-0006Xx-S0; Tue, 28 Nov 2023 12:53:39 +0000
Received: by outflank-mailman (input) for mailman id 643129;
 Tue, 28 Nov 2023 12:53: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7xas-0006XY-9W
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 12:53:38 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061a.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 257a0577-8ded-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 13:53:37 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8318.eurprd04.prod.outlook.com (2603:10a6:102:1c0::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.19; Tue, 28 Nov
 2023 12:53:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 12:53: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: 257a0577-8ded-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BdGmWu6pljHY3SJ6uOBYKEkqXn6+RNVibE3tfq/sa7L+luNn0dgBGGIlnW+2B98UbVBT+QDrS17MigZzQ7skTMW1NzamnSAGihiRmEoFodREV0uuB6kKKeJnT7PYKTwN0Flwm+RhoeuiZBd24tmu+NUF215zITdLMZ5riPzykhVc9zgLfKfijg8s5OCLMta/venjFDzxjD2YN17TznIcrR/PrB2J08VnA7BTU71t3hzDFyW3hCxc93hBsR2NyOKXgAdd/iN8K4mKe0Wzpq06OAFvnJKfNksfP6l4GGIzpNS3HzA+lzUEtjxtISG1X4JzipzaAN0NaNQMliqEHvq9kg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FFPX65n/dNQbtkvqTS6v+24oVLa9jQduzJeifVk+3fE=;
 b=cGQM30yXtmI9OKqT/U9qa6mci2GQHwEfIi4urrPotJcLSvrQZbgBLTU7q9/TnPQ58gF8ZJv8mTLRD2xfHeNFlcSnhaJvvqDzjDeAbj8/JnyfG872qDUneK4g4gFtXTahKOohsjcWzIy8yQPGNVmbZ6pqzDItBBd9PqndoGfY7z/arkN+BvexqPV1QmrR2Ym0tgO4Gm85Y75FapOxCg+eu0ffqCXDOfyKM7Hhb9CBaYIsnkQr3S4N0WhIBiFh4qXO8X5VU5/mm48NY6/2BentRJ4xAhMlyXF9oMF0WEp9I1TZ9QQ83cSUmXT7kUhFEyZTwAHHMgi267LlVfws0FCdkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=FFPX65n/dNQbtkvqTS6v+24oVLa9jQduzJeifVk+3fE=;
 b=Ot3XJkGS4pCIjLa5owtpAmgI+AzcivX7OAOsil8UHWv/9qZOX/2LrBfUoBbBw16tw/uCu+mpzoHnTeWIiunkW2QfRuNUSK9/ERUZlNq4rcpxcW0aJHmg6RFKa1YskKxD1z1w8cv9no/yoSxEfqgicfXdD4am+9HxXvnIHYopuL2l84sTRNMmui6ld7boC1QrduRe5kStnP2l+CHfZb5gGQNC1mTQ11TnP4ZWbRukG5+oOzDA4X/FZTWS5AcC9USNqv/a7puCZUT/DmQqKhfIAFA/MArOe3VdyMpBZ4T4eLKXTR9agL08rnSHWk/s2oLHQAh6DdaNzkDuniMzOBrkIg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <6e486d72-d223-46a3-b52d-aaad2fc861ea@suse.com>
Date: Tue, 28 Nov 2023 13:53:33 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 13/14] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
 <21ca8f55-d720-489f-a2d0-59a1f78d3656@suse.com>
 <6543c6aec8f69878e37912924b6d6208136a02af.camel@gmail.com>
 <405c2d66-a6f4-4bbb-ada5-2ac49c8c9744@suse.com>
 <195a50316efde86113f6f5df269c754a90490c57.camel@gmail.com>
 <b81607e0-409f-4805-a4ee-8be8fdd959b8@suse.com>
 <893de5be9743dd4fc908dfbbfd1e7dc890f74b07.camel@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <893de5be9743dd4fc908dfbbfd1e7dc890f74b07.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0157.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8318:EE_
X-MS-Office365-Filtering-Correlation-Id: d79a7da7-6ea5-44d9-239a-08dbf0110852
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	nJH8e8vmAiUY/yEYgsUN62sF3cDyu4NJ5x43xiLRDybH3IELXLxcbclvLobdpDCSe+5jzkDFqzjakjDxkqurlzDg552eUNv/of1PTXaD3NNoD7pOPoKyPs9Ch5yiQBKtvkdRPeJT7hQSNYm6pXikGuTfvUd0br4BlF6bWm+WcXQsqbCa50VzKxmt5y1PSmrc+Udt+misXUncOtv/U6Wi9TESPliUFsfFyk0+ol7WM8XsN8J/yhZQrx9sgyWDTkQqH7KT4/PU2OpOjUt2tp3aQcd7zMda3PpKpnDpIDxG+MPhcY2hmt20t53dZvY+j7nV+la0WGxDbS9N8Q9BO67qAkcLeZ6SwUunGm/sWO3NOi5g4vtwP65RfJDbr1+/579zz3pvk6JpS142fdDUs3O6W+FoJgAGh0BMK1SBRvigEMukbN/7bJat1vkGZb/OvWDxxjBcuHCv4TWHCYfxXV7D/3TWqeMWECTICksMJ8m0Z83dZTI7CIkX6nOACQlvPUHq5aACMiyjqME3eLI/gp6YckIHB3h8AusSvknp2KdZ2gYNWNE9xndreFusNhYehPfXbiRj89Y5HujNv+BwMCtXOaQDmo6HBTrVxr3EIRr2OPFy65AarzK34bQYOKAvY56zT6QuK9Ajqwp6xBP94xjKNA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(39860400002)(376002)(136003)(346002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(2616005)(26005)(6512007)(6506007)(5660300002)(8936002)(4326008)(7416002)(6486002)(31696002)(478600001)(86362001)(6916009)(66556008)(316002)(66946007)(54906003)(53546011)(66476007)(8676002)(83380400001)(31686004)(38100700002)(2906002)(4001150100001)(41300700001)(36756003)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MjZuZDVEZzlPa1drQ1g5OVJYV0ZrL1owbi9IRDAvUjVndXNPT0ZXVEh3b2FX?=
 =?utf-8?B?T1ZJcGRWVHdmMEowUW9ad09JV20ySnNkdGFtaHZ1WjQ4SStuUWZzRE5tbzlV?=
 =?utf-8?B?d0dtQzlTUitQa25xbml5NUZUdVI4VXEyM1IwbXlkMzkxUVM4NFd6TTgvV28x?=
 =?utf-8?B?dWF1akp0eGo0cStyN1JpQWNIWmhpNHRJRGg2eG9tT1RUYzVFZFVEM0sxeFhV?=
 =?utf-8?B?b1pkdXV5SDk2UWRJNVZERmxXYXlQQ1dMT3JSSFZIK3FORzRRbmFENHJNNHBh?=
 =?utf-8?B?WGphM1ZKLzBaQnJuSVYvaE9GSGduSkxlNlRVbTUxamk1dnBIMU1jQks4UUQ4?=
 =?utf-8?B?OUVCb01hSHFYck1PSUNrVnBBeEZ6NVNPdEQyTFM2Mi8ybTFTZXBjcENVaVJ1?=
 =?utf-8?B?aU1mWHI5NE1GdmtHMnluaG02TkF5NktwUWM1S1pBYmVnWjBUckVGYU9TU0g3?=
 =?utf-8?B?UHlwRjRIMytxT0orLzZRTlE5WnhKT2RkZzBrRmhGTmp1UnRIZ0hzKzQ4ZFdN?=
 =?utf-8?B?bUdIYkE3TTJZaWVZYzl1MXlHaUljZFYveG5yZ25QTTRNdUJwNGo3T2lJQUxG?=
 =?utf-8?B?WGlEa1h4V1pHdnc3c3U0SURSNmJERko5THlSYmlLeUlEeURVZXBKRWhQaHox?=
 =?utf-8?B?OVJKS2xvSkMzWkxnYnArSk1SRFl5SjU2emtmS2hhdWh4MVhvU3JXU0trNVJh?=
 =?utf-8?B?eWtqTlkzSTJOSC8yVUJCN0xSckJBL2NuY3daQUYxM3lpNU9yUjdKb25mU2xu?=
 =?utf-8?B?b1dzQ2pqZHU5NW5kbXRTVTltQVlXWjJNUzZJQ0Z6bHJ6UitBWGJmUlU2cDl1?=
 =?utf-8?B?MHYrblh2Ky9JQkpZMStEU1NzemQxNWlTK0trMVBZdmd2akh5cnd2elRMUElr?=
 =?utf-8?B?Q3h4QjhhcHRKaksrMnFpa0F2cHdNT01mWDZDRXA3c0U2ZVBJSjM0Z1RpY3c0?=
 =?utf-8?B?TlBCQzBCRGJ1SFJWQUZQcVRSR1NkZUI4U1V5eEtnMHV2UmRHZVBEdFppYlBa?=
 =?utf-8?B?SjN2d0M3ZExTblhJUVcxSEhYY3NPMi9JMHNNeXY3YUFQV1p6TXZNYWx2UWo0?=
 =?utf-8?B?S0d6c25TcllGNUtDWlRxdFVDT2ZCb0MyY1B5U29uK1J1MU5pcTRVVnE0ejZG?=
 =?utf-8?B?bksrTHNxUDFENHBkMDZQUHlxSTQ4SFFUV045cjVnNDBVZDBKUmdJTUMzNThs?=
 =?utf-8?B?L2JIWXEwK00yNldHMEtocnJYWEdLSDJ0VEVDMFgxbDZRZ21lQWU1bmNRR3Aw?=
 =?utf-8?B?dzNQbis2OGlxREdqMEkvc2tYaG4vamNVVldhSElYb215T2hQejBDMSsyMGZz?=
 =?utf-8?B?MC90S3l1VklkZXRUNkhFSzJnb1B4VHFpQlRBcVNHOXRYWHg1eEkxY0tZTC9E?=
 =?utf-8?B?T25haEtRNEtXWWI0WnFXZ01uRkdjc1E1bUNaZWtYTUxldDFDMzM5ZzRQT0Zz?=
 =?utf-8?B?eHlZVElXSWFyTzhBYXFIV1JCQzAydHdTVzhsZWo5RllOYy9LN3RybTRPR3VF?=
 =?utf-8?B?UXJMRHc5bWN6SkZEVU43MW15QTg2S0M5UGRud1h5bCszNGdFbXFSWXFQWUxv?=
 =?utf-8?B?RjhDQ2F1YXZYemNHT3d2bzRrY3dHVXZML3EwajdYNmhqZFRrd1B2cmZDbkVt?=
 =?utf-8?B?dmEyL3Q0V3FsUmVaQmpxdUxiZ3NYOXVTRnQyWkdIWG50bzJOQUJNbjEwcHdH?=
 =?utf-8?B?RE5HQk92S2c2U0t1UWxBNlZneFhnM01UZTBRT1NwRWNEOThSeFlLbkJQTkNs?=
 =?utf-8?B?MUR3Q05Vc3hKcTFYRkp1R2U4RkNOai8wekt4SWlXSndWaWVHN3hmUUJZcU9Z?=
 =?utf-8?B?bzJtY21uUUp0ZytvWGxpNW13bytFVFphNnFCVTRYenhZcVZIUVliVDNaQy80?=
 =?utf-8?B?QmFWQlJOb2FsRUtlNDJPWWFwMEhPUnoyOGFuMGJyMFM1WE9iRlNpSi9wekZp?=
 =?utf-8?B?Wko3SUdBa1M0YmhuR2hYdWhDUFNVMnFPbURHdTVCck9zYkhUZWJ0eW1lajY1?=
 =?utf-8?B?Y3RXeGphcThaSDIwQjVRK3lCaXdZVG56YWRkdW5WNGpKY1lhS01sRWRCOFJl?=
 =?utf-8?B?bCtIbWs5SVNrTlpxWE96NUNHd0V5ZGxKdFBvc2RLNnVsU2RoSm9CaUlsNXRu?=
 =?utf-8?Q?3IBH8Vsa9vC7SpUaDlivI7rKV?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d79a7da7-6ea5-44d9-239a-08dbf0110852
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 12:53:34.8609
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XrAw/W3IR3Pzaam2mBjFoZzYHcfBfYKe5W0A6/Tw0OWmMBAPvw9PU31pwaumfexHzWEjE6+zjM2c3jx6iRMtDA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8318

On 28.11.2023 12:49, Oleksii wrote:
> On Tue, 2023-11-28 at 10:58 +0100, Jan Beulich wrote:
>> On 28.11.2023 10:28, Oleksii wrote:
>>> On Tue, 2023-11-28 at 08:57 +0100, Jan Beulich wrote:
>>>> On 27.11.2023 20:38, Oleksii wrote:
>>>>> On Mon, 2023-11-27 at 15:41 +0100, Jan Beulich wrote:
>>>>>> On 27.11.2023 15:13, Oleksii Kurochko wrote:
>>>>>>> --- a/xen/arch/ppc/include/asm/grant_table.h
>>>>>>> +++ /dev/null
>>>>>>> @@ -1,5 +0,0 @@
>>>>>>> -/* SPDX-License-Identifier: GPL-2.0-only */
>>>>>>> -#ifndef __ASM_PPC_GRANT_TABLE_H__
>>>>>>> -#define __ASM_PPC_GRANT_TABLE_H__
>>>>>>> -
>>>>>>> -#endif /* __ASM_PPC_GRANT_TABLE_H__ */
>>>>>>
>>>>>> Removing this header would be correct only if GRANT_TABLE had
>>>>>> a
>>>>>> "depends on
>>>>>> !PPC", I'm afraid. Recall that the earlier randconfig
>>>>>> adjustment
>>>>>> in
>>>>>> CI was
>>>>>> actually requested to be undone, at which point what an
>>>>>> arch's
>>>>>> defconfig
>>>>>> says isn't necessarily what a randconfig should use.
>>>>> We can do depends on !PPC && !RISCV but shouldn't it be enough
>>>>> only
>>>>> to
>>>>> turn CONFIG_GRANT_TABLE off in defconfig and set
>>>>> CONFIG_GRANT_TABLE=n
>>>>> in EXTRA_XEN_CONFIG?
>>>>
>>>> That _might_ be sufficient for CI, but we shouldn't take CI as
>>>> the
>>>> only
>>>> thing in the world. Personally I consider any kind of overriding
>>>> for,
>>>> in particular, randconfig at bets bogus. Whatever may not be
>>>> selected
>>>> (or must be selected) should be arranged for by Kconfig files
>>>> themselves.
>>>> That said, there may be _rare_ exceptions. But what PPC's and
>>>> RISC-
>>>> V's
>>>> defconfig-s have right now is more than "rare" imo.
>>>>
>>>>> Some time ago I also tried to redefine "Config GRANT_TABLE" in
>>>>> arch-
>>>>> specific Kconfig + defconfig + EXTRA_XEN_CONFIG and it works
>>>>> for
>>>>> me.
>>>>> Could it be solution instead of "depends on..." ?
>>>>
>>>> Why would we want to re-define an setting? There wants to be one
>>>> single
>>>> place where a common option is defined. Or maybe I don't
>>>> understand
>>>> what you're suggesting ...
>>> I just thought this change is temporary because grant_table.h will
>>> be
>>> introduced later or earlier, and it will be needed to remove
>>> "depends
>>> on !PPC && !RISCV". And not to litter common KConfig with the
>>> change
>>> which will be removed, it will be better to redefine it in arch-
>>> specific Kconfig with default n.
>>
>> Right. But if it's indeed temporary, what's the point of this patch?
>> The entire series is (supposed to be) to improve code structure for
>> longer term purposes. If a non-generic grant_table.h is going to
>> appear for PPC and RISC-V, I don't see why the present dummy would
>> need removing. That's only useful if an arch can be expected to live
>> with GRANT_TABLE=n even when otherwise feature-complete, and at that
>> point modifying the Kconfig dependencies would (imo) be appropriate.
> I agree. Let's proceed by adding the dependency in the KConfig file.
> 
> So which one option will be better:
> 1. depends on !PPC && !RISCV
> 2. depends on ARM || X86

Agreeing and then making this suggestion contradicts one another. Unless
the long-term plan is for PPC and RISC-V to not use grant tables.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:00:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:00:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643135.1003049 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7xhE-0001qV-JV; Tue, 28 Nov 2023 13:00:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643135.1003049; Tue, 28 Nov 2023 13:00: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 1r7xhE-0001qO-Gr; Tue, 28 Nov 2023 13:00:12 +0000
Received: by outflank-mailman (input) for mailman id 643135;
 Tue, 28 Nov 2023 13:00: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7xhD-0001qI-OD
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:00:11 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061d.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0f41780a-8dee-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 14:00:09 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8414.eurprd04.prod.outlook.com (2603:10a6:20b:3ef::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Tue, 28 Nov
 2023 13:00:06 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 13:00: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: 0f41780a-8dee-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=amLVEtOOZR8pVVgZ643e2KajQhDsOGGqx+iausJARnHgThXhZNyTAWKEdHNqK2oYIdFIK7+dyPgRIztcU9n1GVtk/kHKScCuoViTKJiatc3Vzyx8pNkKwL52ygaula2lvQf5i7zhH9qFApOe/n2N6aO2zI9g9c01yX6xJlygZMTDQz+MRXOerMy/4luK0TloVAO4nzvPfvZb3cMO/65nRbNe/vrImkagVSwLPXDhPt7CPb0Dgb6j7nCIpitwmkS7G6ucm4EN2oIGo8YTm/1fF1+6D6PZ32tBnRWqJ/0brGpglPMWOCxeY4asQvOxhK34znOsr3Z2DZcPIm3M+9z1IA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rfapMZGC0ldvaZD2FsFFwfN4SpGFQQ6bhBNwcbppQ7g=;
 b=dS3snC4CNMJOXQtkbrlIn7GcwkS0kLu4sJOZ3Fmf9zsMn+OieG5p2Go/MorJ8iuZNEksBJjGamYb91MzWGJ6aijlPbu1fKs/vWmagfwRhAUDFOnmPTCpIm/bG/LQ5JD3y4L8D5SzGPvzSY6LlI5PpBveZWOvY2VM4biYBDnMpyBdvvG5M3IK0UGUYx5Gabmxeb2u/7wFcmojGVi9WwvNNBw2PjV1CsGbbZRMlznFIpbQ+gdkWrJJ6fsKsBkAE04lDWr9qBcGQevh+5lIskvw2We92TCOmZgyOEkaluPa4Xrqlz32osAktkRNyO0d8RbbRZaw6SKbPnN09dWjNcr/jQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rfapMZGC0ldvaZD2FsFFwfN4SpGFQQ6bhBNwcbppQ7g=;
 b=SbgPhdirUs2vZuwDvepy5nSd7ktP5rXZm8SCYCajwKghEARsBnqagmXpx8eoLz3r+K1qhfAWVVc/jrp2jI8iahDqKGc8Mu/xl2UqQAh64Gh6aPH85CiWiL9o6Nv1nDSrJ+tRVpk+BxBYg71JDyt7RNYFm9lS4GN+sIELoHINRFZIpZEtQcpJyocLt+NSUH8uot7aRR2dY2h2x8rdkdFFGUTQugzOHskuVsTBiJZW4y/lbFSFmNxFtzW3Zp+MEzf/Kp2SjyFd7i6xp6rQgDHbH2CSAL3ugiom9IciIbewNjAcoOyClKbTJGJ6ajHWQBjL5onLRxPgV4dN24tfpURX4g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
Date: Tue, 28 Nov 2023 14:00:04 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/guest_walk: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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>,
 xen-devel@lists.xenproject.org
References: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0048.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8414:EE_
X-MS-Office365-Filtering-Correlation-Id: 7b87e74b-d546-4914-7d3e-08dbf011f1d3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oJ7+E1kwBoBVHKbuRPBYd7JOkSR3g5fQkTSLwjTn+tGhF2NP4qka/6NDBHCcEEOlOeo74X3U5Y180BmrbXb9HNgIugaO2nXVZ2vylSVRcvMDzUmc2fmJod/SHJgB8ai6hhIxywtsr8kn2VUo7XRdPPCvkEiu3FIKPSZ70sS/c0cROXiZ+ZvfNIstTcIDzSK/Ad/FeMAmUpYv2GoChte2ZrkDJz6On0cE72OGx5RilTklpkkXpiGHUO+pUnhRGAPaVXTSWdsiiL6iw/B6XqStsO0dlCzGeE40EVFSO0JvrcZoO/8VR27YnKx3TmY3rbbvLh/r6sfix3DnfTQPYAZxoh5La4+S/o/aX4xtxkjyHM2eHK/vxLvRX9rF+376ophY9DKIcfD0jSaClW5smEQa0flipt73PbVZKQvOX44is7QkCgY5gntrdA2GzUwHYx2UVVxSNNbzxT4XRQfwinW3VJYHjFyCjWrWsrFEUN/9DZhRHj+uCVaJ9GsUCVJnpmYdV9Jy2bCtEHnpyHssFZuukutqVX/FlRtdCwcO0GZRXJZ9OSEGpqP5Ho7byidaZibxzeX2U+UMN28vndFDj5xPVjDmjMnnhLRQ/f81Wg+ZAywMQfbMy7P1UGXNRNn2TKfpbfPLRefM4SjfPzUsDZpX/iQ9pjUlrdVD423l8/fxXahXpM+LkpfwGX5uuIDUmFyunCgxvZO2+LKghz10WIptjw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(346002)(396003)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(31696002)(86362001)(2906002)(5660300002)(6512007)(31686004)(6506007)(8676002)(4326008)(41300700001)(8936002)(83380400001)(316002)(54906003)(38100700002)(36756003)(2616005)(478600001)(53546011)(6486002)(66476007)(66946007)(6916009)(26005)(66556008)(43740500002)(45980500001)(473944003)(414714003);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VW1Ba3pnUCtYclE3OUEvMHRJc0hROUJyanhTeFRvZmRhdjhsVkRmZm9sNFk0?=
 =?utf-8?B?ZzhqVXA4dzdiL3k3RHJuaUpHQWRWSmQ5TmxZdnVURTRxaFJOdDN0TUw4NXg5?=
 =?utf-8?B?K3UralFYUkx3bVpFaTkwNEJvcXUxRm9BYzl5NzduTVlPRFFGS2lFSDN6dW1x?=
 =?utf-8?B?L3h0MWJwYmZobTJDdHdEMW9qRXR0UHJBYlhmOTJWNmc0Nkp2Y01LU3VLZW5i?=
 =?utf-8?B?TXRFdW54VWl3TmFFVjBEa3FqVFR4aGVTUzYrQjBEVng1dUhSWE9vak13Sk5H?=
 =?utf-8?B?U1cvUktnd0F2ZmRBa05KVzRPbDdkNjVPdTQzeGZIaXFLVkprQUZPQlhZelNa?=
 =?utf-8?B?NVpyamZKMXZtdXlRNHJNeDZmYmJ4T2pWemFTNDZveDE1Tit1MGNYYkJQbzBY?=
 =?utf-8?B?cGtQT1JDN09zV0RMUUFrNGFQcG9TVGprWmdWUmdhSWZkaGlTczF1TS9rTXg3?=
 =?utf-8?B?WjNwYytkZzdVOUM4L2VEV3hlcDZqZFk1NC96TEpMVEx1VzIxbVE1MksvRDNU?=
 =?utf-8?B?VGpzUDdFeENidElLUmNiM3hZb2FoWHgzQkNTVUdOM0xMVTNlMHUwTDB3bWJu?=
 =?utf-8?B?RnFZK0hmV0FERCtMcjFCWjh3UTZwUjNsbmR3Y3BxVjJpMzlvODFqa29UckZx?=
 =?utf-8?B?MlpZd0hjdzJkUzFkdGo2dmhIQjR2dXZTV3JSVTJhczJFd1EvWGw2WEtVaXFv?=
 =?utf-8?B?dmp4cUQ2UE8wQ1plNFpTWVBZekY3MFd0NjgxZ1BGMVB3Y2cwWU9kQTdTb0pQ?=
 =?utf-8?B?Z1R2ODdnL0VhWkEwVVVrZ3RscEJ2WlpDcjdBc0RZcFZGMU5BUXB5VmR0TXNR?=
 =?utf-8?B?N1Y4YkRTUDZwMjdmeTNTSmdwM0dyL3IyaTBIbmZWNWw0QktoZkJGT0ZYSHAw?=
 =?utf-8?B?N0U2dzYxaGY5ak5iNWxaNWJ4UCtHZzBOZTBmVkx5MmVJeGFVV2w0dlhwU3U5?=
 =?utf-8?B?ZkZWb3BYQk55cWlscjVUaUcweGFyQ2xGM3ljY1k2cElGVzRDM2JHVTM2Yll5?=
 =?utf-8?B?ZlF6UmVPU1gwU1doWStyWk5FUmRyUGYwMWRPUDBFcXlyNnk3NWdaUCsrUldh?=
 =?utf-8?B?YmRsL0t0T1piNEpEYjdBdWFUOVgrc1JQbU43V3ZVbXRsTlJSaGFrZE9iZmVz?=
 =?utf-8?B?TXlOcFNSTk45YWtOcjV4SUQ5YmNKWjBWZGRkTDFmR0NrbHdUWERyVmR2b014?=
 =?utf-8?B?R0dSWXJvc2tINjZ0cnRFOUNDSlZWbHZMSlhha0NjQnp5eHFZaHE4Ly9naXdB?=
 =?utf-8?B?Vy9kcDRKSGJaTEpxbEhqVFJBV0ZRdXh2dEc2MGdvd0UwRmRnV09xQnA3UXdS?=
 =?utf-8?B?dmVUenA0Q1VySG1HM2xMdzRSM0dXVVJ0L2lQbnBld0xha1dNRTdhTlQ5VkJa?=
 =?utf-8?B?ZzBnbWZVTVc0NHl0L2NwbGFMWWdrOTgvY01zMGk1SjFUNWp2SGdPR0oyMWdH?=
 =?utf-8?B?Y1hjWi9tWUZ5S1NsNUt0VlQrVVM2cGdXL2VnRlphTzR6cHhERzVXVkw4M2ZQ?=
 =?utf-8?B?NUttN0x6WmhzYkFvTjg0V3BIT2l3UWF2U3RtcXgra0JsL2NiLzlwSUk0WkFS?=
 =?utf-8?B?S1RxdTdnVWsxRUx2dzNBQkJqMG50NVFCaVRCUHhQWHFjRllqRHR6c3FsS2xz?=
 =?utf-8?B?Q2xrN1FjaFNmQ0VmZURvaVdRdFhCdmZLVmNndCtWWllDOXg1Y1p5UlQ0ODFT?=
 =?utf-8?B?U2MzSGZ5cm9USVR0YUg4Z0FRYUJXK1ZxbHlwMnRzSDBZNlF2cmdDZTJmT1hW?=
 =?utf-8?B?dWJxeWlpa3lBY2lIKzJsY2lXU0pubHZTUjRyT1N3bWl0dnVOR3VFd2hWQTBH?=
 =?utf-8?B?c2s2SlFldDNGYldRQVlJcGdvR3JaejcyNG0rWllkOVdwYnVzS09DZzlramV6?=
 =?utf-8?B?R3ZyWDFYbVRHTlJNQW14aTFWMmRtWW90b3cvUlRoSGhXSmRrTEtaUkpRYTlo?=
 =?utf-8?B?SUhCaUs5Vk93WXhMb0ZsMEV6R1IyTWFqUFk2SjRzeHltS1ArWFM4ZHpEUTdo?=
 =?utf-8?B?Rk5UOHNld0RMdm5KcVZxK2ViK3cybDFUdytFUndpN2xURmhMTHE1dU5yRGVi?=
 =?utf-8?B?UllHSyt0cGh3MWcwMFZZMGtLeFRUc1dlM1YvNS96RGE5V21MRW5xMTNQMXBN?=
 =?utf-8?Q?utmWaIwigGMWHn46Flj/yX8QQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7b87e74b-d546-4914-7d3e-08dbf011f1d3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 13:00:06.6815
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ChIN4mA1Zmh5GcXvN+joddZHuipQlCOLyJbOGL80EPQb25Imjk9XmAFZUTH5i/Ks/MrgKzZNikH/kKPlnRdTew==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8414

On 28.11.2023 10:46, Federico Serafini wrote:
> Uniform declaration and definition of guest_walk_tables() using
> parameter name "pfec_walk":
> this name highlights the connection with PFEC_* constants and it is
> consistent with the use of the parameter within function body.
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

I'm curious what other x86 maintainers think. I for one don't like this,
but not enough to object if others are happy. That said, there was earlier
discussion (and perhaps even a patch), yet without a reference I don't
think I can locate this among all the Misra bits and pieces.

Jan

> --- a/xen/arch/x86/include/asm/guest_pt.h
> +++ b/xen/arch/x86/include/asm/guest_pt.h
> @@ -422,7 +422,7 @@ static inline unsigned int guest_walk_to_page_order(const walk_t *gw)
>  
>  bool
>  guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
> -                  unsigned long va, walk_t *gw, uint32_t pfec,
> +                  unsigned long va, walk_t *gw, uint32_t pfec_walk,
>                    gfn_t top_gfn, mfn_t top_mfn, void *top_map);
>  
>  /* Pretty-print the contents of a guest-walk */
> --- a/xen/arch/x86/mm/guest_walk.c
> +++ b/xen/arch/x86/mm/guest_walk.c
> @@ -69,7 +69,7 @@ static bool set_ad_bits(guest_intpte_t *guest_p, guest_intpte_t *walk_p,
>   */
>  bool
>  guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
> -                  unsigned long va, walk_t *gw, uint32_t walk,
> +                  unsigned long va, walk_t *gw, uint32_t pfec_walk,
>                    gfn_t top_gfn, mfn_t top_mfn, void *top_map)
>  {
>      struct domain *d = v->domain;
> @@ -100,16 +100,17 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>       * inputs to a guest walk, but a whole load of code currently passes in
>       * other PFEC_ constants.
>       */
> -    walk &= (PFEC_implicit | PFEC_insn_fetch | PFEC_user_mode | PFEC_write_access);
> +    pfec_walk &= (PFEC_implicit | PFEC_insn_fetch | PFEC_user_mode |
> +                  PFEC_write_access);
>  
>      /* Only implicit supervisor data accesses exist. */
> -    ASSERT(!(walk & PFEC_implicit) ||
> -           !(walk & (PFEC_insn_fetch | PFEC_user_mode)));
> +    ASSERT(!(pfec_walk & PFEC_implicit) ||
> +           !(pfec_walk & (PFEC_insn_fetch | PFEC_user_mode)));
>  
>      perfc_incr(guest_walk);
>      memset(gw, 0, sizeof(*gw));
>      gw->va = va;
> -    gw->pfec = walk & (PFEC_user_mode | PFEC_write_access);
> +    gw->pfec = pfec_walk & (PFEC_user_mode | PFEC_write_access);
>  
>      /*
>       * PFEC_insn_fetch is only reported if NX or SMEP are enabled.  Hardware
> @@ -117,7 +118,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>       * rights.
>       */
>      if ( guest_nx_enabled(v) || guest_smep_enabled(v) )
> -        gw->pfec |= (walk & PFEC_insn_fetch);
> +        gw->pfec |= (pfec_walk & PFEC_insn_fetch);
>  
>  #if GUEST_PAGING_LEVELS >= 3 /* PAE or 64... */
>  #if GUEST_PAGING_LEVELS >= 4 /* 64-bit only... */
> @@ -399,7 +400,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>       * N.B. In the case that the walk ended with a superpage, the fabricated
>       * gw->l1e contains the appropriate leaf pkey.
>       */
> -    if ( !(walk & PFEC_insn_fetch) &&
> +    if ( !(pfec_walk & PFEC_insn_fetch) &&
>           ((ar & _PAGE_USER) ? guest_pku_enabled(v)
>                              : guest_pks_enabled(v)) )
>      {
> @@ -408,8 +409,8 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>          unsigned int pk_ar = (pkr >> (pkey * PKEY_WIDTH)) & (PKEY_AD | PKEY_WD);
>  
>          if ( (pk_ar & PKEY_AD) ||
> -             ((walk & PFEC_write_access) && (pk_ar & PKEY_WD) &&
> -              ((walk & PFEC_user_mode) || guest_wp_enabled(v))) )
> +             ((pfec_walk & PFEC_write_access) && (pk_ar & PKEY_WD) &&
> +              ((pfec_walk & PFEC_user_mode) || guest_wp_enabled(v))) )
>          {
>              gw->pfec |= PFEC_prot_key;
>              goto out;
> @@ -417,17 +418,17 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>      }
>  #endif
>  
> -    if ( (walk & PFEC_insn_fetch) && (ar & _PAGE_NX_BIT) )
> +    if ( (pfec_walk & PFEC_insn_fetch) && (ar & _PAGE_NX_BIT) )
>          /* Requested an instruction fetch and found NX? Fail. */
>          goto out;
>  
> -    if ( walk & PFEC_user_mode ) /* Requested a user acess. */
> +    if ( pfec_walk & PFEC_user_mode ) /* Requested a user acess. */
>      {
>          if ( !(ar & _PAGE_USER) )
>              /* Got a supervisor walk?  Unconditional fail. */
>              goto out;
>  
> -        if ( (walk & PFEC_write_access) && !(ar & _PAGE_RW) )
> +        if ( (pfec_walk & PFEC_write_access) && !(ar & _PAGE_RW) )
>              /* Requested a write and only got a read? Fail. */
>              goto out;
>      }
> @@ -435,18 +436,18 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>      {
>          if ( ar & _PAGE_USER ) /* Got a user walk. */
>          {
> -            if ( (walk & PFEC_insn_fetch) && guest_smep_enabled(v) )
> +            if ( (pfec_walk & PFEC_insn_fetch) && guest_smep_enabled(v) )
>                  /* User insn fetch and smep? Fail. */
>                  goto out;
>  
> -            if ( !(walk & PFEC_insn_fetch) && guest_smap_enabled(v) &&
> -                 ((walk & PFEC_implicit) ||
> +            if ( !(pfec_walk & PFEC_insn_fetch) && guest_smap_enabled(v) &&
> +                 ((pfec_walk & PFEC_implicit) ||
>                    !(guest_cpu_user_regs()->eflags & X86_EFLAGS_AC)) )
>                  /* User data access and smap? Fail. */
>                  goto out;
>          }
>  
> -        if ( (walk & PFEC_write_access) && !(ar & _PAGE_RW) &&
> +        if ( (pfec_walk & PFEC_write_access) && !(ar & _PAGE_RW) &&
>               guest_wp_enabled(v) )
>              /* Requested a write, got a read, and CR0.WP is set? Fail. */
>              goto out;
> @@ -468,7 +469,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>  
>      case 1:
>          if ( set_ad_bits(&l1p[guest_l1_table_offset(va)].l1, &gw->l1e.l1,
> -                         (walk & PFEC_write_access)) )
> +                         (pfec_walk & PFEC_write_access)) )
>          {
>              paging_mark_dirty(d, gw->l1mfn);
>              hvmemul_write_cache(v, l1gpa, &gw->l1e, sizeof(gw->l1e));
> @@ -476,7 +477,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>          /* Fallthrough */
>      case 2:
>          if ( set_ad_bits(&l2p[guest_l2_table_offset(va)].l2, &gw->l2e.l2,
> -                         (walk & PFEC_write_access) && leaf_level == 2) )
> +                         (pfec_walk & PFEC_write_access) && leaf_level == 2) )
>          {
>              paging_mark_dirty(d, gw->l2mfn);
>              hvmemul_write_cache(v, l2gpa, &gw->l2e, sizeof(gw->l2e));
> @@ -485,7 +486,7 @@ guest_walk_tables(const struct vcpu *v, struct p2m_domain *p2m,
>  #if GUEST_PAGING_LEVELS == 4 /* 64-bit only... */
>      case 3:
>          if ( set_ad_bits(&l3p[guest_l3_table_offset(va)].l3, &gw->l3e.l3,
> -                         (walk & PFEC_write_access) && leaf_level == 3) )
> +                         (pfec_walk & PFEC_write_access) && leaf_level == 3) )
>          {
>              paging_mark_dirty(d, gw->l3mfn);
>              hvmemul_write_cache(v, l3gpa, &gw->l3e, sizeof(gw->l3e));



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:08:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:08:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643140.1003059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7xom-0002s6-GW; Tue, 28 Nov 2023 13:08:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643140.1003059; Tue, 28 Nov 2023 13:08: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 1r7xom-0002rz-DD; Tue, 28 Nov 2023 13:08:00 +0000
Received: by outflank-mailman (input) for mailman id 643140;
 Tue, 28 Nov 2023 13:07: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=7TP6=HJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7xol-0002rt-Ga
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:07:59 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 262a1960-8def-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 14:07:57 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 95DCD2199B;
 Tue, 28 Nov 2023 13:07:56 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 54B5D13763;
 Tue, 28 Nov 2023 13:07:56 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id nyhfEyzmZWWBIwAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 28 Nov 2023 13: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>
X-Inumbo-ID: 262a1960-8def-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701176876; 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:autocrypt:autocrypt;
	bh=wHp2PFh7LH/a1ltxI22Cvphlma+o3fhOPzjQrnRwMdA=;
	b=TG/mzE5Dm9+/PUc/oSBSsGgnffhFOWc9PG/79gS1TJBwyXVh3EctTyi+g1Pz/cYNxNoYBH
	jhc9yKVWtpR6roERWPkHIMv4hNfif5urSj1LO08C0JnS2DCFGYrItTwzIjcz9uYMyU31li
	CYwwbG0s5sGAkfYyXNdNXY4zMnsd46A=
Message-ID: <8590a642-a248-4bd4-a19d-b11003eadb0c@suse.com>
Date: Tue, 28 Nov 2023 14:07:55 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 02/13] xen/spinlock: reduce lock profile ifdefs
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-3-jgross@suse.com>
 <1d575e42-9b85-40da-8d96-0932ce98424f@cloud.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <1d575e42-9b85-40da-8d96-0932ce98424f@cloud.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------C4b0aTy4YEozeoYfO0bhDytJ"
X-Spam-Flag: NO
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spamd-Result: default: False [-1.16 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-0.63)[82.26%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-0.98)[-0.978];
	 NEURAL_SPAM_SHORT(2.44)[0.813];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Score: -1.16

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------C4b0aTy4YEozeoYfO0bhDytJ
Content-Type: multipart/mixed; boundary="------------Sfd84q0Tqzv0nUTfCNkToLSu";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>
Message-ID: <8590a642-a248-4bd4-a19d-b11003eadb0c@suse.com>
Subject: Re: [PATCH v3 02/13] xen/spinlock: reduce lock profile ifdefs
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-3-jgross@suse.com>
 <1d575e42-9b85-40da-8d96-0932ce98424f@cloud.com>
In-Reply-To: <1d575e42-9b85-40da-8d96-0932ce98424f@cloud.com>

--------------Sfd84q0Tqzv0nUTfCNkToLSu
Content-Type: multipart/mixed; boundary="------------pgtEAFpxAnVi3VqlY4X1dZku"

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

T24gMjQuMTEuMjMgMTg6NTksIEFsZWphbmRybyBWYWxsZWpvIHdyb3RlOg0KPiBIaSwNCj4g
DQo+IE9uIDIwLzExLzIwMjMgMTE6MzgsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6PiBXaXRoIHNv
bWUgc21hbGwgYWRqdXN0bWVudHMgdG8gdGhlIA0KPiBMT0NLX1BST0ZJTEVfKiBtYWNyb3Mg
c29tZSAjaWZkZWZzDQo+PiBjYW4gYmUgZHJvcHBlZCBmcm9tIHNwaW5sb2NrLmMuDQo+Pg0K
Pj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0KPj4g
LS0tDQo+PiBWMjoNCj4+IC0gbmV3IHBhdGNoDQo+PiBWMzoNCj4+IC0gYWRkIHZhcmlhYmxl
IG5hbWUgdG8gbWFjcm9zIHBhcmFtZXRlciAoSmFuIEJldWxpY2gpDQo+PiAtLS0NCj4+IMKg
IHhlbi9jb21tb24vc3BpbmxvY2suYyB8IDQ5ICsrKysrKysrKysrKysrKysrKystLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0NCj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCAyMSBpbnNlcnRpb25z
KCspLCAyOCBkZWxldGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9z
cGlubG9jay5jIGIveGVuL2NvbW1vbi9zcGlubG9jay5jDQo+PiBpbmRleCBkNzE5NGU1MThj
Li5jZTE4ZmJkZDhhIDEwMDY0NA0KPj4gLS0tIGEveGVuL2NvbW1vbi9zcGlubG9jay5jDQo+
PiArKysgYi94ZW4vY29tbW9uL3NwaW5sb2NrLmMNCj4+IEBAIC0yNjcsMjUgKzI2NywyOCBA
QCB2b2lkIHNwaW5fZGVidWdfZGlzYWJsZSh2b2lkKQ0KPj4gwqDCoMKgwqDCoMKgwqDCoMKg
IGxvY2stPnByb2ZpbGUtPnRpbWVfaG9sZCArPSBOT1coKSAtIGxvY2stPnByb2ZpbGUtPnRp
bWVfbG9ja2VkO8KgwqDCoMKgwqAgXA0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgIGxvY2stPnBy
b2ZpbGUtPmxvY2tfY250Kys7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwNCj4+
IMKgwqDCoMKgwqAgfQ0KPj4gLSNkZWZpbmUgTE9DS19QUk9GSUxFX1ZBUsKgwqDCoCBzX3Rp
bWVfdCBibG9jayA9IDANCj4+IC0jZGVmaW5lIExPQ0tfUFJPRklMRV9CTE9DS8KgIGJsb2Nr
ID0gYmxvY2sgPyA6IE5PVygpOw0KPj4gLSNkZWZpbmUgTE9DS19QUk9GSUxFX0dPVMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFwNCj4+ICsj
ZGVmaW5lIExPQ0tfUFJPRklMRV9WQVIodmFyLCB2YWwpwqDCoMKgIHNfdGltZV90IHZhciA9
ICh2YWwpDQo+PiArI2RlZmluZSBMT0NLX1BST0ZJTEVfQkxPQ0sodmFywqDCoMKgwqAgKcKg
IHZhciA9IHZhciA/IDogTk9XKCkNCj4gbml0OiBzcGFjZXMgYmVmb3JlIHRoZSBjbG9zaW5n
IHBhcmVudGhlc2lzDQoNClllYWgsIHNlZW4gdGhhdCBsYXRlci4NCg0KDQpKdWVyZ2VuDQo=

--------------pgtEAFpxAnVi3VqlY4X1dZku
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------pgtEAFpxAnVi3VqlY4X1dZku--

--------------Sfd84q0Tqzv0nUTfCNkToLSu--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVl5isFAwAAAAAACgkQsN6d1ii/Ey8/
fQf/UFZWDFalea1m6oDTiMKQDesCNU48N2WfiTXMlAqDz9WrPSP67bkn/9z2Co+q4miic4HZOLan
/iUxtLt9e4EiflKA1CHrKpCHaZycskSOVoUVZ2Y1Py96w4YOpGczMbfaaxPzv7keEXCSrDHwiqhe
AavAkuUwopnirHN32aFThyVxn+iiP7mYmlmoPtZzeCS9m9fWBoapV5wEUtuq2wWXBnDZVXcSGa9d
s1XsRO57Y7M+ZQSZf97YLu5vIJYPGXdMUOeV4g89t5UlvOIbaUb/qLuIP78TPld1elIOGVHJogm3
cN3FNUhhH6suTDEwtjOSjL2AzBalxlU2SXIDmesRzA==
=egqF
-----END PGP SIGNATURE-----

--------------C4b0aTy4YEozeoYfO0bhDytJ--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:11:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:11:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643145.1003069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7xrs-0005Ov-U4; Tue, 28 Nov 2023 13:11:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643145.1003069; Tue, 28 Nov 2023 13:11: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 1r7xrs-0005Oo-R9; Tue, 28 Nov 2023 13:11:12 +0000
Received: by outflank-mailman (input) for mailman id 643145;
 Tue, 28 Nov 2023 13:11: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=XwP9=HJ=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r7xrr-0005Ob-Cl
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:11:11 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 970aa59a-8def-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 14:11:06 +0100 (CET)
Received: from [192.168.1.15] (host-82-59-158-146.retail.telecomitalia.it
 [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id E72CF4EE0737;
 Tue, 28 Nov 2023 14:11:05 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 970aa59a-8def-11ee-9b0e-b553b5be7939
Message-ID: <20ad9ab3-1823-48b0-8642-75f8c81f1837@bugseng.com>
Date: Tue, 28 Nov 2023 14:11:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/guest_walk: address violations of MISRA C:2012
 Rule 8.3
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.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>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
 <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
Content-Language: en-US, it
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 28/11/23 14:00, Jan Beulich wrote:
> On 28.11.2023 10:46, Federico Serafini wrote:
>> Uniform declaration and definition of guest_walk_tables() using
>> parameter name "pfec_walk":
>> this name highlights the connection with PFEC_* constants and it is
>> consistent with the use of the parameter within function body.
>> No functional change.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> 
> I'm curious what other x86 maintainers think. I for one don't like this,
> but not enough to object if others are happy. That said, there was earlier
> discussion (and perhaps even a patch), yet without a reference I don't
> think I can locate this among all the Misra bits and pieces.
> 

The last thread about guest_walk_tables():

https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg02055.html

Do you have any suggestions on how to handle this?

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:17:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:17:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643152.1003079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7xxT-0006vB-Df; Tue, 28 Nov 2023 13:16:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643152.1003079; Tue, 28 Nov 2023 13: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 1r7xxT-0006v4-AU; Tue, 28 Nov 2023 13:16:59 +0000
Received: by outflank-mailman (input) for mailman id 643152;
 Tue, 28 Nov 2023 13:16: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=7TP6=HJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7xxR-0006uv-MP
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:16:57 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6763a479-8df0-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 14:16:56 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 7224F219A1;
 Tue, 28 Nov 2023 13:16:55 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 206BC13763;
 Tue, 28 Nov 2023 13:16:55 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id pGFzBkfoZWVwJgAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 28 Nov 2023 13: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: 6763a479-8df0-11ee-98e3-6d05b1d4d9a1
Message-ID: <9ce278bb-475e-4244-8332-fef1c55f0f73@suse.com>
Date: Tue, 28 Nov 2023 14:16:54 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/13] xen/spinlock: introduce new type for recursive
 spinlocks
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Paul Durrant <paul@xen.org>
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-5-jgross@suse.com>
 <e31f93a7-5270-4c09-8ada-c9bc24172c70@cloud.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <e31f93a7-5270-4c09-8ada-c9bc24172c70@cloud.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------l0JJANiGUqpZscuNanGmICbm"
X-Spamd-Bar: ++++++++++++++++++
X-Spam-Score: 18.43
X-Rspamd-Server: rspamd1
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:97 as permitted sender) smtp.mailfrom=jgross@suse.com;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine)
X-Rspamd-Queue-Id: 7224F219A1
X-Spam-Flag: NO
X-Spam-Level: ******************
X-Spamd-Result: default: False [18.43 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[11];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 BAYES_HAM(-3.00)[100.00%];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(2.87)[0.958];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 NEURAL_SPAM_LONG(0.55)[0.158];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------l0JJANiGUqpZscuNanGmICbm
Content-Type: multipart/mixed; boundary="------------DAbHinjON15YijQLRQ1ojxpZ";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>,
 Paul Durrant <paul@xen.org>
Message-ID: <9ce278bb-475e-4244-8332-fef1c55f0f73@suse.com>
Subject: Re: [PATCH v3 04/13] xen/spinlock: introduce new type for recursive
 spinlocks
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-5-jgross@suse.com>
 <e31f93a7-5270-4c09-8ada-c9bc24172c70@cloud.com>
In-Reply-To: <e31f93a7-5270-4c09-8ada-c9bc24172c70@cloud.com>

--------------DAbHinjON15YijQLRQ1ojxpZ
Content-Type: multipart/mixed; boundary="------------n0jqP6vbLAXR0LVZZ7HARrNK"

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

T24gMjQuMTEuMjMgMTk6NTksIEFsZWphbmRybyBWYWxsZWpvIHdyb3RlOg0KPiBPbiAyMC8x
MS8yMDIzIDExOjM4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gSW50cm9kdWNlIGEgbmV3
IHR5cGUgInJzcGlubG9ja190IiB0byBiZSB1c2VkIGZvciByZWN1cnNpdmUgc3BpbmxvY2tz
Lg0KPj4NCj4+IEZvciBub3cgaXQgaXMgb25seSBhbiBhbGlhcyBvZiBzcGlubG9ja190LCBz
byBib3RoIHR5cGVzIGNhbiBzdGlsbCBiZQ0KPj4gdXNlZCBmb3IgcmVjdXJzaXZlIHNwaW5s
b2Nrcy4gVGhpcyB3aWxsIGJlIGNoYW5nZWQgbGF0ZXIsIHRob3VnaC4NCj4+DQo+PiBTd2l0
Y2ggYWxsIHJlY3Vyc2l2ZSBzcGlubG9ja3MgdG8gdGhlIG5ldyB0eXBlLg0KPj4NCj4+IERl
ZmluZSB0aGUgaW5pdGlhbGl6ZXIgaGVscGVycyBhbmQgdXNlIHRoZW0gd2hlcmUgYXBwcm9w
cmlhdGUuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuY29tPg0KPj4gLS0tDQo+PiBWMjoNCj4+IC0gY2FydmVkIG91dCBmcm9tIFYxIHBhdGNo
DQo+PiAtLS0NCj4+IMKgIHhlbi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9tbS5oIHzCoCAyICst
DQo+PiDCoCB4ZW4vYXJjaC94ODYvbW0vbW0tbG9ja3MuaMKgwqDCoCB8wqAgMiArLQ0KPj4g
wqAgeGVuL2NvbW1vbi9kb21haW4uY8KgwqDCoMKgwqDCoMKgwqDCoMKgIHzCoCA0ICsrLS0N
Cj4+IMKgIHhlbi9jb21tb24vaW9yZXEuY8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfMKgIDIg
Ky0NCj4+IMKgIHhlbi9kcml2ZXJzL2NoYXIvY29uc29sZS5jwqDCoMKgIHzCoCA0ICsrLS0N
Cj4+IMKgIHhlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jIHzCoCAyICstDQo+PiDCoCB4
ZW4vaW5jbHVkZS94ZW4vc2NoZWQuaMKgwqDCoMKgwqDCoCB8wqAgNiArKystLS0NCj4+IMKg
IHhlbi9pbmNsdWRlL3hlbi9zcGlubG9jay5owqDCoMKgIHwgMTkgKysrKysrKysrKysrKysr
LS0tLQ0KPj4gwqAgOCBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRpb25zKCspLCAxNSBkZWxl
dGlvbnMoLSkNCj4+DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L2luY2x1ZGUvYXNt
L21tLmggYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vbW0uaA0KPj4gaW5kZXggMDVkZmUz
NTUwMi4uOGE2ZTBjMjgzZiAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9pbmNsdWRl
L2FzbS9tbS5oDQo+PiArKysgYi94ZW4vYXJjaC94ODYvaW5jbHVkZS9hc20vbW0uaA0KPj4g
QEAgLTU5Niw3ICs1OTYsNyBAQCB1bnNpZ25lZCBsb25nIGRvbWFpbl9nZXRfbWF4aW11bV9n
cGZuKHN0cnVjdCBkb21haW4gKmQpOw0KPj4gwqAgLyogRGVmaW5pdGlvbiBvZiBhbiBtbSBs
b2NrOiBzcGlubG9jayB3aXRoIGV4dHJhIGZpZWxkcyBmb3IgZGVidWdnaW5nICovDQo+PiDC
oCB0eXBlZGVmIHN0cnVjdCBtbV9sb2NrIHsNCj4+IC3CoMKgwqAgc3BpbmxvY2tfdMKgwqDC
oMKgwqDCoMKgwqAgbG9jazsNCj4+ICvCoMKgwqAgcnNwaW5sb2NrX3TCoMKgwqDCoMKgwqDC
oCBsb2NrOw0KPiANCj4gQ29uc2lkZXJpbmcgaXQncyByc3BpbmxvY2tfdCByYXRoZXIgdGhh
biBzcGlubG9ja19yZWN1cnNpdmUsIGRvIHdlIHdhbnQNCj4gdG8gY2hhbmdlIGFsc28gbW1f
bG9ja19yZWN1cnNpdmUoKSBhbmQgcGFnaW5nX2xvY2tfcmVjdXJzaXZlKCkgaW50bw0KPiBt
bV9ybG9jaygpIGFuZCBwYWdpbmdfcmxvY2soKSA/DQoNCkkgZG9uJ3QgdGhpbmsgdGhpcyBz
aG91bGQgYmUgcGFydCBvZiB0aGlzIHNlcmllcy4NCg0KPj4gZGlmZiAtLWdpdCBhL3hlbi9p
bmNsdWRlL3hlbi9zcGlubG9jay5oIGIveGVuL2luY2x1ZGUveGVuL3NwaW5sb2NrLmgNCj4+
IGluZGV4IGJiZTE0NzI1NzEuLjE5NTYxZDVlNjEgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vaW5j
bHVkZS94ZW4vc3BpbmxvY2suaA0KPj4gKysrIGIveGVuL2luY2x1ZGUveGVuL3NwaW5sb2Nr
LmgNCj4gID4gW3NuaXBdDQo+PiBAQCAtMTgyLDggKzE5MSwxMCBAQCB0eXBlZGVmIHN0cnVj
dCBzcGlubG9jayB7DQo+PiDCoCAjZW5kaWYNCj4+IMKgIH0gc3BpbmxvY2tfdDsNCj4+ICt0
eXBlZGVmIHNwaW5sb2NrX3QgcnNwaW5sb2NrX3Q7DQo+PiDCoCAjZGVmaW5lIHNwaW5fbG9j
a19pbml0KGwpICgqKGwpID0gKHNwaW5sb2NrX3QpU1BJTl9MT0NLX1VOTE9DS0VEKQ0KPj4g
KyNkZWZpbmUgcnNwaW5fbG9ja19pbml0KGwpICgqKGwpID0gKHJzcGlubG9ja190KVNQSU5f
TE9DS19VTkxPQ0tFRCkNCj4gDQo+IG5pdDogQm90aCB2YXJpYW50cyBvZiBbcl1zcGluX2xv
Y2tfaW5pdChsKSBjb3VsZCBiZSBpbmxpbmUgZnVuY3Rpb25zDQo+IHJhdGhlciB0aGFuIG1h
Y3Jvcy4NCg0KSSB3YXMgZm9sbG93aW5nIHRoZSBzcGluX2xvY2tfaW5pdCgpIGV4YW1wbGUs
IGFuZCBJIGd1ZXNzIHRoYXQgaXMgZm9sbG93aW5nDQp0aGUgTGludXgga2VybmVsIGV4YW1w
bGUuDQoNCkkgZG9uJ3QgbWluZCBlaXRoZXIgd2F5LCBidXQgbWF5YmUgb3RoZXIgbWFpbnRh
aW5lcnMgaGF2ZSBhIHByZWZlcmVuY2U/DQoNCg0KSnVlcmdlbg0K
--------------n0jqP6vbLAXR0LVZZ7HARrNK
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------n0jqP6vbLAXR0LVZZ7HARrNK--

--------------DAbHinjON15YijQLRQ1ojxpZ--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVl6EYFAwAAAAAACgkQsN6d1ii/Ey81
dggAlJ5dgIorsdgTvd/RO97g2je9gKcchT16sY7lCPOF9Q1zTi4tX2WBcBQE7x5uy4Iw5twQkKms
m/DG5+WQ/Iq0Xs+yGiIZMyRDJlt2DjWWuekYeJMZXn7DYOyhR8WneML36GzPEPqJL+A9KxOwC7b1
6Wff/WNPRcYmzBrB+0EL4VOlF/Jf+az4oo9RCOP+IHm+pHYwWn4P6TAgwrNCM9BbuuvHkJz53M4v
9FufiRVd7WjVU1R2DoUntppTYVLiMneT9r0hZbeC1nfRckBIQIzGUUvFJqioOdP9d47mBh6Nut0I
N/tNRBuWt4EmP46z6UAsrbq7zPYsyD1tvDIPwNMGHg==
=lUKk
-----END PGP SIGNATURE-----

--------------l0JJANiGUqpZscuNanGmICbm--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:17:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:17:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643153.1003089 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7xxj-0007P4-Pk; Tue, 28 Nov 2023 13:17:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643153.1003089; Tue, 28 Nov 2023 13: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 1r7xxj-0007Ox-Lv; Tue, 28 Nov 2023 13:17:15 +0000
Received: by outflank-mailman (input) for mailman id 643153;
 Tue, 28 Nov 2023 13:17: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=az8h=HJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r7xxh-0007N7-Nh
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:17:13 +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 7084cc23-8df0-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 14:17:11 +0100 (CET)
Received: by mail-wm1-x331.google.com with SMTP id
 5b1f17b1804b1-40b4f6006d5so2808855e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 05:17:11 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 n26-20020a05600c3b9a00b0040b400711f5sm11209339wms.7.2023.11.28.05.17.10
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Nov 2023 05:17:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7084cc23-8df0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701177431; x=1701782231; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=xQ0k6nF4XrGSAuuM3xrwpeuswIKUI/osZ8Pp8TLKQqw=;
        b=nJx7DatwZV42uGE1HIn10TDnQKHAGvzNnlQ1tnNvAM7FtTKlyoAuDNGFz+XZFRb4vS
         ut5Sm/wFstfJ7zgjaZMAfSv8myCa0OLFMT53xdOp2lXMPrRWl1Vfoqo67n53w0zEnYH9
         sDXbTzo4dBNML88to6GTUbmNILZNo8fonn5ls=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701177431; x=1701782231;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=xQ0k6nF4XrGSAuuM3xrwpeuswIKUI/osZ8Pp8TLKQqw=;
        b=BJ5nBYAmcVoktxfBgT93nRm2/4bfNvuJ9mfeNX7yf/Va0GS7Mz6Rrr6tMDEBZQ2qxw
         Me+EfHUZwHdX72DtwCsnnWxR6RgS2TaVemBHO58HQMmSo6Thq9KJW3Ztwh9JrD0CzBtd
         8KaxHgCpQ0sySDH5WKhgHD/5mYzXPMbMbhdwPu3AJ7nfbcelzxPqAThcDEOdPdLoCYWA
         pttIiDZUrstIfyDYVEAZPteSfaqBUkqvhzznEaKmrVKjfrQstYjZqwGymCiN3iu8yzAR
         FiMcMZCA0wPcBxruOb309TKYf9H0iQ/YvcKAJUxIKzRzaGcq/TI/VpuQ4oEGetIOP8aI
         tadA==
X-Gm-Message-State: AOJu0YxZTpfR++LXtpcmSaa9cZ7RDKbEUPMrtWW6D7gyqSEKQW46U0MF
	P8QnKEW8z7Hqy5dd9LX3UhQ9dw==
X-Google-Smtp-Source: AGHT+IEWi5wcoMwutNFCNuGDq33BdsZvon6Qow110Rw8NfYdi+ev2o95IASrpemZp9Y84rbqczpJkA==
X-Received: by 2002:a05:600c:4fc5:b0:40b:2a15:9b30 with SMTP id o5-20020a05600c4fc500b0040b2a159b30mr6713450wmq.1.1701177430995;
        Tue, 28 Nov 2023 05:17:10 -0800 (PST)
Message-ID: <4f09cc01-3975-4c2f-960f-67f3ac1f53a4@citrix.com>
Date: Tue, 28 Nov 2023 13:17:10 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/guest_walk: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
 <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28/11/2023 1:00 pm, Jan Beulich wrote:
> On 28.11.2023 10:46, Federico Serafini wrote:
>> Uniform declaration and definition of guest_walk_tables() using
>> parameter name "pfec_walk":
>> this name highlights the connection with PFEC_* constants and it is
>> consistent with the use of the parameter within function body.
>> No functional change.
>>
>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
> I'm curious what other x86 maintainers think. I for one don't like this,
> but not enough to object if others are happy. That said, there was earlier
> discussion (and perhaps even a patch), yet without a reference I don't
> think I can locate this among all the Misra bits and pieces.

I looked at this and wanted a bit of time to think.

Sadly, this code is half way through some cleanup, which started before
speculation and will continue in my copious free time.

It's wrong to be passing PFEC_* constants, and that's why I renamed pfec
-> walk the last time I was fixing security bugs here  (indeed, passing
the wrong constant here *was* the security issue).  I missed the
prototype while fixing the implementation.

At some point, PFEC_* will no longer be passed in.

Therefore I'd far rather this was a one-line change for the declaration
changing pfec -> walk.

As it stands, you're effectively reverting a correction I made.

Thanks,

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:24:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:24:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643162.1003099 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7y53-0002Mb-HT; Tue, 28 Nov 2023 13:24:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643162.1003099; Tue, 28 Nov 2023 13: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 1r7y53-0002MU-Dx; Tue, 28 Nov 2023 13:24:49 +0000
Received: by outflank-mailman (input) for mailman id 643162;
 Tue, 28 Nov 2023 13: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=7TP6=HJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7y52-0002MO-IR
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:24:48 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7f60ce88-8df1-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 14:24:46 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 2E23C2199D;
 Tue, 28 Nov 2023 13:24:45 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id D39A91343E;
 Tue, 28 Nov 2023 13:24:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 93xhMhzqZWXKKAAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 28 Nov 2023 13:24: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: 7f60ce88-8df1-11ee-9b0e-b553b5be7939
Message-ID: <75e85d00-02ad-43c8-930f-cfbf91235652@suse.com>
Date: Tue, 28 Nov 2023 14:24:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 06/13] xen/spinlock: add
 rspin_[un]lock_irq[save|restore]()
Content-Language: en-US
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-7-jgross@suse.com>
 <6f712c33-fcfe-42e1-a31d-53e0c7ffea44@cloud.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <6f712c33-fcfe-42e1-a31d-53e0c7ffea44@cloud.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------TUMc0ew5PfFhICRb7KYBDADD"
X-Spamd-Bar: ++++++++++++++++++
X-Spam-Score: 18.43
X-Rspamd-Server: rspamd1
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:97 as permitted sender) smtp.mailfrom=jgross@suse.com;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine)
X-Rspamd-Queue-Id: 2E23C2199D
X-Spam-Flag: NO
X-Spam-Level: ******************
X-Spamd-Result: default: False [18.43 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[10];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 BAYES_HAM(-3.00)[100.00%];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_SPAM_SHORT(2.26)[0.754];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 NEURAL_SPAM_LONG(1.16)[0.333];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------TUMc0ew5PfFhICRb7KYBDADD
Content-Type: multipart/mixed; boundary="------------eVh1H1TSxLKpE2f6t4ec1xbG";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
 xen-devel@lists.xenproject.org
Cc: javi.merino@cloud.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>, George Dunlap <george.dunlap@citrix.com>,
 Julien Grall <julien@xen.org>, Stefano Stabellini <sstabellini@kernel.org>
Message-ID: <75e85d00-02ad-43c8-930f-cfbf91235652@suse.com>
Subject: Re: [PATCH v3 06/13] xen/spinlock: add
 rspin_[un]lock_irq[save|restore]()
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-7-jgross@suse.com>
 <6f712c33-fcfe-42e1-a31d-53e0c7ffea44@cloud.com>
In-Reply-To: <6f712c33-fcfe-42e1-a31d-53e0c7ffea44@cloud.com>

--------------eVh1H1TSxLKpE2f6t4ec1xbG
Content-Type: multipart/mixed; boundary="------------txhSLXUJpxTuv68XQ780d0o8"

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

T24gMjQuMTEuMjMgMjA6MjMsIEFsZWphbmRybyBWYWxsZWpvIHdyb3RlOg0KPiBPbiAyMC8x
MS8yMDIzIDExOjM4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gSW5zdGVhZCBvZiBzcGVj
aWFsIGNhc2luZyByc3Bpbl9sb2NrX2lycXNhdmUoKSBhbmQNCj4+IHJzcGluX3VubG9ja19p
cnFyZXN0b3JlKCkgZm9yIHRoZSBjb25zb2xlIGxvY2ssIGFkZCB0aG9zZSBmdW5jdGlvbnMN
Cj4+IHRvIHNwaW5sb2NrIGhhbmRsaW5nIGFuZCB1c2UgdGhlbSB3aGVyZSBuZWVkZWQuDQo+
Pg0KPj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1c2UuY29tPg0K
Pj4gLS0tDQo+PiBWMjoNCj4+IC0gbmV3IHBhdGNoDQo+PiAtLS0NCj4+IMKgIHhlbi9hcmNo
L3g4Ni90cmFwcy5jwqDCoMKgwqDCoMKgIHwgMTQgKysrKysrKystLS0tLS0NCj4+IMKgIHhl
bi9jb21tb24vc3BpbmxvY2suY8KgwqDCoMKgwqAgfCAxNiArKysrKysrKysrKysrKysrDQo+
PiDCoCB4ZW4vZHJpdmVycy9jaGFyL2NvbnNvbGUuYyB8IDE4ICstLS0tLS0tLS0tLS0tLS0t
LQ0KPj4gwqAgeGVuL2luY2x1ZGUveGVuL2NvbnNvbGUuaMKgIHzCoCA1ICsrKy0tDQo+PiDC
oCB4ZW4vaW5jbHVkZS94ZW4vc3BpbmxvY2suaCB8wqAgNyArKysrKysrDQo+PiDCoCA1IGZp
bGVzIGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQ0KPj4NCj4+
IGRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvdHJhcHMuYyBiL3hlbi9hcmNoL3g4Ni90cmFw
cy5jDQo+PiBpbmRleCBlMTM1NmY2OTZhLi5mNzI3NjllNzliIDEwMDY0NA0KPj4gLS0tIGEv
eGVuL2FyY2gveDg2L3RyYXBzLmMNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni90cmFwcy5jDQo+
PiBAQCAtNjQ3LDEzICs2NDcsMTUgQEAgdm9pZCBzaG93X3N0YWNrX292ZXJmbG93KHVuc2ln
bmVkIGludCBjcHUsIGNvbnN0IHN0cnVjdCANCj4+IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+
PiDCoCB2b2lkIHNob3dfZXhlY3V0aW9uX3N0YXRlKGNvbnN0IHN0cnVjdCBjcHVfdXNlcl9y
ZWdzICpyZWdzKQ0KPj4gwqAgew0KPj4gwqDCoMKgwqDCoCAvKiBQcmV2ZW50IGludGVybGVh
dmluZyBvZiBvdXRwdXQuICovDQo+PiAtwqDCoMKgIHVuc2lnbmVkIGxvbmcgZmxhZ3MgPSBj
b25zb2xlX2xvY2tfcmVjdXJzaXZlX2lycXNhdmUoKTsNCj4+ICvCoMKgwqAgdW5zaWduZWQg
bG9uZyBmbGFnczsNCj4+ICsNCj4+ICvCoMKgwqAgcnNwaW5fbG9ja19pcnFzYXZlKCZjb25z
b2xlX2xvY2ssIGZsYWdzKTsNCj4gDQo+IFRoaXMgZmVlbHMgYSBiaXQgd2VpcmQgYmVjYXVz
ZSByc3Bpbl9sb2NrX2lycXNhdmUoKSBiZWluZyBsb3dlcmNhc2UNCj4gaGludHMgdGhhdCBp
dCdzIGEgZWl0aGVyIGEgZnVuY3Rpb24gb3IgYmVoYXZlcyBsaWtlIG9uZS4gRm9yIHRoYXQg
aXQNCj4gc2hvdWxkIHRha2UgJmZsYWdzIGluc3RlYWQuDQoNCkkgZG9uJ3QgdGhpbmsgc28u
IFRoaXMgaXMgY29tbW9uIGJlaGF2aW9yIHdpdGggdGhlIExpbnV4IGtlcm5lbCwgYW5kIEkN
CnRoaW5rIHdlIHNob3VsZCBrZWVwIGl0LiBFc3BlY2lhbGx5IGFzIEkgYmVsaWV2ZSByc3Bp
bl9sb2NrX2lycXNhdmUoKQ0KYW5kIHNwaW5fbG9ja19pcnFzYXZlKCkgc2hvdWxkIGhhdmUg
YSBzaW1pbGFyIGludGVyZmFjZS4gT3Igd291bGQgeW91IHdhbnQNCnVzIHRvIGNoYW5nZSBt
b3JlIHRoYW4gMjUwIGNhbGwgc2l0ZXMgb2Ygc3Bpbl9sb2NrX2lycXNhdmUoKT8NCg0KPiAN
Cj4+IMKgwqDCoMKgwqAgc2hvd19yZWdpc3RlcnMocmVncyk7DQo+PiDCoMKgwqDCoMKgIHNo
b3dfY29kZShyZWdzKTsNCj4+IMKgwqDCoMKgwqAgc2hvd19zdGFjayhyZWdzKTsNCj4+IC3C
oMKgwqAgY29uc29sZV91bmxvY2tfcmVjdXJzaXZlX2lycXJlc3RvcmUoZmxhZ3MpOw0KPj4g
K8KgwqDCoCByc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmY29uc29sZV9sb2NrLCBmbGFncyk7
DQo+PiDCoCB9DQo+PiDCoCB2b2lkIGNmX2NoZWNrIHNob3dfZXhlY3V0aW9uX3N0YXRlX25v
bmNvbnN0KHN0cnVjdCBjcHVfdXNlcl9yZWdzICpyZWdzKQ0KPj4gQEAgLTY2Myw3ICs2NjUs
NyBAQCB2b2lkIGNmX2NoZWNrIHNob3dfZXhlY3V0aW9uX3N0YXRlX25vbmNvbnN0KHN0cnVj
dCANCj4+IGNwdV91c2VyX3JlZ3MgKnJlZ3MpDQo+PiDCoCB2b2lkIHZjcHVfc2hvd19leGVj
dXRpb25fc3RhdGUoc3RydWN0IHZjcHUgKnYpDQo+PiDCoCB7DQo+PiAtwqDCoMKgIHVuc2ln
bmVkIGxvbmcgZmxhZ3MgPSAwOw0KPj4gK8KgwqDCoCB1bnNpZ25lZCBsb25nIGZsYWdzOw0K
Pj4gwqDCoMKgwqDCoCBpZiAoIHRlc3RfYml0KF9WUEZfZG93biwgJnYtPnBhdXNlX2ZsYWdz
KSApDQo+PiDCoMKgwqDCoMKgIHsNCj4+IEBAIC02OTgsNyArNzAwLDcgQEAgdm9pZCB2Y3B1
X3Nob3dfZXhlY3V0aW9uX3N0YXRlKHN0cnVjdCB2Y3B1ICp2KQ0KPj4gwqAgI2VuZGlmDQo+
PiDCoMKgwqDCoMKgIC8qIFByZXZlbnQgaW50ZXJsZWF2aW5nIG9mIG91dHB1dC4gKi8NCj4+
IC3CoMKgwqAgZmxhZ3MgPSBjb25zb2xlX2xvY2tfcmVjdXJzaXZlX2lycXNhdmUoKTsNCj4+
ICvCoMKgwqAgcnNwaW5fbG9ja19pcnFzYXZlKCZjb25zb2xlX2xvY2ssIGZsYWdzKTsNCj4+
IMKgwqDCoMKgwqAgdmNwdV9zaG93X3JlZ2lzdGVycyh2KTsNCj4+IEBAIC03MDgsNyArNzEw
LDcgQEAgdm9pZCB2Y3B1X3Nob3dfZXhlY3V0aW9uX3N0YXRlKHN0cnVjdCB2Y3B1ICp2KQ0K
Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgKiBTdG9wIGludGVybGVhdmluZyBwcmV2ZW50aW9u
OiBUaGUgbmVjZXNzYXJ5IFAyTSBsb29rdXBzIGludm9sdmUNCj4+IMKgwqDCoMKgwqDCoMKg
wqDCoMKgICogbG9ja2luZywgd2hpY2ggaGFzIHRvIG9jY3VyIHdpdGggSVJRcyBlbmFibGVk
Lg0KPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqAgKi8NCj4+IC3CoMKgwqDCoMKgwqDCoCBjb25z
b2xlX3VubG9ja19yZWN1cnNpdmVfaXJxcmVzdG9yZShmbGFncyk7DQo+PiArwqDCoMKgwqDC
oMKgwqAgcnNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmNvbnNvbGVfbG9jaywgZmxhZ3MpOw0K
Pj4gwqDCoMKgwqDCoMKgwqDCoMKgIHNob3dfaHZtX3N0YWNrKHYsICZ2LT5hcmNoLnVzZXJf
cmVncyk7DQo+PiDCoMKgwqDCoMKgIH0NCj4+IEBAIC03MTcsNyArNzE5LDcgQEAgdm9pZCB2
Y3B1X3Nob3dfZXhlY3V0aW9uX3N0YXRlKHN0cnVjdCB2Y3B1ICp2KQ0KPj4gwqDCoMKgwqDC
oMKgwqDCoMKgIGlmICggZ3Vlc3Rfa2VybmVsX21vZGUodiwgJnYtPmFyY2gudXNlcl9yZWdz
KSApDQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzaG93X2d1ZXN0X3N0YWNrKHYs
ICZ2LT5hcmNoLnVzZXJfcmVncyk7DQo+PiAtwqDCoMKgwqDCoMKgwqAgY29uc29sZV91bmxv
Y2tfcmVjdXJzaXZlX2lycXJlc3RvcmUoZmxhZ3MpOw0KPj4gK8KgwqDCoMKgwqDCoMKgIHJz
cGluX3VubG9ja19pcnFyZXN0b3JlKCZjb25zb2xlX2xvY2ssIGZsYWdzKTsNCj4+IMKgwqDC
oMKgwqAgfQ0KPj4gwqAgI2lmZGVmIENPTkZJR19IVk0NCj4+IGRpZmYgLS1naXQgYS94ZW4v
Y29tbW9uL3NwaW5sb2NrLmMgYi94ZW4vY29tbW9uL3NwaW5sb2NrLmMNCj4+IGluZGV4IDI2
YzY2N2QzY2MuLjE3NzE2ZmM0ZWIgMTAwNjQ0DQo+PiAtLS0gYS94ZW4vY29tbW9uL3NwaW5s
b2NrLmMNCj4+ICsrKyBiL3hlbi9jb21tb24vc3BpbmxvY2suYw0KPj4gQEAgLTQ3NSw2ICs0
NzUsMTYgQEAgdm9pZCByc3Bpbl9sb2NrKHJzcGlubG9ja190ICpsb2NrKQ0KPj4gwqDCoMKg
wqDCoCBsb2NrLT5yZWN1cnNlX2NudCsrOw0KPj4gwqAgfQ0KPj4gK3Vuc2lnbmVkIGxvbmcg
X19yc3Bpbl9sb2NrX2lycXNhdmUocnNwaW5sb2NrX3QgKmxvY2spDQo+PiArew0KPj4gK8Kg
wqDCoCB1bnNpZ25lZCBsb25nIGZsYWdzOw0KPj4gKw0KPj4gK8KgwqDCoCBsb2NhbF9pcnFf
c2F2ZShmbGFncyk7DQo+PiArwqDCoMKgIHJzcGluX2xvY2sobG9jayk7DQo+PiArDQo+PiAr
wqDCoMKgIHJldHVybiBmbGFnczsNCj4+ICt9DQo+PiArDQo+PiDCoCB2b2lkIHJzcGluX3Vu
bG9jayhyc3BpbmxvY2tfdCAqbG9jaykNCj4+IMKgIHsNCj4+IMKgwqDCoMKgwqAgaWYgKCBs
aWtlbHkoLS1sb2NrLT5yZWN1cnNlX2NudCA9PSAwKSApDQo+PiBAQCAtNDg0LDYgKzQ5NCwx
MiBAQCB2b2lkIHJzcGluX3VubG9jayhyc3BpbmxvY2tfdCAqbG9jaykNCj4+IMKgwqDCoMKg
wqAgfQ0KPj4gwqAgfQ0KPj4gK3ZvaWQgcnNwaW5fdW5sb2NrX2lycXJlc3RvcmUocnNwaW5s
b2NrX3QgKmxvY2ssIHVuc2lnbmVkIGxvbmcgZmxhZ3MpDQo+PiArew0KPj4gK8KgwqDCoCBy
c3Bpbl91bmxvY2sobG9jayk7DQo+PiArwqDCoMKgIGxvY2FsX2lycV9yZXN0b3JlKGZsYWdz
KTsNCj4+ICt9DQo+PiArDQo+PiDCoCAjaWZkZWYgQ09ORklHX0RFQlVHX0xPQ0tfUFJPRklM
RQ0KPj4gwqAgc3RydWN0IGxvY2tfcHJvZmlsZV9hbmMgew0KPj4gZGlmZiAtLWdpdCBhL3hl
bi9kcml2ZXJzL2NoYXIvY29uc29sZS5jIGIveGVuL2RyaXZlcnMvY2hhci9jb25zb2xlLmMN
Cj4+IGluZGV4IDM2OWIyZjkwNzcuLmNjNzQzYjY3ZWMgMTAwNjQ0DQo+PiAtLS0gYS94ZW4v
ZHJpdmVycy9jaGFyL2NvbnNvbGUuYw0KPj4gKysrIGIveGVuL2RyaXZlcnMvY2hhci9jb25z
b2xlLmMNCj4+IEBAIC0xMjAsNyArMTIwLDcgQEAgc3RhdGljIGludCBfX3JlYWRfbW9zdGx5
IHNlcmNvbl9oYW5kbGUgPSAtMTsNCj4+IMKgIGludDhfdCBfX3JlYWRfbW9zdGx5IG9wdF9j
b25zb2xlX3hlbjsgLyogY29uc29sZT14ZW4gKi8NCj4+IMKgICNlbmRpZg0KPj4gLXN0YXRp
YyBERUZJTkVfUlNQSU5MT0NLKGNvbnNvbGVfbG9jayk7DQo+PiArREVGSU5FX1JTUElOTE9D
Syhjb25zb2xlX2xvY2spOw0KPj4gwqAgLyoNCj4+IMKgwqAgKiBUbyBjb250cm9sIHRoZSBh
bW91bnQgb2YgcHJpbnRpbmcsIHRocmVzaG9sZHMgYXJlIGFkZGVkLg0KPj4gQEAgLTExNTgs
MjIgKzExNTgsNiBAQCB2b2lkIGNvbnNvbGVfZW5kX2xvZ19ldmVyeXRoaW5nKHZvaWQpDQo+
PiDCoMKgwqDCoMKgIGF0b21pY19kZWMoJnByaW50X2V2ZXJ5dGhpbmcpOw0KPj4gwqAgfQ0K
Pj4gLXVuc2lnbmVkIGxvbmcgY29uc29sZV9sb2NrX3JlY3Vyc2l2ZV9pcnFzYXZlKHZvaWQp
DQo+PiAtew0KPj4gLcKgwqDCoCB1bnNpZ25lZCBsb25nIGZsYWdzOw0KPj4gLQ0KPj4gLcKg
wqDCoCBsb2NhbF9pcnFfc2F2ZShmbGFncyk7DQo+PiAtwqDCoMKgIHJzcGluX2xvY2soJmNv
bnNvbGVfbG9jayk7DQo+PiAtDQo+PiAtwqDCoMKgIHJldHVybiBmbGFnczsNCj4+IC19DQo+
PiAtDQo+PiAtdm9pZCBjb25zb2xlX3VubG9ja19yZWN1cnNpdmVfaXJxcmVzdG9yZSh1bnNp
Z25lZCBsb25nIGZsYWdzKQ0KPj4gLXsNCj4+IC3CoMKgwqAgcnNwaW5fdW5sb2NrKCZjb25z
b2xlX2xvY2spOw0KPj4gLcKgwqDCoCBsb2NhbF9pcnFfcmVzdG9yZShmbGFncyk7DQo+PiAt
fQ0KPj4gLQ0KPj4gwqAgdm9pZCBjb25zb2xlX2ZvcmNlX3VubG9jayh2b2lkKQ0KPj4gwqAg
ew0KPj4gwqDCoMKgwqDCoCB3YXRjaGRvZ19kaXNhYmxlKCk7DQo+PiBkaWZmIC0tZ2l0IGEv
eGVuL2luY2x1ZGUveGVuL2NvbnNvbGUuaCBiL3hlbi9pbmNsdWRlL3hlbi9jb25zb2xlLmgN
Cj4+IGluZGV4IGFiNWMzMGMwZGEuLmRmZjAwOTZiMjcgMTAwNjQ0DQo+PiAtLS0gYS94ZW4v
aW5jbHVkZS94ZW4vY29uc29sZS5oDQo+PiArKysgYi94ZW4vaW5jbHVkZS94ZW4vY29uc29s
ZS5oDQo+PiBAQCAtOCw4ICs4LDExIEBADQo+PiDCoCAjZGVmaW5lIF9fQ09OU09MRV9IX18N
Cj4+IMKgICNpbmNsdWRlIDx4ZW4vaW50dHlwZXMuaD4NCj4+ICsjaW5jbHVkZSA8eGVuL3Nw
aW5sb2NrLmg+DQo+PiDCoCAjaW5jbHVkZSA8cHVibGljL3hlbi5oPg0KPj4gK2V4dGVybiBy
c3BpbmxvY2tfdCBjb25zb2xlX2xvY2s7DQo+PiArDQo+PiDCoCBzdHJ1Y3QgeGVuX3N5c2N0
bF9yZWFkY29uc29sZTsNCj4+IMKgIGxvbmcgcmVhZF9jb25zb2xlX3Jpbmcoc3RydWN0IHhl
bl9zeXNjdGxfcmVhZGNvbnNvbGUgKm9wKTsNCj4+IEBAIC0yMCw4ICsyMyw2IEBAIHZvaWQg
Y29uc29sZV9pbml0X3Bvc3RpcnEodm9pZCk7DQo+PiDCoCB2b2lkIGNvbnNvbGVfZW5kYm9v
dCh2b2lkKTsNCj4+IMKgIGludCBjb25zb2xlX2hhcyhjb25zdCBjaGFyICpkZXZpY2UpOw0K
Pj4gLXVuc2lnbmVkIGxvbmcgY29uc29sZV9sb2NrX3JlY3Vyc2l2ZV9pcnFzYXZlKHZvaWQp
Ow0KPj4gLXZvaWQgY29uc29sZV91bmxvY2tfcmVjdXJzaXZlX2lycXJlc3RvcmUodW5zaWdu
ZWQgbG9uZyBmbGFncyk7DQo+PiDCoCB2b2lkIGNvbnNvbGVfZm9yY2VfdW5sb2NrKHZvaWQp
Ow0KPj4gwqAgdm9pZCBjb25zb2xlX3N0YXJ0X3N5bmModm9pZCk7DQo+PiBkaWZmIC0tZ2l0
IGEveGVuL2luY2x1ZGUveGVuL3NwaW5sb2NrLmggYi94ZW4vaW5jbHVkZS94ZW4vc3Bpbmxv
Y2suaA0KPj4gaW5kZXggYzk5ZWU1MjQ1OC4uNTNmMGY3MmFjNCAxMDA2NDQNCj4+IC0tLSBh
L3hlbi9pbmNsdWRlL3hlbi9zcGlubG9jay5oDQo+PiArKysgYi94ZW4vaW5jbHVkZS94ZW4v
c3BpbmxvY2suaA0KPj4gQEAgLTIxOCw3ICsyMTgsMTQgQEAgdm9pZCBfc3Bpbl9iYXJyaWVy
KHNwaW5sb2NrX3QgKmxvY2spOw0KPj4gwqDCoCAqLw0KPj4gwqAgaW50IHJzcGluX3RyeWxv
Y2socnNwaW5sb2NrX3QgKmxvY2spOw0KPj4gwqAgdm9pZCByc3Bpbl9sb2NrKHJzcGlubG9j
a190ICpsb2NrKTsNCj4+ICsjZGVmaW5lIHJzcGluX2xvY2tfaXJxc2F2ZShsLCBmKcKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgIFwNCj4+ICvCoMKgwqAgKHvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgXA0KPj4gK8KgwqDCoMKgwqDCoMKgIEJVSUxE
X0JVR19PTihzaXplb2YoZikgIT0gc2l6ZW9mKHVuc2lnbmVkIGxvbmcpKTvCoMKgwqDCoMKg
wqAgXA0KPj4gK8KgwqDCoMKgwqDCoMKgICgoZikgPSBfX3JzcGluX2xvY2tfaXJxc2F2ZShs
KSk7wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBcDQo+
PiArwqDCoMKgIH0pDQo+IA0KPiBJZiBmIGlzICZmbGFncywgdGhlbiBzL2YvKihmKS8gd291
bGQgYmUgbmVlZGVkIGluIHRoZXNlIDIgY2FzZXMuDQo+IA0KPiBPbiBvdGhlciBtYXR0ZXJz
IGlmIHdlIGhhZCAtV2NvbnZlcnNpb24gdHVybmVkIG9uIGJ5IGRlZmF1bHQgdGhhdA0KPiBC
VUlMRF9CVUdfT04oKSB3b3VsZG4ndCBiZSBuZWVkZWQuIE5vdCB0aGF0IHlvdSBjYW4gZG8g
aXQgKEknbSBzdXJlIHRoZSBjb2RlYmFzZSANCj4gd291bGQgZXhwbG9kZSBldmVyeXdoZXJl
IGlmIHdlIHN3aXRjaGVkIGl0IG9uKSwgYnV0IG1pZ2h0IGJlDQo+IHNvbWV0aGluZyB0byBj
b25zaWRlciBpbiB0aGUgZnV0dXJlLg0KDQpBZ2FpbiwgdGhpcyBpcyBsaWtlIExpbnV4IGtl
cm5lbC4gQW5kIEkgZG9uJ3QgdGhpbmsgd2Ugd2FudCBleHBsaWNpdCBjYXN0cw0KZXZlcnl3
aGVyZSB3aGVuIGUuZy4gbW92aW5nIHZhbHVlcyBiZXR3ZWVuIGZpeGVkIHNpemVkIGZpZWxk
cyBhbmQgc3RhbmRhcmQNCmludGVnZXIgdHlwZWQgZmllbGRzLg0KDQoNCkp1ZXJnZW4NCg==

--------------txhSLXUJpxTuv68XQ780d0o8
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------txhSLXUJpxTuv68XQ780d0o8--

--------------eVh1H1TSxLKpE2f6t4ec1xbG--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVl6hwFAwAAAAAACgkQsN6d1ii/Ey/x
cAf+LUlRgYOpOhi1gmJkdclYP27OC/s8XIERzX4Mk04M5Bgqh9A126/I8JuIvHduj2HZ/sT2m+Km
ULawBsX32nxBDSQWyhXmq5bdzJs4VJVep8IfaQRtFjYFpG/2TqPQF2sPUvBBfdceeBAM4yVu7hIH
Dae9dKp8VW1S0eVE5vy2VVIrMVO20F+NCIlvf3aMA/xjCPlqmWzOd5JKqJ3ATusACq27qg24+55J
F7rXcvA9zvq3yCSA/b8xfs6pgH4yqDCm9eLFqmja/NvMhm3ZmKQsGgK0fnjD800am5afQRkk5Rk2
nJ5nYj+aWfRIDqxSkzrji6ub48Ywbmsvex11oAaHQQ==
=WUZS
-----END PGP SIGNATURE-----

--------------TUMc0ew5PfFhICRb7KYBDADD--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:28:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:28:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643168.1003109 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7y8d-000480-2d; Tue, 28 Nov 2023 13:28:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643168.1003109; Tue, 28 Nov 2023 13:28: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 1r7y8d-00047t-00; Tue, 28 Nov 2023 13:28:31 +0000
Received: by outflank-mailman (input) for mailman id 643168;
 Tue, 28 Nov 2023 13:28: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=C3UE=HJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7y8c-00047n-9F
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:28:30 +0000
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com
 [2a00:1450:4864:20::229])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0459e259-8df2-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 14:28:29 +0100 (CET)
Received: by mail-lj1-x229.google.com with SMTP id
 38308e7fff4ca-2c9b7bd6fffso5269641fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 05:28:29 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 16-20020a2e1450000000b002c8872c9d53sm1842529lju.8.2023.11.28.05.28.27
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 05:28:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0459e259-8df2-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701178108; x=1701782908; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=0dkruUYMz1Go2XKY5BGJdjB2yV6sYl0gEVmAWd3+4eY=;
        b=YqIkV6DYG4syN2ZRIa9BuUlQY//z1pw/vjfiq4yC2Zx2lFjpMhIcGXi9n3XZc+T/XM
         57pTFlWu0shDFxDv2uNrPrEROBn7mbAlmKrSaykhQBzSKwxjnFfIOhQIKtOmbM6pQnDS
         pKDh6u3l3I56Pj11zTJ5hTFc6GoDh3KC1DxPKvNx2/h7iVzsz72ZmRVUZ9GSOYxl/I/u
         zByaas0JDR6aE9VA4NYlA6v+DxsdjFoBoA03s0qeaBnFvLM0x+36yw/AOkOiwWYZhHXv
         vM37CdvDguNntUleKrdEumg1O0NF/bJ7zp0q3ZWDVlDBAFk0/21SUPBf90DOJIDpNCId
         mDTQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701178108; x=1701782908;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0dkruUYMz1Go2XKY5BGJdjB2yV6sYl0gEVmAWd3+4eY=;
        b=BhmZf+sJ5r0IfqibRWj7Ob6NKPDVIKfmxf5qIE23v01W6nzg4XKJlsht93ovFGrPbc
         rBOzoz+kR0YksyX8ZKA5PRxHnQhWTtXrMSreBXOcCH1xasMnKn1MS3HzrxwDH967IGEF
         Tdq2fG6AEsuJ3hSGK8RE1Y/5ohT39DFfq0s5R+tAdwPuL7CANkbdgQXD8wuszc81tjDf
         bdrPx/H817T3o3JfBszA2QXiUZi9fi2VzywEHmRH7RN3wcGI9Noi9WgSS0XWFLH171wg
         SYHKn8tCLPGvuBN2io2vY6npr3GdqHVk++OEwWwgb+WMyYsWIBEVqU09ZJlnfXtmJscW
         uGvg==
X-Gm-Message-State: AOJu0YyJ77LEjAOnoJAvFjCA//XUahBnGRqSAwLlx1rujWCpclw8NAIX
	AD1O9CdZrevXdeKLFPyFT+f+3AWD0q1Heg==
X-Google-Smtp-Source: AGHT+IG7YVV/N59R58+lAFyo4Qnu8/iJSllGM+HwQ5pjOnvrHZ3NlJontOpIHXqduYGy/iot+BPQCA==
X-Received: by 2002:a2e:9218:0:b0:2c9:afeb:79ad with SMTP id k24-20020a2e9218000000b002c9afeb79admr1393579ljg.25.1701178108286;
        Tue, 28 Nov 2023 05:28:28 -0800 (PST)
Message-ID: <4489087a5daed388f23f7a5138ea031be2bb15f9.camel@gmail.com>
Subject: Re: [PATCH v4 13/14] xen: ifdef inclusion of <asm/grant_table.h> in
 <xen/grant_table.h>
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, xen-devel@lists.xenproject.org
Date: Tue, 28 Nov 2023 15:28:27 +0200
In-Reply-To: <6e486d72-d223-46a3-b52d-aaad2fc861ea@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <fdff8da7431ac6e8e44f08c3f95c897be23ec745.1701093907.git.oleksii.kurochko@gmail.com>
	 <21ca8f55-d720-489f-a2d0-59a1f78d3656@suse.com>
	 <6543c6aec8f69878e37912924b6d6208136a02af.camel@gmail.com>
	 <405c2d66-a6f4-4bbb-ada5-2ac49c8c9744@suse.com>
	 <195a50316efde86113f6f5df269c754a90490c57.camel@gmail.com>
	 <b81607e0-409f-4805-a4ee-8be8fdd959b8@suse.com>
	 <893de5be9743dd4fc908dfbbfd1e7dc890f74b07.camel@gmail.com>
	 <6e486d72-d223-46a3-b52d-aaad2fc861ea@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Tue, 2023-11-28 at 13:53 +0100, Jan Beulich wrote:
> On 28.11.2023 12:49, Oleksii wrote:
> > On Tue, 2023-11-28 at 10:58 +0100, Jan Beulich wrote:
> > > On 28.11.2023 10:28, Oleksii wrote:
> > > > On Tue, 2023-11-28 at 08:57 +0100, Jan Beulich wrote:
> > > > > On 27.11.2023 20:38, Oleksii wrote:
> > > > > > On Mon, 2023-11-27 at 15:41 +0100, Jan Beulich wrote:
> > > > > > > On 27.11.2023 15:13, Oleksii Kurochko wrote:
> > > > > > > > --- a/xen/arch/ppc/include/asm/grant_table.h
> > > > > > > > +++ /dev/null
> > > > > > > > @@ -1,5 +0,0 @@
> > > > > > > > -/* SPDX-License-Identifier: GPL-2.0-only */
> > > > > > > > -#ifndef __ASM_PPC_GRANT_TABLE_H__
> > > > > > > > -#define __ASM_PPC_GRANT_TABLE_H__
> > > > > > > > -
> > > > > > > > -#endif /* __ASM_PPC_GRANT_TABLE_H__ */
> > > > > > >=20
> > > > > > > Removing this header would be correct only if GRANT_TABLE
> > > > > > > had
> > > > > > > a
> > > > > > > "depends on
> > > > > > > !PPC", I'm afraid. Recall that the earlier randconfig
> > > > > > > adjustment
> > > > > > > in
> > > > > > > CI was
> > > > > > > actually requested to be undone, at which point what an
> > > > > > > arch's
> > > > > > > defconfig
> > > > > > > says isn't necessarily what a randconfig should use.
> > > > > > We can do depends on !PPC && !RISCV but shouldn't it be
> > > > > > enough
> > > > > > only
> > > > > > to
> > > > > > turn CONFIG_GRANT_TABLE off in defconfig and set
> > > > > > CONFIG_GRANT_TABLE=3Dn
> > > > > > in EXTRA_XEN_CONFIG?
> > > > >=20
> > > > > That _might_ be sufficient for CI, but we shouldn't take CI
> > > > > as
> > > > > the
> > > > > only
> > > > > thing in the world. Personally I consider any kind of
> > > > > overriding
> > > > > for,
> > > > > in particular, randconfig at bets bogus. Whatever may not be
> > > > > selected
> > > > > (or must be selected) should be arranged for by Kconfig files
> > > > > themselves.
> > > > > That said, there may be _rare_ exceptions. But what PPC's and
> > > > > RISC-
> > > > > V's
> > > > > defconfig-s have right now is more than "rare" imo.
> > > > >=20
> > > > > > Some time ago I also tried to redefine "Config GRANT_TABLE"
> > > > > > in
> > > > > > arch-
> > > > > > specific Kconfig + defconfig + EXTRA_XEN_CONFIG and it
> > > > > > works
> > > > > > for
> > > > > > me.
> > > > > > Could it be solution instead of "depends on..." ?
> > > > >=20
> > > > > Why would we want to re-define an setting? There wants to be
> > > > > one
> > > > > single
> > > > > place where a common option is defined. Or maybe I don't
> > > > > understand
> > > > > what you're suggesting ...
> > > > I just thought this change is temporary because grant_table.h
> > > > will
> > > > be
> > > > introduced later or earlier, and it will be needed to remove
> > > > "depends
> > > > on !PPC && !RISCV". And not to litter common KConfig with the
> > > > change
> > > > which will be removed, it will be better to redefine it in
> > > > arch-
> > > > specific Kconfig with default n.
> > >=20
> > > Right. But if it's indeed temporary, what's the point of this
> > > patch?
> > > The entire series is (supposed to be) to improve code structure
> > > for
> > > longer term purposes. If a non-generic grant_table.h is going to
> > > appear for PPC and RISC-V, I don't see why the present dummy
> > > would
> > > need removing. That's only useful if an arch can be expected to
> > > live
> > > with GRANT_TABLE=3Dn even when otherwise feature-complete, and at
> > > that
> > > point modifying the Kconfig dependencies would (imo) be
> > > appropriate.
> > I agree. Let's proceed by adding the dependency in the KConfig
> > file.
> >=20
> > So which one option will be better:
> > 1. depends on !PPC && !RISCV
> > 2. depends on ARM || X86
>=20
> Agreeing and then making this suggestion contradicts one another.
> Unless
> the long-term plan is for PPC and RISC-V to not use grant tables.
On RISC-V side, I can run guests in dom0less and still don't use
grant_tables. And I am not sure when I'll start to implement it. Only
one thing I defined in grant_table.h is:
#define gnttab_dom0_frames()                                         =20
\
    min_t(unsigned int, opt_max_grant_frames, PFN_DOWN(_etext -
_stext))

But I think it can moved somewhere or dropped as it was defined because
of:

void __init create_dom0(void)
{
    struct domain *dom0;
    struct xen_domctl_createdomain dom0_cfg =3D {
        .flags =3D XEN_DOMCTL_CDF_hvm | XEN_DOMCTL_CDF_hap,
        .max_evtchn_port =3D -1,
        .max_grant_frames =3D gnttab_dom0_frames(),
        .max_maptrack_frames =3D -1,
        .grant_opts =3D XEN_DOMCTL_GRANT_version(opt_gnttab_max_version),
    };
...

Which was copied from Arm.

Taking into account that opt_max_grant_frames is 0 in case when
CONFIG_GRANT_TABLE=3Dn then ".max_grant_frames =3D" will be 0 in case of
!CONFIG_GRANT_TABLE so for time being the macros gnttab_dom0_frames can
be dropped until CONFIG_GRANT_TABLE will be introduced.

But I am not aware of PPC plans of usage this config.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:36:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:36:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643174.1003119 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7yG5-0006dg-SB; Tue, 28 Nov 2023 13:36:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643174.1003119; Tue, 28 Nov 2023 13:36: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 1r7yG5-0006dZ-PS; Tue, 28 Nov 2023 13:36:13 +0000
Received: by outflank-mailman (input) for mailman id 643174;
 Tue, 28 Nov 2023 13:36: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 1r7yG4-0006dP-Ug; Tue, 28 Nov 2023 13:36: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 1r7yG4-0000iu-MV; Tue, 28 Nov 2023 13:36: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 1r7yG4-0000oT-D5; Tue, 28 Nov 2023 13:36:12 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7yG4-00070a-CW; Tue, 28 Nov 2023 13:36: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=ePDj2lRKJD1t2ucRXxTNQdsU0Wv0msxwGf2TL7jPuOI=; b=Ie+OM0v6MVjc0Smrq1TAHeg2iA
	1M+4hEzhTSAmE6g/LQY/JvuEOfYQqORmJ3EyL/dulUZX3KTtQobe1K85chw2uO+hRhl5GfSzEi0wL
	1GScbHNULHvEXFD7iJYDPnEhpslu3q1Lji+ZhkCFjVrmwWsRnILFsLv5tMySlWOxXZYY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183890-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183890: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=d451bba399687b4102459db5a447fc9abb8fdee1
X-Osstest-Versions-That:
    ovmf=0e9ce9146a6dc50a35488e3a4a7a2a4bbaf1eb1c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 13:36:12 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 d451bba399687b4102459db5a447fc9abb8fdee1
baseline version:
 ovmf                 0e9ce9146a6dc50a35488e3a4a7a2a4bbaf1eb1c

Last test of basis   183879  2023-11-28 03:21:56 Z    0 days
Testing same since   183890  2023-11-28 10:41:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael Kubacki <michael.kubacki@microsoft.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
   0e9ce9146a..d451bba399  d451bba399687b4102459db5a447fc9abb8fdee1 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:37:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:37:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643178.1003129 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7yHC-0007Yt-5c; Tue, 28 Nov 2023 13:37:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643178.1003129; Tue, 28 Nov 2023 13: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 1r7yHC-0007Ym-2W; Tue, 28 Nov 2023 13:37:22 +0000
Received: by outflank-mailman (input) for mailman id 643178;
 Tue, 28 Nov 2023 13:37: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7yHB-0007Ye-1z
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:37:21 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2059.outbound.protection.outlook.com [40.107.7.59])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 40c4d65e-8df3-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 14:37:20 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB9PR04MB8107.eurprd04.prod.outlook.com (2603:10a6:10:243::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Tue, 28 Nov
 2023 13:36:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 13: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>
X-Inumbo-ID: 40c4d65e-8df3-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=LubRkwu9Ril8fhnhhH3q0m4lQb9lVJOCytZ8wrz04LUVA6xdo2sjqskzRK5h+5sbe8Mt6uSX2+aduVD746x/U3bZdOxTh8cUlKVhwDXzTGSNcAKOQoc4vySavP6Pk5xNsOliQuzbx34fTDLQzZz5bLGGGBwbmrXvE3KXcJz53lx+jheHqy5G3+lq/VjtGHEvrhipRhGQAlMzH6Fe/f3DfAIPQ05ynHdlbK9vYwwaN8+bA/Jp6sCGdF5GUZ5iKZs/JmID1Lm8GE4GcpSrdQqIgfrsWOarxAeYgoA5EkZq3HUrhw1g18WD+5HojRzb4wrsud1HrkspEpIrb1zGa3peNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OY86zBBA9t4ojkkGr4da68pOgg67kFaqr6QjZ1cRupw=;
 b=G4k6gDBosZfXgl6q2RgMAMiwTElFIco3qyNx44lndfNVcZcTu9Vy3VmntBF67skMeZnNwWQHRPnIn/32v4lAJz4CYL2t6yMNp03GUQA1F/S7zuqFS51V+ug2+fyL+ZXmSF5AkdkuM7jUgZ8XdqudFRmfT/qRe0sTx5oF1qY9/T60JtxHn58LTqAl9H6nThToKV2tkyda9jaQBeFcUvld6JIOZW+tKeOg4SP0JV7P48kPn6dOtlrKVZy0bkcnM1jpt3BVxfHnRuApGSyh+nAn2nieXrLtya6fB/IT+hg5jKqYsvowWf5fnva/9XnIy/1W35BCw8AxxyqEsRna+FPgUw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=OY86zBBA9t4ojkkGr4da68pOgg67kFaqr6QjZ1cRupw=;
 b=gB6Ixihc4ZiU1uS/Q3S/+3sMzfBuJ8v+h+4nKPnW+bivQR2uUvGzQaNf4MychZ3rZgCFHCRW5afhAxbMcpTGKFWTtrSPCQp4EZgU48Lmz4dvWyj+WSxj0y2zn0y2V9G7RJSwR6LHSMOSzD50J7ghUQT73KYDykBVOQS3L+AO074T/3W+6dZrFoZktEnStBpBDind3n/aYjfytaRl3l9c528TKKOkVR223K6ed2amTr2nL9o7cpCYd9lcSg3rfrOcP8yg8COiT0DeE80gF2KHilKYp9uSMMOw0v9E3OXUr87lM7a145Z8ad7hRYiA+LavWNa+TPa7jUWlYut7Rur4aw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <c41d3c9a-170c-4578-9121-898758c451a7@suse.com>
Date: Tue, 28 Nov 2023 14:36:48 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v3 04/13] xen/spinlock: introduce new type for recursive
 spinlocks
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>,
 Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: javi.merino@cloud.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>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20231120113842.5897-1-jgross@suse.com>
 <20231120113842.5897-5-jgross@suse.com>
 <e31f93a7-5270-4c09-8ada-c9bc24172c70@cloud.com>
 <9ce278bb-475e-4244-8332-fef1c55f0f73@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9ce278bb-475e-4244-8332-fef1c55f0f73@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR2P281CA0182.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9f::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB9PR04MB8107:EE_
X-MS-Office365-Filtering-Correlation-Id: ea84fd73-f84a-414e-5814-08dbf0171386
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:
	fOMsEw4tqEAERRUUGUx51nJvNFZXJSu+qAlaCXKzk/cycrUv52CORGDvyGrgVRjkq/shephf8u6MTm5PeTsP6HvAS6EpFVN3Ag9rBMeGCtvwP1tHF4wKdJtSO/fppnUvrrEwl9Fn9lBJR4dsXOypW+TfLHm6Km2oA2g/c4WIPPdc4V61MdXQ1+h2PnakHS/JBdkhLC/bJ2UAB89rKccELrED6X1KSXFqlX5Bw//KkhF5uybTzkSZTS7Zi5QVE0zmHyn05BkxxAO+fL7l1ojEo9CeyHMrJIH1ZtMkniwVycx58N5BVDeOe8uQzwtw7XUh8rG/O7ngZDLK+wxd1PdEIvjI/yWhGemUCNFI9lTjCpggkoX/r4mxl+zr9ueE2lB5VUh7IvUAeF1/ICSGudSFfVyz4yOzzZeGDXfYMsEnYyUcQ3ydd/Ilc4MGkpBBZ6Bg/EncJquj0S0ZnAxs41icGuSj0GVZsaQilI4kplJxOPZeOGlm9S3PlCuYTJpPEyh26aaiuDAFOkXDAeLaPAsh0QFnSbTotUG7LoAOXGC/ujLj12wYfFzoOut9AFBmG5vJ3GW6cgiX8p0hjiPC2fEOqEozxgDClPC9GEKW+qxMRI0YroBjm3SiLUmg5r5tUIdKNFzeY6PomkEAvP9z1OJjfA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(346002)(396003)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(31696002)(86362001)(2906002)(5660300002)(6512007)(31686004)(6506007)(8676002)(4326008)(7416002)(41300700001)(8936002)(83380400001)(316002)(54906003)(110136005)(38100700002)(36756003)(2616005)(478600001)(53546011)(6486002)(66476007)(66946007)(26005)(66556008)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SGwwWXRRSThqRVdmYk5ROEIvRm5Sd1ZnM2tjRWdvTm9NdC9IelJtdVU2TU5z?=
 =?utf-8?B?UHVaNUYyTWRwRWFnYmNyVGRxbk9PQ0lCWlQxY1VlWnBWbTI2YUhnRlF6RUtr?=
 =?utf-8?B?S2hkMXgrSWNWQkxwV3dkZE5PT20yYmRpQVQyc0d3ZmpydlMxSVFxNFhsZ3JD?=
 =?utf-8?B?NlRkMVdXaXV5UDdIaWg4ZWhXQnRBZzRxeUp4emkrN3l1aGVqVkFlMlhnV09U?=
 =?utf-8?B?OHU5UEFKdmEzWW1ETmhNTGFrcEVjVk5FUHpLaUZxLzhPZU5qUm83R1ZmaUNt?=
 =?utf-8?B?Uzc5ZThRM012TzAxM2xOeFdNdlF2cFVlSWVLSUFuUWx2YjFSM0xNbWozdjlt?=
 =?utf-8?B?QkhGMVMvdCsyOUtLejFjWk5ZQitadk1FcmV0NElYSndKbWJSaGl6aTM1Z0lQ?=
 =?utf-8?B?QWdqL1k2Z2ZKVEc2VkEzczY0U0hkQmZUbktMeEt4WnlhTHhmVEd6RzlmYXZZ?=
 =?utf-8?B?emxsUFhoNmR4SmhOVGZWYzM4eW5VVnAvVjRlU2VuY2ZvR3h3ZTAvRFhIbUV4?=
 =?utf-8?B?d215ZWY1c3JOWFRvOEdWUG8yR0h2VUp4OHJpQUpTSkI2TW53b3BjNEd6WWRi?=
 =?utf-8?B?YWh5T0VOUkpyYzB1aGdzMlR6R2kzZlNDdjhZdlY0MXljbWpwa1hLSXZuekdP?=
 =?utf-8?B?NHBxUXhBTFpTSXFrbXdRRlViNzhhYzUycTBqc1pPMjBHMXFvcGVzUWN1cFhN?=
 =?utf-8?B?eHRUMzVESHo5VWlGcm9WVW5icENGTGtyT2lySU52Y2hZK0UzN293S3NodUkz?=
 =?utf-8?B?UU8wcHNuMFoyNDRHczZlbVRlYUxYYmNYYkh4WG9RUXBvT1o3L05OL3FyeStp?=
 =?utf-8?B?alU3aGhROTlkSjhtQW4wYUY0SElWb0hXMG84ei93eVNNL0dWMzZTK0Qxelor?=
 =?utf-8?B?RUpRL0R0dEdoelFBb1FzNGovSEpDZlhMRjBadFBrN3BIczdoZGZacE1KQ0Zs?=
 =?utf-8?B?OW5PdVNJbTJ2eDgyVkRGWElqRGZ4clhhemE3N1d3QmJFWGZGa0NCbmFwRDBt?=
 =?utf-8?B?RExzOTcxWUNsbUZTWVJFeUR2bVRhclJQbmZldFdYSDVFdk5xRktmUTRkOC9Y?=
 =?utf-8?B?dGdERGNqd0thVDJETnpDQlN2V0NhckM0N242dm1BdGE5WDl5ODZYamxUNjJB?=
 =?utf-8?B?ZVhQM1pxbHpNQnRRa1VRcWhBOXVlYjNIZG9aVkNZS0diYjZJcjRPdWZUclcv?=
 =?utf-8?B?K1cyVDRUL3dSNmFnbDk3UjBLMlkrY0xOeDBERXlKUUI4cWlyZk9iN3g1d3Jm?=
 =?utf-8?B?ZHFOOFJ4d1daQmhLei9xalN6aHk0Rmg1d0JFdmFPaVZXNmxsUUhidEIrRGFV?=
 =?utf-8?B?V0VRZm5VVnZGbXFjUVYxTERMTkU5QWxmeWs4aGp6T29pMXhBMUtVZ3Yxa3hB?=
 =?utf-8?B?bVhGSGx3d3BjK1J4czBMOVpMYmFoODFzTzE1bFFLT3ZoRkZSRmpRVzlzMGZI?=
 =?utf-8?B?TGJtaHQ1ZDRUVWdSczhPZTNPbUNVamI4T3dkR0FVSi9wVkRkTHcraXNldmp1?=
 =?utf-8?B?ME01RDh3UzBUcnYxNzREZUEzdnpEdG1NM1l5QlRUanZKakFtRlgwaFZSNGtC?=
 =?utf-8?B?ZXBYQld4dFZPTW9icVBkcEo2bVhiR3Bickswd3JVWE1lMjRHWVhiaVppcWhu?=
 =?utf-8?B?djZ2QURzRk5BUGp2VFMyZEZ4SEhRTFNuQ2VwMUN3TDk3UDFmZ3pZU2RieXZG?=
 =?utf-8?B?bVRBRStLNDZkSm5FK1k3SFlFZ3BMVktqOUtGM2lzUm5MRzFUTnFzWS9NUm4v?=
 =?utf-8?B?WU9iZGVhNktCTFVZR0N0dGVsUHVZY2hKQTdFZzFQVW5aNTlCUXI1UkNDSlJN?=
 =?utf-8?B?MlFUcWpOY0JwaEM5eTVYVUo1RUVUdTJKZURUQzNkbDA5QXAwWm04b1h1cys2?=
 =?utf-8?B?QUFZWU14QkNHMnlzOVBYNi9Sd1RyeS9uaGRxUHNpcHdmUXJpVTBYTFNzZ1VV?=
 =?utf-8?B?WWlKMWhBMWJLZnRYdW5taHNMa3pwOEpabGtmUmZLQWJvaXFvaVZMZEJsSDRU?=
 =?utf-8?B?M3ZEN1JIbGVRNEpVZEx6VU05dlgwUmRXdGxIWm5DYWhlN3FoZExIK1hscFRQ?=
 =?utf-8?B?NXdFcWg5WmV6T2JMTlRoVGIxYjlsc1B0dDBsVlhuK1p4T3Zlb1RNMlZjNTdx?=
 =?utf-8?Q?J5Vclgo1FvnfUPpCCbXwKdhmr?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ea84fd73-f84a-414e-5814-08dbf0171386
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 13:36:50.6581
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: gWHpooU4VMdTjfmGyAafJJfPzUXbbOUjbwNvQ3tAu2C7/kGs1XGE1nSg3qJzqO8l+7jAEXkFKCCLHI7iAbzswg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8107

On 28.11.2023 14:16, Juergen Gross wrote:
> On 24.11.23 19:59, Alejandro Vallejo wrote:
>> On 20/11/2023 11:38, Juergen Gross wrote:
>>> --- a/xen/include/xen/spinlock.h
>>> +++ b/xen/include/xen/spinlock.h
>>  > [snip]
>>> @@ -182,8 +191,10 @@ typedef struct spinlock {
>>>   #endif
>>>   } spinlock_t;
>>> +typedef spinlock_t rspinlock_t;
>>>   #define spin_lock_init(l) (*(l) = (spinlock_t)SPIN_LOCK_UNLOCKED)
>>> +#define rspin_lock_init(l) (*(l) = (rspinlock_t)SPIN_LOCK_UNLOCKED)
>>
>> nit: Both variants of [r]spin_lock_init(l) could be inline functions
>> rather than macros.
> 
> I was following the spin_lock_init() example, and I guess that is following
> the Linux kernel example.
> 
> I don't mind either way, but maybe other maintainers have a preference?

While switching to inline functions would be nice, the new item should
imo be in line with the existing one (i.e. be a macro as long as that
other one also is a macro). And converting what has been there shouldn't
be a requirement for this series to land.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:43:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:43:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643182.1003138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7yNI-00025K-Qu; Tue, 28 Nov 2023 13:43:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643182.1003138; Tue, 28 Nov 2023 13: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 1r7yNI-00025D-ON; Tue, 28 Nov 2023 13:43:40 +0000
Received: by outflank-mailman (input) for mailman id 643182;
 Tue, 28 Nov 2023 13:43: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7yNH-00024n-IT
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:43:39 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0601.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 225251c4-8df4-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 14:43:38 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8055.eurprd04.prod.outlook.com (2603:10a6:20b:2a4::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 13:43:35 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 13:43: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: 225251c4-8df4-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=RFjOp1rbzcCkBiThiDqzgN3NowHPl5YxYHiThpotWIAd4XYs6atX+JsZwHQAPSsk0YosGHdKFsRxJD1Jxx5a9N3ePDlQ7POF+qRYXT+Efa+Kb+Bm2rq7jfjrcv3wBc91uzB8IBc3PAYDP855CwI4jBMX9h0E/1FlaDuo2R1YRPFMvk5qUJv/VT7MAwc35N7wSNe0Gs+men1C9aRcTL+BIpUCGZZSfZZ9lw3V9OryrC6lcsj9xVehGwa/Wz/QTyQEEYmxX6ptc4E28qnvicyDK1N1LKkPwnjhT2g3xOQHe/jQB1qhjHvmJS/Aszy7YUyqnNVtOI0uKOEUYfvxY9HEPw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bRnlGgR3goSptBX4lELfDp94qd3aU64P1ZdD374ZpQY=;
 b=GDM3OmJZtHDFwq72ODlfP7Q+v0S55yZS9KvB4zoswFSoS4DHAZSsEK8Y1A++l1ABH/oafWkFb6GMSvu04m9yLGC54gCpmnZZ5/grqlnkQ4eBVVQ+v19oZqlWkT401BGH3opsHaCxKn91bRToDItfx5WdqkLk7X+lwG9UrTUbo3n+vPhGJ4RD6WHAmdBcWtij0LJNyQuUtLSILXFMVgzUubYhgpFHtQwbDBv/0/ssd79lErzmohR1OUMvYpEh9s44hVSn4TCvzYx9QfJVgHAo2/bMKjnV4mm5wOLZWGR/PwIgxXc7h8kU7/gcNP7w1xJ1t3rkD9Z9vhMH2jynyM448g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bRnlGgR3goSptBX4lELfDp94qd3aU64P1ZdD374ZpQY=;
 b=YLpwukg4jggxnvPJgbjjV0a3PBCLSLVK3JugybEHIlvkITseYRK3yZ2K2QdVNMa+NmXtMIfxOWudvDStnRNTMIEyF1G4/Rc5+krmV/xewF2+NkNcLz9aAQAT35f6pRDOSeHXQix7VxqYAAp7oqzTmttVn3SvBIouBOkYn5mA+hp74ppIg6jCeHS1397bDc4ebWUWGJYv4chG6BtdGEll8RQdsGQp/Z6HTst2p5T+yqzbwvh9MWdoKVFLF1JXv0gP7HcMHb3J/xz3NjokS3XXgbjUjqgq1j7ZzOb2Qe5qpJzRdzPgC2XDw+iv+0+CwEYY9eOm4RtRzuLeAjecntIwGQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <74748681-dca2-437a-a438-f0a6294ea8e4@suse.com>
Date: Tue, 28 Nov 2023 14:43:34 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/guest_walk: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
 Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org
References: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
 <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
 <4f09cc01-3975-4c2f-960f-67f3ac1f53a4@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4f09cc01-3975-4c2f-960f-67f3ac1f53a4@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0152.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a2::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8055:EE_
X-MS-Office365-Filtering-Correlation-Id: c5a4ad0a-cd6b-4f90-f477-08dbf01804dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	sx/qE9FrDachAR91K+poQFkV3l4VM3oNlrboOVgXVZ7zl0vPnv9sJy6BqD/r7LZJBXKbF0Qw7citymD7NzF/vx45CnBxrJJox8zZGCwmKYRmMRfrGgG/SY8EcPJzfbJuGBq0K4HOIQM1Q3qnWojv+DZ33+u2lBs/EHBYey1UcfnGYz4eAzWazYDPEcXaLW5w9JktSaitNHDU/4si664BWh+QguYu2o5GWRkitzr3bQ3YMvPJOhW2XXdNV7ONZ50wWGN0q+OWRr0FBIdRBxd4RtJ54QXI4RfbBu2rE92Q/X7WNvJB+CEEEtjSE3ad2C36oSfFIICUySLjhsDPt+t+kCPe8NBHPSKaC7G8JO3IVEyFa/HJYefp9GwlW9uUWg+x8SeGbFeC6s5CZJcDjQszO1fCAW8GfYpwioFsBqKYMxaRzDXghBhLymuIFttJstINjwLzNrPQndI35oWykiKgGZ9j9966z5cTQrb7JThu8n93uqmJfVGWuMRm0jZexZWxi/jZi0uyUogTqb6can5lDZcU3ebVH8aVjlDGK3yFS4z79XU2JPjruLBaadA6DAT5p+VRi0EHzXsUkZ3pU2K+Zxn2kPQKuj8s9bu99NWL2OPLLIWNyjIGtcy6xVgxWBUQYYSUr5uBboEY1X2ZSi0rlw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(396003)(366004)(39860400002)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(26005)(83380400001)(38100700002)(31686004)(53546011)(6506007)(4326008)(8936002)(66946007)(316002)(66556008)(110136005)(6486002)(966005)(54906003)(66476007)(5660300002)(478600001)(31696002)(8676002)(86362001)(2906002)(41300700001)(36756003)(6512007)(2616005)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?dmNZblJtQ1EzQlpwWEJoL3diNHVsQW0zQjd5SmlacGRjRzJKYU15MloxL0lY?=
 =?utf-8?B?UDZqZjJoVXRNSVJXQjg0ZUw3V1ZnKzFpRWtYLzRSNTM3NW8remloRzBoT01w?=
 =?utf-8?B?Y3RYSW9DSEkxSnRGVDNqL0FtSVF4aDUwbzZUanEwVjdTa1N0K0VrOTZ1cWxi?=
 =?utf-8?B?cjFsckVNS1VqVTZ0S1JQNjYvci96aGl6ZjhibmZVNThEdHpjTXZlZ0xLZ29U?=
 =?utf-8?B?Q1kzL04vNkQ1QURGcHFGOVR2K0ZKMjBWUHNyam9kcll1Qmtwa1ROSSt3Z0tY?=
 =?utf-8?B?cTlHNTA5STQ3aXNXNG5kUmRnZTVRa2YvbmkwZnJCV3ViS0JHUEd3RDZVSUh6?=
 =?utf-8?B?bUl3SXc3WGk1U09IYTRJNmlUamJYZjBvcDY4aHNaZ3lNUDBlUUlSZnk1eG16?=
 =?utf-8?B?dkhkOFUveE9NWUhLUzJnZW5FTGp6TUxDRWs4N0N2WXN3UFZ6dmVGa2lsbDdH?=
 =?utf-8?B?L2pqN1lpd1RPN3k1MEl1cHUrOStkbGhPU25yeGdtRWh2c2JzRURFbWhsRHlm?=
 =?utf-8?B?ZGVueGlySjYvNzhaL1BFWDI5MTg0RGZKaHd4SGNrdWo0V2t2V0JiZ3RGU2JR?=
 =?utf-8?B?dzlMc3BicThJMUd3MEh0UlFUZ3NseDJ1SEI3aTZBRUpZR25uT1BrbzBHbno2?=
 =?utf-8?B?UTNJbFJtcUtudExWZW5WYXA1ME9WL29aREpxcXVlbU00S2tpbDJndUVzMm5p?=
 =?utf-8?B?VTF1eHFPOW1JZFdiN3lGYlZZd3ZXcGM0QnlpdkxJeWNJWU5kd1VlenhJVzVF?=
 =?utf-8?B?YzdncXNrTGRHaG1xYktSVC9VcXJiblBpc3Z4dUtLbDNKajNYUXBVQ1FPdld0?=
 =?utf-8?B?MUVjcHREZWswQ2kzUUVYSUdaRmFVcTJHWlBOazhxVThHNUI3Zkl2YnRIclcr?=
 =?utf-8?B?RmRRZksyRUE1UkRNdjNtY3ZtcncwQ3ZZbnQxS1JXRHFNWUU5bUlKRDBBZDk5?=
 =?utf-8?B?WUlHTmM1SlF2SG1YcWpMSGJWNE5vY01DRUt0bnpxbmtwSFhUdGVxNHR1YkFl?=
 =?utf-8?B?RUtsL0kvSEFpMDl2RUVtand2U1BzcW1SZlJtVVBMQ0lQN2RGTkpHSFd4S2s5?=
 =?utf-8?B?ajFNT2d3bnl0VXI3MWNoZEZiSGtGVHgybUh0TWVGekUvLzFwOFhQWEhEeXhY?=
 =?utf-8?B?UlJDMFMvYnJjVGhaOVBPT0FuelAzQjBJOVRrcFdLOWdtM2tUQXVHMFI0YzZ1?=
 =?utf-8?B?M3lWV0xlS1hVUXhrMFFCTjltTHFJMklzY0NHNEFqWFoxc1hWUmZxUGNmWXZx?=
 =?utf-8?B?VGhUK28xK21LbFBkc0hUamJRMU44S01pVHRWZ0Z1Vk9BYlAweVN3bE13WjZY?=
 =?utf-8?B?WEE1VWlrQUZmWkN3QkFmeGtKaS9tdHprdy83WVJHQjdqRUFYSVNGYng5RHVh?=
 =?utf-8?B?ZzZwWURDN0h1cG5GNGpLR0hoM0Y4S1J1TFFLL2xJYkIzRlh3L3g1YnB4VnJy?=
 =?utf-8?B?NGVnTGM3MytxWCsrUXkrdXBPVjQzd05NM0lVVTRWdGVjSUxxbGRSTjMxMGVK?=
 =?utf-8?B?VkxpdVlRZWVScEozOG82cHlHUW51ZS9EdW11c3RhNC85N1creUo2ZzhHMVZU?=
 =?utf-8?B?WWh4OER2S3pmaGpuNjBHSUFWeUV0NnZmcTY0RjJvdmdBWjYrY1h5U3NUSG9H?=
 =?utf-8?B?b3lVQjhBZ3BvbEF5RmRUZldPQXBuT2U2K1ZmNTB1Zll0eFBwWGZZSVpsNGs2?=
 =?utf-8?B?OFFsYzhxaVZrOTNVWXdqdUJFdU5oZE4yZ2ttcDRpajhVcDhDc2U5Q0N4VWVL?=
 =?utf-8?B?Z1huSE0xRTdZWE9na3k4VXVKcE0wRmRmUFFBaVhjdXJWcnd4WjFXTVc5c1NN?=
 =?utf-8?B?amV6dUtlZFZQb2liTFNKNXpsTzVxeitIVzdUSjFlRTdockR5U0F3VnNZZi9S?=
 =?utf-8?B?SFprTS94YmlZSnZVbjVWcERVYkpNakx0WGhYWkQ4ZXk2cm1XczJ1a1o2Mnhu?=
 =?utf-8?B?bzEyWkc2cFd5N0NkWFhmVDNwajlNeXZFYlR2UEUrdkZwZlBaNnhJOU1kcndO?=
 =?utf-8?B?dTdxN1hlSFE4UC90ZTREeGZvQ2tURHF3UzR1OS9rYXpFcmlYSW5mNnp0Ti95?=
 =?utf-8?B?RWlwOXdwZmdmQTBkZDZTMmRFQkdONEVTczFRazN5d1BuZVJOc0Qvb1VuT3lT?=
 =?utf-8?Q?lDsi+i7Umk0wmPHLMWmsGrERv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c5a4ad0a-cd6b-4f90-f477-08dbf01804dc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 13:43:35.5284
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: PRD9Sl5NBq/MD/h4IDNgM12h8k359nSjIpSuFeOQGMhd71VdMgBtFPlPDT98QHHAH8kknop6wmcb8A7GxBUHbg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8055

On 28.11.2023 14:17, Andrew Cooper wrote:
> On 28/11/2023 1:00 pm, Jan Beulich wrote:
>> On 28.11.2023 10:46, Federico Serafini wrote:
>>> Uniform declaration and definition of guest_walk_tables() using
>>> parameter name "pfec_walk":
>>> this name highlights the connection with PFEC_* constants and it is
>>> consistent with the use of the parameter within function body.
>>> No functional change.
>>>
>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>> I'm curious what other x86 maintainers think. I for one don't like this,
>> but not enough to object if others are happy. That said, there was earlier
>> discussion (and perhaps even a patch), yet without a reference I don't
>> think I can locate this among all the Misra bits and pieces.
> 
> I looked at this and wanted a bit of time to think.
> 
> Sadly, this code is half way through some cleanup, which started before
> speculation and will continue in my copious free time.
> 
> It's wrong to be passing PFEC_* constants, and that's why I renamed pfec
> -> walk the last time I was fixing security bugs here  (indeed, passing
> the wrong constant here *was* the security issue).  I missed the
> prototype while fixing the implementation.
> 
> At some point, PFEC_* will no longer be passed in.
> 
> Therefore I'd far rather this was a one-line change for the declaration
> changing pfec -> walk.

So that was what Federico originally had. Did you see my response at
https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00122.html ?
While I certainly agree with your plans (as far as I understand them),
doing as you suggest would make it harder to spot what values are correct
to pass to the function today. With a suitable new set of constants and
perhaps even a proper typedef, such confusion would likely not arise.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:45:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:45:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643185.1003148 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7yPI-0002gq-B3; Tue, 28 Nov 2023 13:45:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643185.1003148; Tue, 28 Nov 2023 13: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 1r7yPI-0002gj-8P; Tue, 28 Nov 2023 13:45:44 +0000
Received: by outflank-mailman (input) for mailman id 643185;
 Tue, 28 Nov 2023 13:45: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7yPH-0002gd-0b
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:45:43 +0000
Received: from mail-lj1-x22a.google.com (mail-lj1-x22a.google.com
 [2a00:1450:4864:20::22a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6c2eee6f-8df4-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 14:45:42 +0100 (CET)
Received: by mail-lj1-x22a.google.com with SMTP id
 38308e7fff4ca-2c501bd6ff1so73144861fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 05:45:42 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 j7-20020adfb307000000b00332e7f9e2a8sm13078868wrd.68.2023.11.28.05.45.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 05:45:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c2eee6f-8df4-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701179142; x=1701783942; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=3rUWUcdB+WQweqZXYQTQrCKKFGe23g2y7ByGOVDn7ME=;
        b=giGxnKNvmqgfsPTC5wgo6wxZcZ9AL+bbICvlpCkGgvKHXVeNfW8Hk49K3MjRaOOebz
         2NfcP9yJhgOBaZBQTzC5GjFswhHuQkSfjatNQMhE1UqtzO4fXfwTrO4rkqYZkI2XMjW9
         SdWDQ43UPLnG77BSXZNvFPF4KBGqFCsJecK3k=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701179142; x=1701783942;
        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:subject:date:message-id:reply-to;
        bh=3rUWUcdB+WQweqZXYQTQrCKKFGe23g2y7ByGOVDn7ME=;
        b=T7yCXrqUXHvxYMP2Z7rnAV7gbs4lGv59iUFHJnhT8zTj0rmD9V6oWD7dM+DAe6vQjZ
         K48vQBPzgVdxwEKXLrsII56YvxnZ4DVDFArde00DYoc8oP7ntkrVmCfxj+U+dfmBoBNf
         Tm3cmKeIIQcgtIV93lxCRHhXANmkjljUX7AtIpdVMBglv6qwSl4frM/zG+7Yc4Jx0P4b
         PV+DTQwQZr1eIuplraUjoDbTU+HS3w+jit5RMfdv2eu9PFf+uk9wFHeKRyd6uTt6YRFT
         VExs9yaAhi1cJfwcVGBOOOmudjuO7fL8V6/lL4LUgf6zGpkZwmDJIU5mSnRiDtffoJui
         lpDw==
X-Gm-Message-State: AOJu0Yzo3oiNY7es6niKmX+Xv+fR30gi7rxfgn+dPelkdlUOdOtxyp74
	nloKO3w46ESaJ+clePE4IESZ+Q==
X-Google-Smtp-Source: AGHT+IG6D8Qy6gaB4FUb0SPHvXncstWn2vLfAbxXfk0upCgFrCU4UcZY+yhJLRGEYfYXCt+3K9pQJA==
X-Received: by 2002:a2e:bb0f:0:b0:2c9:9584:4e4a with SMTP id v15-20020a2ebb0f000000b002c995844e4amr6043440lje.10.1701179141802;
        Tue, 28 Nov 2023 05:45:41 -0800 (PST)
Date: Tue, 28 Nov 2023 14:45:40 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Elliott Mitchell <ehem+freebsd@m5p.com>
Cc: Chuck Zmudzinski <brchuckz@netscape.net>,
	Mario Marietto <marietto2008@gmail.com>,
	Demi Marie Obenour <demi@invisiblethingslab.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Message-ID: <ZWXvBMaRJ5Lbb5S9@macbook>
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com>
 <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net>
 <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
 <ZWUgfkP4U5kOmQNj@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZWUgfkP4U5kOmQNj@mattapan.m5p.com>

On Mon, Nov 27, 2023 at 03:04:30PM -0800, Elliott Mitchell wrote:
> BTW Roger Pau Monné, now that Xen 4.18 is out, take a look at the
> "royger" branch?

I've pushed a bunch of those, there are still some, I've made comments
on the branch.

I think there isn't much left after the swept I've done.

If you can rebase and reply to the comments I will take a look at
what's remaining.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 13:46:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 13:46:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643189.1003158 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7yPh-0003JA-Jt; Tue, 28 Nov 2023 13:46:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643189.1003158; Tue, 28 Nov 2023 13: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 1r7yPh-0003J3-HO; Tue, 28 Nov 2023 13:46:09 +0000
Received: by outflank-mailman (input) for mailman id 643189;
 Tue, 28 Nov 2023 13:46: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7yPg-0002gd-DV
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 13:46:08 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7d00::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b4c4c9d-8df4-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 14:46:07 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB7079.eurprd04.prod.outlook.com (2603:10a6:20b:11d::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 13:46:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 13:46: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: 7b4c4c9d-8df4-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CV+lzNWAY9BeAK2aJzj5oZfKdirNZ2QGV3rAV1zLetxxjYsj94V/KnsAFw12Vofz1DCvwszX5Dffqni5vsd/Yz26V/HpezOjf5XR6ETd+Y0BhM/2htSAif6gEsoHoFY/F7RmNk3ROliqeSMaAMkBnVSrzT7eO7pf7KI9IBVSPTH/hzQvntyELU8PWOd4Bdio6LSsqSudo1Rx/B/QBKd4SxHYGlLds4pwGviSlZI2juEFz3IrzPjls0qHrCvx1Qq5hURS9U4ZqtLvkfAFE0dJnyy8MQnPZLLrLgXWCtz0e/40B2D6h6960hCDneFlB8nd5xJOQX6VznVGYbt9iqF/2Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HIjYccPsnPUNl7/NLjTIC8OH04miJyE40ZgeRxx9yAM=;
 b=hg1UtGmDY/fapeqzU7U0es/Fru9fXvjl9VbxWPvNCo+pwU3IVpCDT+7g36/d1vbSBY+6oL/VVryZB0b0mkt/tWegGtJz5YFTQCog3vQ85qv3Gm1twttBivG7VwSIoMWNYRKMYMUZtlUZpyY+fUovr9XN7KdHGjEqztaabV5WPnFxcE3erU+mV6iL11S9jxblBnNrkCUsSObobfevT0q1mVxLuab+7kffQnf3ePFzKfENzCygPptf3qTu0aFe3xNNPmwfIP4azIV052FHgMs9qKIsN8NjXxvKO/PCzzJud+L1uQguHxEj9GDGX8YcGvd6YkjQhUZRzXsSgleuEIq8hA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=HIjYccPsnPUNl7/NLjTIC8OH04miJyE40ZgeRxx9yAM=;
 b=TNZhYyTMwjybJvylpUCCCNaU1xttZ4ueSsz1ZthTBSrW9b5aqvSUfiC7H3CSyQ+dMv9t4O0W5jVZrXE8PxV4VuH2DMmq7LUZ/+W6Ijyy5wKbThNCI7iSaAoOd90CwGrlXinxe4WioULHOHR9sDQaeoEYMfz5IIda9JA2cK+0Le93JzNAilFoVASgohYcliFF0g6KUpIBiqNV2tb+wfgTosIjkXkij8a9siCu9DZVFLBKF4Y7thV7On7l2dpp8yTPWrHs01DeJEteiz0hKD2d0QT9vxb2qZ+cojCILUVfrMRUu/6X/5iwRIgF+5/HgaslwDHa8dL305aG+aPpVibC6g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <68788bae-ed43-4568-9c1e-261e0b05db4c@suse.com>
Date: Tue, 28 Nov 2023 14:46:03 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/guest_walk: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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>,
 xen-devel@lists.xenproject.org, Stefano Stabellini <sstabellini@kernel.org>
References: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
 <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
 <20ad9ab3-1823-48b0-8642-75f8c81f1837@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20ad9ab3-1823-48b0-8642-75f8c81f1837@bugseng.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB7079:EE_
X-MS-Office365-Filtering-Correlation-Id: 8613527e-743d-4b30-548c-08dbf0185dda
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	R6exR8mgSvY1jGhQ8/5a+C8cT7n1SHWy0WeYpNB8RtjOFZ2Pktw0LST30nWoxmktZwmKPwB6WK0GysRr0aMZjgR+KIrDEU8+HaevuVhoQcXUg1p+TJv/RMiPPLLVwa+MrDo8hqaY7AEaiFW0Fk4YXH0FP8QlRClZjqw4o/PSIoU9S1nS+54q7r2J1jOz70fUTmZIAp1BX2GDbRxPljwRADaI2L6NZ0S4jFLtdDUteC9+248gymGMRVhRzeZ4aW9+HBp7ih6l4J1B+o8AeffK2i9PXqCxP3Cje537nSjky9720QOzLst8eH3chpIdcZuxaL+2nJcvvdJ3T7iQ6rJGpFj3hY0lE0ZpRu66j8Z764yVjZyh25VtjFQEgtWHBbgjHDHWd7nHA6w26RSndtupempSjvoSDKNExwECTITjnB0lWNiWQatT+h30rP2VkYEVVAwyfAEf3Pp5EeAMBeF7m+DGjd6iOHH1+ZK3pSVN00xZRIhE7HEJLky6gXKfQOhu4PWFUtZtXqITh0Whav/qKf9D+xTA7Pl9XvONJPVBuH3dbR3OCA36NeGOnB+dMzRyIyMR55nbWneTPlcJvTbN5oebbsD9Bd3iZ7PMBEXBE2wmR3s4rz56fGwEmQh8S52Kys1y+pug/e/nVEgd5HUWGg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(376002)(346002)(396003)(366004)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(31686004)(41300700001)(5660300002)(86362001)(6512007)(53546011)(83380400001)(2906002)(36756003)(2616005)(38100700002)(26005)(6506007)(966005)(478600001)(6486002)(316002)(6916009)(66946007)(54906003)(66556008)(4326008)(8676002)(8936002)(66476007)(31696002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?aDJMVW9jbG11L3RKS2Y0NXc1MXhBSjg1Yys4ZGJiMlZlZ05JVHdiWkhZUWJp?=
 =?utf-8?B?YlY5N2lKRU50eE53Mi94L0xCTHBpTlNxMmhnamx0V0NTdldDOXNncjdKUUxu?=
 =?utf-8?B?SEl6a20vaFduVlZLN0pudXdsQXIwWGhCSVliazhmczNLeXQ3dG50RlJkSkZa?=
 =?utf-8?B?Q2tLSWRkZURYM2ZTTFRKcUFJK3NmQ2swZG9KZkdIVHU2TmlpOGcxNGUxRUk1?=
 =?utf-8?B?Qk5zN1FySDRWQ3dGQjZKck9MWTRMaUJOYzVjRXBYL1VqOXEzWVZHdFlKZytN?=
 =?utf-8?B?Q3c2cFhiVlRCSGY4clFwLzVSdXBxN3drMmFMb2pWUDhCK01hRDVjNzJnMXRK?=
 =?utf-8?B?MkZZcitMYXZ2NENhZWc3bGZLb2MvNEhTVkZVREhUYjY2OFZiTVF5M29TRHZS?=
 =?utf-8?B?MnN2T3VWYVVlY2FEcjlOZnY3NWZQR0MrU2JQR1hRSlJpQXRHMVU4RTJEcW93?=
 =?utf-8?B?WjQxY3E1TXp2YlBLVm85RzBBeGphODNFeGU1Q3Y2TjFWV0NNZjk3SXJ4ODl2?=
 =?utf-8?B?VDIybE9zUlFZOHZwVG03K0F5cDVpRnFJZEk4WHZhbnE2Tm9ETUowL3JMck5C?=
 =?utf-8?B?TzVzdUFSR3k0V1NqSjVsUHN3TWFTc1JpYTUxQ1hHSkVEWHBMMzZ6RTgzbW94?=
 =?utf-8?B?eko1c3RuYmd3dDN1YmNQa0dOZFhYZmZ2eERWWERCRzRDdUl6NytwcVVSeWpX?=
 =?utf-8?B?MGlsYTBlSENWdDM4QmpmQkYwNEdzVms2WXJnRjVwaTk4bk1MM09wc0JDNFlO?=
 =?utf-8?B?MWdCLzRkSkhoYjVZbG9MSXd5My9EZkk3UUFXeUdCV2NqMTRrVGhvSWRUV0VY?=
 =?utf-8?B?QzQ2ZlRabTFMVkx2dU05elFCa2t1Mlp1a05OQjlxZmhyWWQ4WEJmNUJVeW10?=
 =?utf-8?B?cmd0UmgydnlVWi92WGdLbit5NTZBTktRVnA3eVVaR0FFTmovYXhoNnVFS1hr?=
 =?utf-8?B?VlNQNmQzU0NLK1p4VlNnbHZWOEVBWndjYkxIQzZERm44Y0ZERS84LzdJT0lx?=
 =?utf-8?B?S0owdjZUMlh3WXlMbk1PYWJhaVdocVZPYldQTmFPenhvaEprWVJVSExvaVox?=
 =?utf-8?B?ckYxUHhiVCtENjBBM0Y4ZlpMc2V5MEJVY3JBME9LMUJSck5Rd2tuYnFMUzZq?=
 =?utf-8?B?OTlBRmtmT3NwOHFyUnVVM0MvOUlHRHBpRG03dHc1Ym84ZDNVQkVQbEljRmI0?=
 =?utf-8?B?UjgrQ2V6UjM0NERjU1lZd2FSSlZCdnBQb0UzT2U4ZTBHMUlnL0R6TjV6R1d4?=
 =?utf-8?B?enZXdEhYck03THFQajZFNEE5QUs4ZTNzbWJNVmxaNS9ETUtTcGM3dWtwN1Q1?=
 =?utf-8?B?aWtmWEhML0pCczdXT0hMT1pZYmRSR2o0c2F5VTcyY1k2UGdVaVIrN1M5aHBp?=
 =?utf-8?B?Z3VBS1JZUTR0c0RyTmJxOHRJYnZBNkl4cHk5dzlUdXpsb21uaG9vR2FVU0lZ?=
 =?utf-8?B?OW8wL1pObW5XOEJuY3lnc0RXOGpyc3I0YzV2NWFpWWk4YzEzZFNNWHdYcmpn?=
 =?utf-8?B?OWI5cUNrdjFMcmhlYmxHZExrcnVCRGlGNFZ4ZTNXS0NGRWkyUTM5YnJSeVN4?=
 =?utf-8?B?QUpkRk0ycjhLV0hORENqQ2s1UWFyTmpPZGgxb0xCK05pZzBnMW9BVURobGFv?=
 =?utf-8?B?Z29MaVhHcFF5R21ZUGNlY3RzYmNqWndQcHUrV0xZR2EraU9YV3ozMFJURTAx?=
 =?utf-8?B?RDBDY2hzU2s2dzY1QlRRTGNjK25id3d4WjgxRDJWODBha1Y0dSt5Y1VXbmtn?=
 =?utf-8?B?SEdPN1FpakJBSERKeUNKTnVUUy90UFJNVS9mSXBlSHJWMnRaVVBlU1l2bWpQ?=
 =?utf-8?B?REFYRWNDbWdOYnoxQTRSYm9Hb0VpNnp3cFlvc2tHdTlGMXVOK1hDbTFlVTNq?=
 =?utf-8?B?bGZKY1JXUjQ5QWFWLzM5SUlvSUxreXhMNjFGN05Gczd0Y3MxTXhidVQ4MHpQ?=
 =?utf-8?B?Q3JSU3hJZlFXcXZnSFRHdWxIU1dYaHVGd0Z4QzlrUURFMk9yTjlndjdUQm84?=
 =?utf-8?B?MmpUSFZybm1YeDJjWjJEVWpXZTlNSlpFSEkxSitMcEdFWjFiQWwvUUxiTmFx?=
 =?utf-8?B?Rk5DRmYrdnE3dVo1SGlFWU9ldm43OHJ4elJHbW5wbS90T3BoMFhldXhlckp2?=
 =?utf-8?Q?0Swrsyb7UvfE6ESUICzj3hsvt?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8613527e-743d-4b30-548c-08dbf0185dda
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 13:46:04.8886
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 0+b9Qvvx1Fi0VxV+zhFDGMPss8KfgzQ5cHHClySyhsEg4Wb4N7PFKpBafj0qSA+iI06tg/OQmpb/jPLErXcsSA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7079

On 28.11.2023 14:11, Federico Serafini wrote:
> On 28/11/23 14:00, Jan Beulich wrote:
>> On 28.11.2023 10:46, Federico Serafini wrote:
>>> Uniform declaration and definition of guest_walk_tables() using
>>> parameter name "pfec_walk":
>>> this name highlights the connection with PFEC_* constants and it is
>>> consistent with the use of the parameter within function body.
>>> No functional change.
>>>
>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>
>> I'm curious what other x86 maintainers think. I for one don't like this,
>> but not enough to object if others are happy. That said, there was earlier
>> discussion (and perhaps even a patch), yet without a reference I don't
>> think I can locate this among all the Misra bits and pieces.
>>
> 
> The last thread about guest_walk_tables():
> 
> https://lists.xenproject.org/archives/html/xen-devel/2023-10/msg02055.html
> 
> Do you have any suggestions on how to handle this?

This simply will need solving - see my reply to Andrew sent a minute ago.
Personally the best route I would see is to leave things as they are for
now, hoping that Andrew's indicated code change will arrive in not too
distant a future.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 14:08:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 14:08:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643200.1003169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ylD-0001uz-CF; Tue, 28 Nov 2023 14:08:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643200.1003169; Tue, 28 Nov 2023 14:08: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 1r7ylD-0001us-9C; Tue, 28 Nov 2023 14:08:23 +0000
Received: by outflank-mailman (input) for mailman id 643200;
 Tue, 28 Nov 2023 14:08: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7ylC-0001uk-6m
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 14:08:22 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 960afef2-8df7-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 15:08:21 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-50aab0ca90aso7907081e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 06:08:20 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 u19-20020a05600c139300b0040b4562ee20sm938516wmf.0.2023.11.28.06.08.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 06:08:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 960afef2-8df7-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701180500; x=1701785300; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=09LGEuN7I4iZi00afpG/Xfc7kxLl8AhrI6FyWaiUvyY=;
        b=QxsQJC1hXsPeoca4I64jwUBykxwI65D1KyP2252FQ0ap450MQ+cWR9QyXkQne0GjfS
         ue7zbtUaHhQOqR2R4rkAP09Aebztr8RmwbJf1BmBxjS8rlflJQMQYaIE6Ow/YhyDGzQT
         sFMlNz0CkERTBKWRrWQDDNSaN2s3/c+JAUGsE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701180500; x=1701785300;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=09LGEuN7I4iZi00afpG/Xfc7kxLl8AhrI6FyWaiUvyY=;
        b=LR85oZbhMaTkGjuRE6GxwuBl7lC/li2F12J23NZdwhd8QYcNFr+BEQBnDss8NtG6WM
         rqJfGnzRsJehQE+vl9l1oZZJ6od4Xygk4j296YtGyAavKlAPbvk7eCVi7hOBEmY18N57
         zLqfnZtHm8HjA3AjQh4yUP7bcMZlyAZ7gT5BoPBUFh1MxTnzWwVT1AZm18iTnMA0t4gg
         sqp7y3DDYNTJv9EFp5/cil9OYDgxFjGcwUDCi9tFPbFDpL9Rp0OP5nI4OmVBdVS+znig
         Mn1oXL4j8fAcv2J8VFDtZHJsGDh4hj96mXdlZHfgg3rHJBkIKtoRP/Ozrz04F3Z8/s9c
         8d0Q==
X-Gm-Message-State: AOJu0YxEfbPip720Sg9li5nAqPkuVzdFdqMOapahejCq+mYt36kHgh8J
	5EE8HrqOz1qJlWtvdGD20I9WDQ==
X-Google-Smtp-Source: AGHT+IFRLdgroHb99jGaL6IAV4E4qKAmiDhFFBHlpexPnZZz0NmTGjuHdpZY5YNWN+mwQ6CS52lCHw==
X-Received: by 2002:a05:6512:511:b0:50b:c1ec:4755 with SMTP id o17-20020a056512051100b0050bc1ec4755mr156913lfb.16.1701180500344;
        Tue, 28 Nov 2023 06:08:20 -0800 (PST)
Date: Tue, 28 Nov 2023 15:08:19 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
	Alex Deucher <Alexander.Deucher@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Huang Rui <Ray.Huang@amd.com>,
	Honglei Huang <Honglei1.Huang@amd.com>,
	Julia Zhang <Julia.Zhang@amd.com>,
	"Daniel P. Smith" <dpsmith@apertussolutions.com>
Subject: Re: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Message-ID: <ZWX0U1tYooY70UJo@macbook>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-2-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231124104136.3263722-2-Jiqian.Chen@amd.com>

On Fri, Nov 24, 2023 at 06:41:34PM +0800, Jiqian Chen wrote:
> When a device has been reset on dom0 side, the vpci on Xen
> side won't get notification, so the cached state in vpci is
> all out of date compare with the real device state.
> To solve that problem, this patch add new hypercall to clear
> all vpci device state. And when reset device happens on dom0
> side, dom0 can call this hypercall to notify vpci.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>  xen/arch/x86/hvm/hypercall.c  |  1 +
>  xen/drivers/passthrough/pci.c | 21 +++++++++++++++++++++
>  xen/drivers/pci/physdev.c     | 14 ++++++++++++++
>  xen/drivers/vpci/vpci.c       |  9 +++++++++
>  xen/include/public/physdev.h  |  2 ++
>  xen/include/xen/pci.h         |  1 +
>  xen/include/xen/vpci.h        |  6 ++++++
>  7 files changed, 54 insertions(+)
> 
> diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
> index eeb73e1aa5..6ad5b4d5f1 100644
> --- a/xen/arch/x86/hvm/hypercall.c
> +++ b/xen/arch/x86/hvm/hypercall.c
> @@ -84,6 +84,7 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      case PHYSDEVOP_pci_mmcfg_reserved:
>      case PHYSDEVOP_pci_device_add:
>      case PHYSDEVOP_pci_device_remove:
> +    case PHYSDEVOP_pci_device_state_reset:
>      case PHYSDEVOP_dbgp_op:
>          if ( !is_hardware_domain(currd) )
>              return -ENOSYS;
> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> index 04d00c7c37..f871715585 100644
> --- a/xen/drivers/passthrough/pci.c
> +++ b/xen/drivers/passthrough/pci.c
> @@ -824,6 +824,27 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
>      return ret;
>  }
>  
> +int pci_reset_device_state(u16 seg, u8 bus, u8 devfn)

You could use pci_sbdf_t here instead of 3 parameters.

I'm however unsure whether we really need this helper just to fetch
the pdev and call vpci_reset_device_state(), I think you could place
this logic directly in pci_physdev_op().  Unless there are plans to
use such logic outside of pci_physdev_op().

> +{
> +    struct pci_dev *pdev;
> +    int ret = -ENODEV;

Some XSM check should be introduced fro this operation, as none of the
existing ones is suitable.  See xsm_resource_unplug_pci() for example.

xsm_resource_reset_state_pci() or some such I would assume.

(adding the XSM maintainer for feedback).

> +
> +    pcidevs_lock();
> +
> +    pdev = pci_get_pdev(NULL, PCI_SBDF(seg, bus, devfn));
> +    if ( !pdev )
> +        goto error;
> +
> +    ret = vpci_reset_device_state(pdev);
> +    if (ret)
> +        printk(XENLOG_ERR "PCI reset device %pp state failed\n", &pdev->sbdf);
> +
> +error:
> +    pcidevs_unlock();
> +
> +    return ret;
> +}
> +
>  /* Caller should hold the pcidevs_lock */
>  static int deassign_device(struct domain *d, uint16_t seg, uint8_t bus,
>                             uint8_t devfn)
> diff --git a/xen/drivers/pci/physdev.c b/xen/drivers/pci/physdev.c
> index 42db3e6d13..cfdb545654 100644
> --- a/xen/drivers/pci/physdev.c
> +++ b/xen/drivers/pci/physdev.c
> @@ -67,6 +67,20 @@ ret_t pci_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>          break;
>      }
>  
> +    case PHYSDEVOP_pci_device_state_reset: {
> +        struct physdev_pci_device dev;
> +
> +        if ( !is_pci_passthrough_enabled() )
> +            return -EOPNOTSUPP;
> +
> +        ret = -EFAULT;
> +        if ( copy_from_guest(&dev, arg, 1) != 0 )
> +            break;
> +
> +        ret = pci_reset_device_state(dev.seg, dev.bus, dev.devfn);
> +        break;
> +    }
> +
>      default:
>          ret = -ENOSYS;
>          break;
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 3bec9a4153..e9c3eb1cd6 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -103,6 +103,15 @@ int vpci_add_handlers(struct pci_dev *pdev)
>  
>      return rc;
>  }
> +
> +int vpci_reset_device_state(struct pci_dev *pdev)
> +{
> +    ASSERT(pcidevs_locked());
> +
> +    vpci_remove_device(pdev);
> +    return vpci_add_handlers(pdev);
> +}
> +
>  #endif /* __XEN__ */
>  
>  static int vpci_register_cmp(const struct vpci_register *r1,
> diff --git a/xen/include/public/physdev.h b/xen/include/public/physdev.h
> index f0c0d4727c..4156948903 100644
> --- a/xen/include/public/physdev.h
> +++ b/xen/include/public/physdev.h
> @@ -305,6 +305,8 @@ struct physdev_pci_device {
>  typedef struct physdev_pci_device physdev_pci_device_t;
>  DEFINE_XEN_GUEST_HANDLE(physdev_pci_device_t);
>  
> +#define PHYSDEVOP_pci_device_state_reset      32

This needs some comment in order to explain the expected behaviour,
and might be better placed a bit up after PHYSDEVOP_release_msix.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 14:09:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 14:09:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643209.1003178 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7ymh-0002f0-Mf; Tue, 28 Nov 2023 14:09:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643209.1003178; Tue, 28 Nov 2023 14: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 1r7ymh-0002et-K5; Tue, 28 Nov 2023 14:09:55 +0000
Received: by outflank-mailman (input) for mailman id 643209;
 Tue, 28 Nov 2023 14:09: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=ImyS=HJ=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r7ymg-0002dM-BK
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 14:09:54 +0000
Received: from mail-ed1-x531.google.com (mail-ed1-x531.google.com
 [2a00:1450:4864:20::531])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cc87629b-8df7-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 15:09:52 +0100 (CET)
Received: by mail-ed1-x531.google.com with SMTP id
 4fb4d7f45d1cf-548f0b7ab11so7425778a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 06:09:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc87629b-8df7-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701180592; x=1701785392; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=PlrdFyGNurI44kKWdXyrbgiAqyzrPSoKNJZniOqbxKw=;
        b=Tdxe2JGDP31VhXml6/b/w17LjOvLB4lijWpVbVvfBCCLh9WlQE5UdB7fHlHgsV7GOq
         ucUsY1zqi0ibWAJH/rglcLwRbdjfCko1SPLex0PnQoJKY83RNj/KNW3rpeRJAep2Ih/E
         8EwATQXbKAx3hLLkNu2sg3cEpsMfKiE49KZOVIHV7hqtbQgbjtbEn4x47Kt7Ht9kX0N8
         4HMvY5qVQt/Uo3S+olJ39IDEZxEU+gevKITPV+34NF+43sAWTLSpQS6FxE7iUAqV9FLk
         q1GXe93DZzevOlkR1wa9On22ywGoedILVqsu2zpWm7k/UhIiUV+mLsvGktqppBE4VSxs
         jaSw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701180592; x=1701785392;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=PlrdFyGNurI44kKWdXyrbgiAqyzrPSoKNJZniOqbxKw=;
        b=tH+cuwyD4VvSstSlq/byb3O3BY2I8wsJr3VSxjljLF2vpkoW9Bld1jde6zEssPOvRz
         D5kGfPer5+Bkyr3v/EaldDYnNoBSy3JJMtonxcUVepFGoCUjBGRlZBNYQg3U5N9Gg7tX
         9PNtpB/25uaYKqyxKeM2vpQi7RbjsO+Dtc5xp1pvl4WT6U6qL0yBYe/Tytf5KE/PUO6a
         /XPIl2ViCBlWxa3LCdvPuYtr9Rw35j+faCG1r29kbpT8KvPT2MLyyXdK+6WQsIdKgPZo
         AoAldRWIqJI6g5UWrtLcvhJTTFudyW49KT8kAOpyP78Z8ZfKGATQynx5UYfpDnJ5iPcv
         j5Hg==
X-Gm-Message-State: AOJu0YyBDDz+wp2ggyzF78ua6dw4u1i66HuoyN3Gf3Jhn8kn9UFGBbka
	GnBYHvQ113MBROuwE14/3e1lMLNXMcbb0AM6k+k=
X-Google-Smtp-Source: AGHT+IHyEbMr4ubxy5b3vHZDq1v0O84MM5I7dgFR1+zZUzfVOj0RFT+K6gXKUORTfOuLHp48+R1vbTWCMP3gGO5FyM0=
X-Received: by 2002:a17:906:73d0:b0:a03:edf:ba1c with SMTP id
 n16-20020a17090673d000b00a030edfba1cmr10709792ejl.1.1701180591341; Tue, 28
 Nov 2023 06:09:51 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net> <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
 <ZWUgfkP4U5kOmQNj@mattapan.m5p.com> <ZWXvBMaRJ5Lbb5S9@macbook>
In-Reply-To: <ZWXvBMaRJ5Lbb5S9@macbook>
From: Mario Marietto <marietto2008@gmail.com>
Date: Tue, 28 Nov 2023 15:09:14 +0100
Message-ID: <CA+1FSii4WeKQBuzW9TS_AkHD2nbm=Q+iL9j3wkfu+ZsC0V_=1w@mail.gmail.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32 bit
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Elliott Mitchell <ehem+freebsd@m5p.com>, Chuck Zmudzinski <brchuckz@netscape.net>, 
	Demi Marie Obenour <demi@invisiblethingslab.com>, Anthony PERARD <anthony.perard@citrix.com>, 
	Julien Grall <julien@xen.org>, Xen-devel <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>
Content-Type: multipart/alternative; boundary="000000000000d885fe060b36f868"

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

For booting a FreeBSD kernel as a guest OS on XEN,should we install xen
4.18 from source ?

On Tue, Nov 28, 2023 at 2:45=E2=80=AFPM Roger Pau Monn=C3=A9 <roger.pau@cit=
rix.com>
wrote:

> On Mon, Nov 27, 2023 at 03:04:30PM -0800, Elliott Mitchell wrote:
> > BTW Roger Pau Monn=C3=A9, now that Xen 4.18 is out, take a look at the
> > "royger" branch?
>
> I've pushed a bunch of those, there are still some, I've made comments
> on the branch.
>
> I think there isn't much left after the swept I've done.
>
> If you can rebase and reply to the comments I will take a look at
> what's remaining.
>
> Regards, Roger.
>


--=20
Mario.

--000000000000d885fe060b36f868
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">For booting a FreeBSD kernel as a guest OS on XEN,should w=
e install xen 4.18 from source ? <br></div><br><div class=3D"gmail_quote"><=
div dir=3D"ltr" class=3D"gmail_attr">On Tue, Nov 28, 2023 at 2:45=E2=80=AFP=
M Roger Pau Monn=C3=A9 &lt;<a href=3D"mailto:roger.pau@citrix.com">roger.pa=
u@citrix.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" styl=
e=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddin=
g-left:1ex">On Mon, Nov 27, 2023 at 03:04:30PM -0800, Elliott Mitchell wrot=
e:<br>
&gt; BTW Roger Pau Monn=C3=A9, now that Xen 4.18 is out, take a look at the=
<br>
&gt; &quot;royger&quot; branch?<br>
<br>
I&#39;ve pushed a bunch of those, there are still some, I&#39;ve made comme=
nts<br>
on the branch.<br>
<br>
I think there isn&#39;t much left after the swept I&#39;ve done.<br>
<br>
If you can rebase and reply to the comments I will take a look at<br>
what&#39;s remaining.<br>
<br>
Regards, Roger.<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--000000000000d885fe060b36f868--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 14:11:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 14:11:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643213.1003189 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7yoH-0004IA-6F; Tue, 28 Nov 2023 14:11:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643213.1003189; Tue, 28 Nov 2023 14:11: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 1r7yoH-0004I3-2H; Tue, 28 Nov 2023 14:11:33 +0000
Received: by outflank-mailman (input) for mailman id 643213;
 Tue, 28 Nov 2023 14:11: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=/U+o=HJ=casper.srs.infradead.org=BATV+1109833b3cfcadd2158c+7401+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r7yoE-0004Hn-3f
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 14:11:31 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 057b042b-8df8-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 15:11:28 +0100 (CET)
Received: from [2001:8b0:10b:5:f9ea:a921:5c3e:db1d]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r7yo3-00CQQo-Hh; Tue, 28 Nov 2023 14: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>
X-Inumbo-ID: 057b042b-8df8-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=A8H4YFefXZoEJ7R00UxgIz/kgIL4v0DxDKH+UFE+enE=; b=WPCqOskbw3mxvg7bShMbpxiFlS
	rub9WdrOXDfOavdk3YF6oDmsu8Ds8anbxe8OkFSjSLkd6LKG23ieo7c7gWJlh2zDWsjGO37E+wjnI
	5dZH0N2NphHJ5RrLX/b2/m3LiXvjna66fsLxmSTQSKKBX8cGOCHZx7LKAl62KHnPrDHF1Ut6uqLQS
	qfKycws9xDnfvOPOVyXTO9jFwtfkeRpeZ6mRrTWQxGZaODouYMo/oYL1GmWIrGuAzOA1IMq9s5T04
	HPuIN/ulXst61x8Eq7tJ1OWt5jY3/EH9El7jhnPxTbGZjqR0aXb6FpXWJy1SnETFaUzMdRA4P/5dV
	1ayNCMaA==;
Message-ID: <685c9b037b66dd250565f3022d53297c02a3cccd.camel@infradead.org>
Subject: Re: [EXTERNAL] [PATCH v3 2/5] xen: backends: don't overwrite
 XenStore nodes created by toolstack
From: David Woodhouse <dwmw2@infradead.org>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>, Stefano Stabellini
 <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Paul Durrant
 <xadimgnik@gmail.com>, Oleksandr Tyshchenko
 <Oleksandr_Tyshchenko@epam.com>,  Anthony Perard
 <anthony.perard@citrix.com>, Paul Durrant <paul@xen.org>, Kevin Wolf
 <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
 =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>,  Paolo
 Bonzini <pbonzini@redhat.com>, Jason Wang <jasowang@redhat.com>, "open
 list:X86 Xen CPUs" <xen-devel@lists.xenproject.org>, "open list:Block 
 layer core" <qemu-block@nongnu.org>
Date: Tue, 28 Nov 2023 14:11:18 +0000
In-Reply-To: <87il5mvfkt.fsf@epam.com>
References: <20231124232400.943580-1-volodymyr_babchuk@epam.com>
	 <20231124232400.943580-3-volodymyr_babchuk@epam.com>
	 <51fd9b1f4407b92352c109cbef5acf16c91351d4.camel@infradead.org>
	 <87il5mvfkt.fsf@epam.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-Vf+wu7c63S3rqDwH86wx"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Tue, 2023-11-28 at 01:20 +0000, Volodymyr Babchuk wrote:
> Hi David,
>=20
> Thank you for the review
>=20
> David Woodhouse <dwmw2@infradead.org> writes:
>=20
> > [[S/MIME Signed Part:Undecided]]
> > On Fri, 2023-11-24 at 23:24 +0000, Volodymyr Babchuk wrote:
> > > Xen PV devices in QEMU can be created in two ways: either by QEMU
> > > itself, if they were passed via command line, or by Xen toolstack. In
> > > the latter case, QEMU scans XenStore entries and configures devices
> > > accordingly.
> > >=20
> > > In the second case we don't want QEMU to write/delete front-end
> > > entries for two reasons: it might have no access to those entries if
> > > it is running in un-privileged domain and it is just incorrect to
> > > overwrite entries already provided by Xen toolstack, because
> > > toolstack
> > > manages those nodes. For example, it might read backend- or frontend-
> > > state to be sure that they are both disconnected and it is safe to
> > > destroy a domain.
> > >=20
> > > This patch checks presence of xendev->backend to check if Xen PV
> > > device was configured by Xen toolstack to decide if it should touch
> > > frontend entries in XenStore. Also, when we need to remove XenStore
> > > entries during device teardown only if they weren't created by Xen
> > > toolstack. If they were created by toolstack, then it is toolstack's
> > > job to do proper clean-up.
> > >=20
> > > Suggested-by: Paul Durrant <xadimgnik@gmail.com>
> > > Suggested-by: David Woodhouse <dwmw@amazon.co.uk>
> > > Co-Authored-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
> > > Signed-off-by: Volodymyr Babchuk <volodymyr_babchuk@epam.com>
> >=20
> > Reviewed-by: David Woodhouse <dwmw@amazon.co.uk>
> >=20
> > ... albeit with a couple of suggestions...=20
> >=20
> > > diff --git a/hw/char/xen_console.c b/hw/char/xen_console.c
> > > index bef8a3a621..b52ddddabf 100644
> > > --- a/hw/char/xen_console.c
> > > +++ b/hw/char/xen_console.c
> > > @@ -450,7 +450,7 @@ static void xen_console_realize(XenDevice *xendev=
, Error **errp)
> > >=20
> > > =C2=A0=C2=A0=C2=A0=C2=A0 trace_xen_console_realize(con->dev, object_g=
et_typename(OBJECT(cs)));
> > >=20
> > > -=C2=A0=C2=A0=C2=A0 if (CHARDEV_IS_PTY(cs)) {
> > > +=C2=A0=C2=A0=C2=A0 if (CHARDEV_IS_PTY(cs) && !xendev->backend) {
> > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 /* Strip the leading=
 'pty:' */
> > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 xen_device_frontend_=
printf(xendev, "tty", "%s", cs->filename + 4);
> > > =C2=A0=C2=A0=C2=A0=C2=A0 }
> >=20
> >=20
> > It's kind of weird that that one is a frontend node at all; surely it
> > should have been a backend node?
>=20
> Yeah, AFAIK, console was the first PV driver, so it is a bit strange.
> As I see, this frontend entry is used by "xl console" tool to find PTY
> device to attach to. So yes, it should be in backend part of the
> xenstore. But I don't believe we can fix this right now.

Agreed.

> > But it is known only to QEMU once it
> > actually opens /dev/ptmx and creates a new pty. It can't be populated
> > by the toolstack in advance.
> >=20
> > So shouldn't the toolstack have made it writable by the driver domain?
>=20
> Maybe it can lead to a weird situation when user in Dom-0 tries to use
> "xl console" command to attach to a console that is absent in Dom-0,
> because "tty" entry points to PTY in the driver domain.

True, but that possibility exists the moment you have console provided
in a driver domain.

...

> > Perhaps here you should create the "mac" node if it doesn't exist (or
> > is that "if it doesn't match netdev->conf.macaddr"?) and just
> > gracefully accept failure too?
> >=20
>=20
> I am not sure that I got this right. conf.maccadr can be sent in two
> ways: via xen_net_device_create(), which will fail if toolstack didn't
> provided a MAC address, or via qemu_macaddr_default_if_unset(), which is
> the case for Xen emulation.

The latter happens with hotplug under Xen too, not just Xen emulation.

But the key point you make is that xen_net_device_create() will refuse
to drive a device which the toolstack created, if the "mac" node isn't
present. So creating it for ourselves based on 'if (!xendev->backend)'
as you did in your patch is reasonable enough. Thanks.


--=-Vf+wu7c63S3rqDwH86wx
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTI4MTQxMTE4WjAvBgkqhkiG9w0BCQQxIgQgphxmPZCN
5DEzdK5wzOBqoHt37Do80zTyZXZZiCWmZOswgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCzKh26ZcWWqrIYQxL+3JK/SxMTcyKrsUjg
k4V4OY6+qKqwCbYB/C8y/ftVLWFtEh7IqECglAtigsm4TrOqNxJZtrxAvWnV3rJNSEUdpV1rRC+B
iRSQTaaYVv+IuEJibKjTmrtMPh2jK/O6bxThQAtYE9pZ1wlZL62o9zFw4zbb8hIxn88ngdLyRSLy
PtL2P7qzbizeegHbcfk7Es0xisIboTXblr/H9NZ12IW7nNzsczlfj0D0XOv7Xw8gRg2KqepSmeQ6
B6XwfSHt5lWl2XrgAlEyF1qZIq91vJAWXU7B4K0MyOTnWmsTwe25iJfEnmdzwHS9BnLxkPGDdCQN
RBj6mGE/wWrtvEwSWbFCjmDV7xum6kpjrt0tfrcn1zPiV1Gmtsi4FXQrXjjj2dGqWXmMWLUOHc+V
Ic/mD0hOw/gfuX23Ik42SGi4M754+PTzrdRpzPV7LRjtRyjGuIM5wRd0BRoE9f/s6BSjXHOPRt9G
emoQYOBx/sXwnv5exHoP42avM2vb3BqED6R/394HbnarH8+Me+KYkgkRcQ/qKJCcb0IGUslg+YvG
SR9kVb7akbDSsX89CibvVFo1OAYa710X/USZmTCltBy6cjO+oES6rVHhuFrPEDicscCPXgDaQ6k9
66zC1mp2iUXTuLtdnMVW2pEYaAqGI/7Yw7Z3vz4/IwAAAAAAAA==


--=-Vf+wu7c63S3rqDwH86wx--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 14:17:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 14:17:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643226.1003214 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7yu2-00067x-2m; Tue, 28 Nov 2023 14:17:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643226.1003214; Tue, 28 Nov 2023 14:17: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 1r7yu1-00067o-Va; Tue, 28 Nov 2023 14:17:29 +0000
Received: by outflank-mailman (input) for mailman id 643226;
 Tue, 28 Nov 2023 14:17: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 1r7yu1-0005ul-2q; Tue, 28 Nov 2023 14:17: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 1r7yu0-0001Yr-RV; Tue, 28 Nov 2023 14:17: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 1r7yu0-0001xj-Fh; Tue, 28 Nov 2023 14:17:28 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7yu0-00024z-FC; Tue, 28 Nov 2023 14:17: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=Ub9d1HFZ4TtbohXKBNj5/eGUDI1ik7MuacoEpBEhUQM=; b=VUK2VRRCXhQR9tcue57SiJf9wS
	C17Hoc4ruAe1v0L1FVKTn/R/0UlzO6lPskj467JNjZ/c95k+RdgeQEJJqV41Te7Vb+ixtOqIalMNl
	Ob5zxdkSzqvFPk/kCvZ1F7CBHl04qqTxghbUgSZRB3pVBYzyphftLH/54axHTwDoKSV8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183880-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183880: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=6f11304849f303cbc2d3896261eff9f91acae52d
X-Osstest-Versions-That:
    libvirt=d9a1fe8ac4ca7c503efcb0ed90742fe5d223ad03
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 14:17:28 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183861
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183861
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183861
 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-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     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     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-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-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-amd64-amd64-libvirt-vhd 14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 15 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

version targeted for testing:
 libvirt              6f11304849f303cbc2d3896261eff9f91acae52d
baseline version:
 libvirt              d9a1fe8ac4ca7c503efcb0ed90742fe5d223ad03

Last test of basis   183861  2023-11-26 04:20:30 Z    2 days
Testing same since   183880  2023-11-28 04:18:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Jiri Denemark <jdenemar@redhat.com>
  Peter Krempa <pkrempa@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   d9a1fe8ac4..6f11304849  6f11304849f303cbc2d3896261eff9f91acae52d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 14:17:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 14:17:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643225.1003205 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7yu0-0005t6-Qq; Tue, 28 Nov 2023 14:17:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643225.1003205; Tue, 28 Nov 2023 14:17: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 1r7yu0-0005sj-OH; Tue, 28 Nov 2023 14:17:28 +0000
Received: by outflank-mailman (input) for mailman id 643225;
 Tue, 28 Nov 2023 14:17: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7ytz-0005rc-AE
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 14:17:27 +0000
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com
 [2a00:1450:4864:20::22c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id da70b49a-8df8-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 15:17:25 +0100 (CET)
Received: by mail-lj1-x22c.google.com with SMTP id
 38308e7fff4ca-2c9b88cf626so4866651fa.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 06:17:25 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 24-20020a05600c231800b0040b36050f1bsm17325619wmo.44.2023.11.28.06.17.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 06:17:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: da70b49a-8df8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701181045; x=1701785845; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=VsMkPMJah0sshQqUAObhpuJvuKhX90P2yhCTBHvAGbQ=;
        b=mM7wHdjUXp3ouCmshgO9xNkSL5Dcv9gOiD9PXD07TIJCMUsWXzSZdj56mHvDPoba9c
         O3+GXhMgQF4nTHNCuLcBC4YqQd9wnjfG6yKX08x7CSO3BTPuLOa1XkKxWDnJrODWRxre
         +W6LkXhLzpOfN95EIS+N/NoIf9SlpfFzUQdcU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701181045; x=1701785845;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=VsMkPMJah0sshQqUAObhpuJvuKhX90P2yhCTBHvAGbQ=;
        b=UMm9wyHdgQDriSKnns+E5CN8QtFgaXPdPKf1d1jUphdqAGC/2XbCPlXdpNc+xZk3HG
         Nlt16/bHmY18eF2EEKO1rZmBtoJ4IyoLpHjua2+bk4LHGdsW3zOg6JF6VxItRbAWcVFi
         LrKyDdDMAE+/cg2KFowX3zaEA24t7Kw8eQ86jj/qLQ73JWb8hjbuigidRU2ITrlIATcO
         uGokO6aJMqNLd11IU+P/Gh8pkpemZhTeMGF6NiohPoSS7EHf0284THZAO/0yB9Wm4ZSB
         WjmVgd1TUkCntIZwtZjp4oHrc4CDxj2ERxTkWazOOkuCh1bSoteIMY2InBgKunrwzdLG
         bnqA==
X-Gm-Message-State: AOJu0YxJ3n9AWAAFMVTyuPmu0AMB/5jw1cVot2+g9bAZxFYWz0zP78f6
	b1TvDRKlDQ6nCScZJPtPDiUpow==
X-Google-Smtp-Source: AGHT+IE2VidwYduX3+IUWzCNWkz7fH0MJcFoy+9n6bs9SgisPO6hvJgpWGU9CHGg3fgT+xIjWSxO2A==
X-Received: by 2002:ac2:4a91:0:b0:50b:b9f4:b9e3 with SMTP id l17-20020ac24a91000000b0050bb9f4b9e3mr1265253lfp.53.1701181044692;
        Tue, 28 Nov 2023 06:17:24 -0800 (PST)
Date: Tue, 28 Nov 2023 15:17:23 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
	Alex Deucher <Alexander.Deucher@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Huang Rui <Ray.Huang@amd.com>,
	Honglei Huang <Honglei1.Huang@amd.com>,
	Julia Zhang <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Message-ID: <ZWX2c7oQfeZxrpEF@macbook>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-3-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231124104136.3263722-3-Jiqian.Chen@amd.com>

On Fri, Nov 24, 2023 at 06:41:35PM +0800, Jiqian Chen wrote:
> If we run Xen with PVH dom0 and hvm domU, hvm will map a pirq for
> a passthrough device by using gsi, see xen_pt_realize->xc_physdev_map_pirq
> and pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq will
> call into Xen, but in hvm_physdev_op, PHYSDEVOP_map_pirq is not allowed
> because currd is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag, it will
> fail at has_pirq check.
> 
> So, I think we may need to allow PHYSDEVOP_map_pirq when currd is dom0 (at

And PHYSDEVOP_unmap_pirq also?

> present dom0 is PVH).

IMO it would be better to implement a new set of DMOP hypercalls that
handle the setup of interrupts from physical devices that are assigned
to a guest.  That should allow us to get rid of the awkward PHYSDEVOP
+ XEN_DOMCTL_{,un}bind_pt_irq hypercall interface, which currently
prevents QEMU from being hypervisor version agnostic (since the domctl
interface is not stable).

I understand this might be too much to ask for, but something to take
into account.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 14:19:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 14:19:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643237.1003225 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7yvV-0007Mm-KG; Tue, 28 Nov 2023 14:19:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643237.1003225; Tue, 28 Nov 2023 14:19: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 1r7yvV-0007Mf-FU; Tue, 28 Nov 2023 14:19:01 +0000
Received: by outflank-mailman (input) for mailman id 643237;
 Tue, 28 Nov 2023 14:19: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 1r7yvV-0007L4-30; Tue, 28 Nov 2023 14:19: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 1r7yvV-0001aU-1J; Tue, 28 Nov 2023 14:19: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 1r7yvU-0001zj-Kl; Tue, 28 Nov 2023 14:19:00 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r7yvU-0002B5-KH; Tue, 28 Nov 2023 14:19: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=8s6ViTdu22ixRV1yEz1HoKqwuj1VXoMOsKOkBoUMqfk=; b=lr6eY0tF4pCEfaaml8YN4naC2I
	zvKiLUV5Wb0ci84neD5U8T6yimtofkPf5xiTrfOrEW9ayTO0gbkGuEjAj8DA5p85RpT0QT7KH5LlH
	oy96XxtuKK2ya+PQIkdtnTgjz4vlQvMc2kndmvi/223fhho45JJuwBlfU7RKsB3ZfQS0=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183891-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183891: regressions - all pass
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-arm64-xsm:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-armhf:xen-build/dist-test:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=72d51813d631fe27d37736b7a55eeec08f246983
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 14:19:00 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   7 xen-build/dist-test      fail REGR. vs. 183851
 build-arm64-xsm               7 xen-build/dist-test      fail REGR. vs. 183851
 build-armhf                   7 xen-build/dist-test      fail REGR. vs. 183851

Tests which did not succeed, but are not blocking:
 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-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                  72d51813d631fe27d37736b7a55eeec08f246983
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    4 days
Failing since        183871  2023-11-27 14:00:26 Z    1 days    5 attempts
Testing same since   183874  2023-11-27 19:00:27 Z    0 days    4 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 72d51813d631fe27d37736b7a55eeec08f246983
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Nov 27 15:18:48 2023 +0100

    x86: amend cpu_has_xen_{ibt,shstk}
    
    ... to evaluate to false at compile-time when the respective Kconfig
    control is off, thus allowing the compiler to eliminate then-dead code.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 17754972fa98bff2dfdec09b8094f54530bafcb8
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:56 2023 +0100

    x86/atomic: address violations of MISRA C:2012 Rule 11.8
    
    Edit casts that unnecessarily remove const qualifiers
    to comply with Rule 11.8.
    The type of the provided pointer may be const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fc63c0ebefe7e9d166b07971273c1de62428eb18
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:32 2023 +0100

    AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
    
    Drop an unnecessary cast discarding a const qualifier, to comply with
    Rule 11.8. The type of the formal parameter ivhd_block is const
    qualified.
    
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fe26cb2dd20fa864deb05e4b278bc9993ba120e6
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:07 2023 +0100

    x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
    
    Add missing const qualifier in casting to comply with Rule 11.8.
    Argument tag is typically const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 09c2fe438da1dfc83f70d921b52240bea576615f
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:16:43 2023 +0100

    x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
    
    Add const qualifier in cast that unnecessarily removes it
    to comply with Rule 11.8.
    The variable info is declared with a const qualified type.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Nov 27 15:16:01 2023 +0100

    livepatch: do not use .livepatch.funcs section to store internal state
    
    Currently the livepatch logic inside of Xen will use fields of struct
    livepatch_func in order to cache internal state of patched functions.  Note
    this is a field that is part of the payload, and is loaded as an ELF section
    (.livepatch.funcs), taking into account the SHF_* flags in the section
    header.
    
    The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
    are SHF_ALLOC, which leads to its contents (the array of livepatch_func
    structures) being placed in read-only memory:
    
    Section Headers:
      [Nr] Name              Type             Address           Offset
           Size              EntSize          Flags  Link  Info  Align
    [...]
      [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
           0000000000000068  0000000000000000   A       0     0     8
    
    This previously went unnoticed, as all writes to the fields of livepatch_func
    happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
    however WP is no longer toggled in CR0 for patch application, and only the
    hypervisor .text mappings are made write-accessible.  That leads to the
    following page fault when attempting to apply a livepatch:
    
    ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
    CPU:    4
    RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
    [...]
    Xen call trace:
       [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
       [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
       [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee
    
    Pagetable walk from ffff82d040625079:
     L4[0x105] = 000000008c6c9063 ffffffffffffffff
     L3[0x141] = 000000008c6c6063 ffffffffffffffff
     L2[0x003] = 000000086a1e7063 ffffffffffffffff
     L1[0x025] = 800000086ca5d121 ffffffffffffffff
    
    ****************************************
    Panic on CPU 4:
    FATAL PAGE FAULT
    [error_code=0003]
    Faulting linear address: ffff82d040625079
    ****************************************
    
    Fix this by moving the internal Xen function patching state out of
    livepatch_func into an area not allocated as part of the ELF payload.  While
    there also constify the array of livepatch_func structures in order to prevent
    further surprises.
    
    Note there's still one field (old_addr) that gets set during livepatch load.  I
    consider this fine since the field is read-only after load, and at the point
    the field gets set the underlying mapping hasn't been made read-only yet.
    
    Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

commit 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:15:09 2023 +0100

    xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
    
    Add missing parameter names and uniform the interfaces of
    modify_xen_mappings() and modify_xen_mappings_lite().
    
    No functional change.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit b82b867a6694368b9a74ed00397b2393d129a24d
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:14:00 2023 +0100

    x86/mm: preparation work to uniform modify_xen_mappings* interfaces
    
    The objective is to use parameter name "nf" to denote "new flags"
    in all the modify_xen_mappings* functions.
    Since modify_xen_mappings_lite() is currently using "nf" as identifier
    for a local variable, bad things could happen if new uses of such
    variable are committed while a renaming patch is waiting for the
    approval.
    To avoid such danger, as first thing rename the local variable from
    "nf" to "flags".
    
    No functional change.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit fbcec32d6d3ea0ac329301925b317478316209ed
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:39:55 2023 +0000

    x86/mem_sharing: Release domain if we are not able to enable memory sharing
    
    In case it's not possible to enable memory sharing (mem_sharing_control
    fails) we just return the error code without releasing the domain
    acquired some lines above by rcu_lock_live_remote_domain_by_id().
    
    Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit b9eeb1992676ec83cee285b97fee94d03eaa9836
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:26:20 2023 +0000

    x86/mem_sharing: Fix typo in comment
    
    ambigious -> ambiguous
    
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 14:25:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 14:25:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643249.1003234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7z1Z-00025f-87; Tue, 28 Nov 2023 14:25:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643249.1003234; Tue, 28 Nov 2023 14: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 1r7z1Z-00025Y-5N; Tue, 28 Nov 2023 14:25:17 +0000
Received: by outflank-mailman (input) for mailman id 643249;
 Tue, 28 Nov 2023 14:25: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7z1X-00025S-Bc
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 14:25:15 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f189ea29-8df9-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 15:25:13 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40b4f6006d5so3467835e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 06:25:13 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 u4-20020a05600c138400b004065e235417sm18384941wmf.21.2023.11.28.06.25.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 06:25:12 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f189ea29-8df9-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701181513; x=1701786313; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=eBh6DRsosWy2QUl1WoyyGDk5mSjieb4+YhhSeYKF1Mw=;
        b=eMgWDPUN/mmWa3ASsFvzaZ98/Xs0iLwOrKW+NxETemlux4cPqVZENftx8S9h0MM+e+
         W+a9juKAnVgpfOznPgIyfQZL2xui0hhG/vsmlY2G6Tmu5OapTYKVsWst1l3IbX2D62zz
         MRVeFb+7Aew094+fzMeKRRkYq8mCldGc+nvR0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701181513; x=1701786313;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=eBh6DRsosWy2QUl1WoyyGDk5mSjieb4+YhhSeYKF1Mw=;
        b=bLrjwXU7GHjsISPLP7qFo5rXtal+6NtpNtPcKgEb6W2T4NhWgsAd/I+Mp3+jEhgPC9
         P4lAKtoan8nLIBI2u/I6bcC/jSQMxKOu64c/9+vD2/YKkKMnqIbfQat92Z8D1Y9BRg5o
         g4cB2fq6Z/JtA+W5LJBRU7iCFK59+c58stD2UItK7WFyrsp8h+bEL7totaM5u/CEUudg
         7wvZDzifW768YTxmLtmM2O1Me1W98uWv4JPgqP8N5nKgATWfF9R6cUmSWLyFsjN3AAyg
         TT/7bMqHdpa3dVBzwyaGWPFBc2+ug8Pe3HAyIU/4xrVguesZKDAT44qvXFCbO7vj0xAH
         DCuw==
X-Gm-Message-State: AOJu0Yz/CR2p9/3ntA6I63hkYLbwCNj0VCr9j9o/t/55MMf9S8z0EaUo
	YBFlp0/05FJF3d66XAUSIl4bzw==
X-Google-Smtp-Source: AGHT+IHe0MPO8nPyZ/8M3LQxyesFeGywGLMICn+H5RoaDQA510JLU/smF8UTk4G47mVU4RChNe7Hgg==
X-Received: by 2002:a05:600c:524a:b0:40b:4ba1:c502 with SMTP id fc10-20020a05600c524a00b0040b4ba1c502mr1737243wmb.37.1701181513012;
        Tue, 28 Nov 2023 06:25:13 -0800 (PST)
Date: Tue, 28 Nov 2023 15:25:11 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
	Alex Deucher <Alexander.Deucher@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Huang Rui <Ray.Huang@amd.com>,
	Honglei Huang <Honglei1.Huang@amd.com>,
	Julia Zhang <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
Message-ID: <ZWX4R9UEE6oXiqaz@macbook>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-4-Jiqian.Chen@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231124104136.3263722-4-Jiqian.Chen@amd.com>

On Fri, Nov 24, 2023 at 06:41:36PM +0800, Jiqian Chen wrote:
> In PVH dom0, it uses the linux local interrupt mechanism,
> when it allocs irq for a gsi, it is dynamic, and follow
> the principle of applying first, distributing first. And
> if you debug the kernel codes, you will find the irq
> number is alloced from small to large, but the applying
> gsi number is not, may gsi 38 comes before gsi 28, that
> causes the irq number is not equal with the gsi number.
> And when we passthrough a device, QEMU will use its gsi
> number to do mapping actions, see xen_pt_realize->
> xc_physdev_map_pirq, but the gsi number is got from file
> /sys/bus/pci/devices/xxxx:xx:xx.x/irq in current code,
> so it will fail when mapping.
> And in current codes, there is no method to translate
> irq to gsi for userspace.

I think it would be cleaner to just introduce a new sysfs node that
contains the gsi if a device is using one (much like the irq sysfs
node)?

Such ioctl to translate from IRQ to GSI has nothing to do with Xen, so
placing it in privcmd does seem quite strange to me.  I understand
that for passthrough we need the GSI, but such translation layer from
IRQ to GSI is all Linux internal, and it would be much simpler to just
expose the GSI in sysfs IMO.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 14:42:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 14:42:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643258.1003251 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7zIJ-0001IE-N4; Tue, 28 Nov 2023 14:42:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643258.1003251; Tue, 28 Nov 2023 14:42: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 1r7zIJ-0001I7-Js; Tue, 28 Nov 2023 14:42:35 +0000
Received: by outflank-mailman (input) for mailman id 643258;
 Tue, 28 Nov 2023 14:42: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=7TP6=HJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r7zII-0001Hz-JX
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 14:42:34 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5d216c39-8dfc-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 15:42:33 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 3B53C219A0;
 Tue, 28 Nov 2023 14:42:32 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id CE2C513763;
 Tue, 28 Nov 2023 14:42:31 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id yej/MFf8ZWWGQgAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 28 Nov 2023 14:42: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: 5d216c39-8dfc-11ee-98e3-6d05b1d4d9a1
Message-ID: <6ee9c6e2-7ebf-42c6-a923-57f9da093160@suse.com>
Date: Tue, 28 Nov 2023 15:42:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Alex Deucher <Alexander.Deucher@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Huang Rui <Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>,
 Julia Zhang <Julia.Zhang@amd.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-4-Jiqian.Chen@amd.com> <ZWX4R9UEE6oXiqaz@macbook>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <ZWX4R9UEE6oXiqaz@macbook>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------c9lh7FAeFFG1TW4tV3CZpuRA"
X-Spamd-Bar: +++++++++++++++++
X-Spam-Score: 17.20
X-Rspamd-Server: rspamd1
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:97 as permitted sender) smtp.mailfrom=jgross@suse.com;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine)
X-Rspamd-Queue-Id: 3B53C219A0
X-Spam-Flag: NO
X-Spam-Level: *****************
X-Spamd-Result: default: False [17.20 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 ARC_NA(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_TWELVE(0.00)[14];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 NEURAL_SPAM_LONG(2.40)[0.685];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------c9lh7FAeFFG1TW4tV3CZpuRA
Content-Type: multipart/mixed; boundary="------------oqQfMm0yUt44SI3k0RCz1uAq";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Alex Deucher <Alexander.Deucher@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Huang Rui <Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>,
 Julia Zhang <Julia.Zhang@amd.com>
Message-ID: <6ee9c6e2-7ebf-42c6-a923-57f9da093160@suse.com>
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-4-Jiqian.Chen@amd.com> <ZWX4R9UEE6oXiqaz@macbook>
In-Reply-To: <ZWX4R9UEE6oXiqaz@macbook>

--------------oqQfMm0yUt44SI3k0RCz1uAq
Content-Type: multipart/mixed; boundary="------------GE9RhkctmMjbfm1pjd41clpL"

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

T24gMjguMTEuMjMgMTU6MjUsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+IE9uIEZyaSwg
Tm92IDI0LCAyMDIzIGF0IDA2OjQxOjM2UE0gKzA4MDAsIEppcWlhbiBDaGVuIHdyb3RlOg0K
Pj4gSW4gUFZIIGRvbTAsIGl0IHVzZXMgdGhlIGxpbnV4IGxvY2FsIGludGVycnVwdCBtZWNo
YW5pc20sDQo+PiB3aGVuIGl0IGFsbG9jcyBpcnEgZm9yIGEgZ3NpLCBpdCBpcyBkeW5hbWlj
LCBhbmQgZm9sbG93DQo+PiB0aGUgcHJpbmNpcGxlIG9mIGFwcGx5aW5nIGZpcnN0LCBkaXN0
cmlidXRpbmcgZmlyc3QuIEFuZA0KPj4gaWYgeW91IGRlYnVnIHRoZSBrZXJuZWwgY29kZXMs
IHlvdSB3aWxsIGZpbmQgdGhlIGlycQ0KPj4gbnVtYmVyIGlzIGFsbG9jZWQgZnJvbSBzbWFs
bCB0byBsYXJnZSwgYnV0IHRoZSBhcHBseWluZw0KPj4gZ3NpIG51bWJlciBpcyBub3QsIG1h
eSBnc2kgMzggY29tZXMgYmVmb3JlIGdzaSAyOCwgdGhhdA0KPj4gY2F1c2VzIHRoZSBpcnEg
bnVtYmVyIGlzIG5vdCBlcXVhbCB3aXRoIHRoZSBnc2kgbnVtYmVyLg0KPj4gQW5kIHdoZW4g
d2UgcGFzc3Rocm91Z2ggYSBkZXZpY2UsIFFFTVUgd2lsbCB1c2UgaXRzIGdzaQ0KPj4gbnVt
YmVyIHRvIGRvIG1hcHBpbmcgYWN0aW9ucywgc2VlIHhlbl9wdF9yZWFsaXplLT4NCj4+IHhj
X3BoeXNkZXZfbWFwX3BpcnEsIGJ1dCB0aGUgZ3NpIG51bWJlciBpcyBnb3QgZnJvbSBmaWxl
DQo+PiAvc3lzL2J1cy9wY2kvZGV2aWNlcy94eHh4Onh4Onh4LngvaXJxIGluIGN1cnJlbnQg
Y29kZSwNCj4+IHNvIGl0IHdpbGwgZmFpbCB3aGVuIG1hcHBpbmcuDQo+PiBBbmQgaW4gY3Vy
cmVudCBjb2RlcywgdGhlcmUgaXMgbm8gbWV0aG9kIHRvIHRyYW5zbGF0ZQ0KPj4gaXJxIHRv
IGdzaSBmb3IgdXNlcnNwYWNlLg0KPiANCj4gSSB0aGluayBpdCB3b3VsZCBiZSBjbGVhbmVy
IHRvIGp1c3QgaW50cm9kdWNlIGEgbmV3IHN5c2ZzIG5vZGUgdGhhdA0KPiBjb250YWlucyB0
aGUgZ3NpIGlmIGEgZGV2aWNlIGlzIHVzaW5nIG9uZSAobXVjaCBsaWtlIHRoZSBpcnEgc3lz
ZnMNCj4gbm9kZSk/DQo+IA0KPiBTdWNoIGlvY3RsIHRvIHRyYW5zbGF0ZSBmcm9tIElSUSB0
byBHU0kgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aCBYZW4sIHNvDQo+IHBsYWNpbmcgaXQgaW4g
cHJpdmNtZCBkb2VzIHNlZW0gcXVpdGUgc3RyYW5nZSB0byBtZS4gIEkgdW5kZXJzdGFuZA0K
PiB0aGF0IGZvciBwYXNzdGhyb3VnaCB3ZSBuZWVkIHRoZSBHU0ksIGJ1dCBzdWNoIHRyYW5z
bGF0aW9uIGxheWVyIGZyb20NCj4gSVJRIHRvIEdTSSBpcyBhbGwgTGludXggaW50ZXJuYWws
IGFuZCBpdCB3b3VsZCBiZSBtdWNoIHNpbXBsZXIgdG8ganVzdA0KPiBleHBvc2UgdGhlIEdT
SSBpbiBzeXNmcyBJTU8uDQoNCllvdSBhcmUgYXdhcmUgdGhhdCB3ZSBoYXZlIGEgWGVuIHNw
ZWNpZmljIHZhcmlhbnQgb2YgYWNwaV9yZWdpc3Rlcl9nc2koKT8NCg0KSXQgaXMgdGhlIFhl
biBldmVudCBjaGFubmVsIGRyaXZlciBiZWluZyByZXNwb25zaWJsZSBmb3IgdGhlIEdTSTwt
PklSUQ0KbWFwcGluZy4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------GE9RhkctmMjbfm1pjd41clpL
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------GE9RhkctmMjbfm1pjd41clpL--

--------------oqQfMm0yUt44SI3k0RCz1uAq--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVl/FcFAwAAAAAACgkQsN6d1ii/Ey9O
JAf9HyaJQCiJsNVDeoqgzc+ndZwacqCF6EW4OWMmj66iKJKg8cXwmy2F6CA3XW16XklD2U1Zw0dU
JlTOS0vFWzcVhRaV6i+gGVMVngtx9sERX6j0THc6yLPd+9YHpnnXc2lRSguxEbWmhwGwV+G1Z//O
MNV8wyS0T8lqrTOVbocTDw7jCzkL2gQO5IpoPFJUOaB0JVd89vgdnc3cUO8gt//yKUxVlLbIN2kw
VP0f6ULiA5KkH+K/cL9xGpIW0V6t5m87wsFOE2Bb/9phAArDMxf1tSf2d7/AjuX+4whXv5YVKOxf
6J/3RmGUrZ0op0gX4vlTVDeC/JHMrFX6sDhQcmGYUg==
=+J8g
-----END PGP SIGNATURE-----

--------------c9lh7FAeFFG1TW4tV3CZpuRA--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 14:45:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 14:45:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643262.1003261 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7zKm-0001ys-8N; Tue, 28 Nov 2023 14:45:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643262.1003261; Tue, 28 Nov 2023 14:45: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 1r7zKm-0001yl-5D; Tue, 28 Nov 2023 14:45:08 +0000
Received: by outflank-mailman (input) for mailman id 643262;
 Tue, 28 Nov 2023 14:45: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=C3UE=HJ=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r7zKk-0001yZ-Fj
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 14:45:06 +0000
Received: from mail-lf1-x12e.google.com (mail-lf1-x12e.google.com
 [2a00:1450:4864:20::12e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b82ea506-8dfc-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 15:45:05 +0100 (CET)
Received: by mail-lf1-x12e.google.com with SMTP id
 2adb3069b0e04-50bbc36f767so892534e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 06:45:05 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 c37-20020a05651223a500b0050aa6bdd12esm1859625lfv.6.2023.11.28.06.45.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 06:45:04 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b82ea506-8dfc-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701182705; x=1701787505; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=KfGd4ab310AsxiKSY3TXfdDWoTTuBnt+9aGFV/fwthQ=;
        b=K5vgEC0aFsezCakvMv/jyjECusAFvfboN0edakOcQZB0GT5r+mGY4Qy9MLBYIOiz/8
         qQKXJNtfNebqmmJkK0u7d5K3W4G2ImhdD+grDl4ehFomjLIbb/AZgYIgCGV1nJVav8an
         f+QZi5SzSKwUTIeud2+X3a7yceUx6f4TiM8Dcp9Kkb+sj5+jHD5g9AuaMgMdT/9SLDRy
         8X2neaFm6NFZKFPtZhWDm1NYITpWEfrAjdKDuxfa/0edUGqBvoZkG74JQnz+wJTBnbMv
         fuTdsh3YLmzVdCCgHCZ/p4KOqUI1bD6HNY1v8g6es3z9qo2Yp2o2D0sUVjc4wE4sjxX4
         +Lnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701182705; x=1701787505;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=KfGd4ab310AsxiKSY3TXfdDWoTTuBnt+9aGFV/fwthQ=;
        b=X6BHJyKEQtm2e6MhrxYgODXFTY+n3M9W5xLURM2iSfBpY2XiPNP3msK1RY6fMzX7kW
         K4ezQoRcTahZZS0cTQvatbcmuj8jJsO0sIov3whxivlAYfvpt8f6H1U9lCD6orE/IxJW
         leFtVV/072a710Anoe93jWAqPbEmDfIn/NZD1NzKcF4jCcB6Xzne/GbXJezWvMymgLMf
         ik4qf3APFknts/iUbB3Tifd56fZIJkPzEoZM44dO+ViLnWCz/W6uv83xCuKWBnFl2flH
         IpJ9rHkXjyXHmpy9IJwz3inG1ZRxBe1EKtVa3riWvqV/tu0cJLL6aTN5PA2I0aaS13dG
         nKrA==
X-Gm-Message-State: AOJu0YwlV9zASFi1plm665MUUDLLoephL1NbSErhWMaglXVbbs6fHLgy
	iBJrDJARcuZgSViWfpAYtL8=
X-Google-Smtp-Source: AGHT+IEHFSrGMKpQmty4/o/U1cd110W7l4wI2z4IPM1+ppx0fBqWiclq0BgReY29Fs9WhO6LTBP4AQ==
X-Received: by 2002:ac2:55b9:0:b0:50b:bfc2:7912 with SMTP id y25-20020ac255b9000000b0050bbfc27912mr742519lfg.34.1701182704948;
        Tue, 28 Nov 2023 06:45:04 -0800 (PST)
Message-ID: <c594af5abe74f85a37b05ef9030e6361dfb3b67f.camel@gmail.com>
Subject: Re: [PATCH] .gitignore: generalize *.new
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>, "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>
Date: Tue, 28 Nov 2023 16:45:03 +0200
In-Reply-To: <40438252-0d54-47f0-aad8-e76d57508bc5@suse.com>
References: <40438252-0d54-47f0-aad8-e76d57508bc5@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

Hi Jan,

On Tue, 2023-11-28 at 13:51 +0100, Jan Beulich wrote:
> It's not only in xen/include/xen/ that we generate (intermediate)
> *.new
> files.
>=20
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Really I don't think I can spot what *.new we create in that specific
> directory. xen/include/ certainly has some.
>=20
> --- a/.gitignore
> +++ b/.gitignore
> @@ -17,6 +17,7 @@
> =C2=A0*.so.[0-9]*
> =C2=A0*.bin
> =C2=A0*.bak
> +*.new
> =C2=A0*.tmp
> =C2=A0*.spot
> =C2=A0*.spit
> @@ -277,7 +278,6 @@
> =C2=A0xen/include/config/
> =C2=A0xen/include/generated/
> =C2=A0xen/include/public/public
> -xen/include/xen/*.new
> =C2=A0xen/include/xen/acm_policy.h
> =C2=A0xen/include/xen/compile.h
> =C2=A0xen/include/xen/hypercall-defs.h

I am happy with these changes.

Reviewed-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 15:04:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 15:04:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643271.1003280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7zdm-0000AH-TI; Tue, 28 Nov 2023 15:04:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643271.1003280; Tue, 28 Nov 2023 15:04: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 1r7zdm-0000A2-Qb; Tue, 28 Nov 2023 15:04:46 +0000
Received: by outflank-mailman (input) for mailman id 643271;
 Tue, 28 Nov 2023 15:04: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=zxdS=HJ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r7zdl-00009L-Sk
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 15:04:45 +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 75aff0ec-8dff-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 16:04:42 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-50bbb4de875so923102e87.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 07:04:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75aff0ec-8dff-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701183882; x=1701788682; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=B6RasPRjqLekPaCWTZWVwoaNF9xE1LG4BiV0oARaPgY=;
        b=Bv9BUMTITZ985d9l093sm4ZJpCfng5EeCIqXOZ6TbDGwVJ0C+nzCwi3BQJEJcNA4Qc
         e73tguVao1ws+/NqO0GAUFzwhJOaT4J2qe/8c4IuKTWqLdqqTUcHrBDYmFAIrHDi1mu9
         Z6odYzMKJipCVlBLNtQaJQCavpMqfMVQ/nJepS33yMMuEJNiN9Q+sGbNKC5fDjvJN0Ml
         R2ennBjYAqhcrzu1ierdfs/xF05wR3AOw9/QgN/4VlcB1hZBMMCkL4CaSuTKmQvYgW6n
         yHDYpSuVprey7CTrl4aTVpEFlBHV+9wdp3qQTdR2jc5AmI/tA/Bg+dXL8iehXFqThgOM
         m4mQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701183882; x=1701788682;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=B6RasPRjqLekPaCWTZWVwoaNF9xE1LG4BiV0oARaPgY=;
        b=fduIFRyRLOdeZq/guwexo36t6FxqjM/2xvtFWlkBQ2oum14qcMslykmR0TE4O9QhD+
         sM7srBIYnXXRR54IlXxWa+Lp45Sw5f1HKMBS8Yzf/aplJallCiYrEPthxGgultyVs9BS
         jUe0KeQaWaIu924izo1kv/kTTP6yYGdzwOnJzDJ14ePVz4QmmBhNOtQAyu78lqIfb1Ur
         fSo795Cm1s9iuCKZ/IbpFFlBcEkRayBx0Lze+pBRMnKPwNVjpNEJryDoh2rkcz/IHqn8
         aKR3Qpw3I58miz8eVbKYwcuCtTCJdAC/5/TlcgfwWxNeNSXfYIzG51LCoAwdVC17wj7e
         dMHw==
X-Gm-Message-State: AOJu0YwuR8cS7C39oUbyOUmos61BqDjIlxr7buc7/s7O1DbGFD8rLlI6
	THTvWdPslTUnjYZjpo9dLK7yTsZFtHK/HaOz6So=
X-Google-Smtp-Source: AGHT+IHeNh40yWCjaLBVfoCGZ/wk7inbvg6pxaMLvvP+/1Laqq3LLIWKV/gVTn4t5u1zwB+MqumSTwR+W6xd4Eaeubw=
X-Received: by 2002:a05:6512:68:b0:50b:ad95:7a44 with SMTP id
 i8-20020a056512006800b0050bad957a44mr5432234lfo.46.1701183881686; Tue, 28 Nov
 2023 07:04:41 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-9-jgross@suse.com>
In-Reply-To: <20231110160804.29021-9-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Nov 2023 10:04:29 -0500
Message-ID: <CAKf6xptdYwcS+Jhj2jbyB-CX3kRwUL4vXXceuF3+dDxLA6QOrQ@mail.gmail.com>
Subject: Re: [PATCH v2 08/29] tools/xenlogd: add 9pfs walk request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 1:16=E2=80=AFPM Juergen Gross <jgross@suse.com> wro=
te:
>
> Add the walk request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>

9P2000.u has support for symlinks which you're explicitly not
supporting.  A symlink would only be present if someone on the backend
side created one.  So there could be some corner case that is
disallowed, but it is probably better to just disallow them.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 15:11:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 15:11:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643275.1003292 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7zjk-0002Zk-IB; Tue, 28 Nov 2023 15:10:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643275.1003292; Tue, 28 Nov 2023 15:10: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 1r7zjk-0002Zd-FQ; Tue, 28 Nov 2023 15:10:56 +0000
Received: by outflank-mailman (input) for mailman id 643275;
 Tue, 28 Nov 2023 15:10: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r7zji-0002ZX-Gd
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 15:10:54 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 520969e0-8e00-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 16:10:52 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-40b4746ae51so16383405e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 07:10:52 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p8-20020a05600c358800b0040b461550c4sm7768321wmq.42.2023.11.28.07.10.51
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 07:10:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 520969e0-8e00-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701184252; x=1701789052; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=NLNibJvrjMO3uRFvCgjt9Ev3cYVuLCIh5E9o8xGyToQ=;
        b=ibR/a2ghaBpE4Iimiyq5BeesPd+fM3Dc4WsJSlxsTFdo3WsfwUuLPiqhn5tkkLx6Le
         +/tXXgaxb2Fadj69X6BQXjYkK/SMe5m5h5aWkDNH+GYqkWuZ0Ycrsylw5zh6fTeYv4ih
         pB9W0wSwNKPwT5w0NPzakhnYw7j0d3zsj+4JY=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701184252; x=1701789052;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=NLNibJvrjMO3uRFvCgjt9Ev3cYVuLCIh5E9o8xGyToQ=;
        b=KHXChUOVc4M+WrXe7514mS+NC2L/eyBAJM9Yz/9mynyAyK1oAc4E/DzSLhwXsMgM/W
         nMAr2yW86UDJ0GaqGa6K4YkU0fYXFTXZCHl5RvSrdN8sjINcpIEJc6n90CrnaNW+WUsv
         I3MguqBc2pZOs9QZDb1PsRwdFyK3dlxVYHkkQU6QbAPsrb6qU5GxMe6Wdkn7PCr1TFv0
         lSBbVIGSM/qfzaJPQn9Zxx7emRTXmqqR+nDY0/7YYIHr7YgdIjljIJgRMJEOf3HLz2Ar
         8ljpT5FIOmgKdswik1wCoWjrTxOWkQSluGz/1YFWcomNObQTsI0DwBPjLZ9CNr+kA64H
         kg8g==
X-Gm-Message-State: AOJu0YwkIAfROiM82o4QcbM1fMekOpokoSXKB5kQuJIs5Yh1XjepwnwW
	DljmbnmJlGCiZKsPHtA5R0W1Lg==
X-Google-Smtp-Source: AGHT+IFElYnUcRrY/li6jlpQCWrfWUuE1j7AQcUyaS+ZdZL22Nr7fyD+5N8YXwsus14Dd+AvhUjicA==
X-Received: by 2002:a05:600c:41d1:b0:408:575e:f24f with SMTP id t17-20020a05600c41d100b00408575ef24fmr10796659wmh.28.1701184251711;
        Tue, 28 Nov 2023 07:10:51 -0800 (PST)
Date: Tue, 28 Nov 2023 16:10:50 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Mario Marietto <marietto2008@gmail.com>
Cc: Elliott Mitchell <ehem+freebsd@m5p.com>,
	Chuck Zmudzinski <brchuckz@netscape.net>,
	Demi Marie Obenour <demi@invisiblethingslab.com>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Julien Grall <julien@xen.org>,
	Xen-devel <xen-devel@lists.xenproject.org>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>,
	Michal Orzel <michal.orzel@amd.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Message-ID: <ZWYC-omtTOxIHNwF@macbook>
References: <CA+1FSiggg=XZmif6c3pY0+jz7i9caU-OTwFy80gwO7MVpXiwcA@mail.gmail.com>
 <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com>
 <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net>
 <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
 <ZWUgfkP4U5kOmQNj@mattapan.m5p.com>
 <ZWXvBMaRJ5Lbb5S9@macbook>
 <CA+1FSii4WeKQBuzW9TS_AkHD2nbm=Q+iL9j3wkfu+ZsC0V_=1w@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <CA+1FSii4WeKQBuzW9TS_AkHD2nbm=Q+iL9j3wkfu+ZsC0V_=1w@mail.gmail.com>

On Tue, Nov 28, 2023 at 03:09:14PM +0100, Mario Marietto wrote:
> For booting a FreeBSD kernel as a guest OS on XEN,should we install xen
> 4.18 from source ?

Please avoid top-posting.

I don't think so, I'm not aware of the FreeBSD port requiring a
specific version of Xen.  I do think the work is limited to aarch64
however, so there's no support in sight for arm32 FreeBSD guests as
far as I'm aware.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 15:14:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 15:14:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643281.1003303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r7znY-0003MV-3S; Tue, 28 Nov 2023 15:14:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643281.1003303; Tue, 28 Nov 2023 15:14: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 1r7znX-0003MO-W0; Tue, 28 Nov 2023 15:14:51 +0000
Received: by outflank-mailman (input) for mailman id 643281;
 Tue, 28 Nov 2023 15:14: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r7znX-0003MI-9L
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 15:14:51 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0621.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id df190ea2-8e00-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 16:14:49 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM7PR04MB7176.eurprd04.prod.outlook.com (2603:10a6:20b:11c::19)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 15:14:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 15:14: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: df190ea2-8e00-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b5BGp2AxAtPVFJYBj3ODLYjPc4Kkd394h68PDbCKy6jUxdqLg9jdCHn7r7NP1bgP14/6eVXBe/e+QMiM21Sv8PxdI/KC8vH/a9RO1+gH9ISmt4iWxmMrxYj0a7e6dDhfzGFIxugULr491bABxvoIBVWLyx9R+oF80iy+aiT2qLgfbp7NA1blR6YKZ21QwKteowLcjO0Ovas9rgkeGzQbd51VlWdphLZVuDOWAI6CusBfdb/2wBhixVPhuH8NqyNLFKeAysH0IyBnkwGh6/mtQrWE1W5+gTeQwl+nw96JEPAUQzbzprabzwjCVNj/oZgdhXB5sl5vbCmU9WcuHtRBcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=SIesb6o3VI3gC6kU+gpWaIufDfjYm3ssFzuUvLO+K28=;
 b=j1D5RlPYwr3j9902a99sv0PzDWbJIgcD4oIDwfFAEgHPPDwc/7GyRvyHCjmxQDnExKRPGws/h8faJRHTQgYTAcFFg15iJtuzFGxsVi0QSVxq6FWCbzM8RS/rd3SvOxi1bEYNR91wqew3xFDqVMtRrcEXBOXkNbPQztM1AbJekQ9zmXukvMNT1fJRMtfA3yMCz9fVIj+gMzJHVnHNEgEusVRqY6w879xO7ERp7BxA7fCsZyFPt/tA2NZyH9kSFFDS97+JabcnJShZSd1aOpJrgdWcxrazyekxVsQZ/g06KtG3C9kgrttUUFkWxDtoOmFKo2EG3xv3j9nGMI9k3uxRaA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=SIesb6o3VI3gC6kU+gpWaIufDfjYm3ssFzuUvLO+K28=;
 b=RiRcM9Ou2yso4/SPjGDwF/GGAWBuJyEAgAasi/4lriwh7eQgW5udkasjMBfmqpCA6/VLpBmLNV4qDIKLKCbpbgwDOTFzj24L9NUSQ8OhYeaC+qvsi2I5oh2bxKWmKwOcMFQpFtGqlMUbhpitHC2qNPJV6rXMUoZVyck2vI2McsfzJpxYGoo+sObhD2iX4BxFZUQwl0yt15rsloD3HaDEXGHyYFiHOZRaW/bIfvOxzUeUsZPy33lGONa9BpRk2IqeLPF/9AnqUA9AjB4lBSIabJe/CwkQfIXsZekgES285WTuvR5ZjW+5Jgc77X+brxJ1fu4BAmzGA4tUNBau2GTjoA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fe8ee91c-7272-4cb9-b7a6-cb6ec7945bc1@suse.com>
Date: Tue, 28 Nov 2023 16:14:44 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Content-Language: en-US
To: Jiqian Chen <Jiqian.Chen@amd.com>
Cc: Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Alex Deucher <Alexander.Deucher@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Huang Rui <Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>,
 Julia Zhang <Julia.Zhang@amd.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-3-Jiqian.Chen@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231124104136.3263722-3-Jiqian.Chen@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0396.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:cf::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM7PR04MB7176:EE_
X-MS-Office365-Filtering-Correlation-Id: d2a2c90c-daca-4434-a6d3-08dbf024c1cb
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:
	jpfDtcPephlCFBPtLfHv8vYJM93HDGs5Lv+0BL6mQmv9hfCK9LC4KPFa3hhWXYF2HIF8F1s/ZgirTX20lI6tuDb9NRxyXM2GI6GWmBvgo6/ELKS227S8fHus3UvIYugnQC7M3QKbmXnCiJSe76lPHw6KiDlkeQSbUVzAMgl8bpjpjIS9Vz/N2HfiGhOIK0neXsTaFgKLmTDy5X3Q6nM63eoHz07k9f4RQunkBjBKtP8Cj2IIMwp/8ee2g5qchbWdJVrerGf7Jy/n7ZW6ebRNIzkjfBakTGuDh0gYUdv6rwOVkwq4USJLlx9Scvtzm8X11Aw7GyoLnmufHEXR1NFRUbD0FG1MDHRmR6u8EF3O3QdHROHgdcF3VQsiyM5BEXCc5TNTrPl7fjicw4NJbdE2s6ouJTV98zZ78iWGFNoghF6exerkJIhOITW7KWnphnPpZqIdbXnYLAe0b0BJ2nCbCIFKH/kfsXx2RTT/7+Cg8a/r5sjSWPhUVsfWEklYLKTGRwSa9+Z/ymKcRhQz9tCuD7YAb8kGJSec2Ca5AZxdUAcEdqbKBRWa0t/V4KwFjeN/t82Ph5KT/N8YFZ8QsanrEwTXFkR4AZPFnXgomZG2wbVKt0BCc3ZmZKTpcwGq5r2qz/vYCSJa4eBqDPZH6nsZJQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(346002)(396003)(136003)(39860400002)(230922051799003)(186009)(1800799012)(451199024)(64100799003)(38100700002)(83380400001)(36756003)(86362001)(31696002)(54906003)(316002)(66476007)(4326008)(66946007)(66556008)(41300700001)(8936002)(8676002)(7416002)(5660300002)(2906002)(4744005)(31686004)(6512007)(6506007)(6916009)(53546011)(2616005)(26005)(6486002)(478600001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZFc1bW5JL2F5V1BkbXlsYjBZZDNGeUFDcU5KZi9iTUtBN09wUlZOVXFPY1p2?=
 =?utf-8?B?SDN5Q1pxWFFBbEwxY3JKdjVIdnlYMUROYjgzekQyRy9OWnJvbXMvWHNCcUhX?=
 =?utf-8?B?bndyaG03SlI5djBadkZ0Z2RhaDJIL0xEaGtNbVlmTGVXK0JnVW9KRGtzV2ta?=
 =?utf-8?B?RDY1aWVQTmszWmJvVE5PQWVRM0orVkw3SFdMbjMvR1dYcXZxblVIMm5hb2JB?=
 =?utf-8?B?emlrOE1wUFBSNTRSWVlJMWc3UWRaN3JtcXNad3JWNE5ONWZFS1V4KysyTzFV?=
 =?utf-8?B?YUV1MWtTMWJRR2Q2S0h6eTFocDNuaFB6ekdqWVJJNkRPazdSajRFUTFjZkJk?=
 =?utf-8?B?T3kyNWlyVVBzWVhQYUswQlNyQ1ZXSmZoaUJyYzlmc29IS2JieTJuK1J4M2pa?=
 =?utf-8?B?NGh0Z1ArV3B6M2RtWWovSE5YVmpyb2YzU3F3c0ZMMGhOV2lHNGtHdkJjYXc5?=
 =?utf-8?B?NUlKQzhRa3M3RUxDUjdUejFwOHFoSFBQb2t0YkR0Sldubm9JTENPdWNOTTdX?=
 =?utf-8?B?dDUvMllGN2JidkliRW5qMTdIKzlHait5TDA0UFU5RWJyMSt3QWx4UUNlVUp4?=
 =?utf-8?B?Y3piQmtUZVlCOHBGS24wYVhkTXRxc0NzZkFBZXI1QjBJUmNCem43RUZySm5y?=
 =?utf-8?B?L2QwaFIrMXFnQXFOaXVYVHZPUTZRSk54bkFjSkY4VmhVYTlzM0ZIRmFPZHgz?=
 =?utf-8?B?Yi81aG52WElxMUtIbVl4alh5amxRVVJpeDBvY0V5QlZFbmlGdlIybFc0SjZ4?=
 =?utf-8?B?UHZHYjIwd0czTHM3NGRYS0xoSENLZFJWTzN6TXpLZ2kxZHlwakVIQ0F6MU1C?=
 =?utf-8?B?QUV6MzlicHNRZ2tYaFYvamxOWjFxeGpBZ0NqeENXREs4c3h4alI4VVFpZEhy?=
 =?utf-8?B?a0llMnorb3pPWXRsZEhCYzNQNDFPQ05JbmxrVTgvMTFFVlpLbjlQNS9HYk1M?=
 =?utf-8?B?NmNaUGRDa3lWK24wRllRc1NGQ0NCa0QxbWR4TlFOREZWNDYyV2pRSXhqZWJM?=
 =?utf-8?B?OUgyMFpKeDZZQUI1SnJvYkk5ZkN2bktiZmJPVzloWXRlV3lUQmYyL1RnaVJ0?=
 =?utf-8?B?M3hmbXZYSHYxRXVGYUpsems1VW9RNGowZHkxUDJ3VU5PbnFyL3pTWGQ0OEJ1?=
 =?utf-8?B?azRCenFQN3dmV2dKSFMwT0QrMXdQNCs3Y3JxQXp4OFJGR2x4L214NWs1a3VL?=
 =?utf-8?B?eS9kM09sTnJ4TDlYQlFPL2JZaDlCbkFTSm9SRWd5KzA1bldNaUhpanZoT0ZE?=
 =?utf-8?B?OEdMYnlIbkFQcmtSNG00V1I5OWNUZEdWeHkxMHZGd2VZd05VOW1PYk92ZDFv?=
 =?utf-8?B?RDhzOU4zR2o1Q3BoeGJYVlEzMXBrSFZwVkxmRVhHODNqdmpweFlReG03Z2Vz?=
 =?utf-8?B?djA5M0hDMlpyUyswd25zRjEzblRBSXhHTWpTWWZibDNwdHo1ZXFWaDU3dW54?=
 =?utf-8?B?ZDR3MXFQenBYakNvOG9oMFB2eERoNllpdVVhallTbmpMNzQzV2lTUFc5RlNx?=
 =?utf-8?B?ZFdISTJvV3llVjQrSExHQWZ5NjhiakcrdldYVmpoZXdwRUM5TFB2dHZJMk5Y?=
 =?utf-8?B?NkFtL1pDSEpOeHA4bkpHY2wrUHdYWjNHQnk3eS8zVHEvWWg1OFpYaVpXU3NR?=
 =?utf-8?B?SlpINmlMc2VlQW5aY0ZaZGxpNWlRZVVvd1M1cFZOZ3diUFdGUGpVdEZHYmN4?=
 =?utf-8?B?dXhtWmhiR28xSGErd2NVci8zNWFMYjczck0vVDJvZDBVVEpRQVZ5SkRYQzdT?=
 =?utf-8?B?SlpHeG0vM09vZWxLT2t3SFlJVFEreDlWVXo0bzBBaXFzN1dDam5WaFNsS1VM?=
 =?utf-8?B?RUQzbDFyaUVnM09hMnVYUTRXVitrRERpS21adVpyMVJSMzdsdkt3N1FybG9D?=
 =?utf-8?B?NTZuZmJCcmh6YU1YZndCRlhDcWpaWUdlVFlhM2V2UUdUQW04RHhCWmYvdVFn?=
 =?utf-8?B?OUtxUnk4NlJqRzNsQnhhWkFaNWVrTnc4UXZlTEZGN0ZTTjhNSC81alJCUUxU?=
 =?utf-8?B?OVNmNFNzMEJQUjhsWE8rdFMraDQrUFc5YVZRR013TFl6NGM5QVFLQWFLMy9X?=
 =?utf-8?B?UHVuQkVjeFdFMy9kU2pVaWFOblVUbzBZU0hwOHhEQU94MVFFanloODZiSDdv?=
 =?utf-8?Q?kwsXXfZsmltws45CCUTu+KW7x?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d2a2c90c-daca-4434-a6d3-08dbf024c1cb
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 15:14:46.5105
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mFmaZSmhD42Ouo0PeaoRVvhcRMph3tsYcZ+G5tzDh+rjmU9Wv8v69O/GIXFCaTtcds2t9JTB8dnn0DmFAV4K4g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR04MB7176

On 24.11.2023 11:41, Jiqian Chen wrote:
> --- a/xen/arch/x86/hvm/hypercall.c
> +++ b/xen/arch/x86/hvm/hypercall.c
> @@ -74,6 +74,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>      {
>      case PHYSDEVOP_map_pirq:
>      case PHYSDEVOP_unmap_pirq:
> +        if (is_hardware_domain(currd))
> +            break;
>      case PHYSDEVOP_eoi:
>      case PHYSDEVOP_irq_status_query:
>      case PHYSDEVOP_get_free_pirq:

If you wouldn't go the route suggested by Roger, I think you will need
to deny self-mapping requests here.

Also note that both here and in patch 1 you will want to adjust a number
of style violations.

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 15:47:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 15:47:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643289.1003322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r80JJ-0005JM-Kt; Tue, 28 Nov 2023 15:47:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643289.1003322; Tue, 28 Nov 2023 15:47: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 1r80JJ-0005Iw-I0; Tue, 28 Nov 2023 15:47:41 +0000
Received: by outflank-mailman (input) for mailman id 643289;
 Tue, 28 Nov 2023 15:47: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 1r80JI-0005Im-P4; Tue, 28 Nov 2023 15:47: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 1r80JI-0003Ah-Eg; Tue, 28 Nov 2023 15:47: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 1r80JI-0004FS-78; Tue, 28 Nov 2023 15:47:40 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r80JI-0004cI-6e; Tue, 28 Nov 2023 15:47: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=O5USc4xaoKteqqxFpdhRtkzR76Fdb7NyrVUaRJT4/dQ=; b=xkF5Q4Ymldau0rNiXf+MQiOik/
	ByvJszv1b8N5iefaBGOTW9YAVQL2yYuz7byyUy1MaairTpn/LXMVi0DE8YvpOsP3VY8VAF9XQgFFn
	FgYuOH4XroAfAwHeqxrTpgznDYXObozIguUOY+we3gtJhDonC9jwA7Z5FmCJG96PeqzI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183895-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183895: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=9eec96bd4fc53d7836b5606f2a8bbb10713cc8f5
X-Osstest-Versions-That:
    ovmf=d451bba399687b4102459db5a447fc9abb8fdee1
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 15:47:40 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 9eec96bd4fc53d7836b5606f2a8bbb10713cc8f5
baseline version:
 ovmf                 d451bba399687b4102459db5a447fc9abb8fdee1

Last test of basis   183890  2023-11-28 10:41:09 Z    0 days
Testing same since   183895  2023-11-28 13:41:02 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Dov Murik <dovmurik@linux.ibm.com>
  Gerd Hoffmann <kraxel@redhat.com>
  Tom Lendacky <thomas.lendacky@amd.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
   d451bba399..9eec96bd4f  9eec96bd4fc53d7836b5606f2a8bbb10713cc8f5 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 15:49:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 15:49:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643294.1003331 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r80LR-0006q4-7O; Tue, 28 Nov 2023 15:49:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643294.1003331; Tue, 28 Nov 2023 15:49: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 1r80LR-0006px-4p; Tue, 28 Nov 2023 15:49:53 +0000
Received: by outflank-mailman (input) for mailman id 643294;
 Tue, 28 Nov 2023 15:49: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=zxdS=HJ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r80LQ-0006pp-9T
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 15:49:52 +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 c43e9273-8e05-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 16:49:51 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-54b8276361cso2512226a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 07:49:51 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c43e9273-8e05-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701186591; x=1701791391; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=t260ZxEeDhOc/ZZeUCIyG4DebFCLK+ZQzABGUVIGfsA=;
        b=m7VUvbSMnVWpU1tX/ERGqMFOEFDDyILdImDMJmII/8t2Wya8vlP96yt7boyIiT6YHK
         fqWt+ueXE7i0Bqi0bmCv+2uhvNkm+uuDyj8hdBso8GN9w8CLagA5IaKjym6M9zRO83zn
         ZSDgWhRMCPUsAnYuR+JobPk9ksQHBGZZ8bRrNOFzXd9a3vCD4MKSBBj11hYXstbtILLv
         HvmQ6jdulFkD4IkGJ+mfEXZ7aJv9Oj9m7MuUmZGlM1xEJBo90U9Oygmo6wX/Ckt1z8uq
         RKIWibt0LQLszHUurNUJe2ZpzCWdroUPX2lcLyh/nM1qLfWvicJ6D3jT6RbmXvAp1dI4
         oPdQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701186591; x=1701791391;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=t260ZxEeDhOc/ZZeUCIyG4DebFCLK+ZQzABGUVIGfsA=;
        b=FP+Y7YxNAl/UJIH2zgtVwDlDpXUqIHOS+uQsBXVQ7sOa0fxnD6blevstAHvc//vqRB
         dCgkDwky6t/T56pm+azRXd5MV/g1u7PMQftrs7X5+fq5bJHtjzSk02DRvARgAMG8UKk9
         ND/ixSL/iyJm1/rLqXaUUTrA/Uji4ue3pbsnAhP7U2UyTSRFUjkgM7Takf1wNvTae24I
         GlkaxvZOdtG1q9vKll5TAOqtr4SFpZHQ5O+3nQ+dR9XH+l4QlM9MWzhzgIyYYHu+lE/6
         1ppI/2QU7qfrN6EKZ27cFxWTEmtvgElfndG2rSXMY773XCvYu4pVIIWcd80sy42ZtOK8
         h2hg==
X-Gm-Message-State: AOJu0Yz2pAiQttRBVikxJuB6catR6DXjHkRQYGw/a0VHpYe7QaObZMe2
	pvwYfqPoQr9Xlpw2lFQqFppxbQpGJ/h3upOaF5E=
X-Google-Smtp-Source: AGHT+IEJvYVCWaGLIPpdn5mWwriMrRmuQBg77ck3Sc7MSDE6iowLcp09YYLQEHAkUTlRVYuMZNCDv6lm/PZsU5Ig2yw=
X-Received: by 2002:a05:6402:713:b0:54b:1a4c:871a with SMTP id
 w19-20020a056402071300b0054b1a4c871amr9152019edx.19.1701186590798; Tue, 28
 Nov 2023 07:49:50 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-10-jgross@suse.com>
In-Reply-To: <20231110160804.29021-10-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Nov 2023 10:49:38 -0500
Message-ID: <CAKf6xptfFX9ONv70h+-O2UXw7PQbUppB+qHbRMxTyhSmMOMfyw@mail.gmail.com>
Subject: Re: [PATCH v2 09/29] tools/xenlogd: add 9pfs open request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 12:16=E2=80=AFPM Juergen Gross <jgross@suse.com> wr=
ote:
>
> Add the open request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 16:05:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 16:05:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643302.1003347 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r80a1-0002yN-Gq; Tue, 28 Nov 2023 16:04:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643302.1003347; Tue, 28 Nov 2023 16: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 1r80a1-0002yG-E9; Tue, 28 Nov 2023 16:04:57 +0000
Received: by outflank-mailman (input) for mailman id 643302;
 Tue, 28 Nov 2023 16:04: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=FWLy=HJ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r80Zz-0002yA-NG
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 16:04:55 +0000
Received: from NAM11-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam11on20614.outbound.protection.outlook.com
 [2a01:111:f400:7eaa::614])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dd85a7f8-8e07-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 17:04:53 +0100 (CET)
Received: from CY5PR13CA0003.namprd13.prod.outlook.com (2603:10b6:930::31) by
 DS7PR12MB6191.namprd12.prod.outlook.com (2603:10b6:8:98::21) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.29; Tue, 28 Nov 2023 16:04:45 +0000
Received: from CY4PEPF0000EE3D.namprd03.prod.outlook.com
 (2603:10b6:930:0:cafe::d6) by CY5PR13CA0003.outlook.office365.com
 (2603:10b6:930::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22 via Frontend
 Transport; Tue, 28 Nov 2023 16:04:45 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE3D.mail.protection.outlook.com (10.167.242.17) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 16:04:45 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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.2507.34; Tue, 28 Nov
 2023 10:04:45 -0600
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.2507.34; Tue, 28 Nov
 2023 10:04:42 -0600
Received: from [172.27.137.28] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 28 Nov 2023 10:04:41 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dd85a7f8-8e07-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A6tENTWW1x4vdP+PMAXBTTnoMAUjqTr0GRMvPBsZSV5cs7uuGNL3T68UKHXvG7pX+8c+FYrWxCjiG/TpGnkk6qCDKiDe36z/ihq6fpE8I3ao6WkwoRNr0SLJYX/gHZW68kVLSNS1weQzlIqi8n1mr+6ZVdIc+J4bJ4cEMy4g2A+HIF4Q9izZRtHKankgIdm4hzGRmvFGxlijnGVaFmIFlSdRJyXPsYJFz3omI3wAaC2kqF4RYXFARA+sKXDb7baj4ZPGQ8AW2mGIMBTcfGV6FDh7VyIUkg+h8DGd6QFDZe62kggOioe3tCisoUHliH0XUeBoQ2mwQVfhAJr9p1sA6w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=K10K4Me8LeQBqz5uKMbyg7fljiA7xEc58vSZdh4pzUo=;
 b=nLUn8n2QXjl4slApH2W5qiFcjxVfvhme5TQOmkv6lbyyWkt/eeyO0WqzAiSGDn9X7L+itLUi49cbQeayoMem2VcWEs7hzdUnBw5S7BOCWce2A9IfbcZX+LVfOQ+YeM+DjnpMNbHP7xrzRfWhbXkGn6iBvhXOX4ean0T42p/fYmcjRMhScF1/X2dTi+cp1p+dqsQrarrF5PJVe6S1xcQUtlCEjJ89yBGpiXcjorBQsP7wo8bH/dnAryU3w83ztouGZGN2jra+BLEGB6ci1TiWmUi79jpmGolzGtzKRjUvHQCrn/V66+gaFehb7yrQOI61aI5OKZ8vzy++PSkOukfn/Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=K10K4Me8LeQBqz5uKMbyg7fljiA7xEc58vSZdh4pzUo=;
 b=NYb0MZzWiil67Tr970G4iESAPezL4KjS0vbmrRODln4QFoBrMrxh88hfi8ju4Rgb+3f9VIeINWL4v+0tiB/1PoEQDuukSwEud6Q8hkLvhlm5Kan0o+32GC4t+5YRgVtv34eDB+8DcZCA6065vdAwyWrlVdSQ3TxIurFAMiSY/f4=
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: <ddb153d2-0f57-42fd-a60a-c65647d49407@amd.com>
Date: Tue, 28 Nov 2023 11:04:40 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v7 2/2] xen/vpci: header: filter PCI capabilities
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@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>
References: <20230913143550.14565-1-stewart.hildebrand@amd.com>
 <20230913143550.14565-3-stewart.hildebrand@amd.com>
 <ZVdSIUSDA5den3a3@macbook.local>
Content-Language: en-US
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <ZVdSIUSDA5den3a3@macbook.local>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE3D:EE_|DS7PR12MB6191:EE_
X-MS-Office365-Filtering-Correlation-Id: d74622e0-7d6d-434e-04da-08dbf02bbd75
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iCj7m4NVKs+aO7pMZWFWpVC3ZsGNdmNOIsQSn1e9OxSL6E4di48mtliQUI1HZjTeuDHC+5p8DJRlfQVUOKhrm1OxNcMTMnlGjCQFQsmHRmeWD0pPseZqYvlXhATrJoagl1oKMshWbjEAfib1JS2qZ23JMJ0ekqThgV60BUiqAQB4VLqa5gg3NPv+l1ylqAMQjZYYoU/o6fg0vGlXrtmboF/UyOc0exTUsLpD4jHq8EoG2IpUxgvLHLpa2yzhWIvjG7PCgoIoYiBF7zPpcUvNtnt8v530BhnfvwbrRq5Dl68lehQ21IXKzpnog7ukrJ8eS0B+7aIgvAFkPGLe4gloRwLJvagPLXB1egQ4EdRQPyflhXW6sT1+I6GERgKlJM8FP8h/w/eREDkCBCFbiuarhqBkJueovt38vZc4EJcGh7oT8FXC45yUXzKwHjJ4MG03BUDBNyMJ5mJId+Fi5H03M84FgDtJzhqtqAa0dy8uG1Ae71AZK5b78zM59dkbBpuyZsDGCXmzjp7Y/ERvEosYJ6YGTozZmwnkAep/Ttc1YGkTDhrVUp8yA5eSOKPItSijioeMgW+V9o7kEjhcxpCXj15Md2MNC04olXPQ3Wn0XXTOePmMdMKMJK1jXu6RQ/pbtZAQ68S49aQgIyTXRP2H9S88Z9pzQ53UNkvNz/GwQl6ItSxSYCHg6EiXzDBHrzoMRepNJCuKuiFoa4AdwwQjber3oQoEU6Ebi3SQwCC+xGVvmXMAKQ+UjLpw+lFti/7FlifImTFDQmrDWa4rzQuoM6zQUnurvXDdcxwXEmQV+yM5A53WNP0D5qEtq3zvaHOu
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:(13230031)(4636009)(346002)(136003)(39860400002)(396003)(376002)(230922051799003)(1800799012)(82310400011)(451199024)(64100799003)(186009)(40470700004)(36840700001)(46966006)(31686004)(5660300002)(2906002)(40480700001)(40460700003)(44832011)(36860700001)(41300700001)(478600001)(8936002)(8676002)(36756003)(4326008)(356005)(81166007)(82740400003)(336012)(426003)(47076005)(2616005)(53546011)(83380400001)(86362001)(31696002)(6916009)(316002)(70206006)(16576012)(54906003)(26005)(70586007)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 16:04:45.4942
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: d74622e0-7d6d-434e-04da-08dbf02bbd75
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:
	CY4PEPF0000EE3D.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS7PR12MB6191

On 11/17/23 06:44, Roger Pau Monné wrote:
> On Wed, Sep 13, 2023 at 10:35:47AM -0400, Stewart Hildebrand wrote:
>> Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
>> Hide all other PCI capabilities (including extended capabilities) from domUs for
>> now, even though there may be certain devices/drivers that depend on being able
>> to discover certain capabilities.
>>
>> We parse the physical PCI capabilities linked list and add vPCI register
>> handlers for the next elements, inserting our own next value, thus presenting a
>> modified linked list to the domU.
>>
>> Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
>> helper function returns a fixed value, which may be used for RAZ registers, or
>> registers whose value doesn't change.
>>
>> Introduce pci_find_next_cap_ttl() helper while adapting the logic from
>> pci_find_next_cap() to suit our needs, and implement the existing
>> pci_find_next_cap() in terms of the new helper.
>>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> v6->v7:
>> * no change
>>
>> v5->v6:
>> * add register handlers before status register handler in init_bars()
>> * s/header->mask_cap_list/mask_cap_list/
>>
>> v4->v5:
>> * use more appropriate types, continued
>> * get rid of unnecessary hook function
>> * add Jan's R-b
>>
>> v3->v4:
>> * move mask_cap_list setting to this patch
>> * leave pci_find_next_cap signature alone
>> * use more appropriate types
>>
>> v2->v3:
>> * get rid of > 0 in loop condition
>> * implement pci_find_next_cap in terms of new pci_find_next_cap_ttl function so
>>   that hypothetical future callers wouldn't be required to pass &ttl.
>> * change NULL to (void *)0 for RAZ value passed to vpci_read_val
>> * change type of ttl to unsigned int
>> * remember to mask off the low 2 bits of next in the initial loop iteration
>> * change return type of pci_find_next_cap and pci_find_next_cap_ttl
>> * avoid wrapping the PCI_STATUS_CAP_LIST condition by using ! instead of == 0
>>
>> v1->v2:
>> * change type of ttl to int
>> * use switch statement instead of if/else
>> * adapt existing pci_find_next_cap helper instead of rolling our own
>> * pass ttl as in/out
>> * "pass through" the lower 2 bits of the next pointer
>> * squash helper functions into this patch to avoid transient dead code situation
>> * extended capabilities RAZ/WI
>> ---
>>  xen/drivers/pci/pci.c     | 26 +++++++++-----
>>  xen/drivers/vpci/header.c | 76 +++++++++++++++++++++++++++++++++++++++
>>  xen/drivers/vpci/vpci.c   | 12 +++++++
>>  xen/include/xen/pci.h     |  3 ++
>>  xen/include/xen/vpci.h    |  5 +++
>>  5 files changed, 113 insertions(+), 9 deletions(-)
>>
>> diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
>> index 3569ccb24e9e..8799d60c2156 100644
>> --- a/xen/drivers/pci/pci.c
>> +++ b/xen/drivers/pci/pci.c
>> @@ -39,31 +39,39 @@ unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap)
>>      return 0;
>>  }
>>  
>> -unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
>> -                               unsigned int cap)
>> +unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
>> +                                   bool (*is_match)(unsigned int),
>> +                                   unsigned int cap, unsigned int *ttl)
> 
> Maybe this has been discussed in previous patch versions, but why
> pass a match function instead of expanding the cap parameter to
> be an array of capabilities to search for?

Hm. I don't think we did discuss it previously. It's simple enough to change to an array, so I'll do this for v8.

> 
> I find it kind of weird to be able to pass both a specific capability
> to match against and also a match function.

Having two ways to specify it was a way to retain compatibility with the existing function pci_find_next_cap() without having to introduce another match function. But I'll change it to an array now.

> 
> What the expected behavior if the caller provides both a match
> function and a cap value?
> 
>>  {
>> -    u8 id;
>> -    int ttl = 48;
>> +    unsigned int id;
>>  
>> -    while ( ttl-- )
>> +    while ( (*ttl)-- )
>>      {
>>          pos = pci_conf_read8(sbdf, pos);
>>          if ( pos < 0x40 )
>>              break;
>>  
>> -        pos &= ~3;
>> -        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
>> +        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
>>  
>>          if ( id == 0xff )
>>              break;
>> -        if ( id == cap )
>> +        if ( (is_match && is_match(id)) || (!is_match && id == cap) )
>>              return pos;
>>  
>> -        pos += PCI_CAP_LIST_NEXT;
>> +        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
>>      }
>> +
>>      return 0;
>>  }
>>  
>> +unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
>> +                               unsigned int cap)
>> +{
>> +    unsigned int ttl = 48;
>> +
>> +    return pci_find_next_cap_ttl(sbdf, pos, NULL, cap, &ttl) & ~3;
>> +}
>> +
>>  /**
>>   * pci_find_ext_capability - Find an extended capability
>>   * @sbdf: PCI device to query
>> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
>> index af267b75ac31..1e7dfe668ccf 100644
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -513,6 +513,18 @@ static void cf_check rom_write(
>>          rom->addr = val & PCI_ROM_ADDRESS_MASK;
>>  }
>>  
>> +static bool cf_check vpci_cap_supported(unsigned int id)
>> +{
>> +    switch ( id )
>> +    {
>> +    case PCI_CAP_ID_MSI:
>> +    case PCI_CAP_ID_MSIX:
>> +        return true;
>> +    default:
>> +        return false;
>> +    }
>> +}
>> +
>>  static int cf_check init_bars(struct pci_dev *pdev)
>>  {
>>      uint16_t cmd;
>> @@ -545,6 +557,70 @@ static int cf_check init_bars(struct pci_dev *pdev)
> 
> We might have to rename this to init_header() now :).
> 
>>      if ( rc )
>>          return rc;
>>  
>> +    if ( !is_hardware_domain(pdev->domain) )
>> +    {
>> +        if ( !(pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST) )
>> +        {
>> +            /* RAZ/WI */
> 
> That RAZ/WI acronym seems very Arm specific (TBH I had to search for
> it).
> 
> FWIW, it's my understanding that if the status register doesn't report
> the capability list support, the register is unimplemented, and hence
> would be fine to return ~0 from reads of PCI_CAPABILITY_LIST?
> 
> IOW: I'm not sure we need to add this handler for PCI_CAPABILITY_LIST
> if it's not supported.

Agreed, if the hardware itself doesn't have the PCI_STATUS_CAP_LIST bit set, there little to no point in emulating the PCI_CAPABILITY_LIST register. I'll fix this up for v8.

> 
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 16:11:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 16:11:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643305.1003357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r80g7-0005So-67; Tue, 28 Nov 2023 16:11:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643305.1003357; Tue, 28 Nov 2023 16:11: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 1r80g7-0005Sh-3M; Tue, 28 Nov 2023 16:11:15 +0000
Received: by outflank-mailman (input) for mailman id 643305;
 Tue, 28 Nov 2023 16: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r80g5-0005SY-2w
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 16:11:13 +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 bf690343-8e08-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 17:11:11 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40b4e35ecf1so6080675e9.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 08:11:11 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 bi19-20020a05600c3d9300b0040b3d78e181sm13671018wmb.17.2023.11.28.08.11.10
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 08:11:11 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf690343-8e08-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701187871; x=1701792671; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=axKn9UYjYE96HKh5+QAhbSj0cYjdP+RcJ0ndjMzy5IY=;
        b=ZV05a63GMBM98Q7q4g+www57l3eRH0wgshuuHUQIrrJMvswMQWzw9ogloHDEO+t+jS
         eqawhAiyKhq8KoF3x3DlePQkw9dDqZKsHSZuoVGr83na5PP+JkuVIkROPB7e3zqr8Lfp
         0y6sBtW+OBhb9X6yH2r0FRnNFaNA7pM+xGpO0=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701187871; x=1701792671;
        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:subject:date:message-id:reply-to;
        bh=axKn9UYjYE96HKh5+QAhbSj0cYjdP+RcJ0ndjMzy5IY=;
        b=Tf8rs2Iz6vc5jGB9Ngd+ZTjTrxd+ME4Z39/AA4x+PJj7P1AChqnk77gt6Wn7f7nvRJ
         ajeYn9M4HiG7FI9jBR3IhP39nPUK2DUfUgiwvo7Bto5yxlvuV9VORcZE9xJ7weFpPOg/
         WxrH4PdCjABnscmy0c7pI5K4T+t/9uTPbO+eyKiziRz1LG9V/TU/75tvamajs1cnrXmm
         rHl5gNeyImmRGIePX6tb0YjZvLCDAx2acLAR60R9ShnemM8dEKofyJ4nKCjZFxdOb43T
         Pdt5WtH9SjDobhEx6V1DM44SE0IYiw4wQ0WeZwkXaLeSgKmUBPNJjGIK39ZSIOYk7J8T
         VZzQ==
X-Gm-Message-State: AOJu0YwaQ+9/0/qGvvx1jKjwDx/mLnhk7PC9kLwC8H68W0KIENHNFkVe
	TuW4ZYNnnBT6QJLyxc9zlCAjUg==
X-Google-Smtp-Source: AGHT+IHtPG2XE8bXWc51rikjkDJPs/7zI162wuP1uWWZLbZLKwuO8t0TdF0oBnfiOSemfY4nONayjw==
X-Received: by 2002:a05:600c:1c17:b0:40b:3f72:de79 with SMTP id j23-20020a05600c1c1700b0040b3f72de79mr6774711wms.5.1701187871309;
        Tue, 28 Nov 2023 08:11:11 -0800 (PST)
Date: Tue, 28 Nov 2023 17:11:10 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Juergen Gross <jgross@suse.com>
Cc: Jiqian Chen <Jiqian.Chen@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	xen-devel@lists.xenproject.org,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
	Alex Deucher <Alexander.Deucher@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Huang Rui <Ray.Huang@amd.com>,
	Honglei Huang <Honglei1.Huang@amd.com>,
	Julia Zhang <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
Message-ID: <ZWYRHqie0oVuawmc@macbook>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-4-Jiqian.Chen@amd.com>
 <ZWX4R9UEE6oXiqaz@macbook>
 <6ee9c6e2-7ebf-42c6-a923-57f9da093160@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <6ee9c6e2-7ebf-42c6-a923-57f9da093160@suse.com>

On Tue, Nov 28, 2023 at 03:42:31PM +0100, Juergen Gross wrote:
> On 28.11.23 15:25, Roger Pau Monné wrote:
> > On Fri, Nov 24, 2023 at 06:41:36PM +0800, Jiqian Chen wrote:
> > > In PVH dom0, it uses the linux local interrupt mechanism,
> > > when it allocs irq for a gsi, it is dynamic, and follow
> > > the principle of applying first, distributing first. And
> > > if you debug the kernel codes, you will find the irq
> > > number is alloced from small to large, but the applying
> > > gsi number is not, may gsi 38 comes before gsi 28, that
> > > causes the irq number is not equal with the gsi number.
> > > And when we passthrough a device, QEMU will use its gsi
> > > number to do mapping actions, see xen_pt_realize->
> > > xc_physdev_map_pirq, but the gsi number is got from file
> > > /sys/bus/pci/devices/xxxx:xx:xx.x/irq in current code,
> > > so it will fail when mapping.
> > > And in current codes, there is no method to translate
> > > irq to gsi for userspace.
> > 
> > I think it would be cleaner to just introduce a new sysfs node that
> > contains the gsi if a device is using one (much like the irq sysfs
> > node)?
> > 
> > Such ioctl to translate from IRQ to GSI has nothing to do with Xen, so
> > placing it in privcmd does seem quite strange to me.  I understand
> > that for passthrough we need the GSI, but such translation layer from
> > IRQ to GSI is all Linux internal, and it would be much simpler to just
> > expose the GSI in sysfs IMO.
> 
> You are aware that we have a Xen specific variant of acpi_register_gsi()?
> 
> It is the Xen event channel driver being responsible for the GSI<->IRQ
> mapping.

I'm kind of lost, this translation function is specifically needed for
PVH which doesn't use the Xen specific variant of acpi_register_gsi(),
and hence the IRQ <-> GSI relation is whatever the Linux kernel does
on native.

I do understand that on a PV dom0 the proposed sysfs gsi node would
match the irq node, but that doesn't seem like an issue to me.

Note also that PVH doesn't use acpi_register_gsi_xen_hvm() because
XENFEAT_hvm_pirqs feature is not exposed to PVH, so I expect it uses
the x86 acpi_register_gsi_ioapic().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 16:14:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 16:14:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643310.1003368 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r80iv-0006Ty-Jf; Tue, 28 Nov 2023 16:14:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643310.1003368; Tue, 28 Nov 2023 16:14: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 1r80iv-0006Tr-Gt; Tue, 28 Nov 2023 16:14:09 +0000
Received: by outflank-mailman (input) for mailman id 643310;
 Tue, 28 Nov 2023 16:14:07 +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 1r80it-0006Tl-My
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 16:14:07 +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 1r80is-0004FS-Fe; Tue, 28 Nov 2023 16:14:06 +0000
Received: from static-css-csq-252138.business.bouyguestelecom.com
 ([176.175.252.138] helo=[172.20.7.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 1r80is-0001XS-A8; Tue, 28 Nov 2023 16:14: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=0b62E3Wu7bp1doEaICe08WH5iUL1XCaUrt0vt92nGsg=; b=b6AXVQesRkYAquLOGgHSxoXNX/
	6lH2l4b5ub3NC1Y9RI0lkCwcDHnpVQO1Z94I7cXmFOTD3dYIAdmZ0AaLrK7BTUJceaVMJ/qZ42eNy
	oKsDKI30kOjBe04phMTAkOweChVNFhxriRjxgRWVTGG1Np0lBZr0SyhpZJeZ0ET6H5rc=;
Message-ID: <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org>
Date: Tue, 28 Nov 2023 17:14:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
To: Michal Orzel <michal.orzel@amd.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: <20231127144156.361656-1-michal.orzel@amd.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231127144156.361656-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 27/11/2023 15:41, Michal Orzel wrote:
> Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where prompt
> attention to undefined behavior issues, notably during CI test runs, is
> essential. When enabled, this option causes Xen to panic upon detecting
> UBSAN failure (as the last step in ubsan_epilogue()).

I have mixed opinions on this patch. This would be a good one if we had 
a Xen mostly free from UBSAN behavior. But this is not the case at least 
on arm32. So we would end up to stop at the first error. IOW, we would 
need to fix the first error before we can see the next one.

So I feel it would be best if the gitlab CI jobs actually check for 
USBAN in the logs and fail if there are any. With that, we can get the 
full list of UBSAN issues on each job.

Cheers,

> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---
>   xen/Kconfig.debug        | 7 +++++++
>   xen/common/ubsan/ubsan.c | 4 ++++
>   2 files changed, 11 insertions(+)
> 
> diff --git a/xen/Kconfig.debug b/xen/Kconfig.debug
> index 94e818ee09b5..e19e9d48817c 100644
> --- a/xen/Kconfig.debug
> +++ b/xen/Kconfig.debug
> @@ -107,6 +107,13 @@ config UBSAN
>   
>   	  If unsure, say N here.
>   
> +config UBSAN_FATAL
> +	bool "Panic on UBSAN failure"
> +	depends on UBSAN
> +	help
> +	  Enabling this option will cause Xen to panic when an undefined behavior
> +	  is detected by UBSAN. If unsure, say N here.
> +
>   config DEBUG_TRACE
>   	bool "Debug trace support"
>   	---help---
> diff --git a/xen/common/ubsan/ubsan.c b/xen/common/ubsan/ubsan.c
> index a3a80fa99eec..dd5ee0013648 100644
> --- a/xen/common/ubsan/ubsan.c
> +++ b/xen/common/ubsan/ubsan.c
> @@ -174,6 +174,10 @@ static void ubsan_epilogue(unsigned long *flags)
>   		"========================================\n");
>   	spin_unlock_irqrestore(&report_lock, *flags);
>   	current->in_ubsan--;
> +
> +#ifdef CONFIG_UBSAN_FATAL
> +	panic("UBSAN failure detected\n");
> +#endif
>   }
>   
>   static void handle_overflow(struct overflow_data *data, unsigned long lhs,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 16:22:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 16:22:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643317.1003384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r80qq-0001Hh-IE; Tue, 28 Nov 2023 16:22:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643317.1003384; Tue, 28 Nov 2023 16: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 1r80qq-0001Ha-FB; Tue, 28 Nov 2023 16:22:20 +0000
Received: by outflank-mailman (input) for mailman id 643317;
 Tue, 28 Nov 2023 16:22: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=7TP6=HJ=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r80qp-0001HP-EQ
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 16:22:19 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4c43835f-8e0a-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 17:22:18 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id B64BE219A1;
 Tue, 28 Nov 2023 16:22:16 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 559261343E;
 Tue, 28 Nov 2023 16:22:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id y4GgE7gTZmVkYgAAD6G6ig
 (envelope-from <jgross@suse.com>); Tue, 28 Nov 2023 16:22: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: 4c43835f-8e0a-11ee-98e3-6d05b1d4d9a1
Message-ID: <124182f6-d180-418c-87bb-ecf07325263b@suse.com>
Date: Tue, 28 Nov 2023 17:22:15 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jiqian Chen <Jiqian.Chen@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Alex Deucher <Alexander.Deucher@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Huang Rui <Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>,
 Julia Zhang <Julia.Zhang@amd.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-4-Jiqian.Chen@amd.com> <ZWX4R9UEE6oXiqaz@macbook>
 <6ee9c6e2-7ebf-42c6-a923-57f9da093160@suse.com> <ZWYRHqie0oVuawmc@macbook>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <ZWYRHqie0oVuawmc@macbook>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------ZE3tIsS7otW762Ep0kolU7Fj"
X-Spamd-Bar: +++++++++++++++++
X-Spam-Score: 17.18
X-Rspamd-Server: rspamd1
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:97 as permitted sender) smtp.mailfrom=jgross@suse.com;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine)
X-Rspamd-Queue-Id: B64BE219A1
X-Spam-Flag: NO
X-Spam-Level: *****************
X-Spamd-Result: default: False [17.18 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(5.10)[100.00%];
	 XM_UA_NO_VERSION(0.01)[];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 NEURAL_HAM_SHORT(-0.20)[-0.992];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 NEURAL_SPAM_LONG(2.38)[0.680];
	 RCPT_COUNT_TWELVE(0.00)[14];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------ZE3tIsS7otW762Ep0kolU7Fj
Content-Type: multipart/mixed; boundary="------------PpgFhmwiVEuKGbMdTdxOXh7C";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jiqian Chen <Jiqian.Chen@amd.com>, Jan Beulich <jbeulich@suse.com>,
 Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org,
 Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
 Alex Deucher <Alexander.Deucher@amd.com>,
 Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
 Stefano Stabellini <stefano.stabellini@amd.com>,
 Huang Rui <Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>,
 Julia Zhang <Julia.Zhang@amd.com>
Message-ID: <124182f6-d180-418c-87bb-ecf07325263b@suse.com>
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-4-Jiqian.Chen@amd.com> <ZWX4R9UEE6oXiqaz@macbook>
 <6ee9c6e2-7ebf-42c6-a923-57f9da093160@suse.com> <ZWYRHqie0oVuawmc@macbook>
In-Reply-To: <ZWYRHqie0oVuawmc@macbook>

--------------PpgFhmwiVEuKGbMdTdxOXh7C
Content-Type: multipart/mixed; boundary="------------hRAxNc87dZdXq79HDhcyF7nu"

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

T24gMjguMTEuMjMgMTc6MTEsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+IE9uIFR1ZSwg
Tm92IDI4LCAyMDIzIGF0IDAzOjQyOjMxUE0gKzAxMDAsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6
DQo+PiBPbiAyOC4xMS4yMyAxNToyNSwgUm9nZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4+PiBP
biBGcmksIE5vdiAyNCwgMjAyMyBhdCAwNjo0MTozNlBNICswODAwLCBKaXFpYW4gQ2hlbiB3
cm90ZToNCj4+Pj4gSW4gUFZIIGRvbTAsIGl0IHVzZXMgdGhlIGxpbnV4IGxvY2FsIGludGVy
cnVwdCBtZWNoYW5pc20sDQo+Pj4+IHdoZW4gaXQgYWxsb2NzIGlycSBmb3IgYSBnc2ksIGl0
IGlzIGR5bmFtaWMsIGFuZCBmb2xsb3cNCj4+Pj4gdGhlIHByaW5jaXBsZSBvZiBhcHBseWlu
ZyBmaXJzdCwgZGlzdHJpYnV0aW5nIGZpcnN0LiBBbmQNCj4+Pj4gaWYgeW91IGRlYnVnIHRo
ZSBrZXJuZWwgY29kZXMsIHlvdSB3aWxsIGZpbmQgdGhlIGlycQ0KPj4+PiBudW1iZXIgaXMg
YWxsb2NlZCBmcm9tIHNtYWxsIHRvIGxhcmdlLCBidXQgdGhlIGFwcGx5aW5nDQo+Pj4+IGdz
aSBudW1iZXIgaXMgbm90LCBtYXkgZ3NpIDM4IGNvbWVzIGJlZm9yZSBnc2kgMjgsIHRoYXQN
Cj4+Pj4gY2F1c2VzIHRoZSBpcnEgbnVtYmVyIGlzIG5vdCBlcXVhbCB3aXRoIHRoZSBnc2kg
bnVtYmVyLg0KPj4+PiBBbmQgd2hlbiB3ZSBwYXNzdGhyb3VnaCBhIGRldmljZSwgUUVNVSB3
aWxsIHVzZSBpdHMgZ3NpDQo+Pj4+IG51bWJlciB0byBkbyBtYXBwaW5nIGFjdGlvbnMsIHNl
ZSB4ZW5fcHRfcmVhbGl6ZS0+DQo+Pj4+IHhjX3BoeXNkZXZfbWFwX3BpcnEsIGJ1dCB0aGUg
Z3NpIG51bWJlciBpcyBnb3QgZnJvbSBmaWxlDQo+Pj4+IC9zeXMvYnVzL3BjaS9kZXZpY2Vz
L3h4eHg6eHg6eHgueC9pcnEgaW4gY3VycmVudCBjb2RlLA0KPj4+PiBzbyBpdCB3aWxsIGZh
aWwgd2hlbiBtYXBwaW5nLg0KPj4+PiBBbmQgaW4gY3VycmVudCBjb2RlcywgdGhlcmUgaXMg
bm8gbWV0aG9kIHRvIHRyYW5zbGF0ZQ0KPj4+PiBpcnEgdG8gZ3NpIGZvciB1c2Vyc3BhY2Uu
DQo+Pj4NCj4+PiBJIHRoaW5rIGl0IHdvdWxkIGJlIGNsZWFuZXIgdG8ganVzdCBpbnRyb2R1
Y2UgYSBuZXcgc3lzZnMgbm9kZSB0aGF0DQo+Pj4gY29udGFpbnMgdGhlIGdzaSBpZiBhIGRl
dmljZSBpcyB1c2luZyBvbmUgKG11Y2ggbGlrZSB0aGUgaXJxIHN5c2ZzDQo+Pj4gbm9kZSk/
DQo+Pj4NCj4+PiBTdWNoIGlvY3RsIHRvIHRyYW5zbGF0ZSBmcm9tIElSUSB0byBHU0kgaGFz
IG5vdGhpbmcgdG8gZG8gd2l0aCBYZW4sIHNvDQo+Pj4gcGxhY2luZyBpdCBpbiBwcml2Y21k
IGRvZXMgc2VlbSBxdWl0ZSBzdHJhbmdlIHRvIG1lLiAgSSB1bmRlcnN0YW5kDQo+Pj4gdGhh
dCBmb3IgcGFzc3Rocm91Z2ggd2UgbmVlZCB0aGUgR1NJLCBidXQgc3VjaCB0cmFuc2xhdGlv
biBsYXllciBmcm9tDQo+Pj4gSVJRIHRvIEdTSSBpcyBhbGwgTGludXggaW50ZXJuYWwsIGFu
ZCBpdCB3b3VsZCBiZSBtdWNoIHNpbXBsZXIgdG8ganVzdA0KPj4+IGV4cG9zZSB0aGUgR1NJ
IGluIHN5c2ZzIElNTy4NCj4+DQo+PiBZb3UgYXJlIGF3YXJlIHRoYXQgd2UgaGF2ZSBhIFhl
biBzcGVjaWZpYyB2YXJpYW50IG9mIGFjcGlfcmVnaXN0ZXJfZ3NpKCk/DQo+Pg0KPj4gSXQg
aXMgdGhlIFhlbiBldmVudCBjaGFubmVsIGRyaXZlciBiZWluZyByZXNwb25zaWJsZSBmb3Ig
dGhlIEdTSTwtPklSUQ0KPj4gbWFwcGluZy4NCj4gDQo+IEknbSBraW5kIG9mIGxvc3QsIHRo
aXMgdHJhbnNsYXRpb24gZnVuY3Rpb24gaXMgc3BlY2lmaWNhbGx5IG5lZWRlZCBmb3INCj4g
UFZIIHdoaWNoIGRvZXNuJ3QgdXNlIHRoZSBYZW4gc3BlY2lmaWMgdmFyaWFudCBvZiBhY3Bp
X3JlZ2lzdGVyX2dzaSgpLA0KPiBhbmQgaGVuY2UgdGhlIElSUSA8LT4gR1NJIHJlbGF0aW9u
IGlzIHdoYXRldmVyIHRoZSBMaW51eCBrZXJuZWwgZG9lcw0KPiBvbiBuYXRpdmUuDQo+IA0K
PiBJIGRvIHVuZGVyc3RhbmQgdGhhdCBvbiBhIFBWIGRvbTAgdGhlIHByb3Bvc2VkIHN5c2Zz
IGdzaSBub2RlIHdvdWxkDQo+IG1hdGNoIHRoZSBpcnEgbm9kZSwgYnV0IHRoYXQgZG9lc24n
dCBzZWVtIGxpa2UgYW4gaXNzdWUgdG8gbWUuDQo+IA0KPiBOb3RlIGFsc28gdGhhdCBQVkgg
ZG9lc24ndCB1c2UgYWNwaV9yZWdpc3Rlcl9nc2lfeGVuX2h2bSgpIGJlY2F1c2UNCj4gWEVO
RkVBVF9odm1fcGlycXMgZmVhdHVyZSBpcyBub3QgZXhwb3NlZCB0byBQVkgsIHNvIEkgZXhw
ZWN0IGl0IHVzZXMNCj4gdGhlIHg4NiBhY3BpX3JlZ2lzdGVyX2dzaV9pb2FwaWMoKS4NCg0K
T2gsIEkgd2Fzbid0IGF3YXJlIG9mIHRoaXMuDQoNClNvcnJ5IGZvciB0aGUgbm9pc2UuDQoN
Cg0KSnVlcmdlbg0K
--------------hRAxNc87dZdXq79HDhcyF7nu
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------hRAxNc87dZdXq79HDhcyF7nu--

--------------PpgFhmwiVEuKGbMdTdxOXh7C--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVmE7cFAwAAAAAACgkQsN6d1ii/Ey8R
bgf/ZXL7CoWbkpIYw1Kt/tIDTbjdNTizT2oBdlNJgYPNGxb4ptRFawnzGb5Ru95jqXxNuNQVdZNX
+b4berVxGAJaNV5+Rl0IAt+ciSPsNlc3slIOLjZhgG6A7YDXbHvTTFCfy+HJWmXx5oYQvpnIu1ab
cK3CdSVNROLaSuOi/z3VPnC3nSkKd8PO5HeiXqT49PWEvT/2kmEoJJIbiPxLyE4Z1QqRWIWtvXwn
hWYesaKcklx3Xwfzf8+9HC8GgELDKTT56HYsySro3SBR+nPRgzGKv3gtpCqDQZjm5cpvd7XOb8HT
K8JjYBogmsLNUsv8+bcuc0daI91UF99R/KasqtSy8A==
=0jY1
-----END PGP SIGNATURE-----

--------------ZE3tIsS7otW762Ep0kolU7Fj--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:01:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:01:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643332.1003406 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81S5-0002ea-IJ; Tue, 28 Nov 2023 17:00:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643332.1003406; Tue, 28 Nov 2023 17:00: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 1r81S5-0002eT-Ex; Tue, 28 Nov 2023 17:00:49 +0000
Received: by outflank-mailman (input) for mailman id 643332;
 Tue, 28 Nov 2023 17:00: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=DME+=HJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r81S4-0002eN-CN
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:00:48 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on2062e.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::62e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ab44bc12-8e0f-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:00:45 +0100 (CET)
Received: from MW4PR03CA0288.namprd03.prod.outlook.com (2603:10b6:303:b5::23)
 by PH8PR12MB6724.namprd12.prod.outlook.com (2603:10b6:510:1cf::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Tue, 28 Nov
 2023 17:00:40 +0000
Received: from CO1PEPF000042AA.namprd03.prod.outlook.com
 (2603:10b6:303:b5:cafe::16) by MW4PR03CA0288.outlook.office365.com
 (2603:10b6:303:b5::23) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29 via Frontend
 Transport; Tue, 28 Nov 2023 17:00:40 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042AA.mail.protection.outlook.com (10.167.243.39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 17:00:39 +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.2507.34; Tue, 28 Nov
 2023 11:00:35 -0600
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.2507.34; Tue, 28 Nov
 2023 11:00:29 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 28 Nov 2023 11:00:28 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ab44bc12-8e0f-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UBJcBNnrQItSRYhVBdWMrnx2XQm/zHnaV8GVaxL/qTucb/ayX6SUnjAjn0GWwSBiZ41FmLl5CPHFtXjAJE93Tqut0b4lBuZ1hAlUMWfBTF48zW+hXiqB2Ej+h/3gZ4SBAeVHKVmAV0eO6+5R7j8eRHO/I+rLSzFoM+0nx6Na8vobaNTDWd8vgIixFqrpipnKK5q2ZCAkUjspHELuojF/2nadzDN6kUBj/wuKu3BkBo+dZhL+a6FI0FYiHeHJ1h1rY9kwiKKKNrqczjgXAC2A01px2tchZj4XKJ9TfQ77CzcABO969/NbZIUtZiYhDmpr0111YySW3njWfw8LUsrbtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=QWmT6zYp75+axsRYKQZyozfn8ezGii1nxBPxHLF2dIk=;
 b=Nxn/Auod4kZWabVrbmWiyE4j11B/j/jlWyJwbWu8xGJf5GI1e2E6swqdTHgjf1l5YADO4kQaLrh3jhe7GuRjNVZRECliJRf4S/M0JfGcNPtLde5MsTmbtTrR3GFL/+WOblaNnuoAcdHKy6pZe3fdgldb7jDVZhUvyMB5ppdyyBcfbsurVkMMCF+EgV4I//M/z7FD7I25zowpGFjViINA5E7n0gIBAoJkTHQgJXOWcRZ9V9CzrpGxoC7RGD2TLud1Y+lBMR4A+IToJUtSdW02nZS6g+8igN4hQuzbsS7sNXq1okLeUx74aM6AnKsuwMoIEsxOT4Tq6N1UMqYirIkzrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=QWmT6zYp75+axsRYKQZyozfn8ezGii1nxBPxHLF2dIk=;
 b=f64Gg/+7RAuY1821xy887fhTroJ5Vo1inCFdNTQsc6Vn4/NUnmIygLbwiyUOQV0mgtTBDrvtdIOHjJQywwSVaS5C3ROCiXAfd/mIZNpDFeoHt3lzLHSGsE6HKYWts98zDpjFGNePAzEseNglZeZxvr9HsbHATDH0/Bk/Fb1UN74=
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: <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com>
Date: Tue, 28 Nov 2023 18:00:27 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
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: <20231127144156.361656-1-michal.orzel@amd.com>
 <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042AA:EE_|PH8PR12MB6724:EE_
X-MS-Office365-Filtering-Correlation-Id: 7532d4f7-1636-4473-0411-08dbf0338cc3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	/u8CrxPRqgD2IxvS+V2m8MaoAqTHkit7RvPCmV/H5A9yLbtni6zeMSRC3/+kWvUQF/y7Q2sPhv2nKYvxN7QKhV6rbgNtrKYEuXL9szq80DLTo2eP3qCWupGqFzrhTd7HUbioZt+IOoUEvZWcuy/luWwb3PsgJy/j4F83c34zVe4sujT8Uf5YVq3Dci558VTXJ0a0l5FgpS6sH5vqoRFWkYUE1CBm4gHrTJOXnZavpTAyDKEVVCrdCseAVC4WiQYVjwBgWQ770tQLlw2IhjM3DT50LBC3YijhvKkUv5EYB/XZW3D5Q+clw/HOy82olieP9MsBvAbCqZg7tlRSqvykWB7YpdaJ59pw+wGkky/xqI1ZGdHU/muzSxRqYYGwwIJ6KiJA3cJa62BiqrufYVw/XLEXuewpC3AnAZia7vLdDyv+T5ZRAdryWWQxNPIP/UQ7aM9hku7DW3prc2mflJRo33VMj1CgLsNMjS3t43rOSTnVyuoJhm9kXjuoxwYr6iP0RCp5SefncaONY/y2WJJe02uBdT6HPQ71VwRP9HJP+74m417fBhDApOMIf65Ihl+kf/gDiV3JcBo2lpLsxMzWxi0FMkxefkKIMmMdsyymJfJcqsMWoC5uIHoXlCviaM4oSWsxtDh6UzDeTMdc75E5CDoVaF4lqJUoH2qaSLuCpEQYdXgm8vrGQl6bBDRHcnxdpJMx7F6okTf5/PYotrOn0xsDkdb8cikSJ/HWCUCS9i/xqLhwl//Io0aHf5m7Thxq8rCzbNR+13xkuzJ3FDeNHxdmFPQaCJfmwjNmjowjeX4=
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:(13230031)(4636009)(396003)(346002)(39860400002)(376002)(136003)(230922051799003)(82310400011)(1800799012)(186009)(451199024)(64100799003)(36840700001)(46966006)(40470700004)(41300700001)(36756003)(86362001)(31686004)(81166007)(356005)(47076005)(83380400001)(5660300002)(82740400003)(336012)(426003)(44832011)(36860700001)(26005)(2616005)(40480700001)(2906002)(31696002)(53546011)(8676002)(4326008)(8936002)(40460700003)(478600001)(966005)(54906003)(70206006)(70586007)(110136005)(316002)(16576012)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 17:00:39.7083
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7532d4f7-1636-4473-0411-08dbf0338cc3
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:
	CO1PEPF000042AA.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6724

Hi Julien,

On 28/11/2023 17:14, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 27/11/2023 15:41, Michal Orzel wrote:
>> Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where prompt
>> attention to undefined behavior issues, notably during CI test runs, is
>> essential. When enabled, this option causes Xen to panic upon detecting
>> UBSAN failure (as the last step in ubsan_epilogue()).
> 
> I have mixed opinions on this patch. This would be a good one if we had
> a Xen mostly free from UBSAN behavior. But this is not the case at least
> on arm32. So we would end up to stop at the first error. IOW, we would
> need to fix the first error before we can see the next one.
Well, this patch introduces a config option disabled by default.
If we end up enabling it for CI for reasons* stated by Andrew, then the natural way
of handling such issues is to do the investigation locally. Then, you are not forced
to select this option and you can see all the UBSAN issues if you want.

> 
> So I feel it would be best if the gitlab CI jobs actually check for
> USBAN in the logs and fail if there are any. With that, we can get the
> full list of UBSAN issues on each job.
Well, I prefer Andrew suggestion (both [1] and on IRC), hence this patch.

*my plan was to first fix the UBSAN issues and then enable this option for CI.

[1] https://lore.kernel.org/xen-devel/7421ddfd-8947-4fe1-93a6-dc25a4aa8bbc@citrix.com/T/#t

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:02:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:02:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643334.1003416 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81TX-00037r-T1; Tue, 28 Nov 2023 17:02:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643334.1003416; Tue, 28 Nov 2023 17:02: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 1r81TX-00037k-Oj; Tue, 28 Nov 2023 17:02:19 +0000
Received: by outflank-mailman (input) for mailman id 643334;
 Tue, 28 Nov 2023 17:02: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 1r81TW-00037Y-A7; Tue, 28 Nov 2023 17:02: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 1r81TW-0005Fw-5P; Tue, 28 Nov 2023 17:02: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 1r81TV-00060X-VR; Tue, 28 Nov 2023 17:02:18 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r81TV-0002fV-Uv; Tue, 28 Nov 2023 17: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>
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=OXPVYWT/7VYeAKEI90aBr3/kbHe2U8rgb4BQim7PN1Y=; b=2oQF+PvNiQBR9g9vqEvO8fvm2H
	HFqnjnyTUWPWHQ9H3qj4WPgfS4amHT+uqvIAccZvQG1uv+iEXWBEPjuW/W5SPXim1J+gsNOF8RhNG
	Ntx1bJODwTrmYg0s00ZHpihxkYeYe5I+2ZIJmiYNk5FbV+08g0t01XICAz4waTLcOdH0=;
To: xen-devel@lists.xenproject.org
Subject: [xen-unstable-smoke bisection] complete build-amd64
Message-Id: <E1r81TV-0002fV-Uv@osstest.test-lab.xenproject.org>
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 17:02:17 +0000

branch xen-unstable-smoke
xenbranch xen-unstable-smoke
job build-amd64
testid xen-build/dist-test

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:  82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
  Bug not present: 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/183905/


  commit 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
  Author: Roger Pau Monné <roger.pau@citrix.com>
  Date:   Mon Nov 27 15:16:01 2023 +0100
  
      livepatch: do not use .livepatch.funcs section to store internal state
      
      Currently the livepatch logic inside of Xen will use fields of struct
      livepatch_func in order to cache internal state of patched functions.  Note
      this is a field that is part of the payload, and is loaded as an ELF section
      (.livepatch.funcs), taking into account the SHF_* flags in the section
      header.
      
      The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
      are SHF_ALLOC, which leads to its contents (the array of livepatch_func
      structures) being placed in read-only memory:
      
      Section Headers:
        [Nr] Name              Type             Address           Offset
             Size              EntSize          Flags  Link  Info  Align
      [...]
        [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
             0000000000000068  0000000000000000   A       0     0     8
      
      This previously went unnoticed, as all writes to the fields of livepatch_func
      happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
      however WP is no longer toggled in CR0 for patch application, and only the
      hypervisor .text mappings are made write-accessible.  That leads to the
      following page fault when attempting to apply a livepatch:
      
      ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
      CPU:    4
      RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
      [...]
      Xen call trace:
         [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
         [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
         [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee
      
      Pagetable walk from ffff82d040625079:
       L4[0x105] = 000000008c6c9063 ffffffffffffffff
       L3[0x141] = 000000008c6c6063 ffffffffffffffff
       L2[0x003] = 000000086a1e7063 ffffffffffffffff
       L1[0x025] = 800000086ca5d121 ffffffffffffffff
      
      ****************************************
      Panic on CPU 4:
      FATAL PAGE FAULT
      [error_code=0003]
      Faulting linear address: ffff82d040625079
      ****************************************
      
      Fix this by moving the internal Xen function patching state out of
      livepatch_func into an area not allocated as part of the ELF payload.  While
      there also constify the array of livepatch_func structures in order to prevent
      further surprises.
      
      Note there's still one field (old_addr) that gets set during livepatch load.  I
      consider this fine since the field is read-only after load, and at the point
      the field gets set the underlying mapping hasn't been made read-only yet.
      
      Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>


For bisection revision-tuple graph see:
   http://logs.test-lab.xenproject.org/osstest/results/bisect/xen-unstable-smoke/build-amd64.xen-build--dist-test.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-smoke/build-amd64.xen-build--dist-test --summary-out=tmp/183905.bisection-summary --basis-template=183851 --blessings=real,real-bisect,real-retry xen-unstable-smoke build-amd64 xen-build/dist-test
Searching for failure / basis pass:
 183891 fail [host=godello1] / 183851 [host=himrod2] 183846 [host=himrod2] 183844 [host=himrod2] 183840 [host=albana0] 183826 [host=himrod0] 183817 [host=nobling1] 183814 [host=godello0] 183809 [host=nobling1] 183802 [host=godello0] 183798 [host=godello0] 183786 [host=himrod2] 183784 [host=himrod2] 183774 [host=himrod2] 183770 [host=nobling1] 183767 [host=himrod2] 183762 ok.
Failure / basis pass flights: 183891 / 183762
(tree with no url: minios)
(tree with no url: ovmf)
(tree with no url: seabios)
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 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 72d51813d631fe27d37736b7a55eeec08f246983
Basis pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 7ad0c774e474f6d95dfda868d876af507d399657
Generating revisions with ./adhoc-revtuple-generator  git://xenbits.xen.org/qemu-xen-traditional.git#3d273dd05e51e5a1ffba3d98c7437ee84e8f8764-3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 git://xenbits.xen.org/qemu-xen.git#0df9387c8983e1b1e72d8c574356f572342c03e6-0df9387c8983e1b1e72d8c574356f572342c03e6 git://xenbits.xen.org/xen.git#7ad0c774e474f6d95dfda868d876af507d399657-72d51813d631fe27d37736b7a55eeec08f246983
Loaded 5001 nodes in revision graph
Searching for test results:
 183762 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 7ad0c774e474f6d95dfda868d876af507d399657
 183767 [host=himrod2]
 183770 [host=nobling1]
 183774 [host=himrod2]
 183784 [host=himrod2]
 183786 [host=himrod2]
 183798 [host=godello0]
 183802 [host=godello0]
 183809 [host=nobling1]
 183814 [host=godello0]
 183817 [host=nobling1]
 183826 [host=himrod0]
 183840 [host=albana0]
 183844 [host=himrod2]
 183846 [host=himrod2]
 183851 [host=himrod2]
 183878 [host=albana0]
 183881 [host=albana0]
 183883 [host=albana0]
 183885 [host=albana0]
 183886 [host=albana0]
 183887 [host=albana0]
 183882 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 72d51813d631fe27d37736b7a55eeec08f246983
 183888 [host=albana0]
 183889 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 7ad0c774e474f6d95dfda868d876af507d399657
 183892 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 72d51813d631fe27d37736b7a55eeec08f246983
 183893 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 625f2cc66f53c7f1bf56562bf96c06510087d484
 183894 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 0dd323133022933dfb03de984c50eadd697cdd71
 183891 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 72d51813d631fe27d37736b7a55eeec08f246983
 183896 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 f02829592efe4f55f6d95bb9e2359717109e8ebc
 183897 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 fbcec32d6d3ea0ac329301925b317478316209ed
 183898 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 09c2fe438da1dfc83f70d921b52240bea576615f
 183900 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
 183901 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
 183902 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
 183903 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
 183904 pass 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
 183905 fail 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
Searching for interesting versions
 Result found: flight 183762 (pass), for basis pass
 For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55, results HASH(0x557f0ca6be10) HASH(0x557f0c579850) HASH(0x557f0c581f50) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 fbcec32d6d3ea0ac329301925b317478316209ed, results HASH(0x557f0cae6e98) For basis failure, parent search stopping at 3d273dd05e51e5a1\
 ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 f02829592efe4f55f6d95bb9e2359717109e8ebc, results HASH(0x557f0cae4bb0) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 0dd323133022933dfb03de984c50eadd697cdd71, results HASH(0x557f0cadfb78) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 625f2cc66f53c7f1bf56562bf96c06510087d4\
 84, results HASH(0x557f0cade140) For basis failure, parent search stopping at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 7ad0c774e474f6d95dfda868d876af507d399657, results HASH(0x557f0ca75680) HASH(0x557f0ca7ef50) Result found: flight 183882 (fail), for basis failure (at ancestor ~2433)
 Repro found: flight 183889 (pass), for basis pass
 Repro found: flight 183891 (fail), for basis failure
 0 revisions at 3d273dd05e51e5a1ffba3d98c7437ee84e8f8764 0df9387c8983e1b1e72d8c574356f572342c03e6 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
No revisions left to test, checking graph state.
 Result found: flight 183900 (pass), for last pass
 Result found: flight 183901 (fail), for first failure
 Repro found: flight 183902 (pass), for last pass
 Repro found: flight 183903 (fail), for first failure
 Repro found: flight 183904 (pass), for last pass
 Repro found: flight 183905 (fail), for first failure

*** Found and reproduced problem changeset ***

  Bug is in tree:  xen git://xenbits.xen.org/xen.git
  Bug introduced:  82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
  Bug not present: 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
  Last fail repro: http://logs.test-lab.xenproject.org/osstest/logs/183905/


  commit 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
  Author: Roger Pau Monné <roger.pau@citrix.com>
  Date:   Mon Nov 27 15:16:01 2023 +0100
  
      livepatch: do not use .livepatch.funcs section to store internal state
      
      Currently the livepatch logic inside of Xen will use fields of struct
      livepatch_func in order to cache internal state of patched functions.  Note
      this is a field that is part of the payload, and is loaded as an ELF section
      (.livepatch.funcs), taking into account the SHF_* flags in the section
      header.
      
      The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
      are SHF_ALLOC, which leads to its contents (the array of livepatch_func
      structures) being placed in read-only memory:
      
      Section Headers:
        [Nr] Name              Type             Address           Offset
             Size              EntSize          Flags  Link  Info  Align
      [...]
        [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
             0000000000000068  0000000000000000   A       0     0     8
      
      This previously went unnoticed, as all writes to the fields of livepatch_func
      happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
      however WP is no longer toggled in CR0 for patch application, and only the
      hypervisor .text mappings are made write-accessible.  That leads to the
      following page fault when attempting to apply a livepatch:
      
      ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
      CPU:    4
      RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
      [...]
      Xen call trace:
         [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
         [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
         [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee
      
      Pagetable walk from ffff82d040625079:
       L4[0x105] = 000000008c6c9063 ffffffffffffffff
       L3[0x141] = 000000008c6c6063 ffffffffffffffff
       L2[0x003] = 000000086a1e7063 ffffffffffffffff
       L1[0x025] = 800000086ca5d121 ffffffffffffffff
      
      ****************************************
      Panic on CPU 4:
      FATAL PAGE FAULT
      [error_code=0003]
      Faulting linear address: ffff82d040625079
      ****************************************
      
      Fix this by moving the internal Xen function patching state out of
      livepatch_func into an area not allocated as part of the ELF payload.  While
      there also constify the array of livepatch_func structures in order to prevent
      further surprises.
      
      Note there's still one field (old_addr) that gets set during livepatch load.  I
      consider this fine since the field is read-only after load, and at the point
      the field gets set the underlying mapping hasn't been made read-only yet.
      
      Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
      Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
      Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

pnmtopng: 243 colors found
Revision graph left in /home/logs/results/bisect/xen-unstable-smoke/build-amd64.xen-build--dist-test.{dot,ps,png,html,svg}.
----------------------------------------
183905: tolerable all pass

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

Failures :-/ but no regressions.

Tests which did not succeed,
including tests which could not be run:
 build-amd64                   7 xen-build/dist-test     fail baseline untested


jobs:
 build-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



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:09:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:09:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643342.1003430 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81aN-0004MM-QG; Tue, 28 Nov 2023 17:09:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643342.1003430; Tue, 28 Nov 2023 17:09: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 1r81aN-0004MF-La; Tue, 28 Nov 2023 17:09:23 +0000
Received: by outflank-mailman (input) for mailman id 643342;
 Tue, 28 Nov 2023 17:09:22 +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 1r81aM-0004M9-44
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:09:22 +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 1r81aL-0005N5-68; Tue, 28 Nov 2023 17:09:21 +0000
Received: from static-css-csq-252138.business.bouyguestelecom.com
 ([176.175.252.138] helo=[172.20.7.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 1r81aK-0003BV-WF; Tue, 28 Nov 2023 17: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=l1xMnfsDShhgw5TfcxK6+vwbE/RkPF2ZR0NP2bYAqtw=; b=eR4owU4Wt3/1yKfHknV0dJ8zq4
	BdJBeJTsOVaiadBkntDVwz0fAcEcG86ncBVCfNnJF4sKvClNd/HCKSSdSDmqKcT5GtbAuW4SY1a46
	Wsvpo3lM0goszbTFuKHH4+ILVBj0sQ7u6wuAOmmpnkvWFAQnK+2OjSrWDhQ0mVSXkYvI=;
Message-ID: <b0127019-4976-42e3-bde1-643cc56f18b0@xen.org>
Date: Tue, 28 Nov 2023 18:09:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231127144156.361656-1-michal.orzel@amd.com>
 <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org>
 <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 28/11/2023 18:00, Michal Orzel wrote:
> Hi Julien,
> 
> On 28/11/2023 17:14, Julien Grall wrote:
>>
>>
>> Hi Michal,
>>
>> On 27/11/2023 15:41, Michal Orzel wrote:
>>> Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where prompt
>>> attention to undefined behavior issues, notably during CI test runs, is
>>> essential. When enabled, this option causes Xen to panic upon detecting
>>> UBSAN failure (as the last step in ubsan_epilogue()).
>>
>> I have mixed opinions on this patch. This would be a good one if we had
>> a Xen mostly free from UBSAN behavior. But this is not the case at least
>> on arm32. So we would end up to stop at the first error. IOW, we would
>> need to fix the first error before we can see the next one.
> Well, this patch introduces a config option disabled by default.

I understood this is disabled by default... I am pointing out that I am 
not convinced about the usefulness until we are at the stage where Xen 
is normally not reporting any USBAN error.

> If we end up enabling it for CI for reasons* stated by Andrew, then the natural way
> of handling such issues is to do the investigation locally.

This will not always be possible. One example is when you are only able 
to reproduce some of the USBAN errors on a specific HW.

> Then, you are not forced
> to select this option and you can see all the UBSAN issues if you want.

See above, I got that point. I am mostly concerned about the implication 
in the CI right now.

> 
>>
>> So I feel it would be best if the gitlab CI jobs actually check for
>> USBAN in the logs and fail if there are any. With that, we can get the
>> full list of UBSAN issues on each job.
> Well, I prefer Andrew suggestion (both [1] and on IRC), hence this patch.
> 
> *my plan was to first fix the UBSAN issues and then enable this option for CI.

That would have been useful to describe your goal after "---". With that 
in mind, then I suggest to revisit this patch once all the UBSAN issues 
in a normal build are fixed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:10:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:10:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643344.1003439 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81ba-0005yP-1A; Tue, 28 Nov 2023 17:10:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643344.1003439; Tue, 28 Nov 2023 17:10: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 1r81bZ-0005yI-Un; Tue, 28 Nov 2023 17:10:37 +0000
Received: by outflank-mailman (input) for mailman id 643344;
 Tue, 28 Nov 2023 17:10: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=XwP9=HJ=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r81bY-0005wh-9n
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:10:36 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 09d87c3f-8e11-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 18:10:32 +0100 (CET)
Received: from Dell.homenet.telecomitalia.it
 (host-82-59-158-146.retail.telecomitalia.it [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id ECE574EE0737;
 Tue, 28 Nov 2023 18:10:31 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 09d87c3f-8e11-11ee-9b0e-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH] automation/eclair: add deviations for MISRA C:2012 Rule 5.6
Date: Tue, 28 Nov 2023 18:09:46 +0100
Message-Id: <5826d25aeb31ebd29b0f2aebf3f78e676deb50b9.1701191295.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to take into account the adopted files
and type "ret_t".
Update docs/misra/deviations.rst accordingly.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 12 ++++++++++++
 docs/misra/deviations.rst                        | 16 ++++++++++++++++
 2 files changed, 28 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index c9e3a90801..3c6c7ce4a3 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -81,6 +81,18 @@ conform to the directive."
 -config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read_debugreg$))&&any_exp(macro(^write_debugreg$))))"}
 -doc_end
 
+-doc_begin="The type \"ret_t\" is deliberately defined multiple times,
+depending on the guest."
+-config=MC3R1.R5.6,reports+={deliberate,"any_area(any_loc(text(^.*ret_t.*$)))"}
+-doc_end
+
+-doc_begin="The following files are imported from the gnu-efi package."
+-file_tag+={adopted_r5_6,"^xen/include/efi/.*$"}
+-file_tag+={adopted_r5_6,"^xen/arch/x86/include/asm/x86_64/efibind\\.h$"}
+-file_tag+={adopted_r5_6,"^xen/arch/arm/include/asm/arm64/efibind\\.h$"}
+-config=MC3R1.R5.6,reports+={deliberate,"any_area(any_loc(file(adopted_r5_6)))"}
+-doc_end
+
 #
 # Series 7.
 #
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 160513b997..8cec2c556c 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -90,6 +90,22 @@ Deviations related to MISRA C:2012 Rules:
          - __emulate_2op and __emulate_2op_nobyte
          - read_debugreg and write_debugreg
 
+   * - R5.6
+     - The type ret_t is deliberately defined multiple times depending on the
+       type of guest to service.
+     - Tagged as `deliberate` for ECLAIR.
+
+   * - R5.6
+     - Some files are not subject to respect MISRA rules at
+       the moment, but, among these out-of-scope files, there are definitions
+       of typedef names that are already defined within in-scope files and
+       therefore, ECLAIR does report a violation since not all the files
+       involved in the violation are excluded from the analysis.
+     - Tagged as `deliberate` for ECLAIR. Such excluded files are:
+         - xen/include/efi/.*
+         - xen/arch/x86/include/asm/x86_64/efibind.h
+         - xen/arch/arm/include/asm/arm64/efibind.h
+
    * - R7.1
      - It is safe to use certain octal constants the way they are defined
        in specifications, manuals, and algorithm descriptions. Such places
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:10:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:10:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643345.1003449 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81bp-0006KA-92; Tue, 28 Nov 2023 17:10:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643345.1003449; Tue, 28 Nov 2023 17:10: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 1r81bp-0006Jz-6N; Tue, 28 Nov 2023 17:10:53 +0000
Received: by outflank-mailman (input) for mailman id 643345;
 Tue, 28 Nov 2023 17:10: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=az8h=HJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r81bo-0005wh-DH
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:10:52 +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 1469791e-8e11-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 18:10:50 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-332ddd8e0bdso3190273f8f.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 09:10:50 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m4-20020adffe44000000b00332f74ffde5sm9528610wrs.5.2023.11.28.09.10.49
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Nov 2023 09:10:49 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1469791e-8e11-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701191450; x=1701796250; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0zhazNGRdRxsHK0ywAi760b/S3n4ZLU1734zD30YYOY=;
        b=i9S0ALmgcE0wHUSD7EfvMw9Ub/KdnYfjuzBs+QPt3M45TO/lbyaggI4EBRop3hSLIn
         XibzhaUVHiJCv1cC3+23tnQVtTzoshP95/1Qv0+1K7KSuPJqZTYMARrtEPCjLabS5DZ3
         k00NGcgTuxZPAxxTS0/9Ipg5EeikpQnQzBD+s=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701191450; x=1701796250;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=0zhazNGRdRxsHK0ywAi760b/S3n4ZLU1734zD30YYOY=;
        b=ZUvZXo+EP3gfPLr9irugW066GFK+lECapK8CrbF9FAbbbowfaFEdvF2Gm57AFaE68P
         Gsho3DVFDxf98iHmh/2nyhTI4LEZqLhRGjzBwGUb3WnuTpoRJ1iSJzYmN7yVva+asbZt
         55flnXShnXbrQw06wC36dIIGl6UUtZ7mMj4wNbovxCjxzKT9PesJG0PSM4sCOrVbubWW
         OzG4x+Rrpzy/7h5eWIHEnJqOd8BC+A58H6Ob9Jv/XKcyhc3HcEE6XwFFyOuIz7DdEKiX
         CsKZcHeELgf2iredkyO35WwqpWsDy4DmIHTazT6fc574cx2ou2Arl//WtXgOdM8i6CzW
         GBbg==
X-Gm-Message-State: AOJu0YycSpMdwWZE4bNn8qusiAXgjAjpej53TRk+FFGN1hB69h0yqw4B
	OuvxHjxwGqLJeZUCA6LiN/XS9g==
X-Google-Smtp-Source: AGHT+IGtELIVITp/El+uR7cW68oShHE4N/DkPYB/Po4+XusdheP0WrsJsAHoa0BP3n1XZeupd/Tywg==
X-Received: by 2002:a5d:6b0f:0:b0:332:e7f5:a820 with SMTP id v15-20020a5d6b0f000000b00332e7f5a820mr12063533wrw.24.1701191449837;
        Tue, 28 Nov 2023 09:10:49 -0800 (PST)
Message-ID: <967a67a3-7a9a-498f-8c4a-f8b15f056ce1@citrix.com>
Date: Tue, 28 Nov 2023 17:10:49 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, Julien Grall <julien@xen.org>,
 xen-devel@lists.xenproject.org
Cc: George Dunlap <george.dunlap@citrix.com>, Jan Beulich
 <jbeulich@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
 Wei Liu <wl@xen.org>
References: <20231127144156.361656-1-michal.orzel@amd.com>
 <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org>
 <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 28/11/2023 5:00 pm, Michal Orzel wrote:
> Hi Julien,
>
> On 28/11/2023 17:14, Julien Grall wrote:
>>
>> Hi Michal,
>>
>> On 27/11/2023 15:41, Michal Orzel wrote:
>>> Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where prompt
>>> attention to undefined behavior issues, notably during CI test runs, is
>>> essential. When enabled, this option causes Xen to panic upon detecting
>>> UBSAN failure (as the last step in ubsan_epilogue()).
>> I have mixed opinions on this patch. This would be a good one if we had
>> a Xen mostly free from UBSAN behavior. But this is not the case at least
>> on arm32. So we would end up to stop at the first error. IOW, we would
>> need to fix the first error before we can see the next one.
> Well, this patch introduces a config option disabled by default.
> If we end up enabling it for CI for reasons* stated by Andrew, then the natural way
> of handling such issues is to do the investigation locally. Then, you are not forced
> to select this option and you can see all the UBSAN issues if you want.
>
>> So I feel it would be best if the gitlab CI jobs actually check for
>> USBAN in the logs and fail if there are any. With that, we can get the
>> full list of UBSAN issues on each job.
> Well, I prefer Andrew suggestion (both [1] and on IRC), hence this patch.
>
> *my plan was to first fix the UBSAN issues and then enable this option for CI.
>
> [1] https://lore.kernel.org/xen-devel/7421ddfd-8947-4fe1-93a6-dc25a4aa8bbc@citrix.com/T/#t

Searching logs is never reliable.

Even within gitlab, we've had error upon error getting the console logs
out reliably, and it's even worse on real hardware.

This is an optional thing, but for people who want it, it's very highly
desirable.

~Andrew


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:12:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:12:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643349.1003459 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81cs-0007KN-IJ; Tue, 28 Nov 2023 17:11:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643349.1003459; Tue, 28 Nov 2023 17:11: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 1r81cs-0007KG-Fc; Tue, 28 Nov 2023 17:11:58 +0000
Received: by outflank-mailman (input) for mailman id 643349;
 Tue, 28 Nov 2023 17:11: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r81cr-0007K4-5g
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:11: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 3bb2e2ce-8e11-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:11:56 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40b4734b975so17930715e9.2
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 09:11:56 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 r5-20020a5d6c65000000b00332f6202b82sm10002882wrz.9.2023.11.28.09.11.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 09:11:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3bb2e2ce-8e11-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701191515; x=1701796315; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=L5iAyvr7lv5tCja+FxXRBpPoGJsp5N/y9Ki2C73Kx1k=;
        b=P1+m2qc2eUffODqWVFK6dTEZz0yFRPTWcH1TaTdF+J7N4r8nOhlyvjYVD/6IAO/eTS
         bFJ0RGKSLtzpzxRZ8a9xUJehsdK7ygIzQIr4DhtnPFAYxNShvsJN7caXrbYuqJy+Iyra
         ZAigZA2fUJ8s7ntbx3DotOXPkAFnK8Tng4Xa8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701191515; x=1701796315;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=L5iAyvr7lv5tCja+FxXRBpPoGJsp5N/y9Ki2C73Kx1k=;
        b=dj5G19MZ5uoK0UIB8VPxO8i6ab4kZWYipGEJtsKjOD2z+DVR9YFKKAyA4CV1HYORfs
         firVY8++aJ6ZoGHEBEL+zU55VbWUMk610qNXR+n8ytSdlLJ2AWZnaL7hw98V0+4Ft+yJ
         iVxToaDKAOhjBPCgH33Fnx/Jn7kmda/D+QVeLgOjoBUL4fMd5RcjwT/X9XZ0lhuaiOa3
         eez/zsYZ3l/q3lf9PARAPUINQHEZp6FTfV3ul2d4J+w7xZKbtRg2KebeD0WaVqDbBAX2
         PpgYIl8chA0wdEs/oq/bj0cubvMV5/QxqMDQvrOAh/cn9l0OKJxXV5WdmlVRTL9XCFh/
         Yy3g==
X-Gm-Message-State: AOJu0Yx9gH+xW0C6qdv37WcK5m6sFz6KyyVNnFXAKoR5OwoAVLcxa1Ut
	M2hiO3qR9ud/N0FU+2lJpunBhyZd+B2GtT4a49o=
X-Google-Smtp-Source: AGHT+IGdxRmyPK/j508qoxgXb++z2NPcs5vZvKVzqY4Mp67vTwGF3ULVJCdMRSm7V4aSUTCsV/x23g==
X-Received: by 2002:a05:600c:470c:b0:40a:42dd:c82c with SMTP id v12-20020a05600c470c00b0040a42ddc82cmr8068431wmo.27.1701191515456;
        Tue, 28 Nov 2023 09:11:55 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@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] cirrus-ci: update FreeBSD versions
Date: Tue, 28 Nov 2023 18:11:50 +0100
Message-ID: <20231128171150.38290-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

FreeBSD 14.0 has already been released, so switch to the release version image,
and introduce a FreeBSD 15.0 version to track current FreeBSD unstable
(development) branch.

Sample output at:

https://github.com/royger/xen/runs/19105278189

Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 .cirrus.yml | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/.cirrus.yml b/.cirrus.yml
index 7e0beb200d7b..385618c394ea 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -29,5 +29,11 @@ task:
 task:
   name: 'FreeBSD 14'
   freebsd_instance:
-    image_family: freebsd-14-0-snap
+    image_family: freebsd-14-0
+  << : *FREEBSD_TEMPLATE
+
+task:
+  name: 'FreeBSD 15'
+  freebsd_instance:
+    image_family: freebsd-15-0-snap
   << : *FREEBSD_TEMPLATE
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:15:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:15:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643358.1003470 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81gB-0008KD-2g; Tue, 28 Nov 2023 17:15:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643358.1003470; Tue, 28 Nov 2023 17:15: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 1r81gA-0008K6-U6; Tue, 28 Nov 2023 17:15:22 +0000
Received: by outflank-mailman (input) for mailman id 643358;
 Tue, 28 Nov 2023 17:15: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=az8h=HJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r81g9-0008K0-EX
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:15:21 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b56f7376-8e11-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:15:20 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-40b5155e154so299645e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 09:15:20 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t20-20020a0560001a5400b00332f1900476sm1009170wry.81.2023.11.28.09.15.19
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Nov 2023 09:15:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b56f7376-8e11-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701191720; x=1701796520; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=L1NWZ9RZFwxAbbfwV+2hxXu9CaqWbqOBElzOz1uOhXo=;
        b=lr91ex2jjQtNoi6sMmlUJJRQNdmhxupIiqv/FoMv36j0T7UKIAZpiPq4Uukl/tzW99
         DcNetjqpu0AiOZjg3SJ9FX2vbAkfffXo90UXmb0K1aRiVIWb7xH3ttU6/EaNiad1u4xw
         P5Msw7uAADGJPmtzPJYqTj+MpT05GoiGW45vA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701191720; x=1701796520;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=L1NWZ9RZFwxAbbfwV+2hxXu9CaqWbqOBElzOz1uOhXo=;
        b=A3U7cUMqDvPOnWQAaCSiPLu9Ak65fCjq8iSQhWQFBRxNM3crnGyMkfIF4JOG5cKbDe
         XdV4t5AsZBpQSE9tOrieas1nw3UlxlG5MuywU1GJy1NtOW7u5MC++a5hE26xj3+iqxkj
         cOujPyBFCLartbNDGbrVYIBuyPBs9DEHlXI9ZBqomw/orvwhx3sgUhDwMU1dK4fFWvla
         e1zFXMdGyEcuENc028xYHiiEHc/Fa54DHSJiHhBB/urPfP7WibwmMGxh61u3AMwMhilL
         N2bH8R++eXTWfqvwbckFB57YONj5cSZ/m3ggbeG/n0uqYQrNeCxYqgHPRQRRw9yU5tnn
         Dd3A==
X-Gm-Message-State: AOJu0Yx6+Aa1MX8EVVh0+q2q4c2gbtgjyELXVaV41PV+ZGBdAZWWMGNl
	pAm/3gzAr2yS3DGX47sQsGU2nYApr8bXYoIAFOE=
X-Google-Smtp-Source: AGHT+IF+cm2fB+0D6f5G/xwowc75IAQttaypI+ndgDWAUf4Tw/kkTKOEqC3zqUnjneER8yAmblrwQg==
X-Received: by 2002:a5d:424e:0:b0:333:3cf:11b2 with SMTP id s14-20020a5d424e000000b0033303cf11b2mr4597289wrr.32.1701191720105;
        Tue, 28 Nov 2023 09:15:20 -0800 (PST)
Message-ID: <4d4ad755-46f3-4c1d-adfe-8716672e7f38@citrix.com>
Date: Tue, 28 Nov 2023 17:15:19 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, 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>
References: <20231127144156.361656-1-michal.orzel@amd.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231127144156.361656-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 27/11/2023 2:41 pm, Michal Orzel wrote:
> diff --git a/xen/common/ubsan/ubsan.c b/xen/common/ubsan/ubsan.c
> index a3a80fa99eec..dd5ee0013648 100644
> --- a/xen/common/ubsan/ubsan.c
> +++ b/xen/common/ubsan/ubsan.c
> @@ -174,6 +174,10 @@ static void ubsan_epilogue(unsigned long *flags)
>  		"========================================\n");
>  	spin_unlock_irqrestore(&report_lock, *flags);
>  	current->in_ubsan--;
> +
> +#ifdef CONFIG_UBSAN_FATAL
> +	panic("UBSAN failure detected\n");
> +#endif

if ( IS_ENABLED(CONFIG_UBSAN_FATAL) )
    panic("UBSAN failure detected\n");

please.  Happy to fix on commit.

Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:15:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:15:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643359.1003479 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81gG-00009X-C2; Tue, 28 Nov 2023 17:15:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643359.1003479; Tue, 28 Nov 2023 17:15: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 1r81gG-00009Q-9K; Tue, 28 Nov 2023 17:15:28 +0000
Received: by outflank-mailman (input) for mailman id 643359;
 Tue, 28 Nov 2023 17:15: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=DME+=HJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r81gE-0008K0-5L
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:15:26 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20619.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::619])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7bff91d-8e11-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:15:25 +0100 (CET)
Received: from MN2PR05CA0060.namprd05.prod.outlook.com (2603:10b6:208:236::29)
 by BY5PR12MB4145.namprd12.prod.outlook.com (2603:10b6:a03:212::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28; Tue, 28 Nov
 2023 17:15:21 +0000
Received: from BL02EPF0001A0FE.namprd03.prod.outlook.com
 (2603:10b6:208:236:cafe::16) by MN2PR05CA0060.outlook.office365.com
 (2603:10b6:208:236::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22 via Frontend
 Transport; Tue, 28 Nov 2023 17:15:21 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 BL02EPF0001A0FE.mail.protection.outlook.com (10.167.242.105) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 17:15:21 +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.2507.34; Tue, 28 Nov
 2023 11:15:19 -0600
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.2507.34; Tue, 28 Nov
 2023 11:15:15 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 28 Nov 2023 11:15:13 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b7bff91d-8e11-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aOfkEfR2/IzmbrPr+AONvhFu1tnihZMCY5dGRR+rOmwrTIcXH/mgqWDXJGtjBQXT0Ggor3jC9OFNohEOYqiHGKf3erIaeHYuufVpdHfUyLKv57KLg0l32P4UtbziLC5JRoDGwNkhyTBK2av3xHkBVOXxmAHAaOVjWObJY2ME1aANyNpuLpX5w6FLHddrivXiMb6FafSRmhtDyRaKapxOkAnu4l43FMgayz3GKAFRycHOdakc7R5nrvebJbunJXrQDPOJmX6ZA/G8umEEBXoLNhwSExBN1fZ/TnImbdPHnVQFxZ5m3ROyIwczvZ33/swkLGLsqxAOWvv5SrH/fremZg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=d5kQNYotyjuKlxB7a5AQ4zR40ZmPyz4cdIsmaSGYHbM=;
 b=Dv3K0Ur382ppT9Kq9TGoniFx/o08oe//mu0ChpkKDdI2LYsxP8qSaQQSyR3G1/gLw88AhtOw00iQBAP7V0tJmVvhzApWZA9TjWJYv2XwC/zWesxZLG4s8Jy+fUApxn3VODNuY2zaKXaarcQoOWixcThYvN/emCRYPDe4Fjf1/kUim2InXu3dXTslUsZ6SyUE6NZIb9jh/C2MZB11vo8jBjgm8TOa9Pmuln8mkSjjvzVu9Ws77FCyZPIKvnoZXTsLdnx2mRphiOIAV4yXy+G6xq5bvjYfSR5HZa+xFjyurjemRZ5vkp8hDhO6/7k4WXwm3WKiC4XZgWq09l1ZvjikBQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=d5kQNYotyjuKlxB7a5AQ4zR40ZmPyz4cdIsmaSGYHbM=;
 b=UMM8wh8j9s0avft1OxOxWoQAZ3RrjsjKx0j6GTQsJ4z1wq9EkoYc5Ji4TzMMQfzd75J0WKA1ViJPvmzel/9S7nl+jMDkoo0kpmOwcZnMnOhbxOpppLElN9zPibFOyvWUj0k3HKmKEA0IjZrcGLJNHYzwVNgzvo/qF1o8eLpLXPA=
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: <16b73400-b592-4a1a-9b87-8c49aad9208d@amd.com>
Date: Tue, 28 Nov 2023 18:15:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
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: <20231127144156.361656-1-michal.orzel@amd.com>
 <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org>
 <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com>
 <b0127019-4976-42e3-bde1-643cc56f18b0@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <b0127019-4976-42e3-bde1-643cc56f18b0@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FE:EE_|BY5PR12MB4145:EE_
X-MS-Office365-Filtering-Correlation-Id: 4dd2d992-4c89-4fb5-23fc-08dbf0359a13
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Pq6UZO+lSx709P2ddgrwklAaZZYq3HKUt1HHvEUXr6RXLIhyqOSiJ/k3JNytjjACakrh0BRs2VI57diuZVTU/Vg41fwmGlb1AD7fVy5fV7bGl7qiaUKcsM2pkVdLtRIdRAUwaZ0NdPPFTa7zhRt0tDa6RBpT0xBy9UisGgzvWtR0vX2oKQMrWJhOBCvCm1Y0AwiiL7ZYsCjREgC6Wdywk2HYwZlWgm/QptOan78IplI4uhXcXvuOtIKqzP2D9ExnEg3q3FRABbWYdf/VLNdG1WaOpJtRZH7wZkxJM4xBDbqwn1W+flqplG/Lg/TSNgUy5brItn0KGkhavsMyFyRRXIdGXlkoYc5Hs8lc8VUVOAvNx/iBKRbkK8ydZVtjcT6PikMyrf2DyBVssPV2+IHZmmrP6AI9+Vx2BIvjWCf/3LsRo4Ntr1p3yZBnbrCJTbzWs7n/ky35lwkPbeSm8luvgpqeNuNbCXyohz1oM0GMzRzZLKq2q7vS0VkIa/dDH59rLWjwsAUcfnLmCHotSs7gTrmlPRTohdB2VnCODxP//mef/KKgtsFjueFdLL7DnUkkFHMaT8xQTxMU7GQI7RtGNL4oTKwVjmbmmcso3Nh6+nYNWqNdzjRZp4+hTgyYa/eL/n3jU2IOBEe0a9LqoVPwU68mpaOOlmaUTLknb3LDQnjranG2Yjm+rTd2Op5BDMEbwtdQNFrv3Yrdn5EYOJKDI6cXp+WHiFR9H0K5wwwnEWsdFM9WS56kD3jF9NRZOSHhwvip8c7c8cR7DqlEw9r+1OTMMkBSyTIldcIrdvs328/ZBT7CKWiwys310o5IzeAn
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:(13230031)(4636009)(346002)(376002)(396003)(39860400002)(136003)(230922051799003)(451199024)(82310400011)(64100799003)(1800799012)(186009)(36840700001)(40470700004)(46966006)(36860700001)(86362001)(36756003)(82740400003)(356005)(40460700003)(81166007)(31696002)(41300700001)(8936002)(8676002)(4326008)(54906003)(70586007)(16576012)(316002)(70206006)(53546011)(110136005)(478600001)(5660300002)(2906002)(44832011)(31686004)(47076005)(336012)(40480700001)(426003)(26005)(2616005)(83380400001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 17:15:21.1466
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4dd2d992-4c89-4fb5-23fc-08dbf0359a13
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:
	BL02EPF0001A0FE.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4145



On 28/11/2023 18:09, Julien Grall wrote:
> 
> 
> On 28/11/2023 18:00, Michal Orzel wrote:
>> Hi Julien,
>>
>> On 28/11/2023 17:14, Julien Grall wrote:
>>>
>>>
>>> Hi Michal,
>>>
>>> On 27/11/2023 15:41, Michal Orzel wrote:
>>>> Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where prompt
>>>> attention to undefined behavior issues, notably during CI test runs, is
>>>> essential. When enabled, this option causes Xen to panic upon detecting
>>>> UBSAN failure (as the last step in ubsan_epilogue()).
>>>
>>> I have mixed opinions on this patch. This would be a good one if we had
>>> a Xen mostly free from UBSAN behavior. But this is not the case at least
>>> on arm32. So we would end up to stop at the first error. IOW, we would
>>> need to fix the first error before we can see the next one.
>> Well, this patch introduces a config option disabled by default.
> 
> I understood this is disabled by default... I am pointing out that I am
> not convinced about the usefulness until we are at the stage where Xen
> is normally not reporting any USBAN error.
> 
>> If we end up enabling it for CI for reasons* stated by Andrew, then the natural way
>> of handling such issues is to do the investigation locally.
> 
> This will not always be possible. One example is when you are only able
> to reproduce some of the USBAN errors on a specific HW.
> 
>> Then, you are not forced
>> to select this option and you can see all the UBSAN issues if you want.
> 
> See above, I got that point. I am mostly concerned about the implication
> in the CI right now.
> 
>>
>>>
>>> So I feel it would be best if the gitlab CI jobs actually check for
>>> USBAN in the logs and fail if there are any. With that, we can get the
>>> full list of UBSAN issues on each job.
>> Well, I prefer Andrew suggestion (both [1] and on IRC), hence this patch.
>>
>> *my plan was to first fix the UBSAN issues and then enable this option for CI.
> 
> That would have been useful to describe your goal after "---". With that
> in mind, then I suggest to revisit this patch once all the UBSAN issues
> in a normal build are fixed.
But this patch does not enable this option for CI automatically, right? Why are you so keen to push it back?
Is it because you see no point in this option other than for the upstream CI loop? I find it useful on a day-to-day
Xen runs, and I would for sure enable it by default in my config not to miss UBSAN failures.

~Michal



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:16:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:16:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643363.1003489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81hO-0001y9-Kv; Tue, 28 Nov 2023 17:16:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643363.1003489; Tue, 28 Nov 2023 17:16: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 1r81hO-0001y2-IA; Tue, 28 Nov 2023 17:16:38 +0000
Received: by outflank-mailman (input) for mailman id 643363;
 Tue, 28 Nov 2023 17:16: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=az8h=HJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r81hN-0001wM-8x
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:16:37 +0000
Received: from mail-wm1-x32c.google.com (mail-wm1-x32c.google.com
 [2a00:1450:4864:20::32c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e2a02c17-8e11-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:16:36 +0100 (CET)
Received: by mail-wm1-x32c.google.com with SMTP id
 5b1f17b1804b1-40b4d9e81deso7224115e9.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 09:16:36 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 t20-20020a0560001a5400b00332f1900476sm1009170wry.81.2023.11.28.09.16.35
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Nov 2023 09:16:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e2a02c17-8e11-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701191796; x=1701796596; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=AAIJpK7bVocy8yDaFspBnY8E6kCFIjUs3qsJwNQRxuw=;
        b=N0yC/4zz4UAgpWnwA+lLi19ym0VFAPJMMNC6B7hl9gJmWXqyZOz3lR7oJvMuLlnBL/
         lsS1wXwGAbRmJSe2cx9FJV8kOcZijYEmEz2U4p8iXLoUlIVn4nA9M2JxweVIFoR/vsqI
         tC0UcDEMGeH5zlwwfNQo/EArl5m/0n1MhEQV4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701191796; x=1701796596;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=AAIJpK7bVocy8yDaFspBnY8E6kCFIjUs3qsJwNQRxuw=;
        b=HRHjvtclGKxBEp4Oz8x+Mj8AWDyU7dHc5jZ+UpkDdY5+0SCmyuuqRqeHpqJroYNt0s
         7bFVmH3WCv51B9hlOJRAky4OXnYpevT/hhQ6GEzad9thb8BC4FqIj/HPWJYuTg/HlLtT
         X0rAQBSnTuBJWRSfLvbxA77iC2/OOcBenak3THV219RpT5zb80wOJ2W27u4WYCFtPT4n
         N/0LaVdvyGOi9ghtZWpTgpSibLQn4duPfGqAaWcGBi4jGP0oTQoskTh91z7u9twZaGtx
         3VcIhopAy2C2VPrdQStMhJe1d2M0ieLTwDZ7BhDaRZUOSQf3nypTj61Qm/zX7BJDzw7P
         eZXg==
X-Gm-Message-State: AOJu0YyIqFqUI2WfckysNwumWs0rBS3e5+qd4nJULED7nwBaVsb/vQMy
	8ajA24pgXbahbj75bpgZRlxHQw==
X-Google-Smtp-Source: AGHT+IEKGMyNM1D99TPmpNWJlX4FUYcwkbOA93lK00q9JAm8pqh1T0p37QBYQjg1s1wPOSQjqodnow==
X-Received: by 2002:a5d:678b:0:b0:333:12b2:21fe with SMTP id v11-20020a5d678b000000b0033312b221femr873251wru.42.1701191795918;
        Tue, 28 Nov 2023 09:16:35 -0800 (PST)
Message-ID: <b4c9791e-1fb9-463e-8aac-9d6cd7cec36f@citrix.com>
Date: Tue, 28 Nov 2023 17:16:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] cirrus-ci: update FreeBSD versions
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, 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>
References: <20231128171150.38290-1-roger.pau@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231128171150.38290-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28/11/2023 5:11 pm, Roger Pau Monne wrote:
> FreeBSD 14.0 has already been released, so switch to the release version image,
> and introduce a FreeBSD 15.0 version to track current FreeBSD unstable
> (development) branch.
>
> Sample output at:
>
> https://github.com/royger/xen/runs/19105278189
>
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:17:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643365.1003499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81iG-0002nI-TF; Tue, 28 Nov 2023 17:17:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643365.1003499; Tue, 28 Nov 2023 17:17: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 1r81iG-0002nB-QP; Tue, 28 Nov 2023 17:17:32 +0000
Received: by outflank-mailman (input) for mailman id 643365;
 Tue, 28 Nov 2023 17:17: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r81iF-0002UF-GD
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:17:31 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20615.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 024b2be3-8e12-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 18:17:29 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6787.eurprd04.prod.outlook.com (2603:10a6:208:18a::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 17:17:27 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 17:17: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: 024b2be3-8e12-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=esG61ieHEQHmT4tArz8jZRzw4uLCSwJXmrzWqEIMCnpdPbypUouvy42LRYCANiRrZUeThsKiKL2JV+vkATWruja7aP/MNhBxH63xZmMOinzD+JRtVeR3kq03qd4vIrhKVxqDIoIGwbdIitJwDQJ8MZKr9TEwTJaV2R+SiHVfXXyeKkW4A55Z44N6tqJfi4swqMoyvJwJMlb7jL/Y/pjCFqHTAcI92tjYyinhAKu/gnNmo4J0CqYw14/p98/RnIlGixhp3D9VyLBDiVxC+qrd4fYoy6MrBFrvCUomtrhMxh6Z+BKed+abr0Jl5IA7RW/LLMMRPwxbpcPAB4Rv4hVoBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rWotridvm6muUlq0r5Kr1rhO9uHIL55/qLRxDmhORpk=;
 b=mY3hrM+T/CscOXSsns3PrHCFtlRfh6vX1JehF8DrIQqfJlzKTHSVdWmACE4ZbMerxAVvfVGc2eU36Tlrtt1Uu+sKQekxcFKn3gNup47RIESGkaWBOmc4R8W/dKzegzxB4naRyEE6VFk56hbEYrh+dmh3Ne9LQEz5XcNJu4XKY5fzJcnwLm4n+YGvrPXr7NgYiD2+UAWDZk2iFAL2EePIRUdzRNg8qozP+RtN+UQkiBZz6pxMus+NX4PvxI4u2qZacpkgB4kvc+FF73YUR5v9ISNcOeo8vMKyV8fUARHW+w8660ccYUpPr6oYCk85Bqhvqp2AefoYOzDd1+FCwHyN6A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=rWotridvm6muUlq0r5Kr1rhO9uHIL55/qLRxDmhORpk=;
 b=EdT+8ZbyGxqI5v/sDbI0APscb9eKM3+V25pGDuJOotnlHK5uYjDN0k8gT2BuHr2Ztmri1l7KdQvGqOSWGw3oNcHBl0MF9Q2761U9fevxAPNeSZDNqjC9AqzGuKguD9rIEXpWuascEfcN6N4A8Do8jBDnyL5HyxNRjetqP6gz5bnAv/OzyvzAuRuKSQPMf1aZTXFklR23jpUgfIknlBchtB2dqEzmG6fSI5wABNb1oMdgThtDm7SkGVvWyfSA/lVcHY399bWm4c8CS66Y4T0vA2kgEQjftSc8ZDdgO6JodkxcqRPwfzcifikvxiTZ9zxNQB7NTcr4buTApdJsLa5vdg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <957f7d84-d7c1-4fa2-b006-53f22248d19a@suse.com>
Date: Tue, 28 Nov 2023 18:17:25 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add deviations for MISRA C:2012
 Rule 5.6
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 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: <5826d25aeb31ebd29b0f2aebf3f78e676deb50b9.1701191295.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <5826d25aeb31ebd29b0f2aebf3f78e676deb50b9.1701191295.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0076.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1e::6) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6787:EE_
X-MS-Office365-Filtering-Correlation-Id: 125927f8-298b-4e26-0aee-08dbf035e578
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	cAOep2JXPf3cvDnny/MKUn57fBaUuUkz7TnNxcCtc+Sz+Nnr4gSFLhRwcRPDYxA32UMRjByFiJVL8XnLSj9wkmYcMnqJpbdctFP52fRp5J8DayS0H0jlIpRiBEsSP+A7noHaOy9Tf0i/aSbjzjAffuswZvMQJzAMf8jZ0WAl/GyD16dqUXkp6FILYQStkHXgwO3F4sn0u9Kai2cCEa1PZVNT0mlq2y9fL5/Z4pq77q5PfY0U6pmeyhFvLePbf4EGCt3sA5c2Vjh4s59Zl+rfXy146x4covxP+c4ed+u2V1WcOW9b4uQXTloM6crAeCjcydxeZhdcV9DXCCC2REhslA+NVh5kg7YtPGOH5FlNxeVY8/53V/a+gRHhINElp5VNGRNelmzOgoBDT1nyeXNuTY4UbfimMLeMxx0iCS/N9FnjRwJxgmpTni65KPop2Azw9MbQ4IQPuV8+NLlkuXeh5hxZpe2GZrHTVHQQ7FDCy8oknno3Q7mq2b2Pf8ytECTI6yNijPRFYCA9O5WjlvVmgg6dOvLsAl4gL2XPc1Im7d9uCGYHLoT6FFOxEc0IuOIbBk5PKJKD/ilsApC9vlhS/N7cB+NSF4VoWJbBVAfM1LWqTautcYaGgi8rvo4+r4PHNC4rdm3oI5yM/LJxJeEE4A==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(376002)(39860400002)(396003)(136003)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(316002)(2616005)(53546011)(6512007)(31696002)(86362001)(6506007)(6486002)(36756003)(26005)(478600001)(38100700002)(6916009)(66476007)(66556008)(66946007)(54906003)(7416002)(5660300002)(2906002)(8936002)(41300700001)(31686004)(4326008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?SWFoOEpvcUNlS2hvNjN2T1k0Y00rWldBbHFRck9uaGk4NVVRUnlaVWozYkVv?=
 =?utf-8?B?aGhMRkQ3SXJJNjJBbUtqRC9wMkV6clU5SHZpeEZNUDIxY1ZtZzhnVkVkT3hB?=
 =?utf-8?B?NmFsNm5vR1VuT3lEMldlaldWZVpFQ0RWY1loelZ4d2YwQXVncGRFbGhHNklx?=
 =?utf-8?B?UXN6ZzNhZDB3eVdtVlFiTlhFdEYxaUpiKzVxblJ4R3ZkMDJGVXpObHJ3WjMv?=
 =?utf-8?B?dnBkOHZNekRzQ0dmNFphMUhPSTY5SjVlUzY1UnNqVFhjdzNmWmJjY290czZF?=
 =?utf-8?B?UjkxRHRvWDYzdVZpSkRrTm5FY3R4N2UvQm1zaXlTN0VCZnRPQ3g0LzBpUGpU?=
 =?utf-8?B?aDh6SElTZzVCejU1Qk9wbVUvVDNGRHZkdW9LZWZDME9nTGRuN0NkWjltamZx?=
 =?utf-8?B?ZzNlVlUza2kyYnkwWGxNYTE4T3hhM1QzdWV1NldnUHJlTmVOT3J1dXVzTEhw?=
 =?utf-8?B?TzdDU0RlalNMT0JkelNaZFJHU05IZVFTUWRleDV6WnE1ekZyM1hOMnd5a3pT?=
 =?utf-8?B?TkR5ZVFTRDBaUDRDeTN6RmEwZEUyNHhDS25KN1ovRVExSHJrcWRyUkp5eW9t?=
 =?utf-8?B?bkJycGMvMWhaNmRySXdlb0NlZGMzdGQydUY2d2FlTUU1aXNtZjlrOTRieEEz?=
 =?utf-8?B?bnY1S0szK1hkcklZR1hwUmdZVVl6R2xzemsvMmN4K2VjeUExNDNtMEcxZU83?=
 =?utf-8?B?TzY4UnA3MGIzem5DT0dyL1YzVkxWUTduSFNDZGVoN1ZpY2ZQQi8rcnVWb0N5?=
 =?utf-8?B?K0VKcHBidGlpOXgwWmRTSmZoZUtQSm1tWmVUT2xBWWdzbVpzZnR2SncwZUsv?=
 =?utf-8?B?SkFEZ0ZuYnRLckNOVDJZN2laTFFpbHNJRFV4RlFHZStHbW5jaFFWdUdoWFlj?=
 =?utf-8?B?bDloQ0RDNEZ5TFJyeXAraEtIRjh1T0Y2VnFVeUtweDUzNFEzQWJ3TzN4NVIx?=
 =?utf-8?B?UnpqWTNURFlraDRCZTd0ckJWaE1zZjdIZ2hKVmhtdmN5QWFhejlkM2RlbjJZ?=
 =?utf-8?B?UENKR0ltTVZqU3Q5L2pDdVpHVlNlQjZYV1RCOW5jUHA1bzhjZjFCUFBwblJN?=
 =?utf-8?B?VUFMTTRVNmkzTXkxVWp0WUk4d2owYlFSd0tVS1g0ZFNrenZYeEJjaGJaWThu?=
 =?utf-8?B?TEdCUWk5eTg4c3lnUWpnUmZmbXAxYjJDWmdFcU1INUs0aUF6ekZOUU9wL0s4?=
 =?utf-8?B?aVV0MUZkRFY2RjBJSTYzWHpWS1c4WXo1eDZvTGxMbkVJNk5OWnlrTkNHYVhX?=
 =?utf-8?B?T0R0RU9hc1VVVTB1MDlXb2pCc3JRTGRzVHpxcGZMV0RPcy96R2F3ZE5vdldh?=
 =?utf-8?B?Sk1ET2c2L3ZtQlF4K3R5Vm1KekY2cGUyci9ETmUvL2FUaDVhWlJlbmF5eGcv?=
 =?utf-8?B?b3g3OHd3dWRKS0tWdWlXcXViV09LOWswYlVtT3dhRi90c3NFbVh0QzlVUExx?=
 =?utf-8?B?S2pKTUNESmxSa0ZGd0hxT2RQalFvdE1Ub0JGWkNPOXExK0g0dHJYN29vTzVV?=
 =?utf-8?B?bWo4dFROOGNSZHV4TVV6a3pFbFMxZGs3MXZ3bTk4VmlKWGI2NlNvWVhOUHZ4?=
 =?utf-8?B?WGNZTzZaZFpjdXhHVXZvRVkxYXkxc2R1ZElqbWhFZkZlVExOdmhXSjEyakgz?=
 =?utf-8?B?MGUzZ2xZZ3RaL3J2L1NzVVRsRERmWGxUcStJRXpvUSszY2lRQ0wxSFVjMlRN?=
 =?utf-8?B?V3ByNVIrVTZiTCs4MUs2WDg4N1kwdWcwazhiM3pBaHpTa2VRK0x3YTRYbzha?=
 =?utf-8?B?TXB3ek1BU0V3MENJQi96c0Y4RkxlUWlEUmNmb0xpMDlEZlVyc3ZUTm42ZUZt?=
 =?utf-8?B?RFgxNXlmSXFTVnpXdjdiSWYxQ2xON29ydjNGT25pUitDcWtEcGlwSFhFQ1Ro?=
 =?utf-8?B?TFBFTmhUdzZHYmNzYzFvTnZwcWJmaGtMNjZ6NVlET2l1Umd0YlF0MFJKczU2?=
 =?utf-8?B?anJkdDdFT3lITHRnNXV6bU8rdjV0S255ZW9BeGFRRDEyWVlMWGNFM2djYTlJ?=
 =?utf-8?B?MXFFUndyQWowRFFRWDdHS2JVYUJFR1pEblZnVDJMamRQMDN2UkpKOE0yTEU0?=
 =?utf-8?B?eG5QVlkzdlRxdXFBOU9IVzF6emF4WXFKOUVOWGdzNzhxUjh1bjFTeXkrNW56?=
 =?utf-8?Q?ZvStz7ydyrP06xInXcl5KKPyX?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 125927f8-298b-4e26-0aee-08dbf035e578
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 17:17:27.7980
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DFsAan/JjG5aD+uLpmLKlGj9zFJPk3OCyRNv2Gh9VN0YWWBfdUlDKDs7bT8g7F7CA7YxV6JnVGXcrhVV72NfeA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6787

On 28.11.2023 18:09, Federico Serafini wrote:
> --- a/docs/misra/deviations.rst
> +++ b/docs/misra/deviations.rst
> @@ -90,6 +90,22 @@ Deviations related to MISRA C:2012 Rules:
>           - __emulate_2op and __emulate_2op_nobyte
>           - read_debugreg and write_debugreg
>  
> +   * - R5.6
> +     - The type ret_t is deliberately defined multiple times depending on the
> +       type of guest to service.
> +     - Tagged as `deliberate` for ECLAIR.
> +
> +   * - R5.6
> +     - Some files are not subject to respect MISRA rules at
> +       the moment, but, among these out-of-scope files, there are definitions
> +       of typedef names that are already defined within in-scope files and
> +       therefore, ECLAIR does report a violation since not all the files
> +       involved in the violation are excluded from the analysis.
> +     - Tagged as `deliberate` for ECLAIR. Such excluded files are:
> +         - xen/include/efi/.*
> +         - xen/arch/x86/include/asm/x86_64/efibind.h
> +         - xen/arch/arm/include/asm/arm64/efibind.h

Could these two be generalized to xen/arch/*/include/asm/*/efibind.h?

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:18:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:18:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643370.1003508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81it-0003Vd-8b; Tue, 28 Nov 2023 17:18:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643370.1003508; Tue, 28 Nov 2023 17: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 1r81it-0003VW-5a; Tue, 28 Nov 2023 17:18:11 +0000
Received: by outflank-mailman (input) for mailman id 643370;
 Tue, 28 Nov 2023 17:18: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=DME+=HJ=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r81ir-0003Js-V6
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:18:09 +0000
Received: from NAM02-DM3-obe.outbound.protection.outlook.com
 (mail-dm3nam02on2060c.outbound.protection.outlook.com
 [2a01:111:f400:7e83::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1967e2c9-8e12-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:18:09 +0100 (CET)
Received: from BL1P221CA0002.NAMP221.PROD.OUTLOOK.COM (2603:10b6:208:2c5::32)
 by BL0PR12MB5506.namprd12.prod.outlook.com (2603:10b6:208:1cb::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Tue, 28 Nov
 2023 17:18:06 +0000
Received: from BL6PEPF0001AB4E.namprd04.prod.outlook.com
 (2603:10b6:208:2c5:cafe::91) by BL1P221CA0002.outlook.office365.com
 (2603:10b6:208:2c5::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29 via Frontend
 Transport; Tue, 28 Nov 2023 17:18:06 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL6PEPF0001AB4E.mail.protection.outlook.com (10.167.242.72) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 17:18:06 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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.2507.34; Tue, 28 Nov
 2023 11:18:06 -0600
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.2507.34; Tue, 28 Nov
 2023 11:18:05 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 28 Nov 2023 11:18:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1967e2c9-8e12-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DEfxfvSkI7Usb9ZFkvuDPE6N/QjFTbxYf04x5VI/V1UZLp3HIMvEeHUC3g0yIr/c06MgmOkLk8UPqqUUbg9jRUBplutIljruhevjuUWbVXNaACySKPHtOuqRLf4icSLKS5u6WILcEm8XJdIYV3GYmTn7tFcKoUWo7SeaE1s/AEZJUDsc+qhkXbJCD2jkJkhhXo+6DnDapJOUvgHSnU3gZET8YaZEY7tmINEeTrnyFm3FCsqnu3PhU1wMuikZ8WkuVzGkLya2W/4bHTRsIfIcNJqVAYnQgAYXeGE9W0gWtmxjY6JSy7UV777ns45q4Pj5qmy4aovrufIXbeEtA/ZOfw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=W2g4BE85qk8wyCCP7jMD9iYWdmpV4+e9Gw7pD0pLouI=;
 b=Q1kN8yKq1D7WcwgD9klWkv3sabDhSMxlgB+qaX5+pgIztMpLSt3uF+dykMrFaIAdOz0DwD+4DyIVr7U5LKWH2jgVmShwCMJOCPF3RuOa+cvzZ1ee0c1VmPdGRngQGdqJldgc1y5ec9emW0GUVFIoJYu1yfX8wEJazvo3afm0Ro4mo/S5Y6zeAIN+ZORHsb93R44izounmCgvd3+6PrWZk+EuARNXaV8/e9A0a6DRaJHyT6hXd/yNyumIUrNqVTWQFWnk3TYazGdLw3yrCMdPyEW3MzDqkubMxJKfjH528ncApJs3tTsF11oyXH4b+QK1QP2AvyaUXwlCANCWzHF8LQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=W2g4BE85qk8wyCCP7jMD9iYWdmpV4+e9Gw7pD0pLouI=;
 b=pjYIwb2WUX9K3SWr1Bc4KgGWh+EKUtJBRaU2rU/5KCtZ0A+CkUaUx9paxD+TTS8kQ9TfdIGptvxGummMxLauYrQ0LVm4aE/LPFcefN42gTz401HiAi0RMqDjjRWHQzUcCvemXg7uFzPdChtrWenEWYi0VP5bGMJ4dP0ysqniMdc=
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: <9621c813-ee09-4314-9402-196a14227044@amd.com>
Date: Tue, 28 Nov 2023 18:18:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>,
	<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>
References: <20231127144156.361656-1-michal.orzel@amd.com>
 <4d4ad755-46f3-4c1d-adfe-8716672e7f38@citrix.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <4d4ad755-46f3-4c1d-adfe-8716672e7f38@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB4E:EE_|BL0PR12MB5506:EE_
X-MS-Office365-Filtering-Correlation-Id: 7d4e3f15-5417-4fb9-3f6a-08dbf035fc9e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	1asVGfks47sA+jS+MKj5UrKM/ndxi2FLZC38LyZ1q7JScftwQ+e5MF7w/jIVE2318dWyACshX9noQ9odhh8UyP+40XkfcwGIx1zbtx92V60jf5NTvQT/SyHF61K2pIravHWI7s7LEIZ3bgV7Q+5yhpisGu09hVYwEyOLY8ZoBtQLruC3JQ2ZevhdaPLrlF9nkcwPnLHUlYIuEmKMk18D0pMYf/MPtiyETjKdk6Bd7kGVuYVC46xfnNUTIe4762r0RRnY2t7HMesRDQCfzegENCEJ7SYU1Aw3FT/LxFi+gQor6GLt4yyeWAWpBkNus1cHfbCPMIFNDHdBT1xRcp2EXFTmWtSvFBTQK7w8q76byvm05WxAQs/mawRLlg4JmzcQ+LpuyBTLQRRXmxWGpdOjZMsWWEzAmHPZU7cvhbrcMBXWOPthZ5nDudvyFYituECEoraB1UhLUm0RtrtQUf7Jp+SlhnSGISwmXQTYxVCA3/PvzXbNCP3BFE6pNcAm03S9R0Y9XnpsJPicUBLZNu2jpelGyvIqIzCXBVZs45aNqA6LM9Md0LokHf3wCSdJKo0z48gZY4DT5QkbBc/Ru26+50VBufSHaEZ2xZtbd6Pgn07wakCA7m4c5McDjovhHTKQQCalrU/+ZKRHCwnUwHI2lUq02amyaHXgCbE9xONOAeXxaOgGE6F9uik3mewweQMCpYiCdrsqbVBd7ZpkYbzumkatKEFppqerrzkLcc78YJRZuRT3h7wNgPiLNAmUhUK+QGvl1G7sKoEWNU59wjHeHJEq7oHFuO56TVKWRtjSFtNvWUwmAsc0xlFL9g0qAYqa
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:(13230031)(4636009)(396003)(39860400002)(376002)(136003)(346002)(230922051799003)(451199024)(64100799003)(186009)(82310400011)(1800799012)(40470700004)(46966006)(36840700001)(8936002)(4326008)(8676002)(53546011)(54906003)(110136005)(70586007)(70206006)(316002)(16576012)(478600001)(40460700003)(36860700001)(81166007)(4744005)(47076005)(356005)(36756003)(41300700001)(31686004)(86362001)(44832011)(2906002)(26005)(31696002)(40480700001)(2616005)(83380400001)(426003)(336012)(82740400003)(5660300002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 17:18:06.4750
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 7d4e3f15-5417-4fb9-3f6a-08dbf035fc9e
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:
	BL6PEPF0001AB4E.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL0PR12MB5506



On 28/11/2023 18:15, Andrew Cooper wrote:
> 
> 
> On 27/11/2023 2:41 pm, Michal Orzel wrote:
>> diff --git a/xen/common/ubsan/ubsan.c b/xen/common/ubsan/ubsan.c
>> index a3a80fa99eec..dd5ee0013648 100644
>> --- a/xen/common/ubsan/ubsan.c
>> +++ b/xen/common/ubsan/ubsan.c
>> @@ -174,6 +174,10 @@ static void ubsan_epilogue(unsigned long *flags)
>>               "========================================\n");
>>       spin_unlock_irqrestore(&report_lock, *flags);
>>       current->in_ubsan--;
>> +
>> +#ifdef CONFIG_UBSAN_FATAL
>> +     panic("UBSAN failure detected\n");
>> +#endif
> 
> if ( IS_ENABLED(CONFIG_UBSAN_FATAL) )
>     panic("UBSAN failure detected\n");
> 
> please.  Happy to fix on commit.
Sounds good to me, thanks.

~Michal


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:19:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:19:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643373.1003519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81jt-0004RE-Im; Tue, 28 Nov 2023 17:19:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643373.1003519; Tue, 28 Nov 2023 17:19: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 1r81jt-0004R7-Eu; Tue, 28 Nov 2023 17:19:13 +0000
Received: by outflank-mailman (input) for mailman id 643373;
 Tue, 28 Nov 2023 17:19: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=23wz=HJ=zytor.com=hpa@srs-se1.protection.inumbo.net>)
 id 1r81jr-0004Qz-QR
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:19:12 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 3d16ba95-8e12-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:19:10 +0100 (CET)
Received: from [127.0.0.1] ([98.35.210.218]) (authenticated bits=0)
 by mail.zytor.com (8.17.2/8.17.1) with ESMTPSA id 3ASHIMck585558
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
 Tue, 28 Nov 2023 09:18:23 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d16ba95-8e12-11ee-98e3-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 3ASHIMck585558
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2023111101; t=1701191904;
	bh=f6l68iGv5eAcjwGj55E8OL6CF5X9iU8J74t2PrTG5YA=;
	h=Date:From:To:CC:Subject:In-Reply-To:References:From;
	b=6XE+gwUSIscmXlxZmR/obyqPnRdyFc9SgOdDhOLZ5zIn1Qj3I3XIlJN7R91edhLqJ
	 3ATaGYKTRv7hC69ocMawcn/GiY4V77tWz594FEnWHS1T/g+UF3/dc6k9z0gaybTIHl
	 sdQV9dZqS9FscMeWhYHdMnochTHoBUVyrWGiTY2zNzeuYMHsP9gBs5xV7h8+eLlOz8
	 5O5NkXqRyj9mjLrHrEoT9mG7b2dvs/x/bc4pP1UavUy6IAgToEPxAtQdtXqZvS6W9m
	 YOJM6Xe1gTSAM8HoXUXn+o/WwGXl2uufOA2uqrbGW6boguYBo3j4/dND+m2saj1FAf
	 JdMK7bWrvWlow==
Date: Tue, 28 Nov 2023 09:18:21 -0800
From: "H. Peter Anvin" <hpa@zytor.com>
To: Borislav Petkov <bp@alien8.de>, Xin Li <xin3.li@intel.com>
CC: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
        linux-edac@vger.kernel.org, linux-hyperv@vger.kernel.org,
        kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
        tglx@linutronix.de, mingo@redhat.com, dave.hansen@linux.intel.com,
        x86@kernel.org, luto@kernel.org, pbonzini@redhat.com,
        seanjc@google.com, peterz@infradead.org, jgross@suse.com,
        ravi.v.shankar@intel.com, mhiramat@kernel.org,
        andrew.cooper3@citrix.com, jiangshanlai@gmail.com,
        nik.borisov@suse.com
Subject: =?US-ASCII?Q?Re=3A_=5BPATCH_v12_16/37=5D_x86/ptrace=3A_Add_FRED_ad?= =?US-ASCII?Q?ditional_information_to_the_pt=5Fregs_structure?=
User-Agent: K-9 Mail for Android
In-Reply-To: <20231128085122.GPZWWqCrPYnzB8BqFB@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com> <20231003062458.23552-17-xin3.li@intel.com> <20231128085122.GPZWWqCrPYnzB8BqFB@fat_crate.local>
Message-ID: <E5913DD8-7C41-4658-9E42-63C01E2209B2@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

On November 28, 2023 12:51:22 AM PST, Borislav Petkov <bp@alien8=2Ede> wrot=
e:
>On Mon, Oct 02, 2023 at 11:24:37PM -0700, Xin Li wrote:
>> FRED defines additional information in the upper 48 bits of cs/ss
>> fields=2E Therefore add the information definitions into the pt_regs
>> structure=2E
>>=20
>> Specially introduce a new structure fred_ss to denote the FRED flags
>> above SS selector, which avoids FRED_SSX_ macros and makes the code
>> simpler and easier to read=2E
>>=20
>> Signed-off-by: H=2E Peter Anvin (Intel) <hpa@zytor=2Ecom>
>
>You and hpa need to go through all the patches and figure out who's the
>author that's going to land in git=2E
>
>Because this and others have hpa's SOB first, suggesting he's the
>author=2E However, the mail doesn't start with
>
>From: H=2E Peter Anvin (Intel) <hpa@zytor=2Ecom>
>
>and then git will make *you* the author=2E
>
>> Tested-by: Shan Kang <shan=2Ekang@intel=2Ecom>
>> Signed-off-by: Thomas Gleixner <tglx@linutronix=2Ede>
>> Signed-off-by: Xin Li <xin3=2Eli@intel=2Ecom>
>
>=2E=2E=2E
>
>>  	union {
>> -		u64	ssx;	// The full 64-bit data slot containing SS
>> -		u16	ss;	// SS selector
>> +		/* SS selector */
>> +		u16		ss;
>> +		/* The extended 64-bit data slot containing SS */
>> +		u64		ssx;
>> +		/* The FRED SS extension */
>> +		struct fred_ss	fred_ss;
>
>Aha, sanity about the right comments has come to your mind in this next
>patch=2E :-P
>
>Just do them right in the previous one=2E
>
>>  	/*
>> -	 * Top of stack on IDT systems=2E
>> +	 * Top of stack on IDT systems, while FRED systems have extra fields
>> +	 * defined above for storing exception related information, e=2Eg=2E =
CR2 or
>> +	 * DR6=2E
>
>Btw, I really appreciate the good commenting - thanks for that!
>

For Xin, mainly:

Standard practice is:

1=2E For a patch with relatively small modifications, or where the changes=
 are mainly in comments or the patch message:

Keep the authorship, but put a description of what you have changed in bra=
ckets with your username at the bottom of the description, immediately befo=
re Signed-off-by:

[ xin: changed foo, bar, baz ]


2=2E For a patch with major rewrites:

Take authorship on the From: line, but have an Originally-by: tag (rather =
than a Signed-off-by: by the original author):

Originally-by: Someone Else <someone@elsewhere=2Edom>


3=2E For a patch which is fully or nearly fully your own work (a total rew=
rite, or based on a concept idea rather than actual code), credit the origi=
nal in the patch comment:

Based on an idea by Someone Else <someone@elsewhere=2Edom> (optional link =
to lore=2Ekernel=2Eorg)=2E


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:22:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:22:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643379.1003529 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81mt-0005uJ-V5; Tue, 28 Nov 2023 17:22:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643379.1003529; Tue, 28 Nov 2023 17:22: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 1r81mt-0005uC-SW; Tue, 28 Nov 2023 17:22:19 +0000
Received: by outflank-mailman (input) for mailman id 643379;
 Tue, 28 Nov 2023 17:22: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r81ms-0005u6-8I
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:22:18 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20616.outbound.protection.outlook.com
 [2a01:111:f400:7d00::616])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id adae0d25-8e12-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:22:17 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8651.eurprd04.prod.outlook.com (2603:10a6:20b:43e::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 17:22:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 17:22: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: adae0d25-8e12-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iWCNO5WcDjGZVUGFKvlfuNYVT4/O9D5sDWA6VcCztvMIRzfxdbUtJMKuKmXEnh35wCrnxFJ0xg9bqcBK7DCYWCRtDJAvbyOIXui+MhLYKMRN2W5jDuSrk5cWXYv7HGFQDX1DHkRtSBixccKyxGu9+CyjUJceaYsqA4k1zCZQrwvakHs6QBZOha8rAbcILvP3aEv8lkESTWvJoeAcfwbcgtTmjr1+PCLuUKpEKTsAOxbfDbJoSWV8+CzS8f3UljFkMwSHAdWyDx3XJDMk9N4RZ3Braaw9n9K+5PAdD6qQMr3S5me/1zPE6Cwr/7XrYfDFnuBHoBc52dOZ3aUNo/0snw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vPAnAkPuF+r9vh72RFbq6quMYRHsEkj7B9nvnGNJ3Js=;
 b=IFFP4fvxtGd5Sun6EGQb/+9pmEKIeuf1MHlz8V6mWg/jfCeikL63iBWp4AGseFo5y2KpgXPEtl57oP75Smh5Xr1JhKpWeIO6n32pegyV47XidRDuuDNkExy1s4Inuq0jwrKA3JbMdvaRnU+VX1S6tb2zqX8JnxcG4LL/EGC2xPm+AorZoAKjfph5fZe+uYB+2S0Bnd25FoaVXbcNlv5f08LIagTaJSb0YxPwYE00qPCJ1+za3Tk/hBk5+ot3VS7A4Sofe47mqInPYnc+bx8+451Mkd6pNoPCURr0QUGT4NOepo5MnhmhzNJeuiukPMc6TuWOfsgmV43xYZep0zOGgw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vPAnAkPuF+r9vh72RFbq6quMYRHsEkj7B9nvnGNJ3Js=;
 b=fFBExEVYurUdMGmuFv9S+kLMQzdDHaTFn+1kI0Wotk+gO2NtUHLpzesRsSLsQ1OhJ0yQEzLGUlzWpFCgNEmo1BfpiunpDe9kq2qqXC+smBlqkBwlOoYwcnE6Ouv09xftPcHHxx9R0iYJXZpUIczN6dtlPhbkQk3yhVbbdFlP+P736gTDna+5WWcyV65gJIm3dod5eLWZZx30DE2kuLYrW0daSTrH1kCqGAz5reVefLaXqNZW33o3mBfhQ1ZgkC9Chy4ebIGZzGXJ+H1HC2duPx/A2eZHUXMN1n1XJxkv2Ll2CzW0havuVv1SfB1h67bXWihCTEUZFTykPPgqD86vMw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <34e6477d-5f1b-4956-a9d2-a1858bfdc902@suse.com>
Date: Tue, 28 Nov 2023 18:22:12 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 01/11] xen/console: address violations of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700832962.git.federico.serafini@bugseng.com>
 <c79bcd4dd33cd448e5eba21defff1c928f064079.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <c79bcd4dd33cd448e5eba21defff1c928f064079.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0371.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f8::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8651:EE_
X-MS-Office365-Filtering-Correlation-Id: 56f084d4-84aa-40b8-59c8-08dbf036906d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pATi0XkM8NpW+nci/1uZ3zmmmz0sKsM+WnWa6kIuFSXHvHEa7sQFJl6UvkqrrugIb0bEGpRP9Nz3AlowpJVwzJa+OEbjaESY5VXFk1ONJ/s38gNjIec7IcQ9/Ty2cFtastcZMGYS7re8yCcF+ES1w++UqQfYdR8zvROdD7/bbZUNOIasdNrvYJdKAb4lDj74oR/EmvNVXA5wROMXXVqNrgm4pXz5LxIlOhsVdx4g2FqTh4R+qn66FvT2K9r+0tKK4ytRkfyVgifNlb298dA/Ico34P3w1WoJ9aI7pwFRGeWdmS7rqobx+9OlvX4EFmduEvGSSCCFG8NseubTiXj0h6XdRNZLN0q20CfNi8HwSD/28p9hiLTZ1qP4P/W6UZ7x+hsYa2edSME23wP1X94n3u04LlxGEpltXmOrqCYhdwuMA1dHGXXJ+Glx78cnbDGQmLldT2qOnGsOIogl2x3GmjB2Lb1bXBqhJisEvH7oXM+TRm+5GHvFmySV0LolVdGv/QcWMZKmWY1Kzv8FLKdoqHC452UXNqOIP0HZQDQOq+mU/1an1SMaIupw1Hw5oRz8HECs1ycZ5JCzYxoRBpT3oPqlHAWdyBuJ0h4pFdxB3l0qDVKgdV1+3xksRT/+nevk2fhPWo5bZrCjmSrsRPru5g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(366004)(376002)(346002)(396003)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(53546011)(6512007)(6506007)(6486002)(2616005)(478600001)(5660300002)(2906002)(66946007)(6916009)(316002)(54906003)(4326008)(66556008)(8936002)(8676002)(41300700001)(66476007)(38100700002)(86362001)(31696002)(36756003)(558084003)(31686004)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WlM1VUpRSFA4Y1MrditxOUhmK09KdldzZGltUTVOZVRpelBuZGRsM1lqSTRr?=
 =?utf-8?B?cWhJZTdLZlRNWnZVSHNiTGcwN3ZIc01ySkxvbGFEZEZwMlY2ZXBtY1NDSUtH?=
 =?utf-8?B?TlpBUGJXdXFQQmVQM1hyWUJEWkRnQUk1ZVdreXROYXNxTTJ4VkhPQVRFVmJt?=
 =?utf-8?B?R0tYb2NScEEwZjV0VXlmZ1NEYmljN1ltZEQxQzZDYzcwL1RKTm9nWjNEb05s?=
 =?utf-8?B?ZnphbTYxa3QyWUlLeWdnZ2FTYlNRQnVjUGhINW1Za2NSeHR5NmpuclU1ZlFM?=
 =?utf-8?B?MEhBZmZKYnl3ZXhNY2lheW91Uzc3SVp1UHRELytqQ1RlbndCdEhOVllkRXcy?=
 =?utf-8?B?NFhoSDlZUU9Jcm9na3BlY25ya051UDZac2hRcy9SOFB5RmhNcGw4NER4THox?=
 =?utf-8?B?MU94Ty9uNWIxek1Wc3lEek93MG9IdEFsNFlsRURkRUlubVhwcmJFUjlBcXVO?=
 =?utf-8?B?UnI1ak9IaUhmMEFaZ2hqeFFJalFEeHNVLzZmS1FlZmZSM0phY001OWNFWDBv?=
 =?utf-8?B?MCtYcldDck0vNEc3UFhaU1FUcHRFYTJHZW90QjdWWWk5bzBnNGNCc2l3OWFu?=
 =?utf-8?B?UGFBOW1lRHRLdVBMQkx1NU9lZERWeEZXVlQ0SWZxRHg4Sk41OGpoSC9XTlJE?=
 =?utf-8?B?ZnUreVl2NytpSUp6ZzVJcG85TVVoNUVhYmp4Rkl3VDB1RlgyTzdJYkhkb212?=
 =?utf-8?B?NTF4TlR0ajF5NU9IYzg5TTdkclVjLzAyL3hoblFzWUdCTGVNTGtoYkMwQ2px?=
 =?utf-8?B?MjErRXNNZE1UalhucDhja3NObTdMcnowNmJLUkdqYmhGWnJ1b1FSMDJZYW5H?=
 =?utf-8?B?RGs4TmZCR0V3dkorTkd3MVAwbVlrZGtvMWdnakw2RGYrNHVLZ3VOVVNmVUlP?=
 =?utf-8?B?QzR5cWJ1amEwRUV2WnU1akNQbXpuckw0eW1UbkFyMnMyQW9BY1R2YVNHVUZ2?=
 =?utf-8?B?akJIVi9zak56OUxCMzRlV1NIYWlLTW1ock0xQTl3QjJJbXZlaFFFeEw2K2t0?=
 =?utf-8?B?Z1U1RHh3YlRib1puRzRPTndmS3BnS0daYUcxSXZSMEE4ckpHdzl4WFNDWDdH?=
 =?utf-8?B?REx3b3lXK0d5WlluYUJIbmFQNU4zVSt3dGFVNWR3VHdTdmJVUFp4TlpkQktl?=
 =?utf-8?B?U3VCOGZsdlFQaEtFeUZNR3N2SGNsWTV3WFhmaUJKRDFqdHBIc0NCRDI2dUx2?=
 =?utf-8?B?S0ZhQVlTWFhtV2xacjVpUjlxZllEbllIQzVGcmZuOWpNWEhOQ3hpNUhvVVky?=
 =?utf-8?B?eTBwRG92elBDaURTZ1BuR0w4QktUYmNvOU1WNWRlVFI4MFV3WllpTjJHZFZM?=
 =?utf-8?B?UTJmN0s4c1Vud2drczZIdEhtNFAwNFU0Zzduc0JDSDNVNE5OUDZpM2FlOFhT?=
 =?utf-8?B?cUNZZTdBQzhoRjU3M01VNTBBN3kwUjRhVzBZSWJwZWZvcC85aHA4YW1LS0Zq?=
 =?utf-8?B?SWdOVnczV3NyUmpvVlZ3WURLK3piWW1FeWlkcXVyTG1jWU1qeDFvWk1pb1Zm?=
 =?utf-8?B?YnZ3VEgyNFF4UzUxemk0MEZVZ0lRTWxFVjJzOHBTaEQrNmxkZVcwWUg1QUs2?=
 =?utf-8?B?bzVrOUc5TlpwSEpHQzl0WnNYYkVvRkhSWnAyQ1hmUGVmVnBMcm9OV0EvallQ?=
 =?utf-8?B?cEhUVVQwQ1FCSTJDWEgrOGF4WXNJb1llZklhaUtucXNwZnRVYk4rUXJVcGR0?=
 =?utf-8?B?U3FpeGtlbVhubXFZRFd6WjJ4NUtGSkgyd0JLa00zNXB0U3lCQ2gzV1BEYkpJ?=
 =?utf-8?B?ZllEYlQwaWpYaERvVTkvRG9DRnl5VWJra3pXK3pWdmZHdFRDRk5KdVhkMDUr?=
 =?utf-8?B?SnBLbFpicXp4TUp6VXJIVEZCSS9QNTZiT2cxdHJxenNLbmo2L2NDKy9neWJr?=
 =?utf-8?B?WllucWNnUzZYTlFJV0VlMzMrczdoN3o5cHRrRTNCTld5L2Q5R3ZpbGRWckdN?=
 =?utf-8?B?eW9Ub0F5R0xVbDFVRUdTcFEvcFo2MHJXa2VUb3JFTmpYa3VOdHlsRDR3TVds?=
 =?utf-8?B?UWhQY1MvZFZCV3IvS2JndkVqZWtheE9YNld4UUk5MUgyd2owajFBd0FRWFpw?=
 =?utf-8?B?WWxxZHgzTUhkRlE1WVAwdlJONlFZR1ZMWDE3R0ttWTAzVklnNHZoVTcxZnIy?=
 =?utf-8?Q?pgzOBmshiFcuknhT3dYQ5zL0h?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 56f084d4-84aa-40b8-59c8-08dbf036906d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 17:22:14.6069
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: GvaypK45VpDHH3R0DPAENadScBmEf5294o5wrWlFVuXkXdmKl5TpY5GePMP46LCuGKJ1oUteeV4rR1s/mdsWqQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8651

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:23:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:23:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643381.1003538 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81oA-0006R1-7s; Tue, 28 Nov 2023 17:23:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643381.1003538; Tue, 28 Nov 2023 17:23: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 1r81oA-0006Qu-5G; Tue, 28 Nov 2023 17:23:38 +0000
Received: by outflank-mailman (input) for mailman id 643381;
 Tue, 28 Nov 2023 17:23: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r81o8-0006Qo-9s
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:23:36 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0617.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::617])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dc2bea01-8e12-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:23:35 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DU2PR04MB8982.eurprd04.prod.outlook.com (2603:10a6:10:2e1::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 17:23:33 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 17:23: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: dc2bea01-8e12-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n8qqrHwfdSvUW6y9ssgwRPurom0pulHr3QQjC+d67ODBdCJTDal1ZgMFUaml7P2VNQUF/KQfIlOE9p67f8FEJ4p6kh5fsMVTuooMQPJ59qI8HFbW+UDamT40i1Jm+YgKX6b+EwqX1nxBzOnNsA/Rk1RqST2r2Y8uckWUl+j//3adaXyTzlHhEd7oPyf6H8GrO5YA1+4x+3EZX2WAhZFAeMHN0D3S7eUOjKsGSnru/yzMMdwgJf8WAtrYq+lH6R7EifVFfqcHDuE2DjKAOUqeaJacJ5j+i+CGzrzGlbCrpbcjMtdeSRqB9lbOmJCyFoz4a82xCjEkUub7ldIBX2DOrA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=kQrJpH3LvwigCPumaZeQGBpThzaUpAoBzz7FkFxm4Vo=;
 b=DSSVUh/Wo5nOiE+hU0G80YaiQ3LsxXeHucgTPL4QKQc53aIR85hcLN2iT619TsQO1JEaHkmQnT90boMNLDNq6vh5e75GHtW7caZrby/aEcOByRh2SDEWK+bruwA/j0To9WCD8kt779n3hM9szRZJg93QNOmMTvkxB3lnyhYwqSFI5uuNlCVrvY+wczzRO8MCs2a8k/2lUAJqe9K7t183yIfTLrBpYLVrKs4WfTR5X/I92T0c7+TE3z+IFjlNOfJ+Z+a5DvUZs1tex12n6BlIYbU7H3r/YPRAzfE5phlGbMRQ29YgECN8+ZejApyirFH2kdCAHxRczQgKmJOTiqWsEg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=kQrJpH3LvwigCPumaZeQGBpThzaUpAoBzz7FkFxm4Vo=;
 b=LimHGWBQYsgeneRNbykKgsR4831p/6OU+5Xyn0kDBP9x86JxAy8pDfizpGqsj8JFw1GCTCrXC5KvnLeE7QQhgCGzlIk+2nhQBY/Xcwsd81meSUCPru9psxB3RG2jWEL4rlNXrfddbKsGEKq1cd6iP9tro39XnBN3U/lG7HR6ddlkSvlwDBQGfzPn1AIjs5+cziOhpL6nNC3tToWD1zhCJQkqXHt17AdFRHQJDwT1WrteAlwFvB/ySkGEjjVUPuUTFPQ7OTA/hU8/9OHiHNh6T/0pGLFS+EaVJ++AjMPkV4CFJwXIzJB2ZRgsM0rKifprxDkj/yBKduF9+43l/iBGiA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <87f53b71-7e76-48b7-b0df-f49360686701@suse.com>
Date: Tue, 28 Nov 2023 18:23:32 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 02/11] xen/aclinux: address violations of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, xen-devel@lists.xenproject.org
References: <cover.1700832962.git.federico.serafini@bugseng.com>
 <98eabdc58a458188157765fd9ca8c9d4d4f6b11c.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <98eabdc58a458188157765fd9ca8c9d4d4f6b11c.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0371.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f8::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DU2PR04MB8982:EE_
X-MS-Office365-Filtering-Correlation-Id: 4875f1c4-bb1f-4ca2-479b-08dbf036bf5e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Oa7kZz54hcEwSA53YUEPG5zIwbDy/uvxE4rOnO3IM9yZjtPcA9vgptqtKrKS/e47isGV3fJ+e6mm8SvFW0ClPtoEl1oa7AmiYBULRogPFn4TiQ6uDRLnzRD9Hp7FkxXIfhLzz+lvPd/TrBeGE20j+aGQR5GH5bo7TYLQBNJk8M6Ve6y9gxNr51Tk/2oM8FBaiThOiK8rZZ9oAvtl6G0rsdpS2NRAgXEO0y0DUJFtmVeH0+0lv1Zwd4YJ1+tm4KmNH5np1r41/mETkFNXAimBe/J6bQUHCyguBhcuLmsfDR9x8B+cb37lNouPau+3w+Mg5FL6pInKTxeHICKXLn92AWJTZgGhw9hSp2QzkWz+s4kPnAmrGegb5BS9iOphzexQ2zi19I+gB3OwMH5ZmSHA2YSMMaDzCm55COrnwg4Q6wxgHQJkeIce5dtGnC379qen8YlJ+SmrPSh5Ucygt5j4dseR8ssnWkfHMHi4EpXCB5Z9gBCRWSxhLZrV2a+MF44cj9n440nJ86U1KJ+1+6Lcj2mNUGld3tHvLKxcdMzbS2yCGuel9zDZ7t25sGa0SttSeHkl8PAPml+KTqBkqfz9s46X0uF/vp1RPEF/4Ta0OxkipCO4hI55sx4oIkxuWQJIyOD6hqt2R/F5GECtCzhAOQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(136003)(396003)(346002)(376002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(6486002)(478600001)(5660300002)(4744005)(2906002)(316002)(66946007)(66556008)(66476007)(6916009)(4326008)(8676002)(8936002)(41300700001)(31696002)(86362001)(31686004)(38100700002)(36756003)(26005)(6506007)(53546011)(2616005)(6512007)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?enc5OHZ0UXNtaitTOFRFV1V4K201R2lIR01nN00rbnJXa3dTTDhicHBQdStG?=
 =?utf-8?B?eStNRFdXQU0wNUtwR2pVUjYvQWFwU3BFWGQzSXpvNHFsc3lud1RjbjZhWlV5?=
 =?utf-8?B?ZUlpbVZYSnlmK1hNZmpHdVJmejZaeUNzOHBaT3NLdDNvTTBlSDZoSlpDbFBC?=
 =?utf-8?B?MTZnenU5bU8vRUdtVkRjT0NjbkFDcStKT0FRQmtuKzBRY2FRYkNiV3ZlZExV?=
 =?utf-8?B?YzFvVGpUMlBidERRTUpTSm1WdDJuL0hMM08wN01hSjdUMkVSeGRVbzB0OWcx?=
 =?utf-8?B?Q0thRSs2SnViV0xwNVJTckgzVjR4V2s1SDdYSjV5MGUvaE4yV29rbjY5Z2h2?=
 =?utf-8?B?d2xHbFVkTlU0Z1YzMW5IV0p4dHpCWEdVZm14LzBWeG92Nk05M2JDcVpwVGts?=
 =?utf-8?B?eVYxSEN3YXhrV1ZNcE1XY1FSbWx2b1NZc1I1OWNKTStMN1NiRU1XKzg3ZXpG?=
 =?utf-8?B?ODJOd21lZ29jRllEM1l2MmlvR3M5M1A5RlNjMEVWeTREOEZhYWUvbkRHTDhr?=
 =?utf-8?B?TjdSU25JWXFXRTdEVytPU3NETU9vdCszcFFrZldsdlBtSVc3bE15OHhaVncz?=
 =?utf-8?B?WGRtalB6YzhQa2dLL253MFBPT3hsaWY3S2p6ZDJhUkZSNFZuUXJtQnVhZVVM?=
 =?utf-8?B?VlZjSWNQenQxZzhheVdXUXhDVzloSG8ycVpoOWxhUTBRS1I4T3hUK3lWRmE2?=
 =?utf-8?B?dlBBQ2VYZDdHTVRvLzEwTnNTbkhyYnB5NFl3blcyajZ0WTFRNFh2QzkzNERy?=
 =?utf-8?B?SlZqOXJrVDFtNGwxV3pid3FRZVJ5RXhrTi9UMUF4amhPZTcyYUMxQUZ1QVBx?=
 =?utf-8?B?cTM0OENOOVZOMnpTNVA3dTdjZFRocmlyZWNGVHppSWFmTjQxaDFrWVBNczdp?=
 =?utf-8?B?OWJ4cVp5VStNSzZ4M0xwRW1SZVNYUUp1bUJUOXBjUWJLTjc4bkkxR0ZtamZj?=
 =?utf-8?B?c1VnOVNXZ0N2blZTbFBUQkFmOUM2Y1NydDZlTXYvSW01bU4yY3haK1dYSUxw?=
 =?utf-8?B?TGxKNU9HUUoxV1p3MEJLZ1VuelFjOElsQ3VsMUZFYU9vSlA5NmlaY0JkelNB?=
 =?utf-8?B?UXM5UEJKVGxicDU0dXgyR2RSSk9tZDJjT2tCUHJITnFNdmxRRUZsdDliS0hi?=
 =?utf-8?B?a3p3YjRzUWIxR1VpdG96NzZMSzZQZHMyT2FmZ0dHZ1VWQXNXK2lwTDRpNm1G?=
 =?utf-8?B?Rk53RU9NR3RlVk96RXd4RkoybE01MlhIeG1PemRmdU00MTBsU2RIUmZNZFBm?=
 =?utf-8?B?MlBhU1BzRCt2SUkrbUxuTXkvY2s2SjVGMVBaNnRLV2phNGNSek00Z3RvN3lL?=
 =?utf-8?B?N0M4SlZ5SUFkS2dvU08xbTZlSnJONE5BbFp4cHlIRUNNbVNCNFBZWW9nS3lp?=
 =?utf-8?B?K1crZUZ6UUhiZ041cCtTS2tZM3FEa3FxQndYc3lPV2syVW9LSFBNRVE3VUxu?=
 =?utf-8?B?OG8zWmNKektMOHNIRkd6Z1p1NnRFQnk5VGhORnVESTZCWjZualQ3VVM0TU9R?=
 =?utf-8?B?ekwyTmdIcE5JWWpPbGtMOG44UzFUNmFjMi9VMk9OUzlGa2w3UnZyVWt5U1ZM?=
 =?utf-8?B?enBvOGpkdUsvYkszRThLNUIvdWEwMG5aUEFuL2dIWWo5Yndkc1VGRGVER0VI?=
 =?utf-8?B?RjcxQlgzM0Z5RlJKQ09WU2VXdDZta2F4QWVmNG40N05JMXl4SzNkTlJteVdK?=
 =?utf-8?B?dks1eUxBanpiWi9mclM1UlI1ZjVrT0Y3WDQ4RGlqc3VmTnh1Z1Zpckd1NnZ4?=
 =?utf-8?B?alROQURkRWdQdWJxZnJiR1pRTHJ1djBaUzNEZHNpNTh1SkQ5NlpYeTRDTWIy?=
 =?utf-8?B?UVM0aXdXTTdnL3ZlTTN1eEtObDJPMURzdGtyYkgzVlZkUGF3YVcrUHFoNUtC?=
 =?utf-8?B?YVVqUU90MWlEYVhCdzNSR0JKNjZudm9KRjl6OGlaUElWcUhRQkY3STJPamt5?=
 =?utf-8?B?Mkh2N1FzWkkvYUd2eDFZUU4xZTJkdmNObWd6cWxTRm1aRG5XVFJId01zbEx0?=
 =?utf-8?B?bzVGbWY5NlFSYWlSRmZRZ1h2WmNzZ1BQdy9KZDlyZnlXaDFLTUk3OWhyR2lv?=
 =?utf-8?B?cUZmWDVlbEtyMVhzQ2J2VlA5Q1NmTnE0NlBTN2Nxd3JHekVPd2RBSmVaVGpE?=
 =?utf-8?Q?hS5IAU9cbRSGv3lTX9u3zTDIW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4875f1c4-bb1f-4ca2-479b-08dbf036bf5e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 17:23:33.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: xdzM6mZO787su9hBewHV2IXDouT5bVAKLPnl3psUqgfE0IwQz4rgtEwOEbjSc2uscC7/oXhGK+/Djt5tkzJ33Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU2PR04MB8982

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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

Albeit as to the subject: There's no component named "aclinux" in Xen.
I think this wants to be "acpi".

Jan


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:24:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:24:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643384.1003549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81pP-00073E-Ls; Tue, 28 Nov 2023 17:24:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643384.1003549; Tue, 28 Nov 2023 17: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 1r81pP-000737-Iu; Tue, 28 Nov 2023 17:24:55 +0000
Received: by outflank-mailman (input) for mailman id 643384;
 Tue, 28 Nov 2023 17: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r81pO-000731-CS
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:24:54 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20605.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::605])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0a2e74f4-8e13-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 18:24:52 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7161.eurprd04.prod.outlook.com (2603:10a6:10:124::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 17:24:50 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 17:24: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: 0a2e74f4-8e13-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mPaOdAuX4De16G5BjLyHuCJJpJ5ys3+To27xGLaz3jXY4P4Fh+Y83qMqKdyqOnOmkdQfpxLRAAJ4VcSRZekg3rSbUzL8mj19NZmbwyomDbHk/jeDqGzhVmXvLELkhYfgg23+xJ9W6eLKfSjrIlym5EQcS/F6BxQwi0NGnfJ1eIUMUpp//T1A8+oxxkUCS25/Wcu0kKmLRSw/6kViQ/M5OSuGnWN0A6RjOc+oSPQ9TXceuURuG7S+mM5hLRFdjp+I4JH/xF3SdRD5dtq2eH2mkOzfhGcqbrncF7VB5Mo3C6oNAa/Hj99Z23QAzOI5teUSJvD0CvIJGq1TuWU5XA7Ufw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=RMcXsedGhwrciDSH7IosA3kJxY/D0gWCWyYN6YRzfLc=;
 b=J2lQD/sin8DEmhn2cGqi+kXlT/FOGtP+P1pmsIZrZEN5dfnmyi4YryMACyxrYRD68Yj0IqkyGIYWa+iJ5/k90fHlJsJvJhcczfbFhd152BHpdUY4RBV73XgPNKSPMe4ABJ2o9AY1zkW7C/+SKtAVkdmfz5af3yuJnz6DnEFhGMRrVHubYFNoQQgwYfQlvrz7fvuSzw6dgJOhBxR47d3IXbeN0ryCKs5QB6fyeFtAtrRz6VN1dgX1uvfCr9HuHidBsziByfEmDFPEWEEa2pKxeKWrXymnG5+cH+3GLs+5sd+LOnmWfyzpcb3XJrJJG9XxXBAO54IsbXvWR9JYe1Bwhw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=RMcXsedGhwrciDSH7IosA3kJxY/D0gWCWyYN6YRzfLc=;
 b=bX0SSJ66fqKA0Dy2ZsLrknvK0VGqSmC1SVvktYpwNQxBP8Jjdd5ml/xofsv8sxrDiuVC1+tsXZfdlgK8lzxdNf1MXHV91WLnbh8JYwjxuAu0aDn8N8asvQEr+njdHYnI+s8BwN34ny8iZNNoHB6R/1+iYiyKzSn6Eq0CHMmr07HDJ5LSVvTaOmQJqIC5lzz6/+RZZNMLdp0rzSaXhn9V5wqNv7xKbBNinw/Iar00AKpHDM4uKILiFBjdgxFLHAVWtXVWtbhwPvvWQlYhvARzmuP56ho/m1Ot4unM1leQGhs9/FbJlKuUZYEV+OmfqmW6/eE+4Lw/gmbrvi8ADLbsUg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <7d0aad5c-0cf5-4142-b7aa-bde0597ea7de@suse.com>
Date: Tue, 28 Nov 2023 18:24:49 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 03/11] xen/cpumask: address violations of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700832962.git.federico.serafini@bugseng.com>
 <0ea3c74ef2e5524d0a9726b6e0795d50dfc32eb8.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0ea3c74ef2e5524d0a9726b6e0795d50dfc32eb8.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0371.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f8::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7161:EE_
X-MS-Office365-Filtering-Correlation-Id: cadec6d5-b627-4a30-bfcb-08dbf036ed06
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	y2kY5oLnSHMskvGhFbAUuk71dFo9vv/qd2/BJZXiXY88QnQA2wsxcZcRno3VwkyIBQiCcyxqgkthGJhBe5lB2Xw7K3dzu8oWBSM7+c/pRv+xw698ig3lFEbuU1fzRvxpljDNNTBdExTKNDCxlCVwepr0po2vPqOCfUAxh8Y4XUS8SQOXEHp8WMmt0HqwbT6igOMSlsexz0ahljZA88+ABpv0tzVYn8UKrHhEI7MYkcG0emd2T3s/N0xRtY/oPC8hFoB9Np0qTaMDet3d/AaT/kAFt6a4tue7cI6NJ2yZTnfJ/zwZ71yemOd5JJMzcuuUtWi1rFmfqxG2bWl5KENxilP5f8S2hdxIegwO0uh0q7aqIF83Pb0bqIXglf2E40fDkMR+f6oNhtJfqsvEmr73VGhHDBFR7PYVOsmOCG9shh9C+q/i2Xe3LHrKgSaZ5C0ZKKC1I2A8hsfpNmvHyQAgae/9gAdsbCtGUmFv+TuylPTxJai7o1Pr4OiovH0bBPe7xA9Zh1sJ0/9uOb5pe5xNRPn80N9o2FEyefEMaiMJ/GANXMICtDFVju3nvKe/Oi1haNKgoorJxPqnKqqELm/EmaC78mPjDRg4QBHyar+Rkfw+EPE2U9rl1jABJnuSHBX0MCPA5jZEbJ/TvOg1VYk1Yg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39860400002)(136003)(396003)(346002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(66556008)(316002)(6916009)(54906003)(31696002)(66476007)(66946007)(8936002)(8676002)(4326008)(6486002)(478600001)(41300700001)(36756003)(86362001)(4744005)(5660300002)(2906002)(38100700002)(2616005)(26005)(6506007)(6512007)(53546011)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RkNLMkl6ZUhJTjFTTHA2MW9ZRDV0NXZZQ1o5M0ZxY21LQ0s0enFIQUcrbENR?=
 =?utf-8?B?NVdFSzNWK3BFejg4dStMbzVqSm5aNy8vY1ZuYVlxYVR4WHJ5d2ZpYW9JcDEx?=
 =?utf-8?B?bDVnSGNkSjI0NURIQzBwTEJWb3RVbElsaHFvY0JBeGUrdE8rcDh5ampwaFR0?=
 =?utf-8?B?cWtSckRPVEFvQTRTdy9MeXlubnBOL1VLVloyanRMK1h0YkhtWnJwV0M5RUNp?=
 =?utf-8?B?UGc2aWppVm1BeHNDRFBVTy8wbkZ4TnVxYkpmaDBDTlovMTd0eHlGUURCdFFm?=
 =?utf-8?B?a09HR1JhU1AwTmVJcXExTldBKzRNa08zcXBwdlJwb0VlTDRHSDdrenc0Qkpy?=
 =?utf-8?B?RDJhenBoeHJ0cXcxc0dwSnJDek0yVEVLdUNwd25pSVQ4QkdXL0tNajJBMXhV?=
 =?utf-8?B?b0ZmSTlmREFLL09XQi9Wang3Ym5zeXNuajFvTjFZcWF5VkpMTHcxOU5GVW9E?=
 =?utf-8?B?ZThmd3BkM2Rzem5OOWxOL2d3ck9Ga1dyN1VjTUl5eVBRWVRmbFFFSG40RWxL?=
 =?utf-8?B?NXlKYmpYbVhpSEhQRW51OHhuUWhtL29COW1VMEg0aUk2MEptcG5aV09nSmZh?=
 =?utf-8?B?RDRuY201dzhORFlMSGRObFJtMkVPM25UZ1cvL1NvZmpjZVZOc1d2dkRGeUFp?=
 =?utf-8?B?U3FvUlp0TDRZT1F6azllQWhzVk00YU9saVRoNGRyd3ljWk9VVlZNMFAwVHVn?=
 =?utf-8?B?T1JPUTdlcmVZeENPamtuTGZXNjdEdi9PNkYzdWhGaHk3RjBXYi9JZk9lbFph?=
 =?utf-8?B?Tkd1cE4wYWh2ZU9tMGdJdlpqMEp6QVhYRnovRG4yTWFtNHE5TVJTUmhBZWJM?=
 =?utf-8?B?VjNiaTl2VTZianorZU1PR3NuMlRYUkRIK3ZnMVJWTFpaRmEwZ0lIRjc5VC9P?=
 =?utf-8?B?Wkpla2EwWkMvVnhJMmJYRHBmeUlTeFREUzlXZWsyYXJoVUJHMEVWYitibXk3?=
 =?utf-8?B?R0M5MlZNSFRuMmNYbzBzV0FNTEF0ZGdRcDN5VVVNM21ZekxQS2VmeDgweHNk?=
 =?utf-8?B?TDI0alhkMTN2bVJVNkpSTlBQT1h2V2lwb0p6OXpRU3p4aE9Fd0N1UGlsTnRv?=
 =?utf-8?B?L0xKYjFlb1kxUG5PRk5VOWpuVUh0ZC9UenBoek5waG14VEtFUkFXdkU4cEJh?=
 =?utf-8?B?eCtNSk81K3o4SlZZRGxQTERoaGdyK1JYekRQd1F4VnFmWmhJSXRWcGdOejdm?=
 =?utf-8?B?TW1yZUN2WTF2OWJRTWdmcmtsMTFJdS92TDJTU2NrUFd4Z3ZNSUhTdFUrcVBo?=
 =?utf-8?B?cUY4NCthRllndG5DTGpHTHJvRmZ1K2VRNjhuaE5kVEh1blpTRGJBQ0NtN3Mx?=
 =?utf-8?B?WHZjWG5oQzJwN0VQR1FJaDFKN3U1TjBVQ2QreDlxYWVLQnVvQXVmWTdFL05v?=
 =?utf-8?B?K3hZa24vcU10VkplOUJXclM3c3NtSklYSEh4bG1kRmpqdHVCaFhrYWhvVmRQ?=
 =?utf-8?B?MThSbkg0UzdxQlViNGRubWtZcUpqN0tTYnBMQjhGYlJtYmo3aC9KaHo3QTNH?=
 =?utf-8?B?dUU1b244empCSnU3R0JNSXVobjVMOFUwQkd1TTA3NTQyU0tFNHJxLy9PcGFB?=
 =?utf-8?B?QkNySVU2QkpnZkpnd0VBUGVQZmhvRXhFdnkwTHJJdndVd0xZRVJRN3BnL1h1?=
 =?utf-8?B?S2M0a1FmbDBlN2h5Q1kvN2F3cjZrWUowNENvNk85cXp0aXFXUTM5QkswcHhL?=
 =?utf-8?B?M1FKdzZZcWgzUXhWMXFwQXFPYjlIRDhlemcvdndPaTRvYmVRVTNMUktxRkJW?=
 =?utf-8?B?RmRRTFliOHp1WUp3NzhsMEVjWjdUbWpXZVpTQTl3TmZCUmU3cjBtOFhlaVlX?=
 =?utf-8?B?Umhjdy9SSlJzYnhTcURxZzVDSTRFbDJHQjlMR3A3VGRDaitrVTc0eldBbTZ1?=
 =?utf-8?B?eUVvb01ZcnV6bmNaSmZjeFRlNTZOT1FEa0YrUDA5WUFsemdFaStUMEhXNUQv?=
 =?utf-8?B?cWlIM1ArUXFNVURzd2dsL05wK0dOYVRHNnlCSlhjRDlMQ0p1STdibWx1QkZu?=
 =?utf-8?B?RGUzbWlWZldVZUkvQjBmYUkwN0dyZ2FScjM3OGdCMEZHWlkwTkt3a3ZsbUo4?=
 =?utf-8?B?RFB2NXB4Mll5Wmt5cWswa1NxMzZTa3Yya3BLYUp2SlZTWFlUdUdCRFFKYkU1?=
 =?utf-8?Q?xVDoSaag/NoHvAekcIerv83xz?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: cadec6d5-b627-4a30-bfcb-08dbf036ed06
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 17:24:49.9728
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +FpOJ8kt11eqBGJ5wx7ca/knyFbxJFpl2PkgNMqxH0thJ8cVpQg6f+LR6fuGMKZWxG2fDDi2HvFpZwrQZNRwcg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7161

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

Acked-by: Jan Beulich <jbeulich@suse.com>
irrespective of this being one of the examples where types alone are
entirely sufficient and descriptive.

Jan

> --- a/xen/include/xen/cpumask.h
> +++ b/xen/include/xen/cpumask.h
> @@ -460,7 +460,9 @@ extern cpumask_t cpu_present_map;
>  
>  /* Copy to/from cpumap provided by control tools. */
>  struct xenctl_bitmap;
> -int cpumask_to_xenctl_bitmap(struct xenctl_bitmap *, const cpumask_t *);
> -int xenctl_bitmap_to_cpumask(cpumask_var_t *, const struct xenctl_bitmap *);
> +int cpumask_to_xenctl_bitmap(struct xenctl_bitmap *xenctl_cpumap,
> +                             const cpumask_t *cpumask);
> +int xenctl_bitmap_to_cpumask(cpumask_var_t *cpumask,
> +                             const struct xenctl_bitmap *xenctl_cpumap);
>  
>  #endif /* __XEN_CPUMASK_H */



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:25:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:25:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643386.1003559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81pn-0007To-Ul; Tue, 28 Nov 2023 17:25:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643386.1003559; Tue, 28 Nov 2023 17: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 1r81pn-0007Th-Rm; Tue, 28 Nov 2023 17:25:19 +0000
Received: by outflank-mailman (input) for mailman id 643386;
 Tue, 28 Nov 2023 17:25: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=xcZ5=HJ=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r81pm-000731-Se
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:25:18 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2061f.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 190fc642-8e13-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 18:25:17 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DB8PR04MB7161.eurprd04.prod.outlook.com (2603:10a6:10:124::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.21; Tue, 28 Nov
 2023 17:25:15 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 17: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>
X-Inumbo-ID: 190fc642-8e13-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=E0ZTuS654kR4yYufjffTKS8WXIPV/kDInL8cKI/8nc3rxrO+3f8zCnZyvoC5K4bkbVfe8q2oJBw6deCZbjtVTq3bRV1ZLdg2qIx4eXFPX4IPlFt1v/YSkLqJM1pjiZBUbbaKV22kjB9hNR2o96+FRltWUkH0B64Mw8uuH2QMac1C7iyzuBtXc5TcnlSf1hvGiGixmoHOJRFg3zncvky7GO0RlDyM3aD6EqVOO5Lks+SxXRRCFeocFKybD+IrQxSwrK15M1ejrJKATdUokxyqi/9yCf3FqSpLQyXVMc30soMoUxMg+kdGvUKLcdVHBDj+welnAXJDncqf9PiRGmNLxg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=359se0zwheblR3gQ8iCEWo19fEVQkaMnFaZyxNlsiXQ=;
 b=ljw9OUxBGbROejrSOjeyJln8B/rZ7CWsZ+VrkMROG3FlfSqpfXBl3q3Ws3C2z6JbEKhuZYBDdAnz52iYiUzg5vo255WmoWYE+AFMgybmBXzqSyXGONMkODRYP66W4DtMvXWAI7t88MMyBKwu8Cm/AaxCheg7eLA/JCfg/YVCIB3FQEeCPjl0H1so1y4zcbwI7Io1EacbZvYhtRvdagF60ZP0HZ7JTOq7/WN5xvwCGSKt+6TJJ3bu+9j1gMy1JeoPPhfRrTQx4zYM5br8RtbgwJM4uT2pidGAfOTZTdDZ3hcr3aRyvKsHkdKQWb+ObUEGBydqisKLDW+2b4lqF1lw9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=359se0zwheblR3gQ8iCEWo19fEVQkaMnFaZyxNlsiXQ=;
 b=pl3Vaau0QZwp0IGKiEwoHtREO653zYHauZnr+7xFT5PLeuuyvVB1gp5TyE/PekIJbmc/zWGB0saKkPBuxkCwXR82xXGByLhmQOnU07mWkvIgwSh276fTgIpKRcmg0SkL/K9KD13zAhAwkAwrbGy5ftsGiK9mLOoptZVgZ5slqpObkeKID4hSrNJ4aBn5jXBMT5uOsBcy6sq+cMWMbTPbJbgKl5TnUmlmYJ5/Hs4/VpXl+h7WTXnNZqoP42pgB2Nk+UCeG2hx3OEknveyd/fhpz1xK6jGuBETkJ9iFTGCs5cDzXjj8LtNUt4zUJ5Z3p6si/YIclu5EF7UJZ12Tze5zQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3d425c3a-bb4b-4d0a-a3c5-c224b385a43b@suse.com>
Date: Tue, 28 Nov 2023 18:25:15 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 04/11] xen/dmi: address a violation of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700832962.git.federico.serafini@bugseng.com>
 <0eaa7a31011dc3b2f22217d2c7389570d5634549.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <0eaa7a31011dc3b2f22217d2c7389570d5634549.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0371.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f8::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DB8PR04MB7161:EE_
X-MS-Office365-Filtering-Correlation-Id: 7be171af-b2aa-416b-96a6-08dbf036fc6c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iY0g+aJo01PCL3JNlWs3NE19PPfQI77FdR0Zsx+qndaI0Ju2iN8j+UZAzfKPbUxFBAJVxTqUJteseyn4NA1P9m1L64rbljtZw4NoRjfUf/9XApVzgyG9U73edj/hKFHURI2Eb0OCnXbrKMJ9Kkz0VDR+plMuHrvP333Yx6T5g1BE5XTYCsEbhv0Gv+Jt/RJa7uo3duFm03O6T3buQQV3F6qdAK6CAHXX8QuayB4qEf3VweGIvkVeXX997aPfQKAye9SK7l+AfutFovpbXEt+tc7r3NtreOGg3Prr66YfMuBCw+49AyTam5RrXb76VPpye0KThMGzs/1lksU5iGFh+kgH++OEuVb7B17rUsY7o+p9HpwrQYwjytj3TxeX1GorAutvEExnH9nILmcwDzan6patRPGXvBSaBzh0UwjIm50Nayv6Hk3w/PN093yonwiSI+8znL2HVFXk8+vH391e/NkZaqnE9+O5mCaPSgywpGzUXQbPZdSsDXEugmAm89lBpYKeNa3uJ0snxy3juuxaqR7FcE7f7CB5RED9DTvZYzEwVM05dAUoPU7pzq6oB7/SBg/xRm9EfNecGFNGl7sQh6jNDiFK7cDpUarBny68TeQdkGdBh0Np5eoGfd1mdO7Agq9t7kUAHl3A7lVrD28niw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(376002)(39860400002)(136003)(396003)(346002)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(66556008)(316002)(6916009)(54906003)(31696002)(66476007)(66946007)(8936002)(8676002)(4326008)(6486002)(478600001)(41300700001)(36756003)(86362001)(5660300002)(2906002)(558084003)(38100700002)(2616005)(26005)(6506007)(6512007)(53546011)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VG5hdzZ0TUg4elJJM3c3NkxrWDNLNTBWckx4VzJnbUs1VVowUS91UThKajRV?=
 =?utf-8?B?L3JKZXF2WStMWTVsVSsrRWplOCthSE9CTFBGVFNTQ0dIWkV5VXBLVnBLZStB?=
 =?utf-8?B?L2xtR0VYak5Mbk1lZzZ6VEFYeXhEWmVhSGtiNjRKZHFGZW9HSHExQVUvaGZ3?=
 =?utf-8?B?UUFQZCtqWU5EbHlpY3lEdlFXQ3o0Y1ZzK3p4RU5xcjR6VHRFZGtKemV5MVRt?=
 =?utf-8?B?WGtOYlM4TXl0S292dnRncHlJZ25laDMvOWV6V2RvZWV1MzVJYTA1WEdpbUZJ?=
 =?utf-8?B?aWV5WGd0a2M5cUF6cTkvZTNhOTdRZFBBT2N6b2gydTR3a0FRVU9XR3JLd2JM?=
 =?utf-8?B?em12MjFiZml3cjdSUUE3WDkxRHhuMENDVFNDNW1aU2F1UFdHODVDSTBVTG8w?=
 =?utf-8?B?cndtbEFqODlVM0tQQ0I2N3hkOUVrR3c5Y2FZQ1RJRTI0MndEcHJ5QkFjQWtl?=
 =?utf-8?B?Nnl4M09jVENITW9NWWVWUmtvUHRFbktJd25JVE1nYzhBR1hMV08vOUZJS0pW?=
 =?utf-8?B?YTd0Zi9neUMreTNBczl4K0VRMC8zNzVTU0EyaEdXRXZZRU8rbWo3Tm9MKzJI?=
 =?utf-8?B?bmpwTld1MDBjMWQ3eDJMdTVUR0dnbTZYeWUvbkI1OHVRSmd0cjZkRzdPWEhu?=
 =?utf-8?B?VkFjU1VDbzdjdURjZTZRSVR3MUZrcFd5R01DbnRZSVBlbWRsbFU1THlsV2xk?=
 =?utf-8?B?WkxJWHd1c0l4aTVCcEpob2Zvc0lNSTY0b3lBcjJEei95VkVITDNUNEJ0a2Ro?=
 =?utf-8?B?aXJYY01oSWdMVDR5b2drMGtsZFNLdUFRSzcvcFVPZ0hwL3Y2TER5ZUp1eUZM?=
 =?utf-8?B?bGRta3Z1UXpET0lGWE1xL2x3QjRydHdycWFlbGhFL29sVDFtM1Y1RVM1OTBp?=
 =?utf-8?B?ZjRMQUM4L284Tis2YmY1eGV0TzJPNVNTKzAxTDBVQ1V2UXZkK1RMbmpjbWdm?=
 =?utf-8?B?Z253RTM4L3NZWFcxZzVXZ2VBdnJjTW1BL1VnTmc0bmpNTDJjUjY1alhiWm02?=
 =?utf-8?B?ajNGdndsTU1HNlFsYkltZ3FHR1dSK2djRFFJck4vTUtjOCtmL0ZqRmRSVm1Y?=
 =?utf-8?B?UUZ2VHJFa09OR05wcnV2MnF6TzNETnJQVDV0OWN4eEN1VXVOcVpiMi9RMksr?=
 =?utf-8?B?Q1k1eFRRMlRhU1htMjV0QWJQRXpzSCtpaG55ZWFwNHlmQ3I5N1JsV0tiZFd0?=
 =?utf-8?B?dXg1V3V4U0lKaDdJbkI5aTFoeHB0V3NvQmVxTmsvQ3JNRjFDRVJSTnVCR0I5?=
 =?utf-8?B?WVJKeFBOYmRRTUY1Slg3Ymd0NHUyQVp0OXo2VjBSdzdDRU5DZ0wzTktlZjhH?=
 =?utf-8?B?YXRHR1laK0JFUmh4dVVjdlhyWHJISzEwS3JOVFFsTFRxankwQm40TTEvakpo?=
 =?utf-8?B?aHZEMmVoZlRNam1lRzZoWE94bi9QNlBIUE9JWGZwckdVWkFWMHg5Q1FUdlVu?=
 =?utf-8?B?YWMrb0h4eWlyMnZPMnBtR3JMNW9EM1R6bUt2c2syNElmVzF2TDdCRHI1SUg0?=
 =?utf-8?B?T0duaGtrVEhDQ0dTL2puNHE2dGQ2NmwrcTB2bXFpT2x0Ym95NklTMjVvSjBn?=
 =?utf-8?B?Vmp1eG1zQ0xrbkNRQVlEZDdkTFo0a1dhbmlHcTFOZDJyZUhjcUE1UklOSlA4?=
 =?utf-8?B?eVQvb0ZTK0wzRGV0elN0ZnhLVW1kY3Q1UjJkQU9TSHNnY09MK09tNmpycUY5?=
 =?utf-8?B?RkRvRWhNNnhYQW1qUEFVdXpFNzhUU1hDdUlhdDVYUXhWa0gwb1U5T2dxay9i?=
 =?utf-8?B?MnF1Y2JGcUVFVytxS2prMTZRS21BdHBxRll2MVBSMlM4Vjd3dkMvUGJnOUt2?=
 =?utf-8?B?QmlSR0ZESGVhNU9jYjZKRHNpL04xbm5lMnNXV0xFTHJtdmxWcHlpZ2RhZDBL?=
 =?utf-8?B?WVV1blFUU0ttN2EwR05NVDZibnMrd0ozbFgvMGhheUhSQm8vWnJIRU5PSWpC?=
 =?utf-8?B?U3Fta2FJNGpaQmJDT2kyanNONHZUbjRkT0dyZWpONHQ4MDlsVVI1ZVF2SUE0?=
 =?utf-8?B?b1JMcUhneGE1cldPNkxSZG9UdWNIODdlUW8yK09WZktmbXlwa0ZTZHEzQXlC?=
 =?utf-8?B?ajc0TlNmUk4yWUhmVm9JbSsyY3R1eDBBb0xJVGZwMWVzaElmZFVNS1JXVURw?=
 =?utf-8?Q?orosNImZjqfpUxSJbOSc8naUY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7be171af-b2aa-416b-96a6-08dbf036fc6c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 17:25:15.7887
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: Dh1IQPVO6GWz3SAPj7I0PGdaMf7SVPnajnZczQ24EPbL3QyduFHkAH3czaZjdvVj6+IXh3sdfWc6NMsWDnctAQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB8PR04MB7161

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter name. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:28:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:28:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643391.1003569 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r81t5-0000yp-Dc; Tue, 28 Nov 2023 17:28:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643391.1003569; Tue, 28 Nov 2023 17:28: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 1r81t5-0000y8-9c; Tue, 28 Nov 2023 17:28:43 +0000
Received: by outflank-mailman (input) for mailman id 643391;
 Tue, 28 Nov 2023 17:28: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 1r81t4-0000xg-F1; Tue, 28 Nov 2023 17:28: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 1r81t4-0005li-6v; Tue, 28 Nov 2023 17:28: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 1r81t3-0006f0-Tk; Tue, 28 Nov 2023 17:28:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r81t3-0003uV-TI; Tue, 28 Nov 2023 17:28: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=qmi2n6N6uIRCfEClviV22sMHnXqog09p/l/kX6cCAGA=; b=OqyhWMRKpTdtRmwWd4JL4HhdUd
	U+MilaxEuEMSFjPIEAjTpJ6bHJLme73ZLuide6XJCtlPC6QMdikVOv/8wm8rFtmXN/2B9PFTl/ake
	KMCmzYqTtBcJIF0jalQr34f4UOTJKJf/FWsxtXsFbggkphrNQmFUNsSToPiLsrivdZuw=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183899-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183899: regressions - all pass
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-arm64-xsm:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-armhf:xen-build/dist-test:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=72d51813d631fe27d37736b7a55eeec08f246983
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 17:28:41 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   7 xen-build/dist-test      fail REGR. vs. 183851
 build-arm64-xsm               7 xen-build/dist-test      fail REGR. vs. 183851
 build-armhf                   7 xen-build/dist-test      fail REGR. vs. 183851

Tests which did not succeed, but are not blocking:
 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-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                  72d51813d631fe27d37736b7a55eeec08f246983
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    4 days
Failing since        183871  2023-11-27 14:00:26 Z    1 days    6 attempts
Testing same since   183874  2023-11-27 19:00:27 Z    0 days    5 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 72d51813d631fe27d37736b7a55eeec08f246983
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Nov 27 15:18:48 2023 +0100

    x86: amend cpu_has_xen_{ibt,shstk}
    
    ... to evaluate to false at compile-time when the respective Kconfig
    control is off, thus allowing the compiler to eliminate then-dead code.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 17754972fa98bff2dfdec09b8094f54530bafcb8
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:56 2023 +0100

    x86/atomic: address violations of MISRA C:2012 Rule 11.8
    
    Edit casts that unnecessarily remove const qualifiers
    to comply with Rule 11.8.
    The type of the provided pointer may be const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fc63c0ebefe7e9d166b07971273c1de62428eb18
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:32 2023 +0100

    AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
    
    Drop an unnecessary cast discarding a const qualifier, to comply with
    Rule 11.8. The type of the formal parameter ivhd_block is const
    qualified.
    
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fe26cb2dd20fa864deb05e4b278bc9993ba120e6
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:07 2023 +0100

    x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
    
    Add missing const qualifier in casting to comply with Rule 11.8.
    Argument tag is typically const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 09c2fe438da1dfc83f70d921b52240bea576615f
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:16:43 2023 +0100

    x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
    
    Add const qualifier in cast that unnecessarily removes it
    to comply with Rule 11.8.
    The variable info is declared with a const qualified type.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Nov 27 15:16:01 2023 +0100

    livepatch: do not use .livepatch.funcs section to store internal state
    
    Currently the livepatch logic inside of Xen will use fields of struct
    livepatch_func in order to cache internal state of patched functions.  Note
    this is a field that is part of the payload, and is loaded as an ELF section
    (.livepatch.funcs), taking into account the SHF_* flags in the section
    header.
    
    The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
    are SHF_ALLOC, which leads to its contents (the array of livepatch_func
    structures) being placed in read-only memory:
    
    Section Headers:
      [Nr] Name              Type             Address           Offset
           Size              EntSize          Flags  Link  Info  Align
    [...]
      [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
           0000000000000068  0000000000000000   A       0     0     8
    
    This previously went unnoticed, as all writes to the fields of livepatch_func
    happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
    however WP is no longer toggled in CR0 for patch application, and only the
    hypervisor .text mappings are made write-accessible.  That leads to the
    following page fault when attempting to apply a livepatch:
    
    ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
    CPU:    4
    RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
    [...]
    Xen call trace:
       [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
       [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
       [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee
    
    Pagetable walk from ffff82d040625079:
     L4[0x105] = 000000008c6c9063 ffffffffffffffff
     L3[0x141] = 000000008c6c6063 ffffffffffffffff
     L2[0x003] = 000000086a1e7063 ffffffffffffffff
     L1[0x025] = 800000086ca5d121 ffffffffffffffff
    
    ****************************************
    Panic on CPU 4:
    FATAL PAGE FAULT
    [error_code=0003]
    Faulting linear address: ffff82d040625079
    ****************************************
    
    Fix this by moving the internal Xen function patching state out of
    livepatch_func into an area not allocated as part of the ELF payload.  While
    there also constify the array of livepatch_func structures in order to prevent
    further surprises.
    
    Note there's still one field (old_addr) that gets set during livepatch load.  I
    consider this fine since the field is read-only after load, and at the point
    the field gets set the underlying mapping hasn't been made read-only yet.
    
    Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

commit 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:15:09 2023 +0100

    xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
    
    Add missing parameter names and uniform the interfaces of
    modify_xen_mappings() and modify_xen_mappings_lite().
    
    No functional change.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit b82b867a6694368b9a74ed00397b2393d129a24d
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:14:00 2023 +0100

    x86/mm: preparation work to uniform modify_xen_mappings* interfaces
    
    The objective is to use parameter name "nf" to denote "new flags"
    in all the modify_xen_mappings* functions.
    Since modify_xen_mappings_lite() is currently using "nf" as identifier
    for a local variable, bad things could happen if new uses of such
    variable are committed while a renaming patch is waiting for the
    approval.
    To avoid such danger, as first thing rename the local variable from
    "nf" to "flags".
    
    No functional change.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit fbcec32d6d3ea0ac329301925b317478316209ed
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:39:55 2023 +0000

    x86/mem_sharing: Release domain if we are not able to enable memory sharing
    
    In case it's not possible to enable memory sharing (mem_sharing_control
    fails) we just return the error code without releasing the domain
    acquired some lines above by rcu_lock_live_remote_domain_by_id().
    
    Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit b9eeb1992676ec83cee285b97fee94d03eaa9836
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:26:20 2023 +0000

    x86/mem_sharing: Fix typo in comment
    
    ambigious -> ambiguous
    
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:42:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:42:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643400.1003579 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r825q-0005U6-Mq; Tue, 28 Nov 2023 17:41:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643400.1003579; Tue, 28 Nov 2023 17: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 1r825q-0005Tz-J5; Tue, 28 Nov 2023 17:41:54 +0000
Received: by outflank-mailman (input) for mailman id 643400;
 Tue, 28 Nov 2023 17:41: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=PT6c=HJ=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r825o-0005Ts-Uq
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:41:53 +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 69a7bea6-8e15-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:41:51 +0100 (CET)
Received: by mail-wm1-x32f.google.com with SMTP id
 5b1f17b1804b1-40b4a8db331so10853255e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 09:41:51 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 h17-20020a5d5491000000b0033307ffb19fsm4440761wrv.37.2023.11.28.09.41.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 28 Nov 2023 09:41:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 69a7bea6-8e15-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701193310; x=1701798110; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=p01uU/HUMxa7CGZkx8Qb8b+bDgJZ8Ga7cwAsgScQFo4=;
        b=ufe8bVzaKFRsyKRCwScRQMdSEPxMk8kgyI/f8dd5+Inx2j8HDcQQZojusksr7PInoZ
         ay8+zkLn97hs63OxTnzqKZBMO0lBbY76oRcC2sHUwg504AZ2EkIlzdhjUOA4YTD8wqSz
         4gW3CqUaBlvcrJeHz3TRKV+NH6OW4JcdnzE00=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701193310; x=1701798110;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=p01uU/HUMxa7CGZkx8Qb8b+bDgJZ8Ga7cwAsgScQFo4=;
        b=QgZObf6Cp4BzvpwX4i8HP9kYkFCJHnSuZ/WT5uzd5llxQT/RW0ZBVyaK+ohlaJOIjW
         poQaVqi3PFwVGGj3S+8v4RLwzX0vLu80wmuB9iKsVz9hfX/+zPtknuw3Pa6yNuViqDey
         WAtGJweIOJiv9IZSWAbUbOuEYfOGC6c1bPgf3/0lATsOKmbGHj4EncU71xYcPp+WZKp0
         zzAgfKmWYkMMsbpU6yYumXSJHvNK47oj0ZocWQ+hWUirSmE2bG6Mf+yNf2DanGjocO/k
         yf6vpIzSZ8B2NtHsmLrrodiQ4KvHoInyibPRyj+OrbmJZjDJKlrTx2T3T0Lg08r8rSDz
         JL5A==
X-Gm-Message-State: AOJu0Ywk9AmKMyGWQ7p9gb5N/lrKNm/I0aWICdW1varQ6g591zPiB5wC
	Rs6XwEujhsS+cQ0TtZ0nwtA16wlk9VAEX6fZNAQ=
X-Google-Smtp-Source: AGHT+IHq9SG6ctHJ3JAtYuYEV3jUijn+fooDLrQtilf64q0J9uDwcHObw2EQTqesAgvuTfDv/j2ywA==
X-Received: by 2002:adf:ecc9:0:b0:333:1096:656 with SMTP id s9-20020adfecc9000000b0033310960656mr1714909wro.33.1701193310323;
        Tue, 28 Nov 2023 09:41:50 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH] xen/livepatch: fix livepatch tests
Date: Tue, 28 Nov 2023 18:41:31 +0100
Message-ID: <20231128174131.38642-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The current set of in-tree livepatch tests in xen/test/livepatch started
failing after the constify of the payload funcs array, and the movement of the
status data into a separate array.

Fix the tests so they respect the constness of the funcs array and also make
use of the new location of the per-func state data.

Fixes: 82182ad7b46e ('livepatch: do not use .livepatch.funcs section to store internal state')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
I will see about getting those tests build in gitlab, in the meantime we should
take this fix in order to unblock osstest.
---
 xen/test/livepatch/xen_action_hooks.c         | 12 +++++-----
 xen/test/livepatch/xen_action_hooks_marker.c  | 20 ++++++++++-------
 xen/test/livepatch/xen_action_hooks_noapply.c | 22 +++++++++++--------
 xen/test/livepatch/xen_action_hooks_nofunc.c  |  6 ++---
 .../livepatch/xen_action_hooks_norevert.c     | 22 +++++++++++--------
 xen/test/livepatch/xen_prepost_hooks.c        |  8 +++----
 xen/test/livepatch/xen_prepost_hooks_fail.c   |  2 +-
 7 files changed, 53 insertions(+), 39 deletions(-)

diff --git a/xen/test/livepatch/xen_action_hooks.c b/xen/test/livepatch/xen_action_hooks.c
index 39b531302731..fa0b3ab35f38 100644
--- a/xen/test/livepatch/xen_action_hooks.c
+++ b/xen/test/livepatch/xen_action_hooks.c
@@ -26,9 +26,10 @@ static int apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        func->applied = LIVEPATCH_FUNC_APPLIED;
+        fstate->applied = LIVEPATCH_FUNC_APPLIED;
         apply_cnt++;
 
         printk(KERN_DEBUG "%s: applying: %s\n", __func__, func->name);
@@ -47,9 +48,10 @@ static int revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        func->applied = LIVEPATCH_FUNC_NOT_APPLIED;
+        fstate->applied = LIVEPATCH_FUNC_NOT_APPLIED;
         revert_cnt++;
 
         printk(KERN_DEBUG "%s: reverting: %s\n", __func__, func->name);
@@ -68,7 +70,7 @@ static void post_revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         printk(KERN_DEBUG "%s: reverted: %s\n", __func__, func->name);
     }
diff --git a/xen/test/livepatch/xen_action_hooks_marker.c b/xen/test/livepatch/xen_action_hooks_marker.c
index 4f807a577f25..d2e22f70d1f4 100644
--- a/xen/test/livepatch/xen_action_hooks_marker.c
+++ b/xen/test/livepatch/xen_action_hooks_marker.c
@@ -23,9 +23,10 @@ static int pre_apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied == LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: pre applied: %s\n", __func__, func->name);
     }
 
@@ -42,9 +43,10 @@ static void post_apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied != LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied != LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: post applied: %s\n", __func__, func->name);
     }
 
@@ -59,9 +61,10 @@ static int pre_revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied != LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied != LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: pre reverted: %s\n", __func__, func->name);
     }
 
@@ -78,9 +81,10 @@ static void post_revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied == LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: post reverted: %s\n", __func__, func->name);
     }
 
diff --git a/xen/test/livepatch/xen_action_hooks_noapply.c b/xen/test/livepatch/xen_action_hooks_noapply.c
index 4c55c156a621..646a5fd2f002 100644
--- a/xen/test/livepatch/xen_action_hooks_noapply.c
+++ b/xen/test/livepatch/xen_action_hooks_noapply.c
@@ -25,9 +25,10 @@ static int pre_apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied == LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: pre applied: %s\n", __func__, func->name);
     }
 
@@ -44,7 +45,7 @@ static int apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         apply_cnt++;
         printk(KERN_DEBUG "%s: applying: %s\n", __func__, func->name);
@@ -63,10 +64,11 @@ static void post_apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
         BUG_ON(apply_cnt != 1);
-        BUG_ON(func->applied == LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: post applied: %s\n", __func__, func->name);
     }
 
@@ -81,9 +83,10 @@ static int pre_revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied == LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: pre reverted: %s\n", __func__, func->name);
     }
 
@@ -100,9 +103,10 @@ static void post_revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied == LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: post reverted: %s\n", __func__, func->name);
     }
 
diff --git a/xen/test/livepatch/xen_action_hooks_nofunc.c b/xen/test/livepatch/xen_action_hooks_nofunc.c
index 2b4e90436fce..077c4c173888 100644
--- a/xen/test/livepatch/xen_action_hooks_nofunc.c
+++ b/xen/test/livepatch/xen_action_hooks_nofunc.c
@@ -23,7 +23,7 @@ static int apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         apply_cnt++;
         printk(KERN_DEBUG "%s: applying: %s\n", __func__, func->name);
@@ -42,7 +42,7 @@ static int revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         revert_cnt++;
         printk(KERN_DEBUG "%s: reverting: %s\n", __func__, func->name);
@@ -61,7 +61,7 @@ static void post_revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         printk(KERN_DEBUG "%s: reverted: %s\n", __func__, func->name);
     }
diff --git a/xen/test/livepatch/xen_action_hooks_norevert.c b/xen/test/livepatch/xen_action_hooks_norevert.c
index ef77e720713e..1c4873f55640 100644
--- a/xen/test/livepatch/xen_action_hooks_norevert.c
+++ b/xen/test/livepatch/xen_action_hooks_norevert.c
@@ -25,9 +25,10 @@ static int pre_apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied == LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: pre applied: %s\n", __func__, func->name);
     }
 
@@ -44,9 +45,10 @@ static void post_apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied != LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied != LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: post applied: %s\n", __func__, func->name);
     }
 
@@ -62,8 +64,9 @@ static int pre_revert_hook(livepatch_payload_t *payload)
     for (i = 0; i < payload->nfuncs; i++)
     {
         struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
-        BUG_ON(func->applied != LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied != LIVEPATCH_FUNC_APPLIED);
         printk(KERN_DEBUG "%s: pre reverted: %s\n", __func__, func->name);
     }
 
@@ -80,7 +83,7 @@ static int revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         revert_cnt++;
         printk(KERN_DEBUG "%s: reverting: %s\n", __func__, func->name);
@@ -99,16 +102,17 @@ static void post_revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
+        struct livepatch_fstate *fstate = &payload->fstate[i];
 
         BUG_ON(revert_cnt != 1);
-        BUG_ON(func->applied != LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied != LIVEPATCH_FUNC_APPLIED);
 
         /* Outside of quiesce zone: MAY TRIGGER HOST CRASH/UNDEFINED BEHAVIOR */
         arch_livepatch_quiesce();
         common_livepatch_revert(payload);
         arch_livepatch_revive();
-        BUG_ON(func->applied == LIVEPATCH_FUNC_APPLIED);
+        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
 
         printk(KERN_DEBUG "%s: post reverted: %s\n", __func__, func->name);
     }
diff --git a/xen/test/livepatch/xen_prepost_hooks.c b/xen/test/livepatch/xen_prepost_hooks.c
index 889377d6ebfd..17f5af6a1921 100644
--- a/xen/test/livepatch/xen_prepost_hooks.c
+++ b/xen/test/livepatch/xen_prepost_hooks.c
@@ -30,7 +30,7 @@ static int pre_apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         pre_apply_cnt++;
         printk(KERN_DEBUG "%s: applying: %s\n", __func__, func->name);
@@ -49,7 +49,7 @@ static void post_apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         post_apply_cnt++;
         printk(KERN_DEBUG "%s: applied: %s\n", __func__, func->name);
@@ -66,7 +66,7 @@ static int pre_revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         pre_revert_cnt++;
         printk(KERN_DEBUG "%s: reverting: %s\n", __func__, func->name);
@@ -86,7 +86,7 @@ static void post_revert_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         post_revert_cnt++;
         printk(KERN_DEBUG "%s: reverted: %s\n", __func__, func->name);
diff --git a/xen/test/livepatch/xen_prepost_hooks_fail.c b/xen/test/livepatch/xen_prepost_hooks_fail.c
index c6feb5d32dbd..52fd7f642ecb 100644
--- a/xen/test/livepatch/xen_prepost_hooks_fail.c
+++ b/xen/test/livepatch/xen_prepost_hooks_fail.c
@@ -24,7 +24,7 @@ static int pre_apply_hook(livepatch_payload_t *payload)
 
     for (i = 0; i < payload->nfuncs; i++)
     {
-        struct livepatch_func *func = &payload->funcs[i];
+        const struct livepatch_func *func = &payload->funcs[i];
 
         printk(KERN_DEBUG "%s: pre applying: %s\n", __func__, func->name);
     }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:44:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:44:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643407.1003589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r828H-0006VV-4R; Tue, 28 Nov 2023 17:44:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643407.1003589; Tue, 28 Nov 2023 17: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 1r828H-0006VO-0K; Tue, 28 Nov 2023 17:44:25 +0000
Received: by outflank-mailman (input) for mailman id 643407;
 Tue, 28 Nov 2023 17:44: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=az8h=HJ=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r828F-0006VG-5q
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:44:23 +0000
Received: from mail-wm1-x32b.google.com (mail-wm1-x32b.google.com
 [2a00:1450:4864:20::32b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c2f3c03f-8e15-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 18:44:21 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-40b472f98b1so17877465e9.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 09:44:21 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 q19-20020a05600c46d300b0040b35195e54sm18187948wmo.5.2023.11.28.09.44.20
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Tue, 28 Nov 2023 09:44:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c2f3c03f-8e15-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701193461; x=1701798261; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=RhUMjIlxPJIPFUidNq+LtQ/QHqx+T76995jn+Dzs/aA=;
        b=kevFgH8bEK3XSqcNpmE4NsWCTk8rAeeDoDGvWFDD6tU3x9Hl+uWbtd012euq0fB2M4
         ah8KYKUUIEqpQHIo85qUfMzh/7tEES1hFzaReIauKUmmrulG28JDp4SUV/71CU8bnSsp
         D9oudm3DjtIhgqgBu/Unmp52peg0naONqGgng=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701193461; x=1701798261;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=RhUMjIlxPJIPFUidNq+LtQ/QHqx+T76995jn+Dzs/aA=;
        b=pZ+kPohHILqzWVeg7OwN9t6rALafMUalKrE6vVjoKt1B3UV624VaXKu+XFpaXj22Z6
         VmLu+ZQz6tT5XhyVcG5TqMLpf7i7kwmo6bXxJs/dgc0M5AZOKk5IEha1hnzPTB6BGQZU
         LeKKB9/jqGr9wRtCxXoKBBAAmlV+kqZKIzKUBldOiGv28/lyCuLUKhE1t+lpAeKqqgHg
         bpZW4HhV+gujgFuktLF3EMAKX3czr50uL+2bbpz1Eer1gFKCOemI6eqU9hELp3f5wCRj
         t39ur1Y/26ukMDhXLGBG4jYJoUAEpM2fbUoeRrB2VlVuAT5k2ZYwJz04UPZJ2KXy6SYZ
         lOzQ==
X-Gm-Message-State: AOJu0YzMxJ4txzRscyWZqjTLJqfNAdoiiADpwCX2b/F6LvVM1VVbSiAQ
	z2KQkv3PBf8qAXlFYQRrMbbXbQ==
X-Google-Smtp-Source: AGHT+IGydH4VQLQuLnV76j7p9a3dvoWLrTgHhXB2paFEy6xTfuWZSU6QogXCVka7PNQN7jAvxt+BVA==
X-Received: by 2002:a05:600c:1d95:b0:407:3b6d:b561 with SMTP id p21-20020a05600c1d9500b004073b6db561mr12930661wms.9.1701193460801;
        Tue, 28 Nov 2023 09:44:20 -0800 (PST)
Message-ID: <a9274a55-7323-4618-afa7-aa942515da6a@citrix.com>
Date: Tue, 28 Nov 2023 17:44:20 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/livepatch: fix livepatch tests
Content-Language: en-GB
To: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org
Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>
References: <20231128174131.38642-1-roger.pau@citrix.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231128174131.38642-1-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 28/11/2023 5:41 pm, Roger Pau Monne wrote:
> The current set of in-tree livepatch tests in xen/test/livepatch started
> failing after the constify of the payload funcs array, and the movement of the
> status data into a separate array.
>
> Fix the tests so they respect the constness of the funcs array and also make
> use of the new location of the per-func state data.
>
> Fixes: 82182ad7b46e ('livepatch: do not use .livepatch.funcs section to store internal state')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:47:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:47:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643411.1003599 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r82BP-0000F3-Gz; Tue, 28 Nov 2023 17:47:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643411.1003599; Tue, 28 Nov 2023 17:47: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 1r82BP-0000Ew-EL; Tue, 28 Nov 2023 17:47:39 +0000
Received: by outflank-mailman (input) for mailman id 643411;
 Tue, 28 Nov 2023 17:47: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=InPH=HJ=zen2.lab.linutronix.de=alex@srs-se1.protection.inumbo.net>)
 id 1r82BN-0000Eq-Vi
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:47:38 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 376fcf8c-8e16-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 18:47:36 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 376fcf8c-8e16-11ee-98e3-6d05b1d4d9a1
From: Alexander Kanavin <alex@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1701193655;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding;
	bh=6Dj6Dm0GUWm0oD+U33Q4aBpJzv9FVypp509lLyxq/40=;
	b=2fXB/nz7aYwbqNRddJ08Ts0Qevd0r93/MDQfUXaAL1pmbow0jv2oLvjeaAXnXTEhWjPHj2
	58ZmdDR2Gj/ugcE+ChCaDwmxpa9dqUK6x2BFZVfl4jfyuRjMwrqvE4HUbXNvw8o/6kNubo
	f5Q4iqMJkZJUAwxDml9+UFyl+GhUhZNLRT3SgfcMhDEZweaJkGeiD1wDcqqQsAbzBkJOJq
	2qcoJarGpw29sAO8ZQ8XaQpyDAlIKc26F5a2dW7OWMtebZch1fx42n3d4Q1IBca3yP4OXS
	Umpn4EpnxJ/t06st5/csURDoDG9feEyvcVHvcGqOlf4sUnKdN2q2FmYtK7sJjw==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1701193656;
	h=from:from:reply-to:subject:subject:date:date:message-id:message-id:
	 to:to:cc:cc:mime-version:mime-version:
	 content-transfer-encoding:content-transfer-encoding;
	bh=6Dj6Dm0GUWm0oD+U33Q4aBpJzv9FVypp509lLyxq/40=;
	b=ADeq3y6n6pKlMHe1V1yK+6nRMXVIotW04wwV+hbKFuvP1f9IEHqNMt4Zvg+FZqmUSg7RO0
	Wl+c3UZtzfy6EBBQ==
To: xen-devel@lists.xenproject.org
Cc: Alexander Kanavin <alex@linutronix.de>,
	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] Config.mk: drop -Wdeclaration-after-statement
Date: Tue, 28 Nov 2023 18:47:29 +0100
Message-Id: <20231128174729.3880113-1-alex@linutronix.de>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Such constructs are fully allowed by C99:
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Mixed-Labels-and-Declarations.html#Mixed-Labels-and-Declarations

If the flag is present, then building against python 3.12 will fail thusly:

| In file included from /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/Python.h:44,
|                  from xen/lowlevel/xc/xc.c:8:
| /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/object.h: In function 'Py_SIZE':
| /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/object.h:233:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
|   233 |     PyVarObject *var_ob = _PyVarObject_CAST(ob);
|       |     ^~~~~~~~~~~
| In file included from /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/Python.h:53:
| /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/cpython/longintrepr.h: In function '_PyLong_CompactValue':
| /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/cpython/longintrepr.h:121:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
|   121 |     Py_ssize_t sign = 1 - (op->long_value.lv_tag & _PyLong_SIGN_MASK);
|       |     ^~~~~~~~~~
| cc1: all warnings being treated as errors

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 Config.mk | 2 --
 1 file changed, 2 deletions(-)

diff --git a/Config.mk b/Config.mk
index 2c43702958..7e67b91de2 100644
--- a/Config.mk
+++ b/Config.mk
@@ -177,8 +177,6 @@ CFLAGS += -std=gnu99
 
 CFLAGS += -Wall -Wstrict-prototypes
 
-$(call cc-option-add,HOSTCFLAGS,HOSTCC,-Wdeclaration-after-statement)
-$(call cc-option-add,CFLAGS,CC,-Wdeclaration-after-statement)
 $(call cc-option-add,CFLAGS,CC,-Wno-unused-but-set-variable)
 $(call cc-option-add,CFLAGS,CC,-Wno-unused-local-typedefs)
 
-- 
2.39.2



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 17:52:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 17:52:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643415.1003608 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r82GN-0003AK-7o; Tue, 28 Nov 2023 17:52:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643415.1003608; Tue, 28 Nov 2023 17:52: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 1r82GN-0003AD-58; Tue, 28 Nov 2023 17:52:47 +0000
Received: by outflank-mailman (input) for mailman id 643415;
 Tue, 28 Nov 2023 17:52: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 1r82GM-0003A7-FV
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 17:52: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 1r82GL-0006Bc-Jk; Tue, 28 Nov 2023 17:52:45 +0000
Received: from static-css-csq-252138.business.bouyguestelecom.com
 ([176.175.252.138] helo=[172.20.7.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 1r82GL-0005Mo-Dr; Tue, 28 Nov 2023 17:52: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=CZkEt1GTEJoH8wf4Wp2Nhn5cuRRVpXzpZqZYnrdbdPg=; b=FrXpwGriQdgqgFWzu68jioL0DW
	x9wBQuslprwhM5AZ4S9+Utej63pKei+ok88tlulDZ9HPC8Jy6nSLHmyZ33TttWdjCTCIoPj5GwXHw
	aDl5d3BQOjJw3TRAwmGwKOP/ZA7iYdxr39PPqm84YVsZAYaFKaNGIjWsLdNHByc1z1AY=;
Message-ID: <9d1e385e-152e-404a-8d8b-47c5ac08d76a@xen.org>
Date: Tue, 28 Nov 2023 18:52:43 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
To: Michal Orzel <michal.orzel@amd.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: <20231127144156.361656-1-michal.orzel@amd.com>
 <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org>
 <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com>
 <b0127019-4976-42e3-bde1-643cc56f18b0@xen.org>
 <16b73400-b592-4a1a-9b87-8c49aad9208d@amd.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <16b73400-b592-4a1a-9b87-8c49aad9208d@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 28/11/2023 18:15, Michal Orzel wrote:
> 
> 
> On 28/11/2023 18:09, Julien Grall wrote:
>>
>>
>> On 28/11/2023 18:00, Michal Orzel wrote:
>>> Hi Julien,
>>>
>>> On 28/11/2023 17:14, Julien Grall wrote:
>>>>
>>>>
>>>> Hi Michal,
>>>>
>>>> On 27/11/2023 15:41, Michal Orzel wrote:
>>>>> Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where prompt
>>>>> attention to undefined behavior issues, notably during CI test runs, is
>>>>> essential. When enabled, this option causes Xen to panic upon detecting
>>>>> UBSAN failure (as the last step in ubsan_epilogue()).
>>>>
>>>> I have mixed opinions on this patch. This would be a good one if we had
>>>> a Xen mostly free from UBSAN behavior. But this is not the case at least
>>>> on arm32. So we would end up to stop at the first error. IOW, we would
>>>> need to fix the first error before we can see the next one.
>>> Well, this patch introduces a config option disabled by default.
>>
>> I understood this is disabled by default... I am pointing out that I am
>> not convinced about the usefulness until we are at the stage where Xen
>> is normally not reporting any USBAN error.
>>
>>> If we end up enabling it for CI for reasons* stated by Andrew, then the natural way
>>> of handling such issues is to do the investigation locally.
>>
>> This will not always be possible. One example is when you are only able
>> to reproduce some of the USBAN errors on a specific HW.
>>
>>> Then, you are not forced
>>> to select this option and you can see all the UBSAN issues if you want.
>>
>> See above, I got that point. I am mostly concerned about the implication
>> in the CI right now.
>>
>>>
>>>>
>>>> So I feel it would be best if the gitlab CI jobs actually check for
>>>> USBAN in the logs and fail if there are any. With that, we can get the
>>>> full list of UBSAN issues on each job.
>>> Well, I prefer Andrew suggestion (both [1] and on IRC), hence this patch.
>>>
>>> *my plan was to first fix the UBSAN issues and then enable this option for CI.
>>
>> That would have been useful to describe your goal after "---". With that
>> in mind, then I suggest to revisit this patch once all the UBSAN issues
>> in a normal build are fixed.
> But this patch does not enable this option for CI automatically, right?

Correct.

> Why are you so keen to push it back?

I have been pushing back because your commit message refers to the CI 
specifically and today this would not really work (read as I would not 
be happy if this option is enabled in the CI right now at least on arm32).

If you want to fail a CI job for UBSAN today, then we need to find a 
different approach so we can get the full list of UBSAN error rather 
than fixing one, retry and then next one.

> Is it because you see no point in this option other than for the upstream CI loop?

Even in the upstream CI loop, I am a little unsure about this approach. 
At least, I feel I would want to see all the reports at once in the CI.

But this is not really a strong feeling.

> I find it useful on a day-to-day
> Xen runs, and I would for sure enable it by default in my config not to miss UBSAN failures.

Fair enough. I view USBAN issues the same a WARN_ON. They all need to be 
investigated. So now you have an inconsistent policy.

Are you are also intending to switch WARN_ON() to fatal? If not, then 
why would UBSAN warnings more important that the other warnings?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 18:26:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 18:26:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643423.1003618 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r82mG-0005Ma-No; Tue, 28 Nov 2023 18:25:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643423.1003618; Tue, 28 Nov 2023 18: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 1r82mG-0005MT-Kq; Tue, 28 Nov 2023 18:25:44 +0000
Received: by outflank-mailman (input) for mailman id 643423;
 Tue, 28 Nov 2023 18:25: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 1r82mF-0005M4-J3
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 18:25: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 1r82mF-0006oH-0h; Tue, 28 Nov 2023 18:25:43 +0000
Received: from static-css-csq-252138.business.bouyguestelecom.com
 ([176.175.252.138] helo=[172.20.7.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 1r82mE-00074m-Rg; Tue, 28 Nov 2023 18:25: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=xrv/ZrJ7SRugKYcAoEqXVw0goAHEJnGSYW2gpurKCr8=; b=dDfkvzdz3dpPn1gFJwhq18E5a5
	6JYu+kwHL8vF2v2DST2MP3b2CSXjqkFRVkS58lQZpz2JUjEsj9q98unqxBdH15hlSRCptk4c3lP73
	lSPLbmIt8vARZpcnFvXZqVGmWarBDUkN0eDIuIVutEo8ojEJ5Bo2pPiyrab8VqFEhH3s=;
Message-ID: <2aba3981-b479-4939-a51b-8c142ebd6ed7@xen.org>
Date: Tue, 28 Nov 2023 19:25:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 3/5] arm/dom0less: put dom0less feature code in a
 separate module
To: Michal Orzel <michal.orzel@amd.com>, Luca Fancellu
 <luca.fancellu@arm.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <Bertrand.Marquis@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
 <20231124094841.1475381-4-luca.fancellu@arm.com>
 <b3581594-1559-4dcb-812b-8ab18f2e5633@amd.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <b3581594-1559-4dcb-812b-8ab18f2e5633@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/11/2023 12:01, Michal Orzel wrote:
> On 24/11/2023 10:48, Luca Fancellu wrote:
>>
>>
>> Currently the dom0less feature code is mostly inside domain_build.c
>> and setup.c, it is a feature that may not be useful to everyone so
>> put the code in a different compilation module in order to make it
>> easier to disable the feature in the future.
>>
>> Move gic_interrupt_t in domain_build.h to use it with the function
>> declaration, move its comment above the declaration.
>>
>> The following functions are now visible externally from domain_build
>> because they are used also from the dom0less-build module:
>>   - get_allocation_size
>>   - set_interrupt
>>   - domain_fdt_begin_node
>>   - make_memory_node
>>   - make_resv_memory_node
>>   - make_hypervisor_node
>>   - make_psci_node
>>   - make_cpus_node
>>   - make_timer_node
>>   - handle_device_interrupts
>>   - construct_domain
>>   - process_shm
>>   - allocate_bank_memory
>>
>> The functions allocate_static_memory and assign_static_memory_11
>> are now externally visible, so put their declarations into
>> domain_build.h and move the #else and stub definition in the header
>> as well.
>>
>> Move is_dom0less_mode from setup.c to dom0less-build.c and make it
>> externally visible.
>>
>> The function allocate_bank_memory is used only by dom0less code
>> at the moment, but it's been decided to leave it in domain_build.c
>> in case that in the future the dom0 code can use it.
>>
>> Where spotted, fix code style issues.
>>
>> No functional change is intended.
>>
>> Signed-off-by: Luca Fancellu <luca.fancellu@arm.com>
>> Reviewed-by: Michal Orzel <michal.orzel@amd.com>
>> ---
>> Changes from v5:
>>   - remove unneeded include (Michal)
> Including asm/kernel.h was indeed not required. However, I'm thinking that if we want the header
> to be self-contained and given that ...
> 
> [...]
> 
>> diff --git a/xen/arch/arm/include/asm/dom0less-build.h b/xen/arch/arm/include/asm/dom0less-build.h
>> new file mode 100644
>> index 000000000000..c5625925d940
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/dom0less-build.h
>> @@ -0,0 +1,18 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +
>> +#ifndef __ASM_DOM0LESS_BUILD_H_
>> +#define __ASM_DOM0LESS_BUILD_H_
>> +
>> +void create_domUs(void);
>> +bool is_dom0less_mode(void);
> here we use bool, I think we should include <xen/stdbool.h>

I have done the change on commit. However, this introduced a clash in 
the next patch.

I have done it this time because it is minor.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 18:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 18:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643428.1003635 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r82zH-0001jW-Uj; Tue, 28 Nov 2023 18:39:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643428.1003635; Tue, 28 Nov 2023 18:39: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 1r82zH-0001jP-RK; Tue, 28 Nov 2023 18:39:11 +0000
Received: by outflank-mailman (input) for mailman id 643428;
 Tue, 28 Nov 2023 18:39: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=qQ+R=HJ=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1r82zG-0001hl-69
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 18:39:10 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.88])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 690e2d5f-8e1d-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 19:39:08 +0100 (CET)
Received: from fmsmga002.fm.intel.com ([10.253.24.26])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 28 Nov 2023 10:39:05 -0800
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by fmsmga002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384;
 28 Nov 2023 10:39:04 -0800
Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by
 ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34; Tue, 28 Nov 2023 10:39:04 -0800
Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by
 orsmsx610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34 via Frontend Transport; Tue, 28 Nov 2023 10:39:04 -0800
Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.41) by
 edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.34; Tue, 28 Nov 2023 10:39:04 -0800
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by SJ0PR11MB5791.namprd11.prod.outlook.com (2603:10b6:a03:423::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Tue, 28 Nov
 2023 18:39:01 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::3d98:6afd:a4b2:49e3]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::3d98:6afd:a4b2:49e3%7]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023
 18:39: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: 690e2d5f-8e1d-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701196748; x=1732732748;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=rX2CeJgIYJbGV+oh0r4hEsDAougQ3cxnrsEAgRifYew=;
  b=JIwhbCpFYEoSe2qxa2gy9lg2reMIjjXlnttWpcEGd5s7HcT9F10ubTtr
   hMor5dOFLoMmrMNwRMWaX/RUbTi0fZJEGf70oCXGWotbs0fXHf0nVwm4V
   6z+syUKepaakq+XOOZVu9PVXtgxZCKY0NCYtaQDGLVylVA97MZE/KM5fe
   nJihXRDItVaILRubW8VK5MhcBILQIG8OfBUZNyqG4TfOMmH+p7txT1gdL
   C4YWP7x+vcfmiRwARd4QjqtEbkWqEmr/kXHclPovDYuGQiSO4BG6pjLDv
   HXhnVUW0z04S9KNsxTKsl4f+O0Tu3hxZvHAeT+f6ibHkF8vDvum04VtoQ
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10908"; a="424137358"
X-IronPort-AV: E=Sophos;i="6.04,234,1695711600"; 
   d="scan'208";a="424137358"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10908"; a="886498092"
X-IronPort-AV: E=Sophos;i="6.04,234,1695711600"; 
   d="scan'208";a="886498092"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=A1EqYyZui79ew1E9p6XpzjS9PwzOOvoyDRglp21l/9SWIe+wiijb5m6n8SWWpay5Sflupxj1lrDH/SLbEcojBuuwJTk5bJ9Ua9Wh9Cp7adF9ryZ5lQX1igus6Fg7hw8gyt9bT7KFsBORYM6Sd9Db+Or7uxU6LW7HDH76+2VwyrYhD22NE77H/+gCtXLe1vuLzMY3gj5URuVcsM2yACcIV9qin7E4Rx/MJj4qfTY9X+E3mlDUqSOXNfrXzW1A2DObs9zIDdcq7/XHnSDqNLAObHh8e7LpqKw0T47bZDO2dMQR4ewmo3Lit/xM/gewslmppW3FAni1+CZkxsK07M91iA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=rX2CeJgIYJbGV+oh0r4hEsDAougQ3cxnrsEAgRifYew=;
 b=lVZUZCrtMlwfvLDHko4O6WKZ30m2o4/rDInVJ4mOEZ6FUQjJVKRqeW7wZIOW0NvxyFPEdjyCz147PwYK6OjEHnO1mI2uFQrh2JQXEZAUo2gsz/NGuFlPogUzVSBe0YAumNyxK8eiXAyUwLDFyuVXkQeWQ6rW7LsKEKziZneslsp4WmSOX78KLZyKo7m4AnB7Lu/Fkine27Mo95LNhNa1wTACmXjxPvDYAeAqvTr5A+cA9C58QMKy6FEJvoF9COuhEdO4jaZ8bzEx5Qjy0j/LFGn66IhfcVcAb3sfAxC4Nq5XNpuBGJwlAjhOsZxVnx90cIGb8CbvBlb6h0Bxs9e+QA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: Borislav Petkov <bp@alien8.de>
CC: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>, "dave.hansen@linux.intel.com"
	<dave.hansen@linux.intel.com>, "x86@kernel.org" <x86@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>, "Lutomirski, Andy" <luto@kernel.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>, "seanjc@google.com"
	<seanjc@google.com>, "peterz@infradead.org" <peterz@infradead.org>, "Gross,
 Jurgen" <jgross@suse.com>, "Shankar, Ravi V" <ravi.v.shankar@intel.com>,
	"mhiramat@kernel.org" <mhiramat@kernel.org>, "andrew.cooper3@citrix.com"
	<andrew.cooper3@citrix.com>, "jiangshanlai@gmail.com"
	<jiangshanlai@gmail.com>, "nik.borisov@suse.com" <nik.borisov@suse.com>
Subject: RE: [PATCH v12 24/37] x86/idtentry: Incorporate
 definitions/declarations of the FRED entries
Thread-Topic: [PATCH v12 24/37] x86/idtentry: Incorporate
 definitions/declarations of the FRED entries
Thread-Index: AQHZ9cbM5vceRic94kyD24auDkj9FbCP2k4AgACNKrA=
Date: Tue, 28 Nov 2023 18:39:01 +0000
Message-ID: <SA1PR11MB6734A1E439870989C7006166A8BCA@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-25-xin3.li@intel.com>
 <20231128100910.GSZWW8RnyhX0YQjwDm@fat_crate.local>
In-Reply-To: <20231128100910.GSZWW8RnyhX0YQjwDm@fat_crate.local>
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=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|SJ0PR11MB5791:EE_
x-ms-office365-filtering-correlation-id: f3d2bc8c-72e7-4900-1143-08dbf0414a9e
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: m9TihtS3lt6MjaQbQteWlp1zUBYnu9OYNGGBgRiCVH4GOEZVMc7yrepwtn5N16QoPF0Ljz7JTHkH37yZ4dCQefBbc1g6/9GxONrQi1QhznIj2kWJCRlVMiWNxY4L8oymRyWqnOZYmG67f5pVo8Ndtc0fMMeQH+G5ZW5NoI2QoOd2wMO3km42ocrstWZzQcPihGo73hWfGbfjWdWgiInYd0dwyQolnQXvV+wFiQnEeLL/dKbmuVfozzDaRrDMUf5o8iVaOyauKfStHHMse7Y+jhLGFuavFIByN1BJgfxq91vVDzhlmvhqldXpqTTOsqvVScWjErFCfi741zc5LUGkmVYdk9t1sDbYwH4ggicZLiPv102JJpno/p9YbTXe05avRbqQ9dF3yFgoR0boqnuGXDLFI6Z4d0cwbImalofwq3FHjkMkP3HmIn4K9eQU3xHe8OLv1RVIFKlVkHgVcYNmipAUYPondmWHHtAsu3K9tdRmpVMcZTkeIn+L3fOtn6kF9vPNTdFS61lmXsrt5HfshNu8Q4rBU752XiTXP7RFDFf//G4RVsNjv8lGsBIooGYs3JxFylXxIpKLIHk5AhSBM0symSAlE3q3GSqRit08790ypCzQl4aDqQ8qEnPGSWMi
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(366004)(396003)(136003)(39860400002)(376002)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(76116006)(66476007)(66556008)(66446008)(66946007)(64756008)(54906003)(6916009)(8676002)(316002)(8936002)(4326008)(52536014)(83380400001)(2906002)(38100700002)(4744005)(55016003)(9686003)(38070700009)(478600001)(86362001)(7696005)(6506007)(122000001)(33656002)(41300700001)(82960400001)(71200400001)(5660300002)(26005)(7416002);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?TEllUW5xNjVZZWpJMFFRTG1Bc0xsMysrZityeTBHWmFHQkpMTXhOL0lGOWcz?=
 =?utf-8?B?VFYwZ0FVR0JBZWdFNmYrS1piN3dRcGRzY0kyVGJFL1N5eXlHc2VpNUdaY1Zq?=
 =?utf-8?B?UjBmTmkxckhWYklyUEZvaG9MdVhiREpMVHhmcUxieWczOVpoTSs1ZkxZbENO?=
 =?utf-8?B?SUJZbG9Sb2xFSi90OVg1VkJlcXpiYnlrRWtHZHNubHRzUGlSVzJ3azNKVkI3?=
 =?utf-8?B?Ky8vajdJZitGekFnTVpQM1pJSTE5YmtSeVVtbENNbENnUXpaTlMwdXBDb2lE?=
 =?utf-8?B?U2hxT0RRcktvWExoL0k2bDBJOWFOYVRmSHYvdUx5SDRqSDR3bHVVbnpZd2FR?=
 =?utf-8?B?alR2dGtpRHQ1ZEVvMjdNaHByVE9qUWNvem5FNlFrMU5IMm9UNm10S3FqSlRj?=
 =?utf-8?B?SDRCcHRJNW1FdGpiWDBZQlY0eXlHYWZ2QzVHQXZNVTk1OFhHSkxCVjVwQ24x?=
 =?utf-8?B?N0YvOFZvZTM5NnZGakRqTHFGM1l1MllVdDNLTk40ME1OUVZEdXdPT3g5T3p4?=
 =?utf-8?B?YWJGZXUveEZQeENEczdXc0RLMFdWTjNWZndPNWtjL0Q3QmhPQ1FqOWVBWmVi?=
 =?utf-8?B?TlU2L3FFajF0MXBMM2I1Mjh5QjdXc2diYkpnMEpXQ2JadFU5dXZKR0Q2eDBz?=
 =?utf-8?B?Yk9kdWNkUCthVm9BNEVqTThvb1U1cE95K0lmcndPWVZaT21LcStsTmlGZW9Q?=
 =?utf-8?B?WSs5TnB4c3E4R0VoMHhtbFIwWm8ySW1uK2djWEw0UmZJbjlNalN3R0NIMlVG?=
 =?utf-8?B?KzlCUGNaVTJmYlVkU3VhaE5aTTVYOWQ1c1MxTFhGMmFjSlAyT3VsS2RPRnBD?=
 =?utf-8?B?eG54V0U4c0xENEFBQWd4UW9QN3pDY1NXTng0R2QrcEpUOWxQUkR4WWxRajlU?=
 =?utf-8?B?SzMzRHovd0R1WDgxNnFiUDNBdmhSQjJoQUpaelhQMXZxbUthUFlPWGcxcGl5?=
 =?utf-8?B?aDVYM0NRbnlkSCtMYkM2bEk4V1dIRERmNXRuUDd0RElUdEFNbGU0cmZQRlRp?=
 =?utf-8?B?KzR3R05qMU5RU0RJdTVUeWhiUFZnSkhzQzV4dU9yT0N3Z1NkZUFTNHlsNUh5?=
 =?utf-8?B?WU5NQnAyZG9LOXBIVkRiMVFyM1doVWFyNHduQTVCTU9GWTJSWUh0N29sNVNo?=
 =?utf-8?B?U0s1NmhiTytFVjlmYTd1eEhPcnU3bWxZdU1pYTlUVURGSndEdnpKS211a3Av?=
 =?utf-8?B?cGtudk1PaksyWmRnL1Y4ZkJBd3JpbUZyNEFsV003dDFWV0JaT3RkLzhBMGpu?=
 =?utf-8?B?NWU2Z2ovT21RRG9Fcm9xR3lidURwcllFa3JSUkFsa2lvVFpqMkdhZ1NkRVdn?=
 =?utf-8?B?K0Z1ME42d252YjI0bWRWWmJ2UlltWWdGYkx4WCthc1gvZktRTkw0ay9tMUFn?=
 =?utf-8?B?aTR2TjlqUW92dm0vZ3FZRVhVWTFtcFB6eUpyanFxdncvYURPdFVGenp2M215?=
 =?utf-8?B?QzdTYmdUNGhnWDNhNm5IQkREeFgxZnhRbHN5NlhhRmQ1Q1h1SEF6dTBJdmdG?=
 =?utf-8?B?RlViQkgrRGlZVThwKzZyUWM1STlUS1phZGswWUR4UWd5aHZ6bXhaWXVMWUl2?=
 =?utf-8?B?Ri9QTFNwakxrZTZhdU5md0lKZjRINEhBYy9KVGdOVkRieDQ2dFIzb2R1RDY4?=
 =?utf-8?B?NkZraTlqR3JPN3ZwSTRqUCtZb0hGL3JJOVBVVmI4VC8zeVFLV3dEcFpIdDI5?=
 =?utf-8?B?TFFFbEhJRkdENEtrdEZreTJpVU9YeEJuNjU4OXJTRUNLazRudnVZRDdaZFZG?=
 =?utf-8?B?L0RDcHl5NFlnUU1abE1GZUZybHFZRjBDOTJJUWNnWVhzVDNMOVZSdWJxMUwv?=
 =?utf-8?B?QWl5dDIva3VGRzF3cVVzSVd4OFluL2FoMW1RRjJMMm9Pc0pla1hYdm5VcGFu?=
 =?utf-8?B?L1dHemRmekhuVXhxaEx1QkE0Ynlkb3hIdkV6Mk9OVWJJZGFMMWNqeHo2NDRi?=
 =?utf-8?B?VmdlakswZ2Y5SDBjbzJDeDM1R0lNbXNYcXpzby9pbmlhY1VYck5rQ2lnMjVR?=
 =?utf-8?B?NHg0OHJ4bU82azhndlVYTDY3SXVLNkRvbFN3WHg5bWtOUVIxRVpiSCs1b2py?=
 =?utf-8?B?VDAweWhyWTA4cGlQb1V5QXVWM2cyUGpYNW80eEgvU3liUU50K3MzZ25EOE5v?=
 =?utf-8?Q?PRLw=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f3d2bc8c-72e7-4900-1143-08dbf0414a9e
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Nov 2023 18:39:01.8150
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Hfy1QLfx5oxUlzrMa2UGMzP979LypAiOvewkLcNiAhvI+S5wdmt92ZQW/gBnn7dkA6QNeAuK+2+jjoaBmyCHrQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR11MB5791
X-OriginatorOrg: intel.com

PiA+IEZSRUQgYW5kIElEVCBjYW4gc2hhcmUgbW9zdCBvZiB0aGUgZGVmaW5pdGlvbnMgYW5kIGRl
Y2xhcmF0aW9ucyBzbw0KPiA+IHRoYXQgaW4gdGhlIG1ham9yaXR5IG9mIGNhc2VzIHRoZSBhY3R1
YWwgaGFuZGxlciBpbXBsZW1lbnRhdGlvbiBpcyB0aGUNCj4gPiBzYW1lLg0KPiA+DQo+ID4gVGhl
IGRpZmZlcmVuY2VzIGFyZSB0aGUgZXhjZXB0aW9ucyB3aGVyZSBGUkVEIHN0b3JlcyBleGNlcHRp
b24gcmVsYXRlZA0KPiA+IGluZm9ybWF0aW9uIG9uIHRoZSBzdGFjayBhbmQgdGhlIHN5c3ZlYyBp
bXBsZW1lbnRhdGlvbnMgYXMgRlJFRCBjYW4NCj4gPiBoYW5kbGUgaXJxZW50cnkvZXhpdCgpIGlu
IHRoZSBkaXNwYXRjaGVyIGluc3RlYWQgb2YgaGF2aW5nIGl0IGluIGVhY2gNCj4gPiBoYW5kbGVy
Lg0KPiA+DQo+ID4gQWxzbyBhZGQgc3R1YiBkZWZpbmVzIGZvciB2ZWN0b3JzIHdoaWNoIGFyZSBu
b3QgdXNlZCBkdWUgdG8gS2NvbmZpZw0KPiA+IGRlY2lzaW9ucyB0byBzcGFyZSB0aGUgaWZkZWZm
ZXJ5IGluIHRoZSBhY3R1YWwgRlJFRCBkaXNwYXRjaCBjb2RlLg0KPiA+DQo+ID4gVGVzdGVkLWJ5
OiBTaGFuIEthbmcgPHNoYW4ua2FuZ0BpbnRlbC5jb20+DQo+ID4gU2lnbmVkLW9mZi1ieTogVGhv
bWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9uaXguZGU+DQo+ID4gU2lnbmVkLW9mZi1ieTogWGlu
IExpIDx4aW4zLmxpQGludGVsLmNvbT4NCj4gDQo+IFRoaXMgbWFrZXMgbWUgd29uZGVyIHRvbyB3
aG8gdGhlIGF1dGhvciBpcy4gVGhlIGNvbW1pdCBtZXNzYWdlIHRleHQgc291bmRzDQo+IGxpa2Ug
dGdseC4gOikNCg0KWW91IGhhdmUgYSB2ZXJ5IGdvb2Qgc2Vuc2Ug8J+Yig0KDQpUaGlzIGlzIG1v
c3RseSBmcm9tIGhpcyByZXZpZXcgY29tbWVudHMgYW5kIHN1Z2dlc3Rpb25zIG9uIG15IG9yaWdp
bmFsDQpjaGFuZ2VzIHRvIElEVEVOVFJZLiAgU28gcHJvYmFibHkgSSBzaG91bGQgcHV0IGEgIlN1
Z2dlc3RlZC1ieSIgaW5zdGVhZA0Kb2YgIlNpZ25lZC1vZmYtYnkiIGFzIEhQQSBwb2ludGVkIG91
dCENCg0KVGhhbmtzIQ0KICAgIFhpbg0K


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 18:59:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 18:59:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643432.1003645 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r83Iz-0008Gf-If; Tue, 28 Nov 2023 18:59:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643432.1003645; Tue, 28 Nov 2023 18: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 1r83Iz-0008GY-FX; Tue, 28 Nov 2023 18:59:33 +0000
Received: by outflank-mailman (input) for mailman id 643432;
 Tue, 28 Nov 2023 18: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=23wz=HJ=zytor.com=hpa@srs-se1.protection.inumbo.net>)
 id 1r83Ix-0008Eo-Bw
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 18:59:31 +0000
Received: from mail.zytor.com (unknown [2607:7c80:54:3::138])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4163fdc3-8e20-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 19:59:29 +0100 (CET)
Received: from [127.0.0.1] ([98.35.210.218]) (authenticated bits=0)
 by mail.zytor.com (8.17.2/8.17.1) with ESMTPSA id 3ASIwqLV616002
 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NO);
 Tue, 28 Nov 2023 10:58:52 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4163fdc3-8e20-11ee-98e3-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.11.0 mail.zytor.com 3ASIwqLV616002
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zytor.com;
	s=2023111101; t=1701197933;
	bh=74Rbbp6WmPGdUYvYwxbnx3GlgDUb6hVq+tbhktrir44=;
	h=Date:From:To:CC:Subject:In-Reply-To:References:From;
	b=11Iza6/qBiVUooTKd04zGe3+wGNKZVtkyP1VW7naU9P22AgKrZowrwJtcMKq3USBK
	 0lE8KKp0aSf0L7vG6wMYqj3GBFBG4Z+IyjuorpigOVR+bZGRipokdFZpAHxsKxJVsJ
	 eXJ+JD+99XTQDzX1is23XA0HmvT2kbL85O4HuT09syHKKptCBqObIMJ1kEJAvGPIrT
	 Te5AF0KD+nO8MMWUcEFZ5cOMcsuvCtml6Q1SjlKD/yPKStgz2z/rfZFPbT9QhXqSv3
	 0Q4y+BTl1dMGW1ncv4Yl5PW3gnAB2+y+WTENs06cntMqYcI+tLMnha0J9K8iGZB7yh
	 4oXasKaWj6nVA==
Date: Tue, 28 Nov 2023 10:58:50 -0800
From: "H. Peter Anvin" <hpa@zytor.com>
To: "Li, Xin3" <xin3.li@intel.com>, Borislav Petkov <bp@alien8.de>
CC: "linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
        "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
        "linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
        "linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
        "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        "tglx@linutronix.de" <tglx@linutronix.de>,
        "mingo@redhat.com" <mingo@redhat.com>,
        "dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
        "x86@kernel.org" <x86@kernel.org>,
        "Lutomirski, Andy" <luto@kernel.org>,
        "pbonzini@redhat.com" <pbonzini@redhat.com>,
        "seanjc@google.com" <seanjc@google.com>,
        "peterz@infradead.org" <peterz@infradead.org>,
        "Gross, Jurgen" <jgross@suse.com>,
        "Shankar, Ravi V" <ravi.v.shankar@intel.com>,
        "mhiramat@kernel.org" <mhiramat@kernel.org>,
        "andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
        "jiangshanlai@gmail.com" <jiangshanlai@gmail.com>,
        "nik.borisov@suse.com" <nik.borisov@suse.com>
Subject: =?US-ASCII?Q?RE=3A_=5BPATCH_v12_24/37=5D_x86/idtentry=3A_Incorporat?= =?US-ASCII?Q?e_definitions/declarations_of_the_FRED_entries?=
User-Agent: K-9 Mail for Android
In-Reply-To: <SA1PR11MB6734A1E439870989C7006166A8BCA@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20231003062458.23552-1-xin3.li@intel.com> <20231003062458.23552-25-xin3.li@intel.com> <20231128100910.GSZWW8RnyhX0YQjwDm@fat_crate.local> <SA1PR11MB6734A1E439870989C7006166A8BCA@SA1PR11MB6734.namprd11.prod.outlook.com>
Message-ID: <EE769C0F-FA81-49AD-A90B-F0E5D2A1DA7B@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain;
 charset=utf-8
Content-Transfer-Encoding: quoted-printable

On November 28, 2023 10:39:01 AM PST, "Li, Xin3" <xin3=2Eli@intel=2Ecom> wr=
ote:
>> > FRED and IDT can share most of the definitions and declarations so
>> > that in the majority of cases the actual handler implementation is th=
e
>> > same=2E
>> >
>> > The differences are the exceptions where FRED stores exception relate=
d
>> > information on the stack and the sysvec implementations as FRED can
>> > handle irqentry/exit() in the dispatcher instead of having it in each
>> > handler=2E
>> >
>> > Also add stub defines for vectors which are not used due to Kconfig
>> > decisions to spare the ifdeffery in the actual FRED dispatch code=2E
>> >
>> > Tested-by: Shan Kang <shan=2Ekang@intel=2Ecom>
>> > Signed-off-by: Thomas Gleixner <tglx@linutronix=2Ede>
>> > Signed-off-by: Xin Li <xin3=2Eli@intel=2Ecom>
>>=20
>> This makes me wonder too who the author is=2E The commit message text s=
ounds
>> like tglx=2E :)
>
>You have a very good sense =F0=9F=98=8A
>
>This is mostly from his review comments and suggestions on my original
>changes to IDTENTRY=2E  So probably I should put a "Suggested-by" instead
>of "Signed-off-by" as HPA pointed out!
>
>Thanks!
>    Xin
>

Remember that Signed-off-by: relates to the *patch flow*=2E


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 19:19:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 19:19:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643436.1003654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r83c6-0006p7-5S; Tue, 28 Nov 2023 19:19:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643436.1003654; Tue, 28 Nov 2023 19:19: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 1r83c6-0006p0-2v; Tue, 28 Nov 2023 19:19:18 +0000
Received: by outflank-mailman (input) for mailman id 643436;
 Tue, 28 Nov 2023 19:19: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=Oxj7=HJ=alien8.de=bp@srs-se1.protection.inumbo.net>)
 id 1r83c4-0006os-On
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 19:19:16 +0000
Received: from mail.alien8.de (mail.alien8.de [65.109.113.108])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 05265f7a-8e23-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 20:19:15 +0100 (CET)
Received: from localhost (localhost.localdomain [127.0.0.1])
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTP id 8352C40E0195; 
 Tue, 28 Nov 2023 19:19:14 +0000 (UTC)
Received: from mail.alien8.de ([127.0.0.1])
 by localhost (mail.alien8.de [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id kZwaEBiXw0lG; Tue, 28 Nov 2023 19:19:13 +0000 (UTC)
Received: from zn.tnic (pd95304da.dip0.t-ipconnect.de [217.83.4.218])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest
 SHA256) (No client certificate requested)
 by mail.alien8.de (SuperMail on ZX Spectrum 128k) with ESMTPSA id 6D25E40E0031;
 Tue, 28 Nov 2023 19:18: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: 05265f7a-8e23-11ee-98e3-6d05b1d4d9a1
X-Virus-Scanned: Debian amavisd-new at mail.alien8.de
Authentication-Results: mail.alien8.de (amavisd-new); dkim=fail (4096-bit key)
	reason="fail (body has been altered)" header.d=alien8.de
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=alien8.de; s=alien8;
	t=1701199152; bh=g5Mn3al0jfBF2Tc5wdFDpfH6j9nnJam8vvaA6CzuQO0=;
	h=Date:From:To:Cc:Subject:References:In-Reply-To:From;
	b=RY+zlK738bCdkjafOW/V4nnZkY05ywQPnrWVB+d3C58AHMANGruc+O4gqMj87sCo8
	 MHFuVexopL8HzEHdGlTSWn6aYW4utbPnl1oZNDLUySXdxmccA9uYoyZwm9tJaO9Zct
	 bHTOI0Lz40C9i6AboHFAKMJCFgAJXRon8/+UyTJ4R6lY8h3lXOq9s+N+C/DK5+5ITv
	 MRvAWiI/e8bs2qKj6sLM0LKJhKWgGS9x1up2i3Muagi9zDDYjxLo+Na+rLPqEGcJnr
	 TMDsYWzdbzbpYUjnBsCraFphskDd+LXJN3mnyc12EpYKyXDNKA8B73FRpAPDsW340o
	 aVQLz32kGRCtitobbENoKLorI70wVbAENFxQMWHMmyMmxggWAa5WiTkDiiPypxxKQe
	 D3xEe9CCNd0QTPz85sS7S0HED4LrWmPvPySTmA//rAy2VoXeO8LcGM7H4vIF3uhx8w
	 83JaBy4uRgI0daywYmI55bpcOvThNMvh7vV4TblLP/xZg8I8NQUYLQ1PqLsNq+T2ZN
	 RHi1c0M6hb48t4V1io8+ATkvHlkps0GClejTQvhNQ2/TCiCkRCAxEITdjHT5cFKFHm
	 BBnMRZAVISopwt4jD/3fm1Dek3PFT9OzznmkCjuEeRXGq00E+IigRL08qs6TtyO9hw
	 foVI56DUkjq2/5lxqyuHUIsI=
Date: Tue, 28 Nov 2023 20:18:49 +0100
From: Borislav Petkov <bp@alien8.de>
To: "Li, Xin3" <xin3.li@intel.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-edac@vger.kernel.org" <linux-edac@vger.kernel.org>,
	"linux-hyperv@vger.kernel.org" <linux-hyperv@vger.kernel.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"Lutomirski, Andy" <luto@kernel.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>,
	"seanjc@google.com" <seanjc@google.com>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"Gross, Jurgen" <jgross@suse.com>,
	"Shankar, Ravi V" <ravi.v.shankar@intel.com>,
	"mhiramat@kernel.org" <mhiramat@kernel.org>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"jiangshanlai@gmail.com" <jiangshanlai@gmail.com>,
	"nik.borisov@suse.com" <nik.borisov@suse.com>
Subject: Re: [PATCH v12 24/37] x86/idtentry: Incorporate
 definitions/declarations of the FRED entries
Message-ID: <20231128191849.GEZWY9GbzySrVI1vpv@fat_crate.local>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-25-xin3.li@intel.com>
 <20231128100910.GSZWW8RnyhX0YQjwDm@fat_crate.local>
 <SA1PR11MB6734A1E439870989C7006166A8BCA@SA1PR11MB6734.namprd11.prod.outlook.com>
 <EE769C0F-FA81-49AD-A90B-F0E5D2A1DA7B@zytor.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <EE769C0F-FA81-49AD-A90B-F0E5D2A1DA7B@zytor.com>
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 28, 2023 at 10:58:50AM -0800, H. Peter Anvin wrote:
> >You have a very good sense =F0=9F=98=8A

I've been reading code of a couple of people for a couple of years. :-)

> Remember that Signed-off-by: relates to the *patch flow*.

Yes, you should take the time to read Documentation/process/ and
especially submitting-patches.rst.

We have it all written down and I point new(-er) people at that
directory at least once a week. :-\

--=20
Regards/Gruss,
    Boris.

https://people.kernel.org/tglx/notes-about-netiquette


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 19:45:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 19:45:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643447.1003671 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r840k-0005Cc-C4; Tue, 28 Nov 2023 19:44:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643447.1003671; Tue, 28 Nov 2023 19: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 1r840k-0005CV-8K; Tue, 28 Nov 2023 19:44:46 +0000
Received: by outflank-mailman (input) for mailman id 643447;
 Tue, 28 Nov 2023 19:44: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=FWLy=HJ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r840j-0005CM-BI
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 19:44:45 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20621.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 922adb6b-8e26-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 20:44:42 +0100 (CET)
Received: from SA9PR13CA0068.namprd13.prod.outlook.com (2603:10b6:806:23::13)
 by MW4PR12MB6974.namprd12.prod.outlook.com (2603:10b6:303:207::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.28; Tue, 28 Nov
 2023 19:44:38 +0000
Received: from SA2PEPF000015C9.namprd03.prod.outlook.com
 (2603:10b6:806:23:cafe::2e) by SA9PR13CA0068.outlook.office365.com
 (2603:10b6:806:23::13) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22 via Frontend
 Transport; Tue, 28 Nov 2023 19:44:37 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SA2PEPF000015C9.mail.protection.outlook.com (10.167.241.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 19:44:37 +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.2507.34; Tue, 28 Nov
 2023 13:44:36 -0600
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.2507.34; Tue, 28 Nov
 2023 13:44:36 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 28 Nov 2023 13:44:34 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 922adb6b-8e26-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=XNyuvkqtH+RyK2xAiYftmGIJ5/93Odjh95wR8YpF56Tkj/s5W9GLAtCaiIwQOgQl4R7Il+3GsD3gY0l330edXnoMa29SlJ9+xaUqks2OckNPfmD9L4RRjrCu1gicNKftonzeyzFNuMxas/c6lGNJL6KCSL0SzEr2vvtYEhux+cNlg5Kp4W42jdR1fm23fBV2c9xa5nB7NYOGIoDTvvBVE8TseD46vscAf0Y4IN1vvsCQDna9GarI6S/W47kntvurP+dd9E6QNK6z8TarwpudRMCWZJZNisgIshe9/aB04FXCXweA1nUlUBA85YGVXh9+lyMYg+qiJ83VPrHHBIUdkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=5uXUlNdzuoy+V/xqdDmeP61vCOVi61BDWDYruLA5SG8=;
 b=AVZdU1awjtdECQM7TZTr5j5W0TsdeL+xD03chLgxi+jiASa41z0KyDOwg0QZEf4kzRaw28BgSU6RBQXfAUFGDio2gzhs7o7ZVCXbao4ktWbngMYh8GpiBD3rRnghFEKpXOnsHftdY8TB3eVjQ65PqpB4WPB0kXYmuGpyzs6/SDQrtYRsHMRXqdQCwKQpVptx74jM5R/u25v5yFXkhN8xIK5N4rU1vpx4X1knslzptZrsiTUDroNFmMRmSeujJ/VgY9GIjL1Z3f6V+rypTtGo/mIydcJL7Y+vSwpaV610sIIF/78migWEa5EPGD23xstCLaKcfFAk4eTwDSSdqt8xiw==
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 (0)
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=5uXUlNdzuoy+V/xqdDmeP61vCOVi61BDWDYruLA5SG8=;
 b=RvIEPCOKb9KdyBcFWj+Wab1cJJfIsRhRcpyUONSiRmelMEfz1H8ZZUJTmd0EYVls8EyvOvgYn8YNF5wRP4c83S+aelRNsAJB6HVj2iSfzT8HlYf4icqjTZBg0kkMvjhN8WCuSX4IzyF59hvuX+yLYF/PxEZCfucWJnquJNp/vyU=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, 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: [PATCH v8 0/2] vPCI capabilities filtering
Date: Tue, 28 Nov 2023 14:44:23 -0500
Message-ID: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF000015C9:EE_|MW4PR12MB6974:EE_
X-MS-Office365-Filtering-Correlation-Id: 183f4b58-989e-4723-d0fc-08dbf04a7474
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	M9HpDg21R8OJDeiYo19IKRhruF+uupDrMxw+x6T86KVa9MbndrpMwGAwfIrMQhsQfT4n0Vj8h+FndQ3Rg5Pw9v8XvVuJIbXuLCw0OR41kC4LQjuItTsfbXxujmaTi5x35QPfCufbHKaXC6ls01lh9K7ViI6z9RwhliJf3fMQGBGNrPFGetrCSZZhRuRgI9ySGCt+0J/0N0G6vYsXQ002xpZ7D1Bg1QbWca4laAYEil4JfFeY+clXhWWEYxTkqtmLa5SUeLoP9urw8KotX3DBq3dLmJ9n7EPqAHeTQtSakYueMjadsiiZZZhMh3wF+CmWjkgrlrLbM9wV4NrAx1pTN3snpOH7WoxJ+hFBX+pZJnL6y1UYDS0ylXLeQ/1JuDP09kvLyXE1RIo1v5Zur2/lS0G/K+SSsmj+g2tCu4xidYk9sD3wYaE4AO8zeHfb3qumJh4qQQKHLCMyQgQbpvl8WOvTvtwN8tF9rUTi8KFS+WznklXiEChOtujZwJNVNzaBNY5bU6ESxxKK2FqTgmd6C8a6Rz86bBk2+WsA2oW1e8VNVwf4pZ+9JO90jyXo3kX8vQEq3Aq1PeQh0rKEb7dPA2buSehA6HPxyDcPHproFwoT3/n7BqYdGg4fqdF9TFTmO6K9wFpQ6WxMJKd7E3apMknAMFPT20fO3hUkNk33m5UmSKcim3Fbqz+n0bHDz5r+SiaUEhoOortJbw6UaM1TtSDZk/YN4mtGwLcmLygrGK8TIhItHrjGqlaeg4a+GKYLbSEqVZ7ABFDe48ILsYTZeA==
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:(13230031)(4636009)(39860400002)(376002)(346002)(396003)(136003)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(82310400011)(40470700004)(46966006)(36840700001)(6666004)(8936002)(4326008)(8676002)(66899024)(70586007)(70206006)(316002)(6916009)(54906003)(966005)(478600001)(40460700003)(81166007)(47076005)(36860700001)(356005)(41300700001)(36756003)(1076003)(86362001)(44832011)(26005)(40480700001)(2906002)(2616005)(83380400001)(426003)(336012)(5660300002)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 19:44:37.4491
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 183f4b58-989e-4723-d0fc-08dbf04a7474
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:
	SA2PEPF000015C9.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR12MB6974

This small series enables vPCI to filter which PCI capabilities we expose to a
domU. This series adds vPCI register handlers within
xen/drivers/vpci/header.c:init_bars(), along with some supporting functions.

Note there are minor rebase conflicts with the in-progress vPCI series [1].
These conflicts fall into the category of functions and code being added
adjacent to one another, so are easily resolved. I did not identify any
dependency on the vPCI locking work, and the two series deal with different
aspects of emulating the PCI header.

Future work may involve adding handlers for more registers in the vPCI header,
such as VID/DID, etc. Future work may also involve exposing additional
capabilities to the guest for broader device/driver support.

v7->v8:
* address feedback

v6->v7:
* address feedback in ("xen/vpci: header: status register handler")
* drop ("xen/pci: convert pci_find_*cap* to pci_sbdf_t") and
  ("x86/msi: rearrange read_pci_mem_bar slightly") as they were committed

v5->v6:
* drop ("xen/pci: update PCI_STATUS_* constants") as it has been committed

v4->v5:
* drop ("x86/msi: remove some unused-but-set-variables") as it has been
  committed
* add ("xen/pci: update PCI_STATUS_* constants")
* squash ro_mask patch

v3->v4:
* drop "xen/pci: address a violation of MISRA C:2012 Rule 8.3" as it has been
  committed
* re-order status register handler and capabilities filtering patches
* split an unrelated change from ("xen/pci: convert pci_find_*cap* to pci_sbdf_t")
  into its own patch
* add new patch ("x86/msi: rearrange read_pci_mem_bar slightly") based on
  feedback
* add new RFC patch ("xen/vpci: support ro mask")

v2->v3:
* drop RFC "xen/vpci: header: avoid cast for value passed to vpci_read_val"
* minor misra C violation fixup in preparatory patch
* switch to pci_sbdf_t in preparatory patch
* introduce status handler

v1->v2:
* squash helper functions into the patch where they are used to avoid transient
  dead code situation
* add new RFC patch, possibly throwaway, to get an idea of what it would look
  like to get rid of the (void *)(uintptr_t) cast by introducing a new memory
  allocation

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-08/msg02361.html

Stewart Hildebrand (2):
  xen/vpci: header: status register handler
  xen/vpci: header: filter PCI capabilities

 tools/tests/vpci/main.c    | 98 ++++++++++++++++++++++++++++++++++++++
 xen/drivers/pci/pci.c      | 31 ++++++++----
 xen/drivers/vpci/header.c  | 75 +++++++++++++++++++++++++++++
 xen/drivers/vpci/vpci.c    | 74 +++++++++++++++++++++++-----
 xen/include/xen/pci.h      |  3 ++
 xen/include/xen/pci_regs.h |  9 ++++
 xen/include/xen/vpci.h     | 14 ++++++
 7 files changed, 282 insertions(+), 22 deletions(-)


base-commit: 18540a313cc66a04eb15a67d74c7992a8576fbec
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 19:45:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 19:45:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643448.1003681 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r840w-0005Tj-Iw; Tue, 28 Nov 2023 19:44:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643448.1003681; Tue, 28 Nov 2023 19:44: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 1r840w-0005Tc-G8; Tue, 28 Nov 2023 19:44:58 +0000
Received: by outflank-mailman (input) for mailman id 643448;
 Tue, 28 Nov 2023 19:44: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=FWLy=HJ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r840u-0005Sf-L2
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 19:44:56 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::60f])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99d3d679-8e26-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 20:44:54 +0100 (CET)
Received: from DS7PR03CA0317.namprd03.prod.outlook.com (2603:10b6:8:2b::20) by
 LV3PR12MB9142.namprd12.prod.outlook.com (2603:10b6:408:198::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Tue, 28 Nov
 2023 19:44:50 +0000
Received: from DS3PEPF000099DD.namprd04.prod.outlook.com
 (2603:10b6:8:2b:cafe::20) by DS7PR03CA0317.outlook.office365.com
 (2603:10b6:8:2b::20) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22 via Frontend
 Transport; Tue, 28 Nov 2023 19:44:49 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099DD.mail.protection.outlook.com (10.167.17.199) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 19:44:49 +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.2507.34; Tue, 28 Nov
 2023 13:44:49 -0600
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.2507.34; Tue, 28 Nov
 2023 13:44:48 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 28 Nov 2023 13:44:47 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99d3d679-8e26-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=P5mSnHVqhSMNlhsYtI8Y2wkyHrJd/v9eiRAWALvn0d//T+NV28kXBBmqsezi6XeWllliVZQrsTY/skNrxFMatX+enGTnX/gqq4Vr9Te7IBjYwM0OyK/iETW7kueBiLrpz4Eg+Lan+KQ8Y5CFkrUU1Dky715b3B7TnNPK5Da6Q5VSZlAV/rrTcFO11xwj3NNY/9nrZOy8cNA8VdtoHZgWOF2W/SNhQjvAMpiv0fvkDz1jHfLqQ6OlvGSmdKiPlgnvuGkrd8YGbP5Ebx4yVfHYbtppIqP89efWtXNJGmPSddh1sTOJcgqT4zdSluLDlA443EPEVTvaDOHd0MwDV+7C2w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1BVDdM0ntVTlJW1zzT07NjWnqB72PNmuaW7nBCP92pk=;
 b=ZeDj3ZU3UQLJO/SLoTTFb7XGsdGI1HH76sagrDuSWe6mrJOsM39lyPZ8OIWEJfTp4f+TdRZSWRj4Gr6GqWAqOk17/nn88C1ESDyyTl6IF4JlGHaUI8cFH/7LPaHS5jkMbEKN2medGCbUSg7l1+ZwNbtaBgjHZmJsOd33L61EjtPa9OJ5oc1BS/nbuEa8LBkMdKc289EG8n8yRojb8v/xDeU8emC0LWn48+XVWAJM9tyR+6vTpwXBKmCLv7QxRHD/+6c0LKkmElWsfAo0tIB3PcPHEKYaz6ytBFUr0wXrUzHiFCwWI+w0nP01+ra+5QNjOSsD2J8/tAoW0roPLGBZEA==
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 (0)
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=1BVDdM0ntVTlJW1zzT07NjWnqB72PNmuaW7nBCP92pk=;
 b=2SaqMq9kETh1J0/mV3siMxquYy3MYuqaXV5MjBWdSn8l6Lx06byClJIoWKhf/UCQAw7d5lin9nAqE+L4HnVAZgxP/I7PYUEFla3P3kDBcWlL9LS4yqxgTjCvp4mHALi7AuR5r4pMbRDAGb6YL14VsQyVTH5bq6qQnfTOoij3PXA=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>, 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: [PATCH v8 1/2] xen/vpci: header: status register handler
Date: Tue, 28 Nov 2023 14:44:24 -0500
Message-ID: <20231128194427.2513249-2-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
References: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099DD:EE_|LV3PR12MB9142:EE_
X-MS-Office365-Filtering-Correlation-Id: 4eb33b39-cb3a-4a1a-b9ee-08dbf04a7ba0
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	eWqtwrN4mMvr/C7ApElTVvErFQF2hWIcxtw7mZKk7XMVpRVGemjLVMyYFtd0ZAx2o4gbEWIE6c9PfOuDbF6gxBXYucDzGlX2NHHAychccNqvPqpXhTwxDpqqVefojzfWo8HY8ZVXF+iqMG7htCIWxo+lQzB2g70Pm+FYDdjSnP57Gq0rjHXoNHMCUyDgDKSL06ZNlKQ1iNaG8jxYbVb/rirNFVF+BsqHHZDL8RlEKyrDCD17Uw6nP0dIJQxxaxdTMyccXvFJvfueUNEpdpL6IQuaX2a42rMaq8ZtTE0yCgr5KJmI+/EfwtpF5qavr+b36f3gWPWvPCDwpT99Ht4XSNZdw9UvegIpR7NukvOEw8gk4xaneIBXNHF77wpiSiirznHm0goVihUBrlULLQmmGo3EXu8B2s7gJKMXNLpKfGqIf/jcNHSWs4zP4QUn+wK3skvwpZuBCuHiV3u9tKVtdGS3pJIbdRwcLgupwn0nfUcbdITHZ0R+6CcXHd0YaZTNHbCyzHCt2S4z08s/dAw904xLQ5bx0wsl2rvUfcosix0K97UVRjua2HyQMfALiLwUBjV4TcIt70K3MgZEiZ7caRRCF6+xXFAkBEow/mry5QMBs5S/5LvCFdFP+R9t3IxAIEaElnuUyo51zvQdqUk8Y3LahuIjyXN3oiFr/6MxE5ZaP7ZS9iNnZzjv6SYgLOfUVDN9hcXFfOmjSHM4j5WrW9C5FPVghvbKx/SYP9jdAzBA0oVCI2JyAuNgJQ0TpCz9OUb8rRD+tKEQOHAJ1im4ZA==
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:(13230031)(4636009)(396003)(39860400002)(376002)(136003)(346002)(230922051799003)(82310400011)(186009)(1800799012)(451199024)(64100799003)(36840700001)(46966006)(40470700004)(5660300002)(8676002)(8936002)(44832011)(4326008)(316002)(6916009)(70586007)(54906003)(70206006)(41300700001)(30864003)(6666004)(478600001)(19627235002)(966005)(2616005)(1076003)(26005)(336012)(426003)(83380400001)(47076005)(2906002)(40480700001)(36860700001)(86362001)(66899024)(40460700003)(82740400003)(356005)(81166007)(36756003)(36900700001)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 19:44:49.4653
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 4eb33b39-cb3a-4a1a-b9ee-08dbf04a7ba0
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:
	DS3PEPF000099DD.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV3PR12MB9142

Introduce a handler for the PCI status register, with ability to mask
the capabilities bit. The status register contains RsvdZ bits,
read-only bits, and write-1-to-clear bits. Additionally, we use RsvdP to
mask the capabilities bit. Introduce bitmasks to handle these in vPCI.
If a bit in the bitmask is set, then the special meaning applies:

  ro_mask: read normal, guest write ignore (preserve on write to hardware)
  rw1c_mask: read normal, write 1 to clear
  rsvdp_mask: read as zero, guest write ignore (preserve on write to hardware)
  rsvdz_mask: read as zero, guest write ignore (write zero to hardware)

The RO/RW1C/RsvdP/RsvdZ naming and definitions were borrowed from the
PCI Express Base 6.1 specification. RsvdP/RsvdZ bits help Xen enforce
our view of the world. Xen preserves the value of read-only bits on
write to hardware, discarding the guests write value. This is done in
case hardware wrongly implements R/O bits as R/W.

The mask_cap_list flag will be set in a follow-on patch.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v7->v8:
* move PCI_STATUS_UDF to rsvdz_mask (per PCI Express Base 6 spec)
* add support for rsvdp bits
* add tests for ro/rw1c/rsvdp/rsvdz bits in tools/tests/vpci/main.c
* dropped R-b tag [1] since the patch has changed moderately since the last rev

[1] https://lists.xenproject.org/archives/html/xen-devel/2023-09/msg00909.html

v6->v7:
* re-work args passed to vpci_add_register_mask() (called in init_bars())
* also check for overlap of (rsvdz_mask & ro_mask) in add_register()
* slightly adjust masking operation in vpci_write_helper()

v5->v6:
* remove duplicate PCI_STATUS_CAP_LIST in constant definition
* style fixup in constant definitions
* s/res_mask/rsvdz_mask/
* combine a new masking operation into single line
* preserve r/o bits on write
* get rid of status_read. Instead, use rsvdz_mask for conditionally masking
  PCI_STATUS_CAP_LIST bit
* add comment about PCI_STATUS_CAP_LIST and rsvdp behavior
* add sanity checks in add_register
* move mask_cap_list from struct vpci_header to local variable

v4->v5:
* add support for res_mask
* add support for ro_mask (squash ro_mask patch)
* add constants for reserved, read-only, and rw1c masks

v3->v4:
* move mask_cap_list setting to the capabilities patch
* single pci_conf_read16 in status_read
* align mask_cap_list bitfield in struct vpci_header
* change to rw1c bit mask instead of treating whole register as rw1c
* drop subsystem prefix on renamed add_register function

v2->v3:
* new patch
---
 tools/tests/vpci/main.c    | 98 ++++++++++++++++++++++++++++++++++++++
 xen/drivers/vpci/header.c  | 12 +++++
 xen/drivers/vpci/vpci.c    | 62 +++++++++++++++++++-----
 xen/include/xen/pci_regs.h |  9 ++++
 xen/include/xen/vpci.h     |  9 ++++
 5 files changed, 178 insertions(+), 12 deletions(-)

diff --git a/tools/tests/vpci/main.c b/tools/tests/vpci/main.c
index b9a0a6006bb9..b0bb993be297 100644
--- a/tools/tests/vpci/main.c
+++ b/tools/tests/vpci/main.c
@@ -70,6 +70,26 @@ static void vpci_write32(const struct pci_dev *pdev, unsigned int reg,
     *(uint32_t *)data = val;
 }
 
+struct mask_data {
+    uint32_t val;
+    uint32_t rw1c_mask;
+};
+
+static uint32_t vpci_read32_mask(const struct pci_dev *pdev, unsigned int reg,
+                                 void *data)
+{
+    struct mask_data *md = data;
+    return md->val;
+}
+
+static void vpci_write32_mask(const struct pci_dev *pdev, unsigned int reg,
+                              uint32_t val, void *data)
+{
+    struct mask_data *md = data;
+    md->val  = val | (md->val & md->rw1c_mask);
+    md->val &= ~(val & md->rw1c_mask);
+}
+
 #define VPCI_READ(reg, size, data) ({                           \
     data = vpci_read((pci_sbdf_t){ .sbdf = 0 }, reg, size);     \
 })
@@ -94,9 +114,20 @@ static void vpci_write32(const struct pci_dev *pdev, unsigned int reg,
     assert(!vpci_add_register(test_pdev.vpci, fread, fwrite, off, size,     \
                               &store))
 
+#define VPCI_ADD_REG_MASK(fread, fwrite, off, size, store,                     \
+                          ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask)          \
+    assert(!vpci_add_register_mask(test_pdev.vpci, fread, fwrite, off, size,   \
+                                   &store,                                     \
+                                   ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask))
+
 #define VPCI_ADD_INVALID_REG(fread, fwrite, off, size)                      \
     assert(vpci_add_register(test_pdev.vpci, fread, fwrite, off, size, NULL))
 
+#define VPCI_ADD_INVALID_REG_MASK(fread, fwrite, off, size,                   \
+                                  ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask) \
+    assert(vpci_add_register_mask(test_pdev.vpci, fread, fwrite, off, size,   \
+                                  NULL, ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask))
+
 #define VPCI_REMOVE_REG(off, size)                                          \
     assert(!vpci_remove_register(test_pdev.vpci, off, size))
 
@@ -154,6 +185,7 @@ main(int argc, char **argv)
     uint16_t r20[2] = { };
     uint32_t r24 = 0;
     uint8_t r28, r30;
+    struct mask_data r32;
     unsigned int i;
     int rc;
 
@@ -213,6 +245,14 @@ main(int argc, char **argv)
     /* Try to add a register with missing handlers. */
     VPCI_ADD_INVALID_REG(NULL, NULL, 8, 2);
 
+    /* Try to add registers with the same bits set in multiple masks. */
+    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 1, 1, 0, 0);
+    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 1, 0, 1, 0);
+    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 1, 0, 0, 1);
+    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 0, 1, 1, 0);
+    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 0, 1, 0, 1);
+    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 0, 0, 1, 1);
+
     /* Read/write of unset register. */
     VPCI_READ_CHECK(8, 4, 0xffffffff);
     VPCI_READ_CHECK(8, 2, 0xffff);
@@ -287,6 +327,64 @@ main(int argc, char **argv)
     VPCI_ADD_REG(vpci_read8, vpci_write8, 30, 1, r30);
     VPCI_WRITE_CHECK(28, 4, 0xffacffdc);
 
+    /*
+     * Test ro/rw1c/rsvdp/rsvdz masks.
+     *
+     * 32     24     16      8      0
+     *  +---------------------------+
+     *  |            r32            | 32
+     *  +---------------------------+
+     *
+     */
+    r32.rw1c_mask = 0x0000ff00U;
+    VPCI_ADD_REG_MASK(vpci_read32_mask, vpci_write32_mask, 32, 4, r32,
+                      0x000000ffU   /* RO    */,
+                      r32.rw1c_mask /* RW1C  */,
+                      0x00ff0000U   /* RsvdP */,
+                      0xff000000U   /* RsvdZ */);
+
+    /* ro */
+    r32.val = 0x0f0f0f0fU;
+    VPCI_READ_CHECK(32, 1, 0x0f);
+    VPCI_WRITE(32, 1, 0x5a);
+    VPCI_READ_CHECK(32, 1, 0x0f);
+    assert(r32.val == 0x000f0f0fU);
+
+    /* rw1c */
+    r32.val = 0x0f0f0f0fU;
+    VPCI_READ_CHECK(33, 1, 0x0f);
+    VPCI_WRITE(33, 1, 0x5a);
+    VPCI_READ_CHECK(33, 1, 0x05);
+    assert(r32.val == 0x000f050fU);
+
+    /* rsvdp */
+    r32.val = 0x0f0f0f0fU;
+    VPCI_READ_CHECK(34, 1, 0);
+    VPCI_WRITE(34, 1, 0x5a);
+    VPCI_READ_CHECK(34, 1, 0);
+    assert(r32.val == 0x000f0f0fU);
+
+    /* rsvdz */
+    r32.val = 0x0f0f0f0fU;
+    VPCI_READ_CHECK(35, 1, 0);
+    VPCI_WRITE(35, 1, 0x5a);
+    VPCI_READ_CHECK(35, 1, 0);
+    assert(r32.val == 0x000f0f0fU);
+
+    /* write all 0's */
+    r32.val = 0x0f0f0f0fU;
+    VPCI_READ_CHECK(32, 4, 0x00000f0fU);
+    VPCI_WRITE(32, 4, 0);
+    VPCI_READ_CHECK(32, 4, 0x00000f0fU);
+    assert(r32.val == 0x000f0f0fU);
+
+    /* write all 1's */
+    r32.val = 0x0f0f0f0fU;
+    VPCI_READ_CHECK(32, 4, 0x00000f0fU);
+    VPCI_WRITE(32, 4, 0xffffffffU);
+    VPCI_READ_CHECK(32, 4, 0x0000000fU);
+    assert(r32.val == 0x000f000fU);
+
     /* Finally try to remove a couple of registers. */
     VPCI_REMOVE_REG(28, 1);
     VPCI_REMOVE_REG(24, 4);
diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 767c1ba718d7..351318121e48 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -521,6 +521,7 @@ static int cf_check init_bars(struct pci_dev *pdev)
     struct vpci_header *header = &pdev->vpci->header;
     struct vpci_bar *bars = header->bars;
     int rc;
+    bool mask_cap_list = false;
 
     switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
     {
@@ -544,6 +545,17 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( rc )
         return rc;
 
+    /* Utilize rsvdp_mask to hide PCI_STATUS_CAP_LIST from the guest. */
+    rc = vpci_add_register_mask(pdev->vpci, vpci_hw_read16, vpci_hw_write16,
+                                PCI_STATUS, 2, NULL,
+                                PCI_STATUS_RO_MASK &
+                                    ~(mask_cap_list ? PCI_STATUS_CAP_LIST : 0),
+                                PCI_STATUS_RW1C_MASK,
+                                mask_cap_list ? PCI_STATUS_CAP_LIST : 0,
+                                PCI_STATUS_RSVDZ_MASK);
+    if ( rc )
+        return rc;
+
     if ( pdev->ignore_bars )
         return 0;
 
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 3bec9a4153da..96187b70141b 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -29,6 +29,10 @@ struct vpci_register {
     unsigned int offset;
     void *private;
     struct list_head node;
+    uint32_t ro_mask;
+    uint32_t rw1c_mask;
+    uint32_t rsvdp_mask;
+    uint32_t rsvdz_mask;
 };
 
 #ifdef __XEN__
@@ -145,9 +149,17 @@ uint32_t cf_check vpci_hw_read32(
     return pci_conf_read32(pdev->sbdf, reg);
 }
 
-int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
-                      vpci_write_t *write_handler, unsigned int offset,
-                      unsigned int size, void *data)
+void cf_check vpci_hw_write16(
+    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
+{
+    pci_conf_write16(pdev->sbdf, reg, val);
+}
+
+static int add_register(struct vpci *vpci, vpci_read_t *read_handler,
+                        vpci_write_t *write_handler, unsigned int offset,
+                        unsigned int size, void *data, uint32_t ro_mask,
+                        uint32_t rw1c_mask, uint32_t rsvdp_mask,
+                        uint32_t rsvdz_mask)
 {
     struct list_head *prev;
     struct vpci_register *r;
@@ -155,7 +167,10 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
     /* Some sanity checks. */
     if ( (size != 1 && size != 2 && size != 4) ||
          offset >= PCI_CFG_SPACE_EXP_SIZE || (offset & (size - 1)) ||
-         (!read_handler && !write_handler) )
+         (!read_handler && !write_handler) || (ro_mask & rw1c_mask) ||
+         (ro_mask & rsvdp_mask) || (ro_mask & rsvdz_mask) ||
+         (rw1c_mask & rsvdp_mask) || (rw1c_mask & rsvdz_mask) ||
+         (rsvdp_mask & rsvdz_mask) )
         return -EINVAL;
 
     r = xmalloc(struct vpci_register);
@@ -167,6 +182,10 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
     r->size = size;
     r->offset = offset;
     r->private = data;
+    r->ro_mask = ro_mask & (0xffffffffU >> (32 - 8 * size));
+    r->rw1c_mask = rw1c_mask & (0xffffffffU >> (32 - 8 * size));
+    r->rsvdp_mask = rsvdp_mask & (0xffffffffU >> (32 - 8 * size));
+    r->rsvdz_mask = rsvdz_mask & (0xffffffffU >> (32 - 8 * size));
 
     spin_lock(&vpci->lock);
 
@@ -193,6 +212,24 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
     return 0;
 }
 
+int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
+                      vpci_write_t *write_handler, unsigned int offset,
+                      unsigned int size, void *data)
+{
+    return add_register(vpci, read_handler, write_handler, offset, size, data,
+                        0, 0, 0, 0);
+}
+
+int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler,
+                           vpci_write_t *write_handler, unsigned int offset,
+                           unsigned int size, void *data, uint32_t ro_mask,
+                           uint32_t rw1c_mask, uint32_t rsvdp_mask,
+                           uint32_t rsvdz_mask)
+{
+    return add_register(vpci, read_handler, write_handler, offset, size, data,
+                        ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask);
+}
+
 int vpci_remove_register(struct vpci *vpci, unsigned int offset,
                          unsigned int size)
 {
@@ -376,6 +413,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
         }
 
         val = r->read(pdev, r->offset, r->private);
+        val &= ~(r->rsvdp_mask | r->rsvdz_mask);
 
         /* Check if the read is in the middle of a register. */
         if ( r->offset < emu.offset )
@@ -407,26 +445,26 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
 
 /*
  * Perform a maybe partial write to a register.
- *
- * Note that this will only work for simple registers, if Xen needs to
- * trap accesses to rw1c registers (like the status PCI header register)
- * the logic in vpci_write will have to be expanded in order to correctly
- * deal with them.
  */
 static void vpci_write_helper(const struct pci_dev *pdev,
                               const struct vpci_register *r, unsigned int size,
                               unsigned int offset, uint32_t data)
 {
+    uint32_t val = 0;
+    uint32_t preserved_mask = r->ro_mask | r->rsvdp_mask;
+
     ASSERT(size <= r->size);
 
-    if ( size != r->size )
+    if ( (size != r->size) || preserved_mask )
     {
-        uint32_t val;
-
         val = r->read(pdev, r->offset, r->private);
+        val &= ~r->rw1c_mask;
         data = merge_result(val, data, size, offset);
     }
 
+    data &= ~(preserved_mask | r->rsvdz_mask);
+    data |= val & preserved_mask;
+
     r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
              r->private);
 }
diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
index 84b18736a85d..9909b27425a5 100644
--- a/xen/include/xen/pci_regs.h
+++ b/xen/include/xen/pci_regs.h
@@ -66,6 +66,15 @@
 #define  PCI_STATUS_REC_MASTER_ABORT	0x2000 /* Set on master abort */
 #define  PCI_STATUS_SIG_SYSTEM_ERROR	0x4000 /* Set when we drive SERR */
 #define  PCI_STATUS_DETECTED_PARITY	0x8000 /* Set on parity error */
+#define  PCI_STATUS_RSVDZ_MASK		0x0046 /* Includes PCI_STATUS_UDF */
+
+#define  PCI_STATUS_RO_MASK (PCI_STATUS_IMM_READY | PCI_STATUS_INTERRUPT | \
+    PCI_STATUS_CAP_LIST | PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK | \
+    PCI_STATUS_DEVSEL_MASK)
+#define  PCI_STATUS_RW1C_MASK (PCI_STATUS_PARITY | \
+    PCI_STATUS_SIG_TARGET_ABORT | PCI_STATUS_REC_TARGET_ABORT | \
+    PCI_STATUS_REC_MASTER_ABORT | PCI_STATUS_SIG_SYSTEM_ERROR | \
+    PCI_STATUS_DETECTED_PARITY)
 
 #define PCI_CLASS_REVISION	0x08	/* High 24 bits are class, low 8 revision */
 #define PCI_REVISION_ID		0x08	/* Revision ID */
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index d743d96a10b8..8e8e42372ec1 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -37,6 +37,13 @@ int __must_check vpci_add_register(struct vpci *vpci,
                                    vpci_write_t *write_handler,
                                    unsigned int offset, unsigned int size,
                                    void *data);
+int __must_check vpci_add_register_mask(struct vpci *vpci,
+                                        vpci_read_t *read_handler,
+                                        vpci_write_t *write_handler,
+                                        unsigned int offset, unsigned int size,
+                                        void *data, uint32_t ro_mask,
+                                        uint32_t rw1c_mask, uint32_t rsvdp_mask,
+                                        uint32_t rsvdz_mask);
 int __must_check vpci_remove_register(struct vpci *vpci, unsigned int offset,
                                       unsigned int size);
 
@@ -50,6 +57,8 @@ uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read32(
     const struct pci_dev *pdev, unsigned int reg, void *data);
+void cf_check vpci_hw_write16(
+    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data);
 
 /*
  * Check for pending vPCI operations on this vcpu. Returns true if the vcpu
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 19:45:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 19:45:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643449.1003691 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8416-0005qG-Ud; Tue, 28 Nov 2023 19:45:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643449.1003691; Tue, 28 Nov 2023 19:45: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 1r8416-0005q9-Re; Tue, 28 Nov 2023 19:45:08 +0000
Received: by outflank-mailman (input) for mailman id 643449;
 Tue, 28 Nov 2023 19:45: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=FWLy=HJ=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r8415-0005Sf-PM
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 19:45:07 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on2060e.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::60e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a123b2d4-8e26-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 20:45:06 +0100 (CET)
Received: from CH2PR19CA0022.namprd19.prod.outlook.com (2603:10b6:610:4d::32)
 by SJ0PR12MB7007.namprd12.prod.outlook.com (2603:10b6:a03:486::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Tue, 28 Nov
 2023 19:45:03 +0000
Received: from DS3PEPF000099DC.namprd04.prod.outlook.com
 (2603:10b6:610:4d:cafe::2a) by CH2PR19CA0022.outlook.office365.com
 (2603:10b6:610:4d::32) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29 via Frontend
 Transport; Tue, 28 Nov 2023 19:45:02 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS3PEPF000099DC.mail.protection.outlook.com (10.167.17.198) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 19:45:02 +0000
Received: from SATLEXMB05.amd.com (10.181.40.146) 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.2507.34; Tue, 28 Nov
 2023 13:45:02 -0600
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.2507.34; Tue, 28 Nov
 2023 13:45:02 -0600
Received: from ubuntu.mshome.net (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Tue, 28 Nov 2023 13:45:00 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a123b2d4-8e26-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=C9jJx0U7xUyCSBPuALz5j967Lp373WB0YsmwFLTmzOmqyQh794WHFRGlSjhMhkU7YSZ/+TAqjFiM0LtUTbSlCFUVg0c0VxNWTvqUgr7sVN41gcJVglwB55m+nFyigXi+Spgceokl9SRBKlO8uJepZZG5CzlFSCcZ9E+Jg0/2vJbSaGPRReNoSitt5LiK08Jje2WQSAgmzIpw1vzGjOT4ojnZ63VqlXUoW+1upIsFm8JRNudyPickS66UdevVh+5PoNb9WdxcPKBhsiqdQGLQbmrfJUnEeCsrgVK2Ue2qteGnBUyUOO2GLk1lVD/Rv9WLS8uWWw79wLPG6KXGG0aogQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=T17tiKHmcbaQx3dRFOfzBGEbQzMo3quHzHjXP9wNTwk=;
 b=VKDvhmO4UVOdtYsu8re6rQGDCwBhqBVHx2YxZL3HldV9Y0w0T3QhPRKRwpnxklHQ0c6aqcvOneMYBIYhOJN1PvPjPXZdd07LFB1xv4QJ0PIKvmU30ceaF3bn9m45CWrO6st+tykg6Bxevcw8gp890w1qYrq+o2Wc7U7GV4oiYTT1yKX1nNjzPHb2mbG7PX8LhzJRhuptve4F7hYQ+6fopocAxmb2epCbAisaEf9Pkf+ypIsRziosHX33bOPLyfEUiThRIhYR/XPPqga6waSQqBr2ua0DmXJSRAIQpMUF7gCLMW1gZras2ewQqzyDj7Irt5qv0IjAOzBpRVv8J1ilYA==
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 (0)
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=T17tiKHmcbaQx3dRFOfzBGEbQzMo3quHzHjXP9wNTwk=;
 b=SjAtIes9axaG2EefjIYUpgRa4m9SB12cfbFXXWTj8vNRgkSRODlKd8sSBygIDbVtVzxh/vlg5YRnuKwciSeLcKDnGCEm3yREF0Joq+zpna0nEmf5mDNa/RwOchlWGeZf73vzt8kLMWCXBJGnS7h+5D+/u6rA5z+CxfRcJiPd3V8=
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: Stewart Hildebrand <stewart.hildebrand@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Stewart Hildebrand <stewart.hildebrand@amd.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 v8 2/2] xen/vpci: header: filter PCI capabilities
Date: Tue, 28 Nov 2023 14:44:25 -0500
Message-ID: <20231128194427.2513249-3-stewart.hildebrand@amd.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
References: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS3PEPF000099DC:EE_|SJ0PR12MB7007:EE_
X-MS-Office365-Filtering-Correlation-Id: aceae3dc-5184-454e-3b0a-08dbf04a838d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	++Fu4rSkApoRGpEGKYPrHWeaYJC4I0D9zLdQ3mGNNzmalc9MbuzpLTMp62yNtO8sUNhokCRWVJv2etb4AG48OKbPHYTJt65jYjQkrl+I6RQL4B+pICK71ORLrgWhGoJn8SnSPxW3Qycij5A2DgAZtuLWWGLuTtkhVY9aT14IlGf9Udsk4b2x527ty+Y+5v8y6SgYlF6u7rkUoTbPCrJDSawVNw+/+nbgK+jJki/u7sppq0B2cFAwuMd8Q5Gn9m1LrKSHfD191KruqEpRUMB7phuLfodJz1Zincovl8/fXeomsXXjo9+KsIg+eYuOzYDhxTZmWNBdi2uI5/bFceLkXD/2lBMrQ7IgoDyVWVjQucU6tSBWCCvc+IGbZT9ejOcRfmVhEGfqyl0NfKH/BufJiUPxJDQ4baB2Nude6SJy2trjI6/zZx8ZviClqYC+QlSEFE1sVR2lNLsakc3oltcQowjp+7IL4JgUir+Rbf1S0APr4mNUT3UDyam1BvFC5Vqzb1Y5oVDgslxVABB5cosCelELRx0S55XtIupch5sn80DdS2g8nY4T+ekYNQAvZbZ0WqyskhNf3IFfb4hH8XCa+Mez1oe5UALkvtuCOekCpdH4f6/ClXOyuvgFQJZTeBXfZwLZvDcfvebDmS0EzVBxq3I2qGcSL0Yo05E99xHfMwoFlESOq3/So8bLRv5onGVoWTWC/JYyqi1Us5j5riLBt+9gTrQaABO1RUz0Tqv731mOpPYeLoxEwWKVhGcMheE7vj1XY3SIjNrQfLUcrkOf0w==
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:(13230031)(4636009)(396003)(136003)(376002)(346002)(39860400002)(230922051799003)(82310400011)(1800799012)(186009)(64100799003)(451199024)(40470700004)(46966006)(36840700001)(2906002)(40480700001)(5660300002)(40460700003)(44832011)(36860700001)(6666004)(478600001)(8676002)(8936002)(41300700001)(4326008)(36756003)(81166007)(356005)(82740400003)(426003)(336012)(47076005)(2616005)(83380400001)(6916009)(86362001)(70206006)(70586007)(54906003)(316002)(1076003)(26005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 19:45:02.7749
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: aceae3dc-5184-454e-3b0a-08dbf04a838d
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:
	DS3PEPF000099DC.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR12MB7007

Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
Hide all other PCI capabilities (including extended capabilities) from domUs for
now, even though there may be certain devices/drivers that depend on being able
to discover certain capabilities.

We parse the physical PCI capabilities linked list and add vPCI register
handlers for the next elements, inserting our own next value, thus presenting a
modified linked list to the domU.

Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
helper function returns a fixed value, which may be used for RAZ registers, or
registers whose value doesn't change.

Introduce pci_find_next_cap_ttl() helper while adapting the logic from
pci_find_next_cap() to suit our needs, and implement the existing
pci_find_next_cap() in terms of the new helper.

Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
---
v7->v8:
* use to array instead of match function
* include lib.h for ARRAY_SIZE
* don't emulate PCI_CAPABILITY_LIST register if PCI_STATUS_CAP_LIST bit is not
  set in hardware
* spell out RAZ/WI acronym
* dropped R-b tag since the patch has changed moderately since the last rev

v6->v7:
* no change

v5->v6:
* add register handlers before status register handler in init_bars()
* s/header->mask_cap_list/mask_cap_list/

v4->v5:
* use more appropriate types, continued
* get rid of unnecessary hook function
* add Jan's R-b

v3->v4:
* move mask_cap_list setting to this patch
* leave pci_find_next_cap signature alone
* use more appropriate types

v2->v3:
* get rid of > 0 in loop condition
* implement pci_find_next_cap in terms of new pci_find_next_cap_ttl function so
  that hypothetical future callers wouldn't be required to pass &ttl.
* change NULL to (void *)0 for RAZ value passed to vpci_read_val
* change type of ttl to unsigned int
* remember to mask off the low 2 bits of next in the initial loop iteration
* change return type of pci_find_next_cap and pci_find_next_cap_ttl
* avoid wrapping the PCI_STATUS_CAP_LIST condition by using ! instead of == 0

v1->v2:
* change type of ttl to int
* use switch statement instead of if/else
* adapt existing pci_find_next_cap helper instead of rolling our own
* pass ttl as in/out
* "pass through" the lower 2 bits of the next pointer
* squash helper functions into this patch to avoid transient dead code situation
* extended capabilities RAZ/WI
---
 xen/drivers/pci/pci.c     | 31 ++++++++++++-------
 xen/drivers/vpci/header.c | 63 +++++++++++++++++++++++++++++++++++++++
 xen/drivers/vpci/vpci.c   | 12 ++++++++
 xen/include/xen/pci.h     |  3 ++
 xen/include/xen/vpci.h    |  5 ++++
 5 files changed, 104 insertions(+), 10 deletions(-)

diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
index 3569ccb24e9e..1645b3118220 100644
--- a/xen/drivers/pci/pci.c
+++ b/xen/drivers/pci/pci.c
@@ -39,31 +39,42 @@ unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap)
     return 0;
 }
 
-unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
-                               unsigned int cap)
+unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
+                                   unsigned int *cap, unsigned int n,
+                                   unsigned int *ttl)
 {
-    u8 id;
-    int ttl = 48;
+    unsigned int id, i;
 
-    while ( ttl-- )
+    while ( (*ttl)-- )
     {
         pos = pci_conf_read8(sbdf, pos);
         if ( pos < 0x40 )
             break;
 
-        pos &= ~3;
-        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
+        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
 
         if ( id == 0xff )
             break;
-        if ( id == cap )
-            return pos;
+        for ( i = 0; i < n; i++ )
+        {
+            if ( id == cap[i] )
+                return pos;
+        }
 
-        pos += PCI_CAP_LIST_NEXT;
+        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
     }
+
     return 0;
 }
 
+unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
+                               unsigned int cap)
+{
+    unsigned int ttl = 48;
+
+    return pci_find_next_cap_ttl(sbdf, pos, &cap, 1, &ttl) & ~3;
+}
+
 /**
  * pci_find_ext_capability - Find an extended capability
  * @sbdf: PCI device to query
diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
index 351318121e48..d7dc0c82a6ba 100644
--- a/xen/drivers/vpci/header.c
+++ b/xen/drivers/vpci/header.c
@@ -18,6 +18,7 @@
  */
 
 #include <xen/iocap.h>
+#include <xen/lib.h>
 #include <xen/sched.h>
 #include <xen/softirq.h>
 #include <xen/vpci.h>
@@ -545,6 +546,68 @@ static int cf_check init_bars(struct pci_dev *pdev)
     if ( rc )
         return rc;
 
+    if ( !is_hardware_domain(pdev->domain) )
+    {
+        if ( pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST )
+        {
+            /* Only expose capabilities to the guest that vPCI can handle. */
+            unsigned int next, ttl = 48;
+            unsigned int supported_caps[] = {
+                PCI_CAP_ID_MSI,
+                PCI_CAP_ID_MSIX,
+            };
+
+            next = pci_find_next_cap_ttl(pdev->sbdf, PCI_CAPABILITY_LIST,
+                                         supported_caps,
+                                         ARRAY_SIZE(supported_caps), &ttl);
+
+            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                   PCI_CAPABILITY_LIST, 1,
+                                   (void *)(uintptr_t)next);
+            if ( rc )
+                return rc;
+
+            next &= ~3;
+
+            if ( !next )
+                /*
+                 * If we don't have any supported capabilities to expose to the
+                 * guest, mask the PCI_STATUS_CAP_LIST bit in the status
+                 * register.
+                 */
+                mask_cap_list = true;
+
+            while ( next && ttl )
+            {
+                unsigned int pos = next;
+
+                next = pci_find_next_cap_ttl(pdev->sbdf,
+                                             pos + PCI_CAP_LIST_NEXT,
+                                             supported_caps,
+                                             ARRAY_SIZE(supported_caps), &ttl);
+
+                rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
+                                       pos + PCI_CAP_LIST_ID, 1, NULL);
+                if ( rc )
+                    return rc;
+
+                rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
+                                       pos + PCI_CAP_LIST_NEXT, 1,
+                                       (void *)(uintptr_t)next);
+                if ( rc )
+                    return rc;
+
+                next &= ~3;
+            }
+        }
+
+        /* Extended capabilities read as zero, write ignore */
+        rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL, 0x100, 4,
+                               (void *)0);
+        if ( rc )
+            return rc;
+    }
+
     /* Utilize rsvdp_mask to hide PCI_STATUS_CAP_LIST from the guest. */
     rc = vpci_add_register_mask(pdev->vpci, vpci_hw_read16, vpci_hw_write16,
                                 PCI_STATUS, 2, NULL,
diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
index 96187b70141b..99307e310bbb 100644
--- a/xen/drivers/vpci/vpci.c
+++ b/xen/drivers/vpci/vpci.c
@@ -137,6 +137,18 @@ static void cf_check vpci_ignored_write(
 {
 }
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return (uintptr_t)data;
+}
+
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data)
+{
+    return pci_conf_read8(pdev->sbdf, reg);
+}
+
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data)
 {
diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
index 50d7dfb2a2fd..b2dcef01a1cf 100644
--- a/xen/include/xen/pci.h
+++ b/xen/include/xen/pci.h
@@ -205,6 +205,9 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
 int pci_mmcfg_write(unsigned int seg, unsigned int bus,
                     unsigned int devfn, int reg, int len, u32 value);
 unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap);
+unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
+                                   unsigned int *cap, unsigned int n,
+                                   unsigned int *ttl);
 unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
                                unsigned int cap);
 unsigned int pci_find_ext_capability(pci_sbdf_t sbdf, unsigned int cap);
diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
index 8e8e42372ec1..3c14a74d6255 100644
--- a/xen/include/xen/vpci.h
+++ b/xen/include/xen/vpci.h
@@ -52,7 +52,12 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size);
 void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
                 uint32_t data);
 
+uint32_t cf_check vpci_read_val(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
+
 /* Passthrough handlers. */
+uint32_t cf_check vpci_hw_read8(
+    const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read16(
     const struct pci_dev *pdev, unsigned int reg, void *data);
 uint32_t cf_check vpci_hw_read32(
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Tue Nov 28 20:15:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 20:15:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643460.1003701 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r84Ue-0005wW-4e; Tue, 28 Nov 2023 20:15:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643460.1003701; Tue, 28 Nov 2023 20:15: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 1r84Ue-0005wP-1v; Tue, 28 Nov 2023 20:15:40 +0000
Received: by outflank-mailman (input) for mailman id 643460;
 Tue, 28 Nov 2023 20:15: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=zxdS=HJ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r84Ud-0005wJ-FN
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 20:15:39 +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 e56e2120-8e2a-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 21:15:38 +0100 (CET)
Received: by mail-ed1-x533.google.com with SMTP id
 4fb4d7f45d1cf-54bb5ebbb35so1228345a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 12:15:38 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e56e2120-8e2a-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701202538; x=1701807338; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GR/FFJv2LTd+zh5JQd9p/ki10wU3P89/Dm1cx7xOSNs=;
        b=W8rnf3UA/+eeTXuAetHcNswDupF+2IEY3lvtkO5b5yJDU8tc0UAMKq3VAD6ciRJf1m
         2Balg9QFED9S5avonu/kxwptDFZJrT4spkISrO+l4bOxo+kjD5VLmLPiLUFIcpPsLefX
         5h8d8Fy1QlpxPiX9ejNivIzHXRncKD8tc7l4YXQsXY4h6SfBsePPKq2F61SOmALutHSi
         +LC23ZpGYi91wI0LsQofWM3cspaMj4K/PuWuSt+GviUGZltaP0ZgMW7wfYYY9Ayy+udc
         fzaNZC9YbO7wvz7RNHkESNlGJeQ18pzU8kQSqUHcFSoGKaQnRXIxeSjSjCAGE1FMcUFD
         WVZA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701202538; x=1701807338;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=GR/FFJv2LTd+zh5JQd9p/ki10wU3P89/Dm1cx7xOSNs=;
        b=SPkY+2VYNukdWaRKVbgVIRLoHsT7czSUIZKvQnh5arSXW9ao7K7w47aVMLxsTrqim6
         OjQM1WlKl7mqKRUElzn9OWIT2MPKrx0EkmGYtE4ORea+mfogwy8hFNNQLi8qAZuOReSh
         3bFIIjAC651r6l8qPiUTPMj1xFWx1QmFcpPGMoRIpaLF0bEY64tGuJK3uRrQKBTbvT6+
         azCYAw/uliQ2SB8ntT5ZdPF39EljGTqKsXbz+9FZuQh7Tza4/LMbxdrpcORrmroMmkP6
         p1I/XTFKjCE0Pc3NkVRAkeduiuB51nFU0THJd+Mw3x4swnZoOyK15Uqs3yVLhYSG6FMV
         XmiQ==
X-Gm-Message-State: AOJu0Yx1+mlaw+WF7slpk1ZvZu3Gr3AvVh+tTqVeCX+a6svd7AEhGGZ0
	lyYYFB9h1H+6D1c8LxPA72XCGRR1f/iXgrWaf2k=
X-Google-Smtp-Source: AGHT+IECzboUVC2i0KiD/oNn3pzQDSoKpTTHN/L0e0EF9tLG7+hTDLELH9wP2Lt9LG0x5WpKynP0eUvywtF+UPs9WL4=
X-Received: by 2002:a05:6402:1bd9:b0:54b:53f0:2696 with SMTP id
 ch25-20020a0564021bd900b0054b53f02696mr5953897edb.30.1701202537623; Tue, 28
 Nov 2023 12:15:37 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-11-jgross@suse.com>
In-Reply-To: <20231110160804.29021-11-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Nov 2023 15:15:25 -0500
Message-ID: <CAKf6xpubb3+LDFbmajgrCwQZk=owM2WjH9bEb2A8O8RKRnJBoQ@mail.gmail.com>
Subject: Re: [PATCH v2 10/29] tools/xenlogd: add 9pfs clunk request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 11:22=E2=80=AFAM Juergen Gross <jgross@suse.com> wr=
ote:
>
> Add the clunk request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 20:22:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 20:22:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643463.1003710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r84b8-0000Ot-Q1; Tue, 28 Nov 2023 20:22:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643463.1003710; Tue, 28 Nov 2023 20:22: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 1r84b8-0000Om-N8; Tue, 28 Nov 2023 20:22:22 +0000
Received: by outflank-mailman (input) for mailman id 643463;
 Tue, 28 Nov 2023 20:22: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=zxdS=HJ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r84b7-0000Og-IQ
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 20:22:21 +0000
Received: from mail-ed1-x534.google.com (mail-ed1-x534.google.com
 [2a00:1450:4864:20::534])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d50e6799-8e2b-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 21:22:20 +0100 (CET)
Received: by mail-ed1-x534.google.com with SMTP id
 4fb4d7f45d1cf-544455a4b56so7762579a12.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 12:22:20 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d50e6799-8e2b-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701202940; x=1701807740; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=G2WK/B5ktvzZA1nZvqN1jN+QaZ6wc1lxOalewdNRiYw=;
        b=EDTnim0rp25yEl2Zxk6JCS+6Lg9SFjXbVptl6d645jIja1B8+gcKOeM/G3xhcMcenU
         C1KKa/EqKvzkDNge49MOun68EQj/JyuB14daX7dtMkYkm/Hk7eBGzlC0KLch7t7AEdoT
         2c7RiTKlAGHZ+4jAhxrgYl+4OH51fJuFnsAs63kOmt04ELlaMio3DGt9o3QW9HP+3TI6
         u2Eeah1R3hCj0i88OEO8QKpVvpvrExLHjzqs650OT5zeauDMCg69stlfTTPGdCvtLkhy
         qmXCOfQVdsPoq5F8ZcNne7JLwuq/HjKss390V6eWTXg0skkyAS4KnKCAvqbYThOGoyWR
         NOPQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701202940; x=1701807740;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=G2WK/B5ktvzZA1nZvqN1jN+QaZ6wc1lxOalewdNRiYw=;
        b=BISBid8eON/NaGp+ahOyOMsmgLvZOOCZTdshVs+keOZSbiyjzMWJMtgGwgX/vU0VuR
         bCCtx5JDQ746FkTLjusxjtOo10hLrmvy/6is4mVX19OEqD/Ba97bSuw381Fu1woYJ0Hu
         +gMhZMPWCeOwVFEgAIt6aXcBDh66mzUcraXS5qguMS4pS5dFP98xGV/oH5k4O4ee/qAK
         q8U9tKs3GWaSJO1PSk74Q0/J24qe3WifBKGjDlMTWlT+VWxJj0/FTvTcAF3zcN1aNoW2
         +vlJPR/pxLnXgH9AcRW2F6SCgbi/8lnuSE+QL5TUINeiMwFRtrbYdtjhsd8ihgbCkCt3
         r8QQ==
X-Gm-Message-State: AOJu0YyigmIWkvBVdeTc9dwDlnNIoUs3zX6AUiKyAamsIFFNzgqzATyJ
	EQt8OfiMIRHuZ9PybPtMLjlhxuJQ5MChTzAiMwE=
X-Google-Smtp-Source: AGHT+IHt6x1SO269uWH6pHumnek2VT+sRS6qE3LTLJcFB9bO7GUcHxpSIf2FbLKOhHOqN5+uEfipmDNL1EP50+JDp7E=
X-Received: by 2002:aa7:d3d5:0:b0:54a:f72d:38b7 with SMTP id
 o21-20020aa7d3d5000000b0054af72d38b7mr11478196edr.1.1701202939737; Tue, 28
 Nov 2023 12:22:19 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-12-jgross@suse.com>
In-Reply-To: <20231110160804.29021-12-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Nov 2023 15:22:08 -0500
Message-ID: <CAKf6xptw7_OSQtXGZAJyyoQHny0nmcd4YFowigYv0d2uy8D+1A@mail.gmail.com>
Subject: Re: [PATCH v2 11/29] tools/xenlogd: add 9pfs create request support
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 12:14=E2=80=AFPM Juergen Gross <jgross@suse.com> wr=
ote:
>
> Add the create request of the 9pfs protocol.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 20:25:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 20:25:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643466.1003721 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r84eB-0000yP-6v; Tue, 28 Nov 2023 20:25:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643466.1003721; Tue, 28 Nov 2023 20: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 1r84eB-0000yI-3n; Tue, 28 Nov 2023 20:25:31 +0000
Received: by outflank-mailman (input) for mailman id 643466;
 Tue, 28 Nov 2023 20:25: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=zxdS=HJ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r84eA-0000y7-3Y
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 20:25:30 +0000
Received: from mail-ed1-x52c.google.com (mail-ed1-x52c.google.com
 [2a00:1450:4864:20::52c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 43938d6a-8e2c-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 21:25:26 +0100 (CET)
Received: by mail-ed1-x52c.google.com with SMTP id
 4fb4d7f45d1cf-54b8a4d64b5so2869638a12.0
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 12:25:26 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43938d6a-8e2c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701203125; x=1701807925; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OzgjAb4nVABM4cdLet+A5u4oypfd10kZH7nsP0njb+0=;
        b=Fx9vHMGbmRolnNIw97X+2s8up2K2UGDojBfXkbja35dn3G/RpaloDmryCgGGhI4rlX
         g0WtmRqkhpiqCQcKP0MGZglNTQCYMgY+w0QAQMwvB+rG2Ew4RYtd/RkfDDuJvwPGk33e
         hMo/WFRgQDBAAvuWnF+6b1t24134mEQ2xzHDnrppYZA/rXQjCs5GDgfZOqpca84ONDzh
         +qdWatboLyvNa/bK7dAlBCHrRORIJDtL1abbSJa8ONNcwHNgF12oFaJtqKoQNJQ0JN1l
         WO5QqEAAODa1c4o4w8PNk7/V62ABP5Kdm12SKcCdWHTQ8jP8KcIVgsuHRrJX1qzKhC4i
         DhjQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701203125; x=1701807925;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=OzgjAb4nVABM4cdLet+A5u4oypfd10kZH7nsP0njb+0=;
        b=bSs2qQpsV0GQqjA7U04fCesF7AYo1UaepYknhwpOhUI1yIAbrBbe36/1Ae443e79vq
         4WFHUFD7/fNDUXcV2/eDaB9XVMqRkyazlNsQVUwJliyZYuBiC0vQfw6KJIPGrihlzP9o
         CC1e2PoNYD3+zbl38GLR7qMXmg1URSQYvkN2Qto0533EikIWP/JA6D2w4l/8fRzTl5fj
         PsYFoZg6aYJxeWSkFaZfMj2XFZ5s93bOGKSZk3oXsyD3oTTphn9a6Cg8OWxdYIHLhqnc
         54xevwL82GHpcyogNlbZz3ELQrg3z6ZB54hYNgmAqWxSi1908EPbglhTIdwz5/RLGGxn
         6iMQ==
X-Gm-Message-State: AOJu0YzvfS5FvtO0oMM3A6DwVd7EtUZkAzqULIgpqAa4wlWZVb9SEJok
	zPlwqtwQHnQ3f1PxMMar34+NBJs8r0YD5BFprLc=
X-Google-Smtp-Source: AGHT+IGLwGXEmFMxrEvPX8hlIwdB7FP9jLlN4xV1/kyDCkuZAlDQ//WwOlZWX7wrU2nd8VxPYQ541vJUXYGMXak/a4g=
X-Received: by 2002:a05:6402:2047:b0:54a:f3df:5814 with SMTP id
 bc7-20020a056402204700b0054af3df5814mr10500317edb.25.1701203125234; Tue, 28
 Nov 2023 12:25:25 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-17-jgross@suse.com>
In-Reply-To: <20231110160804.29021-17-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Nov 2023 15:25:12 -0500
Message-ID: <CAKf6xpuxDYYvFAw4=40+aEc24_kD_d4=920Lb9jjRu4=6o-8eg@mail.gmail.com>
Subject: Re: [PATCH v2 16/29] tools/xl: support new 9pfs backend xen-9pfsd
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 11:19=E2=80=AFAM Juergen Gross <jgross@suse.com> wr=
ote:
>
> Add support for the new 9pfs backend "xen-9pfsd". For this backend type
> the tag defaults to "Xen" and the host side path to
> "/var/log/xen/guests/<dom-name>".
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 20:26:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 20:26:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643468.1003730 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r84f5-0001PG-Fs; Tue, 28 Nov 2023 20:26:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643468.1003730; Tue, 28 Nov 2023 20:26: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 1r84f5-0001P9-CO; Tue, 28 Nov 2023 20:26:27 +0000
Received: by outflank-mailman (input) for mailman id 643468;
 Tue, 28 Nov 2023 20:26: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=zxdS=HJ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r84f4-0001P1-EX
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 20:26:26 +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 668d3a9e-8e2c-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 21:26:24 +0100 (CET)
Received: by mail-lf1-x12a.google.com with SMTP id
 2adb3069b0e04-50bbc36f767so1536092e87.1
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 12:26:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 668d3a9e-8e2c-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701203184; x=1701807984; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Y6tMctuMlkz4UJzr8iKkG27gUxOnsLIGdAIOxSZu4Ws=;
        b=VayfySyUYe7CFZ/w9ni5NC2FMI2QiETOuRgcy2Ov3gxmfMcFLY8ju4b/xu7FQ1tgiH
         v4P937ql7RgTfe71u+TNKYFosJzZ3nxY4DtQP9HE4SK77FeLmvB5m3CIruyk6NaxGkTx
         nhWC7Biu1o6n+RvrONGUqN1kKHrbmGL/WiCPrnpDMRSuf+yz19HRnTopey8dA+4DonNp
         BWp1G9pYNh7To/hsWDXCNEiL04M4E6M2OPht2y1ILMDwPMM0R3g3flok1FcFAvX6t8C+
         FYxrP2gyaDpvwS+/PDaM0AVCzbVZ39yHgxaRnfyZApjNbb1EqpAnnolgqEJ8NrGyOiQ6
         5xtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701203184; x=1701807984;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Y6tMctuMlkz4UJzr8iKkG27gUxOnsLIGdAIOxSZu4Ws=;
        b=xEPiVmi7oosPqILJav5eQaE4jDDY8WFpB1OLZUSAcFMLksfx8xdV+09Sdb6Ue5LZuA
         /qU5z/95K0H4e8PpXkMJ0lwrYPpPYXfpSoZtGmvCjBx2X1nyx/VrS74L2nuYlYHSUWHu
         QwrAI69KwENp50EjFf/Dl4IwMaxUdpgXx5DjzqCAggDk4WU8bzO+82Uj4Uhb0FjCy3Sx
         JlDDsPtP5sbs2cddT1HnclWsFGx/huQoewY6W3jQ7U1vZ4HmH5S/NN7GR72tsOcZmhIz
         KrHb9NZjNuFTAtjGnzQxA9f5E6O3muFvZJDFkEGp8ncWW1nEH+T+KDj3H7LCduLxwt7Z
         sw+w==
X-Gm-Message-State: AOJu0YxLFytm90j8khPpl+pOgxDLKhNmIPhs6fM8si2FGJL6BgoZ27ky
	0C0fMHpQtgvR6E+bzsA90wymJDXCZC0qW+A91ZA=
X-Google-Smtp-Source: AGHT+IHA4PyT/KRwDt+zExA0zqtE4HNF+uQUQ8KMt5GmbiusIQw3uYA43GJ8Cm/Th1oh3W6Sc4Ne/OuMDlIn8OHMsVI=
X-Received: by 2002:a05:6512:2343:b0:509:455c:9e3d with SMTP id
 p3-20020a056512234300b00509455c9e3dmr9451935lfu.18.1701203183824; Tue, 28 Nov
 2023 12:26:23 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-19-jgross@suse.com>
In-Reply-To: <20231110160804.29021-19-jgross@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Nov 2023 15:26:12 -0500
Message-ID: <CAKf6xpsk4kZcomvxyDiLwsp-pu6+x3TpipJj-s4iwxHm6YJHgg@mail.gmail.com>
Subject: Re: [PATCH v2 18/29] tools/xenstored: rename xenbus_evtchn()
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Julien Grall <julien@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, 
	Julien Grall <jgrall@amazon.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Nov 10, 2023 at 11:23=E2=80=AFAM Juergen Gross <jgross@suse.com> wr=
ote:
>
> Rename the xenbus_evtchn() function to get_xenbus_evtchn() in order to
> avoid two externally visible symbols with the same name when Xenstore-
> stubdom is being built with a Mini-OS with CONFIG_XENBUS set.
>
> Signed-off-by: Juergen Gross <jgross@suse.com>
> Reviewed-by: Julien Grall <jgrall@amazon.com>

Reviewed-by: Jason Andryuk <jandryuk@gmail.com>


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 20:42:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 20:42:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643473.1003740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r84up-0007MN-UX; Tue, 28 Nov 2023 20:42:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643473.1003740; Tue, 28 Nov 2023 20:42: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 1r84up-0007MG-Rv; Tue, 28 Nov 2023 20:42:43 +0000
Received: by outflank-mailman (input) for mailman id 643473;
 Tue, 28 Nov 2023 20:42: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=zxdS=HJ=gmail.com=jandryuk@srs-se1.protection.inumbo.net>)
 id 1r84uo-0007MA-5O
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 20:42: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 aca177d4-8e2e-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 21:42:41 +0100 (CET)
Received: by mail-ed1-x52e.google.com with SMTP id
 4fb4d7f45d1cf-5484ef5e3d2so7716464a12.3
 for <xen-devel@lists.xenproject.org>; Tue, 28 Nov 2023 12:42:41 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aca177d4-8e2e-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701204161; x=1701808961; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=Axr99m5OMh41+pjqYNsytW6h2Eb9sGMLEr3hs99VuRo=;
        b=nrAqZCorN0t5KtTEH+prYf0ReU5wLq6Vq6VfO4zetd2e8uwgaYws8YogbtelpvUD9Q
         YBmM5ulvTLrvF24PQ6A4guBUOzZQkvnoq4SuFg0DaSx2aSCLder2NrBy191TlPfx1qPV
         1/Vqk4bEaxc/bdad2jjlR66ibq/gxQqZVwBgOC+WDMLaBkD45AC4UBZFcGujT0axzoSc
         1R6ABBMyhjprO5N1UmOsj/QG9T9f1l5xDnLXJel9zoclPVGO7Pab1Cu+Vz8qj3WTSHc3
         C6oLyMCMFK4jBEK33v1jEA/lDEbPJ2ZRg5iuNhToxPNdt/Oev+M4R2Cufm2BKGhvEBUP
         +Ijg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701204161; x=1701808961;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=Axr99m5OMh41+pjqYNsytW6h2Eb9sGMLEr3hs99VuRo=;
        b=v3ooQtRKvbNX2JS09BOxl0RStbyOI7S37N2jLQThmh+poU8j/Yl6x44NPvgSjp9Rd3
         4r+GJUS/EsqlPe55gNV96mWjoXb3LKlLl/njcvcEFuUkgFb0Rxc6TBVoetrZIbVLgTpa
         4orTw7wTsW8RMe6+88O62nXVtJyevidnX8fzT9d1P2vVDinqQaEDU+RV2CmqGd4WGg6x
         vT+6HMwurApR0Wb7VZ5S6guZWvoGaw75qliE7E9G2gxmjww6oTlDfow9QeLZ3zj02GtW
         NsE6dqRUsEJVOfhqKaYc5CdyMrRqgAmt3lLr3yvwTURp4RGM/49XDDCrtPoFK7gbzDfo
         vWwQ==
X-Gm-Message-State: AOJu0Ywm2xUl+JAm7j+DCa5uB9s0AR4p7jLzO6sVKs7kdE8hqXzLhShP
	A5NsAd//kdlQMiaaJ4ZP92TdKFKOTNrQ6SAcima4b4Sw
X-Google-Smtp-Source: AGHT+IEGU6zyFI10wAgX6tYQEQe281CGyb8bR+49soQtdQSHHLfBJiL/bsXp/uqoyOcxnCZgGgOL8tr8NOlp0jj9y/E=
X-Received: by 2002:a50:8714:0:b0:54a:af21:f270 with SMTP id
 i20-20020a508714000000b0054aaf21f270mr11836692edb.28.1701204160541; Tue, 28
 Nov 2023 12:42:40 -0800 (PST)
MIME-Version: 1.0
References: <20231110160804.29021-1-jgross@suse.com> <20231110160804.29021-28-jgross@suse.com>
 <369145c5-0bcd-42e5-aff3-b2e58549674e@xen.org> <e3376d27-3b36-4290-8f7a-e99db1e2fbbf@suse.com>
 <2f024e6b-8f4b-4784-a1ef-1acb04c5a4dc@xen.org> <f15e5a60-e1b0-445b-9374-f8feda10f0b0@suse.com>
 <b18acbe0-b8f9-47d6-a85d-c4a7bd158809@xen.org> <34c2307e-f99d-41ab-b76c-948389c64bd0@suse.com>
In-Reply-To: <34c2307e-f99d-41ab-b76c-948389c64bd0@suse.com>
From: Jason Andryuk <jandryuk@gmail.com>
Date: Tue, 28 Nov 2023 15:42:28 -0500
Message-ID: <CAKf6xpsupA-eR_KLgncv-DPqNzLKxU=h_fxJfJ4F7kpfTgTQ3w@mail.gmail.com>
Subject: Re: [PATCH v2 27/29] tools/xenstored: add helpers for filename handling
To: Juergen Gross <jgross@suse.com>
Cc: Julien Grall <julien@xen.org>, xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
	Anthony PERARD <anthony.perard@citrix.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Nov 15, 2023 at 1:14=E2=80=AFAM Juergen Gross <jgross@suse.com> wro=
te:
>
> On 14.11.23 21:53, Julien Grall wrote:
> > Hi Juergen,
> >
> > On 14/11/2023 09:26, Juergen Gross wrote:
> >> On 14.11.23 10:10, Julien Grall wrote:
> >>> Hi Juergen,
> >>>
> >>> On 14/11/2023 06:45, Juergen Gross wrote:
> >>>> On 13.11.23 23:25, Julien Grall wrote:
> >>>>> Hi Juergen,
> >>>>>
> >>>>> On 10/11/2023 16:08, Juergen Gross wrote:
> >>>>>> diff --git a/tools/xenstored/lu_daemon.c b/tools/xenstored/lu_daem=
on.c
> >>>>>> index 71bcabadd3..6351111ab0 100644
> >>>>>> --- a/tools/xenstored/lu_daemon.c
> >>>>>> +++ b/tools/xenstored/lu_daemon.c
> >>>>>> @@ -24,7 +24,7 @@ void lu_get_dump_state(struct lu_dump_state *sta=
te)
> >>>>>>       state->size =3D 0;
> >>>>>>       state->filename =3D talloc_asprintf(NULL, "%s/state_dump",
> >>>>>> -                      xenstore_daemon_rundir());
> >>>>>> +                      xenstore_rundir());
> >>>>>
> >>>>> ... call and ...
> >>>>>
> >>>>>>       if (!state->filename)
> >>>>>>           barf("Allocation failure");
> >>>>>> @@ -65,7 +65,7 @@ FILE *lu_dump_open(const void *ctx)
> >>>>>>       int fd;
> >>>>>>       filename =3D talloc_asprintf(ctx, "%s/state_dump",
> >>>>>> -                   xenstore_daemon_rundir());
> >>>>>> +                   xenstore_rundir());
> >>>>>
> >>>>> ... this one could be replaced with absolute_filename().
> >>>>
> >>>> No, I don't think this is a good idea.
> >>>>
> >>>> I don't want the daemon to store trace files specified as relative f=
iles
> >>>> to be stored in /var/run/xen, while I want all files of the stubdom =
to be
> >>>> stored under /var/lib/xen.
> >>>
> >>> Why? This is a bit odd to have a different behavior between stubdom a=
nd
> >>> daemon. It would be much easier for the user if they knew all the fil=
es would
> >>> be at the same place regardless the version used.
> >>
> >> The main difference is that stubdom has access to only _one_ directory=
 in dom0.
> >
> > Would you be able to explain why we can only give access to a single di=
rectory?
> > Is this because of the 9pfs protocol?
>
> Yes. I can mount a specific dom0 directory in the guest.

I'm fine with a single directory being used for stubdom.  Two
directories could be exported, and mini-os would need to use the "tag"
to differentiate the two.  That may not be worth the added code.  QEMU
can provide multiple 9pfs exports and Linux can mount them by tag
name.

Regards,
Jason


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 20:52:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 20:52:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643476.1003751 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r854V-0001MM-Ry; Tue, 28 Nov 2023 20:52:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643476.1003751; Tue, 28 Nov 2023 20:52: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 1r854V-0001MF-Or; Tue, 28 Nov 2023 20:52:43 +0000
Received: by outflank-mailman (input) for mailman id 643476;
 Tue, 28 Nov 2023 20:52: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=A0gx=HJ=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r854U-0001M9-DM
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 20:52:42 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20618.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::618])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 10d514de-8e30-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 21:52:39 +0100 (CET)
Received: from AM6PR10CA0053.EURPRD10.PROD.OUTLOOK.COM (2603:10a6:209:80::30)
 by DU0PR08MB9249.eurprd08.prod.outlook.com (2603:10a6:10:418::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Tue, 28 Nov
 2023 20:52:35 +0000
Received: from AMS1EPF0000004D.eurprd04.prod.outlook.com
 (2603:10a6:209:80:cafe::e3) by AM6PR10CA0053.outlook.office365.com
 (2603:10a6:209:80::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22 via Frontend
 Transport; Tue, 28 Nov 2023 20:52:35 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AMS1EPF0000004D.mail.protection.outlook.com (10.167.16.138) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Tue, 28 Nov 2023 20:52:35 +0000
Received: ("Tessian outbound 385ad2f98d71:v228");
 Tue, 28 Nov 2023 20:52:34 +0000
Received: from 3ad144fdbc31.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 B42BC830-2981-4273-B382-E6CBA1ADE4DD.1; 
 Tue, 28 Nov 2023 20:52:24 +0000
Received: from EUR01-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 3ad144fdbc31.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Tue, 28 Nov 2023 20:52:24 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PR3PR08MB5642.eurprd08.prod.outlook.com (2603:10a6:102:8b::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Tue, 28 Nov
 2023 20:52:20 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7025.022; Tue, 28 Nov 2023
 20:52: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: 10d514de-8e30-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=UQakxam8Uiwv3Y1QNGcUaVIoYIeUPCJmeJ75ALjTa1kbuFXgw+ckI19xpzPzuuliEXpZA64yGDRiFIaETf+9qRtnT5bT57Z0wBVP0h/LYOvfaP+nbClONyn973AdsrafUu7y5jVuyyga2NB9oTcsFJcmT05X1/KEiXuc8lNTyUJ71YMbzr9rKtgbsxxAtB9ssRs6QmdTYD0R2aHPep0oLUOD9IiD/yxdM9AZK4QzkgBw6zubEIV5Pag6IER/0N158ITccpBGjPlhttwFIZ2YssZoGWA7Y4AIKu55f+f8s4AQ3pPR73h2V/6ZgG8Q9Glp4KHk4cLlTZNqcE4EMIIW9w==
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=XxYaol03jahPOcnE++S1SY3EL13uXar5VSQyVIbH6O4=;
 b=OtoGYXpUxWtDxaH9yZt1pjqJzNtGAzF07war6YucBy5eydECWNTLXLm4mfIL0EgxzhpAh5sB2oNVet53je1R+4Vrpw7GbmHhKpVl2/QHWEnT3kC84z0VjtS9nbMSpIItOGQvvtod6fGojCBPhugWTba+madueyWMxJpCZUdONLnGX4mkq43Mp5YrnlyvzaDObjG9S4Tr888bXOL2Y0WB7VKHTxnd47jDOtt9yHlUtwgal0mjm9xD8GWwyndGB6q13/HnYCvtL6c8T2xKaFIWXlA3PIrVW03Yxau71DGioikBodhxpjGdUPjGKGxjiJdeYfw4EYMWH14xWBvUmhz8Cg==
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=XxYaol03jahPOcnE++S1SY3EL13uXar5VSQyVIbH6O4=;
 b=XiKyfqkKQGcnzzhlQCAjkpTFcV40G/DUsnP2xO390gLYxdMRLB6Vyu9FXWcsQefualN5pgWmvlog7tMy3pS0PJlWlqWBUE8NKnryQYsK8r2veN+DxlvRM+kl0cKZwbA2wn8ehx4er4SZF4/OTJlBE4MpAtS04q8j4BuN5OosUqU=
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: e524e586a1ad8599
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=TDXmLICJh2QWz37dV45Gs7Fqe6J7yp9fF6yyWf5Er3NGHEj1z/jeAhsd5ntZZm1vgVtY9Y2hyO453tAFwERe2bnsXklDczTHVEPEmho2zK9MfI4vjXhMQJfius+xd+44/JCK9L6FczmS4afpwihTU5ObVGNfw4FcF7YrPfLjbLLT0f2gNCdQD3+SpZ0A0aRTCTD1r7XtvSZZLuJC/O2WP6iy1Pf5JAsEOL8y+tMZtqwqGOUpgJyyMeu4wXwfzOyY9tB9V5WqVIMfhRmYSZTrRVCj2ToXE+Nje03bDjXMdLf0Yis257o5XOXRd9u59NoMVN0rdgm1VrEN/+5YLYyMIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=XxYaol03jahPOcnE++S1SY3EL13uXar5VSQyVIbH6O4=;
 b=mCFmK5Y/m4DBJwjFp1k0CWM9rYwyIe7FdM4519IvWTv6o5gq60bSuhxzK1kZMTZr3huejDZMSNz7121mLOsJnb5U7Ybg4pWpJmqQNMcrJY1puLz1yWOtXkE5dRYbY/vSgRrkhok051Ojgv8lwMl1a19hd86f3Rq6VRdJQA7lPaLIETCLClzZjeRCSgn0vtA1i0LvrtOS345YTWdBXMkBgvALFuy9iGA64vQqacHRmH+iydbw3cF7CiViFzFjKsqsR+QD8uuknpfCiP/S6S3guhIQpWpWALrTdaatn2WFWAjugKgzmQVUVAQja+c+7UNRVgsbt+dTHgOEZxrr2gpDKA==
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=XxYaol03jahPOcnE++S1SY3EL13uXar5VSQyVIbH6O4=;
 b=XiKyfqkKQGcnzzhlQCAjkpTFcV40G/DUsnP2xO390gLYxdMRLB6Vyu9FXWcsQefualN5pgWmvlog7tMy3pS0PJlWlqWBUE8NKnryQYsK8r2veN+DxlvRM+kl0cKZwbA2wn8ehx4er4SZF4/OTJlBE4MpAtS04q8j4BuN5OosUqU=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Julien Grall <julien@xen.org>
CC: Michal Orzel <michal.orzel@amd.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, Stefano Stabellini
	<sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>
Subject: Re: [PATCH v6 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Topic: [PATCH v6 3/5] arm/dom0less: put dom0less feature code in a
 separate module
Thread-Index: AQHaHrt/WprXlZTUHkiZogAC2cn9MLCJTZ6AgAbFfwCAACjuAA==
Date: Tue, 28 Nov 2023 20:52:20 +0000
Message-ID: <EE4D772F-2155-4F0D-A0BB-4B2E57C5245A@arm.com>
References: <20231124094841.1475381-1-luca.fancellu@arm.com>
 <20231124094841.1475381-4-luca.fancellu@arm.com>
 <b3581594-1559-4dcb-812b-8ab18f2e5633@amd.com>
 <2aba3981-b479-4939-a51b-8c142ebd6ed7@xen.org>
In-Reply-To: <2aba3981-b479-4939-a51b-8c142ebd6ed7@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PR3PR08MB5642:EE_|AMS1EPF0000004D:EE_|DU0PR08MB9249:EE_
X-MS-Office365-Filtering-Correlation-Id: eff85fbb-1f34-4c2f-159a-08dbf053f2fc
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:
 h+zvI/cFYTIh09otgzr2QGwavgpnuruoAfv2b6izuo0KKK7JTqzA4a2bGtRbkNmSCy7NzUYFshbA+kk2Ue+MK+/C7AHhTaV5gU+gjJOPptPPeH96f2laeSCjsf299Ro56z/u2aCFrYkgOLZhdLjhVy5Wbmo2XyByFvCaCeIb6BjuG18OhNYIqtUQG8Spxfx8a7u7BjYtcCpSrKCCxnN7OFX9h5AH2al5T64tMjcKam+bgiJucf1dbOhbsJ66oniVY7qR+c4Zpw5XShqQTOfSlbDrCmg61zQHVqM1abxPPduN0OGU51OXTw1sMprsC98HM17kIc7LlVpRPg+ydgVcOpW12pEyFosJVarXr3HhyHwmR3ca0Qh6gzhnBQfhWSJoU/SpqFW4nPgclfYfn2FEbqqKjZPNhohz5wA6mTP4GRtQLsQTzqMBnFHKwWLiilMY7kjeHfQ4HHEaOAhJDWIWEDLcUxHqsS9SDHuvL6o+L+cxJ2cqOepg7plI19vQgBuW5N7bM/RNo8g1NTKharFiig0mixLqqcH1WAde3dXKHlKGHAkuPidJ6Bf0/+ps3thznf/X0LCXIGAZF1zXTsANsZ+6c/BSlz9NGXF3/oWO0S7FQiYZR0mKNeW7Z6whoyzDARpCyIviXlvWy2+d+T6iCl5WuNcql6IWD+CSBaFKXyIkF+SYo9wx4FG1zmHubbSLxw2x6fE5yQ8SzB6z9ZthQg==
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(136003)(39860400002)(396003)(346002)(366004)(230273577357003)(230173577357003)(230922051799003)(64100799003)(451199024)(186009)(1800799012)(2616005)(26005)(6512007)(478600001)(122000001)(36756003)(33656002)(86362001)(38100700002)(38070700009)(2906002)(83380400001)(5660300002)(71200400001)(53546011)(6506007)(66446008)(66556008)(66476007)(64756008)(8936002)(4326008)(8676002)(6916009)(316002)(76116006)(41300700001)(66946007)(91956017)(6486002)(54906003)(32563001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <0826D3A74D258B438E9FC91558E94444@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5642
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:
 AMS1EPF0000004D.eurprd04.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	867b65cd-8ef1-4ac9-205f-08dbf053ea1b
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	iBn2v9XkKsZNs4nGJZkrQXkqjBU/V0SwJpL2X8SNPB6lfX/s8OQ2I3uunQFoBbkoxUaHo3bjqD+btDz2e6p/o7pARlSSkphxXorGU1Nde6VPrlZgkeQ8pS1L5O2vd2rOg1mGUIhZwnGamVTP0IV77lDpF+S5LeGZ5qWn5JtGOzTpuVD5bhJqE/K5Rr5ZVWKzI3nfNR7woLNfcUR0LIuDOkyR8bt4ZQtYgs0/7czwYyAmV4uKJwrMOQW6U+8dbturLzA4W16KL+6QIw590w7yCsjRHMpDA3a5rwfQwD9Ci3kHrmvZszAzXjUZd5Yp5LbEuhaOgnRHEcC2iOLASTT95C65d/J20v838GNsb0L1yt4/7JjfNmUMzcEmQpdrU6C8T0wp67/CKCIkNc9uBhv75m0/X8GXCp1mKqrglvGMB++5rR9KAHB6dl5Mm9LPX+sxKT+LJCDtXNNBx7WyD133VY+7UXNn5VJvlGuFqbipPWyakknxGiou8TEmCGxRmaylFCuEPt7QAR39UkxqwlgquShTOs4vgXcWuh3mXWpfWeCfg2BGPleBdj+fqftu9jGNRSpFBl9UyE9Ze/ncDCWusTLKEGEGau28lyNmk2pNU5ARLM+iDO4kGdkVv/f8pq91YcoEuhNEQChSrqtDe/B0lrBCQ6aH3Xk4drYO3+1uv9wyIkJ/TqqqLOb/40p5qU6IMl2hjvCgbTaToEg5s8cRm48i6lWR6ZvVQfgAowQ1zPMyBqMn1GX8hWOGoP+B+MVjLG+D04u6GW1YCOKkaxEFCxKjAtFa41C/3Qjj8MeL/C0+8D+lVfCW+SwrVBYM/xaa
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:(13230031)(4636009)(136003)(376002)(396003)(346002)(39860400002)(230922051799003)(230173577357003)(230273577357003)(451199024)(1800799012)(82310400011)(186009)(64100799003)(40470700004)(46966006)(36840700001)(83380400001)(81166007)(40480700001)(47076005)(356005)(82740400003)(6506007)(4326008)(5660300002)(336012)(8936002)(6862004)(316002)(70586007)(70206006)(54906003)(8676002)(53546011)(36860700001)(6486002)(6512007)(86362001)(478600001)(41300700001)(2906002)(36756003)(33656002)(26005)(2616005)(40460700003)(32563001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Nov 2023 20:52:35.1834
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: eff85fbb-1f34-4c2f-159a-08dbf053f2fc
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:
	AMS1EPF0000004D.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9249

DQoNCj4gT24gMjggTm92IDIwMjMsIGF0IDE4OjI1LCBKdWxpZW4gR3JhbGwgPGp1bGllbkB4ZW4u
b3JnPiB3cm90ZToNCj4gDQo+IEhpLA0KPiANCj4gT24gMjQvMTEvMjAyMyAxMjowMSwgTWljaGFs
IE9yemVsIHdyb3RlOg0KPj4gT24gMjQvMTEvMjAyMyAxMDo0OCwgTHVjYSBGYW5jZWxsdSB3cm90
ZToNCj4+PiANCj4+PiANCj4+PiBDdXJyZW50bHkgdGhlIGRvbTBsZXNzIGZlYXR1cmUgY29kZSBp
cyBtb3N0bHkgaW5zaWRlIGRvbWFpbl9idWlsZC5jDQo+Pj4gYW5kIHNldHVwLmMsIGl0IGlzIGEg
ZmVhdHVyZSB0aGF0IG1heSBub3QgYmUgdXNlZnVsIHRvIGV2ZXJ5b25lIHNvDQo+Pj4gcHV0IHRo
ZSBjb2RlIGluIGEgZGlmZmVyZW50IGNvbXBpbGF0aW9uIG1vZHVsZSBpbiBvcmRlciB0byBtYWtl
IGl0DQo+Pj4gZWFzaWVyIHRvIGRpc2FibGUgdGhlIGZlYXR1cmUgaW4gdGhlIGZ1dHVyZS4NCj4+
PiANCj4+PiBNb3ZlIGdpY19pbnRlcnJ1cHRfdCBpbiBkb21haW5fYnVpbGQuaCB0byB1c2UgaXQg
d2l0aCB0aGUgZnVuY3Rpb24NCj4+PiBkZWNsYXJhdGlvbiwgbW92ZSBpdHMgY29tbWVudCBhYm92
ZSB0aGUgZGVjbGFyYXRpb24uDQo+Pj4gDQo+Pj4gVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJl
IG5vdyB2aXNpYmxlIGV4dGVybmFsbHkgZnJvbSBkb21haW5fYnVpbGQNCj4+PiBiZWNhdXNlIHRo
ZXkgYXJlIHVzZWQgYWxzbyBmcm9tIHRoZSBkb20wbGVzcy1idWlsZCBtb2R1bGU6DQo+Pj4gIC0g
Z2V0X2FsbG9jYXRpb25fc2l6ZQ0KPj4+ICAtIHNldF9pbnRlcnJ1cHQNCj4+PiAgLSBkb21haW5f
ZmR0X2JlZ2luX25vZGUNCj4+PiAgLSBtYWtlX21lbW9yeV9ub2RlDQo+Pj4gIC0gbWFrZV9yZXN2
X21lbW9yeV9ub2RlDQo+Pj4gIC0gbWFrZV9oeXBlcnZpc29yX25vZGUNCj4+PiAgLSBtYWtlX3Bz
Y2lfbm9kZQ0KPj4+ICAtIG1ha2VfY3B1c19ub2RlDQo+Pj4gIC0gbWFrZV90aW1lcl9ub2RlDQo+
Pj4gIC0gaGFuZGxlX2RldmljZV9pbnRlcnJ1cHRzDQo+Pj4gIC0gY29uc3RydWN0X2RvbWFpbg0K
Pj4+ICAtIHByb2Nlc3Nfc2htDQo+Pj4gIC0gYWxsb2NhdGVfYmFua19tZW1vcnkNCj4+PiANCj4+
PiBUaGUgZnVuY3Rpb25zIGFsbG9jYXRlX3N0YXRpY19tZW1vcnkgYW5kIGFzc2lnbl9zdGF0aWNf
bWVtb3J5XzExDQo+Pj4gYXJlIG5vdyBleHRlcm5hbGx5IHZpc2libGUsIHNvIHB1dCB0aGVpciBk
ZWNsYXJhdGlvbnMgaW50bw0KPj4+IGRvbWFpbl9idWlsZC5oIGFuZCBtb3ZlIHRoZSAjZWxzZSBh
bmQgc3R1YiBkZWZpbml0aW9uIGluIHRoZSBoZWFkZXINCj4+PiBhcyB3ZWxsLg0KPj4+IA0KPj4+
IE1vdmUgaXNfZG9tMGxlc3NfbW9kZSBmcm9tIHNldHVwLmMgdG8gZG9tMGxlc3MtYnVpbGQuYyBh
bmQgbWFrZSBpdA0KPj4+IGV4dGVybmFsbHkgdmlzaWJsZS4NCj4+PiANCj4+PiBUaGUgZnVuY3Rp
b24gYWxsb2NhdGVfYmFua19tZW1vcnkgaXMgdXNlZCBvbmx5IGJ5IGRvbTBsZXNzIGNvZGUNCj4+
PiBhdCB0aGUgbW9tZW50LCBidXQgaXQncyBiZWVuIGRlY2lkZWQgdG8gbGVhdmUgaXQgaW4gZG9t
YWluX2J1aWxkLmMNCj4+PiBpbiBjYXNlIHRoYXQgaW4gdGhlIGZ1dHVyZSB0aGUgZG9tMCBjb2Rl
IGNhbiB1c2UgaXQuDQo+Pj4gDQo+Pj4gV2hlcmUgc3BvdHRlZCwgZml4IGNvZGUgc3R5bGUgaXNz
dWVzLg0KPj4+IA0KPj4+IE5vIGZ1bmN0aW9uYWwgY2hhbmdlIGlzIGludGVuZGVkLg0KPj4+IA0K
Pj4+IFNpZ25lZC1vZmYtYnk6IEx1Y2EgRmFuY2VsbHUgPGx1Y2EuZmFuY2VsbHVAYXJtLmNvbT4N
Cj4+PiBSZXZpZXdlZC1ieTogTWljaGFsIE9yemVsIDxtaWNoYWwub3J6ZWxAYW1kLmNvbT4NCj4+
PiAtLS0NCj4+PiBDaGFuZ2VzIGZyb20gdjU6DQo+Pj4gIC0gcmVtb3ZlIHVubmVlZGVkIGluY2x1
ZGUgKE1pY2hhbCkNCj4+IEluY2x1ZGluZyBhc20va2VybmVsLmggd2FzIGluZGVlZCBub3QgcmVx
dWlyZWQuIEhvd2V2ZXIsIEknbSB0aGlua2luZyB0aGF0IGlmIHdlIHdhbnQgdGhlIGhlYWRlcg0K
Pj4gdG8gYmUgc2VsZi1jb250YWluZWQgYW5kIGdpdmVuIHRoYXQgLi4uDQo+PiBbLi4uXQ0KPj4+
IGRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZG9tMGxlc3MtYnVpbGQuaCBi
L3hlbi9hcmNoL2FybS9pbmNsdWRlL2FzbS9kb20wbGVzcy1idWlsZC5oDQo+Pj4gbmV3IGZpbGUg
bW9kZSAxMDA2NDQNCj4+PiBpbmRleCAwMDAwMDAwMDAwMDAuLmM1NjI1OTI1ZDk0MA0KPj4+IC0t
LSAvZGV2L251bGwNCj4+PiArKysgYi94ZW4vYXJjaC9hcm0vaW5jbHVkZS9hc20vZG9tMGxlc3Mt
YnVpbGQuaA0KPj4+IEBAIC0wLDAgKzEsMTggQEANCj4+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50
aWZpZXI6IEdQTC0yLjAtb25seSAqLw0KPj4+ICsNCj4+PiArI2lmbmRlZiBfX0FTTV9ET00wTEVT
U19CVUlMRF9IXw0KPj4+ICsjZGVmaW5lIF9fQVNNX0RPTTBMRVNTX0JVSUxEX0hfDQo+Pj4gKw0K
Pj4+ICt2b2lkIGNyZWF0ZV9kb21Vcyh2b2lkKTsNCj4+PiArYm9vbCBpc19kb20wbGVzc19tb2Rl
KHZvaWQpOw0KPj4gaGVyZSB3ZSB1c2UgYm9vbCwgSSB0aGluayB3ZSBzaG91bGQgaW5jbHVkZSA8
eGVuL3N0ZGJvb2wuaD4NCj4gDQo+IEkgaGF2ZSBkb25lIHRoZSBjaGFuZ2Ugb24gY29tbWl0LiBI
b3dldmVyLCB0aGlzIGludHJvZHVjZWQgYSBjbGFzaCBpbiB0aGUgbmV4dCBwYXRjaC4NCj4gDQo+
IEkgaGF2ZSBkb25lIGl0IHRoaXMgdGltZSBiZWNhdXNlIGl0IGlzIG1pbm9yLg0KDQpUaGFuayB5
b3UgZm9yIHRoYXQgSnVsaWVuLCBJIGRpZG7igJl0IHJlYWxpc2UgdGhlcmUgd291bGQgaGF2ZSBi
ZWVuIGEgY2xhc2gsIHNvcnJ5IGZvciB0aGUNCkluY29udmVuaWVuY2UuDQoNCkNoZWVycywNCkx1
Y2ENCg0KPiANCj4gQ2hlZXJzLA0KPiANCj4gLS0gDQo+IEp1bGllbiBHcmFsbA0KDQo=


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:09:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:09:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643479.1003760 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r85KW-0006Ho-5r; Tue, 28 Nov 2023 21:09:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643479.1003760; Tue, 28 Nov 2023 21:09: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 1r85KW-0006Hh-3A; Tue, 28 Nov 2023 21:09:16 +0000
Received: by outflank-mailman (input) for mailman id 643479;
 Tue, 28 Nov 2023 21:09: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r85KU-0006Hb-Mf
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 21:09:14 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5f76d719-8e32-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 22:09:11 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E7C6B828467E;
 Tue, 28 Nov 2023 15:09:08 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id dkK1w7bRXPu1; Tue, 28 Nov 2023 15:09:08 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DF3E58285607;
 Tue, 28 Nov 2023 15:09:07 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id EaB2Bz80lqjb; Tue, 28 Nov 2023 15:09:07 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 36CB0828467E;
 Tue, 28 Nov 2023 15:09:07 -0600 (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: 5f76d719-8e32-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com DF3E58285607
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701205747; bh=+cV0U4FB92CxZSxKehpYbSRhssvtuhbVf5mHw/eox7E=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=nsBpVWxGVl++jz9h8hiLytQoqQdULR15ZjSlVFN5WUVuf6bm0pR7owbgV+O9kbimR
	 fSiHTg9tKjnGSt58vqWWQfHcl8pYpL5dJTeG5x1gM86IoGC3TmGA9ASElytwvOau5i
	 pRCMHzWhO8nLoYNsvBl1KnXUxz/tC5UGOwVdOk3I=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <8a77af08-fed1-4b9f-ad93-df4f5d7b4d53@raptorengineering.com>
Date: Tue, 28 Nov 2023 15:09:06 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen: remove <asm/delay.h>
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Jan Beulich <jbeulich@suse.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>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <3d55bce44bd6ab9973cbe0ea2fc136cc44d35df2.1698759633.git.oleksii.kurochko@gmail.com>
 <e720e5a053c2ec6b68546f33bb5713b2f2e12c98.camel@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <e720e5a053c2ec6b68546f33bb5713b2f2e12c98.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

My apologies for the delay on this and thank you for reaching to me for
the ping, Oleksii.

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

On 11/27/23 4:26 AM, Oleksii wrote:
> Hello Shawn,
>=20
> Could you kindly review the patch when you have a moment?
> It can help with merging other patch series.
>=20
> Thanks in advance.
>=20
> ~ Oleksii
>=20
> On Tue, 2023-10-31 at 16:28 +0200, Oleksii Kurochko wrote:
>> <asm/delay.h> only declares udelay() function so udelay()
>> declaration was moved to xen/delay.h.
>>
>> For x86, __udelay() was renamed to udelay() and removed
>> inclusion of <asm/delay.h> in x86 code.
>>
>> For ppc, udelay() stub definition was moved to ppc/stubs.c.
>>
>> Suggested-by: Jan Beulich <jbeulich@suse.com>
>> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
>> Reviewed-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Changes in v2:
>> =C2=A0- rebase on top of the latest staging.
>> =C2=A0- add Suggested-by:/Reviewed-by: Jan Beulich <jbeulich@suse.com>=
.
>> =C2=A0- remove <asm/delay.h> for PPC.
>> =C2=A0- remove changes related to RISC-V's <asm/delay.h> as they've no=
t
>> =C2=A0=C2=A0 introduced in staging branch yet.
>> ---
>> =C2=A0xen/arch/arm/include/asm/delay.h=C2=A0 | 14 --------------
>> =C2=A0xen/arch/ppc/include/asm/delay.h=C2=A0 | 12 ------------
>> =C2=A0xen/arch/ppc/stubs.c=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 7 +++++++
>> =C2=A0xen/arch/x86/cpu/microcode/core.c |=C2=A0 2 +-
>> =C2=A0xen/arch/x86/delay.c=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 2 +-
>> =C2=A0xen/arch/x86/include/asm/delay.h=C2=A0 | 13 -------------
>> =C2=A0xen/include/xen/delay.h=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 |=C2=A0 2 +-
>> =C2=A07 files changed, 10 insertions(+), 42 deletions(-)
>> =C2=A0delete mode 100644 xen/arch/arm/include/asm/delay.h
>> =C2=A0delete mode 100644 xen/arch/ppc/include/asm/delay.h
>> =C2=A0delete mode 100644 xen/arch/x86/include/asm/delay.h
>>
>> diff --git a/xen/arch/arm/include/asm/delay.h
>> b/xen/arch/arm/include/asm/delay.h
>> deleted file mode 100644
>> index 042907d9d5..0000000000
>> --- a/xen/arch/arm/include/asm/delay.h
>> +++ /dev/null
>> @@ -1,14 +0,0 @@
>> -#ifndef _ARM_DELAY_H
>> -#define _ARM_DELAY_H
>> -
>> -extern void udelay(unsigned long usecs);
>> -
>> -#endif /* defined(_ARM_DELAY_H) */
>> -/*
>> - * Local variables:
>> - * mode: C
>> - * c-file-style: "BSD"
>> - * c-basic-offset: 4
>> - * indent-tabs-mode: nil
>> - * End:
>> - */
>> diff --git a/xen/arch/ppc/include/asm/delay.h
>> b/xen/arch/ppc/include/asm/delay.h
>> deleted file mode 100644
>> index da6635888b..0000000000
>> --- a/xen/arch/ppc/include/asm/delay.h
>> +++ /dev/null
>> @@ -1,12 +0,0 @@
>> -/* SPDX-License-Identifier: GPL-2.0-only */
>> -#ifndef __ASM_PPC_DELAY_H__
>> -#define __ASM_PPC_DELAY_H__
>> -
>> -#include <xen/lib.h>
>> -
>> -static inline void udelay(unsigned long usecs)
>> -{
>> -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
>> -}
>> -
>> -#endif /* __ASM_PPC_DELAY_H__ */
>> diff --git a/xen/arch/ppc/stubs.c b/xen/arch/ppc/stubs.c
>> index 4c276b0e39..a96e45626d 100644
>> --- a/xen/arch/ppc/stubs.c
>> +++ b/xen/arch/ppc/stubs.c
>> @@ -337,3 +337,10 @@ int __init parse_arch_dom0_param(const char *s,
>> const char *e)
>> =C2=A0{
>> =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
>> =C2=A0}
>> +
>> +/* delay.c */
>> +
>> +void udelay(unsigned long usecs)
>> +{
>> +=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
>> +}
>> diff --git a/xen/arch/x86/cpu/microcode/core.c
>> b/xen/arch/x86/cpu/microcode/core.c
>> index 65ebeb50de..22d5e04552 100644
>> --- a/xen/arch/x86/cpu/microcode/core.c
>> +++ b/xen/arch/x86/cpu/microcode/core.c
>> @@ -23,6 +23,7 @@
>> =C2=A0
>> =C2=A0#include <xen/alternative-call.h>
>> =C2=A0#include <xen/cpu.h>
>> +#include <xen/delay.h>
>> =C2=A0#include <xen/earlycpio.h>
>> =C2=A0#include <xen/err.h>
>> =C2=A0#include <xen/guest_access.h>
>> @@ -35,7 +36,6 @@
>> =C2=A0
>> =C2=A0#include <asm/apic.h>
>> =C2=A0#include <asm/cpu-policy.h>
>> -#include <asm/delay.h>
>> =C2=A0#include <asm/nmi.h>
>> =C2=A0#include <asm/processor.h>
>> =C2=A0#include <asm/setup.h>
>> diff --git a/xen/arch/x86/delay.c b/xen/arch/x86/delay.c
>> index 2662c26272..b3a41881a1 100644
>> --- a/xen/arch/x86/delay.c
>> +++ b/xen/arch/x86/delay.c
>> @@ -15,7 +15,7 @@
>> =C2=A0#include <asm/msr.h>
>> =C2=A0#include <asm/processor.h>
>> =C2=A0
>> -void __udelay(unsigned long usecs)
>> +void udelay(unsigned long usecs)
>> =C2=A0{
>> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long ticks =3D usecs * (cpu_khz / 10=
00);
>> =C2=A0=C2=A0=C2=A0=C2=A0 unsigned long s, e;
>> diff --git a/xen/arch/x86/include/asm/delay.h
>> b/xen/arch/x86/include/asm/delay.h
>> deleted file mode 100644
>> index 9be2f46590..0000000000
>> --- a/xen/arch/x86/include/asm/delay.h
>> +++ /dev/null
>> @@ -1,13 +0,0 @@
>> -#ifndef _X86_DELAY_H
>> -#define _X86_DELAY_H
>> -
>> -/*
>> - * Copyright (C) 1993 Linus Torvalds
>> - *
>> - * Delay routines calling functions in arch/i386/lib/delay.c
>> - */
>> -
>> -extern void __udelay(unsigned long usecs);
>> -#define udelay(n) __udelay(n)
>> -
>> -#endif /* defined(_X86_DELAY_H) */
>> diff --git a/xen/include/xen/delay.h b/xen/include/xen/delay.h
>> index 9150226271..8fd3b8f99f 100644
>> --- a/xen/include/xen/delay.h
>> +++ b/xen/include/xen/delay.h
>> @@ -3,7 +3,7 @@
>> =C2=A0
>> =C2=A0/* Copyright (C) 1993 Linus Torvalds */
>> =C2=A0
>> -#include <asm/delay.h>
>> +void udelay(unsigned long usecs);
>> =C2=A0
>> =C2=A0static inline void mdelay(unsigned long msec)
>> =C2=A0{
>=20


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:17:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:17:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643483.1003770 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r85S0-0000Md-10; Tue, 28 Nov 2023 21:17:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643483.1003770; Tue, 28 Nov 2023 21:17: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 1r85Rz-0000MW-Ul; Tue, 28 Nov 2023 21:16:59 +0000
Received: by outflank-mailman (input) for mailman id 643483;
 Tue, 28 Nov 2023 21:16: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r85Ry-0000MN-82
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 21:16:58 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7537fa01-8e33-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 22:16:56 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 1CE24828532E;
 Tue, 28 Nov 2023 15:16:55 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id xkMzlCIIqkG2; Tue, 28 Nov 2023 15:16:54 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 35AE5828562B;
 Tue, 28 Nov 2023 15:16:54 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id JfWTIagrxU0r; Tue, 28 Nov 2023 15:16:54 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 9BAC3828532E;
 Tue, 28 Nov 2023 15:16:53 -0600 (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: 7537fa01-8e33-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 35AE5828562B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701206214; bh=hr5q9Yzx07FYVexmxmt9QkDbS1amPngm1+ZnEtLtu/E=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=ltGKFOThiBT2NBk8WMKcLa7Ok/3kSEy8mlvcbZNJk4zmvsEl7czbQprhabKR4ZIsT
	 0SM4Vc/oNthOnTRIgL0kSRyJGeA3VUPhYAVspoD7Z8YK+/RndXoJZBisw9LC3jGNEf
	 Z20U01zHiZBqBCTs5Hjyiilzu7kjD5wGzFO9fBjc=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <a5a4f07d-289c-405f-a1dd-76f060f5ff30@raptorengineering.com>
Date: Tue, 28 Nov 2023 15:16:52 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 01/14] xen/asm-generic: introduce stub header paging.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, Julien Grall <jgrall@amazon.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <78608aaa8108f1dd56758c098f64534580c54cc3.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <78608aaa8108f1dd56758c098f64534580c54cc3.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> The patch introduces generic paging.h header for Arm, PPC and
> RISC-V.
> 
> All mentioned above architectures use hardware virt extensions
> and hardware pagetable extensions thereby it makes sense to set
> paging_mode_translate and paging_mode_external by default.
> 
> Also in this patch Arm and PPC architectures are switched to
> generic paging.h header.

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:25:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:25:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643489.1003787 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r85a2-0002Hv-TP; Tue, 28 Nov 2023 21:25:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643489.1003787; Tue, 28 Nov 2023 21: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 1r85a2-0002Ho-PZ; Tue, 28 Nov 2023 21:25:18 +0000
Received: by outflank-mailman (input) for mailman id 643489;
 Tue, 28 Nov 2023 21:25: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 1r85a1-0002He-6r; Tue, 28 Nov 2023 21:25: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 1r85a1-0001hX-5w; Tue, 28 Nov 2023 21:25: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 1r85a0-0000Qb-Pg; Tue, 28 Nov 2023 21:25:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r85a0-0001C5-PE; Tue, 28 Nov 2023 21: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=xenproject.org; s=20200302mail; h=Date:From:Subject:MIME-Version:
	Content-Transfer-Encoding:Content-Type:Message-ID:To;
	bh=qC7Bra9O/61qmk46PhkcTQLSsdB5tM+NbRVDUu7ta9s=; b=pJOS5rmkg2HO/WAFiTqNJO0NWB
	8NuU120fLVFrhOzuVMumrKBL+vUGCDFAsdslZT4zOSHLE0kgCfY8hcoqbn3ymNV6YwNM4Mo4cY9Ke
	BXhRwURKf9fcKqdLYHailydGpV5cq6TwBacbTUMq85knObBHrKNRNypJDRPFd2kzZW2U=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183909-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183909: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=e1627f77201ac55d24e9d0e3380f9dbdc600843c
X-Osstest-Versions-That:
    ovmf=9eec96bd4fc53d7836b5606f2a8bbb10713cc8f5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 21:25:16 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 e1627f77201ac55d24e9d0e3380f9dbdc600843c
baseline version:
 ovmf                 9eec96bd4fc53d7836b5606f2a8bbb10713cc8f5

Last test of basis   183895  2023-11-28 13:41:02 Z    0 days
Testing same since   183909  2023-11-28 18:11:03 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael Kubacki <michael.kubacki@microsoft.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
   9eec96bd4f..e1627f7720  e1627f77201ac55d24e9d0e3380f9dbdc600843c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:26:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:26:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643493.1003797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r85al-0002pL-4a; Tue, 28 Nov 2023 21:26:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643493.1003797; Tue, 28 Nov 2023 21:26: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 1r85al-0002pE-1s; Tue, 28 Nov 2023 21:26:03 +0000
Received: by outflank-mailman (input) for mailman id 643493;
 Tue, 28 Nov 2023 21:26: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=PqHi=HJ=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r85aj-0002p6-Tw
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 21:26:02 +0000
Received: from m35-190.mailgun.net (m35-190.mailgun.net [69.72.35.190])
 by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id b99f4ffd-8e34-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 22:26:00 +0100 (CET)
Received: from mg.gitlab.com (24.226.74.34.bc.googleusercontent.com
 [34.74.226.24]) by
 2aa945c5e0d3 with SMTP id 65665ae68218c7e49ac92593 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Tue, 28 Nov 2023 21:25:58 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: b99f4ffd-8e34-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1701206758; x=1701213958; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=x2VmKLiTh2oy+J31BluFx0d80TOoSn3ZRsTe6Ocl6EU=;
 b=dcpRgyedyrbqnqrB/QTLd59jqs4tXnSbORUJdKp0vgJWmeHDrEGokeM1Klwa3sCD3nfixjNfNzkhQqN4lMi7lRubPeuHAf9ODi4PuYPKxcM702LirKSOiOCGmv2xsbHf2O5kkd5EgP5EVkrPLLg4vl9XcdfkuWlrXrhZBHspB0E=
X-Mailgun-Sending-Ip: 69.72.35.190
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Tue, 28 Nov 2023 21:25:58 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65665ae6a19b4_2c9ac2c40552@gitlab-sidekiq-catchall-v2-8596c68889-7bsks.mail>
Subject: xen | Successful pipeline for staging | 18540a31
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65665ae6997d2_2c9ac2c40483";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1088270744
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65665ae6997d2_2c9ac2c40483
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1088270744 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 18540a31 ( https://gitlab.com/xen-project/xen/-/commit/18540a313cc66a04eb15a67d74c7992a8576fbec )
Commit Message: arm/dom0less: introduce Kconfig for dom0less fe...
Commit Author: Luca Fancellu ( https://gitlab.com/luca.fancellu )
Committed by: Julien Grall



Pipeline #1088270744 ( https://gitlab.com/xen-project/xen/-/pipelines/1088270744 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65665ae6997d2_2c9ac2c40483
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 18540a31</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1088270744 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/18540a313cc66a04eb=
15a67d74c7992a8576fbec" style=3D"color: #3777b0; text-decoration: none;">=
18540a31</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
arm/dom0less: introduce Kconfig for dom0less fe...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://gitlab.com/up=
loads/-/system/user/avatar/5760100/avatar.png?width=3D24" style=3D"displa=
y: block; border-radius: 12px; margin: -2px 0;" width=3D"24" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/luca.fancellu" style=3D"col=
or: #333333; text-decoration: none;">
Luca Fancellu
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/c4cdf37f0b2565754a400ffda114e915?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108827=
0744" style=3D"color: #3777b0; text-decoration: none;">#1088270744</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65665ae6997d2_2c9ac2c40483--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:28:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:28:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643524.1003806 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r85dU-0005eP-Hw; Tue, 28 Nov 2023 21:28:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643524.1003806; Tue, 28 Nov 2023 21:28: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 1r85dU-0005eI-FP; Tue, 28 Nov 2023 21:28:52 +0000
Received: by outflank-mailman (input) for mailman id 643524;
 Tue, 28 Nov 2023 21:28: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r85dS-0005WO-II
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 21:28:50 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1e5870bf-8e35-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 22:28:49 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 49BAA8285461;
 Tue, 28 Nov 2023 15:28:48 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id kaVquueqcWZq; Tue, 28 Nov 2023 15:28:47 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 47E5782855A6;
 Tue, 28 Nov 2023 15:28:47 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Nc5KXLy-ckZ1; Tue, 28 Nov 2023 15:28:47 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 9753F8285461;
 Tue, 28 Nov 2023 15:28:46 -0600 (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: 1e5870bf-8e35-11ee-98e3-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 47E5782855A6
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701206927; bh=sqRcJdVouJOE3MNExJwnNc9doiygwMWuN+/sl61rL00=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=QiLeZNBKHuFt39gRJfc6xHTYg2deZDHq0+2yv9qX9jLd2yRlVvYX6AnVDTCjK48VW
	 MTy/ED/g1A9WGksKR7k09CTx9zuy3ingA6YTOTy8hK5Otf2BrDjc2rB6kQWc1X+Fcy
	 tZzwH3VlpZY61aJ37Azkyz5qt0gQ1gTPUaM9x40E=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <98023f51-5953-4384-918d-ae726d74ef7c@raptorengineering.com>
Date: Tue, 28 Nov 2023 15:28:45 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
> index ece7fa66dd..df4c1ebb08 100644
> --- a/xen/arch/ppc/include/asm/Makefile
> +++ b/xen/arch/ppc/include/asm/Makefile
> @@ -1,3 +1,4 @@
>  # SPDX-License-Identifier: GPL-2.0-only
> +generic-y += device.h
>  generic-y += paging.h
>  generic-y += vm_event.h
> diff --git a/xen/arch/ppc/include/asm/device.h b/xen/arch/ppc/include/asm/device.h
> deleted file mode 100644
> index 8253e61d51..0000000000
> --- a/xen/arch/ppc/include/asm/device.h
> +++ /dev/null
> @@ -1,53 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -#ifndef __ASM_PPC_DEVICE_H__
> -#define __ASM_PPC_DEVICE_H__
> -
> -enum device_type
> -{
> -    DEV_DT,
> -    DEV_PCI,
> -};
> -
> -struct device {
> -    enum device_type type;
> -#ifdef CONFIG_HAS_DEVICE_TREE
> -    struct dt_device_node *of_node; /* Used by drivers imported from Linux */
> -#endif
> -};
> -
> -enum device_class
> -{
> -    DEVICE_SERIAL,
> -    DEVICE_IOMMU,
> -    DEVICE_PCI_HOSTBRIDGE,
> -    /* Use for error */
> -    DEVICE_UNKNOWN,
> -};
> -
> -struct device_desc {
> -    /* Device name */
> -    const char *name;
> -    /* Device class */
> -    enum device_class class;
> -    /* List of devices supported by this driver */
> -    const struct dt_device_match *dt_match;
> -    /*
> -     * Device initialization.
> -     *
> -     * -EAGAIN is used to indicate that device probing is deferred.
> -     */
> -    int (*init)(struct dt_device_node *dev, const void *data);
> -};
> -
> -typedef struct device device_t;
> -
> -#define DT_DEVICE_START(name_, namestr_, class_)                    \
> -static const struct device_desc __dev_desc_##name_ __used           \
> -__section(".dev.info") = {                                          \
> -    .name = namestr_,                                               \
> -    .class = class_,                                                \
> -
> -#define DT_DEVICE_END                                               \
> -};
> -
> -#endif /* __ASM_PPC_DEVICE_H__ */
> diff --git a/xen/arch/ppc/include/asm/irq.h b/xen/arch/ppc/include/asm/irq.h
> index 5c37d0cf25..49193fddff 100644
> --- a/xen/arch/ppc/include/asm/irq.h
> +++ b/xen/arch/ppc/include/asm/irq.h
> @@ -3,7 +3,9 @@
>  #define __ASM_PPC_IRQ_H__
>  
>  #include <xen/lib.h>
> +#ifdef CONFIG_HAS_DEVICE_TREE

I realize that you were likely following PPC's device.h which also
checks CONFIG_HAS_DEVICE_TREE, but I'm not sure that it makes sense to
check this conditional in PPC code at all -- we will always have
HAS_DEVICE_TREE (selected by PPC) and I can't imagine a scenario where
this will ever not be the case.

Unless Jan (or someone else) disagrees, I'd rather this conditional be
dropped inside of PPC code.

>  #include <xen/device_tree.h>
> +#endif
>  #include <public/device_tree_defs.h>
>  
>  /* TODO */
> @@ -25,9 +27,11 @@ static inline void arch_move_irqs(struct vcpu *v)
>      BUG_ON("unimplemented");
>  }
>  
> +#ifdef CONFIG_HAS_DEVICE_TREE

Ditto.

>  static inline int platform_get_irq(const struct dt_device_node *device, int index)
>  {
>      BUG_ON("unimplemented");
>  }
> +#endif
>  
>  #endif /* __ASM_PPC_IRQ_H__ */

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:36:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:36:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643532.1003818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r85kX-0007T8-Fg; Tue, 28 Nov 2023 21:36:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643532.1003818; Tue, 28 Nov 2023 21:36: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 1r85kX-0007T1-Bd; Tue, 28 Nov 2023 21:36:09 +0000
Received: by outflank-mailman (input) for mailman id 643532;
 Tue, 28 Nov 2023 21:36: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r85kW-0007Sv-C1
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 21:36:08 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 23203050-8e36-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 22:36:07 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id C748582855D2;
 Tue, 28 Nov 2023 15:36:05 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id ZwZZ4LGCtZXi; Tue, 28 Nov 2023 15:36:02 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 921AB828562B;
 Tue, 28 Nov 2023 15:36:02 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id odo25ct4gI-U; Tue, 28 Nov 2023 15:36:02 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 0D50D82855D2;
 Tue, 28 Nov 2023 15:36:01 -0600 (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: 23203050-8e36-11ee-98e3-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 921AB828562B
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701207362; bh=viGxz3mpji1XOsZqZoN1cc9i4RT2optDTGFw9EARNrc=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=Xvy0podiHRLYnGABIvKoBfVn16hqjSVZzr36cRxT8GEKh4N3P35a4zXIwuuvOkvxR
	 8krmzA+7rK2ycoDENgi2WItJdVXryMiskfNrflSlgzU8s2baCumoLEUVLtAjBrX4Wq
	 vQyyxu919UMpIoXsFEYLftWKN/szsEzycTfYxBbI=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <68213190-4d6f-4d5a-9807-7e2cabb80ed5@raptorengineering.com>
Date: Tue, 28 Nov 2023 15:36:01 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
 <6aa8c7e5-c13e-43e0-bec4-74827407c985@suse.com>
 <0e948dcb22fe553053431083f19f058245016e41.camel@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <0e948dcb22fe553053431083f19f058245016e41.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi Oleksii,

On 11/27/23 1:46 PM, Oleksii wrote:
> On Mon, 2023-11-27 at 15:31 +0100, Jan Beulich wrote:
>> On 27.11.2023 15:13, Oleksii Kurochko wrote:
>>> --- a/xen/arch/ppc/include/asm/irq.h
>>> +++ b/xen/arch/ppc/include/asm/irq.h
>>> @@ -3,7 +3,9 @@
>>>  #define __ASM_PPC_IRQ_H__
>>> =20
>>>  #include <xen/lib.h>
>>> +#ifdef CONFIG_HAS_DEVICE_TREE
>>>  #include <xen/device_tree.h>
>>> +#endif
>>>  #include <public/device_tree_defs.h>
>>
>> Why would this #ifdef not cover the public header as well? (Otherwise
>> I'd
>> be inclined to ask that the conditional be moved inside that header.)
> In that header is defined only consts without additional header
> inclusion. At that moment it looked to me pretty save to ifdef only
> xen/device_tree.h but you are right we can move incluion of the public
> header inside #ifdef OR just remove as xen/device_tree.h already
> includes it.
>

Removing the include of <xen/device_tree.h> from ppc's asm/irq.h breaks
the build, because of platform_get_irq's usage of the `struct
dt_device_node` type:

  CC      common/cpu.o
In file included from ./include/xen/irq.h:80,
                 from ./include/xen/pci.h:13,
                 from ./include/xen/iommu.h:25,
                 from ./include/xen/sched.h:12,
                 from ./include/xen/event.h:12,
                 from common/cpu.c:3:
./arch/ppc/include/asm/irq.h:28:49: error: =E2=80=98struct dt_device_node=
=E2=80=99
declared inside parameter list will not be visible outside of this
definition or declaration [-Werror]
   28 | static inline int platform_get_irq(const struct dt_device_node
*device, int index)

I wouldn't be opposed to a forward declaration of that type, but as I
indicated in my other reply to this patch, I'd like to avoid the
addition of these essentially always-dead CONFIG_HAS_DEVICE_TREE checks
to PPC code anyways, so dropping this hunk entirely from the patch might
be the way forward.

> ~ Oleksii

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:47:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:47:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643543.1003833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r85vV-0002UN-J3; Tue, 28 Nov 2023 21:47:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643543.1003833; Tue, 28 Nov 2023 21: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 1r85vV-0002UG-Fj; Tue, 28 Nov 2023 21:47:29 +0000
Received: by outflank-mailman (input) for mailman id 643543;
 Tue, 28 Nov 2023 21:47: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r85vU-0002St-4v
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 21:47:28 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7baca9a-8e37-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 22:47:25 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 9C2D4828557E;
 Tue, 28 Nov 2023 15:47:24 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id nqVIkFJcR7mq; Tue, 28 Nov 2023 15:47:24 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id EC85982857E9;
 Tue, 28 Nov 2023 15:47:23 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id xsVYTUBjxhBZ; Tue, 28 Nov 2023 15:47:23 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 725B0828557E;
 Tue, 28 Nov 2023 15:47:23 -0600 (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: b7baca9a-8e37-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com EC85982857E9
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701208044; bh=FaXMNdyythGojEAb0LkIthqPngbZvJlOSOHE21paz9Q=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=Po2hfmhhcebIOp4MSD/iets/cY/3FpWe1dEL/Aibxm1UaHZJHhkUupSdShCFb3EJt
	 v0zOJ3n1v4sWjZ8ht9sFq9p7fS2Aa5lvRXVDu9TlYbNzTf1zmXppExN92q0VOzeLIn
	 1Rfa7sHz2wkc9eKBjD7Xd1IRX833atlMV+5rYvIY=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <9df9317b-868e-4926-b1b8-296f4b1b8f17@raptorengineering.com>
Date: Tue, 28 Nov 2023 15:47:22 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 03/14] xen/asm-generic: introduce generic hypercall.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.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: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <b08aeb05ae905d8ed0d61f3780e20c576950f96b.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <b08aeb05ae905d8ed0d61f3780e20c576950f96b.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> Introduce an empty generic hypercall.h for archs which don't
> implement it.
> 
> Drop PPC's hypercall.h and switch to generic one instead.

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:50:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:50:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643545.1003843 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r85y6-000540-Uq; Tue, 28 Nov 2023 21:50:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643545.1003843; Tue, 28 Nov 2023 21:50: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 1r85y6-00053t-SJ; Tue, 28 Nov 2023 21:50:10 +0000
Received: by outflank-mailman (input) for mailman id 643545;
 Tue, 28 Nov 2023 21:50: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r85y5-00053n-7W
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 21:50:09 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 180373c4-8e38-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 22:50:07 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 34C7F8286981;
 Tue, 28 Nov 2023 15:50:06 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id AVE2M6cpjn0K; Tue, 28 Nov 2023 15:50:05 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id BF2B68286993;
 Tue, 28 Nov 2023 15:50:05 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Ybe1_n7-A4GX; Tue, 28 Nov 2023 15:50:05 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 0541D8286981;
 Tue, 28 Nov 2023 15:50:04 -0600 (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: 180373c4-8e38-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com BF2B68286993
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701208205; bh=JHCXwG0PAJJ/U2x8v5MvWkgYfnRQxqSyQYZVumNAFIU=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=F6Z70z6/sGIGmYgnrLhP+E0bAI11q3WbJGDYditOrEnfUoOZHTx5ITBOf724Lmd7Z
	 maEmj7IQ51ZDlYUpESxi5N2iC7p6soYw0Ccd2z//vQftlUXYJOpkHIUzCyRfsL5qdO
	 PSjpm7r4vuwPM3MdAYkyY5kyUZmcZvvjevUeDpCw=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <309c7dd9-3ec4-4514-bad2-55cf9aab24b9@raptorengineering.com>
Date: Tue, 28 Nov 2023 15:50:04 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 04/14] xen/asm-generic: introduce generic header
 iocap.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, Julien Grall <jgrall@amazon.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <855ac4ea4061fac36f24dc8b9125349c2074e1dc.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <855ac4ea4061fac36f24dc8b9125349c2074e1dc.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> iocap.h is common for Arm, PPC and RISC-V architectures thereby
> it was moved to asm-generic.
> 
> Also Arm and PPC were switched to asm-generic version of iocap.h.
>

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:51:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:51:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643548.1003852 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r85zT-0005bt-8a; Tue, 28 Nov 2023 21:51:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643548.1003852; Tue, 28 Nov 2023 21: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 1r85zT-0005bm-5w; Tue, 28 Nov 2023 21:51:35 +0000
Received: by outflank-mailman (input) for mailman id 643548;
 Tue, 28 Nov 2023 21:51: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r85zR-0005bd-Rj
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 21:51:33 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4a730797-8e38-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 22:51:31 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 2478D828565B;
 Tue, 28 Nov 2023 15:51:31 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id q72Qzt86SBTY; Tue, 28 Nov 2023 15:51:30 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 88F3C8285803;
 Tue, 28 Nov 2023 15:51:30 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id y86560eSI5SR; Tue, 28 Nov 2023 15:51:30 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id D460E828565B;
 Tue, 28 Nov 2023 15:51:29 -0600 (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: 4a730797-8e38-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 88F3C8285803
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701208290; bh=ACzalJTA/WW2sD3lIscq5xosZr/6lMSCILhiDErmXD8=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=Tcsz9cjtOore/vs/Bjio3MO2bEb6scVZtaCPP4jTT5ET+QmAvG1mQzG2O601dZ9jh
	 qQBH5wW1FQFINjynr3fK1u5+9KIgh+hS3Ruygc42QQtgRW5C/WR1OoCm14CTwZtPF1
	 OUh094ujBeyMRBAk0a0ETT7bU67BnK9yqkD13UCE=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <d1c9a5eb-d63b-4c04-9077-4c0ee440f46e@raptorengineering.com>
Date: Tue, 28 Nov 2023 15:51:29 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 05/14] xen/asm-generic: introduce stub header
 <asm/random.h>
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, Julien Grall <jgrall@amazon.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <6025959eee0b7c140b97a7866c6c762e74eee1a7.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <6025959eee0b7c140b97a7866c6c762e74eee1a7.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> <asm/random.h> is common for Arm, PPC and RISC-V thereby it
> is moved to asm-generic.
>

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 21:58:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 21:58:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643552.1003862 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r866H-00085Z-W8; Tue, 28 Nov 2023 21:58:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643552.1003862; Tue, 28 Nov 2023 21: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 1r866H-00085S-TL; Tue, 28 Nov 2023 21:58:37 +0000
Received: by outflank-mailman (input) for mailman id 643552;
 Tue, 28 Nov 2023 21:58: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r866F-00085M-Si
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 21:58:35 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 45dd557e-8e39-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 22:58:33 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 84E0E82857EA;
 Tue, 28 Nov 2023 15:58:32 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id WOEmYFTdA4yf; Tue, 28 Nov 2023 15:58:31 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 947FD8285803;
 Tue, 28 Nov 2023 15:58:31 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id MRUSkrEkCOM9; Tue, 28 Nov 2023 15:58:31 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id EE99082857EA;
 Tue, 28 Nov 2023 15:58:30 -0600 (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: 45dd557e-8e39-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 947FD8285803
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701208711; bh=4v6G1EuCRG17MgKiv3UwTD56E8TEVbVzeNRD8z/twu4=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=NGo5l5g06gikczbJJDV45DGFji+YVQTXX62j337rQk9zZvmBVqZ8k8P7BaT5in6RE
	 zRUV63WV7XpNQTi/T692J5+ahhcnjdn+vr7R1aOedg/X/edZ8ZFHZgU9yzLAfqrI4I
	 ++EGO75q3MjVLZrU+OySZsCLoVksa9gkqXmyfLQA=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <3fdd6ebe-d9ff-4881-a59e-86d5ad46dd2f@raptorengineering.com>
Date: Tue, 28 Nov 2023 15:58:30 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 06/14] xen/asm-generic: introduce generic header
 percpu.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Julien Grall <jgrall@amazon.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <7f10cbda3885a91e108e1a303fe74ffc21d1025c.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <7f10cbda3885a91e108e1a303fe74ffc21d1025c.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> The patch introduces generic percpu.h which was based on Arm's version
> with the following changes:
>  * makes __per_cpu_data_end[] constant
>  * introduce get_per_cpu_offset() for macros this_cpu() and this_cpu_ptr()
>  * add inclustion of <asm/current.h> as get_per_cpu_offset() is located there.
> 
> Also it was changed a place where <asm/percpu.h> is included in <xen/percpu.h>
> because asm-generic version of percpu.h started to include <asm/current.h> which
> requires definition of DECLARE_PER_CPU.
> 
> As well the patch switches Arm, PPC and x86 architectures to use asm-generic
> version of percpu.h.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Acked-by: Julien Grall <jgrall@amazon.com>
> ---
> Changes in V4:
>  - Added FIXME comment in ppc/current.h for get_per_cpu_offset()

Sorry I missed the discussion on this in v3, but yes, the PPC
implementation of this will need to be fixed (this was also the case
before your patch in PPC's current percpu.h but it was conspicuously
missing a TODO comment).

In any case,

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 22:01:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 22:01:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643554.1003872 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8694-00015w-Dk; Tue, 28 Nov 2023 22:01:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643554.1003872; Tue, 28 Nov 2023 22:01: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 1r8694-00015p-A2; Tue, 28 Nov 2023 22:01:30 +0000
Received: by outflank-mailman (input) for mailman id 643554;
 Tue, 28 Nov 2023 22:01: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 1r8693-00015d-Df; Tue, 28 Nov 2023 22:01: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 1r8693-0002NZ-8x; Tue, 28 Nov 2023 22:01: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 1r8692-0003iX-Vz; Tue, 28 Nov 2023 22:01:29 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8692-0002KQ-V9; Tue, 28 Nov 2023 22:01: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=uEGYjNVq7k+yFVT4alQVRZJ+86KayCkoaASmxmvEMaU=; b=5E3t1x49/yHkEa7Q25VojqeDcR
	q2VVI5hWWTb9jK3WdYbG9mAnsG/VN8Akxl/It0HQaPt07WCOp6uo5SbjtSBpe5G/8UnlQAM3IeSsL
	unDCTFJ9DVfgOK+qhToXCwJwEl5H1ZWMeT9Icbk1PGc/YdHSL6hkT3rcrUtjgCzhffk8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183884-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183884: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl-xsm: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-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: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-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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu: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-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=df60cee26a2e3d937a319229e335cb3f9c1f16d2
X-Osstest-Versions-That:
    linux=b46ae77f67874918c540feb1e37a63308b2c9290
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 22:01:28 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183859
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183859
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183859
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183859
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183859
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183859
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183859
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183859
 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-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-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-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          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          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-libvirt     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-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                df60cee26a2e3d937a319229e335cb3f9c1f16d2
baseline version:
 linux                b46ae77f67874918c540feb1e37a63308b2c9290

Last test of basis   183859  2023-11-25 22:13:34 Z    2 days
Failing since        183862  2023-11-26 04:55:31 Z    2 days    7 attempts
Testing same since   183884  2023-11-28 08:21:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alexander Stein <alexander.stein@ew.tq-group.com>
  Andrea della Porta <andrea.porta@suse.com>
  Andrew Halaney <ahalaney@redhat.com>
  Arnd Bergmann <arnd@arndb.de>
  Asuna Yang <SpriteOvO@gmail.com>
  Badhri Jagan Sridharan <badhri@google.com>
  Borislav Petkov (AMD) <bp@alien8.de>
  Christophe JAILLET <christophe.jaillet@wanadoo.fr>
  Chunfeng Yun <chunfeng.yun@mediatek.com>
  Conor Dooley <conor.dooley@microchip.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Dapeng Mi <dapeng1.mi@linux.intel.com>
  Francesco Dolcini <francesco.dolcini@toradex.com>
  Geert Uytterhoeven <geert+renesas@glider.be>
  Gil Fine <gil.fine@linux.intel.com>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Hans de Goede <hdegoede@redhat.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Heikki Krogerus <heikki.krogerus@linux.intel.com>
  Heikki Krogeus <heikki.krogerus@linux.intel.com>
  Helge Deller <deller@gmx.de>
  Ingo Molnar <mingo@kernel.org>
  Ivan Ivanov <ivan.ivanov@suse.com>
  Johan Hovold <johan+linaro@kernel.org>
  Johan Hovold <johan@kernel.org>
  Kent Overstreet <kent.overstreet@linux.dev>
  Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
  Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
  Lech Perczak <lech.perczak@gmail.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Martin Tůma <martin.tuma@digiteqautomotive.com>
  Masami Hiramatsu (Google) <mhiramat@kernel.org>
  Mathias Nyman <mathias.nyman@linux.intel.com>
  Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  Matthias Kaehlcke <mka@chromium.org>
  Mika Westerberg <mika.westerberg@linux.intel.com>
  Namjae Jeon <linkinjeon@kernel.org>
  Niklas Neronin <niklas.neronin@linux.intel.com>
  Oliver Neukum <oneukum@suse.com>
  Paulo Alcantara (SUSE) <pc@manguebit.com>
  Paulo Alcantara <pc@manguebit.com>
  Pawel Laszczak <pawell@cadence.com>
  Pengfei Xu <pengfei.xu@intel.com>
  Peter Chen <peter.chen@kernel.org>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Peter Zijlstra <peterz@infradead.org>
  Puliang Lu <puliang.lu@fibocom.com>
  Ricardo Ribalda <ribalda@chromium.org>
  Ritvik Budhiraja <rbudhiraja@microsoft.com>
  Shawn Guo <shawn.guo@linaro.org>
  Stanley Chang <stanley_chang@realtek.com>
  Stefan Eichenberger <stefan.eichenberger@toradex.com>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Thinh Nguyen <Thinh.Nguyen@synopsys.com>
  Victor Fragoso <victorffs@hotmail.com>
  Wentong Wu <wentong.wu@intel.com>
  Will McVicker <willmcvicker@google.com>
  Yangyu Chen <cyy@cyyself.name>
  Zongmin Zhou <zhouzongmin@kylinos.cn>
  Zongmin Zhou<zhouzongmin@kylinos.cn>

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-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-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
   b46ae77f6787..df60cee26a2e  df60cee26a2e3d937a319229e335cb3f9c1f16d2 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 22:02:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 22:02:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643559.1003883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r869c-0001eo-Qm; Tue, 28 Nov 2023 22:02:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643559.1003883; Tue, 28 Nov 2023 22: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 1r869c-0001eh-Ms; Tue, 28 Nov 2023 22:02:04 +0000
Received: by outflank-mailman (input) for mailman id 643559;
 Tue, 28 Nov 2023 22:02: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r869b-0001eP-6O
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 22:02:03 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c190780b-8e39-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 23:02:01 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 4BA308285430;
 Tue, 28 Nov 2023 16:02:00 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id cmfLz0S_iBl6; Tue, 28 Nov 2023 16:01:59 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 7785082857EA;
 Tue, 28 Nov 2023 16:01:59 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id crhUnAQZSb5j; Tue, 28 Nov 2023 16:01:59 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 971D08285430;
 Tue, 28 Nov 2023 16:01:58 -0600 (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: c190780b-8e39-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 7785082857EA
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701208919; bh=saj2O1zbIZcNpKmqiuQUI2MYBmSAK1pzVp9tEFQCwWY=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=KjJs26auZC6wjxMdfvdp2S2vdq7CXd4X3jFQ6vw//t829aUGIcA2wLprZEBppAjar
	 s8JPhyZX824fNgJy7ON/rs2jvbLr1r0e7qXmL9luqS3UGCTdpdJW16ZRtmGwkfG59o
	 4JhmkAx8K2riBXxyw9Ikynba9nllqtsCz+1DKeC0=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <6faff72c-e848-4072-9357-b2e989424fa7@raptorengineering.com>
Date: Tue, 28 Nov 2023 16:01:57 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 07/14] xen/asm-generic: introduce generalized hardirq.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, Julien Grall <jgrall@amazon.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <4834c3e10a0dba429edb41c340065560ccf0d942.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <4834c3e10a0dba429edb41c340065560ccf0d942.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> <asm/hardirq.h> is common through archs thereby it is moved
> to asm-generic.
> 
> Arm and PPC were switched to asm generic verstion of hardirq.h.
>

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 22:06:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 22:06:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643566.1003899 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r86E9-0002Xf-DT; Tue, 28 Nov 2023 22:06:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643566.1003899; Tue, 28 Nov 2023 22:06: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 1r86E9-0002XY-Al; Tue, 28 Nov 2023 22:06:45 +0000
Received: by outflank-mailman (input) for mailman id 643566;
 Tue, 28 Nov 2023 22:06: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 1r86E8-0002XO-Q6; Tue, 28 Nov 2023 22:06: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 1r86E8-0002T0-EG; Tue, 28 Nov 2023 22:06: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 1r86E8-000476-2u; Tue, 28 Nov 2023 22:06:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r86E8-0006SH-2S; Tue, 28 Nov 2023 22:06: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=Az3IK6XR7qiK7a0OL+alfxU3fTe98R8/IH+q/I+yuGQ=; b=BydxpTuPJMvy3nr9K03kJ+1UNU
	QlkGFr0BiK7EHr4jljrHJZvpReKfWTuVh0eqn4lgD39+7urKG1mfEwyOdtSilDOQZWzfMmJQsxd/4
	rd0mpJtVptBMsrxtTL6xT+yaO8NqLKVN8f4DJFHLP5OqPqvTGtYmwfNj2qzOohkTNJHU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183908-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183908: regressions - FAIL
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-arm64-xsm:xen-build:fail:regression
    xen-unstable-smoke:build-armhf:xen-build/dist-test:fail:regression
    xen-unstable-smoke:test-arm64-arm64-xl-xsm:build-check(1):blocked:nonblocking
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-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=72d51813d631fe27d37736b7a55eeec08f246983
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 22:06:44 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   7 xen-build/dist-test      fail REGR. vs. 183851
 build-arm64-xsm               6 xen-build                fail REGR. vs. 183851
 build-armhf                   7 xen-build/dist-test      fail REGR. vs. 183851

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-xl-xsm       1 build-check(1)               blocked  n/a
 test-amd64-amd64-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

version targeted for testing:
 xen                  72d51813d631fe27d37736b7a55eeec08f246983
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    4 days
Failing since        183871  2023-11-27 14:00:26 Z    1 days    7 attempts
Testing same since   183874  2023-11-27 19:00:27 Z    1 days    6 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=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 72d51813d631fe27d37736b7a55eeec08f246983
Author: Jan Beulich <jbeulich@suse.com>
Date:   Mon Nov 27 15:18:48 2023 +0100

    x86: amend cpu_has_xen_{ibt,shstk}
    
    ... to evaluate to false at compile-time when the respective Kconfig
    control is off, thus allowing the compiler to eliminate then-dead code.
    
    Signed-off-by: Jan Beulich <jbeulich@suse.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 17754972fa98bff2dfdec09b8094f54530bafcb8
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:56 2023 +0100

    x86/atomic: address violations of MISRA C:2012 Rule 11.8
    
    Edit casts that unnecessarily remove const qualifiers
    to comply with Rule 11.8.
    The type of the provided pointer may be const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fc63c0ebefe7e9d166b07971273c1de62428eb18
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:32 2023 +0100

    AMD/IOMMU: address violations of MISRA C:2012 Rule 11.8
    
    Drop an unnecessary cast discarding a const qualifier, to comply with
    Rule 11.8. The type of the formal parameter ivhd_block is const
    qualified.
    
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit fe26cb2dd20fa864deb05e4b278bc9993ba120e6
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:17:07 2023 +0100

    x86/boot/reloc: address violations of MISRA C:2012 Rule 11.8
    
    Add missing const qualifier in casting to comply with Rule 11.8.
    Argument tag is typically const qualified.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 09c2fe438da1dfc83f70d921b52240bea576615f
Author: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
Date:   Mon Nov 27 15:16:43 2023 +0100

    x86/platform_hypercall: address violations of MISRA C:2012 Rule 11.8
    
    Add const qualifier in cast that unnecessarily removes it
    to comply with Rule 11.8.
    The variable info is declared with a const qualified type.
    No functional change.
    
    Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
    Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

commit 82182ad7b46e0f7a3856bb12c7a9bf2e2a4570bc
Author: Roger Pau Monné <roger.pau@citrix.com>
Date:   Mon Nov 27 15:16:01 2023 +0100

    livepatch: do not use .livepatch.funcs section to store internal state
    
    Currently the livepatch logic inside of Xen will use fields of struct
    livepatch_func in order to cache internal state of patched functions.  Note
    this is a field that is part of the payload, and is loaded as an ELF section
    (.livepatch.funcs), taking into account the SHF_* flags in the section
    header.
    
    The flags for the .livepatch.funcs section, as set by livepatch-build-tools,
    are SHF_ALLOC, which leads to its contents (the array of livepatch_func
    structures) being placed in read-only memory:
    
    Section Headers:
      [Nr] Name              Type             Address           Offset
           Size              EntSize          Flags  Link  Info  Align
    [...]
      [ 4] .livepatch.funcs  PROGBITS         0000000000000000  00000080
           0000000000000068  0000000000000000   A       0     0     8
    
    This previously went unnoticed, as all writes to the fields of livepatch_func
    happen in the critical region that had WP disabled in CR0.  After 8676092a0f16
    however WP is no longer toggled in CR0 for patch application, and only the
    hypervisor .text mappings are made write-accessible.  That leads to the
    following page fault when attempting to apply a livepatch:
    
    ----[ Xen-4.19-unstable  x86_64  debug=y  Tainted:   C    ]----
    CPU:    4
    RIP:    e008:[<ffff82d040221e81>] common/livepatch.c#apply_payload+0x45/0x1e1
    [...]
    Xen call trace:
       [<ffff82d040221e81>] R common/livepatch.c#apply_payload+0x45/0x1e1
       [<ffff82d0402235b2>] F check_for_livepatch_work+0x385/0xaa5
       [<ffff82d04032508f>] F arch/x86/domain.c#idle_loop+0x92/0xee
    
    Pagetable walk from ffff82d040625079:
     L4[0x105] = 000000008c6c9063 ffffffffffffffff
     L3[0x141] = 000000008c6c6063 ffffffffffffffff
     L2[0x003] = 000000086a1e7063 ffffffffffffffff
     L1[0x025] = 800000086ca5d121 ffffffffffffffff
    
    ****************************************
    Panic on CPU 4:
    FATAL PAGE FAULT
    [error_code=0003]
    Faulting linear address: ffff82d040625079
    ****************************************
    
    Fix this by moving the internal Xen function patching state out of
    livepatch_func into an area not allocated as part of the ELF payload.  While
    there also constify the array of livepatch_func structures in order to prevent
    further surprises.
    
    Note there's still one field (old_addr) that gets set during livepatch load.  I
    consider this fine since the field is read-only after load, and at the point
    the field gets set the underlying mapping hasn't been made read-only yet.
    
    Fixes: 8676092a0f16 ('x86/livepatch: Fix livepatch application when CET is active')
    Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
    Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

commit 46f2e2c3bcd5b17dae0fd1e45ed8619d6c047b55
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:15:09 2023 +0100

    xen/mm: address violations of MISRA C:2012 Rules 8.2 and 8.3
    
    Add missing parameter names and uniform the interfaces of
    modify_xen_mappings() and modify_xen_mappings_lite().
    
    No functional change.
    
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit b82b867a6694368b9a74ed00397b2393d129a24d
Author: Federico Serafini <federico.serafini@bugseng.com>
Date:   Mon Nov 27 15:14:00 2023 +0100

    x86/mm: preparation work to uniform modify_xen_mappings* interfaces
    
    The objective is to use parameter name "nf" to denote "new flags"
    in all the modify_xen_mappings* functions.
    Since modify_xen_mappings_lite() is currently using "nf" as identifier
    for a local variable, bad things could happen if new uses of such
    variable are committed while a renaming patch is waiting for the
    approval.
    To avoid such danger, as first thing rename the local variable from
    "nf" to "flags".
    
    No functional change.
    
    Suggested-by: Jan Beulich <jbeulich@suse.com>
    Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
    Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
    Acked-by: Jan Beulich <jbeulich@suse.com>

commit fbcec32d6d3ea0ac329301925b317478316209ed
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:39:55 2023 +0000

    x86/mem_sharing: Release domain if we are not able to enable memory sharing
    
    In case it's not possible to enable memory sharing (mem_sharing_control
    fails) we just return the error code without releasing the domain
    acquired some lines above by rcu_lock_live_remote_domain_by_id().
    
    Fixes: 72f8d45d69b8 ("x86/mem_sharing: enable mem_sharing on first memop")
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>

commit b9eeb1992676ec83cee285b97fee94d03eaa9836
Author: Frediano Ziglio <frediano.ziglio@cloud.com>
Date:   Wed Nov 22 16:26:20 2023 +0000

    x86/mem_sharing: Fix typo in comment
    
    ambigious -> ambiguous
    
    Signed-off-by: Frediano Ziglio <frediano.ziglio@cloud.com>
    Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
    Acked-by: Tamas K Lengyel <tamas@tklengyel.com>
(qemu changes not included)


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 22:07:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 22:07:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643570.1003909 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r86Ee-00036w-M6; Tue, 28 Nov 2023 22:07:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643570.1003909; Tue, 28 Nov 2023 22:07: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 1r86Ee-00036p-JQ; Tue, 28 Nov 2023 22:07:16 +0000
Received: by outflank-mailman (input) for mailman id 643570;
 Tue, 28 Nov 2023 22:07: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r86Ed-0002z7-OI
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 22:07:15 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7c99b6b5-8e3a-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 23:07:15 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id E68D182857FE;
 Tue, 28 Nov 2023 16:07:13 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 1jsdbtL7mJsg; Tue, 28 Nov 2023 16:07:13 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 2EA7C8285803;
 Tue, 28 Nov 2023 16:07:13 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id TQm_Y3AktP88; Tue, 28 Nov 2023 16:07:12 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 7623882857FE;
 Tue, 28 Nov 2023 16:07:12 -0600 (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: 7c99b6b5-8e3a-11ee-98e3-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 2EA7C8285803
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701209233; bh=B71guaLwFWYA8HCV6pT3CKzlhpTZehOZGb6yicRkDa4=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=jqFot0PuLCqYXk9uDeTu6ya4Q6QBvracgJjBx1bjlOJxuGIijkuzsq3Lri37rbyvf
	 hUL+XUIhm7FIsMmrJhuL1Mon/4nSbWidL3U1UO2Fwmfv//E//AwZPai8MXAb73Dn94
	 6D+0MSnyRg6yH3sYRJSPk7X11rS9I189oTe3xfwA=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <83084425-8972-44dc-b4e7-543ad1cd7343@raptorengineering.com>
Date: Tue, 28 Nov 2023 16:07:11 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 08/14] xen/asm-generic: introduce generic div64.h
 header
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <adc8456bd3c5574491f78ac7f8ce7934d359d005.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <adc8456bd3c5574491f78ac7f8ce7934d359d005.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> All archs have the do_div implementation for BITS_PER_LONG == 64
> so do_div64.h is moved to asm-generic.
> 
> x86 and PPC were switched to asm-generic version of div64.h.
>

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 22:09:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 22:09:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643573.1003919 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r86GQ-00047b-2a; Tue, 28 Nov 2023 22:09:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643573.1003919; Tue, 28 Nov 2023 22: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 1r86GP-00047U-VH; Tue, 28 Nov 2023 22:09:05 +0000
Received: by outflank-mailman (input) for mailman id 643573;
 Tue, 28 Nov 2023 22:09: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r86GP-00047K-1q
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 22:09:05 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bd7e82de-8e3a-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 23:09:04 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 6282F82857FE;
 Tue, 28 Nov 2023 16:09:02 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 3RYj9CoDEETd; Tue, 28 Nov 2023 16:09:01 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 60D5A8285803;
 Tue, 28 Nov 2023 16:09:01 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id 1frnGDYNcObo; Tue, 28 Nov 2023 16:09:01 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id A425382857FE;
 Tue, 28 Nov 2023 16:09:00 -0600 (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: bd7e82de-8e3a-11ee-98e3-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 60D5A8285803
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701209341; bh=lCNBXPpzYwAYeqknWC19jPWni95npP7sGGp/o5XqRmM=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=iPQyolJ4+4rjjz6YoNroG3GKLolPa+OoA+9009WEwz9tXRDXDjRwDIXynLTjBr3GV
	 7XdIC3XubfmhniK4b5Ctu5rvAGdRnDy9/gnOiPMNqgDAyL8qbMGl7XaI0JnJW6wJ1L
	 /Xg1U4tAIvkeQoZr/mCCWq6HVZt9QNkGPqNbNypg=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <99676d3d-fb91-4196-91c2-bb1ca3158b73@raptorengineering.com>
Date: Tue, 28 Nov 2023 16:09:00 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 09/14] xen/asm-generic: introduce generic header
 altp2m.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <5e1846febdbc5b9ebfe61993231dbebc9457f083.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <5e1846febdbc5b9ebfe61993231dbebc9457f083.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> <asm/alt2pm.h> is common between several archs so it is
> moved to asm-generic.
> 
> Arm and PPC were switched to asm-generic version of altp2m.h.
>

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 22:21:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 22:21:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643578.1003928 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r86Sj-0000t3-42; Tue, 28 Nov 2023 22:21:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643578.1003928; Tue, 28 Nov 2023 22:21: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 1r86Sj-0000sw-1S; Tue, 28 Nov 2023 22:21:49 +0000
Received: by outflank-mailman (input) for mailman id 643578;
 Tue, 28 Nov 2023 22:21: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=9Vht=HJ=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r86Si-0000rT-8j
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 22:21:48 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8376bf72-8e3c-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 23:21:45 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 6D9038285425;
 Tue, 28 Nov 2023 16:21:44 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 0dmXMz8I_-fA; Tue, 28 Nov 2023 16:21:43 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 58D028285646;
 Tue, 28 Nov 2023 16:21:43 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id A9kJkjsV90S0; Tue, 28 Nov 2023 16:21:43 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id D56618285425;
 Tue, 28 Nov 2023 16:21:42 -0600 (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: 8376bf72-8e3c-11ee-9b0e-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 58D028285646
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701210103; bh=W4ogoQFYuhzwTXqcopBxbeHHUEWSh3pBGF4yRRlPa80=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=blKQ1ZRJd74X0etEtfEwpDnYT9O8fNtejd3u4B8RnZXjllIZbbl4BcgmrDVczRnRd
	 X9XDY9qhSI/SpucyZrBGBz9TRWZ/ohRqcD+6t5S4DHOkr8RxHH4mCDaub84Zi2tzWJ
	 Hnwl6NUAQlFc1LujOQplV3R/qImLxzzkJjKg4JEM=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <22ffed63-8f05-477f-b37c-c660410c2ce6@raptorengineering.com>
Date: Tue, 28 Nov 2023 16:21:42 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 10/14] xen/asm-generic: introduce stub header monitor.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, Jan Beulich <jbeulich@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <83e16ccc588d35042b804e0d56ebdb5fe710695b.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <83e16ccc588d35042b804e0d56ebdb5fe710695b.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> The header is shared between several archs so it is
> moved to asm-generic.
> 
> Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> Acked-by: Jan Beulich <jbeulich@suse.com>.
> ---
> Changes in V4:
>  - Removed the double blank line.
>  - Added Acked-by: Jan Beulich <jbeulich@suse.com>.
>  - Update the commit message
> ---
> Changes in V3:
>  - Use forward-declaration of struct domain instead of " #include <xen/sched.h> ".
>  - Add ' include <xen/errno.h> '
>  - Drop PPC's monitor.h.
> ---
> Changes in V2:
> 	- remove inclusion of "+#include <public/domctl.h>"
> 	- add "struct xen_domctl_monitor_op;"
> 	- remove one of SPDX tags.
> ---
>  xen/arch/ppc/include/asm/Makefile  |  1 +
>  xen/arch/ppc/include/asm/monitor.h | 43 ---------------------
>  xen/include/asm-generic/monitor.h  | 62 ++++++++++++++++++++++++++++++
>  3 files changed, 63 insertions(+), 43 deletions(-)
>  delete mode 100644 xen/arch/ppc/include/asm/monitor.h
>  create mode 100644 xen/include/asm-generic/monitor.h
> 
> diff --git a/xen/arch/ppc/include/asm/Makefile b/xen/arch/ppc/include/asm/Makefile
> index 319e90955b..bcddcc181a 100644
> --- a/xen/arch/ppc/include/asm/Makefile
> +++ b/xen/arch/ppc/include/asm/Makefile
> @@ -5,6 +5,7 @@ generic-y += div64.h
>  generic-y += hardirq.h
>  generic-y += hypercall.h
>  generic-y += iocap.h
> +generic-y += monitor.h
>  generic-y += paging.h
>  generic-y += percpu.h
>  generic-y += random.h
> diff --git a/xen/arch/ppc/include/asm/monitor.h b/xen/arch/ppc/include/asm/monitor.h
> deleted file mode 100644
> index e5b0282bf1..0000000000
> --- a/xen/arch/ppc/include/asm/monitor.h
> +++ /dev/null
> @@ -1,43 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -/* Derived from xen/arch/arm/include/asm/monitor.h */
> -#ifndef __ASM_PPC_MONITOR_H__
> -#define __ASM_PPC_MONITOR_H__
> -
> -#include <public/domctl.h>
> -#include <xen/errno.h>
> -
> -static inline
> -void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
> -{
> -}
> -
> -static inline
> -int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
> -{
> -    /* No arch-specific monitor ops on PPC. */
> -    return -EOPNOTSUPP;
> -}
> -
> -int arch_monitor_domctl_event(struct domain *d,
> -                              struct xen_domctl_monitor_op *mop);
> -
> -static inline
> -int arch_monitor_init_domain(struct domain *d)
> -{
> -    /* No arch-specific domain initialization on PPC. */
> -    return 0;
> -}
> -
> -static inline
> -void arch_monitor_cleanup_domain(struct domain *d)
> -{
> -    /* No arch-specific domain cleanup on PPC. */
> -}
> -
> -static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
> -{
> -    BUG_ON("unimplemented");

I'm not sure how I feel about this assertion being dropped in the
generic header. In general my philosophy when creating these stub
headers was to insert as many of these assertions as possible so we
don't end up in a scenario where during early bringup I miss a function
that was originally stubbed but ought to be implemented eventually.

Looking at ARM's monitor.h too, it seems that this function is the only
one that differs from the generic/stub version. I'm wondering if it
would make sense to leave this function out of the generic header, to be
defined by the arch similar to what you've done with some other
functions in this series. That would also allow ARM to be brought in to
using the generic variant.

> -    return 0;
> -}
> -
> -#endif /* __ASM_PPC_MONITOR_H__ */
> diff --git a/xen/include/asm-generic/monitor.h b/xen/include/asm-generic/monitor.h
> new file mode 100644
> index 0000000000..6be8614431
> --- /dev/null
> +++ b/xen/include/asm-generic/monitor.h
> @@ -0,0 +1,62 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * include/asm-GENERIC/monitor.h
> + *
> + * Arch-specific monitor_op domctl handler.
> + *
> + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> + * Copyright (c) 2016, Bitdefender S.R.L.
> + *
> + */
> +
> +#ifndef __ASM_GENERIC_MONITOR_H__
> +#define __ASM_GENERIC_MONITOR_H__
> +
> +#include <xen/errno.h>
> +
> +struct domain;
> +struct xen_domctl_monitor_op;
> +
> +static inline
> +void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
> +{
> +}
> +
> +static inline
> +int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
> +{
> +    /* No arch-specific monitor ops on GENERIC. */
> +    return -EOPNOTSUPP;
> +}
> +
> +int arch_monitor_domctl_event(struct domain *d,
> +                              struct xen_domctl_monitor_op *mop);
> +
> +static inline
> +int arch_monitor_init_domain(struct domain *d)
> +{
> +    /* No arch-specific domain initialization on GENERIC. */
> +    return 0;
> +}
> +
> +static inline
> +void arch_monitor_cleanup_domain(struct domain *d)
> +{
> +    /* No arch-specific domain cleanup on GENERIC. */
> +}
> +
> +static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
> +{

See previous comment.

> +    return 0;
> +}
> +
> +#endif /* __ASM_GENERIC_MONITOR_H__ */
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: BSD
> + * c-basic-offset: 4
> + * indent-tabs-mode: nil
> + * End:
> + */

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 22:24:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 22:24:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643581.1003939 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r86VF-00024U-Ma; Tue, 28 Nov 2023 22:24:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643581.1003939; Tue, 28 Nov 2023 22:24: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 1r86VF-00024N-Jy; Tue, 28 Nov 2023 22:24:25 +0000
Received: by outflank-mailman (input) for mailman id 643581;
 Tue, 28 Nov 2023 22:24: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=KQ+o=HJ=epam.com=prvs=6696a101d4=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r86VD-00024F-Nn
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 22:24:23 +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 dfe2690a-8e3c-11ee-9b0e-b553b5be7939;
 Tue, 28 Nov 2023 23:24:21 +0100 (CET)
Received: from pps.filterd (m0174680.ppops.net [127.0.0.1])
 by mx0b-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ASLhXKg003046; Tue, 28 Nov 2023 22:24:16 GMT
Received: from eur02-am0-obe.outbound.protection.outlook.com
 (mail-am0eur02lp2233.outbound.protection.outlook.com [104.47.11.233])
 by mx0b-0039f301.pphosted.com (PPS) with ESMTPS id 3umxeymfcp-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 28 Nov 2023 22:24:16 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AS8PR03MB7672.eurprd03.prod.outlook.com (2603:10a6:20b:402::17)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Tue, 28 Nov
 2023 22:24:13 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 22: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>
X-Inumbo-ID: dfe2690a-8e3c-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fVuyCIi4KftF7ZnDqDizONje6W2i+iC3Hzb4soOlTY0qbcMb0QBm+IeVwVJpvKL96bfIIwpN0LO6kSfcow2JQ2UiCz5hNqK0KLzlocT2kqFvs6TuZgL9SNA/OoHIRH0vI2Htypz5xxJtW3lbYgkxvdd++RcnJ4G/dpAm5z0Dpj/FDWb6UqebcaVNj8eD+JCg6aXZ3YCcAv9YKI9kuGZViCnrM8xKfxbFs5+nIpfnzhnwBe/RKqQilcMvzauiG052QjtYxaWrAjeoeNbciZJIyrG9ejZSk6ziGm4LWOUM9kvX/P84gbskqD9zOmVj0vUKILfEoxG4IrKPBNrYKDtFpg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=KxxTC7MzxsgS0nkgkUExKzZbzLVl7qMR8fJ2O9b8uzc=;
 b=icgxL9Su1OjcvuT/Va8FsGTYZBpUFK33dtd5yFnp+IyzbIAKh3K9tSpql/S+lQ+N/I5VjZk+ZAx3bAHBk6wmOmz+s4p6q7mQpj+c6BHCDwDJKoJUv+e96b37GWACNn3hc1bIlafK3vpKlE7Ps+zapq2ETO2GwCpJuZ8QlTrCuNJ2JPGGnzMI6b1ZstqrH3zL2UhRnrzJOuOcqNfSMHMFm7B9Sugip6eAk3Vp59RS/3nUPdFSqHbRqD6thQzRFF1skjPadgInC5D1QTU0EqoectIsJreTSqmefzEjMg5ubsxzlUYQh0HjV40LYp/4TkkzhRi9Vrjv9zzjZ8C9QvWD3A==
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=KxxTC7MzxsgS0nkgkUExKzZbzLVl7qMR8fJ2O9b8uzc=;
 b=LdVZV37w7Pn3GcW8uBsyBwO710A+sqM+g4r26Q83LANXDPPfo4e3H6/K35i0IKFx1cCShmd9UxFrElzUyBMQCoj93LmYrbi0+dLD/wNusztC1OQ6WOFUeZyn5dZdqupV9s0QmnbrHZ0r+qYdQnHZqymQK3kmS84ynW+R0ME0Lxx2SyvZJGt1hmlNZ10OgqNodPqDSFjDEoMLNh7h+3haU5hxDFxMK13L3OdeQlui0L5Wpl+c+IXNvWNvBQ3l2OsBH0g2lFmI2Pgk+lbTQ9SdcchjfQi3mgTTIt5KSm6RKvb1bA8hu9P2SACGZTDxPhU2WAXAE/Vy+orsOwjHyeP1Pg==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
        Stewart
 Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr Andrushchenko
	<Oleksandr_Andrushchenko@epam.com>,
        Jan Beulich <jbeulich@suse.com>,
        Andrew
 Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
        Jun Nakajima
	<jun.nakajima@intel.com>,
        Kevin Tian <kevin.tian@intel.com>, Paul Durrant
	<paul@xen.org>
Subject: Re: [PATCH v10 03/17] vpci: use per-domain PCI lock to protect vpci
 structure
Thread-Topic: [PATCH v10 03/17] vpci: use per-domain PCI lock to protect vpci
 structure
Thread-Index: AQHZ/Vi9bRc3EUPSDEy0THfJgPlJLLB+12MAgBGozoA=
Date: Tue, 28 Nov 2023 22:24:12 +0000
Message-ID: <87h6l5tt2s.fsf@epam.com>
References: <20231012220854.2736994-1-volodymyr_babchuk@epam.com>
 <20231012220854.2736994-4-volodymyr_babchuk@epam.com>
 <ZVeDzhzl4y6Ok9y7@macbook.local>
In-Reply-To: <ZVeDzhzl4y6Ok9y7@macbook.local>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AS8PR03MB7672:EE_
x-ms-office365-filtering-correlation-id: 2e5fbd3f-d32d-452e-a1a8-08dbf060bfb4
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 jBy9Q6Ekmcw0qNvsE0oHYUUMHzhBfBFnvRfheIx2RhY0f7whXL0sr8UZbR/3+m53SHAQ7FboPjdTpUV5hKh79zYFhE03LUeLsGKQR5r6EyAkIplXFNhX7g2EMBJoQ+Jr/cA+4QeJbiBVGrmmvQyZ8MgU2tJAipVb34kFRxpcSyTIwbH7wIIUU+l/Dba0oEZWwACmOApVaAH69Ik0myhNVI08UhYV3wXYwSoQtX1EhsIwm1Cq7e1r16A9oFY9Lp/MNZ6+o5QJ4vIvKgFmaOktxaJQ2MQ91CZIte8B/fBNnz41x39fcIVpvY1vx9tB4MOKdn40XQ6/tjUpqbbgzVjGs0Q8Rt65x7eteVzZREy+VL/JkNCisIdM0m1j2owBPtjfw7zatSjXr/8SODYzLnZ8ibtBRRKIrnfJHY0/kYQwFTH/1z0mZGxq+qZED2e2GU859ExmBKWJ+Yt42RrNeZ3LJqvGluxJ1dUGhDTXiSwuMYTU4J15Q/qT7H0x0xZILC5Yz24hA3jT71AwSbx/pfB+sDoW7nhhvGkMfbXfXXcyKbUqHy/3t841rqumTdaMbnSNDERC+vAVQKQbTUWH7cMWB+K4dZcZ+hWE6twXUsj5RROCcaZsb4SvGMFIqDev7lux
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:(13230031)(366004)(39860400002)(376002)(136003)(346002)(396003)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(6506007)(71200400001)(55236004)(6512007)(478600001)(6486002)(83380400001)(122000001)(8676002)(4326008)(5660300002)(8936002)(2906002)(38100700002)(66556008)(54906003)(66476007)(76116006)(316002)(64756008)(66946007)(26005)(86362001)(91956017)(66446008)(38070700009)(36756003)(2616005)(41300700001)(6916009);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?NjkvTTYyekJIcG1iYU5ZWGdUUnkxWmRmZVVGdlJxZnZlUUQ5ZlYwK1VWRGFz?=
 =?utf-8?B?c2ViUUh5TmFsTDhuOEl0UnhOeGJtRkt5VEtPalhWV1R2bXVlbi9UakNmRkt2?=
 =?utf-8?B?N1NhclZSSzdMdVA2RXJnQTNkb2YrMXhGVG1wVjBqcDBPUlZ0bkxySkFUbzN5?=
 =?utf-8?B?dHdrd25DUm5HRkJOUEgrbWhLVElVSU5pVXJIczl1OTlyRWVreC9QR1NMVkxy?=
 =?utf-8?B?c3ZLeFNhTW5FdGtMOGVheU5NOHhwMHVEV1lsdTNkSmFxVUJpc21iZEtuem5H?=
 =?utf-8?B?VEx6TjFwWkdDYkVzeURQdE1qZDluMEN1ZHlUaGV3MFNKTmtwWmpTWi9Td1Fw?=
 =?utf-8?B?Mjc2dGMrSk53SEptQ0NZZzZyUUVSVC9OcUZRV2hQdXpiV2hyazhwUkVmZEtj?=
 =?utf-8?B?eVFJTFdCTWxCYlVHY01ISGJMc01KTnVwYm5TNGVkb0MzUThsY0hOMUxJZisr?=
 =?utf-8?B?Z3FOOXFoZDZjMml5c0N3MVBUcERlTDRZZGZCZW9ReUlDUDI1Q1VKMUl1UE9x?=
 =?utf-8?B?aDVOTnlFNDIvbVE3Vll1UDJYVjkycHRGRG1aVUNLL2NkTFMvVXF6YkdqMUhL?=
 =?utf-8?B?ZEN6NElBMmdTcmVwSit4bHdmRjdsbE9BbVpJVEpNbExXcG1UdU5PdEFGWWEv?=
 =?utf-8?B?cGlBSERCRkRWdnFQWEJNWC9IZFBvNG5xZXN0aHhuTWtMYnBhbkVJdDU2NjBq?=
 =?utf-8?B?akY5OFU3WWlKNnZIaTdROGIxK3l4emx3UzhNUGZXdlF0M0VISzBueDRpMmdU?=
 =?utf-8?B?UUJHSG5rTjR1U0FvTGpaRHZUYzhUcitnOS91TXJSTUNyRDFIZGZHVXk3ekRD?=
 =?utf-8?B?NHMrYmVvdmZSWjV5THhsQjlhTGNYOFhvdm44ejdUZG9tK011OXlwdGFSc2s4?=
 =?utf-8?B?MUdrdzhyZmlQNkdoSnlxbnFDa2IySlBPK2Q3U1YvUkdGRmwzclpaNmk0VjRU?=
 =?utf-8?B?WnJQdUdLNnNhRjVXSTFJWHVFZHJMOXRla1ROaWFYbGFObEx6dVkzLzJpQzk0?=
 =?utf-8?B?N0NabHY4Q2N6b09tK09nSm9SZysrbkFHQWdsM1NvajhHM25kc2ZZK2J5N2tH?=
 =?utf-8?B?NnYyM1htcTg2VWJva1FMZmVYTGlMS0MwWDR6akxFN1czYW9MSmwrY0JwZ2FH?=
 =?utf-8?B?UFFkdTNZVGhIYU9qZ2QxUGxBUU1ST0FWNmZ1RW42MndHamRxaVlGdXAxOGs2?=
 =?utf-8?B?enFaSVI4RTN4ZDFjSUVnNVRTQk5SeiswdWk3bUVrWlM3bUM1RUtBL2tPaUFL?=
 =?utf-8?B?SEJuV1dWdzFJM0ljTmZxT1B2cmEzaStUUUp6bHFwemU2ZWxWNm9BQmRlR1Bw?=
 =?utf-8?B?OWxoNHM2U04weWQ0NkY1dTZoM0kvb2hrS1BhRVRpRHlBYVZXSUNhNmZFNlAy?=
 =?utf-8?B?aE1HalVjY2RkQ3J2RVVkZTdGVVYrVDVjSkUrVE1yRHdTc29GQURzYjNmaWwr?=
 =?utf-8?B?NnA2ZVhMMHQ2OG1sYUg5Wm10T0ZwWm1EZ0srNlpsWXhMaHVZNW5uaHZJbHlU?=
 =?utf-8?B?OFNVU1FKWjNoRGJpaTluQzZ0NUVPdm54akp2b2NWd3kzVDBmVjBOa2hBRFIy?=
 =?utf-8?B?YUFlaFNRRFhJVzB6SGdCTmlWNk9ybmg3cEY2MXlaWFkwYW5nWUdydFZTa3Rz?=
 =?utf-8?B?Y0orNkxhVStRd3Z4aFBZVnlLWnJLelhGSlJRZ2p2ZGFiVjFKRlRjMlR0UldF?=
 =?utf-8?B?ak5aOWlDY0hNSXh6YmdEdjJTNXpOR0txV1FQVFJaMWEwY0RaYUh0bExNc2la?=
 =?utf-8?B?Z1N5Y2p1QnJVNTRGb0ppbDRia1NKSERkakFXSm84eFBzYVZWQkdWaHZLM1Zm?=
 =?utf-8?B?U0NWT3EvRkFqbTdDSmRtcXRoWW9aZHpwc3pvTy9XaHhpTUxxOFl1enJtNDkz?=
 =?utf-8?B?Umw4SjRKb3U4TGZNZkNDRW5ubTczeWpYdXFva3J0bVV4WkV2d1JpYmZZWkJz?=
 =?utf-8?B?b01zZ3kwNWZUelhxZ0pEY0xxR0ppcktpUkpRUVUwOFhZeVhMQXl6YWhmb25B?=
 =?utf-8?B?V3VGTnFUQ0daY2x4NkpUaUxxV0pKQ3lheG9LRGF4OE1iS3YxVDBPY3pFbWJJ?=
 =?utf-8?B?RmdCam9CWi84TUZCUVJtazlNa1drQllLTzZDQkZ3eXpySWF0ZnUrTFhtVUVX?=
 =?utf-8?B?TVgrK2ZhZll4K0s4WlB3WHZ6a2Niam13WEgwQnBxVXE3ZFVETmpIS2ovNlRi?=
 =?utf-8?B?VVE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <BC5A03E880AC804ABA214150378A7EB8@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2e5fbd3f-d32d-452e-a1a8-08dbf060bfb4
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Nov 2023 22:24:12.6597
 (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: yuV5fsXmKVTvWYHqsWvOlukyHGA3Rm1w7Xf0YalbGYA2rPykJQDjzl1D3UzXhuk/GbpbR/mwOREwIrYtklJuqMLU4chqHpXpuuttoPjpNRE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR03MB7672
X-Proofpoint-GUID: nzCdB2CvgDlRsgsnVd_aaYysb3zfJ150
X-Proofpoint-ORIG-GUID: nzCdB2CvgDlRsgsnVd_aaYysb3zfJ150
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-28_24,2023-11-27_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0
 lowpriorityscore=0 malwarescore=0 priorityscore=1501 phishscore=0
 bulkscore=0 mlxlogscore=999 mlxscore=0 adultscore=0 clxscore=1011
 spamscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311280177

SGkgUm9nZXINCg0KVGhhbmsgeW91IGZvciB0aGUgcmV2aWV3Lg0KDQpSb2dlciBQYXUgTW9ubsOp
IDxyb2dlci5wYXVAY2l0cml4LmNvbT4gd3JpdGVzOg0KDQo+IE9uIFRodSwgT2N0IDEyLCAyMDIz
IGF0IDEwOjA5OjE1UE0gKzAwMDAsIFZvbG9keW15ciBCYWJjaHVrIHdyb3RlOg0KPj4gRnJvbTog
T2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRydXNoY2hlbmtvQGVwYW0uY29t
Pg0KPj4gDQo+PiBVc2UgYSBwcmV2aW91c2x5IGludHJvZHVjZWQgcGVyLWRvbWFpbiByZWFkL3dy
aXRlIGxvY2sgdG8gY2hlY2sNCj4+IHdoZXRoZXIgdnBjaSBpcyBwcmVzZW50LCBzbyB3ZSBhcmUg
c3VyZSB0aGVyZSBhcmUgbm8gYWNjZXNzZXMgdG8gdGhlDQo+PiBjb250ZW50cyBvZiB0aGUgdnBj
aSBzdHJ1Y3QgaWYgbm90LiBUaGlzIGxvY2sgY2FuIGJlIHVzZWQgKGFuZCBpbiBhDQo+PiBmZXcg
Y2FzZXMgaXMgdXNlZCByaWdodCBhd2F5KSBzbyB0aGF0IHZwY2kgcmVtb3ZhbCBjYW4gYmUgcGVy
Zm9ybWVkDQo+PiB3aGlsZSBob2xkaW5nIHRoZSBsb2NrIGluIHdyaXRlIG1vZGUuIFByZXZpb3Vz
bHkgc3VjaCByZW1vdmFsIGNvdWxkDQo+PiByYWNlIHdpdGggdnBjaV9yZWFkIGZvciBleGFtcGxl
Lg0KPj4gDQo+PiBXaGVuIHRha2luZyBib3RoIGQtPnBjaV9sb2NrIGFuZCBwZGV2LT52cGNpLT5s
b2NrLCB0aGV5IHNob3VsZCBiZQ0KPj4gdGFrZW4gaW4gdGhpcyBleGFjdCBvcmRlcjogZC0+cGNp
X2xvY2sgdGhlbiBwZGV2LT52cGNpLT5sb2NrIHRvIGF2b2lkDQo+PiBwb3NzaWJsZSBkZWFkbG9j
ayBzaXR1YXRpb25zLg0KPj4gDQo+PiAxLiBQZXItZG9tYWluJ3MgcGNpX3J3bG9jayBpcyB1c2Vk
IHRvIHByb3RlY3QgcGRldi0+dnBjaSBzdHJ1Y3R1cmUNCj4+IGZyb20gYmVpbmcgcmVtb3ZlZC4N
Cj4+IA0KPj4gMi4gV3JpdGluZyB0aGUgY29tbWFuZCByZWdpc3RlciBhbmQgUk9NIEJBUiByZWdp
c3RlciBtYXkgdHJpZ2dlcg0KPj4gbW9kaWZ5X2JhcnMgdG8gcnVuLCB3aGljaCBpbiB0dXJuIG1h
eSBhY2Nlc3MgbXVsdGlwbGUgcGRldnMgd2hpbGUNCj4+IGNoZWNraW5nIGZvciB0aGUgZXhpc3Rp
bmcgQkFSJ3Mgb3ZlcmxhcC4gVGhlIG92ZXJsYXBwaW5nIGNoZWNrLCBpZg0KPj4gZG9uZSB1bmRl
ciB0aGUgcmVhZCBsb2NrLCByZXF1aXJlcyB2cGNpLT5sb2NrIHRvIGJlIGFjcXVpcmVkIG9uIGJv
dGgNCj4+IGRldmljZXMgYmVpbmcgY29tcGFyZWQsIHdoaWNoIG1heSBwcm9kdWNlIGEgZGVhZGxv
Y2suIEl0IGlzIG5vdA0KPj4gcG9zc2libGUgdG8gdXBncmFkZSByZWFkIGxvY2sgdG8gd3JpdGUg
bG9jayBpbiBzdWNoIGEgY2FzZS4gU28sIGluDQo+PiBvcmRlciB0byBwcmV2ZW50IHRoZSBkZWFk
bG9jaywgdXNlIGQtPnBjaV9sb2NrIGluc3RlYWQuIFRvIHByZXZlbnQNCj4+IGRlYWRsb2NrIHdo
aWxlIGxvY2tpbmcgYm90aCBod2RvbS0+cGNpX2xvY2sgYW5kIGRvbV94ZW4tPnBjaV9sb2NrLA0K
Pj4gYWx3YXlzIGxvY2sgaHdkb20gZmlyc3QuDQo+PiANCj4+IEFsbCBvdGhlciBjb2RlLCB3aGlj
aCBkb2Vzbid0IGxlYWQgdG8gcGRldi0+dnBjaSBkZXN0cnVjdGlvbiBhbmQgZG9lcw0KPj4gbm90
IGFjY2VzcyBtdWx0aXBsZSBwZGV2cyBhdCB0aGUgc2FtZSB0aW1lLCBjYW4gc3RpbGwgdXNlIGEN
Cj4+IGNvbWJpbmF0aW9uIG9mIHRoZSByZWFkIGxvY2sgYW5kIHBkZXYtPnZwY2ktPmxvY2suDQo+
PiANCj4+IDMuIERyb3AgY29uc3QgcXVhbGlmaWVyIHdoZXJlIHRoZSBuZXcgcndsb2NrIGlzIHVz
ZWQgYW5kIHRoaXMgaXMNCj4+IGFwcHJvcHJpYXRlLg0KPj4gDQo+PiA0LiBEbyBub3QgY2FsbCBw
cm9jZXNzX3BlbmRpbmdfc29mdGlycXMgd2l0aCBhbnkgbG9ja3MgaGVsZC4gRm9yIHRoYXQNCj4+
IHVubG9jayBwcmlvciB0aGUgY2FsbCBhbmQgcmUtYWNxdWlyZSB0aGUgbG9ja3MgYWZ0ZXIuIEFm
dGVyDQo+PiByZS1hY3F1aXJpbmcgdGhlIGxvY2sgdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBp
ZiBwZGV2LT52cGNpIGV4aXN0czoNCj4+ICAtIGluIGFwcGx5X21hcCBiZWNhdXNlIG9mIHRoZSBj
b250ZXh0IGl0IGlzIGNhbGxlZCAobm8gcmFjZSBjb25kaXRpb24NCj4+ICAgIHBvc3NpYmxlKQ0K
Pj4gIC0gZm9yIE1TSS9NU0ktWCBkZWJ1ZyBjb2RlIGJlY2F1c2UgaXQgaXMgY2FsbGVkIGF0IHRo
ZSBlbmQgb2YNCj4+ICAgIHBkZXYtPnZwY2kgYWNjZXNzIGFuZCBubyBmdXJ0aGVyIGFjY2VzcyB0
byBwZGV2LT52cGNpIGlzIG1hZGUNCj4+IA0KPj4gNS4gVXNlIGQtPnBjaV9sb2NrIGFyb3VuZCBm
b3JfZWFjaF9wZGV2IGFuZCBwY2lfZ2V0X3BkZXZfYnlfZG9tYWluDQo+PiB3aGlsZSBhY2Nlc3Np
bmcgcGRldnMgaW4gdnBjaSBjb2RlLg0KPj4gDQo+PiA2LiBXZSBhcmUgcmVtb3ZpbmcgbXVsdGlw
bGUgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpIGluc3RhbmNlcyBiZWNhdXNlDQo+PiB0aGV5IGFy
ZSB0b28gc3RyaWN0IG5vdzogdGhleSBzaG91bGQgYmUgY29ycmVjdGVkIHRvDQo+PiBBU1NFUlQo
cGNpZGV2c19sb2NrZWQoKSB8fCByd19pc19sb2NrZWQoJmQtPnBjaV9sb2NrKSksIGJ1dCBwcm9i
bGVtIGlzDQo+PiB0aGF0IG1lbnRpb25lZCBpbnN0YW5jZXMgZG9lcyBub3QgaGF2ZSBhY2Nlc3Mg
dG8gdGhlIGRvbWFpbg0KPj4gcG9pbnRlciBhbmQgaXQgaXMgbm90IGZlYXNpYmxlIHRvIHBhc3Mg
YSBkb21haW4gcG9pbnRlciB0byBhIGZ1bmN0aW9uDQo+PiBqdXN0IGZvciBkZWJ1Z2dpbmcgcHVy
cG9zZXMuDQo+PiANCj4+IFRoZXJlIGlzIGEgcG9zc2libGUgbG9jayBpbnZlcnNpb24gaW4gTVNJ
IGNvZGUsIGFzIHNvbWUgcGFydHMgb2YgaXQNCj4+IGFjcXVpcmUgcGNpZGV2c19sb2NrKCkgd2hp
bGUgYWxyZWFkeSBob2xkaW5nIGQtPnBjaV9sb2NrLg0KPg0KPiBJcyB0aGlzIGdvaW5nIHRvIGJl
IGFkZHJlc3NlZCBpbiBhIGZ1cnRoZXIgcGF0Y2g/DQo+DQoNCkl0IGlzIGFjdHVhbGx5IGFkZHJl
c3NlZCBpbiB0aGlzIHBhdGNoLCBpbiB0aGUgdjEwLiBJIGp1c3QgZm9yZ290IHRvDQpyZW1vdmUg
dGhpcyBzZW50ZW5jZSBmcm9tIHRoZSBwYXRjaCBkZXNjcmlwdGlvbi4gTXkgYmFkLg0KDQpUaGlz
IHdhcyBmaXhlZCBieSBhZGRpdGlvbmFsIHBhcmFtZXRlciB0byBhbGxvY2F0ZV9hbmRfbWFwX21z
aV9waXJxKCksDQphcyBpdCBpcyBiZWluZyBjYWxsZWQgZnJvbSB0d28gcGxhY2VzOiBmcm9tIHZw
Y2lfbXNpX2VuYWJsZSgpLCB3aGlsZSB3ZQ0KYWxyZWFkeSBhcmUgaG9sZGluZyBkLT5wY2lfbG9j
aywgb3IgZnJvbSBwaHlzZGV2X21hcF9waXJxKCksIHdoZW4gdGhlcmUNCmFyZSBubyBsb2NrcyBh
cmUgdGFrZW4uDQoNClsuLi5dDQoNCj4+IEBAIC0yOTA4LDcgKzI5MDgsOCBAQCBpbnQgYWxsb2Nh
dGVfYW5kX21hcF9tc2lfcGlycShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgaW5kZXgsIGludCAqcGly
cV9wLA0KPj4gIA0KPj4gICAgICBtc2ktPmlycSA9IGlycTsNCj4+ICANCj4+IC0gICAgcGNpZGV2
c19sb2NrKCk7DQo+PiArICAgIGlmICggdXNlX3BjaV9sb2NrICkNCj4+ICsgICAgICAgIHBjaWRl
dnNfbG9jaygpOw0KPg0KPiBJbnN0ZWFkIG9mIHBhc3NpbmcgdGhlIGZsYWcgaXQgbWlnaHQgYmUg
YmV0dGVyIGlmIHRoZSBjYWxsZXIgY2FuIHRha2UNCj4gdGhlIGxvY2ssIGFzIHRvIGF2b2lkIGhh
dmluZyB0byBwYXNzIGFuIGV4dHJhIHBhcmFtZXRlci4NCj4NCj4gVGhlbiB3ZSBzaG91bGQgYWxz
byBhc3NlcnQgdGhhdCBlaXRoZXIgdGhlIHBjaWRldl9sb2NrIG9yIHRoZQ0KPiBwZXItZG9tYWlu
IHBjaSBsb2NrIGlzIHRha2VuPw0KPg0KDQpUaGlzIGlzIGEgZ29vZCBpZGVhLiBJJ2xsIGFkZCBs
b2NrIGluIHBoeXNkZXZfbWFwX3BpcnEoKS4gVGhpcyBpcyBvbmx5DQpvbmUgcGxhY2Ugd2hlcmUg
d2UgY2FsbCBwaHlzZGV2X21hcF9waXJxKCkgd2l0aG91dCBob2xkaW5nIGFueSBsb2NrLg0KDQo+
PiAgICAgIC8qIFZlcmlmeSBvciBnZXQgcGlycS4gKi8NCj4+ICAgICAgd3JpdGVfbG9jaygmZC0+
ZXZlbnRfbG9jayk7DQo+PiAgICAgIHBpcnEgPSBhbGxvY2F0ZV9waXJxKGQsIGluZGV4LCAqcGly
cV9wLCBpcnEsIHR5cGUsICZtc2ktPmVudHJ5X25yKTsNCj4+IEBAIC0yOTI0LDcgKzI5MjUsOCBA
QCBpbnQgYWxsb2NhdGVfYW5kX21hcF9tc2lfcGlycShzdHJ1Y3QgZG9tYWluICpkLCBpbnQgaW5k
ZXgsIGludCAqcGlycV9wLA0KPj4gIA0KPj4gICBkb25lOg0KPj4gICAgICB3cml0ZV91bmxvY2so
JmQtPmV2ZW50X2xvY2spOw0KPj4gLSAgICBwY2lkZXZzX3VubG9jaygpOw0KPj4gKyAgICBpZiAo
IHVzZV9wY2lfbG9jayApDQo+PiArICAgICAgICBwY2lkZXZzX3VubG9jaygpOw0KPj4gICAgICBp
ZiAoIHJldCApDQo+PiAgICAgIHsNCj4+ICAgICAgICAgIHN3aXRjaCAoIHR5cGUgKQ0KPj4gZGlm
ZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tc2kuYyBiL3hlbi9hcmNoL3g4Ni9tc2kuYw0KPj4gaW5k
ZXggMjAyNzUyNjBiMy4uNDY2NzI1ZDhjYSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9t
c2kuYw0KPj4gKysrIGIveGVuL2FyY2gveDg2L21zaS5jDQo+PiBAQCAtNjAyLDcgKzYwMiw3IEBA
IHN0YXRpYyBpbnQgbXNpX2NhcGFiaWxpdHlfaW5pdChzdHJ1Y3QgcGNpX2RldiAqZGV2LA0KPj4g
ICAgICB1bnNpZ25lZCBpbnQgaSwgbXBvczsNCj4+ICAgICAgdWludDE2X3QgY29udHJvbDsNCj4+
ICANCj4+IC0gICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOw0KPj4gKyAgICBBU1NFUlQocGNp
ZGV2c19sb2NrZWQoKSB8fCByd19pc19sb2NrZWQoJmRldi0+ZG9tYWluLT5wY2lfbG9jaykpOw0K
Pj4gICAgICBwb3MgPSBwY2lfZmluZF9jYXBfb2Zmc2V0KGRldi0+c2JkZiwgUENJX0NBUF9JRF9N
U0kpOw0KPj4gICAgICBpZiAoICFwb3MgKQ0KPj4gICAgICAgICAgcmV0dXJuIC1FTk9ERVY7DQo+
PiBAQCAtNzcxLDcgKzc3MSw3IEBAIHN0YXRpYyBpbnQgbXNpeF9jYXBhYmlsaXR5X2luaXQoc3Ry
dWN0IHBjaV9kZXYgKmRldiwNCj4+ICAgICAgaWYgKCAhcG9zICkNCj4+ICAgICAgICAgIHJldHVy
biAtRU5PREVWOw0KPj4gIA0KPj4gLSAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7DQo+PiAr
ICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpIHx8IHJ3X2lzX2xvY2tlZCgmZGV2LT5kb21haW4t
PnBjaV9sb2NrKSk7DQo+PiAgDQo+PiAgICAgIGNvbnRyb2wgPSBwY2lfY29uZl9yZWFkMTYoZGV2
LT5zYmRmLCBtc2l4X2NvbnRyb2xfcmVnKHBvcykpOw0KPj4gICAgICAvKg0KPj4gQEAgLTk4OCw4
ICs5ODgsNiBAQCBzdGF0aWMgaW50IF9fcGNpX2VuYWJsZV9tc2koc3RydWN0IG1zaV9pbmZvICpt
c2ksIHN0cnVjdCBtc2lfZGVzYyAqKmRlc2MsDQo+PiAgew0KPj4gICAgICBzdHJ1Y3QgbXNpX2Rl
c2MgKm9sZF9kZXNjOw0KPj4gIA0KPj4gLSAgICBBU1NFUlQocGNpZGV2c19sb2NrZWQoKSk7DQo+
PiAtDQo+PiAgICAgIGlmICggIXBkZXYgKQ0KPj4gICAgICAgICAgcmV0dXJuIC1FTk9ERVY7DQo+
PiAgDQo+PiBAQCAtMTA0Myw4ICsxMDQxLDYgQEAgc3RhdGljIGludCBfX3BjaV9lbmFibGVfbXNp
eChzdHJ1Y3QgbXNpX2luZm8gKm1zaSwgc3RydWN0IG1zaV9kZXNjICoqZGVzYywNCj4+ICB7DQo+
PiAgICAgIHN0cnVjdCBtc2lfZGVzYyAqb2xkX2Rlc2M7DQo+PiAgDQo+PiAtICAgIEFTU0VSVChw
Y2lkZXZzX2xvY2tlZCgpKTsNCj4+IC0NCj4+ICAgICAgaWYgKCAhcGRldiB8fCAhcGRldi0+bXNp
eCApDQo+PiAgICAgICAgICByZXR1cm4gLUVOT0RFVjsNCj4+ICANCj4+IEBAIC0xMTU0LDggKzEx
NTAsNiBAQCBpbnQgcGNpX3ByZXBhcmVfbXNpeCh1MTYgc2VnLCB1OCBidXMsIHU4IGRldmZuLCBi
b29sIG9mZikNCj4+ICBpbnQgcGNpX2VuYWJsZV9tc2koc3RydWN0IG1zaV9pbmZvICptc2ksIHN0
cnVjdCBtc2lfZGVzYyAqKmRlc2MsDQo+PiAgCQkgICBzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+
ICB7DQo+PiAtICAgIEFTU0VSVChwY2lkZXZzX2xvY2tlZCgpKTsNCj4+IC0NCj4NCj4gSWYgeW91
IGhhdmUgdGhlIHBkZXYgaW4gYWxsIHRoZSBhYm92ZSBmdW5jdGlvbiwgeW91IGNvdWxkIGV4cGFu
ZCB0aGUNCj4gYXNzZXJ0IHRvIHRlc3QgZm9yIHBkZXYtPmRvbWFpbi0+cGNpX2xvY2s/DQo+DQoN
ClllcywgeW91IGFyZSByaWdodC4gVGhpcyBpcyB0aGUgbGVmdG92ZXIgZnJvbSB0aW1lcyB3aGVy
ZQ0KcGNpX2VuYWJsZV9tc2koKSBhY3F1aXJlZCBwZGV2IHBvaW50ZXIgYnkgaXRzZWxmLg0KDQpb
Li4uXQ0KDQo+PiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvdnBjaS9oZWFkZXIuYyBiL3hlbi9k
cml2ZXJzL3ZwY2kvaGVhZGVyLmMNCj4+IGluZGV4IDc2N2MxYmE3MTguLmE1MmU1MmRiOTYgMTAw
NjQ0DQo+PiAtLS0gYS94ZW4vZHJpdmVycy92cGNpL2hlYWRlci5jDQo+PiArKysgYi94ZW4vZHJp
dmVycy92cGNpL2hlYWRlci5jDQo+PiBAQCAtMTcyLDYgKzE3Miw3IEBAIGJvb2wgdnBjaV9wcm9j
ZXNzX3BlbmRpbmcoc3RydWN0IHZjcHUgKnYpDQo+PiAgICAgICAgICBpZiAoIHJjID09IC1FUkVT
VEFSVCApDQo+PiAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQo+PiAgDQo+PiArICAgICAgICB3
cml0ZV9sb2NrKCZ2LT5kb21haW4tPnBjaV9sb2NrKTsNCj4+ICAgICAgICAgIHNwaW5fbG9jaygm
di0+dnBjaS5wZGV2LT52cGNpLT5sb2NrKTsNCj4+ICAgICAgICAgIC8qIERpc2FibGUgbWVtb3J5
IGRlY29kaW5nIHVuY29uZGl0aW9uYWxseSBvbiBmYWlsdXJlLiAqLw0KPj4gICAgICAgICAgbW9k
aWZ5X2RlY29kaW5nKHYtPnZwY2kucGRldiwNCj4+IEBAIC0xOTAsNiArMTkxLDcgQEAgYm9vbCB2
cGNpX3Byb2Nlc3NfcGVuZGluZyhzdHJ1Y3QgdmNwdSAqdikNCj4+ICAgICAgICAgICAgICAgKiBm
YWlsdXJlLg0KPj4gICAgICAgICAgICAgICAqLw0KPj4gICAgICAgICAgICAgIHZwY2lfcmVtb3Zl
X2RldmljZSh2LT52cGNpLnBkZXYpOw0KPj4gKyAgICAgICAgd3JpdGVfdW5sb2NrKCZ2LT5kb21h
aW4tPnBjaV9sb2NrKTsNCj4+ICAgICAgfQ0KPj4gIA0KPj4gICAgICByZXR1cm4gZmFsc2U7DQo+
PiBAQCAtMjAxLDggKzIwMywyMCBAQCBzdGF0aWMgaW50IF9faW5pdCBhcHBseV9tYXAoc3RydWN0
IGRvbWFpbiAqZCwgY29uc3Qgc3RydWN0IHBjaV9kZXYgKnBkZXYsDQo+PiAgICAgIHN0cnVjdCBt
YXBfZGF0YSBkYXRhID0geyAuZCA9IGQsIC5tYXAgPSB0cnVlIH07DQo+PiAgICAgIGludCByYzsN
Cj4+ICANCj4+ICsgICAgQVNTRVJUKHJ3X2lzX3dyaXRlX2xvY2tlZCgmZC0+cGNpX2xvY2spKTsN
Cj4+ICsNCj4+ICAgICAgd2hpbGUgKCAocmMgPSByYW5nZXNldF9jb25zdW1lX3JhbmdlcyhtZW0s
IG1hcF9yYW5nZSwgJmRhdGEpKSA9PSAtRVJFU1RBUlQgKQ0KPj4gKyAgICB7DQo+PiArICAgICAg
ICAvKg0KPj4gKyAgICAgICAgICogSXQncyBzYWZlIHRvIGRyb3AgYW5kIHJlYWNxdWlyZSB0aGUg
bG9jayBpbiB0aGlzIGNvbnRleHQNCj4+ICsgICAgICAgICAqIHdpdGhvdXQgcmlza2luZyBwZGV2
IGRpc2FwcGVhcmluZyBiZWNhdXNlIGRldmljZXMgY2Fubm90IGJlDQo+PiArICAgICAgICAgKiBy
ZW1vdmVkIHVudGlsIHRoZSBpbml0aWFsIGRvbWFpbiBoYXMgYmVlbiBzdGFydGVkLg0KPj4gKyAg
ICAgICAgICovDQo+PiArICAgICAgICByZWFkX3VubG9jaygmZC0+cGNpX2xvY2spOw0KPj4gICAg
ICAgICAgcHJvY2Vzc19wZW5kaW5nX3NvZnRpcnFzKCk7DQo+PiArICAgICAgICByZWFkX2xvY2so
JmQtPnBjaV9sb2NrKTsNCj4NCj4gWW91IGFyZSBhc3NlcnRpbmcgdGhlIGxvY2sgaXMgdGFrZW4g
aW4gd3JpdGUgbW9kZSBqdXN0IGFib3ZlIHRoZSB1c2FnZQ0KPiBvZiByZWFkX3t1bix9bG9jaygp
LiAgRWl0aGVyIHRoZSBhc3NlcnQgaXMgd3JvbmcsIG9yIHRoZSB1c2FnZSBvZg0KPiByZWFkX3t1
bix9bG9jaygpIGlzIHdyb25nLg0KDQpPb3BzLCBsb29rcyBsaWtlIHRoaXMgaXMgdGhlIHJlYmFz
aW5nIGFydGlmYWN0LiBUaGUgZmluYWwgdmVyc2lvbiBvZiB0aGUNCmNvZGUgdXNlcyB3cml0ZSBs
b2NrcyBvZiBjb3Vyc2UuIFBhdGNoICJ2cGNpL2hlYWRlcjogaGFuZGxlIHAybSByYW5nZQ0Kc2V0
cyBwZXIgQkFSIiBjaGFuZ2VzIHRoaXMgcGllY2Ugb2YgY29kZSB0b28gYW5kIHJlcGxhY2VzIHJl
YWQgbG9jaw0Kd2l0aCB0aGUgd3JpdGUgbG9jay4gSSdsbCBtb3ZlIHRoYXQgY2hhbmdlIHRvIHRo
aXMgcGF0Y2guDQoNClsuLi5dDQoNCj4+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy92cGNpL3Zw
Y2kuYyBiL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+PiBpbmRleCAzYmVjOWE0MTUzLi4xMTJk
ZTU2ZmIzIDEwMDY0NA0KPj4gLS0tIGEveGVuL2RyaXZlcnMvdnBjaS92cGNpLmMNCj4+ICsrKyBi
L3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+PiBAQCAtMzgsNiArMzgsOCBAQCBleHRlcm4gdnBj
aV9yZWdpc3Rlcl9pbml0X3QgKmNvbnN0IF9fZW5kX3ZwY2lfYXJyYXlbXTsNCj4+ICANCj4+ICB2
b2lkIHZwY2lfcmVtb3ZlX2RldmljZShzdHJ1Y3QgcGNpX2RldiAqcGRldikNCj4+ICB7DQo+PiAr
ICAgIEFTU0VSVChyd19pc193cml0ZV9sb2NrZWQoJnBkZXYtPmRvbWFpbi0+cGNpX2xvY2spKTsN
Cj4+ICsNCj4+ICAgICAgaWYgKCAhaGFzX3ZwY2kocGRldi0+ZG9tYWluKSB8fCAhcGRldi0+dnBj
aSApDQo+PiAgICAgICAgICByZXR1cm47DQo+PiAgDQo+PiBAQCAtNzMsNiArNzUsOCBAQCBpbnQg
dnBjaV9hZGRfaGFuZGxlcnMoc3RydWN0IHBjaV9kZXYgKnBkZXYpDQo+PiAgICAgIGNvbnN0IHVu
c2lnbmVkIGxvbmcgKnJvX21hcDsNCj4+ICAgICAgaW50IHJjID0gMDsNCj4+ICANCj4+ICsgICAg
QVNTRVJUKHJ3X2lzX3dyaXRlX2xvY2tlZCgmcGRldi0+ZG9tYWluLT5wY2lfbG9jaykpOw0KPj4g
Kw0KPj4gICAgICBpZiAoICFoYXNfdnBjaShwZGV2LT5kb21haW4pICkNCj4+ICAgICAgICAgIHJl
dHVybiAwOw0KPj4gIA0KPj4gQEAgLTMyNiwxMSArMzMwLDEyIEBAIHN0YXRpYyB1aW50MzJfdCBt
ZXJnZV9yZXN1bHQodWludDMyX3QgZGF0YSwgdWludDMyX3QgbmV3LCB1bnNpZ25lZCBpbnQgc2l6
ZSwNCj4+ICANCj4+ICB1aW50MzJfdCB2cGNpX3JlYWQocGNpX3NiZGZfdCBzYmRmLCB1bnNpZ25l
ZCBpbnQgcmVnLCB1bnNpZ25lZCBpbnQgc2l6ZSkNCj4+ICB7DQo+PiAtICAgIGNvbnN0IHN0cnVj
dCBkb21haW4gKmQgPSBjdXJyZW50LT5kb21haW47DQo+PiArICAgIHN0cnVjdCBkb21haW4gKmQg
PSBjdXJyZW50LT5kb21haW47DQo+PiAgICAgIGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpwZGV2Ow0K
Pj4gICAgICBjb25zdCBzdHJ1Y3QgdnBjaV9yZWdpc3RlciAqcjsNCj4+ICAgICAgdW5zaWduZWQg
aW50IGRhdGFfb2Zmc2V0ID0gMDsNCj4+ICAgICAgdWludDMyX3QgZGF0YSA9IH4odWludDMyX3Qp
MDsNCj4+ICsgICAgcndsb2NrX3QgKmxvY2s7DQo+PiAgDQo+PiAgICAgIGlmICggIXNpemUgKQ0K
Pj4gICAgICB7DQo+PiBAQCAtMzQyLDExICszNDcsMjEgQEAgdWludDMyX3QgdnBjaV9yZWFkKHBj
aV9zYmRmX3Qgc2JkZiwgdW5zaWduZWQgaW50IHJlZywgdW5zaWduZWQgaW50IHNpemUpDQo+PiAg
ICAgICAqIEZpbmQgdGhlIFBDSSBkZXYgbWF0Y2hpbmcgdGhlIGFkZHJlc3MsIHdoaWNoIGZvciBo
d2RvbSBhbHNvIHJlcXVpcmVzDQo+PiAgICAgICAqIGNvbnN1bHRpbmcgRG9tWEVOLiAgUGFzc3Ro
cm91Z2ggZXZlcnl0aGluZyB0aGF0J3Mgbm90IHRyYXBwZWQuDQo+PiAgICAgICAqLw0KPj4gKyAg
ICBsb2NrID0gJmQtPnBjaV9sb2NrOw0KPj4gKyAgICByZWFkX2xvY2sobG9jayk7DQo+PiAgICAg
IHBkZXYgPSBwY2lfZ2V0X3BkZXYoZCwgc2JkZik7DQo+PiAgICAgIGlmICggIXBkZXYgJiYgaXNf
aGFyZHdhcmVfZG9tYWluKGQpICkNCj4+ICsgICAgew0KPj4gKyAgICAgICAgcmVhZF91bmxvY2so
bG9jayk7DQo+PiArICAgICAgICBsb2NrID0gJmRvbV94ZW4tPnBjaV9sb2NrOw0KPj4gKyAgICAg
ICAgcmVhZF9sb2NrKGxvY2spOw0KPj4gICAgICAgICAgcGRldiA9IHBjaV9nZXRfcGRldihkb21f
eGVuLCBzYmRmKTsNCj4NCj4gSSdtIHVuc3VyZSB3aGV0aGVyIGRldmljZXMgYXNzaWduZWQgdG8g
ZG9tX3hlbiBjYW4gY2hhbmdlIG93bmVyc2hpcA0KPiBhZnRlciBib290LCBzbyBtYXliZSB0aGVy
ZSdzIG5vIG5lZWQgZm9yIGFsbCB0aGlzIGxvY2sgZGFuY2UsIGFzIHRoZQ0KPiBkZXZpY2UgY2Fu
bm90IGRpc2FwcGVhcj8NCj4NCj4gTWF5YmUganVzdCB0YWtpbmcgdGhlIGhhcmR3YXJlIGRvbWFp
biBsb2NrIGlzIGVub3VnaCB0byBwcmV2ZW50DQo+IGNvbmN1cnJlbnQgYWNjZXNzZXMgaW4gdGhh
dCBjYXNlLCBhcyB0aGUgaGFyZHdhcmUgZG9tYWluIGlzIHRoZSBvbmx5DQo+IGFsbG93ZWQgdG8g
YWNjZXNzIGRldmljZXMgb3duZWQgYnkgZG9tX3hlbi4NCg0KVGhpcyBzb3VuZHMgY29ycmVjdC4g
SWYgdGhlcmUgYXJlIG5vIG9iamVjdGlvbnMgdGhlbiBJIGNhbiByZW1vdmUgZXh0cmENCmxvY2tz
Lg0KDQotLSANCldCUiwgVm9sb2R5bXly


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 22:30:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 22:30:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643588.1003958 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r86ab-0004Su-FP; Tue, 28 Nov 2023 22:29:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643588.1003958; Tue, 28 Nov 2023 22: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 1r86ab-0004Sn-BN; Tue, 28 Nov 2023 22:29:57 +0000
Received: by outflank-mailman (input) for mailman id 643588;
 Tue, 28 Nov 2023 22: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=Tf5Q=HJ=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r86aa-0004Sh-SD
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 22:29:56 +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 a6d37a22-8e3d-11ee-98e3-6d05b1d4d9a1;
 Tue, 28 Nov 2023 23:29:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id B685BCE1CAC;
 Tue, 28 Nov 2023 22:29:52 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id CA022C433C8;
 Tue, 28 Nov 2023 22:29: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: a6d37a22-8e3d-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701210592;
	bh=5IRok/gIRtlSQ43gMtLb94CLpYEVzFjttcgk6pGbb6w=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=Dgvf7Vns2Te8zIL8hAMXGRW36kf+nF+rct90+57EuideJAIqF2pKlJq2F5IsstmBh
	 c7tu+xUCVmB3fFVPF+MCzYkhSrOegBe2EOZlbJS53QNwZ0o9jKn8AWKFLlqWNb8WKf
	 kJjEWBqyUDT0D8RXIR8jzPsGAl0FI0G41FvzMDd5I34pdPW3Yg8LG6I9aTllMqdqKD
	 qwsYjmrrAv2JtmUxJUsMjzPOWzvaXPwAHxdI5fi21SW1xmiMBmx/303dYNR9EJhpRg
	 oM6OiI/eyh/lvbqCLt3R4tvLWg5q/FgCreQz5zbjlfAAVAMbQVKfz/aGsN51wxW2Bp
	 sAF+Deo17ZlmA==
Date: Tue, 28 Nov 2023 14:29:49 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Roger Pau Monne <roger.pau@citrix.com>, xen-devel@lists.xenproject.org, 
    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] cirrus-ci: update FreeBSD versions
In-Reply-To: <b4c9791e-1fb9-463e-8aac-9d6cd7cec36f@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311281429360.3533093@ubuntu-linux-20-04-desktop>
References: <20231128171150.38290-1-roger.pau@citrix.com> <b4c9791e-1fb9-463e-8aac-9d6cd7cec36f@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-266235087-1701210591=:3533093"

  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-266235087-1701210591=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 28 Nov 2023, Andrew Cooper wrote:
> On 28/11/2023 5:11 pm, Roger Pau Monne wrote:
> > FreeBSD 14.0 has already been released, so switch to the release version image,
> > and introduce a FreeBSD 15.0 version to track current FreeBSD unstable
> > (development) branch.
> >
> > Sample output at:
> >
> > https://github.com/royger/xen/runs/19105278189
> >
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> 
> Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>
--8323329-266235087-1701210591=:3533093--


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 23:05:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 23:05:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643593.1003968 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r878y-0006IX-5b; Tue, 28 Nov 2023 23:05:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643593.1003968; Tue, 28 Nov 2023 23:05: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 1r878y-0006IP-18; Tue, 28 Nov 2023 23:05:28 +0000
Received: by outflank-mailman (input) for mailman id 643593;
 Tue, 28 Nov 2023 23:05: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=/XcL=HJ=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1r878x-0006IJ-BM
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 23:05:27 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9ba1b122-8e42-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 00:05:23 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3ASN4qvY066886
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Tue, 28 Nov 2023 18:04:58 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3ASN4oY6066885;
 Tue, 28 Nov 2023 15:04:50 -0800 (PST) (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: 9ba1b122-8e42-11ee-9b0e-b553b5be7939
Date: Tue, 28 Nov 2023 15:04:50 -0800
From: Elliott Mitchell <ehem+freebsd@m5p.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Mario Marietto <marietto2008@gmail.com>,
        Chuck Zmudzinski <brchuckz@netscape.net>,
        Demi Marie Obenour <demi@invisiblethingslab.com>,
        Anthony PERARD <anthony.perard@citrix.com>,
        Julien Grall <julien@xen.org>,
        Xen-devel <xen-devel@lists.xenproject.org>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Bertrand Marquis <Bertrand.Marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Message-ID: <ZWZyEtGMhjRba/Z2@mattapan.m5p.com>
References: <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com>
 <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net>
 <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
 <ZWUgfkP4U5kOmQNj@mattapan.m5p.com>
 <ZWXvBMaRJ5Lbb5S9@macbook>
 <CA+1FSii4WeKQBuzW9TS_AkHD2nbm=Q+iL9j3wkfu+ZsC0V_=1w@mail.gmail.com>
 <ZWYC-omtTOxIHNwF@macbook>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZWYC-omtTOxIHNwF@macbook>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Tue, Nov 28, 2023 at 04:10:50PM +0100, Roger Pau Monn wrote:
> On Tue, Nov 28, 2023 at 03:09:14PM +0100, Mario Marietto wrote:
> > For booting a FreeBSD kernel as a guest OS on XEN,should we install xen
> > 4.18 from source ?

> I don't think so, I'm not aware of the FreeBSD port requiring a
> specific version of Xen.  I do think the work is limited to aarch64
> however, so there's no support in sight for arm32 FreeBSD guests as
> far as I'm aware.

I've only ever tried arm64, but since arm32 didn't appear to need much
to have operational I tried to make it possible.  In theory it /should/
work on arm32, but I've never tried it.  What was missing was I had never
added it to the configuration and one link was needed.  Updated "submit"
branch has the tiny adjustment.

(the only difference is the hypercall wrappers, register naming and where
the op code goes, very simple compatibility)


On Tue, Nov 28, 2023 at 02:45:40PM +0100, Roger Pau Monn wrote:
> On Mon, Nov 27, 2023 at 03:04:30PM -0800, Elliott Mitchell wrote:
> > BTW Roger Pau Monn, now that Xen 4.18 is out, take a look at the
> > "royger" branch?
> 
> I've pushed a bunch of those, there are still some, I've made comments
> on the branch.
> 
> I think there isn't much left after the swept I've done.
> 
> If you can rebase and reply to the comments I will take a look at
> what's remaining.

Done.  I'm unsure you'll like the xs_attach_children() approach.  Thing
is that really is appropriate given the situation.  #2 is the urgent one
as that is the handy approach to the hypercall declarations.


-- 
(\___(\___(\______          --=> 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 Nov 28 23:46:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 23:46:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643602.1003977 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r87m9-00019J-6H; Tue, 28 Nov 2023 23:45:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643602.1003977; Tue, 28 Nov 2023 23: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 1r87m9-00019C-3g; Tue, 28 Nov 2023 23:45:57 +0000
Received: by outflank-mailman (input) for mailman id 643602;
 Tue, 28 Nov 2023 23: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=KQ+o=HJ=epam.com=prvs=6696a101d4=volodymyr_babchuk@srs-se1.protection.inumbo.net>)
 id 1r87m8-000196-3I
 for xen-devel@lists.xenproject.org; Tue, 28 Nov 2023 23:45:56 +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 43cf900a-8e48-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 00:45:53 +0100 (CET)
Received: from pps.filterd (m0174678.ppops.net [127.0.0.1])
 by mx0a-0039f301.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3ASMjU3v023509; Tue, 28 Nov 2023 23:45:41 GMT
Received: from eur05-am6-obe.outbound.protection.outlook.com
 (mail-am6eur05lp2104.outbound.protection.outlook.com [104.47.18.104])
 by mx0a-0039f301.pphosted.com (PPS) with ESMTPS id 3unjsm9rdn-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Tue, 28 Nov 2023 23:45:40 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com (2603:10a6:803:31::18)
 by AS2PR03MB9193.eurprd03.prod.outlook.com (2603:10a6:20b:5fd::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Tue, 28 Nov
 2023 23:45:35 +0000
Received: from VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822]) by VI1PR03MB3710.eurprd03.prod.outlook.com
 ([fe80::8e03:368:1fd7:1822%6]) with mapi id 15.20.7046.015; Tue, 28 Nov 2023
 23:45: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: 43cf900a-8e48-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ExKageRZj9JVBJepveNFNXbxdUkBT+ijsjM0gF7YG8vwurdsflOXT35BbVbNoCka/OeSmS2lhk+NTz+et5DxnTHo8Ov0pjJ/frVK+SbnwkloAJQfY1JbXduMTNSY0KPe/ZgjaFzKQDW/JxWys/saxv7kD4MN0e3zU75e1XM548BrtE5OQ3acKNnK9GXnQqZKLFuKgAbsLkO54tjYmddSpVG8IbL9w03NW3eY4RP3MItKs84eaeQiMB4SXTozBY1/Iw6o3KU8DoQQbI1JEmaZ6/039yxxk45JBNx5LlNxFxdaTpAU/vOj15onFmgF0eu0Hml1LTzQTgO/U6ni5W7gBA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PUF2HtVycfSDWw3/A4DL4AWuV9Ws3sJQj0NAAblpbJ0=;
 b=K1y4QvEEkRAgYxlo9VubVVxv8oMaC5CJcwLmsoy0KW4vzvQFOTXHUjECUKQW3+xtj3xOtGVanyT4KthKBmSAZ5yIy+ulEe1xQnpxrLKQCXQT13A5x719Rb2EDz18Vgm79Zq40rNqMIhz7hQdY9IpXfEil7q0i8lNizPitl+EiNyrLtTCgMaOFJa8Qtwaqw8qe3gkDPePy7qnjjFguUxaxblJ7ysx7IezyYdGF9Y4EkK/qdzIKXBrz2ZP26mhfVlUXcjmO4VPlftukHGvpEtsQw0D7uT7bulU7GB1sxhJmL3H+/MlRiO2eS+LZMrOhCmwkm2ilifwPYLM6nWyL7z66Q==
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=PUF2HtVycfSDWw3/A4DL4AWuV9Ws3sJQj0NAAblpbJ0=;
 b=pXs4wtbY1ikHFEG3jgc+WkIa0W/s7wY6CX88DOO2tEQO2dyaWEioG9HVH+TSxmUcHVIrhC/ZKY+WKqPz3jtov6ck/Re8XZRNylXyounroCgQRwGNTuqIibbDjgOUMsFBgwWb+DYJvRfDEJ95ZW8Dq89ierUs2rMPxW+QF54fgyfhzonwX9hVXo5TCYQ/vsPnOL4lM3yPJsNY7WvecD4FDMn3i01PURKq1SMdhY4hNfy5HXCpaLsRdh49wZoP+d4G938FIAPVBjRxgtvUVEgnoCutXeruim7edoAMYL1qWY1eMw0Wczv75WUuC5xr2dfLa4UglxW+RWsunLxNRcJXYw==
From: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: Stefano Stabellini <sstabellini@kernel.org>,
        Julien Grall
	<julien@xen.org>,
        Stewart Hildebrand <stewart.hildebrand@amd.com>,
        Oleksandr
 Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
        Andrew Cooper
	<andrew.cooper3@citrix.com>,
        George Dunlap <george.dunlap@citrix.com>,
        Jan
 Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
        "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Topic: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Thread-Index: 
 AQHZ/Vi+wP3QsyKZ0EartcLXqtnBRLB9UyCAgAB7YgCAAAiUAIAAEHKAgADZXQCAAEyPgIAAGSwAgAAczgCAAAOwAIAALzmAgASxF4CAAZ+8gIAAs0sAgACdvQCAALuWAIAI2veA
Date: Tue, 28 Nov 2023 23:45:34 +0000
Message-ID: <87a5qxtpb6.fsf@epam.com>
References: <87a5rc4gk7.fsf@epam.com>
 <770aaef8-09f4-480a-95b8-cc0448ad07ff@xen.org> <8734x43zxi.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
 <87edgo2f6j.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop>
 <87ttpg0wdx.fsf@epam.com>
 <alpine.DEB.2.22.394.2311211712090.2053963@ubuntu-linux-20-04-desktop>
 <ZV3r1uc3av1wQu4W@macbook>
 <alpine.DEB.2.22.394.2311221306060.2053963@ubuntu-linux-20-04-desktop>
 <ZV8NhPohwTDWXOTk@macbook>
In-Reply-To: <ZV8NhPohwTDWXOTk@macbook>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
user-agent: mu4e 1.10.7; emacs 29.1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: VI1PR03MB3710:EE_|AS2PR03MB9193:EE_
x-ms-office365-filtering-correlation-id: b20966c6-8ccb-41c4-4ea9-08dbf06c1da3
x-ld-processed: b41b72d0-4e9f-4c26-8a69-f949f367c91d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 
 t6iGD0YQ7HdLIY5mpCXdu0HkloHU8m5/D/EXRo3Vmv5bh5kY/44y8PqAPgMiwdEsfJkyTgR62uZv8yjs6f83bL4aRjUQzZGnyRacXse3ItWnitgb6lhyt5EUYIuPkoUim5CWfby7AZag2QaxUUQsxiXm8vKFKe3nAV+mP7XKVnzyM/kUmNOGRIWZHj9YsuxOZVWhPGBmLVm/HVCiRMulpKRioMSxwhKEotqnK8S0lJAq4Z4VWSWcUis8/84Suacy1N/PYQmR7TI59Gd6jSORPMfN4cQE9ceJ6ZOCljPiGKYQ3iiSkCsl/eP7fnHASfXAiN6s6pSJl85zB/ThZfLTlAhis+FKMHpbB/2u7RSicG5pJIOXLUypWv5EPLd30ogoMg+SOVM18gynnz7FzDTOeyCwOF0zFL3ByCgCzgvhIRMj4rpIPzNDQ3iVzBrKA4I1Ck+k7bcHhRYwDXXbMgC9qCl5yEUNuBxljOjJWBWCgN2rzdzxpCwEM2xLC5GK1bq4h7cNcUqK4j6b/fi4Vycd2Yo1dniM+DHDym79gMVUSLF4NlQEupChZDgmugBXzCUL+Ekj6lhv+M3WBrW8i1zeSyoXUi0eaFlQx8dmYuhpHW57y4dp/S+Vx3kceuBrrsty
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:(13230031)(396003)(136003)(39860400002)(366004)(346002)(376002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(5660300002)(2906002)(8676002)(8936002)(4326008)(6916009)(41300700001)(66446008)(66476007)(76116006)(64756008)(66946007)(66556008)(54906003)(91956017)(316002)(71200400001)(6506007)(6486002)(478600001)(26005)(6512007)(2616005)(55236004)(66899024)(38100700002)(83380400001)(38070700009)(36756003)(122000001)(86362001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: 
 =?utf-8?B?dzdCNWZmZFZiNTBZeEJ6bjdQNlQzQ3BFdmRYQXlvWlpGVkVnUXlURTkwV1kz?=
 =?utf-8?B?V1hXZkF6K0tkOGo0aFJJdVMrV2E1cU5uZkIveXpzVHhKSlRWRjN1M1NsaDRD?=
 =?utf-8?B?UUFUUTZPL3ZGRHlLVzdXK2RWSFlRbzQ3dUt1UlQ1encvQ1FzcDRqanhrWU9l?=
 =?utf-8?B?UW5pUFhHVkxPemkwVkd5RDEvRFE3a0ovLzBVcGpmWjVzVUkvZmRaUm1TMDJx?=
 =?utf-8?B?NXEycFpyaWFuU2FmanJnRFljRUNqQXVONmJTWFRPODAxOS9Kc1ZtM21rb091?=
 =?utf-8?B?U3RWYWd0NGExUGxEY1FIRkl4eFNtZjN0WFdSM2VkNFU5cjZPSHU1UFV2TUxM?=
 =?utf-8?B?eFNyQzk1US9vYmN3SXlEYVVXK0V4K2ltZFJvYTNvVk5pNStvNWN0ZzBGN0t6?=
 =?utf-8?B?dG80UkJrUHp6VFNJQkR5dk81U2hhbUxDNVlYM2h5MU94bnl4TlhENEczb1Jq?=
 =?utf-8?B?Z0RNNW9mbFBqZkhtcElDTkdtYmJlVkRENzYrSFUwWDh0TGJwbWxqNDgrTHJp?=
 =?utf-8?B?bWR4MFVWYUtwVW4zeXJOR2pDMkFMWUZtbVEvVzRHV0JtYUZVY3pYaVJOS0VY?=
 =?utf-8?B?NlV4MGk0UExIUHRXd2FHWFVMRHVEUjZKNC9TK0tKRjFCeElMVG9zaDNoSEVV?=
 =?utf-8?B?N0lOL2NIMnEwNUFDNE9XbUV6TTdQbjV6T3FCbTlrMU1PUGxPS1BJcGRENGgw?=
 =?utf-8?B?UC9ueHF6MmVwWmxzTFJFdUtQZEk2ZG56cGxFNXZDMnNiZVFMQTBzUEthaDJu?=
 =?utf-8?B?bm5hMStxZTVyTCswbjJPaUZlY0E4TkYyM2N4VzM5c1dKZmNSOGNuRUwzMmhG?=
 =?utf-8?B?OXI5S2s2NXV1ZE9EanVHVVYvcmI2cjBxVkZuTmo2dFdGMmQ2eUVSem1reEZD?=
 =?utf-8?B?L1VMU1lOVzNKdUIvLzdiQVJuRUgzUFhNbXBRZFg3RjN3cWMxK2ZmTkthNkFi?=
 =?utf-8?B?Tm1wdUJpbkZ1cldoT0xHMnlHSFZqdWxDK0tHRitMWEh4SUZVVGYzaERzNXpj?=
 =?utf-8?B?NUdCTkE1VDM3R2VWM0pCbnRGK2xqSzFSbEFtQ3Exc3B1QmJrM0N1M09JL3Q1?=
 =?utf-8?B?SnRsRHZUeUtMK1V3K2t6YU13UW1rY3FEeTdaUlNVc04yby9PTVo1azFNQSta?=
 =?utf-8?B?RkxJMjE5SmpQTVRMM1JSYkNSbXp2VmR6SlBIM3k2RVN0ekprY2NIZHdZZEdQ?=
 =?utf-8?B?cnZKS2FOb0lTSDRCbmNrSU9qcS9ydjdOUDJzNWlRNW9iNmhJeWZ3UTgrYW9V?=
 =?utf-8?B?MUE3cjZZVzRLRFQ1cVFKUlJJM1hjS1U4d1hXZElJeEJsbkZKUEgwaWc1UEJi?=
 =?utf-8?B?TGJHNHo0OGlBc0huRnJOV1J0MzYrS0ZGUVV4VkFpdm5scE5WaFlpUmlJTVF4?=
 =?utf-8?B?YXlTeVIwSlYrUHFkRDlsK2JHbEZ1MDhSVm5rTklMdlRmcC9qWkdieXpTczEy?=
 =?utf-8?B?eFhLSXFhdllta3paZjlKNmZXaXVZMXBIVERKRkpuT0w3VmtKeUpNdXNTMVlT?=
 =?utf-8?B?WEROSG13bWNFcXhudHFpVXo3eXNEeU9vR1IvUzdCbER0U3B6dXYyaDIyQjg3?=
 =?utf-8?B?RnVEcC90ajMyUUg2VDlrVGtYUUhCQWhUV2dkL3JiWDlUdXk4anQyc1JYbEQx?=
 =?utf-8?B?akxoTmhwYmk0cmFQbmI4T055amRLczIwVVh6Qi9HSHVGSDVjOUNIaFRWNFM2?=
 =?utf-8?B?aWw2STlXbm1rcFlqRDc1bUNVTWNwU1pLSkFLZDZ4d2pTcFozVURoYmYvYXdz?=
 =?utf-8?B?WE9uZjhpc3NPNXBnN0tyNFR6ei9DSGxSYkluT0ZyR1hpU2NEY3F1eXBROXhs?=
 =?utf-8?B?NDRPbGNFbUZrUnVNSE1adjBvRmZRRks5VFlNaUdjTXhDT3laMlBzeFdIR2ZL?=
 =?utf-8?B?NGYycUdxMEtVOFdpQ0ZqYnN2bXQwclE1WFIxWVF0WnJ1c2NaTkdlLyt3MHhO?=
 =?utf-8?B?QVNkV2ZUYUl2WVJza1ZQakI0aFJ4WTAzWTdmZVoreit0NExYYzFCcW1iNlpm?=
 =?utf-8?B?Y2JTTkQrcnAwWjFVOFhTRGVqMEI4QXIrbG1acVRCM2ZzSDdrRzNtSmkydlAx?=
 =?utf-8?B?bi82ZTdRbTBMVnowS1ZaYkNaZWNsL3VoMFAyWHhIUERXUWFWZUpDeUpscnBU?=
 =?utf-8?B?RmNha1FBb05FWm1qbHJpeHF2eEZwSU4wbzhsZVJrRFprNFFJRk55czdrY3pV?=
 =?utf-8?B?eFE9PQ==?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <2791F40C6F63E844AEDA7241C213DA9A@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: VI1PR03MB3710.eurprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b20966c6-8ccb-41c4-4ea9-08dbf06c1da3
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Nov 2023 23:45:34.7090
 (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: 7mzi0ImClKj9RcG1qy0ncurlevDrc7xsobKV5Z1MDgS+4h3YKqA1/e6KH50x7mQhOk5LFtUAXfBWNJP82g/25Ju/aFdqsIKSizMcHaKyjjk=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS2PR03MB9193
X-Proofpoint-ORIG-GUID: OpUPn34Nw7NfJ4G2zXezzvzAm0EqOLDm
X-Proofpoint-GUID: OpUPn34Nw7NfJ4G2zXezzvzAm0EqOLDm
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-28_25,2023-11-27_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 mlxscore=0
 malwarescore=0 adultscore=0 bulkscore=0 priorityscore=1501 mlxlogscore=833
 suspectscore=0 lowpriorityscore=0 spamscore=0 impostorscore=0 phishscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311060000
 definitions=main-2311280186

SGkgUm9nZXIsDQoNClJvZ2VyIFBhdSBNb25uw6kgPHJvZ2VyLnBhdUBjaXRyaXguY29tPiB3cml0
ZXM6DQoNCj4gT24gV2VkLCBOb3YgMjIsIDIwMjMgYXQgMDE6MTg6MzJQTSAtMDgwMCwgU3RlZmFu
byBTdGFiZWxsaW5pIHdyb3RlOg0KPj4gT24gV2VkLCAyMiBOb3YgMjAyMywgUm9nZXIgUGF1IE1v
bm7DqSB3cm90ZToNCj4+ID4gT24gVHVlLCBOb3YgMjEsIDIwMjMgYXQgMDU6MTI6MTVQTSAtMDgw
MCwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOg0KPj4gPiA+IExldCBtZSBleHBhbmQgb24gdGhp
cy4gTGlrZSBJIHdyb3RlIGFib3ZlLCBJIHRoaW5rIGl0IGlzIGltcG9ydGFudCB0aGF0DQo+PiA+
ID4gWGVuIHZQQ0kgaXMgdGhlIG9ubHkgaW4tdXNlIFBDSSBSb290IENvbXBsZXggZW11bGF0b3Iu
IElmIGl0IG1ha2VzIHRoZQ0KPj4gPiA+IFFFTVUgaW1wbGVtZW50YXRpb24gZWFzaWVyLCBpdCBp
cyBPSyBpZiBRRU1VIGVtdWxhdGVzIGFuIHVubmVlZGVkIGFuZA0KPj4gPiA+IHVudXNlZCBQQ0kg
Um9vdCBDb21wbGV4LiBGcm9tIFhlbiBwb2ludCBvZiB2aWV3LCBpdCBkb2Vzbid0IGV4aXN0Lg0K
Pj4gPiA+IA0KPj4gPiA+IEluIHRlcm1zIGlmIGlvcmVxIHJlZ2lzdHJhdGlvbiwgUUVNVSBjYWxs
cw0KPj4gPiA+IHhlbmRldmljZW1vZGVsX21hcF9wY2lkZXZfdG9faW9yZXFfc2VydmVyIGZvciBl
YWNoIFBDSSBCREYgaXQgd2FudHMgdG8NCj4+ID4gPiBlbXVsYXRlLiBUaGF0IHdheSwgWGVuIHZQ
Q0kga25vd3MgZXhhY3RseSB3aGF0IFBDSSBjb25maWcgc3BhY2UNCj4+ID4gPiByZWFkcy93cml0
ZXMgdG8gZm9yd2FyZCB0byBRRU1VLg0KPj4gPiA+IA0KPj4gPiA+IExldCdzIHNheSB0aGF0Og0K
Pj4gPiA+IC0gMDA6MDIuMCBpcyBQQ0kgcGFzc3Rocm91Z2ggZGV2aWNlDQo+PiA+ID4gLSAwMDow
My4wIGlzIGEgUENJIGVtdWxhdGVkIGRldmljZQ0KPj4gPiA+IA0KPj4gPiA+IFFFTVUgd291bGQg
cmVnaXN0ZXIgMDA6MDMuMCBhbmQgdlBDSSB3b3VsZCBrbm93IHRvIGZvcndhcmQgYW55dGhpbmcN
Cj4+ID4gPiByZWxhdGVkIHRvIDAwOjAzLjAgdG8gUUVNVSwgYnV0IG5vdCAwMDowMi4wLg0KPj4g
PiANCj4+ID4gSSB0aGluayB0aGVyZSdzIHNvbWUgd29yayBoZXJlIHNvIHRoYXQgd2UgaGF2ZSBh
IHByb3BlciBoaWVyYXJjaHkNCj4+ID4gaW5zaWRlIG9mIFhlbi4gIFJpZ2h0IG5vdyBib3RoIGlv
cmVxIGFuZCB2cGNpIGV4cGVjdCB0byBkZWNvZGUgdGhlDQo+PiA+IGFjY2Vzc2VzIHRvIHRoZSBQ
Q0kgY29uZmlnIHNwYWNlLCBhbmQgc2V0dXAgKE1NKUlPIGhhbmRsZXJzIHRvIHRyYXANCj4+ID4g
RUNBTSwgc2VlIHZwY2lfZWNhbV97cmVhZCx3cml0ZX0oKS4NCj4+ID4gDQo+PiA+IEkgdGhpbmsg
d2Ugd2FudCB0byBtb3ZlIHRvIGEgbW9kZWwgd2hlcmUgdlBDSSBkb2Vzbid0IHNldHVwIE1NSU8g
dHJhcHMNCj4+ID4gaXRzZWxmLCBhbmQgaW5zdGVhZCByZWxpZXMgb24gaW9yZXEgdG8gZG8gdGhl
IGRlY29kaW5nIGFuZCBmb3J3YXJkaW5nDQo+PiA+IG9mIGFjY2Vzc2VzLiAgV2UgbmVlZCBzb21l
IHdvcmsgaW4gb3JkZXIgdG8gcmVwcmVzZW50IGFuIGludGVybmFsDQo+PiA+IGlvcmVxIGhhbmRs
ZXIsIGJ1dCB0aGF0IHNob3VsZG4ndCBiZSB0b28gY29tcGxpY2F0ZWQuICBJT1c6IHZwY2kNCj4+
ID4gc2hvdWxkIHJlZ2lzdGVyIGRldmljZXMgaXQncyBoYW5kbGluZyB3aXRoIGlvcmVxLCBtdWNo
IGxpa2UgUUVNVSBkb2VzLg0KPj4gDQo+PiBJIHRoaW5rIHRoaXMgY291bGQgYmUgYSBnb29kIGlk
ZWEuDQo+PiANCj4+IFRoaXMgd291bGQgYmUgdGhlIHZlcnkgZmlyc3QgSU9SRVEgaGFuZGxlciBp
bXBsZW1lbnRlZCBpbiBYZW4gaXRzZWxmLA0KPj4gcmF0aGVyIHRoYW4gb3V0c2lkZSBvZiBYZW4u
IFNvbWUgY29kZSByZWZhY3RvcmluZyBtaWdodCBiZSByZXF1aXJlZCwNCj4+IHdoaWNoIHdvcnJp
ZXMgbWUgZ2l2ZW4gdGhhdCB2UENJIGlzIGF0IHYxMCBhbmQgaGFzIGJlZW4gcGVuZGluZyBmb3IN
Cj4+IHllYXJzLiBJIHRoaW5rIGl0IGNvdWxkIG1ha2Ugc2Vuc2UgYXMgYSBmb2xsb3ctdXAgc2Vy
aWVzLCBub3QgdjExLg0KPg0KPiBUaGF0J3MgcGVyZmVjdGx5IGZpbmUgZm9yIG1lLCBtb3N0IG9m
IHRoZSBzZXJpZXMgaGVyZSBqdXN0IGRlYWwgd2l0aA0KPiB0aGUgbG9naWMgdG8gaW50ZXJjZXB0
IGd1ZXN0IGFjY2VzcyB0byB0aGUgY29uZmlnIHNwYWNlIGFuZCBpcw0KPiBjb21wbGV0ZWx5IGFn
bm9zdGljIGFzIHRvIGhvdyB0aGUgYWNjZXNzZXMgYXJlIGludGVyY2VwdGVkLg0KPg0KPj4gSSB0
aGluayB0aGlzIGlkZWEgd291bGQgYmUgYmVuZWZpY2lhbCBpZiwgaW4gdGhlIGV4YW1wbGUgYWJv
dmUsIHZQQ0kNCj4+IGRvZXNuJ3QgcmVhbGx5IG5lZWQgdG8ga25vdyBhYm91dCBkZXZpY2UgMDA6
MDMuMC4gdlBDSSByZWdpc3RlcnMgdmlhDQo+PiBJT1JFUSB0aGUgUENJIFJvb3QgQ29tcGxleCBh
bmQgZGV2aWNlIDAwOjAyLjAgb25seSwgUUVNVSByZWdpc3RlcnMNCj4+IDAwOjAzLjAsIGFuZCBl
dmVyeXRoaW5nIHdvcmtzLiB2UENJIGlzIG5vdCBpbnZvbHZlZCBhdCBhbGwgaW4gUENJIGNvbmZp
Zw0KPj4gc3BhY2UgcmVhZHMgYW5kIHdyaXRlcyBmb3IgMDA6MDMuMC4gSWYgdGhpcyBpcyB0aGUg
Y2FzZSwgdGhlbiBtb3ZpbmcNCj4+IHZQQ0kgdG8gSU9SRVEgY291bGQgYmUgZ29vZC4NCj4NCj4g
R2l2ZW4geW91ciBkZXNjcmlwdGlvbiBhYm92ZSwgd2l0aCB0aGUgcm9vdCBjb21wbGV4IGltcGxl
bWVudGVkIGluDQo+IHZQQ0ksIHdlIHdvdWxkIG5lZWQgdG8gbWFuZGF0ZSB2UENJIHRvZ2V0aGVy
IHdpdGggaW9yZXFzIGV2ZW4gaWYgbm8NCj4gcGFzc3Rocm91Z2ggZGV2aWNlcyBhcmUgdXNpbmcg
dlBDSSBpdHNlbGYgKGp1c3QgZm9yIHRoZSBlbXVsYXRpb24gb2YNCj4gdGhlIHJvb3QgY29tcGxl
eCkuICBXaGljaCBpcyBmaW5lLCBqdXN0IHdhbnRlZCB0byBtZW50aW9uIHRoZQ0KPiBkZXBlbmRl
bmN5Lg0KPg0KPj4gT24gdGhlIG90aGVyIGhhbmQgaWYgdlBDSSBhY3R1YWxseSBuZWVkcyB0byBr
bm93IHRoYXQgMDA6MDMuMCBleGlzdHMsDQo+PiBwZXJoYXBzIGJlY2F1c2UgaXQgY2hhbmdlcyBz
b21ldGhpbmcgaW4gdGhlIFBDSSBSb290IENvbXBsZXggZW11bGF0aW9uDQo+PiBvciB2UENJIG5l
ZWRzIHRvIHRha2Ugc29tZSBhY3Rpb24gd2hlbiBQQ0kgY29uZmlnIHNwYWNlIHJlZ2lzdGVycyBv
Zg0KPj4gMDA6MDMuMCBhcmUgd3JpdHRlbiB0bywgdGhlbiBJIHRoaW5rIHRoaXMgbW9kZWwgZG9l
c24ndCB3b3JrIHdlbGwuIElmDQo+PiB0aGlzIGlzIHRoZSBjYXNlLCB0aGVuIEkgdGhpbmsgaXQg
d291bGQgYmUgYmVzdCB0byBrZWVwIHZQQ0kgYXMgTU1JTw0KPj4gaGFuZGxlciBhbmQgbGV0IHZQ
Q0kgZm9yd2FyZCB0byBJT1JFUSB3aGVuIGFwcHJvcHJpYXRlLg0KPg0KPiBBdCBmaXJzdCBhcHBy
b3hpbWF0aW9uIEkgZG9uJ3QgdGhpbmsgd2Ugd291bGQgaGF2ZSBzdWNoIGludGVyYWN0aW9ucywN
Cj4gb3RoZXJ3aXNlIHRoZSB3aG9sZSBwcmVtaXNlIG9mIGlvcmVxIGJlaW5nIGFibGUgdG8gcmVn
aXN0ZXIgaW5kaXZpZHVhbA0KPiBQQ0kgZGV2aWNlcyB3b3VsZCBiZSBicm9rZW4uDQo+DQo+IFhl
blNldmVyIGFscmVhZHkgaGFzIHNjZW5hcmlvcyB3aXRoIHR3byBkaWZmZXJlbnQgdXNlci1zcGFj
ZSBlbXVsYXRvcnMNCj4gKGllOiB0d28gZGlmZmVyZW50IGlvcmVxIHNlcnZlcnMpIGhhbmRsaW5n
IGFjY2Vzc2VzIHRvIGRpZmZlcmVudA0KPiBkZXZpY2VzIGluIHRoZSBzYW1lIFBDSSBidXMsIGFu
ZCB0aGVyZSdzIG5vIGludGVyYWN0aW9uIHdpdGggdGhlIHJvb3QNCj4gY29tcGxleCByZXF1aXJl
ZC4NCj4NCg0KT3V0IG9mIGN1cmlvc2l0eTogaG93IGxlZ2FjeSBQQ0kgaW50ZXJydXB0cyBhcmUg
aGFuZGxlZCBpbiB0aGlzIGNhc2U/IEluDQpteSB1bmRlcnN0YW5kaW5nLCBpdCBpcyBSb290IENv
bXBsZXgncyByZXNwb25zaWJpbGl0eSB0byBwcm9wYWdhdGUNCmNvcnJlY3QgSVJRIGxldmVscyB0
byBhbiBpbnRlcnJ1cHQgY29udHJvbGxlcj8NCg0KWy4uLl0NCg0KLS0gDQpXQlIsIFZvbG9keW15
cg==


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 23:48:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 23:48:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643604.1003987 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r87oq-0002gq-Jy; Tue, 28 Nov 2023 23:48:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643604.1003987; Tue, 28 Nov 2023 23: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 1r87oq-0002gj-HB; Tue, 28 Nov 2023 23:48:44 +0000
Received: by outflank-mailman (input) for mailman id 643604;
 Tue, 28 Nov 2023 23:48: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 1r87op-0002gV-29; Tue, 28 Nov 2023 23:48: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 1r87oo-0004Mp-TN; Tue, 28 Nov 2023 23:48: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 1r87oo-0008Rj-Iq; Tue, 28 Nov 2023 23:48:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r87oo-0006n1-IG; Tue, 28 Nov 2023 23:48: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=Z/J5uP/NAEfdnAgsu/mhedkuNrD5Iw9tG83n9NUUYgk=; b=pEzHSqYQ1gHwDqFMtYegsiPZib
	vTGMb63IuaBzW0BRlBfbGX3/9355XKTnWBKTmnUlChWPGt5gPzs62avoGVRwngib8jsyn74Tu6G3g
	dDLvxWRnSA0OKE4n7cwhGqC4VzK9ZtW2JUrDM9rFhmYzItUpEUo6GD5cIVsAp+nXopyY=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183912-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [seabios test] 183912: tolerable FAIL - PUSHED
X-Osstest-Failures:
    seabios:test-amd64-amd64-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-win7-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    seabios:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    seabios:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    seabios:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    seabios=a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8
X-Osstest-Versions-That:
    seabios=1e1da7a963007d03a4e0e9a9e0ff17990bb1608d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 23:48:42 +0000

flight 183912 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/183912/

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 182944
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 182944
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 182944
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 182944
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 182944
 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

version targeted for testing:
 seabios              a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8
baseline version:
 seabios              1e1da7a963007d03a4e0e9a9e0ff17990bb1608d

Last test of basis   182944  2023-09-11 15:14:00 Z   78 days
Testing same since   183912  2023-11-28 20:11:08 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  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-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-qemuu-nested-amd                            fail    
 test-amd64-i386-qemuu-rhel6hvm-amd                           pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64                    pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64                     pass    
 test-amd64-amd64-qemuu-freebsd11-amd64                       pass    
 test-amd64-amd64-qemuu-freebsd12-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-amd64-amd64-xl-qemuu-dmrestrict-amd64-dmrestrict        pass    
 test-amd64-i386-xl-qemuu-dmrestrict-amd64-dmrestrict         pass    
 test-amd64-amd64-qemuu-nested-intel                          pass    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-xl-qemuu-debianhvm-amd64-shadow             pass    
 test-amd64-i386-xl-qemuu-debianhvm-amd64-shadow              pass    


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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/seabios.git
   1e1da7a..a6ed6b7  a6ed6b701f0a57db0569ab98b0661c12a6ec3ff8 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Tue Nov 28 23:51:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Tue, 28 Nov 2023 23:51:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643610.1003998 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r87rs-00049O-1p; Tue, 28 Nov 2023 23:51:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643610.1003998; Tue, 28 Nov 2023 23:51: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 1r87rr-00049H-VH; Tue, 28 Nov 2023 23:51:51 +0000
Received: by outflank-mailman (input) for mailman id 643610;
 Tue, 28 Nov 2023 23:51: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 1r87rq-000497-Og; Tue, 28 Nov 2023 23:51: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 1r87rq-0004Qj-Nt; Tue, 28 Nov 2023 23:51: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 1r87rq-0000Dy-FP; Tue, 28 Nov 2023 23:51:50 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r87rq-0008Sp-Eq; Tue, 28 Nov 2023 23:51: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=b9O8Ofojjrx0hxCO+buE2f/JQAV+fFovZuAcJyz+Qn4=; b=Ta4tXGaeNoCYUhleRVf+j9Dz3F
	KklEF/a9QVjKTBxYUa+Wf056giB+FrhwSi9l1H+t0SYAK0VPIac5nfdoQaioCT1UQ8V5TL0mvtbL3
	4hKCBXT1VSqv8/tJZdCtZBW7EHbdpGwXdmJPv2ChefUxCWCojbsNSnixGGV5OkfnGeIA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183914-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183914: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=cdf36b1e36805884a8dc115b1316ac09ce77feee
X-Osstest-Versions-That:
    ovmf=e1627f77201ac55d24e9d0e3380f9dbdc600843c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Tue, 28 Nov 2023 23:51:50 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 cdf36b1e36805884a8dc115b1316ac09ce77feee
baseline version:
 ovmf                 e1627f77201ac55d24e9d0e3380f9dbdc600843c

Last test of basis   183909  2023-11-28 18:11:03 Z    0 days
Testing same since   183914  2023-11-28 21:42:52 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael Kubacki <michael.kubacki@microsoft.com>
  Nhi Pham <nhi@os.amperecomputing.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
   e1627f7720..cdf36b1e36  cdf36b1e36805884a8dc115b1316ac09ce77feee -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 02:29:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 02:29:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643619.1004014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8AKA-00019R-Kp; Wed, 29 Nov 2023 02:29:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643619.1004014; Wed, 29 Nov 2023 02: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 1r8AKA-00019K-Ge; Wed, 29 Nov 2023 02:29:14 +0000
Received: by outflank-mailman (input) for mailman id 643619;
 Wed, 29 Nov 2023 02:29: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=W+r8=HK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8AK9-00019E-Ta
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 02:29:14 +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 1414aa8d-8e5f-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 03:29:11 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 6ADAE618C4;
 Wed, 29 Nov 2023 02:29:09 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 106D6C433C8;
 Wed, 29 Nov 2023 02:29:07 +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: 1414aa8d-8e5f-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701224949;
	bh=RzsuCVwLd15MMEd9XUdfTTzzWRcj7yIRLzITMi7NZa8=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=ZELDhWPlBFfJvfHC0esNouTrS3TfqHm2PygRnlJ805msRCr4AdQOWNEAxVc5lWo2c
	 fVLs/nZY+UQISNuCEtDj6Bcrwbtv7yJpIAsl1USnBUpf6hNZY5QtdRyhTOMhvQ/llY
	 OaVC5etBJvy/XuTDdjDGRbRDRA5AoTYcpZvXgme0x+0l0tK0MA8HSfOgyAkHEQYtdM
	 hy7mt/8frpCw2egMGWQWdtyFwxhbHacuJnRFPCvnH6jJu1sQlNw4kHeQe9KJGLvibO
	 xgluLcK2/0vrVg58KSzc0KYRClioRAaIk9BFosD4EiRzTKJr/brDBVjaIOtGXgb9rF
	 eh+3EHZGKrCUg==
Date: Tue, 28 Nov 2023 18:29:07 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Julien Grall <julien@xen.org>
cc: Michal Orzel <michal.orzel@amd.com>, 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] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
In-Reply-To: <9d1e385e-152e-404a-8d8b-47c5ac08d76a@xen.org>
Message-ID: <alpine.DEB.2.22.394.2311281802110.3533093@ubuntu-linux-20-04-desktop>
References: <20231127144156.361656-1-michal.orzel@amd.com> <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org> <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com> <b0127019-4976-42e3-bde1-643cc56f18b0@xen.org> <16b73400-b592-4a1a-9b87-8c49aad9208d@amd.com>
 <9d1e385e-152e-404a-8d8b-47c5ac08d76a@xen.org>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Tue, 28 Nov 2023, Julien Grall wrote:
> On 28/11/2023 18:15, Michal Orzel wrote:
> > On 28/11/2023 18:09, Julien Grall wrote:
> > > On 28/11/2023 18:00, Michal Orzel wrote:
> > > > On 28/11/2023 17:14, Julien Grall wrote:
> > > > > On 27/11/2023 15:41, Michal Orzel wrote:
> > > > > > Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where
> > > > > > prompt
> > > > > > attention to undefined behavior issues, notably during CI test runs,
> > > > > > is
> > > > > > essential. When enabled, this option causes Xen to panic upon
> > > > > > detecting
> > > > > > UBSAN failure (as the last step in ubsan_epilogue()).
> > > > > 
> > > > > I have mixed opinions on this patch. This would be a good one if we
> > > > > had
> > > > > a Xen mostly free from UBSAN behavior. But this is not the case at
> > > > > least
> > > > > on arm32. So we would end up to stop at the first error. IOW, we would
> > > > > need to fix the first error before we can see the next one.
> > > > Well, this patch introduces a config option disabled by default.
> > > 
> > > I understood this is disabled by default... I am pointing out that I am
> > > not convinced about the usefulness until we are at the stage where Xen
> > > is normally not reporting any USBAN error.
> > > 
> > > > If we end up enabling it for CI for reasons* stated by Andrew, then the
> > > > natural way
> > > > of handling such issues is to do the investigation locally.
> > > 
> > > This will not always be possible. One example is when you are only able
> > > to reproduce some of the USBAN errors on a specific HW.
> > > 
> > > > Then, you are not forced
> > > > to select this option and you can see all the UBSAN issues if you want.
> > > 
> > > See above, I got that point. I am mostly concerned about the implication
> > > in the CI right now.
> > > 
> > > > 
> > > > > 
> > > > > So I feel it would be best if the gitlab CI jobs actually check for
> > > > > USBAN in the logs and fail if there are any. With that, we can get the
> > > > > full list of UBSAN issues on each job.
> > > > Well, I prefer Andrew suggestion (both [1] and on IRC), hence this
> > > > patch.
> > > > 
> > > > *my plan was to first fix the UBSAN issues and then enable this option
> > > > for CI.
> > > 
> > > That would have been useful to describe your goal after "---". With that
> > > in mind, then I suggest to revisit this patch once all the UBSAN issues
> > > in a normal build are fixed.
> > But this patch does not enable this option for CI automatically, right?
> 
> Correct.
> 
> > Why are you so keen to push it back?
> 
> I have been pushing back because your commit message refers to the CI
> specifically and today this would not really work (read as I would not be
> happy if this option is enabled in the CI right now at least on arm32).
> 
> If you want to fail a CI job for UBSAN today, then we need to find a different
> approach so we can get the full list of UBSAN error rather than fixing one,
> retry and then next one.
> 
> > Is it because you see no point in this option other than for the upstream CI
> > loop?
> 
> Even in the upstream CI loop, I am a little unsure about this approach. At
> least, I feel I would want to see all the reports at once in the CI.
> 
> But this is not really a strong feeling.
> 
> > I find it useful on a day-to-day
> > Xen runs, and I would for sure enable it by default in my config not to miss
> > UBSAN failures.
> 
> Fair enough. I view USBAN issues the same a WARN_ON. They all need to be
> investigated. So now you have an inconsistent policy.
> 
> Are you are also intending to switch WARN_ON() to fatal? If not, then why
> would UBSAN warnings more important that the other warnings?

I think it would be useful to be able to turn WARN_ONs into BUG_ONs
selectively by component. We could turn all WARN_ONs into BUG_ONs but
that's a bit extreme.

It is true that this patch is a bit... "ad-hoc". But given its
simplicity it doesn't hurt and I think it is nice-to-have for UBSAN. So
I would go with that.

But if we want something more sophisticated, here is an idea. The
concept is that one could specify warn=arch/arm/domain_build.c in the
Xen command line to change a WARN_ON in arch/arm/domain_build.c into a
BUG. I tested it with a WARN_ON I added on purpose and it works.


diff --git a/xen/common/symbols.c b/xen/common/symbols.c
index 133b580768..c78d2963c3 100644
--- a/xen/common/symbols.c
+++ b/xen/common/symbols.c
@@ -20,6 +20,10 @@
 #include <public/platform.h>
 #include <xen/guest_access.h>
 #include <xen/errno.h>
+#include <xen/param.h>
+
+char opt_warn[30] = "";
+string_param("warn", opt_warn);
 
 #ifdef SYMBOLS_ORIGIN
 extern const unsigned int symbols_offsets[];
diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
index 1793be5b6b..60e14cdb85 100644
--- a/xen/include/xen/lib.h
+++ b/xen/include/xen/lib.h
@@ -12,12 +12,19 @@
 #include <xen/xmalloc.h>
 #include <xen/string.h>
 
+extern char opt_warn[30];
+
 #define BUG_ON(p)  do { if (unlikely(p)) BUG();  } while (0)
 #define WARN_ON(p)  ({                  \
     bool ret_warn_on_ = (p);            \
                                         \
     if ( unlikely(ret_warn_on_) )       \
-        WARN();                         \
+    {                                   \
+        if ( !strcmp(__FILE__, opt_warn) ) \
+            BUG();                      \
+        else                            \
+            WARN();                     \
+    }                                   \
     unlikely(ret_warn_on_);             \
 })
 


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 03:16:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 03:16:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643623.1004024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8B4E-0002X8-8k; Wed, 29 Nov 2023 03:16:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643623.1004024; Wed, 29 Nov 2023 03:16: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 1r8B4E-0002X1-5w; Wed, 29 Nov 2023 03:16:50 +0000
Received: by outflank-mailman (input) for mailman id 643623;
 Wed, 29 Nov 2023 03: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=W+r8=HK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8B4C-0002Wf-Nd
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 03:16:48 +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 ba2633bb-8e65-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 04:16:46 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id BD5EDB83CD9;
 Wed, 29 Nov 2023 03:16:45 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9664AC433C8;
 Wed, 29 Nov 2023 03:16: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: ba2633bb-8e65-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701227804;
	bh=jObDa/bz+W7ahO2ORnmCKBFx58M18Lq5+elVIKhg1Tc=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=oU48IvFaI+GPdgN/vI0IOkMzPJHa0wt9+Pm/tQQK3U4EKwdHizDwKWDoHlo0ayBLH
	 7nCwZBGKT4M4gUW+IwChDISyrde3wLZUg6rIkllfcMLog7M4Ot6RMtLQOrXMIoAxRd
	 dsgg+cYWQ5PR/7bYJK7+1zUJjvcH9QuMFnogeKwyU01nAYJM8ThvGC33LdubZ1lImA
	 rHnfzAkKvj6gLeyGvRcoidBBRre0kfTGSpLeteaEFZ9cvMaocMmWWtwzNwmarZIM/e
	 DClIe42pZrxZlZUp/Y1uU1DFv3SzLsTvRDoU6nTkVulz8+Q4dxxGtoZz10sPNI+W+Y
	 LLk9m3L1FtF3g==
Date: Tue, 28 Nov 2023 19:16:41 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: xen-devel@lists.xenproject.org, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, bertrand.marquis@arm.com, julien@xen.org, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v5 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
In-Reply-To: <dd207f2aa0a79b784df5d042f8a0169707c21902.1700211131.git.nicola.vetrini@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311281916270.3533093@ubuntu-linux-20-04-desktop>
References: <cover.1700211131.git.nicola.vetrini@bugseng.com> <dd207f2aa0a79b784df5d042f8a0169707c21902.1700211131.git.nicola.vetrini@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 17 Nov 2023, Nicola Vetrini wrote:
> To be able to check for the existence of the necessary subsections in
> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
> file that is built.
> 
> This file is generated from 'C-runtime-failures.rst' in docs/misra
> and the configuration is updated accordingly.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

It looks like you also addressed all Julien's comments appropriately


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 03:18:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 03:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643625.1004033 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8B5c-00033J-IM; Wed, 29 Nov 2023 03:18:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643625.1004033; Wed, 29 Nov 2023 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 1r8B5c-00033C-FL; Wed, 29 Nov 2023 03:18:16 +0000
Received: by outflank-mailman (input) for mailman id 643625;
 Wed, 29 Nov 2023 03:18: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=W+r8=HK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8B5b-000326-7z
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 03:18: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 ee5c21a0-8e65-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 04:18:14 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id DF7A661982;
 Wed, 29 Nov 2023 03:18:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2996C433C7;
 Wed, 29 Nov 2023 03:18: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: ee5c21a0-8e65-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701227892;
	bh=s04Utbab8VBNR2SKrnm8dQRXEAG5Lq5iijit6vMZj24=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=P+K/lQa2qKtcwPKn3HvdmVf7MI3TMrXfEBWdc4nZkXm7V0LXOq5xTL5rWU6T1LMUm
	 JBF2HAUV6ia/3xZmMe3Vu1mksC1p6SNdFCfWAgHqrP8kp+l6sncNAvAbpA4dmpiZV2
	 zvU0Tdt91yDDPEcG6jzmQV3oSuMQtWwGUxIJqWHJ7dI/fDARuL82wSfSF+l44/O6bV
	 NrPwr2cIkOKvKp3kT/mP+gIiohe8208dzlumiGxZ5tflLGi8+JqaEr+7ch9ESAzng/
	 DigMD24WNbMJgZl+6T+773GuIkPf33E08tQT3PoILL6DZKp+QXjwM1q38XOM9TRAaq
	 ZC3J2oosj88Qw==
Date: Tue, 28 Nov 2023 19:18:10 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Jan Beulich <jbeulich@suse.com>, sstabellini@kernel.org, 
    michal.orzel@amd.com, xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, andrew.cooper3@citrix.com, roger.pau@citrix.com, 
    xen-devel@lists.xenproject.org, Julien Grall <julien@xen.org>, 
    Bertrand Marquis <bertrand.marquis@arm.com>, 
    Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: Re: [XEN PATCH v5 1/3] arm/bitops: encapsulate violation of MISRA
 C:2012 Rule 10.1
In-Reply-To: <7c07e93ad4c050a421ec97f832d0a1e5@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311281917570.3533093@ubuntu-linux-20-04-desktop>
References: <cover.1700724350.git.nicola.vetrini@bugseng.com> <c7728964a8e6afdb1f52ed93f3d7459cc72b85ee.1700724350.git.nicola.vetrini@bugseng.com> <790c0480-7235-4a2a-929e-973e7aa27864@suse.com> <7c07e93ad4c050a421ec97f832d0a1e5@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 24 Nov 2023, Nicola Vetrini wrote:
> On 2023-11-24 09:06, Jan Beulich wrote:
> > On 23.11.2023 08:37, Nicola Vetrini wrote:
> > > The definitions of ffs{l}? violate Rule 10.1, by using the well-known
> > > pattern (x & -x); its usage is wrapped by the ISOLATE_LSB macro.
> > > 
> > > No functional change.
> > > 
> > > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> > > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> > 
> > This patch failed my pre-push build test; apparently xen/macros.h needs
> > including explicitly.
> > 
> > Jan
> 
> Yes, indeed. I must have dropped that change when experimenting with single
> evaluation and then never reinstated it.

Please re-send


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 03:18:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 03:18:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643627.1004044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8B6A-0003Yo-Qk; Wed, 29 Nov 2023 03:18:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643627.1004044; Wed, 29 Nov 2023 03:18: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 1r8B6A-0003Yh-NS; Wed, 29 Nov 2023 03:18:50 +0000
Received: by outflank-mailman (input) for mailman id 643627;
 Wed, 29 Nov 2023 03:18: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=W+r8=HK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8B68-0003YF-PT
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 03:18:48 +0000
Received: from sin.source.kernel.org (sin.source.kernel.org
 [2604:1380:40e1:4800::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0120a31b-8e66-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 04:18:46 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 7D18FCE1BC4;
 Wed, 29 Nov 2023 03:18:41 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 10BABC433C8;
 Wed, 29 Nov 2023 03:18: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: 0120a31b-8e66-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701227920;
	bh=dQKgUiIn+4UIUdwrn89C+7JMqmOKWCXDNjnHVfzFgnw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FNWuWLrZtbJ1iWpFinvyUkFosmkO4KyG4TFAZxtAotk5fGgGOfM7IhfhEP4brqXyr
	 OJZjsL8kyzaWE221bSujsSHR+F5X2BPnuQhVjEGrk0w8gKd9dwu8wlK3ZsJomvdRhg
	 QSDQ7nrPDGlxlxyQMU6wSBYalK8PDblo085mStN9friW43DgfhK/3dxfF7CrmCztbg
	 Dt12mRM+L7tsyC83QQINkCvlROzX6q0BxEnQTAb7l1YY3+I6xZGCoNQjAGPGym9hb+
	 Es5qYfQZpPAbyi8Ew/QNShJ+dzB8N06eHmF+glnwJqVhFWXhBNOz9nB/Cagg4MiKeK
	 lkE5oprO733rQ==
Date: Tue, 28 Nov 2023 19:18:38 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: Nicola Vetrini <nicola.vetrini@bugseng.com>, 
    xen-devel@lists.xenproject.org, michal.orzel@amd.com, 
    xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, 
    consulting@bugseng.com, jbeulich@suse.com, andrew.cooper3@citrix.com, 
    roger.pau@citrix.com, bertrand.marquis@arm.com, julien@xen.org, 
    Simone Ballarin <simone.ballarin@bugseng.com>, 
    Doug Goldstein <cardoe@cardoe.com>
Subject: Re: [XEN PATCH v5 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
In-Reply-To: <alpine.DEB.2.22.394.2311281916270.3533093@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2311281918280.3533093@ubuntu-linux-20-04-desktop>
References: <cover.1700211131.git.nicola.vetrini@bugseng.com> <dd207f2aa0a79b784df5d042f8a0169707c21902.1700211131.git.nicola.vetrini@bugseng.com> <alpine.DEB.2.22.394.2311281916270.3533093@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 Tue, 28 Nov 2023, Stefano Stabellini wrote:
> On Fri, 17 Nov 2023, Nicola Vetrini wrote:
> > To be able to check for the existence of the necessary subsections in
> > the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
> > file that is built.
> > 
> > This file is generated from 'C-runtime-failures.rst' in docs/misra
> > and the configuration is updated accordingly.
> > 
> > Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> It looks like you also addressed all Julien's comments appropriately

I meant to add my reviewed-by

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 03:26:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 03:26:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643632.1004053 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8BDB-00055W-IB; Wed, 29 Nov 2023 03:26:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643632.1004053; Wed, 29 Nov 2023 03:26: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 1r8BDB-00055P-FV; Wed, 29 Nov 2023 03:26:05 +0000
Received: by outflank-mailman (input) for mailman id 643632;
 Wed, 29 Nov 2023 03:26: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=W+r8=HK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8BDB-00055J-45
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 03:26:05 +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 0616bf0c-8e67-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 04:26:03 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 809A0B827AD;
 Wed, 29 Nov 2023 03:26:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id C8961C433CA;
 Wed, 29 Nov 2023 03:26: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: 0616bf0c-8e67-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701228361;
	bh=7K85jJi3+m8P+nn+lkj3Q5XxMXxD6/+ZoJefV4TjPKY=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=W/DKfzwIE9PSKV2fVJoJaxeqdhkfoOruRt2LaTGhonZLsXk56Mmw54Q76Uk8lFoBc
	 jwTtI5kYVIRZK1jDIDQ7wx1N3Todq78ZoKJ0uwBtllIPJu4WzB17n0wy+YXKSkcm3l
	 pAXzpDgdS3+qjQ6XMsGHihr4RV4QZ5UBSeGnB6zWEZazjZhlGLRcVC2lEqVQeXE0iL
	 MiAkOxlqVdcTVZdfUwpiIAdY+2p4ROfnCoRnn+tUWnXSd9KilE4tGIF95g+0ixHM7Z
	 xWdyyOxO71+87aDBBEJ1yNu+H8pcf02y37FwNGCDFlKgBYVhUveLQWimaFOcMgJFFJ
	 w/KevDiI92v+A==
Date: Tue, 28 Nov 2023 19:26:00 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
cc: Jan Beulich <jbeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Andrew Cooper3 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, 
    George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, 
    Xen Devel <xen-devel@lists.xenproject.org>
Subject: Re: MISRA: Compatible declarations for sort and bsearch
In-Reply-To: <5ebb62b5485bb1a0c4e805af6580ab6d@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311281923170.3533093@ubuntu-linux-20-04-desktop>
References: <f60a702c838c3274cf9e1193964222f4@bugseng.com> <ca540835e3cce50a852fdf2b3956205a@bugseng.com> <b3e14bf0-def2-4e1c-83f6-a94a203c7b8d@suse.com> <5ebb62b5485bb1a0c4e805af6580ab6d@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Mon, 27 Nov 2023, Nicola Vetrini wrote:
> > > /*
> > >   * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
> > >   * is required because the dummy helpers are using it.
> > >   */
> > > extern mfn_t first_valid_mfn;
> > > 
> > > it should probably be deviated.
> > 
> > NUMA work is still in progress for Arm, I think, so I'd rather wait with
> > deviating.
> > 
> 
> +Stefano
> 
> I can leave it as is, if that's indeed going to become static at some point.

I see the point in waiting given the TODO comment, but I wouldn't want
this issue to be the only thing standing between us and zero violation
of Rule 8.4 on ARM. So I think we should add SAF to the comment and
remove it when not necessary any longer. 


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 03:39:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 03:39:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643636.1004064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8BQ8-0000YD-N8; Wed, 29 Nov 2023 03:39:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643636.1004064; Wed, 29 Nov 2023 03: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 1r8BQ8-0000Y6-Jv; Wed, 29 Nov 2023 03:39:28 +0000
Received: by outflank-mailman (input) for mailman id 643636;
 Wed, 29 Nov 2023 03:39: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 1r8BQ7-0000Xw-9q; Wed, 29 Nov 2023 03:39: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 1r8BQ6-0007ln-W3; Wed, 29 Nov 2023 03:39: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 1r8BQ6-0002hJ-J6; Wed, 29 Nov 2023 03:39:26 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8BQ6-00087d-Ia; Wed, 29 Nov 2023 03:39: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=aTwxnh56Kv4h5WUtb4HPFnq0trICWikOIv1+L9VRKYI=; b=HDVq9oVWLu2/Kzk2P90Xb+W+L2
	OLmddnvvCBsF0gkVd7ktO0OZBEGyWSsrH2V3JNJf1Mbe1YOlIKmQosGLrLOddloIfDDEwPAJfQXte
	6I2XUnyNNyFPmoXfVdrCihTQc8IMpzXnDHKj49GfWwAkGSVhdJ60pLGeHuP8PnAKDwFc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183920-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183920: regressions - all pass
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-arm64-xsm:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-armhf:xen-build/dist-test:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=18540a313cc66a04eb15a67d74c7992a8576fbec
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 03:39:26 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   7 xen-build/dist-test      fail REGR. vs. 183851
 build-arm64-xsm               7 xen-build/dist-test      fail REGR. vs. 183851
 build-armhf                   7 xen-build/dist-test      fail REGR. vs. 183851

Tests which did not succeed, but are not blocking:
 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-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                  18540a313cc66a04eb15a67d74c7992a8576fbec
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    4 days
Failing since        183871  2023-11-27 14:00:26 Z    1 days    8 attempts
Testing same since   183920  2023-11-28 23:02:06 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 04:55:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 04:55:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643644.1004080 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Cbc-0008Jx-5w; Wed, 29 Nov 2023 04:55:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643644.1004080; Wed, 29 Nov 2023 04: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 1r8Cbc-0008Jq-2f; Wed, 29 Nov 2023 04:55:24 +0000
Received: by outflank-mailman (input) for mailman id 643644;
 Wed, 29 Nov 2023 04:55: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=s/FI=HK=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r8Cba-0008Ji-OL
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 04:55:22 +0000
Received: from do158-143.mg.gitlab.com (do158-143.mg.gitlab.com
 [192.237.158.143]) by se1-gles-sth1.inumbo.com (Halon) with UTF8SMTPS
 id 7f056aa9-8e73-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 05:55:20 +0100 (CET)
Received: from mg.gitlab.com (18.226.74.34.bc.googleusercontent.com
 [34.74.226.18]) by
 2aa945c5e0d3 with SMTP id 6566c4368218c7e49ad965f8 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 29 Nov 2023 04:55:18 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 7f056aa9-8e73-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1701233718; x=1701240918; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=thrLJIVPRhNhaX6h0XBX4OHNXN7OROD8S1HDNLhAFbw=;
 b=bIvnSka/C5YseMkaq6QvtNwFFRBgeMMPIj/b6JEROXFd65yXmwdXkIy8vK+1pbQAEKRdRH05oXNxlaqCLW9+jDyCHHlWQ6qM4leq1jzCzY8zrXEZHNJdP6sdoPMeLRKSx9+tcP2iGk22IXMxYhbvbB2VhHa4Pn7fYcp0s2E/FBY=
X-Mailgun-Sending-Ip: 192.237.158.143
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 29 Nov 2023 04:55:18 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6566c436406f3_2c9ae982108e@gitlab-sidekiq-catchall-v2-6f6d8c64fc-tx6zz.mail>
Subject: xen | Successful pipeline for staging | 72ec0709
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6566c43636055_2c9ae9820945";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1088683622
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6566c43636055_2c9ae9820945
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1088683622 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 72ec0709 ( https://gitlab.com/xen-project/xen/-/commit/72ec070930fa4a34d7665ba2a7a42a91d0c85bed )
Commit Message: xen: replace some occurrences of SAF-1-safe wit...
Commit Author: Nicola Vetrini
Committed by: Stefano Stabellini



Pipeline #1088683622 ( https://gitlab.com/xen-project/xen/-/pipelines/1088683622 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6566c43636055_2c9ae9820945
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 72ec0709</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1088683622 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/72ec070930fa4a34d7=
665ba2a7a42a91d0c85bed" style=3D"color: #3777b0; text-decoration: none;">=
72ec0709</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen: replace some occurrences of SAF-1-safe wit...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/23d68b797e165570c641942285dfe06e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Nicola Vetrini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/50b82a64e2a9f930cabefa3948871101?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Stefano Stabellini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108868=
3622" style=3D"color: #3777b0; text-decoration: none;">#1088683622</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6566c43636055_2c9ae9820945--


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 05:16:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 05:16:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643683.1004090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8CvY-0004tr-N7; Wed, 29 Nov 2023 05:16:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643683.1004090; Wed, 29 Nov 2023 05:16: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 1r8CvY-0004tk-Jx; Wed, 29 Nov 2023 05:16:00 +0000
Received: by outflank-mailman (input) for mailman id 643683;
 Wed, 29 Nov 2023 05:15: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 1r8CvX-0004ta-8Y; Wed, 29 Nov 2023 05:15: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 1r8CvW-0001WR-Ud; Wed, 29 Nov 2023 05:15: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 1r8CvW-0001AA-Jy; Wed, 29 Nov 2023 05:15:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8CvW-0005xf-JR; Wed, 29 Nov 2023 05:15: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=zl7Uvn5b1XIUrrRAR/SKSTU5TPZ4t7o37arR+5rYGSM=; b=zX4uXPsw2Ronv/63jDOJOtOvE5
	8Xa9eUCnbecXkFnK9wDy1uUf7B2Brvx/J0BdZ02y+F9WCs/JfbESHQpaQVZQtcWDXpBHTRxTwQHAT
	HwNV8laLtH+hFdKZjs8xrZ+p/phfrU7x0jBvvhDQA0qAusdkZXuJASLeU7/OIg3Kp1vk=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183907-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 183907: regressions - FAIL
X-Osstest-Failures:
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start.2:fail:regression
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-5.4:test-arm64-arm64-libvirt-raw: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/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt:saverestore-support-check: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-i386-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-armhf-armhf-xl-credit2: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-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-i386-xl-qemut-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-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-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-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-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-multivcpu: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-armhf-armhf-xl: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:saverestore-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-vhd: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-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: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-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-amd64-amd64-libvirt:migrate-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
    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=8e221b47173d59e1b2877f6d8dc91e8be2031746
X-Osstest-Versions-That:
    linux=ef379773e2e76d6470a907ae36c3d12f65a6ecdb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 05:15:58 +0000

flight 183907 linux-5.4 real [real]
flight 183924 linux-5.4 real-retest [real]
http://logs.test-lab.xenproject.org/osstest/logs/183907/
http://logs.test-lab.xenproject.org/osstest/logs/183924/

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 test-arm64-arm64-libvirt-raw 18 guest-start.2            fail REGR. vs. 183803

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-qcow2 17 guest-start/debian.repeat fail pass in 183924-retest

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds    18 guest-start/debian.repeat fail REGR. vs. 183803

Tests which did not succeed, but are not blocking:
 test-arm64-arm64-libvirt-raw 17 guest-start/debian.repeat fail in 183924 like 183797
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 183797
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat    fail like 183797
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183803
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183803
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183803
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183803
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183803
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 183803
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183803
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183803
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183803
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183803
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183803
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183803
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183803
 test-amd64-i386-xl-pvshim    14 guest-start                  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-i386-libvirt      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 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          15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-arndale  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl          16 saverestore-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-vhd 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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-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:
 linux                8e221b47173d59e1b2877f6d8dc91e8be2031746
baseline version:
 linux                ef379773e2e76d6470a907ae36c3d12f65a6ecdb

Last test of basis   183803  2023-11-20 21:13:23 Z    8 days
Testing same since   183907  2023-11-28 17:13:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alain Michaud <alainm@chromium.org>
  Alain Volmat <alain.volmat@foss.st.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Sverdlin <alexander.sverdlin@siemens.com>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Alexei Starovoitov <ast@kernel.org>
  Amelie Delaunay <amelie.delaunay@foss.st.com>
  Anastasia Belova <abelova@astralinux.ru>
  Andi Shyti <andi.shyti@kernel.org>
  Andreas Gruenbacher <agruenba@redhat.com>
  Andrew Morton <akpm@linux-foundation.org>
  Arnd Bergmann <arnd@arndb.de>
  Artem Lukyanov <dukzcry@ya.ru>
  Axel Lin <axel.lin@ingics.com>
  baozhu.liu <lucas.liu@siengine.com>
  Baruch Siach <baruch@tkos.co.il>
  Beau Belgrave <beaub@linux.microsoft.com>
  Benjamin Bara <benjamin.bara@skidata.com>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Bob Peterson <rpeterso@redhat.com>
  Boris Brezillon <boris.brezillon@free-electrons.com>
  Brian Geffon <bgeffon@google.com>
  Cezary Rojewski <cezary.rojewski@intel.com>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chandrakanth patil <chandrakanth.patil@broadcom.com>
  Christian König <christian.koenig@amd.com>
  Chuck Lever <chuck.lever@oracle.com>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Thompson <daniel.thompson@linaro.org>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Kleikamp <dave.kleikamp@oracle.com>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Dmitry Antipov <dmantipov@yandex.ru>
  Douglas Anderson <dianders@chromium.org>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Eric Biggers <ebiggers@google.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory Greenman <gregory.greenman@intel.com>
  Guan Wentao <guanwentao@uniontech.com>
  Guenter Roeck <linux@roeck-us.net>
  Guo Zihua <guozihua@huawei.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hardik Gajjar <hgajjar@de.adit-jv.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hersen Wu <hersenxs.wu@amd.com>
  Herve Codina <herve.codina@bootlin.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacky Bai <ping.bai@nxp.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeff Layton <jlayton@kernel.org>
  Jijie Shao <shaojijie@huawei.com>
  Jiri Kosina <jkosina@suse.cz>
  Johannes Berg <johannes.berg@intel.com>
  John Stultz <jstultz@google.com>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jorge Sanjuan Garcia <jorge.sanjuangarcia@duagon.com>
  Jose Abreu <Jose.Abreu@synopsys.com>
  Josef Bacik <josef@toxicpanda.com>
  Joseph Hwang <josephsih@chromium.org>
  Joshua Yeong <joshua.yeong@starfivetech.com>
  Juergen Gross <jgross@suse.com>
  Juntong Deng <juntong.deng@outlook.com>
  Kalle Valo <quic_kvalo@quicinc.com>
  Kathiravan Thirumoorthy <quic_kathirav@quicinc.com>
  Kees Cook <keescook@chromium.org>
  Kemeng Shi <shikemeng@huaweicloud.com>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Larry Finger <Larry.Finger@lwfinger.net>
  Lee Jones <lee@kernel.org>
  Leon Romanovsky <leon@kernel.org>
  Leon Romanovsky <leonro@nvidia.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Walleij <linus.walleij@linaro.org>
  Liviu Dudau <liviu.dudau@arm.com>
  Lu Jialin <lujialin4@huawei.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Lukas Wunner <lukas@wunner.de>
  Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Manas Ghandat <ghandatmanas@gmail.com>
  Marcel Holtmann <marcel@holtmann.org>
  Mario Casquero <mcasquer@redhat.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masum Reza <masumrezarock100@gmail.com>
  Max Kellermann <max.kellermann@ionos.com>
  Meng Tang <tangmeng@uniontech.com>
  menghui.huang <menghui.huang@siengine.com>
  Michal Hocko <mhocko@suse.com>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  Neil Armstrong <narmstrong@baylibre.com>
  Nicolas Saenz Julienne <nsaenz@amazon.com>
  Nishanth Menon <nm@ti.com>
  Olga Kornievskaia <kolga@netapp.com>
  Olli Asikainen <olli.asikainen@gmail.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Moore <paul@paul-moore.com>
  Pavel Krasavin <pkrasavin@imaqliq.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Ping-Ke Shih <pkshih@realtek.com>
  Pu Wen <puwen@hygon.cn>
  Qu Huang <qu.huang@linux.dev>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Rajeshwar R Shinde <coolrrsh@gmail.com>
  Richard Cochran <richardcochran@gmail.com>
  Ronald Wahl <ronald.wahl@raritan.com>
  Rong Chen <rong.chen@amlogic.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Saeed Mahameed <saeedm@nvidia.com>
  Sanjuán García, Jorge <Jorge.SanjuanGarcia@duagon.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Shuai Xue <xueshuai@linux.alibaba.com>
  Shung-Hsi Yu <shung-hsi.yu@suse.com>
  Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sumit Saxena <sumit.saxena@broadcom.com>
  Takashi Iwai <tiwai@suse.de>
  Tao Lyu <tao.lyu@epfl.ch>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Thomas Gleixner <tglx@linutronix.de>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Lindgren <tony@atomide.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vikash Garodia <quic_vgarodia@quicinc.com>
  Vincent Whitchurch <vincent.whitchurch@axis.com>
  Vinod Koul <vkoul@kernel.org>
  Vlad Buslov <vladbu@nvidia.com>
  Wayne Lin <wayne.lin@amd.com>
  Wenchao Hao <haowenchao2@huawei.com>
  Werner Sembach <wse@tuxedocomputers.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Yi Yang <yiyang13@huawei.com>
  Yonglong Liu <liuyonglong@huawei.com>
  Zhang Rui <rui.zhang@intel.com>
  Zhang Yi <yi.zhang@huawei.com>
  ZhengHan Wang <wzhmmmmm@gmail.com>
  Zhihao Cheng <chengzhihao1@huawei.com>
  zhujun2 <zhujun2@cmss.chinamobile.com>
  Zi Yan <ziy@nvidia.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-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                               fail    
 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                                     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                                 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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 05:54:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 05:54:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643689.1004102 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8DWK-0004JY-Ig; Wed, 29 Nov 2023 05:54:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643689.1004102; Wed, 29 Nov 2023 05: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 1r8DWK-0004JR-G5; Wed, 29 Nov 2023 05:54:00 +0000
Received: by outflank-mailman (input) for mailman id 643689;
 Wed, 29 Nov 2023 05:53: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 1r8DWI-0004JH-VD; Wed, 29 Nov 2023 05:53: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 1r8DWI-00029D-Nh; Wed, 29 Nov 2023 05:53: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 1r8DWI-00034z-Gr; Wed, 29 Nov 2023 05:53:58 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8DWI-0003eI-GH; Wed, 29 Nov 2023 05:53: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=zkVeLj8dZJcXxIKDNaRRssl1W/pTVkpkh5Jy/wYwG9E=; b=4/iplCuWUoOgAYcrmknTQX4o7y
	7JIY19pfZMzSFlZ2BNfCwdl2+wMdKiWTaKkHZpXS+PdEfvQ31S/qQrumt4yq3zD/OjfUXCJaESdbE
	ISmXlIGgwr2nLhykoZW1dsYSFK/auSPFZZoP2EKs0g9F9VN8U9w/E4U7oPsa8E08GNu8=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183923-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183923: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=88580a79d49f923ed9347d6161a5cff28a46f627
X-Osstest-Versions-That:
    ovmf=cdf36b1e36805884a8dc115b1316ac09ce77feee
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 05:53:58 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 88580a79d49f923ed9347d6161a5cff28a46f627
baseline version:
 ovmf                 cdf36b1e36805884a8dc115b1316ac09ce77feee

Last test of basis   183914  2023-11-28 21:42:52 Z    0 days
Testing same since   183923  2023-11-29 01:56:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Gao Cheng <gao.cheng@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
   cdf36b1e36..88580a79d4  88580a79d49f923ed9347d6161a5cff28a46f627 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 06:38:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 06:38:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643695.1004113 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ECm-0004YM-Vc; Wed, 29 Nov 2023 06:37:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643695.1004113; Wed, 29 Nov 2023 06:37: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 1r8ECm-0004YF-St; Wed, 29 Nov 2023 06:37:52 +0000
Received: by outflank-mailman (input) for mailman id 643695;
 Wed, 29 Nov 2023 06:37: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 1r8ECl-0004Y4-Na; Wed, 29 Nov 2023 06:37: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 1r8ECl-0002yP-Fo; Wed, 29 Nov 2023 06:37: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 1r8ECl-0005u9-6F; Wed, 29 Nov 2023 06:37:51 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8ECl-0003Ly-5d; Wed, 29 Nov 2023 06:37: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=DL2glcoKNozHh62PItyFpFlhetnP/lnJlPHRUTJM6eY=; b=zWEEddQ8zbQwC1fpM2fOcv11CD
	0823k7s2yFY+HcBTU9j6ao5zRx4XU4sJkTLTSVxmUN/6XtxwKbSZUQvQY8hD7Xii8pxo5wdDvKW9q
	+c/g0EEkuHV8DWcF1xb9PPizxitp15EpBaxDcTLAeebdj5MqD4RKHgU5bZHS/tKNOmPc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183925-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183925: regressions - all pass
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-arm64-xsm:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-armhf:xen-build/dist-test:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=72ec070930fa4a34d7665ba2a7a42a91d0c85bed
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 06:37:51 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   7 xen-build/dist-test      fail REGR. vs. 183851
 build-arm64-xsm               7 xen-build/dist-test      fail REGR. vs. 183851
 build-armhf                   7 xen-build/dist-test      fail REGR. vs. 183851

Tests which did not succeed, but are not blocking:
 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-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                  72ec070930fa4a34d7665ba2a7a42a91d0c85bed
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    4 days
Failing since        183871  2023-11-27 14:00:26 Z    1 days    9 attempts
Testing same since   183925  2023-11-29 04:00:29 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 07:51:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 07:51:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643708.1004128 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8FLs-0001YO-3y; Wed, 29 Nov 2023 07:51:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643708.1004128; Wed, 29 Nov 2023 07:51: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 1r8FLs-0001YH-1P; Wed, 29 Nov 2023 07:51:20 +0000
Received: by outflank-mailman (input) for mailman id 643708;
 Wed, 29 Nov 2023 07:51: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=ZIyB=HK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8FLq-0001YB-EI
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 07:51:18 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on061a.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 135a1800-8e8c-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 08:51:17 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7673.eurprd04.prod.outlook.com (2603:10a6:10:202::5) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Wed, 29 Nov
 2023 07:51:14 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Wed, 29 Nov 2023
 07:51: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: 135a1800-8e8c-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=CXCsyQG3psDrxoqlpCpbwqIjtbz8C71Uf7gTat6/UCoKFLXg3e3FaUmuMx6CWurGluG+NS5BRticSSft29akOdNcbUVN2nmGzfL6daFIPdQOgcxmzpmM+vrJBpPOyhlkWkANdFTm2sdfI3cDEY6MVmt8QKon3MceWSu3zfOktqpqRdGmNcFUR6GAcicy6jDDq2csPYwsTY8LejFV1PomLqqQ3J2WNQocV5wHjag1Yi6r24cvz+mx4ItVhD/G5qKbe9Xuc6c8M6wS3/xYeVNTwRIrhc02m9cPoVij/QhmJXimTUkhWGM31AIbUc7CF8fN5rRXREad3CigwKron1CvhQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=tU/nPNIwLiSe98DbIYyVK1ECYDGBF0SlATwijqwH0Fk=;
 b=dldpKMG4l0gATpk2gZgNoM9hqsV6HVnJqN2DQefxYNHux0Zy/ZxdiA6nPdtGo7HlbNWcaT9Xu5/jDPZPCv0Tma5edg4R0zevACZIfV9qeLeMY8eTc+ccVuMNcc6L4MRrMXD96hJaCOUmSNNuzpLlaMdhs36roXT8Kg5W0FOyUWJ2fCSXaWSMAseaD/ZcEpoRm5Cw+MxGEOriUM129A3z/YMg6NyOXgqJ6Txww7Q0jZkiu8Hxbncnk+mlTtGIirf5l+FfRZXBV3vVfDRYrrcNWU9xUkpcrcAQi9iV022FrLKHnLoux0/cLFNT3cpIUnPWv6qDXakqmVMYc6ne71+6Mw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=tU/nPNIwLiSe98DbIYyVK1ECYDGBF0SlATwijqwH0Fk=;
 b=EfUV1Fvrm/SxGV5PJaMyATPWjs9/ycUQ57evO87KNxGdW277gYJEgbElvk8gkx9Cb+I8DI5GXRFxFB9igbCbnXNzvmyw7JcO1vyu0WvnM/TgfpZLqx0pkakh4sxv8uTA2IoCgvqDFvJUZwXiRY85QN0FfVsiq5EI6uh0a38JiejJr/K80k4/8cTMb5wM4xFJH6hAXTLJgVnri01+OWJTNg2vA/7w0M6qaNKUdzP/+ZlBgCvo2Ti2TmQ0dXuQFuLXTI7OPMkbhk5LMhOsPOjsUSd9RH5i2+DyDB+H4kAbrZ74BmmW4TDZrvd775PK+15TwjGtqrILVErMrhKU/zdZ/w==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <fcb1cc57-b985-4711-a234-4aaa380b9abe@suse.com>
Date: Wed, 29 Nov 2023 08:51:11 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Config.mk: drop -Wdeclaration-after-statement
Content-Language: en-US
To: Alexander Kanavin <alex@linutronix.de>
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: <20231128174729.3880113-1-alex@linutronix.de>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231128174729.3880113-1-alex@linutronix.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR5P281CA0041.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:f3::19) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7673:EE_
X-MS-Office365-Filtering-Correlation-Id: 98504523-0fba-4672-e398-08dbf0aff5dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	3YSOAhS7jDG8eHdVIYxKynIkgXs+TC9POxIXjg4VYUawGMN5NBeTosAdokRiXLD8K4FoX4e4sm1xZ6BQ2vCkdBgySSYbStzSxQamNVAOQuOvXvoxVoLsCncUlMAToRrk034yD0BjELkJ4nBOgr3kUMoJ6iN5Ir7xkO841JwMPexcMvKjpAJpyVs/qEKvhLaDaxeAHZC74CTtjqyq81TvyR+FVjIYAlBDpCZgf1VKyV+Wfq9CrdyW1bllo12qNsIH3dwvHgPkN6rMuuCNDdVaDouxw+XmltjwO35KiNsvccu4LZ4yf0PKe53bP4p0vTNddcS0fkIWPVFJNPtS+RDLt+K7kjZ79gD3SU1cP8Tc8Os4/D+IruG7JcBP9/u0d7hCkw5d3zisauM9IXe73w6vY9vDB/iGDqo75RX4VaqDsJ3XJVZ4FXbpGdHTmZUGvNmqxRCHrWoO7knUebmbeb8iiL2dZxWp1eQYNTCUPX9g9R/bmpWa+ixc7r1VxXGaALuv4rdDPSMuZQanQNxlpokwRDI9wWtZBqsMcdAaq95iLwilTfV5jSJEJVvFtUh5L/V5nCML6LpwHaDNHkFiivWnu2fWzSl9s7o2Ps7u6sIUhY6Ca0oRdBIitmq+SNDtsopuSzRsqZl8V99yfU7DUmee8kT5Vn1B22K1nOyvHPkmfq1pBlmitqpMMoBcO9iY7JLk
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(346002)(376002)(39860400002)(366004)(230173577357003)(230273577357003)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(6506007)(53546011)(6512007)(6666004)(26005)(83380400001)(2616005)(66476007)(54906003)(66556008)(316002)(6916009)(66946007)(4326008)(38100700002)(5660300002)(8676002)(86362001)(31696002)(31686004)(8936002)(36756003)(478600001)(966005)(2906002)(6486002)(41300700001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?USt2aG5mNHpud3llZW41OWNROHJya0c5bkFRbWl1TTJTTEdmWmNaN0E2NG9t?=
 =?utf-8?B?MU1wdTBCaG81aDQ0TXlNVURjREZWSnQ1NnpJZG5XOXVwVTFFYmhSYlJiZytR?=
 =?utf-8?B?VklMNXFDYS9pTG1COVVaSHUyODBIeWFDc0hXQlduRUo3WDFyUXZiNUhxRzZv?=
 =?utf-8?B?SkIwTmpDbFp6ZDZWcE9zOVcwaDZCRUdJallONDZuT0xZSGc2SEpEU0JzUDlH?=
 =?utf-8?B?RGg5VGdLV1hSLys1U1g4WnhRbnk0VjZFTnFTK0JmbWJJdmM5bkNZd2RIOE5O?=
 =?utf-8?B?M2R0VnJvOWZQRDNHemRrUzdpT01tSEZjczlhNmFwOTZYRElCZFhzN3VKTFFY?=
 =?utf-8?B?VGl1ZDV4NHJJYmgrS25Ed2UyMzlDN0RkcThSMmJKMkJSRkpyWC9xakhWQUtP?=
 =?utf-8?B?MHRHL0ZCVWd4RkhuYU9BTk4yL29oMTBkemJtUzlRZ1lGT2g3THIwSE5TYzNl?=
 =?utf-8?B?R2pxYXpqM2N4SXZmQlV6bld2OFRMcWE2NWk3ZUFIRVI0M0NyanBpa3ljeDFn?=
 =?utf-8?B?cStmc0dNclNFRUdCdlRyakoxZDRXYlVaUzVsYjQrK3NiWVlsZ0RMTml5dmpO?=
 =?utf-8?B?cEM0Smw5ZEdjUEVoU05hVXhOS1ptSlVjaTczeVh2WUFaS040Ni91Ykxhekw4?=
 =?utf-8?B?b0RWMzlBRXJEZzNwT1d0bUs0OVBGamo0dDNKU1pjLy9MU29vaVZLbXk1VzNt?=
 =?utf-8?B?VXNOcDBZUVhiN0p1VjJjd2MvaFR4LzJZdkxLRUlCM1ViNHZIdU5LbWdhRmJw?=
 =?utf-8?B?eG9jV3hYZkZtS0twcis3RXdTdEN4ZnpZVUYwLzRRbklFcHNIU1pZV0xsK0Q3?=
 =?utf-8?B?R0lzdnVtbzJEeFBlY05JQWt5eHFoMG1LT0U2cFZWeGg2M3c1K0VlOXo5dTRp?=
 =?utf-8?B?b25seGNlcDVKOEdPamhaM2NXUjFtTFV6MWh5aXF5WHNYWDdISHVFbkNhQUk4?=
 =?utf-8?B?SlFVM296MEM3Ni9jVDhpYjdUd2FuQkU2VWljU2dkSnJCY0F6VFMxWE1JUWxZ?=
 =?utf-8?B?L3lrb1FFMGdYNmtTTHl5K3k4RGlMK0ZSL2dnQ0RCeG5rWms2R0RzOXNpcHQ4?=
 =?utf-8?B?V2J1WWFtM0FzUFFYQlUvRHJBQ1ZIR1pTaDJyYWtWRDhxNkZhblNiaG52QVhG?=
 =?utf-8?B?c054ejNEVGRJYXJ5WkZlYS9VRURCUStZR2E2TlJiWTdHQ0tzT0dDLzQ0dWVx?=
 =?utf-8?B?TWplZlNJWnF0UjdKaG9GRnNtc3FVL3UwV25Ca2h5UlZpbEdNVE1nbU93QzRG?=
 =?utf-8?B?L0lOVWZMVlVzRGx6TlJpY1UwcERkVVhzK3ZuTU1jYmlrYVAyaTZPVDE4bHBD?=
 =?utf-8?B?Ym1vdGM0bDlWR3VJR09wWEZvbGlFc2ZkalhMZFNZVDY3dlJFSWx4S2FSdzFy?=
 =?utf-8?B?RTEzZ2FEQ3RUUkViRVVXVWQzZVF4anMvb3dqSmM3OXpIVmNPQWphd0hEanp1?=
 =?utf-8?B?VE4yMFliamowbFViMk1TRUM2NGtuWXBnbWlGNmZ3bFJ0c05XenFCTUJuV0xL?=
 =?utf-8?B?dGdqaUplK0UyY0s2R01QSVZrNWZrS3lKUC9GL3RRS2xtdnpPTzVzOEptSGNV?=
 =?utf-8?B?ci9CcHB1TUlNNERXYVVuNTdNU2RCd2REK2Z4Um5zU2Q4eXpJU0REUWp5TTU3?=
 =?utf-8?B?SFZZRTBYSUJjNjRTT2NSNDN6ZUdvTnpGSm1YT1VuV0VIU1JsdjRFa1BZQTFL?=
 =?utf-8?B?RkRsSmhZNXY0MzVFYUFXUEpneDl4NkM2R0p6eVlkS0JNbU0wRS94ZTRMUktw?=
 =?utf-8?B?QjdzbmIxS2dacE5wNEVaT3llcWRDY3YzLzZwb1ZjaWEvSDdIN3JtUE8yTGd1?=
 =?utf-8?B?RkZyYXhhRDBWWUM0aDV1ZHRJVHpFcmZuVGtrOW96V3Z0K3E1VWFya1ZvQkhP?=
 =?utf-8?B?ZFQrZUZyRlQzUUV4ZFhFY3JQc2gzbVJBV01lcjROZkl2ZGFxeEZuenhWT0dV?=
 =?utf-8?B?TTNzODBkZEtjb1RObmVHSHQ3OUhrMDBxdjA0YjZ1blhmVklkTC9kV3djTDNZ?=
 =?utf-8?B?OVF4R3dKUDl5ZzM5eXgxR0QzZDlqREVMV3dFc1NIbllSK0ZXNnRBdUhhTDNv?=
 =?utf-8?B?ZlIrdVBZbWFBcWt3Zm5xZG1tS1RXbEg2clVjYXNPQUgzdXIwT3gvQlNITmNR?=
 =?utf-8?Q?1tNIacpPR0qDiJCQWsz2/yN8G?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 98504523-0fba-4672-e398-08dbf0aff5dc
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 07:51:14.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: QQC9AHU3c6eHYyM+MINhLrgt6gV01HKkn1agAAMBWOnrKsebVy2uRBfsoH3QZS7vXjK2+u9tvOCXQlTb+unmCw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7673

On 28.11.2023 18:47, Alexander Kanavin wrote:
> Such constructs are fully allowed by C99:
> https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Mixed-Labels-and-Declarations.html#Mixed-Labels-and-Declarations

There's more to this: It may also be a policy of ours (or of any sub-component)
to demand that declarations and statements are properly separated. This would
therefore need discussing first.

> If the flag is present, then building against python 3.12 will fail thusly:
> 
> | In file included from /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/Python.h:44,
> |                  from xen/lowlevel/xc/xc.c:8:
> | /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/object.h: In function 'Py_SIZE':
> | /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/object.h:233:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
> |   233 |     PyVarObject *var_ob = _PyVarObject_CAST(ob);
> |       |     ^~~~~~~~~~~
> | In file included from /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/Python.h:53:
> | /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/cpython/longintrepr.h: In function '_PyLong_CompactValue':
> | /srv/storage/alex/yocto/build-virt/tmp/work/core2-64-poky-linux/xen-tools/4.17+stable/recipe-sysroot/usr/include/python3.12/cpython/longintrepr.h:121:5: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
> |   121 |     Py_ssize_t sign = 1 - (op->long_value.lv_tag & _PyLong_SIGN_MASK);
> |       |     ^~~~~~~~~~
> | cc1: all warnings being treated as errors

At least by the specific wording of the diagnostic I'm inclined to call this
a compiler bug: There's no point in mentioning C90 when -std=gnu99 was passed.

> --- a/Config.mk
> +++ b/Config.mk
> @@ -177,8 +177,6 @@ CFLAGS += -std=gnu99

Just up from here there is

CFLAGS += -std=gnu99

Yet there's no

HOSTCFLAGS += -std=gnu99

anywhere. Hence ...

>  CFLAGS += -Wall -Wstrict-prototypes
>  
> -$(call cc-option-add,HOSTCFLAGS,HOSTCC,-Wdeclaration-after-statement)

... imo this removal is inappropriate.

Jan

> -$(call cc-option-add,CFLAGS,CC,-Wdeclaration-after-statement)
>  $(call cc-option-add,CFLAGS,CC,-Wno-unused-but-set-variable)
>  $(call cc-option-add,CFLAGS,CC,-Wno-unused-local-typedefs)
>  



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 08:02:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 08:02:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643714.1004138 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8FWt-0004Zx-CD; Wed, 29 Nov 2023 08:02:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643714.1004138; Wed, 29 Nov 2023 08:02: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 1r8FWt-0004Zq-9f; Wed, 29 Nov 2023 08:02:43 +0000
Received: by outflank-mailman (input) for mailman id 643714;
 Wed, 29 Nov 2023 08:02: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=rgXt=HK=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r8FWr-0004Zj-TE
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 08:02:42 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eae::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id aa59f0a8-8e8d-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 09:02:40 +0100 (CET)
Received: from CY5PR15CA0154.namprd15.prod.outlook.com (2603:10b6:930:67::21)
 by CH2PR12MB4889.namprd12.prod.outlook.com (2603:10b6:610:68::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Wed, 29 Nov
 2023 08:02:34 +0000
Received: from CY4PEPF0000EE37.namprd05.prod.outlook.com
 (2603:10b6:930:67:cafe::2f) by CY5PR15CA0154.outlook.office365.com
 (2603:10b6:930:67::21) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29 via Frontend
 Transport; Wed, 29 Nov 2023 08:02:34 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EE37.mail.protection.outlook.com (10.167.242.43) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Wed, 29 Nov 2023 08:02:34 +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.2507.34; Wed, 29 Nov
 2023 02:02:33 -0600
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.2507.34; Wed, 29 Nov
 2023 02:02:33 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 29 Nov 2023 02:02:31 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: aa59f0a8-8e8d-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Aq4UG+gtqmsCzAE+eecQYKJ3LgFaHILfwvjY51rQnd1pqCz+Tv6MVqM2qo34bc6O7aGOQF+uHIBvYjqcka687Fy5id8+IY2xxPpeuRh5F1CJJG61sZiwl5wmJsRBCVmjLntO+ViHFu1UsXgIDEHZ7LfGUDK8cojnDJZjCQOpwtQUr4LSvXYk6APc7RMfxscfJ2E4+3A22h+mi1kOBNwoHohMf+QAwBPKR6RG0u1EVf85hlkOAjKxCJEmgVwJZJSzcBcPaUUy/MgFvjhckaNFDqlO3NZ1hAYps5T0HkMw8EzFe1xr/kGj5BMwsUYGAV/WA6FeABFb0QS6kj+eDwhriw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UqlISauFHbWDgZYfnS2CyYO7sVt/C7GU0rb5e+qOkps=;
 b=QBLoLXCrwDSkiskm1CDRlDIhCifmShdhA4XCSDCE8ZxMBizEOxB2xczeg53cgMxpojkDmFurOriXjRz59l8whRLPIFaTqjY7VCGjCAfVB5Pg0hsnk7mgGl5AizrfXmiNmt+S+uazbAhsSeUPlYF8z05CyCSw1KaVOGDOzGwzm/FuK/l+iJ4okPiFzOzuK5WGKaZMnRdwgT/jT9q3Vvyn78mL2FO8qWUw8uhb8i+2mAuR9brUf9FGgWmQWizGKCoBowe7gViZIrC2nkYwsqgxnYcOAk0oAB0znWbNPqZYLfuDyfeoVq9BFmrXnkhDe9dabT7+B/asXdyfAYlTg6G5yw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=UqlISauFHbWDgZYfnS2CyYO7sVt/C7GU0rb5e+qOkps=;
 b=GP8oQjEP0upyOMqcuL68/fjDoWvawVBdd1R7Vo9uK1giSVPeCYi0N6wNAs0SBPH0P3exyPEg2/6Bb1wip+cNlLhRfld+2d4pXKzfkuFRQdtxUv+XCFqU7rBwXdVoLk1lgw7KQCy+EzmmIX8+QJCRRIfbp/GU5vizBxzEVPFM948=
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: <ce98090d-d81f-4a02-8ad1-9fa5ba647409@amd.com>
Date: Wed, 29 Nov 2023 09:02:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
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: <20231127144156.361656-1-michal.orzel@amd.com>
 <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org>
 <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com>
 <b0127019-4976-42e3-bde1-643cc56f18b0@xen.org>
 <16b73400-b592-4a1a-9b87-8c49aad9208d@amd.com>
 <9d1e385e-152e-404a-8d8b-47c5ac08d76a@xen.org>
Content-Language: en-US
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <9d1e385e-152e-404a-8d8b-47c5ac08d76a@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EE37:EE_|CH2PR12MB4889:EE_
X-MS-Office365-Filtering-Correlation-Id: 6cbddae1-a562-4517-449b-08dbf0b18b73
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xpJKuKpCdaP4eNDQ/+sUqnvc/Sx9Hpc+6EL2hidHANgFW1QI08UjlWDE/tcyzTGjhjQNPcnb3mWdPNdnzxULmllWCv550PK7gZu5dCIq+X5fTCGHa7P3IZG5vGM9BjTkoZ1WVEdNY5C/ejlJ2p63v709I6dZVV1ur2/aeIFLSJ49MTKbZnutH9ZA04XV0o/KHlrfnw/mqekTZfN54KOOLhFeu7WmzZb1Mkh8UIQpdw1A2yK9PeHvT13fNsPE6fBhZg1xmJ4Z27FCAyiB0u9YZx2OmKC0KaM7xKLY/nVMuRPYoLbpwZBSVVdfD3Pe1Noky76JqOV9KYn80rmf9GCMi3iXTSsoMzaEPFLPeF7sMd5VOCzGSqIX+QMuoQhu7b4SY0I3UQBZUsg9DDbTitQ1QHF9lTJ94iBq06kHW++76egCl1IEJT2ir9Ee6Or9eoqQ6z2WLssJLOrSaaTTvwFufdGgq0zasLHd6tJ461FQIbZfqpnRKuscGIyQDeYCB0jMQyBy9Tsb2CyeFCanjHNtc4Fv6ObAxTy3U1Lr/O2id01zSpxHdp/GkjzNBYY/+0MeNf8+ASN1dm0+mFYtseGSD84HMiNNoa0GQDkCPlJpqV0uOTu+SCVMfnf+UGRbk5aWk+4h7AG6u6P4ubgpMGPud58ddgBAdNI21cjMu4cVGNYIQlHHnHqkJ2BCzJYxDSdkIy4C6q3IH4o6ZTTX7x3VdRTJcuY08UdSBKjzgcG19m4k8xsUkZ7ezxgklHStO/YGKu55lwiKYAqkPHJLbo9QDaQb/SbAHRNdDnJ+CLvMQ6ZV/FPHDcbc2bsQp/Ux8aj8dxrjBgrkee+vqbVAZEQqN8KgsJPbEbZ9ve5s1dZN2hk=
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:(13230031)(4636009)(346002)(39860400002)(376002)(136003)(396003)(230173577357003)(230922051799003)(230273577357003)(1800799012)(82310400011)(451199024)(186009)(64100799003)(36840700001)(46966006)(40470700004)(4326008)(44832011)(2906002)(41300700001)(36860700001)(8676002)(8936002)(31686004)(70586007)(316002)(110136005)(70206006)(54906003)(5660300002)(26005)(426003)(336012)(2616005)(53546011)(83380400001)(40480700001)(47076005)(16576012)(356005)(81166007)(31696002)(86362001)(82740400003)(478600001)(40460700003)(36756003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 08:02:34.1428
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 6cbddae1-a562-4517-449b-08dbf0b18b73
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:
	CY4PEPF0000EE37.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4889

Hi Julien,

On 28/11/2023 18:52, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 28/11/2023 18:15, Michal Orzel wrote:
>>
>>
>> On 28/11/2023 18:09, Julien Grall wrote:
>>>
>>>
>>> On 28/11/2023 18:00, Michal Orzel wrote:
>>>> Hi Julien,
>>>>
>>>> On 28/11/2023 17:14, Julien Grall wrote:
>>>>>
>>>>>
>>>>> Hi Michal,
>>>>>
>>>>> On 27/11/2023 15:41, Michal Orzel wrote:
>>>>>> Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where prompt
>>>>>> attention to undefined behavior issues, notably during CI test runs, is
>>>>>> essential. When enabled, this option causes Xen to panic upon detecting
>>>>>> UBSAN failure (as the last step in ubsan_epilogue()).
>>>>>
>>>>> I have mixed opinions on this patch. This would be a good one if we had
>>>>> a Xen mostly free from UBSAN behavior. But this is not the case at least
>>>>> on arm32. So we would end up to stop at the first error. IOW, we would
>>>>> need to fix the first error before we can see the next one.
>>>> Well, this patch introduces a config option disabled by default.
>>>
>>> I understood this is disabled by default... I am pointing out that I am
>>> not convinced about the usefulness until we are at the stage where Xen
>>> is normally not reporting any USBAN error.
>>>
>>>> If we end up enabling it for CI for reasons* stated by Andrew, then the natural way
>>>> of handling such issues is to do the investigation locally.
>>>
>>> This will not always be possible. One example is when you are only able
>>> to reproduce some of the USBAN errors on a specific HW.
>>>
>>>> Then, you are not forced
>>>> to select this option and you can see all the UBSAN issues if you want.
>>>
>>> See above, I got that point. I am mostly concerned about the implication
>>> in the CI right now.
>>>
>>>>
>>>>>
>>>>> So I feel it would be best if the gitlab CI jobs actually check for
>>>>> USBAN in the logs and fail if there are any. With that, we can get the
>>>>> full list of UBSAN issues on each job.
>>>> Well, I prefer Andrew suggestion (both [1] and on IRC), hence this patch.
>>>>
>>>> *my plan was to first fix the UBSAN issues and then enable this option for CI.
>>>
>>> That would have been useful to describe your goal after "---". With that
>>> in mind, then I suggest to revisit this patch once all the UBSAN issues
>>> in a normal build are fixed.
>> But this patch does not enable this option for CI automatically, right?
> 
> Correct.
> 
>> Why are you so keen to push it back?
> 
> I have been pushing back because your commit message refers to the CI
> specifically and today this would not really work (read as I would not
> be happy if this option is enabled in the CI right now at least on arm32).
I mentioned CI as a noteworthy example. In no case, I wrote that this implies the immediate
enabling of this option for all the arches in CI. Especially, given that I'm aware of arm32 issues
as you might know.

> 
> If you want to fail a CI job for UBSAN today, then we need to find a
> different approach so we can get the full list of UBSAN error rather
> than fixing one, retry and then next one.
> 
>> Is it because you see no point in this option other than for the upstream CI loop?
> 
> Even in the upstream CI loop, I am a little unsure about this approach.
> At least, I feel I would want to see all the reports at once in the CI.
> 
> But this is not really a strong feeling.
> 
>> I find it useful on a day-to-day
>> Xen runs, and I would for sure enable it by default in my config not to miss UBSAN failures.
> 
> Fair enough. I view USBAN issues the same a WARN_ON. They all need to be
> investigated. So now you have an inconsistent policy.
> 
> Are you are also intending to switch WARN_ON() to fatal? If not, then
> why would UBSAN warnings more important that the other warnings?
WARN_ON() is placed by the developer to detect e.g. incorrect configuration. The fact that someone
decided to use WARN_ON and not BUG_ON means that this person did some investigation the result of
which suggests no critical consequence. For UBSAN, you can't always be sure (read undefined).
It might be at the same level as WARN_ON but can also result in unpredictable behavior leading to security issues.

That said, I do believe that we should also have option to panic on WARN().
As for this patch, Andrew provided Rb and Stefano is happy with it. Do you want more people to vote?

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 08:17:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 08:17:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643719.1004149 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8FlF-0008E3-Nm; Wed, 29 Nov 2023 08:17:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643719.1004149; Wed, 29 Nov 2023 08:17: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 1r8FlF-0008Dw-Kv; Wed, 29 Nov 2023 08:17:33 +0000
Received: by outflank-mailman (input) for mailman id 643719;
 Wed, 29 Nov 2023 08:17: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=ZIyB=HK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8FlD-0008Dq-Kc
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 08:17:31 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2051.outbound.protection.outlook.com [40.107.7.51])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bcd67799-8e8f-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 09:17:29 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8892.eurprd04.prod.outlook.com (2603:10a6:20b:40b::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Wed, 29 Nov
 2023 08:16:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Wed, 29 Nov 2023
 08:16: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: bcd67799-8e8f-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZYqgGU7MAxW9KNtq9WTPVxnKiTRAkCw64Fb8gmpNBv3iTtrs9r6opvf/Xtdj+Xh8B02J0liDI0ACRH64XwSxIkKbWSY4pa1sPHQ6HacjNkTfmS56lBWWsnjZyPTbGIc5/fFRFhw6W3yCs617C0QH7ibnNB7mORtU4ArSk6TZ1LwSoZ1FKFJlKOZArpZfs43GS/rF/ZpyflhU5N9Bl6u/YMgf1CdC2Af5y2q57PUKtpstzavtcdUOjAigH3JKESQd/ywKkf4JZ2fE+d3ECKREz8Znp3/GQkKB5OapcISGNLREc7GKdXgzG85w10ta2y3iJG6Xbq+V0dsvarHYdMs2ww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=bOFH4cUxoczcrvD+o9V9I1ocIftlAqpv0v9G5a+D4Qc=;
 b=heKZHvzp68rf/PiXQZGMj3bUdWyxxLfO731eaWKfd9KAp57aVxFXhDIXkzB7TonxV84UJy266LW7HC3j+cl8Eqv6ja+uTqUgiEb68NhDyJlgpEkRsRqER5XXzTaEnR1AUH/YSI84umifSI/MDWYD9Srt/rS99V7avclY9Cx1MiYgxCh1TP5tPGPrFIroV5cRlWFeSgulSfnQvxWeewILU94eN5UyIVDV0NdI37/RThoeOc7RjU/6BAhvCeGnmiIeCnBs+kmX2mifQQxME6s26chNj/rk6dxGJP319dnEPSnVWZwfLpE4apSIFuRK0HYhk/KK+CqOIKRANDwBuXAbHA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=bOFH4cUxoczcrvD+o9V9I1ocIftlAqpv0v9G5a+D4Qc=;
 b=SrKv6VVTYdvInnfIkj8QysgyfYM4JTzf7BknYlSpw+55VxOzk8R6bvjhSrCpSktiqFRzquAv0LXk48/ovNiJN49psz7dj0emBG9oEZaf5Z0qkNXcjD0f6GbwDoqG474XvdreXE9c/PfY4n0iBsK3zIUHf4Sj+XRcL9b1qHw4wfBkN+qE9Dj3mgC+5Plu4A+n6BSyWP28TJePhKLqFMLm1eX/4hBzBShnDV8sDW/WB29QIjjgomdwyQ/G5K4nfwid50EDWtUaVgVzbzk4A6xVk82CBWHX9GKdk0SpoFS0BzfVl6VE0cYjJd4zFdbBf2pOmdu70YeRvGy3ns/0jpYMlA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e49d872c-19d9-44a9-8ecd-19e5d3d4e478@suse.com>
Date: Wed, 29 Nov 2023 09:16:56 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
 <98023f51-5953-4384-918d-ae726d74ef7c@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <98023f51-5953-4384-918d-ae726d74ef7c@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0260.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b5::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8892:EE_
X-MS-Office365-Filtering-Correlation-Id: defc5311-d0a3-4d81-aa06-08dbf0b38e84
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	B9Bq8vCVDziQyLIwYiXGWPebLX95GjZSRBh+rNrT3k7YE2f/ZcwX7IlqmdAP0y+rKx5bfcJdjxzj0glziidS96sBeQsIYVsKI4ZgSDa7FVRbVOb/aSDu0gvUYLCxqZp00r9LIA425jutt6UxRAgnMd5+O0TCEeZW2/hRBupADBxwHCJ8a5L8fDvI9e2V5TR8E2+zKKVzMTjki5BZt0vJO7y6OY+IPa0SylxmeYimSVM5vUkmHVJODHBcrRbauLHbviOhm0HmukUny8J7TmLNfZPnzFrtycVdwlHfqDVnHEMHNvJ24BaU+7JOIC4brWj61pZ4gF/DugsdOyOcOCZaDjBwrQcxbFTDdjUFqYyhALjVWgvBNdZya41Dc/p8kdAOqfnJr7I5FrRhW8aeAgS3TGIRfDF09oGwqWVdCBpeUlD3i4LWFBSTmhio4moSsj2TpGdVEUha/e7ftUSu7SEk9F3MPmhU+WN8wcSrrnsl37E/P+ikFP4dDGcIvkFCc4O6eIJTcDXpOoMab6MrEIBNRyEIhqpHXU8s/CBTahwo4R1EDS2gMOPTCpIxFKpDsvc9zdnvXRcIhCWA3ZH1ojEHB3gUJd4oj/Jlh+JoZhn3t1hbMYUIi9mgXy4n+5J8+N61B6wP75CkYqodn0nrL3h/wktFnq4Ln47kbgUrCL0nctU=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(366004)(346002)(396003)(39860400002)(136003)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(31696002)(2906002)(86362001)(5660300002)(6512007)(31686004)(6506007)(8676002)(4326008)(7416002)(8936002)(41300700001)(4744005)(316002)(54906003)(38100700002)(36756003)(2616005)(478600001)(53546011)(6486002)(66476007)(66946007)(6916009)(26005)(66556008)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?eUtROG5maHF3Wmp6bGI3eU5VaXNDZzB2bkRhNTRoLzVDRFMrRGl2NjlxSGJZ?=
 =?utf-8?B?YU1VRnJ5bkh2R09ncmZydjNXVXRXbm1FQzlyLy9pVkVkSnE5REs4ZjdEMnow?=
 =?utf-8?B?cDlhL2FhQk03YkRLZmJGWEJZbU1LMUhRaFhEUEtYcVV5eFB6NFRtR1B3QXIy?=
 =?utf-8?B?anZOVEx6b1dEV3hHSytzdUFkVlBPM1RGY3p5cUNFUk5CaXhUZGNRYXo3TmZi?=
 =?utf-8?B?ODg2NXY3bzZSdnFDMlFlMEZ3ZzkxcE9tdG1tODc1dmlMQk9HanZ6ZDYzdG1z?=
 =?utf-8?B?Q2JFMkxLUERJdnpXTmlyOCtlUTlWWHFKMGNVV2ZBL25DQ2NxcER5N0Zjc2p3?=
 =?utf-8?B?enNpcHNDSlRxd1hwZEg1OTFYSEF1OEZBQllsR1JMbWZrcDlWZ2dpdHJVN094?=
 =?utf-8?B?djZ2R1dBdWw4QzJzNW0ycTdTZlFsQ2VoOVBtUmFIczZ5c3dBT2tRMEVva3Zi?=
 =?utf-8?B?K0E5UmpWV2dleDlmNmFMUyt1SlNFckJXWUhKT2dLdmg1NHZkUkp0WEswTmJl?=
 =?utf-8?B?K0VkL3RRT0txMjQ2ZTZKV2NwQ2pLSDdqTUJCZUpKUlE1WnRlOE1OaU1WOHRn?=
 =?utf-8?B?M1BHY251a3ZDQzB6ZGxndnhKL3Z0eFcxVXJpbzZScm1WNngwTE9lYmpjeEFn?=
 =?utf-8?B?UktncDNuU3JvU0dReE1oeTlJSnYyekFsMzIyNEh4MEp6T2tHbytTZmhscWJ5?=
 =?utf-8?B?M3dKOFluUUgvOXpNTkw5VlMxVUtNWDI5RWZYZU9oRjY5bkZndGJIMHJCcndS?=
 =?utf-8?B?YXVjSkVsbjNJWEI1ZG9hZCtUUjF3dktvNUZMaXNCaE1OZGdEM05KNnUzSGJy?=
 =?utf-8?B?N2gxU0xTSnRaV0xURWVGRDg4WDBQWkJ4VXVwenV2TEc1NlE0eHJneVZvMGhZ?=
 =?utf-8?B?OTVYcDBQNVd5ejhtR3Y2UWhBTTMzSTN2UUZwQzE3K296OWpLRmxzNVJtSkRO?=
 =?utf-8?B?SnErak4wOFJQMmhaZmQwMVVidWRvamZaUlRJd2pWeTV1ek1kd3MvellONTdw?=
 =?utf-8?B?Wkc4ZWorZEd4ZXhHZXlNeElnejloQ3Q2emQ2SENrdlI4TVNtZnBlMWxuM1JX?=
 =?utf-8?B?K3lzTVZxVDk5VEJOMVYrcnBSQ0xpWFlYZWY2bG9RU1p1Z3Y2RTNhR0pJTmNH?=
 =?utf-8?B?ME4xd1JHOXFUdk4yZEhlL1hUMlI4S2psTDcvcjMvQlpQQS9RYmxiMFZwUi9W?=
 =?utf-8?B?UGNaNUUrWDFTWWJLb0wrOXZwdmZ3THB0TC9VdzljVTJ3aEEycTVoSXBhNk8r?=
 =?utf-8?B?cURhRnJWU3llZWNPdU00dkpHek9Xb29jVEpsYmJ6dG1oQ29VK1RPMzZkbnJP?=
 =?utf-8?B?TitWdE9sa09VUVExallndGhLZ2RxandGd1NZVEFCVDlBTlZmRjNPK0cyM3Np?=
 =?utf-8?B?QmZpV3ZncXdDZGtZdG5yeUZGZVZlbW1vcnEyYzlmanJmR3c0ZDNtZnhHMEU2?=
 =?utf-8?B?UnBrOWpMd0YxQUtEd2ZDTTVKUzRqWGJjSVNpYnByOUtEWlNHYXF1Y1ZJM2Uv?=
 =?utf-8?B?dmJFdzhYQmhlOEQ1UUZuSnJvZlFMRW8vNHJEbEd4cXYvbWlvNzZ2NG5TSzBM?=
 =?utf-8?B?WmRsSExiNFV0UHNkNHl6cjlxOHM5dHdzYTZ2TlJVb2luVHlTSzdDblZCZSsy?=
 =?utf-8?B?enZ3Ni9XaGVVL2JsdzlpVHZ0RjdNeWlsb1JvQU03TXJxZlVjSGRJZXNUSmQv?=
 =?utf-8?B?WVBsUndEZHUwRXdJamkzeUxhRnE0WXJObFpUeHVyZ1FYSUYxOUkyQmp0LzFF?=
 =?utf-8?B?YVNGRkVaek1WcDJacXlBWnFZU3AwM3dNejYxVk5qa2FkbExIMy9OdmNYTE5O?=
 =?utf-8?B?N2N2eWt5eUVJb3ZDaVI4N3k4UUY1ZmNFQ2Y2Z3BOMzJCR1BKcFlWaFJpa0o1?=
 =?utf-8?B?ZzFHM0grb01MWE1LemJuUmx2R1hTZEh6dXk5NzBmSlZ6YXFzZnZ0SkVvN3hH?=
 =?utf-8?B?M0VVMVlPOXVvUjRPODNYdndOWXZxVVFINGM0N1JydVQ3LzkxTEdRMGdrQ2ZN?=
 =?utf-8?B?TWFzU01EbFdoV0M3Wm9xaStzbGRQT0F3dnNtdEJzZ1l1M0ZXcGpHUkxPdzRZ?=
 =?utf-8?B?RGt4dmFQU1RwaVZTZ1BIU3ZNSE9uNXF4ZVVZOWtXZjFxMXhXYytxcjZ6U3Ux?=
 =?utf-8?Q?EUlr+j7Xt9ZxVQU6MjK8dar1/?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: defc5311-d0a3-4d81-aa06-08dbf0b38e84
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 08:16:58.5233
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: bTYrN4F332XVYGiQCJ1t6pWNeRsV5K0VThE7ZNc6rXge0td2ggfuuq7arNkde/1Xl6kTVz66+2MDBViGG8GTuQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8892

On 28.11.2023 22:28, Shawn Anastasio wrote:
> On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
>> --- a/xen/arch/ppc/include/asm/irq.h
>> +++ b/xen/arch/ppc/include/asm/irq.h
>> @@ -3,7 +3,9 @@
>>  #define __ASM_PPC_IRQ_H__
>>  
>>  #include <xen/lib.h>
>> +#ifdef CONFIG_HAS_DEVICE_TREE
> 
> I realize that you were likely following PPC's device.h which also
> checks CONFIG_HAS_DEVICE_TREE, but I'm not sure that it makes sense to
> check this conditional in PPC code at all -- we will always have
> HAS_DEVICE_TREE (selected by PPC) and I can't imagine a scenario where
> this will ever not be the case.
> 
> Unless Jan (or someone else) disagrees, I'd rather this conditional be
> dropped inside of PPC code.

No, pointless #ifdef are indeed better avoided.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 08:19:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 08:19:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643721.1004159 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8FnP-0000LM-4d; Wed, 29 Nov 2023 08:19:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643721.1004159; Wed, 29 Nov 2023 08:19: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 1r8FnP-0000LF-1D; Wed, 29 Nov 2023 08:19:47 +0000
Received: by outflank-mailman (input) for mailman id 643721;
 Wed, 29 Nov 2023 08:19: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=ZIyB=HK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8FnO-0000L9-DU
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 08:19:46 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on20620.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::620])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0dbd20d8-8e90-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 09:19:45 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB7943.eurprd04.prod.outlook.com (2603:10a6:20b:2a1::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Wed, 29 Nov
 2023 08:19:42 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Wed, 29 Nov 2023
 08: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>
X-Inumbo-ID: 0dbd20d8-8e90-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=T+XcfFm8DDKDE3i5KEHNwEC+rXteHH23SvXBatoRIyLpgf3VWpaA3OJMn8G3mHG+XQpFZ2BvNx5VFxzluWK/8+jWSSS3+vz39tNR6ge6lWvc50FvfGFWY3AVigWpEH0J2x4/R/cAwTq1yHSMnINl4WWzAzfTuGjYMsal08NsPxig+xmma/sGEZ2hEv/sX4WNEsAEa5jhj98G31LNFUzM0qUV0zDzg2hXOm9nEi9l15otTeFTuQO/SvwsbO5mUMGZF22Otj3Tuz5qZGhqWLEsL7j+9yhty86sbF3lPU0xGFowvuxDOuzEqTn+4FfbFqWA0SK0sRfy3M1bi1l2v1gjSw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=wqewidoAooE1y53NHGnko/3ZD7IkJo63Al3BL73zM9M=;
 b=THPO4o5bDgAs86f2SlevoNfFy5wwjyBw8lNK3IplT4qk1uE7NPm1B5fkRkCXvqLon4pcDFVt0+0YqBwC9LG/+bTEjlrGZcFBlMmpG/H3jwvhOoLPKx0QJh+144r1HqiaFAEUTVbZhu3Lz9l5UqYfU2iM8Ck2g67IO004eKhO+FjTGSIOMXaTjXijEqWd89+g3HtDYQwCIcj2cZVdS2edTu79bi3IIrppwQIvHX2buEBpcBHuYB3zOT3KdisGEQRzTgUOPSx+lQ2OJWkQczSv5p/uuYLSpVqmvD4kt/Nbp0WZqnHoyfG98/iDiq+u7vfZ3Cuo614qDKQbLo2jCnESCw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=wqewidoAooE1y53NHGnko/3ZD7IkJo63Al3BL73zM9M=;
 b=Sp8LWUJTSsQEU2K18MKW4RIt+yVKHRhGB/kYuW3V14RO5JSHsOcSPWj9Un1ET2jdCp/Uyh4Gb9W7KC2JkfAWiuGgk+GAaaFNRjCqoyzZGSalNzaYPSajxj5L5uh8q1Cc10ML09DoF568rH2OosSvjQPYFQTOh2B1n5VaxLYUzIRZkwRHg4BK8o5Jo55WkrEPm7OWVvOOFKq/YbV6JGc42N5fQwnPdStmRksdhUrDXq4OxguKzO3owJMoMvIat8IoJPmTxgKdlbP1/D39yuKwV36VQux+j23hQV/l8/DfOinm7QiyaXiemhFyvHWyQ6YzU6AFUf3x635YR33bhjV4dg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <77169e15-f1ce-485c-a7be-45901708056d@suse.com>
Date: Wed, 29 Nov 2023 09:19:40 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 10/14] xen/asm-generic: introduce stub header monitor.h
Content-Language: en-US
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <83e16ccc588d35042b804e0d56ebdb5fe710695b.1701093907.git.oleksii.kurochko@gmail.com>
 <22ffed63-8f05-477f-b37c-c660410c2ce6@raptorengineering.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <22ffed63-8f05-477f-b37c-c660410c2ce6@raptorengineering.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0034.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB7943:EE_
X-MS-Office365-Filtering-Correlation-Id: 3b284601-2505-44be-1ab2-08dbf0b3f076
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Vnz0O1dxaElOSWJHYmtnK/OELnDoSm+zFUsaYJS9nDye2CbesjZdMhYKnMwWUhshsjUk5sYKZq6eJGVPRquBk5rgPRA5HGBSY2eZt9PAQ/xHrxof/YS6FXCj21+EAxhAHfVSfSpwsM4zOCs1thGcefqWd1Bn9U2cLPjP/oowLDatejB447ghrlWq08vhnnIEUVtq3+1HYZopb37sdC857Tr9aI1LzgVEV12eC68EbLbo/UikwlGu20/Jyz+qsBoFYN1mvLKIj3qDxgxux9aHo6MTQMQtMjbBQlDi28WbrUPBUqFRmBtS2Rfb4eqaHvt2J0AoOEouGfVukByGgw9UH3gJGoh0c3LH+rT5j82E4fuotLg3g48YdmBT5Nk6BleiLcg03LmVNcEO1hUwqZGvpmyAHp1KDxZfOZ6gRoBKnNqEIpZDOTm4SP0sn7PiGSWC6K7qVNsjJMor1oozjQfnZ0sLhfLS+mjlkdniKWUVAelfBRIS+Uu2NGuOIHPeE5usqXBRZifkfCd91+XLTPqghimXCCM6e7kxfzogsLqdPMavQ9oTrZ4jaBnSMJ1ed4xKR3mvDHZ8JJySOFo7mUjQvYBvUW+NRa5PU0DqGYy3bdBaPx12MOiWW2lMDXOi0iaJiRgS47vwPGxpZteSEmtjII5JnKRTkkogE0NR85yqb+s=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(346002)(376002)(366004)(396003)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(31686004)(2616005)(6512007)(26005)(86362001)(36756003)(31696002)(38100700002)(478600001)(5660300002)(2906002)(6506007)(53546011)(66556008)(66476007)(316002)(8676002)(8936002)(54906003)(6916009)(4326008)(41300700001)(66946007)(6486002)(41533002)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?cDdxS1JaQWdPOEpnNVZ6eEhxU3lXMDlYWUh2M0RybFNWQnlsNnJPbG1oNUV2?=
 =?utf-8?B?RU5RaWo2RjRxZU9OOGQ5NG1UZ3FTSUYzZ2Fac3RsL09tWUZzWVdtRElPRFFO?=
 =?utf-8?B?UDR1UUE2Y3lrdHRaT2syMEE1TTNIb29DVndSeXJTYkhDWkVJQTBhMHdRSTlJ?=
 =?utf-8?B?a1pQazVXUTVDMndsckpJbENIdUpXYWFEUEZKeE5ZZzJ3Z0ZpRms1U292UjJX?=
 =?utf-8?B?MUtZajdMRExvV1orMzAwWDc3TlRYeThIL1JGWHRCelFiZE1LRmJUZFkxeHhN?=
 =?utf-8?B?V0Q1Rmx5dVYwSnlqTmlFeGR4Y0hJRFZFYWxKYmw2Tzl3allWVEpBaStrVkFw?=
 =?utf-8?B?YXFtbkp0NFRmRUdoQkd3NGZVdncyY0MzYjFQYlFOYm1CbDVUYkkwMEdEM0tZ?=
 =?utf-8?B?YWp6ZGViUkVRUXNjS1QvMUxJRG5oVkxKaHVNY3RtT1FzZ0F5UHR6OHRWN0hm?=
 =?utf-8?B?VWdFREZNYmNDelhQMGhaUGQ2OFdybzBQN3YybkdiVmNvcW5BRWxWc0p3c1Zi?=
 =?utf-8?B?YUh5ckVWcFVDM0d4bTRmNGVCWTdaSmtzOEg0NWkyZ2wyLzhxU0pNdUdWbE9Z?=
 =?utf-8?B?ZjF1OUhNb1VYa0JzUTdncitlNVREM0R4VmZjN2hNYUZoU1o4czJPQXFQT0t2?=
 =?utf-8?B?eUN2SDhDcDYzd0h0Yk54MElETFIrL1pRdFpnVU5LUkpRTHczVlprZEtibEQ2?=
 =?utf-8?B?L1M2U1YzSy9EUFNnR2V6YSszSHZwRGNTR01xdDBSNFZtRHZlOWw5Ukgybitt?=
 =?utf-8?B?NVc1TElRWXRTOWNMbmxIa2ZKMmxoVmtUUG94WFBNeHowVEhxSXdVdm9nMEpo?=
 =?utf-8?B?alp1ZlVLVzVXODd2aGU5d1d4bHZpbE8xcm5kZCtWZzRwRXM1Qy9FMzdMREZO?=
 =?utf-8?B?bkRkZGRFVzRtNThZYXVOYTNrY2daZ3VWNW1XZVRZd0s4NE4reCtvZzdGRmVQ?=
 =?utf-8?B?VU9xZk1yZ2NFS1pJZnRrQW44WVgvbHRRdVcrTGJSaXlDVVBRclYyVzg5OTd4?=
 =?utf-8?B?QjY3dXJrcVczQnU5NFFiTHUvN1FUakgycUFrWkpPWHhuSFhjZTJudFlmbk83?=
 =?utf-8?B?TnNQSTYrSk1uNE0vUkFEMXFVWE5aVVFTd1gyeFBwa0dydlhjL3lmYzVRZWhH?=
 =?utf-8?B?YmJIbHJpTTBQeVlzbGtSVkRqMjFIYUU2VW15dlpJYlNHWGNiQ2JrWGh6UFZK?=
 =?utf-8?B?SW1QQWFzL2NuTllzQzl4cm1UU3dVaE01RjlZTXY5V1h4ZEtMRTVXRE5XTklJ?=
 =?utf-8?B?RGp5emU2amYxc3Zvc1pUazc3eVNuNk1vblpVRFF0UzRMWmdOY2FYWm1SUUcz?=
 =?utf-8?B?Wi83THdxeU05QW1wMy9lc1l3ZXBlN0o4b2MxWmtPVTk0eEZKUW0xSXlNSm52?=
 =?utf-8?B?WTNGeVhyMUE2U1Y0S0JCais2c1VFTENBQkYyVHpIQkZCOW1qaHAwNFNWWGJY?=
 =?utf-8?B?Wi9RbzBhOVJHYmpiSi9YVzBWTmRWeVpVTCtIUktZRzBwTzJvMk9NNmhrSmVP?=
 =?utf-8?B?eHVvb3MyVk51Tm4wWk9DNVZxREpldkZxRGtVSlc3aVRMVlFBelhUOENWMnNL?=
 =?utf-8?B?Tk83V0lPSUNhazZhK3BUajBOR0FXSkhhVCtQRmhnVWsreEhaTEJLQ1dHUTFr?=
 =?utf-8?B?akcxdmxkakxKY1BTNGR4K05FdWdiZlpUSUF6bkd2VWMwa3VUUmFqUGwxNlEx?=
 =?utf-8?B?TFk3dXYvQi95TU8xRitqMHRiRC9pSTR1c1NYUGoyRjlnc0c2QVdYc2REckdL?=
 =?utf-8?B?SEw4OUI3MVRvcVl5Y1pvNm40SzdISDlQNml1eGpxazJDdW01TXErNzQ2dFEy?=
 =?utf-8?B?YmttUm9Zbm5oMmVsWkorSEFkem1wdmJyaHFWN0N3SjdzZnBjTXBkUkNGdG1W?=
 =?utf-8?B?RnJCeG93K2l3RFpFdWlLR1RzWDUxSnc0aXpRWFpvR2l4bHZaa0hleTUzQitR?=
 =?utf-8?B?SWZ6a1pMWDUraFFOYnNIRFZ3U01yZFZKRENRWUY4T3Nibis5RUJqYU9lQWFL?=
 =?utf-8?B?ZXRQTVFqSEFEb3Y1K2JSUUpBQk5mSW9GTUtvZkZ0MlN2aEVtNFhKbHZsWUZm?=
 =?utf-8?B?SWlNMTVtbEJmTVFkWTZRdnJ5NlluRkg4bWRUbDJhVW9pN3d2OGRLdXBvOGZy?=
 =?utf-8?Q?tkLtM5x9+B2UmLzQ/zcSGRfjK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 3b284601-2505-44be-1ab2-08dbf0b3f076
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 08:19:42.8464
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: l+kY3ZjjyQDVkZzBUWZ73zfaV/FaITPVjdUxKYBKCFcdEBk2uRzbboyJBy6BdmM9wWGTvdfxchzqF+NBGwEH+Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB7943

On 28.11.2023 23:21, Shawn Anastasio wrote:
> On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
>> --- a/xen/arch/ppc/include/asm/monitor.h
>> +++ /dev/null
>> @@ -1,43 +0,0 @@
>> -/* SPDX-License-Identifier: GPL-2.0-only */
>> -/* Derived from xen/arch/arm/include/asm/monitor.h */
>> -#ifndef __ASM_PPC_MONITOR_H__
>> -#define __ASM_PPC_MONITOR_H__
>> -
>> -#include <public/domctl.h>
>> -#include <xen/errno.h>
>> -
>> -static inline
>> -void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
>> -{
>> -}
>> -
>> -static inline
>> -int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
>> -{
>> -    /* No arch-specific monitor ops on PPC. */
>> -    return -EOPNOTSUPP;
>> -}
>> -
>> -int arch_monitor_domctl_event(struct domain *d,
>> -                              struct xen_domctl_monitor_op *mop);
>> -
>> -static inline
>> -int arch_monitor_init_domain(struct domain *d)
>> -{
>> -    /* No arch-specific domain initialization on PPC. */
>> -    return 0;
>> -}
>> -
>> -static inline
>> -void arch_monitor_cleanup_domain(struct domain *d)
>> -{
>> -    /* No arch-specific domain cleanup on PPC. */
>> -}
>> -
>> -static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
>> -{
>> -    BUG_ON("unimplemented");
> 
> I'm not sure how I feel about this assertion being dropped in the
> generic header. In general my philosophy when creating these stub
> headers was to insert as many of these assertions as possible so we
> don't end up in a scenario where during early bringup I miss a function
> that was originally stubbed but ought to be implemented eventually.
> 
> Looking at ARM's monitor.h too, it seems that this function is the only
> one that differs from the generic/stub version. I'm wondering if it
> would make sense to leave this function out of the generic header, to be
> defined by the arch similar to what you've done with some other
> functions in this series. That would also allow ARM to be brought in to
> using the generic variant.

Yet then where would that function live, if not in arch/*/include/asm/monitor.h?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 08:21:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 08:21:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643724.1004169 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Fou-0001kC-GI; Wed, 29 Nov 2023 08:21:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643724.1004169; Wed, 29 Nov 2023 08: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 1r8Fou-0001k5-DR; Wed, 29 Nov 2023 08:21:20 +0000
Received: by outflank-mailman (input) for mailman id 643724;
 Wed, 29 Nov 2023 08:21: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=ZIyB=HK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8Fot-0001jx-GA
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 08:21:19 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7e1b::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 452b5b8f-8e90-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 09:21:18 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB9737.eurprd04.prod.outlook.com (2603:10a6:800:1dc::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Wed, 29 Nov
 2023 08:21:15 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Wed, 29 Nov 2023
 08:21: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: 452b5b8f-8e90-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZbdYjtZAJ7gKeUA+36t1ucUiLR+rfDVNQmpAHa1pCZW2zA+bg51FSz5eOvgBRI0tHxGeSzwxdHEaVKW3p0Vl3W4DvR1LBkSPvGwiZcsHDLXVm994xdHAdES4nBks6opZepAaYZ+6SMT7LSQUjAyFtl0MLmCQRkQJl+4BE1aj6Xt1V8seM1uW7kRG5e2JqNyzwja7mpPLbAruLsPjNICtjINj5hRIOqsLrpFSCdPC2H3qjqsBvsy3tA13bOrY139ZKPgKQndq+buDMawuFi2uqkjVDuMB47xHr7GrFYtLxVo9l6hI5dJcfOF3Q1yozCrRJn1eo7Jy/CS4DameDrYfIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Wglg0ZMDMv586ESw9J5rA9aumQQgsD+/xsQ/GOaVOYA=;
 b=XUIIKkKpN93mkWkEccs6czZwCDq/U0B1RMEu83Dh8ziLlz/2U9j5zNC/3pM/hfIKr5bdFY2k029XHCZnL0jRwxCe9P9Ug+MOGqq6x9orl523shuWwQdMl7cg/GcFqYv12b71qIsYsATFjtmLSuy2GH5O9oTo0ICE3AJrmoMJuPFUoOCu+JIh1YknKyK7r6SzpW85mhLvfvP6mydKJXmCMJGZD9Qr6kxj7iNelNh9cSp+Ee7x7xWTXZq0xKy/CuP9RejssQ94MEK7bBSXXxgDy+CWFzgRqMBXHUJNUx6ObP0cA44BgSvQHO3MuturUh+nzzMCKMkF0pVJ9jeqxWEnpQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=Wglg0ZMDMv586ESw9J5rA9aumQQgsD+/xsQ/GOaVOYA=;
 b=V9SVls5/OtQIF0a62NQP2+vL77oybLTB5FP37hl9wlThzBneuO17QOA6FLMPatIHlGYYsTSgFSTrw4EyCye8NjEKXLQaRWMqqz+hjGWWGZlZbRGCKPIIyY59QqLS91PAX/DEq7x3djaJnbuTDVAoMR8FvzWhzSA3e2EEVPYCWSHWB+jKceF7q2k9CByfAXMAhZUShGCx8pjcawKe1Cny1h5uUq3LrjDhwJ5pW+Jp5O+W/isWrE74IV33mfvkLfDou0+o4gVyqPcbf3k9f/IkvHtq9kHXh9rOSY+0zPq7E6ML7733oX/4hxiFTYMN6dkvTuV13l0zt73paKdV3zTpSQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <8350624b-a889-4258-b0e7-0d3ad021b3cd@suse.com>
Date: Wed, 29 Nov 2023 09:21:13 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 10/14] xen/asm-generic: introduce stub header monitor.h
Content-Language: en-US
From: Jan Beulich <jbeulich@suse.com>
To: Shawn Anastasio <sanastasio@raptorengineering.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <83e16ccc588d35042b804e0d56ebdb5fe710695b.1701093907.git.oleksii.kurochko@gmail.com>
 <22ffed63-8f05-477f-b37c-c660410c2ce6@raptorengineering.com>
 <77169e15-f1ce-485c-a7be-45901708056d@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <77169e15-f1ce-485c-a7be-45901708056d@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0034.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:1c::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB9737:EE_
X-MS-Office365-Filtering-Correlation-Id: baa6bbe9-d92f-4630-7aa1-08dbf0b42733
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oggsh5hcy+b2Gg3FXGJUAG/O0YsAAdcRrpjg2plUwxT1I0SWOx3VbcOT4VeU7KDCnL9PQX23nC69wCDIeFNBlWrAFHwAkAEnxPXi+pNvag1NSYSarTM8sUcLPoFU3BSWwXmG3J28pLh/wgjQTpTvmnpU2THu60ZcqYIIuE2pqXdzB3Lpp2Mx/XoSpf/M0Q6LTWT2TlGWNdUwgkw6Po7y8/JQijoz8K5fjR1sYsRJn1zJabk6UwqvmS7GjftK/s9dvEUAJqm7Gh+4hLkGPSEUSiWsS0Kh8i2D6IuonOvvsPNHe1V9c7D7CrHVjw/MD1RrE+1kKZG/qoHIiwMt282hZcN6nXr6uIzezb2IWvdw59kLw7jVfmpOHPHbDA+Vt7MvMAiGeGfj4/88mcwwaOC++OMwYXuHbzC5jdMhp0dGoGa7tUzkyCdO2NCVGAmReCPY3RwhTaK5CbeATPgYtXftQTTYtXEPF6Ygl/IzlZhOVxt1zkMlPs6g8veNES70UUnekedsgOdD0DuCU5fnrfv/FFB3ZnKsQc/BdxKNJ4wGLAqsuSxVJ+gpHxBjXqGzCrRLYI62WyPzlw8lnM3iTtgdakeCeov6Mh0afYigQRR59KDrf31ht14WjVYidhTe3jR96JaT0juool6F73P3iedLTIkqNG1EfUG8E8TQOjU81S0=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(39860400002)(346002)(136003)(376002)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(478600001)(6506007)(53546011)(6512007)(6486002)(316002)(54906003)(6916009)(66946007)(31686004)(66556008)(66476007)(26005)(2616005)(8676002)(8936002)(38100700002)(4326008)(86362001)(5660300002)(41300700001)(36756003)(31696002)(2906002)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?UlExbElJQSt6b0c0NWgyL1k4QUVnc0haNkQvNjNvRmcxbmNQcjUyUCt1V0VM?=
 =?utf-8?B?bVJoeFVUR1Jjdkx2QWg0Ly9Id1VIcVAzZGUramFzNldDZEZRc2Y2eWJxeGRW?=
 =?utf-8?B?UWpGYTl5RWUxZUoxS3ExODdQSjlwSURuM3hQMExLdGlEL1NQZ0Nza0d0SWtN?=
 =?utf-8?B?V0RwSDZwWEVBbUlUWTNnVVRsM1NHQ3lnQlVFdjd1LzI1NjQrdjAvRy9VVDdi?=
 =?utf-8?B?S21EUUdkSmxCSGlvRGRFTDZlNE0vV1ZqUjhUNzd3Tlo4ajhmalc4S0RIaUZ5?=
 =?utf-8?B?QzUxdGQ3Mnk2SkJTUFF3VmF1S1R3alJDN2xYS3l1dVJkU0FETUoxRUYzL0hI?=
 =?utf-8?B?ekE3SldpYkJnT3ZLRmFjY000czNUMy9TNlVuSzdwR2M3eHVicFZXK1l3VWwx?=
 =?utf-8?B?d21RNTRXTzZBcmprU0hQUE43YnJ2dldGb04yWmtXYmxYZWdIR1VqRzVQNXlp?=
 =?utf-8?B?SDN4eFZzNFVRMTQ5R25HQXdJcUtlamxQY1NzZWJNbWlKTkRGOXhzS1B1YWNX?=
 =?utf-8?B?SThlWjRQUG93VTFhMVpwL0JpaTZkWDd0aDRiY3NMeHBZRWpqbTYwZzZSMTNG?=
 =?utf-8?B?MVNGZ2E2ZHU3RmlpK0VHZWdsendsUGRjT1FaOWltOEVkNTBjVnE5UCtsSHRC?=
 =?utf-8?B?R0JMTzBvVW5UV21KVmVZVEVINjRtbjhmRnpsV0g2YUU2aWJIMy95VHNkSEkw?=
 =?utf-8?B?UDVsTzNlZlJMUE9YOWRueW5jdWZ6TWtaTmFvTFFQNll6aUFRblZJY1lwaVRE?=
 =?utf-8?B?aldHZFVNK2NBS2wxaklCUldLNGFQbGU5cmI2UTcvT2tuQmRtNXE3b2M5Y0lL?=
 =?utf-8?B?SVFTcktBdk14c1RJTXNmKzhvNkhYVi84MWtLMzJWek1lM0d4TXc1YmhJVytl?=
 =?utf-8?B?TGFPN2ZKcVIzWTdqeTRKUXVCdkRTUVZOMmVmZmx0ZjVFaHhPZk9NSitBd0hB?=
 =?utf-8?B?LzIrRG81WkcvbUpwdmV0cDZCK2Q4elNoRnh6SkRVZXYydHhZaDlvZWFDUHRR?=
 =?utf-8?B?amtOd0pkZFpZcElNNmxOSXFMenMrUU5BaUlISVQ0R1VLN3hxblcwT1pnNWQ0?=
 =?utf-8?B?SXJqZEpXL2hkNU5SWWVvUlUxSFkvNFl1K24vbm83bC84WTNzWGlxQU54c1J0?=
 =?utf-8?B?TFAya2FkQU4yQTZhYWw1QitSemtzeUdTdktpazFvbEtGaDdUT2RGd0ZSNFZZ?=
 =?utf-8?B?dFdYdlF6K0xCQXJySWcrY1lmYUR2U3ZaaWpnTGtRVHhFTGEva0laTmU3azkv?=
 =?utf-8?B?a1d5NmQ3aS9qOUYwbTdVZTF0MTFCMzBXbjdpVTExbUgyTHc4aldaekJ0cyt2?=
 =?utf-8?B?Wng1cEIyRFl2dllGeUNqc0xSQklUVGw0NzFPRDA1NHV2ellrb056VWdCVDcr?=
 =?utf-8?B?ajBRNVQrbFgwNkUycGVRR2NpY2NnK0dybUFzelpIMUlXVXI0RExDZGhHek1L?=
 =?utf-8?B?ZTlIZ3pnQUdSaEVEM3Ftb3dydjhFNFozekJXRXpBRVdrcVBEZmVLNEhKQXpZ?=
 =?utf-8?B?ZjBDZGFmNDVrMnQzdUg2aUFVbmJZTHpVZWd3cDhHMUN5NEFxNmYwNDBrNDFN?=
 =?utf-8?B?SzE3KzdtaCswbzRzVW1qRnI3THFqcFlFaUl2elZKVFJrcG8wQlVPN2ZPMms2?=
 =?utf-8?B?N0xtT2gydnRiMy9xNENhK3MrYW5iT0R3YnFkREtFSVFwbE9URWNwTmJQRnpr?=
 =?utf-8?B?b01RaTBUNzByREpmVWpSYVMxYVIxaXlBdFZIMlFnTURGYjZGdHZCYXpxU2JK?=
 =?utf-8?B?VlhJVC9VNHNoUUNjQ3NSa1o5eFM2Vk8xYUc4dW5qZXUybGhjZWRyRHA3UEh0?=
 =?utf-8?B?Mi9MKzhHSUtPY25YSnJQN2lyYXd3WllXZFFObmtBcE9Xc2Y1OEduNFBXN1Ev?=
 =?utf-8?B?OXFndGhVd3lsQnFSQU9nSklza3VPc3NWRGpiZ0dGdGI0VGw5V0xHamwvcDhT?=
 =?utf-8?B?T3lJa054MkJOUUEramZhNGE0blFzcDFUdC82V2huaVlvSzIvUUlpSGdYTExp?=
 =?utf-8?B?YlVSQytpTURleXpRNFJqY2dLdDdlWUZYbk45OEsxNTVIbmVOZTJrZldReDUy?=
 =?utf-8?B?ejRTN2FjMGhGNXRaSHA0VzhLRG1SV2lRaXA3VXZTRnN4aWRvWGtMcnVHeXlC?=
 =?utf-8?Q?X/rCLXvf6QWI7kCja4ma8R2Rl?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: baa6bbe9-d92f-4630-7aa1-08dbf0b42733
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 08:21:14.6768
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: X250+pNmRsyi9uUYi/GEM9wqwmKMWw5+ZY0zzwYy7Ti8fMH9g40LHTbaAAtJ13XHkplXwxLWqQbPG2bjJuQ2Zg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB9737

On 29.11.2023 09:19, Jan Beulich wrote:
> On 28.11.2023 23:21, Shawn Anastasio wrote:
>> On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
>>> --- a/xen/arch/ppc/include/asm/monitor.h
>>> +++ /dev/null
>>> @@ -1,43 +0,0 @@
>>> -/* SPDX-License-Identifier: GPL-2.0-only */
>>> -/* Derived from xen/arch/arm/include/asm/monitor.h */
>>> -#ifndef __ASM_PPC_MONITOR_H__
>>> -#define __ASM_PPC_MONITOR_H__
>>> -
>>> -#include <public/domctl.h>
>>> -#include <xen/errno.h>
>>> -
>>> -static inline
>>> -void arch_monitor_allow_userspace(struct domain *d, bool allow_userspace)
>>> -{
>>> -}
>>> -
>>> -static inline
>>> -int arch_monitor_domctl_op(struct domain *d, struct xen_domctl_monitor_op *mop)
>>> -{
>>> -    /* No arch-specific monitor ops on PPC. */
>>> -    return -EOPNOTSUPP;
>>> -}
>>> -
>>> -int arch_monitor_domctl_event(struct domain *d,
>>> -                              struct xen_domctl_monitor_op *mop);
>>> -
>>> -static inline
>>> -int arch_monitor_init_domain(struct domain *d)
>>> -{
>>> -    /* No arch-specific domain initialization on PPC. */
>>> -    return 0;
>>> -}
>>> -
>>> -static inline
>>> -void arch_monitor_cleanup_domain(struct domain *d)
>>> -{
>>> -    /* No arch-specific domain cleanup on PPC. */
>>> -}
>>> -
>>> -static inline uint32_t arch_monitor_get_capabilities(struct domain *d)
>>> -{
>>> -    BUG_ON("unimplemented");
>>
>> I'm not sure how I feel about this assertion being dropped in the
>> generic header. In general my philosophy when creating these stub
>> headers was to insert as many of these assertions as possible so we
>> don't end up in a scenario where during early bringup I miss a function
>> that was originally stubbed but ought to be implemented eventually.
>>
>> Looking at ARM's monitor.h too, it seems that this function is the only
>> one that differs from the generic/stub version. I'm wondering if it
>> would make sense to leave this function out of the generic header, to be
>> defined by the arch similar to what you've done with some other
>> functions in this series. That would also allow ARM to be brought in to
>> using the generic variant.
> 
> Yet then where would that function live, if not in arch/*/include/asm/monitor.h?

Hmm, maybe implicitly you're proposing that arch/*/include/asm/monitor.h
include include/asm-generic/monitor.h in such a case, and define this one
function on top?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 08:22:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 08:22:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643728.1004179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Fq7-0002OF-UU; Wed, 29 Nov 2023 08:22:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643728.1004179; Wed, 29 Nov 2023 08: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 1r8Fq7-0002O8-RD; Wed, 29 Nov 2023 08:22:35 +0000
Received: by outflank-mailman (input) for mailman id 643728;
 Wed, 29 Nov 2023 08:22: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=k1bx=HK=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r8Fq6-0002Nw-7W
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 08:22:34 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 71b2e044-8e90-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 09:22:33 +0100 (CET)
Received: from [192.168.1.15] (host-82-59-158-146.retail.telecomitalia.it
 [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id 6C7514EE0737;
 Wed, 29 Nov 2023 09:22:32 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 71b2e044-8e90-11ee-98e3-6d05b1d4d9a1
Message-ID: <da8da742-dc81-43c6-ba78-4424cbedb3c1@bugseng.com>
Date: Wed, 29 Nov 2023 09:22:31 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] automation/eclair: add deviations for MISRA C:2012
 Rule 5.6
Content-Language: en-US, it
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 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: <5826d25aeb31ebd29b0f2aebf3f78e676deb50b9.1701191295.git.federico.serafini@bugseng.com>
 <957f7d84-d7c1-4fa2-b006-53f22248d19a@suse.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <957f7d84-d7c1-4fa2-b006-53f22248d19a@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 28/11/23 18:17, Jan Beulich wrote:
> On 28.11.2023 18:09, Federico Serafini wrote:
>> --- a/docs/misra/deviations.rst
>> +++ b/docs/misra/deviations.rst
>> @@ -90,6 +90,22 @@ Deviations related to MISRA C:2012 Rules:
>>            - __emulate_2op and __emulate_2op_nobyte
>>            - read_debugreg and write_debugreg
>>   
>> +   * - R5.6
>> +     - The type ret_t is deliberately defined multiple times depending on the
>> +       type of guest to service.
>> +     - Tagged as `deliberate` for ECLAIR.
>> +
>> +   * - R5.6
>> +     - Some files are not subject to respect MISRA rules at
>> +       the moment, but, among these out-of-scope files, there are definitions
>> +       of typedef names that are already defined within in-scope files and
>> +       therefore, ECLAIR does report a violation since not all the files
>> +       involved in the violation are excluded from the analysis.
>> +     - Tagged as `deliberate` for ECLAIR. Such excluded files are:
>> +         - xen/include/efi/.*
>> +         - xen/arch/x86/include/asm/x86_64/efibind.h
>> +         - xen/arch/arm/include/asm/arm64/efibind.h
> 
> Could these two be generalized to xen/arch/*/include/asm/*/efibind.h?

OK.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 08:33:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 08:33:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643733.1004188 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8G0q-0005Du-Sr; Wed, 29 Nov 2023 08:33:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643733.1004188; Wed, 29 Nov 2023 08:33: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 1r8G0q-0005Dn-Pt; Wed, 29 Nov 2023 08:33:40 +0000
Received: by outflank-mailman (input) for mailman id 643733;
 Wed, 29 Nov 2023 08:33: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=Cdkt=HK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8G0p-0005Dh-Ca
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 08:33:39 +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 fd8fd991-8e91-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 09:33:37 +0100 (CET)
Received: by mail-lf1-x12d.google.com with SMTP id
 2adb3069b0e04-5094cb3a036so8956598e87.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 00:33:37 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 f15-20020a05600c154f00b0040839fcb217sm1347500wmg.8.2023.11.29.00.33.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 00:33:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fd8fd991-8e91-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701246816; x=1701851616; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Rt+DX5bkiiUKtWGEjFn1G8zUFbW/79sGbOspaQsJ/TM=;
        b=C9UKVKYZvtXAE6Y6eJ3z3h9y3yOVa8cn297Mb3SG4vcsCs5pKorcoZLy+2fbaoKnvk
         VrqsvU4Lej7HJ3I84nSIH39qZ3ntnscUCAIlHWYBN4ePn42QvPNSLyMWnTmB17/Wvrbe
         02BeDJDj1jEk9GqhWoDlYdTk9yhVim5J3DMoQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701246816; x=1701851616;
        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:subject:date:message-id:reply-to;
        bh=Rt+DX5bkiiUKtWGEjFn1G8zUFbW/79sGbOspaQsJ/TM=;
        b=kqeAjE++xWAcPS53d9oJUsB93NyyaK/HzFO6JMd/nH0z3AQErMd2K/YBfeV0rPI7Yz
         YHY6omrjimugE2WeWDldEAtuEi8yAcNMasbiqTN0go5Ke+yXmm74t/lgsE6goiWc+kCG
         XMZV9ICn1SaYFN9/1UxsMtAzAjeOb0fps6yNJC8mVSPig7wxAH9nxsIhR/eDHnndmguZ
         xkjj/BKZS5u3tqp+PCbWyaCthYZA/IbHIg9/vB7aOKmObZHjesfLg6yIvxqhxfGFYR59
         ygC4XEpyjgfM258H8V0ceWwUFT5WPy0fOMfXOUE9iAMuq42UztmQ9yf2nrTqXi1S/OLH
         lrFw==
X-Gm-Message-State: AOJu0Yyk5seMfQYav+OMy+CX/6+POAjf4aQvN7U8FMu7U5LYbnADHePO
	FMUbPuNgQz+zqU0aenTpiD6xCg==
X-Google-Smtp-Source: AGHT+IHWRkQ8Jz+2x3pr4LQJPBlQhQpPkkYIP34zQlZXe+ZpN1VvIqkVzKMpbThMJAkYZcED0B62cg==
X-Received: by 2002:ac2:5475:0:b0:50b:a816:cc09 with SMTP id e21-20020ac25475000000b0050ba816cc09mr7494822lfn.34.1701246816617;
        Wed, 29 Nov 2023 00:33:36 -0800 (PST)
Date: Wed, 29 Nov 2023 09:33:35 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>,
	Julien Grall <julien@xen.org>,
	Stewart Hildebrand <stewart.hildebrand@amd.com>,
	Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
Message-ID: <ZWb3XyxOCzXtiZhG@macbook>
References: <8734x43zxi.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop>
 <87edgo2f6j.fsf@epam.com>
 <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop>
 <87ttpg0wdx.fsf@epam.com>
 <alpine.DEB.2.22.394.2311211712090.2053963@ubuntu-linux-20-04-desktop>
 <ZV3r1uc3av1wQu4W@macbook>
 <alpine.DEB.2.22.394.2311221306060.2053963@ubuntu-linux-20-04-desktop>
 <ZV8NhPohwTDWXOTk@macbook>
 <87a5qxtpb6.fsf@epam.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <87a5qxtpb6.fsf@epam.com>

On Tue, Nov 28, 2023 at 11:45:34PM +0000, Volodymyr Babchuk wrote:
> Hi Roger,
> 
> Roger Pau Monné <roger.pau@citrix.com> writes:
> 
> > On Wed, Nov 22, 2023 at 01:18:32PM -0800, Stefano Stabellini wrote:
> >> On Wed, 22 Nov 2023, Roger Pau Monné wrote:
> >> > On Tue, Nov 21, 2023 at 05:12:15PM -0800, Stefano Stabellini wrote:
> >> > > Let me expand on this. Like I wrote above, I think it is important that
> >> > > Xen vPCI is the only in-use PCI Root Complex emulator. If it makes the
> >> > > QEMU implementation easier, it is OK if QEMU emulates an unneeded and
> >> > > unused PCI Root Complex. From Xen point of view, it doesn't exist.
> >> > > 
> >> > > In terms if ioreq registration, QEMU calls
> >> > > xendevicemodel_map_pcidev_to_ioreq_server for each PCI BDF it wants to
> >> > > emulate. That way, Xen vPCI knows exactly what PCI config space
> >> > > reads/writes to forward to QEMU.
> >> > > 
> >> > > Let's say that:
> >> > > - 00:02.0 is PCI passthrough device
> >> > > - 00:03.0 is a PCI emulated device
> >> > > 
> >> > > QEMU would register 00:03.0 and vPCI would know to forward anything
> >> > > related to 00:03.0 to QEMU, but not 00:02.0.
> >> > 
> >> > I think there's some work here so that we have a proper hierarchy
> >> > inside of Xen.  Right now both ioreq and vpci expect to decode the
> >> > accesses to the PCI config space, and setup (MM)IO handlers to trap
> >> > ECAM, see vpci_ecam_{read,write}().
> >> > 
> >> > I think we want to move to a model where vPCI doesn't setup MMIO traps
> >> > itself, and instead relies on ioreq to do the decoding and forwarding
> >> > of accesses.  We need some work in order to represent an internal
> >> > ioreq handler, but that shouldn't be too complicated.  IOW: vpci
> >> > should register devices it's handling with ioreq, much like QEMU does.
> >> 
> >> I think this could be a good idea.
> >> 
> >> This would be the very first IOREQ handler implemented in Xen itself,
> >> rather than outside of Xen. Some code refactoring might be required,
> >> which worries me given that vPCI is at v10 and has been pending for
> >> years. I think it could make sense as a follow-up series, not v11.
> >
> > That's perfectly fine for me, most of the series here just deal with
> > the logic to intercept guest access to the config space and is
> > completely agnostic as to how the accesses are intercepted.
> >
> >> I think this idea would be beneficial if, in the example above, vPCI
> >> doesn't really need to know about device 00:03.0. vPCI registers via
> >> IOREQ the PCI Root Complex and device 00:02.0 only, QEMU registers
> >> 00:03.0, and everything works. vPCI is not involved at all in PCI config
> >> space reads and writes for 00:03.0. If this is the case, then moving
> >> vPCI to IOREQ could be good.
> >
> > Given your description above, with the root complex implemented in
> > vPCI, we would need to mandate vPCI together with ioreqs even if no
> > passthrough devices are using vPCI itself (just for the emulation of
> > the root complex).  Which is fine, just wanted to mention the
> > dependency.
> >
> >> On the other hand if vPCI actually needs to know that 00:03.0 exists,
> >> perhaps because it changes something in the PCI Root Complex emulation
> >> or vPCI needs to take some action when PCI config space registers of
> >> 00:03.0 are written to, then I think this model doesn't work well. If
> >> this is the case, then I think it would be best to keep vPCI as MMIO
> >> handler and let vPCI forward to IOREQ when appropriate.
> >
> > At first approximation I don't think we would have such interactions,
> > otherwise the whole premise of ioreq being able to register individual
> > PCI devices would be broken.
> >
> > XenSever already has scenarios with two different user-space emulators
> > (ie: two different ioreq servers) handling accesses to different
> > devices in the same PCI bus, and there's no interaction with the root
> > complex required.
> >
> 
> Out of curiosity: how legacy PCI interrupts are handled in this case? In
> my understanding, it is Root Complex's responsibility to propagate
> correct IRQ levels to an interrupt controller?

I'm unsure whether my understanding of the question is correct, so my
reply might not be what you are asking for, sorry.

Legacy IRQs (GSI on x86) are setup directly by the toolstack when the
device is assigned to the guest, using PHYSDEVOP_map_pirq +
XEN_DOMCTL_bind_pt_irq.  Those hypercalls bind together a host IO-APIC
pin to a guest IO-APIC pin, so that interrupts originating from that
host IO-APIC pin are always forwarded to the guest an injected as
originating from the guest IO-APIC pin.

Note that the device will always use the same IO-APIC pin, this is not
configured by the OS.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 08:35:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 08:35:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643738.1004198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8G2R-0005lP-6Q; Wed, 29 Nov 2023 08:35:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643738.1004198; Wed, 29 Nov 2023 08:35: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 1r8G2R-0005lI-3r; Wed, 29 Nov 2023 08:35:19 +0000
Received: by outflank-mailman (input) for mailman id 643738;
 Wed, 29 Nov 2023 08:35: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=k1bx=HK=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r8G2P-0005lC-Pt
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 08:35:17 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 38fb495e-8e92-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 09:35:16 +0100 (CET)
Received: from Dell.homenet.telecomitalia.it
 (host-82-59-158-146.retail.telecomitalia.it [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id 03DCE4EE0737;
 Wed, 29 Nov 2023 09:35:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 38fb495e-8e92-11ee-98e3-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Julien Grall <julien@xen.org>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH v2] automation/eclair: add deviations for MISRA C:2012 Rule 5.6
Date: Wed, 29 Nov 2023 09:35:05 +0100
Message-Id: <4a3bad7cb0a652207b9f86ded3ce3897a7c37f3d.1701246412.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Update ECLAIR configuration to take into account the adopted files
and type "ret_t".
Update docs/misra/deviations.rst accordingly.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
Changes in v2:
  - generalized excluded files.
---
 automation/eclair_analysis/ECLAIR/deviations.ecl | 11 +++++++++++
 docs/misra/deviations.rst                        | 15 +++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/automation/eclair_analysis/ECLAIR/deviations.ecl b/automation/eclair_analysis/ECLAIR/deviations.ecl
index c9e3a90801..4ef8762d95 100644
--- a/automation/eclair_analysis/ECLAIR/deviations.ecl
+++ b/automation/eclair_analysis/ECLAIR/deviations.ecl
@@ -81,6 +81,17 @@ conform to the directive."
 -config=MC3R1.R5.3,reports+={safe, "any_area(any_loc(any_exp(macro(^read_debugreg$))&&any_exp(macro(^write_debugreg$))))"}
 -doc_end
 
+-doc_begin="The type \"ret_t\" is deliberately defined multiple times,
+depending on the guest."
+-config=MC3R1.R5.6,reports+={deliberate,"any_area(any_loc(text(^.*ret_t.*$)))"}
+-doc_end
+
+-doc_begin="The following files are imported from the gnu-efi package."
+-file_tag+={adopted_r5_6,"^xen/include/efi/.*$"}
+-file_tag+={adopted_r5_6,"^xen/arch/.*/include/asm/.*/efibind\\.h$"}
+-config=MC3R1.R5.6,reports+={deliberate,"any_area(any_loc(file(adopted_r5_6)))"}
+-doc_end
+
 #
 # Series 7.
 #
diff --git a/docs/misra/deviations.rst b/docs/misra/deviations.rst
index 160513b997..96ed29db86 100644
--- a/docs/misra/deviations.rst
+++ b/docs/misra/deviations.rst
@@ -90,6 +90,21 @@ Deviations related to MISRA C:2012 Rules:
          - __emulate_2op and __emulate_2op_nobyte
          - read_debugreg and write_debugreg
 
+   * - R5.6
+     - The type ret_t is deliberately defined multiple times depending on the
+       type of guest to service.
+     - Tagged as `deliberate` for ECLAIR.
+
+   * - R5.6
+     - Some files are not subject to respect MISRA rules at
+       the moment, but, among these out-of-scope files, there are definitions
+       of typedef names that are already defined within in-scope files and
+       therefore, ECLAIR does report a violation since not all the files
+       involved in the violation are excluded from the analysis.
+     - Tagged as `deliberate` for ECLAIR. Such excluded files are:
+         - xen/include/efi/*
+         - xen/arch/*/include/asm/*/efibind.h
+
    * - R7.1
      - It is safe to use certain octal constants the way they are defined
        in specifications, manuals, and algorithm descriptions. Such places
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 09:07:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 09:07:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643764.1004223 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8GX9-0005XI-Q0; Wed, 29 Nov 2023 09:07:03 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643764.1004223; Wed, 29 Nov 2023 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 1r8GX9-0005XB-N4; Wed, 29 Nov 2023 09:07:03 +0000
Received: by outflank-mailman (input) for mailman id 643764;
 Wed, 29 Nov 2023 09:07: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=rgXt=HK=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r8GX8-0005X5-FV
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 09:07:02 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2060d.outbound.protection.outlook.com
 [2a01:111:f400:fe59::60d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id a63c45ad-8e96-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 10:06:59 +0100 (CET)
Received: from CH0PR03CA0118.namprd03.prod.outlook.com (2603:10b6:610:cd::33)
 by CH0PR12MB5075.namprd12.prod.outlook.com (2603:10b6:610:e2::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Wed, 29 Nov
 2023 09:06:55 +0000
Received: from DS2PEPF0000343E.namprd02.prod.outlook.com
 (2603:10b6:610:cd:cafe::40) by CH0PR03CA0118.outlook.office365.com
 (2603:10b6:610:cd::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23 via Frontend
 Transport; Wed, 29 Nov 2023 09:06:55 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS2PEPF0000343E.mail.protection.outlook.com (10.167.18.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Wed, 29 Nov 2023 09:06:55 +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.2507.34; Wed, 29 Nov
 2023 03:06:54 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Wed, 29 Nov
 2023 01:06:54 -0800
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB03.amd.com (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Wed, 29 Nov 2023 03:06:53 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a63c45ad-8e96-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ARPk8CvJ45kBQANhdUcHImMW/IxIBeZ8vAkmj7b5k/T3QIIo1+GEzCTJbVEimINIx4iglx6D0SPdfWNqgulNJWXDP85VANWmg3ALBTcnVnGLf2cjTkezjeWzw4E3ILOPxjdXp4c6trUt3CMW76J6YemSPnt1+d+P16bX2ohhfbHkvxBPPK64vI7cFpu20296ZySX8DAmdOK2NkeAwV1SX/LBmdFJ9VnGumdf0J2gr+99ORzVNYr/TNwUA/6OosA4ZLdUGzNyEj3IgdSytVKeYN+B348OP9GH3yjnDsHxtzIAhECtMwybAzOOm48F0Co35rMPxGVlMZ+aLdkIvHxrPg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=gGUKd9Al4IUUb1ICrxBp73pRFL1/0iuKpdeLmfFpWNw=;
 b=CNbkHFi9oTJMBIbEWOVq1biKBUkuN7u9jX1nAib/67Ho0AIhL3FvwcebpILa6c45ZNt6VJ2xg460Nv8LzyhCEA+WrpW/iibt/AocvqquRJmn4vG1LJ5ydkWJ4adhRDlVQnScmUbyu10WSGpufsMBDRM++vYUd23cnyUARfqkAnuBohlo9fY0uuA+sBD4pcg1VLvF5gaKklMqTnOwIrOwwz4Bsrglc1AvEWs8Jq4SfF7J9v4iStRbPaUgJGpO2ynfAs5dANx7Yf5aonvpmNXAH+hLvxYJiXcQ4e+x6/uzSZx3T+yclQA+IB5BcyvkfI29/x1WnhA91e4xUBnslDFLGQ==
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 (0)
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=gGUKd9Al4IUUb1ICrxBp73pRFL1/0iuKpdeLmfFpWNw=;
 b=F8lXr0AUl0KEWc7432si4MYf6Y0WM/fx6q76dR2hZkM3ao/PcBaBEL9csMX3j2eFU1+FMBaZ129+nmGdr997e4MkOdPdq0bk3iLDai/SP4rGCYU2YG7PoM48V54uRR0s1BI0mtzUIqE6a4nHyFoOfUCArx8I+5FZpDZZQKB9qtE=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Luca Fancellu <luca.fancellu@arm.com>, Julien Grall <jgrall@amazon.com>
Subject: [PATCH v2] xen/arm64: Move print_reg macro to asm/arm64/macros.h
Date: Wed, 29 Nov 2023 10:06:45 +0100
Message-ID: <20231129090645.26137-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF0000343E:EE_|CH0PR12MB5075:EE_
X-MS-Office365-Filtering-Correlation-Id: 0b9edc58-0a1b-45ed-824e-08dbf0ba88f7
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o5Mi8K6B3s7x1ydjtDC7+Z70kJjjStO80rGqPjRquEinKdoSNvNUHrC3ZKZTdQ4kQXyQrkYDrxq/7DMZzdnAv90Dvff2HWTHHzDSIN2ExuaULIQDe8VwADLZAWSIX4jgJBGdkGeDs3ST6+iAWRy8m+IyYfqnYnIIaThjxzuNQzHQN7fzWFPIbj6o2uK6ofY/7oADwGAQKQWdV2zItZ+SgE/gIczgIGQ0aKjgcOPe1IEa3a5GbcQtkdYtEvvV+2ebD/jBQ9vrGUn886OyECTlNxexSXUwaHuIPdgE9GsyCBy3ut2RK7q/GUwLid5OAEB7U5Q6r0NQBeyqF5Ii6cIOuq0JDwChPWmlxQpxIV9ONYQdQF34hS3WOWlLGX8vuXfG4mkD8+LNLLdMTwY5szhUl+Lw6YnfCg1w8QbekHKzk4JIYF5aTTuZChh6UkinPkO26mEBveMoA1Qn1TcDvtL79KxGX0nZGp9ir8Pfx7s3XFnwyOJm6xPE+Ls9HYmR7MPgfr1JA3OrvmVp2WNnubfIKEtjonobDGHTFT8MzR44vXoX2Yv2+zmzDC8fuwilTuM0Me+mJdsYMwdW+fWZRK4cnS1EuprrTbVFxIv5yXVMahjGIgB9w8rsG/onJZgnquo5eniHptZxEldxP3xptW/2CqOUznTWsMldOLsdeUO6X77ingPUeQjNZCtl29YWMmO629uNaTN0HUBGHF2K30FB0Xi1snGtx2lCTxcJiD7d5cM+f45BvmiO5eZ76FcnY1B+8lUj3a0iHW6ayb2QBxL5JQ==
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:(13230031)(4636009)(39860400002)(376002)(396003)(136003)(346002)(230922051799003)(186009)(82310400011)(1800799012)(64100799003)(451199024)(46966006)(36840700001)(40470700004)(2906002)(40480700001)(44832011)(70586007)(41300700001)(70206006)(8936002)(54906003)(8676002)(6666004)(4326008)(5660300002)(478600001)(47076005)(2616005)(336012)(26005)(1076003)(83380400001)(426003)(316002)(6916009)(36860700001)(86362001)(40460700003)(81166007)(356005)(36756003)(82740400003)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 09:06:55.4781
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0b9edc58-0a1b-45ed-824e-08dbf0ba88f7
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:
	DS2PEPF0000343E.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5075

Macro print_reg is used to print a value of a register passed as an
argument. While today it is only used from within the common head.S,
in the future we might want to make use of it from other files, just
like PRINT(). It also serves as a great aid when debugging.

Expose print_reg macro by moving it to asm/arm64/macros.h and:
 - rename putn to asm_putn to denote the usage from assembly only,
 - use ENTRY() for asm_putn to make it globally visible.

This way the behavior will be consistent with what we already do on arm32.

Take the opportunity to get rid of unneeded stubs for early_puts,
init_uart and putn since the calls to them are already protected by
respective #ifdef CONFIG_EARLY_PRINTK.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
Tested-by: Luca Fancellu <luca.fancellu@arm.com>
Acked-by: Julien Grall <jgrall@amazon.com>
---
Changes in v2:
 - re-sentence the stubs removal in commit msg
 - patch split out from series (others dropped)
---
 xen/arch/arm/arm64/head.S               | 32 ++++---------------------
 xen/arch/arm/include/asm/arm64/macros.h | 15 ++++++++++++
 2 files changed, 19 insertions(+), 28 deletions(-)

diff --git a/xen/arch/arm/arm64/head.S b/xen/arch/arm/arm64/head.S
index 8dbd3300d89f..9d7d83a5ed2b 100644
--- a/xen/arch/arm/arm64/head.S
+++ b/xen/arch/arm/arm64/head.S
@@ -74,25 +74,6 @@
  *  x30 - lr
  */
 
- #ifdef CONFIG_EARLY_PRINTK
-/*
- * Macro to print the value of register \xb
- *
- * Clobbers x0 - x4
- */
-.macro print_reg xb
-        mov   x0, \xb
-        mov   x4, lr
-        bl    putn
-        mov   lr, x4
-.endm
-
-#else /* CONFIG_EARLY_PRINTK */
-.macro print_reg xb
-.endm
-
-#endif /* !CONFIG_EARLY_PRINTK */
-
 .section .text.header, "ax", %progbits
 /*.aarch64*/
 
@@ -493,11 +474,12 @@ ENDPROC(asm_puts)
 
 /*
  * Print a 64-bit number in hex.
+ * Note: This function must be called from assembly.
  * x0: Number to print.
  * x23: Early UART base address
  * Clobbers x0-x3
  */
-putn:
+ENTRY(asm_putn)
         adr   x1, hex
         mov   x3, #16
 1:
@@ -510,18 +492,12 @@ putn:
         subs  x3, x3, #1
         b.ne  1b
         ret
-ENDPROC(putn)
+ENDPROC(asm_putn)
 
 hex:    .ascii "0123456789abcdef"
         .align 2
 
-#else  /* CONFIG_EARLY_PRINTK */
-
-ENTRY(early_puts)
-init_uart:
-putn:   ret
-
-#endif /* !CONFIG_EARLY_PRINTK */
+#endif /* CONFIG_EARLY_PRINTK */
 
 /* This provides a C-API version of __lookup_processor_type
  * TODO: For now, the implementation return NULL every time
diff --git a/xen/arch/arm/include/asm/arm64/macros.h b/xen/arch/arm/include/asm/arm64/macros.h
index fb9a0602494d..d108dc3a3a71 100644
--- a/xen/arch/arm/include/asm/arm64/macros.h
+++ b/xen/arch/arm/include/asm/arm64/macros.h
@@ -45,9 +45,24 @@
         mov   lr, x3 ;     \
         RODATA_STR(98, _s)
 
+/*
+ * Macro to print the value of register \xb
+ *
+ * Clobbers x0 - x4
+ */
+.macro print_reg xb
+        mov   x0, \xb
+        mov   x4, lr
+        bl    asm_putn
+        mov   lr, x4
+.endm
+
 #else /* CONFIG_EARLY_PRINTK */
 #define PRINT(s)
 
+.macro print_reg xb
+.endm
+
 #endif /* !CONFIG_EARLY_PRINTK */
 
 /*
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 09:07:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 09:07:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643765.1004233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8GXX-00061S-1k; Wed, 29 Nov 2023 09:07:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643765.1004233; Wed, 29 Nov 2023 09: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 1r8GXW-00061L-Uw; Wed, 29 Nov 2023 09:07:26 +0000
Received: by outflank-mailman (input) for mailman id 643765;
 Wed, 29 Nov 2023 09:07: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8GXV-0005zO-EF
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 09:07:25 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b5dc9c59-8e96-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 10:07:24 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id E32644EE0737;
 Wed, 29 Nov 2023 10:07:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b5dc9c59-8e96-11ee-98e3-6d05b1d4d9a1
MIME-Version: 1.0
Date: Wed, 29 Nov 2023 10:07:23 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jan Beulich <jbeulich@suse.com>, Andrew Cooper3
 <andrew.cooper3@citrix.com>, Julien Grall <julien@xen.org>, George Dunlap
 <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Xen Devel
 <xen-devel@lists.xenproject.org>
Subject: Re: MISRA: Compatible declarations for sort and bsearch
In-Reply-To: <alpine.DEB.2.22.394.2311281923170.3533093@ubuntu-linux-20-04-desktop>
References: <f60a702c838c3274cf9e1193964222f4@bugseng.com>
 <ca540835e3cce50a852fdf2b3956205a@bugseng.com>
 <b3e14bf0-def2-4e1c-83f6-a94a203c7b8d@suse.com>
 <5ebb62b5485bb1a0c4e805af6580ab6d@bugseng.com>
 <alpine.DEB.2.22.394.2311281923170.3533093@ubuntu-linux-20-04-desktop>
Message-ID: <e2db57f8c40cedae1ac768255d7c28fa@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-29 04:26, Stefano Stabellini wrote:
> On Mon, 27 Nov 2023, Nicola Vetrini wrote:
>> > > /*
>> > >   * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
>> > >   * is required because the dummy helpers are using it.
>> > >   */
>> > > extern mfn_t first_valid_mfn;
>> > >
>> > > it should probably be deviated.
>> >
>> > NUMA work is still in progress for Arm, I think, so I'd rather wait with
>> > deviating.
>> >
>> 
>> +Stefano
>> 
>> I can leave it as is, if that's indeed going to become static at some 
>> point.
> 
> I see the point in waiting given the TODO comment, but I wouldn't want
> this issue to be the only thing standing between us and zero violation
> of Rule 8.4 on ARM. So I think we should add SAF to the comment and
> remove it when not necessary any longer.

Ok, thanks.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 09:25:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 09:25:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643772.1004242 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Gox-0002Lu-Kz; Wed, 29 Nov 2023 09:25:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643772.1004242; Wed, 29 Nov 2023 09: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 1r8Gox-0002Ln-IA; Wed, 29 Nov 2023 09:25:27 +0000
Received: by outflank-mailman (input) for mailman id 643772;
 Wed, 29 Nov 2023 09: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=ZIyB=HK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8Gow-0002Lh-Ng
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 09:25:26 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20602.outbound.protection.outlook.com
 [2a01:111:f400:7d00::602])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3962623c-8e99-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 10:25:24 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBAPR04MB7222.eurprd04.prod.outlook.com (2603:10a6:10:1af::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Wed, 29 Nov
 2023 09:25:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Wed, 29 Nov 2023
 09:25: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: 3962623c-8e99-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gqyvf9aHTYrfee8WYBYYL3R6klygs+ILOCgSFjhLdOg1889UmJaokqwkekFreL8Y8WZ8+3xTglw3l7wOJrtZpRN+ExEnIz/Ilnly5JF8woUB8O3IaOpn+cR+9RjDdi1UVvT29EjUYe6h4v2INHu7u6NV3xivY24iapQPu9BJ7GfzUMxMmutgPuWdyYVGh24hGNPhC9L0C6r8lOvZjsNbm93++vSmUNbBplTXCO7JwDHeX3OKJMwlLRhHgbxnYq7raYCcLh+UZ2FLLb5axSeI2lQ4rTgJAOuhqf2gAik8qedPubtRHbNq4ke6YHGb23KhGWHghHzxR/a+8wEZn2Sl0Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=9coenym+in1fJnY7ijvWilkU5P91xdTD5B5I/Uh1R2g=;
 b=ZdSgKzp3yPOObmc1ZdrFi5cIZUIzP91VqDrPMsgULIlY6C5+igJNaX6zqM0gV+4nC+YieGdeZG0JLhSARhHzBcQ97Zh0pkx3fvXIdFV/wsC9VTJagVyhZxkjyjFlAeTAZjQ7CITA2GkQ2LzDF7cdltQHmyFsxkmlRM+BAItv32N1yRgcRcPraYKllm/31hYB3c+f9QaTS5VkZLReBqR2M0kiDFbYZiP0890EJyWals6GNf006PpUCLv8NAIn/D0lENB9v7bJqXzvl7PEb+ZHT45A9W1vWds2R9rW452Tx9ZixoWm2hbNI2ET1RBoIez1Wxb0hvfte0OqhDE1dgtrFg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=9coenym+in1fJnY7ijvWilkU5P91xdTD5B5I/Uh1R2g=;
 b=mgQBPGde+gYHQcmvu4fZtWhxNUp0OKi4RbQQFU4OsUTLg7Pvg6qYieoDPKS429h9kc+dxgPimVEiyIRypNaBpaXmyPZZA9bltpo+2SQz/MCfEqCpKcDEQE+Is4hffiw8yHIiueEk1cgsdG0VcvIJXyPdIgp95fKkcY/eflEn/fDNiLqyqbywdtdIUU7TMSUTFw10N6Gaj6Dx4Ks9U6IGecUlaiVPHiobKCFlAdDjf1UCqYhlJUuZCs9+4nX5dzQR+p8rd7UwqYU81KBCGEcv9B+LXy3FE4Va7h96j+bYkKeBrQaXSHgzzCQJwpNij6iyxsRhs4/dRnZL2ltvqQU2Dg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <307eb136-8edb-4c8e-8256-eabdfcdb9260@suse.com>
Date: Wed, 29 Nov 2023 10:25:18 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 00/14] Introduce generic headers
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 Shawn Anastasio <sanastasio@raptorengineering.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, xen-devel@lists.xenproject.org
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cover.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0225.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:e4::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBAPR04MB7222:EE_
X-MS-Office365-Filtering-Correlation-Id: b73acb4a-2eac-45c3-1714-08dbf0bd1bbd
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2PyWLREKpnlSvsNn/9wV6NnVhbl4/79CB++Y4NbnX49fecW6QYvo31DlXb3sguV6Yq68bWAI/b/rO1j0MzCso09ana/v7XPBvG/xLYWS1UHZ9gXrf5F+miC6a6pfLCsOeTJnMjyoIn5Oi155Ass5hoBYhOlaXEctTWfHTb5lL83E8tVry3ikpBEDIOOS5kN/5eIU5dwCj+rmnt2Ul3bFcdt5QZ04x62ISK2okFJ5fv5jsTz6HjOUhlmcI0jsGKbCauxtN6E+I9UoDnAe9GxnHTJVkvs6Vo8z3g1Z8+5DMVZ5CyCAaeFeXvM/pEXEjbGGB9QNuWR4Bb9nRvzqYm2afZy3/yHbnTadwomDHIsvfGTqQvJIejCY6Eiuv5CPespEhFk2THUkpydJxzmTzORW47vj9JSvMHkkTe2HPs6J0ISzd/mejrZ/o6VFdsUIoga9uX/MYY5fDBaU6B4j6Bl1Jq9UwuEKXMALIa2BgFesLZAPMhp236dadHPd1e6bWITs8KP/1O1/9LkXjfPixQJbmXO6Eg2eIwrvuFxvKlEmHJVqgl3wwdIId3h42wG9xAg7LBGzvHeWYOWQ7VI4+rmuvDrm9hi8Tbn85tqB+EcpWNO/ygdaBt01eyU/tFt8/3KQ7HKz0/pFOUr0x1MpbcZhDcK1xSbaf1UWti35m5k2BQg=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(376002)(346002)(136003)(39860400002)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(6512007)(2616005)(26005)(6506007)(53546011)(478600001)(83380400001)(7416002)(2906002)(5660300002)(41300700001)(6486002)(6666004)(66946007)(54906003)(4326008)(8676002)(8936002)(6916009)(66556008)(316002)(66476007)(31696002)(38100700002)(86362001)(36756003)(31686004)(41533002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TXI1U0paczBCK2lnSEVacGVadW5GMkFzUzhrc05mV25nUVZJTkVRK0NBajdi?=
 =?utf-8?B?UXdTMUx2LzZHQmlzc09QV1ZrK0ovaTQxZnM3dXJFVGJtamhIL0lSazBLS1BP?=
 =?utf-8?B?M2MyeTJzSFJYNllyUCtMM01PZjI2RkZPcWFWcE5vTEFySy9MeGFuRVZ4S1Fj?=
 =?utf-8?B?ZzR1SE5sSEZjTjZQRytjVVUvVDdhL1ZzTm51ektqaXIyVkJrc1ZxNzBzZnNu?=
 =?utf-8?B?eXNkdFZ5L1pISVdVdElYc2dNVHJGS2lzWWNZcUwwUUZTTk9uaEo4NUtqNk0z?=
 =?utf-8?B?ejBOUEFzS2dPeUFZN0RNdnJDZkVXemRKSDNMbWdJOWRTZ1p1ejFsQnhjMGpo?=
 =?utf-8?B?ZWNsdDJBNHdNUEJKQ1NSRDEyMmprRnhISDJ6MXM2bUh1N2dkOEpOZ3o0d2gy?=
 =?utf-8?B?Yk1rZmJYMjYxalFqS1N2S2VoSlg2UVhhMGZDdTMxRXowanFoUTBkZVdDQTFi?=
 =?utf-8?B?T0FMVEpkM0NiT0tvL21HdDd4amN2YWxsT2ZmZk5JSDdZSUpWdWp5MHN2MC9S?=
 =?utf-8?B?NUQ4WWJDRFU3YlNsaDZadGdXaTJHMUpVdEdtbnAvNzd0VUNmQTRrQjdTdEc5?=
 =?utf-8?B?WGVRRmUyYWRwMmYySDVFcWVjUmRuUTArVTk5MERlN1lhYThhTlYxSVkrMGFH?=
 =?utf-8?B?UG9venE1aC9oYWRhbFlqRXRnNjkzRENMUUlXaC9RM2JIOWNJQ29XSU1sQm1M?=
 =?utf-8?B?YWZZaUkxK2YvaWpvSjdocWxHYUd1dnp6UEZabnJJY1lSZ3N0M2MzZnl1WEQy?=
 =?utf-8?B?SkNDb1hrM1JxTXdoSzAwS1d2Zm9JQXpGMHkwbE9pVTdlNE4xeGphenlrZGtz?=
 =?utf-8?B?V1ViRE50M1poRlAyZ1hLeDdtUytBL1Nyc3JzTHlSdDkraHk4SUpvSW5jVzBI?=
 =?utf-8?B?VnUvREk1WGtiK1dzblRTeHJ4Rkxic1JZYTd6QStob01TQjkxdDU5WVZYWitN?=
 =?utf-8?B?U2ErSllva2hGWHhxcHlrd3JNazNzWGQxZ05hc1JvSHp1dzRsSnhndFFmL2xL?=
 =?utf-8?B?ZkRoQm8vUHdvSGJMYURaK1VEVHVTVCtDclFVemc4eHJsc2tQeDFQTHdzMk1Q?=
 =?utf-8?B?bjFFSTdRVndqNy9HVUNKenlKMEVXd2xLc2ZIdk5laGg0T0hCY2dZN2lFQ3ZN?=
 =?utf-8?B?MGtlWldnak9teXBMMlZSeDFBNS9iYkFIcXhCSVVEMFdoSWRkNVB4eVJhbCtD?=
 =?utf-8?B?bjdJbWlvNk4ydjAyVDdkcU9jdlg4Sml3VXYzWHpmQXE3aFRSSVFrbG8zNVlZ?=
 =?utf-8?B?cytpcmJBdVNUb0NEYkE3dldUd3hQWEVodERKMlBWcGxORE1xMmdmN0JXMHYy?=
 =?utf-8?B?a3JkbTdvenNPdS90RkYrcGExb2kvcFVpMmxxOHU2VUVQMnZJUmFibXNFSWpj?=
 =?utf-8?B?WVpEVTE4aXlPaUJvNm9haEJoc3BvODB0em54MVh5OXZJMHk5RkM3RTh3Yllv?=
 =?utf-8?B?dk1VSjlvUDlJdlM2dEZVVnBUYitJMWdKZjhNMjRUTGdybDZwSWdVaXp0N2Z5?=
 =?utf-8?B?T1VBdVZNcmVnMU5WcVU5VncrYUw5MmRIeExCUlBTQWhWeDcxcm5SOVJudFRQ?=
 =?utf-8?B?Q3hyNEtZaER0czk4b3o0RU5iTjJ0UlY3K29aNHQxdWlCcnVwL2g3cFFqTGZY?=
 =?utf-8?B?ckgyVGtZcTlmMmJDM1ZtWkZGd21SVW5tdkFSK3BKajJCV0ZBaThMLzcyTEtV?=
 =?utf-8?B?UU9LU1MyR1drd0ZSbTRPUXg2SGJoNklWbHByaGp6MXJiR3NiWVhaV1F6M2Y2?=
 =?utf-8?B?eDZ6NGZIZ3ExdzBBUXpDd3FFZlpuZ0QwYnE5bTc5NG1nM2xuc0dSdGNweFlq?=
 =?utf-8?B?Sys4aGFJcEh5YTJWMUN2RzkraEZqbjV3N3EwUWFYUUFYQjZQQzVCMVdsRHRz?=
 =?utf-8?B?VExSemNld3NsZHNGWm8vVnJrVTFGR3FwV0VuR200ZG9wREZyK2FQcGtuVFVZ?=
 =?utf-8?B?K3Z4dFhiV3FIR044bEs4eWtNN00xTDlsdkpEQTdVNTBhanJZT2E3SUh6cHYx?=
 =?utf-8?B?Q0V5MThDVGp1RWMzWnZYek94SHhRWFlEb0FjY2VoMzMzVEdNTVEveWdLV0Rw?=
 =?utf-8?B?UUYzTGQwYUNYcDh4cWx5Zzh5OXZYMWk5U3phZTBpdi94YUNtSXMwYVluQnpH?=
 =?utf-8?Q?dZaOnuvjviGS0uGWsMdlxf2uw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b73acb4a-2eac-45c3-1714-08dbf0bd1bbd
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 09:25:21.0945
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: XjVHBnV9AP+T634IURveHK+VzvtykkytLnYT0XnSCWIBMNOzITf41Fsk12saOtJRNjkdyydmyZJmZvttSRJTgA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR04MB7222

On 27.11.2023 15:13, Oleksii Kurochko wrote:
> Oleksii Kurochko (14):
>   xen/asm-generic: introduce stub header paging.h
>   xen/asm-generic: introduce generic device.h
>   xen/asm-generic: introduce generic hypercall.h
>   xen/asm-generic: introduce generic header iocap.h
>   xen/asm-generic: introduce stub header <asm/random.h>
>   xen/asm-generic: introduce generic header percpu.h
>   xen/asm-generic: introduce generalized hardirq.h
>   xen/asm-generic: introduce generic div64.h header
>   xen/asm-generic: introduce generic header altp2m.h
>   xen/asm-generic: introduce stub header monitor.h
>   xen/asm-generic: introduce stub header numa.h
>   xen/asm-generic: introduce stub header softirq.h
>   xen: ifdef inclusion of <asm/grant_table.h> in <xen/grant_table.h>
>   xen/asm-generic: ifdef inclusion of <asm/mem_access.h>

I've applied what I think was suitably ack-ed, re-basing over patches which
need further work. For the rest I'd like to ask that you do the necessary
re-basing, perhaps moving in particular the device.h change later in the
series (so that "easier" changes can go in without further tweaking).

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 09:32:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 09:32:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643775.1004252 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Gw6-0005DP-C7; Wed, 29 Nov 2023 09:32:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643775.1004252; Wed, 29 Nov 2023 09:32: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 1r8Gw6-0005DI-9O; Wed, 29 Nov 2023 09:32:50 +0000
Received: by outflank-mailman (input) for mailman id 643775;
 Wed, 29 Nov 2023 09: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8Gw5-0005DC-Ge
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 09:32:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4181106c-8e9a-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 10:32:47 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id D3C044EE0737;
 Wed, 29 Nov 2023 10:32:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4181106c-8e9a-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH v6] arm/bitops: encapsulate violation of MISRA C:2012 Rule 10.1
Date: Wed, 29 Nov 2023 10:32:39 +0100
Message-Id: <f9ea805110ccfecade0c9e617b52b033043f0166.1701248609.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The definitions of ffs{l}? violate Rule 10.1, by using the well-known
pattern (x & -x); its usage is wrapped by the ISOLATE_LSB macro.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
---
Changes in v4:
- Changed macro name.
Changes in v5:
- Changed macro name.
Changes in v6:
- Add missing include
---
 xen/arch/arm/include/asm/bitops.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/xen/arch/arm/include/asm/bitops.h b/xen/arch/arm/include/asm/bitops.h
index 71ae14cab355..ab030b6cb032 100644
--- a/xen/arch/arm/include/asm/bitops.h
+++ b/xen/arch/arm/include/asm/bitops.h
@@ -9,6 +9,8 @@
 #ifndef _ARM_BITOPS_H
 #define _ARM_BITOPS_H
 
+#include <xen/macros.h>
+
 #include <asm/asm_defns.h>
 
 /*
@@ -155,8 +157,8 @@ static inline int fls(unsigned int x)
 }
 
 
-#define ffs(x) ({ unsigned int __t = (x); fls(__t & -__t); })
-#define ffsl(x) ({ unsigned long __t = (x); flsl(__t & -__t); })
+#define ffs(x) ({ unsigned int __t = (x); fls(ISOLATE_LSB(__t)); })
+#define ffsl(x) ({ unsigned long __t = (x); flsl(ISOLATE_LSB(__t)); })
 
 /**
  * find_first_set_bit - find the first set bit in @word
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 09:35:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 09:35:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643779.1004263 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8GyW-0005ly-Op; Wed, 29 Nov 2023 09:35:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643779.1004263; Wed, 29 Nov 2023 09:35: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 1r8GyW-0005lr-M6; Wed, 29 Nov 2023 09:35:20 +0000
Received: by outflank-mailman (input) for mailman id 643779;
 Wed, 29 Nov 2023 09:35: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=k1bx=HK=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r8GyV-0005ll-Gv
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 09:35:19 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9bb712dd-8e9a-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 10:35:18 +0100 (CET)
Received: from [192.168.1.15] (host-82-59-158-146.retail.telecomitalia.it
 [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id 098724EE0737;
 Wed, 29 Nov 2023 10:35:17 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9bb712dd-8e9a-11ee-98e3-6d05b1d4d9a1
Message-ID: <a1b56fe2-b19d-4ecf-ae10-df7f3d911e47@bugseng.com>
Date: Wed, 29 Nov 2023 10:35:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/guest_walk: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US, it
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>
References: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
 <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
 <4f09cc01-3975-4c2f-960f-67f3ac1f53a4@citrix.com>
 <74748681-dca2-437a-a438-f0a6294ea8e4@suse.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <74748681-dca2-437a-a438-f0a6294ea8e4@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 28/11/23 14:43, Jan Beulich wrote:
> On 28.11.2023 14:17, Andrew Cooper wrote:
>> On 28/11/2023 1:00 pm, Jan Beulich wrote:
>>> On 28.11.2023 10:46, Federico Serafini wrote:
>>>> Uniform declaration and definition of guest_walk_tables() using
>>>> parameter name "pfec_walk":
>>>> this name highlights the connection with PFEC_* constants and it is
>>>> consistent with the use of the parameter within function body.
>>>> No functional change.
>>>>
>>>> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
>>> I'm curious what other x86 maintainers think. I for one don't like this,
>>> but not enough to object if others are happy. That said, there was earlier
>>> discussion (and perhaps even a patch), yet without a reference I don't
>>> think I can locate this among all the Misra bits and pieces.
>>
>> I looked at this and wanted a bit of time to think.
>>
>> Sadly, this code is half way through some cleanup, which started before
>> speculation and will continue in my copious free time.
>>
>> It's wrong to be passing PFEC_* constants, and that's why I renamed pfec
>> -> walk the last time I was fixing security bugs here  (indeed, passing
>> the wrong constant here *was* the security issue).  I missed the
>> prototype while fixing the implementation.
>>
>> At some point, PFEC_* will no longer be passed in.
>>
>> Therefore I'd far rather this was a one-line change for the declaration
>> changing pfec -> walk.
> 
> So that was what Federico originally had. Did you see my response at
> https://lists.xenproject.org/archives/html/xen-devel/2023-07/msg00122.html ?
> While I certainly agree with your plans (as far as I understand them),
> doing as you suggest would make it harder to spot what values are correct
> to pass to the function today. With a suitable new set of constants and
> perhaps even a proper typedef, such confusion would likely not arise.
Thanks to both for the information.

I take this opportunity to inform that we are really close to the end
with Rule 8.3 for x86, this is the situation:
- do_multicall(), Stefano sent a patch;
- guest_walk_tables(), Andrew will take care of it;
- xenmem_add_to_physmap_one(), this is the last one.

For the latter, I see you (x86) share the declaration with ARM,
where "gfn" is used for the last parameter instead of "gpfn".
Do you agree in changing the name in the definition from "gpfn"
to "gfn"?
If you agree, do you have any suggestions on how to rename
the local variable "gfn"?
Following your suggestions, I can do the renaming in two
steps to prevent bad things to happening.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 10:09:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 10:09:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643785.1004273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8HVZ-000647-AZ; Wed, 29 Nov 2023 10:09:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643785.1004273; Wed, 29 Nov 2023 10:09: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 1r8HVZ-000640-7F; Wed, 29 Nov 2023 10:09:29 +0000
Received: by outflank-mailman (input) for mailman id 643785;
 Wed, 29 Nov 2023 10:09: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 1r8HVX-00063o-SQ; Wed, 29 Nov 2023 10:09: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 1r8HVX-0007Qf-Jg; Wed, 29 Nov 2023 10:09: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 1r8HVX-0001bI-7w; Wed, 29 Nov 2023 10:09:27 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8HVX-0003l2-7T; Wed, 29 Nov 2023 10:09: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=pmDilvqwwsOnOct9HZkTa9W5TBXJJLLwuTLp2SMP0Tg=; b=F7vA0KM9SMK5D2frtlzVrqzSLm
	gg7KqAZIylLluel+u3stlO1q+3X6WcdAS0RlbiD8oAsBYuendFBJ/12juR/NzYq6Ggs0ybdPpHk8Q
	2yeQoucj+pDThotdIbqEGGXE6runhW8Y8zweETTh+/ejr0/fZ1hMIOwWcbio6RaHV8EU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183930-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183930: regressions - all pass
X-Osstest-Failures:
    xen-unstable-smoke:build-amd64:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-arm64-xsm:xen-build/dist-test:fail:regression
    xen-unstable-smoke:build-armhf:xen-build/dist-test:fail:regression
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=72ec070930fa4a34d7665ba2a7a42a91d0c85bed
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 10:09:27 +0000

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

Regressions :-(

Tests which did not succeed and are blocking,
including tests which could not be run:
 build-amd64                   7 xen-build/dist-test      fail REGR. vs. 183851
 build-arm64-xsm               7 xen-build/dist-test      fail REGR. vs. 183851
 build-armhf                   7 xen-build/dist-test      fail REGR. vs. 183851

Tests which did not succeed, but are not blocking:
 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-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                  72ec070930fa4a34d7665ba2a7a42a91d0c85bed
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    5 days
Failing since        183871  2023-11-27 14:00:26 Z    1 days   10 attempts
Testing same since   183925  2023-11-29 04:00:29 Z    0 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

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

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


Not pushing.

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


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 10:15:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 10:15:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643790.1004282 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8HbB-0007eT-U8; Wed, 29 Nov 2023 10:15:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643790.1004282; Wed, 29 Nov 2023 10:15: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 1r8HbB-0007eM-RF; Wed, 29 Nov 2023 10:15:17 +0000
Received: by outflank-mailman (input) for mailman id 643790;
 Wed, 29 Nov 2023 10:15: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 1r8HbA-0007eB-Ri; Wed, 29 Nov 2023 10:15: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 1r8HbA-0007Ww-F6; Wed, 29 Nov 2023 10:15: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 1r8HbA-0001q5-1K; Wed, 29 Nov 2023 10:15:16 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8HbA-0007xX-0t; Wed, 29 Nov 2023 10:15: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=k0oqERVtC1kfoq2thdVKyq/3Fr2mMzJX5/pWT4aZ9go=; b=RDK1JcWcp8p0gPAOSShUpYhb+C
	uxrnBSO1/x5yA4mdWYAwXONh2UaxnqvBEMUb3PnaoVt1efwcepa6KRELW2RdWrr273rExOOihwD33
	pcIutYAZLSMRXUkA9gNRvGbIRPtJskzk01O5QNRUUeM0J3B/rZhRwD4g4e7b9Et0GAnM=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183932-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183932: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=68d506e0d15c0c412142be68ed006c65b641560f
X-Osstest-Versions-That:
    ovmf=88580a79d49f923ed9347d6161a5cff28a46f627
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 10:15:16 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 68d506e0d15c0c412142be68ed006c65b641560f
baseline version:
 ovmf                 88580a79d49f923ed9347d6161a5cff28a46f627

Last test of basis   183923  2023-11-29 01:56:04 Z    0 days
Testing same since   183932  2023-11-29 07:41:09 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Zhiguang Liu <zhiguang.liu@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
   88580a79d4..68d506e0d1  68d506e0d15c0c412142be68ed006c65b641560f -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 10:32:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 10:32:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643796.1004293 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Hs8-0004Gf-FJ; Wed, 29 Nov 2023 10:32:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643796.1004293; Wed, 29 Nov 2023 10: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 1r8Hs8-0004GY-Br; Wed, 29 Nov 2023 10:32:48 +0000
Received: by outflank-mailman (input) for mailman id 643796;
 Wed, 29 Nov 2023 10:32: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=AZTC=HK=cloud.com=ross.lagerwall@srs-se1.protection.inumbo.net>)
 id 1r8Hs6-0004GQ-Td
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 10:32:46 +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 a1845359-8ea2-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 11:32:44 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40b54261534so2709585e9.3
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 02:32:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a1845359-8ea2-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701253963; x=1701858763; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=iuILcJ59J6n6wEAS/aJ/DfbeIn79CyLEtUWJQWBrpAI=;
        b=D37nmPWR5uqpFU6Def2tvkYG9lB/8QNSyCDqBTUcs6TYdb1VfjkZUpGejE36Umraye
         Tqx2V3JRyt/hSXqX+rMCX3yTl8FBGgfuyz3hXUQqG8zYKnF7JojoZwrCRrzD/c1Urtmd
         j+i4+51TrQ6w5ILCabwl5EiP4T5DpnKn8HL/E=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701253963; x=1701858763;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=iuILcJ59J6n6wEAS/aJ/DfbeIn79CyLEtUWJQWBrpAI=;
        b=hAyj0Yp9Ku4SwQOMiAAf1zqH14Dsvp1R05UlNf78tzF5vTLQf9bgsQQ2gOef9uJDZi
         TdNWyL5kpgXEwPWyR7Alsvcb3nA0HMemTL5YpkpdpTc3HNswHbfUiADxAqCa/PTnFamF
         3fiRcP4od0J2iSS+veXZ9TyonM2dwIwW0iobpimP1MvzD3ABHkgLpcf+A4lNnNeXXCyy
         E5A54xzZyqb9gUBxjgaUyNSVqcAeZOHCIGovZgtHi6lHxfsZ9wxFhQBCOSzh+oz5ol6+
         OP+ICSBrl+s4KtcnRhma7hxF0ZyPHlIvSUTPrDVwQQ2vAy6ZH687sGUHlzjWSjc68d7a
         d3Eg==
X-Gm-Message-State: AOJu0Yz9v1mk52GI0cQuWDn1yf6TAiT9MDD7MCdLGn726Xuq2CGwToIY
	GHkZvAu4ZW6xZQi58DMOoLObu8mu/ABaiUqiHz4I9RfFOSXHtBo=
X-Google-Smtp-Source: AGHT+IF2iEVt6cyNRQ4Ctw+VMTGhpWul/ekv2OvqUFZETA/YEFIatFfB6JFmAiywtfFSEmMFTMMB5OeGpNN0joTPcR8=
X-Received: by 2002:a05:600c:4fcc:b0:40b:338b:5f38 with SMTP id
 o12-20020a05600c4fcc00b0040b338b5f38mr12486000wmq.8.1701253963521; Wed, 29
 Nov 2023 02:32:43 -0800 (PST)
MIME-Version: 1.0
References: <20231128174131.38642-1-roger.pau@citrix.com>
In-Reply-To: <20231128174131.38642-1-roger.pau@citrix.com>
From: Ross Lagerwall <ross.lagerwall@cloud.com>
Date: Wed, 29 Nov 2023 10:32:32 +0000
Message-ID: <CAG7k0EqEjbL2LFoB4gn+VNQu_QEDVR8oaCjwdPp++B=Q3jA7CA@mail.gmail.com>
Subject: Re: [PATCH] xen/livepatch: fix livepatch tests
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: xen-devel@lists.xenproject.org, 
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 28, 2023 at 5:41=E2=80=AFPM Roger Pau Monne <roger.pau@citrix.c=
om> wrote:
>
> The current set of in-tree livepatch tests in xen/test/livepatch started
> failing after the constify of the payload funcs array, and the movement o=
f the
> status data into a separate array.
>
> Fix the tests so they respect the constness of the funcs array and also m=
ake
> use of the new location of the per-func state data.
>
> Fixes: 82182ad7b46e ('livepatch: do not use .livepatch.funcs section to s=
tore internal state')
> Signed-off-by: Roger Pau Monn=C3=A9 <roger.pau@citrix.com>
> ---
> I will see about getting those tests build in gitlab, in the meantime we =
should
> take this fix in order to unblock osstest.
> ---
>  xen/test/livepatch/xen_action_hooks.c         | 12 +++++-----
>  xen/test/livepatch/xen_action_hooks_marker.c  | 20 ++++++++++-------
>  xen/test/livepatch/xen_action_hooks_noapply.c | 22 +++++++++++--------
>  xen/test/livepatch/xen_action_hooks_nofunc.c  |  6 ++---
>  .../livepatch/xen_action_hooks_norevert.c     | 22 +++++++++++--------
>  xen/test/livepatch/xen_prepost_hooks.c        |  8 +++----
>  xen/test/livepatch/xen_prepost_hooks_fail.c   |  2 +-
>  7 files changed, 53 insertions(+), 39 deletions(-)
>
snip
> diff --git a/xen/test/livepatch/xen_action_hooks_norevert.c b/xen/test/li=
vepatch/xen_action_hooks_norevert.c
> index ef77e720713e..1c4873f55640 100644
> --- a/xen/test/livepatch/xen_action_hooks_norevert.c
> +++ b/xen/test/livepatch/xen_action_hooks_norevert.c
> @@ -25,9 +25,10 @@ static int pre_apply_hook(livepatch_payload_t *payload=
)
>
>      for (i =3D 0; i < payload->nfuncs; i++)
>      {
> -        struct livepatch_func *func =3D &payload->funcs[i];
> +        const struct livepatch_func *func =3D &payload->funcs[i];
> +        struct livepatch_fstate *fstate =3D &payload->fstate[i];
>
> -        BUG_ON(func->applied =3D=3D LIVEPATCH_FUNC_APPLIED);
> +        BUG_ON(fstate->applied =3D=3D LIVEPATCH_FUNC_APPLIED);
>          printk(KERN_DEBUG "%s: pre applied: %s\n", __func__, func->name)=
;
>      }
>
> @@ -44,9 +45,10 @@ static void post_apply_hook(livepatch_payload_t *paylo=
ad)
>
>      for (i =3D 0; i < payload->nfuncs; i++)
>      {
> -        struct livepatch_func *func =3D &payload->funcs[i];
> +        const struct livepatch_func *func =3D &payload->funcs[i];
> +        struct livepatch_fstate *fstate =3D &payload->fstate[i];
>
> -        BUG_ON(func->applied !=3D LIVEPATCH_FUNC_APPLIED);
> +        BUG_ON(fstate->applied !=3D LIVEPATCH_FUNC_APPLIED);
>          printk(KERN_DEBUG "%s: post applied: %s\n", __func__, func->name=
);
>      }
>
> @@ -62,8 +64,9 @@ static int pre_revert_hook(livepatch_payload_t *payload=
)
>      for (i =3D 0; i < payload->nfuncs; i++)
>      {
>          struct livepatch_func *func =3D &payload->funcs[i];

const here too?

With that fixed...
Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 10:32:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 10:32:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643797.1004303 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8HsC-0004Vu-MI; Wed, 29 Nov 2023 10:32:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643797.1004303; Wed, 29 Nov 2023 10:32: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 1r8HsC-0004Vn-JZ; Wed, 29 Nov 2023 10:32:52 +0000
Received: by outflank-mailman (input) for mailman id 643797;
 Wed, 29 Nov 2023 10:32: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 1r8HsB-0004VQ-7m
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 10:32: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 1r8Hs9-0007sK-Un; Wed, 29 Nov 2023 10:32:49 +0000
Received: from 82-132-247-131.dab.02.net ([82.132.247.131] helo=[172.20.10.4])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8Hs9-0003NT-Ja; Wed, 29 Nov 2023 10:32: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=5Ob0aBhfw7+DqSp4nCd7/EX/X+QBbmhlOmAvvfX5S1E=; b=ceuCtacUniowcFQFh6Bp1Kr+SW
	9D2axyAn1ncpEHQv0mF1ZZW9lCef075fX/AOzKE/H+YC5buNMh3RBvbIebicPN9ZNbdtqM2xSSZgx
	JMh9PcMMEC8jp070xvuMtBXozNO3PPoDTydsRsz6loDS1JHBMGn6+YCW5el6B8G5um+0=;
Message-ID: <8e40c0a2-0d74-4611-8faf-84184ab371c8@xen.org>
Date: Wed, 29 Nov 2023 11:32:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] ubsan: Introduce CONFIG_UBSAN_FATAL to panic on UBSAN
 failure
To: Michal Orzel <michal.orzel@amd.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: <20231127144156.361656-1-michal.orzel@amd.com>
 <443a56fa-a175-4d10-9343-577c825fbd7a@xen.org>
 <0985c860-ac1f-44ca-a4ab-147723fc6b36@amd.com>
 <b0127019-4976-42e3-bde1-643cc56f18b0@xen.org>
 <16b73400-b592-4a1a-9b87-8c49aad9208d@amd.com>
 <9d1e385e-152e-404a-8d8b-47c5ac08d76a@xen.org>
 <ce98090d-d81f-4a02-8ad1-9fa5ba647409@amd.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <ce98090d-d81f-4a02-8ad1-9fa5ba647409@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit



On 29/11/2023 09:02, Michal Orzel wrote:
> Hi Julien,

Hi,

> On 28/11/2023 18:52, Julien Grall wrote:
>>
>>
>> Hi Michal,
>>
>> On 28/11/2023 18:15, Michal Orzel wrote:
>>>
>>>
>>> On 28/11/2023 18:09, Julien Grall wrote:
>>>>
>>>>
>>>> On 28/11/2023 18:00, Michal Orzel wrote:
>>>>> Hi Julien,
>>>>>
>>>>> On 28/11/2023 17:14, Julien Grall wrote:
>>>>>>
>>>>>>
>>>>>> Hi Michal,
>>>>>>
>>>>>> On 27/11/2023 15:41, Michal Orzel wrote:
>>>>>>> Introduce the CONFIG_UBSAN_FATAL option to cater to scenarios where prompt
>>>>>>> attention to undefined behavior issues, notably during CI test runs, is
>>>>>>> essential. When enabled, this option causes Xen to panic upon detecting
>>>>>>> UBSAN failure (as the last step in ubsan_epilogue()).
>>>>>>
>>>>>> I have mixed opinions on this patch. This would be a good one if we had
>>>>>> a Xen mostly free from UBSAN behavior. But this is not the case at least
>>>>>> on arm32. So we would end up to stop at the first error. IOW, we would
>>>>>> need to fix the first error before we can see the next one.
>>>>> Well, this patch introduces a config option disabled by default.
>>>>
>>>> I understood this is disabled by default... I am pointing out that I am
>>>> not convinced about the usefulness until we are at the stage where Xen
>>>> is normally not reporting any USBAN error.
>>>>
>>>>> If we end up enabling it for CI for reasons* stated by Andrew, then the natural way
>>>>> of handling such issues is to do the investigation locally.
>>>>
>>>> This will not always be possible. One example is when you are only able
>>>> to reproduce some of the USBAN errors on a specific HW.
>>>>
>>>>> Then, you are not forced
>>>>> to select this option and you can see all the UBSAN issues if you want.
>>>>
>>>> See above, I got that point. I am mostly concerned about the implication
>>>> in the CI right now.
>>>>
>>>>>
>>>>>>
>>>>>> So I feel it would be best if the gitlab CI jobs actually check for
>>>>>> USBAN in the logs and fail if there are any. With that, we can get the
>>>>>> full list of UBSAN issues on each job.
>>>>> Well, I prefer Andrew suggestion (both [1] and on IRC), hence this patch.
>>>>>
>>>>> *my plan was to first fix the UBSAN issues and then enable this option for CI.
>>>>
>>>> That would have been useful to describe your goal after "---". With that
>>>> in mind, then I suggest to revisit this patch once all the UBSAN issues
>>>> in a normal build are fixed.
>>> But this patch does not enable this option for CI automatically, right?
>>
>> Correct.
>>
>>> Why are you so keen to push it back?
>>
>> I have been pushing back because your commit message refers to the CI
>> specifically and today this would not really work (read as I would not
>> be happy if this option is enabled in the CI right now at least on arm32).
> I mentioned CI as a noteworthy example. In no case, I wrote that this implies the immediate
> enabling of this option for all the arches in CI. Especially, given that I'm aware of arm32 issues
> as you might know.

You are missing my point... If you read what I wrote a paragraph after, 
I am pointing out that even in the future, I would prefer if the CI 
reports all the errors rather than stopping at the first one.

When I assess a patch, I also assess based on the examples provided in 
the commit message. Sadly, I don't get CCed to the CI patches, so I much 
prefer to express my opinion earlier rather than missing out the 
opportunity to do it ...

> 
>>
>> If you want to fail a CI job for UBSAN today, then we need to find a
>> different approach so we can get the full list of UBSAN error rather
>> than fixing one, retry and then next one.
>>
>>> Is it because you see no point in this option other than for the upstream CI loop?
>>
>> Even in the upstream CI loop, I am a little unsure about this approach.
>> At least, I feel I would want to see all the reports at once in the CI.
>>
>> But this is not really a strong feeling.
>>
>>> I find it useful on a day-to-day
>>> Xen runs, and I would for sure enable it by default in my config not to miss UBSAN failures.
>>
>> Fair enough. I view USBAN issues the same a WARN_ON. They all need to be
>> investigated. So now you have an inconsistent policy.
>>
>> Are you are also intending to switch WARN_ON() to fatal? If not, then
>> why would UBSAN warnings more important that the other warnings?
> WARN_ON() is placed by the developer to detect e.g. incorrect configuration. The fact that someone
> decided to use WARN_ON and not BUG_ON means that this person did some investigation the result of
> which suggests no critical consequence.
The general guidance is to use BUG_ON() when it is not possible to pass 
the error up to the stack and that could cause privilege escalation / 
information leak. But for anything else (e.g. DoS), then it would be 
more common to use WARN_ON() as an indication that something is fishy.

To give a concrete example, in Linux, we recently had an XSA [1] which 
could have been detected earlier if we had pay attention to WARN splats 
(albeit they were only showing up in certain configuration).

So I would not treat WARN and UBSAN splats differently. In particular in 
the context of a CI system, we really want to know about any splats.

> For UBSAN, you can't always be sure (read undefined).
> It might be at the same level as WARN_ON but can also result in unpredictable behavior leading to security issues.

I wish this were true :). My example above is not Xen, but still...

> 
> That said, I do believe that we should also have option to panic on WARN().
> As for this patch, Andrew provided Rb and Stefano is happy with it. Do you want more people to vote?

No as long as this is not planned to be used in the Gitlab CI.

Cheers,

[1] https://xenbits.xen.org/xsa/advisory-441.html

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 10:34:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 10:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643800.1004313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Htm-0005MI-2p; Wed, 29 Nov 2023 10:34:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643800.1004313; Wed, 29 Nov 2023 10:34: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 1r8Htm-0005MB-0I; Wed, 29 Nov 2023 10:34:30 +0000
Received: by outflank-mailman (input) for mailman id 643800;
 Wed, 29 Nov 2023 10:34: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=LgJk=HK=linutronix.de=alex@srs-se1.protection.inumbo.net>)
 id 1r8Htk-0005M0-44
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 10:34:28 +0000
Received: from galois.linutronix.de (galois.linutronix.de [193.142.43.55])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id de3cb37c-8ea2-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 11:34:26 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: de3cb37c-8ea2-11ee-9b0e-b553b5be7939
Message-ID: <81043e30-c9fd-4c5e-ad63-0e42edea733d@linutronix.de>
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020; t=1701254065;
	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:autocrypt:autocrypt;
	bh=Yh5RLEiGr6J+S9KBnf/MC6zZrCVpXq6RDso1F0RnEzQ=;
	b=SpWt5PnF1Gmzj5PoBmT+9PgaSBNKrsG4mGzVIyEKnBk8u1HilCV1XRJ89fp1MhQhcBNWcn
	K9xU8f6MICOjSewzlQAeSJo3xX7stOAoR/se5uGVtKnt9a2LvyR/ZbLJ2gyBaqOa6CPsJP
	uWh/C65DM2wWGTf/R2iqjtV1Kx+iqbCfEbRblVuBt0FDNDmCW65gFwKmqGCvp7Y+proaQa
	MZalWGxlAezvyzsD674XM/jLvg1R2V8X6QBSMfmlrjwvW+XFstXv918UkWb3k6Xwye5b0f
	ifW9txPGULQ40VP3FVNWn0MDKVdQ814tgsuwd04BjYKwXRbRjKLtc8OHwzWT0A==
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de;
	s=2020e; t=1701254065;
	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:autocrypt:autocrypt;
	bh=Yh5RLEiGr6J+S9KBnf/MC6zZrCVpXq6RDso1F0RnEzQ=;
	b=koYeVMLl/yPIXknsrWbIF2rAeVk7+gqh0w/WwDDj32ad/mXCcnc1a3Gqa71cssQQPwXV33
	hw5W+bRxHrepaEAQ==
Date: Wed, 29 Nov 2023 11:34:22 +0100
MIME-Version: 1.0
Subject: Re: [PATCH] Config.mk: drop -Wdeclaration-after-statement
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: <20231128174729.3880113-1-alex@linutronix.de>
 <fcb1cc57-b985-4711-a234-4aaa380b9abe@suse.com>
Content-Language: en-US
From: Alexander Kanavin <alex@linutronix.de>
Autocrypt: addr=alex@linutronix.de; keydata=
 xsDNBGHm1swBDADo+8UfTmQ2gV6TeJv11EvzlOgInBSbY8MyOgXjiakzu6C8AFE0j9JIbLWV
 uVsxDoFmFUgDHUCItXWibZ4hiHV5tHTWwUICcusgNdAuNUxpMZ/qV5IOEzuVEqcX9qLl13Qd
 SVxgJt+uC05g831Q/fCYTIheX8dsk+K/PkFCE6sYol5Q/KHXWv+M73QEo3pq7xYoZ333TaLO
 eR4mPz1jorqk8flRc7NCJb5Yrmigy0xBpf/CSW5Ux8lrwvOrz3zA8xHbSG4nUwGfzTK9GETH
 UcTsXYy3sq6YL7mDazQ2oLswBt6QD9XGnxTFDYoDU0ZlvLAj2+KjeX2+KbM+QjB6v2POYrJO
 mfQQUJoP7NyL4nEt3npnFVuGIvbsYOZwfsmdcwq8bQBIDJqrmbFA5w0EK3GGkRoLDXLK/+en
 TeCotmW2XShnCI8gWQjTpQv79Di3bV2ucBIvS56wTJqzKoSb/1K/2q+W7P7yLTO8fOYPc97E
 I0yyznjSsxRSjZajqHWG8DUAEQEAAc0mQWxleGFuZGVyIEthbmF2aW4gPGFsZXhAbGludXRy
 b25peC5kZT7CwRQEEwEKAD4WIQS0m1Lg1L9/kNpscyOI0ieG55SfbQUCYebWzAIbAwUJA8Jn
 AAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCI0ieG55SfbRycC/44I2toOx+pGT9NAhOi
 ZU2hsjSQacQzmLpKMfv9fMIS86DE0Hsi4PYVfT8kemL5F8hiAYL3XLZwuWLTinH1H3FFb8ko
 T//aCOGMjoQLpXtjbUnw9UGeIiwFdUg3Yym8hq/rtMMFsEG0gfUz6wiOlEfohIW+a2HuO96z
 +BWVT+ziPZdTPZvNGWuvWUO9/54GqcMBWf6nQtbyrDfqG3YD2wpmSuYWlavIszzCp0Dzvz86
 Q0vxSiWqO3IdttoIjDpIDMaK3uDdJE6CPO+oqVJhsxEWex842yy92f7B5jKOJZqcD/vo8iMJ
 bQDUoEis2WGkkou3JxRbHM2JE4lKEuG6usgjErwW9sv6CiR+3a17A4sjwK8Cewd0Gj0a4Bn5
 0TwhAWZ9i2UFbuhsm7P7ku5OVZrlfN+MDEH2DEH1RotN98CCUtogAF8WIr1A8dZle5sYlNkt
 Q9qLZwCPFbEdkOyDDoE9vO1hTHUKz9wqKba88Kvv1YWHj3xmcfE88b+GUnpbfO7OwM0EYebW
 zAEMALaOKBsfqdmBHJL7h7Hfe292bmlAGuQ9JL/z+PUGk9FDAl6+buJc/YP4LYDSTsDf61Vq
 fZVrqMVGb46SbLkb/+blhzUVfaNJaViyvhnYC4UyO8pAb19jPsxlD9HN/w0nbZCwcIJYQSh5
 6khm5JXWtrjCtbp5HAQComiiSnZqS7MMB8vScGqKYutumtjpsdn/dWiQ2vwjwR+gDSZWGjUP
 vDCONdOhfDFQo0UvRmRlEk7ZJs/EuPDI17EzBfnZqgudbvI4uPutOxiCM+5IIMgwQUIK3qkU
 E7HwHtdUU/LWYR7LMVh14mr4BZJv6k5JpwrfQ1Sl9SzhfXaelOwso98KpJPah86cDFPbhqO+
 c4Cdktjz0jhrUBprVC3Uo14pxNZo/1MWAhWKGVSaYTa7rVO1EPZYEttOUVcUbF5d1ykd/jps
 md02kLKjC2Wxpr5r2JImkjbMUCyvGScXlAKgZMpaTkCulatk5gHClNT10Gt3CaOVR496OqgL
 RFj0oMDHi/+zRwARAQABwsD8BBgBCgAmFiEEtJtS4NS/f5DabHMjiNInhueUn20FAmHm1swC
 GwwFCQPCZwAACgkQiNInhueUn23QwgwAuLixohLN0Xmue5rAMM0d9/I/w+z2WXeVzhMFBo+D
 OE8mv53e1GplAf540PGhws4AzZ8crvvr+/hARJXiEnZZgaaXLK4IF3y2F9hrsD0+C0k6BFGC
 ksDmaDRmmXmJYdXiPk0MN0L0XNs3X6GfkoNa8b5JDSj7mj9TFLD+TqqOTtLqSc5sxC5Il6yp
 vghJqvpETo9g2dVLNL6474SyP8xplokSVl52rlfEUD1HkAzRQIVhko1+uhXXo0zYrZyFbFL6
 ZZzxRIae6NfhZM7FN42A4ZIyZWrEQAUnw0zV1OUNOY/hhlpo7M8XoxRwdSe1wMuUuM4jRY07
 4RdcMteXobRAj8HCZTLQ+SMRBY8Yivf5P4RbB5fU529jeyRc5moG7LJcZdnHIE2yAXuSgOle
 0kaqHKNoY93EmcP9JjlJU/er9V/Fiwxvw/4FCgJWYmCzixVnnJXFBsOlPnTSy5nryM6lW2qF
 gzn7ZvFgzjgWGXdfZ/hwHhehs0fOiJpS5L/mWETf
In-Reply-To: <fcb1cc57-b985-4711-a234-4aaa380b9abe@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/29/23 08:51, Jan Beulich wrote:

> On 28.11.2023 18:47, Alexander Kanavin wrote:
>> Such constructs are fully allowed by C99:
>> https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Mixed-Labels-and-Declarations.html#Mixed-Labels-and-Declarations
> There's more to this: It may also be a policy of ours (or of any sub-component)
> to demand that declarations and statements are properly separated. This would
> therefore need discussing first.

The error is coming from python 3.12 headers and not from anything in 
xen tree, no? As you don't have control over those headers, I'm not sure 
what other solution there could be.


Alex

-- 

Alexander Kanavin
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
Phone: +49 7556 25 999 39; Fax.: +49 7556 25 999 99

Hinweise zum Datenschutz finden Sie hier (Informations on data privacy
can be found here): https://linutronix.de/legal/data-protection.php

Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen |
Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700
806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas Gleixner,
Sharon Heck, Yulia Beck, Tiffany Silva



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 10:41:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 10:41:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643805.1004322 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8I08-0008Ht-Nk; Wed, 29 Nov 2023 10:41:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643805.1004322; Wed, 29 Nov 2023 10: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 1r8I08-0008Hm-LA; Wed, 29 Nov 2023 10:41:04 +0000
Received: by outflank-mailman (input) for mailman id 643805;
 Wed, 29 Nov 2023 10:41: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 1r8I07-0008Hg-RN
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 10:41: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 1r8I07-00082Y-BU; Wed, 29 Nov 2023 10:41:03 +0000
Received: from 82-132-247-131.dab.02.net ([82.132.247.131] helo=[172.20.10.4])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8I06-0003yP-Pa; Wed, 29 Nov 2023 10:41: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=zTuxU2BTYD2ZPGuk6SHejp/yFOYgNJ30zSBxI4czA3k=; b=AImkq/1DBbC6OLKFi7qfCz8fpO
	GfKYhAzgqUoYh8nQmPFhAKhNfbnDAQPQlr9oLtlbvj9cDHfE5U7UYaD/LlGC9P88s+uIycx920T56
	veXWv5iQEyXA161FpSbBhHhCGDRRLtz/6lGgx/EyA2CjOtoGFUxplcWSiaClATX2X8Pw=;
Message-ID: <cce32468-bd4e-4695-a291-af2ec5309310@xen.org>
Date: Wed, 29 Nov 2023 11:40:57 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/arm64: Move print_reg macro to asm/arm64/macros.h
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Luca Fancellu <luca.fancellu@arm.com>, Julien Grall <jgrall@amazon.com>
References: <20231129090645.26137-1-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231129090645.26137-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 29/11/2023 10:06, Michal Orzel wrote:
> Macro print_reg is used to print a value of a register passed as an
> argument. While today it is only used from within the common head.S,
> in the future we might want to make use of it from other files, just
> like PRINT(). It also serves as a great aid when debugging.
> 
> Expose print_reg macro by moving it to asm/arm64/macros.h and:
>   - rename putn to asm_putn to denote the usage from assembly only,
>   - use ENTRY() for asm_putn to make it globally visible.
> 
> This way the behavior will be consistent with what we already do on arm32.
> 
> Take the opportunity to get rid of unneeded stubs for early_puts,
> init_uart and putn since the calls to them are already protected by
> respective #ifdef CONFIG_EARLY_PRINTK.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>
> Tested-by: Luca Fancellu <luca.fancellu@arm.com>
> Acked-by: Julien Grall <jgrall@amazon.com>

This is now committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 10:47:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 10:47:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643808.1004333 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8I6P-0001wn-Cg; Wed, 29 Nov 2023 10:47:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643808.1004333; Wed, 29 Nov 2023 10: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 1r8I6P-0001wg-9V; Wed, 29 Nov 2023 10:47:33 +0000
Received: by outflank-mailman (input) for mailman id 643808;
 Wed, 29 Nov 2023 10:47:32 +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 1r8I6O-0001wW-Mn
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 10:47: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 1r8I6L-0008CG-Pc; Wed, 29 Nov 2023 10:47:29 +0000
Received: from 82-132-247-131.dab.02.net ([82.132.247.131] helo=[172.20.10.4])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8I6L-0004Gq-GO; Wed, 29 Nov 2023 10:47: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=7NzXJ02DK44MY/FfjSv/CDuN/umgKdRaHGQ8IVvx9XM=; b=QzJxAwfLCGkcGpbQ3OyK4ZIhGh
	XzYFs9mm9pxyVsA63Rfw1byohsPQkgAXtjviGKWtPxKuzquX5CTlvwAD+B3xtPCGkw+4VILwsKAzP
	n2Pul0mhpLtDe+ARJ9TzWtV8nmEeMRDPX8lH1H8UA2Qj01s0GPEs4Oq9CWEWqCGEFrH4=;
Message-ID: <5a469665-54b2-4904-9604-ad686fbbb05e@xen.org>
Date: Wed, 29 Nov 2023 11:47:24 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Config.mk: drop -Wdeclaration-after-statement
Content-Language: en-GB
To: Alexander Kanavin <alex@linutronix.de>, Jan Beulich <jbeulich@suse.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, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>
References: <20231128174729.3880113-1-alex@linutronix.de>
 <fcb1cc57-b985-4711-a234-4aaa380b9abe@suse.com>
 <81043e30-c9fd-4c5e-ad63-0e42edea733d@linutronix.de>
From: Julien Grall <julien@xen.org>
In-Reply-To: <81043e30-c9fd-4c5e-ad63-0e42edea733d@linutronix.de>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

+ Anthony for the tools
+ Juergen for Xenstored

On 29/11/2023 11:34, Alexander Kanavin wrote:
> On 11/29/23 08:51, Jan Beulich wrote:
> 
>> On 28.11.2023 18:47, Alexander Kanavin wrote:
>>> Such constructs are fully allowed by C99:
>>> https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Mixed-Labels-and-Declarations.html#Mixed-Labels-and-Declarations
>> There's more to this: It may also be a policy of ours (or of any 
>> sub-component)
>> to demand that declarations and statements are properly separated. 
>> This would
>> therefore need discussing first.
> 
> The error is coming from python 3.12 headers and not from anything in 
> xen tree, no? As you don't have control over those headers, I'm not sure 
> what other solution there could be.

We seem to add -Wno-declaration-after-statement for some components in 
tools/. So one possibility would be to move the flags to an hypervisor 
specific makefile (in xen/).

Anthony/Juergen, do you have any concern if the tools are built without 
-Wdeclaration-after-statement?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 10:55:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 10:55:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643812.1004343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8IDb-0003Yp-46; Wed, 29 Nov 2023 10:54:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643812.1004343; Wed, 29 Nov 2023 10:54: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 1r8IDb-0003Yi-0X; Wed, 29 Nov 2023 10:54:59 +0000
Received: by outflank-mailman (input) for mailman id 643812;
 Wed, 29 Nov 2023 10:54: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=ZIyB=HK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8IDa-0003Ya-0N
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 10:54:58 +0000
Received: from EUR01-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur01on060a.outbound.protection.outlook.com
 [2a01:111:f400:fe02::60a])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bae4f9ef-8ea5-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 11:54:55 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by DBBPR04MB7931.eurprd04.prod.outlook.com (2603:10a6:10:1eb::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Wed, 29 Nov
 2023 10:54:53 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Wed, 29 Nov 2023
 10:54: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: bae4f9ef-8ea5-11ee-9b0e-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=gZzOdoRW7wI1DzAXyWrM+Ux3EEPtDjN0yy9UqOZl9VunMM65QThbeVj70JsuBPC5kaw52sf7bHPCyUs9zmgaX/0GS/JBzOfpUZOkbc/CC8QTi7vdWXGkuNEE2oxvzpXYabPGHMh9nCrCy8cIflF3LCKnURxsuqG/3IjnDUYXk/vMf6ikvVI/s4j4tdzRyGCyXxeJ+TzO7Qko2uHv2QfXt7hh19QURQ8H8Oy0rLUVb9klFpYEcvtdJzsUL2/rTwiBO3DwjtGJVlhozWLOLJHsaUGxJoAlrs4YgUJKthgTaqrdzLjJm7bQYYsLBKmHiO+v3Cauz8iAwPLwmFzPNTlyKg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=1i4Em1r4DeWshIGyRtIjnvCcQKkyHlGsZg+Y+RMvkPQ=;
 b=K7zHua5glF3vKjy6c3vm5BjcUajHe5ltoNheXfgE0SVdSfUABnaKIW4HWcj/b9obsCMfh/X5OOZW3yxswwOPt1n2NNFNyH85UvZZ/mSoOqVg39ro4XnKthVq1qlMwxLU9PzCAZEK6fb5s/+ahDJPsXkrDb0sPOTxqlRREqPhpCKfcByI6sMS0C5DIJqkS1/rVzpFqcHwBxK5Eq6zXxafLQ1xkn0zCkez8i2eXMhT5T+uKMJ1FZiPEotMRAARlVTINFNizK7ydNfUceH6R+6M7kQHCk7hO8RglSyDCI1q5cGPbVJCRbthUJO9RN1ZM+l/1Wyz4l6ulpk62mYTlTb/Gg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=1i4Em1r4DeWshIGyRtIjnvCcQKkyHlGsZg+Y+RMvkPQ=;
 b=iurOOe/ZQexWOT2xPN4g3zt/pdvSGAQoOJzEqIZW/qhP1i3Gy3T8Yee/UOSlyACf0sMQ+O2d1ONbzdMwoD6FsQ2zXJXPnprVjAPOg1rfYVsdjjHkLHaGC+ZitBGFarWxS2RE5mjEAJA3fnXmQPYNgygVaz/aw641T6Kkj9hpl6pkbxyfN5IuQa2KGvgWC82G63Tur67xmkci0ir1HbmDQCWfOApHFe55pUrJMo9N/bMwCSlMpY6u1cpV++xJIcKb1b4gdahiT0VFcmwXOrolJ4t3kZZQ9FHuk50Gk6Xi2Y0+HFpygEppxXekJj4M7UtubDoEEKNhazcXwcRitE2QJw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b788aa01-734a-475f-a89f-910850ec8b6a@suse.com>
Date: Wed, 29 Nov 2023 11:54:51 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Config.mk: drop -Wdeclaration-after-statement
Content-Language: en-US
To: Alexander Kanavin <alex@linutronix.de>
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: <20231128174729.3880113-1-alex@linutronix.de>
 <fcb1cc57-b985-4711-a234-4aaa380b9abe@suse.com>
 <81043e30-c9fd-4c5e-ad63-0e42edea733d@linutronix.de>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <81043e30-c9fd-4c5e-ad63-0e42edea733d@linutronix.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0070.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|DBBPR04MB7931:EE_
X-MS-Office365-Filtering-Correlation-Id: b4b7a5f9-3656-49b0-37bf-08dbf0c99e2d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	NB+WF8w5w8LGouL49+9ORHHH65EK5t7v04H0qCjkN5Xa8wt6LlYr/y1Tbn8rqZqHoHW935PoNvnsjFYzWI70QwojERccSfZf0aG3+VDwHNwjXAL208s+uas8sjN0XXo7B6sRMn1BUMn1gp4qn1vkDFeANlFmxlERunf0JHkQoy0K0ic4wfzPWrWrmXCQ2Iyj/YkuP9eFYJU0dIxyyscomw35LhbsyH4ct1Ybl2rF7zNmCVyUJWSerSTua7OIEh36pg0+6XaZGjPisto+qQ6j+hE/I33KYhRTh6CUPbx8bFH8lrxHL8d7MAwYN9SF7a3bTisiwGHfAvKIRyFFFh/wzPc23lWqdMR6FaVrwb5/8WK39ectgwWeTmAdg3mzB0auiLvIkahbOoj79S+TCMe9tjXcKt3TlUg6eLCHQbQe+f3YP3wZBxsw06lXPfVqBRLjnwtzLq+xBGYsKR0BYKPVJBQ3x4z+LSPXaOP/Ekz2s7PI1aZSY5CgVNO40C7nj01kpF16RQrVnW9mH2cC5Zh/jAzRfXtconAyr7PBbUFP7uv8JPT5FSj0HbSb25MxpCcZmqJhzs+3p3+QpX3we4H3syz+by0Mm5sGBJPpLwYQ/EqWiMe+qJ+b/Gskj8AI2OKgxVQST087pNPEd55INe2qKA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(39860400002)(366004)(346002)(376002)(136003)(230922051799003)(186009)(451199024)(1800799012)(64100799003)(316002)(6512007)(36756003)(26005)(2616005)(6916009)(66556008)(54906003)(66476007)(53546011)(6486002)(966005)(478600001)(6506007)(66946007)(5660300002)(4744005)(38100700002)(86362001)(31686004)(41300700001)(2906002)(31696002)(83380400001)(8676002)(8936002)(4326008)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjV5UzY5YkM2a2ZJSWJIUTJXZXM0YnFyQ3dKYkhBZnYzMjBIQStxQVdVMTJ0?=
 =?utf-8?B?ZUZoVHVZbGdvTXlmVk9IbFdjWE00YWxPS0c1TmVGTmxDNkh1a242empGU1hl?=
 =?utf-8?B?M0NFVmRtREpWY2Y4THFjMk0rc1JsZDVTZmR0OW5LU1VqRnVnb0E5YTNyYjRN?=
 =?utf-8?B?T3F5c1B1SVRMcmhpRjRid04vQUZUaWxUTkVOemxkMmJmbkVVTGVSQWc2dXJk?=
 =?utf-8?B?YVFWSFJzUXBYOGoycnlKQUFYSG9IejYzaVlWQ1QxcmdBcW5SamVVKzR5bHVG?=
 =?utf-8?B?Slc5U0dmQmlmNnVwcGhxa3lUKzQ3TjY4T0tGT01keU9XWHA4S1NtTjdNaSth?=
 =?utf-8?B?NUROanhjaG5sVmIrV2xReEIrNmtWaGlwdENGNXJ5L2xySFlVL0k2WG5ZNG9j?=
 =?utf-8?B?U1hjWEJDdWwrUk11dGRZUFBKbVhSeGhmS0JUZTgvNzNLRkRjODcyVUpDVEl0?=
 =?utf-8?B?azY3bW1LdDhtNVdkeEtMUDYwZVVpZlpMd2duL3h1RU1ZZkp6QjV5eFNBZElx?=
 =?utf-8?B?STFMMWVKM3daQ3Q3bFROL0FOb0dhcHBiV3V6SWUrUVlTN044MEh5WW9tdTh2?=
 =?utf-8?B?VjJNbVZ5SXZHaU1kQlNWUEpFZHN0L1ZBckxOUGVWRXpQRmFmby9iZGJqcEpW?=
 =?utf-8?B?bENjeFpUVlBTR1JtN2pKaTJ1cXpvWEdZTElzQ1FlOEVFQVRqbXVNYTlWY0Ft?=
 =?utf-8?B?RmVrOGtZTS83dlZYUEpBaTBIZEYwQ0l6bVFoaDhSeE44b2MzUEErTVpMdmg1?=
 =?utf-8?B?WFRleXZJK1QzcXBpc3ZEdTRZK0dKTVVYZEhCc1VnWUVieHpGRGdpWjAzbGMw?=
 =?utf-8?B?aWFWYVFQOFJqWUozeXF5d25MT3VqemQvNzN2WUw5d1Y4MTVQdnBDelRTSitX?=
 =?utf-8?B?ZXRObmlrOFkwMnFzQms3WXhIdHgwRDlVaFlrQVBZZkd3U0FuTjNLTmprQVdo?=
 =?utf-8?B?V2JIekxzN2kzekFjY1plWldHZGFMeStqU0JpbGNnZWV2UzFYZkJ3RWVPenln?=
 =?utf-8?B?TERaVldOakROYUtqZm1oS3pLRjU0ZGdidHFVU0c3TnV2MjEzMmRTOStkcm9w?=
 =?utf-8?B?ZWRNeFJORGZFSXp0bklFZHM1UXo5UXBCb2pub09vc1J2dnkwMmNQRkJocm5P?=
 =?utf-8?B?VWlJRjkzd1RmRVVkdmVUVHNaSEFobURqYnYzVTFLZVp2SjFkT0tMT2xHSlZ6?=
 =?utf-8?B?RlBUa2N2M2pXTkZxMXVSUFVkTkZrVEJJVVMwOERpWnkzTlZQODZ6N0gzbWFp?=
 =?utf-8?B?emNobzdRRmxqdGhRMUZ3N0RVOHl1Q2RQMFJEN2l2NkdnVDVidDUwbVMwdUZn?=
 =?utf-8?B?MHRvZW54dzJQandmWnFBZWlsM2lESndGVWI4dS9zc0w0VXY5am9oZkhmemRP?=
 =?utf-8?B?Tnp2ZU5zamljWk44TGc1dFowbXMyQXpXd29jckN1b1IzajBHM0VUTktOU2pm?=
 =?utf-8?B?RlhlMHliU3E5ZWxzVzAwb3V1SldzNVVZOEIwZXR0MUcrRTNqTmNwRXJmZURm?=
 =?utf-8?B?OHlGSWpLVElleWZSTlBYVEVhUmN2aE1KNW9mV1hoTTZScFRuM1c3ejJsc3M4?=
 =?utf-8?B?VzJyM2FpelhUMHJPZno4MC9Vc3VPTUVYcTRNMHNFNjg4MHF4NDJCOVN5aFlr?=
 =?utf-8?B?TW0waFB1bHBONDMzV29NMjNFc25wYVNIRHgwV1RyM3JMKzBCcUhKR05QN1RR?=
 =?utf-8?B?NzN0Q1BoRCtzcmVTbDI4RWNaZGJVeER3VXFGQTd6UytkcWoyZlo1My9TWDlB?=
 =?utf-8?B?MmlJN1prQlhxMUtUZG5qMXBUbXF1SXlNV1NZQjIyR2g0ejNZRXFtVy9tejRD?=
 =?utf-8?B?RCt4NFZLb01SMm5mL3dwYUhZaDlOYWJ3U3BTZXN2YW5ES1gyMFJ2TjdjMUJV?=
 =?utf-8?B?bC9tdzFBYXBtcUJ3UVJUaHdJaTNmcHZvbTlmemZnWG50YVNPcC81bzhIbWw3?=
 =?utf-8?B?b2lvTkVyZXR5eXJPQVFvWUh1dXlYNEpuTlJYQkZvNHJYSVgvZVVISkNKa2RZ?=
 =?utf-8?B?MHdsN3JvY0F2VTdsOUtnNEc0R0cxaHRCUzdrMGQrNEJ6TmRsM2tvQnZBQk0w?=
 =?utf-8?B?a2pIcHpRcW9SeWVhOFlUVE0zRHhidG1GVU56NEh2bE5tSG1zOEVSTWlEY1di?=
 =?utf-8?Q?/++JEPprwiNMAltxx6N6pUh80?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b4b7a5f9-3656-49b0-37bf-08dbf0c99e2d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 10:54:53.6960
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hYCBsnptuYaOCXrSUXhp9l7RUlwvcgbPeXwKE3atxqw8NStoo+rkewdiBDWZgPz99OA+VOdlFxOLu0E9uta2UQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR04MB7931

On 29.11.2023 11:34, Alexander Kanavin wrote:
> On 11/29/23 08:51, Jan Beulich wrote:
> 
>> On 28.11.2023 18:47, Alexander Kanavin wrote:
>>> Such constructs are fully allowed by C99:
>>> https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Mixed-Labels-and-Declarations.html#Mixed-Labels-and-Declarations
>> There's more to this: It may also be a policy of ours (or of any sub-component)
>> to demand that declarations and statements are properly separated. This would
>> therefore need discussing first.
> 
> The error is coming from python 3.12 headers and not from anything in 
> xen tree, no? As you don't have control over those headers, I'm not sure 
> what other solution there could be.

Suppress the option just for Python's C-binding?

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 11:03:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 11:03:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643816.1004352 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8IM5-0006lh-15; Wed, 29 Nov 2023 11:03:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643816.1004352; Wed, 29 Nov 2023 11: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 1r8IM4-0006la-Um; Wed, 29 Nov 2023 11:03:44 +0000
Received: by outflank-mailman (input) for mailman id 643816;
 Wed, 29 Nov 2023 11:03: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=Cdkt=HK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8IM3-0006lR-1y
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 11:03:43 +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 f3b8ffc7-8ea6-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 12:03:40 +0100 (CET)
Received: by mail-wm1-x333.google.com with SMTP id
 5b1f17b1804b1-40b31232bf0so53076305e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 03:03:40 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 p37-20020a05600c1da500b0040b42df75fcsm1848889wms.39.2023.11.29.03.03.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 03:03:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f3b8ffc7-8ea6-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701255820; x=1701860620; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=OPGZkjpNQxFtZZ0zo1xXtAiFfuf19lHL+uQ6kvKimJ0=;
        b=ot/hZDWqMLu2CLhkX/YhIUMGvnzNJHVNBrnSco+YS36ierRHADZG848IKj9/hSHQ27
         Hjlso4YBy+a7NAVQqHBd+tKoFEDZ98PMqcmcWrwdfpkmJ6IwuD7TOpVNIqefwgrRPMvM
         YAaKEJzu/SI5ahHUYpO88R0b0r4S9Gettv7rk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701255820; x=1701860620;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=OPGZkjpNQxFtZZ0zo1xXtAiFfuf19lHL+uQ6kvKimJ0=;
        b=ZuUU20HOWpiEH6GZLJVf6qM3MMk21ESTgQgFTQ2AwOgS8CeRosOYl0w69EqAOOVpL5
         g8l7JwEQIh7QwiK9PBu3oJ6gIoKIF/Nr5VIsGBKvFZQ8C6fD4kAziW3D/Tsmqx1MvFU3
         tX5Dpjkdg0+9Xa764dIN1U3HQuw9SNU//l2a4dXxIYUWE6oFZ+nkeTdDJPTyZRd00kDt
         xWyQIYJYUV71X90jOdNjD6GWNY596GMgYxajYc7vMaICK8z9ODC/KF7CmDXIj+qJmXZG
         DB3b1yDyCjxtaZxjwSeJTzFLJRpR0FZJnv1FSzeSNWR/Z07QmeunmPA5viei9EQxdzlm
         ZCTw==
X-Gm-Message-State: AOJu0YyHZUUDrAbFPKRlEXiseiJQ3+HPJKfy/w6PmH2q2xhxPCaGQeww
	lIDUYQmpo3cnPoOToVqE0raYVg==
X-Google-Smtp-Source: AGHT+IGP5pY2TLvjHVoFWdizvmAkDuDm46TNVJj8cUDiIA6EPy9oFrwTUmwAAM9g4EgBH0uw0SlNzw==
X-Received: by 2002:a05:600c:1907:b0:40b:5075:86b0 with SMTP id j7-20020a05600c190700b0040b507586b0mr2182040wmq.33.1701255819561;
        Wed, 29 Nov 2023 03:03:39 -0800 (PST)
Date: Wed, 29 Nov 2023 12:03:38 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: xen-devel@lists.xenproject.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 v8 1/2] xen/vpci: header: status register handler
Message-ID: <ZWcaiqrg9ZMn6JFC@macbook>
References: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
 <20231128194427.2513249-2-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <20231128194427.2513249-2-stewart.hildebrand@amd.com>

On Tue, Nov 28, 2023 at 02:44:24PM -0500, Stewart Hildebrand wrote:
> Introduce a handler for the PCI status register, with ability to mask
> the capabilities bit. The status register contains RsvdZ bits,
> read-only bits, and write-1-to-clear bits. Additionally, we use RsvdP to
> mask the capabilities bit. Introduce bitmasks to handle these in vPCI.
> If a bit in the bitmask is set, then the special meaning applies:
> 
>   ro_mask: read normal, guest write ignore (preserve on write to hardware)
>   rw1c_mask: read normal, write 1 to clear
>   rsvdp_mask: read as zero, guest write ignore (preserve on write to hardware)
>   rsvdz_mask: read as zero, guest write ignore (write zero to hardware)
> 
> The RO/RW1C/RsvdP/RsvdZ naming and definitions were borrowed from the
> PCI Express Base 6.1 specification. RsvdP/RsvdZ bits help Xen enforce
> our view of the world. Xen preserves the value of read-only bits on
> write to hardware, discarding the guests write value. This is done in
> case hardware wrongly implements R/O bits as R/W.
> 
> The mask_cap_list flag will be set in a follow-on patch.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

Thanks for adding the tests, this is looking very good, just a couple
of cosmetics comments mostly, and a question whether we should refuse
masks that have bit set outside the register size instead of
attempting to adjust them.

> ---
> v7->v8:
> * move PCI_STATUS_UDF to rsvdz_mask (per PCI Express Base 6 spec)
> * add support for rsvdp bits
> * add tests for ro/rw1c/rsvdp/rsvdz bits in tools/tests/vpci/main.c
> * dropped R-b tag [1] since the patch has changed moderately since the last rev
> 
> [1] https://lists.xenproject.org/archives/html/xen-devel/2023-09/msg00909.html
> 
> v6->v7:
> * re-work args passed to vpci_add_register_mask() (called in init_bars())
> * also check for overlap of (rsvdz_mask & ro_mask) in add_register()
> * slightly adjust masking operation in vpci_write_helper()
> 
> v5->v6:
> * remove duplicate PCI_STATUS_CAP_LIST in constant definition
> * style fixup in constant definitions
> * s/res_mask/rsvdz_mask/
> * combine a new masking operation into single line
> * preserve r/o bits on write
> * get rid of status_read. Instead, use rsvdz_mask for conditionally masking
>   PCI_STATUS_CAP_LIST bit
> * add comment about PCI_STATUS_CAP_LIST and rsvdp behavior
> * add sanity checks in add_register
> * move mask_cap_list from struct vpci_header to local variable
> 
> v4->v5:
> * add support for res_mask
> * add support for ro_mask (squash ro_mask patch)
> * add constants for reserved, read-only, and rw1c masks
> 
> v3->v4:
> * move mask_cap_list setting to the capabilities patch
> * single pci_conf_read16 in status_read
> * align mask_cap_list bitfield in struct vpci_header
> * change to rw1c bit mask instead of treating whole register as rw1c
> * drop subsystem prefix on renamed add_register function
> 
> v2->v3:
> * new patch
> ---
>  tools/tests/vpci/main.c    | 98 ++++++++++++++++++++++++++++++++++++++
>  xen/drivers/vpci/header.c  | 12 +++++
>  xen/drivers/vpci/vpci.c    | 62 +++++++++++++++++++-----
>  xen/include/xen/pci_regs.h |  9 ++++
>  xen/include/xen/vpci.h     |  9 ++++
>  5 files changed, 178 insertions(+), 12 deletions(-)
> 
> diff --git a/tools/tests/vpci/main.c b/tools/tests/vpci/main.c
> index b9a0a6006bb9..b0bb993be297 100644
> --- a/tools/tests/vpci/main.c
> +++ b/tools/tests/vpci/main.c
> @@ -70,6 +70,26 @@ static void vpci_write32(const struct pci_dev *pdev, unsigned int reg,
>      *(uint32_t *)data = val;
>  }
>  
> +struct mask_data {
> +    uint32_t val;
> +    uint32_t rw1c_mask;
> +};
> +
> +static uint32_t vpci_read32_mask(const struct pci_dev *pdev, unsigned int reg,
> +                                 void *data)
> +{
> +    struct mask_data *md = data;

Newline, and possibly const for md.

> +    return md->val;
> +}
> +
> +static void vpci_write32_mask(const struct pci_dev *pdev, unsigned int reg,
> +                              uint32_t val, void *data)
> +{
> +    struct mask_data *md = data;

Newline.

> +    md->val  = val | (md->val & md->rw1c_mask);
> +    md->val &= ~(val & md->rw1c_mask);
> +}
> +
>  #define VPCI_READ(reg, size, data) ({                           \
>      data = vpci_read((pci_sbdf_t){ .sbdf = 0 }, reg, size);     \
>  })
> @@ -94,9 +114,20 @@ static void vpci_write32(const struct pci_dev *pdev, unsigned int reg,
>      assert(!vpci_add_register(test_pdev.vpci, fread, fwrite, off, size,     \
>                                &store))
>  
> +#define VPCI_ADD_REG_MASK(fread, fwrite, off, size, store,                     \
> +                          ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask)          \
> +    assert(!vpci_add_register_mask(test_pdev.vpci, fread, fwrite, off, size,   \
> +                                   &store,                                     \
> +                                   ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask))
> +
>  #define VPCI_ADD_INVALID_REG(fread, fwrite, off, size)                      \
>      assert(vpci_add_register(test_pdev.vpci, fread, fwrite, off, size, NULL))
>  
> +#define VPCI_ADD_INVALID_REG_MASK(fread, fwrite, off, size,                   \
> +                                  ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask) \
> +    assert(vpci_add_register_mask(test_pdev.vpci, fread, fwrite, off, size,   \
> +                                  NULL, ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask))
> +
>  #define VPCI_REMOVE_REG(off, size)                                          \
>      assert(!vpci_remove_register(test_pdev.vpci, off, size))
>  
> @@ -154,6 +185,7 @@ main(int argc, char **argv)
>      uint16_t r20[2] = { };
>      uint32_t r24 = 0;
>      uint8_t r28, r30;
> +    struct mask_data r32;
>      unsigned int i;
>      int rc;
>  
> @@ -213,6 +245,14 @@ main(int argc, char **argv)
>      /* Try to add a register with missing handlers. */
>      VPCI_ADD_INVALID_REG(NULL, NULL, 8, 2);
>  
> +    /* Try to add registers with the same bits set in multiple masks. */
> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 1, 1, 0, 0);
> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 1, 0, 1, 0);
> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 1, 0, 0, 1);
> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 0, 1, 1, 0);
> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 0, 1, 0, 1);
> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 0, 0, 1, 1);
> +
>      /* Read/write of unset register. */
>      VPCI_READ_CHECK(8, 4, 0xffffffff);
>      VPCI_READ_CHECK(8, 2, 0xffff);
> @@ -287,6 +327,64 @@ main(int argc, char **argv)
>      VPCI_ADD_REG(vpci_read8, vpci_write8, 30, 1, r30);
>      VPCI_WRITE_CHECK(28, 4, 0xffacffdc);
>  
> +    /*
> +     * Test ro/rw1c/rsvdp/rsvdz masks.
> +     *
> +     * 32     24     16      8      0
> +     *  +---------------------------+
> +     *  |            r32            | 32
> +     *  +---------------------------+

Might be even better to clarify which region is using each mask:

32     24     16      8      0
 +------+------+------+------+
 |rsvdz |rsvdp | rw1c |  ro  | 32
 +------+------+------+------+

> +     *
> +     */
> +    r32.rw1c_mask = 0x0000ff00U;
> +    VPCI_ADD_REG_MASK(vpci_read32_mask, vpci_write32_mask, 32, 4, r32,
> +                      0x000000ffU   /* RO    */,
> +                      r32.rw1c_mask /* RW1C  */,
> +                      0x00ff0000U   /* RsvdP */,
> +                      0xff000000U   /* RsvdZ */);
> +
> +    /* ro */
> +    r32.val = 0x0f0f0f0fU;
> +    VPCI_READ_CHECK(32, 1, 0x0f);
> +    VPCI_WRITE(32, 1, 0x5a);
> +    VPCI_READ_CHECK(32, 1, 0x0f);
> +    assert(r32.val == 0x000f0f0fU);
> +
> +    /* rw1c */
> +    r32.val = 0x0f0f0f0fU;
> +    VPCI_READ_CHECK(33, 1, 0x0f);
> +    VPCI_WRITE(33, 1, 0x5a);
> +    VPCI_READ_CHECK(33, 1, 0x05);
> +    assert(r32.val == 0x000f050fU);
> +
> +    /* rsvdp */
> +    r32.val = 0x0f0f0f0fU;
> +    VPCI_READ_CHECK(34, 1, 0);
> +    VPCI_WRITE(34, 1, 0x5a);
> +    VPCI_READ_CHECK(34, 1, 0);
> +    assert(r32.val == 0x000f0f0fU);
> +
> +    /* rsvdz */
> +    r32.val = 0x0f0f0f0fU;
> +    VPCI_READ_CHECK(35, 1, 0);
> +    VPCI_WRITE(35, 1, 0x5a);
> +    VPCI_READ_CHECK(35, 1, 0);
> +    assert(r32.val == 0x000f0f0fU);
> +
> +    /* write all 0's */
> +    r32.val = 0x0f0f0f0fU;
> +    VPCI_READ_CHECK(32, 4, 0x00000f0fU);
> +    VPCI_WRITE(32, 4, 0);
> +    VPCI_READ_CHECK(32, 4, 0x00000f0fU);
> +    assert(r32.val == 0x000f0f0fU);
> +
> +    /* write all 1's */
> +    r32.val = 0x0f0f0f0fU;
> +    VPCI_READ_CHECK(32, 4, 0x00000f0fU);
> +    VPCI_WRITE(32, 4, 0xffffffffU);
> +    VPCI_READ_CHECK(32, 4, 0x0000000fU);
> +    assert(r32.val == 0x000f000fU);
> +
>      /* Finally try to remove a couple of registers. */
>      VPCI_REMOVE_REG(28, 1);
>      VPCI_REMOVE_REG(24, 4);
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 767c1ba718d7..351318121e48 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -521,6 +521,7 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      struct vpci_header *header = &pdev->vpci->header;
>      struct vpci_bar *bars = header->bars;
>      int rc;
> +    bool mask_cap_list = false;
>  
>      switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
>      {
> @@ -544,6 +545,17 @@ static int cf_check init_bars(struct pci_dev *pdev)
>      if ( rc )
>          return rc;
>  
> +    /* Utilize rsvdp_mask to hide PCI_STATUS_CAP_LIST from the guest. */
> +    rc = vpci_add_register_mask(pdev->vpci, vpci_hw_read16, vpci_hw_write16,
> +                                PCI_STATUS, 2, NULL,
> +                                PCI_STATUS_RO_MASK &
> +                                    ~(mask_cap_list ? PCI_STATUS_CAP_LIST : 0),
> +                                PCI_STATUS_RW1C_MASK,
> +                                mask_cap_list ? PCI_STATUS_CAP_LIST : 0,
> +                                PCI_STATUS_RSVDZ_MASK);
> +    if ( rc )
> +        return rc;
> +
>      if ( pdev->ignore_bars )
>          return 0;
>  
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 3bec9a4153da..96187b70141b 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -29,6 +29,10 @@ struct vpci_register {
>      unsigned int offset;
>      void *private;
>      struct list_head node;
> +    uint32_t ro_mask;
> +    uint32_t rw1c_mask;
> +    uint32_t rsvdp_mask;
> +    uint32_t rsvdz_mask;
>  };
>  
>  #ifdef __XEN__
> @@ -145,9 +149,17 @@ uint32_t cf_check vpci_hw_read32(
>      return pci_conf_read32(pdev->sbdf, reg);
>  }
>  
> -int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
> -                      vpci_write_t *write_handler, unsigned int offset,
> -                      unsigned int size, void *data)
> +void cf_check vpci_hw_write16(
> +    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
> +{
> +    pci_conf_write16(pdev->sbdf, reg, val);
> +}
> +
> +static int add_register(struct vpci *vpci, vpci_read_t *read_handler,
> +                        vpci_write_t *write_handler, unsigned int offset,
> +                        unsigned int size, void *data, uint32_t ro_mask,
> +                        uint32_t rw1c_mask, uint32_t rsvdp_mask,
> +                        uint32_t rsvdz_mask)
>  {
>      struct list_head *prev;
>      struct vpci_register *r;
> @@ -155,7 +167,10 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>      /* Some sanity checks. */
>      if ( (size != 1 && size != 2 && size != 4) ||
>           offset >= PCI_CFG_SPACE_EXP_SIZE || (offset & (size - 1)) ||
> -         (!read_handler && !write_handler) )
> +         (!read_handler && !write_handler) || (ro_mask & rw1c_mask) ||
> +         (ro_mask & rsvdp_mask) || (ro_mask & rsvdz_mask) ||
> +         (rw1c_mask & rsvdp_mask) || (rw1c_mask & rsvdz_mask) ||
> +         (rsvdp_mask & rsvdz_mask) )

It would also be helpful to check that the masks don't have bits set
above the given register size, ie:

if ( size != 4 &&
     (ro_mask | rw1c_mask | rsvdp_mask | rsvdz_mask) >> (size * 8) )
    return -EINVAL;

>          return -EINVAL;
>  
>      r = xmalloc(struct vpci_register);
> @@ -167,6 +182,10 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>      r->size = size;
>      r->offset = offset;
>      r->private = data;
> +    r->ro_mask = ro_mask & (0xffffffffU >> (32 - 8 * size));
> +    r->rw1c_mask = rw1c_mask & (0xffffffffU >> (32 - 8 * size));
> +    r->rsvdp_mask = rsvdp_mask & (0xffffffffU >> (32 - 8 * size));
> +    r->rsvdz_mask = rsvdz_mask & (0xffffffffU >> (32 - 8 * size));

Oh, you adjust the masks to match the expected width.  I think it
might be more sensible to instead make sure the caller has provided
appropriate masks, as providing a mask that doesn't match the register
size likely points out to issues in the caller.

>  
>      spin_lock(&vpci->lock);
>  
> @@ -193,6 +212,24 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>      return 0;
>  }
>  
> +int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
> +                      vpci_write_t *write_handler, unsigned int offset,
> +                      unsigned int size, void *data)
> +{
> +    return add_register(vpci, read_handler, write_handler, offset, size, data,
> +                        0, 0, 0, 0);
> +}
> +
> +int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler,
> +                           vpci_write_t *write_handler, unsigned int offset,
> +                           unsigned int size, void *data, uint32_t ro_mask,
> +                           uint32_t rw1c_mask, uint32_t rsvdp_mask,
> +                           uint32_t rsvdz_mask)
> +{
> +    return add_register(vpci, read_handler, write_handler, offset, size, data,
> +                        ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask);
> +}
> +
>  int vpci_remove_register(struct vpci *vpci, unsigned int offset,
>                           unsigned int size)
>  {
> @@ -376,6 +413,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>          }
>  
>          val = r->read(pdev, r->offset, r->private);
> +        val &= ~(r->rsvdp_mask | r->rsvdz_mask);
>  
>          /* Check if the read is in the middle of a register. */
>          if ( r->offset < emu.offset )
> @@ -407,26 +445,26 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>  
>  /*
>   * Perform a maybe partial write to a register.
> - *
> - * Note that this will only work for simple registers, if Xen needs to
> - * trap accesses to rw1c registers (like the status PCI header register)
> - * the logic in vpci_write will have to be expanded in order to correctly
> - * deal with them.
>   */
>  static void vpci_write_helper(const struct pci_dev *pdev,
>                                const struct vpci_register *r, unsigned int size,
>                                unsigned int offset, uint32_t data)
>  {
> +    uint32_t val = 0;

Nit: might be clearer to name this 'current': it's easy to get
confused whether val or data holds the user-provided input.

> +    uint32_t preserved_mask = r->ro_mask | r->rsvdp_mask;
> +
>      ASSERT(size <= r->size);
>  
> -    if ( size != r->size )
> +    if ( (size != r->size) || preserved_mask )
>      {
> -        uint32_t val;
> -
>          val = r->read(pdev, r->offset, r->private);
> +        val &= ~r->rw1c_mask;
>          data = merge_result(val, data, size, offset);
>      }
>  
> +    data &= ~(preserved_mask | r->rsvdz_mask);
> +    data |= val & preserved_mask;
> +
>      r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
>               r->private);
>  }
> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
> index 84b18736a85d..9909b27425a5 100644
> --- a/xen/include/xen/pci_regs.h
> +++ b/xen/include/xen/pci_regs.h
> @@ -66,6 +66,15 @@
>  #define  PCI_STATUS_REC_MASTER_ABORT	0x2000 /* Set on master abort */
>  #define  PCI_STATUS_SIG_SYSTEM_ERROR	0x4000 /* Set when we drive SERR */
>  #define  PCI_STATUS_DETECTED_PARITY	0x8000 /* Set on parity error */
> +#define  PCI_STATUS_RSVDZ_MASK		0x0046 /* Includes PCI_STATUS_UDF */
> +
> +#define  PCI_STATUS_RO_MASK (PCI_STATUS_IMM_READY | PCI_STATUS_INTERRUPT | \
> +    PCI_STATUS_CAP_LIST | PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK | \
> +    PCI_STATUS_DEVSEL_MASK)
> +#define  PCI_STATUS_RW1C_MASK (PCI_STATUS_PARITY | \
> +    PCI_STATUS_SIG_TARGET_ABORT | PCI_STATUS_REC_TARGET_ABORT | \
> +    PCI_STATUS_REC_MASTER_ABORT | PCI_STATUS_SIG_SYSTEM_ERROR | \
> +    PCI_STATUS_DETECTED_PARITY)
>  
>  #define PCI_CLASS_REVISION	0x08	/* High 24 bits are class, low 8 revision */
>  #define PCI_REVISION_ID		0x08	/* Revision ID */
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index d743d96a10b8..8e8e42372ec1 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -37,6 +37,13 @@ int __must_check vpci_add_register(struct vpci *vpci,
>                                     vpci_write_t *write_handler,
>                                     unsigned int offset, unsigned int size,
>                                     void *data);
> +int __must_check vpci_add_register_mask(struct vpci *vpci,
> +                                        vpci_read_t *read_handler,
> +                                        vpci_write_t *write_handler,
> +                                        unsigned int offset, unsigned int size,
> +                                        void *data, uint32_t ro_mask,
> +                                        uint32_t rw1c_mask, uint32_t rsvdp_mask,
> +                                        uint32_t rsvdz_mask);

Instead of exporting two functions, you could export only
vpci_add_register_mask() and make vpci_add_register() a static inline
defined in the header as a wrapper around vpci_add_register_mask().

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 11:09:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 11:09:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643824.1004369 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8IRd-0008Dg-Me; Wed, 29 Nov 2023 11:09:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643824.1004369; Wed, 29 Nov 2023 11:09: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 1r8IRd-0008DZ-Jk; Wed, 29 Nov 2023 11:09:29 +0000
Received: by outflank-mailman (input) for mailman id 643824;
 Wed, 29 Nov 2023 11:09: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=ZIyB=HK=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8IRc-0008BA-AP
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 11:09:28 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::61d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c28353c2-8ea7-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 12:09:27 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PR3PR04MB7258.eurprd04.prod.outlook.com (2603:10a6:102:80::9) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Wed, 29 Nov
 2023 11:09:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7046.015; Wed, 29 Nov 2023
 11:09: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: c28353c2-8ea7-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OvOPzws7wYunGbHQBCPKXYUYuysJIZg4rQ1mFqmrJTZ2cpS5OqlNaR8Rrn4TafvXkY6yO49cWD0egOOGbx0FoccN8dDPL44fPU+mJlK1+uAP4Ijui/4QP+KXU4auwTlFBPJcQeD2GEtBjdeI++B3qmS5Os+BNJV9JezHZ/rmegGy6PA/jQIp02+Pt+V7p45ahjtOJDfEKWe+DcPgztW2AMCjLhcPvSnxdWp/1q/qoriduxL8MPvGS5UPQhfhStCU8hbOfOwW4zq/hxh4i92h4VWKThdoTyBuumGXAIJzG3NMpd39LKFCdjNSJnXhRtg1nUwyXrMciYy0GcvocnBt7Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6Th0IQ8i31FurnE2amFDWmXurFqs9R+EX8R9gdEHbNw=;
 b=ZLtRJ+FJG2LzVA/4TLXPgSqe7L5lPO7M6Z39H1RJ8C/uK0xVP7cyV+C+RL2qRsEDMAdpA/asEVEjkursx7CAHOxpmq+LM9+6BEqP0CXAsrrT+cd2NjmqnyoGJzgr49ocgVm68luFygHzA7oOMZKAJP9JhwwLv3/wzEYj4cRCG53VM4QhdrrSgNEBFY7TMoho8pJEpStO9cI2bnAeeq4UKhqcqX14u3gvyqa8+UNRfHhhJw1De6SyYBeb7qcyrycHjUhqtfLqBch5zlWv0ur/OmRggkkwb+sa3SDyiNwRrbABTGzPzbrqU4MjDhq/SQcs6/0G/a1nZ6ceIkWNK5W/Jg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6Th0IQ8i31FurnE2amFDWmXurFqs9R+EX8R9gdEHbNw=;
 b=KEtT3sioJs2aG4BfFHEvWaWTPyGeTNmmIA6VyIBj/1xmVhnstlbh1395kgA9AsevWyaVND3lQ+350Os0Xo9Jmyz0M5O/gE/5QkQ4HuyJx2++sXYxiYkl9DTx+Qgj3Y7md1mNY2FyehawWZqunO3mGUwhjQ+Ri7D5lpAjB9yk3aLo97lFmVJb33d201Snunyp8uxY7npJJ8fV8jDrgbxUcAXkOPOCHeVzX4sg0gi/bnxL7rkVksxSqH7PuJHV3iSu80YOq+7FC8ZlDMONrPcmkMMbrnXyE/Cqyac4524xbVuk1nRbMAsoeV7y0BOQUoIXx0chmf21tw86T+969hBGXA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b418a851-35ee-4df8-b4b6-a37bea415b03@suse.com>
Date: Wed, 29 Nov 2023 12:09:20 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/guest_walk: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
 <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
 <4f09cc01-3975-4c2f-960f-67f3ac1f53a4@citrix.com>
 <74748681-dca2-437a-a438-f0a6294ea8e4@suse.com>
 <a1b56fe2-b19d-4ecf-ae10-df7f3d911e47@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a1b56fe2-b19d-4ecf-ae10-df7f3d911e47@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0064.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:ce::16) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PR3PR04MB7258:EE_
X-MS-Office365-Filtering-Correlation-Id: 8c28aa31-e005-48aa-c222-08dbf0cba3c3
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	8DpHIIcqNqX2gz+iPq2HmForoKSmzPPqX2STEvmwCCZbMnMJwjJs9kPMUjrtBRkZfQV09TBgRQ41mcHuex+2ys0ysfEeqYGD23HcKc9MlkZ4mW0N3voUuhIURIYfLad4foe/gqBGpr+P7tS1aqcIdeReFEdivHoCcHpqQebi3PPFRQt4ULT334FYoMHA9lZ05gRmxqfskSzMARyh4MoL0CgREouLDM+1O67WaDeVSK04j3lck/DiXOjKdSzwl11S2vgo5DfPhniZ3iinifDk50H0mv8JR7j6gjQD9CEWh2osebZKVyveeV8a9Csu3s0EYTRc0KBVW23m7Wj07LhdF0xkApKKksuTAb1p8jwzNENkj/6EX3iRGh5uiBrTGhMwN/fPwHyU2DME1/hdj5dRZLe9xOR/23MAbRyG6eQ7M9f8N7uIoI2PJmjrgZ9Z/Qa62hVZ7pcJpM3Kak3/P/zb5Ywy4xrqA2/lvKvvzcDjpU55Juai0U2/YE5XVDX/11srrXsO0+S+JqM7nUZTES6kJa5kbfYyrzEgxr9T94EejouOCJliymE6B2F9vzhW9CmVZ3RiuspfNeDmxQ6N8GAhsr0Ze5FpFlB9hMK5c060WPGoWVLeILC44b9ebJCWA43/TQseW8kLQJK2FOx3+cziug==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(366004)(39860400002)(376002)(136003)(230922051799003)(64100799003)(1800799012)(451199024)(186009)(8936002)(31696002)(86362001)(4326008)(5660300002)(36756003)(66556008)(66476007)(6916009)(66946007)(54906003)(31686004)(4744005)(316002)(6506007)(38100700002)(478600001)(6486002)(2906002)(8676002)(53546011)(6512007)(41300700001)(2616005)(26005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?elBldy9mbllxb0lKaTZzd0JPMzRvS2RmeTVMbHg1UnpoUXg3M2pmUmRaT3g4?=
 =?utf-8?B?YkVpbnQwSTdmbjlUalRjMk5WM204blZHNW9JRjVRSlIyR2RUTmQvR2tzQW00?=
 =?utf-8?B?Z0ZXd0c1Q285YnJDcytoOXRleU5QT3krUm1BbTZmY0ZXT3pUNWJHOWFKOE44?=
 =?utf-8?B?alN5Qk5NRG42SWNJR29qcDhHTE9HNU8zRUNDcUxWZkQ0TzU2YllsMVA2Qnk2?=
 =?utf-8?B?UStGYjZHQlg1RXAyZDJTTWhGMXk4T1hOUFZsZUI4dHFOVm1yQkxjZmx6M3gy?=
 =?utf-8?B?emZIczlxMmpPMHo0cGx4RmIxcnRnTXoyY0l2V3JoQ2NLUnZMOHBzeG4vaWVx?=
 =?utf-8?B?WmtYWWNCcFMzNmQxT3F6amZ2akVIdXA0cGQ4TkQvdWlQaWIrZnFickFsckdt?=
 =?utf-8?B?WmZobkFqZitQdEI2N2daeGp6OFlScnUwdW5mM3d6QmNSOHVGR29lOURmZlN1?=
 =?utf-8?B?bmJvR2NEb1RJbGtKczZaRW5HcHFpYWN2VW1KTFcyeEYvdC9DdDZWeXFDd2ho?=
 =?utf-8?B?bFZDaFpiZWV3eDN1K3g5RzN1M2FPVG5NVHdJUEphZWVOU21QU1lZWG16bFEx?=
 =?utf-8?B?OXpxVXlwSEFFdXJzYjFFMjM0WTlVeUdDS2pQY0RzWlFqZW93d2IvVjNUeUZ5?=
 =?utf-8?B?OUdSSEMvbFYwQkg2MHkvbk9wMzRNSXZvbW1kWFpIMVllSk9hZHRtTlRVSHlK?=
 =?utf-8?B?eHY3SnNMU2FQR2Vsc3MrYjVpL3hMRGgrNURvejUvazIza3FzekVLaWdCWTVM?=
 =?utf-8?B?aFNXcjYxUFJtS1F6d2xVb1RGMjIvQlNCelhHRSt6Zm9UMVpEYzNjNjhxZzBB?=
 =?utf-8?B?QVRISlhwTHpTR2RyRU1vQnk4aVFVRURFTlFYOS9vVkQ4aG1BK2taV21wT1ZZ?=
 =?utf-8?B?Y2tsaW9nTTJMTmZJSGNvVGRrdE1MM0VVbmhDKzYwVzgzSjBHNGRXc2dyZk5u?=
 =?utf-8?B?c3AvZHZ5VnArVHJ4MVBTSXd5aU1NOFgvQkJXUkFYVEQrcHZEWTc2Q3J4N2ZK?=
 =?utf-8?B?ai9RaDh4bk90bCs0SGZzbWZTWVo3aVh0ZmtKUENFcmZUYTlLYkFINlFDMjdv?=
 =?utf-8?B?WTFCdThsSnlmSlgzRzJvdm9Pemd0dEt1a3pLU1lGZnlIOSsvMzJReTRldUdO?=
 =?utf-8?B?Z1BraHIrSW53c2dCbGdWVDJ0STdYSTlTTk9RNzRXWlg3VXliYjlMTWlGdHUx?=
 =?utf-8?B?OU9Ia0hBT0k2bXhaTndsMWFkcHgzTGpIVUNLd1pLWmZxaC82NXo3Y3NZWXJH?=
 =?utf-8?B?VTJUaFU4UXpTUGZuZUtmVTFiSVBCc3FlendaV2RYeUQ1akFMUWg4ekY2QjJt?=
 =?utf-8?B?UDBpSTJLRjlTRzVkSC9GWW5lRzl1OFJ1UmlhTTFVWW1kK0RXYkVISmp6eVk4?=
 =?utf-8?B?L0NTVXR2QlBuTGNVNXBDVEhoUlZ1Ri9PYjQzcGQrdTQyVkZic0NzRWtoUWVy?=
 =?utf-8?B?cTQ2aGV6NTFzZlpMdndrdDgvc2NwTWcyMEN6ZllkSDdWOGJ1Zm9Tclh3UXZT?=
 =?utf-8?B?QmZ3amRNUTJENGY0S2NqZmx5UlN0RmJyRmZhZGZGKyswMVptRHEvbzVJL3BE?=
 =?utf-8?B?M0c5QzdaQW00aVVqZkNaZnRrVG1ibi9wcllFZXJhV2NjQlk3am85UW5NQ2NC?=
 =?utf-8?B?c0krbUJ4Q25KRGd3bWZsYzFncVZzbmkrdVJSSTBwQ0lLZFcvUlNpYW1USG1N?=
 =?utf-8?B?YmgrSnkwekRMN1RCK1FmN2lyalllUEZBSll1blRkaGlzMW1ja0NCazdaK2VH?=
 =?utf-8?B?Y29xTFJkOHBJd3BFRWU4ZlJLc2UreCs5VWViZkJjNy9tUS9LalZlK1AwejBN?=
 =?utf-8?B?UEgybnJIUlVjS0t5djZkWXo5ajNLQ2lBUUtzOTE5YTlOS1Z3eHNVdDk1UnlR?=
 =?utf-8?B?aTRXWkdyVFVKWjdQbzl6MVNtenNWRTBHUDNOa3I2ZUF2ZHRuaml6NUxIN1VY?=
 =?utf-8?B?bXFEWTQwYVJzMm93TFE0QzFDby8wM016RVVXTUUzK05MYkVRaS81YzlaT0dQ?=
 =?utf-8?B?UERTU2pkaXVZMTQ3WmNLK0ozU3RtekJUTXBydjFWODlOdm9nbk1WdHgzR1VK?=
 =?utf-8?B?VldVRDNtalhZNkJnUFhkb2VOY1VvL1ZYRzlWWWZudHFpMWQ2TXhiaHQ0Z2l0?=
 =?utf-8?Q?/UjkIk2aaUityvNrRVnKKIW6A?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c28aa31-e005-48aa-c222-08dbf0cba3c3
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 11:09:22.0630
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: CosHQvmCPn5zw4EaFZdlcb5bQIuVzgtqLw7YVIhH+Uj6d3Q/0jyzQXfQejIfeaLYCI1ntQcga3eEF52FbQRUbA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR04MB7258

On 29.11.2023 10:35, Federico Serafini wrote:
> I take this opportunity to inform that we are really close to the end
> with Rule 8.3 for x86, this is the situation:
> - do_multicall(), Stefano sent a patch;
> - guest_walk_tables(), Andrew will take care of it;
> - xenmem_add_to_physmap_one(), this is the last one.
> 
> For the latter, I see you (x86) share the declaration with ARM,
> where "gfn" is used for the last parameter instead of "gpfn".
> Do you agree in changing the name in the definition from "gpfn"
> to "gfn"?

Yes.

> If you agree, do you have any suggestions on how to rename
> the local variable "gfn"?

Considering its exclusive use for the XENMAPSPACE_gmfn case, I'm inclined
to suggest "gmfn", despite this being a term we generally try to get rid
of. Maybe Andrew or Roger have a better suggestion.

Along with renaming "gpfn" it would be nice (for consistency) to also
rename "old_gpfn" at the same time.

Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 11:38:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 11:38:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643830.1004378 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Ity-0000UO-3u; Wed, 29 Nov 2023 11:38:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643830.1004378; Wed, 29 Nov 2023 11:38: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 1r8Ity-0000UH-0t; Wed, 29 Nov 2023 11:38:46 +0000
Received: by outflank-mailman (input) for mailman id 643830;
 Wed, 29 Nov 2023 11:38: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=s/FI=HK=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r8Itx-0000U6-8r
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 11:38:45 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id d8bd31bf-8eab-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 12:38:43 +0100 (CET)
Received: from mg.gitlab.com (12.226.74.34.bc.googleusercontent.com
 [34.74.226.12]) by
 ad0d546f5d78 with SMTP id 656722c1bc480186ac6d7dc1 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 29 Nov 2023 11:38:41 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: d8bd31bf-8eab-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1701257921; x=1701265121; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=gcxHIPDQvkD2iGkGteu9YZd9JCkHVOjaIHp/aGZqKcU=;
 b=IbNVURMQJeGs9bNfsu84zDh2yqwxoBmGRfV8TitQOYrI9ttUWK6EUFMGYq7bATp/oJUZSy4JGyjTkokzj6Yax9zUNZTBCKgJ4/fmXbWSTA2Sgft1nUwNRG4nUFAvJyW2/MdTgkcZEStfIbtOygUn7D/WMN4pAAzicbQUffNYpgA=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 29 Nov 2023 11:38:41 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <656722c129a47_2c9ad1c11665b@gitlab-sidekiq-catchall-v2-97cb656f-9bvqj.mail>
Subject: xen | Successful pipeline for staging | 7e1f5b68
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_656722c11dbc1_2c9ad1c1165b3";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1088959571
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_656722c11dbc1_2c9ad1c1165b3
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1088959571 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 7e1f5b68 ( https://gitlab.com/xen-project/xen/-/commit/7e1f5b68acc70a16f0848fb6b87a5eab9833663a )
Commit Message: xen/asm-generic: introduce generic header altp2...
Commit Author: Oleksii Kurochko ( https://gitlab.com/olkur )
Committed by: Jan Beulich ( https://gitlab.com/jbeulich )



Pipeline #1088959571 ( https://gitlab.com/xen-project/xen/-/pipelines/1088959571 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_656722c11dbc1_2c9ad1c1165b3
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 7e1f5b68</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1088959571 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/7e1f5b68acc70a16f0=
848fb6b87a5eab9833663a" style=3D"color: #3777b0; text-decoration: none;">=
7e1f5b68</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/asm-generic: introduce generic header altp2...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/69f7e740d8b757ec049731f5a96e604f?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/olkur" style=3D"color: #333=
333; text-decoration: none;">
Oleksii Kurochko
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/d85e7926e3558bc23df7a4eb6c8a7c5e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/jbeulich" style=3D"color: #=
333333; text-decoration: none;">
Jan Beulich
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108895=
9571" style=3D"color: #3777b0; text-decoration: none;">#1088959571</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_656722c11dbc1_2c9ad1c1165b3--


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 11:58:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 11:58:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643870.1004388 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8JD7-0006dQ-Mu; Wed, 29 Nov 2023 11:58:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643870.1004388; Wed, 29 Nov 2023 11: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 1r8JD7-0006dJ-KF; Wed, 29 Nov 2023 11:58:33 +0000
Received: by outflank-mailman (input) for mailman id 643870;
 Wed, 29 Nov 2023 11:58: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=q0oM=HK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r8JD6-0006dB-1Q
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 11:58:32 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9c6681d9-8eae-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 12:58:29 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id E7F5721AC1;
 Wed, 29 Nov 2023 11:58:28 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id C900B1388B;
 Wed, 29 Nov 2023 11:58:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id Bxa8L2QnZ2VaKQAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 29 Nov 2023 11:58: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: 9c6681d9-8eae-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701259108; 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:autocrypt:autocrypt;
	bh=v65posCqtlgdYTkU3VCDDqsNYDig9U6BO4O0aGcFqic=;
	b=osFyS/+ibcaNtdYdikI1+9R6OD/xTbSpijOPDwx15yfXgvTgJXzrRNl8S27o8TuUtEJFWY
	RyLQ1dJLAFiPHoKBPzJxWkuhoPwAFlr6ywH42n5YoDMEv2WYXHsyCrm+JP2c4Glvn97jWW
	EZiqh2rVYChkC8htZFJm89GYgasl5vM=
Message-ID: <de3fcfc2-b92c-469d-b7fb-7eb1e9b4a38a@suse.com>
Date: Wed, 29 Nov 2023 12:58:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: fix flexible array definitions
Content-Language: en-US
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org
References: <20230725135557.20518-1-jgross@suse.com>
 <5ba647c0-fc74-595e-5fe3-658f4662f16e@suse.com>
 <f54fcb50-15c5-aa72-60fa-6370547bb9f2@citrix.com>
 <6cd0c3e2-ecae-971a-5c86-cf408591bee9@suse.com>
 <6300d166-621e-83bf-0ac2-70ea89b75492@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <6300d166-621e-83bf-0ac2-70ea89b75492@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------WdKaSu3H5MOsdKlkDGhaVzwA"
X-Spam-Flag: NO
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spamd-Result: default: False [-6.19 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[3];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 BAYES_HAM(-3.00)[100.00%];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 MIME_BASE64_TEXT(0.10)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Score: -6.19

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------WdKaSu3H5MOsdKlkDGhaVzwA
Content-Type: multipart/mixed; boundary="------------THkV8N8d00y0NuY0touZhnfr";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>
Cc: xen-devel@lists.xenproject.org
Message-ID: <de3fcfc2-b92c-469d-b7fb-7eb1e9b4a38a@suse.com>
Subject: Re: [PATCH] xen/public: fix flexible array definitions
References: <20230725135557.20518-1-jgross@suse.com>
 <5ba647c0-fc74-595e-5fe3-658f4662f16e@suse.com>
 <f54fcb50-15c5-aa72-60fa-6370547bb9f2@citrix.com>
 <6cd0c3e2-ecae-971a-5c86-cf408591bee9@suse.com>
 <6300d166-621e-83bf-0ac2-70ea89b75492@suse.com>
In-Reply-To: <6300d166-621e-83bf-0ac2-70ea89b75492@suse.com>

--------------THkV8N8d00y0NuY0touZhnfr
Content-Type: multipart/mixed; boundary="------------0FM6i8fnoKkhlHTAKVU11dil"

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

T24gMDkuMDguMjMgMTE6NDIsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+IE9uIDI2LjA3LjIz
IDA3OjUyLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+IE9uIDI1LjA3LjIwMjMgMTg6NTksIEFu
ZHJldyBDb29wZXIgd3JvdGU6DQo+Pj4gT24gMjUvMDcvMjAyMyA1OjE2IHBtLCBKYW4gQmV1
bGljaCB3cm90ZToNCj4+Pj4gT24gMjUuMDcuMjAyMyAxNTo1NSwgSnVlcmdlbiBHcm9zcyB3
cm90ZToNCj4+Pj4+IEZsZXhpYmxlIGFycmF5cyBpbiBwdWJsaWMgaGVhZGVycyBjYW4gYmUg
cHJvYmxlbWF0aWMgd2l0aCBzb21lDQo+Pj4+PiBjb21waWxlcnMuDQo+Pj4+Pg0KPj4+Pj4g
UmVwbGFjZSB0aGVtIHdpdGggYXJyW1hFTl9GTEVYX0FSUkFZX0RJTV0gaW4gb3JkZXIgdG8g
YXZvaWQgY29tcGlsYXRpb24NCj4+Pj4+IGVycm9ycy4NCj4+Pj4+DQo+Pj4+PiBUaGlzIGlu
Y2x1ZGVzIGFycmF5cyBkZWZpbmVkIGFzICJhcnJbMV0iLCBhcyBzZWVuIHdpdGggYSByZWNl
bnQgTGludXgNCj4+Pj4+IGtlcm5lbCBbMV0uDQo+Pj4+Pg0KPj4+Pj4gWzFdOiBodHRwczov
L2J1Z3ppbGxhLmtlcm5lbC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNzY5Mw0KPj4+Pj4NCj4+
Pj4+IFNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4NCj4+
Pj4gSSB0aGluayB3ZSBuZWVkIHRvIGJlIGNhcmVmdWwgaGVyZTogV2hhdCBpZiBzb21lb25l
IHNvbWV3aGVyZSBhcHBsaWVzDQo+Pj4+IHNpemVvZigpIHRvIGFueSBvZiB0aGUgdHlwZXMg
eW91IGFsdGVyPw0KPj4+DQo+Pj4gVGhlbiB0aGUgY29kZSB3YXMgbW9zdCBsaWtlbHkgd3Jv
bmcgYWxyZWFkeS4NCj4+DQo+PiBUaGF0J3MgcG9zc2libGUgdG8ganVkZ2Ugb25seSB3aGVu
IHNlZWluZyB0aGUgY29kZSBpbiBxdWVzdGlvbi4NCj4+DQo+Pj4+IMKgIFRoZSByZXN1bHRp
bmcgdmFsdWUgd291bGQNCj4+Pj4gY2hhbmdlIHdpdGggdGhlIGNoYW5nZXMgeW91IHByb3Bv
c2UsIHdoaWNoIHdlIGNhbm5vdCBhbGxvdyB0byBoYXBwZW4NCj4+Pj4gaW4gYSBzdGFibGUg
aW50ZXJmYWNlLiBUaGVyZWZvcmUgaW1vIGl0IGNhbiBvbmx5IGJlIGFuIG9wdC1pbiBmZWF0
dXJlDQo+Pj4+IHRvIGhhdmUgdGhlc2UgYXJyYXlzIG5vIGxvbmdlciBiZSBvbmUtZWxlbWVu
dCBvbmVzLg0KPj4+DQo+Pj4gSSBkb24ndCBjb25zaWRlciB0aGlzIGFuIGlzc3VlLg0KPj4+
DQo+Pj4gSWYgcGVvcGxlIHRha2UgYW4gdXBkYXRlIHRvIHRoZSBoZWFkZXJzIGFuZCB0aGVp
ciBjb2RlIHN0b3BzIGNvbXBpbGluZywNCj4+PiB0aGVuIG9mIGNvdXJzZSB0aGV5IGZpeCB0
aGUgY29tcGlsYXRpb24gaXNzdWUuwqAgVGhhdCdzIG5vcm1hbC4NCj4+DQo+PiBUaGUgY29k
ZSBtYXkgY29udGludWUgdG8gY29tcGlsZSBmaW5lLCBhbmQgZXZlbiBhcHBlYXIgdG8gd29y
ayBpbml0aWFsbHkuDQo+Pg0KPj4+IEl0J3MgdW5yZWFzb25hYmxlIHRvIHRha2Ugb3B0LWlu
IGZlYXR1cmVzIHRvIGEgc2V0IG9mIGhlYWRlcnMgaW50ZW5kZWQNCj4+PiB0byBiZSB2ZW5k
b3JlZCBpbiB0aGUgZmlyc3QgcGxhY2UsIHRvIHdvcmsgYXJvdW5kIGEgY29ybmVyIGNhc2Ug
dGhhdCdzDQo+Pj4gbGlrZWx5IGJ1Z2d5IGFscmVhZHkuDQo+Pg0KPj4gVGhlIG9yaWdpbmFs
IGludGVudGlvbiBjbGVhcmx5IHdhcyB0byBhbGxvdyB1c2Ugb2YgdGhlc2UgaGVhZGVycyBh
cyBpcy4NCj4+IEFueXdheSwgSSd2ZSB2b2ljZWQgbXkgdmlldywgeWV0IGlmIHRoZXJlIGFy
ZSBlbm91Z2ggcGVvcGxlIGFncmVlaW5nDQo+PiB3aXRoIHlvdSwgdGhlbiBzbyBiZSBpdC4N
Cj4gDQo+IEFueSBmdXJ0aGVyIHRob3VnaHRzPw0KPiANCj4gSSBoYXZlIGNoZWNrZWQgdGhl
IGNvZGUgaW4gdGhlIExpbnV4IGtlcm5lbCBtZWFud2hpbGUuIFRoZXJlIHNob3VsZCBiZSBu
bw0KPiBmYWxsb3V0IHJlc3VsdGluZyBmcm9tIHRoaXMgY2hhbmdlLCBidXQgSSB0aGluayB0
aGVyZSBhcmUgc29tZSB1c2VyIG1vZGUNCj4gYmFja2VuZHMgb3V0c2lkZSBvZiBxZW11IHdo
aWNoIGFyZSBwcm9iYWJseSB1c2luZyBhZmZlY3RlZCBzdHJ1Y3RzLg0KDQpJJ3ZlIHJlY2Vp
dmVkIGFub3RoZXIgbWFpbCByZWdhcmRpbmcgdGhlIHJlcG9ydCBbMV0gYWJvdmUuIEkgdGhp
bmsgd2Ugc2hvdWxkDQpfcmVhbGx5XyBjb21lIHRvIGEgY29uY2x1c2lvbi4NCg0KSSdtIHN0
aWxsIGluIGZhdm9yIG9mIGFwcGx5aW5nIG15IHN1Z2dlc3RlZCBwYXRjaC4NCg0KDQpKdWVy
Z2VuDQo=
--------------0FM6i8fnoKkhlHTAKVU11dil
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------0FM6i8fnoKkhlHTAKVU11dil--

--------------THkV8N8d00y0NuY0touZhnfr--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVnJ2QFAwAAAAAACgkQsN6d1ii/Ey/i
fAf+Ik/TKKEXDgWimmLva+PWlwcSA4TBLsht36btYbSycYQIYZlP8QkAzU2WtzuN3ZAIylPPXYcY
Fu8M1gSUtLX9ttzphLPZYezAEYNTaqy6MCG1or58Rvs7A532Fi2527TCgY5VAyB/tlpmcr+CCJ/A
q4x0Nqup01Iq02brOu3yPnAj9YpCE8N2TZAWerhzpFCXVzZ1MRGi4tudveh2I2S/LIEq1q+Nrs9U
NMD53/Xa4NyPVQRGyyWWbdHCx81bK8yW3OZQ7GirE2ytAG3SWvs9AVujKSjjT8vmi+FmH4nupuKn
ueoADUAURyKYAI51X1s5ZtSueUvhMYFeXJWBk3PtHg==
=95dH
-----END PGP SIGNATURE-----

--------------WdKaSu3H5MOsdKlkDGhaVzwA--


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 12:06:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 12:06:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643883.1004402 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8JL4-0000Qh-MJ; Wed, 29 Nov 2023 12:06:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643883.1004402; Wed, 29 Nov 2023 12:06: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 1r8JL4-0000Qa-JZ; Wed, 29 Nov 2023 12:06:46 +0000
Received: by outflank-mailman (input) for mailman id 643883;
 Wed, 29 Nov 2023 12:06: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 1r8JL3-0000QO-9R; Wed, 29 Nov 2023 12:06: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 1r8JL3-0001Up-0G; Wed, 29 Nov 2023 12:06: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 1r8JL2-00059b-MB; Wed, 29 Nov 2023 12:06:44 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8JL2-0005a6-LT; Wed, 29 Nov 2023 12:06: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=GjozR3rAnp+YXYn6BmtNgr5/zsFeloeNoGOXF/oRZr8=; b=kvCKn7p2gp80a0VDS9je4vpuOT
	sYHF4q81NhvBvp+KaNdwmKLYr7fgBbwKNp+k7MCUYE7Y146l3KMsC8jiY9WZ4yk4jI03fEIcysam9
	YYCeCa4onWHR3PT7PjI36fyaXX6QGW7vrn5Y/5rzxMSnGNHyqAFX6Ku7XqE+/DfCUkOE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183917-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183917: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-armhf-armhf-libvirt: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl: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-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-libvirt: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-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=18d46e76d7c2eedd8577fae67e3f1d4db25018b0
X-Osstest-Versions-That:
    linux=df60cee26a2e3d937a319229e335cb3f9c1f16d2
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 12:06:44 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183884
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183884
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183884
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183884
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183884
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183884
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183884
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183884
 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-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          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-credit2  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                18d46e76d7c2eedd8577fae67e3f1d4db25018b0
baseline version:
 linux                df60cee26a2e3d937a319229e335cb3f9c1f16d2

Last test of basis   183884  2023-11-28 08:21:29 Z    1 days
Testing same since   183917  2023-11-28 22:12:07 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Bragatheswaran Manickavel <bragathemanick0908@gmail.com>
  David Sterba <dsterba@suse.com>
  Filipe Manana <fdmanana@suse.com>
  Jann Horn <jannh@google.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Qu Wenruo <wqu@suse.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-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-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
   df60cee26a2e..18d46e76d7c2  18d46e76d7c2eedd8577fae67e3f1d4db25018b0 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 12:32:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 12:32:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643890.1004413 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8JkE-000891-Mj; Wed, 29 Nov 2023 12:32:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643890.1004413; Wed, 29 Nov 2023 12:32: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 1r8JkE-00088u-J5; Wed, 29 Nov 2023 12:32:46 +0000
Received: by outflank-mailman (input) for mailman id 643890;
 Wed, 29 Nov 2023 12:32: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=LZl0=HK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r8JkC-00088k-WB
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 12:32:45 +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 63af2194-8eb3-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 13:32:41 +0100 (CET)
Received: by mail-lf1-x129.google.com with SMTP id
 2adb3069b0e04-50bbb79f97cso864040e87.0
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 04:32:42 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 k16-20020a05651210d000b005091492ac3fsm2156339lfg.175.2023.11.29.04.32.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 04:32:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63af2194-8eb3-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701261161; x=1701865961; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=YvnBl+R1Ju3ql1RLrxPAVAWkXan19QwniUK/LuxsjbE=;
        b=bIcWWL7lALWtqWOzl/zUN2cz4sVdd1zTqBCt61DZ7TvmvLbtw5Dp5qS68nVh2tNi0Y
         CIemsfXs83cBrHjQtvUauBe9nylV/j8Gmhc7ldCp7Pn3uulTmIOqXDPupM7R92usR2Ts
         EZnydIQhTnR4AKJBg7b7zSRnUhFTqo/oJ1xHTVU/ZFCeqTWU5VK11BaWLM8tp0cd7L4w
         TP03kmfFkqJ8HEQLZHkvQ/1YiKpfN3kZEIrdVMDQa0/UN9jAiVUwKk7eQLXnIW/4OE6a
         TcTy+uCZFUxkdIgdgssVDmxWWo5CeFUDOCV3Be2IWzX6Dg476fkL4ysnpRpSq/xuMEZG
         sWnw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701261161; x=1701865961;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=YvnBl+R1Ju3ql1RLrxPAVAWkXan19QwniUK/LuxsjbE=;
        b=JouUUQaKEeEuPz+FLgL5tv9VoWc4PYMXBIk0smTJnBzAKHu13l4E2+9o0mRUb7aCkE
         heePw7mAcO9U/GlXpWVWyiA+82BuztrZQq/EgG7JC7DxA9EO/XOa+FPq/yZQ+aPdpacm
         9IqkFH79POCpwzWEQ20KzFz07qf92I0GAAz+GYxfBTo/nSQdDEtMdh/e9OQ6ozHgMxAJ
         tZrjNjEvYVtLyOeawjzNTAWe2TIQX29gp2c2eWQbP1VkjvucV975vWrYOU42WzHU7jCn
         tHAHD36ulVsR+n+asZrTmHCptO+3WkkONTzax0GkJZfxItKPAib80JjKFjUbsFTeBoh2
         ZHNQ==
X-Gm-Message-State: AOJu0YzegaQ3/nzVDOtrDQHHfpgUsvbS9x3z/xH45juVb6k0lobygIZN
	25XlFoGEothFsxwCe7HV4lc=
X-Google-Smtp-Source: AGHT+IEUkvY9ziKeRRK5GKubUhrlyA2x6ATxHbZUd9EcKh533s06TCGNBkHe1XziGPsG8AI8CIrr0g==
X-Received: by 2002:a05:6512:110f:b0:50b:b6d9:50d9 with SMTP id l15-20020a056512110f00b0050bb6d950d9mr2162136lfg.26.1701261161220;
        Wed, 29 Nov 2023 04:32:41 -0800 (PST)
Message-ID: <794fb8f49155751ea01ee2aad7a4ffbdf6f033c1.camel@gmail.com>
Subject: Re: [PATCH v4 00/14] Introduce generic headers
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.com>, Volodymyr Babchuk
 <Volodymyr_Babchuk@epam.com>, Andrew Cooper <andrew.cooper3@citrix.com>, 
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>, Shawn
 Anastasio <sanastasio@raptorengineering.com>, Roger Pau
 =?ISO-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>, Tamas K Lengyel
 <tamas@tklengyel.com>, Alexandru Isaila <aisaila@bitdefender.com>, Petre
 Pircalabu <ppircalabu@bitdefender.com>,  xen-devel@lists.xenproject.org
Date: Wed, 29 Nov 2023 14:32:39 +0200
In-Reply-To: <307eb136-8edb-4c8e-8256-eabdfcdb9260@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <307eb136-8edb-4c8e-8256-eabdfcdb9260@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Wed, 2023-11-29 at 10:25 +0100, Jan Beulich wrote:
> On 27.11.2023 15:13, Oleksii Kurochko wrote:
> > Oleksii Kurochko (14):
> > =C2=A0 xen/asm-generic: introduce stub header paging.h
> > =C2=A0 xen/asm-generic: introduce generic device.h
> > =C2=A0 xen/asm-generic: introduce generic hypercall.h
> > =C2=A0 xen/asm-generic: introduce generic header iocap.h
> > =C2=A0 xen/asm-generic: introduce stub header <asm/random.h>
> > =C2=A0 xen/asm-generic: introduce generic header percpu.h
> > =C2=A0 xen/asm-generic: introduce generalized hardirq.h
> > =C2=A0 xen/asm-generic: introduce generic div64.h header
> > =C2=A0 xen/asm-generic: introduce generic header altp2m.h
> > =C2=A0 xen/asm-generic: introduce stub header monitor.h
> > =C2=A0 xen/asm-generic: introduce stub header numa.h
> > =C2=A0 xen/asm-generic: introduce stub header softirq.h
> > =C2=A0 xen: ifdef inclusion of <asm/grant_table.h> in
> > <xen/grant_table.h>
> > =C2=A0 xen/asm-generic: ifdef inclusion of <asm/mem_access.h>
>=20
> I've applied what I think was suitably ack-ed, re-basing over patches
> which
> need further work. For the rest I'd like to ask that you do the
> necessary
> re-basing, perhaps moving in particular the device.h change later in
> the
> series (so that "easier" changes can go in without further tweaking).
Thanks a lot. I'll take into account your advice.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 12:40:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 12:40:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643894.1004422 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Jr9-0001qC-CQ; Wed, 29 Nov 2023 12:39:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643894.1004422; Wed, 29 Nov 2023 12:39: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 1r8Jr9-0001py-9g; Wed, 29 Nov 2023 12:39:55 +0000
Received: by outflank-mailman (input) for mailman id 643894;
 Wed, 29 Nov 2023 12:39: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=LZl0=HK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r8Jr7-0001pd-Il
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 12:39:53 +0000
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com
 [2a00:1450:4864:20::236])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 63b2ebab-8eb4-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 13:39:51 +0100 (CET)
Received: by mail-lj1-x236.google.com with SMTP id
 38308e7fff4ca-2c9c30c7eafso3142321fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 04:39:51 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 p7-20020ac24ec7000000b0050bbc5efe03sm481726lfr.235.2023.11.29.04.39.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 04:39:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 63b2ebab-8eb4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701261591; x=1701866391; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=HJU9eB60rDmTTW4wIL0PGpbJ70bNu1jy9UKSmV/FZ8Y=;
        b=RZA6MN1Px54paNmcQllRDYLmob1/aYa+CW10fkiw6FXap3at3uSYfUbke5WuFkyYv/
         UaZQPRt3upCstEP/9VUwx+zDB5wDoY56sXerqWkGLkjK6b2VovsFPAqZrXmZdVVIGqPt
         XJd5jbxLEkP3th2F3lvoDf/cWTSI4q0SU3mDAgJGzhGPOCkMlqChZLxUY1rNioVrEf2I
         t58SsgCuHpOHSrU4Okt0xO3hQHdB33GwPkonw/ziWz8vaTleZ5Qjci5lxB5SL2Gb7CvF
         VzCYi+MrOI/UOKfkYRu7SVoedRUeWgPP6vZyStDcIvkY3h32hnCknNLlI0ahWHdvZHrt
         YOJw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701261591; x=1701866391;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=HJU9eB60rDmTTW4wIL0PGpbJ70bNu1jy9UKSmV/FZ8Y=;
        b=a296yPtgD+kJy5jM2oCF78511wHGcysPqiS4zqHQHcd6r5W3Q5p8Pqsww96+/wXNk/
         X/uNJlVvUbRSi5Cvr0jZh/qFNQc41VT12HBZ/J5B5g5wrExP0f5xJtn72qzDWIuyfXQv
         Q1vJu6nvJWE2CptwzZ/3tzUDhfvt2Wy9v2L7s3+qFQkbnIHmll63d0hYSnwfzjzUtLo2
         HpPJohL/87xLRgs+/AabPjj2UI4zVGTGugjUBwkcwL5ghGa/WCW+LPQmirx+g9LxMmk5
         EErYRlLkh5Ij357iXlMK5wlNMrIngsvKcbsWNsWJeR22LEYJtOWZWq3G9r/Q4dPVDKXY
         bFXg==
X-Gm-Message-State: AOJu0YwxclbV0TqBns5oVStkTpQw2M9RKCAjijtUqytBXaYZmJeH/DrM
	B7YP51iAEE/rIbZ7gXaa0PI=
X-Google-Smtp-Source: AGHT+IE5BnlR/eYfJHdY/jTHiRNeCc3+zN1s6/amUDUhSgzUgNPzwOQHR714huyJFyHEM/Nl1VBrIg==
X-Received: by 2002:a19:7b02:0:b0:509:1067:c20d with SMTP id w2-20020a197b02000000b005091067c20dmr9991115lfc.39.1701261590491;
        Wed, 29 Nov 2023 04:39:50 -0800 (PST)
Message-ID: <c1501f5f5e1047b06be1e41461b222711a4b4882.camel@gmail.com>
Subject: Re: [PATCH v4 10/14] xen/asm-generic: introduce stub header
 monitor.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Shawn Anastasio <sanastasio@raptorengineering.com>, 
	xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas@tklengyel.com>, Alexandru Isaila
 <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>,
 Jan Beulich <jbeulich@suse.com>
Date: Wed, 29 Nov 2023 14:39:49 +0200
In-Reply-To: <22ffed63-8f05-477f-b37c-c660410c2ce6@raptorengineering.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <83e16ccc588d35042b804e0d56ebdb5fe710695b.1701093907.git.oleksii.kurochko@gmail.com>
	 <22ffed63-8f05-477f-b37c-c660410c2ce6@raptorengineering.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

Hi Shawn,

On Tue, 2023-11-28 at 16:21 -0600, Shawn Anastasio wrote:
> Hi Oleksii,
>=20
> On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> > The header is shared between several archs so it is
> > moved to asm-generic.
> >=20
> > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
> > Acked-by: Jan Beulich <jbeulich@suse.com>.
> > ---
> > Changes in V4:
> > =C2=A0- Removed the double blank line.
> > =C2=A0- Added Acked-by: Jan Beulich <jbeulich@suse.com>.
> > =C2=A0- Update the commit message
> > ---
> > Changes in V3:
> > =C2=A0- Use forward-declaration of struct domain instead of " #include
> > <xen/sched.h> ".
> > =C2=A0- Add ' include <xen/errno.h> '
> > =C2=A0- Drop PPC's monitor.h.
> > ---
> > Changes in V2:
> > 	- remove inclusion of "+#include <public/domctl.h>"
> > 	- add "struct xen_domctl_monitor_op;"
> > 	- remove one of SPDX tags.
> > ---
> > =C2=A0xen/arch/ppc/include/asm/Makefile=C2=A0 |=C2=A0 1 +
> > =C2=A0xen/arch/ppc/include/asm/monitor.h | 43 ---------------------
> > =C2=A0xen/include/asm-generic/monitor.h=C2=A0 | 62
> > ++++++++++++++++++++++++++++++
> > =C2=A03 files changed, 63 insertions(+), 43 deletions(-)
> > =C2=A0delete mode 100644 xen/arch/ppc/include/asm/monitor.h
> > =C2=A0create mode 100644 xen/include/asm-generic/monitor.h
> >=20
> > diff --git a/xen/arch/ppc/include/asm/Makefile
> > b/xen/arch/ppc/include/asm/Makefile
> > index 319e90955b..bcddcc181a 100644
> > --- a/xen/arch/ppc/include/asm/Makefile
> > +++ b/xen/arch/ppc/include/asm/Makefile
> > @@ -5,6 +5,7 @@ generic-y +=3D div64.h
> > =C2=A0generic-y +=3D hardirq.h
> > =C2=A0generic-y +=3D hypercall.h
> > =C2=A0generic-y +=3D iocap.h
> > +generic-y +=3D monitor.h
> > =C2=A0generic-y +=3D paging.h
> > =C2=A0generic-y +=3D percpu.h
> > =C2=A0generic-y +=3D random.h
> > diff --git a/xen/arch/ppc/include/asm/monitor.h
> > b/xen/arch/ppc/include/asm/monitor.h
> > deleted file mode 100644
> > index e5b0282bf1..0000000000
> > --- a/xen/arch/ppc/include/asm/monitor.h
> > +++ /dev/null
> > @@ -1,43 +0,0 @@
> > -/* SPDX-License-Identifier: GPL-2.0-only */
> > -/* Derived from xen/arch/arm/include/asm/monitor.h */
> > -#ifndef __ASM_PPC_MONITOR_H__
> > -#define __ASM_PPC_MONITOR_H__
> > -
> > -#include <public/domctl.h>
> > -#include <xen/errno.h>
> > -
> > -static inline
> > -void arch_monitor_allow_userspace(struct domain *d, bool
> > allow_userspace)
> > -{
> > -}
> > -
> > -static inline
> > -int arch_monitor_domctl_op(struct domain *d, struct
> > xen_domctl_monitor_op *mop)
> > -{
> > -=C2=A0=C2=A0=C2=A0 /* No arch-specific monitor ops on PPC. */
> > -=C2=A0=C2=A0=C2=A0 return -EOPNOTSUPP;
> > -}
> > -
> > -int arch_monitor_domctl_event(struct 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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct xen_domctl_monitor_op *mop);
> > -
> > -static inline
> > -int arch_monitor_init_domain(struct domain *d)
> > -{
> > -=C2=A0=C2=A0=C2=A0 /* No arch-specific domain initialization on PPC. *=
/
> > -=C2=A0=C2=A0=C2=A0 return 0;
> > -}
> > -
> > -static inline
> > -void arch_monitor_cleanup_domain(struct domain *d)
> > -{
> > -=C2=A0=C2=A0=C2=A0 /* No arch-specific domain cleanup on PPC. */
> > -}
> > -
> > -static inline uint32_t arch_monitor_get_capabilities(struct domain
> > *d)
> > -{
> > -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
>=20
> I'm not sure how I feel about this assertion being dropped in the
> generic header. In general my philosophy when creating these stub
> headers was to insert as many of these assertions as possible so we
> don't end up in a scenario where during early bringup I miss a
> function
> that was originally stubbed but ought to be implemented eventually.
>=20
> Looking at ARM's monitor.h too, it seems that this function is the
> only
> one that differs from the generic/stub version. I'm wondering if it
> would make sense to leave this function out of the generic header, to
> be
> defined by the arch similar to what you've done with some other
> functions in this series. That would also allow ARM to be brought in
> to
> using the generic variant.
Thanks for the comment.

For RISC-V, I did in the same way ( about BUG() and unimplemented for
time being functions ).

I agree that such implementation isn't correct for generic header. I
think the best one solution will be to include <asm-generic/monitor.h>
in <asm/monitor.h> whwere only this function will be implemented (
because implementation of other functions are the same for Arm, PPC and
RISC-V ).

>=20
> > -=C2=A0=C2=A0=C2=A0 return 0;
> > -}
> > -
> > -#endif /* __ASM_PPC_MONITOR_H__ */
> > diff --git a/xen/include/asm-generic/monitor.h b/xen/include/asm-
> > generic/monitor.h
> > new file mode 100644
> > index 0000000000..6be8614431
> > --- /dev/null
> > +++ b/xen/include/asm-generic/monitor.h
> > @@ -0,0 +1,62 @@
> > +/* SPDX-License-Identifier: GPL-2.0 */
> > +/*
> > + * include/asm-GENERIC/monitor.h
> > + *
> > + * Arch-specific monitor_op domctl handler.
> > + *
> > + * Copyright (c) 2015 Tamas K Lengyel (tamas@tklengyel.com)
> > + * Copyright (c) 2016, Bitdefender S.R.L.
> > + *
> > + */
> > +
> > +#ifndef __ASM_GENERIC_MONITOR_H__
> > +#define __ASM_GENERIC_MONITOR_H__
> > +
> > +#include <xen/errno.h>
> > +
> > +struct domain;
> > +struct xen_domctl_monitor_op;
> > +
> > +static inline
> > +void arch_monitor_allow_userspace(struct domain *d, bool
> > allow_userspace)
> > +{
> > +}
> > +
> > +static inline
> > +int arch_monitor_domctl_op(struct domain *d, struct
> > xen_domctl_monitor_op *mop)
> > +{
> > +=C2=A0=C2=A0=C2=A0 /* No arch-specific monitor ops on GENERIC. */
> > +=C2=A0=C2=A0=C2=A0 return -EOPNOTSUPP;
> > +}
> > +
> > +int arch_monitor_domctl_event(struct 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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct xen_domctl_monitor_op *mop);
> > +
> > +static inline
> > +int arch_monitor_init_domain(struct domain *d)
> > +{
> > +=C2=A0=C2=A0=C2=A0 /* No arch-specific domain initialization on GENERI=
C. */
> > +=C2=A0=C2=A0=C2=A0 return 0;
> > +}
> > +
> > +static inline
> > +void arch_monitor_cleanup_domain(struct domain *d)
> > +{
> > +=C2=A0=C2=A0=C2=A0 /* No arch-specific domain cleanup on GENERIC. */
> > +}
> > +
> > +static inline uint32_t arch_monitor_get_capabilities(struct domain
> > *d)
> > +{
>=20
> See previous comment.
>=20
> > +=C2=A0=C2=A0=C2=A0 return 0;
> > +}
> > +
> > +#endif /* __ASM_GENERIC_MONITOR_H__ */
> > +
> > +/*
> > + * Local variables:
> > + * mode: C
> > + * c-file-style: BSD
> > + * c-basic-offset: 4
> > + * indent-tabs-mode: nil
> > + * End:
> > + */

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 12:41:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 12:41:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643897.1004433 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Jsv-0003KM-Tv; Wed, 29 Nov 2023 12:41:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643897.1004433; Wed, 29 Nov 2023 12:41: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 1r8Jsv-0003KF-QC; Wed, 29 Nov 2023 12:41:45 +0000
Received: by outflank-mailman (input) for mailman id 643897;
 Wed, 29 Nov 2023 12:41: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=LZl0=HK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r8Jsv-0003K9-0U
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 12:41:45 +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 a6416fad-8eb4-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 13:41:43 +0100 (CET)
Received: by mail-lf1-x135.google.com with SMTP id
 2adb3069b0e04-50bc743c7f7so501027e87.3
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 04:41:43 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 b22-20020a056512071600b0050bc059f535sm388425lfs.112.2023.11.29.04.41.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 04:41:42 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6416fad-8eb4-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701261702; x=1701866502; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=SfgfV21wd0b8TXs2r60JlUvLeEStshnt1PcnHlBjQFE=;
        b=lWGl+27HekZHiw4pT6ZtxzRrVCnyDeUXwx1NIN7OR8oNCIhYuo6NUS0mdmPkRI079M
         DwxPRVPv5tkyPG+9ygc/FPKjZH/aY7TwXfDtCz7D4/6Q+jqC9Rk6TuIF3BYLKBl7qx+5
         no37d0QVkP+RGKs05S27ASgDEKNbZilkPZiy3FO4S3hV0MqDVdFklPPnZ0LvuBLeFp2Y
         o6QR8+w/AYh+L6oEK5HhfTFS/oPJljHxaD9H5HWk+w3+k22Dwg0t/yVuh9EYuNaVnMcZ
         9/hSOGMgypyEoqN6ffqG5QOKO0qOJWHlR6PEFqKr2I6N8Ivn/65KjfFRh5PfAlEJ9dMr
         1e6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701261702; x=1701866502;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=SfgfV21wd0b8TXs2r60JlUvLeEStshnt1PcnHlBjQFE=;
        b=tWx9Mv1K8jtkP5pD3poc68j7UyFsXpc6fBFDr+NZ08KaiUVb3HvjS2dOa7RsxBackR
         gcx8+bm3zr9GcYJsNAHR5Ci0EVglP6RJ57cQVxswaQJpqc2aQyrdw2t6mq1BI6olRffU
         8nCwG8Qm0Skc0o6o9s2YywOl6C6fEfvGoH5Mjh0MEduxsZIZI54YYCnPQVYXOOaZYLOE
         kZ4eombH9z9T5zPxKpX20/5paG8y1CGT2n05ynBOT6XZSU1zoibCieioh7/v+yYlzjTe
         wS72SYTmAZBvpswP7BFM7OPL9zKFPWFAlhzk0K/y+BG29b7zBg1Ti/THeALCyH9JuztS
         3/ww==
X-Gm-Message-State: AOJu0Yw2rtYHwHqZQFdtzPJHJNw03unsVwMYOkzvybI/3rC4W35EmVZP
	frCCPqDcZxLUx2nPbOBxsTWWsfAjUQbcRg==
X-Google-Smtp-Source: AGHT+IESUeQqpq9dZsnSYNiCFnH20ABnq6/OqkN4IAJN4Lz4fLMlDQUebRpj2iip9Rxt7hf0FqP7Og==
X-Received: by 2002:a05:6512:465:b0:507:9fa0:e244 with SMTP id x5-20020a056512046500b005079fa0e244mr11259999lfd.65.1701261702263;
        Wed, 29 Nov 2023 04:41:42 -0800 (PST)
Message-ID: <95765836bfbb596851bbef7819d2abba834ce94f.camel@gmail.com>
Subject: Re: [PATCH v4 10/14] xen/asm-generic: introduce stub header
 monitor.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Jan Beulich <jbeulich@suse.com>, Shawn Anastasio
	 <sanastasio@raptorengineering.com>
Cc: Tamas K Lengyel <tamas@tklengyel.com>, Alexandru Isaila
	 <aisaila@bitdefender.com>, Petre Pircalabu <ppircalabu@bitdefender.com>, 
	xen-devel@lists.xenproject.org
Date: Wed, 29 Nov 2023 14:41:41 +0200
In-Reply-To: <8350624b-a889-4258-b0e7-0d3ad021b3cd@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <83e16ccc588d35042b804e0d56ebdb5fe710695b.1701093907.git.oleksii.kurochko@gmail.com>
	 <22ffed63-8f05-477f-b37c-c660410c2ce6@raptorengineering.com>
	 <77169e15-f1ce-485c-a7be-45901708056d@suse.com>
	 <8350624b-a889-4258-b0e7-0d3ad021b3cd@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Wed, 2023-11-29 at 09:21 +0100, Jan Beulich wrote:
> On 29.11.2023 09:19, Jan Beulich wrote:
> > On 28.11.2023 23:21, Shawn Anastasio wrote:
> > > On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> > > > --- a/xen/arch/ppc/include/asm/monitor.h
> > > > +++ /dev/null
> > > > @@ -1,43 +0,0 @@
> > > > -/* SPDX-License-Identifier: GPL-2.0-only */
> > > > -/* Derived from xen/arch/arm/include/asm/monitor.h */
> > > > -#ifndef __ASM_PPC_MONITOR_H__
> > > > -#define __ASM_PPC_MONITOR_H__
> > > > -
> > > > -#include <public/domctl.h>
> > > > -#include <xen/errno.h>
> > > > -
> > > > -static inline
> > > > -void arch_monitor_allow_userspace(struct domain *d, bool
> > > > allow_userspace)
> > > > -{
> > > > -}
> > > > -
> > > > -static inline
> > > > -int arch_monitor_domctl_op(struct domain *d, struct
> > > > xen_domctl_monitor_op *mop)
> > > > -{
> > > > -=C2=A0=C2=A0=C2=A0 /* No arch-specific monitor ops on PPC. */
> > > > -=C2=A0=C2=A0=C2=A0 return -EOPNOTSUPP;
> > > > -}
> > > > -
> > > > -int arch_monitor_domctl_event(struct 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=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 struct xen_domctl_monitor_op
> > > > *mop);
> > > > -
> > > > -static inline
> > > > -int arch_monitor_init_domain(struct domain *d)
> > > > -{
> > > > -=C2=A0=C2=A0=C2=A0 /* No arch-specific domain initialization on PP=
C. */
> > > > -=C2=A0=C2=A0=C2=A0 return 0;
> > > > -}
> > > > -
> > > > -static inline
> > > > -void arch_monitor_cleanup_domain(struct domain *d)
> > > > -{
> > > > -=C2=A0=C2=A0=C2=A0 /* No arch-specific domain cleanup on PPC. */
> > > > -}
> > > > -
> > > > -static inline uint32_t arch_monitor_get_capabilities(struct
> > > > domain *d)
> > > > -{
> > > > -=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> > >=20
> > > I'm not sure how I feel about this assertion being dropped in the
> > > generic header. In general my philosophy when creating these stub
> > > headers was to insert as many of these assertions as possible so
> > > we
> > > don't end up in a scenario where during early bringup I miss a
> > > function
> > > that was originally stubbed but ought to be implemented
> > > eventually.
> > >=20
> > > Looking at ARM's monitor.h too, it seems that this function is
> > > the only
> > > one that differs from the generic/stub version. I'm wondering if
> > > it
> > > would make sense to leave this function out of the generic
> > > header, to be
> > > defined by the arch similar to what you've done with some other
> > > functions in this series. That would also allow ARM to be brought
> > > in to
> > > using the generic variant.
> >=20
> > Yet then where would that function live, if not in
> > arch/*/include/asm/monitor.h?
>=20
> Hmm, maybe implicitly you're proposing that
> arch/*/include/asm/monitor.h
> include include/asm-generic/monitor.h in such a case, and define this
> one
> function on top?
I think it can be a solution. The same I suggest in my direct reply to
Shawn message ( I didn't see your answer ).

If everyone is OK with such solution, I can apply it for the next
version of patch series.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 12:50:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 12:50:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643901.1004442 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8K0t-0005ZQ-LU; Wed, 29 Nov 2023 12:49:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643901.1004442; Wed, 29 Nov 2023 12:49: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 1r8K0t-0005ZJ-Is; Wed, 29 Nov 2023 12:49:59 +0000
Received: by outflank-mailman (input) for mailman id 643901;
 Wed, 29 Nov 2023 12:49: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=LZl0=HK=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r8K0s-0005ZB-1E
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 12:49:58 +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 cc112fe1-8eb5-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 13:49:56 +0100 (CET)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2c9b77be7ceso21295661fa.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 04:49:55 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 s1-20020a2e2c01000000b002c88c5edc74sm1994923ljs.71.2023.11.29.04.49.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 04:49:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cc112fe1-8eb5-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701262195; x=1701866995; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=1pTltL5XAo6S7Xo033wZb8MgpESrg+A6FCGNL/dtwPw=;
        b=R2zPKasjRz3V8L4DGfSwbdWZXsU11l7FVPfSqzqKMjWWDRLebrbdU+/fcc9iqXo+v2
         GiTsdIK3k5S4zqqDey0MMIQZchI+Th/7FWMP+RJQec+WZ9eEEnLbMBhiLamA+dQ9Cbfu
         BRHpyNW8/aU08s9wjXTvDCjQ9A5TGcMCvZAdIBFWEJ77U0AtcmEMVwRpePUmWQ3zqAuL
         Q7DfvPJQ8Q4SEnLmOtjfZHWlsIDbQP0ccMqUMBMtI7e7qkvn2L9lnSFrFsQMxtyMZUMi
         98l/bMmpKwDlrLpUq0yYzxT8A5v6wDYYhhLiMxvBmJ7Vw2XdClbOZPSf/KgLw1DrTGkL
         e1ew==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701262195; x=1701866995;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=1pTltL5XAo6S7Xo033wZb8MgpESrg+A6FCGNL/dtwPw=;
        b=QSnkNs3XMiWShKF+qhuUMLbfLcw+raccQ/VX1xVlZPHODSB68mvsqR88j2sf9/0aPX
         8xfj3RzPeGShOPZEt2HKMjRi8wmefK1i7gSsLmI1VdWgT9MFCt+6rDB1yNLO+O8PpLQW
         HEvfJbpJnSmHqJih+LY4sTFb9XoIS4nMwKIcd8jOyLehz3Ywlt3gohXNFwfJRsVmi5r/
         yxc5kb8n4FL5mu42OeuGn44dIHbfYvbIetvrgARk1a5aJ1kMTCopOKi2nId8KFHmDQZD
         vOlqAfxZLmy0MZ1zRKMqYht20LK+61f9dN5lmFxEVDt1SBqFiWC8OkG656ptpONzBh84
         Tadw==
X-Gm-Message-State: AOJu0YySLZV1AjFi5L2p4Kqtro7QeVjpHg3wfIL4V6Mz7rRT5bGaoOjE
	9tHGC/tRsClTO0W/J32EVQo=
X-Google-Smtp-Source: AGHT+IEw7PaEmJZ7K12I6qFNrBQFW9h0bJF/hsAVvmVYjUC5mnqQOPa89sp4hk70859GTD7ubgarpg==
X-Received: by 2002:a2e:9646:0:b0:2c9:ba46:f107 with SMTP id z6-20020a2e9646000000b002c9ba46f107mr2338758ljh.19.1701262195010;
        Wed, 29 Nov 2023 04:49:55 -0800 (PST)
Message-ID: <e29665f849d23a768262c6d1a7436916a7ec887c.camel@gmail.com>
Subject: Re: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Shawn Anastasio <sanastasio@raptorengineering.com>, 
	xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.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>
Date: Wed, 29 Nov 2023 14:49:53 +0200
In-Reply-To: <98023f51-5953-4384-918d-ae726d74ef7c@raptorengineering.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
	 <98023f51-5953-4384-918d-ae726d74ef7c@raptorengineering.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Tue, 2023-11-28 at 15:28 -0600, Shawn Anastasio wrote:
> Hi Oleksii,
>=20
> On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> > diff --git a/xen/arch/ppc/include/asm/Makefile
> > b/xen/arch/ppc/include/asm/Makefile
> > index ece7fa66dd..df4c1ebb08 100644
> > --- a/xen/arch/ppc/include/asm/Makefile
> > +++ b/xen/arch/ppc/include/asm/Makefile
> > @@ -1,3 +1,4 @@
> > =C2=A0# SPDX-License-Identifier: GPL-2.0-only
> > +generic-y +=3D device.h
> > =C2=A0generic-y +=3D paging.h
> > =C2=A0generic-y +=3D vm_event.h
> > diff --git a/xen/arch/ppc/include/asm/device.h
> > b/xen/arch/ppc/include/asm/device.h
> > deleted file mode 100644
> > index 8253e61d51..0000000000
> > --- a/xen/arch/ppc/include/asm/device.h
> > +++ /dev/null
> > @@ -1,53 +0,0 @@
> > -/* SPDX-License-Identifier: GPL-2.0-only */
> > -#ifndef __ASM_PPC_DEVICE_H__
> > -#define __ASM_PPC_DEVICE_H__
> > -
> > -enum device_type
> > -{
> > -=C2=A0=C2=A0=C2=A0 DEV_DT,
> > -=C2=A0=C2=A0=C2=A0 DEV_PCI,
> > -};
> > -
> > -struct device {
> > -=C2=A0=C2=A0=C2=A0 enum device_type type;
> > -#ifdef CONFIG_HAS_DEVICE_TREE
> > -=C2=A0=C2=A0=C2=A0 struct dt_device_node *of_node; /* Used by drivers =
imported
> > from Linux */
> > -#endif
> > -};
> > -
> > -enum device_class
> > -{
> > -=C2=A0=C2=A0=C2=A0 DEVICE_SERIAL,
> > -=C2=A0=C2=A0=C2=A0 DEVICE_IOMMU,
> > -=C2=A0=C2=A0=C2=A0 DEVICE_PCI_HOSTBRIDGE,
> > -=C2=A0=C2=A0=C2=A0 /* Use for error */
> > -=C2=A0=C2=A0=C2=A0 DEVICE_UNKNOWN,
> > -};
> > -
> > -struct device_desc {
> > -=C2=A0=C2=A0=C2=A0 /* Device name */
> > -=C2=A0=C2=A0=C2=A0 const char *name;
> > -=C2=A0=C2=A0=C2=A0 /* Device class */
> > -=C2=A0=C2=A0=C2=A0 enum device_class class;
> > -=C2=A0=C2=A0=C2=A0 /* List of devices supported by this driver */
> > -=C2=A0=C2=A0=C2=A0 const struct dt_device_match *dt_match;
> > -=C2=A0=C2=A0=C2=A0 /*
> > -=C2=A0=C2=A0=C2=A0=C2=A0 * Device initialization.
> > -=C2=A0=C2=A0=C2=A0=C2=A0 *
> > -=C2=A0=C2=A0=C2=A0=C2=A0 * -EAGAIN is used to indicate that device pro=
bing is
> > deferred.
> > -=C2=A0=C2=A0=C2=A0=C2=A0 */
> > -=C2=A0=C2=A0=C2=A0 int (*init)(struct dt_device_node *dev, const void =
*data);
> > -};
> > -
> > -typedef struct device device_t;
> > -
> > -#define DT_DEVICE_START(name_, namestr_,
> > class_)=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 \
> > -static const struct device_desc __dev_desc_##name_
> > __used=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 \
> > -__section(".dev.info") =3D
> > {=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=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 .name =3D
> > namestr_,=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=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 .class =3D
> > class_,=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=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 \
> > -
> > -#define
> > DT_DEVICE_END=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=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 \
> > -};
> > -
> > -#endif /* __ASM_PPC_DEVICE_H__ */
> > diff --git a/xen/arch/ppc/include/asm/irq.h
> > b/xen/arch/ppc/include/asm/irq.h
> > index 5c37d0cf25..49193fddff 100644
> > --- a/xen/arch/ppc/include/asm/irq.h
> > +++ b/xen/arch/ppc/include/asm/irq.h
> > @@ -3,7 +3,9 @@
> > =C2=A0#define __ASM_PPC_IRQ_H__
> > =C2=A0
> > =C2=A0#include <xen/lib.h>
> > +#ifdef CONFIG_HAS_DEVICE_TREE
>=20
> I realize that you were likely following PPC's device.h which also
> checks CONFIG_HAS_DEVICE_TREE, but I'm not sure that it makes sense
> to
> check this conditional in PPC code at all -- we will always have
> HAS_DEVICE_TREE (selected by PPC) and I can't imagine a scenario
> where
> this will ever not be the case.
What about case if ACPI is used? Does ACPI is supported by PPC?

But if you are sure that CONFIG_HAS_DEVICE_TREE will be always selected
then I am OK to remove this change.

>=20
> Unless Jan (or someone else) disagrees, I'd rather this conditional
> be
> dropped inside of PPC code.
I'll double check but I think I had a compilation issue if it isn't
defined.

>=20
> > =C2=A0#include <xen/device_tree.h>
> > +#endif
> > =C2=A0#include <public/device_tree_defs.h>
> > =C2=A0
> > =C2=A0/* TODO */
> > @@ -25,9 +27,11 @@ static inline void arch_move_irqs(struct vcpu
> > *v)
> > =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> > =C2=A0}
> > =C2=A0
> > +#ifdef CONFIG_HAS_DEVICE_TREE
>=20
> Ditto.
>=20
> > =C2=A0static inline int platform_get_irq(const struct dt_device_node
> > *device, int index)
> > =C2=A0{
> > =C2=A0=C2=A0=C2=A0=C2=A0 BUG_ON("unimplemented");
> > =C2=A0}
> > +#endif
> > =C2=A0
> > =C2=A0#endif /* __ASM_PPC_IRQ_H__ */

Thanks.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 12:52:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 12:52:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643903.1004453 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8K3D-00071g-1X; Wed, 29 Nov 2023 12:52:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643903.1004453; Wed, 29 Nov 2023 12:52: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 1r8K3C-00071Z-Uw; Wed, 29 Nov 2023 12:52:22 +0000
Received: by outflank-mailman (input) for mailman id 643903;
 Wed, 29 Nov 2023 12:52: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=k1bx=HK=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r8K3B-00071O-Jw
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 12:52:21 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 21851732-8eb6-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 13:52:19 +0100 (CET)
Received: from [192.168.1.15] (host-82-59-158-146.retail.telecomitalia.it
 [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id B37C64EE0737;
 Wed, 29 Nov 2023 13:52:18 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 21851732-8eb6-11ee-9b0e-b553b5be7939
Message-ID: <33fba2a1-d8cb-4978-a193-b1c6a1e7a551@bugseng.com>
Date: Wed, 29 Nov 2023 13:52:18 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH] x86/guest_walk: address violations of MISRA C:2012
 Rule 8.3
Content-Language: en-US, it
To: Jan Beulich <jbeulich@suse.com>
Cc: consulting@bugseng.com, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
 <roger.pau@citrix.com>, Wei Liu <wl@xen.org>,
 George Dunlap <george.dunlap@citrix.com>, xen-devel@lists.xenproject.org,
 Stefano Stabellini <sstabellini@kernel.org>,
 Andrew Cooper <andrew.cooper3@citrix.com>
References: <e0422c0127ebb402bb4f593d41571caf36b0864b.1701164432.git.federico.serafini@bugseng.com>
 <320b5d4c-73c0-45de-92d5-953bcae59e4a@suse.com>
 <4f09cc01-3975-4c2f-960f-67f3ac1f53a4@citrix.com>
 <74748681-dca2-437a-a438-f0a6294ea8e4@suse.com>
 <a1b56fe2-b19d-4ecf-ae10-df7f3d911e47@bugseng.com>
 <b418a851-35ee-4df8-b4b6-a37bea415b03@suse.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <b418a851-35ee-4df8-b4b6-a37bea415b03@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/11/23 12:09, Jan Beulich wrote:
> On 29.11.2023 10:35, Federico Serafini wrote:
>> I take this opportunity to inform that we are really close to the end
>> with Rule 8.3 for x86, this is the situation:
>> - do_multicall(), Stefano sent a patch;
>> - guest_walk_tables(), Andrew will take care of it;
>> - xenmem_add_to_physmap_one(), this is the last one.
>>
>> For the latter, I see you (x86) share the declaration with ARM,
>> where "gfn" is used for the last parameter instead of "gpfn".
>> Do you agree in changing the name in the definition from "gpfn"
>> to "gfn"?
> 
> Yes.
> 
>> If you agree, do you have any suggestions on how to rename
>> the local variable "gfn"?
> 
> Considering its exclusive use for the XENMAPSPACE_gmfn case, I'm inclined
> to suggest "gmfn", despite this being a term we generally try to get rid
> of. Maybe Andrew or Roger have a better suggestion.
> 
> Along with renaming "gpfn" it would be nice (for consistency) to also
> rename "old_gpfn" at the same time.

Thank you.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 13:10:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 13:10:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643910.1004469 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8KL4-0003kB-Hl; Wed, 29 Nov 2023 13:10:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643910.1004469; Wed, 29 Nov 2023 13: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 1r8KL4-0003k4-Ex; Wed, 29 Nov 2023 13:10:50 +0000
Received: by outflank-mailman (input) for mailman id 643910;
 Wed, 29 Nov 2023 13:10: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=H0D6=HK=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r8KL2-0003jt-JG
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 13:10:48 +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 b505bc2a-8eb8-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 14:10:46 +0100 (CET)
Received: by mail-wm1-x336.google.com with SMTP id
 5b1f17b1804b1-40b397793aaso5632565e9.0
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 05:10:46 -0800 (PST)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 fa16-20020a05600c519000b0040b36ad5413sm2157720wmb.46.2023.11.29.05.10.44
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 05:10:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b505bc2a-8eb8-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701263446; x=1701868246; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=4X50eZOhWvmWJmUVFU8wVducMdwYXFMWcMkpWAQFcu4=;
        b=J3bDoZGw5dyS0sJx4UBZcvKwv0uG5ewME8H0Z0Thhc8yeBpNBIfDnMYD5VDPWXHZ+F
         qP9dVq3uCNc/iRYfYrJf7b62d0jZlNcsS4XCR6Rd2f27tYSHQ4h6m9NvElp6Et0wrdG8
         lZez60UoU1FnwzmE6kQmtX4tFxF1PWEZALeuo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701263446; x=1701868246;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=4X50eZOhWvmWJmUVFU8wVducMdwYXFMWcMkpWAQFcu4=;
        b=TtUv6Yziy6uf91X/LO1MJ/3zIlwt/GKl4HzTQSIqlrIVmVzanO937MW7C4GWAfy0n3
         wjlPZkFq16q94P4LfPySTMpQ59vndjQOsomo9+jrMb/SY6ak8XAOvhtsN8PQAo33DpZ7
         rulp1a7UOzNCmBGPOq4FzBkQjt916qlQS/eZpQ7DxncZDCZAjL+UzoBIIa2c0Mr8Xlut
         HIsUwtLu9zPtKwYrfqoSVU8H9ThRORf6k7ekJ0S2utsup2LtWW/Nr3sqkYi+NkuYGT/z
         n52XbJufw6Zl2YiginvhKK44jpT97iRtA1fcZA48Se2Awd7xiWwYpJAeuoUJI+2MJ62o
         cCmA==
X-Gm-Message-State: AOJu0YySI+OqW4Et+TQti3G8zocrtaQOnFfgrCYQhqPUlE5zcFRHD+xP
	5+yM94VASVJG7EoL6nvgA1kk2g==
X-Google-Smtp-Source: AGHT+IFRmjRQhBGiR/vf0okQ1Bh4X0ncYDuqYhkuCsxj+KDIepYPZ/F8+1wTFJGtw5apFeCwnupdhA==
X-Received: by 2002:a05:600c:3c95:b0:40b:51c7:7ad7 with SMTP id bg21-20020a05600c3c9500b0040b51c77ad7mr2037154wmb.18.1701263445291;
        Wed, 29 Nov 2023 05:10:45 -0800 (PST)
Date: Wed, 29 Nov 2023 13:10:44 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Julien Grall <julien@xen.org>
Cc: Alexander Kanavin <alex@linutronix.de>, 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, Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] Config.mk: drop -Wdeclaration-after-statement
Message-ID: <716b0ec4-adce-494d-b9b6-69dbb7e26000@perard>
References: <20231128174729.3880113-1-alex@linutronix.de>
 <fcb1cc57-b985-4711-a234-4aaa380b9abe@suse.com>
 <81043e30-c9fd-4c5e-ad63-0e42edea733d@linutronix.de>
 <5a469665-54b2-4904-9604-ad686fbbb05e@xen.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <5a469665-54b2-4904-9604-ad686fbbb05e@xen.org>

On Wed, Nov 29, 2023 at 11:47:24AM +0100, Julien Grall wrote:
> Hi,
> 
> + Anthony for the tools
> + Juergen for Xenstored
> 
> On 29/11/2023 11:34, Alexander Kanavin wrote:
> > On 11/29/23 08:51, Jan Beulich wrote:
> > 
> > > On 28.11.2023 18:47, Alexander Kanavin wrote:
> > > > Such constructs are fully allowed by C99:
> > > > https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Mixed-Labels-and-Declarations.html#Mixed-Labels-and-Declarations
> > > There's more to this: It may also be a policy of ours (or of any
> > > sub-component)
> > > to demand that declarations and statements are properly separated.
> > > This would
> > > therefore need discussing first.
> > 
> > The error is coming from python 3.12 headers and not from anything in
> > xen tree, no? As you don't have control over those headers, I'm not sure
> > what other solution there could be.
> 
> We seem to add -Wno-declaration-after-statement for some components in
> tools/. So one possibility would be to move the flags to an hypervisor
> specific makefile (in xen/).

You mean xen/Makefile I hope.

> Anthony/Juergen, do you have any concern if the tools are built without
> -Wdeclaration-after-statement?

I don't, and as you said, there's already quite a few
-Wno-declaration-after-statement.

It can be nice to add a new variable in the middle of a function, it's
like creating a new scope without adding extra indentation (if we wanted
a new scope, we would need {} thus the intend).

Cheers,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 13:20:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 13:20:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643914.1004478 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8KUO-0006aN-Dq; Wed, 29 Nov 2023 13:20:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643914.1004478; Wed, 29 Nov 2023 13:20: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 1r8KUO-0006aG-B8; Wed, 29 Nov 2023 13:20:28 +0000
Received: by outflank-mailman (input) for mailman id 643914;
 Wed, 29 Nov 2023 13:20: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=4CTn=HK=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r8KUM-0006a8-Vm
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 13:20:27 +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 0dd65bb3-8eba-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 14:20:24 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40b54261442so4241285e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 05:20:25 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 m5-20020a5d56c5000000b0033172f984eesm17848719wrw.50.2023.11.29.05.20.24
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 29 Nov 2023 05:20:24 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0dd65bb3-8eba-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=tibco.com; s=googleworkspace; t=1701264024; x=1701868824; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=+J0x7a0PD9p/VqLGjkyGZvLQjOrtRWY5Ac+AxcGQlA4=;
        b=QV341FabIy3tMsmuMzPJVbnBBYF/kBOEvUTqX6RScAb9lgY8H3dS7Y/eMMyF4lVkTI
         HeOFR2MZhstbUsCzgZjhZDeUhCvqKwTZX7AQ9xZWHjmhU1NvAOxew+39eFRyTUqwhaca
         GG5tQ6RtqRUAh9BfpoLtIJX7FjbtIHOBVaU+lMkCVo//aY7UW4jCcYgI6NI/xPLAIAef
         5LQPwWAxdLzXLfPRvAOjJmRKS4L9/GCF4YVYW9nCgB3LRtANlPpFcR10CVI6YGURRrRR
         F2xLy1Mbns9RirRTlBjd0t2FNLmubYcjqpRGZxYPfRx9kEtEzRrcOSDOif5de/LEWAvx
         /0LA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701264024; x=1701868824;
        h=content-transfer-encoding:in-reply-to:from:references:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=+J0x7a0PD9p/VqLGjkyGZvLQjOrtRWY5Ac+AxcGQlA4=;
        b=lCR7UAgk8UKPich77p+eAHKyP1wWi0rUdYp3AXRp/JwIvK/s4HiXqpnOIVip76Fbwa
         z5HQyRB3NkzVZcBA0/UXJ+Ui+BkkCNviWcnVwMnZzhQBeAA0dr4nSvC7DP7pAQtxTN+b
         aHYJ9RxoAvHOtJ6aWKImujUkM3zKgBaR8JlZTkCByKry6no6KT08SjvbH9qJ/XCVnMtI
         jcKhzOCbPXGP1LVreYpcCClR9CGXsU+REHXRHA7egE8bQMSSYiI7ls02Y4dQTA3i6Qlx
         QbNRROvC4NJnrCoApHXynqA1P9lcyuRcMV5TlNGM6vEaF5y8JQhnYHMp108uJZk2Ie9e
         pAdw==
X-Gm-Message-State: AOJu0Ywfhk0mq3+e9QhDIORsCWbNpCcVYTl4DaH2qUgamBgLwalfCHaY
	rz/qDjbUybq0wojaH5pmRGzghA==
X-Google-Smtp-Source: AGHT+IGnCTDn/ocF0tMbS4LipIfjyh3BMG5LBCWajW8mp0972XdvdgNouolyFX+JonfjbzSGJjCP+Q==
X-Received: by 2002:a05:600c:1c81:b0:40a:3e13:22aa with SMTP id k1-20020a05600c1c8100b0040a3e1322aamr13246196wms.7.1701264024514;
        Wed, 29 Nov 2023 05:20:24 -0800 (PST)
Message-ID: <291fd6bd-9ea7-45c4-96dd-5a76cdc7342e@tibco.com>
Date: Wed, 29 Nov 2023 13:20:23 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: fix flexible array definitions
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org
References: <20230725135557.20518-1-jgross@suse.com>
From: Andrew Cooper <andcooper@tibco.com>
In-Reply-To: <20230725135557.20518-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 25/07/2023 2:55 pm, Juergen Gross wrote:
> Flexible arrays in public headers can be problematic with some
> compilers.
>
> Replace them with arr[XEN_FLEX_ARRAY_DIM] in order to avoid compilation
> errors.
>
> This includes arrays defined as "arr[1]", as seen with a recent Linux
> kernel [1].
>
> [1]: https://bugzilla.kernel.org/show_bug.cgi?id=217693
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

I know this is a change in the public headers, and I know it will cause
changes in the behaviour of sizeof() against these, but

1) We expect people to copy these files, so the change here isn't
breaking others, and
2) The use of sizeof() on these structs is buggy in the first place, and
3) The use of sizeof() with these structs is unlikely because they're
variadic
4) It really genuinely is UB as reported by toolchains

It may not be great, but it's the least bad of a lot of bad options.

This definitely needs a note in CHANGELOG.  Subject to something
suitable there, Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>

~Andrew


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 13:34:01 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 13:34:01 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643918.1004489 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8KhN-0002QQ-Mh; Wed, 29 Nov 2023 13:33:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643918.1004489; Wed, 29 Nov 2023 13: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 1r8KhN-0002QJ-Jh; Wed, 29 Nov 2023 13:33:53 +0000
Received: by outflank-mailman (input) for mailman id 643918;
 Wed, 29 Nov 2023 13:33: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=q0oM=HK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r8KhM-0002QC-QE
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 13:33:52 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id eed2163a-8ebb-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 14:33:51 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id C08DD1FCF3;
 Wed, 29 Nov 2023 13:33:50 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 4D8461376F;
 Wed, 29 Nov 2023 13:33:50 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id tvlGEb49Z2V6HwAAn2gu4w
 (envelope-from <jgross@suse.com>); Wed, 29 Nov 2023 13:33: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: eed2163a-8ebb-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701264830; 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=Qd/edhp+5962psCPMPy4XP3r2u443myO08oYjOHlTLA=;
	b=Pa0EKVY0qxxUd5ai3BkeXQ5O36LsXwze2YUAWSo+uhiqrqu+qQnOMc08tb752X/3bhkI4m
	zYIZAMIQnrocT+NXv0m6eFE9HhHgm/vc2JCCLVRkIuKeW6Gq8NZCOTCDWChK+a1azg+4be
	jXG4Qt7cAEBdPBvNbmAiVU1MYGGsVv0=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	virtualization@lists.linux.dev,
	kvm@vger.kernel.org
Cc: Juergen Gross <jgross@suse.com>,
	Ajay Kaher <akaher@vmware.com>,
	Alexey Makhalov <amakhalov@vmware.com>,
	VMware PV-Drivers Reviewers <pv-drivers@vmware.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>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v5 0/5] 86/paravirt: Get rid of paravirt patching
Date: Wed, 29 Nov 2023 14:33:27 +0100
Message-Id: <20231129133332.31043-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: 0.90
X-Spamd-Result: default: False [0.90 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 RCPT_COUNT_TWELVE(0.00)[18];
	 MID_CONTAINS_FROM(1.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Flag: NO

This is a small series getting rid of paravirt patching by switching
completely to alternative patching for the same functionality.

The basic idea is to add the capability to switch from indirect to
direct calls via a special alternative patching option.

This removes _some_ of the paravirt macro maze, but most of it needs
to stay due to the need of hiding the call instructions from the
compiler in order to avoid needless register save/restore.

What is going away is the nasty stacking of alternative and paravirt
patching and (of course) the special .parainstructions linker section.

I have tested the series on bare metal and as Xen PV domain to still
work.

Note that objtool might need some changes to cope with the new
indirect call patching mechanism. Additionally some paravirt handling
can probably be removed from it.

Changes in V5:
- addressed Boris' comments
- rebased on top of the tip/master branch

Changes in V4:
- addressed Boris' comments in patch 1
- fixed bugs found by kernel test robot (patch 2)

Changes in V3:
- split v2 patch 3 into 2 patches as requested by Peter and Ingo

Changes in V2:
- split last patch into 2
- rebase of patch 2 as suggested by Peter
- addressed Peter's comments for patch 3

Juergen Gross (5):
  x86/paravirt: introduce ALT_NOT_XEN
  x86/paravirt: move some functions and defines to alternative
  x86/alternative: add indirect call patching
  x86/paravirt: switch mixed paravirt/alternative calls to alternative_2
  x86/paravirt: remove no longer needed paravirt patching code

 arch/x86/include/asm/alternative.h        |  30 +++++-
 arch/x86/include/asm/paravirt.h           |  77 ++++---------
 arch/x86/include/asm/paravirt_types.h     |  85 +++++----------
 arch/x86/include/asm/qspinlock_paravirt.h |   4 +-
 arch/x86/include/asm/text-patching.h      |  12 ---
 arch/x86/kernel/alternative.c             | 125 ++++++++++------------
 arch/x86/kernel/callthunks.c              |  17 ++-
 arch/x86/kernel/kvm.c                     |   4 +-
 arch/x86/kernel/module.c                  |  20 +---
 arch/x86/kernel/paravirt.c                |  54 ++--------
 arch/x86/kernel/vmlinux.lds.S             |  13 ---
 arch/x86/tools/relocs.c                   |   2 +-
 arch/x86/xen/irq.c                        |   2 +-
 13 files changed, 161 insertions(+), 284 deletions(-)

-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 13:34:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 13:34:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643919.1004499 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Khb-0002ng-U9; Wed, 29 Nov 2023 13:34:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643919.1004499; Wed, 29 Nov 2023 13:34: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 1r8Khb-0002nV-RG; Wed, 29 Nov 2023 13:34:07 +0000
Received: by outflank-mailman (input) for mailman id 643919;
 Wed, 29 Nov 2023 13:34: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=q0oM=HK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r8Kha-0002jy-Ok
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 13:34:06 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de
 [2a07:de40:b251:101:10:150:64:1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f52d6fdc-8ebb-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 14:34:02 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 4266221A11;
 Wed, 29 Nov 2023 13:34:02 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id CB5761376F;
 Wed, 29 Nov 2023 13:34:01 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id xrd3MMk9Z2WIHwAAn2gu4w
 (envelope-from <jgross@suse.com>); Wed, 29 Nov 2023 13:34: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: f52d6fdc-8ebb-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701264842; 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=s43tT/0lOWwUKHb7lEKdLQRTdpPjlepqBNd7X0Dbxp4=;
	b=NFfZEDWBnpDadbcSNgqdgOKOkTS56mcCclKuy0myGNkGJ6iNXtTF3xSkIyja69QDgyz+zI
	sl3jqyvP06wQxFjig+LY6WgcvNdGXSucb/H3JHdoCOEwpwJ+3fmXd57e5hvTSBFagD/V8j
	tboKRBSa7QVVKENUj6R3s2DlqrNawE0=
From: Juergen Gross <jgross@suse.com>
To: linux-kernel@vger.kernel.org,
	x86@kernel.org,
	virtualization@lists.linux.dev,
	kvm@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>,
	Ajay Kaher <akaher@vmware.com>,
	Alexey Makhalov <amakhalov@vmware.com>,
	VMware PV-Drivers Reviewers <pv-drivers@vmware.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	xen-devel@lists.xenproject.org
Subject: [PATCH v5 2/5] x86/paravirt: move some functions and defines to alternative
Date: Wed, 29 Nov 2023 14:33:29 +0100
Message-Id: <20231129133332.31043-3-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
In-Reply-To: <20231129133332.31043-1-jgross@suse.com>
References: <20231129133332.31043-1-jgross@suse.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Flag: NO
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spamd-Result: default: False [-3.20 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 REPLY(-4.00)[];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 NEURAL_HAM_SHORT(-0.10)[-0.524];
	 RCPT_COUNT_TWELVE(0.00)[18];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[];
	 BAYES_HAM(-3.00)[100.00%]
X-Spam-Score: -3.20

As a preparation for replacing paravirt patching completely by
alternative patching, move some backend functions and #defines to
alternative code and header.

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V4:
- rename x86_nop() to nop_func() and x86_BUG() to BUG_func() (Boris
  Petkov)
---
 arch/x86/include/asm/alternative.h        | 16 ++++++++++++
 arch/x86/include/asm/paravirt.h           | 12 ---------
 arch/x86/include/asm/paravirt_types.h     |  4 +--
 arch/x86/include/asm/qspinlock_paravirt.h |  4 +--
 arch/x86/kernel/alternative.c             | 10 ++++++++
 arch/x86/kernel/kvm.c                     |  4 +--
 arch/x86/kernel/paravirt.c                | 30 +++++++----------------
 arch/x86/xen/irq.c                        |  2 +-
 8 files changed, 41 insertions(+), 41 deletions(-)

diff --git a/arch/x86/include/asm/alternative.h b/arch/x86/include/asm/alternative.h
index 65f79092c9d9..ce788ab4e77c 100644
--- a/arch/x86/include/asm/alternative.h
+++ b/arch/x86/include/asm/alternative.h
@@ -330,6 +330,22 @@ static inline int alternatives_text_reserved(void *start, void *end)
  */
 #define ASM_NO_INPUT_CLOBBER(clbr...) "i" (0) : clbr
 
+/* Macro for creating assembler functions avoiding any C magic. */
+#define DEFINE_ASM_FUNC(func, instr, sec)		\
+	asm (".pushsection " #sec ", \"ax\"\n"		\
+	     ".global " #func "\n\t"			\
+	     ".type " #func ", @function\n\t"		\
+	     ASM_FUNC_ALIGN "\n"			\
+	     #func ":\n\t"				\
+	     ASM_ENDBR					\
+	     instr "\n\t"				\
+	     ASM_RET					\
+	     ".size " #func ", . - " #func "\n\t"	\
+	     ".popsection")
+
+void BUG_func(void);
+void nop_func(void);
+
 #else /* __ASSEMBLY__ */
 
 #ifdef CONFIG_SMP
diff --git a/arch/x86/include/asm/paravirt.h b/arch/x86/include/asm/paravirt.h
index aa76ac7c806c..f18bfa7f3070 100644
--- a/arch/x86/include/asm/paravirt.h
+++ b/arch/x86/include/asm/paravirt.h
@@ -720,18 +720,6 @@ static __always_inline unsigned long arch_local_irq_save(void)
 #undef PVOP_VCALL4
 #undef PVOP_CALL4
 
-#define DEFINE_PARAVIRT_ASM(func, instr, sec)		\
-	asm (".pushsection " #sec ", \"ax\"\n"		\
-	     ".global " #func "\n\t"			\
-	     ".type " #func ", @function\n\t"		\
-	     ASM_FUNC_ALIGN "\n"			\
-	     #func ":\n\t"				\
-	     ASM_ENDBR					\
-	     instr "\n\t"				\
-	     ASM_RET					\
-	     ".size " #func ", . - " #func "\n\t"	\
-	     ".popsection")
-
 extern void default_banner(void);
 void native_pv_lock_init(void) __init;
 
diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
index 483e19e5ca7a..166e9618158f 100644
--- a/arch/x86/include/asm/paravirt_types.h
+++ b/arch/x86/include/asm/paravirt_types.h
@@ -540,8 +540,6 @@ int paravirt_disable_iospace(void);
 	__PVOP_VCALL(op, PVOP_CALL_ARG1(arg1), PVOP_CALL_ARG2(arg2),	\
 		     PVOP_CALL_ARG3(arg3), PVOP_CALL_ARG4(arg4))
 
-void _paravirt_nop(void);
-void paravirt_BUG(void);
 unsigned long paravirt_ret0(void);
 #ifdef CONFIG_PARAVIRT_XXL
 u64 _paravirt_ident_64(u64);
@@ -551,7 +549,7 @@ void pv_native_irq_enable(void);
 unsigned long pv_native_read_cr2(void);
 #endif
 
-#define paravirt_nop	((void *)_paravirt_nop)
+#define paravirt_nop	((void *)nop_func)
 
 extern struct paravirt_patch_site __parainstructions[],
 	__parainstructions_end[];
diff --git a/arch/x86/include/asm/qspinlock_paravirt.h b/arch/x86/include/asm/qspinlock_paravirt.h
index 85b6e3609cb9..ef9697f20129 100644
--- a/arch/x86/include/asm/qspinlock_paravirt.h
+++ b/arch/x86/include/asm/qspinlock_paravirt.h
@@ -56,8 +56,8 @@ __PV_CALLEE_SAVE_REGS_THUNK(__pv_queued_spin_unlock_slowpath, ".spinlock.text");
 	"pop    %rdx\n\t"						\
 	FRAME_END
 
-DEFINE_PARAVIRT_ASM(__raw_callee_save___pv_queued_spin_unlock,
-		    PV_UNLOCK_ASM, .spinlock.text);
+DEFINE_ASM_FUNC(__raw_callee_save___pv_queued_spin_unlock,
+		PV_UNLOCK_ASM, .spinlock.text);
 
 #else /* CONFIG_64BIT */
 
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index be35c8ccf826..ca25dd280b8c 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -385,6 +385,16 @@ apply_relocation(u8 *buf, size_t len, u8 *dest, u8 *src, size_t src_len)
 	}
 }
 
+/* Low-level backend functions usable from alternative code replacements. */
+DEFINE_ASM_FUNC(nop_func, "", .entry.text);
+EXPORT_SYMBOL_GPL(nop_func);
+
+noinstr void BUG_func(void)
+{
+	BUG();
+}
+EXPORT_SYMBOL_GPL(BUG_func);
+
 /*
  * Replace instructions with better alternatives for this CPU type. This runs
  * before SMP is initialized to avoid SMP problems with self modifying code.
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 0ddb3bd0f1aa..c461c1a4b6af 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -803,8 +803,8 @@ extern bool __raw_callee_save___kvm_vcpu_is_preempted(long);
  "cmpb   $0, " __stringify(KVM_STEAL_TIME_preempted) "+steal_time(%rax)\n\t" \
  "setne  %al\n\t"
 
-DEFINE_PARAVIRT_ASM(__raw_callee_save___kvm_vcpu_is_preempted,
-		    PV_VCPU_PREEMPTED_ASM, .text);
+DEFINE_ASM_FUNC(__raw_callee_save___kvm_vcpu_is_preempted,
+		PV_VCPU_PREEMPTED_ASM, .text);
 #endif
 
 static void __init kvm_guest_init(void)
diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
index 97f1436c1a20..acc5b1004f0f 100644
--- a/arch/x86/kernel/paravirt.c
+++ b/arch/x86/kernel/paravirt.c
@@ -34,14 +34,8 @@
 #include <asm/io_bitmap.h>
 #include <asm/gsseg.h>
 
-/*
- * nop stub, which must not clobber anything *including the stack* to
- * avoid confusing the entry prologues.
- */
-DEFINE_PARAVIRT_ASM(_paravirt_nop, "", .entry.text);
-
 /* stub always returning 0. */
-DEFINE_PARAVIRT_ASM(paravirt_ret0, "xor %eax,%eax", .entry.text);
+DEFINE_ASM_FUNC(paravirt_ret0, "xor %eax,%eax", .entry.text);
 
 void __init default_banner(void)
 {
@@ -49,12 +43,6 @@ void __init default_banner(void)
 	       pv_info.name);
 }
 
-/* Undefined instruction for dealing with missing ops pointers. */
-noinstr void paravirt_BUG(void)
-{
-	BUG();
-}
-
 static unsigned paravirt_patch_call(void *insn_buff, const void *target,
 				    unsigned long addr, unsigned len)
 {
@@ -64,11 +52,11 @@ static unsigned paravirt_patch_call(void *insn_buff, const void *target,
 }
 
 #ifdef CONFIG_PARAVIRT_XXL
-DEFINE_PARAVIRT_ASM(_paravirt_ident_64, "mov %rdi, %rax", .text);
-DEFINE_PARAVIRT_ASM(pv_native_save_fl, "pushf; pop %rax", .noinstr.text);
-DEFINE_PARAVIRT_ASM(pv_native_irq_disable, "cli", .noinstr.text);
-DEFINE_PARAVIRT_ASM(pv_native_irq_enable, "sti", .noinstr.text);
-DEFINE_PARAVIRT_ASM(pv_native_read_cr2, "mov %cr2, %rax", .noinstr.text);
+DEFINE_ASM_FUNC(_paravirt_ident_64, "mov %rdi, %rax", .text);
+DEFINE_ASM_FUNC(pv_native_save_fl, "pushf; pop %rax", .noinstr.text);
+DEFINE_ASM_FUNC(pv_native_irq_disable, "cli", .noinstr.text);
+DEFINE_ASM_FUNC(pv_native_irq_enable, "sti", .noinstr.text);
+DEFINE_ASM_FUNC(pv_native_read_cr2, "mov %cr2, %rax", .noinstr.text);
 #endif
 
 DEFINE_STATIC_KEY_TRUE(virt_spin_lock_key);
@@ -96,9 +84,9 @@ unsigned int paravirt_patch(u8 type, void *insn_buff, unsigned long addr,
 	unsigned ret;
 
 	if (opfunc == NULL)
-		/* If there's no function, patch it with paravirt_BUG() */
-		ret = paravirt_patch_call(insn_buff, paravirt_BUG, addr, len);
-	else if (opfunc == _paravirt_nop)
+		/* If there's no function, patch it with BUG_func() */
+		ret = paravirt_patch_call(insn_buff, BUG_func, addr, len);
+	else if (opfunc == nop_func)
 		ret = 0;
 	else
 		/* Otherwise call the function. */
diff --git a/arch/x86/xen/irq.c b/arch/x86/xen/irq.c
index 6092fea7d651..39982f955cfe 100644
--- a/arch/x86/xen/irq.c
+++ b/arch/x86/xen/irq.c
@@ -45,7 +45,7 @@ static const typeof(pv_ops) xen_irq_ops __initconst = {
 		/* Initial interrupt flag handling only called while interrupts off. */
 		.save_fl = __PV_IS_CALLEE_SAVE(paravirt_ret0),
 		.irq_disable = __PV_IS_CALLEE_SAVE(paravirt_nop),
-		.irq_enable = __PV_IS_CALLEE_SAVE(paravirt_BUG),
+		.irq_enable = __PV_IS_CALLEE_SAVE(BUG_func),
 
 		.safe_halt = xen_safe_halt,
 		.halt = xen_halt,
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 14:05:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 14:05:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643926.1004508 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8LBi-00041I-84; Wed, 29 Nov 2023 14:05:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643926.1004508; Wed, 29 Nov 2023 14:05: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 1r8LBi-00041B-5U; Wed, 29 Nov 2023 14:05:14 +0000
Received: by outflank-mailman (input) for mailman id 643926;
 Wed, 29 Nov 2023 14:05: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=Cdkt=HK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8LBg-000415-Tk
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 14:05:12 +0000
Received: from mail-lj1-x22f.google.com (mail-lj1-x22f.google.com
 [2a00:1450:4864:20::22f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f172c8a-8ec0-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 15:05:10 +0100 (CET)
Received: by mail-lj1-x22f.google.com with SMTP id
 38308e7fff4ca-2c9c30c7eafso4271571fa.0
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 06:05:10 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 t6-20020a05600001c600b00332ff21038fsm9505546wrx.106.2023.11.29.06.05.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 06:05:09 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f172c8a-8ec0-11ee-9b0e-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701266710; x=1701871510; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=AD67BY4tJsvOLcX8AuCp6fBVFOrKOImlKDzoMs0C+1g=;
        b=Z0oqyG7pZvDmc16B8XiL20+ejskqfWm0q0Mog6/uwc+VvqvhnitqX/aAj+NeLfiFR9
         59NKvkE6ItEzW9rXpAaSvvAkTMfLD2s4f5GEmtmYPLr0301TY5W39OadwsI6agkZIJVf
         yW5Y9wb6fmuzutMiqK4i3S7i6NzxVLXk/d3/U=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701266710; x=1701871510;
        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:subject:date:message-id:reply-to;
        bh=AD67BY4tJsvOLcX8AuCp6fBVFOrKOImlKDzoMs0C+1g=;
        b=B+d3J1Pg8738q2CHF9t2AuLxbrAMWpJve6M0ixM8i6ERqq6GLEDQYzT8WdQbCEvREo
         lrPYoKRSGMS37ZJEO5zb+AWmbd8QxCoVGOzu32xRGVcjZnPWs2aJ2ipC71i3e0Fiw20M
         bLCMAlkhmGxVhHC+7H/JLOP62Wmt1Oqkt0CzeF1utogIVmqoX2kiVNIq7dlMY6apfjVX
         X+bfrUUvMBevjpcAobcucuyjBee+OSKXYZSgIZW2D4u4H1wc7EM6dcXNjaSf8dB0LsQx
         Vp/o4gXeceEo+OfySlKH6n2p7HPjTr4NIvO9J7Os25DJCTm7G37kxbZRCg4hu7BNVgk+
         MROA==
X-Gm-Message-State: AOJu0YxWQHjZ+U7Er3KxY8VCJdZ2zqmgOMdRnQhPLDqoQaih1346CJzT
	hGkN2hdtXZlyNVs/edRZuw94Eg==
X-Google-Smtp-Source: AGHT+IG9LkSDIm9/Z7mjsSHlO4Rnr/A/EVV6bOfNmwDoXIS4LGi4HGxbMCYbkqleqyOo5HlaEo/yCg==
X-Received: by 2002:a2e:9987:0:b0:2c9:b84a:147d with SMTP id w7-20020a2e9987000000b002c9b84a147dmr3390039lji.19.1701266710133;
        Wed, 29 Nov 2023 06:05:10 -0800 (PST)
Date: Wed, 29 Nov 2023 15:05:09 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stewart Hildebrand <stewart.hildebrand@amd.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 v8 2/2] xen/vpci: header: filter PCI capabilities
Message-ID: <ZWdFFa1J6l73kvxb@macbook>
References: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
 <20231128194427.2513249-3-stewart.hildebrand@amd.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <20231128194427.2513249-3-stewart.hildebrand@amd.com>

On Tue, Nov 28, 2023 at 02:44:25PM -0500, Stewart Hildebrand wrote:
> Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
> Hide all other PCI capabilities (including extended capabilities) from domUs for
> now, even though there may be certain devices/drivers that depend on being able
> to discover certain capabilities.
> 
> We parse the physical PCI capabilities linked list and add vPCI register
> handlers for the next elements, inserting our own next value, thus presenting a
> modified linked list to the domU.
> 
> Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
> helper function returns a fixed value, which may be used for RAZ registers, or
                                                               ^ read as zero
> registers whose value doesn't change.
> 
> Introduce pci_find_next_cap_ttl() helper while adapting the logic from
> pci_find_next_cap() to suit our needs, and implement the existing
> pci_find_next_cap() in terms of the new helper.
> 
> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>

LGTM, some nits below:

Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

> ---
> v7->v8:
> * use to array instead of match function
> * include lib.h for ARRAY_SIZE
> * don't emulate PCI_CAPABILITY_LIST register if PCI_STATUS_CAP_LIST bit is not
>   set in hardware
> * spell out RAZ/WI acronym
> * dropped R-b tag since the patch has changed moderately since the last rev
> 
> v6->v7:
> * no change
> 
> v5->v6:
> * add register handlers before status register handler in init_bars()
> * s/header->mask_cap_list/mask_cap_list/
> 
> v4->v5:
> * use more appropriate types, continued
> * get rid of unnecessary hook function
> * add Jan's R-b
> 
> v3->v4:
> * move mask_cap_list setting to this patch
> * leave pci_find_next_cap signature alone
> * use more appropriate types
> 
> v2->v3:
> * get rid of > 0 in loop condition
> * implement pci_find_next_cap in terms of new pci_find_next_cap_ttl function so
>   that hypothetical future callers wouldn't be required to pass &ttl.
> * change NULL to (void *)0 for RAZ value passed to vpci_read_val
> * change type of ttl to unsigned int
> * remember to mask off the low 2 bits of next in the initial loop iteration
> * change return type of pci_find_next_cap and pci_find_next_cap_ttl
> * avoid wrapping the PCI_STATUS_CAP_LIST condition by using ! instead of == 0
> 
> v1->v2:
> * change type of ttl to int
> * use switch statement instead of if/else
> * adapt existing pci_find_next_cap helper instead of rolling our own
> * pass ttl as in/out
> * "pass through" the lower 2 bits of the next pointer
> * squash helper functions into this patch to avoid transient dead code situation
> * extended capabilities RAZ/WI
> ---
>  xen/drivers/pci/pci.c     | 31 ++++++++++++-------
>  xen/drivers/vpci/header.c | 63 +++++++++++++++++++++++++++++++++++++++
>  xen/drivers/vpci/vpci.c   | 12 ++++++++
>  xen/include/xen/pci.h     |  3 ++
>  xen/include/xen/vpci.h    |  5 ++++
>  5 files changed, 104 insertions(+), 10 deletions(-)
> 
> diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
> index 3569ccb24e9e..1645b3118220 100644
> --- a/xen/drivers/pci/pci.c
> +++ b/xen/drivers/pci/pci.c
> @@ -39,31 +39,42 @@ unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap)
>      return 0;
>  }
>  
> -unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
> -                               unsigned int cap)
> +unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
> +                                   unsigned int *cap, unsigned int n,
> +                                   unsigned int *ttl)
>  {
> -    u8 id;
> -    int ttl = 48;
> +    unsigned int id, i;

Nit: those can be defined inside the while loop.

> -    while ( ttl-- )
> +    while ( (*ttl)-- )
>      {
>          pos = pci_conf_read8(sbdf, pos);
>          if ( pos < 0x40 )
>              break;
>  
> -        pos &= ~3;
> -        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
> +        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
>  
>          if ( id == 0xff )
>              break;
> -        if ( id == cap )
> -            return pos;
> +        for ( i = 0; i < n; i++ )
> +        {
> +            if ( id == cap[i] )
> +                return pos;
> +        }
>  
> -        pos += PCI_CAP_LIST_NEXT;
> +        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
>      }
> +
>      return 0;
>  }
>  
> +unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
> +                               unsigned int cap)
> +{
> +    unsigned int ttl = 48;
> +
> +    return pci_find_next_cap_ttl(sbdf, pos, &cap, 1, &ttl) & ~3;
> +}
> +
>  /**
>   * pci_find_ext_capability - Find an extended capability
>   * @sbdf: PCI device to query
> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
> index 351318121e48..d7dc0c82a6ba 100644
> --- a/xen/drivers/vpci/header.c
> +++ b/xen/drivers/vpci/header.c
> @@ -18,6 +18,7 @@
>   */
>  
>  #include <xen/iocap.h>
> +#include <xen/lib.h>
>  #include <xen/sched.h>
>  #include <xen/softirq.h>
>  #include <xen/vpci.h>
> @@ -545,6 +546,68 @@ static int cf_check init_bars(struct pci_dev *pdev)

Could you please rename to init_header now that we do much more than
dealing with the BARs?

>      if ( rc )
>          return rc;
>  
> +    if ( !is_hardware_domain(pdev->domain) )
> +    {
> +        if ( pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST )
> +        {
> +            /* Only expose capabilities to the guest that vPCI can handle. */
> +            unsigned int next, ttl = 48;
> +            unsigned int supported_caps[] = {

const?

We likely need to find a way to do this programmatically, so that when
a new capability is supported we don't need to go and modify the list
here every time.  We can sort that out at a later point however.

> +                PCI_CAP_ID_MSI,
> +                PCI_CAP_ID_MSIX,
> +            };
> +
> +            next = pci_find_next_cap_ttl(pdev->sbdf, PCI_CAPABILITY_LIST,
> +                                         supported_caps,
> +                                         ARRAY_SIZE(supported_caps), &ttl);
> +
> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                   PCI_CAPABILITY_LIST, 1,
> +                                   (void *)(uintptr_t)next);
> +            if ( rc )
> +                return rc;
> +
> +            next &= ~3;
> +
> +            if ( !next )
> +                /*
> +                 * If we don't have any supported capabilities to expose to the
> +                 * guest, mask the PCI_STATUS_CAP_LIST bit in the status
> +                 * register.
> +                 */
> +                mask_cap_list = true;
> +
> +            while ( next && ttl )
> +            {
> +                unsigned int pos = next;
> +
> +                next = pci_find_next_cap_ttl(pdev->sbdf,
> +                                             pos + PCI_CAP_LIST_NEXT,
> +                                             supported_caps,
> +                                             ARRAY_SIZE(supported_caps), &ttl);
> +
> +                rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
> +                                       pos + PCI_CAP_LIST_ID, 1, NULL);
> +                if ( rc )
> +                    return rc;
> +
> +                rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
> +                                       pos + PCI_CAP_LIST_NEXT, 1,
> +                                       (void *)(uintptr_t)next);
> +                if ( rc )
> +                    return rc;
> +
> +                next &= ~3;
> +            }
> +        }
> +
> +        /* Extended capabilities read as zero, write ignore */
> +        rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL, 0x100, 4,
> +                               (void *)0);
> +        if ( rc )
> +            return rc;
> +    }
> +
>      /* Utilize rsvdp_mask to hide PCI_STATUS_CAP_LIST from the guest. */
>      rc = vpci_add_register_mask(pdev->vpci, vpci_hw_read16, vpci_hw_write16,
>                                  PCI_STATUS, 2, NULL,
> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
> index 96187b70141b..99307e310bbb 100644
> --- a/xen/drivers/vpci/vpci.c
> +++ b/xen/drivers/vpci/vpci.c
> @@ -137,6 +137,18 @@ static void cf_check vpci_ignored_write(
>  {
>  }
>  
> +uint32_t cf_check vpci_read_val(
> +    const struct pci_dev *pdev, unsigned int reg, void *data)
> +{
> +    return (uintptr_t)data;
> +}
> +
> +uint32_t cf_check vpci_hw_read8(
> +    const struct pci_dev *pdev, unsigned int reg, void *data)
> +{
> +    return pci_conf_read8(pdev->sbdf, reg);
> +}
> +
>  uint32_t cf_check vpci_hw_read16(
>      const struct pci_dev *pdev, unsigned int reg, void *data)
>  {
> diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
> index 50d7dfb2a2fd..b2dcef01a1cf 100644
> --- a/xen/include/xen/pci.h
> +++ b/xen/include/xen/pci.h
> @@ -205,6 +205,9 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
>  int pci_mmcfg_write(unsigned int seg, unsigned int bus,
>                      unsigned int devfn, int reg, int len, u32 value);
>  unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap);
> +unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
> +                                   unsigned int *cap, unsigned int n,
> +                                   unsigned int *ttl);
>  unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
>                                 unsigned int cap);
>  unsigned int pci_find_ext_capability(pci_sbdf_t sbdf, unsigned int cap);
> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
> index 8e8e42372ec1..3c14a74d6255 100644
> --- a/xen/include/xen/vpci.h
> +++ b/xen/include/xen/vpci.h
> @@ -52,7 +52,12 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size);
>  void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
>                  uint32_t data);
>  
> +uint32_t cf_check vpci_read_val(
> +    const struct pci_dev *pdev, unsigned int reg, void *data);

A small comment could be helpful: helper to return the value passed in the data
parameter.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 14:07:05 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 14:07:05 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643932.1004519 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8LDU-0004on-Nc; Wed, 29 Nov 2023 14:07:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643932.1004519; Wed, 29 Nov 2023 14: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 1r8LDU-0004og-Kk; Wed, 29 Nov 2023 14:07:04 +0000
Received: by outflank-mailman (input) for mailman id 643932;
 Wed, 29 Nov 2023 14:07: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=Cdkt=HK=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8LDS-0004nE-Sf
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 14:07:02 +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 914d12e5-8ec0-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 15:07:01 +0100 (CET)
Received: by mail-wr1-x42c.google.com with SMTP id
 ffacd0b85a97d-3330d64958aso1341323f8f.2
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 06:07:01 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 g18-20020a5d5552000000b0032f7e832cabsm14607298wrw.90.2023.11.29.06.07.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 06:07:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 914d12e5-8ec0-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701266821; x=1701871621; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=noEl7weL7Oykc9ytESQ2khJemrsK07KHP0823fUW8Ds=;
        b=IYL7FrPg1jd0nIGRvkZcq+2eEjhVJc7mAwM9KHpS1S7UgVbPQ2+AM9210choNAlZC8
         Hq8iagY5muiiydsi4lDA6ZbBxxkLNbiYk/7V3ZM84jCdtrX2uRrFE9utoW+wqUS9U0s4
         K6/4nTD4pFeN1DNajFXX0I95ogPv1l/9MN1Yk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701266821; x=1701871621;
        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:subject:date:message-id:reply-to;
        bh=noEl7weL7Oykc9ytESQ2khJemrsK07KHP0823fUW8Ds=;
        b=FGkm93sRrPXogejEDewTchFXYtihXGZDWe6AnAWD2K6lEMm0fLPcJjhfnRxAL6/ILq
         F9wCoJuRMyNyW5YJF6XnKbu5cZbj+DCx8qo7NFLjXuJqpeqVPlID/jtlokU6tbnsuTg+
         PIcTOfYQTFj7TBzYyde0qmS/KThPdt34Ry9MtlU1augV8kcvaf6GE5kMAPE4zBQiBBVn
         E9T27tygpnKEF/Qn1+Y4i6EqnQ9eN3da00pwTME1jjJwpjOy+0HQlC8l+aahpm+y8+c9
         82uygP/GhbaqhkslalA+AvM0jqC+ha8slJt+AjZhmpnimf7/pDKc9xbJvstRqw0OGHOF
         6veQ==
X-Gm-Message-State: AOJu0Yy2eGQGL142QvSrYry7UOjVk6ujwZtDlVz9AM+I4A3yqvy7eabf
	B2/wlD93kei+6S+iVMOITjZ4Mg==
X-Google-Smtp-Source: AGHT+IEj/Nj3+xQFrT/DtbPuVq2iIu+fb6nSjFVEVgBpEhAtnpWzGtRn7FCrK4Dozj6i50ofaVTnUw==
X-Received: by 2002:a5d:4b07:0:b0:332:fe86:7f60 with SMTP id v7-20020a5d4b07000000b00332fe867f60mr7679919wrq.69.1701266821308;
        Wed, 29 Nov 2023 06:07:01 -0800 (PST)
Date: Wed, 29 Nov 2023 15:07:00 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Ross Lagerwall <ross.lagerwall@cloud.com>
Cc: xen-devel@lists.xenproject.org,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Subject: Re: [PATCH] xen/livepatch: fix livepatch tests
Message-ID: <ZWdFhCa9Umew4sQR@macbook>
References: <20231128174131.38642-1-roger.pau@citrix.com>
 <CAG7k0EqEjbL2LFoB4gn+VNQu_QEDVR8oaCjwdPp++B=Q3jA7CA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <CAG7k0EqEjbL2LFoB4gn+VNQu_QEDVR8oaCjwdPp++B=Q3jA7CA@mail.gmail.com>

On Wed, Nov 29, 2023 at 10:32:32AM +0000, Ross Lagerwall wrote:
> On Tue, Nov 28, 2023 at 5:41 PM Roger Pau Monne <roger.pau@citrix.com> wrote:
> >
> > The current set of in-tree livepatch tests in xen/test/livepatch started
> > failing after the constify of the payload funcs array, and the movement of the
> > status data into a separate array.
> >
> > Fix the tests so they respect the constness of the funcs array and also make
> > use of the new location of the per-func state data.
> >
> > Fixes: 82182ad7b46e ('livepatch: do not use .livepatch.funcs section to store internal state')
> > Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> > ---
> > I will see about getting those tests build in gitlab, in the meantime we should
> > take this fix in order to unblock osstest.
> > ---
> >  xen/test/livepatch/xen_action_hooks.c         | 12 +++++-----
> >  xen/test/livepatch/xen_action_hooks_marker.c  | 20 ++++++++++-------
> >  xen/test/livepatch/xen_action_hooks_noapply.c | 22 +++++++++++--------
> >  xen/test/livepatch/xen_action_hooks_nofunc.c  |  6 ++---
> >  .../livepatch/xen_action_hooks_norevert.c     | 22 +++++++++++--------
> >  xen/test/livepatch/xen_prepost_hooks.c        |  8 +++----
> >  xen/test/livepatch/xen_prepost_hooks_fail.c   |  2 +-
> >  7 files changed, 53 insertions(+), 39 deletions(-)
> >
> snip
> > diff --git a/xen/test/livepatch/xen_action_hooks_norevert.c b/xen/test/livepatch/xen_action_hooks_norevert.c
> > index ef77e720713e..1c4873f55640 100644
> > --- a/xen/test/livepatch/xen_action_hooks_norevert.c
> > +++ b/xen/test/livepatch/xen_action_hooks_norevert.c
> > @@ -25,9 +25,10 @@ static int pre_apply_hook(livepatch_payload_t *payload)
> >
> >      for (i = 0; i < payload->nfuncs; i++)
> >      {
> > -        struct livepatch_func *func = &payload->funcs[i];
> > +        const struct livepatch_func *func = &payload->funcs[i];
> > +        struct livepatch_fstate *fstate = &payload->fstate[i];
> >
> > -        BUG_ON(func->applied == LIVEPATCH_FUNC_APPLIED);
> > +        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
> >          printk(KERN_DEBUG "%s: pre applied: %s\n", __func__, func->name);
> >      }
> >
> > @@ -44,9 +45,10 @@ static void post_apply_hook(livepatch_payload_t *payload)
> >
> >      for (i = 0; i < payload->nfuncs; i++)
> >      {
> > -        struct livepatch_func *func = &payload->funcs[i];
> > +        const struct livepatch_func *func = &payload->funcs[i];
> > +        struct livepatch_fstate *fstate = &payload->fstate[i];
> >
> > -        BUG_ON(func->applied != LIVEPATCH_FUNC_APPLIED);
> > +        BUG_ON(fstate->applied != LIVEPATCH_FUNC_APPLIED);
> >          printk(KERN_DEBUG "%s: post applied: %s\n", __func__, func->name);
> >      }
> >
> > @@ -62,8 +64,9 @@ static int pre_revert_hook(livepatch_payload_t *payload)
> >      for (i = 0; i < payload->nfuncs; i++)
> >      {
> >          struct livepatch_func *func = &payload->funcs[i];
> 
> const here too?
> 
> With that fixed...
> Reviewed-by: Ross Lagerwall <ross.lagerwall@citrix.com>

Oh, so that file is not even built.  Will see about getting it built.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 14:36:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 14:36:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643941.1004528 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Lfk-00056Q-UX; Wed, 29 Nov 2023 14:36:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643941.1004528; Wed, 29 Nov 2023 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 1r8Lfk-00056J-Rs; Wed, 29 Nov 2023 14:36:16 +0000
Received: by outflank-mailman (input) for mailman id 643941;
 Wed, 29 Nov 2023 14:36: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=q0oM=HK=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r8Lfk-00056D-EF
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 14:36:16 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a646edeb-8ec4-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 15:36:15 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 5CDC91F8C0;
 Wed, 29 Nov 2023 14:36:13 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 19F681388B;
 Wed, 29 Nov 2023 14:36:13 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id uS8UBV1MZ2UdXAAAD6G6ig
 (envelope-from <jgross@suse.com>); Wed, 29 Nov 2023 14:36: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: a646edeb-8ec4-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701268573; 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:autocrypt:autocrypt;
	bh=izMMQ9l+iOIDAjX+eipjD7IhJecmU+ScpBeWIXlza8Q=;
	b=lDKa1dyikLKbxA1Jk/1mzHz9B+eX5lKvG96N3gNbjzlCyWnuW90fHfBPFZiWuWwHXIyNT5
	XWyxaOHj16nJGkcw+EcqyvGHeohwSkeY9xmdvc1/aOBjVpoh1dKx4v0OjV/XqU8djrAtVy
	po30a+tVXPSQhQwqL4z+ehhUI6J01iM=
Message-ID: <6509a26d-4b21-4c5f-82f5-12bbd3f9aa35@suse.com>
Date: Wed, 29 Nov 2023 15:36:12 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Config.mk: drop -Wdeclaration-after-statement
Content-Language: en-US
To: Julien Grall <julien@xen.org>, Alexander Kanavin <alex@linutronix.de>,
 Jan Beulich <jbeulich@suse.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, Anthony PERARD <anthony.perard@citrix.com>
References: <20231128174729.3880113-1-alex@linutronix.de>
 <fcb1cc57-b985-4711-a234-4aaa380b9abe@suse.com>
 <81043e30-c9fd-4c5e-ad63-0e42edea733d@linutronix.de>
 <5a469665-54b2-4904-9604-ad686fbbb05e@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <5a469665-54b2-4904-9604-ad686fbbb05e@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------b0UK0zm06A0v74K5G3L85m5y"
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -1.99
X-Spamd-Result: default: False [-1.99 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 BAYES_HAM(-0.00)[25.39%];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 HAS_ATTACHMENT(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[9];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[gnu.org:url];
	 SIGNED_PGP(-2.00)[];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 RCVD_TLS_ALL(0.00)[];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------b0UK0zm06A0v74K5G3L85m5y
Content-Type: multipart/mixed; boundary="------------CiSyxas4BtA05MHhfhjYUtrF";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Julien Grall <julien@xen.org>, Alexander Kanavin <alex@linutronix.de>,
 Jan Beulich <jbeulich@suse.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, Anthony PERARD <anthony.perard@citrix.com>
Message-ID: <6509a26d-4b21-4c5f-82f5-12bbd3f9aa35@suse.com>
Subject: Re: [PATCH] Config.mk: drop -Wdeclaration-after-statement
References: <20231128174729.3880113-1-alex@linutronix.de>
 <fcb1cc57-b985-4711-a234-4aaa380b9abe@suse.com>
 <81043e30-c9fd-4c5e-ad63-0e42edea733d@linutronix.de>
 <5a469665-54b2-4904-9604-ad686fbbb05e@xen.org>
In-Reply-To: <5a469665-54b2-4904-9604-ad686fbbb05e@xen.org>

--------------CiSyxas4BtA05MHhfhjYUtrF
Content-Type: multipart/mixed; boundary="------------k05oRovA5vK20XGqZv3avgaI"

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

T24gMjkuMTEuMjMgMTE6NDcsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGksDQo+IA0KPiAr
IEFudGhvbnkgZm9yIHRoZSB0b29scw0KPiArIEp1ZXJnZW4gZm9yIFhlbnN0b3JlZA0KPiAN
Cj4gT24gMjkvMTEvMjAyMyAxMTozNCwgQWxleGFuZGVyIEthbmF2aW4gd3JvdGU6DQo+PiBP
biAxMS8yOS8yMyAwODo1MSwgSmFuIEJldWxpY2ggd3JvdGU6DQo+Pg0KPj4+IE9uIDI4LjEx
LjIwMjMgMTg6NDcsIEFsZXhhbmRlciBLYW5hdmluIHdyb3RlOg0KPj4+PiBTdWNoIGNvbnN0
cnVjdHMgYXJlIGZ1bGx5IGFsbG93ZWQgYnkgQzk5Og0KPj4+PiBodHRwczovL2djYy5nbnUu
b3JnL29ubGluZWRvY3MvZ2NjLTEyLjIuMC9nY2MvTWl4ZWQtTGFiZWxzLWFuZC1EZWNsYXJh
dGlvbnMuaHRtbCNNaXhlZC1MYWJlbHMtYW5kLURlY2xhcmF0aW9ucw0KPj4+IFRoZXJlJ3Mg
bW9yZSB0byB0aGlzOiBJdCBtYXkgYWxzbyBiZSBhIHBvbGljeSBvZiBvdXJzIChvciBvZiBh
bnkgc3ViLWNvbXBvbmVudCkNCj4+PiB0byBkZW1hbmQgdGhhdCBkZWNsYXJhdGlvbnMgYW5k
IHN0YXRlbWVudHMgYXJlIHByb3Blcmx5IHNlcGFyYXRlZC4gVGhpcyB3b3VsZA0KPj4+IHRo
ZXJlZm9yZSBuZWVkIGRpc2N1c3NpbmcgZmlyc3QuDQo+Pg0KPj4gVGhlIGVycm9yIGlzIGNv
bWluZyBmcm9tIHB5dGhvbiAzLjEyIGhlYWRlcnMgYW5kIG5vdCBmcm9tIGFueXRoaW5nIGlu
IHhlbiANCj4+IHRyZWUsIG5vPyBBcyB5b3UgZG9uJ3QgaGF2ZSBjb250cm9sIG92ZXIgdGhv
c2UgaGVhZGVycywgSSdtIG5vdCBzdXJlIHdoYXQgDQo+PiBvdGhlciBzb2x1dGlvbiB0aGVy
ZSBjb3VsZCBiZS4NCj4gDQo+IFdlIHNlZW0gdG8gYWRkIC1Xbm8tZGVjbGFyYXRpb24tYWZ0
ZXItc3RhdGVtZW50IGZvciBzb21lIGNvbXBvbmVudHMgaW4gdG9vbHMvLiANCj4gU28gb25l
IHBvc3NpYmlsaXR5IHdvdWxkIGJlIHRvIG1vdmUgdGhlIGZsYWdzIHRvIGFuIGh5cGVydmlz
b3Igc3BlY2lmaWMgbWFrZWZpbGUgDQo+IChpbiB4ZW4vKS4NCj4gDQo+IEFudGhvbnkvSnVl
cmdlbiwgZG8geW91IGhhdmUgYW55IGNvbmNlcm4gaWYgdGhlIHRvb2xzIGFyZSBidWlsdCB3
aXRob3V0IA0KPiAtV2RlY2xhcmF0aW9uLWFmdGVyLXN0YXRlbWVudD8NCg0KSSBjb3VsZCBs
aXZlIHdpdGggdGhhdC4NCg0KDQpKdWVyZ2VuDQoNCg==
--------------k05oRovA5vK20XGqZv3avgaI
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------k05oRovA5vK20XGqZv3avgaI--

--------------CiSyxas4BtA05MHhfhjYUtrF--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVnTFwFAwAAAAAACgkQsN6d1ii/Ey8h
KAf+LdcOg0CDCuDgKYrvWbIWhh//Yqu13mFVwlOf7M3K2/IMyYwljSiRmhBqvK4TAlDTrARzCKsb
gusEZBKi9uyjbm9sksPtsemroxtuo+njlwYX1YJVM26Dx32m6Z/RT8g/M3Ong+tGVE12thl/7clf
qxO0bu8nPsjYt/ffEojqPrj7/40oL+BJThLfGTTwihv2WTr/WRLzeehrRCz3/lMjGpvMwqIAvTAY
gTif/Ays1R4DFGBS5OfSWRUbQxFzPrcgJUricbBjdw0poagEYaYht338o2g2ktX7qwyYHOyFRz8u
3Qu0kUrJFmxY2o26MRpK1cAHv9xbQr7MoE7r9R6/3w==
=g2j7
-----END PGP SIGNATURE-----

--------------b0UK0zm06A0v74K5G3L85m5y--


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 14:57:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 14:57:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643947.1004539 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8M0W-0003If-Lf; Wed, 29 Nov 2023 14:57:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643947.1004539; Wed, 29 Nov 2023 14: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 1r8M0W-0003IY-Ha; Wed, 29 Nov 2023 14:57:44 +0000
Received: by outflank-mailman (input) for mailman id 643947;
 Wed, 29 Nov 2023 14:57: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=s/FI=HK=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r8M0V-0003IS-97
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 14:57:43 +0000
Received: from mail-183-236.mailgun.info (mail-183-236.mailgun.info
 [23.253.183.236]) by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id a48e56fa-8ec7-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 15:57:41 +0100 (CET)
Received: from mg.gitlab.com (7.226.74.34.bc.googleusercontent.com
 [34.74.226.7]) by
 9691b5986cf9 with SMTP id 6567516344502513011e1784 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 29 Nov 2023 14:57:39 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: a48e56fa-8ec7-11ee-9b0e-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1701269859; x=1701277059; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=hN8QoIbMWszp2dEHNzw+COzu/e3hDmbkc+jk+3/PK+s=;
 b=oiK9N8GyzD1tMimNUaHSnoOIJdd464hUn4IZHPz4z9l+tgEMhhQlcWlMIKej8vuDVOZuLmxXLZP0zsjDAg3EIG/XtiAmM7l/m9aC2QDQkASBXyaMBkAgWVmCYN6TtFMA0NExLl5k6wNhvENVNJdcSzIjKAfS4RyC//dHb2cpj2c=
X-Mailgun-Sending-Ip: 23.253.183.236
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 29 Nov 2023 14:57:38 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <65675162c250d_2c9ad1c605b1@gitlab-sidekiq-catchall-v2-5d6dc548d9-c8z5t.mail>
Subject: xen | Successful pipeline for staging | 902377b6
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_65675162b655e_2c9ad1c604d0";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1089097255
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_65675162b655e_2c9ad1c604d0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1089097255 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: 902377b6 ( https://gitlab.com/xen-project/xen/-/commit/902377b690f42ddf44ae91c4b0751d597f1cd694 )
Commit Message: xen/livepatch: fix livepatch tests

The current...
Commit Author: Roger Pau Monne
Committed by: Andrew Cooper ( https://gitlab.com/andyhhp )



Pipeline #1089097255 ( https://gitlab.com/xen-project/xen/-/pipelines/1089097255 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_65675162b655e_2c9ad1c604d0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | 902377b6</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1089097255 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/902377b690f42ddf44=
ae91c4b0751d597f1cd694" style=3D"color: #3777b0; text-decoration: none;">=
902377b6</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
xen/livepatch: fix livepatch tests

The current...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/a8e7984f7692e6b8c12ff2d6f17f1bb6?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Roger Pau Monne
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/6cb22538f3a82e4ee99e1d0419f62385?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/andyhhp" style=3D"color: #3=
33333; text-decoration: none;">
Andrew Cooper
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108909=
7255" style=3D"color: #3777b0; text-decoration: none;">#1089097255</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_65675162b655e_2c9ad1c604d0--


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:19:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:19:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643987.1004549 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ML1-0008OC-EZ; Wed, 29 Nov 2023 15:18:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643987.1004549; Wed, 29 Nov 2023 15:18: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 1r8ML1-0008O5-B0; Wed, 29 Nov 2023 15:18:55 +0000
Received: by outflank-mailman (input) for mailman id 643987;
 Wed, 29 Nov 2023 15:18: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=Uyrv=HK=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r8MKz-0008Nz-6O
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:18:53 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2062c.outbound.protection.outlook.com
 [2a01:111:f400:fe59::62c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 99156709-8eca-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 16:18:51 +0100 (CET)
Received: from DM6PR08CA0018.namprd08.prod.outlook.com (2603:10b6:5:80::31) by
 PH7PR12MB7233.namprd12.prod.outlook.com (2603:10b6:510:204::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Wed, 29 Nov
 2023 15:18:44 +0000
Received: from DS2PEPF0000343C.namprd02.prod.outlook.com
 (2603:10b6:5:80:cafe::42) by DM6PR08CA0018.outlook.office365.com
 (2603:10b6:5:80::31) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23 via Frontend
 Transport; Wed, 29 Nov 2023 15:18:44 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 DS2PEPF0000343C.mail.protection.outlook.com (10.167.18.39) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Wed, 29 Nov 2023 15:18:44 +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.2507.34; Wed, 29 Nov
 2023 09:18:43 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Wed, 29 Nov
 2023 07:18:43 -0800
Received: from [172.27.137.28] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 29 Nov 2023 09:18:42 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 99156709-8eca-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=N3qgOteLwBj+fBYkiEmJ5ck8+Sjd1vMOLPoxtmDhdd6+CGnTJjeQFChVdwJWQpnbDGBejmUBt1Huciq2BEfukVaDdJEB2Wb0X7+k3saj0cyWyFZsfNkwR35TDPoZumaYEupRjRrhmMCGGqzSeC2896eLOcE1ow65BleYxS0GE4Q01xExUfBXi5kT0p1OtZSqDj3+sr4p+WAWlFIpXlo2zxbO8JGLLq9px5GxlXvgKDf5J2M0OZQi608LLvtnQHRNIB5Ug2RVHJMZVkuXcpUGET22PAUYWY+cdjAqpjzthJcd2u9tRKhWEwdyYNpElZq6TQWkZybxaNcUIzxSlRHrtA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PY9T0xiVUsJgQdIidQTvO5WL+UqtL44IjgRZtpJmfKo=;
 b=aUmOUKAOVVkOMXeYV0zZhojhGWYFv96LKzlDAe08a6VuFPSKhePcgotLMQqttJwJtXcrq0XXCFf8eJ2tKPjh8Q9b4xQEXcFxhQvrxt7A12bqfNbR2PmqABoZX1Mr1g9G6S7IjBPdMoouSUH7lSFJY2YVu6DGopvSpO6chpu8gdcs1+6sQfQ/gFFYAYDJ4vpQuTay0tWuXyw3GdU2XxMjBwRpvI2+zOCVFX25iVASDDmIGVtclR/vVB1G1GVNlRKpFEDcy/XOPWhTjy8JEFAkvpo7aBwphAtUsLpKaQ5s6XDLk4Y83/JcA0uMzOYlrcSgyvAbN0wtj3KRr1R6d4F91g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=PY9T0xiVUsJgQdIidQTvO5WL+UqtL44IjgRZtpJmfKo=;
 b=sPr2MJlKceTGCoRPEyOiSkNW41/zGfX/0wEFQh8f20JRc5JvtokojsQFPzUwQVcaUQhUMyfR0sm5asRmhylDFcuSWOCl1FqxtqSIJWf/ouZT9iyIrxWMtk0PpMcynpn0tAx6gHky/COnvveB+paPSREDxalEln1fUZkbFCcJ5k0=
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: <d493f9e3-ab17-4662-9e7c-d313f4ede033@amd.com>
Date: Wed, 29 Nov 2023 10:18:36 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 1/2] xen/vpci: header: status register handler
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
CC: <xen-devel@lists.xenproject.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>
References: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
 <20231128194427.2513249-2-stewart.hildebrand@amd.com>
 <ZWcaiqrg9ZMn6JFC@macbook>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <ZWcaiqrg9ZMn6JFC@macbook>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF0000343C:EE_|PH7PR12MB7233:EE_
X-MS-Office365-Filtering-Correlation-Id: e7952f3d-2a0b-41c9-5e60-08dbf0ee79f1
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	I/NHQwzI6AG90RGTNEvauSnoi1L56Gzfq9NMoTjAimdvyjlK3q8s7j4an2zEyKnd+T7raUtQ8SFftxEH3XT+QDwfVwEaoldvJq6/ys+6hb6m1u7N/OauzCo0YQN3eb/rQvumElGgWsDU1FTs+bk5KWcbGbm83q+RIjMEIFSZ6q3pwzQc9SWSzWgaupr0sx9DMkG6+1U0veQq+HbgvihZXELb8e2rS8Dm+WQbRXL8fPXzz9xS8oEUrBHtzDrtaWxXZS2dmJhef6pvA127MpF2HPm96SUqR001uNlkDwW1Xi7wpIKDKymSKUUoOoQQksJ4cdZY6xi7alizZNAqMb1Evql3A6KOBo0J0n73Rjd5GLlZ+U/CR0/tJfKRQT5TZ4Oi3KkpYzGI2ctQc8Xi4wKMygeMKWlegq3NG8dvx0nQyR/MoNp0nd7K5dE1FhUY5zzJXR84b/Y9NzpYVBnA9m0PCSYfP/qZ53cQ8J75qizjZ1UINPXc7hPJhD0Q0w0e2m9Tx2spk4m72BtDyEld7uvtYCs6wcWLs8MMJfq/qPFvATTzbdV/ydQBA0GnKQY6pUP2MwmA3y4h1Itau7VrzOUar1ExwhX/URlqYfDNXyUnyjXkpuWaCppikcbvby7qUOWCnzGl6ko3JpvWXXpVZWwpXqoVMjpD/4q715kuBMym9Htylfz2Qrmrth+QrQHk+zWpI4ZoDOWbLIF0U3AdSdiY1E5P7TZVffYMY+09lPDtvGfadwBeDga07ubO0Q1pTaUN+HZl1yrh7qpddWxFkRh1iAFsFy0vYGG9/OGQ6g0fBgIY1hUv2Z/7ItFrhbIJCssM
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:(13230031)(4636009)(39860400002)(376002)(346002)(136003)(396003)(230922051799003)(451199024)(1800799012)(82310400011)(186009)(64100799003)(46966006)(36840700001)(40470700004)(6666004)(40460700003)(2616005)(426003)(336012)(26005)(478600001)(30864003)(36860700001)(5660300002)(2906002)(83380400001)(44832011)(966005)(53546011)(70206006)(8676002)(70586007)(8936002)(19627235002)(6916009)(54906003)(16576012)(4326008)(316002)(356005)(81166007)(82740400003)(86362001)(41300700001)(31696002)(36756003)(47076005)(31686004)(66899024)(40480700001)(43740500002)(36900700001)(357404004);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 15:18:44.1020
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: e7952f3d-2a0b-41c9-5e60-08dbf0ee79f1
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:
	DS2PEPF0000343C.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7233

On 11/29/23 06:03, Roger Pau Monné wrote:
> On Tue, Nov 28, 2023 at 02:44:24PM -0500, Stewart Hildebrand wrote:
>> Introduce a handler for the PCI status register, with ability to mask
>> the capabilities bit. The status register contains RsvdZ bits,
>> read-only bits, and write-1-to-clear bits. Additionally, we use RsvdP to
>> mask the capabilities bit. Introduce bitmasks to handle these in vPCI.
>> If a bit in the bitmask is set, then the special meaning applies:
>>
>>   ro_mask: read normal, guest write ignore (preserve on write to hardware)
>>   rw1c_mask: read normal, write 1 to clear
>>   rsvdp_mask: read as zero, guest write ignore (preserve on write to hardware)
>>   rsvdz_mask: read as zero, guest write ignore (write zero to hardware)
>>
>> The RO/RW1C/RsvdP/RsvdZ naming and definitions were borrowed from the
>> PCI Express Base 6.1 specification. RsvdP/RsvdZ bits help Xen enforce
>> our view of the world. Xen preserves the value of read-only bits on
>> write to hardware, discarding the guests write value. This is done in
>> case hardware wrongly implements R/O bits as R/W.
>>
>> The mask_cap_list flag will be set in a follow-on patch.
>>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> 
> Thanks for adding the tests, this is looking very good, just a couple
> of cosmetics comments mostly, and a question whether we should refuse
> masks that have bit set outside the register size instead of
> attempting to adjust them.
> 
>> ---
>> v7->v8:
>> * move PCI_STATUS_UDF to rsvdz_mask (per PCI Express Base 6 spec)
>> * add support for rsvdp bits
>> * add tests for ro/rw1c/rsvdp/rsvdz bits in tools/tests/vpci/main.c
>> * dropped R-b tag [1] since the patch has changed moderately since the last rev
>>
>> [1] https://lists.xenproject.org/archives/html/xen-devel/2023-09/msg00909.html
>>
>> v6->v7:
>> * re-work args passed to vpci_add_register_mask() (called in init_bars())
>> * also check for overlap of (rsvdz_mask & ro_mask) in add_register()
>> * slightly adjust masking operation in vpci_write_helper()
>>
>> v5->v6:
>> * remove duplicate PCI_STATUS_CAP_LIST in constant definition
>> * style fixup in constant definitions
>> * s/res_mask/rsvdz_mask/
>> * combine a new masking operation into single line
>> * preserve r/o bits on write
>> * get rid of status_read. Instead, use rsvdz_mask for conditionally masking
>>   PCI_STATUS_CAP_LIST bit
>> * add comment about PCI_STATUS_CAP_LIST and rsvdp behavior
>> * add sanity checks in add_register
>> * move mask_cap_list from struct vpci_header to local variable
>>
>> v4->v5:
>> * add support for res_mask
>> * add support for ro_mask (squash ro_mask patch)
>> * add constants for reserved, read-only, and rw1c masks
>>
>> v3->v4:
>> * move mask_cap_list setting to the capabilities patch
>> * single pci_conf_read16 in status_read
>> * align mask_cap_list bitfield in struct vpci_header
>> * change to rw1c bit mask instead of treating whole register as rw1c
>> * drop subsystem prefix on renamed add_register function
>>
>> v2->v3:
>> * new patch
>> ---
>>  tools/tests/vpci/main.c    | 98 ++++++++++++++++++++++++++++++++++++++
>>  xen/drivers/vpci/header.c  | 12 +++++
>>  xen/drivers/vpci/vpci.c    | 62 +++++++++++++++++++-----
>>  xen/include/xen/pci_regs.h |  9 ++++
>>  xen/include/xen/vpci.h     |  9 ++++
>>  5 files changed, 178 insertions(+), 12 deletions(-)
>>
>> diff --git a/tools/tests/vpci/main.c b/tools/tests/vpci/main.c
>> index b9a0a6006bb9..b0bb993be297 100644
>> --- a/tools/tests/vpci/main.c
>> +++ b/tools/tests/vpci/main.c
>> @@ -70,6 +70,26 @@ static void vpci_write32(const struct pci_dev *pdev, unsigned int reg,
>>      *(uint32_t *)data = val;
>>  }
>>  
>> +struct mask_data {
>> +    uint32_t val;
>> +    uint32_t rw1c_mask;
>> +};
>> +
>> +static uint32_t vpci_read32_mask(const struct pci_dev *pdev, unsigned int reg,
>> +                                 void *data)
>> +{
>> +    struct mask_data *md = data;
> 
> Newline, and possibly const for md.

Will do, and will do

> 
>> +    return md->val;
>> +}
>> +
>> +static void vpci_write32_mask(const struct pci_dev *pdev, unsigned int reg,
>> +                              uint32_t val, void *data)
>> +{
>> +    struct mask_data *md = data;
> 
> Newline.

Will do

> 
>> +    md->val  = val | (md->val & md->rw1c_mask);
>> +    md->val &= ~(val & md->rw1c_mask);
>> +}
>> +
>>  #define VPCI_READ(reg, size, data) ({                           \
>>      data = vpci_read((pci_sbdf_t){ .sbdf = 0 }, reg, size);     \
>>  })
>> @@ -94,9 +114,20 @@ static void vpci_write32(const struct pci_dev *pdev, unsigned int reg,
>>      assert(!vpci_add_register(test_pdev.vpci, fread, fwrite, off, size,     \
>>                                &store))
>>  
>> +#define VPCI_ADD_REG_MASK(fread, fwrite, off, size, store,                     \
>> +                          ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask)          \
>> +    assert(!vpci_add_register_mask(test_pdev.vpci, fread, fwrite, off, size,   \
>> +                                   &store,                                     \
>> +                                   ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask))
>> +
>>  #define VPCI_ADD_INVALID_REG(fread, fwrite, off, size)                      \
>>      assert(vpci_add_register(test_pdev.vpci, fread, fwrite, off, size, NULL))
>>  
>> +#define VPCI_ADD_INVALID_REG_MASK(fread, fwrite, off, size,                   \
>> +                                  ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask) \
>> +    assert(vpci_add_register_mask(test_pdev.vpci, fread, fwrite, off, size,   \
>> +                                  NULL, ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask))
>> +
>>  #define VPCI_REMOVE_REG(off, size)                                          \
>>      assert(!vpci_remove_register(test_pdev.vpci, off, size))
>>  
>> @@ -154,6 +185,7 @@ main(int argc, char **argv)
>>      uint16_t r20[2] = { };
>>      uint32_t r24 = 0;
>>      uint8_t r28, r30;
>> +    struct mask_data r32;
>>      unsigned int i;
>>      int rc;
>>  
>> @@ -213,6 +245,14 @@ main(int argc, char **argv)
>>      /* Try to add a register with missing handlers. */
>>      VPCI_ADD_INVALID_REG(NULL, NULL, 8, 2);
>>  
>> +    /* Try to add registers with the same bits set in multiple masks. */
>> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 1, 1, 0, 0);
>> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 1, 0, 1, 0);
>> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 1, 0, 0, 1);
>> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 0, 1, 1, 0);
>> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 0, 1, 0, 1);
>> +    VPCI_ADD_INVALID_REG_MASK(vpci_read32, vpci_write32, 8, 4, 0, 0, 1, 1);
>> +
>>      /* Read/write of unset register. */
>>      VPCI_READ_CHECK(8, 4, 0xffffffff);
>>      VPCI_READ_CHECK(8, 2, 0xffff);
>> @@ -287,6 +327,64 @@ main(int argc, char **argv)
>>      VPCI_ADD_REG(vpci_read8, vpci_write8, 30, 1, r30);
>>      VPCI_WRITE_CHECK(28, 4, 0xffacffdc);
>>  
>> +    /*
>> +     * Test ro/rw1c/rsvdp/rsvdz masks.
>> +     *
>> +     * 32     24     16      8      0
>> +     *  +---------------------------+
>> +     *  |            r32            | 32
>> +     *  +---------------------------+
> 
> Might be even better to clarify which region is using each mask:
> 
> 32     24     16      8      0
>  +------+------+------+------+
>  |rsvdz |rsvdp | rw1c |  ro  | 32
>  +------+------+------+------+

Will do

> 
>> +     *
>> +     */
>> +    r32.rw1c_mask = 0x0000ff00U;
>> +    VPCI_ADD_REG_MASK(vpci_read32_mask, vpci_write32_mask, 32, 4, r32,
>> +                      0x000000ffU   /* RO    */,
>> +                      r32.rw1c_mask /* RW1C  */,
>> +                      0x00ff0000U   /* RsvdP */,
>> +                      0xff000000U   /* RsvdZ */);
>> +
>> +    /* ro */
>> +    r32.val = 0x0f0f0f0fU;
>> +    VPCI_READ_CHECK(32, 1, 0x0f);
>> +    VPCI_WRITE(32, 1, 0x5a);
>> +    VPCI_READ_CHECK(32, 1, 0x0f);
>> +    assert(r32.val == 0x000f0f0fU);
>> +
>> +    /* rw1c */
>> +    r32.val = 0x0f0f0f0fU;
>> +    VPCI_READ_CHECK(33, 1, 0x0f);
>> +    VPCI_WRITE(33, 1, 0x5a);
>> +    VPCI_READ_CHECK(33, 1, 0x05);
>> +    assert(r32.val == 0x000f050fU);
>> +
>> +    /* rsvdp */
>> +    r32.val = 0x0f0f0f0fU;
>> +    VPCI_READ_CHECK(34, 1, 0);
>> +    VPCI_WRITE(34, 1, 0x5a);
>> +    VPCI_READ_CHECK(34, 1, 0);
>> +    assert(r32.val == 0x000f0f0fU);
>> +
>> +    /* rsvdz */
>> +    r32.val = 0x0f0f0f0fU;
>> +    VPCI_READ_CHECK(35, 1, 0);
>> +    VPCI_WRITE(35, 1, 0x5a);
>> +    VPCI_READ_CHECK(35, 1, 0);
>> +    assert(r32.val == 0x000f0f0fU);
>> +
>> +    /* write all 0's */
>> +    r32.val = 0x0f0f0f0fU;
>> +    VPCI_READ_CHECK(32, 4, 0x00000f0fU);
>> +    VPCI_WRITE(32, 4, 0);
>> +    VPCI_READ_CHECK(32, 4, 0x00000f0fU);
>> +    assert(r32.val == 0x000f0f0fU);
>> +
>> +    /* write all 1's */
>> +    r32.val = 0x0f0f0f0fU;
>> +    VPCI_READ_CHECK(32, 4, 0x00000f0fU);
>> +    VPCI_WRITE(32, 4, 0xffffffffU);
>> +    VPCI_READ_CHECK(32, 4, 0x0000000fU);
>> +    assert(r32.val == 0x000f000fU);
>> +
>>      /* Finally try to remove a couple of registers. */
>>      VPCI_REMOVE_REG(28, 1);
>>      VPCI_REMOVE_REG(24, 4);
>> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
>> index 767c1ba718d7..351318121e48 100644
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -521,6 +521,7 @@ static int cf_check init_bars(struct pci_dev *pdev)
>>      struct vpci_header *header = &pdev->vpci->header;
>>      struct vpci_bar *bars = header->bars;
>>      int rc;
>> +    bool mask_cap_list = false;
>>  
>>      switch ( pci_conf_read8(pdev->sbdf, PCI_HEADER_TYPE) & 0x7f )
>>      {
>> @@ -544,6 +545,17 @@ static int cf_check init_bars(struct pci_dev *pdev)
>>      if ( rc )
>>          return rc;
>>  
>> +    /* Utilize rsvdp_mask to hide PCI_STATUS_CAP_LIST from the guest. */
>> +    rc = vpci_add_register_mask(pdev->vpci, vpci_hw_read16, vpci_hw_write16,
>> +                                PCI_STATUS, 2, NULL,
>> +                                PCI_STATUS_RO_MASK &
>> +                                    ~(mask_cap_list ? PCI_STATUS_CAP_LIST : 0),
>> +                                PCI_STATUS_RW1C_MASK,
>> +                                mask_cap_list ? PCI_STATUS_CAP_LIST : 0,
>> +                                PCI_STATUS_RSVDZ_MASK);
>> +    if ( rc )
>> +        return rc;
>> +
>>      if ( pdev->ignore_bars )
>>          return 0;
>>  
>> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
>> index 3bec9a4153da..96187b70141b 100644
>> --- a/xen/drivers/vpci/vpci.c
>> +++ b/xen/drivers/vpci/vpci.c
>> @@ -29,6 +29,10 @@ struct vpci_register {
>>      unsigned int offset;
>>      void *private;
>>      struct list_head node;
>> +    uint32_t ro_mask;
>> +    uint32_t rw1c_mask;
>> +    uint32_t rsvdp_mask;
>> +    uint32_t rsvdz_mask;
>>  };
>>  
>>  #ifdef __XEN__
>> @@ -145,9 +149,17 @@ uint32_t cf_check vpci_hw_read32(
>>      return pci_conf_read32(pdev->sbdf, reg);
>>  }
>>  
>> -int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>> -                      vpci_write_t *write_handler, unsigned int offset,
>> -                      unsigned int size, void *data)
>> +void cf_check vpci_hw_write16(
>> +    const struct pci_dev *pdev, unsigned int reg, uint32_t val, void *data)
>> +{
>> +    pci_conf_write16(pdev->sbdf, reg, val);
>> +}
>> +
>> +static int add_register(struct vpci *vpci, vpci_read_t *read_handler,
>> +                        vpci_write_t *write_handler, unsigned int offset,
>> +                        unsigned int size, void *data, uint32_t ro_mask,
>> +                        uint32_t rw1c_mask, uint32_t rsvdp_mask,
>> +                        uint32_t rsvdz_mask)
>>  {
>>      struct list_head *prev;
>>      struct vpci_register *r;
>> @@ -155,7 +167,10 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>>      /* Some sanity checks. */
>>      if ( (size != 1 && size != 2 && size != 4) ||
>>           offset >= PCI_CFG_SPACE_EXP_SIZE || (offset & (size - 1)) ||
>> -         (!read_handler && !write_handler) )
>> +         (!read_handler && !write_handler) || (ro_mask & rw1c_mask) ||
>> +         (ro_mask & rsvdp_mask) || (ro_mask & rsvdz_mask) ||
>> +         (rw1c_mask & rsvdp_mask) || (rw1c_mask & rsvdz_mask) ||
>> +         (rsvdp_mask & rsvdz_mask) )
> 
> It would also be helpful to check that the masks don't have bits set
> above the given register size, ie:

Will do

> 
> if ( size != 4 &&
>      (ro_mask | rw1c_mask | rsvdp_mask | rsvdz_mask) >> (size * 8) )>     return -EINVAL;
> 
>>          return -EINVAL;
>>  
>>      r = xmalloc(struct vpci_register);
>> @@ -167,6 +182,10 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>>      r->size = size;
>>      r->offset = offset;
>>      r->private = data;
>> +    r->ro_mask = ro_mask & (0xffffffffU >> (32 - 8 * size));
>> +    r->rw1c_mask = rw1c_mask & (0xffffffffU >> (32 - 8 * size));
>> +    r->rsvdp_mask = rsvdp_mask & (0xffffffffU >> (32 - 8 * size));
>> +    r->rsvdz_mask = rsvdz_mask & (0xffffffffU >> (32 - 8 * size));
> 
> Oh, you adjust the masks to match the expected width.  I think it
> might be more sensible to instead make sure the caller has provided
> appropriate masks, as providing a mask that doesn't match the register
> size likely points out to issues in the caller.

Got it, I will do the more sensible thing, and add tests for it :)

> 
>>  
>>      spin_lock(&vpci->lock);
>>  
>> @@ -193,6 +212,24 @@ int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>>      return 0;
>>  }
>>  
>> +int vpci_add_register(struct vpci *vpci, vpci_read_t *read_handler,
>> +                      vpci_write_t *write_handler, unsigned int offset,
>> +                      unsigned int size, void *data)
>> +{
>> +    return add_register(vpci, read_handler, write_handler, offset, size, data,
>> +                        0, 0, 0, 0);
>> +}
>> +
>> +int vpci_add_register_mask(struct vpci *vpci, vpci_read_t *read_handler,
>> +                           vpci_write_t *write_handler, unsigned int offset,
>> +                           unsigned int size, void *data, uint32_t ro_mask,
>> +                           uint32_t rw1c_mask, uint32_t rsvdp_mask,
>> +                           uint32_t rsvdz_mask)
>> +{
>> +    return add_register(vpci, read_handler, write_handler, offset, size, data,
>> +                        ro_mask, rw1c_mask, rsvdp_mask, rsvdz_mask);
>> +}
>> +
>>  int vpci_remove_register(struct vpci *vpci, unsigned int offset,
>>                           unsigned int size)
>>  {
>> @@ -376,6 +413,7 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>>          }
>>  
>>          val = r->read(pdev, r->offset, r->private);
>> +        val &= ~(r->rsvdp_mask | r->rsvdz_mask);
>>  
>>          /* Check if the read is in the middle of a register. */
>>          if ( r->offset < emu.offset )
>> @@ -407,26 +445,26 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>>  
>>  /*
>>   * Perform a maybe partial write to a register.
>> - *
>> - * Note that this will only work for simple registers, if Xen needs to
>> - * trap accesses to rw1c registers (like the status PCI header register)
>> - * the logic in vpci_write will have to be expanded in order to correctly
>> - * deal with them.
>>   */
>>  static void vpci_write_helper(const struct pci_dev *pdev,
>>                                const struct vpci_register *r, unsigned int size,
>>                                unsigned int offset, uint32_t data)
>>  {
>> +    uint32_t val = 0;
> 
> Nit: might be clearer to name this 'current': it's easy to get
> confused whether val or data holds the user-provided input.

The name 'current' shadows an existing global variable/macro. How about current_val?

> 
>> +    uint32_t preserved_mask = r->ro_mask | r->rsvdp_mask;
>> +
>>      ASSERT(size <= r->size);
>>  
>> -    if ( size != r->size )
>> +    if ( (size != r->size) || preserved_mask )
>>      {
>> -        uint32_t val;
>> -
>>          val = r->read(pdev, r->offset, r->private);
>> +        val &= ~r->rw1c_mask;
>>          data = merge_result(val, data, size, offset);
>>      }
>>  
>> +    data &= ~(preserved_mask | r->rsvdz_mask);
>> +    data |= val & preserved_mask;
>> +
>>      r->write(pdev, r->offset, data & (0xffffffffU >> (32 - 8 * r->size)),
>>               r->private);
>>  }
>> diff --git a/xen/include/xen/pci_regs.h b/xen/include/xen/pci_regs.h
>> index 84b18736a85d..9909b27425a5 100644
>> --- a/xen/include/xen/pci_regs.h
>> +++ b/xen/include/xen/pci_regs.h
>> @@ -66,6 +66,15 @@
>>  #define  PCI_STATUS_REC_MASTER_ABORT	0x2000 /* Set on master abort */
>>  #define  PCI_STATUS_SIG_SYSTEM_ERROR	0x4000 /* Set when we drive SERR */
>>  #define  PCI_STATUS_DETECTED_PARITY	0x8000 /* Set on parity error */
>> +#define  PCI_STATUS_RSVDZ_MASK		0x0046 /* Includes PCI_STATUS_UDF */
>> +
>> +#define  PCI_STATUS_RO_MASK (PCI_STATUS_IMM_READY | PCI_STATUS_INTERRUPT | \
>> +    PCI_STATUS_CAP_LIST | PCI_STATUS_66MHZ | PCI_STATUS_FAST_BACK | \
>> +    PCI_STATUS_DEVSEL_MASK)
>> +#define  PCI_STATUS_RW1C_MASK (PCI_STATUS_PARITY | \
>> +    PCI_STATUS_SIG_TARGET_ABORT | PCI_STATUS_REC_TARGET_ABORT | \
>> +    PCI_STATUS_REC_MASTER_ABORT | PCI_STATUS_SIG_SYSTEM_ERROR | \
>> +    PCI_STATUS_DETECTED_PARITY)
>>  
>>  #define PCI_CLASS_REVISION	0x08	/* High 24 bits are class, low 8 revision */
>>  #define PCI_REVISION_ID		0x08	/* Revision ID */
>> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
>> index d743d96a10b8..8e8e42372ec1 100644
>> --- a/xen/include/xen/vpci.h
>> +++ b/xen/include/xen/vpci.h
>> @@ -37,6 +37,13 @@ int __must_check vpci_add_register(struct vpci *vpci,
>>                                     vpci_write_t *write_handler,
>>                                     unsigned int offset, unsigned int size,
>>                                     void *data);
>> +int __must_check vpci_add_register_mask(struct vpci *vpci,
>> +                                        vpci_read_t *read_handler,
>> +                                        vpci_write_t *write_handler,
>> +                                        unsigned int offset, unsigned int size,
>> +                                        void *data, uint32_t ro_mask,
>> +                                        uint32_t rw1c_mask, uint32_t rsvdp_mask,
>> +                                        uint32_t rsvdz_mask);
> 
> Instead of exporting two functions, you could export only
> vpci_add_register_mask() and make vpci_add_register() a static inline
> defined in the header as a wrapper around vpci_add_register_mask().

Will do

> 
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643993.1004589 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MQk-00029N-6E; Wed, 29 Nov 2023 15:24:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643993.1004589; Wed, 29 Nov 2023 15:24: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 1r8MQk-00028O-1Z; Wed, 29 Nov 2023 15:24:50 +0000
Received: by outflank-mailman (input) for mailman id 643993;
 Wed, 29 Nov 2023 15:24: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8MQi-0001PY-6x
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:24:48 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6e5ba655-8ecb-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 16:24:47 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id B76B84EE0744;
 Wed, 29 Nov 2023 16:24:46 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6e5ba655-8ecb-11ee-98e3-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Paul Durrant <paul@xen.org>,
	Wei Liu <wl@xen.org>,
	Jan Beulich <jbeulich@suse.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	=?UTF-8?q?Roger=20Pau=20Monn=C3=A9?= <roger.pau@citrix.com>
Subject: [XEN PATCH 4/7] x86/viridian: make build_assertions static
Date: Wed, 29 Nov 2023 16:24:22 +0100
Message-Id: <1fc043cb040a24515e2355a5a908c42f20a39418.1701270983.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1701270983.git.nicola.vetrini@bugseng.com>
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

This is consistent with other instances of the same function
and also resolves a violation of MISRA C:2012 Rule 8.4.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/hvm/viridian/synic.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/arch/x86/hvm/viridian/synic.c b/xen/arch/x86/hvm/viridian/synic.c
index 8cf600cec68f..3375e55e95ca 100644
--- a/xen/arch/x86/hvm/viridian/synic.c
+++ b/xen/arch/x86/hvm/viridian/synic.c
@@ -18,7 +18,7 @@
 #include "private.h"
 
 
-void __init __maybe_unused build_assertions(void)
+static void __init __maybe_unused build_assertions(void)
 {
     BUILD_BUG_ON(sizeof(struct hv_message) != HV_MESSAGE_SIZE);
 }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643991.1004564 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MQi-0001S9-DP; Wed, 29 Nov 2023 15:24:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643991.1004564; Wed, 29 Nov 2023 15:24: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 1r8MQi-0001RW-8N; Wed, 29 Nov 2023 15:24:48 +0000
Received: by outflank-mailman (input) for mailman id 643991;
 Wed, 29 Nov 2023 15:24: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8MQg-0001PZ-Jy
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:24:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6c92f608-8ecb-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 16:24:44 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id 5BBC54EE0737;
 Wed, 29 Nov 2023 16:24:43 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c92f608-8ecb-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	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>,
	George Dunlap <george.dunlap@citrix.com>
Subject: [XEN PATCH 0/7] address some violations of MISRA C Rule 8.4
Date: Wed, 29 Nov 2023 16:24:18 +0100
Message-Id: <cover.1701270983.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Hi all,

this series addresses some of the remaining violations of MISRA C:2012 Rule 8.4.

Some of the modifications are done according to the feedback received in this
thread [1]


Nicola Vetrini (7):
  xen/arm: mmu: add headers for missing declarations
  x86/i8259: add missing header for init_IRQ declaration
  xen/x86: add missing instances of asmlinkage attributes
  x86/viridian: make build_assertions static
  docs/misra: add entry to exclude-list.json
  xen/x86: remove stale comment
  xen/page_alloc: deviate first_valid_mfn for MISRA C Rule 8.4

 docs/misra/exclude-list.json         | 4 ++++
 xen/arch/arm/mmu/setup.c             | 1 +
 xen/arch/arm/mmu/smpboot.c           | 2 ++
 xen/arch/x86/cpu/mcheck/mce.c        | 2 +-
 xen/arch/x86/desc.c                  | 2 +-
 xen/arch/x86/efi/efi-boot.h          | 5 +++--
 xen/arch/x86/hvm/viridian/synic.c    | 2 +-
 xen/arch/x86/i8259.c                 | 1 +
 xen/arch/x86/include/asm/hypercall.h | 2 +-
 xen/arch/x86/mm.c                    | 2 +-
 xen/arch/x86/smpboot.c               | 2 +-
 xen/common/page_alloc.c              | 1 +
 12 files changed, 18 insertions(+), 8 deletions(-)

-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643990.1004559 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MQi-0001Pw-5X; Wed, 29 Nov 2023 15:24:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643990.1004559; Wed, 29 Nov 2023 15:24: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 1r8MQi-0001Pp-1T; Wed, 29 Nov 2023 15:24:48 +0000
Received: by outflank-mailman (input) for mailman id 643990;
 Wed, 29 Nov 2023 15:24: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8MQg-0001PY-Ft
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:24:46 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6cd696df-8ecb-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 16:24:45 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id 675114EE073E;
 Wed, 29 Nov 2023 16:24:44 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6cd696df-8ecb-11ee-98e3-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [XEN PATCH 1/7] xen/arm: mmu: add headers for missing declarations
Date: Wed, 29 Nov 2023 16:24:19 +0100
Message-Id: <7032dd53fa025ad19ce53171b80e51db9d332b83.1701270983.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1701270983.git.nicola.vetrini@bugseng.com>
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The definitions needing the inclusion of asm/setup.h are
boot_{first,second,third}(_id)?, whereas vmap.h is needed by arch_vmap_virt_end.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/arm/mmu/setup.c   | 1 +
 xen/arch/arm/mmu/smpboot.c | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/xen/arch/arm/mmu/setup.c b/xen/arch/arm/mmu/setup.c
index a5a9b538ff13..d5264e51bc44 100644
--- a/xen/arch/arm/mmu/setup.c
+++ b/xen/arch/arm/mmu/setup.c
@@ -8,6 +8,7 @@
 #include <xen/init.h>
 #include <xen/libfdt/libfdt.h>
 #include <xen/sizes.h>
+#include <xen/vmap.h>
 
 #include <asm/fixmap.h>
 
diff --git a/xen/arch/arm/mmu/smpboot.c b/xen/arch/arm/mmu/smpboot.c
index 12f1a5d761e7..b6fc0aae07f1 100644
--- a/xen/arch/arm/mmu/smpboot.c
+++ b/xen/arch/arm/mmu/smpboot.c
@@ -7,6 +7,8 @@
 
 #include <xen/domain_page.h>
 
+#include <asm/setup.h>
+
 /*
  * Static start-of-day pagetables that we use before the allocators
  * are up. These are used by all CPUs during bringup before switching
-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643994.1004593 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MQk-0002De-Gd; Wed, 29 Nov 2023 15:24:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643994.1004593; Wed, 29 Nov 2023 15:24: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 1r8MQk-0002CA-B1; Wed, 29 Nov 2023 15:24:50 +0000
Received: by outflank-mailman (input) for mailman id 643994;
 Wed, 29 Nov 2023 15: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8MQi-0001PZ-Aj
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:24:48 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6df25e84-8ecb-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 16:24:47 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id DB0154EE0741;
 Wed, 29 Nov 2023 16:24:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6df25e84-8ecb-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	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 3/7] xen/x86: add missing instances of asmlinkage attributes
Date: Wed, 29 Nov 2023 16:24:21 +0100
Message-Id: <4815279026ca4e2f1d93c98bfe6ea51ee139280d.1701270983.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1701270983.git.nicola.vetrini@bugseng.com>
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/desc.c         | 2 +-
 xen/arch/x86/efi/efi-boot.h | 5 +++--
 xen/arch/x86/mm.c           | 2 +-
 xen/arch/x86/smpboot.c      | 2 +-
 4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/xen/arch/x86/desc.c b/xen/arch/x86/desc.c
index 39080ca67211..b332adedf28e 100644
--- a/xen/arch/x86/desc.c
+++ b/xen/arch/x86/desc.c
@@ -91,7 +91,7 @@ seg_desc_t boot_compat_gdt[PAGE_SIZE / sizeof(seg_desc_t)] =
  * References boot_cpu_gdt_table for a short period, until the CPUs switch
  * onto their per-CPU GDTs.
  */
-const struct desc_ptr boot_gdtr = {
+const struct desc_ptr asmlinkage boot_gdtr = {
     .limit = LAST_RESERVED_GDT_BYTE,
     .base = (unsigned long)(boot_gdt - FIRST_RESERVED_GDT_ENTRY),
 };
diff --git a/xen/arch/x86/efi/efi-boot.h b/xen/arch/x86/efi/efi-boot.h
index 86467da301e5..8ea64e31cdc2 100644
--- a/xen/arch/x86/efi/efi-boot.h
+++ b/xen/arch/x86/efi/efi-boot.h
@@ -808,8 +808,9 @@ static const char *__init get_option(const char *cmd, const char *opt)
     return o;
 }
 
-void __init efi_multiboot2(EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE *SystemTable,
-                           const char *cmdline)
+void asmlinkage __init efi_multiboot2(EFI_HANDLE ImageHandle,
+                                      EFI_SYSTEM_TABLE *SystemTable,
+                                      const char *cmdline)
 {
     EFI_GRAPHICS_OUTPUT_PROTOCOL *gop;
     EFI_HANDLE gop_handle;
diff --git a/xen/arch/x86/mm.c b/xen/arch/x86/mm.c
index 0a66db10b959..9ce21c443bea 100644
--- a/xen/arch/x86/mm.c
+++ b/xen/arch/x86/mm.c
@@ -143,7 +143,7 @@
 /* Mapping of the fixmap space needed early. */
 l1_pgentry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
     l1_fixmap[L1_PAGETABLE_ENTRIES];
-l1_pgentry_t __section(".bss.page_aligned") __aligned(PAGE_SIZE)
+l1_pgentry_t asmlinkage __section(".bss.page_aligned") __aligned(PAGE_SIZE)
     l1_fixmap_x[L1_PAGETABLE_ENTRIES];
 
 bool __read_mostly machine_to_phys_mapping_valid;
diff --git a/xen/arch/x86/smpboot.c b/xen/arch/x86/smpboot.c
index 4c54ecbc91d7..8aa621533f3d 100644
--- a/xen/arch/x86/smpboot.c
+++ b/xen/arch/x86/smpboot.c
@@ -310,7 +310,7 @@ static void set_cpu_sibling_map(unsigned int cpu)
     }
 }
 
-void start_secondary(void *unused)
+void asmlinkage start_secondary(void *unused)
 {
     struct cpu_info *info = get_cpu_info();
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643995.1004601 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MQl-0002Kz-2R; Wed, 29 Nov 2023 15:24:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643995.1004601; Wed, 29 Nov 2023 15:24: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 1r8MQk-0002I3-MM; Wed, 29 Nov 2023 15:24:50 +0000
Received: by outflank-mailman (input) for mailman id 643995;
 Wed, 29 Nov 2023 15:24: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8MQj-0001PY-0g
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:24:49 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6ed6493e-8ecb-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 16:24:48 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id A0DE24EE0747;
 Wed, 29 Nov 2023 16:24:47 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6ed6493e-8ecb-11ee-98e3-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 5/7] docs/misra: add entry to exclude-list.json
Date: Wed, 29 Nov 2023 16:24:23 +0100
Message-Id: <538cd0aaacc5af9111c09664cd3c4a4f78ba36fa.1701270983.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1701270983.git.nicola.vetrini@bugseng.com>
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

x86/efi/check.c is not part of the final Xen binary, therefore
it doesn't need to conform to MISRA guidelines at the moment.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 docs/misra/exclude-list.json | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/docs/misra/exclude-list.json b/docs/misra/exclude-list.json
index b858a0baa106..24e4de3ca524 100644
--- a/docs/misra/exclude-list.json
+++ b/docs/misra/exclude-list.json
@@ -93,6 +93,10 @@
             "rel_path": "arch/x86/x86_64/mmconf-fam10h.c",
             "comment": "Imported from Linux, ignore for now"
         },
+        {
+            "rel_path": "arch/x86/efi/check.c",
+            "comment": "The resulting code is not included in the final Xen binary, ignore for now"
+        },
         {
             "rel_path": "common/bitmap.c",
             "comment": "Imported from Linux, ignore for now"
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643992.1004572 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MQi-0001f3-TW; Wed, 29 Nov 2023 15:24:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643992.1004572; Wed, 29 Nov 2023 15:24: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 1r8MQi-0001d7-Nn; Wed, 29 Nov 2023 15:24:48 +0000
Received: by outflank-mailman (input) for mailman id 643992;
 Wed, 29 Nov 2023 15:24: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8MQh-0001PZ-EJ
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:24:47 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6d71379b-8ecb-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 16:24:46 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id 144604EE073F;
 Wed, 29 Nov 2023 16:24:45 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6d71379b-8ecb-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	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 2/7] x86/i8259: add missing header for init_IRQ declaration
Date: Wed, 29 Nov 2023 16:24:20 +0100
Message-Id: <3443c1a877c63f1c6213e0c184e89b20aaa29ffb.1701270983.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1701270983.git.nicola.vetrini@bugseng.com>
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/i8259.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/arch/x86/i8259.c b/xen/arch/x86/i8259.c
index e0fa1f96b4f2..470d690c3594 100644
--- a/xen/arch/x86/i8259.c
+++ b/xen/arch/x86/i8259.c
@@ -19,6 +19,7 @@
 #include <xen/delay.h>
 #include <asm/apic.h>
 #include <asm/asm_defns.h>
+#include <asm/setup.h>
 #include <io_ports.h>
 #include <irq_vectors.h>
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643996.1004617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MQm-0002rA-D9; Wed, 29 Nov 2023 15:24:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643996.1004617; Wed, 29 Nov 2023 15:24: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 1r8MQm-0002pY-4N; Wed, 29 Nov 2023 15:24:52 +0000
Received: by outflank-mailman (input) for mailman id 643996;
 Wed, 29 Nov 2023 15:24: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8MQk-0001PY-Kl
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:24:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6fca78b7-8ecb-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 16:24:50 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id 3806E4EE0C81;
 Wed, 29 Nov 2023 16:24:49 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6fca78b7-8ecb-11ee-98e3-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>
Subject: [XEN PATCH 7/7] xen/page_alloc: deviate first_valid_mfn for MISRA C Rule 8.4
Date: Wed, 29 Nov 2023 16:24:25 +0100
Message-Id: <1ee69d2f0b9e9a704bf869e2b2700f88a8069343.1701270983.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1701270983.git.nicola.vetrini@bugseng.com>
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
The preferred way to deviate is to use asmlinkage, but this modification is only
the consequence of NUMA on ARM (and possibly PPC) being a work in progress.
As stated in the comment above the textual deviation, first_valid_mfn will
likely then become static and there would be no need for the comment anymore.
This works towards having the analysis for this rule clean (i.e. no violations);
the interest in having a clean rule is that then it could be used to signal
newly introduced violations by making the analysis job fail.
---
 xen/common/page_alloc.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/xen/common/page_alloc.c b/xen/common/page_alloc.c
index 9b5df74fddab..794d7689b179 100644
--- a/xen/common/page_alloc.c
+++ b/xen/common/page_alloc.c
@@ -258,6 +258,7 @@ static PAGE_LIST_HEAD(page_broken_list);
  * first_valid_mfn is exported because it is use in ARM specific NUMA
  * helpers. See comment in arch/arm/include/asm/numa.h.
  */
+/* SAF-1-safe */
 mfn_t first_valid_mfn = INVALID_MFN_INITIALIZER;
 
 struct bootmem_region {
-- 
2.34.1


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:24:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:24:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.643997.1004620 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MQm-0002uj-KG; Wed, 29 Nov 2023 15:24:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 643997.1004620; Wed, 29 Nov 2023 15:24: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 1r8MQm-0002tY-F3; Wed, 29 Nov 2023 15:24:52 +0000
Received: by outflank-mailman (input) for mailman id 643997;
 Wed, 29 Nov 2023 15:24: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8MQk-0001PZ-Oe
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:24:50 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6f6bf152-8ecb-11ee-9b0e-b553b5be7939;
 Wed, 29 Nov 2023 16:24:49 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id 6FB884EE074E;
 Wed, 29 Nov 2023 16:24:48 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6f6bf152-8ecb-11ee-9b0e-b553b5be7939
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com,
	xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org,
	michal.orzel@amd.com,
	xenia.ragiadakou@amd.com,
	ayan.kumar.halder@amd.com,
	consulting@bugseng.com,
	bertrand.marquis@arm.com,
	julien@xen.org,
	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 6/7] xen/x86: remove stale comment
Date: Wed, 29 Nov 2023 16:24:24 +0100
Message-Id: <d06ee9f139392045fb8d927ff3a0c38fdc5080c6.1701270983.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1701270983.git.nicola.vetrini@bugseng.com>
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The comment referred to the declaration for do_mca, which
now is part of hypercall-defs.h, therefore the comment is stale.

No functional change.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 xen/arch/x86/cpu/mcheck/mce.c        | 2 +-
 xen/arch/x86/include/asm/hypercall.h | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/arch/x86/cpu/mcheck/mce.c b/xen/arch/x86/cpu/mcheck/mce.c
index 779a458cd88f..53493c8e4778 100644
--- a/xen/arch/x86/cpu/mcheck/mce.c
+++ b/xen/arch/x86/cpu/mcheck/mce.c
@@ -14,7 +14,7 @@
 #include <xen/cpumask.h>
 #include <xen/event.h>
 #include <xen/guest_access.h>
-#include <xen/hypercall.h> /* for do_mca */
+#include <xen/hypercall.h>
 #include <xen/cpu.h>
 
 #include <asm/processor.h>
diff --git a/xen/arch/x86/include/asm/hypercall.h b/xen/arch/x86/include/asm/hypercall.h
index ec2edc771e9d..76658fff19ff 100644
--- a/xen/arch/x86/include/asm/hypercall.h
+++ b/xen/arch/x86/include/asm/hypercall.h
@@ -12,7 +12,7 @@
 #include <xen/types.h>
 #include <public/physdev.h>
 #include <public/event_channel.h>
-#include <public/arch-x86/xen-mca.h> /* for do_mca */
+#include <public/arch-x86/xen-mca.h>
 #include <asm/paging.h>
 
 #define __HYPERVISOR_paging_domctl_cont __HYPERVISOR_arch_1
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:26:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:26:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644013.1004638 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MSG-000659-27; Wed, 29 Nov 2023 15:26:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644013.1004638; Wed, 29 Nov 2023 15:26: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 1r8MSF-000652-Vd; Wed, 29 Nov 2023 15:26:23 +0000
Received: by outflank-mailman (input) for mailman id 644013;
 Wed, 29 Nov 2023 15:26: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=qQo/=HK=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8MSF-0005iD-8K
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:26:23 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a6ee133e-8ecb-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 16:26:22 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 4B5E44EE0737;
 Wed, 29 Nov 2023 16:26:22 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a6ee133e-8ecb-11ee-98e3-6d05b1d4d9a1
MIME-Version: 1.0
Date: Wed, 29 Nov 2023 16:26:22 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: nicola.vetrini@bugseng.com, xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 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>, George Dunlap
 <george.dunlap@citrix.com>
Subject: Re: [XEN PATCH 0/7] address some violations of MISRA C Rule 8.4
In-Reply-To: <cover.1701270983.git.nicola.vetrini@bugseng.com>
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
Message-ID: <21364448e2d9f89f1aa2d47f9c37aea8@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-29 16:24, Nicola Vetrini wrote:
> Hi all,
> 
> this series addresses some of the remaining violations of MISRA C:2012 
> Rule 8.4.
> 
> Some of the modifications are done according to the feedback received 
> in this
> thread [1]
> 

missing a reference:

[1] 
https://lore.kernel.org/xen-devel/51df0275d0988af618c22adb8d55138c@bugseng.com/T/#t


-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:29:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:29:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644029.1004649 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MVO-0007hK-Hb; Wed, 29 Nov 2023 15:29:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644029.1004649; Wed, 29 Nov 2023 15:29: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 1r8MVO-0007hD-Eq; Wed, 29 Nov 2023 15:29:38 +0000
Received: by outflank-mailman (input) for mailman id 644029;
 Wed, 29 Nov 2023 15:29: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 1r8MVM-0007h3-PV; Wed, 29 Nov 2023 15:29: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 1r8MVM-0005Vz-IY; Wed, 29 Nov 2023 15:29: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 1r8MVM-0001il-8I; Wed, 29 Nov 2023 15:29:36 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8MVM-0006YP-7l; Wed, 29 Nov 2023 15:29: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=rjVFo5D0MY5waj9JO8Tji51NV7uX797I74eqmdAWKtU=; b=AoLpEAge+RzGy0y3AcOA6MG9xU
	4BLfnoPhsRl9+H5IknZ5AVa+btgjkkO3MLhT+jk+gl8HywO55rUKdpvR0p2lT2kRDQ1tMO+xqfh8M
	IysHgiuaM08L6dyIpfU9vOGQlxFLTWctP178VEZ5lZslmMZTifp6Yx/0ok9vmEUL5zqQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183934-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183934: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=902377b690f42ddf44ae91c4b0751d597f1cd694
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 15:29:36 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  902377b690f42ddf44ae91c4b0751d597f1cd694
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183851  2023-11-24 09:03:53 Z    5 days
Failing since        183871  2023-11-27 14:00:26 Z    2 days   11 attempts
Testing same since   183934  2023-11-29 11:04:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Tamas K Lengyel <tamas@tklengyel.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   80c153c48b..902377b690  902377b690f42ddf44ae91c4b0751d597f1cd694 -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:34:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:34:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644035.1004659 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Ma4-0000nZ-9K; Wed, 29 Nov 2023 15:34:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644035.1004659; Wed, 29 Nov 2023 15:34: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 1r8Ma4-0000nS-6O; Wed, 29 Nov 2023 15:34:28 +0000
Received: by outflank-mailman (input) for mailman id 644035;
 Wed, 29 Nov 2023 15:34: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=rgXt=HK=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r8Ma3-0000nM-2L
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:34:27 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20609.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::609])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c6315a53-8ecc-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 16:34:25 +0100 (CET)
Received: from SN4PR0501CA0062.namprd05.prod.outlook.com
 (2603:10b6:803:41::39) by SA1PR12MB8118.namprd12.prod.outlook.com
 (2603:10b6:806:333::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Wed, 29 Nov
 2023 15:34:21 +0000
Received: from SN1PEPF0002636B.namprd02.prod.outlook.com
 (2603:10b6:803:41:cafe::12) by SN4PR0501CA0062.outlook.office365.com
 (2603:10b6:803:41::39) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22 via Frontend
 Transport; Wed, 29 Nov 2023 15:34:21 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SN1PEPF0002636B.mail.protection.outlook.com (10.167.241.136) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Wed, 29 Nov 2023 15:34:21 +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.2507.34; Wed, 29 Nov
 2023 09:34:20 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Wed, 29 Nov 2023 09:34:19 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c6315a53-8ecc-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ps1qrGnOFyEjHLVzsUeDOblO6UCTIMRncrn1FfAE9lD70/QGmPCdaQJbpWpqw00dLaQndc9BUWTZKgAVIrI7gt7KX/pmBBSXXVKIC5jt6mRoZ12xT7vfUQXI2da18wFca5mvluVYpvYQGOK36Kzw2qNp3pp93HPsUym/QW4rZbUGFkPMLgsalzduOy4VpSUZiwa2EDxlpn2Y2w7T/bD+6/91a2KjX/FyAxWISlNS80ym2ucyXDiUzWvBJ2b81n5O1zP8hgBEJ/9cQuh2Bp7xa+qhWT3bPHfblXEqWg7eWpyLHnZKb6ShmxElO0q/ZAykBFCqmA2ap8K4IqyBsSeN/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=DT403CQkFTD8W2wGghmWDzaAZbK5S9TTD71FwAtwAh8=;
 b=b0uAjD8faPC+ahJACDqXhIdYzG90FetZTx1Byo8B7ruq3nPax2hmrAe2LfewaUWJExrgAlM3uVin61o52i0MenBkB9Vse7ax9Dk13d/APmmuRnd540qMtXVLBap5YZANv32zZMEIw8hnAqK4djrjgNazxKxdiwsA5lSNUAgO8zAD42W0/99fD5KcsckYZoSCmMKfWsTZ7+DmXRNuVhqw34BqHdCO3PZF8QGIRK928A5zEWDvhfOI5dAlw5sG4RGpPnMlHf0O5eyZPh1elKzgHS/6umzVRm+/tyTqz0Rda4ZqCXipNciLflC2U6DVxbWRpwn7XdoM2FngDgGyHgrUQA==
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 (0)
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=DT403CQkFTD8W2wGghmWDzaAZbK5S9TTD71FwAtwAh8=;
 b=KFy3b8MDBKkUIcTzsBnZ+qVgzYoYP+JON7NW02ruCHKzQR5jCKNBCfcBXE5SrXIYBkHmCvsgF499J81f/aOJpcyTF3OZGfuAMiK1eha+jRL6OX5LWmKKZXiCzSjDkXnqE1b5zGe5dEfZTap3+OK5Ve4CA3I/xEkVpSekPPEeteI=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, 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: Move static event channel feature to a separate module
Date: Wed, 29 Nov 2023 16:34:17 +0100
Message-ID: <20231129153417.84421-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF0002636B:EE_|SA1PR12MB8118:EE_
X-MS-Office365-Filtering-Correlation-Id: 867c895b-4d5a-4108-8735-08dbf0f0a881
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	jBYtCBRF66HxUu0Zm7q+KClf3aJkDAJ5D2KGSIjDmtk1zsyi6UX5Okxz9cDG6z9NW7aeM26xcobbuiMVWleahHjZBk/NPmNvsNCN4Daxb4WIHXcHgN49tIG1CXgdSrnFSJSvVXZGT1PA5Zcf+9evk+dKvHYTakXVoZ7PrG5DM+IBc1NGWkGqp4/HLjRxqlIb6HHU3FbEMzg+BEPQPptvEyP7KWHP5kMCIFUStlgGVMvt51JwlubJkoywXxfLQvg/jLE0CbUx8gGPGttLqUHF0kNeqIqVSxfoNwPGN9ye8/AUiC2K/6ci3BWhN2AN2MZSNJLopnAiF2HVa4hBSEvRlKalmqtMW+KxkYPl4CVtWRM+/0TAN6lQ4TgNR3MvgZmkT7r8kidw43dUHu+cIFNNbUUz4MLg5nMkrp3KdBSWcJM4zrBM1Wna/xbFn+6Wm72K2k7TB5iEBGltBWmhI9bR2IftaWA0WBTOSl+jefVJ4jqOvFNhsy4Sc9eDgh1htTxjxgEP8GkZReTCL8UDipvQFN8hiYySsP0dp0kEUMkv9zViZ+USGABgg6WMsGyp3exdAz673ES7NDtuSPGafJ4j94nHGp4Sr9nqyOwZEQKgoDGS7yHAvjGQF1anTNrmDBlP0OdJTHkZjEP6fx+EOfYBMMF5bih5PLRRDMCx60CLnh6mOp9sARoRornFmiCL+e7s6pBPYNMW4xlPhItnXLWgacfgXIV+qn6S8JJmISXtJ6GyfOvBQU5OYLxOB5HtUXTFPsNEzAa5GjfJIjCLnprDLV/byVLhLHzWWV/Ih/itfmP696uqD/ldJN45DLci7B9J
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:(13230031)(4636009)(396003)(136003)(346002)(39860400002)(376002)(230922051799003)(230173577357003)(230273577357003)(186009)(451199024)(1800799012)(64100799003)(82310400011)(36840700001)(40470700004)(46966006)(82740400003)(336012)(426003)(36860700001)(40480700001)(81166007)(40460700003)(83380400001)(47076005)(356005)(2906002)(30864003)(86362001)(44832011)(5660300002)(8936002)(8676002)(4326008)(6916009)(316002)(70586007)(54906003)(70206006)(478600001)(41300700001)(36756003)(26005)(1076003)(2616005)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 15:34:21.2310
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 867c895b-4d5a-4108-8735-08dbf0f0a881
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:
	SN1PEPF0002636B.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB8118

Move static event channel feature related code to a separate module
(static-evtchn.{c,h}) in the spirit of fine granular configuration, so
that the feature can be disabled if not needed.

Introduce Kconfig option CONFIG_STATIC_EVTCHN, enabled by default (to
keep the current behavior) dependent on CONFIG_DOM0LESS. While it could
be possible to create a loopback connection for dom0 only, this use case
does not really need this feature and all the docs and commit messages
refer explicitly to the use in dom0less system.

The only function visible externally is alloc_static_evtchn(), so move
the prototype to static-evtchn.h and provide a stub in case a feature
is disabled. Guard static_evtchn_created in struct dt_device_node and
move its helpers to static-evtchn.h.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
This is a follow up to Luca's dom0less features modularization.
I'm not sure what's the best strategy for static_evtchn_created helpers.
We could also guard them in device_tree.h for ease of removal when we find
a better way for handling the flag.
---
 xen/arch/arm/Kconfig                     |   8 ++
 xen/arch/arm/Makefile                    |   1 +
 xen/arch/arm/domain_build.c              | 146 ---------------------
 xen/arch/arm/include/asm/setup.h         |   1 -
 xen/arch/arm/include/asm/static-evtchn.h |  41 ++++++
 xen/arch/arm/setup.c                     |   1 +
 xen/arch/arm/static-evtchn.c             | 159 +++++++++++++++++++++++
 xen/include/xen/device_tree.h            |  14 +-
 8 files changed, 212 insertions(+), 159 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/static-evtchn.h
 create mode 100644 xen/arch/arm/static-evtchn.c

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index f73b62e50d00..50e9bfae1ac8 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -217,6 +217,14 @@ config STATIC_SHM
 	help
 	  This option enables statically shared memory on a dom0less system.
 
+config STATIC_EVTCHN
+	bool "Static event channel support on a dom0less system"
+	depends on DOM0LESS_BOOT
+	default y
+	help
+	  This option enables establishing static event channel communication
+	  between domains on a dom0less system (domU-domU as well as domU-dom0).
+
 endmenu
 
 menu "ARM errata workaround via the alternative framework"
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 809772417c14..33c677672fe6 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -51,6 +51,7 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
+obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
 obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
 obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
 obj-y += sysctl.o
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index df66fb88d8ec..613b2885cebb 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -38,8 +38,6 @@
 #include <xen/grant_table.h>
 #include <xen/serial.h>
 
-#define STATIC_EVTCHN_NODE_SIZE_CELLS 2
-
 static unsigned int __initdata opt_dom0_max_vcpus;
 integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
 
@@ -1919,150 +1917,6 @@ void __init evtchn_allocate(struct domain *d)
     d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
 }
 
-static int __init get_evtchn_dt_property(const struct dt_device_node *np,
-                                         uint32_t *port, uint32_t *phandle)
-{
-    const __be32 *prop = NULL;
-    uint32_t len;
-
-    prop = dt_get_property(np, "xen,evtchn", &len);
-    if ( !prop )
-    {
-        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
-        return -EINVAL;
-    }
-
-    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
-    {
-        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
-        return -EINVAL;
-    }
-
-    *port = dt_next_cell(1, &prop);
-    *phandle = dt_next_cell(1, &prop);
-
-    return 0;
-}
-
-static int __init alloc_domain_evtchn(struct dt_device_node *node)
-{
-    int rc;
-    uint32_t domU1_port, domU2_port, remote_phandle;
-    struct dt_device_node *remote_node;
-    const struct dt_device_node *p1_node, *p2_node;
-    struct evtchn_alloc_unbound alloc_unbound;
-    struct evtchn_bind_interdomain bind_interdomain;
-    struct domain *d1 = NULL, *d2 = NULL;
-
-    if ( !dt_device_is_compatible(node, "xen,evtchn-v1") )
-        return 0;
-
-    /*
-     * Event channel is already created while parsing the other side of
-     * evtchn node.
-     */
-    if ( dt_device_static_evtchn_created(node) )
-        return 0;
-
-    rc = get_evtchn_dt_property(node, &domU1_port, &remote_phandle);
-    if ( rc )
-        return rc;
-
-    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;
-    }
-
-    rc = get_evtchn_dt_property(remote_node, &domU2_port, &remote_phandle);
-    if ( rc )
-        return rc;
-
-    if ( node->phandle != remote_phandle )
-    {
-        printk(XENLOG_ERR "xen,evtchn property is not setup correctly.\n");
-        return -EINVAL;
-    }
-
-    p1_node = dt_get_parent(node);
-    if ( !p1_node )
-    {
-        printk(XENLOG_ERR "evtchn: evtchn parent node is NULL\n" );
-        return -EINVAL;
-    }
-
-    p2_node = dt_get_parent(remote_node);
-    if ( !p2_node )
-    {
-        printk(XENLOG_ERR "evtchn: remote parent node is NULL\n" );
-        return -EINVAL;
-    }
-
-    d1 = get_domain_by_id(p1_node->used_by);
-    d2 = get_domain_by_id(p2_node->used_by);
-
-    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 )
-    {
-        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 )
-    {
-        printk(XENLOG_ERR
-                "evtchn_bind_interdomain() failure (Error %d) \n", rc);
-        return rc;
-    }
-
-    dt_device_set_static_evtchn_created(node);
-    dt_device_set_static_evtchn_created(remote_node);
-
-    return 0;
-}
-
-void __init alloc_static_evtchn(void)
-{
-    struct dt_device_node *node, *evtchn_node;
-    struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
-
-    BUG_ON(chosen == NULL);
-
-    if ( hardware_domain )
-        dt_device_set_used_by(chosen, hardware_domain->domain_id);
-
-    dt_for_each_child_node(chosen, node)
-    {
-        if ( hardware_domain )
-        {
-            if ( alloc_domain_evtchn(node) != 0 )
-                panic("Could not set up domains evtchn\n");
-        }
-
-        dt_for_each_child_node(node, evtchn_node)
-        {
-            if ( alloc_domain_evtchn(evtchn_node) != 0 )
-                panic("Could not set up domains evtchn\n");
-        }
-    }
-}
-
 static void __init find_gnttab_region(struct domain *d,
                                       struct kernel_info *kinfo)
 {
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index bda3c07b8797..d15a88d2e0d1 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -136,7 +136,6 @@ void acpi_create_efi_mmap_table(struct domain *d,
 int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
 
 void create_dom0(void);
-void alloc_static_evtchn(void);
 
 void discard_initial_modules(void);
 void fw_unreserved_regions(paddr_t s, paddr_t e,
diff --git a/xen/arch/arm/include/asm/static-evtchn.h b/xen/arch/arm/include/asm/static-evtchn.h
new file mode 100644
index 000000000000..472673fae345
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-evtchn.h
@@ -0,0 +1,41 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_STATIC_EVTCHN_H_
+#define __ASM_STATIC_EVTCHN_H_
+
+#ifdef CONFIG_STATIC_EVTCHN
+
+#include <xen/device_tree.h>
+
+#define STATIC_EVTCHN_NODE_SIZE_CELLS 2
+
+void alloc_static_evtchn(void);
+
+static inline void
+dt_device_set_static_evtchn_created(struct dt_device_node *device)
+{
+    device->static_evtchn_created = true;
+}
+
+static inline bool
+dt_device_static_evtchn_created(const struct dt_device_node *device)
+{
+    return device->static_evtchn_created;
+}
+
+#else /* !CONFIG_STATIC_EVTCHN */
+
+static inline void alloc_static_evtchn(void) {};
+
+#endif /* CONFIG_STATIC_EVTCHN */
+
+#endif /* __ASM_STATIC_EVTCHN_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index d07ea044db48..59dd9bb25a9f 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -36,6 +36,7 @@
 #include <asm/alternative.h>
 #include <asm/dom0less-build.h>
 #include <asm/page.h>
+#include <asm/static-evtchn.h>
 #include <asm/current.h>
 #include <asm/setup.h>
 #include <asm/gic.h>
diff --git a/xen/arch/arm/static-evtchn.c b/xen/arch/arm/static-evtchn.c
new file mode 100644
index 000000000000..b824694762ec
--- /dev/null
+++ b/xen/arch/arm/static-evtchn.c
@@ -0,0 +1,159 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/event.h>
+
+#include <asm/static-evtchn.h>
+
+static int __init get_evtchn_dt_property(const struct dt_device_node *np,
+                                         uint32_t *port, uint32_t *phandle)
+{
+    const __be32 *prop = NULL;
+    uint32_t len;
+
+    prop = dt_get_property(np, "xen,evtchn", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
+        return -EINVAL;
+    }
+
+    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
+    {
+        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
+        return -EINVAL;
+    }
+
+    *port = dt_next_cell(1, &prop);
+    *phandle = dt_next_cell(1, &prop);
+
+    return 0;
+}
+
+static int __init alloc_domain_evtchn(struct dt_device_node *node)
+{
+    int rc;
+    uint32_t domU1_port, domU2_port, remote_phandle;
+    struct dt_device_node *remote_node;
+    const struct dt_device_node *p1_node, *p2_node;
+    struct evtchn_alloc_unbound alloc_unbound;
+    struct evtchn_bind_interdomain bind_interdomain;
+    struct domain *d1 = NULL, *d2 = NULL;
+
+    if ( !dt_device_is_compatible(node, "xen,evtchn-v1") )
+        return 0;
+
+    /*
+     * Event channel is already created while parsing the other side of
+     * evtchn node.
+     */
+    if ( dt_device_static_evtchn_created(node) )
+        return 0;
+
+    rc = get_evtchn_dt_property(node, &domU1_port, &remote_phandle);
+    if ( rc )
+        return rc;
+
+    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;
+    }
+
+    rc = get_evtchn_dt_property(remote_node, &domU2_port, &remote_phandle);
+    if ( rc )
+        return rc;
+
+    if ( node->phandle != remote_phandle )
+    {
+        printk(XENLOG_ERR "xen,evtchn property is not setup correctly.\n");
+        return -EINVAL;
+    }
+
+    p1_node = dt_get_parent(node);
+    if ( !p1_node )
+    {
+        printk(XENLOG_ERR "evtchn: evtchn parent node is NULL\n" );
+        return -EINVAL;
+    }
+
+    p2_node = dt_get_parent(remote_node);
+    if ( !p2_node )
+    {
+        printk(XENLOG_ERR "evtchn: remote parent node is NULL\n" );
+        return -EINVAL;
+    }
+
+    d1 = get_domain_by_id(p1_node->used_by);
+    d2 = get_domain_by_id(p2_node->used_by);
+
+    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 )
+    {
+        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 )
+    {
+        printk(XENLOG_ERR
+                "evtchn_bind_interdomain() failure (Error %d) \n", rc);
+        return rc;
+    }
+
+    dt_device_set_static_evtchn_created(node);
+    dt_device_set_static_evtchn_created(remote_node);
+
+    return 0;
+}
+
+void __init alloc_static_evtchn(void)
+{
+    struct dt_device_node *node, *evtchn_node;
+    struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
+
+    BUG_ON(chosen == NULL);
+
+    if ( hardware_domain )
+        dt_device_set_used_by(chosen, hardware_domain->domain_id);
+
+    dt_for_each_child_node(chosen, node)
+    {
+        if ( hardware_domain )
+        {
+            if ( alloc_domain_evtchn(node) != 0 )
+                panic("Could not set up domains evtchn\n");
+        }
+
+        dt_for_each_child_node(node, evtchn_node)
+        {
+            if ( alloc_domain_evtchn(evtchn_node) != 0 )
+                panic("Could not set up domains evtchn\n");
+        }
+    }
+}
+
+/*
+ * 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/xen/device_tree.h b/xen/include/xen/device_tree.h
index 3ae7b45429b6..492363bcde10 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -94,8 +94,10 @@ struct dt_device_node {
     /* IOMMU specific fields */
     bool is_protected;
 
+#ifdef CONFIG_STATIC_EVTCHN
     /* HACK: Remove this if there is a need of space */
     bool static_evtchn_created;
+#endif
 
     /*
      * The main purpose of this list is to link the structure in the list
@@ -366,18 +368,6 @@ static inline bool dt_property_name_is_equal(const struct dt_property *pp,
     return !dt_prop_cmp(pp->name, name);
 }
 
-static inline void
-dt_device_set_static_evtchn_created(struct dt_device_node *device)
-{
-    device->static_evtchn_created = true;
-}
-
-static inline bool
-dt_device_static_evtchn_created(const struct dt_device_node *device)
-{
-    return device->static_evtchn_created;
-}
-
 /**
  * dt_find_compatible_node - Find a node based on type and one of the
  *                           tokens in its "compatible" property
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:53:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:53:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644104.1004668 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MsO-0005xT-Ny; Wed, 29 Nov 2023 15:53:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644104.1004668; Wed, 29 Nov 2023 15:53: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 1r8MsO-0005xM-LM; Wed, 29 Nov 2023 15:53:24 +0000
Received: by outflank-mailman (input) for mailman id 644104;
 Wed, 29 Nov 2023 15:53: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=xuz2=HK=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r8MsM-0005xF-Uv
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:53:23 +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 6be7d3d5-8ecf-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 16:53:21 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a011e9bf336so954287566b.3
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 07:53:21 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6be7d3d5-8ecf-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701273201; x=1701878001; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=hBp+fk+bSKBdjq+spVKbfJflMlcqlsQ73yRsfRGaOs4=;
        b=lUA1W/uY19xK6aeP9yknMGnKhgGjcxTkvW4ZdlNKUqJNMAqNlukJ3G8rPIGSenjdjA
         j/t/Lu92z3TkGF+c02q+wmqtZx15NCuYD1foOMM85FKBCRhu5qWIAkDw1q4cHZ5K+n3i
         XPhkATrOoj4V1oSvKgdLtQF/sOEa2MkG6nrAA=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701273201; x=1701878001;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=hBp+fk+bSKBdjq+spVKbfJflMlcqlsQ73yRsfRGaOs4=;
        b=M38AIgNBfj0DylGn99hPXd6mlTFOmRMoWpQLjIyaLTzJQVdhey28wcSLzmNWaD/h89
         EzzfgEK4dunRahCatZnNigr5kAQ6P1FGP652FcwmmTDquEhw6IzNqRiI3iQisB+Wh2Wm
         9a9zTvR4ycyth/Ez0+mQQ56gYKhXyiAEDSVPXyEB30wz2oPDqFm8atw+CvcXNzYaT3lB
         T9O5Jw6YAqWSoWUvLvXedE5B2bX2B/ZEjXcZT8aL3FhOuUZxF9Zh/g9vpdQi0Sl5kAcS
         z7PouxGzWFBbyNHHuVItM5y8c4+jyyhCARYjlcrHjZZRXzJf2uDEjLs6pU9AfEOZOUuw
         cgTQ==
X-Gm-Message-State: AOJu0YwFi/6DSFbK5PsPFEejWE3qNOZgDiyj0yhQUHR8EQA/nlhs3flv
	cHV53iGyL5LmYw5Ik2GZ0hNBsCFvsBhDeddj15fWIT1qJ2LRXnV+CM8=
X-Google-Smtp-Source: AGHT+IEpBh7epoOMeK4HHm4+g600fifywKuLimJLzj6t9qArQPmjjL1+U+0JlecIgVvZQaiB9DlurNxG0OpNgkaAYBk=
X-Received: by 2002:a17:906:194f:b0:a04:3f97:f3f1 with SMTP id
 b15-20020a170906194f00b00a043f97f3f1mr14403528eje.58.1701273200706; Wed, 29
 Nov 2023 07:53:20 -0800 (PST)
MIME-Version: 1.0
References: <CAO-mL=wq2_gtE224RfavM3o6mhEASwygN6-fnKEP1YNUiuWEig@mail.gmail.com>
 <6554b6b7.df0a0220.412e6.4a71@mx.google.com> <CAO-mL=zCOA2-q6DpRSJ4O2mvdx9ypJPg7VXC14_+ZWy8Eqt7Yw@mail.gmail.com>
In-Reply-To: <CAO-mL=zCOA2-q6DpRSJ4O2mvdx9ypJPg7VXC14_+ZWy8Eqt7Yw@mail.gmail.com>
From: Kelly Choi <kelly.choi@cloud.com>
Date: Wed, 29 Nov 2023 15:52:44 +0000
Message-ID: <CAO-mL=y1X_nbggFBbCpWDSCR_ttshcpkU4Xo9wd2zEWbpgy-vg@mail.gmail.com>
Subject: Re: Important - Documentation Discussion
To: xen-devel@lists.xenproject.org
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Content-Type: multipart/alternative; boundary="000000000000cb6383060b4c8823"

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

Hi all,

After gathering different feedback from members of the community, please
see below.

*We will be moving ahead with Git + RST + Sphinx + Kroki as the new
platforms for user documentation.*

*Many of you have specified you don't necessarily have a preference for the
platform, but instead a need for updated content. *

Anticipated next steps:

   1. Begin scoping how documentation will be split out (e.g. getting
   started/tutorials/how-tos)
   2. Building out the new documentation platform
   3. Migrate the existing/relevant content over to the new platform
   4. Commit changes in Git
   5. Use Sphinx to generate HTML or other formats needed from RST files
   6. Align this to be launched on our new Xen Project webpage. (We may
   have the existing content visible whilst we work on revamping the
   documentation.)
   7. Create smaller working groups to update and plan documentation, and
   update these periodically, before pushing to the new webpage.

This will be a joint effort within the community, and I am hoping to
count on our members to facilitate these changes. I'll be asking everyone
for their help, but if you'd like to volunteer on any of the specific
steps, please let me know. The smaller working groups are likely to split
into teams concerning the subprojects, but this is open for discussion.

Many thanks,
Kelly Choi

Xen Project Community Manager
XenServer, Cloud Software Group


On Fri, Nov 17, 2023 at 1:58=E2=80=AFPM Kelly Choi <kelly.choi@cloud.com> w=
rote:

> Hey Alejandro,
>
> Thanks for your feedback.
> I'll consider all your points, and any other comments from the community
> before proceeding on the next steps.
>
> If anyone else has any further ideas, please let me know *Friday 24th
> November 2023.*
>
> Many thanks,
> Kelly Choi
>
> Open Source Community Manager
> XenServer, Cloud Software Group
>
>
> On Wed, Nov 15, 2023 at 12:16=E2=80=AFPM Alejandro Vallejo <
> alejandro.vallejo@cloud.com> wrote:
>
>> Hi,
>>
>> On Wed, Nov 15, 2023 at 11:43:46AM +0000, Kelly Choi wrote:
>> > Hi all,
>> >
>> > As you may be aware, we are in the process of reviewing our existing
>> > documentation platform and content. In order to meet the requirements =
of
>> > the community and project, I need your input and feedback.
>> >
>> > The aim of the new documentation is to encourage community members to
>> > collaborate in updating content (where possible) and educate users on
>> how
>> > the project works. The updated documentation will be hosted on our new
>> > upcoming website.
>> >
>> > *Suggestion for user-orientated documentation:*
>> >
>> >    - git - for hosting (gitlab recommended)
>> >    - RST - for the format of the documentation
>> >    - Sphynx - to generate web pages and PDF and other formats from RST
>> In my experience Sphinx's strength is in its ability to cross-reference
>> the
>> code. That isn't something terribly helpful for user documentation, and =
it
>> makes the whole thing harder to set up for no clear benefit.
>>
>> For user-facing docs I'd propose `mkdocs` instead, which is a lot more
>> focused and simpler to set up (can be done literally in a couple of
>> minutes). The main difference would be that it takes Markdown rather tha=
n
>> RST[1]. It trivially supports plugins for interesting things, like merma=
id
>> (for sequence/block diagrams or FSMs)
>>
>> Main website: https://www.mkdocs.org/
>> Plugin catalog: https://github.com/mkdocs/catalog
>>     * mermaid plugin: https://github.com/fralau/mkdocs-mermaid2-plugin
>>     * kroki plugin: https://kroki.io/
>>
>> [1] I happen to prefer Markdown, as I find it easier to read and write,
>> but
>>     that's just personal preference
>>
>> >
>> > *Suggestion for developer reference documentation:*
>> >
>> >    - Doxygen
>> >    - Kerneldoc
>> >    - Open to other suggestions here
>> There's 2 areas here. The format for the annotations, and the
>> visualization
>> frontend. They need not be the same. Using Doxygen seems the less
>> "not-invented-here" approach, while kerneldoc would
>>
>> As for the frontend I would suggest to _not_ use Doxygen itself as the
>> generated websites are hideous to look at. Sphinx (through Breathe) or a=
ny
>> other Doxygen-database parse wouldr do the job as well providing a much
>> (much) better output.
>>
>> >
>> > Example of how documentation will be split:
>> >
>> >    1. Getting started/beginner user guides
>> >    2. Learning orientated tutorials
>> >    3. Goal-orientated how-to guides
>> >    4. Developer related documentation
>> (1-3) seem like pretty much the same thing. Guides of increasing
>> complexity
>> meant to train a new user/admin. Dividing such a section in those 3 bloc=
ks
>> seems sensible.
>>
>> (4) could be split in a "Developer Manual", which would contain plain
>> explanation for dev-heavy concepts, and a "Reference Manual" with links =
to
>> the Doxygen-esque websites and a higher focus on implementation details.
>>
>> >
>> > Side note: Whilst I appreciate everyone has a different vision of what
>> > ideal documentation looks like, please be mindful that not everyone's
>> > thought processes or depth of knowledge are the same. All ideas are
>> > welcome, and decisions made will always reflect community needs.
>> >
>> > Many thanks,
>> > Kelly Choi
>> >
>> > Open Source Community Manager
>> > XenServer, Cloud Software Group
>>
>> Cheers,
>> Alejandro
>>
>

--000000000000cb6383060b4c8823
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hi all,<div><br></div><div>After gatherin=
g different feedback from members of the community, please see below.</div>=
<div><b><br></b></div><div><b>We will be moving ahead with=C2=A0<u>Git=C2=
=A0+ RST=C2=A0+ Sphinx=C2=A0+ Kroki</u>=C2=A0as the new platforms for user =
documentation.</b></div><div><b><br></b></div><div><i>Many of you have spec=
ified you don&#39;t necessarily have a preference=C2=A0for the platform, bu=
t instead a need for updated content.=C2=A0</i></div><div><br></div><div>An=
ticipated next steps:</div><div><ol><li>Begin scoping how documentation wil=
l be split out (e.g. getting started/tutorials/how-tos)</li><li>Building ou=
t the new documentation platform=C2=A0</li><li>Migrate the existing/relevan=
t content over to the new platform=C2=A0</li><li>Commit changes in Git=C2=
=A0</li><li>Use Sphinx to generate HTML or other formats needed from RST fi=
les</li><li>Align this to be launched on our new Xen Project webpage. (We m=
ay have the existing content visible=C2=A0whilst we work on revamping the d=
ocumentation.)</li><li>Create smaller working groups to update and plan doc=
umentation, and update these periodically, before pushing to the new webpag=
e.=C2=A0</li></ol><div>This will be a joint effort within the community, an=
d I am hoping to count=C2=A0on our members to facilitate=C2=A0these changes=
. I&#39;ll be asking everyone for their help, but if you&#39;d like to volu=
nteer on any of the specific steps, please let me know. The smaller working=
 groups are likely to split into teams concerning the subprojects, but this=
 is open for=C2=A0discussion.=C2=A0</div></div><div><br></div><div><div><di=
v dir=3D"ltr" class=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,<=
/div><div>Kelly Choi</div><div><br></div><div><div style=3D"color:rgb(136,1=
36,136)">Xen Project Community Manager</div><div style=3D"color:rgb(136,136=
,136)">XenServer, Cloud Software Group</div></div></div></div></div><br></d=
iv></div><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_att=
r">On Fri, Nov 17, 2023 at 1:58=E2=80=AFPM Kelly Choi &lt;<a href=3D"mailto=
:kelly.choi@cloud.com" target=3D"_blank">kelly.choi@cloud.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"><div dir=3D"lt=
r">Hey Alejandro,<div><br></div><div>Thanks for your feedback.</div><div>I&=
#39;ll consider all your points, and any other comments from the community =
before proceeding on the next steps.</div><div><br></div><div>If anyone els=
e has any further ideas, please let me know <b><u>Friday 24th November 2023=
.</u></b></div><div><b><u><br clear=3D"all"></u></b><div><div dir=3D"ltr" c=
lass=3D"gmail_signature"><div dir=3D"ltr"><div>Many thanks,</div><div>Kelly=
 Choi</div><div><br></div><div><div style=3D"color:rgb(136,136,136)">Open S=
ource Community Manager</div><div style=3D"color:rgb(136,136,136)">XenServe=
r, Cloud Software Group</div></div></div></div></div><br></div></div><br><d=
iv class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov =
15, 2023 at 12:16=E2=80=AFPM Alejandro Vallejo &lt;<a href=3D"mailto:alejan=
dro.vallejo@cloud.com" target=3D"_blank">alejandro.vallejo@cloud.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,<br>
<br>
On Wed, Nov 15, 2023 at 11:43:46AM +0000, Kelly Choi wrote:<br>
&gt; Hi all,<br>
&gt; <br>
&gt; As you may be aware, we are in the process of reviewing our existing<b=
r>
&gt; documentation platform and content. In order to meet the requirements =
of<br>
&gt; the community and project, I need your input and feedback.<br>
&gt; <br>
&gt; The aim of the new documentation is to encourage community members to<=
br>
&gt; collaborate in updating content (where possible) and educate users on =
how<br>
&gt; the project works. The updated documentation will be hosted on our new=
<br>
&gt; upcoming website.<br>
&gt; <br>
&gt; *Suggestion for user-orientated documentation:*<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 - git - for hosting (gitlab recommended)<br>
&gt;=C2=A0 =C2=A0 - RST - for the format of the documentation<br>
&gt;=C2=A0 =C2=A0 - Sphynx - to generate web pages and PDF and other format=
s from RST<br>
In my experience Sphinx&#39;s strength is in its ability to cross-reference=
 the<br>
code. That isn&#39;t something terribly helpful for user documentation, and=
 it<br>
makes the whole thing harder to set up for no clear benefit.<br>
<br>
For user-facing docs I&#39;d propose `mkdocs` instead, which is a lot more<=
br>
focused and simpler to set up (can be done literally in a couple of<br>
minutes). The main difference would be that it takes Markdown rather than<b=
r>
RST[1]. It trivially supports plugins for interesting things, like mermaid<=
br>
(for sequence/block diagrams or FSMs) <br>
<br>
Main website: <a href=3D"https://www.mkdocs.org/" rel=3D"noreferrer" target=
=3D"_blank">https://www.mkdocs.org/</a><br>
Plugin catalog: <a href=3D"https://github.com/mkdocs/catalog" rel=3D"norefe=
rrer" target=3D"_blank">https://github.com/mkdocs/catalog</a><br>
=C2=A0 =C2=A0 * mermaid plugin: <a href=3D"https://github.com/fralau/mkdocs=
-mermaid2-plugin" rel=3D"noreferrer" target=3D"_blank">https://github.com/f=
ralau/mkdocs-mermaid2-plugin</a><br>
=C2=A0 =C2=A0 * kroki plugin: <a href=3D"https://kroki.io/" rel=3D"noreferr=
er" target=3D"_blank">https://kroki.io/</a><br>
<br>
[1] I happen to prefer Markdown, as I find it easier to read and write, but=
<br>
=C2=A0 =C2=A0 that&#39;s just personal preference<br>
<br>
&gt; <br>
&gt; *Suggestion for developer reference documentation:*<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 - Doxygen<br>
&gt;=C2=A0 =C2=A0 - Kerneldoc<br>
&gt;=C2=A0 =C2=A0 - Open to other suggestions here<br>
There&#39;s 2 areas here. The format for the annotations, and the visualiza=
tion<br>
frontend. They need not be the same. Using Doxygen seems the less<br>
&quot;not-invented-here&quot; approach, while kerneldoc would <br>
<br>
As for the frontend I would suggest to _not_ use Doxygen itself as the<br>
generated websites are hideous to look at. Sphinx (through Breathe) or any<=
br>
other Doxygen-database parse wouldr do the job as well providing a much<br>
(much) better output.<br>
<br>
&gt; <br>
&gt; Example of how documentation will be split:<br>
&gt; <br>
&gt;=C2=A0 =C2=A0 1. Getting started/beginner user guides<br>
&gt;=C2=A0 =C2=A0 2. Learning orientated tutorials<br>
&gt;=C2=A0 =C2=A0 3. Goal-orientated how-to guides<br>
&gt;=C2=A0 =C2=A0 4. Developer related documentation<br>
(1-3) seem like pretty much the same thing. Guides of increasing complexity=
<br>
meant to train a new user/admin. Dividing such a section in those 3 blocks<=
br>
seems sensible.<br>
<br>
(4) could be split in a &quot;Developer Manual&quot;, which would contain p=
lain<br>
explanation for dev-heavy concepts, and a &quot;Reference Manual&quot; with=
 links to<br>
the Doxygen-esque websites and a higher focus on implementation details.<br=
>
<br>
&gt; <br>
&gt; Side note: Whilst I appreciate everyone has a different vision of what=
<br>
&gt; ideal documentation looks like, please be mindful that not everyone&#3=
9;s<br>
&gt; thought processes or depth of knowledge are the same. All ideas are<br=
>
&gt; welcome, and decisions made will always reflect community needs.<br>
&gt; <br>
&gt; Many thanks,<br>
&gt; Kelly Choi<br>
&gt; <br>
&gt; Open Source Community Manager<br>
&gt; XenServer, Cloud Software Group<br>
<br>
Cheers,<br>
Alejandro<br>
</blockquote></div>
</blockquote></div></div>

--000000000000cb6383060b4c8823--


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 15:55:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 15:55:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644107.1004679 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Muc-0006ZQ-Ay; Wed, 29 Nov 2023 15:55:42 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644107.1004679; Wed, 29 Nov 2023 15: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 1r8Muc-0006ZJ-6f; Wed, 29 Nov 2023 15:55:42 +0000
Received: by outflank-mailman (input) for mailman id 644107;
 Wed, 29 Nov 2023 15:55: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=Uyrv=HK=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r8MuZ-0006Z9-SR
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 15:55:40 +0000
Received: from NAM02-BN1-obe.outbound.protection.outlook.com
 (mail-bn1nam02on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eb2::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bbc60fcc-8ecf-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 16:55:37 +0100 (CET)
Received: from BL0PR0102CA0037.prod.exchangelabs.com (2603:10b6:208:25::14) by
 IA1PR12MB8586.namprd12.prod.outlook.com (2603:10b6:208:44e::9) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7025.29; Wed, 29 Nov 2023 15:55:32 +0000
Received: from BL02EPF0001A101.namprd05.prod.outlook.com
 (2603:10b6:208:25:cafe::32) by BL0PR0102CA0037.outlook.office365.com
 (2603:10b6:208:25::14) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29 via Frontend
 Transport; Wed, 29 Nov 2023 15:55:32 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0001A101.mail.protection.outlook.com (10.167.241.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Wed, 29 Nov 2023 15:55:32 +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.2507.34; Wed, 29 Nov
 2023 09:55:29 -0600
Received: from [172.27.137.28] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 29 Nov 2023 09:55:28 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bbc60fcc-8ecf-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KbrEXsrduzYV1oPgLUkZWJZfDZwv7dNSgt33jqBAZvkLWGAcfAU3PplRk4gz7J1WiT9bywXPM6aZ4c5Nc4TRjw6G+w+eCEUYm+KB726/ETVCXezW7MkyMs2Y7t0qXEZJQ3rUVBdFl5eXqHaquMP+N7DJMmib/UWHdMmG4Nb5JqTCITGYIvOxmNAk4kv6UrlekSigzkj44/07tLExS7PrMo3+WSmdQ8ATU7f7987hB4Uvgv2o+ZeBYYQ6LX5k3qGzdM9GIbCK8jDUffuY8WPpCXMcm/bfoITSPyeafI6bRIIumuBUkcatCyWkkGHXFA7LkMfjKKb6JXqtJElVMQJgzw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZP2lczezGp1Mbf67op031hoWzRqiLUyWTHsL7F1US78=;
 b=dVmAO8TB0LoqAzJSSsDhko7x5uBs/cke0p9n/8j74lSjrld9KC/tXkEHfXewaIsqXE3Mm6OA4PGWkI2A8EpTV7srBkspHLoOdWMeNHhqk+Wlviocrq3DO+vnT/ruQyA8EenMFq/0lsi+F7P4hXeMsBh0KSFilfX2lG3XY5P+m8Y2p//BOSlSqswqMK0DY0pVXd36c01JTGWnF4Ny7eNuYUj67iVdIQyv7ABfiKzkuIb7bIQSoqJ6QZhhDr45DtOKjHtfeOl77pbGq2Q2xzfJs5NvipEvCYhHLx4xS5OAMG1AZw+VjzGSE/jWT42xUEBvvX7A0eBdxHZc4fuKh9IDWA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=citrix.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 (0)
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=ZP2lczezGp1Mbf67op031hoWzRqiLUyWTHsL7F1US78=;
 b=Ail3T7+zZIAF8hAFjNDjFcHE+5NKIHGdlxn3y4u9igB3bqBKW0hZSOQ8ioUFxolaMK3UyEeWFO4MTwRUOWlgVs7SaBe6j9jIehs9dhBy9pkoUON0h5ZGJOXszun5InCr4gwRuMfW4S1utEnXTjYP/NgBbZumAtwEU7nvXD+PsW4=
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: <92b49bec-4d07-4f27-83f3-dca886e6fcc1@amd.com>
Date: Wed, 29 Nov 2023 10:55:27 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 2/2] xen/vpci: header: filter PCI capabilities
Content-Language: en-US
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@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>
References: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
 <20231128194427.2513249-3-stewart.hildebrand@amd.com>
 <ZWdFFa1J6l73kvxb@macbook>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <ZWdFFa1J6l73kvxb@macbook>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A101:EE_|IA1PR12MB8586:EE_
X-MS-Office365-Filtering-Correlation-Id: 2960b872-3c59-43c2-087b-08dbf0f39e5f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	q6FPZsKDYc1lsugYBSDb85+tLtV03ghVbmCWNozB2H+A/Ec50Jud0WpfxE5ltJLirK/EjE2dJuGH+Eg/WKy+ynGQ7Au7kQ9JbTDLf03pjCZhKrPtm4nZT/fh45+zre4jDQBTJw4o5123VlWeAQji2YUpmzzJ6bN5+E0ThEy3HPPesaqepEzYT/K4Y/uOidCA9knFQmGZ0OZ7TaF0zA9xlHLDnct5yPvQbZe0ScV6KAmyfKy85npP/iGAwUMwDzmOSKtd8hB05EfCC4A517PKitX3lZdjUUNYmLj9SdusVozmzeoi7ZCriAGOrtiIA3M4puvIzSfsf+P/KdhpXRh40A+1CPzSj9FR6Ow6a0VB/cb5TjV2UAJgeFm5MYuG9TfPl+NowTIcANvis5TwWNpe2R6pt5eZd7Qdr4HKZUU8gmc/HZxT/3Oj5ASwcyh6FmcKoNWs8uSQc98MtpavWW6u7cnvP8Z+eboy9SMnUhbbQqgENG/j9jjKcJqWaUnzuKbIe3b0rdq5+JKD1ZeLKRDjOi4gvwrkwiiDA68WmsVFvVI83VVr4phE6cXagdBHGgJ0IkClJmJc/0vRCAZyRIWxo5fiYUMhbWOzaVbkzjdWeWH10u90+7QlPPaUvCs/l+nGvfWesLDlQxFNU/Mp8qAErjPCnBgX8/kUbER6gRnK1RSCL95fbcr3f9x8dGr9lEoPen6srQUJ1MSoETP0dgQUhe5vJrneMxr4i24yXI/uV6H76rM6R1wZjWY0OcBN4A4mqpwB9zjijX2OprO5JmwPVKDrLLwUJbCNbO217epybH4GGRudmF1SOYuZLFY0wAcj
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:(13230031)(4636009)(136003)(376002)(346002)(396003)(39860400002)(230922051799003)(451199024)(1800799012)(186009)(82310400011)(64100799003)(40470700004)(46966006)(36840700001)(31696002)(26005)(36756003)(40460700003)(44832011)(336012)(478600001)(82740400003)(426003)(83380400001)(2616005)(86362001)(4326008)(8676002)(8936002)(53546011)(2906002)(66899024)(36860700001)(16576012)(6916009)(54906003)(41300700001)(316002)(70586007)(70206006)(31686004)(40480700001)(5660300002)(356005)(81166007)(47076005)(36900700001)(43740500002);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 15:55:32.7335
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 2960b872-3c59-43c2-087b-08dbf0f39e5f
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:
	BL02EPF0001A101.namprd05.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8586

On 11/29/23 09:05, Roger Pau Monné wrote:
> On Tue, Nov 28, 2023 at 02:44:25PM -0500, Stewart Hildebrand wrote:
>> Currently, Xen vPCI only supports virtualizing the MSI and MSI-X capabilities.
>> Hide all other PCI capabilities (including extended capabilities) from domUs for
>> now, even though there may be certain devices/drivers that depend on being able
>> to discover certain capabilities.
>>
>> We parse the physical PCI capabilities linked list and add vPCI register
>> handlers for the next elements, inserting our own next value, thus presenting a
>> modified linked list to the domU.
>>
>> Introduce helper functions vpci_hw_read8 and vpci_read_val. The vpci_read_val
>> helper function returns a fixed value, which may be used for RAZ registers, or
>                                                                ^ read as zero

I'll change it

>> registers whose value doesn't change.
>>
>> Introduce pci_find_next_cap_ttl() helper while adapting the logic from
>> pci_find_next_cap() to suit our needs, and implement the existing
>> pci_find_next_cap() in terms of the new helper.
>>
>> Signed-off-by: Stewart Hildebrand <stewart.hildebrand@amd.com>
> 
> LGTM, some nits below:
> 
> Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks!

> 
>> ---
>> v7->v8:
>> * use to array instead of match function
>> * include lib.h for ARRAY_SIZE
>> * don't emulate PCI_CAPABILITY_LIST register if PCI_STATUS_CAP_LIST bit is not
>>   set in hardware
>> * spell out RAZ/WI acronym
>> * dropped R-b tag since the patch has changed moderately since the last rev
>>
>> v6->v7:
>> * no change
>>
>> v5->v6:
>> * add register handlers before status register handler in init_bars()
>> * s/header->mask_cap_list/mask_cap_list/
>>
>> v4->v5:
>> * use more appropriate types, continued
>> * get rid of unnecessary hook function
>> * add Jan's R-b
>>
>> v3->v4:
>> * move mask_cap_list setting to this patch
>> * leave pci_find_next_cap signature alone
>> * use more appropriate types
>>
>> v2->v3:
>> * get rid of > 0 in loop condition
>> * implement pci_find_next_cap in terms of new pci_find_next_cap_ttl function so
>>   that hypothetical future callers wouldn't be required to pass &ttl.
>> * change NULL to (void *)0 for RAZ value passed to vpci_read_val
>> * change type of ttl to unsigned int
>> * remember to mask off the low 2 bits of next in the initial loop iteration
>> * change return type of pci_find_next_cap and pci_find_next_cap_ttl
>> * avoid wrapping the PCI_STATUS_CAP_LIST condition by using ! instead of == 0
>>
>> v1->v2:
>> * change type of ttl to int
>> * use switch statement instead of if/else
>> * adapt existing pci_find_next_cap helper instead of rolling our own
>> * pass ttl as in/out
>> * "pass through" the lower 2 bits of the next pointer
>> * squash helper functions into this patch to avoid transient dead code situation
>> * extended capabilities RAZ/WI
>> ---
>>  xen/drivers/pci/pci.c     | 31 ++++++++++++-------
>>  xen/drivers/vpci/header.c | 63 +++++++++++++++++++++++++++++++++++++++
>>  xen/drivers/vpci/vpci.c   | 12 ++++++++
>>  xen/include/xen/pci.h     |  3 ++
>>  xen/include/xen/vpci.h    |  5 ++++
>>  5 files changed, 104 insertions(+), 10 deletions(-)
>>
>> diff --git a/xen/drivers/pci/pci.c b/xen/drivers/pci/pci.c
>> index 3569ccb24e9e..1645b3118220 100644
>> --- a/xen/drivers/pci/pci.c
>> +++ b/xen/drivers/pci/pci.c
>> @@ -39,31 +39,42 @@ unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap)
>>      return 0;
>>  }
>>  
>> -unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
>> -                               unsigned int cap)
>> +unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
>> +                                   unsigned int *cap, unsigned int n,
>> +                                   unsigned int *ttl)
>>  {
>> -    u8 id;
>> -    int ttl = 48;
>> +    unsigned int id, i;
> 
> Nit: those can be defined inside the while loop.

I'll move them

> 
>> -    while ( ttl-- )
>> +    while ( (*ttl)-- )
>>      {
>>          pos = pci_conf_read8(sbdf, pos);
>>          if ( pos < 0x40 )
>>              break;
>>  
>> -        pos &= ~3;
>> -        id = pci_conf_read8(sbdf, pos + PCI_CAP_LIST_ID);
>> +        id = pci_conf_read8(sbdf, (pos & ~3) + PCI_CAP_LIST_ID);
>>  
>>          if ( id == 0xff )
>>              break;
>> -        if ( id == cap )
>> -            return pos;
>> +        for ( i = 0; i < n; i++ )
>> +        {
>> +            if ( id == cap[i] )
>> +                return pos;
>> +        }
>>  
>> -        pos += PCI_CAP_LIST_NEXT;
>> +        pos = (pos & ~3) + PCI_CAP_LIST_NEXT;
>>      }
>> +
>>      return 0;
>>  }
>>  
>> +unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
>> +                               unsigned int cap)
>> +{
>> +    unsigned int ttl = 48;
>> +
>> +    return pci_find_next_cap_ttl(sbdf, pos, &cap, 1, &ttl) & ~3;
>> +}
>> +
>>  /**
>>   * pci_find_ext_capability - Find an extended capability
>>   * @sbdf: PCI device to query
>> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c
>> index 351318121e48..d7dc0c82a6ba 100644
>> --- a/xen/drivers/vpci/header.c
>> +++ b/xen/drivers/vpci/header.c
>> @@ -18,6 +18,7 @@
>>   */
>>  
>>  #include <xen/iocap.h>
>> +#include <xen/lib.h>
>>  #include <xen/sched.h>
>>  #include <xen/softirq.h>
>>  #include <xen/vpci.h>
>> @@ -545,6 +546,68 @@ static int cf_check init_bars(struct pci_dev *pdev)
> 
> Could you please rename to init_header now that we do much more than
> dealing with the BARs?

Yes. Hm. Do you think it's deserving of a separate patch? It's a 2-line change.

> 
>>      if ( rc )
>>          return rc;
>>  
>> +    if ( !is_hardware_domain(pdev->domain) )
>> +    {
>> +        if ( pci_conf_read16(pdev->sbdf, PCI_STATUS) & PCI_STATUS_CAP_LIST )
>> +        {
>> +            /* Only expose capabilities to the guest that vPCI can handle. */
>> +            unsigned int next, ttl = 48;
>> +            unsigned int supported_caps[] = {
> 
> const?

Will do

> 
> We likely need to find a way to do this programmatically, so that when
> a new capability is supported we don't need to go and modify the list
> here every time.  We can sort that out at a later point however.
> 
>> +                PCI_CAP_ID_MSI,
>> +                PCI_CAP_ID_MSIX,
>> +            };
>> +
>> +            next = pci_find_next_cap_ttl(pdev->sbdf, PCI_CAPABILITY_LIST,
>> +                                         supported_caps,
>> +                                         ARRAY_SIZE(supported_caps), &ttl);
>> +
>> +            rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
>> +                                   PCI_CAPABILITY_LIST, 1,
>> +                                   (void *)(uintptr_t)next);
>> +            if ( rc )
>> +                return rc;
>> +
>> +            next &= ~3;
>> +
>> +            if ( !next )
>> +                /*
>> +                 * If we don't have any supported capabilities to expose to the
>> +                 * guest, mask the PCI_STATUS_CAP_LIST bit in the status
>> +                 * register.
>> +                 */
>> +                mask_cap_list = true;
>> +
>> +            while ( next && ttl )
>> +            {
>> +                unsigned int pos = next;
>> +
>> +                next = pci_find_next_cap_ttl(pdev->sbdf,
>> +                                             pos + PCI_CAP_LIST_NEXT,
>> +                                             supported_caps,
>> +                                             ARRAY_SIZE(supported_caps), &ttl);
>> +
>> +                rc = vpci_add_register(pdev->vpci, vpci_hw_read8, NULL,
>> +                                       pos + PCI_CAP_LIST_ID, 1, NULL);
>> +                if ( rc )
>> +                    return rc;
>> +
>> +                rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL,
>> +                                       pos + PCI_CAP_LIST_NEXT, 1,
>> +                                       (void *)(uintptr_t)next);
>> +                if ( rc )
>> +                    return rc;
>> +
>> +                next &= ~3;
>> +            }
>> +        }
>> +
>> +        /* Extended capabilities read as zero, write ignore */
>> +        rc = vpci_add_register(pdev->vpci, vpci_read_val, NULL, 0x100, 4,
>> +                               (void *)0);
>> +        if ( rc )
>> +            return rc;
>> +    }
>> +
>>      /* Utilize rsvdp_mask to hide PCI_STATUS_CAP_LIST from the guest. */
>>      rc = vpci_add_register_mask(pdev->vpci, vpci_hw_read16, vpci_hw_write16,
>>                                  PCI_STATUS, 2, NULL,
>> diff --git a/xen/drivers/vpci/vpci.c b/xen/drivers/vpci/vpci.c
>> index 96187b70141b..99307e310bbb 100644
>> --- a/xen/drivers/vpci/vpci.c
>> +++ b/xen/drivers/vpci/vpci.c
>> @@ -137,6 +137,18 @@ static void cf_check vpci_ignored_write(
>>  {
>>  }
>>  
>> +uint32_t cf_check vpci_read_val(
>> +    const struct pci_dev *pdev, unsigned int reg, void *data)
>> +{
>> +    return (uintptr_t)data;
>> +}
>> +
>> +uint32_t cf_check vpci_hw_read8(
>> +    const struct pci_dev *pdev, unsigned int reg, void *data)
>> +{
>> +    return pci_conf_read8(pdev->sbdf, reg);
>> +}
>> +
>>  uint32_t cf_check vpci_hw_read16(
>>      const struct pci_dev *pdev, unsigned int reg, void *data)
>>  {
>> diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h
>> index 50d7dfb2a2fd..b2dcef01a1cf 100644
>> --- a/xen/include/xen/pci.h
>> +++ b/xen/include/xen/pci.h
>> @@ -205,6 +205,9 @@ int pci_mmcfg_read(unsigned int seg, unsigned int bus,
>>  int pci_mmcfg_write(unsigned int seg, unsigned int bus,
>>                      unsigned int devfn, int reg, int len, u32 value);
>>  unsigned int pci_find_cap_offset(pci_sbdf_t sbdf, unsigned int cap);
>> +unsigned int pci_find_next_cap_ttl(pci_sbdf_t sbdf, unsigned int pos,
>> +                                   unsigned int *cap, unsigned int n,
>> +                                   unsigned int *ttl);
>>  unsigned int pci_find_next_cap(pci_sbdf_t sbdf, unsigned int pos,
>>                                 unsigned int cap);
>>  unsigned int pci_find_ext_capability(pci_sbdf_t sbdf, unsigned int cap);
>> diff --git a/xen/include/xen/vpci.h b/xen/include/xen/vpci.h
>> index 8e8e42372ec1..3c14a74d6255 100644
>> --- a/xen/include/xen/vpci.h
>> +++ b/xen/include/xen/vpci.h
>> @@ -52,7 +52,12 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size);
>>  void vpci_write(pci_sbdf_t sbdf, unsigned int reg, unsigned int size,
>>                  uint32_t data);
>>  
>> +uint32_t cf_check vpci_read_val(
>> +    const struct pci_dev *pdev, unsigned int reg, void *data);
> 
> A small comment could be helpful: helper to return the value passed in the data
> parameter.

Will do

> 
> Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 16:00:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 16:00:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644111.1004689 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8MzK-0001Rp-Sz; Wed, 29 Nov 2023 16:00:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644111.1004689; Wed, 29 Nov 2023 16:00: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 1r8MzK-0001Ri-QI; Wed, 29 Nov 2023 16:00:34 +0000
Received: by outflank-mailman (input) for mailman id 644111;
 Wed, 29 Nov 2023 16:00: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=l7XS=HK=cloud.com=alejandro.vallejo@srs-se1.protection.inumbo.net>)
 id 1r8MzJ-0001Rc-Gk
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 16:00:33 +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 6c48f08a-8ed0-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 17:00:31 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-40b4f6006d5so14774875e9.1
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 08:00:31 -0800 (PST)
Received: from EMEAENGAAD19049.citrite.net
 (default-46-102-197-194.interdsl.co.uk. [46.102.197.194])
 by smtp.gmail.com with ESMTPSA id
 r5-20020adfce85000000b0033314c63881sm2828493wrn.22.2023.11.29.08.00.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 29 Nov 2023 08:00:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6c48f08a-8ed0-11ee-98e3-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701273631; x=1701878431; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=hBcHra9Y1Q4gvcfz2SoEQCJlciSK32eaIEbRIUY8qBU=;
        b=E/Sdvplod70Q2OIUGn446E/LJt2t68Gwxyn3IDDhXBcwL2DB+0LKy6iaR6Daub6EEC
         cOitJ+8BByKnkQmP9Nf8uOhKgqttpPNaPJQMI1cJBA0IZCzxiQZTPXA96KYRYpp0zjR3
         zrFJphCPYkc2UobZoMDqBRXOyqF86zHtn3km8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701273631; x=1701878431;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=hBcHra9Y1Q4gvcfz2SoEQCJlciSK32eaIEbRIUY8qBU=;
        b=ROsiOGxLErtLsAeBOVO7PnezVAhI+jBUPF8pxzKrayviJwM4tLLxy04oDlD7Z+A+0f
         UiSDJFwJODDHUDili18AOy7W0a3gQpG1I9swckDv3SH4NgLYsW0yBEDwnMN84IfMrekU
         NIn97O0w5ccezFUZ+pulUnxJQ7Jl8BvzAc9ftUMtq8NT85d8yNk0M/G95mVNbsBh90Dx
         Nl8EkqFkCkQKTE1lYXwEssn/C2pa/uBqwD97TnaL28R7hvUlQzXFU7GLzSCC0NGGeWf6
         jPq9i6ccIFaZBS8oajttl9G8Aiycpag2N58Kq5VEr66dVQ+HT+VvAGcN+cCKR29KRZ/9
         1Gkw==
X-Gm-Message-State: AOJu0YwWa4vcHkmABjOvy6gLK1sjQF7Jw7fEu2K4hpoGs0uCwdJvUHk8
	xWyvjx18+WbNDnGCFlL42lU+cF9ic/9hCz3iHJI=
X-Google-Smtp-Source: AGHT+IGp+rROAxm6g/NazMTgybVVYdHzIIoaHqIICbGvpOqBqel6SbmVluEb8aecpXZqpext5HhOlw==
X-Received: by 2002:a05:600c:4453:b0:40b:5464:b241 with SMTP id v19-20020a05600c445300b0040b5464b241mr1234417wmn.4.1701273631016;
        Wed, 29 Nov 2023 08:00:31 -0800 (PST)
From: Alejandro Vallejo <alejandro.vallejo@cloud.com>
To: Xen-devel <xen-devel@lists.xenproject.org>
Cc: Alejandro Vallejo <alejandro.vallejo@cloud.com>,
	Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>
Subject: [PATCH] tools/xg: Fix potential memory leak in cpu policy getters/setters
Date: Wed, 29 Nov 2023 16:00:28 +0000
Message-Id: <20231129160028.67226-1-alejandro.vallejo@cloud.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

They allocate two different hypercall buffers, but leak the first
allocation if the second one failed due to an early return that bypasses
cleanup.

Remove the early exit and go through _post() instead. Invoking _post() is
benign even if _pre() failed.

Fixes: 6b85e427098c ('x86/sysctl: Implement XEN_SYSCTL_get_cpu_policy')
Fixes: 60529dfeca14 ('x86/domctl: Implement XEN_DOMCTL_get_cpu_policy')
Fixes: 14ba07e6f816 ('x86/domctl: Implement XEN_DOMCTL_set_cpumsr_policy')
Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>
---
 tools/libs/guest/xg_cpuid_x86.c | 86 +++++++++++++++------------------
 1 file changed, 39 insertions(+), 47 deletions(-)

diff --git a/tools/libs/guest/xg_cpuid_x86.c b/tools/libs/guest/xg_cpuid_x86.c
index 4497087daa..db5aebc815 100644
--- a/tools/libs/guest/xg_cpuid_x86.c
+++ b/tools/libs/guest/xg_cpuid_x86.c
@@ -136,20 +136,20 @@ static int get_system_cpu_policy(xc_interface *xch, uint32_t index,
     DECLARE_HYPERCALL_BOUNCE(msrs,
                              *nr_msrs * sizeof(*msrs),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
-    int ret;
-
-    if ( xc_hypercall_bounce_pre(xch, leaves) ||
-         xc_hypercall_bounce_pre(xch, msrs) )
-        return -1;
+    int ret = -1;
 
-    sysctl.cmd = XEN_SYSCTL_get_cpu_policy;
-    sysctl.u.cpu_policy.index = index;
-    sysctl.u.cpu_policy.nr_leaves = *nr_leaves;
-    set_xen_guest_handle(sysctl.u.cpu_policy.leaves, leaves);
-    sysctl.u.cpu_policy.nr_msrs = *nr_msrs;
-    set_xen_guest_handle(sysctl.u.cpu_policy.msrs, msrs);
-
-    ret = do_sysctl(xch, &sysctl);
+    if ( !xc_hypercall_bounce_pre(xch, leaves) &&
+         !xc_hypercall_bounce_pre(xch, msrs) )
+    {
+        sysctl.cmd = XEN_SYSCTL_get_cpu_policy;
+        sysctl.u.cpu_policy.index = index;
+        sysctl.u.cpu_policy.nr_leaves = *nr_leaves;
+        set_xen_guest_handle(sysctl.u.cpu_policy.leaves, leaves);
+        sysctl.u.cpu_policy.nr_msrs = *nr_msrs;
+        set_xen_guest_handle(sysctl.u.cpu_policy.msrs, msrs);
+
+        ret = do_sysctl(xch, &sysctl);
+    }
 
     xc_hypercall_bounce_post(xch, leaves);
     xc_hypercall_bounce_post(xch, msrs);
@@ -174,20 +174,20 @@ static int get_domain_cpu_policy(xc_interface *xch, uint32_t domid,
     DECLARE_HYPERCALL_BOUNCE(msrs,
                              *nr_msrs * sizeof(*msrs),
                              XC_HYPERCALL_BUFFER_BOUNCE_OUT);
-    int ret;
-
-    if ( xc_hypercall_bounce_pre(xch, leaves) ||
-         xc_hypercall_bounce_pre(xch, msrs) )
-        return -1;
-
-    domctl.cmd = XEN_DOMCTL_get_cpu_policy;
-    domctl.domain = domid;
-    domctl.u.cpu_policy.nr_leaves = *nr_leaves;
-    set_xen_guest_handle(domctl.u.cpu_policy.leaves, leaves);
-    domctl.u.cpu_policy.nr_msrs = *nr_msrs;
-    set_xen_guest_handle(domctl.u.cpu_policy.msrs, msrs);
+    int ret = -1;
 
-    ret = do_domctl(xch, &domctl);
+    if ( !xc_hypercall_bounce_pre(xch, leaves) &&
+         !xc_hypercall_bounce_pre(xch, msrs) )
+    {
+        domctl.cmd = XEN_DOMCTL_get_cpu_policy;
+        domctl.domain = domid;
+        domctl.u.cpu_policy.nr_leaves = *nr_leaves;
+        set_xen_guest_handle(domctl.u.cpu_policy.leaves, leaves);
+        domctl.u.cpu_policy.nr_msrs = *nr_msrs;
+        set_xen_guest_handle(domctl.u.cpu_policy.msrs, msrs);
+
+        ret = do_domctl(xch, &domctl);
+    }
 
     xc_hypercall_bounce_post(xch, leaves);
     xc_hypercall_bounce_post(xch, msrs);
@@ -214,32 +214,24 @@ int xc_set_domain_cpu_policy(xc_interface *xch, uint32_t domid,
     DECLARE_HYPERCALL_BOUNCE(msrs,
                              nr_msrs * sizeof(*msrs),
                              XC_HYPERCALL_BUFFER_BOUNCE_IN);
-    int ret;
-
-    if ( err_leaf_p )
-        *err_leaf_p = -1;
-    if ( err_subleaf_p )
-        *err_subleaf_p = -1;
-    if ( err_msr_p )
-        *err_msr_p = -1;
+    int ret = -1;
 
-    if ( xc_hypercall_bounce_pre(xch, leaves) )
-        return -1;
-
-    if ( xc_hypercall_bounce_pre(xch, msrs) )
-        return -1;
-
-    domctl.cmd = XEN_DOMCTL_set_cpu_policy;
-    domctl.domain = domid;
-    domctl.u.cpu_policy.nr_leaves = nr_leaves;
-    set_xen_guest_handle(domctl.u.cpu_policy.leaves, leaves);
-    domctl.u.cpu_policy.nr_msrs = nr_msrs;
-    set_xen_guest_handle(domctl.u.cpu_policy.msrs, msrs);
     domctl.u.cpu_policy.err_leaf = -1;
     domctl.u.cpu_policy.err_subleaf = -1;
     domctl.u.cpu_policy.err_msr = -1;
 
-    ret = do_domctl(xch, &domctl);
+    if ( !xc_hypercall_bounce_pre(xch, leaves) &&
+         !xc_hypercall_bounce_pre(xch, msrs) )
+    {
+        domctl.cmd = XEN_DOMCTL_set_cpu_policy;
+        domctl.domain = domid;
+        domctl.u.cpu_policy.nr_leaves = nr_leaves;
+        set_xen_guest_handle(domctl.u.cpu_policy.leaves, leaves);
+        domctl.u.cpu_policy.nr_msrs = nr_msrs;
+        set_xen_guest_handle(domctl.u.cpu_policy.msrs, msrs);
+
+        ret = do_domctl(xch, &domctl);
+    }
 
     xc_hypercall_bounce_post(xch, leaves);
     xc_hypercall_bounce_post(xch, msrs);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 16:06:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 16:06:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644115.1004702 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8N5H-0002Q7-IT; Wed, 29 Nov 2023 16:06:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644115.1004702; Wed, 29 Nov 2023 16:06: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 1r8N5H-0002Q0-FS; Wed, 29 Nov 2023 16:06:43 +0000
Received: by outflank-mailman (input) for mailman id 644115;
 Wed, 29 Nov 2023 16:06: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 1r8N5G-0002Pq-Q3; Wed, 29 Nov 2023 16:06: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 1r8N5G-00072F-Gu; Wed, 29 Nov 2023 16:06: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 1r8N5G-0002d7-4y; Wed, 29 Nov 2023 16:06:42 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8N5G-0003VM-4Q; Wed, 29 Nov 2023 16:06: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=biz1skXk4mM+P36C0mZvcCQklmeS2cS76QkIMZMwusU=; b=5YVxmFgYpf9bVC6n7VsfcxmlOD
	RsfP80PweT6IhO03RxP+i0uFDTbVbRCoasWdR2XDLLFr8QPAsMXEKYU1DeqZ0vJ2luzJ6JPL9rSAq
	6l2Ibz5N8bPU0tpX6moOXzRxXdzo/nQozdlaG4PFuzx7I+mBp40+uZ0wJczZbcBzNqwc=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183922-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183922: tolerable FAIL
X-Osstest-Failures:
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-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-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-pvshim:guest-start: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-arm64-arm64-xl-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-armhf-armhf-xl-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-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-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-libvirt-raw:migrate-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    xen=80c153c48b255bae61948827241c26671207cf4e
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 16:06:42 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 183860
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183877
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183877
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183877
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183877
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183877
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183877
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183877
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183877
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183877
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183877
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183877
 test-amd64-i386-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-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-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          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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 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-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-credit1  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit1  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-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-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-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-libvirt     15 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:
 xen                  80c153c48b255bae61948827241c26671207cf4e
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183922  2023-11-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                                          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-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-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 Wed Nov 29 16:44:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 16:44:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644122.1004712 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Nfy-0003Au-K8; Wed, 29 Nov 2023 16:44:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644122.1004712; Wed, 29 Nov 2023 16:44: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 1r8Nfy-0003An-Gt; Wed, 29 Nov 2023 16:44:38 +0000
Received: by outflank-mailman (input) for mailman id 644122;
 Wed, 29 Nov 2023 16:44: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=jm3Y=HK=gmail.com=marietto2008@srs-se1.protection.inumbo.net>)
 id 1r8Nfx-0003Ah-8w
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 16:44:37 +0000
Received: from mail-ej1-x636.google.com (mail-ej1-x636.google.com
 [2a00:1450:4864:20::636])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 93dec033-8ed6-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 17:44:35 +0100 (CET)
Received: by mail-ej1-x636.google.com with SMTP id
 a640c23a62f3a-a03a9009572so948441066b.3
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 08:44:35 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 93dec033-8ed6-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701276274; x=1701881074; darn=lists.xenproject.org;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:from:to:cc:subject:date:message-id:reply-to;
        bh=2+cL+eCm5WeoI0pgf0QZURRprjfAcNdXcmpRF1/+2so=;
        b=diE6SxlYQQ4H+YZ6TdUJQKemLg2aoNDBAZnEVoTuFL6gbwth5B6O45nbClE33+j0NT
         VBAj41BXkJRfYHLdm4YingJlkjrkueewcdPb/6Hg1pDuUbF9HSPwb04MGScVpYGKGbqP
         U1wcsR7EuY5lyYrNNsUIn6SMkxp4b7PlO6UE31QTHuDM2BHM5rub12VGM1YDaKE0HamP
         cPXs96XXHHa3CUm392R0vWljr7ga78HHAU4bkzAvmYuq9xHgWNByw+ibWVQYIvrBdyfL
         AiOPI4CbZyTC34XeV1FOIcKSRZGic1KrIKFcug3ZoVlaM3euDbNa4jeQY7wyTthzLr5D
         qHEw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701276274; x=1701881074;
        h=cc:to:subject:message-id:date:from:in-reply-to:references
         :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=2+cL+eCm5WeoI0pgf0QZURRprjfAcNdXcmpRF1/+2so=;
        b=ZUXTjKBPKZzLV09x/qzc6pB2NcxvIF/1a7nmizEMo6QwItns8sAgnT9hjA3QwBYk/x
         W+bGpYZOqzxvdkjTPqV2Fz8gUwxRLAcyQvfaY7nDf1Ljqv8HlV2f1p7q02q+PnsjYjHz
         nEGsXJaK54R/tsYsTDEZy4UJ5yN2wYhhBWA6ekrxPTKEB2BTZakFGnxbAQ9pn+Jpr2NK
         78pgGvNMA2KZzy0fw6xOLiZKOUXPM3aDF0yc6L8Hk1Ti8/kHSYS9OiIr/nNcYht/BG1Y
         ajwfdkCRV1zjPzXqfVefsF7dnCU4F+uwPj4gLv5T0jG1xAvdCn5dnogIlqWyrOxJMLB4
         vfdg==
X-Gm-Message-State: AOJu0YyhvXHUip5CWM4OquPJtd57pq/X00tbzvL6ikjxjOQMEWygO0+v
	5PSpVM2DVwOyYlDdHmeLDVHg8ud30078b8E/ag8=
X-Google-Smtp-Source: AGHT+IGF7siz7eBWhyoBvGVKEr0QVg28KItUD8c+zlMh28YN19E/nFP3KbgdKA3QGR2ZfDHUflCYr5zCIH4msYBwUkE=
X-Received: by 2002:a17:906:fa06:b0:a0d:ebfe:e404 with SMTP id
 lo6-20020a170906fa0600b00a0debfee404mr9574534ejb.22.1701276274194; Wed, 29
 Nov 2023 08:44:34 -0800 (PST)
MIME-Version: 1.0
References: <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com>
 <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net> <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
 <ZWUgfkP4U5kOmQNj@mattapan.m5p.com> <ZWXvBMaRJ5Lbb5S9@macbook>
 <CA+1FSii4WeKQBuzW9TS_AkHD2nbm=Q+iL9j3wkfu+ZsC0V_=1w@mail.gmail.com>
 <ZWYC-omtTOxIHNwF@macbook> <ZWZyEtGMhjRba/Z2@mattapan.m5p.com>
In-Reply-To: <ZWZyEtGMhjRba/Z2@mattapan.m5p.com>
From: Mario Marietto <marietto2008@gmail.com>
Date: Wed, 29 Nov 2023 17:43:57 +0100
Message-ID: <CA+1FSiiPOJOWkqGm_yATWyiZCDFgHYkHT0CVBqdcvK78AdeFoA@mail.gmail.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32 bit
To: Elliott Mitchell <ehem+freebsd@m5p.com>
Cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
	Chuck Zmudzinski <brchuckz@netscape.net>, Demi Marie Obenour <demi@invisiblethingslab.com>, 
	Anthony PERARD <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>, 
	Xen-devel <xen-devel@lists.xenproject.org>, 
	Stefano Stabellini <sstabellini@kernel.org>, Bertrand Marquis <Bertrand.Marquis@arm.com>, 
	Michal Orzel <michal.orzel@amd.com>
Content-Type: multipart/alternative; boundary="000000000000fcfb70060b4d3f32"

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

Hello to everyone.

I tried to use xen as a hypervisor instead of kvm + libvirt + virt-manager
to boot FreeBSD on my ARM Chromebook where I have installed Devuan 5,since
Stefano said :

"That might work. libvirt + virt-manager with the xen accelerator might
work on the ARM Chromebook. That's because as far as I know Xen integration
in libvirt is done via linking to libxl directly and libxl is supported and
working on ARM"

Unfortunately something is not working properly. What I did has been to
reboot the machine in xen,enable libvirtd & and virtlogd & and virt-manager
&,but this is what happened :

Traceback (most recent call last):
  File "/usr/lib/xen-4.17/bin/pygrub", line 884, in <module>
    raise RuntimeError("Unable to find partition containing kernel")
RuntimeError: Unable to find partition containing kernel

I think it does not recognize the FreeBSD file system structure and its
kernel. Libvirt seems to have been programmed to boot Linux,not FreeBSD.

In Fact,I did the counterproof and it seems to be like this :


According with this post :

https://blog.roberthallam.org/2020/05/solving-unable-to-find-partition-cont=
aining-kernel/

I've created a file called menu.lst inside the boot directory of the image
file called "debian.img",adding the following content inside :

default 0
timeout 10
title Debian
root (hd0,1)
kernel /boot/vmlinux-6.1.59-stb-xen-cbe+ root=3D/dev/xvda
initrd /boot/initrd.img-6.1.59-stb-xen-cbe+

and I tried again to boot the image using virt-manager. It gave this error
again :

root@devuan-bunsen:/mnt/zroot2/zroot2/OS/Chromebook/FreeBSD-guestOS/linux-x=
en/debian2/boot#
2023-11-29 15:21:09.266+0000: 2467: error : libxlDomainStartPerform:1256 :
internal error: libxenlight failed to create new domain 'debian12'

but giving a look inside the log file and I found this interesting
situation ;

Using <class 'grub.GrubConf.GrubConfigFile'> to parse /boot/grub/menu.lst
(B )0 [1;24r [m [?7h [?1h =3D [H [J [?1h =3D [1B    pyGRUB  version 0.6
[1B [0m
lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
[1B [0m x [0;7m Debian 12
          [m [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m x [72C [0m x
[1B [0m
mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
[1B [70D [0m Use the =E2=86=91 and =E2=86=93 keys to select which entry is =
highlighted. [1B
[58DPress enter to boot the selected OS, 'e' to edit the [1B [52Dcommands
before booting, 'a' to modify the kernel arguments [1B [59Dbefore booting,
or 'c' for a command line. [12A [26C [17B [68DWill boot selected entry in
10 seconds [?1h =3D
[J [17A [73C [17B [68DWill boot selected entry in  9 seconds [?1h =3D
[J [17A [73C [17B [68DWill boot selected entry in  8 seconds [?1h =3D
[J [17A [73C [17B [68DWill boot selected entry in  7 seconds [?1h =3D
[J [17A [73C [17B [68DWill boot selected entry in  6 seconds [?1h =3D
[J [17A [73C [17B [68DWill boot selected entry in  5 seconds [?1h =3D
[J [17A [73C [17B [68DWill boot selected entry in  4 seconds [?1h =3D
[J [17A [73C [17B [68DWill boot selected entry in  3 seconds [?1h =3D
[J [17A [73C [17B [68DWill boot selected entry in  2 seconds [?1h =3D
[J [17A [73C [17B [68DWill boot selected entry in  1 seconds [?1l > [24;1H
[?1l >

so,it seems that it tried to boot,but for an unknown reason,it still gives
the error.

Anyway : My xen setup is not broken anymore ; Using Libvirt Linux seems to
be able to boot,FreeBSD does not. Using the "raw" method of booting FreeBSD
as domU could be another story that I will try soon.

But before trying to compile the correct freebsd kernel that's recognized
by xen using the Elliott Michell code,I need to understand well what's the
procedure that will work. So below you can read what I will try to do :

$ truncate -s 100G xenvm.img
$ mdconfig -f xenvm.img -u 0
$ newfs /dev/md0
$ mount /dev/md0 /mnt
$ git clone https://gitlab.com/ehem/freebsd-src.git
$ cd freebsd-src

$ make  -DNO_MODULES   KERNCONF=3DGENERIC TARGET=3Darm TARGET_ARCH=3Darmv7
DESTDIR=3D/build buildkernel

$ echo "/dev/xbd0       /       ufs     rw      1
1" > /mnt/etc/fstab

$ nano /build/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc"
xterm on secure")
$ umount /build
$ mdconfig -d -u 0

Do you see errors ? some missing ?


---> I've only ever tried arm64, but since arm32 didn't appear to need
much to be operational I tried to
make it possible.  In theory it /should/ work on arm32, but I've never
tried it.  What was missing was
I had never added it to the configuration and one link was needed.
Updated "submit" branch has a tiny
adjustment.

I didn't understand how to apply the patch that's inside the "submit" branc=
h.



On Wed, Nov 29, 2023 at 12:05=E2=80=AFAM Elliott Mitchell <ehem+freebsd@m5p=
.com>
wrote:

> On Tue, Nov 28, 2023 at 04:10:50PM +0100, Roger Pau Monn=C3=A9 wrote:
> > On Tue, Nov 28, 2023 at 03:09:14PM +0100, Mario Marietto wrote:
> > > For booting a FreeBSD kernel as a guest OS on XEN,should we install x=
en
> > > 4.18 from source ?
>
> > I don't think so, I'm not aware of the FreeBSD port requiring a
> > specific version of Xen.  I do think the work is limited to aarch64
> > however, so there's no support in sight for arm32 FreeBSD guests as
> > far as I'm aware.
>
> I've only ever tried arm64, but since arm32 didn't appear to need much
> to have operational I tried to make it possible.  In theory it /should/
> work on arm32, but I've never tried it.  What was missing was I had never
> added it to the configuration and one link was needed.  Updated "submit"
> branch has the tiny adjustment.
>
> (the only difference is the hypercall wrappers, register naming and where
> the op code goes, very simple compatibility)
>
>
> On Tue, Nov 28, 2023 at 02:45:40PM +0100, Roger Pau Monn=C3=A9 wrote:
> > On Mon, Nov 27, 2023 at 03:04:30PM -0800, Elliott Mitchell wrote:
> > > BTW Roger Pau Monn=C3=A9, now that Xen 4.18 is out, take a look at th=
e
> > > "royger" branch?
> >
> > I've pushed a bunch of those, there are still some, I've made comments
> > on the branch.
> >
> > I think there isn't much left after the swept I've done.
> >
> > If you can rebase and reply to the comments I will take a look at
> > what's remaining.
>
> Done.  I'm unsure you'll like the xs_attach_children() approach.  Thing
> is that really is appropriate given the situation.  #2 is the urgent one
> as that is the handy approach to the hypercall declarations.
>
>
> --
> (\___(\___(\______          --=3D> 8-) EHM <=3D--          ______/)___/)_=
__/)
>  \BS (    |         ehem+sigmsg@m5p.com  PGP 87145445         |    )   /
>   \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
> 8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445
>
>
>

--=20
Mario.

--000000000000fcfb70060b4d3f32
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><div>Hello to everyone.</div><div><br></d=
iv><div>I tried to use xen as a hypervisor instead of kvm + libvirt + virt-=
manager to boot FreeBSD on my ARM
Chromebook where I have installed Devuan 5,since Stefano said :=C2=A0</div>=
<div><br></div><div>&quot;That might work. libvirt + virt-manager with the =
xen accelerator might work on the
ARM Chromebook. That&#39;s because as far as I know Xen integration in libv=
irt is done via
linking to libxl directly and libxl is supported and working on ARM&quot;=
=C2=A0</div><div><br></div><div>Unfortunately something is not working prop=
erly. What I did has been to reboot the machine
in xen,enable libvirtd &amp; and virtlogd &amp; and virt-manager &amp;,but =
this is what
happened :</div><div><br></div><div><div class=3D"gmail-adn gmail-ads"><div=
 class=3D"gmail-gs"><div class=3D"gmail-"><div id=3D"gmail-:13g" class=3D"g=
mail-ii gmail-gt"><div id=3D"gmail-:13f" class=3D"gmail-a3s gmail-aiL"><div=
 dir=3D"ltr"><div dir=3D"ltr"><div role=3D"listitem" aria-expanded=3D"true"=
><div><div><div><div id=3D"m_-8811732187760819894m_-6478800134031961150m_-1=
139880684127294261gmail-:1u1"><div><div><div><div><div id=3D"m_-88117321877=
60819894m_-6478800134031961150m_-1139880684127294261gmail-:1f3"><div id=3D"=
m_-8811732187760819894m_-6478800134031961150m_-1139880684127294261gmail-:1k=
p"><div dir=3D"ltr"><div><span class=3D"gmail-im"><span>Traceback (most rec=
ent call last):<br></span></span>=C2=A0 File &quot;/usr/lib/xen-4.17/bin/py=
grub&quot;, line 884, in &lt;module&gt;<br>=C2=A0 =C2=A0 raise RuntimeError=
(&quot;Unable to find partition containing kernel&quot;)<br>RuntimeError: U=
nable to find partition containing kernel</div><div><br></div><div>I
 think it does not recognize the FreeBSD file system structure and its=20
kernel. Libvirt seems to have been programmed to boot Linux,not=20
FreeBSD.=C2=A0</div><div><br></div><div>In Fact,I did the counterproof and =
it seems to be like this :</div></div></div></div></div></div></div></div><=
/div></div></div></div></div><div role=3D"listitem" aria-expanded=3D"true">=
<div><div><div><div id=3D"m_-8811732187760819894m_-6478800134031961150m_-11=
39880684127294261gmail-:1oa"><div><div><div><table cellpadding=3D"0"><tbody=
><tr><td><table cellpadding=3D"0"><tbody><tr><td><br></td></tr></tbody></ta=
ble></td><td><div><br></div><div>According with this post :</div><div><br><=
/div><div><a href=3D"https://blog.roberthallam.org/2020/05/solving-unable-t=
o-find-partition-containing-kernel/" target=3D"_blank">https://blog.roberth=
allam.org/2020/05/solving-unable-to-find-partition-containing-kernel/</a></=
div><div><br></div><div>I&#39;ve
 created a file called menu.lst inside the boot directory of the image=20
file called &quot;debian.img&quot;,adding the following content inside :</d=
iv><div><br></div><div><div><div><div><span>default </span><span>0</span><s=
pan></span></div></div><div><div><span>timeout </span><span>10</span><span>=
</span></div></div><div><div><span>title Debian</span></div></div><div><div=
><span>    root (hd0,</span><span>1</span><span>)</span></div></div><div><d=
iv><span>    kernel /boot/</span><span style=3D"font-family:monospace"><spa=
n style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">vmlinux-6.1.=
59-stb-xen-cbe+</span></span><span> root=3D/dev/xvda</span></div></div><div=
><div><span>    initrd /boot/</span><span style=3D"font-family:monospace"><=
span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">initrd.im=
g-6.1.59-stb-xen-cbe+</span></span></div><div><span style=3D"font-family:mo=
nospace"><span style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)"=
><br></span></span></div><div><span style=3D"font-family:monospace"><span s=
tyle=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)">and I tried aga=
in to boot the image using virt-manager. It gave this error again :</span><=
/span></div><div><span style=3D"font-family:monospace"><span style=3D"color=
:rgb(0,0,0);background-color:rgb(255,255,255)"><br></span></span></div><div=
><span style=3D"font-family:monospace"><span style=3D"color:rgb(0,0,0);back=
ground-color:rgb(255,255,255)">root@devuan-bunsen:/mnt/zroot2/zroot2/OS/Chr=
omebook/FreeBSD-guestOS/linux-xen/debian2/boot# 2023-11-29 15:21:09.266+000=
0: 2467: error :</span> libxlDomainStartPerform:1256 : internal error: libx=
enlight failed to create new domain &#39;debian12&#39;<br></span></div><div=
><span style=3D"font-family:monospace"><br></span></div><div><span style=3D=
"font-family:monospace">but giving a look inside the log file and I found t=
his interesting situation ;</span></div><div><span style=3D"font-family:mon=
ospace"></span></div><div><span style=3D"font-family:monospace"><br></span>=
</div><div>Using &lt;class &#39;grub.GrubConf.GrubConfigFile&#39;&gt; to pa=
rse /boot/grub/menu.lst<br> (B )0 [1;24r [m  [?7h [?1h =3D [H [J [?1h =3D [=
1B =C2=A0 =C2=A0pyGRUB =C2=A0version 0.6<br> [1B  [0m lqqqqqqqqqqqqqqqqqqqq=
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk <br> [1B  [0m x   [0;=
7m Debian 12 =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 =C2=A0 =C2=A0 =C2=A0 =C2=A0  =
[m   [0m x <br> [1B  [0m x  [72C [0m x <br> [1B  [0m x  [72C [0m x <br> [1B=
  [0m x  [72C [0m x <br> [1B  [0m x  [72C [0m x <br> [1B  [0m x  [72C [0m x=
 <br> [1B  [0m x  [72C [0m x <br> [1B  [0m x  [72C [0m x <br> [1B  [0m mqqq=
qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj
  [1B [70D [0m  Use the =E2=86=91 and =E2=86=93 keys to select which entry =
is=20
highlighted. [1B [58DPress enter to boot the selected OS, &#39;e&#39; to ed=
it=20
the [1B [52Dcommands before booting, &#39;a&#39; to modify the kernel argum=
ents=20
[1B [59Dbefore booting, or &#39;c&#39; for a command line. [12A [26C [17B=
=20
[68DWill boot selected entry in 10 seconds [?1h =3D<br> [J [17A [73C [17B [=
68DWill boot selected entry in =C2=A09 seconds [?1h =3D<br> [J [17A [73C [1=
7B [68DWill boot selected entry in =C2=A08 seconds [?1h =3D<br> [J [17A [73=
C [17B [68DWill boot selected entry in =C2=A07 seconds [?1h =3D<br> [J [17A=
 [73C [17B [68DWill boot selected entry in =C2=A06 seconds [?1h =3D<br> [J =
[17A [73C [17B [68DWill boot selected entry in =C2=A05 seconds [?1h =3D<br>=
 [J [17A [73C [17B [68DWill boot selected entry in =C2=A04 seconds [?1h =3D=
<br> [J [17A [73C [17B [68DWill boot selected entry in =C2=A03 seconds [?1h=
 =3D<br> [J [17A [73C [17B [68DWill boot selected entry in =C2=A02 seconds =
[?1h =3D<br> [J [17A [73C [17B [68DWill boot selected entry in =C2=A01 seco=
nds [?1l &gt; [24;1H<br> [?1l &gt;</div><div><br></div><div>so,it seems tha=
t it tried to boot,but for an unknown reason,it still gives the error.</div=
><div>=C2=A0<br></div><div>Anyway
 : My xen setup is not broken anymore ; Using Libvirt Linux seems to be=20
able to boot,FreeBSD does not. Using the &quot;raw&quot; method of booting =
FreeBSD
 as domU could be another story that I will try soon. <br></div></div></div=
></div></td></tr></tbody></table></div></div></div></div></div></div></div>=
</div></div></div></div></div></div></div></div><div class=3D"gmail-gA gmai=
l-gt gmail-acV"><div class=3D"gmail-gB gmail-xu"><div class=3D"gmail-ip gma=
il-iq"><div id=3D"gmail-:2f8"><table class=3D"gmail-cf gmail-wS" role=3D"pr=
esentation"><tbody><tr><td class=3D"gmail-amq"><br></td><td class=3D"gmail-=
amr"></td></tr></tbody></table></div></div></div></div></div><div>But befor=
e trying to compile=20
the correct freebsd kernel that&#39;s recognized by xen using the Elliott=
=20
Michell code,I need to understand well what&#39;s the procedure that will w=
ork. So below you can read what I will try to do :<br></div><div><br></div>=
<div><pre><code>$ truncate -s 100G xenvm.img<br>$ mdconfig -f xenvm.img -u =
0=20
$ newfs /dev/md0=20
$ mount /dev/md0 /mnt<br>$</code><span style=3D"font-family:monospace"><spa=
n style=3D"color:rgb(0,0,0);background-color:rgb(255,255,255)"> git clone <=
a href=3D"https://gitlab.com/ehem/freebsd-src.git" target=3D"_blank">https:=
//gitlab.com/ehem/freebsd-src.git</a><br>$ </span></span>cd freebsd-src<br>=
<br>$ make  -DNO_MODULES   KERNCONF=3DGENERIC TARGET=3Darm TARGET_ARCH=3Dar=
mv7 <code>DESTDIR=3D/build </code>buildkernel<code><br></code><code><br>$ e=
cho &quot;/dev/xbd0       /       ufs     rw      1=20
1&quot; &gt; /mnt/etc/fstab =20

$ nano /build/etc/ttys (add the line &#39;xc0 &quot;/usr/libexec/getty Pc&q=
uot; xterm on secure&quot;)
$ umount /build<br>$ mdconfig -d -u 0<br><br></code></pre><pre><code>Do you=
 see errors ? some missing ?<br><br></code><br>---&gt; I&#39;ve only ever t=
ried arm64, but since arm32 didn&#39;t appear to need much to be operationa=
l I tried to<br>make it possible.=C2=A0 In theory it /should/ work on arm32=
, but I&#39;ve never tried it.=C2=A0 What was missing was <br>I had never a=
dded it to the configuration and one link was needed. Updated &quot;submit&=
quot; branch has a tiny <br>adjustment.<br><br></pre><pre>I didn&#39;t unde=
rstand how to apply the patch that&#39;s inside the &quot;submit&quot; bran=
ch. <br></pre><pre><br></pre></div></div></div><br><div class=3D"gmail_quot=
e"><div dir=3D"ltr" class=3D"gmail_attr">On Wed, Nov 29, 2023 at 12:05=E2=
=80=AFAM Elliott Mitchell &lt;<a href=3D"mailto:ehem%2Bfreebsd@m5p.com" tar=
get=3D"_blank">ehem+freebsd@m5p.com</a>&gt; wrote:<br></div><blockquote cla=
ss=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid =
rgb(204,204,204);padding-left:1ex">On Tue, Nov 28, 2023 at 04:10:50PM +0100=
, Roger Pau Monn=C3=A9 wrote:<br>
&gt; On Tue, Nov 28, 2023 at 03:09:14PM +0100, Mario Marietto wrote:<br>
&gt; &gt; For booting a FreeBSD kernel as a guest OS on XEN,should we insta=
ll xen<br>
&gt; &gt; 4.18 from source ?<br>
<br>
&gt; I don&#39;t think so, I&#39;m not aware of the FreeBSD port requiring =
a<br>
&gt; specific version of Xen.=C2=A0 I do think the work is limited to aarch=
64<br>
&gt; however, so there&#39;s no support in sight for arm32 FreeBSD guests a=
s<br>
&gt; far as I&#39;m aware.<br>
<br>
I&#39;ve only ever tried arm64, but since arm32 didn&#39;t appear to need m=
uch<br>
to have operational I tried to make it possible.=C2=A0 In theory it /should=
/<br>
work on arm32, but I&#39;ve never tried it.=C2=A0 What was missing was I ha=
d never<br>
added it to the configuration and one link was needed.=C2=A0 Updated &quot;=
submit&quot;<br>
branch has the tiny adjustment.<br>
<br>
(the only difference is the hypercall wrappers, register naming and where<b=
r>
the op code goes, very simple compatibility)<br>
<br>
<br>
On Tue, Nov 28, 2023 at 02:45:40PM +0100, Roger Pau Monn=C3=A9 wrote:<br>
&gt; On Mon, Nov 27, 2023 at 03:04:30PM -0800, Elliott Mitchell wrote:<br>
&gt; &gt; BTW Roger Pau Monn=C3=A9, now that Xen 4.18 is out, take a look a=
t the<br>
&gt; &gt; &quot;royger&quot; branch?<br>
&gt; <br>
&gt; I&#39;ve pushed a bunch of those, there are still some, I&#39;ve made =
comments<br>
&gt; on the branch.<br>
&gt; <br>
&gt; I think there isn&#39;t much left after the swept I&#39;ve done.<br>
&gt; <br>
&gt; If you can rebase and reply to the comments I will take a look at<br>
&gt; what&#39;s remaining.<br>
<br>
Done.=C2=A0 I&#39;m unsure you&#39;ll like the xs_attach_children() approac=
h.=C2=A0 Thing<br>
is that really is appropriate given the situation.=C2=A0 #2 is the urgent o=
ne<br>
as that is the handy approach to the hypercall declarations.<br>
<br>
<br>
-- <br>
(\___(\___(\______=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 --=3D&gt; 8-) EHM &lt;=
=3D--=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 ______/)___/)___/)<br>
=C2=A0\BS (=C2=A0 =C2=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0<a href=3D"mail=
to:ehem%2Bsigmsg@m5p.com" target=3D"_blank">ehem+sigmsg@m5p.com</a>=C2=A0 P=
GP 87145445=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 )=C2=A0 =C2=A0/=
<br>
=C2=A0 \_CS\=C2=A0 =C2=A0|=C2=A0 _____=C2=A0 -O #include &lt;stddisclaimer.=
h&gt; O-=C2=A0 =C2=A0_____=C2=A0 |=C2=A0 =C2=A0/=C2=A0 _/<br>
8A19\___\_|_/58D2 7E3D DDF4 7BA6 &lt;-PGP-&gt; 41D1 B375 37D0 8714\_|_/___/=
5445<br>
<br>
<br>
</blockquote></div><br clear=3D"all"><br><span class=3D"gmail_signature_pre=
fix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature">Mario.<br></d=
iv>

--000000000000fcfb70060b4d3f32--


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 17:10:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 17:10:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644125.1004722 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8O4j-0000q5-Fq; Wed, 29 Nov 2023 17:10:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644125.1004722; Wed, 29 Nov 2023 17: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 1r8O4j-0000py-BZ; Wed, 29 Nov 2023 17:10:13 +0000
Received: by outflank-mailman (input) for mailman id 644125;
 Wed, 29 Nov 2023 17: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=L+uX=HK=m5p.com=ehem@srs-se1.protection.inumbo.net>)
 id 1r8O4i-0000ps-9o
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 17:10:12 +0000
Received: from mailhost.m5p.com (mailhost.m5p.com [74.104.188.4])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 25f99c04-8eda-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 18:10:09 +0100 (CET)
Received: from m5p.com (mailhost.m5p.com [IPv6:2001:470:1f07:15ff:0:0:0:f7])
 by mailhost.m5p.com (8.17.1/8.15.2) with ESMTPS id 3ATH9gjD071331
 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NO);
 Wed, 29 Nov 2023 12:09:48 -0500 (EST) (envelope-from ehem@m5p.com)
Received: (from ehem@localhost)
 by m5p.com (8.17.1/8.15.2/Submit) id 3ATH9fkb071330;
 Wed, 29 Nov 2023 09:09:41 -0800 (PST) (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: 25f99c04-8eda-11ee-98e3-6d05b1d4d9a1
Date: Wed, 29 Nov 2023 09:09:41 -0800
From: Elliott Mitchell <ehem+freebsd@m5p.com>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: Mario Marietto <marietto2008@gmail.com>,
        Chuck Zmudzinski <brchuckz@netscape.net>,
        Demi Marie Obenour <demi@invisiblethingslab.com>,
        Anthony PERARD <anthony.perard@citrix.com>,
        Julien Grall <julien@xen.org>,
        Xen-devel <xen-devel@lists.xenproject.org>,
        Stefano Stabellini <sstabellini@kernel.org>,
        Bertrand Marquis <Bertrand.Marquis@arm.com>,
        Michal Orzel <michal.orzel@amd.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
Message-ID: <ZWdwVVIV4gBJPsdu@mattapan.m5p.com>
References: <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com>
 <ZWR1v5Y3EpRK817B@macbook>
 <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com>
 <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net>
 <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net>
 <ZWUgfkP4U5kOmQNj@mattapan.m5p.com>
 <ZWXvBMaRJ5Lbb5S9@macbook>
 <CA+1FSii4WeKQBuzW9TS_AkHD2nbm=Q+iL9j3wkfu+ZsC0V_=1w@mail.gmail.com>
 <ZWYC-omtTOxIHNwF@macbook>
 <ZWZyEtGMhjRba/Z2@mattapan.m5p.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZWZyEtGMhjRba/Z2@mattapan.m5p.com>
X-Spam-Status: No, score=0.0 required=10.0 tests=KHOP_HELO_FCRDNS
	autolearn=unavailable autolearn_force=no version=4.0.0
X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-14) on mattapan.m5p.com

On Tue, Nov 28, 2023 at 03:04:50PM -0800, Elliott Mitchell wrote:
> On Tue, Nov 28, 2023 at 04:10:50PM +0100, Roger Pau Monn wrote:
> > On Tue, Nov 28, 2023 at 03:09:14PM +0100, Mario Marietto wrote:
> > > For booting a FreeBSD kernel as a guest OS on XEN,should we install xen
> > > 4.18 from source ?
> 
> > I don't think so, I'm not aware of the FreeBSD port requiring a
> > specific version of Xen.  I do think the work is limited to aarch64
> > however, so there's no support in sight for arm32 FreeBSD guests as
> > far as I'm aware.
> 
> I've only ever tried arm64, but since arm32 didn't appear to need much
> to have operational I tried to make it possible.  In theory it /should/
> work on arm32, but I've never tried it.  What was missing was I had never
> added it to the configuration and one link was needed.  Updated "submit"
> branch has the tiny adjustment.
> 
> (the only difference is the hypercall wrappers, register naming and where
> the op code goes, very simple compatibility)

Ugh, goof and send this before the final check completes...   Appears a
bit more work is needed to get this operational.  Mainly need to figure
out the Clang option to enable the key op code.

Issue is the arm hypercall.h header and the HYPERVISOR_*() wrappers.  I
fear the traditional approach might be easier to get working.


-- 
(\___(\___(\______          --=> 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 Wed Nov 29 17:17:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 17:17:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644130.1004732 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8OBk-0002k1-4c; Wed, 29 Nov 2023 17:17:28 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644130.1004732; Wed, 29 Nov 2023 17:17: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 1r8OBk-0002ju-1Q; Wed, 29 Nov 2023 17:17:28 +0000
Received: by outflank-mailman (input) for mailman id 644130;
 Wed, 29 Nov 2023 17:17: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 1r8OBi-0002jn-Ku
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 17:17: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 1r8OBi-0008LN-08; Wed, 29 Nov 2023 17:17:26 +0000
Received: from 82-132-227-204.dab.02.net ([82.132.227.204] helo=[172.20.10.4])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8OBh-0003Ml-No; Wed, 29 Nov 2023 17:17: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=/cKwaw2qI5kmqL0z54xgDMX/8DmmQyFuSYSVcPr+yGM=; b=MO935J1XH9xFizFzQTF4EjteS6
	k5sgSrsRxgBjBvrtOuDYo6e6Uf1y75DrinkzxLDlSb14a8TOX0mso+oheCKEf0qJeUjjjUjivp8+R
	aG3gWSeSu9tUOVD0E1cDsuZz/AmCKbWcZScTde9SR/cIfc9TVwoMGuA7VE733YTreHDI=;
Message-ID: <c51e40ed-0cd7-4562-921f-d2dc67b9e4e6@xen.org>
Date: Wed, 29 Nov 2023 18:17:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: Move static event channel feature to a separate
 module
To: Michal Orzel <michal.orzel@amd.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: <20231129153417.84421-1-michal.orzel@amd.com>
Content-Language: en-GB
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231129153417.84421-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal

On 29/11/2023 16:34, Michal Orzel wrote:
> Move static event channel feature related code to a separate module
> (static-evtchn.{c,h}) in the spirit of fine granular configuration, so
> that the feature can be disabled if not needed.
> 
> Introduce Kconfig option CONFIG_STATIC_EVTCHN, enabled by default (to
> keep the current behavior) dependent on CONFIG_DOM0LESS. While it could
> be possible to create a loopback connection for dom0 only, this use case
> does not really need this feature and all the docs and commit messages
> refer explicitly to the use in dom0less system.
> 
> The only function visible externally is alloc_static_evtchn(), so move
> the prototype to static-evtchn.h and provide a stub in case a feature
> is disabled. Guard static_evtchn_created in struct dt_device_node and
> move its helpers to static-evtchn.h.

I guess this is a matter of taste, but I think 
dt_device_set_static_evtchn_created() and 
dt_device_static_evtchn_created() are better suited in device_tree.h 
because they are touching a field in the device tree structure.

This would stay consistent with the helper dt_device_set_protected() 
which is only used by the IOMMU code yet is defined in device_tree.h.

That said, I could settle on defining the two helpers in the *.c 
directly because they are not meant to be used outside of a single *.c.

Simarly...

> diff --git a/xen/arch/arm/include/asm/static-evtchn.h b/xen/arch/arm/include/asm/static-evtchn.h
> new file mode 100644
> index 000000000000..472673fae345
> --- /dev/null
> +++ b/xen/arch/arm/include/asm/static-evtchn.h
> @@ -0,0 +1,41 @@
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +
> +#ifndef __ASM_STATIC_EVTCHN_H_
> +#define __ASM_STATIC_EVTCHN_H_
> +
> +#ifdef CONFIG_STATIC_EVTCHN
> +
> +#include <xen/device_tree.h>
> +
> +#define STATIC_EVTCHN_NODE_SIZE_CELLS 2

... this used to be defined in domain_build.c. AFAICT the only use is 
now in static-evtchn.c. So why is it defined in the header?

If this is moved in the *.c, then the header static-evtchn.h would only 
contain alloc_static_evtchn(). This could be moved in domain_build.h or 
setup.h (I don't have any preference).

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 17:22:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 17:22:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644134.1004743 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8OGz-0004GA-Rw; Wed, 29 Nov 2023 17:22:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644134.1004743; Wed, 29 Nov 2023 17: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 1r8OGz-0004G3-Nn; Wed, 29 Nov 2023 17:22:53 +0000
Received: by outflank-mailman (input) for mailman id 644134;
 Wed, 29 Nov 2023 17:22: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 1r8OGy-0004Fx-K5
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 17:22: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 1r8OGx-0008Rr-QM; Wed, 29 Nov 2023 17:22:51 +0000
Received: from 82-132-227-204.dab.02.net ([82.132.227.204] helo=[172.20.10.4])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8OGx-0003cr-I3; Wed, 29 Nov 2023 17:22: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=EigGv9HCJESuM+MPJS+WBpJwD1OquBkln09O5nHEclU=; b=3eLaxidWoI6qiwksXayL3JQyH6
	PNiIrFgklXWnqO26DwzG7TuMKlXJVq6KSd/jyCzjpaipvSZ3qIcIj+t4ru4fpwifyOP3s7gQuUv8E
	cLnv0fNGzV/9hcMm/AVfEwiF9Zm/iuUTWU1OKeCsGhFYuGSOYZ/wo8DAz2Xgzid/1r48=;
Message-ID: <8a02868a-9e3b-4240-919a-299f05263c9c@xen.org>
Date: Wed, 29 Nov 2023 18:22:47 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v6] arm/bitops: encapsulate violation of MISRA C:2012
 Rule 10.1
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <f9ea805110ccfecade0c9e617b52b033043f0166.1701248609.git.nicola.vetrini@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <f9ea805110ccfecade0c9e617b52b033043f0166.1701248609.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Nicola,

On 29/11/2023 10:32, Nicola Vetrini wrote:
> The definitions of ffs{l}? violate Rule 10.1, by using the well-known
> pattern (x & -x); its usage is wrapped by the ISOLATE_LSB macro.
> 
> No functional change.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


This is now committed.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 17:28:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 17:28:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644137.1004753 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8OMb-0005oO-FD; Wed, 29 Nov 2023 17:28:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644137.1004753; Wed, 29 Nov 2023 17: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 1r8OMb-0005oH-Au; Wed, 29 Nov 2023 17:28:41 +0000
Received: by outflank-mailman (input) for mailman id 644137;
 Wed, 29 Nov 2023 17:28: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 1r8OMZ-0005lf-LI
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 17:28: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 1r8OMY-00006V-I9; Wed, 29 Nov 2023 17:28:38 +0000
Received: from 82-132-227-204.dab.02.net ([82.132.227.204] helo=[172.20.10.4])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8OMX-0003o8-W7; Wed, 29 Nov 2023 17:28: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=3ED1pTlBIGqd7MPFj7+cdnVivCSFMib2CsjU+HXYpMM=; b=ne7gcNY1k0Eny39+5Y/slr2tIL
	YVeD5tflBTZg9RErfbNvGuZH/Nub885hGTVXlQSAlsNQwVYTmREmMaZeV6IdRzv9+VUwo7IpqXEOR
	p4Owt0F7QPkMblV8d5Naz3ar6yeOSalQT5zx71q6/z5TSIHZAY7f001LZMiDP29wA5No=;
Message-ID: <f6993fac-2370-4a9d-81e7-fb95b6a96a63@xen.org>
Date: Wed, 29 Nov 2023 18:28:33 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v5 1/2] automation/eclair: make the docs for MISRA
 C:2012 Dir 4.1 visible to ECLAIR
Content-Language: en-GB
To: Stefano Stabellini <sstabellini@kernel.org>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, michal.orzel@amd.com,
 xenia.ragiadakou@amd.com, ayan.kumar.halder@amd.com, consulting@bugseng.com,
 jbeulich@suse.com, andrew.cooper3@citrix.com, roger.pau@citrix.com,
 bertrand.marquis@arm.com, Simone Ballarin <simone.ballarin@bugseng.com>,
 Doug Goldstein <cardoe@cardoe.com>
References: <cover.1700211131.git.nicola.vetrini@bugseng.com>
 <dd207f2aa0a79b784df5d042f8a0169707c21902.1700211131.git.nicola.vetrini@bugseng.com>
 <alpine.DEB.2.22.394.2311281916270.3533093@ubuntu-linux-20-04-desktop>
From: Julien Grall <julien@xen.org>
In-Reply-To: <alpine.DEB.2.22.394.2311281916270.3533093@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 29/11/2023 04:16, Stefano Stabellini wrote:
> On Fri, 17 Nov 2023, Nicola Vetrini wrote:
>> To be able to check for the existence of the necessary subsections in
>> the documentation for MISRA C:2012 Dir 4.1, ECLAIR needs to have a source
>> file that is built.
>>
>> This file is generated from 'C-runtime-failures.rst' in docs/misra
>> and the configuration is updated accordingly.
>>
>> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
> 
> It looks like you also addressed all Julien's comments appropriately

They are indeed. So I have committed the series.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 17:41:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 17:41:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644140.1004762 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8OZL-0000s2-Ik; Wed, 29 Nov 2023 17:41:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644140.1004762; Wed, 29 Nov 2023 17:41: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 1r8OZL-0000rv-EQ; Wed, 29 Nov 2023 17:41:51 +0000
Received: by outflank-mailman (input) for mailman id 644140;
 Wed, 29 Nov 2023 17:41: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=rgXt=HK=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r8OZK-0000rp-DQ
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 17:41:50 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20617.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 917c6870-8ede-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 18:41:47 +0100 (CET)
Received: from DM6PR07CA0127.namprd07.prod.outlook.com (2603:10b6:5:330::28)
 by DS0PR12MB8785.namprd12.prod.outlook.com (2603:10b6:8:14c::18) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Wed, 29 Nov
 2023 17:41:44 +0000
Received: from CY4PEPF0000EDD6.namprd03.prod.outlook.com
 (2603:10b6:5:330:cafe::fb) by DM6PR07CA0127.outlook.office365.com
 (2603:10b6:5:330::28) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22 via Frontend
 Transport; Wed, 29 Nov 2023 17:41:44 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000EDD6.mail.protection.outlook.com (10.167.241.210) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Wed, 29 Nov 2023 17:41:44 +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.2507.34; Wed, 29 Nov
 2023 11:41:42 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 29 Nov 2023 11:41:41 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 917c6870-8ede-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DliP1s5SMekwAonz5/SWDvOr/RsO3fDcoC8eDfXIbq4i2mE8BDK6b+lY0TO4svNv7pDJvfrFn9pMFmvwsHLLFOQrZIblB9P2Y3PmoqfNAY9IPdhSoYvduudRFxJgSrWNMzPnBF4AUONvPvZu8qvQ6pvqgpKsQObAIQsclR7taRZ74GzTcAjsy970QEX+LCkNh9N/cEWSSh7PmGwO5EA3pOmcrZBBATUVKNNkrcZluYqkxYgTE6uaym86efDF2aGN7ocSzbzfR02h8XHHjZgfrwOeolK5iwqnTGqOY+3f/EwKbBPpyWP5cmhSRpV4FNNzSrBawzVmVvVua+u/egVtkQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=PQP+IWU0LRPAnxHMIF6ux3j/NrHaaJ1QsdLr/6q8EtA=;
 b=W0mCdtiLRsNhovuJqzdnaKKkhF6Svq1+8/hYy8rp7MMeD3ROG9AM6EfbmwHY1KoP0PfFv5HWCN0P3PLQBthYHHDAJI7S8ty41id1uba0hiOhwp6K+uDNY1RT2rOZw7fCwiH3gREA9eQXT2XeTgpQjkro26Y5Eh8+lJ8j0Aj7ma6WY0XiVJOlYl9nOc3kLnR8xZ41kUrjnki3vw/jBpO1mK1dbRNW/8bWxqc9BiRH5XYmthxmMoBU5h4XrEV4NmrlbUF9rZIPemzV0lnsyN7XOp1gn7dD5Qs7xtwgHjojd4jE2+fvJHPRtONk8PInJwTuY3N4K0Q9vFmlQshnR11J4A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=PQP+IWU0LRPAnxHMIF6ux3j/NrHaaJ1QsdLr/6q8EtA=;
 b=SHlNg40fc1TRPaF2dnVzC9p+PSM3MXBN9smm9XvTOuCovFjCpFEidph0UzF8wPXySJyytNiyfe1uGm4Qiu20sBRykbqdCCPpCHhj834NrVQsLOodIQqNVTwUhMvW49nPNCvsik1sJmNZi/6i72o8+/SQZur1ZLMM71OOklDrCoM=
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: <9685bc21-9d57-4f64-bd2f-70b9d0b0168a@amd.com>
Date: Wed, 29 Nov 2023 18:41:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: Move static event channel feature to a separate
 module
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: <20231129153417.84421-1-michal.orzel@amd.com>
 <c51e40ed-0cd7-4562-921f-d2dc67b9e4e6@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <c51e40ed-0cd7-4562-921f-d2dc67b9e4e6@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000EDD6:EE_|DS0PR12MB8785:EE_
X-MS-Office365-Filtering-Correlation-Id: 9783baa8-f9c4-4a28-0528-08dbf10273fb
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	dkgA503MpLY6tR9bU4Vpcj2vOs+FG5YiR8FVFxNivkRCnOIeHajSCuSZMlU2k/TnwrI2vFK732RevuVhHvBPrwzz/W1BDA+yp6sbpTEejoVudSJfQ1YauWrYC0crHJhHRowrzOT8gFc+2UX7MpSzPGDgFX2dn7x1SUkAkxiQUQX1PGsEIRSRyFSH4C6ZudUcMQiXZaozoCnwlSv/EyR/2OI6P6skQa0yVkzyqmfM6ruHb62pEw+wAsI2AWe2tseh+2cxMJYf/h+jsSePwmozlimvGWE+8SzTv12WoRjxAQOalxPos6Mm4uOOH0RR/6+XTZWObzACOnurdudKHqgPdb2ks/hxogTE9IBm2IM8AqBPpJD9aTd3xO0aYtVhhec4JqS6+qMXkC4TJFScxuE0KwQ0VHgd5iY2279a3BAjpAqPIGbFyfERrXRhuoMo2HAohRx+2FKVH3xOS1QIUvj97ZEuFhDeKeJSKSqm6prr5Qol2E/B1jH1W6oww3oaLtRf89bJumTbZm/O31q9GAI6d762IrA56w0GyRF3XCb1hxVyqL+OqZMmHi6s/uDEKlCxgWf+BCtm5hkAiqC0EPYlEING3FiiQAUwphdhavbsd7Q09EN5oveiPT2/aoDPbq+fCJ492X+Lr1xl6s72a/FX549F5qTsYsmV55+6nWaHqG+WihUo2WSsk0VHFHztOw9FPuAQdrBGsQ4nbXHNMxopUTNzvwNGIOg4f6QuQP5+eMkLwu4iOzyanP5SDrO9yoD0CPHRiAAMei71y2I8BeR4B4w+XTnXWhpBdUBjVAZVrFO1uxq1HXLcZgIFzq6jwa7VZF27mouHnanqItO90HhPaKYBL5lKGVttDA6uTwZLFD0=
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:(13230031)(4636009)(136003)(39860400002)(396003)(346002)(376002)(230922051799003)(230273577357003)(230173577357003)(82310400011)(64100799003)(186009)(451199024)(1800799012)(36840700001)(40470700004)(46966006)(82740400003)(81166007)(356005)(5660300002)(40460700003)(2906002)(36756003)(41300700001)(31696002)(86362001)(54906003)(336012)(16576012)(426003)(110136005)(70206006)(70586007)(26005)(2616005)(83380400001)(316002)(40480700001)(53546011)(478600001)(31686004)(47076005)(8936002)(8676002)(44832011)(36860700001)(4326008)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 17:41:44.0022
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9783baa8-f9c4-4a28-0528-08dbf10273fb
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:
	CY4PEPF0000EDD6.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8785

Hi Julien,

On 29/11/2023 18:17, Julien Grall wrote:
> 
> 
> Hi Michal
> 
> On 29/11/2023 16:34, Michal Orzel wrote:
>> Move static event channel feature related code to a separate module
>> (static-evtchn.{c,h}) in the spirit of fine granular configuration, so
>> that the feature can be disabled if not needed.
>>
>> Introduce Kconfig option CONFIG_STATIC_EVTCHN, enabled by default (to
>> keep the current behavior) dependent on CONFIG_DOM0LESS. While it could
>> be possible to create a loopback connection for dom0 only, this use case
>> does not really need this feature and all the docs and commit messages
>> refer explicitly to the use in dom0less system.
>>
>> The only function visible externally is alloc_static_evtchn(), so move
>> the prototype to static-evtchn.h and provide a stub in case a feature
>> is disabled. Guard static_evtchn_created in struct dt_device_node and
>> move its helpers to static-evtchn.h.
> 
> I guess this is a matter of taste, but I think
> dt_device_set_static_evtchn_created() and
> dt_device_static_evtchn_created() are better suited in device_tree.h
> because they are touching a field in the device tree structure.
> 
> This would stay consistent with the helper dt_device_set_protected()
> which is only used by the IOMMU code yet is defined in device_tree.h.
Good point about consistency. I will keep the helpers in device_tree.h + add guards.

> 
> That said, I could settle on defining the two helpers in the *.c
> directly because they are not meant to be used outside of a single *.c.
> 
> Simarly...
> 
>> diff --git a/xen/arch/arm/include/asm/static-evtchn.h b/xen/arch/arm/include/asm/static-evtchn.h
>> new file mode 100644
>> index 000000000000..472673fae345
>> --- /dev/null
>> +++ b/xen/arch/arm/include/asm/static-evtchn.h
>> @@ -0,0 +1,41 @@
>> +/* SPDX-License-Identifier: GPL-2.0-only */
>> +
>> +#ifndef __ASM_STATIC_EVTCHN_H_
>> +#define __ASM_STATIC_EVTCHN_H_
>> +
>> +#ifdef CONFIG_STATIC_EVTCHN
>> +
>> +#include <xen/device_tree.h>
>> +
>> +#define STATIC_EVTCHN_NODE_SIZE_CELLS 2
> 
> ... this used to be defined in domain_build.c. AFAICT the only use is
> now in static-evtchn.c. So why is it defined in the header?
> 
> If this is moved in the *.c, then the header static-evtchn.h would only
> contain alloc_static_evtchn(). This could be moved in domain_build.h or
> setup.h (I don't have any preference).
Apart from a prototype, we still need a stub. Therefore I would prefer to still have a header (will
be needed for future upgrades e.g. port exposure in fdt) and move the prototype and a stub there (the macro
I can move to *.c). It just looks better for me + we reduce ifdefery in domain_build/setup.h.
Would you be ok with that?

~Michal



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 17:50:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 17:50:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644144.1004775 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8OhS-0003Sg-Cs; Wed, 29 Nov 2023 17:50:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644144.1004775; Wed, 29 Nov 2023 17:50: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 1r8OhS-0003SZ-8o; Wed, 29 Nov 2023 17:50:14 +0000
Received: by outflank-mailman (input) for mailman id 644144;
 Wed, 29 Nov 2023 17:50: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 1r8OhR-0003ST-6U
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 17:50: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 1r8OhQ-0000UY-4P; Wed, 29 Nov 2023 17:50:12 +0000
Received: from 82-132-227-204.dab.02.net ([82.132.227.204] helo=[172.20.10.4])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8OhP-0004rA-Er; Wed, 29 Nov 2023 17:50: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=EjIiIFjQXAZENlU0VMewBG7bAzNCvXIxN1ja/k84jTo=; b=k4kZn7Ktbf+/5HkI1VsNMIbe1J
	Vy1zttD99/0eM11IhFPVcvKTsov+jmH09u+d57/12hehfamWkL+Z1p7ipZMgvexkxqa2fziL5wC2O
	fdKh8xXfCFBqlf/sVe4970GysyE0qrVo/Ui5L0Yzh+sgEMbmnRhLBEViYgpiyx3aIfUc=;
Message-ID: <9b1e2289-4080-4dd5-bf4e-0dc14425ffce@xen.org>
Date: Wed, 29 Nov 2023 18:50:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] xen/arm: address violations of MISRA C:2012 Rule 11.8
Content-Language: en-GB
To: Simone Ballarin <simone.ballarin@bugseng.com>,
 xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com, maria.celeste.cesario@bugseng.com,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
 <df2af5f9a93c3cbcb61c28ff5228632c82d56f37.1700842832.git.maria.celeste.cesario@bugseng.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <df2af5f9a93c3cbcb61c28ff5228632c82d56f37.1700842832.git.maria.celeste.cesario@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi,

On 24/11/2023 17:29, Simone Ballarin wrote:
> From: Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
> 
> Add or amend casts to comply with Rule 11.8.
> 
> The violations are resolved either:
> - by adding a missing const qualifier in the cast
> - by removing a cast to non-const on a const-qualified object
> 
> No functional change.
> 
> Signed-off-by: Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
> Signed-off-by: Simone Ballarin  <simone.ballarin@bugseng.com>
> ---
>   xen/arch/arm/domain_build.c       | 2 +-
>   xen/arch/arm/include/asm/atomic.h | 2 +-
>   xen/arch/arm/include/asm/regs.h   | 2 +-
>   3 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index 2dd2926b41..c17214f738 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -2749,7 +2749,7 @@ static int __init handle_passthrough_prop(struct kernel_info *kinfo,
>       if ( node == NULL )
>       {
>           printk(XENLOG_ERR "Couldn't find node %s in host_dt!\n",
> -               (char *)xen_path->data);
> +               xen_path->data);

I am a little bit puzzled why the cast was originally added here. 
Stefano, do you remember?

Also, this hunk will not apply on staging (the code has moved to 
dom0less-build.c). This will want a new version.

>           return -EINVAL;
>       }
>   
> diff --git a/xen/arch/arm/include/asm/atomic.h b/xen/arch/arm/include/asm/atomic.h
> index 64314d59b3..517216d2a8 100644
> --- a/xen/arch/arm/include/asm/atomic.h
> +++ b/xen/arch/arm/include/asm/atomic.h
> @@ -154,7 +154,7 @@ static always_inline void write_atomic_size(volatile void *p,
>    */
>   static inline int atomic_read(const atomic_t *v)
>   {
> -    return *(volatile int *)&v->counter;
> +    return *(const volatile int *)&v->counter;
>   }
>   
>   static inline int _atomic_read(atomic_t v)
> diff --git a/xen/arch/arm/include/asm/regs.h b/xen/arch/arm/include/asm/regs.h
> index 8a0db95415..79050937f3 100644
> --- a/xen/arch/arm/include/asm/regs.h
> +++ b/xen/arch/arm/include/asm/regs.h
> @@ -48,7 +48,7 @@ static inline bool regs_mode_is_32bit(const struct cpu_user_regs *regs)
>   
>   static inline bool guest_mode(const struct cpu_user_regs *r)
>   {
> -    unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r);
> +    unsigned long diff = (char *)guest_cpu_user_regs() - (const char *)(r);

NIT: I would take the opportunity to use 'const char*' for the first one 
as well.

>       /* Frame pointer must point into current CPU stack. */
>       ASSERT(diff < STACK_SIZE);
>       /* If not a guest frame, it must be a hypervisor frame. */

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 17:54:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 17:54:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644147.1004785 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8OlN-000449-Rm; Wed, 29 Nov 2023 17:54:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644147.1004785; Wed, 29 Nov 2023 17:54: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 1r8OlN-000442-P1; Wed, 29 Nov 2023 17:54:17 +0000
Received: by outflank-mailman (input) for mailman id 644147;
 Wed, 29 Nov 2023 17:54: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 1r8OlN-00043w-59
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 17:54: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 1r8OlM-0000Zy-TB; Wed, 29 Nov 2023 17:54:16 +0000
Received: from 82-132-227-204.dab.02.net ([82.132.227.204] helo=[172.20.10.4])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8OlM-0004xI-J2; Wed, 29 Nov 2023 17:54: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=1WNA2qH80j7oXhwOcGdQOg/f0DBDLFkZTzLiWBzK/xg=; b=tBCHG3Tbtcsc2FqzQz4F757Liq
	lwFTVP/S9pW3zwj2iOJJPu25b75OgcASpTe9PuLSrmfngL69wmhTbFc5XCEsygMv/b4DWsanvwnVK
	BAl+tTgmQIelLUufRyU7XgBHeZYC1Mg+iJXWqHht/yL9N4s0dtzI55gpcI+uFOBDfZIc=;
Message-ID: <f42236b8-5fac-42df-9705-4ae4b0519d8e@xen.org>
Date: Wed, 29 Nov 2023 18:54:13 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: Move static event channel feature to a separate
 module
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231129153417.84421-1-michal.orzel@amd.com>
 <c51e40ed-0cd7-4562-921f-d2dc67b9e4e6@xen.org>
 <9685bc21-9d57-4f64-bd2f-70b9d0b0168a@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <9685bc21-9d57-4f64-bd2f-70b9d0b0168a@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 29/11/2023 18:41, Michal Orzel wrote:
> On 29/11/2023 18:17, Julien Grall wrote:
>> That said, I could settle on defining the two helpers in the *.c
>> directly because they are not meant to be used outside of a single *.c.
>>
>> Simarly...
>>
>>> diff --git a/xen/arch/arm/include/asm/static-evtchn.h b/xen/arch/arm/include/asm/static-evtchn.h
>>> new file mode 100644
>>> index 000000000000..472673fae345
>>> --- /dev/null
>>> +++ b/xen/arch/arm/include/asm/static-evtchn.h
>>> @@ -0,0 +1,41 @@
>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>> +
>>> +#ifndef __ASM_STATIC_EVTCHN_H_
>>> +#define __ASM_STATIC_EVTCHN_H_
>>> +
>>> +#ifdef CONFIG_STATIC_EVTCHN
>>> +
>>> +#include <xen/device_tree.h>
>>> +
>>> +#define STATIC_EVTCHN_NODE_SIZE_CELLS 2
>>
>> ... this used to be defined in domain_build.c. AFAICT the only use is
>> now in static-evtchn.c. So why is it defined in the header?
>>
>> If this is moved in the *.c, then the header static-evtchn.h would only
>> contain alloc_static_evtchn(). This could be moved in domain_build.h or
>> setup.h (I don't have any preference).
> Apart from a prototype, we still need a stub. Therefore I would prefer to still have a header (will
> be needed for future upgrades e.g. port exposure in fdt) and move the prototype and a stub there (the macro
> I can move to *.c). It just looks better for me + we reduce ifdefery in domain_build/setup.h.
> Would you be ok with that?

I don't much like headers containing just one prototype. But I can live 
with them if you think more will be added.

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 18:00:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 18:00:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644150.1004795 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8OrN-0006os-GO; Wed, 29 Nov 2023 18:00:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644150.1004795; Wed, 29 Nov 2023 18:00: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 1r8OrN-0006ol-DF; Wed, 29 Nov 2023 18:00:29 +0000
Received: by outflank-mailman (input) for mailman id 644150;
 Wed, 29 Nov 2023 18:00:28 +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 1r8OrM-0006of-06
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 18:00:28 +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 1r8OrK-0000mr-MZ; Wed, 29 Nov 2023 18:00:26 +0000
Received: from 82-132-227-204.dab.02.net ([82.132.227.204] helo=[172.20.10.4])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8OrK-0005Ou-Dz; Wed, 29 Nov 2023 18:00: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=boEPgxBMzrY5J3zL8LvGgZ2C/aLN3G6VzKwCQqyvfdw=; b=LFeqRsn0Oq9gKkwhDLGbHNU2j0
	+mE08wmWxE69PxjVJ2uJAyYB82XcvTMucNUZUScVDu7lIK8vy5a6Hra7XBmFJBYt1BkPD2/mhpX2o
	EiyTKxo/9vxva+5Dn1YZQ8jFDYxZQtE7VGBpvmbFeQae3b780T0/sxwwDgTcvkUtbfwY=;
Message-ID: <a9012a64-638a-4960-817a-7ec4764ee2d6@xen.org>
Date: Wed, 29 Nov 2023 19:00:22 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] .gitignore: generalize *.new
Content-Language: en-GB
To: Jan Beulich <jbeulich@suse.com>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>,
 Oleksii Kurochko <oleksii.kurochko@gmail.com>
References: <40438252-0d54-47f0-aad8-e76d57508bc5@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <40438252-0d54-47f0-aad8-e76d57508bc5@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Jan,

On 28/11/2023 13:51, Jan Beulich wrote:
> It's not only in xen/include/xen/ that we generate (intermediate) *.new
> files.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 18:09:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 18:09:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644153.1004804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8P0Q-0007xB-BR; Wed, 29 Nov 2023 18:09:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644153.1004804; Wed, 29 Nov 2023 18:09: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 1r8P0Q-0007x4-8b; Wed, 29 Nov 2023 18:09:50 +0000
Received: by outflank-mailman (input) for mailman id 644153;
 Wed, 29 Nov 2023 18:09: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=rgXt=HK=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r8P0P-0007wy-0Z
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 18:09:49 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20621.outbound.protection.outlook.com
 [2a01:111:f400:7e88::621])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7a4d23ff-8ee2-11ee-98e3-6d05b1d4d9a1;
 Wed, 29 Nov 2023 19:09:47 +0100 (CET)
Received: from BL1PR13CA0445.namprd13.prod.outlook.com (2603:10b6:208:2c3::30)
 by SA1PR12MB6725.namprd12.prod.outlook.com (2603:10b6:806:254::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Wed, 29 Nov
 2023 18:09:43 +0000
Received: from BL02EPF0001A0FF.namprd03.prod.outlook.com
 (2603:10b6:208:2c3:cafe::7a) by BL1PR13CA0445.outlook.office365.com
 (2603:10b6:208:2c3::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8 via Frontend
 Transport; Wed, 29 Nov 2023 18:09:43 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 BL02EPF0001A0FF.mail.protection.outlook.com (10.167.242.106) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Wed, 29 Nov 2023 18:09:42 +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.2507.34; Wed, 29 Nov
 2023 12:09:42 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 29 Nov 2023 12:09:41 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a4d23ff-8ee2-11ee-98e3-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ckR2xVQ22oYl1p2qjoMPMZpKgl0pPozCbwEKJXMKzO+uO35YLlRXdR1XUJS8oI5MjPgsTJ2oMoUN4qWyHR57wAUdvyzneuGtIB7KWj2cW9U0E7ALSigQNHE6uZ5lgI21WUPjVEx62mfvzLbMsctY7dLYFNBImK31cnUjCI9R/6Gqyy5k6wNwZHhYQdMw68uQsELSMyplWOemBfChI63Add6dnYv4XSkQBLS6AgRFgD6R4djH5wB0UBdJYgOfQMWwe55N3phRvC6Pax3pNNd/WZBHPQcY5fMa9iSjvCmunHm5TVmjJfg7ChsC+lezaHnZXG/hBgIQuOuj5AUbfNBw8w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Vex1tmOM2sMcRrcgze6k7ZYriWYb8FsjPwjP/Rioo5k=;
 b=OnUVuFFk3Rhbnl26nSQaa7BGuwo95eVEy8C/QdnC9K8phTcw1TRnCFWhEkeRBMxamJQorMD20pzPecxDnE4V2m1VNETgrpbtVZdHgHBLJKGFZHBhozKYhiIBhyJcQTPwROYzeA3LK/i+LVcQwjgORF3qv2jveO0lIftPPwjD3Sn9cGiwyiqLXfW9Ef9YEcbydV71PEA2PYESHWGXwKYsmSdYjzDLtoGyQiRXfc0MjihDVq+Qvt5rvWaGzWvWQhbnMzPmAM0C75aEvYRarHnWhi8z6iNGasA4TY4s+A7lnVF1MOLzXz63oZIRN28vscCRAiSzBQWL+3x2eQn3Hsz50A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=xen.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 (0)
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=Vex1tmOM2sMcRrcgze6k7ZYriWYb8FsjPwjP/Rioo5k=;
 b=MlXb4Jjq8epTZzcK5BVHuxO2psKiNMvhB44muE7L2vXxa24hcOY4LIyK0CmCYB2oycdCxRGFRqowZ/XwD/QNy+egd6qy0ndq1rsZau/pfzZP7evl9VF46ZdxpJJ5mZiOsj5X2dPseSnY9nr4LfPoOgwyR6MfVaxRZNEWwHSOhiQ=
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: <1814faee-d88a-48bc-9049-80af67cc39c9@amd.com>
Date: Wed, 29 Nov 2023 19:09:40 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/arm: Move static event channel feature to a separate
 module
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: <20231129153417.84421-1-michal.orzel@amd.com>
 <c51e40ed-0cd7-4562-921f-d2dc67b9e4e6@xen.org>
 <9685bc21-9d57-4f64-bd2f-70b9d0b0168a@amd.com>
 <f42236b8-5fac-42df-9705-4ae4b0519d8e@xen.org>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <f42236b8-5fac-42df-9705-4ae4b0519d8e@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BL02EPF0001A0FF:EE_|SA1PR12MB6725:EE_
X-MS-Office365-Filtering-Correlation-Id: b576aa54-5dc4-48fe-6d9b-08dbf1065ca4
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	0uQx0PlxXrpuFmtfwBpQbKcSB6Bmbr5ry029QHRN+jDrH7ZqqIPu0o2n3aV1hvIBLCGPS0vflIiRVxyO5r5/1Zgj86XCjid5DK9t0W6WPyCR2tU6JB7DNC4sYRGzhm5jhCkUBG3It7srMcDiCf+cJry47yXh4U3CuooUQapN/4+0b9hBiTiqAw+PjGyfsthMWpzFJc85hsRWVJ4PcezOCjm/DrOyhxzUPyzTWHklrwDHPfMaYM5h/KF+Sg8wRNFpSaVZFWzrZe9AtUIXqVltnwIP1UHvrrVDjELekVzphcYr6aWJ9cmIGUj0FIuy/bwic5zPN/OgmlT1ZWn2qSKF4K0pVcB1lfzKbIHVZwxKJNMoXcJ/gJyQeAq4DOldsNyhBQFm1hJ8wx44CVU+qfuRQ7OVMtdHg0msFAsv2ZwabtdRmtbWiGtig61cxRa+crJkXDLqrWtn7uBvQkIyvvsTU4TayXv4G2hnL2++Uk62H1womVMQ/bmKb2iKzQcosoyWuOqQ4NeO/yQquwxGGTqpyjkF1c1MdIqQBZ/Yq8Q7SoUdionQrmZ4QZdud+3MXKGVSyzulUGAC80lciP6Qc5ENXFyaa0Aex/gtrZ9D2SmkPWZUVYGgOzv4KLq350FTticVnArGJIVGzdD3a9yf7bLdel5YKYi42gzlprzBht8zea4VcxU2EXz7KU31j6s8ozCzpyal5ifulJQS3MSP7M8Nzd62r7BgNl2S+dKsWF8O51lcl09zqjklOjxFK2sdZWajGW63CfVB9Bj9cTek7R9M1CNZlAiQ/7kqDPS0wqfmMgm6l5TEtjAkfaBSiNXnlC3
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:(13230031)(4636009)(39860400002)(346002)(136003)(396003)(376002)(230922051799003)(82310400011)(186009)(1800799012)(64100799003)(451199024)(46966006)(40470700004)(36840700001)(47076005)(356005)(41300700001)(31696002)(5660300002)(44832011)(2616005)(86362001)(8676002)(8936002)(40480700001)(4326008)(2906002)(26005)(110136005)(31686004)(81166007)(478600001)(316002)(70206006)(70586007)(16576012)(40460700003)(53546011)(426003)(54906003)(336012)(36860700001)(83380400001)(36756003)(82740400003)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 18:09:42.8966
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: b576aa54-5dc4-48fe-6d9b-08dbf1065ca4
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:
	BL02EPF0001A0FF.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB6725



On 29/11/2023 18:54, Julien Grall wrote:
> 
> 
> Hi Michal,
> 
> On 29/11/2023 18:41, Michal Orzel wrote:
>> On 29/11/2023 18:17, Julien Grall wrote:
>>> That said, I could settle on defining the two helpers in the *.c
>>> directly because they are not meant to be used outside of a single *.c.
>>>
>>> Simarly...
>>>
>>>> diff --git a/xen/arch/arm/include/asm/static-evtchn.h b/xen/arch/arm/include/asm/static-evtchn.h
>>>> new file mode 100644
>>>> index 000000000000..472673fae345
>>>> --- /dev/null
>>>> +++ b/xen/arch/arm/include/asm/static-evtchn.h
>>>> @@ -0,0 +1,41 @@
>>>> +/* SPDX-License-Identifier: GPL-2.0-only */
>>>> +
>>>> +#ifndef __ASM_STATIC_EVTCHN_H_
>>>> +#define __ASM_STATIC_EVTCHN_H_
>>>> +
>>>> +#ifdef CONFIG_STATIC_EVTCHN
>>>> +
>>>> +#include <xen/device_tree.h>
>>>> +
>>>> +#define STATIC_EVTCHN_NODE_SIZE_CELLS 2
>>>
>>> ... this used to be defined in domain_build.c. AFAICT the only use is
>>> now in static-evtchn.c. So why is it defined in the header?
>>>
>>> If this is moved in the *.c, then the header static-evtchn.h would only
>>> contain alloc_static_evtchn(). This could be moved in domain_build.h or
>>> setup.h (I don't have any preference).
>> Apart from a prototype, we still need a stub. Therefore I would prefer to still have a header (will
>> be needed for future upgrades e.g. port exposure in fdt) and move the prototype and a stub there (the macro
>> I can move to *.c). It just looks better for me + we reduce ifdefery in domain_build/setup.h.
>> Would you be ok with that?
> 
> I don't much like headers containing just one prototype. But I can live
> with them if you think more will be added.
I can at least think of adding support for discovering static ports.
Thank you for meeting me halfway.

~Michal


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:18:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:18:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644159.1004821 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Q4j-0007Qx-Gd; Wed, 29 Nov 2023 19:18:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644159.1004821; Wed, 29 Nov 2023 19: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 1r8Q4j-0007Qq-E1; Wed, 29 Nov 2023 19:18:21 +0000
Received: by outflank-mailman (input) for mailman id 644159;
 Wed, 29 Nov 2023 19:18: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=s3b2=HK=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r8Q4h-0007Qk-HX
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:18:19 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0cb28efc-8eec-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 20:18:17 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 5A9B08285C21;
 Wed, 29 Nov 2023 13:18:16 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id dwlEij6kzSgQ; Wed, 29 Nov 2023 13:18:15 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 008518285C2D;
 Wed, 29 Nov 2023 13:18:14 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id YT8NXt9NpWc0; Wed, 29 Nov 2023 13:18:14 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 502B58285C21;
 Wed, 29 Nov 2023 13:18:14 -0600 (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: 0cb28efc-8eec-11ee-98e4-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 008518285C2D
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701285495; bh=tKGf3lYcdnayBK81t/8qEZwDaX4NSY3OPcUybDLbS+E=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=FMvgCZn4FDWA1st/qQuLdt04RXV0U/zUb/o9Fe1RR65hLJsIEuihXbfvY/qEWCPA8
	 4/OZ01il/TaFUUa1MPEBCCYyr2oZLpzDAefC2mUdCWHthplmhHmvaaJq6WieWcQvF+
	 W9eiWt8ELHWjxl38XFYs+usLsf1ygmOOQ3as1b2Y=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <4f67d4c0-d90a-4778-800b-87108cd1d3f8@raptorengineering.com>
Date: Wed, 29 Nov 2023 13:18:13 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
 <98023f51-5953-4384-918d-ae726d74ef7c@raptorengineering.com>
 <e29665f849d23a768262c6d1a7436916a7ec887c.camel@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <e29665f849d23a768262c6d1a7436916a7ec887c.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/29/23 6:49 AM, Oleksii wrote:
> On Tue, 2023-11-28 at 15:28 -0600, Shawn Anastasio wrote:
>> Hi Oleksii,
>>
>> On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
>>> diff --git a/xen/arch/ppc/include/asm/irq.h
>>> b/xen/arch/ppc/include/asm/irq.h
>>> index 5c37d0cf25..49193fddff 100644
>>> --- a/xen/arch/ppc/include/asm/irq.h
>>> +++ b/xen/arch/ppc/include/asm/irq.h
>>> @@ -3,7 +3,9 @@
>>>  #define __ASM_PPC_IRQ_H__
>>>  
>>>  #include <xen/lib.h>
>>> +#ifdef CONFIG_HAS_DEVICE_TREE
>>
>> I realize that you were likely following PPC's device.h which also
>> checks CONFIG_HAS_DEVICE_TREE, but I'm not sure that it makes sense
>> to
>> check this conditional in PPC code at all -- we will always have
>> HAS_DEVICE_TREE (selected by PPC) and I can't imagine a scenario
>> where
>> this will ever not be the case.
> What about case if ACPI is used? Does ACPI is supported by PPC?
> 
> But if you are sure that CONFIG_HAS_DEVICE_TREE will be always selected
> then I am OK to remove this change.
> 

ACPI isn't supported by any PPC platform, we always use device tree.

>>
>> Unless Jan (or someone else) disagrees, I'd rather this conditional
>> be
>> dropped inside of PPC code.
> I'll double check but I think I had a compilation issue if it isn't
> defined.
>

I'm not encountering any issues locally with the conditional dropped,
but if you are able to reproduce them then let me know.

> Thanks.
> 
> ~ Oleksii

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:27:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:27:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644162.1004830 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8QDU-0001TZ-Bj; Wed, 29 Nov 2023 19:27:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644162.1004830; Wed, 29 Nov 2023 19:27: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 1r8QDU-0001TS-98; Wed, 29 Nov 2023 19:27:24 +0000
Received: by outflank-mailman (input) for mailman id 644162;
 Wed, 29 Nov 2023 19:27: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=s3b2=HK=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r8QDT-0001TM-Bn
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:27:23 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f501734-8eed-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:27:19 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 039B282859FC;
 Wed, 29 Nov 2023 13:27:18 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id 8oVBy4rkpq1p; Wed, 29 Nov 2023 13:27:17 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 14B098285C21;
 Wed, 29 Nov 2023 13:27:17 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id tpOk4zqb3YbG; Wed, 29 Nov 2023 13:27:16 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id A194882859FC;
 Wed, 29 Nov 2023 13:27:16 -0600 (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: 4f501734-8eed-11ee-9b0f-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 14B098285C21
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701286037; bh=0UlIRHXiNdL2VBVsLzm8Afq4oPS3mvqs9lW9i4EketE=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=mF1XWZZZhRi4TKnS3Nf7R9qxxJ6+U2lE7pAsgbZkS/briFyZAX2Ajvfj/vugXO4Bz
	 WtY0Jd+wav6mBg6JlvgzQ4aIQqHI2CjnX+NDWAt+TzskUCwHFkc4JxcgTxOMDwO28Z
	 rjUoHDBaPHgopA6j5BH15d7FcZUyVKmlQMfkW5Lw=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <f666efdb-e274-4c66-aa66-4a1d83332edb@raptorengineering.com>
Date: Wed, 29 Nov 2023 13:27:16 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 10/14] xen/asm-generic: introduce stub header monitor.h
Content-Language: en-US
To: Oleksii <oleksii.kurochko@gmail.com>, xen-devel@lists.xenproject.org
Cc: Tamas K Lengyel <tamas@tklengyel.com>,
 Alexandru Isaila <aisaila@bitdefender.com>,
 Petre Pircalabu <ppircalabu@bitdefender.com>, Jan Beulich <jbeulich@suse.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <83e16ccc588d35042b804e0d56ebdb5fe710695b.1701093907.git.oleksii.kurochko@gmail.com>
 <22ffed63-8f05-477f-b37c-c660410c2ce6@raptorengineering.com>
 <c1501f5f5e1047b06be1e41461b222711a4b4882.camel@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <c1501f5f5e1047b06be1e41461b222711a4b4882.camel@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/29/23 6:39 AM, Oleksii wrote:
> Hi Shawn,
> 
> On Tue, 2023-11-28 at 16:21 -0600, Shawn Anastasio wrote:
>> Hi Oleksii,
>>
>> On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
>>> diff --git a/xen/arch/ppc/include/asm/Makefile
>>> b/xen/arch/ppc/include/asm/Makefile
>>> index 319e90955b..bcddcc181a 100644
>>> --- a/xen/arch/ppc/include/asm/Makefile
>>> +++ b/xen/arch/ppc/include/asm/Makefile
>>> @@ -5,6 +5,7 @@ generic-y += div64.h
>>>  generic-y += hardirq.h
>>>  generic-y += hypercall.h
>>>  generic-y += iocap.h
>>> +generic-y += monitor.h
>>>  generic-y += paging.h
>>>  generic-y += percpu.h
>>>  generic-y += random.h
>>> diff --git a/xen/arch/ppc/include/asm/monitor.h
>>> b/xen/arch/ppc/include/asm/monitor.h
>>> deleted file mode 100644
>>> index e5b0282bf1..0000000000
>>> --- a/xen/arch/ppc/include/asm/monitor.h
>>> +++ /dev/null
>>> @@ -1,43 +0,0 @@
>>> -/* SPDX-License-Identifier: GPL-2.0-only */
>>> -/* Derived from xen/arch/arm/include/asm/monitor.h */
>>> -#ifndef __ASM_PPC_MONITOR_H__
>>> -#define __ASM_PPC_MONITOR_H__
>>> -
>>> -#include <public/domctl.h>
>>> -#include <xen/errno.h>
>>> -
>>> -static inline
>>> -void arch_monitor_allow_userspace(struct domain *d, bool
>>> allow_userspace)
>>> -{
>>> -}
>>> -
>>> -static inline
>>> -int arch_monitor_domctl_op(struct domain *d, struct
>>> xen_domctl_monitor_op *mop)
>>> -{
>>> -    /* No arch-specific monitor ops on PPC. */
>>> -    return -EOPNOTSUPP;
>>> -}
>>> -
>>> -int arch_monitor_domctl_event(struct domain *d,
>>> -                              struct xen_domctl_monitor_op *mop);
>>> -
>>> -static inline
>>> -int arch_monitor_init_domain(struct domain *d)
>>> -{
>>> -    /* No arch-specific domain initialization on PPC. */
>>> -    return 0;
>>> -}
>>> -
>>> -static inline
>>> -void arch_monitor_cleanup_domain(struct domain *d)
>>> -{
>>> -    /* No arch-specific domain cleanup on PPC. */
>>> -}
>>> -
>>> -static inline uint32_t arch_monitor_get_capabilities(struct domain
>>> *d)
>>> -{
>>> -    BUG_ON("unimplemented");
>>
>> I'm not sure how I feel about this assertion being dropped in the
>> generic header. In general my philosophy when creating these stub
>> headers was to insert as many of these assertions as possible so we
>> don't end up in a scenario where during early bringup I miss a
>> function
>> that was originally stubbed but ought to be implemented eventually.
>>
>> Looking at ARM's monitor.h too, it seems that this function is the
>> only
>> one that differs from the generic/stub version. I'm wondering if it
>> would make sense to leave this function out of the generic header, to
>> be
>> defined by the arch similar to what you've done with some other
>> functions in this series. That would also allow ARM to be brought in
>> to
>> using the generic variant.
> Thanks for the comment.
> 
> For RISC-V, I did in the same way ( about BUG() and unimplemented for
> time being functions ).
> 
> I agree that such implementation isn't correct for generic header. I
> think the best one solution will be to include <asm-generic/monitor.h>
> in <asm/monitor.h> whwere only this function will be implemented (
> because implementation of other functions are the same for Arm, PPC and
> RISC-V ).
>

That approach sounds great to me.

> ~ Oleksii

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:47:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:47:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644166.1004841 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8QWf-0005JH-T5; Wed, 29 Nov 2023 19:47:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644166.1004841; Wed, 29 Nov 2023 19:47: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 1r8QWf-0005JA-QO; Wed, 29 Nov 2023 19:47:13 +0000
Received: by outflank-mailman (input) for mailman id 644166;
 Wed, 29 Nov 2023 19:47: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=L0pV=HK=linux.microsoft.com=madvenka@srs-se1.protection.inumbo.net>)
 id 1r8QWf-0005FT-0c
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:47:13 +0000
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTP
 id 163d745c-8ef0-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 20:47:11 +0100 (CET)
Received: from [192.168.4.26] (unknown [47.186.13.91])
 by linux.microsoft.com (Postfix) with ESMTPSA id 170A820B74C0;
 Wed, 29 Nov 2023 11:47:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 163d745c-8ef0-11ee-98e4-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 170A820B74C0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
	s=default; t=1701287230;
	bh=/AE04joHGbexNg6/1EM+o2YovtZhSbAJbfvFr6KppsI=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=m2zcYwwKjEICCbmm6pNwRqAhVUCXZ16/8j+Rm7KklfOt+2Ayb4zeushfGcTbZxznq
	 3hN7N2zKM0A0/gQ44k2UL+nPl6XrqJsEKFGafJpDqPaapCdFHry5gFf1f4pq+6pJ/l
	 apo4cqq0Sd+X0a18QxRWb+mfxOTM3r6ttMVsuAlE=
Message-ID: <e430efa3-6a7a-44c8-a1d2-9943c76f748e@linux.microsoft.com>
Date: Wed, 29 Nov 2023 13:47:07 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2 18/19] heki: x86: Protect guest kernel memory using
 the KVM hypervisor
To: Peter Zijlstra <peterz@infradead.org>
Cc: =?UTF-8?Q?Micka=C3=ABl_Sala=C3=BCn?= <mic@digikod.net>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H . Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
 Kees Cook <keescook@chromium.org>, Paolo Bonzini <pbonzini@redhat.com>,
 Sean Christopherson <seanjc@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vitaly Kuznetsov <vkuznets@redhat.com>,
 Wanpeng Li <wanpengli@tencent.com>, Alexander Graf <graf@amazon.com>,
 Chao Peng <chao.p.peng@linux.intel.com>,
 "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
 Forrest Yuan Yu <yuanyu@google.com>, James Gowans <jgowans@amazon.com>,
 James Morris <jamorris@linux.microsoft.com>,
 John Andersen <john.s.andersen@intel.com>,
 Marian Rotariu <marian.c.rotariu@gmail.com>,
 =?UTF-8?Q?Mihai_Don=C8=9Bu?= <mdontu@bitdefender.com>,
 =?UTF-8?B?TmljdciZb3IgQ8OuyJt1?= <nicu.citu@icloud.com>,
 Thara Gopinath <tgopinath@microsoft.com>,
 Trilok Soni <quic_tsoni@quicinc.com>, Wei Liu <wei.liu@kernel.org>,
 Will Deacon <will@kernel.org>, Yu Zhang <yu.c.zhang@linux.intel.com>,
 Zahra Tarkhani <ztarkhani@microsoft.com>,
 =?UTF-8?Q?=C8=98tefan_=C8=98icleru?= <ssicleru@bitdefender.com>,
 dev@lists.cloudhypervisor.org, kvm@vger.kernel.org,
 linux-hardening@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org,
 qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
 x86@kernel.org, xen-devel@lists.xenproject.org
References: <20231113022326.24388-1-mic@digikod.net>
 <20231113022326.24388-19-mic@digikod.net>
 <20231113085403.GC16138@noisy.programming.kicks-ass.net>
 <b1dc0963-ab99-4a79-af19-ef5ed981fa60@linux.microsoft.com>
 <20231127200308.GY3818@noisy.programming.kicks-ass.net>
Content-Language: en-US
From: "Madhavan T. Venkataraman" <madvenka@linux.microsoft.com>
In-Reply-To: <20231127200308.GY3818@noisy.programming.kicks-ass.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit



On 11/27/23 14:03, Peter Zijlstra wrote:
> On Mon, Nov 27, 2023 at 11:05:23AM -0600, Madhavan T. Venkataraman wrote:
>> Apologies for the late reply. I was on vacation. Please see my response below:
>>
>> On 11/13/23 02:54, Peter Zijlstra wrote:
>>> On Sun, Nov 12, 2023 at 09:23:25PM -0500, Mickaël Salaün wrote:
>>>> From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
>>>>
>>>> Implement a hypervisor function, kvm_protect_memory() that calls the
>>>> KVM_HC_PROTECT_MEMORY hypercall to request the KVM hypervisor to
>>>> set specified permissions on a list of guest pages.
>>>>
>>>> Using the protect_memory() function, set proper EPT permissions for all
>>>> guest pages.
>>>>
>>>> Use the MEM_ATTR_IMMUTABLE property to protect the kernel static
>>>> sections and the boot-time read-only sections. This enables to make sure
>>>> a compromised guest will not be able to change its main physical memory
>>>> page permissions. However, this also disable any feature that may change
>>>> the kernel's text section (e.g., ftrace, Kprobes), but they can still be
>>>> used on kernel modules.
>>>>
>>>> Module loading/unloading, and eBPF JIT is allowed without restrictions
>>>> for now, but we'll need a way to authenticate these code changes to
>>>> really improve the guests' security. We plan to use module signatures,
>>>> but there is no solution yet to authenticate eBPF programs.
>>>>
>>>> Being able to use ftrace and Kprobes in a secure way is a challenge not
>>>> solved yet. We're looking for ideas to make this work.
>>>>
>>>> Likewise, the JUMP_LABEL feature cannot work because the kernel's text
>>>> section is read-only.
>>>
>>> What is the actual problem? As is the kernel text map is already RO and
>>> never changed.
>>
>> For the JUMP_LABEL optimization, the text needs to be patched at some point.
>> That patching requires a writable mapping of the text page at the time of
>> patching.
>>
>> In this Heki feature, we currently lock down the kernel text at the end of
>> kernel boot just before kicking off the init process. The lockdown is
>> implemented by setting the permissions of a text page to R_X in the extended
>> page table and not allowing write permissions in the EPT after that. So, jump label
>> patching during kernel boot is not a problem. But doing it after kernel
>> boot is a problem.
> 
> But you see, that's exactly what the kernel already does with the normal
> permissions. They get set to RX after init and are never changed.
> 
> See the previous patch, we establish a read-write alias and write there.
> 
> You seem to lack basic understanding of how the kernel works in this
> regard, which makes me very nervous about you touching any of this.
> 
> I must also say I really dislike your extra/random permssion calls all
> over the place. They don't really get us anything afaict. Why can't you
> plumb into the existing set_memory_*() family?

I have responded to your comments on your other email. Please read my
response there.

Thanks.

Madhavan


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:50:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:50:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644169.1004851 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8QZU-0007HG-9O; Wed, 29 Nov 2023 19:50:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644169.1004851; Wed, 29 Nov 2023 19:50: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 1r8QZU-0007Ge-6i; Wed, 29 Nov 2023 19:50:08 +0000
Received: by outflank-mailman (input) for mailman id 644169;
 Wed, 29 Nov 2023 19:50: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=s3b2=HK=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r8QZS-0007CG-Pq
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:50:06 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7d016b12-8ef0-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:50:04 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id D29FF828673D;
 Wed, 29 Nov 2023 13:50:02 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id PVNv2y5L0G4f; Wed, 29 Nov 2023 13:50:01 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 690A68285402;
 Wed, 29 Nov 2023 13:50:01 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id Xav8qrq_fcpW; Wed, 29 Nov 2023 13:50:01 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 8C57F82853E2;
 Wed, 29 Nov 2023 13:50:00 -0600 (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: 7d016b12-8ef0-11ee-9b0f-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 690A68285402
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701287401; bh=bozs7KyXajs2JF/xjROVXKvJUKexkweT747aOda4gpI=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=KPnq/KuOi2xNq5YtFe53f76E/S24tQ8msnR9z9Nq7Flb3bisbqjR8q5q6sIp6M6n+
	 aNHSLv+SOjNLBvduSTU1J/lNNbPdwAegNUUxcikrBOzjwA9Vq0Ar43VO7OFd9cfImr
	 XlTO2RymKHRXteJTd6+vOjwL8tTRt/hG6/CwftUk=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <2924be5a-cf1c-49ed-a69d-9fa32442ace2@raptorengineering.com>
Date: Wed, 29 Nov 2023 13:49:59 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 11/14] xen/asm-generic: introduce stub header numa.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <44bb374738ad0cae041a0164812dfd33d091d954.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <44bb374738ad0cae041a0164812dfd33d091d954.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> diff --git a/xen/arch/arm/include/asm/numa.h b/xen/include/asm-generic/numa.h
> similarity index 76%
> rename from xen/arch/arm/include/asm/numa.h
> rename to xen/include/asm-generic/numa.h
> index e2bee2bd82..b00fca4978 100644
> --- a/xen/arch/arm/include/asm/numa.h
> +++ b/xen/include/asm-generic/numa.h
> @@ -1,12 +1,15 @@
> -#ifndef __ARCH_ARM_NUMA_H
> -#define __ARCH_ARM_NUMA_H
> +/* SPDX-License-Identifier: GPL-2.0-only */
> +#ifndef __ASM_GENERIC_NUMA_H
> +#define __ASM_GENERIC_NUMA_H
>  
> -#include <xen/mm.h>
> +#include <xen/stdint.h>
>  
> -typedef u8 nodeid_t;
> +typedef uint8_t nodeid_t;
>  
>  #ifndef CONFIG_NUMA
>  
> +#include <xen/mm-frame.h>
> +
>  /* Fake one node for now. See also node_online_map. */
>  #define cpu_to_node(cpu) 0
>  #define node_to_cpumask(node)   (cpu_online_map)
> @@ -26,7 +29,8 @@ extern mfn_t first_valid_mfn;

Minor nit: in this part of the file (that wasn't included by git in this
diff), there's a comment that references Arm:

 /*
  * TODO: make first_valid_mfn static when NUMA is supported on Arm, this
  * is required because the dummy helpers are using it.
  */
 extern mfn_t first_valid_mfn;

This should probably be changed to generic/GENERIC as you've done
elsewhere in the series.

In any case,

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:54:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:54:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644173.1004861 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Qdr-0007w9-S8; Wed, 29 Nov 2023 19:54:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644173.1004861; Wed, 29 Nov 2023 19: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 1r8Qdr-0007w2-PG; Wed, 29 Nov 2023 19:54:39 +0000
Received: by outflank-mailman (input) for mailman id 644173;
 Wed, 29 Nov 2023 19:54: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=s3b2=HK=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r8Qdq-0007vw-O5
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:54:38 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1f881a51-8ef1-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:54:36 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id DEEDB8285402;
 Wed, 29 Nov 2023 13:54:35 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id WyikWwCjhaI2; Wed, 29 Nov 2023 13:54:34 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 18E348285668;
 Wed, 29 Nov 2023 13:54:34 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id HEExPgEnNZO3; Wed, 29 Nov 2023 13:54:33 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id 854ED8285402;
 Wed, 29 Nov 2023 13:54:33 -0600 (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: 1f881a51-8ef1-11ee-9b0f-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 18E348285668
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701287674; bh=9YCpgw5K1Pm5Pd6CadDcMixEq5iCcxEGQZkZfgBK1Ew=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=uboPYuxhXoQp118roiaFo4txe29J8f1UCneZjqk9+LnOe04NuIVA3QhRn8ibThrC0
	 AIM0QttUlgyqcW7K1CYGanmSLrLqVoIKNdhPHVAPxD+O02N/aLrfTEn4wS7ISq6wh5
	 X8wrXFDYaxokHBjQXq2RVlBcfkqJK5iYWR8IqwDM=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <16dd398d-fa91-46f8-b6a2-02cd34b24aa8@raptorengineering.com>
Date: Wed, 29 Nov 2023 13:54:33 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/14] xen/asm-generic: introduce stub header softirq.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <090991be61252cabefc06da19597e3a86a4cd1da.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <090991be61252cabefc06da19597e3a86a4cd1da.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> <asm/softirq.h> is common between Arm, PPC and RISC-V so it is
> moved to asm-generic.
> 
> Drop Arm and PPC's softirq.h and use asm-generic version instead.
> 

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644176.1004878 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8QfK-0000e0-Kh; Wed, 29 Nov 2023 19:56:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644176.1004878; Wed, 29 Nov 2023 19:56: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 1r8QfK-0000bt-Ff; Wed, 29 Nov 2023 19:56:10 +0000
Received: by outflank-mailman (input) for mailman id 644176;
 Wed, 29 Nov 2023 19:56: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8QfJ-0000Sw-GO
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56: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 55d330d8-8ef1-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 20:56:08 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-630-7PZf8UtzMqq7ue5HK1SifQ-1; Wed,
 29 Nov 2023 14:56:01 -0500
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com
 [10.11.54.3])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id BF60E29AA2CA;
 Wed, 29 Nov 2023 19:56:00 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 22DFA1121308;
 Wed, 29 Nov 2023 19:55:59 +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: 55d330d8-8ef1-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287767;
	h=from:from:reply-to:subject:subject: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=4ocMGkaWO2UNgH6BeGysPHsaortxgu0jbKcgqrLTfAY=;
	b=MQItrGL3QxuFlzS3M60oZzaIwfVJo+/gA308TwNwWSoZQ44Ew9+qNhidOfvOLqNGGqJOuj
	aj+L8zlfqAuwDsZfyvbCbwmZQNTxlQOBmiRBcavbbiq5SuiAJ6D4D3VP30wZDET7X6zykh
	+i8s4skSxdQ57HcTuVmsAJ12ZFLnxxo=
X-MC-Unique: 7PZf8UtzMqq7ue5HK1SifQ-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 01/12] virtio-scsi: replace AioContext lock with tmf_bh_lock
Date: Wed, 29 Nov 2023 14:55:42 -0500
Message-ID: <20231129195553.942921-2-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3

Protect the Task Management Function BH state with a lock. The TMF BH
runs in the main loop thread. An IOThread might process a TMF at the
same time as the TMF BH is running. Therefore tmf_bh_list and tmf_bh
must be protected by a lock.

Run TMF request completion in the IOThread using aio_wait_bh_oneshot().
This avoids more locking to protect the virtqueue and SCSI layer state.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/hw/virtio/virtio-scsi.h |  3 +-
 hw/scsi/virtio-scsi.c           | 62 ++++++++++++++++++++++-----------
 2 files changed, 43 insertions(+), 22 deletions(-)

diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index 779568ab5d..da8cb928d9 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -85,8 +85,9 @@ struct VirtIOSCSI {
 
     /*
      * TMFs deferred to main loop BH. These fields are protected by
-     * virtio_scsi_acquire().
+     * tmf_bh_lock.
      */
+    QemuMutex tmf_bh_lock;
     QEMUBH *tmf_bh;
     QTAILQ_HEAD(, VirtIOSCSIReq) tmf_bh_list;
 
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 9c751bf296..4f8d35facc 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -123,6 +123,30 @@ static void virtio_scsi_complete_req(VirtIOSCSIReq *req)
     virtio_scsi_free_req(req);
 }
 
+static void virtio_scsi_complete_req_bh(void *opaque)
+{
+    VirtIOSCSIReq *req = opaque;
+
+    virtio_scsi_complete_req(req);
+}
+
+/*
+ * Called from virtio_scsi_do_one_tmf_bh() in main loop thread. The main loop
+ * thread cannot touch the virtqueue since that could race with an IOThread.
+ */
+static void virtio_scsi_complete_req_from_main_loop(VirtIOSCSIReq *req)
+{
+    VirtIOSCSI *s = req->dev;
+
+    if (!s->ctx || s->ctx == qemu_get_aio_context()) {
+        /* No need to schedule a BH when there is no IOThread */
+        virtio_scsi_complete_req(req);
+    } else {
+        /* Run request completion in the IOThread */
+        aio_wait_bh_oneshot(s->ctx, virtio_scsi_complete_req_bh, req);
+    }
+}
+
 static void virtio_scsi_bad_req(VirtIOSCSIReq *req)
 {
     virtio_error(VIRTIO_DEVICE(req->dev), "wrong size for virtio-scsi headers");
@@ -338,10 +362,7 @@ static void virtio_scsi_do_one_tmf_bh(VirtIOSCSIReq *req)
 
 out:
     object_unref(OBJECT(d));
-
-    virtio_scsi_acquire(s);
-    virtio_scsi_complete_req(req);
-    virtio_scsi_release(s);
+    virtio_scsi_complete_req_from_main_loop(req);
 }
 
 /* Some TMFs must be processed from the main loop thread */
@@ -354,18 +375,16 @@ static void virtio_scsi_do_tmf_bh(void *opaque)
 
     GLOBAL_STATE_CODE();
 
-    virtio_scsi_acquire(s);
+    WITH_QEMU_LOCK_GUARD(&s->tmf_bh_lock) {
+        QTAILQ_FOREACH_SAFE(req, &s->tmf_bh_list, next, tmp) {
+            QTAILQ_REMOVE(&s->tmf_bh_list, req, next);
+            QTAILQ_INSERT_TAIL(&reqs, req, next);
+        }
 
-    QTAILQ_FOREACH_SAFE(req, &s->tmf_bh_list, next, tmp) {
-        QTAILQ_REMOVE(&s->tmf_bh_list, req, next);
-        QTAILQ_INSERT_TAIL(&reqs, req, next);
+        qemu_bh_delete(s->tmf_bh);
+        s->tmf_bh = NULL;
     }
 
-    qemu_bh_delete(s->tmf_bh);
-    s->tmf_bh = NULL;
-
-    virtio_scsi_release(s);
-
     QTAILQ_FOREACH_SAFE(req, &reqs, next, tmp) {
         QTAILQ_REMOVE(&reqs, req, next);
         virtio_scsi_do_one_tmf_bh(req);
@@ -379,8 +398,7 @@ static void virtio_scsi_reset_tmf_bh(VirtIOSCSI *s)
 
     GLOBAL_STATE_CODE();
 
-    virtio_scsi_acquire(s);
-
+    /* Called after ioeventfd has been stopped, so tmf_bh_lock is not needed */
     if (s->tmf_bh) {
         qemu_bh_delete(s->tmf_bh);
         s->tmf_bh = NULL;
@@ -393,19 +411,19 @@ static void virtio_scsi_reset_tmf_bh(VirtIOSCSI *s)
         req->resp.tmf.response = VIRTIO_SCSI_S_TARGET_FAILURE;
         virtio_scsi_complete_req(req);
     }
-
-    virtio_scsi_release(s);
 }
 
 static void virtio_scsi_defer_tmf_to_bh(VirtIOSCSIReq *req)
 {
     VirtIOSCSI *s = req->dev;
 
-    QTAILQ_INSERT_TAIL(&s->tmf_bh_list, req, next);
+    WITH_QEMU_LOCK_GUARD(&s->tmf_bh_lock) {
+        QTAILQ_INSERT_TAIL(&s->tmf_bh_list, req, next);
 
-    if (!s->tmf_bh) {
-        s->tmf_bh = qemu_bh_new(virtio_scsi_do_tmf_bh, s);
-        qemu_bh_schedule(s->tmf_bh);
+        if (!s->tmf_bh) {
+            s->tmf_bh = qemu_bh_new(virtio_scsi_do_tmf_bh, s);
+            qemu_bh_schedule(s->tmf_bh);
+        }
     }
 }
 
@@ -1235,6 +1253,7 @@ static void virtio_scsi_device_realize(DeviceState *dev, Error **errp)
     Error *err = NULL;
 
     QTAILQ_INIT(&s->tmf_bh_list);
+    qemu_mutex_init(&s->tmf_bh_lock);
 
     virtio_scsi_common_realize(dev,
                                virtio_scsi_handle_ctrl,
@@ -1277,6 +1296,7 @@ static void virtio_scsi_device_unrealize(DeviceState *dev)
 
     qbus_set_hotplug_handler(BUS(&s->bus), NULL);
     virtio_scsi_common_unrealize(dev);
+    qemu_mutex_destroy(&s->tmf_bh_lock);
 }
 
 static Property virtio_scsi_properties[] = {
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644175.1004871 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8QfK-0000Wf-6X; Wed, 29 Nov 2023 19:56:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644175.1004871; Wed, 29 Nov 2023 19:56: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 1r8QfK-0000WY-3J; Wed, 29 Nov 2023 19:56:10 +0000
Received: by outflank-mailman (input) for mailman id 644175;
 Wed, 29 Nov 2023 19:56: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8QfI-0000Sw-Rc
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:08 +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 527b5cdf-8ef1-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 20:56:02 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-115-lpKhYjwBNRSAJDcVZt1Ezw-1; Wed,
 29 Nov 2023 14:55:59 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 508B03C02B8C;
 Wed, 29 Nov 2023 19:55:58 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 06D9D1C060B1;
 Wed, 29 Nov 2023 19:55: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: 527b5cdf-8ef1-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287761;
	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;
	bh=e7N4tRDtP2IBzVTMaL8yeWW0d5GyesAwh+oFp0HXr5s=;
	b=Gi9RB8Wsnev5AhMm4EMf2Ok1qinUP2NUZ3B8+jl+UvfuQ1n6gKd16N4t2QFhw5wJeNLrT3
	LAPRSwSStS/gMlkLslanfrPWgXSNPal8EXF5SATP5CST67TSgEPnTIPPZtST6iKpQ5YvNu
	jZyNQXI5NDTDrzM0KYwRTJurKWJ+sqw=
X-MC-Unique: lpKhYjwBNRSAJDcVZt1Ezw-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 00/12] aio: remove AioContext lock
Date: Wed, 29 Nov 2023 14:55:41 -0500
Message-ID: <20231129195553.942921-1-stefanha@redhat.com>
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.7

This series removes the AioContext locking APIs from QEMU.
aio_context_acquire() and aio_context_release() are currently only needed to
support the locking discipline required by AIO_POLL_WHILE() (except for a stray
user that I converted in Patch 1). AIO_POLL_WHILE() doesn't really need the
AioContext lock anymore, so it's possible to remove the API. This is a nice
simplification because the AioContext locking rules were sometimes tricky or
underspecified, leading to many bugs of the years.

This patch series removes these APIs across the codebase and cleans up the
documentation/comments that refers to them.

Patch 1 is a AioContext lock user I forgot to convert in my earlier SCSI
conversion series.

Patch 2 removes tests for the AioContext lock because they will no longer be
needed when the lock is gone.

Patches 3-9 remove the AioContext lock. These can be reviewed by categorizing
the call sites into 1. places that take the lock because they call an API that
requires the lock (ultimately AIO_POLL_WHILE()) and 2. places that take the
lock to protect state. There should be no instances of case 2 left. If you see
one, you've found a bug in this patch series!

Patches 10-12 remove comments.

Based-on: 20231123194931.171598-1-stefanha@redhat.com ("[PATCH 0/4] scsi: eliminate AioContext lock")
Since SCSI needs to stop relying on the AioContext lock before we can remove
the lock.

Stefan Hajnoczi (12):
  virtio-scsi: replace AioContext lock with tmf_bh_lock
  tests: remove aio_context_acquire() tests
  aio: make aio_context_acquire()/aio_context_release() a no-op
  graph-lock: remove AioContext locking
  block: remove AioContext locking
  scsi: remove AioContext locking
  aio-wait: draw equivalence between AIO_WAIT_WHILE() and
    AIO_WAIT_WHILE_UNLOCKED()
  aio: remove aio_context_acquire()/aio_context_release() API
  docs: remove AioContext lock from IOThread docs
  scsi: remove outdated AioContext lock comment
  job: remove outdated AioContext locking comments
  block: remove outdated AioContext locking comments

 docs/devel/multiple-iothreads.txt    |  45 ++--
 include/block/aio-wait.h             |  16 +-
 include/block/aio.h                  |  17 --
 include/block/block-common.h         |   3 -
 include/block/block-global-state.h   |   9 +-
 include/block/block-io.h             |  12 +-
 include/block/block_int-common.h     |   2 -
 include/block/graph-lock.h           |  21 +-
 include/block/snapshot.h             |   2 -
 include/hw/virtio/virtio-scsi.h      |  17 +-
 include/qemu/job.h                   |  20 --
 block.c                              | 357 ++++-----------------------
 block/backup.c                       |   4 +-
 block/blklogwrites.c                 |   8 +-
 block/blkverify.c                    |   4 +-
 block/block-backend.c                |  33 +--
 block/commit.c                       |  16 +-
 block/copy-before-write.c            |  22 +-
 block/export/export.c                |  22 +-
 block/export/vhost-user-blk-server.c |   4 -
 block/graph-lock.c                   |  44 +---
 block/io.c                           |  45 +---
 block/mirror.c                       |  41 +--
 block/monitor/bitmap-qmp-cmds.c      |  20 +-
 block/monitor/block-hmp-cmds.c       |  29 ---
 block/qapi-sysemu.c                  |  27 +-
 block/qapi.c                         |  18 +-
 block/qcow2.c                        |   4 +-
 block/quorum.c                       |   8 +-
 block/raw-format.c                   |   5 -
 block/replication.c                  |  72 +-----
 block/snapshot.c                     |  26 +-
 block/stream.c                       |  12 +-
 block/vmdk.c                         |  20 +-
 block/write-threshold.c              |   6 -
 blockdev.c                           | 315 +++++------------------
 blockjob.c                           |  30 +--
 hw/block/dataplane/virtio-blk.c      |  10 -
 hw/block/dataplane/xen-block.c       |  17 +-
 hw/block/virtio-blk.c                |  45 +---
 hw/core/qdev-properties-system.c     |   9 -
 hw/scsi/scsi-bus.c                   |   2 -
 hw/scsi/scsi-disk.c                  |  29 +--
 hw/scsi/virtio-scsi.c                |  80 +++---
 job.c                                |  16 --
 migration/block.c                    |  33 +--
 migration/migration-hmp-cmds.c       |   3 -
 migration/savevm.c                   |  22 --
 net/colo-compare.c                   |   2 -
 qemu-img.c                           |   4 -
 qemu-io.c                            |  10 +-
 qemu-nbd.c                           |   2 -
 replay/replay-debugging.c            |   4 -
 tests/unit/test-aio.c                |  67 +----
 tests/unit/test-bdrv-drain.c         |  91 ++-----
 tests/unit/test-bdrv-graph-mod.c     |  26 +-
 tests/unit/test-block-iothread.c     |  31 ---
 tests/unit/test-blockjob.c           | 137 ----------
 tests/unit/test-replication.c        |  11 -
 util/async.c                         |  14 --
 util/vhost-user-server.c             |   3 -
 scripts/block-coroutine-wrapper.py   |   7 +-
 tests/qemu-iotests/202               |   2 +-
 tests/qemu-iotests/203               |   3 +-
 tests/tsan/suppressions.tsan         |   1 -
 65 files changed, 324 insertions(+), 1713 deletions(-)

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644177.1004891 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8QfM-00012Q-T7; Wed, 29 Nov 2023 19:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644177.1004891; Wed, 29 Nov 2023 19: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 1r8QfM-00012H-Oq; Wed, 29 Nov 2023 19:56:12 +0000
Received: by outflank-mailman (input) for mailman id 644177;
 Wed, 29 Nov 2023 19: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8QfL-0000tx-Hh
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:11 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 56595fa9-8ef1-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:56:09 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-675-cCc6c86vMTanlI7Lk6yCzA-1; Wed, 29 Nov 2023 14:56:04 -0500
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 54B1D85A5B5;
 Wed, 29 Nov 2023 19:56:03 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 945FCC15881;
 Wed, 29 Nov 2023 19:56: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: 56595fa9-8ef1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287768;
	h=from:from:reply-to:subject:subject: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=aS2QKCjvSUaDgBLp5BpYBu5ELqUNynQgUkZ8pGmrnOA=;
	b=PkczHfrzBWmQuzJGedWZd53LHhHi3jf8PdjtMTrPqN/CNxgTNh7ZSXqkqEETi4WIOE0k/d
	EPxoRgLEtGnjw22GwN0wxh68q4dpva4ypKt4rVZfrhncM9ZJRZXsjKhjIZa5oVD4WpeE+Q
	Zui5Ty3ln5q/9hdXj06cIeFxIFzLeTY=
X-MC-Unique: cCc6c86vMTanlI7Lk6yCzA-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 02/12] tests: remove aio_context_acquire() tests
Date: Wed, 29 Nov 2023 14:55:43 -0500
Message-ID: <20231129195553.942921-3-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8

The aio_context_acquire() API is being removed. Drop the test case that
calls the API.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 tests/unit/test-aio.c | 67 +------------------------------------------
 1 file changed, 1 insertion(+), 66 deletions(-)

diff --git a/tests/unit/test-aio.c b/tests/unit/test-aio.c
index 337b6e4ea7..e77d86be87 100644
--- a/tests/unit/test-aio.c
+++ b/tests/unit/test-aio.c
@@ -100,76 +100,12 @@ static void event_ready_cb(EventNotifier *e)
 
 /* Tests using aio_*.  */
 
-typedef struct {
-    QemuMutex start_lock;
-    EventNotifier notifier;
-    bool thread_acquired;
-} AcquireTestData;
-
-static void *test_acquire_thread(void *opaque)
-{
-    AcquireTestData *data = opaque;
-
-    /* Wait for other thread to let us start */
-    qemu_mutex_lock(&data->start_lock);
-    qemu_mutex_unlock(&data->start_lock);
-
-    /* event_notifier_set might be called either before or after
-     * the main thread's call to poll().  The test case's outcome
-     * should be the same in either case.
-     */
-    event_notifier_set(&data->notifier);
-    aio_context_acquire(ctx);
-    aio_context_release(ctx);
-
-    data->thread_acquired = true; /* success, we got here */
-
-    return NULL;
-}
-
 static void set_event_notifier(AioContext *nctx, EventNotifier *notifier,
                                EventNotifierHandler *handler)
 {
     aio_set_event_notifier(nctx, notifier, handler, NULL, NULL);
 }
 
-static void dummy_notifier_read(EventNotifier *n)
-{
-    event_notifier_test_and_clear(n);
-}
-
-static void test_acquire(void)
-{
-    QemuThread thread;
-    AcquireTestData data;
-
-    /* Dummy event notifier ensures aio_poll() will block */
-    event_notifier_init(&data.notifier, false);
-    set_event_notifier(ctx, &data.notifier, dummy_notifier_read);
-    g_assert(!aio_poll(ctx, false)); /* consume aio_notify() */
-
-    qemu_mutex_init(&data.start_lock);
-    qemu_mutex_lock(&data.start_lock);
-    data.thread_acquired = false;
-
-    qemu_thread_create(&thread, "test_acquire_thread",
-                       test_acquire_thread,
-                       &data, QEMU_THREAD_JOINABLE);
-
-    /* Block in aio_poll(), let other thread kick us and acquire context */
-    aio_context_acquire(ctx);
-    qemu_mutex_unlock(&data.start_lock); /* let the thread run */
-    g_assert(aio_poll(ctx, true));
-    g_assert(!data.thread_acquired);
-    aio_context_release(ctx);
-
-    qemu_thread_join(&thread);
-    set_event_notifier(ctx, &data.notifier, NULL);
-    event_notifier_cleanup(&data.notifier);
-
-    g_assert(data.thread_acquired);
-}
-
 static void test_bh_schedule(void)
 {
     BHTestData data = { .n = 0 };
@@ -879,7 +815,7 @@ static void test_worker_thread_co_enter(void)
     qemu_thread_get_self(&this_thread);
     co = qemu_coroutine_create(co_check_current_thread, &this_thread);
 
-    qemu_thread_create(&worker_thread, "test_acquire_thread",
+    qemu_thread_create(&worker_thread, "test_aio_co_enter",
                        test_aio_co_enter,
                        co, QEMU_THREAD_JOINABLE);
 
@@ -899,7 +835,6 @@ int main(int argc, char **argv)
     while (g_main_context_iteration(NULL, false));
 
     g_test_init(&argc, &argv, NULL);
-    g_test_add_func("/aio/acquire",                 test_acquire);
     g_test_add_func("/aio/bh/schedule",             test_bh_schedule);
     g_test_add_func("/aio/bh/schedule10",           test_bh_schedule10);
     g_test_add_func("/aio/bh/cancel",               test_bh_cancel);
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644178.1004901 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8QfQ-0001Mv-4k; Wed, 29 Nov 2023 19:56:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644178.1004901; Wed, 29 Nov 2023 19:56: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 1r8QfQ-0001Mk-0u; Wed, 29 Nov 2023 19:56:16 +0000
Received: by outflank-mailman (input) for mailman id 644178;
 Wed, 29 Nov 2023 19:56: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8QfP-0000tx-4h
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:15 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 590d486a-8ef1-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:56:13 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-27-8eQxkhYyPXOHpZ0VJZcoIw-1; Wed,
 29 Nov 2023 14:56:07 -0500
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com
 [10.11.54.2])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 18C2529AA2C8;
 Wed, 29 Nov 2023 19:56:06 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 4111440C6EBA;
 Wed, 29 Nov 2023 19:56: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: 590d486a-8ef1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287772;
	h=from:from:reply-to:subject:subject: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=jC9wKpUncUXW/n39IkHJZO19bmqglRHH0XTJO58TB7M=;
	b=Lpi+SiAtSWuTmpoXJbO+6lSa4GnAe28qlTAsv5NXY9pQYLc/VNr4FfFmmd5TczqmcbL9Pj
	u6NkrkXTwaK1ZdF100ZhC9MqBs4EXOunQbxA3A96+XPXgEJecS8NSvF+HRQuGIe1sv8wti
	wH6uak60qFXHcqBiLjSsTPeFB8ke+m4=
X-MC-Unique: 8eQxkhYyPXOHpZ0VJZcoIw-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 03/12] aio: make aio_context_acquire()/aio_context_release() a no-op
Date: Wed, 29 Nov 2023 14:55:44 -0500
Message-ID: <20231129195553.942921-4-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.2

aio_context_acquire()/aio_context_release() has been replaced by
fine-grained locking to protect state shared by multiple threads. The
AioContext lock still plays the role of balancing locking in
AIO_WAIT_WHILE() and many functions in QEMU either require that the
AioContext lock is held or not held for this reason. In other words, the
AioContext lock is purely there for consistency with itself and serves
no real purpose anymore.

Stop actually acquiring/releasing the lock in
aio_context_acquire()/aio_context_release() so that subsequent patches
can remove callers across the codebase incrementally.

I have performed "make check" and qemu-iotests stress tests across
x86-64, ppc64le, and aarch64 to confirm that there are no failures as a
result of eliminating the lock.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 util/async.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/util/async.c b/util/async.c
index 8f90ddc304..04ee83d220 100644
--- a/util/async.c
+++ b/util/async.c
@@ -725,12 +725,12 @@ void aio_context_unref(AioContext *ctx)
 
 void aio_context_acquire(AioContext *ctx)
 {
-    qemu_rec_mutex_lock(&ctx->lock);
+    /* TODO remove this function */
 }
 
 void aio_context_release(AioContext *ctx)
 {
-    qemu_rec_mutex_unlock(&ctx->lock);
+    /* TODO remove this function */
 }
 
 QEMU_DEFINE_STATIC_CO_TLS(AioContext *, my_aiocontext)
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644179.1004911 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8QfV-0001pE-E1; Wed, 29 Nov 2023 19:56:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644179.1004911; Wed, 29 Nov 2023 19: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 1r8QfV-0001oy-9a; Wed, 29 Nov 2023 19:56:21 +0000
Received: by outflank-mailman (input) for mailman id 644179;
 Wed, 29 Nov 2023 19:56: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8QfT-0000tx-9a
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:19 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5ae6fad1-8ef1-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:56:17 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-323-DAbV2ybsOnCMbRPcvxQgEQ-1; Wed,
 29 Nov 2023 14:56:10 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1298F381A915;
 Wed, 29 Nov 2023 19:56:09 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id D92062026D66;
 Wed, 29 Nov 2023 19:56:07 +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: 5ae6fad1-8ef1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287775;
	h=from:from:reply-to:subject:subject: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=eXjB+pw8OK0rtAyWY8bPdYDU81fDrfCB1l8dR3y/S/w=;
	b=FCd2zzr8HkedxSzpnl9o36I4qkW1r8WlLNwnz8VA0cEgvI8c1j7K3Dlhl3HuffsWgK/7Po
	PGt8iktWOce+c3KziAV5dCPX5BZhXlviPYEKf3+thl5XwNlsjE36N0lpyEGo0cFjGjk8cF
	v9h//ouqoe1V0AeyE6Hm/MTz8q+FEO0=
X-MC-Unique: DAbV2ybsOnCMbRPcvxQgEQ-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 04/12] graph-lock: remove AioContext locking
Date: Wed, 29 Nov 2023 14:55:45 -0500
Message-ID: <20231129195553.942921-5-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4

Stop acquiring/releasing the AioContext lock in
bdrv_graph_wrlock()/bdrv_graph_unlock() since the lock no longer has any
effect.

The distinction between bdrv_graph_wrunlock() and
bdrv_graph_wrunlock_ctx() becomes meaningless and they can be collapsed
into one function.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/block/graph-lock.h         | 21 ++-----------
 block.c                            | 50 +++++++++++++++---------------
 block/backup.c                     |  4 +--
 block/blklogwrites.c               |  8 ++---
 block/blkverify.c                  |  4 +--
 block/block-backend.c              | 11 +++----
 block/commit.c                     | 16 +++++-----
 block/graph-lock.c                 | 44 ++------------------------
 block/mirror.c                     | 22 ++++++-------
 block/qcow2.c                      |  4 +--
 block/quorum.c                     |  8 ++---
 block/replication.c                | 14 ++++-----
 block/snapshot.c                   |  4 +--
 block/stream.c                     | 12 +++----
 block/vmdk.c                       | 20 ++++++------
 blockdev.c                         |  8 ++---
 blockjob.c                         | 12 +++----
 tests/unit/test-bdrv-drain.c       | 40 ++++++++++++------------
 tests/unit/test-bdrv-graph-mod.c   | 20 ++++++------
 scripts/block-coroutine-wrapper.py |  4 +--
 20 files changed, 133 insertions(+), 193 deletions(-)

diff --git a/include/block/graph-lock.h b/include/block/graph-lock.h
index 22b5db1ed9..d7545e82d0 100644
--- a/include/block/graph-lock.h
+++ b/include/block/graph-lock.h
@@ -110,34 +110,17 @@ void unregister_aiocontext(AioContext *ctx);
  *
  * The wrlock can only be taken from the main loop, with BQL held, as only the
  * main loop is allowed to modify the graph.
- *
- * If @bs is non-NULL, its AioContext is temporarily released.
- *
- * This function polls. Callers must not hold the lock of any AioContext other
- * than the current one and the one of @bs.
  */
 void no_coroutine_fn TSA_ACQUIRE(graph_lock) TSA_NO_TSA
-bdrv_graph_wrlock(BlockDriverState *bs);
+bdrv_graph_wrlock(void);
 
 /*
  * bdrv_graph_wrunlock:
  * Write finished, reset global has_writer to 0 and restart
  * all readers that are waiting.
- *
- * If @bs is non-NULL, its AioContext is temporarily released.
  */
 void no_coroutine_fn TSA_RELEASE(graph_lock) TSA_NO_TSA
-bdrv_graph_wrunlock(BlockDriverState *bs);
-
-/*
- * bdrv_graph_wrunlock_ctx:
- * Write finished, reset global has_writer to 0 and restart
- * all readers that are waiting.
- *
- * If @ctx is non-NULL, its lock is temporarily released.
- */
-void no_coroutine_fn TSA_RELEASE(graph_lock) TSA_NO_TSA
-bdrv_graph_wrunlock_ctx(AioContext *ctx);
+bdrv_graph_wrunlock(void);
 
 /*
  * bdrv_graph_co_rdlock:
diff --git a/block.c b/block.c
index bfb0861ec6..25e1ebc606 100644
--- a/block.c
+++ b/block.c
@@ -1708,12 +1708,12 @@ bdrv_open_driver(BlockDriverState *bs, BlockDriver *drv, const char *node_name,
 open_failed:
     bs->drv = NULL;
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     if (bs->file != NULL) {
         bdrv_unref_child(bs, bs->file);
         assert(!bs->file);
     }
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     g_free(bs->opaque);
     bs->opaque = NULL;
@@ -3575,9 +3575,9 @@ int bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd,
 
     bdrv_ref(drain_bs);
     bdrv_drained_begin(drain_bs);
-    bdrv_graph_wrlock(backing_hd);
+    bdrv_graph_wrlock();
     ret = bdrv_set_backing_hd_drained(bs, backing_hd, errp);
-    bdrv_graph_wrunlock(backing_hd);
+    bdrv_graph_wrunlock();
     bdrv_drained_end(drain_bs);
     bdrv_unref(drain_bs);
 
@@ -3790,13 +3790,13 @@ BdrvChild *bdrv_open_child(const char *filename,
         return NULL;
     }
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     ctx = bdrv_get_aio_context(bs);
     aio_context_acquire(ctx);
     child = bdrv_attach_child(parent, bs, bdref_key, child_class, child_role,
                               errp);
     aio_context_release(ctx);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     return child;
 }
@@ -4650,9 +4650,9 @@ int bdrv_reopen_multiple(BlockReopenQueue *bs_queue, Error **errp)
         aio_context_release(ctx);
     }
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     tran_commit(tran);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     QTAILQ_FOREACH_REVERSE(bs_entry, bs_queue, entry) {
         BlockDriverState *bs = bs_entry->state.bs;
@@ -4669,9 +4669,9 @@ int bdrv_reopen_multiple(BlockReopenQueue *bs_queue, Error **errp)
     goto cleanup;
 
 abort:
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     tran_abort(tran);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     QTAILQ_FOREACH_SAFE(bs_entry, bs_queue, entry, next) {
         if (bs_entry->prepared) {
@@ -4852,12 +4852,12 @@ bdrv_reopen_parse_file_or_backing(BDRVReopenState *reopen_state,
     }
 
     bdrv_graph_rdunlock_main_loop();
-    bdrv_graph_wrlock(new_child_bs);
+    bdrv_graph_wrlock();
 
     ret = bdrv_set_file_or_backing_noperm(bs, new_child_bs, is_backing,
                                           tran, errp);
 
-    bdrv_graph_wrunlock_ctx(ctx);
+    bdrv_graph_wrunlock();
 
     if (old_ctx != ctx) {
         aio_context_release(ctx);
@@ -5209,14 +5209,14 @@ static void bdrv_close(BlockDriverState *bs)
         bs->drv = NULL;
     }
 
-    bdrv_graph_wrlock(bs);
+    bdrv_graph_wrlock();
     QLIST_FOREACH_SAFE(child, &bs->children, next, next) {
         bdrv_unref_child(bs, child);
     }
 
     assert(!bs->backing);
     assert(!bs->file);
-    bdrv_graph_wrunlock(bs);
+    bdrv_graph_wrunlock();
 
     g_free(bs->opaque);
     bs->opaque = NULL;
@@ -5509,9 +5509,9 @@ int bdrv_drop_filter(BlockDriverState *bs, Error **errp)
     bdrv_graph_rdunlock_main_loop();
 
     bdrv_drained_begin(child_bs);
-    bdrv_graph_wrlock(bs);
+    bdrv_graph_wrlock();
     ret = bdrv_replace_node_common(bs, child_bs, true, true, errp);
-    bdrv_graph_wrunlock(bs);
+    bdrv_graph_wrunlock();
     bdrv_drained_end(child_bs);
 
     return ret;
@@ -5561,7 +5561,7 @@ int bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top,
     aio_context_acquire(old_context);
     new_context = NULL;
 
-    bdrv_graph_wrlock(bs_top);
+    bdrv_graph_wrlock();
 
     child = bdrv_attach_child_noperm(bs_new, bs_top, "backing",
                                      &child_of_bds, bdrv_backing_role(bs_new),
@@ -5593,7 +5593,7 @@ out:
     tran_finalize(tran, ret);
 
     bdrv_refresh_limits(bs_top, NULL, NULL);
-    bdrv_graph_wrunlock(bs_top);
+    bdrv_graph_wrunlock();
 
     bdrv_drained_end(bs_top);
     bdrv_drained_end(bs_new);
@@ -5620,7 +5620,7 @@ int bdrv_replace_child_bs(BdrvChild *child, BlockDriverState *new_bs,
     bdrv_ref(old_bs);
     bdrv_drained_begin(old_bs);
     bdrv_drained_begin(new_bs);
-    bdrv_graph_wrlock(new_bs);
+    bdrv_graph_wrlock();
 
     bdrv_replace_child_tran(child, new_bs, tran);
 
@@ -5631,7 +5631,7 @@ int bdrv_replace_child_bs(BdrvChild *child, BlockDriverState *new_bs,
 
     tran_finalize(tran, ret);
 
-    bdrv_graph_wrunlock(new_bs);
+    bdrv_graph_wrunlock();
     bdrv_drained_end(old_bs);
     bdrv_drained_end(new_bs);
     bdrv_unref(old_bs);
@@ -5718,9 +5718,9 @@ BlockDriverState *bdrv_insert_node(BlockDriverState *bs, QDict *options,
     bdrv_ref(bs);
     bdrv_drained_begin(bs);
     bdrv_drained_begin(new_node_bs);
-    bdrv_graph_wrlock(new_node_bs);
+    bdrv_graph_wrlock();
     ret = bdrv_replace_node(bs, new_node_bs, errp);
-    bdrv_graph_wrunlock(new_node_bs);
+    bdrv_graph_wrunlock();
     bdrv_drained_end(new_node_bs);
     bdrv_drained_end(bs);
     bdrv_unref(bs);
@@ -5975,7 +5975,7 @@ int bdrv_drop_intermediate(BlockDriverState *top, BlockDriverState *base,
 
     bdrv_ref(top);
     bdrv_drained_begin(base);
-    bdrv_graph_wrlock(base);
+    bdrv_graph_wrlock();
 
     if (!top->drv || !base->drv) {
         goto exit_wrlock;
@@ -6015,7 +6015,7 @@ int bdrv_drop_intermediate(BlockDriverState *top, BlockDriverState *base,
      * That's a FIXME.
      */
     bdrv_replace_node_common(top, base, false, false, &local_err);
-    bdrv_graph_wrunlock(base);
+    bdrv_graph_wrunlock();
 
     if (local_err) {
         error_report_err(local_err);
@@ -6052,7 +6052,7 @@ int bdrv_drop_intermediate(BlockDriverState *top, BlockDriverState *base,
     goto exit;
 
 exit_wrlock:
-    bdrv_graph_wrunlock(base);
+    bdrv_graph_wrunlock();
 exit:
     bdrv_drained_end(base);
     bdrv_unref(top);
diff --git a/block/backup.c b/block/backup.c
index 8aae5836d7..ec29d6b810 100644
--- a/block/backup.c
+++ b/block/backup.c
@@ -496,10 +496,10 @@ BlockJob *backup_job_create(const char *job_id, BlockDriverState *bs,
     block_copy_set_speed(bcs, speed);
 
     /* Required permissions are taken by copy-before-write filter target */
-    bdrv_graph_wrlock(target);
+    bdrv_graph_wrlock();
     block_job_add_bdrv(&job->common, "target", target, 0, BLK_PERM_ALL,
                        &error_abort);
-    bdrv_graph_wrunlock(target);
+    bdrv_graph_wrunlock();
 
     return &job->common;
 
diff --git a/block/blklogwrites.c b/block/blklogwrites.c
index 3678f6cf42..7207b2e757 100644
--- a/block/blklogwrites.c
+++ b/block/blklogwrites.c
@@ -251,9 +251,9 @@ static int blk_log_writes_open(BlockDriverState *bs, QDict *options, int flags,
     ret = 0;
 fail_log:
     if (ret < 0) {
-        bdrv_graph_wrlock(NULL);
+        bdrv_graph_wrlock();
         bdrv_unref_child(bs, s->log_file);
-        bdrv_graph_wrunlock(NULL);
+        bdrv_graph_wrunlock();
         s->log_file = NULL;
     }
 fail:
@@ -265,10 +265,10 @@ static void blk_log_writes_close(BlockDriverState *bs)
 {
     BDRVBlkLogWritesState *s = bs->opaque;
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_unref_child(bs, s->log_file);
     s->log_file = NULL;
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 }
 
 static int64_t coroutine_fn GRAPH_RDLOCK
diff --git a/block/blkverify.c b/block/blkverify.c
index 9b17c46644..ec45d8335e 100644
--- a/block/blkverify.c
+++ b/block/blkverify.c
@@ -151,10 +151,10 @@ static void blkverify_close(BlockDriverState *bs)
 {
     BDRVBlkverifyState *s = bs->opaque;
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_unref_child(bs, s->test_file);
     s->test_file = NULL;
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 }
 
 static int64_t coroutine_fn GRAPH_RDLOCK
diff --git a/block/block-backend.c b/block/block-backend.c
index ec21148806..abac4e0235 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -889,7 +889,6 @@ void blk_remove_bs(BlockBackend *blk)
 {
     ThrottleGroupMember *tgm = &blk->public.throttle_group_member;
     BdrvChild *root;
-    AioContext *ctx;
 
     GLOBAL_STATE_CODE();
 
@@ -919,10 +918,9 @@ void blk_remove_bs(BlockBackend *blk)
     root = blk->root;
     blk->root = NULL;
 
-    ctx = bdrv_get_aio_context(root->bs);
-    bdrv_graph_wrlock(root->bs);
+    bdrv_graph_wrlock();
     bdrv_root_unref_child(root);
-    bdrv_graph_wrunlock_ctx(ctx);
+    bdrv_graph_wrunlock();
 }
 
 /*
@@ -933,16 +931,15 @@ void blk_remove_bs(BlockBackend *blk)
 int blk_insert_bs(BlockBackend *blk, BlockDriverState *bs, Error **errp)
 {
     ThrottleGroupMember *tgm = &blk->public.throttle_group_member;
-    AioContext *ctx = bdrv_get_aio_context(bs);
 
     GLOBAL_STATE_CODE();
     bdrv_ref(bs);
-    bdrv_graph_wrlock(bs);
+    bdrv_graph_wrlock();
     blk->root = bdrv_root_attach_child(bs, "root", &child_root,
                                        BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
                                        blk->perm, blk->shared_perm,
                                        blk, errp);
-    bdrv_graph_wrunlock_ctx(ctx);
+    bdrv_graph_wrunlock();
     if (blk->root == NULL) {
         return -EPERM;
     }
diff --git a/block/commit.c b/block/commit.c
index 69cc75be0c..1dd7a65ffb 100644
--- a/block/commit.c
+++ b/block/commit.c
@@ -100,9 +100,9 @@ static void commit_abort(Job *job)
     bdrv_graph_rdunlock_main_loop();
 
     bdrv_drained_begin(commit_top_backing_bs);
-    bdrv_graph_wrlock(commit_top_backing_bs);
+    bdrv_graph_wrlock();
     bdrv_replace_node(s->commit_top_bs, commit_top_backing_bs, &error_abort);
-    bdrv_graph_wrunlock(commit_top_backing_bs);
+    bdrv_graph_wrunlock();
     bdrv_drained_end(commit_top_backing_bs);
 
     bdrv_unref(s->commit_top_bs);
@@ -339,7 +339,7 @@ void commit_start(const char *job_id, BlockDriverState *bs,
      * this is the responsibility of the interface (i.e. whoever calls
      * commit_start()).
      */
-    bdrv_graph_wrlock(top);
+    bdrv_graph_wrlock();
     s->base_overlay = bdrv_find_overlay(top, base);
     assert(s->base_overlay);
 
@@ -370,19 +370,19 @@ void commit_start(const char *job_id, BlockDriverState *bs,
         ret = block_job_add_bdrv(&s->common, "intermediate node", iter, 0,
                                  iter_shared_perms, errp);
         if (ret < 0) {
-            bdrv_graph_wrunlock(top);
+            bdrv_graph_wrunlock();
             goto fail;
         }
     }
 
     if (bdrv_freeze_backing_chain(commit_top_bs, base, errp) < 0) {
-        bdrv_graph_wrunlock(top);
+        bdrv_graph_wrunlock();
         goto fail;
     }
     s->chain_frozen = true;
 
     ret = block_job_add_bdrv(&s->common, "base", base, 0, BLK_PERM_ALL, errp);
-    bdrv_graph_wrunlock(top);
+    bdrv_graph_wrunlock();
 
     if (ret < 0) {
         goto fail;
@@ -434,9 +434,9 @@ fail:
      * otherwise this would fail because of lack of permissions. */
     if (commit_top_bs) {
         bdrv_drained_begin(top);
-        bdrv_graph_wrlock(top);
+        bdrv_graph_wrlock();
         bdrv_replace_node(commit_top_bs, top, &error_abort);
-        bdrv_graph_wrunlock(top);
+        bdrv_graph_wrunlock();
         bdrv_drained_end(top);
     }
 }
diff --git a/block/graph-lock.c b/block/graph-lock.c
index 079e878d9b..c81162b147 100644
--- a/block/graph-lock.c
+++ b/block/graph-lock.c
@@ -106,27 +106,12 @@ static uint32_t reader_count(void)
     return rd;
 }
 
-void no_coroutine_fn bdrv_graph_wrlock(BlockDriverState *bs)
+void no_coroutine_fn bdrv_graph_wrlock(void)
 {
-    AioContext *ctx = NULL;
-
     GLOBAL_STATE_CODE();
     assert(!qatomic_read(&has_writer));
     assert(!qemu_in_coroutine());
 
-    /*
-     * Release only non-mainloop AioContext. The mainloop often relies on the
-     * BQL and doesn't lock the main AioContext before doing things.
-     */
-    if (bs) {
-        ctx = bdrv_get_aio_context(bs);
-        if (ctx != qemu_get_aio_context()) {
-            aio_context_release(ctx);
-        } else {
-            ctx = NULL;
-        }
-    }
-
     /* Make sure that constantly arriving new I/O doesn't cause starvation */
     bdrv_drain_all_begin_nopoll();
 
@@ -155,27 +140,13 @@ void no_coroutine_fn bdrv_graph_wrlock(BlockDriverState *bs)
     } while (reader_count() >= 1);
 
     bdrv_drain_all_end();
-
-    if (ctx) {
-        aio_context_acquire(bdrv_get_aio_context(bs));
-    }
 }
 
-void no_coroutine_fn bdrv_graph_wrunlock_ctx(AioContext *ctx)
+void no_coroutine_fn bdrv_graph_wrunlock(void)
 {
     GLOBAL_STATE_CODE();
     assert(qatomic_read(&has_writer));
 
-    /*
-     * Release only non-mainloop AioContext. The mainloop often relies on the
-     * BQL and doesn't lock the main AioContext before doing things.
-     */
-    if (ctx && ctx != qemu_get_aio_context()) {
-        aio_context_release(ctx);
-    } else {
-        ctx = NULL;
-    }
-
     WITH_QEMU_LOCK_GUARD(&aio_context_list_lock) {
         /*
          * No need for memory barriers, this works in pair with
@@ -197,17 +168,6 @@ void no_coroutine_fn bdrv_graph_wrunlock_ctx(AioContext *ctx)
      * progress.
      */
     aio_bh_poll(qemu_get_aio_context());
-
-    if (ctx) {
-        aio_context_acquire(ctx);
-    }
-}
-
-void no_coroutine_fn bdrv_graph_wrunlock(BlockDriverState *bs)
-{
-    AioContext *ctx = bs ? bdrv_get_aio_context(bs) : NULL;
-
-    bdrv_graph_wrunlock_ctx(ctx);
 }
 
 void coroutine_fn bdrv_graph_co_rdlock(void)
diff --git a/block/mirror.c b/block/mirror.c
index cd9d3ad4a8..51f9e2f17c 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -764,7 +764,7 @@ static int mirror_exit_common(Job *job)
          * check for an op blocker on @to_replace, and we have our own
          * there.
          */
-        bdrv_graph_wrlock(target_bs);
+        bdrv_graph_wrlock();
         if (bdrv_recurse_can_replace(src, to_replace)) {
             bdrv_replace_node(to_replace, target_bs, &local_err);
         } else {
@@ -773,7 +773,7 @@ static int mirror_exit_common(Job *job)
                        "would not lead to an abrupt change of visible data",
                        to_replace->node_name, target_bs->node_name);
         }
-        bdrv_graph_wrunlock(target_bs);
+        bdrv_graph_wrunlock();
         bdrv_drained_end(to_replace);
         if (local_err) {
             error_report_err(local_err);
@@ -796,9 +796,9 @@ static int mirror_exit_common(Job *job)
      * valid.
      */
     block_job_remove_all_bdrv(bjob);
-    bdrv_graph_wrlock(mirror_top_bs);
+    bdrv_graph_wrlock();
     bdrv_replace_node(mirror_top_bs, mirror_top_bs->backing->bs, &error_abort);
-    bdrv_graph_wrunlock(mirror_top_bs);
+    bdrv_graph_wrunlock();
 
     bdrv_drained_end(target_bs);
     bdrv_unref(target_bs);
@@ -1914,13 +1914,13 @@ static BlockJob *mirror_start_job(
      */
     bdrv_disable_dirty_bitmap(s->dirty_bitmap);
 
-    bdrv_graph_wrlock(bs);
+    bdrv_graph_wrlock();
     ret = block_job_add_bdrv(&s->common, "source", bs, 0,
                              BLK_PERM_WRITE_UNCHANGED | BLK_PERM_WRITE |
                              BLK_PERM_CONSISTENT_READ,
                              errp);
     if (ret < 0) {
-        bdrv_graph_wrunlock(bs);
+        bdrv_graph_wrunlock();
         goto fail;
     }
 
@@ -1965,17 +1965,17 @@ static BlockJob *mirror_start_job(
             ret = block_job_add_bdrv(&s->common, "intermediate node", iter, 0,
                                      iter_shared_perms, errp);
             if (ret < 0) {
-                bdrv_graph_wrunlock(bs);
+                bdrv_graph_wrunlock();
                 goto fail;
             }
         }
 
         if (bdrv_freeze_backing_chain(mirror_top_bs, target, errp) < 0) {
-            bdrv_graph_wrunlock(bs);
+            bdrv_graph_wrunlock();
             goto fail;
         }
     }
-    bdrv_graph_wrunlock(bs);
+    bdrv_graph_wrunlock();
 
     QTAILQ_INIT(&s->ops_in_flight);
 
@@ -2001,12 +2001,12 @@ fail:
 
     bs_opaque->stop = true;
     bdrv_drained_begin(bs);
-    bdrv_graph_wrlock(bs);
+    bdrv_graph_wrlock();
     assert(mirror_top_bs->backing->bs == bs);
     bdrv_child_refresh_perms(mirror_top_bs, mirror_top_bs->backing,
                              &error_abort);
     bdrv_replace_node(mirror_top_bs, bs, &error_abort);
-    bdrv_graph_wrunlock(bs);
+    bdrv_graph_wrunlock();
     bdrv_drained_end(bs);
 
     bdrv_unref(mirror_top_bs);
diff --git a/block/qcow2.c b/block/qcow2.c
index 13e032bd5e..9bee66fff5 100644
--- a/block/qcow2.c
+++ b/block/qcow2.c
@@ -2807,9 +2807,9 @@ qcow2_do_close(BlockDriverState *bs, bool close_data_file)
     if (close_data_file && has_data_file(bs)) {
         GLOBAL_STATE_CODE();
         bdrv_graph_rdunlock_main_loop();
-        bdrv_graph_wrlock(NULL);
+        bdrv_graph_wrlock();
         bdrv_unref_child(bs, s->data_file);
-        bdrv_graph_wrunlock(NULL);
+        bdrv_graph_wrunlock();
         s->data_file = NULL;
         bdrv_graph_rdlock_main_loop();
     }
diff --git a/block/quorum.c b/block/quorum.c
index 505b8b3e18..db8fe891c4 100644
--- a/block/quorum.c
+++ b/block/quorum.c
@@ -1037,14 +1037,14 @@ static int quorum_open(BlockDriverState *bs, QDict *options, int flags,
 
 close_exit:
     /* cleanup on error */
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     for (i = 0; i < s->num_children; i++) {
         if (!opened[i]) {
             continue;
         }
         bdrv_unref_child(bs, s->children[i]);
     }
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
     g_free(s->children);
     g_free(opened);
 exit:
@@ -1057,11 +1057,11 @@ static void quorum_close(BlockDriverState *bs)
     BDRVQuorumState *s = bs->opaque;
     int i;
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     for (i = 0; i < s->num_children; i++) {
         bdrv_unref_child(bs, s->children[i]);
     }
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     g_free(s->children);
 }
diff --git a/block/replication.c b/block/replication.c
index 5ded5f1ca9..424b537ff7 100644
--- a/block/replication.c
+++ b/block/replication.c
@@ -560,7 +560,7 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
             return;
         }
 
-        bdrv_graph_wrlock(bs);
+        bdrv_graph_wrlock();
 
         bdrv_ref(hidden_disk->bs);
         s->hidden_disk = bdrv_attach_child(bs, hidden_disk->bs, "hidden disk",
@@ -568,7 +568,7 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
                                            &local_err);
         if (local_err) {
             error_propagate(errp, local_err);
-            bdrv_graph_wrunlock(bs);
+            bdrv_graph_wrunlock();
             aio_context_release(aio_context);
             return;
         }
@@ -579,7 +579,7 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
                                               BDRV_CHILD_DATA, &local_err);
         if (local_err) {
             error_propagate(errp, local_err);
-            bdrv_graph_wrunlock(bs);
+            bdrv_graph_wrunlock();
             aio_context_release(aio_context);
             return;
         }
@@ -592,7 +592,7 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
         if (!top_bs || !bdrv_is_root_node(top_bs) ||
             !check_top_bs(top_bs, bs)) {
             error_setg(errp, "No top_bs or it is invalid");
-            bdrv_graph_wrunlock(bs);
+            bdrv_graph_wrunlock();
             reopen_backing_file(bs, false, NULL);
             aio_context_release(aio_context);
             return;
@@ -600,7 +600,7 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
         bdrv_op_block_all(top_bs, s->blocker);
         bdrv_op_unblock(top_bs, BLOCK_OP_TYPE_DATAPLANE, s->blocker);
 
-        bdrv_graph_wrunlock(bs);
+        bdrv_graph_wrunlock();
 
         s->backup_job = backup_job_create(
                                 NULL, s->secondary_disk->bs, s->hidden_disk->bs,
@@ -691,12 +691,12 @@ static void replication_done(void *opaque, int ret)
     if (ret == 0) {
         s->stage = BLOCK_REPLICATION_DONE;
 
-        bdrv_graph_wrlock(NULL);
+        bdrv_graph_wrlock();
         bdrv_unref_child(bs, s->secondary_disk);
         s->secondary_disk = NULL;
         bdrv_unref_child(bs, s->hidden_disk);
         s->hidden_disk = NULL;
-        bdrv_graph_wrunlock(NULL);
+        bdrv_graph_wrunlock();
 
         s->error = 0;
     } else {
diff --git a/block/snapshot.c b/block/snapshot.c
index ec8cf4810b..e486d3e205 100644
--- a/block/snapshot.c
+++ b/block/snapshot.c
@@ -290,9 +290,9 @@ int bdrv_snapshot_goto(BlockDriverState *bs,
         }
 
         /* .bdrv_open() will re-attach it */
-        bdrv_graph_wrlock(NULL);
+        bdrv_graph_wrlock();
         bdrv_unref_child(bs, fallback);
-        bdrv_graph_wrunlock(NULL);
+        bdrv_graph_wrunlock();
 
         ret = bdrv_snapshot_goto(fallback_bs, snapshot_id, errp);
         open_ret = drv->bdrv_open(bs, options, bs->open_flags, &local_err);
diff --git a/block/stream.c b/block/stream.c
index 01fe7c0f16..048c2d282f 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -99,9 +99,9 @@ static int stream_prepare(Job *job)
             }
         }
 
-        bdrv_graph_wrlock(s->target_bs);
+        bdrv_graph_wrlock();
         bdrv_set_backing_hd_drained(unfiltered_bs, base, &local_err);
-        bdrv_graph_wrunlock(s->target_bs);
+        bdrv_graph_wrunlock();
 
         /*
          * This call will do I/O, so the graph can change again from here on.
@@ -366,10 +366,10 @@ void stream_start(const char *job_id, BlockDriverState *bs,
      * already have our own plans. Also don't allow resize as the image size is
      * queried only at the job start and then cached.
      */
-    bdrv_graph_wrlock(bs);
+    bdrv_graph_wrlock();
     if (block_job_add_bdrv(&s->common, "active node", bs, 0,
                            basic_flags | BLK_PERM_WRITE, errp)) {
-        bdrv_graph_wrunlock(bs);
+        bdrv_graph_wrunlock();
         goto fail;
     }
 
@@ -389,11 +389,11 @@ void stream_start(const char *job_id, BlockDriverState *bs,
         ret = block_job_add_bdrv(&s->common, "intermediate node", iter, 0,
                                  basic_flags, errp);
         if (ret < 0) {
-            bdrv_graph_wrunlock(bs);
+            bdrv_graph_wrunlock();
             goto fail;
         }
     }
-    bdrv_graph_wrunlock(bs);
+    bdrv_graph_wrunlock();
 
     s->base_overlay = base_overlay;
     s->above_base = above_base;
diff --git a/block/vmdk.c b/block/vmdk.c
index d6971c7067..bf78e12383 100644
--- a/block/vmdk.c
+++ b/block/vmdk.c
@@ -272,7 +272,7 @@ static void vmdk_free_extents(BlockDriverState *bs)
     BDRVVmdkState *s = bs->opaque;
     VmdkExtent *e;
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     for (i = 0; i < s->num_extents; i++) {
         e = &s->extents[i];
         g_free(e->l1_table);
@@ -283,7 +283,7 @@ static void vmdk_free_extents(BlockDriverState *bs)
             bdrv_unref_child(bs, e->file);
         }
     }
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     g_free(s->extents);
 }
@@ -1247,9 +1247,9 @@ vmdk_parse_extents(const char *desc, BlockDriverState *bs, QDict *options,
                             0, 0, 0, 0, 0, &extent, errp);
             if (ret < 0) {
                 bdrv_graph_rdunlock_main_loop();
-                bdrv_graph_wrlock(NULL);
+                bdrv_graph_wrlock();
                 bdrv_unref_child(bs, extent_file);
-                bdrv_graph_wrunlock(NULL);
+                bdrv_graph_wrunlock();
                 bdrv_graph_rdlock_main_loop();
                 goto out;
             }
@@ -1266,9 +1266,9 @@ vmdk_parse_extents(const char *desc, BlockDriverState *bs, QDict *options,
             g_free(buf);
             if (ret) {
                 bdrv_graph_rdunlock_main_loop();
-                bdrv_graph_wrlock(NULL);
+                bdrv_graph_wrlock();
                 bdrv_unref_child(bs, extent_file);
-                bdrv_graph_wrunlock(NULL);
+                bdrv_graph_wrunlock();
                 bdrv_graph_rdlock_main_loop();
                 goto out;
             }
@@ -1277,9 +1277,9 @@ vmdk_parse_extents(const char *desc, BlockDriverState *bs, QDict *options,
             ret = vmdk_open_se_sparse(bs, extent_file, bs->open_flags, errp);
             if (ret) {
                 bdrv_graph_rdunlock_main_loop();
-                bdrv_graph_wrlock(NULL);
+                bdrv_graph_wrlock();
                 bdrv_unref_child(bs, extent_file);
-                bdrv_graph_wrunlock(NULL);
+                bdrv_graph_wrunlock();
                 bdrv_graph_rdlock_main_loop();
                 goto out;
             }
@@ -1287,9 +1287,9 @@ vmdk_parse_extents(const char *desc, BlockDriverState *bs, QDict *options,
         } else {
             error_setg(errp, "Unsupported extent type '%s'", type);
             bdrv_graph_rdunlock_main_loop();
-            bdrv_graph_wrlock(NULL);
+            bdrv_graph_wrlock();
             bdrv_unref_child(bs, extent_file);
-            bdrv_graph_wrunlock(NULL);
+            bdrv_graph_wrunlock();
             bdrv_graph_rdlock_main_loop();
             ret = -ENOTSUP;
             goto out;
diff --git a/blockdev.c b/blockdev.c
index 4c1177e8db..db9cc96510 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -1611,9 +1611,9 @@ static void external_snapshot_abort(void *opaque)
             }
 
             bdrv_drained_begin(state->new_bs);
-            bdrv_graph_wrlock(state->old_bs);
+            bdrv_graph_wrlock();
             bdrv_replace_node(state->new_bs, state->old_bs, &error_abort);
-            bdrv_graph_wrunlock(state->old_bs);
+            bdrv_graph_wrunlock();
             bdrv_drained_end(state->new_bs);
 
             bdrv_unref(state->old_bs); /* bdrv_replace_node() ref'ed old_bs */
@@ -3656,7 +3656,7 @@ void qmp_x_blockdev_change(const char *parent, const char *child,
     BlockDriverState *parent_bs, *new_bs = NULL;
     BdrvChild *p_child;
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
 
     parent_bs = bdrv_lookup_bs(parent, parent, errp);
     if (!parent_bs) {
@@ -3692,7 +3692,7 @@ void qmp_x_blockdev_change(const char *parent, const char *child,
     }
 
 out:
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 }
 
 BlockJobInfoList *qmp_query_block_jobs(Error **errp)
diff --git a/blockjob.c b/blockjob.c
index b7a29052b9..7310412313 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -199,7 +199,7 @@ void block_job_remove_all_bdrv(BlockJob *job)
      * to process an already freed BdrvChild.
      */
     aio_context_release(job->job.aio_context);
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     aio_context_acquire(job->job.aio_context);
     while (job->nodes) {
         GSList *l = job->nodes;
@@ -212,7 +212,7 @@ void block_job_remove_all_bdrv(BlockJob *job)
 
         g_slist_free_1(l);
     }
-    bdrv_graph_wrunlock_ctx(job->job.aio_context);
+    bdrv_graph_wrunlock();
 }
 
 bool block_job_has_bdrv(BlockJob *job, BlockDriverState *bs)
@@ -514,7 +514,7 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver,
     int ret;
     GLOBAL_STATE_CODE();
 
-    bdrv_graph_wrlock(bs);
+    bdrv_graph_wrlock();
 
     if (job_id == NULL && !(flags & JOB_INTERNAL)) {
         job_id = bdrv_get_device_name(bs);
@@ -523,7 +523,7 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver,
     job = job_create(job_id, &driver->job_driver, txn, bdrv_get_aio_context(bs),
                      flags, cb, opaque, errp);
     if (job == NULL) {
-        bdrv_graph_wrunlock(bs);
+        bdrv_graph_wrunlock();
         return NULL;
     }
 
@@ -563,11 +563,11 @@ void *block_job_create(const char *job_id, const BlockJobDriver *driver,
         goto fail;
     }
 
-    bdrv_graph_wrunlock(bs);
+    bdrv_graph_wrunlock();
     return job;
 
 fail:
-    bdrv_graph_wrunlock(bs);
+    bdrv_graph_wrunlock();
     job_early_fail(&job->job);
     return NULL;
 }
diff --git a/tests/unit/test-bdrv-drain.c b/tests/unit/test-bdrv-drain.c
index 704d1a3f36..d9754dfebc 100644
--- a/tests/unit/test-bdrv-drain.c
+++ b/tests/unit/test-bdrv-drain.c
@@ -807,9 +807,9 @@ static void test_blockjob_common_drain_node(enum drain_type drain_type,
     tjob->bs = src;
     job = &tjob->common;
 
-    bdrv_graph_wrlock(target);
+    bdrv_graph_wrlock();
     block_job_add_bdrv(job, "target", target, 0, BLK_PERM_ALL, &error_abort);
-    bdrv_graph_wrunlock(target);
+    bdrv_graph_wrunlock();
 
     switch (result) {
     case TEST_JOB_SUCCESS:
@@ -991,11 +991,11 @@ static void bdrv_test_top_close(BlockDriverState *bs)
 {
     BdrvChild *c, *next_c;
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     QLIST_FOREACH_SAFE(c, &bs->children, next, next_c) {
         bdrv_unref_child(bs, c);
     }
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 }
 
 static int coroutine_fn GRAPH_RDLOCK
@@ -1085,10 +1085,10 @@ static void do_test_delete_by_drain(bool detach_instead_of_delete,
 
     null_bs = bdrv_open("null-co://", NULL, NULL, BDRV_O_RDWR | BDRV_O_PROTOCOL,
                         &error_abort);
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_attach_child(bs, null_bs, "null-child", &child_of_bds,
                       BDRV_CHILD_DATA, &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     /* This child will be the one to pass to requests through to, and
      * it will stall until a drain occurs */
@@ -1096,21 +1096,21 @@ static void do_test_delete_by_drain(bool detach_instead_of_delete,
                                     &error_abort);
     child_bs->total_sectors = 65536 >> BDRV_SECTOR_BITS;
     /* Takes our reference to child_bs */
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     tts->wait_child = bdrv_attach_child(bs, child_bs, "wait-child",
                                         &child_of_bds,
                                         BDRV_CHILD_DATA | BDRV_CHILD_PRIMARY,
                                         &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     /* This child is just there to be deleted
      * (for detach_instead_of_delete == true) */
     null_bs = bdrv_open("null-co://", NULL, NULL, BDRV_O_RDWR | BDRV_O_PROTOCOL,
                         &error_abort);
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_attach_child(bs, null_bs, "null-child", &child_of_bds, BDRV_CHILD_DATA,
                       &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     blk = blk_new(qemu_get_aio_context(), BLK_PERM_ALL, BLK_PERM_ALL);
     blk_insert_bs(blk, bs, &error_abort);
@@ -1193,14 +1193,14 @@ static void no_coroutine_fn detach_indirect_bh(void *opaque)
 
     bdrv_dec_in_flight(data->child_b->bs);
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_unref_child(data->parent_b, data->child_b);
 
     bdrv_ref(data->c);
     data->child_c = bdrv_attach_child(data->parent_b, data->c, "PB-C",
                                       &child_of_bds, BDRV_CHILD_DATA,
                                       &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 }
 
 static void coroutine_mixed_fn detach_by_parent_aio_cb(void *opaque, int ret)
@@ -1298,7 +1298,7 @@ static void TSA_NO_TSA test_detach_indirect(bool by_parent_cb)
     /* Set child relationships */
     bdrv_ref(b);
     bdrv_ref(a);
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     child_b = bdrv_attach_child(parent_b, b, "PB-B", &child_of_bds,
                                 BDRV_CHILD_DATA, &error_abort);
     child_a = bdrv_attach_child(parent_b, a, "PB-A", &child_of_bds,
@@ -1308,7 +1308,7 @@ static void TSA_NO_TSA test_detach_indirect(bool by_parent_cb)
     bdrv_attach_child(parent_a, a, "PA-A",
                       by_parent_cb ? &child_of_bds : &detach_by_driver_cb_class,
                       BDRV_CHILD_DATA, &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     g_assert_cmpint(parent_a->refcnt, ==, 1);
     g_assert_cmpint(parent_b->refcnt, ==, 1);
@@ -1727,7 +1727,7 @@ static void test_drop_intermediate_poll(void)
      * Establish the chain last, so the chain links are the first
      * elements in the BDS.parents lists
      */
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     for (i = 0; i < 3; i++) {
         if (i) {
             /* Takes the reference to chain[i - 1] */
@@ -1735,7 +1735,7 @@ static void test_drop_intermediate_poll(void)
                               &chain_child_class, BDRV_CHILD_COW, &error_abort);
         }
     }
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     job = block_job_create("job", &test_simple_job_driver, NULL, job_node,
                            0, BLK_PERM_ALL, 0, 0, NULL, NULL, &error_abort);
@@ -1982,10 +1982,10 @@ static void do_test_replace_child_mid_drain(int old_drain_count,
     new_child_bs->total_sectors = 1;
 
     bdrv_ref(old_child_bs);
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_attach_child(parent_bs, old_child_bs, "child", &child_of_bds,
                       BDRV_CHILD_COW, &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
     parent_s->setup_completed = true;
 
     for (i = 0; i < old_drain_count; i++) {
@@ -2016,9 +2016,9 @@ static void do_test_replace_child_mid_drain(int old_drain_count,
     g_assert(parent_bs->quiesce_counter == old_drain_count);
     bdrv_drained_begin(old_child_bs);
     bdrv_drained_begin(new_child_bs);
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_replace_node(old_child_bs, new_child_bs, &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
     bdrv_drained_end(new_child_bs);
     bdrv_drained_end(old_child_bs);
     g_assert(parent_bs->quiesce_counter == new_drain_count);
diff --git a/tests/unit/test-bdrv-graph-mod.c b/tests/unit/test-bdrv-graph-mod.c
index 074adcbb93..8ee6ef38d8 100644
--- a/tests/unit/test-bdrv-graph-mod.c
+++ b/tests/unit/test-bdrv-graph-mod.c
@@ -137,10 +137,10 @@ static void test_update_perm_tree(void)
 
     blk_insert_bs(root, bs, &error_abort);
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_attach_child(filter, bs, "child", &child_of_bds,
                       BDRV_CHILD_DATA, &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     aio_context_acquire(qemu_get_aio_context());
     ret = bdrv_append(filter, bs, NULL);
@@ -206,11 +206,11 @@ static void test_should_update_child(void)
 
     bdrv_set_backing_hd(target, bs, &error_abort);
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     g_assert(target->backing->bs == bs);
     bdrv_attach_child(filter, target, "target", &child_of_bds,
                       BDRV_CHILD_DATA, &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
     aio_context_acquire(qemu_get_aio_context());
     bdrv_append(filter, bs, &error_abort);
     aio_context_release(qemu_get_aio_context());
@@ -248,7 +248,7 @@ static void test_parallel_exclusive_write(void)
     bdrv_ref(base);
     bdrv_ref(fl1);
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_attach_child(top, fl1, "backing", &child_of_bds,
                       BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
                       &error_abort);
@@ -260,7 +260,7 @@ static void test_parallel_exclusive_write(void)
                       &error_abort);
 
     bdrv_replace_node(fl1, fl2, &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     bdrv_drained_end(fl2);
     bdrv_drained_end(fl1);
@@ -367,7 +367,7 @@ static void test_parallel_perm_update(void)
      */
     bdrv_ref(base);
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_attach_child(top, ws, "file", &child_of_bds, BDRV_CHILD_DATA,
                       &error_abort);
     c_fl1 = bdrv_attach_child(ws, fl1, "first", &child_of_bds,
@@ -380,7 +380,7 @@ static void test_parallel_perm_update(void)
     bdrv_attach_child(fl2, base, "backing", &child_of_bds,
                       BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
                       &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     /* Select fl1 as first child to be active */
     s->selected = c_fl1;
@@ -434,11 +434,11 @@ static void test_append_greedy_filter(void)
     BlockDriverState *base = no_perm_node("base");
     BlockDriverState *fl = exclusive_writer_node("fl1");
 
-    bdrv_graph_wrlock(NULL);
+    bdrv_graph_wrlock();
     bdrv_attach_child(top, base, "backing", &child_of_bds,
                       BDRV_CHILD_FILTERED | BDRV_CHILD_PRIMARY,
                       &error_abort);
-    bdrv_graph_wrunlock(NULL);
+    bdrv_graph_wrunlock();
 
     aio_context_acquire(qemu_get_aio_context());
     bdrv_append(fl, base, &error_abort);
diff --git a/scripts/block-coroutine-wrapper.py b/scripts/block-coroutine-wrapper.py
index a38e5833fb..38364fa557 100644
--- a/scripts/block-coroutine-wrapper.py
+++ b/scripts/block-coroutine-wrapper.py
@@ -261,8 +261,8 @@ def gen_no_co_wrapper(func: FuncDecl) -> str:
         graph_lock='    bdrv_graph_rdlock_main_loop();'
         graph_unlock='    bdrv_graph_rdunlock_main_loop();'
     elif func.graph_wrlock:
-        graph_lock='    bdrv_graph_wrlock(NULL);'
-        graph_unlock='    bdrv_graph_wrunlock(NULL);'
+        graph_lock='    bdrv_graph_wrlock();'
+        graph_unlock='    bdrv_graph_wrunlock();'
 
     return f"""\
 /*
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:24 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:24 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644181.1004921 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8QfY-0002AQ-0I; Wed, 29 Nov 2023 19:56:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644181.1004921; Wed, 29 Nov 2023 19: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 1r8QfX-0002A8-SL; Wed, 29 Nov 2023 19:56:23 +0000
Received: by outflank-mailman (input) for mailman id 644181;
 Wed, 29 Nov 2023 19: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8QfV-0000Sw-VF
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:22 +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 5cb2a916-8ef1-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 20:56:19 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-352-ZTV1H51UO2KDuVXPdByndg-1; Wed, 29 Nov 2023 14:56:15 -0500
Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com
 [10.11.54.10])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0103F80513B;
 Wed, 29 Nov 2023 19:56:15 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id B14F7492BFA;
 Wed, 29 Nov 2023 19:56: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: 5cb2a916-8ef1-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287778;
	h=from:from:reply-to:subject:subject: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=rlzEyr6YIrkR9ojEWnw3+PyZvnKpivvahAOft3zBefI=;
	b=UJlbUTBakLEz/wns03r3ZYxBNj01MX0CjfcxT3SIH1HyMHq1XYa9toVTguDd8AG6iA5IHd
	yaur8ubRyqsmCz97Afbg/26yo46VzsaSpnU2pIZbpHokoqcrLvNgvg9Hl7EKPQlPnBFb+T
	P80IxwDN7fsLSB78W66YN8dGDNkLWDY=
X-MC-Unique: ZTV1H51UO2KDuVXPdByndg-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 05/12] block: remove AioContext locking
Date: Wed, 29 Nov 2023 14:55:46 -0500
Message-ID: <20231129195553.942921-6-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10

This is the big patch that removes
aio_context_acquire()/aio_context_release() from the block layer and
affected block layer users.

There isn't a clean way to split this patch and the reviewers are likely
the same group of people, so I decided to do it in one patch.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/block/block-global-state.h |   9 +-
 include/block/block-io.h           |   3 +-
 include/block/snapshot.h           |   2 -
 block.c                            | 234 +---------------------
 block/block-backend.c              |  14 --
 block/copy-before-write.c          |  22 +--
 block/export/export.c              |  22 +--
 block/io.c                         |  45 +----
 block/mirror.c                     |  19 --
 block/monitor/bitmap-qmp-cmds.c    |  20 +-
 block/monitor/block-hmp-cmds.c     |  29 ---
 block/qapi-sysemu.c                |  27 +--
 block/qapi.c                       |  18 +-
 block/raw-format.c                 |   5 -
 block/replication.c                |  58 +-----
 block/snapshot.c                   |  22 +--
 block/write-threshold.c            |   6 -
 blockdev.c                         | 307 +++++------------------------
 blockjob.c                         |  18 --
 hw/block/dataplane/virtio-blk.c    |  10 -
 hw/block/dataplane/xen-block.c     |  17 +-
 hw/block/virtio-blk.c              |  45 +----
 hw/core/qdev-properties-system.c   |   9 -
 job.c                              |  16 --
 migration/block.c                  |  33 +---
 migration/migration-hmp-cmds.c     |   3 -
 migration/savevm.c                 |  22 ---
 net/colo-compare.c                 |   2 -
 qemu-img.c                         |   4 -
 qemu-io.c                          |  10 +-
 qemu-nbd.c                         |   2 -
 replay/replay-debugging.c          |   4 -
 tests/unit/test-bdrv-drain.c       |  51 +----
 tests/unit/test-bdrv-graph-mod.c   |   6 -
 tests/unit/test-block-iothread.c   |  31 ---
 tests/unit/test-blockjob.c         | 137 -------------
 tests/unit/test-replication.c      |  11 --
 util/async.c                       |   4 -
 util/vhost-user-server.c           |   3 -
 scripts/block-coroutine-wrapper.py |   3 -
 tests/tsan/suppressions.tsan       |   1 -
 41 files changed, 102 insertions(+), 1202 deletions(-)

diff --git a/include/block/block-global-state.h b/include/block/block-global-state.h
index 6b21fbc73f..0327f1c605 100644
--- a/include/block/block-global-state.h
+++ b/include/block/block-global-state.h
@@ -31,11 +31,10 @@
 /*
  * Global state (GS) API. These functions run under the BQL.
  *
- * If a function modifies the graph, it also uses drain and/or
- * aio_context_acquire/release to be sure it has unique access.
- * aio_context locking is needed together with BQL because of
- * the thread-safe I/O API that concurrently runs and accesses
- * the graph without the BQL.
+ * If a function modifies the graph, it also uses the graph lock to be sure it
+ * has unique access. The graph lock is needed together with BQL because of the
+ * thread-safe I/O API that concurrently runs and accesses the graph without
+ * the BQL.
  *
  * It is important to note that not all of these functions are
  * necessarily limited to running under the BQL, but they would
diff --git a/include/block/block-io.h b/include/block/block-io.h
index f8729ccc55..8eb39a858b 100644
--- a/include/block/block-io.h
+++ b/include/block/block-io.h
@@ -31,8 +31,7 @@
 
 /*
  * I/O API functions. These functions are thread-safe, and therefore
- * can run in any thread as long as the thread has called
- * aio_context_acquire/release().
+ * can run in any thread.
  *
  * These functions can only call functions from I/O and Common categories,
  * but can be invoked by GS, "I/O or GS" and I/O APIs.
diff --git a/include/block/snapshot.h b/include/block/snapshot.h
index d49c5599d9..304cc6ea61 100644
--- a/include/block/snapshot.h
+++ b/include/block/snapshot.h
@@ -86,8 +86,6 @@ int bdrv_snapshot_load_tmp_by_id_or_name(BlockDriverState *bs,
 
 /*
  * Group operations. All block drivers are involved.
- * These functions will properly handle dataplane (take aio_context_acquire
- * when appropriate for appropriate block drivers
  */
 
 bool bdrv_all_can_snapshot(bool has_devices, strList *devices,
diff --git a/block.c b/block.c
index 25e1ebc606..91ace5d2d5 100644
--- a/block.c
+++ b/block.c
@@ -1625,7 +1625,6 @@ static int no_coroutine_fn GRAPH_UNLOCKED
 bdrv_open_driver(BlockDriverState *bs, BlockDriver *drv, const char *node_name,
                  QDict *options, int open_flags, Error **errp)
 {
-    AioContext *ctx;
     Error *local_err = NULL;
     int i, ret;
     GLOBAL_STATE_CODE();
@@ -1673,21 +1672,15 @@ bdrv_open_driver(BlockDriverState *bs, BlockDriver *drv, const char *node_name,
     bs->supported_read_flags |= BDRV_REQ_REGISTERED_BUF;
     bs->supported_write_flags |= BDRV_REQ_REGISTERED_BUF;
 
-    /* Get the context after .bdrv_open, it can change the context */
-    ctx = bdrv_get_aio_context(bs);
-    aio_context_acquire(ctx);
-
     ret = bdrv_refresh_total_sectors(bs, bs->total_sectors);
     if (ret < 0) {
         error_setg_errno(errp, -ret, "Could not refresh total sector count");
-        aio_context_release(ctx);
         return ret;
     }
 
     bdrv_graph_rdlock_main_loop();
     bdrv_refresh_limits(bs, NULL, &local_err);
     bdrv_graph_rdunlock_main_loop();
-    aio_context_release(ctx);
 
     if (local_err) {
         error_propagate(errp, local_err);
@@ -3062,7 +3055,7 @@ bdrv_attach_child_common(BlockDriverState *child_bs,
                          Transaction *tran, Error **errp)
 {
     BdrvChild *new_child;
-    AioContext *parent_ctx, *new_child_ctx;
+    AioContext *parent_ctx;
     AioContext *child_ctx = bdrv_get_aio_context(child_bs);
 
     assert(child_class->get_parent_desc);
@@ -3114,12 +3107,6 @@ bdrv_attach_child_common(BlockDriverState *child_bs,
         }
     }
 
-    new_child_ctx = bdrv_get_aio_context(child_bs);
-    if (new_child_ctx != child_ctx) {
-        aio_context_release(child_ctx);
-        aio_context_acquire(new_child_ctx);
-    }
-
     bdrv_ref(child_bs);
     /*
      * Let every new BdrvChild start with a drained parent. Inserting the child
@@ -3149,11 +3136,6 @@ bdrv_attach_child_common(BlockDriverState *child_bs,
     };
     tran_add(tran, &bdrv_attach_child_common_drv, s);
 
-    if (new_child_ctx != child_ctx) {
-        aio_context_release(new_child_ctx);
-        aio_context_acquire(child_ctx);
-    }
-
     return new_child;
 }
 
@@ -3605,7 +3587,6 @@ int bdrv_open_backing_file(BlockDriverState *bs, QDict *parent_options,
     int ret = 0;
     bool implicit_backing = false;
     BlockDriverState *backing_hd;
-    AioContext *backing_hd_ctx;
     QDict *options;
     QDict *tmp_parent_options = NULL;
     Error *local_err = NULL;
@@ -3691,11 +3672,8 @@ int bdrv_open_backing_file(BlockDriverState *bs, QDict *parent_options,
 
     /* Hook up the backing file link; drop our reference, bs owns the
      * backing_hd reference now */
-    backing_hd_ctx = bdrv_get_aio_context(backing_hd);
-    aio_context_acquire(backing_hd_ctx);
     ret = bdrv_set_backing_hd(bs, backing_hd, errp);
     bdrv_unref(backing_hd);
-    aio_context_release(backing_hd_ctx);
 
     if (ret < 0) {
         goto free_exit;
@@ -3780,7 +3758,6 @@ BdrvChild *bdrv_open_child(const char *filename,
 {
     BlockDriverState *bs;
     BdrvChild *child;
-    AioContext *ctx;
 
     GLOBAL_STATE_CODE();
 
@@ -3791,11 +3768,8 @@ BdrvChild *bdrv_open_child(const char *filename,
     }
 
     bdrv_graph_wrlock();
-    ctx = bdrv_get_aio_context(bs);
-    aio_context_acquire(ctx);
     child = bdrv_attach_child(parent, bs, bdref_key, child_class, child_role,
                               errp);
-    aio_context_release(ctx);
     bdrv_graph_wrunlock();
 
     return child;
@@ -3881,7 +3855,6 @@ static BlockDriverState *bdrv_append_temp_snapshot(BlockDriverState *bs,
     int64_t total_size;
     QemuOpts *opts = NULL;
     BlockDriverState *bs_snapshot = NULL;
-    AioContext *ctx = bdrv_get_aio_context(bs);
     int ret;
 
     GLOBAL_STATE_CODE();
@@ -3890,9 +3863,7 @@ static BlockDriverState *bdrv_append_temp_snapshot(BlockDriverState *bs,
        instead of opening 'filename' directly */
 
     /* Get the required size from the image */
-    aio_context_acquire(ctx);
     total_size = bdrv_getlength(bs);
-    aio_context_release(ctx);
 
     if (total_size < 0) {
         error_setg_errno(errp, -total_size, "Could not get image size");
@@ -3927,10 +3898,7 @@ static BlockDriverState *bdrv_append_temp_snapshot(BlockDriverState *bs,
         goto out;
     }
 
-    aio_context_acquire(ctx);
     ret = bdrv_append(bs_snapshot, bs, errp);
-    aio_context_release(ctx);
-
     if (ret < 0) {
         bs_snapshot = NULL;
         goto out;
@@ -3974,7 +3942,6 @@ bdrv_open_inherit(const char *filename, const char *reference, QDict *options,
     Error *local_err = NULL;
     QDict *snapshot_options = NULL;
     int snapshot_flags = 0;
-    AioContext *ctx = qemu_get_aio_context();
 
     assert(!child_class || !flags);
     assert(!child_class == !parent);
@@ -4115,12 +4082,10 @@ bdrv_open_inherit(const char *filename, const char *reference, QDict *options,
             /* Not requesting BLK_PERM_CONSISTENT_READ because we're only
              * looking at the header to guess the image format. This works even
              * in cases where a guest would not see a consistent state. */
-            ctx = bdrv_get_aio_context(file_bs);
-            aio_context_acquire(ctx);
+            AioContext *ctx = bdrv_get_aio_context(file_bs);
             file = blk_new(ctx, 0, BLK_PERM_ALL);
             blk_insert_bs(file, file_bs, &local_err);
             bdrv_unref(file_bs);
-            aio_context_release(ctx);
 
             if (local_err) {
                 goto fail;
@@ -4167,13 +4132,8 @@ bdrv_open_inherit(const char *filename, const char *reference, QDict *options,
         goto fail;
     }
 
-    /* The AioContext could have changed during bdrv_open_common() */
-    ctx = bdrv_get_aio_context(bs);
-
     if (file) {
-        aio_context_acquire(ctx);
         blk_unref(file);
-        aio_context_release(ctx);
         file = NULL;
     }
 
@@ -4231,16 +4191,13 @@ bdrv_open_inherit(const char *filename, const char *reference, QDict *options,
          * (snapshot_bs); thus, we have to drop the strong reference to bs
          * (which we obtained by calling bdrv_new()). bs will not be deleted,
          * though, because the overlay still has a reference to it. */
-        aio_context_acquire(ctx);
         bdrv_unref(bs);
-        aio_context_release(ctx);
         bs = snapshot_bs;
     }
 
     return bs;
 
 fail:
-    aio_context_acquire(ctx);
     blk_unref(file);
     qobject_unref(snapshot_options);
     qobject_unref(bs->explicit_options);
@@ -4249,14 +4206,11 @@ fail:
     bs->options = NULL;
     bs->explicit_options = NULL;
     bdrv_unref(bs);
-    aio_context_release(ctx);
     error_propagate(errp, local_err);
     return NULL;
 
 close_and_fail:
-    aio_context_acquire(ctx);
     bdrv_unref(bs);
-    aio_context_release(ctx);
     qobject_unref(snapshot_options);
     qobject_unref(options);
     error_propagate(errp, local_err);
@@ -4540,12 +4494,7 @@ void bdrv_reopen_queue_free(BlockReopenQueue *bs_queue)
     if (bs_queue) {
         BlockReopenQueueEntry *bs_entry, *next;
         QTAILQ_FOREACH_SAFE(bs_entry, bs_queue, entry, next) {
-            AioContext *ctx = bdrv_get_aio_context(bs_entry->state.bs);
-
-            aio_context_acquire(ctx);
             bdrv_drained_end(bs_entry->state.bs);
-            aio_context_release(ctx);
-
             qobject_unref(bs_entry->state.explicit_options);
             qobject_unref(bs_entry->state.options);
             g_free(bs_entry);
@@ -4577,7 +4526,6 @@ int bdrv_reopen_multiple(BlockReopenQueue *bs_queue, Error **errp)
 {
     int ret = -1;
     BlockReopenQueueEntry *bs_entry, *next;
-    AioContext *ctx;
     Transaction *tran = tran_new();
     g_autoptr(GSList) refresh_list = NULL;
 
@@ -4586,10 +4534,7 @@ int bdrv_reopen_multiple(BlockReopenQueue *bs_queue, Error **errp)
     GLOBAL_STATE_CODE();
 
     QTAILQ_FOREACH(bs_entry, bs_queue, entry) {
-        ctx = bdrv_get_aio_context(bs_entry->state.bs);
-        aio_context_acquire(ctx);
         ret = bdrv_flush(bs_entry->state.bs);
-        aio_context_release(ctx);
         if (ret < 0) {
             error_setg_errno(errp, -ret, "Error flushing drive");
             goto abort;
@@ -4598,10 +4543,7 @@ int bdrv_reopen_multiple(BlockReopenQueue *bs_queue, Error **errp)
 
     QTAILQ_FOREACH(bs_entry, bs_queue, entry) {
         assert(bs_entry->state.bs->quiesce_counter > 0);
-        ctx = bdrv_get_aio_context(bs_entry->state.bs);
-        aio_context_acquire(ctx);
         ret = bdrv_reopen_prepare(&bs_entry->state, bs_queue, tran, errp);
-        aio_context_release(ctx);
         if (ret < 0) {
             goto abort;
         }
@@ -4644,10 +4586,7 @@ int bdrv_reopen_multiple(BlockReopenQueue *bs_queue, Error **errp)
      * to first element.
      */
     QTAILQ_FOREACH_REVERSE(bs_entry, bs_queue, entry) {
-        ctx = bdrv_get_aio_context(bs_entry->state.bs);
-        aio_context_acquire(ctx);
         bdrv_reopen_commit(&bs_entry->state);
-        aio_context_release(ctx);
     }
 
     bdrv_graph_wrlock();
@@ -4658,10 +4597,7 @@ int bdrv_reopen_multiple(BlockReopenQueue *bs_queue, Error **errp)
         BlockDriverState *bs = bs_entry->state.bs;
 
         if (bs->drv->bdrv_reopen_commit_post) {
-            ctx = bdrv_get_aio_context(bs);
-            aio_context_acquire(ctx);
             bs->drv->bdrv_reopen_commit_post(&bs_entry->state);
-            aio_context_release(ctx);
         }
     }
 
@@ -4675,10 +4611,7 @@ abort:
 
     QTAILQ_FOREACH_SAFE(bs_entry, bs_queue, entry, next) {
         if (bs_entry->prepared) {
-            ctx = bdrv_get_aio_context(bs_entry->state.bs);
-            aio_context_acquire(ctx);
             bdrv_reopen_abort(&bs_entry->state);
-            aio_context_release(ctx);
         }
     }
 
@@ -4691,24 +4624,13 @@ cleanup:
 int bdrv_reopen(BlockDriverState *bs, QDict *opts, bool keep_old_opts,
                 Error **errp)
 {
-    AioContext *ctx = bdrv_get_aio_context(bs);
     BlockReopenQueue *queue;
-    int ret;
 
     GLOBAL_STATE_CODE();
 
     queue = bdrv_reopen_queue(NULL, bs, opts, keep_old_opts);
 
-    if (ctx != qemu_get_aio_context()) {
-        aio_context_release(ctx);
-    }
-    ret = bdrv_reopen_multiple(queue, errp);
-
-    if (ctx != qemu_get_aio_context()) {
-        aio_context_acquire(ctx);
-    }
-
-    return ret;
+    return bdrv_reopen_multiple(queue, errp);
 }
 
 int bdrv_reopen_set_read_only(BlockDriverState *bs, bool read_only,
@@ -4760,7 +4682,6 @@ bdrv_reopen_parse_file_or_backing(BDRVReopenState *reopen_state,
     const char *child_name = is_backing ? "backing" : "file";
     QObject *value;
     const char *str;
-    AioContext *ctx, *old_ctx;
     bool has_child;
     int ret;
 
@@ -4844,13 +4765,6 @@ bdrv_reopen_parse_file_or_backing(BDRVReopenState *reopen_state,
         bdrv_drained_begin(old_child_bs);
     }
 
-    old_ctx = bdrv_get_aio_context(bs);
-    ctx = bdrv_get_aio_context(new_child_bs);
-    if (old_ctx != ctx) {
-        aio_context_release(old_ctx);
-        aio_context_acquire(ctx);
-    }
-
     bdrv_graph_rdunlock_main_loop();
     bdrv_graph_wrlock();
 
@@ -4859,11 +4773,6 @@ bdrv_reopen_parse_file_or_backing(BDRVReopenState *reopen_state,
 
     bdrv_graph_wrunlock();
 
-    if (old_ctx != ctx) {
-        aio_context_release(ctx);
-        aio_context_acquire(old_ctx);
-    }
-
     if (old_child_bs) {
         bdrv_drained_end(old_child_bs);
         bdrv_unref(old_child_bs);
@@ -5537,7 +5446,6 @@ int bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top,
     int ret;
     BdrvChild *child;
     Transaction *tran = tran_new();
-    AioContext *old_context, *new_context = NULL;
 
     GLOBAL_STATE_CODE();
 
@@ -5545,21 +5453,8 @@ int bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top,
     assert(!bs_new->backing);
     bdrv_graph_rdunlock_main_loop();
 
-    old_context = bdrv_get_aio_context(bs_top);
     bdrv_drained_begin(bs_top);
-
-    /*
-     * bdrv_drained_begin() requires that only the AioContext of the drained
-     * node is locked, and at this point it can still differ from the AioContext
-     * of bs_top.
-     */
-    new_context = bdrv_get_aio_context(bs_new);
-    aio_context_release(old_context);
-    aio_context_acquire(new_context);
     bdrv_drained_begin(bs_new);
-    aio_context_release(new_context);
-    aio_context_acquire(old_context);
-    new_context = NULL;
 
     bdrv_graph_wrlock();
 
@@ -5571,18 +5466,6 @@ int bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top,
         goto out;
     }
 
-    /*
-     * bdrv_attach_child_noperm could change the AioContext of bs_top and
-     * bs_new, but at least they are in the same AioContext now. This is the
-     * AioContext that we need to lock for the rest of the function.
-     */
-    new_context = bdrv_get_aio_context(bs_top);
-
-    if (old_context != new_context) {
-        aio_context_release(old_context);
-        aio_context_acquire(new_context);
-    }
-
     ret = bdrv_replace_node_noperm(bs_top, bs_new, true, tran, errp);
     if (ret < 0) {
         goto out;
@@ -5598,11 +5481,6 @@ out:
     bdrv_drained_end(bs_top);
     bdrv_drained_end(bs_new);
 
-    if (new_context && old_context != new_context) {
-        aio_context_release(new_context);
-        aio_context_acquire(old_context);
-    }
-
     return ret;
 }
 
@@ -5697,12 +5575,8 @@ BlockDriverState *bdrv_insert_node(BlockDriverState *bs, QDict *options,
 
     GLOBAL_STATE_CODE();
 
-    aio_context_release(ctx);
-    aio_context_acquire(qemu_get_aio_context());
     new_node_bs = bdrv_new_open_driver_opts(drv, node_name, options, flags,
                                             errp);
-    aio_context_release(qemu_get_aio_context());
-    aio_context_acquire(ctx);
     assert(bdrv_get_aio_context(bs) == ctx);
 
     options = NULL; /* bdrv_new_open_driver() eats options */
@@ -7037,12 +6911,9 @@ void bdrv_activate_all(Error **errp)
     GRAPH_RDLOCK_GUARD_MAINLOOP();
 
     for (bs = bdrv_first(&it); bs; bs = bdrv_next(&it)) {
-        AioContext *aio_context = bdrv_get_aio_context(bs);
         int ret;
 
-        aio_context_acquire(aio_context);
         ret = bdrv_activate(bs, errp);
-        aio_context_release(aio_context);
         if (ret < 0) {
             bdrv_next_cleanup(&it);
             return;
@@ -7137,20 +7008,10 @@ int bdrv_inactivate_all(void)
     BlockDriverState *bs = NULL;
     BdrvNextIterator it;
     int ret = 0;
-    GSList *aio_ctxs = NULL, *ctx;
 
     GLOBAL_STATE_CODE();
     GRAPH_RDLOCK_GUARD_MAINLOOP();
 
-    for (bs = bdrv_first(&it); bs; bs = bdrv_next(&it)) {
-        AioContext *aio_context = bdrv_get_aio_context(bs);
-
-        if (!g_slist_find(aio_ctxs, aio_context)) {
-            aio_ctxs = g_slist_prepend(aio_ctxs, aio_context);
-            aio_context_acquire(aio_context);
-        }
-    }
-
     for (bs = bdrv_first(&it); bs; bs = bdrv_next(&it)) {
         /* Nodes with BDS parents are covered by recursion from the last
          * parent that gets inactivated. Don't inactivate them a second
@@ -7161,17 +7022,10 @@ int bdrv_inactivate_all(void)
         ret = bdrv_inactivate_recurse(bs);
         if (ret < 0) {
             bdrv_next_cleanup(&it);
-            goto out;
+            break;
         }
     }
 
-out:
-    for (ctx = aio_ctxs; ctx != NULL; ctx = ctx->next) {
-        AioContext *aio_context = ctx->data;
-        aio_context_release(aio_context);
-    }
-    g_slist_free(aio_ctxs);
-
     return ret;
 }
 
@@ -7257,11 +7111,8 @@ void bdrv_unref(BlockDriverState *bs)
 static void bdrv_schedule_unref_bh(void *opaque)
 {
     BlockDriverState *bs = opaque;
-    AioContext *ctx = bdrv_get_aio_context(bs);
 
-    aio_context_acquire(ctx);
     bdrv_unref(bs);
-    aio_context_release(ctx);
 }
 
 /*
@@ -7398,8 +7249,6 @@ void bdrv_img_create(const char *filename, const char *fmt,
         return;
     }
 
-    aio_context_acquire(qemu_get_aio_context());
-
     /* Create parameter list */
     create_opts = qemu_opts_append(create_opts, drv->create_opts);
     create_opts = qemu_opts_append(create_opts, proto_drv->create_opts);
@@ -7549,7 +7398,6 @@ out:
     qemu_opts_del(opts);
     qemu_opts_free(create_opts);
     error_propagate(errp, local_err);
-    aio_context_release(qemu_get_aio_context());
 }
 
 AioContext *bdrv_get_aio_context(BlockDriverState *bs)
@@ -7585,29 +7433,12 @@ void coroutine_fn bdrv_co_leave(BlockDriverState *bs, AioContext *old_ctx)
 
 void coroutine_fn bdrv_co_lock(BlockDriverState *bs)
 {
-    AioContext *ctx = bdrv_get_aio_context(bs);
-
-    /* In the main thread, bs->aio_context won't change concurrently */
-    assert(qemu_get_current_aio_context() == qemu_get_aio_context());
-
-    /*
-     * We're in coroutine context, so we already hold the lock of the main
-     * loop AioContext. Don't lock it twice to avoid deadlocks.
-     */
-    assert(qemu_in_coroutine());
-    if (ctx != qemu_get_aio_context()) {
-        aio_context_acquire(ctx);
-    }
+    /* TODO removed in next patch */
 }
 
 void coroutine_fn bdrv_co_unlock(BlockDriverState *bs)
 {
-    AioContext *ctx = bdrv_get_aio_context(bs);
-
-    assert(qemu_in_coroutine());
-    if (ctx != qemu_get_aio_context()) {
-        aio_context_release(ctx);
-    }
+    /* TODO removed in next patch */
 }
 
 static void bdrv_do_remove_aio_context_notifier(BdrvAioNotifier *ban)
@@ -7728,21 +7559,8 @@ static void bdrv_set_aio_context_commit(void *opaque)
     BdrvStateSetAioContext *state = (BdrvStateSetAioContext *) opaque;
     BlockDriverState *bs = (BlockDriverState *) state->bs;
     AioContext *new_context = state->new_ctx;
-    AioContext *old_context = bdrv_get_aio_context(bs);
 
-    /*
-     * Take the old AioContex when detaching it from bs.
-     * At this point, new_context lock is already acquired, and we are now
-     * also taking old_context. This is safe as long as bdrv_detach_aio_context
-     * does not call AIO_POLL_WHILE().
-     */
-    if (old_context != qemu_get_aio_context()) {
-        aio_context_acquire(old_context);
-    }
     bdrv_detach_aio_context(bs);
-    if (old_context != qemu_get_aio_context()) {
-        aio_context_release(old_context);
-    }
     bdrv_attach_aio_context(bs, new_context);
 }
 
@@ -7827,7 +7645,6 @@ int bdrv_try_change_aio_context(BlockDriverState *bs, AioContext *ctx,
     Transaction *tran;
     GHashTable *visited;
     int ret;
-    AioContext *old_context = bdrv_get_aio_context(bs);
     GLOBAL_STATE_CODE();
 
     /*
@@ -7857,34 +7674,7 @@ int bdrv_try_change_aio_context(BlockDriverState *bs, AioContext *ctx,
         return -EPERM;
     }
 
-    /*
-     * Release old AioContext, it won't be needed anymore, as all
-     * bdrv_drained_begin() have been called already.
-     */
-    if (qemu_get_aio_context() != old_context) {
-        aio_context_release(old_context);
-    }
-
-    /*
-     * Acquire new AioContext since bdrv_drained_end() is going to be called
-     * after we switched all nodes in the new AioContext, and the function
-     * assumes that the lock of the bs is always taken.
-     */
-    if (qemu_get_aio_context() != ctx) {
-        aio_context_acquire(ctx);
-    }
-
     tran_commit(tran);
-
-    if (qemu_get_aio_context() != ctx) {
-        aio_context_release(ctx);
-    }
-
-    /* Re-acquire the old AioContext, since the caller takes and releases it. */
-    if (qemu_get_aio_context() != old_context) {
-        aio_context_acquire(old_context);
-    }
-
     return 0;
 }
 
@@ -8006,7 +7796,6 @@ BlockDriverState *check_to_replace_node(BlockDriverState *parent_bs,
                                         const char *node_name, Error **errp)
 {
     BlockDriverState *to_replace_bs = bdrv_find_node(node_name);
-    AioContext *aio_context;
 
     GLOBAL_STATE_CODE();
 
@@ -8015,12 +7804,8 @@ BlockDriverState *check_to_replace_node(BlockDriverState *parent_bs,
         return NULL;
     }
 
-    aio_context = bdrv_get_aio_context(to_replace_bs);
-    aio_context_acquire(aio_context);
-
     if (bdrv_op_is_blocked(to_replace_bs, BLOCK_OP_TYPE_REPLACE, errp)) {
-        to_replace_bs = NULL;
-        goto out;
+        return NULL;
     }
 
     /* We don't want arbitrary node of the BDS chain to be replaced only the top
@@ -8033,12 +7818,9 @@ BlockDriverState *check_to_replace_node(BlockDriverState *parent_bs,
                    "because it cannot be guaranteed that doing so would not "
                    "lead to an abrupt change of visible data",
                    node_name, parent_bs->node_name);
-        to_replace_bs = NULL;
-        goto out;
+        return NULL;
     }
 
-out:
-    aio_context_release(aio_context);
     return to_replace_bs;
 }
 
diff --git a/block/block-backend.c b/block/block-backend.c
index abac4e0235..f412bed274 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -429,7 +429,6 @@ BlockBackend *blk_new_open(const char *filename, const char *reference,
 {
     BlockBackend *blk;
     BlockDriverState *bs;
-    AioContext *ctx;
     uint64_t perm = 0;
     uint64_t shared = BLK_PERM_ALL;
 
@@ -459,23 +458,18 @@ BlockBackend *blk_new_open(const char *filename, const char *reference,
         shared = BLK_PERM_CONSISTENT_READ | BLK_PERM_WRITE_UNCHANGED;
     }
 
-    aio_context_acquire(qemu_get_aio_context());
     bs = bdrv_open(filename, reference, options, flags, errp);
-    aio_context_release(qemu_get_aio_context());
     if (!bs) {
         return NULL;
     }
 
     /* bdrv_open() could have moved bs to a different AioContext */
-    ctx = bdrv_get_aio_context(bs);
     blk = blk_new(bdrv_get_aio_context(bs), perm, shared);
     blk->perm = perm;
     blk->shared_perm = shared;
 
-    aio_context_acquire(ctx);
     blk_insert_bs(blk, bs, errp);
     bdrv_unref(bs);
-    aio_context_release(ctx);
 
     if (!blk->root) {
         blk_unref(blk);
@@ -577,13 +571,9 @@ void blk_remove_all_bs(void)
     GLOBAL_STATE_CODE();
 
     while ((blk = blk_all_next(blk)) != NULL) {
-        AioContext *ctx = blk_get_aio_context(blk);
-
-        aio_context_acquire(ctx);
         if (blk->root) {
             blk_remove_bs(blk);
         }
-        aio_context_release(ctx);
     }
 }
 
@@ -2736,20 +2726,16 @@ int blk_commit_all(void)
     GRAPH_RDLOCK_GUARD_MAINLOOP();
 
     while ((blk = blk_all_next(blk)) != NULL) {
-        AioContext *aio_context = blk_get_aio_context(blk);
         BlockDriverState *unfiltered_bs = bdrv_skip_filters(blk_bs(blk));
 
-        aio_context_acquire(aio_context);
         if (blk_is_inserted(blk) && bdrv_cow_child(unfiltered_bs)) {
             int ret;
 
             ret = bdrv_commit(unfiltered_bs);
             if (ret < 0) {
-                aio_context_release(aio_context);
                 return ret;
             }
         }
-        aio_context_release(aio_context);
     }
     return 0;
 }
diff --git a/block/copy-before-write.c b/block/copy-before-write.c
index 13972879b1..0842a1a6df 100644
--- a/block/copy-before-write.c
+++ b/block/copy-before-write.c
@@ -412,7 +412,6 @@ static int cbw_open(BlockDriverState *bs, QDict *options, int flags,
     int64_t cluster_size;
     g_autoptr(BlockdevOptions) full_opts = NULL;
     BlockdevOptionsCbw *opts;
-    AioContext *ctx;
     int ret;
 
     full_opts = cbw_parse_options(options, errp);
@@ -435,15 +434,11 @@ static int cbw_open(BlockDriverState *bs, QDict *options, int flags,
 
     GRAPH_RDLOCK_GUARD_MAINLOOP();
 
-    ctx = bdrv_get_aio_context(bs);
-    aio_context_acquire(ctx);
-
     if (opts->bitmap) {
         bitmap = block_dirty_bitmap_lookup(opts->bitmap->node,
                                            opts->bitmap->name, NULL, errp);
         if (!bitmap) {
-            ret = -EINVAL;
-            goto out;
+            return -EINVAL;
         }
     }
     s->on_cbw_error = opts->has_on_cbw_error ? opts->on_cbw_error :
@@ -461,24 +456,21 @@ static int cbw_open(BlockDriverState *bs, QDict *options, int flags,
     s->bcs = block_copy_state_new(bs->file, s->target, bitmap, errp);
     if (!s->bcs) {
         error_prepend(errp, "Cannot create block-copy-state: ");
-        ret = -EINVAL;
-        goto out;
+        return -EINVAL;
     }
 
     cluster_size = block_copy_cluster_size(s->bcs);
 
     s->done_bitmap = bdrv_create_dirty_bitmap(bs, cluster_size, NULL, errp);
     if (!s->done_bitmap) {
-        ret = -EINVAL;
-        goto out;
+        return -EINVAL;
     }
     bdrv_disable_dirty_bitmap(s->done_bitmap);
 
     /* s->access_bitmap starts equal to bcs bitmap */
     s->access_bitmap = bdrv_create_dirty_bitmap(bs, cluster_size, NULL, errp);
     if (!s->access_bitmap) {
-        ret = -EINVAL;
-        goto out;
+        return -EINVAL;
     }
     bdrv_disable_dirty_bitmap(s->access_bitmap);
     bdrv_dirty_bitmap_merge_internal(s->access_bitmap,
@@ -487,11 +479,7 @@ static int cbw_open(BlockDriverState *bs, QDict *options, int flags,
 
     qemu_co_mutex_init(&s->lock);
     QLIST_INIT(&s->frozen_read_reqs);
-
-    ret = 0;
-out:
-    aio_context_release(ctx);
-    return ret;
+    return 0;
 }
 
 static void cbw_close(BlockDriverState *bs)
diff --git a/block/export/export.c b/block/export/export.c
index a8f274e526..6d51ae8ed7 100644
--- a/block/export/export.c
+++ b/block/export/export.c
@@ -114,7 +114,6 @@ BlockExport *blk_exp_add(BlockExportOptions *export, Error **errp)
     }
 
     ctx = bdrv_get_aio_context(bs);
-    aio_context_acquire(ctx);
 
     if (export->iothread) {
         IOThread *iothread;
@@ -133,8 +132,6 @@ BlockExport *blk_exp_add(BlockExportOptions *export, Error **errp)
         set_context_errp = fixed_iothread ? errp : NULL;
         ret = bdrv_try_change_aio_context(bs, new_ctx, NULL, set_context_errp);
         if (ret == 0) {
-            aio_context_release(ctx);
-            aio_context_acquire(new_ctx);
             ctx = new_ctx;
         } else if (fixed_iothread) {
             goto fail;
@@ -191,8 +188,6 @@ BlockExport *blk_exp_add(BlockExportOptions *export, Error **errp)
     assert(exp->blk != NULL);
 
     QLIST_INSERT_HEAD(&block_exports, exp, next);
-
-    aio_context_release(ctx);
     return exp;
 
 fail:
@@ -200,7 +195,6 @@ fail:
         blk_set_dev_ops(blk, NULL, NULL);
         blk_unref(blk);
     }
-    aio_context_release(ctx);
     if (exp) {
         g_free(exp->id);
         g_free(exp);
@@ -218,9 +212,6 @@ void blk_exp_ref(BlockExport *exp)
 static void blk_exp_delete_bh(void *opaque)
 {
     BlockExport *exp = opaque;
-    AioContext *aio_context = exp->ctx;
-
-    aio_context_acquire(aio_context);
 
     assert(exp->refcount == 0);
     QLIST_REMOVE(exp, next);
@@ -230,8 +221,6 @@ static void blk_exp_delete_bh(void *opaque)
     qapi_event_send_block_export_deleted(exp->id);
     g_free(exp->id);
     g_free(exp);
-
-    aio_context_release(aio_context);
 }
 
 void blk_exp_unref(BlockExport *exp)
@@ -249,22 +238,16 @@ void blk_exp_unref(BlockExport *exp)
  * connections and other internally held references start to shut down. When
  * the function returns, there may still be active references while the export
  * is in the process of shutting down.
- *
- * Acquires exp->ctx internally. Callers must *not* hold the lock.
  */
 void blk_exp_request_shutdown(BlockExport *exp)
 {
-    AioContext *aio_context = exp->ctx;
-
-    aio_context_acquire(aio_context);
-
     /*
      * If the user doesn't own the export any more, it is already shutting
      * down. We must not call .request_shutdown and decrease the refcount a
      * second time.
      */
     if (!exp->user_owned) {
-        goto out;
+        return;
     }
 
     exp->drv->request_shutdown(exp);
@@ -272,9 +255,6 @@ void blk_exp_request_shutdown(BlockExport *exp)
     assert(exp->user_owned);
     exp->user_owned = false;
     blk_exp_unref(exp);
-
-out:
-    aio_context_release(aio_context);
 }
 
 /*
diff --git a/block/io.c b/block/io.c
index 7e62fabbf5..8fa7670571 100644
--- a/block/io.c
+++ b/block/io.c
@@ -294,8 +294,6 @@ static void bdrv_co_drain_bh_cb(void *opaque)
     BlockDriverState *bs = data->bs;
 
     if (bs) {
-        AioContext *ctx = bdrv_get_aio_context(bs);
-        aio_context_acquire(ctx);
         bdrv_dec_in_flight(bs);
         if (data->begin) {
             bdrv_do_drained_begin(bs, data->parent, data->poll);
@@ -303,7 +301,6 @@ static void bdrv_co_drain_bh_cb(void *opaque)
             assert(!data->poll);
             bdrv_do_drained_end(bs, data->parent);
         }
-        aio_context_release(ctx);
     } else {
         assert(data->begin);
         bdrv_drain_all_begin();
@@ -320,8 +317,6 @@ static void coroutine_fn bdrv_co_yield_to_drain(BlockDriverState *bs,
 {
     BdrvCoDrainData data;
     Coroutine *self = qemu_coroutine_self();
-    AioContext *ctx = bdrv_get_aio_context(bs);
-    AioContext *co_ctx = qemu_coroutine_get_aio_context(self);
 
     /* Calling bdrv_drain() from a BH ensures the current coroutine yields and
      * other coroutines run if they were queued by aio_co_enter(). */
@@ -340,17 +335,6 @@ static void coroutine_fn bdrv_co_yield_to_drain(BlockDriverState *bs,
         bdrv_inc_in_flight(bs);
     }
 
-    /*
-     * Temporarily drop the lock across yield or we would get deadlocks.
-     * bdrv_co_drain_bh_cb() reaquires the lock as needed.
-     *
-     * When we yield below, the lock for the current context will be
-     * released, so if this is actually the lock that protects bs, don't drop
-     * it a second time.
-     */
-    if (ctx != co_ctx) {
-        aio_context_release(ctx);
-    }
     replay_bh_schedule_oneshot_event(qemu_get_aio_context(),
                                      bdrv_co_drain_bh_cb, &data);
 
@@ -358,11 +342,6 @@ static void coroutine_fn bdrv_co_yield_to_drain(BlockDriverState *bs,
     /* If we are resumed from some other event (such as an aio completion or a
      * timer callback), it is a bug in the caller that should be fixed. */
     assert(data.done);
-
-    /* Reacquire the AioContext of bs if we dropped it */
-    if (ctx != co_ctx) {
-        aio_context_acquire(ctx);
-    }
 }
 
 static void bdrv_do_drained_begin(BlockDriverState *bs, BdrvChild *parent,
@@ -478,13 +457,12 @@ static bool bdrv_drain_all_poll(void)
     GLOBAL_STATE_CODE();
     GRAPH_RDLOCK_GUARD_MAINLOOP();
 
-    /* bdrv_drain_poll() can't make changes to the graph and we are holding the
-     * main AioContext lock, so iterating bdrv_next_all_states() is safe. */
+    /*
+     * bdrv_drain_poll() can't make changes to the graph and we hold the BQL,
+     * so iterating bdrv_next_all_states() is safe.
+     */
     while ((bs = bdrv_next_all_states(bs))) {
-        AioContext *aio_context = bdrv_get_aio_context(bs);
-        aio_context_acquire(aio_context);
         result |= bdrv_drain_poll(bs, NULL, true);
-        aio_context_release(aio_context);
     }
 
     return result;
@@ -525,11 +503,7 @@ void bdrv_drain_all_begin_nopoll(void)
     /* Quiesce all nodes, without polling in-flight requests yet. The graph
      * cannot change during this loop. */
     while ((bs = bdrv_next_all_states(bs))) {
-        AioContext *aio_context = bdrv_get_aio_context(bs);
-
-        aio_context_acquire(aio_context);
         bdrv_do_drained_begin(bs, NULL, false);
-        aio_context_release(aio_context);
     }
 }
 
@@ -588,11 +562,7 @@ void bdrv_drain_all_end(void)
     }
 
     while ((bs = bdrv_next_all_states(bs))) {
-        AioContext *aio_context = bdrv_get_aio_context(bs);
-
-        aio_context_acquire(aio_context);
         bdrv_do_drained_end(bs, NULL);
-        aio_context_release(aio_context);
     }
 
     assert(qemu_get_current_aio_context() == qemu_get_aio_context());
@@ -2368,15 +2338,10 @@ int bdrv_flush_all(void)
     }
 
     for (bs = bdrv_first(&it); bs; bs = bdrv_next(&it)) {
-        AioContext *aio_context = bdrv_get_aio_context(bs);
-        int ret;
-
-        aio_context_acquire(aio_context);
-        ret = bdrv_flush(bs);
+        int ret = bdrv_flush(bs);
         if (ret < 0 && !result) {
             result = ret;
         }
-        aio_context_release(aio_context);
     }
 
     return result;
diff --git a/block/mirror.c b/block/mirror.c
index 51f9e2f17c..5145eb53e1 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -662,7 +662,6 @@ static int mirror_exit_common(Job *job)
     MirrorBlockJob *s = container_of(job, MirrorBlockJob, common.job);
     BlockJob *bjob = &s->common;
     MirrorBDSOpaque *bs_opaque;
-    AioContext *replace_aio_context = NULL;
     BlockDriverState *src;
     BlockDriverState *target_bs;
     BlockDriverState *mirror_top_bs;
@@ -677,7 +676,6 @@ static int mirror_exit_common(Job *job)
     }
     s->prepared = true;
 
-    aio_context_acquire(qemu_get_aio_context());
     bdrv_graph_rdlock_main_loop();
 
     mirror_top_bs = s->mirror_top_bs;
@@ -742,11 +740,6 @@ static int mirror_exit_common(Job *job)
     }
     bdrv_graph_rdunlock_main_loop();
 
-    if (s->to_replace) {
-        replace_aio_context = bdrv_get_aio_context(s->to_replace);
-        aio_context_acquire(replace_aio_context);
-    }
-
     if (s->should_complete && !abort) {
         BlockDriverState *to_replace = s->to_replace ?: src;
         bool ro = bdrv_is_read_only(to_replace);
@@ -785,9 +778,6 @@ static int mirror_exit_common(Job *job)
         error_free(s->replace_blocker);
         bdrv_unref(s->to_replace);
     }
-    if (replace_aio_context) {
-        aio_context_release(replace_aio_context);
-    }
     g_free(s->replaces);
 
     /*
@@ -811,8 +801,6 @@ static int mirror_exit_common(Job *job)
     bdrv_unref(mirror_top_bs);
     bdrv_unref(src);
 
-    aio_context_release(qemu_get_aio_context());
-
     return ret;
 }
 
@@ -1191,24 +1179,17 @@ static void mirror_complete(Job *job, Error **errp)
 
     /* block all operations on to_replace bs */
     if (s->replaces) {
-        AioContext *replace_aio_context;
-
         s->to_replace = bdrv_find_node(s->replaces);
         if (!s->to_replace) {
             error_setg(errp, "Node name '%s' not found", s->replaces);
             return;
         }
 
-        replace_aio_context = bdrv_get_aio_context(s->to_replace);
-        aio_context_acquire(replace_aio_context);
-
         /* TODO Translate this into child freeze system. */
         error_setg(&s->replace_blocker,
                    "block device is in use by block-job-complete");
         bdrv_op_block_all(s->to_replace, s->replace_blocker);
         bdrv_ref(s->to_replace);
-
-        aio_context_release(replace_aio_context);
     }
 
     s->should_complete = true;
diff --git a/block/monitor/bitmap-qmp-cmds.c b/block/monitor/bitmap-qmp-cmds.c
index 70d01a3776..a738e7bbf7 100644
--- a/block/monitor/bitmap-qmp-cmds.c
+++ b/block/monitor/bitmap-qmp-cmds.c
@@ -95,7 +95,6 @@ void qmp_block_dirty_bitmap_add(const char *node, const char *name,
 {
     BlockDriverState *bs;
     BdrvDirtyBitmap *bitmap;
-    AioContext *aio_context;
 
     if (!name || name[0] == '\0') {
         error_setg(errp, "Bitmap name cannot be empty");
@@ -107,14 +106,11 @@ void qmp_block_dirty_bitmap_add(const char *node, const char *name,
         return;
     }
 
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-
     if (has_granularity) {
         if (granularity < 512 || !is_power_of_2(granularity)) {
             error_setg(errp, "Granularity must be power of 2 "
                              "and at least 512");
-            goto out;
+            return;
         }
     } else {
         /* Default to cluster size, if available: */
@@ -132,12 +128,12 @@ void qmp_block_dirty_bitmap_add(const char *node, const char *name,
     if (persistent &&
         !bdrv_can_store_new_dirty_bitmap(bs, name, granularity, errp))
     {
-        goto out;
+        return;
     }
 
     bitmap = bdrv_create_dirty_bitmap(bs, granularity, name, errp);
     if (bitmap == NULL) {
-        goto out;
+        return;
     }
 
     if (disabled) {
@@ -145,9 +141,6 @@ void qmp_block_dirty_bitmap_add(const char *node, const char *name,
     }
 
     bdrv_dirty_bitmap_set_persistence(bitmap, persistent);
-
-out:
-    aio_context_release(aio_context);
 }
 
 BdrvDirtyBitmap *block_dirty_bitmap_remove(const char *node, const char *name,
@@ -157,7 +150,6 @@ BdrvDirtyBitmap *block_dirty_bitmap_remove(const char *node, const char *name,
 {
     BlockDriverState *bs;
     BdrvDirtyBitmap *bitmap;
-    AioContext *aio_context;
 
     GLOBAL_STATE_CODE();
 
@@ -166,19 +158,14 @@ BdrvDirtyBitmap *block_dirty_bitmap_remove(const char *node, const char *name,
         return NULL;
     }
 
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-
     if (bdrv_dirty_bitmap_check(bitmap, BDRV_BITMAP_BUSY | BDRV_BITMAP_RO,
                                 errp)) {
-        aio_context_release(aio_context);
         return NULL;
     }
 
     if (bdrv_dirty_bitmap_get_persistence(bitmap) &&
         bdrv_remove_persistent_dirty_bitmap(bs, name, errp) < 0)
     {
-        aio_context_release(aio_context);
         return NULL;
     }
 
@@ -190,7 +177,6 @@ BdrvDirtyBitmap *block_dirty_bitmap_remove(const char *node, const char *name,
         *bitmap_bs = bs;
     }
 
-    aio_context_release(aio_context);
     return release ? NULL : bitmap;
 }
 
diff --git a/block/monitor/block-hmp-cmds.c b/block/monitor/block-hmp-cmds.c
index c729cbf1eb..bdbb5cb141 100644
--- a/block/monitor/block-hmp-cmds.c
+++ b/block/monitor/block-hmp-cmds.c
@@ -141,7 +141,6 @@ void hmp_drive_del(Monitor *mon, const QDict *qdict)
     const char *id = qdict_get_str(qdict, "id");
     BlockBackend *blk;
     BlockDriverState *bs;
-    AioContext *aio_context;
     Error *local_err = NULL;
 
     GLOBAL_STATE_CODE();
@@ -168,14 +167,10 @@ void hmp_drive_del(Monitor *mon, const QDict *qdict)
         return;
     }
 
-    aio_context = blk_get_aio_context(blk);
-    aio_context_acquire(aio_context);
-
     bs = blk_bs(blk);
     if (bs) {
         if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_DRIVE_DEL, &local_err)) {
             error_report_err(local_err);
-            aio_context_release(aio_context);
             return;
         }
 
@@ -196,8 +191,6 @@ void hmp_drive_del(Monitor *mon, const QDict *qdict)
     } else {
         blk_unref(blk);
     }
-
-    aio_context_release(aio_context);
 }
 
 void hmp_commit(Monitor *mon, const QDict *qdict)
@@ -213,7 +206,6 @@ void hmp_commit(Monitor *mon, const QDict *qdict)
         ret = blk_commit_all();
     } else {
         BlockDriverState *bs;
-        AioContext *aio_context;
 
         blk = blk_by_name(device);
         if (!blk) {
@@ -222,18 +214,13 @@ void hmp_commit(Monitor *mon, const QDict *qdict)
         }
 
         bs = bdrv_skip_implicit_filters(blk_bs(blk));
-        aio_context = bdrv_get_aio_context(bs);
-        aio_context_acquire(aio_context);
 
         if (!blk_is_available(blk)) {
             error_report("Device '%s' has no medium", device);
-            aio_context_release(aio_context);
             return;
         }
 
         ret = bdrv_commit(bs);
-
-        aio_context_release(aio_context);
     }
     if (ret < 0) {
         error_report("'commit' error for '%s': %s", device, strerror(-ret));
@@ -560,7 +547,6 @@ void hmp_qemu_io(Monitor *mon, const QDict *qdict)
     BlockBackend *blk = NULL;
     BlockDriverState *bs = NULL;
     BlockBackend *local_blk = NULL;
-    AioContext *ctx = NULL;
     bool qdev = qdict_get_try_bool(qdict, "qdev", false);
     const char *device = qdict_get_str(qdict, "device");
     const char *command = qdict_get_str(qdict, "command");
@@ -582,9 +568,6 @@ void hmp_qemu_io(Monitor *mon, const QDict *qdict)
         }
     }
 
-    ctx = blk ? blk_get_aio_context(blk) : bdrv_get_aio_context(bs);
-    aio_context_acquire(ctx);
-
     if (bs) {
         blk = local_blk = blk_new(bdrv_get_aio_context(bs), 0, BLK_PERM_ALL);
         ret = blk_insert_bs(blk, bs, &err);
@@ -622,11 +605,6 @@ void hmp_qemu_io(Monitor *mon, const QDict *qdict)
 
 fail:
     blk_unref(local_blk);
-
-    if (ctx) {
-        aio_context_release(ctx);
-    }
-
     hmp_handle_error(mon, err);
 }
 
@@ -882,7 +860,6 @@ void hmp_info_snapshots(Monitor *mon, const QDict *qdict)
     int nb_sns, i;
     int total;
     int *global_snapshots;
-    AioContext *aio_context;
 
     typedef struct SnapshotEntry {
         QEMUSnapshotInfo sn;
@@ -909,11 +886,8 @@ void hmp_info_snapshots(Monitor *mon, const QDict *qdict)
         error_report_err(err);
         return;
     }
-    aio_context = bdrv_get_aio_context(bs);
 
-    aio_context_acquire(aio_context);
     nb_sns = bdrv_snapshot_list(bs, &sn_tab);
-    aio_context_release(aio_context);
 
     if (nb_sns < 0) {
         monitor_printf(mon, "bdrv_snapshot_list: error %d\n", nb_sns);
@@ -924,9 +898,7 @@ void hmp_info_snapshots(Monitor *mon, const QDict *qdict)
         int bs1_nb_sns = 0;
         ImageEntry *ie;
         SnapshotEntry *se;
-        AioContext *ctx = bdrv_get_aio_context(bs1);
 
-        aio_context_acquire(ctx);
         if (bdrv_can_snapshot(bs1)) {
             sn = NULL;
             bs1_nb_sns = bdrv_snapshot_list(bs1, &sn);
@@ -944,7 +916,6 @@ void hmp_info_snapshots(Monitor *mon, const QDict *qdict)
             }
             g_free(sn);
         }
-        aio_context_release(ctx);
     }
 
     if (no_snapshot) {
diff --git a/block/qapi-sysemu.c b/block/qapi-sysemu.c
index 1618cd225a..e4282631d2 100644
--- a/block/qapi-sysemu.c
+++ b/block/qapi-sysemu.c
@@ -174,7 +174,6 @@ blockdev_remove_medium(const char *device, const char *id, Error **errp)
 {
     BlockBackend *blk;
     BlockDriverState *bs;
-    AioContext *aio_context;
     bool has_attached_device;
 
     GLOBAL_STATE_CODE();
@@ -204,13 +203,10 @@ blockdev_remove_medium(const char *device, const char *id, Error **errp)
         return;
     }
 
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-
     bdrv_graph_rdlock_main_loop();
     if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_EJECT, errp)) {
         bdrv_graph_rdunlock_main_loop();
-        goto out;
+        return;
     }
     bdrv_graph_rdunlock_main_loop();
 
@@ -223,9 +219,6 @@ blockdev_remove_medium(const char *device, const char *id, Error **errp)
          * value passed here (i.e. false). */
         blk_dev_change_media_cb(blk, false, &error_abort);
     }
-
-out:
-    aio_context_release(aio_context);
 }
 
 void qmp_blockdev_remove_medium(const char *id, Error **errp)
@@ -237,7 +230,6 @@ static void qmp_blockdev_insert_anon_medium(BlockBackend *blk,
                                             BlockDriverState *bs, Error **errp)
 {
     Error *local_err = NULL;
-    AioContext *ctx;
     bool has_device;
     int ret;
 
@@ -259,11 +251,7 @@ static void qmp_blockdev_insert_anon_medium(BlockBackend *blk,
         return;
     }
 
-    ctx = bdrv_get_aio_context(bs);
-    aio_context_acquire(ctx);
     ret = blk_insert_bs(blk, bs, errp);
-    aio_context_release(ctx);
-
     if (ret < 0) {
         return;
     }
@@ -374,9 +362,7 @@ void qmp_blockdev_change_medium(const char *device,
         qdict_put_str(options, "driver", format);
     }
 
-    aio_context_acquire(qemu_get_aio_context());
     medium_bs = bdrv_open(filename, NULL, options, bdrv_flags, errp);
-    aio_context_release(qemu_get_aio_context());
 
     if (!medium_bs) {
         goto fail;
@@ -437,20 +423,16 @@ void qmp_block_set_io_throttle(BlockIOThrottle *arg, Error **errp)
     ThrottleConfig cfg;
     BlockDriverState *bs;
     BlockBackend *blk;
-    AioContext *aio_context;
 
     blk = qmp_get_blk(arg->device, arg->id, errp);
     if (!blk) {
         return;
     }
 
-    aio_context = blk_get_aio_context(blk);
-    aio_context_acquire(aio_context);
-
     bs = blk_bs(blk);
     if (!bs) {
         error_setg(errp, "Device has no medium");
-        goto out;
+        return;
     }
 
     throttle_config_init(&cfg);
@@ -505,7 +487,7 @@ void qmp_block_set_io_throttle(BlockIOThrottle *arg, Error **errp)
     }
 
     if (!throttle_is_valid(&cfg, errp)) {
-        goto out;
+        return;
     }
 
     if (throttle_enabled(&cfg)) {
@@ -522,9 +504,6 @@ void qmp_block_set_io_throttle(BlockIOThrottle *arg, Error **errp)
         /* If all throttling settings are set to 0, disable I/O limits */
         blk_io_limits_disable(blk);
     }
-
-out:
-    aio_context_release(aio_context);
 }
 
 void qmp_block_latency_histogram_set(
diff --git a/block/qapi.c b/block/qapi.c
index 82a30b38fe..9e806fa230 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -234,13 +234,11 @@ bdrv_do_query_node_info(BlockDriverState *bs, BlockNodeInfo *info, Error **errp)
     int ret;
     Error *err = NULL;
 
-    aio_context_acquire(bdrv_get_aio_context(bs));
-
     size = bdrv_getlength(bs);
     if (size < 0) {
         error_setg_errno(errp, -size, "Can't get image size '%s'",
                          bs->exact_filename);
-        goto out;
+        return;
     }
 
     bdrv_refresh_filename(bs);
@@ -265,7 +263,7 @@ bdrv_do_query_node_info(BlockDriverState *bs, BlockNodeInfo *info, Error **errp)
     info->format_specific = bdrv_get_specific_info(bs, &err);
     if (err) {
         error_propagate(errp, err);
-        goto out;
+        return;
     }
     backing_filename = bs->backing_file;
     if (backing_filename[0] != '\0') {
@@ -300,11 +298,8 @@ bdrv_do_query_node_info(BlockDriverState *bs, BlockNodeInfo *info, Error **errp)
         break;
     default:
         error_propagate(errp, err);
-        goto out;
+        return;
     }
-
-out:
-    aio_context_release(bdrv_get_aio_context(bs));
 }
 
 /**
@@ -709,15 +704,10 @@ BlockStatsList *qmp_query_blockstats(bool has_query_nodes,
     /* Just to be safe if query_nodes is not always initialized */
     if (has_query_nodes && query_nodes) {
         for (bs = bdrv_next_node(NULL); bs; bs = bdrv_next_node(bs)) {
-            AioContext *ctx = bdrv_get_aio_context(bs);
-
-            aio_context_acquire(ctx);
             QAPI_LIST_APPEND(tail, bdrv_query_bds_stats(bs, false));
-            aio_context_release(ctx);
         }
     } else {
         for (blk = blk_all_next(NULL); blk; blk = blk_all_next(blk)) {
-            AioContext *ctx = blk_get_aio_context(blk);
             BlockStats *s;
             char *qdev;
 
@@ -725,7 +715,6 @@ BlockStatsList *qmp_query_blockstats(bool has_query_nodes,
                 continue;
             }
 
-            aio_context_acquire(ctx);
             s = bdrv_query_bds_stats(blk_bs(blk), true);
             s->device = g_strdup(blk_name(blk));
 
@@ -737,7 +726,6 @@ BlockStatsList *qmp_query_blockstats(bool has_query_nodes,
             }
 
             bdrv_query_blk_stats(s->stats, blk);
-            aio_context_release(ctx);
 
             QAPI_LIST_APPEND(tail, s);
         }
diff --git a/block/raw-format.c b/block/raw-format.c
index 1111dffd54..ac7e8495f6 100644
--- a/block/raw-format.c
+++ b/block/raw-format.c
@@ -470,7 +470,6 @@ static int raw_open(BlockDriverState *bs, QDict *options, int flags,
                     Error **errp)
 {
     BDRVRawState *s = bs->opaque;
-    AioContext *ctx;
     bool has_size;
     uint64_t offset, size;
     BdrvChildRole file_role;
@@ -522,11 +521,7 @@ static int raw_open(BlockDriverState *bs, QDict *options, int flags,
                 bs->file->bs->filename);
     }
 
-    ctx = bdrv_get_aio_context(bs);
-    aio_context_acquire(ctx);
     ret = raw_apply_options(bs, s, offset, has_size, size, errp);
-    aio_context_release(ctx);
-
     if (ret < 0) {
         return ret;
     }
diff --git a/block/replication.c b/block/replication.c
index 424b537ff7..ca6bd0a720 100644
--- a/block/replication.c
+++ b/block/replication.c
@@ -394,14 +394,7 @@ static void reopen_backing_file(BlockDriverState *bs, bool writable,
     }
 
     if (reopen_queue) {
-        AioContext *ctx = bdrv_get_aio_context(bs);
-        if (ctx != qemu_get_aio_context()) {
-            aio_context_release(ctx);
-        }
         bdrv_reopen_multiple(reopen_queue, errp);
-        if (ctx != qemu_get_aio_context()) {
-            aio_context_acquire(ctx);
-        }
     }
 }
 
@@ -462,14 +455,11 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
     BlockDriverState *top_bs;
     BdrvChild *active_disk, *hidden_disk, *secondary_disk;
     int64_t active_length, hidden_length, disk_length;
-    AioContext *aio_context;
     Error *local_err = NULL;
     BackupPerf perf = { .use_copy_range = true, .max_workers = 1 };
 
     GLOBAL_STATE_CODE();
 
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
     s = bs->opaque;
 
     if (s->stage == BLOCK_REPLICATION_DONE ||
@@ -479,20 +469,17 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
          * Ignore the request because the secondary side of replication
          * doesn't have to do anything anymore.
          */
-        aio_context_release(aio_context);
         return;
     }
 
     if (s->stage != BLOCK_REPLICATION_NONE) {
         error_setg(errp, "Block replication is running or done");
-        aio_context_release(aio_context);
         return;
     }
 
     if (s->mode != mode) {
         error_setg(errp, "The parameter mode's value is invalid, needs %d,"
                    " but got %d", s->mode, mode);
-        aio_context_release(aio_context);
         return;
     }
 
@@ -505,7 +492,6 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
         if (!active_disk || !active_disk->bs || !active_disk->bs->backing) {
             error_setg(errp, "Active disk doesn't have backing file");
             bdrv_graph_rdunlock_main_loop();
-            aio_context_release(aio_context);
             return;
         }
 
@@ -513,7 +499,6 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
         if (!hidden_disk->bs || !hidden_disk->bs->backing) {
             error_setg(errp, "Hidden disk doesn't have backing file");
             bdrv_graph_rdunlock_main_loop();
-            aio_context_release(aio_context);
             return;
         }
 
@@ -521,7 +506,6 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
         if (!secondary_disk->bs || !bdrv_has_blk(secondary_disk->bs)) {
             error_setg(errp, "The secondary disk doesn't have block backend");
             bdrv_graph_rdunlock_main_loop();
-            aio_context_release(aio_context);
             return;
         }
         bdrv_graph_rdunlock_main_loop();
@@ -534,7 +518,6 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
             active_length != hidden_length || hidden_length != disk_length) {
             error_setg(errp, "Active disk, hidden disk, secondary disk's length"
                        " are not the same");
-            aio_context_release(aio_context);
             return;
         }
 
@@ -546,7 +529,6 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
             !hidden_disk->bs->drv->bdrv_make_empty) {
             error_setg(errp,
                        "Active disk or hidden disk doesn't support make_empty");
-            aio_context_release(aio_context);
             bdrv_graph_rdunlock_main_loop();
             return;
         }
@@ -556,7 +538,6 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
         reopen_backing_file(bs, true, &local_err);
         if (local_err) {
             error_propagate(errp, local_err);
-            aio_context_release(aio_context);
             return;
         }
 
@@ -569,7 +550,6 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
         if (local_err) {
             error_propagate(errp, local_err);
             bdrv_graph_wrunlock();
-            aio_context_release(aio_context);
             return;
         }
 
@@ -580,7 +560,6 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
         if (local_err) {
             error_propagate(errp, local_err);
             bdrv_graph_wrunlock();
-            aio_context_release(aio_context);
             return;
         }
 
@@ -594,7 +573,6 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
             error_setg(errp, "No top_bs or it is invalid");
             bdrv_graph_wrunlock();
             reopen_backing_file(bs, false, NULL);
-            aio_context_release(aio_context);
             return;
         }
         bdrv_op_block_all(top_bs, s->blocker);
@@ -612,13 +590,11 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
         if (local_err) {
             error_propagate(errp, local_err);
             backup_job_cleanup(bs);
-            aio_context_release(aio_context);
             return;
         }
         job_start(&s->backup_job->job);
         break;
     default:
-        aio_context_release(aio_context);
         abort();
     }
 
@@ -629,18 +605,12 @@ static void replication_start(ReplicationState *rs, ReplicationMode mode,
     }
 
     s->error = 0;
-    aio_context_release(aio_context);
 }
 
 static void replication_do_checkpoint(ReplicationState *rs, Error **errp)
 {
     BlockDriverState *bs = rs->opaque;
-    BDRVReplicationState *s;
-    AioContext *aio_context;
-
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-    s = bs->opaque;
+    BDRVReplicationState *s = bs->opaque;
 
     if (s->stage == BLOCK_REPLICATION_DONE ||
         s->stage == BLOCK_REPLICATION_FAILOVER) {
@@ -649,38 +619,28 @@ static void replication_do_checkpoint(ReplicationState *rs, Error **errp)
          * Ignore the request because the secondary side of replication
          * doesn't have to do anything anymore.
          */
-        aio_context_release(aio_context);
         return;
     }
 
     if (s->mode == REPLICATION_MODE_SECONDARY) {
         secondary_do_checkpoint(bs, errp);
     }
-    aio_context_release(aio_context);
 }
 
 static void replication_get_error(ReplicationState *rs, Error **errp)
 {
     BlockDriverState *bs = rs->opaque;
-    BDRVReplicationState *s;
-    AioContext *aio_context;
-
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-    s = bs->opaque;
+    BDRVReplicationState *s = bs->opaque;
 
     if (s->stage == BLOCK_REPLICATION_NONE) {
         error_setg(errp, "Block replication is not running");
-        aio_context_release(aio_context);
         return;
     }
 
     if (s->error) {
         error_setg(errp, "I/O error occurred");
-        aio_context_release(aio_context);
         return;
     }
-    aio_context_release(aio_context);
 }
 
 static void replication_done(void *opaque, int ret)
@@ -708,12 +668,7 @@ static void replication_done(void *opaque, int ret)
 static void replication_stop(ReplicationState *rs, bool failover, Error **errp)
 {
     BlockDriverState *bs = rs->opaque;
-    BDRVReplicationState *s;
-    AioContext *aio_context;
-
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-    s = bs->opaque;
+    BDRVReplicationState *s = bs->opaque;
 
     if (s->stage == BLOCK_REPLICATION_DONE ||
         s->stage == BLOCK_REPLICATION_FAILOVER) {
@@ -722,13 +677,11 @@ static void replication_stop(ReplicationState *rs, bool failover, Error **errp)
          * Ignore the request because the secondary side of replication
          * doesn't have to do anything anymore.
          */
-        aio_context_release(aio_context);
         return;
     }
 
     if (s->stage != BLOCK_REPLICATION_RUNNING) {
         error_setg(errp, "Block replication is not running");
-        aio_context_release(aio_context);
         return;
     }
 
@@ -744,15 +697,12 @@ static void replication_stop(ReplicationState *rs, bool failover, Error **errp)
          * disk, secondary disk in backup_job_completed().
          */
         if (s->backup_job) {
-            aio_context_release(aio_context);
             job_cancel_sync(&s->backup_job->job, true);
-            aio_context_acquire(aio_context);
         }
 
         if (!failover) {
             secondary_do_checkpoint(bs, errp);
             s->stage = BLOCK_REPLICATION_DONE;
-            aio_context_release(aio_context);
             return;
         }
 
@@ -765,10 +715,8 @@ static void replication_stop(ReplicationState *rs, bool failover, Error **errp)
         bdrv_graph_rdunlock_main_loop();
         break;
     default:
-        aio_context_release(aio_context);
         abort();
     }
-    aio_context_release(aio_context);
 }
 
 static const char *const replication_strong_runtime_opts[] = {
diff --git a/block/snapshot.c b/block/snapshot.c
index e486d3e205..a28f2b039f 100644
--- a/block/snapshot.c
+++ b/block/snapshot.c
@@ -525,9 +525,7 @@ static bool GRAPH_RDLOCK bdrv_all_snapshots_includes_bs(BlockDriverState *bs)
     return bdrv_has_blk(bs) || QLIST_EMPTY(&bs->parents);
 }
 
-/* Group operations. All block drivers are involved.
- * These functions will properly handle dataplane (take aio_context_acquire
- * when appropriate for appropriate block drivers) */
+/* Group operations. All block drivers are involved. */
 
 bool bdrv_all_can_snapshot(bool has_devices, strList *devices,
                            Error **errp)
@@ -545,14 +543,11 @@ bool bdrv_all_can_snapshot(bool has_devices, strList *devices,
     iterbdrvs = bdrvs;
     while (iterbdrvs) {
         BlockDriverState *bs = iterbdrvs->data;
-        AioContext *ctx = bdrv_get_aio_context(bs);
         bool ok = true;
 
-        aio_context_acquire(ctx);
         if (devices || bdrv_all_snapshots_includes_bs(bs)) {
             ok = bdrv_can_snapshot(bs);
         }
-        aio_context_release(ctx);
         if (!ok) {
             error_setg(errp, "Device '%s' is writable but does not support "
                        "snapshots", bdrv_get_device_or_node_name(bs));
@@ -582,18 +577,15 @@ int bdrv_all_delete_snapshot(const char *name,
     iterbdrvs = bdrvs;
     while (iterbdrvs) {
         BlockDriverState *bs = iterbdrvs->data;
-        AioContext *ctx = bdrv_get_aio_context(bs);
         QEMUSnapshotInfo sn1, *snapshot = &sn1;
         int ret = 0;
 
-        aio_context_acquire(ctx);
         if ((devices || bdrv_all_snapshots_includes_bs(bs)) &&
             bdrv_snapshot_find(bs, snapshot, name) >= 0)
         {
             ret = bdrv_snapshot_delete(bs, snapshot->id_str,
                                        snapshot->name, errp);
         }
-        aio_context_release(ctx);
         if (ret < 0) {
             error_prepend(errp, "Could not delete snapshot '%s' on '%s': ",
                           name, bdrv_get_device_or_node_name(bs));
@@ -628,17 +620,14 @@ int bdrv_all_goto_snapshot(const char *name,
     iterbdrvs = bdrvs;
     while (iterbdrvs) {
         BlockDriverState *bs = iterbdrvs->data;
-        AioContext *ctx = bdrv_get_aio_context(bs);
         bool all_snapshots_includes_bs;
 
-        aio_context_acquire(ctx);
         bdrv_graph_rdlock_main_loop();
         all_snapshots_includes_bs = bdrv_all_snapshots_includes_bs(bs);
         bdrv_graph_rdunlock_main_loop();
 
         ret = (devices || all_snapshots_includes_bs) ?
               bdrv_snapshot_goto(bs, name, errp) : 0;
-        aio_context_release(ctx);
         if (ret < 0) {
             bdrv_graph_rdlock_main_loop();
             error_prepend(errp, "Could not load snapshot '%s' on '%s': ",
@@ -670,15 +659,12 @@ int bdrv_all_has_snapshot(const char *name,
     iterbdrvs = bdrvs;
     while (iterbdrvs) {
         BlockDriverState *bs = iterbdrvs->data;
-        AioContext *ctx = bdrv_get_aio_context(bs);
         QEMUSnapshotInfo sn;
         int ret = 0;
 
-        aio_context_acquire(ctx);
         if (devices || bdrv_all_snapshots_includes_bs(bs)) {
             ret = bdrv_snapshot_find(bs, &sn, name);
         }
-        aio_context_release(ctx);
         if (ret < 0) {
             if (ret == -ENOENT) {
                 return 0;
@@ -715,10 +701,8 @@ int bdrv_all_create_snapshot(QEMUSnapshotInfo *sn,
     iterbdrvs = bdrvs;
     while (iterbdrvs) {
         BlockDriverState *bs = iterbdrvs->data;
-        AioContext *ctx = bdrv_get_aio_context(bs);
         int ret = 0;
 
-        aio_context_acquire(ctx);
         if (bs == vm_state_bs) {
             sn->vm_state_size = vm_state_size;
             ret = bdrv_snapshot_create(bs, sn);
@@ -726,7 +710,6 @@ int bdrv_all_create_snapshot(QEMUSnapshotInfo *sn,
             sn->vm_state_size = 0;
             ret = bdrv_snapshot_create(bs, sn);
         }
-        aio_context_release(ctx);
         if (ret < 0) {
             error_setg(errp, "Could not create snapshot '%s' on '%s'",
                        sn->name, bdrv_get_device_or_node_name(bs));
@@ -757,13 +740,10 @@ BlockDriverState *bdrv_all_find_vmstate_bs(const char *vmstate_bs,
     iterbdrvs = bdrvs;
     while (iterbdrvs) {
         BlockDriverState *bs = iterbdrvs->data;
-        AioContext *ctx = bdrv_get_aio_context(bs);
         bool found = false;
 
-        aio_context_acquire(ctx);
         found = (devices || bdrv_all_snapshots_includes_bs(bs)) &&
             bdrv_can_snapshot(bs);
-        aio_context_release(ctx);
 
         if (vmstate_bs) {
             if (g_str_equal(vmstate_bs,
diff --git a/block/write-threshold.c b/block/write-threshold.c
index 76d8885677..56fe88de81 100644
--- a/block/write-threshold.c
+++ b/block/write-threshold.c
@@ -33,7 +33,6 @@ void qmp_block_set_write_threshold(const char *node_name,
                                    Error **errp)
 {
     BlockDriverState *bs;
-    AioContext *aio_context;
 
     bs = bdrv_find_node(node_name);
     if (!bs) {
@@ -41,12 +40,7 @@ void qmp_block_set_write_threshold(const char *node_name,
         return;
     }
 
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-
     bdrv_write_threshold_set(bs, threshold_bytes);
-
-    aio_context_release(aio_context);
 }
 
 void bdrv_write_threshold_check_write(BlockDriverState *bs, int64_t offset,
diff --git a/blockdev.c b/blockdev.c
index db9cc96510..8a1b28f830 100644
--- a/blockdev.c
+++ b/blockdev.c
@@ -662,7 +662,6 @@ err_no_opts:
 /* Takes the ownership of bs_opts */
 BlockDriverState *bds_tree_init(QDict *bs_opts, Error **errp)
 {
-    BlockDriverState *bs;
     int bdrv_flags = 0;
 
     GLOBAL_STATE_CODE();
@@ -677,11 +676,7 @@ BlockDriverState *bds_tree_init(QDict *bs_opts, Error **errp)
         bdrv_flags |= BDRV_O_INACTIVE;
     }
 
-    aio_context_acquire(qemu_get_aio_context());
-    bs = bdrv_open(NULL, NULL, bs_opts, bdrv_flags, errp);
-    aio_context_release(qemu_get_aio_context());
-
-    return bs;
+    return bdrv_open(NULL, NULL, bs_opts, bdrv_flags, errp);
 }
 
 void blockdev_close_all_bdrv_states(void)
@@ -690,11 +685,7 @@ void blockdev_close_all_bdrv_states(void)
 
     GLOBAL_STATE_CODE();
     QTAILQ_FOREACH_SAFE(bs, &monitor_bdrv_states, monitor_list, next_bs) {
-        AioContext *ctx = bdrv_get_aio_context(bs);
-
-        aio_context_acquire(ctx);
         bdrv_unref(bs);
-        aio_context_release(ctx);
     }
 }
 
@@ -1048,7 +1039,6 @@ fail:
 static BlockDriverState *qmp_get_root_bs(const char *name, Error **errp)
 {
     BlockDriverState *bs;
-    AioContext *aio_context;
 
     GRAPH_RDLOCK_GUARD_MAINLOOP();
 
@@ -1062,16 +1052,11 @@ static BlockDriverState *qmp_get_root_bs(const char *name, Error **errp)
         return NULL;
     }
 
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-
     if (!bdrv_is_inserted(bs)) {
         error_setg(errp, "Device has no medium");
         bs = NULL;
     }
 
-    aio_context_release(aio_context);
-
     return bs;
 }
 
@@ -1141,7 +1126,6 @@ SnapshotInfo *qmp_blockdev_snapshot_delete_internal_sync(const char *device,
                                                          Error **errp)
 {
     BlockDriverState *bs;
-    AioContext *aio_context;
     QEMUSnapshotInfo sn;
     Error *local_err = NULL;
     SnapshotInfo *info = NULL;
@@ -1154,39 +1138,35 @@ SnapshotInfo *qmp_blockdev_snapshot_delete_internal_sync(const char *device,
     if (!bs) {
         return NULL;
     }
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
 
     if (!id && !name) {
         error_setg(errp, "Name or id must be provided");
-        goto out_aio_context;
+        return NULL;
     }
 
     if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_INTERNAL_SNAPSHOT_DELETE, errp)) {
-        goto out_aio_context;
+        return NULL;
     }
 
     ret = bdrv_snapshot_find_by_id_and_name(bs, id, name, &sn, &local_err);
     if (local_err) {
         error_propagate(errp, local_err);
-        goto out_aio_context;
+        return NULL;
     }
     if (!ret) {
         error_setg(errp,
                    "Snapshot with id '%s' and name '%s' does not exist on "
                    "device '%s'",
                    STR_OR_NULL(id), STR_OR_NULL(name), device);
-        goto out_aio_context;
+        return NULL;
     }
 
     bdrv_snapshot_delete(bs, id, name, &local_err);
     if (local_err) {
         error_propagate(errp, local_err);
-        goto out_aio_context;
+        return NULL;
     }
 
-    aio_context_release(aio_context);
-
     info = g_new0(SnapshotInfo, 1);
     info->id = g_strdup(sn.id_str);
     info->name = g_strdup(sn.name);
@@ -1201,10 +1181,6 @@ SnapshotInfo *qmp_blockdev_snapshot_delete_internal_sync(const char *device,
     }
 
     return info;
-
-out_aio_context:
-    aio_context_release(aio_context);
-    return NULL;
 }
 
 /* internal snapshot private data */
@@ -1232,7 +1208,6 @@ static void internal_snapshot_action(BlockdevSnapshotInternal *internal,
     bool ret;
     int64_t rt;
     InternalSnapshotState *state = g_new0(InternalSnapshotState, 1);
-    AioContext *aio_context;
     int ret1;
 
     GLOBAL_STATE_CODE();
@@ -1248,33 +1223,30 @@ static void internal_snapshot_action(BlockdevSnapshotInternal *internal,
         return;
     }
 
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-
     state->bs = bs;
 
     /* Paired with .clean() */
     bdrv_drained_begin(bs);
 
     if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_INTERNAL_SNAPSHOT, errp)) {
-        goto out;
+        return;
     }
 
     if (bdrv_is_read_only(bs)) {
         error_setg(errp, "Device '%s' is read only", device);
-        goto out;
+        return;
     }
 
     if (!bdrv_can_snapshot(bs)) {
         error_setg(errp, "Block format '%s' used by device '%s' "
                    "does not support internal snapshots",
                    bs->drv->format_name, device);
-        goto out;
+        return;
     }
 
     if (!strlen(name)) {
         error_setg(errp, "Name is empty");
-        goto out;
+        return;
     }
 
     /* check whether a snapshot with name exist */
@@ -1282,12 +1254,12 @@ static void internal_snapshot_action(BlockdevSnapshotInternal *internal,
                                             &local_err);
     if (local_err) {
         error_propagate(errp, local_err);
-        goto out;
+        return;
     } else if (ret) {
         error_setg(errp,
                    "Snapshot with name '%s' already exists on device '%s'",
                    name, device);
-        goto out;
+        return;
     }
 
     /* 3. take the snapshot */
@@ -1308,14 +1280,11 @@ static void internal_snapshot_action(BlockdevSnapshotInternal *internal,
         error_setg_errno(errp, -ret1,
                          "Failed to create snapshot '%s' on device '%s'",
                          name, device);
-        goto out;
+        return;
     }
 
     /* 4. succeed, mark a snapshot is created */
     state->created = true;
-
-out:
-    aio_context_release(aio_context);
 }
 
 static void internal_snapshot_abort(void *opaque)
@@ -1323,7 +1292,6 @@ static void internal_snapshot_abort(void *opaque)
     InternalSnapshotState *state = opaque;
     BlockDriverState *bs = state->bs;
     QEMUSnapshotInfo *sn = &state->sn;
-    AioContext *aio_context;
     Error *local_error = NULL;
 
     GLOBAL_STATE_CODE();
@@ -1333,9 +1301,6 @@ static void internal_snapshot_abort(void *opaque)
         return;
     }
 
-    aio_context = bdrv_get_aio_context(state->bs);
-    aio_context_acquire(aio_context);
-
     if (bdrv_snapshot_delete(bs, sn->id_str, sn->name, &local_error) < 0) {
         error_reportf_err(local_error,
                           "Failed to delete snapshot with id '%s' and "
@@ -1343,25 +1308,17 @@ static void internal_snapshot_abort(void *opaque)
                           sn->id_str, sn->name,
                           bdrv_get_device_name(bs));
     }
-
-    aio_context_release(aio_context);
 }
 
 static void internal_snapshot_clean(void *opaque)
 {
     g_autofree InternalSnapshotState *state = opaque;
-    AioContext *aio_context;
 
     if (!state->bs) {
         return;
     }
 
-    aio_context = bdrv_get_aio_context(state->bs);
-    aio_context_acquire(aio_context);
-
     bdrv_drained_end(state->bs);
-
-    aio_context_release(aio_context);
 }
 
 /* external snapshot private data */
@@ -1395,7 +1352,6 @@ static void external_snapshot_action(TransactionAction *action,
     /* File name of the new image (for 'blockdev-snapshot-sync') */
     const char *new_image_file;
     ExternalSnapshotState *state = g_new0(ExternalSnapshotState, 1);
-    AioContext *aio_context;
     uint64_t perm, shared;
 
     /* TODO We'll eventually have to take a writer lock in this function */
@@ -1435,26 +1391,23 @@ static void external_snapshot_action(TransactionAction *action,
         return;
     }
 
-    aio_context = bdrv_get_aio_context(state->old_bs);
-    aio_context_acquire(aio_context);
-
     /* Paired with .clean() */
     bdrv_drained_begin(state->old_bs);
 
     if (!bdrv_is_inserted(state->old_bs)) {
         error_setg(errp, QERR_DEVICE_HAS_NO_MEDIUM, device);
-        goto out;
+        return;
     }
 
     if (bdrv_op_is_blocked(state->old_bs,
                            BLOCK_OP_TYPE_EXTERNAL_SNAPSHOT, errp)) {
-        goto out;
+        return;
     }
 
     if (!bdrv_is_read_only(state->old_bs)) {
         if (bdrv_flush(state->old_bs)) {
             error_setg(errp, QERR_IO_ERROR);
-            goto out;
+            return;
         }
     }
 
@@ -1466,13 +1419,13 @@ static void external_snapshot_action(TransactionAction *action,
 
         if (node_name && !snapshot_node_name) {
             error_setg(errp, "New overlay node-name missing");
-            goto out;
+            return;
         }
 
         if (snapshot_node_name &&
             bdrv_lookup_bs(snapshot_node_name, snapshot_node_name, NULL)) {
             error_setg(errp, "New overlay node-name already in use");
-            goto out;
+            return;
         }
 
         flags = state->old_bs->open_flags;
@@ -1485,20 +1438,18 @@ static void external_snapshot_action(TransactionAction *action,
             int64_t size = bdrv_getlength(state->old_bs);
             if (size < 0) {
                 error_setg_errno(errp, -size, "bdrv_getlength failed");
-                goto out;
+                return;
             }
             bdrv_refresh_filename(state->old_bs);
 
-            aio_context_release(aio_context);
             bdrv_img_create(new_image_file, format,
                             state->old_bs->filename,
                             state->old_bs->drv->format_name,
                             NULL, size, flags, false, &local_err);
-            aio_context_acquire(aio_context);
 
             if (local_err) {
                 error_propagate(errp, local_err);
-                goto out;
+                return;
             }
         }
 
@@ -1508,20 +1459,15 @@ static void external_snapshot_action(TransactionAction *action,
         }
         qdict_put_str(options, "driver", format);
     }
-    aio_context_release(aio_context);
 
-    aio_context_acquire(qemu_get_aio_context());
     state->new_bs = bdrv_open(new_image_file, snapshot_ref, options, flags,
                               errp);
-    aio_context_release(qemu_get_aio_context());
 
     /* We will manually add the backing_hd field to the bs later */
     if (!state->new_bs) {
         return;
     }
 
-    aio_context_acquire(aio_context);
-
     /*
      * Allow attaching a backing file to an overlay that's already in use only
      * if the parents don't assume that they are already seeing a valid image.
@@ -1530,41 +1476,34 @@ static void external_snapshot_action(TransactionAction *action,
     bdrv_get_cumulative_perm(state->new_bs, &perm, &shared);
     if (perm & BLK_PERM_CONSISTENT_READ) {
         error_setg(errp, "The overlay is already in use");
-        goto out;
+        return;
     }
 
     if (state->new_bs->drv->is_filter) {
         error_setg(errp, "Filters cannot be used as overlays");
-        goto out;
+        return;
     }
 
     if (bdrv_cow_child(state->new_bs)) {
         error_setg(errp, "The overlay already has a backing image");
-        goto out;
+        return;
     }
 
     if (!state->new_bs->drv->supports_backing) {
         error_setg(errp, "The overlay does not support backing images");
-        goto out;
+        return;
     }
 
     ret = bdrv_append(state->new_bs, state->old_bs, errp);
     if (ret < 0) {
-        goto out;
+        return;
     }
     state->overlay_appended = true;
-
-out:
-    aio_context_release(aio_context);
 }
 
 static void external_snapshot_commit(void *opaque)
 {
     ExternalSnapshotState *state = opaque;
-    AioContext *aio_context;
-
-    aio_context = bdrv_get_aio_context(state->old_bs);
-    aio_context_acquire(aio_context);
 
     /* We don't need (or want) to use the transactional
      * bdrv_reopen_multiple() across all the entries at once, because we
@@ -1572,8 +1511,6 @@ static void external_snapshot_commit(void *opaque)
     if (!qatomic_read(&state->old_bs->copy_on_read)) {
         bdrv_reopen_set_read_only(state->old_bs, true, NULL);
     }
-
-    aio_context_release(aio_context);
 }
 
 static void external_snapshot_abort(void *opaque)
@@ -1586,7 +1523,6 @@ static void external_snapshot_abort(void *opaque)
             int ret;
 
             aio_context = bdrv_get_aio_context(state->old_bs);
-            aio_context_acquire(aio_context);
 
             bdrv_ref(state->old_bs);   /* we can't let bdrv_set_backind_hd()
                                           close state->old_bs; we need it */
@@ -1599,15 +1535,9 @@ static void external_snapshot_abort(void *opaque)
              */
             tmp_context = bdrv_get_aio_context(state->old_bs);
             if (aio_context != tmp_context) {
-                aio_context_release(aio_context);
-                aio_context_acquire(tmp_context);
-
                 ret = bdrv_try_change_aio_context(state->old_bs,
                                                   aio_context, NULL, NULL);
                 assert(ret == 0);
-
-                aio_context_release(tmp_context);
-                aio_context_acquire(aio_context);
             }
 
             bdrv_drained_begin(state->new_bs);
@@ -1617,8 +1547,6 @@ static void external_snapshot_abort(void *opaque)
             bdrv_drained_end(state->new_bs);
 
             bdrv_unref(state->old_bs); /* bdrv_replace_node() ref'ed old_bs */
-
-            aio_context_release(aio_context);
         }
     }
 }
@@ -1626,19 +1554,13 @@ static void external_snapshot_abort(void *opaque)
 static void external_snapshot_clean(void *opaque)
 {
     g_autofree ExternalSnapshotState *state = opaque;
-    AioContext *aio_context;
 
     if (!state->old_bs) {
         return;
     }
 
-    aio_context = bdrv_get_aio_context(state->old_bs);
-    aio_context_acquire(aio_context);
-
     bdrv_drained_end(state->old_bs);
     bdrv_unref(state->new_bs);
-
-    aio_context_release(aio_context);
 }
 
 typedef struct DriveBackupState {
@@ -1670,7 +1592,6 @@ static void drive_backup_action(DriveBackup *backup,
     BlockDriverState *target_bs;
     BlockDriverState *source = NULL;
     AioContext *aio_context;
-    AioContext *old_context;
     const char *format;
     QDict *options;
     Error *local_err = NULL;
@@ -1698,7 +1619,6 @@ static void drive_backup_action(DriveBackup *backup,
     }
 
     aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
 
     state->bs = bs;
     /* Paired with .clean() */
@@ -1713,7 +1633,7 @@ static void drive_backup_action(DriveBackup *backup,
     bdrv_graph_rdlock_main_loop();
     if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_BACKUP_SOURCE, errp)) {
         bdrv_graph_rdunlock_main_loop();
-        goto out;
+        return;
     }
 
     flags = bs->open_flags | BDRV_O_RDWR;
@@ -1744,7 +1664,7 @@ static void drive_backup_action(DriveBackup *backup,
     size = bdrv_getlength(bs);
     if (size < 0) {
         error_setg_errno(errp, -size, "bdrv_getlength failed");
-        goto out;
+        return;
     }
 
     if (backup->mode != NEW_IMAGE_MODE_EXISTING) {
@@ -1770,7 +1690,7 @@ static void drive_backup_action(DriveBackup *backup,
 
     if (local_err) {
         error_propagate(errp, local_err);
-        goto out;
+        return;
     }
 
     options = qdict_new();
@@ -1779,30 +1699,18 @@ static void drive_backup_action(DriveBackup *backup,
     if (format) {
         qdict_put_str(options, "driver", format);
     }
-    aio_context_release(aio_context);
 
-    aio_context_acquire(qemu_get_aio_context());
     target_bs = bdrv_open(backup->target, NULL, options, flags, errp);
-    aio_context_release(qemu_get_aio_context());
-
     if (!target_bs) {
         return;
     }
 
-    /* Honor bdrv_try_change_aio_context() context acquisition requirements. */
-    old_context = bdrv_get_aio_context(target_bs);
-    aio_context_acquire(old_context);
-
     ret = bdrv_try_change_aio_context(target_bs, aio_context, NULL, errp);
     if (ret < 0) {
         bdrv_unref(target_bs);
-        aio_context_release(old_context);
         return;
     }
 
-    aio_context_release(old_context);
-    aio_context_acquire(aio_context);
-
     if (set_backing_hd) {
         if (bdrv_set_backing_hd(target_bs, source, errp) < 0) {
             goto unref;
@@ -1815,22 +1723,14 @@ static void drive_backup_action(DriveBackup *backup,
 
 unref:
     bdrv_unref(target_bs);
-out:
-    aio_context_release(aio_context);
 }
 
 static void drive_backup_commit(void *opaque)
 {
     DriveBackupState *state = opaque;
-    AioContext *aio_context;
-
-    aio_context = bdrv_get_aio_context(state->bs);
-    aio_context_acquire(aio_context);
 
     assert(state->job);
     job_start(&state->job->job);
-
-    aio_context_release(aio_context);
 }
 
 static void drive_backup_abort(void *opaque)
@@ -1845,18 +1745,12 @@ static void drive_backup_abort(void *opaque)
 static void drive_backup_clean(void *opaque)
 {
     g_autofree DriveBackupState *state = opaque;
-    AioContext *aio_context;
 
     if (!state->bs) {
         return;
     }
 
-    aio_context = bdrv_get_aio_context(state->bs);
-    aio_context_acquire(aio_context);
-
     bdrv_drained_end(state->bs);
-
-    aio_context_release(aio_context);
 }
 
 typedef struct BlockdevBackupState {
@@ -1881,7 +1775,6 @@ static void blockdev_backup_action(BlockdevBackup *backup,
     BlockDriverState *bs;
     BlockDriverState *target_bs;
     AioContext *aio_context;
-    AioContext *old_context;
     int ret;
 
     tran_add(tran, &blockdev_backup_drv, state);
@@ -1898,17 +1791,12 @@ static void blockdev_backup_action(BlockdevBackup *backup,
 
     /* Honor bdrv_try_change_aio_context() context acquisition requirements. */
     aio_context = bdrv_get_aio_context(bs);
-    old_context = bdrv_get_aio_context(target_bs);
-    aio_context_acquire(old_context);
 
     ret = bdrv_try_change_aio_context(target_bs, aio_context, NULL, errp);
     if (ret < 0) {
-        aio_context_release(old_context);
         return;
     }
 
-    aio_context_release(old_context);
-    aio_context_acquire(aio_context);
     state->bs = bs;
 
     /* Paired with .clean() */
@@ -1917,22 +1805,14 @@ static void blockdev_backup_action(BlockdevBackup *backup,
     state->job = do_backup_common(qapi_BlockdevBackup_base(backup),
                                   bs, target_bs, aio_context,
                                   block_job_txn, errp);
-
-    aio_context_release(aio_context);
 }
 
 static void blockdev_backup_commit(void *opaque)
 {
     BlockdevBackupState *state = opaque;
-    AioContext *aio_context;
-
-    aio_context = bdrv_get_aio_context(state->bs);
-    aio_context_acquire(aio_context);
 
     assert(state->job);
     job_start(&state->job->job);
-
-    aio_context_release(aio_context);
 }
 
 static void blockdev_backup_abort(void *opaque)
@@ -1947,18 +1827,12 @@ static void blockdev_backup_abort(void *opaque)
 static void blockdev_backup_clean(void *opaque)
 {
     g_autofree BlockdevBackupState *state = opaque;
-    AioContext *aio_context;
 
     if (!state->bs) {
         return;
     }
 
-    aio_context = bdrv_get_aio_context(state->bs);
-    aio_context_acquire(aio_context);
-
     bdrv_drained_end(state->bs);
-
-    aio_context_release(aio_context);
 }
 
 typedef struct BlockDirtyBitmapState {
@@ -2453,7 +2327,6 @@ void qmp_block_stream(const char *job_id, const char *device,
     }
 
     aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
 
     bdrv_graph_rdlock_main_loop();
     if (base) {
@@ -2520,7 +2393,7 @@ void qmp_block_stream(const char *job_id, const char *device,
     if (!base_bs && backing_file) {
         error_setg(errp, "backing file specified, but streaming the "
                          "entire chain");
-        goto out;
+        return;
     }
 
     if (has_auto_finalize && !auto_finalize) {
@@ -2535,18 +2408,14 @@ void qmp_block_stream(const char *job_id, const char *device,
                  filter_node_name, &local_err);
     if (local_err) {
         error_propagate(errp, local_err);
-        goto out;
+        return;
     }
 
     trace_qmp_block_stream(bs);
-
-out:
-    aio_context_release(aio_context);
     return;
 
 out_rdlock:
     bdrv_graph_rdunlock_main_loop();
-    aio_context_release(aio_context);
 }
 
 void qmp_block_commit(const char *job_id, const char *device,
@@ -2605,10 +2474,9 @@ void qmp_block_commit(const char *job_id, const char *device,
     }
 
     aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
 
     if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_COMMIT_SOURCE, errp)) {
-        goto out;
+        return;
     }
 
     /* default top_bs is the active layer */
@@ -2616,16 +2484,16 @@ void qmp_block_commit(const char *job_id, const char *device,
 
     if (top_node && top) {
         error_setg(errp, "'top-node' and 'top' are mutually exclusive");
-        goto out;
+        return;
     } else if (top_node) {
         top_bs = bdrv_lookup_bs(NULL, top_node, errp);
         if (top_bs == NULL) {
-            goto out;
+            return;
         }
         if (!bdrv_chain_contains(bs, top_bs)) {
             error_setg(errp, "'%s' is not in this backing file chain",
                        top_node);
-            goto out;
+            return;
         }
     } else if (top) {
         /* This strcmp() is just a shortcut, there is no need to
@@ -2639,35 +2507,35 @@ void qmp_block_commit(const char *job_id, const char *device,
 
     if (top_bs == NULL) {
         error_setg(errp, "Top image file %s not found", top ? top : "NULL");
-        goto out;
+        return;
     }
 
     assert(bdrv_get_aio_context(top_bs) == aio_context);
 
     if (base_node && base) {
         error_setg(errp, "'base-node' and 'base' are mutually exclusive");
-        goto out;
+        return;
     } else if (base_node) {
         base_bs = bdrv_lookup_bs(NULL, base_node, errp);
         if (base_bs == NULL) {
-            goto out;
+            return;
         }
         if (!bdrv_chain_contains(top_bs, base_bs)) {
             error_setg(errp, "'%s' is not in this backing file chain",
                        base_node);
-            goto out;
+            return;
         }
     } else if (base) {
         base_bs = bdrv_find_backing_image(top_bs, base);
         if (base_bs == NULL) {
             error_setg(errp, "Can't find '%s' in the backing chain", base);
-            goto out;
+            return;
         }
     } else {
         base_bs = bdrv_find_base(top_bs);
         if (base_bs == NULL) {
             error_setg(errp, "There is no backimg image");
-            goto out;
+            return;
         }
     }
 
@@ -2677,14 +2545,14 @@ void qmp_block_commit(const char *job_id, const char *device,
          iter = bdrv_filter_or_cow_bs(iter))
     {
         if (bdrv_op_is_blocked(iter, BLOCK_OP_TYPE_COMMIT_TARGET, errp)) {
-            goto out;
+            return;
         }
     }
 
     /* Do not allow attempts to commit an image into itself */
     if (top_bs == base_bs) {
         error_setg(errp, "cannot commit an image into itself");
-        goto out;
+        return;
     }
 
     /*
@@ -2707,7 +2575,7 @@ void qmp_block_commit(const char *job_id, const char *device,
                 error_setg(errp, "'backing-file' specified, but 'top' has a "
                                  "writer on it");
             }
-            goto out;
+            return;
         }
         if (!job_id) {
             /*
@@ -2723,7 +2591,7 @@ void qmp_block_commit(const char *job_id, const char *device,
     } else {
         BlockDriverState *overlay_bs = bdrv_find_overlay(bs, top_bs);
         if (bdrv_op_is_blocked(overlay_bs, BLOCK_OP_TYPE_COMMIT_TARGET, errp)) {
-            goto out;
+            return;
         }
         commit_start(job_id, bs, base_bs, top_bs, job_flags,
                      speed, on_error, backing_file,
@@ -2731,11 +2599,8 @@ void qmp_block_commit(const char *job_id, const char *device,
     }
     if (local_err != NULL) {
         error_propagate(errp, local_err);
-        goto out;
+        return;
     }
-
-out:
-    aio_context_release(aio_context);
 }
 
 /* Common QMP interface for drive-backup and blockdev-backup */
@@ -2984,8 +2849,6 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
 
     if (replaces) {
         BlockDriverState *to_replace_bs;
-        AioContext *aio_context;
-        AioContext *replace_aio_context;
         int64_t bs_size, replace_size;
 
         bs_size = bdrv_getlength(bs);
@@ -2999,19 +2862,7 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
             return;
         }
 
-        aio_context = bdrv_get_aio_context(bs);
-        replace_aio_context = bdrv_get_aio_context(to_replace_bs);
-        /*
-         * bdrv_getlength() is a co-wrapper and uses AIO_WAIT_WHILE. Be sure not
-         * to acquire the same AioContext twice.
-         */
-        if (replace_aio_context != aio_context) {
-            aio_context_acquire(replace_aio_context);
-        }
         replace_size = bdrv_getlength(to_replace_bs);
-        if (replace_aio_context != aio_context) {
-            aio_context_release(replace_aio_context);
-        }
 
         if (replace_size < 0) {
             error_setg_errno(errp, -replace_size,
@@ -3040,7 +2891,6 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
     BlockDriverState *bs;
     BlockDriverState *target_backing_bs, *target_bs;
     AioContext *aio_context;
-    AioContext *old_context;
     BlockMirrorBackingMode backing_mode;
     Error *local_err = NULL;
     QDict *options = NULL;
@@ -3063,7 +2913,6 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
     }
 
     aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
 
     if (!arg->has_mode) {
         arg->mode = NEW_IMAGE_MODE_ABSOLUTE_PATHS;
@@ -3087,14 +2936,14 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
     size = bdrv_getlength(bs);
     if (size < 0) {
         error_setg_errno(errp, -size, "bdrv_getlength failed");
-        goto out;
+        return;
     }
 
     if (arg->replaces) {
         if (!arg->node_name) {
             error_setg(errp, "a node-name must be provided when replacing a"
                              " named node of the graph");
-            goto out;
+            return;
         }
     }
 
@@ -3142,7 +2991,7 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
 
     if (local_err) {
         error_propagate(errp, local_err);
-        goto out;
+        return;
     }
 
     options = qdict_new();
@@ -3152,15 +3001,11 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
     if (format) {
         qdict_put_str(options, "driver", format);
     }
-    aio_context_release(aio_context);
 
     /* Mirroring takes care of copy-on-write using the source's backing
      * file.
      */
-    aio_context_acquire(qemu_get_aio_context());
     target_bs = bdrv_open(arg->target, NULL, options, flags, errp);
-    aio_context_release(qemu_get_aio_context());
-
     if (!target_bs) {
         return;
     }
@@ -3172,20 +3017,12 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
     bdrv_graph_rdunlock_main_loop();
 
 
-    /* Honor bdrv_try_change_aio_context() context acquisition requirements. */
-    old_context = bdrv_get_aio_context(target_bs);
-    aio_context_acquire(old_context);
-
     ret = bdrv_try_change_aio_context(target_bs, aio_context, NULL, errp);
     if (ret < 0) {
         bdrv_unref(target_bs);
-        aio_context_release(old_context);
         return;
     }
 
-    aio_context_release(old_context);
-    aio_context_acquire(aio_context);
-
     blockdev_mirror_common(arg->job_id, bs, target_bs,
                            arg->replaces, arg->sync,
                            backing_mode, zero_target,
@@ -3201,8 +3038,6 @@ void qmp_drive_mirror(DriveMirror *arg, Error **errp)
                            arg->has_auto_dismiss, arg->auto_dismiss,
                            errp);
     bdrv_unref(target_bs);
-out:
-    aio_context_release(aio_context);
 }
 
 void qmp_blockdev_mirror(const char *job_id,
@@ -3225,7 +3060,6 @@ void qmp_blockdev_mirror(const char *job_id,
     BlockDriverState *bs;
     BlockDriverState *target_bs;
     AioContext *aio_context;
-    AioContext *old_context;
     BlockMirrorBackingMode backing_mode = MIRROR_LEAVE_BACKING_CHAIN;
     bool zero_target;
     int ret;
@@ -3242,18 +3076,11 @@ void qmp_blockdev_mirror(const char *job_id,
 
     zero_target = (sync == MIRROR_SYNC_MODE_FULL);
 
-    /* Honor bdrv_try_change_aio_context() context acquisition requirements. */
-    old_context = bdrv_get_aio_context(target_bs);
     aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(old_context);
 
     ret = bdrv_try_change_aio_context(target_bs, aio_context, NULL, errp);
-
-    aio_context_release(old_context);
-    aio_context_acquire(aio_context);
-
     if (ret < 0) {
-        goto out;
+        return;
     }
 
     blockdev_mirror_common(job_id, bs, target_bs,
@@ -3268,8 +3095,6 @@ void qmp_blockdev_mirror(const char *job_id,
                            has_auto_finalize, auto_finalize,
                            has_auto_dismiss, auto_dismiss,
                            errp);
-out:
-    aio_context_release(aio_context);
 }
 
 /*
@@ -3432,7 +3257,6 @@ void qmp_change_backing_file(const char *device,
                              Error **errp)
 {
     BlockDriverState *bs = NULL;
-    AioContext *aio_context;
     BlockDriverState *image_bs = NULL;
     Error *local_err = NULL;
     bool ro;
@@ -3443,9 +3267,6 @@ void qmp_change_backing_file(const char *device,
         return;
     }
 
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
-
     bdrv_graph_rdlock_main_loop();
 
     image_bs = bdrv_lookup_bs(NULL, image_node_name, &local_err);
@@ -3484,7 +3305,7 @@ void qmp_change_backing_file(const char *device,
 
     if (ro) {
         if (bdrv_reopen_set_read_only(image_bs, false, errp) != 0) {
-            goto out;
+            return;
         }
     }
 
@@ -3502,14 +3323,10 @@ void qmp_change_backing_file(const char *device,
     if (ro) {
         bdrv_reopen_set_read_only(image_bs, true, errp);
     }
-
-out:
-    aio_context_release(aio_context);
     return;
 
 out_rdlock:
     bdrv_graph_rdunlock_main_loop();
-    aio_context_release(aio_context);
 }
 
 void qmp_blockdev_add(BlockdevOptions *options, Error **errp)
@@ -3549,7 +3366,6 @@ void qmp_blockdev_reopen(BlockdevOptionsList *reopen_list, Error **errp)
     for (; reopen_list != NULL; reopen_list = reopen_list->next) {
         BlockdevOptions *options = reopen_list->value;
         BlockDriverState *bs;
-        AioContext *ctx;
         QObject *obj;
         Visitor *v;
         QDict *qdict;
@@ -3577,12 +3393,7 @@ void qmp_blockdev_reopen(BlockdevOptionsList *reopen_list, Error **errp)
 
         qdict_flatten(qdict);
 
-        ctx = bdrv_get_aio_context(bs);
-        aio_context_acquire(ctx);
-
         queue = bdrv_reopen_queue(queue, bs, qdict, false);
-
-        aio_context_release(ctx);
     }
 
     /* Perform the reopen operation */
@@ -3595,7 +3406,6 @@ fail:
 
 void qmp_blockdev_del(const char *node_name, Error **errp)
 {
-    AioContext *aio_context;
     BlockDriverState *bs;
 
     GLOBAL_STATE_CODE();
@@ -3610,30 +3420,25 @@ void qmp_blockdev_del(const char *node_name, Error **errp)
         error_setg(errp, "Node %s is in use", node_name);
         return;
     }
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
 
     if (bdrv_op_is_blocked(bs, BLOCK_OP_TYPE_DRIVE_DEL, errp)) {
-        goto out;
+        return;
     }
 
     if (!QTAILQ_IN_USE(bs, monitor_list)) {
         error_setg(errp, "Node %s is not owned by the monitor",
                    bs->node_name);
-        goto out;
+        return;
     }
 
     if (bs->refcnt > 1) {
         error_setg(errp, "Block device %s is in use",
                    bdrv_get_device_or_node_name(bs));
-        goto out;
+        return;
     }
 
     QTAILQ_REMOVE(&monitor_bdrv_states, bs, monitor_list);
     bdrv_unref(bs);
-
-out:
-    aio_context_release(aio_context);
 }
 
 static BdrvChild * GRAPH_RDLOCK
@@ -3723,7 +3528,6 @@ BlockJobInfoList *qmp_query_block_jobs(Error **errp)
 void qmp_x_blockdev_set_iothread(const char *node_name, StrOrNull *iothread,
                                  bool has_force, bool force, Error **errp)
 {
-    AioContext *old_context;
     AioContext *new_context;
     BlockDriverState *bs;
 
@@ -3755,12 +3559,7 @@ void qmp_x_blockdev_set_iothread(const char *node_name, StrOrNull *iothread,
         new_context = qemu_get_aio_context();
     }
 
-    old_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(old_context);
-
     bdrv_try_change_aio_context(bs, new_context, NULL, errp);
-
-    aio_context_release(old_context);
 }
 
 QemuOptsList qemu_common_drive_opts = {
diff --git a/blockjob.c b/blockjob.c
index 7310412313..d5f29e14af 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -198,9 +198,7 @@ void block_job_remove_all_bdrv(BlockJob *job)
      * one to make sure that such a concurrent access does not attempt
      * to process an already freed BdrvChild.
      */
-    aio_context_release(job->job.aio_context);
     bdrv_graph_wrlock();
-    aio_context_acquire(job->job.aio_context);
     while (job->nodes) {
         GSList *l = job->nodes;
         BdrvChild *c = l->data;
@@ -234,28 +232,12 @@ int block_job_add_bdrv(BlockJob *job, const char *name, BlockDriverState *bs,
                        uint64_t perm, uint64_t shared_perm, Error **errp)
 {
     BdrvChild *c;
-    AioContext *ctx = bdrv_get_aio_context(bs);
-    bool need_context_ops;
     GLOBAL_STATE_CODE();
 
     bdrv_ref(bs);
 
-    need_context_ops = ctx != job->job.aio_context;
-
-    if (need_context_ops) {
-        if (job->job.aio_context != qemu_get_aio_context()) {
-            aio_context_release(job->job.aio_context);
-        }
-        aio_context_acquire(ctx);
-    }
     c = bdrv_root_attach_child(bs, name, &child_job, 0, perm, shared_perm, job,
                                errp);
-    if (need_context_ops) {
-        aio_context_release(ctx);
-        if (job->job.aio_context != qemu_get_aio_context()) {
-            aio_context_acquire(job->job.aio_context);
-        }
-    }
     if (c == NULL) {
         return -EPERM;
     }
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index f83bb0f116..7bbbd981ad 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -124,7 +124,6 @@ int virtio_blk_data_plane_start(VirtIODevice *vdev)
     VirtIOBlockDataPlane *s = vblk->dataplane;
     BusState *qbus = BUS(qdev_get_parent_bus(DEVICE(vblk)));
     VirtioBusClass *k = VIRTIO_BUS_GET_CLASS(qbus);
-    AioContext *old_context;
     unsigned i;
     unsigned nvqs = s->conf->num_queues;
     Error *local_err = NULL;
@@ -178,10 +177,7 @@ int virtio_blk_data_plane_start(VirtIODevice *vdev)
 
     trace_virtio_blk_data_plane_start(s);
 
-    old_context = blk_get_aio_context(s->conf->conf.blk);
-    aio_context_acquire(old_context);
     r = blk_set_aio_context(s->conf->conf.blk, s->ctx, &local_err);
-    aio_context_release(old_context);
     if (r < 0) {
         error_report_err(local_err);
         goto fail_aio_context;
@@ -208,13 +204,11 @@ int virtio_blk_data_plane_start(VirtIODevice *vdev)
 
     /* Get this show started by hooking up our callbacks */
     if (!blk_in_drain(s->conf->conf.blk)) {
-        aio_context_acquire(s->ctx);
         for (i = 0; i < nvqs; i++) {
             VirtQueue *vq = virtio_get_queue(s->vdev, i);
 
             virtio_queue_aio_attach_host_notifier(vq, s->ctx);
         }
-        aio_context_release(s->ctx);
     }
     return 0;
 
@@ -314,8 +308,6 @@ void virtio_blk_data_plane_stop(VirtIODevice *vdev)
      */
     vblk->dataplane_started = false;
 
-    aio_context_acquire(s->ctx);
-
     /* Wait for virtio_blk_dma_restart_bh() and in flight I/O to complete */
     blk_drain(s->conf->conf.blk);
 
@@ -325,8 +317,6 @@ void virtio_blk_data_plane_stop(VirtIODevice *vdev)
      */
     blk_set_aio_context(s->conf->conf.blk, qemu_get_aio_context(), NULL);
 
-    aio_context_release(s->ctx);
-
     /* Clean up guest notifier (irq) */
     k->set_guest_notifiers(qbus->parent, nvqs, false);
 
diff --git a/hw/block/dataplane/xen-block.c b/hw/block/dataplane/xen-block.c
index c4bb28c66f..98501e6885 100644
--- a/hw/block/dataplane/xen-block.c
+++ b/hw/block/dataplane/xen-block.c
@@ -260,8 +260,6 @@ static void xen_block_complete_aio(void *opaque, int ret)
     XenBlockRequest *request = opaque;
     XenBlockDataPlane *dataplane = request->dataplane;
 
-    aio_context_acquire(dataplane->ctx);
-
     if (ret != 0) {
         error_report("%s I/O error",
                      request->req.operation == BLKIF_OP_READ ?
@@ -273,10 +271,10 @@ static void xen_block_complete_aio(void *opaque, int ret)
     if (request->presync) {
         request->presync = 0;
         xen_block_do_aio(request);
-        goto done;
+        return;
     }
     if (request->aio_inflight > 0) {
-        goto done;
+        return;
     }
 
     switch (request->req.operation) {
@@ -318,9 +316,6 @@ static void xen_block_complete_aio(void *opaque, int ret)
     if (dataplane->more_work) {
         qemu_bh_schedule(dataplane->bh);
     }
-
-done:
-    aio_context_release(dataplane->ctx);
 }
 
 static bool xen_block_split_discard(XenBlockRequest *request,
@@ -601,9 +596,7 @@ static void xen_block_dataplane_bh(void *opaque)
 {
     XenBlockDataPlane *dataplane = opaque;
 
-    aio_context_acquire(dataplane->ctx);
     xen_block_handle_requests(dataplane);
-    aio_context_release(dataplane->ctx);
 }
 
 static bool xen_block_dataplane_event(void *opaque)
@@ -703,10 +696,8 @@ void xen_block_dataplane_stop(XenBlockDataPlane *dataplane)
         xen_block_dataplane_detach(dataplane);
     }
 
-    aio_context_acquire(dataplane->ctx);
     /* Xen doesn't have multiple users for nodes, so this can't fail */
     blk_set_aio_context(dataplane->blk, qemu_get_aio_context(), &error_abort);
-    aio_context_release(dataplane->ctx);
 
     /*
      * Now that the context has been moved onto the main thread, cancel
@@ -752,7 +743,6 @@ void xen_block_dataplane_start(XenBlockDataPlane *dataplane,
 {
     ERRP_GUARD();
     XenDevice *xendev = dataplane->xendev;
-    AioContext *old_context;
     unsigned int ring_size;
     unsigned int i;
 
@@ -836,11 +826,8 @@ void xen_block_dataplane_start(XenBlockDataPlane *dataplane,
         goto stop;
     }
 
-    old_context = blk_get_aio_context(dataplane->blk);
-    aio_context_acquire(old_context);
     /* If other users keep the BlockBackend in the iothread, that's ok */
     blk_set_aio_context(dataplane->blk, dataplane->ctx, NULL);
-    aio_context_release(old_context);
 
     if (!blk_in_drain(dataplane->blk)) {
         xen_block_dataplane_attach(dataplane);
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
index a1f8e15522..5e49c0625f 100644
--- a/hw/block/virtio-blk.c
+++ b/hw/block/virtio-blk.c
@@ -102,7 +102,6 @@ static void virtio_blk_rw_complete(void *opaque, int ret)
     VirtIOBlock *s = next->dev;
     VirtIODevice *vdev = VIRTIO_DEVICE(s);
 
-    aio_context_acquire(blk_get_aio_context(s->conf.conf.blk));
     while (next) {
         VirtIOBlockReq *req = next;
         next = req->mr_next;
@@ -135,7 +134,6 @@ static void virtio_blk_rw_complete(void *opaque, int ret)
         block_acct_done(blk_get_stats(s->blk), &req->acct);
         virtio_blk_free_request(req);
     }
-    aio_context_release(blk_get_aio_context(s->conf.conf.blk));
 }
 
 static void virtio_blk_flush_complete(void *opaque, int ret)
@@ -143,19 +141,15 @@ static void virtio_blk_flush_complete(void *opaque, int ret)
     VirtIOBlockReq *req = opaque;
     VirtIOBlock *s = req->dev;
 
-    aio_context_acquire(blk_get_aio_context(s->conf.conf.blk));
     if (ret) {
         if (virtio_blk_handle_rw_error(req, -ret, 0, true)) {
-            goto out;
+            return;
         }
     }
 
     virtio_blk_req_complete(req, VIRTIO_BLK_S_OK);
     block_acct_done(blk_get_stats(s->blk), &req->acct);
     virtio_blk_free_request(req);
-
-out:
-    aio_context_release(blk_get_aio_context(s->conf.conf.blk));
 }
 
 static void virtio_blk_discard_write_zeroes_complete(void *opaque, int ret)
@@ -165,10 +159,9 @@ static void virtio_blk_discard_write_zeroes_complete(void *opaque, int ret)
     bool is_write_zeroes = (virtio_ldl_p(VIRTIO_DEVICE(s), &req->out.type) &
                             ~VIRTIO_BLK_T_BARRIER) == VIRTIO_BLK_T_WRITE_ZEROES;
 
-    aio_context_acquire(blk_get_aio_context(s->conf.conf.blk));
     if (ret) {
         if (virtio_blk_handle_rw_error(req, -ret, false, is_write_zeroes)) {
-            goto out;
+            return;
         }
     }
 
@@ -177,9 +170,6 @@ static void virtio_blk_discard_write_zeroes_complete(void *opaque, int ret)
         block_acct_done(blk_get_stats(s->blk), &req->acct);
     }
     virtio_blk_free_request(req);
-
-out:
-    aio_context_release(blk_get_aio_context(s->conf.conf.blk));
 }
 
 #ifdef __linux__
@@ -226,10 +216,8 @@ static void virtio_blk_ioctl_complete(void *opaque, int status)
     virtio_stl_p(vdev, &scsi->data_len, hdr->dxfer_len);
 
 out:
-    aio_context_acquire(blk_get_aio_context(s->conf.conf.blk));
     virtio_blk_req_complete(req, status);
     virtio_blk_free_request(req);
-    aio_context_release(blk_get_aio_context(s->conf.conf.blk));
     g_free(ioctl_req);
 }
 
@@ -669,7 +657,6 @@ static void virtio_blk_zone_report_complete(void *opaque, int ret)
 {
     ZoneCmdData *data = opaque;
     VirtIOBlockReq *req = data->req;
-    VirtIOBlock *s = req->dev;
     VirtIODevice *vdev = VIRTIO_DEVICE(req->dev);
     struct iovec *in_iov = data->in_iov;
     unsigned in_num = data->in_num;
@@ -760,10 +747,8 @@ static void virtio_blk_zone_report_complete(void *opaque, int ret)
     }
 
 out:
-    aio_context_acquire(blk_get_aio_context(s->conf.conf.blk));
     virtio_blk_req_complete(req, err_status);
     virtio_blk_free_request(req);
-    aio_context_release(blk_get_aio_context(s->conf.conf.blk));
     g_free(data->zone_report_data.zones);
     g_free(data);
 }
@@ -826,10 +811,8 @@ static void virtio_blk_zone_mgmt_complete(void *opaque, int ret)
         err_status = VIRTIO_BLK_S_ZONE_INVALID_CMD;
     }
 
-    aio_context_acquire(blk_get_aio_context(s->conf.conf.blk));
     virtio_blk_req_complete(req, err_status);
     virtio_blk_free_request(req);
-    aio_context_release(blk_get_aio_context(s->conf.conf.blk));
 }
 
 static int virtio_blk_handle_zone_mgmt(VirtIOBlockReq *req, BlockZoneOp op)
@@ -879,7 +862,6 @@ static void virtio_blk_zone_append_complete(void *opaque, int ret)
 {
     ZoneCmdData *data = opaque;
     VirtIOBlockReq *req = data->req;
-    VirtIOBlock *s = req->dev;
     VirtIODevice *vdev = VIRTIO_DEVICE(req->dev);
     int64_t append_sector, n;
     uint8_t err_status = VIRTIO_BLK_S_OK;
@@ -902,10 +884,8 @@ static void virtio_blk_zone_append_complete(void *opaque, int ret)
     trace_virtio_blk_zone_append_complete(vdev, req, append_sector, ret);
 
 out:
-    aio_context_acquire(blk_get_aio_context(s->conf.conf.blk));
     virtio_blk_req_complete(req, err_status);
     virtio_blk_free_request(req);
-    aio_context_release(blk_get_aio_context(s->conf.conf.blk));
     g_free(data);
 }
 
@@ -941,10 +921,8 @@ static int virtio_blk_handle_zone_append(VirtIOBlockReq *req,
     return 0;
 
 out:
-    aio_context_acquire(blk_get_aio_context(s->conf.conf.blk));
     virtio_blk_req_complete(req, err_status);
     virtio_blk_free_request(req);
-    aio_context_release(blk_get_aio_context(s->conf.conf.blk));
     return err_status;
 }
 
@@ -1134,7 +1112,6 @@ void virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq)
     MultiReqBuffer mrb = {};
     bool suppress_notifications = virtio_queue_get_notification(vq);
 
-    aio_context_acquire(blk_get_aio_context(s->blk));
     defer_call_begin();
 
     do {
@@ -1160,7 +1137,6 @@ void virtio_blk_handle_vq(VirtIOBlock *s, VirtQueue *vq)
     }
 
     defer_call_end();
-    aio_context_release(blk_get_aio_context(s->blk));
 }
 
 static void virtio_blk_handle_output(VirtIODevice *vdev, VirtQueue *vq)
@@ -1188,7 +1164,6 @@ static void virtio_blk_dma_restart_bh(void *opaque)
 
     s->rq = NULL;
 
-    aio_context_acquire(blk_get_aio_context(s->conf.conf.blk));
     while (req) {
         VirtIOBlockReq *next = req->next;
         if (virtio_blk_handle_request(req, &mrb)) {
@@ -1212,8 +1187,6 @@ static void virtio_blk_dma_restart_bh(void *opaque)
 
     /* Paired with inc in virtio_blk_dma_restart_cb() */
     blk_dec_in_flight(s->conf.conf.blk);
-
-    aio_context_release(blk_get_aio_context(s->conf.conf.blk));
 }
 
 static void virtio_blk_dma_restart_cb(void *opaque, bool running,
@@ -1235,11 +1208,8 @@ static void virtio_blk_dma_restart_cb(void *opaque, bool running,
 static void virtio_blk_reset(VirtIODevice *vdev)
 {
     VirtIOBlock *s = VIRTIO_BLK(vdev);
-    AioContext *ctx;
     VirtIOBlockReq *req;
 
-    ctx = blk_get_aio_context(s->blk);
-    aio_context_acquire(ctx);
     blk_drain(s->blk);
 
     /* We drop queued requests after blk_drain() because blk_drain() itself can
@@ -1251,8 +1221,6 @@ static void virtio_blk_reset(VirtIODevice *vdev)
         virtio_blk_free_request(req);
     }
 
-    aio_context_release(ctx);
-
     assert(!s->dataplane_started);
     blk_set_enable_write_cache(s->blk, s->original_wce);
 }
@@ -1268,10 +1236,6 @@ static void virtio_blk_update_config(VirtIODevice *vdev, uint8_t *config)
     uint64_t capacity;
     int64_t length;
     int blk_size = conf->logical_block_size;
-    AioContext *ctx;
-
-    ctx = blk_get_aio_context(s->blk);
-    aio_context_acquire(ctx);
 
     blk_get_geometry(s->blk, &capacity);
     memset(&blkcfg, 0, sizeof(blkcfg));
@@ -1295,7 +1259,6 @@ static void virtio_blk_update_config(VirtIODevice *vdev, uint8_t *config)
      * per track (cylinder).
      */
     length = blk_getlength(s->blk);
-    aio_context_release(ctx);
     if (length > 0 && length / conf->heads / conf->secs % blk_size) {
         blkcfg.geometry.sectors = conf->secs & ~s->sector_mask;
     } else {
@@ -1362,9 +1325,7 @@ static void virtio_blk_set_config(VirtIODevice *vdev, const uint8_t *config)
 
     memcpy(&blkcfg, config, s->config_size);
 
-    aio_context_acquire(blk_get_aio_context(s->blk));
     blk_set_enable_write_cache(s->blk, blkcfg.wce != 0);
-    aio_context_release(blk_get_aio_context(s->blk));
 }
 
 static uint64_t virtio_blk_get_features(VirtIODevice *vdev, uint64_t features,
@@ -1432,11 +1393,9 @@ static void virtio_blk_set_status(VirtIODevice *vdev, uint8_t status)
      * s->blk would erroneously be placed in writethrough mode.
      */
     if (!virtio_vdev_has_feature(vdev, VIRTIO_BLK_F_CONFIG_WCE)) {
-        aio_context_acquire(blk_get_aio_context(s->blk));
         blk_set_enable_write_cache(s->blk,
                                    virtio_vdev_has_feature(vdev,
                                                            VIRTIO_BLK_F_WCE));
-        aio_context_release(blk_get_aio_context(s->blk));
     }
 }
 
diff --git a/hw/core/qdev-properties-system.c b/hw/core/qdev-properties-system.c
index 1473ab3d5e..73cced4626 100644
--- a/hw/core/qdev-properties-system.c
+++ b/hw/core/qdev-properties-system.c
@@ -120,9 +120,7 @@ static void set_drive_helper(Object *obj, Visitor *v, const char *name,
                        "node");
         }
 
-        aio_context_acquire(ctx);
         blk_replace_bs(blk, bs, errp);
-        aio_context_release(ctx);
         return;
     }
 
@@ -148,10 +146,7 @@ static void set_drive_helper(Object *obj, Visitor *v, const char *name,
                           0, BLK_PERM_ALL);
             blk_created = true;
 
-            aio_context_acquire(ctx);
             ret = blk_insert_bs(blk, bs, errp);
-            aio_context_release(ctx);
-
             if (ret < 0) {
                 goto fail;
             }
@@ -207,12 +202,8 @@ static void release_drive(Object *obj, const char *name, void *opaque)
     BlockBackend **ptr = object_field_prop_ptr(obj, prop);
 
     if (*ptr) {
-        AioContext *ctx = blk_get_aio_context(*ptr);
-
-        aio_context_acquire(ctx);
         blockdev_auto_del(*ptr);
         blk_detach_dev(*ptr, dev);
-        aio_context_release(ctx);
     }
 }
 
diff --git a/job.c b/job.c
index 99a2e54b54..660ce22c56 100644
--- a/job.c
+++ b/job.c
@@ -464,12 +464,8 @@ void job_unref_locked(Job *job)
         assert(!job->txn);
 
         if (job->driver->free) {
-            AioContext *aio_context = job->aio_context;
             job_unlock();
-            /* FIXME: aiocontext lock is required because cb calls blk_unref */
-            aio_context_acquire(aio_context);
             job->driver->free(job);
-            aio_context_release(aio_context);
             job_lock();
         }
 
@@ -840,12 +836,10 @@ static void job_clean(Job *job)
 
 /*
  * Called with job_mutex held, but releases it temporarily.
- * Takes AioContext lock internally to invoke a job->driver callback.
  */
 static int job_finalize_single_locked(Job *job)
 {
     int job_ret;
-    AioContext *ctx = job->aio_context;
 
     assert(job_is_completed_locked(job));
 
@@ -854,7 +848,6 @@ static int job_finalize_single_locked(Job *job)
 
     job_ret = job->ret;
     job_unlock();
-    aio_context_acquire(ctx);
 
     if (!job_ret) {
         job_commit(job);
@@ -867,7 +860,6 @@ static int job_finalize_single_locked(Job *job)
         job->cb(job->opaque, job_ret);
     }
 
-    aio_context_release(ctx);
     job_lock();
 
     /* Emit events only if we actually started */
@@ -886,17 +878,13 @@ static int job_finalize_single_locked(Job *job)
 
 /*
  * Called with job_mutex held, but releases it temporarily.
- * Takes AioContext lock internally to invoke a job->driver callback.
  */
 static void job_cancel_async_locked(Job *job, bool force)
 {
-    AioContext *ctx = job->aio_context;
     GLOBAL_STATE_CODE();
     if (job->driver->cancel) {
         job_unlock();
-        aio_context_acquire(ctx);
         force = job->driver->cancel(job, force);
-        aio_context_release(ctx);
         job_lock();
     } else {
         /* No .cancel() means the job will behave as if force-cancelled */
@@ -931,7 +919,6 @@ static void job_cancel_async_locked(Job *job, bool force)
 
 /*
  * Called with job_mutex held, but releases it temporarily.
- * Takes AioContext lock internally to invoke a job->driver callback.
  */
 static void job_completed_txn_abort_locked(Job *job)
 {
@@ -979,15 +966,12 @@ static void job_completed_txn_abort_locked(Job *job)
 static int job_prepare_locked(Job *job)
 {
     int ret;
-    AioContext *ctx = job->aio_context;
 
     GLOBAL_STATE_CODE();
 
     if (job->ret == 0 && job->driver->prepare) {
         job_unlock();
-        aio_context_acquire(ctx);
         ret = job->driver->prepare(job);
-        aio_context_release(ctx);
         job_lock();
         job->ret = ret;
         job_update_rc_locked(job);
diff --git a/migration/block.c b/migration/block.c
index a15f9bddcb..2bcfcbfdf6 100644
--- a/migration/block.c
+++ b/migration/block.c
@@ -66,7 +66,7 @@ typedef struct BlkMigDevState {
     /* Protected by block migration lock.  */
     int64_t completed_sectors;
 
-    /* During migration this is protected by iothread lock / AioContext.
+    /* During migration this is protected by bdrv_dirty_bitmap_lock().
      * Allocation and free happen during setup and cleanup respectively.
      */
     BdrvDirtyBitmap *dirty_bitmap;
@@ -101,7 +101,7 @@ typedef struct BlkMigState {
     int prev_progress;
     int bulk_completed;
 
-    /* Lock must be taken _inside_ the iothread lock and any AioContexts.  */
+    /* Lock must be taken _inside_ the iothread lock.  */
     QemuMutex lock;
 } BlkMigState;
 
@@ -270,7 +270,6 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
 
     if (bmds->shared_base) {
         qemu_mutex_lock_iothread();
-        aio_context_acquire(blk_get_aio_context(bb));
         /* Skip unallocated sectors; intentionally treats failure or
          * partial sector as an allocated sector */
         while (cur_sector < total_sectors &&
@@ -281,7 +280,6 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
             }
             cur_sector += count >> BDRV_SECTOR_BITS;
         }
-        aio_context_release(blk_get_aio_context(bb));
         qemu_mutex_unlock_iothread();
     }
 
@@ -313,22 +311,10 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
     block_mig_state.submitted++;
     blk_mig_unlock();
 
-    /* We do not know if bs is under the main thread (and thus does
-     * not acquire the AioContext when doing AIO) or rather under
-     * dataplane.  Thus acquire both the iothread mutex and the
-     * AioContext.
-     *
-     * This is ugly and will disappear when we make bdrv_* thread-safe,
-     * without the need to acquire the AioContext.
-     */
-    qemu_mutex_lock_iothread();
-    aio_context_acquire(blk_get_aio_context(bmds->blk));
     bdrv_reset_dirty_bitmap(bmds->dirty_bitmap, cur_sector * BDRV_SECTOR_SIZE,
                             nr_sectors * BDRV_SECTOR_SIZE);
     blk->aiocb = blk_aio_preadv(bb, cur_sector * BDRV_SECTOR_SIZE, &blk->qiov,
                                 0, blk_mig_read_cb, blk);
-    aio_context_release(blk_get_aio_context(bmds->blk));
-    qemu_mutex_unlock_iothread();
 
     bmds->cur_sector = cur_sector + nr_sectors;
     return (bmds->cur_sector >= total_sectors);
@@ -512,7 +498,7 @@ static void blk_mig_reset_dirty_cursor(void)
     }
 }
 
-/* Called with iothread lock and AioContext taken.  */
+/* Called with iothread lock taken.  */
 
 static int mig_save_device_dirty(QEMUFile *f, BlkMigDevState *bmds,
                                  int is_async)
@@ -606,9 +592,7 @@ static int blk_mig_save_dirty_block(QEMUFile *f, int is_async)
     int ret = 1;
 
     QSIMPLEQ_FOREACH(bmds, &block_mig_state.bmds_list, entry) {
-        aio_context_acquire(blk_get_aio_context(bmds->blk));
         ret = mig_save_device_dirty(f, bmds, is_async);
-        aio_context_release(blk_get_aio_context(bmds->blk));
         if (ret <= 0) {
             break;
         }
@@ -666,9 +650,9 @@ static int64_t get_remaining_dirty(void)
     int64_t dirty = 0;
 
     QSIMPLEQ_FOREACH(bmds, &block_mig_state.bmds_list, entry) {
-        aio_context_acquire(blk_get_aio_context(bmds->blk));
+        bdrv_dirty_bitmap_lock(bmds->dirty_bitmap);
         dirty += bdrv_get_dirty_count(bmds->dirty_bitmap);
-        aio_context_release(blk_get_aio_context(bmds->blk));
+        bdrv_dirty_bitmap_unlock(bmds->dirty_bitmap);
     }
 
     return dirty;
@@ -681,7 +665,6 @@ static void block_migration_cleanup_bmds(void)
 {
     BlkMigDevState *bmds;
     BlockDriverState *bs;
-    AioContext *ctx;
 
     unset_dirty_tracking();
 
@@ -693,13 +676,7 @@ static void block_migration_cleanup_bmds(void)
             bdrv_op_unblock_all(bs, bmds->blocker);
         }
         error_free(bmds->blocker);
-
-        /* Save ctx, because bmds->blk can disappear during blk_unref.  */
-        ctx = blk_get_aio_context(bmds->blk);
-        aio_context_acquire(ctx);
         blk_unref(bmds->blk);
-        aio_context_release(ctx);
-
         g_free(bmds->blk_name);
         g_free(bmds->aio_bitmap);
         g_free(bmds);
diff --git a/migration/migration-hmp-cmds.c b/migration/migration-hmp-cmds.c
index 86ae832176..99710c8ffb 100644
--- a/migration/migration-hmp-cmds.c
+++ b/migration/migration-hmp-cmds.c
@@ -852,14 +852,11 @@ static void vm_completion(ReadLineState *rs, const char *str)
 
     for (bs = bdrv_first(&it); bs; bs = bdrv_next(&it)) {
         SnapshotInfoList *snapshots, *snapshot;
-        AioContext *ctx = bdrv_get_aio_context(bs);
         bool ok = false;
 
-        aio_context_acquire(ctx);
         if (bdrv_can_snapshot(bs)) {
             ok = bdrv_query_snapshot_info_list(bs, &snapshots, NULL) == 0;
         }
-        aio_context_release(ctx);
         if (!ok) {
             continue;
         }
diff --git a/migration/savevm.c b/migration/savevm.c
index eec5503a42..1b9ab7b8ee 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
@@ -3049,7 +3049,6 @@ bool save_snapshot(const char *name, bool overwrite, const char *vmstate,
     int saved_vm_running;
     uint64_t vm_state_size;
     g_autoptr(GDateTime) now = g_date_time_new_now_local();
-    AioContext *aio_context;
 
     GLOBAL_STATE_CODE();
 
@@ -3092,7 +3091,6 @@ bool save_snapshot(const char *name, bool overwrite, const char *vmstate,
     if (bs == NULL) {
         return false;
     }
-    aio_context = bdrv_get_aio_context(bs);
 
     saved_vm_running = runstate_is_running();
 
@@ -3101,8 +3099,6 @@ bool save_snapshot(const char *name, bool overwrite, const char *vmstate,
 
     bdrv_drain_all_begin();
 
-    aio_context_acquire(aio_context);
-
     memset(sn, 0, sizeof(*sn));
 
     /* fill auxiliary fields */
@@ -3139,14 +3135,6 @@ bool save_snapshot(const char *name, bool overwrite, const char *vmstate,
         goto the_end;
     }
 
-    /* The bdrv_all_create_snapshot() call that follows acquires the AioContext
-     * for itself.  BDRV_POLL_WHILE() does not support nested locking because
-     * it only releases the lock once.  Therefore synchronous I/O will deadlock
-     * unless we release the AioContext before bdrv_all_create_snapshot().
-     */
-    aio_context_release(aio_context);
-    aio_context = NULL;
-
     ret = bdrv_all_create_snapshot(sn, bs, vm_state_size,
                                    has_devices, devices, errp);
     if (ret < 0) {
@@ -3157,10 +3145,6 @@ bool save_snapshot(const char *name, bool overwrite, const char *vmstate,
     ret = 0;
 
  the_end:
-    if (aio_context) {
-        aio_context_release(aio_context);
-    }
-
     bdrv_drain_all_end();
 
     if (saved_vm_running) {
@@ -3258,7 +3242,6 @@ bool load_snapshot(const char *name, const char *vmstate,
     QEMUSnapshotInfo sn;
     QEMUFile *f;
     int ret;
-    AioContext *aio_context;
     MigrationIncomingState *mis = migration_incoming_get_current();
 
     if (!bdrv_all_can_snapshot(has_devices, devices, errp)) {
@@ -3278,12 +3261,9 @@ bool load_snapshot(const char *name, const char *vmstate,
     if (!bs_vm_state) {
         return false;
     }
-    aio_context = bdrv_get_aio_context(bs_vm_state);
 
     /* Don't even try to load empty VM states */
-    aio_context_acquire(aio_context);
     ret = bdrv_snapshot_find(bs_vm_state, &sn, name);
-    aio_context_release(aio_context);
     if (ret < 0) {
         return false;
     } else if (sn.vm_state_size == 0) {
@@ -3320,10 +3300,8 @@ bool load_snapshot(const char *name, const char *vmstate,
         ret = -EINVAL;
         goto err_drain;
     }
-    aio_context_acquire(aio_context);
     ret = qemu_loadvm_state(f);
     migration_incoming_state_destroy();
-    aio_context_release(aio_context);
 
     bdrv_drain_all_end();
 
diff --git a/net/colo-compare.c b/net/colo-compare.c
index 7f9e6f89ce..f2dfc0ebdc 100644
--- a/net/colo-compare.c
+++ b/net/colo-compare.c
@@ -1439,12 +1439,10 @@ static void colo_compare_finalize(Object *obj)
     qemu_bh_delete(s->event_bh);
 
     AioContext *ctx = iothread_get_aio_context(s->iothread);
-    aio_context_acquire(ctx);
     AIO_WAIT_WHILE(ctx, !s->out_sendco.done);
     if (s->notify_dev) {
         AIO_WAIT_WHILE(ctx, !s->notify_sendco.done);
     }
-    aio_context_release(ctx);
 
     /* Release all unhandled packets after compare thead exited */
     g_queue_foreach(&s->conn_list, colo_flush_packets, s);
diff --git a/qemu-img.c b/qemu-img.c
index 5a77f67719..7668f86769 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -960,7 +960,6 @@ static int img_commit(int argc, char **argv)
     Error *local_err = NULL;
     CommonBlockJobCBInfo cbi;
     bool image_opts = false;
-    AioContext *aio_context;
     int64_t rate_limit = 0;
 
     fmt = NULL;
@@ -1078,12 +1077,9 @@ static int img_commit(int argc, char **argv)
         .bs   = bs,
     };
 
-    aio_context = bdrv_get_aio_context(bs);
-    aio_context_acquire(aio_context);
     commit_active_start("commit", bs, base_bs, JOB_DEFAULT, rate_limit,
                         BLOCKDEV_ON_ERROR_REPORT, NULL, common_block_job_cb,
                         &cbi, false, &local_err);
-    aio_context_release(aio_context);
     if (local_err) {
         goto done;
     }
diff --git a/qemu-io.c b/qemu-io.c
index 050c70835f..6cb1e00385 100644
--- a/qemu-io.c
+++ b/qemu-io.c
@@ -414,15 +414,7 @@ static void prep_fetchline(void *opaque)
 
 static int do_qemuio_command(const char *cmd)
 {
-    int ret;
-    AioContext *ctx =
-        qemuio_blk ? blk_get_aio_context(qemuio_blk) : qemu_get_aio_context();
-
-    aio_context_acquire(ctx);
-    ret = qemuio_command(qemuio_blk, cmd);
-    aio_context_release(ctx);
-
-    return ret;
+    return qemuio_command(qemuio_blk, cmd);
 }
 
 static int command_loop(void)
diff --git a/qemu-nbd.c b/qemu-nbd.c
index 186e6468b1..bac0b5e3ec 100644
--- a/qemu-nbd.c
+++ b/qemu-nbd.c
@@ -1123,9 +1123,7 @@ int main(int argc, char **argv)
         qdict_put_str(raw_opts, "file", bs->node_name);
         qdict_put_int(raw_opts, "offset", dev_offset);
 
-        aio_context_acquire(qemu_get_aio_context());
         bs = bdrv_open(NULL, NULL, raw_opts, flags, &error_fatal);
-        aio_context_release(qemu_get_aio_context());
 
         blk_remove_bs(blk);
         blk_insert_bs(blk, bs, &error_fatal);
diff --git a/replay/replay-debugging.c b/replay/replay-debugging.c
index 3e60549a4a..82c66fff26 100644
--- a/replay/replay-debugging.c
+++ b/replay/replay-debugging.c
@@ -144,7 +144,6 @@ static char *replay_find_nearest_snapshot(int64_t icount,
     char *ret = NULL;
     int rv;
     int nb_sns, i;
-    AioContext *aio_context;
 
     *snapshot_icount = -1;
 
@@ -152,11 +151,8 @@ static char *replay_find_nearest_snapshot(int64_t icount,
     if (!bs) {
         goto fail;
     }
-    aio_context = bdrv_get_aio_context(bs);
 
-    aio_context_acquire(aio_context);
     nb_sns = bdrv_snapshot_list(bs, &sn_tab);
-    aio_context_release(aio_context);
 
     for (i = 0; i < nb_sns; i++) {
         rv = bdrv_all_has_snapshot(sn_tab[i].name, false, NULL, NULL);
diff --git a/tests/unit/test-bdrv-drain.c b/tests/unit/test-bdrv-drain.c
index d9754dfebc..17830a69c1 100644
--- a/tests/unit/test-bdrv-drain.c
+++ b/tests/unit/test-bdrv-drain.c
@@ -179,13 +179,7 @@ static void do_drain_end(enum drain_type drain_type, BlockDriverState *bs)
 
 static void do_drain_begin_unlocked(enum drain_type drain_type, BlockDriverState *bs)
 {
-    if (drain_type != BDRV_DRAIN_ALL) {
-        aio_context_acquire(bdrv_get_aio_context(bs));
-    }
     do_drain_begin(drain_type, bs);
-    if (drain_type != BDRV_DRAIN_ALL) {
-        aio_context_release(bdrv_get_aio_context(bs));
-    }
 }
 
 static BlockBackend * no_coroutine_fn test_setup(void)
@@ -209,13 +203,7 @@ static BlockBackend * no_coroutine_fn test_setup(void)
 
 static void do_drain_end_unlocked(enum drain_type drain_type, BlockDriverState *bs)
 {
-    if (drain_type != BDRV_DRAIN_ALL) {
-        aio_context_acquire(bdrv_get_aio_context(bs));
-    }
     do_drain_end(drain_type, bs);
-    if (drain_type != BDRV_DRAIN_ALL) {
-        aio_context_release(bdrv_get_aio_context(bs));
-    }
 }
 
 /*
@@ -520,12 +508,8 @@ static void test_iothread_main_thread_bh(void *opaque)
 {
     struct test_iothread_data *data = opaque;
 
-    /* Test that the AioContext is not yet locked in a random BH that is
-     * executed during drain, otherwise this would deadlock. */
-    aio_context_acquire(bdrv_get_aio_context(data->bs));
     bdrv_flush(data->bs);
     bdrv_dec_in_flight(data->bs); /* incremented by test_iothread_common() */
-    aio_context_release(bdrv_get_aio_context(data->bs));
 }
 
 /*
@@ -567,7 +551,6 @@ static void test_iothread_common(enum drain_type drain_type, int drain_thread)
     blk_set_disable_request_queuing(blk, true);
 
     blk_set_aio_context(blk, ctx_a, &error_abort);
-    aio_context_acquire(ctx_a);
 
     s->bh_indirection_ctx = ctx_b;
 
@@ -582,8 +565,6 @@ static void test_iothread_common(enum drain_type drain_type, int drain_thread)
     g_assert(acb != NULL);
     g_assert_cmpint(aio_ret, ==, -EINPROGRESS);
 
-    aio_context_release(ctx_a);
-
     data = (struct test_iothread_data) {
         .bs         = bs,
         .drain_type = drain_type,
@@ -592,10 +573,6 @@ static void test_iothread_common(enum drain_type drain_type, int drain_thread)
 
     switch (drain_thread) {
     case 0:
-        if (drain_type != BDRV_DRAIN_ALL) {
-            aio_context_acquire(ctx_a);
-        }
-
         /*
          * Increment in_flight so that do_drain_begin() waits for
          * test_iothread_main_thread_bh(). This prevents the race between
@@ -613,20 +590,10 @@ static void test_iothread_common(enum drain_type drain_type, int drain_thread)
         do_drain_begin(drain_type, bs);
         g_assert_cmpint(bs->in_flight, ==, 0);
 
-        if (drain_type != BDRV_DRAIN_ALL) {
-            aio_context_release(ctx_a);
-        }
         qemu_event_wait(&done_event);
-        if (drain_type != BDRV_DRAIN_ALL) {
-            aio_context_acquire(ctx_a);
-        }
 
         g_assert_cmpint(aio_ret, ==, 0);
         do_drain_end(drain_type, bs);
-
-        if (drain_type != BDRV_DRAIN_ALL) {
-            aio_context_release(ctx_a);
-        }
         break;
     case 1:
         co = qemu_coroutine_create(test_iothread_drain_co_entry, &data);
@@ -637,9 +604,7 @@ static void test_iothread_common(enum drain_type drain_type, int drain_thread)
         g_assert_not_reached();
     }
 
-    aio_context_acquire(ctx_a);
     blk_set_aio_context(blk, qemu_get_aio_context(), &error_abort);
-    aio_context_release(ctx_a);
 
     bdrv_unref(bs);
     blk_unref(blk);
@@ -757,7 +722,6 @@ static void test_blockjob_common_drain_node(enum drain_type drain_type,
     BlockJob *job;
     TestBlockJob *tjob;
     IOThread *iothread = NULL;
-    AioContext *ctx;
     int ret;
 
     src = bdrv_new_open_driver(&bdrv_test, "source", BDRV_O_RDWR,
@@ -787,11 +751,11 @@ static void test_blockjob_common_drain_node(enum drain_type drain_type,
     }
 
     if (use_iothread) {
+        AioContext *ctx;
+
         iothread = iothread_new();
         ctx = iothread_get_aio_context(iothread);
         blk_set_aio_context(blk_src, ctx, &error_abort);
-    } else {
-        ctx = qemu_get_aio_context();
     }
 
     target = bdrv_new_open_driver(&bdrv_test, "target", BDRV_O_RDWR,
@@ -800,7 +764,6 @@ static void test_blockjob_common_drain_node(enum drain_type drain_type,
     blk_insert_bs(blk_target, target, &error_abort);
     blk_set_allow_aio_context_change(blk_target, true);
 
-    aio_context_acquire(ctx);
     tjob = block_job_create("job0", &test_job_driver, NULL, src,
                             0, BLK_PERM_ALL,
                             0, 0, NULL, NULL, &error_abort);
@@ -821,7 +784,6 @@ static void test_blockjob_common_drain_node(enum drain_type drain_type,
         tjob->prepare_ret = -EIO;
         break;
     }
-    aio_context_release(ctx);
 
     job_start(&job->job);
 
@@ -912,12 +874,10 @@ static void test_blockjob_common_drain_node(enum drain_type drain_type,
     }
     g_assert_cmpint(ret, ==, (result == TEST_JOB_SUCCESS ? 0 : -EIO));
 
-    aio_context_acquire(ctx);
     if (use_iothread) {
         blk_set_aio_context(blk_src, qemu_get_aio_context(), &error_abort);
         assert(blk_get_aio_context(blk_target) == qemu_get_aio_context());
     }
-    aio_context_release(ctx);
 
     blk_unref(blk_src);
     blk_unref(blk_target);
@@ -1401,9 +1361,7 @@ static void test_append_to_drained(void)
     g_assert_cmpint(base_s->drain_count, ==, 1);
     g_assert_cmpint(base->in_flight, ==, 0);
 
-    aio_context_acquire(qemu_get_aio_context());
     bdrv_append(overlay, base, &error_abort);
-    aio_context_release(qemu_get_aio_context());
 
     g_assert_cmpint(base->in_flight, ==, 0);
     g_assert_cmpint(overlay->in_flight, ==, 0);
@@ -1438,16 +1396,11 @@ static void test_set_aio_context(void)
 
     bdrv_drained_begin(bs);
     bdrv_try_change_aio_context(bs, ctx_a, NULL, &error_abort);
-
-    aio_context_acquire(ctx_a);
     bdrv_drained_end(bs);
 
     bdrv_drained_begin(bs);
     bdrv_try_change_aio_context(bs, ctx_b, NULL, &error_abort);
-    aio_context_release(ctx_a);
-    aio_context_acquire(ctx_b);
     bdrv_try_change_aio_context(bs, qemu_get_aio_context(), NULL, &error_abort);
-    aio_context_release(ctx_b);
     bdrv_drained_end(bs);
 
     bdrv_unref(bs);
diff --git a/tests/unit/test-bdrv-graph-mod.c b/tests/unit/test-bdrv-graph-mod.c
index 8ee6ef38d8..cafc023db4 100644
--- a/tests/unit/test-bdrv-graph-mod.c
+++ b/tests/unit/test-bdrv-graph-mod.c
@@ -142,10 +142,8 @@ static void test_update_perm_tree(void)
                       BDRV_CHILD_DATA, &error_abort);
     bdrv_graph_wrunlock();
 
-    aio_context_acquire(qemu_get_aio_context());
     ret = bdrv_append(filter, bs, NULL);
     g_assert_cmpint(ret, <, 0);
-    aio_context_release(qemu_get_aio_context());
 
     bdrv_unref(filter);
     blk_unref(root);
@@ -211,9 +209,7 @@ static void test_should_update_child(void)
     bdrv_attach_child(filter, target, "target", &child_of_bds,
                       BDRV_CHILD_DATA, &error_abort);
     bdrv_graph_wrunlock();
-    aio_context_acquire(qemu_get_aio_context());
     bdrv_append(filter, bs, &error_abort);
-    aio_context_release(qemu_get_aio_context());
 
     bdrv_graph_rdlock_main_loop();
     g_assert(target->backing->bs == bs);
@@ -440,9 +436,7 @@ static void test_append_greedy_filter(void)
                       &error_abort);
     bdrv_graph_wrunlock();
 
-    aio_context_acquire(qemu_get_aio_context());
     bdrv_append(fl, base, &error_abort);
-    aio_context_release(qemu_get_aio_context());
     bdrv_unref(fl);
     bdrv_unref(top);
 }
diff --git a/tests/unit/test-block-iothread.c b/tests/unit/test-block-iothread.c
index 9b15d2768c..3766d5de6b 100644
--- a/tests/unit/test-block-iothread.c
+++ b/tests/unit/test-block-iothread.c
@@ -483,7 +483,6 @@ static void test_sync_op(const void *opaque)
     bdrv_graph_rdunlock_main_loop();
 
     blk_set_aio_context(blk, ctx, &error_abort);
-    aio_context_acquire(ctx);
     if (t->fn) {
         t->fn(c);
     }
@@ -491,7 +490,6 @@ static void test_sync_op(const void *opaque)
         t->blkfn(blk);
     }
     blk_set_aio_context(blk, qemu_get_aio_context(), &error_abort);
-    aio_context_release(ctx);
 
     bdrv_unref(bs);
     blk_unref(blk);
@@ -576,9 +574,7 @@ static void test_attach_blockjob(void)
         aio_poll(qemu_get_aio_context(), false);
     }
 
-    aio_context_acquire(ctx);
     blk_set_aio_context(blk, qemu_get_aio_context(), &error_abort);
-    aio_context_release(ctx);
 
     tjob->n = 0;
     while (tjob->n == 0) {
@@ -595,9 +591,7 @@ static void test_attach_blockjob(void)
     WITH_JOB_LOCK_GUARD() {
         job_complete_sync_locked(&tjob->common.job, &error_abort);
     }
-    aio_context_acquire(ctx);
     blk_set_aio_context(blk, qemu_get_aio_context(), &error_abort);
-    aio_context_release(ctx);
 
     bdrv_unref(bs);
     blk_unref(blk);
@@ -654,9 +648,7 @@ static void test_propagate_basic(void)
 
     /* Switch the AioContext back */
     main_ctx = qemu_get_aio_context();
-    aio_context_acquire(ctx);
     blk_set_aio_context(blk, main_ctx, &error_abort);
-    aio_context_release(ctx);
     g_assert(blk_get_aio_context(blk) == main_ctx);
     g_assert(bdrv_get_aio_context(bs_a) == main_ctx);
     g_assert(bdrv_get_aio_context(bs_verify) == main_ctx);
@@ -732,9 +724,7 @@ static void test_propagate_diamond(void)
 
     /* Switch the AioContext back */
     main_ctx = qemu_get_aio_context();
-    aio_context_acquire(ctx);
     blk_set_aio_context(blk, main_ctx, &error_abort);
-    aio_context_release(ctx);
     g_assert(blk_get_aio_context(blk) == main_ctx);
     g_assert(bdrv_get_aio_context(bs_verify) == main_ctx);
     g_assert(bdrv_get_aio_context(bs_a) == main_ctx);
@@ -764,13 +754,11 @@ static void test_propagate_mirror(void)
                                   &error_abort);
 
     /* Start a mirror job */
-    aio_context_acquire(main_ctx);
     mirror_start("job0", src, target, NULL, JOB_DEFAULT, 0, 0, 0,
                  MIRROR_SYNC_MODE_NONE, MIRROR_OPEN_BACKING_CHAIN, false,
                  BLOCKDEV_ON_ERROR_REPORT, BLOCKDEV_ON_ERROR_REPORT,
                  false, "filter_node", MIRROR_COPY_MODE_BACKGROUND,
                  &error_abort);
-    aio_context_release(main_ctx);
 
     WITH_JOB_LOCK_GUARD() {
         job = job_get_locked("job0");
@@ -785,9 +773,7 @@ static void test_propagate_mirror(void)
     g_assert(job->aio_context == ctx);
 
     /* Change the AioContext of target */
-    aio_context_acquire(ctx);
     bdrv_try_change_aio_context(target, main_ctx, NULL, &error_abort);
-    aio_context_release(ctx);
     g_assert(bdrv_get_aio_context(src) == main_ctx);
     g_assert(bdrv_get_aio_context(target) == main_ctx);
     g_assert(bdrv_get_aio_context(filter) == main_ctx);
@@ -805,10 +791,8 @@ static void test_propagate_mirror(void)
     g_assert(bdrv_get_aio_context(filter) == main_ctx);
 
     /* ...unless we explicitly allow it */
-    aio_context_acquire(ctx);
     blk_set_allow_aio_context_change(blk, true);
     bdrv_try_change_aio_context(target, ctx, NULL, &error_abort);
-    aio_context_release(ctx);
 
     g_assert(blk_get_aio_context(blk) == ctx);
     g_assert(bdrv_get_aio_context(src) == ctx);
@@ -817,10 +801,8 @@ static void test_propagate_mirror(void)
 
     job_cancel_sync_all();
 
-    aio_context_acquire(ctx);
     blk_set_aio_context(blk, main_ctx, &error_abort);
     bdrv_try_change_aio_context(target, main_ctx, NULL, &error_abort);
-    aio_context_release(ctx);
 
     blk_unref(blk);
     bdrv_unref(src);
@@ -836,7 +818,6 @@ static void test_attach_second_node(void)
     BlockDriverState *bs, *filter;
     QDict *options;
 
-    aio_context_acquire(main_ctx);
     blk = blk_new(ctx, BLK_PERM_ALL, BLK_PERM_ALL);
     bs = bdrv_new_open_driver(&bdrv_test, "base", BDRV_O_RDWR, &error_abort);
     blk_insert_bs(blk, bs, &error_abort);
@@ -846,15 +827,12 @@ static void test_attach_second_node(void)
     qdict_put_str(options, "file", "base");
 
     filter = bdrv_open(NULL, NULL, options, BDRV_O_RDWR, &error_abort);
-    aio_context_release(main_ctx);
 
     g_assert(blk_get_aio_context(blk) == ctx);
     g_assert(bdrv_get_aio_context(bs) == ctx);
     g_assert(bdrv_get_aio_context(filter) == ctx);
 
-    aio_context_acquire(ctx);
     blk_set_aio_context(blk, main_ctx, &error_abort);
-    aio_context_release(ctx);
     g_assert(blk_get_aio_context(blk) == main_ctx);
     g_assert(bdrv_get_aio_context(bs) == main_ctx);
     g_assert(bdrv_get_aio_context(filter) == main_ctx);
@@ -868,11 +846,9 @@ static void test_attach_preserve_blk_ctx(void)
 {
     IOThread *iothread = iothread_new();
     AioContext *ctx = iothread_get_aio_context(iothread);
-    AioContext *main_ctx = qemu_get_aio_context();
     BlockBackend *blk;
     BlockDriverState *bs;
 
-    aio_context_acquire(main_ctx);
     blk = blk_new(ctx, BLK_PERM_ALL, BLK_PERM_ALL);
     bs = bdrv_new_open_driver(&bdrv_test, "base", BDRV_O_RDWR, &error_abort);
     bs->total_sectors = 65536 / BDRV_SECTOR_SIZE;
@@ -881,25 +857,18 @@ static void test_attach_preserve_blk_ctx(void)
     blk_insert_bs(blk, bs, &error_abort);
     g_assert(blk_get_aio_context(blk) == ctx);
     g_assert(bdrv_get_aio_context(bs) == ctx);
-    aio_context_release(main_ctx);
 
     /* Remove the node again */
-    aio_context_acquire(ctx);
     blk_remove_bs(blk);
-    aio_context_release(ctx);
     g_assert(blk_get_aio_context(blk) == ctx);
     g_assert(bdrv_get_aio_context(bs) == qemu_get_aio_context());
 
     /* Re-attach the node */
-    aio_context_acquire(main_ctx);
     blk_insert_bs(blk, bs, &error_abort);
-    aio_context_release(main_ctx);
     g_assert(blk_get_aio_context(blk) == ctx);
     g_assert(bdrv_get_aio_context(bs) == ctx);
 
-    aio_context_acquire(ctx);
     blk_set_aio_context(blk, qemu_get_aio_context(), &error_abort);
-    aio_context_release(ctx);
     bdrv_unref(bs);
     blk_unref(blk);
 }
diff --git a/tests/unit/test-blockjob.c b/tests/unit/test-blockjob.c
index a130f6fefb..fe3e0d2d38 100644
--- a/tests/unit/test-blockjob.c
+++ b/tests/unit/test-blockjob.c
@@ -228,7 +228,6 @@ static void cancel_common(CancelJob *s)
     BlockJob *job = &s->common;
     BlockBackend *blk = s->blk;
     JobStatus sts = job->job.status;
-    AioContext *ctx = job->job.aio_context;
 
     job_cancel_sync(&job->job, true);
     WITH_JOB_LOCK_GUARD() {
@@ -240,9 +239,7 @@ static void cancel_common(CancelJob *s)
         job_unref_locked(&job->job);
     }
 
-    aio_context_acquire(ctx);
     destroy_blk(blk);
-    aio_context_release(ctx);
 
 }
 
@@ -391,132 +388,6 @@ static void test_cancel_concluded(void)
     cancel_common(s);
 }
 
-/* (See test_yielding_driver for the job description) */
-typedef struct YieldingJob {
-    BlockJob common;
-    bool should_complete;
-} YieldingJob;
-
-static void yielding_job_complete(Job *job, Error **errp)
-{
-    YieldingJob *s = container_of(job, YieldingJob, common.job);
-    s->should_complete = true;
-    job_enter(job);
-}
-
-static int coroutine_fn yielding_job_run(Job *job, Error **errp)
-{
-    YieldingJob *s = container_of(job, YieldingJob, common.job);
-
-    job_transition_to_ready(job);
-
-    while (!s->should_complete) {
-        job_yield(job);
-    }
-
-    return 0;
-}
-
-/*
- * This job transitions immediately to the READY state, and then
- * yields until it is to complete.
- */
-static const BlockJobDriver test_yielding_driver = {
-    .job_driver = {
-        .instance_size  = sizeof(YieldingJob),
-        .free           = block_job_free,
-        .user_resume    = block_job_user_resume,
-        .run            = yielding_job_run,
-        .complete       = yielding_job_complete,
-    },
-};
-
-/*
- * Test that job_complete_locked() works even on jobs that are in a paused
- * state (i.e., STANDBY).
- *
- * To do this, run YieldingJob in an IO thread, get it into the READY
- * state, then have a drained section.  Before ending the section,
- * acquire the context so the job will not be entered and will thus
- * remain on STANDBY.
- *
- * job_complete_locked() should still work without error.
- *
- * Note that on the QMP interface, it is impossible to lock an IO
- * thread before a drained section ends.  In practice, the
- * bdrv_drain_all_end() and the aio_context_acquire() will be
- * reversed.  However, that makes for worse reproducibility here:
- * Sometimes, the job would no longer be in STANDBY then but already
- * be started.  We cannot prevent that, because the IO thread runs
- * concurrently.  We can only prevent it by taking the lock before
- * ending the drained section, so we do that.
- *
- * (You can reverse the order of operations and most of the time the
- * test will pass, but sometimes the assert(status == STANDBY) will
- * fail.)
- */
-static void test_complete_in_standby(void)
-{
-    BlockBackend *blk;
-    IOThread *iothread;
-    AioContext *ctx;
-    Job *job;
-    BlockJob *bjob;
-
-    /* Create a test drive, move it to an IO thread */
-    blk = create_blk(NULL);
-    iothread = iothread_new();
-
-    ctx = iothread_get_aio_context(iothread);
-    blk_set_aio_context(blk, ctx, &error_abort);
-
-    /* Create our test job */
-    bjob = mk_job(blk, "job", &test_yielding_driver, true,
-                  JOB_MANUAL_FINALIZE | JOB_MANUAL_DISMISS);
-    job = &bjob->job;
-    assert_job_status_is(job, JOB_STATUS_CREATED);
-
-    /* Wait for the job to become READY */
-    job_start(job);
-    /*
-     * Here we are waiting for the status to change, so don't bother
-     * protecting the read every time.
-     */
-    AIO_WAIT_WHILE_UNLOCKED(ctx, job->status != JOB_STATUS_READY);
-
-    /* Begin the drained section, pausing the job */
-    bdrv_drain_all_begin();
-    assert_job_status_is(job, JOB_STATUS_STANDBY);
-
-    /* Lock the IO thread to prevent the job from being run */
-    aio_context_acquire(ctx);
-    /* This will schedule the job to resume it */
-    bdrv_drain_all_end();
-    aio_context_release(ctx);
-
-    WITH_JOB_LOCK_GUARD() {
-        /* But the job cannot run, so it will remain on standby */
-        assert(job->status == JOB_STATUS_STANDBY);
-
-        /* Even though the job is on standby, this should work */
-        job_complete_locked(job, &error_abort);
-
-        /* The test is done now, clean up. */
-        job_finish_sync_locked(job, NULL, &error_abort);
-        assert(job->status == JOB_STATUS_PENDING);
-
-        job_finalize_locked(job, &error_abort);
-        assert(job->status == JOB_STATUS_CONCLUDED);
-
-        job_dismiss_locked(&job, &error_abort);
-    }
-
-    aio_context_acquire(ctx);
-    destroy_blk(blk);
-    aio_context_release(ctx);
-    iothread_join(iothread);
-}
-
 int main(int argc, char **argv)
 {
     qemu_init_main_loop(&error_abort);
@@ -531,13 +402,5 @@ int main(int argc, char **argv)
     g_test_add_func("/blockjob/cancel/standby", test_cancel_standby);
     g_test_add_func("/blockjob/cancel/pending", test_cancel_pending);
     g_test_add_func("/blockjob/cancel/concluded", test_cancel_concluded);
-
-    /*
-     * This test is flaky and sometimes fails in CI and otherwise:
-     * don't run unless user opts in via environment variable.
-     */
-    if (getenv("QEMU_TEST_FLAKY_TESTS")) {
-        g_test_add_func("/blockjob/complete_in_standby", test_complete_in_standby);
-    }
     return g_test_run();
 }
diff --git a/tests/unit/test-replication.c b/tests/unit/test-replication.c
index afff908d77..5d2003b8ce 100644
--- a/tests/unit/test-replication.c
+++ b/tests/unit/test-replication.c
@@ -199,17 +199,13 @@ static BlockBackend *start_primary(void)
 static void teardown_primary(void)
 {
     BlockBackend *blk;
-    AioContext *ctx;
 
     /* remove P_ID */
     blk = blk_by_name(P_ID);
     assert(blk);
 
-    ctx = blk_get_aio_context(blk);
-    aio_context_acquire(ctx);
     monitor_remove_blk(blk);
     blk_unref(blk);
-    aio_context_release(ctx);
 }
 
 static void test_primary_read(void)
@@ -345,27 +341,20 @@ static void teardown_secondary(void)
 {
     /* only need to destroy two BBs */
     BlockBackend *blk;
-    AioContext *ctx;
 
     /* remove S_LOCAL_DISK_ID */
     blk = blk_by_name(S_LOCAL_DISK_ID);
     assert(blk);
 
-    ctx = blk_get_aio_context(blk);
-    aio_context_acquire(ctx);
     monitor_remove_blk(blk);
     blk_unref(blk);
-    aio_context_release(ctx);
 
     /* remove S_ID */
     blk = blk_by_name(S_ID);
     assert(blk);
 
-    ctx = blk_get_aio_context(blk);
-    aio_context_acquire(ctx);
     monitor_remove_blk(blk);
     blk_unref(blk);
-    aio_context_release(ctx);
 }
 
 static void test_secondary_read(void)
diff --git a/util/async.c b/util/async.c
index 04ee83d220..dfd44ef612 100644
--- a/util/async.c
+++ b/util/async.c
@@ -562,12 +562,10 @@ static void co_schedule_bh_cb(void *opaque)
         Coroutine *co = QSLIST_FIRST(&straight);
         QSLIST_REMOVE_HEAD(&straight, co_scheduled_next);
         trace_aio_co_schedule_bh_cb(ctx, co);
-        aio_context_acquire(ctx);
 
         /* Protected by write barrier in qemu_aio_coroutine_enter */
         qatomic_set(&co->scheduled, NULL);
         qemu_aio_coroutine_enter(ctx, co);
-        aio_context_release(ctx);
     }
 }
 
@@ -707,9 +705,7 @@ void aio_co_enter(AioContext *ctx, Coroutine *co)
         assert(self != co);
         QSIMPLEQ_INSERT_TAIL(&self->co_queue_wakeup, co, co_queue_next);
     } else {
-        aio_context_acquire(ctx);
         qemu_aio_coroutine_enter(ctx, co);
-        aio_context_release(ctx);
     }
 }
 
diff --git a/util/vhost-user-server.c b/util/vhost-user-server.c
index a9a48fffb8..3bfb1ad3ec 100644
--- a/util/vhost-user-server.c
+++ b/util/vhost-user-server.c
@@ -360,10 +360,7 @@ static void vu_accept(QIONetListener *listener, QIOChannelSocket *sioc,
 
     qio_channel_set_follow_coroutine_ctx(server->ioc, true);
 
-    /* Attaching the AioContext starts the vu_client_trip coroutine */
-    aio_context_acquire(server->ctx);
     vhost_user_server_attach_aio_context(server, server->ctx);
-    aio_context_release(server->ctx);
 }
 
 /* server->ctx acquired by caller */
diff --git a/scripts/block-coroutine-wrapper.py b/scripts/block-coroutine-wrapper.py
index 38364fa557..c9c09fcacd 100644
--- a/scripts/block-coroutine-wrapper.py
+++ b/scripts/block-coroutine-wrapper.py
@@ -278,12 +278,9 @@ def gen_no_co_wrapper(func: FuncDecl) -> str:
 static void {name}_bh(void *opaque)
 {{
     {struct_name} *s = opaque;
-    AioContext *ctx = {func.gen_ctx('s->')};
 
 {graph_lock}
-    aio_context_acquire(ctx);
     {func.get_result}{name}({ func.gen_list('s->{name}') });
-    aio_context_release(ctx);
 {graph_unlock}
 
     aio_co_wake(s->co);
diff --git a/tests/tsan/suppressions.tsan b/tests/tsan/suppressions.tsan
index d9a002a2ef..b3ef59c27c 100644
--- a/tests/tsan/suppressions.tsan
+++ b/tests/tsan/suppressions.tsan
@@ -4,7 +4,6 @@
 
 # TSan reports a double lock on RECURSIVE mutexes.
 # Since the recursive lock is intentional, we choose to ignore it.
-mutex:aio_context_acquire
 mutex:pthread_mutex_lock
 
 # TSan reports a race between pthread_mutex_init() and
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644183.1004930 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Qfb-0002eI-HR; Wed, 29 Nov 2023 19:56:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644183.1004930; Wed, 29 Nov 2023 19: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 1r8Qfb-0002e0-EE; Wed, 29 Nov 2023 19:56:27 +0000
Received: by outflank-mailman (input) for mailman id 644183;
 Wed, 29 Nov 2023 19:56: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8QfZ-0000Sw-SM
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:25 +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 5fd2f94b-8ef1-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 20:56:25 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-319-jnXRdb_RN-iYwVxAAaKIQw-1; Wed, 29 Nov 2023 14:56:18 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id A4F0380513B;
 Wed, 29 Nov 2023 19:56:17 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id C34AE2026D68;
 Wed, 29 Nov 2023 19:56: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: 5fd2f94b-8ef1-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287783;
	h=from:from:reply-to:subject:subject: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=Qn4A3YvrhlBIungviFTFGACo/rbhN0xY9G9erOMQvRE=;
	b=MtSJM/+mC9yXIDF1W9EzCtzYpYPjeftzidImLezO/8F6l7rdPnOwSb1Z6HJeV9Vnk0Vnrz
	nRlsE4+t6OwiADazRxahMQ/FAFVftw8ui0mB/7uI0PObkBBIbPcrKlkGRByt7EOFT7aAf9
	IKdXZ1dBBGpdpY1Vk4Pu2bTtahIZGhA=
X-MC-Unique: jnXRdb_RN-iYwVxAAaKIQw-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 06/12] scsi: remove AioContext locking
Date: Wed, 29 Nov 2023 14:55:47 -0500
Message-ID: <20231129195553.942921-7-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4

The AioContext lock no longer has any effect. Remove it.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/hw/virtio/virtio-scsi.h | 14 --------------
 hw/scsi/scsi-bus.c              |  2 --
 hw/scsi/scsi-disk.c             | 28 ++++------------------------
 hw/scsi/virtio-scsi.c           | 18 ------------------
 4 files changed, 4 insertions(+), 58 deletions(-)

diff --git a/include/hw/virtio/virtio-scsi.h b/include/hw/virtio/virtio-scsi.h
index da8cb928d9..7f0573b1bf 100644
--- a/include/hw/virtio/virtio-scsi.h
+++ b/include/hw/virtio/virtio-scsi.h
@@ -101,20 +101,6 @@ struct VirtIOSCSI {
     uint32_t host_features;
 };
 
-static inline void virtio_scsi_acquire(VirtIOSCSI *s)
-{
-    if (s->ctx) {
-        aio_context_acquire(s->ctx);
-    }
-}
-
-static inline void virtio_scsi_release(VirtIOSCSI *s)
-{
-    if (s->ctx) {
-        aio_context_release(s->ctx);
-    }
-}
-
 void virtio_scsi_common_realize(DeviceState *dev,
                                 VirtIOHandleOutput ctrl,
                                 VirtIOHandleOutput evt,
diff --git a/hw/scsi/scsi-bus.c b/hw/scsi/scsi-bus.c
index b8bfde9565..0031164cc3 100644
--- a/hw/scsi/scsi-bus.c
+++ b/hw/scsi/scsi-bus.c
@@ -1725,9 +1725,7 @@ void scsi_device_purge_requests(SCSIDevice *sdev, SCSISense sense)
 {
     scsi_device_for_each_req_async(sdev, scsi_device_purge_one_req, NULL);
 
-    aio_context_acquire(blk_get_aio_context(sdev->conf.blk));
     blk_drain(sdev->conf.blk);
-    aio_context_release(blk_get_aio_context(sdev->conf.blk));
     scsi_device_set_ua(sdev, sense);
 }
 
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index 2c1bbb3530..f1bd5f5c6e 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -2325,14 +2325,10 @@ static void scsi_disk_reset(DeviceState *dev)
 {
     SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev.qdev, dev);
     uint64_t nb_sectors;
-    AioContext *ctx;
 
     scsi_device_purge_requests(&s->qdev, SENSE_CODE(RESET));
 
-    ctx = blk_get_aio_context(s->qdev.conf.blk);
-    aio_context_acquire(ctx);
     blk_get_geometry(s->qdev.conf.blk, &nb_sectors);
-    aio_context_release(ctx);
 
     nb_sectors /= s->qdev.blocksize / BDRV_SECTOR_SIZE;
     if (nb_sectors) {
@@ -2531,13 +2527,11 @@ static void scsi_unrealize(SCSIDevice *dev)
 static void scsi_hd_realize(SCSIDevice *dev, Error **errp)
 {
     SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev);
-    AioContext *ctx = NULL;
+
     /* can happen for devices without drive. The error message for missing
      * backend will be issued in scsi_realize
      */
     if (s->qdev.conf.blk) {
-        ctx = blk_get_aio_context(s->qdev.conf.blk);
-        aio_context_acquire(ctx);
         if (!blkconf_blocksizes(&s->qdev.conf, errp)) {
             goto out;
         }
@@ -2549,15 +2543,11 @@ static void scsi_hd_realize(SCSIDevice *dev, Error **errp)
     }
     scsi_realize(&s->qdev, errp);
 out:
-    if (ctx) {
-        aio_context_release(ctx);
-    }
 }
 
 static void scsi_cd_realize(SCSIDevice *dev, Error **errp)
 {
     SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev);
-    AioContext *ctx;
     int ret;
     uint32_t blocksize = 2048;
 
@@ -2573,8 +2563,6 @@ static void scsi_cd_realize(SCSIDevice *dev, Error **errp)
         blocksize = dev->conf.physical_block_size;
     }
 
-    ctx = blk_get_aio_context(dev->conf.blk);
-    aio_context_acquire(ctx);
     s->qdev.blocksize = blocksize;
     s->qdev.type = TYPE_ROM;
     s->features |= 1 << SCSI_DISK_F_REMOVABLE;
@@ -2582,7 +2570,6 @@ static void scsi_cd_realize(SCSIDevice *dev, Error **errp)
         s->product = g_strdup("QEMU CD-ROM");
     }
     scsi_realize(&s->qdev, errp);
-    aio_context_release(ctx);
 }
 
 
@@ -2713,7 +2700,6 @@ static int get_device_type(SCSIDiskState *s)
 static void scsi_block_realize(SCSIDevice *dev, Error **errp)
 {
     SCSIDiskState *s = DO_UPCAST(SCSIDiskState, qdev, dev);
-    AioContext *ctx;
     int sg_version;
     int rc;
 
@@ -2728,9 +2714,6 @@ static void scsi_block_realize(SCSIDevice *dev, Error **errp)
                           "be removed in a future version");
     }
 
-    ctx = blk_get_aio_context(s->qdev.conf.blk);
-    aio_context_acquire(ctx);
-
     /* check we are using a driver managing SG_IO (version 3 and after) */
     rc = blk_ioctl(s->qdev.conf.blk, SG_GET_VERSION_NUM, &sg_version);
     if (rc < 0) {
@@ -2738,18 +2721,18 @@ static void scsi_block_realize(SCSIDevice *dev, Error **errp)
         if (rc != -EPERM) {
             error_append_hint(errp, "Is this a SCSI device?\n");
         }
-        goto out;
+        return;
     }
     if (sg_version < 30000) {
         error_setg(errp, "scsi generic interface too old");
-        goto out;
+        return;
     }
 
     /* get device type from INQUIRY data */
     rc = get_device_type(s);
     if (rc < 0) {
         error_setg(errp, "INQUIRY failed");
-        goto out;
+        return;
     }
 
     /* Make a guess for the block size, we'll fix it when the guest sends.
@@ -2769,9 +2752,6 @@ static void scsi_block_realize(SCSIDevice *dev, Error **errp)
 
     scsi_realize(&s->qdev, errp);
     scsi_generic_read_device_inquiry(&s->qdev);
-
-out:
-    aio_context_release(ctx);
 }
 
 typedef struct SCSIBlockReq {
diff --git a/hw/scsi/virtio-scsi.c b/hw/scsi/virtio-scsi.c
index 4f8d35facc..ca365a70e9 100644
--- a/hw/scsi/virtio-scsi.c
+++ b/hw/scsi/virtio-scsi.c
@@ -642,9 +642,7 @@ static void virtio_scsi_handle_ctrl(VirtIODevice *vdev, VirtQueue *vq)
         return;
     }
 
-    virtio_scsi_acquire(s);
     virtio_scsi_handle_ctrl_vq(s, vq);
-    virtio_scsi_release(s);
 }
 
 static void virtio_scsi_complete_cmd_req(VirtIOSCSIReq *req)
@@ -882,9 +880,7 @@ static void virtio_scsi_handle_cmd(VirtIODevice *vdev, VirtQueue *vq)
         return;
     }
 
-    virtio_scsi_acquire(s);
     virtio_scsi_handle_cmd_vq(s, vq);
-    virtio_scsi_release(s);
 }
 
 static void virtio_scsi_get_config(VirtIODevice *vdev,
@@ -1031,9 +1027,7 @@ static void virtio_scsi_handle_event(VirtIODevice *vdev, VirtQueue *vq)
         return;
     }
 
-    virtio_scsi_acquire(s);
     virtio_scsi_handle_event_vq(s, vq);
-    virtio_scsi_release(s);
 }
 
 static void virtio_scsi_change(SCSIBus *bus, SCSIDevice *dev, SCSISense sense)
@@ -1052,9 +1046,7 @@ static void virtio_scsi_change(SCSIBus *bus, SCSIDevice *dev, SCSISense sense)
             },
         };
 
-        virtio_scsi_acquire(s);
         virtio_scsi_push_event(s, &info);
-        virtio_scsi_release(s);
     }
 }
 
@@ -1071,17 +1063,13 @@ static void virtio_scsi_hotplug(HotplugHandler *hotplug_dev, DeviceState *dev,
     VirtIODevice *vdev = VIRTIO_DEVICE(hotplug_dev);
     VirtIOSCSI *s = VIRTIO_SCSI(vdev);
     SCSIDevice *sd = SCSI_DEVICE(dev);
-    AioContext *old_context;
     int ret;
 
     if (s->ctx && !s->dataplane_fenced) {
         if (blk_op_is_blocked(sd->conf.blk, BLOCK_OP_TYPE_DATAPLANE, errp)) {
             return;
         }
-        old_context = blk_get_aio_context(sd->conf.blk);
-        aio_context_acquire(old_context);
         ret = blk_set_aio_context(sd->conf.blk, s->ctx, errp);
-        aio_context_release(old_context);
         if (ret < 0) {
             return;
         }
@@ -1097,10 +1085,8 @@ static void virtio_scsi_hotplug(HotplugHandler *hotplug_dev, DeviceState *dev,
             },
         };
 
-        virtio_scsi_acquire(s);
         virtio_scsi_push_event(s, &info);
         scsi_bus_set_ua(&s->bus, SENSE_CODE(REPORTED_LUNS_CHANGED));
-        virtio_scsi_release(s);
     }
 }
 
@@ -1122,17 +1108,13 @@ static void virtio_scsi_hotunplug(HotplugHandler *hotplug_dev, DeviceState *dev,
     qdev_simple_device_unplug_cb(hotplug_dev, dev, errp);
 
     if (s->ctx) {
-        virtio_scsi_acquire(s);
         /* If other users keep the BlockBackend in the iothread, that's ok */
         blk_set_aio_context(sd->conf.blk, qemu_get_aio_context(), NULL);
-        virtio_scsi_release(s);
     }
 
     if (virtio_vdev_has_feature(vdev, VIRTIO_SCSI_F_HOTPLUG)) {
-        virtio_scsi_acquire(s);
         virtio_scsi_push_event(s, &info);
         scsi_bus_set_ua(&s->bus, SENSE_CODE(REPORTED_LUNS_CHANGED));
-        virtio_scsi_release(s);
     }
 }
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644185.1004941 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Qfd-00032I-T4; Wed, 29 Nov 2023 19:56:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644185.1004941; Wed, 29 Nov 2023 19:56: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 1r8Qfd-000327-O8; Wed, 29 Nov 2023 19:56:29 +0000
Received: by outflank-mailman (input) for mailman id 644185;
 Wed, 29 Nov 2023 19:56: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8Qfc-0000tx-PS
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:28 +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 6119a210-8ef1-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:56:27 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-368-V4RCa5FgOVyNOyjvlaQEWQ-1; Wed, 29 Nov 2023 14:56:22 -0500
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com
 [10.11.54.2])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id EDC72185A781;
 Wed, 29 Nov 2023 19:56:21 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 59B8540C6EBA;
 Wed, 29 Nov 2023 19:56: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: 6119a210-8ef1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287786;
	h=from:from:reply-to:subject:subject: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=dKDLiHF1X71kKBGZSvHJbLZCC/+L9f9ZlF5nJQ5JHss=;
	b=X6wSY8RxPat3bgpHmYKU1oqbd3c//eONLxQ1eaNz39Wai9PtSKLF8wwc4zfknFGD/bvHqu
	pNsRCfimNe2IglWYCueTa/Y9hnovs0h58Sq4D9MEPKrCsCBdJnXWXdV4BXfzAfVv1PerbD
	ag9HkoGrIqvN19S4PF3ADTLkc29uQKU=
X-MC-Unique: V4RCa5FgOVyNOyjvlaQEWQ-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 08/12] aio: remove aio_context_acquire()/aio_context_release() API
Date: Wed, 29 Nov 2023 14:55:49 -0500
Message-ID: <20231129195553.942921-9-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.2

Delete these functions because nothing calls these functions anymore.

I introduced these APIs in commit 98563fc3ec44 ("aio: add
aio_context_acquire() and aio_context_release()") in 2014. It's with a
sigh of relief that I delete these APIs almost 10 years later.

Thanks to Paolo Bonzini's vision for multi-queue QEMU, we got an
understanding of where the code needed to go in order to remove the
limitations that the original dataplane and the IOThread/AioContext
approach that followed it.

Emanuele Giuseppe Esposito had the splendid determination to convert
large parts of the codebase so that they no longer needed the AioContext
lock. This was a painstaking process, both in the actual code changes
required and the iterations of code review that Emanuele eeked out of
Kevin and me over many months.

Kevin Wolf tackled multitudes of graph locking conversions to protect
in-flight I/O from run-time changes to the block graph as well as the
clang Thread Safety Analysis annotations that allow the compiler to
check whether the graph lock is being used correctly.

And me, well, I'm just here to add some pizzazz to the QEMU multi-queue
block layer :). Thank you to everyone who helped with this effort,
including Eric Blake, code reviewer extraordinaire, and others who I've
forgotten to mention.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/block/aio.h | 17 -----------------
 util/async.c        | 10 ----------
 2 files changed, 27 deletions(-)

diff --git a/include/block/aio.h b/include/block/aio.h
index f08b358077..af05512a7d 100644
--- a/include/block/aio.h
+++ b/include/block/aio.h
@@ -278,23 +278,6 @@ void aio_context_ref(AioContext *ctx);
  */
 void aio_context_unref(AioContext *ctx);
 
-/* Take ownership of the AioContext.  If the AioContext will be shared between
- * threads, and a thread does not want to be interrupted, it will have to
- * take ownership around calls to aio_poll().  Otherwise, aio_poll()
- * automatically takes care of calling aio_context_acquire and
- * aio_context_release.
- *
- * Note that this is separate from bdrv_drained_begin/bdrv_drained_end.  A
- * thread still has to call those to avoid being interrupted by the guest.
- *
- * Bottom halves, timers and callbacks can be created or removed without
- * acquiring the AioContext.
- */
-void aio_context_acquire(AioContext *ctx);
-
-/* Relinquish ownership of the AioContext. */
-void aio_context_release(AioContext *ctx);
-
 /**
  * aio_bh_schedule_oneshot_full: Allocate a new bottom half structure that will
  * run only once and as soon as possible.
diff --git a/util/async.c b/util/async.c
index dfd44ef612..460529057c 100644
--- a/util/async.c
+++ b/util/async.c
@@ -719,16 +719,6 @@ void aio_context_unref(AioContext *ctx)
     g_source_unref(&ctx->source);
 }
 
-void aio_context_acquire(AioContext *ctx)
-{
-    /* TODO remove this function */
-}
-
-void aio_context_release(AioContext *ctx)
-{
-    /* TODO remove this function */
-}
-
 QEMU_DEFINE_STATIC_CO_TLS(AioContext *, my_aiocontext)
 
 AioContext *qemu_get_current_aio_context(void)
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644188.1004951 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Qfg-0003Qj-9Q; Wed, 29 Nov 2023 19:56:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644188.1004951; Wed, 29 Nov 2023 19:56: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 1r8Qfg-0003QG-4R; Wed, 29 Nov 2023 19:56:32 +0000
Received: by outflank-mailman (input) for mailman id 644188;
 Wed, 29 Nov 2023 19:56: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8Qfe-0000tx-Pm
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:30 +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 61ca406b-8ef1-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:56:28 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-94-kXGyFUX-NIuQCfHv6oG-HA-1; Wed, 29 Nov 2023 14:56:20 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id C8B9585A59D;
 Wed, 29 Nov 2023 19:56:19 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 2D6602026D66;
 Wed, 29 Nov 2023 19:56:18 +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: 61ca406b-8ef1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287787;
	h=from:from:reply-to:subject:subject: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=bTcDFzFaOMJ4phQ9Kw9SCD8w63fmY3HfH7RTFoWnJ+c=;
	b=UnrAJUJxEHGyrHIGQ9OTEpvajlA8X8lae+B6Gm44ReFHpoctQD18Zfp0rFIpuiK63tHfjt
	tQaAC1KDbMp2QKS2pQ7DGfydhhN6XbVN4vzQqI+fVR+XSU718tmxSqzBPtGhz9v4f4IXni
	BeYsCbqNyX5TGoUDVjp9AWUgxnNMwgE=
X-MC-Unique: kXGyFUX-NIuQCfHv6oG-HA-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 07/12] aio-wait: draw equivalence between AIO_WAIT_WHILE() and AIO_WAIT_WHILE_UNLOCKED()
Date: Wed, 29 Nov 2023 14:55:48 -0500
Message-ID: <20231129195553.942921-8-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4

Now that the AioContext lock no longer exists, AIO_WAIT_WHILE() and
AIO_WAIT_WHILE_UNLOCKED() are equivalent.

A future patch will get rid of AIO_WAIT_WHILE_UNLOCKED().

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/block/aio-wait.h | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

diff --git a/include/block/aio-wait.h b/include/block/aio-wait.h
index 5449b6d742..157f105916 100644
--- a/include/block/aio-wait.h
+++ b/include/block/aio-wait.h
@@ -63,9 +63,6 @@ extern AioWait global_aio_wait;
  * @ctx: the aio context, or NULL if multiple aio contexts (for which the
  *       caller does not hold a lock) are involved in the polling condition.
  * @cond: wait while this conditional expression is true
- * @unlock: whether to unlock and then lock again @ctx. This applies
- * only when waiting for another AioContext from the main loop.
- * Otherwise it's ignored.
  *
  * Wait while a condition is true.  Use this to implement synchronous
  * operations that require event loop activity.
@@ -78,7 +75,7 @@ extern AioWait global_aio_wait;
  * wait on conditions between two IOThreads since that could lead to deadlock,
  * go via the main loop instead.
  */
-#define AIO_WAIT_WHILE_INTERNAL(ctx, cond, unlock) ({              \
+#define AIO_WAIT_WHILE_INTERNAL(ctx, cond) ({                      \
     bool waited_ = false;                                          \
     AioWait *wait_ = &global_aio_wait;                             \
     AioContext *ctx_ = (ctx);                                      \
@@ -95,13 +92,7 @@ extern AioWait global_aio_wait;
         assert(qemu_get_current_aio_context() ==                   \
                qemu_get_aio_context());                            \
         while ((cond)) {                                           \
-            if (unlock && ctx_) {                                  \
-                aio_context_release(ctx_);                         \
-            }                                                      \
             aio_poll(qemu_get_aio_context(), true);                \
-            if (unlock && ctx_) {                                  \
-                aio_context_acquire(ctx_);                         \
-            }                                                      \
             waited_ = true;                                        \
         }                                                          \
     }                                                              \
@@ -109,10 +100,11 @@ extern AioWait global_aio_wait;
     waited_; })
 
 #define AIO_WAIT_WHILE(ctx, cond)                                  \
-    AIO_WAIT_WHILE_INTERNAL(ctx, cond, true)
+    AIO_WAIT_WHILE_INTERNAL(ctx, cond)
 
+/* TODO replace this with AIO_WAIT_WHILE() in a future patch */
 #define AIO_WAIT_WHILE_UNLOCKED(ctx, cond)                         \
-    AIO_WAIT_WHILE_INTERNAL(ctx, cond, false)
+    AIO_WAIT_WHILE_INTERNAL(ctx, cond)
 
 /**
  * aio_wait_kick:
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644189.1004961 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Qfh-0003jw-Ip; Wed, 29 Nov 2023 19:56:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644189.1004961; Wed, 29 Nov 2023 19:56: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 1r8Qfh-0003j3-E3; Wed, 29 Nov 2023 19:56:33 +0000
Received: by outflank-mailman (input) for mailman id 644189;
 Wed, 29 Nov 2023 19:56: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8Qfg-0000Sw-4W
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:32 +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 63bcdf84-8ef1-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 20:56:31 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-15-z9E51FFMPQOGFuJl_yEIDg-1; Wed, 29 Nov 2023 14:56:26 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 569E8852ACC;
 Wed, 29 Nov 2023 19:56:25 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id A6CB32026D66;
 Wed, 29 Nov 2023 19:56: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: 63bcdf84-8ef1-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287790;
	h=from:from:reply-to:subject:subject: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=LEy9EWuebl4CuFgfogaWwDt3UnxTDs2t+LuSpg8gM1k=;
	b=QIpFOEM3P+UcwlRS8PFadX67/n06mUI3wwBsyA+41zLZhFgbmON4Pj/jS6JA6dc6XfHOLu
	gsJQo+9PEPCTTIOD79+BEp+MZNDsTvvbS9qIOOwLO0OXT44Cvnt2WzP4doAebFJPr0cHrk
	1f4lS52OFLkIsh1D1hfzWsQTlMe8xm0=
X-MC-Unique: z9E51FFMPQOGFuJl_yEIDg-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 09/12] docs: remove AioContext lock from IOThread docs
Date: Wed, 29 Nov 2023 14:55:50 -0500
Message-ID: <20231129195553.942921-10-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4

Encourage the use of locking primitives and stop mentioning the
AioContext lock since it is being removed.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 docs/devel/multiple-iothreads.txt | 45 +++++++++++--------------------
 1 file changed, 15 insertions(+), 30 deletions(-)

diff --git a/docs/devel/multiple-iothreads.txt b/docs/devel/multiple-iothreads.txt
index a3e949f6b3..4865196bde 100644
--- a/docs/devel/multiple-iothreads.txt
+++ b/docs/devel/multiple-iothreads.txt
@@ -88,27 +88,18 @@ loop, depending on which AioContext instance the caller passes in.
 
 How to synchronize with an IOThread
 -----------------------------------
-AioContext is not thread-safe so some rules must be followed when using file
-descriptors, event notifiers, timers, or BHs across threads:
+Variables that can be accessed by multiple threads require some form of
+synchronization such as qemu_mutex_lock(), rcu_read_lock(), etc.
 
-1. AioContext functions can always be called safely.  They handle their
-own locking internally.
-
-2. Other threads wishing to access the AioContext must use
-aio_context_acquire()/aio_context_release() for mutual exclusion.  Once the
-context is acquired no other thread can access it or run event loop iterations
-in this AioContext.
-
-Legacy code sometimes nests aio_context_acquire()/aio_context_release() calls.
-Do not use nesting anymore, it is incompatible with the BDRV_POLL_WHILE() macro
-used in the block layer and can lead to hangs.
-
-There is currently no lock ordering rule if a thread needs to acquire multiple
-AioContexts simultaneously.  Therefore, it is only safe for code holding the
-QEMU global mutex to acquire other AioContexts.
+AioContext functions like aio_set_fd_handler(), aio_set_event_notifier(),
+aio_bh_new(), and aio_timer_new() are thread-safe. They can be used to trigger
+activity in an IOThread.
 
 Side note: the best way to schedule a function call across threads is to call
-aio_bh_schedule_oneshot().  No acquire/release or locking is needed.
+aio_bh_schedule_oneshot().
+
+The main loop thread can wait synchronously for a condition using
+AIO_WAIT_WHILE().
 
 AioContext and the block layer
 ------------------------------
@@ -124,22 +115,16 @@ Block layer code must therefore expect to run in an IOThread and avoid using
 old APIs that implicitly use the main loop.  See the "How to program for
 IOThreads" above for information on how to do that.
 
-If main loop code such as a QMP function wishes to access a BlockDriverState
-it must first call aio_context_acquire(bdrv_get_aio_context(bs)) to ensure
-that callbacks in the IOThread do not run in parallel.
-
 Code running in the monitor typically needs to ensure that past
 requests from the guest are completed.  When a block device is running
 in an IOThread, the IOThread can also process requests from the guest
 (via ioeventfd).  To achieve both objects, wrap the code between
 bdrv_drained_begin() and bdrv_drained_end(), thus creating a "drained
-section".  The functions must be called between aio_context_acquire()
-and aio_context_release().  You can freely release and re-acquire the
-AioContext within a drained section.
+section".
 
-Long-running jobs (usually in the form of coroutines) are best scheduled in
-the BlockDriverState's AioContext to avoid the need to acquire/release around
-each bdrv_*() call.  The functions bdrv_add/remove_aio_context_notifier,
-or alternatively blk_add/remove_aio_context_notifier if you use BlockBackends,
-can be used to get a notification whenever bdrv_try_change_aio_context() moves a
+Long-running jobs (usually in the form of coroutines) are often scheduled in
+the BlockDriverState's AioContext.  The functions
+bdrv_add/remove_aio_context_notifier, or alternatively
+blk_add/remove_aio_context_notifier if you use BlockBackends, can be used to
+get a notification whenever bdrv_try_change_aio_context() moves a
 BlockDriverState to a different AioContext.
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 19:56:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 19:56:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644190.1004966 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Qfi-0003vJ-AI; Wed, 29 Nov 2023 19:56:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644190.1004966; Wed, 29 Nov 2023 19:56: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 1r8Qfi-0003u4-5h; Wed, 29 Nov 2023 19:56:34 +0000
Received: by outflank-mailman (input) for mailman id 644190;
 Wed, 29 Nov 2023 19:56: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8Qfg-0000tx-VY
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:32 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6357e65d-8ef1-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:56:31 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-689-YQHcEqJ8MoSrPDOZze2dXg-1; Wed,
 29 Nov 2023 14:56:28 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 94C14381A90E;
 Wed, 29 Nov 2023 19:56:27 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id EEF7B492BE0;
 Wed, 29 Nov 2023 19:56:26 +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: 6357e65d-8ef1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287789;
	h=from:from:reply-to:subject:subject: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=huM4CwyuFE14O20iKZjfHtDOU9jky102zE6IbKmjBhQ=;
	b=BCWA+zz4s288wCKPfJMCWGotA3RJ0bWR0HZ7r14gncfkyl7V5vfgCehbcD/OKIRcycmtfJ
	2jjvY/LY0MLAuwf+2A2b8xWLxVFbUvP59OjRy2XY8FyYVbfA94o+70AG7W7K95QWu4cLNx
	4GNFkDoBeHEzmosfqn05D/Jm7COY5TA=
X-MC-Unique: YQHcEqJ8MoSrPDOZze2dXg-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 10/12] scsi: remove outdated AioContext lock comment
Date: Wed, 29 Nov 2023 14:55:51 -0500
Message-ID: <20231129195553.942921-11-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.9

The SCSI subsystem no longer uses the AioContext lock. Request
processing runs exclusively in the BlockBackend's AioContext since
"scsi: only access SCSIDevice->requests from one thread" and hence the
lock is unnecessary.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 hw/scsi/scsi-disk.c | 1 -
 1 file changed, 1 deletion(-)

diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index f1bd5f5c6e..ef0d21d737 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -351,7 +351,6 @@ done:
     scsi_req_unref(&r->req);
 }
 
-/* Called with AioContext lock held */
 static void scsi_dma_complete(void *opaque, int ret)
 {
     SCSIDiskReq *r = (SCSIDiskReq *)opaque;
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 20:04:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 20:04:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644207.1004981 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Qni-00007Y-4E; Wed, 29 Nov 2023 20:04:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644207.1004981; Wed, 29 Nov 2023 20: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 1r8Qni-00007R-1M; Wed, 29 Nov 2023 20:04:50 +0000
Received: by outflank-mailman (input) for mailman id 644207;
 Wed, 29 Nov 2023 20:04: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=s3b2=HK=raptorengineering.com=sanastasio@srs-se1.protection.inumbo.net>)
 id 1r8Qng-00007L-IZ
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 20:04:48 +0000
Received: from raptorengineering.com (mail.raptorengineering.com
 [23.155.224.40]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 8b6c87b8-8ef2-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 21:04:47 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 3C2868285459;
 Wed, 29 Nov 2023 14:04:46 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10032)
 with ESMTP id rsWPAH0ZGu_4; Wed, 29 Nov 2023 14:04:45 -0600 (CST)
Received: from localhost (localhost [127.0.0.1])
 by mail.rptsys.com (Postfix) with ESMTP id 7DC068285494;
 Wed, 29 Nov 2023 14:04:45 -0600 (CST)
Received: from mail.rptsys.com ([127.0.0.1])
 by localhost (vali.starlink.edu [127.0.0.1]) (amavisd-new, port 10026)
 with ESMTP id x9Qh34KDNANS; Wed, 29 Nov 2023 14:04:45 -0600 (CST)
Received: from [10.11.0.3] (5.edge.rptsys.com [23.155.224.38])
 by mail.rptsys.com (Postfix) with ESMTPSA id E82628285459;
 Wed, 29 Nov 2023 14:04:44 -0600 (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: 8b6c87b8-8ef2-11ee-98e4-6d05b1d4d9a1
DKIM-Filter: OpenDKIM Filter v2.10.3 mail.rptsys.com 7DC068285494
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=raptorengineering.com; s=B8E824E6-0BE2-11E6-931D-288C65937AAD;
	t=1701288285; bh=9YCpgw5K1Pm5Pd6CadDcMixEq5iCcxEGQZkZfgBK1Ew=;
	h=Message-ID:Date:MIME-Version:To:From;
	b=NliLccXb8suItIRTwhXh2WKcAbqBMDaHdVUTvw3qCJkCnV7bz4zk5hRTk+f8bDB0S
	 g4kcE64RR+pblHaK0cF+bvyhEHMk/BtYe4XbFT1GhZ/0UxxrqMPOPvGdP2g0UaYOWu
	 qWzpy5tvofYACw4vWSqxXUK1jsVgeQytf2VUiOnM=
X-Virus-Scanned: amavisd-new at rptsys.com
Message-ID: <042eb87d-de49-4c5f-82e0-58a184829271@raptorengineering.com>
Date: Wed, 29 Nov 2023 14:04:44 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 12/14] xen/asm-generic: introduce stub header softirq.h
Content-Language: en-US
To: Oleksii Kurochko <oleksii.kurochko@gmail.com>,
 xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.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: <cover.1701093907.git.oleksii.kurochko@gmail.com>
 <090991be61252cabefc06da19597e3a86a4cd1da.1701093907.git.oleksii.kurochko@gmail.com>
From: Shawn Anastasio <sanastasio@raptorengineering.com>
In-Reply-To: <090991be61252cabefc06da19597e3a86a4cd1da.1701093907.git.oleksii.kurochko@gmail.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Oleksii,

On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> <asm/softirq.h> is common between Arm, PPC and RISC-V so it is
> moved to asm-generic.
> 
> Drop Arm and PPC's softirq.h and use asm-generic version instead.
> 

Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>

Thanks,
Shawn


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 20:21:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 20:21:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644221.1004992 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8R3q-0006FR-Ea; Wed, 29 Nov 2023 20:21:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644221.1004992; Wed, 29 Nov 2023 20: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 1r8R3q-0006FK-9j; Wed, 29 Nov 2023 20:21:30 +0000
Received: by outflank-mailman (input) for mailman id 644221;
 Wed, 29 Nov 2023 20:21: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8Qfm-0000tx-M3
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:38 +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 67142359-8ef1-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:56:37 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-402-wzqmuO4bOQ6Hmrn3niRbLQ-1; Wed, 29 Nov 2023 14:56:32 -0500
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com
 [10.11.54.3])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5AFAE805143;
 Wed, 29 Nov 2023 19:56:30 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 9B3A01121308;
 Wed, 29 Nov 2023 19:56: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: 67142359-8ef1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287796;
	h=from:from:reply-to:subject:subject: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=83h9xdcT8cxTipojEBiD6nbiYOvpd9inCN42JPs/T+c=;
	b=C4pElkROh3xSpBig4iTpwCo6SogR1sQ8RQp31Ax/tW6R4+GUSArlhuSHAbfFBhbC71NDWf
	UKUb+TD01UL0zJTGLjELItBqs8eiaE6/0kQGNiMzRqCfIvYg/6aHKTAPr7x4m5u6ARJlVi
	zuc3qcAn7s1qSU0to7Q14nDEB29lu10=
X-MC-Unique: wzqmuO4bOQ6Hmrn3niRbLQ-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 11/12] job: remove outdated AioContext locking comments
Date: Wed, 29 Nov 2023 14:55:52 -0500
Message-ID: <20231129195553.942921-12-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3

The AioContext lock no longer exists.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/qemu/job.h | 20 --------------------
 1 file changed, 20 deletions(-)

diff --git a/include/qemu/job.h b/include/qemu/job.h
index e502787dd8..9ea98b5927 100644
--- a/include/qemu/job.h
+++ b/include/qemu/job.h
@@ -67,8 +67,6 @@ typedef struct Job {
 
     /**
      * The completion function that will be called when the job completes.
-     * Called with AioContext lock held, since many callback implementations
-     * use bdrv_* functions that require to hold the lock.
      */
     BlockCompletionFunc *cb;
 
@@ -264,9 +262,6 @@ struct JobDriver {
      *
      * This callback will not be invoked if the job has already failed.
      * If it fails, abort and then clean will be called.
-     *
-     * Called with AioContext lock held, since many callbacs implementations
-     * use bdrv_* functions that require to hold the lock.
      */
     int (*prepare)(Job *job);
 
@@ -277,9 +272,6 @@ struct JobDriver {
      *
      * All jobs will complete with a call to either .commit() or .abort() but
      * never both.
-     *
-     * Called with AioContext lock held, since many callback implementations
-     * use bdrv_* functions that require to hold the lock.
      */
     void (*commit)(Job *job);
 
@@ -290,9 +282,6 @@ struct JobDriver {
      *
      * All jobs will complete with a call to either .commit() or .abort() but
      * never both.
-     *
-     * Called with AioContext lock held, since many callback implementations
-     * use bdrv_* functions that require to hold the lock.
      */
     void (*abort)(Job *job);
 
@@ -301,9 +290,6 @@ struct JobDriver {
      * .commit() or .abort(). Regardless of which callback is invoked after
      * completion, .clean() will always be called, even if the job does not
      * belong to a transaction group.
-     *
-     * Called with AioContext lock held, since many callbacs implementations
-     * use bdrv_* functions that require to hold the lock.
      */
     void (*clean)(Job *job);
 
@@ -318,17 +304,12 @@ struct JobDriver {
      * READY).
      * (If the callback is NULL, the job is assumed to terminate
      * without I/O.)
-     *
-     * Called with AioContext lock held, since many callback implementations
-     * use bdrv_* functions that require to hold the lock.
      */
     bool (*cancel)(Job *job, bool force);
 
 
     /**
      * Called when the job is freed.
-     * Called with AioContext lock held, since many callback implementations
-     * use bdrv_* functions that require to hold the lock.
      */
     void (*free)(Job *job);
 };
@@ -424,7 +405,6 @@ void job_ref_locked(Job *job);
  * Release a reference that was previously acquired with job_ref_locked() or
  * job_create(). If it's the last reference to the object, it will be freed.
  *
- * Takes AioContext lock internally to invoke a job->driver callback.
  * Called with job lock held.
  */
 void job_unref_locked(Job *job);
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 20:23:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 20:23:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644227.1005001 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8R5S-00084U-NJ; Wed, 29 Nov 2023 20:23:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644227.1005001; Wed, 29 Nov 2023 20:23: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 1r8R5S-00084N-JZ; Wed, 29 Nov 2023 20:23:10 +0000
Received: by outflank-mailman (input) for mailman id 644227;
 Wed, 29 Nov 2023 20:23: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8Qfq-0000tx-L6
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 19:56:42 +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 6937fb68-8ef1-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 20:56:40 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-550-RuQccRyZNLa7YHgHxw2Ysw-1; Wed, 29 Nov 2023 14:56:34 -0500
Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com
 [10.11.54.3])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0C409101A54C;
 Wed, 29 Nov 2023 19:56:33 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 17D701121308;
 Wed, 29 Nov 2023 19:56: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: 6937fb68-8ef1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701287799;
	h=from:from:reply-to:subject:subject: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=/coadPn+sc9xiWSzcANbfgrPP5rjPXDBWuHi5ymh2L8=;
	b=fk1TST1/zS3M+iZkr7k5t8MGj4hGyXCz7ZeT+nd+CkbRLWNOre3rn/CFRe5SxcBuG1vH+T
	psZ2b2cmi4tgaXn+ksB5a6kG4LM5YbJ1fOmNUKTdPIVArwpcP0GLTwFcGoydwwHKNYBUD9
	R06ZGlorb0/1L8BARRYI9iKsPep70ts=
X-MC-Unique: RuQccRyZNLa7YHgHxw2Ysw-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>,
	Paul Durrant <paul@xen.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alberto Garcia <berto@igalia.com>,
	Emanuele Giuseppe Esposito <eesposit@redhat.com>,
	John Snow <jsnow@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	Eric Blake <eblake@redhat.com>,
	Wen Congyang <wencongyang2@huawei.com>,
	<qemu-block@nongnu.org>,
	xen-devel@lists.xenproject.org,
	Coiby Xu <Coiby.Xu@gmail.com>,
	Stefan Hajnoczi <stefanha@redhat.com>,
	Eduardo Habkost <eduardo@habkost.net>,
	Xie Changlong <xiechanglong.d@gmail.com>,
	Ari Sundholm <ari@tuxera.com>,
	Li Zhijian <lizhijian@fujitsu.com>,
	Cleber Rosa <crosa@redhat.com>,
	Juan Quintela <quintela@redhat.com>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	Zhang Chen <chen.zhang@intel.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Leonardo Bras <leobras@redhat.com>,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	Fam Zheng <fam@euphon.net>,
	Fabiano Rosas <farosas@suse.de>
Subject: [PATCH 12/12] block: remove outdated AioContext locking comments
Date: Wed, 29 Nov 2023 14:55:53 -0500
Message-ID: <20231129195553.942921-13-stefanha@redhat.com>
In-Reply-To: <20231129195553.942921-1-stefanha@redhat.com>
References: <20231129195553.942921-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3

The AioContext lock no longer exists.

There is one noteworthy change:

  - * More specifically, these functions use BDRV_POLL_WHILE(bs), which
  - * requires the caller to be either in the main thread and hold
  - * the BlockdriverState (bs) AioContext lock, or directly in the
  - * home thread that runs the bs AioContext. Calling them from
  - * another thread in another AioContext would cause deadlocks.
  + * More specifically, these functions use BDRV_POLL_WHILE(bs), which requires
  + * the caller to be either in the main thread or directly in the home thread
  + * that runs the bs AioContext. Calling them from another thread in another
  + * AioContext would cause deadlocks.

I am not sure whether deadlocks are still possible. Maybe they have just
moved to the fine-grained locks that have replaced the AioContext. Since
I am not sure if the deadlocks are gone, I have kept the substance
unchanged and just removed mention of the AioContext.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/block/block-common.h         |  3 --
 include/block/block-io.h             |  9 ++--
 include/block/block_int-common.h     |  2 -
 block.c                              | 73 ++++++----------------------
 block/block-backend.c                |  8 ---
 block/export/vhost-user-blk-server.c |  4 --
 tests/qemu-iotests/202               |  2 +-
 tests/qemu-iotests/203               |  3 +-
 8 files changed, 22 insertions(+), 82 deletions(-)

diff --git a/include/block/block-common.h b/include/block/block-common.h
index d7599564db..a846023a09 100644
--- a/include/block/block-common.h
+++ b/include/block/block-common.h
@@ -70,9 +70,6 @@
  * automatically takes the graph rdlock when calling the wrapped function. In
  * the same way, no_co_wrapper_bdrv_wrlock functions automatically take the
  * graph wrlock.
- *
- * If the first parameter of the function is a BlockDriverState, BdrvChild or
- * BlockBackend pointer, the AioContext lock for it is taken in the wrapper.
  */
 #define no_co_wrapper
 #define no_co_wrapper_bdrv_rdlock
diff --git a/include/block/block-io.h b/include/block/block-io.h
index 8eb39a858b..b49e0537dd 100644
--- a/include/block/block-io.h
+++ b/include/block/block-io.h
@@ -332,11 +332,10 @@ bdrv_co_copy_range(BdrvChild *src, int64_t src_offset,
  * "I/O or GS" API functions. These functions can run without
  * the BQL, but only in one specific iothread/main loop.
  *
- * More specifically, these functions use BDRV_POLL_WHILE(bs), which
- * requires the caller to be either in the main thread and hold
- * the BlockdriverState (bs) AioContext lock, or directly in the
- * home thread that runs the bs AioContext. Calling them from
- * another thread in another AioContext would cause deadlocks.
+ * More specifically, these functions use BDRV_POLL_WHILE(bs), which requires
+ * the caller to be either in the main thread or directly in the home thread
+ * that runs the bs AioContext. Calling them from another thread in another
+ * AioContext would cause deadlocks.
  *
  * Therefore, these functions are not proper I/O, because they
  * can't run in *any* iothreads, but only in a specific one.
diff --git a/include/block/block_int-common.h b/include/block/block_int-common.h
index 4e31d161c5..151279d481 100644
--- a/include/block/block_int-common.h
+++ b/include/block/block_int-common.h
@@ -1192,8 +1192,6 @@ struct BlockDriverState {
     /* The error object in use for blocking operations on backing_hd */
     Error *backing_blocker;
 
-    /* Protected by AioContext lock */
-
     /*
      * If we are reading a disk image, give its size in sectors.
      * Generally read-only; it is written to by load_snapshot and
diff --git a/block.c b/block.c
index 91ace5d2d5..e773584dfd 100644
--- a/block.c
+++ b/block.c
@@ -1616,11 +1616,6 @@ out:
     g_free(gen_node_name);
 }
 
-/*
- * The caller must always hold @bs AioContext lock, because this function calls
- * bdrv_refresh_total_sectors() which polls when called from non-coroutine
- * context.
- */
 static int no_coroutine_fn GRAPH_UNLOCKED
 bdrv_open_driver(BlockDriverState *bs, BlockDriver *drv, const char *node_name,
                  QDict *options, int open_flags, Error **errp)
@@ -2901,7 +2896,7 @@ uint64_t bdrv_qapi_perm_to_blk_perm(BlockPermission qapi_perm)
  * Replaces the node that a BdrvChild points to without updating permissions.
  *
  * If @new_bs is non-NULL, the parent of @child must already be drained through
- * @child and the caller must hold the AioContext lock for @new_bs.
+ * @child.
  */
 static void GRAPH_WRLOCK
 bdrv_replace_child_noperm(BdrvChild *child, BlockDriverState *new_bs)
@@ -3041,9 +3036,8 @@ static TransactionActionDrv bdrv_attach_child_common_drv = {
  *
  * Returns new created child.
  *
- * The caller must hold the AioContext lock for @child_bs. Both @parent_bs and
- * @child_bs can move to a different AioContext in this function. Callers must
- * make sure that their AioContext locking is still correct after this.
+ * Both @parent_bs and @child_bs can move to a different AioContext in this
+ * function.
  */
 static BdrvChild * GRAPH_WRLOCK
 bdrv_attach_child_common(BlockDriverState *child_bs,
@@ -3142,9 +3136,8 @@ bdrv_attach_child_common(BlockDriverState *child_bs,
 /*
  * Function doesn't update permissions, caller is responsible for this.
  *
- * The caller must hold the AioContext lock for @child_bs. Both @parent_bs and
- * @child_bs can move to a different AioContext in this function. Callers must
- * make sure that their AioContext locking is still correct after this.
+ * Both @parent_bs and @child_bs can move to a different AioContext in this
+ * function.
  *
  * After calling this function, the transaction @tran may only be completed
  * while holding a writer lock for the graph.
@@ -3184,9 +3177,6 @@ bdrv_attach_child_noperm(BlockDriverState *parent_bs,
  *
  * On failure NULL is returned, errp is set and the reference to
  * child_bs is also dropped.
- *
- * The caller must hold the AioContext lock @child_bs, but not that of @ctx
- * (unless @child_bs is already in @ctx).
  */
 BdrvChild *bdrv_root_attach_child(BlockDriverState *child_bs,
                                   const char *child_name,
@@ -3226,9 +3216,6 @@ out:
  *
  * On failure NULL is returned, errp is set and the reference to
  * child_bs is also dropped.
- *
- * If @parent_bs and @child_bs are in different AioContexts, the caller must
- * hold the AioContext lock for @child_bs, but not for @parent_bs.
  */
 BdrvChild *bdrv_attach_child(BlockDriverState *parent_bs,
                              BlockDriverState *child_bs,
@@ -3418,9 +3405,8 @@ static BdrvChildRole bdrv_backing_role(BlockDriverState *bs)
  *
  * Function doesn't update permissions, caller is responsible for this.
  *
- * The caller must hold the AioContext lock for @child_bs. Both @parent_bs and
- * @child_bs can move to a different AioContext in this function. Callers must
- * make sure that their AioContext locking is still correct after this.
+ * Both @parent_bs and @child_bs can move to a different AioContext in this
+ * function.
  *
  * After calling this function, the transaction @tran may only be completed
  * while holding a writer lock for the graph.
@@ -3513,9 +3499,8 @@ out:
 }
 
 /*
- * The caller must hold the AioContext lock for @backing_hd. Both @bs and
- * @backing_hd can move to a different AioContext in this function. Callers must
- * make sure that their AioContext locking is still correct after this.
+ * Both @bs and @backing_hd can move to a different AioContext in this
+ * function.
  *
  * If a backing child is already present (i.e. we're detaching a node), that
  * child node must be drained.
@@ -3574,8 +3559,6 @@ int bdrv_set_backing_hd(BlockDriverState *bs, BlockDriverState *backing_hd,
  * itself, all options starting with "${bdref_key}." are considered part of the
  * BlockdevRef.
  *
- * The caller must hold the main AioContext lock.
- *
  * TODO Can this be unified with bdrv_open_image()?
  */
 int bdrv_open_backing_file(BlockDriverState *bs, QDict *parent_options,
@@ -3745,9 +3728,7 @@ done:
  *
  * The BlockdevRef will be removed from the options QDict.
  *
- * The caller must hold the lock of the main AioContext and no other AioContext.
- * @parent can move to a different AioContext in this function. Callers must
- * make sure that their AioContext locking is still correct after this.
+ * @parent can move to a different AioContext in this function.
  */
 BdrvChild *bdrv_open_child(const char *filename,
                            QDict *options, const char *bdref_key,
@@ -3778,9 +3759,7 @@ BdrvChild *bdrv_open_child(const char *filename,
 /*
  * Wrapper on bdrv_open_child() for most popular case: open primary child of bs.
  *
- * The caller must hold the lock of the main AioContext and no other AioContext.
- * @parent can move to a different AioContext in this function. Callers must
- * make sure that their AioContext locking is still correct after this.
+ * @parent can move to a different AioContext in this function.
  */
 int bdrv_open_file_child(const char *filename,
                          QDict *options, const char *bdref_key,
@@ -3923,8 +3902,6 @@ out:
  * The reference parameter may be used to specify an existing block device which
  * should be opened. If specified, neither options nor a filename may be given,
  * nor can an existing BDS be reused (that is, *pbs has to be NULL).
- *
- * The caller must always hold the main AioContext lock.
  */
 static BlockDriverState * no_coroutine_fn
 bdrv_open_inherit(const char *filename, const char *reference, QDict *options,
@@ -4217,7 +4194,6 @@ close_and_fail:
     return NULL;
 }
 
-/* The caller must always hold the main AioContext lock. */
 BlockDriverState *bdrv_open(const char *filename, const char *reference,
                             QDict *options, int flags, Error **errp)
 {
@@ -4665,10 +4641,7 @@ int bdrv_reopen_set_read_only(BlockDriverState *bs, bool read_only,
  *
  * Return 0 on success, otherwise return < 0 and set @errp.
  *
- * The caller must hold the AioContext lock of @reopen_state->bs.
  * @reopen_state->bs can move to a different AioContext in this function.
- * Callers must make sure that their AioContext locking is still correct after
- * this.
  */
 static int GRAPH_UNLOCKED
 bdrv_reopen_parse_file_or_backing(BDRVReopenState *reopen_state,
@@ -4801,8 +4774,6 @@ out_rdlock:
  * It is the responsibility of the caller to then call the abort() or
  * commit() for any other BDS that have been left in a prepare() state
  *
- * The caller must hold the AioContext lock of @reopen_state->bs.
- *
  * After calling this function, the transaction @change_child_tran may only be
  * completed while holding a writer lock for the graph.
  */
@@ -5437,8 +5408,6 @@ int bdrv_drop_filter(BlockDriverState *bs, Error **errp)
  * child.
  *
  * This function does not create any image files.
- *
- * The caller must hold the AioContext lock for @bs_top.
  */
 int bdrv_append(BlockDriverState *bs_new, BlockDriverState *bs_top,
                 Error **errp)
@@ -5545,9 +5514,8 @@ static void bdrv_delete(BlockDriverState *bs)
  * after the call (even on failure), so if the caller intends to reuse the
  * dictionary, it needs to use qobject_ref() before calling bdrv_open.
  *
- * The caller holds the AioContext lock for @bs. It must make sure that @bs
- * stays in the same AioContext, i.e. @options must not refer to nodes in a
- * different AioContext.
+ * The caller must make sure that @bs stays in the same AioContext, i.e.
+ * @options must not refer to nodes in a different AioContext.
  */
 BlockDriverState *bdrv_insert_node(BlockDriverState *bs, QDict *options,
                                    int flags, Error **errp)
@@ -7575,10 +7543,6 @@ static TransactionActionDrv set_aio_context = {
  *
  * Must be called from the main AioContext.
  *
- * The caller must own the AioContext lock for the old AioContext of bs, but it
- * must not own the AioContext lock for new_context (unless new_context is the
- * same as the current context of bs).
- *
  * @visited will accumulate all visited BdrvChild objects. The caller is
  * responsible for freeing the list afterwards.
  */
@@ -7631,13 +7595,6 @@ static bool bdrv_change_aio_context(BlockDriverState *bs, AioContext *ctx,
  *
  * If ignore_child is not NULL, that child (and its subgraph) will not
  * be touched.
- *
- * This function still requires the caller to take the bs current
- * AioContext lock, otherwise draining will fail since AIO_WAIT_WHILE
- * assumes the lock is always held if bs is in another AioContext.
- * For the same reason, it temporarily also holds the new AioContext, since
- * bdrv_drained_end calls BDRV_POLL_WHILE that assumes the lock is taken too.
- * Therefore the new AioContext lock must not be taken by the caller.
  */
 int bdrv_try_change_aio_context(BlockDriverState *bs, AioContext *ctx,
                                 BdrvChild *ignore_child, Error **errp)
@@ -7663,8 +7620,8 @@ int bdrv_try_change_aio_context(BlockDriverState *bs, AioContext *ctx,
 
     /*
      * Linear phase: go through all callbacks collected in the transaction.
-     * Run all callbacks collected in the recursion to switch all nodes
-     * AioContext lock (transaction commit), or undo all changes done in the
+     * Run all callbacks collected in the recursion to switch every node's
+     * AioContext (transaction commit), or undo all changes done in the
      * recursion (transaction abort).
      */
 
diff --git a/block/block-backend.c b/block/block-backend.c
index f412bed274..209eb07528 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -390,8 +390,6 @@ BlockBackend *blk_new(AioContext *ctx, uint64_t perm, uint64_t shared_perm)
  * Both sets of permissions can be changed later using blk_set_perm().
  *
  * Return the new BlockBackend on success, null on failure.
- *
- * Callers must hold the AioContext lock of @bs.
  */
 BlockBackend *blk_new_with_bs(BlockDriverState *bs, uint64_t perm,
                               uint64_t shared_perm, Error **errp)
@@ -416,8 +414,6 @@ BlockBackend *blk_new_with_bs(BlockDriverState *bs, uint64_t perm,
  * Just as with bdrv_open(), after having called this function the reference to
  * @options belongs to the block layer (even on failure).
  *
- * Called without holding an AioContext lock.
- *
  * TODO: Remove @filename and @flags; it should be possible to specify a whole
  * BDS tree just by specifying the @options QDict (or @reference,
  * alternatively). At the time of adding this function, this is not possible,
@@ -872,8 +868,6 @@ BlockBackend *blk_by_public(BlockBackendPublic *public)
 
 /*
  * Disassociates the currently associated BlockDriverState from @blk.
- *
- * The caller must hold the AioContext lock for the BlockBackend.
  */
 void blk_remove_bs(BlockBackend *blk)
 {
@@ -915,8 +909,6 @@ void blk_remove_bs(BlockBackend *blk)
 
 /*
  * Associates a new BlockDriverState with @blk.
- *
- * Callers must hold the AioContext lock of @bs.
  */
 int blk_insert_bs(BlockBackend *blk, BlockDriverState *bs, Error **errp)
 {
diff --git a/block/export/vhost-user-blk-server.c b/block/export/vhost-user-blk-server.c
index 16f48388d3..50c358e8cd 100644
--- a/block/export/vhost-user-blk-server.c
+++ b/block/export/vhost-user-blk-server.c
@@ -278,7 +278,6 @@ static void vu_blk_exp_resize(void *opaque)
     vu_config_change_msg(&vexp->vu_server.vu_dev);
 }
 
-/* Called with vexp->export.ctx acquired */
 static void vu_blk_drained_begin(void *opaque)
 {
     VuBlkExport *vexp = opaque;
@@ -287,7 +286,6 @@ static void vu_blk_drained_begin(void *opaque)
     vhost_user_server_detach_aio_context(&vexp->vu_server);
 }
 
-/* Called with vexp->export.blk AioContext acquired */
 static void vu_blk_drained_end(void *opaque)
 {
     VuBlkExport *vexp = opaque;
@@ -300,8 +298,6 @@ static void vu_blk_drained_end(void *opaque)
  * Ensures that bdrv_drained_begin() waits until in-flight requests complete
  * and the server->co_trip coroutine has terminated. It will be restarted in
  * vhost_user_server_attach_aio_context().
- *
- * Called with vexp->export.ctx acquired.
  */
 static bool vu_blk_drained_poll(void *opaque)
 {
diff --git a/tests/qemu-iotests/202 b/tests/qemu-iotests/202
index b784dcd791..13304242e5 100755
--- a/tests/qemu-iotests/202
+++ b/tests/qemu-iotests/202
@@ -21,7 +21,7 @@
 # Check that QMP 'transaction' blockdev-snapshot-sync with multiple drives on a
 # single IOThread completes successfully.  This particular command triggered a
 # hang due to recursive AioContext locking and BDRV_POLL_WHILE().  Protect
-# against regressions.
+# against regressions even though the AioContext lock no longer exists.
 
 import iotests
 
diff --git a/tests/qemu-iotests/203 b/tests/qemu-iotests/203
index ab80fd0e44..1ba878522b 100755
--- a/tests/qemu-iotests/203
+++ b/tests/qemu-iotests/203
@@ -21,7 +21,8 @@
 # Check that QMP 'migrate' with multiple drives on a single IOThread completes
 # successfully.  This particular command triggered a hang in the source QEMU
 # process due to recursive AioContext locking in bdrv_invalidate_all() and
-# BDRV_POLL_WHILE().
+# BDRV_POLL_WHILE().  Protect against regressions even though the AioContext
+# lock no longer exists.
 
 import iotests
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 20:28:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 20:28:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644232.1005012 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8RAh-0003VH-HJ; Wed, 29 Nov 2023 20:28:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644232.1005012; Wed, 29 Nov 2023 20:28: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 1r8RAh-0003VA-Cr; Wed, 29 Nov 2023 20:28:35 +0000
Received: by outflank-mailman (input) for mailman id 644232;
 Wed, 29 Nov 2023 20:28: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=SKRL=HK=dingwall.me.uk=james@srs-se1.protection.inumbo.net>)
 id 1r8RAg-0003TZ-86
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 20:28:34 +0000
Received: from smarthost01c.sbp.mail.zen.net.uk
 (smarthost01c.sbp.mail.zen.net.uk [212.23.1.5])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id db6b630b-8ef5-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 21:28:30 +0100 (CET)
Received: from [217.155.64.189] (helo=mail0.xen.dingwall.me.uk)
 by smarthost01c.sbp.mail.zen.net.uk with esmtpsa (TLS1.0) tls
 TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (Exim 4.95)
 (envelope-from <james@dingwall.me.uk>) id 1r8RAa-000YKh-G2;
 Wed, 29 Nov 2023 20:28:28 +0000
Received: from localhost (localhost [IPv6:::1])
 by mail0.xen.dingwall.me.uk (Postfix) with ESMTP id 6C8D88BF82D;
 Wed, 29 Nov 2023 20:28:27 +0000 (GMT)
Received: from mail0.xen.dingwall.me.uk ([IPv6:::1])
 by localhost (mail0.xen.dingwall.me.uk [IPv6:::1]) (amavisd-new, port 10024)
 with ESMTP id 4Cluhk5d5xI6; Wed, 29 Nov 2023 20:28:27 +0000 (GMT)
Received: from ghoul.dingwall.me.uk (ghoul.dingwall.me.uk
 [IPv6:2a02:8010:698e:302::c0a8:1c8])
 by dingwall.me.uk (Postfix) with ESMTP id 990228BF05F;
 Wed, 29 Nov 2023 13:18:25 +0000 (GMT)
Received: by ghoul.dingwall.me.uk (Postfix, from userid 1000)
 id 8C00913C; Wed, 29 Nov 2023 13:18:25 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: db6b630b-8ef5-11ee-98e4-6d05b1d4d9a1
X-Virus-Scanned: Debian amavisd-new at dingwall.me.uk
Date: Wed, 29 Nov 2023 13:18:25 +0000
From: James Dingwall <james@dingwall.me.uk>
To: Roger Pau =?iso-8859-1?Q?Monn=E9?= <roger.pau@citrix.com>
Cc: James Dingwall <james-xen@dingwall.me.uk>,
	Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org,
	Andrew Cooper <andrew.cooper3@citrix.com>
Subject: Re: xen 4.15.5: msr_relaxed required for MSR 0x1a2
Message-ID: <ZWc6IWFAjPB1tA4o@dingwall.me.uk>
References: <ZVZAO/W0m/h+IPbi@dingwall.me.uk>
 <aa13be5e-d90c-4074-a16c-d3b051da754d@citrix.com>
 <ZVcv7259slJF4wBh@dingwall.me.uk>
 <2bd9028d-bd3d-435f-8788-38f3460ea188@suse.com>
 <ZVsYeB7DG/F2EdM7@dingwall.me.uk>
 <ZVsltWxNzrlGZNV0@macbook.local>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <ZVsltWxNzrlGZNV0@macbook.local>
X-Originating-smarthost01c-IP: [217.155.64.189]
Feedback-ID: 217.155.64.189

On Mon, Nov 20, 2023 at 10:24:05AM +0100, Roger Pau Monn wrote:
> On Mon, Nov 20, 2023 at 08:27:36AM +0000, James Dingwall wrote:
> > On Fri, Nov 17, 2023 at 10:56:30AM +0100, Jan Beulich wrote:
> > > On 17.11.2023 10:18, James Dingwall wrote:
> > > > On Thu, Nov 16, 2023 at 04:32:47PM +0000, Andrew Cooper wrote:
> > > >> On 16/11/2023 4:15 pm, James Dingwall wrote:
> > > >>> Hi,
> > > >>>
> > > >>> Per the msr_relaxed documentation:
> > > >>>
> > > >>>    "If using this option is necessary to fix an issue, please report a bug."
> > > >>>
> > > >>> After recently upgrading an environment from Xen 4.14.5 to Xen 4.15.5 we
> > > >>> started experiencing a BSOD at boot with one of our Windows guests.  We found
> > > >>> that enabling `msr_relaxed = 1` in the guest configuration has resolved the
> > > >>> problem.  With a debug build of Xen and `hvm_debug=2048` on the command line
> > > >>> the following messages were caught as the BSOD happened:
> > > >>>
> > > >>> (XEN) [HVM:11.0] <vmx_msr_read_intercept> ecx=0x1a2
> > > >>> (XEN) vmx.c:3298:d11v0 RDMSR 0x000001a2 unimplemented
> > > >>> (XEN) d11v0 VIRIDIAN CRASH: 1e ffffffffc0000096 fffff80b8de81eb5 0 0
> > > >>>
> > > >>> I found that MSR 0x1a2 is MSR_TEMPERATURE_TARGET and from that this patch
> > > >>> series from last month:
> > > >>>
> > > >>> https://patchwork.kernel.org/project/xen-devel/list/?series=796550
> > > >>>
> > > >>> Picking out just a small part of that fixes the problem for us. Although the
> > > >>> the patch is against 4.15.5 I think it would be relevant to more recent
> > > >>> releases too.
> > > >>
> > > >> Which version of Windows, and what hardware?
> > > >>
> > > >> The Viridian Crash isn't about the RDMSR itself - it's presumably
> > > >> collateral damage shortly thereafter.
> > > >>
> > > >> Does filling in 0 for that MSR also resolve the issue? It's model
> > > >> specific and we absolutely cannot pass it through from real hardware
> > > >> like that.
> > > >>
> > > > 
> > > > Hi Andrew,
> > > > 
> > > > Thanks for your response.  The guest is running Windows 10 and the crash
> > > > happens in a proprietary hardware driver.  A little bit of knowledge as
> > > > they say was enough to stop the crash but I don't understand the impact
> > > > of what I've actually done...
> > > > 
> > > > To rework the patch I'd need a bit of guidance, if I understand your
> > > > suggestion I set the MSR to 0 with this change in emul-priv-op.c:
> > > 
> > > For the purpose of the experiment suggested by Andrew ...
> > > 
> > > > diff --git a/xen/arch/x86/pv/emul-priv-op.c b/xen/arch/x86/pv/emul-priv-op.c
> > > > index ed97b1d6fcc..66f5e417df6 100644
> > > > --- a/xen/arch/x86/pv/emul-priv-op.c
> > > > +++ b/xen/arch/x86/pv/emul-priv-op.c
> > > > @@ -976,6 +976,10 @@ static int read_msr(unsigned int reg, uint64_t *val,
> > > >          *val = 0;
> > > >          return X86EMUL_OKAY;
> > > >  
> > > > +    case MSR_TEMPERATURE_TARGET:
> > > > +        *val = 0;
> > > > +        return X86EMUL_OKAY;
> > > > +
> > > >      case MSR_P6_PERFCTR(0) ... MSR_P6_PERFCTR(7):
> > > >      case MSR_P6_EVNTSEL(0) ... MSR_P6_EVNTSEL(3):
> > > >      case MSR_CORE_PERF_FIXED_CTR0 ... MSR_CORE_PERF_FIXED_CTR2:
> > > 
> > > ... you wouldn't need this (affects PV domains only), and ...
> > > 
> > > > and this in vmx.c:
> > > > 
> > > > diff --git a/xen/arch/x86/hvm/vmx/vmx.c b/xen/arch/x86/hvm/vmx/vmx.c
> > > > index 54023a92587..bbf37b7f272 100644
> > > > --- a/xen/arch/x86/hvm/vmx/vmx.c
> > > > +++ b/xen/arch/x86/hvm/vmx/vmx.c
> > > > @@ -3259,6 +3259,11 @@ static int vmx_msr_read_intercept(unsigned int msr, uint64_t *msr_content)
> > > >          if ( !nvmx_msr_read_intercept(msr, msr_content) )
> > > >              goto gp_fault;
> > > >          break;
> > > > +
> > > > +    case MSR_TEMPERATURE_TARGET:
> > > > +        *msr_content = 0;
> > > > +        break;
> 
> I think the preference now is to add such handling directly in
> guest_rdmsr()?  Protected with a:
> 
> if ( !(cp->x86_vendor & (X86_VENDOR_INTEL)) )
>     goto gp_fault;
> 

It is possible we can patch the the driver which is triggering the BSOD but it
seems unlileky we'd be able to roll that out in advance of doing the Xen
upgrade for dom0.  If the problem we are encountering is specific to our
situation rather than a general case issue then we can easily carry a patch
for that.

Thanks for the help,
James


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:01:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:01:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644236.1005021 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Rge-0006rr-W7; Wed, 29 Nov 2023 21:01:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644236.1005021; Wed, 29 Nov 2023 21:01: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 1r8Rge-0006rk-TO; Wed, 29 Nov 2023 21:01:36 +0000
Received: by outflank-mailman (input) for mailman id 644236;
 Wed, 29 Nov 2023 21:01: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 1r8Rgd-0006ra-P9; Wed, 29 Nov 2023 21:01: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 1r8Rgd-0004cZ-F7; Wed, 29 Nov 2023 21:01: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 1r8Rgd-0000OT-3v; Wed, 29 Nov 2023 21:01:35 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8Rgd-0004ph-3N; Wed, 29 Nov 2023 21:01: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=5zuyPra+Ja/RHmrjBV6REyI21TR0aTHa+ANPiq6clAk=; b=HfiioFcZjxdIih27NIAUKy7Jrv
	FcIy1IgCmMnOmcXgEfUGxogtu37dfV0qzmiJ2C2085qyaKVOxBPC/gPC+T7fRV14zygd7V3b3R//W
	nV8Px57wCfAITGdJtkjfbXo2m2U0EDHzf5gSoLYeoXeKDbgo4qYup8sMDqmH/zDRzvHo=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183939-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable-smoke test] 183939: tolerable all pass - PUSHED
X-Osstest-Failures:
    xen-unstable-smoke:test-amd64-amd64-libvirt:migrate-support-check: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=f0dd0cd9598f22ee5509bb5d1466e4821834c4ba
X-Osstest-Versions-That:
    xen=902377b690f42ddf44ae91c4b0751d597f1cd694
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 21:01:35 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 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-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                  f0dd0cd9598f22ee5509bb5d1466e4821834c4ba
baseline version:
 xen                  902377b690f42ddf44ae91c4b0751d597f1cd694

Last test of basis   183934  2023-11-29 11:04:12 Z    0 days
Testing same since   183939  2023-11-29 18:02:12 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Julien Grall <jgrall@amazon.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>

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


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

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

Explanation of these reports, and of osstest in general, is at
    http://xenbits.xen.org/gitweb/?p=osstest.git;a=blob;f=README.email;hb=master
    http://xenbits.xen.org/gitweb/?p=osstest.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
   902377b690..f0dd0cd959  f0dd0cd9598f22ee5509bb5d1466e4821834c4ba -> smoke


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:07:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:07:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644241.1005030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8RmG-0007yW-Jz; Wed, 29 Nov 2023 21:07:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644241.1005030; Wed, 29 Nov 2023 21: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 1r8RmG-0007yP-HP; Wed, 29 Nov 2023 21:07:24 +0000
Received: by outflank-mailman (input) for mailman id 644241;
 Wed, 29 Nov 2023 21:07: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=L0pV=HK=linux.microsoft.com=madvenka@srs-se1.protection.inumbo.net>)
 id 1r8RmF-0007yJ-Cy
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 21:07:23 +0000
Received: from linux.microsoft.com (linux.microsoft.com [13.77.154.182])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTP
 id 48d50af3-8efb-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 22:07:20 +0100 (CET)
Received: from [192.168.4.26] (unknown [47.186.13.91])
 by linux.microsoft.com (Postfix) with ESMTPSA id 9F48020B74C0;
 Wed, 29 Nov 2023 13:07:16 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 48d50af3-8efb-11ee-9b0f-b553b5be7939
DKIM-Filter: OpenDKIM Filter v2.11.0 linux.microsoft.com 9F48020B74C0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.microsoft.com;
	s=default; t=1701292039;
	bh=g0AY9rrkukTGXOLxBKqEJb1vaakkKHoCObfBMRMkeqo=;
	h=Date:Subject:To:Cc:References:From:In-Reply-To:From;
	b=aWfFSrWef7i6zVJabhgmnM4JnmCqk6BrvDkrAAbiBIkBnHQPuwTfObHozAznpz4Bn
	 67aS84GZ/hKOvAy61RmoxVipr08LJ9KgYhyYxV9Zfc+gr9QD2ZTY7JBJ6F92OXI8p8
	 9mn/NAs3EoxT5SKa/o4LBX1a/ygyKoz+jPGoJrpY=
Message-ID: <ea63ae4e-e8ea-4fbf-9383-499e14de2f5e@linux.microsoft.com>
Date: Wed, 29 Nov 2023 15:07:15 -0600
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC PATCH v2 17/19] heki: x86: Update permissions counters
 during text patching
Content-Language: en-US
To: Peter Zijlstra <peterz@infradead.org>
Cc: =?UTF-8?Q?Micka=C3=ABl_Sala=C3=BCn?= <mic@digikod.net>,
 Borislav Petkov <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>,
 "H . Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
 Kees Cook <keescook@chromium.org>, Paolo Bonzini <pbonzini@redhat.com>,
 Sean Christopherson <seanjc@google.com>, Thomas Gleixner
 <tglx@linutronix.de>, Vitaly Kuznetsov <vkuznets@redhat.com>,
 Wanpeng Li <wanpengli@tencent.com>, Alexander Graf <graf@amazon.com>,
 Chao Peng <chao.p.peng@linux.intel.com>,
 "Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
 Forrest Yuan Yu <yuanyu@google.com>, James Gowans <jgowans@amazon.com>,
 James Morris <jamorris@linux.microsoft.com>,
 John Andersen <john.s.andersen@intel.com>,
 Marian Rotariu <marian.c.rotariu@gmail.com>,
 =?UTF-8?Q?Mihai_Don=C8=9Bu?= <mdontu@bitdefender.com>,
 =?UTF-8?B?TmljdciZb3IgQ8OuyJt1?= <nicu.citu@icloud.com>,
 Thara Gopinath <tgopinath@microsoft.com>,
 Trilok Soni <quic_tsoni@quicinc.com>, Wei Liu <wei.liu@kernel.org>,
 Will Deacon <will@kernel.org>, Yu Zhang <yu.c.zhang@linux.intel.com>,
 Zahra Tarkhani <ztarkhani@microsoft.com>,
 =?UTF-8?Q?=C8=98tefan_=C8=98icleru?= <ssicleru@bitdefender.com>,
 dev@lists.cloudhypervisor.org, kvm@vger.kernel.org,
 linux-hardening@vger.kernel.org, linux-hyperv@vger.kernel.org,
 linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org,
 qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
 x86@kernel.org, xen-devel@lists.xenproject.org
References: <20231113022326.24388-1-mic@digikod.net>
 <20231113022326.24388-18-mic@digikod.net>
 <20231113081929.GA16138@noisy.programming.kicks-ass.net>
 <a52d8885-43cc-4a4e-bb47-9a800070779e@linux.microsoft.com>
 <20231127200841.GZ3818@noisy.programming.kicks-ass.net>
From: "Madhavan T. Venkataraman" <madvenka@linux.microsoft.com>
In-Reply-To: <20231127200841.GZ3818@noisy.programming.kicks-ass.net>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit



On 11/27/23 14:08, Peter Zijlstra wrote:
> On Mon, Nov 27, 2023 at 10:48:29AM -0600, Madhavan T. Venkataraman wrote:
>> Apologies for the late reply. I was on vacation. Please see my response below:
>>
>> On 11/13/23 02:19, Peter Zijlstra wrote:
>>> On Sun, Nov 12, 2023 at 09:23:24PM -0500, Mickaël Salaün wrote:
>>>> From: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
>>>>
>>>> X86 uses a function called __text_poke() to modify executable code. This
>>>> patching function is used by many features such as KProbes and FTrace.
>>>>
>>>> Update the permissions counters for the text page so that write
>>>> permissions can be temporarily established in the EPT to modify the
>>>> instructions in that page.
>>>>
>>>> Cc: Borislav Petkov <bp@alien8.de>
>>>> Cc: Dave Hansen <dave.hansen@linux.intel.com>
>>>> Cc: H. Peter Anvin <hpa@zytor.com>
>>>> Cc: Ingo Molnar <mingo@redhat.com>
>>>> Cc: Kees Cook <keescook@chromium.org>
>>>> Cc: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
>>>> Cc: Mickaël Salaün <mic@digikod.net>
>>>> Cc: Paolo Bonzini <pbonzini@redhat.com>
>>>> Cc: Sean Christopherson <seanjc@google.com>
>>>> Cc: Thomas Gleixner <tglx@linutronix.de>
>>>> Cc: Vitaly Kuznetsov <vkuznets@redhat.com>
>>>> Cc: Wanpeng Li <wanpengli@tencent.com>
>>>> Signed-off-by: Madhavan T. Venkataraman <madvenka@linux.microsoft.com>
>>>> ---
>>>>
>>>> Changes since v1:
>>>> * New patch
>>>> ---
>>>>  arch/x86/kernel/alternative.c |  5 ++++
>>>>  arch/x86/mm/heki.c            | 49 +++++++++++++++++++++++++++++++++++
>>>>  include/linux/heki.h          | 14 ++++++++++
>>>>  3 files changed, 68 insertions(+)
>>>>
>>>> diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
>>>> index 517ee01503be..64fd8757ba5c 100644
>>>> --- a/arch/x86/kernel/alternative.c
>>>> +++ b/arch/x86/kernel/alternative.c
>>>> @@ -18,6 +18,7 @@
>>>>  #include <linux/mmu_context.h>
>>>>  #include <linux/bsearch.h>
>>>>  #include <linux/sync_core.h>
>>>> +#include <linux/heki.h>
>>>>  #include <asm/text-patching.h>
>>>>  #include <asm/alternative.h>
>>>>  #include <asm/sections.h>
>>>> @@ -1801,6 +1802,7 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
>>>>  	 */
>>>>  	pgprot = __pgprot(pgprot_val(PAGE_KERNEL) & ~_PAGE_GLOBAL);
>>>>  
>>>> +	heki_text_poke_start(pages, cross_page_boundary ? 2 : 1, pgprot);
>>>>  	/*
>>>>  	 * The lock is not really needed, but this allows to avoid open-coding.
>>>>  	 */
>>>> @@ -1865,7 +1867,10 @@ static void *__text_poke(text_poke_f func, void *addr, const void *src, size_t l
>>>>  	}
>>>>  
>>>>  	local_irq_restore(flags);
>>>> +
>>>>  	pte_unmap_unlock(ptep, ptl);
>>>> +	heki_text_poke_end(pages, cross_page_boundary ? 2 : 1, pgprot);
>>>> +
>>>>  	return addr;
>>>>  }
>>>
>>> This makes no sense, we already use a custom CR3 with userspace alias
>>> for the actual pages to write to, why are you then frobbing permissions
>>> on that *again* ?
>>
>> Today, the permissions for a guest page in the extended page table
>> (EPT) are RWX (unless permissions are restricted for some specific
>> reason like for shadow page table pages). In this Heki feature, we
>> don't allow RWX by default in the EPT. We only allow those permissions
>> in the EPT that the guest page actually needs.  E.g., for a text page,
>> it is R_X in both the guest page table and the EPT.
> 
> To what end? If you always mirror what the guest does, you've not
> actually gained anything.
> 
>> For text patching, the above code establishes an alternate mapping in
>> the guest page table that is RW_ so that the text can be patched. That
>> needs to be reflected in the EPT so that the EPT permissions will
>> change from R_X to RWX. In other words, RWX is allowed only as
>> necessary. At the end of patching, the EPT permissions are restored to
>> R_X.
>>
>> Does that address your comment?
> 
> No, if you want to mirror the native PTEs why don't you hook into the
> paravirt page-table muck and get all that for free?
> 
> Also, this is the user range, are you saying you're also playing these
> daft games with user maps?

I think that we should have done a better job of communicating the threat model in Heki and
how we are trying to address it. I will correct that here. I think this will help answer
many questions. Some of these questions also came up in the LPC when we presented this.
Apologies for the slightly long answer. It is for everyone's benefit. Bear with me.

Threat Model
------------

In the threat model in Heki, the attacker is a user space attacker who exploits
a kernel vulnerability to gain more privileges or bypass the kernel's access
control and self-protection mechanisms. 

In the context of the guest page table, one of the things that the threat model translates
to is a hacker gaining access to a guest page with RWX permissions. E.g., by adding execute
permissions to a writable page or by adding write permissions to an executable page.

Today, the permissions for a guest page in the extended page table are RWX by
default. So, if a hacker manages to establish RWX for a page in the guest page
table, then that is all he needs to do some damage.

How to defeat the threat
------------------------

To defeat this, we need to establish the correct permissions for a guest page
in the extended page table as well. That is, R_X for a text page, R__ for a
read-only page and RW_ for a writable page. The only exception is a guest page
that is mapped via multiple mappings with different permissions in each
mapping. In that case, the collective permissions across all mappings needs
to be established in the extended page table so that all mappings can work.

Mechanism
---------

To achieve all this, Heki finds all the kernel mappings at the end of kernel
boot and reflects their permissions in the extended page table before
kicking off the init process.

During runtime, permissions on a guest page can change because of genuine
kernel operations:
	- vmap/vunmap
	- text patching for FTrace, Kprobes, etc
	- set_memory_*()

In each of these cases as well, the permissions need to be reflected in the
extended page table. In summary, the extended page table permissions mirror
the guest page table ones.

Authentication
--------------

The above approach addresses the case where a hacker tries to directly
modify a guest page table entry. It doesn't matter since the extended page
table permissions are not changed.

Now, the question is - what if a hacker manages to use the Heki primitives
and establish the permissions he wants in the extended page table? All of
this work is for nothing!!

The answer is - authentication. If an entity outside the guest can validate
or authenticate each guest request to change extended page table permissions,
then it can tell a genuine request from an attack. We are planning to make the
VMM that entity. In the case of a genuine request, the VMM will call the
hypervisor and establish the correct permissions in the extended page table.
If the VMM thinks that it is an attack, it will have the hypervisor send an
exception to the guest.

In the current version (RFC V2), we don't have authentication in place. The
VMM is not in the picture yet. This is WIP. We are hoping to implement some
authentication in V3 and improve it as we go forward. So, in V2, we only have
the mechanisms in place.

So, I agree that it is kinda hard to see the value of Heki without authentication.

Kernel Lockdown
---------------

But, we must provide at least some security in V2. Otherwise, it is useless.

So, we have implemented what we call a kernel lockdown. At the end of kernel
boot, Heki establishes permissions in the extended page table as mentioned
before. Also, it adds an immutable attribute for kernel text and kernel RO data.
Beyond that point, guest requests that attempt to modify permissions on any of
the immutable pages will be denied.

This means that features like FTrace and KProbes will not work on kernel text
in V2. This is a temporary limitation. Once authentication is in place, the
limitation will go away.

Additional information
----------------------

The following primitives call Heki functions to reflect guest page table
permissions in the extended page table:

heki_arch_late_init()
	This calls heki_protect().
	
	This is called at the end of kernel boot to protect all guest kernel
	mappings at that point.

vmap_range_noflush()
vmap_small_pages_range_noflush()
	These functions call heki_map().

	These are the lowest level functions called from different places
	to map something in the kernel address space.

set_memory_nx()
set_memory_rw()
	These functions call heki_change_page_attr_set().

set_memory_x()
set_memory_ro()
set_memory_rox()
	These functions call heki_change_page_attr_clear().

__text_poke()
	This function is called by various features to patch text.
	This calls heki_text_poke_start() and heki_text_poke_end().

	heki_text_poke_start() is called to add write permissions to the
	extended page table so that text can be patched. heki_text_poke_end()
	is called to revert write permissions in the extended page table.

User mappings
-------------

All of this work is only for protecting guest kernel mappings. So, the idea is
- the VMM+Hypervisor protect the integrity of the kernel and the kernel
protects the integrity of user land. So, user pages continue to have RWX in the
extended page table. The MBEC feature makes it possible to have separate execute
permission bits in the page table entry for user and kernel.

One final thing
---------------

Peter mentioned the following:

"if you want to mirror the native PTEs why don't you hook into the
paravirt page-table muck and get all that for free?"

We did consider using a shadow page table kind of approach so that guest page table
modifications can be intercepted and reflected in the page table entry. We did not
do this for two reasons:

- there are bits in the page table entry that are not permission bits. We would like
  the guest kernel to be able to modify them directly.

- we cannot tell a genuine request from an attack.

That said, we are still considering making the guest page table read only for added
security. This is WIP. I do not have details yet.

If I have not addressed any comment, please let me know.

As always, thanks for your comments.

Madhavan T Venkataraman






From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:25:36 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:25:36 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644244.1005041 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8S3g-0007JY-4Z; Wed, 29 Nov 2023 21:25:24 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644244.1005041; Wed, 29 Nov 2023 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 1r8S3f-0007JR-W7; Wed, 29 Nov 2023 21:25:23 +0000
Received: by outflank-mailman (input) for mailman id 644244;
 Wed, 29 Nov 2023 21:25: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=Uyrv=HK=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r8S3e-0007JJ-Cl
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 21:25:22 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on20623.outbound.protection.outlook.com
 [2a01:111:f400:7e88::623])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id cbe13da8-8efd-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 22:25:20 +0100 (CET)
Received: from SA9P223CA0024.NAMP223.PROD.OUTLOOK.COM (2603:10b6:806:26::29)
 by LV2PR12MB5992.namprd12.prod.outlook.com (2603:10b6:408:14e::17) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Wed, 29 Nov
 2023 21:25:14 +0000
Received: from SA2PEPF00001509.namprd04.prod.outlook.com
 (2603:10b6:806:26:cafe::e0) by SA9P223CA0024.outlook.office365.com
 (2603:10b6:806:26::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22 via Frontend
 Transport; Wed, 29 Nov 2023 21:25:14 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 SA2PEPF00001509.mail.protection.outlook.com (10.167.242.41) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Wed, 29 Nov 2023 21:25:14 +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.2507.34; Wed, 29 Nov
 2023 15:25:13 -0600
Received: from [172.27.137.28] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 29 Nov 2023 15:25:10 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: cbe13da8-8efd-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JC8j6yJeHLHLP/JXlQWqrZMm5tM7Oq+HNM+94GkIOI8mFlgr9YRP0jvLBM25cXmeC5CMazjsxM3svwBZSL20nppps44SUIzTWPA5X9fn5RQFNAPD9SzYX4rSPgpheYb5xo+4ZXv1OFdGqBBGDv7nA9hb6z2txtMGpPo2RcNEcFxqeI8xlN5zlAKUIFKJ5a731UYfkdc5qxaqzjsyW3vJ1dhcMStS2LmS1VIxzKcvmhN80yhGjfILLciMU9vH8P6D/cVYCCgvwrO7967mWI6ZnpVtlEHPJq+9w16DkK8gR0AxK8RkgTq9bSvbk7YGp3VVNaL+SsEz5lo8L7FHdRu3Ig==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=GTwAxKmxs+Q4Xpgd54ShO2z39QSwedi6ap1tpSP5ih4=;
 b=BbEC1N/LCAi0OIUHZmb21fthg4NcUaoJgECmeF5M32TtD6AzEeDntp5ElD3WmA+6EtBRR9ylhEtQVMauf4YApeU1K1u/Vi6NzmxD7uoAH18qd1ddTu35ERP0YLFYOFGUY7rGb1+oD2djxZ7BneVdeRIZRIaU9WRsANAYRRyqUthrU/Hm/E9YLTR0ddR+8saDsdtDLnDT9FAb7JyAp/7nlhi88joNUngIefhnZT0NpfIDxDyHzPaBfqS7eJYEYNajr5wEwWDMI2Ar2MYedjylJBTiGJyOkYF58JeMx2aXH1/K+9zfnYFJPvpgeG8tS+nsbzsBPb/q5LS53SGdCO6NSw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=GTwAxKmxs+Q4Xpgd54ShO2z39QSwedi6ap1tpSP5ih4=;
 b=mGjzAGdMTFtZcU57x5CNxhfqLd5WcIJbL+pFYq7U/ugxCWu4VbaoNvp6q+e80hqFIK03jYOFQL0nfaF5N5mMUfGelodydaIyAKcz2pyPV7jiZzWKV0tKWV6o8n/8IGmk+y4xhLoA6zxfCOZA6PAG2LQm/yXgRbxxnxk2GM6kYqE=
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: <e6019342-8e46-48c9-8211-26105c61fa52@amd.com>
Date: Wed, 29 Nov 2023 16:25:10 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 2/5] xen/vpci: move xen_domctl_createdomain vPCI flag
 to common
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
CC: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, "Juergen
 Gross" <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>, "George
 Dunlap" <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, "Stefano
 Stabellini" <sstabellini@kernel.org>, Christian Lindig
	<christian.lindig@citrix.com>, David Scott <dave@recoil.org>,
	=?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?=
	<marmarek@invisiblethingslab.com>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Michal Orzel <michal.orzel@amd.com>, "Volodymyr
 Babchuk" <Volodymyr_Babchuk@epam.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, Oleksandr Andrushchenko
	<oleksandr_andrushchenko@epam.com>, Rahul Singh <rahul.singh@arm.com>,
	Christian Lindig <christian.lindig@cloud.com>,
	<xen-devel@lists.xenproject.org>
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
 <20231113222118.825758-3-stewart.hildebrand@amd.com>
 <da9eb6fe-3eaf-de9a-2790-79165ecfd917@suse.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <da9eb6fe-3eaf-de9a-2790-79165ecfd917@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SA2PEPF00001509:EE_|LV2PR12MB5992:EE_
X-MS-Office365-Filtering-Correlation-Id: 565bbfce-675d-4d47-9423-08dbf121ad36
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	N+XQF/rtfBdPoZ3mf3VUlvI4OcfacGotXXkjxx7bZePiM6yR2LkFWMyf7gvuc+IcV1yWLweOM7+wgmn4J6yV9zQyZ5O2+RsIQ1q7ydnJ/w3Lm/eDUh2kObVjOJr6oiiSK7zgIp5/VOfMtCK8J/F55Yen+a90XeHdQA9UMQHzYcqxC0g4LWfRVkbG63F7BvbR5qpBV0DLQe8r+Osc0h6GmaiOu5P8Fmd8J/QEQUDjixam6RXQCIph73ttp2lcG+VfkgPNrWBgNIKCxcre+XSGUnko2c0Iry8TAXrArusGfnGEUENgRUIF35kh+RK4kZKs6ff+5eCdox97qmoLEx7wY2pCoSvrlcP46kyyMxxIIuqdMCH77Qd/ZXJYOJZM7EapJe9+bZy931fkGMNOg/yHSHz9xotHCsAYEgNwThJqJhHRYl3Y2g8t5WWcNxPDYDviar/KobDDbcM+D+jaIdh2U3UjCgAlPvv/GsnTkUypjnNRdZQQpHYKSxbGK8e1IxuBhM93xeTfd+7kAl6xE66DHMBUBexwwBlls6Qsem2JplPAN9eeLiDoav2kLa9KKQ/5/5AMXSS4US2NUPq0DpXFcb9O7nSkidZSF5MuResLRGcHXidRqaoxIHCCHGwxcQAuoeRTXN/IhgiCZGLQQDUMDIU+YB9YxbTVvs+HWswQGl+AYwyNwdXEdWG535KqfwVmAthOCoBJoZdPW5i7zwDe0OaGbATO0ZbEh58nKsapdXmajj6zDTdghes946iiGz+/FsBO5l7mSU6oIDbUp5u+rvwBJReiGEAsqSZc3FveI/31Iz3ZSo+6BvvxXrRzeLlDaGJR14i6EEBOscAXSrm5TFBbUuGWqgFxAMq9G/Vhl2I=
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:(13230031)(4636009)(39860400002)(396003)(136003)(376002)(346002)(230922051799003)(451199024)(186009)(1800799012)(82310400011)(64100799003)(36840700001)(46966006)(40470700004)(31686004)(40480700001)(426003)(336012)(26005)(2616005)(40460700003)(478600001)(356005)(81166007)(82740400003)(202311291699003)(31696002)(36756003)(86362001)(2906002)(83380400001)(41300700001)(44832011)(36860700001)(47076005)(53546011)(7416002)(6916009)(54906003)(316002)(4326008)(5660300002)(70206006)(16576012)(8676002)(8936002)(70586007)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Nov 2023 21:25:14.4525
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 565bbfce-675d-4d47-9423-08dbf121ad36
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:
	SA2PEPF00001509.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LV2PR12MB5992

On 11/14/23 04:11, Jan Beulich wrote:
> On 13.11.2023 23:21, Stewart Hildebrand wrote:
>> @@ -709,10 +710,17 @@ int arch_sanitise_domain_config(struct xen_domctl_createdomain *config)
>>          return -EINVAL;
>>      }
>>  
>> +    if ( vpci && !hvm )
>> +    {
>> +        dprintk(XENLOG_INFO, "vPCI requested for non-HVM guest\n");
>> +        return -EINVAL;
>> +    }
>> +
>>      return 0;
>>  }
> 
> As said on the v5 thread, I think my comment was misguided (I'm sorry)
> and this wants keeping in common code as you had it.

I'll move it back to xen/common/domain.c. No worries.

> 
>> --- a/xen/include/public/arch-x86/xen.h
>> +++ b/xen/include/public/arch-x86/xen.h
>> @@ -283,15 +283,16 @@ struct xen_arch_domainconfig {
>>  #define XEN_X86_EMU_PIT             (1U<<_XEN_X86_EMU_PIT)
>>  #define _XEN_X86_EMU_USE_PIRQ       9
>>  #define XEN_X86_EMU_USE_PIRQ        (1U<<_XEN_X86_EMU_USE_PIRQ)
>> -#define _XEN_X86_EMU_VPCI           10
>> -#define XEN_X86_EMU_VPCI            (1U<<_XEN_X86_EMU_VPCI)
>> +/*
>> + * Note: bit 10 was previously used for a XEN_X86_EMU_VPCI flag. This bit should
>> + * not be re-used without careful consideration.
>> + */
> 
> I think a multi-line comment is drawing overly much attention to this.
> How about "Note: Bit 10 was previously used for XEN_X86_EMU_VPCI. Re-use
> with care." which I think fits in a single line comment.

Sounds good.

> 
> Jan


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:26:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:26:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644247.1005050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8S50-0000Bl-J9; Wed, 29 Nov 2023 21:26:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644247.1005050; Wed, 29 Nov 2023 21:26: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 1r8S50-0000Be-Ga; Wed, 29 Nov 2023 21:26:46 +0000
Received: by outflank-mailman (input) for mailman id 644247;
 Wed, 29 Nov 2023 21:26: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8S4y-00008d-Uf
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 21:26:44 +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 fda5c6e8-8efd-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 22:26:43 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-201-jezd3L4pMveGVd7IsGPLnQ-1; Wed,
 29 Nov 2023 16:26:38 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 63038381BE86;
 Wed, 29 Nov 2023 21:26:30 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id C50A02027019;
 Wed, 29 Nov 2023 21:26:26 +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: fda5c6e8-8efd-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701293202;
	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;
	bh=qIu73bEmAYNa5+9Duiskzg7KzH7tsLGKxcaWpL0jd+U=;
	b=GYdWPgVG0MMO4iNG4H1/5QIeD5EpvAVyaRAcRdJ5GUuExnK+rDA9koJ2RrlNr5116S9oAo
	wtK++0qHxnsVtm11UdEeqGTmKBzu/M8vG6AVdcI8QnCuj9qPI1Zz9jehVnMoIaEwN1zMMN
	+woBIbjN/dNR/9tmZznrza1C79o1fgI=
X-MC-Unique: jezd3L4pMveGVd7IsGPLnQ-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>,
	qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>,
	Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org,
	Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>,
	Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>,
	xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	kvm@vger.kernel.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-block@nongnu.org,
	Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: [PATCH 0/6] Make Big QEMU Lock naming consistent
Date: Wed, 29 Nov 2023 16:26:19 -0500
Message-ID: <20231129212625.1051502-1-stefanha@redhat.com>
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4

The Big QEMU Lock ("BQL") has two other names: "iothread lock" and "QEMU global
mutex". The term "iothread lock" is easily confused with the unrelated --object
iothread (iothread.c).

This series updates the code and documentation to consistently use "BQL". This
makes the code easier to understand.

Stefan Hajnoczi (6):
  system/cpus: rename qemu_mutex_lock_iothread() to qemu_bql_lock()
  qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to QEMU_BQL_LOCK_GUARD
  qemu/main-loop: rename qemu_cond_wait_iothread() to
    qemu_cond_wait_bql()
  system/cpus: rename qemu_global_mutex to qemu_bql
  Replace "iothread lock" with "BQL" in comments
  Rename "QEMU global mutex" to "BQL" in comments and docs

 docs/devel/multi-thread-tcg.rst      |   7 +-
 docs/devel/qapi-code-gen.rst         |   2 +-
 docs/devel/replay.rst                |   2 +-
 docs/devel/reset.rst                 |   2 +-
 docs/devel/multiple-iothreads.txt    |  16 ++--
 hw/display/qxl.h                     |   2 +-
 include/block/aio-wait.h             |   2 +-
 include/block/blockjob.h             |   6 +-
 include/exec/cpu-common.h            |   2 +-
 include/exec/memory.h                |   4 +-
 include/exec/ramblock.h              |   2 +-
 include/io/task.h                    |   2 +-
 include/migration/register.h         |   8 +-
 include/qemu/coroutine-core.h        |   2 +-
 include/qemu/coroutine.h             |   2 +-
 include/qemu/main-loop.h             |  54 ++++++------
 target/arm/internals.h               |   4 +-
 accel/accel-blocker.c                |  10 +--
 accel/dummy-cpus.c                   |   8 +-
 accel/hvf/hvf-accel-ops.c            |   4 +-
 accel/kvm/kvm-accel-ops.c            |   4 +-
 accel/kvm/kvm-all.c                  |  22 ++---
 accel/tcg/cpu-exec.c                 |  26 +++---
 accel/tcg/cputlb.c                   |  20 ++---
 accel/tcg/tcg-accel-ops-icount.c     |   6 +-
 accel/tcg/tcg-accel-ops-mttcg.c      |  12 +--
 accel/tcg/tcg-accel-ops-rr.c         |  18 ++--
 accel/tcg/tcg-accel-ops.c            |   2 +-
 accel/tcg/translate-all.c            |   2 +-
 cpu-common.c                         |   4 +-
 dump/dump.c                          |   4 +-
 hw/block/dataplane/virtio-blk.c      |   8 +-
 hw/block/virtio-blk.c                |   2 +-
 hw/core/cpu-common.c                 |   6 +-
 hw/display/virtio-gpu.c              |   2 +-
 hw/i386/intel_iommu.c                |   6 +-
 hw/i386/kvm/xen_evtchn.c             |  30 +++----
 hw/i386/kvm/xen_gnttab.c             |   2 +-
 hw/i386/kvm/xen_overlay.c            |   2 +-
 hw/i386/kvm/xen_xenstore.c           |   2 +-
 hw/intc/arm_gicv3_cpuif.c            |   2 +-
 hw/intc/s390_flic.c                  |  18 ++--
 hw/mips/mips_int.c                   |   2 +-
 hw/misc/edu.c                        |   4 +-
 hw/misc/imx6_src.c                   |   2 +-
 hw/misc/imx7_src.c                   |   2 +-
 hw/net/xen_nic.c                     |   8 +-
 hw/ppc/pegasos2.c                    |   2 +-
 hw/ppc/ppc.c                         |   6 +-
 hw/ppc/spapr.c                       |   2 +-
 hw/ppc/spapr_events.c                |   2 +-
 hw/ppc/spapr_rng.c                   |   4 +-
 hw/ppc/spapr_softmmu.c               |   4 +-
 hw/remote/mpqemu-link.c              |  14 ++--
 hw/remote/vfio-user-obj.c            |   2 +-
 hw/s390x/s390-skeys.c                |   2 +-
 hw/scsi/virtio-scsi-dataplane.c      |   6 +-
 migration/block-dirty-bitmap.c       |  14 ++--
 migration/block.c                    |  40 ++++-----
 migration/colo.c                     |  62 +++++++-------
 migration/dirtyrate.c                |  12 +--
 migration/migration.c                |  54 ++++++------
 migration/ram.c                      |  16 ++--
 net/tap.c                            |   2 +-
 replay/replay-internal.c             |   2 +-
 semihosting/console.c                |   8 +-
 stubs/iothread-lock.c                |   6 +-
 system/cpu-throttle.c                |   6 +-
 system/cpus.c                        |  52 ++++++------
 system/dirtylimit.c                  |   4 +-
 system/memory.c                      |   2 +-
 system/physmem.c                     |  14 ++--
 system/runstate.c                    |   2 +-
 system/watchpoint.c                  |   4 +-
 target/arm/arm-powerctl.c            |  14 ++--
 target/arm/helper.c                  |   6 +-
 target/arm/hvf/hvf.c                 |   8 +-
 target/arm/kvm.c                     |   4 +-
 target/arm/kvm64.c                   |   4 +-
 target/arm/ptw.c                     |   6 +-
 target/arm/tcg/helper-a64.c          |   8 +-
 target/arm/tcg/m_helper.c            |   6 +-
 target/arm/tcg/op_helper.c           |  24 +++---
 target/arm/tcg/psci.c                |   2 +-
 target/hppa/int_helper.c             |   8 +-
 target/i386/hvf/hvf.c                |   6 +-
 target/i386/kvm/hyperv.c             |   4 +-
 target/i386/kvm/kvm.c                |  28 +++----
 target/i386/kvm/xen-emu.c            |  16 ++--
 target/i386/nvmm/nvmm-accel-ops.c    |   6 +-
 target/i386/nvmm/nvmm-all.c          |  20 ++---
 target/i386/tcg/sysemu/fpu_helper.c  |   6 +-
 target/i386/tcg/sysemu/misc_helper.c |   4 +-
 target/i386/whpx/whpx-accel-ops.c    |   6 +-
 target/i386/whpx/whpx-all.c          |  24 +++---
 target/loongarch/csr_helper.c        |   4 +-
 target/mips/kvm.c                    |   4 +-
 target/mips/tcg/sysemu/cp0_helper.c  |   4 +-
 target/openrisc/sys_helper.c         |  16 ++--
 target/ppc/excp_helper.c             |  14 ++--
 target/ppc/helper_regs.c             |   2 +-
 target/ppc/kvm.c                     |   4 +-
 target/ppc/misc_helper.c             |   8 +-
 target/ppc/timebase_helper.c         |   8 +-
 target/riscv/cpu_helper.c            |   4 +-
 target/s390x/kvm/kvm.c               |   4 +-
 target/s390x/tcg/misc_helper.c       | 118 +++++++++++++--------------
 target/sparc/int32_helper.c          |   2 +-
 target/sparc/int64_helper.c          |   6 +-
 target/sparc/win_helper.c            |  20 ++---
 target/xtensa/exc_helper.c           |   8 +-
 ui/spice-core.c                      |   6 +-
 util/async.c                         |   2 +-
 util/main-loop.c                     |   8 +-
 util/rcu.c                           |  16 ++--
 audio/coreaudio.m                    |   8 +-
 memory_ldst.c.inc                    |  18 ++--
 target/i386/hvf/README.md            |   2 +-
 ui/cocoa.m                           |  56 ++++++-------
 119 files changed, 627 insertions(+), 628 deletions(-)

-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:26:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:26:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644248.1005062 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8S53-0000Tq-S5; Wed, 29 Nov 2023 21:26:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644248.1005062; Wed, 29 Nov 2023 21: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 1r8S53-0000Tj-NK; Wed, 29 Nov 2023 21:26:49 +0000
Received: by outflank-mailman (input) for mailman id 644248;
 Wed, 29 Nov 2023 21:26: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8S52-00008d-SH
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 21:26:48 +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 000d1d83-8efe-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 22:26:48 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-342-VPB8p9y3P4KteZhh_p8yNg-1; Wed, 29 Nov 2023 16:26:44 -0500
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
 [10.11.54.6])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 58F31836EF1;
 Wed, 29 Nov 2023 21:26:38 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 01B912166B26;
 Wed, 29 Nov 2023 21:26: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: 000d1d83-8efe-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701293206;
	h=from:from:reply-to:subject:subject: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=aRXyTaHypebwyOUnVd682fvvQLv7a/HZq8MmldgnYg0=;
	b=Iy2QWiMAD+l3+xKeZd10nLBnrq/p1GjcjyjesLFNyIY8mNKwmmo7HMVH68x9ExwU10PcXI
	tqbkbiyKXRXiSU/MY1vEpJ4prQeA/jcvPZ1PhWjo+OsXxXhTOEr6db1+W+S7vrwddsBCLb
	LvsG2MUd0fMGwfT+bWDK6PiGtiVk/Zs=
X-MC-Unique: VPB8p9y3P4KteZhh_p8yNg-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>,
	qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>,
	Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org,
	Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>,
	Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>,
	xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	kvm@vger.kernel.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-block@nongnu.org,
	Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: [PATCH 2/6] qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to QEMU_BQL_LOCK_GUARD
Date: Wed, 29 Nov 2023 16:26:21 -0500
Message-ID: <20231129212625.1051502-3-stefanha@redhat.com>
In-Reply-To: <20231129212625.1051502-1-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.6

The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
instead, it is already widely used and unambiguous.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/qemu/main-loop.h  | 20 ++++++++++----------
 hw/i386/kvm/xen_evtchn.c  | 14 +++++++-------
 hw/i386/kvm/xen_gnttab.c  |  2 +-
 hw/mips/mips_int.c        |  2 +-
 hw/ppc/ppc.c              |  2 +-
 target/i386/kvm/xen-emu.c |  2 +-
 target/ppc/excp_helper.c  |  2 +-
 target/ppc/helper_regs.c  |  2 +-
 target/riscv/cpu_helper.c |  4 ++--
 9 files changed, 25 insertions(+), 25 deletions(-)

diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
index d6f75e57bd..0b6a3e4824 100644
--- a/include/qemu/main-loop.h
+++ b/include/qemu/main-loop.h
@@ -344,13 +344,13 @@ void qemu_bql_lock_impl(const char *file, int line);
 void qemu_bql_unlock(void);
 
 /**
- * QEMU_IOTHREAD_LOCK_GUARD
+ * QEMU_BQL_LOCK_GUARD
  *
- * Wrap a block of code in a conditional qemu_mutex_{lock,unlock}_iothread.
+ * Wrap a block of code in a conditional qemu_bql_{lock,unlock}.
  */
-typedef struct IOThreadLockAuto IOThreadLockAuto;
+typedef struct BQLLockAuto BQLLockAuto;
 
-static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char *file,
+static inline BQLLockAuto *qemu_bql_auto_lock(const char *file,
                                                         int line)
 {
     if (qemu_bql_locked()) {
@@ -358,19 +358,19 @@ static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char *file,
     }
     qemu_bql_lock_impl(file, line);
     /* Anything non-NULL causes the cleanup function to be called */
-    return (IOThreadLockAuto *)(uintptr_t)1;
+    return (BQLLockAuto *)(uintptr_t)1;
 }
 
-static inline void qemu_iothread_auto_unlock(IOThreadLockAuto *l)
+static inline void qemu_bql_auto_unlock(BQLLockAuto *l)
 {
     qemu_bql_unlock();
 }
 
-G_DEFINE_AUTOPTR_CLEANUP_FUNC(IOThreadLockAuto, qemu_iothread_auto_unlock)
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(BQLLockAuto, qemu_bql_auto_unlock)
 
-#define QEMU_IOTHREAD_LOCK_GUARD() \
-    g_autoptr(IOThreadLockAuto) _iothread_lock_auto __attribute__((unused)) \
-        = qemu_iothread_auto_lock(__FILE__, __LINE__)
+#define QEMU_BQL_LOCK_GUARD() \
+    g_autoptr(BQLLockAuto) _bql_lock_auto __attribute__((unused)) \
+        = qemu_bql_auto_lock(__FILE__, __LINE__)
 
 /*
  * qemu_cond_wait_iothread: Wait on condition for the main loop mutex
diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index 07d0ff0253..3ab686bd79 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -1127,7 +1127,7 @@ int xen_evtchn_reset_op(struct evtchn_reset *reset)
         return -ESRCH;
     }
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
     return xen_evtchn_soft_reset();
 }
 
@@ -1145,7 +1145,7 @@ int xen_evtchn_close_op(struct evtchn_close *close)
         return -EINVAL;
     }
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
     qemu_mutex_lock(&s->port_lock);
 
     ret = close_port(s, close->port, &flush_kvm_routes);
@@ -1272,7 +1272,7 @@ int xen_evtchn_bind_pirq_op(struct evtchn_bind_pirq *pirq)
         return -EINVAL;
     }
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
 
     if (s->pirq[pirq->pirq].port) {
         return -EBUSY;
@@ -1824,7 +1824,7 @@ int xen_physdev_map_pirq(struct physdev_map_pirq *map)
         return -ENOTSUP;
     }
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
     QEMU_LOCK_GUARD(&s->port_lock);
 
     if (map->domid != DOMID_SELF && map->domid != xen_domid) {
@@ -1884,7 +1884,7 @@ int xen_physdev_unmap_pirq(struct physdev_unmap_pirq *unmap)
         return -EINVAL;
     }
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
     qemu_mutex_lock(&s->port_lock);
 
     if (!pirq_inuse(s, pirq)) {
@@ -1924,7 +1924,7 @@ int xen_physdev_eoi_pirq(struct physdev_eoi *eoi)
         return -ENOTSUP;
     }
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
     QEMU_LOCK_GUARD(&s->port_lock);
 
     if (!pirq_inuse(s, pirq)) {
@@ -1956,7 +1956,7 @@ int xen_physdev_query_pirq(struct physdev_irq_status_query *query)
         return -ENOTSUP;
     }
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
     QEMU_LOCK_GUARD(&s->port_lock);
 
     if (!pirq_inuse(s, pirq)) {
diff --git a/hw/i386/kvm/xen_gnttab.c b/hw/i386/kvm/xen_gnttab.c
index 0a24f53f20..ee5f8cf257 100644
--- a/hw/i386/kvm/xen_gnttab.c
+++ b/hw/i386/kvm/xen_gnttab.c
@@ -176,7 +176,7 @@ int xen_gnttab_map_page(uint64_t idx, uint64_t gfn)
         return -EINVAL;
     }
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
     QEMU_LOCK_GUARD(&s->gnt_lock);
 
     xen_overlay_do_map_page(&s->gnt_aliases[idx], gpa);
diff --git a/hw/mips/mips_int.c b/hw/mips/mips_int.c
index 6c32e466a3..c2454f9724 100644
--- a/hw/mips/mips_int.c
+++ b/hw/mips/mips_int.c
@@ -36,7 +36,7 @@ static void cpu_mips_irq_request(void *opaque, int irq, int level)
         return;
     }
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
 
     if (level) {
         env->CP0_Cause |= 1 << (irq + CP0Ca_IP);
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index c8c3b43602..ce7d3692c4 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -47,7 +47,7 @@ void ppc_set_irq(PowerPCCPU *cpu, int irq, int level)
     unsigned int old_pending;
 
     /* We may already have the BQL if coming from the reset path */
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
 
     old_pending = env->pending_interrupts;
 
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index f79f5d270f..be8a1fef58 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -581,7 +581,7 @@ static int xen_set_shared_info(uint64_t gfn)
     uint64_t gpa = gfn << TARGET_PAGE_BITS;
     int i, err;
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
 
     /*
      * The xen_overlay device tells KVM about it too, since it had to
diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
index 0a1c942831..2122f89990 100644
--- a/target/ppc/excp_helper.c
+++ b/target/ppc/excp_helper.c
@@ -2222,7 +2222,7 @@ static int ppc_next_unmasked_interrupt(CPUPPCState *env)
 void ppc_maybe_interrupt(CPUPPCState *env)
 {
     CPUState *cs = env_cpu(env);
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
 
     if (ppc_next_unmasked_interrupt(env)) {
         cpu_interrupt(cs, CPU_INTERRUPT_HARD);
diff --git a/target/ppc/helper_regs.c b/target/ppc/helper_regs.c
index f380342d4d..b92e3a223a 100644
--- a/target/ppc/helper_regs.c
+++ b/target/ppc/helper_regs.c
@@ -244,7 +244,7 @@ void cpu_interrupt_exittb(CPUState *cs)
      * unless running with TCG.
      */
     if (tcg_enabled()) {
-        QEMU_IOTHREAD_LOCK_GUARD();
+        QEMU_BQL_LOCK_GUARD();
         cpu_interrupt(cs, CPU_INTERRUPT_EXITTB);
     }
 }
diff --git a/target/riscv/cpu_helper.c b/target/riscv/cpu_helper.c
index e7e23b34f4..fa73bb8ce9 100644
--- a/target/riscv/cpu_helper.c
+++ b/target/riscv/cpu_helper.c
@@ -655,7 +655,7 @@ void riscv_cpu_interrupt(CPURISCVState *env)
     uint64_t gein, vsgein = 0, vstip = 0, irqf = 0;
     CPUState *cs = env_cpu(env);
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
 
     if (env->virt_enabled) {
         gein = get_field(env->hstatus, HSTATUS_VGEIN);
@@ -681,7 +681,7 @@ uint64_t riscv_cpu_update_mip(CPURISCVState *env, uint64_t mask, uint64_t value)
     /* No need to update mip for VSTIP */
     mask = ((mask == MIP_VSTIP) && env->vstime_irq) ? 0 : mask;
 
-    QEMU_IOTHREAD_LOCK_GUARD();
+    QEMU_BQL_LOCK_GUARD();
 
     env->mip = (env->mip & ~mask) | (value & mask);
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:26:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:26:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644249.1005071 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8S56-0000m2-2K; Wed, 29 Nov 2023 21:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644249.1005071; Wed, 29 Nov 2023 21:26: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 1r8S55-0000lv-Vs; Wed, 29 Nov 2023 21:26:51 +0000
Received: by outflank-mailman (input) for mailman id 644249;
 Wed, 29 Nov 2023 21:26: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8S54-0000jZ-W5
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 21:26:50 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 009e999b-8efe-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 22:26:49 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-167-55r8XQSHMnC_rWqi5-T4vw-1; Wed, 29 Nov 2023 16:26:43 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 37B5C83DCD6;
 Wed, 29 Nov 2023 21:26:41 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id EE2DB2026D66;
 Wed, 29 Nov 2023 21:26:39 +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: 009e999b-8efe-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701293207;
	h=from:from:reply-to:subject:subject: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=DG7+f00gCNxrB4UkczfVTSYAisk/aHQSNhsUg/07D1c=;
	b=B7c5wAM1/bWOy42gsnsuG/h7vuN7+qRD52vLHMJ3FRiL5HDyNLjkbU3ZJmThO1TZ+YTNw1
	AXFP/FLWDs8VK9hPgXB4bNO7QGYj0QTnhzL1s6hiaDzOWFA+7LzRwmz/brPIzBtX/WuEu6
	+3/BPc4np2o1EUNDHdx8QrN9mgOSbvQ=
X-MC-Unique: 55r8XQSHMnC_rWqi5-T4vw-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>,
	qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>,
	Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org,
	Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>,
	Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>,
	xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	kvm@vger.kernel.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-block@nongnu.org,
	Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: [PATCH 3/6] qemu/main-loop: rename qemu_cond_wait_iothread() to qemu_cond_wait_bql()
Date: Wed, 29 Nov 2023 16:26:22 -0500
Message-ID: <20231129212625.1051502-4-stefanha@redhat.com>
In-Reply-To: <20231129212625.1051502-1-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4

The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
instead, it is already widely used and unambiguous.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/qemu/main-loop.h          | 8 ++++----
 accel/tcg/tcg-accel-ops-rr.c      | 4 ++--
 hw/display/virtio-gpu.c           | 2 +-
 hw/ppc/spapr_events.c             | 2 +-
 system/cpu-throttle.c             | 2 +-
 system/cpus.c                     | 4 ++--
 target/i386/nvmm/nvmm-accel-ops.c | 2 +-
 target/i386/whpx/whpx-accel-ops.c | 2 +-
 8 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
index 0b6a3e4824..ec2a70f041 100644
--- a/include/qemu/main-loop.h
+++ b/include/qemu/main-loop.h
@@ -373,17 +373,17 @@ G_DEFINE_AUTOPTR_CLEANUP_FUNC(BQLLockAuto, qemu_bql_auto_unlock)
         = qemu_bql_auto_lock(__FILE__, __LINE__)
 
 /*
- * qemu_cond_wait_iothread: Wait on condition for the main loop mutex
+ * qemu_cond_wait_bql: Wait on condition for the main loop mutex
  *
  * This function atomically releases the main loop mutex and causes
  * the calling thread to block on the condition.
  */
-void qemu_cond_wait_iothread(QemuCond *cond);
+void qemu_cond_wait_bql(QemuCond *cond);
 
 /*
- * qemu_cond_timedwait_iothread: like the previous, but with timeout
+ * qemu_cond_timedwait_bql: like the previous, but with timeout
  */
-void qemu_cond_timedwait_iothread(QemuCond *cond, int ms);
+void qemu_cond_timedwait_bql(QemuCond *cond, int ms);
 
 /* internal interfaces */
 
diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c
index c21215a094..1e5a688085 100644
--- a/accel/tcg/tcg-accel-ops-rr.c
+++ b/accel/tcg/tcg-accel-ops-rr.c
@@ -111,7 +111,7 @@ static void rr_wait_io_event(void)
 
     while (all_cpu_threads_idle()) {
         rr_stop_kick_timer();
-        qemu_cond_wait_iothread(first_cpu->halt_cond);
+        qemu_cond_wait_bql(first_cpu->halt_cond);
     }
 
     rr_start_kick_timer();
@@ -198,7 +198,7 @@ static void *rr_cpu_thread_fn(void *arg)
 
     /* wait for initial kick-off after machine start */
     while (first_cpu->stopped) {
-        qemu_cond_wait_iothread(first_cpu->halt_cond);
+        qemu_cond_wait_bql(first_cpu->halt_cond);
 
         /* process any pending work */
         CPU_FOREACH(cpu) {
diff --git a/hw/display/virtio-gpu.c b/hw/display/virtio-gpu.c
index b016d3bac8..67c5be1a4e 100644
--- a/hw/display/virtio-gpu.c
+++ b/hw/display/virtio-gpu.c
@@ -1512,7 +1512,7 @@ void virtio_gpu_reset(VirtIODevice *vdev)
         g->reset_finished = false;
         qemu_bh_schedule(g->reset_bh);
         while (!g->reset_finished) {
-            qemu_cond_wait_iothread(&g->reset_cond);
+            qemu_cond_wait_bql(&g->reset_cond);
         }
     } else {
         virtio_gpu_reset_bh(g);
diff --git a/hw/ppc/spapr_events.c b/hw/ppc/spapr_events.c
index deb4641505..cb0eeee587 100644
--- a/hw/ppc/spapr_events.c
+++ b/hw/ppc/spapr_events.c
@@ -899,7 +899,7 @@ void spapr_mce_req_event(PowerPCCPU *cpu, bool recovered)
             }
             return;
         }
-        qemu_cond_wait_iothread(&spapr->fwnmi_machine_check_interlock_cond);
+        qemu_cond_wait_bql(&spapr->fwnmi_machine_check_interlock_cond);
         if (spapr->fwnmi_machine_check_addr == -1) {
             /*
              * If the machine was reset while waiting for the interlock,
diff --git a/system/cpu-throttle.c b/system/cpu-throttle.c
index e98836311b..1d2b73369e 100644
--- a/system/cpu-throttle.c
+++ b/system/cpu-throttle.c
@@ -54,7 +54,7 @@ static void cpu_throttle_thread(CPUState *cpu, run_on_cpu_data opaque)
     endtime_ns = qemu_clock_get_ns(QEMU_CLOCK_REALTIME) + sleeptime_ns;
     while (sleeptime_ns > 0 && !cpu->stop) {
         if (sleeptime_ns > SCALE_MS) {
-            qemu_cond_timedwait_iothread(cpu->halt_cond,
+            qemu_cond_timedwait_bql(cpu->halt_cond,
                                          sleeptime_ns / SCALE_MS);
         } else {
             qemu_bql_unlock();
diff --git a/system/cpus.c b/system/cpus.c
index d5b98c11f5..eb24a4db8e 100644
--- a/system/cpus.c
+++ b/system/cpus.c
@@ -513,12 +513,12 @@ void qemu_bql_unlock(void)
     qemu_mutex_unlock(&qemu_global_mutex);
 }
 
-void qemu_cond_wait_iothread(QemuCond *cond)
+void qemu_cond_wait_bql(QemuCond *cond)
 {
     qemu_cond_wait(cond, &qemu_global_mutex);
 }
 
-void qemu_cond_timedwait_iothread(QemuCond *cond, int ms)
+void qemu_cond_timedwait_bql(QemuCond *cond, int ms)
 {
     qemu_cond_timedwait(cond, &qemu_global_mutex, ms);
 }
diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-accel-ops.c
index 387ccfcce5..0fe8a76820 100644
--- a/target/i386/nvmm/nvmm-accel-ops.c
+++ b/target/i386/nvmm/nvmm-accel-ops.c
@@ -48,7 +48,7 @@ static void *qemu_nvmm_cpu_thread_fn(void *arg)
             }
         }
         while (cpu_thread_is_idle(cpu)) {
-            qemu_cond_wait_iothread(cpu->halt_cond);
+            qemu_cond_wait_bql(cpu->halt_cond);
         }
         qemu_wait_io_event_common(cpu);
     } while (!cpu->unplug || cpu_can_run(cpu));
diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-accel-ops.c
index 1f29346a88..d8bec46081 100644
--- a/target/i386/whpx/whpx-accel-ops.c
+++ b/target/i386/whpx/whpx-accel-ops.c
@@ -48,7 +48,7 @@ static void *whpx_cpu_thread_fn(void *arg)
             }
         }
         while (cpu_thread_is_idle(cpu)) {
-            qemu_cond_wait_iothread(cpu->halt_cond);
+            qemu_cond_wait_bql(cpu->halt_cond);
         }
         qemu_wait_io_event_common(cpu);
     } while (!cpu->unplug || cpu_can_run(cpu));
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:26:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:26:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644250.1005076 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8S56-0000pF-EF; Wed, 29 Nov 2023 21:26:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644250.1005076; Wed, 29 Nov 2023 21:26: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 1r8S56-0000op-AK; Wed, 29 Nov 2023 21:26:52 +0000
Received: by outflank-mailman (input) for mailman id 644250;
 Wed, 29 Nov 2023 21:26: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8S55-00008d-C2
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 21:26:51 +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 01b267cf-8efe-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 22:26:50 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-111-yAhr-UrSN4qD-XoM_Pt1Aw-1; Wed,
 29 Nov 2023 16:26:46 -0500
Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com
 [10.11.54.4])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id BBD3F1E441DC;
 Wed, 29 Nov 2023 21:26:43 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 9C9BA2026D4C;
 Wed, 29 Nov 2023 21:26: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: 01b267cf-8efe-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701293209;
	h=from:from:reply-to:subject:subject: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=xnTMhuYWY4rKexdgAFG5bYrl78FXKUVZK+idLclmJ2E=;
	b=BjnmLQapKIUOutu3xmOlymOKKbUvpgx9ZhlujCr6TU2hEpSjYTwkypttx+uYuTHijeIzSs
	IS/SgmCNzdNLTHiybQ0QmAdk4oo2+xjb2lWVJMumhX4FjANF8rz/gFXhf6adllizLye8Cw
	DZLhDCjhhdVRSlZPLR/8PLo9llYmlGE=
X-MC-Unique: yAhr-UrSN4qD-XoM_Pt1Aw-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>,
	qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>,
	Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org,
	Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>,
	Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>,
	xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	kvm@vger.kernel.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-block@nongnu.org,
	Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: [PATCH 4/6] system/cpus: rename qemu_global_mutex to qemu_bql
Date: Wed, 29 Nov 2023 16:26:23 -0500
Message-ID: <20231129212625.1051502-5-stefanha@redhat.com>
In-Reply-To: <20231129212625.1051502-1-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.4

The APIs using qemu_global_mutex now follow the Big QEMU Lock (BQL)
nomenclature. It's a little strange that the actual QemuMutex variable
that embodies the BQL is called qemu_global_mutex instead of qemu_bql.
Rename it for consistency.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 system/cpus.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/system/cpus.c b/system/cpus.c
index eb24a4db8e..138720a540 100644
--- a/system/cpus.c
+++ b/system/cpus.c
@@ -65,7 +65,7 @@
 
 #endif /* CONFIG_LINUX */
 
-static QemuMutex qemu_global_mutex;
+static QemuMutex qemu_bql;
 
 /*
  * The chosen accelerator is supposed to register this.
@@ -389,14 +389,14 @@ void qemu_init_cpu_loop(void)
     qemu_init_sigbus();
     qemu_cond_init(&qemu_cpu_cond);
     qemu_cond_init(&qemu_pause_cond);
-    qemu_mutex_init(&qemu_global_mutex);
+    qemu_mutex_init(&qemu_bql);
 
     qemu_thread_get_self(&io_thread);
 }
 
 void run_on_cpu(CPUState *cpu, run_on_cpu_func func, run_on_cpu_data data)
 {
-    do_run_on_cpu(cpu, func, data, &qemu_global_mutex);
+    do_run_on_cpu(cpu, func, data, &qemu_bql);
 }
 
 static void qemu_cpu_stop(CPUState *cpu, bool exit)
@@ -428,7 +428,7 @@ void qemu_wait_io_event(CPUState *cpu)
             slept = true;
             qemu_plugin_vcpu_idle_cb(cpu);
         }
-        qemu_cond_wait(cpu->halt_cond, &qemu_global_mutex);
+        qemu_cond_wait(cpu->halt_cond, &qemu_bql);
     }
     if (slept) {
         qemu_plugin_vcpu_resume_cb(cpu);
@@ -502,7 +502,7 @@ void qemu_bql_lock_impl(const char *file, int line)
     QemuMutexLockFunc bql_lock = qatomic_read(&qemu_bql_mutex_lock_func);
 
     g_assert(!qemu_bql_locked());
-    bql_lock(&qemu_global_mutex, file, line);
+    bql_lock(&qemu_bql, file, line);
     set_bql_locked(true);
 }
 
@@ -510,17 +510,17 @@ void qemu_bql_unlock(void)
 {
     g_assert(qemu_bql_locked());
     set_bql_locked(false);
-    qemu_mutex_unlock(&qemu_global_mutex);
+    qemu_mutex_unlock(&qemu_bql);
 }
 
 void qemu_cond_wait_bql(QemuCond *cond)
 {
-    qemu_cond_wait(cond, &qemu_global_mutex);
+    qemu_cond_wait(cond, &qemu_bql);
 }
 
 void qemu_cond_timedwait_bql(QemuCond *cond, int ms)
 {
-    qemu_cond_timedwait(cond, &qemu_global_mutex, ms);
+    qemu_cond_timedwait(cond, &qemu_bql, ms);
 }
 
 /* signal CPU creation */
@@ -571,7 +571,7 @@ void pause_all_vcpus(void)
     replay_mutex_unlock();
 
     while (!all_vcpus_paused()) {
-        qemu_cond_wait(&qemu_pause_cond, &qemu_global_mutex);
+        qemu_cond_wait(&qemu_pause_cond, &qemu_bql);
         CPU_FOREACH(cpu) {
             qemu_cpu_kick(cpu);
         }
@@ -649,7 +649,7 @@ void qemu_init_vcpu(CPUState *cpu)
     cpus_accel->create_vcpu_thread(cpu);
 
     while (!cpu->created) {
-        qemu_cond_wait(&qemu_cpu_cond, &qemu_global_mutex);
+        qemu_cond_wait(&qemu_cpu_cond, &qemu_bql);
     }
 }
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:26:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:26:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644252.1005091 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8S5C-0001W8-SU; Wed, 29 Nov 2023 21:26:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644252.1005091; Wed, 29 Nov 2023 21: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 1r8S5C-0001Vz-P5; Wed, 29 Nov 2023 21:26:58 +0000
Received: by outflank-mailman (input) for mailman id 644252;
 Wed, 29 Nov 2023 21: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8S5A-0000jZ-7n
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 21:26:56 +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 03639b9b-8efe-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 22:26:53 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-674-YKOu9_xkN2eb9qmoDz-MDA-1; Wed, 29 Nov 2023 16:26:45 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7E5BB82BAB5;
 Wed, 29 Nov 2023 21:26:35 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 467B0492BF1;
 Wed, 29 Nov 2023 21:26: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: 03639b9b-8efe-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701293212;
	h=from:from:reply-to:subject:subject: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=6hqew74nJzMVhrPnvywfKIPbgvWI8jNXz53US0L/2fc=;
	b=by28i4XRSEMPs11TP1W9PGjI8HR+AQ5odowjAdUd8fAw522n/JZMhACBei3rapknJnPFC3
	3VcBFSJJIVv968FWT0LK8foIHtRiyN0aKP5NbdlBo5RATX+s4BvGB1QxuYHAQdgIR3ToS8
	Dteqcsp0+rmacMs2HzDJtXC+p8fCLc8=
X-MC-Unique: YKOu9_xkN2eb9qmoDz-MDA-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>,
	qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>,
	Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org,
	Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>,
	Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>,
	xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	kvm@vger.kernel.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-block@nongnu.org,
	Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to qemu_bql_lock()
Date: Wed, 29 Nov 2023 16:26:20 -0500
Message-ID: <20231129212625.1051502-2-stefanha@redhat.com>
In-Reply-To: <20231129212625.1051502-1-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.9

The Big QEMU Lock (BQL) has many names and they are confusing. The
actual QemuMutex variable is called qemu_global_mutex but it's commonly
referred to as the BQL in discussions and some code comments. The
locking APIs, however, are called qemu_mutex_lock_iothread() and
qemu_mutex_unlock_iothread().

The "iothread" name is historic and comes from when the main thread was
split into into KVM vcpu threads and the "iothread" (now called the main
loop thread). I have contributed to the confusion myself by introducing
a separate --object iothread, a separate concept unrelated to the BQL.

The "iothread" name is no longer appropriate for the BQL. Rename the
locking APIs to:
- void qemu_bql_lock(void)
- void qemu_bql_unlock(void)
- bool qemu_bql_locked(void)

There are more APIs with "iothread" in their names. Subsequent patches
will rename them. There are also comments and documentation that will be
updated in later patches.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 include/block/aio-wait.h             |   2 +-
 include/qemu/main-loop.h             |  26 +++---
 accel/accel-blocker.c                |  10 +--
 accel/dummy-cpus.c                   |   8 +-
 accel/hvf/hvf-accel-ops.c            |   4 +-
 accel/kvm/kvm-accel-ops.c            |   4 +-
 accel/kvm/kvm-all.c                  |  22 ++---
 accel/tcg/cpu-exec.c                 |  26 +++---
 accel/tcg/cputlb.c                   |  16 ++--
 accel/tcg/tcg-accel-ops-icount.c     |   4 +-
 accel/tcg/tcg-accel-ops-mttcg.c      |  12 +--
 accel/tcg/tcg-accel-ops-rr.c         |  14 ++--
 accel/tcg/tcg-accel-ops.c            |   2 +-
 accel/tcg/translate-all.c            |   2 +-
 cpu-common.c                         |   4 +-
 dump/dump.c                          |   4 +-
 hw/core/cpu-common.c                 |   6 +-
 hw/i386/intel_iommu.c                |   6 +-
 hw/i386/kvm/xen_evtchn.c             |  16 ++--
 hw/i386/kvm/xen_overlay.c            |   2 +-
 hw/i386/kvm/xen_xenstore.c           |   2 +-
 hw/intc/arm_gicv3_cpuif.c            |   2 +-
 hw/intc/s390_flic.c                  |  18 ++--
 hw/misc/edu.c                        |   4 +-
 hw/misc/imx6_src.c                   |   2 +-
 hw/misc/imx7_src.c                   |   2 +-
 hw/net/xen_nic.c                     |   8 +-
 hw/ppc/pegasos2.c                    |   2 +-
 hw/ppc/ppc.c                         |   4 +-
 hw/ppc/spapr.c                       |   2 +-
 hw/ppc/spapr_rng.c                   |   4 +-
 hw/ppc/spapr_softmmu.c               |   4 +-
 hw/remote/mpqemu-link.c              |  12 +--
 hw/remote/vfio-user-obj.c            |   2 +-
 hw/s390x/s390-skeys.c                |   2 +-
 migration/block-dirty-bitmap.c       |   4 +-
 migration/block.c                    |  16 ++--
 migration/colo.c                     |  60 +++++++-------
 migration/dirtyrate.c                |  12 +--
 migration/migration.c                |  52 ++++++------
 migration/ram.c                      |  12 +--
 replay/replay-internal.c             |   2 +-
 semihosting/console.c                |   8 +-
 stubs/iothread-lock.c                |   6 +-
 system/cpu-throttle.c                |   4 +-
 system/cpus.c                        |  28 +++----
 system/dirtylimit.c                  |   4 +-
 system/memory.c                      |   2 +-
 system/physmem.c                     |   8 +-
 system/runstate.c                    |   2 +-
 system/watchpoint.c                  |   4 +-
 target/arm/arm-powerctl.c            |  14 ++--
 target/arm/helper.c                  |   4 +-
 target/arm/hvf/hvf.c                 |   8 +-
 target/arm/kvm.c                     |   4 +-
 target/arm/kvm64.c                   |   4 +-
 target/arm/ptw.c                     |   6 +-
 target/arm/tcg/helper-a64.c          |   8 +-
 target/arm/tcg/m_helper.c            |   4 +-
 target/arm/tcg/op_helper.c           |  24 +++---
 target/arm/tcg/psci.c                |   2 +-
 target/hppa/int_helper.c             |   8 +-
 target/i386/hvf/hvf.c                |   6 +-
 target/i386/kvm/hyperv.c             |   4 +-
 target/i386/kvm/kvm.c                |  28 +++----
 target/i386/kvm/xen-emu.c            |  14 ++--
 target/i386/nvmm/nvmm-accel-ops.c    |   4 +-
 target/i386/nvmm/nvmm-all.c          |  20 ++---
 target/i386/tcg/sysemu/fpu_helper.c  |   6 +-
 target/i386/tcg/sysemu/misc_helper.c |   4 +-
 target/i386/whpx/whpx-accel-ops.c    |   4 +-
 target/i386/whpx/whpx-all.c          |  24 +++---
 target/loongarch/csr_helper.c        |   4 +-
 target/mips/kvm.c                    |   4 +-
 target/mips/tcg/sysemu/cp0_helper.c  |   4 +-
 target/openrisc/sys_helper.c         |  16 ++--
 target/ppc/excp_helper.c             |  12 +--
 target/ppc/kvm.c                     |   4 +-
 target/ppc/misc_helper.c             |   8 +-
 target/ppc/timebase_helper.c         |   8 +-
 target/s390x/kvm/kvm.c               |   4 +-
 target/s390x/tcg/misc_helper.c       | 118 +++++++++++++--------------
 target/sparc/int32_helper.c          |   2 +-
 target/sparc/int64_helper.c          |   6 +-
 target/sparc/win_helper.c            |  20 ++---
 target/xtensa/exc_helper.c           |   8 +-
 ui/spice-core.c                      |   4 +-
 util/async.c                         |   2 +-
 util/main-loop.c                     |   8 +-
 util/rcu.c                           |  14 ++--
 audio/coreaudio.m                    |   4 +-
 memory_ldst.c.inc                    |  18 ++--
 target/i386/hvf/README.md            |   2 +-
 ui/cocoa.m                           |  50 ++++++------
 94 files changed, 502 insertions(+), 502 deletions(-)

diff --git a/include/block/aio-wait.h b/include/block/aio-wait.h
index 5449b6d742..f6ae91742c 100644
--- a/include/block/aio-wait.h
+++ b/include/block/aio-wait.h
@@ -151,7 +151,7 @@ static inline bool in_aio_context_home_thread(AioContext *ctx)
     }
 
     if (ctx == qemu_get_aio_context()) {
-        return qemu_mutex_iothread_locked();
+        return qemu_bql_locked();
     } else {
         return false;
     }
diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
index 68e70e61aa..d6f75e57bd 100644
--- a/include/qemu/main-loop.h
+++ b/include/qemu/main-loop.h
@@ -248,7 +248,7 @@ GSource *iohandler_get_g_source(void);
 AioContext *iohandler_get_aio_context(void);
 
 /**
- * qemu_mutex_iothread_locked: Return lock status of the main loop mutex.
+ * qemu_bql_locked: Return lock status of the main loop mutex.
  *
  * The main loop mutex is the coarsest lock in QEMU, and as such it
  * must always be taken outside other locks.  This function helps
@@ -260,7 +260,7 @@ AioContext *iohandler_get_aio_context(void);
  * have a BQL.
  * Please instead refer to qemu_in_main_thread().
  */
-bool qemu_mutex_iothread_locked(void);
+bool qemu_bql_locked(void);
 
 /**
  * qemu_in_main_thread: return whether it's possible to safely access
@@ -312,7 +312,7 @@ bool qemu_in_main_thread(void);
     } while (0)
 
 /**
- * qemu_mutex_lock_iothread: Lock the main loop mutex.
+ * qemu_bql_lock: Lock the main loop mutex.
  *
  * This function locks the main loop mutex.  The mutex is taken by
  * main() in vl.c and always taken except while waiting on
@@ -321,15 +321,15 @@ bool qemu_in_main_thread(void);
  * qemu_bh_new(), qemu_set_fd_handler() and basically all other
  * functions documented in this file.
  *
- * NOTE: tools currently are single-threaded and qemu_mutex_lock_iothread
+ * NOTE: tools currently are single-threaded and qemu_bql_lock
  * is a no-op there.
  */
-#define qemu_mutex_lock_iothread()                      \
-    qemu_mutex_lock_iothread_impl(__FILE__, __LINE__)
-void qemu_mutex_lock_iothread_impl(const char *file, int line);
+#define qemu_bql_lock()                      \
+    qemu_bql_lock_impl(__FILE__, __LINE__)
+void qemu_bql_lock_impl(const char *file, int line);
 
 /**
- * qemu_mutex_unlock_iothread: Unlock the main loop mutex.
+ * qemu_bql_unlock: Unlock the main loop mutex.
  *
  * This function unlocks the main loop mutex.  The mutex is taken by
  * main() in vl.c and always taken except while waiting on
@@ -338,10 +338,10 @@ void qemu_mutex_lock_iothread_impl(const char *file, int line);
  * because it prevents the main loop from processing callbacks,
  * including timers and bottom halves.
  *
- * NOTE: tools currently are single-threaded and qemu_mutex_unlock_iothread
+ * NOTE: tools currently are single-threaded and qemu_bql_unlock
  * is a no-op there.
  */
-void qemu_mutex_unlock_iothread(void);
+void qemu_bql_unlock(void);
 
 /**
  * QEMU_IOTHREAD_LOCK_GUARD
@@ -353,17 +353,17 @@ typedef struct IOThreadLockAuto IOThreadLockAuto;
 static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char *file,
                                                         int line)
 {
-    if (qemu_mutex_iothread_locked()) {
+    if (qemu_bql_locked()) {
         return NULL;
     }
-    qemu_mutex_lock_iothread_impl(file, line);
+    qemu_bql_lock_impl(file, line);
     /* Anything non-NULL causes the cleanup function to be called */
     return (IOThreadLockAuto *)(uintptr_t)1;
 }
 
 static inline void qemu_iothread_auto_unlock(IOThreadLockAuto *l)
 {
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 G_DEFINE_AUTOPTR_CLEANUP_FUNC(IOThreadLockAuto, qemu_iothread_auto_unlock)
diff --git a/accel/accel-blocker.c b/accel/accel-blocker.c
index 1e7f423462..0e9e4a2142 100644
--- a/accel/accel-blocker.c
+++ b/accel/accel-blocker.c
@@ -41,7 +41,7 @@ void accel_blocker_init(void)
 
 void accel_ioctl_begin(void)
 {
-    if (likely(qemu_mutex_iothread_locked())) {
+    if (likely(qemu_bql_locked())) {
         return;
     }
 
@@ -51,7 +51,7 @@ void accel_ioctl_begin(void)
 
 void accel_ioctl_end(void)
 {
-    if (likely(qemu_mutex_iothread_locked())) {
+    if (likely(qemu_bql_locked())) {
         return;
     }
 
@@ -62,7 +62,7 @@ void accel_ioctl_end(void)
 
 void accel_cpu_ioctl_begin(CPUState *cpu)
 {
-    if (unlikely(qemu_mutex_iothread_locked())) {
+    if (unlikely(qemu_bql_locked())) {
         return;
     }
 
@@ -72,7 +72,7 @@ void accel_cpu_ioctl_begin(CPUState *cpu)
 
 void accel_cpu_ioctl_end(CPUState *cpu)
 {
-    if (unlikely(qemu_mutex_iothread_locked())) {
+    if (unlikely(qemu_bql_locked())) {
         return;
     }
 
@@ -105,7 +105,7 @@ void accel_ioctl_inhibit_begin(void)
      * We allow to inhibit only when holding the BQL, so we can identify
      * when an inhibitor wants to issue an ioctl easily.
      */
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     /* Block further invocations of the ioctls outside the BQL.  */
     CPU_FOREACH(cpu) {
diff --git a/accel/dummy-cpus.c b/accel/dummy-cpus.c
index b75c919ac3..7b4b26a152 100644
--- a/accel/dummy-cpus.c
+++ b/accel/dummy-cpus.c
@@ -24,7 +24,7 @@ static void *dummy_cpu_thread_fn(void *arg)
 
     rcu_register_thread();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_thread_get_self(cpu->thread);
     cpu->thread_id = qemu_get_thread_id();
     cpu->neg.can_do_io = true;
@@ -43,7 +43,7 @@ static void *dummy_cpu_thread_fn(void *arg)
     qemu_guest_random_seed_thread_part2(cpu->random_seed);
 
     do {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
 #ifndef _WIN32
         do {
             int sig;
@@ -56,11 +56,11 @@ static void *dummy_cpu_thread_fn(void *arg)
 #else
         qemu_sem_wait(&cpu->sem);
 #endif
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         qemu_wait_io_event(cpu);
     } while (!cpu->unplug);
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     rcu_unregister_thread();
     return NULL;
 }
diff --git a/accel/hvf/hvf-accel-ops.c b/accel/hvf/hvf-accel-ops.c
index abe7adf7ee..caa4a00741 100644
--- a/accel/hvf/hvf-accel-ops.c
+++ b/accel/hvf/hvf-accel-ops.c
@@ -424,7 +424,7 @@ static void *hvf_cpu_thread_fn(void *arg)
 
     rcu_register_thread();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_thread_get_self(cpu->thread);
 
     cpu->thread_id = qemu_get_thread_id();
@@ -449,7 +449,7 @@ static void *hvf_cpu_thread_fn(void *arg)
 
     hvf_vcpu_destroy(cpu);
     cpu_thread_signal_destroyed(cpu);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     rcu_unregister_thread();
     return NULL;
 }
diff --git a/accel/kvm/kvm-accel-ops.c b/accel/kvm/kvm-accel-ops.c
index 6195150a0b..92fdd3ddbd 100644
--- a/accel/kvm/kvm-accel-ops.c
+++ b/accel/kvm/kvm-accel-ops.c
@@ -33,7 +33,7 @@ static void *kvm_vcpu_thread_fn(void *arg)
 
     rcu_register_thread();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_thread_get_self(cpu->thread);
     cpu->thread_id = qemu_get_thread_id();
     cpu->neg.can_do_io = true;
@@ -58,7 +58,7 @@ static void *kvm_vcpu_thread_fn(void *arg)
 
     kvm_destroy_vcpu(cpu);
     cpu_thread_signal_destroyed(cpu);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     rcu_unregister_thread();
     return NULL;
 }
diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index e39a810a4e..760a160052 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -817,7 +817,7 @@ static void kvm_dirty_ring_flush(void)
      * should always be with BQL held, serialization is guaranteed.
      * However, let's be sure of it.
      */
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
     /*
      * First make sure to flush the hardware buffers by kicking all
      * vcpus out in a synchronous way.
@@ -1402,9 +1402,9 @@ static void *kvm_dirty_ring_reaper_thread(void *data)
         trace_kvm_dirty_ring_reaper("wakeup");
         r->reaper_state = KVM_DIRTY_RING_REAPER_REAPING;
 
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         kvm_dirty_ring_reap(s, NULL);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
 
         r->reaper_iteration++;
     }
@@ -2828,7 +2828,7 @@ int kvm_cpu_exec(CPUState *cpu)
         return EXCP_HLT;
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     cpu_exec_start(cpu);
 
     do {
@@ -2868,11 +2868,11 @@ int kvm_cpu_exec(CPUState *cpu)
 
 #ifdef KVM_HAVE_MCE_INJECTION
         if (unlikely(have_sigbus_pending)) {
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             kvm_arch_on_sigbus_vcpu(cpu, pending_sigbus_code,
                                     pending_sigbus_addr);
             have_sigbus_pending = false;
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
         }
 #endif
 
@@ -2942,7 +2942,7 @@ int kvm_cpu_exec(CPUState *cpu)
              * still full.  Got kicked by KVM_RESET_DIRTY_RINGS.
              */
             trace_kvm_dirty_ring_full(cpu->cpu_index);
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             /*
              * We throttle vCPU by making it sleep once it exit from kernel
              * due to dirty ring full. In the dirtylimit scenario, reaping
@@ -2954,7 +2954,7 @@ int kvm_cpu_exec(CPUState *cpu)
             } else {
                 kvm_dirty_ring_reap(kvm_state, NULL);
             }
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             dirtylimit_vcpu_execute(cpu);
             ret = 0;
             break;
@@ -2970,9 +2970,9 @@ int kvm_cpu_exec(CPUState *cpu)
                 break;
             case KVM_SYSTEM_EVENT_CRASH:
                 kvm_cpu_synchronize_state(cpu);
-                qemu_mutex_lock_iothread();
+                qemu_bql_lock();
                 qemu_system_guest_panicked(cpu_get_crash_info(cpu));
-                qemu_mutex_unlock_iothread();
+                qemu_bql_unlock();
                 ret = 0;
                 break;
             default:
@@ -2989,7 +2989,7 @@ int kvm_cpu_exec(CPUState *cpu)
     } while (ret == 0);
 
     cpu_exec_end(cpu);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     if (ret < 0) {
         cpu_dump_state(cpu, stderr, CPU_DUMP_CODE);
diff --git a/accel/tcg/cpu-exec.c b/accel/tcg/cpu-exec.c
index c938eb96f8..9777182478 100644
--- a/accel/tcg/cpu-exec.c
+++ b/accel/tcg/cpu-exec.c
@@ -558,8 +558,8 @@ static void cpu_exec_longjmp_cleanup(CPUState *cpu)
         tcg_ctx->gen_tb = NULL;
     }
 #endif
-    if (qemu_mutex_iothread_locked()) {
-        qemu_mutex_unlock_iothread();
+    if (qemu_bql_locked()) {
+        qemu_bql_unlock();
     }
     assert_no_pages_locked();
 }
@@ -680,10 +680,10 @@ static inline bool cpu_handle_halt(CPUState *cpu)
 #if defined(TARGET_I386)
         if (cpu->interrupt_request & CPU_INTERRUPT_POLL) {
             X86CPU *x86_cpu = X86_CPU(cpu);
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             apic_poll_irq(x86_cpu->apic_state);
             cpu_reset_interrupt(cpu, CPU_INTERRUPT_POLL);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
         }
 #endif /* TARGET_I386 */
         if (!cpu_has_work(cpu)) {
@@ -749,9 +749,9 @@ static inline bool cpu_handle_exception(CPUState *cpu, int *ret)
 #else
         if (replay_exception()) {
             CPUClass *cc = CPU_GET_CLASS(cpu);
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             cc->tcg_ops->do_interrupt(cpu);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             cpu->exception_index = -1;
 
             if (unlikely(cpu->singlestep_enabled)) {
@@ -812,7 +812,7 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
 
     if (unlikely(qatomic_read(&cpu->interrupt_request))) {
         int interrupt_request;
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         interrupt_request = cpu->interrupt_request;
         if (unlikely(cpu->singlestep_enabled & SSTEP_NOIRQ)) {
             /* Mask out external interrupts for this step. */
@@ -821,7 +821,7 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
         if (interrupt_request & CPU_INTERRUPT_DEBUG) {
             cpu->interrupt_request &= ~CPU_INTERRUPT_DEBUG;
             cpu->exception_index = EXCP_DEBUG;
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             return true;
         }
 #if !defined(CONFIG_USER_ONLY)
@@ -832,7 +832,7 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
             cpu->interrupt_request &= ~CPU_INTERRUPT_HALT;
             cpu->halted = 1;
             cpu->exception_index = EXCP_HLT;
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             return true;
         }
 #if defined(TARGET_I386)
@@ -843,14 +843,14 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
             cpu_svm_check_intercept_param(env, SVM_EXIT_INIT, 0, 0);
             do_cpu_init(x86_cpu);
             cpu->exception_index = EXCP_HALTED;
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             return true;
         }
 #else
         else if (interrupt_request & CPU_INTERRUPT_RESET) {
             replay_interrupt();
             cpu_reset(cpu);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             return true;
         }
 #endif /* !TARGET_I386 */
@@ -873,7 +873,7 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
                  */
                 if (unlikely(cpu->singlestep_enabled)) {
                     cpu->exception_index = EXCP_DEBUG;
-                    qemu_mutex_unlock_iothread();
+                    qemu_bql_unlock();
                     return true;
                 }
                 cpu->exception_index = -1;
@@ -892,7 +892,7 @@ static inline bool cpu_handle_interrupt(CPUState *cpu,
         }
 
         /* If we exit via cpu_loop_exit/longjmp it is reset in cpu_exec */
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     /* Finally, check if we need to exit to the main loop.  */
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
index db3f93fda9..3c0b1658ee 100644
--- a/accel/tcg/cputlb.c
+++ b/accel/tcg/cputlb.c
@@ -2030,10 +2030,10 @@ static uint64_t do_ld_mmio_beN(CPUState *cpu, CPUTLBEntryFull *full,
     section = io_prepare(&mr_offset, cpu, full->xlat_section, attrs, addr, ra);
     mr = section->mr;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ret = int_ld_mmio_beN(cpu, full, ret_be, addr, size, mmu_idx,
                           type, ra, mr, mr_offset);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return ret;
 }
@@ -2054,12 +2054,12 @@ static Int128 do_ld16_mmio_beN(CPUState *cpu, CPUTLBEntryFull *full,
     section = io_prepare(&mr_offset, cpu, full->xlat_section, attrs, addr, ra);
     mr = section->mr;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     a = int_ld_mmio_beN(cpu, full, ret_be, addr, size - 8, mmu_idx,
                         MMU_DATA_LOAD, ra, mr, mr_offset);
     b = int_ld_mmio_beN(cpu, full, ret_be, addr + size - 8, 8, mmu_idx,
                         MMU_DATA_LOAD, ra, mr, mr_offset + size - 8);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return int128_make128(b, a);
 }
@@ -2577,10 +2577,10 @@ static uint64_t do_st_mmio_leN(CPUState *cpu, CPUTLBEntryFull *full,
     section = io_prepare(&mr_offset, cpu, full->xlat_section, attrs, addr, ra);
     mr = section->mr;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ret = int_st_mmio_leN(cpu, full, val_le, addr, size, mmu_idx,
                           ra, mr, mr_offset);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return ret;
 }
@@ -2601,12 +2601,12 @@ static uint64_t do_st16_mmio_leN(CPUState *cpu, CPUTLBEntryFull *full,
     section = io_prepare(&mr_offset, cpu, full->xlat_section, attrs, addr, ra);
     mr = section->mr;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     int_st_mmio_leN(cpu, full, int128_getlo(val_le), addr, 8,
                     mmu_idx, ra, mr, mr_offset);
     ret = int_st_mmio_leN(cpu, full, int128_gethi(val_le), addr + 8,
                           size - 8, mmu_idx, ra, mr, mr_offset + 8);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return ret;
 }
diff --git a/accel/tcg/tcg-accel-ops-icount.c b/accel/tcg/tcg-accel-ops-icount.c
index b25685fb71..76b9bedc08 100644
--- a/accel/tcg/tcg-accel-ops-icount.c
+++ b/accel/tcg/tcg-accel-ops-icount.c
@@ -126,9 +126,9 @@ void icount_prepare_for_run(CPUState *cpu, int64_t cpu_budget)
          * We're called without the iothread lock, so must take it while
          * we're calling timer handlers.
          */
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         icount_notify_aio_contexts();
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 }
 
diff --git a/accel/tcg/tcg-accel-ops-mttcg.c b/accel/tcg/tcg-accel-ops-mttcg.c
index fac80095bb..d3575bdc8b 100644
--- a/accel/tcg/tcg-accel-ops-mttcg.c
+++ b/accel/tcg/tcg-accel-ops-mttcg.c
@@ -76,7 +76,7 @@ static void *mttcg_cpu_thread_fn(void *arg)
     rcu_add_force_rcu_notifier(&force_rcu.notifier);
     tcg_register_thread();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_thread_get_self(cpu->thread);
 
     cpu->thread_id = qemu_get_thread_id();
@@ -91,9 +91,9 @@ static void *mttcg_cpu_thread_fn(void *arg)
     do {
         if (cpu_can_run(cpu)) {
             int r;
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             r = tcg_cpus_exec(cpu);
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             switch (r) {
             case EXCP_DEBUG:
                 cpu_handle_guest_debug(cpu);
@@ -105,9 +105,9 @@ static void *mttcg_cpu_thread_fn(void *arg)
                  */
                 break;
             case EXCP_ATOMIC:
-                qemu_mutex_unlock_iothread();
+                qemu_bql_unlock();
                 cpu_exec_step_atomic(cpu);
-                qemu_mutex_lock_iothread();
+                qemu_bql_lock();
             default:
                 /* Ignore everything else? */
                 break;
@@ -119,7 +119,7 @@ static void *mttcg_cpu_thread_fn(void *arg)
     } while (!cpu->unplug || cpu_can_run(cpu));
 
     tcg_cpus_destroy(cpu);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     rcu_remove_force_rcu_notifier(&force_rcu.notifier);
     rcu_unregister_thread();
     return NULL;
diff --git a/accel/tcg/tcg-accel-ops-rr.c b/accel/tcg/tcg-accel-ops-rr.c
index 611932f3c3..c21215a094 100644
--- a/accel/tcg/tcg-accel-ops-rr.c
+++ b/accel/tcg/tcg-accel-ops-rr.c
@@ -188,7 +188,7 @@ static void *rr_cpu_thread_fn(void *arg)
     rcu_add_force_rcu_notifier(&force_rcu);
     tcg_register_thread();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_thread_get_self(cpu->thread);
 
     cpu->thread_id = qemu_get_thread_id();
@@ -218,9 +218,9 @@ static void *rr_cpu_thread_fn(void *arg)
         /* Only used for icount_enabled() */
         int64_t cpu_budget = 0;
 
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         replay_mutex_lock();
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
 
         if (icount_enabled()) {
             int cpu_count = rr_cpu_count();
@@ -254,7 +254,7 @@ static void *rr_cpu_thread_fn(void *arg)
             if (cpu_can_run(cpu)) {
                 int r;
 
-                qemu_mutex_unlock_iothread();
+                qemu_bql_unlock();
                 if (icount_enabled()) {
                     icount_prepare_for_run(cpu, cpu_budget);
                 }
@@ -262,15 +262,15 @@ static void *rr_cpu_thread_fn(void *arg)
                 if (icount_enabled()) {
                     icount_process_data(cpu);
                 }
-                qemu_mutex_lock_iothread();
+                qemu_bql_lock();
 
                 if (r == EXCP_DEBUG) {
                     cpu_handle_guest_debug(cpu);
                     break;
                 } else if (r == EXCP_ATOMIC) {
-                    qemu_mutex_unlock_iothread();
+                    qemu_bql_unlock();
                     cpu_exec_step_atomic(cpu);
-                    qemu_mutex_lock_iothread();
+                    qemu_bql_lock();
                     break;
                 }
             } else if (cpu->stop) {
diff --git a/accel/tcg/tcg-accel-ops.c b/accel/tcg/tcg-accel-ops.c
index 1b57290682..2cc17faba3 100644
--- a/accel/tcg/tcg-accel-ops.c
+++ b/accel/tcg/tcg-accel-ops.c
@@ -88,7 +88,7 @@ static void tcg_cpu_reset_hold(CPUState *cpu)
 /* mask must never be zero, except for A20 change call */
 void tcg_handle_interrupt(CPUState *cpu, int mask)
 {
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     cpu->interrupt_request |= mask;
 
diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c
index 79a88f5fb7..62e71b1617 100644
--- a/accel/tcg/translate-all.c
+++ b/accel/tcg/translate-all.c
@@ -649,7 +649,7 @@ void cpu_io_recompile(CPUState *cpu, uintptr_t retaddr)
 
 void cpu_interrupt(CPUState *cpu, int mask)
 {
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     cpu->interrupt_request |= mask;
     qatomic_set(&cpu->neg.icount_decr.u16.high, -1);
 }
diff --git a/cpu-common.c b/cpu-common.c
index c81fd72d16..acafb27377 100644
--- a/cpu-common.c
+++ b/cpu-common.c
@@ -351,11 +351,11 @@ void process_queued_cpu_work(CPUState *cpu)
              * BQL, so it goes to sleep; start_exclusive() is sleeping too, so
              * neither CPU can proceed.
              */
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             start_exclusive();
             wi->func(cpu, wi->data);
             end_exclusive();
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
         } else {
             wi->func(cpu, wi->data);
         }
diff --git a/dump/dump.c b/dump/dump.c
index 4819050764..7fab6c07e7 100644
--- a/dump/dump.c
+++ b/dump/dump.c
@@ -108,11 +108,11 @@ static int dump_cleanup(DumpState *s)
     s->guest_note = NULL;
     if (s->resume) {
         if (s->detached) {
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
         }
         vm_start();
         if (s->detached) {
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
         }
     }
     migrate_del_blocker(&dump_migration_blocker);
diff --git a/hw/core/cpu-common.c b/hw/core/cpu-common.c
index 82dae51a55..5c9efe90ad 100644
--- a/hw/core/cpu-common.c
+++ b/hw/core/cpu-common.c
@@ -70,14 +70,14 @@ CPUState *cpu_create(const char *typename)
  * BQL here if we need to.  cpu_interrupt assumes it is held.*/
 void cpu_reset_interrupt(CPUState *cpu, int mask)
 {
-    bool need_lock = !qemu_mutex_iothread_locked();
+    bool need_lock = !qemu_bql_locked();
 
     if (need_lock) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
     cpu->interrupt_request &= ~mask;
     if (need_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 }
 
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c
index 5085a6fee3..bb3768a243 100644
--- a/hw/i386/intel_iommu.c
+++ b/hw/i386/intel_iommu.c
@@ -1665,7 +1665,7 @@ static bool vtd_switch_address_space(VTDAddressSpace *as)
 {
     bool use_iommu, pt;
     /* Whether we need to take the BQL on our own */
-    bool take_bql = !qemu_mutex_iothread_locked();
+    bool take_bql = !qemu_bql_locked();
 
     assert(as);
 
@@ -1683,7 +1683,7 @@ static bool vtd_switch_address_space(VTDAddressSpace *as)
      * it. We'd better make sure we have had it already, or, take it.
      */
     if (take_bql) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
 
     /* Turn off first then on the other */
@@ -1738,7 +1738,7 @@ static bool vtd_switch_address_space(VTDAddressSpace *as)
     }
 
     if (take_bql) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     return use_iommu;
diff --git a/hw/i386/kvm/xen_evtchn.c b/hw/i386/kvm/xen_evtchn.c
index 02b8cbf8df..07d0ff0253 100644
--- a/hw/i386/kvm/xen_evtchn.c
+++ b/hw/i386/kvm/xen_evtchn.c
@@ -425,7 +425,7 @@ void xen_evtchn_set_callback_level(int level)
      * effect immediately. That just leaves interdomain loopback as the case
      * which uses the BH.
      */
-    if (!qemu_mutex_iothread_locked()) {
+    if (!qemu_bql_locked()) {
         qemu_bh_schedule(s->gsi_bh);
         return;
     }
@@ -459,7 +459,7 @@ int xen_evtchn_set_callback_param(uint64_t param)
      * We need the BQL because set_callback_pci_intx() may call into PCI code,
      * and because we may need to manipulate the old and new GSI levels.
      */
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
     qemu_mutex_lock(&s->port_lock);
 
     switch (type) {
@@ -1037,7 +1037,7 @@ static int close_port(XenEvtchnState *s, evtchn_port_t port,
     XenEvtchnPort *p = &s->port_table[port];
 
     /* Because it *might* be a PIRQ port */
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     switch (p->type) {
     case EVTCHNSTAT_closed:
@@ -1104,7 +1104,7 @@ int xen_evtchn_soft_reset(void)
         return -ENOTSUP;
     }
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     qemu_mutex_lock(&s->port_lock);
 
@@ -1601,7 +1601,7 @@ bool xen_evtchn_set_gsi(int gsi, int level)
     XenEvtchnState *s = xen_evtchn_singleton;
     int pirq;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     if (!s || gsi < 0 || gsi >= IOAPIC_NUM_PINS) {
         return false;
@@ -1712,7 +1712,7 @@ void xen_evtchn_snoop_msi(PCIDevice *dev, bool is_msix, unsigned int vector,
         return;
     }
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     pirq = msi_pirq_target(addr, data);
 
@@ -1749,7 +1749,7 @@ int xen_evtchn_translate_pirq_msi(struct kvm_irq_routing_entry *route,
         return 1; /* Not a PIRQ */
     }
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     pirq = msi_pirq_target(address, data);
     if (!pirq || pirq >= s->nr_pirqs) {
@@ -1796,7 +1796,7 @@ bool xen_evtchn_deliver_pirq_msi(uint64_t address, uint32_t data)
         return false;
     }
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     pirq = msi_pirq_target(address, data);
     if (!pirq || pirq >= s->nr_pirqs) {
diff --git a/hw/i386/kvm/xen_overlay.c b/hw/i386/kvm/xen_overlay.c
index 39fda1b72c..7f05da1804 100644
--- a/hw/i386/kvm/xen_overlay.c
+++ b/hw/i386/kvm/xen_overlay.c
@@ -194,7 +194,7 @@ int xen_overlay_map_shinfo_page(uint64_t gpa)
         return -ENOENT;
     }
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     if (s->shinfo_gpa) {
         /* If removing shinfo page, turn the kernel magic off first */
diff --git a/hw/i386/kvm/xen_xenstore.c b/hw/i386/kvm/xen_xenstore.c
index 6e651960b3..cd56b4c32c 100644
--- a/hw/i386/kvm/xen_xenstore.c
+++ b/hw/i386/kvm/xen_xenstore.c
@@ -1341,7 +1341,7 @@ static void fire_watch_cb(void *opaque, const char *path, const char *token)
 {
     XenXenstoreState *s = opaque;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     /*
      * If there's a response pending, we obviously can't scribble over
diff --git a/hw/intc/arm_gicv3_cpuif.c b/hw/intc/arm_gicv3_cpuif.c
index ab1a00508e..a6d24cecfd 100644
--- a/hw/intc/arm_gicv3_cpuif.c
+++ b/hw/intc/arm_gicv3_cpuif.c
@@ -934,7 +934,7 @@ void gicv3_cpuif_update(GICv3CPUState *cs)
     ARMCPU *cpu = ARM_CPU(cs->cpu);
     CPUARMState *env = &cpu->env;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     trace_gicv3_cpuif_update(gicv3_redist_affid(cs), cs->hppi.irq,
                              cs->hppi.grp, cs->hppi.prio);
diff --git a/hw/intc/s390_flic.c b/hw/intc/s390_flic.c
index 74e02858d4..8550c6828d 100644
--- a/hw/intc/s390_flic.c
+++ b/hw/intc/s390_flic.c
@@ -106,7 +106,7 @@ static int qemu_s390_clear_io_flic(S390FLICState *fs, uint16_t subchannel_id,
     QEMUS390FlicIO *cur, *next;
     uint8_t isc;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     if (!(flic->pending & FLIC_PENDING_IO)) {
         return 0;
     }
@@ -223,7 +223,7 @@ uint32_t qemu_s390_flic_dequeue_service(QEMUS390FLICState *flic)
 {
     uint32_t tmp;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     g_assert(flic->pending & FLIC_PENDING_SERVICE);
     tmp = flic->service_param;
     flic->service_param = 0;
@@ -238,7 +238,7 @@ QEMUS390FlicIO *qemu_s390_flic_dequeue_io(QEMUS390FLICState *flic, uint64_t cr6)
     QEMUS390FlicIO *io;
     uint8_t isc;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     if (!(flic->pending & CR6_TO_PENDING_IO(cr6))) {
         return NULL;
     }
@@ -262,7 +262,7 @@ QEMUS390FlicIO *qemu_s390_flic_dequeue_io(QEMUS390FLICState *flic, uint64_t cr6)
 
 void qemu_s390_flic_dequeue_crw_mchk(QEMUS390FLICState *flic)
 {
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     g_assert(flic->pending & FLIC_PENDING_MCHK_CR);
     flic->pending &= ~FLIC_PENDING_MCHK_CR;
 }
@@ -271,7 +271,7 @@ static void qemu_s390_inject_service(S390FLICState *fs, uint32_t parm)
 {
     QEMUS390FLICState *flic = s390_get_qemu_flic(fs);
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     /* multiplexing is good enough for sclp - kvm does it internally as well */
     flic->service_param |= parm;
     flic->pending |= FLIC_PENDING_SERVICE;
@@ -287,7 +287,7 @@ static void qemu_s390_inject_io(S390FLICState *fs, uint16_t subchannel_id,
     QEMUS390FLICState *flic = s390_get_qemu_flic(fs);
     QEMUS390FlicIO *io;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     io = g_new0(QEMUS390FlicIO, 1);
     io->id = subchannel_id;
     io->nr = subchannel_nr;
@@ -304,7 +304,7 @@ static void qemu_s390_inject_crw_mchk(S390FLICState *fs)
 {
     QEMUS390FLICState *flic = s390_get_qemu_flic(fs);
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     flic->pending |= FLIC_PENDING_MCHK_CR;
 
     qemu_s390_flic_notify(FLIC_PENDING_MCHK_CR);
@@ -330,7 +330,7 @@ bool qemu_s390_flic_has_crw_mchk(QEMUS390FLICState *flic)
 
 bool qemu_s390_flic_has_any(QEMUS390FLICState *flic)
 {
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     return !!flic->pending;
 }
 
@@ -340,7 +340,7 @@ static void qemu_s390_flic_reset(DeviceState *dev)
     QEMUS390FlicIO *cur, *next;
     int isc;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     flic->simm = 0;
     flic->nimm = 0;
     flic->pending = 0;
diff --git a/hw/misc/edu.c b/hw/misc/edu.c
index a1f8bc77e7..1c18383378 100644
--- a/hw/misc/edu.c
+++ b/hw/misc/edu.c
@@ -355,9 +355,9 @@ static void *edu_fact_thread(void *opaque)
         smp_mb__after_rmw();
 
         if (qatomic_read(&edu->status) & EDU_STATUS_IRQFACT) {
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             edu_raise_irq(edu, FACT_IRQ);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
         }
     }
 
diff --git a/hw/misc/imx6_src.c b/hw/misc/imx6_src.c
index a9c64d06eb..6070acc244 100644
--- a/hw/misc/imx6_src.c
+++ b/hw/misc/imx6_src.c
@@ -131,7 +131,7 @@ static void imx6_clear_reset_bit(CPUState *cpu, run_on_cpu_data data)
     struct SRCSCRResetInfo *ri = data.host_ptr;
     IMX6SRCState *s = ri->s;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     s->regs[SRC_SCR] = deposit32(s->regs[SRC_SCR], ri->reset_bit, 1, 0);
     DPRINTF("reg[%s] <= 0x%" PRIx32 "\n",
diff --git a/hw/misc/imx7_src.c b/hw/misc/imx7_src.c
index 983251e86f..cf3d14c9b3 100644
--- a/hw/misc/imx7_src.c
+++ b/hw/misc/imx7_src.c
@@ -136,7 +136,7 @@ static void imx7_clear_reset_bit(CPUState *cpu, run_on_cpu_data data)
     struct SRCSCRResetInfo *ri = data.host_ptr;
     IMX7SRCState *s = ri->s;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     s->regs[SRC_A7RCR0] = deposit32(s->regs[SRC_A7RCR0], ri->reset_bit, 1, 0);
 
diff --git a/hw/net/xen_nic.c b/hw/net/xen_nic.c
index 1e2b3baeb1..b2bac8b2ab 100644
--- a/hw/net/xen_nic.c
+++ b/hw/net/xen_nic.c
@@ -133,7 +133,7 @@ static bool net_tx_packets(struct XenNetDev *netdev)
     void *page;
     void *tmpbuf = NULL;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     for (;;) {
         rc = netdev->tx_ring.req_cons;
@@ -260,7 +260,7 @@ static ssize_t net_rx_packet(NetClientState *nc, const uint8_t *buf, size_t size
     RING_IDX rc, rp;
     void *page;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     if (xen_device_backend_get_state(&netdev->xendev) != XenbusStateConnected) {
         return -1;
@@ -354,7 +354,7 @@ static bool xen_netdev_connect(XenDevice *xendev, Error **errp)
     XenNetDev *netdev = XEN_NET_DEVICE(xendev);
     unsigned int port, rx_copy;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     if (xen_device_frontend_scanf(xendev, "tx-ring-ref", "%u",
                                   &netdev->tx_ring_ref) != 1) {
@@ -425,7 +425,7 @@ static void xen_netdev_disconnect(XenDevice *xendev, Error **errp)
 
     trace_xen_netdev_disconnect(netdev->dev);
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     netdev->tx_ring.sring = NULL;
     netdev->rx_ring.sring = NULL;
diff --git a/hw/ppc/pegasos2.c b/hw/ppc/pegasos2.c
index 3203a4a728..aad2787a3f 100644
--- a/hw/ppc/pegasos2.c
+++ b/hw/ppc/pegasos2.c
@@ -515,7 +515,7 @@ static void pegasos2_hypercall(PPCVirtualHypervisor *vhyp, PowerPCCPU *cpu)
     CPUPPCState *env = &cpu->env;
 
     /* The TCG path should also be holding the BQL at this point */
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     if (FIELD_EX64(env->msr, MSR, PR)) {
         qemu_log_mask(LOG_GUEST_ERROR, "Hypercall made with MSR[PR]=1\n");
diff --git a/hw/ppc/ppc.c b/hw/ppc/ppc.c
index be167710a3..c8c3b43602 100644
--- a/hw/ppc/ppc.c
+++ b/hw/ppc/ppc.c
@@ -314,7 +314,7 @@ void store_40x_dbcr0(CPUPPCState *env, uint32_t val)
 {
     PowerPCCPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     switch ((val >> 28) & 0x3) {
     case 0x0:
@@ -334,7 +334,7 @@ void store_40x_dbcr0(CPUPPCState *env, uint32_t val)
         break;
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 /* PowerPC 40x internal IRQ controller */
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index df09aa9d6a..6322c34283 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1304,7 +1304,7 @@ static void emulate_spapr_hypercall(PPCVirtualHypervisor *vhyp,
     CPUPPCState *env = &cpu->env;
 
     /* The TCG path should also be holding the BQL at this point */
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     g_assert(!vhyp_cpu_in_nested(cpu));
 
diff --git a/hw/ppc/spapr_rng.c b/hw/ppc/spapr_rng.c
index df5c4b9687..e8c428b8bb 100644
--- a/hw/ppc/spapr_rng.c
+++ b/hw/ppc/spapr_rng.c
@@ -82,9 +82,9 @@ static target_ulong h_random(PowerPCCPU *cpu, SpaprMachineState *spapr,
     while (hrdata.received < 8) {
         rng_backend_request_entropy(rngstate->backend, 8 - hrdata.received,
                                     random_recv, &hrdata);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         qemu_sem_wait(&hrdata.sem);
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
 
     qemu_sem_destroy(&hrdata.sem);
diff --git a/hw/ppc/spapr_softmmu.c b/hw/ppc/spapr_softmmu.c
index 278666317e..96ffcb8fbc 100644
--- a/hw/ppc/spapr_softmmu.c
+++ b/hw/ppc/spapr_softmmu.c
@@ -334,7 +334,7 @@ static void *hpt_prepare_thread(void *opaque)
         pending->ret = H_NO_MEM;
     }
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     if (SPAPR_MACHINE(qdev_get_machine())->pending_hpt == pending) {
         /* Ready to go */
@@ -344,7 +344,7 @@ static void *hpt_prepare_thread(void *opaque)
         free_pending_hpt(pending);
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     return NULL;
 }
 
diff --git a/hw/remote/mpqemu-link.c b/hw/remote/mpqemu-link.c
index 9bd98e8219..ffb2c25145 100644
--- a/hw/remote/mpqemu-link.c
+++ b/hw/remote/mpqemu-link.c
@@ -33,7 +33,7 @@
  */
 bool mpqemu_msg_send(MPQemuMsg *msg, QIOChannel *ioc, Error **errp)
 {
-    bool iolock = qemu_mutex_iothread_locked();
+    bool iolock = qemu_bql_locked();
     bool iothread = qemu_in_iothread();
     struct iovec send[2] = {};
     int *fds = NULL;
@@ -64,7 +64,7 @@ bool mpqemu_msg_send(MPQemuMsg *msg, QIOChannel *ioc, Error **errp)
      * Also skip lock handling while in a co-routine in the main context.
      */
     if (iolock && !iothread && !qemu_in_coroutine()) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     if (!qio_channel_writev_full_all(ioc, send, G_N_ELEMENTS(send),
@@ -76,7 +76,7 @@ bool mpqemu_msg_send(MPQemuMsg *msg, QIOChannel *ioc, Error **errp)
 
     if (iolock && !iothread && !qemu_in_coroutine()) {
         /* See above comment why skip locking here. */
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
 
     return ret;
@@ -96,7 +96,7 @@ static ssize_t mpqemu_read(QIOChannel *ioc, void *buf, size_t len, int **fds,
                            size_t *nfds, Error **errp)
 {
     struct iovec iov = { .iov_base = buf, .iov_len = len };
-    bool iolock = qemu_mutex_iothread_locked();
+    bool iolock = qemu_bql_locked();
     bool iothread = qemu_in_iothread();
     int ret = -1;
 
@@ -107,13 +107,13 @@ static ssize_t mpqemu_read(QIOChannel *ioc, void *buf, size_t len, int **fds,
     assert(qemu_in_coroutine() || !iothread);
 
     if (iolock && !iothread && !qemu_in_coroutine()) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     ret = qio_channel_readv_full_all_eof(ioc, &iov, 1, fds, nfds, errp);
 
     if (iolock && !iothread && !qemu_in_coroutine()) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
 
     return (ret <= 0) ? ret : iov.iov_len;
diff --git a/hw/remote/vfio-user-obj.c b/hw/remote/vfio-user-obj.c
index 8b10c32a3c..d0d0386d52 100644
--- a/hw/remote/vfio-user-obj.c
+++ b/hw/remote/vfio-user-obj.c
@@ -400,7 +400,7 @@ static int vfu_object_mr_rw(MemoryRegion *mr, uint8_t *buf, hwaddr offset,
         }
 
         if (release_lock) {
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             release_lock = false;
         }
 
diff --git a/hw/s390x/s390-skeys.c b/hw/s390x/s390-skeys.c
index 8f5159d85d..307344aa80 100644
--- a/hw/s390x/s390-skeys.c
+++ b/hw/s390x/s390-skeys.c
@@ -153,7 +153,7 @@ void qmp_dump_skeys(const char *filename, Error **errp)
         goto out;
     }
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
     guest_phys_blocks_init(&guest_phys_blocks);
     guest_phys_blocks_append(&guest_phys_blocks);
 
diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c
index 24347ab0f7..b5a2d377db 100644
--- a/migration/block-dirty-bitmap.c
+++ b/migration/block-dirty-bitmap.c
@@ -774,7 +774,7 @@ static void dirty_bitmap_state_pending(void *opaque,
     SaveBitmapState *dbms;
     uint64_t pending = 0;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     QSIMPLEQ_FOREACH(dbms, &s->dbms_list, entry) {
         uint64_t gran = bdrv_dirty_bitmap_granularity(dbms->bitmap);
@@ -784,7 +784,7 @@ static void dirty_bitmap_state_pending(void *opaque,
         pending += DIV_ROUND_UP(sectors * BDRV_SECTOR_SIZE, gran);
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     trace_dirty_bitmap_state_pending(pending);
 
diff --git a/migration/block.c b/migration/block.c
index a15f9bddcb..87f36e6e35 100644
--- a/migration/block.c
+++ b/migration/block.c
@@ -269,7 +269,7 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
     int64_t count;
 
     if (bmds->shared_base) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         aio_context_acquire(blk_get_aio_context(bb));
         /* Skip unallocated sectors; intentionally treats failure or
          * partial sector as an allocated sector */
@@ -282,7 +282,7 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
             cur_sector += count >> BDRV_SECTOR_BITS;
         }
         aio_context_release(blk_get_aio_context(bb));
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     if (cur_sector >= total_sectors) {
@@ -321,14 +321,14 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
      * This is ugly and will disappear when we make bdrv_* thread-safe,
      * without the need to acquire the AioContext.
      */
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     aio_context_acquire(blk_get_aio_context(bmds->blk));
     bdrv_reset_dirty_bitmap(bmds->dirty_bitmap, cur_sector * BDRV_SECTOR_SIZE,
                             nr_sectors * BDRV_SECTOR_SIZE);
     blk->aiocb = blk_aio_preadv(bb, cur_sector * BDRV_SECTOR_SIZE, &blk->qiov,
                                 0, blk_mig_read_cb, blk);
     aio_context_release(blk_get_aio_context(bmds->blk));
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     bmds->cur_sector = cur_sector + nr_sectors;
     return (bmds->cur_sector >= total_sectors);
@@ -786,9 +786,9 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
             /* Always called with iothread lock taken for
              * simplicity, block_save_complete also calls it.
              */
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             ret = blk_mig_save_dirty_block(f, 1);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
         }
         if (ret < 0) {
             return ret;
@@ -860,9 +860,9 @@ static void block_state_pending(void *opaque, uint64_t *must_precopy,
     /* Estimate pending number of bytes to send */
     uint64_t pending;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     pending = get_remaining_dirty();
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     blk_mig_lock();
     pending += block_mig_state.submitted * BLK_MIG_BLOCK_SIZE +
diff --git a/migration/colo.c b/migration/colo.c
index 4447e34914..2e68107cfa 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -420,13 +420,13 @@ static int colo_do_checkpoint_transaction(MigrationState *s,
     qio_channel_io_seek(QIO_CHANNEL(bioc), 0, 0, NULL);
     bioc->usage = 0;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     if (failover_get_state() != FAILOVER_STATUS_NONE) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         goto out;
     }
     vm_stop_force_state(RUN_STATE_COLO);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     trace_colo_vm_state_change("run", "stop");
     /*
      * Failover request bh could be called after vm_stop_force_state(),
@@ -435,23 +435,23 @@ static int colo_do_checkpoint_transaction(MigrationState *s,
     if (failover_get_state() != FAILOVER_STATUS_NONE) {
         goto out;
     }
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     replication_do_checkpoint_all(&local_err);
     if (local_err) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         goto out;
     }
 
     colo_send_message(s->to_dst_file, COLO_MESSAGE_VMSTATE_SEND, &local_err);
     if (local_err) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         goto out;
     }
     /* Note: device state is saved into buffer */
     ret = qemu_save_device_state(fb);
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     if (ret < 0) {
         goto out;
     }
@@ -504,9 +504,9 @@ static int colo_do_checkpoint_transaction(MigrationState *s,
 
     ret = 0;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     vm_start();
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     trace_colo_vm_state_change("stop", "run");
 
 out:
@@ -557,15 +557,15 @@ static void colo_process_checkpoint(MigrationState *s)
     fb = qemu_file_new_output(QIO_CHANNEL(bioc));
     object_unref(OBJECT(bioc));
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     replication_start_all(REPLICATION_MODE_PRIMARY, &local_err);
     if (local_err) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         goto out;
     }
 
     vm_start();
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     trace_colo_vm_state_change("stop", "run");
 
     timer_mod(s->colo_delay_timer, qemu_clock_get_ms(QEMU_CLOCK_HOST) +
@@ -639,14 +639,14 @@ out:
 
 void migrate_start_colo_process(MigrationState *s)
 {
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     qemu_event_init(&s->colo_checkpoint_event, false);
     s->colo_delay_timer =  timer_new_ms(QEMU_CLOCK_HOST,
                                 colo_checkpoint_notify, s);
 
     qemu_sem_init(&s->colo_exit_sem, 0);
     colo_process_checkpoint(s);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 }
 
 static void colo_incoming_process_checkpoint(MigrationIncomingState *mis,
@@ -657,9 +657,9 @@ static void colo_incoming_process_checkpoint(MigrationIncomingState *mis,
     Error *local_err = NULL;
     int ret;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     vm_stop_force_state(RUN_STATE_COLO);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     trace_colo_vm_state_change("run", "stop");
 
     /* FIXME: This is unnecessary for periodic checkpoint mode */
@@ -677,10 +677,10 @@ static void colo_incoming_process_checkpoint(MigrationIncomingState *mis,
         return;
     }
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     cpu_synchronize_all_states();
     ret = qemu_loadvm_state_main(mis->from_src_file, mis);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     if (ret < 0) {
         error_setg(errp, "Load VM's live state (ram) error");
@@ -719,14 +719,14 @@ static void colo_incoming_process_checkpoint(MigrationIncomingState *mis,
         return;
     }
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     vmstate_loading = true;
     colo_flush_ram_cache();
     ret = qemu_load_device_state(fb);
     if (ret < 0) {
         error_setg(errp, "COLO: load device state failed");
         vmstate_loading = false;
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         return;
     }
 
@@ -734,7 +734,7 @@ static void colo_incoming_process_checkpoint(MigrationIncomingState *mis,
     if (local_err) {
         error_propagate(errp, local_err);
         vmstate_loading = false;
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         return;
     }
 
@@ -743,7 +743,7 @@ static void colo_incoming_process_checkpoint(MigrationIncomingState *mis,
     if (local_err) {
         error_propagate(errp, local_err);
         vmstate_loading = false;
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         return;
     }
     /* Notify all filters of all NIC to do checkpoint */
@@ -752,13 +752,13 @@ static void colo_incoming_process_checkpoint(MigrationIncomingState *mis,
     if (local_err) {
         error_propagate(errp, local_err);
         vmstate_loading = false;
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         return;
     }
 
     vmstate_loading = false;
     vm_start();
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     trace_colo_vm_state_change("stop", "run");
 
     if (failover_get_state() == FAILOVER_STATUS_RELAUNCH) {
@@ -851,14 +851,14 @@ static void *colo_process_incoming_thread(void *opaque)
     fb = qemu_file_new_input(QIO_CHANNEL(bioc));
     object_unref(OBJECT(bioc));
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     replication_start_all(REPLICATION_MODE_SECONDARY, &local_err);
     if (local_err) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         goto out;
     }
     vm_start();
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     trace_colo_vm_state_change("stop", "run");
 
     colo_send_message(mis->to_src_file, COLO_MESSAGE_CHECKPOINT_READY,
@@ -920,7 +920,7 @@ int coroutine_fn colo_incoming_co(void)
     Error *local_err = NULL;
     QemuThread th;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     if (!migration_incoming_colo_enabled()) {
         return 0;
@@ -940,10 +940,10 @@ int coroutine_fn colo_incoming_co(void)
     qemu_coroutine_yield();
     mis->colo_incoming_co = NULL;
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     /* Wait checkpoint incoming thread exit before free resource */
     qemu_thread_join(&th);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     /* We hold the global iothread lock, so it is safe here */
     colo_release_ram_cache();
diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c
index 036ac017fc..1d705092cd 100644
--- a/migration/dirtyrate.c
+++ b/migration/dirtyrate.c
@@ -90,13 +90,13 @@ static int64_t do_calculate_dirtyrate(DirtyPageRecord dirty_pages,
 
 void global_dirty_log_change(unsigned int flag, bool start)
 {
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     if (start) {
         memory_global_dirty_log_start(flag);
     } else {
         memory_global_dirty_log_stop(flag);
     }
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 /*
@@ -106,12 +106,12 @@ void global_dirty_log_change(unsigned int flag, bool start)
  */
 static void global_dirty_log_sync(unsigned int flag, bool one_shot)
 {
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     memory_global_dirty_log_sync(false);
     if (one_shot) {
         memory_global_dirty_log_stop(flag);
     }
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 static DirtyPageRecord *vcpu_dirty_stat_alloc(VcpuStat *stat)
@@ -610,7 +610,7 @@ static void calculate_dirtyrate_dirty_bitmap(struct DirtyRateConfig config)
     int64_t start_time;
     DirtyPageRecord dirty_pages;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     memory_global_dirty_log_start(GLOBAL_DIRTY_DIRTY_RATE);
 
     /*
@@ -627,7 +627,7 @@ static void calculate_dirtyrate_dirty_bitmap(struct DirtyRateConfig config)
      * KVM_DIRTY_LOG_MANUAL_PROTECT_ENABLE cap is enabled.
      */
     dirtyrate_manual_reset_protect();
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     record_dirtypages_bitmap(&dirty_pages, true);
 
diff --git a/migration/migration.c b/migration/migration.c
index 28a34c9068..b153133fba 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -1293,12 +1293,12 @@ static void migrate_fd_cleanup(MigrationState *s)
         QEMUFile *tmp;
 
         trace_migrate_fd_cleanup();
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         if (s->migration_thread_running) {
             qemu_thread_join(&s->thread);
             s->migration_thread_running = false;
         }
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
 
         multifd_save_cleanup();
         qemu_mutex_lock(&s->qemu_file_lock);
@@ -2410,7 +2410,7 @@ static int postcopy_start(MigrationState *ms, Error **errp)
     }
 
     trace_postcopy_start();
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     trace_postcopy_start_set_run();
 
     migration_downtime_start(ms);
@@ -2519,7 +2519,7 @@ static int postcopy_start(MigrationState *ms, Error **errp)
 
     migration_downtime_end(ms);
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     if (migrate_postcopy_ram()) {
         /*
@@ -2560,7 +2560,7 @@ fail:
             error_report_err(local_err);
         }
     }
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     return -1;
 }
 
@@ -2594,14 +2594,14 @@ static int migration_maybe_pause(MigrationState *s,
      * wait for the 'pause_sem' semaphore.
      */
     if (s->state != MIGRATION_STATUS_CANCELLING) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         migrate_set_state(&s->state, *current_active_state,
                           MIGRATION_STATUS_PRE_SWITCHOVER);
         qemu_sem_wait(&s->pause_sem);
         migrate_set_state(&s->state, MIGRATION_STATUS_PRE_SWITCHOVER,
                           new_state);
         *current_active_state = new_state;
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
 
     return s->state == new_state ? 0 : -EINVAL;
@@ -2612,7 +2612,7 @@ static int migration_completion_precopy(MigrationState *s,
 {
     int ret;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     migration_downtime_start(s);
     qemu_system_wakeup_request(QEMU_WAKEUP_REASON_OTHER, NULL);
 
@@ -2640,7 +2640,7 @@ static int migration_completion_precopy(MigrationState *s,
     ret = qemu_savevm_state_complete_precopy(s->to_dst_file, false,
                                              s->block_inactive);
 out_unlock:
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     return ret;
 }
 
@@ -2648,9 +2648,9 @@ static void migration_completion_postcopy(MigrationState *s)
 {
     trace_migration_completion_postcopy_end();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_savevm_state_complete_postcopy(s->to_dst_file);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     /*
      * Shutdown the postcopy fast path thread.  This is only needed when dest
@@ -2674,14 +2674,14 @@ static void migration_completion_failed(MigrationState *s,
          */
         Error *local_err = NULL;
 
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         bdrv_activate_all(&local_err);
         if (local_err) {
             error_report_err(local_err);
         } else {
             s->block_inactive = false;
         }
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     migrate_set_state(&s->state, current_active_state,
@@ -3121,7 +3121,7 @@ static void migration_iteration_finish(MigrationState *s)
     /* If we enabled cpu throttling for auto-converge, turn it off. */
     cpu_throttle_stop();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     switch (s->state) {
     case MIGRATION_STATUS_COMPLETED:
         migration_calculate_complete(s);
@@ -3152,7 +3152,7 @@ static void migration_iteration_finish(MigrationState *s)
         break;
     }
     migrate_fd_cleanup_schedule(s);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 static void bg_migration_iteration_finish(MigrationState *s)
@@ -3164,7 +3164,7 @@ static void bg_migration_iteration_finish(MigrationState *s)
      */
     ram_write_tracking_stop();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     switch (s->state) {
     case MIGRATION_STATUS_COMPLETED:
         migration_calculate_complete(s);
@@ -3183,7 +3183,7 @@ static void bg_migration_iteration_finish(MigrationState *s)
     }
 
     migrate_fd_cleanup_schedule(s);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 /*
@@ -3305,9 +3305,9 @@ static void *migration_thread(void *opaque)
     object_ref(OBJECT(s));
     update_iteration_initial_status(s);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_savevm_state_header(s->to_dst_file);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     /*
      * If we opened the return path, we need to make sure dst has it
@@ -3335,9 +3335,9 @@ static void *migration_thread(void *opaque)
         qemu_savevm_send_colo_enable(s->to_dst_file);
     }
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_savevm_state_setup(s->to_dst_file);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     qemu_savevm_wait_unplug(s, MIGRATION_STATUS_SETUP,
                                MIGRATION_STATUS_ACTIVE);
@@ -3448,10 +3448,10 @@ static void *bg_migration_thread(void *opaque)
     ram_write_tracking_prepare();
 #endif
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_savevm_state_header(s->to_dst_file);
     qemu_savevm_state_setup(s->to_dst_file);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     qemu_savevm_wait_unplug(s, MIGRATION_STATUS_SETUP,
                                MIGRATION_STATUS_ACTIVE);
@@ -3461,7 +3461,7 @@ static void *bg_migration_thread(void *opaque)
     trace_migration_thread_setup_complete();
     migration_downtime_start(s);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     /*
      * If VM is currently in suspended state, then, to make a valid runstate
@@ -3504,7 +3504,7 @@ static void *bg_migration_thread(void *opaque)
     s->vm_start_bh = qemu_bh_new(bg_migration_vm_start_bh, s);
     qemu_bh_schedule(s->vm_start_bh);
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     while (migration_is_active(s)) {
         MigIterateState iter_state = bg_migration_iteration_run(s);
@@ -3533,7 +3533,7 @@ fail:
     if (early_fail) {
         migrate_set_state(&s->state, MIGRATION_STATUS_ACTIVE,
                 MIGRATION_STATUS_FAILED);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     bg_migration_iteration_finish(s);
diff --git a/migration/ram.c b/migration/ram.c
index 8c7886ab79..f274bcf655 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2984,9 +2984,9 @@ static int ram_save_setup(QEMUFile *f, void *opaque)
     migration_ops = g_malloc0(sizeof(MigrationOps));
     migration_ops->ram_save_target_page = ram_save_target_page_legacy;
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     ret = multifd_send_sync_main(f);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     if (ret < 0) {
         return ret;
     }
@@ -3221,11 +3221,11 @@ static void ram_state_pending_exact(void *opaque, uint64_t *must_precopy,
     uint64_t remaining_size = rs->migration_dirty_pages * TARGET_PAGE_SIZE;
 
     if (!migration_in_postcopy() && remaining_size < s->threshold_size) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         WITH_RCU_READ_LOCK_GUARD() {
             migration_bitmap_sync_precopy(rs, false);
         }
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         remaining_size = rs->migration_dirty_pages * TARGET_PAGE_SIZE;
     }
 
@@ -3453,7 +3453,7 @@ void colo_incoming_start_dirty_log(void)
 {
     RAMBlock *block = NULL;
     /* For memory_global_dirty_log_start below. */
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_mutex_lock_ramlist();
 
     memory_global_dirty_log_sync(false);
@@ -3467,7 +3467,7 @@ void colo_incoming_start_dirty_log(void)
     }
     ram_state->migration_dirty_pages = 0;
     qemu_mutex_unlock_ramlist();
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 /* It is need to hold the global lock to call this helper */
diff --git a/replay/replay-internal.c b/replay/replay-internal.c
index 77d0c82327..04c9c6374b 100644
--- a/replay/replay-internal.c
+++ b/replay/replay-internal.c
@@ -216,7 +216,7 @@ void replay_mutex_lock(void)
 {
     if (replay_mode != REPLAY_MODE_NONE) {
         unsigned long id;
-        g_assert(!qemu_mutex_iothread_locked());
+        g_assert(!qemu_bql_locked());
         g_assert(!replay_mutex_locked());
         qemu_mutex_lock(&lock);
         id = mutex_tail++;
diff --git a/semihosting/console.c b/semihosting/console.c
index 5d61e8207e..666285541d 100644
--- a/semihosting/console.c
+++ b/semihosting/console.c
@@ -43,7 +43,7 @@ static SemihostingConsole console;
 static int console_can_read(void *opaque)
 {
     SemihostingConsole *c = opaque;
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     return (int)fifo8_num_free(&c->fifo);
 }
 
@@ -58,7 +58,7 @@ static void console_wake_up(gpointer data, gpointer user_data)
 static void console_read(void *opaque, const uint8_t *buf, int size)
 {
     SemihostingConsole *c = opaque;
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     while (size-- && !fifo8_is_full(&c->fifo)) {
         fifo8_push(&c->fifo, *buf++);
     }
@@ -70,7 +70,7 @@ bool qemu_semihosting_console_ready(void)
 {
     SemihostingConsole *c = &console;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     return !fifo8_is_empty(&c->fifo);
 }
 
@@ -78,7 +78,7 @@ void qemu_semihosting_console_block_until_ready(CPUState *cs)
 {
     SemihostingConsole *c = &console;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     /* Block if the fifo is completely empty. */
     if (fifo8_is_empty(&c->fifo)) {
diff --git a/stubs/iothread-lock.c b/stubs/iothread-lock.c
index 5b45b7fc8b..1f24c3203a 100644
--- a/stubs/iothread-lock.c
+++ b/stubs/iothread-lock.c
@@ -1,15 +1,15 @@
 #include "qemu/osdep.h"
 #include "qemu/main-loop.h"
 
-bool qemu_mutex_iothread_locked(void)
+bool qemu_bql_locked(void)
 {
     return false;
 }
 
-void qemu_mutex_lock_iothread_impl(const char *file, int line)
+void qemu_bql_lock_impl(const char *file, int line)
 {
 }
 
-void qemu_mutex_unlock_iothread(void)
+void qemu_bql_unlock(void)
 {
 }
diff --git a/system/cpu-throttle.c b/system/cpu-throttle.c
index d9bb30a223..e98836311b 100644
--- a/system/cpu-throttle.c
+++ b/system/cpu-throttle.c
@@ -57,9 +57,9 @@ static void cpu_throttle_thread(CPUState *cpu, run_on_cpu_data opaque)
             qemu_cond_timedwait_iothread(cpu->halt_cond,
                                          sleeptime_ns / SCALE_MS);
         } else {
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             g_usleep(sleeptime_ns / SCALE_US);
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
         }
         sleeptime_ns = endtime_ns - qemu_clock_get_ns(QEMU_CLOCK_REALTIME);
     }
diff --git a/system/cpus.c b/system/cpus.c
index a444a747f0..d5b98c11f5 100644
--- a/system/cpus.c
+++ b/system/cpus.c
@@ -481,35 +481,35 @@ bool qemu_in_vcpu_thread(void)
     return current_cpu && qemu_cpu_is_self(current_cpu);
 }
 
-QEMU_DEFINE_STATIC_CO_TLS(bool, iothread_locked)
+QEMU_DEFINE_STATIC_CO_TLS(bool, bql_locked)
 
-bool qemu_mutex_iothread_locked(void)
+bool qemu_bql_locked(void)
 {
-    return get_iothread_locked();
+    return get_bql_locked();
 }
 
 bool qemu_in_main_thread(void)
 {
-    return qemu_mutex_iothread_locked();
+    return qemu_bql_locked();
 }
 
 /*
  * The BQL is taken from so many places that it is worth profiling the
  * callers directly, instead of funneling them all through a single function.
  */
-void qemu_mutex_lock_iothread_impl(const char *file, int line)
+void qemu_bql_lock_impl(const char *file, int line)
 {
     QemuMutexLockFunc bql_lock = qatomic_read(&qemu_bql_mutex_lock_func);
 
-    g_assert(!qemu_mutex_iothread_locked());
+    g_assert(!qemu_bql_locked());
     bql_lock(&qemu_global_mutex, file, line);
-    set_iothread_locked(true);
+    set_bql_locked(true);
 }
 
-void qemu_mutex_unlock_iothread(void)
+void qemu_bql_unlock(void)
 {
-    g_assert(qemu_mutex_iothread_locked());
-    set_iothread_locked(false);
+    g_assert(qemu_bql_locked());
+    set_bql_locked(false);
     qemu_mutex_unlock(&qemu_global_mutex);
 }
 
@@ -577,9 +577,9 @@ void pause_all_vcpus(void)
         }
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     replay_mutex_lock();
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 }
 
 void cpu_resume(CPUState *cpu)
@@ -608,9 +608,9 @@ void cpu_remove_sync(CPUState *cpu)
     cpu->stop = true;
     cpu->unplug = true;
     qemu_cpu_kick(cpu);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     qemu_thread_join(cpu->thread);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 }
 
 void cpus_register_accel(const AccelOpsClass *ops)
diff --git a/system/dirtylimit.c b/system/dirtylimit.c
index 495c7a7082..f89bf6b61f 100644
--- a/system/dirtylimit.c
+++ b/system/dirtylimit.c
@@ -148,9 +148,9 @@ void vcpu_dirty_rate_stat_stop(void)
 {
     qatomic_set(&vcpu_dirty_rate_stat->running, 0);
     dirtylimit_state_unlock();
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     qemu_thread_join(&vcpu_dirty_rate_stat->thread);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     dirtylimit_state_lock();
 }
 
diff --git a/system/memory.c b/system/memory.c
index 4d9cb0a7ff..8d78334cb2 100644
--- a/system/memory.c
+++ b/system/memory.c
@@ -1119,7 +1119,7 @@ void memory_region_transaction_commit(void)
     AddressSpace *as;
 
     assert(memory_region_transaction_depth);
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     --memory_region_transaction_depth;
     if (!memory_region_transaction_depth) {
diff --git a/system/physmem.c b/system/physmem.c
index a63853a7bc..c136675876 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -2639,8 +2639,8 @@ bool prepare_mmio_access(MemoryRegion *mr)
 {
     bool release_lock = false;
 
-    if (!qemu_mutex_iothread_locked()) {
-        qemu_mutex_lock_iothread();
+    if (!qemu_bql_locked()) {
+        qemu_bql_lock();
         release_lock = true;
     }
     if (mr->flush_coalesced_mmio) {
@@ -2721,7 +2721,7 @@ static MemTxResult flatview_write_continue(FlatView *fv, hwaddr addr,
         }
 
         if (release_lock) {
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             release_lock = false;
         }
 
@@ -2799,7 +2799,7 @@ MemTxResult flatview_read_continue(FlatView *fv, hwaddr addr,
         }
 
         if (release_lock) {
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             release_lock = false;
         }
 
diff --git a/system/runstate.c b/system/runstate.c
index ea9d6c2a32..5718e6827c 100644
--- a/system/runstate.c
+++ b/system/runstate.c
@@ -810,7 +810,7 @@ void qemu_init_subsystems(void)
 
     qemu_init_cpu_list();
     qemu_init_cpu_loop();
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     atexit(qemu_run_exit_notifiers);
 
diff --git a/system/watchpoint.c b/system/watchpoint.c
index ba5ad13352..d9cc71dd33 100644
--- a/system/watchpoint.c
+++ b/system/watchpoint.c
@@ -155,9 +155,9 @@ void cpu_check_watchpoint(CPUState *cpu, vaddr addr, vaddr len,
          * Now raise the debug interrupt so that it will
          * trigger after the current instruction.
          */
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_interrupt(cpu, CPU_INTERRUPT_DEBUG);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         return;
     }
 
diff --git a/target/arm/arm-powerctl.c b/target/arm/arm-powerctl.c
index c078849403..aec104834d 100644
--- a/target/arm/arm-powerctl.c
+++ b/target/arm/arm-powerctl.c
@@ -88,7 +88,7 @@ static void arm_set_cpu_on_async_work(CPUState *target_cpu_state,
     g_free(info);
 
     /* Finally set the power status */
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
     target_cpu->power_state = PSCI_ON;
 }
 
@@ -99,7 +99,7 @@ int arm_set_cpu_on(uint64_t cpuid, uint64_t entry, uint64_t context_id,
     ARMCPU *target_cpu;
     struct CpuOnInfo *info;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     DPRINTF("cpu %" PRId64 " (EL %d, %s) @ 0x%" PRIx64 " with R0 = 0x%" PRIx64
             "\n", cpuid, target_el, target_aa64 ? "aarch64" : "aarch32", entry,
@@ -196,7 +196,7 @@ static void arm_set_cpu_on_and_reset_async_work(CPUState *target_cpu_state,
     target_cpu_state->halted = 0;
 
     /* Finally set the power status */
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
     target_cpu->power_state = PSCI_ON;
 }
 
@@ -205,7 +205,7 @@ int arm_set_cpu_on_and_reset(uint64_t cpuid)
     CPUState *target_cpu_state;
     ARMCPU *target_cpu;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     /* Retrieve the cpu we are powering up */
     target_cpu_state = arm_get_cpu_by_id(cpuid);
@@ -247,7 +247,7 @@ static void arm_set_cpu_off_async_work(CPUState *target_cpu_state,
 {
     ARMCPU *target_cpu = ARM_CPU(target_cpu_state);
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
     target_cpu->power_state = PSCI_OFF;
     target_cpu_state->halted = 1;
     target_cpu_state->exception_index = EXCP_HLT;
@@ -258,7 +258,7 @@ int arm_set_cpu_off(uint64_t cpuid)
     CPUState *target_cpu_state;
     ARMCPU *target_cpu;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     DPRINTF("cpu %" PRId64 "\n", cpuid);
 
@@ -294,7 +294,7 @@ int arm_reset_cpu(uint64_t cpuid)
     CPUState *target_cpu_state;
     ARMCPU *target_cpu;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     DPRINTF("cpu %" PRId64 "\n", cpuid);
 
diff --git a/target/arm/helper.c b/target/arm/helper.c
index 2746d3fdac..f472043986 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -5831,7 +5831,7 @@ static void do_hcr_write(CPUARMState *env, uint64_t value, uint64_t valid_mask)
      * VFIQ are masked unless running at EL0 or EL1, and HCR
      * can only be written at EL2.
      */
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     arm_cpu_update_virq(cpu);
     arm_cpu_update_vfiq(cpu);
     arm_cpu_update_vserr(cpu);
@@ -11344,7 +11344,7 @@ void arm_cpu_do_interrupt(CPUState *cs)
      * BQL needs to be held for any modification of
      * cs->interrupt_request.
      */
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     arm_call_pre_el_change_hook(cpu);
 
diff --git a/target/arm/hvf/hvf.c b/target/arm/hvf/hvf.c
index 757e13b0f9..017fd13c5d 100644
--- a/target/arm/hvf/hvf.c
+++ b/target/arm/hvf/hvf.c
@@ -1718,9 +1718,9 @@ static void hvf_wait_for_ipi(CPUState *cpu, struct timespec *ts)
      * sleeping.
      */
     qatomic_set_mb(&cpu->thread_kicked, false);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     pselect(0, 0, 0, 0, ts, &cpu->accel->unblock_ipi_mask);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 }
 
 static void hvf_wfi(CPUState *cpu)
@@ -1821,7 +1821,7 @@ int hvf_vcpu_exec(CPUState *cpu)
 
     flush_cpu_state(cpu);
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     assert_hvf_ok(hv_vcpu_run(cpu->accel->fd));
 
     /* handle VMEXIT */
@@ -1830,7 +1830,7 @@ int hvf_vcpu_exec(CPUState *cpu)
     uint32_t ec = syn_get_ec(syndrome);
 
     ret = 0;
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     switch (exit_reason) {
     case HV_EXIT_REASON_EXCEPTION:
         /* This is the main one, handle below. */
diff --git a/target/arm/kvm.c b/target/arm/kvm.c
index 7903e2ddde..431b82e509 100644
--- a/target/arm/kvm.c
+++ b/target/arm/kvm.c
@@ -833,7 +833,7 @@ MemTxAttrs kvm_arch_post_run(CPUState *cs, struct kvm_run *run)
     if (run->s.regs.device_irq_level != cpu->device_irq_level) {
         switched_level = cpu->device_irq_level ^ run->s.regs.device_irq_level;
 
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
 
         if (switched_level & KVM_ARM_DEV_EL1_VTIMER) {
             qemu_set_irq(cpu->gt_timer_outputs[GTIMER_VIRT],
@@ -862,7 +862,7 @@ MemTxAttrs kvm_arch_post_run(CPUState *cs, struct kvm_run *run)
 
         /* We also mark unknown levels as processed to not waste cycles */
         cpu->device_irq_level = run->s.regs.device_irq_level;
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     return MEMTXATTRS_UNSPECIFIED;
diff --git a/target/arm/kvm64.c b/target/arm/kvm64.c
index 3c175c93a7..282dc5920e 100644
--- a/target/arm/kvm64.c
+++ b/target/arm/kvm64.c
@@ -1233,9 +1233,9 @@ bool kvm_arm_handle_debug(CPUState *cs, struct kvm_debug_exit_arch *debug_exit)
     env->exception.syndrome = debug_exit->hsr;
     env->exception.vaddress = debug_exit->far;
     env->exception.target_el = 1;
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     arm_cpu_do_interrupt(cs);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return false;
 }
diff --git a/target/arm/ptw.c b/target/arm/ptw.c
index 1762b058ae..e3cc0a7ab8 100644
--- a/target/arm/ptw.c
+++ b/target/arm/ptw.c
@@ -772,9 +772,9 @@ static uint64_t arm_casq_ptw(CPUARMState *env, uint64_t old_val,
 #if !TCG_OVERSIZED_GUEST
 # error "Unexpected configuration"
 #endif
-    bool locked = qemu_mutex_iothread_locked();
+    bool locked = qemu_bql_locked();
     if (!locked) {
-       qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
     if (ptw->out_be) {
         cur_val = ldq_be_p(host);
@@ -788,7 +788,7 @@ static uint64_t arm_casq_ptw(CPUARMState *env, uint64_t old_val,
         }
     }
     if (!locked) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 #endif
 
diff --git a/target/arm/tcg/helper-a64.c b/target/arm/tcg/helper-a64.c
index 8ad84623d3..22d453e6e0 100644
--- a/target/arm/tcg/helper-a64.c
+++ b/target/arm/tcg/helper-a64.c
@@ -809,9 +809,9 @@ void HELPER(exception_return)(CPUARMState *env, uint64_t new_pc)
         goto illegal_return;
     }
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     arm_call_pre_el_change_hook(env_archcpu(env));
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     if (!return_to_aa64) {
         env->aarch64 = false;
@@ -876,9 +876,9 @@ void HELPER(exception_return)(CPUARMState *env, uint64_t new_pc)
      */
     aarch64_sve_change_el(env, cur_el, new_el, return_to_aa64);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     arm_call_el_change_hook(env_archcpu(env));
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return;
 
diff --git a/target/arm/tcg/m_helper.c b/target/arm/tcg/m_helper.c
index a26adb75aa..5f38b9a4a1 100644
--- a/target/arm/tcg/m_helper.c
+++ b/target/arm/tcg/m_helper.c
@@ -374,7 +374,7 @@ void HELPER(v7m_preserve_fp_state)(CPUARMState *env)
     bool take_exception;
 
     /* Take the iothread lock as we are going to touch the NVIC */
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     /* Check the background context had access to the FPU */
     if (!v7m_cpacr_pass(env, is_secure, is_priv)) {
@@ -428,7 +428,7 @@ void HELPER(v7m_preserve_fp_state)(CPUARMState *env)
     take_exception = !stacked_ok &&
         armv7m_nvic_can_take_pending_exception(env->nvic);
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     if (take_exception) {
         raise_exception_ra(env, EXCP_LAZYFP, 0, 1, GETPC());
diff --git a/target/arm/tcg/op_helper.c b/target/arm/tcg/op_helper.c
index ea08936a85..46a14aac52 100644
--- a/target/arm/tcg/op_helper.c
+++ b/target/arm/tcg/op_helper.c
@@ -427,9 +427,9 @@ void HELPER(cpsr_write_eret)(CPUARMState *env, uint32_t val)
 {
     uint32_t mask;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     arm_call_pre_el_change_hook(env_archcpu(env));
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     mask = aarch32_cpsr_valid_mask(env->features, &env_archcpu(env)->isar);
     cpsr_write(env, val, mask, CPSRWriteExceptionReturn);
@@ -442,9 +442,9 @@ void HELPER(cpsr_write_eret)(CPUARMState *env, uint32_t val)
     env->regs[15] &= (env->thumb ? ~1 : ~3);
     arm_rebuild_hflags(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     arm_call_el_change_hook(env_archcpu(env));
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 /* Access to user mode registers from privileged modes.  */
@@ -803,9 +803,9 @@ void HELPER(set_cp_reg)(CPUARMState *env, const void *rip, uint32_t value)
     const ARMCPRegInfo *ri = rip;
 
     if (ri->type & ARM_CP_IO) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         ri->writefn(env, ri, value);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     } else {
         ri->writefn(env, ri, value);
     }
@@ -817,9 +817,9 @@ uint32_t HELPER(get_cp_reg)(CPUARMState *env, const void *rip)
     uint32_t res;
 
     if (ri->type & ARM_CP_IO) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         res = ri->readfn(env, ri);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     } else {
         res = ri->readfn(env, ri);
     }
@@ -832,9 +832,9 @@ void HELPER(set_cp_reg64)(CPUARMState *env, const void *rip, uint64_t value)
     const ARMCPRegInfo *ri = rip;
 
     if (ri->type & ARM_CP_IO) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         ri->writefn(env, ri, value);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     } else {
         ri->writefn(env, ri, value);
     }
@@ -846,9 +846,9 @@ uint64_t HELPER(get_cp_reg64)(CPUARMState *env, const void *rip)
     uint64_t res;
 
     if (ri->type & ARM_CP_IO) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         res = ri->readfn(env, ri);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     } else {
         res = ri->readfn(env, ri);
     }
diff --git a/target/arm/tcg/psci.c b/target/arm/tcg/psci.c
index 6c1239bb96..51af10db99 100644
--- a/target/arm/tcg/psci.c
+++ b/target/arm/tcg/psci.c
@@ -107,7 +107,7 @@ void arm_handle_psci_call(ARMCPU *cpu)
             }
             target_cpu = ARM_CPU(target_cpu_state);
 
-            g_assert(qemu_mutex_iothread_locked());
+            g_assert(qemu_bql_locked());
             ret = target_cpu->power_state;
             break;
         default:
diff --git a/target/hppa/int_helper.c b/target/hppa/int_helper.c
index 98e9d688f6..9ef8cf7ff4 100644
--- a/target/hppa/int_helper.c
+++ b/target/hppa/int_helper.c
@@ -84,17 +84,17 @@ void hppa_cpu_alarm_timer(void *opaque)
 void HELPER(write_eirr)(CPUHPPAState *env, target_ulong val)
 {
     env->cr[CR_EIRR] &= ~val;
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     eval_interrupt(env_archcpu(env));
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(write_eiem)(CPUHPPAState *env, target_ulong val)
 {
     env->cr[CR_EIEM] = val;
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     eval_interrupt(env_archcpu(env));
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void hppa_cpu_do_interrupt(CPUState *cs)
diff --git a/target/i386/hvf/hvf.c b/target/i386/hvf/hvf.c
index 20b9ca3ef5..2cc8b115f7 100644
--- a/target/i386/hvf/hvf.c
+++ b/target/i386/hvf/hvf.c
@@ -429,9 +429,9 @@ int hvf_vcpu_exec(CPUState *cpu)
         }
         vmx_update_tpr(cpu);
 
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         if (!cpu_is_bsp(X86_CPU(cpu)) && cpu->halted) {
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             return EXCP_HLT;
         }
 
@@ -450,7 +450,7 @@ int hvf_vcpu_exec(CPUState *cpu)
         rip = rreg(cpu->accel->fd, HV_X86_RIP);
         env->eflags = rreg(cpu->accel->fd, HV_X86_RFLAGS);
 
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
 
         update_apic_tpr(cpu);
         current_cpu = cpu;
diff --git a/target/i386/kvm/hyperv.c b/target/i386/kvm/hyperv.c
index e3ac978648..dcad09f6c9 100644
--- a/target/i386/kvm/hyperv.c
+++ b/target/i386/kvm/hyperv.c
@@ -45,9 +45,9 @@ void hyperv_x86_synic_update(X86CPU *cpu)
 
 static void async_synic_update(CPUState *cs, run_on_cpu_data data)
 {
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     hyperv_x86_synic_update(X86_CPU(cs));
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 int kvm_hv_handle_exit(X86CPU *cpu, struct kvm_hyperv_exit *exit)
diff --git a/target/i386/kvm/kvm.c b/target/i386/kvm/kvm.c
index 11b8177eff..084f5e6b8b 100644
--- a/target/i386/kvm/kvm.c
+++ b/target/i386/kvm/kvm.c
@@ -4705,9 +4705,9 @@ void kvm_arch_pre_run(CPUState *cpu, struct kvm_run *run)
     /* Inject NMI */
     if (cpu->interrupt_request & (CPU_INTERRUPT_NMI | CPU_INTERRUPT_SMI)) {
         if (cpu->interrupt_request & CPU_INTERRUPT_NMI) {
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             cpu->interrupt_request &= ~CPU_INTERRUPT_NMI;
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             DPRINTF("injected NMI\n");
             ret = kvm_vcpu_ioctl(cpu, KVM_NMI);
             if (ret < 0) {
@@ -4716,9 +4716,9 @@ void kvm_arch_pre_run(CPUState *cpu, struct kvm_run *run)
             }
         }
         if (cpu->interrupt_request & CPU_INTERRUPT_SMI) {
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             cpu->interrupt_request &= ~CPU_INTERRUPT_SMI;
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             DPRINTF("injected SMI\n");
             ret = kvm_vcpu_ioctl(cpu, KVM_SMI);
             if (ret < 0) {
@@ -4729,7 +4729,7 @@ void kvm_arch_pre_run(CPUState *cpu, struct kvm_run *run)
     }
 
     if (!kvm_pic_in_kernel()) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
 
     /* Force the VCPU out of its inner loop to process any INIT requests
@@ -4782,7 +4782,7 @@ void kvm_arch_pre_run(CPUState *cpu, struct kvm_run *run)
         DPRINTF("setting tpr\n");
         run->cr8 = cpu_get_apic_tpr(x86_cpu->apic_state);
 
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 }
 
@@ -4830,12 +4830,12 @@ MemTxAttrs kvm_arch_post_run(CPUState *cpu, struct kvm_run *run)
     /* We need to protect the apic state against concurrent accesses from
      * different threads in case the userspace irqchip is used. */
     if (!kvm_irqchip_in_kernel()) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
     cpu_set_apic_tpr(x86_cpu->apic_state, run->cr8);
     cpu_set_apic_base(x86_cpu->apic_state, run->apic_base);
     if (!kvm_irqchip_in_kernel()) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     return cpu_get_mem_attrs(env);
 }
@@ -5269,17 +5269,17 @@ int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run)
     switch (run->exit_reason) {
     case KVM_EXIT_HLT:
         DPRINTF("handle_hlt\n");
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         ret = kvm_handle_halt(cpu);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         break;
     case KVM_EXIT_SET_TPR:
         ret = 0;
         break;
     case KVM_EXIT_TPR_ACCESS:
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         ret = kvm_handle_tpr_access(cpu);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         break;
     case KVM_EXIT_FAIL_ENTRY:
         code = run->fail_entry.hardware_entry_failure_reason;
@@ -5305,9 +5305,9 @@ int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run)
         break;
     case KVM_EXIT_DEBUG:
         DPRINTF("kvm_exit_debug\n");
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         ret = kvm_handle_debug(cpu, &run->debug.arch);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         break;
     case KVM_EXIT_HYPERV:
         ret = kvm_hv_handle_exit(cpu, &run->hyperv);
diff --git a/target/i386/kvm/xen-emu.c b/target/i386/kvm/xen-emu.c
index c0631f9cf4..f79f5d270f 100644
--- a/target/i386/kvm/xen-emu.c
+++ b/target/i386/kvm/xen-emu.c
@@ -403,7 +403,7 @@ void kvm_xen_maybe_deassert_callback(CPUState *cs)
 
     /* If the evtchn_upcall_pending flag is cleared, turn the GSI off. */
     if (!vi->evtchn_upcall_pending) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         /*
          * Check again now we have the lock, because it may have been
          * asserted in the interim. And we don't want to take the lock
@@ -413,7 +413,7 @@ void kvm_xen_maybe_deassert_callback(CPUState *cs)
             X86_CPU(cs)->env.xen_callback_asserted = false;
             xen_evtchn_set_callback_level(0);
         }
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 }
 
@@ -773,9 +773,9 @@ static bool handle_set_param(struct kvm_xen_exit *exit, X86CPU *cpu,
 
     switch (hp.index) {
     case HVM_PARAM_CALLBACK_IRQ:
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         err = xen_evtchn_set_callback_param(hp.value);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         xen_set_long_mode(exit->u.hcall.longmode);
         break;
     default:
@@ -1408,7 +1408,7 @@ int kvm_xen_soft_reset(void)
     CPUState *cpu;
     int err;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     trace_kvm_xen_soft_reset();
 
@@ -1481,9 +1481,9 @@ static int schedop_shutdown(CPUState *cs, uint64_t arg)
         break;
 
     case SHUTDOWN_soft_reset:
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         ret = kvm_xen_soft_reset();
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         break;
 
     default:
diff --git a/target/i386/nvmm/nvmm-accel-ops.c b/target/i386/nvmm/nvmm-accel-ops.c
index 6c46101ac1..387ccfcce5 100644
--- a/target/i386/nvmm/nvmm-accel-ops.c
+++ b/target/i386/nvmm/nvmm-accel-ops.c
@@ -25,7 +25,7 @@ static void *qemu_nvmm_cpu_thread_fn(void *arg)
 
     rcu_register_thread();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_thread_get_self(cpu->thread);
     cpu->thread_id = qemu_get_thread_id();
     current_cpu = cpu;
@@ -55,7 +55,7 @@ static void *qemu_nvmm_cpu_thread_fn(void *arg)
 
     nvmm_destroy_vcpu(cpu);
     cpu_thread_signal_destroyed(cpu);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     rcu_unregister_thread();
     return NULL;
 }
diff --git a/target/i386/nvmm/nvmm-all.c b/target/i386/nvmm/nvmm-all.c
index 7d752bc5e0..9fa5b2e34a 100644
--- a/target/i386/nvmm/nvmm-all.c
+++ b/target/i386/nvmm/nvmm-all.c
@@ -399,7 +399,7 @@ nvmm_vcpu_pre_run(CPUState *cpu)
     uint8_t tpr;
     int ret;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     tpr = cpu_get_apic_tpr(x86_cpu->apic_state);
     if (tpr != qcpu->tpr) {
@@ -462,7 +462,7 @@ nvmm_vcpu_pre_run(CPUState *cpu)
         }
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 /*
@@ -485,9 +485,9 @@ nvmm_vcpu_post_run(CPUState *cpu, struct nvmm_vcpu_exit *exit)
     tpr = exit->exitstate.cr8;
     if (qcpu->tpr != tpr) {
         qcpu->tpr = tpr;
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_set_apic_tpr(x86_cpu->apic_state, qcpu->tpr);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 }
 
@@ -648,7 +648,7 @@ nvmm_handle_halted(struct nvmm_machine *mach, CPUState *cpu,
     CPUX86State *env = cpu_env(cpu);
     int ret = 0;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     if (!((cpu->interrupt_request & CPU_INTERRUPT_HARD) &&
           (env->eflags & IF_MASK)) &&
@@ -658,7 +658,7 @@ nvmm_handle_halted(struct nvmm_machine *mach, CPUState *cpu,
         ret = 1;
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return ret;
 }
@@ -721,7 +721,7 @@ nvmm_vcpu_loop(CPUState *cpu)
         return 0;
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     cpu_exec_start(cpu);
 
     /*
@@ -806,16 +806,16 @@ nvmm_vcpu_loop(CPUState *cpu)
             error_report("NVMM: Unexpected VM exit code 0x%lx [hw=0x%lx]",
                 exit->reason, exit->u.inv.hwcode);
             nvmm_get_registers(cpu);
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             qemu_system_guest_panicked(cpu_get_crash_info(cpu));
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             ret = -1;
             break;
         }
     } while (ret == 0);
 
     cpu_exec_end(cpu);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     qatomic_set(&cpu->exit_request, false);
 
diff --git a/target/i386/tcg/sysemu/fpu_helper.c b/target/i386/tcg/sysemu/fpu_helper.c
index 93506cdd94..4960e97ebc 100644
--- a/target/i386/tcg/sysemu/fpu_helper.c
+++ b/target/i386/tcg/sysemu/fpu_helper.c
@@ -32,9 +32,9 @@ void x86_register_ferr_irq(qemu_irq irq)
 void fpu_check_raise_ferr_irq(CPUX86State *env)
 {
     if (ferr_irq && !(env->hflags2 & HF2_IGNNE_MASK)) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         qemu_irq_raise(ferr_irq);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         return;
     }
 }
@@ -49,7 +49,7 @@ void cpu_set_ignne(void)
 {
     CPUX86State *env = &X86_CPU(first_cpu)->env;
 
-    assert(qemu_mutex_iothread_locked());
+    assert(qemu_bql_locked());
 
     env->hflags2 |= HF2_IGNNE_MASK;
     /*
diff --git a/target/i386/tcg/sysemu/misc_helper.c b/target/i386/tcg/sysemu/misc_helper.c
index e1528b7f80..e859879f4f 100644
--- a/target/i386/tcg/sysemu/misc_helper.c
+++ b/target/i386/tcg/sysemu/misc_helper.c
@@ -118,9 +118,9 @@ void helper_write_crN(CPUX86State *env, int reg, target_ulong t0)
         break;
     case 8:
         if (!(env->hflags2 & HF2_VINTR_MASK)) {
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             cpu_set_apic_tpr(env_archcpu(env)->apic_state, t0);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
         }
         env->int_ctl = (env->int_ctl & ~V_TPR_MASK) | (t0 & V_TPR_MASK);
 
diff --git a/target/i386/whpx/whpx-accel-ops.c b/target/i386/whpx/whpx-accel-ops.c
index 67cad86720..1f29346a88 100644
--- a/target/i386/whpx/whpx-accel-ops.c
+++ b/target/i386/whpx/whpx-accel-ops.c
@@ -25,7 +25,7 @@ static void *whpx_cpu_thread_fn(void *arg)
 
     rcu_register_thread();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     qemu_thread_get_self(cpu->thread);
     cpu->thread_id = qemu_get_thread_id();
     current_cpu = cpu;
@@ -55,7 +55,7 @@ static void *whpx_cpu_thread_fn(void *arg)
 
     whpx_destroy_vcpu(cpu);
     cpu_thread_signal_destroyed(cpu);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     rcu_unregister_thread();
     return NULL;
 }
diff --git a/target/i386/whpx/whpx-all.c b/target/i386/whpx/whpx-all.c
index d29ba916a0..50057b22ee 100644
--- a/target/i386/whpx/whpx-all.c
+++ b/target/i386/whpx/whpx-all.c
@@ -1324,7 +1324,7 @@ static int whpx_first_vcpu_starting(CPUState *cpu)
     struct whpx_state *whpx = &whpx_global;
     HRESULT hr;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     if (!QTAILQ_EMPTY(&cpu->breakpoints) ||
             (whpx->breakpoints.breakpoints &&
@@ -1442,7 +1442,7 @@ static int whpx_handle_halt(CPUState *cpu)
     CPUX86State *env = cpu_env(cpu);
     int ret = 0;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     if (!((cpu->interrupt_request & CPU_INTERRUPT_HARD) &&
           (env->eflags & IF_MASK)) &&
         !(cpu->interrupt_request & CPU_INTERRUPT_NMI)) {
@@ -1450,7 +1450,7 @@ static int whpx_handle_halt(CPUState *cpu)
         cpu->halted = true;
         ret = 1;
     }
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return ret;
 }
@@ -1472,7 +1472,7 @@ static void whpx_vcpu_pre_run(CPUState *cpu)
     memset(&new_int, 0, sizeof(new_int));
     memset(reg_values, 0, sizeof(reg_values));
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     /* Inject NMI */
     if (!vcpu->interruption_pending &&
@@ -1563,7 +1563,7 @@ static void whpx_vcpu_pre_run(CPUState *cpu)
         reg_count += 1;
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     vcpu->ready_for_pic_interrupt = false;
 
     if (reg_count) {
@@ -1590,9 +1590,9 @@ static void whpx_vcpu_post_run(CPUState *cpu)
     uint64_t tpr = vcpu->exit_ctx.VpContext.Cr8;
     if (vcpu->tpr != tpr) {
         vcpu->tpr = tpr;
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_set_apic_tpr(x86_cpu->apic_state, whpx_cr8_to_apic_tpr(vcpu->tpr));
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     vcpu->interruption_pending =
@@ -1652,7 +1652,7 @@ static int whpx_vcpu_run(CPUState *cpu)
     WhpxStepMode exclusive_step_mode = WHPX_STEP_NONE;
     int ret;
 
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     if (whpx->running_cpus++ == 0) {
         /* Insert breakpoints into memory, update exception exit bitmap. */
@@ -1690,7 +1690,7 @@ static int whpx_vcpu_run(CPUState *cpu)
         }
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     if (exclusive_step_mode != WHPX_STEP_NONE) {
         start_exclusive();
@@ -2028,9 +2028,9 @@ static int whpx_vcpu_run(CPUState *cpu)
             error_report("WHPX: Unexpected VP exit code %d",
                          vcpu->exit_ctx.ExitReason);
             whpx_get_registers(cpu);
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             qemu_system_guest_panicked(cpu_get_crash_info(cpu));
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             break;
         }
 
@@ -2055,7 +2055,7 @@ static int whpx_vcpu_run(CPUState *cpu)
         cpu_exec_end(cpu);
     }
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     current_cpu = cpu;
 
     if (--whpx->running_cpus == 0) {
diff --git a/target/loongarch/csr_helper.c b/target/loongarch/csr_helper.c
index 55341551a5..fa3f08335e 100644
--- a/target/loongarch/csr_helper.c
+++ b/target/loongarch/csr_helper.c
@@ -89,9 +89,9 @@ target_ulong helper_csrwr_ticlr(CPULoongArchState *env, target_ulong val)
     int64_t old_v = 0;
 
     if (val & 0x1) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         loongarch_cpu_set_irq(cpu, IRQ_TIMER, 0);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     return old_v;
 }
diff --git a/target/mips/kvm.c b/target/mips/kvm.c
index e22e24ed97..7e2bac9a84 100644
--- a/target/mips/kvm.c
+++ b/target/mips/kvm.c
@@ -138,7 +138,7 @@ void kvm_arch_pre_run(CPUState *cs, struct kvm_run *run)
     int r;
     struct kvm_mips_interrupt intr;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     if ((cs->interrupt_request & CPU_INTERRUPT_HARD) &&
             cpu_mips_io_interrupts_pending(cpu)) {
@@ -151,7 +151,7 @@ void kvm_arch_pre_run(CPUState *cs, struct kvm_run *run)
         }
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 MemTxAttrs kvm_arch_post_run(CPUState *cs, struct kvm_run *run)
diff --git a/target/mips/tcg/sysemu/cp0_helper.c b/target/mips/tcg/sysemu/cp0_helper.c
index d349548743..fe87b72a2c 100644
--- a/target/mips/tcg/sysemu/cp0_helper.c
+++ b/target/mips/tcg/sysemu/cp0_helper.c
@@ -59,9 +59,9 @@ static inline void mips_vpe_wake(MIPSCPU *c)
      * because there might be other conditions that state that c should
      * be sleeping.
      */
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     cpu_interrupt(CPU(c), CPU_INTERRUPT_WAKE);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 static inline void mips_vpe_sleep(MIPSCPU *cpu)
diff --git a/target/openrisc/sys_helper.c b/target/openrisc/sys_helper.c
index 782a5751b7..1e9a55cec1 100644
--- a/target/openrisc/sys_helper.c
+++ b/target/openrisc/sys_helper.c
@@ -160,20 +160,20 @@ void HELPER(mtspr)(CPUOpenRISCState *env, target_ulong spr, target_ulong rb)
         break;
     case TO_SPR(9, 0):  /* PICMR */
         env->picmr = rb;
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         if (env->picsr & env->picmr) {
             cpu_interrupt(cs, CPU_INTERRUPT_HARD);
         } else {
             cpu_reset_interrupt(cs, CPU_INTERRUPT_HARD);
         }
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         break;
     case TO_SPR(9, 2):  /* PICSR */
         env->picsr &= ~rb;
         break;
     case TO_SPR(10, 0): /* TTMR */
         {
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             if ((env->ttmr & TTMR_M) ^ (rb & TTMR_M)) {
                 switch (rb & TTMR_M) {
                 case TIMER_NONE:
@@ -198,15 +198,15 @@ void HELPER(mtspr)(CPUOpenRISCState *env, target_ulong spr, target_ulong rb)
                 cs->interrupt_request &= ~CPU_INTERRUPT_TIMER;
             }
             cpu_openrisc_timer_update(cpu);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
         }
         break;
 
     case TO_SPR(10, 1): /* TTCR */
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_openrisc_count_set(cpu, rb);
         cpu_openrisc_timer_update(cpu);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         break;
     }
 #endif
@@ -347,9 +347,9 @@ target_ulong HELPER(mfspr)(CPUOpenRISCState *env, target_ulong rd,
         return env->ttmr;
 
     case TO_SPR(10, 1): /* TTCR */
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_openrisc_count_update(cpu);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         return cpu_openrisc_count_get(cpu);
     }
 #endif
diff --git a/target/ppc/excp_helper.c b/target/ppc/excp_helper.c
index a42743a3e0..0a1c942831 100644
--- a/target/ppc/excp_helper.c
+++ b/target/ppc/excp_helper.c
@@ -3056,7 +3056,7 @@ void helper_msgsnd(target_ulong rb)
         return;
     }
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     CPU_FOREACH(cs) {
         PowerPCCPU *cpu = POWERPC_CPU(cs);
         CPUPPCState *cenv = &cpu->env;
@@ -3065,7 +3065,7 @@ void helper_msgsnd(target_ulong rb)
             ppc_set_irq(cpu, irq, 1);
         }
     }
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 /* Server Processor Control */
@@ -3093,7 +3093,7 @@ static void book3s_msgsnd_common(int pir, int irq)
 {
     CPUState *cs;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     CPU_FOREACH(cs) {
         PowerPCCPU *cpu = POWERPC_CPU(cs);
         CPUPPCState *cenv = &cpu->env;
@@ -3103,7 +3103,7 @@ static void book3s_msgsnd_common(int pir, int irq)
             ppc_set_irq(cpu, irq, 1);
         }
     }
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void helper_book3s_msgsnd(target_ulong rb)
@@ -3157,14 +3157,14 @@ void helper_book3s_msgsndp(CPUPPCState *env, target_ulong rb)
     }
 
     /* Does iothread need to be locked for walking CPU list? */
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     THREAD_SIBLING_FOREACH(cs, ccs) {
         PowerPCCPU *ccpu = POWERPC_CPU(ccs);
         uint32_t thread_id = ppc_cpu_tir(ccpu);
 
         if (ttir == thread_id) {
             ppc_set_irq(ccpu, PPC_INTERRUPT_DOORBELL, 1);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             return;
         }
     }
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 9b1abe2fc4..132834505c 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -1656,7 +1656,7 @@ int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run)
     CPUPPCState *env = &cpu->env;
     int ret;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     switch (run->exit_reason) {
     case KVM_EXIT_DCR:
@@ -1715,7 +1715,7 @@ int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run)
         break;
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     return ret;
 }
 
diff --git a/target/ppc/misc_helper.c b/target/ppc/misc_helper.c
index a05bdf78c9..41ef14bf24 100644
--- a/target/ppc/misc_helper.c
+++ b/target/ppc/misc_helper.c
@@ -238,7 +238,7 @@ target_ulong helper_load_dpdes(CPUPPCState *env)
         return dpdes;
     }
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     THREAD_SIBLING_FOREACH(cs, ccs) {
         PowerPCCPU *ccpu = POWERPC_CPU(ccs);
         CPUPPCState *cenv = &ccpu->env;
@@ -248,7 +248,7 @@ target_ulong helper_load_dpdes(CPUPPCState *env)
             dpdes |= (0x1 << thread_id);
         }
     }
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return dpdes;
 }
@@ -278,14 +278,14 @@ void helper_store_dpdes(CPUPPCState *env, target_ulong val)
     }
 
     /* Does iothread need to be locked for walking CPU list? */
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     THREAD_SIBLING_FOREACH(cs, ccs) {
         PowerPCCPU *ccpu = POWERPC_CPU(ccs);
         uint32_t thread_id = ppc_cpu_tir(ccpu);
 
         ppc_set_irq(cpu, PPC_INTERRUPT_DOORBELL, val & (0x1 << thread_id));
     }
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 #endif /* defined(TARGET_PPC64) */
 
diff --git a/target/ppc/timebase_helper.c b/target/ppc/timebase_helper.c
index 08a6b47ee0..4cc0572fad 100644
--- a/target/ppc/timebase_helper.c
+++ b/target/ppc/timebase_helper.c
@@ -173,9 +173,9 @@ target_ulong helper_load_dcr(CPUPPCState *env, target_ulong dcrn)
     } else {
         int ret;
 
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         ret = ppc_dcr_read(env->dcr_env, (uint32_t)dcrn, &val);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         if (unlikely(ret != 0)) {
             qemu_log_mask(LOG_GUEST_ERROR, "DCR read error %d %03x\n",
                           (uint32_t)dcrn, (uint32_t)dcrn);
@@ -196,9 +196,9 @@ void helper_store_dcr(CPUPPCState *env, target_ulong dcrn, target_ulong val)
                                POWERPC_EXCP_INVAL_INVAL, GETPC());
     } else {
         int ret;
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         ret = ppc_dcr_write(env->dcr_env, (uint32_t)dcrn, (uint32_t)val);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         if (unlikely(ret != 0)) {
             qemu_log_mask(LOG_GUEST_ERROR, "DCR write error %d %03x\n",
                           (uint32_t)dcrn, (uint32_t)dcrn);
diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c
index 33ab3551f4..27533d0401 100644
--- a/target/s390x/kvm/kvm.c
+++ b/target/s390x/kvm/kvm.c
@@ -1923,7 +1923,7 @@ int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run)
     S390CPU *cpu = S390_CPU(cs);
     int ret = 0;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     kvm_cpu_synchronize_state(cs);
 
@@ -1947,7 +1947,7 @@ int kvm_arch_handle_exit(CPUState *cs, struct kvm_run *run)
             fprintf(stderr, "Unknown KVM exit: %d\n", run->exit_reason);
             break;
     }
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     if (ret == 0) {
         ret = EXCP_INTERRUPT;
diff --git a/target/s390x/tcg/misc_helper.c b/target/s390x/tcg/misc_helper.c
index 6aa7907438..4be69c5ae8 100644
--- a/target/s390x/tcg/misc_helper.c
+++ b/target/s390x/tcg/misc_helper.c
@@ -101,9 +101,9 @@ uint64_t HELPER(stck)(CPUS390XState *env)
 /* SCLP service call */
 uint32_t HELPER(servc)(CPUS390XState *env, uint64_t r1, uint64_t r2)
 {
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     int r = sclp_service_call(env_archcpu(env), r1, r2);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     if (r < 0) {
         tcg_s390_program_interrupt(env, -r, GETPC());
     }
@@ -117,9 +117,9 @@ void HELPER(diag)(CPUS390XState *env, uint32_t r1, uint32_t r3, uint32_t num)
     switch (num) {
     case 0x500:
         /* KVM hypercall */
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         r = s390_virtio_hypercall(env);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         break;
     case 0x44:
         /* yield */
@@ -127,9 +127,9 @@ void HELPER(diag)(CPUS390XState *env, uint32_t r1, uint32_t r3, uint32_t num)
         break;
     case 0x308:
         /* ipl */
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         handle_diag_308(env, r1, r3, GETPC());
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         r = 0;
         break;
     case 0x288:
@@ -185,7 +185,7 @@ static void update_ckc_timer(CPUS390XState *env)
 
     /* stop the timer and remove pending CKC IRQs */
     timer_del(env->tod_timer);
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
     env->pending_int &= ~INTERRUPT_EXT_CLOCK_COMPARATOR;
 
     /* the tod has to exceed the ckc, this can never happen if ckc is all 1's */
@@ -207,9 +207,9 @@ void HELPER(sckc)(CPUS390XState *env, uint64_t ckc)
 {
     env->ckc = ckc;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     update_ckc_timer(env);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void tcg_s390_tod_updated(CPUState *cs, run_on_cpu_data opaque)
@@ -229,9 +229,9 @@ uint32_t HELPER(sck)(CPUS390XState *env, uint64_t tod_low)
         .low = tod_low,
     };
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     tdc->set(td, &tod, &error_abort);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     return 0;
 }
 
@@ -421,9 +421,9 @@ uint32_t HELPER(sigp)(CPUS390XState *env, uint64_t order_code, uint32_t r1,
     int cc;
 
     /* TODO: needed to inject interrupts  - push further down */
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     cc = handle_sigp(env, order_code & SIGP_ORDER_MASK, r1, r3);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     return cc;
 }
@@ -433,92 +433,92 @@ uint32_t HELPER(sigp)(CPUS390XState *env, uint64_t order_code, uint32_t r1,
 void HELPER(xsch)(CPUS390XState *env, uint64_t r1)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_xsch(cpu, r1, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(csch)(CPUS390XState *env, uint64_t r1)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_csch(cpu, r1, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(hsch)(CPUS390XState *env, uint64_t r1)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_hsch(cpu, r1, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(msch)(CPUS390XState *env, uint64_t r1, uint64_t inst)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_msch(cpu, r1, inst >> 16, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(rchp)(CPUS390XState *env, uint64_t r1)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_rchp(cpu, r1, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(rsch)(CPUS390XState *env, uint64_t r1)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_rsch(cpu, r1, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(sal)(CPUS390XState *env, uint64_t r1)
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_sal(cpu, r1, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(schm)(CPUS390XState *env, uint64_t r1, uint64_t r2, uint64_t inst)
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_schm(cpu, r1, r2, inst >> 16, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(ssch)(CPUS390XState *env, uint64_t r1, uint64_t inst)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_ssch(cpu, r1, inst >> 16, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(stcrw)(CPUS390XState *env, uint64_t inst)
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_stcrw(cpu, inst >> 16, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(stsch)(CPUS390XState *env, uint64_t r1, uint64_t inst)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_stsch(cpu, r1, inst >> 16, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 uint32_t HELPER(tpi)(CPUS390XState *env, uint64_t addr)
@@ -533,10 +533,10 @@ uint32_t HELPER(tpi)(CPUS390XState *env, uint64_t addr)
         tcg_s390_program_interrupt(env, PGM_SPECIFICATION, ra);
     }
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     io = qemu_s390_flic_dequeue_io(flic, env->cregs[6]);
     if (!io) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
         return 0;
     }
 
@@ -554,7 +554,7 @@ uint32_t HELPER(tpi)(CPUS390XState *env, uint64_t addr)
         if (s390_cpu_virt_mem_write(cpu, addr, 0, &intc, sizeof(intc))) {
             /* writing failed, reinject and properly clean up */
             s390_io_interrupt(io->id, io->nr, io->parm, io->word);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             g_free(io);
             s390_cpu_virt_mem_handle_exc(cpu, ra);
             return 0;
@@ -570,24 +570,24 @@ uint32_t HELPER(tpi)(CPUS390XState *env, uint64_t addr)
     }
 
     g_free(io);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     return 1;
 }
 
 void HELPER(tsch)(CPUS390XState *env, uint64_t r1, uint64_t inst)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_tsch(cpu, r1, inst >> 16, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(chsc)(CPUS390XState *env, uint64_t inst)
 {
     S390CPU *cpu = env_archcpu(env);
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     ioinst_handle_chsc(cpu, inst >> 16, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 #endif
 
@@ -726,27 +726,27 @@ void HELPER(clp)(CPUS390XState *env, uint32_t r2)
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     clp_service_call(cpu, r2, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(pcilg)(CPUS390XState *env, uint32_t r1, uint32_t r2)
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     pcilg_service_call(cpu, r1, r2, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(pcistg)(CPUS390XState *env, uint32_t r1, uint32_t r2)
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     pcistg_service_call(cpu, r1, r2, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(stpcifc)(CPUS390XState *env, uint32_t r1, uint64_t fiba,
@@ -754,9 +754,9 @@ void HELPER(stpcifc)(CPUS390XState *env, uint32_t r1, uint64_t fiba,
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     stpcifc_service_call(cpu, r1, fiba, ar, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(sic)(CPUS390XState *env, uint64_t r1, uint64_t r3)
@@ -764,9 +764,9 @@ void HELPER(sic)(CPUS390XState *env, uint64_t r1, uint64_t r3)
     S390CPU *cpu = env_archcpu(env);
     int r;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     r = css_do_sic(cpu, (r3 >> 27) & 0x7, r1 & 0xffff);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     /* css_do_sic() may actually return a PGM_xxx value to inject */
     if (r) {
         tcg_s390_program_interrupt(env, -r, GETPC());
@@ -777,9 +777,9 @@ void HELPER(rpcit)(CPUS390XState *env, uint32_t r1, uint32_t r2)
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     rpcit_service_call(cpu, r1, r2, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(pcistb)(CPUS390XState *env, uint32_t r1, uint32_t r3,
@@ -787,9 +787,9 @@ void HELPER(pcistb)(CPUS390XState *env, uint32_t r1, uint32_t r3,
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     pcistb_service_call(cpu, r1, r3, gaddr, ar, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(mpcifc)(CPUS390XState *env, uint32_t r1, uint64_t fiba,
@@ -797,8 +797,8 @@ void HELPER(mpcifc)(CPUS390XState *env, uint32_t r1, uint64_t fiba,
 {
     S390CPU *cpu = env_archcpu(env);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     mpcifc_service_call(cpu, r1, fiba, ar, GETPC());
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 #endif
diff --git a/target/sparc/int32_helper.c b/target/sparc/int32_helper.c
index 1563613582..3fd28a04e7 100644
--- a/target/sparc/int32_helper.c
+++ b/target/sparc/int32_helper.c
@@ -70,7 +70,7 @@ void cpu_check_irqs(CPUSPARCState *env)
     CPUState *cs;
 
     /* We should be holding the BQL before we mess with IRQs */
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     if (env->pil_in && (env->interrupt_index == 0 ||
                         (env->interrupt_index & ~15) == TT_EXTINT)) {
diff --git a/target/sparc/int64_helper.c b/target/sparc/int64_helper.c
index 1b4155f5f3..dacbbf6b5b 100644
--- a/target/sparc/int64_helper.c
+++ b/target/sparc/int64_helper.c
@@ -69,7 +69,7 @@ void cpu_check_irqs(CPUSPARCState *env)
                   (env->softint & ~(SOFTINT_TIMER | SOFTINT_STIMER));
 
     /* We should be holding the BQL before we mess with IRQs */
-    g_assert(qemu_mutex_iothread_locked());
+    g_assert(qemu_bql_locked());
 
     /* TT_IVEC has a higher priority (16) than TT_EXTINT (31..17) */
     if (env->ivec_status & 0x20) {
@@ -267,9 +267,9 @@ static bool do_modify_softint(CPUSPARCState *env, uint32_t value)
         env->softint = value;
 #if !defined(CONFIG_USER_ONLY)
         if (cpu_interrupts_enabled(env)) {
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
             cpu_check_irqs(env);
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
         }
 #endif
         return true;
diff --git a/target/sparc/win_helper.c b/target/sparc/win_helper.c
index 16d1c70fe7..ba666ec50e 100644
--- a/target/sparc/win_helper.c
+++ b/target/sparc/win_helper.c
@@ -179,9 +179,9 @@ void helper_wrpsr(CPUSPARCState *env, target_ulong new_psr)
         cpu_raise_exception_ra(env, TT_ILL_INSN, GETPC());
     } else {
         /* cpu_put_psr may trigger interrupts, hence BQL */
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_put_psr(env, new_psr);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 }
 
@@ -407,9 +407,9 @@ void helper_wrpstate(CPUSPARCState *env, target_ulong new_state)
 
 #if !defined(CONFIG_USER_ONLY)
     if (cpu_interrupts_enabled(env)) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_check_irqs(env);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 #endif
 }
@@ -422,9 +422,9 @@ void helper_wrpil(CPUSPARCState *env, target_ulong new_pil)
     env->psrpil = new_pil;
 
     if (cpu_interrupts_enabled(env)) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_check_irqs(env);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 #endif
 }
@@ -451,9 +451,9 @@ void helper_done(CPUSPARCState *env)
 
 #if !defined(CONFIG_USER_ONLY)
     if (cpu_interrupts_enabled(env)) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_check_irqs(env);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 #endif
 }
@@ -480,9 +480,9 @@ void helper_retry(CPUSPARCState *env)
 
 #if !defined(CONFIG_USER_ONLY)
     if (cpu_interrupts_enabled(env)) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         cpu_check_irqs(env);
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 #endif
 }
diff --git a/target/xtensa/exc_helper.c b/target/xtensa/exc_helper.c
index 91354884f7..405387decb 100644
--- a/target/xtensa/exc_helper.c
+++ b/target/xtensa/exc_helper.c
@@ -105,9 +105,9 @@ void HELPER(waiti)(CPUXtensaState *env, uint32_t pc, uint32_t intlevel)
     env->sregs[PS] = (env->sregs[PS] & ~PS_INTLEVEL) |
         (intlevel << PS_INTLEVEL_SHIFT);
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     check_interrupts(env);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     if (env->pending_irq_level) {
         cpu_loop_exit(cpu);
@@ -120,9 +120,9 @@ void HELPER(waiti)(CPUXtensaState *env, uint32_t pc, uint32_t intlevel)
 
 void HELPER(check_interrupts)(CPUXtensaState *env)
 {
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     check_interrupts(env);
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 }
 
 void HELPER(intset)(CPUXtensaState *env, uint32_t v)
diff --git a/ui/spice-core.c b/ui/spice-core.c
index db21db2c94..1d895d2fe8 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -222,7 +222,7 @@ static void channel_event(int event, SpiceChannelEventInfo *info)
      */
     bool need_lock = !qemu_thread_is_self(&me);
     if (need_lock) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
 
     if (info->flags & SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT) {
@@ -260,7 +260,7 @@ static void channel_event(int event, SpiceChannelEventInfo *info)
     }
 
     if (need_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
     qapi_free_SpiceServerInfo(server);
diff --git a/util/async.c b/util/async.c
index 8f90ddc304..49d07b3c73 100644
--- a/util/async.c
+++ b/util/async.c
@@ -741,7 +741,7 @@ AioContext *qemu_get_current_aio_context(void)
     if (ctx) {
         return ctx;
     }
-    if (qemu_mutex_iothread_locked()) {
+    if (qemu_bql_locked()) {
         /* Possibly in a vCPU thread.  */
         return qemu_get_aio_context();
     }
diff --git a/util/main-loop.c b/util/main-loop.c
index 797b640c41..921fab3f32 100644
--- a/util/main-loop.c
+++ b/util/main-loop.c
@@ -302,13 +302,13 @@ static int os_host_main_loop_wait(int64_t timeout)
 
     glib_pollfds_fill(&timeout);
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     replay_mutex_unlock();
 
     ret = qemu_poll_ns((GPollFD *)gpollfds->data, gpollfds->len, timeout);
 
     replay_mutex_lock();
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     glib_pollfds_poll();
 
@@ -517,7 +517,7 @@ static int os_host_main_loop_wait(int64_t timeout)
 
     poll_timeout_ns = qemu_soonest_timeout(poll_timeout_ns, timeout);
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
 
     replay_mutex_unlock();
 
@@ -525,7 +525,7 @@ static int os_host_main_loop_wait(int64_t timeout)
 
     replay_mutex_lock();
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     if (g_poll_ret > 0) {
         for (i = 0; i < w->num; i++) {
             w->revents[i] = poll_fds[n_poll_fds + i].revents;
diff --git a/util/rcu.c b/util/rcu.c
index e587bcc483..8331f24288 100644
--- a/util/rcu.c
+++ b/util/rcu.c
@@ -283,24 +283,24 @@ static void *call_rcu_thread(void *opaque)
 
         qatomic_sub(&rcu_call_count, n);
         synchronize_rcu();
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
         while (n > 0) {
             node = try_dequeue();
             while (!node) {
-                qemu_mutex_unlock_iothread();
+                qemu_bql_unlock();
                 qemu_event_reset(&rcu_call_ready_event);
                 node = try_dequeue();
                 if (!node) {
                     qemu_event_wait(&rcu_call_ready_event);
                     node = try_dequeue();
                 }
-                qemu_mutex_lock_iothread();
+                qemu_bql_lock();
             }
 
             n--;
             node->func(node);
         }
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     abort();
 }
@@ -337,13 +337,13 @@ static void drain_rcu_callback(struct rcu_head *node)
 void drain_call_rcu(void)
 {
     struct rcu_drain rcu_drain;
-    bool locked = qemu_mutex_iothread_locked();
+    bool locked = qemu_bql_locked();
 
     memset(&rcu_drain, 0, sizeof(struct rcu_drain));
     qemu_event_init(&rcu_drain.drain_complete_event, false);
 
     if (locked) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 
 
@@ -365,7 +365,7 @@ void drain_call_rcu(void)
     qatomic_dec(&in_drain_call_rcu);
 
     if (locked) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
 
 }
diff --git a/audio/coreaudio.m b/audio/coreaudio.m
index 8cd129a27d..866d7a9436 100644
--- a/audio/coreaudio.m
+++ b/audio/coreaudio.m
@@ -547,7 +547,7 @@ static OSStatus handle_voice_change(
 {
     coreaudioVoiceOut *core = in_client_data;
 
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
 
     if (core->outputDeviceID) {
         fini_out_device(core);
@@ -557,7 +557,7 @@ static OSStatus handle_voice_change(
         update_device_playback_state(core);
     }
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     return 0;
 }
 
diff --git a/memory_ldst.c.inc b/memory_ldst.c.inc
index 84b868f294..cd8a629816 100644
--- a/memory_ldst.c.inc
+++ b/memory_ldst.c.inc
@@ -61,7 +61,7 @@ static inline uint32_t glue(address_space_ldl_internal, SUFFIX)(ARG1_DECL,
         *result = r;
     }
     if (release_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     RCU_READ_UNLOCK();
     return val;
@@ -130,7 +130,7 @@ static inline uint64_t glue(address_space_ldq_internal, SUFFIX)(ARG1_DECL,
         *result = r;
     }
     if (release_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     RCU_READ_UNLOCK();
     return val;
@@ -186,7 +186,7 @@ uint8_t glue(address_space_ldub, SUFFIX)(ARG1_DECL,
         *result = r;
     }
     if (release_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     RCU_READ_UNLOCK();
     return val;
@@ -234,7 +234,7 @@ static inline uint16_t glue(address_space_lduw_internal, SUFFIX)(ARG1_DECL,
         *result = r;
     }
     if (release_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     RCU_READ_UNLOCK();
     return val;
@@ -295,7 +295,7 @@ void glue(address_space_stl_notdirty, SUFFIX)(ARG1_DECL,
         *result = r;
     }
     if (release_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     RCU_READ_UNLOCK();
 }
@@ -339,7 +339,7 @@ static inline void glue(address_space_stl_internal, SUFFIX)(ARG1_DECL,
         *result = r;
     }
     if (release_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     RCU_READ_UNLOCK();
 }
@@ -391,7 +391,7 @@ void glue(address_space_stb, SUFFIX)(ARG1_DECL,
         *result = r;
     }
     if (release_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     RCU_READ_UNLOCK();
 }
@@ -435,7 +435,7 @@ static inline void glue(address_space_stw_internal, SUFFIX)(ARG1_DECL,
         *result = r;
     }
     if (release_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     RCU_READ_UNLOCK();
 }
@@ -499,7 +499,7 @@ static void glue(address_space_stq_internal, SUFFIX)(ARG1_DECL,
         *result = r;
     }
     if (release_lock) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     RCU_READ_UNLOCK();
 }
diff --git a/target/i386/hvf/README.md b/target/i386/hvf/README.md
index 2d33477aca..679b93b630 100644
--- a/target/i386/hvf/README.md
+++ b/target/i386/hvf/README.md
@@ -4,4 +4,4 @@ These sources (and ../hvf-all.c) are adapted from Veertu Inc's vdhh (Veertu Desk
 
 1. Adapt to our current QEMU's `CPUState` structure and `address_space_rw` API; many struct members have been moved around (emulated x86 state, xsave_buf) due to historical differences + QEMU needing to handle more emulation targets.
 2. Removal of `apic_page` and hyperv-related functionality.
-3. More relaxed use of `qemu_mutex_lock_iothread`.
+3. More relaxed use of `qemu_bql_lock`.
diff --git a/ui/cocoa.m b/ui/cocoa.m
index cd069da696..8a7d0a6f0c 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -117,29 +117,29 @@ static void cocoa_switch(DisplayChangeListener *dcl,
 typedef void (^CodeBlock)(void);
 typedef bool (^BoolCodeBlock)(void);
 
-static void with_iothread_lock(CodeBlock block)
+static void with_bql(CodeBlock block)
 {
-    bool locked = qemu_mutex_iothread_locked();
+    bool locked = qemu_bql_locked();
     if (!locked) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
     block();
     if (!locked) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
 }
 
-static bool bool_with_iothread_lock(BoolCodeBlock block)
+static bool bool_with_bql(BoolCodeBlock block)
 {
-    bool locked = qemu_mutex_iothread_locked();
+    bool locked = qemu_bql_locked();
     bool val;
 
     if (!locked) {
-        qemu_mutex_lock_iothread();
+        qemu_bql_lock();
     }
     val = block();
     if (!locked) {
-        qemu_mutex_unlock_iothread();
+        qemu_bql_unlock();
     }
     return val;
 }
@@ -605,7 +605,7 @@ - (void) updateUIInfo
         return;
     }
 
-    with_iothread_lock(^{
+    with_bql(^{
         [self updateUIInfoLocked];
     });
 }
@@ -790,7 +790,7 @@ - (void) handleMonitorInput:(NSEvent *)event
 
 - (bool) handleEvent:(NSEvent *)event
 {
-    return bool_with_iothread_lock(^{
+    return bool_with_bql(^{
         return [self handleEventLocked:event];
     });
 }
@@ -1182,7 +1182,7 @@ - (QEMUScreen) gscreen {return screen;}
  */
 - (void) raiseAllKeys
 {
-    with_iothread_lock(^{
+    with_bql(^{
         qkbd_state_lift_all_keys(kbd);
     });
 }
@@ -1282,7 +1282,7 @@ - (void)applicationWillTerminate:(NSNotification *)aNotification
 {
     COCOA_DEBUG("QemuCocoaAppController: applicationWillTerminate\n");
 
-    with_iothread_lock(^{
+    with_bql(^{
         shutdown_action = SHUTDOWN_ACTION_POWEROFF;
         qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_UI);
     });
@@ -1420,7 +1420,7 @@ - (void)displayConsole:(id)sender
 /* Pause the guest */
 - (void)pauseQEMU:(id)sender
 {
-    with_iothread_lock(^{
+    with_bql(^{
         qmp_stop(NULL);
     });
     [sender setEnabled: NO];
@@ -1431,7 +1431,7 @@ - (void)pauseQEMU:(id)sender
 /* Resume running the guest operating system */
 - (void)resumeQEMU:(id) sender
 {
-    with_iothread_lock(^{
+    with_bql(^{
         qmp_cont(NULL);
     });
     [sender setEnabled: NO];
@@ -1461,7 +1461,7 @@ - (void)removePause
 /* Restarts QEMU */
 - (void)restartQEMU:(id)sender
 {
-    with_iothread_lock(^{
+    with_bql(^{
         qmp_system_reset(NULL);
     });
 }
@@ -1469,7 +1469,7 @@ - (void)restartQEMU:(id)sender
 /* Powers down QEMU */
 - (void)powerDownQEMU:(id)sender
 {
-    with_iothread_lock(^{
+    with_bql(^{
         qmp_system_powerdown(NULL);
     });
 }
@@ -1488,7 +1488,7 @@ - (void)ejectDeviceMedia:(id)sender
     }
 
     __block Error *err = NULL;
-    with_iothread_lock(^{
+    with_bql(^{
         qmp_eject([drive cStringUsingEncoding: NSASCIIStringEncoding],
                   NULL, false, false, &err);
     });
@@ -1523,7 +1523,7 @@ - (void)changeDeviceMedia:(id)sender
         }
 
         __block Error *err = NULL;
-        with_iothread_lock(^{
+        with_bql(^{
             qmp_blockdev_change_medium([drive cStringUsingEncoding:
                                                   NSASCIIStringEncoding],
                                        NULL,
@@ -1605,7 +1605,7 @@ - (void)adjustSpeed:(id)sender
     // get the throttle percentage
     throttle_pct = [sender tag];
 
-    with_iothread_lock(^{
+    with_bql(^{
         cpu_throttle_set(throttle_pct);
     });
     COCOA_DEBUG("cpu throttling at %d%c\n", cpu_throttle_get_percentage(), '%');
@@ -1819,7 +1819,7 @@ - (void)pasteboard:(NSPasteboard *)sender provideDataForType:(NSPasteboardType)t
         return;
     }
 
-    with_iothread_lock(^{
+    with_bql(^{
         QemuClipboardInfo *info = qemu_clipboard_info_ref(cbinfo);
         qemu_event_reset(&cbevent);
         qemu_clipboard_request(info, QEMU_CLIPBOARD_TYPE_TEXT);
@@ -1827,9 +1827,9 @@ - (void)pasteboard:(NSPasteboard *)sender provideDataForType:(NSPasteboardType)t
         while (info == cbinfo &&
                info->types[QEMU_CLIPBOARD_TYPE_TEXT].available &&
                info->types[QEMU_CLIPBOARD_TYPE_TEXT].data == NULL) {
-            qemu_mutex_unlock_iothread();
+            qemu_bql_unlock();
             qemu_event_wait(&cbevent);
-            qemu_mutex_lock_iothread();
+            qemu_bql_lock();
         }
 
         if (info == cbinfo) {
@@ -1927,9 +1927,9 @@ static void cocoa_clipboard_request(QemuClipboardInfo *info,
     int status;
 
     COCOA_DEBUG("Second thread: calling qemu_default_main()\n");
-    qemu_mutex_lock_iothread();
+    qemu_bql_lock();
     status = qemu_default_main();
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     COCOA_DEBUG("Second thread: qemu_default_main() returned, exiting\n");
     [cbowner release];
     exit(status);
@@ -1941,7 +1941,7 @@ static int cocoa_main(void)
 
     COCOA_DEBUG("Entered %s()\n", __func__);
 
-    qemu_mutex_unlock_iothread();
+    qemu_bql_unlock();
     qemu_thread_create(&thread, "qemu_main", call_qemu_main,
                        NULL, QEMU_THREAD_DETACHED);
 
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:26:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:26:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644253.1005097 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8S5D-0001a5-DY; Wed, 29 Nov 2023 21:26:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644253.1005097; Wed, 29 Nov 2023 21: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 1r8S5D-0001ZD-3Z; Wed, 29 Nov 2023 21:26:59 +0000
Received: by outflank-mailman (input) for mailman id 644253;
 Wed, 29 Nov 2023 21:26: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8S5B-00008d-5I
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 21:26:57 +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 04242735-8efe-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 22:26:54 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-363-pKoCs9J4N3errD6WxcCduA-1; Wed,
 29 Nov 2023 16:26:49 -0500
Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com
 [10.11.54.10])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id BC00138049FE;
 Wed, 29 Nov 2023 21:26:46 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 61097492BFE;
 Wed, 29 Nov 2023 21:26: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
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04242735-8efe-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701293213;
	h=from:from:reply-to:subject:subject: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=HQwz+mgd+DCyta0fx7JwmRDq3fNNytwcrXDBy/aTKCk=;
	b=DZ4eyDlkBKil6RMzlZwLCJLlLKxWnrZQp3ftfoGPOYnO8GBx0YRIdfzkMWRaj7t7d8U1gr
	vq3AT2/RmL17Z4Gp0J69BV94js3sHAOCf9F7cs2Bitj0xf2eivA30flhLIed2I2sf72jIK
	3zrjp5QuIpwjlfVTglABeayH+LIrHBc=
X-MC-Unique: pKoCs9J4N3errD6WxcCduA-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>,
	qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>,
	Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org,
	Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>,
	Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>,
	xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	kvm@vger.kernel.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-block@nongnu.org,
	Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: [PATCH 5/6] Replace "iothread lock" with "BQL" in comments
Date: Wed, 29 Nov 2023 16:26:24 -0500
Message-ID: <20231129212625.1051502-6-stefanha@redhat.com>
In-Reply-To: <20231129212625.1051502-1-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.10

The term "iothread lock" is obsolete. The APIs use Big QEMU Lock (BQL)
in their names. Update the code comments to use "BQL" instead of
"iothread lock".

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 docs/devel/reset.rst             |  2 +-
 hw/display/qxl.h                 |  2 +-
 include/exec/cpu-common.h        |  2 +-
 include/exec/memory.h            |  4 ++--
 include/exec/ramblock.h          |  2 +-
 include/migration/register.h     |  8 ++++----
 target/arm/internals.h           |  4 ++--
 accel/tcg/cputlb.c               |  4 ++--
 accel/tcg/tcg-accel-ops-icount.c |  2 +-
 hw/remote/mpqemu-link.c          |  2 +-
 migration/block-dirty-bitmap.c   | 10 +++++-----
 migration/block.c                | 24 ++++++++++++------------
 migration/colo.c                 |  2 +-
 migration/migration.c            |  2 +-
 migration/ram.c                  |  4 ++--
 system/physmem.c                 |  6 +++---
 target/arm/helper.c              |  2 +-
 target/arm/tcg/m_helper.c        |  2 +-
 ui/spice-core.c                  |  2 +-
 util/rcu.c                       |  2 +-
 audio/coreaudio.m                |  4 ++--
 ui/cocoa.m                       |  6 +++---
 22 files changed, 49 insertions(+), 49 deletions(-)

diff --git a/docs/devel/reset.rst b/docs/devel/reset.rst
index 38ed1790f7..d4e79718ba 100644
--- a/docs/devel/reset.rst
+++ b/docs/devel/reset.rst
@@ -19,7 +19,7 @@ Triggering reset
 
 This section documents the APIs which "users" of a resettable object should use
 to control it. All resettable control functions must be called while holding
-the iothread lock.
+the BQL.
 
 You can apply a reset to an object using ``resettable_assert_reset()``. You need
 to call ``resettable_release_reset()`` to release the object from reset. To
diff --git a/hw/display/qxl.h b/hw/display/qxl.h
index fdac14edad..e0a85a5ca4 100644
--- a/hw/display/qxl.h
+++ b/hw/display/qxl.h
@@ -159,7 +159,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(PCIQXLDevice, PCI_QXL)
  *
  * Use with care; by the time this function returns, the returned pointer is
  * not protected by RCU anymore.  If the caller is not within an RCU critical
- * section and does not hold the iothread lock, it must have other means of
+ * section and does not hold the BQL, it must have other means of
  * protecting the pointer, such as a reference to the region that includes
  * the incoming ram_addr_t.
  *
diff --git a/include/exec/cpu-common.h b/include/exec/cpu-common.h
index 41115d8919..fef3138d29 100644
--- a/include/exec/cpu-common.h
+++ b/include/exec/cpu-common.h
@@ -92,7 +92,7 @@ RAMBlock *qemu_ram_block_by_name(const char *name);
  *
  * By the time this function returns, the returned pointer is not protected
  * by RCU anymore.  If the caller is not within an RCU critical section and
- * does not hold the iothread lock, it must have other means of protecting the
+ * does not hold the BQL, it must have other means of protecting the
  * pointer, such as a reference to the memory region that owns the RAMBlock.
  */
 RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset,
diff --git a/include/exec/memory.h b/include/exec/memory.h
index 831f7c996d..ad6466b07e 100644
--- a/include/exec/memory.h
+++ b/include/exec/memory.h
@@ -1962,7 +1962,7 @@ int memory_region_get_fd(MemoryRegion *mr);
  *
  * Use with care; by the time this function returns, the returned pointer is
  * not protected by RCU anymore.  If the caller is not within an RCU critical
- * section and does not hold the iothread lock, it must have other means of
+ * section and does not hold the BQL, it must have other means of
  * protecting the pointer, such as a reference to the region that includes
  * the incoming ram_addr_t.
  *
@@ -1979,7 +1979,7 @@ MemoryRegion *memory_region_from_host(void *ptr, ram_addr_t *offset);
  *
  * Use with care; by the time this function returns, the returned pointer is
  * not protected by RCU anymore.  If the caller is not within an RCU critical
- * section and does not hold the iothread lock, it must have other means of
+ * section and does not hold the BQL, it must have other means of
  * protecting the pointer, such as a reference to the region that includes
  * the incoming ram_addr_t.
  *
diff --git a/include/exec/ramblock.h b/include/exec/ramblock.h
index 69c6a53902..a2bc0a345d 100644
--- a/include/exec/ramblock.h
+++ b/include/exec/ramblock.h
@@ -34,7 +34,7 @@ struct RAMBlock {
     ram_addr_t max_length;
     void (*resized)(const char*, uint64_t length, void *host);
     uint32_t flags;
-    /* Protected by iothread lock.  */
+    /* Protected by BQL.  */
     char idstr[256];
     /* RCU-enabled, writes protected by the ramlist lock */
     QLIST_ENTRY(RAMBlock) next;
diff --git a/include/migration/register.h b/include/migration/register.h
index fed1d04a3c..9ab1f79512 100644
--- a/include/migration/register.h
+++ b/include/migration/register.h
@@ -17,7 +17,7 @@
 #include "hw/vmstate-if.h"
 
 typedef struct SaveVMHandlers {
-    /* This runs inside the iothread lock.  */
+    /* This runs inside the BQL.  */
     SaveStateHandler *save_state;
 
     /*
@@ -30,7 +30,7 @@ typedef struct SaveVMHandlers {
     int (*save_live_complete_postcopy)(QEMUFile *f, void *opaque);
     int (*save_live_complete_precopy)(QEMUFile *f, void *opaque);
 
-    /* This runs both outside and inside the iothread lock.  */
+    /* This runs both outside and inside the BQL.  */
     bool (*is_active)(void *opaque);
     bool (*has_postcopy)(void *opaque);
 
@@ -43,14 +43,14 @@ typedef struct SaveVMHandlers {
      */
     bool (*is_active_iterate)(void *opaque);
 
-    /* This runs outside the iothread lock in the migration case, and
+    /* This runs outside the BQL in the migration case, and
      * within the lock in the savevm case.  The callback had better only
      * use data that is local to the migration thread or protected
      * by other locks.
      */
     int (*save_live_iterate)(QEMUFile *f, void *opaque);
 
-    /* This runs outside the iothread lock!  */
+    /* This runs outside the BQL!  */
     /* Note for save_live_pending:
      * must_precopy:
      * - must be migrated in precopy or in stopped state
diff --git a/target/arm/internals.h b/target/arm/internals.h
index 143d57c0fe..71d6c70bf3 100644
--- a/target/arm/internals.h
+++ b/target/arm/internals.h
@@ -940,7 +940,7 @@ static inline const char *aarch32_mode_name(uint32_t psr)
  *
  * Update the CPU_INTERRUPT_VIRQ bit in cs->interrupt_request, following
  * a change to either the input VIRQ line from the GIC or the HCR_EL2.VI bit.
- * Must be called with the iothread lock held.
+ * Must be called with the BQL held.
  */
 void arm_cpu_update_virq(ARMCPU *cpu);
 
@@ -949,7 +949,7 @@ void arm_cpu_update_virq(ARMCPU *cpu);
  *
  * Update the CPU_INTERRUPT_VFIQ bit in cs->interrupt_request, following
  * a change to either the input VFIQ line from the GIC or the HCR_EL2.VF bit.
- * Must be called with the iothread lock held.
+ * Must be called with the BQL held.
  */
 void arm_cpu_update_vfiq(ARMCPU *cpu);
 
diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c
index 3c0b1658ee..a23d77e762 100644
--- a/accel/tcg/cputlb.c
+++ b/accel/tcg/cputlb.c
@@ -1975,7 +1975,7 @@ static void *atomic_mmu_lookup(CPUState *cpu, vaddr addr, MemOpIdx oi,
  * @size: number of bytes
  * @mmu_idx: virtual address context
  * @ra: return address into tcg generated code, or 0
- * Context: iothread lock held
+ * Context: BQL held
  *
  * Load @size bytes from @addr, which is memory-mapped i/o.
  * The bytes are concatenated in big-endian order with @ret_be.
@@ -2521,7 +2521,7 @@ static Int128 do_ld16_mmu(CPUState *cpu, vaddr addr,
  * @size: number of bytes
  * @mmu_idx: virtual address context
  * @ra: return address into tcg generated code, or 0
- * Context: iothread lock held
+ * Context: BQL held
  *
  * Store @size bytes at @addr, which is memory-mapped i/o.
  * The bytes to store are extracted in little-endian order from @val_le;
diff --git a/accel/tcg/tcg-accel-ops-icount.c b/accel/tcg/tcg-accel-ops-icount.c
index 76b9bedc08..c886d16218 100644
--- a/accel/tcg/tcg-accel-ops-icount.c
+++ b/accel/tcg/tcg-accel-ops-icount.c
@@ -123,7 +123,7 @@ void icount_prepare_for_run(CPUState *cpu, int64_t cpu_budget)
 
     if (cpu->icount_budget == 0) {
         /*
-         * We're called without the iothread lock, so must take it while
+         * We're called without the BQL, so must take it while
          * we're calling timer handlers.
          */
         qemu_bql_lock();
diff --git a/hw/remote/mpqemu-link.c b/hw/remote/mpqemu-link.c
index ffb2c25145..c6c8821313 100644
--- a/hw/remote/mpqemu-link.c
+++ b/hw/remote/mpqemu-link.c
@@ -58,7 +58,7 @@ bool mpqemu_msg_send(MPQemuMsg *msg, QIOChannel *ioc, Error **errp)
     assert(qemu_in_coroutine() || !iothread);
 
     /*
-     * Skip unlocking/locking iothread lock when the IOThread is running
+     * Skip unlocking/locking BQL when the IOThread is running
      * in co-routine context. Co-routine context is asserted above
      * for IOThread case.
      * Also skip lock handling while in a co-routine in the main context.
diff --git a/migration/block-dirty-bitmap.c b/migration/block-dirty-bitmap.c
index b5a2d377db..f8bc70b45d 100644
--- a/migration/block-dirty-bitmap.c
+++ b/migration/block-dirty-bitmap.c
@@ -464,7 +464,7 @@ static void send_bitmap_bits(QEMUFile *f, DBMSaveState *s,
     g_free(buf);
 }
 
-/* Called with iothread lock taken.  */
+/* Called with BQL taken.  */
 static void dirty_bitmap_do_save_cleanup(DBMSaveState *s)
 {
     SaveBitmapState *dbms;
@@ -479,7 +479,7 @@ static void dirty_bitmap_do_save_cleanup(DBMSaveState *s)
     }
 }
 
-/* Called with iothread lock taken. */
+/* Called with BQL taken. */
 static int add_bitmaps_to_list(DBMSaveState *s, BlockDriverState *bs,
                                const char *bs_name, GHashTable *alias_map)
 {
@@ -598,7 +598,7 @@ static int add_bitmaps_to_list(DBMSaveState *s, BlockDriverState *bs,
     return 0;
 }
 
-/* Called with iothread lock taken. */
+/* Called with BQL taken. */
 static int init_dirty_bitmap_migration(DBMSaveState *s)
 {
     BlockDriverState *bs;
@@ -607,7 +607,7 @@ static int init_dirty_bitmap_migration(DBMSaveState *s)
     BlockBackend *blk;
     GHashTable *alias_map = NULL;
 
-    /* Runs in the migration thread, but holds the iothread lock */
+    /* Runs in the migration thread, but holds the BQL */
     GLOBAL_STATE_CODE();
     GRAPH_RDLOCK_GUARD_MAINLOOP();
 
@@ -742,7 +742,7 @@ static int dirty_bitmap_save_iterate(QEMUFile *f, void *opaque)
     return s->bulk_completed;
 }
 
-/* Called with iothread lock taken.  */
+/* Called with BQL taken.  */
 
 static int dirty_bitmap_save_complete(QEMUFile *f, void *opaque)
 {
diff --git a/migration/block.c b/migration/block.c
index 87f36e6e35..464510e889 100644
--- a/migration/block.c
+++ b/migration/block.c
@@ -66,7 +66,7 @@ typedef struct BlkMigDevState {
     /* Protected by block migration lock.  */
     int64_t completed_sectors;
 
-    /* During migration this is protected by iothread lock / AioContext.
+    /* During migration this is protected by BQL / AioContext.
      * Allocation and free happen during setup and cleanup respectively.
      */
     BdrvDirtyBitmap *dirty_bitmap;
@@ -101,7 +101,7 @@ typedef struct BlkMigState {
     int prev_progress;
     int bulk_completed;
 
-    /* Lock must be taken _inside_ the iothread lock and any AioContexts.  */
+    /* Lock must be taken _inside_ the BQL and any AioContexts.  */
     QemuMutex lock;
 } BlkMigState;
 
@@ -117,7 +117,7 @@ static void blk_mig_unlock(void)
     qemu_mutex_unlock(&block_mig_state.lock);
 }
 
-/* Must run outside of the iothread lock during the bulk phase,
+/* Must run outside of the BQL during the bulk phase,
  * or the VM will stall.
  */
 
@@ -334,7 +334,7 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
     return (bmds->cur_sector >= total_sectors);
 }
 
-/* Called with iothread lock taken.  */
+/* Called with BQL taken.  */
 
 static int set_dirty_tracking(void)
 {
@@ -361,7 +361,7 @@ fail:
     return ret;
 }
 
-/* Called with iothread lock taken.  */
+/* Called with BQL taken.  */
 
 static void unset_dirty_tracking(void)
 {
@@ -512,7 +512,7 @@ static void blk_mig_reset_dirty_cursor(void)
     }
 }
 
-/* Called with iothread lock and AioContext taken.  */
+/* Called with BQL and AioContext taken.  */
 
 static int mig_save_device_dirty(QEMUFile *f, BlkMigDevState *bmds,
                                  int is_async)
@@ -594,7 +594,7 @@ error:
     return ret;
 }
 
-/* Called with iothread lock taken.
+/* Called with BQL taken.
  *
  * return value:
  * 0: too much data for max_downtime
@@ -658,7 +658,7 @@ static int flush_blks(QEMUFile *f)
     return ret;
 }
 
-/* Called with iothread lock taken.  */
+/* Called with BQL taken.  */
 
 static int64_t get_remaining_dirty(void)
 {
@@ -676,7 +676,7 @@ static int64_t get_remaining_dirty(void)
 
 
 
-/* Called with iothread lock taken.  */
+/* Called with BQL taken.  */
 static void block_migration_cleanup_bmds(void)
 {
     BlkMigDevState *bmds;
@@ -706,7 +706,7 @@ static void block_migration_cleanup_bmds(void)
     }
 }
 
-/* Called with iothread lock taken.  */
+/* Called with BQL taken.  */
 static void block_migration_cleanup(void *opaque)
 {
     BlkMigBlock *blk;
@@ -783,7 +783,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
             }
             ret = 0;
         } else {
-            /* Always called with iothread lock taken for
+            /* Always called with BQL taken for
              * simplicity, block_save_complete also calls it.
              */
             qemu_bql_lock();
@@ -811,7 +811,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
     return (delta_bytes > 0);
 }
 
-/* Called with iothread lock taken.  */
+/* Called with BQL taken.  */
 
 static int block_save_complete(QEMUFile *f, void *opaque)
 {
diff --git a/migration/colo.c b/migration/colo.c
index 2e68107cfa..44c789b82b 100644
--- a/migration/colo.c
+++ b/migration/colo.c
@@ -945,7 +945,7 @@ int coroutine_fn colo_incoming_co(void)
     qemu_thread_join(&th);
     qemu_bql_lock();
 
-    /* We hold the global iothread lock, so it is safe here */
+    /* We hold the global BQL, so it is safe here */
     colo_release_ram_cache();
 
     return 0;
diff --git a/migration/migration.c b/migration/migration.c
index b153133fba..ceb5b69c0c 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -2566,7 +2566,7 @@ fail:
 
 /**
  * migration_maybe_pause: Pause if required to by
- * migrate_pause_before_switchover called with the iothread locked
+ * migrate_pause_before_switchover called with the BQL locked
  * Returns: 0 on success
  */
 static int migration_maybe_pause(MigrationState *s,
diff --git a/migration/ram.c b/migration/ram.c
index f274bcf655..0884affa54 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -2395,7 +2395,7 @@ static void ram_save_cleanup(void *opaque)
 
     /* We don't use dirty log with background snapshots */
     if (!migrate_background_snapshot()) {
-        /* caller have hold iothread lock or is in a bh, so there is
+        /* caller have hold BQL or is in a bh, so there is
          * no writing race against the migration bitmap
          */
         if (global_dirty_tracking & GLOBAL_DIRTY_MIGRATION) {
@@ -3131,7 +3131,7 @@ out:
  *
  * Returns zero to indicate success or negative on error
  *
- * Called with iothread lock
+ * Called with BQL
  *
  * @f: QEMUFile where to send the data
  * @opaque: RAMState pointer
diff --git a/system/physmem.c b/system/physmem.c
index c136675876..9d0cd31ef5 100644
--- a/system/physmem.c
+++ b/system/physmem.c
@@ -799,7 +799,7 @@ static RAMBlock *qemu_get_ram_block(ram_addr_t addr)
     abort();
 
 found:
-    /* It is safe to write mru_block outside the iothread lock.  This
+    /* It is safe to write mru_block outside the BQL.  This
      * is what happens:
      *
      *     mru_block = xxx
@@ -1597,7 +1597,7 @@ int qemu_ram_get_fd(RAMBlock *rb)
     return rb->fd;
 }
 
-/* Called with iothread lock held.  */
+/* Called with BQL held.  */
 void qemu_ram_set_idstr(RAMBlock *new_block, const char *name, DeviceState *dev)
 {
     RAMBlock *block;
@@ -1625,7 +1625,7 @@ void qemu_ram_set_idstr(RAMBlock *new_block, const char *name, DeviceState *dev)
     }
 }
 
-/* Called with iothread lock held.  */
+/* Called with BQL held.  */
 void qemu_ram_unset_idstr(RAMBlock *block)
 {
     /* FIXME: arch_init.c assumes that this is not called throughout
diff --git a/target/arm/helper.c b/target/arm/helper.c
index f472043986..1262a33844 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -5824,7 +5824,7 @@ static void do_hcr_write(CPUARMState *env, uint64_t value, uint64_t valid_mask)
      * Updates to VI and VF require us to update the status of
      * virtual interrupts, which are the logical OR of these bits
      * and the state of the input lines from the GIC. (This requires
-     * that we have the iothread lock, which is done by marking the
+     * that we have the BQL, which is done by marking the
      * reginfo structs as ARM_CP_IO.)
      * Note that if a write to HCR pends a VIRQ or VFIQ it is never
      * possible for it to be taken immediately, because VIRQ and
diff --git a/target/arm/tcg/m_helper.c b/target/arm/tcg/m_helper.c
index 5f38b9a4a1..78c339b526 100644
--- a/target/arm/tcg/m_helper.c
+++ b/target/arm/tcg/m_helper.c
@@ -373,7 +373,7 @@ void HELPER(v7m_preserve_fp_state)(CPUARMState *env)
     bool ts = is_secure && (env->v7m.fpccr[M_REG_S] & R_V7M_FPCCR_TS_MASK);
     bool take_exception;
 
-    /* Take the iothread lock as we are going to touch the NVIC */
+    /* Take the BQL as we are going to touch the NVIC */
     qemu_bql_lock();
 
     /* Check the background context had access to the FPU */
diff --git a/ui/spice-core.c b/ui/spice-core.c
index 1d895d2fe8..40923bfa58 100644
--- a/ui/spice-core.c
+++ b/ui/spice-core.c
@@ -217,7 +217,7 @@ static void channel_event(int event, SpiceChannelEventInfo *info)
      * not do that.  It isn't that easy to fix it in spice and even
      * when it is fixed we still should cover the already released
      * spice versions.  So detect that we've been called from another
-     * thread and grab the iothread lock if so before calling qemu
+     * thread and grab the BQL if so before calling qemu
      * functions.
      */
     bool need_lock = !qemu_thread_is_self(&me);
diff --git a/util/rcu.c b/util/rcu.c
index 8331f24288..88fc7479b2 100644
--- a/util/rcu.c
+++ b/util/rcu.c
@@ -409,7 +409,7 @@ static void rcu_init_complete(void)
 
     qemu_event_init(&rcu_call_ready_event, false);
 
-    /* The caller is assumed to have iothread lock, so the call_rcu thread
+    /* The caller is assumed to have BQL, so the call_rcu thread
      * must have been quiescent even after forking, just recreate it.
      */
     qemu_thread_create(&thread, "call_rcu", call_rcu_thread,
diff --git a/audio/coreaudio.m b/audio/coreaudio.m
index 866d7a9436..b192fc6e83 100644
--- a/audio/coreaudio.m
+++ b/audio/coreaudio.m
@@ -299,7 +299,7 @@ static ret_type glue(coreaudio_, name)args_decl             \
 #undef COREAUDIO_WRAPPER_FUNC
 
 /*
- * callback to feed audiooutput buffer. called without iothread lock.
+ * callback to feed audiooutput buffer. called without BQL.
  * allowed to lock "buf_mutex", but disallowed to have any other locks.
  */
 static OSStatus audioDeviceIOProc(
@@ -538,7 +538,7 @@ static void update_device_playback_state(coreaudioVoiceOut *core)
     }
 }
 
-/* called without iothread lock. */
+/* called without BQL. */
 static OSStatus handle_voice_change(
     AudioObjectID in_object_id,
     UInt32 in_number_addresses,
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 8a7d0a6f0c..51e41a6333 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -113,7 +113,7 @@ static void cocoa_switch(DisplayChangeListener *dcl,
 static QemuClipboardInfo *cbinfo;
 static QemuEvent cbevent;
 
-// Utility functions to run specified code block with iothread lock held
+// Utility functions to run specified code block with BQL held
 typedef void (^CodeBlock)(void);
 typedef bool (^BoolCodeBlock)(void);
 
@@ -548,7 +548,7 @@ - (void) setContentDimensions
 
 - (void) updateUIInfoLocked
 {
-    /* Must be called with the iothread lock, i.e. via updateUIInfo */
+    /* Must be called with the BQL, i.e. via updateUIInfo */
     NSSize frameSize;
     QemuUIInfo info;
 
@@ -2075,7 +2075,7 @@ static void cocoa_display_init(DisplayState *ds, DisplayOptions *opts)
      * Create the menu entries which depend on QEMU state (for consoles
      * and removable devices). These make calls back into QEMU functions,
      * which is OK because at this point we know that the second thread
-     * holds the iothread lock and is synchronously waiting for us to
+     * holds the BQL and is synchronously waiting for us to
      * finish.
      */
     add_console_menu_entries();
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 21:27:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 21:27:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644254.1005104 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8S5E-0001nR-2K; Wed, 29 Nov 2023 21:27:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644254.1005104; Wed, 29 Nov 2023 21:27: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 1r8S5D-0001j0-Nu; Wed, 29 Nov 2023 21:26:59 +0000
Received: by outflank-mailman (input) for mailman id 644254;
 Wed, 29 Nov 2023 21:26: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=J7nN=HK=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8S5C-00008d-5Z
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 21:26:58 +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 0489934e-8efe-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 22:26:55 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-120-FSUOmW5LOtChOrGn_QBs1g-1; Wed,
 29 Nov 2023 16:26:51 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 63A1138049F9;
 Wed, 29 Nov 2023 21:26:49 +0000 (UTC)
Received: from localhost (unknown [10.39.192.91])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 41F60492BE0;
 Wed, 29 Nov 2023 21:26: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: 0489934e-8efe-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701293214;
	h=from:from:reply-to:subject:subject: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=BpLNXxP4Yehpq7UvX9OuyGYKLdha9NvrROrpeAtoX0o=;
	b=Gu8Ymmv44Elij5mK8jFXcUituPCnDLYAJpD9KXKFLVX9MubljpeNOfIwTcsSvP9jqYTB1P
	LoyVPmeqlu8HMZqSUUsezu+7M6v0GUxt0cKJNErFjcdaKZYaG1Qhrje96yCL7jQiJ2WsVf
	C4GQj6L64KW/yT8mcvzvDN1y5Fb5OHc=
X-MC-Unique: FSUOmW5LOtChOrGn_QBs1g-1
From: Stefan Hajnoczi <stefanha@redhat.com>
To: qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>,
	qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>,
	Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	=?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org,
	Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Hanna Reitz <hreitz@redhat.com>,
	=?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>,
	Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>,
	xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>,
	qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	kvm@vger.kernel.org,
	Stefan Hajnoczi <stefanha@redhat.com>,
	qemu-block@nongnu.org,
	Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: [PATCH 6/6] Rename "QEMU global mutex" to "BQL" in comments and docs
Date: Wed, 29 Nov 2023 16:26:25 -0500
Message-ID: <20231129212625.1051502-7-stefanha@redhat.com>
In-Reply-To: <20231129212625.1051502-1-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.9

The term "QEMU global mutex" is identical to the more widely used Big
QEMU Lock ("BQL"). Update the code comments and documentation to use
"BQL" instead of "QEMU global mutex".

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
---
 docs/devel/multi-thread-tcg.rst   |  7 +++----
 docs/devel/qapi-code-gen.rst      |  2 +-
 docs/devel/replay.rst             |  2 +-
 docs/devel/multiple-iothreads.txt | 16 ++++++++--------
 include/block/blockjob.h          |  6 +++---
 include/io/task.h                 |  2 +-
 include/qemu/coroutine-core.h     |  2 +-
 include/qemu/coroutine.h          |  2 +-
 hw/block/dataplane/virtio-blk.c   |  8 ++++----
 hw/block/virtio-blk.c             |  2 +-
 hw/scsi/virtio-scsi-dataplane.c   |  6 +++---
 net/tap.c                         |  2 +-
 12 files changed, 28 insertions(+), 29 deletions(-)

diff --git a/docs/devel/multi-thread-tcg.rst b/docs/devel/multi-thread-tcg.rst
index c9541a7b20..7302c3bf53 100644
--- a/docs/devel/multi-thread-tcg.rst
+++ b/docs/devel/multi-thread-tcg.rst
@@ -226,10 +226,9 @@ instruction. This could be a future optimisation.
 Emulated hardware state
 -----------------------
 
-Currently thanks to KVM work any access to IO memory is automatically
-protected by the global iothread mutex, also known as the BQL (Big
-QEMU Lock). Any IO region that doesn't use global mutex is expected to
-do its own locking.
+Currently thanks to KVM work any access to IO memory is automatically protected
+by the BQL (Big QEMU Lock). Any IO region that doesn't use the BQL is expected
+to do its own locking.
 
 However IO memory isn't the only way emulated hardware state can be
 modified. Some architectures have model specific registers that
diff --git a/docs/devel/qapi-code-gen.rst b/docs/devel/qapi-code-gen.rst
index 7f78183cd4..ea8228518c 100644
--- a/docs/devel/qapi-code-gen.rst
+++ b/docs/devel/qapi-code-gen.rst
@@ -594,7 +594,7 @@ blocking the guest and other background operations.
 Coroutine safety can be hard to prove, similar to thread safety.  Common
 pitfalls are:
 
-- The global mutex isn't held across ``qemu_coroutine_yield()``, so
+- The BQL isn't held across ``qemu_coroutine_yield()``, so
   operations that used to assume that they execute atomically may have
   to be more careful to protect against changes in the global state.
 
diff --git a/docs/devel/replay.rst b/docs/devel/replay.rst
index 0244be8b9c..effd856f0c 100644
--- a/docs/devel/replay.rst
+++ b/docs/devel/replay.rst
@@ -184,7 +184,7 @@ modes.
 Reading and writing requests are created by CPU thread of QEMU. Later these
 requests proceed to block layer which creates "bottom halves". Bottom
 halves consist of callback and its parameters. They are processed when
-main loop locks the global mutex. These locks are not synchronized with
+main loop locks the BQL. These locks are not synchronized with
 replaying process because main loop also processes the events that do not
 affect the virtual machine state (like user interaction with monitor).
 
diff --git a/docs/devel/multiple-iothreads.txt b/docs/devel/multiple-iothreads.txt
index a3e949f6b3..828e5527a3 100644
--- a/docs/devel/multiple-iothreads.txt
+++ b/docs/devel/multiple-iothreads.txt
@@ -5,7 +5,7 @@ the COPYING file in the top-level directory.
 
 
 This document explains the IOThread feature and how to write code that runs
-outside the QEMU global mutex.
+outside the BQL.
 
 The main loop and IOThreads
 ---------------------------
@@ -29,13 +29,13 @@ scalability bottleneck on hosts with many CPUs.  Work can be spread across
 several IOThreads instead of just one main loop.  When set up correctly this
 can improve I/O latency and reduce jitter seen by the guest.
 
-The main loop is also deeply associated with the QEMU global mutex, which is a
-scalability bottleneck in itself.  vCPU threads and the main loop use the QEMU
-global mutex to serialize execution of QEMU code.  This mutex is necessary
-because a lot of QEMU's code historically was not thread-safe.
+The main loop is also deeply associated with the BQL, which is a
+scalability bottleneck in itself.  vCPU threads and the main loop use the BQL
+to serialize execution of QEMU code.  This mutex is necessary because a lot of
+QEMU's code historically was not thread-safe.
 
 The fact that all I/O processing is done in a single main loop and that the
-QEMU global mutex is contended by all vCPU threads and the main loop explain
+BQL is contended by all vCPU threads and the main loop explain
 why it is desirable to place work into IOThreads.
 
 The experimental virtio-blk data-plane implementation has been benchmarked and
@@ -66,7 +66,7 @@ There are several old APIs that use the main loop AioContext:
 
 Since they implicitly work on the main loop they cannot be used in code that
 runs in an IOThread.  They might cause a crash or deadlock if called from an
-IOThread since the QEMU global mutex is not held.
+IOThread since the BQL is not held.
 
 Instead, use the AioContext functions directly (see include/block/aio.h):
  * aio_set_fd_handler() - monitor a file descriptor
@@ -105,7 +105,7 @@ used in the block layer and can lead to hangs.
 
 There is currently no lock ordering rule if a thread needs to acquire multiple
 AioContexts simultaneously.  Therefore, it is only safe for code holding the
-QEMU global mutex to acquire other AioContexts.
+BQL to acquire other AioContexts.
 
 Side note: the best way to schedule a function call across threads is to call
 aio_bh_schedule_oneshot().  No acquire/release or locking is needed.
diff --git a/include/block/blockjob.h b/include/block/blockjob.h
index e594c10d23..b2bc7c04d6 100644
--- a/include/block/blockjob.h
+++ b/include/block/blockjob.h
@@ -54,7 +54,7 @@ typedef struct BlockJob {
 
     /**
      * Speed that was set with @block_job_set_speed.
-     * Always modified and read under QEMU global mutex (GLOBAL_STATE_CODE).
+     * Always modified and read under BQL (GLOBAL_STATE_CODE).
      */
     int64_t speed;
 
@@ -66,7 +66,7 @@ typedef struct BlockJob {
 
     /**
      * Block other operations when block job is running.
-     * Always modified and read under QEMU global mutex (GLOBAL_STATE_CODE).
+     * Always modified and read under BQL (GLOBAL_STATE_CODE).
      */
     Error *blocker;
 
@@ -89,7 +89,7 @@ typedef struct BlockJob {
 
     /**
      * BlockDriverStates that are involved in this block job.
-     * Always modified and read under QEMU global mutex (GLOBAL_STATE_CODE).
+     * Always modified and read under BQL (GLOBAL_STATE_CODE).
      */
     GSList *nodes;
 } BlockJob;
diff --git a/include/io/task.h b/include/io/task.h
index dc7d32ebd0..0b5342ee84 100644
--- a/include/io/task.h
+++ b/include/io/task.h
@@ -149,7 +149,7 @@ typedef void (*QIOTaskWorker)(QIOTask *task,
  * lookups) to be easily run non-blocking. Reporting the
  * results in the main thread context means that the caller
  * typically does not need to be concerned about thread
- * safety wrt the QEMU global mutex.
+ * safety wrt the BQL.
  *
  * For example, the socket_listen() method will block the caller
  * while DNS lookups take place if given a name, instead of IP
diff --git a/include/qemu/coroutine-core.h b/include/qemu/coroutine-core.h
index 230bb56517..503bad6e0e 100644
--- a/include/qemu/coroutine-core.h
+++ b/include/qemu/coroutine-core.h
@@ -22,7 +22,7 @@
  * rather than callbacks, for operations that need to give up control while
  * waiting for events to complete.
  *
- * These functions are re-entrant and may be used outside the global mutex.
+ * These functions are re-entrant and may be used outside the BQL.
  *
  * Functions that execute in coroutine context cannot be called
  * directly from normal functions.  Use @coroutine_fn to mark such
diff --git a/include/qemu/coroutine.h b/include/qemu/coroutine.h
index a65be6697f..e6aff45301 100644
--- a/include/qemu/coroutine.h
+++ b/include/qemu/coroutine.h
@@ -26,7 +26,7 @@
  * rather than callbacks, for operations that need to give up control while
  * waiting for events to complete.
  *
- * These functions are re-entrant and may be used outside the global mutex.
+ * These functions are re-entrant and may be used outside the BQL.
  *
  * Functions that execute in coroutine context cannot be called
  * directly from normal functions.  Use @coroutine_fn to mark such
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index f83bb0f116..eafc573407 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -47,7 +47,7 @@ void virtio_blk_data_plane_notify(VirtIOBlockDataPlane *s, VirtQueue *vq)
     virtio_notify_irqfd(s->vdev, vq);
 }
 
-/* Context: QEMU global mutex held */
+/* Context: BQL held */
 bool virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
                                   VirtIOBlockDataPlane **dataplane,
                                   Error **errp)
@@ -100,7 +100,7 @@ bool virtio_blk_data_plane_create(VirtIODevice *vdev, VirtIOBlkConf *conf,
     return true;
 }
 
-/* Context: QEMU global mutex held */
+/* Context: BQL held */
 void virtio_blk_data_plane_destroy(VirtIOBlockDataPlane *s)
 {
     VirtIOBlock *vblk;
@@ -117,7 +117,7 @@ void virtio_blk_data_plane_destroy(VirtIOBlockDataPlane *s)
     g_free(s);
 }
 
-/* Context: QEMU global mutex held */
+/* Context: BQL held */
 int virtio_blk_data_plane_start(VirtIODevice *vdev)
 {
     VirtIOBlock *vblk = VIRTIO_BLK(vdev);
@@ -261,7 +261,7 @@ static void virtio_blk_data_plane_stop_bh(void *opaque)
     }
 }
 
-/* Context: QEMU global mutex held */
+/* Context: BQL held */
 void virtio_blk_data_plane_stop(VirtIODevice *vdev)
 {
     VirtIOBlock *vblk = VIRTIO_BLK(vdev);
diff --git a/hw/block/virtio-blk.c b/hw/block/virtio-blk.c
index a1f8e15522..2a5f6544cc 100644
--- a/hw/block/virtio-blk.c
+++ b/hw/block/virtio-blk.c
@@ -1500,7 +1500,7 @@ static void virtio_blk_resize(void *opaque)
     VirtIODevice *vdev = VIRTIO_DEVICE(opaque);
 
     /*
-     * virtio_notify_config() needs to acquire the global mutex,
+     * virtio_notify_config() needs to acquire the BQL,
      * so it can't be called from an iothread. Instead, schedule
      * it to be run in the main context BH.
      */
diff --git a/hw/scsi/virtio-scsi-dataplane.c b/hw/scsi/virtio-scsi-dataplane.c
index 1e684beebe..56ecc5b12e 100644
--- a/hw/scsi/virtio-scsi-dataplane.c
+++ b/hw/scsi/virtio-scsi-dataplane.c
@@ -20,7 +20,7 @@
 #include "scsi/constants.h"
 #include "hw/virtio/virtio-bus.h"
 
-/* Context: QEMU global mutex held */
+/* Context: BQL held */
 void virtio_scsi_dataplane_setup(VirtIOSCSI *s, Error **errp)
 {
     VirtIOSCSICommon *vs = VIRTIO_SCSI_COMMON(s);
@@ -93,7 +93,7 @@ static void virtio_scsi_dataplane_stop_bh(void *opaque)
     }
 }
 
-/* Context: QEMU global mutex held */
+/* Context: BQL held */
 int virtio_scsi_dataplane_start(VirtIODevice *vdev)
 {
     int i;
@@ -191,7 +191,7 @@ fail_guest_notifiers:
     return -ENOSYS;
 }
 
-/* Context: QEMU global mutex held */
+/* Context: BQL held */
 void virtio_scsi_dataplane_stop(VirtIODevice *vdev)
 {
     BusState *qbus = qdev_get_parent_bus(DEVICE(vdev));
diff --git a/net/tap.c b/net/tap.c
index c23d0323c2..c698b70475 100644
--- a/net/tap.c
+++ b/net/tap.c
@@ -219,7 +219,7 @@ static void tap_send(void *opaque)
 
         /*
          * When the host keeps receiving more packets while tap_send() is
-         * running we can hog the QEMU global mutex.  Limit the number of
+         * running we can hog the BQL.  Limit the number of
          * packets that are processed per tap_send() callback to prevent
          * stalling the guest.
          */
-- 
2.42.0



From xen-devel-bounces@lists.xenproject.org Wed Nov 29 22:06:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 22:06:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644274.1005121 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Sgs-00009J-4i; Wed, 29 Nov 2023 22:05:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644274.1005121; Wed, 29 Nov 2023 22: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 1r8Sgs-00009C-21; Wed, 29 Nov 2023 22:05:54 +0000
Received: by outflank-mailman (input) for mailman id 644274;
 Wed, 29 Nov 2023 22:05: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=s/FI=HK=mg.gitlab.com=bounce+c66dc3.947b4-xen-devel=lists.xenproject.org@srs-se1.protection.inumbo.net>)
 id 1r8Sgq-00007l-Ak
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 22:05:52 +0000
Received: from m226-146.mailgun.net (m226-146.mailgun.net [159.135.226.146])
 by se1-gles-flk1.inumbo.com (Halon) with UTF8SMTPS
 id 73bf85fb-8f03-11ee-9b0f-b553b5be7939;
 Wed, 29 Nov 2023 23:05:49 +0100 (CET)
Received: from mg.gitlab.com (18.226.74.34.bc.googleusercontent.com
 [34.74.226.18]) by
 5570efcce685 with SMTP id 6567b5bb0fb9767d22518800 (version=TLS1.3,
 cipher=TLS_AES_128_GCM_SHA256); Wed, 29 Nov 2023 22:05:47 GMT
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.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: 73bf85fb-8f03-11ee-9b0f-b553b5be7939
DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.gitlab.com;
 q=dns/txt; s=mailo; t=1701295547; x=1701302747; h=List-Id:
 Content-Transfer-Encoding: Content-Type: Mime-Version: Subject: Subject:
 Message-ID: To: To: Reply-To: From: From: Date: Sender: Sender;
 bh=WZ8Hiv29vyp7JKXAZIREbShTQSIGvZnPd7ptOTwC+5Q=;
 b=EFXDOrjz7WZBK5T7fp7f5tpsLnX+tnaNyJRpON0SWehWjCE63INasAJjbycDuxYHfI7g8xr5S89438rMumx4JShDrHjgMGyV3mteKJldunRsmszWGgpRY6j9GTGzO35m3dG4i+s0hJxZwSr+apve8Lt1+1hErt6MKx8P9Qw7H8k=
X-Mailgun-Sending-Ip: 159.135.226.146
X-Mailgun-Sid: WyI4YjA3MiIsInhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZyIsIjk0N2I0Il0=
Sender: gitlab@mg.gitlab.com
Date: Wed, 29 Nov 2023 22:05:47 +0000
From: GitLab <gitlab@mg.gitlab.com>
Reply-To: GitLab <noreply@gitlab.com>
To: xen-devel@lists.xenproject.org
Message-ID: <6567b5bb6bb0b_2c9ad803302c@gitlab-sidekiq-catchall-v2-668d449c49-5pzbq.mail>
Subject: xen | Successful pipeline for staging | f0dd0cd9
Mime-Version: 1.0
Content-Type: multipart/alternative;
 boundary="--==_mimepart_6567b5bb5f3d2_2c9ad80329c0";
 charset=UTF-8
Content-Transfer-Encoding: 7bit
X-GitLab-Project: xen
X-GitLab-Project-Id: 2336572
X-GitLab-Project-Path: xen-project/xen
X-GitLab-Pipeline-Id: 1089709752
X-GitLab-Pipeline-Ref: staging
X-GitLab-Pipeline-Status: success
Auto-Submitted: auto-generated
X-Auto-Response-Suppress: All

----==_mimepart_6567b5bb5f3d2_2c9ad80329c0
Content-Type: text/plain;
 charset=UTF-8
Content-Transfer-Encoding: 7bit



Pipeline #1089709752 has passed!

Project: xen ( https://gitlab.com/xen-project/xen )
Branch: staging ( https://gitlab.com/xen-project/xen/-/commits/staging )

Commit: f0dd0cd9 ( https://gitlab.com/xen-project/xen/-/commit/f0dd0cd9598f22ee5509bb5d1466e4821834c4ba )
Commit Message: docs/misra: add guidance on the format of Dir 4...
Commit Author: Nicola Vetrini
Committed by: Julien Grall



Pipeline #1089709752 ( https://gitlab.com/xen-project/xen/-/pipelines/1089709752 ) triggered by Ganis ( https://gitlab.com/ganis )
successfully completed 129 jobs in 3 stages.

-- 
You're receiving this email because of your account on gitlab.com.




----==_mimepart_6567b5bb5f3d2_2c9ad80329c0
Content-Type: text/html;
 charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww=
w.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns=3D"http://www.w3.org/1999/xhtml" lang=3D"en" xml:lang=3D"en">=

<head>
<meta content=3D"text/html; charset=3DUTF-8" http-equiv=3D"Content-Type" =
/>
<meta content=3D"width=3Ddevice-width, initial-scale=3D1" name=3D"viewpor=
t" />
<meta content=3D"IE=3Dedge" http-equiv=3D"X-UA-Compatible" />
<title>xen | Successful pipeline for staging | f0dd0cd9</title>
<style data-premailer=3D"ignore" type=3D"text/css">
body,table,td,a{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}t=
able,td{mso-table-lspace:0pt;mso-table-rspace:0pt}img{-ms-interpolation-m=
ode:bicubic}.hidden{display:none !important;visibility:hidden !important}=
a[x-apple-data-detectors]{color:inherit !important;text-decoration:none !=
important;font-size:inherit !important;font-family:inherit !important;fon=
t-weight:inherit !important;line-height:inherit !important}div[style*=3D'=
margin: 16px 0']{margin:0 !important}@media only screen and (max-width: 6=
39px){body,#body{min-width:320px !important}table.wrapper{width:100% !imp=
ortant;min-width:320px !important}table.wrapper td.wrapper-cell{border-le=
ft:0 !important;border-right:0 !important;border-radius:0 !important;padd=
ing-left:10px !important;padding-right:10px !important}}

</style>

<style>body {
margin: 0 !important; background-color: #fafafa; padding: 0; text-align: =
center; min-width: 640px; width: 100%; height: 100%; font-family: "Helvet=
ica Neue", Helvetica, Arial, sans-serif;
}
</style></head>
<body style=3D"text-align: center; min-width: 640px; width: 100%; height:=
 100%; font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, sans-se=
rif; margin: 0; padding: 0;" bgcolor=3D"#fafafa">

<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" id=3D"body" style=
=3D"text-align: center; min-width: 640px; width: 100%; margin: 0; padding=
: 0;" bgcolor=3D"#fafafa">
<tbody>
<tr class=3D"line">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; height: 4px; font-size: 4px; line-height: 4px;" bgcolor=3D"#6b=
4fbb"></td>
</tr>
<tr class=3D"header">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">

<img alt=3D"GitLab" src=3D"https://gitlab.com/assets/mailers/gitlab_logo-=
2957169c8ef64c58616a1ac3f4fc626e8a35ce4eb3ed31bb0d873712f2a041a0.png" wid=
th=3D"55" height=3D"55" />
</td>
</tr>
<tr>
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"wrapper"=
 style=3D"width: 640px; border-collapse: separate; border-spacing: 0; mar=
gin: 0 auto;">
<tbody>
<tr>
<td class=3D"wrapper-cell" style=3D"font-family: &quot;Helvetica Neue&quo=
t;, Helvetica, Arial, sans-serif; border-radius: 3px; overflow: hidden; p=
adding: 18px 25px; border: 1px solid #ededed;" align=3D"left" bgcolor=3D"=
#fff">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"content"=
 style=3D"width: 100%; border-collapse: separate; border-spacing: 0;">
<tbody>
<tr class=3D"table-success">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; font-size: 14px; line-height: 1.3; overflow: hidden; co=
lor: #ffffff; padding: 10px;" align=3D"center" bgcolor=3D"#31af64">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff; padding-right: 5px;" align=3D"center" valign=3D"middle">
<img alt=3D"&#10003;" height=3D"13" src=3D"https://gitlab.com/assets/mail=
ers/ci_pipeline_notif_v1/icon-check-green-inverted-3fc3485096ebb83ce1d951=
5883c8ca25ee5f382c4d643e064beb5da510aa26d5.gif" style=3D"display: block;"=
 width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #ffffff;" align=3D"center" valign=3D"middle">
Pipeline #1089709752 has passed!
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"section">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; bo=
rder-radius: 3px; overflow: hidden; padding: 0 15px; border: 1px solid #e=
deded;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"table-in=
fo" style=3D"width: 100%;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; margin=
: 0; padding: 14px 0;">
Project
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; margin: 0; padding: 14px 0 14px 5px;">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project" style=3D"color=
: #333333; text-decoration: none;">
xen-project
</a>
/
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen" style=3D"c=
olor: #333333; text-decoration: none;">
xen
</a>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Branch
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-branch-gray-53618a7fc19d4d32ccbabac2f6d59bebe67202a=
9f2f1255e3f72c69756c0dd9c.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a class=3D"muted" href=3D"https://gitlab.com/xen-project/xen/-/commits/s=
taging" style=3D"color: #333333; text-decoration: none;">
staging
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 400; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" height=3D"13" src=3D"https://gitlab.com/assets/mailers/ci_p=
ipeline_notif_v1/icon-commit-gray-c10243ac24cde64b549aec91de35e6b49c8739b=
506b86472b54614c10d8b4aac.gif" style=3D"display: block;" width=3D"13" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<a href=3D"https://gitlab.com/xen-project/xen/-/commit/f0dd0cd9598f22ee55=
09bb5d1466e4821834c4ba" style=3D"color: #3777b0; text-decoration: none;">=
f0dd0cd9</a>
</td>
</tr>
</tbody>
</table>
<div class=3D"commit" style=3D"color: #5c5c5c; font-weight: 300;">
docs/misra: add guidance on the format of Dir 4...
</div>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Commit Author
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/23d68b797e165570c641942285dfe06e?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Nicola Vetrini
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #8c8c8c; font-weight: 300; border=
-top-width: 1px; border-top-color: #ededed; border-top-style: solid; marg=
in: 0; padding: 14px 0;">
Committed by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; color: #333333; font-weight: 500; width:=
 75%; border-top-width: 1px; border-top-color: #ededed; border-top-style:=
 solid; margin: 0; padding: 14px 0 14px 5px;">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; padding-right: 5px;" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/c4cdf37f0b2565754a400ffda114e915?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"middle">
<span>
Julien Grall
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr class=3D"spacer">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; he=
ight: 18px; font-size: 18px; line-height: 18px;">
&#160;
</td>
</tr>
<tr class=3D"success-message">
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; co=
lor: #333333; font-size: 15px; font-weight: 400; line-height: 1.4; paddin=
g: 15px 5px 0;" align=3D"center">
<table border=3D"0" cellpadding=3D"0" cellspacing=3D"0" class=3D"img" sty=
le=3D"border-collapse: collapse; margin: 0 auto;">
<tbody>
<tr>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500;" valign=3D"baseline">
Pipeline <a href=3D"https://gitlab.com/xen-project/xen/-/pipelines/108970=
9752" style=3D"color: #3777b0; text-decoration: none;">#1089709752</a> tr=
iggered by
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4; font-weight: 500; padding-right: 5px; pa=
dding-left: 5px;" width=3D"24" valign=3D"middle">
<img alt=3D"" class=3D"avatar" height=3D"24" src=3D"https://secure.gravat=
ar.com/avatar/568538936b4ac45a343cb3a4ab0c6cda?s=3D48&amp;d=3Didenticon" =
style=3D"display: block; border-radius: 12px; margin: -2px 0;" width=3D"2=
4" />
</td>
<td style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; fo=
nt-size: 15px; line-height: 1.4;" valign=3D"baseline">
<a class=3D"muted" href=3D"https://gitlab.com/ganis" style=3D"color: #333=
333; text-decoration: none;">
Ganis
</a>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan=3D"2" style=3D"font-family: 'Helvetica Neue',Helvetica,Arial,=
sans-serif; color: #333333; font-size: 15px; font-weight: 300; line-heigh=
t: 1.4; padding: 15px 5px;" align=3D"center">
successfully completed 129 jobs in 3 stages.
</td>
</tr>


</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>

<tr class=3D"footer">
<td style=3D"font-family: &quot;Helvetica Neue&quot;, Helvetica, Arial, s=
ans-serif; font-size: 13px; line-height: 1.6; color: #5c5c5c; padding: 25=
px 0;">
<img alt=3D"GitLab" class=3D"footer-logo" src=3D"https://gitlab.com/asset=
s/mailers/gitlab_logo_black_text-5430ca955baf2bbce6d3aa856a025da70ac5c959=
5597537254f665c10beab7a5.png" style=3D"display: block; width: 90px; margi=
n: 0 auto 1em;" />
<div>
You're receiving this email because of your account on <a target=3D"_blan=
k" rel=3D"noopener noreferrer" href=3D"https://gitlab.com" style=3D"color=
: #3777b0; text-decoration: none;">gitlab.com</a>. <a href=3D"https://git=
lab.com/-/profile/notifications" target=3D"_blank" rel=3D"noopener norefe=
rrer" class=3D"mng-notif-link" style=3D"color: #3777b0; text-decoration: =
none;">Manage all notifications</a> &#183; <a href=3D"https://gitlab.com/=
help" target=3D"_blank" rel=3D"noopener noreferrer" class=3D"help-link" s=
tyle=3D"color: #3777b0; text-decoration: none;">Help</a>
</div>
</td>
</tr>


<tr>
<td class=3D"footer-message" style=3D"font-family: &quot;Helvetica Neue&q=
uot;, Helvetica, Arial, sans-serif; font-size: 13px; line-height: 1.6; co=
lor: #5c5c5c; padding: 25px 0;">

</td>
</tr>
</tbody>
</table>
</body>
</html>

----==_mimepart_6567b5bb5f3d2_2c9ad80329c0--


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 22:37:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 22:37:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644315.1005131 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8TB2-0008Mk-FJ; Wed, 29 Nov 2023 22:37:04 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644315.1005131; Wed, 29 Nov 2023 22:37: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 1r8TB2-0008Md-CN; Wed, 29 Nov 2023 22:37:04 +0000
Received: by outflank-mailman (input) for mailman id 644315;
 Wed, 29 Nov 2023 22:37: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=W+r8=HK=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8TB1-0008LC-Jc
 for xen-devel@lists.xenproject.org; Wed, 29 Nov 2023 22:37:03 +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 cf88866c-8f07-11ee-98e4-6d05b1d4d9a1;
 Wed, 29 Nov 2023 23:37:01 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id DC63661D34;
 Wed, 29 Nov 2023 22:36:59 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 27407C433C7;
 Wed, 29 Nov 2023 22:36: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: cf88866c-8f07-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701297419;
	bh=ufYR0g7/oU9Dc3xz32l8vsuDnNfO7FYekhjSBXyR73I=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=tcbm7zvAhp1Y3pDZeuWj7vrQa3lwHHXJjXrarALVwUgl3LUPvLKMnyPx7s3tU7i3z
	 0YJWd8EFSZEi0u2mXbU57kCCbBH6s0e5tbb3T6yE50jMubh3gnGbN/kB+CA9GKhGiV
	 x07Ph4nhic0d+Y4lDOSPye8H8YES3fV7YB2w+cfi0V3cZ+g/eYbthHSMUClCEvVsJk
	 JeXgJU/PR36Wmp548ZsqjtOrVX0ynX2BCl8lVSPNSKgRtS/e76ij1uF4uVy9E18ePt
	 RpfC7VJ5G5P2eYqsm/AT7MSfTHxp/K8704KMdW2cSwD3mLjwH+6D+I6AvoEPszx0FD
	 UhU/Dr8rpEbMg==
Date: Wed, 29 Nov 2023 14:36:56 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Mario Marietto <marietto2008@gmail.com>
cc: Elliott Mitchell <ehem+freebsd@m5p.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Chuck Zmudzinski <brchuckz@netscape.net>, 
    Demi Marie Obenour <demi@invisiblethingslab.com>, 
    Anthony PERARD <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>, 
    Xen-devel <xen-devel@lists.xenproject.org>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Bertrand Marquis <Bertrand.Marquis@arm.com>, 
    Michal Orzel <michal.orzel@amd.com>
Subject: Re: We are not able to virtualize FreeBSD using xen 4.17 on Arm 32
 bit
In-Reply-To: <CA+1FSiiPOJOWkqGm_yATWyiZCDFgHYkHT0CVBqdcvK78AdeFoA@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2311291432350.3533093@ubuntu-linux-20-04-desktop>
References: <CA+1FSigM1PZc4WfZNUJSMsZbNPPTyThRJ7MMQwQ9TWn6VnSUTg@mail.gmail.com> <C0A0E9FA-5AAB-4324-BBBD-D07412CD7F32@arm.com> <ZWR1v5Y3EpRK817B@macbook> <CA+1FSij2Q9f9Vj0A06HUYeUxTddrEyF=Q8X5fbs96CRr83_BPg@mail.gmail.com> <4fc95518-7e46-4f82-b540-afdbc941508a@netscape.net>
 <f606be07-c4ff-43c6-acf9-42065a84b594@netscape.net> <ZWUgfkP4U5kOmQNj@mattapan.m5p.com> <ZWXvBMaRJ5Lbb5S9@macbook> <CA+1FSii4WeKQBuzW9TS_AkHD2nbm=Q+iL9j3wkfu+ZsC0V_=1w@mail.gmail.com> <ZWYC-omtTOxIHNwF@macbook> <ZWZyEtGMhjRba/Z2@mattapan.m5p.com>
 <CA+1FSiiPOJOWkqGm_yATWyiZCDFgHYkHT0CVBqdcvK78AdeFoA@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1138682156-1701297419=:3533093"

  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-1138682156-1701297419=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

Hi Mario,

I suggest to do one step at a time and first to get it fully working
using "xl" to create the FreeBSD guest. And afterwords to try to get
libvirt to work. Both xl and libvirt call the same library underneath
(libxl) to create guests, but xl is tested a lot more with Xen on ARM.

I am not going to comment on how to create a FreeBSD xenvm.img as I
don't have any knowledge on FreeBSD.



On Wed, 29 Nov 2023, Mario Marietto wrote:
> Hello to everyone.
> 
> I tried to use xen as a hypervisor instead of kvm + libvirt + virt-manager to boot FreeBSD on my ARM Chromebook where I have installed
> Devuan 5,since Stefano said : 
> 
> "That might work. libvirt + virt-manager with the xen accelerator might work on the ARM Chromebook. That's because as far as I know Xen
> integration in libvirt is done via linking to libxl directly and libxl is supported and working on ARM" 
> 
> Unfortunately something is not working properly. What I did has been to reboot the machine in xen,enable libvirtd & and virtlogd & and
> virt-manager &,but this is what happened :
> 
> Traceback (most recent call last):
>   File "/usr/lib/xen-4.17/bin/pygrub", line 884, in <module>
>     raise RuntimeError("Unable to find partition containing kernel")
> RuntimeError: Unable to find partition containing kernel
> 
> I think it does not recognize the FreeBSD file system structure and its kernel. Libvirt seems to have been programmed to boot Linux,not
> FreeBSD. 
> 
> In Fact,I did the counterproof and it seems to be like this :
> 
> 
> According with this post :
> 
> https://blog.roberthallam.org/2020/05/solving-unable-to-find-partition-containing-kernel/
> 
> I've created a file called menu.lst inside the boot directory of the image file called "debian.img",adding the following content inside :
> 
> default 0
> timeout 10
> title Debian
> root (hd0,1)
> kernel /boot/vmlinux-6.1.59-stb-xen-cbe+ root=/dev/xvda
> initrd /boot/initrd.img-6.1.59-stb-xen-cbe+
> 
> and I tried again to boot the image using virt-manager. It gave this error again :
> 
> root@devuan-bunsen:/mnt/zroot2/zroot2/OS/Chromebook/FreeBSD-guestOS/linux-xen/debian2/boot# 2023-11-29 15:21:09.266+0000: 2467: error :
> libxlDomainStartPerform:1256 : internal error: libxenlight failed to create new domain 'debian12'
> 
> but giving a look inside the log file and I found this interesting situation ;
> 
> Using <class 'grub.GrubConf.GrubConfigFile'> to parse /boot/grub/menu.lst
> (B )0 [1;24r [m [?7h [?1h = [H [J [?1h = [1B    pyGRUB  version 0.6
> [1B [0m lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
> [1B [0m x [0;7m Debian 12                                                             [m [0m x
> [1B [0m x [72C [0m x
> [1B [0m x [72C [0m x
> [1B [0m x [72C [0m x
> [1B [0m x [72C [0m x
> [1B [0m x [72C [0m x
> [1B [0m x [72C [0m x
> [1B [0m x [72C [0m x
> [1B [0m mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj [1B [70D [0m Use the ↑ and ↓ keys to select which
> entry is highlighted. [1B [58DPress enter to boot the selected OS, 'e' to edit the [1B [52Dcommands before booting, 'a' to modify the
> kernel arguments [1B [59Dbefore booting, or 'c' for a command line. [12A [26C [17B [68DWill boot selected entry in 10 seconds [?1h =
> [J [17A [73C [17B [68DWill boot selected entry in  9 seconds [?1h =
> [J [17A [73C [17B [68DWill boot selected entry in  8 seconds [?1h =
> [J [17A [73C [17B [68DWill boot selected entry in  7 seconds [?1h =
> [J [17A [73C [17B [68DWill boot selected entry in  6 seconds [?1h =
> [J [17A [73C [17B [68DWill boot selected entry in  5 seconds [?1h =
> [J [17A [73C [17B [68DWill boot selected entry in  4 seconds [?1h =
> [J [17A [73C [17B [68DWill boot selected entry in  3 seconds [?1h =
> [J [17A [73C [17B [68DWill boot selected entry in  2 seconds [?1h =
> [J [17A [73C [17B [68DWill boot selected entry in  1 seconds [?1l > [24;1H
> [?1l >
> 
> so,it seems that it tried to boot,but for an unknown reason,it still gives the error.
>  
> Anyway : My xen setup is not broken anymore ; Using Libvirt Linux seems to be able to boot,FreeBSD does not. Using the "raw" method of
> booting FreeBSD as domU could be another story that I will try soon.
> 
> But before trying to compile the correct freebsd kernel that's recognized by xen using the Elliott Michell code,I need to understand well
> what's the procedure that will work. So below you can read what I will try to do :
> 
> $ truncate -s 100G xenvm.img
> $ mdconfig -f xenvm.img -u 0 
> $ newfs /dev/md0 
> $ mount /dev/md0 /mnt
> $ git clone https://gitlab.com/ehem/freebsd-src.git
> $ cd freebsd-src
> $ make  -DNO_MODULES   KERNCONF=GENERIC TARGET=arm TARGET_ARCH=armv7 DESTDIR=/build buildkernel
> $ echo "/dev/xbd0       /       ufs     rw      1 
> 1" > /mnt/etc/fstab  
> 
> $ nano /build/etc/ttys (add the line 'xc0 "/usr/libexec/getty Pc" xterm on secure")
> $ umount /build
> $ mdconfig -d -u 0
> 
> Do you see errors ? some missing ?
> ---> I've only ever tried arm64, but since arm32 didn't appear to need much to be operational I tried to
> make it possible.  In theory it /should/ work on arm32, but I've never tried it.  What was missing was 
> I had never added it to the configuration and one link was needed. Updated "submit" branch has a tiny 
> adjustment.
> 
> I didn't understand how to apply the patch that's inside the "submit" branch. 
> 
> 
> On Wed, Nov 29, 2023 at 12:05 AM Elliott Mitchell <ehem+freebsd@m5p.com> wrote:
>       On Tue, Nov 28, 2023 at 04:10:50PM +0100, Roger Pau Monné wrote:
>       > On Tue, Nov 28, 2023 at 03:09:14PM +0100, Mario Marietto wrote:
>       > > For booting a FreeBSD kernel as a guest OS on XEN,should we install xen
>       > > 4.18 from source ?
> 
>       > I don't think so, I'm not aware of the FreeBSD port requiring a
>       > specific version of Xen.  I do think the work is limited to aarch64
>       > however, so there's no support in sight for arm32 FreeBSD guests as
>       > far as I'm aware.
> 
>       I've only ever tried arm64, but since arm32 didn't appear to need much
>       to have operational I tried to make it possible.  In theory it /should/
>       work on arm32, but I've never tried it.  What was missing was I had never
>       added it to the configuration and one link was needed.  Updated "submit"
>       branch has the tiny adjustment.
> 
>       (the only difference is the hypercall wrappers, register naming and where
>       the op code goes, very simple compatibility)
> 
> 
>       On Tue, Nov 28, 2023 at 02:45:40PM +0100, Roger Pau Monné wrote:
>       > On Mon, Nov 27, 2023 at 03:04:30PM -0800, Elliott Mitchell wrote:
>       > > BTW Roger Pau Monné, now that Xen 4.18 is out, take a look at the
>       > > "royger" branch?
>       >
>       > I've pushed a bunch of those, there are still some, I've made comments
>       > on the branch.
>       >
>       > I think there isn't much left after the swept I've done.
>       >
>       > If you can rebase and reply to the comments I will take a look at
>       > what's remaining.
> 
>       Done.  I'm unsure you'll like the xs_attach_children() approach.  Thing
>       is that really is appropriate given the situation.  #2 is the urgent one
>       as that is the handy approach to the hypercall declarations.
> 
> 
>       --
>       (\___(\___(\______          --=> 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
> 
> 
> 
> 
> --
> Mario.
> 
> 
--8323329-1138682156-1701297419=:3533093--


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 23:33:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 23:33:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644322.1005144 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8U3p-0003cz-L1; Wed, 29 Nov 2023 23:33:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644322.1005144; Wed, 29 Nov 2023 23: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 1r8U3p-0003cs-Hy; Wed, 29 Nov 2023 23:33:41 +0000
Received: by outflank-mailman (input) for mailman id 644322;
 Wed, 29 Nov 2023 23:33: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 1r8U3o-0003ci-8u; Wed, 29 Nov 2023 23:33: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 1r8U3n-0007Mr-Tn; Wed, 29 Nov 2023 23:33: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 1r8U3n-0006rp-HZ; Wed, 29 Nov 2023 23:33:39 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8U3n-0000Ac-H1; Wed, 29 Nov 2023 23:33: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=DwZZR1ZifiyvxPBvHDwOrT/DrMqqqcoIXXUnP6gcU0Q=; b=ZIRggmHBx2CbxTVjXYU7f4Ws9V
	7KN9VrlQmVaT/kfQ9H4XXIiMdrzDBmTQ2xq2bjD48Apuky2IPqiU7rLLeJHJ/8+RPxP53Ftqm6/a3
	79kcyOG/t5JUsc5Q59NqRKoIdabPnIe2oN1CwKu/VjbZSWjbQJ+fSc4fSvV+XZRJmzyA=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183942-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183942: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=4f99b5fb936a2a0239d5212948b7104d75d1558c
X-Osstest-Versions-That:
    ovmf=68d506e0d15c0c412142be68ed006c65b641560f
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 23:33:39 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 4f99b5fb936a2a0239d5212948b7104d75d1558c
baseline version:
 ovmf                 68d506e0d15c0c412142be68ed006c65b641560f

Last test of basis   183932  2023-11-29 07:41:09 Z    0 days
Testing same since   183942  2023-11-29 21:12:45 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael Kubacki <michael.kubacki@microsoft.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
   68d506e0d1..4f99b5fb93  4f99b5fb936a2a0239d5212948b7104d75d1558c -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Wed Nov 29 23:49:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Wed, 29 Nov 2023 23:49:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644329.1005154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8UIs-0001LL-4P; Wed, 29 Nov 2023 23:49:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644329.1005154; Wed, 29 Nov 2023 23: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 1r8UIs-0001LE-0k; Wed, 29 Nov 2023 23:49:14 +0000
Received: by outflank-mailman (input) for mailman id 644329;
 Wed, 29 Nov 2023 23:49: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 1r8UIp-0001Jl-W0; Wed, 29 Nov 2023 23:49: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 1r8UIp-0007bk-Nk; Wed, 29 Nov 2023 23:49: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 1r8UIp-0007Eq-HU; Wed, 29 Nov 2023 23:49:11 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8UIp-00042X-Gv; Wed, 29 Nov 2023 23:49: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=7tz8J7ZxwMkJ3ycPQuveEZUZT4zV+mVZKyBaBrleK+w=; b=Ci0dn2yY9C4o9XBNSXNBog5G8f
	lawPchPCvr2zFM3d6oMB66kubMUMVAIFfQf+504PNlIaB5ptmoKFUEjj3bOrCmA2yJiRma9p5TbYl
	LJfl2KJ/vW6cMjd8I9FIr56XeXbSuGgkCTR8fbPsRjR0Jcj6gKZHYlJX5lD+j7ap/8GE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183927-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183927: tolerable FAIL - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-raw:guest-start:fail:heisenbug
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=f3573b5efaa2002c6c9efc379e3f8578c9bbbdf5
X-Osstest-Versions-That:
    libvirt=6f11304849f303cbc2d3896261eff9f91acae52d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Wed, 29 Nov 2023 23:49:11 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-armhf-armhf-libvirt-raw 13 guest-start         fail pass in 183943-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail in 183943 like 183880
 test-armhf-armhf-libvirt-raw 14 migrate-support-check fail in 183943 never pass
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183880
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183880
 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-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     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-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-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-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 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-armhf-armhf-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 libvirt              f3573b5efaa2002c6c9efc379e3f8578c9bbbdf5
baseline version:
 libvirt              6f11304849f303cbc2d3896261eff9f91acae52d

Last test of basis   183880  2023-11-28 04:18:52 Z    1 days
Testing same since   183927  2023-11-29 04:18:51 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Andrea Bolognani <abologna@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 fail    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   6f11304849..f3573b5efa  f3573b5efaa2002c6c9efc379e3f8578c9bbbdf5 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 01:06:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 01:06:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644338.1005164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8VVK-0008Qq-BO; Thu, 30 Nov 2023 01:06:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644338.1005164; Thu, 30 Nov 2023 01: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 1r8VVK-0008Qj-8C; Thu, 30 Nov 2023 01:06:10 +0000
Received: by outflank-mailman (input) for mailman id 644338;
 Thu, 30 Nov 2023 01:06: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8VVJ-0008Qd-2c
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 01:06:09 +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 a3cb8139-8f1c-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 02:06:07 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 3CA3AB83849;
 Thu, 30 Nov 2023 01:06:06 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7EC57C433C8;
 Thu, 30 Nov 2023 01:06: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: a3cb8139-8f1c-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701306365;
	bh=Bun+BOPQZHkMJ4paY1HSqyNwUyQfD9ByYdU6BPFabig=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=jCdiMFfNd2OiQsvD/yVKxs+ri7I7BvSXEmG0iFWIENwoI5QUS8VPiOQTkoKvME1qR
	 EGbHGhUM7kZP+8vMXMDLf8PGvMFicLbSCRVN9iLuX6Lhb/WEwA7k5cQD0+UJxNpFgW
	 I4lWUxUWf2Qe8Z1j8Z4o/q1PH6tc4SIbFkyif2GO/JY0+cYk/j2Mnb5wRgLkuhH2Fu
	 q2oRHcXoKnpmOEVPb4bjaPuvYtV5zSFej6OdyUlRT4KToC1l0LSvTpzu0SrMtkB63A
	 iyCgGRAr2tArlkYLsHHa+hyidiCYIhahK4ABkNs2KX+uWJ8za/Ej/FXfAxD7F0yZZo
	 8NWOutTkewpSQ==
Date: Wed, 29 Nov 2023 17:06:01 -0800 (PST)
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>, 
    Michal Orzel <michal.orzel@amd.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>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Community Manager <community.manager@xenproject.org>
Subject: Re: [PATCH v6 00/17] Device tree based NUMA support for Arm
In-Reply-To: <20231120025431.14845-1-Henry.Wang@arm.com>
Message-ID: <alpine.DEB.2.22.394.2311291657520.3533093@ubuntu-linux-20-04-desktop>
References: <20231120025431.14845-1-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

Hi Henry,

Thank you for all your work on this series and in general upstreaming
other patches too!

How do we test it? Is there a way to test this series with QEMU and some
special device tree? I am asking because during review it would make
things easier if we could exercise the new code somehow.

I haven't had a chance to review this properly but I noticed that a few
code additions are not protected by CONFIG_NUMA. Maybe they should?

Also given that this is not a small series, I wanted to check with you
if this is a good time to do a full review of the series (in the sense
that you are OK with handling review feedback now) or whether you would
rather have us do the review at another time.

Cheers,

Stefano


On Mon, 20 Nov 2023, Henry Wang wrote:
> The preparation work to support NUMA on Arm has been merged
> and can be found at [1] and [2]. The initial discussions of
> the Arm NUMA support can be found at [3].
> 
> - Background of this series:
> 
> 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 FVP in
> Arm64 mode with NUMA configs in device tree 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/2022-11/msg01043.html
> [3] https://lists.xenproject.org/archives/html/xen-devel/2021-09/msg01903.html
> 
> Henry Wang (1):
>   xen/arm: Set correct per-cpu cpu_core_mask
> 
> Wei Chen (16):
>   xen/arm: use NR_MEM_BANKS to override default NR_NODE_MEMBLKS
>   xen/arm: implement helpers to get and update NUMA status
>   xen/arm: implement node distance helpers for Arm
>   xen/arm: use arch_get_ram_range to get memory ranges from bootinfo
>   xen/arm: build NUMA cpu_to_node map in dt_smp_init_cpus
>   xen/arm: Add boot and secondary CPU to NUMA system
>   xen/arm: introduce a helper to parse device tree processor node
>   xen/arm: introduce a helper to parse device tree memory node
>   xen/arm: introduce a helper to parse device tree NUMA distance map
>   xen/arm: unified entry to parse all NUMA data from device tree
>   xen/arm: keep guest still be NUMA unware
>   xen/arm: enable device tree based NUMA in system init
>   xen/arm: implement numa_node_to_arch_nid for device tree NUMA
>   xen/arm: use CONFIG_NUMA to gate node_online_map in smpboot
>   xen/arm: Provide Kconfig options for Arm to enable NUMA
>   docs: update numa command line to support Arm
> 
>  CHANGELOG.md                      |   1 +
>  SUPPORT.md                        |   1 +
>  docs/misc/xen-command-line.pandoc |   2 +-
>  xen/arch/arm/Kconfig              |  11 ++
>  xen/arch/arm/Makefile             |   2 +
>  xen/arch/arm/domain_build.c       |   6 +
>  xen/arch/arm/include/asm/numa.h   |  91 ++++++++-
>  xen/arch/arm/numa-dt.c            | 299 ++++++++++++++++++++++++++++++
>  xen/arch/arm/numa.c               | 184 ++++++++++++++++++
>  xen/arch/arm/setup.c              |  17 ++
>  xen/arch/arm/smpboot.c            |  38 ++++
>  xen/arch/x86/include/asm/numa.h   |   1 -
>  xen/arch/x86/srat.c               |   2 +-
>  xen/include/xen/numa.h            |  10 +
>  14 files changed, 661 insertions(+), 4 deletions(-)
>  create mode 100644 xen/arch/arm/numa-dt.c
>  create mode 100644 xen/arch/arm/numa.c
> 
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 02:12:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 02:12:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644342.1005174 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8WX2-00059K-VQ; Thu, 30 Nov 2023 02:12:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644342.1005174; Thu, 30 Nov 2023 02: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 1r8WX2-00059D-S9; Thu, 30 Nov 2023 02:12:00 +0000
Received: by outflank-mailman (input) for mailman id 644342;
 Thu, 30 Nov 2023 02: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=+Gnx=HL=arm.com=Henry.Wang@srs-se1.protection.inumbo.net>)
 id 1r8WX1-000594-ET
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 02:11:59 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on20625.outbound.protection.outlook.com
 [2a01:111:f400:7d00::625])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d51f57f9-8f25-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 03:11:57 +0100 (CET)
Received: from AS9PR06CA0057.eurprd06.prod.outlook.com (2603:10a6:20b:463::33)
 by VI1PR08MB5408.eurprd08.prod.outlook.com (2603:10a6:803:130::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 02:11:41 +0000
Received: from AM1PEPF000252E0.eurprd07.prod.outlook.com
 (2603:10a6:20b:463:cafe::24) by AS9PR06CA0057.outlook.office365.com
 (2603:10a6:20b:463::33) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend
 Transport; Thu, 30 Nov 2023 02:11:41 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM1PEPF000252E0.mail.protection.outlook.com (10.167.16.58) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Thu, 30 Nov 2023 02:11:41 +0000
Received: ("Tessian outbound 7c4ecdadb9e7:v228");
 Thu, 30 Nov 2023 02:11:40 +0000
Received: from f7db70a597d7.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 D3E0A5DE-F577-4C53-B264-C1011EE40F73.1; 
 Thu, 30 Nov 2023 02:11:30 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f7db70a597d7.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 30 Nov 2023 02:11:30 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com (2603:10a6:20b:570::15)
 by PAWPR08MB9967.eurprd08.prod.outlook.com (2603:10a6:102:358::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27; Thu, 30 Nov
 2023 02:11:25 +0000
Received: from AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db]) by AS8PR08MB7991.eurprd08.prod.outlook.com
 ([fe80::c64b:7a3:ac99:25db%2]) with mapi id 15.20.7046.015; Thu, 30 Nov 2023
 02:11: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: d51f57f9-8f25-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=eBVghb3t89V0JWaqsoRO9e2kN0CgND0gBCXhxreAh4e9NRW49omRYT04VpnaxDxzRhj1QKGLL0WchcVfQ7JkpVkwJBT9qnS0DUHoGzo6Zl7mL2zK+Qt88LN3OT8HYmVZC8HsfCB7LOm5KEcCPn4pD1b0A/DauWECxTW+Pv1V9hqNVqvrNgzpL37rnniJlioIDfC4uWPFsT+8HCnsgElZ2EaMGTYg/Cm33+2It2DVSSZoZxzkwXjbNi0prGw724iyEdgd7rTuY7OwLFPC/Z227csaqwF/986eayolGZEt8HVcJ0ta9iPhK6Zs7eroWqPkLhe79+oxwUreK+QiltaAAw==
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=4XdcFDOyfWb9qYT+VcCm5sZ4OOaYVGFt2gqLmxCnBNg=;
 b=fHd2wtLFB9zLl112Y9ARE3laqSsJY7NclJxMYgr7AcL+kZtYtcMRx76UXiVh80DDjXTSMKHwV1rNsJg1r5+5zmbBSJK5tYBa28wy0AD+A2z+u8MNTYBlpBadsjT5xHPkL+RcKgNIB9dKvjvPSTH2dTB30hYVEyHSxPyggAc7Zmq416C7pKjvBlM2mJ7Vo2idfQ96NHGYZ1pkjikKCr32klQ3tlCovhf+TbboctqYwYz/XN82M6HXRyj7j718RLRLnsJIBzdImMNdPlk9wtjkfUXv10t8+vFQiDmjLXf1jg4TTBsQ0VpMr/On4e+WxlLfzbEBTKagcH+gJKfKW7/Jvw==
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=4XdcFDOyfWb9qYT+VcCm5sZ4OOaYVGFt2gqLmxCnBNg=;
 b=N9kdmQa2C/RwqTn5ZHRS38MM17wudj+MhE4/U/dCZrCak3BHG2CQlDq7uVy0Y1k+NWIa+w1sUZkagdou82v+fk1I+S6ipi3ZiGcqrfnBXv+MWvyHrh7BIL09RdeWV/tgHXh8QsF5wggrqhCbleeMqVmSOG1iMnvkCYrYIg7Wrss=
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: f68f68a701547a8a
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Ksj1PwstsX4P6cyuFzDocbRQwr0nAsFRAm7kCbMqquaYnSNubvMUJgFXjFQ0mK/ChKgAnskxZzM+eUj1oar722yS0Ujn2yComie615u2eU/ASkHuo4WDgXuC6dfwqXTjP/sonr3Lwh1aqn1M4jUq0ZGhjGwDKfJob88neSGboKFSASc5X72GjR/62ZmNdwXj4L89pOKlczJRxJTQBxfJDCkQB7Jjr3Mf2V+//MX+KeFxuNrvChc2uXhr3T8vo1vFCI9H8KWjqyY1WrYs/HpIb70F2TxuoiHFraKVA0ssyor7fC24SxupBniSjqfkHQM4vbKzR65Ez3U3yE4Ln9SRvQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=4XdcFDOyfWb9qYT+VcCm5sZ4OOaYVGFt2gqLmxCnBNg=;
 b=TvoVkzUThGAB2NWPOi0mDIrqyCmNYj7LIBl79ToeTgJSP7/Rl3OTM3IPcsYVKIY3jDRpojX4qC6r1b2LsBIwxThks8V816Ky0b24VWZUUb3Qhy1vO8h+gsDn1fGa4jByu9UYe+TGk7RMhYypmhQ1cMDTZxScg9/4+4Oh9ThxFNa4bRSydY7atvjq0yugiz8jOFC/nVWtJHecMsoaBe3kS/gDaOxYfk6lGzRn1/glDTd1iT57ZvpOmX8aELOoAUp/JaEinD31bLJGjXUtj8DyCeitW6nsIplj567TWdiSbZehJcaQuLERIukXD6kLBmRPLPiprRBGwSTdLhF2zBaYCg==
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=4XdcFDOyfWb9qYT+VcCm5sZ4OOaYVGFt2gqLmxCnBNg=;
 b=N9kdmQa2C/RwqTn5ZHRS38MM17wudj+MhE4/U/dCZrCak3BHG2CQlDq7uVy0Y1k+NWIa+w1sUZkagdou82v+fk1I+S6ipi3ZiGcqrfnBXv+MWvyHrh7BIL09RdeWV/tgHXh8QsF5wggrqhCbleeMqVmSOG1iMnvkCYrYIg7Wrss=
From: Henry Wang <Henry.Wang@arm.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Xen-devel <xen-devel@lists.xenproject.org>, Julien Grall <julien@xen.org>,
	Bertrand Marquis <Bertrand.Marquis@arm.com>, Michal Orzel
	<michal.orzel@amd.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>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>,
	Community Manager <community.manager@xenproject.org>, Wei Chen
	<Wei.Chen@arm.com>
Subject: Re: [PATCH v6 00/17] Device tree based NUMA support for Arm
Thread-Topic: [PATCH v6 00/17] Device tree based NUMA support for Arm
Thread-Index: AQHaG1z6r237lUq/IkaG31+XYPo6A7CSHAqAgAASOQA=
Date: Thu, 30 Nov 2023 02:11:25 +0000
Message-ID: <401761BE-0499-4F18-A93F-B6E8F6E9A48D@arm.com>
References: <20231120025431.14845-1-Henry.Wang@arm.com>
 <alpine.DEB.2.22.394.2311291657520.3533093@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2311291657520.3533093@ubuntu-linux-20-04-desktop>
Accept-Language: zh-CN, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AS8PR08MB7991:EE_|PAWPR08MB9967:EE_|AM1PEPF000252E0:EE_|VI1PR08MB5408:EE_
X-MS-Office365-Filtering-Correlation-Id: 9eda8360-3e02-48ee-e7be-08dbf149b154
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:
 4g6KFK8F0KY0wjndqDbixT89v7/9Yp4/FivaZ8upkS1eMiarmYoXPgikJ5u/TehzDO+GgCzdBiEZnU60i0qGSHtuFgtgYipkNrJuVJgsHynxGiym/pfcJ2/wa+mDfEEb2rPAL5z4tpytzn00IudiJWzEoKlKSjVzaZ9VCJMQKxWGOJJk/37R5cvDB2mD5iIICtHKTfOmBvQl3Zia35XG9jJuHYOC1T1xvw/EAfgrBY/+BnWAtvzQ2r9ERTRsHtLLgVdGp/EcKb9u2oPnAnaMIO8vRaAIyS4g/S/7LQ7ayVVcQj11s0Wndb1ZNYra00alwwVOhZS2iippvSUBTrJlzLx94j7+7z3t5FTlilE0YiPIzbUHN2QdM9dPrFlG0OjUmCKk5587rnjkRJvtV+1anLpusI6QSeNq8tL79GsKu+tCdwxNVJDXe3Mi8Gh4K4owkeT0/nzuhzSmekNoDSVT7rppmxm8s54o3fzVxoRTrk0tAJV4NZKVhb3Q0/UPc/H3dO5AMmgR5gPeR96drPqvUOHIxjlGJ2HNZXOVoIVRQXlGVMTpOjo4v+E5i9XwEk21DV/w6hEJXPnDRdRZsTXfdJ2Q5NnIAB7YGQuTzIKMsWvWRxsVRuejWcgpMNXlbGZCDc2eLyRDQdGvKxE+QChd4s+pRbQfniU/YlqNrOWU/Vrqei4HigZrPwqYxa28GhICEhWVg9D9IjnENZoK37gKFblS2N/Fuw4fHtL0jxgrJ70=
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:(13230031)(396003)(346002)(39860400002)(366004)(136003)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(202311291699003)(122000001)(478600001)(26005)(53546011)(6512007)(6506007)(2616005)(71200400001)(38100700002)(38070700009)(36756003)(86362001)(33656002)(4326008)(41300700001)(66946007)(7416002)(8936002)(5660300002)(76116006)(2906002)(83380400001)(316002)(966005)(64756008)(91956017)(54906003)(6916009)(6486002)(66476007)(66446008)(66556008)(8676002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-ID: <9187764BA0FBAA4BA8302652C3D13AFC@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAWPR08MB9967
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:
 AM1PEPF000252E0.eurprd07.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	695c3869-e7d0-4bfe-ecc8-08dbf149a7c9
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	fmVy25fY9+W+z87dgHFQqaLKVqw461OvuhjCfVOv9tnrX+Z7klG8UFyAIVLx+vd0X5X+MoFKEK8XzFfjYSFZCdolYZ7578RfEc4lMG+UGu75gTFjR8Ko4q8fsE031eM1n7ZIadPQK0lLlkZqran4OfCb1sKWZhieAaokmEDiUjuBu6isJ47P7x5VPykl0jngrUEaQ+CxFQqy1qk5z9EmOXn1a94jD3YB2Eie1wK1bIajF+qoSI0jBXCa+O17laZLOuAoizikNrHnNbAumUJNSg9GSwECh/51uvqxSbd8mCLNyX1s6EW/akK8ZIhGDJtj/c86KOH/AUySqpCt3stONraxtTLrR4744k+KYnFdACTAqfqATJD12UxxSI2UiGq9n1S+twA9dYtfmGrB/Me/LUZ7UrrSnolGaufkHTrnh9H950hwqwG/z6SvZO3d9WO7nRg44R18ItC17cCy4PUZ9WEeMUIUeWpVcviui1gke8deTaWmAMtl4Ua5JXS5Qz8Pq9zXBNPPpzHJ/bGjHC2We0Si4FCwT6+UxE8G12zHwEi3AwuFW/kici/bNrCdXf8RHOHv4+8Y3RflCZ9rAiiNorawbkVCc5NyTzZC8WVwsFkCOM6WIS79kvlNAERblIApvl0ZqSO41G+3bPilwoYaDwlNSjpTV/Yz433nNHTs49/uPxe5HxTS/+ybhph0ngCA+ZcrwukLvRd2hgU1LfQuri8+hwT6crU8DJSM9+gKqJgVF9yQ5NBhK1XxN3Ur3RmR2O8atYb/AeHOFRq/v6dt1ZMs1CLlSY/onbBeyQBn0lxPQdIeG3fKFACp2r4JfMaH
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:(13230031)(4636009)(39850400004)(136003)(346002)(376002)(396003)(230922051799003)(82310400011)(64100799003)(186009)(451199024)(1800799012)(36840700001)(46966006)(40470700004)(336012)(26005)(83380400001)(478600001)(6486002)(966005)(202311291699003)(2616005)(6512007)(6506007)(53546011)(40480700001)(4326008)(6862004)(316002)(8676002)(54906003)(70586007)(70206006)(8936002)(86362001)(36860700001)(47076005)(81166007)(82740400003)(356005)(5660300002)(40460700003)(33656002)(41300700001)(36756003)(2906002);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 02:11:41.2470
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 9eda8360-3e02-48ee-e7be-08dbf149b154
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:
	AM1PEPF000252E0.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR08MB5408

SGkgU3RlZmFubywNCg0KVGhhbmtzIGZvciB0aGUgZW1haWwhDQoNCj4gT24gTm92IDMwLCAyMDIz
LCBhdCAwOTowNiwgU3RlZmFubyBTdGFiZWxsaW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPiB3
cm90ZToNCj4gDQo+IEhpIEhlbnJ5LA0KPiANCj4gVGhhbmsgeW91IGZvciBhbGwgeW91ciB3b3Jr
IG9uIHRoaXMgc2VyaWVzIGFuZCBpbiBnZW5lcmFsIHVwc3RyZWFtaW5nDQo+IG90aGVyIHBhdGNo
ZXMgdG9vIQ0KDQpJdOKAmXMgb3VyIHBsZWFzdXJlLg0KDQo+IEhvdyBkbyB3ZSB0ZXN0IGl0PyBJ
cyB0aGVyZSBhIHdheSB0byB0ZXN0IHRoaXMgc2VyaWVzIHdpdGggUUVNVSBhbmQgc29tZQ0KPiBz
cGVjaWFsIGRldmljZSB0cmVlPyBJIGFtIGFza2luZyBiZWNhdXNlIGR1cmluZyByZXZpZXcgaXQg
d291bGQgbWFrZQ0KPiB0aGluZ3MgZWFzaWVyIGlmIHdlIGNvdWxkIGV4ZXJjaXNlIHRoZSBuZXcg
Y29kZSBzb21laG93Lg0KDQpFbW1tLCBsZXQgbWUgYWRkIHNvbWUgZGV0YWlscy4gSSB0ZXN0ZWQg
dGhlIGNvZGUgdXNpbmcgRlZQLiBGcm9tIG15DQp1bmRlcnN0YW5kaW5nLCB5b3Ugb25seSBuZWVk
IHRvIHR3ZWFrIHRoZSBkZXZpY2UgdHJlZSBmb3IgdGhlIG1lbW9yeSwNCmNwdXMgbm9kZSBhbmQg
YWRkIGEgImRpc3RhbmNlLW1hcOKAnSBub2RlIGZvbGxvd2luZyB0aGUgZGV2aWNlIHRyZWUgYmlu
ZGluZyBbMV0uDQoNCkJ1dCBJIHVuZGVyc3RhbmQgeW91ciBwYWluIG9mIGxhY2tpbmcgdGhlIEZW
UCB0byBwbGF5IHdpdGggdGhlIGNvZGUgKHNhbWUNCmZvciB0aGUgUjgyIHN1cHBvcnQpLiBGb3Ig
dGhlc2UsIHdl4oCZdmUgY2hlY2tlZCBpbnRlcm5hbGx5IHdpdGggdGhlIGxlZ2FsIGV4cGVydHMN
CmFib3V0IHRoZSBwb3NzaWJpbGl0eSB0byBpbmNsdWRlIHRoZSBGVlAgaW4gdGhlIHVwc3RyZWFt
4oCZcyBHaXRMYWIgQ0kgY29udGFpbmVycw0Kd2l0aG91dCB0cmlnZ2VyaW5nIHRoZSByZWRpc3Ry
aWJ1dGlvbiBpc3N1ZS4gSXQgc2VlbSB0aGF0ICBub3cgYWxsIHRoZSBGVlBzDQpyZWZlcmVuY2Vk
IG9uIFsyXSwgaW5jbHVkaW5nIGJvdGggdGhlIOKAnEZWUF9CYXNlX1JldkMtMnhBRU12QeKAnSBh
bmQgdGhlDQrigJxGVlBfQmFzZVJfQUVNdjhS4oCdLCBhcmUgbGljZW5zZWQgdW5kZXIgbGlnaHR3
ZWlnaHQgRWNvIFN5c3RlbSBFVUxBDQp0aGF0IGhhcyBubyByZXN0cmljdGlvbnMgb24gdGhlIHJl
ZGlzdHJpYnV0aW9uLiBUaGVyZWZvcmUgSSB0aGluayBub3cgd2UgYXJlIHNhZmUgdG8NCnBhY2sg
dGhlbSBpbiB0aGUgdXBzdHJlYW3igJlzIGNvbnRhaW5lcnMgYW5kIHVzZSBpdCBmb3IgdGhlIEdp
dExhYiBDSSB0ZXN0aW5nLg0KDQpJIHRoaW5rIHdlIGNhbiBhZGQgYSBHaXRMYWIgQ0kgam9iIHRv
IHRlc3QgTlVNQSAoYW5kIGZ1dHVyZSBBcm0gZmVhdHVyZXMpLCBpdCBpcw0KanVzdCB3ZSBuZWVk
IHRvIGRlc2lnbiBhbmQgZG8gYSBleHRlbmRhYmxlIGZyYW1ld29yayBmb3IgaXQuIEkgY2FuIHdv
cmsgb24gaXQNCmluIHRoZSBuZXh0IHZlcnNpb24gb2YgdGhlIE5VTUEgc2VyaWVzLiBXaGF0IGRv
IHlvdSB0aGluaz8NCg0KPiBJIGhhdmVuJ3QgaGFkIGEgY2hhbmNlIHRvIHJldmlldyB0aGlzIHBy
b3Blcmx5IGJ1dCBJIG5vdGljZWQgdGhhdCBhIGZldw0KPiBjb2RlIGFkZGl0aW9ucyBhcmUgbm90
IHByb3RlY3RlZCBieSBDT05GSUdfTlVNQS4gTWF5YmUgdGhleSBzaG91bGQ/DQoNCkkgdGhpbmsg
eW91IGFyZSByZWZlcnJpbmcgdG8gdGhlIGNvZGUgaW4geGVuL2FyY2gvYXJtL3NldHVwLmMgY29y
cmVjdD8gVGhlc2UNCnBhcnRzIG9mIHRoZSBjb2RlIGlzIGRlc2lnbmVkIHRvIHdvcmsgZm9yIGJv
dGggTlVNQSBhbmQgbm9uLU5VTUEgc2V0dXBzDQooc2VlIHRoZSBpbi1jb2RlIGNvbW1lbnQgb24g
dG9wIG9mIHRoZW0pLiBBbmQgYWN0dWFsbHksIHRoZSBmdW5jdGlvbg0KbnVtYV9zZXRfY3B1X2Nv
cmVfbWFzaygpIHNob3VsZCBub3QgYmUgcHJvdGVjdGVkIGJ5IENPTkZJR19OVU1BLA0KYXMgaXQg
aXMgZml4aW5nIGFuIGFjdHVhbCAiYnVnIiBkZXNjcmliZWQgaW4gdGhlIGNvbW1pdCBtZXNzYWdl
IG9mIHRoZSBwYXRjaCAjMTUuDQoNCj4gQWxzbyBnaXZlbiB0aGF0IHRoaXMgaXMgbm90IGEgc21h
bGwgc2VyaWVzLCBJIHdhbnRlZCB0byBjaGVjayB3aXRoIHlvdQ0KPiBpZiB0aGlzIGlzIGEgZ29v
ZCB0aW1lIHRvIGRvIGEgZnVsbCByZXZpZXcgb2YgdGhlIHNlcmllcyAoaW4gdGhlIHNlbnNlDQo+
IHRoYXQgeW91IGFyZSBPSyB3aXRoIGhhbmRsaW5nIHJldmlldyBmZWVkYmFjayBub3cpIG9yIHdo
ZXRoZXIgeW91IHdvdWxkDQo+IHJhdGhlciBoYXZlIHVzIGRvIHRoZSByZXZpZXcgYXQgYW5vdGhl
ciB0aW1lLg0KDQpUaGFua3MgZm9yIGJlaW5nIGNvbnNpZGVyYXRlISBJIGhhdmUgYmVlbiBwbGFu
bmVkIGEgdGFzayBhbmQgcmVzZXJ2ZWQgbXkNCmJhbmR3aWR0aCBpbnRlcm5hbGx5IHRvIHdvcmsg
b24gdGhlIHVwc3RyZWFtIG9mIHRoaXMgc2VyaWVzLiBBbHNvIHBlcnNvbmFsbHkgSQ0KcHJpb3Jp
dGl6ZSB0aGUgdXBzdHJlYW3igJlzIGNvbW1lbnQvZmVlZGJhY2sgaW4gbXkgd29ya2luZyBzY2hl
ZHVsZS4gU28gSSB0aGluayBJDQp3aWxsIGhhbmRsZSB0aGUgcmV2aWV3IGZlZWRiYWNrIGluIHRp
bWUsIGRvbuKAmXQgd29ycnkgOikNCg0KWzFdIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvZG9jL0Rv
Y3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9udW1hLnR4dA0KWzJdIGh0dHBzOi8vZGV2
ZWxvcGVyLmFybS5jb20vVG9vbHMlMjBhbmQlMjBTb2Z0d2FyZS9GaXhlZCUyMFZpcnR1YWwlMjBQ
bGF0Zm9ybXMNCg0KS2luZCByZWdhcmRzLA0KSGVucnkNCg0KPiANCj4gQ2hlZXJzLA0KPiANCj4g
U3RlZmFubw0KPiANCj4gDQo+IE9uIE1vbiwgMjAgTm92IDIwMjMsIEhlbnJ5IFdhbmcgd3JvdGU6
DQo+PiBUaGUgcHJlcGFyYXRpb24gd29yayB0byBzdXBwb3J0IE5VTUEgb24gQXJtIGhhcyBiZWVu
IG1lcmdlZA0KPj4gYW5kIGNhbiBiZSBmb3VuZCBhdCBbMV0gYW5kIFsyXS4gVGhlIGluaXRpYWwg
ZGlzY3Vzc2lvbnMgb2YNCj4+IHRoZSBBcm0gTlVNQSBzdXBwb3J0IGNhbiBiZSBmb3VuZCBhdCBb
M10uDQo+PiANCj4+IC0gQmFja2dyb3VuZCBvZiB0aGlzIHNlcmllczoNCj4+IA0KPj4gWGVuIG1l
bW9yeSBhbGxvY2F0aW9uIGFuZCBzY2hlZHVsZXIgbW9kdWxlcyBhcmUgTlVNQSBhd2FyZS4NCj4+
IEJ1dCBhY3R1YWxseSwgb24geDg2IGhhcyBpbXBsZW1lbnRlZCB0aGUgYXJjaGl0ZWN0dXJlIEFQ
SXMNCj4+IHRvIHN1cHBvcnQgTlVNQS4gQXJtIHdhcyBwcm92aWRpbmcgYSBzZXQgb2YgZmFrZSBh
cmNoaXRlY3R1cmUNCj4+IEFQSXMgdG8gbWFrZSBpdCBjb21wYXRpYmxlIHdpdGggTlVNQSBhd2Fy
ZWQgbWVtb3J5IGFsbG9jYXRpb24NCj4+IGFuZCBzY2hlZHVsZXIuDQo+PiANCj4+IEFybSBzeXN0
ZW0gd2FzIHdvcmtpbmcgd2VsbCBhcyBhIHNpbmdsZSBub2RlIE5VTUEgc3lzdGVtIHdpdGgNCj4+
IHRoZXNlIGZha2UgQVBJcywgYmVjYXVzZSB3ZSBkaWRuJ3QgaGF2ZSBtdWx0aXBsZSBub2RlcyBO
VU1BDQo+PiBzeXN0ZW0gb24gQXJtLiBCdXQgaW4gcmVjZW50IHllYXJzLCBtb3JlIGFuZCBtb3Jl
IEFybSBkZXZpY2VzDQo+PiBzdXBwb3J0IG11bHRpcGxlIG5vZGVzIE5VTUEgc3lzdGVtLg0KPj4g
DQo+PiBTbyBub3cgd2UgaGF2ZSBhIG5ldyBwcm9ibGVtLiBXaGVuIFhlbiBpcyBydW5uaW5nIG9u
IHRoZXNlIEFybQ0KPj4gZGV2aWNlcywgWGVuIHN0aWxsIHRyZWF0IHRoZW0gYXMgc2luZ2xlIG5v
ZGUgU01QIHN5c3RlbXMuIFRoZQ0KPj4gTlVNQSBhZmZpbml0eSBjYXBhYmlsaXR5IG9mIFhlbiBt
ZW1vcnkgYWxsb2NhdGlvbiBhbmQgc2NoZWR1bGVyDQo+PiBiZWNvbWVzIG1lYW5pbmdsZXNzLiBC
ZWNhdXNlIHRoZXkgcmVseSBvbiBpbnB1dCBkYXRhIHRoYXQgZG9lcw0KPj4gbm90IHJlZmxlY3Qg
cmVhbCBOVU1BIGxheW91dC4NCj4+IA0KPj4gWGVuIHN0aWxsIHRoaW5rIHRoZSBhY2Nlc3MgdGlt
ZSBmb3IgYWxsIG9mIHRoZSBtZW1vcnkgaXMgdGhlDQo+PiBzYW1lIGZvciBhbGwgQ1BVcy4gSG93
ZXZlciwgWGVuIG1heSBhbGxvY2F0ZSBtZW1vcnkgdG8gYSBWTQ0KPj4gZnJvbSBkaWZmZXJlbnQg
TlVNQSBub2RlcyB3aXRoIGRpZmZlcmVudCBhY2Nlc3Mgc3BlZWRzLiBUaGlzDQo+PiBkaWZmZXJl
bmNlIGNhbiBiZSBhbXBsaWZpZWQgaW4gd29ya2xvYWRzIGluc2lkZSBWTSwgY2F1c2luZw0KPj4g
cGVyZm9ybWFuY2UgaW5zdGFiaWxpdHkgYW5kIHRpbWVvdXRzLg0KPj4gDQo+PiBTbyBpbiB0aGlz
IHBhdGNoIHNlcmllcywgd2UgaW1wbGVtZW50IGEgc2V0IG9mIE5VTUEgQVBJIHRvIHVzZQ0KPj4g
ZGV2aWNlIHRyZWUgdG8gZGVzY3JpYmUgdGhlIE5VTUEgbGF5b3V0LiBXZSByZXVzZSBtb3N0IG9m
IHRoZQ0KPj4gY29kZSBvZiB4ODYgTlVNQSB0byBjcmVhdGUgYW5kIG1haW50YWluIHRoZSBtYXBw
aW5nIGJldHdlZW4NCj4+IG1lbW9yeSBhbmQgQ1BVLCBjcmVhdGUgdGhlIG1hdHJpeCBiZXR3ZWVu
IGFueSB0d28gTlVNQSBub2Rlcy4NCj4+IEV4Y2VwdCBBQ1BJIGFuZCBzb21lIHg4NiBzcGVjaWZp
ZWQgY29kZSwgd2UgaGF2ZSBtb3ZlZCBvdGhlcg0KPj4gY29kZSB0byBjb21tb24uIEluIG5leHQg
c3RhZ2UsIHdoZW4gd2UgaW1wbGVtZW50IEFDUEkgYmFzZWQNCj4+IE5VTUEgZm9yIEFybTY0LCB3
ZSBtYXkgbW92ZSB0aGUgQUNQSSBOVU1BIGNvZGUgdG8gY29tbW9uIHRvbywNCj4+IGJ1dCBpbiBj
dXJyZW50IHN0YWdlLCB3ZSBrZWVwIGl0IGFzIHg4NiBvbmx5Lg0KPj4gDQo+PiBUaGlzIHBhdGNo
IHNlcmlyZXMgaGFzIGJlZW4gdGVzdGVkIGFuZCBib290ZWQgd2VsbCBvbiBGVlAgaW4NCj4+IEFy
bTY0IG1vZGUgd2l0aCBOVU1BIGNvbmZpZ3MgaW4gZGV2aWNlIHRyZWUgYW5kIG9uZSBIUEUgeDg2
DQo+PiBOVU1BIG1hY2hpbmUuDQo+PiANCj4+IFsxXSBodHRwczovL2xpc3RzLnhlbnByb2plY3Qu
b3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMjItMDYvbXNnMDA0OTkuaHRtbA0KPj4gWzJd
IGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAy
Mi0xMS9tc2cwMTA0My5odG1sDQo+PiBbM10gaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9h
cmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDIxLTA5L21zZzAxOTAzLmh0bWwNCj4+IA0KPj4gSGVu
cnkgV2FuZyAoMSk6DQo+PiAgeGVuL2FybTogU2V0IGNvcnJlY3QgcGVyLWNwdSBjcHVfY29yZV9t
YXNrDQo+PiANCj4+IFdlaSBDaGVuICgxNik6DQo+PiAgeGVuL2FybTogdXNlIE5SX01FTV9CQU5L
UyB0byBvdmVycmlkZSBkZWZhdWx0IE5SX05PREVfTUVNQkxLUw0KPj4gIHhlbi9hcm06IGltcGxl
bWVudCBoZWxwZXJzIHRvIGdldCBhbmQgdXBkYXRlIE5VTUEgc3RhdHVzDQo+PiAgeGVuL2FybTog
aW1wbGVtZW50IG5vZGUgZGlzdGFuY2UgaGVscGVycyBmb3IgQXJtDQo+PiAgeGVuL2FybTogdXNl
IGFyY2hfZ2V0X3JhbV9yYW5nZSB0byBnZXQgbWVtb3J5IHJhbmdlcyBmcm9tIGJvb3RpbmZvDQo+
PiAgeGVuL2FybTogYnVpbGQgTlVNQSBjcHVfdG9fbm9kZSBtYXAgaW4gZHRfc21wX2luaXRfY3B1
cw0KPj4gIHhlbi9hcm06IEFkZCBib290IGFuZCBzZWNvbmRhcnkgQ1BVIHRvIE5VTUEgc3lzdGVt
DQo+PiAgeGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVyIHRvIHBhcnNlIGRldmljZSB0cmVlIHBy
b2Nlc3NvciBub2RlDQo+PiAgeGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVyIHRvIHBhcnNlIGRl
dmljZSB0cmVlIG1lbW9yeSBub2RlDQo+PiAgeGVuL2FybTogaW50cm9kdWNlIGEgaGVscGVyIHRv
IHBhcnNlIGRldmljZSB0cmVlIE5VTUEgZGlzdGFuY2UgbWFwDQo+PiAgeGVuL2FybTogdW5pZmll
ZCBlbnRyeSB0byBwYXJzZSBhbGwgTlVNQSBkYXRhIGZyb20gZGV2aWNlIHRyZWUNCj4+ICB4ZW4v
YXJtOiBrZWVwIGd1ZXN0IHN0aWxsIGJlIE5VTUEgdW53YXJlDQo+PiAgeGVuL2FybTogZW5hYmxl
IGRldmljZSB0cmVlIGJhc2VkIE5VTUEgaW4gc3lzdGVtIGluaXQNCj4+ICB4ZW4vYXJtOiBpbXBs
ZW1lbnQgbnVtYV9ub2RlX3RvX2FyY2hfbmlkIGZvciBkZXZpY2UgdHJlZSBOVU1BDQo+PiAgeGVu
L2FybTogdXNlIENPTkZJR19OVU1BIHRvIGdhdGUgbm9kZV9vbmxpbmVfbWFwIGluIHNtcGJvb3QN
Cj4+ICB4ZW4vYXJtOiBQcm92aWRlIEtjb25maWcgb3B0aW9ucyBmb3IgQXJtIHRvIGVuYWJsZSBO
VU1BDQo+PiAgZG9jczogdXBkYXRlIG51bWEgY29tbWFuZCBsaW5lIHRvIHN1cHBvcnQgQXJtDQo+
PiANCj4+IENIQU5HRUxPRy5tZCAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArDQo+PiBTVVBQ
T1JULm1kICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKw0KPj4gZG9jcy9taXNjL3hlbi1j
b21tYW5kLWxpbmUucGFuZG9jIHwgICAyICstDQo+PiB4ZW4vYXJjaC9hcm0vS2NvbmZpZyAgICAg
ICAgICAgICAgfCAgMTEgKysNCj4+IHhlbi9hcmNoL2FybS9NYWtlZmlsZSAgICAgICAgICAgICB8
ICAgMiArDQo+PiB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgICAgICAgfCAgIDYgKw0KPj4g
eGVuL2FyY2gvYXJtL2luY2x1ZGUvYXNtL251bWEuaCAgIHwgIDkxICsrKysrKysrLQ0KPj4geGVu
L2FyY2gvYXJtL251bWEtZHQuYyAgICAgICAgICAgIHwgMjk5ICsrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKw0KPj4geGVuL2FyY2gvYXJtL251bWEuYyAgICAgICAgICAgICAgIHwgMTg0ICsr
KysrKysrKysrKysrKysrKw0KPj4geGVuL2FyY2gvYXJtL3NldHVwLmMgICAgICAgICAgICAgIHwg
IDE3ICsrDQo+PiB4ZW4vYXJjaC9hcm0vc21wYm9vdC5jICAgICAgICAgICAgfCAgMzggKysrKw0K
Pj4geGVuL2FyY2gveDg2L2luY2x1ZGUvYXNtL251bWEuaCAgIHwgICAxIC0NCj4+IHhlbi9hcmNo
L3g4Ni9zcmF0LmMgICAgICAgICAgICAgICB8ICAgMiArLQ0KPj4geGVuL2luY2x1ZGUveGVuL251
bWEuaCAgICAgICAgICAgIHwgIDEwICsNCj4+IDE0IGZpbGVzIGNoYW5nZWQsIDY2MSBpbnNlcnRp
b25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPj4gY3JlYXRlIG1vZGUgMTAwNjQ0IHhlbi9hcmNoL2Fy
bS9udW1hLWR0LmMNCj4+IGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC9hcm0vbnVtYS5jDQo+
PiANCj4+IC0tIA0KPj4gMi4yNS4xDQo+PiANCg0K


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 02:28:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 02:28:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644347.1005195 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Wmt-0000yn-L9; Thu, 30 Nov 2023 02:28:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644347.1005195; Thu, 30 Nov 2023 02: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 1r8Wmt-0000yg-Gn; Thu, 30 Nov 2023 02:28:23 +0000
Received: by outflank-mailman (input) for mailman id 644347;
 Thu, 30 Nov 2023 02:28: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 1r8Wms-0000xG-LY; Thu, 30 Nov 2023 02:28: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 1r8Wms-0001Fe-BC; Thu, 30 Nov 2023 02:28: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 1r8Wmr-00049p-Vm; Thu, 30 Nov 2023 02:28:22 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8Wmr-0001fJ-V4; Thu, 30 Nov 2023 02: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=205TlGoQtaNp9XwQ8AATwMLy7BDnkYHUwwciNwAYciQ=; b=W5UTHYYRwdxQzHalfsfSbqQVWZ
	GFescBPXhxwmjHNZ3d89GilEj5vgObtPl3J+PMVL7lL8cZw6FOZe892KekgOnsKDMiYUhviW8CGHv
	XW/xfWkt5R6weqYuvSDXBHglUFZ6NzWrDiFiPRRc7pClZoENHrpMB2ki2+aeMoZoagOI=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183929-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-5.4 test] 183929: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-5.4:test-arm64-arm64-libvirt-raw:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt-qcow2:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-libvirt:xen-boot:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl:guest-start.2:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-vhd:guest-start/debian.repeat:fail:heisenbug
    linux-5.4:test-armhf-armhf-xl-rtds:guest-start/debian.repeat:fail:allowable
    linux-5.4:test-armhf-armhf-xl-multivcpu:guest-start/debian.repeat:fail:nonblocking
    linux-5.4:test-armhf-armhf-libvirt: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-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-libvirt:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit1:guest-start: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-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-amd64-amd64-xl-qemut-win7-amd64:guest-stop:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl-credit2: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-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-i386-xl-qemut-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-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-pvshim:guest-start:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-amd64-amd64-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: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-5.4:test-arm64-arm64-libvirt-xsm: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-amd64-i386-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-amd64-amd64-libvirt-vhd: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-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:migrate-support-check:fail:nonblocking
    linux-5.4:test-armhf-armhf-xl:saverestore-support-check:fail:nonblocking
    linux-5.4:test-amd64-i386-libvirt-raw: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-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-amd64-amd64-libvirt:migrate-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
    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=8e221b47173d59e1b2877f6d8dc91e8be2031746
X-Osstest-Versions-That:
    linux=ef379773e2e76d6470a907ae36c3d12f65a6ecdb
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Nov 2023 02:28:21 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-arm64-arm64-libvirt-raw 18 guest-start.2    fail in 183907 pass in 183929
 test-armhf-armhf-libvirt-qcow2 17 guest-start/debian.repeat fail in 183907 pass in 183929
 test-armhf-armhf-libvirt      8 xen-boot                   fail pass in 183907
 test-armhf-armhf-xl-multivcpu 14 guest-start               fail pass in 183907
 test-armhf-armhf-xl-rtds     14 guest-start                fail pass in 183907
 test-armhf-armhf-xl          19 guest-start.2              fail pass in 183907
 test-armhf-armhf-xl-vhd      17 guest-start/debian.repeat  fail pass in 183907

Regressions which are regarded as allowable (not blocking):
 test-armhf-armhf-xl-rtds 18 guest-start/debian.repeat fail in 183907 REGR. vs. 183803

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-xl-multivcpu 18 guest-start/debian.repeat fail in 183907 like 183797
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 183907 like 183803
 test-armhf-armhf-xl-multivcpu 15 migrate-support-check fail in 183907 never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check fail in 183907 never pass
 test-armhf-armhf-xl-rtds    15 migrate-support-check fail in 183907 never pass
 test-armhf-armhf-xl-rtds 16 saverestore-support-check fail in 183907 never pass
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 183907 never pass
 test-armhf-armhf-xl-credit1  14 guest-start                  fail  like 183797
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183803
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183803
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183803
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183803
 test-armhf-armhf-xl-credit2  18 guest-start/debian.repeat    fail  like 183803
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183803
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183803
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183803
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183803
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183803
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183803
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183803
 test-amd64-i386-xl-pvshim    14 guest-start                  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-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-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-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-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-amd64-libvirt-vhd 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-credit2  15 migrate-support-check        fail   never pass
 test-armhf-armhf-xl-credit2  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-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-arm64-arm64-xl-vhd      14 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-vhd      15 saverestore-support-check    fail   never pass
 test-amd64-amd64-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:
 linux                8e221b47173d59e1b2877f6d8dc91e8be2031746
baseline version:
 linux                ef379773e2e76d6470a907ae36c3d12f65a6ecdb

Last test of basis   183803  2023-11-20 21:13:23 Z    9 days
Testing same since   183907  2023-11-28 17:13:07 Z    1 days    2 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alain Michaud <alainm@chromium.org>
  Alain Volmat <alain.volmat@foss.st.com>
  Alex Deucher <alexander.deucher@amd.com>
  Alexander Sverdlin <alexander.sverdlin@siemens.com>
  Alexandre Belloni <alexandre.belloni@bootlin.com>
  Alexei Starovoitov <ast@kernel.org>
  Amelie Delaunay <amelie.delaunay@foss.st.com>
  Anastasia Belova <abelova@astralinux.ru>
  Andi Shyti <andi.shyti@kernel.org>
  Andreas Gruenbacher <agruenba@redhat.com>
  Andrew Morton <akpm@linux-foundation.org>
  Arnd Bergmann <arnd@arndb.de>
  Artem Lukyanov <dukzcry@ya.ru>
  Axel Lin <axel.lin@ingics.com>
  baozhu.liu <lucas.liu@siengine.com>
  Baruch Siach <baruch@tkos.co.il>
  Beau Belgrave <beaub@linux.microsoft.com>
  Benjamin Bara <benjamin.bara@skidata.com>
  Bjorn Andersson <andersson@kernel.org>
  Bjorn Helgaas <bhelgaas@google.com>
  Bob Peterson <rpeterso@redhat.com>
  Boris Brezillon <boris.brezillon@free-electrons.com>
  Brian Geffon <bgeffon@google.com>
  Cezary Rojewski <cezary.rojewski@intel.com>
  Chandradeep Dey <codesigning@chandradeepdey.com>
  Chandrakanth patil <chandrakanth.patil@broadcom.com>
  Christian König <christian.koenig@amd.com>
  Chuck Lever <chuck.lever@oracle.com>
  Colin Ian King <colin.king@canonical.com>
  Dan Carpenter <dan.carpenter@linaro.org>
  Daniel Lezcano <daniel.lezcano@linaro.org>
  Daniel Thompson <daniel.thompson@linaro.org>
  Daniel Wheeler <daniel.wheeler@amd.com>
  Dave Kleikamp <dave.kleikamp@oracle.com>
  David Hildenbrand <david@redhat.com>
  David S. Miller <davem@davemloft.net>
  David Sterba <dsterba@suse.com>
  David Woodhouse <dwmw@amazon.co.uk>
  Dmitry Antipov <dmantipov@yandex.ru>
  Douglas Anderson <dianders@chromium.org>
  Dust Li <dust.li@linux.alibaba.com>
  Eduard Zingerman <eddyz87@gmail.com>
  Ekaterina Esina <eesina@astralinux.ru>
  Eric Biggers <ebiggers@google.com>
  Eric Dumazet <edumazet@google.com>
  Florian Fainelli <florian.fainelli@broadcom.com>
  Florian Westphal <fw@strlen.de>
  Greg Kroah-Hartman <gregkh@linuxfoundation.org>
  Gregory Greenman <gregory.greenman@intel.com>
  Guan Wentao <guanwentao@uniontech.com>
  Guenter Roeck <linux@roeck-us.net>
  Guo Zihua <guozihua@huawei.com>
  Hans Verkuil <hverkuil-cisco@xs4all.nl>
  Hardik Gajjar <hgajjar@de.adit-jv.com>
  Harshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
  Heiner Kallweit <hkallweit1@gmail.com>
  Helge Deller <deller@gmx.de>
  Herbert Xu <herbert@gondor.apana.org.au>
  Hersen Wu <hersenxs.wu@amd.com>
  Herve Codina <herve.codina@bootlin.com>
  Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
  Ingo Molnar <mingo@kernel.org>
  Jacky Bai <ping.bai@nxp.com>
  Jakub Kicinski <kuba@kernel.org>
  Jan Kara <jack@suse.cz>
  Jay Vosburgh <jay.vosburgh@canonical.com>
  Jeff Johnson <quic_jjohnson@quicinc.com>
  Jeff Layton <jlayton@kernel.org>
  Jijie Shao <shaojijie@huawei.com>
  Jiri Kosina <jkosina@suse.cz>
  Johannes Berg <johannes.berg@intel.com>
  John Stultz <jstultz@google.com>
  Johnathan Mantey <johnathanx.mantey@intel.com>
  Jon Hunter <jonathanh@nvidia.com>
  Jorge Sanjuan Garcia <jorge.sanjuangarcia@duagon.com>
  Jose Abreu <Jose.Abreu@synopsys.com>
  Josef Bacik <josef@toxicpanda.com>
  Joseph Hwang <josephsih@chromium.org>
  Joshua Yeong <joshua.yeong@starfivetech.com>
  Juergen Gross <jgross@suse.com>
  Juntong Deng <juntong.deng@outlook.com>
  Kalle Valo <quic_kvalo@quicinc.com>
  Kathiravan Thirumoorthy <quic_kathirav@quicinc.com>
  Kees Cook <keescook@chromium.org>
  Kemeng Shi <shikemeng@huaweicloud.com>
  Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
  Larry Finger <Larry.Finger@lwfinger.net>
  Lee Jones <lee@kernel.org>
  Leon Romanovsky <leon@kernel.org>
  Leon Romanovsky <leonro@nvidia.com>
  Linkui Xiao <xiaolinkui@kylinos.cn>
  Linus Walleij <linus.walleij@linaro.org>
  Liviu Dudau <liviu.dudau@arm.com>
  Lu Jialin <lujialin4@huawei.com>
  Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
  Lukas Wunner <lukas@wunner.de>
  Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
  Mahmoud Adam <mngyadam@amazon.com>
  Manas Ghandat <ghandatmanas@gmail.com>
  Marcel Holtmann <marcel@holtmann.org>
  Mario Casquero <mcasquer@redhat.com>
  Mario Limonciello <mario.limonciello@amd.com>
  Mark Brown <broonie@kernel.org>
  Martin K. Petersen <martin.petersen@oracle.com>
  Masum Reza <masumrezarock100@gmail.com>
  Max Kellermann <max.kellermann@ionos.com>
  Meng Tang <tangmeng@uniontech.com>
  menghui.huang <menghui.huang@siengine.com>
  Michal Hocko <mhocko@suse.com>
  Mike Rapoport (IBM) <rppt@kernel.org>
  Miri Korenblit <miriam.rachel.korenblit@intel.com>
  Neil Armstrong <narmstrong@baylibre.com>
  Nicolas Saenz Julienne <nsaenz@amazon.com>
  Nishanth Menon <nm@ti.com>
  Olga Kornievskaia <kolga@netapp.com>
  Olli Asikainen <olli.asikainen@gmail.com>
  Pablo Neira Ayuso <pablo@netfilter.org>
  Paolo Abeni <pabeni@redhat.com>
  Paul Moore <paul@paul-moore.com>
  Pavel Krasavin <pkrasavin@imaqliq.com>
  Peter Zijlstra (Intel) <peterz@infradead.org>
  Ping-Ke Shih <pkshih@realtek.com>
  Pu Wen <puwen@hygon.cn>
  Qu Huang <qu.huang@linux.dev>
  Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  Rahul Rameshbabu <rrameshbabu@nvidia.com>
  Rajeshwar R Shinde <coolrrsh@gmail.com>
  Richard Cochran <richardcochran@gmail.com>
  Ronald Wahl <ronald.wahl@raritan.com>
  Rong Chen <rong.chen@amlogic.com>
  Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
  Saeed Mahameed <saeedm@nvidia.com>
  Sanjuán García, Jorge <Jorge.SanjuanGarcia@duagon.com>
  Sasha Levin <sashal@kernel.org>
  Sean Christopherson <seanjc@google.com>
  Sean Young <sean@mess.org>
  Shigeru Yoshida <syoshida@redhat.com>
  Shuah Khan <skhan@linuxfoundation.org>
  Shuai Xue <xueshuai@linux.alibaba.com>
  Shung-Hsi Yu <shung-hsi.yu@suse.com>
  Stanimir Varbanov <stanimir.k.varbanov@gmail.com>
  Steve French <stfrench@microsoft.com>
  Steven Rostedt (Google) <rostedt@goodmis.org>
  Sumit Saxena <sumit.saxena@broadcom.com>
  Takashi Iwai <tiwai@suse.de>
  Tao Lyu <tao.lyu@epfl.ch>
  Theodore Ts'o <tytso@mit.edu>
  Thierry Reding <thierry.reding@gmail.com>
  Thomas Gleixner <tglx@linutronix.de>
  Toke Høiland-Jørgensen <toke@redhat.com>
  Toke Høiland-Jørgensen <toke@toke.dk>
  Tony Lindgren <tony@atomide.com>
  Trond Myklebust <trond.myklebust@hammerspace.com>
  Ulf Hansson <ulf.hansson@linaro.org>
  Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
  Vikash Garodia <quic_vgarodia@quicinc.com>
  Vincent Whitchurch <vincent.whitchurch@axis.com>
  Vinod Koul <vkoul@kernel.org>
  Vlad Buslov <vladbu@nvidia.com>
  Wayne Lin <wayne.lin@amd.com>
  Wenchao Hao <haowenchao2@huawei.com>
  Werner Sembach <wse@tuxedocomputers.com>
  Willem de Bruijn <willemb@google.com>
  Wolfram Sang <wsa@kernel.org>
  Yi Yang <yiyang13@huawei.com>
  Yonglong Liu <liuyonglong@huawei.com>
  Zhang Rui <rui.zhang@intel.com>
  Zhang Yi <yi.zhang@huawei.com>
  ZhengHan Wang <wzhmmmmm@gmail.com>
  Zhihao Cheng <chengzhihao1@huawei.com>
  zhujun2 <zhujun2@cmss.chinamobile.com>
  Zi Yan <ziy@nvidia.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                                          fail    
 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-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                                     fail    
 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-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
   ef379773e2e7..8e221b47173d  8e221b47173d59e1b2877f6d8dc91e8be2031746 -> tested/linux-5.4


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 02:28:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 02:28:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644346.1005183 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Wmr-0000ij-C6; Thu, 30 Nov 2023 02:28:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644346.1005183; Thu, 30 Nov 2023 02: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 1r8Wmr-0000ic-9K; Thu, 30 Nov 2023 02:28:21 +0000
Received: by outflank-mailman (input) for mailman id 644346;
 Thu, 30 Nov 2023 02:28: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8Wmq-0000iW-5B
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 02:28:20 +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 1df9bf1b-8f28-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 03:28:17 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id B2CC4CE1FE7;
 Thu, 30 Nov 2023 02:28:14 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 767D5C433C8;
 Thu, 30 Nov 2023 02:28:12 +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: 1df9bf1b-8f28-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701311294;
	bh=UNFRKaFGoIA6/UeK+gGsFIGWfqtOwxYbX3N2GxAZYIE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rYqriCY1E3gAtkU6kHucAQkaKjtOEZktVbS5024I/grGVIfcqkqgvko+lngAKG2bY
	 0Hq2y0EAy58R/v+xxZ+InG/CVs5cwmF6IOQBm+kWmqVK/l6ckyGNe2dRC9Kt2PG7dp
	 HFyLv3nJql6PrmTGmJ7nLAKREcp/dvcBKgf9jtHgIqHcJzPugyeP3UVrTE/twngREE
	 U5EAJGrGBtKixS6wP8q444JhV7dU4Ft1PlaUUzCallQhEeJhyHqGmHNqKltwHEeKJO
	 SX8kyXez3TI6SMAkqgOCDLBWPU2MbNt/xOJIN4TKfvtTxHsMYEZB/KiNtPQDnVKg3s
	 FK+fiYN4Xjfcw==
Date: Wed, 29 Nov 2023 18:28:10 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
cc: Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Julien Grall <julien@xen.org>, 
    Stewart Hildebrand <stewart.hildebrand@amd.com>, 
    Oleksandr Andrushchenko <Oleksandr_Andrushchenko@epam.com>, 
    Andrew Cooper <andrew.cooper3@citrix.com>, 
    George Dunlap <george.dunlap@citrix.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>, 
    "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
Subject: Re: [PATCH v10 13/17] vpci: add initial support for virtual PCI bus
 topology
In-Reply-To: <ZWb3XyxOCzXtiZhG@macbook>
Message-ID: <alpine.DEB.2.22.394.2311291823350.3533093@ubuntu-linux-20-04-desktop>
References: <8734x43zxi.fsf@epam.com> <alpine.DEB.2.22.394.2311171339010.773207@ubuntu-linux-20-04-desktop> <87edgo2f6j.fsf@epam.com> <alpine.DEB.2.22.394.2311171633190.773207@ubuntu-linux-20-04-desktop> <87ttpg0wdx.fsf@epam.com>
 <alpine.DEB.2.22.394.2311211712090.2053963@ubuntu-linux-20-04-desktop> <ZV3r1uc3av1wQu4W@macbook> <alpine.DEB.2.22.394.2311221306060.2053963@ubuntu-linux-20-04-desktop> <ZV8NhPohwTDWXOTk@macbook> <87a5qxtpb6.fsf@epam.com> <ZWb3XyxOCzXtiZhG@macbook>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-314476793-1701311293=:3533093"

  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-314476793-1701311293=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Wed, 29 Nov 2023, Roger Pau Monné wrote:
> On Tue, Nov 28, 2023 at 11:45:34PM +0000, Volodymyr Babchuk wrote:
> > Hi Roger,
> > 
> > Roger Pau Monné <roger.pau@citrix.com> writes:
> > 
> > > On Wed, Nov 22, 2023 at 01:18:32PM -0800, Stefano Stabellini wrote:
> > >> On Wed, 22 Nov 2023, Roger Pau Monné wrote:
> > >> > On Tue, Nov 21, 2023 at 05:12:15PM -0800, Stefano Stabellini wrote:
> > >> > > Let me expand on this. Like I wrote above, I think it is important that
> > >> > > Xen vPCI is the only in-use PCI Root Complex emulator. If it makes the
> > >> > > QEMU implementation easier, it is OK if QEMU emulates an unneeded and
> > >> > > unused PCI Root Complex. From Xen point of view, it doesn't exist.
> > >> > > 
> > >> > > In terms if ioreq registration, QEMU calls
> > >> > > xendevicemodel_map_pcidev_to_ioreq_server for each PCI BDF it wants to
> > >> > > emulate. That way, Xen vPCI knows exactly what PCI config space
> > >> > > reads/writes to forward to QEMU.
> > >> > > 
> > >> > > Let's say that:
> > >> > > - 00:02.0 is PCI passthrough device
> > >> > > - 00:03.0 is a PCI emulated device
> > >> > > 
> > >> > > QEMU would register 00:03.0 and vPCI would know to forward anything
> > >> > > related to 00:03.0 to QEMU, but not 00:02.0.
> > >> > 
> > >> > I think there's some work here so that we have a proper hierarchy
> > >> > inside of Xen.  Right now both ioreq and vpci expect to decode the
> > >> > accesses to the PCI config space, and setup (MM)IO handlers to trap
> > >> > ECAM, see vpci_ecam_{read,write}().
> > >> > 
> > >> > I think we want to move to a model where vPCI doesn't setup MMIO traps
> > >> > itself, and instead relies on ioreq to do the decoding and forwarding
> > >> > of accesses.  We need some work in order to represent an internal
> > >> > ioreq handler, but that shouldn't be too complicated.  IOW: vpci
> > >> > should register devices it's handling with ioreq, much like QEMU does.
> > >> 
> > >> I think this could be a good idea.
> > >> 
> > >> This would be the very first IOREQ handler implemented in Xen itself,
> > >> rather than outside of Xen. Some code refactoring might be required,
> > >> which worries me given that vPCI is at v10 and has been pending for
> > >> years. I think it could make sense as a follow-up series, not v11.
> > >
> > > That's perfectly fine for me, most of the series here just deal with
> > > the logic to intercept guest access to the config space and is
> > > completely agnostic as to how the accesses are intercepted.
> > >
> > >> I think this idea would be beneficial if, in the example above, vPCI
> > >> doesn't really need to know about device 00:03.0. vPCI registers via
> > >> IOREQ the PCI Root Complex and device 00:02.0 only, QEMU registers
> > >> 00:03.0, and everything works. vPCI is not involved at all in PCI config
> > >> space reads and writes for 00:03.0. If this is the case, then moving
> > >> vPCI to IOREQ could be good.
> > >
> > > Given your description above, with the root complex implemented in
> > > vPCI, we would need to mandate vPCI together with ioreqs even if no
> > > passthrough devices are using vPCI itself (just for the emulation of
> > > the root complex).  Which is fine, just wanted to mention the
> > > dependency.
> > >
> > >> On the other hand if vPCI actually needs to know that 00:03.0 exists,
> > >> perhaps because it changes something in the PCI Root Complex emulation
> > >> or vPCI needs to take some action when PCI config space registers of
> > >> 00:03.0 are written to, then I think this model doesn't work well. If
> > >> this is the case, then I think it would be best to keep vPCI as MMIO
> > >> handler and let vPCI forward to IOREQ when appropriate.
> > >
> > > At first approximation I don't think we would have such interactions,
> > > otherwise the whole premise of ioreq being able to register individual
> > > PCI devices would be broken.
> > >
> > > XenSever already has scenarios with two different user-space emulators
> > > (ie: two different ioreq servers) handling accesses to different
> > > devices in the same PCI bus, and there's no interaction with the root
> > > complex required.

Good to hear

 
> > Out of curiosity: how legacy PCI interrupts are handled in this case? In
> > my understanding, it is Root Complex's responsibility to propagate
> > correct IRQ levels to an interrupt controller?
> 
> I'm unsure whether my understanding of the question is correct, so my
> reply might not be what you are asking for, sorry.
> 
> Legacy IRQs (GSI on x86) are setup directly by the toolstack when the
> device is assigned to the guest, using PHYSDEVOP_map_pirq +
> XEN_DOMCTL_bind_pt_irq.  Those hypercalls bind together a host IO-APIC
> pin to a guest IO-APIC pin, so that interrupts originating from that
> host IO-APIC pin are always forwarded to the guest an injected as
> originating from the guest IO-APIC pin.
> 
> Note that the device will always use the same IO-APIC pin, this is not
> configured by the OS.

QEMU calls xen_set_pci_intx_level which is implemented by
xendevicemodel_set_pci_intx_level, which is XEN_DMOP_set_pci_intx_level,
which does set_pci_intx_level. Eventually it calls hvm_pci_intx_assert
and hvm_pci_intx_deassert.

I don't think any of this goes via the Root Complex otherwise, like
Roger pointed out, it wouldn't be possible to emulated individual PCI
devices in separate IOREQ servers.
--8323329-314476793-1701311293=:3533093--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 02:34:39 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 02:34:39 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644355.1005204 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Wss-000466-Db; Thu, 30 Nov 2023 02:34:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644355.1005204; Thu, 30 Nov 2023 02:34: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 1r8Wss-00045z-Au; Thu, 30 Nov 2023 02:34:34 +0000
Received: by outflank-mailman (input) for mailman id 644355;
 Thu, 30 Nov 2023 02: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=Q+jP=HL=invisiblethingslab.com=marmarek@srs-se1.protection.inumbo.net>)
 id 1r8Wsq-00045t-Qw
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 02:34:33 +0000
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
 [66.111.4.28]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id fcd4cfd9-8f28-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 03:34:31 +0100 (CET)
Received: from compute1.internal (compute1.nyi.internal [10.202.2.41])
 by mailout.nyi.internal (Postfix) with ESMTP id 3E61A5C027C
 for <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 21:34:29 -0500 (EST)
Received: from mailfrontend1 ([10.202.2.162])
 by compute1.internal (MEProxy); Wed, 29 Nov 2023 21:34:29 -0500
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <xen-devel@lists.xenproject.org>; Wed, 29 Nov 2023 21:34:28 -0500 (EST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: fcd4cfd9-8f28-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	invisiblethingslab.com; h=cc:content-type:content-type:date:date
	:from:from:in-reply-to:message-id:mime-version:reply-to:sender
	:subject:subject:to:to; s=fm1; t=1701311669; x=1701398069; bh=hk
	+FTahq6rokPyMruZvxcrKBpvVM8Z+zIc3d878ZT0g=; b=AZOwW1df43K7tt942I
	2xetEAEkn2TDTXgmBy2a3/ZPiyyJmNc84oZLiTSbl1tNI+FqB5l1D/Dm7uCHiETO
	29W0M6ANsLfnj+lc7q2qsn2n1iahQNsU431t+aAjti3Mva1BV+z+htm/tuz8EiB2
	+ixvTzT4VNYCPALnBDXlvFUFRWrbfsGPZslZUGEExorQ0KFyKHUWjqW0aXqgT0RX
	3I8WZzEKoIyvy3f33nlz+5GZrWrZGi6CICMecqNG0csyelQtdd3WIyOsePf5UkCL
	7VRM+yv1JovAcr/4TLYIhd/gwac9yEcyg/NhUiBRJDWI/xjmzaIHMcWYIHcLtcGg
	AJIQ==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=cc:content-type: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=
	1701311669; x=1701398069; bh=hk+FTahq6rokPyMruZvxcrKBpvVM8Z+zIc3
	d878ZT0g=; b=UjSUUMtuqUsJpEbseI2i/pakU04m351Hfpq3YqKg/R4xMqzuvdP
	/dZowb7TG7UA9wLwDPaff6/Zrf70woQwJ/jHXJOhJS1pPBrhcQU83N4FsWlDvvxD
	2YAs2foR9f5ly+dz1cj6nltcWnTOfmbuIS+/mh+tyNbQarzhsWKPRoXTm4OkVJ68
	AItGrBIYVbQWXy8DZoH2yu6nNRjC5X2w0QzPvFVnWsAKyrYPHHnBGInj7Kx6Bt3G
	h4QNMuV+EVWBZZoIlfgJVsA5qLfp4rnZiijJS2tcVXezWJx66A8s/Feqg8fABe1M
	3eqAinTrQYrnfPxyDp72n9km245UnfWedbA==
X-ME-Sender: <xms:tfRnZXUOznajXcl0c_FU3POETGd9PyClBrMynbFrAoldt-zbGnRWfQ>
    <xme:tfRnZflhi8hmlK7mQSkn3c3ayXgPIFR1nxAKWn0KbO_SkGJ-iDH67mfBhuMGltbV2
    T06fyT93oGW9g>
X-ME-Received: <xmr:tfRnZTbFStQO4Fle1d6TmB906yljAly-LWjyJAJcEZApzyoIMkkUBe_5-gdtLSVNo6p-idGxZeRn-r3V3zoIQbziNQA4hOZIqQI>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvkedrudeiiedggeekucetufdoteggodetrfdotf
    fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
    uceurghilhhouhhtmecufedttdenucenucfjughrpeffhffvuffkgggtugesghdtreertd
    dtjeenucfhrhhomhepofgrrhgvkhcuofgrrhgtiiihkhhofihskhhiqdfikphrvggtkhhi
    uceomhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomheqne
    cuggftrfgrthhtvghrnhepleefveeugfeikeeikeehteeuvdfggedvvdelheejkeeiteeh
    uedtgffgvefgtdetnecuffhomhgrihhnpehophgvnhhsuhhsvgdrohhrghdpqhhusggvsh
    dqohhsrdhorhhgnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhf
    rhhomhepmhgrrhhmrghrvghksehinhhvihhsihgslhgvthhhihhnghhslhgrsgdrtghomh
X-ME-Proxy: <xmx:tfRnZSXor3fAksL_OKgLWCmorT10jhLbzxzH2asVW6lMdVz3fVmuLg>
    <xmx:tfRnZRna1lTXuABbRSJsWROPF1zjHlf7JRE-TAE3eoaIhUDMUdtlvA>
    <xmx:tfRnZffuX2WWWCbYOmhMDggr4L2GRSsDArTouchq4VL-jgh85IbOag>
    <xmx:tfRnZdzyw5mWV9qKETO4auZt2tnIM7fGtq6gnIDK0Ti9k3v3VS2mSg>
Feedback-ID: i1568416f:Fastmail
Date: Thu, 30 Nov 2023 03:34:24 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Linux 6.7-rc1+: WARNING at drivers/xen/evtchn.c:167 evtchn_interrupt
Message-ID: <ZWf0sWey05VnpH7X@mail-itl>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="7k85XbRgLXnFXML5"
Content-Disposition: inline


--7k85XbRgLXnFXML5
Content-Type: text/plain; protected-headers=v1; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Date: Thu, 30 Nov 2023 03:34:24 +0100
From: Marek =?utf-8?Q?Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
To: xen-devel <xen-devel@lists.xenproject.org>
Subject: Linux 6.7-rc1+: WARNING at drivers/xen/evtchn.c:167 evtchn_interrupt

Hi,

While testing 6.7-rc3 on Qubes OS I found several warning like in the
subject in dom0 log. I see them when running 6.7-rc1 too. I'm not sure
what exactly triggers the issue, but my guess would be unbinding an
event channel from userspace (closing vchan connection).

Specific message:

[   83.973377] ------------[ cut here ]------------
[   83.975523] Interrupt for port 77, but apparently not enabled; per-user =
00000000a0e9f1d1
[   83.979083] WARNING: CPU: 1 PID: 2432 at drivers/xen/evtchn.c:167 evtchn=
_interrupt+0xb6/0xc0 [xen_evtchn]
[   83.982869] Modules linked in: joydev intel_rapl_msr intel_rapl_common s=
nd_hda_codec_generic ledtrig_audio snd_hda_intel snd_intel_dspcfg snd_intel=
_sdw_acpi ppdev snd_hda_codec snd_hda_core snd_hwdep snd_seq snd_seq_device=
 snd_pcm parport_pc parport pcspkr snd_timer snd e1000e i2c_piix4 soundcore=
 fuse loop xenfs dm_thin_pool dm_persistent_data dm_bio_prison crct10dif_pc=
lmul crc32_pclmul crc32c_intel polyval_clmulni polyval_generic ghash_clmuln=
i_intel sha512_ssse3 sha256_ssse3 sha1_ssse3 virtio_scsi bochs serio_raw dr=
m_vram_helper xhci_pci xhci_pci_renesas floppy drm_ttm_helper xhci_hcd ttm =
ata_generic pata_acpi qemu_fw_cfg virtio_console xen_privcmd xen_pciback xe=
n_blkback xen_gntalloc xen_gntdev xen_evtchn scsi_dh_rdac scsi_dh_emc scsi_=
dh_alua uinput dm_multipath
[   84.019753] CPU: 1 PID: 2432 Comm: qrexec-client Not tainted 6.7.0-0.rc3=
=2E1.qubes.1.fc37.x86_64 #1
[   84.027045] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS =
rel-1.16.2-3-gd478f380-rebuilt.opensuse.org 04/01/2014
[   84.033828] RIP: e030:evtchn_interrupt+0xb6/0xc0 [xen_evtchn]
[   84.037814] Code: ba 01 00 00 00 be 1d 00 00 00 48 8d bb 88 00 00 00 e8 =
ce 93 27 c1 eb b4 8b 76 20 48 89 da 48 c7 c7 70 52 21 c0 e8 0a 5c f0 c0 <0f=
> 0b e9 61 ff ff ff 0f 1f 00 90 90 90 90 90 90 90 90 90 90 90 90
[   84.048932] RSP: e02b:ffffc90041e7fd60 EFLAGS: 00010082
[   84.051252] RAX: 0000000000000000 RBX: ffff888104fc9a80 RCX: 00000000000=
00027
[   84.054569] RDX: ffff88813ff21608 RSI: 0000000000000001 RDI: ffff88813ff=
21600
[   84.057606] RBP: ffff88810522a280 R08: 0000000000000000 R09: ffffc90041e=
7fbf8
[   84.060864] R10: 0000000000000003 R11: ffffffff82f460c8 R12: ffff888105d=
5b6a4
[   84.064043] R13: ffff888105d5b760 R14: ffff88810522a280 R15: ffff888105d=
5b600
[   84.066598] FS:  000075ee3eb8ed40(0000) GS:ffff88813ff00000(0000) knlGS:=
0000000000000000
[   84.069251] CS:  10000e030 DS: 0000 ES: 0000 CR0: 0000000080050033
[   84.071293] CR2: 00007b86fa0f0f5c CR3: 0000000106e18000 CR4: 00000000000=
40660
[   84.073911] Call Trace:
[   84.074746]  <TASK>
[   84.075471]  ? evtchn_interrupt+0xb6/0xc0 [xen_evtchn]
[   84.077448]  ? __warn+0x81/0x130
[   84.078671]  ? evtchn_interrupt+0xb6/0xc0 [xen_evtchn]
[   84.080507]  ? report_bug+0x171/0x1a0
[   84.081830]  ? prb_read_valid+0x1b/0x30
[   84.083682]  ? handle_bug+0x41/0x70
[   84.084952]  ? exc_invalid_op+0x17/0x70
[   84.086314]  ? asm_exc_invalid_op+0x1a/0x20
[   84.088520]  ? evtchn_interrupt+0xb6/0xc0 [xen_evtchn]
[   84.090300]  __free_irq+0x114/0x2b0
[   84.091478]  free_irq+0x32/0x70
[   84.092522]  unbind_from_irqhandler+0x31/0xb0
[   84.094035]  evtchn_release+0x2b/0xa0 [xen_evtchn]
[   84.095643]  __fput+0x9a/0x2c0
[   84.096734]  __x64_sys_close+0x3d/0x80
[   84.097995]  do_syscall_64+0x63/0xe0
[   84.099188]  ? __vm_munmap+0xbb/0x150
[   84.100431]  ? syscall_exit_work+0x103/0x130
[   84.101854]  ? syscall_exit_to_user_mode+0x2b/0x40
[   84.103509]  ? do_syscall_64+0x6f/0xe0
[   84.104757]  ? syscall_exit_to_user_mode+0x2b/0x40
[   84.106350]  ? do_syscall_64+0x6f/0xe0
[   84.107587]  ? exit_to_user_mode_prepare+0xbc/0xd0
[   84.109180]  entry_SYSCALL_64_after_hwframe+0x6e/0x76
[   84.110863] RIP: 0033:0x75ee3ed15a0a
[   84.111999] Code: 00 00 0f 05 48 3d 00 f0 ff ff 77 44 c3 0f 1f 00 48 83 =
ec 18 89 7c 24 0c e8 33 bc f8 ff 8b 7c 24 0c 89 c2 b8 03 00 00 00 0f 05 <48=
> 3d 00 f0 ff ff 77 36 89 d7 89 44 24 0c e8 93 bc f8 ff 8b 44 24
[   84.118267] RSP: 002b:00007ffff0ad0f70 EFLAGS: 00000293 ORIG_RAX: 000000=
0000000003
[   84.120756] RAX: ffffffffffffffda RBX: 000055d3d8f70970 RCX: 000075ee3ed=
15a0a
[   84.123675] RDX: 0000000000000000 RSI: 0000000000000000 RDI: 00000000000=
0000f
[   84.126012] RBP: 0000000000000000 R08: 0000000000000000 R09: 00000000000=
00000
[   84.128366] R10: 000075ee3ec31468 R11: 0000000000000293 R12: 00000000000=
00000
[   84.130699] R13: 0000000000000000 R14: 00007ffff0ad2eaa R15: 000055d3d8f=
6f2a0
[   84.133050]  </TASK>
[   84.133810] ---[ end trace 0000000000000000 ]---

Full log: https://openqa.qubes-os.org/tests/86647/logfile?filename=3Dserial=
0.txt

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

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

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

iQEzBAEBCAAdFiEEhrpukzGPukRmQqkK24/THMrX1ywFAmVn9LEACgkQ24/THMrX
1yzVuggAmbq/80nJhV1ul5r64abCsij9Qq+XUIp9hfvJmpCxOQMxiv/C0l3KiiWU
uNBFjAto2apSODV1rBNa6WhW4ErdtpfCG2cf/XOIzabJ/9AnB0EZgox8ezfc/n1/
h2pjHTSp+xum2LCtqa2/g93tefRNpxQ5N3aluoi4fN65H5h+0APhHzrBRxH1Y+cx
wSk9GfT3We4bAGwBU43j6bTmBbeaBYawKvAYCVixWKfNuS5mJqhlP5xToLJvov/T
R9f5G9Jqn2SUkzMqh/LsuFeBe2474Fl7HGSoElH27xV0nfIAZC9ORBVfY1DXIe3D
yD94soKhDqVo6g01aVKUYrCpKkHo7Q==
=bq4G
-----END PGP SIGNATURE-----

--7k85XbRgLXnFXML5--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 02:37:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 02:37:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644358.1005213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Wvw-0006Km-Rw; Thu, 30 Nov 2023 02:37:44 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644358.1005213; Thu, 30 Nov 2023 02: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 1r8Wvw-0006Kf-PJ; Thu, 30 Nov 2023 02:37:44 +0000
Received: by outflank-mailman (input) for mailman id 644358;
 Thu, 30 Nov 2023 02:37: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8Wvv-0006KZ-O9
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 02:37:43 +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 6f05ba05-8f29-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 03:37:41 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id CFBB2B84103;
 Thu, 30 Nov 2023 02:37:40 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 93326C433C7;
 Thu, 30 Nov 2023 02:37:39 +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: 6f05ba05-8f29-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701311860;
	bh=xHRXLwRdzeSJRVhDtRRL8zRr1Jk9w4QkXcNkXwh8oa0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=c65Lfc+jaTG4vS/mru0700kRQL+Hvam65m0Yp3ane9tcxl0I5P040Jwri9nCzj7cv
	 GISXr1qyDcFR/JXp1KcIbWsQZ0Kx2KEtAk3nkMFJKGXpYNJstl7r+nL46PX30hLTmN
	 g8dJMnJMgv2rNmpTMlJOrZ/OcKTpxJ3ywOW095fpfMImTTvBimDxhws6jgDpAm29yk
	 lGP8P8vtqCi+n4CmTsgwX+Nxm4gDQz3vPsU/TqQpyLScyXm2/PuA9Z0uQ3FKh18GYS
	 xyzRYuNx0tSEueJG8YL8Pr+Wrsh60mXpWHIxMDnhqAFq9RHNA1EVzNhBESq2QwRdrT
	 K23hmxvxFaTig==
Date: Wed, 29 Nov 2023 18:37:37 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Michal Orzel <michal.orzel@amd.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH] automation: Switch u-boot boot command to bootz for
 arm32 tests
In-Reply-To: <20231124120907.2044651-1-michal.orzel@amd.com>
Message-ID: <alpine.DEB.2.22.394.2311291837270.3533093@ubuntu-linux-20-04-desktop>
References: <20231124120907.2044651-1-michal.orzel@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 24 Nov 2023, Michal Orzel wrote:
> Thanks to recent changes added to ImageBuilder to support the bootz
> command, which allows obtaining the effective image size (including NOLOAD
> sections) from the zImage header, switch the BOOT_CMD for arm32 tests to
> bootz. Among other scenarios, this change will enable us, in the future,
> to add tests with UBSAN enabled Xen, which would otherwise fail due to
> incorrect image placement resulting in overlapping.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> Before adding UBSAN CI tests, we still need to decide if we want to add support
> to panic on UBSAN epilogue guarded by some config option or to just grep for
> UBSAN message.
> 
> CI pipeline:
> https://gitlab.com/xen-project/people/morzel/xen-orzelmichal/-/pipelines/1083821754
> ---
>  automation/scripts/qemu-smoke-dom0-arm32.sh     | 2 +-
>  automation/scripts/qemu-smoke-dom0less-arm32.sh | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/automation/scripts/qemu-smoke-dom0-arm32.sh b/automation/scripts/qemu-smoke-dom0-arm32.sh
> index a4b487b08055..d91648905669 100755
> --- a/automation/scripts/qemu-smoke-dom0-arm32.sh
> +++ b/automation/scripts/qemu-smoke-dom0-arm32.sh
> @@ -68,7 +68,7 @@ XEN_CMD="console=dtuart dom0_mem=1024M bootscrub=0 console_timestamps=boot"
>  NUM_DOMUS=0
>  
>  LOAD_CMD="tftpb"
> -BOOT_CMD="bootm"
> +BOOT_CMD="bootz"
>  UBOOT_SOURCE="boot.source"
>  UBOOT_SCRIPT="boot.scr"' > config
>  
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh b/automation/scripts/qemu-smoke-dom0less-arm32.sh
> index 7e3cfbe9c4d0..e31b6b9014e1 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm32.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh
> @@ -101,7 +101,7 @@ DOMU_MEM[0]="512"
>  NUM_DOMUS=1
>  
>  LOAD_CMD="tftpb"
> -BOOT_CMD="bootm"
> +BOOT_CMD="bootz"
>  UBOOT_SOURCE="boot.source"
>  UBOOT_SCRIPT="boot.scr"' > config
>  
> -- 
> 2.25.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 02:48:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 02:48:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644362.1005224 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8X60-0000Yb-PN; Thu, 30 Nov 2023 02:48:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644362.1005224; Thu, 30 Nov 2023 02: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 1r8X60-0000YT-MW; Thu, 30 Nov 2023 02:48:08 +0000
Received: by outflank-mailman (input) for mailman id 644362;
 Thu, 30 Nov 2023 02:48: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=/hl0=HL=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r8X5z-0000XB-DG
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 02:48:07 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on20608.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::608])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e239fed7-8f2a-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 03:48:05 +0100 (CET)
Received: from MW4PR03CA0244.namprd03.prod.outlook.com (2603:10b6:303:b4::9)
 by IA1PR12MB6531.namprd12.prod.outlook.com (2603:10b6:208:3a4::7) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Thu, 30 Nov
 2023 02:48:00 +0000
Received: from CO1PEPF000042A7.namprd03.prod.outlook.com
 (2603:10b6:303:b4:cafe::99) by MW4PR03CA0244.outlook.office365.com
 (2603:10b6:303:b4::9) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.27 via Frontend
 Transport; Thu, 30 Nov 2023 02:48:00 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 CO1PEPF000042A7.mail.protection.outlook.com (10.167.243.36) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Thu, 30 Nov 2023 02:48:00 +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.2507.34; Wed, 29 Nov
 2023 20:47:59 -0600
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.2507.32; Wed, 29 Nov
 2023 18:47:59 -0800
Received: from [172.27.137.28] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Wed, 29 Nov 2023 20:47:57 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e239fed7-8f2a-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ffza6LNleUs+7QOu4KnoE4Sv5iew3C41EwWX9bHUWc0goEPRC90v4M/KHg9AD4lSjYnlgX3cMN2Iadnk5HHkKd5CyNTbk3VNcKsWaZVOJhoWA1pYotPVCCSFqyHrqASvTYT0517u/CqJPNZowuc1GRO2n3JGLW/90ogu5/zKAxyPlzEXBfKw7fFjGNIrvGy6sKnRyJ4nE7Yv8P2BBU9+GOrwRDOcYRygskfixcWielAH+rqD8NlHjk4L4kx/tg2gs+3bM5sxoMrzOIYdDY7CHFEfq/IWdQz3u96DIC3LcUPlp/sDv4+vyIalG8RfWFvrxlFa1teoSZ6uN1o8sPrEBw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZPOxGdby4vw2bgFi3dCXqtxg3eEMOY1rd9+alhZLbi0=;
 b=enZ7zzS7aQ4ClRUwV4gjctzS6ay+tNzFbTJhqIfg5814ro6/RpYC1qsRZjqY8TH23/zU7Smzd82XKQIufphK1iLvYuDZt2XxHRNEWlMDjdEDYaAW7FmOE8QL/pQvFVtw+F0cEEmkLchJFuPYH1ueGSRAJKcN7trntQjAtAbihbD/DSZ+tSg/MiIruDk/BbqGWT4O/WYYa7Wx55NPIbDDfqJDPBmaqgR+YpPZNrVY2X95pOeFie+CCaJakY6KcnTAjspkbYoH/2D89VkVJTQcF6UQ/wfVm8G/BGbqCaj3h6k99iQ4CvR7OyI4JRuQ7xZ/OJBurZk+SBUWqdkOyZAk7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=ZPOxGdby4vw2bgFi3dCXqtxg3eEMOY1rd9+alhZLbi0=;
 b=YU+/eBkuVC8VG3tDinSqXKm63ve5dNYCPHU13SrdeQ8N6W1MYvPSg24aZtWJ6GnY1x7KkZ4nml8dMUVPyPApRbrcPbu2rPPswQ0GSKGblrAe4sYUDdr3WsV7G4gnaE318nWy3spRPQNvaBE4pwJjOZhqVSUn4mXD/hcv9pRDvlk=
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: <a92b1717-965b-4767-8f11-4c3a4e03418d@amd.com>
Date: Wed, 29 Nov 2023 21:47:57 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 4/5] [FUTURE] xen/arm: enable vPCI for domUs
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>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Paul Durrant
	<paul@xen.org>, <xen-devel@lists.xenproject.org>
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
 <20231113222118.825758-5-stewart.hildebrand@amd.com>
 <8be3763f-a4b6-8962-9183-a2a9c3509726@suse.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <8be3763f-a4b6-8962-9183-a2a9c3509726@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CO1PEPF000042A7:EE_|IA1PR12MB6531:EE_
X-MS-Office365-Filtering-Correlation-Id: a1ed24a4-185b-48c4-5eff-08dbf14ec438
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rwygrkVcEsGu23IXLmsat2G5IioJdX6Kn1PoTKCyWGy43a4Gen0VdvEw+U8Cv7fsm81MHgxJW5qJEM6SRib8zRzBB1bZB48nSm5w75Ir7wCQiraWhWXOjA2X8Vu4BmX4WqxxRgYmCd2CoBZdBlCtNV3SlonFIKLrJB7sua4CcQODqJdd/miAyx4Ph9vy5j5NYp7Exf/5QwvloPTuFYae9n4McHCDa6u4bRRrQUISGf3GBbRQDWNvXy8M2HbFK2Yjq6aRCeCT7DswMVWLRxm9JgP9zg2TNfHjPhLYi5YtuLy9bQCMuLsRJVQpNcOFUSjNrQe5JBtVp4ehK+oboHAraD/hqf5bXDHvkA3iXLXW+t+0QarqC4tCx7GiAYGvbKI0cR34GF+z4EGH51/4jLYlc5839RgrY+xrQBs7uLy5dZ6h9SkPt7AhDc3Mx7SrU2/2vNxDjGLQ12x5l73delpgPF31vBzn2aMQlIY8n+Udz8vyBonSDp19yOrSStKYzXA8NMDypK2zS0K6pd1T9SsdmXLcivZphKXsU9/384BPnIzFd3kcg/p54jxsK5N/rVXx8BBYCUB5mkPlSyAPWQxiplJoPu3IWO5/MqcQi2md/C8zXOcs0bxuk/hL4i1E5CLD2StVH/Kn7U73R6uCZhXpMdsKvtZVUuJLiyjvPGX22ABN3aRgumkZesXd/V9mY37zOVmFQ0Nkac1Bqs/T+SPyWSN+omEkHu8gRasZ3No5mYZ9jjrZcBEmXTSyxOtu2ysQK2i5SjFnK8/uSHdeU/8/2Yls9iMbX4FDTijgqrcusRJb8ee7iNRT90OYHcZRWq3QbT3v+diQf0VyMgyrX63lsw==
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:(13230031)(4636009)(39860400002)(396003)(136003)(376002)(346002)(230922051799003)(451199024)(186009)(82310400011)(1800799012)(64100799003)(46966006)(36840700001)(40470700004)(70206006)(70586007)(53546011)(54906003)(966005)(40460700003)(336012)(6916009)(426003)(16576012)(316002)(478600001)(81166007)(36860700001)(82740400003)(83380400001)(36756003)(202311291699003)(86362001)(2616005)(44832011)(7416002)(4326008)(8676002)(40480700001)(5660300002)(8936002)(41300700001)(356005)(47076005)(31696002)(31686004)(26005)(2906002)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 02:48:00.3110
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: a1ed24a4-185b-48c4-5eff-08dbf14ec438
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:
	CO1PEPF000042A7.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6531

On 11/14/23 04:13, Jan Beulich wrote:
> On 13.11.2023 23:21, Stewart Hildebrand wrote:
>> --- a/xen/arch/x86/include/asm/domain.h
>> +++ b/xen/arch/x86/include/asm/domain.h
>> @@ -503,6 +503,8 @@ struct arch_domain
>>  #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
>>  #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
>>  
>> +#define arch_needs_vpci(d) ({ (void)(d); false; })
> 
> See my comments on the v5 thread on both this and ...

So, the goal here is to return true for a PVH dom0, and false otherwise (for now). Since dom0 can't feasibly be full HVM, and is_hvm_domain(d) returns true for PVH, how about the following?

/* TODO: re-visit when vPCI is enabled for PVH domUs. */
#define arch_needs_vpci(d) ({                       \
    const struct domain *_d = (d);                  \
    is_hardware_domain(_d) && is_hvm_domain(_d); })


Link to v5 thread for reference [1]
[1] https://lists.xenproject.org/archives/html/xen-devel/2023-11/msg00968.html

> 
>> --- a/xen/drivers/passthrough/pci.c
>> +++ b/xen/drivers/passthrough/pci.c
>> @@ -1542,6 +1542,18 @@ void iommu_dev_iotlb_flush_timeout(struct domain *d, struct pci_dev *pdev)
>>      pcidevs_unlock();
>>  }
>>  
>> +static bool needs_vpci(const struct domain *d)
>> +{
>> +    if ( is_hardware_domain(d) )
>> +        return false;
> 
> ... this.

I'll move this check to the Arm arch_needs_vpci() in xen/arch/arm/include/asm/domain.h

> (It is generally a good idea to wait a little with sending new
> versions, when you can't be sure yet whether the earlier discussion has
> settled.)

(Sorry, I'll be better about this going forward.)

> 
> Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 02:57:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 02:57:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644365.1005234 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8XEa-0003jT-M5; Thu, 30 Nov 2023 02:57:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644365.1005234; Thu, 30 Nov 2023 02: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 1r8XEa-0003jM-IG; Thu, 30 Nov 2023 02:57:00 +0000
Received: by outflank-mailman (input) for mailman id 644365;
 Thu, 30 Nov 2023 02:56: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8XEZ-0003jD-Dw
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 02:56:59 +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 200a20fc-8f2c-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 03:56:57 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id B85ABB83E27;
 Thu, 30 Nov 2023 02:56:56 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8BAB8C433C7;
 Thu, 30 Nov 2023 02:56: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: 200a20fc-8f2c-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701313015;
	bh=KQGVboxEyzsjKgCktQoMusDvcgouoDeN7X/M0jJi898=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=OhLRz8XszNihaqGuHyC6b3JnJPELsg1m/nE187BZSFO6BnJqNM7b/+WYaHEVLDy5J
	 4Gi8cHZadtifxNViA3mSzZG/12/JT1MM2adcss3hpROV5aJhYTn8qHi+PEDC5F0yD3
	 ElCXLvgNI4P4yIuqhQd9IH7zqQYtKPwhc/Em5PQJ5hLzxszA1EW13r7ejohn3E5XDa
	 L6g61lt1vdOsRFVbyXM78mBA3yy3KXVkhmlX2fNDdFR30T6IQ369jnPTajwq4hSo52
	 Tb5ce2hs1yg9u1fyPFPMj+/VmQF4TnnKDwFci1/LosolLT/CySLZu+Y4ALj8srX+mc
	 /mG7JpdeXLeFg==
Date: Wed, 29 Nov 2023 18:56:52 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 2/5] automation/alpine: add elfutils-dev
In-Reply-To: <20231128100352.35430-3-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311291856470.3533093@ubuntu-linux-20-04-desktop>
References: <20231128100352.35430-1-roger.pau@citrix.com> <20231128100352.35430-3-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1626092098-1701313014=:3533093"

  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-1626092098-1701313014=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 28 Nov 2023, Roger Pau Monne wrote:
> In preparation for adding some livepatch-build-tools test update the Alpine
> container to also install elfutils-dev.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Acked-by: Stefano Stabellini <sstabellini@kernel.org>

> ---
>  automation/build/alpine/3.18.dockerfile | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/automation/build/alpine/3.18.dockerfile b/automation/build/alpine/3.18.dockerfile
> index 4ae9cb5e9e30..aac2d8cc82d9 100644
> --- a/automation/build/alpine/3.18.dockerfile
> +++ b/automation/build/alpine/3.18.dockerfile
> @@ -47,3 +47,5 @@ RUN apk --no-cache add \
>    libcap-ng-dev \
>    ninja \
>    pixman-dev \
> +  # livepatch-tools deps
> +  elfutils-dev
> -- 
> 2.43.0
> 
--8323329-1626092098-1701313014=:3533093--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 02:58:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 02:58:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644368.1005244 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8XGI-0004ww-1I; Thu, 30 Nov 2023 02:58:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644368.1005244; Thu, 30 Nov 2023 02:58: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 1r8XGH-0004wp-TQ; Thu, 30 Nov 2023 02:58:45 +0000
Received: by outflank-mailman (input) for mailman id 644368;
 Thu, 30 Nov 2023 02:58: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8XGG-0004wf-GY
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 02:58:44 +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 5f1715bf-8f2c-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 03:58:43 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id BEC76B83E27;
 Thu, 30 Nov 2023 02:58:42 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 51C71C433C7;
 Thu, 30 Nov 2023 02:58: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: 5f1715bf-8f2c-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701313121;
	bh=AFwk91g22GRvKR0n67ycwzPAOk//uVtS07YdWxmXeH0=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GQ1XQJmpDtVIJbpIfgO/o2SmIKeW7MiwHDj75XummbGbm6FvUWcVkYLHzZQ/pIosL
	 K94m+RO3q6c2kRSEfAr2eyyavj4eyBDXVQeCyX/CY+M/zoFywuvLIUkCZQLqA5zgpU
	 KNFjZjnEUWpGjElYwsxHKDNY3jaMJ0fWO7/cJHu9+UWwC/tiQizxxPP3uLvxFsWpLr
	 hGsDA5U8+jn9N5OfYBm8RQyBd+L3sV6H8kZwm9le3cOpE0vUK9tSpB09Ql0dLNOxG9
	 ZXbis8AsbP7MiT6hXj97FODTk1w5QtJFPiTBv320ho0qbiJrzGp4lefco4ApWT9Wi4
	 cTR2iDb9oiHFw==
Date: Wed, 29 Nov 2023 18:58:38 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>, 
    Anthony PERARD <anthony.perard@citrix.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>
Subject: Re: [PATCH v2 3/5] xen/x86: introduce self modifying code test
In-Reply-To: <20231128100352.35430-4-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311291857340.3533093@ubuntu-linux-20-04-desktop>
References: <20231128100352.35430-1-roger.pau@citrix.com> <20231128100352.35430-4-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-922076850-1701313121=:3533093"

  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-922076850-1701313121=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 28 Nov 2023, Roger Pau Monne wrote:
> Introduce a helper to perform checks related to self modifying code, and start
> by creating a simple test to check that alternatives have been applied.
> 
> Such test is hooked into the boot process and called just after alternatives
> have been applied.  In case of failure a message is printed, and the hypervisor
> is tainted as not having passed the tests, this does require introducing a new
> taint bit (printed as 'A').
> 
> A new sysctl is also introduced to run the tests on demand.  While there are no
> current users introduced here, further changes will introduce those, and it's
> helpful to have the interface defined in the sysctl header from the start.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
> Changes since v1:
>  - Rework test and interface.
> ---
>  tools/include/xenctrl.h             |  2 +
>  tools/libs/ctrl/xc_misc.c           | 14 ++++++
>  xen/arch/x86/Makefile               |  1 +
>  xen/arch/x86/include/asm/test-smc.h | 18 ++++++++
>  xen/arch/x86/setup.c                |  3 ++
>  xen/arch/x86/sysctl.c               |  7 +++
>  xen/arch/x86/test-smc.c             | 68 +++++++++++++++++++++++++++++

If possible, could we name this differently?

I am asking because of these:
https://documentation-service.arm.com/static/5f8ea482f86e16515cdbe3c6?token=
https://gitlab.com/xen-project/xen/-/blob/staging/xen/arch/arm/vsmc.c?ref_type=heads



>  xen/common/kernel.c                 |  5 ++-
>  xen/include/public/sysctl.h         |  9 ++++
>  xen/include/xen/lib.h               |  1 +
>  10 files changed, 126 insertions(+), 2 deletions(-)
>  create mode 100644 xen/arch/x86/include/asm/test-smc.h
>  create mode 100644 xen/arch/x86/test-smc.c
> 
> diff --git a/tools/include/xenctrl.h b/tools/include/xenctrl.h
> index 2ef8b4e05422..0f87ffa4affd 100644
> --- a/tools/include/xenctrl.h
> +++ b/tools/include/xenctrl.h
> @@ -2658,6 +2658,8 @@ int xc_dt_overlay(xc_interface *xch, void *overlay_fdt,
>                    uint32_t overlay_fdt_size, uint8_t overlay_op);
>  #endif
>  
> +int xc_test_smc(xc_interface *xch, uint32_t tests, uint32_t *result);
> +
>  /* Compat shims */
>  #include "xenctrl_compat.h"
>  
> diff --git a/tools/libs/ctrl/xc_misc.c b/tools/libs/ctrl/xc_misc.c
> index 5ecdfa2c7934..7f7ece589cc2 100644
> --- a/tools/libs/ctrl/xc_misc.c
> +++ b/tools/libs/ctrl/xc_misc.c
> @@ -1021,6 +1021,20 @@ int xc_livepatch_replace(xc_interface *xch, char *name, uint32_t timeout, uint32
>      return _xc_livepatch_action(xch, name, LIVEPATCH_ACTION_REPLACE, timeout, flags);
>  }
>  
> +int xc_test_smc(xc_interface *xch, uint32_t tests, uint32_t *result)
> +{
> +    struct xen_sysctl sysctl = {
> +        .cmd = XEN_SYSCTL_test_smc,
> +        .u.smc.tests = tests,
> +    };
> +    int rc = do_sysctl(xch, &sysctl);
> +
> +    if ( !rc )
> +        *result = sysctl.u.smc.results;
> +
> +    return rc;
> +}
> +
>  /*
>   * Local variables:
>   * mode: C
> diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
> index f629157086d0..bdd2183a2fd7 100644
> --- a/xen/arch/x86/Makefile
> +++ b/xen/arch/x86/Makefile
> @@ -65,6 +65,7 @@ obj-y += smpboot.o
>  obj-y += spec_ctrl.o
>  obj-y += srat.o
>  obj-y += string.o
> +obj-y += test-smc.o
>  obj-y += time.o
>  obj-y += traps.o
>  obj-y += tsx.o
> diff --git a/xen/arch/x86/include/asm/test-smc.h b/xen/arch/x86/include/asm/test-smc.h
> new file mode 100644
> index 000000000000..18b23dbdbf2d
> --- /dev/null
> +++ b/xen/arch/x86/include/asm/test-smc.h
> @@ -0,0 +1,18 @@
> +#ifndef _ASM_X86_TEST_SMC_H_
> +#define _ASM_X86_TEST_SMC_H_
> +
> +#include <xen/types.h>
> +
> +int test_smc(uint32_t selection, uint32_t *results);
> +
> +#endif	/* _ASM_X86_TEST_SMC_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/arch/x86/setup.c b/xen/arch/x86/setup.c
> index f6b8a3efd752..1f90d30204fe 100644
> --- a/xen/arch/x86/setup.c
> +++ b/xen/arch/x86/setup.c
> @@ -58,6 +58,7 @@
>  #include <asm/microcode.h>
>  #include <asm/prot-key.h>
>  #include <asm/pv/domain.h>
> +#include <asm/test-smc.h>
>  
>  /* opt_nosmp: If true, secondary processors are ignored. */
>  static bool __initdata opt_nosmp;
> @@ -1952,6 +1953,8 @@ void __init noreturn __start_xen(unsigned long mbi_p)
>  
>      alternative_branches();
>  
> +    test_smc(XEN_SYSCTL_TEST_SMC_ALL, NULL);
> +
>      /*
>       * NB: when running as a PV shim VCPUOP_up/down is wired to the shim
>       * physical cpu_add/remove functions, so launch the guest with only
> diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c
> index 1d40d82c5ad2..77d091f4bd59 100644
> --- a/xen/arch/x86/sysctl.c
> +++ b/xen/arch/x86/sysctl.c
> @@ -25,6 +25,7 @@
>  #include <asm/processor.h>
>  #include <asm/setup.h>
>  #include <asm/smp.h>
> +#include <asm/test-smc.h>
>  #include <asm/numa.h>
>  #include <xen/nodemask.h>
>  #include <xen/cpu.h>
> @@ -423,6 +424,12 @@ long arch_do_sysctl(
>          break;
>      }
>  
> +    case XEN_SYSCTL_test_smc:
> +        ret = test_smc(sysctl->u.smc.tests, &sysctl->u.smc.results);
> +        if ( !ret && __copy_field_to_guest(u_sysctl, sysctl, u.smc.results) )
> +            ret = -EFAULT;
> +        break;
> +
>      default:
>          ret = -ENOSYS;
>          break;
> diff --git a/xen/arch/x86/test-smc.c b/xen/arch/x86/test-smc.c
> new file mode 100644
> index 000000000000..8916c185d60a
> --- /dev/null
> +++ b/xen/arch/x86/test-smc.c
> @@ -0,0 +1,68 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#include <xen/errno.h>
> +
> +#include <asm/alternative.h>
> +#include <asm/cpufeature.h>
> +#include <asm/test-smc.h>
> +
> +static bool cf_check test_insn_replacement(void)
> +{
> +#define EXPECTED_VALUE 2
> +    unsigned int r = ~EXPECTED_VALUE;
> +
> +    alternative_io("", "mov $" STR(EXPECTED_VALUE) ", %0",
> +                   X86_FEATURE_ALWAYS, "=r"(r));
> +
> +    return r == EXPECTED_VALUE;
> +#undef EXPECTED_VALUE
> +}
> +
> +int test_smc(uint32_t selection, uint32_t *results)
> +{
> +    struct {
> +        unsigned int mask;
> +        bool (*test)(void);
> +        const char *name;
> +    } static const tests[] = {
> +        { XEN_SYSCTL_TEST_SMC_INSN_REPL, &test_insn_replacement,
> +          "alternative instruction replacement" },
> +    };
> +    unsigned int i;
> +
> +    if ( selection & ~XEN_SYSCTL_TEST_SMC_ALL )
> +        return -EINVAL;
> +
> +    if ( results )
> +        *results = 0;
> +
> +    printk(XENLOG_INFO "Checking Self Modify Code\n");
> +
> +    for ( i = 0; i < ARRAY_SIZE(tests); i++ )
> +    {
> +        if ( !(selection & tests[i].mask) )
> +            continue;
> +
> +        if ( tests[i].test() )
> +        {
> +            if ( results )
> +                *results |= tests[i].mask;
> +            continue;
> +        }
> +
> +        add_taint(TAINT_ERROR_SMC);
> +        printk(XENLOG_ERR "%s test failed\n", tests[i].name);
> +    }
> +
> +    return 0;
> +}
> +
> +/*
> + * Local variables:
> + * mode: C
> + * c-file-style: "BSD"
> + * c-basic-offset: 4
> + * tab-width: 4
> + * indent-tabs-mode: nil
> + * End:
> + */
> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> index 08dbaa2a054c..fed7ed0d587f 100644
> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -386,13 +386,14 @@ char *print_tainted(char *str)
>  {
>      if ( tainted )
>      {
> -        snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c%c%c",
> +        snprintf(str, TAINT_STRING_MAX_LEN, "Tainted: %c%c%c%c%c%c%c",
>                   tainted & TAINT_MACHINE_INSECURE ? 'I' : ' ',
>                   tainted & TAINT_MACHINE_CHECK ? 'M' : ' ',
>                   tainted & TAINT_SYNC_CONSOLE ? 'C' : ' ',
>                   tainted & TAINT_ERROR_INJECT ? 'E' : ' ',
>                   tainted & TAINT_HVM_FEP ? 'H' : ' ',
> -                 tainted & TAINT_CPU_OUT_OF_SPEC ? 'S' : ' ');
> +                 tainted & TAINT_CPU_OUT_OF_SPEC ? 'S' : ' ',
> +                 tainted & TAINT_ERROR_SMC ? 'A' : ' ');
>      }
>      else
>      {
> diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h
> index 9b19679caeb1..94287009387c 100644
> --- a/xen/include/public/sysctl.h
> +++ b/xen/include/public/sysctl.h
> @@ -1201,6 +1201,13 @@ struct xen_sysctl_dt_overlay {
>  };
>  #endif
>  
> +struct xen_sysctl_test_smc {
> +    uint32_t tests;     /* IN: bitmap with selected tests to execute. */
> +#define XEN_SYSCTL_TEST_SMC_INSN_REPL   (1U << 0)
> +#define XEN_SYSCTL_TEST_SMC_ALL         (XEN_SYSCTL_TEST_SMC_INSN_REPL)
> +    uint32_t results;   /* OUT: test result: 1 -> success, 0 -> failure. */
> +};
> +
>  struct xen_sysctl {
>      uint32_t cmd;
>  #define XEN_SYSCTL_readconsole                    1
> @@ -1232,6 +1239,7 @@ struct xen_sysctl {
>  /* #define XEN_SYSCTL_set_parameter              28 */
>  #define XEN_SYSCTL_get_cpu_policy                29
>  #define XEN_SYSCTL_dt_overlay                    30
> +#define XEN_SYSCTL_test_smc                      31
>      uint32_t interface_version; /* XEN_SYSCTL_INTERFACE_VERSION */
>      union {
>          struct xen_sysctl_readconsole       readconsole;
> @@ -1261,6 +1269,7 @@ struct xen_sysctl {
>          struct xen_sysctl_livepatch_op      livepatch;
>  #if defined(__i386__) || defined(__x86_64__)
>          struct xen_sysctl_cpu_policy        cpu_policy;
> +        struct xen_sysctl_test_smc          smc;
>  #endif
>  
>  #if defined(__arm__) || defined (__aarch64__)
> diff --git a/xen/include/xen/lib.h b/xen/include/xen/lib.h
> index 1793be5b6b89..1bec6a01b18a 100644
> --- a/xen/include/xen/lib.h
> +++ b/xen/include/xen/lib.h
> @@ -167,6 +167,7 @@ uint64_t muldiv64(uint64_t a, uint32_t b, uint32_t c);
>  #define TAINT_HVM_FEP                   (1u << 3)
>  #define TAINT_MACHINE_INSECURE          (1u << 4)
>  #define TAINT_CPU_OUT_OF_SPEC           (1u << 5)
> +#define TAINT_ERROR_SMC                 (1U << 6)
>  extern unsigned int tainted;
>  #define TAINT_STRING_MAX_LEN            20
>  extern char *print_tainted(char *str);
> -- 
> 2.43.0
> 
--8323329-922076850-1701313121=:3533093--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 03:03:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 03:03:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644374.1005253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8XKe-0006V8-Ki; Thu, 30 Nov 2023 03:03:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644374.1005253; Thu, 30 Nov 2023 03:03: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 1r8XKe-0006V1-IA; Thu, 30 Nov 2023 03:03:16 +0000
Received: by outflank-mailman (input) for mailman id 644374;
 Thu, 30 Nov 2023 03:03: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8XKd-0006Uv-OV
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 03:03:15 +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 004ead77-8f2d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 04:03:13 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id EF0ACB84147;
 Thu, 30 Nov 2023 03:03:12 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id ADB35C433C7;
 Thu, 30 Nov 2023 03:03: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: 004ead77-8f2d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701313392;
	bh=Iuj8fLDUX6MMjuIMA2EykiFY/qyQGQuEeGbwIZKYkWo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=rysggynueIfq+8DFONVQ3neDm5LfNsWC/fLjkh4jF0OdYPB6kgIxHcQPIcYAGLYAX
	 ObqWL0q71cnevZNOvDAXghhtyC58epLs9ko5/8Qsl1+NyAqSh+h7PmxUe7GJfUVZ9L
	 ehMHcEzlrFwMUrc0reD5MV+C7+Sm6ArvHJzTM1jNVWb1u1O4QsIw5/VBYimBjMtSpw
	 C8YxWdpuNX4TsH0i6r5EIweRH0QLjwu8m8WB/XefQmNrlCYBQkWJL1juOid/6VXHSK
	 LdQO9uxEYbNXNCe1s4hYohAokupTxvFIDEoM0B5ptEbc5Le4GDJFvYXwddHQUvJpWX
	 37mjvhzXdyEoQ==
Date: Wed, 29 Nov 2023 19:03:10 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Roger Pau Monne <roger.pau@citrix.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v2 5/5] automation: add x86-64 livepatching test
In-Reply-To: <20231128100352.35430-6-roger.pau@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311291901250.3533093@ubuntu-linux-20-04-desktop>
References: <20231128100352.35430-1-roger.pau@citrix.com> <20231128100352.35430-6-roger.pau@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-815831715-1701313391=:3533093"

  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-815831715-1701313391=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 28 Nov 2023, Roger Pau Monne wrote:
> Introduce a new gitlab tests for livepatching, using livepatch-build-tools,
> which better reflects how downstreams build live patches rather than the
> in-tree tests.
> 
> The tests applies the dummy in-tree patch example, checks that the patch is
> applied correctly and then reverts and unloads it.
> 
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> ---
>  automation/gitlab-ci/build.yaml               |  8 +++
>  automation/gitlab-ci/test.yaml                |  8 +++
>  automation/scripts/build                      | 21 ++++++
>  .../scripts/qemu-alpine-x86_64-livepatch.sh   | 68 +++++++++++++++++++
>  4 files changed, 105 insertions(+)
>  create mode 100755 automation/scripts/qemu-alpine-x86_64-livepatch.sh
> 
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index 32af30ccedc9..22026df51b87 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -358,6 +358,14 @@ alpine-3.18-gcc-debug:
>    variables:
>      CONTAINER: alpine:3.18
>  
> +alpine-3.18-gcc-livepatch:
> +  extends: .gcc-x86-64-build
> +  variables:
> +    CONTAINER: alpine:3.18
> +    LIVEPATCH: y
> +    EXTRA_XEN_CONFIG: |
> +      CONFIG_LIVEPATCH=y
> +
>  debian-stretch-gcc-debug:
>    extends: .gcc-x86-64-build-debug
>    variables:
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 6aabdb9d156f..58a90be5ed0e 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -459,3 +459,11 @@ qemu-smoke-ppc64le-powernv9-gcc:
>    needs:
>      - qemu-system-ppc64-8.1.0-ppc64-export
>      - debian-bullseye-gcc-ppc64le-debug
> +
> +qemu-alpine-x86_64-gcc-livepatch:
> +  extends: .qemu-x86-64
> +  script:
> +    - ./automation/scripts/qemu-alpine-x86_64-livepatch.sh 2>&1 | tee ${LOGFILE}
> +  needs:
> +    - *x86-64-test-needs
> +    - alpine-3.18-gcc-livepatch
> diff --git a/automation/scripts/build b/automation/scripts/build
> index b3c71fb6fb60..0a0a6dceb08c 100755
> --- a/automation/scripts/build
> +++ b/automation/scripts/build
> @@ -103,3 +103,24 @@ else
>      cp -r dist binaries/
>      if [[ -f xen/xen ]] ; then cp xen/xen binaries/xen; fi
>  fi
> +
> +if [[ "$LIVEPATCH" == "y" ]]; then
> +    # Build a test livepatch using livepatch-build-tools.
> +
> +    if [[ "$XEN_TARGET_ARCH" != "x86_64" ]]; then
> +        exit 1
> +    fi
> +
> +    # git diff --no-index returns 0 if no differences, otherwise 1.
> +    git diff --no-index --output=test.patch xen/arch/x86/test-smc-lp.c \
> +                                            xen/arch/x86/test-smc-lp-alt.c && exit 1
> +
> +    BUILDID=$(readelf -Wn xen/xen-syms | sed -n -e 's/^.*Build ID: //p')
> +
> +    git clone https://xenbits.xen.org/git-http/livepatch-build-tools.git
> +    cd livepatch-build-tools
> +    make
> +    ./livepatch-build -s ../ -p ../test.patch -o out -c ../xen/.config \
> +        --depends $BUILDID --xen-depends $BUILDID
> +    cp out/test.livepatch ../binaries/test.livepatch
> +fi

I realize this is a matter of taste but if possible I would move this to
qemu-alpine-x86_64-livepatch.sh not to make the build script too
complex.

Otherwise, plase create automation/scripts/livepatch and move this code
there. You can call automation/scripts/livepatch from
automation/scripts/build.

Other than that, this is great! I'll let other review the livepatch
specific changes in this series



> diff --git a/automation/scripts/qemu-alpine-x86_64-livepatch.sh b/automation/scripts/qemu-alpine-x86_64-livepatch.sh
> new file mode 100755
> index 000000000000..da478cac4376
> --- /dev/null
> +++ b/automation/scripts/qemu-alpine-x86_64-livepatch.sh
> @@ -0,0 +1,68 @@
> +#!/bin/bash
> +
> +set -ex
> +
> +cd binaries
> +# initrd.tar.gz is Dom0 rootfs
> +mkdir -p rootfs
> +cd rootfs
> +tar xvzf ../initrd.tar.gz
> +mkdir proc
> +mkdir run
> +mkdir srv
> +mkdir sys
> +rm var/run
> +cp -ar ../dist/install/* .
> +cp ../test.livepatch ./root/
> +cat << "EOF" >> etc/local.d/xen-lp.start
> +#!/bin/bash
> +
> +set -ex
> +
> +trap poweroff EXIT
> +
> +export LD_LIBRARY_PATH=/usr/local/lib
> +
> +xen-livepatch test && exit 1 || true
> +
> +xen-livepatch load /root/test.livepatch
> +
> +# Cannot fail now
> +xen-livepatch test
> +
> +xen-livepatch revert test
> +xen-livepatch unload test
> +
> +xen-livepatch test && exit 1 || true
> +
> +echo "SUCCESS"
> +EOF
> +chmod +x etc/local.d/xen-lp.start
> +echo "rc_verbose=yes" >> etc/rc.conf
> +# rebuild Dom0 rootfs
> +find . |cpio -H newc -o|gzip > ../xen-rootfs.cpio.gz
> +cd ../..
> +
> +cat >> binaries/pxelinux.0 << EOF
> +#!ipxe
> +
> +kernel xen console=com1 console_timestamps=boot
> +module bzImage console=hvc0
> +module xen-rootfs.cpio.gz
> +boot
> +EOF
> +
> +# Run the test
> +rm -f smoke.serial
> +timeout -k 1 360 \
> +qemu-system-x86_64 \
> +    -cpu qemu64,+svm \
> +    -m 2G -smp 2 \
> +    -monitor none -serial stdio \
> +    -nographic \
> +    -device virtio-net-pci,netdev=n0 \
> +    -netdev user,id=n0,tftp=binaries,bootfile=/pxelinux.0 |& \
> +        tee smoke.serial | sed 's/\r//'
> +
> +grep -q "SUCCESS" smoke.serial
> +exit 0
> -- 
> 2.43.0
> 
--8323329-815831715-1701313391=:3533093--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 03:13:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 03:13:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644377.1005264 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8XUD-0001YP-GQ; Thu, 30 Nov 2023 03:13:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644377.1005264; Thu, 30 Nov 2023 03:13: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 1r8XUD-0001YI-Dn; Thu, 30 Nov 2023 03:13:09 +0000
Received: by outflank-mailman (input) for mailman id 644377;
 Thu, 30 Nov 2023 03:13: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8XUC-0001YC-6e
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 03:13:08 +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 5fdcd513-8f2e-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 04:13:04 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id D69F161903;
 Thu, 30 Nov 2023 03:13:02 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A277AC433C7;
 Thu, 30 Nov 2023 03:13: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: 5fdcd513-8f2e-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701313982;
	bh=285gX3ikY7OSPhw98EXb5J4CGJTa2YCJRFa1/XSPOWw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=WCQs6Tv4S5rb59KGmBtob5kisfrrC7fbghyBbJGIf2hz0Vu9UVGAEWGFoH4y0Nj7d
	 VjPblxGMC8SJ0CmYyzJyIOUyBO0c9Kalux/r3iCR18xDy/v2GEwqwxZkU66vvlSV4N
	 Fx65aVKcK89L9fTlCs71YCEhPjjtdx9LvbVbYtXHR4kp4WoNn1NLRfzsyMl7OcKXCR
	 yKLItMSrhtHwvSHEIGWlCJQq2sPtazDfawqmA3RgETG2SEVMFGx1qV167nshsvfuUh
	 8ImsuVcVa6RZpaH0TJK3Kmk3tCbxfYOsgdjoycbCENKO5i7vb1y1OYUv01vF+u/Gyr
	 duZPOl0D0xkSg==
Date: Wed, 29 Nov 2023 19:13:00 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Simone Ballarin <simone.ballarin@bugseng.com>
cc: xen-devel@lists.xenproject.org, consulting@bugseng.com, 
    Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [XEN PATCH v2] automation/eclair: improve scheduled analyses
In-Reply-To: <36ea68b24a1e336ef9170b7f89949d282ee1e746.1700752056.git.simone.ballarin@bugseng.com>
Message-ID: <alpine.DEB.2.22.394.2311291911350.3533093@ubuntu-linux-20-04-desktop>
References: <36ea68b24a1e336ef9170b7f89949d282ee1e746.1700752056.git.simone.ballarin@bugseng.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Thu, 23 Nov 2023, Simone Ballarin wrote:
> The scheduled analyses are intended to maintain an overall vision
> of the MISRA complaince of the entire project. For this reason,
> the file exclusions in "out_of_scope.ecl" should not be applied.
> 
> This patch amends ECLAIR settings to prevent exempting files for
> scheduled analyses.
> 
> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
> 
> ---
> Changes in v2:
> - drop changes to inhibit test and build stages in scheduled pipelines.
> ---
>  automation/eclair_analysis/ECLAIR/action.settings |  2 +-
>  automation/eclair_analysis/ECLAIR/analysis.ecl    | 12 ++++++++++--
>  automation/gitlab-ci/analyze.yaml                 |  2 ++
>  3 files changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
> index f96368ffc7..3cba1a3afb 100644
> --- a/automation/eclair_analysis/ECLAIR/action.settings
> +++ b/automation/eclair_analysis/ECLAIR/action.settings
> @@ -134,7 +134,7 @@ push)
>      badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
>      ;;
>  auto_pull_request)
> -    git remote remove autoPRRemote || true
> +    git remote remove autoPRRemote 2>/dev/null || true
>      git remote add autoPRRemote "${autoPRRemoteUrl}"
>      git fetch -q autoPRRemote
>      subDir="${ref}"
> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
> index fe418d6da1..2507a8e787 100644
> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl
> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
> @@ -2,7 +2,13 @@
>  -project_name=getenv("ECLAIR_PROJECT_NAME")
>  -project_root=getenv("ECLAIR_PROJECT_ROOT")
>  
> --setq=data_dir,getenv("ECLAIR_DATA_DIR")
> +setq(data_dir,getenv("ECLAIR_DATA_DIR"))
> +setq(analysis_kind,getenv("ANALYSIS_KIND"))
> +setq(scheduled_analysis,nil)
> +
> +strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t))
> +strings_map("scheduled-analysis",500,"","^.*$",0)
> +map_strings("scheduled-analysis",analysis_kind)
>  
>  -verbose
>  
> @@ -15,7 +21,9 @@
>  
>  -eval_file=toolchain.ecl
>  -eval_file=public_APIs.ecl
> --eval_file=out_of_scope.ecl
> +if(scheduled_analysis,
> +    eval_file("out_of_scope.ecl")
> +)


Overall the patch looks much better. Only one question: shouldn't it be

  if not scheduled_analysis

instead of:

  if scheduled_analysis

I don't know the language of analysis.ecl but we are supposed to add
out_of_scope.ecl in all cases except for scheduled_analysis. Looking at
this change it seems to do the opposite?


>  -eval_file=deviations.ecl
>  -eval_file=call_properties.ecl
>  -eval_file=tagging.ecl
> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
> index bd9a68de31..6631db53fa 100644
> --- a/automation/gitlab-ci/analyze.yaml
> +++ b/automation/gitlab-ci/analyze.yaml
> @@ -28,6 +28,8 @@
>    extends: .eclair-analysis
>    allow_failure: true
>    rules:
> +    - if: $CI_PIPELINE_SOURCE == "schedule"
> +      when: never
>      - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>        when: manual
>      - !reference [.eclair-analysis, rules]
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 03:29:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 03:29:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644380.1005273 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8XjX-00074N-Q6; Thu, 30 Nov 2023 03:28:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644380.1005273; Thu, 30 Nov 2023 03:28: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 1r8XjX-00074G-Na; Thu, 30 Nov 2023 03:28:59 +0000
Received: by outflank-mailman (input) for mailman id 644380;
 Thu, 30 Nov 2023 03:28: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8XjV-00074A-Pm
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 03:28:57 +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 95941185-8f30-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 04:28:54 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id 0988FCE1F29;
 Thu, 30 Nov 2023 03:28:50 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id A9548C433C7;
 Thu, 30 Nov 2023 03:28: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: 95941185-8f30-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701314929;
	bh=OsuSg0EUHTYImGqH1iVt7K1UuksM3mcd/sOi3cXeBsw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=SPPdKngWIdxrw4H2VFOl+md/LEiY45R+61UIWf3aKpXuj9zzsdxOIIEGZfWUdefF2
	 53/X48giq1SQhN0ooOlYQzMQJBqaXeCMj9mXIHATSJiLelAW9KcNnv5fgWLbJ8Je24
	 VRo6gnTpMOhD+vpZQvYt+Xc6AwNH8ZgqYsVR8cttdmiU7eEDVx8ryexTLtp6Pv9/wp
	 BS6Po4o9vOeG6RDtiCMbAy5dbIJQtbhmGssXiWMIZHBtxCjeaKmAd03sx4XMRFtqnM
	 sZf4eNiM+5byolWfKDU6jEypgUbbAiO91+XqwIqgeI0cxnxHJro7G80HtL0R069FLM
	 gFbpXzawu/gSw==
Date: Wed, 29 Nov 2023 19:28:47 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4 3/6] automation: prevent QEMU access to /dev/mem in
 PCI passthrough tests
In-Reply-To: <5c7cf4c680200c37187b90eebc49f600865c65ec.1700790421.git-series.marmarek@invisiblethingslab.com>
Message-ID: <alpine.DEB.2.22.394.2311291927160.3533093@ubuntu-linux-20-04-desktop>
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com> <5c7cf4c680200c37187b90eebc49f600865c65ec.1700790421.git-series.marmarek@invisiblethingslab.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-2137811248-1701314928=:3533093"

  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-2137811248-1701314928=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 24 Nov 2023, Marek Marczykowski-Górecki wrote:
> /dev/mem access doesn't work in dom0 in lockdown and in stubdomain.
> Simulate this environment with removing /dev/mem device node. Full test
> for lockdown and stubdomain will come later, when all requirements will
> be in place.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Nice! I was going to suggest to do the same for other PCI Passthrough
tests but this is the only one I believe?

Acked-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> This can be applied only after QEMU change is committed. Otherwise the
> test will fail.
> ---
>  automation/scripts/qubes-x86-64.sh | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
> index d81ed7b931cf..7eabc1bd6ad4 100755
> --- a/automation/scripts/qubes-x86-64.sh
> +++ b/automation/scripts/qubes-x86-64.sh
> @@ -163,6 +163,8 @@ ifconfig eth0 up
>  ifconfig xenbr0 up
>  ifconfig xenbr0 192.168.0.1
>  
> +# ensure QEMU wont have access /dev/mem
> +rm -f /dev/mem
>  # get domU console content into test log
>  tail -F /var/log/xen/console/guest-domU.log 2>/dev/null | sed -e \"s/^/(domU) /\" &
>  xl create /etc/xen/domU.cfg
> -- 
> git-series 0.9.1
> 
--8323329-2137811248-1701314928=:3533093--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 03:30:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 03:30:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644382.1005284 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8XlS-0008SL-4p; Thu, 30 Nov 2023 03:30:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644382.1005284; Thu, 30 Nov 2023 03:30: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 1r8XlS-0008SE-1M; Thu, 30 Nov 2023 03:30:58 +0000
Received: by outflank-mailman (input) for mailman id 644382;
 Thu, 30 Nov 2023 03:30: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8XlR-0008S6-6J
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 03:30: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 de090048-8f30-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 04:30:55 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id CCBAD6190B;
 Thu, 30 Nov 2023 03:30:53 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id DF9C5C433C7;
 Thu, 30 Nov 2023 03:30: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: de090048-8f30-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701315053;
	bh=nXnOQZe/e/wXpCVk0mtiepuNjWeXigfCkoSPRbU8F3k=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=RulUvwTxKUZs4pU/JumlSr1U1QnsEsQYd3TTGDrnt4+2ITc8oZeQRrHzotrLOmfA3
	 iE46/5L0yY34we8BkX9KKF1BD4wfdwiCf+BNkn46V2l03Rh9Gol9TYGpGUpVbpmusd
	 SHx+s1CMBiR+qMOuz5ZO0gcSqJTQSpXkfrJB9w7a2vFXuXfbsDVtbBeMFzM7cS+5y4
	 677rDF7o/J1JQxdKYmD0IebbEtlgD3yp2nYcqZdHTegu7RF3WHepVS/GHDb/lL6j6Z
	 EJOoxI4v2Y8H2UV1heVrvsvgp9kTpgCsX0PL3nGxJMyY9HUsr1+vW6IrtQiOvPXGt6
	 MvhMd8cPay6WA==
Date: Wed, 29 Nov 2023 19:30:51 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Marek_Marczykowski-G=C3=B3recki?= <marmarek@invisiblethingslab.com>
cc: xen-devel@lists.xenproject.org, Doug Goldstein <cardoe@cardoe.com>, 
    Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v4 4/6] automation: switch to a wifi card on ADL system
In-Reply-To: <9f18111c2d48b0715837789fc905d9e7b2a1ef0c.1700790421.git-series.marmarek@invisiblethingslab.com>
Message-ID: <alpine.DEB.2.22.394.2311291929040.3533093@ubuntu-linux-20-04-desktop>
References: <cover.e8ee4f1e4458c19070007220034a9bfdc34190d5.1700790421.git-series.marmarek@invisiblethingslab.com> <9f18111c2d48b0715837789fc905d9e7b2a1ef0c.1700790421.git-series.marmarek@invisiblethingslab.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1207037616-1701315053=:3533093"

  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-1207037616-1701315053=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Fri, 24 Nov 2023, Marek Marczykowski-Górecki wrote:
> Switch to a wifi card that has registers on a MSI-X page. This tests the
> "x86/hvm: Allow writes to registers on the same page as MSI-X table"
> feature. Switch it only for HVM test, because MSI-X adjacent write is
> not supported on PV.
> 
> This requires also including drivers and firmware in system for tests.
> Remove firmware unrelated to the test, to not increase initrd size too
> much (all firmware takes over 100MB compressed).
> And finally adjusts test script to handle not only eth0 as a test device,
> but also wlan0 and connect it to the wifi network.
> 
> Signed-off-by: Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com>

Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>


> ---
> This needs two new gitlab variables: WIFI_HW2_SSID and WIFI_HW2_PSK. I'll
> provide them in private.
> 
> This change requires rebuilding test containers.
> 
> This can be applied only after QEMU change is committed. Otherwise the
> test will fail.
> ---
>  automation/gitlab-ci/test.yaml                      | 4 ++++
>  automation/scripts/qubes-x86-64.sh                  | 7 +++++++
>  automation/tests-artifacts/alpine/3.18.dockerfile   | 7 +++++++
>  automation/tests-artifacts/kernel/6.1.19.dockerfile | 2 ++
>  4 files changed, 20 insertions(+)
> 
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 6aabdb9d156f..931a8fb28e1d 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -195,6 +195,10 @@ adl-pci-pv-x86-64-gcc-debug:
>  
>  adl-pci-hvm-x86-64-gcc-debug:
>    extends: .adl-x86-64
> +  variables:
> +    PCIDEV: "00:14.3"
> +    WIFI_SSID: "$WIFI_HW2_SSID"
> +    WIFI_PSK: "$WIFI_HW2_PSK"
>    script:
>      - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
>    needs:
> diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh
> index 7eabc1bd6ad4..60498ef1e89a 100755
> --- a/automation/scripts/qubes-x86-64.sh
> +++ b/automation/scripts/qubes-x86-64.sh
> @@ -94,6 +94,13 @@ on_reboot = "destroy"
>      domU_check="
>  set -x -e
>  interface=eth0
> +if [ -e /sys/class/net/wlan0 ]; then
> +    interface=wlan0
> +    set +x
> +    wpa_passphrase "$WIFI_SSID" "$WIFI_PSK" > /etc/wpa_supplicant.conf
> +    set -x
> +    wpa_supplicant -B -iwlan0 -c /etc/wpa_supplicant.conf
> +fi
>  ip link set \"\$interface\" up
>  timeout 30s udhcpc -i \"\$interface\"
>  pingip=\$(ip -o -4 r show default|cut -f 3 -d ' ')
> diff --git a/automation/tests-artifacts/alpine/3.18.dockerfile b/automation/tests-artifacts/alpine/3.18.dockerfile
> index f1b4a8b7a191..b821a291fed3 100644
> --- a/automation/tests-artifacts/alpine/3.18.dockerfile
> +++ b/automation/tests-artifacts/alpine/3.18.dockerfile
> @@ -34,6 +34,13 @@ RUN \
>    apk add curl && \
>    apk add udev && \
>    apk add pciutils && \
> +  apk add wpa_supplicant && \
> +  # Select firmware for hardware tests
> +  apk add linux-firmware-other && \
> +  mkdir /lib/firmware-preserve && \
> +  mv /lib/firmware/iwlwifi-so-a0-gf-a0* /lib/firmware-preserve/ && \
> +  rm -rf /lib/firmware && \
> +  mv /lib/firmware-preserve /lib/firmware && \
>    \
>    # Xen
>    cd / && \
> diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile
> index 3a4096780d20..84ed5dff23ae 100644
> --- a/automation/tests-artifacts/kernel/6.1.19.dockerfile
> +++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile
> @@ -32,6 +32,8 @@ RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"$LINUX_VERSI
>      make xen.config && \
>      scripts/config --enable BRIDGE && \
>      scripts/config --enable IGC && \
> +    scripts/config --enable IWLWIFI && \
> +    scripts/config --enable IWLMVM && \
>      cp .config .config.orig && \
>      cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \
>      make -j$(nproc) bzImage && \
> -- 
> git-series 0.9.1
> 
--8323329-1207037616-1701315053=:3533093--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 03:38:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 03:38:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644386.1005294 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Xst-0001VT-Ss; Thu, 30 Nov 2023 03:38:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644386.1005294; Thu, 30 Nov 2023 03:38: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 1r8Xst-0001VM-PK; Thu, 30 Nov 2023 03:38:39 +0000
Received: by outflank-mailman (input) for mailman id 644386;
 Thu, 30 Nov 2023 03:38: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8Xss-0001VG-Hg
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 03:38:38 +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 f120a32f-8f31-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 04:38:37 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by sin.source.kernel.org (Postfix) with ESMTP id EB4F7CE1F29;
 Thu, 30 Nov 2023 03:38:32 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 60389C433C7;
 Thu, 30 Nov 2023 03:38: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: f120a32f-8f31-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701315512;
	bh=GWXNKCoRnBbU4oQqwsz5WdqR6hMVIH5wCFVkS26DkZE=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=pKXnezyHy99g0xmIMvjtuA/yM8N9+EYg1tCznTIRMa2J0Yt4Fbxo0XOwzheNLdyDQ
	 9a52mji0Or5DjQH2SrBZwT/vQiGZegUOgfHnqQJqjomgCkzIlWDl5Dm1eOUauBR3HZ
	 XPlrOr2B/9MY2BLF2cqRkZyVYwcrgt7IgeHe1r+X7i+lMRvXwkQb1U1kGapPhnHjuX
	 A5w/r6RoRXddvs25BIHKCD9yhW1ibuKzGGoE4Anm5czs2RMAIyWAR7K5FdyyJC4+l6
	 uPNbR1AhERAVByh9ria3l5KRWLO62uFON2qgprTh8QiHQGESYLDTNGPb79xx9P+IR5
	 aahp6Xlo7m5bg==
Date: Wed, 29 Nov 2023 19:38:28 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
cc: Jiqian Chen <Jiqian.Chen@amd.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, 
    Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    xen-devel@lists.xenproject.org, 
    Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
    Alex Deucher <Alexander.Deucher@amd.com>, 
    Xenia Ragiadakou <xenia.ragiadakou@amd.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Huang Rui <Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, 
    Julia Zhang <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
In-Reply-To: <ZWX4R9UEE6oXiqaz@macbook>
Message-ID: <alpine.DEB.2.22.394.2311291937170.3533093@ubuntu-linux-20-04-desktop>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com> <20231124104136.3263722-4-Jiqian.Chen@amd.com> <ZWX4R9UEE6oXiqaz@macbook>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="8323329-1534059129-1701315511=:3533093"

  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-1534059129-1701315511=:3533093
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8BIT

On Tue, 28 Nov 2023, Roger Pau Monné wrote:
> On Fri, Nov 24, 2023 at 06:41:36PM +0800, Jiqian Chen wrote:
> > In PVH dom0, it uses the linux local interrupt mechanism,
> > when it allocs irq for a gsi, it is dynamic, and follow
> > the principle of applying first, distributing first. And
> > if you debug the kernel codes, you will find the irq
> > number is alloced from small to large, but the applying
> > gsi number is not, may gsi 38 comes before gsi 28, that
> > causes the irq number is not equal with the gsi number.
> > And when we passthrough a device, QEMU will use its gsi
> > number to do mapping actions, see xen_pt_realize->
> > xc_physdev_map_pirq, but the gsi number is got from file
> > /sys/bus/pci/devices/xxxx:xx:xx.x/irq in current code,
> > so it will fail when mapping.
> > And in current codes, there is no method to translate
> > irq to gsi for userspace.
> 
> I think it would be cleaner to just introduce a new sysfs node that
> contains the gsi if a device is using one (much like the irq sysfs
> node)?
> 
> Such ioctl to translate from IRQ to GSI has nothing to do with Xen, so
> placing it in privcmd does seem quite strange to me.  I understand
> that for passthrough we need the GSI, but such translation layer from
> IRQ to GSI is all Linux internal, and it would be much simpler to just
> expose the GSI in sysfs IMO.

Maybe something to add to drivers/xen/sys-hypervisor.c in Linux.
Juergen what do you think?
--8323329-1534059129-1701315511=:3533093--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 03:46:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 03:46:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644390.1005304 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Y0J-0004Wm-RR; Thu, 30 Nov 2023 03:46:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644390.1005304; Thu, 30 Nov 2023 03:46: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 1r8Y0J-0004Wf-Nx; Thu, 30 Nov 2023 03:46:19 +0000
Received: by outflank-mailman (input) for mailman id 644390;
 Thu, 30 Nov 2023 03:46: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8Y0I-0004VL-40
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 03:46:18 +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 03b9a5cd-8f33-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 04:46:16 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id D9C30B840A3;
 Thu, 30 Nov 2023 03:46:15 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id B1247C433C8;
 Thu, 30 Nov 2023 03:46:12 +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: 03b9a5cd-8f33-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701315975;
	bh=ImiOiQhvhKUUm5oVJgUSz68972qeSMdz2GSy/eO9yLU=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=dMU82C4ZeK1W24ImseHcnSX0eL44pgYFISp5T440Je2Vd4TeXkzuVRypQvfXrKPsd
	 /0FMytuxWOCgVYRvEYAVtske8klm2NTIA2bGF7Tx6CqN3EriCImp1Ji7IsGMmrPp1y
	 UOkZBMLNF2jl60vh6uyUw4BwYoOVoBfd/QqQSFORM52fnvrNgBje020OVD8yFZAaJr
	 nHXBZX/ZJxahbdCW/IMPHnP/F4yA/Bvr9ZZjpjUiJTpQOIl9aJS3XHY88xdAAlIn0v
	 kfHoDg2K/N/V1W2aSIqJ1+NUCiVnrzpM6F+0m12/vvOOTXXkmfC1q4vbljJKxBzetP
	 PrL+7oqIEFKTA==
Date: Wed, 29 Nov 2023 19:46:11 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jiqian Chen <Jiqian.Chen@amd.com>
cc: Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    Thomas Gleixner <tglx@linutronix.de>, 
    Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
    "Rafael J . Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>, 
    Bjorn Helgaas <bhelgaas@google.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, 
    linux-acpi@vger.kernel.org, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Alex Deucher <Alexander.Deucher@amd.com>, 
    Christian Koenig <Christian.Koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
    Xenia Ragiadakou <xenia.ragiadakou@amd.com>, 
    Honglei Huang <Honglei1.Huang@amd.com>, Julia Zhang <Julia.Zhang@amd.com>, 
    Huang Rui <Ray.Huang@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: Re: [RFC KERNEL PATCH v2 1/3] xen/pci: Add xen_reset_device_state
 function
In-Reply-To: <20231124103123.3263471-2-Jiqian.Chen@amd.com>
Message-ID: <alpine.DEB.2.22.394.2311291943260.3533093@ubuntu-linux-20-04-desktop>
References: <20231124103123.3263471-1-Jiqian.Chen@amd.com> <20231124103123.3263471-2-Jiqian.Chen@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 24 Nov 2023, Jiqian Chen wrote:
> When device on dom0 side has been reset, the vpci on Xen side
> won't get notification, so that the cached state in vpci is
> all out of date with the real device state.
> To solve that problem, this patch add a function to clear all
> vpci device state when device is reset on dom0 side.
> 
> And call that function in pcistub_init_device. Because when
> we use "pci-assignable-add" to assign a passthrough device in
> Xen, it will reset passthrough device and the vpci state will
> out of date, and then device will fail to restore bar state.
> 
> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> Signed-off-by: Huang Rui <ray.huang@amd.com>
> ---
>  drivers/xen/pci.c                  | 12 ++++++++++++
>  drivers/xen/xen-pciback/pci_stub.c |  3 +++
>  include/xen/interface/physdev.h    |  2 ++
>  include/xen/pci.h                  |  6 ++++++
>  4 files changed, 23 insertions(+)
> 
> diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
> index 72d4e3f193af..e9b30bc09139 100644
> --- a/drivers/xen/pci.c
> +++ b/drivers/xen/pci.c
> @@ -177,6 +177,18 @@ static int xen_remove_device(struct device *dev)
>  	return r;
>  }
>  
> +int xen_reset_device_state(const struct pci_dev *dev)
> +{
> +	struct physdev_pci_device device = {
> +		.seg = pci_domain_nr(dev->bus),
> +		.bus = dev->bus->number,
> +		.devfn = dev->devfn
> +	};
> +
> +	return HYPERVISOR_physdev_op(PHYSDEVOP_pci_device_state_reset, &device);
> +}
> +EXPORT_SYMBOL_GPL(xen_reset_device_state);
> +
>  static int xen_pci_notifier(struct notifier_block *nb,
>  			    unsigned long action, void *data)
>  {
> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
> index e34b623e4b41..5a96b6c66c07 100644
> --- a/drivers/xen/xen-pciback/pci_stub.c
> +++ b/drivers/xen/xen-pciback/pci_stub.c
> @@ -421,6 +421,9 @@ static int pcistub_init_device(struct pci_dev *dev)
>  	else {
>  		dev_dbg(&dev->dev, "resetting (FLR, D3, etc) the device\n");
>  		__pci_reset_function_locked(dev);
> +		err = xen_reset_device_state(dev);
> +		if (err)
> +			goto config_release;

Older versions of Xen won't have the hypercall
PHYSDEVOP_pci_device_state_reset implemented. I think we should do
something like:

if (err && xen_pvh_domain())
    goto config_release;


Or even:

if (xen_pvh_domain()) {
    err = xen_reset_device_state(dev);
    if (err)
        goto config_release;
}

depending on whether we want to call xen_reset_device_state also for PV
guests or not. I am assuming we don't want to error out on failure such
as -ENOENT for PV guests.


>  		pci_restore_state(dev);
>  	}
>  	/* Now disable the device (this also ensures some private device
> diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h
> index a237af867873..231526f80f6c 100644
> --- a/include/xen/interface/physdev.h
> +++ b/include/xen/interface/physdev.h
> @@ -263,6 +263,8 @@ struct physdev_pci_device {
>      uint8_t devfn;
>  };
>  
> +#define PHYSDEVOP_pci_device_state_reset     32
> +
>  #define PHYSDEVOP_DBGP_RESET_PREPARE    1
>  #define PHYSDEVOP_DBGP_RESET_DONE       2
>  
> diff --git a/include/xen/pci.h b/include/xen/pci.h
> index b8337cf85fd1..b2e2e856efd6 100644
> --- a/include/xen/pci.h
> +++ b/include/xen/pci.h
> @@ -4,10 +4,16 @@
>  #define __XEN_PCI_H__
>  
>  #if defined(CONFIG_XEN_DOM0)
> +int xen_reset_device_state(const struct pci_dev *dev);
>  int xen_find_device_domain_owner(struct pci_dev *dev);
>  int xen_register_device_domain_owner(struct pci_dev *dev, uint16_t domain);
>  int xen_unregister_device_domain_owner(struct pci_dev *dev);
>  #else
> +static inline int xen_reset_device_state(const struct pci_dev *dev)
> +{
> +	return -1;
> +}
> +
>  static inline int xen_find_device_domain_owner(struct pci_dev *dev)
>  {
>  	return -1;
> -- 
> 2.34.1
> 


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 03:54:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 03:54:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644393.1005313 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8Y7t-0007sE-IO; Thu, 30 Nov 2023 03:54:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644393.1005313; Thu, 30 Nov 2023 03:54: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 1r8Y7t-0007s7-Fq; Thu, 30 Nov 2023 03:54:09 +0000
Received: by outflank-mailman (input) for mailman id 644393;
 Thu, 30 Nov 2023 03:54: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8Y7s-0007s1-4i
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 03:54: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 1b53104f-8f34-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 04:54:06 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id E12A7B84172;
 Thu, 30 Nov 2023 03:54:04 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9F28FC433C7;
 Thu, 30 Nov 2023 03:54: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: 1b53104f-8f34-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701316444;
	bh=eqrzzX60ARPCRs9X4WWPjycQ35QvNwJsAd1XNvK8saw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=GvMRCkn1WFSi9WF+av2EeV08oEHGzraC7gBBdTXSLBjyvYt2SQtWcQzoDvBRXOkRX
	 EcSCe1XuhGeKNw4mFK+3a+PtBYv2DE/lAtRxKP1TkpIaR0X0N7QTUrE2PULcyzM50I
	 30COdUKB7E6Xn4rfhvlNEQAoW4iHWUIDf+cbbBI/k2//K5ezvdu9FT7hoNCizoS+zt
	 CGTQ1luYqgCdMC9ZgWNcrPSsi90Gj1pDFP57PXEEqEsp519moh1LCh1hvZhQK1bZqI
	 0RMWGKVE9Grgoadx/opXr8GHVBkj0wm2gqYZe8hlWC943iDrXBZ5gOLff9EyMhLU9m
	 D/KgNLvvSxAYw==
Date: Wed, 29 Nov 2023 19:53:59 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Jiqian Chen <Jiqian.Chen@amd.com>, roger.pau@citrix.com
cc: Juergen Gross <jgross@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, 
    Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>, 
    Thomas Gleixner <tglx@linutronix.de>, 
    Boris Ostrovsky <boris.ostrovsky@oracle.com>, 
    "Rafael J . Wysocki" <rafael@kernel.org>, Len Brown <lenb@kernel.org>, 
    Bjorn Helgaas <bhelgaas@google.com>, 
    =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, 
    linux-acpi@vger.kernel.org, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Alex Deucher <Alexander.Deucher@amd.com>, 
    Christian Koenig <Christian.Koenig@amd.com>, 
    Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
    Xenia Ragiadakou <xenia.ragiadakou@amd.com>, 
    Honglei Huang <Honglei1.Huang@amd.com>, Julia Zhang <Julia.Zhang@amd.com>, 
    Huang Rui <Ray.Huang@amd.com>, Huang Rui <ray.huang@amd.com>
Subject: Re: [RFC KERNEL PATCH v2 2/3] xen/pvh: Unmask irq for passthrough
 device in PVH dom0
In-Reply-To: <20231124103123.3263471-3-Jiqian.Chen@amd.com>
Message-ID: <alpine.DEB.2.22.394.2311291950350.3533093@ubuntu-linux-20-04-desktop>
References: <20231124103123.3263471-1-Jiqian.Chen@amd.com> <20231124103123.3263471-3-Jiqian.Chen@amd.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

On Fri, 24 Nov 2023, Jiqian Chen wrote:
> This patch is to solve two problems we encountered when we try to
> passthrough a device to hvm domU base on Xen PVH dom0.
> 
> First, hvm guest will alloc a pirq and irq for a passthrough device
> by using gsi, before that, the gsi must first has a mapping in dom0,
> see Xen code pci_add_dm_done->xc_domain_irq_permission, it will call
> into Xen and check whether dom0 has the mapping. See
> XEN_DOMCTL_irq_permission->pirq_access_permitted, "current" is PVH
> dom0 and it return irq is 0, and then return -EPERM.
> This is because the passthrough device doesn't do PHYSDEVOP_map_pirq
> when thay are enabled.
> 
> Second, in PVH dom0, the gsi of a passthrough device doesn't get
> registered, but gsi must be configured for it to be able to be
> mapped into a domU.
> 
> After searching codes, we can find map_pirq and register_gsi will be
> done in function vioapic_write_redirent->vioapic_hwdom_map_gsi when
> the gsi(aka ioapic's pin) is unmasked in PVH dom0. So the problems
> can be conclude to that the gsi of a passthrough device doesn't be
> unmasked.
> 
> To solve the unmaske problem, this patch call the unmask_irq when we
> assign a device to be passthrough. So that the gsi can get registered
> and mapped in PVH dom0.


Roger, this seems to be more of a Xen issue than a Linux issue. Why do
we need the unmask check in Xen? Couldn't we just do:


diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c
index 4e40d3609a..df262a4a18 100644
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -287,7 +287,7 @@ static void vioapic_write_redirent(
             hvm_dpci_eoi(d, gsi);
     }
 
-    if ( is_hardware_domain(d) && unmasked )
+    if ( is_hardware_domain(d) )
     {
         /*
          * NB: don't call vioapic_hwdom_map_gsi while holding hvm.irq_lock


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 04:02:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 04:02:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644396.1005323 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8YGH-0003BA-CN; Thu, 30 Nov 2023 04:02:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644396.1005323; Thu, 30 Nov 2023 04:02: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 1r8YGH-0003B3-9q; Thu, 30 Nov 2023 04:02:49 +0000
Received: by outflank-mailman (input) for mailman id 644396;
 Thu, 30 Nov 2023 04:02: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8YGG-0003Aw-Ij
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 04:02: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 512731f1-8f35-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 05:02:46 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by dfw.source.kernel.org (Postfix) with ESMTP id 7A9EA61D04;
 Thu, 30 Nov 2023 04:02:44 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 63761C433C9;
 Thu, 30 Nov 2023 04:02: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: 512731f1-8f35-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701316964;
	bh=X0+zuvpu/LWOCx5sGIUWs70rMuq6CB62gaXT4eplXPw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=uObZ4+1lLGa49MWw1i7eflNmalTLvQ2T9QOz7fSJW3la3tpj/U3p3CvqZ4xrE8c6b
	 5oXBKqoTJmShWZ07S28VxNk18JnP2MOGVwZv7R0YevJZ6qhb18Ih3nqvDLstM7wUU9
	 JEjml1Us3WneGrc6gNVzM+q6952W0jjrB7HwwBdv9l+6t4TACly3vGDe1Ry/IdP9oD
	 O5kpLAWS7yJWHgJDZK9VETN7IRQ18X2jm7p17dtLBQBALngiAMZpLVg0JSc5Yk6BC2
	 D1wd6vsRfZSwiTNkZTiQNay2Az7k2Nk884JiAe7+5UrujX3aFkz6E+tWuf4JW7It5+
	 2GU+D2bDQtR1A==
Date: Wed, 29 Nov 2023 20:02:40 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Stefano Stabellini <sstabellini@kernel.org>
cc: =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, 
    Jiqian Chen <Jiqian.Chen@amd.com>, Jan Beulich <jbeulich@suse.com>, 
    Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, 
    Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org, 
    Stewart Hildebrand <Stewart.Hildebrand@amd.com>, 
    Alex Deucher <Alexander.Deucher@amd.com>, 
    Xenia Ragiadakou <xenia.ragiadakou@amd.com>, 
    Stefano Stabellini <stefano.stabellini@amd.com>, 
    Huang Rui <Ray.Huang@amd.com>, Honglei Huang <Honglei1.Huang@amd.com>, 
    Julia Zhang <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
In-Reply-To: <alpine.DEB.2.22.394.2311291937170.3533093@ubuntu-linux-20-04-desktop>
Message-ID: <alpine.DEB.2.22.394.2311291956130.3533093@ubuntu-linux-20-04-desktop>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com> <20231124104136.3263722-4-Jiqian.Chen@amd.com> <ZWX4R9UEE6oXiqaz@macbook> <alpine.DEB.2.22.394.2311291937170.3533093@ubuntu-linux-20-04-desktop>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-2021362076-1701316589=:3533093"
Content-ID: <alpine.DEB.2.22.394.2311291956430.3533093@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-2021362076-1701316589=:3533093
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311291956431.3533093@ubuntu-linux-20-04-desktop>

n Wed, 29 Nov 2023, Stefano Stabellini wrote:
> On Tue, 28 Nov 2023, Roger Pau Monné wrote:
> > On Fri, Nov 24, 2023 at 06:41:36PM +0800, Jiqian Chen wrote:
> > > In PVH dom0, it uses the linux local interrupt mechanism,
> > > when it allocs irq for a gsi, it is dynamic, and follow
> > > the principle of applying first, distributing first. And
> > > if you debug the kernel codes, you will find the irq
> > > number is alloced from small to large, but the applying
> > > gsi number is not, may gsi 38 comes before gsi 28, that
> > > causes the irq number is not equal with the gsi number.
> > > And when we passthrough a device, QEMU will use its gsi
> > > number to do mapping actions, see xen_pt_realize->
> > > xc_physdev_map_pirq, but the gsi number is got from file
> > > /sys/bus/pci/devices/xxxx:xx:xx.x/irq in current code,
> > > so it will fail when mapping.
> > > And in current codes, there is no method to translate
> > > irq to gsi for userspace.
> > 
> > I think it would be cleaner to just introduce a new sysfs node that
> > contains the gsi if a device is using one (much like the irq sysfs
> > node)?
> > 
> > Such ioctl to translate from IRQ to GSI has nothing to do with Xen, so
> > placing it in privcmd does seem quite strange to me.  I understand
> > that for passthrough we need the GSI, but such translation layer from
> > IRQ to GSI is all Linux internal, and it would be much simpler to just
> > expose the GSI in sysfs IMO.
> 
> Maybe something to add to drivers/xen/sys-hypervisor.c in Linux.
> Juergen what do you think?

Let me also add that privcmd.c is already a Linux specific interface.
Although it was born to be a Xen hypercall "proxy" in reality today we
have a few privcmd ioctls that don't translate into hypercalls. So I
don't think that adding IOCTL_PRIVCMD_GSI_FROM_IRQ would be a problem.
--8323329-2021362076-1701316589=:3533093--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 06:02:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 06:02:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644402.1005334 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8a7c-0000mq-KD; Thu, 30 Nov 2023 06:02:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644402.1005334; Thu, 30 Nov 2023 06:02: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 1r8a7c-0000mj-Gh; Thu, 30 Nov 2023 06:02:00 +0000
Received: by outflank-mailman (input) for mailman id 644402;
 Thu, 30 Nov 2023 06:01: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=4Qwl=HL=intel.com=xin3.li@srs-se1.protection.inumbo.net>)
 id 1r8a7b-0000ma-GJ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 06:01:59 +0000
Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f5f482a3-8f45-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 07:01:55 +0100 (CET)
Received: from orsmga004.jf.intel.com ([10.7.209.38])
 by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 29 Nov 2023 22:01:52 -0800
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by orsmga004.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384;
 29 Nov 2023 22:01:52 -0800
Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by
 ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34; Wed, 29 Nov 2023 22:01:52 -0800
Received: from orsmsx603.amr.corp.intel.com (10.22.229.16) by
 ORSMSX611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34; Wed, 29 Nov 2023 22:01:51 -0800
Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by
 orsmsx603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.34 via Frontend Transport; Wed, 29 Nov 2023 22:01:51 -0800
Received: from NAM04-BN8-obe.outbound.protection.outlook.com (104.47.74.40) by
 edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2507.34; Wed, 29 Nov 2023 22:01:51 -0800
Received: from SA1PR11MB6734.namprd11.prod.outlook.com (2603:10b6:806:25d::22)
 by SN7PR11MB6677.namprd11.prod.outlook.com (2603:10b6:806:26b::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 06:01:42 +0000
Received: from SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::3d98:6afd:a4b2:49e3]) by SA1PR11MB6734.namprd11.prod.outlook.com
 ([fe80::3d98:6afd:a4b2:49e3%7]) with mapi id 15.20.7046.023; Thu, 30 Nov 2023
 06:01: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: f5f482a3-8f45-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701324116; x=1732860116;
  h=from:to:cc:subject:date:message-id:references:
   in-reply-to:content-transfer-encoding:mime-version;
  bh=OQH0nvmEJSvasFIaO1fOumPkczomqch7ZkEg2gd4lN0=;
  b=LrGtIQOaEgHiZPs60nbvWewXzXADuTvz9YggPOpfTgTB0z5nIiG/1GO1
   IaVG2ZuC43owUmkuhEA8MrTJ3Q/X84dotXfAQYx6ENMJ63OMnpcbYHa28
   MRZ8rtm5Bk2+61Wj7Ur9ey27BciD88E+nnCOR3w3giK8tG7D33Cdbjjsg
   h/9KQ3J9mOo58+38h0r1x2N35y9wxKI+3ke/5HGSddNeoiUaDxojiE0zz
   6wLwg2Sixd6AiE/2eui6w/dZ9j4XPmQuOZ8m9xr3U7QJzya66/WaEUTp0
   aif3FnfyhYw36KUvAXgLbAjGR/kvSEnyUcr6FfLMBaPWha5zOrVJFaI1Q
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10909"; a="397166404"
X-IronPort-AV: E=Sophos;i="6.04,237,1695711600"; 
   d="scan'208";a="397166404"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10909"; a="892699411"
X-IronPort-AV: E=Sophos;i="6.04,237,1695711600"; 
   d="scan'208";a="892699411"
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=b2Tb+VzD5d3XP4bpgKI4pyd7iYsHLR1A8zDsDxyHeOx4U95bnWZie1c7sLQ28sSUwzpQdclwd3Bd87d1QcW/fgE7c2V0RhBGCQKue/rJsHcafzuz76Rb62grqfsr8wi256BPG18irK3Uix0V7EfoU8gNTPETtYb40WUKp6anosqH+z+0QFtbnpR678PMdnFPpJwE7fVdO/uR0Ai24UrD9VwtjBMPi97pmulbqntfeKJM27nfWN81q7FkeqaZTYlr16W3hCeQB64G/Ep7NUOYpUkCelq65Jd/FIwDeSdhUDgGBjqZUjRimD61Mz+/CqnzmvCm4a73Etjy6UGOAm2sVA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=OQH0nvmEJSvasFIaO1fOumPkczomqch7ZkEg2gd4lN0=;
 b=YEAK3RGg8VacNN+bq572Wjdg98LZ0Mz4MLHuJAU/c58MLzvdLgpitWJQAxBCGgv6Pv/eFc8hp7TXZOxQpabrSh7JbB4DghffwTdK6kF2q4v18m6WciqH1ExIlFcNGtSEkYoX+IQ8TErT7AMxuBcLY0fvtksE5yrx7AmKCbZJR6XSL2FMZj7NHMas1EWXwjZYhGMC43snc3WTnlMBgNgBWjfjBp2e+AVReIsk//EvqIKnnmIFXCzLB6/vFL1lgaZp2TtuSFgYm86rPNdKe2UNZ+Qs1AkOiaNUsuJ3VY/vS/CxWuRPtnK9SCQ/J8+B0UnFyfG8lX6tZr1Om3JQBhcHrQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
From: "Li, Xin3" <xin3.li@intel.com>
To: "Li, Xin3" <xin3.li@intel.com>, "linux-doc@vger.kernel.org"
	<linux-doc@vger.kernel.org>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "linux-edac@vger.kernel.org"
	<linux-edac@vger.kernel.org>, "linux-hyperv@vger.kernel.org"
	<linux-hyperv@vger.kernel.org>, "kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
CC: "tglx@linutronix.de" <tglx@linutronix.de>, "mingo@redhat.com"
	<mingo@redhat.com>, "bp@alien8.de" <bp@alien8.de>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>, "x86@kernel.org"
	<x86@kernel.org>, "hpa@zytor.com" <hpa@zytor.com>, "Lutomirski, Andy"
	<luto@kernel.org>, "pbonzini@redhat.com" <pbonzini@redhat.com>,
	"Christopherson,, Sean" <seanjc@google.com>, "peterz@infradead.org"
	<peterz@infradead.org>, "Gross, Jurgen" <jgross@suse.com>, "Shankar, Ravi V"
	<ravi.v.shankar@intel.com>, "mhiramat@kernel.org" <mhiramat@kernel.org>,
	"andrew.cooper3@citrix.com" <andrew.cooper3@citrix.com>,
	"jiangshanlai@gmail.com" <jiangshanlai@gmail.com>, "nik.borisov@suse.com"
	<nik.borisov@suse.com>
Subject: RE: [PATCH v12 02/37] x86/opcode: Add the WRMSRNS instruction to the
 x86 opcode map
Thread-Topic: [PATCH v12 02/37] x86/opcode: Add the WRMSRNS instruction to the
 x86 opcode map
Thread-Index: AQHZ9caNSRx22/0yzUeT4gY0IluMT7CSuCFQ
Date: Thu, 30 Nov 2023 06:01:41 +0000
Message-ID: <SA1PR11MB6734FFBF0BE0CCC7532C2505A882A@SA1PR11MB6734.namprd11.prod.outlook.com>
References: <20231003062458.23552-1-xin3.li@intel.com>
 <20231003062458.23552-3-xin3.li@intel.com>
In-Reply-To: <20231003062458.23552-3-xin3.li@intel.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=intel.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: SA1PR11MB6734:EE_|SN7PR11MB6677:EE_
x-ms-office365-filtering-correlation-id: c08f1d2b-35a9-4d61-2be6-08dbf169d32d
x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: TFRUNe31D7vVoVgVLE+Kbom2vwVKUpnUkidp9KDdYw46D5LDR6Dubx7t3YEmIhnHyGdqRDDKydcr25n6/3FdEeTC0DWoLeKlyuKugJMP4WGHdAiRtxzWLPpaToUQCm4c/FQkEYp6oXa6B+OVTNa2MujfrnBwwhPiUTC4b2rWX12FHZ3AYUl67yFJr365/imMuWOIomqMIesVXgByBcQCoReCK+UlsacWehP2eH94rlYWBmsCKf1rn+TJGTu1aCWLz89w1hc8wWOrE+jZfx84niB5QzREPnigqPMxdjBVTrY6zUzyy/BEySisDcy6KGee8md4aH/INaz7HKjkpEMSHVS9sb2/CplqZzk7r15fAWgflNvA2nm0rDzaeK0imGEdqr8iCd4Nncanv1Qyj60qNFRPJioBXHa8atYoaAwKxzodV8vt7MGtd8rMu8XIj5l14XAZHXbDwCUTnFB+oO/Xs4R5+O533q3yDxhe2sEjCd35hI0BMPLo5JkjqLb7mrYNrEc/yLtuysMRAjnrp4WMUCBjndpwcEubKwH35FBBK/7dTbSP9cRZE1z56N9OazSXjy+8vEdjBGaEGHQfssukqF84BMdaUdxuG+cCw9cxDIZFbVB5LPkRBl/9MQGbP+tu9PCvWdPfE9KwY1vLRw/GAWNiyEcn8kpJsKSumKbcglk=
x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA1PR11MB6734.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(366004)(346002)(136003)(376002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(26005)(83380400001)(6506007)(7696005)(9686003)(122000001)(5660300002)(4326008)(8676002)(52536014)(8936002)(41300700001)(4744005)(7416002)(2906002)(966005)(478600001)(316002)(110136005)(71200400001)(54906003)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(202311291699003)(86362001)(33656002)(38100700002)(82960400001)(38070700009)(55016003)(133343001);DIR:OUT;SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ajZieWlzQVVtWVNLT1JEWWIvTlBtOGw3b3ZjK3Jka0VaU081QVcxaStReDNh?=
 =?utf-8?B?Sy9SWWdPWmhESU1GZUxpTVk2Vk5NY1dQNUw5cGE1T0IwMWRhYlZBM05lUEI1?=
 =?utf-8?B?WXRBZU1XdWJhZUFDcXIrenovcDRPclp2RndXK1llUzlxdmE0dmp5WDVta2hB?=
 =?utf-8?B?SUl4Q2xYSTlMWStFMjFyU296ZXJNQnl2K3R4SDhuOU5vUkRBVXNBM01Ec2xa?=
 =?utf-8?B?Zm9xN2ZnSEMwSDRYcnpKOVhzQm1KVFFKdi9QdFJRZUhRNDRzeXA1YTFwMHZY?=
 =?utf-8?B?TU1uckxQUGtIUG1SN3duQUlFWkpWSVRoeUIrd1hvL3ZjeHdkSFJKOXpmUEN2?=
 =?utf-8?B?bk9aUVJqWWNWUDFEdmxoVXhLNGxzOXRweHJqWFlYM3FnSGErcS9FN3pkYzQx?=
 =?utf-8?B?NkhlUnNlKzNxelFoQkxIUzZPd2t1Rm5Gbkh4MHZVRlhvTWIwdGRUSzQ0ZjdT?=
 =?utf-8?B?OVNUVm5vclhnd3lDZG9mTlN2eG9rWm1XditqS3UzQ0ZJcUxDYjdtWG9iTGJx?=
 =?utf-8?B?NUZBeUFYcWxDRUxtTFlrbEp4d1NCSVJOUHVhVmUreXhBWjFZOWh3bmloOEE1?=
 =?utf-8?B?MWFQQUI4MFd2L0VNOWxJbXVPZDRKS1lESVF5STQvZ3cxU3lZRyt1a1JDTmRq?=
 =?utf-8?B?QnRNL0FCUUhsY3h2WVp1OTk0MS9ZVHAzMUZpUmk0MUMvVHJ3QUdjMFZvbnlM?=
 =?utf-8?B?Z1QrUDhNV3M3SmV2Qnk5NlZXWW5MZXhjbFlNLzl5NGFpNVlLTGdTOWlqM3Z2?=
 =?utf-8?B?Y1N1c2lGQ3I2UzlvaDJQQkIrdkZlKzBFVnJFYXQ2NGkxeWxTOXh3TTdsbmFX?=
 =?utf-8?B?QTBRYmFGcFp4SFRtTm10dVZzWCtwd2pSVUlieGJsM3BJQittVnp6NjRQQ2Rj?=
 =?utf-8?B?eSt1di9QMk9GM09PSEZKMkMvYzNUUUYvcEdQL1IydUNzT1NPOGVkZVpIYUNz?=
 =?utf-8?B?RWMzM2dJSWNEK0d2MlE1NFVuWHVoNzkxSWxmaDNYL1ZkVnBVbGhmQ2FTR0o5?=
 =?utf-8?B?MUFTUk5jTWVBUkpGWGlXa2xsSDBjVHErOGlxTjhEQWxuM0JHOCs1QStCSGRq?=
 =?utf-8?B?WWNDS1FqR2lVL05MU0c2alMrc3hLVXRCT3pUdElhVERRSGowNFNLMEtObmJ4?=
 =?utf-8?B?V3k2OTlJK0FTUmxHcy90SFVMdG5zckNqVTJXbFJFbHJKU3hlbGZWS2d6RDlK?=
 =?utf-8?B?V1FGYTBjek85OWRqaC9YWnBhanBtbm5lcTlURVc1SnFDeEJTSmEwT0hGSU44?=
 =?utf-8?B?MTNEYUFmbDczN2F3ajhyTDlRQ1VCQXVXelZmbzlRL0hsbUpad1d1eWFpWGJI?=
 =?utf-8?B?emZmaTJqRzEvUkJ6dVA4aGxpblpZS1FCRytjTWViYTk0c1UrUTc5K2JaTk9K?=
 =?utf-8?B?enZrYTFBaHREWTN2NVI2em5aNDZucjZEVFJyKzE1TnlVWFl5VFNvM2w3Sytr?=
 =?utf-8?B?bWtPcDEzOWE5SGNObkhzMEFsVlNJNnB0YWYrd1gxVnNOMHJvV3hWdEtlaHFa?=
 =?utf-8?B?OFY2eVNqSzJ0em4zSm5RenZWbFd1TEwyOEcvSVgvVSttbzVVUUZUVE1ESmIx?=
 =?utf-8?B?eTdLN215RHQ0d1RLbjNGTjNCd1N3a0VUaWEyMVNmMGp3VUlIRXpLalJDNmdn?=
 =?utf-8?B?akNncU9lem9YUi9ZS05vcmhaSjR4eFd3RE1nMEtKQnBYVlpaVEZDd1lDaTBk?=
 =?utf-8?B?Q2JJeDZCOURJdGExcXdlTHpqWmRaVUJjRXNhaHNVMzQzaEE5SVhIdlFmUHZn?=
 =?utf-8?B?TGdrV3RwQ1AzOHE2dXlHNXIwM2ovOXdUakRkRld6NWRMamVRQmlSajQ4MkxU?=
 =?utf-8?B?b2M0blBjNWQzcjFpU3kvYVFQTm5HWmpIQjE5L2h2VnZ4Mkx1RFpMWkE3NWZw?=
 =?utf-8?B?dU1lUlVCalRWb0t2ZmphRHNQTmp4VE9RYW45bXB0bEoxWmNjQmFBRXpyY1h6?=
 =?utf-8?B?dnNJM09nc25idnhHV3FzdjVRK2ljaXNBYUY5dG1nNFMzdG9ITXJvYTdwbW4w?=
 =?utf-8?B?elNCR3NvT0FoRUd6QTdYVlpBcnh5OWJlVCt0Mk1HV0hzdThZWE51UC9FTFRw?=
 =?utf-8?B?bVpoS3A3djZ3VjI3SGNWM2xaeGNqUmF6OUNSbG5sVnJPZmphaUFRc2VDOWpl?=
 =?utf-8?Q?ZvZw=3D?=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: SA1PR11MB6734.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c08f1d2b-35a9-4d61-2be6-08dbf169d32d
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 06:01:41.9607
 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ueZgCKrh2BKcoTuAHXRNZWTShdBNzYIqtxArp/3ASZC+XHP78B6JtcTYEW5b7VQssVvk8jvpKVF3Pw3Jq85GKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB6677
X-OriginatorOrg: intel.com

PiBBZGQgdGhlIG9wY29kZSB1c2VkIGJ5IFdSTVNSTlMsIHdoaWNoIGlzIHRoZSBub24tc2VyaWFs
aXppbmcgdmVyc2lvbiBvZg0KPiBXUk1TUiBhbmQgbWF5IHJlcGxhY2UgaXQgdG8gaW1wcm92ZSBw
ZXJmb3JtYW5jZSwgdG8gdGhlIHg4NiBvcGNvZGUgbWFwLg0KPiANCj4gVGVzdGVkLWJ5OiBTaGFu
IEthbmcgPHNoYW4ua2FuZ0BpbnRlbC5jb20+DQo+IFNpZ25lZC1vZmYtYnk6IFhpbiBMaSA8eGlu
My5saUBpbnRlbC5jb20+DQo+IEFja2VkLWJ5OiBNYXNhbWkgSGlyYW1hdHN1IChHb29nbGUpIDxt
aGlyYW1hdEBrZXJuZWwub3JnPg0KDQpIaSBNYXNhbWksDQoNCkJvcmlzIHByZWZlcnMgdG8gbWVy
Z2UgdGhlIGZpcnN0IDMgcGF0Y2hlcyBpbnRvIG9uZToNCmh0dHBzOi8vbG9yZS5rZXJuZWwub3Jn
L2xrbWwvMjAyMzExMDgxMjM2NDcuR0JaVXVBMzF6bnRveDBXMGd1QGZhdF9jcmF0ZS5sb2NhbC8j
dA0KDQpTbyBJJ20gdGhpbmtpbmcgY291bGQgeW91IHBsZWFzZSBhbHNvIGFjayB0aGUgb3RoZXIg
MiBwYXRjaGVzICgxc3QgYW5kIDNyZA0Kb2YgdGhpcyBwYXRjaCBzZXQpPw0KDQpUaHVzIEkgY2Fu
IGtlZXAgeW91ciBhY2tlZC1ieSDwn5iKDQoNClRoYW5rcyENCiAgICBYaW4NCg0KPiAtLS0NCj4g
IGFyY2gveDg2L2xpYi94ODYtb3Bjb2RlLW1hcC50eHQgICAgICAgfCAyICstDQo+ICB0b29scy9h
cmNoL3g4Ni9saWIveDg2LW9wY29kZS1tYXAudHh0IHwgMiArLQ0KPiAgMiBmaWxlcyBjaGFuZ2Vk
LCAyIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pDQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 06:22:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 06:22:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644406.1005343 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8aRa-0005Un-DJ; Thu, 30 Nov 2023 06:22:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644406.1005343; Thu, 30 Nov 2023 06:22: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 1r8aRa-0005Ug-Al; Thu, 30 Nov 2023 06:22:38 +0000
Received: by outflank-mailman (input) for mailman id 644406;
 Thu, 30 Nov 2023 06:22: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8aRY-0005Ua-So
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 06:22:37 +0000
Received: from NAM04-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam04on2061e.outbound.protection.outlook.com
 [2a01:111:f400:7e8c::61e])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d8729b81-8f48-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 07:22:34 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by SN7PR12MB7251.namprd12.prod.outlook.com (2603:10b6:806:2ab::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7002.27; Thu, 30 Nov
 2023 06:22:28 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 06:22: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: d8729b81-8f48-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=H+kBsk4A3d2/RRyT49OWS+jaAJIJqSwIdFSSj9DxBVI99euf3u9jgoOwHA1ksqBcxVh4mfmZx0ZnNcfQ2L1uCILQ2G1fRwhkavpkR7zOAia1+qDW2DBEvQbNNAFBvpMeJt9dF5b8ZDoIPWBBjKoO+1+WJkC9iPTw/9NJ4KdpoVd29eMFX1DQ4LPSFL4+Dr3lGEzZ0H1Ow5okj4Ve11rvkyczCAukDbsA+dFll0FOUAvCSSYLITb2fIhLBfhQcaWnFZ5mwntDob438CvGcQXtPSDIXUXfNkz5jWeF1w9W6YabZsznsrKdg/YOh5RY0KhuI01bfD/0oNQCHBYnhEi4GQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=3Fs4XBn4beRAUJ2xxC22hpTah8PuIfagUoiNU5WIeHg=;
 b=mZinRS+Q1/ZPfW7a69IYmFCvndGSxN1uoPoRsNuCWE53h4qaQdsunOVQIjT2jJpYqq/Wd7MlBk8wLxGc16//nNInrHB6DA6aG81LninN0gUUlrf2iLORgQ8+cVffC+OukRC9t8ujZoOAdpuCRGMYjbECWSBe18lbeH+QGv3jAgiSe/IuKVX322v42aVSq9D4xGqzXPxf61SX7iDv+8stOuttXJr45Gw47D+j6ybFojYYYhvJFrFZmHmCfYBVdKF3jllZD0luuq86s4eEmVuxGKBbW/hO/kVGv+bqvUWgeXERKlZvZehZonWBCTzbi9nKAWsGDILcoMkX6M8xBNLy1A==
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=3Fs4XBn4beRAUJ2xxC22hpTah8PuIfagUoiNU5WIeHg=;
 b=IkYzNmitrI/43ah3n/cNj+8ncVnHhyfIHtHfNFc4MrJuwr/pbZaJUZPCCN3RVZZKTDxz4LCrF+D0PEd2AmseOFYSLcSJZCH/PUj5n6GQhmljiJy3EvZ2VE3Rd2bCQSa+dFji/7bI6r2qrqKNtV+De61QQe8agwTDkm9SeQ0rNcs=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, "Daniel P.
 Smith" <dpsmith@apertussolutions.com>
CC: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang,
 Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Thread-Topic: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Thread-Index: AQHaHsLfq+dfGUvRWUqPIEH3O9fXrbCPyyeAgAMgFYA=
Date: Thu, 30 Nov 2023 06:22:28 +0000
Message-ID:
 <BL1PR12MB58493CC28A32E3C9B3A1767FE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-2-Jiqian.Chen@amd.com> <ZWX0U1tYooY70UJo@macbook>
In-Reply-To: <ZWX0U1tYooY70UJo@macbook>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: IA0PR12MB8351.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|SN7PR12MB7251:EE_
x-ms-office365-filtering-correlation-id: c1897859-9607-4bbe-e300-08dbf16cba33
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 D8y+cDn8JoKESwLW97oV03yqjJjOX3H9tTv3uFZdW/h3ygzInyt4LG3FjRwBtOLgX0BCu1j3Pw93Oqnj5LHuyfVJ9qJQ6zwhe22iF28UDfZJu35Uc9Pz2Z92NoX2HXj2EWeRKO6nejUsxbtKzq7pWISEJYdUoHhaJ3tJVyQD2ATjt3n0dbXePPRAnIT4aXS+7wQKf6TkWwPBhkYR6HoKAkniiTRiLyNG3LFb7XYmuEa45QyPvrdrNK4xEO3l31gvbnJyEfHF3/MTOAB+tnQsvv5ZNpMNO6eL3MDTf6xT4HKl2RQgpEi8QjeCjtsbIFjzoc3nlJDwJSRS5ZV/2aW34gNoij4TRbPG8+oFJm8MUo5kGRHQ0Eyd5a8H67YuBM0mB5btHPtQf27iVpveYzpQd6JlBLt9cQPWj9c18TnVRJcvXpH05vHQ/+H4GHeE5vmjU2GeZFtX4B97URN8a3h2J9oUXkkApTndtN3TUjGKn/wfugSyWP99tHgjXEcrSa4jO+lUV24kPDiRmxKec3KM6VtrpiSFNxEgGATiBYBLInvDXhUHuc3sPNvqq58Zcj3P8SXjpuaZVvGFALWJuLuX6Wow+F0aSvY3uas2y9JUW+Em2se2S4Zdm9e4BMCkcm/jwJCQIG4bV3sdyN6t13TWHvbobRYB9i+xE5W8o4wBs70=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(136003)(39860400002)(376002)(396003)(346002)(230922051799003)(186009)(451199024)(64100799003)(1800799012)(66446008)(110136005)(76116006)(66476007)(54906003)(64756008)(26005)(66946007)(66556008)(316002)(2906002)(52536014)(4326008)(8936002)(38070700009)(38100700002)(41300700001)(122000001)(5660300002)(33656002)(8676002)(55016003)(53546011)(83380400001)(6506007)(7696005)(478600001)(9686003)(202311291699003)(71200400001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?MThsV3RGWHh0dVM3V0Zqc0xQMVIxWTkyaW9oWFBobzJlL0k1SjZLWXVaZlo1?=
 =?utf-8?B?QTdzbk4wenMzZ2I4R0VSZ0tCc0ExQmtZcEZDemt5RllVTWd4V0U1VjZmRzB1?=
 =?utf-8?B?bHlEakhHeG1kRkNnMXU5L0lJZzcwYjVQeUkrZ1ZxNm55WkhtWEtFMW9wMVd4?=
 =?utf-8?B?dmtFMVMxb3NibzcyYWlpak92TWFnV0RuSXJuNWwwODJlVkFRVFErM1FQY2Q3?=
 =?utf-8?B?WnVQUlM4K0VENEd5akhHWFpvV0xDT2QwRkVEZjNtU3E2cTJtZEdUNGFWQUhI?=
 =?utf-8?B?WGVxb0w4M3lOWVE4dWhRTHpmOVl6c1RYa0Z3dUxUNXZHL2RZcENhVlFqd1d2?=
 =?utf-8?B?N05xdldWbHg3SVhIa1ZzUThKWTFkS3BUZUR4KzA2RWxJb0dsdWo1M2Z3SlNU?=
 =?utf-8?B?aTJ4TkVPWlpGY0cyVGhSWEFDUHNUZVlkV3lIbTg5Q2pGWlloU3hLNzhOY0pM?=
 =?utf-8?B?RWUrQXBZejVEWUY0R3dFRkNqdHcreHlUUjl1Q3hPRGRpUmZXc2VqQkhsckVr?=
 =?utf-8?B?TEhEU0orNkFJcUVIWk9mOHRrOUhacnAvb29mc3l1cExPNDVhSGw1cmN4QllC?=
 =?utf-8?B?N01QVHQ2akVEVzg5QXI1aGU2dWZKV1V0U1JUajZvY3ZKR3dIMk9LYy9VaWZK?=
 =?utf-8?B?NHhjRFZaY0RjUHhXYktiWDl5Sm5na0JBRi9SR09mZ01BRHA2WlkyUE4vU2dU?=
 =?utf-8?B?dkU1b3lKTWM0WVJNVHVwaWQ1UUNNbDZ0YUgxNUZoeEVWMEd2SDdxTEVoSUwx?=
 =?utf-8?B?L3NNcnFSR3pWNDFRWjdvOXhIeW9YQU0vbkt2dm1yaGdzaDlLR2lvUkZxUmRm?=
 =?utf-8?B?YkdjMUcwRExRMXFQUXBHbGRwVy9EYmpQRDRuY0Q5QStUWXluQU5xd3U0aWth?=
 =?utf-8?B?UXY1WDRwN2FydjluQURSemtLanFiOU85UEZkd0p6ZGUxZXVrYTBheXNpTnNt?=
 =?utf-8?B?aXhyU0VkNkVmMy9CNkltRTlLMGRoQXdzbExnNEE2L1AzeDZrUGx3TG53VXhn?=
 =?utf-8?B?MVgxdXNxbVN2bXpqQTlab2pYc3ZDSE15R0g0UGo2QXJOWFJJUE4wSnNQbzAy?=
 =?utf-8?B?VW1FRzBPL2lmSi9JdTlac0hOcGxSckhwTE1vZEZGUXNlNUxlaVlZaHpzbGo4?=
 =?utf-8?B?dk42Mkl1V3BUVmVmamZ1eVU4T0JZdnRhaFdtTXRMd1ZYbjdERDNLRG9seit3?=
 =?utf-8?B?OE9QaEJOd01RcE1xS0RJMENGZldZL2NCUzFTVFBlRTBtbThXaW50eVcrK2h3?=
 =?utf-8?B?YUVKNEtpUURCaTNsMDNVSDFmVUNhSFVaSU9DTVFRVTYxb1ZTbVFZbXdadEcy?=
 =?utf-8?B?N2F6OVBXWXFtaUpqbHRwaEtSU0VncW9jVnJHaFlMcmJKS1lQS242aUFwVHU3?=
 =?utf-8?B?bE5qYXZjYTU4WGFQRmptODZRb2R2cFJVVXBqWEp6aSs0MmJhSUJzS0VLT2w0?=
 =?utf-8?B?dVdHb1JtL2VCZ20vZnNGT3BYd21JRm9pL00xa3VwZzh0dWJVL2ZKRUllTjRm?=
 =?utf-8?B?ZE5YY2lhZUxia2lUZ2g4Vk5CUUE0NnpBbHZvSFlMN2t0NzRLRXBpUi9vNVJV?=
 =?utf-8?B?NUdHTU1OZHowWG5IdmdGUlY4WnpyVzBuQmVFbmc2d1I4aVNnSkFabEZHeUgr?=
 =?utf-8?B?Zzhad0JqeG1hQmVGWkVGSCtEL3Nlb3lJR3BpMEhHcU1oSUxrSnVzbkljdFhh?=
 =?utf-8?B?cklyWVMrUWpXekZVRlNnMWdmZlFGU0ZCSWthVzd0SWVGRlpLL3FzS1BnS2hL?=
 =?utf-8?B?VDloQW9naXREbmFoVzU4U2RIRVZ2Zm5MR2JqRCtNV01IeFl3V0p3VXBiUG5k?=
 =?utf-8?B?Q2ZvcllPblpSVTJtZmNKcml3a3ZZUnl5bmFtVEZKSFVOcGVKODIwSE1FQUc0?=
 =?utf-8?B?ZFFIMFJiRXdvNUtlTldLVzlhbGp4d0E2VEQ0RU5qNjdFdUhQZG1jeCsrUG1M?=
 =?utf-8?B?OVRoU01zVnB0U1haY1lGK1BoN2g0TzJDK1llUlM0RDVCRm80MlFFT0FaZllJ?=
 =?utf-8?B?L0trNU9kMFRqaVJGRjZ5Mk1icktTWE1VeDZUQk1waU1UN2lCSzVWQ29WbnBz?=
 =?utf-8?B?NGh4R09xYU5hQlRZblU3SXdVQVBReUczeDJ3UGttWTBtN05EcU55TlcwdlJX?=
 =?utf-8?Q?dep8=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <797F0984BF7AE14784B3B79C0BB7ECAF@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: c1897859-9607-4bbe-e300-08dbf16cba33
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 06:22:28.5438
 (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: iPttsehBmtHP+lj3uiQt6Pt9HcrtD4hDf1K5zgi2zHQgAvK6+Pbnrm3VU61dWGaPpxzPQoVZf4v2NNZkUrTN4A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB7251

SGkgUm9nZXIgYW5kIERhbmllbCBQLiBTbWl0aCwNCg0KT24gMjAyMy8xMS8yOCAyMjowOCwgUm9n
ZXIgUGF1IE1vbm7DqSB3cm90ZToNCj4gT24gRnJpLCBOb3YgMjQsIDIwMjMgYXQgMDY6NDE6MzRQ
TSArMDgwMCwgSmlxaWFuIENoZW4gd3JvdGU6DQo+PiBXaGVuIGEgZGV2aWNlIGhhcyBiZWVuIHJl
c2V0IG9uIGRvbTAgc2lkZSwgdGhlIHZwY2kgb24gWGVuDQo+PiBzaWRlIHdvbid0IGdldCBub3Rp
ZmljYXRpb24sIHNvIHRoZSBjYWNoZWQgc3RhdGUgaW4gdnBjaSBpcw0KPj4gYWxsIG91dCBvZiBk
YXRlIGNvbXBhcmUgd2l0aCB0aGUgcmVhbCBkZXZpY2Ugc3RhdGUuDQo+PiBUbyBzb2x2ZSB0aGF0
IHByb2JsZW0sIHRoaXMgcGF0Y2ggYWRkIG5ldyBoeXBlcmNhbGwgdG8gY2xlYXINCj4+IGFsbCB2
cGNpIGRldmljZSBzdGF0ZS4gQW5kIHdoZW4gcmVzZXQgZGV2aWNlIGhhcHBlbnMgb24gZG9tMA0K
Pj4gc2lkZSwgZG9tMCBjYW4gY2FsbCB0aGlzIGh5cGVyY2FsbCB0byBub3RpZnkgdnBjaS4NCj4+
DQo+PiBTaWduZWQtb2ZmLWJ5OiBKaXFpYW4gQ2hlbiA8SmlxaWFuLkNoZW5AYW1kLmNvbT4NCj4+
IFNpZ25lZC1vZmYtYnk6IEh1YW5nIFJ1aSA8cmF5Lmh1YW5nQGFtZC5jb20+DQo+PiAtLS0NCj4+
ICB4ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2FsbC5jICB8ICAxICsNCj4+ICB4ZW4vZHJpdmVycy9w
YXNzdGhyb3VnaC9wY2kuYyB8IDIxICsrKysrKysrKysrKysrKysrKysrKw0KPj4gIHhlbi9kcml2
ZXJzL3BjaS9waHlzZGV2LmMgICAgIHwgMTQgKysrKysrKysrKysrKysNCj4+ICB4ZW4vZHJpdmVy
cy92cGNpL3ZwY2kuYyAgICAgICB8ICA5ICsrKysrKysrKw0KPj4gIHhlbi9pbmNsdWRlL3B1Ymxp
Yy9waHlzZGV2LmggIHwgIDIgKysNCj4+ICB4ZW4vaW5jbHVkZS94ZW4vcGNpLmggICAgICAgICB8
ICAxICsNCj4+ICB4ZW4vaW5jbHVkZS94ZW4vdnBjaS5oICAgICAgICB8ICA2ICsrKysrKw0KPj4g
IDcgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0aW9ucygrKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS94
ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2FsbC5jIGIveGVuL2FyY2gveDg2L2h2bS9oeXBlcmNhbGwu
Yw0KPj4gaW5kZXggZWViNzNlMWFhNS4uNmFkNWI0ZDVmMSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9h
cmNoL3g4Ni9odm0vaHlwZXJjYWxsLmMNCj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHlwZXJj
YWxsLmMNCj4+IEBAIC04NCw2ICs4NCw3IEBAIGxvbmcgaHZtX3BoeXNkZXZfb3AoaW50IGNtZCwg
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpDQo+PiAgICAgIGNhc2UgUEhZU0RFVk9Q
X3BjaV9tbWNmZ19yZXNlcnZlZDoNCj4+ICAgICAgY2FzZSBQSFlTREVWT1BfcGNpX2RldmljZV9h
ZGQ6DQo+PiAgICAgIGNhc2UgUEhZU0RFVk9QX3BjaV9kZXZpY2VfcmVtb3ZlOg0KPj4gKyAgICBj
YXNlIFBIWVNERVZPUF9wY2lfZGV2aWNlX3N0YXRlX3Jlc2V0Og0KPj4gICAgICBjYXNlIFBIWVNE
RVZPUF9kYmdwX29wOg0KPj4gICAgICAgICAgaWYgKCAhaXNfaGFyZHdhcmVfZG9tYWluKGN1cnJk
KSApDQo+PiAgICAgICAgICAgICAgcmV0dXJuIC1FTk9TWVM7DQo+PiBkaWZmIC0tZ2l0IGEveGVu
L2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2ku
Yw0KPj4gaW5kZXggMDRkMDBjN2MzNy4uZjg3MTcxNTU4NSAxMDA2NDQNCj4+IC0tLSBhL3hlbi9k
cml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jDQo+PiArKysgYi94ZW4vZHJpdmVycy9wYXNzdGhyb3Vn
aC9wY2kuYw0KPj4gQEAgLTgyNCw2ICs4MjQsMjcgQEAgaW50IHBjaV9yZW1vdmVfZGV2aWNlKHUx
NiBzZWcsIHU4IGJ1cywgdTggZGV2Zm4pDQo+PiAgICAgIHJldHVybiByZXQ7DQo+PiAgfQ0KPj4g
IA0KPj4gK2ludCBwY2lfcmVzZXRfZGV2aWNlX3N0YXRlKHUxNiBzZWcsIHU4IGJ1cywgdTggZGV2
Zm4pDQo+IA0KPiBZb3UgY291bGQgdXNlIHBjaV9zYmRmX3QgaGVyZSBpbnN0ZWFkIG9mIDMgcGFy
YW1ldGVycy4NCldpbGwgY2hhbmdlIGluIG5leHQgdmVyc2lvbiwgdGhhbmsgeW91Lg0KDQo+IA0K
PiBJJ20gaG93ZXZlciB1bnN1cmUgd2hldGhlciB3ZSByZWFsbHkgbmVlZCB0aGlzIGhlbHBlciBq
dXN0IHRvIGZldGNoDQo+IHRoZSBwZGV2IGFuZCBjYWxsIHZwY2lfcmVzZXRfZGV2aWNlX3N0YXRl
KCksIEkgdGhpbmsgeW91IGNvdWxkIHBsYWNlDQo+IHRoaXMgbG9naWMgZGlyZWN0bHkgaW4gcGNp
X3BoeXNkZXZfb3AoKS4gIFVubGVzcyB0aGVyZSBhcmUgcGxhbnMgdG8NCj4gdXNlIHN1Y2ggbG9n
aWMgb3V0c2lkZSBvZiBwY2lfcGh5c2Rldl9vcCgpLg0KSWYgSSBwbGFjZSB0aGUgbG9naWMgb2Yg
cGNpX3Jlc2V0X2RldmljZV9zdGF0ZSBkaXJlY3RseSBpbiBwY2lfcGh5c2Rldl9vcC4gSSB0aGlu
ayBJIG5lZWQgdG8gZGVjbGFyZSB2cGNpX3Jlc2V0X2RldmljZV9zdGF0ZSBpbiBwY2kuaD8gSWYg
aXQgaXMgc3VpdGFibGUsIEkgd2lsbCBjaGFuZ2UgaW4gbmV4dCB2ZXJzaW9uLg0KDQo+IA0KPj4g
K3sNCj4+ICsgICAgc3RydWN0IHBjaV9kZXYgKnBkZXY7DQo+PiArICAgIGludCByZXQgPSAtRU5P
REVWOw0KPiANCj4gU29tZSBYU00gY2hlY2sgc2hvdWxkIGJlIGludHJvZHVjZWQgZnJvIHRoaXMg
b3BlcmF0aW9uLCBhcyBub25lIG9mIHRoZQ0KPiBleGlzdGluZyBvbmVzIGlzIHN1aXRhYmxlLiAg
U2VlIHhzbV9yZXNvdXJjZV91bnBsdWdfcGNpKCkgZm9yIGV4YW1wbGUuDQo+IA0KPiB4c21fcmVz
b3VyY2VfcmVzZXRfc3RhdGVfcGNpKCkgb3Igc29tZSBzdWNoIEkgd291bGQgYXNzdW1lLg0KSSBk
b24ndCBrbm93IHdoYXQgSSBzaG91bGQgZG8gaW4gWFNNIGZ1bmN0aW9uKGFzc3VtZSBpdCBpcyB4
c21fcmVzb3VyY2VfcmVzZXRfc3RhdGVfcGNpKS4NCkhpIERhbmllbCBQLiBTbWl0aCwgY291bGQg
eW91IHBsZWFzZSBnaXZlIG1lIHNvbWUgc3VnZ2VzdGlvbnM/DQpKdXN0IHRvIGNoZWNrIHRoZSBY
U01fUFJJViBhY3Rpb24/DQoNCj4gDQo+IChhZGRpbmcgdGhlIFhTTSBtYWludGFpbmVyIGZvciBm
ZWVkYmFjaykuDQo+IA0KPj4gKw0KPj4gKyAgICBwY2lkZXZzX2xvY2soKTsNCj4+ICsNCj4+ICsg
ICAgcGRldiA9IHBjaV9nZXRfcGRldihOVUxMLCBQQ0lfU0JERihzZWcsIGJ1cywgZGV2Zm4pKTsN
Cj4+ICsgICAgaWYgKCAhcGRldiApDQo+PiArICAgICAgICBnb3RvIGVycm9yOw0KPj4gKw0KPj4g
KyAgICByZXQgPSB2cGNpX3Jlc2V0X2RldmljZV9zdGF0ZShwZGV2KTsNCj4+ICsgICAgaWYgKHJl
dCkNCj4+ICsgICAgICAgIHByaW50ayhYRU5MT0dfRVJSICJQQ0kgcmVzZXQgZGV2aWNlICVwcCBz
dGF0ZSBmYWlsZWRcbiIsICZwZGV2LT5zYmRmKTsNCj4+ICsNCj4+ICtlcnJvcjoNCj4+ICsgICAg
cGNpZGV2c191bmxvY2soKTsNCj4+ICsNCj4+ICsgICAgcmV0dXJuIHJldDsNCj4+ICt9DQo+PiAr
DQo+PiAgLyogQ2FsbGVyIHNob3VsZCBob2xkIHRoZSBwY2lkZXZzX2xvY2sgKi8NCj4+ICBzdGF0
aWMgaW50IGRlYXNzaWduX2RldmljZShzdHJ1Y3QgZG9tYWluICpkLCB1aW50MTZfdCBzZWcsIHVp
bnQ4X3QgYnVzLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ4X3QgZGV2Zm4p
DQo+PiBkaWZmIC0tZ2l0IGEveGVuL2RyaXZlcnMvcGNpL3BoeXNkZXYuYyBiL3hlbi9kcml2ZXJz
L3BjaS9waHlzZGV2LmMNCj4+IGluZGV4IDQyZGIzZTZkMTMuLmNmZGI1NDU2NTQgMTAwNjQ0DQo+
PiAtLS0gYS94ZW4vZHJpdmVycy9wY2kvcGh5c2Rldi5jDQo+PiArKysgYi94ZW4vZHJpdmVycy9w
Y2kvcGh5c2Rldi5jDQo+PiBAQCAtNjcsNiArNjcsMjAgQEAgcmV0X3QgcGNpX3BoeXNkZXZfb3Ao
aW50IGNtZCwgWEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpDQo+PiAgICAgICAgICBi
cmVhazsNCj4+ICAgICAgfQ0KPj4gIA0KPj4gKyAgICBjYXNlIFBIWVNERVZPUF9wY2lfZGV2aWNl
X3N0YXRlX3Jlc2V0OiB7DQo+PiArICAgICAgICBzdHJ1Y3QgcGh5c2Rldl9wY2lfZGV2aWNlIGRl
djsNCj4+ICsNCj4+ICsgICAgICAgIGlmICggIWlzX3BjaV9wYXNzdGhyb3VnaF9lbmFibGVkKCkg
KQ0KPj4gKyAgICAgICAgICAgIHJldHVybiAtRU9QTk9UU1VQUDsNCj4+ICsNCj4+ICsgICAgICAg
IHJldCA9IC1FRkFVTFQ7DQo+PiArICAgICAgICBpZiAoIGNvcHlfZnJvbV9ndWVzdCgmZGV2LCBh
cmcsIDEpICE9IDAgKQ0KPj4gKyAgICAgICAgICAgIGJyZWFrOw0KPj4gKw0KPj4gKyAgICAgICAg
cmV0ID0gcGNpX3Jlc2V0X2RldmljZV9zdGF0ZShkZXYuc2VnLCBkZXYuYnVzLCBkZXYuZGV2Zm4p
Ow0KPj4gKyAgICAgICAgYnJlYWs7DQo+PiArICAgIH0NCj4+ICsNCj4+ICAgICAgZGVmYXVsdDoN
Cj4+ICAgICAgICAgIHJldCA9IC1FTk9TWVM7DQo+PiAgICAgICAgICBicmVhazsNCj4+IGRpZmYg
LS1naXQgYS94ZW4vZHJpdmVycy92cGNpL3ZwY2kuYyBiL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5j
DQo+PiBpbmRleCAzYmVjOWE0MTUzLi5lOWMzZWIxY2Q2IDEwMDY0NA0KPj4gLS0tIGEveGVuL2Ry
aXZlcnMvdnBjaS92cGNpLmMNCj4+ICsrKyBiL3hlbi9kcml2ZXJzL3ZwY2kvdnBjaS5jDQo+PiBA
QCAtMTAzLDYgKzEwMywxNSBAQCBpbnQgdnBjaV9hZGRfaGFuZGxlcnMoc3RydWN0IHBjaV9kZXYg
KnBkZXYpDQo+PiAgDQo+PiAgICAgIHJldHVybiByYzsNCj4+ICB9DQo+PiArDQo+PiAraW50IHZw
Y2lfcmVzZXRfZGV2aWNlX3N0YXRlKHN0cnVjdCBwY2lfZGV2ICpwZGV2KQ0KPj4gK3sNCj4+ICsg
ICAgQVNTRVJUKHBjaWRldnNfbG9ja2VkKCkpOw0KPj4gKw0KPj4gKyAgICB2cGNpX3JlbW92ZV9k
ZXZpY2UocGRldik7DQo+PiArICAgIHJldHVybiB2cGNpX2FkZF9oYW5kbGVycyhwZGV2KTsNCj4+
ICt9DQo+PiArDQo+PiAgI2VuZGlmIC8qIF9fWEVOX18gKi8NCj4+ICANCj4+ICBzdGF0aWMgaW50
IHZwY2lfcmVnaXN0ZXJfY21wKGNvbnN0IHN0cnVjdCB2cGNpX3JlZ2lzdGVyICpyMSwNCj4+IGRp
ZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvcGh5c2Rldi5oIGIveGVuL2luY2x1ZGUvcHVi
bGljL3BoeXNkZXYuaA0KPj4gaW5kZXggZjBjMGQ0NzI3Yy4uNDE1Njk0ODkwMyAxMDA2NDQNCj4+
IC0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9waHlzZGV2LmgNCj4+ICsrKyBiL3hlbi9pbmNsdWRl
L3B1YmxpYy9waHlzZGV2LmgNCj4+IEBAIC0zMDUsNiArMzA1LDggQEAgc3RydWN0IHBoeXNkZXZf
cGNpX2RldmljZSB7DQo+PiAgdHlwZWRlZiBzdHJ1Y3QgcGh5c2Rldl9wY2lfZGV2aWNlIHBoeXNk
ZXZfcGNpX2RldmljZV90Ow0KPj4gIERFRklORV9YRU5fR1VFU1RfSEFORExFKHBoeXNkZXZfcGNp
X2RldmljZV90KTsNCj4+ICANCj4+ICsjZGVmaW5lIFBIWVNERVZPUF9wY2lfZGV2aWNlX3N0YXRl
X3Jlc2V0ICAgICAgMzINCj4gDQo+IFRoaXMgbmVlZHMgc29tZSBjb21tZW50IGluIG9yZGVyIHRv
IGV4cGxhaW4gdGhlIGV4cGVjdGVkIGJlaGF2aW91ciwNCj4gYW5kIG1pZ2h0IGJlIGJldHRlciBw
bGFjZWQgYSBiaXQgdXAgYWZ0ZXIgUEhZU0RFVk9QX3JlbGVhc2VfbXNpeC4NCkkgd2lsbCBhZGQg
c29tZSBjb21tZW50IGFuZCBtb3ZlIGl0IGNsb3NlciB0byBQSFlTREVWT1BfcmVsZWFzZV9tc2l4
IGluIG5leHQgdmVyc2lvbi4gVGhhbmsgeW91Lg0KDQo+IA0KPiBUaGFua3MsIFJvZ2VyLg0KDQot
LSANCkJlc3QgcmVnYXJkcywNCkppcWlhbiBDaGVuLg0K


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 06:32:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 06:32:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644409.1005355 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8aao-0008AZ-CR; Thu, 30 Nov 2023 06:32:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644409.1005355; Thu, 30 Nov 2023 06:32: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 1r8aao-0008AS-7Y; Thu, 30 Nov 2023 06:32:10 +0000
Received: by outflank-mailman (input) for mailman id 644409;
 Thu, 30 Nov 2023 06:32: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8aam-0008AM-BJ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 06:32:08 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on20601.outbound.protection.outlook.com
 [2a01:111:f400:7eab::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e120763-8f4a-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 07:32:07 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by PH7PR12MB7869.namprd12.prod.outlook.com (2603:10b6:510:27e::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Thu, 30 Nov
 2023 06:32:01 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 06:32: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: 2e120763-8f4a-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FysdsCEBIAF8+thZtM++R0Hr/LqDYW9Tjm3YRuvzzlYbSDgGJYq6Z8TDGni5tlIGcGZW44eWshOLFqO6f14xkBljLAYOgdAsOIlwWtmBzg3n8x0tNq8id03E8B3M7w1Lih96Z49mvFiPxtOm3tAv4q1UE9R1GOT4m+q/wcL+3JoPqA9wSdkHZYm59wSzAMb4LuRcq7mUw2Mkbcp2eZvzBpZptJW25D86NJFNVjS/kE+sxS45hem4MgKi73gsc5K2/BtMbiDfZ5YcQ1T46GEcn6OYuHx8hIWIy4lxliTY/fpJWp+m/+j5O2x46UEWVW4tC67662lUXJ/Oc2OmpM/OsA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=APYI3t14YeJvsWc0EnnFBmUDiBFpb6HpHejzf1t2Zj0=;
 b=U34S9Ev4s/B/BzGQIkNOcC7lT0IMjqJU4Ws38GZq3Dwk9MgDC+2CHGszRlj6TgoG8wOv7b8bqg8Y2g4rES0pHJDVcmcjxOkrf4+d0mZvVlrbMg2MouaFiDML05XrJv4gBxg3jOgpjbRbTaBoio7sJu/MTXs4n1ibJqrGvZ1pXVEOfi8QukBXuEA7T4ILZteE+ltT3/kWeALyqr6nKahVfoSfQC/iJtClOJMzT1WiSr3pp98dwnEWXxt7l8tWXsaDd04ZprXBaGmV71HKQQzgCbKAa9HPQn0HNLalsLwjlV0KloN+wRwLyjPJ1aPv9IzUyEXoSuxHfn2mBeANfrg7Ig==
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=APYI3t14YeJvsWc0EnnFBmUDiBFpb6HpHejzf1t2Zj0=;
 b=NnfnS8oj5GCd7MWT7tTnT2k4AyZRP3/2X/Sfh5H2k4ht8RnwQ5V4o7LCbmcvT0lYVaxzHXBLD6WAAjq4MaO0JytV9dKNSUwIQ//RXqL7UtPnrhWXfi+hm8wex8LWEOXC8NpoV4mZZc9zA0W/E6l3kuzkahRvomWMYeQu/muE7Yg=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang,
 Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Thread-Topic: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Thread-Index: AQHaHsLnjKJ102tGrkSg9na/6oLNI7CPzbCAgAMmdYA=
Date: Thu, 30 Nov 2023 06:32:00 +0000
Message-ID:
 <BL1PR12MB5849A2AB56BAC75D4558F873E782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-3-Jiqian.Chen@amd.com> <ZWX2c7oQfeZxrpEF@macbook>
In-Reply-To: <ZWX2c7oQfeZxrpEF@macbook>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: IA0PR12MB8351.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|PH7PR12MB7869:EE_
x-ms-office365-filtering-correlation-id: 7904fbe4-382e-4b9d-0c29-08dbf16e0f44
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 1APW1gb7U/jwPHYBt3cX5t5TKzeMNxz4JjVv2HEMoDj+1cCYqnOgx5nsmxJdF2GWwN9yzKs4Fpi4x4DkclGPGCYS4FnEwag1MhSwx7bs0vOBMINYrKCXqMtDHMj2kiiiR5mHDH9FRGJmsO8fo2nbK34FxAtJZK8T70vGxKmHR5inmuXGSVzfER8eiHEqiEa7kKWaLoVsqVDj7ELNKDA/ackqb6ynybUIMSRYAun62YCY1Qu7XYwfuofZ7HOwfdJMkEi2mM4Pmb7V/ojDCorMr/2TQHGZl1nCoglKVYvguLDxfc8ZuIKoefNGxQYre3EkxqoV+ZPILSeVK8CuxuTKQI/TtNlSEZiTgTgvcUK0f3xB7brngBqDsnK7DXZEQg9k+qif+6XS7biES4zT98nFy+gQ08GGNtzWTLLbq6xwq50h/qlnBJkBVGAvqf76QRfAQLazIAyQOR7B+xuzt7bpMd1p5YJSERMhmMIwBmtMIgZbTeYdTnT/LW4W0YeZ4P5yhGVPQcdVjZK+sDKMx7s3kmU+uQdvBKuvxT65jUdmVyPoVVKPTEEAxhGdzGnwxu7j22E8TdGmHMvXM6/a4gN6H4flIWJP0lf2yS3QmhCLmdfDYzQ4mI9I+5JdJInLUlMa2iJjvWdj3DsqmuKrAKBsxQ==
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(376002)(366004)(39860400002)(396003)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(38100700002)(33656002)(38070700009)(122000001)(202311291699003)(41300700001)(64756008)(66446008)(316002)(66476007)(6916009)(8676002)(54906003)(8936002)(55016003)(76116006)(9686003)(7696005)(66556008)(66946007)(6506007)(53546011)(478600001)(5660300002)(71200400001)(4326008)(2906002)(52536014)(83380400001)(26005);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eXpieFZRNUtmbzNScERXS0tHbGlwelAzNGw4QkRQL2tSbmdld0ZjOEk3MnU2?=
 =?utf-8?B?VUg0VUtxN2FMay9zQ0tBYWRxNC9Tby9zR2Y2NG1xV0hFaWJOSmxabmM0cFB4?=
 =?utf-8?B?bVZ0RllDQS9tRi9iVHdhejlRMXl1WG8wWUlhTm02ZVBaWnhEV1k4cno5RnRM?=
 =?utf-8?B?UE1KUnFuVHFxejAyTkdhay9lNjRqYWNvNXRVVitjVm1CREFtL0xnY000VFNs?=
 =?utf-8?B?LytWM2NJVGdyNE1iMWt4d3o2VGRDNXVTL045U2huM1BTL2N6cWVNcWE5TVVz?=
 =?utf-8?B?VDUzSnFETk1VRk1haGE2VGY3OVM1SXg5cXdodXRqSEkrMXNvK3VZc3JwUGJF?=
 =?utf-8?B?eE5mb3RyMmFEVmJ0VHdJTWpkMkpDVDRoQ1lwdFRjUW9kVzhUeUlNTW9NbC96?=
 =?utf-8?B?eXEzdWM5SVlXMmgrb0FZckN4M0JWRFZMYk1XZFpYTmhaRVZrbzdsSUx3aDhC?=
 =?utf-8?B?bENSTGxnb2tUUG1CakRhbUdoYnJIMjNTbkFIcWhxdlRNV1l1MkIzZDRFUUJD?=
 =?utf-8?B?WUVDS05DNmZmVFl6Z2UrbTdIV1p6VUsrOUpRcG4rek1NWjZyaGxGZ3dtU3Jx?=
 =?utf-8?B?V1lEb2YxYk5Jak9IVVVOK1Focmc5L256b1RvYnlVWkN0SjE0WEp6cU1TT2Uw?=
 =?utf-8?B?VnlyNTg3UXgwVXdJd3J5MHREbC9CbkV4VVJUeUg3cWpzSjk5V0Rrb1dGVFdB?=
 =?utf-8?B?dWZCTy8wWUlYQVdtWTl1bzd2NXlnMmIxYnZFOFlmMU90a0EzSjFndnVhYzhG?=
 =?utf-8?B?clRadkw1WG13VlprTWhDYm9yREl5MVZ4UlBIaGVPSDJzS2t3L2FIbVdqVnZU?=
 =?utf-8?B?K0VlM3Nqd1dVT2M3eXE3U2NRVTdvdGk1ck5oNi9pdjF2UVlQMzBBQk56QVgz?=
 =?utf-8?B?UkY1UkdlMDdDL1VFb0JlZkJBVlU0MjhFalluM09oRE1JcUs5cVN1THpLN2Vt?=
 =?utf-8?B?SjBqMVdCVEpXVU1KZWJ6U3ZGS3hwV3dRV0ZwQzNyanE0NkhRTGZoM0NtU0xW?=
 =?utf-8?B?eCtzeVdkdTR0VzRwbVNhays3dExiNTMxNVl6Mlg1UGdyajBxTmJLOTIyS0to?=
 =?utf-8?B?eXFtRW5yMSt6djVsNlpnbFpwVU5Dc21SRlhrcVRGZ05QUlYrVFl5YlJUckp3?=
 =?utf-8?B?N0FuZGJ2NjAxL05PZjdSQ0VRZDVPdWpkV2pGUGdlZS9IcmNIMFRGSnMwRTE1?=
 =?utf-8?B?TjdjLzNndVNsVDBZc3J0TGR0K0daTkxGeUNyMlRSTHAxNkFhTmNDNS9XV3dh?=
 =?utf-8?B?bE5CYnE5WjdMRmJ1bmFaWktUNmxmbzNVNVV2a3QwSXNVRitNZUxQbldrREJm?=
 =?utf-8?B?eldpQW9QMnlwdDlpNXpzQ1RTUGpPYXBqRHRVZWlHWWYzR2hOSW9XSHR1Qm9z?=
 =?utf-8?B?ZzdmNlB4cDZtTHVGVE80MDJWMlBCMFVVcFVvWXhnOWNXUXZQa3QzdHc4QTJ0?=
 =?utf-8?B?d2NkUUtlYnlaSnJPTlJYcENXTjV2WDAzVThvamRyTjJZbVVibXhSZzNIY0V3?=
 =?utf-8?B?d29Vc2hjZms1RkNMVVNWcUtQNGlNQm5RWnhpTEpkbEsyOGJGUjcxVVduZmt4?=
 =?utf-8?B?NFV6L2FZRXVyTE1TR1hzWVBpbWJZNlNtWmwvQlYrajNEQURpTWhyTWN3ZFFx?=
 =?utf-8?B?aXQydHNiTzR5T1hiOEpFcGtBUEJYS3oyalIySmozcmcxUTQvMi80RDl4b3ZN?=
 =?utf-8?B?MmpaSXNCSWVOQUtMWUwzSlovYkJRQkI1U3U4RGs3QWwyZ3JEVDliSFNQeWdo?=
 =?utf-8?B?NjlPVFFlQTdjMWY0WHZTYmtiZ3dyY0NKejFtWFlTR2dGK3ZRWG1FbDAvTi92?=
 =?utf-8?B?R1pJNm1vNWlkd1JaQ0Zrd1VtU3RhUUpFd1NFOUw4Y1pEcDBxVmVHcjF0NzFH?=
 =?utf-8?B?NnJNN1pGUUU1TW5GOU5CTk5yRW5xZU04N0ZocmRnTWZ5UEFXdmN2ZUxNTC80?=
 =?utf-8?B?ajBjWXp6YzhjaG9zWUkrNHQwSkhKMDVwdVJnQVR4MmtyUkkwRkRLTjFCa3ly?=
 =?utf-8?B?cTRqWUdQL3M5MGJPaG16QlRjbXQrWHREWlpCSVNtS1pKdEhLS2wzVi9xTjI5?=
 =?utf-8?B?WWpzbnlNZi8vMEVEdGxTRGdyZURJN0xDVzlJQlBENWtjcEg1c0NvNEIvb3lH?=
 =?utf-8?Q?4j8c=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <42BF8566F0CA3441B934FC9D88CC92A8@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 7904fbe4-382e-4b9d-0c29-08dbf16e0f44
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 06:32:00.7674
 (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: CEPcLFu3kDNboyb9nCLqDzyIfjUGQ9ZY36Wi1uc6WFmrEvuqdf8gQwjROu+bL63t195DyGssPbQqXGXFiE3KTw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB7869

DQpPbiAyMDIzLzExLzI4IDIyOjE3LCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBGcmks
IE5vdiAyNCwgMjAyMyBhdCAwNjo0MTozNVBNICswODAwLCBKaXFpYW4gQ2hlbiB3cm90ZToNCj4+
IElmIHdlIHJ1biBYZW4gd2l0aCBQVkggZG9tMCBhbmQgaHZtIGRvbVUsIGh2bSB3aWxsIG1hcCBh
IHBpcnEgZm9yDQo+PiBhIHBhc3N0aHJvdWdoIGRldmljZSBieSB1c2luZyBnc2ksIHNlZSB4ZW5f
cHRfcmVhbGl6ZS0+eGNfcGh5c2Rldl9tYXBfcGlycQ0KPj4gYW5kIHBjaV9hZGRfZG1fZG9uZS0+
eGNfcGh5c2Rldl9tYXBfcGlycS4gVGhlbiB4Y19waHlzZGV2X21hcF9waXJxIHdpbGwNCj4+IGNh
bGwgaW50byBYZW4sIGJ1dCBpbiBodm1fcGh5c2Rldl9vcCwgUEhZU0RFVk9QX21hcF9waXJxIGlz
IG5vdCBhbGxvd2VkDQo+PiBiZWNhdXNlIGN1cnJkIGlzIFBWSCBkb20wIGFuZCBQVkggaGFzIG5v
IFg4Nl9FTVVfVVNFX1BJUlEgZmxhZywgaXQgd2lsbA0KPj4gZmFpbCBhdCBoYXNfcGlycSBjaGVj
ay4NCj4+DQo+PiBTbywgSSB0aGluayB3ZSBtYXkgbmVlZCB0byBhbGxvdyBQSFlTREVWT1BfbWFw
X3BpcnEgd2hlbiBjdXJyZCBpcyBkb20wIChhdA0KPiANCj4gQW5kIFBIWVNERVZPUF91bm1hcF9w
aXJxIGFsc28/DQpZZXMsIGluIHRoZSBmYWlsZWQgcGF0aCwgUEhZU0RFVk9QX3VubWFwX3BpcnEg
d2lsbCBiZSBjYWxsZWQuIEkgd2lsbCBhZGQgc29tZSBkZXNjcmlwdGlvbnMgYWJvdXQgaXQgaW50
byB0aGUgY29tbWl0IG1lc3NhZ2UuDQoNCj4gDQo+PiBwcmVzZW50IGRvbTAgaXMgUFZIKS4NCj4g
DQo+IElNTyBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8gaW1wbGVtZW50IGEgbmV3IHNldCBvZiBETU9Q
IGh5cGVyY2FsbHMgdGhhdA0KPiBoYW5kbGUgdGhlIHNldHVwIG9mIGludGVycnVwdHMgZnJvbSBw
aHlzaWNhbCBkZXZpY2VzIHRoYXQgYXJlIGFzc2lnbmVkDQo+IHRvIGEgZ3Vlc3QuICBUaGF0IHNo
b3VsZCBhbGxvdyB1cyB0byBnZXQgcmlkIG9mIHRoZSBhd2t3YXJkIFBIWVNERVZPUA0KPiArIFhF
Tl9ET01DVExfeyx1bn1iaW5kX3B0X2lycSBoeXBlcmNhbGwgaW50ZXJmYWNlLCB3aGljaCBjdXJy
ZW50bHkNCj4gcHJldmVudHMgUUVNVSBmcm9tIGJlaW5nIGh5cGVydmlzb3IgdmVyc2lvbiBhZ25v
c3RpYyAoc2luY2UgdGhlIGRvbWN0bA0KPiBpbnRlcmZhY2UgaXMgbm90IHN0YWJsZSkuDQo+IA0K
PiBJIHVuZGVyc3RhbmQgdGhpcyBtaWdodCBiZSB0b28gbXVjaCB0byBhc2sgZm9yLCBidXQgc29t
ZXRoaW5nIHRvIHRha2UNCj4gaW50byBhY2NvdW50Lg0KWWVzLCB0aGF0IHdpbGwgYmUgYSBjb21w
bGV4IHByb2plY3QuIEkgdGhpbmsgY3VycmVudCBjaGFuZ2UgY2FuIG1lZXQgdGhlIG5lZWRzLiBX
ZSBjYW4gdGFrZSBETU9QIGludG8gYWNjb3VudCBpbiB0aGUgZnV0dXJlLiBUaGFuayB5b3UuDQoN
Cj4gDQo+IFRoYW5rcywgUm9nZXIuDQoNCi0tIA0KQmVzdCByZWdhcmRzLA0KSmlxaWFuIENoZW4u
DQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 06:44:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 06:44:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644412.1005364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8amX-0002Vm-DL; Thu, 30 Nov 2023 06:44:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644412.1005364; Thu, 30 Nov 2023 06:44: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 1r8amX-0002Vf-A8; Thu, 30 Nov 2023 06:44:17 +0000
Received: by outflank-mailman (input) for mailman id 644412;
 Thu, 30 Nov 2023 06:44: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8amW-0002VY-DL
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 06:44:16 +0000
Received: from NAM12-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam12on20600.outbound.protection.outlook.com
 [2a01:111:f400:fe5b::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dfc58eca-8f4b-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 07:44:14 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by DS0PR12MB7874.namprd12.prod.outlook.com (2603:10b6:8:141::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Thu, 30 Nov
 2023 06:44:08 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 06:44: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: dfc58eca-8f4b-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=KnIP/Gi26Nrwv1qNrx84hAZs29w0sd0i+JdeFvVFYXFwzNY3daVYVDTm5O1LL2GLj3rzvC4LuDUbUBuL/KxAyDboCYDDvv3etE9lWvgpo82hLK+SzmboLcOTOp9WJhrtMloD4vKs3leuLKm0sjbbw3Fvi1H335WkGDBeeXefVx9D46nam9fubYoDKdWXLHCCkYN6YX4uzhFIGM+8vta8A2YCaYssKZUixoEEr8mlSFRuWzdgZQ3K1wx+3Z3/34eeGtn6+/vE2J33nqLGCEymomF+RO2AwTr83b4qY+8Jd5r6XxvZivrd70rJ5sDQoI4v77rv9zM2gppb9FPpfka+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=UlZF+jGCmRkN4zsxWcBMVXQQdD3ujz4au5mFuhMnm+c=;
 b=KvIL8QtL0qrzXEZCVrhbXtEP5PJca8BnhPVOesQ1fJ7VMXRTR8LefHm4MbW8ZAqbvAZtcH8QWfu2Fgem2zjFzzBrf6S+4sBO/gPKohbErJ8m5Zt/b8Kb6ydZw/lx3nLSwtrycpFomKrXkgsNmNBmMIO2+XnwuUizkbxMAq5BPW8oTWvcqe963+Jal3NW3bg4ZgxOFYnCDtmA77IPl817dPYgtkfaIZBZkbVF3hq58RwQYhUZ286gNY6L2IQIPFY6q2NM2nEn+1tGcwLLtBIglFzuoA8PshZ9oCDK8453cMasPkRGXIWf7IcL1NO1lK6dRjBA/dxZHUyqTlwSYaq51A==
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=UlZF+jGCmRkN4zsxWcBMVXQQdD3ujz4au5mFuhMnm+c=;
 b=TH0J6FdmDLOJH99lnOIeJNZu2lkrBPo/+XzWS8fzhK1CfziUAK8+ywGCDulrxredCnn/WOB8bV+JRpHUN13I7nZ2A3UqQhFnT/GESM+3mDBMnEVl/XG4V+d4OtwaPSIqtOya95u5KcYNIG6qCU54nmh9uCWO/07JaQ0w8z3gXXw=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang,
 Julia" <Julia.Zhang@amd.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Thread-Topic: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Thread-Index: AQHaHsLnjKJ102tGrkSg9na/6oLNI7CP3bYAgAMYyIA=
Date: Thu, 30 Nov 2023 06:44:08 +0000
Message-ID:
 <BL1PR12MB5849B37472F195417B301A1EE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-3-Jiqian.Chen@amd.com>
 <fe8ee91c-7272-4cb9-b7a6-cb6ec7945bc1@suse.com>
In-Reply-To: <fe8ee91c-7272-4cb9-b7a6-cb6ec7945bc1@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: IA0PR12MB8351.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|DS0PR12MB7874:EE_
x-ms-office365-filtering-correlation-id: 39027796-0b0b-4588-dddf-08dbf16fc103
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 g58n1HAf8TwemRB2jF86EIl5197iTNlB3YIC+IDJM32hIaQCdjOjSjT8eN8gqxb7L/1mpk96V/jt6CRKmms7ijdpcxeIKRbTlwEUr28ZaNlKT36C08m5ONL3l6ICeXKmDIIDD9VeFxferPuPyImK3VctcnNDTBXwf1egA+vJoHyyV+JNt6CbEL6guEh70JBTC8wT8W4aoQKAWdMiOwB9Pz5ZW7z/K/tzhU7GPI+yEpisQu9Lau6K12kU59YjSu5zrbIQ90E47by2H7XHrSQ3w6Jl3+KkJ3lZzS02jlnhog2TiKGyLxGkbKwl5GSMxS0hp3PY5LIeWvBFwMUCSVzm5UFyyqWXpdA52V6F+z79MSp2WhJZqxYQGfcSg6F00N0s8Ojo3SLAe1MOgfTmXdQ6s/xCVy0Mf2vV7VbbZ/h7035fUZ9MZE3BFUvgdpWGscXzRdHRXKACVKeWh8vjbpmS5V73pDCJACGh9RbjO7mKZcGJ+2wXqEemXDGNrOkBP45nzgJs7baCiPcvI+Np8S9KDRcGIpzfzeYLQ/VWbx0QNvzgficpD+NwWkYA4k57tO5ciwEOAyu35uawPoGoXGeG17b0FAcGpF6q6F70+p5f3cWr2I4Wine0zcfO9PGzvvDZ9kzMDFRXtIUp49hVaAJ0yQ5Vv8RuYNVhTe+EPTfTLWAZrt7BMc8SoqSizNPSwdy9
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(136003)(396003)(366004)(39860400002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(55016003)(38100700002)(202311291699003)(6916009)(122000001)(83380400001)(8936002)(52536014)(2906002)(4326008)(8676002)(5660300002)(316002)(76116006)(54906003)(64756008)(66446008)(66946007)(66556008)(66476007)(41300700001)(4744005)(33656002)(53546011)(7696005)(6506007)(71200400001)(478600001)(9686003)(26005)(38070700009)(340984004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?THFjbzlBY2lHSWR0eGRsbHVXa282S3AybmlaVFgwWmRaamV0Z1lUY1NKUFc2?=
 =?utf-8?B?dENRamo0WDlJY2NMUlJ0S2t2aXA4QXBlanpTT2Z2c0thc0NpdmhnaFVuRzky?=
 =?utf-8?B?eVZ1RVRhVDBXdkxwQ2o3aDdxZTk2V2NQK2N3dnNyZnVPV0pGd2JNUzE3ckZy?=
 =?utf-8?B?TGNVNkYzbGtPNE9FMzZHVDlQcVc4YkpROGVRZG5NcDRMeXdYZkMxSkZtclRn?=
 =?utf-8?B?Smw1Ymg5SUEyZ25xelkwV09JTFdQNEdyUjBwT3ROTGFoakkxbGpRcE1zV2ZZ?=
 =?utf-8?B?YkZ1My9lTXJSc1RPUVdxR2NTT3BRQWJCQW1vbVRUUWhISkE5S1BKUkFEMkNI?=
 =?utf-8?B?czQ1YUt3MlFva1cvcXdaZVBJV1kwUXNlV0k1cGRndmZERVpvakpFWVg2OWFt?=
 =?utf-8?B?RnNxQW10Q2Ywd01kZjgxUDRrZWtGejVJS2ZmVE4yNHJwTFRIdXZOUyt1TnFK?=
 =?utf-8?B?eFJYZmZBRURNMVBSS1dOZVdndzI1cE1CWWwxdWNLN3VBclZUUTI5eTQ0RHBE?=
 =?utf-8?B?NW9MeWE5Z2o2eHVLMCt3dGFkdElQTUhRQm9rcXlaYTNxVkF1bmdhNVR1WExL?=
 =?utf-8?B?bkJ1TzMzb2h5cW55clZQWEwxTXdQVnUvMEE3WEo5WW4wODZXbWdWRFlNUUJi?=
 =?utf-8?B?WG00TFZ6N3ErVmRtL0VuTlp2c1BTUEFuTmVPWFFSWVhJdzJPcU1FN3E2Wm40?=
 =?utf-8?B?aFEzOGxXRkpzRnIwTTczVmNEYmkrOStNelMvYk95cEN5Y0RDL241TlNROTg1?=
 =?utf-8?B?bHora1BQWjRRYi9oUWtWNXJLSU9DcjZEU2ZMQTFNbHN1cDkxY1VLSlVtSzMz?=
 =?utf-8?B?MVRGZDYwSVcvWjdYNWZ5MEd2QjlsUURTTkVpZHVOak4wMmlrYkovTDY5ZU04?=
 =?utf-8?B?VFdvOE1lRW9PT3F0MlBnQ3hRL0ZiSVluMTVud0ljS3hmdHdNaHZjdkxHQ0tk?=
 =?utf-8?B?bnNZcGZNZlBLbG5SV3JlZU5aL3FRd3JJMWhITGRxU0IwTklUdTBMdlQzUnZu?=
 =?utf-8?B?U3AycUl1MnR2RkE5TzdEWTZvNCtsZWV6Vmlrb09tbDZjWlNBR09tUHZuRW9n?=
 =?utf-8?B?RVcyRElwc1dYd1pjNEZ1YjU3endvY2lVR1FNSDVDY21PMGw5U0w3NlJSaksv?=
 =?utf-8?B?b25QVVBvSEpiR2U3VE81cE5zVFhHdG9jSTF2UnpMS0ozc0grUG1WbTYyNVI5?=
 =?utf-8?B?WFI4VU9Qcy9NTHE1WlFEbVFxbXRaRCtPZzFoVncxMGVxZjdWMisrVUhyZy9l?=
 =?utf-8?B?UDBheXIzeHdaYXIvb2xGRVJ5NzRUd0FydHdzUys4WTI5VmVCSnZPSTNpQzBK?=
 =?utf-8?B?SEZEeEkyeUI4ZVpqZjFVbkZQbFVzWnViV1hpODM0cWhxSFBOQlR6NWlqNDZ5?=
 =?utf-8?B?ZzJPdFI3ZUFkU1NHdTd3cE1nWjh0Z2UweWVNdDdiTEpKTnR3Y29ZVGo2blVI?=
 =?utf-8?B?YVBzTVJ1bjEyakJuY3F6OGJvNUFXbUJSOUxXTzM2Q3cxQ3p1bXZ3akY5elN0?=
 =?utf-8?B?NkJPREFrS3FyUC8wRThkTVRITGtEaGlzai96RkxoQWVvZk9jSjV6MlNQOU50?=
 =?utf-8?B?L0lXZEkvSkp0QktBVG9JVDBaTjA4R0RHUnZoTStpbHZ2cFIvbHEzemlKTjRk?=
 =?utf-8?B?SjJETEdLL0ZEVGJObDRsVVc1ZitMbFZEdDBhdkJaSjAyRWdVakZnbW5DUDN6?=
 =?utf-8?B?cnJtODB0RjhzRHF6MHNuSXdoTW9tOTJqOERPQ1hvRHJubTNJeHhCcEJUWGEw?=
 =?utf-8?B?a3FtK2pJajBnS2J2UFVrNlVtRkZ2Y3RUaTA3ZTFUU29vc05VSkdiRko2alhr?=
 =?utf-8?B?ZDBVdTVybzdDK0FoL1N1dmowdzBKeVg5MmRwTTBwQkVNLzllOC93RnpDTlVa?=
 =?utf-8?B?T1hpVmZsRHllSGcwbEZQT0pqKy9abFh6bDB4bHBoY2d3VDFSWG9VeHdsY0Mz?=
 =?utf-8?B?SFNCbFpxOUhBVVdyZGxjcGN6by9mWVRjcWpHb0NJS2ZIeko4ZHF0eWh1MWZB?=
 =?utf-8?B?NDlydjdKVXkzQ3FpdzhPb2F6Ri9mamJvT1V0Z0JVR2xwY0ZSN1pUYTVtdmdC?=
 =?utf-8?B?MEpFbVFlMkFqVE95L3B5QmdwVHFPL05Tb1huQjNzcFdqNlJjZ2luVGNmemV0?=
 =?utf-8?Q?KnII=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <17C23EA9D5A60C4F91B4D90611B8C04C@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 39027796-0b0b-4588-dddf-08dbf16fc103
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 06:44:08.4561
 (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: q5aIDDS7WtEpAvrvU9gQ8wGe4DO1OqKQrWN6GVF565+kI4hUrAsxqA8EpbHDOaHavwCmF1wcSLf4W9V3txuw7w==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7874

DQpPbiAyMDIzLzExLzI4IDIzOjE0LCBKYW4gQmV1bGljaCB3cm90ZToNCj4gT24gMjQuMTEuMjAy
MyAxMTo0MSwgSmlxaWFuIENoZW4gd3JvdGU6DQo+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h5
cGVyY2FsbC5jDQo+PiArKysgYi94ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2FsbC5jDQo+PiBAQCAt
NzQsNiArNzQsOCBAQCBsb25nIGh2bV9waHlzZGV2X29wKGludCBjbWQsIFhFTl9HVUVTVF9IQU5E
TEVfUEFSQU0odm9pZCkgYXJnKQ0KPj4gICAgICB7DQo+PiAgICAgIGNhc2UgUEhZU0RFVk9QX21h
cF9waXJxOg0KPj4gICAgICBjYXNlIFBIWVNERVZPUF91bm1hcF9waXJxOg0KPj4gKyAgICAgICAg
aWYgKGlzX2hhcmR3YXJlX2RvbWFpbihjdXJyZCkpDQo+PiArICAgICAgICAgICAgYnJlYWs7DQo+
PiAgICAgIGNhc2UgUEhZU0RFVk9QX2VvaToNCj4+ICAgICAgY2FzZSBQSFlTREVWT1BfaXJxX3N0
YXR1c19xdWVyeToNCj4+ICAgICAgY2FzZSBQSFlTREVWT1BfZ2V0X2ZyZWVfcGlycToNCj4gDQo+
IElmIHlvdSB3b3VsZG4ndCBnbyB0aGUgcm91dGUgc3VnZ2VzdGVkIGJ5IFJvZ2VyLCBJIHRoaW5r
IHlvdSB3aWxsIG5lZWQNCj4gdG8gZGVueSBzZWxmLW1hcHBpbmcgcmVxdWVzdHMgaGVyZS4NCkRv
IHlvdSBtZWFuIGJlbG93Pw0KaWYgKGFyZy5kb21pZCA9PSBET01JRF9TRUxGKQ0KCXJldHVybjsN
Cg0KPiANCj4gQWxzbyBub3RlIHRoYXQgYm90aCBoZXJlIGFuZCBpbiBwYXRjaCAxIHlvdSB3aWxs
IHdhbnQgdG8gYWRqdXN0IGEgbnVtYmVyDQo+IG9mIHN0eWxlIHZpb2xhdGlvbnMuDQpDb3VsZCB5
b3UgcGxlYXNlIGRlc2NyaXB0IGluIGRldGFpbD8gVGhpcyB3aWxsIGdyZWF0bHkgYXNzaXN0IG1l
IGluIG1ha2luZyBtb2RpZmljYXRpb25zIGluIHRoZSBuZXh0IHZlcnNpb24uIFRoYW5rIHlvdSEN
Cg0KPiANCj4gSmFuDQoNCi0tIA0KQmVzdCByZWdhcmRzLA0KSmlxaWFuIENoZW4uDQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 06:53:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 06:53:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644416.1005374 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8avZ-0005Pw-Bc; Thu, 30 Nov 2023 06:53:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644416.1005374; Thu, 30 Nov 2023 06: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 1r8avZ-0005Pp-8j; Thu, 30 Nov 2023 06:53:37 +0000
Received: by outflank-mailman (input) for mailman id 644416;
 Thu, 30 Nov 2023 06:53: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8avX-0005Pj-QC
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 06:53:35 +0000
Received: from NAM11-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam11on20600.outbound.protection.outlook.com
 [2a01:111:f400:7eae::600])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2db47c63-8f4d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 07:53:34 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by DS0PR12MB7631.namprd12.prod.outlook.com (2603:10b6:8:11e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Thu, 30 Nov
 2023 06:53:31 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 06:53: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: 2db47c63-8f4d-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=bIcyoE3EWVgD3WEtNNkfqkiOMNwbjSkNz+AyV6khZJpER0U0e34aE8yNEY21uDitDbj44bBGb6+ebGZFGsax6p+LCdMWSAE3WkJjdtEvsWAeFUMkGq5oTTpYC0i8Xr3/QgjXcwUSRDN4MdWPd9uu3kojrFBHcsjRFky3iNYCkCt8HY5dKtWu+0vmTxurH+2K/QKKZvCc/y2nN297g5WgPSGOikoGYokMqFeYtHqjfZUL3JxEwJzCs8wHNn0pfsWJ8NeTgqZ6IYtMSzZpxvNtk9aHOfSYubKPIH5nVJBeXOw7bIx1KkTH67IqMAU5JJZszmKs7gizGD4Ryw/KxaaN9w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EezSsxZ4tkCfJItiT+9LHeMa823D64eMgN+lr9hpYv8=;
 b=RWXBGMqZjxjiPjGfHGhA98NfQJpu2QF25cvnF+ykB7YLBLlz7skmYQwpjStdRGgP2GLjm54+j73W7Bej0UonlxK6T5pajsvOeLyi7STOMqEii/uyrH3C/6iPDSzsZiwE8biwHArvl2EUhN3hH7zEWrqSBmDXIWR4ZgWppB2HYk/5mMYGEX3jgRlgNEUCplh96hDkergdSVA8BP15ltGufGLJdfFwjyqiIKWd5KTLZi/4wZoqWisG7mItQulyEIl8GBBoiCnrA478qbe0ImlNRjvAv65p1w7q6aH2TemrHFiB4MNSJ2YoKeuVLT0P+53rcDAk729j2ZyJQUknCtDxhA==
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=EezSsxZ4tkCfJItiT+9LHeMa823D64eMgN+lr9hpYv8=;
 b=nAyQRkU9WSjDbVjEJ3CA9QSwCQK7Dm94Nt6GmS5gRbs0dSnpTiGyvxmVyJ0EkY7LgcePxRp4m6WkNw0sMx+/LTr4ygMi3pULP0oLOqCBUyPQgpDhckTr/3ZN1DrFW5cPXE1VEfpSJkLjPaHSsn5uooXznSa9gvnNMdJuazdNM8w=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang,
 Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
Thread-Topic: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
Thread-Index: AQHaHsLpM7vOINXdREip1dGZpT1r3bCPz92AgAMqIAA=
Date: Thu, 30 Nov 2023 06:53:30 +0000
Message-ID:
 <BL1PR12MB58499E9DC9BF40A1BD66A253E782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-4-Jiqian.Chen@amd.com> <ZWX4R9UEE6oXiqaz@macbook>
In-Reply-To: <ZWX4R9UEE6oXiqaz@macbook>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: IA0PR12MB8351.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|DS0PR12MB7631:EE_
x-ms-office365-filtering-correlation-id: 93a14863-ec10-440d-4618-08dbf171102f
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 6Z6oeoICQEycZUYhWnNgtf1cGdkQIfkS5Qnoaqj58oHB6YgV3lBT2mBskhd4xQ1gy27IuB2Cq391NKtbOk3YH7X9xMsWeHFv0zH47v1KN530dUBOJO/0PzCRfwWRKPdvplWqCUi5+8FmPIFcDX81SOty8xGscrY+x9mJiS4ihccI40UfqUBXEmURVv404FY6guv0XiBCqMxHWwhmHAtF09emCdad0kACugyb+qkQv+RyVTB4GDP3NAtZpIcbSz7Jh5OoQSyfQLpETZHMndnOr2TxpYM9kJpW/rk6DYAvnW6uMr/tCYS6TsS+yjHv0MF1B7W4jSKtyL+ZbchDiBPMJRAroBFW2Dl4wK/TMrqLBCe0t96MnRLNaMEnK2jJ2mXT9PzYNZUUDz2F0/AHxnzXoKQ75e75CwtFr9mNzBA/s+pgtulOTb9E7l22q80/wCl7FgeW1UDZoczPq3kbsUnP2Pck0+SUEM4PdKIsdt5Wt8Ae7+4SSaomghxZJeRt+jMMPEFj5uDCm6pmLFSxaOGc/9QPs/ZojtVHegY1qzHMvXcwuXEFaHCZtARx+5XTvXrreNB8Q0WU5X7FusB+kvs3z9W3NTQqROQS2ZSUGwKGcB7FWAY8Tl5/tSQLmT+xtWbfEsRYjnqLyJk3dQVu8u5qw612rb3466gk/wewGMGmj9g=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(39860400002)(346002)(376002)(366004)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(122000001)(478600001)(9686003)(6506007)(26005)(7696005)(53546011)(71200400001)(2906002)(5660300002)(66946007)(54906003)(66556008)(66446008)(76116006)(41300700001)(64756008)(6916009)(66476007)(8676002)(8936002)(4326008)(316002)(52536014)(38100700002)(38070700009)(33656002)(202311291699003)(55016003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?dWZZL1pscTJaQXY5eDUxc2loR09GbnEyNHJ1cTRmVVJkTkxuVm1HR1B5bzZk?=
 =?utf-8?B?WFE5aC9yTHl6TC9VTWovM3dLaExCaVIvSjVFSnFCUnExM3k5RlRkMTMwaHZR?=
 =?utf-8?B?aTlnMitCVTlQQVpybE5yM25BRktTbkRlMUFwT01UZFptaWkzL1Z6b2MxNENm?=
 =?utf-8?B?bnl2cjEzMWM1YVdsYk9VbGpTUXB1OEN1RTZEb2d6dy9yakIvd05BL2N2NDMw?=
 =?utf-8?B?Z3FVNnlNVWprUTJ0T0gvT1lJbnNVZmZPNXU4eWxXNVN4ejA2RkdPRFVYQzZE?=
 =?utf-8?B?M0t5bCs4bkYvbGJqT2owTk5kQ1MvV3htNzJwb3BLclEzUXVlb1VNclNEa2pC?=
 =?utf-8?B?dXdNdnh5ZlRoNXpoT1BhVkc3VXk4SUdnbit6R1RtSC94Zzk2RUJsY0RQZ0Mx?=
 =?utf-8?B?cVZ5b2Z1dGpQSDJ4NXlVNUc3dVppVFc4R1dSZzlRaTIvWGEwNlE1SUpyNFlH?=
 =?utf-8?B?Vmt0NHF4dUVSalFMWTBYVmlYWGttSHR0Vlc3cVFRaUkrN3ZFdFREbU9jT0Qw?=
 =?utf-8?B?YUVsbnltTW5JNTFUWFB5ZHZ2YW43TG9QVTJDR0UvYXVGWitDKzFIZm82TGVt?=
 =?utf-8?B?Z0k5WUJFbDMwM1lURk12WXhnenlheWJ6NHowb3NrV2x1cU5XMkhzVDRFbXU2?=
 =?utf-8?B?MlpTZzlXMmRTaC9iQVBHR3ovNlRkbllsWjBUV2JsQ2EwSXRkN1luTG9lMmNa?=
 =?utf-8?B?VVVzSFZMbEV1Mk9IYTBIVHFpWTRBaEtjNmtMbjZ2NSthSWlzWnU1NEVRa3ZK?=
 =?utf-8?B?eGxrdTdkbXcrWlBTMmd0UXBWbTN2bmdHV1RycXRNenRVcGlsL2lOUk1sSWdo?=
 =?utf-8?B?bHVITFh6YWcxbkJrc0o2OWljVThEQVRTOWgybi9wRndoTTJYb2ZVdVMzMVoz?=
 =?utf-8?B?V2hETU05TVNzMUV5M0t5aFJsUEVIV0Vtem5VN0xvWFFrSDNBbm0wUkVncjE3?=
 =?utf-8?B?VWVsWlVkdXVaYjEzZVJuZzFJM0NLaXhxb3E5VEVnSy9kMUsxOStwT0JEcHFF?=
 =?utf-8?B?RXVQa3BQaG0vM0R0WWhoUlIwTkwzejlFam5mMnNZOTlwSDlRNEhjR1hVdjRr?=
 =?utf-8?B?Z1MxbGRVV1gvd0lvaktsOXh2amFKTGlBS3R2cDlva0pCRVlMMU12bWhxdm9M?=
 =?utf-8?B?YS9YK1BmMkNJMjRINzkrRnVCbko5TzUzdzRBZzBhOXJpaG8wdjVwdkFiMWxa?=
 =?utf-8?B?bmlBUVRyaS8rUVNETVVucGNrN2JwT3YrOEczc1R3TkFjM0oyK1lRQkhkWCs2?=
 =?utf-8?B?Znl4NVZ4YmhyeHdVb1pvcENoUTFrVFNIK2hmcXJUTk5ubUJFb0Z4Tk85UDgv?=
 =?utf-8?B?ZXdQMThmZGRjMTNvdlc0bUNJWE85enRyY2ZabjEwQ3pPRGU0NW0wR0t0b1hl?=
 =?utf-8?B?dzhSV0hja2IvNVdlNU94bzFnYlBoeTFhWEk0REVNc1RZVURGMGNMSHo3STdK?=
 =?utf-8?B?TmF6NVVyNXFabjZQY2t6OG5lcVdCZ3NQd25NT2JodU1Cc1J6ZHN0cjFaSzFF?=
 =?utf-8?B?T3h3UjhUVzMydG5POGpmN1NrM0hJS2RSNkphMkFMQ2hmNjZpWFVuVy9OdytT?=
 =?utf-8?B?ZUx0MTBQZlZheXpBcWUwYTdKNHF5RTA0ajVEamJVRXJLcU5TSDRFSjR3MDBl?=
 =?utf-8?B?eGsvODBweENmTFlHeHB0cHV1M1dRdENQQlgra3pxMW9FRWEvTVRtZm5wMk5v?=
 =?utf-8?B?UVgxNWtXL2lTc1RmendwYUF4MjN6aHRmZUxHVVY3bWY5RTNzdEtqQnhRbWIv?=
 =?utf-8?B?T3B1Q2V4NUE2SG80dUdSVWhUSE5ONzV1VWt0S2VkMmVSNjVaU1NBVTRZSFA1?=
 =?utf-8?B?OHh4OUJjRXJFUVRLVE1ja0pDMTFlM0xNRzc2d2k1UGJsU0dGcno2L1o3dFpC?=
 =?utf-8?B?Q3ozbElyNm8vY25SSmhabUdSOXZJVU8yVjJrNjBxK1M0QlVJTXJiYis2dlFW?=
 =?utf-8?B?WW9BVnEvK3cxWHQvWC9TOUhhZkVlSGM1aHVlNi96cFlNcnZJM0cvZC9hdnhU?=
 =?utf-8?B?L3BvMkxjTzBUMlBRYzRVRWRZNzc2NjJpQVBNaWZ1Yy8yQTM3dzJWUVdHVmpo?=
 =?utf-8?B?SDJ1a0V5UkhHN1p6ZDVNcUxhRnhZMDd4dzZKbGp2alZtYWZlbWNPOHVRZnpn?=
 =?utf-8?Q?VtbU=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <7F2BF505EAC6CC45A9CB3B61AFB22DF0@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 93a14863-ec10-440d-4618-08dbf171102f
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 06:53:30.7738
 (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: pzksr4z+ee23wof7/amXXqarV4zGmc+c5OA8X8mCZvn7DuFzKHGLxvER735dvjX42FQiwe9ReAjJpSQfpyL08Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7631

DQpPbiAyMDIzLzExLzI4IDIyOjI1LCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBGcmks
IE5vdiAyNCwgMjAyMyBhdCAwNjo0MTozNlBNICswODAwLCBKaXFpYW4gQ2hlbiB3cm90ZToNCj4+
IEluIFBWSCBkb20wLCBpdCB1c2VzIHRoZSBsaW51eCBsb2NhbCBpbnRlcnJ1cHQgbWVjaGFuaXNt
LA0KPj4gd2hlbiBpdCBhbGxvY3MgaXJxIGZvciBhIGdzaSwgaXQgaXMgZHluYW1pYywgYW5kIGZv
bGxvdw0KPj4gdGhlIHByaW5jaXBsZSBvZiBhcHBseWluZyBmaXJzdCwgZGlzdHJpYnV0aW5nIGZp
cnN0LiBBbmQNCj4+IGlmIHlvdSBkZWJ1ZyB0aGUga2VybmVsIGNvZGVzLCB5b3Ugd2lsbCBmaW5k
IHRoZSBpcnENCj4+IG51bWJlciBpcyBhbGxvY2VkIGZyb20gc21hbGwgdG8gbGFyZ2UsIGJ1dCB0
aGUgYXBwbHlpbmcNCj4+IGdzaSBudW1iZXIgaXMgbm90LCBtYXkgZ3NpIDM4IGNvbWVzIGJlZm9y
ZSBnc2kgMjgsIHRoYXQNCj4+IGNhdXNlcyB0aGUgaXJxIG51bWJlciBpcyBub3QgZXF1YWwgd2l0
aCB0aGUgZ3NpIG51bWJlci4NCj4+IEFuZCB3aGVuIHdlIHBhc3N0aHJvdWdoIGEgZGV2aWNlLCBR
RU1VIHdpbGwgdXNlIGl0cyBnc2kNCj4+IG51bWJlciB0byBkbyBtYXBwaW5nIGFjdGlvbnMsIHNl
ZSB4ZW5fcHRfcmVhbGl6ZS0+DQo+PiB4Y19waHlzZGV2X21hcF9waXJxLCBidXQgdGhlIGdzaSBu
dW1iZXIgaXMgZ290IGZyb20gZmlsZQ0KPj4gL3N5cy9idXMvcGNpL2RldmljZXMveHh4eDp4eDp4
eC54L2lycSBpbiBjdXJyZW50IGNvZGUsDQo+PiBzbyBpdCB3aWxsIGZhaWwgd2hlbiBtYXBwaW5n
Lg0KPj4gQW5kIGluIGN1cnJlbnQgY29kZXMsIHRoZXJlIGlzIG5vIG1ldGhvZCB0byB0cmFuc2xh
dGUNCj4+IGlycSB0byBnc2kgZm9yIHVzZXJzcGFjZS4NCj4gDQo+IEkgdGhpbmsgaXQgd291bGQg
YmUgY2xlYW5lciB0byBqdXN0IGludHJvZHVjZSBhIG5ldyBzeXNmcyBub2RlIHRoYXQNCj4gY29u
dGFpbnMgdGhlIGdzaSBpZiBhIGRldmljZSBpcyB1c2luZyBvbmUgKG11Y2ggbGlrZSB0aGUgaXJx
IHN5c2ZzDQo+IG5vZGUpPw0KWWVzLCBJIGFsc28gZXZlciB0aG91Z2h0IHRoaXMgd2F5LiBBZGQg
YSBzeXNmcyBub2RlIGluIC9zeXMvYnVzL3BjaS9kZXZpY2VzL3h4eHg6eHg6eHgueC9nc2kuDQpC
dXQgSSBhbSBub3Qgc3VyZSBzeXNmcyBvciBwcml2Y21kLCB3aGljaCBpcyBiZXR0ZXIuDQpJZiB1
c2Ugc3lzZnMgbm9kZSwgc2hvdWxkIEkgbmVlZCB0byB1c2UgdGhlIG1hY3JvIG9mIFhlbiB0byB3
cmFwIHRoZSBjb2Rlcz8gQW5kIGlzIGl0IHN1aXRhYmxlIHRvIGNyZWF0ZSBpdCBpbiBmdW5jdGlv
biBhY3BpX3JlZ2lzdGVyX2dzaV9pb2FwaWM/DQoNCj4gDQo+IFN1Y2ggaW9jdGwgdG8gdHJhbnNs
YXRlIGZyb20gSVJRIHRvIEdTSSBoYXMgbm90aGluZyB0byBkbyB3aXRoIFhlbiwgc28NCj4gcGxh
Y2luZyBpdCBpbiBwcml2Y21kIGRvZXMgc2VlbSBxdWl0ZSBzdHJhbmdlIHRvIG1lLiAgSSB1bmRl
cnN0YW5kDQo+IHRoYXQgZm9yIHBhc3N0aHJvdWdoIHdlIG5lZWQgdGhlIEdTSSwgYnV0IHN1Y2gg
dHJhbnNsYXRpb24gbGF5ZXIgZnJvbQ0KPiBJUlEgdG8gR1NJIGlzIGFsbCBMaW51eCBpbnRlcm5h
bCwgYW5kIGl0IHdvdWxkIGJlIG11Y2ggc2ltcGxlciB0byBqdXN0DQo+IGV4cG9zZSB0aGUgR1NJ
IGluIHN5c2ZzIElNTy4NCj4gDQo+IFRoYW5rcywgUm9nZXIuDQoNCi0tIA0KQmVzdCByZWdhcmRz
LA0KSmlxaWFuIENoZW4uDQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 06:57:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 06:57:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644419.1005384 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8azA-0007FN-Pl; Thu, 30 Nov 2023 06:57:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644419.1005384; Thu, 30 Nov 2023 06:57: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 1r8azA-0007FG-NE; Thu, 30 Nov 2023 06:57:20 +0000
Received: by outflank-mailman (input) for mailman id 644419;
 Thu, 30 Nov 2023 06:57: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8az9-0007FA-L7
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 06:57:19 +0000
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on2062c.outbound.protection.outlook.com
 [2a01:111:f400:7ea9::62c])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b268b744-8f4d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 07:57:17 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by DS0PR12MB7631.namprd12.prod.outlook.com (2603:10b6:8:11e::11) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Thu, 30 Nov
 2023 06:57:13 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 06:57: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: b268b744-8f4d-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=iH7V33AbmL8wztgAEG7Ylj+4kAkYhNEuqneuZ+AeWaERuxygW/eWlZH79kLZkPV0zothc2Wtg3LRWNS2XfZ/B2O1teOKDhYB/bWnpnJLoWRjS25z1TScbCwHvCgIh+ti7UVUHul/h0rjypb51dyG+rmy1bTZcfesPMXK6cdrZxXkOCmcmYkpQEVffy6zQJJ8ckL3PKJ4EEnzkcjtUZR/JbyDNsPyJUOyPfUS7dE+kAX5uF60j/fcRvyZKYE1ULNzD8vGYJO2vyjQ5tiCI8jjVwYpFNoXEnlT3/LEYvDoFKAehtQRGWgvwDGzOkL6S61xhTZmdJgsWvUvzb4JvBd0YQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=saCOegEOwLC+inAkfamsQ/cbBDf5/mbcumTDtjD4vr4=;
 b=EC3i0ABj6ih/huH6tjWioOieSrDu2iQACs1gEE+Fw1NRiESiodi6elcoLElmWAh0lw7U12A2OyoOJhZ2BrJZkfG36jCFVB9ax+fvSuic9jWaqQh6G2/Z24s9IdMJkLJ+SiOi8yaXnThX/j8GmQUxBZdQXZpi/D+a5OVVsvCygAvb/d07rBwkH5lTauH5n1DwMlr+z9nQ3/zAg3jqdMn9CH7irWRZVbsPAzQ9cDf1n632DpYhw747D+1EdrywYMxyY919aQPNco4X2JmO8D0YiJBEKr54Stvt0gIs5AQ9vqCxhTDUiiK3DhpvyWTksO++YyAkPZbxiNYnmw8xuymLLg==
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=saCOegEOwLC+inAkfamsQ/cbBDf5/mbcumTDtjD4vr4=;
 b=aIMD0eAEMZrliwYN3KhkTtWmHlcU55D426+iJzjZZReQWbBZJatxO145WNxXM//7Agul7sHMnEsoFxRtKROXEUw9ufvm9fXmCuBW1wceh2t1LfCZtso3XoChWQ/yyLf7jFWb/YpO0+W8G7swfEx65MQalQc1vtOKmTNmt3y9Yt8=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Juergen Gross
	<jgross@suse.com>
CC: "Chen, Jiqian" <Jiqian.Chen@amd.com>, Jan Beulich <jbeulich@suse.com>, Wei
 Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang,
 Julia" <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
Thread-Topic: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
Thread-Index: AQHaHsLpM7vOINXdREip1dGZpT1r3bCPz92AgAAE2ICAABjFAIADD7UA
Date: Thu, 30 Nov 2023 06:57:12 +0000
Message-ID:
 <BL1PR12MB584922EE9DD13BBEFE83448DE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-4-Jiqian.Chen@amd.com> <ZWX4R9UEE6oXiqaz@macbook>
 <6ee9c6e2-7ebf-42c6-a923-57f9da093160@suse.com> <ZWYRHqie0oVuawmc@macbook>
In-Reply-To: <ZWYRHqie0oVuawmc@macbook>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: IA0PR12MB8351.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|DS0PR12MB7631:EE_
x-ms-office365-filtering-correlation-id: b0f0ba7f-4597-4eb0-ff80-08dbf171948d
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 f6ICsxo04WA0DscqlchETVPDl2vKeV/9LmrVBiqFaNA10ua0PcESSbhMtYNAos6QT+iMzKwPILFK5oEMYks9lfepITNGHvDz/odGIjsuQlx57LQwDM8l76NKjvFYUoN6oC8JtWlPWJBVQmm0mMe4V8hWf5iFKsU6Er1L7jMQGzbv/0Jf9tcDQRTgIhSKmTJZenoIbmWQw9rj7vaQf+Egdcu43LNpV4FPOEWp3hxAHVK+4NR86K+m9Z+94cvg2nhUdqSLtZRG0iTIHyF6itoSMIfy7GJjT9GSt3epyXgEcL3rLLe8elvMjk1gL99WyZJQNnRi0l/pc0UVvZadzYl65tUKBF+1/Qk8/dAU6st3I0E0tkZgCimXr8j+Z/5FoTCiuIEaNeQ3HNeRRRxPgz39gc8rp8n/i8KI67y+MLwh8PZ8NIsGDLFN7Y4aHH2cbToaR3qxPAhLZDesm4yLYyN5ua7oyBUohncFrHr/UNIOjseW1kwAvCJ8T7SLLV0xxvC586J1H1ofqJ7nWH70HQWn4ZIKYe/bYIT4pccUELerPQTKJo1bqoch3pbBvCIkuDcaysMYJKjWc2rp4BTfI6ds4g6E+7OeCOua9HviT6UOl+zEQo9ehmA7CxR/tGIfQdkhRQYks+Vw0REdM1y3d77C+lm3rD8VTgCCLEizSfnPzOI=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(396003)(39860400002)(346002)(376002)(366004)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(122000001)(478600001)(9686003)(6506007)(26005)(7696005)(53546011)(71200400001)(2906002)(5660300002)(66946007)(54906003)(66556008)(66446008)(76116006)(41300700001)(64756008)(66476007)(110136005)(8676002)(8936002)(4326008)(316002)(52536014)(38100700002)(38070700009)(33656002)(202311291699003)(55016003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Yy9rL2EySnJ6bFdJSk1CTWVhTXdkS2x0VUdlcFRSNjhjQzdXZXRnVXVqWjR4?=
 =?utf-8?B?amZjN0RpWEcxL1VBVXEyZ1dLQXlCTXRHS2JCdUZiSm4xMEx5dkszRXR2THdV?=
 =?utf-8?B?S1cyais3UkRPdnBnWUJNa1NmQ2dIZERPMjcvaUFPT05wWXBGckZKanVKWCs5?=
 =?utf-8?B?OE9rNlIwVS9VUExLYkprYWxSbU42T2FnQi9qN3VlNUpJM3BhUURKTXgwS20v?=
 =?utf-8?B?Y2lQMTJJMnV2YU1nWUR6cEM5eXhRdmNybXpnRkc2bGUwSU1rUjhZQ3JwQVRa?=
 =?utf-8?B?aXVQc3pCZk1MR2R3Z3JGcElzQlVQZWQybjN5RlRJSllvM3RLaDNoc3BCV1pK?=
 =?utf-8?B?dTdkRFN2RU5QdU9PbzNFRVhjcTVaRi9udG15K3I1OEhuRlZmQm0wVFZrUU9v?=
 =?utf-8?B?VGtXZGtJRmQxNlo3azJTMXQzVEpoUUpZZjZkQmlhZldPblo1SW9QMnhRQjEz?=
 =?utf-8?B?NGNHRDFNMzFKOFV3TmNzSSt4MmhmbnJVRXUzNEQvakVpUXIxOFlBK3hMa2xh?=
 =?utf-8?B?WGFCclVwaU83b1J4RS9xZmVydlZUc2N0OWV6Q0F6d2RTRG42RUFadVZvbGIz?=
 =?utf-8?B?RVJHaGU3RUNsSUttTU5aOEo5bkVHTWQzVGRUUjg4dWx0YWtsYVhsaXl5ZlVh?=
 =?utf-8?B?ekUxQ1V3ZGgzT1ArbnFCd0Q0d3NJbjhpbFJQT1U4UGwwblU0ZDBWV0xWUHpK?=
 =?utf-8?B?cUJOZzlNcGV1WE8vc2tUSUpnTFFTai8rSFNQbVRHYkx1bjdjU05wQ3RvaU9y?=
 =?utf-8?B?MEFONlpNa0hBbE9YVXBZNEh3Q0ZudUlPOGphS0pMR05FaExYUHlvSTFaUkpM?=
 =?utf-8?B?M0d3N1VJaE9WYmMrdndXNy9JWWozTU9wclE2R0FTNGkyVnA5Skx1STd2T3N4?=
 =?utf-8?B?THFDZjMyajlDUXJSZGRSY3c0enpQSVVOYVNBZnNHWEFQcXY4MHBnS1RBOFhp?=
 =?utf-8?B?dzNyU3ozWDdPZzJjWHcxOUg5Z1RWNWx4MVlGV2MvNXlMRGVPanlSaTZ0U2FV?=
 =?utf-8?B?S0JJWllsUHNZY1dSWkVZYnhBNElITmZ1bS9tVDdnSGVka1VPVlNXbitWV2pj?=
 =?utf-8?B?UHVKSmUrN3dYZHFjaDVnQ0gxcFYzRVBtRlJuQUZLWGp2NVFMUC9DMmduZm81?=
 =?utf-8?B?R2Z2Q3EyVEYyc2ZBbGNFSEZ5TnpLV2FJNkFwM0Y3UEdEeitnZk94bGFwN0FK?=
 =?utf-8?B?N2MyZjhuY2M5QytnOXVHSE5XTGNGZnpUdDdpWHVOUEo1T3N3WE9WYURHZmJG?=
 =?utf-8?B?RCt0VDgxdEhjejczSlFvQVliOE56cmd6NkZXcDdRSElzQWNDb3V1dG1hUktk?=
 =?utf-8?B?WFZIbWo2T2ptS0JqeTNqT2l0b3YwZlJLUy84RkRGSTFtVWl4aitzeXdNOHNw?=
 =?utf-8?B?NFRCUVd3Nm9CbnVWWm5LUEVNdGo4YVZFS2MrdXhGVHMvVFczT3JhMW9DTmRW?=
 =?utf-8?B?ZnM4aU5ESUczM2FSMVZPMGhFMUZMMTZkaGRLc2Fxc3MwRHBHNmNucXJYaXEz?=
 =?utf-8?B?VEJ0ejlUbHB3WitFdGFzQkhkczZxVGdOa2IyZGlINVJsa1BNVEVsSmg1eWJ3?=
 =?utf-8?B?QUNRUEsvRVNXVUtCVENyMTl5bURTOEtjcWl5c3R5TkVZM0xOOXpYNW1IU3ZZ?=
 =?utf-8?B?UnBKd21zbk1ueDR3WnFHUWhIemRmcjBjZWlkWTBIQlA5OUtZUFJpTW1lQ3BG?=
 =?utf-8?B?OVo3MnlsUk15V1p5NmlJN1lOSXVScS80dlErTldwbmpTZnZSbmRxOFROU3lO?=
 =?utf-8?B?WHdhRitMOVgxdGdTZzJ6RU9BelhiMmZEU0JOallXS0hTV2VuNEU1Vzd2MDlv?=
 =?utf-8?B?NThRV0lpZUFlc3VpNGRMV0kvSU9QQkRZaWFyYUVOUUlCVUNXY3BUalZxTEJk?=
 =?utf-8?B?MGtmOUR6RVJaWXMzL0UyRW1nTFZqWU9KeVJGNjdVb1l0eGEyTW9BVGNBR1dj?=
 =?utf-8?B?ZzZPbDBrclhUY0gxR1ZVdzZBSGx5MXZvZE05ZjFLclFucEZKZkt0bHBIVXgr?=
 =?utf-8?B?cWhkdVl1eFMwb2p5SEJnY1RNYjBpb3llMDh2NE1zSTF5U1ZnM2FvdTB0U05S?=
 =?utf-8?B?dGZpbTE0cndYKzlsVjNENkV3Qi9uMEV6Q21BMVVBUWJRLzlJa3hVOW80MXZJ?=
 =?utf-8?Q?75uU=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <4889D485B3B4B34AB8331340036EC7B7@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b0f0ba7f-4597-4eb0-ff80-08dbf171948d
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 06:57:12.8543
 (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: hO2RJu4CtM0Z9UTVRRboBZ1MNO5mKcsgLp7A6psrhBE/BNG8/6PpdpQyEhxTV9uNSXutkCWOh3czMvVTjq13pw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7631

DQpPbiAyMDIzLzExLzI5IDAwOjExLCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBUdWUs
IE5vdiAyOCwgMjAyMyBhdCAwMzo0MjozMVBNICswMTAwLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0K
Pj4gT24gMjguMTEuMjMgMTU6MjUsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+Pj4gT24gRnJp
LCBOb3YgMjQsIDIwMjMgYXQgMDY6NDE6MzZQTSArMDgwMCwgSmlxaWFuIENoZW4gd3JvdGU6DQo+
Pj4+IEluIFBWSCBkb20wLCBpdCB1c2VzIHRoZSBsaW51eCBsb2NhbCBpbnRlcnJ1cHQgbWVjaGFu
aXNtLA0KPj4+PiB3aGVuIGl0IGFsbG9jcyBpcnEgZm9yIGEgZ3NpLCBpdCBpcyBkeW5hbWljLCBh
bmQgZm9sbG93DQo+Pj4+IHRoZSBwcmluY2lwbGUgb2YgYXBwbHlpbmcgZmlyc3QsIGRpc3RyaWJ1
dGluZyBmaXJzdC4gQW5kDQo+Pj4+IGlmIHlvdSBkZWJ1ZyB0aGUga2VybmVsIGNvZGVzLCB5b3Ug
d2lsbCBmaW5kIHRoZSBpcnENCj4+Pj4gbnVtYmVyIGlzIGFsbG9jZWQgZnJvbSBzbWFsbCB0byBs
YXJnZSwgYnV0IHRoZSBhcHBseWluZw0KPj4+PiBnc2kgbnVtYmVyIGlzIG5vdCwgbWF5IGdzaSAz
OCBjb21lcyBiZWZvcmUgZ3NpIDI4LCB0aGF0DQo+Pj4+IGNhdXNlcyB0aGUgaXJxIG51bWJlciBp
cyBub3QgZXF1YWwgd2l0aCB0aGUgZ3NpIG51bWJlci4NCj4+Pj4gQW5kIHdoZW4gd2UgcGFzc3Ro
cm91Z2ggYSBkZXZpY2UsIFFFTVUgd2lsbCB1c2UgaXRzIGdzaQ0KPj4+PiBudW1iZXIgdG8gZG8g
bWFwcGluZyBhY3Rpb25zLCBzZWUgeGVuX3B0X3JlYWxpemUtPg0KPj4+PiB4Y19waHlzZGV2X21h
cF9waXJxLCBidXQgdGhlIGdzaSBudW1iZXIgaXMgZ290IGZyb20gZmlsZQ0KPj4+PiAvc3lzL2J1
cy9wY2kvZGV2aWNlcy94eHh4Onh4Onh4LngvaXJxIGluIGN1cnJlbnQgY29kZSwNCj4+Pj4gc28g
aXQgd2lsbCBmYWlsIHdoZW4gbWFwcGluZy4NCj4+Pj4gQW5kIGluIGN1cnJlbnQgY29kZXMsIHRo
ZXJlIGlzIG5vIG1ldGhvZCB0byB0cmFuc2xhdGUNCj4+Pj4gaXJxIHRvIGdzaSBmb3IgdXNlcnNw
YWNlLg0KPj4+DQo+Pj4gSSB0aGluayBpdCB3b3VsZCBiZSBjbGVhbmVyIHRvIGp1c3QgaW50cm9k
dWNlIGEgbmV3IHN5c2ZzIG5vZGUgdGhhdA0KPj4+IGNvbnRhaW5zIHRoZSBnc2kgaWYgYSBkZXZp
Y2UgaXMgdXNpbmcgb25lIChtdWNoIGxpa2UgdGhlIGlycSBzeXNmcw0KPj4+IG5vZGUpPw0KPj4+
DQo+Pj4gU3VjaCBpb2N0bCB0byB0cmFuc2xhdGUgZnJvbSBJUlEgdG8gR1NJIGhhcyBub3RoaW5n
IHRvIGRvIHdpdGggWGVuLCBzbw0KPj4+IHBsYWNpbmcgaXQgaW4gcHJpdmNtZCBkb2VzIHNlZW0g
cXVpdGUgc3RyYW5nZSB0byBtZS4gIEkgdW5kZXJzdGFuZA0KPj4+IHRoYXQgZm9yIHBhc3N0aHJv
dWdoIHdlIG5lZWQgdGhlIEdTSSwgYnV0IHN1Y2ggdHJhbnNsYXRpb24gbGF5ZXIgZnJvbQ0KPj4+
IElSUSB0byBHU0kgaXMgYWxsIExpbnV4IGludGVybmFsLCBhbmQgaXQgd291bGQgYmUgbXVjaCBz
aW1wbGVyIHRvIGp1c3QNCj4+PiBleHBvc2UgdGhlIEdTSSBpbiBzeXNmcyBJTU8uDQo+Pg0KPj4g
WW91IGFyZSBhd2FyZSB0aGF0IHdlIGhhdmUgYSBYZW4gc3BlY2lmaWMgdmFyaWFudCBvZiBhY3Bp
X3JlZ2lzdGVyX2dzaSgpPw0KPj4NCj4+IEl0IGlzIHRoZSBYZW4gZXZlbnQgY2hhbm5lbCBkcml2
ZXIgYmVpbmcgcmVzcG9uc2libGUgZm9yIHRoZSBHU0k8LT5JUlENCj4+IG1hcHBpbmcuDQo+IA0K
PiBJJ20ga2luZCBvZiBsb3N0LCB0aGlzIHRyYW5zbGF0aW9uIGZ1bmN0aW9uIGlzIHNwZWNpZmlj
YWxseSBuZWVkZWQgZm9yDQo+IFBWSCB3aGljaCBkb2Vzbid0IHVzZSB0aGUgWGVuIHNwZWNpZmlj
IHZhcmlhbnQgb2YgYWNwaV9yZWdpc3Rlcl9nc2koKSwNCj4gYW5kIGhlbmNlIHRoZSBJUlEgPC0+
IEdTSSByZWxhdGlvbiBpcyB3aGF0ZXZlciB0aGUgTGludXgga2VybmVsIGRvZXMNCj4gb24gbmF0
aXZlLg0KPiANCj4gSSBkbyB1bmRlcnN0YW5kIHRoYXQgb24gYSBQViBkb20wIHRoZSBwcm9wb3Nl
ZCBzeXNmcyBnc2kgbm9kZSB3b3VsZA0KPiBtYXRjaCB0aGUgaXJxIG5vZGUsIGJ1dCB0aGF0IGRv
ZXNuJ3Qgc2VlbSBsaWtlIGFuIGlzc3VlIHRvIG1lLg0KPiANCj4gTm90ZSBhbHNvIHRoYXQgUFZI
IGRvZXNuJ3QgdXNlIGFjcGlfcmVnaXN0ZXJfZ3NpX3hlbl9odm0oKSBiZWNhdXNlDQo+IFhFTkZF
QVRfaHZtX3BpcnFzIGZlYXR1cmUgaXMgbm90IGV4cG9zZWQgdG8gUFZILCBzbyBJIGV4cGVjdCBp
dCB1c2VzDQo+IHRoZSB4ODYgYWNwaV9yZWdpc3Rlcl9nc2lfaW9hcGljKCkuDQpZZXMsIFBWSCB1
c2UgYWNwaV9yZWdpc3Rlcl9nc2lfaW9hcGljLCB0aGFuayBSb2dlciBmb3IgZXhwbGFuYXRpb24u
DQoNCj4gDQo+IFRoYW5rcywgUm9nZXIuDQoNCi0tIA0KQmVzdCByZWdhcmRzLA0KSmlxaWFuIENo
ZW4uDQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 07:03:52 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 07:03:52 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644422.1005393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8b5H-0000Y5-FS; Thu, 30 Nov 2023 07:03:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644422.1005393; Thu, 30 Nov 2023 07:03: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 1r8b5H-0000Xy-Cr; Thu, 30 Nov 2023 07:03:39 +0000
Received: by outflank-mailman (input) for mailman id 644422;
 Thu, 30 Nov 2023 07:03: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8b5G-0000Xs-9q
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 07:03:38 +0000
Received: from NAM12-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam12on20602.outbound.protection.outlook.com
 [2a01:111:f400:fe5a::602])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 947a0e1d-8f4e-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 08:03:37 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by PH7PR12MB8056.namprd12.prod.outlook.com (2603:10b6:510:269::21)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 07:03:30 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 07: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>
X-Inumbo-ID: 947a0e1d-8f4e-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JdMu/QxQ+wtXpmOPYrgCL9Gad2GXtVoUiQh7xfm8yViqn6g4woFlh4TWSqCII/1P1SqGmUlyVeEsmFN7Itlu1GP4kAeuUk3TR0PIonDfQKFJOwiUtVb8ACH4GPPpTwfr0KuLcFSLA0jhdl6BYoQew+Jw5/Ggx9fFLisB90jMWTYCZ4RIxNdNEnqN7lKqiSg+SUcZlDe5Jnnvfv3UoYu4VKPY0qvEF6lYzccZfJxykAzIGxlMH5H0cebcePPSHUDH88N5yRYKkw/71ge+7WYshzCIrfcBuJDoaEnOXN92PlfG+8mD9sZko+LyKBQOfHP4Rv06rzZDq1Z7HTVQ0xPOAA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=btFGlaLFcCSHxu/Vewv7AMybhRwhB7CQTim3lzsxeG0=;
 b=G5MWRBQFWpEMcDhHoS0NdEWux7aARkQHOc1kUYPbZjUGLRscmo0Tk9vlPaAphZzcVoWS6D3WD8LIDAwNKYwRURdYT81c1y4FBi4VQg8va3Vf7F5v0+ynphb1kaKWaw0qvcDv7wcGFV5BoxrC3iMxpuHRhYNjtOEghQPrkqMgfHulgYTO9RlTfE/eYO28ljaW6zO4Drgm/lO2LccZGpz2Xw6c/Zew/qW3oro7f/PxfLg3hX+EIgflpyrg1OkCmxuhtpIUXJZeUBMdoXqAaQkCLp7sv0rjK/Es7iL7UAyYFabUQJtHcue4tZlkp0EOut6RQvzwT4ulOToNFYDJaJ+abA==
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=btFGlaLFcCSHxu/Vewv7AMybhRwhB7CQTim3lzsxeG0=;
 b=SykLGCHX+93xzaVT/J+ahq76isg+KoHs9JfUhHLrj0dOpoDZu+tXTq8QjTwTa1v59dTk8b9CLXjIB8yaGzkocdMM4W6RX/N6F3L7ItD9YuAtY+FiVgVt+FL+x4wjb4BJKrkslaKejvcqOU05PNr5Qqw0ze6HmRg53wfC2JIsn4I=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Stefano Stabellini <sstabellini@kernel.org>
CC: Juergen Gross <jgross@suse.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Thomas Gleixner <tglx@linutronix.de>, Boris
 Ostrovsky <boris.ostrovsky@oracle.com>, "Rafael J . Wysocki"
	<rafael@kernel.org>, Len Brown <lenb@kernel.org>, Bjorn Helgaas
	<bhelgaas@google.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "linux-acpi@vger.kernel.org"
	<linux-acpi@vger.kernel.org>, "Stabellini, Stefano"
	<stefano.stabellini@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Koenig, Christian" <Christian.Koenig@amd.com>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>, "Ragiadakou, Xenia"
	<Xenia.Ragiadakou@amd.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>,
	"Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC KERNEL PATCH v2 1/3] xen/pci: Add xen_reset_device_state
 function
Thread-Topic: [RFC KERNEL PATCH v2 1/3] xen/pci: Add xen_reset_device_state
 function
Thread-Index: AQHaHsGaWb8EJvAynUiF4JhdQXSstLCSQgGAgAC8QwA=
Date: Thu, 30 Nov 2023 07:03:29 +0000
Message-ID:
 <BL1PR12MB58490EB260D226500141557EE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
 <20231124103123.3263471-2-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2311291943260.3533093@ubuntu-linux-20-04-desktop>
In-Reply-To:
 <alpine.DEB.2.22.394.2311291943260.3533093@ubuntu-linux-20-04-desktop>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: MN0PR12MB6054.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|PH7PR12MB8056:EE_
x-ms-office365-filtering-correlation-id: 6c273887-ff37-45aa-65c7-08dbf17274fc
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 rg9k9wM3t/20mmvXlBg4b5Qb/9EnHX/s8RHb/FEULme/FFmcC+sLuq7nLaxoOJ97Rp8DqkJNUKxe6jP3onRPEDqQYrublnAzsUzd9+kFErxJsGsKXI/7FsD5pD7dfGvdVt7T7A4n518M7BQ0FlXBrmTdrQB+oyvalOEymggfd7wtfi9dvNPuDe5+vZa6mvFHUK4G/XRvEY4+G4WqDzeHF3emVpjZhQj9H+liw+MnKtbh1XLsaNQO0FTYIY45U2Ln538Df4BNu/lVXXWYRfpKJ3FTZatOlnpZr4VMw5GwGySsZyADdJtvVlTTnR+Q5hSKu+BKvtZgrMUF3J2+1CDT0NyCFTfHuoUMPeGF1WBda/eCdWkEDOEmlyI3qK5+QxfjwB5qyK78ajq8mYld4A3KmqprZ+KU/DFNTZZg2gu6aBPaXCZinXng0TaamXSi68QezrsOKnNOoec+d5y9IBXkkVcx2w6qFbIPh6Wu+PfGmL28E+M0SlM5El0ZZha1kE8EH5QcethSIINM6GPxar1CjaQaMWYdgiN9k+wpshq51mMBwkoBggR1N5vGBzXABWYWS8sopg9jD6iV84tJV2VWZAlPb/zMNXmhpOIbXhsAdiyCTufmEKDXCHRXRnFUTaF7h6ym3F+b0mqrw7tNaTi8/Wk2DUik9QGHFNFtqjuyjrM=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(136003)(366004)(39860400002)(376002)(346002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(202311291699003)(55016003)(26005)(122000001)(33656002)(38070700009)(38100700002)(83380400001)(52536014)(7416002)(5660300002)(9686003)(6506007)(53546011)(7696005)(71200400001)(8936002)(4326008)(76116006)(66946007)(66556008)(66476007)(8676002)(66446008)(316002)(54906003)(64756008)(6916009)(41300700001)(2906002)(478600001);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?WXp6QzBHRTZKN1VwQlNudWd6Y1d5NE5EaFZ2MC9lMlBuTFBLdzRTRy96azBH?=
 =?utf-8?B?RVlxUUY5SFkzYU5aOFR3dDk2UUNNNWpETEdmWGZJdjBtc0paaGpIbHJ2VEFo?=
 =?utf-8?B?SHhjRlFkdnBydnIxeGZKUWNlVFNDK29VUXYzNlh5ZnZ3eFpKVWZsZ0V2cU1k?=
 =?utf-8?B?Q29mWUlXeFA3SWtld0pMbWJGMnhCT3Ewc2RycHNrM3R5SXZLeFoyWmFYbS9a?=
 =?utf-8?B?dGw4Qlc2bW5EVDJuWGlhbk50TFFybW9XSEs5VWY1Z2o2TmlZRHNEdy9SbG1k?=
 =?utf-8?B?STViNUNWTlJXZm9wcmxaYjVDUmNPc1hVZTRaa3NiUzJnelJYMnl0NXhEeWFH?=
 =?utf-8?B?V3FJaHpsMFNkQ01QUVNGRm5FcjdvYTJLTEI0ZVNuRFQ2Vmx3T1dsbDN3NWZS?=
 =?utf-8?B?bHVxTmVFZnQ2VmRLNCthOXNiZXB3UTFUa09MdjI5NEs1RnBUWi9Cb2JXWGp4?=
 =?utf-8?B?NVAwYVZWZXRUK3pHK1Z2M29nU3pIOVF3cGVrN1QzQ3orNVJzdEMzd1dTQVJI?=
 =?utf-8?B?VE5Lc3lzOVlLWGVxcEpxUDhEVi9uZHRxWlIwWnlyMEtiS2YrWGw2RzdNRkQ0?=
 =?utf-8?B?amxzSmFSSlkxdnZtRXgyV3Z0WFZETWNNVEpHd1BQWVRTa0ZtZWFLQ3d3YXlS?=
 =?utf-8?B?NDZ1bXdOeUpmU1FaUG9HZVpxRmp4M0Q1Ris0blVuNlBtaVMwSXhsclNSdnhH?=
 =?utf-8?B?UkYrdCt3elQ2Wm95Wmp1OHpCbVpMYitkUUhrNEI0Zno4WkFkNHBqMlVSSkto?=
 =?utf-8?B?OW9GZlNoOUdYNlFGREFpQktPVk1rMERHVFFQN1RVekhPZXRvb1d2MmZmalE5?=
 =?utf-8?B?VjNPNVJHSjM4OWhUdlVGT3MvVkVTNXJpL1pEUkJoVlVwMXZRelZiaEhGemcr?=
 =?utf-8?B?c25JcFg3ODBhMUhXUzN1NWpwcEROYkhkd1QyZDFYY3RHUDRoaFRFdkZXRlcx?=
 =?utf-8?B?bFZrNFV2RlZCMUFGa2x2Uk9HUFFwVDJJMVc3bnZFUFk4MmtxY3dmMnM5YTZs?=
 =?utf-8?B?UjBsMVhMQU5BbXBaK3dtc2lmZFFPVW9pVVZ4dUtxNkNTS2RVbFVmM3ZPMmpo?=
 =?utf-8?B?cGFhYVNpZG85MTJJNTE2QlF5em5EZ3B1ZW9CdXRXZ1U4UXc3RnJnMGlRMlZQ?=
 =?utf-8?B?RUtYSEZTUmd6aEs4ZGhhVld0bVRUdnR3N2d6LzNkbWpFOUdQZS9iOGlOMTh0?=
 =?utf-8?B?cUJlY0l2cVNLdlo2MEcrSGxOeHdMVHExUDB1VlNxUGJCUEQvRjk5alJjUzh2?=
 =?utf-8?B?bGRsNFBPUXZMTVFNS1RVWHF1Zk0yd0FMUk5NZ3RhS2xDTnRGSlE4bHVzdVlt?=
 =?utf-8?B?ZU40MGpZMEhRaENlbEF6WGpCdzcyLzkxVG1NeHJZSW5nczZvcnlYSW5xQUlx?=
 =?utf-8?B?UmcvL0E4OGdtcDlmZHhsTSsxQ0JGaGdjV1EzeEJxYkJIQkxUV3hlTVllak91?=
 =?utf-8?B?Q1dBWTQ4UjBrbXZzNWRIUzJQeVhRUDQ2ZTJJU2pWYWZPcC9Sb05DY1FUU0cr?=
 =?utf-8?B?aU1mRzFJZDAxTStLRzRWMmFxT1VFNmx0aVhxNU4wMjRuS0NtY3FkdFdLUHpr?=
 =?utf-8?B?Q0lXWHFOSkE1RWY3UTJPMjRvbFpKZmlPT3lTUlJsSzVpZzBGMytFbnpkaGVr?=
 =?utf-8?B?b2J1Q3JjeHlEZ3k4ZldFY21IT1hlZEF5czduZWVUVHNEL05MVW1qSHRNQTVL?=
 =?utf-8?B?dWRlNDE3SmNwVnhEZ3JoY3pUQTQ2SVhJWktsVjN5cFp0TUxOY2NWQ0t4VDBD?=
 =?utf-8?B?MXlZZlNFUzRTK0d0UitrUFAzZEtvOHNjU3ZCamVRRkJHUHl5UU5sSmQ5Sm5m?=
 =?utf-8?B?bnZoR1RrNC8zdDE0Rk1nelhmdGV1bjhKWGhaSzY4TTB1RUE4SWJrc0FxRkFN?=
 =?utf-8?B?N0tQQWM4Sm55Y1RCNmxMcUJHVWcyVzRmWklhczlFVVBsTlhDVm1XSzVmYTVB?=
 =?utf-8?B?US9uc255Mm5iL1R5Ky9LamVXNks2UTNBU1JSUS9laDJzcHB5U2diTCtaQ1FG?=
 =?utf-8?B?L1o0TnFmNXVxU3lwK2lzS3lCVkRFeDRURGFBY0V4Vk5UdWxjeXJjTGpVWUg0?=
 =?utf-8?B?OEZtSkl5Ly9XZHhVTEhmWmlZYXRwcWZ4d1FGbHZnY0RKaGRCME9VTC8weVI0?=
 =?utf-8?Q?P7Wo=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <F144D27B800B574295802F12BD199560@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 6c273887-ff37-45aa-65c7-08dbf17274fc
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 07:03:29.4135
 (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: PW+5Wsp/0WSInSV589OiCcT41gOT/zsYa3RjH/WecdZ/sXpSjqvBsEyZ7rGq8lKnRHJ8QTRI/Wz+SIE6lqtg9g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB8056

DQpPbiAyMDIzLzExLzMwIDExOjQ2LCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6DQo+IE9uIEZy
aSwgMjQgTm92IDIwMjMsIEppcWlhbiBDaGVuIHdyb3RlOg0KPj4gV2hlbiBkZXZpY2Ugb24gZG9t
MCBzaWRlIGhhcyBiZWVuIHJlc2V0LCB0aGUgdnBjaSBvbiBYZW4gc2lkZQ0KPj4gd29uJ3QgZ2V0
IG5vdGlmaWNhdGlvbiwgc28gdGhhdCB0aGUgY2FjaGVkIHN0YXRlIGluIHZwY2kgaXMNCj4+IGFs
bCBvdXQgb2YgZGF0ZSB3aXRoIHRoZSByZWFsIGRldmljZSBzdGF0ZS4NCj4+IFRvIHNvbHZlIHRo
YXQgcHJvYmxlbSwgdGhpcyBwYXRjaCBhZGQgYSBmdW5jdGlvbiB0byBjbGVhciBhbGwNCj4+IHZw
Y2kgZGV2aWNlIHN0YXRlIHdoZW4gZGV2aWNlIGlzIHJlc2V0IG9uIGRvbTAgc2lkZS4NCj4+DQo+
PiBBbmQgY2FsbCB0aGF0IGZ1bmN0aW9uIGluIHBjaXN0dWJfaW5pdF9kZXZpY2UuIEJlY2F1c2Ug
d2hlbg0KPj4gd2UgdXNlICJwY2ktYXNzaWduYWJsZS1hZGQiIHRvIGFzc2lnbiBhIHBhc3N0aHJv
dWdoIGRldmljZSBpbg0KPj4gWGVuLCBpdCB3aWxsIHJlc2V0IHBhc3N0aHJvdWdoIGRldmljZSBh
bmQgdGhlIHZwY2kgc3RhdGUgd2lsbA0KPj4gb3V0IG9mIGRhdGUsIGFuZCB0aGVuIGRldmljZSB3
aWxsIGZhaWwgdG8gcmVzdG9yZSBiYXIgc3RhdGUuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogSmlx
aWFuIENoZW4gPEppcWlhbi5DaGVuQGFtZC5jb20+DQo+PiBTaWduZWQtb2ZmLWJ5OiBIdWFuZyBS
dWkgPHJheS5odWFuZ0BhbWQuY29tPg0KPj4gLS0tDQo+PiAgZHJpdmVycy94ZW4vcGNpLmMgICAg
ICAgICAgICAgICAgICB8IDEyICsrKysrKysrKysrKw0KPj4gIGRyaXZlcnMveGVuL3hlbi1wY2li
YWNrL3BjaV9zdHViLmMgfCAgMyArKysNCj4+ICBpbmNsdWRlL3hlbi9pbnRlcmZhY2UvcGh5c2Rl
di5oICAgIHwgIDIgKysNCj4+ICBpbmNsdWRlL3hlbi9wY2kuaCAgICAgICAgICAgICAgICAgIHwg
IDYgKysrKysrDQo+PiAgNCBmaWxlcyBjaGFuZ2VkLCAyMyBpbnNlcnRpb25zKCspDQo+Pg0KPj4g
ZGlmZiAtLWdpdCBhL2RyaXZlcnMveGVuL3BjaS5jIGIvZHJpdmVycy94ZW4vcGNpLmMNCj4+IGlu
ZGV4IDcyZDRlM2YxOTNhZi4uZTliMzBiYzA5MTM5IDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy94
ZW4vcGNpLmMNCj4+ICsrKyBiL2RyaXZlcnMveGVuL3BjaS5jDQo+PiBAQCAtMTc3LDYgKzE3Nywx
OCBAQCBzdGF0aWMgaW50IHhlbl9yZW1vdmVfZGV2aWNlKHN0cnVjdCBkZXZpY2UgKmRldikNCj4+
ICAJcmV0dXJuIHI7DQo+PiAgfQ0KPj4gIA0KPj4gK2ludCB4ZW5fcmVzZXRfZGV2aWNlX3N0YXRl
KGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpkZXYpDQo+PiArew0KPj4gKwlzdHJ1Y3QgcGh5c2Rldl9w
Y2lfZGV2aWNlIGRldmljZSA9IHsNCj4+ICsJCS5zZWcgPSBwY2lfZG9tYWluX25yKGRldi0+YnVz
KSwNCj4+ICsJCS5idXMgPSBkZXYtPmJ1cy0+bnVtYmVyLA0KPj4gKwkJLmRldmZuID0gZGV2LT5k
ZXZmbg0KPj4gKwl9Ow0KPj4gKw0KPj4gKwlyZXR1cm4gSFlQRVJWSVNPUl9waHlzZGV2X29wKFBI
WVNERVZPUF9wY2lfZGV2aWNlX3N0YXRlX3Jlc2V0LCAmZGV2aWNlKTsNCj4+ICt9DQo+PiArRVhQ
T1JUX1NZTUJPTF9HUEwoeGVuX3Jlc2V0X2RldmljZV9zdGF0ZSk7DQo+PiArDQo+PiAgc3RhdGlj
IGludCB4ZW5fcGNpX25vdGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsDQo+PiAgCQkJ
ICAgIHVuc2lnbmVkIGxvbmcgYWN0aW9uLCB2b2lkICpkYXRhKQ0KPj4gIHsNCj4+IGRpZmYgLS1n
aXQgYS9kcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jIGIvZHJpdmVycy94ZW4veGVu
LXBjaWJhY2svcGNpX3N0dWIuYw0KPj4gaW5kZXggZTM0YjYyM2U0YjQxLi41YTk2YjZjNjZjMDcg
MTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jDQo+PiAr
KysgYi9kcml2ZXJzL3hlbi94ZW4tcGNpYmFjay9wY2lfc3R1Yi5jDQo+PiBAQCAtNDIxLDYgKzQy
MSw5IEBAIHN0YXRpYyBpbnQgcGNpc3R1Yl9pbml0X2RldmljZShzdHJ1Y3QgcGNpX2RldiAqZGV2
KQ0KPj4gIAllbHNlIHsNCj4+ICAJCWRldl9kYmcoJmRldi0+ZGV2LCAicmVzZXR0aW5nIChGTFIs
IEQzLCBldGMpIHRoZSBkZXZpY2VcbiIpOw0KPj4gIAkJX19wY2lfcmVzZXRfZnVuY3Rpb25fbG9j
a2VkKGRldik7DQo+PiArCQllcnIgPSB4ZW5fcmVzZXRfZGV2aWNlX3N0YXRlKGRldik7DQo+PiAr
CQlpZiAoZXJyKQ0KPj4gKwkJCWdvdG8gY29uZmlnX3JlbGVhc2U7DQo+IA0KPiBPbGRlciB2ZXJz
aW9ucyBvZiBYZW4gd29uJ3QgaGF2ZSB0aGUgaHlwZXJjYWxsDQo+IFBIWVNERVZPUF9wY2lfZGV2
aWNlX3N0YXRlX3Jlc2V0IGltcGxlbWVudGVkLiBJIHRoaW5rIHdlIHNob3VsZCBkbw0KPiBzb21l
dGhpbmcgbGlrZToNCj4gDQo+IGlmIChlcnIgJiYgeGVuX3B2aF9kb21haW4oKSkNCj4gICAgIGdv
dG8gY29uZmlnX3JlbGVhc2U7DQo+IA0KPiANCj4gT3IgZXZlbjoNCj4gDQo+IGlmICh4ZW5fcHZo
X2RvbWFpbigpKSB7DQo+ICAgICBlcnIgPSB4ZW5fcmVzZXRfZGV2aWNlX3N0YXRlKGRldik7DQo+
ICAgICBpZiAoZXJyKQ0KPiAgICAgICAgIGdvdG8gY29uZmlnX3JlbGVhc2U7DQo+IH0NCj4gDQo+
IGRlcGVuZGluZyBvbiB3aGV0aGVyIHdlIHdhbnQgdG8gY2FsbCB4ZW5fcmVzZXRfZGV2aWNlX3N0
YXRlIGFsc28gZm9yIFBWDQo+IGd1ZXN0cyBvciBub3QuIEkgYW0gYXNzdW1pbmcgd2UgZG9uJ3Qg
d2FudCB0byBlcnJvciBvdXQgb24gZmFpbHVyZSBzdWNoDQo+IGFzIC1FTk9FTlQgZm9yIFBWIGd1
ZXN0cy4NClllcywgb25seSBmb3IgUFZIIGRvbTAsIEkgd2lsbCBhZGQgdGhlIGNvbmRpdGlvbiBp
biBuZXh0IHZlcnNpb24uIFRoYW5rIHlvdSENCg0KPiANCj4gDQo+PiAgCQlwY2lfcmVzdG9yZV9z
dGF0ZShkZXYpOw0KPj4gIAl9DQo+PiAgCS8qIE5vdyBkaXNhYmxlIHRoZSBkZXZpY2UgKHRoaXMg
YWxzbyBlbnN1cmVzIHNvbWUgcHJpdmF0ZSBkZXZpY2UNCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRl
L3hlbi9pbnRlcmZhY2UvcGh5c2Rldi5oIGIvaW5jbHVkZS94ZW4vaW50ZXJmYWNlL3BoeXNkZXYu
aA0KPj4gaW5kZXggYTIzN2FmODY3ODczLi4yMzE1MjZmODBmNmMgMTAwNjQ0DQo+PiAtLS0gYS9p
bmNsdWRlL3hlbi9pbnRlcmZhY2UvcGh5c2Rldi5oDQo+PiArKysgYi9pbmNsdWRlL3hlbi9pbnRl
cmZhY2UvcGh5c2Rldi5oDQo+PiBAQCAtMjYzLDYgKzI2Myw4IEBAIHN0cnVjdCBwaHlzZGV2X3Bj
aV9kZXZpY2Ugew0KPj4gICAgICB1aW50OF90IGRldmZuOw0KPj4gIH07DQo+PiAgDQo+PiArI2Rl
ZmluZSBQSFlTREVWT1BfcGNpX2RldmljZV9zdGF0ZV9yZXNldCAgICAgMzINCj4+ICsNCj4+ICAj
ZGVmaW5lIFBIWVNERVZPUF9EQkdQX1JFU0VUX1BSRVBBUkUgICAgMQ0KPj4gICNkZWZpbmUgUEhZ
U0RFVk9QX0RCR1BfUkVTRVRfRE9ORSAgICAgICAyDQo+PiAgDQo+PiBkaWZmIC0tZ2l0IGEvaW5j
bHVkZS94ZW4vcGNpLmggYi9pbmNsdWRlL3hlbi9wY2kuaA0KPj4gaW5kZXggYjgzMzdjZjg1ZmQx
Li5iMmUyZTg1NmVmZDYgMTAwNjQ0DQo+PiAtLS0gYS9pbmNsdWRlL3hlbi9wY2kuaA0KPj4gKysr
IGIvaW5jbHVkZS94ZW4vcGNpLmgNCj4+IEBAIC00LDEwICs0LDE2IEBADQo+PiAgI2RlZmluZSBf
X1hFTl9QQ0lfSF9fDQo+PiAgDQo+PiAgI2lmIGRlZmluZWQoQ09ORklHX1hFTl9ET00wKQ0KPj4g
K2ludCB4ZW5fcmVzZXRfZGV2aWNlX3N0YXRlKGNvbnN0IHN0cnVjdCBwY2lfZGV2ICpkZXYpOw0K
Pj4gIGludCB4ZW5fZmluZF9kZXZpY2VfZG9tYWluX293bmVyKHN0cnVjdCBwY2lfZGV2ICpkZXYp
Ow0KPj4gIGludCB4ZW5fcmVnaXN0ZXJfZGV2aWNlX2RvbWFpbl9vd25lcihzdHJ1Y3QgcGNpX2Rl
diAqZGV2LCB1aW50MTZfdCBkb21haW4pOw0KPj4gIGludCB4ZW5fdW5yZWdpc3Rlcl9kZXZpY2Vf
ZG9tYWluX293bmVyKHN0cnVjdCBwY2lfZGV2ICpkZXYpOw0KPj4gICNlbHNlDQo+PiArc3RhdGlj
IGlubGluZSBpbnQgeGVuX3Jlc2V0X2RldmljZV9zdGF0ZShjb25zdCBzdHJ1Y3QgcGNpX2RldiAq
ZGV2KQ0KPj4gK3sNCj4+ICsJcmV0dXJuIC0xOw0KPj4gK30NCj4+ICsNCj4+ICBzdGF0aWMgaW5s
aW5lIGludCB4ZW5fZmluZF9kZXZpY2VfZG9tYWluX293bmVyKHN0cnVjdCBwY2lfZGV2ICpkZXYp
DQo+PiAgew0KPj4gIAlyZXR1cm4gLTE7DQo+PiAtLSANCj4+IDIuMzQuMQ0KPj4NCg0KLS0gDQpC
ZXN0IHJlZ2FyZHMsDQpKaXFpYW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 07:18:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 07:18:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644426.1005404 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8bJK-0004bC-OS; Thu, 30 Nov 2023 07:18:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644426.1005404; Thu, 30 Nov 2023 07:18: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 1r8bJK-0004b5-LC; Thu, 30 Nov 2023 07:18:10 +0000
Received: by outflank-mailman (input) for mailman id 644426;
 Thu, 30 Nov 2023 07:18: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=YLtP=HL=redhat.com=armbru@srs-se1.protection.inumbo.net>)
 id 1r8bJJ-0004az-1c
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 07:18:09 +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 9ba98b59-8f50-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 08:18:07 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-605-faJQaflrONWae7UjryOpGg-1; Thu, 30 Nov 2023 02:17:58 -0500
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com
 [10.11.54.2])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id AF742811001;
 Thu, 30 Nov 2023 07:17:56 +0000 (UTC)
Received: from blackfin.pond.sub.org (unknown [10.39.192.148])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 7D59D40C6EB9;
 Thu, 30 Nov 2023 07:17:55 +0000 (UTC)
Received: by blackfin.pond.sub.org (Postfix, from userid 1000)
 id 90DFA21E6A1F; Thu, 30 Nov 2023 08:17:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9ba98b59-8f50-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701328686;
	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=2p1/yCCqE7V/A9ix7GiHFBqyRKKVluWD2OXS34K6s/4=;
	b=gtD8qWltl0UMcMRkzbo4FjXPgRJFotsrichqmVHjQpBeCZAGYIlZQBBZDfwfAm+xzdy5iA
	3JB/o0Y/cF6/MSVcpOc/dEOR4qRbc9t5848brWgiXxZySFamEW9zSgBHag8khVqgEm273Y
	3Uh7uNOap+aFm0V5me9tNTSZGtMlvJY=
X-MC-Unique: faJQaflrONWae7UjryOpGg-1
From: Markus Armbruster <armbru@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org,  Jean-Christophe Dubois <jcd@tribudubois.net>,
  Fabiano Rosas <farosas@suse.de>,  qemu-s390x@nongnu.org,  Song Gao
 <gaosong@loongson.cn>,  Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
  Thomas Huth <thuth@redhat.com>,  Hyman Huang <yong.huang@smartx.com>,
  Marcelo Tosatti <mtosatti@redhat.com>,  David Woodhouse
 <dwmw2@infradead.org>,  Andrey Smirnov <andrew.smirnov@gmail.com>,  Peter
 Maydell <peter.maydell@linaro.org>,  Kevin Wolf <kwolf@redhat.com>,  Ilya
 Leoshkevich <iii@linux.ibm.com>,  Artyom Tarasenko <atar4qemu@gmail.com>,
  Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,  Max Filippov
 <jcmvbkbc@gmail.com>,  Alistair Francis <alistair.francis@wdc.com>,  Paul
 Durrant <paul@xen.org>,  Jagannathan Raman <jag.raman@oracle.com>,  Juan
 Quintela <quintela@redhat.com>,  Daniel P. =?utf-8?Q?Berrang=C3=A9?=
 <berrange@redhat.com>,
  qemu-arm@nongnu.org,  Jason Wang <jasowang@redhat.com>,  Gerd Hoffmann
 <kraxel@redhat.com>,  Hanna Reitz <hreitz@redhat.com>,  =?utf-8?Q?Marc-An?=
 =?utf-8?Q?dr=C3=A9?= Lureau
 <marcandre.lureau@redhat.com>,  BALATON Zoltan <balaton@eik.bme.hu>,
  Daniel Henrique Barboza <danielhb413@gmail.com>,  Elena Ufimtseva
 <elena.ufimtseva@oracle.com>,  Aurelien Jarno <aurelien@aurel32.net>,
  Hailiang Zhang <zhanghailiang@xfusion.com>,  Roman Bolshakov
 <rbolshakov@ddn.com>,  Huacai Chen <chenhuacai@kernel.org>,  Fam Zheng
 <fam@euphon.net>,  Eric Blake <eblake@redhat.com>,  Jiri Slaby
 <jslaby@suse.cz>,  Alexander Graf <agraf@csgraf.de>,  Liu Zhiwei
 <zhiwei_liu@linux.alibaba.com>,  Weiwei Li <liwei1518@gmail.com>,  Eric
 Farman <farman@linux.ibm.com>,  Stafford Horne <shorne@gmail.com>,  David
 Hildenbrand <david@redhat.com>,  Markus Armbruster <armbru@redhat.com>,
  Reinoud Zandijk <reinoud@netbsd.org>,  Palmer Dabbelt
 <palmer@dabbelt.com>,  Cameron Esfahani <dirty@apple.com>,
  xen-devel@lists.xenproject.org,  Pavel Dovgalyuk
 <pavel.dovgaluk@ispras.ru>,  qemu-riscv@nongnu.org,  Aleksandar Rikalo
 <aleksandar.rikalo@syrmia.com>,  John Snow <jsnow@redhat.com>,  Sunil
 Muthuswamy <sunilmut@microsoft.com>,  Michael Roth <michael.roth@amd.com>,
  David Gibson <david@gibson.dropbear.id.au>,  "Michael S. Tsirkin"
 <mst@redhat.com>,  Richard Henderson <richard.henderson@linaro.org>,  Bin
 Meng <bin.meng@windriver.com>,  Stefano Stabellini
 <sstabellini@kernel.org>,  kvm@vger.kernel.org,  qemu-block@nongnu.org,
  Halil Pasic <pasic@linux.ibm.com>,  Peter Xu <peterx@redhat.com>,
  Anthony Perard <anthony.perard@citrix.com>,  Harsh Prateek Bora
 <harshpb@linux.ibm.com>,  Alex =?utf-8?Q?Benn=C3=A9e?=
 <alex.bennee@linaro.org>,  Eduardo
 Habkost <eduardo@habkost.net>,  Paolo Bonzini <pbonzini@redhat.com>,
  Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,  =?utf-8?Q?C?=
 =?utf-8?Q?=C3=A9dric?= Le
 Goater <clg@kaod.org>,  qemu-ppc@nongnu.org,  Philippe =?utf-8?Q?Mathieu-?=
 =?utf-8?Q?Daud=C3=A9?=
 <philmd@linaro.org>,  Christian Borntraeger <borntraeger@linux.ibm.com>,
  Akihiko Odaki <akihiko.odaki@daynix.com>,  Leonardo Bras
 <leobras@redhat.com>,  Nicholas Piggin <npiggin@gmail.com>,  Jiaxun Yang
 <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 6/6] Rename "QEMU global mutex" to "BQL" in comments and
 docs
References: <20231129212625.1051502-1-stefanha@redhat.com>
	<20231129212625.1051502-7-stefanha@redhat.com>
Date: Thu, 30 Nov 2023 08:17:54 +0100
In-Reply-To: <20231129212625.1051502-7-stefanha@redhat.com> (Stefan Hajnoczi's
	message of "Wed, 29 Nov 2023 16:26:25 -0500")
Message-ID: <874jh3g15p.fsf@pond.sub.org>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.2

Stefan Hajnoczi <stefanha@redhat.com> writes:

> The term "QEMU global mutex" is identical to the more widely used Big
> QEMU Lock ("BQL"). Update the code comments and documentation to use
> "BQL" instead of "QEMU global mutex".
>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

For QAPI
Acked-by: Markus Armbruster <armbru@redhat.com>



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 07:23:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 07:23:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644429.1005414 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8bOY-0006nY-9q; Thu, 30 Nov 2023 07:23:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644429.1005414; Thu, 30 Nov 2023 07:23: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 1r8bOY-0006nR-6K; Thu, 30 Nov 2023 07:23:34 +0000
Received: by outflank-mailman (input) for mailman id 644429;
 Thu, 30 Nov 2023 07:23: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 1r8bOX-0006nH-6o; Thu, 30 Nov 2023 07:23: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 1r8bOW-0007UD-Vp; Thu, 30 Nov 2023 07:23: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 1r8bOW-0003Br-Nb; Thu, 30 Nov 2023 07:23:32 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8bOW-0002OJ-NB; Thu, 30 Nov 2023 07:23: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=hhRTyEvnpxms8JAIz8sn7O3sVR1mzIW+f+o9QU2uCBw=; b=sXlBTbalPzO9Fh8US0f4g5uMTg
	NVy7p4xAPVoA0qSv1JWxIF6ZcVxh5wDkv3lVwpi2Ip9xqc7zds7hWFcq64Un3X7Dw+BTFFwxP+NTc
	pWj8JvVxL2/5YhtLpwlF+0eVeA0WQ9bv4T36o0ULREulMeu2xzoXN7GG8qg6GfVBo9vE=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183945-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183945: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=59b6b5059b90883abfcbd906c411e8f59ac1aa0d
X-Osstest-Versions-That:
    ovmf=4f99b5fb936a2a0239d5212948b7104d75d1558c
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Nov 2023 07:23:32 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 59b6b5059b90883abfcbd906c411e8f59ac1aa0d
baseline version:
 ovmf                 4f99b5fb936a2a0239d5212948b7104d75d1558c

Last test of basis   183942  2023-11-29 21:12:45 Z    0 days
Testing same since   183945  2023-11-30 05:11:04 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Ashish Singhal <ashishsingha@nvidia.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
   4f99b5fb93..59b6b5059b  59b6b5059b90883abfcbd906c411e8f59ac1aa0d -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 07:56:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 07:56:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644434.1005423 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8btl-0006U9-My; Thu, 30 Nov 2023 07:55:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644434.1005423; Thu, 30 Nov 2023 07: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 1r8btl-0006U2-KM; Thu, 30 Nov 2023 07:55:49 +0000
Received: by outflank-mailman (input) for mailman id 644434;
 Thu, 30 Nov 2023 07:55: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8btj-0006Sh-WD
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 07:55:48 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2045.outbound.protection.outlook.com [40.107.7.45])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id dde0c79e-8f55-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 08:55:45 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB9075.eurprd04.prod.outlook.com (2603:10a6:102:229::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8; Thu, 30 Nov
 2023 07:55:15 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 07:55: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: dde0c79e-8f55-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=FrlhXif8wM/iCRwzJn9mn3HnBMkdELw+IR4rXxo4W+/x04bruf95np/vMhVinOhbMpEeMH01K8U/6Ot2pm2agTXFjxhKqTLn8APL3GVq8XyJY6boieq/Ji650ZcVl7pc1+Z0875cU80dtYJQvOH30x8e2Zx3sqbqD6ZXOQN63B7o+cYKv2cR08Bs1YU4ij3vYZcRTM5n6oiA4Rt9BKA3ZmgkTs8VJtrVew9pN5ikPCxesN0ddvdhK3f6VxTeOgL4SlOyW2OUKoBrAmpUG8vTk+98ph8Hr+HCPrQI6BZLkFZpCIVtLg+M1Zf177uLc+0INs9k0f5OuIy9cKS4+P0WvA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=nHXgrOzp44h7ElafAfiU1urZW7/oYnjFt3cZ99D3DMY=;
 b=eyvqo8zDJcV4nZfjc9ylNNbYT5s0q/KB0IIwtxfhXk2EHTw/m4YOK1KCe0ORqUL22wEaE68pH15vgrBfDfxV5iCsZ0YOU28Wot4FFq2D/8V0yjZnIbQS+wgZ+TXShzO8oGz8IfjVv4bYIeSl3W8lSZglPa5L3REY2/qPbS1hk1SQ4QVdfyYwptTTpUba0O4yTF4+CIhRjWP2wjEOPBz+Y7WfZ1vIfi0ctiGGt5yG4ZvrgPNIarGZyrXMwtmoNp22I8tWVKSTMaz0nlhYt3/k4AVLMZnzko+zwt7QHJYPpDX5G3lXrC/BYAaec5kePfA15kdV5xdNXHHG71NuZ+tdhA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=nHXgrOzp44h7ElafAfiU1urZW7/oYnjFt3cZ99D3DMY=;
 b=mmMyQXIoVHu03AAOUeR9or6gG0wSG4vuZwjc5eLH7e3KAaJpZAuP1f8CgEx75ZpOuP2sI3cE4cVlruQl49nJOW320BPvOMl8cc0dO/8v+l3PmkxirD8Gr/0X8yWfJu24u4Pon6yeBQFx+UFwz1bXs7d7y0cRvp1bXL7Uf/vlEMKwepgAa4YQHEzGDCh86bd3vHxsK5IUFPCJ2YXJNIeG7BHd1Nh0e1ux5Epw3P9yAgAqEg9HS56aT8+scln3z6TW7agEI6PbVsqbzooDfHFIGECiWZ5fJ3xevYmOcLsCalPc5m6/y7VXB4xWy3Jwdki7gMdg83NCX/pKXpZZBMRwgA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
Date: Thu, 30 Nov 2023 08:55:13 +0100
User-Agent: Mozilla Thunderbird
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>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Subject: [PATCH] x86/DMI: adjustments to comply with Misra C:2012 Rule 9.3
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0163.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b3::17) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB9075:EE_
X-MS-Office365-Filtering-Correlation-Id: 4e132038-3336-483b-e43f-08dbf179b03e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	aGeqXub22gHfwqRxnWewT3pIeUZTVrfU/NzB4IPDgceLmidb196Quez2ZfiHXbLjH7P+BlvaQkQ6eygclivvWMSr0fFl4xgZ1NhMXvbYiSOMG7dMbmQciHHfBcmvmSW8TQFFWTst8IT7V3IjQM1qGR/lyWOM+XlqDMHDappCnrhavdp9vs/KImQ0a/6JlqTJKDwcIl0TsXr8dy2jdjNjilnKOtcd4DkPV5b/MrGsFGzD6jv+lwxQzKlUTI0fRvJk8jOMhi6F05dBO5XpOsKjwCkyyx54sHyX8TApiMDdbAK36j880UV9t7ht9qX4JUfli7ZG4kakZ0R4KwCiA3KA9CuQfVOGerqzda6dsuN4ohV2yBaFmBByTCNz6+mIPgvGU9P/w7VVT/8E/hpgKP59h8TsClNnfEVckyEWdfFduzWAdRsds+2BgAu3uUEmYiSvxiwCeE9Bs6ty9wLzUWlEst8IK/UxyJAjJSoqRBa5mn0Gtd8JL2n2ArdunBhgfLVuOXdZgPWBIxkBrzt4ENAUX3GHH00vfbvJzicYa4iHbJO1RHYvl8euFlDhKmvMQUxNo1x700aaIUyY+8fxcMMxSraiFmyNzbfUiT3gpG0j1J50Xf2t1JkrIWIg4ki5O2RQwrfLn8mux61No3j72gcoh6R7MRSeztKZkWOtCjeH1MmuUci4U0FI6/evmkWubtwZ
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(346002)(39860400002)(376002)(136003)(230922051799003)(1800799012)(186009)(451199024)(64100799003)(31686004)(202311291699003)(478600001)(6486002)(26005)(6512007)(6506007)(2616005)(38100700002)(36756003)(31696002)(86362001)(41300700001)(66556008)(5660300002)(54906003)(66946007)(6916009)(66476007)(2906002)(30864003)(316002)(8936002)(4326008)(8676002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y1hObDV6aDZ1OE45dmVORzRJSmI5QnNVM09wWGoxLzlRa0UwYWFLWUJyZzhH?=
 =?utf-8?B?SGJrbmdNU29xb05qSzRvU0dKRVRUS2llU3lyODBCUHVhZGVVaEZZRENrQnI2?=
 =?utf-8?B?YVd0YUpjK0VDT3Z1RWM2VERHN2V1OHBFN3UxQ0MydjBNOFBhdHp1MnR3NDUr?=
 =?utf-8?B?clBQM3BxOWo5cDNwdS9VcDZocndmZnc3MW9Bd3Fob08vRXZpMlNibG81YlpW?=
 =?utf-8?B?WTVVY0NLcmtSV3VqVXF3MGpTdldOYVdDU1BHOHhWa1dSNjVjSU1OUHVMWWZr?=
 =?utf-8?B?QzBOUDdRNCtwajNpR0NaZXJNUzkvU2lMU3BMbTZ2b0dLNDZVU0VmejNyZGY5?=
 =?utf-8?B?ejBYRUJEQTNNdlNrb0tHcHZGTnRkZVAxMjdQM2VQOTZGZTNmamlyMnRneUFI?=
 =?utf-8?B?S3p5TmlEbFl3bDNwbjlmQmx3QVMwOTlCME1LNVFGQWdxTEZkUGdZTUY3MENJ?=
 =?utf-8?B?UjhqQWdhTk1EOTZ1VUM0RmFEVEtGZERKb1MvdEpZY1Zwb216NktJRUxSWW16?=
 =?utf-8?B?SlhIT0FPeWZvMTU1V2tLR3hFNy9Vb3JwSGZYUHExNGgzbFNud0R4azJFaUdY?=
 =?utf-8?B?aXpqN2hITHI0NlpaTGhma3NQeW9Vbm9XQjlMSHNrT1dLcFBHeTl3aG1wMEV5?=
 =?utf-8?B?WnRHZE5lTU9CaWx1VUdBVVc1YmZPTnpJWHVuTWRCcnhKN2JqS1ZCZk9HWkUr?=
 =?utf-8?B?VHNvVDFZNldIYmFjSWNQOGhhNm1CdDEzdUZUVnJ4VFZ3ejNtcHU2cVZhT3E2?=
 =?utf-8?B?YTJjVm10aEdrdlhXOWtOWEd4N1VQWGhhQmEwQWxLZEJzZ29xYU5tZFRNTnRY?=
 =?utf-8?B?ZnVYdUpUL0gzK0dMUTFkOEhybVNHVzYwVUlhTW9pVXlYUzVxYW1xcWQzTDdm?=
 =?utf-8?B?NCtjTW1Mb3hncGdkRWJiMHUvdzUvcWh6cEdJdnJkNXQ0VE5ISmtITU5WRW1D?=
 =?utf-8?B?bCtsRVNzMVlvb0Z6clJ6N3M3M2gzWXhnUEtkSmlkak9wVUJyQ0VLZGxCSnVu?=
 =?utf-8?B?bHpEdS9EQjJZelpuYzUwb09EZURMUWZwMEFGOW5vVGNaWnNyR1JCbEFnellP?=
 =?utf-8?B?UlZ0NkFiNjhPeERPbThGeXg3dWVOanAyNGZTU1dUTi9GYUxCSzJCT2E3ZW9C?=
 =?utf-8?B?cVJRTFRjY3VyK1NpcVg1WDY3TzZXYUVCMkpEWW1SMlM1bXZuYkYrRC9VOTli?=
 =?utf-8?B?aXRaanh4RTVob3FaQ2o3THBSM3NZbnpHOFpHWHFGUXJtdmYrd055VWRXTGFv?=
 =?utf-8?B?WCtUVUIvZEV0ZU9JRnU5Y2gzUE42VW4vdFhTL0NpOGx5WWNKWEFtMnpEbGR2?=
 =?utf-8?B?VFIrci9kN1BXWDJ5RXRLREhZVEtiYXBZZk5VWmFmWUNSTEVtdi9sNTRaOHBt?=
 =?utf-8?B?a3Q2WVJNTHFFemUxa2tLT005dFB5b0Z4a3RTU0tQUmxvSHRHK2g2UmVESDlz?=
 =?utf-8?B?dDQ1amZTY3RORHlJNXNGZWFERWhZWUh4b3gyNWVNb2hJbVBFaStJU0R6N3ZN?=
 =?utf-8?B?Qkk0K3VmaVlBTzM1WUg2cGIxY3FPZEtndXB3STBYMGJkV0NwN0tBTHdNdmt1?=
 =?utf-8?B?SlhueGhoLyswVEpJYStIVlR2VmxSYUpQQlZpbnRRR1JuRzlyYWV6bHVsV2VR?=
 =?utf-8?B?c0xvd3E4ZlhGMjZwbjNuT2ZqOVFncWs0bEd1Q2NyakxjSUlORUxKMGRDREMr?=
 =?utf-8?B?OUJnc3E3RjkzQTRmM2xJOXZINUhOZGlMVkIzbTRoSUNBR3dDWFY5ODVxcUZs?=
 =?utf-8?B?TUI1UXBQeURORWtOZWprZnZ0MjNaaXRxNUNzZ1VsZkoydjFZUVYrY1BFUDJZ?=
 =?utf-8?B?cXJwWHBmOVc0bW41MG9BdU5GaTVqVmU3ME13MlI1Nm5qcThzbkhhODBsZjBT?=
 =?utf-8?B?MytQQjFUL2M2TjhhbVBSN0tNN0NXaENKNUJjWGJJS3B2N2pibnU5ZkNNWEJp?=
 =?utf-8?B?Ulg4dDg3MjljUUgxdUJHNk1KNC9SaEszNXBkR0tKRmNNT1ZabzlBMUh2Ylp0?=
 =?utf-8?B?UnE4ZitRVFhWZU1zVUdPK1RscUU4czNvREl3S3FpVjhzVzRZYld2ZTJ2amxz?=
 =?utf-8?B?UXNrajZIQ2Q4VWw3aG9ENEdXYW5ha2Z2QVpkMHlvaTh3bFRpbzNjQ2JYczdW?=
 =?utf-8?Q?aQcYGgGZyBBIVZg4YtEnOOGYC?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e132038-3336-483b-e43f-08dbf179b03e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 07:55:15.4419
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: v7o0GULZBX19t3/8lay49shZ5iSraC7NlW35GN4lcpzQcJTOPGXzdgktQA8na5Pc7Dl0nyxyoGoF/waKLdO2VA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9075

The rule demands that all array elements be initialized (or dedicated
initializers be used). Introduce a small set of macros to allow doing so
without unduly affecting use sites (in particular in terms of how many
elements .matches[] actually has; right now there's no use of
DMI_MATCH4(), so we could even consider reducing the array size to 3).

Note that DMI_MATCH() needs adjustment because of the comma included in
its expansion, which - due to being unparenthesized - would otherwise
cause macro arguments in the "further replacement" step to be wrong.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
---
Of course a question is how many of these DMI table entries are in fact
no longer applicable (e.g. because of naming 32-bit-only systems).
Subsequently the table in dmi_scan.c itself may want cleaning up as
well, yet I guess the question of stale entries is even more relevant
there.

An alternative to using the compound literal approach might be to go
along the lines of

#define DMI_MATCH4(m1, m2, m3, m4) .matches = { [0] = m1, [1] = m2, [2] = m3, [3] = m4 }

I've chosen the other approach mainly because of being slightly shorter.

--- a/xen/arch/x86/genapic/bigsmp.c
+++ b/xen/arch/x86/genapic/bigsmp.c
@@ -19,11 +19,14 @@ static int __init cf_check force_bigsmp(
 
 
 static const struct dmi_system_id __initconstrel bigsmp_dmi_table[] = {
-	{ force_bigsmp, "UNISYS ES7000-ONE", {
-		DMI_MATCH(DMI_PRODUCT_NAME, "ES7000-ONE")
-	 }},
+	{
+	    .ident = "UNISYS ES7000-ONE",
+	    .callback = force_bigsmp,
+	    DMI_MATCH1(
+		DMI_MATCH(DMI_PRODUCT_NAME, "ES7000-ONE")),
+	},
 	
-	 { }
+	{ }
 };
 
 
--- a/xen/arch/x86/hvm/quirks.c
+++ b/xen/arch/x86/hvm/quirks.c
@@ -36,42 +36,37 @@ static int __init cf_check check_port80(
         {
             .callback = dmi_hvm_deny_port80,
             .ident    = "Compaq Presario V6000",
-            .matches  = {
+	    DMI_MATCH2(
                 DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
-                DMI_MATCH(DMI_BOARD_NAME,   "30B7")
-            }
+                DMI_MATCH(DMI_BOARD_NAME,   "30B7")),
         },
         {
             .callback = dmi_hvm_deny_port80,
             .ident    = "HP Pavilion dv9000z",
-            .matches  = {
+	    DMI_MATCH2(
                 DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
-                DMI_MATCH(DMI_BOARD_NAME,   "30B9")
-            }
+                DMI_MATCH(DMI_BOARD_NAME,   "30B9")),
         },
         {
             .callback = dmi_hvm_deny_port80,
             .ident    = "HP Pavilion dv6000",
-            .matches  = {
+	    DMI_MATCH2(
                 DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
-                DMI_MATCH(DMI_BOARD_NAME,   "30B8")
-            }
+                DMI_MATCH(DMI_BOARD_NAME,   "30B8")),
         },
         {
             .callback = dmi_hvm_deny_port80,
             .ident    = "HP Pavilion tx1000",
-            .matches  = {
+	    DMI_MATCH2(
                 DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
-                DMI_MATCH(DMI_BOARD_NAME,   "30BF")
-            }
+                DMI_MATCH(DMI_BOARD_NAME,   "30BF")),
         },
         {
             .callback = dmi_hvm_deny_port80,
             .ident    = "Presario F700",
-            .matches  = {
+	    DMI_MATCH2(
                 DMI_MATCH(DMI_BOARD_VENDOR, "Quanta"),
-                DMI_MATCH(DMI_BOARD_NAME,   "30D3")
-            }
+                DMI_MATCH(DMI_BOARD_NAME,   "30D3")),
         },
         { }
     };
--- a/xen/arch/x86/ioport_emulate.c
+++ b/xen/arch/x86/ioport_emulate.c
@@ -43,59 +43,51 @@ static const struct dmi_system_id __init
      */
     {
         .ident = "HP ProLiant DL3xx",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL3"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL3")),
     },
     {
         .ident = "HP ProLiant DL5xx",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL5"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL5")),
     },
     {
         .ident = "HP ProLiant DL7xx",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL7"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant DL7")),
     },
     {
         .ident = "HP ProLiant ML3xx",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant ML3"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant ML3")),
     },
     {
         .ident = "HP ProLiant ML5xx",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant ML5"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant ML5")),
     },
     {
         .ident = "HP ProLiant BL2xx",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL2"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL2")),
     },
     {
         .ident = "HP ProLiant BL4xx",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL4"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL4")),
     },
     {
         .ident = "HP ProLiant BL6xx",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_BIOS_VENDOR, "HP"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL6"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "ProLiant BL6")),
     },
     { }
 };
--- a/xen/arch/x86/shutdown.c
+++ b/xen/arch/x86/shutdown.c
@@ -187,348 +187,310 @@ static const struct dmi_system_id __init
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell E520",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Dell DM061"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Dell DM061")),
     },
     {    /* Handle problems with rebooting on Dell 1300's */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell PowerEdge 1300",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1300/"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 1300/")),
     },
     {    /* Handle problems with rebooting on Dell 300's */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell PowerEdge 300",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 300/"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 300/")),
     },
     {    /* Handle problems with rebooting on Dell Optiplex 745's SFF */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell OptiPlex 745",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745")),
     },
     {    /* Handle problems with rebooting on Dell Optiplex 745's DFF */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell OptiPlex 745",
-        .matches = {
+        DMI_MATCH3(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
             DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
-            DMI_MATCH(DMI_BOARD_NAME, "0MM599"),
-        },
+            DMI_MATCH(DMI_BOARD_NAME, "0MM599")),
     },
     {    /* Handle problems with rebooting on Dell Optiplex 745 with 0KW626 */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell OptiPlex 745",
-        .matches = {
+        DMI_MATCH3(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
             DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 745"),
-            DMI_MATCH(DMI_BOARD_NAME, "0KW626"),
-        },
+            DMI_MATCH(DMI_BOARD_NAME, "0KW626")),
     },
     {    /* Handle problems with rebooting on Dell Optiplex 330 with 0KP561 */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell OptiPlex 330",
-        .matches = {
+        DMI_MATCH3(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
             DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 330"),
-            DMI_MATCH(DMI_BOARD_NAME, "0KP561"),
-        },
+            DMI_MATCH(DMI_BOARD_NAME, "0KP561")),
     },
     {    /* Handle problems with rebooting on Dell Optiplex 360 with 0T656F */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell OptiPlex 360",
-        .matches = {
+        DMI_MATCH3(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
             DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 360"),
-            DMI_MATCH(DMI_BOARD_NAME, "0T656F"),
-        },
+            DMI_MATCH(DMI_BOARD_NAME, "0T656F")),
     },
     {    /* Handle problems with rebooting on Dell OptiPlex 760 with 0G919G */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell OptiPlex 760",
-        .matches = {
+        DMI_MATCH3(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
             DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 760"),
-            DMI_MATCH(DMI_BOARD_NAME, "0G919G"),
-        },
+            DMI_MATCH(DMI_BOARD_NAME, "0G919G")),
     },
     {    /* Handle problems with rebooting on Dell 2400's */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell PowerEdge 2400",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Computer Corporation"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 2400"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge 2400")),
     },
     {    /* Handle problems with rebooting on Dell T5400's */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell Precision T5400",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation T5400"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation T5400")),
     },
     {    /* Handle problems with rebooting on Dell T7400's */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell Precision T7400",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation T7400"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Precision WorkStation T7400")),
     },
     {    /* Handle problems with rebooting on HP laptops */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "HP Compaq Laptop",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "HP Compaq")),
     },
     {    /* Handle problems with rebooting on Dell XPS710 */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell XPS710",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Dell XPS710"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Dell XPS710")),
     },
     {    /* Handle problems with rebooting on Dell DXP061 */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Dell DXP061",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Dell DXP061"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Dell DXP061")),
     },
     {    /* Handle problems with rebooting on Sony VGN-Z540N */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Sony VGN-Z540N",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Sony Corporation"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "VGN-Z540N"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "VGN-Z540N")),
     },
     {    /* Handle problems with rebooting on ASUS P4S800 */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "ASUS P4S800",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_BOARD_VENDOR, "ASUSTeK Computer INC."),
-            DMI_MATCH(DMI_BOARD_NAME, "P4S800"),
-        },
+            DMI_MATCH(DMI_BOARD_NAME, "P4S800")),
     },
     {    /* Handle reboot issue on Acer Aspire one */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_KBD,
         .ident = "Acer Aspire One A110",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Acer"),
-            DMI_MATCH(DMI_PRODUCT_NAME, "AOA110"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "AOA110")),
     },
     {    /* Handle problems with rebooting on Apple MacBook5 */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Apple MacBook5",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "MacBook5"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "MacBook5")),
     },
     {    /* Handle problems with rebooting on Apple MacBookPro5 */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Apple MacBookPro5",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "MacBookPro5")),
     },
     {    /* Handle problems with rebooting on Apple Macmini3,1 */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Apple Macmini3,1",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Macmini3,1"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Macmini3,1")),
     },
     {    /* Handle problems with rebooting on the iMac9,1. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Apple iMac9,1",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Apple Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "iMac9,1"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "iMac9,1")),
     },
     {    /* Handle problems with rebooting on the Latitude E6320. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell Latitude E6320",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6320"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6320")),
     },
     {    /* Handle problems with rebooting on the Latitude E5420. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell Latitude E5420",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E5420")),
     },
     {       /* Handle problems with rebooting on the Latitude E6220. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell Latitude E6220",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6220"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6220")),
     },
     {    /* Handle problems with rebooting on the Latitude E6420. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell Latitude E6420",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6420"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6420")),
     },
     {    /* Handle problems with rebooting on the OptiPlex 990. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell OptiPlex 990",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990")),
     },
     {    /* Handle problems with rebooting on the Precision M6600. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell OptiPlex 990",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Precision M6600"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Precision M6600")),
     },
     {    /* Handle problems with rebooting on the Latitude E6520. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell Latitude E6520",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6520"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6520")),
     },
     {       /* Handle problems with rebooting on the OptiPlex 790. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell OptiPlex 790",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 790"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 790")),
     },
     {    /* Handle problems with rebooting on the OptiPlex 990. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell OptiPlex 990",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 990")),
     },
     {    /* Handle problems with rebooting on the OptiPlex 390. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell OptiPlex 390",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 390"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 390")),
     },
     {    /* Handle problems with rebooting on Dell OptiPlex 9020. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_ACPI,
         .ident = "Dell OptiPlex 9020",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 9020"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "OptiPlex 9020")),
     },
     {    /* Handle problems with rebooting on the Latitude E6320. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell Latitude E6320",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6320"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6320")),
     },
     {    /* Handle problems with rebooting on the Latitude E6420. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell Latitude E6420",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6420"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6420")),
     },
     {    /* Handle problems with rebooting on the Latitude E6520. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_CF9,
         .ident = "Dell Latitude E6520",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6520"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6520")),
     },
     {    /* Handle problems with rebooting on Dell PowerEdge R540. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_ACPI,
         .ident = "Dell PowerEdge R540",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R540"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R540")),
     },
     {    /* Handle problems with rebooting on Dell PowerEdge R740. */
         .callback = override_reboot,
         .driver_data = (void *)(long)BOOT_ACPI,
         .ident = "Dell PowerEdge R740",
-        .matches = {
+        DMI_MATCH2(
             DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."),
-            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R740"),
-        },
+            DMI_MATCH(DMI_PRODUCT_NAME, "PowerEdge R740")),
     },
     { }
 };
--- a/xen/arch/x86/x86_64/mmconf-fam10h.c
+++ b/xen/arch/x86/x86_64/mmconf-fam10h.c
@@ -188,9 +188,8 @@ void fam10h_check_enable_mmcfg(void)
 static const struct dmi_system_id __initconstrel mmconf_dmi_table[] = {
 	{
 		.ident = "Sun Microsystems Machine",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "Sun Microsystems"),
-		},
+		DMI_MATCH1(
+			DMI_MATCH(DMI_SYS_VENDOR, "Sun Microsystems")),
 	},
 	{}
 };
--- a/xen/include/xen/dmi.h
+++ b/xen/include/xen/dmi.h
@@ -30,7 +30,12 @@ struct dmi_system_id {
 	void *driver_data;
 };
 
-#define DMI_MATCH(a,b)	{ a, b }
+#define DMI_MATCH(a,b)	((struct dmi_strmatch){ a, b })
+
+#define DMI_MATCH4(m1, m2, m3, m4) .matches = { m1, m2, m3, m4 }
+#define DMI_MATCH3(m1, m2, m3) DMI_MATCH4(m1, m2, m3, DMI_MATCH(0, NULL))
+#define DMI_MATCH2(m1, m2)     DMI_MATCH3(m1, m2, DMI_MATCH(0, NULL))
+#define DMI_MATCH1(m1)         DMI_MATCH2(m1, DMI_MATCH(0, NULL))
 
 extern int dmi_check_system(const struct dmi_system_id *list);
 extern void dmi_scan_machine(void);


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 08:24:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 08:24:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644443.1005434 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cLb-0006EL-EZ; Thu, 30 Nov 2023 08:24:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644443.1005434; Thu, 30 Nov 2023 08: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 1r8cLb-0006EE-BN; Thu, 30 Nov 2023 08:24:35 +0000
Received: by outflank-mailman (input) for mailman id 644443;
 Thu, 30 Nov 2023 08:24: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8cLZ-0006E8-Ol
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 08:24:33 +0000
Received: from EUR02-DB5-obe.outbound.protection.outlook.com
 (mail-db5eur02on2060c.outbound.protection.outlook.com
 [2a01:111:f400:fe12::60c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e304b1c4-8f59-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 09:24:32 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8896.eurprd04.prod.outlook.com (2603:10a6:102:20f::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Thu, 30 Nov
 2023 08:24:30 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 08:24: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: e304b1c4-8f59-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=nfJQy32KXtsr40WQ8bYKh4Fo0LtwlVifnpdREvtNV4uTH/hFkonEKHykeMSuwklOPrSmR764ZLGnB/tfXB/Llhqz91YEDwcZOignudrjdG3qXLOkhDFNXuJUwHIjeEuf+d5/F1MEGs6QH44lhNl2Zn34zuVmNsib7YffO6T6MBXUhhglSCwxOIlQbQSEnKxM5qS937i9794yT6CwHhTFT8m1LIqZZFI8U5ptZGaToxfoDeNYRqkgv1YxUzAF14CTbNjum2hMseYNWXXJnKtIt7laIwOyjGrwFwqLvbEVVNsY+bxpNazZXrc+KRbEz1q9BZ+Pn50XERqqFUaHdvM5vg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=+1jL6UfUo5JuIxAjehJPBzE6PntVVAu5RmhSCI5OUw0=;
 b=SjTZTav5BE7ZoU5pncY1wosxhBjp306dOrOxj/lEoyDs6/0nwzhxXkufyjaKwm9pgsUwjy24Jtw+mnSyTKq60QZfPOeZGTy35aDWXfPTS6rxKD3I4rEqWNp/OZh8CXepTLr/J4Su1qdvat6wCvRDn5oTO0AFGULorTsxZyYFuzKmSm/ykFH+fUigUdhTmOalIMam+uaAkM9dSoJxpVDbVtyFsBtLxcITokqyfrKh5nibIRNDmzb93/YGyaPNSQrci+VpTyRdF/Ofo2gxN8bxMdK92QQ3THDyU9p3pRuC+jiVwuOxMfWj75mvWJHd7xZKqSClCGnPnIEZi1EcYEjBEA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=+1jL6UfUo5JuIxAjehJPBzE6PntVVAu5RmhSCI5OUw0=;
 b=sB18TOQMKVBbbJHLBpwBEGX5e8XXZ4OZFkj1qynFOAaScTE6aIoV+//BcLtms7b/r66JhoBoYuOb4tiP2fNqVh/uELuf8eUweD7l4ZR8ivXDo32VGavEHJvhufZTDJjWpriL0818EQzsWh94LAy40hZw2cLBK4ktMWrGYgkxPD/D49u1Em8rdLQ3kTcBSoq//MGNz23ASXfnaFW5gxo1uXvdGVvdUoVR8z39THrizslwuYXrbpTo/HGFlQPaThJNu3uQLri521PFOpVVW42jrkfuCG++58J3PODOc4ukgq85vJCRHrB+XGY/k97F5ek8zWBEAiw9bMIDqNdtOUHegw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <eb0f9b13-1b53-41ed-80f2-da468b13e1db@suse.com>
Date: Thu, 30 Nov 2023 09:24:27 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: fix flexible array definitions
Content-Language: en-US
To: Juergen Gross <jgross@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20230725135557.20518-1-jgross@suse.com>
 <5ba647c0-fc74-595e-5fe3-658f4662f16e@suse.com>
 <f54fcb50-15c5-aa72-60fa-6370547bb9f2@citrix.com>
 <6cd0c3e2-ecae-971a-5c86-cf408591bee9@suse.com>
 <6300d166-621e-83bf-0ac2-70ea89b75492@suse.com>
 <de3fcfc2-b92c-469d-b7fb-7eb1e9b4a38a@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <de3fcfc2-b92c-469d-b7fb-7eb1e9b4a38a@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR4P281CA0123.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b9::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8896:EE_
X-MS-Office365-Filtering-Correlation-Id: 40591f82-c321-4cc9-4a58-08dbf17dc5c6
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:
	sv89XXWA/8yXmLMba4Pk1LdlAO+AaswpqvFLvy1d61ipb9GvzHHTHfPTS/1RxApXm5MfeAwwpwLVO0IiVJ5mEAYuYS8iWOaYNzj8RlKWGsq9SamwatRM/gt14gSwpcd5D4uJsTs52X6az1T1NeiYrtf2Z3PetCcdFAujtepNGLRX8tq9zfInmX+hoYBEot93bNWc7Ih5A0qupD9Kqxi3OA0Ik+oR27P9aaOKvHzpoM9S0PT/aw4U3yAV4ogLQs6rZ8ZIJRYCZn3YAPMRcMjsTtzEwFTFlVmFyypm4cqfOEkosbXHlhjyvExi5vuJwtl2uryYyrFqWGO8MP4KFK5STdVvX9cYBnDkpyRvG2ZWC4AdCb4Kfz2J1ds8K2Ofsev9oUOuzS4IC7Vpa1RuB+iu19FZ1tQvxEwiG3C+ZtHbpa14Af+f3f+awb6yoIVhmTvIM32UoMICYzixNnD9chq4JECRK8Ce/FDRPEXvG/GS7ej7m4ORNtkpXHXJYmnpDII7oQtBJJZA8xzbTQLrB0/X25ivNXTIpYtB4tPXRo2t1lbl9qraFgZR1lmwz30jbYHyLeMTZ7a/tr0XarxUSSeM1AK97fJrBM5WLoqR9oaNAFfdpDlm3aCNfYcM/7Em4Ww8VlOpHWHvaRXqE1sH7gAQuRvWwP6Sens8hyVzalxySyXZXzehUO4OtJWp/pOiWLN3
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(376002)(396003)(136003)(39860400002)(366004)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(31686004)(26005)(2616005)(86362001)(8676002)(8936002)(4326008)(6862004)(31696002)(6512007)(53546011)(38100700002)(6506007)(83380400001)(478600001)(6486002)(966005)(316002)(6636002)(37006003)(66946007)(66556008)(66476007)(41300700001)(202311291699003)(36756003)(2906002)(5660300002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WEhNVExNZFAxSzUxYlZjU2NwTVY0TDZlWDA2WjMxcW5XRWVPUkI4clRyVnJl?=
 =?utf-8?B?c2M1MVRqRFpOUU5WUW1JRTI1em8yRlAzZGZDUTNrMStIQlg1VytZNlVTZFB6?=
 =?utf-8?B?eVo5S05LYWJvdTNrNVdmOFlYZXY4aUMwRmd6dGNUYmZhNTZ0ZkJNd1lEY1lG?=
 =?utf-8?B?QUw4UUg4eC9QVXFJNFVjbUdYREpNY3pVcDdZVzFGeWY5bHJGejlObmZIOWow?=
 =?utf-8?B?QVpaTEhOZHE4Z04zckhUN25UamszOWhCMFltbjhkU25HKzdrb1VTMCs2WHRr?=
 =?utf-8?B?cjg1MWtjUE9XUS9HUDVoaC9Wemx5NEFjcmhjSXJKZFhCcUltdm53ZzViY09Q?=
 =?utf-8?B?UHhRWjAzVmV6Ti9kZ0FZMGhvNXgwV0lwdnU3U3Nyb2tPaklGZEx0VEJ0eTFM?=
 =?utf-8?B?MzF2RmV3bEdjeVBZQ3lVMFFXbnFHUFNmRU1YUXFtRXE2Yll6SU9lY1IvYVNU?=
 =?utf-8?B?Z1VsODgvMHYxTldqd1Ara3IzSnVHTnFYaVJMbWZweThsVTR4K3JBWjQvaTJL?=
 =?utf-8?B?eW1JTlR3d3BZNnFSa1pCTWFaa0RRTnJpcFBwaCtUcXdtb0h1bUtaeExhMXIx?=
 =?utf-8?B?QXRpc1JxcXdsb1RIVW1Va0Fuc083SlVzR1ZTcWFXM0txNlhldGRIUytrN0Fw?=
 =?utf-8?B?V0t5TnAxZDdkek1KbitNdW9LYmF0NUF1bFpsMzd6RkkrZDRoaVE2Um14d1ZD?=
 =?utf-8?B?SlU1SmE0Z0E4RTVpWHpoWml6amovS0VmUzdVQTlUQ20vTkc0SVlySmtCUS9I?=
 =?utf-8?B?ZTRlQkVJbENLLy9ZaUlia0FleWFTVUZmWDlpUnlYN1NvdjcyS1ZkY0Q5bmp4?=
 =?utf-8?B?K3g3Mk5uSXArU085VTNJa0c3RGJTZ0xRdXZlT1FoQ1pYMjQ4QnAwaTZuT0RZ?=
 =?utf-8?B?SytZZjBJbHFjVjJVUlpkUWN0MGsvZDhCVEFCWHJjeC9kV0lETk1TOTNRRHor?=
 =?utf-8?B?ekpRQ1lJNUwrQ2I3TkJKVWFhVEo3YktLbWgyOHJvS0V1UHE4ZlhCVkZjdjRs?=
 =?utf-8?B?ZkU3L2g1ekJUUXhyYVJwTktzMThMYm9qbmNRZGZCaGFuUnVlcmpQMnd5ajF0?=
 =?utf-8?B?M01HUFN2MU1FK1FFTmUwc1J6UE5IZTVUU3cxc2ZEUVI1VWppbHlUUGJ4TEdS?=
 =?utf-8?B?Rk92aXJsZjRDQk9lQW5JYmhjaUZUZ3V0V3pLaVhoTDRiaEgzLzZ4LzF6SFBQ?=
 =?utf-8?B?NTd6Mlg4TG5mQXFYWDQ0RUh3dG1Zb3VBWC9sdUFIR2dUK0dLU09YWHlwVkJP?=
 =?utf-8?B?cTlLSFlOZzlBUjR6OXFKK3djZnRxc2RBaXFKWlh0aTdiQ2QxR1lFcUlUQ2tN?=
 =?utf-8?B?eit5SXpjR1M2Y2ZTOTJCVS9raG1LcEJsOE1qUGdhbjNRZlg5d3B5MVFmdXl0?=
 =?utf-8?B?R2J2SDg5ODFJRCtVKzVwVFU4ck5ORDNYSjNEZ09vSmpqUzQ2L1VMNkpmQXlu?=
 =?utf-8?B?QlZIVm1nczBLMkdZWnY3S25tNThIbFBzbTQxVnJMazZ6UFd6U3dWeDQrN2tN?=
 =?utf-8?B?Sm5ZakthNnZ0Wkt3K2FCZHRzcWVIeG90ZDNMUkMrNkRXK00vWlA4Z2VodEtE?=
 =?utf-8?B?WW5GSWtGSEZTZVhGVVM3RjQ4SHI0RzJIVm1Cd1hmc0hHWDdCalNOTFo1UEdE?=
 =?utf-8?B?V2g4Sm5teFV3MEVZbnNTZzRUUlNOU055cHlkQStEK3VhMkFJRVZTZzJ6MS9T?=
 =?utf-8?B?TFhvQ0dtYTdJa01UenRyWmhzb293c3FvOG5lNkR6VE1wNFpjeEt6dmpYZXhH?=
 =?utf-8?B?Wjc4cHZTWjJ4NHQrQzU1VWIrL0s2OG0rRmJvR3U3MDlVM0hNdU93MjZTWEp1?=
 =?utf-8?B?Z29yR2pvYUNGZDBmZEhZN0h3WXNnYlZYc1NJYnpoaVNHM2hla0toeXlxSWRs?=
 =?utf-8?B?UTVOUVZ4MUZPU2FlaGZ1RjZUVW1ldjE4dHZlZit5dXRvU0xmYnFtTHdBYUlQ?=
 =?utf-8?B?bWJmOXI2ajQ3SXo0YVM2cU9HWEIvYnZpTWFHWGROVHU4OWdRNVRoOFkzSVpT?=
 =?utf-8?B?aEtGR21YQ3ZOeE5XaEdTOXFpbU9pakxFVVZuRElOOWNFN3VtZTljUkpFVE92?=
 =?utf-8?B?SVgzcTV1a3gwSTZKSVJ2UnhISzlSRWhSckgwZlZoQ081Y0M2cjRlTHNBYjRE?=
 =?utf-8?Q?fxdpYGt9cfEWf2oc9uo7GmdNZ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 40591f82-c321-4cc9-4a58-08dbf17dc5c6
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 08:24:29.5576
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: ZvVKnLID0wmD+LcCPfH1tRWEQpcGFNnL15evA8pijNU+eAfmQyMdEKkSBDPiiFRYw/k0rF3MnUX/KG0H3PbJlw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8896

On 29.11.2023 12:58, Juergen Gross wrote:
> On 09.08.23 11:42, Juergen Gross wrote:
>> On 26.07.23 07:52, Jan Beulich wrote:
>>> On 25.07.2023 18:59, Andrew Cooper wrote:
>>>> On 25/07/2023 5:16 pm, Jan Beulich wrote:
>>>>> On 25.07.2023 15:55, Juergen Gross wrote:
>>>>>> Flexible arrays in public headers can be problematic with some
>>>>>> compilers.
>>>>>>
>>>>>> Replace them with arr[XEN_FLEX_ARRAY_DIM] in order to avoid compilation
>>>>>> errors.
>>>>>>
>>>>>> This includes arrays defined as "arr[1]", as seen with a recent Linux
>>>>>> kernel [1].
>>>>>>
>>>>>> [1]: https://bugzilla.kernel.org/show_bug.cgi?id=217693
>>>>>>
>>>>>> Signed-off-by: Juergen Gross <jgross@suse.com>
>>>>> I think we need to be careful here: What if someone somewhere applies
>>>>> sizeof() to any of the types you alter?
>>>>
>>>> Then the code was most likely wrong already.
>>>
>>> That's possible to judge only when seeing the code in question.
>>>
>>>>>   The resulting value would
>>>>> change with the changes you propose, which we cannot allow to happen
>>>>> in a stable interface. Therefore imo it can only be an opt-in feature
>>>>> to have these arrays no longer be one-element ones.
>>>>
>>>> I don't consider this an issue.
>>>>
>>>> If people take an update to the headers and their code stops compiling,
>>>> then of course they fix the compilation issue.  That's normal.
>>>
>>> The code may continue to compile fine, and even appear to work initially.
>>>
>>>> It's unreasonable to take opt-in features to a set of headers intended
>>>> to be vendored in the first place, to work around a corner case that's
>>>> likely buggy already.
>>>
>>> The original intention clearly was to allow use of these headers as is.
>>> Anyway, I've voiced my view, yet if there are enough people agreeing
>>> with you, then so be it.
>>
>> Any further thoughts?
>>
>> I have checked the code in the Linux kernel meanwhile. There should be no
>> fallout resulting from this change, but I think there are some user mode
>> backends outside of qemu which are probably using affected structs.
> 
> I've received another mail regarding the report [1] above. I think we should
> _really_ come to a conclusion.
> 
> I'm still in favor of applying my suggested patch.

I think the change would be fine to make when adjusted to be conditional
upon (suitably bumped) __XEN_LATEST_INTERFACE_VERSION__.

Yet while looking at the patch and the headers again, it also looks as if
there might be another small issue: ring.h uses XEN_FLEX_ARRAY_DIM without
itself including xen.h. That's probably okay considering that all headers
including ring.h also include grant_table.h (which in turn includes xen.h),
but this dependency may still want making explicit.

Finally - is the change actually going to help everywhere (not just in
Linux)? It effectively depends on people enabling C99 mode. Older gcc for
example didn't even define __STDC_VERSION__ when -std wasn't used. Linux
doesn't permit use of such old gcc versions anymore, but recall we're
aiming to be C89 compatible. Therefore I think that in addition we'd need
a way for consumers of the headers to indicate that the C99 form of
XEN_FLEX_ARRAY_DIM can be used even when __STDC_VERSION__ isn't defined.
(This may as well simply be done by allowing people to pre-define
XEN_FLEX_ARRAY_DIM before including any Xen headers.)

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 08:33:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 08:33:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644446.1005445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cTt-0000ds-9c; Thu, 30 Nov 2023 08:33:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644446.1005445; Thu, 30 Nov 2023 08:33: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 1r8cTt-0000dl-5H; Thu, 30 Nov 2023 08:33:09 +0000
Received: by outflank-mailman (input) for mailman id 644446;
 Thu, 30 Nov 2023 08:33: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8cTr-0000dP-Kz
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 08:33:07 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on062b.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::62b])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1586a4e2-8f5b-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 09:33:06 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB6995.eurprd04.prod.outlook.com (2603:10a6:208:18e::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8; Thu, 30 Nov
 2023 08:33:04 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 08:33: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: 1586a4e2-8f5b-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=D/OpDxr1ECLs/mxQQeriAuyAuXVDx+h2QYAkQpSxEdL4hnhXuV8VNxkXXUekuoDgnAVeZrie80spIXm5m+gYqxtNyQUdXxYiZkKEzh4bGWrNOMNA0OSrg7LjtMkH06aknQlr/34GP5UjXkiytsfiyOQ0rR/vHNEKR6M0WhlejBNiPDWIBPi1Cvo95TL7s4pIKgxp4XujM8ACN6mJsfA/stZauNIwqiRONnrQujCHpLBrhlipj7pkJbB92OxGbnkxFySNVmPp9DJd7UzAWwFtLuimHfTQgMQ/C3ID0KOwX+5tBhTSJFW/Ps+4cIYkX2fYw8YUHZ8foWn6e0zADFiXcQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=w+NBfqkdRVmLpGGdo+GcVeqodE071n1C/AsXBxSwxSU=;
 b=Wbzvju8IWQyWu1uMbTdmrsQE1/WywW48hO24+Vi5y6s83wHZk+VKAEo/fd2FdkLxmRia4DPsG+t5IWAyYU/rQfZiPvmOctqzLPrrq6IkHBJR8UX8JlrGal5cX1Y356xa3qB1+tTtfFKGahkehJ7okNC0OfSBbC9/cTo2xVBYUWCmJTkqV3hnPBbRuh7z/rgsBdblPwoSa4fiO4FjFs3c5E6+gcmRS49gMqxDdlNw9uwWXVbV6uEQg6+clzcJJljndepxITT0FrsQSvSs3e71nmHInZ3+Xc238DO5yyM5Pju0bC40dIgv5B1ZFzXFNfVx6reGSCwqDf480X3/h9ORBw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=w+NBfqkdRVmLpGGdo+GcVeqodE071n1C/AsXBxSwxSU=;
 b=QFn01jvidbcSTos1Xb95QXJnhwO8gHPOLjc+0l2+Dt1erTFIUG9fDAnWsLxYoQXyyKCPMRRvVlpA+VvJPKet3nc5ZgMZhD93M8TgU7Hd970ibRYEsNI4Ft4t/Ao/FXXcZ93/3ztwmguZ6RvQhwTFsfoJ99Mb06jSxixKLQz2m9augTVkp0UVsAWDVzcIfF47ydmrmxc4OpukCrwXsyrqBIKZHGmP382oUQbeIXlyT3qZ8kMKR8k95m8NaRXMmbVqTR1kSnkv/SQwCZz4O+1KKiMl8emWLK/BKXguEEWinYFFpAHEzeDOHcYpe5Fv6QDghJoTpqylMwUH5iVUvm8Y1g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <4cf3d507-a76a-43b6-81c3-bee960e811f1@suse.com>
Date: Thu, 30 Nov 2023 09:33:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 4/5] [FUTURE] xen/arm: enable vPCI for domUs
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 Paul Durrant <paul@xen.org>, xen-devel@lists.xenproject.org
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
 <20231113222118.825758-5-stewart.hildebrand@amd.com>
 <8be3763f-a4b6-8962-9183-a2a9c3509726@suse.com>
 <a92b1717-965b-4767-8f11-4c3a4e03418d@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <a92b1717-965b-4767-8f11-4c3a4e03418d@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0001.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c8::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB6995:EE_
X-MS-Office365-Filtering-Correlation-Id: 218e028a-0f53-4e40-8230-08dbf17ef838
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	u6JyftjTdRBQqFYQFVHcQwa7hBXRmDp6Sw7DnXQI3xIYMDEFoDut1JBjZ5rZBVqcQ4Vcx1r3K23+uIKpTY0uALqE4EbS8i8xTOnMQvzSxEcMz7V4gvCDIWILN0T3SwwzqM2gcC1RcK6Qfid4uZcbHpZJD1A0XUDnOIqPDOY5U16nEssRBq1sWSxFH4xUJ+Hva54A7jNoF6pjVSWY95ls1DVmLkSDr3i4czqo5kjrZMsi+wNSOGLalnKswBXgJBnX2m0awnavg9aytYS9EmMUTXQZCY2KXN7y0cCkG0r91qiwWToAcNDRk4NW4USzwo440znoHsMQ22kNG/Xf61kI7c/DO9g/D7NnlnLaSAjlLTTWi7wTta2wtwZBvQNlwVx0noQMsT+u86xeRVajQTaZmKI3yu5gRbGL7zP2eAb+IFAZtAFARbPbPDS/g80KC8j6ODDq2fzDnPo/Bt1LXfAO2PyaQhYLptJoY8yOoxk5R5Wr1JaaapoRHHxqu4CXCUnfwRRWSBCwIt/ZmMjqwLT+7B4DT9GWrCmPPprKaXv6tjjExBOjXDqVuD2DJbsnnnv7PktECzbo7BCDi3ZXnI+4HkniQxChM/1M3CuQTx+R6BVkYwun3xT22oYCoqF8MGCu2sWcD/1CoSQOCIwJI29e/Yz9rFmTHm4OK6bWSbzDkwWZ6VFD3KQokks4obZOsHuh
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(396003)(136003)(346002)(39860400002)(376002)(230922051799003)(1800799012)(451199024)(186009)(64100799003)(66556008)(2906002)(4326008)(54906003)(66476007)(66946007)(6916009)(36756003)(316002)(8936002)(8676002)(5660300002)(7416002)(41300700001)(86362001)(31696002)(2616005)(26005)(38100700002)(31686004)(202311291699003)(478600001)(6666004)(6506007)(53546011)(6512007)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?NHhXUTJXdEs1ZnFheW5YWWs3SDZJV2UyaUlnUysvQ0tTTUFOQkpOY3NjaFRE?=
 =?utf-8?B?c1N3bWpwRUszVlV0RnVFQXB6TEtVbkxYVUNPbGo2dUFDRTVER25qejRpTzZm?=
 =?utf-8?B?U2syb3pidzNHQlJ0cnluNUFpaHg4eHE4enpmSHQ2dlU3QlpicWVPdnU2SlBp?=
 =?utf-8?B?VE9yb0g2SEZxY2ZGWk5qSm5xa0JYT2tWRFJ4aWptWk9SZmVwZ29JWVRCc0sy?=
 =?utf-8?B?Ri91TXhGM2U5Sko1NzNLY2NBVjB1NGFoelcyekJRTEk2SUk1S3QwcXdkL2hO?=
 =?utf-8?B?ZDlTSmNDMW40Q09mU3Y2UDJTUS9NUisxTU9Sc0xRVUJFYVJlWDBKOStKWkIx?=
 =?utf-8?B?SXNyeCtiWTQ3bWJRVDVKT01QQ0lQRytUVnA3YTZidVZ2d1VSdlowYm8rUDdq?=
 =?utf-8?B?YWlacmdwZ256Y2xjYmh3ckM1ckIyY1FtN0g0Q20zUmdhUy9oT3ZodjVmbjRL?=
 =?utf-8?B?M3RZeDJpQitOUG9OY3NmWGgyZEU1K2FGMktHTGJEbFd6VXpPZ2lzckRPSUJp?=
 =?utf-8?B?eWJqLzg4SzQvV3Fxb2xXTnJ0SVZuY2hBejR5eE44NnVTZWJhWm9jbHpmaXZN?=
 =?utf-8?B?a1J3by9uczFqaHNOVVNodEpvWXlOa3dvWmdQLzRDOWNZdTF2L1FZQU02NVJh?=
 =?utf-8?B?MUI1M29QUlpJbVA0MWNzbHNoeWdnWkJlTlkxYmJNRjNhdTQ0d0lrV3BKVXV3?=
 =?utf-8?B?UTdzQ0xvbFBkSU1rR3dERlV1TEVTQTkyYUlkK2x1SE9pQ2E1bkpBek5TNjhI?=
 =?utf-8?B?aUc4S21oVzBkNjJaaVlMZVhNL0tRWUdJR1h5WmdKVGUrWnVSYlU4TWZYN2Fq?=
 =?utf-8?B?cTVhVUdNTW9ON3grL3RKeE5tRmUwVU1sQ2FvbzQ0WDhhRStpS2FEemFWRXNp?=
 =?utf-8?B?dE4wU0tudkNpY0o2RlNNZHlIdzlsUXluMWpVSGhnYW1tSndaQ2hEalAzUy9D?=
 =?utf-8?B?MEFONUdxbzlDRnlmQTI2Y3MxVnU2bElieG0wVjhlNXB0MDQrNk44a2xHbzlx?=
 =?utf-8?B?Rkd2YjhaYmhINWFscUdBUENYRFhsOVFSbjJEZmxtMzZ0TDQrdldVZTNYWU14?=
 =?utf-8?B?L1Z0Y294QW1zakticTZ4UDBWSERaelpmbkFqQTNsOHhXNE1oc215cjAybGJ1?=
 =?utf-8?B?TW1ndnAvR3pYdThYT1NwbEF1VC9Kd2c0Rk5jcmNwbDBhV0p3TWdWSEVzOVp5?=
 =?utf-8?B?c28vTm9iN05Yck5ucklHeERDSjY5Rzl3OVZFcjZGOFFNeW5nUmNjcGt3a01H?=
 =?utf-8?B?RnVrSitlRnJ3blRqWlZFWklXZjhwZnJOZEp0UHRVS3hwVDAzaEpGWlhvU3JC?=
 =?utf-8?B?WmZxZFl5RmFSQ1ZnemJWMW1yazVhdXU3UmRKenEvRTgxWkM0Q0dBdjQyNTBZ?=
 =?utf-8?B?NThVQTRMNm1DOUdYeWtrcXRPMko2NU9acjlZVE4vQlRWd25CZlovSCt1dTBO?=
 =?utf-8?B?aHNFRnhVMzVmbmlzQU9xZE1lZHQ5TVFnYmU5ZUV2b1IwRWlmUHJheUNDallO?=
 =?utf-8?B?YkNtc3NOdVNiTk1wbG55Q0xsVUpEUTRtYUFPYjJ0ejI2eXIwUE9BZG5SYTNv?=
 =?utf-8?B?dGRaVTZTSHdnczJLbHVwUlIxZ0FocVpiT1JsVDdFbElHbi80RGV4MkpqWEpF?=
 =?utf-8?B?QjQ2VTJ0MmVLUVZaTnpRbENtbkNtTkg5THFVM3gyNzlhNkdEZVUwL2FIOEZo?=
 =?utf-8?B?bTM0YjBjT3JXK1R5dlBrdjhlcUF5aGVYM3k3bkxMNllvS2pJZFFxTWQyakpn?=
 =?utf-8?B?V0kxaUNMRWs1TGNteTJKd3ZIU1QzWURSdWs3NU1qeDN5WXVRQWhNdllHcGdF?=
 =?utf-8?B?TlBPVURhSUxsYjVzRE1uUkdPSjZubUMraUJtZlhvMjd4NFRRVjBLZllzUS9z?=
 =?utf-8?B?bllLREs3dWMyN0l6V1JtNXZTMkRmSlBJRGx1Rk5MK2RMS3NpUlRIb3VHWjFM?=
 =?utf-8?B?aG4wc2dGdWNxYlcyVThuODJ2bU5ZTjJjOE03MTZIRDFxV1NpclIxcWxlY0s2?=
 =?utf-8?B?TkMvbnFSUUNDTjNvSkJrWENTYnpPc2F4U0llMk03YkpFNFpLOFVRbXppVkln?=
 =?utf-8?B?UHI0NnZUU0tzckpJZGVmMEFBeDlKTzFxdjl2YkRxbU5RYTRoeS9rdFpYMDda?=
 =?utf-8?Q?+2g1t+8eXyi2Rg+O38VIcshsK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 218e028a-0f53-4e40-8230-08dbf17ef838
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 08:33:04.0082
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: sssVit1ft/SfyUdZScCVztxOHkboTuyhfkonHR/c+EGGb0mIwNfRyk34124MFD6/inzIJxOb1Z5O/otTm08l9A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB6995

On 30.11.2023 03:47, Stewart Hildebrand wrote:
> On 11/14/23 04:13, Jan Beulich wrote:
>> On 13.11.2023 23:21, Stewart Hildebrand wrote:
>>> --- a/xen/arch/x86/include/asm/domain.h
>>> +++ b/xen/arch/x86/include/asm/domain.h
>>> @@ -503,6 +503,8 @@ struct arch_domain
>>>  #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
>>>  #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
>>>  
>>> +#define arch_needs_vpci(d) ({ (void)(d); false; })
>>
>> See my comments on the v5 thread on both this and ...
> 
> So, the goal here is to return true for a PVH dom0, and false otherwise (for now). Since dom0 can't feasibly be full HVM, and is_hvm_domain(d) returns true for PVH, how about the following?
> 
> /* TODO: re-visit when vPCI is enabled for PVH domUs. */
> #define arch_needs_vpci(d) ({                       \
>     const struct domain *_d = (d);                  \
>     is_hardware_domain(_d) && is_hvm_domain(_d); })

Looks okay to me, except for the leading underscore in _d (see respective
Misra guidelines, merely re-enforcing what the C standard says). Of course
the double evaluate_nospec() isn't quite nice in the result, but I guess
this isn't going to be used in many places?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 08:36:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 08:36:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644449.1005454 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cXL-0001Q1-NW; Thu, 30 Nov 2023 08:36:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644449.1005454; Thu, 30 Nov 2023 08:36: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 1r8cXL-0001Pu-KM; Thu, 30 Nov 2023 08:36:43 +0000
Received: by outflank-mailman (input) for mailman id 644449;
 Thu, 30 Nov 2023 08:36: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8cXJ-0001Pm-Tj
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 08:36:41 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2052.outbound.protection.outlook.com [40.107.7.52])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 944af6dd-8f5b-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 09:36:39 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8320.eurprd04.prod.outlook.com (2603:10a6:102:1cf::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Thu, 30 Nov
 2023 08:36:08 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 08:36: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: 944af6dd-8f5b-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=IOHpU8H7VLiHnHzVxyHnnov6sCuUttHBTHJKCKcsPrbv4152rYWSHZsmRvBfPUaUD+FkK+EQ2p+YxDVvCC9JjWJHA943SvxuRV7DKQ2UTw9+X0PxwzDt+RcykqZ1j0aAQ11uACyl+hRTWtrcOtDQXDzow6dHejgcRhe2rvVjQsLT5QU96f5MVrdmQOFxiEL7Ip9lllM9So/UxWE0HlS/nm8bIVsq8Z63heJbliBHo2Lc+aoxz2uDsUMgAry3WY07rjqLKgjHOYW8TkuP0on13ZlhsmaI4DovtG/YAE6/Tnk/0N8IUw8J5xOEGCGGbi2/sBZR5Z3LNs3FH1JSYJFgUA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=YWlqujNL53Z1sthmdGXDFmwEMe3iTzE7S1q1huqLOFk=;
 b=BB365QHdstDC4509YeqS+AuYNJjKou4j9fIJuNfKbQmKKAsA9eDRiCZ8Sc4mQBOX7KsX9UAAFH6ixdbxV/OXAHyABjLFhVpP1jojgUUqnuUPaRiiWQUVR1b1J+DDa3N7pFnSnQ6W+eMmllbsGNbgfr18ljxdk0hSaeX8DW9n5jeziWXAXU7uQNdQkbi36hRa2JjYchxgerRlUe7iKrD4pa5E6xJytvvGvmb+HLsW4wD+FozFx2R6ZI+DyYEBNSFo8qzb7iglyY+r+h/5QqbPhC89uGG5HHruKKxcENlmbyAq1FVYTf5/PGK3p/uXrYb3JBeUYHwYb1aSXIo6Fr5cVQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=YWlqujNL53Z1sthmdGXDFmwEMe3iTzE7S1q1huqLOFk=;
 b=1wYyUlpAR7OrjiZN/bTiII9l/sUkz1/zaOX8xTctA/zKfUaUkl4g3xNETp4x0Maqk0kSaVJWIY/w/aVkDKBqQlf2QokbtDGsj+XZ0Iz/36qD0MyyklxorAE3GzHCVOeBTeCLB5e2+goXEug/bn6ZPj5rKfBzHHhTa3jjeeIiiaiDjKbwWmCVoZ8iQUCLD9Y6gOs1WCwsc9L41Wo6a1w5eN45+aZMIGgstp1Xaesc9EpYZfc9avv8WJM43g86/mZgdTCLmS/Zxw4PD/Iu5XN6JLVebRCKE2Jcgqqn+AeGYBebuREymlqEDQSPc1fl8rnJtxNOFK1/vWJa8VUbkZvIlw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <890f54b5-9692-40b8-94fa-9a55268e29f5@suse.com>
Date: Thu, 30 Nov 2023 09:36:06 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] Config.mk: drop -Wdeclaration-after-statement
Content-Language: en-US
To: Anthony PERARD <anthony.perard@citrix.com>, Julien Grall <julien@xen.org>
Cc: Alexander Kanavin <alex@linutronix.de>,
 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, Juergen Gross <jgross@suse.com>
References: <20231128174729.3880113-1-alex@linutronix.de>
 <fcb1cc57-b985-4711-a234-4aaa380b9abe@suse.com>
 <81043e30-c9fd-4c5e-ad63-0e42edea733d@linutronix.de>
 <5a469665-54b2-4904-9604-ad686fbbb05e@xen.org>
 <716b0ec4-adce-494d-b9b6-69dbb7e26000@perard>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <716b0ec4-adce-494d-b9b6-69dbb7e26000@perard>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0096.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a1::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8320:EE_
X-MS-Office365-Filtering-Correlation-Id: 754b4533-7944-43f8-c402-08dbf17f6661
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:
	b/QGKBGQ7BFqrJiS0baugVPBzZWUKlkDOH3OdsN7V+p+e8qQAr5Dicj62+E9LnGmRCCwgaM2gOZ6loHlqtzuvP/ZeHAgnPxAim2uiRvif24K/65zcJ6HkIwXi4ms/B3Ot0YsQXyVoYITWwxNeR9C57SL7DUL+8wnbYXYRiXY9WrlCafmp9ITBo21jYJWXpVS5MjOj64fcjMHP8gzfa7kBmpxDwe3sMTujCljg9SZyforLIk4ENyJvd8WxRcIFaZASCykYDsc6gBckFeCuO3jCnhI08pC7giZr9bcSBAlWlMQhosTiVdBvvJRA74xQC3AAiMIrYJxu5OY02/LY9ABDawtk0RLty7NFjF02/hCg+yEFbzdxxibWhihQZ8BECzaOAEnxhXvKONNH+gFJDCCyOgSML4QYfyjLQZb7tM2WT30npObU/qwkMbdkDTYZ9r7N8Us/9GEacFOIgQG1JdNm7pUhLuFLveF4ljhVrFVWymzhVAPKqIhMBghPEVzyRIWOXaT/LfpArmkvf3OmbSjnCKlmFMdTZG3v9U/7Zu85w4JbzEHwYEpHKuuTxqOmWyFyoqETJr6biRmiGlon/2ncTC93wElqaDGc3DOFe1EGfovAFilFmebb9nAg1caLxokZXRrQ4cQdl8c0Wnj1z5f9Dp9IxeQEdQQyYElA29j8ls=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(39860400002)(396003)(376002)(346002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(966005)(66476007)(66556008)(31696002)(316002)(54906003)(4326008)(8676002)(8936002)(66946007)(478600001)(110136005)(6486002)(36756003)(86362001)(2906002)(5660300002)(41300700001)(26005)(38100700002)(6506007)(2616005)(107886003)(6512007)(83380400001)(53546011)(202311291699003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ako4TUg5ZFpzUUthSVk3eDRqYlk2L3Rwd21JeHd4M1oySTdyQXVLWDV5WU8y?=
 =?utf-8?B?bUFiWC9TN1dJYWZrNDB3S0VhY0pjWWZUMG9NeXhJVEVSOUdOS2J6cFRaenNh?=
 =?utf-8?B?TjlWNkJ5YXlQM3BWUEdtczRSTlpsa05DaDNrVWRrSmhaellLNFlyNXpkMzk0?=
 =?utf-8?B?cmtPbkVFUkMvcGc1NGtxVnUyYmsyUDRPSERVQXgxR3JCdXB1QldEdlBXcitt?=
 =?utf-8?B?V29GVDM4VWlBdXE0cjViRFhxMXpoU3JCZWJ6Z1BvVTZSUjJGWGVnSkpnT2Ez?=
 =?utf-8?B?c2djYWxuSGQ4elEydnIzN2p3NzQ4NU5VbTBXaXc0S2g4b0lpeEdvZ3ZzV0Fh?=
 =?utf-8?B?TmMvT2hsY1lLczJrOFdoTURrWTA0Y016NEVGUGVUOWVtTXAwMm5YTUF3VG1n?=
 =?utf-8?B?YllVM25RelpDS2tzTW5OclBGcjJERVM5TVM3NzNUOTM1UW8wY01YVEdUNkx2?=
 =?utf-8?B?UGNzZGlvNkx0RFNmbDlsVmhZeFZrZzdUaDF3Q2syV3JhaGlmNGdVQUdaOGFl?=
 =?utf-8?B?Yk9JVUt6eEFiN1ZoUFpsKzFJVXJ0VlNjWnFncSt1WXhDeGtvMWlWYkN2Umhv?=
 =?utf-8?B?enN2MGlPaC9VR3EyZkdoQ3JrMmpZTlQzcWt5STJDTm5XUkFveU45RkVTRTR0?=
 =?utf-8?B?UkJQVDc0TWFjbzBPRkpkQllLRDV5UVZrM3h2WGZaZy9NaHVZRkYwemtnZDFx?=
 =?utf-8?B?bDBvT2hVM25vcFhKOC90RWc5Z2F0MFNKQUs4U0JJdUt4bXI1c2xLamFlUDE5?=
 =?utf-8?B?aVpobGRLOG5sSTVrcVFCS2FVZjc0c2N5ZXpTMTVheE9nc2xCdUVGYUY1WXkr?=
 =?utf-8?B?b2hKU2V1VlUwcDFUckhjcFB5VEtyR0V6VjNyQ1JIZW0xNFBRN2dyaTJFd0xB?=
 =?utf-8?B?ald2MGhZWU80dzRCTTlCdnNQbU1mK2tFbW9lbmpXUVJVbFdYYlRFd0FBMSt2?=
 =?utf-8?B?K1dzaThRTHBZMTI5ajhxcTVnRUlNdVQxZ1hoK3JuNkVnbzZWTWMwb2Q5YVRG?=
 =?utf-8?B?dnNYL1FPNSs2bGNhV04wT1BlUTV3OS9FdFl2R2VKTWs1SG51TjdISUw1Mm9w?=
 =?utf-8?B?VWNEeko0czBXWk1tZGQya0F1UndHc0czZnpVdStrU3Bvc3VPTWtNa0pma0NM?=
 =?utf-8?B?QStRcVVCM1JaRFZTSVJSQ204NnhqSFRSM2ZiWFI4T29kdWgvYm5aeDY2RTF3?=
 =?utf-8?B?Vm82djBUN3hMd1N4S2RYMTJDUFFXTU83Q2htbHBrZStzVTVPaVovSkMyaWNM?=
 =?utf-8?B?bFdZZjlsM3hvUnQzdFE1R0RxRTlWWjJ6QmllQlNLbm5LdHNtTTBoOC9oSGhx?=
 =?utf-8?B?dTdDbnNaSGV2WmxzWGZjQXh6L211UmhYbXppbmp1dmNpWmVFTVpQdFR3K01Z?=
 =?utf-8?B?a3V6UzExMWZnTW5Ga3NaT25maDZQTG5yZVBpQk5iZERJbzhTYlZENmhjUUti?=
 =?utf-8?B?SXNJOHVsb2tCOGU5SmpUeUlHbENibXVpa25PeTNOdnN3b21lK2ZMQ1BxVW1U?=
 =?utf-8?B?b1JlUGdCaXMvdFM3czBUWjJyWStkZFppbzErQ2prUzZLV2tkajZBb1ZCcXdq?=
 =?utf-8?B?NW40QldPTDYzSkpZVGdKd2lNa0hKWUgvVFkveklieC93Mm0rQlNhSVExcVRE?=
 =?utf-8?B?bUw3cldGeWJLcVIvbkJZY3NEbzU4M0F2TnZFdEdIWUVZWnY0bG9SM0RwMUtY?=
 =?utf-8?B?OWk0L3VaOVc3RGdUV2F5SlZhSWJlcmJvWmNvTXB0azgveGhaYzY1a1NqZ2pF?=
 =?utf-8?B?U2V6Qkw2eG9KMXpvUWcwM3RQUG5PYzVmZzhpcXowdGx3ZWRMcjdyZlkrZW4y?=
 =?utf-8?B?bDNubTFpdzJVaGRqZCtKTDRnU25BR1ZvbWRyenZhODBiemMveUl2SVhRNHd1?=
 =?utf-8?B?MUY1UG5yK216WVluRXA3ZFAvUzk5ME1GTCtUb0xsYmpvcmtodzhxeEFzTWpI?=
 =?utf-8?B?Mm5mS3RERmNsUW1UeUk2cm9YVG9tTFFPQ1Jrakc4dFRxWmZDdWFueHJYKy9p?=
 =?utf-8?B?emhpa2hXQnl6aDZmd2VsWUJPdDRVY2gyWktFQ0JrREN6ckRkRHpmM1JqQlFn?=
 =?utf-8?B?Q3B6NWpyTDV6andVSkw0QWhrd3M1MXp5Wmc3dkoxeGZGdVNZMFY2THFsUUhy?=
 =?utf-8?Q?QQ4RepFaqKiBBjB2pCCGfenSw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 754b4533-7944-43f8-c402-08dbf17f6661
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 08:36:08.4897
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: NWQVtiBxKGAZFVb/kgyiO3b+OYRmQPQM/fgkWTxlp772HwI7o/sxt5HGBvJiRCfowDQuH5RKYpdAGz4kwHDdzg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8320

On 29.11.2023 14:10, Anthony PERARD wrote:
> On Wed, Nov 29, 2023 at 11:47:24AM +0100, Julien Grall wrote:
>> + Anthony for the tools
>> + Juergen for Xenstored
>>
>> On 29/11/2023 11:34, Alexander Kanavin wrote:
>>> On 11/29/23 08:51, Jan Beulich wrote:
>>>
>>>> On 28.11.2023 18:47, Alexander Kanavin wrote:
>>>>> Such constructs are fully allowed by C99:
>>>>> https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/Mixed-Labels-and-Declarations.html#Mixed-Labels-and-Declarations
>>>> There's more to this: It may also be a policy of ours (or of any
>>>> sub-component)
>>>> to demand that declarations and statements are properly separated.
>>>> This would
>>>> therefore need discussing first.
>>>
>>> The error is coming from python 3.12 headers and not from anything in
>>> xen tree, no? As you don't have control over those headers, I'm not sure
>>> what other solution there could be.
>>
>> We seem to add -Wno-declaration-after-statement for some components in
>> tools/. So one possibility would be to move the flags to an hypervisor
>> specific makefile (in xen/).
> 
> You mean xen/Makefile I hope.
> 
>> Anthony/Juergen, do you have any concern if the tools are built without
>> -Wdeclaration-after-statement?
> 
> I don't, and as you said, there's already quite a few
> -Wno-declaration-after-statement.
> 
> It can be nice to add a new variable in the middle of a function, it's
> like creating a new scope without adding extra indentation (if we wanted
> a new scope, we would need {} thus the intend).

To be clear, I wouldn't mind this in the hypervisor either. But then I also
don't see why we should further request people to separate declarations
from statements in an easily noticeable way. Thing is that imo something
like this wants spelling out in ./CODING_STYLE.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 08:38:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 08:38:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644452.1005464 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cYs-0002Sy-7p; Thu, 30 Nov 2023 08:38:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644452.1005464; Thu, 30 Nov 2023 08:38: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 1r8cYs-0002Sr-3Y; Thu, 30 Nov 2023 08:38:18 +0000
Received: by outflank-mailman (input) for mailman id 644452;
 Thu, 30 Nov 2023 08:38: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8cYr-0002RI-0I
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 08:38:17 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur04on0622.outbound.protection.outlook.com
 [2a01:111:f400:fe0e::622])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id cd92e929-8f5b-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 09:38:15 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8320.eurprd04.prod.outlook.com (2603:10a6:102:1cf::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Thu, 30 Nov
 2023 08:38:12 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 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: cd92e929-8f5b-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=in+7EC1r1ymJQmtlqoE7J3NJZW97AQ1fjO7LHtA4IJbl888Sp+Va63Ux5cY+oyzMvmD4eSdfWa9VaYLgU1HC8e9pMoegbxE8vUn9enVClM3or/N5XWgM/q57qWAniv8MSb6yiD1bH5/SAIPV/cfZxad0Nw+Oo7PIEJ/ecT+F8VtUDvnjJh525j+2+fFuVqZ3fMyGOXQBhZFOn9AEl6uOOw2lG+Ne1zEmZcvAtnEfa5DoqFVS+oQ4EuWnpU2xxWVt64Qu9uLap/Rbxt/z2oxoUh6khNcd5OShDzES5Xk84RldIXAXLELUaQvFQ26Ik3k285eAxy6kYDPRvSs8SqDYbQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=F/1qNPJ/KMQFL25ruYIZi0LPZh0Ll+yWBxvwWRWGzjE=;
 b=IlW64F3dWdtniSHo5+4hskIjXuzFxlPPZnMRjZImbZqcTAilnjjlObkNqgykbyOfgIbpkVlgV0tlqd4gp0v9ebImkSWOOlRqhzjqjWzDt7CzejEILMjzzk+jUQgi4vEuepKuR0vPlLmTGRmMCfAh9vnkMtCGQjy/XYQXZhPtVW0gK6GEmsu5ef+jmvGGr+zQlLU7uv+7vDory31Eg8g7ZvOofb8ag9d9ck0ez04dUgSaciW7x5PymlqznVvc0rZL7LVQBdt85DVGlI4O+RLO47R2TDx53IvhDhugBWGrh3X8ZNpqkhuo6muwIrsszCmWPuMmXAdBghDeatUObufLyQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=F/1qNPJ/KMQFL25ruYIZi0LPZh0Ll+yWBxvwWRWGzjE=;
 b=4TTkHJGHtR2n1I6nGpneR7O8zg+oePdsz3nEu04VM3Ig6wcznNJ6nXttQ5xHPHqBXq6D7XiaBhczyiVdMqcw3EjMNWYnLdCulcn4xLQ+akFCszrRME4EG0eZRQNqyXuZoynhbp8H98NnLNmV352eqrDyJQISDBlEgKb6G7FkBr+izSrA6iEUXg+jz+DsvLyKomd7wwEb7nDBMahgbYOQV9Fi3TK8EaKemrL7Bkjz5pyM6wqS0Wg9NEShxe2XFxq9n0FUo3hTLVnRPMwfk/7BeRq1q+NH7Jj3ufllUQ+FzTFlS20YaTeDT0tdEdupxKlxC++U3nmIF9crsuSFg/Fa3g==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <e036094c-0716-43fe-838d-a9cf5f4f1b77@suse.com>
Date: Thu, 30 Nov 2023 09:38:10 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 5/7] docs/misra: add entry to exclude-list.json
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
 xen-devel@lists.xenproject.org
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
 <538cd0aaacc5af9111c09664cd3c4a4f78ba36fa.1701270983.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <538cd0aaacc5af9111c09664cd3c4a4f78ba36fa.1701270983.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0045.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::14) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8320:EE_
X-MS-Office365-Filtering-Correlation-Id: 82d61872-62f0-41a3-2ad1-08dbf17fb071
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	o3GBV53uZw9Zbl6og7N31OTjZVV9OLyGngrGiqjk3Rh9uOI8FI7UEUEqTN87v+SiTbn/6MmUDBHaBqYLI4bm4MXEqUXMGo9Tj5ktc/0/GWduiUsVQO4eCLjSCyiN59ZkYNDvYn9QRXQXBxR4/jZrmhnmbRVY/Do5j5Q+TDu9uUl5VMRZT8kA956rB2nGVLuDLz0fukjUFSj3f0PHPEDw0rAoL76qeMaOBIJ1SwFbdKGIC9sldkdZ4+9U+lARGUtWoMQvtnuujMY3O569iStwg4Wu3ktZeuW5+FYfGjoj/OmzFbO7IYwJzgGOVHSfw1wg8WmZYKkLWbDIGkQFrAU30Qu8BpSuxjKWzFnpvkbOdXN/wp4az2Vyo5poxU9zSNtnZQUgkZ4dSI5y1CLUWg3U07sassVG4eOtCyFXLfGnlk/bgOWd3aY6EYaIvsziK6o/vNNzKvFFpKZm8ChvKKD5B17udcSo6IKMYrPwpIzc6r2RkwUeHrEqq2nhgkOwr+sFAeKswla2Pw8/m+i9Bwt9r1EaQ408taAqrmtcluvHOApaIB3h18nUW72cAsRiZgXj5Zy3sFdZn/4aRwQMKZWiw6U/FUQ99GrYc/IdhInBEFxoZxmB3iezexJrRDshCIcOAL0YKKKOWzwDuYlSBGXzpq4IUp3S9GUzqrbShBFA8yqtIVvyjAWOPjRPMfUoVo4w
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(39860400002)(396003)(376002)(346002)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(66476007)(66556008)(6916009)(31696002)(316002)(54906003)(4326008)(8676002)(8936002)(66946007)(478600001)(6486002)(36756003)(86362001)(2906002)(7416002)(558084003)(5660300002)(41300700001)(26005)(38100700002)(6506007)(2616005)(6512007)(53546011)(202311291699003)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Vi90ZTBaUU1CMXRxUXhDTDZhcFBTbitHVEFweEo0Vml6NVBwZXptbHVzMDBS?=
 =?utf-8?B?bllyVHNSNXJnUzRLOUdBbTYvYVVUZXcrNlVwa05KSkhsdms3WUFRd1plZGVJ?=
 =?utf-8?B?Mno3Qllub1N5cG40RHAxaVBFc044bEJNUUhKZms4VXJOMUxQelhNaWxQMDNu?=
 =?utf-8?B?VlZZV0FOc2RFVVZHWm9zV1NWL2JTUUw0VlUzRWZ3WmxKQk8wYTNqZUh4VjVQ?=
 =?utf-8?B?bkZpMFVKdStvNlFTWml2QlZUTDJxMytYVzAzSVRuL1J1WjNjTFN0UEJEYTVH?=
 =?utf-8?B?d3c5UnpGOWRXTENWNEFjSjA3NWI5QlcxZmpBOHdmWm90MlFYcS96ZUxtM3Ir?=
 =?utf-8?B?OVY4RXVIS1pTMzF6ODFIa25UY0dEQ3lQQk4yNjFMYTFNN3EyK1BwQ2RaRnRl?=
 =?utf-8?B?SkxLOXVjZXBaYkIvd3FvRmhUSmxEaW96dHhDbk1ZVlNOMUlDRHNUZGw4T0U1?=
 =?utf-8?B?L0lieEZ5SFMvT2RJN3dBSUN3UFF3KzVIZjZlQTJEMG1kamZpS3RidHdWYWcr?=
 =?utf-8?B?UEN2dmxyMmVIbHowRFc1a2F1LytycFdTSi9KSjhWRFJ2NXpubERJWEt4SHJa?=
 =?utf-8?B?RmVESWFlUllIenFwWEZUYjVZL2JibXNUZTBxa1VqRWljM2xPUGF4RC96KzlR?=
 =?utf-8?B?WFphMTlZVHR6cFRHM1FVdjZsK0oyRlNyS3gxMHdON0tPYkRaRmMrTzNHTzVW?=
 =?utf-8?B?VndxanRrYXBGZzlya3cyNDVwSVJrVlJ3OVRtRUIvd1lmVks2Z3U1NStybnNw?=
 =?utf-8?B?MHVqUGZvRmlVWjBNZlBPZXBJNWp6UW12aE1WbTMrK2Y4eGIweUVyUFBucXJU?=
 =?utf-8?B?bkUrODRxTng3alVmcHUyMHA2aGNVQW0wSnlHYU1EL2FCT2c1blpoMUxFMjBD?=
 =?utf-8?B?U1MzQUpjUk1jdU1jQk10ZjZ3SEVFblErSmZYbityamF4QVdrUlJ3VnBaajdC?=
 =?utf-8?B?SjM5R1A3RW44MnJMbjhyVDhjWFhpUUVtRWpUaU1tRVpvZHl4L1dxalliYThO?=
 =?utf-8?B?MFdTTEFjcUhlazlkbmVCR3g1Nm5uek9NQ1hyNGJMcWlOaHEwTnZUYVBZbkJR?=
 =?utf-8?B?ZnQ4V3RmT0IzdTRNbWZ5dXRnQ2QvM1BrVmJ5NEZGT0FrTGQrTCtZcmFhZGZw?=
 =?utf-8?B?c3VzTThRNHBhVXNTS1B1R05vSGQ5SGFvdTRVVy9NbmxqNlRpNWd4WDVFV0pQ?=
 =?utf-8?B?WSsrc05tWXVKdUdRbFQwK2lCY1VnWjlQcGR1ekFJTGZsRGRmTThjeWd2WFRl?=
 =?utf-8?B?a3pOazhQeUtNZllKd3h5ZUpuRXdZdFlmRGl0U052TzJQY2o3WE9XQmRoTm1P?=
 =?utf-8?B?TlR6cmpPa0dRRGcvL2p4bGlsL2JoNWFoQXVBZi9raTNBVlo1bHVLdWtBSzlt?=
 =?utf-8?B?QjNtUW1XbWxlck9MN0w3cmx4eTZzSXZCbVVrUjN2d1g2c0pUVHpiYTVNZ0hn?=
 =?utf-8?B?aXBhRkswTWk2SldxQm11dWwwcHk0SGZMK1ZFRDBUbjRlQk1USVpiOEMwUEtq?=
 =?utf-8?B?Y01yTXZ2cjB1WEZvSytUNGVEczZ2UTNEOEVmY1R2YVF3OW9wdVhDUC9pZVli?=
 =?utf-8?B?VEFERkVKSGZ1czVVK1VmQzRPZlErSlJzVlZFaFhPVTJhQ2VBc0ZXN1dmYTFG?=
 =?utf-8?B?bWt1MjBkT0ZmL2VVVkQzVDdCVWVwYUNLNFZVdmptY2g4YmpjOHQ3dS9IYVpx?=
 =?utf-8?B?cmpHVVFwdmRVdzlFRDRqbkE1L3E4aHlIYXJ0cm5UQ0xGSGl3WUx3ZjZIaGMw?=
 =?utf-8?B?YjhuUTdXSFhpdzRQTW1RYVEvSDRFUk53UklGcDNKSU5CWE5ZVGJYMXhqR0M1?=
 =?utf-8?B?YS9VUWhvWWVHYUkvYXRuTjFtY2IvMjhHb1hjRkYzK2NtNTVMaEdNYnEwNisz?=
 =?utf-8?B?NENKREFiSlUvMVlrQXRhMjRjQ2ZTMEFBL1FoK2xKOVZXbnExWk9HbnFMN2FT?=
 =?utf-8?B?ZjVIOFZseFhhUWhhay9CUXZtS3RUdHRGVnJaREV6UVVueFAxTzlHUEpvVUZw?=
 =?utf-8?B?THU2WllXVmhrSHI1RVNBREFucHNJSjNlUzl3NUtub0xSQkJpSWk5cU1uY3dx?=
 =?utf-8?B?SE1GNGFqWlNualpZMzBzWmpyNGNyWitiMVB5MVhlZ1FCano0dFhjNDBvdFBk?=
 =?utf-8?Q?OzJAIDgOAOL7S91k4TbHf2XxW?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 82d61872-62f0-41a3-2ad1-08dbf17fb071
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 08:38:12.7648
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: cr6D1WUwbvchKCqfOcunZYBWKI6sK+nwHmurn1EEWxWfQEBeEFvJWkAG2ywf8dU8JrwXB5Ii7KRNjephbZxi3A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8320

On 29.11.2023 16:24, Nicola Vetrini wrote:
> x86/efi/check.c is not part of the final Xen binary, therefore
> it doesn't need to conform to MISRA guidelines at the moment.
> 
> Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 30 08:38:57 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 08:38:57 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644454.1005473 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cZV-0003A7-Fh; Thu, 30 Nov 2023 08:38:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644454.1005473; Thu, 30 Nov 2023 08: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 1r8cZV-0003A0-D7; Thu, 30 Nov 2023 08:38:57 +0000
Received: by outflank-mailman (input) for mailman id 644454;
 Thu, 30 Nov 2023 08:38: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8cZU-00038g-37
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 08:38:56 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2060f.outbound.protection.outlook.com
 [2a01:111:f400:7e89::60f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3c49e29-8f5b-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 09:38:53 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by CH3PR12MB8584.namprd12.prod.outlook.com (2603:10b6:610:164::14)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 08:38:48 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 08:38: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: e3c49e29-8f5b-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=NYFZDNraTBJ2sH5liyW32xLBEzkI3q2X2PfHBrNotD/DD5uuZgkLt+Fku8HJec5phJzNiSstgyYuhs0QymOQhqy0uFZ3LMS2TEyjfkcyxnXhxMAhXCjPfYkvjY3Q7EVrUNU1r1KHYdMz6Bh7Js/3W92VV6OUwXIztCqW8Nh0I7P0xtUP4vK4+w1ppF6Z4MnVWQPtR2RbSpH9t9PPjEoCnw0p4a4pIce6ugGw9hYgmLHc/3ZCSDkOeCqnlApOWMyhvCWIu60y+r0gw5D4+EMBRQJHa1CgVw1+sXAdGG9ueKA2a8H0L58uruo0tTrq0CYbYHjyV7QvlkNGVxmxFE/kGQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=FYv330pRZs/M9ux+daWixG//PtJ1d2N9UXPhnHCSRIg=;
 b=EEQVPyriyuzftVnkH2uSDe0F53phydhp7ZSDKRRYEcprpImnGR1PTjQmDHwWyKSSzq06Axr5y7Nyyd8rRSnMGN/Yqpqev+Ale40+1o4iKFvHihbZzvRpIEUef11fKcq0FMOtI8egEmgS4w5zx+sCFoH+hGYn9BNymozRL8i5OESOTQI9SVTQEdE/GVILhMxdEHQMrCTLgE/s5I+WYAL/CopxE8qgN2o+4ZrE/Q5QD3CddpPALufQQcS6p9LsWYnp+VN/cL9vKk4cAh+YAuY20b7imQZyrxkYkMuRcHpHpS1p2HgH2JZPJW7XxmBa1GhesIScrfovOUVVXysIjV+y8w==
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=FYv330pRZs/M9ux+daWixG//PtJ1d2N9UXPhnHCSRIg=;
 b=Pfy0G1qx/tDE9EDqegso4cr3Zxs8LwxulyDElDHXBPihCVXWMXvlCYA1FRvFQ9HCjvR+OsFF9LGm1D9hgowyaAnB4rQUJdy6Y9SYEFVYeOCRb0eUCSjGjAi6rlZFXAq3eQ8kUZ2FRU2aAf1aQGVuEAJFhwWHpCD6ruoslLfPy3g=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>, "Ragiadakou, Xenia"
	<Xenia.Ragiadakou@amd.com>
CC: "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Stabellini, Stefano"
	<stefano.stabellini@amd.com>, "Huang, Ray" <Ray.Huang@amd.com>, "Huang,
 Honglei1" <Honglei1.Huang@amd.com>, "Zhang, Julia" <Julia.Zhang@amd.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>, Wei Liu
	<wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross
	<jgross@suse.com>, Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, "Chen,
 Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Thread-Topic: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Thread-Index: AQHaHsLnjKJ102tGrkSg9na/6oLNI7CP3bYAgAMYyICAACIUgA==
Date: Thu, 30 Nov 2023 08:38:48 +0000
Message-ID:
 <BL1PR12MB584911A5A3C50CEA128C9DE3E782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-3-Jiqian.Chen@amd.com>
 <fe8ee91c-7272-4cb9-b7a6-cb6ec7945bc1@suse.com>
 <BL1PR12MB5849B37472F195417B301A1EE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
In-Reply-To:
 <BL1PR12MB5849B37472F195417B301A1EE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: MN0PR12MB6344.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|CH3PR12MB8584:EE_
x-ms-office365-filtering-correlation-id: 359f918e-cadd-4f11-c209-08dbf17fc5e3
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 xe17EHAWKG6DpPzg4BPtMOUeYoKuLfMFBMvGVsXpR3Nzf8t2jT3dKbr1Jx2aMW0imM/vyqI7YvreiRyFI+JJ4GVgZQ8Z3rvhCy6k4ssnc7l/bA+KbZTuWBYZXL+GhsJBXXYvsDviMSfOo7lUCeEYqz0OVw2kiIZ3RUTCL2MC9WDyFe4M0rYehlJ/qfkfOe0rgrNilzNzFctChvhpPemyajjERbnta/3C1dJ5gcHsXcl5eU4J/v6+6AeZgjrnTNNJici/oTqJIdSgtoTumz78lH8av2qmsHk/Mpo512XABZnl9TnI4gd2NOxGrg/+r+3W10lwe8+CeJsEL0x7t7MNvVWs0ZwP3KEAjTuyvaHJU8EkigDWQaQ7sQB3S/urQmEFF0X7eSh6YJ96exTBJqB9yii793zEqPolilbeyLLqkji2bYpAIow2nBqU1rJqBd6TawML/qUjy4wrIDhHCqu6mnLOk9jSOJIDLURm11m/ki2QU/DkE0rVFiqA55lI8EZpUVA1RJUTI57QttydRBp8SS4HYLFwQImJch85dIJuq+xK758JeaJcG74w2gw+fdtBbHUQqFBZEqJE/VBiKiOh0uOhsFAzSVM8WWO1EZKbeqStZCI9bgkObNH/vlHKLiGfykRbXOztdfa3525GZPR/0kgcBrMddduX1Vw8M8ZusEErXeB6IgHN597i+5hW3rCb
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(376002)(136003)(39860400002)(366004)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(8676002)(8936002)(4326008)(110136005)(54906003)(316002)(52536014)(478600001)(76116006)(6636002)(66946007)(66476007)(66556008)(64756008)(66446008)(5660300002)(41300700001)(38070700009)(2906002)(122000001)(38100700002)(26005)(2940100002)(9686003)(7696005)(33656002)(71200400001)(53546011)(6506007)(83380400001)(202311291699003)(55016003)(340984004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?eStlTVBrUHNoZmtidnBiS3RLa0FyZlFwVHR1b2trVDN1S1RnY1k5d0tJYmtW?=
 =?utf-8?B?dlFZRlIxaXpmeDRkbmhMSTNhc1UzNXRKcExpMlVNS2VmWjV1SzBDTEQrUHNh?=
 =?utf-8?B?dDdSdDlzTXJuN0lFbWFCWGVuMGhYSkdxMU5BRGE3Z3RMdThjRjFhSmkxbWc4?=
 =?utf-8?B?dWtrd3UxNUJTSWl0RkV3VmU0NW9PL1paU1czWEtRNnpJTGVqZVV4eExHdzFt?=
 =?utf-8?B?M1lXdUo5NzJtNXA4SXA0a1g4QVFyTVAxYzJNOURVQXU3R2Q4c0hBMEgyNUtn?=
 =?utf-8?B?VzliVGVrRlQwQndTdnluSCtXeE9uaVZRNllWc0JGS0dldzVXRWRQS0xjbVZE?=
 =?utf-8?B?QnhyME1pSk8xWXlUYm02YzFWQWE4bE9aTGNpYlNjSFBDYmFMRFZ1VUxpWW9x?=
 =?utf-8?B?aXBwck43SitqaHZIVUtOVGtzNko3aG5kSHR2eUIrbGk5cHcxbkVwZVYxN2oy?=
 =?utf-8?B?dUdaNGVybURtUS9qOTQ1UUY3RzZJeGo5Rm1Cc3JiL1VMSjhRUFV3T1ZvYUdR?=
 =?utf-8?B?L2dxV0hmT2FUb2lQUHladnFOWnd4Zk5VZXNibEdobDdzT2R1aGNIN1d0Rzgy?=
 =?utf-8?B?cnhUMjhYSndSaUk2am1HYTRIaEJoeW4rczc2KzcyYVpqdXg3K2RYbjJRMjBt?=
 =?utf-8?B?M29UcVdOTjAzSXE3TGs4ek9FZVgxQjI2SVNLa0ZMWmpnU1liMXk3YncxK3I0?=
 =?utf-8?B?a2pzUTdIRGNnYXlxOG5sTUhIazM3eW1iQ0txUkFrSm1wbjNnUG5MczJuZTVs?=
 =?utf-8?B?NzdzTTlZSWIvVVRVUjV6RkNnbU13YmJRdFhDbWhnTnVUeWdMd0NtcFRrMXlZ?=
 =?utf-8?B?QU9NUnZxVjh2S294RWxybnlJa2xSRmZpek1CMUQ1YmcvdHdGbjI2aDJsUE5k?=
 =?utf-8?B?UlhRU3pHUjY0cjNnelg0LzdMRmJveENDT2Z3NlVWTm03cUtRNDMvQVAzQ2pG?=
 =?utf-8?B?UXYveFV0a0J2b09oQWFNd2R6NjJva2o4NFFxdTJXVDREMDdOK2xvN3lZUnBY?=
 =?utf-8?B?cy8ycUdpOFdDclY4cVRpR2wyTGYzOUY1NWZ5bmxBZHVWaWVSM2pLd3lUblN4?=
 =?utf-8?B?MDBWM1JYa1o4SGN5RktlelN1bTdHd1BGYkRCdUtkOHlKcEh0Uk5yY2E0ZlBB?=
 =?utf-8?B?VmdKTjE3TWcwZUZIVU1wcWFjTkxlOFpQQyt4QUpEeFlhdTNEYVQvRnpxSDc4?=
 =?utf-8?B?N2tNMmtHV3RVOStINis1Qkd6d09DaWVnL0VLTEMzZHdibTgwTFRzSVhGSmM2?=
 =?utf-8?B?WXZtaTdjaHpndS9CeXNiNGZlcndDV0VaL1VUbzJPK21qNmhPcldkeVRtY2NN?=
 =?utf-8?B?bkVIWTFEOG9vTU53Rm8xOEppVVlEWmNIT2l5UGh3Vm0rdUdqMS9zbUwvUGE2?=
 =?utf-8?B?alBucHcxc0d2ZEtNY1dET1NCMExSckN2YlBGSXRxSnhURVgzSXlkVXlKNThj?=
 =?utf-8?B?eTVhNzZadlNManZneFkyK1NjcXRsNktyUk1DVndkT1lzTlhhMDNEYzhkV1FM?=
 =?utf-8?B?cys4MDFNMk5IUEEzbmp6ZDJ1eEw0UDV6cVlFSHFJdHBMYXVBYmRQTWRISzVR?=
 =?utf-8?B?aGxEOGdZc2lxS002L0JSWFpwbGRTQU1PWnhkN3l5VnRJeWpDZTdLWnBCZjRq?=
 =?utf-8?B?ejR1VE5PWHJwcFVaNkl6L2hyalFNZW9weFY0bFMzbzBNa2h3U3YzTGh2TjlS?=
 =?utf-8?B?R2o1TlYvRkt4aW1yWll3ZDZmRElWbkdhejBsRzF1WjRuckw1UitYTmlOZUVu?=
 =?utf-8?B?VGJOMXdnemhacWRHSkc4STFwV255ZkQrL2NxcDFuaXR4QW9GZUhhNTZYK1NM?=
 =?utf-8?B?amZ6MjhKQmJsN1VmdnRxV0pXUUN0NEEydENMUThIOGFETTJ1aDVvTEZZYkxx?=
 =?utf-8?B?aW11UjdnazBiU2w3dEcvUGtxOC9kRy96ZWwyQjY4cElPUjBLaVcva09kcUp6?=
 =?utf-8?B?RURBZFpnQ3RvUUpmSzk5WDA1dFdQYmx6bml0ZnZOdEw3SS9rZURtQTFaNW9n?=
 =?utf-8?B?dWkvWHF0QU8xVTJaNTJkRVJIM1BqR2hJZjk2UnpxbGJnUStoMnNiR3JMWWJJ?=
 =?utf-8?B?dUU4bUs5UDZtOUcyYUNLSGdMNDJEUkhnNUpIc0RGVTJFQnB6ZVBnZms0Z2l2?=
 =?utf-8?Q?+yMA=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <C51E1F63A5A3B94A8808346D05B30A6A@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 359f918e-cadd-4f11-c209-08dbf17fc5e3
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 08:38:48.6008
 (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: Xu6IM4+/78EZeHH1jDmLobmQNZ5Ul6LVQgwxq+FoP9vSmhtmycbdnVLf7B6GpA9BsOcbEqQKV659cvPFnnjpEA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB8584

SGkgSmFuIEJldWxpY2gsDQoNCk9uIDIwMjMvMTEvMzAgMTQ6NDQsIENoZW4sIEppcWlhbiB3cm90
ZToNCj4gDQo+IE9uIDIwMjMvMTEvMjggMjM6MTQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPj4gT24g
MjQuMTEuMjAyMyAxMTo0MSwgSmlxaWFuIENoZW4gd3JvdGU6DQo+Pj4gLS0tIGEveGVuL2FyY2gv
eDg2L2h2bS9oeXBlcmNhbGwuYw0KPj4+ICsrKyBiL3hlbi9hcmNoL3g4Ni9odm0vaHlwZXJjYWxs
LmMNCj4+PiBAQCAtNzQsNiArNzQsOCBAQCBsb25nIGh2bV9waHlzZGV2X29wKGludCBjbWQsIFhF
Tl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQ0KPj4+ICAgICAgew0KPj4+ICAgICAgY2Fz
ZSBQSFlTREVWT1BfbWFwX3BpcnE6DQo+Pj4gICAgICBjYXNlIFBIWVNERVZPUF91bm1hcF9waXJx
Og0KPj4+ICsgICAgICAgIGlmIChpc19oYXJkd2FyZV9kb21haW4oY3VycmQpKQ0KPj4+ICsgICAg
ICAgICAgICBicmVhazsNCj4+PiAgICAgIGNhc2UgUEhZU0RFVk9QX2VvaToNCj4+PiAgICAgIGNh
c2UgUEhZU0RFVk9QX2lycV9zdGF0dXNfcXVlcnk6DQo+Pj4gICAgICBjYXNlIFBIWVNERVZPUF9n
ZXRfZnJlZV9waXJxOg0KPj4NCj4+IElmIHlvdSB3b3VsZG4ndCBnbyB0aGUgcm91dGUgc3VnZ2Vz
dGVkIGJ5IFJvZ2VyLCBJIHRoaW5rIHlvdSB3aWxsIG5lZWQNCj4+IHRvIGRlbnkgc2VsZi1tYXBw
aW5nIHJlcXVlc3RzIGhlcmUuDQo+IERvIHlvdSBtZWFuIGJlbG93Pw0KPiBpZiAoYXJnLmRvbWlk
ID09IERPTUlEX1NFTEYpDQo+IAlyZXR1cm47DQo+IA0KPj4NCj4+IEFsc28gbm90ZSB0aGF0IGJv
dGggaGVyZSBhbmQgaW4gcGF0Y2ggMSB5b3Ugd2lsbCB3YW50IHRvIGFkanVzdCBhIG51bWJlcg0K
Pj4gb2Ygc3R5bGUgdmlvbGF0aW9ucy4NCj4gQ291bGQgeW91IHBsZWFzZSBkZXNjcmlwdCBpbiBk
ZXRhaWw/IFRoaXMgd2lsbCBncmVhdGx5IGFzc2lzdCBtZSBpbiBtYWtpbmcgbW9kaWZpY2F0aW9u
cyBpbiB0aGUgbmV4dCB2ZXJzaW9uLiBUaGFuayB5b3UhDQpPaCEgRG8geW91IG1lYW4gdGhlcmUg
YXJlIG1hbnkgY29kZSBzdHlsZSBwcm9ibGVtcyB0aGF0IG5vdCBzYXRpc2ZpYWJsZSBmb3IgQ09E
SU5HX1NUWUxFIG9mIFhlbiBpbiBteSBjb2Rlcz8NClRoYW5rIFhlbmlhIGZvciByZW1pbmRlci4N
Cg0KPiANCj4+DQo+PiBKYW4NCj4gDQoNCi0tIA0KQmVzdCByZWdhcmRzLA0KSmlxaWFuIENoZW4u
DQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 08:40:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 08:40:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644457.1005484 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cbH-00055F-SA; Thu, 30 Nov 2023 08:40:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644457.1005484; Thu, 30 Nov 2023 08:40: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 1r8cbH-000558-OH; Thu, 30 Nov 2023 08:40:47 +0000
Received: by outflank-mailman (input) for mailman id 644457;
 Thu, 30 Nov 2023 08:40: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8cbG-000550-Lp
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 08:40:46 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2080.outbound.protection.outlook.com [40.107.7.80])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2740e5a6-8f5c-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 09:40:45 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8564.eurprd04.prod.outlook.com (2603:10a6:20b:423::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.13; Thu, 30 Nov
 2023 08:40:16 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 08:40: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: 2740e5a6-8f5c-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=baIkOXm/4HxVZXgguijQxxhGsop5SB0t13JLS8wgOcvBX1fD285l50dIkGtm3gMUhlk6HVIuc2IM6QStBuLhQye099vmcZyP0FEBtH3zgCYv2CXQNMAOVgflZWpxts2/xhnDHaltq4GwH4CtBptD60LdBOqY8n+77uOFng52YI4qEcsY6Ct2bhg5Sp9XOkipR7RK3Jci59EUGEgYv/Kw64Ve7K+NrXvK4nhaZUZH+BjNwehLbZ/56WmtI7RDOPjeJZi8ZUPk8isXuHt2N0lyVTDLm4DXYBdFiO045UKgqylOpP7qWQPskmv1xueXNT+Fi+Y9pGU24ymLwqka6C8uiQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6/k76Xhu57VzYt18+m03qUPAj5zCm2s8X0C+1He+pFY=;
 b=iE1b29yrdlmpdLroZsv8LSqeeIVv+mgqKSJ33hcaApsLKk8PJsksg8R/Qh3vqwL1Y3LtUbey2VuWjnpNJ61WLkY6hJ0tYnDQ+oRgN8WcRGKa5cbfEGe6iqM068Zzd8KLC9/m2h5NDmKbvEWjtksDKszuKA6AsE5qGSZozt/tOq6Eq0mqPUfdMZoBsWUYes2LH7aEW0sMXtkPmdPFBjOdPRAiitM/2gppKssJUyPr3En/tdxGWsG6mRy7EBSGay85ZnWLXi8Gmu2OE5P5lO/PEhEmMdAIVa/LFFxHZlWBTDk7zHkYzUX8qP00sZD9vlWmyQUdmSRGZGdPnGoY2J9d8g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6/k76Xhu57VzYt18+m03qUPAj5zCm2s8X0C+1He+pFY=;
 b=2aQLcCLn17SUUnDONf3t39C+3A2FHHEuw9bpbG1DyZOwwsnx8v/GOS0c2j2M576jjw72bbJCvCbPk1dBvg1tfyxGJq4XpUZd0ESboCCulISZ6tBCO8BBu/g23+JqbxvBvMWQVGym2dh3oxBOx3z0/h/lKu7UIp52WW2IN9wWLgzd6LUYdY9L2BQKTTCK8IsHovRY+a1XDBzMMziWZAan7hZgouG2TQXTL1cZ0QK6g/5+q2iTa9SqauAu48oxERN1tSNQkhUcOuDAB8beM+iugcNfD3MgnkzuzoIoZbNz0Rlq/jQK2uqWyUMj06gnTSzQw078M5368PznaogOpsvyZA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9cd622b2-f283-476a-916a-1eb5a1171754@suse.com>
Date: Thu, 30 Nov 2023 09:40:14 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v8 1/2] xen/vpci: header: status register handler
Content-Language: en-US
To: Stewart Hildebrand <stewart.hildebrand@amd.com>
Cc: xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>,
 Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
References: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
 <20231128194427.2513249-2-stewart.hildebrand@amd.com>
 <ZWcaiqrg9ZMn6JFC@macbook> <d493f9e3-ab17-4662-9e7c-d313f4ede033@amd.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d493f9e3-ab17-4662-9e7c-d313f4ede033@amd.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-ClientProxiedBy: FR3P281CA0132.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:94::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8564:EE_
X-MS-Office365-Filtering-Correlation-Id: 1d8aa041-b493-41d1-08d6-08dbf17ffa39
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	GoLumxfxa4/OWYrzWnAB7FDcIyZb/iMgswXjPz/wnwNt7RjsoN1gtgTxbAwJhCQ6mmEYPNiI55sOfiUx+5Luq8XDVajWsdZ+nW1TVI67Am/9AuTMPg16CRxWZoUOUiMtocdiaLapIAT1OjE3RS11vivw2MGrk5XLUUrwiQo44P1Kmhq3Qt4Rsj9pSZNsHB+drKxheRgHyHGwAUmiKTCyHDKgyQioqGEyP1jSYFxuh52UzYCmTjHL2K1T30lt62+satxPbKYv8hTsae3d3wE24MPCANGSOmsx61+kG884y9kN0cuF2SZUrjg0JW+/5fuTB+DifOdSDj0+Jr6sQFdCRlg5715G3AD1KJUlyOykj0QQV8gycSEeAVm+aUfnp/irKjxCC5IjOX/EE81lC2uZ+QMj5HT+9xmwfiR2fVplBbAnGGHo427/R0Nol2VNxAB1LPeqZYa80E3lJedOstKI4MzzWU2zkB17FPqK/Uk+FztEf0TNrx8mKBlNUuUwVbG0aG77VBeJD5TktJ7lO6DsziWFikd84Fxw/+8lnyc1JE8KIvKPXj2Qq2HZDSHNXtmcArCSBpwDW66qpJxVEt+hAxJIlSEk2puGE8hn29eJIDm/QZAS3ruc6TaHRDqhBf9nzINqClkA1bUarTMQ1k2VhD1W0BMrnzNZFcvNiDykMdOhlesweXlxOhZ0lg0MRtibBacPxrQSF0enswc+iy8Qtg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(366004)(39860400002)(376002)(396003)(346002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(6506007)(26005)(83380400001)(53546011)(2616005)(6512007)(5660300002)(4326008)(8676002)(8936002)(41300700001)(478600001)(2906002)(6486002)(316002)(6916009)(54906003)(66476007)(66556008)(66946007)(202311291699003)(86362001)(31696002)(36756003)(38100700002)(31686004)(66899024)(43740500002)(45980500001)(357404004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Z2wyWTk3QnMyK25LOWtvejRlWTdJWERlMTFoZFgyTVVhK2FodlovdmdveEFO?=
 =?utf-8?B?cisvenRKaC81ejJ4dEkxamtjVGlVbzZxeStOcjF1TGM4Y0xDb1lFaklFQmts?=
 =?utf-8?B?Z1lxVFgxcHY1WXBJVk9TZGRTZUZ4TmVDMldlQkswcmVFQVJGWXVOSW1SNDV1?=
 =?utf-8?B?YTFvM3lBbDYzYUt3ZVdtUk5qN09xK09HZHJONlM5ek5NbDJaYzBTeldTSk43?=
 =?utf-8?B?dG1wSGc2d0RQenJzWWplV01ZaW5RZTZCeEVFM1RtMXpiT3lTK0pLZS9BK3Q4?=
 =?utf-8?B?UTVEdTBXMkI3Tmp5RzJvM3NDNVJXb0V3ekhQbHVxZDJkWXlFaXBVWkNzVUZr?=
 =?utf-8?B?SW9DOG91bCtKdTdISHljMEp3MFE5ZUJlU1AyNWF5MDQ2VnBoakJWcjZvOS9q?=
 =?utf-8?B?RnFVL2IwVHJLc0RkS0UzQy96N1V1ZHgyTTRrMkpaQ0RMSVNzci9DMmVJa1ND?=
 =?utf-8?B?RFdvdGJUd3dZaC9FZVZHc0xKb3BvVlBLRk96dFZtMHpxT21SQTc0SWs2a0hW?=
 =?utf-8?B?VWVaNTRjcnJnWU14SEY1VWJ1SWsraFVzcGxBb216T1pYam1jRytMbmpjb1o5?=
 =?utf-8?B?YjVrRjdzS1NnaW1YNFlyTnFvMzFicXdvSHJZTER1L2hBYzlRTnpkVG5BUkhB?=
 =?utf-8?B?ck9lQ1NLMGFZY1R2TitpcTRxTGRmSGRPV1RYNm1SakE4RnhoNFRtOFovdHlk?=
 =?utf-8?B?Zml6Smx2WnMwVE1CS3lPWjAxNkJ1dlZvdHF5cFZOTVJGYWkrZXREZkZhUGUx?=
 =?utf-8?B?bjRTZWJ6ZEQzWDVoTUJXbEYyYVQ5MkN3TVdTd2FFbUhxQzRKMHZldVhmVnJR?=
 =?utf-8?B?WHlIOXRPaWVVM2dpZzM1ekZkZUJ3MWNzT01CY0QvOVpmamlxY292bzljaEZu?=
 =?utf-8?B?Zm40SlhEOHBlaHc3QUs0OUF0Y2dkTnREQlBtUUpyTTBBbXRvdmUrZWRTdkJo?=
 =?utf-8?B?N1JreU13cE81dDZ3eUszMThydDY3dHU5YjA1QTJnNW5hbWJEeFc4S0paTDdB?=
 =?utf-8?B?Rkw3SG1XOE1DWUZZcFBnQ090U0hhNUNkWTJpbnNvZ3dZWXN4WmN3N3RwNzFV?=
 =?utf-8?B?Z3hsYkNqNmJWTG5hZ0pWUjVTZ0Q2OHNyc0lYaFlReHFWbUpPZ2ZNa0V4di9G?=
 =?utf-8?B?ZXVpRVRucGw2R3N4Y1IxV2VFaVBoLzl2aFZLa3FsZUpSSWY0U014QlRaK2Fj?=
 =?utf-8?B?dTJRRVIxWTdUbG1jL0NnejhWUDNjQWdjdUd3ZjR5b29YenRiWm5pSDNEeG9y?=
 =?utf-8?B?WHpqbmVETjFqYWNLa3BPOHN3MGwrcmU4MEZ3MG5zL0gxWHJzbHRqRjV0SkRX?=
 =?utf-8?B?R3B0T3NQaHd6OXJ0QnhHVXRrOHg5ampLNXQ1eXhwbEpQQ2gvclRDU2ljbG1V?=
 =?utf-8?B?TTVEc1JhSW44bnZnWmZrb1RVeThwSldNNmJmYVlQZUw1cmYxMXNlUUJTaURl?=
 =?utf-8?B?Yy9JMEthSkVkTlZMS2JyUmFWZDJxdHNySTYyeG96WGxWTklvWU5QOW44ZmhX?=
 =?utf-8?B?ajZ5M2hFRVRyQ25nZkczM0UyT1N2TFB5SkdmY1dYN0h1RVJadHJWWUh5QzFt?=
 =?utf-8?B?bUlvV1JkUjY4dWJGakNQYUtmaVFXR2FTcnVKUlJFcE5qMzNHWmVtSXV3dWRQ?=
 =?utf-8?B?Rk5rM09QdDgrcDlaeHRTN3EvR2llY1h4Z211R3JYSkpvK1NUbnlJZEQ0OVc2?=
 =?utf-8?B?aXdKN1lUbUxpOXY0YVhOc2tKMFNheW8xdjZOTG5oRktFaUZIVFMvMG82Wlds?=
 =?utf-8?B?L3JUby9IZmRqYUVxSncyNHo0UUFFZDRmTVVFYlJiUjNMSkNPb1dNaDB4YkdV?=
 =?utf-8?B?QXllRDMyYUljSGtYT25QNkZCaUZNUEcrZFc1bXFkTFAvTGw4WExnbThETFZV?=
 =?utf-8?B?dkp2dWJFR1JVOHJsZEtFV3VYQkgrWFhGQmZicXZoWEVveU5XZ1RMYzVteDlG?=
 =?utf-8?B?VHdLSWdIM2dhd1JoY1hOdlIrMjZ6RGYvYWpkUDd1TjAvcld5MmZzbFJFRzV2?=
 =?utf-8?B?djVRRlpIbkpXU0J3amhDRmNzeDBmN1Q5VlRQdlBFNWJqWTFuaERVUTZMZURs?=
 =?utf-8?B?b3RIODYwMStjUytib1pkdFJjcnNFcDU4YnRCZ0xxL1BUNEM0NVFoaHlYMTBI?=
 =?utf-8?Q?o/LeLz7Xhjt+kcHnfyLJF1/cQ?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1d8aa041-b493-41d1-08d6-08dbf17ffa39
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 08:40:16.5059
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 66CtNsbVML0hY7Dg2/JZ+ymmSyvmN3kbn7LyqMrsk9fDhnLq/8perW4nW3SYnkdR4blNSIoTbv66X8RgkgAOow==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8564

On 29.11.2023 16:18, Stewart Hildebrand wrote:
> On 11/29/23 06:03, Roger Pau Monné wrote:
>> On Tue, Nov 28, 2023 at 02:44:24PM -0500, Stewart Hildebrand wrote:
>>> @@ -407,26 +445,26 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
>>>  
>>>  /*
>>>   * Perform a maybe partial write to a register.
>>> - *
>>> - * Note that this will only work for simple registers, if Xen needs to
>>> - * trap accesses to rw1c registers (like the status PCI header register)
>>> - * the logic in vpci_write will have to be expanded in order to correctly
>>> - * deal with them.
>>>   */
>>>  static void vpci_write_helper(const struct pci_dev *pdev,
>>>                                const struct vpci_register *r, unsigned int size,
>>>                                unsigned int offset, uint32_t data)
>>>  {
>>> +    uint32_t val = 0;
>>
>> Nit: might be clearer to name this 'current': it's easy to get
>> confused whether val or data holds the user-provided input.
> 
> The name 'current' shadows an existing global variable/macro. How about current_val?

Or curval? Or just cur (to not collide with our common use of curr)?

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 08:45:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 08:45:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644463.1005493 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cfa-0005wL-H1; Thu, 30 Nov 2023 08:45:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644463.1005493; Thu, 30 Nov 2023 08: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 1r8cfa-0005wE-EO; Thu, 30 Nov 2023 08:45:14 +0000
Received: by outflank-mailman (input) for mailman id 644463;
 Thu, 30 Nov 2023 08:45: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8cfZ-0005w8-8W
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 08:45:13 +0000
Received: from EUR01-VE1-obe.outbound.protection.outlook.com
 (mail-ve1eur01on0617.outbound.protection.outlook.com
 [2a01:111:f400:fe1f::617])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id c5b3cf3c-8f5c-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 09:45:11 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB10028.eurprd04.prod.outlook.com (2603:10a6:800:1db::6)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Thu, 30 Nov
 2023 08:45:07 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 08: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: c5b3cf3c-8f5c-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=aUOQWBBWOUNidJnzIqfggyVVXjMzae3LS0Nz868MuRJbrHcRnyzdyp2Bn59AGyKjtgrCUKWRp4KYy+aLq0cy9XGIrXgCeBfpjnCMwxnWKcJnkNSxcsCq9n70H8n96JVx5fRpMiQWyO/tPgGzVZKnZCl6uPRTMXBg0LNC1nB6Gq8AKfTUDXPeFooHm355ZW3dFkhSyU+uHfWHmQklV2PdMsBcrOUlZL4eQsRPXix+4r/WWE5xaX+T/pZ0yaXeXpYYYTYhxhDGFRguJ0wU+VcUzZqPbyK+ljC2cCOVeumnphafl/b4Rza9iSJ63nmDt54KspmUqSjvLWBPwfEva7xrzQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=z3rPX54ej3nOO9jmAmefLmyO4GpB4/DUCsMbxR7ir7U=;
 b=e0ZCWx4mrWYa+NKHOf4l2T/p4qhPzGW+BpUcdu9OOoFoy9mqL2wqBUdKiQ1YRlf9URPIUqFSERPVnrAW7g91dmWib2AT9/r6FOLy8P9UOAUWp7VYM816P3UpLofpsh/WxFVkfOEfZMEs4jh81UwKOcz3oAgEXp2GK6FDU2FTZzwaeYsBFDoigBHBPt49vYnHGzIFLVS5SjeeSa9yPyRS8h7yE3qYS9H809R/18NtVCUajUN9/BynlhSqLGhlobTnRU0+ulblM3KgSrIPYdChWzJhfrGhL8BO/I5yQRo0m/SFZk0ZWESCL3OtUsr33hVhP8ZfBrO+/IvReq+5n+kGCg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=z3rPX54ej3nOO9jmAmefLmyO4GpB4/DUCsMbxR7ir7U=;
 b=vHtd6JFLCo+yqWgJqVwXEYgOa94LyLy7QFCSBL29RF10euV5ajJzsCu8UhsjZ28rD4Xlu5YrRkcLH+c07V/vShuYsFBPAKFtumXXBHBdaat3uw1oHOeyJR4RzQBKftecTR8bkQsB3jukVtg02/z+CQ/2AUtAnzS0/P14K81Vw46eUPvWubfGYV8upM6F/+MF7kIbQGUfajSfB+/fPjl1xvCpzGv3aFbEWuAPDDryTOKQeCTnl41tKNM9HNWhNUaA/eT4ukOA/JTLnV/UlspXoOEcfkN+lzgl6eOgSlxXmS4ia1rJldh0yOUQs2DJNnVos/BXrLeGd+gYxJRH/dxgJA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <9bac805b-5f23-4a34-929a-70e36c88a488@suse.com>
Date: Thu, 30 Nov 2023 09:45:05 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/5] xen/arm: address violations of MISRA C:2012 Rule 11.8
Content-Language: en-US
To: Julien Grall <julien@xen.org>,
 Simone Ballarin <simone.ballarin@bugseng.com>
Cc: consulting@bugseng.com, maria.celeste.cesario@bugseng.com,
 Stefano Stabellini <sstabellini@kernel.org>,
 Bertrand Marquis <bertrand.marquis@arm.com>,
 Michal Orzel <michal.orzel@amd.com>,
 Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
 xen-devel@lists.xenproject.org
References: <cover.1700842832.git.maria.celeste.cesario@bugseng.com>
 <df2af5f9a93c3cbcb61c28ff5228632c82d56f37.1700842832.git.maria.celeste.cesario@bugseng.com>
 <9b1e2289-4080-4dd5-bf4e-0dc14425ffce@xen.org>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <9b1e2289-4080-4dd5-bf4e-0dc14425ffce@xen.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0120.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:a3::18) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB10028:EE_
X-MS-Office365-Filtering-Correlation-Id: 9d35aa84-74b7-4bb8-dd61-08dbf180a799
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	oN8IqnJ4Z9TviLwSAdUf28CT7/+FvN1A3Q9iwVUatvgh7SDFTewV6d/il8s5/zIVNAQu1+Wtjr8lXJxYgJ5AhU24TOYGsyXV0C4JdmApg0SMhw4El/2FlJSuRnfA7YgRuM13e5iGm8zDMotRG29Ma9XehVdvrIaoHn7egiPFrkl/tSm3yjVjPP7AJPUnsGvz19FcEEfXH8+so74fE5mQLK1aK9SPyFi10nJ7wXutM/QNLXW/8vJi0cHiz13rr7a7/sDy8pFJYobMfzO3A1/0fG2+VHPfQrLdcQQhlKYZm8MJhDOUTNypax6NbAY8QSbLUjUX7/63OLcp3DOlerJLJo3PXvB9z3IXEC1g1ru2XhBGmnRvp0bf1Rd0QDKDvtn1UYNKqQJRYwIPpIeNaOCr1EAYJxp0or+7bqv9GMM4WUvL/k6/hX7IO36ElDmWJ7t1mUr6qa+cpQTUnOpWAO39pvwvxM9CNnOoTT7llhFFw7NVOtbsZgUfLF2FeWY+OszdIlRba9g3+YAhb4U4k1SMAqhJk9tnWT0GaRI5QHoVxX+oeboNESHnrl+iGIiynyhG9GSOVJl4ULdU1+Qbe2VP/BAcJ5hxpe4XdGL+bUBIt4bz+tEQbSYXLTmyDymDgoDZ+uF3LKrxR+ketyrNNvdowALtJRnnXSV99blUYeG+R2a4sBE4itmRCEqTUivAzQPs
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(39860400002)(136003)(396003)(346002)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(6486002)(478600001)(31696002)(6512007)(53546011)(86362001)(54906003)(66476007)(110136005)(316002)(66556008)(66946007)(8936002)(6506007)(8676002)(4326008)(202311291699003)(2906002)(41300700001)(38100700002)(36756003)(31686004)(2616005)(5660300002)(4744005)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?djloNnV0QW9yejR2d29lL2YvWWpzQTEzUEsyZ283cjN6blVFTFE1eEszY2dR?=
 =?utf-8?B?OG9TK3MxazQ1QjRHYURDNThDYzNDT0ZYcy9Ia3hlVVhLcUVNZzhMOThsejJo?=
 =?utf-8?B?b0FzREhtQUszYzdGdWFrd1BmRUFVV3djRmRNbThnUmpmZXBETHNIa2J1TU5Y?=
 =?utf-8?B?SUFsVW9oa3hCSUsrU01mMFAwUEZpeGgya3g4NWpJMTNtYklpSHFMTVpobzdV?=
 =?utf-8?B?a0xHZ1dQU3QxUktEa29VZGM2SXpGUVNBd3lwM1lNRjFpMFRrM3Jwa1p1WENl?=
 =?utf-8?B?MmFsSzVaUVdKV0FhZ3lxcThydVViMSs1b2VHRWg3UHc4V0V0RzNIMVdmYVFY?=
 =?utf-8?B?NFhSUHdUejYyanVUMDZTbVFDdS9lZVdWNG9WUXJkVUs5VUovYUFHTXZXMXB0?=
 =?utf-8?B?RGlVSjhkTVlSaFphSzFUZ0Z0RE43cU9SdzZvWWppNzNyajExSjN2QTBELzl3?=
 =?utf-8?B?S3BjUjVZS1NEYTlNaGFGbXA2RllxZ2pEQkJPUncxRm1wNzdxOG5EQ240a01P?=
 =?utf-8?B?SE43NmZGTXhTOHlReXpwK3B0ZHF1TEo1TDhFNmVrZkNjcVp3UzBSTGRyaTUv?=
 =?utf-8?B?VDEyRnZURmlnSlhQZmF5OUZLY0RqQTIyam1OUThFMWdDZFFvWUxQSHlpVWpO?=
 =?utf-8?B?dUdYTllrMHRlK0Yxa1dOUnhTdDArdWY0THZYdEZnaXQ5blZ2QjgxNXJsc3M5?=
 =?utf-8?B?NWpneVY3eVIzSUVta3lpR0xCUnoyTGhzazNDRWk2S05mN053Z3lkR3EydWNx?=
 =?utf-8?B?dW9VZlFPSGlwa1J1MHdmWGVPdTFsdzhUenBZbzRQbWxDMVh2ZlJwbXMrbTRW?=
 =?utf-8?B?L3BUd0w4UDh4OEtleEFCWlNtVEpsMy9INHBScnNYVXZPK204OXpieDVRc1ZR?=
 =?utf-8?B?UzVJWlpYQVZYbXVWY0lPQjVUcjI0RDI5Rlh4dE1TSGdic1JpYmo3WkV1Vlky?=
 =?utf-8?B?YUlVbzN5cE81Szl0VFQ3UCtXYURwS2o3V2kvd09Jd1RMQnpUeW1vVGRQSVV2?=
 =?utf-8?B?bmtSYWwwRDZ1Nm9WaUFxWGpDclpabGVZMXFHcjdsYkMyOXIvVmhSTlJaYnZX?=
 =?utf-8?B?Zk9Gc2xvdVhqQW16bGpwN1NYUDZxU3ZMa3FCem5xR2ZGR1VHWDZFMDJFdFUy?=
 =?utf-8?B?NVRyV0thckk4SjhxdjVvWlRrWkJIZTNWZU1nL2pIcDRRMmhjNTc3UWRmREx0?=
 =?utf-8?B?UGt1aW9qaEczNjNUc1NIR2lZV01HTlhCQU44RkxpTis2MnUvbzVUZmR3V1RS?=
 =?utf-8?B?b2JTQ2Frb21wSWxwQ3g0aC9rbUZjWmk3R2NOYzNtUlltMHBBOGU0ZGV0WjRB?=
 =?utf-8?B?bFFpSE4vVDJwQTBDWXZaOC9PSjZuaFZVejhVaWZxMDdEYXVHV3J1MlJoWGhX?=
 =?utf-8?B?TjIwVDA3YVljUHRoMXlpREVFU0dKaFljc0tORGd0ejJwbjBzMWVNekJldHB5?=
 =?utf-8?B?U1NjWXZqMXErUXlXQ3NEblA2dlF4UWNaM21aMjYrc001T1U1STJneGUrV0pk?=
 =?utf-8?B?Y0x0VU1TRlZEQ3ROaTB4dElwVE5ESTdKQTBNNk5wdSt6L0g2UUUzZkUrM1h1?=
 =?utf-8?B?Y0h3a2FQMUxRZkxlZ3hOMlExdERKUTdRdllYY0tNVXV1WDErL0Noc0xpcHhT?=
 =?utf-8?B?U0NxUWx4aHZuRjVJbUhJc2NnZ0IxK1d1OTlIK3BOWU9PYkwzd0QvMC9wUjcr?=
 =?utf-8?B?cGo1THZhYlZ3M2tYMWFmUkFpa1hUR3Z6NEgvOURmUy9FSjRaSGVsR2U3THhr?=
 =?utf-8?B?b0ZjbDNFai9JYUw3Mms5NTJ0REZLRVJzdnI3aEh5V0ZEdkhRazBVWm5yZ1VJ?=
 =?utf-8?B?S0JpUFZFR3VUWEdxT3l6ME0rN3cralQ1OTRFMHBqOHdOTXEzZStUQkp1WGhz?=
 =?utf-8?B?T2c0MGJDVjRtYS9qSUsvRnB6ODFpSDBwc2hPbzZOMU5QVWxEL2NzaWZHN01j?=
 =?utf-8?B?TnpPSlJacWp1cHFnMUFQMitOdFlqR0FhOFlaaE9RbER5S0hqQ3M1REprdTdp?=
 =?utf-8?B?TzJCZlR6QzVYZm81b0tvY0xUdzJoUnBTZkJHRmdEQkYrVCtPQ3BJUVM2eFZH?=
 =?utf-8?B?TjNucnFLUUU4ZkVlVExVSEk2bkhTeTdrcWZoY3EwT2R5dmFIZzNMVlZGc1h1?=
 =?utf-8?Q?hD2vIeHXZLDZJKjAJGzXfE6Iv?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9d35aa84-74b7-4bb8-dd61-08dbf180a799
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 08:45:07.3887
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: /rm8fMyqBn85tI0VwLE9phcn39zvDReqy/V+oKBNshDYHTk7svAeC8SCdw8eNGGpVkYWbiGrxafxzGXmTRtMdg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB10028

On 29.11.2023 18:50, Julien Grall wrote:
> On 24/11/2023 17:29, Simone Ballarin wrote:
>> --- a/xen/arch/arm/include/asm/regs.h
>> +++ b/xen/arch/arm/include/asm/regs.h
>> @@ -48,7 +48,7 @@ static inline bool regs_mode_is_32bit(const struct cpu_user_regs *regs)
>>   
>>   static inline bool guest_mode(const struct cpu_user_regs *r)
>>   {
>> -    unsigned long diff = (char *)guest_cpu_user_regs() - (char *)(r);
>> +    unsigned long diff = (char *)guest_cpu_user_regs() - (const char *)(r);
> 
> NIT: I would take the opportunity to use 'const char*' for the first one 
> as well.

Considering a similar change likely is being (or is to be) done on x86,
I'd favor not abusing "char *" here. Either use "void *", or - considering
the intended result type - go straight to "unsigned long" (or uintptr_t).
I would certainly ask for that on the x86 side.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:01:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:01:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644467.1005504 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cun-000341-UF; Thu, 30 Nov 2023 09:00:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644467.1005504; Thu, 30 Nov 2023 09: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 1r8cun-00033u-QV; Thu, 30 Nov 2023 09:00:57 +0000
Received: by outflank-mailman (input) for mailman id 644467;
 Thu, 30 Nov 2023 09: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8cum-00033o-Km
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:00:56 +0000
Received: from EUR04-DB3-obe.outbound.protection.outlook.com
 (mail-db3eur04on0631.outbound.protection.outlook.com
 [2a01:111:f400:fe0c::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id f7e7e7f2-8f5e-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 10:00:54 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8769.eurprd04.prod.outlook.com (2603:10a6:20b:340::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.13; Thu, 30 Nov
 2023 09:00:51 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 09:00: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: f7e7e7f2-8f5e-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mJHZSbkvnPTIW0DT/VzNPko8D0/RmDu+rsn2LhO0VN//uxahEQWfWaMllCaDGFpA2jaQcw+KmLxs4+WInFlfLks9LMGSWU1t8OwCNmAvt2S+b1SZ40j1cAa824ZpD0HQC7IoVQvNgJQmBVCNIGvUU3ic08K9Ntauy2IYuzg4Z0eabvz6Ry0DC0c6MKbGABwtxKg703aTynK33cOgMJQWuTaAYyXfsX+t3XOXH+UnRSJfKpfBT/3iqDlGrqxaGrDxae0g6rP9tzeeOpcBUONdf2uGVNXjyS586QG/2FulgoN6lOkKotnnbQ8qv0L+YbQM240GdpgPEcf1JIKiJ0CM1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=AU2G1I1s1+gVT07KJZHopwUbZDptVJWwzhTOuPFzdC4=;
 b=O9vjw/A5GHyhaJX+ZcOMD7RCtlxiOZvR2iyi2DVJX8HSmihy6NfSM8+DeCUEMhSh9MlDu/62lQCovJvE8HEDWulLcy7JhkgA87enMD1Wg2sWzTSnnL63UH3WEFdxDQeYp/EE/3KW4TVMMOFuB8LD+82Ul9071ZCjH8mj1cNrIIYRUWGSPG87kq+XceCZwSfkKuyHxCMfLeA1+NzGIOzrzgp8qZHlcsHXBJpJ192XInW1agTEEhqxAoihAoeT9Nt22nW61jzxLOQxIhXlQGx5wihZLysIsEecU8z1MlL9KUbPtfue20Es0V86kG+fUbfWNR9GMyYZu5ztdX/xJITmDA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=AU2G1I1s1+gVT07KJZHopwUbZDptVJWwzhTOuPFzdC4=;
 b=eUdvFZizWTD90TTIe/VFUPm6bA1fuKoLtiDLIeLYmxmH0e2XC28pXCcs+YP6TVDsgVXXMO5R7ZiMZhctB3sHRuFUHciMBN5CdUgDAvHuHNFOA7QkEQHVpW8jU5daqSL7/N4DL/YUIEBFE4CGpfinPI6AtJYmQV75PpBgLDeV45hLmwphqCyjKcIxzljiJRIg++POc2HRICzmNUHE8zLl1ZDc2uqbCR4kH+cQ2/22siTtYqai16eYBS5BEZ9gjbCbr8f1aZhG5k/wVhWAwQk3R9UmvvSq6uA/Pf1sljNrwvs8MQRjaDvCBrZ/A2RF4/WYNdRJ4pKEaLYDZXVZso6gkg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <5d54a9e2-5363-4b7c-9902-d5523b3c54c7@suse.com>
Date: Thu, 30 Nov 2023 10:00:49 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Content-Language: en-US
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>, "Huang, Honglei1"
 <Honglei1.Huang@amd.com>, "Zhang, Julia" <Julia.Zhang@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Stefano Stabellini
 <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-3-Jiqian.Chen@amd.com>
 <fe8ee91c-7272-4cb9-b7a6-cb6ec7945bc1@suse.com>
 <BL1PR12MB5849B37472F195417B301A1EE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <BL1PR12MB5849B37472F195417B301A1EE782A@BL1PR12MB5849.namprd12.prod.outlook.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8769:EE_
X-MS-Office365-Filtering-Correlation-Id: 47a6db83-70ee-46c4-0df6-08dbf182da6b
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:
	oqwtuVZYUlH+t1PcKNL5uls8KTv7NrgpYT5qoEB+iHaNYFSN5vkJw09hH+efcJ552L02Zb23z3GMpmgF9FJgA6E6L2K5dMZxfWmC2zYzWhDCM6vnCAfjQobv3gmB8FIFe05Q2LRpDEh09x5Q8YurLeJlVqsaKCQInLokbBuBCM5e5f/2H0FSnzxAck1dWE/gIZYZPYvpie72ylQmIWubGp3xp3qx1iAmpWU9PsQj4Qu+GTz509QE2SUWq3SrbCnt3fO4xj2NUlTKUUj+rXhLA7IqN9+eppBMyl9cbdOMGoqyCcMZhaxyZ6SrhREE2o3EW12saA8t/p59U76L8KuwbKpGydCyYGDGmdUyZw4Zwr4CwQUfTdBnVq8awGi7l4VgXVwP4g1lIFBBHJ7FKyeV0a9/LqC0CFIUoONYvO/BkdDYH5ZpRGEJUY9ZmWRGbcoejJ3Xd2gTaoxXzFRv5XwjA3LHiUUwSFO82/pDyZimaX5wZuKUg/XpiQ3pCx5GnC+iuM3iILuBFBVZcRWcu3S7GfAxUTKmRJZc6yD75N1+EL6KOvPdasfmxN0njgiJwExl0J6cjqZ6JflUS/vKtDWez3XfaHBp/wbwce8Nj/sdk5ecxziDPwQiNz32iA3Eaienls2xqZJGT/ONOojPX0GDm3xpr46NMHPI5BoD2OZpXFizMMY1IKTUcMe1Bda66CERfWgXUvC0Br05WlHS4IzbYmomR25fjvek8uQ52sj3SgE=
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(136003)(376002)(346002)(396003)(230922051799003)(64100799003)(186009)(451199024)(1800799012)(4326008)(6916009)(66946007)(66476007)(66556008)(8936002)(54906003)(8676002)(316002)(6506007)(53546011)(2616005)(6512007)(478600001)(6486002)(41300700001)(7416002)(36756003)(2906002)(5660300002)(31696002)(86362001)(202311291699003)(31686004)(83380400001)(38100700002)(26005)(45980500001)(43740500002)(340984004);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?YmcwU0ZpVll6YVAwU3B4R0tBY0xLTHdYbGtHbmJWU3RNaVAzSUZFaWtrRkxL?=
 =?utf-8?B?ZVc1elM5Q3hkTCtKRTM3SjZrTzZyTEJrU2MrQTZqdTJabzNMa2tYdlN4YTho?=
 =?utf-8?B?OVJzeVBIaGdGSW5UMjVjTUZCbllQZ3FiWVBJQVNqbFhCR2tpelVERk4wS2t1?=
 =?utf-8?B?Zm9hd29qeGljVThaVjluOW8rN21xUUtzQ082NkQrUkx2dElBS3ZoYnVDemUy?=
 =?utf-8?B?ZUszTkRhcUxqNXNPKzFjdm0vNmxMNW9vODdPRlhMaHVXaW4zMlFnN3Nvdkw4?=
 =?utf-8?B?cnNFQ2wxMVJVNTFJQUZOUm92VmdVS1RxeXRickloTk5TMEJHTHJ0NkpBY09q?=
 =?utf-8?B?OUpSQjZaaTZTVktvbTFUVW5lWG1IVXhNcWkzSXdNZ1I5bnVzajFLdURSYVpq?=
 =?utf-8?B?Z3ZvcThuT0tTUEcycC9ZOG1naERrUzJRdk5kOHM3NFBILzFoa2ZjRXF6T2o2?=
 =?utf-8?B?WnNMQjZqSHNWOFdCWDA2U1hPTW96dUtHZTdRN1Jla0wzdEFZdTlVbU10NUN2?=
 =?utf-8?B?dVRwTi9Uc1h6SXpISm1ubUdxNDZOQUZmaGgxT1plOGdML0xHSVlXT0tPTk9r?=
 =?utf-8?B?Zll2T1BwdHpUUVYvZ0ZGZXpHWTFobDhRMTJmQ2tKN2tmc0tTeE9paGxDekFk?=
 =?utf-8?B?dk5vV3Z6bmdUSlVuZUhBSWFOR2QzZ21hTGpUTHV1WVhFYWc0T1lhT2pDak5m?=
 =?utf-8?B?cnRKL2ZESXFlU09kcmJmazJ4a3VydGVtZXRXb1ViQmlpVmkvZGdzbVIvZDBr?=
 =?utf-8?B?TXVtZkJIUC82TkNHN3lscm5zMkdKaHIvaFZyeEl5TUFwSERmTlVIaW43NlFG?=
 =?utf-8?B?cExvc0ZJb0FJenZFZUdkRHRwMjF1dzlPSWV4ZFFEMFJmTFRJVEFxaTdvZURp?=
 =?utf-8?B?U2htUTc4bjYxdzZKSnFpM2ZkUjhTcWZqNXhlUzhBdUI0azdXUmc4Vmk2dGxI?=
 =?utf-8?B?dDFEVDZXTTcycklZZ2d1anNqQ0FiWTJoZjExdFFmMmVzSUZ2N0MrM0NFdlVs?=
 =?utf-8?B?N2xSbHQ1dml4alA4THM3MUhKNkRWR0pKaFg0MWdLMHBpMU03MEtZc0hHdGMw?=
 =?utf-8?B?WjhLVE52L202TGRyUGNLa3VmbkNhZzdXOUt0ODFkeW9FZVdzaEF2Nk9pcHBm?=
 =?utf-8?B?VmdiNkxhbjlERFBNYXhkWEdJSVZMZURET0Zkem5JQlNsdnN0OWo0dy9CYXFF?=
 =?utf-8?B?R295bHRmT3VCcDdsY3JrWVFEQUZ0T2FFekpsTDM2emc2bFlqdm83enVrSTZh?=
 =?utf-8?B?Y2FnZ3R3L3h0QUpGYzdLVUI0V1drYU1rcHIvcXdUaWJDZWJ6ZE5BYVZ0bExo?=
 =?utf-8?B?TFRRSnpQdmZJaWNFMzlhV2lqLyt4eGQ2WHNRTWFoQlFPUS93RDFHODFKTUFm?=
 =?utf-8?B?T1VOUTdVeTBUQkNwLzlUeENwcjJqcnZZeDZDVW81K3lHei9lbkVPTDZwcFlP?=
 =?utf-8?B?N0VMZlFaNGwwL2g5UXUwdzZ4ZDRtVXdoRXgyclpJTy80N2VTTXpVMVlsUkJj?=
 =?utf-8?B?blRJZ1BrT1V1N2xjUFE2MTgwckpaeDFiZWZuWCsrYTY5TjFObDJMRW5FREtE?=
 =?utf-8?B?UFB3RnUwODJZVzI4UjVSdFZ6ZEVMZitZMHlJanVEWXJLL2xrT3dmT0MxZ1N5?=
 =?utf-8?B?aWJqcUV5QmNrMmJjOGtYZ3A0a1Z0UHlncHhMelA5UlFyWFZhd2Y2TDU5Y2dt?=
 =?utf-8?B?N050UnZjNkh3c0Y3Q3pmMU83OUx2M1kyOG1tOWZDT1pXQnUzNHFhRkVEOFRa?=
 =?utf-8?B?TktWQVBtRUpzcGRvRFI4TStzank0VUVzdVMzU0l1VEZGalhQQWhwSFplZ2lI?=
 =?utf-8?B?WFl0QTJuU3N5ci93SThJdHJJVEpqK2lOdGgxZ2E3SHUrNFVNWjFaRGxQVlVz?=
 =?utf-8?B?Q1FiMnhtcjd4MnlDWU1Sc2IyMWFRYXVYdE83UC95L2ZtSktwOG4zODAvTmt5?=
 =?utf-8?B?MjY3UEpJTXlYV1dMVHR1aUJNY0dUSmFLOXhwSGUvdloxUzFWVTR6dG1xNWQw?=
 =?utf-8?B?c2dRc0xabC85cExzTzNyejRXSXZKUTRtUGZEOW5GZUFUaWZUVzVCZndVVWJW?=
 =?utf-8?B?VjBsUGZNWVFJaC8vdjZoT2IzZ3FQanR2QXVZc2czaHRielRtYkRNMjVITmlr?=
 =?utf-8?Q?4PJXWg8jTrwr4lrm/F19nXRQS?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 47a6db83-70ee-46c4-0df6-08dbf182da6b
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 09:00:51.6704
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +8zmFE9lqRgE49a5fid+zhQ7asonnpANsJSL9cgPviG0TDyaFil7pezIOecgKuj550aIgi/WQw8MBvzJbsc72Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8769

On 30.11.2023 07:44, Chen, Jiqian wrote:
> On 2023/11/28 23:14, Jan Beulich wrote:
>> On 24.11.2023 11:41, Jiqian Chen wrote:
>>> --- a/xen/arch/x86/hvm/hypercall.c
>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>> @@ -74,6 +74,8 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>      {
>>>      case PHYSDEVOP_map_pirq:
>>>      case PHYSDEVOP_unmap_pirq:
>>> +        if (is_hardware_domain(currd))
>>> +            break;
>>>      case PHYSDEVOP_eoi:
>>>      case PHYSDEVOP_irq_status_query:
>>>      case PHYSDEVOP_get_free_pirq:
>>
>> If you wouldn't go the route suggested by Roger, I think you will need
>> to deny self-mapping requests here.
> Do you mean below?
> if (arg.domid == DOMID_SELF)
> 	return;

That's part of it, yes. You'd also need to check for the actual domain ID of
the caller domain.

>> Also note that both here and in patch 1 you will want to adjust a number
>> of style violations.
> Could you please descript in detail? This will greatly assist me in making modifications in the next version. Thank you!

Well, in the code above you're missing blanks inside the if(). Please see
./CODING_STYLE.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:02:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:02:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644469.1005514 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cwb-0003hE-BA; Thu, 30 Nov 2023 09:02:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644469.1005514; Thu, 30 Nov 2023 09:02: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 1r8cwb-0003h7-7z; Thu, 30 Nov 2023 09:02:49 +0000
Received: by outflank-mailman (input) for mailman id 644469;
 Thu, 30 Nov 2023 09:02: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=p39W=HL=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r8cwa-0003gy-4b
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:02:48 +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 3abc9ba7-8f5f-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 10:02:47 +0100 (CET)
Received: by mail-ej1-x631.google.com with SMTP id
 a640c23a62f3a-a184d717de1so80591866b.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 01:02:47 -0800 (PST)
Received: from [192.168.17.21] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 i16-20020a1709061cd000b009b2cc87b8c3sm438680ejh.52.2023.11.30.01.02.40
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 01:02:45 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3abc9ba7-8f5f-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701334966; x=1701939766; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=dN4djQbmfKsEe8CLCBFczIlNB941kshQNbbSdFz94k8=;
        b=Jcf5FoDaqXgEC0u/Sbtq6OYqewAAOdlIOhUBtdPBFo/Os4LlUgh6vFRFpULE4Gft9B
         YK2c9bhYChJvMu005nUgSqEhsUl075NyInRKmaabzhM8bZX4hAtgvbSpqvjhD8KBRMx/
         dQlZs7T6GRRdDpGwxWA6c5NXI5FCeAOxH2mFxyn4YD6p/fa1aPGB6YO39aB2vJjtiFqQ
         S7nEOG+aiBNcYWb7Z0K3+loawI5Xd0jx4hyo+b1bgqdgq8Hb0t8T9ic7Nkwa4f6lUVNC
         NRni10fycgKd4vOUALw1CA8OYIozo233SXVBxNgZoGGeyLf16N7LBTYwdy8mGyTaJw7N
         N1TQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701334966; x=1701939766;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=dN4djQbmfKsEe8CLCBFczIlNB941kshQNbbSdFz94k8=;
        b=VK5N53ey72tfC9i518HFU8UnxvbZ51NkpGe5SAtNpoJt2QVw8suztsW9rGVXcLTbW8
         67NuSdZCCdVBWATZk2R8zwMjskrl4RKwioaAadLFbQGxp7mA9BPASTtU3dSArNX4qIKi
         OxLv1iM4GkZgWXsISBXGWlcbV8OPsNDD0ZJsl9CFbd3rJGxmi8fvopL1k8ykYpAHyK8M
         uetLFLzaLBNeMdjMsleMzZls1pXJDQuQ8Vn5sSkrHXwTGQtNlK8jefhV88fUt59HXjdt
         OvWjg7am4yYp0X1atsxfRkdEjxkBaGJohlC0WkuQxBjgC5xPMQrLdIvnqItdBcJnRY6l
         tufA==
X-Gm-Message-State: AOJu0YxQRQq37Cu7AMT8mBerbL7/rbAwlPiVSKUfrVGG8ysbLFIWjfy/
	jg1IshQet+zN+8/z8JO820M=
X-Google-Smtp-Source: AGHT+IFWDX/X0nWdxhdyMpsksBOB56iEUyavnywH1etzd7/ikoUkMx/LzyNe6VUbK0/ejUiaEoLuHw==
X-Received: by 2002:a17:906:abd2:b0:a18:91d0:c58e with SMTP id kq18-20020a170906abd200b00a1891d0c58emr796124ejb.52.1701334965913;
        Thu, 30 Nov 2023 01:02:45 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <9b189639-5477-4c48-98a2-3ba55417de01@xen.org>
Date: Thu, 30 Nov 2023 09:02:35 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to
 qemu_bql_lock()
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>, qemu-ppc@nongnu.org,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-2-stefanha@redhat.com>
Organization: Xen Project
In-Reply-To: <20231129212625.1051502-2-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/11/2023 21:26, Stefan Hajnoczi wrote:
> The Big QEMU Lock (BQL) has many names and they are confusing. The
> actual QemuMutex variable is called qemu_global_mutex but it's commonly
> referred to as the BQL in discussions and some code comments. The
> locking APIs, however, are called qemu_mutex_lock_iothread() and
> qemu_mutex_unlock_iothread().
> 
> The "iothread" name is historic and comes from when the main thread was
> split into into KVM vcpu threads and the "iothread" (now called the main
> loop thread). I have contributed to the confusion myself by introducing
> a separate --object iothread, a separate concept unrelated to the BQL.
> 
> The "iothread" name is no longer appropriate for the BQL. Rename the
> locking APIs to:
> - void qemu_bql_lock(void)
> - void qemu_bql_unlock(void)
> - bool qemu_bql_locked(void)
> 
> There are more APIs with "iothread" in their names. Subsequent patches
> will rename them. There are also comments and documentation that will be
> updated in later patches.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   include/block/aio-wait.h             |   2 +-
>   include/qemu/main-loop.h             |  26 +++---
>   accel/accel-blocker.c                |  10 +--
>   accel/dummy-cpus.c                   |   8 +-
>   accel/hvf/hvf-accel-ops.c            |   4 +-
>   accel/kvm/kvm-accel-ops.c            |   4 +-
>   accel/kvm/kvm-all.c                  |  22 ++---
>   accel/tcg/cpu-exec.c                 |  26 +++---
>   accel/tcg/cputlb.c                   |  16 ++--
>   accel/tcg/tcg-accel-ops-icount.c     |   4 +-
>   accel/tcg/tcg-accel-ops-mttcg.c      |  12 +--
>   accel/tcg/tcg-accel-ops-rr.c         |  14 ++--
>   accel/tcg/tcg-accel-ops.c            |   2 +-
>   accel/tcg/translate-all.c            |   2 +-
>   cpu-common.c                         |   4 +-
>   dump/dump.c                          |   4 +-
>   hw/core/cpu-common.c                 |   6 +-
>   hw/i386/intel_iommu.c                |   6 +-
>   hw/i386/kvm/xen_evtchn.c             |  16 ++--
>   hw/i386/kvm/xen_overlay.c            |   2 +-
>   hw/i386/kvm/xen_xenstore.c           |   2 +-
>   hw/intc/arm_gicv3_cpuif.c            |   2 +-
>   hw/intc/s390_flic.c                  |  18 ++--
>   hw/misc/edu.c                        |   4 +-
>   hw/misc/imx6_src.c                   |   2 +-
>   hw/misc/imx7_src.c                   |   2 +-
>   hw/net/xen_nic.c                     |   8 +-
>   hw/ppc/pegasos2.c                    |   2 +-
>   hw/ppc/ppc.c                         |   4 +-
>   hw/ppc/spapr.c                       |   2 +-
>   hw/ppc/spapr_rng.c                   |   4 +-
>   hw/ppc/spapr_softmmu.c               |   4 +-
>   hw/remote/mpqemu-link.c              |  12 +--
>   hw/remote/vfio-user-obj.c            |   2 +-
>   hw/s390x/s390-skeys.c                |   2 +-
>   migration/block-dirty-bitmap.c       |   4 +-
>   migration/block.c                    |  16 ++--
>   migration/colo.c                     |  60 +++++++-------
>   migration/dirtyrate.c                |  12 +--
>   migration/migration.c                |  52 ++++++------
>   migration/ram.c                      |  12 +--
>   replay/replay-internal.c             |   2 +-
>   semihosting/console.c                |   8 +-
>   stubs/iothread-lock.c                |   6 +-
>   system/cpu-throttle.c                |   4 +-
>   system/cpus.c                        |  28 +++----
>   system/dirtylimit.c                  |   4 +-
>   system/memory.c                      |   2 +-
>   system/physmem.c                     |   8 +-
>   system/runstate.c                    |   2 +-
>   system/watchpoint.c                  |   4 +-
>   target/arm/arm-powerctl.c            |  14 ++--
>   target/arm/helper.c                  |   4 +-
>   target/arm/hvf/hvf.c                 |   8 +-
>   target/arm/kvm.c                     |   4 +-
>   target/arm/kvm64.c                   |   4 +-
>   target/arm/ptw.c                     |   6 +-
>   target/arm/tcg/helper-a64.c          |   8 +-
>   target/arm/tcg/m_helper.c            |   4 +-
>   target/arm/tcg/op_helper.c           |  24 +++---
>   target/arm/tcg/psci.c                |   2 +-
>   target/hppa/int_helper.c             |   8 +-
>   target/i386/hvf/hvf.c                |   6 +-
>   target/i386/kvm/hyperv.c             |   4 +-
>   target/i386/kvm/kvm.c                |  28 +++----
>   target/i386/kvm/xen-emu.c            |  14 ++--
>   target/i386/nvmm/nvmm-accel-ops.c    |   4 +-
>   target/i386/nvmm/nvmm-all.c          |  20 ++---
>   target/i386/tcg/sysemu/fpu_helper.c  |   6 +-
>   target/i386/tcg/sysemu/misc_helper.c |   4 +-
>   target/i386/whpx/whpx-accel-ops.c    |   4 +-
>   target/i386/whpx/whpx-all.c          |  24 +++---
>   target/loongarch/csr_helper.c        |   4 +-
>   target/mips/kvm.c                    |   4 +-
>   target/mips/tcg/sysemu/cp0_helper.c  |   4 +-
>   target/openrisc/sys_helper.c         |  16 ++--
>   target/ppc/excp_helper.c             |  12 +--
>   target/ppc/kvm.c                     |   4 +-
>   target/ppc/misc_helper.c             |   8 +-
>   target/ppc/timebase_helper.c         |   8 +-
>   target/s390x/kvm/kvm.c               |   4 +-
>   target/s390x/tcg/misc_helper.c       | 118 +++++++++++++--------------
>   target/sparc/int32_helper.c          |   2 +-
>   target/sparc/int64_helper.c          |   6 +-
>   target/sparc/win_helper.c            |  20 ++---
>   target/xtensa/exc_helper.c           |   8 +-
>   ui/spice-core.c                      |   4 +-
>   util/async.c                         |   2 +-
>   util/main-loop.c                     |   8 +-
>   util/rcu.c                           |  14 ++--
>   audio/coreaudio.m                    |   4 +-
>   memory_ldst.c.inc                    |  18 ++--
>   target/i386/hvf/README.md            |   2 +-
>   ui/cocoa.m                           |  50 ++++++------
>   94 files changed, 502 insertions(+), 502 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:04:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:04:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644472.1005524 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8cxs-0004YJ-Pz; Thu, 30 Nov 2023 09:04:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644472.1005524; Thu, 30 Nov 2023 09:04: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 1r8cxs-0004YC-M7; Thu, 30 Nov 2023 09:04:08 +0000
Received: by outflank-mailman (input) for mailman id 644472;
 Thu, 30 Nov 2023 09:04: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=p39W=HL=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r8cxr-0004Wo-Qe
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:04:07 +0000
Received: from mail-ed1-x529.google.com (mail-ed1-x529.google.com
 [2a00:1450:4864:20::529])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 6a97a078-8f5f-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 10:04:07 +0100 (CET)
Received: by mail-ed1-x529.google.com with SMTP id
 4fb4d7f45d1cf-548ce39b101so629502a12.2
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 01:04:06 -0800 (PST)
Received: from [192.168.17.21] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 i16-20020a1709061cd000b009b2cc87b8c3sm438680ejh.52.2023.11.30.01.04.00
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 01:04:05 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a97a078-8f5f-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701335046; x=1701939846; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=rDG0LfrN9KzuY1dutbAJHJsyvk/SVEQtsaapgDeTQgk=;
        b=ZaF8wdfsKx3Tv16GEdAkSVo0Y38kp3AMAH1+q2aUPcawzkeJmg8sCeNP/YraeIm2u5
         kI4hltHPDLNIYWtw7EGzFyKFI3Y2goEUGBY9yYUXzn+3UBzNcROuz9TBHH1UujPlzBp7
         9UzdC9LA5O8Z3NDbnu/e8q1iQOwVGKif1XXs+ZcoZjfpFPYpziTLFT9QgR/LXr7t/zyf
         SyFcF6rtsSXn7B0gv73E2gPbJ6q2z34zBJq0OYqPryyMPPAWE+TGWSQLfVkHGgrEq10P
         +0SZjzEHlAUjOCUnDoCMIGfl8sgE/SgSOD5CO3h1i6NyRk3q+dzBq4NoIHnLdmsgctCN
         xx8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701335046; x=1701939846;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=rDG0LfrN9KzuY1dutbAJHJsyvk/SVEQtsaapgDeTQgk=;
        b=cqzxTeaM3ZYCnvl0pcj8ziQ2bngU6h4AeTx3H3R/noEmerebDJtjDARizZ8FyCe0DX
         M4sMi6VNtWItXpMtE97OwKLXYypMjkGcNvDnh6l2wNMgfZc1PAEJP031RBnZhG3QAwjF
         EMaB/1Dplk6O9e3SdZKaMifyJoepFYTIFnnPQMIBLkYLZ1ANnGzCLy0lY5ZHvHaU3AI/
         Oeftp+zRGflg3N0VnacJx2FCSCJfh7YzEykstApURazopQ5Kd10Jpc+AcXDSQM8vkg58
         Rf6XCSaEJLCq4IbcSoZ63HoZcpDmgH73CM4aZEUqupVrt8MxxuGmKtCPGQu8JAoXE93F
         9uhA==
X-Gm-Message-State: AOJu0Yz9XmTnXYXIVDdGmBL8+3aq1zoowpLVQlTLzVyzMsJqauzLQXHP
	IXIPgQHd2xcwGxM+OUTkuus=
X-Google-Smtp-Source: AGHT+IH62q365iHhXfNeCdgPZMilj33GjyyKhNs3sjPFImh+k7bvQx+U/QmZwntDvSzeLzApdBDisw==
X-Received: by 2002:a17:906:197:b0:a02:9987:dc3b with SMTP id 23-20020a170906019700b00a029987dc3bmr14284857ejb.15.1701335046283;
        Thu, 30 Nov 2023 01:04:06 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <67642c0a-4c2d-4f0b-90e8-9b125647af6c@xen.org>
Date: Thu, 30 Nov 2023 09:03:58 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 2/6] qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to
 QEMU_BQL_LOCK_GUARD
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>, qemu-ppc@nongnu.org,
 =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-3-stefanha@redhat.com>
Organization: Xen Project
In-Reply-To: <20231129212625.1051502-3-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/11/2023 21:26, Stefan Hajnoczi wrote:
> The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
> instead, it is already widely used and unambiguous.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   include/qemu/main-loop.h  | 20 ++++++++++----------
>   hw/i386/kvm/xen_evtchn.c  | 14 +++++++-------
>   hw/i386/kvm/xen_gnttab.c  |  2 +-
>   hw/mips/mips_int.c        |  2 +-
>   hw/ppc/ppc.c              |  2 +-
>   target/i386/kvm/xen-emu.c |  2 +-
>   target/ppc/excp_helper.c  |  2 +-
>   target/ppc/helper_regs.c  |  2 +-
>   target/riscv/cpu_helper.c |  4 ++--
>   9 files changed, 25 insertions(+), 25 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:08:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:08:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644477.1005533 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8d1w-0005Y3-8t; Thu, 30 Nov 2023 09:08:20 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644477.1005533; Thu, 30 Nov 2023 09:08: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 1r8d1w-0005Xw-6L; Thu, 30 Nov 2023 09:08:20 +0000
Received: by outflank-mailman (input) for mailman id 644477;
 Thu, 30 Nov 2023 09:08: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8d1u-0005Xq-U8
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:08:18 +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 002bc930-8f60-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 10:08:18 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-3331974c2d2so498187f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 01:08:18 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 j6-20020a5d5646000000b0033307ffb193sm947271wrw.29.2023.11.30.01.08.16
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 01:08:17 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 002bc930-8f60-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701335297; x=1701940097; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=UQVYFO3iAhFtMeRDs7Btqdr1I4QtYjMCi6XpgS6ayag=;
        b=SK8d4vYLIVl4Igmc/GYOSl4cecGwzlWjWdpw1K6J6tpF3axmKwVI+rTRaM/OdKUgXy
         2fEH2/BRyboS7M1lP2H0QYD6A8CtFzAikUZ0Fc/Wrl+uTuO+FzvTwKrApc/o8HvewfHu
         utHYdhqtc1vmscWj8AjC/m44nvx9+8wCrhZ74=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701335297; x=1701940097;
        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:subject:date:message-id:reply-to;
        bh=UQVYFO3iAhFtMeRDs7Btqdr1I4QtYjMCi6XpgS6ayag=;
        b=MdLHen7G7ySwFh2FLiIZxbQvEC3M5K2vc2JrLrK4eNXGc+j76TBETm5ixRnl0oKMwj
         s4y+clZkoon/0JJHskywFNX27kfmESRjjNIQ3omxQO5B4RMrJpWmtG9n6+v36/neU8RP
         1pVfmZpZyZxBN0r9uPWRP0DmQs5y3P0MwT4u7J320EQzcTAcou5OnIov9YXPNJ0RU3IT
         9x9x0et74HxL3/ThMKqDHh+Jo+LxTJzOrUl+nu2ANtvvnLyTpuCYCQuCsUhRm6uk9j+F
         Z1FqBbK6KnSpc9OZegUyfolF3WUid4a/o/VAngq5s3DDL9gO4naA9xcIgT6OwVzoQGfU
         HPeA==
X-Gm-Message-State: AOJu0YysbzldVJam6dehxJ9dR/zBICYAq3qCZmy5/4X4Rabz24ZUATiT
	IWiVmmEwAVF8yD+CC9b8tJFTpg==
X-Google-Smtp-Source: AGHT+IHp4HeWEJt33HuXnZiN9FVpKn81AsgXQcJNUZ82V3yx/7aw0rz6aR/eK73K+/XtZtx1e3+APg==
X-Received: by 2002:a05:6000:a82:b0:332:e7c4:fe47 with SMTP id dh2-20020a0560000a8200b00332e7c4fe47mr16411795wrb.67.1701335297303;
        Thu, 30 Nov 2023 01:08:17 -0800 (PST)
Date: Thu, 30 Nov 2023 10:08:16 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Stewart Hildebrand <stewart.hildebrand@amd.com>,
	xen-devel@lists.xenproject.org, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Julien Grall <julien@xen.org>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: Re: [PATCH v8 1/2] xen/vpci: header: status register handler
Message-ID: <ZWhRAMoH-1MOSFz0@macbook>
References: <20231128194427.2513249-1-stewart.hildebrand@amd.com>
 <20231128194427.2513249-2-stewart.hildebrand@amd.com>
 <ZWcaiqrg9ZMn6JFC@macbook>
 <d493f9e3-ab17-4662-9e7c-d313f4ede033@amd.com>
 <9cd622b2-f283-476a-916a-1eb5a1171754@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <9cd622b2-f283-476a-916a-1eb5a1171754@suse.com>

On Thu, Nov 30, 2023 at 09:40:14AM +0100, Jan Beulich wrote:
> On 29.11.2023 16:18, Stewart Hildebrand wrote:
> > On 11/29/23 06:03, Roger Pau Monné wrote:
> >> On Tue, Nov 28, 2023 at 02:44:24PM -0500, Stewart Hildebrand wrote:
> >>> @@ -407,26 +445,26 @@ uint32_t vpci_read(pci_sbdf_t sbdf, unsigned int reg, unsigned int size)
> >>>  
> >>>  /*
> >>>   * Perform a maybe partial write to a register.
> >>> - *
> >>> - * Note that this will only work for simple registers, if Xen needs to
> >>> - * trap accesses to rw1c registers (like the status PCI header register)
> >>> - * the logic in vpci_write will have to be expanded in order to correctly
> >>> - * deal with them.
> >>>   */
> >>>  static void vpci_write_helper(const struct pci_dev *pdev,
> >>>                                const struct vpci_register *r, unsigned int size,
> >>>                                unsigned int offset, uint32_t data)
> >>>  {
> >>> +    uint32_t val = 0;
> >>
> >> Nit: might be clearer to name this 'current': it's easy to get
> >> confused whether val or data holds the user-provided input.
> > 
> > The name 'current' shadows an existing global variable/macro. How about current_val?
> 
> Or curval? Or just cur (to not collide with our common use of curr)?

Any would be fine, curval or cur_val are short and clear IMO.  Sorry
for having suggested a wrong name in my previous reply.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:10:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:10:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644482.1005544 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8d3n-00077D-LG; Thu, 30 Nov 2023 09:10:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644482.1005544; Thu, 30 Nov 2023 09: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 1r8d3n-000776-Hp; Thu, 30 Nov 2023 09:10:15 +0000
Received: by outflank-mailman (input) for mailman id 644482;
 Thu, 30 Nov 2023 09:10: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 1r8d3m-00076w-Jk; Thu, 30 Nov 2023 09:10: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 1r8d3m-0001cb-9A; Thu, 30 Nov 2023 09:10: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 1r8d3l-0005up-UB; Thu, 30 Nov 2023 09:10:13 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8d3l-00025I-Ti; Thu, 30 Nov 2023 09:10: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=sOnsp+7na2xYMhWi1es/B0gE18UzZthtX2QDV75CbPw=; b=KxB7lo9niw6Fr59pTGrFupkvwb
	iT+1jeZDgbSn8XMvJshIuVKK2tbSM8vpo8kXmMv6WcL5PZVi4cIYxYOUUCCQbiVs14PX5EV5/7aov
	YG50rCaoEkcLmFN04KfKAqfA/2zjIG9Nq/5pOQY1778EkMoaJaqm1pHs0/6T1ZCTQR2Q=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183937-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [linux-linus test] 183937: tolerable FAIL - PUSHED
X-Osstest-Failures:
    linux-linus:test-amd64-amd64-xl-pvshim:guest-saverestore.2:fail:heisenbug
    linux-linus:test-armhf-armhf-libvirt: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-win7-amd64:guest-stop:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2: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-libvirt:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-xsm: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-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-libvirt-xsm:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-xl:migrate-support-check:fail:nonblocking
    linux-linus:test-arm64-arm64-libvirt-xsm:saverestore-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-armhf-armhf-libvirt: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-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-multivcpu:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-multivcpu:saverestore-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-raw:migrate-support-check:fail:nonblocking
    linux-linus:test-amd64-amd64-libvirt-qcow2: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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-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-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-rtds:migrate-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-xl-rtds:saverestore-support-check:fail:nonblocking
    linux-linus:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    linux=3b47bc037bd44f142ac09848e8d3ecccc726be99
X-Osstest-Versions-That:
    linux=18d46e76d7c2eedd8577fae67e3f1d4db25018b0
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Nov 2023 09:10:13 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-amd64-xl-pvshim   19 guest-saverestore.2 fail pass in 183947-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183917
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183917
 test-amd64-amd64-xl-qemuu-win7-amd64 19 guest-stop            fail like 183917
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183917
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183917
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183917
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183917
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183917
 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-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-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-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-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-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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-credit1  16 saverestore-support-check    fail   never pass
 test-armhf-armhf-xl-multivcpu 16 saverestore-support-check    fail  never pass
 test-amd64-amd64-libvirt-raw 14 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt-qcow2 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-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm 13 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-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-libvirt-qcow2 14 migrate-support-check        fail never pass

version targeted for testing:
 linux                3b47bc037bd44f142ac09848e8d3ecccc726be99
baseline version:
 linux                18d46e76d7c2eedd8577fae67e3f1d4db25018b0

Last test of basis   183917  2023-11-28 22:12:07 Z    1 days
Testing same since   183937  2023-11-29 16:12:05 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Antonio Borneo <antonio.borneo@foss.st.com>
  Charles Keepax <ckeepax@opensource.cirrus.com>
  Chen Ni <nichen@iscas.ac.cn>
  Chester Lin <clin@suse.com>
  Conor Dooley <conor.dooley@microchip.com>
  Linus Torvalds <torvalds@linux-foundation.org>
  Linus Walleij <linus.walleij@linaro.org>
  Maria Yu <quic_aiquny@quicinc.com>
  Tzuyi Chang <tychang@realtek.com>
  Valentin Caron <valentin.caron@foss.st.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-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                                   fail    
 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-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
   18d46e76d7c2..3b47bc037bd4  3b47bc037bd44f142ac09848e8d3ecccc726be99 -> tested/linux-linus


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:12:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:12:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644488.1005553 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8d64-0007yG-6z; Thu, 30 Nov 2023 09:12:36 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644488.1005553; Thu, 30 Nov 2023 09:12: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 1r8d64-0007y9-44; Thu, 30 Nov 2023 09:12:36 +0000
Received: by outflank-mailman (input) for mailman id 644488;
 Thu, 30 Nov 2023 09:12: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=p39W=HL=gmail.com=xadimgnik@srs-se1.protection.inumbo.net>)
 id 1r8d62-0007y3-VA
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:12:34 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 98e4ff40-8f60-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 10:12:34 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-40859dee28cso5605285e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 01:12:34 -0800 (PST)
Received: from [192.168.17.21] (54-240-197-238.amazon.com. [54.240.197.238])
 by smtp.gmail.com with ESMTPSA id
 w3-20020a05600c474300b0040b36050f1bsm1227874wmo.44.2023.11.30.01.12.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 01:12:32 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 98e4ff40-8f60-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701335553; x=1701940353; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:from:to:cc:subject:date:message-id:reply-to;
        bh=siaYtfcd1nV01H+dRdqoPqqRzYarxavISfuT4qVZzyM=;
        b=KCuQ4gL2INSaS9jGLTrUCQcuDh+hURLJe1cCHLlWN5JygxWBDmHbVqyeVHLZ3IQ7bq
         +WixgJsBzr+dNaobJW836KU8tltX3Z4DJ+VaBZZaI5i7p50KKbZd3vhlU/ngm1rtAaEi
         FNKWXL28bHRcMkjvFZ2Hkrysx+HLEC3M80/rGH8chwBv98ZlM6ImY8sHi+NHMjZjEaMS
         1tnF0HqMcfI3E4ONJD4FmDW98l3HhwouWY0obc7jfKe953Sj66oS3cq33ZjpHe2mPD8S
         TtwTGVQ3aTTSGH6iPGmc2q/Q52MJQHWPtFgzl6G156YevCMZ45poolCX/bar9bCbVeCH
         JnXQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701335553; x=1701940353;
        h=content-transfer-encoding:in-reply-to:organization:references:cc:to
         :content-language:subject:reply-to:user-agent:mime-version:date
         :message-id:from:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=siaYtfcd1nV01H+dRdqoPqqRzYarxavISfuT4qVZzyM=;
        b=sccnEaXAmQJIgneaWtLNXpUUUZG9ZdmiSW32Ll8zTFkqTFTfn/wwTofhUQPreRqTQW
         T7kSMQ2wdSGk7dRSk6ehZZOkqm5Oa/nDbs+ZMFw85nG2RaC5uxqY3kCBSwaOp0A8bYwR
         8cJ3x2mwtBBg6KsT2w53Vq3+x1j+sRKGFrEOem+Q+WiKaGdTCRLtHVgSnOR5TtpIRydR
         +7p4PUxM5AKjhI3x4FKWJVrKm4o2FvbYyHH5gkbyAwScJtCbV+/RwFVP4psnQnWdJtF8
         U/l614DuNGYnWsRnHkJhFh8cLjIGfbxlUMJnJf3JfJyNz2Ki90YhpGU06zdC9DNSUr3l
         ci2g==
X-Gm-Message-State: AOJu0YybXHtTjzirdP8rYL1hhD5siZI7aD0V5URrFeNVdsf175HkS4Pq
	OZSGjnLWDvgCntMiNzPLESs=
X-Google-Smtp-Source: AGHT+IHK+u82BOt6ta4eeN8cUN9H4SuoQH8m39Aqnj8S1aTgEt3vYUylXWxM8EvP4Mg+jRJiQRSjlA==
X-Received: by 2002:a05:600c:3110:b0:3f5:fff8:d4f3 with SMTP id g16-20020a05600c311000b003f5fff8d4f3mr15366829wmo.7.1701335553272;
        Thu, 30 Nov 2023 01:12:33 -0800 (PST)
From: Paul Durrant <xadimgnik@gmail.com>
X-Google-Original-From: Paul Durrant <paul@xen.org>
Message-ID: <bc173dc3-1cdf-43d2-8ab5-9df4dd0a6a51@xen.org>
Date: Thu, 30 Nov 2023 09:12:27 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Reply-To: paul@xen.org
Subject: Re: [PATCH 05/12] block: remove AioContext locking
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Hanna Reitz <hreitz@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>,
 Alberto Garcia <berto@igalia.com>,
 Emanuele Giuseppe Esposito <eesposit@redhat.com>,
 John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>,
 Eric Blake <eblake@redhat.com>, Wen Congyang <wencongyang2@huawei.com>,
 qemu-block@nongnu.org, xen-devel@lists.xenproject.org,
 Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>,
 Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>,
 Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>,
 Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>,
 =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?= <berrange@redhat.com>,
 Jason Wang <jasowang@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>,
 Anthony Perard <anthony.perard@citrix.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 Leonardo Bras <leobras@redhat.com>,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, Fam Zheng <fam@euphon.net>,
 Fabiano Rosas <farosas@suse.de>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-6-stefanha@redhat.com>
Organization: Xen Project
In-Reply-To: <20231129195553.942921-6-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 29/11/2023 19:55, Stefan Hajnoczi wrote:
> This is the big patch that removes
> aio_context_acquire()/aio_context_release() from the block layer and
> affected block layer users.
> 
> There isn't a clean way to split this patch and the reviewers are likely
> the same group of people, so I decided to do it in one patch.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   include/block/block-global-state.h |   9 +-
>   include/block/block-io.h           |   3 +-
>   include/block/snapshot.h           |   2 -
>   block.c                            | 234 +---------------------
>   block/block-backend.c              |  14 --
>   block/copy-before-write.c          |  22 +--
>   block/export/export.c              |  22 +--
>   block/io.c                         |  45 +----
>   block/mirror.c                     |  19 --
>   block/monitor/bitmap-qmp-cmds.c    |  20 +-
>   block/monitor/block-hmp-cmds.c     |  29 ---
>   block/qapi-sysemu.c                |  27 +--
>   block/qapi.c                       |  18 +-
>   block/raw-format.c                 |   5 -
>   block/replication.c                |  58 +-----
>   block/snapshot.c                   |  22 +--
>   block/write-threshold.c            |   6 -
>   blockdev.c                         | 307 +++++------------------------
>   blockjob.c                         |  18 --
>   hw/block/dataplane/virtio-blk.c    |  10 -
>   hw/block/dataplane/xen-block.c     |  17 +-
>   hw/block/virtio-blk.c              |  45 +----
>   hw/core/qdev-properties-system.c   |   9 -
>   job.c                              |  16 --
>   migration/block.c                  |  33 +---
>   migration/migration-hmp-cmds.c     |   3 -
>   migration/savevm.c                 |  22 ---
>   net/colo-compare.c                 |   2 -
>   qemu-img.c                         |   4 -
>   qemu-io.c                          |  10 +-
>   qemu-nbd.c                         |   2 -
>   replay/replay-debugging.c          |   4 -
>   tests/unit/test-bdrv-drain.c       |  51 +----
>   tests/unit/test-bdrv-graph-mod.c   |   6 -
>   tests/unit/test-block-iothread.c   |  31 ---
>   tests/unit/test-blockjob.c         | 137 -------------
>   tests/unit/test-replication.c      |  11 --
>   util/async.c                       |   4 -
>   util/vhost-user-server.c           |   3 -
>   scripts/block-coroutine-wrapper.py |   3 -
>   tests/tsan/suppressions.tsan       |   1 -
>   41 files changed, 102 insertions(+), 1202 deletions(-)
> 

Reviewed-by: Paul Durrant <paul@xen.org>



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:20:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:20:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644494.1005563 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8dDM-0002fT-W7; Thu, 30 Nov 2023 09:20:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644494.1005563; Thu, 30 Nov 2023 09:20: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 1r8dDM-0002fA-TU; Thu, 30 Nov 2023 09:20:08 +0000
Received: by outflank-mailman (input) for mailman id 644494;
 Thu, 30 Nov 2023 09:20: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 1r8dDL-0002a6-I2; Thu, 30 Nov 2023 09:20: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 1r8dDL-0001nm-4o; Thu, 30 Nov 2023 09:20: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 1r8dDK-0006Bk-Hk; Thu, 30 Nov 2023 09:20:06 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8dDK-0005Ok-HL; Thu, 30 Nov 2023 09:20: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=nglMH4OlpMnzzf5hVL6oRZ92P7UVJnJx3VyZ/7f/WPc=; b=WDvxCdrtSEiy8uBbL3KdhC9ImN
	VCfmsGdrscpNxi2pDO9oNqPWjzsw83tnfaL9q/hdyIdiRkTpT0C1q87cnVmCKTL3Zx9y1tnKLkNWz
	I6Ko2/k2tR/PGLFyYmWVJTWffSKpxXPTz0vbBV8hHc0bzAX6DJib34olGpU1GiV09BAg=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183946-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183946: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=b4f8c75e316e74750d5806b8ebf2bd11a3d62626
X-Osstest-Versions-That:
    ovmf=59b6b5059b90883abfcbd906c411e8f59ac1aa0d
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Nov 2023 09:20:06 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 b4f8c75e316e74750d5806b8ebf2bd11a3d62626
baseline version:
 ovmf                 59b6b5059b90883abfcbd906c411e8f59ac1aa0d

Last test of basis   183945  2023-11-30 05:11:04 Z    0 days
Testing same since   183946  2023-11-30 07:41:01 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Mike Maslenkin <mike.maslenkin@gmail.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
   59b6b5059b..b4f8c75e31  b4f8c75e316e74750d5806b8ebf2bd11a3d62626 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:21:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:21:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644498.1005573 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8dEX-0003Yq-AD; Thu, 30 Nov 2023 09:21:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644498.1005573; Thu, 30 Nov 2023 09: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 1r8dEX-0003Yj-7J; Thu, 30 Nov 2023 09:21:21 +0000
Received: by outflank-mailman (input) for mailman id 644498;
 Thu, 30 Nov 2023 09:21: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=XJ9b=HL=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r8dEW-0003Yb-33
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:21:20 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d10203cc-8f61-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 10:21:18 +0100 (CET)
Received: from imap2.dmz-prg2.suse.org (imap2.dmz-prg2.suse.org [10.150.64.98])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id 9D9B01FBF2;
 Thu, 30 Nov 2023 09:21:16 +0000 (UTC)
Received: from imap2.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap2.dmz-prg2.suse.org (Postfix) with ESMTPS id 60A7D138E5;
 Thu, 30 Nov 2023 09:21:16 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap2.dmz-prg2.suse.org with ESMTPSA id Z9z0FQxUaGVrJAAAn2gu4w
 (envelope-from <jgross@suse.com>); Thu, 30 Nov 2023 09:21: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: d10203cc-8f61-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701336076; 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=1OMKkY8bQ2/LZ8aJZbHy9ZvWT+Sx/rf3KpaWrf6x2LI=;
	b=FGNNzA2RzuOEN0y1pf9RAd5dUQWxp0hu3e69ckOV1DtnEnolUM8lmuYt2rp+YJoViMEyie
	g8KNiXGoGxPANJR29tGnVwwO/IEbOrr9sznTVfKqrhO7jrzVJNYjqctoaTXRZcX/E2tQ4M
	VsnQjIQ1QAVG9Asc32O7ktAiNG6Efqo=
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 v2] xen/public: fix flexible array definitions
Date: Thu, 30 Nov 2023 10:21:12 +0100
Message-Id: <20231130092112.18118-1-jgross@suse.com>
X-Mailer: git-send-email 2.35.3
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Authentication-Results: smtp-out2.suse.de;
	none
X-Spam-Level: *********
X-Spam-Score: 9.00
X-Spamd-Result: default: False [9.00 / 50.00];
	 ARC_NA(0.00)[];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(5.10)[100.00%];
	 FROM_HAS_DN(0.00)[];
	 TO_DN_SOME(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 R_MISSING_CHARSET(2.50)[];
	 MIME_GOOD(-0.10)[text/plain];
	 BROKEN_CONTENT_TYPE(1.50)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 RCVD_COUNT_THREE(0.00)[3];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 RCPT_COUNT_SEVEN(0.00)[8];
	 MID_CONTAINS_FROM(1.00)[];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

Flexible arrays in public headers can be problematic with some
compilers.

With XEN_FLEX_ARRAY_DIM there is a mechanism available to deal with
this issue, but care must be taken to not change the affected structs
in an incompatible way.

So bump __XEN_LATEST_INTERFACE_VERSION__ and introduce a new macro
XENPV_FLEX_ARRAY_DIM which will be XENPV_FLEX_ARRAY_DIM with the
interface version being new enough and "1" (the value used today in
the affected headers) when the interface version is an old one.

Replace the arr[1] instances (this includes the ones seen to be
problematic in recent Linux kernels [1]) with arr[XENPV_FLEX_ARRAY_DIM]
in order to avoid compilation errors.

[1]: https://bugzilla.kernel.org/show_bug.cgi?id=217693

Signed-off-by: Juergen Gross <jgross@suse.com>
---
V2:
- bump interface version and make change only for new version
  (Jan Beulich)
---
 xen/include/public/io/cameraif.h | 2 +-
 xen/include/public/io/displif.h  | 2 +-
 xen/include/public/io/fsif.h     | 4 ++--
 xen/include/public/io/pvcalls.h  | 2 +-
 xen/include/public/io/ring.h     | 5 +++--
 xen/include/public/io/sndif.h    | 2 +-
 xen/include/public/xen-compat.h  | 2 +-
 xen/include/public/xen.h         | 6 ++++++
 8 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/xen/include/public/io/cameraif.h b/xen/include/public/io/cameraif.h
index 13763abef9..a389443769 100644
--- a/xen/include/public/io/cameraif.h
+++ b/xen/include/public/io/cameraif.h
@@ -763,7 +763,7 @@ struct xencamera_buf_create_req {
  */
 struct xencamera_page_directory {
     grant_ref_t gref_dir_next_page;
-    grant_ref_t gref[1]; /* Variable length */
+    grant_ref_t gref[XENPV_FLEX_ARRAY_DIM];
 };
 
 /*
diff --git a/xen/include/public/io/displif.h b/xen/include/public/io/displif.h
index 73d0cbdf15..132c96fa5c 100644
--- a/xen/include/public/io/displif.h
+++ b/xen/include/public/io/displif.h
@@ -537,7 +537,7 @@ struct xendispl_dbuf_create_req {
 
 struct xendispl_page_directory {
     grant_ref_t gref_dir_next_page;
-    grant_ref_t gref[1]; /* Variable length */
+    grant_ref_t gref[XENPV_FLEX_ARRAY_DIM];
 };
 
 /*
diff --git a/xen/include/public/io/fsif.h b/xen/include/public/io/fsif.h
index ec57850233..dcade1c698 100644
--- a/xen/include/public/io/fsif.h
+++ b/xen/include/public/io/fsif.h
@@ -40,7 +40,7 @@ struct fsif_read_request {
     int32_t pad;
     uint64_t len;
     uint64_t offset;
-    grant_ref_t grefs[1];  /* Variable length */
+    grant_ref_t grefs[XENPV_FLEX_ARRAY_DIM];
 };
 
 struct fsif_write_request {
@@ -48,7 +48,7 @@ struct fsif_write_request {
     int32_t pad;
     uint64_t len;
     uint64_t offset;
-    grant_ref_t grefs[1];  /* Variable length */
+    grant_ref_t grefs[XENPV_FLEX_ARRAY_DIM];
 };
 
 struct fsif_stat_request {
diff --git a/xen/include/public/io/pvcalls.h b/xen/include/public/io/pvcalls.h
index 230b0719e3..af0e9abd13 100644
--- a/xen/include/public/io/pvcalls.h
+++ b/xen/include/public/io/pvcalls.h
@@ -30,7 +30,7 @@ struct pvcalls_data_intf {
     uint8_t pad2[52];
 
     RING_IDX ring_order;
-    grant_ref_t ref[];
+    grant_ref_t ref[XENPV_FLEX_ARRAY_DIM];
 };
 DEFINE_XEN_FLEX_RING(pvcalls);
 
diff --git a/xen/include/public/io/ring.h b/xen/include/public/io/ring.h
index 0cae4367be..955fe5a1fc 100644
--- a/xen/include/public/io/ring.h
+++ b/xen/include/public/io/ring.h
@@ -25,6 +25,7 @@
  * and grant_table.h from the Xen public headers.
  */
 
+#include "../xen.h"
 #include "../xen-compat.h"
 
 #if __XEN_INTERFACE_VERSION__ < 0x00030208
@@ -110,7 +111,7 @@ struct __name##_sring {                                                 \
         uint8_t pvt_pad[4];                                             \
     } pvt;                                                              \
     uint8_t __pad[44];                                                  \
-    union __name##_sring_entry ring[1]; /* variable-length */           \
+    union __name##_sring_entry ring[XENPV_FLEX_ARRAY_DIM];              \
 };                                                                      \
                                                                         \
 /* "Front" end's private variables */                                   \
@@ -479,7 +480,7 @@ struct name##_data_intf {                                                     \
     uint8_t pad2[56];                                                         \
                                                                               \
     RING_IDX ring_order;                                                      \
-    grant_ref_t ref[];                                                        \
+    grant_ref_t ref[XENPV_FLEX_ARRAY_DIM];                                    \
 };                                                                            \
 DEFINE_XEN_FLEX_RING(name)
 
diff --git a/xen/include/public/io/sndif.h b/xen/include/public/io/sndif.h
index 4234a47c87..cce1459b7b 100644
--- a/xen/include/public/io/sndif.h
+++ b/xen/include/public/io/sndif.h
@@ -659,7 +659,7 @@ struct xensnd_open_req {
 
 struct xensnd_page_directory {
     grant_ref_t gref_dir_next_page;
-    grant_ref_t gref[1]; /* Variable length */
+    grant_ref_t gref[XENPV_FLEX_ARRAY_DIM];
 };
 
 /*
diff --git a/xen/include/public/xen-compat.h b/xen/include/public/xen-compat.h
index 97fe698498..078b796664 100644
--- a/xen/include/public/xen-compat.h
+++ b/xen/include/public/xen-compat.h
@@ -10,7 +10,7 @@
 #ifndef __XEN_PUBLIC_XEN_COMPAT_H__
 #define __XEN_PUBLIC_XEN_COMPAT_H__
 
-#define __XEN_LATEST_INTERFACE_VERSION__ 0x00040e00
+#define __XEN_LATEST_INTERFACE_VERSION__ 0x00041300
 
 #if defined(__XEN__) || defined(__XEN_TOOLS__)
 /* Xen is built with matching headers and implements the latest interface. */
diff --git a/xen/include/public/xen.h b/xen/include/public/xen.h
index b812a0a324..62c4b04fa2 100644
--- a/xen/include/public/xen.h
+++ b/xen/include/public/xen.h
@@ -46,6 +46,12 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
 #else
 #define XEN_FLEX_ARRAY_DIM  1 /* variable size */
 #endif
+/* Some PV I/O interfaces need a compatibility variant. */
+#if __XEN_INTERFACE_VERSION__ < 0x00041300
+#define XENPV_FLEX_ARRAY_DIM  1 /* variable size */
+#else
+#define XENPV_FLEX_ARRAY_DIM  XEN_FLEX_ARRAY_DIM
+#endif
 
 /* Turn a plain number into a C unsigned (long (long)) constant. */
 #define __xen_mk_uint(x)  x ## U
-- 
2.35.3



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:21:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:21:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644500.1005584 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8dEy-0004VW-Io; Thu, 30 Nov 2023 09:21:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644500.1005584; Thu, 30 Nov 2023 09:21: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 1r8dEy-0004VP-G0; Thu, 30 Nov 2023 09:21:48 +0000
Received: by outflank-mailman (input) for mailman id 644500;
 Thu, 30 Nov 2023 09:21: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=XJ9b=HL=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r8dEx-0003Yb-3o
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:21:47 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de
 [2a07:de40:b251:101:10:150:64:2])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e17dd65c-8f61-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 10:21:45 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id CADC21FC81;
 Thu, 30 Nov 2023 09:21:44 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id A994B13AB1;
 Thu, 30 Nov 2023 09:21:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 0KgXKChUaGWPfQAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 30 Nov 2023 09:21: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: e17dd65c-8f61-11ee-9b0f-b553b5be7939
Message-ID: <9dda7621-2f24-428b-be94-3590721dc9ef@suse.com>
Date: Thu, 30 Nov 2023 10:21:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] xen/public: fix flexible array definitions
Content-Language: en-US
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
References: <20230725135557.20518-1-jgross@suse.com>
 <5ba647c0-fc74-595e-5fe3-658f4662f16e@suse.com>
 <f54fcb50-15c5-aa72-60fa-6370547bb9f2@citrix.com>
 <6cd0c3e2-ecae-971a-5c86-cf408591bee9@suse.com>
 <6300d166-621e-83bf-0ac2-70ea89b75492@suse.com>
 <de3fcfc2-b92c-469d-b7fb-7eb1e9b4a38a@suse.com>
 <eb0f9b13-1b53-41ed-80f2-da468b13e1db@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <eb0f9b13-1b53-41ed-80f2-da468b13e1db@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------SHoNE0vxKOqOl0bIqH81jLoB"
X-Spam-Level: ***************
X-Spamd-Bar: +++++++++++++++
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:97 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 BAYES_HAM(-3.00)[100.00%];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 RCPT_COUNT_THREE(0.00)[3];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 15.00
X-Rspamd-Queue-Id: CADC21FC81
X-Spam-Flag: YES
X-Spam: Yes

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------SHoNE0vxKOqOl0bIqH81jLoB
Content-Type: multipart/mixed; boundary="------------hkLoTL8nVoglwQP0pIs8fnmv";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, Andrew Cooper <andrew.cooper3@citrix.com>
Message-ID: <9dda7621-2f24-428b-be94-3590721dc9ef@suse.com>
Subject: Re: [PATCH] xen/public: fix flexible array definitions
References: <20230725135557.20518-1-jgross@suse.com>
 <5ba647c0-fc74-595e-5fe3-658f4662f16e@suse.com>
 <f54fcb50-15c5-aa72-60fa-6370547bb9f2@citrix.com>
 <6cd0c3e2-ecae-971a-5c86-cf408591bee9@suse.com>
 <6300d166-621e-83bf-0ac2-70ea89b75492@suse.com>
 <de3fcfc2-b92c-469d-b7fb-7eb1e9b4a38a@suse.com>
 <eb0f9b13-1b53-41ed-80f2-da468b13e1db@suse.com>
In-Reply-To: <eb0f9b13-1b53-41ed-80f2-da468b13e1db@suse.com>

--------------hkLoTL8nVoglwQP0pIs8fnmv
Content-Type: multipart/mixed; boundary="------------8pVXV3m7f7QbWljAmNFaW4NZ"

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

T24gMzAuMTEuMjMgMDk6MjQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAyOS4xMS4yMDIz
IDEyOjU4LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gT24gMDkuMDguMjMgMTE6NDIsIEp1
ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+Pj4gT24gMjYuMDcuMjMgMDc6NTIsIEphbiBCZXVsaWNo
IHdyb3RlOg0KPj4+PiBPbiAyNS4wNy4yMDIzIDE4OjU5LCBBbmRyZXcgQ29vcGVyIHdyb3Rl
Og0KPj4+Pj4gT24gMjUvMDcvMjAyMyA1OjE2IHBtLCBKYW4gQmV1bGljaCB3cm90ZToNCj4+
Pj4+PiBPbiAyNS4wNy4yMDIzIDE1OjU1LCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4+Pj4+
PiBGbGV4aWJsZSBhcnJheXMgaW4gcHVibGljIGhlYWRlcnMgY2FuIGJlIHByb2JsZW1hdGlj
IHdpdGggc29tZQ0KPj4+Pj4+PiBjb21waWxlcnMuDQo+Pj4+Pj4+DQo+Pj4+Pj4+IFJlcGxh
Y2UgdGhlbSB3aXRoIGFycltYRU5fRkxFWF9BUlJBWV9ESU1dIGluIG9yZGVyIHRvIGF2b2lk
IGNvbXBpbGF0aW9uDQo+Pj4+Pj4+IGVycm9ycy4NCj4+Pj4+Pj4NCj4+Pj4+Pj4gVGhpcyBp
bmNsdWRlcyBhcnJheXMgZGVmaW5lZCBhcyAiYXJyWzFdIiwgYXMgc2VlbiB3aXRoIGEgcmVj
ZW50IExpbnV4DQo+Pj4+Pj4+IGtlcm5lbCBbMV0uDQo+Pj4+Pj4+DQo+Pj4+Pj4+IFsxXTog
aHR0cHM6Ly9idWd6aWxsYS5rZXJuZWwub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTc2OTMNCj4+
Pj4+Pj4NCj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogSnVlcmdlbiBHcm9zcyA8amdyb3NzQHN1
c2UuY29tPg0KPj4+Pj4+IEkgdGhpbmsgd2UgbmVlZCB0byBiZSBjYXJlZnVsIGhlcmU6IFdo
YXQgaWYgc29tZW9uZSBzb21ld2hlcmUgYXBwbGllcw0KPj4+Pj4+IHNpemVvZigpIHRvIGFu
eSBvZiB0aGUgdHlwZXMgeW91IGFsdGVyPw0KPj4+Pj4NCj4+Pj4+IFRoZW4gdGhlIGNvZGUg
d2FzIG1vc3QgbGlrZWx5IHdyb25nIGFscmVhZHkuDQo+Pj4+DQo+Pj4+IFRoYXQncyBwb3Nz
aWJsZSB0byBqdWRnZSBvbmx5IHdoZW4gc2VlaW5nIHRoZSBjb2RlIGluIHF1ZXN0aW9uLg0K
Pj4+Pg0KPj4+Pj4+ICDCoCBUaGUgcmVzdWx0aW5nIHZhbHVlIHdvdWxkDQo+Pj4+Pj4gY2hh
bmdlIHdpdGggdGhlIGNoYW5nZXMgeW91IHByb3Bvc2UsIHdoaWNoIHdlIGNhbm5vdCBhbGxv
dyB0byBoYXBwZW4NCj4+Pj4+PiBpbiBhIHN0YWJsZSBpbnRlcmZhY2UuIFRoZXJlZm9yZSBp
bW8gaXQgY2FuIG9ubHkgYmUgYW4gb3B0LWluIGZlYXR1cmUNCj4+Pj4+PiB0byBoYXZlIHRo
ZXNlIGFycmF5cyBubyBsb25nZXIgYmUgb25lLWVsZW1lbnQgb25lcy4NCj4+Pj4+DQo+Pj4+
PiBJIGRvbid0IGNvbnNpZGVyIHRoaXMgYW4gaXNzdWUuDQo+Pj4+Pg0KPj4+Pj4gSWYgcGVv
cGxlIHRha2UgYW4gdXBkYXRlIHRvIHRoZSBoZWFkZXJzIGFuZCB0aGVpciBjb2RlIHN0b3Bz
IGNvbXBpbGluZywNCj4+Pj4+IHRoZW4gb2YgY291cnNlIHRoZXkgZml4IHRoZSBjb21waWxh
dGlvbiBpc3N1ZS7CoCBUaGF0J3Mgbm9ybWFsLg0KPj4+Pg0KPj4+PiBUaGUgY29kZSBtYXkg
Y29udGludWUgdG8gY29tcGlsZSBmaW5lLCBhbmQgZXZlbiBhcHBlYXIgdG8gd29yayBpbml0
aWFsbHkuDQo+Pj4+DQo+Pj4+PiBJdCdzIHVucmVhc29uYWJsZSB0byB0YWtlIG9wdC1pbiBm
ZWF0dXJlcyB0byBhIHNldCBvZiBoZWFkZXJzIGludGVuZGVkDQo+Pj4+PiB0byBiZSB2ZW5k
b3JlZCBpbiB0aGUgZmlyc3QgcGxhY2UsIHRvIHdvcmsgYXJvdW5kIGEgY29ybmVyIGNhc2Ug
dGhhdCdzDQo+Pj4+PiBsaWtlbHkgYnVnZ3kgYWxyZWFkeS4NCj4+Pj4NCj4+Pj4gVGhlIG9y
aWdpbmFsIGludGVudGlvbiBjbGVhcmx5IHdhcyB0byBhbGxvdyB1c2Ugb2YgdGhlc2UgaGVh
ZGVycyBhcyBpcy4NCj4+Pj4gQW55d2F5LCBJJ3ZlIHZvaWNlZCBteSB2aWV3LCB5ZXQgaWYg
dGhlcmUgYXJlIGVub3VnaCBwZW9wbGUgYWdyZWVpbmcNCj4+Pj4gd2l0aCB5b3UsIHRoZW4g
c28gYmUgaXQuDQo+Pj4NCj4+PiBBbnkgZnVydGhlciB0aG91Z2h0cz8NCj4+Pg0KPj4+IEkg
aGF2ZSBjaGVja2VkIHRoZSBjb2RlIGluIHRoZSBMaW51eCBrZXJuZWwgbWVhbndoaWxlLiBU
aGVyZSBzaG91bGQgYmUgbm8NCj4+PiBmYWxsb3V0IHJlc3VsdGluZyBmcm9tIHRoaXMgY2hh
bmdlLCBidXQgSSB0aGluayB0aGVyZSBhcmUgc29tZSB1c2VyIG1vZGUNCj4+PiBiYWNrZW5k
cyBvdXRzaWRlIG9mIHFlbXUgd2hpY2ggYXJlIHByb2JhYmx5IHVzaW5nIGFmZmVjdGVkIHN0
cnVjdHMuDQo+Pg0KPj4gSSd2ZSByZWNlaXZlZCBhbm90aGVyIG1haWwgcmVnYXJkaW5nIHRo
ZSByZXBvcnQgWzFdIGFib3ZlLiBJIHRoaW5rIHdlIHNob3VsZA0KPj4gX3JlYWxseV8gY29t
ZSB0byBhIGNvbmNsdXNpb24uDQo+Pg0KPj4gSSdtIHN0aWxsIGluIGZhdm9yIG9mIGFwcGx5
aW5nIG15IHN1Z2dlc3RlZCBwYXRjaC4NCj4gDQo+IEkgdGhpbmsgdGhlIGNoYW5nZSB3b3Vs
ZCBiZSBmaW5lIHRvIG1ha2Ugd2hlbiBhZGp1c3RlZCB0byBiZSBjb25kaXRpb25hbA0KPiB1
cG9uIChzdWl0YWJseSBidW1wZWQpIF9fWEVOX0xBVEVTVF9JTlRFUkZBQ0VfVkVSU0lPTl9f
Lg0KDQpPa2F5LCBmaW5lIHdpdGggbWUuDQoNCj4gWWV0IHdoaWxlIGxvb2tpbmcgYXQgdGhl
IHBhdGNoIGFuZCB0aGUgaGVhZGVycyBhZ2FpbiwgaXQgYWxzbyBsb29rcyBhcyBpZg0KPiB0
aGVyZSBtaWdodCBiZSBhbm90aGVyIHNtYWxsIGlzc3VlOiByaW5nLmggdXNlcyBYRU5fRkxF
WF9BUlJBWV9ESU0gd2l0aG91dA0KPiBpdHNlbGYgaW5jbHVkaW5nIHhlbi5oLiBUaGF0J3Mg
cHJvYmFibHkgb2theSBjb25zaWRlcmluZyB0aGF0IGFsbCBoZWFkZXJzDQo+IGluY2x1ZGlu
ZyByaW5nLmggYWxzbyBpbmNsdWRlIGdyYW50X3RhYmxlLmggKHdoaWNoIGluIHR1cm4gaW5j
bHVkZXMgeGVuLmgpLA0KPiBidXQgdGhpcyBkZXBlbmRlbmN5IG1heSBzdGlsbCB3YW50IG1h
a2luZyBleHBsaWNpdC4NCg0KWWVzLCBJJ2xsIGFkZCB0aGF0Lg0KDQo+IEZpbmFsbHkgLSBp
cyB0aGUgY2hhbmdlIGFjdHVhbGx5IGdvaW5nIHRvIGhlbHAgZXZlcnl3aGVyZSAobm90IGp1
c3QgaW4NCj4gTGludXgpPyBJdCBlZmZlY3RpdmVseSBkZXBlbmRzIG9uIHBlb3BsZSBlbmFi
bGluZyBDOTkgbW9kZS4gT2xkZXIgZ2NjIGZvcg0KPiBleGFtcGxlIGRpZG4ndCBldmVuIGRl
ZmluZSBfX1NURENfVkVSU0lPTl9fIHdoZW4gLXN0ZCB3YXNuJ3QgdXNlZC4gTGludXgNCj4g
ZG9lc24ndCBwZXJtaXQgdXNlIG9mIHN1Y2ggb2xkIGdjYyB2ZXJzaW9ucyBhbnltb3JlLCBi
dXQgcmVjYWxsIHdlJ3JlDQo+IGFpbWluZyB0byBiZSBDODkgY29tcGF0aWJsZS4gVGhlcmVm
b3JlIEkgdGhpbmsgdGhhdCBpbiBhZGRpdGlvbiB3ZSdkIG5lZWQNCj4gYSB3YXkgZm9yIGNv
bnN1bWVycyBvZiB0aGUgaGVhZGVycyB0byBpbmRpY2F0ZSB0aGF0IHRoZSBDOTkgZm9ybSBv
Zg0KPiBYRU5fRkxFWF9BUlJBWV9ESU0gY2FuIGJlIHVzZWQgZXZlbiB3aGVuIF9fU1REQ19W
RVJTSU9OX18gaXNuJ3QgZGVmaW5lZC4NCj4gKFRoaXMgbWF5IGFzIHdlbGwgc2ltcGx5IGJl
IGRvbmUgYnkgYWxsb3dpbmcgcGVvcGxlIHRvIHByZS1kZWZpbmUNCj4gWEVOX0ZMRVhfQVJS
QVlfRElNIGJlZm9yZSBpbmNsdWRpbmcgYW55IFhlbiBoZWFkZXJzLikNCg0KV2lsbCB0aGUg
cHJvYmxlbSBldmVuIG9jY3VyIHdpdGggc3VjaCBhbiBvbGQgZ2NjPyBJIGRvbid0IHRoaW5r
IHNvLCBhcyBvbmx5DQpyYXRoZXIgcmVjZW50IGNvbXBpbGVycyBzaG93ZWQgdGhlICJhcnJh
eSBvdXQgb2YgYm91bmRzIiBmYWlsdXJlLiBPdGhlcndpc2UNCndlIHdvdWxkIGhhdmUgaGVh
cmQgY29tcGxhaW50cyBtdWNoIGVhcmxpZXIuDQoNCg==
--------------8pVXV3m7f7QbWljAmNFaW4NZ
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------8pVXV3m7f7QbWljAmNFaW4NZ--

--------------hkLoTL8nVoglwQP0pIs8fnmv--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVoVCgFAwAAAAAACgkQsN6d1ii/Ey8X
cAf+JPq0peBLqkGChkGoFqIVLKJPKTF7yB/eEbvKwU5G3ZBdcuHXfiODheUyNu1BGfMubw1Sk/1J
HOyIN5LcxmOvoM3wNcEwMUqFWZi2delj8d2ABjWRDoHAIvBEZXCbN0+9sxUXS98KeOWbE6rVkm6/
UubNWcVWdqkSDDaCaJ9JHxS2Du6gnHPFWi3XzqnGyL2sGHCbDNuOChYm4KLlpT46fo7oqKiWqFQg
tkeYBKgxtvmCqFMg7JbNfu11qLyQYLnbZ3CIJTfUzlvcx1eei4bx/ulnGSBzSpIf5emlASOZ/+os
3ymPiUBmq0iBZEvkB0nBVJ1ic33rbXM9V9SmFx7RFQ==
=oHcV
-----END PGP SIGNATURE-----

--------------SHoNE0vxKOqOl0bIqH81jLoB--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:22:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:22:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644492.1005594 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8dFK-00054O-30; Thu, 30 Nov 2023 09:22:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644492.1005594; Thu, 30 Nov 2023 09:22: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 1r8dFK-00054H-01; Thu, 30 Nov 2023 09:22:10 +0000
Received: by outflank-mailman (input) for mailman id 644492;
 Thu, 30 Nov 2023 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=p9j0=HL=linux.ibm.com=iii@srs-se1.protection.inumbo.net>)
 id 1r8d90-0000Se-8j
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:15:38 +0000
Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com
 [148.163.156.1]) by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 04b6646e-8f61-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 10:15:36 +0100 (CET)
Received: from pps.filterd (m0353729.ppops.net [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AU9CGNH028745; Thu, 30 Nov 2023 09:14:59 GMT
Received: from pps.reinject (localhost [127.0.0.1])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3upqj4g6aa-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 30 Nov 2023 09:14:59 +0000
Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1])
 by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 3AU9CSaJ029884;
 Thu, 30 Nov 2023 09:14:58 GMT
Received: from ppma12.dal12v.mail.ibm.com
 (dc.9e.1632.ip4.static.sl-reverse.com [50.22.158.220])
 by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3upqj4g684-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 30 Nov 2023 09:14:58 +0000
Received: from pps.filterd (ppma12.dal12v.mail.ibm.com [127.0.0.1])
 by ppma12.dal12v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id
 3AU7Xw9A030737; Thu, 30 Nov 2023 09:14:55 GMT
Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225])
 by ppma12.dal12v.mail.ibm.com (PPS) with ESMTPS id 3uku8tddeu-1
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
 Thu, 30 Nov 2023 09:14:55 +0000
Received: from smtpav01.fra02v.mail.ibm.com (smtpav01.fra02v.mail.ibm.com
 [10.20.54.100])
 by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id
 3AU9EqIJ6750948
 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);
 Thu, 30 Nov 2023 09:14:52 GMT
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 6F14720043;
 Thu, 30 Nov 2023 09:14:52 +0000 (GMT)
Received: from smtpav01.fra02v.mail.ibm.com (unknown [127.0.0.1])
 by IMSVA (Postfix) with ESMTP id 2CB6D20040;
 Thu, 30 Nov 2023 09:14:48 +0000 (GMT)
Received: from [9.171.32.92] (unknown [9.171.32.92])
 by smtpav01.fra02v.mail.ibm.com (Postfix) with ESMTP;
 Thu, 30 Nov 2023 09:14:48 +0000 (GMT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 04b6646e-8f61-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=message-id : subject :
 from : to : cc : date : in-reply-to : references : content-type :
 content-transfer-encoding : mime-version; s=pp1;
 bh=U7xhAiXyHYuSi9gQG6NV4CZH7LkdmdMB32D1ZOqvl2E=;
 b=AFBdvLera18ekFkEDQHSP2T6dJxy+bj5KW/jP/YQxVyqxiHZtRJXrFC+0ntnZuEvmXMl
 m5dICRXNSmZBGnKsumVVgBAXL4u0dvBZSGFJjow9KpyWozqGgg5e9lV0A3P1DYtJVgrk
 fcIAkenPAVxLZnA9inVImJFIRFFp84wVlNbQYq2PnUAD94eddwhNGmE1WEaq+o2oyHt9
 lgMLNpBO+kPcZI3+78p/T21qN3TQ/nrMIklnS6Mpmi8dOIQR1PJPM8F2VFLdmlnmfYt2
 bNGyD4yvrGuvjfFw260kty5gkpovVQqcuoFvY7pDIz7evPqH74AstesKRFOdN22SZxO6 0g== 
Message-ID: <c3ac8d9c2b9d611e84672436ce1a96aedcaacf5e.camel@linux.ibm.com>
Subject: Re: [PATCH 2/6] qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to
 QEMU_BQL_LOCK_GUARD
From: Ilya Leoshkevich <iii@linux.ibm.com>
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
        Fabiano Rosas
 <farosas@suse.de>, qemu-s390x@nongnu.org,
        Song Gao <gaosong@loongson.cn>,
        Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
        Thomas Huth
 <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,
        Marcelo Tosatti
 <mtosatti@redhat.com>,
        David Woodhouse <dwmw2@infradead.org>,
        Andrey
 Smirnov <andrew.smirnov@gmail.com>,
        Peter Maydell
 <peter.maydell@linaro.org>,
        Kevin Wolf <kwolf@redhat.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>,
        Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
        Max Filippov <jcmvbkbc@gmail.com>,
        Alistair Francis
 <alistair.francis@wdc.com>,
        Paul Durrant <paul@xen.org>, Jagannathan Raman
 <jag.raman@oracle.com>,
        Juan Quintela <quintela@redhat.com>,
        "Daniel P."
 =?ISO-8859-1?Q?Berrang=E9?= <berrange@redhat.com>,
        qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>,
        Gerd Hoffmann <kraxel@redhat.com>, Hanna
 Reitz <hreitz@redhat.com>,
        =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau
 <marcandre.lureau@redhat.com>,
        BALATON Zoltan <balaton@eik.bme.hu>,
        Daniel
 Henrique Barboza <danielhb413@gmail.com>,
        Elena Ufimtseva
 <elena.ufimtseva@oracle.com>,
        Aurelien Jarno <aurelien@aurel32.net>,
        Hailiang Zhang <zhanghailiang@xfusion.com>,
        Roman Bolshakov
 <rbolshakov@ddn.com>,
        Huacai Chen <chenhuacai@kernel.org>, Fam Zheng
 <fam@euphon.net>,
        Eric Blake <eblake@redhat.com>, Jiri Slaby
 <jslaby@suse.cz>,
        Alexander Graf <agraf@csgraf.de>,
        Liu Zhiwei
 <zhiwei_liu@linux.alibaba.com>,
        Weiwei Li <liwei1518@gmail.com>, Eric
 Farman <farman@linux.ibm.com>,
        Stafford Horne <shorne@gmail.com>,
        David
 Hildenbrand <david@redhat.com>,
        Markus Armbruster <armbru@redhat.com>,
        Reinoud Zandijk <reinoud@netbsd.org>,
        Palmer Dabbelt <palmer@dabbelt.com>,
        Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
        Pavel
 Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
        Aleksandar
 Rikalo <aleksandar.rikalo@syrmia.com>,
        John Snow <jsnow@redhat.com>,
        Sunil
 Muthuswamy <sunilmut@microsoft.com>,
        Michael Roth <michael.roth@amd.com>,
        David Gibson <david@gibson.dropbear.id.au>,
        "Michael S. Tsirkin"
 <mst@redhat.com>,
        Richard Henderson <richard.henderson@linaro.org>,
        Bin
 Meng <bin.meng@windriver.com>,
        Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
        qemu-block@nongnu.org, Halil Pasic
 <pasic@linux.ibm.com>,
        Peter Xu <peterx@redhat.com>,
        Anthony Perard
 <anthony.perard@citrix.com>,
        Harsh Prateek Bora <harshpb@linux.ibm.com>,
        Alex =?ISO-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
        Eduardo Habkost
 <eduardo@habkost.net>,
        Paolo Bonzini <pbonzini@redhat.com>,
        Vladimir
 Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
        =?ISO-8859-1?Q?C=E9dric?=
 Le Goater <clg@kaod.org>,
        qemu-ppc@nongnu.org,
        Philippe
 =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>,
        Christian Borntraeger
 <borntraeger@linux.ibm.com>,
        Akihiko Odaki <akihiko.odaki@daynix.com>,
        Leonardo Bras <leobras@redhat.com>,
        Nicholas Piggin <npiggin@gmail.com>,
        Jiaxun Yang <jiaxun.yang@flygoat.com>
Date: Thu, 30 Nov 2023 10:14:47 +0100
In-Reply-To: <20231129212625.1051502-3-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
	 <20231129212625.1051502-3-stefanha@redhat.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) 
MIME-Version: 1.0
X-TM-AS-GCONF: 00
X-Proofpoint-ORIG-GUID: k5g-bglZZ81amYqAueJeLCJOKEKz4uGW
X-Proofpoint-GUID: hyHEB3c1P1gBAyQsdYHk4l82Bt-Qzmtx
X-Proofpoint-Virus-Version: vendor=baseguard
 engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26
 definitions=2023-11-30_07,2023-11-29_01,2023-05-22_02
X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501
 malwarescore=0 mlxscore=0 bulkscore=0 adultscore=0 spamscore=0
 lowpriorityscore=0 suspectscore=0 clxscore=1011 impostorscore=0
 phishscore=0 mlxlogscore=810 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2311060000 definitions=main-2311300068

On Wed, 2023-11-29 at 16:26 -0500, Stefan Hajnoczi wrote:
> The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
> instead, it is already widely used and unambiguous.
>=20
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
> =C2=A0include/qemu/main-loop.h=C2=A0 | 20 ++++++++++----------
> =C2=A0hw/i386/kvm/xen_evtchn.c=C2=A0 | 14 +++++++-------
> =C2=A0hw/i386/kvm/xen_gnttab.c=C2=A0 |=C2=A0 2 +-
> =C2=A0hw/mips/mips_int.c=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=
=A0 2 +-
> =C2=A0hw/ppc/ppc.c=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 2 +-
> =C2=A0target/i386/kvm/xen-emu.c |=C2=A0 2 +-
> =C2=A0target/ppc/excp_helper.c=C2=A0 |=C2=A0 2 +-
> =C2=A0target/ppc/helper_regs.c=C2=A0 |=C2=A0 2 +-
> =C2=A0target/riscv/cpu_helper.c |=C2=A0 4 ++--
> =C2=A09 files changed, 25 insertions(+), 25 deletions(-)
>=20
> diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
> index d6f75e57bd..0b6a3e4824 100644
> --- a/include/qemu/main-loop.h
> +++ b/include/qemu/main-loop.h
> @@ -344,13 +344,13 @@ void qemu_bql_lock_impl(const char *file, int
> line);
> =C2=A0void qemu_bql_unlock(void);
> =C2=A0
> =C2=A0/**
> - * QEMU_IOTHREAD_LOCK_GUARD
> + * QEMU_BQL_LOCK_GUARD
> =C2=A0 *
> - * Wrap a block of code in a conditional
> qemu_mutex_{lock,unlock}_iothread.
> + * Wrap a block of code in a conditional qemu_bql_{lock,unlock}.
> =C2=A0 */
> -typedef struct IOThreadLockAuto IOThreadLockAuto;
> +typedef struct BQLLockAuto BQLLockAuto;
> =C2=A0
> -static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char
> *file,
> +static inline BQLLockAuto *qemu_bql_auto_lock(const char *file,
> =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=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=C2=A0=C2=A0=C2=A0=C2=A0 int line)

The padding is not correct anymore.

Other than this:

Acked-by: Ilya Leoshkevich <iii@linux.ibm.com>


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:43:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:43:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644509.1005604 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8dZx-0004c0-Qc; Thu, 30 Nov 2023 09:43:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644509.1005604; Thu, 30 Nov 2023 09:43: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 1r8dZx-0004bt-Nz; Thu, 30 Nov 2023 09:43:29 +0000
Received: by outflank-mailman (input) for mailman id 644509;
 Thu, 30 Nov 2023 09:43: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8dZw-0004bn-KH
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:43:28 +0000
Received: from NAM10-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam10on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e88::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e6ecb45b-8f64-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 10:43:24 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by SA1PR12MB5659.namprd12.prod.outlook.com (2603:10b6:806:236::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Thu, 30 Nov
 2023 09:43:19 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 09:43: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: e6ecb45b-8f64-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=f+qTP9dSHl/2J7v7CQa3Drg24KbOvuUO8Qv5LOXIDu7yuQa23q7KwhQQqecHCXMIWAB4ogsKVbKboMN/GMDrNoUcQmmbv7uRmP8YkEMsVoho1WFpNXOyNaxBEUiGY2pbtWxZHHJidGRoDkYpqh+mm8wlmvJ20gSJdnnVn+TpM3xY8/N5gl86vpOmgwmo5WlwNVxfwy2mBSYrNwI0KlwzgN/yCKaY5B610551QskhYFEx8PkVRwIu/hDfENMNP/NGrcl5/rOJVuLA6r3v3gb+BURxbhyibY/Wex/12ziG/X3ss5VsTjqtJRC+/9YCjJ5RN5xISNDSdXXq3EOEjR6izw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Oe4tqENU5MzyCC9x8UtifJ2XU21dom8gwnSeuZzyD8Q=;
 b=igSQQFN1QYiR/W3B7pnLlURiYQeyaxtMFlDrmiG4mzJ3/bRe7GZh5qMWdn1uF+SdPXvAG5tVxp66J9Yk5BSbk8hn3ZV+etKfB0shqt/LDgn2d07n/yhR8MJXHRc3P+X2SBJy0py2FQq3MzOTCE3iAjAm9IpnSpfcAy+xHd6GV6Il+D+xUZNzvMvtrpTTjzbmr2N0gJo+IZWssLsxXPGE+m2bP3JNfoKn0YbwJZOOG2FBuo+e4KPxWAQzYfMCpQ0XsmzCkA5MYRClfhqJoU91peqWqMlfelrZuQI+NCHkkI5PjTYpNdJEg4hvJ1bC1586gaTBr5dI0TRL67Ue1HTIJg==
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=Oe4tqENU5MzyCC9x8UtifJ2XU21dom8gwnSeuZzyD8Q=;
 b=MlxYLrblnyRepJaHfmJHLbqQNGjDZhg+9Ti1mRwmxtRmG7y4zM4Qi0IDtByieQw3kCBxDZTBu4xsxRRbC9CsA5DElPrKTjd3SExXcnRAiwzoT+Y/S2wmhU/Ix1svqY06fo5CJ5PHlGj3X2F69icvuZVHYjVonhoUPeHr9SEqjII=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: Jan Beulich <jbeulich@suse.com>
CC: "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang,
 Julia" <Julia.Zhang@amd.com>, =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?=
	<roger.pau@citrix.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Thread-Topic: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Thread-Index: AQHaHsLnjKJ102tGrkSg9na/6oLNI7CP3bYAgAMYyID//6NpgIAAkSeA
Date: Thu, 30 Nov 2023 09:43:19 +0000
Message-ID:
 <BL1PR12MB5849197041595EFD70AE2E4DE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-3-Jiqian.Chen@amd.com>
 <fe8ee91c-7272-4cb9-b7a6-cb6ec7945bc1@suse.com>
 <BL1PR12MB5849B37472F195417B301A1EE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
 <5d54a9e2-5363-4b7c-9902-d5523b3c54c7@suse.com>
In-Reply-To: <5d54a9e2-5363-4b7c-9902-d5523b3c54c7@suse.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: IA1PR12MB7565.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|SA1PR12MB5659:EE_
x-ms-office365-filtering-correlation-id: 4db5290a-6a54-4cd2-1d37-08dbf188c8ed
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 fsk6M5ESnBr11xxJv1uTaSUpsjrBQAy5HP7bh+zpaFWGOw5bscivjweH6LBko9vQT5tu/n99BvfDM82RoHb+V5/KZSO3XHmIy/R4j58fv/+dTULagmLSHw512CJhXFvFBSvEOi8709UfBJ4xtgIL4Jhq5m5/B60rpSbVshOpVjAvSFLsAJeSIjuVxFdZwe3DVu/YDGYiECw0UDVfMoBHXdD0MKuzc2w/vJSnFzJVTG3IFhO0DtuEQfLzyjzLzbIHPPLS0Lgj0VpLmJEKzQ7510f7DQB3CTQDRuvjYU9f4B8ADkEOtvxCocbI+k8RnBCRW1jLG6oZ2WsbYad/37ndGkO1ixTqAm9t9YfUozmxBEBw1+Vqi4bDbZt//Pg0ogz0TElt19rIHW7Z8uyToKY7gQ6Ej+JPEhaRF1zkbPJmaGYXG/Wq9mFXjnpIkEpwW5wRTXFhfioRC051CTkdA05p+9aoVn12ak8mqTQdPHtZqzZ0maOVKN9vTCadn7T7LZbBwhs/dBYCEACE4XmapzgCK4HeTxq7UagbZQywMzJ7PVoE+mBxQgIuS9zO3aoqzOWkz8jo1MeoJ9BZ2tnZm4qvzowss9F8RhFEfq1XlEVCXBtgAJ5OG9IlKADezwmk+Q0v3/hmkX0PAKSvxpdhVPXrNzx0ZBa17p0aUCn4z31OU2OxweleN9IIODB8eLPD5ChI
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(396003)(346002)(136003)(376002)(39860400002)(366004)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(38070700009)(6506007)(7696005)(53546011)(9686003)(26005)(71200400001)(83380400001)(202311291699003)(66476007)(66556008)(66446008)(4326008)(54906003)(316002)(55016003)(64756008)(6916009)(76116006)(66946007)(122000001)(38100700002)(5660300002)(33656002)(8676002)(8936002)(52536014)(478600001)(2906002)(41300700001)(340984004);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?TFhzSWs3UnZYYW9tYmZScGF5Y01SOTJPR0g1czBZNTJxOXdhUWZaa29UVWsr?=
 =?utf-8?B?b3B0cUVZWFVpek95SXNYazBHelNuem0yLzNtY0VJS3FDdDl4YmRnN2VDeE9M?=
 =?utf-8?B?OUhRVjlxc045ZDQvOThTdlhmOXpidEFWdHhVSWlnUFZ5M2hyRlRib3dEa0lD?=
 =?utf-8?B?amRicUpLWU8yU1FSK2xQdzc5eVhoYnVseVJzQy9FaXp5NzA3d2hkc010dTQy?=
 =?utf-8?B?WVJ4US9wUGNaVjBSWG9oM09iYjZjUS9DRzBwQlBWbGM3cEZXQmY3a1B5V2NE?=
 =?utf-8?B?VlRPcHBSMEdyczlHV0VrYmdxYUgrbVo5M1dhM3l2bTdjVE54Y01sRURvbWd5?=
 =?utf-8?B?VlpqWVU0UWRWcjJ4ZFVCczFUNkxwckd5OVEwRm5GaEU3MnlZVjVBTEhQUzFO?=
 =?utf-8?B?OW9ScWtaSVEvUkxDcmVIblJ0ajJoY0dBSHdiNTVQYlZrZ2laTktERDRpK0hs?=
 =?utf-8?B?UXpzMUN4Umh0Y09aZXloNHM5SUw0NkROOFduYkoyaTVLWlZQSW5QVVpyY3lY?=
 =?utf-8?B?K3lLeFBqcnlWUndZcGJyWDd3cndHYlpNalQ4S3dXNEwyeHlsWDJuUlpTTFpF?=
 =?utf-8?B?ZUh6M3RUMHFKL3QwOXE1azBjSzhRRjcwWE8xNHVCQmFoUVdwSW9IWWExclNF?=
 =?utf-8?B?R0ZmMkYrV0lyalM3SE9HTXpaWTllcWNvZjY1Ty9IVjU1Q0RUOG1jcFFXMExz?=
 =?utf-8?B?RnFOZ1N3UEdwQmV0UitydGEvdTZqZW96WFBTOWxpY1Q3ZmpQYytCM3Q0MDNU?=
 =?utf-8?B?NXVUbWhXQ1dzdFhoZFd2REtRbitYeVBZVEM1eXB4UlMralJQTzc1VFI4S2Vy?=
 =?utf-8?B?R2RHREs2TnYxb2QzTTFJeFBsTWQ0cVVhQVUyYzlHaUlPeHh4YSswWGsxU1hO?=
 =?utf-8?B?T21HM0gwdG9oSU4zVzVKeThtZlpzb2kwSzU1UWdqSE1QTXgyNnhDaEROOW5x?=
 =?utf-8?B?NXA0UStHZitOcDI2V3o3NWM4RzJIMGJDU2RhUENzL1RKcHlHc2hZV1dxZld4?=
 =?utf-8?B?Q2lwTENNeE1pemJCUFlQSm1sZXNCVzA1WXE2azZBNVg0Y205bmMzSXVNbjQz?=
 =?utf-8?B?aUJUSFJkejVLSWRLS0dnR1BQamlxT3ZYcFJDWHhpR2tPdnJQWWpLalNRVHBj?=
 =?utf-8?B?bkxxRkVEU2I5UUhyb3FQTkNzSDRSVTdOVUswT054eUZQR3FRSE5lMHg1Yk1J?=
 =?utf-8?B?cEROdUZ0NjgwN1gwSDdxWjBsUWZtSEdhaW1xbHF3RHpHOWVhTFZuU3NGc3lE?=
 =?utf-8?B?MmZyMkhqSnE0LzN6ajR5dWVZZmJ6bXVwL2NKbU5EVkU5aVpDVzYyeXZLaFFk?=
 =?utf-8?B?REV5Yzk4M0hXVk5YU2pXa0NWdXA4SWorb1FyQU5FbWlDL0w4L2swUzA4YXlo?=
 =?utf-8?B?c01ZcEIvSk1lbm9NNFpNdW5PbzdsV2NLWUVLVFVYMWkrdTBWMmp5VXcxSlJu?=
 =?utf-8?B?Y09NeXRLbHZvTXM5QkJjdTlFTURzZ1FSSHhLS005VTg0a2NhcjZYL1FDbDhJ?=
 =?utf-8?B?WVd1emc4NlJMY0J1L2djSmpGU09jOHpKNHJmR21haXlhYXV1SE0vYzR5RWpH?=
 =?utf-8?B?UnpRdEtML295KzQ3K1U2bjJBUk5KcmNkWlRWbXhZVnVMZ1hubjZGTUE4dmpa?=
 =?utf-8?B?S0lhblRSOXZDU25pQUF3djY0d1pWZkF6TDdhZmFmWlFxYUdpcjV4WUoyTUU1?=
 =?utf-8?B?N05UYkUzVlVweHVMN1dvUlh2SFlKTFNwZ1F0VDN4ckYrcnhsdGJSL0FkSGMw?=
 =?utf-8?B?WnZqbGd4TGhFVmF6aldBL3hRdjRnRzlqZ0ZiTERqTWg4Ulk5MkNQanpwOXl5?=
 =?utf-8?B?V1RXcVBzbWlzTUpnZm9vTU5Ba1JtRzNrVEZPc295V0xpbzlWOFlwU2ExS25X?=
 =?utf-8?B?cWtwT1gvZzJYZWY5UUpvMHl4TDV1RlRMbUhQYlgzbEw3NlRuTytkYjg2WGU0?=
 =?utf-8?B?ZzBSaVlWZ1NZRVdGZlZjT1pjSWVtRkU3SDhhL29ZRElxNlJ3MUREM3dseWdr?=
 =?utf-8?B?QnkzUnpPa3RWWGhkenNqeGpIWXp0S3p1U0R2cGxJMzVic1FZQ3c4WWxNZVVJ?=
 =?utf-8?B?ZWtZcWJWeVdOR1dVRUF5WXZGWGFXVXY1VW5GSTlVcld5cDJqLzJnWG14amtU?=
 =?utf-8?Q?GY1w=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <057583657491984799AD70F806EB4D81@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4db5290a-6a54-4cd2-1d37-08dbf188c8ed
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 09:43:19.1783
 (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: ctqkiR0Smc9GTXdGzKB5WEZfAXnl62jgGHZSiR56VyZRBySw+UifMRkNjOVrEh/GjBR6tauqyHR/hMf4UHJ2oA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB5659

T24gMjAyMy8xMS8zMCAxNzowMCwgSmFuIEJldWxpY2ggd3JvdGU6DQo+IE9uIDMwLjExLjIwMjMg
MDc6NDQsIENoZW4sIEppcWlhbiB3cm90ZToNCj4+IE9uIDIwMjMvMTEvMjggMjM6MTQsIEphbiBC
ZXVsaWNoIHdyb3RlOg0KPj4+IE9uIDI0LjExLjIwMjMgMTE6NDEsIEppcWlhbiBDaGVuIHdyb3Rl
Og0KPj4+PiAtLS0gYS94ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2FsbC5jDQo+Pj4+ICsrKyBiL3hl
bi9hcmNoL3g4Ni9odm0vaHlwZXJjYWxsLmMNCj4+Pj4gQEAgLTc0LDYgKzc0LDggQEAgbG9uZyBo
dm1fcGh5c2Rldl9vcChpbnQgY21kLCBYRU5fR1VFU1RfSEFORExFX1BBUkFNKHZvaWQpIGFyZykN
Cj4+Pj4gICAgICB7DQo+Pj4+ICAgICAgY2FzZSBQSFlTREVWT1BfbWFwX3BpcnE6DQo+Pj4+ICAg
ICAgY2FzZSBQSFlTREVWT1BfdW5tYXBfcGlycToNCj4+Pj4gKyAgICAgICAgaWYgKGlzX2hhcmR3
YXJlX2RvbWFpbihjdXJyZCkpDQo+Pj4+ICsgICAgICAgICAgICBicmVhazsNCj4+Pj4gICAgICBj
YXNlIFBIWVNERVZPUF9lb2k6DQo+Pj4+ICAgICAgY2FzZSBQSFlTREVWT1BfaXJxX3N0YXR1c19x
dWVyeToNCj4+Pj4gICAgICBjYXNlIFBIWVNERVZPUF9nZXRfZnJlZV9waXJxOg0KPj4+DQo+Pj4g
SWYgeW91IHdvdWxkbid0IGdvIHRoZSByb3V0ZSBzdWdnZXN0ZWQgYnkgUm9nZXIsIEkgdGhpbmsg
eW91IHdpbGwgbmVlZA0KPj4+IHRvIGRlbnkgc2VsZi1tYXBwaW5nIHJlcXVlc3RzIGhlcmUuDQo+
PiBEbyB5b3UgbWVhbiBiZWxvdz8NCj4+IGlmIChhcmcuZG9taWQgPT0gRE9NSURfU0VMRikNCj4+
IAlyZXR1cm47DQo+IA0KPiBUaGF0J3MgcGFydCBvZiBpdCwgeWVzLiBZb3UnZCBhbHNvIG5lZWQg
dG8gY2hlY2sgZm9yIHRoZSBhY3R1YWwgZG9tYWluIElEIG9mDQo+IHRoZSBjYWxsZXIgZG9tYWlu
Lg0KSSB3aWxsIGFkZCBtb3JlIGNoZWNrIGluIG5leHQgdmVyc2lvbi4NCg0KPiANCj4+PiBBbHNv
IG5vdGUgdGhhdCBib3RoIGhlcmUgYW5kIGluIHBhdGNoIDEgeW91IHdpbGwgd2FudCB0byBhZGp1
c3QgYSBudW1iZXINCj4+PiBvZiBzdHlsZSB2aW9sYXRpb25zLg0KPj4gQ291bGQgeW91IHBsZWFz
ZSBkZXNjcmlwdCBpbiBkZXRhaWw/IFRoaXMgd2lsbCBncmVhdGx5IGFzc2lzdCBtZSBpbiBtYWtp
bmcgbW9kaWZpY2F0aW9ucyBpbiB0aGUgbmV4dCB2ZXJzaW9uLiBUaGFuayB5b3UhDQo+IA0KPiBX
ZWxsLCBpbiB0aGUgY29kZSBhYm92ZSB5b3UncmUgbWlzc2luZyBibGFua3MgaW5zaWRlIHRoZSBp
ZigpLiBQbGVhc2Ugc2VlDQo+IC4vQ09ESU5HX1NUWUxFLg0KVGhhbmsgeW91IHZlcnkgbXVjaCEg
SSB3aWxsIGNoZWNrIGFuZCBtb2RpZnkgYWxsIG15IHBhdGNoZXMgdG8gbWVldCB0aGUgWGVuIGNv
ZGUgc3R5bGUgaW4gbmV4dCB2ZXJzaW9uLg0KDQo+IA0KPiBKYW4NCg0KLS0gDQpCZXN0IHJlZ2Fy
ZHMsDQpKaXFpYW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:47:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:47:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644511.1005613 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ddf-00068X-8v; Thu, 30 Nov 2023 09:47:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644511.1005613; Thu, 30 Nov 2023 09:47: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 1r8ddf-00068Q-6M; Thu, 30 Nov 2023 09:47:19 +0000
Received: by outflank-mailman (input) for mailman id 644511;
 Thu, 30 Nov 2023 09:47: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=J4Nc=HL=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8dde-00068J-52
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:47:18 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 72632bb0-8f65-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 10:47:17 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 655B44EE0739;
 Thu, 30 Nov 2023 10:47:16 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 72632bb0-8f65-11ee-98e4-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 30 Nov 2023 10:47:16 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, 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>
Subject: Re: [PATCH] x86/DMI: adjustments to comply with Misra C:2012 Rule 9.3
In-Reply-To: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
References: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
Message-ID: <f89cc7c0bff5b403380f27cf4cd510b5@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-30 08:55, Jan Beulich wrote:
> The rule demands that all array elements be initialized (or dedicated
> initializers be used). Introduce a small set of macros to allow doing 
> so
> without unduly affecting use sites (in particular in terms of how many
> elements .matches[] actually has; right now there's no use of
> DMI_MATCH4(), so we could even consider reducing the array size to 3).
> 
> Note that DMI_MATCH() needs adjustment because of the comma included in
> its expansion, which - due to being unparenthesized - would otherwise
> cause macro arguments in the "further replacement" step to be wrong.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Of course a question is how many of these DMI table entries are in fact
> no longer applicable (e.g. because of naming 32-bit-only systems).
> Subsequently the table in dmi_scan.c itself may want cleaning up as
> well, yet I guess the question of stale entries is even more relevant
> there.
> 
> An alternative to using the compound literal approach might be to go
> along the lines of
> 
> #define DMI_MATCH4(m1, m2, m3, m4) .matches = { [0] = m1, [1] = m2, [2] 
> = m3, [3] = m4 }
> 
> I've chosen the other approach mainly because of being slightly 
> shorter.
> 

This looks good. Upon applying this patch I noticed that there's no 
diffstat, and it doesn't
apply cleanly with git-am.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 09:58:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 09:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644516.1005623 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8doG-0001QI-7Y; Thu, 30 Nov 2023 09:58:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644516.1005623; Thu, 30 Nov 2023 09: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 1r8doG-0001PE-4Q; Thu, 30 Nov 2023 09:58:16 +0000
Received: by outflank-mailman (input) for mailman id 644516;
 Thu, 30 Nov 2023 09: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=u2PQ=HL=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r8doE-0001Oo-Su
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 09:58:15 +0000
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on20611.outbound.protection.outlook.com
 [2a01:111:f400:7e8a::611])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f8a969a8-8f66-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 10:58:12 +0100 (CET)
Received: from SA1P222CA0185.NAMP222.PROD.OUTLOOK.COM (2603:10b6:806:3c4::11)
 by DM6PR12MB4251.namprd12.prod.outlook.com (2603:10b6:5:21e::12) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 09:58:05 +0000
Received: from SN1PEPF00026367.namprd02.prod.outlook.com
 (2603:10b6:806:3c4:cafe::3d) by SA1P222CA0185.outlook.office365.com
 (2603:10b6:806:3c4::11) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend
 Transport; Thu, 30 Nov 2023 09:58:05 +0000
Received: from SATLEXMB04.amd.com (165.204.84.17) by
 SN1PEPF00026367.mail.protection.outlook.com (10.167.241.132) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Thu, 30 Nov 2023 09:58:05 +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.2507.34; Thu, 30 Nov
 2023 03:58:03 -0600
Received: from XIR-MICHALO-L1.xilinx.com (10.180.168.240) by
 SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34
 via Frontend Transport; Thu, 30 Nov 2023 03:58:02 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8a969a8-8f66-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=G4gz+UBjzCQD1a7KpT0/v/ShmqsdGiM9hYWHhsKUVhnnp+lHYetmQMnj/nAUIqUbFH6UDVw/bYCN37XXGZg+3oDlxdBXkdp+G7Ai4WidVxP+24cRXk2GBDlwjBgy9rdStmPyMqzuT/XDMo+hyWXnpy8Z3patjkFJS2tZ3oIZwJm4Kfi10XKrEwvXM29P4utcpM8AHj6K1VJf5Qj0uSdiFsoL6BMjA1etJnlXjAItJSzkh4j1AmbJx8sx2md6NmurNklf7FW9zYLNaSyrN9ndDHXcl/qAb563TPEm2q9MrxtZXRUkHgiMcH/ei0UWEvDM9+AecDoWtb0hOV1lfzyOrQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=WoQndq1anzKRidOd2oPbDOq5osBwmkGhUifF7TFstiU=;
 b=ci4AppeeqhgSl7IMYj3sfmCciv2CJ1eLHCbMUFZcgALyhQUTuHy1jE7PwU5x1DsolaV1bxPbpnm7kRqV3xpzmId2czBsp4JwwHl5IJXvTubQVHO5wcQUwkQI9kmtU+mlyjlpZnekKA9esSUQHxGmCzmm0mV38ZHBTkd18Qi4qviDEPjuaUH0qc7QHMMhN9Hu0wDkCNLKtgceRjgCIfreV/Q8c3g7qWcImv23qV0hD/KjaiImU3iaMcD7GygKm+PkN6m2QelldFZy6iIPCYXiHoKi9vvVEiPIcbDoIofP55zRATZ+FyUeb8yBYI/7AK4Srtufy3qzgU+/YUQOla6oYQ==
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 (0)
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=WoQndq1anzKRidOd2oPbDOq5osBwmkGhUifF7TFstiU=;
 b=MkVerIAGOBSFBGxUP/jXyLgDvtrXnJBJibjXdgVnjXGMoESxHe6wFP3eO9fAVGp2yPJ006llgyP1T8x8oxk8LjjpkZRB9icamWiMp6LyzBRi54C9vhtpdxZHgsArOaw2HMLAS7mz/LzAvzHIbVlObZSpQ97bDH4GVPKT05Zn1X0=
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: Michal Orzel <michal.orzel@amd.com>
To: <xen-devel@lists.xenproject.org>
CC: Michal Orzel <michal.orzel@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>, Julien Grall <julien@xen.org>, Bertrand Marquis
	<bertrand.marquis@arm.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
Subject: [PATCH v2] xen/arm: Move static event channel feature to a separate module
Date: Thu, 30 Nov 2023 10:57:57 +0100
Message-ID: <20231130095757.11162-1-michal.orzel@amd.com>
X-Mailer: git-send-email 2.25.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: SN1PEPF00026367:EE_|DM6PR12MB4251:EE_
X-MS-Office365-Filtering-Correlation-Id: 16d0bff1-f337-403b-5f7f-08dbf18ad90f
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Ieu8j0dX8iYtdvWlxL9+Loay1I8MeeCfCIcQrsyt4lGOPWzgpsIYlzvwcZsLwpcwQW6x8LUw+yO72gTOrG3swvGFJodJ/HAe53MyB4D7wq3NzIkdD/gPsCM90121nXZfbAJvkcK5TW/gwyXaXiX38KCGaVqHgNB0ymcHxepoXXLV5lBPHumYNfMrN7DVexeKq8NeVhlT/T0gBFdUvgWEpTFvIvAJ1YEffq81jotYEitYcuQmOevfCTHhVCSXtgyg/iceCL6IY2xiOtIiDwE27W86IXn4aL43Ci3DjATzMMxZRtsnC+SyZbGJ4XIyhOkutczG4ggJmgJY8tJWa2dv1zTZdfWtSFTvSo0CG6hExhUmIjxHDd6rvkkuxzvfar6+XgWUUQ5oexKUfqJCzYWrVDjXx1NT7nxUe2hJGxZxm/YSVfz8Ym2OawHuEWZhiksfTDKAKiPjAPQiUc0nvrfI8T4k8TY/m5cKxCeDu8BPvrP1UfMNGqXejJ6ynOyRPQObuSd3e77WgoIakq5x+eyvnZyFZg6E2R6mD/JUYB49SqSCnKTevLm+7AZ0slwZeGVjjzpz5QQlpAeZxAwe7rZjjxMsPjRFDeQ4dSrpuY/q3m4Q2Z7stSzq5iI6VzROSsXvyWf0lxuwZQqT2YAWVa1376plhul6jfBLwclDHKVD1SLp4G6uvWxi6JlRryWp5bG6fcOJbG7DGeMJYAqpyKvQBXUQVQX0PLT/FxhigFCjdvvCxA4fV9KjOYY9FqnwCdWv8bYSJ7KW+dNE2NSIbOMWM4WdClE9ZROHVfaHG0wjFewJYie9L8wbCqqeZMWdt+jmVSSIOHnK+yjnuHEk3wrpHic3QAvRFgWF6Xv841N7Pns=
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:(13230031)(4636009)(136003)(39860400002)(376002)(396003)(346002)(230922051799003)(230273577357003)(230173577357003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(46966006)(36840700001)(40470700004)(40460700003)(1076003)(26005)(336012)(83380400001)(426003)(6666004)(2616005)(36860700001)(47076005)(44832011)(5660300002)(4326008)(8676002)(8936002)(41300700001)(30864003)(478600001)(2906002)(316002)(6916009)(54906003)(70206006)(70586007)(202311291699003)(86362001)(36756003)(81166007)(82740400003)(356005)(40480700001)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 09:58:05.1720
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 16d0bff1-f337-403b-5f7f-08dbf18ad90f
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:
	SN1PEPF00026367.namprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4251

Move static event channel feature related code to a separate module
(static-evtchn.{c,h}) in the spirit of fine granular configuration, so
that the feature can be disabled if not needed.

Introduce Kconfig option CONFIG_STATIC_EVTCHN, enabled by default (to
keep the current behavior) dependent on CONFIG_DOM0LESS. While it could
be possible to create a loopback connection for dom0 only, this use case
does not really need this feature and all the docs and commit messages
refer explicitly to the use in dom0less system.

The only function visible externally is alloc_static_evtchn(), so move
the prototype to static-evtchn.h and provide a stub in case a feature
is disabled. Guard static_evtchn_created in struct dt_device_node as
well as its helpers.

Signed-off-by: Michal Orzel <michal.orzel@amd.com>
---
This is a follow up to Luca's dom0less features modularization.

Changes in v2:
 - keep static_evtchn_created helpers in device_tree.h, move macro to *.c
---
 xen/arch/arm/Kconfig                     |   8 ++
 xen/arch/arm/Makefile                    |   1 +
 xen/arch/arm/domain_build.c              | 146 --------------------
 xen/arch/arm/include/asm/setup.h         |   1 -
 xen/arch/arm/include/asm/static-evtchn.h |  25 ++++
 xen/arch/arm/setup.c                     |   1 +
 xen/arch/arm/static-evtchn.c             | 161 +++++++++++++++++++++++
 xen/include/xen/device_tree.h            |   4 +
 8 files changed, 200 insertions(+), 147 deletions(-)
 create mode 100644 xen/arch/arm/include/asm/static-evtchn.h
 create mode 100644 xen/arch/arm/static-evtchn.c

diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
index f73b62e50d00..50e9bfae1ac8 100644
--- a/xen/arch/arm/Kconfig
+++ b/xen/arch/arm/Kconfig
@@ -217,6 +217,14 @@ config STATIC_SHM
 	help
 	  This option enables statically shared memory on a dom0less system.
 
+config STATIC_EVTCHN
+	bool "Static event channel support on a dom0less system"
+	depends on DOM0LESS_BOOT
+	default y
+	help
+	  This option enables establishing static event channel communication
+	  between domains on a dom0less system (domU-domU as well as domU-dom0).
+
 endmenu
 
 menu "ARM errata workaround via the alternative framework"
diff --git a/xen/arch/arm/Makefile b/xen/arch/arm/Makefile
index 809772417c14..33c677672fe6 100644
--- a/xen/arch/arm/Makefile
+++ b/xen/arch/arm/Makefile
@@ -51,6 +51,7 @@ obj-y += setup.o
 obj-y += shutdown.o
 obj-y += smp.o
 obj-y += smpboot.o
+obj-$(CONFIG_STATIC_EVTCHN) += static-evtchn.init.o
 obj-$(CONFIG_STATIC_MEMORY) += static-memory.init.o
 obj-$(CONFIG_STATIC_SHM) += static-shmem.init.o
 obj-y += sysctl.o
diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
index df66fb88d8ec..613b2885cebb 100644
--- a/xen/arch/arm/domain_build.c
+++ b/xen/arch/arm/domain_build.c
@@ -38,8 +38,6 @@
 #include <xen/grant_table.h>
 #include <xen/serial.h>
 
-#define STATIC_EVTCHN_NODE_SIZE_CELLS 2
-
 static unsigned int __initdata opt_dom0_max_vcpus;
 integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
 
@@ -1919,150 +1917,6 @@ void __init evtchn_allocate(struct domain *d)
     d->arch.hvm.params[HVM_PARAM_CALLBACK_IRQ] = val;
 }
 
-static int __init get_evtchn_dt_property(const struct dt_device_node *np,
-                                         uint32_t *port, uint32_t *phandle)
-{
-    const __be32 *prop = NULL;
-    uint32_t len;
-
-    prop = dt_get_property(np, "xen,evtchn", &len);
-    if ( !prop )
-    {
-        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
-        return -EINVAL;
-    }
-
-    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
-    {
-        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
-        return -EINVAL;
-    }
-
-    *port = dt_next_cell(1, &prop);
-    *phandle = dt_next_cell(1, &prop);
-
-    return 0;
-}
-
-static int __init alloc_domain_evtchn(struct dt_device_node *node)
-{
-    int rc;
-    uint32_t domU1_port, domU2_port, remote_phandle;
-    struct dt_device_node *remote_node;
-    const struct dt_device_node *p1_node, *p2_node;
-    struct evtchn_alloc_unbound alloc_unbound;
-    struct evtchn_bind_interdomain bind_interdomain;
-    struct domain *d1 = NULL, *d2 = NULL;
-
-    if ( !dt_device_is_compatible(node, "xen,evtchn-v1") )
-        return 0;
-
-    /*
-     * Event channel is already created while parsing the other side of
-     * evtchn node.
-     */
-    if ( dt_device_static_evtchn_created(node) )
-        return 0;
-
-    rc = get_evtchn_dt_property(node, &domU1_port, &remote_phandle);
-    if ( rc )
-        return rc;
-
-    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;
-    }
-
-    rc = get_evtchn_dt_property(remote_node, &domU2_port, &remote_phandle);
-    if ( rc )
-        return rc;
-
-    if ( node->phandle != remote_phandle )
-    {
-        printk(XENLOG_ERR "xen,evtchn property is not setup correctly.\n");
-        return -EINVAL;
-    }
-
-    p1_node = dt_get_parent(node);
-    if ( !p1_node )
-    {
-        printk(XENLOG_ERR "evtchn: evtchn parent node is NULL\n" );
-        return -EINVAL;
-    }
-
-    p2_node = dt_get_parent(remote_node);
-    if ( !p2_node )
-    {
-        printk(XENLOG_ERR "evtchn: remote parent node is NULL\n" );
-        return -EINVAL;
-    }
-
-    d1 = get_domain_by_id(p1_node->used_by);
-    d2 = get_domain_by_id(p2_node->used_by);
-
-    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 )
-    {
-        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 )
-    {
-        printk(XENLOG_ERR
-                "evtchn_bind_interdomain() failure (Error %d) \n", rc);
-        return rc;
-    }
-
-    dt_device_set_static_evtchn_created(node);
-    dt_device_set_static_evtchn_created(remote_node);
-
-    return 0;
-}
-
-void __init alloc_static_evtchn(void)
-{
-    struct dt_device_node *node, *evtchn_node;
-    struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
-
-    BUG_ON(chosen == NULL);
-
-    if ( hardware_domain )
-        dt_device_set_used_by(chosen, hardware_domain->domain_id);
-
-    dt_for_each_child_node(chosen, node)
-    {
-        if ( hardware_domain )
-        {
-            if ( alloc_domain_evtchn(node) != 0 )
-                panic("Could not set up domains evtchn\n");
-        }
-
-        dt_for_each_child_node(node, evtchn_node)
-        {
-            if ( alloc_domain_evtchn(evtchn_node) != 0 )
-                panic("Could not set up domains evtchn\n");
-        }
-    }
-}
-
 static void __init find_gnttab_region(struct domain *d,
                                       struct kernel_info *kinfo)
 {
diff --git a/xen/arch/arm/include/asm/setup.h b/xen/arch/arm/include/asm/setup.h
index bda3c07b8797..d15a88d2e0d1 100644
--- a/xen/arch/arm/include/asm/setup.h
+++ b/xen/arch/arm/include/asm/setup.h
@@ -136,7 +136,6 @@ void acpi_create_efi_mmap_table(struct domain *d,
 int acpi_make_efi_nodes(void *fdt, struct membank tbl_add[]);
 
 void create_dom0(void);
-void alloc_static_evtchn(void);
 
 void discard_initial_modules(void);
 void fw_unreserved_regions(paddr_t s, paddr_t e,
diff --git a/xen/arch/arm/include/asm/static-evtchn.h b/xen/arch/arm/include/asm/static-evtchn.h
new file mode 100644
index 000000000000..f964522f6a62
--- /dev/null
+++ b/xen/arch/arm/include/asm/static-evtchn.h
@@ -0,0 +1,25 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#ifndef __ASM_STATIC_EVTCHN_H_
+#define __ASM_STATIC_EVTCHN_H_
+
+#ifdef CONFIG_STATIC_EVTCHN
+
+void alloc_static_evtchn(void);
+
+#else /* !CONFIG_STATIC_EVTCHN */
+
+static inline void alloc_static_evtchn(void) {};
+
+#endif /* CONFIG_STATIC_EVTCHN */
+
+#endif /* __ASM_STATIC_EVTCHN_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
index d07ea044db48..59dd9bb25a9f 100644
--- a/xen/arch/arm/setup.c
+++ b/xen/arch/arm/setup.c
@@ -36,6 +36,7 @@
 #include <asm/alternative.h>
 #include <asm/dom0less-build.h>
 #include <asm/page.h>
+#include <asm/static-evtchn.h>
 #include <asm/current.h>
 #include <asm/setup.h>
 #include <asm/gic.h>
diff --git a/xen/arch/arm/static-evtchn.c b/xen/arch/arm/static-evtchn.c
new file mode 100644
index 000000000000..49db08d5c6fc
--- /dev/null
+++ b/xen/arch/arm/static-evtchn.c
@@ -0,0 +1,161 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <xen/event.h>
+
+#include <asm/static-evtchn.h>
+
+#define STATIC_EVTCHN_NODE_SIZE_CELLS 2
+
+static int __init get_evtchn_dt_property(const struct dt_device_node *np,
+                                         uint32_t *port, uint32_t *phandle)
+{
+    const __be32 *prop = NULL;
+    uint32_t len;
+
+    prop = dt_get_property(np, "xen,evtchn", &len);
+    if ( !prop )
+    {
+        printk(XENLOG_ERR "xen,evtchn property should not be empty.\n");
+        return -EINVAL;
+    }
+
+    if ( !len || len < dt_cells_to_size(STATIC_EVTCHN_NODE_SIZE_CELLS) )
+    {
+        printk(XENLOG_ERR "xen,evtchn property value is not valid.\n");
+        return -EINVAL;
+    }
+
+    *port = dt_next_cell(1, &prop);
+    *phandle = dt_next_cell(1, &prop);
+
+    return 0;
+}
+
+static int __init alloc_domain_evtchn(struct dt_device_node *node)
+{
+    int rc;
+    uint32_t domU1_port, domU2_port, remote_phandle;
+    struct dt_device_node *remote_node;
+    const struct dt_device_node *p1_node, *p2_node;
+    struct evtchn_alloc_unbound alloc_unbound;
+    struct evtchn_bind_interdomain bind_interdomain;
+    struct domain *d1 = NULL, *d2 = NULL;
+
+    if ( !dt_device_is_compatible(node, "xen,evtchn-v1") )
+        return 0;
+
+    /*
+     * Event channel is already created while parsing the other side of
+     * evtchn node.
+     */
+    if ( dt_device_static_evtchn_created(node) )
+        return 0;
+
+    rc = get_evtchn_dt_property(node, &domU1_port, &remote_phandle);
+    if ( rc )
+        return rc;
+
+    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;
+    }
+
+    rc = get_evtchn_dt_property(remote_node, &domU2_port, &remote_phandle);
+    if ( rc )
+        return rc;
+
+    if ( node->phandle != remote_phandle )
+    {
+        printk(XENLOG_ERR "xen,evtchn property is not setup correctly.\n");
+        return -EINVAL;
+    }
+
+    p1_node = dt_get_parent(node);
+    if ( !p1_node )
+    {
+        printk(XENLOG_ERR "evtchn: evtchn parent node is NULL\n" );
+        return -EINVAL;
+    }
+
+    p2_node = dt_get_parent(remote_node);
+    if ( !p2_node )
+    {
+        printk(XENLOG_ERR "evtchn: remote parent node is NULL\n" );
+        return -EINVAL;
+    }
+
+    d1 = get_domain_by_id(p1_node->used_by);
+    d2 = get_domain_by_id(p2_node->used_by);
+
+    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 )
+    {
+        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 )
+    {
+        printk(XENLOG_ERR
+                "evtchn_bind_interdomain() failure (Error %d) \n", rc);
+        return rc;
+    }
+
+    dt_device_set_static_evtchn_created(node);
+    dt_device_set_static_evtchn_created(remote_node);
+
+    return 0;
+}
+
+void __init alloc_static_evtchn(void)
+{
+    struct dt_device_node *node, *evtchn_node;
+    struct dt_device_node *chosen = dt_find_node_by_path("/chosen");
+
+    BUG_ON(chosen == NULL);
+
+    if ( hardware_domain )
+        dt_device_set_used_by(chosen, hardware_domain->domain_id);
+
+    dt_for_each_child_node(chosen, node)
+    {
+        if ( hardware_domain )
+        {
+            if ( alloc_domain_evtchn(node) != 0 )
+                panic("Could not set up domains evtchn\n");
+        }
+
+        dt_for_each_child_node(node, evtchn_node)
+        {
+            if ( alloc_domain_evtchn(evtchn_node) != 0 )
+                panic("Could not set up domains evtchn\n");
+        }
+    }
+}
+
+/*
+ * 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/xen/device_tree.h b/xen/include/xen/device_tree.h
index 3ae7b45429b6..94a836cb4e38 100644
--- a/xen/include/xen/device_tree.h
+++ b/xen/include/xen/device_tree.h
@@ -94,8 +94,10 @@ struct dt_device_node {
     /* IOMMU specific fields */
     bool is_protected;
 
+#ifdef CONFIG_STATIC_EVTCHN
     /* HACK: Remove this if there is a need of space */
     bool static_evtchn_created;
+#endif
 
     /*
      * The main purpose of this list is to link the structure in the list
@@ -366,6 +368,7 @@ static inline bool dt_property_name_is_equal(const struct dt_property *pp,
     return !dt_prop_cmp(pp->name, name);
 }
 
+#ifdef CONFIG_STATIC_EVTCHN
 static inline void
 dt_device_set_static_evtchn_created(struct dt_device_node *device)
 {
@@ -377,6 +380,7 @@ dt_device_static_evtchn_created(const struct dt_device_node *device)
 {
     return device->static_evtchn_created;
 }
+#endif /* CONFIG_STATIC_EVTCHN */
 
 /**
  * dt_find_compatible_node - Find a node based on type and one of the
-- 
2.25.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 10:07:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 10:07:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644521.1005634 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8dwd-0004gR-6w; Thu, 30 Nov 2023 10:06:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644521.1005634; Thu, 30 Nov 2023 10:06: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 1r8dwd-0004gK-3q; Thu, 30 Nov 2023 10:06:55 +0000
Received: by outflank-mailman (input) for mailman id 644521;
 Thu, 30 Nov 2023 10:06: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8dwb-0004gE-DM
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 10:06:53 +0000
Received: from mail-wm1-x32e.google.com (mail-wm1-x32e.google.com
 [2a00:1450:4864:20::32e])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e6b6d1f-8f68-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 11:06:51 +0100 (CET)
Received: by mail-wm1-x32e.google.com with SMTP id
 5b1f17b1804b1-40838915cecso6169495e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 02:06:51 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 fc9-20020a05600c524900b0040b34720206sm1438474wmb.12.2023.11.30.02.06.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 02:06:50 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e6b6d1f-8f68-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701338811; x=1701943611; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=ByncsgI/LjtaL2chleaxOWtmdKGgd4kGHdutTTNQQIA=;
        b=ZilYyocjmSYoYyP9yJrwjmhlnUvLduwkTySEqlzKU+tZ7o3BucLS/6V83ZnedS7Xrk
         JqMtflbSUuGGezO2tq12yXgOMyH1CalSNcN15mYdUrDUdHERqcBlXSZOT0dIOmO1Tzee
         WItol/jXK5nhpJECNFyHgh4xzDo3vS6MEit28=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701338811; x=1701943611;
        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:subject:date:message-id:reply-to;
        bh=ByncsgI/LjtaL2chleaxOWtmdKGgd4kGHdutTTNQQIA=;
        b=i1QiEaIKiRDYXlXKaGAGVMvF7qB6C+YjQhpa1hwc49zFIqIU9/J1wW2bDMeTyZThYl
         cQUBxkvk+2a5fwyBY+wUQUdGt2dYvOhC2+bG6xy+D0IpkbLU7Yr9rAbAZ4lUEbOMjQCY
         6oH3byqbfcv/x/WznS0/B4SrRYejP5skLaojFmqrc3xXAIQ0POgFgHUizmsauP2rgchQ
         o2u8V2NAz6f9fmsGiSO4xlh+F6tamEeQzX8EF1/XBS0m71sQrs42wrx6WffIb95C7oIp
         xQN/7LtXoMrnmautSyUrVsnhbRWE4dy7zYFs0/1RJb5W+55t7QNfeA0Y1q+AnVY7Fsa0
         k5ZA==
X-Gm-Message-State: AOJu0YxchtsC5Q9rInyf2R+pzbK6PDW/6l3/+AYc6xuhNoRsFdaB0kJC
	LHImL5sBPgZ9LoIEp7e4KMvieA==
X-Google-Smtp-Source: AGHT+IHa2FYNgAtOkAXgt7fgI4kDWRYmH8MDunnlID0kVtigCIQ383l1qhxArG54QJFKpoIwntUm+Q==
X-Received: by 2002:a05:600c:3505:b0:40a:5129:c284 with SMTP id h5-20020a05600c350500b0040a5129c284mr12124244wmq.35.1701338810743;
        Thu, 30 Nov 2023 02:06:50 -0800 (PST)
Date: Thu, 30 Nov 2023 11:06:49 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jiqian Chen <Jiqian.Chen@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>, xen-devel@lists.xenproject.org,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
	Alex Deucher <Alexander.Deucher@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Huang Rui <Ray.Huang@amd.com>,
	Honglei Huang <Honglei1.Huang@amd.com>,
	Julia Zhang <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 3/3] tools: Add new function to get gsi from
 irq
Message-ID: <ZWheuUjLxShoQ_qn@macbook>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-4-Jiqian.Chen@amd.com>
 <ZWX4R9UEE6oXiqaz@macbook>
 <alpine.DEB.2.22.394.2311291937170.3533093@ubuntu-linux-20-04-desktop>
 <alpine.DEB.2.22.394.2311291956130.3533093@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <alpine.DEB.2.22.394.2311291956130.3533093@ubuntu-linux-20-04-desktop>

On Wed, Nov 29, 2023 at 08:02:40PM -0800, Stefano Stabellini wrote:
> n Wed, 29 Nov 2023, Stefano Stabellini wrote:
> > On Tue, 28 Nov 2023, Roger Pau Monné wrote:
> > > On Fri, Nov 24, 2023 at 06:41:36PM +0800, Jiqian Chen wrote:
> > > > In PVH dom0, it uses the linux local interrupt mechanism,
> > > > when it allocs irq for a gsi, it is dynamic, and follow
> > > > the principle of applying first, distributing first. And
> > > > if you debug the kernel codes, you will find the irq
> > > > number is alloced from small to large, but the applying
> > > > gsi number is not, may gsi 38 comes before gsi 28, that
> > > > causes the irq number is not equal with the gsi number.
> > > > And when we passthrough a device, QEMU will use its gsi
> > > > number to do mapping actions, see xen_pt_realize->
> > > > xc_physdev_map_pirq, but the gsi number is got from file
> > > > /sys/bus/pci/devices/xxxx:xx:xx.x/irq in current code,
> > > > so it will fail when mapping.
> > > > And in current codes, there is no method to translate
> > > > irq to gsi for userspace.
> > > 
> > > I think it would be cleaner to just introduce a new sysfs node that
> > > contains the gsi if a device is using one (much like the irq sysfs
> > > node)?
> > > 
> > > Such ioctl to translate from IRQ to GSI has nothing to do with Xen, so
> > > placing it in privcmd does seem quite strange to me.  I understand
> > > that for passthrough we need the GSI, but such translation layer from
> > > IRQ to GSI is all Linux internal, and it would be much simpler to just
> > > expose the GSI in sysfs IMO.
> > 
> > Maybe something to add to drivers/xen/sys-hypervisor.c in Linux.
> > Juergen what do you think?
> 
> Let me also add that privcmd.c is already a Linux specific interface.
> Although it was born to be a Xen hypercall "proxy" in reality today we
> have a few privcmd ioctls that don't translate into hypercalls. So I
> don't think that adding IOCTL_PRIVCMD_GSI_FROM_IRQ would be a problem.

Maybe not all ioctls translate to hypercalls (I guess you are
referring to the IOCTL_PRIVCMD_RESTRICT ioctl), but they are specific
Xen actions.  Getting the GSI used by a device has nothing do to with
Xen.

IMO drivers/xen/sys-hypervisor.c is also not appropriate, but I'm not
the maintainer of any of those components.

There's nothing Xen specific about fetching the GSI associated with a
PCI device.  The fact that Xen needs it for passthrough is just a red
herring, further cases where the GSI is needed might arise outside of
Xen, and hence such node would better be placed in a generic
location.  The right location should be /sys/bus/pci/devices/<sbdf>/gsi.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 10:08:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 10:08:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644526.1005644 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8dyY-0005VN-Hb; Thu, 30 Nov 2023 10:08:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644526.1005644; Thu, 30 Nov 2023 10: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 1r8dyY-0005VG-Ew; Thu, 30 Nov 2023 10:08:54 +0000
Received: by outflank-mailman (input) for mailman id 644526;
 Thu, 30 Nov 2023 10:08: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=u2PQ=HL=amd.com=Michal.Orzel@srs-se1.protection.inumbo.net>)
 id 1r8dyW-0005VA-Vi
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 10:08:52 +0000
Received: from NAM04-BN8-obe.outbound.protection.outlook.com
 (mail-bn8nam04on20631.outbound.protection.outlook.com
 [2a01:111:f400:7e8d::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75a3cd0e-8f68-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 11:08:51 +0100 (CET)
Received: from CY5PR10CA0013.namprd10.prod.outlook.com (2603:10b6:930:1c::16)
 by BY5PR12MB4870.namprd12.prod.outlook.com (2603:10b6:a03:1de::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 10:08:45 +0000
Received: from CY4PEPF0000E9D0.namprd03.prod.outlook.com
 (2603:10b6:930:1c:cafe::64) by CY5PR10CA0013.outlook.office365.com
 (2603:10b6:930:1c::16) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23 via Frontend
 Transport; Thu, 30 Nov 2023 10:08:45 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D0.mail.protection.outlook.com (10.167.241.143) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Thu, 30 Nov 2023 10:08:45 +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.2507.34; Thu, 30 Nov
 2023 04:08:45 -0600
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.2507.34; Thu, 30 Nov
 2023 04:08:44 -0600
Received: from [10.252.147.188] (10.180.168.240) by SATLEXMB04.amd.com
 (10.181.40.145) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Thu, 30 Nov 2023 04:08:43 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75a3cd0e-8f68-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=fAlKmHE34OLBa74PVXcNh5yiCnlcfO5iciwMYp1Ej9POk1DtAQi+ixykN45PKbgcb/7ccR0s28Vy4IL95uGI9kTyGzphlX1ZCFQR0KuzNZdJ/b2Ci1ioTQ/KGmp+cHa0tpvH6Xyzx9//rfesww/h13iCW0KGPT8xq/Y6P5M14iIXgRW0iKFL98YUi3HUnjP1kLS08CaX2j2YHQySjm92RQNwue5VvIcYmdrU6XdcKfbN7A7MHLJCIIpWRwulyqpJIx6mjge8azb8X42OimXe609yJ2uurmpzEwdczJz+MqWITc9NPbDr7rDV336i2A8FQOo/gUKBFfavrmLAFAsc3A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=UNeO8PW/yrBpL1uCI/q9CXbz0klFNZCGssEdBDoelhk=;
 b=gY+mh1gIZo6vGq8SSyWFz2mVqqkYJqSDZP1scR3WrBLx/6pO4LxxeS3J3RvysoNpPr9anx7tH5b5QYmxrsNNUsubY5rHnt42Rdext4swho/EXh0npNiunhea6G7HOi6kRiaQ353uHFsklBgQ4Bc1FseeaYMr+P1k4jUth22tTy7jlFSBDJfipr9+Ks6udaVxns7teA7UtuLfBDtJlFKfH8MFVxdzoKJDaVsjcvY9njP0y5J/QsxeMSe3ndvrdsy3Q4RjbLVCGcLn09mp2pME+1sRnig+YdLDaCtBVLTZtCWVdOoOFtBckHxMLKmSfnw57ANVr5FCxPTOKHk8ZDfTMA==
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 (0)
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=UNeO8PW/yrBpL1uCI/q9CXbz0klFNZCGssEdBDoelhk=;
 b=PxFem7CkM7JP5edqjjlETiFncnXEeSvxA7iA69xrPvtHkOprTuw0Y/MSjUohBe+msz7NSIEFTT8oUkpEBw5wEsTXUHlVVycbZQnGcWGRLPkA+4su8FAU8xaeyICH56CG8lBa1+vHU/tJBCXZkHo41mtiC6XhXQ4jrUgDmFh4AHw=
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: <e78280bd-4070-4357-841e-acbb5cea1127@amd.com>
Date: Thu, 30 Nov 2023 11:08:42 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v4 00/10] Follow-up static shared memory PART I
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>, "Julien
 Grall" <julien@xen.org>, Bertrand Marquis <bertrand.marquis@arm.com>,
	Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>
References: <20230911040442.2541398-1-Penny.Zheng@arm.com>
 <046aecc4-7270-0041-67dd-51614d2beee6@amd.com>
 <2124b9ea-4c74-780a-f97f-ca3b3d7c9b16@arm.com>
From: Michal Orzel <michal.orzel@amd.com>
In-Reply-To: <2124b9ea-4c74-780a-f97f-ca3b3d7c9b16@arm.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D0:EE_|BY5PR12MB4870:EE_
X-MS-Office365-Filtering-Correlation-Id: f0dfab44-d22a-45ee-8516-08dbf18c56dc
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	WZ6CPfOjWaz/CSuaESY0BZkypQcC5Gd2kaFxdHPUxkxZ1fxMj0ghfMyF9+6SffHD0mUZMSCUkbl5XRVhrzLVD0B3QUhdE7qnIbLjuVjmC7pVnhy0ab/CYjeMjDYToC/GIbepuwWt3mMa0XwkdNHrnjVNiC2myknSCxYgd20hTDwY9cEWWktqVl0dz3WJIDnOPcFJ7PImEmH5BZrSNcqRHf5/TVg7fLZN+3BN1cdUtp3Vb0gfSeKgsiVpXMFF9BCJWeF9WKUQuOeXSYXvLFjTHvPfWCMJ+P3y8jsja7bhcPMx1VxhB4n3fqLTYZ/2f93hObrpDY+d4eP0a/CS1pFRMsh2JJi4mf/4rypoLj5DFQ1tXBCEMLXOsyOke6TejVjYAJ6PHHfTCyFa4zULQrVRMNiBZYnB8SUqD6HZlgoMLGl+MzAySNYIochap5P8Ws3FOi5GRCzyC4QWM+gRXeXQzDZnIP3yeltu+rdH6d31kDCj6v438jCKys+DAdvdfJyhCFajZTJkbXw0Ku1SYwxxVeI1nfrTN+UtMswUMnrVVK7r6ylEsB+VveyEI3O4pCJqhKHL5JfiS0XbYv60UK0c/V9+45vJzYbwBZ5rMR16NgAOJlFtd4m4s0ClYmYZG59e0HP10m93FcmTOVDsZvFSFn3ExyZJotDQA87bPrWuQkg0UYOiC0HPpfXGZMZ+PehFn1GgjXCyQkNjFwIwVyfsyXn9W8itF2XrCSnbqlPVTptGVo93dizjcjQgVDeGNJlJ9x3UlYNQBGUXowXE4HfIyXeKypXC5z6/TPJstl8e6UPM/JIDi5xiSO40hnFBVPJtkYqOcdfOEHDN/OTqWqtNZA==
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:(13230031)(4636009)(39860400002)(346002)(136003)(376002)(396003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(46966006)(36840700001)(40470700004)(40460700003)(26005)(336012)(83380400001)(426003)(53546011)(2616005)(36860700001)(47076005)(44832011)(5660300002)(4326008)(8676002)(8936002)(41300700001)(2906002)(966005)(478600001)(316002)(16576012)(110136005)(54906003)(70206006)(70586007)(202311291699003)(31696002)(86362001)(36756003)(81166007)(82740400003)(356005)(40480700001)(31686004)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 10:08:45.6971
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: f0dfab44-d22a-45ee-8516-08dbf18c56dc
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:
	CY4PEPF0000E9D0.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4870

Hi Penny,

On 11/09/2023 12:04, Penny Zheng wrote:
> 
> 
> Hi Michal
> 
> On 2023/9/11 17:01, Michal Orzel wrote:
>> Hi Penny,
>>
>> On 11/09/2023 06:04, Penny Zheng wrote:
>>>
>>>
>>> There are some unsolving issues on current 4.17 static shared memory
>>> feature[1], including:
>>> - In order to avoid keeping growing 'membank', having the shared memory
>>> info in separate structures is preferred.
>>> - Missing implementation on having the host address optional in
>>> "xen,shared-mem" property
>>> - Removing static shared memory from extended regions
>>> - Missing reference release on foreign superpage
>>> - Fix duplicated /reserved-memory node on Dom0
>>> - Missing static shm node declaration on guest /memory node
>>> - Missing "xen,offset" feature, which is introduced in Linux DOC[2]
>>>
>>> All above objects have been divided into two parts to complete. And this
>>> patch serie is PART I.
>>
>> Just like I pointed out in the previous revision, there is a gitlab CI failure on shared-memory jobs:
>> https://gitlab.com/xen-project/patchew/xen/-/pipelines/999098293
>> Did you change the interface that could lead to this (I cannot spot any change in the docs refinment) ?
>> No Xen logs meaning the early boot failure. Please check.
>>
> 
> Soooooo sorry. I miss-looked that comment. I found that bug exists in
> bootfdt.c.
> ```
> diff --git a/xen/arch/arm/bootfdt.c b/xen/arch/arm/bootfdt.c
> index 7d86dffd45..290dd27bf4 100644
> --- a/xen/arch/arm/bootfdt.c
> +++ b/xen/arch/arm/bootfdt.c
> @@ -532,6 +532,8 @@ static int __init process_shm_node(const void *fdt,
> int node,
>                              size, tot_size);
>                       return -EINVAL;
>                   }
> +
> +                break;
>               }
>               else if ( paddr_assigned )
>               {
> ```
> I accidentally delete a `break;` here, and I will also comment in the
> related commit and fix in next version!
> 
While searching for the pending series, I noticed this one.
If you have time and want us to review the series, please send an updated version
based on the recent Luca's dom0less features modularization.

~Michal


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 10:14:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 10:14:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644530.1005654 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8e4E-00089M-77; Thu, 30 Nov 2023 10:14:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644530.1005654; Thu, 30 Nov 2023 10:14: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 1r8e4E-00089F-3b; Thu, 30 Nov 2023 10:14:46 +0000
Received: by outflank-mailman (input) for mailman id 644530;
 Thu, 30 Nov 2023 10:14: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8e4D-000896-4B
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 10:14:45 +0000
Received: from EUR02-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur02on20630.outbound.protection.outlook.com
 [2a01:111:f400:fe16::630])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 47885d81-8f69-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 11:14:44 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9715.eurprd04.prod.outlook.com (2603:10a6:20b:4f9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8; Thu, 30 Nov
 2023 10:14:40 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 10:14: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: 47885d81-8f69-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Flh3ckd+QvRTBYNwjGqAeHutbYRsGG9+2gF6P81SY0Eoj5xZn6gZZB8Lp7rqImQNKk2J77U5rTPpeVU2rFB7uPraY7deoRFpgOft7T3gP5pUCU9ma4x9ISzz35zJf0lZJQyz3/2JwQbqKy1VUcwlaDK1DnE5R626Gdy8yxeL7ji5E8Ze4kXYCd/QNCITEmVrNzpl6Vt766lDAttphGes3eRJO5Kyp6pzSMy2WicAQ0bHPx3cfgHMg6KsaO8eC+X3teRzomnnRd1NlscVCbXbtkfQkhbxNH4H4fYAf8HBPeyr53/Y2XfMDFziQF70MuAL5aRbRYPCmNrb7xIJvpvFEg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=/hx+vBLaz1u0Cy3LTcCC88MLztCvCJnBl7K1YGsJdb4=;
 b=B9P26UCQTTQVD/0yH3j2zAsojkvRfySYA3qmxcG1H+UPUoLitx6OoH8x47vslZxe1lKPdrlQ93rzXXcOj0rcfMP6doVr4tlKkNAmIHFPbZ07eD8S2CtXbGdmZas9NuYWbnf1woGd60XDFysbHVlrgam6ylkVtTrrq5rkxGsqXQdNUtRARbUnHoM/+FlehPgSW5kLV4nDhUP6o57eR4LPMWjK6nTQcdsOJ7PadxtPP3dCVYyYqQQ7/pzxy/vlFlyVkOH3msZxTxih6kuFgRLLuagdkbYJhk/NKvL1AKrTcltu+XwsSPP5gVrN8Y6XFKMY7jllnpOvKa8r/uKPhnIOog==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=/hx+vBLaz1u0Cy3LTcCC88MLztCvCJnBl7K1YGsJdb4=;
 b=E8pkSS8SJn2aFll5ruEfAyt1u/HlTQiQpSI4Ucy9AOkNbsADml6nPKZqC08mWMLno9qXxfHMGyL7inFnn0aNjM1pWjLrUjkPoxnhctWFKcCZa+aGOrmsOa3dJAkIDu9GgLFE/Cpp738QUuVvaLUg7OFaueSVD1rW2DIB5wU3dbNTUJevZPiP95pK6cAdHalM76UM8qDwjGlu/E0z3Vfuulf2dRtH+wCTi+OuNiDnwjS1Gy5AEqZ5Bj+N3m/XrzpcJcKjdX5FjH1DFZzZqhuaJYwKdShZ9/3cBU1DReyo1V/M3xFxeYTJZjjMieq7FlLGRKR21YnJDkRBvM/U4LrOiQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <aad1b881-f899-409c-87ea-266a05fea984@suse.com>
Date: Thu, 30 Nov 2023 11:14:38 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/DMI: adjustments to comply with Misra C:2012 Rule 9.3
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: xen-devel@lists.xenproject.org, 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>
References: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
 <f89cc7c0bff5b403380f27cf4cd510b5@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <f89cc7c0bff5b403380f27cf4cd510b5@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0080.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9a::13) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9715:EE_
X-MS-Office365-Filtering-Correlation-Id: bceacc91-2496-465c-f472-08dbf18d2a35
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	EXFDclxwoKIfgQetnngrh2toL2wMmoPhmceQ2+MWfF0F0bzHp6uxLW94JgoLHPBeWQYsb5CQ0v/f1qhOhWLiwVu2fhh9ZeEMPYJiiute2qcj+YMrr2EykBUzjtNEAtiXOGVBbm3lWlAwH+6OqmhyA3cXsqagTgsxHNHOnwbflGFtaYPzNB2VFqV/ix35+5sWG/SBEj4KC6S2wcXH/6574d/ZJIiW/mnnZqA4WAYkWQ2NBOqUll8gk7XAAp9RLtuBNNNVthEpNfNJRJdK6Z1BiS1VT3Q4iead58GXS+8n/og9ajKuxuu4KW+GHbjUJegiaearQrKVNGOZKv5AE/GAjTjLHkRjE2geUKhcrRGOzIt8lhy9iQSKKhcJK0dxlHcaBDnNbbWVbFa/tnscWJSvyHRmQjDG+VfP6A30Z5bT0zjdfzHQa4q52RUV4PYgMjVcP/dqxB9Y201dh4aFQfEluGsprrUXgu3Tm3HgGmaKTeWEaAVO0SdjVDmbgeBpVfCJvoK5r4FlISITIEtlaL75JN7Be2WAkVgUcAO13QaDhjd0rpQNamAl0YIQND9ObP1zIWoGkMN6DTqDyvuRcGTnkBQ7e7aElrKDsob9qX3+D1CxDRBhBY9NtMR8kUaPdfcZxjqnBK40fTxTDtmiNk8nRgFzuInNrMqoO0Xo6WQLdok646t6+Yj/f0g8wbhQP/Ec
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(136003)(366004)(39860400002)(396003)(376002)(230922051799003)(64100799003)(1800799012)(451199024)(186009)(8936002)(31696002)(86362001)(316002)(4326008)(5660300002)(36756003)(66476007)(66556008)(6916009)(66946007)(54906003)(31686004)(8676002)(6506007)(38100700002)(478600001)(2906002)(6486002)(4001150100001)(53546011)(202311291699003)(6512007)(2616005)(41300700001)(26005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TjlnNlpBdUJhRE5WUGJINEhRQlZ5Wkg1VWs1aHBiejhWSUxMQjlzU0dSWXVm?=
 =?utf-8?B?OE1OUUlJK2MxNWdGL05jeU1JU1VEdmFGOUxRV1FMSFExaC9Vbk02aTNBNXRK?=
 =?utf-8?B?UHpNR1Y1dkRNckE1b09EM3JsRmlWb0ZDMUlnb0FUekEvdFJnV3p3SGNCVVlS?=
 =?utf-8?B?cjY1aGwrVkRqRG16Qm1MUWJIVE5KdkdrUXpiTlB3djN2VnEvOVF3bDBuejB2?=
 =?utf-8?B?eVAwWUdkajRKZEdKam9qZmxrVWd6UUtjZTlQNDF1Qm5JQVJVaFNLUis1VUJ5?=
 =?utf-8?B?WGVuWjB6ZWt5eTRxdHRaOGdXWnFSTk9zb3MwZ1E0c1ZIVnJaYnpWM3FEZEVw?=
 =?utf-8?B?ZzZrQjdjcUE1aHB6KzdWTy9vYmRGM3EwZ2pvOUJ6dlF6RUR5ZXR3U3F3dC9p?=
 =?utf-8?B?dkJzcFNmbzhzMzhOZ2UrK1FpY1l4aUYzNk1ZMGRaMCt1YmFPb2MvclBFblZ4?=
 =?utf-8?B?Mkc0L2puRlAvd2lTMll6VzBzOVBqSkdKclR1NnVpYWxzRldrSzVqWHJPUTd0?=
 =?utf-8?B?VC9uMXlGUmJ3bnJlTFRNSG9La1JZcGQyNndIRkR6eEJsUUwzbEZJbEVkMTRB?=
 =?utf-8?B?d0x2RTZTQVNLV1J3TmNDanhDd0tjRldVa3hKRGxTUERhZFY2VkRwT2w4K2lr?=
 =?utf-8?B?V244bFBJT3lweXVqTzd2NGxKaDJMZ0gzOWRiVTlaSUZCTU5WdklQSVVuVG1N?=
 =?utf-8?B?Mkx3WTBJSWRSM1JaV3BoZndjSlRPaDE1YUpDZytGMVVmNzNXK3hKLzBBTVIw?=
 =?utf-8?B?OGFpSHFmZy8reU43OGxxbkY3Y2NsMkVEOEN2bmF5WWlZUHNyL3dsT3NabU9z?=
 =?utf-8?B?Tk9qQXJXQk9Ya3R1dDcxS0ZaMFBiSlJTSFpMNGwycWt5a2lZdE1yaXNnd1V3?=
 =?utf-8?B?Vmp0NTdmdG9QLy9OR3cxR3luU01PSDRJOUFaK2diZkU0UWdQaWgra2NjM0lI?=
 =?utf-8?B?bGRpZmovWFcvcGFzQVRUaERZaEIxQmI4RFMwTXp0bDVUdE9VRVNWL0lmSnZl?=
 =?utf-8?B?c3hvdDlIWWhaRmJQUUhCTDNiaGJDUG9kMXd0VFpyWTBYb3ZzWlZ0THhLS25n?=
 =?utf-8?B?cURxU0Y5dlZ2VVg3WThybWhCWlVSTm5nTlBnTHZUaENwc1FtTytucjY3eitW?=
 =?utf-8?B?WlloU280MlJ1RnJENWgyM210N2xtMjRKR3RLNXFaYUhIb0FRS0VFTE0zSmtC?=
 =?utf-8?B?Yms3SE52ZmZaeWFJTVUyN3lCemNuTjkrZDhMaXI2T2Z0WlpiR25SbHpGNXJu?=
 =?utf-8?B?cjdUVVhkZXlzU056UXgyYUhud1dLU1NoZVdaVmpUUTV4MkNpWnRMUDFzTmtE?=
 =?utf-8?B?Q1AxYmtacmtzZlhRbEN0VzZYRzlZNFJtY1VnWnpmRVkrSHMrOFg5VFZlUnFp?=
 =?utf-8?B?MFpRVDNud0cvbnQ0Q1ZreFgwMkpWVEVUV2xmcm0zd0JaOUEzbzBPTmhVNWNB?=
 =?utf-8?B?c1NWVzhzNWNWa3ZoWnBHaHh1R01xV2xqMWlNbllVdkpRRTBkL2NpcWZnRnc1?=
 =?utf-8?B?TXhNU0NZVzAyUzVxSS9zRDdhL1U4ZVNoRGd5dkwzSDNyck5yaHBtYkRyUGZu?=
 =?utf-8?B?RnMzdzZ6MlB6UCtjUDZuRDMra2Zzam1LNTc0UWhTdzJpclMxbk1mQ0hiSkNx?=
 =?utf-8?B?aVkxeEV1NGUyYldsaTdBNDBwN3ZMbmFOSGlhU3BKUXNucWJSeFZicjNCc0Yx?=
 =?utf-8?B?eDdmb1JDWEpnaWhENlphejBxWDFpWlA5bExJOG92d1VXMzVIOTdUb3Nrby9B?=
 =?utf-8?B?NTVYM1hnOE9mWE9ReWYwZHF2MFg2aEs0amFpU2h3ZG1VcnZmcncyY1NKL2xh?=
 =?utf-8?B?ejVTZWpHdzNqcVlsdXgvMzl3U0RPN28vSzBLd2lvaUdJYlNwSllraTl1N29O?=
 =?utf-8?B?UG0vMTRGTGZrb0NNSTZoOXlMOVdjaWV6YlREWkV5TXhWQzRlM3RDZkhubkpZ?=
 =?utf-8?B?QnpmWkFmS2N0c1B4SUl4T3JleTIvazdOZktWbWJBMUg5RnVleXpVdERuSmcy?=
 =?utf-8?B?ekRYbzZ2eFc3WTNTQVdyQit6bDMxN1FRYW1Cd20yelVhMTdoRFpsME10N1Yv?=
 =?utf-8?B?eWdFekpLdmFCTE5nMTVXbi9mSjNWWDhka2h6TTZxbjMyYzZtRVprc1hZa28v?=
 =?utf-8?Q?0d3WthgEkG2xlLaLmrb6Qm56g?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: bceacc91-2496-465c-f472-08dbf18d2a35
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 10:14:40.5524
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: +aGQGyTNflZByKmhl6/Tu3FLGdWC33p5U3TXJPdlcMIM/1ZK+oynPYcwvPRXZsuA4+kwqKdH0Seg9ZgupaZO0Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9715

On 30.11.2023 10:47, Nicola Vetrini wrote:
> On 2023-11-30 08:55, Jan Beulich wrote:
>> The rule demands that all array elements be initialized (or dedicated
>> initializers be used). Introduce a small set of macros to allow doing 
>> so
>> without unduly affecting use sites (in particular in terms of how many
>> elements .matches[] actually has; right now there's no use of
>> DMI_MATCH4(), so we could even consider reducing the array size to 3).
>>
>> Note that DMI_MATCH() needs adjustment because of the comma included in
>> its expansion, which - due to being unparenthesized - would otherwise
>> cause macro arguments in the "further replacement" step to be wrong.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Of course a question is how many of these DMI table entries are in fact
>> no longer applicable (e.g. because of naming 32-bit-only systems).
>> Subsequently the table in dmi_scan.c itself may want cleaning up as
>> well, yet I guess the question of stale entries is even more relevant
>> there.
>>
>> An alternative to using the compound literal approach might be to go
>> along the lines of
>>
>> #define DMI_MATCH4(m1, m2, m3, m4) .matches = { [0] = m1, [1] = m2, [2] 
>> = m3, [3] = m4 }
>>
>> I've chosen the other approach mainly because of being slightly 
>> shorter.
>>
> 
> This looks good. Upon applying this patch I noticed that there's no 
> diffstat,

That's down to me not using git for patch maintenance.

> and it doesn't apply cleanly with git-am.

I can't explain this. It certainly was all okay with patch --dry-run.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 10:28:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 10:28:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644534.1005663 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8eGs-0004Fg-Fq; Thu, 30 Nov 2023 10:27:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644534.1005663; Thu, 30 Nov 2023 10: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 1r8eGs-0004FZ-D4; Thu, 30 Nov 2023 10:27:50 +0000
Received: by outflank-mailman (input) for mailman id 644534;
 Thu, 30 Nov 2023 10:27: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=0Ek5=HL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r8eGq-0004FS-T0
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 10:27:48 +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 1b4ba00d-8f6b-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 11:27:47 +0100 (CET)
Received: by mail-wm1-x32d.google.com with SMTP id
 5b1f17b1804b1-40b4c2ef58aso6472045e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 02:27:47 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 fk14-20020a05600c0cce00b0040b2a52ecaasm5249912wmb.2.2023.11.30.02.27.46
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 02:27:46 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1b4ba00d-8f6b-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701340067; x=1701944867; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=NHRbbPJ8up1Qhq+HcTJ8RXqEY3aSfkdE9EYDWXnnT3Y=;
        b=s4zo6VVN/z7gfd6uGF2Kj2tHOlHZ1ZJOF30RCJ+eCEqJMhqy93rmIEqQ+DhwddIH5j
         RRS8/Q7u9VeJZFzGDUOFKHl3Op9/ExQXeYmc80orEhW2LAuRlb1CX060nrun0clV1VDC
         EyTdzcEzb/WSrWm+9oH7XtQ22Ahr/99/4XuP8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701340067; x=1701944867;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=NHRbbPJ8up1Qhq+HcTJ8RXqEY3aSfkdE9EYDWXnnT3Y=;
        b=FVyAwLpOAoS6x8Po0LmYe8b+7qR7UX7HxiTU7VRw+Aw60zdfkjVdmdJxqZdytlGnBI
         EL13XjGpvLQpqUUNOTtrDmk3XpZ5NdInoL0xHp9skQBzIXMRRD7ujt/RltV6vWk5cs0e
         OUeiZl4xlLnt1Lxom1Hd/ZdAk1bGvlCilWyyIVwLPXqYGxkKmswrRCIDAj3nlN6xcfPv
         hROx2N+0BNJXHeLBNykHh936sUpi0ecF24DGW4JA8lSabiAbElUMETFFUaUc+HivFTKR
         AWBt+jmsKx9NAx4X5DG/MV7kTTxGLzEnH4kJjsWCBZnkCtvJycHvD69sNgKku7OWWFTN
         ldfg==
X-Gm-Message-State: AOJu0YxSElY0hLK2lsTA/I37nCsQJxDvZOb39Y7gOaiH2XQaP0zpVu4X
	NToLgxveuNNxjUN0/HHuT9sCcg==
X-Google-Smtp-Source: AGHT+IG5rQe7eHTbsiG9BBkU74Ab9cjoZ16k/kYt81tTsIL3X0SoNVHV490IiA+EwTuZ5oy977IXqQ==
X-Received: by 2002:a05:600c:1f90:b0:40b:578d:2472 with SMTP id je16-20020a05600c1f9000b0040b578d2472mr1295517wmb.1.1701340067139;
        Thu, 30 Nov 2023 02:27:47 -0800 (PST)
Message-ID: <01b35101-a807-49d1-a962-9ba3cb251c28@citrix.com>
Date: Thu, 30 Nov 2023 10:27:46 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/DMI: adjustments to comply with Misra C:2012 Rule 9.3
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, 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>
References: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
 <f89cc7c0bff5b403380f27cf4cd510b5@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <f89cc7c0bff5b403380f27cf4cd510b5@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

On 30/11/2023 9:47 am, Nicola Vetrini wrote:
> On 2023-11-30 08:55, Jan Beulich wrote:
>> The rule demands that all array elements be initialized (or dedicated
>> initializers be used). Introduce a small set of macros to allow doing so
>> without unduly affecting use sites (in particular in terms of how many
>> elements .matches[] actually has; right now there's no use of
>> DMI_MATCH4(), so we could even consider reducing the array size to 3).
>>
>> Note that DMI_MATCH() needs adjustment because of the comma included in
>> its expansion, which - due to being unparenthesized - would otherwise
>> cause macro arguments in the "further replacement" step to be wrong.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Of course a question is how many of these DMI table entries are in fact
>> no longer applicable (e.g. because of naming 32-bit-only systems).
>> Subsequently the table in dmi_scan.c itself may want cleaning up as
>> well, yet I guess the question of stale entries is even more relevant
>> there.
>>
>> An alternative to using the compound literal approach might be to go
>> along the lines of
>>
>> #define DMI_MATCH4(m1, m2, m3, m4) .matches = { [0] = m1, [1] = m2,
>> [2] = m3, [3] = m4 }
>>
>> I've chosen the other approach mainly because of being slightly shorter.
>>
>
> This looks good. Upon applying this patch I noticed that there's no
> diffstat, and it doesn't
> apply cleanly with git-am.
>

So I've had this git alias for more than a decade.

$ git help jan-am
'jan-am' is aliased to '!bash -c '(echo -en "From: Jan Beulich
<JBeulich@suse.com>\nSubject: " && cat "$1") | git am' -'


However, what you actually want to use these days is
https://b4.docs.kernel.org/en/latest/ which integrates with
https://lore.kernel.org/xen-devel/ and also does administrative things
like collecting acked-by/reviewed-by tags.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 11:11:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 11:11:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644544.1005677 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ewt-0000Lv-MX; Thu, 30 Nov 2023 11:11:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644544.1005677; Thu, 30 Nov 2023 11:11: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 1r8ewt-0000Lo-Jy; Thu, 30 Nov 2023 11:11:15 +0000
Received: by outflank-mailman (input) for mailman id 644544;
 Thu, 30 Nov 2023 11:11: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=J4Nc=HL=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8ews-0000Lh-8H
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 11:11:14 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2b3f806b-8f71-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 12:11:11 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 5CCC94EE0739;
 Thu, 30 Nov 2023 12:11:11 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2b3f806b-8f71-11ee-9b0f-b553b5be7939
MIME-Version: 1.0
Date: Thu, 30 Nov 2023 12:11:11 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, =?UTF-8?Q?R?=
 =?UTF-8?Q?oger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH] x86/DMI: adjustments to comply with Misra C:2012 Rule 9.3
In-Reply-To: <01b35101-a807-49d1-a962-9ba3cb251c28@citrix.com>
References: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
 <f89cc7c0bff5b403380f27cf4cd510b5@bugseng.com>
 <01b35101-a807-49d1-a962-9ba3cb251c28@citrix.com>
Message-ID: <6cd76e30e8d3b40b3c8cc717bcfbc118@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-30 11:27, Andrew Cooper wrote:
> On 30/11/2023 9:47 am, Nicola Vetrini wrote:
>> On 2023-11-30 08:55, Jan Beulich wrote:
>>> The rule demands that all array elements be initialized (or dedicated
>>> initializers be used). Introduce a small set of macros to allow doing 
>>> so
>>> without unduly affecting use sites (in particular in terms of how 
>>> many
>>> elements .matches[] actually has; right now there's no use of
>>> DMI_MATCH4(), so we could even consider reducing the array size to 
>>> 3).
>>> 
>>> Note that DMI_MATCH() needs adjustment because of the comma included 
>>> in
>>> its expansion, which - due to being unparenthesized - would otherwise
>>> cause macro arguments in the "further replacement" step to be wrong.
>>> 
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Of course a question is how many of these DMI table entries are in 
>>> fact
>>> no longer applicable (e.g. because of naming 32-bit-only systems).
>>> Subsequently the table in dmi_scan.c itself may want cleaning up as
>>> well, yet I guess the question of stale entries is even more relevant
>>> there.
>>> 
>>> An alternative to using the compound literal approach might be to go
>>> along the lines of
>>> 
>>> #define DMI_MATCH4(m1, m2, m3, m4) .matches = { [0] = m1, [1] = m2,
>>> [2] = m3, [3] = m4 }
>>> 
>>> I've chosen the other approach mainly because of being slightly 
>>> shorter.
>>> 
>> 
>> This looks good. Upon applying this patch I noticed that there's no
>> diffstat, and it doesn't
>> apply cleanly with git-am.
>> 
> 
> So I've had this git alias for more than a decade.
> 
> $ git help jan-am
> 'jan-am' is aliased to '!bash -c '(echo -en "From: Jan Beulich
> <JBeulich@suse.com>\nSubject: " && cat "$1") | git am' -'
> 
> 
> However, what you actually want to use these days is
> https://b4.docs.kernel.org/en/latest/ which integrates with
> https://lore.kernel.org/xen-devel/ and also does administrative things
> like collecting acked-by/reviewed-by tags.
> 
> ~Andrew

Thanks, I was able to apply the patch cleanly with this

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 11:13:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 11:13:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644548.1005688 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ez3-0001DO-3Y; Thu, 30 Nov 2023 11:13:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644548.1005688; Thu, 30 Nov 2023 11:13: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 1r8ez2-0001DH-VW; Thu, 30 Nov 2023 11:13:28 +0000
Received: by outflank-mailman (input) for mailman id 644548;
 Thu, 30 Nov 2023 11:13: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=EdXu=HL=arm.com=Penny.Zheng@srs-se1.protection.inumbo.net>)
 id 1r8ez1-0001DB-Ez
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 11:13:27 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20623.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::623])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7ac2c041-8f71-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 12:13:25 +0100 (CET)
Received: from DB6PR0301CA0099.eurprd03.prod.outlook.com (2603:10a6:6:30::46)
 by DB5PR08MB10312.eurprd08.prod.outlook.com (2603:10a6:10:3c1::8)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 11:13:15 +0000
Received: from DB5PEPF00014B9D.eurprd02.prod.outlook.com
 (2603:10a6:6:30:cafe::7c) by DB6PR0301CA0099.outlook.office365.com
 (2603:10a6:6:30::46) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend
 Transport; Thu, 30 Nov 2023 11:13:15 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 DB5PEPF00014B9D.mail.protection.outlook.com (10.167.8.164) with
 Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7046.17 via Frontend Transport; Thu, 30 Nov 2023 11:13:15 +0000
Received: ("Tessian outbound 7671e7ddc218:v228");
 Thu, 30 Nov 2023 11:13:15 +0000
Received: from 06ee1fb0cfae.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 C409ED06-5823-444F-8396-AF27C42BF44C.1; 
 Thu, 30 Nov 2023 10:54:24 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 06ee1fb0cfae.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 30 Nov 2023 10:54:24 +0000
Received: from AM0PR08MB4530.eurprd08.prod.outlook.com (2603:10a6:208:13c::21)
 by GV2PR08MB8027.eurprd08.prod.outlook.com (2603:10a6:150:77::6) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 10:54:21 +0000
Received: from AM0PR08MB4530.eurprd08.prod.outlook.com
 ([fe80::dda6:1756:643c:c836]) by AM0PR08MB4530.eurprd08.prod.outlook.com
 ([fe80::dda6:1756:643c:c836%4]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 10:54: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: 7ac2c041-8f71-11ee-9b0f-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=PulTXjmZsRK9P/rUZD1WigcnfMqMtTDLOnU+JN0ic2eXLupFuw6xSfE2X4dvW30hmUXDULYfeAnyfBAOyKv3xukXmHfgfZ7884DtUjGE4PYWe+p7/1THQXer+6kzxrTsaKl95mWBv7YiRJjMDCtUotXSVme3H9t8LoMJI5+8C8wrk7QGMWukrvIItcWqT1DpQD6GNoBsk8KRS98CbOFTotOr9BYVuWa2iNM0bY3rBpN0sewyOpPQ5CfMTsfEHRpJnhuhVD1DhIS1QM71ya78uXPJl5N62GwTtdDm6OdIpPrHDcRrTDI0yZ6Kctcj1uSIdYNZHqSz4l3uvBzv8LSDXA==
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=Xw3WCMG//pYU48orHwkaIfK5wXsX9TwTo3H83JPeCRk=;
 b=O3xV9knINmMSYvgEjMqOSf/hqQiv8PzQ/2CvCZ2+SaaB1kca/1WBcPu19CIstHuqBwBItP/dIZu+qZs1mSoK1s547r4qn/leeRg1Kz9Vm0cH72ZvRlhtPMW4GqBSwV8NoR0PVXdI6AWROfoG3qdkbxr/Bahd851xhvmwsFBqV6Se9YlO2rX7LpKTTBpeA9WRyebODWOrQ+P5os+qfJbupVHyjQmuab+EVT6qaHWgfBc0qzO01ZpARzbt9E5ZpCAWHNI2lioZWqzCPSOqnaWuajpcygZJVGFWnz8xFK36gWgiLSVEIjSmXqfzfN34Vq4a2UAG2+/6+l8FXqiEByQzHg==
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=Xw3WCMG//pYU48orHwkaIfK5wXsX9TwTo3H83JPeCRk=;
 b=Ox4C+7XIs/QJnCiEskFd2ztYJWVIP7bLIweorJ5s4OoVBgyltCshLYAo3lf1TWTQ6QCkQfft+sgt0XL3jSzvgTPzCJ92uWVsIHhBBuC09Y8DJpaYPAy5XiciUpAZn5FTSsZdZ68Zj67B1HoJtK3KzfOSusu4U2hfGIQ1FA50v20=
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: 270d803fee0d7e10
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=JMtrCW154c6quiSCNAHs9Dsk/tXvENlHCC1w3ZpyqFI21HhnxNv34VGhvtagE8hBjGLrvg9MS/RLfbBe+oMzk8zr5NO4SFRMNflmAelfJxqBeqNCL43aP5Yr2ar+VYr9iUeBdgJx6YbkafCW0ABdpDNeiyiUF6JtKs5Rrs6T/v9ufySPnUVAseagEFTvvVAXa3DqfsZiqV+zadIpgwubDFXa4Z/HGwhzfTiH+8GOg4vw7AGEa5cpRWybJTeOMp7FypnTgvkecnSSLoT7V7UjSoJlGx+HQoCbWAdtGxODmuny3SuJTNUj6QLpxz2cNOVIULkkZCJo7vlFpkMMuLOgzg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Xw3WCMG//pYU48orHwkaIfK5wXsX9TwTo3H83JPeCRk=;
 b=FCJ1IAeCmp4Joc1OaKFIrWhp5f2xiUHO0IpxTIrxYxQnF5/OuycOh9VW1vAlNNOLxJOZs+rjOa0Aw4hLYF88ruuQJT03aE3RFi5044BFTrQEdeDGhwng9TG9YxOHbNQCwcX1YIdmKmv4Nof1b4n5+nstNDVojdZDgxpsu8PL/2B/939kgMUlRIslCgH4sZJpYfF0n/vQ0dez1Xu+TgEUyYe1cbodkT26Nf3FSPhheFonR1PGt1/EjBLsAM9h7pOrGKPy/CEI5zAaTBdgcdspOCxaFn6uHx0SwN41+e/7kHoxQr41oLbxeC1epTvobCmwB8wTAiJ+Z6L/JyEEhEv8CA==
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=Xw3WCMG//pYU48orHwkaIfK5wXsX9TwTo3H83JPeCRk=;
 b=Ox4C+7XIs/QJnCiEskFd2ztYJWVIP7bLIweorJ5s4OoVBgyltCshLYAo3lf1TWTQ6QCkQfft+sgt0XL3jSzvgTPzCJ92uWVsIHhBBuC09Y8DJpaYPAy5XiciUpAZn5FTSsZdZ68Zj67B1HoJtK3KzfOSusu4U2hfGIQ1FA50v20=
From: Penny Zheng <Penny.Zheng@arm.com>
To: Michal Orzel <michal.orzel@amd.com>
CC: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>, 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>
Subject: Re: [PATCH v4 00/10] Follow-up static shared memory PART I
Thread-Topic: [PATCH v4 00/10] Follow-up static shared memory PART I
Thread-Index: AQHZ5GUzsFszTp1+jEGlcEDs/85vrrAVVFeAgAARk4CAfbuvAIAADMEw
Date: Thu, 30 Nov 2023 10:54:20 +0000
Message-ID: <685867D0-3DD5-4040-AA45-CA321E9309B0@arm.com>
References: <20230911040442.2541398-1-Penny.Zheng@arm.com>
 <046aecc4-7270-0041-67dd-51614d2beee6@amd.com>
 <2124b9ea-4c74-780a-f97f-ca3b3d7c9b16@arm.com>
 <e78280bd-4070-4357-841e-acbb5cea1127@amd.com>
In-Reply-To: <e78280bd-4070-4357-841e-acbb5cea1127@amd.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-traffictypediagnostic:
	AM0PR08MB4530:EE_|GV2PR08MB8027:EE_|DB5PEPF00014B9D:EE_|DB5PR08MB10312:EE_
X-MS-Office365-Filtering-Correlation-Id: 31495628-a32e-4203-5bb6-08dbf1955959
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:
 nfbpJ6NbbDcIggBMH9L0KL8qXBzImN13b2qlQPu6egNTgF88ibb50hH3yF9Wo080m5efIF5Eggr1WHBziVmythI7L3LThhEYo8T/H/BAhMRxn/o8h2ZXr2NRimo4yyySw0vIF1Pcj4CqKvWGYQ8+IRlb7mBti2E4H1rUH+yWhWU5K+u4CROqbnFBM/dowBb8tmsOH75VER7c9l4d/UzEAZLZHKOOvlR8PmJVWxm5RU1zeStSrLk9Z/rmvPTPbxUFLD+wfjORWhCPbB0WgvtkkYwYED8SiKbXeywhcsG63UyWCYfmg4Zy2QXDq/R2NZ6sGMROdDT3449oZMxCYOBAa+HRAoXk4CbcbTTp/AS/juHYJCNHWQmhJLqULtnUs15kDpwl6KI5iCw7V/59BwDyvLbJFOQprcUDR2HSb5gSkDA/QS6vy5ij8dD797d0Y7kiruy2ifTDDsy0qHBdLDHrv9YoHmOBwkyri2yFEXintvKN2Ah0hpcTzqMtkhcwfDfikx4gBp/dUcRsqLXEmSPQMV0XqLwgFePC9yJT9XNdYfgSEIlM8oZO2hlnksmZpUo1CKuOqsHyxLW2eu+v8Ev3ZSkCqoJ/X0j3hTU4C7na41quLWCTqr4QuA8ax/h/HCkpe3otvtbMSq7zw0hCaclXRCKSEbcn+0GFbo1yU365BoCb6oja2dMvmQp7z4SLqN3t
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:(13230031)(376002)(396003)(39860400002)(366004)(136003)(346002)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(41300700001)(2616005)(26005)(6512007)(83380400001)(66946007)(66476007)(66446008)(76116006)(6916009)(66556008)(64756008)(36756003)(5660300002)(54906003)(8676002)(122000001)(33656002)(8936002)(4326008)(316002)(86362001)(6486002)(202311291699003)(71200400001)(53546011)(6506007)(38070700009)(2906002)(478600001)(966005)(38100700002)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB8027
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:
 DB5PEPF00014B9D.eurprd02.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	fde76407-a08a-488d-001a-08dbf192b522
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	ZwqLgA7HI++OnzDpDh96f5TT9T8Wl73nKiYdmoI/QVH/YZqgilmRjq3KDT9tUJ7pDaecd5Esno/05vOMSm/holyZrV0xP4d/02GkF/T1LBm0er4U9qvsTIsEhmPraSN29Jyzat7SO1+/hWPBMygX9RCroapJvn8TsniVj49OIsVXmDmmheiwS62AT1LJlvGDJLN+UREFvNRAFmkp5p+qaviLyBwCPhctRV2u2hjj2C0Ub71F0iamOveBWICj38Mv9TzHoCif7mU1FXdbS0hOh4ER5kZE4xmnzYX0xM5tJ+2vg4slcLl+x3bM8BzvAXSzSyfc1T7Uu/iPVIEwARGAKHSadvRmBC+um7cMyMnoYkBZQ9SW302BohBKwXf/lfQu38dNiPQIV5OGvN8Ru9aXZAWNcM8dCbcmsXlmsb4L6MfAUu0idRFD2Zx6JW2gtNHp2N/4Ij4ipwyfaKumwf4cOglaYgBnKhUkUU+a6mRZEv/hUiimvPpPDcrOj7wKehzFYTPc0+S7+U1cqVXCGNIF7MuZCW1TkCroPe3jid4cMd1BP9p73IYXQH3j3cfsXo0tndzyY5dd1WBOo7jodBPmfWbSQY4h6SZdrvr6hNMn5o5LSowFFSBe0dh+vumuI5xR6zgaRSxlJXf1Q6Xd/zHr99RIa1ehd6ZuFI8X+ucSrdatcjDaZ0gSpqZxjZAuz3yC0eaBC1HJ4VJqs9iwrwfrO149Kt1bxIwC+4uitYnKx2SyiMtpSruQ3KkPJzVLmQa8/DUmIlVlC2cuEEL9V3UXUg==
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:(13230031)(4636009)(136003)(39850400004)(346002)(376002)(396003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(82310400011)(36840700001)(40470700004)(46966006)(40460700003)(26005)(336012)(6506007)(83380400001)(107886003)(53546011)(2616005)(6512007)(36860700001)(47076005)(6486002)(5660300002)(4326008)(6862004)(8676002)(8936002)(41300700001)(2906002)(966005)(478600001)(316002)(54906003)(70206006)(70586007)(202311291699003)(86362001)(33656002)(36756003)(81166007)(82740400003)(356005)(40480700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 11:13:15.4506
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 31495628-a32e-4203-5bb6-08dbf1955959
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:
	DB5PEPF00014B9D.eurprd02.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR08MB10312

VGhhbmtzIGZvciB0aGUgcmVtaW5kZXIhDQpJ4oCZbGwgc2VuZCB0aGUgdXBkYXRlZCB2ZXJzaW9u
IEFTQVAgOikNCg0KVGhhbmtzLA0KUGVubnkNCg0KPiDlnKggMjAyM+W5tDEx5pyIMzDml6XvvIwx
ODowOe+8jE1pY2hhbCBPcnplbCA8bWljaGFsLm9yemVsQGFtZC5jb20+IOWGmemBk++8mg0KPiAN
Cj4g77u/SGkgUGVubnksDQo+IA0KPj4gT24gMTEvMDkvMjAyMyAxMjowNCwgUGVubnkgWmhlbmcg
d3JvdGU6DQo+PiANCj4+IA0KPj4gSGkgTWljaGFsDQo+PiANCj4+PiBPbiAyMDIzLzkvMTEgMTc6
MDEsIE1pY2hhbCBPcnplbCB3cm90ZToNCj4+PiBIaSBQZW5ueSwNCj4+PiANCj4+PiBPbiAxMS8w
OS8yMDIzIDA2OjA0LCBQZW5ueSBaaGVuZyB3cm90ZToNCj4+Pj4gDQo+Pj4+IA0KPj4+PiBUaGVy
ZSBhcmUgc29tZSB1bnNvbHZpbmcgaXNzdWVzIG9uIGN1cnJlbnQgNC4xNyBzdGF0aWMgc2hhcmVk
IG1lbW9yeQ0KPj4+PiBmZWF0dXJlWzFdLCBpbmNsdWRpbmc6DQo+Pj4+IC0gSW4gb3JkZXIgdG8g
YXZvaWQga2VlcGluZyBncm93aW5nICdtZW1iYW5rJywgaGF2aW5nIHRoZSBzaGFyZWQgbWVtb3J5
DQo+Pj4+IGluZm8gaW4gc2VwYXJhdGUgc3RydWN0dXJlcyBpcyBwcmVmZXJyZWQuDQo+Pj4+IC0g
TWlzc2luZyBpbXBsZW1lbnRhdGlvbiBvbiBoYXZpbmcgdGhlIGhvc3QgYWRkcmVzcyBvcHRpb25h
bCBpbg0KPj4+PiAieGVuLHNoYXJlZC1tZW0iIHByb3BlcnR5DQo+Pj4+IC0gUmVtb3Zpbmcgc3Rh
dGljIHNoYXJlZCBtZW1vcnkgZnJvbSBleHRlbmRlZCByZWdpb25zDQo+Pj4+IC0gTWlzc2luZyBy
ZWZlcmVuY2UgcmVsZWFzZSBvbiBmb3JlaWduIHN1cGVycGFnZQ0KPj4+PiAtIEZpeCBkdXBsaWNh
dGVkIC9yZXNlcnZlZC1tZW1vcnkgbm9kZSBvbiBEb20wDQo+Pj4+IC0gTWlzc2luZyBzdGF0aWMg
c2htIG5vZGUgZGVjbGFyYXRpb24gb24gZ3Vlc3QgL21lbW9yeSBub2RlDQo+Pj4+IC0gTWlzc2lu
ZyAieGVuLG9mZnNldCIgZmVhdHVyZSwgd2hpY2ggaXMgaW50cm9kdWNlZCBpbiBMaW51eCBET0Nb
Ml0NCj4+Pj4gDQo+Pj4+IEFsbCBhYm92ZSBvYmplY3RzIGhhdmUgYmVlbiBkaXZpZGVkIGludG8g
dHdvIHBhcnRzIHRvIGNvbXBsZXRlLiBBbmQgdGhpcw0KPj4+PiBwYXRjaCBzZXJpZSBpcyBQQVJU
IEkuDQo+Pj4gDQo+Pj4gSnVzdCBsaWtlIEkgcG9pbnRlZCBvdXQgaW4gdGhlIHByZXZpb3VzIHJl
dmlzaW9uLCB0aGVyZSBpcyBhIGdpdGxhYiBDSSBmYWlsdXJlIG9uIHNoYXJlZC1tZW1vcnkgam9i
czoNCj4+PiBodHRwczovL2dpdGxhYi5jb20veGVuLXByb2plY3QvcGF0Y2hldy94ZW4vLS9waXBl
bGluZXMvOTk5MDk4MjkzDQo+Pj4gRGlkIHlvdSBjaGFuZ2UgdGhlIGludGVyZmFjZSB0aGF0IGNv
dWxkIGxlYWQgdG8gdGhpcyAoSSBjYW5ub3Qgc3BvdCBhbnkgY2hhbmdlIGluIHRoZSBkb2NzIHJl
ZmlubWVudCkgPw0KPj4+IE5vIFhlbiBsb2dzIG1lYW5pbmcgdGhlIGVhcmx5IGJvb3QgZmFpbHVy
ZS4gUGxlYXNlIGNoZWNrLg0KPj4+IA0KPj4gDQo+PiBTb29vb29vIHNvcnJ5LiBJIG1pc3MtbG9v
a2VkIHRoYXQgY29tbWVudC4gSSBmb3VuZCB0aGF0IGJ1ZyBleGlzdHMgaW4NCj4+IGJvb3RmZHQu
Yy4NCj4+IGBgYA0KPj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9ib290ZmR0LmMgYi94ZW4v
YXJjaC9hcm0vYm9vdGZkdC5jDQo+PiBpbmRleCA3ZDg2ZGZmZDQ1Li4yOTBkZDI3YmY0IDEwMDY0
NA0KPj4gLS0tIGEveGVuL2FyY2gvYXJtL2Jvb3RmZHQuYw0KPj4gKysrIGIveGVuL2FyY2gvYXJt
L2Jvb3RmZHQuYw0KPj4gQEAgLTUzMiw2ICs1MzIsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwcm9j
ZXNzX3NobV9ub2RlKGNvbnN0IHZvaWQgKmZkdCwNCj4+IGludCBub2RlLA0KPj4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHNpemUsIHRvdF9zaXplKTsNCj4+ICAgICAgICAgICAgICAgICAg
ICAgIHJldHVybiAtRUlOVkFMOw0KPj4gICAgICAgICAgICAgICAgICB9DQo+PiArDQo+PiArICAg
ICAgICAgICAgICAgIGJyZWFrOw0KPj4gICAgICAgICAgICAgIH0NCj4+ICAgICAgICAgICAgICBl
bHNlIGlmICggcGFkZHJfYXNzaWduZWQgKQ0KPj4gICAgICAgICAgICAgIHsNCj4+IGBgYA0KPj4g
SSBhY2NpZGVudGFsbHkgZGVsZXRlIGEgYGJyZWFrO2AgaGVyZSwgYW5kIEkgd2lsbCBhbHNvIGNv
bW1lbnQgaW4gdGhlDQo+PiByZWxhdGVkIGNvbW1pdCBhbmQgZml4IGluIG5leHQgdmVyc2lvbiEN
Cj4+IA0KPiBXaGlsZSBzZWFyY2hpbmcgZm9yIHRoZSBwZW5kaW5nIHNlcmllcywgSSBub3RpY2Vk
IHRoaXMgb25lLg0KPiBJZiB5b3UgaGF2ZSB0aW1lIGFuZCB3YW50IHVzIHRvIHJldmlldyB0aGUg
c2VyaWVzLCBwbGVhc2Ugc2VuZCBhbiB1cGRhdGVkIHZlcnNpb24NCj4gYmFzZWQgb24gdGhlIHJl
Y2VudCBMdWNhJ3MgZG9tMGxlc3MgZmVhdHVyZXMgbW9kdWxhcml6YXRpb24uDQo+IA0KPiB+TWlj
aGFsDQo=


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 11:33:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 11:33:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644553.1005698 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8fIX-00084l-NE; Thu, 30 Nov 2023 11:33:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644553.1005698; Thu, 30 Nov 2023 11:33: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 1r8fIX-00084e-KR; Thu, 30 Nov 2023 11:33:37 +0000
Received: by outflank-mailman (input) for mailman id 644553;
 Thu, 30 Nov 2023 11:33: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 1r8fIW-00084Y-B8
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 11:33: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 1r8fIW-0004Ax-2x; Thu, 30 Nov 2023 11:33:36 +0000
Received: from [15.248.2.159] (helo=[10.24.67.31])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8fIV-0002DJ-Sv; Thu, 30 Nov 2023 11: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>
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=98Rige8ox9FvcQdiJHSqw4Ca8bvvOmmUE7ZswLVOK0c=; b=QgJ6YJcCkQhUfiKVNiTPXLvRgP
	0AeRRDdHOcCO8VVTQH2NFKEEQD4L2MhfcFQw2YiOGT8/LhADSZYwtTuGkUUZBgJuc9YCSnDjMDJp+
	I6CJHOgmB/yUOnFQ94g7rYVemtQFbexNcu3xdKElmdO3VbU7y0apAZqCpwWNA1hcO2+0=;
Message-ID: <d373be79-af9e-49d0-95c3-5e5c0c187cca@xen.org>
Date: Thu, 30 Nov 2023 11:33:33 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/public: fix flexible array definitions
Content-Language: en-GB
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: <20231130092112.18118-1-jgross@suse.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231130092112.18118-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Juergen,

On 30/11/2023 09:21, Juergen Gross wrote:
> ---
> V2:
> - bump interface version and make change only for new version
>    (Jan Beulich)
> ---
>   xen/include/public/io/cameraif.h | 2 +-
>   xen/include/public/io/displif.h  | 2 +-
>   xen/include/public/io/fsif.h     | 4 ++--
>   xen/include/public/io/pvcalls.h  | 2 +-
>   xen/include/public/io/ring.h     | 5 +++--
>   xen/include/public/io/sndif.h    | 2 +-
>   xen/include/public/xen-compat.h  | 2 +-
>   xen/include/public/xen.h         | 6 ++++++
>   8 files changed, 16 insertions(+), 9 deletions(-)
> 
> diff --git a/xen/include/public/io/cameraif.h b/xen/include/public/io/cameraif.h
> index 13763abef9..a389443769 100644
> --- a/xen/include/public/io/cameraif.h
> +++ b/xen/include/public/io/cameraif.h
> @@ -763,7 +763,7 @@ struct xencamera_buf_create_req {
>    */
>   struct xencamera_page_directory {
>       grant_ref_t gref_dir_next_page;
> -    grant_ref_t gref[1]; /* Variable length */
> +    grant_ref_t gref[XENPV_FLEX_ARRAY_DIM];
>   };
>   
>   /*
> diff --git a/xen/include/public/io/displif.h b/xen/include/public/io/displif.h
> index 73d0cbdf15..132c96fa5c 100644
> --- a/xen/include/public/io/displif.h
> +++ b/xen/include/public/io/displif.h
> @@ -537,7 +537,7 @@ struct xendispl_dbuf_create_req {
>   
>   struct xendispl_page_directory {
>       grant_ref_t gref_dir_next_page;
> -    grant_ref_t gref[1]; /* Variable length */
> +    grant_ref_t gref[XENPV_FLEX_ARRAY_DIM];
>   };
>   
>   /*
> diff --git a/xen/include/public/io/fsif.h b/xen/include/public/io/fsif.h
> index ec57850233..dcade1c698 100644
> --- a/xen/include/public/io/fsif.h
> +++ b/xen/include/public/io/fsif.h
> @@ -40,7 +40,7 @@ struct fsif_read_request {
>       int32_t pad;
>       uint64_t len;
>       uint64_t offset;
> -    grant_ref_t grefs[1];  /* Variable length */
> +    grant_ref_t grefs[XENPV_FLEX_ARRAY_DIM];
>   };
>   
>   struct fsif_write_request {
> @@ -48,7 +48,7 @@ struct fsif_write_request {
>       int32_t pad;
>       uint64_t len;
>       uint64_t offset;
> -    grant_ref_t grefs[1];  /* Variable length */
> +    grant_ref_t grefs[XENPV_FLEX_ARRAY_DIM];
>   };
>   
>   struct fsif_stat_request {
> diff --git a/xen/include/public/io/pvcalls.h b/xen/include/public/io/pvcalls.h
> index 230b0719e3..af0e9abd13 100644
> --- a/xen/include/public/io/pvcalls.h
> +++ b/xen/include/public/io/pvcalls.h
> @@ -30,7 +30,7 @@ struct pvcalls_data_intf {
>       uint8_t pad2[52];
>   
>       RING_IDX ring_order;
> -    grant_ref_t ref[];
> +    grant_ref_t ref[XENPV_FLEX_ARRAY_DIM];

I am probably missing something. In the commit message, you suggested 
that XENPV_FLEX_ARRAY_DIM will use 1 for older interface version for 
compatibility reason.

Yet, if I am not mistaken, [] is not equivalent to [1]. So aren't you 
effectively breaking the compatibility?

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 11:34:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 11:34:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644557.1005707 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8fJ6-0000C2-3g; Thu, 30 Nov 2023 11:34:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644557.1005707; Thu, 30 Nov 2023 11:34: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 1r8fJ6-0000Bv-0K; Thu, 30 Nov 2023 11:34:12 +0000
Received: by outflank-mailman (input) for mailman id 644557;
 Thu, 30 Nov 2023 11:34: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=jK1W=HL=infradead.org=peterz@srs-se1.protection.inumbo.net>)
 id 1r8fJ4-0008OR-6k
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 11:34:10 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 600473df-8f74-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 12:34:09 +0100 (CET)
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 1r8fIC-00EON3-R9; Thu, 30 Nov 2023 11:33:17 +0000
Received: by noisy.programming.kicks-ass.net (Postfix, from userid 1000)
 id EE982300293; Thu, 30 Nov 2023 12:33:15 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 600473df-8f74-11ee-98e4-6d05b1d4d9a1
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=LyNe9cq/euZtRPSb3aioeZtMybHFVA3zxzbs+Z/bjGA=; b=kvYIC9LL0g1DtJPaX0R6PB3Hzs
	WJoc77vbRw4by7nd4F36TBnJ3T4MI9wdD7aXSPOehJlXlC/pWK+8n2z0lyxmIeom49Fq14fiWDLPi
	aeXJavXkXYJ5TXk3JFMiuM5yCmh3Z1fNGfwOqorYOzov6OJHhvEfGC6J2W+k21Mb2d45DW/SJjG55
	hXNSu7aJ+ccY2N3V7hGH5qNtY48YsH1Ay2pRTRGIIC7nAr6OzIV4MUebHtOW2bJ8WohvfYFEEkA36
	B5JdK+v24H1zWokWmH+erLMEiMEIgHVmGKZCY7RaZV+99vWq5oBYrsMdSM9TFbIUPH+2WK6BZszLl
	ZhGhcUHQ==;
Date: Thu, 30 Nov 2023 12:33:15 +0100
From: Peter Zijlstra <peterz@infradead.org>
To: "Madhavan T. Venkataraman" <madvenka@linux.microsoft.com>
Cc: =?iso-8859-1?Q?Micka=EBl_Sala=FCn?= <mic@digikod.net>,
	Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>, Ingo Molnar <mingo@redhat.com>,
	Kees Cook <keescook@chromium.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Vitaly Kuznetsov <vkuznets@redhat.com>,
	Wanpeng Li <wanpengli@tencent.com>,
	Alexander Graf <graf@amazon.com>,
	Chao Peng <chao.p.peng@linux.intel.com>,
	"Edgecombe, Rick P" <rick.p.edgecombe@intel.com>,
	Forrest Yuan Yu <yuanyu@google.com>,
	James Gowans <jgowans@amazon.com>,
	James Morris <jamorris@linux.microsoft.com>,
	John Andersen <john.s.andersen@intel.com>,
	Marian Rotariu <marian.c.rotariu@gmail.com>,
	Mihai =?utf-8?B?RG9uyJt1?= <mdontu@bitdefender.com>,
	=?utf-8?B?TmljdciZb3IgQ8OuyJt1?= <nicu.citu@icloud.com>,
	Thara Gopinath <tgopinath@microsoft.com>,
	Trilok Soni <quic_tsoni@quicinc.com>, Wei Liu <wei.liu@kernel.org>,
	Will Deacon <will@kernel.org>,
	Yu Zhang <yu.c.zhang@linux.intel.com>,
	Zahra Tarkhani <ztarkhani@microsoft.com>,
	=?utf-8?Q?=C8=98tefan_=C8=98icleru?= <ssicleru@bitdefender.com>,
	dev@lists.cloudhypervisor.org, kvm@vger.kernel.org,
	linux-hardening@vger.kernel.org, linux-hyperv@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-security-module@vger.kernel.org,
	qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org,
	x86@kernel.org, xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH v2 17/19] heki: x86: Update permissions counters
 during text patching
Message-ID: <20231130113315.GE20191@noisy.programming.kicks-ass.net>
References: <20231113022326.24388-1-mic@digikod.net>
 <20231113022326.24388-18-mic@digikod.net>
 <20231113081929.GA16138@noisy.programming.kicks-ass.net>
 <a52d8885-43cc-4a4e-bb47-9a800070779e@linux.microsoft.com>
 <20231127200841.GZ3818@noisy.programming.kicks-ass.net>
 <ea63ae4e-e8ea-4fbf-9383-499e14de2f5e@linux.microsoft.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <ea63ae4e-e8ea-4fbf-9383-499e14de2f5e@linux.microsoft.com>

On Wed, Nov 29, 2023 at 03:07:15PM -0600, Madhavan T. Venkataraman wrote:

> Kernel Lockdown
> ---------------
> 
> But, we must provide at least some security in V2. Otherwise, it is useless.
> 
> So, we have implemented what we call a kernel lockdown. At the end of kernel
> boot, Heki establishes permissions in the extended page table as mentioned
> before. Also, it adds an immutable attribute for kernel text and kernel RO data.
> Beyond that point, guest requests that attempt to modify permissions on any of
> the immutable pages will be denied.
> 
> This means that features like FTrace and KProbes will not work on kernel text
> in V2. This is a temporary limitation. Once authentication is in place, the
> limitation will go away.

So either you're saying your patch 17 / text_poke is broken (so why
include it ?!?) or your statement above is incorrect. Pick one.


> __text_poke()
> 	This function is called by various features to patch text.
> 	This calls heki_text_poke_start() and heki_text_poke_end().
> 
> 	heki_text_poke_start() is called to add write permissions to the
> 	extended page table so that text can be patched. heki_text_poke_end()
> 	is called to revert write permissions in the extended page table.

This, if text_poke works, then static_call / jump_label / ftrace and
everything else should work, they all rely on this.


> Peter mentioned the following:
> 
> "if you want to mirror the native PTEs why don't you hook into the
> paravirt page-table muck and get all that for free?"
> 
> We did consider using a shadow page table kind of approach so that guest page table
> modifications can be intercepted and reflected in the page table entry. We did not
> do this for two reasons:
> 
> - there are bits in the page table entry that are not permission bits. We would like
>   the guest kernel to be able to modify them directly.

This statement makes no sense.

> - we cannot tell a genuine request from an attack.

Why not? How is an explicit call different from an explicit call in a
paravirt hook?

>From a maintenance pov we already hate paravirt with a passion, but it
is ever so much better than sprinkling yet another pile of crap
(heki_*) around.


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 11:34:49 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 11:34:49 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644560.1005717 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8fJg-0000j1-Aj; Thu, 30 Nov 2023 11:34:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644560.1005717; Thu, 30 Nov 2023 11: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 1r8fJg-0000iu-7z; Thu, 30 Nov 2023 11:34:48 +0000
Received: by outflank-mailman (input) for mailman id 644560;
 Thu, 30 Nov 2023 11: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=0Ek5=HL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r8fJf-0000c0-15
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 11:34:47 +0000
Received: from mail-lf1-x136.google.com (mail-lf1-x136.google.com
 [2a00:1450:4864:20::136])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 75911e52-8f74-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 12:34:44 +0100 (CET)
Received: by mail-lf1-x136.google.com with SMTP id
 2adb3069b0e04-50bbc36f767so1218609e87.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 03:34:45 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 u6-20020a5d6da6000000b00332e84210c2sm1302572wrs.88.2023.11.30.03.34.44
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 03:34:44 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75911e52-8f74-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701344085; x=1701948885; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=qODdWoLYmtRJqGkcKUroHiwAjrj4s9ucI+X3uNz5S7c=;
        b=Bz+Qdi0KNp2n6896b0jzL5lY4h8QYMdx3hZEJv06ntYK3wx0+1VkShgWD1vsiv28VG
         gYE2PsxwD/HgzZEqJlQFn2pFLKxMLzqKfqZXgDzYk+TAz/F2ijFmS9EpLEnVJC1m8vYd
         4Cw+WiBhZl+K91FBV8pjsJmsjkmA2UKDtnG08=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701344085; x=1701948885;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=qODdWoLYmtRJqGkcKUroHiwAjrj4s9ucI+X3uNz5S7c=;
        b=qffqwH9WpqrsZdo0rVitXSzUOO0AdFZDk91A2IHLlGVr29/vzRyNBHXy2WmwPrk0wV
         BOZW8xU5Tk8NA+2H8flRgM8ZAIHfcpsb8nabtP7Kl73N7imzsBVhjbyskTxpuAE4Xz5O
         6Bf68cPl9jkwnKis+e6DrU1z36LF758N8GPB1fHFI3p0LoYkB9BhbV0Q1GJ/MLc7hqsU
         dxa2xWZkfFTjonsfi9kPx+aFZvUU8Dmirozo1b/+NhADKateN+z5iYJBPTFwZQw0BL3f
         3c3wpO4HBJ8NPdsVMlDjKbwVDltQERsVwEs48dBSaovkq3Ez4fzW2Djqea9cjCbGHdnt
         f+xQ==
X-Gm-Message-State: AOJu0Yx4bJVta4t3PaYJLTy35DMqC1/RuymemfZe/KVz6pBVV6Ve+k2W
	N2dTALozLA72v2Gh2PGA0Ghinw==
X-Google-Smtp-Source: AGHT+IGBmb3H0eaA5YKJUmmmxog6cC3n/PHf8l8rj50tZyuhVhMgi4EOcv24k7sZiQwwIBnisCDC5A==
X-Received: by 2002:a05:6512:3da6:b0:50b:d174:56cc with SMTP id k38-20020a0565123da600b0050bd17456ccmr990162lfv.21.1701344084783;
        Thu, 30 Nov 2023 03:34:44 -0800 (PST)
Message-ID: <36c90e92-4583-4015-9b37-823ca48d900b@citrix.com>
Date: Thu, 30 Nov 2023 11:34:44 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/public: fix flexible array definitions
Content-Language: en-GB
To: Juergen Gross <jgross@suse.com>, 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>
References: <20231130092112.18118-1-jgross@suse.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <20231130092112.18118-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/11/2023 9:21 am, Juergen Gross wrote:
> Flexible arrays in public headers can be problematic with some
> compilers.
>
> With XEN_FLEX_ARRAY_DIM there is a mechanism available to deal with
> this issue, but care must be taken to not change the affected structs
> in an incompatible way.
>
> So bump __XEN_LATEST_INTERFACE_VERSION__ and introduce a new macro
> XENPV_FLEX_ARRAY_DIM which will be XENPV_FLEX_ARRAY_DIM with the
> interface version being new enough and "1" (the value used today in
> the affected headers) when the interface version is an old one.
>
> Replace the arr[1] instances (this includes the ones seen to be
> problematic in recent Linux kernels [1]) with arr[XENPV_FLEX_ARRAY_DIM]
> in order to avoid compilation errors.
>
> [1]: https://bugzilla.kernel.org/show_bug.cgi?id=217693
>
> Signed-off-by: Juergen Gross <jgross@suse.com>

CHANGELOG please.  This change, however it ends up looking, absolutely
needs covering.

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 11:38:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 11:38:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644566.1005728 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8fNT-0001q7-Qy; Thu, 30 Nov 2023 11:38:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644566.1005728; Thu, 30 Nov 2023 11: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 1r8fNT-0001q0-Mv; Thu, 30 Nov 2023 11:38:43 +0000
Received: by outflank-mailman (input) for mailman id 644566;
 Thu, 30 Nov 2023 11:38: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=EhhW=HL=cloud.com=anthony.perard@srs-se1.protection.inumbo.net>)
 id 1r8fNS-0001pu-7S
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 11:38:42 +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 02671f06-8f75-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 12:38:41 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-3316a4bc37dso692733f8f.2
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 03:38:41 -0800 (PST)
Received: from perard.uk.xensource.com (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 f9-20020a056000036900b00332e073f12bsm1297737wrf.19.2023.11.30.03.38.40
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 03:38:40 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 02671f06-8f75-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701344320; x=1701949120; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=GjTW6WtUqalAGV5ZSLXYYpCDyjSBF9HGbitOatrJhxg=;
        b=BfQDo38ubjdSMl6mH1dla0urJNSojcnNrOZfmXInjIVRm95iqhTpkNuspAQVf73guS
         Ia6ABOICIqDQvVnL6L61xmnc8oq+s6x9vowIwYLsmA8WYL6kAmAjTRv0gh3zxbjGZKOd
         R3zbJnSbMFrXpaJWSk6YD1NQ8EldniJvnHZnk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701344320; x=1701949120;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=GjTW6WtUqalAGV5ZSLXYYpCDyjSBF9HGbitOatrJhxg=;
        b=mikDaAaQOvYR0tdleFpIojYJqvZZqfc2QO9BUrqc3YZfzd2pgV6+g+UbiBcwOoQSFT
         LTCxIhpXkMRU1KdEc5HeMDRZDGZWoCMqcqC/TLcnbIKQBUIBms2B4bizTbCqW3Evxi77
         sU8f+uB1iQI/OJQntsfdvJpcf3xUYr0Aw1z97XXJjoqTA+xuFs8bNNwPnpAwRl2sgGP/
         vwClV55ApjR7h7u8rTdV5hgJ+ugLD0HrJaV5XJUanUIuly2O2EbcUe3KmNfnQSO6OQX5
         7hWlkxSHgx9SuxKWaToo07Q2eFKLIOof6kZUtIp+0qxGSTRkhr4hY6N2R+S0q6wyM0bN
         sWGw==
X-Gm-Message-State: AOJu0Yw7zOzGMZhUXtyw7tx4qAE3xLYK8LL64xbu0bE+Jq9wZsoCx4mZ
	M1DaBE8pFYt/V3HM87tA71fO15zPamlqL9mC+Q4=
X-Google-Smtp-Source: AGHT+IGaOTqRHDYQtr/WpUs7LSLeQF3ccjoBGWyUTPJJXIBkz1xassDPLS5S/1Z7uRQ6euosmHqDww==
X-Received: by 2002:adf:f945:0:b0:333:17d2:454a with SMTP id q5-20020adff945000000b0033317d2454amr3372403wrr.4.1701344320510;
        Thu, 30 Nov 2023 03:38:40 -0800 (PST)
Date: Thu, 30 Nov 2023 11:38:39 +0000
From: Anthony PERARD <anthony.perard@citrix.com>
To: Alejandro Vallejo <alejandro.vallejo@cloud.com>
Cc: Xen-devel <xen-devel@lists.xenproject.org>, Wei Liu <wl@xen.org>,
	Juergen Gross <jgross@suse.com>
Subject: Re: [PATCH] tools/xg: Fix potential memory leak in cpu policy
 getters/setters
Message-ID: <a365578b-de7b-4eff-8ec1-f2847d791aa4@perard>
References: <20231129160028.67226-1-alejandro.vallejo@cloud.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129160028.67226-1-alejandro.vallejo@cloud.com>

On Wed, Nov 29, 2023 at 04:00:28PM +0000, Alejandro Vallejo wrote:
> They allocate two different hypercall buffers, but leak the first
> allocation if the second one failed due to an early return that bypasses
> cleanup.
> 
> Remove the early exit and go through _post() instead. Invoking _post() is
> benign even if _pre() failed.
> 
> Fixes: 6b85e427098c ('x86/sysctl: Implement XEN_SYSCTL_get_cpu_policy')
> Fixes: 60529dfeca14 ('x86/domctl: Implement XEN_DOMCTL_get_cpu_policy')
> Fixes: 14ba07e6f816 ('x86/domctl: Implement XEN_DOMCTL_set_cpumsr_policy')
> Signed-off-by: Alejandro Vallejo <alejandro.vallejo@cloud.com>

Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>

Thanks,

-- 
Anthony PERARD


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 11:39:10 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 11:39:10 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644567.1005738 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8fNu-0002Ng-1T; Thu, 30 Nov 2023 11:39:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644567.1005738; Thu, 30 Nov 2023 11:39: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 1r8fNt-0002NZ-V0; Thu, 30 Nov 2023 11:39:09 +0000
Received: by outflank-mailman (input) for mailman id 644567;
 Thu, 30 Nov 2023 11: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=XJ9b=HL=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r8fNr-0001pu-MI
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 11:39:07 +0000
Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.223.131])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 11a86367-8f75-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 12:39:06 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out2.suse.de (Postfix) with ESMTPS id E55501F855;
 Thu, 30 Nov 2023 11:39:05 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id AAC4413AB1;
 Thu, 30 Nov 2023 11:39:05 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id ae3XJ1l0aGWYIgAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 30 Nov 2023 11: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>
X-Inumbo-ID: 11a86367-8f75-11ee-98e4-6d05b1d4d9a1
Message-ID: <ad0558a6-7f8d-4524-b410-f40df19000be@suse.com>
Date: Thu, 30 Nov 2023 12:39:05 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/public: fix flexible array definitions
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: <20231130092112.18118-1-jgross@suse.com>
 <d373be79-af9e-49d0-95c3-5e5c0c187cca@xen.org>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <d373be79-af9e-49d0-95c3-5e5c0c187cca@xen.org>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------VjeQGyjLBSGYFiZRbmOmFEH3"
X-Spam-Level: *******************
X-Spamd-Bar: +++++++++++++++++++
Authentication-Results: smtp-out2.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out2.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:97 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [19.10 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 BAYES_SPAM(5.10)[100.00%];
	 XM_UA_NO_VERSION(0.01)[];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[7];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 MID_RHS_MATCH_FROM(0.00)[];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-0.997];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 19.10
X-Rspamd-Queue-Id: E55501F855
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------VjeQGyjLBSGYFiZRbmOmFEH3
Content-Type: multipart/mixed; boundary="------------ZCkCqFpWSncdtyYsn4upYerD";
 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: <ad0558a6-7f8d-4524-b410-f40df19000be@suse.com>
Subject: Re: [PATCH v2] xen/public: fix flexible array definitions
References: <20231130092112.18118-1-jgross@suse.com>
 <d373be79-af9e-49d0-95c3-5e5c0c187cca@xen.org>
In-Reply-To: <d373be79-af9e-49d0-95c3-5e5c0c187cca@xen.org>

--------------ZCkCqFpWSncdtyYsn4upYerD
Content-Type: multipart/mixed; boundary="------------nNk0UkHr5Pi5RUDTcD6WE58b"

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

T24gMzAuMTEuMjMgMTI6MzMsIEp1bGllbiBHcmFsbCB3cm90ZToNCj4gSGkgSnVlcmdlbiwN
Cj4gDQo+IE9uIDMwLzExLzIwMjMgMDk6MjEsIEp1ZXJnZW4gR3Jvc3Mgd3JvdGU6DQo+PiAt
LS0NCj4+IFYyOg0KPj4gLSBidW1wIGludGVyZmFjZSB2ZXJzaW9uIGFuZCBtYWtlIGNoYW5n
ZSBvbmx5IGZvciBuZXcgdmVyc2lvbg0KPj4gwqDCoCAoSmFuIEJldWxpY2gpDQo+PiAtLS0N
Cj4+IMKgIHhlbi9pbmNsdWRlL3B1YmxpYy9pby9jYW1lcmFpZi5oIHwgMiArLQ0KPj4gwqAg
eGVuL2luY2x1ZGUvcHVibGljL2lvL2Rpc3BsaWYuaMKgIHwgMiArLQ0KPj4gwqAgeGVuL2lu
Y2x1ZGUvcHVibGljL2lvL2ZzaWYuaMKgwqDCoMKgIHwgNCArKy0tDQo+PiDCoCB4ZW4vaW5j
bHVkZS9wdWJsaWMvaW8vcHZjYWxscy5owqAgfCAyICstDQo+PiDCoCB4ZW4vaW5jbHVkZS9w
dWJsaWMvaW8vcmluZy5owqDCoMKgwqAgfCA1ICsrKy0tDQo+PiDCoCB4ZW4vaW5jbHVkZS9w
dWJsaWMvaW8vc25kaWYuaMKgwqDCoCB8IDIgKy0NCj4+IMKgIHhlbi9pbmNsdWRlL3B1Ymxp
Yy94ZW4tY29tcGF0LmjCoCB8IDIgKy0NCj4+IMKgIHhlbi9pbmNsdWRlL3B1YmxpYy94ZW4u
aMKgwqDCoMKgwqDCoMKgwqAgfCA2ICsrKysrKw0KPj4gwqAgOCBmaWxlcyBjaGFuZ2VkLCAx
NiBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQ0KPj4NCj4+IGRpZmYgLS1naXQgYS94
ZW4vaW5jbHVkZS9wdWJsaWMvaW8vY2FtZXJhaWYuaCBiL3hlbi9pbmNsdWRlL3B1YmxpYy9p
by9jYW1lcmFpZi5oDQo+PiBpbmRleCAxMzc2M2FiZWY5Li5hMzg5NDQzNzY5IDEwMDY0NA0K
Pj4gLS0tIGEveGVuL2luY2x1ZGUvcHVibGljL2lvL2NhbWVyYWlmLmgNCj4+ICsrKyBiL3hl
bi9pbmNsdWRlL3B1YmxpYy9pby9jYW1lcmFpZi5oDQo+PiBAQCAtNzYzLDcgKzc2Myw3IEBA
IHN0cnVjdCB4ZW5jYW1lcmFfYnVmX2NyZWF0ZV9yZXEgew0KPj4gwqDCoCAqLw0KPj4gwqAg
c3RydWN0IHhlbmNhbWVyYV9wYWdlX2RpcmVjdG9yeSB7DQo+PiDCoMKgwqDCoMKgIGdyYW50
X3JlZl90IGdyZWZfZGlyX25leHRfcGFnZTsNCj4+IC3CoMKgwqAgZ3JhbnRfcmVmX3QgZ3Jl
ZlsxXTsgLyogVmFyaWFibGUgbGVuZ3RoICovDQo+PiArwqDCoMKgIGdyYW50X3JlZl90IGdy
ZWZbWEVOUFZfRkxFWF9BUlJBWV9ESU1dOw0KPj4gwqAgfTsNCj4+IMKgIC8qDQo+PiBkaWZm
IC0tZ2l0IGEveGVuL2luY2x1ZGUvcHVibGljL2lvL2Rpc3BsaWYuaCBiL3hlbi9pbmNsdWRl
L3B1YmxpYy9pby9kaXNwbGlmLmgNCj4+IGluZGV4IDczZDBjYmRmMTUuLjEzMmM5NmZhNWMg
MTAwNjQ0DQo+PiAtLS0gYS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8vZGlzcGxpZi5oDQo+PiAr
KysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvaW8vZGlzcGxpZi5oDQo+PiBAQCAtNTM3LDcgKzUz
Nyw3IEBAIHN0cnVjdCB4ZW5kaXNwbF9kYnVmX2NyZWF0ZV9yZXEgew0KPj4gwqAgc3RydWN0
IHhlbmRpc3BsX3BhZ2VfZGlyZWN0b3J5IHsNCj4+IMKgwqDCoMKgwqAgZ3JhbnRfcmVmX3Qg
Z3JlZl9kaXJfbmV4dF9wYWdlOw0KPj4gLcKgwqDCoCBncmFudF9yZWZfdCBncmVmWzFdOyAv
KiBWYXJpYWJsZSBsZW5ndGggKi8NCj4+ICvCoMKgwqAgZ3JhbnRfcmVmX3QgZ3JlZltYRU5Q
Vl9GTEVYX0FSUkFZX0RJTV07DQo+PiDCoCB9Ow0KPj4gwqAgLyoNCj4+IGRpZmYgLS1naXQg
YS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8vZnNpZi5oIGIveGVuL2luY2x1ZGUvcHVibGljL2lv
L2ZzaWYuaA0KPj4gaW5kZXggZWM1Nzg1MDIzMy4uZGNhZGUxYzY5OCAxMDA2NDQNCj4+IC0t
LSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9pby9mc2lmLmgNCj4+ICsrKyBiL3hlbi9pbmNsdWRl
L3B1YmxpYy9pby9mc2lmLmgNCj4+IEBAIC00MCw3ICs0MCw3IEBAIHN0cnVjdCBmc2lmX3Jl
YWRfcmVxdWVzdCB7DQo+PiDCoMKgwqDCoMKgIGludDMyX3QgcGFkOw0KPj4gwqDCoMKgwqDC
oCB1aW50NjRfdCBsZW47DQo+PiDCoMKgwqDCoMKgIHVpbnQ2NF90IG9mZnNldDsNCj4+IC3C
oMKgwqAgZ3JhbnRfcmVmX3QgZ3JlZnNbMV07wqAgLyogVmFyaWFibGUgbGVuZ3RoICovDQo+
PiArwqDCoMKgIGdyYW50X3JlZl90IGdyZWZzW1hFTlBWX0ZMRVhfQVJSQVlfRElNXTsNCj4+
IMKgIH07DQo+PiDCoCBzdHJ1Y3QgZnNpZl93cml0ZV9yZXF1ZXN0IHsNCj4+IEBAIC00OCw3
ICs0OCw3IEBAIHN0cnVjdCBmc2lmX3dyaXRlX3JlcXVlc3Qgew0KPj4gwqDCoMKgwqDCoCBp
bnQzMl90IHBhZDsNCj4+IMKgwqDCoMKgwqAgdWludDY0X3QgbGVuOw0KPj4gwqDCoMKgwqDC
oCB1aW50NjRfdCBvZmZzZXQ7DQo+PiAtwqDCoMKgIGdyYW50X3JlZl90IGdyZWZzWzFdO8Kg
IC8qIFZhcmlhYmxlIGxlbmd0aCAqLw0KPj4gK8KgwqDCoCBncmFudF9yZWZfdCBncmVmc1tY
RU5QVl9GTEVYX0FSUkFZX0RJTV07DQo+PiDCoCB9Ow0KPj4gwqAgc3RydWN0IGZzaWZfc3Rh
dF9yZXF1ZXN0IHsNCj4+IGRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9wdWJsaWMvaW8vcHZj
YWxscy5oIGIveGVuL2luY2x1ZGUvcHVibGljL2lvL3B2Y2FsbHMuaA0KPj4gaW5kZXggMjMw
YjA3MTllMy4uYWYwZTlhYmQxMyAxMDA2NDQNCj4+IC0tLSBhL3hlbi9pbmNsdWRlL3B1Ymxp
Yy9pby9wdmNhbGxzLmgNCj4+ICsrKyBiL3hlbi9pbmNsdWRlL3B1YmxpYy9pby9wdmNhbGxz
LmgNCj4+IEBAIC0zMCw3ICszMCw3IEBAIHN0cnVjdCBwdmNhbGxzX2RhdGFfaW50ZiB7DQo+
PiDCoMKgwqDCoMKgIHVpbnQ4X3QgcGFkMls1Ml07DQo+PiDCoMKgwqDCoMKgIFJJTkdfSURY
IHJpbmdfb3JkZXI7DQo+PiAtwqDCoMKgIGdyYW50X3JlZl90IHJlZltdOw0KPj4gK8KgwqDC
oCBncmFudF9yZWZfdCByZWZbWEVOUFZfRkxFWF9BUlJBWV9ESU1dOw0KPiANCj4gSSBhbSBw
cm9iYWJseSBtaXNzaW5nIHNvbWV0aGluZy4gSW4gdGhlIGNvbW1pdCBtZXNzYWdlLCB5b3Ug
c3VnZ2VzdGVkIHRoYXQgDQo+IFhFTlBWX0ZMRVhfQVJSQVlfRElNIHdpbGwgdXNlIDEgZm9y
IG9sZGVyIGludGVyZmFjZSB2ZXJzaW9uIGZvciBjb21wYXRpYmlsaXR5IA0KPiByZWFzb24u
DQo+IA0KPiBZZXQsIGlmIEkgYW0gbm90IG1pc3Rha2VuLCBbXSBpcyBub3QgZXF1aXZhbGVu
dCB0byBbMV0uIFNvIGFyZW4ndCB5b3UgDQo+IGVmZmVjdGl2ZWx5IGJyZWFraW5nIHRoZSBj
b21wYXRpYmlsaXR5Pw0KDQpPaCwgdGhhbmtzIGZvciBjYXRjaGluZyB0aGlzIG9uZSENCg0K
SSBhZ3JlZSwgdGhpcyBzaG91bGQgYmUgWEVOX0ZMRVhfQVJSQVlfRElNIGluc3RlYWQuDQoN
Cg0KSnVlcmdlbg0K
--------------nNk0UkHr5Pi5RUDTcD6WE58b
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------nNk0UkHr5Pi5RUDTcD6WE58b--

--------------ZCkCqFpWSncdtyYsn4upYerD--

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

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

wsB4BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVodFkFAwAAAAAACgkQsN6d1ii/Ey/B
jQf1Ewloo1T9Igt2QtoHQLXg6G4dpKd2ly2owmx0HSMMnq5a/P2Yh6zXbA4SOwnXxLKBKFmHAqkk
waqxSHmvtLPCV4nzCZW7GqNzzEIIYORfAv9tH6oTjXZ7LBoxw8bhQft/rI/rChB4R6apl3sqXk7H
LhO0Ac9lHiUrWpkpWtxFtT7Um1PUycuuyf/Fy6ADdiS4iYjxfSCcam5WF3qKHPACFr+xeFceNQ17
KYnCpjBJnVEGc8aSVbk2EXX34tSotwOB3hnyqZpJz0FlmQiT63J5e2p4g1JJCNiMGiTSz/cvwkVR
RVTttb5SZGWuOyGHhlDk/jOirbTmCNi6AmDFmZgM
=T2vu
-----END PGP SIGNATURE-----

--------------VjeQGyjLBSGYFiZRbmOmFEH3--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 11:52:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 11:52:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644575.1005747 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8faP-0007yx-8p; Thu, 30 Nov 2023 11:52:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644575.1005747; Thu, 30 Nov 2023 11: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 1r8faP-0007yq-68; Thu, 30 Nov 2023 11:52:05 +0000
Received: by outflank-mailman (input) for mailman id 644575;
 Thu, 30 Nov 2023 11:52: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8faO-0007yk-K6
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 11:52:04 +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 e0ca87b7-8f76-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 12:52:03 +0100 (CET)
Received: by mail-wm1-x330.google.com with SMTP id
 5b1f17b1804b1-40b538d5c4eso5408485e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 03:52:03 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 fm19-20020a05600c0c1300b004060f0a0fd5sm1777899wmb.13.2023.11.30.03.52.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 03:52:02 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e0ca87b7-8f76-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701345123; x=1701949923; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=yhKhuM6K+WUMGusYiCIZLjuseJwfxJSVh0QDOSMrX5Q=;
        b=q1G2IMsivtDtK6uTSMvRZkBLs2IlrH9/Ueb6L5gvjmB7NrK8dqc+TS633yVaNM/Vgs
         5ATTO4Pw0wk3lAu127JdDoiC8xlyzqGg2TAS23eYbi3A2eKLJU4m7Al9N6aKYmeW/kgh
         98Ehl8AqL0WaTpFbp9K8GW94urrw/u7QfQ8EE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701345123; x=1701949923;
        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:subject:date:message-id:reply-to;
        bh=yhKhuM6K+WUMGusYiCIZLjuseJwfxJSVh0QDOSMrX5Q=;
        b=aErqd9KNMxslLuryMGqlBze0uIfnCGCoFsbEltBqckpKOgrNlQ2HXyiBpjGD4q1gFp
         7gFXSlv4gcP6CNAL6BY8O1hqerRCUAtBKw5qL7IpXrPV1/kEm2Q5ebV9pp3SvdOtKy8S
         RGNcphvovp8S1Ao+bYbNnTSyjTDrsaO5QT/p6SZZWHtW/RWb1tjNwee3ttzfbFbxIRnw
         tYyJ84jK7TJuf1rSz94Seg22GjKspWiEzIYeBi11oNzFsWn64am2cBg9hcOwEqTqxBKE
         6N88eOJ4q21at8FoySN3pl8WvzboPUP5m8J9yQUJLnTMrc0S67fhqUaaaUb5wnu1ZQe0
         37CA==
X-Gm-Message-State: AOJu0YwpP568WLhojarUICwUbM45aDm5RfqqyHD5viZTEqAsfMjxyUdr
	dAZRbGIBVCDNzualrf2J3ZiTIg==
X-Google-Smtp-Source: AGHT+IHPRZ74ahEzz6B1r7VgpXaMdnglYeb8ynwDAvy1sAXeSDP6UQU+dOqquBdEMbO9sqeGs/jyvg==
X-Received: by 2002:a05:600c:1382:b0:408:3d91:8251 with SMTP id u2-20020a05600c138200b004083d918251mr13057525wmf.5.1701345123132;
        Thu, 30 Nov 2023 03:52:03 -0800 (PST)
Date: Thu, 30 Nov 2023 12:52:02 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: "Daniel P. Smith" <dpsmith@apertussolutions.com>,
	Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>,
	"Huang, Ray" <Ray.Huang@amd.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Message-ID: <ZWh3Yl1bOnxczQbe@macbook>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-2-Jiqian.Chen@amd.com>
 <ZWX0U1tYooY70UJo@macbook>
 <BL1PR12MB58493CC28A32E3C9B3A1767FE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <BL1PR12MB58493CC28A32E3C9B3A1767FE782A@BL1PR12MB5849.namprd12.prod.outlook.com>

On Thu, Nov 30, 2023 at 06:22:28AM +0000, Chen, Jiqian wrote:
> Hi Roger and Daniel P. Smith,
> 
> On 2023/11/28 22:08, Roger Pau Monné wrote:
> > On Fri, Nov 24, 2023 at 06:41:34PM +0800, Jiqian Chen wrote:
> >> When a device has been reset on dom0 side, the vpci on Xen
> >> side won't get notification, so the cached state in vpci is
> >> all out of date compare with the real device state.
> >> To solve that problem, this patch add new hypercall to clear
> >> all vpci device state. And when reset device happens on dom0
> >> side, dom0 can call this hypercall to notify vpci.
> >>
> >> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> >> Signed-off-by: Huang Rui <ray.huang@amd.com>
> >> ---
> >>  xen/arch/x86/hvm/hypercall.c  |  1 +
> >>  xen/drivers/passthrough/pci.c | 21 +++++++++++++++++++++
> >>  xen/drivers/pci/physdev.c     | 14 ++++++++++++++
> >>  xen/drivers/vpci/vpci.c       |  9 +++++++++
> >>  xen/include/public/physdev.h  |  2 ++
> >>  xen/include/xen/pci.h         |  1 +
> >>  xen/include/xen/vpci.h        |  6 ++++++
> >>  7 files changed, 54 insertions(+)
> >>
> >> diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
> >> index eeb73e1aa5..6ad5b4d5f1 100644
> >> --- a/xen/arch/x86/hvm/hypercall.c
> >> +++ b/xen/arch/x86/hvm/hypercall.c
> >> @@ -84,6 +84,7 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> >>      case PHYSDEVOP_pci_mmcfg_reserved:
> >>      case PHYSDEVOP_pci_device_add:
> >>      case PHYSDEVOP_pci_device_remove:
> >> +    case PHYSDEVOP_pci_device_state_reset:
> >>      case PHYSDEVOP_dbgp_op:
> >>          if ( !is_hardware_domain(currd) )
> >>              return -ENOSYS;
> >> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
> >> index 04d00c7c37..f871715585 100644
> >> --- a/xen/drivers/passthrough/pci.c
> >> +++ b/xen/drivers/passthrough/pci.c
> >> @@ -824,6 +824,27 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
> >>      return ret;
> >>  }
> >>  
> >> +int pci_reset_device_state(u16 seg, u8 bus, u8 devfn)
> > 
> > You could use pci_sbdf_t here instead of 3 parameters.
> Will change in next version, thank you.
> 
> > 
> > I'm however unsure whether we really need this helper just to fetch
> > the pdev and call vpci_reset_device_state(), I think you could place
> > this logic directly in pci_physdev_op().  Unless there are plans to
> > use such logic outside of pci_physdev_op().
> If I place the logic of pci_reset_device_state directly in pci_physdev_op. I think I need to declare vpci_reset_device_state in pci.h? If it is suitable, I will change in next version.

Just include xen/vpci.h in drivers/pci/physdev.c AFAICT.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 11:55:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 11:55:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644580.1005758 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8fdS-00007g-NR; Thu, 30 Nov 2023 11:55:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644580.1005758; Thu, 30 Nov 2023 11: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 1r8fdS-00007Z-KJ; Thu, 30 Nov 2023 11:55:14 +0000
Received: by outflank-mailman (input) for mailman id 644580;
 Thu, 30 Nov 2023 11: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8fdR-00007O-6S
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 11:55:13 +0000
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2061d.outbound.protection.outlook.com
 [2a01:111:f400:7eab::61d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 4f423ad5-8f77-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 12:55:10 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by PH8PR12MB6891.namprd12.prod.outlook.com (2603:10b6:510:1cb::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Thu, 30 Nov
 2023 11:55:04 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 11:55: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: 4f423ad5-8f77-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=idxY3OfhTOVGWHwkK/SWDLfxZDKLyqQ9l1zs6JoULxUQwJXfAfSym9NcDC+LByU7YID8et4xCOOvCgs+u55DrovrnQm1N9MhOf2tUcX8LV1TCTHG3F3UIcnMjPqTmg985hoB87omq4fNTX6ud/CYcjrIa1cAR2ym8RHxh8St7QetP/e8tTH+jc7i7uLAeAeW+zecI0S7RiMXq3Nxb/qLGt7JuuyZtJp4FLqQwyiN+plsyyQ60/29j3R6/MjTDaTZ+gQFrHg8Csn/5S7YOQP6cxinyr+tdFiz84XuvtnNDDPsUzcyPF0YC91wjP5iBLlIPf6HAyx0+Pp3x4r9k7lXIw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=VK8jh57ZRVky3g8Sp0CiWc1G9eVKpDaeqj3HOOtK5W4=;
 b=JCY3UbmTKMWHFxiEUmZDYArAjD1vb66qwhaFCv9yVfZzfhs9G5NJzq3u+YpuQTgeOQWEbApFawcRkXQ1aKcQj5h5K9uKiFHJr70wuNJsRNGGhU8Rkh8GqE63CcbaCEPY6arOQHv9bnlcnkLed2D0i3eDSii4oQVeOnUwwD9YY9D7i88VKYYH0oDegGV6+UxNU7RIGOxHOPyMI7gI8YlArOc8rAMPG4O/D98af85z+1NwYx7Bzvar8N41cB+MHXGHxHY8Z+DaBSkcnppwl+vrHC8RgagXhygoL05zBlbb9JFCxtbT5T4fOMNNzqofYtQxH85E3ajlELE9UJ5gSECxdA==
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=VK8jh57ZRVky3g8Sp0CiWc1G9eVKpDaeqj3HOOtK5W4=;
 b=HCQBItb9VGTThPA9L8dyP+ybBnY++twcCxQnZxwqG67PH8n4+jpHBqvEVf2vYO8sgb4tSjB5xY9pIoplEyRzycShjjvfXA4ZY0bSTRCcKnnm3IeyQqaJHjmoX3h4/9bkEqnKllPtpWOJenSHr7LLvS04hZfnfZqT6dV9cVPkjS8=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: =?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
CC: "Daniel P. Smith" <dpsmith@apertussolutions.com>, Jan Beulich
	<jbeulich@suse.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang,
 Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>
Subject: Re: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Thread-Topic: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Thread-Index: AQHaHsLfq+dfGUvRWUqPIEH3O9fXrbCPyyeAgAMgFYD//96BAIAAhr4A
Date: Thu, 30 Nov 2023 11:55:04 +0000
Message-ID:
 <BL1PR12MB58493CC10788B055445B0BAEE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-2-Jiqian.Chen@amd.com> <ZWX0U1tYooY70UJo@macbook>
 <BL1PR12MB58493CC28A32E3C9B3A1767FE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
 <ZWh3Yl1bOnxczQbe@macbook>
In-Reply-To: <ZWh3Yl1bOnxczQbe@macbook>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: MN0PR12MB5955.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|PH8PR12MB6891:EE_
x-ms-office365-filtering-correlation-id: 88abea89-9af0-4c5e-3195-08dbf19b30da
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 Yb4Bzs9kXsWqdhurfk7zVPM6gfSihFgph/ziwUzswiNXxXicE3QlnnHBqaZY7UxLhJnEcSrBlwEBVqxL2G60Tvs8aJq/wG4y/MKEmE12GpduRPwnanfdQiO3epS71A+y71Nmoqwo842TeJJ558fajJKF2pq7vLDXQFNnw5gKq0SY/wY89WU/f9y6vNO1VobwpsNrpCScMFe0ZFtD5yAa7pH9XTiBwGywPJSG+udTqPVA553qn9G9Huz2q9BpxuyKf3oYP/TwuNzBaRFkci+h7yVxvNk4pQbpBb1eOMXTsUFlFwRLoqgDa4oFUJxNHOZU9OR00mmqKFGQjmNxgoQrfpqcVdYIb7Xmlc8uTwqtGc/7rRFpqEwvxV5IquRypYLLY8ZuFRzV2ZqJ73lV/Kbz5WDswFruXshqEiigcPNkiKeYTttXm3gjJF0r4eIrM/hVWAuP+G1dMNhoVliC152+m8WpCByO8Phcc3ZUUkQAlUIC79pnCTAgCV88tA3pK8oYYQt2Ilf2J2BDm2ywfPl4sf2qrfwblxVLbHzAcMBrVJ0BK55F1QgAlc05nPsVZQ/aD1B0/sDCUsQ9u5VHOFf4NSM3OJD3E0hPOuKeCgjwkRteAgLyWeiHsjMgGr+agXf/zwO7vITe/slZFF8PEJDgmrHzl5MMKVheV5vLHstS3J0=
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(346002)(396003)(136003)(376002)(230922051799003)(186009)(1800799012)(64100799003)(451199024)(2906002)(52536014)(7696005)(9686003)(53546011)(76116006)(66556008)(6916009)(6506007)(41300700001)(66476007)(54906003)(8676002)(66946007)(64756008)(316002)(8936002)(66446008)(4326008)(5660300002)(71200400001)(55016003)(478600001)(83380400001)(26005)(202311291699003)(38100700002)(122000001)(38070700009)(33656002);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?YmxhQlpybUxiQUFRblAreExRL1lEOG9qTG16VTlwbXVONklwNGczYXpoY3Ft?=
 =?utf-8?B?NFlOQmtiMkRYdEtiTm00OHNZUGNiaUNLUFdlNStCS0d5YStuMVJ4UCsxbFoy?=
 =?utf-8?B?VUp4cG1VSWcwQTdkVjYvcUlPbyt5bXkyRmVIeEZqUFUxRzlxbmpGVnQ2QnlU?=
 =?utf-8?B?UlpCSDdaa08vbUdZOVYrTnJUN295eUdkb0FrcllncjBpSVhmMmpOSUd1bnpU?=
 =?utf-8?B?UjRZWjVYeTdOS3E1cEdZZWlTVTk4VGpaTHh4VVlEZEFPQlo5Q1FBYlhyRlhm?=
 =?utf-8?B?RXZIaHRhT2NXNjJSeUJPaExiMWE2ZmhnYTBPTlh6aXVLbnQyUjFQWkRJM0t6?=
 =?utf-8?B?UzU2bmQ1bkxQNzJlb2pxL2hJSDFuZy9rNmZqUWJlZUI0RWI4OElkczJXaHRo?=
 =?utf-8?B?U2hDRklSRE1qeitVME1EQ20wNXdtWTBnZDFtdzkzOE11U0hUclVkQVNWREkx?=
 =?utf-8?B?YytjZTRkQ3B3WW9DcVJJeEFOcm5aYXFFMHlTSkJXcHVwcmpKNDZFOE9wb25E?=
 =?utf-8?B?WGJyaXlOSXE5by8vbFpOQlk5cUI3VXF5clAxM3IzQklvcDZ2eWN2cWlxMEp6?=
 =?utf-8?B?YVpqY052ZWNvcDlwWVZVZkZiajZDMVg5SDFlRXlkemVHOWNNd0FjTitqNXMv?=
 =?utf-8?B?YTErNnZpMVdzckNkK1pGU21tSVlBcVlHMXFrMzlkWmJuL2grcmRvaUs4NWZn?=
 =?utf-8?B?dnNBZFRRNTkyNWJPMEhQZ2RXVkJ3ZlpXc2lUMkNmWDQ4SnlTZ1lTNjhoYUsw?=
 =?utf-8?B?bzQ0dXVOMHBLNlZiVmtGSXNSQ292UlZBVjJWWE5ucGhVRHI1YTFyWE50cXFG?=
 =?utf-8?B?U2I3Zk00Rm1kYkRzYkZVL2l4aFJPTllaMG5ibTNwb1lvUi9RcjNoSml1cDMw?=
 =?utf-8?B?T0ZYdGY5dzU4eFJIQUY3ODBoU1d0bE9XZXcrcjNYOUo5UFVobkdRcHZpN1BE?=
 =?utf-8?B?bHZEVkdHY3dDRVQ0WjB4OUl4ZkpBL2RRV2NVOXVPZzUwa25vL3ZPOTFMMmpV?=
 =?utf-8?B?VVRnbWJKNm03TXZoVkw1SDFSZ3Nzc1E3WDVqQkp2TVR1aHhKWWthbWdUcE9J?=
 =?utf-8?B?RHdXS1o3ZlJLTHdKNTVIOTNycjEzWXdXRlY3YjdaKzdwN3hNamRnSExBempR?=
 =?utf-8?B?RTV2M2plNW04WkVscUJuaTFDWHBrOG9LU3B2bFhQMTgzRFVhRW9UVlhWczQ4?=
 =?utf-8?B?RDRkNUMrdno3eklHcDBTeTU2Njd4Ulh2U3FqMEtucmRuMWJYV3lTdktGQ0U3?=
 =?utf-8?B?aitLUW1JQWx6RERJc2JWcFF1dit6c2E4TjlRK0dyN0JIS0JXc0g3Sk5INjls?=
 =?utf-8?B?Q2tUYkxjc1pWc0lkcVQ4TEpIYlJwWGtsMFBGcnVWNWJONXZuR25IRjE1SGYy?=
 =?utf-8?B?NjErbC9IMks5MFpSdWsxSjBldUMwZ0pMVU1kMWNSUnVtcGdEcEFHUjVKTFcw?=
 =?utf-8?B?aDhJS0xTV3VwOW00Z0pvRTVhTDJaMnpQTGdzaEU5eEZYTXdkbXV6NlZmcVRv?=
 =?utf-8?B?N3BGbmlCQ3V4Vm02MVJLQk1Qd2FvUkhXdTVCcS9SZ3ZZZ2QzVysxYUd2WUVk?=
 =?utf-8?B?dmJxcWxsN1Fzd29RK2poNkNzdW5lUVFCZ3NmL1NrVFNXTnRkaXFXNlNNZmlE?=
 =?utf-8?B?NjJ2YjBVVWZ4aHNiUEVPdUdvQmZPNzlUbmJzVE4zUXhSYVlsdmd2TXByTnM4?=
 =?utf-8?B?TFpaQktwZm9admVDcDAxTUpLZVFNcmlSRUc3MjNHYVBNRGhZdXlYVHRlZWJT?=
 =?utf-8?B?UkVZamx4UnB2K0RRMXphZ2dnMFVqa3pPYnlsazlLQlNWaHphai92RTRtR0Vp?=
 =?utf-8?B?NzUvZGVWYkxYM1pWcU00MXhQSlJnMURoQ0syZXUydHA4dnc0MG1BU05KN3dW?=
 =?utf-8?B?QVhPMWhRQlZkbExJYUpJOGNJQ0IwbjVVSE1Qdjd0SjlDN3VlYTI4a2t3Zits?=
 =?utf-8?B?YWV5cENCRXprVi9WMlYvWmdSY255U3BBbFR2bDc1QlQxbnp3Y1Q4Q3ZwdXBW?=
 =?utf-8?B?Z24zL0lUMVV6dkxYUk9YNlhVRVk0U0czckd1MGJoUmRoZU51dGFXRlEzMGdK?=
 =?utf-8?B?RDAzcXJwWGtNS2dSL1BubFhEem9uODJGQlRQeXQ0RkQxbjduTXhjVUF0Wllr?=
 =?utf-8?Q?A4VM=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <45386DDADC42674B958602A8C0901E70@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 88abea89-9af0-4c5e-3195-08dbf19b30da
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 11:55:04.4819
 (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: 0FioACYd4NSJf9fdMyEk3+IAYRM8uXKrFjikL+Wt9Dz2/SPW94yxwfQi069JIj/PcAm+GuRBBab0C6ZSlTEU4Q==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH8PR12MB6891

DQpPbiAyMDIzLzExLzMwIDE5OjUyLCBSb2dlciBQYXUgTW9ubsOpIHdyb3RlOg0KPiBPbiBUaHUs
IE5vdiAzMCwgMjAyMyBhdCAwNjoyMjoyOEFNICswMDAwLCBDaGVuLCBKaXFpYW4gd3JvdGU6DQo+
PiBIaSBSb2dlciBhbmQgRGFuaWVsIFAuIFNtaXRoLA0KPj4NCj4+IE9uIDIwMjMvMTEvMjggMjI6
MDgsIFJvZ2VyIFBhdSBNb25uw6kgd3JvdGU6DQo+Pj4gT24gRnJpLCBOb3YgMjQsIDIwMjMgYXQg
MDY6NDE6MzRQTSArMDgwMCwgSmlxaWFuIENoZW4gd3JvdGU6DQo+Pj4+IFdoZW4gYSBkZXZpY2Ug
aGFzIGJlZW4gcmVzZXQgb24gZG9tMCBzaWRlLCB0aGUgdnBjaSBvbiBYZW4NCj4+Pj4gc2lkZSB3
b24ndCBnZXQgbm90aWZpY2F0aW9uLCBzbyB0aGUgY2FjaGVkIHN0YXRlIGluIHZwY2kgaXMNCj4+
Pj4gYWxsIG91dCBvZiBkYXRlIGNvbXBhcmUgd2l0aCB0aGUgcmVhbCBkZXZpY2Ugc3RhdGUuDQo+
Pj4+IFRvIHNvbHZlIHRoYXQgcHJvYmxlbSwgdGhpcyBwYXRjaCBhZGQgbmV3IGh5cGVyY2FsbCB0
byBjbGVhcg0KPj4+PiBhbGwgdnBjaSBkZXZpY2Ugc3RhdGUuIEFuZCB3aGVuIHJlc2V0IGRldmlj
ZSBoYXBwZW5zIG9uIGRvbTANCj4+Pj4gc2lkZSwgZG9tMCBjYW4gY2FsbCB0aGlzIGh5cGVyY2Fs
bCB0byBub3RpZnkgdnBjaS4NCj4+Pj4NCj4+Pj4gU2lnbmVkLW9mZi1ieTogSmlxaWFuIENoZW4g
PEppcWlhbi5DaGVuQGFtZC5jb20+DQo+Pj4+IFNpZ25lZC1vZmYtYnk6IEh1YW5nIFJ1aSA8cmF5
Lmh1YW5nQGFtZC5jb20+DQo+Pj4+IC0tLQ0KPj4+PiAgeGVuL2FyY2gveDg2L2h2bS9oeXBlcmNh
bGwuYyAgfCAgMSArDQo+Pj4+ICB4ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2kuYyB8IDIxICsr
KysrKysrKysrKysrKysrKysrKw0KPj4+PiAgeGVuL2RyaXZlcnMvcGNpL3BoeXNkZXYuYyAgICAg
fCAxNCArKysrKysrKysrKysrKw0KPj4+PiAgeGVuL2RyaXZlcnMvdnBjaS92cGNpLmMgICAgICAg
fCAgOSArKysrKysrKysNCj4+Pj4gIHhlbi9pbmNsdWRlL3B1YmxpYy9waHlzZGV2LmggIHwgIDIg
KysNCj4+Pj4gIHhlbi9pbmNsdWRlL3hlbi9wY2kuaCAgICAgICAgIHwgIDEgKw0KPj4+PiAgeGVu
L2luY2x1ZGUveGVuL3ZwY2kuaCAgICAgICAgfCAgNiArKysrKysNCj4+Pj4gIDcgZmlsZXMgY2hh
bmdlZCwgNTQgaW5zZXJ0aW9ucygrKQ0KPj4+Pg0KPj4+PiBkaWZmIC0tZ2l0IGEveGVuL2FyY2gv
eDg2L2h2bS9oeXBlcmNhbGwuYyBiL3hlbi9hcmNoL3g4Ni9odm0vaHlwZXJjYWxsLmMNCj4+Pj4g
aW5kZXggZWViNzNlMWFhNS4uNmFkNWI0ZDVmMSAxMDA2NDQNCj4+Pj4gLS0tIGEveGVuL2FyY2gv
eDg2L2h2bS9oeXBlcmNhbGwuYw0KPj4+PiArKysgYi94ZW4vYXJjaC94ODYvaHZtL2h5cGVyY2Fs
bC5jDQo+Pj4+IEBAIC04NCw2ICs4NCw3IEBAIGxvbmcgaHZtX3BoeXNkZXZfb3AoaW50IGNtZCwg
WEVOX0dVRVNUX0hBTkRMRV9QQVJBTSh2b2lkKSBhcmcpDQo+Pj4+ICAgICAgY2FzZSBQSFlTREVW
T1BfcGNpX21tY2ZnX3Jlc2VydmVkOg0KPj4+PiAgICAgIGNhc2UgUEhZU0RFVk9QX3BjaV9kZXZp
Y2VfYWRkOg0KPj4+PiAgICAgIGNhc2UgUEhZU0RFVk9QX3BjaV9kZXZpY2VfcmVtb3ZlOg0KPj4+
PiArICAgIGNhc2UgUEhZU0RFVk9QX3BjaV9kZXZpY2Vfc3RhdGVfcmVzZXQ6DQo+Pj4+ICAgICAg
Y2FzZSBQSFlTREVWT1BfZGJncF9vcDoNCj4+Pj4gICAgICAgICAgaWYgKCAhaXNfaGFyZHdhcmVf
ZG9tYWluKGN1cnJkKSApDQo+Pj4+ICAgICAgICAgICAgICByZXR1cm4gLUVOT1NZUzsNCj4+Pj4g
ZGlmZiAtLWdpdCBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jIGIveGVuL2RyaXZlcnMv
cGFzc3Rocm91Z2gvcGNpLmMNCj4+Pj4gaW5kZXggMDRkMDBjN2MzNy4uZjg3MTcxNTU4NSAxMDA2
NDQNCj4+Pj4gLS0tIGEveGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMNCj4+Pj4gKysrIGIv
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMNCj4+Pj4gQEAgLTgyNCw2ICs4MjQsMjcgQEAg
aW50IHBjaV9yZW1vdmVfZGV2aWNlKHUxNiBzZWcsIHU4IGJ1cywgdTggZGV2Zm4pDQo+Pj4+ICAg
ICAgcmV0dXJuIHJldDsNCj4+Pj4gIH0NCj4+Pj4gIA0KPj4+PiAraW50IHBjaV9yZXNldF9kZXZp
Y2Vfc3RhdGUodTE2IHNlZywgdTggYnVzLCB1OCBkZXZmbikNCj4+Pg0KPj4+IFlvdSBjb3VsZCB1
c2UgcGNpX3NiZGZfdCBoZXJlIGluc3RlYWQgb2YgMyBwYXJhbWV0ZXJzLg0KPj4gV2lsbCBjaGFu
Z2UgaW4gbmV4dCB2ZXJzaW9uLCB0aGFuayB5b3UuDQo+Pg0KPj4+DQo+Pj4gSSdtIGhvd2V2ZXIg
dW5zdXJlIHdoZXRoZXIgd2UgcmVhbGx5IG5lZWQgdGhpcyBoZWxwZXIganVzdCB0byBmZXRjaA0K
Pj4+IHRoZSBwZGV2IGFuZCBjYWxsIHZwY2lfcmVzZXRfZGV2aWNlX3N0YXRlKCksIEkgdGhpbmsg
eW91IGNvdWxkIHBsYWNlDQo+Pj4gdGhpcyBsb2dpYyBkaXJlY3RseSBpbiBwY2lfcGh5c2Rldl9v
cCgpLiAgVW5sZXNzIHRoZXJlIGFyZSBwbGFucyB0bw0KPj4+IHVzZSBzdWNoIGxvZ2ljIG91dHNp
ZGUgb2YgcGNpX3BoeXNkZXZfb3AoKS4NCj4+IElmIEkgcGxhY2UgdGhlIGxvZ2ljIG9mIHBjaV9y
ZXNldF9kZXZpY2Vfc3RhdGUgZGlyZWN0bHkgaW4gcGNpX3BoeXNkZXZfb3AuIEkgdGhpbmsgSSBu
ZWVkIHRvIGRlY2xhcmUgdnBjaV9yZXNldF9kZXZpY2Vfc3RhdGUgaW4gcGNpLmg/IElmIGl0IGlz
IHN1aXRhYmxlLCBJIHdpbGwgY2hhbmdlIGluIG5leHQgdmVyc2lvbi4NCj4gDQo+IEp1c3QgaW5j
bHVkZSB4ZW4vdnBjaS5oIGluIGRyaXZlcnMvcGNpL3BoeXNkZXYuYyBBRkFJQ1QuDQpPaywgSSB3
aWxsIGNoYW5nZSBpdCBpbiBuZXh0IHZlcnNpb24uIFRoYW5rcy4NCg0KPiANCj4gVGhhbmtzLCBS
b2dlci4NCg0KLS0gDQpCZXN0IHJlZ2FyZHMsDQpKaXFpYW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:00:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:00:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644586.1005768 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8fiV-0003av-FD; Thu, 30 Nov 2023 12:00:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644586.1005768; Thu, 30 Nov 2023 12:00: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 1r8fiV-0003ao-Ba; Thu, 30 Nov 2023 12:00:27 +0000
Received: by outflank-mailman (input) for mailman id 644586;
 Thu, 30 Nov 2023 12:00: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=J4Nc=HL=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8fiT-0003YC-MN
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:00:25 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 0b961057-8f78-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 13:00:25 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id A1E194EE0739;
 Thu, 30 Nov 2023 13:00:24 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b961057-8f78-11ee-98e4-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 30 Nov 2023 13:00:24 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, 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>
Subject: Re: [PATCH] x86/DMI: adjustments to comply with Misra C:2012 Rule 9.3
In-Reply-To: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
References: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
Message-ID: <533b6aadb95ab767c9060d5a5ed7505f@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-30 08:55, Jan Beulich wrote:
> The rule demands that all array elements be initialized (or dedicated
> initializers be used). Introduce a small set of macros to allow doing 
> so
> without unduly affecting use sites (in particular in terms of how many
> elements .matches[] actually has; right now there's no use of
> DMI_MATCH4(), so we could even consider reducing the array size to 3).
> 
> Note that DMI_MATCH() needs adjustment because of the comma included in
> its expansion, which - due to being unparenthesized - would otherwise
> cause macro arguments in the "further replacement" step to be wrong.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> ---
> Of course a question is how many of these DMI table entries are in fact
> no longer applicable (e.g. because of naming 32-bit-only systems).
> Subsequently the table in dmi_scan.c itself may want cleaning up as
> well, yet I guess the question of stale entries is even more relevant
> there.
> 
> An alternative to using the compound literal approach might be to go
> along the lines of
> 
> #define DMI_MATCH4(m1, m2, m3, m4) .matches = { [0] = m1, [1] = m2, [2] 
> = m3, [3] = m4 }
> 
> I've chosen the other approach mainly because of being slightly 
> shorter.
> 

 From a MISRA perspective this resolves all but one violation: the 
initialization of static array

ns16550_com[2] = { { 0 } };

in drivers/char/ns16550.c. This is a case where the explicit initializer 
looks unnecessary.

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:03:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:03:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644592.1005778 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8flW-0004CR-ST; Thu, 30 Nov 2023 12:03:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644592.1005778; Thu, 30 Nov 2023 12:03: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 1r8flW-0004CK-PD; Thu, 30 Nov 2023 12:03:34 +0000
Received: by outflank-mailman (input) for mailman id 644592;
 Thu, 30 Nov 2023 12:03: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=0Ek5=HL=cloud.com=andrew.cooper@srs-se1.protection.inumbo.net>)
 id 1r8flV-0004C9-65
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:03:33 +0000
Received: from mail-wr1-x42d.google.com (mail-wr1-x42d.google.com
 [2a00:1450:4864:20::42d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 7a2ca300-8f78-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 13:03:30 +0100 (CET)
Received: by mail-wr1-x42d.google.com with SMTP id
 ffacd0b85a97d-332e56363adso566292f8f.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 04:03:31 -0800 (PST)
Received: from [10.80.67.30] (default-46-102-197-194.interdsl.co.uk.
 [46.102.197.194]) by smtp.gmail.com with ESMTPSA id
 r4-20020adff104000000b003313e4dddecsm1357473wro.108.2023.11.30.04.03.30
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 04:03:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7a2ca300-8f78-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701345810; x=1701950610; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=E83uc5LUEmAXslUDI82DfKLoZovORzP7/GpfLnQtcEM=;
        b=UzqNWFSwYJxGAfAURJiXHsHeFzXLAuX8VU7cHcr2fq5JXGq1a+NcpKEABynrh/HMzA
         niQzILlRCbLN2TWP7vWt4wnIVRm0vHFoID7McVCuNFUtUa/IqIGJvtypdnvO1nshxs0n
         kDoALl0xWOZpmQ+lc3gVt+JmBYFcE0L2/gjqI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701345810; x=1701950610;
        h=content-transfer-encoding:in-reply-to:autocrypt:from:references:cc
         :to:content-language:subject:user-agent:mime-version:date:message-id
         :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
        bh=E83uc5LUEmAXslUDI82DfKLoZovORzP7/GpfLnQtcEM=;
        b=Ck8plZrjv0oPPdJS1m8BXpbl3azEQBnjIiw0onyiHIJLKHKvqHJkpH4tPQn475N1Wi
         3ZC667TFOlsVsFn+5oGU4/Qa6nmSXNrDLg1YR9TnS4e0wLhDKJyOjcXW6HpMqruaZDwP
         EzX46AtFz8ma3XqLT8t+fsIamO+06FIJ1USYOHBCNFUyGWUC3bknN/kSHTDLoOtmi4eW
         FASM5vXC6kgLuv50cdMrEIHJGjSerCjWg/Ci9M8iiEwyQ4qlbkp1O+Jxq2gqIXufmqKW
         2RVfZu0tH7UBlYlOctdlvxy0Kp4ejtUw9kvqXCLiKYyDJJrnhWTLzKu7Bm7A7Qza4jsV
         44aw==
X-Gm-Message-State: AOJu0YzD0TziA3F7hO3byH1WE/b0XDUhrWnzU5YjBABshjEqcb2l4STd
	3cFABhPx9794v70shbJFPPipsQ==
X-Google-Smtp-Source: AGHT+IHVJvb7c5NkdTyeSAo44EUttp3Pou1wuk4kxj6LvwByGEhYxOGvrVv07Nvu2SZ29sXAKFEJ6g==
X-Received: by 2002:a5d:46c8:0:b0:332:f578:8763 with SMTP id g8-20020a5d46c8000000b00332f5788763mr12436723wrs.58.1701345810609;
        Thu, 30 Nov 2023 04:03:30 -0800 (PST)
Message-ID: <62cf8ca8-e395-44b4-8fa9-8909393e1795@citrix.com>
Date: Thu, 30 Nov 2023 12:03:29 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/DMI: adjustments to comply with Misra C:2012 Rule 9.3
Content-Language: en-GB
To: Nicola Vetrini <nicola.vetrini@bugseng.com>,
 Jan Beulich <jbeulich@suse.com>
Cc: xen-devel@lists.xenproject.org, 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>
References: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
 <533b6aadb95ab767c9060d5a5ed7505f@bugseng.com>
From: Andrew Cooper <andrew.cooper3@citrix.com>
Autocrypt: addr=andrew.cooper3@citrix.com; keydata=
 xsFNBFLhNn8BEADVhE+Hb8i0GV6mihnnr/uiQQdPF8kUoFzCOPXkf7jQ5sLYeJa0cQi6Penp
 VtiFYznTairnVsN5J+ujSTIb+OlMSJUWV4opS7WVNnxHbFTPYZVQ3erv7NKc2iVizCRZ2Kxn
 srM1oPXWRic8BIAdYOKOloF2300SL/bIpeD+x7h3w9B/qez7nOin5NzkxgFoaUeIal12pXSR
 Q354FKFoy6Vh96gc4VRqte3jw8mPuJQpfws+Pb+swvSf/i1q1+1I4jsRQQh2m6OTADHIqg2E
 ofTYAEh7R5HfPx0EXoEDMdRjOeKn8+vvkAwhviWXTHlG3R1QkbE5M/oywnZ83udJmi+lxjJ5
 YhQ5IzomvJ16H0Bq+TLyVLO/VRksp1VR9HxCzItLNCS8PdpYYz5TC204ViycobYU65WMpzWe
 LFAGn8jSS25XIpqv0Y9k87dLbctKKA14Ifw2kq5OIVu2FuX+3i446JOa2vpCI9GcjCzi3oHV
 e00bzYiHMIl0FICrNJU0Kjho8pdo0m2uxkn6SYEpogAy9pnatUlO+erL4LqFUO7GXSdBRbw5
 gNt25XTLdSFuZtMxkY3tq8MFss5QnjhehCVPEpE6y9ZjI4XB8ad1G4oBHVGK5LMsvg22PfMJ
 ISWFSHoF/B5+lHkCKWkFxZ0gZn33ju5n6/FOdEx4B8cMJt+cWwARAQABzSlBbmRyZXcgQ29v
 cGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPsLBegQTAQgAJAIbAwULCQgHAwUVCgkI
 CwUWAgMBAAIeAQIXgAUCWKD95wIZAQAKCRBlw/kGpdefoHbdD/9AIoR3k6fKl+RFiFpyAhvO
 59ttDFI7nIAnlYngev2XUR3acFElJATHSDO0ju+hqWqAb8kVijXLops0gOfqt3VPZq9cuHlh
 IMDquatGLzAadfFx2eQYIYT+FYuMoPZy/aTUazmJIDVxP7L383grjIkn+7tAv+qeDfE+txL4
 SAm1UHNvmdfgL2/lcmL3xRh7sub3nJilM93RWX1Pe5LBSDXO45uzCGEdst6uSlzYR/MEr+5Z
 JQQ32JV64zwvf/aKaagSQSQMYNX9JFgfZ3TKWC1KJQbX5ssoX/5hNLqxMcZV3TN7kU8I3kjK
 mPec9+1nECOjjJSO/h4P0sBZyIUGfguwzhEeGf4sMCuSEM4xjCnwiBwftR17sr0spYcOpqET
 ZGcAmyYcNjy6CYadNCnfR40vhhWuCfNCBzWnUW0lFoo12wb0YnzoOLjvfD6OL3JjIUJNOmJy
 RCsJ5IA/Iz33RhSVRmROu+TztwuThClw63g7+hoyewv7BemKyuU6FTVhjjW+XUWmS/FzknSi
 dAG+insr0746cTPpSkGl3KAXeWDGJzve7/SBBfyznWCMGaf8E2P1oOdIZRxHgWj0zNr1+ooF
 /PzgLPiCI4OMUttTlEKChgbUTQ+5o0P080JojqfXwbPAyumbaYcQNiH1/xYbJdOFSiBv9rpt
 TQTBLzDKXok86M7BTQRS4TZ/ARAAkgqudHsp+hd82UVkvgnlqZjzz2vyrYfz7bkPtXaGb9H4
 Rfo7mQsEQavEBdWWjbga6eMnDqtu+FC+qeTGYebToxEyp2lKDSoAsvt8w82tIlP/EbmRbDVn
 7bhjBlfRcFjVYw8uVDPptT0TV47vpoCVkTwcyb6OltJrvg/QzV9f07DJswuda1JH3/qvYu0p
 vjPnYvCq4NsqY2XSdAJ02HrdYPFtNyPEntu1n1KK+gJrstjtw7KsZ4ygXYrsm/oCBiVW/OgU
 g/XIlGErkrxe4vQvJyVwg6YH653YTX5hLLUEL1NS4TCo47RP+wi6y+TnuAL36UtK/uFyEuPy
 wwrDVcC4cIFhYSfsO0BumEI65yu7a8aHbGfq2lW251UcoU48Z27ZUUZd2Dr6O/n8poQHbaTd
 6bJJSjzGGHZVbRP9UQ3lkmkmc0+XCHmj5WhwNNYjgbbmML7y0fsJT5RgvefAIFfHBg7fTY/i
 kBEimoUsTEQz+N4hbKwo1hULfVxDJStE4sbPhjbsPCrlXf6W9CxSyQ0qmZ2bXsLQYRj2xqd1
 bpA+1o1j2N4/au1R/uSiUFjewJdT/LX1EklKDcQwpk06Af/N7VZtSfEJeRV04unbsKVXWZAk
 uAJyDDKN99ziC0Wz5kcPyVD1HNf8bgaqGDzrv3TfYjwqayRFcMf7xJaL9xXedMcAEQEAAcLB
 XwQYAQgACQUCUuE2fwIbDAAKCRBlw/kGpdefoG4XEACD1Qf/er8EA7g23HMxYWd3FXHThrVQ
 HgiGdk5Yh632vjOm9L4sd/GCEACVQKjsu98e8o3ysitFlznEns5EAAXEbITrgKWXDDUWGYxd
 pnjj2u+GkVdsOAGk0kxczX6s+VRBhpbBI2PWnOsRJgU2n10PZ3mZD4Xu9kU2IXYmuW+e5KCA
 vTArRUdCrAtIa1k01sPipPPw6dfxx2e5asy21YOytzxuWFfJTGnVxZZSCyLUO83sh6OZhJkk
 b9rxL9wPmpN/t2IPaEKoAc0FTQZS36wAMOXkBh24PQ9gaLJvfPKpNzGD8XWR5HHF0NLIJhgg
 4ZlEXQ2fVp3XrtocHqhu4UZR4koCijgB8sB7Tb0GCpwK+C4UePdFLfhKyRdSXuvY3AHJd4CP
 4JzW0Bzq/WXY3XMOzUTYApGQpnUpdOmuQSfpV9MQO+/jo7r6yPbxT7CwRS5dcQPzUiuHLK9i
 nvjREdh84qycnx0/6dDroYhp0DFv4udxuAvt1h4wGwTPRQZerSm4xaYegEFusyhbZrI0U9tJ
 B8WrhBLXDiYlyJT6zOV2yZFuW47VrLsjYnHwn27hmxTC/7tvG3euCklmkn9Sl9IAKFu29RSo
 d5bD8kMSCYsTqtTfT6W4A3qHGvIDta3ptLYpIAOD2sY3GYq2nf3Bbzx81wZK14JdDDHUX2Rs
 6+ahAA==
In-Reply-To: <533b6aadb95ab767c9060d5a5ed7505f@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On 30/11/2023 12:00 pm, Nicola Vetrini wrote:
> On 2023-11-30 08:55, Jan Beulich wrote:
>> The rule demands that all array elements be initialized (or dedicated
>> initializers be used). Introduce a small set of macros to allow doing so
>> without unduly affecting use sites (in particular in terms of how many
>> elements .matches[] actually has; right now there's no use of
>> DMI_MATCH4(), so we could even consider reducing the array size to 3).
>>
>> Note that DMI_MATCH() needs adjustment because of the comma included in
>> its expansion, which - due to being unparenthesized - would otherwise
>> cause macro arguments in the "further replacement" step to be wrong.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>> ---
>> Of course a question is how many of these DMI table entries are in fact
>> no longer applicable (e.g. because of naming 32-bit-only systems).
>> Subsequently the table in dmi_scan.c itself may want cleaning up as
>> well, yet I guess the question of stale entries is even more relevant
>> there.
>>
>> An alternative to using the compound literal approach might be to go
>> along the lines of
>>
>> #define DMI_MATCH4(m1, m2, m3, m4) .matches = { [0] = m1, [1] = m2,
>> [2] = m3, [3] = m4 }
>>
>> I've chosen the other approach mainly because of being slightly shorter.
>>
>
> From a MISRA perspective this resolves all but one violation: the
> initialization of static array
>
> ns16550_com[2] = { { 0 } };
>
> in drivers/char/ns16550.c. This is a case where the explicit
> initializer looks unnecessary.
>


Yeah.  That should just be ={}; which ought to resolve the violation?

~Andrew


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:20:45 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:20:45 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644595.1005788 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8g1x-0000ub-5H; Thu, 30 Nov 2023 12:20:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644595.1005788; Thu, 30 Nov 2023 12:20: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 1r8g1x-0000uU-1n; Thu, 30 Nov 2023 12:20:33 +0000
Received: by outflank-mailman (input) for mailman id 644595;
 Thu, 30 Nov 2023 12:20: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=Iv7L=HL=suse.de=farosas@srs-se1.protection.inumbo.net>)
 id 1r8g1v-0000sm-8Y
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:20:31 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9eaaad7-8f7a-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 13:20:30 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 28EF621AE4;
 Thu, 30 Nov 2023 12:20:29 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 3772E1342E;
 Thu, 30 Nov 2023 12:20:28 +0000 (UTC)
Received: from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])
 by imap1.dmz-prg2.suse.org with ESMTPSA id fDWBDQx+aGUXLQAAD6G6ig
 (envelope-from <farosas@suse.de>); Thu, 30 Nov 2023 12:20: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: d9eaaad7-8f7a-11ee-98e4-6d05b1d4d9a1
From: Fabiano Rosas <farosas@suse.de>
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>, Hyman Huang
 <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>, David
 Woodhouse <dwmw2@infradead.org>, Andrey Smirnov
 <andrew.smirnov@gmail.com>, Peter Maydell <peter.maydell@linaro.org>,
 Kevin Wolf <kwolf@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>,
 Artyom Tarasenko <atar4qemu@gmail.com>, Mark Cave-Ayland
 <mark.cave-ayland@ilande.co.uk>, Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?utf-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>,
 qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>, Gerd Hoffmann
 <kraxel@redhat.com>, Hanna Reitz <hreitz@redhat.com>, =?utf-8?Q?Marc-Andr?=
 =?utf-8?Q?=C3=A9?= Lureau
 <marcandre.lureau@redhat.com>, BALATON Zoltan <balaton@eik.bme.hu>, Daniel
 Henrique Barboza <danielhb413@gmail.com>, Elena Ufimtseva
 <elena.ufimtseva@oracle.com>, Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>, Roman Bolshakov
 <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>, Fam Zheng
 <fam@euphon.net>, Eric Blake <eblake@redhat.com>, Jiri Slaby
 <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>, Liu Zhiwei
 <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>, Eric
 Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>, David
 Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org, Pavel
 Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org, Aleksandar
 Rikalo <aleksandar.rikalo@syrmia.com>, John Snow <jsnow@redhat.com>, Sunil
 Muthuswamy <sunilmut@microsoft.com>, Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>, "Michael S. Tsirkin"
 <mst@redhat.com>, Richard Henderson <richard.henderson@linaro.org>, Bin
 Meng <bin.meng@windriver.com>, Stefano Stabellini
 <sstabellini@kernel.org>, kvm@vger.kernel.org, Stefan Hajnoczi
 <stefanha@redhat.com>, qemu-block@nongnu.org, Halil Pasic
 <pasic@linux.ibm.com>, Peter Xu <peterx@redhat.com>, Anthony Perard
 <anthony.perard@citrix.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>,
 Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>, Eduardo Habkost
 <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>, Vladimir
 Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, =?utf-8?Q?C=C3=A9dric?= Le
 Goater
 <clg@kaod.org>, qemu-ppc@nongnu.org, Philippe =?utf-8?Q?Mathieu-Daud?=
 =?utf-8?Q?=C3=A9?=
 <philmd@linaro.org>, Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>, Jiaxun Yang
 <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to
 qemu_bql_lock()
In-Reply-To: <20231129212625.1051502-2-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-2-stefanha@redhat.com>
Date: Thu, 30 Nov 2023 09:20:25 -0300
Message-ID: <87sf4na0vq.fsf@suse.de>
MIME-Version: 1.0
Content-Type: text/plain
X-Spamd-Bar: ++++++++++
X-Spam-Score: 10.53
X-Rspamd-Server: rspamd1
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	spf=softfail (smtp-out1.suse.de: 2a07:de40:b281:104:10:150:64:97 is neither permitted nor denied by domain of farosas@suse.de) smtp.mailfrom=farosas@suse.de;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.de (policy=none)
X-Rspamd-Queue-Id: 28EF621AE4
X-Spam-Flag: NO
X-Spam-Level: **********
X-Spamd-Result: default: False [10.53 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 RCVD_IN_DNSWL_HI(-1.00)[2a07:de40:b281:104:10:150:64:97:from,2a07:de40:b281:106:10:150:64:167:received];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 TO_DN_SOME(0.00)[];
	 R_SPF_SOFTFAIL(4.60)[~all:c];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 NEURAL_HAM_SHORT(-0.20)[-1.000];
	 RCPT_COUNT_GT_50(0.00)[78];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+];
	 MID_RHS_MATCH_FROM(0.00)[];
	 BAYES_HAM(-0.06)[61.02%];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 FREEMAIL_ENVRCPT(0.00)[gmail.com];
	 TAGGED_RCPT(0.00)[];
	 MIME_GOOD(-0.10)[text/plain];
	 TO_MATCH_ENVRCPT_SOME(0.00)[];
	 NEURAL_SPAM_LONG(3.50)[0.999];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.de:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 FREEMAIL_CC(0.00)[tribudubois.net,nongnu.org,loongson.cn,gmail.com,redhat.com,smartx.com,infradead.org,linaro.org,linux.ibm.com,ilande.co.uk,wdc.com,xen.org,oracle.com,eik.bme.hu,aurel32.net,xfusion.com,ddn.com,kernel.org,euphon.net,suse.cz,csgraf.de,linux.alibaba.com,netbsd.org,dabbelt.com,apple.com,lists.xenproject.org,ispras.ru,syrmia.com,microsoft.com,amd.com,gibson.dropbear.id.au,windriver.com,vger.kernel.org,citrix.com,habkost.net,yandex-team.ru,kaod.org,daynix.com,flygoat.com];
	 RCVD_TLS_ALL(0.00)[];
	 SUSPICIOUS_RECIPS(1.50)[];
	 DMARC_POLICY_SOFTFAIL(0.10)[suse.de : No valid SPF, No valid DKIM,none]

Stefan Hajnoczi <stefanha@redhat.com> writes:

> The Big QEMU Lock (BQL) has many names and they are confusing. The
> actual QemuMutex variable is called qemu_global_mutex but it's commonly
> referred to as the BQL in discussions and some code comments. The
> locking APIs, however, are called qemu_mutex_lock_iothread() and
> qemu_mutex_unlock_iothread().
>
> The "iothread" name is historic and comes from when the main thread was
> split into into KVM vcpu threads and the "iothread" (now called the main
> loop thread). I have contributed to the confusion myself by introducing
> a separate --object iothread, a separate concept unrelated to the BQL.
>
> The "iothread" name is no longer appropriate for the BQL. Rename the
> locking APIs to:
> - void qemu_bql_lock(void)
> - void qemu_bql_unlock(void)
> - bool qemu_bql_locked(void)
>
> There are more APIs with "iothread" in their names. Subsequent patches
> will rename them. There are also comments and documentation that will be
> updated in later patches.
>
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

Acked-by: Fabiano Rosas <farosas@suse.de>


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:25:17 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:25:17 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644598.1005797 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8g6W-0002H0-ME; Thu, 30 Nov 2023 12:25:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644598.1005797; Thu, 30 Nov 2023 12: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 1r8g6W-0002Gt-Ji; Thu, 30 Nov 2023 12:25:16 +0000
Received: by outflank-mailman (input) for mailman id 644598;
 Thu, 30 Nov 2023 12:25: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=cc+B=HL=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1r8g6V-0002Gl-UI
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:25:16 +0000
Received: from sender4-of-o50.zoho.com (sender4-of-o50.zoho.com
 [136.143.188.50]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8219ab5b-8f7b-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 13:25:13 +0100 (CET)
Received: from [10.10.1.94] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1701347107310525.4389985845953;
 Thu, 30 Nov 2023 04:25:07 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8219ab5b-8f7b-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1701347108; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=kO2K1rIsIKwUXeaDQTnmz0CyXLeP7NS6+MUHGbKfmuS/O6erApdCbzAxylZhQfvooblxNttG+UyOJ8Um6M8cwJx0xaOQACRPIbM/7D1Wmsos4FYMUMdkdE66Kw63k18iHYXkw6XFDzbuLGHsqNRWnWqmIS/gae1MbhKt9hS3H3A=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1701347108; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=xOxn5xyE4S+AqJoqAyjd4VnJDGClj7lClMain6qvbOI=; 
	b=A2NZYY0NX8NfpHn10Y5ZrH0s9nms2Gpqyj9zcdiERPqD1xX9zC0oBmV/GIurNUioa+t9xbYcDaVeTurE963nHy3yzaJR9nRVkp28eIalw39csbOAXKkIRVt137QUmTNentNTiYz1n1Rlr9G83Wv4Gfvnl/n6U2k6xa2mh8h0x/0=
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=1701347108;
	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=xOxn5xyE4S+AqJoqAyjd4VnJDGClj7lClMain6qvbOI=;
	b=X4MUN5vryIMIWXQgYUeQkB8bZ8ZuHwF38mQAZmRXMBqEmwkeVd52lXx5GDhXJM14
	h00B++V7m/WVKIj3HXHNj/lZS7564urUxZ5oyn4WAV/wfGniUXDoJ0sR+PqX5Nxqx7J
	NPUikiEERtKrrCUxRbrujpxAfzZXOdnsrxlN6rfU=
Message-ID: <14d2dd16-be21-4e9a-97eb-bb477af49e73@apertussolutions.com>
Date: Thu, 30 Nov 2023 07:25:05 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Content-Language: en-US
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>, "Huang, Honglei1"
 <Honglei1.Huang@amd.com>, "Zhang, Julia" <Julia.Zhang@amd.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-2-Jiqian.Chen@amd.com> <ZWX0U1tYooY70UJo@macbook>
 <BL1PR12MB58493CC28A32E3C9B3A1767FE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
In-Reply-To: <BL1PR12MB58493CC28A32E3C9B3A1767FE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 11/30/23 01:22, Chen, Jiqian wrote:
> Hi Roger and Daniel P. Smith,
> 
> On 2023/11/28 22:08, Roger Pau Monné wrote:
>> On Fri, Nov 24, 2023 at 06:41:34PM +0800, Jiqian Chen wrote:
>>> When a device has been reset on dom0 side, the vpci on Xen
>>> side won't get notification, so the cached state in vpci is
>>> all out of date compare with the real device state.
>>> To solve that problem, this patch add new hypercall to clear
>>> all vpci device state. And when reset device happens on dom0
>>> side, dom0 can call this hypercall to notify vpci.
>>>
>>> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
>>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>>> ---
>>>   xen/arch/x86/hvm/hypercall.c  |  1 +
>>>   xen/drivers/passthrough/pci.c | 21 +++++++++++++++++++++
>>>   xen/drivers/pci/physdev.c     | 14 ++++++++++++++
>>>   xen/drivers/vpci/vpci.c       |  9 +++++++++
>>>   xen/include/public/physdev.h  |  2 ++
>>>   xen/include/xen/pci.h         |  1 +
>>>   xen/include/xen/vpci.h        |  6 ++++++
>>>   7 files changed, 54 insertions(+)
>>>
>>> diff --git a/xen/arch/x86/hvm/hypercall.c b/xen/arch/x86/hvm/hypercall.c
>>> index eeb73e1aa5..6ad5b4d5f1 100644
>>> --- a/xen/arch/x86/hvm/hypercall.c
>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>> @@ -84,6 +84,7 @@ long hvm_physdev_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>>>       case PHYSDEVOP_pci_mmcfg_reserved:
>>>       case PHYSDEVOP_pci_device_add:
>>>       case PHYSDEVOP_pci_device_remove:
>>> +    case PHYSDEVOP_pci_device_state_reset:
>>>       case PHYSDEVOP_dbgp_op:
>>>           if ( !is_hardware_domain(currd) )
>>>               return -ENOSYS;
>>> diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c
>>> index 04d00c7c37..f871715585 100644
>>> --- a/xen/drivers/passthrough/pci.c
>>> +++ b/xen/drivers/passthrough/pci.c
>>> @@ -824,6 +824,27 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
>>>       return ret;
>>>   }
>>>   
>>> +int pci_reset_device_state(u16 seg, u8 bus, u8 devfn)
>>
>> You could use pci_sbdf_t here instead of 3 parameters.
> Will change in next version, thank you.
> 
>>
>> I'm however unsure whether we really need this helper just to fetch
>> the pdev and call vpci_reset_device_state(), I think you could place
>> this logic directly in pci_physdev_op().  Unless there are plans to
>> use such logic outside of pci_physdev_op().
> If I place the logic of pci_reset_device_state directly in pci_physdev_op. I think I need to declare vpci_reset_device_state in pci.h? If it is suitable, I will change in next version.
> 
>>
>>> +{
>>> +    struct pci_dev *pdev;
>>> +    int ret = -ENODEV;
>>
>> Some XSM check should be introduced fro this operation, as none of the
>> existing ones is suitable.  See xsm_resource_unplug_pci() for example.
>>
>> xsm_resource_reset_state_pci() or some such I would assume.
> I don't know what I should do in XSM function(assume it is xsm_resource_reset_state_pci).
> Hi Daniel P. Smith, could you please give me some suggestions?
> Just to check the XSM_PRIV action?
> 

Roger, thank you for seeing this and adding me in!

Jiqian, I just wanted to let you know I have seen your post but I have 
been a little tied up this week. Just with the cursory look, I think 
Roger is suggesting a new XSM check/hook is warranted.

If you would like to attempt at writing the dummy policy side, mimic 
xsm_resource_plug_pci in xen/include/xsm/dummy.h and 
xen/include/xsm/xsm.h, then I can look at handling the FLASK portion 
next week and provide it to you for inclusion into the series. If you 
are not comfortable with it, I can look at the whole thing next week. 
Just let me know what you would be comfortable with.

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:26:54 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:26:54 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644600.1005807 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8g82-0003WW-0e; Thu, 30 Nov 2023 12:26:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644600.1005807; Thu, 30 Nov 2023 12: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 1r8g81-0003WP-UL; Thu, 30 Nov 2023 12:26:49 +0000
Received: by outflank-mailman (input) for mailman id 644600;
 Thu, 30 Nov 2023 12:26: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=o0ps=HL=casper.srs.infradead.org=BATV+bcb5a996c0d123d1f7ff+7403+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r8g80-0003WJ-IA
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:26:48 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id b7fa9cfb-8f7b-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 13:26:45 +0100 (CET)
Received: from [2001:8b0:10b:5:743c:af97:a7e4:d38e]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r8g6u-00EQu0-JO; Thu, 30 Nov 2023 12: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: b7fa9cfb-8f7b-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=KYs+w9tX5xQvYgwt77gAisciicGwhphGbHCAn2v/kV4=; b=ngZpcOH3dJpNLUOSKBwf1E2n+G
	8QT3esymnfG8dUxodXc5C3c4YTVwZzZMlgZkhJ74gyplw+tNd0xiD0CjPUhovdcNWPjRKOelRjZ91
	D99Hb2Iqlj6w/PHXzdUQ9JV3sPdpceIXzN9VQxczSF5Hvtq1jKnqRFMhO0hBViduj+EllH/NssRsS
	m9/5V6Wjl5VnqKyMxv/2GnU84wGU1K9D3y7RN6afL5iqLyLIv7v2kw02NoqByan5e1rPcveR+5Zv+
	Y4JBehm66YoUXqZSHyllcNdBLYp+ztqcGsBaepLwOrOL39VzN9yHAB20GDI0XZw7WmUcYTUsQJtUw
	XeyZyyvQ==;
Message-ID: <84cf6f6cfa498491eb37599f1f992aefafaa46d1.camel@infradead.org>
Subject: Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to
 qemu_bql_lock()
From: David Woodhouse <dwmw2@infradead.org>
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>, Fabiano Rosas
 <farosas@suse.de>, qemu-s390x@nongnu.org, Song Gao <gaosong@loongson.cn>, 
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Thomas Huth
 <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,  Marcelo Tosatti
 <mtosatti@redhat.com>, Andrey Smirnov <andrew.smirnov@gmail.com>, Peter
 Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>, Ilya
 Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko <atar4qemu@gmail.com>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Max Filippov
 <jcmvbkbc@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, Paul
 Durrant <paul@xen.org>, Jagannathan Raman <jag.raman@oracle.com>, Juan
 Quintela <quintela@redhat.com>, "Daniel P." =?ISO-8859-1?Q?Berrang=E9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>,  Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz
 <hreitz@redhat.com>, =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau
 <marcandre.lureau@redhat.com>, BALATON Zoltan <balaton@eik.bme.hu>, Daniel
 Henrique Barboza <danielhb413@gmail.com>, Elena Ufimtseva
 <elena.ufimtseva@oracle.com>, Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>, Roman Bolshakov
 <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>, Fam Zheng
 <fam@euphon.net>,  Eric Blake <eblake@redhat.com>, Jiri Slaby
 <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>, Liu Zhiwei
 <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>, Eric
 Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>, David
 Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org, Pavel
 Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org, Aleksandar
 Rikalo <aleksandar.rikalo@syrmia.com>, John Snow <jsnow@redhat.com>, Sunil
 Muthuswamy <sunilmut@microsoft.com>, Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>, "Michael S. Tsirkin"
 <mst@redhat.com>,  Richard Henderson <richard.henderson@linaro.org>, Bin
 Meng <bin.meng@windriver.com>, Stefano Stabellini <sstabellini@kernel.org>,
 kvm@vger.kernel.org, qemu-block@nongnu.org, Halil Pasic
 <pasic@linux.ibm.com>, Peter Xu <peterx@redhat.com>, Anthony Perard
 <anthony.perard@citrix.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, 
 Alex =?ISO-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, Eduardo Habkost
 <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>, Vladimir
 Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,  =?ISO-8859-1?Q?C=E9dric?=
 Le Goater <clg@kaod.org>, qemu-ppc@nongnu.org, Philippe
 =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, Christian Borntraeger
 <borntraeger@linux.ibm.com>,  Akihiko Odaki <akihiko.odaki@daynix.com>,
 Leonardo Bras <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
Date: Thu, 30 Nov 2023 12:25:38 +0000
In-Reply-To: <20231129212625.1051502-2-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
	 <20231129212625.1051502-2-stefanha@redhat.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-eME1UhoVVowc+xoRrBDG"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Wed, 2023-11-29 at 16:26 -0500, Stefan Hajnoczi wrote:
> The Big QEMU Lock (BQL) has many names and they are confusing. The
> actual QemuMutex variable is called qemu_global_mutex but it's commonly
> referred to as the BQL in discussions and some code comments. The
> locking APIs, however, are called qemu_mutex_lock_iothread() and
> qemu_mutex_unlock_iothread().
>=20
> The "iothread" name is historic and comes from when the main thread was
> split into into KVM vcpu threads and the "iothread" (now called the main
> loop thread). I have contributed to the confusion myself by introducing
> a separate --object iothread, a separate concept unrelated to the BQL.
>=20
> The "iothread" name is no longer appropriate for the BQL. Rename the
> locking APIs to:
> - void qemu_bql_lock(void)
> - void qemu_bql_unlock(void)
> - bool qemu_bql_locked(void)
>=20
> There are more APIs with "iothread" in their names. Subsequent patches
> will rename them. There are also comments and documentation that will be
> updated in later patches.
>=20
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

Acked-by: David Woodhouse <dwmw@amazon.co.uk>

--=-eME1UhoVVowc+xoRrBDG
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTMwMTIyNTM4WjAvBgkqhkiG9w0BCQQxIgQgtzrvguLa
kRL7lR/xcpvxo6y89HLUGNUdvRMSvQChYEIwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgBz4YWm6l8v3l/jd7rf2QVbitkvjxYlUmOk
Bv7BgJcXvVjueDWAUUs1b6WfoC4+7WMsGb2HAb3nKvbfbyso+S0tYr76NI+DcU7TMSc8Nx22FNH5
59Vb1QAuFSZ1FRNE7mve+Y6NZUwk6rNenJ4IHJIGtXqfZXUKsG4Cd4Ni1lMOfZ03UXVCl2RDJofO
Oi2YoBLEWFsWBdPVVz2d7899AosPuR2Fcjt1UrpZ4+d41fuTKulLw3xDfysSmuxnsoQ/vSEOIfPF
E03OdHAZqz7o5z4hJIRv513F901TM+UTTfHLzmTT9leHI2CVe9I42LEDz8rDVEKFTCjag3TgXXAU
r7Ydqc9IqvkvCO4sac+4zQNyg2T32P1MIfHqOJZLUN8321CliP+CTNnHaxbwlMegIt5BlboTHIMo
vkefpXjE7bkoq7haZwkrbZWqtDjC2xNln7gHiyhjoOwDTWkTOq4Z5A5ZE9Cymo6kLn5TQ7zaVQuH
9uMzaiU4sw96KnZ1KhC62NNHthuvpBHWRcWdExzu/8NDJK1X57+OzTgEyM8c1KxN19FB8I4y7C3t
Biz3e2Z5Xo2/2u8YjcX9xT/jZ7ZXm9E7vgtqC6hfXGK7pJkojSVzUi05upkc+4WgL8AXF3sS9rOE
EgZnIM7VF/Bw2/Nr20CFQA+om655lBlvsrlwt1qWgQAAAAAAAA==


--=-eME1UhoVVowc+xoRrBDG--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:26:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:26:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644601.1005818 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8g88-0003ne-CQ; Thu, 30 Nov 2023 12:26:56 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644601.1005818; Thu, 30 Nov 2023 12:26: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 1r8g88-0003nX-9e; Thu, 30 Nov 2023 12:26:56 +0000
Received: by outflank-mailman (input) for mailman id 644601;
 Thu, 30 Nov 2023 12:26: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=o0ps=HL=casper.srs.infradead.org=BATV+bcb5a996c0d123d1f7ff+7403+infradead.org+dwmw2@srs-se1.protection.inumbo.net>)
 id 1r8g86-0003WJ-Qk
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:26:54 +0000
Received: from casper.infradead.org (casper.infradead.org
 [2001:8b0:10b:1236::1])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bda36b9d-8f7b-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 13:26:52 +0100 (CET)
Received: from [2001:8b0:10b:5:743c:af97:a7e4:d38e]
 (helo=u3832b3a9db3152.ant.amazon.com)
 by casper.infradead.org with esmtpsa (Exim 4.94.2 #2 (Red Hat Linux))
 id 1r8g7W-00EQw5-Sm; Thu, 30 Nov 2023 12: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>
X-Inumbo-ID: bda36b9d-8f7b-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
	d=infradead.org; s=casper.20170209; h=MIME-Version:Content-Type:References:
	In-Reply-To:Date:Cc:To:From:Subject:Message-ID:Sender:Reply-To:
	Content-Transfer-Encoding:Content-ID:Content-Description;
	bh=FBDxkNw6Ln+R3ihPw6WrfsB10vPfKpisd0f6KWHydVo=; b=GKIKInfqE5y+INkZFrdVqJKh0U
	iiiyAhC/Aw31u14bO05XgO9VybheZyH4Pyc4f4IXntoIIZZAi3xLF4Imj+tNJ1Pi8O4frxnRqpYz6
	fgrzIr/j2cpNBXA6NJ2wrmevLq9u6jqbpgQCBrh2O3r2PU+pZGzQaPwbo423Wpg6xZI5dtCTVZeZr
	9aigcneTGlBu4K0JD5tR3/Svli+MZVE4EuShe0EuLCQGoV6cF/Vz+NMn2vR7zE2pfgtd/Jey8cDdo
	WMD3NaRP4sG2r6/L2li1qivb1MLpuVXZRaRJgcGGwf6/aasTNC0DsuEeKAAko5BqTTtBwRJHwTjfV
	NqAb4IPQ==;
Message-ID: <0e9f2e68a8ffec356183d574132e96726878eff3.camel@infradead.org>
Subject: Re: [PATCH 2/6] qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to
 QEMU_BQL_LOCK_GUARD
From: David Woodhouse <dwmw2@infradead.org>
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>, Fabiano Rosas
 <farosas@suse.de>, qemu-s390x@nongnu.org, Song Gao <gaosong@loongson.cn>, 
 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Thomas Huth
 <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,  Marcelo Tosatti
 <mtosatti@redhat.com>, Andrey Smirnov <andrew.smirnov@gmail.com>, Peter
 Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>, Ilya
 Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko <atar4qemu@gmail.com>,
 Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Max Filippov
 <jcmvbkbc@gmail.com>, Alistair Francis <alistair.francis@wdc.com>, Paul
 Durrant <paul@xen.org>, Jagannathan Raman <jag.raman@oracle.com>, Juan
 Quintela <quintela@redhat.com>, "Daniel P." =?ISO-8859-1?Q?Berrang=E9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>,  Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz
 <hreitz@redhat.com>, =?ISO-8859-1?Q?Marc-Andr=E9?= Lureau
 <marcandre.lureau@redhat.com>, BALATON Zoltan <balaton@eik.bme.hu>, Daniel
 Henrique Barboza <danielhb413@gmail.com>, Elena Ufimtseva
 <elena.ufimtseva@oracle.com>, Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>, Roman Bolshakov
 <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>, Fam Zheng
 <fam@euphon.net>,  Eric Blake <eblake@redhat.com>, Jiri Slaby
 <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>, Liu Zhiwei
 <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>, Eric
 Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>, David
 Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org, Pavel
 Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org, Aleksandar
 Rikalo <aleksandar.rikalo@syrmia.com>, John Snow <jsnow@redhat.com>, Sunil
 Muthuswamy <sunilmut@microsoft.com>, Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>, "Michael S. Tsirkin"
 <mst@redhat.com>,  Richard Henderson <richard.henderson@linaro.org>, Bin
 Meng <bin.meng@windriver.com>, Stefano Stabellini <sstabellini@kernel.org>,
 kvm@vger.kernel.org, qemu-block@nongnu.org, Halil Pasic
 <pasic@linux.ibm.com>, Peter Xu <peterx@redhat.com>, Anthony Perard
 <anthony.perard@citrix.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, 
 Alex =?ISO-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>, Eduardo Habkost
 <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>, Vladimir
 Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,  =?ISO-8859-1?Q?C=E9dric?=
 Le Goater <clg@kaod.org>, qemu-ppc@nongnu.org, Philippe
 =?ISO-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>, Christian Borntraeger
 <borntraeger@linux.ibm.com>,  Akihiko Odaki <akihiko.odaki@daynix.com>,
 Leonardo Bras <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
Date: Thu, 30 Nov 2023 12:26:17 +0000
In-Reply-To: <20231129212625.1051502-3-stefanha@redhat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
	 <20231129212625.1051502-3-stefanha@redhat.com>
Content-Type: multipart/signed; micalg="sha-256"; protocol="application/pkcs7-signature";
	boundary="=-kNE0zp3pKgLeGAn1Bayc"
User-Agent: Evolution 3.44.4-0ubuntu2 
MIME-Version: 1.0
X-SRS-Rewrite: SMTP reverse-path rewritten from <dwmw2@infradead.org> by casper.infradead.org. See http://www.infradead.org/rpr.html


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

On Wed, 2023-11-29 at 16:26 -0500, Stefan Hajnoczi wrote:
> The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
> instead, it is already widely used and unambiguous.
>=20
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

Acked-by: David Woodhouse <dwmw@amazon.co.uk>

--=-kNE0zp3pKgLeGAn1Bayc
Content-Type: application/pkcs7-signature; name="smime.p7s"
Content-Disposition: attachment; filename="smime.p7s"
Content-Transfer-Encoding: base64

MIAGCSqGSIb3DQEHAqCAMIACAQExDzANBglghkgBZQMEAgEFADCABgkqhkiG9w0BBwEAAKCCEkQw
ggYQMIID+KADAgECAhBNlCwQ1DvglAnFgS06KwZPMA0GCSqGSIb3DQEBDAUAMIGIMQswCQYDVQQG
EwJVUzETMBEGA1UECBMKTmV3IEplcnNleTEUMBIGA1UEBxMLSmVyc2V5IENpdHkxHjAcBgNVBAoT
FVRoZSBVU0VSVFJVU1QgTmV0d29yazEuMCwGA1UEAxMlVVNFUlRydXN0IFJTQSBDZXJ0aWZpY2F0
aW9uIEF1dGhvcml0eTAeFw0xODExMDIwMDAwMDBaFw0zMDEyMzEyMzU5NTlaMIGWMQswCQYDVQQG
EwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYD
VQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50
aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC
AQEAyjztlApB/975Rrno1jvm2pK/KxBOqhq8gr2+JhwpKirSzZxQgT9tlC7zl6hn1fXjSo5MqXUf
ItMltrMaXqcESJuK8dtK56NCSrq4iDKaKq9NxOXFmqXX2zN8HHGjQ2b2Xv0v1L5Nk1MQPKA19xeW
QcpGEGFUUd0kN+oHox+L9aV1rjfNiCj3bJk6kJaOPabPi2503nn/ITX5e8WfPnGw4VuZ79Khj1YB
rf24k5Ee1sLTHsLtpiK9OjG4iQRBdq6Z/TlVx/hGAez5h36bBJMxqdHLpdwIUkTqT8se3ed0PewD
ch/8kHPo5fZl5u1B0ecpq/sDN/5sCG52Ds+QU5O5EwIDAQABo4IBZDCCAWAwHwYDVR0jBBgwFoAU
U3m/WqorSs9UgOHYm8Cd8rIDZsswHQYDVR0OBBYEFAnA8vwL2pTbX/4r36iZQs/J4K0AMA4GA1Ud
DwEB/wQEAwIBhjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
BQcDBDARBgNVHSAECjAIMAYGBFUdIAAwUAYDVR0fBEkwRzBFoEOgQYY/aHR0cDovL2NybC51c2Vy
dHJ1c3QuY29tL1VTRVJUcnVzdFJTQUNlcnRpZmljYXRpb25BdXRob3JpdHkuY3JsMHYGCCsGAQUF
BwEBBGowaDA/BggrBgEFBQcwAoYzaHR0cDovL2NydC51c2VydHJ1c3QuY29tL1VTRVJUcnVzdFJT
QUFkZFRydXN0Q0EuY3J0MCUGCCsGAQUFBzABhhlodHRwOi8vb2NzcC51c2VydHJ1c3QuY29tMA0G
CSqGSIb3DQEBDAUAA4ICAQBBRHUAqznCFfXejpVtMnFojADdF9d6HBA4kMjjsb0XMZHztuOCtKF+
xswhh2GqkW5JQrM8zVlU+A2VP72Ky2nlRA1GwmIPgou74TZ/XTarHG8zdMSgaDrkVYzz1g3nIVO9
IHk96VwsacIvBF8JfqIs+8aWH2PfSUrNxP6Ys7U0sZYx4rXD6+cqFq/ZW5BUfClN/rhk2ddQXyn7
kkmka2RQb9d90nmNHdgKrwfQ49mQ2hWQNDkJJIXwKjYA6VUR/fZUFeCUisdDe/0ABLTI+jheXUV1
eoYV7lNwNBKpeHdNuO6Aacb533JlfeUHxvBz9OfYWUiXu09sMAviM11Q0DuMZ5760CdO2VnpsXP4
KxaYIhvqPqUMWqRdWyn7crItNkZeroXaecG03i3mM7dkiPaCkgocBg0EBYsbZDZ8bsG3a08LwEsL
1Ygz3SBsyECa0waq4hOf/Z85F2w2ZpXfP+w8q4ifwO90SGZZV+HR/Jh6rEaVPDRF/CEGVqR1hiuQ
OZ1YL5ezMTX0ZSLwrymUE0pwi/KDaiYB15uswgeIAcA6JzPFf9pLkAFFWs1QNyN++niFhsM47qod
x/PL+5jR87myx5uYdBEQkkDc+lKB1Wct6ucXqm2EmsaQ0M95QjTmy+rDWjkDYdw3Ms6mSWE3Bn7i
5ZgtwCLXgAIe5W8mybM2JzCCBhQwggT8oAMCAQICEQDGvhmWZ0DEAx0oURL6O6l+MA0GCSqGSIb3
DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVyMRAwDgYD
VQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNlY3RpZ28g
UlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBMB4XDTIyMDEwNzAw
MDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJARYTZHdtdzJAaW5mcmFkZWFkLm9y
ZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3GpC2bomUqk+91wLYBzDMcCj5C9m6
oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZHh7htyAkWYVoFsFPrwHounto8xTsy
SSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT9YgcBqKCo65pTFmOnR/VVbjJk4K2
xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNjP+qDrh0db7PAjO1D4d5ftfrsf+kd
RR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy2U+eITZ5LLE5s45mX2oPFknWqxBo
bQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3BgBEmfsYWlBXO8rVXfvPgLs32VdV
NZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/7auNVRmPB3v5SWEsH8xi4Bez2V9U
KxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmdlFYhAflWKQ03Ufiu8t3iBE3VJbc2
5oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9aelIl6vtbhMA+l0nfrsORMa4kobqQ5
C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMBAAGjggHMMIIByDAfBgNVHSMEGDAW
gBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeDMcimo0oz8o1R1Nver3ZVpSkwDgYD
VR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYwFAYIKwYBBQUHAwQGCCsGAQUFBwMC
MEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYBBQUHAgEWF2h0dHBzOi8vc2VjdGln
by5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9jcmwuc2VjdGlnby5jb20vU2VjdGln
b1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1haWxDQS5jcmwwgYoGCCsGAQUFBwEB
BH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBQ2xpZW50
QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5mcmFkZWFkLm9yZzANBgkqhkiG9w0B
AQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQvQ/fzPXmtR9t54rpmI2TfyvcKgOXp
qa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvIlSPrzIB4Z2wyIGQpaPLlYflrrVFK
v9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9ChWFfgSXvrWDZspnU3Gjw/rMHrGnql
Htlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0whpBtXdyDjzBtQTaZJ7zTT/vlehc/
tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9IzCCBhQwggT8oAMCAQICEQDGvhmW
Z0DEAx0oURL6O6l+MA0GCSqGSIb3DQEBCwUAMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3Jl
YXRlciBNYW5jaGVzdGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0
ZWQxPjA8BgNVBAMTNVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJl
IEVtYWlsIENBMB4XDTIyMDEwNzAwMDAwMFoXDTI1MDEwNjIzNTk1OVowJDEiMCAGCSqGSIb3DQEJ
ARYTZHdtdzJAaW5mcmFkZWFkLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALQ3
GpC2bomUqk+91wLYBzDMcCj5C9m6oZaHwvmIdXftOgTbCJXADo6G9T7BBAebw2JV38EINgKpy/ZH
h7htyAkWYVoFsFPrwHounto8xTsySSePMiPlmIdQ10BcVSXMUJ3Juu16GlWOnAMJY2oYfEzmE7uT
9YgcBqKCo65pTFmOnR/VVbjJk4K2xE34GC2nAdUQkPFuyaFisicc6HRMOYXPuF0DuwITEKnjxgNj
P+qDrh0db7PAjO1D4d5ftfrsf+kdRR4gKVGSk8Tz2WwvtLAroJM4nXjNPIBJNT4w/FWWc/5qPHJy
2U+eITZ5LLE5s45mX2oPFknWqxBobQZ8a9dsZ3dSPZBvE9ZrmtFLrVrN4eo1jsXgAp1+p7bkfqd3
BgBEmfsYWlBXO8rVXfvPgLs32VdVNZxb/CDWPqBsiYv0Hv3HPsz07j5b+/cVoWqyHDKzkaVbxfq/
7auNVRmPB3v5SWEsH8xi4Bez2V9UKxfYCnqsjp8RaC2/khxKt0A552Eaxnz/4ly/2C7wkwTQnBmd
lFYhAflWKQ03Ufiu8t3iBE3VJbc25oMrglj7TRZrmKq3CkbFnX0fyulB+kHimrt6PIWn7kgyl9ae
lIl6vtbhMA+l0nfrsORMa4kobqQ5C5rveVgmcIad67EDa+UqEKy/GltUwlSh6xy+TrK1tzDvAgMB
AAGjggHMMIIByDAfBgNVHSMEGDAWgBQJwPL8C9qU21/+K9+omULPyeCtADAdBgNVHQ4EFgQUzMeD
Mcimo0oz8o1R1Nver3ZVpSkwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw
FAYIKwYBBQUHAwQGCCsGAQUFBwMCMEAGA1UdIAQ5MDcwNQYMKwYBBAGyMQECAQEBMCUwIwYIKwYB
BQUHAgEWF2h0dHBzOi8vc2VjdGlnby5jb20vQ1BTMFoGA1UdHwRTMFEwT6BNoEuGSWh0dHA6Ly9j
cmwuc2VjdGlnby5jb20vU2VjdGlnb1JTQUNsaWVudEF1dGhlbnRpY2F0aW9uYW5kU2VjdXJlRW1h
aWxDQS5jcmwwgYoGCCsGAQUFBwEBBH4wfDBVBggrBgEFBQcwAoZJaHR0cDovL2NydC5zZWN0aWdv
LmNvbS9TZWN0aWdvUlNBQ2xpZW50QXV0aGVudGljYXRpb25hbmRTZWN1cmVFbWFpbENBLmNydDAj
BggrBgEFBQcwAYYXaHR0cDovL29jc3Auc2VjdGlnby5jb20wHgYDVR0RBBcwFYETZHdtdzJAaW5m
cmFkZWFkLm9yZzANBgkqhkiG9w0BAQsFAAOCAQEAyW6MUir5dm495teKqAQjDJwuFCi35h4xgnQv
Q/fzPXmtR9t54rpmI2TfyvcKgOXpqa7BGXNFfh1JsqexVkIqZP9uWB2J+uVMD+XZEs/KYNNX2PvI
lSPrzIB4Z2wyIGQpaPLlYflrrVFKv9CjT2zdqvy2maK7HKOQRt3BiJbVG5lRiwbbygldcALEV9Ch
WFfgSXvrWDZspnU3Gjw/rMHrGnqlHtlyebp3pf3fSS9kzQ1FVtVIDrL6eqhTwJxe+pXSMMqFiN0w
hpBtXdyDjzBtQTaZJ7zTT/vlehc/tDuqZwGHm/YJy883Ll+GP3NvOkgaRGWEuYWJJ6hFCkXYjyR9
IzGCBMcwggTDAgEBMIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVz
dGVyMRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMT
NVNlY3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEA
xr4ZlmdAxAMdKFES+jupfjANBglghkgBZQMEAgEFAKCCAeswGAYJKoZIhvcNAQkDMQsGCSqGSIb3
DQEHATAcBgkqhkiG9w0BCQUxDxcNMjMxMTMwMTIyNjE3WjAvBgkqhkiG9w0BCQQxIgQgwOS7ZfbP
pcahGESlSsrnLXOQh3E3FjXQ3TUj6LqBFOEwgb0GCSsGAQQBgjcQBDGBrzCBrDCBljELMAkGA1UE
BhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEYMBYG
A1UEChMPU2VjdGlnbyBMaW1pdGVkMT4wPAYDVQQDEzVTZWN0aWdvIFJTQSBDbGllbnQgQXV0aGVu
dGljYXRpb24gYW5kIFNlY3VyZSBFbWFpbCBDQQIRAMa+GZZnQMQDHShREvo7qX4wgb8GCyqGSIb3
DQEJEAILMYGvoIGsMIGWMQswCQYDVQQGEwJHQjEbMBkGA1UECBMSR3JlYXRlciBNYW5jaGVzdGVy
MRAwDgYDVQQHEwdTYWxmb3JkMRgwFgYDVQQKEw9TZWN0aWdvIExpbWl0ZWQxPjA8BgNVBAMTNVNl
Y3RpZ28gUlNBIENsaWVudCBBdXRoZW50aWNhdGlvbiBhbmQgU2VjdXJlIEVtYWlsIENBAhEAxr4Z
lmdAxAMdKFES+jupfjANBgkqhkiG9w0BAQEFAASCAgCyS5mZ/f10CzR4ca1vgv1Z0GyUt84C2XUF
VBWslHgL92N/XbiXaVlmfe1674kxjxvve2RnQFCR2bWxf9ALXRDKhbzPYCYK5tJQox+oE+hc9+Ba
NU7MhuOLprObRia6wjDZYSxnL5G8bdrpBjuauGTRvn6UBl5DgIbcg1c4I+zn2UGpnA+nJHiEF1UK
s8BTSlD/m4joVQa/buGIcC1EWUGy+w/SNkW0q7tvw6RpoCwoiTc/tbvxvxzXRDwKas72rNm/bI7x
FG3mVf4N3D0KbB45wGiaTkgKcY+yQq8EuBS+jkGJUWiOFccSyLgk66IUkyoC5vaP23+claAoARCa
Cg+5GIzUewmgLr5ppBSAFTwLgrVuDBS5pD22j8fifmINmncrpiNYM87v5+chFxTzEzfJVevFJ73x
L7yD1uN5D+6gbdesYnKD3ewXinQ2nAU7jJSVWpDvXXw3xwi3/buBa25s3Pn5L2sWbrmJxYX5jel+
tQHOkeYcNnfnV46u0ZnYK/mq1mmX6BSrVRA8Hf9sI+OHO9b/UunpCiLRiu/zaRktZbNC8sVswrGl
NSp92Aso92yuBModab3x+5ykn2N4o1J4WwSBfqV9l1kxmgarhEN9Gi8XlbFbErTmTNNd1yCoweKF
IGtOxZt2h7imUfiNlHT0R1fcjzyGfGH3FHc2oiUhxQAAAAAAAA==


--=-kNE0zp3pKgLeGAn1Bayc--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:36:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:36:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644629.1005900 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gGp-00088W-5R; Thu, 30 Nov 2023 12:35:55 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644629.1005900; Thu, 30 Nov 2023 12:35: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 1r8gGp-00088F-0p; Thu, 30 Nov 2023 12:35:55 +0000
Received: by outflank-mailman (input) for mailman id 644629;
 Thu, 30 Nov 2023 12: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 1r8gGn-00087l-SX; Thu, 30 Nov 2023 12: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 1r8gGn-0005TA-Q8; Thu, 30 Nov 2023 12: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 1r8gGn-0002HX-A8; Thu, 30 Nov 2023 12:35:53 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8gGn-0006Wj-9i; Thu, 30 Nov 2023 12:35: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=CIpwSzinhE9t53RZ5+Q4lKDjZW44XpwFeQlXMWTnp+A=; b=6dNGcII1aT6w/8DTIthgcjRiyM
	kfm2Iuoi5PIedUe7mjgwZKErVS+ipdc+20s5JjLOekZag3djsNckvsgorwOeRAX7eTxFFWquu4I6t
	csw+LD0Kn7vdze3gTxNrjR6R1S8cOND0mwf0WJ6Po6otuFQAg+483O4WKtYIusPgvQeU=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183938-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [xen-unstable test] 183938: tolerable FAIL - PUSHED
X-Osstest-Failures:
    xen-unstable:test-amd64-i386-qemut-rhel6hvm-intel:guest-start/redhat.repeat:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:debian-fixup:fail:heisenbug
    xen-unstable:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemut-win7-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-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemut-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-raw:saverestore-support-check: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-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-qemuu-nested-amd:debian-hvm-install/l1/l2:fail:nonblocking
    xen-unstable:test-amd64-i386-xl-qemuu-ws16-amd64:guest-stop:fail:nonblocking
    xen-unstable:test-amd64-amd64-xl-qemuu-win7-amd64:windows-install: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-amd64-i386-xl-pvshim:guest-start:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-xsm: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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit1: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-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-xsm:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-xsm:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-arm64-arm64-xl-credit2: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-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-credit1:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit1:saverestore-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    xen-unstable:test-amd64-i386-libvirt-raw: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-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-libvirt-raw:migrate-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-credit2:migrate-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-xl-credit2:saverestore-support-check:fail:nonblocking
    xen-unstable:test-armhf-armhf-libvirt-qcow2: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
X-Osstest-Versions-This:
    xen=902377b690f42ddf44ae91c4b0751d597f1cd694
X-Osstest-Versions-That:
    xen=80c153c48b255bae61948827241c26671207cf4e
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Nov 2023 12:35:53 +0000

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

Failures :-/ but no regressions.

Tests which are failing intermittently (not blocking):
 test-amd64-i386-qemut-rhel6hvm-intel 14 guest-start/redhat.repeat fail pass in 183950-retest
 test-armhf-armhf-libvirt     13 debian-fixup        fail pass in 183950-retest

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt 16 saverestore-support-check fail in 183950 like 183922
 test-armhf-armhf-libvirt    15 migrate-support-check fail in 183950 never pass
 test-amd64-amd64-xl-qemut-win7-amd64 19 guest-stop            fail like 183922
 test-amd64-i386-xl-qemuu-win7-amd64 19 guest-stop             fail like 183922
 test-amd64-amd64-xl-qemuu-ws16-amd64 19 guest-stop            fail like 183922
 test-amd64-i386-xl-qemut-ws16-amd64 19 guest-stop             fail like 183922
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check    fail  like 183922
 test-amd64-i386-xl-qemut-win7-amd64 19 guest-stop             fail like 183922
 test-amd64-amd64-xl-qemut-ws16-amd64 19 guest-stop            fail like 183922
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183922
 test-amd64-amd64-qemuu-nested-amd 20 debian-hvm-install/l1/l2 fail like 183922
 test-amd64-i386-xl-qemuu-ws16-amd64 19 guest-stop             fail like 183922
 test-amd64-amd64-xl-qemuu-win7-amd64 12 windows-install       fail like 183922
 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-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-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          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-xsm      15 migrate-support-check        fail   never pass
 test-arm64-arm64-xl-xsm      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-multivcpu 15 migrate-support-check        fail  never pass
 test-armhf-armhf-xl-multivcpu 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-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          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
 test-amd64-amd64-libvirt     15 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-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-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-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:
 xen                  902377b690f42ddf44ae91c4b0751d597f1cd694
baseline version:
 xen                  80c153c48b255bae61948827241c26671207cf4e

Last test of basis   183922  2023-11-29 01:52:19 Z    1 days
Testing same since   183938  2023-11-29 16:37:13 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Alejandro Vallejo <alejandro.vallejo@cloud.com>
  Andrew Cooper <andrew.cooper3@citrix.com>
  Federico Serafini <federico.serafini@bugseng.com>
  Frediano Ziglio <frediano.ziglio@cloud.com>
  Jan Beulich <jbeulich@suse.com>
  Julien Grall <jgrall@amazon.com>
  Luca Fancellu <luca.fancellu@arm.com>
  Maria Celeste Cesario  <maria.celeste.cesario@bugseng.com>
  Maria Celeste Cesario <maria.celeste.cesario@bugseng.com>
  Michal Orzel <michal.orzel@amd.com>
  Nicola Vetrini <nicola.vetrini@bugseng.com>
  Oleksii Kurochko <oleksii.kurochko@gmail.com>
  Roger Pau Monne <roger.pau@citrix.com>
  Roger Pau Monné <roger.pau@citrix.com>
  Shawn Anastasio <sanastasio@raptorengineering.com>
  Simone Ballarin  <simone.ballarin@bugseng.com>
  Simone Ballarin <simone.ballarin@bugseng.com>
  Stefano Stabellini <sstabellini@kernel.org>
  Tamas K Lengyel <tamas@tklengyel.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-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-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                         fail    
 test-amd64-i386-qemuu-rhel6hvm-intel                         pass    
 test-amd64-amd64-dom0pvh-xl-intel                            pass    
 test-amd64-amd64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     fail    
 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-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


Pushing revision :

To xenbits.xen.org:/home/xen/git/xen.git
   80c153c48b..902377b690  902377b690f42ddf44ae91c4b0751d597f1cd694 -> master


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:39:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:39:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644650.1005970 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gKb-0002I9-DT; Thu, 30 Nov 2023 12:39:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644650.1005970; Thu, 30 Nov 2023 12:39: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 1r8gKb-0002I2-Am; Thu, 30 Nov 2023 12:39:49 +0000
Received: by outflank-mailman (input) for mailman id 644650;
 Thu, 30 Nov 2023 12:39: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=cc+B=HL=apertussolutions.com=dpsmith@srs-se1.protection.inumbo.net>)
 id 1r8gKa-0002Hw-LV
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:39:48 +0000
Received: from sender4-of-o56.zoho.com (sender4-of-o56.zoho.com
 [136.143.188.56]) by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8a65f91a-8f7d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 13:39:46 +0100 (CET)
Received: from [10.10.1.94] (static-72-81-132-2.bltmmd.fios.verizon.net
 [72.81.132.2]) by mx.zohomail.com
 with SMTPS id 1701347979529876.7134858052555;
 Thu, 30 Nov 2023 04:39:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8a65f91a-8f7d-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; t=1701347980; cv=none; 
	d=zohomail.com; s=zohoarc; 
	b=DqRygiPYoe/ulZMjdfB23rk25pWKx+jyTQs56f//19J7ZBxoUfbUB1WXp1dtMniA4sOZZEN+Kh9HV2COdgY8hM/NTuzCWrSSFo+tc/VV355jeuPVw7aTGsPGBfoCESGb200hoFhQ1tqElKgVPV3bqL0tn71XYoLFkB9NfbEncjE=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; 
	t=1701347980; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; 
	bh=WSZV2K5rc8MVEf/az1r7wvvk3DnPeEZcbOJAEAQrg98=; 
	b=bAKzsxs4sdzsNGZA8FHlCN2VsgZgOEZpL/aqlXrb7VwLDC2/A9FIgCkv1JKCG9T+ty3PsKcapvqh/ZFSy+IEqKGl802or6Jd9wB1SfZFj+J4thvqDDUTNKJCwkUj1HCGGAWwfZ46CGqCuQ8hTKqq9EeDrU6iTKO1gDn0Kh5aSLY=
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=1701347980;
	s=zoho; d=apertussolutions.com; i=dpsmith@apertussolutions.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:From:From:To:To:Cc:Cc:References:In-Reply-To:Content-Type:Content-Transfer-Encoding:Message-Id:Reply-To;
	bh=WSZV2K5rc8MVEf/az1r7wvvk3DnPeEZcbOJAEAQrg98=;
	b=IOYPpTmnbsEvIP5p+kLCbZ+5vCCqlWPGuXqjEMeCZalHUikJo5xcNNd+chpSPbWp
	KZEAvws5zq0X2Q3pLWpM9+HM/8bfHTXIOGKlOlxOHFQ2XaAbFM27g9hcI3efOiZqamZ
	0noVxUYEf6pWhNQSJG3UWsVAH2F4GbJ/oCbIdIyY=
Message-ID: <930da43f-0395-40cb-a79d-012c4e1acbcb@apertussolutions.com>
Date: Thu, 30 Nov 2023 07:39:38 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Content-Language: en-US
From: "Daniel P. Smith" <dpsmith@apertussolutions.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
 Anthony PERARD <anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>,
 Stefano Stabellini <sstabellini@kernel.org>,
 "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
 "Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
 "Deucher, Alexander" <Alexander.Deucher@amd.com>,
 "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
 "Stabellini, Stefano" <stefano.stabellini@amd.com>,
 "Huang, Ray" <Ray.Huang@amd.com>, "Huang, Honglei1"
 <Honglei1.Huang@amd.com>, "Zhang, Julia" <Julia.Zhang@amd.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-2-Jiqian.Chen@amd.com> <ZWX0U1tYooY70UJo@macbook>
 <BL1PR12MB58493CC28A32E3C9B3A1767FE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
 <14d2dd16-be21-4e9a-97eb-bb477af49e73@apertussolutions.com>
In-Reply-To: <14d2dd16-be21-4e9a-97eb-bb477af49e73@apertussolutions.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-ZohoMailClient: External

On 11/30/23 07:25, Daniel P. Smith wrote:
> On 11/30/23 01:22, Chen, Jiqian wrote:
>> Hi Roger and Daniel P. Smith,
>>
>> On 2023/11/28 22:08, Roger Pau Monné wrote:
>>> On Fri, Nov 24, 2023 at 06:41:34PM +0800, Jiqian Chen wrote:
>>>> When a device has been reset on dom0 side, the vpci on Xen
>>>> side won't get notification, so the cached state in vpci is
>>>> all out of date compare with the real device state.
>>>> To solve that problem, this patch add new hypercall to clear
>>>> all vpci device state. And when reset device happens on dom0
>>>> side, dom0 can call this hypercall to notify vpci.
>>>>
>>>> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
>>>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>>>> ---
>>>>   xen/arch/x86/hvm/hypercall.c  |  1 +
>>>>   xen/drivers/passthrough/pci.c | 21 +++++++++++++++++++++
>>>>   xen/drivers/pci/physdev.c     | 14 ++++++++++++++
>>>>   xen/drivers/vpci/vpci.c       |  9 +++++++++
>>>>   xen/include/public/physdev.h  |  2 ++
>>>>   xen/include/xen/pci.h         |  1 +
>>>>   xen/include/xen/vpci.h        |  6 ++++++
>>>>   7 files changed, 54 insertions(+)
>>>>
>>>> diff --git a/xen/arch/x86/hvm/hypercall.c 
>>>> b/xen/arch/x86/hvm/hypercall.c
>>>> index eeb73e1aa5..6ad5b4d5f1 100644
>>>> --- a/xen/arch/x86/hvm/hypercall.c
>>>> +++ b/xen/arch/x86/hvm/hypercall.c
>>>> @@ -84,6 +84,7 @@ long hvm_physdev_op(int cmd, 
>>>> XEN_GUEST_HANDLE_PARAM(void) arg)
>>>>       case PHYSDEVOP_pci_mmcfg_reserved:
>>>>       case PHYSDEVOP_pci_device_add:
>>>>       case PHYSDEVOP_pci_device_remove:
>>>> +    case PHYSDEVOP_pci_device_state_reset:
>>>>       case PHYSDEVOP_dbgp_op:
>>>>           if ( !is_hardware_domain(currd) )
>>>>               return -ENOSYS;
>>>> diff --git a/xen/drivers/passthrough/pci.c 
>>>> b/xen/drivers/passthrough/pci.c
>>>> index 04d00c7c37..f871715585 100644
>>>> --- a/xen/drivers/passthrough/pci.c
>>>> +++ b/xen/drivers/passthrough/pci.c
>>>> @@ -824,6 +824,27 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
>>>>       return ret;
>>>>   }
>>>> +int pci_reset_device_state(u16 seg, u8 bus, u8 devfn)
>>>
>>> You could use pci_sbdf_t here instead of 3 parameters.
>> Will change in next version, thank you.
>>
>>>
>>> I'm however unsure whether we really need this helper just to fetch
>>> the pdev and call vpci_reset_device_state(), I think you could place
>>> this logic directly in pci_physdev_op().  Unless there are plans to
>>> use such logic outside of pci_physdev_op().
>> If I place the logic of pci_reset_device_state directly in 
>> pci_physdev_op. I think I need to declare vpci_reset_device_state in 
>> pci.h? If it is suitable, I will change in next version.
>>
>>>
>>>> +{
>>>> +    struct pci_dev *pdev;
>>>> +    int ret = -ENODEV;
>>>
>>> Some XSM check should be introduced fro this operation, as none of the
>>> existing ones is suitable.  See xsm_resource_unplug_pci() for example.
>>>
>>> xsm_resource_reset_state_pci() or some such I would assume.
>> I don't know what I should do in XSM function(assume it is 
>> xsm_resource_reset_state_pci).
>> Hi Daniel P. Smith, could you please give me some suggestions?
>> Just to check the XSM_PRIV action?
>>
> 
> Roger, thank you for seeing this and adding me in!
> 
> Jiqian, I just wanted to let you know I have seen your post but I have 
> been a little tied up this week. Just with the cursory look, I think 
> Roger is suggesting a new XSM check/hook is warranted.
> 
> If you would like to attempt at writing the dummy policy side, mimic 
> xsm_resource_plug_pci in xen/include/xsm/dummy.h and 
> xen/include/xsm/xsm.h, then I can look at handling the FLASK portion 
> next week and provide it to you for inclusion into the series. If you 
> are not comfortable with it, I can look at the whole thing next week. 
> Just let me know what you would be comfortable with.

Apologies, thinking about for a moment and was thinking the hook should 
be called xsm_resource_config_pci. I would reset as a config operation 
and there might be new ones in the future. I do not believe there is a 
need to have fine grain access control down to individual config 
operation, thus they could all be captured under this one hook. Roger, 
what are your thoughts about this, in particular how you see vpci evolving?

v/r,
dps


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:46:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:46:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644653.1005979 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gQZ-0003mt-1q; Thu, 30 Nov 2023 12:45:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644653.1005979; Thu, 30 Nov 2023 12: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 1r8gQY-0003mm-V8; Thu, 30 Nov 2023 12:45:58 +0000
Received: by outflank-mailman (input) for mailman id 644653;
 Thu, 30 Nov 2023 12:45: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 1r8gQY-0003mg-Bd
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:45: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 1r8gQX-0005gO-M8; Thu, 30 Nov 2023 12:45:57 +0000
Received: from [15.248.2.159] (helo=[10.24.67.31])
 by xenbits.xenproject.org with esmtpsa
 (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92)
 (envelope-from <julien@xen.org>)
 id 1r8gQX-0006R0-GX; Thu, 30 Nov 2023 12: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=xen.org;
	s=20200302mail; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From:
	References:Cc:To:Subject:MIME-Version:Date:Message-ID;
	bh=JXp0gOU6SnUTGAjIsT8TTnPAdP9pMKr3FuizY7+IneQ=; b=TEwoCS7/vU88MndBbmZwKcJ2c/
	RXfDP6WYzYH+rWgFCzcNLxSS1hPxPtPs7yPes4BgTGlNjbkiQaumCJpK4mdq0rhDc9/VndkDgbsQ/
	7joHKD660SC0U22m7ulhBmSEAv1U7Sn+csW7C6T/khJixd2ykaNX0n2PRYwRowCSBSkc=;
Message-ID: <5436bc00-ea19-4cb3-aa14-3de59434a88d@xen.org>
Date: Thu, 30 Nov 2023 12:45:55 +0000
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/arm: Move static event channel feature to a
 separate module
Content-Language: en-GB
To: Michal Orzel <michal.orzel@amd.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: <20231130095757.11162-1-michal.orzel@amd.com>
From: Julien Grall <julien@xen.org>
In-Reply-To: <20231130095757.11162-1-michal.orzel@amd.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

Hi Michal,

On 30/11/2023 09:57, Michal Orzel wrote:
> Move static event channel feature related code to a separate module
> (static-evtchn.{c,h}) in the spirit of fine granular configuration, so
> that the feature can be disabled if not needed.
> 
> Introduce Kconfig option CONFIG_STATIC_EVTCHN, enabled by default (to
> keep the current behavior) dependent on CONFIG_DOM0LESS. While it could
> be possible to create a loopback connection for dom0 only, this use case
> does not really need this feature and all the docs and commit messages
> refer explicitly to the use in dom0less system.
> 
> The only function visible externally is alloc_static_evtchn(), so move
> the prototype to static-evtchn.h and provide a stub in case a feature
> is disabled. Guard static_evtchn_created in struct dt_device_node as
> well as its helpers.
> 
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>

Acked-by: Julien Grall <jgrall@amazon.com>

Cheers,

-- 
Julien Grall


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:48:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:48:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644655.1005989 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gSg-00056e-CU; Thu, 30 Nov 2023 12:48:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644655.1005989; Thu, 30 Nov 2023 12: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 1r8gSg-00056X-9v; Thu, 30 Nov 2023 12:48:10 +0000
Received: by outflank-mailman (input) for mailman id 644655;
 Thu, 30 Nov 2023 12:48: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=+Efh=HL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r8gSe-00056P-VZ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:48:09 +0000
Received: from mail-lf1-x12c.google.com (mail-lf1-x12c.google.com
 [2a00:1450:4864:20::12c])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b635f1b6-8f7e-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 13:48:08 +0100 (CET)
Received: by mail-lf1-x12c.google.com with SMTP id
 2adb3069b0e04-50bbb79f97cso889594e87.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 04:48:08 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 a9-20020ac25e69000000b0050b9bcdefe0sm159089lfr.206.2023.11.30.04.48.06
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 04:48:06 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b635f1b6-8f7e-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701348487; x=1701953287; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=B+WSXWKOhFSYYQa+a1gHqOxKhgp4BV2vq4FjYmTuYFA=;
        b=VI5dUQ/8NULk7kBMxL3Y/148H8AZKeV09Bg8e29en0pOJ29dHG55jdqRWypa9ZKADy
         1orB0KvxKbY7BSoorBpU/EHT5maU10aqYEwQeSqTrBbS33qoIQGhT+AG7wvCLnrVvX7V
         gLqF56AWHG8JbT5n/jf1pRvG4e+Rt4bZwNM6o77RT79bkmCuOHWNSsLIoPNX3Ub87rqn
         RA7dB/Wp1jb8T9pXpQcPm+K/fPiwTskMpYNMQJffmD3VYQHXtI1WjMod+lc5GikqoRqb
         Z3VjR0KukBVMKK7w0rjtd0lDXemjn2AhncvIWUrUcnrmIV1Tlaokz60NWA2ia07WIZW3
         0j2w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701348487; x=1701953287;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=B+WSXWKOhFSYYQa+a1gHqOxKhgp4BV2vq4FjYmTuYFA=;
        b=XXMxLG+XTMm7wqkV6W2yBX0ZWMDoIQEP7h4+yqBxQvO/vsTQwhdmlnjdIFieNo1SUd
         UEc4F3qOngdDytRTrP49+qTG+TWNj4j6QdiOSY74KtyX4+fWVDAL7Fr0dvrpZVHJ9yt3
         syDKpRo4UtEVtBu+6srNdNQ6ZjJiJdFXJS96XDnPnQtsCy22R6My6UqMgEj14Ya1yiYv
         yM0JuB7Q6xgP01nPVpp3X19dlydd8nOiPmkukNTwWQsvLcxuQ3S5Oedozj4tKGzjw0X+
         CB4nBEZf7jY/1xRx4Y7BqmKYEqDGf9bxGVq9kVBKYq3gv1S1dGjHmaOknlZM8MMVEoAG
         vB4Q==
X-Gm-Message-State: AOJu0Yygv1AvRNT10GLE2A4/bhHD8A3j/ovGZYz6vtn68JJkoBeKl/yb
	sgvBoWqDJKV+8P6Hvd1vTJo=
X-Google-Smtp-Source: AGHT+IES6wbpAKs7ZZPH2qDM+9HlMTKFYfRx2tWjfnvdU29cWGqa32tbx82fDSQpOzvekKrRBxm2+w==
X-Received: by 2002:a05:6512:3b86:b0:503:7f6:ac20 with SMTP id g6-20020a0565123b8600b0050307f6ac20mr8597418lfv.5.1701348487322;
        Thu, 30 Nov 2023 04:48:07 -0800 (PST)
Message-ID: <cf2828e4f23000db5488fbf83cf72dc9d9d9dd83.camel@gmail.com>
Subject: Re: [PATCH v4 02/14] xen/asm-generic: introduce generic device.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Shawn Anastasio <sanastasio@raptorengineering.com>, 
	xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.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>
Date: Thu, 30 Nov 2023 14:48:05 +0200
In-Reply-To: <4f67d4c0-d90a-4778-800b-87108cd1d3f8@raptorengineering.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <67172a4fbf88833480203fcb1e2c640b6d39a556.1701093907.git.oleksii.kurochko@gmail.com>
	 <98023f51-5953-4384-918d-ae726d74ef7c@raptorengineering.com>
	 <e29665f849d23a768262c6d1a7436916a7ec887c.camel@gmail.com>
	 <4f67d4c0-d90a-4778-800b-87108cd1d3f8@raptorengineering.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

Hi Shawn,

On Wed, 2023-11-29 at 13:18 -0600, Shawn Anastasio wrote:
> On 11/29/23 6:49 AM, Oleksii wrote:
> > On Tue, 2023-11-28 at 15:28 -0600, Shawn Anastasio wrote:
> > > Hi Oleksii,
> > >=20
> > > On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> > > > diff --git a/xen/arch/ppc/include/asm/irq.h
> > > > b/xen/arch/ppc/include/asm/irq.h
> > > > index 5c37d0cf25..49193fddff 100644
> > > > --- a/xen/arch/ppc/include/asm/irq.h
> > > > +++ b/xen/arch/ppc/include/asm/irq.h
> > > > @@ -3,7 +3,9 @@
> > > > =C2=A0#define __ASM_PPC_IRQ_H__
> > > > =C2=A0
> > > > =C2=A0#include <xen/lib.h>
> > > > +#ifdef CONFIG_HAS_DEVICE_TREE
> > >=20
> > > I realize that you were likely following PPC's device.h which
> > > also
> > > checks CONFIG_HAS_DEVICE_TREE, but I'm not sure that it makes
> > > sense
> > > to
> > > check this conditional in PPC code at all -- we will always have
> > > HAS_DEVICE_TREE (selected by PPC) and I can't imagine a scenario
> > > where
> > > this will ever not be the case.
> > What about case if ACPI is used? Does ACPI is supported by PPC?
> >=20
> > But if you are sure that CONFIG_HAS_DEVICE_TREE will be always
> > selected
> > then I am OK to remove this change.
> >=20
>=20
> ACPI isn't supported by any PPC platform, we always use device tree.
Thanks for clarification.

Then we can remove useless #ifdef. I'll do it it in next patch version.

>=20
> > >=20
> > > Unless Jan (or someone else) disagrees, I'd rather this
> > > conditional
> > > be
> > > dropped inside of PPC code.
> > I'll double check but I think I had a compilation issue if it isn't
> > defined.
> >=20
>=20
> I'm not encountering any issues locally with the conditional dropped,
> but if you are able to reproduce them then let me know.
Sure. I am going to do it tomorrow or today evening if I'll face an
issue will write you.

~ Oleksii


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:49:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:49:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644658.1006000 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gTz-0005uZ-MW; Thu, 30 Nov 2023 12:49:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644658.1006000; Thu, 30 Nov 2023 12:49: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 1r8gTz-0005uS-Jb; Thu, 30 Nov 2023 12:49:31 +0000
Received: by outflank-mailman (input) for mailman id 644658;
 Thu, 30 Nov 2023 12:49: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=+Efh=HL=gmail.com=oleksii.kurochko@srs-se1.protection.inumbo.net>)
 id 1r8gTy-0005uM-Ne
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:49:30 +0000
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com
 [2a00:1450:4864:20::22d])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e6f5fac9-8f7e-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 13:49:29 +0100 (CET)
Received: by mail-lj1-x22d.google.com with SMTP id
 38308e7fff4ca-2c9c1e39defso11217971fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 04:49:29 -0800 (PST)
Received: from [192.168.220.211] ([94.75.70.14])
 by smtp.gmail.com with ESMTPSA id
 l21-20020a2e99d5000000b002c9c45e0688sm133425ljj.86.2023.11.30.04.49.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 04:49:28 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e6f5fac9-8f7e-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701348569; x=1701953369; darn=lists.xenproject.org;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:from:to:cc:subject
         :date:message-id:reply-to;
        bh=pelFkCWkANKAgxzCBZzrJd87zee7dkzFuPyezHllxD8=;
        b=Q5lxEhFQpz0slx0nxmF7IQDXC4wwA20f1oj/z32LcgN5C/o0ZoC4JgS4VUDMghtiIO
         OBt8sOvv43jLm8LWH9gh3qIX2sLjEsQjwEAa9P+ouKkTsj9TqdFyNEkLLFlVHEfzgC7i
         iORLDDDs3NPXD1i2rcgq99y91z3TSJa5f7+7W+OfaXEznAVj2IZ6HnNTEPiza+3yrOvi
         JCDyiGkBWfxqas3bz1OOfunDHCUiEL/CNMbevheP89CxdtGbtj79Ds/t58K9uA8AVPj4
         RT4mhuclre7WSDZLef9mRGBdF5V+do1DQvaR87YmXw3x/jwAgjJ/zolgn+Jr8Z9xjde7
         TcdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701348569; x=1701953369;
        h=mime-version:user-agent:content-transfer-encoding:references
         :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=pelFkCWkANKAgxzCBZzrJd87zee7dkzFuPyezHllxD8=;
        b=qMwtO3JdY2DkkaF7z0oUI4osEMXoiDl5YGav2MULA/2n26z5tsLMP7yV9Dz8rh8lsH
         En9Xq5c5zwQQKE0+ZgUVGSYXmgjq+dABcpvjNPeeFF2Cw+p0UA61RVLVAsZVEsKDhHQc
         PtJwVNtKTNtQSivkbZXOoiPVsmttaBM5j9DTMTW+vm8T6cE0i5R9SyXGnsWzSZHgK7xM
         /pWO3X8aHswcKKHO+7QJQIMm4mt85tlOOf9ldLMRA4ZfE1d1K6u5MWjCLMkDw+2R46sa
         WqcD5j+/8kDlDcdUmSkbPS2hqWq60rqy+Y0B5lwTapqBTZl524rbosMB2k8vxj0J6XzO
         byoA==
X-Gm-Message-State: AOJu0YwSRuc8l8A8XbyKUeH34FtOkamOiIsBTP1qipm1Wbm0cqrY4tMB
	3gH8rwCAT+fQ7y7pbXscIYM=
X-Google-Smtp-Source: AGHT+IFAqxlJ0k74M26aePoYyTZfey+amgflFihRpggajIqSWnW0dI8e7YzLXr9KqdkyN+X1z7iMTw==
X-Received: by 2002:a2e:9c51:0:b0:2c9:af1b:de5f with SMTP id t17-20020a2e9c51000000b002c9af1bde5fmr5319365ljj.37.1701348569274;
        Thu, 30 Nov 2023 04:49:29 -0800 (PST)
Message-ID: <91e6b2ddcb94263a7a9d3905704f4633a02815f2.camel@gmail.com>
Subject: Re: [PATCH v4 11/14] xen/asm-generic: introduce stub header numa.h
From: Oleksii <oleksii.kurochko@gmail.com>
To: Shawn Anastasio <sanastasio@raptorengineering.com>, 
	xen-devel@lists.xenproject.org
Cc: Stefano Stabellini <sstabellini@kernel.org>, Julien Grall
 <julien@xen.org>,  Bertrand Marquis <bertrand.marquis@arm.com>, Michal
 Orzel <michal.orzel@amd.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>
Date: Thu, 30 Nov 2023 14:49:27 +0200
In-Reply-To: <2924be5a-cf1c-49ed-a69d-9fa32442ace2@raptorengineering.com>
References: <cover.1701093907.git.oleksii.kurochko@gmail.com>
	 <44bb374738ad0cae041a0164812dfd33d091d954.1701093907.git.oleksii.kurochko@gmail.com>
	 <2924be5a-cf1c-49ed-a69d-9fa32442ace2@raptorengineering.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
User-Agent: Evolution 3.50.1 (3.50.1-1.fc39) 
MIME-Version: 1.0

On Wed, 2023-11-29 at 13:49 -0600, Shawn Anastasio wrote:
> On 11/27/23 8:13 AM, Oleksii Kurochko wrote:
> > diff --git a/xen/arch/arm/include/asm/numa.h b/xen/include/asm-
> > generic/numa.h
> > similarity index 76%
> > rename from xen/arch/arm/include/asm/numa.h
> > rename to xen/include/asm-generic/numa.h
> > index e2bee2bd82..b00fca4978 100644
> > --- a/xen/arch/arm/include/asm/numa.h
> > +++ b/xen/include/asm-generic/numa.h
> > @@ -1,12 +1,15 @@
> > -#ifndef __ARCH_ARM_NUMA_H
> > -#define __ARCH_ARM_NUMA_H
> > +/* SPDX-License-Identifier: GPL-2.0-only */
> > +#ifndef __ASM_GENERIC_NUMA_H
> > +#define __ASM_GENERIC_NUMA_H
> > =C2=A0
> > -#include <xen/mm.h>
> > +#include <xen/stdint.h>
> > =C2=A0
> > -typedef u8 nodeid_t;
> > +typedef uint8_t nodeid_t;
> > =C2=A0
> > =C2=A0#ifndef CONFIG_NUMA
> > =C2=A0
> > +#include <xen/mm-frame.h>
> > +
> > =C2=A0/* Fake one node for now. See also node_online_map. */
> > =C2=A0#define cpu_to_node(cpu) 0
> > =C2=A0#define node_to_cpumask(node)=C2=A0=C2=A0 (cpu_online_map)
> > @@ -26,7 +29,8 @@ extern mfn_t first_valid_mfn;
>=20
> Minor nit: in this part of the file (that wasn't included by git in
> this
> diff), there's a comment that references Arm:
>=20
> =C2=A0/*
> =C2=A0 * TODO: make first_valid_mfn static when NUMA is supported on Arm,
> this
> =C2=A0 * is required because the dummy helpers are using it.
> =C2=A0 */
> =C2=A0extern mfn_t first_valid_mfn;
>=20
> This should probably be changed to generic/GENERIC as you've done
> elsewhere in the series.
>=20
> In any case,
>=20
> Acked-by: Shawn Anastasio <sanastasio@raptorengineering.com>
>=20
Thanks. I'll update in next patch version.

~ Oleksii



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:58:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:58:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644663.1006020 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gcn-0000SJ-RO; Thu, 30 Nov 2023 12:58:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644663.1006020; Thu, 30 Nov 2023 12: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 1r8gcn-0000SC-Nd; Thu, 30 Nov 2023 12:58:37 +0000
Received: by outflank-mailman (input) for mailman id 644663;
 Thu, 30 Nov 2023 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=Tvl7=HL=kaod.org=clg@ozlabs.org>)
 id 1r8gcm-0000Au-0d
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:58:36 +0000
Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 27fd002a-8f80-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 13:58:30 +0100 (CET)
Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by gandalf.ozlabs.org (Postfix) with ESMTP id 4Sgx834Y27z4xWv;
 Thu, 30 Nov 2023 23:58:27 +1100 (AEDT)
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by mail.ozlabs.org (Postfix) with ESMTPSA id 4Sgx701Ypyz4xW7;
 Thu, 30 Nov 2023 23:57:31 +1100 (AEDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27fd002a-8f80-11ee-9b0f-b553b5be7939
Message-ID: <53cb0a57-d8c4-4c59-b37f-60182410e0cd@kaod.org>
Date: Thu, 30 Nov 2023 13:57:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to
 qemu_bql_lock()
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 qemu-ppc@nongnu.org, =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?=
 <philmd@linaro.org>, Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-2-stefanha@redhat.com>
From: =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>
In-Reply-To: <20231129212625.1051502-2-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/29/23 22:26, Stefan Hajnoczi wrote:
> The Big QEMU Lock (BQL) has many names and they are confusing. The
> actual QemuMutex variable is called qemu_global_mutex but it's commonly
> referred to as the BQL in discussions and some code comments. The
> locking APIs, however, are called qemu_mutex_lock_iothread() and
> qemu_mutex_unlock_iothread().
> 
> The "iothread" name is historic and comes from when the main thread was
> split into into KVM vcpu threads and the "iothread" (now called the main
> loop thread). I have contributed to the confusion myself by introducing
> a separate --object iothread, a separate concept unrelated to the BQL.
> 
> The "iothread" name is no longer appropriate for the BQL. Rename the
> locking APIs to:
> - void qemu_bql_lock(void)
> - void qemu_bql_unlock(void)
> - bool qemu_bql_locked(void)
> 
> There are more APIs with "iothread" in their names. Subsequent patches
> will rename them. There are also comments and documentation that will be
> updated in later patches.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.





From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:58:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:58:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644662.1006009 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gck-0000B2-GF; Thu, 30 Nov 2023 12:58:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644662.1006009; Thu, 30 Nov 2023 12:58: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 1r8gck-0000Av-Dj; Thu, 30 Nov 2023 12:58:34 +0000
Received: by outflank-mailman (input) for mailman id 644662;
 Thu, 30 Nov 2023 12:58: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=Tvl7=HL=kaod.org=clg@ozlabs.org>)
 id 1r8gcj-000096-8u
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:58:33 +0000
Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 27d3ac48-8f80-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 13:58:30 +0100 (CET)
Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by gandalf.ozlabs.org (Postfix) with ESMTP id 4Sgx815VyTz4xhx;
 Thu, 30 Nov 2023 23:58:25 +1100 (AEDT)
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits))
 (No client certificate requested)
 by mail.ozlabs.org (Postfix) with ESMTPSA id 4Sgx716RjTz4xWv;
 Thu, 30 Nov 2023 23:57:33 +1100 (AEDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27d3ac48-8f80-11ee-98e4-6d05b1d4d9a1
Message-ID: <53cb0a57-d8c4-4c59-b37f-60182410e0cd@kaod.org>
Date: Thu, 30 Nov 2023 13:57:28 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to
 qemu_bql_lock()
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 qemu-ppc@nongnu.org, =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?=
 <philmd@linaro.org>, Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-2-stefanha@redhat.com>
From: =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>
In-Reply-To: <20231129212625.1051502-2-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/29/23 22:26, Stefan Hajnoczi wrote:
> The Big QEMU Lock (BQL) has many names and they are confusing. The
> actual QemuMutex variable is called qemu_global_mutex but it's commonly
> referred to as the BQL in discussions and some code comments. The
> locking APIs, however, are called qemu_mutex_lock_iothread() and
> qemu_mutex_unlock_iothread().
> 
> The "iothread" name is historic and comes from when the main thread was
> split into into KVM vcpu threads and the "iothread" (now called the main
> loop thread). I have contributed to the confusion myself by introducing
> a separate --object iothread, a separate concept unrelated to the BQL.
> 
> The "iothread" name is no longer appropriate for the BQL. Rename the
> locking APIs to:
> - void qemu_bql_lock(void)
> - void qemu_bql_unlock(void)
> - bool qemu_bql_locked(void)
> 
> There are more APIs with "iothread" in their names. Subsequent patches
> will rename them. There are also comments and documentation that will be
> updated in later patches.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.





From xen-devel-bounces@lists.xenproject.org Thu Nov 30 12:59:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 12:59:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644669.1006030 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gdX-0001VD-4Z; Thu, 30 Nov 2023 12:59:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644669.1006030; Thu, 30 Nov 2023 12:59: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 1r8gdX-0001V6-1F; Thu, 30 Nov 2023 12:59:23 +0000
Received: by outflank-mailman (input) for mailman id 644669;
 Thu, 30 Nov 2023 12:59: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=Tvl7=HL=kaod.org=clg@ozlabs.org>)
 id 1r8gdW-0001Uy-IZ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 12:59:22 +0000
Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 457ab45f-8f80-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 13:59:20 +0100 (CET)
Received: from gandalf.ozlabs.org (mail.ozlabs.org
 [IPv6:2404:9400:2221:ea00::3])
 by gandalf.ozlabs.org (Postfix) with ESMTP id 4Sgx912pNvz4xjZ;
 Thu, 30 Nov 2023 23:59:17 +1100 (AEDT)
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits))
 (No client certificate requested)
 by mail.ozlabs.org (Postfix) with ESMTPSA id 4Sgx853gFPz4xW7;
 Thu, 30 Nov 2023 23:58:28 +1100 (AEDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 457ab45f-8f80-11ee-9b0f-b553b5be7939
Message-ID: <0f414482-a1e7-4863-9ce1-3584b4d43e6c@kaod.org>
Date: Thu, 30 Nov 2023 13:58:26 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 2/6] qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to
 QEMU_BQL_LOCK_GUARD
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 qemu-ppc@nongnu.org, =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?=
 <philmd@linaro.org>, Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-3-stefanha@redhat.com>
From: =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>
In-Reply-To: <20231129212625.1051502-3-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/29/23 22:26, Stefan Hajnoczi wrote:
> The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
> instead, it is already widely used and unambiguous.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.





From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:03:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:03:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644676.1006040 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ghW-0003TM-KC; Thu, 30 Nov 2023 13:03:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644676.1006040; Thu, 30 Nov 2023 13: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 1r8ghW-0003TF-HF; Thu, 30 Nov 2023 13:03:30 +0000
Received: by outflank-mailman (input) for mailman id 644676;
 Thu, 30 Nov 2023 13:03: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=NfjJ=HL=amd.com=Jiqian.Chen@srs-se1.protection.inumbo.net>)
 id 1r8ghV-0003T9-6c
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:03:29 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on2061a.outbound.protection.outlook.com
 [2a01:111:f400:fe59::61a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id d9dcecfd-8f80-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 14:03:27 +0100 (CET)
Received: from BL1PR12MB5849.namprd12.prod.outlook.com (2603:10b6:208:384::18)
 by DS0PR12MB7849.namprd12.prod.outlook.com (2603:10b6:8:141::14) with
 Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 13:03:24 +0000
Received: from BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1]) by BL1PR12MB5849.namprd12.prod.outlook.com
 ([fe80::969f:11b3:5ec2:3aa1%3]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 13:03: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: d9dcecfd-8f80-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=jIwZNUvguKiQfphSGM+rHHnq8Uggs20LigMoRvn1X/GsDdOpFYXMNwe/o6ey11mtPK5YQP7hh5PMhfbIkfdagMkCFIISjG3tXyQfgJbO9VhEBYnVCAFHf6O9718wegPDaRlxYG2gzl7o1rUv7/9/rRNT7ndqUWfGuWt5P7w6x/a3pGQfiElB3ZkJlKNlUQHQc4EN2qP4rcfJz6rgKZ/XTqWGn0/BFy5mUad7BYNIzzJrNI/N9xKG8JhcCcUP4qtfdBeyF8toSozR95C7AlgLxSzOIESPoWojMCR40VgiBcHcrCJ/hXHvlvVCxcdePUK1O+QPy4m7hn5fJEe8wfuN6g==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=HoJgKJe2TF6ZmZqQgzGJy4Ju7EGk5pYlcAaMdjBgs6U=;
 b=ZV8a9h6C9kLbNkUtUr4xcpY7r0hhBvOY2Y8OU3OgB4Zvw0RWu5E9+bqAQja6vKer84JlL3mYY9dzSKbbRdPAqvs+3SYpDo7bZtNfZVGgIt7l+jhTNGFEF/K1H5mRUe8kTQSRyAdhg6PGKClHUGJ32CSBT6gasZfuioekmyUvSbUoh4FfN84T3bj4XwduRqVuiya3cCIj7yhbwvWrYYtZM4pejt/VSpEgBAC4lupRti1RCaAI3pdOcUl/7e4G12bghAeHv8Y8EwIGGNbLWawCNauLai2QpPoUWlzgMZlkPMUfsK6Je/bhl8RVAVFI+7cDeO70OizRcbJZeHtbBxOjqQ==
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=HoJgKJe2TF6ZmZqQgzGJy4Ju7EGk5pYlcAaMdjBgs6U=;
 b=FcvRfGDO6AlATe31MEkj9cAdy8e0Imv2A209to8shqtsOBxK2xOlL4Bn4GwTs3TUhoRDj40PgZ+8qwBavKhyr6hzOQBBipM2TK+eyvw6S7AaZymysDQZ4Aq7xQ3J3wecHuz1BWwAOdu5RD38iek3wuRSe+XUKaGXUYkNbH7fVGI=
From: "Chen, Jiqian" <Jiqian.Chen@amd.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
CC: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>, Anthony PERARD
	<anthony.perard@citrix.com>, Juergen Gross <jgross@suse.com>, Stefano
 Stabellini <sstabellini@kernel.org>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "Hildebrand, Stewart"
	<Stewart.Hildebrand@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>, "Huang, Ray"
	<Ray.Huang@amd.com>, "Huang, Honglei1" <Honglei1.Huang@amd.com>, "Zhang,
 Julia" <Julia.Zhang@amd.com>, "Chen, Jiqian" <Jiqian.Chen@amd.com>,
	=?utf-8?B?Um9nZXIgUGF1IE1vbm7DqQ==?= <roger.pau@citrix.com>
Subject: Re: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Thread-Topic: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Thread-Index: AQHaHsLfq+dfGUvRWUqPIEH3O9fXrbCPyyeAgAMgFYD//+e9gIAAjwuA
Date: Thu, 30 Nov 2023 13:03:24 +0000
Message-ID:
 <BL1PR12MB5849B20A8A9D5D7856E84158E782A@BL1PR12MB5849.namprd12.prod.outlook.com>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-2-Jiqian.Chen@amd.com> <ZWX0U1tYooY70UJo@macbook>
 <BL1PR12MB58493CC28A32E3C9B3A1767FE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
 <14d2dd16-be21-4e9a-97eb-bb477af49e73@apertussolutions.com>
In-Reply-To: <14d2dd16-be21-4e9a-97eb-bb477af49e73@apertussolutions.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-imapappendstamp: IA1PR12MB8495.namprd12.prod.outlook.com
 (15.20.7068.000)
authentication-results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=amd.com;
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: BL1PR12MB5849:EE_|DS0PR12MB7849:EE_
x-ms-office365-filtering-correlation-id: 4e5a3050-3502-42c6-cdba-08dbf1a4bc62
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info:
 AaH+dZ9iwfYPZnOX/BGpMWE3qwf/cN8SaPjkuUo0NQZD2+9Cl0Q9rVckXSMK5uP1FkK0sosz9+7s1pamEpvrb2K7lLKN2jLU36quJJi7WuErxn6ngNw2qqnCVzbgXjaZb20kGVc+IrYCx9ZACjfXZN7NyDFRAtnnHggs83M4Nf78YDUM0o9jXHfiNPfHRsmUg3cgVSsL3T5MOmgWDt/6XayDxgdrd8drgYray+ZfUadNAOK5HmRxON0huVd+Z4L3ApSWH/U+V7TleJNd+tOMBy8txPdmHbDhoRm1xcO3Xnv4RPiyE+QY807gVWVnq625zhT5pyrjudBkV8oGzSpcGv4SCrMhRuYqn5+SaNvyvu1mhgzYZu4ywK0qN78CeINB/sd2FA1l9KsYrzfrbEbqsxDyBZqWmuvViQDtn1LSmF7QyQhv99t5QWr+20u79lr3NgPq7yjvhF4KGfhS22acKsGD7NdXv3Ak3Dfxk7Hss+zWvetLqO404X5v9CThb8encZ8U9RvJwvY1HKKssTbE/1liUirv9BkqKeYAK6b8F/0csshFZ/BxYrW12n9H5XzQi5nPNr0UQk2ox2WDSClMOOo1cBoAOK02eaRt2v6K3QRQNgRaKF3Tm7M9Z38eE3K+
x-forefront-antispam-report:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL1PR12MB5849.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(136003)(346002)(376002)(396003)(366004)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(6506007)(26005)(83380400001)(53546011)(7696005)(9686003)(122000001)(5660300002)(4326008)(8676002)(52536014)(8936002)(41300700001)(2906002)(478600001)(316002)(71200400001)(6916009)(54906003)(64756008)(66446008)(66476007)(66556008)(66946007)(76116006)(33656002)(38100700002)(38070700009)(55016003);DIR:OUT;SFP:1101;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0:
 =?utf-8?B?Zjg2a2w2WkE5WmtCT3ZSUWlESXFLS2lPTUxacnE5TFFGcndIVFU0cUlxdUV5?=
 =?utf-8?B?eHo4T3RvWjhyWmpDZjhJVjQ3b1llTVVaaU5tZTdEZGM2WWR0c2dkYlJJNGY2?=
 =?utf-8?B?MWpnemdWNzV2WGdnR0FZa2JiZDA2djI2U2dWNmlYWHN2TkU4eXQ5d3VFQmsz?=
 =?utf-8?B?a3NTdFh6VFlxOHlZTVRBR1RMUnV1S2NldzBwN2dEZmFsVWJPcE9Ud2U0QSs0?=
 =?utf-8?B?b3grK2cvcHduMEdNTUUvK2tJUnJuZ0pla3c0dzVvTi9wb0dpR1FTZWcrbE1S?=
 =?utf-8?B?ZW1FSTJTVUZsam43OXg4cmR4aUliUW1aSXFtZlNzUmxncUc0N1dkcVkrdENh?=
 =?utf-8?B?azVwZ2JvaTVNZVNhZTZna0Iyc3c5c1F6N1BpVVZDOFdiTTRVWFU4dWhOczY2?=
 =?utf-8?B?bjN5czEvS284bTF1c0FicDBJQ0gzcm1uQUVOTWx0UUVZdDJSYzY1YVkxNTJ1?=
 =?utf-8?B?Y1NMaUhvVzMrYml1M0R3MmFXTGU3ck8wOCt4RGJJd3N1MFArUGNpdFZGMzBx?=
 =?utf-8?B?VzhIY2NNVVlGQmxwNE9JaEpYUmNFMnp3N1krVFI1TDIzeWF3a1ZydDN3ajdj?=
 =?utf-8?B?R2VwNnMrMzZUdXdNclRRcnFVRHd3Szh2Z2UvVE1BVmMwc1ZkWEM1V3doZHdp?=
 =?utf-8?B?U2pHbU5WYmYwa1Ryb3o5OGVCWENBZmdjS0xucncyalU4RlpESEljc1Q1RU9r?=
 =?utf-8?B?VlNiRGJQUDRNbGF2OUt6OXlRQkZkRmZrbFUxOWs5NldtSktLYllDdDJZNURG?=
 =?utf-8?B?Vyt0SlFEcTAyVFFyWk4ySUU5S2Q2cE5oYmRGNE5nbitqWllySlcwL2JCN3BK?=
 =?utf-8?B?Q1dZQWROMDVTZHg1c1NrKzFMSk5WME92N0h4ZG53WUNxSmRJb1JwaElKb1Ey?=
 =?utf-8?B?b3k1YjFDNE45S24yZlFLbTZ2K3hhN29IL0g3c3g0MlpMczV6M2J5RWFqNWVZ?=
 =?utf-8?B?TFZtSUNiMFkycFpBYm9LYkVIVU02Q3hJMHFjQ0lQR3ZJNktZUkk2ZVRmbDZu?=
 =?utf-8?B?Wm0zYUFwazdGbkV5cDhkNE15N1l0TXlzcGJmQWsyT0ZNQVptdWNNUHZPdDFl?=
 =?utf-8?B?WnBjZnBhWlpNS2M4bVdBRFdmT3grbUw0UGlQeHVPMEdFV0hvZ1VOeUJ5d1FT?=
 =?utf-8?B?Y1M4V0ducVphaXN6YUVFeE5OUXFiSnEyamM0anFQYkNzSHJoMjFaYWtRTWM4?=
 =?utf-8?B?VHJoYUdWRTdGcEpmWmE2WFF4UkdQZ2VzR1hRYndJdGt6UHhJN1ZJM21obSs2?=
 =?utf-8?B?TDdFUGpEYlpBYk4xUklwb1h6d1pUUWRNRFZrV0ZuTXVTZWk2WHNlR0JZM05U?=
 =?utf-8?B?c213SWpRcVROaEpnbE5pQVAzUDRoMXlteDNsYXRZZkNrN3U2K0VvUHFrNm1r?=
 =?utf-8?B?dXlxQlduZFVqTEhLMXZJN3ZYSzYvOXhESkp0cDc5R2NNc1dtMmNhSDgyclU0?=
 =?utf-8?B?V0huelNQazNndFhYTnQzRWNrMDh0UjYwY2IrM1NtRnNYOE9jQ3V3TEhFRngy?=
 =?utf-8?B?S05qcmRiWVhjRFhLRFRsRkRVemR6bk4vT2JrMDB4ei93Uy9taG92ZGJHK3cv?=
 =?utf-8?B?VEZjMlBIOGxwTTdDMXUzcllqMHF5Y2NRTXZoZVRCM2Q0ODdXSzdOS2RRekpx?=
 =?utf-8?B?YlVraU5zQklQNk90SmVBMmxVSUk4ZTdTUXM3VkZUQnpoU2p4SVVpa2Raenlw?=
 =?utf-8?B?eVJlaDc0bzN5ejF3VlM4RklnUmVFTkNNZ1Q3aW0vWVFjOG9RUWUybCswdHor?=
 =?utf-8?B?K0VDeGdXNnpqR1RaK1hRTG9mdU5GZFpOVndBN0pJTUVQOHdBNWlWU0pQdkN4?=
 =?utf-8?B?YmdqRW91NWNveTQwVWRXRFZrVEtGWWlkRmlobWQvVXVVS3M1d1FPeDl6a1ZR?=
 =?utf-8?B?UTVhcUFUeXVRUzJpMFlnV3JTRWVhMURITHdLYWIweE80S3JZc0VDdTFqR3kw?=
 =?utf-8?B?bDdBT1hnOG9mSEJvNm1USWNUWTFKdWl5N0hQQ2lYNWp2N0VGVHQveS9ZYnNE?=
 =?utf-8?B?YmxYTnErc0hpdjltVm04dlo0SUdvUXdMV2g5M2dNSzZsenpxOHFxUjNrZlMx?=
 =?utf-8?B?cStKMHJxY2gwbGdxVUJFZ1g0S0U2Y3gxUlh5TG5WVG9yR3RGKzlXeXB4U2d5?=
 =?utf-8?Q?Dbts=3D?=
Content-Type: text/plain; charset="utf-8"
Content-ID: <31A0E18D2BB3014DA3C2A6E860DD4CF8@amdcloud.onmicrosoft.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: BL1PR12MB5849.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4e5a3050-3502-42c6-cdba-08dbf1a4bc62
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Nov 2023 13:03:24.0354
 (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: KsrwOdaT1qDZhPG0/iCZQqTuSWC1eTP6k5AGQQuD6JGKl2xwDODABs3KTLhz+f6yBJj98pHgM2qW27yyGc6TUw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB7849

T24gMjAyMy8xMS8zMCAyMDoyNSwgRGFuaWVsIFAuIFNtaXRoIHdyb3RlOg0KPiBPbiAxMS8zMC8y
MyAwMToyMiwgQ2hlbiwgSmlxaWFuIHdyb3RlOg0KPj4gSGkgUm9nZXIgYW5kIERhbmllbCBQLiBT
bWl0aCwNCj4+DQo+PiBPbiAyMDIzLzExLzI4IDIyOjA4LCBSb2dlciBQYXUgTW9ubsOpIHdyb3Rl
Og0KPj4+IE9uIEZyaSwgTm92IDI0LCAyMDIzIGF0IDA2OjQxOjM0UE0gKzA4MDAsIEppcWlhbiBD
aGVuIHdyb3RlOg0KPj4+PiBXaGVuIGEgZGV2aWNlIGhhcyBiZWVuIHJlc2V0IG9uIGRvbTAgc2lk
ZSwgdGhlIHZwY2kgb24gWGVuDQo+Pj4+IHNpZGUgd29uJ3QgZ2V0IG5vdGlmaWNhdGlvbiwgc28g
dGhlIGNhY2hlZCBzdGF0ZSBpbiB2cGNpIGlzDQo+Pj4+IGFsbCBvdXQgb2YgZGF0ZSBjb21wYXJl
IHdpdGggdGhlIHJlYWwgZGV2aWNlIHN0YXRlLg0KPj4+PiBUbyBzb2x2ZSB0aGF0IHByb2JsZW0s
IHRoaXMgcGF0Y2ggYWRkIG5ldyBoeXBlcmNhbGwgdG8gY2xlYXINCj4+Pj4gYWxsIHZwY2kgZGV2
aWNlIHN0YXRlLiBBbmQgd2hlbiByZXNldCBkZXZpY2UgaGFwcGVucyBvbiBkb20wDQo+Pj4+IHNp
ZGUsIGRvbTAgY2FuIGNhbGwgdGhpcyBoeXBlcmNhbGwgdG8gbm90aWZ5IHZwY2kuDQo+Pj4+DQo+
Pj4+IFNpZ25lZC1vZmYtYnk6IEppcWlhbiBDaGVuIDxKaXFpYW4uQ2hlbkBhbWQuY29tPg0KPj4+
PiBTaWduZWQtb2ZmLWJ5OiBIdWFuZyBSdWkgPHJheS5odWFuZ0BhbWQuY29tPg0KPj4+PiAtLS0N
Cj4+Pj4gwqAgeGVuL2FyY2gveDg2L2h2bS9oeXBlcmNhbGwuY8KgIHzCoCAxICsNCj4+Pj4gwqAg
eGVuL2RyaXZlcnMvcGFzc3Rocm91Z2gvcGNpLmMgfCAyMSArKysrKysrKysrKysrKysrKysrKysN
Cj4+Pj4gwqAgeGVuL2RyaXZlcnMvcGNpL3BoeXNkZXYuY8KgwqDCoMKgIHwgMTQgKysrKysrKysr
KysrKysNCj4+Pj4gwqAgeGVuL2RyaXZlcnMvdnBjaS92cGNpLmPCoMKgwqDCoMKgwqAgfMKgIDkg
KysrKysrKysrDQo+Pj4+IMKgIHhlbi9pbmNsdWRlL3B1YmxpYy9waHlzZGV2LmjCoCB8wqAgMiAr
Kw0KPj4+PiDCoCB4ZW4vaW5jbHVkZS94ZW4vcGNpLmjCoMKgwqDCoMKgwqDCoMKgIHzCoCAxICsN
Cj4+Pj4gwqAgeGVuL2luY2x1ZGUveGVuL3ZwY2kuaMKgwqDCoMKgwqDCoMKgIHzCoCA2ICsrKysr
Kw0KPj4+PiDCoCA3IGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKykNCj4+Pj4NCj4+Pj4g
ZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9odm0vaHlwZXJjYWxsLmMgYi94ZW4vYXJjaC94ODYv
aHZtL2h5cGVyY2FsbC5jDQo+Pj4+IGluZGV4IGVlYjczZTFhYTUuLjZhZDViNGQ1ZjEgMTAwNjQ0
DQo+Pj4+IC0tLSBhL3hlbi9hcmNoL3g4Ni9odm0vaHlwZXJjYWxsLmMNCj4+Pj4gKysrIGIveGVu
L2FyY2gveDg2L2h2bS9oeXBlcmNhbGwuYw0KPj4+PiBAQCAtODQsNiArODQsNyBAQCBsb25nIGh2
bV9waHlzZGV2X29wKGludCBjbWQsIFhFTl9HVUVTVF9IQU5ETEVfUEFSQU0odm9pZCkgYXJnKQ0K
Pj4+PiDCoMKgwqDCoMKgIGNhc2UgUEhZU0RFVk9QX3BjaV9tbWNmZ19yZXNlcnZlZDoNCj4+Pj4g
wqDCoMKgwqDCoCBjYXNlIFBIWVNERVZPUF9wY2lfZGV2aWNlX2FkZDoNCj4+Pj4gwqDCoMKgwqDC
oCBjYXNlIFBIWVNERVZPUF9wY2lfZGV2aWNlX3JlbW92ZToNCj4+Pj4gK8KgwqDCoCBjYXNlIFBI
WVNERVZPUF9wY2lfZGV2aWNlX3N0YXRlX3Jlc2V0Og0KPj4+PiDCoMKgwqDCoMKgIGNhc2UgUEhZ
U0RFVk9QX2RiZ3Bfb3A6DQo+Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoICFpc19oYXJkd2Fy
ZV9kb21haW4oY3VycmQpICkNCj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0dXJu
IC1FTk9TWVM7DQo+Pj4+IGRpZmYgLS1naXQgYS94ZW4vZHJpdmVycy9wYXNzdGhyb3VnaC9wY2ku
YyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jDQo+Pj4+IGluZGV4IDA0ZDAwYzdjMzcu
LmY4NzE3MTU1ODUgMTAwNjQ0DQo+Pj4+IC0tLSBhL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3Bj
aS5jDQo+Pj4+ICsrKyBiL3hlbi9kcml2ZXJzL3Bhc3N0aHJvdWdoL3BjaS5jDQo+Pj4+IEBAIC04
MjQsNiArODI0LDI3IEBAIGludCBwY2lfcmVtb3ZlX2RldmljZSh1MTYgc2VnLCB1OCBidXMsIHU4
IGRldmZuKQ0KPj4+PiDCoMKgwqDCoMKgIHJldHVybiByZXQ7DQo+Pj4+IMKgIH0NCj4+Pj4gwqAg
K2ludCBwY2lfcmVzZXRfZGV2aWNlX3N0YXRlKHUxNiBzZWcsIHU4IGJ1cywgdTggZGV2Zm4pDQo+
Pj4NCj4+PiBZb3UgY291bGQgdXNlIHBjaV9zYmRmX3QgaGVyZSBpbnN0ZWFkIG9mIDMgcGFyYW1l
dGVycy4NCj4+IFdpbGwgY2hhbmdlIGluIG5leHQgdmVyc2lvbiwgdGhhbmsgeW91Lg0KPj4NCj4+
Pg0KPj4+IEknbSBob3dldmVyIHVuc3VyZSB3aGV0aGVyIHdlIHJlYWxseSBuZWVkIHRoaXMgaGVs
cGVyIGp1c3QgdG8gZmV0Y2gNCj4+PiB0aGUgcGRldiBhbmQgY2FsbCB2cGNpX3Jlc2V0X2Rldmlj
ZV9zdGF0ZSgpLCBJIHRoaW5rIHlvdSBjb3VsZCBwbGFjZQ0KPj4+IHRoaXMgbG9naWMgZGlyZWN0
bHkgaW4gcGNpX3BoeXNkZXZfb3AoKS7CoCBVbmxlc3MgdGhlcmUgYXJlIHBsYW5zIHRvDQo+Pj4g
dXNlIHN1Y2ggbG9naWMgb3V0c2lkZSBvZiBwY2lfcGh5c2Rldl9vcCgpLg0KPj4gSWYgSSBwbGFj
ZSB0aGUgbG9naWMgb2YgcGNpX3Jlc2V0X2RldmljZV9zdGF0ZSBkaXJlY3RseSBpbiBwY2lfcGh5
c2Rldl9vcC4gSSB0aGluayBJIG5lZWQgdG8gZGVjbGFyZSB2cGNpX3Jlc2V0X2RldmljZV9zdGF0
ZSBpbiBwY2kuaD8gSWYgaXQgaXMgc3VpdGFibGUsIEkgd2lsbCBjaGFuZ2UgaW4gbmV4dCB2ZXJz
aW9uLg0KPj4NCj4+Pg0KPj4+PiArew0KPj4+PiArwqDCoMKgIHN0cnVjdCBwY2lfZGV2ICpwZGV2
Ow0KPj4+PiArwqDCoMKgIGludCByZXQgPSAtRU5PREVWOw0KPj4+DQo+Pj4gU29tZSBYU00gY2hl
Y2sgc2hvdWxkIGJlIGludHJvZHVjZWQgZnJvIHRoaXMgb3BlcmF0aW9uLCBhcyBub25lIG9mIHRo
ZQ0KPj4+IGV4aXN0aW5nIG9uZXMgaXMgc3VpdGFibGUuwqAgU2VlIHhzbV9yZXNvdXJjZV91bnBs
dWdfcGNpKCkgZm9yIGV4YW1wbGUuDQo+Pj4NCj4+PiB4c21fcmVzb3VyY2VfcmVzZXRfc3RhdGVf
cGNpKCkgb3Igc29tZSBzdWNoIEkgd291bGQgYXNzdW1lLg0KPj4gSSBkb24ndCBrbm93IHdoYXQg
SSBzaG91bGQgZG8gaW4gWFNNIGZ1bmN0aW9uKGFzc3VtZSBpdCBpcyB4c21fcmVzb3VyY2VfcmVz
ZXRfc3RhdGVfcGNpKS4NCj4+IEhpIERhbmllbCBQLiBTbWl0aCwgY291bGQgeW91IHBsZWFzZSBn
aXZlIG1lIHNvbWUgc3VnZ2VzdGlvbnM/DQo+PiBKdXN0IHRvIGNoZWNrIHRoZSBYU01fUFJJViBh
Y3Rpb24/DQo+Pg0KPiANCj4gUm9nZXIsIHRoYW5rIHlvdSBmb3Igc2VlaW5nIHRoaXMgYW5kIGFk
ZGluZyBtZSBpbiENCj4gDQo+IEppcWlhbiwgSSBqdXN0IHdhbnRlZCB0byBsZXQgeW91IGtub3cg
SSBoYXZlIHNlZW4geW91ciBwb3N0IGJ1dCBJIGhhdmUgYmVlbiBhIGxpdHRsZSB0aWVkIHVwIHRo
aXMgd2Vlay4gSnVzdCB3aXRoIHRoZSBjdXJzb3J5IGxvb2ssIEkgdGhpbmsgUm9nZXIgaXMgc3Vn
Z2VzdGluZyBhIG5ldyBYU00gY2hlY2svaG9vayBpcyB3YXJyYW50ZWQuDQo+IA0KPiBJZiB5b3Ug
d291bGQgbGlrZSB0byBhdHRlbXB0IGF0IHdyaXRpbmcgdGhlIGR1bW15IHBvbGljeSBzaWRlLCBt
aW1pYyB4c21fcmVzb3VyY2VfcGx1Z19wY2kgaW4geGVuL2luY2x1ZGUveHNtL2R1bW15LmggYW5k
IHhlbi9pbmNsdWRlL3hzbS94c20uaCwgdGhlbiBJIGNhbiBsb29rIGF0IGhhbmRsaW5nIHRoZSBG
TEFTSyBwb3J0aW9uIG5leHQgd2VlayBhbmQgcHJvdmlkZSBpdCB0byB5b3UgZm9yIGluY2x1c2lv
biBpbnRvIHRoZSBzZXJpZXMuIElmIHlvdSBhcmUgbm90IGNvbWZvcnRhYmxlIHdpdGggaXQsIEkg
Y2FuIGxvb2sgYXQgdGhlIHdob2xlIHRoaW5nIG5leHQgd2Vlay4gSnVzdCBsZXQgbWUga25vdyB3
aGF0IHlvdSB3b3VsZCBiZSBjb21mb3J0YWJsZSB3aXRoLg0KSSB3aWxsIHJlZmVyIHRvIHhzbV9y
ZXNvdXJjZV91bnBsdWdfcGNpIGFuZCB0cnkgdG8gYWRkIGR1bW15IHBvbGljeSBpbiBuZXh0IHZl
cnNpb24uIEkgYW0gbG9va2luZyBmb3J3YXJkIHlvdXIgcmV2aWV3IGFuZCBndWlkZS4gVGhhbmsg
eW91IHZlcnkgbXVjaCENCg0KPiANCj4gdi9yLA0KPiBkcHMNCg0KLS0gDQpCZXN0IHJlZ2FyZHMs
DQpKaXFpYW4gQ2hlbi4NCg==


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:09:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:09:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644679.1006050 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gnC-0004bK-8H; Thu, 30 Nov 2023 13:09:22 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644679.1006050; Thu, 30 Nov 2023 13: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 1r8gnC-0004bD-4r; Thu, 30 Nov 2023 13:09:22 +0000
Received: by outflank-mailman (input) for mailman id 644679;
 Thu, 30 Nov 2023 13:09: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=J4Nc=HL=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8gnA-0004b7-RD
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:09:20 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id abd58a22-8f81-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 14:09:19 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id E8E4A4EE0739;
 Thu, 30 Nov 2023 14:09:18 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: abd58a22-8f81-11ee-98e4-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 30 Nov 2023 14:09:18 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>
Cc: Jan Beulich <jbeulich@suse.com>, xen-devel@lists.xenproject.org, George
 Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>, Stefano
 Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, =?UTF-8?Q?R?=
 =?UTF-8?Q?oger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>
Subject: Re: [PATCH] x86/DMI: adjustments to comply with Misra C:2012 Rule 9.3
In-Reply-To: <62cf8ca8-e395-44b4-8fa9-8909393e1795@citrix.com>
References: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
 <533b6aadb95ab767c9060d5a5ed7505f@bugseng.com>
 <62cf8ca8-e395-44b4-8fa9-8909393e1795@citrix.com>
Message-ID: <82b7cd7cee76a5367fe22651edc8b2bf@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=UTF-8;
 format=flowed
Content-Transfer-Encoding: 8bit

On 2023-11-30 13:03, Andrew Cooper wrote:
> On 30/11/2023 12:00 pm, Nicola Vetrini wrote:
>> On 2023-11-30 08:55, Jan Beulich wrote:
>>> The rule demands that all array elements be initialized (or dedicated
>>> initializers be used). Introduce a small set of macros to allow doing 
>>> so
>>> without unduly affecting use sites (in particular in terms of how 
>>> many
>>> elements .matches[] actually has; right now there's no use of
>>> DMI_MATCH4(), so we could even consider reducing the array size to 
>>> 3).
>>> 
>>> Note that DMI_MATCH() needs adjustment because of the comma included 
>>> in
>>> its expansion, which - due to being unparenthesized - would otherwise
>>> cause macro arguments in the "further replacement" step to be wrong.
>>> 
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>> ---
>>> Of course a question is how many of these DMI table entries are in 
>>> fact
>>> no longer applicable (e.g. because of naming 32-bit-only systems).
>>> Subsequently the table in dmi_scan.c itself may want cleaning up as
>>> well, yet I guess the question of stale entries is even more relevant
>>> there.
>>> 
>>> An alternative to using the compound literal approach might be to go
>>> along the lines of
>>> 
>>> #define DMI_MATCH4(m1, m2, m3, m4) .matches = { [0] = m1, [1] = m2,
>>> [2] = m3, [3] = m4 }
>>> 
>>> I've chosen the other approach mainly because of being slightly 
>>> shorter.
>>> 
>> 
>> From a MISRA perspective this resolves all but one violation: the
>> initialization of static array
>> 
>> ns16550_com[2] = { { 0 } };
>> 
>> in drivers/char/ns16550.c. This is a case where the explicit
>> initializer looks unnecessary.
>> 
> 
> 
> Yeah.  That should just be ={}; which ought to resolve the violation?
> 
> ~Andrew

Yes

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:14:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:14:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644685.1006059 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8grq-0007DU-Sh; Thu, 30 Nov 2023 13:14:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644685.1006059; Thu, 30 Nov 2023 13:14: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 1r8grq-0007DN-Q5; Thu, 30 Nov 2023 13:14:10 +0000
Received: by outflank-mailman (input) for mailman id 644685;
 Thu, 30 Nov 2023 13:14: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8grp-0007DH-3O
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:14:09 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20601.outbound.protection.outlook.com
 [2a01:111:f403:2612::601])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 57efe9bb-8f82-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 14:14:08 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7357.eurprd04.prod.outlook.com (2603:10a6:800:1ae::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Thu, 30 Nov
 2023 13:14:03 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 13:14: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: 57efe9bb-8f82-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OESFh8BbptiZciBU83JR0Cz5TULbPabyL+v0RIAGTVO2dsEWM9+P/t0Ks/vPeS1EqsDDRTGReY0iTwhRYf5TEsqzJbNm7zXv4jd8oAw7NMRC10s345yIoTUlxtm5+ugkEHpR0C3W3pqKAzPFqlbkzOT72aGGe1SjV9MzvWeybKJGrwwv140hXwtFNrpQPSIVCDtnH5HBOSz0BU/4bZDkRBuxO86ULL7vdNZ3kCfWBzava8Tk0hLuALkpUDOy69NosCASJDFBMUJ+4vBWnHDrw5KAJyLOk2FUkIXhQM7976O1LUYHztZ3afn2AI5L1tZNO1ykKX5nMNdiRobWwKlmZA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=foRgBi3y0Cr4pbnmS1mZTp0AFBaiFoaRWRfaDDltVoY=;
 b=m64ds1VCLAPj9c5SJv2SInhTRMN9BdHSo0YwbYM8fUhHp6p0oS6DMFfOMGo9C+3wNGSl3W7WRoodik32rhNdHA6hYZlQlMGBQcdeLI4vArp19aITIOdg+GqMcw88H0R9FTjRCeal5we5qCtbVQA9C+g3GdwWTHS97oIEIucguIIRMiJkEMC66gcgCYkn84pXw2m18LJjWewFJibSMixrb1nwGBuoWUc1E3pr7L4AS7TpPHJnVTLCXVhZ2tBa2bIJRBJxE7lYiRzcmbCa/I6y9hIRajeXSeplAFw0SVHqkUkMv139xtSMUpIOZI8dJQrpBYUaCep5ZuqbVmgpJq8qzw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=foRgBi3y0Cr4pbnmS1mZTp0AFBaiFoaRWRfaDDltVoY=;
 b=kNH+mfx0EuH7hkZI7t6OQHqk3lVR2j9R8bNOALc2LT94CVTYTZ43ySrZpGE+amQlUR8TnPzl1SnkzGca9jJG3fpCkEENXtsM+3q77tAIMixo8yjrI1StXR95PcPjpU/pd+3fqbHvTF+WCfjQsQyJJelyxXuZX31LiMr7JA8eXB9jcm9r02bRzJHhF1wsbSwWW2ecQADNEJkgpHuXeL5AlxvuR3kqMjHvMDsiVN6BOjydV3wPudYsEZ4/R6myL0EuRfwO7Ozv7K/nE+UMUD7uaEH8HK1RaU0V1AecxfOWKoRPtufm+O6o1z137A7+CiRqHPEtUKCJGuOKbAuFphCX2A==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0ff3e706-7bc9-4502-ba4c-6e45b9a3007b@suse.com>
Date: Thu, 30 Nov 2023 14:14:01 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/public: fix flexible array definitions
Content-Language: en-US
To: Juergen Gross <jgross@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: <20231130092112.18118-1-jgross@suse.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231130092112.18118-1-jgross@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR3P281CA0144.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:95::15) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7357:EE_
X-MS-Office365-Filtering-Correlation-Id: b61c5ba5-74cb-42d5-7289-08dbf1a63961
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:
	ReITQfSYvUotQ/MVSgodNigpW4hlVB9L3Aw2XhCq11xyYGKLhLythootEsZF5USI4lu3ELctRfLQUKYcQ/k6Q6IzwkbpKy9zdUoyLDT+pLqGjkXxm2305IckkEEw2rLsW/FhkEx+AJp9hvueHl6KOd4MP6KE/V9t4YqdbHBCSUTup6wBOFbhI8Mt63J9cGz+T6LW7c/byj/tZq5Gnw7AnZuc1CpddDw2nSR9kxw+I3g/Af6yPLkBUr95qKV5AC6BoTDxjFbCKhUfjoQsUzqhPI5K5GafNWTJnUVw8YoY7Y3nkomUD6P3FBMWrkfb8+Y8Px5DSSeU9/PXx84rciTgmWyYIoHPpg9zUpUsFPFhtRu4M1HMW11enETiJ/0CEO1XWFV7v+dB22sf4rcG6RybCVbB9Tj6HWHuMTxlIuYC/5aY7Xo54ZzQFfZhCWwE6NeqiXBFF5mHmzFbX5i4MywI/EKU8QGEo1asMBxoQNkH5ktqq0VnRwCQtFUCNyRi9QHPTZy4pE1vkYWhrtqoVJPcnWtEXEXMdyzO03nKLphxKaOXnlXrfCkjHYSAvJzc+9YUxJY7STl2b4fCYO0VP2yMz8hj8ATOP03DFCXIk5XJMpLi4No2bSIxawF2eoToTjVlUeHk8M28N/uw7B81BvhyqA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(346002)(136003)(39860400002)(396003)(366004)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(41300700001)(54906003)(66946007)(37006003)(66556008)(31696002)(31686004)(66476007)(6636002)(4326008)(8676002)(38100700002)(478600001)(6486002)(2906002)(4744005)(316002)(5660300002)(8936002)(86362001)(6862004)(53546011)(6506007)(36756003)(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?MHpyMXZ6dEJJSFJzb2hwczIwazFUMGVzZWZhcmhYZHhqMUlWWlN4OFB1RnNp?=
 =?utf-8?B?TzY2cEV6R2RoUTNqUnhjVjVzQ1AyOTNUUkJMOVlJeGNIelFWY3RhYUExR3Yy?=
 =?utf-8?B?NzZNOG9QNnRxZXdUcllPeGQrUlJzSHdZWEZFZUU5UkswV1dRUmYrOWgvaDd4?=
 =?utf-8?B?aFR0UFE5Z3ZGcHlYMVlGWWVHNVJGbFd1UEJ6dDJVUWRPWDUrb0ZGT0J4VjVO?=
 =?utf-8?B?NVNYQktSOXBYQ084WDhzRmZYOC9GeUs4MEZVWjJJYWNHSVNnNUpQMVM2eTZt?=
 =?utf-8?B?WE5RRDQ4UzFVaEN5cC9wbXlJelhYdll4RHlML0pTSlBIRWpHVngzWThVRDly?=
 =?utf-8?B?K0tlR01yWm0vSzNUSStZdDZETFVyRGlHekI0dWF1b05FeUF4WHpkYWhYeHFq?=
 =?utf-8?B?YWtsSmFyZHBNL0gvQVFrUGtHYlEzbVhiTGtqMEltYXUrbmF5NFU5RnhPK1hG?=
 =?utf-8?B?NitCN29vUTRHMSt1bm1TV2xkYWdjVHJRRWZjcyt6b25vYmJqWmd3YlZDaXR0?=
 =?utf-8?B?M2dSMitsTS9tWC83NVQycU9jRytJSEhXSW5wZ1JRWDdjZEhCdXRvVzZPYjQ3?=
 =?utf-8?B?TEhDbzZHK3dFZE8xWlNmblBtR2Z5U3V6MkluaHZGcGNIK0k4ZGJXNmdQL2dX?=
 =?utf-8?B?RWJPb2FmNXdLUTBPSEVydTdtbEdNY1VaS2NmVXV0UGttaUZiYkRzTTJ2a0FK?=
 =?utf-8?B?cE40a1RGUDhsL3hRaG5YbmRxK1FoZ0lKaHdaY003blExMGNBVmc3bmJTVld3?=
 =?utf-8?B?a0o1Zm93R05NVTl0aUZKWERTN0dYOWZIdVcyc2RTUUE1UTFhRU13MDNrcDN6?=
 =?utf-8?B?di9zdUpJUlh0VWwxdVNYay9VQVFDa09vYUpuanVreHE3dWkzOEpqT01wRVpH?=
 =?utf-8?B?VG9uRW1WMTZTcTJpMkM2QTcrOEhsSlFUZ2E1WmJDV1ZYaTFlTFltTHJYclhh?=
 =?utf-8?B?N2dkVVFIdjlHdHNMbzl6ZmNoUERNclc1bmVHSW1NOW9yM1lTL3JUWm1tTDVT?=
 =?utf-8?B?WVVVcTVpKzY4VkFPRVVnQ1R5cDNLLzhWY2lZNGNnWDZlVGkwYVFwcCtscDFa?=
 =?utf-8?B?TDJnY25oaVRsc05jc2dBam9UQ1NUSSt6YXlrbFN1Ly80Yk1GNGp2SUZTVDhP?=
 =?utf-8?B?UTNqd1c4ZmVzM2dZYWVYZVhmVWwwOGZFNUtNK0ZvSXdob0ZpdEliWm5ZbEo4?=
 =?utf-8?B?eUtaT1hoaFhCZXdtTVBiNEpiaEMvOUhpN0VyaklmSk5JUVN3Y3F5NC9sSU84?=
 =?utf-8?B?ZXl6UmpLcm5sbGoxWUhiKzVPUWJGZW14dEZzbGErTGd3M2NRazAvalZ2NnNk?=
 =?utf-8?B?SXcvRUtFajVDZnZXZkZKa3F4a2RMMXBxdFdhbUNlMms1TERMRXlibkd2UmI5?=
 =?utf-8?B?OEJMSmhENkFYcFU3ZFBYdVVvcGpMOWVPNDE0d0VwcmFmZEpXMVQwVkJKTFI0?=
 =?utf-8?B?UC9LTE5NeFpwK1NDYUJqNUpLT0JMSjh6T2p5Wml1OUFTL3I4TXBab3lSSXhK?=
 =?utf-8?B?ZXplUGdFdkdWNVpzTG5KRmFma2xOcklxdTRmVEcvenEvaG1JNDZxZGxpWHJl?=
 =?utf-8?B?a2ZnR0R2Ukc5SzFJZlhoSUNheW5jUVlvcDdxVWRIVS9wNmZBZWxTYkxBdG1a?=
 =?utf-8?B?bkdPTHVDQUVrWlB5S2FmSkdyL3U5TmgwS3hRbGFDUjNJMTJXM2RiczlPNTJj?=
 =?utf-8?B?WjdmQkhtcDhIek03Z3AzNUtNSkl0SW1tZXZYWTJRN0h5QmoySjRVWDV4M21t?=
 =?utf-8?B?U1ZiY1hYWDhjeThoOEtMWmJPMWNUcmphSmNsZVZNekZSbzFCZm9Zb1BFQXlu?=
 =?utf-8?B?eHBORmpPa0ZKdlRYalRPN0V2dmpnWFhSY2Z6cCtFNG82SkloUTJSOWQrY0tQ?=
 =?utf-8?B?b0pqTGwvZm1CMDJJRk8reTJhaHppLzBKS2xubFZydGprRkxLa0RZR05PU1R4?=
 =?utf-8?B?M1prTVU5ZVY5SkRoS0N2b1hFTzlxTy9LdnVkN1Z4cXIwc25nRFVQanRXU3kv?=
 =?utf-8?B?alV5b1lIL1piNURtUDFYd3VRSVVaM1FsMktjelBERGhIUUlScm1kOTRLTk9U?=
 =?utf-8?B?OVhIMlJ5U0tUWC9jTndyNXgyekdPU1FMWHd5aGkxNm9GeU9rYWkxSVJyejVz?=
 =?utf-8?Q?qwAsrLoVau/MRpoVrtQ2P9YV0?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: b61c5ba5-74cb-42d5-7289-08dbf1a63961
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 13:14:03.4601
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: mGueQkCcZKUb8LHWt5PT3Ay39wC29qxpcef6T7DaSoEKLBwHjGHcEWrbvilRC5/o5MwIhpR+N5tnxj8yxMumjA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7357

On 30.11.2023 10:21, Juergen Gross wrote:
> --- a/xen/include/public/xen.h
> +++ b/xen/include/public/xen.h
> @@ -46,6 +46,12 @@ DEFINE_XEN_GUEST_HANDLE(xen_ulong_t);
>  #else
>  #define XEN_FLEX_ARRAY_DIM  1 /* variable size */
>  #endif
> +/* Some PV I/O interfaces need a compatibility variant. */
> +#if __XEN_INTERFACE_VERSION__ < 0x00041300
> +#define XENPV_FLEX_ARRAY_DIM  1 /* variable size */
> +#else
> +#define XENPV_FLEX_ARRAY_DIM  XEN_FLEX_ARRAY_DIM
> +#endif

May I suggest that this live in io/ring.h, for the lack of a better place
under io/?

Jan



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:18:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:18:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644689.1006069 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gvh-00011J-DG; Thu, 30 Nov 2023 13:18:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644689.1006069; Thu, 30 Nov 2023 13:18: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 1r8gvh-00011C-Ab; Thu, 30 Nov 2023 13:18:09 +0000
Received: by outflank-mailman (input) for mailman id 644689;
 Thu, 30 Nov 2023 13:18: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=ATR2=HL=arm.com=Luca.Fancellu@srs-se1.protection.inumbo.net>)
 id 1r8gvf-000116-K7
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:18:07 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20615.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::615])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e51b4add-8f82-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 14:18:05 +0100 (CET)
Received: from AS9PR01CA0024.eurprd01.prod.exchangelabs.com
 (2603:10a6:20b:540::29) by AS8PR08MB6389.eurprd08.prod.outlook.com
 (2603:10a6:20b:33e::8) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 13:17:59 +0000
Received: from AM4PEPF00025F98.EURPRD83.prod.outlook.com
 (2603:10a6:20b:540:cafe::10) by AS9PR01CA0024.outlook.office365.com
 (2603:10a6:20b:540::29) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend
 Transport; Thu, 30 Nov 2023 13:17:59 +0000
Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by
 AM4PEPF00025F98.mail.protection.outlook.com (10.167.16.7) with
 Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.7068.1 via Frontend Transport; Thu, 30 Nov 2023 13:17:59 +0000
Received: ("Tessian outbound 20615a7e7970:v228");
 Thu, 30 Nov 2023 13:17:59 +0000
Received: from a7c3931eab3f.2
 by 64aa7808-outbound-1.mta.getcheckrecipient.com id
 064CBFA7-AECC-46E8-8921-1268237E35F1.1; 
 Thu, 30 Nov 2023 13:17:48 +0000
Received: from EUR04-VI1-obe.outbound.protection.outlook.com
 by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id a7c3931eab3f.2
 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384);
 Thu, 30 Nov 2023 13:17:48 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com (2603:10a6:20b:8f::22)
 by PR3PR08MB5563.eurprd08.prod.outlook.com (2603:10a6:102:89::13)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24; Thu, 30 Nov
 2023 13:17:46 +0000
Received: from AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838]) by AM6PR08MB3749.eurprd08.prod.outlook.com
 ([fe80::8da:b5c2:b334:838%7]) with mapi id 15.20.7046.024; Thu, 30 Nov 2023
 13:17: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: e51b4add-8f82-11ee-9b0f-b553b5be7939
ARC-Seal: i=2; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=pass;
 b=keSW1HYwdbmTjxwB2PfaavIMO8M5l+rcx03qJsNxm9UgutD2d0yw53fHOIiykvTUkXqfEqaQlUtM00eVQdmnFKrvy0IxYXAyj+1S9RGI3LM1EdH/ousWxdQDuBqoLKzlgb+7wrsJHE6zUwVbTwFytLxhJOaJxqB2kWQeh7Pk67JnOQa4Uy3DaPtNGuaEv6M7OsC3M3n7LCd/WOULWBVPAJ1nr8cK59p9YTH926yw+eWPY1wrltPm5JQKRxXW5L/36rFUY/JqZ5Uqpr8+Eh11DPz3aTpSIwCV81fyvvBZJ6CuGAMKeUhNuensrH0xziF/eW/KcMk4EYG8Na1n4iZH1Q==
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=LhmCmeazCrVjVTIlI8sjbwjNGKrZZLrBpFK10H5oIZc=;
 b=boTG4wV27cRipYLuqpo9J8cPxllnJYrfoqLLR6jM4JOP2OmPEn3HEYSBr3H9GLmNpQGFvOm5EnzLd3iaL48F9FpNALyWfZAPn/UkjoFxaTK+sujieTULoKfUKhKS5d8ygrT4GYGB+PPy327q+VMH2ZNynpwu6Tc+PHv1MuNlyF4EfXKs2ABocRIVHDveiztob35IHdFlcajKVhqQNVC+U1ljKYo3hJwF412fdqXMCoy5odMB5YPTAAxprDtRxY6T7xcibnlRQVaT36kKNMbrbHyrup0R1kSPDENF8jzhl4XA6WiT3kYrI9Mcu8EYZeZcJulQ9R5QvnkmbV2jvoRZbw==
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=LhmCmeazCrVjVTIlI8sjbwjNGKrZZLrBpFK10H5oIZc=;
 b=jFSwWpDiOqHTvDl2nW1yfkKNPjCBgkAWCLg7GiXZnmBp0HGwxHnpzkh11SNVq9DPIRbsPuJbP3KsB1AwS++ThsZQDlU/keRWPbMBKOxYVJ4OHo6xDDsWKLGkwP7Qq+FfOVJM0fFuKmeGoNGhRE0+cJngV3K+m013GLG+s8hfdIA=
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: 2550852a209e32f9
X-CR-MTA-TID: 64aa7808
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=i/0O+5gzmy2arHa7i/zWH4BKSACzdWtdkWEdaYhrVZ7OU6Cg7J7Sg8seTsRWbp+v0IUH2ZY1PKA8pVn7pQ8u8ptVEQ2x9kgsyfmudNoo+IIVaFM/j4Ktywp/DWFSqQLVVWRWsz9MWtRaNQ+/Kj2AKLSD+G15G1FogRvyF0wZEYbYk3h1Gz2D10GoY/SRLB7PGs1LR99NUTeUPPN1fDM6IDr3sa3AFcsUegvs49RKZR6Vc2jRfl3CahrYnoy52i58+HdyVwWtwNEH7DbrmnPukYy6dGFDsJVlsi9ZXpqVfL4iX2F6YjH/SKJ8X3TiJv0LITblL7K+0QkEKS2PnUzaUg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=LhmCmeazCrVjVTIlI8sjbwjNGKrZZLrBpFK10H5oIZc=;
 b=T1Dz7eo7c7zU6QKSGQ1x7iFjNUtSAJaXT5oTlDFiZzJnC6MLS23S9kbwAhmzb8wb+2hWaoKYqMgzUyAj0//UScHqhn26daUGVmg/eBZj2fApSw49VAza5tJAdt9Sa/pt6KAsoQr6dEYebXWHe2vpGwl7aLLXCj69m8qFlxAZaIlNl5vMkgEWqjywFK58WS79ZjqsewjdF7wxy1D3C+ZSKEI6RQAdTCeKaa3RRL2RiPPwv+6buQToQPuU6u8ypv5kXQZbYvYn311sIa76/ZJztt54g/5zQLiEjwF2TRge1HZAy6A7XmNqnXZ9/DBG1C7akwDKAth5v59dEqKeSEqNZw==
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=LhmCmeazCrVjVTIlI8sjbwjNGKrZZLrBpFK10H5oIZc=;
 b=jFSwWpDiOqHTvDl2nW1yfkKNPjCBgkAWCLg7GiXZnmBp0HGwxHnpzkh11SNVq9DPIRbsPuJbP3KsB1AwS++ThsZQDlU/keRWPbMBKOxYVJ4OHo6xDDsWKLGkwP7Qq+FfOVJM0fFuKmeGoNGhRE0+cJngV3K+m013GLG+s8hfdIA=
From: Luca Fancellu <Luca.Fancellu@arm.com>
To: Michal Orzel <michal.orzel@amd.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 v2] xen/arm: Move static event channel feature to a
 separate module
Thread-Topic: [PATCH v2] xen/arm: Move static event channel feature to a
 separate module
Thread-Index: AQHaI3PLyHz5Q1Ih30+bcD6BASdasLCS2EKA
Date: Thu, 30 Nov 2023 13:17:46 +0000
Message-ID: <915388E2-F755-4F62-B796-63A174DFF3C1@arm.com>
References: <20231130095757.11162-1-michal.orzel@amd.com>
In-Reply-To: <20231130095757.11162-1-michal.orzel@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.3774.200.91.1.1)
Authentication-Results-Original: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=arm.com;
x-ms-traffictypediagnostic:
	AM6PR08MB3749:EE_|PR3PR08MB5563:EE_|AM4PEPF00025F98:EE_|AS8PR08MB6389:EE_
X-MS-Office365-Filtering-Correlation-Id: 01fc7e9f-8c9f-4a1a-03a5-08dbf1a6c646
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:
 DqshuKJ9pgGpbDlMXsfgRumlnIoBsZ5mNO4hqmfZYYSLmXAloVqG3KNjtAnZQMmoYr29m+HixKVhLd574bvO6wjEcH0z69BtGVZGRcX3aJoEqu5wvg1JdNdjP5KRHSwNLHNrJwNHGJUm99peCyllaSU2vnkCgv9cTM8U9evp6s21N1gjljwCa/gtHEX4jlw/gnj/gAJISSQ5Yg0bwG3oMX+T0y/QIp3qJYyMK++nscOHJZmiezL9A+nbFDSzIdeI4rZYN702Ticz6m0SNs+FV/twjV6itoBMN3lG64WIDZbPlu8sHwKOMqjpHKgDeeAkVwmmmSWsOVz5xiyk7uRP4yvZ8up/B650VjoJwGy1tufrG2O997LmY1OQmNSecyh5xPWgNZbedFNIijauROY56kdQILYBNdgScKyQ9uairegre6ZWPcUcPle2fU5rEg/dOhMwUZJQWuY9fsriz0AuzQ5KMSObMpj/8UiSBH+DyAxe0VFr4VJI8heOkUWExCa6vBE3QK2M/Z7+ujyrz7gYCgwjSa+CilRazonE72jwym9sv+KRJWsX4QfnoGbJR9VeGUue6yRo29tofSbuhjUgCkdXqviUTdBwYmgGwpH1xW06msh+/N66g0GENL293C5kijJxJb9DCxNwRFenPwD7SaKOW+Fc07dZ5af2UfRzaHsXmGGZ2DIWeCwjGfVz7AIa
X-Forefront-Antispam-Report-Untrusted:
 CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM6PR08MB3749.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(376002)(396003)(366004)(346002)(230922051799003)(230173577357003)(230273577357003)(64100799003)(1800799012)(186009)(451199024)(53546011)(478600001)(2616005)(6512007)(26005)(6486002)(71200400001)(6506007)(2906002)(54906003)(83380400001)(41300700001)(4744005)(5660300002)(66556008)(66476007)(66446008)(76116006)(66946007)(64756008)(6916009)(91956017)(8936002)(316002)(8676002)(4326008)(38100700002)(122000001)(38070700009)(36756003)(33656002)(86362001)(45980500001);DIR:OUT;SFP:1101;
Content-Type: text/plain; charset="us-ascii"
Content-ID: <8A5E2AA972DD9849A2126F78D5A7A7C0@eurprd08.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PR3PR08MB5563
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:
 AM4PEPF00025F98.EURPRD83.prod.outlook.com
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id-Prvs:
	2797c19e-94e0-458b-f168-08dbf1a6be41
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	7UuyUuJACvqaVoyVqWUPfAfI2qArG+Icnrtr4NXX+BKHISMM4SW1yei6C0w6cAd43kbssMoifA8D7jOb23Lcyiwd1/5ZTPAkP9075zZiO4ZEpGJ/qa4cpjgW4oEXMBM8vyWSEgdpxBQ09MYc6lJLB0fPYRiCxzk1tm8uaKj8eZi3Ii/xJ9w9Wy6jc/xJWkxJJUwHc4ZqDjC6l6x1OfKQ7vHohZGqmc7Zi/VYWsaRyXYLT/tfXXgf282qp/D5RdKAvjRsTSZEa8ko65mSpSXz/hbY57FLEnlXYBFHHnHrvvL4wDtrcV2WH+Py3TkrH8V7A9kVmmcbtmKPUyi2DKxdz4UgW6bszeDOqvdWOi7qOSBSRHKC7JLLAgrFgyQ0fah6ZVVVkddZtU7yN/3TidykKLk6/cPS29IlOc1sP2G173QF12Zz4pex2FdnaoUJu16/1BK0BuoEOC94AEEPuilMJie8saoJpOh4qcxPrRI6ljH5ONW+pVlFFzIlRX3o1vZDh2DDJLZaqXcFAKqXCVixn2qDU6wVfFYyCcDnMa2GOM2RJ5xSf3f3hnb5wSHTtHuY3/diCqDPgQMjh+ajgzLWdYFq70UoAyPP+lIibNZIKxsnce055Od5F/gNsw1O84ugtS9cf/0DzKEb6dO31GaWx4QOehVJ/Ey5aQ6szDS4NYLDGga8+5wJozDY7ocshK9roXwa4+fLO1MzQ7m1hRXkQ19XGn70Sl9g9himmNBQNSLjQCnw2CL0La3omf0Dh+q3ZLAY0dk1YzWVLZWE8TQSaKTDunHPScWIRq184ABGyyI=
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:(13230031)(4636009)(136003)(346002)(376002)(396003)(39860400002)(230273577357003)(230922051799003)(230173577357003)(451199024)(64100799003)(1800799012)(186009)(82310400011)(36840700001)(40470700004)(46966006)(8676002)(8936002)(6862004)(4326008)(36756003)(316002)(70206006)(70586007)(54906003)(2906002)(41300700001)(33656002)(40460700003)(86362001)(5660300002)(81166007)(47076005)(356005)(26005)(107886003)(40480700001)(83380400001)(82740400003)(336012)(36860700001)(478600001)(6486002)(6512007)(2616005)(6506007)(53546011);DIR:OUT;SFP:1101;
X-OriginatorOrg: arm.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 13:17:59.5930
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 01fc7e9f-8c9f-4a1a-03a5-08dbf1a6c646
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:
	AM4PEPF00025F98.EURPRD83.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6389



> On 30 Nov 2023, at 09:57, Michal Orzel <michal.orzel@amd.com> wrote:
>=20
> Move static event channel feature related code to a separate module
> (static-evtchn.{c,h}) in the spirit of fine granular configuration, so
> that the feature can be disabled if not needed.
>=20
> Introduce Kconfig option CONFIG_STATIC_EVTCHN, enabled by default (to
> keep the current behavior) dependent on CONFIG_DOM0LESS. While it could
> be possible to create a loopback connection for dom0 only, this use case
> does not really need this feature and all the docs and commit messages
> refer explicitly to the use in dom0less system.
>=20
> The only function visible externally is alloc_static_evtchn(), so move
> the prototype to static-evtchn.h and provide a stub in case a feature
> is disabled. Guard static_evtchn_created in struct dt_device_node as
> well as its helpers.
>=20
> Signed-off-by: Michal Orzel <michal.orzel@amd.com>
> ---

Hi Michal,

FWIW because it is already Ack-ed.

Reviewed-by: Luca Fancellu <luca.fancellu@arm.com>





From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:20:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:20:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644692.1006079 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gyG-0003ma-QJ; Thu, 30 Nov 2023 13:20:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644692.1006079; Thu, 30 Nov 2023 13:20: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 1r8gyG-0003mT-Nj; Thu, 30 Nov 2023 13:20:48 +0000
Received: by outflank-mailman (input) for mailman id 644692;
 Thu, 30 Nov 2023 13:20: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=Tvl7=HL=kaod.org=clg@ozlabs.org>)
 id 1r8gyF-0003mN-Nf
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:20:47 +0000
Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 43eef967-8f83-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 14:20:46 +0100 (CET)
Received: from gandalf.ozlabs.org (mail.ozlabs.org
 [IPv6:2404:9400:2221:ea00::3])
 by gandalf.ozlabs.org (Postfix) with ESMTP id 4Sgxdj5bkSz4xjY;
 Fri,  1 Dec 2023 00:20:41 +1100 (AEDT)
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by mail.ozlabs.org (Postfix) with ESMTPSA id 4Sgxck69gcz4xW7;
 Fri,  1 Dec 2023 00:19:50 +1100 (AEDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 43eef967-8f83-11ee-98e4-6d05b1d4d9a1
Message-ID: <f9b6941c-15b9-40ec-bc17-a154678d1a1c@kaod.org>
Date: Thu, 30 Nov 2023 14:19:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] qemu/main-loop: rename qemu_cond_wait_iothread() to
 qemu_cond_wait_bql()
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 qemu-ppc@nongnu.org, =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?=
 <philmd@linaro.org>, Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-4-stefanha@redhat.com>
From: =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>
In-Reply-To: <20231129212625.1051502-4-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/29/23 22:26, Stefan Hajnoczi wrote:
> The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
> instead, it is already widely used and unambiguous.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.





From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:21:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:21:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644696.1006090 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8gyh-0004H3-65; Thu, 30 Nov 2023 13:21:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644696.1006090; Thu, 30 Nov 2023 13:21: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 1r8gyh-0004Gw-3H; Thu, 30 Nov 2023 13:21:15 +0000
Received: by outflank-mailman (input) for mailman id 644696;
 Thu, 30 Nov 2023 13:21: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=Tvl7=HL=kaod.org=clg@ozlabs.org>)
 id 1r8gyf-0003mN-LP
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:21:13 +0000
Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 53ba84d1-8f83-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 14:21:12 +0100 (CET)
Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76])
 by gandalf.ozlabs.org (Postfix) with ESMTP id 4SgxfF5JRqz4xhb;
 Fri,  1 Dec 2023 00:21:09 +1100 (AEDT)
Received: from authenticated.ozlabs.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits))
 (No client certificate requested)
 by mail.ozlabs.org (Postfix) with ESMTPSA id 4SgxdL6Gzsz4xdZ;
 Fri,  1 Dec 2023 00:20:22 +1100 (AEDT)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 53ba84d1-8f83-11ee-98e4-6d05b1d4d9a1
Message-ID: <d9164828-22fb-42a4-b71a-5ae14a172d50@kaod.org>
Date: Thu, 30 Nov 2023 14:20:17 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/6] system/cpus: rename qemu_global_mutex to qemu_bql
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 qemu-ppc@nongnu.org, =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?=
 <philmd@linaro.org>, Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-5-stefanha@redhat.com>
From: =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>
In-Reply-To: <20231129212625.1051502-5-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 11/29/23 22:26, Stefan Hajnoczi wrote:
> The APIs using qemu_global_mutex now follow the Big QEMU Lock (BQL)
> nomenclature. It's a little strange that the actual QemuMutex variable
> that embodies the BQL is called qemu_global_mutex instead of qemu_bql.
> Rename it for consistency.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>


Reviewed-by: Cédric Le Goater <clg@kaod.org>

Thanks,

C.





From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:27:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:27:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644703.1006100 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8h4b-0005ch-Rp; Thu, 30 Nov 2023 13:27:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644703.1006100; Thu, 30 Nov 2023 13:27: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 1r8h4b-0005ca-P8; Thu, 30 Nov 2023 13:27:21 +0000
Received: by outflank-mailman (input) for mailman id 644703;
 Thu, 30 Nov 2023 13:27: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=XJ9b=HL=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r8h4a-0005cU-5v
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:27:20 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2f26c3ca-8f84-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 14:27:19 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org
 [IPv6:2a07:de40:b281:104:10:150:64:97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id 8BB9D21A68;
 Thu, 30 Nov 2023 13:27:17 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 55A8613AB1;
 Thu, 30 Nov 2023 13:27:17 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id 1auGE7WNaGUUQAAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 30 Nov 2023 13:27: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: 2f26c3ca-8f84-11ee-98e4-6d05b1d4d9a1
Message-ID: <ee30ea68-d4bd-4cf7-b845-0f9fc8c71b72@suse.com>
Date: Thu, 30 Nov 2023 14:27:16 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/public: fix flexible array definitions
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: <20231130092112.18118-1-jgross@suse.com>
 <0ff3e706-7bc9-4502-ba4c-6e45b9a3007b@suse.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <0ff3e706-7bc9-4502-ba4c-6e45b9a3007b@suse.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------wtd3JCv6eLzyD0YeExaGwES0"
X-Spam-Level: ***************
X-Spamd-Bar: +++++++++++++++
Authentication-Results: smtp-out1.suse.de;
	dkim=none;
	dmarc=fail reason="No valid SPF, No valid DKIM" header.from=suse.com (policy=quarantine);
	spf=fail (smtp-out1.suse.de: domain of jgross@suse.com does not designate 2a07:de40:b281:104:10:150:64:97 as permitted sender) smtp.mailfrom=jgross@suse.com
X-Rspamd-Server: rspamd2
X-Spamd-Result: default: False [15.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 MIME_BASE64_TEXT_BOGUS(1.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 MX_GOOD(-0.01)[];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[7];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 R_DKIM_NA(2.20)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 MID_RHS_MATCH_FROM(0.00)[];
	 BAYES_HAM(-0.00)[37.54%];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 R_SPF_FAIL(1.00)[-all];
	 FROM_HAS_DN(0.00)[];
	 DMARC_POLICY_QUARANTINE(1.50)[suse.com : No valid SPF, No valid DKIM,quarantine];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_HAM_LONG(-0.80)[-0.801];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_IN_DNSWL_HI(-0.50)[2a07:de40:b281:104:10:150:64:97:from];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Score: 15.00
X-Rspamd-Queue-Id: 8BB9D21A68
X-Spam-Flag: YES
X-Spam: Yes

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------wtd3JCv6eLzyD0YeExaGwES0
Content-Type: multipart/mixed; boundary="------------sH5qu5gcsmXzt6Z9ojvfSheR";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.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
Message-ID: <ee30ea68-d4bd-4cf7-b845-0f9fc8c71b72@suse.com>
Subject: Re: [PATCH v2] xen/public: fix flexible array definitions
References: <20231130092112.18118-1-jgross@suse.com>
 <0ff3e706-7bc9-4502-ba4c-6e45b9a3007b@suse.com>
In-Reply-To: <0ff3e706-7bc9-4502-ba4c-6e45b9a3007b@suse.com>

--------------sH5qu5gcsmXzt6Z9ojvfSheR
Content-Type: multipart/mixed; boundary="------------02ithC2nNX108fWyQ9bIa54N"

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

T24gMzAuMTEuMjMgMTQ6MTQsIEphbiBCZXVsaWNoIHdyb3RlOg0KPiBPbiAzMC4xMS4yMDIz
IDEwOjIxLCBKdWVyZ2VuIEdyb3NzIHdyb3RlOg0KPj4gLS0tIGEveGVuL2luY2x1ZGUvcHVi
bGljL3hlbi5oDQo+PiArKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMveGVuLmgNCj4+IEBAIC00
Niw2ICs0NiwxMiBAQCBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5fdWxvbmdfdCk7DQo+
PiAgICNlbHNlDQo+PiAgICNkZWZpbmUgWEVOX0ZMRVhfQVJSQVlfRElNICAxIC8qIHZhcmlh
YmxlIHNpemUgKi8NCj4+ICAgI2VuZGlmDQo+PiArLyogU29tZSBQViBJL08gaW50ZXJmYWNl
cyBuZWVkIGEgY29tcGF0aWJpbGl0eSB2YXJpYW50LiAqLw0KPj4gKyNpZiBfX1hFTl9JTlRF
UkZBQ0VfVkVSU0lPTl9fIDwgMHgwMDA0MTMwMA0KPj4gKyNkZWZpbmUgWEVOUFZfRkxFWF9B
UlJBWV9ESU0gIDEgLyogdmFyaWFibGUgc2l6ZSAqLw0KPj4gKyNlbHNlDQo+PiArI2RlZmlu
ZSBYRU5QVl9GTEVYX0FSUkFZX0RJTSAgWEVOX0ZMRVhfQVJSQVlfRElNDQo+PiArI2VuZGlm
DQo+IA0KPiBNYXkgSSBzdWdnZXN0IHRoYXQgdGhpcyBsaXZlIGluIGlvL3JpbmcuaCwgZm9y
IHRoZSBsYWNrIG9mIGEgYmV0dGVyIHBsYWNlDQo+IHVuZGVyIGlvLz8NCg0KWWVzLCBmaW5l
IHdpdGggbWUuDQoNCg0KSnVlcmdlbg0K
--------------02ithC2nNX108fWyQ9bIa54N
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------02ithC2nNX108fWyQ9bIa54N--

--------------sH5qu5gcsmXzt6Z9ojvfSheR--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVojbQFAwAAAAAACgkQsN6d1ii/Ey/n
dQf8CuPnMAwUqZPAUDQq+K+MWrTYvD32tNHpgnrEzNZyEHyH8ubRV2BK3yiE7TbGTAuDYO/tsYHJ
HOvH7LqrXBkTcWLfCLlFbgEeiEDz3D2G48U0Wq9R7eVi8cVHWHbEeDp7UEV45KnyQB0IhDMC7dJp
guvDVcrB5g/OZyX97UJLKAvL5KvWNE0BKHoDXPRd79S7GMX8OxVTStcvxSVRb1O1TUjLW/iPYN1k
nuGcHt2vo019rMmK8IWghjzVk2JC8ckGrMBuyruZL7gz6oVKGzzkLmed77m51HaG7X2sROeLv5iR
gYpRoeamcbC/D84Z8EgSs7tDgYoN5/MORqrPhWUeFQ==
=w9fU
-----END PGP SIGNATURE-----

--------------wtd3JCv6eLzyD0YeExaGwES0--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:28:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:28:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644706.1006110 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8h61-0006bF-8Y; Thu, 30 Nov 2023 13:28:49 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644706.1006110; Thu, 30 Nov 2023 13:28: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 1r8h61-0006b8-42; Thu, 30 Nov 2023 13:28:49 +0000
Received: by outflank-mailman (input) for mailman id 644706;
 Thu, 30 Nov 2023 13:28: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=XJ9b=HL=suse.com=jgross@srs-se1.protection.inumbo.net>)
 id 1r8h5z-0006aw-G6
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:28:47 +0000
Received: from smtp-out1.suse.de (smtp-out1.suse.de [195.135.223.130])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 62c09584-8f84-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 14:28:45 +0100 (CET)
Received: from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org [10.150.64.97])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by smtp-out1.suse.de (Postfix) with ESMTPS id AD99521AF0;
 Thu, 30 Nov 2023 13:28:44 +0000 (UTC)
Received: from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])
 (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
 key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256)
 (No client certificate requested)
 by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id 7995113AB1;
 Thu, 30 Nov 2023 13:28:44 +0000 (UTC)
Received: from dovecot-director2.suse.de ([10.150.64.162])
 by imap1.dmz-prg2.suse.org with ESMTPSA id ACj4GwyOaGUUQAAAD6G6ig
 (envelope-from <jgross@suse.com>); Thu, 30 Nov 2023 13:28: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: 62c09584-8f84-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1;
	t=1701350924; 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:autocrypt:autocrypt;
	bh=38QsGCZk7DUWKvrxLnDYETNGbgvSCczcs5NfNbat8ns=;
	b=Eq64GImBpq9Rp17vqee4DGY116/YImNdByGALYCpv7gF8StK61BVvIlSP+hDj2M2FypkM2
	lhFFGjpt4zL5iFg1l52WMfkz1YpeUksj+qL4w28wZb7hTlMutMU7TTJEYxt3R2UTUh22At
	PCgGE1OVqQn0lbzmpjPGrOfQlYcMUJo=
Message-ID: <36756a56-6505-4833-b324-ad0020ab049e@suse.com>
Date: Thu, 30 Nov 2023 14:28:44 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2] xen/public: fix flexible array definitions
Content-Language: en-US
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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>
References: <20231130092112.18118-1-jgross@suse.com>
 <36c90e92-4583-4015-9b37-823ca48d900b@citrix.com>
From: Juergen Gross <jgross@suse.com>
Autocrypt: addr=jgross@suse.com; keydata=
 xsBNBFOMcBYBCACgGjqjoGvbEouQZw/ToiBg9W98AlM2QHV+iNHsEs7kxWhKMjrioyspZKOB
 ycWxw3ie3j9uvg9EOB3aN4xiTv4qbnGiTr3oJhkB1gsb6ToJQZ8uxGq2kaV2KL9650I1SJve
 dYm8Of8Zd621lSmoKOwlNClALZNew72NjJLEzTalU1OdT7/i1TXkH09XSSI8mEQ/ouNcMvIJ
 NwQpd369y9bfIhWUiVXEK7MlRgUG6MvIj6Y3Am/BBLUVbDa4+gmzDC9ezlZkTZG2t14zWPvx
 XP3FAp2pkW0xqG7/377qptDmrk42GlSKN4z76ELnLxussxc7I2hx18NUcbP8+uty4bMxABEB
 AAHNH0p1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT7CwHkEEwECACMFAlOMcK8CGwMH
 CwkIBwMCAQYVCAIJCgsEFgIDAQIeAQIXgAAKCRCw3p3WKL8TL8eZB/9G0juS/kDY9LhEXseh
 mE9U+iA1VsLhgDqVbsOtZ/S14LRFHczNd/Lqkn7souCSoyWsBs3/wO+OjPvxf7m+Ef+sMtr0
 G5lCWEWa9wa0IXx5HRPW/ScL+e4AVUbL7rurYMfwCzco+7TfjhMEOkC+va5gzi1KrErgNRHH
 kg3PhlnRY0Udyqx++UYkAsN4TQuEhNN32MvN0Np3WlBJOgKcuXpIElmMM5f1BBzJSKBkW0Jc
 Wy3h2Wy912vHKpPV/Xv7ZwVJ27v7KcuZcErtptDevAljxJtE7aJG6WiBzm+v9EswyWxwMCIO
 RoVBYuiocc51872tRGywc03xaQydB+9R7BHPzsBNBFOMcBYBCADLMfoA44MwGOB9YT1V4KCy
 vAfd7E0BTfaAurbG+Olacciz3yd09QOmejFZC6AnoykydyvTFLAWYcSCdISMr88COmmCbJzn
 sHAogjexXiif6ANUUlHpjxlHCCcELmZUzomNDnEOTxZFeWMTFF9Rf2k2F0Tl4E5kmsNGgtSa
 aMO0rNZoOEiD/7UfPP3dfh8JCQ1VtUUsQtT1sxos8Eb/HmriJhnaTZ7Hp3jtgTVkV0ybpgFg
 w6WMaRkrBh17mV0z2ajjmabB7SJxcouSkR0hcpNl4oM74d2/VqoW4BxxxOD1FcNCObCELfIS
 auZx+XT6s+CE7Qi/c44ibBMR7hyjdzWbABEBAAHCwF8EGAECAAkFAlOMcBYCGwwACgkQsN6d
 1ii/Ey9D+Af/WFr3q+bg/8v5tCknCtn92d5lyYTBNt7xgWzDZX8G6/pngzKyWfedArllp0Pn
 fgIXtMNV+3t8Li1Tg843EXkP7+2+CQ98MB8XvvPLYAfW8nNDV85TyVgWlldNcgdv7nn1Sq8g
 HwB2BHdIAkYce3hEoDQXt/mKlgEGsLpzJcnLKimtPXQQy9TxUaLBe9PInPd+Ohix0XOlY+Uk
 QFEx50Ki3rSDl2Zt2tnkNYKUCvTJq7jvOlaPd6d/W0tZqpyy7KVay+K4aMobDsodB3dvEAs6
 ScCnh03dDAFgIq5nsB11j3KPKdVoPlfucX2c7kGNH+LUMbzqV6beIENfNexkOfxHfw==
In-Reply-To: <36c90e92-4583-4015-9b37-823ca48d900b@citrix.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------hwcbU09qzT6nq6wkWv3SKHpt"
Authentication-Results: smtp-out1.suse.de;
	none
X-Spam-Level: 
X-Spam-Score: -3.00
X-Spamd-Result: default: False [-3.00 / 50.00];
	 RCVD_VIA_SMTP_AUTH(0.00)[];
	 XM_UA_NO_VERSION(0.01)[];
	 TO_DN_SOME(0.00)[];
	 HAS_ATTACHMENT(0.00)[];
	 RCVD_COUNT_THREE(0.00)[3];
	 MIME_BASE64_TEXT(0.10)[];
	 RCPT_COUNT_SEVEN(0.00)[7];
	 SIGNED_PGP(-2.00)[];
	 FROM_EQ_ENVFROM(0.00)[];
	 MIME_TRACE(0.00)[0:+,1:+,2:+,3:+,4:~,5:~];
	 MID_RHS_MATCH_FROM(0.00)[];
	 BAYES_HAM(-0.01)[47.10%];
	 MIME_UNKNOWN(0.10)[application/pgp-keys];
	 ARC_NA(0.00)[];
	 FROM_HAS_DN(0.00)[];
	 TO_MATCH_ENVRCPT_ALL(0.00)[];
	 NEURAL_HAM_LONG(-1.00)[-1.000];
	 MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain];
	 DKIM_SIGNED(0.00)[suse.com:s=susede1];
	 DBL_BLOCKED_OPENRESOLVER(0.00)[suse.com:email];
	 FUZZY_BLOCKED(0.00)[rspamd.com];
	 RCVD_TLS_ALL(0.00)[]
X-Spam-Flag: NO

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------hwcbU09qzT6nq6wkWv3SKHpt
Content-Type: multipart/mixed; boundary="------------sSWNnJ0LH0j0Wc1KfAA5IhNh";
 protected-headers="v1"
From: Juergen Gross <jgross@suse.com>
To: Andrew Cooper <andrew.cooper3@citrix.com>, 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>
Message-ID: <36756a56-6505-4833-b324-ad0020ab049e@suse.com>
Subject: Re: [PATCH v2] xen/public: fix flexible array definitions
References: <20231130092112.18118-1-jgross@suse.com>
 <36c90e92-4583-4015-9b37-823ca48d900b@citrix.com>
In-Reply-To: <36c90e92-4583-4015-9b37-823ca48d900b@citrix.com>

--------------sSWNnJ0LH0j0Wc1KfAA5IhNh
Content-Type: multipart/mixed; boundary="------------B0h8aMmNmKA911AEdk691qDn"

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

T24gMzAuMTEuMjMgMTI6MzQsIEFuZHJldyBDb29wZXIgd3JvdGU6DQo+IE9uIDMwLzExLzIw
MjMgOToyMSBhbSwgSnVlcmdlbiBHcm9zcyB3cm90ZToNCj4+IEZsZXhpYmxlIGFycmF5cyBp
biBwdWJsaWMgaGVhZGVycyBjYW4gYmUgcHJvYmxlbWF0aWMgd2l0aCBzb21lDQo+PiBjb21w
aWxlcnMuDQo+Pg0KPj4gV2l0aCBYRU5fRkxFWF9BUlJBWV9ESU0gdGhlcmUgaXMgYSBtZWNo
YW5pc20gYXZhaWxhYmxlIHRvIGRlYWwgd2l0aA0KPj4gdGhpcyBpc3N1ZSwgYnV0IGNhcmUg
bXVzdCBiZSB0YWtlbiB0byBub3QgY2hhbmdlIHRoZSBhZmZlY3RlZCBzdHJ1Y3RzDQo+PiBp
biBhbiBpbmNvbXBhdGlibGUgd2F5Lg0KPj4NCj4+IFNvIGJ1bXAgX19YRU5fTEFURVNUX0lO
VEVSRkFDRV9WRVJTSU9OX18gYW5kIGludHJvZHVjZSBhIG5ldyBtYWNybw0KPj4gWEVOUFZf
RkxFWF9BUlJBWV9ESU0gd2hpY2ggd2lsbCBiZSBYRU5QVl9GTEVYX0FSUkFZX0RJTSB3aXRo
IHRoZQ0KPj4gaW50ZXJmYWNlIHZlcnNpb24gYmVpbmcgbmV3IGVub3VnaCBhbmQgIjEiICh0
aGUgdmFsdWUgdXNlZCB0b2RheSBpbg0KPj4gdGhlIGFmZmVjdGVkIGhlYWRlcnMpIHdoZW4g
dGhlIGludGVyZmFjZSB2ZXJzaW9uIGlzIGFuIG9sZCBvbmUuDQo+Pg0KPj4gUmVwbGFjZSB0
aGUgYXJyWzFdIGluc3RhbmNlcyAodGhpcyBpbmNsdWRlcyB0aGUgb25lcyBzZWVuIHRvIGJl
DQo+PiBwcm9ibGVtYXRpYyBpbiByZWNlbnQgTGludXgga2VybmVscyBbMV0pIHdpdGggYXJy
W1hFTlBWX0ZMRVhfQVJSQVlfRElNXQ0KPj4gaW4gb3JkZXIgdG8gYXZvaWQgY29tcGlsYXRp
b24gZXJyb3JzLg0KPj4NCj4+IFsxXTogaHR0cHM6Ly9idWd6aWxsYS5rZXJuZWwub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTc2OTMNCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdy
b3NzIDxqZ3Jvc3NAc3VzZS5jb20+DQo+IA0KPiBDSEFOR0VMT0cgcGxlYXNlLsKgIFRoaXMg
Y2hhbmdlLCBob3dldmVyIGl0IGVuZHMgdXAgbG9va2luZywgYWJzb2x1dGVseQ0KPiBuZWVk
cyBjb3ZlcmluZy4NCg0KV291bGQgdGhpcyBiZSBmaW5lOg0KDQogICMjIyBDaGFuZ2VkDQor
IC0gQ2hhbmdlZCBmbGV4aWJsZSBhcnJheSBkZWZpbml0aW9ucyBpbiBwdWJsaWMgSS9PIGlu
dGVyZmFjZSBoZWFkZXJzIHRvIG5vdA0KKyAgIHVzZSAiMSIgYXMgdGhlIG51bWJlciBvZiBh
cnJheSBlbGVtZW50cy4NCg0KDQpKdWVyZ2VuDQo=
--------------B0h8aMmNmKA911AEdk691qDn
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/i1DG86lem3iBDXzXsZDn8R3/CwO0EGAEIACAWIQSFEmdy6PYElKXQl/ew3p3W
KL8TLwUCWt3w0AIbAgCBCRCw3p3WKL8TL3YgBBkWCAAdFiEEUy2wekH2OPMeOLge
gFxhu0/YY74FAlrd8NAACgkQgFxhu0/YY75NiwD/fQf/RXpyv9ZX4n8UJrKDq422
bcwkujisT6jix2mOOwYBAKiip9+mAD6W5NPXdhk1XraECcIspcf2ff5kCAlG0DIN
aTUH/RIwNWzXDG58yQoLdD/UPcFgi8GWtNUp0Fhc/GeBxGipXYnvuWxwS+Qs1Qay
7/Nbal/v4/eZZaWs8wl2VtrHTS96/IF6q2o0qMey0dq2AxnZbQIULiEndgR625EF
RFg+IbO4ldSkB3trsF2ypYLij4ZObm2casLIP7iB8NKmQ5PndL8Y07TtiQ+Sb/wn
g4GgV+BJoKdDWLPCAlCMilwbZ88Ijb+HF/aipc9hsqvW/hnXC2GajJSAY3Qs9Mib
4Hm91jzbAjmp7243pQ4bJMfYHemFFBRaoLC7ayqQjcsttN2ufINlqLFPZPR/i3IX
kt+z4drzFUyEjLM1vVvIMjkUoJs=3D
=3DeeAB
-----END PGP PUBLIC KEY BLOCK-----

--------------B0h8aMmNmKA911AEdk691qDn--

--------------sSWNnJ0LH0j0Wc1KfAA5IhNh--

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

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

wsB5BAABCAAjFiEEhRJncuj2BJSl0Jf3sN6d1ii/Ey8FAmVojgwFAwAAAAAACgkQsN6d1ii/Ey9y
BQf/WcEINdBxJrLhXRA0Ft+rmFztcabP74ylP3id1+sih4UZz2rq1VDm1c/nG+qou05pC/OmvaVo
xPj82LXuV+m5U30v/pRRr4BEnEI4od6eZ3DUX7UASrL1ab9KKygWwhbi1egAIlO2pQpDFaLKRt4R
vqm/nw4G4Bd5v1LFvelITDBWOL8vYlMFZhbFTQ7VRLToNa+6YsdW42WdELD/JWQ12tuz5NWFCjFT
J7J0THL4TduLLvUiVSRC+WSoxnO3UDx9/4GpSYkbA97KKwqXmNT4o2l963o2QdItQcJ965w3tD6R
pLywKp/K8No12NFf0kerRb/qZvII4PdF/Q9re776sQ==
=PrO+
-----END PGP SIGNATURE-----

--------------hwcbU09qzT6nq6wkWv3SKHpt--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:37:04 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:37:04 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644718.1006123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8hDt-0001dD-5P; Thu, 30 Nov 2023 13:36:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644718.1006123; Thu, 30 Nov 2023 13: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 1r8hDt-0001d6-2q; Thu, 30 Nov 2023 13:36:57 +0000
Received: by outflank-mailman (input) for mailman id 644718;
 Thu, 30 Nov 2023 13:36: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=dHGs=HL=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r8hDr-0001cv-QQ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:36:55 +0000
Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com
 [2a00:1450:4864:20::431])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 85f5fb94-8f85-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 14:36:53 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-332ed02ccd9so635611f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 05:36:53 -0800 (PST)
Received: from [192.168.69.100] (sev93-h02-176-184-17-116.dsl.sta.abo.bbox.fr.
 [176.184.17.116]) by smtp.gmail.com with ESMTPSA id
 i2-20020adffc02000000b003330aede2aesm1559297wrr.112.2023.11.30.05.36.47
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 05:36:52 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 85f5fb94-8f85-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1701351413; x=1701956213; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=92EVl/+kAJa1w133nRnLwZdbri5T/CNJ+OGiI8vF/hc=;
        b=nTJzlPiWMtogYQyMG51+Bvt7CkuhdSFtf2YFIraAUThjR1rNDJyDjesFgrfvgv/P34
         NOn1CkT/wjUDxSlB1Ky6S3X+CyyIB1KshEkxW5ojx+g9m4acJRplrXHZLhcBaLtudzTM
         uycKWekHiOxNyi9dx4P+YNziGvOBR3TsaYcKg6oBzTK1FgKMy67+jIOFjHP19foVENjh
         ABeYFb8I7LYLMugntvkzATdFvLPRJLz8dD31bF1zeWYIaUFr20YzuyagaPX1m5UWr54z
         drVPnOZMFdTqW8/FUnAJQ746rwy1Q1BxepKoxhfQD5rzWsS8U71h+LASEMJUDORlUgF0
         VPZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701351413; x=1701956213;
        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:subject:date:message-id:reply-to;
        bh=92EVl/+kAJa1w133nRnLwZdbri5T/CNJ+OGiI8vF/hc=;
        b=fs9lBBO+bchgWHXKElJDq7jpS4WhbvZuI1dUaR8Mr11m3YwuScyXKY1TXa/rKdi/VP
         O+I71wr8eK48IF6iE2juhl7bme/EzGYdb88ODgYillGpIZKXbGhLYEqIq859M3XuauWs
         SSfVEgEDxVFd4Tzw4jyqMs3y4q+zqe8K3q1hO0DqbgP9NZrH87uts5VVi6yjfZ5S/9Ru
         N20rqb1bUth5vIa4Yp9M0KW+VcxkwQCj4+x685tTomN0qZcoXqnYnWuMyLvBUs6uUzOp
         HeTSdpdqNKPnGhcXBteJckfCtibhi5IhTOEzPVG7aHjA+vE/LcjrV7F0Zn7bRKVw52g4
         Epow==
X-Gm-Message-State: AOJu0YzNU+k/3nY0Ity3DmfpUZ855jkEMVVFeYXLPMCTc0m2hoKyXHK4
	+sNqM5hV8DBcPkhQJvrz1P6loA==
X-Google-Smtp-Source: AGHT+IGzSdlgStqYT69A2lG9GtqRHhg/niB3F/uN4GK5nKt0eJM7WDiZHR6K1BVe40jqO9Y7LSdkKg==
X-Received: by 2002:a05:6000:10c:b0:333:2be6:860e with SMTP id o12-20020a056000010c00b003332be6860emr238311wrx.71.1701351413167;
        Thu, 30 Nov 2023 05:36:53 -0800 (PST)
Message-ID: <ce8686c9-ac4b-4bb8-a181-af536ef1097a@linaro.org>
Date: Thu, 30 Nov 2023 14:36:46 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 3/6] qemu/main-loop: rename qemu_cond_wait_iothread() to
 qemu_cond_wait_bql()
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>, qemu-ppc@nongnu.org,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-4-stefanha@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20231129212625.1051502-4-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 29/11/23 22:26, Stefan Hajnoczi wrote:
> The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
> instead, it is already widely used and unambiguous.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   include/qemu/main-loop.h          | 8 ++++----
>   accel/tcg/tcg-accel-ops-rr.c      | 4 ++--
>   hw/display/virtio-gpu.c           | 2 +-
>   hw/ppc/spapr_events.c             | 2 +-
>   system/cpu-throttle.c             | 2 +-
>   system/cpus.c                     | 4 ++--
>   target/i386/nvmm/nvmm-accel-ops.c | 2 +-
>   target/i386/whpx/whpx-accel-ops.c | 2 +-
>   8 files changed, 13 insertions(+), 13 deletions(-)

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:44:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:44:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644721.1006134 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8hKz-000536-T9; Thu, 30 Nov 2023 13:44:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644721.1006134; Thu, 30 Nov 2023 13:44: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 1r8hKz-00052z-QN; Thu, 30 Nov 2023 13:44:17 +0000
Received: by outflank-mailman (input) for mailman id 644721;
 Thu, 30 Nov 2023 13:44: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=dHGs=HL=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r8hKy-00052n-8E
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:44:16 +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 8d1966ac-8f86-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 14:44:15 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-332c46d5988so557785f8f.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 05:44:15 -0800 (PST)
Received: from [192.168.69.100] (sev93-h02-176-184-17-116.dsl.sta.abo.bbox.fr.
 [176.184.17.116]) by smtp.gmail.com with ESMTPSA id
 cw18-20020a056000091200b00332fa6cc8acsm1576506wrb.87.2023.11.30.05.44.08
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 05:44:14 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8d1966ac-8f86-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1701351855; x=1701956655; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=0mf7eH2hS0c3P4+d2fQms4pu9zEXfWtMcluTCO73qZ4=;
        b=yJCH6tL8TovbPh0Kkxbx7SCWFvX3MJXcd8mNJygIvY1hd2TtbvUsLxZTXcfOHiZVCO
         m9tposYvN15a+E81A3J1HtX+J1fg6Dzs2PUp/stzr3VI1se/ufkB9IhIwm6EFbeGj+Om
         a9JsHvjhC8E+ai+63yXXT6YOqG5rVHax6Ho1G7OgKh1tbRyQRYToWhXdPivBkfZph+8e
         T8zMCTipWIUddDxAno+45pCV8oGRGkGA3Uzv0GSj7MgV/KZkIaehdGeCvEXMAXLTSsuY
         HKPXX/2jqvkEKJbx0b2iLAO/xCiIDJTd3EU8iMwDd1hry9TzQP0adUUKWejTB36tNfwi
         jXHA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701351855; x=1701956655;
        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:subject:date:message-id:reply-to;
        bh=0mf7eH2hS0c3P4+d2fQms4pu9zEXfWtMcluTCO73qZ4=;
        b=b7qh8GJdbSvIv0FA05ZUO8vh4dMnZjW3+MApKpf4FmComOsYugPYdC4UtGJAQ6aweU
         Kk0ab9UnFSzpOOUiidf3gE53/Wk9P3dWwO1U1KDu/reW3AUrZfktwA90uMiJ6npsIih0
         69j5BTErFFGk94fw9XjNz/G5e9p/ynFqwkGtuSgWlflA1YQxEytTkZKWTDltW6vkw6gm
         DAXV5fBwOQY3KF96QODbBeLKrRP8p2UHNMw5vFjG445lVvmoU6T7BeJDwYTbelpe4uzi
         ELeQlEU+NjTFKIsXZu1dKc3tkYDrawcRPVv4zJ6P7lIjcqMhfYoinzfckRKZAy5cvYvg
         mK2w==
X-Gm-Message-State: AOJu0YwVyM896T6+dF15T/ZHqMmYLrNCkKOjLDs3jyGgfGc5E8ti3Go4
	Gs6hbTleZE2NLaY5WJCzf435PQ==
X-Google-Smtp-Source: AGHT+IFUGjlT2U8pG1QuxMF95YCA0GrMa8IF7sX8GSSN6+0zFOCS7e4DUVfFAG6PfrkSgylNqNXNlw==
X-Received: by 2002:adf:ff88:0:b0:333:a2f:e674 with SMTP id j8-20020adfff88000000b003330a2fe674mr6201850wrr.25.1701351854659;
        Thu, 30 Nov 2023 05:44:14 -0800 (PST)
Message-ID: <01ebd72d-affc-4b03-b491-f40964520f1c@linaro.org>
Date: Thu, 30 Nov 2023 14:44:07 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 4/6] system/cpus: rename qemu_global_mutex to qemu_bql
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>, qemu-ppc@nongnu.org,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-5-stefanha@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20231129212625.1051502-5-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefan,

On 29/11/23 22:26, Stefan Hajnoczi wrote:
> The APIs using qemu_global_mutex now follow the Big QEMU Lock (BQL)
> nomenclature. It's a little strange that the actual QemuMutex variable
> that embodies the BQL is called qemu_global_mutex instead of qemu_bql.
> Rename it for consistency.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   system/cpus.c | 20 ++++++++++----------
>   1 file changed, 10 insertions(+), 10 deletions(-)
> 
> diff --git a/system/cpus.c b/system/cpus.c
> index eb24a4db8e..138720a540 100644
> --- a/system/cpus.c
> +++ b/system/cpus.c
> @@ -65,7 +65,7 @@
>   
>   #endif /* CONFIG_LINUX */
>   
> -static QemuMutex qemu_global_mutex;
> +static QemuMutex qemu_bql;

I thought we were using _cond/_sem/_mutex suffixes, but
this is not enforced:

$ git grep -hE 'Qemu(Cond|Mutex|Semaphore) [a-zA-Z]' \
   | sed -e 's/static //' -e 's/extern //' -e 's/^ *//' \
   | sort -u
QemuCond comp_done_cond;
QemuCond cond;
QemuCond decomp_done_cond;
QemuCond event_complete_cond;
QemuCond exclusive_cond;
QemuCond exclusive_resume;
QemuCond fwnmi_machine_check_interlock_cond;
QemuCond handle_apdu_cond;
QemuCond init_done_cond;    /* is thread initialization done? */
QemuCond key_cond;
QemuCond mutex_cond;
QemuCond page_cond;
QemuCond page_request_cond;
QemuCond qemu_cpu_cond;
QemuCond qemu_pause_cond;
QemuCond qemu_work_cond;
QemuCond request_cond;
QemuCond reset_cond;
QemuCond thr_cond;
QemuCond thread_cond;
QemuCond worker_stopped;
QemuMutex active_timers_lock;
QemuMutex aio_context_list_lock;
QemuMutex bitmap_mutex;
QemuMutex blkio_lock;
QemuMutex chr_write_lock;
QemuMutex cmdq_mutex;
QemuMutex colo_compare_mutex;
QemuMutex comp_done_lock;
QemuMutex counts_mutex;
QemuMutex decomp_done_lock;
QemuMutex dirty_bitmap_mutex;
QemuMutex dirtylimit_mutex;
QemuMutex error_mutex;
QemuMutex event_list_mutex;
QemuMutex event_mtx;
QemuMutex evlock;
QemuMutex free_page_lock;
QemuMutex global_mutex;
QemuMutex gnt_lock;
QemuMutex handle_apdu_mutex;
QemuMutex handlers_mutex;
QemuMutex init_done_lock;
QemuMutex intp_mutex; /* protect the intp_list IRQ state */
QemuMutex io_mutex;
QemuMutex iommu_lock;
QemuMutex irq_level_lock[REMOTE_IOHUB_NB_PIRQS];
QemuMutex job_mutex;
QemuMutex key_mutex;
QemuMutex kml_slots_lock;
QemuMutex lock;
QemuMutex m;
QemuMutex map_client_list_lock;
QemuMutex migration_threads_lock;
QemuMutex mon_fdsets_lock;
QemuMutex mon_lock;
QemuMutex monitor_lock;
QemuMutex mutex;
QemuMutex output_mutex;
QemuMutex page_mutex;
QemuMutex page_request_mutex;
QemuMutex pending_out_mutex;
QemuMutex port_lock;
QemuMutex postcopy_prio_thread_mutex;
QemuMutex qemu_cpu_list_lock;
QemuMutex qemu_file_lock;
QemuMutex qemu_global_mutex;
QemuMutex qemu_sigp_mutex;
QemuMutex qjack_shutdown_lock;
QemuMutex qmp_queue_lock;
QemuMutex queue_mutex;
QemuMutex queued_requests_lock; /* protects queued_requests */
QemuMutex ram_block_discard_disable_mutex;
QemuMutex rcu_registry_lock;
QemuMutex rcu_sync_lock;
QemuMutex readdir_mutex_L;
QemuMutex reqs_lock;
QemuMutex requests_lock;
QemuMutex rp_mutex;    /* We send replies from multiple threads */
QemuMutex rsp_mutex;
QemuMutex rx_queue_lock;
QemuMutex sigbus_mutex;
QemuMutex sint_routes_mutex;
QemuMutex src_page_req_mutex;
QemuMutex start_lock;
QemuMutex target_fd_trans_lock;
QemuMutex thr_mutex;
QemuMutex thread_lock;
QemuMutex vdev_mutex;
QemuMutex vmstop_lock;
QemuMutex vreader_mutex; /* and guest_apdu_list mutex */
QemuMutex work_mutex;
QemuMutex xen_timers_lock;
QemuMutex yank_lock;
QemuSemaphore channels_ready;
QemuSemaphore colo_exit_sem;
QemuSemaphore colo_incoming_sem;
QemuSemaphore init_done_sem; /* is thread init done? */
QemuSemaphore pause_sem;
QemuSemaphore postcopy_pause_sem;
QemuSemaphore postcopy_pause_sem_dst;
QemuSemaphore postcopy_pause_sem_fast_load;
QemuSemaphore postcopy_pause_sem_fault;
QemuSemaphore postcopy_qemufile_dst_done;
QemuSemaphore postcopy_qemufile_src_sem;
QemuSemaphore rate_limit_sem;
QemuSemaphore rp_pong_acks;
QemuSemaphore rp_sem;
QemuSemaphore sem;
QemuSemaphore sem_sync;
QemuSemaphore sem_thread;
QemuSemaphore wait_unplug_sem;

So:
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:48:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:48:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644724.1006143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8hOa-0006Z2-Br; Thu, 30 Nov 2023 13:48:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644724.1006143; Thu, 30 Nov 2023 13:48: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 1r8hOa-0006Yv-9E; Thu, 30 Nov 2023 13:48:00 +0000
Received: by outflank-mailman (input) for mailman id 644724;
 Thu, 30 Nov 2023 13:47: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=dHGs=HL=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r8hOZ-0006Yo-HP
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:47:59 +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 118d47af-8f87-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 14:47:57 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40b4734b975so8784995e9.2
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 05:47:57 -0800 (PST)
Received: from [192.168.69.100] (sev93-h02-176-184-17-116.dsl.sta.abo.bbox.fr.
 [176.184.17.116]) by smtp.gmail.com with ESMTPSA id
 n26-20020a05600c3b9a00b0040b34409d43sm2099005wms.11.2023.11.30.05.47.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 05:47:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 118d47af-8f87-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1701352077; x=1701956877; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=rzryK5Ovxx7DOgDxZdQ36NxzgykTz4w4Mydj5qAA+DE=;
        b=EzeHO7+IWferb5J459FxMhDxw8VGZXRfSX2uWJF+d5MaCzN4JlvUi2sjJ/UgqWh4xx
         EwCTcCy4bzoqPEKW1WHFu/klMzZ1aY6s/orfhKkZy0j+Md+PiuzNi19HJYsS6i/Z7qx6
         2xyaHrLzJDdcyUfqEsvsVmG6gZkiYDKfBON/zypjfJU6nyc5S/ZqQAyi0+H+W9PzKqVE
         ctRNzic6+bt8NJ+WoFa1Gz0zHv2NHcpnDmECwDQudKNLTnWnlq8ezrJjKR2hLlGl8RpE
         60czB1l/aDl7Hs3acDxpwY/j2hhKcY8QEFHsRMLwT1XO/my7SRdOTLb7g9FtyX4saKKw
         WUsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701352077; x=1701956877;
        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:subject:date:message-id:reply-to;
        bh=rzryK5Ovxx7DOgDxZdQ36NxzgykTz4w4Mydj5qAA+DE=;
        b=CLVpuYTUiZG42hSbBI0Wv1bZOMyHaDDMkqbjxB/EI72z2TKpX8aoXAjzLOD4m2G0Y8
         x1yA3yObw/XjuX0djJeiKkPnP6rH5W1dyJxHD0zuFZiFLUXzjf7SzjyytKwBvgNtiWZu
         +MvcJ85vNH1YDVxtKFDS14Dqgzpfy5ofGn9uVu+xrnzH+IvP2iZ4uR8Q2mN0PqBJntqo
         2LbNXClrVhS6V5zUfEUD/s7HuM/nxTZiEk0JjgedSdmK+UAfEIl7l8QmPTj8vEr79YOJ
         lLmrTZhY19EfLdyeI4ggkW8B8BtL2I823VgGXia3BZk12mEl+LpSLlsPn1s7e8FITTwf
         a5sw==
X-Gm-Message-State: AOJu0Yzy53CySC1AtcAi0HbKXSL+zsvZoFWrd/15o7fwCnUrmimChT/w
	MbGK+pKewBSvlRU8cfCVGA4jQg==
X-Google-Smtp-Source: AGHT+IEVx+BgPGgvtoGgXlS2ma7+soUtQpvgW6i96U/5dPN3399XP3o/9uLj4S+iHyFoPGNahzok1g==
X-Received: by 2002:a05:600c:3c8a:b0:40b:4da4:b985 with SMTP id bg10-20020a05600c3c8a00b0040b4da4b985mr6336852wmb.38.1701352076590;
        Thu, 30 Nov 2023 05:47:56 -0800 (PST)
Message-ID: <9c305a84-fd86-42fe-98ae-9297d480acd6@linaro.org>
Date: Thu, 30 Nov 2023 14:47:49 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 5/6] Replace "iothread lock" with "BQL" in comments
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>, qemu-ppc@nongnu.org,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-6-stefanha@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20231129212625.1051502-6-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Hi Stefan,

On 29/11/23 22:26, Stefan Hajnoczi wrote:
> The term "iothread lock" is obsolete. The APIs use Big QEMU Lock (BQL)
> in their names. Update the code comments to use "BQL" instead of
> "iothread lock".
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   docs/devel/reset.rst             |  2 +-
>   hw/display/qxl.h                 |  2 +-
>   include/exec/cpu-common.h        |  2 +-
>   include/exec/memory.h            |  4 ++--
>   include/exec/ramblock.h          |  2 +-
>   include/migration/register.h     |  8 ++++----
>   target/arm/internals.h           |  4 ++--
>   accel/tcg/cputlb.c               |  4 ++--
>   accel/tcg/tcg-accel-ops-icount.c |  2 +-
>   hw/remote/mpqemu-link.c          |  2 +-
>   migration/block-dirty-bitmap.c   | 10 +++++-----
>   migration/block.c                | 24 ++++++++++++------------
>   migration/colo.c                 |  2 +-
>   migration/migration.c            |  2 +-
>   migration/ram.c                  |  4 ++--
>   system/physmem.c                 |  6 +++---
>   target/arm/helper.c              |  2 +-
>   target/arm/tcg/m_helper.c        |  2 +-
>   ui/spice-core.c                  |  2 +-
>   util/rcu.c                       |  2 +-
>   audio/coreaudio.m                |  4 ++--
>   ui/cocoa.m                       |  6 +++---
>   22 files changed, 49 insertions(+), 49 deletions(-)


> diff --git a/include/exec/ramblock.h b/include/exec/ramblock.h
> index 69c6a53902..a2bc0a345d 100644
> --- a/include/exec/ramblock.h
> +++ b/include/exec/ramblock.h
> @@ -34,7 +34,7 @@ struct RAMBlock {
>       ram_addr_t max_length;
>       void (*resized)(const char*, uint64_t length, void *host);
>       uint32_t flags;
> -    /* Protected by iothread lock.  */
> +    /* Protected by BQL.  */

There is only one single BQL, so preferably:

"by the BQL"

>       char idstr[256];
>       /* RCU-enabled, writes protected by the ramlist lock */
>       QLIST_ENTRY(RAMBlock) next;




> -/* Called with iothread lock taken.  */
> +/* Called with BQL taken.  */

"with the BQL" (other uses)

Otherwise,

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

>   static void dirty_bitmap_do_save_cleanup(DBMSaveState *s)
>   {
>       SaveBitmapState *dbms;
> @@ -479,7 +479,7 @@ static void dirty_bitmap_do_save_cleanup(DBMSaveState *s)
>       }
>   }



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 13:50:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 13:50:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644726.1006153 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8hQU-0007SS-Me; Thu, 30 Nov 2023 13:49:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644726.1006153; Thu, 30 Nov 2023 13: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 1r8hQU-0007SL-KA; Thu, 30 Nov 2023 13:49:58 +0000
Received: by outflank-mailman (input) for mailman id 644726;
 Thu, 30 Nov 2023 13:49: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=dHGs=HL=linaro.org=philmd@srs-se1.protection.inumbo.net>)
 id 1r8hQT-0007SC-Jg
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 13:49:57 +0000
Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com
 [2a00:1450:4864:20::332])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 58809051-8f87-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 14:49:56 +0100 (CET)
Received: by mail-wm1-x332.google.com with SMTP id
 5b1f17b1804b1-40b54261442so7822525e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 05:49:56 -0800 (PST)
Received: from [192.168.69.100] (sev93-h02-176-184-17-116.dsl.sta.abo.bbox.fr.
 [176.184.17.116]) by smtp.gmail.com with ESMTPSA id
 h1-20020adfe981000000b00332f6202b82sm1595392wrm.9.2023.11.30.05.49.50
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Thu, 30 Nov 2023 05:49:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 58809051-8f87-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=linaro.org; s=google; t=1701352196; x=1701956996; darn=lists.xenproject.org;
        h=content-transfer-encoding:in-reply-to:from:references:cc:to
         :content-language:subject:user-agent:mime-version:date:message-id
         :from:to:cc:subject:date:message-id:reply-to;
        bh=MzXC86kI/230MRmOExolGBgQpce+zyW7qougvXLVSk8=;
        b=DdPybzfowEgoEB8BjASp1vXoTGYhtt0hmNTm+ervACXYGtT4B4cBA8/EpDoXNlaf5k
         oo4iBU5JiQSnyEIrY/8ddcoHc0hd/9MTdBx3oq87drM8VBxEidqZmI0QM5NFjwP78RuJ
         aU55UL1sVvLIwnWkUsttc0pfs8oWWIyZlpZjwuXprGX8Z8E2gbaoJcUNI9mbi6NJRUfU
         uXlp92ov/R4vePTglXPfADx9/+XFoPED1mmW3+o51tA0zLCeuF0Ag/tlXDElQpAGXA7k
         w0TwU7Gk6rzGcHztIMFUWGA+OGRkSyJOgyqmTyXvPJK2jcUsIMXOcIRig06Q80HTuy7g
         FIYw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701352196; x=1701956996;
        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:subject:date:message-id:reply-to;
        bh=MzXC86kI/230MRmOExolGBgQpce+zyW7qougvXLVSk8=;
        b=K+gWNNRD03NIwhclWo7xz3uX5RCUYBaWlZIK348pCjzq38woDr6WoUUDCG4XOOitB8
         k/vV1XNa+2xvRM0K6QM6Sv0yuaE6F2UUAaiSKve+jh/MEEsQs36/TpS5Z2oZEPlQAW46
         kpGpQxdOEeISivMc7J9PbU/vm7d4Ec52hJSvklpukiqTKklsH5b2htKwxgYFjaxHvYHh
         Rs5ILWxSydjRnHQ9wwech8LhBFX2vQsUj7kXvmUODeyfFO0lSwHVVEkc5DJbsSC/ElWT
         S3nC4IPHmVN/qSLmjnEyMayB4IZjrfguJcXymaOkStQi4EOzZE2NhL4/q+sNj4n8OPSd
         0glw==
X-Gm-Message-State: AOJu0Yy/dESlB6s/t1UkP1+EkoTSPLuttSahe+5ItBKtL+6N8sSkGb7s
	9fcmeIgBDFPwL2KoSMZyGNmUdA==
X-Google-Smtp-Source: AGHT+IGEZM/F60lbKf+pyOaxLGJZDqngSEf0GXts+oJS0AF+AGOPuKqrMqfmt5a2LHBk+wqKglvvAA==
X-Received: by 2002:adf:f588:0:b0:332:eb19:9530 with SMTP id f8-20020adff588000000b00332eb199530mr14573473wro.32.1701352195915;
        Thu, 30 Nov 2023 05:49:55 -0800 (PST)
Message-ID: <fcaff24d-0ced-4547-898f-a9b8bf49be45@linaro.org>
Date: Thu, 30 Nov 2023 14:49:48 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH 6/6] Rename "QEMU global mutex" to "BQL" in comments and
 docs
Content-Language: en-US
To: Stefan Hajnoczi <stefanha@redhat.com>, qemu-devel@nongnu.org
Cc: Jean-Christophe Dubois <jcd@tribudubois.net>,
 Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
 Song Gao <gaosong@loongson.cn>, Marcel Apfelbaum
 <marcel.apfelbaum@gmail.com>, Thomas Huth <thuth@redhat.com>,
 Hyman Huang <yong.huang@smartx.com>, Marcelo Tosatti <mtosatti@redhat.com>,
 David Woodhouse <dwmw2@infradead.org>,
 Andrey Smirnov <andrew.smirnov@gmail.com>,
 Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>,
 Ilya Leoshkevich <iii@linux.ibm.com>, Artyom Tarasenko
 <atar4qemu@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
 Max Filippov <jcmvbkbc@gmail.com>,
 Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>,
 Jagannathan Raman <jag.raman@oracle.com>, Juan Quintela
 <quintela@redhat.com>, =?UTF-8?Q?Daniel_P=2E_Berrang=C3=A9?=
 <berrange@redhat.com>, qemu-arm@nongnu.org, Jason Wang
 <jasowang@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>,
 Hanna Reitz <hreitz@redhat.com>,
 =?UTF-8?Q?Marc-Andr=C3=A9_Lureau?= <marcandre.lureau@redhat.com>,
 BALATON Zoltan <balaton@eik.bme.hu>,
 Daniel Henrique Barboza <danielhb413@gmail.com>,
 Elena Ufimtseva <elena.ufimtseva@oracle.com>,
 Aurelien Jarno <aurelien@aurel32.net>,
 Hailiang Zhang <zhanghailiang@xfusion.com>,
 Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>,
 Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>,
 Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>,
 Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>,
 Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>,
 David Hildenbrand <david@redhat.com>, Markus Armbruster <armbru@redhat.com>,
 Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>,
 Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
 Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
 Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
 John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>,
 Michael Roth <michael.roth@amd.com>,
 David Gibson <david@gibson.dropbear.id.au>,
 "Michael S. Tsirkin" <mst@redhat.com>,
 Richard Henderson <richard.henderson@linaro.org>,
 Bin Meng <bin.meng@windriver.com>,
 Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
 qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
 Peter Xu <peterx@redhat.com>, Anthony Perard <anthony.perard@citrix.com>,
 Harsh Prateek Bora <harshpb@linux.ibm.com>,
 =?UTF-8?Q?Alex_Benn=C3=A9e?= <alex.bennee@linaro.org>,
 Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>,
 Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
 =?UTF-8?Q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>, qemu-ppc@nongnu.org,
 Christian Borntraeger <borntraeger@linux.ibm.com>,
 Akihiko Odaki <akihiko.odaki@daynix.com>, Leonardo Bras
 <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>,
 Jiaxun Yang <jiaxun.yang@flygoat.com>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-7-stefanha@redhat.com>
From: =?UTF-8?Q?Philippe_Mathieu-Daud=C3=A9?= <philmd@linaro.org>
In-Reply-To: <20231129212625.1051502-7-stefanha@redhat.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

On 29/11/23 22:26, Stefan Hajnoczi wrote:
> The term "QEMU global mutex" is identical to the more widely used Big
> QEMU Lock ("BQL"). Update the code comments and documentation to use
> "BQL" instead of "QEMU global mutex".
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>   docs/devel/multi-thread-tcg.rst   |  7 +++----
>   docs/devel/qapi-code-gen.rst      |  2 +-
>   docs/devel/replay.rst             |  2 +-
>   docs/devel/multiple-iothreads.txt | 16 ++++++++--------
>   include/block/blockjob.h          |  6 +++---
>   include/io/task.h                 |  2 +-
>   include/qemu/coroutine-core.h     |  2 +-
>   include/qemu/coroutine.h          |  2 +-
>   hw/block/dataplane/virtio-blk.c   |  8 ++++----
>   hw/block/virtio-blk.c             |  2 +-
>   hw/scsi/virtio-scsi-dataplane.c   |  6 +++---
>   net/tap.c                         |  2 +-
>   12 files changed, 28 insertions(+), 29 deletions(-)


> diff --git a/include/block/blockjob.h b/include/block/blockjob.h
> index e594c10d23..b2bc7c04d6 100644
> --- a/include/block/blockjob.h
> +++ b/include/block/blockjob.h
> @@ -54,7 +54,7 @@ typedef struct BlockJob {
>   
>       /**
>        * Speed that was set with @block_job_set_speed.
> -     * Always modified and read under QEMU global mutex (GLOBAL_STATE_CODE).
> +     * Always modified and read under BQL (GLOBAL_STATE_CODE).

"under the BQL"

>        */
>       int64_t speed;
>   
> @@ -66,7 +66,7 @@ typedef struct BlockJob {
>   
>       /**
>        * Block other operations when block job is running.
> -     * Always modified and read under QEMU global mutex (GLOBAL_STATE_CODE).
> +     * Always modified and read under BQL (GLOBAL_STATE_CODE).

Ditto,

>        */
>       Error *blocker;
>   
> @@ -89,7 +89,7 @@ typedef struct BlockJob {
>   
>       /**
>        * BlockDriverStates that are involved in this block job.
> -     * Always modified and read under QEMU global mutex (GLOBAL_STATE_CODE).
> +     * Always modified and read under BQL (GLOBAL_STATE_CODE).

Ditto.

>        */
>       GSList *nodes;
>   } BlockJob;

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:31:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644748.1006208 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8i4H-0005bd-AC; Thu, 30 Nov 2023 14:31:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644748.1006208; Thu, 30 Nov 2023 14:31: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 1r8i4H-0005bW-6W; Thu, 30 Nov 2023 14:31:05 +0000
Received: by outflank-mailman (input) for mailman id 644748;
 Thu, 30 Nov 2023 14:31: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8i4F-0004ZQ-1o
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:31:03 +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 16677a52-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:31:02 +0100 (CET)
Received: by mail-wr1-x431.google.com with SMTP id
 ffacd0b85a97d-332ed02ccd9so679754f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 06:31:02 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 f14-20020adfe90e000000b00327b5ca093dsm1673593wrm.117.2023.11.30.06.31.01
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 06:31:01 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16677a52-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701354661; x=1701959461; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=itD9aYJVZiQmj7BEzrk6sR1Ahs79xsAwrmOZilzma4o=;
        b=YK/6MP/o6zCpa2ZcakEhlFN/zNVyoYa0fSvvmGfKgIJs3+goZaPgRo5atLmjAyufFo
         0NyKJ8hMlONKP+1pRT9XyEIdu7rOLZKdFOAosIu4+zhRCUHam6iMcYaXCRU8fSQWQq1W
         o4cokhEQ/InG9ddPxJrU6dEv3YjX2/lI2+yAw=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701354661; x=1701959461;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=itD9aYJVZiQmj7BEzrk6sR1Ahs79xsAwrmOZilzma4o=;
        b=l4HxwOmmYv/px2HYpzduSadbtZhHdk3ZHeK9zkBkXrt/2JDXueUDxa2IjQQB20ZrOG
         LaTi29v2RYeHEZYDjoFU2S159KGob6smiCYwE75XBvK/EBF+XHA+hfqsvKTuru9gAzwO
         6jwxjXBXH+SQOTEOvBzK74QkI4MCuG8sHyn91yuZFMmUdTRu4Dy57mJz8ZCKyBger1sT
         dMuO0hjYMHR7+NAv3q6bKyTCoP5oxWbLz4syY8dr3RYaXn9OfkPAFFVbozy7crQcA4Ni
         oS89cBoqgDp+a60HgvlerehzUVLhN/qTP/goUJrI9b+SwrtjBmkeFp4YjXuDvRNpcBtQ
         B0AA==
X-Gm-Message-State: AOJu0Yy8zBR9Mm7XLtGSpt8hqelqcKIO3j2b43y4/z+yQV2uWz9O6Hzg
	YsReq2jOozBbJTbw3nw7hC2hDDPbr+SFeWo8G/g=
X-Google-Smtp-Source: AGHT+IHgwHhQ/n+cUe7PQsDuJSfWpr81r0/7KpbRdw1/ChIpwgV2QO6OkX+Gd5x4Zbrhdyew0wcZHA==
X-Received: by 2002:a5d:624f:0:b0:333:57:9552 with SMTP id m15-20020a5d624f000000b0033300579552mr8512025wrv.63.1701354661350;
        Thu, 30 Nov 2023 06:31:01 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 5/5] xen/livepatch: properly build the noapply and norevert tests
Date: Thu, 30 Nov 2023 15:29:44 +0100
Message-ID: <20231130142944.46322-6-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231130142944.46322-1-roger.pau@citrix.com>
References: <20231130142944.46322-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

It seems the build variables for those tests where copy-pasted from
xen_action_hooks_marker-objs and not adjusted to use the correct source files.

Fixes: 6047104c3ccc ('livepatch: Add per-function applied/reverted state tracking marker')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/test/livepatch/Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/xen/test/livepatch/Makefile b/xen/test/livepatch/Makefile
index c258ab0b5940..d987a8367f15 100644
--- a/xen/test/livepatch/Makefile
+++ b/xen/test/livepatch/Makefile
@@ -118,12 +118,12 @@ xen_action_hooks_marker-objs := xen_action_hooks_marker.o xen_hello_world_func.o
 $(obj)/xen_action_hooks_noapply.o: $(obj)/config.h
 
 extra-y += xen_action_hooks_noapply.livepatch
-xen_action_hooks_noapply-objs := xen_action_hooks_marker.o xen_hello_world_func.o note.o xen_note.o
+xen_action_hooks_noapply-objs := xen_action_hooks_noapply.o xen_hello_world_func.o note.o xen_note.o
 
 $(obj)/xen_action_hooks_norevert.o: $(obj)/config.h
 
 extra-y += xen_action_hooks_norevert.livepatch
-xen_action_hooks_norevert-objs := xen_action_hooks_marker.o xen_hello_world_func.o note.o xen_note.o
+xen_action_hooks_norevert-objs := xen_action_hooks_norevert.o xen_hello_world_func.o note.o xen_note.o
 
 EXPECT_BYTES_COUNT := 8
 CODE_GET_EXPECT=$(shell $(OBJDUMP) -d --insn-width=1 $(1) | sed -n -e '/<'$(2)'>:$$/,/^$$/ p' | tail -n +2 | head -n $(EXPECT_BYTES_COUNT) | awk '{$$0=$$2; printf "%s", substr($$0,length-1)}' | sed 's/.\{2\}/0x&,/g' | sed 's/^/{/;s/,$$/}/g')
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:31:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644746.1006179 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8i4C-0004kC-Jc; Thu, 30 Nov 2023 14:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644746.1006179; Thu, 30 Nov 2023 14:31: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 1r8i4C-0004go-Ex; Thu, 30 Nov 2023 14:31:00 +0000
Received: by outflank-mailman (input) for mailman id 644746;
 Thu, 30 Nov 2023 14:30: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8i4B-0004ZQ-Kg
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:30:59 +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 1427b2f2-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:30:58 +0100 (CET)
Received: by mail-lj1-x22e.google.com with SMTP id
 38308e7fff4ca-2c9b8aa4fc7so13200381fa.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 06:30:58 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 l6-20020a05600c4f0600b0040b3829eb50sm2147422wmq.20.2023.11.30.06.30.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 06:30:57 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1427b2f2-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701354658; x=1701959458; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=fQRBfy8mxD2fxhjluFNHS4DopwBarTdVQ7BkPng8IXA=;
        b=fLpvoDYL2GeqVCJfPWD6BV5HubfDTFZ/eX1e5FI51hjWxrOjcy2IQ7d4Xr7twO75uv
         Rm69GXTpdgTT9r5WgCpDUBjGWTiva5FzhuK5+BK39kuLzpTdxb81rCq4JxKg37SsmpRp
         eUCrJamRlYPzcMaTuwvVxq5rwGfTWQQScYmcs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701354658; x=1701959458;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=fQRBfy8mxD2fxhjluFNHS4DopwBarTdVQ7BkPng8IXA=;
        b=p5qHIeZZaY1zY1sS+HnF/xROFwxwMVcFQZnI8EJaheMdTYJZSDw4y2rjp6HSfmpgFh
         hGJKcKSx4zgr6B+E327QFRwBiT4T9HQSuZDJBDNZ2wKZC+lB2+1tFtIm19t1z1OXm9tA
         DkRvwSbZJ0d/vNVIcK3AwXwDFVAm9tvQM6XrLYzaf77pW69GvyXxKM8oZm8bqYrWIj8M
         MU7dXutkWLMia6wBCEFStS4iENjJQBstWjp38eOhXkZegdcNJekYLzWd6TpwN9yiTL1y
         bQ757U9PtpTF5mrnYC/f53J0RC7pk9Wn7zGBhuanFBNiWrXxwEXGa8Nw15bUjxaZp8r7
         Hl/w==
X-Gm-Message-State: AOJu0Yxu0D2O1qte+3d9iIuYLAsm0cC6XluhnghSOXRfTjpqh5D3tvMY
	CQkw7mhJ9WBOsloIkBMB23m3L7reJcBmWH4pAZ8=
X-Google-Smtp-Source: AGHT+IHE30j/1wq34RhYhglOCCZK2jwlEJyT0jRNofnQ19p5C9uTjAO/znofEM90kRWHMPbDis9o0w==
X-Received: by 2002:a2e:7804:0:b0:2c9:af4f:4ca9 with SMTP id t4-20020a2e7804000000b002c9af4f4ca9mr6677816ljc.13.1701354657965;
        Thu, 30 Nov 2023 06:30:57 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 2/5] xen/livepatch: search for symbols in all loaded payloads
Date: Thu, 30 Nov 2023 15:29:41 +0100
Message-ID: <20231130142944.46322-3-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231130142944.46322-1-roger.pau@citrix.com>
References: <20231130142944.46322-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

When checking if an address belongs to a patch, or when resolving a symbol,
take into account all loaded livepatch payloads, even if not applied.

This is required in order for the pre-apply and post-revert hooks to work
properly, or else Xen won't detect the intruction pointer belonging to those
hooks as being part of the currently active text.

Move the RCU handling to be used for payload_list instead of applied_list, as
now the calls from trap code will iterate over the payload_list.

Fixes: 8313c864fa95 ('livepatch: Implement pre-|post- apply|revert hooks')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/common/livepatch.c | 49 +++++++++++++++---------------------------
 1 file changed, 17 insertions(+), 32 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 3199432f11f5..4e775be66571 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -36,13 +36,14 @@
  * caller in schedule_work.
  */
 static DEFINE_SPINLOCK(payload_lock);
-static LIST_HEAD(payload_list);
-
 /*
- * Patches which have been applied. Need RCU in case we crash (and then
- * traps code would iterate via applied_list) when adding entries on the list.
+ * Need RCU in case we crash (and then traps code would iterate via
+ * payload_list) when adding entries on the list.
  */
-static DEFINE_RCU_READ_LOCK(rcu_applied_lock);
+static DEFINE_RCU_READ_LOCK(rcu_payload_lock);
+static LIST_HEAD(payload_list);
+
+/* Patches which have been applied. Only modified from stop machine context. */
 static LIST_HEAD(applied_list);
 
 static unsigned int payload_cnt;
@@ -111,12 +112,8 @@ bool is_patch(const void *ptr)
     const struct payload *data;
     bool r = false;
 
-    /*
-     * Only RCU locking since this list is only ever changed during apply
-     * or revert context. And in case it dies there we need an safe list.
-     */
-    rcu_read_lock(&rcu_applied_lock);
-    list_for_each_entry_rcu ( data, &applied_list, applied_list )
+    rcu_read_lock(&rcu_payload_lock);
+    list_for_each_entry_rcu ( data, &payload_list, list )
     {
         if ( (ptr >= data->rw_addr &&
               ptr < (data->rw_addr + data->rw_size)) ||
@@ -130,7 +127,7 @@ bool is_patch(const void *ptr)
         }
 
     }
-    rcu_read_unlock(&rcu_applied_lock);
+    rcu_read_unlock(&rcu_payload_lock);
 
     return r;
 }
@@ -166,12 +163,8 @@ static const char *cf_check livepatch_symbols_lookup(
     const void *va = (const void *)addr;
     const char *n = NULL;
 
-    /*
-     * Only RCU locking since this list is only ever changed during apply
-     * or revert context. And in case it dies there we need an safe list.
-     */
-    rcu_read_lock(&rcu_applied_lock);
-    list_for_each_entry_rcu ( data, &applied_list, applied_list )
+    rcu_read_lock(&rcu_payload_lock);
+    list_for_each_entry_rcu ( data, &payload_list, list )
     {
         if ( va < data->text_addr ||
              va >= (data->text_addr + data->text_size) )
@@ -200,7 +193,7 @@ static const char *cf_check livepatch_symbols_lookup(
         n = data->symtab[best].name;
         break;
     }
-    rcu_read_unlock(&rcu_applied_lock);
+    rcu_read_unlock(&rcu_payload_lock);
 
     return n;
 }
@@ -1074,7 +1067,8 @@ static void free_payload(struct payload *data)
 {
     ASSERT(spin_is_locked(&payload_lock));
     unregister_virtual_region(&data->region);
-    list_del(&data->list);
+    list_del_rcu(&data->list);
+    rcu_barrier();
     payload_cnt--;
     payload_version++;
     free_payload_data(data);
@@ -1173,7 +1167,7 @@ static int livepatch_upload(struct xen_sysctl_livepatch_upload *upload)
         INIT_LIST_HEAD(&data->list);
         INIT_LIST_HEAD(&data->applied_list);
 
-        list_add_tail(&data->list, &payload_list);
+        list_add_tail_rcu(&data->list, &payload_list);
         payload_cnt++;
         payload_version++;
     }
@@ -1384,11 +1378,7 @@ static int apply_payload(struct payload *data)
 
 static inline void apply_payload_tail(struct payload *data)
 {
-    /*
-     * We need RCU variant (which has barriers) in case we crash here.
-     * The applied_list is iterated by the trap code.
-     */
-    list_add_tail_rcu(&data->applied_list, &applied_list);
+    list_add_tail(&data->applied_list, &applied_list);
 
     data->state = LIVEPATCH_STATE_APPLIED;
 }
@@ -1428,12 +1418,7 @@ static int revert_payload(struct payload *data)
 
 static inline void revert_payload_tail(struct payload *data)
 {
-
-    /*
-     * We need RCU variant (which has barriers) in case we crash here.
-     * The applied_list is iterated by the trap code.
-     */
-    list_del_rcu(&data->applied_list);
+    list_del(&data->applied_list);
 
     data->reverted = true;
     data->state = LIVEPATCH_STATE_CHECKED;
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:31:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644749.1006213 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8i4H-0005em-Kd; Thu, 30 Nov 2023 14:31:05 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644749.1006213; Thu, 30 Nov 2023 14:31: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 1r8i4H-0005dy-EG; Thu, 30 Nov 2023 14:31:05 +0000
Received: by outflank-mailman (input) for mailman id 644749;
 Thu, 30 Nov 2023 14:31: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8i4F-0004Xw-Pj
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:31:03 +0000
Received: from mail-wm1-x335.google.com (mail-wm1-x335.google.com
 [2a00:1450:4864:20::335])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1649b7e4-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:31:02 +0100 (CET)
Received: by mail-wm1-x335.google.com with SMTP id
 5b1f17b1804b1-40b2ad4953cso13322635e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 06:31:02 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 bg28-20020a05600c3c9c00b00405718cbeadsm1482913wmb.1.2023.11.30.06.30.59
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 06:30:59 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1649b7e4-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701354661; x=1701959461; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=AnrYiuXdzp9zPzX6PeTg0GoA8oRf3Fko4S7XBz0W3tM=;
        b=TnUAVvWjbMtnk40/CgFjq0pxdPH8/BTNfKqTyN2aWuvKY/K5rHOqh9ceVt6HDgYQZ5
         X1cUcqQYyuRGhNZNKvr+Lj1awKhmASiAg6XDL1h3M/q3+qsL9xNuiEN+lrQ/4+dM9CDa
         oZawnSAcl2nEdvptLvZE7cEZtnuIFJZCLOSOE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701354661; x=1701959461;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=AnrYiuXdzp9zPzX6PeTg0GoA8oRf3Fko4S7XBz0W3tM=;
        b=q9XKRyF6UZmSwgH8+xTVev+bnJ2s0IZh2YNzH3ahJSuyZ6lYYFiJ4Ezf19AXwexjKW
         fbLHDOd8yyPFMoBdb7DK32DmdQd+HTts3pH2zjfTvqHftKFDzYXKnJgjehOG9SnxHe32
         5vs+azzTlf9oDYMP9LgC9F6sluVf4GdgE5gYZXw/nSlzGT7r6AD5J5pEbmK5GDxtZUIB
         NIdQP4lPg9uuilRkS3S7UkEs7zjbMoh1+6H94G2iyhraoeb7MjbA9Spus3D27uZ4DmEy
         eY6rpImxBCEiPabzZtSqbU7468CzXlBNGTOkg7geJZFzXQRF86VyXLZCotgvG1nyBWqq
         b2Tg==
X-Gm-Message-State: AOJu0Yy5Lm5B9FIc5VF0+eWVfk+QicQDmLvMQTYugs7F4yENo5aucMqF
	nkXUf/kCFVVYsy1w4M53FS9nB9rs8kGNZHbIeKQ=
X-Google-Smtp-Source: AGHT+IHSqHoWGMyyFhY4dd88FAFJqw51AoRcIA8ADJNGbUx7FEI1BOjSuGkCimy+AFGNLtTICL1n8g==
X-Received: by 2002:a05:600c:3550:b0:40b:4072:54de with SMTP id i16-20020a05600c355000b0040b407254demr13196172wmq.13.1701354660293;
        Thu, 30 Nov 2023 06:31:00 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 4/5] xen/livepatch: fix norevert test hook setup typo
Date: Thu, 30 Nov 2023 15:29:43 +0100
Message-ID: <20231130142944.46322-5-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231130142944.46322-1-roger.pau@citrix.com>
References: <20231130142944.46322-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The test code has a typo in using LIVEPATCH_APPLY_HOOK() instead of
LIVEPATCH_REVERT_HOOK().

Fixes: 6047104c3ccc ('livepatch: Add per-function applied/reverted state tracking marker')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/test/livepatch/xen_action_hooks_norevert.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/xen/test/livepatch/xen_action_hooks_norevert.c b/xen/test/livepatch/xen_action_hooks_norevert.c
index 074f8e1d56ce..cdfff156cede 100644
--- a/xen/test/livepatch/xen_action_hooks_norevert.c
+++ b/xen/test/livepatch/xen_action_hooks_norevert.c
@@ -108,7 +108,7 @@ static void post_revert_hook(livepatch_payload_t *payload)
     printk(KERN_DEBUG "%s: Hook done.\n", __func__);
 }
 
-LIVEPATCH_APPLY_HOOK(revert_hook);
+LIVEPATCH_REVERT_HOOK(revert_hook);
 
 LIVEPATCH_PREAPPLY_HOOK(pre_apply_hook);
 LIVEPATCH_POSTAPPLY_HOOK(post_apply_hook);
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:31:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644745.1006173 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8i4C-0004d8-Aj; Thu, 30 Nov 2023 14:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644745.1006173; Thu, 30 Nov 2023 14:31: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 1r8i4C-0004c2-6O; Thu, 30 Nov 2023 14:31:00 +0000
Received: by outflank-mailman (input) for mailman id 644745;
 Thu, 30 Nov 2023 14:30: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8i4B-0004Xw-Hf
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:30:59 +0000
Received: from mail-lf1-x133.google.com (mail-lf1-x133.google.com
 [2a00:1450:4864:20::133])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 1390815a-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:30:58 +0100 (CET)
Received: by mail-lf1-x133.google.com with SMTP id
 2adb3069b0e04-50bc7706520so1480969e87.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 06:30:58 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 m40-20020a05600c3b2800b004042dbb8925sm5931131wms.38.2023.11.30.06.30.56
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 06:30:56 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1390815a-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701354657; x=1701959457; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=us5MRK85UaF1YkoiOqLuWe1/EFiuRH9wxTjWYuva1v4=;
        b=nfdtOu6K2LPFfMV9mQs5GKbUkMMYvSDa+qR0LQH5eL7+URjLnBx9aMnWtdgCFubDhI
         /k2EhDVE4Zq8wyDbaTlXVtMcvbkUK4JkY3PBeCyg1b9QHX+Eejkl2/6YOMh+ewzycobL
         80VOxIMiujx9jN+EpVl543cUs1gn3rqE2CMaQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701354657; x=1701959457;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=us5MRK85UaF1YkoiOqLuWe1/EFiuRH9wxTjWYuva1v4=;
        b=oqq0Y/C/TznlN0mDvRqv0mT4PLQduiPyA0StIUdLmItLkrz6+QKV3Odgl3NR3nRhMD
         pmG/ZpLkA8jqIDzL5/zJnZhSV5xH3oRfSwl26KlPRoELzZlHShJOAl3HBnjMawlfTseZ
         P5wnviKl1O8od2mVQHi4rnWI6aW3Y67JJ5rmh2/fG2nd/p7vKSI1Ymj1TYz/qV/RpTDg
         DRef976HrEPl6GqRnrNXditL/dpZUNaWDhEDN3oTnlTXDDSqT9E5jq1VdoSzqe0MpUp5
         DjWxpfjmB6kUCe88uk9y6pa+l3wNTdPdr6g/aynxpfHSsDc7udKziYzKJb4WcgsONI6N
         Uwrw==
X-Gm-Message-State: AOJu0YyFOMCEqmZHcXEFp4/tA2XJ7zbMo6nI/IxdXwl9U4dqpixsuHk+
	P5CUuRnjpflfbbZP+qBbJkS3hKyUNNqhg6bJrMw=
X-Google-Smtp-Source: AGHT+IHX9mQXwQI70TCAgfsOvIZgxCkfzZx6FLSpP6X1ZlxZNCNPhwvqTzRoHRynHEITwxTynST/4w==
X-Received: by 2002:a2e:a175:0:b0:2c9:bb85:8d45 with SMTP id u21-20020a2ea175000000b002c9bb858d45mr4586305ljl.25.1701354656993;
        Thu, 30 Nov 2023 06:30:56 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@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 1/5] xen/livepatch: register livepatch regions when loaded
Date: Thu, 30 Nov 2023 15:29:40 +0100
Message-ID: <20231130142944.46322-2-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231130142944.46322-1-roger.pau@citrix.com>
References: <20231130142944.46322-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Currently livepatch regions are registered as virtual regions only after the
livepatch has been applied.

This can lead to issues when using the pre-apply or post-revert hooks, as at
the point the livepatch is not in the virtual regions list.  If a livepatch
pre-apply hook contains a WARN() it would trigger an hypervisor crash, as the
code to handle the bug frame won't be able to find the instruction pointer that
triggered the #UD in any of the registered virtual regions, and hence crash.

Fix this by adding the livepatch payloads as virtual regions as soon as loaded,
and only remove them once the payload is unloaded.  This requires some changes
to the virtual regions code, as the removal of the virtual regions is no longer
done in stop machine context, and hence an RCU barrier is added in order to
make sure there are no users of the virtual region after it's been removed from
the list.

Fixes: 8313c864fa95 ('livepatch: Implement pre-|post- apply|revert hooks')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/common/livepatch.c      |  5 +++--
 xen/common/virtual_region.c | 40 +++++++++++--------------------------
 2 files changed, 15 insertions(+), 30 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 1209fea2566c..3199432f11f5 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -942,6 +942,8 @@ static int prepare_payload(struct payload *payload,
         }
     }
 
+    register_virtual_region(region);
+
     return 0;
 }
 
@@ -1071,6 +1073,7 @@ static int build_symbol_table(struct payload *payload,
 static void free_payload(struct payload *data)
 {
     ASSERT(spin_is_locked(&payload_lock));
+    unregister_virtual_region(&data->region);
     list_del(&data->list);
     payload_cnt--;
     payload_version++;
@@ -1386,7 +1389,6 @@ static inline void apply_payload_tail(struct payload *data)
      * The applied_list is iterated by the trap code.
      */
     list_add_tail_rcu(&data->applied_list, &applied_list);
-    register_virtual_region(&data->region);
 
     data->state = LIVEPATCH_STATE_APPLIED;
 }
@@ -1432,7 +1434,6 @@ static inline void revert_payload_tail(struct payload *data)
      * The applied_list is iterated by the trap code.
      */
     list_del_rcu(&data->applied_list);
-    unregister_virtual_region(&data->region);
 
     data->reverted = true;
     data->state = LIVEPATCH_STATE_CHECKED;
diff --git a/xen/common/virtual_region.c b/xen/common/virtual_region.c
index 5f89703f513b..b444253848cf 100644
--- a/xen/common/virtual_region.c
+++ b/xen/common/virtual_region.c
@@ -23,14 +23,8 @@ static struct virtual_region core_init __initdata = {
 };
 
 /*
- * RCU locking. Additions are done either at startup (when there is only
- * one CPU) or when all CPUs are running without IRQs.
- *
- * Deletions are bit tricky. We do it when Live Patch (all CPUs running
- * without IRQs) or during bootup (when clearing the init).
- *
- * Hence we use list_del_rcu (which sports an memory fence) and a spinlock
- * on deletion.
+ * RCU locking. Modifications to the list must be done in exclusive mode, and
+ * hence need to hold the spinlock.
  *
  * All readers of virtual_region_list MUST use list_for_each_entry_rcu.
  */
@@ -58,38 +52,28 @@ const struct virtual_region *find_text_region(unsigned long addr)
 
 void register_virtual_region(struct virtual_region *r)
 {
-    ASSERT(!local_irq_is_enabled());
+    unsigned long flags;
 
+    spin_lock_irqsave(&virtual_region_lock, flags);
     list_add_tail_rcu(&r->list, &virtual_region_list);
+    spin_unlock_irqrestore(&virtual_region_lock, flags);
 }
 
 static void remove_virtual_region(struct virtual_region *r)
 {
-    unsigned long flags;
+     unsigned long flags;
 
-    spin_lock_irqsave(&virtual_region_lock, flags);
-    list_del_rcu(&r->list);
-    spin_unlock_irqrestore(&virtual_region_lock, flags);
-    /*
-     * We do not need to invoke call_rcu.
-     *
-     * This is due to the fact that on the deletion we have made sure
-     * to use spinlocks (to guard against somebody else calling
-     * unregister_virtual_region) and list_deletion spiced with
-     * memory barrier.
-     *
-     * That protects us from corrupting the list as the readers all
-     * use list_for_each_entry_rcu which is safe against concurrent
-     * deletions.
-     */
+     spin_lock_irqsave(&virtual_region_lock, flags);
+     list_del_rcu(&r->list);
+     spin_unlock_irqrestore(&virtual_region_lock, flags);
 }
 
 void unregister_virtual_region(struct virtual_region *r)
 {
-    /* Expected to be called from Live Patch - which has IRQs disabled. */
-    ASSERT(!local_irq_is_enabled());
-
     remove_virtual_region(r);
+
+    /* Assert that no CPU might be using the removed region. */
+    rcu_barrier();
 }
 
 #if defined(CONFIG_LIVEPATCH) && defined(CONFIG_X86)
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:31:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644744.1006168 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8i4C-0004Zr-2X; Thu, 30 Nov 2023 14:31:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644744.1006168; Thu, 30 Nov 2023 14:31: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 1r8i4B-0004Zk-Uw; Thu, 30 Nov 2023 14:30:59 +0000
Received: by outflank-mailman (input) for mailman id 644744;
 Thu, 30 Nov 2023 14:30: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8i4A-0004Xw-8R
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:30:58 +0000
Received: from mail-wm1-x329.google.com (mail-wm1-x329.google.com
 [2a00:1450:4864:20::329])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 12efe29f-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:30:56 +0100 (CET)
Received: by mail-wm1-x329.google.com with SMTP id
 5b1f17b1804b1-40b397793aaso6086725e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 06:30:56 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 z3-20020a05600c0a0300b0040839fcb217sm2258963wmp.8.2023.11.30.06.30.55
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 06:30:55 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 12efe29f-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701354656; x=1701959456; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:from:to:cc:subject:date:message-id:reply-to;
        bh=7YB37uIZeiul8LXYiUxNbAMSZ783gJlh2AC/oVkpE9k=;
        b=eSHayK3KiQWxyyKxv2dvOh+XutUyRSWh349zfMpFuNv/k/Us0ri8muyjdHoXi2jDIX
         MzjfCYwR45QwX2BVc7ZT6ApS+u/oR/Mdo1I4u492kJHTLOCcJGM+RcXzFNuqsl3TJUv5
         Oyax1CTgXcU6bfpi/eyZh4SHOMHVmEP//mqAE=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701354656; x=1701959456;
        h=content-transfer-encoding:mime-version:message-id:date:subject:cc
         :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
         :reply-to;
        bh=7YB37uIZeiul8LXYiUxNbAMSZ783gJlh2AC/oVkpE9k=;
        b=uaNlzkd35Q/V6wUxSjnN1Tevnfy0BOKa+1PMHRJWKCDCGRV16AAH4dX4WvoCWaiX0c
         9ovcnpptH1CLYSDCAgOMVoaTv95SIulQrgz38dagSaVCrwFs9AH0sXhfGqUcPsNPsjxI
         5qsICW5Ma9UAWOP5qtF/TlisOswlIAY0Rb27nfFOU/z5wlCiFQQgZJC5G3rlUWPn5SO4
         j1xy5i8Vpr7TM53hPjl/xabJyfSnNklIFRToFR8Kf8lb9SFh8WiOojN89VPYHjTQLtta
         jiqZAE88rgoFRI9R4HCf0Gif82z8mpd5Fj8ejv0tS7niVtiqDpYNuKhX1LlETrwZzG9D
         GJNw==
X-Gm-Message-State: AOJu0YzA4LzgC8EsoC7+jNS06ST/XN6ojVJvdGWf2RdiYV3oXzOLcdSq
	XkmprEmev98/2rSn173enxX5XHstzu7CrCzCeRI=
X-Google-Smtp-Source: AGHT+IGk5wiVX8u7sDPjUBYqsnBCp9HjIvQBHrfkrueF3ZqUybxOG4Ktv99JpeK54r4EJg3kufojFQ==
X-Received: by 2002:a05:600c:1d08:b0:40b:2a62:a2b6 with SMTP id l8-20020a05600c1d0800b0040b2a62a2b6mr18753285wms.1.1701354655932;
        Thu, 30 Nov 2023 06:30:55 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@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 0/5] xen/livepatch: fixes for the pre-apply / post-revert hooks
Date: Thu, 30 Nov 2023 15:29:39 +0100
Message-ID: <20231130142944.46322-1-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Hello,

The follow series contain a misc of fixes mostly related to the usage of
the pre-apply / post-revert hooks.  The norevert test is also fixed to
work as I think was expected.  Finally both the no{apply,revert}
tests are fixed to build properly, as the files where previously
unhooked from the build system completely.

I'm unsure how useful the apply and revert hooks really are, as without
calling the internal apply/revert functions the state of the payload
structure is quite likely inconsistent with the code expectations.

Thanks, Roger.

Roger Pau Monne (5):
  xen/livepatch: register livepatch regions when loaded
  xen/livepatch: search for symbols in all loaded payloads
  xen/livepatch: fix norevert test attempt to open-code revert
  xen/livepatch: fix norevert test hook setup typo
  xen/livepatch: properly build the noapply and norevert tests

 xen/common/livepatch.c                        | 95 +++++++++++--------
 xen/common/virtual_region.c                   | 40 +++-----
 xen/include/xen/livepatch.h                   | 32 +------
 xen/test/livepatch/Makefile                   |  4 +-
 .../livepatch/xen_action_hooks_norevert.c     | 24 ++---
 5 files changed, 81 insertions(+), 114 deletions(-)

-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:31:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:31:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644747.1006198 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8i4E-0005J5-St; Thu, 30 Nov 2023 14:31:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644747.1006198; Thu, 30 Nov 2023 14: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 1r8i4E-0005Iw-Ph; Thu, 30 Nov 2023 14:31:02 +0000
Received: by outflank-mailman (input) for mailman id 644747;
 Thu, 30 Nov 2023 14:31: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8i4D-0004Xw-T7
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:31:01 +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 15128e0c-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:31:00 +0100 (CET)
Received: by mail-wm1-x334.google.com with SMTP id
 5b1f17b1804b1-40b27b498c3so9579515e9.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 06:31:00 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 bg36-20020a05600c3ca400b003fe1fe56202sm2226753wmb.33.2023.11.30.06.30.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 06:30:58 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 15128e0c-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701354659; x=1701959459; darn=lists.xenproject.org;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CUZtNykyKvrHHFaeVoASWNDGSUHrb0gwHyinLU+xjEQ=;
        b=XTFQUqEnHUxUKHXVzlorajYqYBpDdkveaZSWLJeQwUSzyrVDqxHDVVmFlfZtGIkp7m
         gqn0ovNu+2Ss6rIE+GnosGlqVqW7c2AecTeiorqJWuvvJHUMpg2/cArFLMHJoHbV1uJm
         xmQJhHyrhluGCv3W3A9YetlT5kY6TACnyNSe4=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701354659; x=1701959459;
        h=content-transfer-encoding:mime-version:references:in-reply-to
         :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=CUZtNykyKvrHHFaeVoASWNDGSUHrb0gwHyinLU+xjEQ=;
        b=CUf4tbD82JbFHadRdg2IT0LyWBeB/hRscC4Auqp6xhaYgMz4z03zOW/raLRr9GDkXX
         fUq2QJxCB0IA4v1aBlpREHAfRxRizxsW6XM+YfFX9+rWcHRqVnM+47NNts04cJIQQH6q
         vqFE3tqCc2sl5T9tqaIany3XB3JpG/gg2BaGLVjPMQ58clzJtKDPkInkUOsy29poQ9Ru
         o1wyV4cj6mROcmJbBj15EHnoNVN9pa0wCSd2rT83vH052LOU2MebmhfL7GpTUQ4xUX1j
         ZcO1BRT6g0bAr4nSyT2XiMo68+oRGiZ/TrUqwre7GHHoFNJf4BEtQewfuYxXVej8uQ7Q
         OUqg==
X-Gm-Message-State: AOJu0YyTW0lGRoOAA6Yu1v8i7mp++XMR0nv3xmcMnlmz9WP4BlW3kGuy
	uiLgKNZ+DC3U+Zuw8a8QJ5dEKOhIrabHPkzdovs=
X-Google-Smtp-Source: AGHT+IGAVFqkVLj5bVZ4+QcNWWYXd2BLQa0cqBXLGFoth88i5xyK5H6M1+aGiy8iRj2AyeI5qo4C9Q==
X-Received: by 2002:a05:600c:354e:b0:40b:51c2:6910 with SMTP id i14-20020a05600c354e00b0040b51c26910mr4366825wmq.29.1701354658965;
        Thu, 30 Nov 2023 06:30:58 -0800 (PST)
From: Roger Pau Monne <roger.pau@citrix.com>
To: xen-devel@lists.xenproject.org
Cc: Roger Pau Monne <roger.pau@citrix.com>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>
Subject: [PATCH 3/5] xen/livepatch: fix norevert test attempt to open-code revert
Date: Thu, 30 Nov 2023 15:29:42 +0100
Message-ID: <20231130142944.46322-4-roger.pau@citrix.com>
X-Mailer: git-send-email 2.43.0
In-Reply-To: <20231130142944.46322-1-roger.pau@citrix.com>
References: <20231130142944.46322-1-roger.pau@citrix.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

The purpose of the norevert test is to install a dummy handler that replaces
the internal Xen revert code, and then perform the revert in the post-revert
hook.  For that purpose the usage of the previous common_livepatch_revert() is
not enough, as that just reverts specific functions, but not the whole state of
the payload.

Remove both common_livepatch_{apply,revert}() and instead expose
revert_payload{,_tail}() in order to perform the patch revert from the
post-revert hook.

Fixes: 6047104c3ccc ('livepatch: Add per-function applied/reverted state tracking marker')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/common/livepatch.c                        | 41 +++++++++++++++++--
 xen/include/xen/livepatch.h                   | 32 ++-------------
 .../livepatch/xen_action_hooks_norevert.c     | 22 +++-------
 3 files changed, 46 insertions(+), 49 deletions(-)

diff --git a/xen/common/livepatch.c b/xen/common/livepatch.c
index 4e775be66571..d81f3d11d655 100644
--- a/xen/common/livepatch.c
+++ b/xen/common/livepatch.c
@@ -1367,7 +1367,22 @@ static int apply_payload(struct payload *data)
     ASSERT(!local_irq_is_enabled());
 
     for ( i = 0; i < data->nfuncs; i++ )
-        common_livepatch_apply(&data->funcs[i], &data->fstate[i]);
+    {
+        const struct livepatch_func *func = &data->funcs[i];
+        struct livepatch_fstate *state = &data->fstate[i];
+
+        /* If the action has been already executed on this function, do nothing. */
+        if ( state->applied == LIVEPATCH_FUNC_APPLIED )
+        {
+            printk(XENLOG_WARNING LIVEPATCH
+                   "%s: %s has been already applied before\n",
+                   __func__, func->name);
+            continue;
+        }
+
+        arch_livepatch_apply(func, state);
+        state->applied = LIVEPATCH_FUNC_APPLIED;
+    }
 
     arch_livepatch_revive();
 
@@ -1383,7 +1398,7 @@ static inline void apply_payload_tail(struct payload *data)
     data->state = LIVEPATCH_STATE_APPLIED;
 }
 
-static int revert_payload(struct payload *data)
+int revert_payload(struct payload *data)
 {
     unsigned int i;
     int rc;
@@ -1398,7 +1413,25 @@ static int revert_payload(struct payload *data)
     }
 
     for ( i = 0; i < data->nfuncs; i++ )
-        common_livepatch_revert(&data->funcs[i], &data->fstate[i]);
+    {
+        const struct livepatch_func *func = &data->funcs[i];
+        struct livepatch_fstate *state = &data->fstate[i];
+
+        /*
+         * If the apply action hasn't been executed on this function, do
+         * nothing.
+         */
+        if ( !func->old_addr || state->applied == LIVEPATCH_FUNC_NOT_APPLIED )
+        {
+            printk(XENLOG_WARNING LIVEPATCH
+                   "%s: %s has not been applied before\n",
+                   __func__, func->name);
+            continue;
+        }
+
+        arch_livepatch_revert(func, state);
+        state->applied = LIVEPATCH_FUNC_NOT_APPLIED;
+    }
 
     /*
      * Since we are running with IRQs disabled and the hooks may call common
@@ -1416,7 +1449,7 @@ static int revert_payload(struct payload *data)
     return 0;
 }
 
-static inline void revert_payload_tail(struct payload *data)
+void revert_payload_tail(struct payload *data)
 {
     list_del(&data->applied_list);
 
diff --git a/xen/include/xen/livepatch.h b/xen/include/xen/livepatch.h
index df339a134e40..9da8b6939878 100644
--- a/xen/include/xen/livepatch.h
+++ b/xen/include/xen/livepatch.h
@@ -136,35 +136,11 @@ void arch_livepatch_post_action(void);
 void arch_livepatch_mask(void);
 void arch_livepatch_unmask(void);
 
-static inline void common_livepatch_apply(const struct livepatch_func *func,
-                                          struct livepatch_fstate *state)
-{
-    /* If the action has been already executed on this function, do nothing. */
-    if ( state->applied == LIVEPATCH_FUNC_APPLIED )
-    {
-        printk(XENLOG_WARNING LIVEPATCH "%s: %s has been already applied before\n",
-                __func__, func->name);
-        return;
-    }
-
-    arch_livepatch_apply(func, state);
-    state->applied = LIVEPATCH_FUNC_APPLIED;
-}
+/* Only for testing purposes. */
+struct payload;
+int revert_payload(struct payload *data);
+void revert_payload_tail(struct payload *data);
 
-static inline void common_livepatch_revert(const struct livepatch_func *func,
-                                           struct livepatch_fstate *state)
-{
-    /* If the apply action hasn't been executed on this function, do nothing. */
-    if ( !func->old_addr || state->applied == LIVEPATCH_FUNC_NOT_APPLIED )
-    {
-        printk(XENLOG_WARNING LIVEPATCH "%s: %s has not been applied before\n",
-                __func__, func->name);
-        return;
-    }
-
-    arch_livepatch_revert(func, state);
-    state->applied = LIVEPATCH_FUNC_NOT_APPLIED;
-}
 #else
 
 /*
diff --git a/xen/test/livepatch/xen_action_hooks_norevert.c b/xen/test/livepatch/xen_action_hooks_norevert.c
index 3e21ade6abfc..074f8e1d56ce 100644
--- a/xen/test/livepatch/xen_action_hooks_norevert.c
+++ b/xen/test/livepatch/xen_action_hooks_norevert.c
@@ -96,26 +96,14 @@ static int revert_hook(livepatch_payload_t *payload)
 
 static void post_revert_hook(livepatch_payload_t *payload)
 {
-    int i;
+    unsigned long flags;
 
     printk(KERN_DEBUG "%s: Hook starting.\n", __func__);
 
-    for (i = 0; i < payload->nfuncs; i++)
-    {
-        const struct livepatch_func *func = &payload->funcs[i];
-        struct livepatch_fstate *fstate = &payload->fstate[i];
-
-        BUG_ON(revert_cnt != 1);
-        BUG_ON(fstate->applied != LIVEPATCH_FUNC_APPLIED);
-
-        /* Outside of quiesce zone: MAY TRIGGER HOST CRASH/UNDEFINED BEHAVIOR */
-        arch_livepatch_quiesce();
-        common_livepatch_revert(payload);
-        arch_livepatch_revive();
-        BUG_ON(fstate->applied == LIVEPATCH_FUNC_APPLIED);
-
-        printk(KERN_DEBUG "%s: post reverted: %s\n", __func__, func->name);
-    }
+    local_irq_save(flags);
+    revert_payload(payload);
+    revert_payload_tail(payload);
+    local_irq_restore(flags);
 
     printk(KERN_DEBUG "%s: Hook done.\n", __func__);
 }
-- 
2.43.0



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644761.1006246 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC4-0002dg-S0; Thu, 30 Nov 2023 14:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644761.1006246; Thu, 30 Nov 2023 14: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 1r8iC4-0002ZO-Ix; Thu, 30 Nov 2023 14:39:08 +0000
Received: by outflank-mailman (input) for mailman id 644761;
 Thu, 30 Nov 2023 14:32: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i5T-0007mE-FJ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:32:19 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 42135ca2-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:32:17 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:31:48 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:31:38 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 42135ca2-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354738; x=1732890738;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=0HgUkt24A8GDXQknSCYGY0tM/5gPDdFuKpTNl12j5yE=;
  b=HcInUAROq26TgcQAWAlkd14Rcx+2MlqftpfeNAQ+DQgbwMiDHqu9DrX2
   GKii5ksO4Ck7OjrxO3SuzMgDWBzWBvadWXPrv99rA9XEBOBWcANBF7z2x
   4bh8RgP4TUsdoLqDr7zIKhpgINAXD9nFukR6agvFzkFHSj+kR9Wl8wjFx
   YjSInGpT0px8hGSPmyOngr1jn4XX9LR4r6gE+6vsTXkJoZS4w0QMvlKo5
   GO8y2DzScB2Z8iPf1wZgQKTAOdpJ88JLHE6cA/QOcN8PmfsVhI661jgeo
   VSnTXhkibZC5I3diWC2Llq+99IM3fhe8Bg3/RhMMX0AUFnFu4aKC3j/9+
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531413"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531413"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729736"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729736"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 08/41] hw/core/topo: Introduce CPU topology device abstraction
Date: Thu, 30 Nov 2023 22:41:30 +0800
Message-Id: <20231130144203.2307629-9-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

To create more flexible CPU topologies (both symmetric and
heterogeneous) via the "-device" interface, it is necessary to convert
the current CPU topology hierarchies into the special CPU topology
devices.

The CPU topology will be built as a tree, and the device with the
CPU_TOPO_ROOT level is the only root of this CPU topology tree.

The different levels of CPU topology devices are connected in the
"-device" cli with the child<> property, which in turn will be set the
Object.parent through the qdev interface. And ultimately at the
realize(), CPU topology devices will be linked to their topological
parent based on the Object.parent field, and then be inserted into the
topology tree.

As the first step, introduce the basic CPU topology device abstraction,
as well as the topology tree and topology hierarchy construction based
on the CPU topology devices.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 MAINTAINERS                |   2 +
 hw/core/cpu-topo.c         | 201 +++++++++++++++++++++++++++++++++++++
 hw/core/meson.build        |   1 +
 include/hw/core/cpu-topo.h |  79 +++++++++++++++
 4 files changed, 283 insertions(+)
 create mode 100644 hw/core/cpu-topo.c
 create mode 100644 include/hw/core/cpu-topo.h

diff --git a/MAINTAINERS b/MAINTAINERS
index fdbabaa983cc..564cb776ae80 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1854,6 +1854,7 @@ R: Philippe Mathieu-Daudé <philmd@linaro.org>
 R: Yanan Wang <wangyanan55@huawei.com>
 S: Supported
 F: hw/core/cpu.c
+F: hw/core/cpu-topo.c
 F: hw/core/machine-qmp-cmds.c
 F: hw/core/machine.c
 F: hw/core/machine-smp.c
@@ -1865,6 +1866,7 @@ F: qapi/machine-common.json
 F: qapi/machine-target.json
 F: include/hw/boards.h
 F: include/hw/core/cpu.h
+F: include/hw/core/cpu-topo.h
 F: include/hw/cpu/cluster.h
 F: include/sysemu/numa.h
 F: tests/unit/test-smp-parse.c
diff --git a/hw/core/cpu-topo.c b/hw/core/cpu-topo.c
new file mode 100644
index 000000000000..4428b979a5dc
--- /dev/null
+++ b/hw/core/cpu-topo.c
@@ -0,0 +1,201 @@
+/*
+ * General CPU topology device abstraction
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#include "qemu/osdep.h"
+
+#include "hw/core/cpu-topo.h"
+#include "hw/qdev-properties.h"
+#include "qapi/error.h"
+
+static const char *cpu_topo_level_to_string(CPUTopoLevel level)
+{
+    switch (level) {
+    case CPU_TOPO_UNKNOWN:
+        return "unknown";
+    case CPU_TOPO_THREAD:
+        return "thread";
+    case CPU_TOPO_CORE:
+        return "core";
+    case CPU_TOPO_CLUSTER:
+        return "cluster";
+    case CPU_TOPO_DIE:
+        return "die";
+    case CPU_TOPO_SOCKET:
+        return "socket";
+    case CPU_TOPO_BOOK:
+        return "book";
+    case CPU_TOPO_DRAWER:
+        return "drawer";
+    case CPU_TOPO_ROOT:
+        return "root";
+    }
+
+    return NULL;
+}
+
+static void cpu_topo_build_hierarchy(CPUTopoState *topo, Error **errp)
+{
+    CPUTopoState *parent = topo->parent;
+    CPUTopoLevel level = CPU_TOPO_LEVEL(topo);
+    g_autofree char *name = NULL;
+
+    if (!parent) {
+        return;
+    }
+
+    if (parent->child_level == CPU_TOPO_UNKNOWN) {
+        parent->child_level = level;
+    } else if (parent->child_level != level) {
+        error_setg(errp, "cpu topo: the parent level %s asks for the "
+                   "%s child, but current level is %s",
+                   cpu_topo_level_to_string(CPU_TOPO_LEVEL(parent)),
+                   cpu_topo_level_to_string(parent->child_level),
+                   cpu_topo_level_to_string(level));
+        return;
+    }
+
+    if (parent->max_children && parent->max_children <= parent->num_children) {
+        error_setg(errp, "cpu topo: the parent limit the (%d) children, "
+                   "currently it has %d children",
+                   parent->max_children,
+                   parent->num_children);
+        return;
+    }
+
+    parent->num_children++;
+    QTAILQ_INSERT_TAIL(&parent->children, topo, sibling);
+}
+
+static void cpu_topo_set_parent(CPUTopoState *topo, Error **errp)
+{
+    Object *obj = OBJECT(topo);
+    CPUTopoLevel level = CPU_TOPO_LEVEL(topo);
+
+    if (!obj->parent) {
+        return;
+    }
+
+    if (object_dynamic_cast(obj->parent, TYPE_CPU_TOPO)) {
+        CPUTopoState *parent = CPU_TOPO(obj->parent);
+
+        if (level >= CPU_TOPO_LEVEL(parent)) {
+            error_setg(errp, "cpu topo: current level (%s) should be "
+                       "lower than parent (%s) level",
+                       object_get_typename(obj),
+                       object_get_typename(OBJECT(parent)));
+            return;
+        }
+        topo->parent = parent;
+    }
+
+    if (topo->parent) {
+        cpu_topo_build_hierarchy(topo, errp);
+    }
+}
+
+static void cpu_topo_realize(DeviceState *dev, Error **errp)
+{
+    CPUTopoState *topo = CPU_TOPO(dev);
+    CPUTopoClass *tc = CPU_TOPO_GET_CLASS(topo);
+
+    if (tc->level == CPU_TOPO_UNKNOWN) {
+        error_setg(errp, "cpu topo: no level specified"
+                   " type: %s", object_get_typename(OBJECT(dev)));
+        return;
+    }
+
+    cpu_topo_set_parent(topo, errp);
+}
+
+static void cpu_topo_destroy_hierarchy(CPUTopoState *topo)
+{
+    CPUTopoState *parent = topo->parent;
+
+    if (!parent) {
+        return;
+    }
+
+    QTAILQ_REMOVE(&parent->children, topo, sibling);
+    parent->num_children--;
+
+    if (!parent->num_children) {
+        parent->child_level = CPU_TOPO_UNKNOWN;
+    }
+}
+
+static void cpu_topo_unrealize(DeviceState *dev)
+{
+    CPUTopoState *topo = CPU_TOPO(dev);
+
+    /*
+     * The specific unrealize method must consider the bottom-up,
+     * layer-by-layer unrealization implementation.
+     */
+    g_assert(!topo->num_children);
+
+    if (topo->parent) {
+        cpu_topo_destroy_hierarchy(topo);
+    }
+}
+
+static void cpu_topo_class_init(ObjectClass *oc, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(oc);
+    CPUTopoClass *tc = CPU_TOPO_CLASS(oc);
+
+    /* All topology devices belong to CPU property. */
+    set_bit(DEVICE_CATEGORY_CPU, dc->categories);
+    dc->realize = cpu_topo_realize;
+    dc->unrealize = cpu_topo_unrealize;
+
+    /*
+     * The general topo device is not hotpluggable by default.
+     * If any topo device needs hotplug support, this flag must be
+     * overridden under arch-specific topo device code.
+     */
+    dc->hotpluggable = false;
+
+    tc->level = CPU_TOPO_UNKNOWN;
+}
+
+static void cpu_topo_instance_init(Object *obj)
+{
+    CPUTopoState *topo = CPU_TOPO(obj);
+    QTAILQ_INIT(&topo->children);
+
+    topo->child_level = CPU_TOPO_UNKNOWN;
+}
+
+static const TypeInfo cpu_topo_type_info = {
+    .name = TYPE_CPU_TOPO,
+    .parent = TYPE_DEVICE,
+    .abstract = true,
+    .class_size = sizeof(CPUTopoClass),
+    .class_init = cpu_topo_class_init,
+    .instance_size = sizeof(CPUTopoState),
+    .instance_init = cpu_topo_instance_init,
+};
+
+static void cpu_topo_register_types(void)
+{
+    type_register_static(&cpu_topo_type_info);
+}
+
+type_init(cpu_topo_register_types)
diff --git a/hw/core/meson.build b/hw/core/meson.build
index 67dad04de559..501d2529697e 100644
--- a/hw/core/meson.build
+++ b/hw/core/meson.build
@@ -23,6 +23,7 @@ else
 endif
 
 common_ss.add(files('cpu-common.c'))
+common_ss.add(files('cpu-topo.c'))
 common_ss.add(files('machine-smp.c'))
 system_ss.add(when: 'CONFIG_FITLOADER', if_true: files('loader-fit.c'))
 system_ss.add(when: 'CONFIG_GENERIC_LOADER', if_true: files('generic-loader.c'))
diff --git a/include/hw/core/cpu-topo.h b/include/hw/core/cpu-topo.h
new file mode 100644
index 000000000000..ebcbdd854da5
--- /dev/null
+++ b/include/hw/core/cpu-topo.h
@@ -0,0 +1,79 @@
+/*
+ * General CPU topology device abstraction
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#ifndef CPU_TOPO_H
+#define CPU_TOPO_H
+
+#include "hw/qdev-core.h"
+#include "qemu/queue.h"
+
+typedef enum CPUTopoLevel {
+    CPU_TOPO_UNKNOWN,
+    CPU_TOPO_THREAD,
+    CPU_TOPO_CORE,
+    CPU_TOPO_CLUSTER,
+    CPU_TOPO_DIE,
+    CPU_TOPO_SOCKET,
+    CPU_TOPO_BOOK,
+    CPU_TOPO_DRAWER,
+    CPU_TOPO_ROOT,
+} CPUTopoLevel;
+
+#define TYPE_CPU_TOPO "cpu-topo"
+OBJECT_DECLARE_TYPE(CPUTopoState, CPUTopoClass, CPU_TOPO)
+
+/**
+ * CPUTopoClass:
+ * @level: Topology level for this CPUTopoClass.
+ */
+struct CPUTopoClass {
+    /*< private >*/
+    DeviceClass parent_class;
+
+    /*< public >*/
+    CPUTopoLevel level;
+};
+
+/**
+ * CPUTopoState:
+ * @num_children: Number of topology children under this topology device.
+ * @max_children: Maximum number of children allowed to be inserted under
+ *     this topology device.
+ * @child_level: Topology level for children.
+ * @parent: Topology parent of this topology device.
+ * @children: Queue of topology children.
+ * @sibling: Queue node to be inserted in parent's topology queue.
+ */
+struct CPUTopoState {
+    /*< private >*/
+    DeviceState parent_obj;
+
+    /*< public >*/
+    int num_children;
+    int max_children;
+    CPUTopoLevel child_level;
+    struct CPUTopoState *parent;
+    QTAILQ_HEAD(, CPUTopoState) children;
+    QTAILQ_ENTRY(CPUTopoState) sibling;
+};
+
+#define CPU_TOPO_LEVEL(topo)    (CPU_TOPO_GET_CLASS(topo)->level)
+
+#endif /* CPU_TOPO_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644742.1006238 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC4-0002V8-Ex; Thu, 30 Nov 2023 14:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644742.1006238; Thu, 30 Nov 2023 14: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 1r8iC4-0002Sh-4V; Thu, 30 Nov 2023 14:39:08 +0000
Received: by outflank-mailman (input) for mailman id 644742;
 Thu, 30 Nov 2023 14:30: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i48-0004Xw-Ev
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:30:56 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 10b8fafd-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:30:54 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:30:52 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:30:42 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 10b8fafd-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354654; x=1732890654;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=LfXluGcV2XSbwSzs1A7j8csA0H78Hr7rImWxVfjhw/E=;
  b=V6UG72gsbeGYESC94oLSnMkVPRcFWSBkNUTMWl8YiamJ0Eq94IdgTOM3
   UDr9QsLyRzHbbvwe0bwcorUsJGsh6HKiYt26dpL3ufjfZlX+IlQgFJe4J
   z2c+Ssl66EGv6eqMoLO48uafxSABwwt3iMG6uh9V4yINF05ob9aiMWwP2
   uuQHU5ekK8aCw5uyTCrYVIRskRp7siWXhYKWyDatMXliKKZObrcyvoyi6
   EgdvGrU3cwEgVVfAI9JF1JdNP5LiV1ZkA1InGgNtb58cCqgMrzdHN0bm1
   qvGpAQtTPz31naWKuW0ERZvlcrlV37lQgps5YFCf9tE6fgk087yu383f2
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479530883"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479530883"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729606"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729606"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 02/41] qdev: Allow qdev_device_add() to add specific category device
Date: Thu, 30 Nov 2023 22:41:24 +0800
Message-Id: <20231130144203.2307629-3-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Topology devices need to be created and realized before board
initialization.

Allow qdev_device_add() to specify category to help create topology
devices early.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/net/virtio-net.c    |  2 +-
 hw/usb/xen-usb.c       |  3 ++-
 include/monitor/qdev.h |  4 ++--
 system/qdev-monitor.c  | 12 ++++++++----
 system/vl.c            |  4 ++--
 5 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 80c56f0cfcf1..fc225049ee30 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -965,7 +965,7 @@ static void failover_add_primary(VirtIONet *n, Error **errp)
         return;
     }
 
-    dev = qdev_device_add_from_qdict(n->primary_opts,
+    dev = qdev_device_add_from_qdict(n->primary_opts, NULL,
                                      n->primary_opts_from_json,
                                      &err);
     if (err) {
diff --git a/hw/usb/xen-usb.c b/hw/usb/xen-usb.c
index 09ec326aeae5..bc00d47ff021 100644
--- a/hw/usb/xen-usb.c
+++ b/hw/usb/xen-usb.c
@@ -766,7 +766,8 @@ static void usbback_portid_add(struct usbback_info *usbif, unsigned port,
     qdict_put_str(qdict, "hostport", portname);
     opts = qemu_opts_from_qdict(qemu_find_opts("device"), qdict,
                                 &error_abort);
-    usbif->ports[port - 1].dev = USB_DEVICE(qdev_device_add(opts, &local_err));
+    usbif->ports[port - 1].dev = USB_DEVICE(
+                                     qdev_device_add(opts, NULL, &local_err));
     if (!usbif->ports[port - 1].dev) {
         qobject_unref(qdict);
         xen_pv_printf(&usbif->xendev, 0,
diff --git a/include/monitor/qdev.h b/include/monitor/qdev.h
index 1d57bf657794..f5fd6e6c1ffc 100644
--- a/include/monitor/qdev.h
+++ b/include/monitor/qdev.h
@@ -8,8 +8,8 @@ void hmp_info_qdm(Monitor *mon, const QDict *qdict);
 void qmp_device_add(QDict *qdict, QObject **ret_data, Error **errp);
 
 int qdev_device_help(QemuOpts *opts);
-DeviceState *qdev_device_add(QemuOpts *opts, Error **errp);
-DeviceState *qdev_device_add_from_qdict(const QDict *opts,
+DeviceState *qdev_device_add(QemuOpts *opts, long *category, Error **errp);
+DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
                                         bool from_json, Error **errp);
 
 /**
diff --git a/system/qdev-monitor.c b/system/qdev-monitor.c
index 0f163b2d0310..7ee33a50142a 100644
--- a/system/qdev-monitor.c
+++ b/system/qdev-monitor.c
@@ -617,7 +617,7 @@ const char *qdev_set_id(DeviceState *dev, char *id, Error **errp)
     return prop->name;
 }
 
-DeviceState *qdev_device_add_from_qdict(const QDict *opts,
+DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
                                         bool from_json, Error **errp)
 {
     ERRP_GUARD();
@@ -639,6 +639,10 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts,
         return NULL;
     }
 
+    if (category && !test_bit(*category, dc->categories)) {
+        return NULL;
+    }
+
     /* find bus */
     path = qdict_get_try_str(opts, "bus");
     if (path != NULL) {
@@ -731,12 +735,12 @@ err_del_dev:
 }
 
 /* Takes ownership of @opts on success */
-DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)
+DeviceState *qdev_device_add(QemuOpts *opts, long *category, Error **errp)
 {
     QDict *qdict = qemu_opts_to_qdict(opts, NULL);
     DeviceState *ret;
 
-    ret = qdev_device_add_from_qdict(qdict, false, errp);
+    ret = qdev_device_add_from_qdict(qdict, category, false, errp);
     if (ret) {
         qemu_opts_del(opts);
     }
@@ -858,7 +862,7 @@ void qmp_device_add(QDict *qdict, QObject **ret_data, Error **errp)
         qemu_opts_del(opts);
         return;
     }
-    dev = qdev_device_add(opts, errp);
+    dev = qdev_device_add(opts, NULL, errp);
 
     /*
      * Drain all pending RCU callbacks. This is done because
diff --git a/system/vl.c b/system/vl.c
index 2bcd9efb9a64..0be155b530b4 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -1198,7 +1198,7 @@ static int device_init_func(void *opaque, QemuOpts *opts, Error **errp)
 {
     DeviceState *dev;
 
-    dev = qdev_device_add(opts, errp);
+    dev = qdev_device_add(opts, NULL, errp);
     if (!dev && *errp) {
         error_report_err(*errp);
         return -1;
@@ -2646,7 +2646,7 @@ static void qemu_create_cli_devices(void)
          * from the start, so call qdev_device_add_from_qdict() directly for
          * now.
          */
-        dev = qdev_device_add_from_qdict(opt->opts, true, &error_fatal);
+        dev = qdev_device_add_from_qdict(opt->opts, NULL, true, &error_fatal);
         object_unref(OBJECT(dev));
         loc_pop(&opt->loc);
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644769.1006280 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC7-0003P4-0h; Thu, 30 Nov 2023 14:39:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644769.1006280; Thu, 30 Nov 2023 14:39: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 1r8iC6-0003Mx-MT; Thu, 30 Nov 2023 14:39:10 +0000
Received: by outflank-mailman (input) for mailman id 644769;
 Thu, 30 Nov 2023 14:32: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i5n-0007mE-Hl
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:32:39 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4f65e906-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:32:38 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:32:26 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:32:17 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4f65e906-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354758; x=1732890758;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=giqm05kbC3tYOPrffoLra7vHI+bWgR59/qNt+YCSQ+8=;
  b=ViFxnAcDWpIlpeMhzKZKSxbwWJywdFVR8P+1d2i+GxXK/uup6sfcmjSF
   CqNwne7/GJIiDp3rtuT4kqbXg87y2fAe8pbPDBia5JGTy1rvWTkTz7Bao
   YqO9514T7X/ohXJAAUmpb6iXZNaLroEMAG69JhOKXp9cJQCDIwfGN206H
   NKMsx6BidAh8nxrN4hxp9gqmn7cLORvTidvjPg+6+tiv8cJXlPhatWr/P
   cHMTNwZXgrohSG8K56+fir2vEzGWOw1UzUctvds9u3x/aEr31bhzJId4I
   X+AzrV+v1hqN1rmpYXQAWikwv53I55lY1L7jPEppuNb9XF8t227J3e3s9
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531669"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531669"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729853"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729853"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 12/41] hw/core/topo: Add helpers to traverse the CPU topology tree
Date: Thu, 30 Nov 2023 22:41:34 +0800
Message-Id: <20231130144203.2307629-13-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

The topology devices will be organized as a topology tree. Each topology
device may have many topology children with lower topology level.

Add the helpers to traverse the CPU topology tree.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-topo.c         | 41 ++++++++++++++++++++++++++++++++++++++
 include/hw/core/cpu-topo.h | 13 ++++++++++++
 2 files changed, 54 insertions(+)

diff --git a/hw/core/cpu-topo.c b/hw/core/cpu-topo.c
index cba2dc747e74..687a4cc566ec 100644
--- a/hw/core/cpu-topo.c
+++ b/hw/core/cpu-topo.c
@@ -318,3 +318,44 @@ static void cpu_topo_register_types(void)
 }
 
 type_init(cpu_topo_register_types)
+
+static int do_cpu_topo_child_foreach(CPUTopoState *topo,
+                                     unsigned long *levels,
+                                     topo_fn fn, void *opaque,
+                                     bool recurse)
+{
+    CPUTopoState *child;
+    int ret = TOPO_FOREACH_CONTINUE;
+
+    QTAILQ_FOREACH(child, &topo->children, sibling) {
+        if (!levels || (levels && test_bit(CPU_TOPO_LEVEL(child), levels))) {
+            ret = fn(child, opaque);
+            if (ret == TOPO_FOREACH_END || ret == TOPO_FOREACH_ERR) {
+                break;
+            } else if (ret == TOPO_FOREACH_SIBLING) {
+                continue;
+            }
+        }
+
+        if (recurse) {
+            ret = do_cpu_topo_child_foreach(child, levels, fn, opaque, recurse);
+            if (ret != TOPO_FOREACH_CONTINUE) {
+                break;
+            }
+        }
+    }
+    return ret;
+}
+
+int cpu_topo_child_foreach(CPUTopoState *topo, unsigned long *levels,
+                           topo_fn fn, void *opaque)
+{
+    return do_cpu_topo_child_foreach(topo, levels, fn, opaque, false);
+}
+
+int cpu_topo_child_foreach_recursive(CPUTopoState *topo,
+                                     unsigned long *levels,
+                                     topo_fn fn, void *opaque)
+{
+    return do_cpu_topo_child_foreach(topo, levels, fn, opaque, true);
+}
diff --git a/include/hw/core/cpu-topo.h b/include/hw/core/cpu-topo.h
index 1ffdb0be6d38..453bacbb558b 100644
--- a/include/hw/core/cpu-topo.h
+++ b/include/hw/core/cpu-topo.h
@@ -90,4 +90,17 @@ struct CPUTopoState {
 
 #define CPU_TOPO_LEVEL(topo)    (CPU_TOPO_GET_CLASS(topo)->level)
 
+#define TOPO_FOREACH_SIBLING         2
+#define TOPO_FOREACH_END             1
+#define TOPO_FOREACH_CONTINUE        0
+#define TOPO_FOREACH_ERR             -1
+
+typedef int (*topo_fn)(CPUTopoState *topo, void *opaque);
+
+int cpu_topo_child_foreach(CPUTopoState *topo, unsigned long *levels,
+                           topo_fn fn, void *opaque);
+int cpu_topo_child_foreach_recursive(CPUTopoState *topo,
+                                     unsigned long *levels,
+                                     topo_fn fn, void *opaque);
+
 #endif /* CPU_TOPO_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644763.1006253 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC5-0002qu-7w; Thu, 30 Nov 2023 14:39:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644763.1006253; Thu, 30 Nov 2023 14:39: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 1r8iC5-0002nJ-19; Thu, 30 Nov 2023 14:39:09 +0000
Received: by outflank-mailman (input) for mailman id 644763;
 Thu, 30 Nov 2023 14:32: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i5Y-0007mE-PZ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:32:24 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 469be651-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:32:23 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:31:58 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:31:48 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 469be651-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354743; x=1732890743;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=zcorAWDLgR7QueFdQsmIMfIxo58a5rqxmGG3Y6CdsHI=;
  b=VgYisIiSsbos+Sam4aKPEPGUxnfFbnknBxJu5NgdrxvxdOzYk3xcsP2e
   jWmhxxi3IeWau+eWxJdcmLiVsygBG5HHdHPLCFLzkguu3ndjMwryy8417
   rTzFGXEpS3w8mgES/x/4RloHdijezqTLmb0eVG4aRcPReDQbEQmo3Up2w
   3YbOWHh4m0kANh59wOWaZtGYLcyvZmmk3yXFGX8+eGL/DmcyEeIAS1MLI
   TldG/h/NPWRpzpPgjJ9fBhCU8fYed0nPnjiFGDgwyWUqSbMav+WuUkjTr
   inR911vtcxa0aDPELUxW0AHvhQF7byYS4tU51lq0FmJPFCJzwkC/3elgz
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531485"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531485"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729745"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729745"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 09/41] hw/core/topo: Support topology index for topology device
Date: Thu, 30 Nov 2023 22:41:31 +0800
Message-Id: <20231130144203.2307629-10-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Topology index is used to identify the topology child under the same
parent topology device.

This field corresponds to the topology sub index (e.g., socket-id/
core-id/thread-id) used for addressing.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-topo.c         | 77 ++++++++++++++++++++++++++++++++++++++
 include/hw/core/cpu-topo.h |  6 +++
 2 files changed, 83 insertions(+)

diff --git a/hw/core/cpu-topo.c b/hw/core/cpu-topo.c
index 4428b979a5dc..3e0c183388d8 100644
--- a/hw/core/cpu-topo.c
+++ b/hw/core/cpu-topo.c
@@ -50,6 +50,66 @@ static const char *cpu_topo_level_to_string(CPUTopoLevel level)
     return NULL;
 }
 
+static void cpu_topo_refresh_free_child_index(CPUTopoState *topo)
+{
+    CPUTopoState *child;
+
+    /*
+     * Fast way: Assume that the index grows sequentially and that there
+     * are no "index hole" in the previous children.
+     *
+     * The previous check on num_children ensures that free_child_index + 1
+     * does not hit the max_children limit.
+     */
+    if (topo->free_child_index + 1 == topo->num_children) {
+        topo->free_child_index++;
+        return;
+    }
+
+    /* Slow way: Search the "index hole". The index hole must be found. */
+    for (int index = 0; index < topo->num_children; index++) {
+        bool existed = false;
+
+        QTAILQ_FOREACH(child, &topo->children, sibling) {
+            if (child->index == index) {
+                existed = true;
+                break;
+            }
+        }
+
+        if (!existed) {
+            topo->free_child_index = index;
+            return;
+        }
+    }
+}
+
+static void cpu_topo_validate_index(CPUTopoState *topo, Error **errp)
+{
+    CPUTopoState *parent = topo->parent, *child;
+
+    if (topo->index < 0) {
+        error_setg(errp, "Invalid topology index (%d).",
+                   topo->index);
+        return;
+    }
+
+    if (parent->max_children && topo->index >= parent->max_children) {
+        error_setg(errp, "Invalid topology index (%d): "
+                   "The maximum index is %d.",
+                   topo->index, parent->max_children);
+        return;
+    }
+
+    QTAILQ_FOREACH(child, &topo->children, sibling) {
+        if (child->index == topo->index) {
+            error_setg(errp, "Duplicate topology index (%d)",
+                       topo->index);
+            return;
+        }
+    }
+}
+
 static void cpu_topo_build_hierarchy(CPUTopoState *topo, Error **errp)
 {
     CPUTopoState *parent = topo->parent;
@@ -80,7 +140,18 @@ static void cpu_topo_build_hierarchy(CPUTopoState *topo, Error **errp)
     }
 
     parent->num_children++;
+    if (topo->index == UNASSIGNED_TOPO_INDEX) {
+        topo->index = parent->free_child_index;
+    } else if (topo->index != parent->free_child_index) {
+        /* The index has been set, then we need to validate it. */
+        cpu_topo_validate_index(topo, errp);
+        if (*errp) {
+            return;
+        }
+    }
+
     QTAILQ_INSERT_TAIL(&parent->children, topo, sibling);
+    cpu_topo_refresh_free_child_index(parent);
 }
 
 static void cpu_topo_set_parent(CPUTopoState *topo, Error **errp)
@@ -135,6 +206,10 @@ static void cpu_topo_destroy_hierarchy(CPUTopoState *topo)
     QTAILQ_REMOVE(&parent->children, topo, sibling);
     parent->num_children--;
 
+    if (topo->index < parent->free_child_index) {
+        parent->free_child_index = topo->index;
+    }
+
     if (!parent->num_children) {
         parent->child_level = CPU_TOPO_UNKNOWN;
     }
@@ -180,6 +255,8 @@ static void cpu_topo_instance_init(Object *obj)
     CPUTopoState *topo = CPU_TOPO(obj);
     QTAILQ_INIT(&topo->children);
 
+    topo->index = UNASSIGNED_TOPO_INDEX;
+    topo->free_child_index = 0;
     topo->child_level = CPU_TOPO_UNKNOWN;
 }
 
diff --git a/include/hw/core/cpu-topo.h b/include/hw/core/cpu-topo.h
index ebcbdd854da5..c0dfff9dc63b 100644
--- a/include/hw/core/cpu-topo.h
+++ b/include/hw/core/cpu-topo.h
@@ -24,6 +24,8 @@
 #include "hw/qdev-core.h"
 #include "qemu/queue.h"
 
+#define UNASSIGNED_TOPO_INDEX -1
+
 typedef enum CPUTopoLevel {
     CPU_TOPO_UNKNOWN,
     CPU_TOPO_THREAD,
@@ -53,6 +55,8 @@ struct CPUTopoClass {
 
 /**
  * CPUTopoState:
+ * @index: Topology index within parent's topology queue.
+ * @free_child_index: Cached free index to be specified for next child.
  * @num_children: Number of topology children under this topology device.
  * @max_children: Maximum number of children allowed to be inserted under
  *     this topology device.
@@ -66,6 +70,8 @@ struct CPUTopoState {
     DeviceState parent_obj;
 
     /*< public >*/
+    int index;
+    int free_child_index;
     int num_children;
     int max_children;
     CPUTopoLevel child_level;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644738.1006228 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC3-0002PR-PS; Thu, 30 Nov 2023 14:39:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644738.1006228; Thu, 30 Nov 2023 14: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 1r8iC3-0002PK-Ld; Thu, 30 Nov 2023 14:39:07 +0000
Received: by outflank-mailman (input) for mailman id 644738;
 Thu, 30 Nov 2023 14:30: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i3u-0004Xw-4q
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:30:42 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 070bf6ef-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:30:38 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:30:34 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:30:23 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 070bf6ef-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354638; x=1732890638;
  h=from:to:cc:subject:date:message-id:mime-version:
   content-transfer-encoding;
  bh=dbkW+mzg7wi+t2zOtELgoOvpG3MhaJxxgWBJ/5CG6Iw=;
  b=HIgVUPC7X2tTwO4MYRuIh0dJx4o5yzs2/qqw+8wqy84vm4KSXGEGZXmD
   EoECAXXo2y8DV8p/a/lsF0fKvnbGAw6+1tXYEtXsIjmPPq4qq+3uOQ+7H
   Os0hlijsnRwxQcWtNrAMuGmrCi6zfsYYx0BswVOMlcOj0L57+5j5tBRJt
   ahX7ELSO+WnBPkCVJ5pHPcjhvpG+AGTSmKiExIUT1QVzxiftge2pOSkKs
   uWpcc54oWJuMV7yER4TeYby299EeRbf7htyQt/WLCMp2ZqXtt5hU2fG+p
   P779PgBmqqy/RXEhn7+mecPTyPrFbMDPOAe6XN3/44ePwXYG2Zr+T9rgW
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479530824"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479530824"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729586"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729586"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 00/41] qom-topo: Abstract Everything about CPU Topology
Date: Thu, 30 Nov 2023 22:41:22 +0800
Message-Id: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Hi list,

This series is our latest attempt after the previous RFC [1] about
hybrid topology support, which is based on the commit 4705fc0c8511
("Merge tag 'pull-for-8.2-fixes-231123-1' of https://gitlab.com/
stsquad/qemu into staging") with our previous cleanup (patches link:
https://lore.kernel.org/all/20231127145611.925817-1-zhao1.liu@linux.intel.com/).

In the previous RFC, Daniel suggested [2] us to use the modern QOM
approach to define CPU topology, and based on this way, defining hybrid
topology through cli is natural. (Thanks Daniel!)

About why we chose -device other than -object, please see the chapter.3
"History of QOM Topology".

In fact, S390x already implements heterogeneity at the CPU level with
QOM CPUs, i.e., different CPUs have different entitlements [3]. However,
for more thorough heterogeneity, i.e., heterogeneous cores, clusters,
dies, caches and even more, we still need to go farther in the QOM
direction.

With these background, we propose this series to implement QOM "smp"
topology in QEMU, and it's also the first step towards the heterogeneous
topology (including CPU & cache topology) for virtualization case.

The overall goal is to both use QOM "smp" topology to be compatible with
current -smp behavior, and to take into account different architectural
setups/requirements for CPU topology (even including different designs
for CPU hotplug and possible_cpus[] implementation), and ultimately to
extend QEMU's ability to define CPU topology via -device even without
-smp.

The current remining issue, mainly related to PPC, as it chose to build
the pssible_cpus[] list at core granularity. Please see chapter.5 "Open
Questions" for more thoughts on this issue.

For other architectures that build possible_cpus[] at CPU granularity,
the transition to QOM topology will be similar to what was done for i386
in this patchset (please feel free to point out any issues I've missed).

There's a lot of work, and the devil is in the details.


Welcome your feedbacks!


1. Summary about What We Did?
=============================

This series implements the basics of QOM topology and supports QOM
topology for the i386 as the example:

* Introduce the general topology device and abstract all CPU topology
  levels to topology devices:

    - including "cpu", "cpu-core", "cpu-cluster", "cpu-die",
      "cpu-socket", "cpu-book", "cpu-drawer", and a special topology
      root "cpu-slot" to manage topology tree.

* Allow user to create "smp" CPU topology via "-device", for example:

    The topology with 8 CPUs:

    -accel kvm -cpu host \
    -device cpu-socket,id=sock0 \
    -device cpu-die,id=die0,parent=sock0 \
    -device cpu-core,id=core0,parent=die0,nr-threads=2 \
    -device cpu-core,id=core1,parent=die0,nr-threads=2,plugged-threads=1 \
    -device cpu-core,id=core2,parent=die0,nr-threads=2,plugged-threads=2 \
    -device cpu-core,id=core3,parent=die0,nr-threads=2 \
    -device host-x86_64-cpu,socket-id=0,die-id=0,core-id=1,thread-id=1 \

* Build a topology tree under machine, for example:

    One of the above CPUs:

    {
        "props": {
            "core-id": 0,
            "socket-id": 0,
            "thread-id": 0
        },
        "qom-path": "/machine/peripheral/cpu-slot/sock0/die0/core0/host-x86_64-cpu[0]",
        "type": "host-x86_64-cpu",
        "vcpus-count": 1
    }

* Convert topology information configured via -smp into a QOM "smp"
  topology tree (if the arch supports QOM topology).


2. What's the Problem?
======================

As computer architectures continue to innovate, the need for
heterogeneous topology of virtual machine in QEMU is growing.

On the one hand, there is the need for heterogeneous CPU topology
support. Heterogeneous CPU topology refers to systems that use more than
one kind of processor or cores [4], the typical example is intel hybrid
architecture with 2 core types [5], which will even have heterogeneous
die topology [6]. And we can see that not only Intel, but also ARM and
AMD's heterogeneous platforms will have the ability to support
virtualization.

On the other hand, there is also a growing need for heterogeneous cache
topology in QEMU. Not only will Intel's hybrid platforms introduce
complex heterogeneous cache topology, but more platforms have aslo seen
the strong demand for heterogeneous cache topology definition (e.g. ARM
[7]). Although cache topology is strictly speaking a separate topology
from CPU topology, in terms of the actual processor build process and
the current QEMU's way to define cache topology (e.g., i386 [8] & ARM
[9]), cache topology is and should be dependent on CPU topology to be
defined.

With this background of increasing interest in heterogeneous computing,
we need a flexible way (for accel) to define a wide variety of CPU
topologies in QEMU.

Obviously, -smp is not enough, so here we propose a way to define CPU
topology based on -device, in the hope that this will greatly expand the
flexibility of QEMU's CPU topology definition.


3. History of QOM Topology
==========================

The intent of QOM topology is not to stop at QOM CPUs, but to abstract
more CPU topology levels.

In fact, it's not a new term.

Back in 2014, Fan proposed [10] a hierarchical tree based on QOM node,
QOM sockets, QOM cores and QOM cpu. Andreas also propsed [11] socket/
core/thread QOM model to create hierarchical topology in place. From
the discussion at that time, the hierarchy topology tree representation
was what people (Igor said [12]) wanted. However, this work was not
continued.

Then Bharata abstracted [13] the cpu-core to support core granularity
hotplug in spapr. Until now, the only user of cpu-core is still spapr.

Cpu-cluster was introduced by Luc [14] to organize CPUs in different
containers to support GDB for TCG case. Though this abstraction was
descripted as: "mainly an internal QEMU representation and does not
necessarily match with the notion of clusters on the real hardware",
its name and function actually make it easy to correspond to the
physical cluster/smp cluster (the difference, of course, is that TCG
cluster collects CPUs directly, while the cluster as a CPU topology
level collect cores, but this difference is not the impediment gap to
converting "TCG " cluster to "general" cluster).

As CPU architectures evolve, QEMU has supported more topology levels
(clusters, die, book and drawer) for virtualization case, while the
existing cpu-core and cpu-cluster abstractions become fragmented.

And now, the need for defining hybrid topology has prompted us to
rethink the QOM topology.

Daniel suggested [2] to use -object interfaces to define CPU topology,
and we absorbed his design idea. But in practice we found that -device
looked like a better approach to take advantage of the current QOM CPU
device, cpu-core device and cpu-cluster device.


4. Design Overview
==================

4.1. General Topology Device
============================

We introduce a new topology device as the basic abstraction, then all
levels of the CPU topology are derived from this general topology device
type.

This topology device is the basic unit for building the topology tree.
Children topology devices are inserted into the queue of the parent, and
the child<> property is created between the children and their parent.

As the root of the topology tree, we introduce a special topology device
"cpu-slot". It is created by the machine at machine's initialization and
collects the topology devices created by the user from the cli, and thus
builds the topology tree.

The cpu-slot is also responsible for statistics on global topology
information, and whenever there is a new topology child, the cpu-slot as
root is notified to update topology informantion. In addition, different
architectures have different requirements for topology (e.g., support
for different levels), and such limitations/properties are applied to
cpu-slot, which is checked when adding the new child topology unit in
topology tree.


4.2. Derived QOM Topology Devices
=================================

Based on the new general topology device type, we convert CPU, cpu-core
and cpu-cluster from general devices to topology devices.

And we also abstract cpu-die, cpu-socket, cpu-book and cpu-drawer as
topology devices.


4.3. New Device Category "DEVICE_CATEGORY_CPU_DEF"
==================================================

The topology devices can be divided into two general categories:

* One, as the basic topology components, should be created before board
  initialization, to predefine the basic topology structure for the
  system, and is used to initialize MachineState.possible_cpus at
  machine's initialization. This category doesn't support hotplug, such
  as:

    cpu-core (non-PPC core), cpu-cluster, cpu-die, cpu-socket, cpu-book
    and cpu-drawer.

  Thus, we introduce the new device category "DEVICE_CATEGORY_CPU_DEF"
  to mark these devices and create them from cli before board
  initialization.

* The other are CPU and PPC core, which are the granularity of
  MachineState.possible_cpus.

  They're created from MachineState.possible_cpus in place during
  machine initialization or are plugged into MachineState.possible_cpus
  through hotplug way.

  For these devices, they could be created from cli only after board
  initialization.


4.4. User-child Interface to Build Child<> from Cli
===================================================

Topology device is bus-less device, and needs child<> to build topology
hierarchical relationship like:

/machine/peripheral/cpu-slot/sock*/die*/core*/cpu*

Therefore, we introduce a new user-child interface to insert hooks into
device_add path to get/specify object parent for topology devices.

If a topology device specify "parent" option in -device, it will be add
to the corresponding topology parent with child<> property.

If no "parent" option, the topology device will have the default parent
"cpu-slot". This ensures cpu-slot could collect all topology units to
build complete topology tree.


5. Open Questions
=================

There's a special case, user could define topology via -device without
-smp (that's the future hybrid topology case!).

In the design of current QOM topology, the numbers of maximum CPUs and
pre plugged CPUs could be collected during core devices realize.

For the (non-PPC) architectures which build possible_cpus[] at CPU
granularity, the cores will be created before possible_cpus[]
initialization and then CPU slot could know how many maximum CPUs will
be supported to fill possible_cpus[].

But for PPC, the possible_cpus[] is at core granularity and PPC core
could only be created after possible_cpus[] initialization, so that
CPU slot cannot know the the numbers of maximum CPUs (PPC cores) and pre
plugged CPUs (PPC cores). So for PPC, the "-smp" is necessary and cannot
be omitted.

For PPC this potential impact, i.e., even though QOM topology is
supported in PPC, it is not possible to omit -smp to create the topology
only via -device as for i386, and since PPC does not currently support
heterogeneous topology, this potential impact might be acceptable?


6. Future TODOs
===============

The current QOM topology RFC is only the very first step to introduce
the most basic QOM support, and it tries to be as compatible as possible
with existing SMP facilities.

The ultimate goal is to completely replace the current smp-related
topology structures with cpu-slot.

There are many TODOs:

* Add unit tests.
* Support QOM topology for all architectures.
* Get rid of MachineState.smp and MachineClass.smp_props with cpu-slot.
* Extend QOM topology to hybrid topology.
* Introduce "-device-set" which is derived from Daniel's "-object-set"
  idea [2] to create multiple duplicate devices.
...


7. Patch Summary
================

Patch  1- 3: Create DEVICE_CATEGORY_CPU_DEF devices before board
             initialization.
Patch  4- 7: Support child<> creation from cli.
Ptach  8-12: Introduce general topology device.
Patch 13-26: Abstract all topology levels to topology devices.
Patch 27-34: Introduce cpu-slot to manage the CPU topology of machine.
Patch 35-41: Convert i386's CPU creation & hotplug to be based on QOM
             topology.


8. Reference
============

[1]:  Hybrid topology RFC:
      https://mail.gnu.org/archive/html/qemu-devel/2023-02/msg03205.html
[2]:  Daniel's suggestion about QOM topology:
      https://mail.gnu.org/archive/html/qemu-devel/2023-02/msg03320.html
[3]:  S390x topology document (by Nina):
      https://lists.gnu.org/archive/html/qemu-devel/2023-10/msg04842.html
[4]:  Heterogeneous computing:
      https://en.wikipedia.org/wiki/Heterogeneous_computing
[5]:  12th gen’s Intel hybrid technology:
      https://www.intel.com/content/www/us/en/support/articles/000091896/processors.html
[6]:  Intel Meteor Lake (14th gen) architecture overview:
      https://www.intel.com/content/www/us/en/content-details/788851/meteor-lake-architecture-overview.html
[7]:  Need of ARM heterogeneous cache topology (by Yanan):
      https://mail.gnu.org/archive/html/qemu-devel/2023-02/msg05139.html
[8]:  Cache topology implementation for i386:
      https://lists.gnu.org/archive/html/qemu-devel/2023-10/msg08251.html
[9]:  Cluster for ARM to define shared L2 cache and L3 tag (by Yanan):
      https://lore.kernel.org/all/20211228092221.21068-1-wangyanan55@huawei.com/
[10]: [PATCH v1 0/4] prebuild cpu QOM tree /machine/node/socket/core
      ->link-cpu (by Fan):
      https://lore.kernel.org/all/cover.1395217538.git.chen.fan.fnst@cn.fujitsu.com/
[11]: [PATCH RFC 0/4] target-i386: PC socket/core/thread modeling,
      part 1 (by Andreas):
      https://lore.kernel.org/all/1427131923-4670-1-git-send-email-afaerber@suse.de/
[12]: "Now we want to have similar QOM tree for introspection which
      helps express topology as well" (by Igor):
      https://lore.kernel.org/all/20150407170734.51faac90@igors-macbook-pro.local/
[13]: [for-2.7 PATCH v3 06/15] cpu: Abstract CPU core type (by Bharata)
      https://lore.kernel.org/all/1463024905-28401-7-git-send-email-bharata@linux.vnet.ibm.com/
[14]: [PATCH v8 01/16] hw/cpu: introduce CPU clusters (by Luc):
      https://lore.kernel.org/all/20181207090135.7651-2-luc.michel@greensocs.com/

Thanks and Best Regards,
Zhao

---
Zhao Liu (41):
  qdev: Introduce new device category to cover basic topology device
  qdev: Allow qdev_device_add() to add specific category device
  system: Create base category devices from cli before board
    initialization
  qom/object: Introduce helper to resolve path from non-direct parent
  qdev: Set device parent and id after setting properties
  qdev: Introduce user-child interface to collect devices from -device
  qdev: Introduce parent option in -device
  hw/core/topo: Introduce CPU topology device abstraction
  hw/core/topo: Support topology index for topology device
  hw/core/topo: Add virtual method to update topology info for parent
  hw/core/topo: Add virtual method to check topology child
  hw/core/topo: Add helpers to traverse the CPU topology tree
  hw/core/cpu: Convert CPU from general device to topology device
  PPC/ppc-core: Offload core-id to PPC specific core abstarction
  hw/cpu/core: Allow to configure plugged threads for cpu-core
  PPC/ppc-core: Limit plugged-threads and nr-threads to be equal
  hw/cpu/core: Convert cpu-core from general device to topology device
  hw/cpu/cluster: Rename CPUClusterState to CPUCluster
  hw/cpu/cluster: Wrap TCG related ops and props into CONFIG_TCG
  hw/cpu/cluster: Descript cluster is not only used for TCG in comment
  hw/cpu/cluster: Allow cpu-cluster to be created by -device
  hw/cpu/cluster: Convert cpu-cluster from general device to topology
    device
  hw/cpu/die: Abstract cpu-die level as topology device
  hw/cpu/socket: Abstract cpu-socket level as topology device
  hw/cpu/book: Abstract cpu-book level as topology device
  hw/cpu/drawer: Abstract cpu-drawer level as topology device
  hw/core/slot: Introduce CPU slot as the root of CPU topology
  hw/core/slot: Maintain the core queue in CPU slot
  hw/core/slot: Statistics topology information in CPU slot
  hw/core/slot: Check topology child to be added under CPU slot
  hw/machine: Plug cpu-slot into machine to maintain topology tree
  hw/machine: Build smp topology tree from -smp
  hw/machine: Validate smp topology tree without -smp
  hw/core/topo: Implement user-child to collect topology device from cli
  hw/i386: Make x86_cpu_new() private in x86.c
  hw/i386: Allow x86_cpu_new() to specify parent for new CPU
  hw/i386: Allow i386 to create new CPUs from QOM topology
  hw/i386: Wrap apic id and topology sub ids assigning as helpers
  hw/i386: Add the interface to search parent for QOM topology
  hw/i386: Support QOM topology
  hw/i386: Cleanup non-QOM topology support

 MAINTAINERS                        |  16 +
 accel/kvm/kvm-all.c                |   4 +-
 gdbstub/system.c                   |   2 +-
 hw/core/cpu-common.c               |  25 +-
 hw/core/cpu-slot.c                 | 605 +++++++++++++++++++++++++++++
 hw/core/cpu-topo.c                 | 399 +++++++++++++++++++
 hw/core/machine-smp.c              |   9 +
 hw/core/machine.c                  |  10 +
 hw/core/meson.build                |   2 +
 hw/cpu/book.c                      |  46 +++
 hw/cpu/cluster.c                   |  50 ++-
 hw/cpu/core.c                      |  72 ++--
 hw/cpu/die.c                       |  46 +++
 hw/cpu/drawer.c                    |  46 +++
 hw/cpu/meson.build                 |   2 +-
 hw/cpu/socket.c                    |  46 +++
 hw/i386/x86.c                      | 319 ++++++++++-----
 hw/net/virtio-net.c                |   2 +-
 hw/ppc/meson.build                 |   1 +
 hw/ppc/pnv.c                       |   6 +-
 hw/ppc/pnv_core.c                  |  17 +-
 hw/ppc/ppc_core.c                  | 102 +++++
 hw/ppc/spapr.c                     |  28 +-
 hw/ppc/spapr_cpu_core.c            |  19 +-
 hw/usb/xen-usb.c                   |   3 +-
 hw/xen/xen-legacy-backend.c        |   2 +-
 include/hw/arm/armsse.h            |   2 +-
 include/hw/arm/xlnx-versal.h       |   4 +-
 include/hw/arm/xlnx-zynqmp.h       |   4 +-
 include/hw/boards.h                |  13 +
 include/hw/core/cpu-slot.h         | 108 +++++
 include/hw/core/cpu-topo.h         | 111 ++++++
 include/hw/core/cpu.h              |   8 +-
 include/hw/cpu/book.h              |  38 ++
 include/hw/cpu/cluster.h           |  51 ++-
 include/hw/cpu/core.h              |  26 +-
 include/hw/cpu/die.h               |  38 ++
 include/hw/cpu/drawer.h            |  38 ++
 include/hw/cpu/socket.h            |  38 ++
 include/hw/i386/x86.h              |   5 +-
 include/hw/ppc/pnv_core.h          |  11 +-
 include/hw/ppc/ppc_core.h          |  58 +++
 include/hw/ppc/spapr_cpu_core.h    |  12 +-
 include/hw/qdev-core.h             |   1 +
 include/hw/riscv/microchip_pfsoc.h |   4 +-
 include/hw/riscv/sifive_u.h        |   4 +-
 include/monitor/qdev.h             |   7 +-
 include/monitor/user-child.h       |  57 +++
 include/qom/object.h               |  26 ++
 qom/object.c                       |  31 ++
 system/meson.build                 |   1 +
 system/qdev-monitor.c              | 141 ++++++-
 system/user-child.c                |  72 ++++
 system/vl.c                        |  53 ++-
 target/i386/cpu.c                  |   4 +
 tests/unit/meson.build             |   5 +-
 56 files changed, 2607 insertions(+), 243 deletions(-)
 create mode 100644 hw/core/cpu-slot.c
 create mode 100644 hw/core/cpu-topo.c
 create mode 100644 hw/cpu/book.c
 create mode 100644 hw/cpu/die.c
 create mode 100644 hw/cpu/drawer.c
 create mode 100644 hw/cpu/socket.c
 create mode 100644 hw/ppc/ppc_core.c
 create mode 100644 include/hw/core/cpu-slot.h
 create mode 100644 include/hw/core/cpu-topo.h
 create mode 100644 include/hw/cpu/book.h
 create mode 100644 include/hw/cpu/die.h
 create mode 100644 include/hw/cpu/drawer.h
 create mode 100644 include/hw/cpu/socket.h
 create mode 100644 include/hw/ppc/ppc_core.h
 create mode 100644 include/monitor/user-child.h
 create mode 100644 system/user-child.c

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644767.1006267 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC6-0003DL-9J; Thu, 30 Nov 2023 14:39:10 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644767.1006267; Thu, 30 Nov 2023 14:39: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 1r8iC6-0003BG-2P; Thu, 30 Nov 2023 14:39:10 +0000
Received: by outflank-mailman (input) for mailman id 644767;
 Thu, 30 Nov 2023 14:32: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i5j-0007mE-GB
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:32:35 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4d124705-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:32:34 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:32:17 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:32:07 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4d124705-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354754; x=1732890754;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=qW0hllcBGqseRYTHsmnEpW0X6HH9DmoP+0BU5Dr4Av4=;
  b=fhHxc3v+jf3CyVPn7Wce84/Pmmr3fEdsFg1tmb28s1qEtODiy9Ft2RHS
   +2Zgq/rvaSM5500Ib5pUTVCmsMl9tb3fU0BU6lXFTCehrsa+WVVvtLHKp
   p3gtIrTL6s2LNSCyk23AfF9wB6NjVRSMxP1f8LKt1UDR9O7OxEI5u6zou
   voRQZ0sqmgXX57nfbrKz4KPj2/rAbAT238WUftaxDDFSe8D0OiuBbu85w
   A7Q7Rdkot53vojV0DIdWXkc5H2s1Q8QB4jyAD6I4Ma/LlViOxFJl4AGtl
   /dzLEalurqHAQmr5V+jfzPf7WmebelEGqaIrNEnFMNDCnU94T6LQ8ktIL
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531599"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531599"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729823"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729823"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 11/41] hw/core/topo: Add virtual method to check topology child
Date: Thu, 30 Nov 2023 22:41:33 +0800
Message-Id: <20231130144203.2307629-12-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

When a new topology child is to be inserted into the topology tree, its
parents (including non-direct parents) need to check if this child is
supported.

Add the virtual method to allow topology device to check the support for
their topology children.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-topo.c         | 22 ++++++++++++++++++++++
 include/hw/core/cpu-topo.h |  4 ++++
 2 files changed, 26 insertions(+)

diff --git a/hw/core/cpu-topo.c b/hw/core/cpu-topo.c
index e244f0a3564e..cba2dc747e74 100644
--- a/hw/core/cpu-topo.c
+++ b/hw/core/cpu-topo.c
@@ -168,6 +168,23 @@ static void cpu_topo_update_info(CPUTopoState *topo, bool is_realize)
     }
 }
 
+static void cpu_topo_check_support(CPUTopoState *topo, Error **errp)
+{
+    CPUTopoState *parent = topo->parent;
+    CPUTopoClass *tc;
+
+    while (parent) {
+        tc = CPU_TOPO_GET_CLASS(parent);
+        if (tc->check_topo_child) {
+            tc->check_topo_child(parent, topo, errp);
+            if (*errp) {
+                return;
+            }
+        }
+        parent = parent->parent;
+    }
+}
+
 static void cpu_topo_set_parent(CPUTopoState *topo, Error **errp)
 {
     Object *obj = OBJECT(topo);
@@ -191,6 +208,11 @@ static void cpu_topo_set_parent(CPUTopoState *topo, Error **errp)
     }
 
     if (topo->parent) {
+        cpu_topo_check_support(topo, errp);
+        if (*errp) {
+            return;
+        }
+
         cpu_topo_build_hierarchy(topo, errp);
         if (*errp) {
             return;
diff --git a/include/hw/core/cpu-topo.h b/include/hw/core/cpu-topo.h
index 79cd8606feca..1ffdb0be6d38 100644
--- a/include/hw/core/cpu-topo.h
+++ b/include/hw/core/cpu-topo.h
@@ -46,6 +46,8 @@ OBJECT_DECLARE_TYPE(CPUTopoState, CPUTopoClass, CPU_TOPO)
  * @level: Topology level for this CPUTopoClass.
  * @update_topo_info: Method to update topology information statistics when
  *     new child (including direct child and non-direct child) is added.
+ * @check_topo_child: Method to check the support for new child (including
+ *     direct child and non-direct child) to be added.
  */
 struct CPUTopoClass {
     /*< private >*/
@@ -55,6 +57,8 @@ struct CPUTopoClass {
     CPUTopoLevel level;
     void (*update_topo_info)(CPUTopoState *parent, CPUTopoState *child,
                              bool is_realize);
+    void (*check_topo_child)(CPUTopoState *parent, CPUTopoState *child,
+                             Error **errp);
 };
 
 /**
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644740.1006233 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC4-0002Rp-2D; Thu, 30 Nov 2023 14:39:08 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644740.1006233; Thu, 30 Nov 2023 14: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 1r8iC3-0002QH-SI; Thu, 30 Nov 2023 14:39:07 +0000
Received: by outflank-mailman (input) for mailman id 644740;
 Thu, 30 Nov 2023 14:30: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i3x-0004Xw-MR
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:30:45 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 0b0af4c0-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:30:43 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:30:42 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:30:33 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 0b0af4c0-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354643; x=1732890643;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=GonVMos5FsS7CHBj98lIck+6Zgp9gIFuSW7kS7bFSf0=;
  b=hqYaGFJwxeX6PWEI7zb0Gw9Y9LmbYQtgFax+DrT/rq1OYrXH2mTEVkOY
   b9YoehCmz4hJ7Rub1Gz2cs/uurBkYVYWBgzMGGQOp28AfzFLl2TpOF8Un
   A5Mc8XuJV9FGyu6cMqiQQG+s6GyZjGZIWKuvEwdTRArENKn3cnSYAVlYB
   cxNQB5Gf493sx1dWPn9IYQEfjKDovHJNQdtYmKUOxliz14RuuS3QkME1s
   oYgNVnu/7irBO9i+Qs9jP+vPUjFmCEmPxSac4fS6WLPYExnP/kno2F/S+
   6VbXCKUyXl3RvsZ/2zLwBXdLAL55Bu5XIERoYBALerIkMX2zxmju1B77k
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479530847"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479530847"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729601"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729601"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 01/41] qdev: Introduce new device category to cover basic topology device
Date: Thu, 30 Nov 2023 22:41:23 +0800
Message-Id: <20231130144203.2307629-2-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Topology devices are used to define CPUs and need to be created and
realized before the board initialization.

Use this new catogory to identify such special devices.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 include/hw/qdev-core.h | 1 +
 system/qdev-monitor.c  | 1 +
 2 files changed, 2 insertions(+)

diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index 151d9682380d..97b7cfd04e35 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -86,6 +86,7 @@ typedef enum DeviceCategory {
     DEVICE_CATEGORY_SOUND,
     DEVICE_CATEGORY_MISC,
     DEVICE_CATEGORY_CPU,
+    DEVICE_CATEGORY_CPU_DEF,
     DEVICE_CATEGORY_WATCHDOG,
     DEVICE_CATEGORY_MAX
 } DeviceCategory;
diff --git a/system/qdev-monitor.c b/system/qdev-monitor.c
index a13db763e5dd..0f163b2d0310 100644
--- a/system/qdev-monitor.c
+++ b/system/qdev-monitor.c
@@ -173,6 +173,7 @@ static void qdev_print_devinfos(bool show_no_user)
         [DEVICE_CATEGORY_SOUND]   = "Sound",
         [DEVICE_CATEGORY_MISC]    = "Misc",
         [DEVICE_CATEGORY_CPU]     = "CPU",
+        [DEVICE_CATEGORY_CPU_DEF] = "CPU Definition",
         [DEVICE_CATEGORY_WATCHDOG]= "Watchdog",
         [DEVICE_CATEGORY_MAX]     = "Uncategorized",
     };
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644765.1006262 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC5-00030m-QM; Thu, 30 Nov 2023 14:39:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644765.1006262; Thu, 30 Nov 2023 14:39: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 1r8iC5-0002zo-Hy; Thu, 30 Nov 2023 14:39:09 +0000
Received: by outflank-mailman (input) for mailman id 644765;
 Thu, 30 Nov 2023 14: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i5f-0007mE-6r
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:32:31 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 4a61d930-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:32:30 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:32:08 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:31:58 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4a61d930-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354750; x=1732890750;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=rfkBnAETWygr5TaDQC+NvTNqfHDXa5mpCuKsaH8rIdY=;
  b=aPuyWK5A854Ff9dtyoTyoKDHk4MlCWRzjVALHOdu7BJg+IhIk5PVtKX0
   0CLnVd0I30oCisuj2FsROL5rMT2WeWP4eg4m7C1QUjkdgROMfkyS9nsaR
   XHz43ZzcdMaAI6SB1iCnMe3tl1qTH7uA3X3eJsT+sKg4gYEj2MTszAzhN
   IsMIMKnjz53PBpXRQVvTefPfehOIgvzacXmWNiiVveK+W08QgaFsMxzYY
   +XrFi9ZxdczaOn3fgY6FFIHqvH6XzrXeq/+WdQdToKQm1Qn30znrOahn2
   WyMv3It1LEOSjsKTSYZK5pU99ypVJlwamh/llyaKJiEk7G2U31upvQuif
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531552"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531552"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729798"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729798"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 10/41] hw/core/topo: Add virtual method to update topology info for parent
Date: Thu, 30 Nov 2023 22:41:32 +0800
Message-Id: <20231130144203.2307629-11-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

When a new topology device is inserted into the topology tree,
its'parents (including non-direct parent) need to update topology
information.

Add the virtual method to help parents on topology tree update
topology information statistics.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-topo.c         | 20 ++++++++++++++++++++
 include/hw/core/cpu-topo.h |  4 ++++
 2 files changed, 24 insertions(+)

diff --git a/hw/core/cpu-topo.c b/hw/core/cpu-topo.c
index 3e0c183388d8..e244f0a3564e 100644
--- a/hw/core/cpu-topo.c
+++ b/hw/core/cpu-topo.c
@@ -154,6 +154,20 @@ static void cpu_topo_build_hierarchy(CPUTopoState *topo, Error **errp)
     cpu_topo_refresh_free_child_index(parent);
 }
 
+static void cpu_topo_update_info(CPUTopoState *topo, bool is_realize)
+{
+    CPUTopoState *parent = topo->parent;
+    CPUTopoClass *tc;
+
+    while (parent) {
+        tc = CPU_TOPO_GET_CLASS(parent);
+        if (tc->update_topo_info) {
+            tc->update_topo_info(parent, topo, is_realize);
+        }
+        parent = parent->parent;
+    }
+}
+
 static void cpu_topo_set_parent(CPUTopoState *topo, Error **errp)
 {
     Object *obj = OBJECT(topo);
@@ -178,6 +192,11 @@ static void cpu_topo_set_parent(CPUTopoState *topo, Error **errp)
 
     if (topo->parent) {
         cpu_topo_build_hierarchy(topo, errp);
+        if (*errp) {
+            return;
+        }
+
+        cpu_topo_update_info(topo, true);
     }
 }
 
@@ -203,6 +222,7 @@ static void cpu_topo_destroy_hierarchy(CPUTopoState *topo)
         return;
     }
 
+    cpu_topo_update_info(topo, false);
     QTAILQ_REMOVE(&parent->children, topo, sibling);
     parent->num_children--;
 
diff --git a/include/hw/core/cpu-topo.h b/include/hw/core/cpu-topo.h
index c0dfff9dc63b..79cd8606feca 100644
--- a/include/hw/core/cpu-topo.h
+++ b/include/hw/core/cpu-topo.h
@@ -44,6 +44,8 @@ OBJECT_DECLARE_TYPE(CPUTopoState, CPUTopoClass, CPU_TOPO)
 /**
  * CPUTopoClass:
  * @level: Topology level for this CPUTopoClass.
+ * @update_topo_info: Method to update topology information statistics when
+ *     new child (including direct child and non-direct child) is added.
  */
 struct CPUTopoClass {
     /*< private >*/
@@ -51,6 +53,8 @@ struct CPUTopoClass {
 
     /*< public >*/
     CPUTopoLevel level;
+    void (*update_topo_info)(CPUTopoState *parent, CPUTopoState *child,
+                             bool is_realize);
 };
 
 /**
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644771.1006289 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC8-0003cC-30; Thu, 30 Nov 2023 14:39:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644771.1006289; Thu, 30 Nov 2023 14:39: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 1r8iC7-0003Yi-B6; Thu, 30 Nov 2023 14:39:11 +0000
Received: by outflank-mailman (input) for mailman id 644771;
 Thu, 30 Nov 2023 14:32: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i66-0007xx-Td
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:32:58 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 599c935d-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:32:56 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:32:36 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:32:26 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 599c935d-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354776; x=1732890776;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=rj2qhjfojWttufVsjPIiSdC7tmdmcTNlZ7nywO+2iko=;
  b=ZrqAURBX0AU04eDmngRZe0Tm4HxrshGk39Uniu7fzVwHURWac3W7nAfC
   Fy9DTnNdsW031zljCZm8FDq1La1xuXA9Uzuz39cJG3hei7upRCwOek11g
   8nDfQNX5zfffOHvi4wpTe10qsKOdqlHESGsxi0s7TpWwMjZUl7t3ZIE7+
   tWd8E9bQqEbZF0hiLOAZHJ7ljbosclMaUZpKpr3rhhgzLHd1XozpsT6jv
   NpnRrhloxKnXBxZM9xm6pKMId5z3+5T/DLjXGhBkVkmH8rxLxet7+uafT
   GpyYXDoV5xXQmvlMZhOa4JQAl+8IyU6/wtCLlNCiPC3CvZ7n3vHrIcIcF
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531721"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531721"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729870"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729870"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 13/41] hw/core/cpu: Convert CPU from general device to topology device
Date: Thu, 30 Nov 2023 22:41:35 +0800
Message-Id: <20231130144203.2307629-14-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Convert CPU to topology device then its parent topology devices could
count the number of CPUs when new CPUs are added into topology tree.

Note since CPUs are created from *_init_cpus() in MachineClass.init() or
added from hotplug way, it depends on board initialization. Thus CPU
topology device isn't marked as DEVICE_CATEGORY_CPU_DEF and it will only
be created after board initialization.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 accel/kvm/kvm-all.c   |  4 ++--
 hw/core/cpu-common.c  | 25 +++++++++++++++++++++----
 include/hw/core/cpu.h |  8 ++++++--
 3 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c
index e39a810a4e92..2eee3eb95907 100644
--- a/accel/kvm/kvm-all.c
+++ b/accel/kvm/kvm-all.c
@@ -3953,7 +3953,7 @@ static void query_stats(StatsResultList **result, StatsTarget target,
         break;
     case STATS_TARGET_VCPU:
         add_stats_entry(result, STATS_PROVIDER_KVM,
-                        cpu->parent_obj.canonical_path,
+                        DEVICE(cpu)->canonical_path,
                         stats_list);
         break;
     default:
@@ -4045,7 +4045,7 @@ static void query_stats_cb(StatsResultList **result, StatsTarget target,
         stats_args.names = names;
         stats_args.errp = errp;
         CPU_FOREACH(cpu) {
-            if (!apply_str_list_filter(cpu->parent_obj.canonical_path, targets)) {
+            if (!apply_str_list_filter(DEVICE(cpu)->canonical_path, targets)) {
                 continue;
             }
             query_stats_vcpu(cpu, &stats_args);
diff --git a/hw/core/cpu-common.c b/hw/core/cpu-common.c
index 82dae51a550b..e9ed84ff5386 100644
--- a/hw/core/cpu-common.c
+++ b/hw/core/cpu-common.c
@@ -195,6 +195,16 @@ static void cpu_common_realizefn(DeviceState *dev, Error **errp)
 {
     CPUState *cpu = CPU(dev);
     Object *machine = qdev_get_machine();
+    CPUClass *cc = CPU_GET_CLASS(cpu);
+
+    /*
+     * The parent topology realize() must be completed before cpu_resume()
+     * where the CPU starts to run.
+     */
+    cc->parent_realize(dev, errp);
+    if (*errp) {
+        return;
+    }
 
     /* qdev_get_machine() can return something that's not TYPE_MACHINE
      * if this is one of the user-only emulators; in that case there's
@@ -225,6 +235,7 @@ static void cpu_common_realizefn(DeviceState *dev, Error **errp)
 static void cpu_common_unrealizefn(DeviceState *dev)
 {
     CPUState *cpu = CPU(dev);
+    CPUClass *cc = CPU_GET_CLASS(cpu);
 
     /* Call the plugin hook before clearing the cpu is fully unrealized */
     if (tcg_enabled()) {
@@ -233,6 +244,7 @@ static void cpu_common_unrealizefn(DeviceState *dev)
 
     /* NOTE: latest generic point before the cpu is fully unrealized */
     cpu_exec_unrealizefn(cpu);
+    cc->parent_unrealize(dev);
 }
 
 static void cpu_common_initfn(Object *obj)
@@ -275,6 +287,7 @@ static void cpu_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
     ResettableClass *rc = RESETTABLE_CLASS(klass);
+    CPUTopoClass *tc = CPU_TOPO_CLASS(klass);
     CPUClass *k = CPU_CLASS(klass);
 
     k->parse_features = cpu_common_parse_features;
@@ -282,9 +295,6 @@ static void cpu_class_init(ObjectClass *klass, void *data)
     k->has_work = cpu_common_has_work;
     k->gdb_read_register = cpu_common_gdb_read_register;
     k->gdb_write_register = cpu_common_gdb_write_register;
-    set_bit(DEVICE_CATEGORY_CPU, dc->categories);
-    dc->realize = cpu_common_realizefn;
-    dc->unrealize = cpu_common_unrealizefn;
     rc->phases.hold = cpu_common_reset_hold;
     cpu_class_init_props(dc);
     /*
@@ -292,11 +302,18 @@ static void cpu_class_init(ObjectClass *klass, void *data)
      * IRQs, adding reset handlers, halting non-first CPUs, ...
      */
     dc->user_creatable = false;
+    /* CPU is the minimum granularity for hotplug. */
+    dc->hotpluggable = true;
+    device_class_set_parent_realize(dc, cpu_common_realizefn,
+                                    &k->parent_realize);
+    device_class_set_parent_unrealize(dc, cpu_common_unrealizefn,
+                                      &k->parent_unrealize);
+    tc->level = CPU_TOPO_THREAD;
 }
 
 static const TypeInfo cpu_type_info = {
     .name = TYPE_CPU,
-    .parent = TYPE_DEVICE,
+    .parent = TYPE_CPU_TOPO,
     .instance_size = sizeof(CPUState),
     .instance_init = cpu_common_initfn,
     .instance_finalize = cpu_common_finalize,
diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h
index c0c8320413e5..a700f7c39140 100644
--- a/include/hw/core/cpu.h
+++ b/include/hw/core/cpu.h
@@ -20,6 +20,7 @@
 #ifndef QEMU_CPU_H
 #define QEMU_CPU_H
 
+#include "hw/core/cpu-topo.h"
 #include "hw/qdev-core.h"
 #include "disas/dis-asm.h"
 #include "exec/cpu-common.h"
@@ -146,7 +147,7 @@ struct SysemuCPUOps;
  */
 struct CPUClass {
     /*< private >*/
-    DeviceClass parent_class;
+    CPUTopoClass parent_class;
     /*< public >*/
 
     ObjectClass *(*class_by_name)(const char *cpu_model);
@@ -191,6 +192,9 @@ struct CPUClass {
     int reset_dump_flags;
     int gdb_num_core_regs;
     bool gdb_stop_before_watchpoint;
+
+    DeviceRealize parent_realize;
+    DeviceUnrealize parent_unrealize;
 };
 
 /*
@@ -456,7 +460,7 @@ struct qemu_work_item;
  */
 struct CPUState {
     /*< private >*/
-    DeviceState parent_obj;
+    CPUTopoState parent_obj;
     /* cache to avoid expensive CPU_GET_CLASS */
     CPUClass *cc;
     /*< public >*/
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644772.1006302 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC8-0003u2-UV; Thu, 30 Nov 2023 14:39:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644772.1006302; Thu, 30 Nov 2023 14:39: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 1r8iC8-0003pk-Ay; Thu, 30 Nov 2023 14:39:12 +0000
Received: by outflank-mailman (input) for mailman id 644772;
 Thu, 30 Nov 2023 14:33: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i69-0007xx-0L
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:33:01 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5badd133-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:32:58 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:32:46 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:32:36 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5badd133-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354779; x=1732890779;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ISMaXqLtdhEuyYCRvB604LjEvb5pWdCfmnGTYVK8V4c=;
  b=PsWRmRZuB8yzG2ZqoSfXW8Zrb3QcfpcL5bqMdQywAXBDhryrAL3uy+QT
   lbpMMI/gnsmkxcGvN035QANPhRAnhEey20PjjJ3ERbF43/8xbgXtr9VdF
   ntPBhuiO+WkQgEwR/Zhb+piKjlSPTWGqiXZYyQC0w381TJwVuzNw5zPuZ
   3qKPmz63YS1cO2age2RRqMn7i2Rt/H2uKajUI17Mrxmx1dJWqluFm4LtS
   J3UcD4nXgeaZ5R/GoYvRLJrfHSgLw5XrsASH/XXHaYDT10EMOCLUuIvEM
   Zavq46C+I7igqyvRHXfqwbvuhiJYM32IxdRKMquJB3N4WfAUSjznXEuL1
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531746"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531746"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729902"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729902"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 14/41] PPC/ppc-core: Offload core-id to PPC specific core abstarction
Date: Thu, 30 Nov 2023 22:41:36 +0800
Message-Id: <20231130144203.2307629-15-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

PPC (spapr) supports hotplugs at the core granularity (spapr core) and
treats core-id as the global id for all cores.

But other architectures that support hotplugging at CPU granularity,
use core-id as the local id to indicate the core within the parent
topology container instand of the global index.

To remove potential ambiguity and make the core abstraction available to
other architectures, introduce the ppc core abstraction and define the
"global" core-id over the ppc specific core.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 MAINTAINERS                     |  2 +
 hw/cpu/core.c                   | 29 ------------
 hw/ppc/meson.build              |  1 +
 hw/ppc/pnv.c                    |  6 +--
 hw/ppc/pnv_core.c               |  5 ++-
 hw/ppc/ppc_core.c               | 79 +++++++++++++++++++++++++++++++++
 hw/ppc/spapr.c                  | 28 +++++++-----
 hw/ppc/spapr_cpu_core.c         |  6 +--
 include/hw/cpu/core.h           |  6 ---
 include/hw/ppc/pnv_core.h       |  8 ++--
 include/hw/ppc/ppc_core.h       | 57 ++++++++++++++++++++++++
 include/hw/ppc/spapr_cpu_core.h |  9 ++--
 12 files changed, 175 insertions(+), 61 deletions(-)
 create mode 100644 hw/ppc/ppc_core.c
 create mode 100644 include/hw/ppc/ppc_core.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 564cb776ae80..89e350866d6a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1501,6 +1501,8 @@ F: include/hw/ppc/fdt.h
 F: hw/ppc/fdt.c
 F: include/hw/ppc/pef.h
 F: hw/ppc/pef.c
+F: include/hw/ppc/ppc_core.h
+F: hw/ppc/ppc_core.c
 F: pc-bios/slof.bin
 F: docs/system/ppc/pseries.rst
 F: docs/specs/ppc-spapr-*
diff --git a/hw/cpu/core.c b/hw/cpu/core.c
index 495a5c30ffe1..7e274d6aebb7 100644
--- a/hw/cpu/core.c
+++ b/hw/cpu/core.c
@@ -14,33 +14,6 @@
 #include "qapi/error.h"
 #include "qapi/visitor.h"
 
-static void core_prop_get_core_id(Object *obj, Visitor *v, const char *name,
-                                  void *opaque, Error **errp)
-{
-    CPUCore *core = CPU_CORE(obj);
-    int64_t value = core->core_id;
-
-    visit_type_int(v, name, &value, errp);
-}
-
-static void core_prop_set_core_id(Object *obj, Visitor *v, const char *name,
-                                  void *opaque, Error **errp)
-{
-    CPUCore *core = CPU_CORE(obj);
-    int64_t value;
-
-    if (!visit_type_int(v, name, &value, errp)) {
-        return;
-    }
-
-    if (value < 0) {
-        error_setg(errp, "Invalid core id %"PRId64, value);
-        return;
-    }
-
-    core->core_id = value;
-}
-
 static void core_prop_get_nr_threads(Object *obj, Visitor *v, const char *name,
                                      void *opaque, Error **errp)
 {
@@ -82,8 +55,6 @@ static void cpu_core_class_init(ObjectClass *oc, void *data)
     DeviceClass *dc = DEVICE_CLASS(oc);
 
     set_bit(DEVICE_CATEGORY_CPU, dc->categories);
-    object_class_property_add(oc, "core-id", "int", core_prop_get_core_id,
-                              core_prop_set_core_id, NULL, NULL);
     object_class_property_add(oc, "nr-threads", "int", core_prop_get_nr_threads,
                               core_prop_set_nr_threads, NULL, NULL);
 }
diff --git a/hw/ppc/meson.build b/hw/ppc/meson.build
index ea44856d43b0..2b40a91a4661 100644
--- a/hw/ppc/meson.build
+++ b/hw/ppc/meson.build
@@ -2,6 +2,7 @@ ppc_ss = ss.source_set()
 ppc_ss.add(files(
   'ppc.c',
   'ppc_booke.c',
+  'ppc_core.c',
 ))
 ppc_ss.add(when: 'CONFIG_FDT_PPC', if_true: [files(
   'fdt.c',
diff --git a/hw/ppc/pnv.c b/hw/ppc/pnv.c
index 0297871bdd5d..6e92ff8b4f64 100644
--- a/hw/ppc/pnv.c
+++ b/hw/ppc/pnv.c
@@ -1224,7 +1224,7 @@ static void pnv_chip_icp_realize(Pnv8Chip *chip8, Error **errp)
     /* Map the ICP registers for each thread */
     for (i = 0; i < chip->nr_cores; i++) {
         PnvCore *pnv_core = chip->cores[i];
-        int core_hwid = CPU_CORE(pnv_core)->core_id;
+        int core_hwid = POWERPC_CORE(pnv_core)->core_id;
 
         for (j = 0; j < CPU_CORE(pnv_core)->nr_threads; j++) {
             uint32_t pir = pcc->core_pir(chip, core_hwid) + j;
@@ -1443,7 +1443,7 @@ static void pnv_chip_quad_realize_one(PnvChip *chip, PnvQuad *eq,
                                       const char *type)
 {
     char eq_name[32];
-    int core_id = CPU_CORE(pnv_core)->core_id;
+    int core_id = POWERPC_CORE(pnv_core)->core_id;
 
     snprintf(eq_name, sizeof(eq_name), "eq[%d]", core_id);
     object_initialize_child_with_props(OBJECT(chip), eq_name, eq,
@@ -1983,7 +1983,7 @@ static void pnv_chip_core_realize(PnvChip *chip, Error **errp)
         chip->cores[i] = pnv_core;
         object_property_set_int(OBJECT(pnv_core), "nr-threads",
                                 chip->nr_threads, &error_fatal);
-        object_property_set_int(OBJECT(pnv_core), CPU_CORE_PROP_CORE_ID,
+        object_property_set_int(OBJECT(pnv_core), POWERPC_CORE_PROP_CORE_ID,
                                 core_hwid, &error_fatal);
         object_property_set_int(OBJECT(pnv_core), "pir",
                                 pcc->core_pir(chip, core_hwid), &error_fatal);
diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c
index 8c7afe037f00..a90d1ec92bd8 100644
--- a/hw/ppc/pnv_core.c
+++ b/hw/ppc/pnv_core.c
@@ -267,6 +267,7 @@ static void pnv_core_realize(DeviceState *dev, Error **errp)
     PnvCore *pc = PNV_CORE(OBJECT(dev));
     PnvCoreClass *pcc = PNV_CORE_GET_CLASS(pc);
     CPUCore *cc = CPU_CORE(OBJECT(dev));
+    PowerPCCore *ppc = POWERPC_CORE(cc);
     const char *typename = pnv_core_cpu_typename(pc);
     Error *local_err = NULL;
     void *obj;
@@ -299,7 +300,7 @@ static void pnv_core_realize(DeviceState *dev, Error **errp)
         }
     }
 
-    snprintf(name, sizeof(name), "xscom-core.%d", cc->core_id);
+    snprintf(name, sizeof(name), "xscom-core.%d", ppc->core_id);
     pnv_xscom_region_init(&pc->xscom_regs, OBJECT(dev), pcc->xscom_ops,
                           pc, name, pcc->xscom_size);
 
@@ -392,7 +393,7 @@ static void pnv_core_class_init(ObjectClass *oc, void *data)
 static const TypeInfo pnv_core_infos[] = {
     {
         .name           = TYPE_PNV_CORE,
-        .parent         = TYPE_CPU_CORE,
+        .parent         = TYPE_POWERPC_CORE,
         .instance_size  = sizeof(PnvCore),
         .class_size     = sizeof(PnvCoreClass),
         .class_init = pnv_core_class_init,
diff --git a/hw/ppc/ppc_core.c b/hw/ppc/ppc_core.c
new file mode 100644
index 000000000000..4433b54af506
--- /dev/null
+++ b/hw/ppc/ppc_core.c
@@ -0,0 +1,79 @@
+/*
+ * Common PPC CPU core abstraction
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#include "qemu/osdep.h"
+
+#include "hw/ppc/ppc_core.h"
+#include "qapi/error.h"
+#include "qapi/visitor.h"
+
+static void powerpc_core_prop_get_core_id(Object *obj, Visitor *v,
+                                          const char *name, void *opaque,
+                                          Error **errp)
+{
+    PowerPCCore *core = POWERPC_CORE(obj);
+    int64_t value = core->core_id;
+
+    visit_type_int(v, name, &value, errp);
+}
+
+static void powerpc_core_prop_set_core_id(Object *obj, Visitor *v,
+                                          const char *name, void *opaque,
+                                          Error **errp)
+{
+    PowerPCCore *core = POWERPC_CORE(obj);
+    int64_t value;
+
+    if (!visit_type_int(v, name, &value, errp)) {
+        return;
+    }
+
+    if (value < 0) {
+        error_setg(errp, "Invalid core id %"PRId64, value);
+        return;
+    }
+
+    core->core_id = value;
+}
+
+static void powerpc_core_class_init(ObjectClass *oc, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(oc);
+
+    object_class_property_add(oc, "core-id", "int",
+                              powerpc_core_prop_get_core_id,
+                              powerpc_core_prop_set_core_id,
+                              NULL, NULL);
+}
+
+static const TypeInfo powerpc_core_type_info = {
+    .name = TYPE_POWERPC_CORE,
+    .parent = TYPE_CPU_CORE,
+    .abstract = true,
+    .class_init = powerpc_core_class_init,
+    .instance_size = sizeof(PowerPCCore),
+};
+
+static void powerpc_core_register_types(void)
+{
+    type_register_static(&powerpc_core_type_info);
+}
+
+type_init(powerpc_core_register_types)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index df09aa9d6a00..72e9f49da110 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -2713,7 +2713,7 @@ static void spapr_init_cpus(SpaprMachineState *spapr)
 
             object_property_set_int(core, "nr-threads", nr_threads,
                                     &error_fatal);
-            object_property_set_int(core, CPU_CORE_PROP_CORE_ID, core_id,
+            object_property_set_int(core, POWERPC_CORE_PROP_CORE_ID, core_id,
                                     &error_fatal);
             qdev_realize(DEVICE(core), NULL, &error_fatal);
 
@@ -3889,7 +3889,8 @@ static void spapr_core_unplug(HotplugHandler *hotplug_dev, DeviceState *dev)
     MachineState *ms = MACHINE(hotplug_dev);
     SpaprMachineClass *smc = SPAPR_MACHINE_GET_CLASS(ms);
     CPUCore *cc = CPU_CORE(dev);
-    CPUArchId *core_slot = spapr_find_cpu_slot(ms, cc->core_id, NULL);
+    PowerPCCore *ppc = POWERPC_CORE(cc);
+    CPUArchId *core_slot = spapr_find_cpu_slot(ms, ppc->core_id, NULL);
 
     if (smc->pre_2_10_has_unused_icps) {
         SpaprCpuCore *sc = SPAPR_CPU_CORE(OBJECT(dev));
@@ -3915,10 +3916,11 @@ void spapr_core_unplug_request(HotplugHandler *hotplug_dev, DeviceState *dev,
     int index;
     SpaprDrc *drc;
     CPUCore *cc = CPU_CORE(dev);
+    PowerPCCore *ppc = POWERPC_CORE(cc);
 
-    if (!spapr_find_cpu_slot(MACHINE(hotplug_dev), cc->core_id, &index)) {
+    if (!spapr_find_cpu_slot(MACHINE(hotplug_dev), ppc->core_id, &index)) {
         error_setg(errp, "Unable to find CPU core with core-id: %d",
-                   cc->core_id);
+                   ppc->core_id);
         return;
     }
     if (index == 0) {
@@ -3927,7 +3929,7 @@ void spapr_core_unplug_request(HotplugHandler *hotplug_dev, DeviceState *dev,
     }
 
     drc = spapr_drc_by_id(TYPE_SPAPR_DRC_CPU,
-                          spapr_vcpu_id(spapr, cc->core_id));
+                          spapr_vcpu_id(spapr, ppc->core_id));
     g_assert(drc);
 
     if (!spapr_drc_unplug_requested(drc)) {
@@ -3985,6 +3987,7 @@ static void spapr_core_plug(HotplugHandler *hotplug_dev, DeviceState *dev)
     SpaprMachineClass *smc = SPAPR_MACHINE_CLASS(mc);
     SpaprCpuCore *core = SPAPR_CPU_CORE(OBJECT(dev));
     CPUCore *cc = CPU_CORE(dev);
+    PowerPCCore *ppc = POWERPC_CORE(cc);
     CPUState *cs;
     SpaprDrc *drc;
     CPUArchId *core_slot;
@@ -3992,11 +3995,11 @@ static void spapr_core_plug(HotplugHandler *hotplug_dev, DeviceState *dev)
     bool hotplugged = spapr_drc_hotplugged(dev);
     int i;
 
-    core_slot = spapr_find_cpu_slot(MACHINE(hotplug_dev), cc->core_id, &index);
+    core_slot = spapr_find_cpu_slot(MACHINE(hotplug_dev), ppc->core_id, &index);
     g_assert(core_slot); /* Already checked in spapr_core_pre_plug() */
 
     drc = spapr_drc_by_id(TYPE_SPAPR_DRC_CPU,
-                          spapr_vcpu_id(spapr, cc->core_id));
+                          spapr_vcpu_id(spapr, ppc->core_id));
 
     g_assert(drc || !mc->has_hotpluggable_cpus);
 
@@ -4047,6 +4050,7 @@ static void spapr_core_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
     MachineState *machine = MACHINE(OBJECT(hotplug_dev));
     MachineClass *mc = MACHINE_GET_CLASS(hotplug_dev);
     CPUCore *cc = CPU_CORE(dev);
+    PowerPCCore *ppc = POWERPC_CORE(cc);
     const char *base_core_type = spapr_get_cpu_core_type(machine->cpu_type);
     const char *type = object_get_typename(OBJECT(dev));
     CPUArchId *core_slot;
@@ -4063,8 +4067,8 @@ static void spapr_core_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
         return;
     }
 
-    if (cc->core_id % smp_threads) {
-        error_setg(errp, "invalid core id %d", cc->core_id);
+    if (ppc->core_id % smp_threads) {
+        error_setg(errp, "invalid core id %d", ppc->core_id);
         return;
     }
 
@@ -4080,14 +4084,14 @@ static void spapr_core_pre_plug(HotplugHandler *hotplug_dev, DeviceState *dev,
         return;
     }
 
-    core_slot = spapr_find_cpu_slot(MACHINE(hotplug_dev), cc->core_id, &index);
+    core_slot = spapr_find_cpu_slot(MACHINE(hotplug_dev), ppc->core_id, &index);
     if (!core_slot) {
-        error_setg(errp, "core id %d out of range", cc->core_id);
+        error_setg(errp, "core id %d out of range", ppc->core_id);
         return;
     }
 
     if (core_slot->cpu) {
-        error_setg(errp, "core %d already populated", cc->core_id);
+        error_setg(errp, "core %d already populated", ppc->core_id);
         return;
     }
 
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index 91fae56573ee..7c2ea1424747 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -292,7 +292,7 @@ static bool spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMachineState *spapr,
 static PowerPCCPU *spapr_create_vcpu(SpaprCpuCore *sc, int i, Error **errp)
 {
     SpaprCpuCoreClass *scc = SPAPR_CPU_CORE_GET_CLASS(sc);
-    CPUCore *cc = CPU_CORE(sc);
+    PowerPCCore *ppc = POWERPC_CORE(sc);
     g_autoptr(Object) obj = NULL;
     g_autofree char *id = NULL;
     CPUState *cs;
@@ -307,7 +307,7 @@ static PowerPCCPU *spapr_create_vcpu(SpaprCpuCore *sc, int i, Error **errp)
      * and the rest are explicitly started up by the guest using an RTAS call.
      */
     cs->start_powered_off = true;
-    cs->cpu_index = cc->core_id + i;
+    cs->cpu_index = ppc->core_id + i;
     if (!spapr_set_vcpu_id(cpu, cs->cpu_index, errp)) {
         return NULL;
     }
@@ -381,7 +381,7 @@ static void spapr_cpu_core_class_init(ObjectClass *oc, void *data)
 static const TypeInfo spapr_cpu_core_type_infos[] = {
     {
         .name = TYPE_SPAPR_CPU_CORE,
-        .parent = TYPE_CPU_CORE,
+        .parent = TYPE_POWERPC_CORE,
         .abstract = true,
         .instance_size = sizeof(SpaprCpuCore),
         .class_size = sizeof(SpaprCpuCoreClass),
diff --git a/include/hw/cpu/core.h b/include/hw/cpu/core.h
index 98ab91647eb2..17f117bd5225 100644
--- a/include/hw/cpu/core.h
+++ b/include/hw/cpu/core.h
@@ -21,13 +21,7 @@ struct CPUCore {
     DeviceState parent_obj;
 
     /*< public >*/
-    int core_id;
     int nr_threads;
 };
 
-/* Note: topology field names need to be kept in sync with
- * 'CpuInstanceProperties' */
-
-#define CPU_CORE_PROP_CORE_ID "core-id"
-
 #endif
diff --git a/include/hw/ppc/pnv_core.h b/include/hw/ppc/pnv_core.h
index 4db21229a68b..56c3f6b51f2f 100644
--- a/include/hw/ppc/pnv_core.h
+++ b/include/hw/ppc/pnv_core.h
@@ -20,9 +20,9 @@
 #ifndef PPC_PNV_CORE_H
 #define PPC_PNV_CORE_H
 
-#include "hw/cpu/core.h"
 #include "target/ppc/cpu.h"
 #include "hw/ppc/pnv.h"
+#include "hw/ppc/ppc_core.h"
 #include "qom/object.h"
 
 #define TYPE_PNV_CORE "powernv-cpu-core"
@@ -31,7 +31,7 @@ OBJECT_DECLARE_TYPE(PnvCore, PnvCoreClass,
 
 struct PnvCore {
     /*< private >*/
-    CPUCore parent_obj;
+    PowerPCCore parent_obj;
 
     /*< public >*/
     PowerPCCPU **threads;
@@ -43,8 +43,10 @@ struct PnvCore {
 };
 
 struct PnvCoreClass {
-    DeviceClass parent_class;
+    /*< private >*/
+    PowerPCCoreClass parent_class;
 
+    /*< public >*/
     const MemoryRegionOps *xscom_ops;
     uint64_t xscom_size;
 };
diff --git a/include/hw/ppc/ppc_core.h b/include/hw/ppc/ppc_core.h
new file mode 100644
index 000000000000..bcc83e426e3f
--- /dev/null
+++ b/include/hw/ppc/ppc_core.h
@@ -0,0 +1,57 @@
+/*
+ * Common PPC CPU core abstraction header
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#ifndef HW_PPC_CORE_H
+#define HW_PPC_CORE_H
+
+#include "hw/cpu/core.h"
+#include "hw/qdev-core.h"
+#include "qom/object.h"
+
+#define TYPE_POWERPC_CORE "powerpc-core"
+
+OBJECT_DECLARE_TYPE(PowerPCCore, PowerPCCoreClass, POWERPC_CORE)
+
+struct PowerPCCoreClass {
+    /*< private >*/
+    CPUCoreClass parent_class;
+
+    /*< public >*/
+};
+
+struct PowerPCCore {
+    /*< private >*/
+    CPUCore parent_obj;
+
+    /*< public >*/
+    /*
+     * The system-wide id for core, not the sub core-id within the
+     * parent container (which is above the core level).
+     */
+    int core_id;
+};
+
+/*
+ * Note: topology field names need to be kept in sync with
+ * 'CpuInstanceProperties'
+ */
+#define POWERPC_CORE_PROP_CORE_ID "core-id"
+
+#endif /* HW_PPC_CORE_H */
diff --git a/include/hw/ppc/spapr_cpu_core.h b/include/hw/ppc/spapr_cpu_core.h
index 69a52e39b850..db3e515051ca 100644
--- a/include/hw/ppc/spapr_cpu_core.h
+++ b/include/hw/ppc/spapr_cpu_core.h
@@ -9,7 +9,7 @@
 #ifndef HW_SPAPR_CPU_CORE_H
 #define HW_SPAPR_CPU_CORE_H
 
-#include "hw/cpu/core.h"
+#include "hw/ppc/ppc_core.h"
 #include "hw/qdev-core.h"
 #include "target/ppc/cpu-qom.h"
 #include "target/ppc/cpu.h"
@@ -23,7 +23,7 @@ OBJECT_DECLARE_TYPE(SpaprCpuCore, SpaprCpuCoreClass,
 
 struct SpaprCpuCore {
     /*< private >*/
-    CPUCore parent_obj;
+    PowerPCCore parent_obj;
 
     /*< public >*/
     PowerPCCPU **threads;
@@ -32,7 +32,10 @@ struct SpaprCpuCore {
 };
 
 struct SpaprCpuCoreClass {
-    DeviceClass parent_class;
+    /*< private >*/
+    PowerPCCoreClass parent_class;
+
+    /*< public >*/
     const char *cpu_type;
 };
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:13 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:13 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644775.1006308 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iC9-00045U-IK; Thu, 30 Nov 2023 14:39:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644775.1006308; Thu, 30 Nov 2023 14:39: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 1r8iC8-00042d-Un; Thu, 30 Nov 2023 14:39:12 +0000
Received: by outflank-mailman (input) for mailman id 644775;
 Thu, 30 Nov 2023 14: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i6B-0007xx-Bo
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:33:03 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 5d247342-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:33:01 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:32:54 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:32:45 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5d247342-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354781; x=1732890781;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=HQNocPVaV+DgJS+Ld4DvaS6hVw4IdYUlBhgQdcIl19Q=;
  b=AHYPBcVG1Vkrvq/FhOI7iLYwKV4z/7Eg8zTnKOXnQaRyG5Sh3iwBYJoU
   GMK5FIfKzO0JIKJeg9yXPxEFKLwstyGtShZywRp33peMDxyULBWIO610m
   YBLZM4hQAEJoHg1nR9m49y+NwKpF6VQkyT3eCxbhh/AsawbbjAnLNjFz6
   Osv9zAzsz0AscT6XXt1kYd8MaJLnm/jBUkb9+4KzDBaAhiKSmLYpdXY3L
   egSpz9Yc7pFXg+ps5ldLnAkqnRstkuNzzn5zE/OBXVlGEh3hHSiwEGjDf
   FMGkUKTde3T+MBLZTscY4F9OMyuI7eNYzR9cjc/id2dQpS6kPhd26/sfA
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531809"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531809"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729932"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729932"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 15/41] hw/cpu/core: Allow to configure plugged threads for cpu-core
Date: Thu, 30 Nov 2023 22:41:37 +0800
Message-Id: <20231130144203.2307629-16-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

When the core abstraction is applied for the architecture support CPU
hotplug, the plugged CPUs and unplugged CPUs are distributed among the
cores created in the topology tree.

Add plugged_threads field to help cpu-core decide to how many CPUs to
create.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/cpu/core.c                   | 33 +++++++++++++++++++++++++++++++++
 hw/ppc/pnv_core.c               |  6 +++++-
 hw/ppc/spapr_cpu_core.c         |  6 +++++-
 include/hw/cpu/core.h           |  9 +++++++++
 include/hw/ppc/pnv_core.h       |  2 ++
 include/hw/ppc/spapr_cpu_core.h |  2 ++
 6 files changed, 56 insertions(+), 2 deletions(-)

diff --git a/hw/cpu/core.c b/hw/cpu/core.c
index 7e274d6aebb7..15546b5b2339 100644
--- a/hw/cpu/core.c
+++ b/hw/cpu/core.c
@@ -36,6 +36,20 @@ static void core_prop_set_nr_threads(Object *obj, Visitor *v, const char *name,
     core->nr_threads = value;
 }
 
+static void core_prop_set_plugged_threads(Object *obj, Visitor *v,
+                                          const char *name, void *opaque,
+                                          Error **errp)
+{
+    CPUCore *core = CPU_CORE(obj);
+    int64_t value;
+
+    if (!visit_type_int(v, name, &value, errp)) {
+        return;
+    }
+
+    core->plugged_threads = value;
+}
+
 static void cpu_core_instance_init(Object *obj)
 {
     CPUCore *core = CPU_CORE(obj);
@@ -48,6 +62,22 @@ static void cpu_core_instance_init(Object *obj)
     if (current_machine) {
         core->nr_threads = current_machine->smp.threads;
     }
+
+    core->plugged_threads = -1;
+}
+
+static void cpu_core_realize(DeviceState *dev, Error **errp)
+{
+    CPUCore *core = CPU_CORE(dev);
+
+    if (core->plugged_threads > core->nr_threads) {
+        error_setg(errp, "Plugged threads (plugged-threads: %d) must "
+                   "not be more than max threads (nr-threads: %d)",
+                   core->plugged_threads, core->nr_threads);
+        return;
+    } else if (core->plugged_threads == -1) {
+        core->plugged_threads = core->nr_threads;
+    }
 }
 
 static void cpu_core_class_init(ObjectClass *oc, void *data)
@@ -57,6 +87,9 @@ static void cpu_core_class_init(ObjectClass *oc, void *data)
     set_bit(DEVICE_CATEGORY_CPU, dc->categories);
     object_class_property_add(oc, "nr-threads", "int", core_prop_get_nr_threads,
                               core_prop_set_nr_threads, NULL, NULL);
+    object_class_property_add(oc, "plugged-threads", "int", NULL,
+                              core_prop_set_plugged_threads, NULL, NULL);
+    dc->realize = cpu_core_realize;
 }
 
 static const TypeInfo cpu_core_type_info = {
diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c
index a90d1ec92bd8..8b75739697d1 100644
--- a/hw/ppc/pnv_core.c
+++ b/hw/ppc/pnv_core.c
@@ -276,6 +276,8 @@ static void pnv_core_realize(DeviceState *dev, Error **errp)
 
     assert(pc->chip);
 
+    pcc->parent_realize(dev, errp);
+
     pc->threads = g_new(PowerPCCPU *, cc->nr_threads);
     for (i = 0; i < cc->nr_threads; i++) {
         PowerPCCPU *cpu;
@@ -376,11 +378,13 @@ static void pnv_core_power10_class_init(ObjectClass *oc, void *data)
 static void pnv_core_class_init(ObjectClass *oc, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(oc);
+    PnvCoreClass *pcc = PNV_CORE_CLASS(oc);
 
-    dc->realize = pnv_core_realize;
     dc->unrealize = pnv_core_unrealize;
     device_class_set_props(dc, pnv_core_properties);
     dc->user_creatable = false;
+    device_class_set_parent_realize(dc, pnv_core_realize,
+                                    &pcc->parent_realize);
 }
 
 #define DEFINE_PNV_CORE_TYPE(family, cpu_model) \
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index 7c2ea1424747..5533a386f350 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -331,6 +331,7 @@ static void spapr_cpu_core_realize(DeviceState *dev, Error **errp)
         (SpaprMachineState *) object_dynamic_cast(qdev_get_machine(),
                                                   TYPE_SPAPR_MACHINE);
     SpaprCpuCore *sc = SPAPR_CPU_CORE(OBJECT(dev));
+    SpaprCpuCoreClass *scc = SPAPR_CPU_CORE_GET_CLASS(sc);
     CPUCore *cc = CPU_CORE(OBJECT(dev));
     int i;
 
@@ -339,6 +340,8 @@ static void spapr_cpu_core_realize(DeviceState *dev, Error **errp)
         return;
     }
 
+    scc->parent_realize(dev, errp);
+
     qemu_register_reset(spapr_cpu_core_reset_handler, sc);
     sc->threads = g_new0(PowerPCCPU *, cc->nr_threads);
     for (i = 0; i < cc->nr_threads; i++) {
@@ -363,11 +366,12 @@ static void spapr_cpu_core_class_init(ObjectClass *oc, void *data)
     DeviceClass *dc = DEVICE_CLASS(oc);
     SpaprCpuCoreClass *scc = SPAPR_CPU_CORE_CLASS(oc);
 
-    dc->realize = spapr_cpu_core_realize;
     dc->unrealize = spapr_cpu_core_unrealize;
     dc->reset = spapr_cpu_core_reset;
     device_class_set_props(dc, spapr_cpu_core_properties);
     scc->cpu_type = data;
+    device_class_set_parent_realize(dc, spapr_cpu_core_realize,
+                                    &scc->parent_realize);
 }
 
 #define DEFINE_SPAPR_CPU_CORE_TYPE(cpu_model) \
diff --git a/include/hw/cpu/core.h b/include/hw/cpu/core.h
index 17f117bd5225..87d50151ab01 100644
--- a/include/hw/cpu/core.h
+++ b/include/hw/cpu/core.h
@@ -21,7 +21,16 @@ struct CPUCore {
     DeviceState parent_obj;
 
     /*< public >*/
+    int core_id;
+
+    /* Maximum number of threads contained in this core. */
     int nr_threads;
+
+    /*
+     * How many threads should be plugged in this core via
+     * "-device"/"device_add"?
+     */
+    int plugged_threads;
 };
 
 #endif
diff --git a/include/hw/ppc/pnv_core.h b/include/hw/ppc/pnv_core.h
index 56c3f6b51f2f..3b9edf69f9fb 100644
--- a/include/hw/ppc/pnv_core.h
+++ b/include/hw/ppc/pnv_core.h
@@ -49,6 +49,8 @@ struct PnvCoreClass {
     /*< public >*/
     const MemoryRegionOps *xscom_ops;
     uint64_t xscom_size;
+
+    DeviceRealize parent_realize;
 };
 
 #define PNV_CORE_TYPE_SUFFIX "-" TYPE_PNV_CORE
diff --git a/include/hw/ppc/spapr_cpu_core.h b/include/hw/ppc/spapr_cpu_core.h
index db3e515051ca..dabdbd4bcbc9 100644
--- a/include/hw/ppc/spapr_cpu_core.h
+++ b/include/hw/ppc/spapr_cpu_core.h
@@ -37,6 +37,8 @@ struct SpaprCpuCoreClass {
 
     /*< public >*/
     const char *cpu_type;
+
+    DeviceRealize parent_realize;
 };
 
 const char *spapr_get_cpu_core_type(const char *cpu_type);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:14 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:14 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644777.1006314 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCA-0004J1-8m; Thu, 30 Nov 2023 14:39:14 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644777.1006314; Thu, 30 Nov 2023 14:39: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 1r8iC9-0004F4-NJ; Thu, 30 Nov 2023 14:39:13 +0000
Received: by outflank-mailman (input) for mailman id 644777;
 Thu, 30 Nov 2023 14:33: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i6F-0007mE-2p
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:33:07 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5f5c980a-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:33:06 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:33:04 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:32:54 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 5f5c980a-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354786; x=1732890786;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=/4XB1+0XSfZXJW6ggYvVG8+UQ24RT1LIudOfD5YSaJw=;
  b=YSr/jK4XqQrYYeOvNbkGBNgSH+43/b7ldoAlj546+/mrr9L0Gp4ofx5H
   4HsY11KahN2S5+bsxyMG3hPJcFlshVamQlCY5ldcL4I8ZLyuhDqUxCstr
   KUmONaw8vy8PXZxgtX3R9W4G+gZW0/9DJYQKTJ3wkVtB+38WoBLHqgQvI
   4I4qXsP4IHqfMHBItXbHiReVSVheK8JAwTeMz+cAWASmonoVOuIDqyIta
   Kl//ijrYIiHsjfT/2KQLOVVMgkEfeaH3yhQJfTS8EPIbLtvdlIspqHU3W
   RCfzSlqelWWt/RrLpYs1D1O5OedD4avABd44Ru0xkQPY0Vg+NmzqLGbeC
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531853"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531853"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729971"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729971"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 16/41] PPC/ppc-core: Limit plugged-threads and nr-threads to be equal
Date: Thu, 30 Nov 2023 22:41:38 +0800
Message-Id: <20231130144203.2307629-17-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

PPC supports CPU hotplug at core granularity, thus ppc-core only accepts
all CPUs in a core are plugged.

Check if plugged_threads and nr_threads are equal when ppc-core
realizes.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/ppc/ppc_core.c         | 18 ++++++++++++++++++
 include/hw/ppc/ppc_core.h |  1 +
 2 files changed, 19 insertions(+)

diff --git a/hw/ppc/ppc_core.c b/hw/ppc/ppc_core.c
index 4433b54af506..3857f3150052 100644
--- a/hw/ppc/ppc_core.c
+++ b/hw/ppc/ppc_core.c
@@ -53,20 +53,38 @@ static void powerpc_core_prop_set_core_id(Object *obj, Visitor *v,
     core->core_id = value;
 }
 
+static void powerpc_core_realize(DeviceState *dev, Error **errp)
+{
+    CPUCore *core = CPU_CORE(dev);
+    PowerPCCoreClass *ppc_class = POWERPC_CORE_GET_CLASS(dev);
+
+    if (core->plugged_threads != -1 &&
+        core->nr_threads != core->plugged_threads) {
+        error_setg(errp, "nr_threads and plugged-threads must be equal");
+        return;
+    }
+
+    ppc_class->parent_realize(dev, errp);
+}
+
 static void powerpc_core_class_init(ObjectClass *oc, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(oc);
+    PowerPCCoreClass *ppc_class = POWERPC_CORE_CLASS(oc);
 
     object_class_property_add(oc, "core-id", "int",
                               powerpc_core_prop_get_core_id,
                               powerpc_core_prop_set_core_id,
                               NULL, NULL);
+    device_class_set_parent_realize(dc, powerpc_core_realize,
+                                    &ppc_class->parent_realize);
 }
 
 static const TypeInfo powerpc_core_type_info = {
     .name = TYPE_POWERPC_CORE,
     .parent = TYPE_CPU_CORE,
     .abstract = true,
+    .class_size = sizeof(PowerPCCoreClass),
     .class_init = powerpc_core_class_init,
     .instance_size = sizeof(PowerPCCore),
 };
diff --git a/include/hw/ppc/ppc_core.h b/include/hw/ppc/ppc_core.h
index bcc83e426e3f..1207d220872a 100644
--- a/include/hw/ppc/ppc_core.h
+++ b/include/hw/ppc/ppc_core.h
@@ -34,6 +34,7 @@ struct PowerPCCoreClass {
     CPUCoreClass parent_class;
 
     /*< public >*/
+    DeviceRealize parent_realize;
 };
 
 struct PowerPCCore {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644779.1006327 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCB-0004eb-F4; Thu, 30 Nov 2023 14:39:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644779.1006327; Thu, 30 Nov 2023 14:39: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 1r8iCA-0004aH-Q9; Thu, 30 Nov 2023 14:39:14 +0000
Received: by outflank-mailman (input) for mailman id 644779;
 Thu, 30 Nov 2023 14:33: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i6P-0007xx-E2
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:33:17 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 64de9b13-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:33:15 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:33:13 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:33:04 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 64de9b13-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354795; x=1732890795;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=8LquYvv0CgMyC9ho8G2nSKazoduQFmRgmZ/sS4KE0RQ=;
  b=mFKfJZnepeTAdDZmmr//CV+28ud2/fbCn5VYsePxJoCljVmsKPr5Rgef
   tzSt/RKAcld8mO59A/+vFRDZ/O6GVg+J6Yo+1g9kvWnI7YcFJ3oC6XfT2
   sY2l8Nog0KseuNlGXrwv+w5YouM8onbyJI7Ju1LctznJKwhbPAo3TjdF+
   aub8U6L/F7iibjtuFFXoSqOvdb5vmQ+gyhwPBdn7JvR+PEt2MFAxNBIO7
   YrXq7N19Ex4X1hGXIi58EOdYza7tx4HasDMPzzmlQaea66D5G2I+b64PJ
   KvKzlitNH95l+lZVGSUea8p1YvOjDr93HLAXNx0xcrcKq4wuamYrfc0Vw
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531889"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531889"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729990"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729990"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 17/41] hw/cpu/core: Convert cpu-core from general device to topology device
Date: Thu, 30 Nov 2023 22:41:39 +0800
Message-Id: <20231130144203.2307629-18-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Convert cpu-core to topology device then user could create core level
topology from cli and later the cpu-cores could be added into topology
tree.

In addition, mark the common cpu-core as DEVICE_CATEGORY_CPU_DEF
category to indicate it belongs to the basic CPU definition and should
be created from cli before board initialization.

But since PPC supports CPU hotplug at core granularity, ppc-core should
be created after board initialization. Thus, mask the category flag
DEVICE_CATEGORY_CPU_DEF for ppc-core.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/cpu/core.c                   | 19 ++++++++++++++++---
 hw/ppc/pnv_core.c               |  6 +++++-
 hw/ppc/ppc_core.c               |  5 +++++
 hw/ppc/spapr_cpu_core.c         |  7 ++++++-
 include/hw/cpu/core.h           | 13 +++++++++++--
 include/hw/ppc/pnv_core.h       |  1 +
 include/hw/ppc/spapr_cpu_core.h |  1 +
 7 files changed, 45 insertions(+), 7 deletions(-)

diff --git a/hw/cpu/core.c b/hw/cpu/core.c
index 15546b5b2339..261b15fa8171 100644
--- a/hw/cpu/core.c
+++ b/hw/cpu/core.c
@@ -27,6 +27,7 @@ static void core_prop_set_nr_threads(Object *obj, Visitor *v, const char *name,
                                      void *opaque, Error **errp)
 {
     CPUCore *core = CPU_CORE(obj);
+    CPUTopoState *topo = CPU_TOPO(obj);
     int64_t value;
 
     if (!visit_type_int(v, name, &value, errp)) {
@@ -34,6 +35,7 @@ static void core_prop_set_nr_threads(Object *obj, Visitor *v, const char *name,
     }
 
     core->nr_threads = value;
+    topo->max_children = core->nr_threads;
 }
 
 static void core_prop_set_plugged_threads(Object *obj, Visitor *v,
@@ -53,6 +55,7 @@ static void core_prop_set_plugged_threads(Object *obj, Visitor *v,
 static void cpu_core_instance_init(Object *obj)
 {
     CPUCore *core = CPU_CORE(obj);
+    CPUTopoState *topo = CPU_TOPO(obj);
 
     /*
      * Only '-device something-cpu-core,help' can get us there before
@@ -64,11 +67,14 @@ static void cpu_core_instance_init(Object *obj)
     }
 
     core->plugged_threads = -1;
+    /* Core's child can only be the thread. */
+    topo->child_level = CPU_TOPO_THREAD;
 }
 
 static void cpu_core_realize(DeviceState *dev, Error **errp)
 {
     CPUCore *core = CPU_CORE(dev);
+    CPUCoreClass *cc = CPU_CORE_GET_CLASS(core);
 
     if (core->plugged_threads > core->nr_threads) {
         error_setg(errp, "Plugged threads (plugged-threads: %d) must "
@@ -78,25 +84,32 @@ static void cpu_core_realize(DeviceState *dev, Error **errp)
     } else if (core->plugged_threads == -1) {
         core->plugged_threads = core->nr_threads;
     }
+
+    cc->parent_realize(dev, errp);
 }
 
 static void cpu_core_class_init(ObjectClass *oc, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(oc);
+    CPUTopoClass *tc = CPU_TOPO_CLASS(oc);
+    CPUCoreClass *cc = CPU_CORE_CLASS(oc);
 
-    set_bit(DEVICE_CATEGORY_CPU, dc->categories);
+    set_bit(DEVICE_CATEGORY_CPU_DEF, dc->categories);
     object_class_property_add(oc, "nr-threads", "int", core_prop_get_nr_threads,
                               core_prop_set_nr_threads, NULL, NULL);
     object_class_property_add(oc, "plugged-threads", "int", NULL,
                               core_prop_set_plugged_threads, NULL, NULL);
-    dc->realize = cpu_core_realize;
+    device_class_set_parent_realize(dc, cpu_core_realize, &cc->parent_realize);
+
+    tc->level = CPU_TOPO_CORE;
 }
 
 static const TypeInfo cpu_core_type_info = {
     .name = TYPE_CPU_CORE,
-    .parent = TYPE_DEVICE,
+    .parent = TYPE_CPU_TOPO,
     .abstract = true,
     .class_init = cpu_core_class_init,
+    .class_size = sizeof(CPUCoreClass),
     .instance_size = sizeof(CPUCore),
     .instance_init = cpu_core_instance_init,
 };
diff --git a/hw/ppc/pnv_core.c b/hw/ppc/pnv_core.c
index 8b75739697d1..315b823e7d38 100644
--- a/hw/ppc/pnv_core.c
+++ b/hw/ppc/pnv_core.c
@@ -334,6 +334,7 @@ static void pnv_core_unrealize(DeviceState *dev)
 {
     PnvCore *pc = PNV_CORE(dev);
     CPUCore *cc = CPU_CORE(dev);
+    PnvCoreClass *pcc = PNV_CORE_GET_CLASS(pc);
     int i;
 
     qemu_unregister_reset(pnv_core_reset, pc);
@@ -342,6 +343,8 @@ static void pnv_core_unrealize(DeviceState *dev)
         pnv_core_cpu_unrealize(pc, pc->threads[i]);
     }
     g_free(pc->threads);
+
+    pcc->parent_unrealize(dev);
 }
 
 static Property pnv_core_properties[] = {
@@ -380,11 +383,12 @@ static void pnv_core_class_init(ObjectClass *oc, void *data)
     DeviceClass *dc = DEVICE_CLASS(oc);
     PnvCoreClass *pcc = PNV_CORE_CLASS(oc);
 
-    dc->unrealize = pnv_core_unrealize;
     device_class_set_props(dc, pnv_core_properties);
     dc->user_creatable = false;
     device_class_set_parent_realize(dc, pnv_core_realize,
                                     &pcc->parent_realize);
+    device_class_set_parent_unrealize(dc, pnv_core_unrealize,
+                                      &pcc->parent_unrealize);
 }
 
 #define DEFINE_PNV_CORE_TYPE(family, cpu_model) \
diff --git a/hw/ppc/ppc_core.c b/hw/ppc/ppc_core.c
index 3857f3150052..0a700d6a5b42 100644
--- a/hw/ppc/ppc_core.c
+++ b/hw/ppc/ppc_core.c
@@ -72,6 +72,11 @@ static void powerpc_core_class_init(ObjectClass *oc, void *data)
     DeviceClass *dc = DEVICE_CLASS(oc);
     PowerPCCoreClass *ppc_class = POWERPC_CORE_CLASS(oc);
 
+    /*
+     * PPC cores support hotplug and must be created after
+     * qemu_init_board().
+     */
+    clear_bit(DEVICE_CATEGORY_CPU_DEF, dc->categories);
     object_class_property_add(oc, "core-id", "int",
                               powerpc_core_prop_get_core_id,
                               powerpc_core_prop_set_core_id,
diff --git a/hw/ppc/spapr_cpu_core.c b/hw/ppc/spapr_cpu_core.c
index 5533a386f350..c965c213ab14 100644
--- a/hw/ppc/spapr_cpu_core.c
+++ b/hw/ppc/spapr_cpu_core.c
@@ -235,6 +235,7 @@ static void spapr_delete_vcpu(PowerPCCPU *cpu)
 static void spapr_cpu_core_unrealize(DeviceState *dev)
 {
     SpaprCpuCore *sc = SPAPR_CPU_CORE(OBJECT(dev));
+    SpaprCpuCoreClass *scc = SPAPR_CPU_CORE_GET_CLASS(sc);
     CPUCore *cc = CPU_CORE(dev);
     int i;
 
@@ -254,6 +255,8 @@ static void spapr_cpu_core_unrealize(DeviceState *dev)
     }
     g_free(sc->threads);
     qemu_unregister_reset(spapr_cpu_core_reset_handler, sc);
+
+    scc->parent_unrealize(dev);
 }
 
 static bool spapr_realize_vcpu(PowerPCCPU *cpu, SpaprMachineState *spapr,
@@ -366,12 +369,14 @@ static void spapr_cpu_core_class_init(ObjectClass *oc, void *data)
     DeviceClass *dc = DEVICE_CLASS(oc);
     SpaprCpuCoreClass *scc = SPAPR_CPU_CORE_CLASS(oc);
 
-    dc->unrealize = spapr_cpu_core_unrealize;
     dc->reset = spapr_cpu_core_reset;
     device_class_set_props(dc, spapr_cpu_core_properties);
+    dc->hotpluggable = true;
     scc->cpu_type = data;
     device_class_set_parent_realize(dc, spapr_cpu_core_realize,
                                     &scc->parent_realize);
+    device_class_set_parent_unrealize(dc, spapr_cpu_core_unrealize,
+                                      &scc->parent_unrealize);
 }
 
 #define DEFINE_SPAPR_CPU_CORE_TYPE(cpu_model) \
diff --git a/include/hw/cpu/core.h b/include/hw/cpu/core.h
index 87d50151ab01..591240861efb 100644
--- a/include/hw/cpu/core.h
+++ b/include/hw/cpu/core.h
@@ -10,15 +10,24 @@
 #define HW_CPU_CORE_H
 
 #include "hw/qdev-core.h"
+#include "hw/core/cpu-topo.h"
 #include "qom/object.h"
 
 #define TYPE_CPU_CORE "cpu-core"
 
-OBJECT_DECLARE_SIMPLE_TYPE(CPUCore, CPU_CORE)
+OBJECT_DECLARE_TYPE(CPUCore, CPUCoreClass, CPU_CORE)
+
+struct CPUCoreClass {
+    /*< private >*/
+    CPUTopoClass parent_class;
+
+    /*< public >*/
+    DeviceRealize parent_realize;
+};
 
 struct CPUCore {
     /*< private >*/
-    DeviceState parent_obj;
+    CPUTopoState parent_obj;
 
     /*< public >*/
     int core_id;
diff --git a/include/hw/ppc/pnv_core.h b/include/hw/ppc/pnv_core.h
index 3b9edf69f9fb..ca04461c8531 100644
--- a/include/hw/ppc/pnv_core.h
+++ b/include/hw/ppc/pnv_core.h
@@ -51,6 +51,7 @@ struct PnvCoreClass {
     uint64_t xscom_size;
 
     DeviceRealize parent_realize;
+    DeviceUnrealize parent_unrealize;
 };
 
 #define PNV_CORE_TYPE_SUFFIX "-" TYPE_PNV_CORE
diff --git a/include/hw/ppc/spapr_cpu_core.h b/include/hw/ppc/spapr_cpu_core.h
index dabdbd4bcbc9..46cf68fc8859 100644
--- a/include/hw/ppc/spapr_cpu_core.h
+++ b/include/hw/ppc/spapr_cpu_core.h
@@ -39,6 +39,7 @@ struct SpaprCpuCoreClass {
     const char *cpu_type;
 
     DeviceRealize parent_realize;
+    DeviceUnrealize parent_unrealize;
 };
 
 const char *spapr_get_cpu_core_type(const char *cpu_type);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644781.1006340 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCC-00052T-MN; Thu, 30 Nov 2023 14:39:16 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644781.1006340; Thu, 30 Nov 2023 14:39: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 1r8iCC-0004xl-37; Thu, 30 Nov 2023 14:39:16 +0000
Received: by outflank-mailman (input) for mailman id 644781;
 Thu, 30 Nov 2023 14:33: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i6Y-0007xx-U3
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:33:26 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 6a8ef08c-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:33:25 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:33:22 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:33:13 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 6a8ef08c-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354805; x=1732890805;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=UIctuJN57ff0cGtb6JQuQGzOnsVqrF/BvG/lcB/CLAU=;
  b=BibP+vG+yTKo1aVZHkGErA51pYvbsfiKOJyvHmetA4Urf/T/oYqHECgb
   1bxE+9u7MS9cB6O8QjEXW626eZNVZAklOhwkQbdpSKrXsBXaUB3BeH9gC
   /zi/WZn8IvNXQDkx417mS6aznz50A1HhauewTQz1Wr9KIK5d/8anvSx9H
   AlKvnv2F/dVv5ngNgWMZpEHh2vQzJ4ZX6Oq2Oao6UFFtx1Q9PqBm0/Hxg
   50VlICOD6t6SCALEjDH3ZUmces5sOnxQJpBCA1PZPogdwgXxi/MdD6/QO
   G8O7WBT4qiB0IQEVLUx6+Yo/kcqTeBrgw0/ckvpO91f5H/YGnEkeUt+h6
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531936"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531936"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730016"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730016"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 18/41] hw/cpu/cluster: Rename CPUClusterState to CPUCluster
Date: Thu, 30 Nov 2023 22:41:40 +0800
Message-Id: <20231130144203.2307629-19-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

To keep the same naming style as cpu-core, rename CPUClusterState to
CPUCluster.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 gdbstub/system.c                   | 2 +-
 hw/cpu/cluster.c                   | 8 ++++----
 include/hw/arm/armsse.h            | 2 +-
 include/hw/arm/xlnx-versal.h       | 4 ++--
 include/hw/arm/xlnx-zynqmp.h       | 4 ++--
 include/hw/cpu/cluster.h           | 6 +++---
 include/hw/riscv/microchip_pfsoc.h | 4 ++--
 include/hw/riscv/sifive_u.h        | 4 ++--
 8 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/gdbstub/system.c b/gdbstub/system.c
index 783ac140b982..1c0b55d3ebe7 100644
--- a/gdbstub/system.c
+++ b/gdbstub/system.c
@@ -277,7 +277,7 @@ static int find_cpu_clusters(Object *child, void *opaque)
 {
     if (object_dynamic_cast(child, TYPE_CPU_CLUSTER)) {
         GDBState *s = (GDBState *) opaque;
-        CPUClusterState *cluster = CPU_CLUSTER(child);
+        CPUCluster *cluster = CPU_CLUSTER(child);
         GDBProcess *process;
 
         s->processes = g_renew(GDBProcess, s->processes, ++s->process_num);
diff --git a/hw/cpu/cluster.c b/hw/cpu/cluster.c
index 61289a840d46..fd978a543e40 100644
--- a/hw/cpu/cluster.c
+++ b/hw/cpu/cluster.c
@@ -26,12 +26,12 @@
 #include "qapi/error.h"
 
 static Property cpu_cluster_properties[] = {
-    DEFINE_PROP_UINT32("cluster-id", CPUClusterState, cluster_id, 0),
+    DEFINE_PROP_UINT32("cluster-id", CPUCluster, cluster_id, 0),
     DEFINE_PROP_END_OF_LIST()
 };
 
 typedef struct CallbackData {
-    CPUClusterState *cluster;
+    CPUCluster *cluster;
     int cpu_count;
 } CallbackData;
 
@@ -50,7 +50,7 @@ static int add_cpu_to_cluster(Object *obj, void *opaque)
 static void cpu_cluster_realize(DeviceState *dev, Error **errp)
 {
     /* Iterate through all our CPU children and set their cluster_index */
-    CPUClusterState *cluster = CPU_CLUSTER(dev);
+    CPUCluster *cluster = CPU_CLUSTER(dev);
     Object *cluster_obj = OBJECT(dev);
     CallbackData cbdata = {
         .cluster = cluster,
@@ -87,7 +87,7 @@ static void cpu_cluster_class_init(ObjectClass *klass, void *data)
 static const TypeInfo cpu_cluster_type_info = {
     .name = TYPE_CPU_CLUSTER,
     .parent = TYPE_DEVICE,
-    .instance_size = sizeof(CPUClusterState),
+    .instance_size = sizeof(CPUCluster),
     .class_init = cpu_cluster_class_init,
 };
 
diff --git a/include/hw/arm/armsse.h b/include/hw/arm/armsse.h
index 88b3b759c5a8..886586a3bed4 100644
--- a/include/hw/arm/armsse.h
+++ b/include/hw/arm/armsse.h
@@ -153,7 +153,7 @@ struct ARMSSE {
 
     /*< public >*/
     ARMv7MState armv7m[SSE_MAX_CPUS];
-    CPUClusterState cluster[SSE_MAX_CPUS];
+    CPUCluster cluster[SSE_MAX_CPUS];
     IoTKitSecCtl secctl;
     TZPPC apb_ppc[NUM_INTERNAL_PPCS];
     TZMPC mpc[IOTS_NUM_MPC];
diff --git a/include/hw/arm/xlnx-versal.h b/include/hw/arm/xlnx-versal.h
index b24fa64557fd..61bde52b6af5 100644
--- a/include/hw/arm/xlnx-versal.h
+++ b/include/hw/arm/xlnx-versal.h
@@ -58,7 +58,7 @@ struct Versal {
     struct {
         struct {
             MemoryRegion mr;
-            CPUClusterState cluster;
+            CPUCluster cluster;
             ARMCPU cpu[XLNX_VERSAL_NR_ACPUS];
             GICv3State gic;
         } apu;
@@ -88,7 +88,7 @@ struct Versal {
             MemoryRegion mr;
             MemoryRegion mr_ps_alias;
 
-            CPUClusterState cluster;
+            CPUCluster cluster;
             ARMCPU cpu[XLNX_VERSAL_NR_RCPUS];
         } rpu;
 
diff --git a/include/hw/arm/xlnx-zynqmp.h b/include/hw/arm/xlnx-zynqmp.h
index 96358d51ebb7..5eea765ea76c 100644
--- a/include/hw/arm/xlnx-zynqmp.h
+++ b/include/hw/arm/xlnx-zynqmp.h
@@ -98,8 +98,8 @@ struct XlnxZynqMPState {
     DeviceState parent_obj;
 
     /*< public >*/
-    CPUClusterState apu_cluster;
-    CPUClusterState rpu_cluster;
+    CPUCluster apu_cluster;
+    CPUCluster rpu_cluster;
     ARMCPU apu_cpu[XLNX_ZYNQMP_NUM_APU_CPUS];
     ARMCPU rpu_cpu[XLNX_ZYNQMP_NUM_RPU_CPUS];
     GICState gic;
diff --git a/include/hw/cpu/cluster.h b/include/hw/cpu/cluster.h
index 53fbf36af542..644b87350268 100644
--- a/include/hw/cpu/cluster.h
+++ b/include/hw/cpu/cluster.h
@@ -55,7 +55,7 @@
  */
 
 #define TYPE_CPU_CLUSTER "cpu-cluster"
-OBJECT_DECLARE_SIMPLE_TYPE(CPUClusterState, CPU_CLUSTER)
+OBJECT_DECLARE_SIMPLE_TYPE(CPUCluster, CPU_CLUSTER)
 
 /*
  * This limit is imposed by TCG, which puts the cluster ID into an
@@ -64,13 +64,13 @@ OBJECT_DECLARE_SIMPLE_TYPE(CPUClusterState, CPU_CLUSTER)
 #define MAX_CLUSTERS 255
 
 /**
- * CPUClusterState:
+ * CPUCluster:
  * @cluster_id: The cluster ID. This value is for internal use only and should
  *   not be exposed directly to the user or to the guest.
  *
  * State of a CPU cluster.
  */
-struct CPUClusterState {
+struct CPUCluster {
     /*< private >*/
     DeviceState parent_obj;
 
diff --git a/include/hw/riscv/microchip_pfsoc.h b/include/hw/riscv/microchip_pfsoc.h
index daef086da602..c9ac14e35625 100644
--- a/include/hw/riscv/microchip_pfsoc.h
+++ b/include/hw/riscv/microchip_pfsoc.h
@@ -38,8 +38,8 @@ typedef struct MicrochipPFSoCState {
     DeviceState parent_obj;
 
     /*< public >*/
-    CPUClusterState e_cluster;
-    CPUClusterState u_cluster;
+    CPUCluster e_cluster;
+    CPUCluster u_cluster;
     RISCVHartArrayState e_cpus;
     RISCVHartArrayState u_cpus;
     DeviceState *plic;
diff --git a/include/hw/riscv/sifive_u.h b/include/hw/riscv/sifive_u.h
index 0696f8594277..fda4a708e960 100644
--- a/include/hw/riscv/sifive_u.h
+++ b/include/hw/riscv/sifive_u.h
@@ -40,8 +40,8 @@ typedef struct SiFiveUSoCState {
     DeviceState parent_obj;
 
     /*< public >*/
-    CPUClusterState e_cluster;
-    CPUClusterState u_cluster;
+    CPUCluster e_cluster;
+    CPUCluster u_cluster;
     RISCVHartArrayState e_cpus;
     RISCVHartArrayState u_cpus;
     DeviceState *plic;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:18 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:18 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644783.1006348 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCD-0005Ms-QL; Thu, 30 Nov 2023 14:39:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644783.1006348; Thu, 30 Nov 2023 14: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 1r8iCD-0005Ir-3m; Thu, 30 Nov 2023 14:39:17 +0000
Received: by outflank-mailman (input) for mailman id 644783;
 Thu, 30 Nov 2023 14:33: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i6j-0007xx-0M
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:33:37 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 705420e1-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:33:35 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:33:32 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:33:22 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 705420e1-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354815; x=1732890815;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ewTMs2u73zZUV2zJblGAkkri1EYaJm+RSs7ZWl9w7g8=;
  b=EUdqHfiNb81QTjztEqMn97WsYXV9fIS1XSOYkotObz72W8cHULesx/Wb
   ScN9ZoyP3MIgzjjca0Q7d4JI6M3mgh8qOXoEcDQxevss0WI+ei2kqJXe+
   tIdgm5c4zAcXubSWqgeZb+Q0JtGhgaJGvJapyEKN5IacrUJMcq0mgIc9t
   2VTpMPM+1a2PK55L1npZK5qJ9GU4qElzcvBWb/EFHwdgNrFeOQJJKgVqN
   PzOCxFA8tidVZbXTdAKdDRvXmCuqbBvAUJoJywNyrk5OJOmYd+jmR37aK
   EL1WtTmo0fxtuvsRGHyGlBXxZbI9yvBUlBv8aLSAVVnLExTZX7wS1Z93F
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531974"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531974"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730032"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730032"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 19/41] hw/cpu/cluster: Wrap TCG related ops and props into CONFIG_TCG
Date: Thu, 30 Nov 2023 22:41:41 +0800
Message-Id: <20231130144203.2307629-20-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Currenltly cpu-cluster is used in TCG case to organize CPUs with the
same type.

Wrap 2 things into TCG specific areas:
1. cluster-id:

   The cluster-id in TCG case is global, since no higher topology
   container above cluster. To simplify the logic of cluster topology
   in virtualization, move the cluster-id into CONFIG_TCG, then it
   won't be exposed in cli.

2. CPU collection in realize():

   In TCG case, the CPUs are added into cluster directly via child<>
   property. But in virtualization case, the CPU topology will be built
   via topology tree. Thus, wrap CPU collection as the TCG operation.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/cpu/cluster.c         | 30 +++++++++++++++++++++++++-----
 include/hw/cpu/cluster.h | 22 ++++++++++++++++++++--
 2 files changed, 45 insertions(+), 7 deletions(-)

diff --git a/hw/cpu/cluster.c b/hw/cpu/cluster.c
index fd978a543e40..340cfad9f8f1 100644
--- a/hw/cpu/cluster.c
+++ b/hw/cpu/cluster.c
@@ -26,7 +26,9 @@
 #include "qapi/error.h"
 
 static Property cpu_cluster_properties[] = {
+#ifdef CONFIG_TCG
     DEFINE_PROP_UINT32("cluster-id", CPUCluster, cluster_id, 0),
+#endif
     DEFINE_PROP_END_OF_LIST()
 };
 
@@ -47,18 +49,17 @@ static int add_cpu_to_cluster(Object *obj, void *opaque)
     return 0;
 }
 
-static void cpu_cluster_realize(DeviceState *dev, Error **errp)
+static void cpu_cluster_common_collect_cpus(CPUCluster *cluster, Error **errp)
 {
     /* Iterate through all our CPU children and set their cluster_index */
-    CPUCluster *cluster = CPU_CLUSTER(dev);
-    Object *cluster_obj = OBJECT(dev);
+    Object *cluster_obj = OBJECT(cluster);
     CallbackData cbdata = {
         .cluster = cluster,
         .cpu_count = 0,
     };
 
-    if (cluster->cluster_id >= MAX_CLUSTERS) {
-        error_setg(errp, "cluster-id must be less than %d", MAX_CLUSTERS);
+    if (cluster->cluster_id >= MAX_TCG_CLUSTERS) {
+        error_setg(errp, "cluster-id must be less than %d", MAX_TCG_CLUSTERS);
         return;
     }
 
@@ -73,15 +74,34 @@ static void cpu_cluster_realize(DeviceState *dev, Error **errp)
     assert(cbdata.cpu_count > 0);
 }
 
+static const struct TCGClusterOps common_cluster_tcg_ops = {
+    .collect_cpus = cpu_cluster_common_collect_cpus,
+};
+
+static void cpu_cluster_realize(DeviceState *dev, Error **errp)
+{
+    CPUCluster *cluster = CPU_CLUSTER(dev);
+    CPUClusterClass *cc = CPU_CLUSTER_GET_CLASS(dev);
+
+    if (cc->tcg_clu_ops->collect_cpus) {
+        cc->tcg_clu_ops->collect_cpus(cluster, errp);
+    }
+}
+
 static void cpu_cluster_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
+    CPUClusterClass *cc = CPU_CLUSTER_CLASS(klass);
 
     device_class_set_props(dc, cpu_cluster_properties);
     dc->realize = cpu_cluster_realize;
 
     /* This is not directly for users, CPU children must be attached by code */
     dc->user_creatable = false;
+
+#ifdef CONFIG_TCG
+    cc->tcg_clu_ops = &common_cluster_tcg_ops;
+#endif
 }
 
 static const TypeInfo cpu_cluster_type_info = {
diff --git a/include/hw/cpu/cluster.h b/include/hw/cpu/cluster.h
index 644b87350268..c038f05ddc9f 100644
--- a/include/hw/cpu/cluster.h
+++ b/include/hw/cpu/cluster.h
@@ -55,13 +55,31 @@
  */
 
 #define TYPE_CPU_CLUSTER "cpu-cluster"
-OBJECT_DECLARE_SIMPLE_TYPE(CPUCluster, CPU_CLUSTER)
+OBJECT_DECLARE_TYPE(CPUCluster, CPUClusterClass, CPU_CLUSTER)
 
 /*
  * This limit is imposed by TCG, which puts the cluster ID into an
  * 8 bit field (and uses all-1s for the default "not in any cluster").
  */
-#define MAX_CLUSTERS 255
+#define MAX_TCG_CLUSTERS 255
+
+struct TCGClusterOps {
+    /**
+     * @collect_cpus: Iterate children CPUs and set cluser_index.
+     *
+     * Called when the cluster is realized.
+     */
+    void (*collect_cpus)(CPUCluster *cluster, Error **errp);
+};
+
+struct CPUClusterClass {
+    /*< private >*/
+    DeviceClass parent_class;
+
+    /*< public >*/
+    /* when TCG is not available, this pointer is NULL */
+    const struct TCGClusterOps *tcg_clu_ops;
+};
 
 /**
  * CPUCluster:
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644785.1006357 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCE-0005bR-VN; Thu, 30 Nov 2023 14:39:18 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644785.1006357; Thu, 30 Nov 2023 14: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 1r8iCE-0005Xd-4L; Thu, 30 Nov 2023 14:39:18 +0000
Received: by outflank-mailman (input) for mailman id 644785;
 Thu, 30 Nov 2023 14:33: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i6r-0008E0-71
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:33:45 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 75d38361-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:33:44 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:33:41 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:33:32 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 75d38361-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354824; x=1732890824;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=tVF0CmmcOBEuYyYp6LOjwJOc13qp/jolnKC9SQQ9zpo=;
  b=f64LBCQHUvmpnb4ErDMm3hOl7i37ccVub4uYjknCHcgkYW0rAmO6qMXG
   Dnt3RHBsiwSbT9ULIWb2awWOl5B8Yi3OBaF60L26qPrH6NlX2Lp7rlDhY
   /eWFM1PgOzNoT4EXw06EiYTQ3govrKWacebBciq4tCtnqrSHyHFws3129
   a4p+CDk4tm1Au4EOsl2Nm1f8eWV4Lx1jgv6UR2DfJN9rkUGn1GDnuP8QW
   vae2G4cdYXGS2fggit8GYIAlS8LA8Mzns/iwiVg84av2+ZGf4ReR2ezBs
   xsEgycHqtPALx6EO/iZOtW2FgwSdnOd5iOiBPgCAI1SMkOXwxFWdNTS0U
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532020"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532020"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730040"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730040"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 20/41] hw/cpu/cluster: Descript cluster is not only used for TCG in comment
Date: Thu, 30 Nov 2023 22:41:42 +0800
Message-Id: <20231130144203.2307629-21-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Update the comment to make the cpu-cluster description more general for
both TCG and accel cases.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/cpu/cluster.c         |  2 +-
 include/hw/cpu/cluster.h | 20 +++++++++++++++-----
 2 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/hw/cpu/cluster.c b/hw/cpu/cluster.c
index 340cfad9f8f1..27ab9e25a265 100644
--- a/hw/cpu/cluster.c
+++ b/hw/cpu/cluster.c
@@ -1,5 +1,5 @@
 /*
- * QEMU CPU cluster
+ * CPU cluster abstract device
  *
  * Copyright (c) 2018 GreenSocs SAS
  *
diff --git a/include/hw/cpu/cluster.h b/include/hw/cpu/cluster.h
index c038f05ddc9f..b3185e2f2566 100644
--- a/include/hw/cpu/cluster.h
+++ b/include/hw/cpu/cluster.h
@@ -1,5 +1,5 @@
 /*
- * QEMU CPU cluster
+ * CPU cluster abstract device
  *
  * Copyright (c) 2018 GreenSocs SAS
  *
@@ -24,17 +24,27 @@
 #include "qom/object.h"
 
 /*
- * CPU Cluster type
+ * # CPU Cluster
  *
- * A cluster is a group of CPUs which are all identical and have the same view
- * of the rest of the system. It is mainly an internal QEMU representation and
- * does not necessarily match with the notion of clusters on the real hardware.
+ * A cluster is a group of CPUs, that is, a level above the CPU (or Core).
+ *
+ * - For accel case, it's a CPU topology level concept above cores, in which
+ * the cores may share some resources (L2 cache or some others like L3
+ * cache tags, depending on the Archs). It is used to emulate the physical
+ * CPU cluster/module.
+ *
+ * - For TCG, cluster is used to organize CPUs directly without core. In one
+ * cluster, CPUs are all identical and have the same view of the rest of the
+ * system. It is mainly an internal QEMU representation and may not necessarily
+ * match with the notion of clusters on the real hardware.
  *
  * If CPUs are not identical (for example, Cortex-A53 and Cortex-A57 CPUs in an
  * Arm big.LITTLE system) they should be in different clusters. If the CPUs do
  * not have the same view of memory (for example the main CPU and a management
  * controller processor) they should be in different clusters.
  *
+ * # Use case for cluster in TCG
+ *
  * A cluster is created by creating an object of TYPE_CPU_CLUSTER, and then
  * adding the CPUs to it as QOM child objects (e.g. using the
  * object_initialize_child() or object_property_add_child() functions).
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:20 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:20 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644787.1006364 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCF-0005nf-VZ; Thu, 30 Nov 2023 14:39:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644787.1006364; Thu, 30 Nov 2023 14:39: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 1r8iCF-0005jE-3e; Thu, 30 Nov 2023 14:39:19 +0000
Received: by outflank-mailman (input) for mailman id 644787;
 Thu, 30 Nov 2023 14:33: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i6z-0008E0-Qx
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:33:53 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 7b1ace92-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:33:53 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:33:50 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:33:41 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 7b1ace92-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354833; x=1732890833;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=TLbpY7EX///aEBUshQ9nHMg5QAVw4jJxDP0uMhZZdFI=;
  b=mGg+D15kVa+FbiZDXgQ6ZHjLcP9IGa1SsWu3qFYa5gpgh/ypdPCj33A1
   JeaefoQgFaOxS0GfiGS4R4pew1nb1z85dO9W3SMF6vIyapkKz1ep6keIr
   Hkk6+n8wSmLaUhekVwfsA4tXRHWK9z93cuU0jmxbhO4mlfMexQXen7MZ/
   K8nPxIx0WKn/j0czd1kxmDaugQQ/HwUndD0MNsBwKGvWVvsl7E0qp2qXw
   IKnQqN27c0AH8wYlEU3qWl+lC4SPw7tgvvf4ULlmsjWzWM6xml0aHDpyw
   zlwFs0BYs278c3IBTdGSOfz5ftKbnY379boc4ijmFfn/FAWZ3iJZCN22j
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532051"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532051"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730047"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730047"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 21/41] hw/cpu/cluster: Allow cpu-cluster to be created by -device
Date: Thu, 30 Nov 2023 22:41:43 +0800
Message-Id: <20231130144203.2307629-22-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Since we will extend cpu-cluster to build CPU topology in virtualization
case via -device, remove the original limitition.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/cpu/cluster.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/hw/cpu/cluster.c b/hw/cpu/cluster.c
index 27ab9e25a265..8a666c27d151 100644
--- a/hw/cpu/cluster.c
+++ b/hw/cpu/cluster.c
@@ -96,9 +96,6 @@ static void cpu_cluster_class_init(ObjectClass *klass, void *data)
     device_class_set_props(dc, cpu_cluster_properties);
     dc->realize = cpu_cluster_realize;
 
-    /* This is not directly for users, CPU children must be attached by code */
-    dc->user_creatable = false;
-
 #ifdef CONFIG_TCG
     cc->tcg_clu_ops = &common_cluster_tcg_ops;
 #endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644789.1006373 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCH-0006DY-JN; Thu, 30 Nov 2023 14:39:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644789.1006373; Thu, 30 Nov 2023 14: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 1r8iCG-00067R-Mo; Thu, 30 Nov 2023 14:39:20 +0000
Received: by outflank-mailman (input) for mailman id 644789;
 Thu, 30 Nov 2023 14:34: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i79-0008E0-HF
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:34:03 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 80d39005-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:34:02 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:34:00 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:33:50 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 80d39005-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354842; x=1732890842;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ojKaeiijveA4rQSsZpp2eyLul8UTXwtywNBoYac3pw0=;
  b=npfBwEWswmS5Yfn4Uco6zXxF4JaLt+FE+79DM7e5JMLR1nPnwK6VCEdH
   j7WoigdZOks41koEQQm4W4dCraScHUs4wZlrWZ0lvKeDas54JpDuf3vLK
   lWKFlXEgXZOFfRma+kA0PuxNbu4WaEYYnyYIpBixOQfHKxlpofixhCcIf
   1zPXWZSUCvFAhJlqpVMbpMpsRVruNGVR34syuRx1JcddDh+DVuDCLToYw
   BxnbIaQtYvda/pX3j9EQtf7uuTphajgy+kDCv3tkcTgVq2WOryvDHLwst
   plCZfJMCKgcpOwzKEfpCOz0ejh6nQdSCM38o9iBosvh8376dMc2GrGMVa
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532110"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532110"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730060"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730060"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 22/41] hw/cpu/cluster: Convert cpu-cluster from general device to topology device
Date: Thu, 30 Nov 2023 22:41:44 +0800
Message-Id: <20231130144203.2307629-23-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Convert cpu-cluster to topology device then user could create cluster
level topology from cli and later the cpu-clusters could be added into
topology tree.

In addition, mark the cpu-cluster as DEVICE_CATEGORY_CPU_DEF category to
indicate it belongs to the basic CPU definition and should be created
from cli before board initialization.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/cpu/cluster.c         | 11 +++++++++--
 include/hw/cpu/cluster.h |  7 +++++--
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/hw/cpu/cluster.c b/hw/cpu/cluster.c
index 8a666c27d151..adf0ef23e8d4 100644
--- a/hw/cpu/cluster.c
+++ b/hw/cpu/cluster.c
@@ -86,15 +86,21 @@ static void cpu_cluster_realize(DeviceState *dev, Error **errp)
     if (cc->tcg_clu_ops->collect_cpus) {
         cc->tcg_clu_ops->collect_cpus(cluster, errp);
     }
+
+    cc->parent_realize(dev, errp);
 }
 
 static void cpu_cluster_class_init(ObjectClass *klass, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(klass);
+    CPUTopoClass *tc = CPU_TOPO_CLASS(klass);
     CPUClusterClass *cc = CPU_CLUSTER_CLASS(klass);
 
+    set_bit(DEVICE_CATEGORY_CPU_DEF, dc->categories);
     device_class_set_props(dc, cpu_cluster_properties);
-    dc->realize = cpu_cluster_realize;
+    device_class_set_parent_realize(dc, cpu_cluster_realize,
+                                    &cc->parent_realize);
+    tc->level = CPU_TOPO_CLUSTER;
 
 #ifdef CONFIG_TCG
     cc->tcg_clu_ops = &common_cluster_tcg_ops;
@@ -103,8 +109,9 @@ static void cpu_cluster_class_init(ObjectClass *klass, void *data)
 
 static const TypeInfo cpu_cluster_type_info = {
     .name = TYPE_CPU_CLUSTER,
-    .parent = TYPE_DEVICE,
+    .parent = TYPE_CPU_TOPO,
     .instance_size = sizeof(CPUCluster),
+    .class_size = sizeof(CPUClusterClass),
     .class_init = cpu_cluster_class_init,
 };
 
diff --git a/include/hw/cpu/cluster.h b/include/hw/cpu/cluster.h
index b3185e2f2566..888993c36da4 100644
--- a/include/hw/cpu/cluster.h
+++ b/include/hw/cpu/cluster.h
@@ -20,6 +20,7 @@
 #ifndef HW_CPU_CLUSTER_H
 #define HW_CPU_CLUSTER_H
 
+#include "hw/core/cpu-topo.h"
 #include "hw/qdev-core.h"
 #include "qom/object.h"
 
@@ -84,11 +85,13 @@ struct TCGClusterOps {
 
 struct CPUClusterClass {
     /*< private >*/
-    DeviceClass parent_class;
+    CPUTopoClass parent_class;
 
     /*< public >*/
     /* when TCG is not available, this pointer is NULL */
     const struct TCGClusterOps *tcg_clu_ops;
+
+    DeviceRealize parent_realize;
 };
 
 /**
@@ -100,7 +103,7 @@ struct CPUClusterClass {
  */
 struct CPUCluster {
     /*< private >*/
-    DeviceState parent_obj;
+    CPUTopoState parent_obj;
 
     /*< public >*/
     uint32_t cluster_id;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:23 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:23 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644791.1006383 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCJ-0006Xu-7F; Thu, 30 Nov 2023 14:39:23 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644791.1006383; Thu, 30 Nov 2023 14: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 1r8iCI-0006SY-7q; Thu, 30 Nov 2023 14:39:22 +0000
Received: by outflank-mailman (input) for mailman id 644791;
 Thu, 30 Nov 2023 14:34: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i7K-0008Nr-1F
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:34:14 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 866970e9-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:34:11 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:34:09 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:34:00 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 866970e9-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354851; x=1732890851;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=IhpodbfJau6szIdQazmb+IK5Vtn7KUNNpXNSlzloW+Q=;
  b=b51yF4Oir5xZZusp7izSrF3IpwO5SQdCqrdJ7aQMK2t1m+RWMPOOXHLF
   9p9DKeoOP0tDw5gZebKCHy1AP68kRpbFdxQEkL6xKrguzYooJeHe/igbk
   uLJH4DbVs0X9pyiq4ursmpkAHtB47scRo+b42eMQqaaUZGeDRnJdcI2LO
   YfGpnW+TFyBWco8eWRi8M2o66DScUBpflPaXeeR08CsOzsNJOfC+loEgP
   LQq6NXm1D/OWG6MpZbu76+Ukr5kv0aCnFZzRXJbVid3Gucs3/DgEgxTdj
   5wL1xL3l7Kq2NmiCZTA72W8Ime3NnPk/QEiS8C1eFh2prN9RCdSDZkHB8
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532150"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532150"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730068"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730068"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 23/41] hw/cpu/die: Abstract cpu-die level as topology device
Date: Thu, 30 Nov 2023 22:41:45 +0800
Message-Id: <20231130144203.2307629-24-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Abstract die level as a topology device "cpu-die" to allow user to
create die level topology from cli and later the cpu-dies could be added
into topology tree.

In addition, mark the cpu-die as DEVICE_CATEGORY_CPU_DEF category to
indicate it belongs to the basic CPU definition and should be created
from cli before board initialization.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 MAINTAINERS          |  2 ++
 hw/cpu/die.c         | 46 ++++++++++++++++++++++++++++++++++++++++++++
 hw/cpu/meson.build   |  2 +-
 include/hw/cpu/die.h | 38 ++++++++++++++++++++++++++++++++++++
 4 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 hw/cpu/die.c
 create mode 100644 include/hw/cpu/die.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 89e350866d6a..91d0936edb32 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1863,6 +1863,7 @@ F: hw/core/machine-smp.c
 F: hw/core/null-machine.c
 F: hw/core/numa.c
 F: hw/cpu/cluster.c
+F: hw/cpu/die.c
 F: qapi/machine.json
 F: qapi/machine-common.json
 F: qapi/machine-target.json
@@ -1870,6 +1871,7 @@ F: include/hw/boards.h
 F: include/hw/core/cpu.h
 F: include/hw/core/cpu-topo.h
 F: include/hw/cpu/cluster.h
+F: include/hw/cpu/die.h
 F: include/sysemu/numa.h
 F: tests/unit/test-smp-parse.c
 T: git https://gitlab.com/ehabkost/qemu.git machine-next
diff --git a/hw/cpu/die.c b/hw/cpu/die.c
new file mode 100644
index 000000000000..06c4f7cc8fa2
--- /dev/null
+++ b/hw/cpu/die.c
@@ -0,0 +1,46 @@
+/*
+ * CPU die abstract device
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#include "qemu/osdep.h"
+#include "hw/cpu/die.h"
+
+static void cpu_die_class_init(ObjectClass *oc, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(oc);
+    CPUTopoClass *tc = CPU_TOPO_CLASS(oc);
+
+    set_bit(DEVICE_CATEGORY_CPU_DEF, dc->categories);
+
+    tc->level = CPU_TOPO_DIE;
+}
+
+static const TypeInfo cpu_die_type_info = {
+    .name = TYPE_CPU_DIE,
+    .parent = TYPE_CPU_TOPO,
+    .class_init = cpu_die_class_init,
+    .instance_size = sizeof(CPUDie),
+};
+
+static void cpu_die_register_types(void)
+{
+    type_register_static(&cpu_die_type_info);
+}
+
+type_init(cpu_die_register_types)
diff --git a/hw/cpu/meson.build b/hw/cpu/meson.build
index 6d319947ca0b..e685fe1c7d8a 100644
--- a/hw/cpu/meson.build
+++ b/hw/cpu/meson.build
@@ -1,4 +1,4 @@
-system_ss.add(files('core.c', 'cluster.c'))
+system_ss.add(files('core.c', 'cluster.c', 'die.c'))
 
 system_ss.add(when: 'CONFIG_ARM11MPCORE', if_true: files('arm11mpcore.c'))
 system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_mpcore.c'))
diff --git a/include/hw/cpu/die.h b/include/hw/cpu/die.h
new file mode 100644
index 000000000000..4c68786b5f2f
--- /dev/null
+++ b/include/hw/cpu/die.h
@@ -0,0 +1,38 @@
+/*
+ * CPU die abstract device
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#ifndef HW_CPU_DIE_H
+#define HW_CPU_DIE_H
+
+#include "hw/core/cpu-topo.h"
+#include "hw/qdev-core.h"
+
+#define TYPE_CPU_DIE "cpu-die"
+
+OBJECT_DECLARE_SIMPLE_TYPE(CPUDie, CPU_DIE)
+
+struct CPUDie {
+    /*< private >*/
+    CPUTopoState obj;
+
+    /*< public >*/
+};
+
+#endif /* HW_CPU_DIE_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:25 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:25 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644793.1006393 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCL-0006rY-63; Thu, 30 Nov 2023 14:39:25 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644793.1006393; Thu, 30 Nov 2023 14: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 1r8iCJ-0006lI-Ph; Thu, 30 Nov 2023 14:39:23 +0000
Received: by outflank-mailman (input) for mailman id 644793;
 Thu, 30 Nov 2023 14:34: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i7T-0008Nr-3q
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:34:23 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c0dd47a-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:34:21 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:34:19 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:34:09 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 8c0dd47a-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354861; x=1732890861;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=KYdyPQbbzxDFAf7dgOGDTufkcJTYeF0L4udr4i03f58=;
  b=IrrMURKaH6rhRM63ns4KlXXO2WYmftjGoMKijoPv+1OILwu1B+Nmk9BT
   oyQqhfeID8eu/0CQmhfj3cBwtHrerKvSXs3woyC+4wAK8tErD/iyvr5WM
   WJ3CZO6DQk20W/4SrdEUEdXIPidaenVHPLGckSLjyGSAUxS7NqUy+f48z
   GH+cDdhNpYdMgQNNvC10tdANFaubzouYuX1tlVhk92AsAdOBOlOSYw/gk
   oCiGMCCARgR6zx+ghi1JR5ynzJwDdXbpMa6VyLsgBLkU6Sjuf134BS53v
   c+chkMY3qmXkRhS1SYsSdQ4a159bRBS0JYKXuAY4okyNk1mHiWTwQSv7s
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532185"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532185"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730082"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730082"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 24/41] hw/cpu/socket: Abstract cpu-socket level as topology device
Date: Thu, 30 Nov 2023 22:41:46 +0800
Message-Id: <20231130144203.2307629-25-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Abstract socket level as a topology device "cpu-socket" to allow user to
create socket level topology from cli and later the cpu-sockets could be
added into topology tree.

In addition, mark the cpu-socket as DEVICE_CATEGORY_CPU_DEF category to
indicate it belongs to the basic CPU definition and should be created
from cli before board initialization.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 MAINTAINERS             |  2 ++
 hw/cpu/meson.build      |  2 +-
 hw/cpu/socket.c         | 46 +++++++++++++++++++++++++++++++++++++++++
 include/hw/cpu/socket.h | 38 ++++++++++++++++++++++++++++++++++
 4 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 hw/cpu/socket.c
 create mode 100644 include/hw/cpu/socket.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 91d0936edb32..6a9fa0aeed0c 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1864,6 +1864,7 @@ F: hw/core/null-machine.c
 F: hw/core/numa.c
 F: hw/cpu/cluster.c
 F: hw/cpu/die.c
+F: hw/cpu/socket.c
 F: qapi/machine.json
 F: qapi/machine-common.json
 F: qapi/machine-target.json
@@ -1872,6 +1873,7 @@ F: include/hw/core/cpu.h
 F: include/hw/core/cpu-topo.h
 F: include/hw/cpu/cluster.h
 F: include/hw/cpu/die.h
+F: include/hw/cpu/socket.h
 F: include/sysemu/numa.h
 F: tests/unit/test-smp-parse.c
 T: git https://gitlab.com/ehabkost/qemu.git machine-next
diff --git a/hw/cpu/meson.build b/hw/cpu/meson.build
index e685fe1c7d8a..251724fea86c 100644
--- a/hw/cpu/meson.build
+++ b/hw/cpu/meson.build
@@ -1,4 +1,4 @@
-system_ss.add(files('core.c', 'cluster.c', 'die.c'))
+system_ss.add(files('core.c', 'cluster.c', 'die.c', 'socket.c'))
 
 system_ss.add(when: 'CONFIG_ARM11MPCORE', if_true: files('arm11mpcore.c'))
 system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_mpcore.c'))
diff --git a/hw/cpu/socket.c b/hw/cpu/socket.c
new file mode 100644
index 000000000000..afd29f8a91c1
--- /dev/null
+++ b/hw/cpu/socket.c
@@ -0,0 +1,46 @@
+/*
+ * CPU socket abstract device
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#include "qemu/osdep.h"
+#include "hw/cpu/socket.h"
+
+static void cpu_socket_class_init(ObjectClass *oc, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(oc);
+    CPUTopoClass *tc = CPU_TOPO_CLASS(oc);
+
+    set_bit(DEVICE_CATEGORY_CPU_DEF, dc->categories);
+
+    tc->level = CPU_TOPO_SOCKET;
+}
+
+static const TypeInfo cpu_socket_type_info = {
+    .name = TYPE_CPU_SOCKET,
+    .parent = TYPE_CPU_TOPO,
+    .class_init = cpu_socket_class_init,
+    .instance_size = sizeof(CPUSocket),
+};
+
+static void cpu_socket_register_types(void)
+{
+    type_register_static(&cpu_socket_type_info);
+}
+
+type_init(cpu_socket_register_types)
diff --git a/include/hw/cpu/socket.h b/include/hw/cpu/socket.h
new file mode 100644
index 000000000000..897852903cd2
--- /dev/null
+++ b/include/hw/cpu/socket.h
@@ -0,0 +1,38 @@
+/*
+ * CPU socket abstract device
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#ifndef HW_CPU_SOCKET_H
+#define HW_CPU_SOCKET_H
+
+#include "hw/core/cpu-topo.h"
+#include "hw/qdev-core.h"
+
+#define TYPE_CPU_SOCKET "cpu-socket"
+
+OBJECT_DECLARE_SIMPLE_TYPE(CPUSocket, CPU_SOCKET)
+
+struct CPUSocket {
+    /*< private >*/
+    CPUTopoState parent_obj;
+
+    /*< public >*/
+};
+
+#endif /* HW_CPU_SOCKET_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644795.1006400 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCN-0007LK-4n; Thu, 30 Nov 2023 14:39:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644795.1006400; Thu, 30 Nov 2023 14: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 1r8iCM-0007F7-9O; Thu, 30 Nov 2023 14:39:26 +0000
Received: by outflank-mailman (input) for mailman id 644795;
 Thu, 30 Nov 2023 14:34: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i7b-0008E0-Ew
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:34:31 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 919ec32c-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:34:30 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:34:28 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:34:18 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 919ec32c-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354870; x=1732890870;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=R67m9mW34W7uiETtegm4359TeHvWglaSP7oCtBRRyHM=;
  b=A7LjNdy2Cl1idzU5WEFIh+IWk8Jzgx+oZMnkcWWtXEiBUFFkT/qfZgE5
   hxToLcxpj6GyFJdUmYrR3xl6iTpyXjCHVXryCJivk9IVEXMynH3qD/F93
   eZnF3oI3uoB9wTsOYbYzwVhR7rujApL7YoQncNreDK3s+PWogwgDKYscv
   fHDjpsvLXafe7ptI6j94QyqN6O6c7lNS5pSNyI0uu2LE+70jBQgd3MemS
   3iUMkv9SeFyfAk2dsH0xS2vL1De5JV3jYMzlr9VFS03gM1krd3pUFUXvZ
   rlBt+VgCxFCc1s4joYsmk5zTtuxFaA0iw00Mg+BNptKoBPWRsXqqVMfY7
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532217"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532217"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730090"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730090"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 25/41] hw/cpu/book: Abstract cpu-book level as topology device
Date: Thu, 30 Nov 2023 22:41:47 +0800
Message-Id: <20231130144203.2307629-26-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Abstract book level as a topology device "cpu-book" to allow user to
create book level topology from cli and later the cpu-books could be
added into topology tree.

In addition, mark the cpu-book as DEVICE_CATEGORY_CPU_DEF category to
indicate it belongs to the basic CPU definition and should be created
from cli before board initialization.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 MAINTAINERS           |  2 ++
 hw/cpu/book.c         | 46 +++++++++++++++++++++++++++++++++++++++++++
 hw/cpu/meson.build    |  2 +-
 include/hw/cpu/book.h | 38 +++++++++++++++++++++++++++++++++++
 4 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 hw/cpu/book.c
 create mode 100644 include/hw/cpu/book.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 6a9fa0aeed0c..dd5adfda64cc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1862,6 +1862,7 @@ F: hw/core/machine.c
 F: hw/core/machine-smp.c
 F: hw/core/null-machine.c
 F: hw/core/numa.c
+F: hw/cpu/book.c
 F: hw/cpu/cluster.c
 F: hw/cpu/die.c
 F: hw/cpu/socket.c
@@ -1871,6 +1872,7 @@ F: qapi/machine-target.json
 F: include/hw/boards.h
 F: include/hw/core/cpu.h
 F: include/hw/core/cpu-topo.h
+F: include/hw/cpu/book.h
 F: include/hw/cpu/cluster.h
 F: include/hw/cpu/die.h
 F: include/hw/cpu/socket.h
diff --git a/hw/cpu/book.c b/hw/cpu/book.c
new file mode 100644
index 000000000000..4b16267b10eb
--- /dev/null
+++ b/hw/cpu/book.c
@@ -0,0 +1,46 @@
+/*
+ * CPU book abstract device
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#include "qemu/osdep.h"
+#include "hw/cpu/book.h"
+
+static void cpu_book_class_init(ObjectClass *oc, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(oc);
+    CPUTopoClass *tc = CPU_TOPO_CLASS(oc);
+
+    set_bit(DEVICE_CATEGORY_CPU_DEF, dc->categories);
+
+    tc->level = CPU_TOPO_BOOK;
+}
+
+static const TypeInfo cpu_book_type_info = {
+    .name = TYPE_CPU_BOOK,
+    .parent = TYPE_CPU_TOPO,
+    .class_init = cpu_book_class_init,
+    .instance_size = sizeof(CPUBook),
+};
+
+static void cpu_book_register_types(void)
+{
+    type_register_static(&cpu_book_type_info);
+}
+
+type_init(cpu_book_register_types)
diff --git a/hw/cpu/meson.build b/hw/cpu/meson.build
index 251724fea86c..c44b54c5abb0 100644
--- a/hw/cpu/meson.build
+++ b/hw/cpu/meson.build
@@ -1,4 +1,4 @@
-system_ss.add(files('core.c', 'cluster.c', 'die.c', 'socket.c'))
+system_ss.add(files('core.c', 'cluster.c', 'die.c', 'socket.c', 'book.c'))
 
 system_ss.add(when: 'CONFIG_ARM11MPCORE', if_true: files('arm11mpcore.c'))
 system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_mpcore.c'))
diff --git a/include/hw/cpu/book.h b/include/hw/cpu/book.h
new file mode 100644
index 000000000000..b91bd553bea6
--- /dev/null
+++ b/include/hw/cpu/book.h
@@ -0,0 +1,38 @@
+/*
+ * CPU book abstract device
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#ifndef HW_CPU_BOOK_H
+#define HW_CPU_BOOK_H
+
+#include "hw/core/cpu-topo.h"
+#include "hw/qdev-core.h"
+
+#define TYPE_CPU_BOOK "cpu-book"
+
+OBJECT_DECLARE_SIMPLE_TYPE(CPUBook, CPU_BOOK)
+
+struct CPUBook {
+    /*< private >*/
+    CPUTopoState obj;
+
+    /*< public >*/
+};
+
+#endif /* HW_CPU_BOOK_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644797.1006408 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCP-0007le-EH; Thu, 30 Nov 2023 14:39:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644797.1006408; Thu, 30 Nov 2023 14: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 1r8iCO-0007es-7v; Thu, 30 Nov 2023 14:39:28 +0000
Received: by outflank-mailman (input) for mailman id 644797;
 Thu, 30 Nov 2023 14: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i7k-0008E0-U9
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:34:40 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 9743db74-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:34:40 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:34:37 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:34:28 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9743db74-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354880; x=1732890880;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=RiCVpo1qnLcoDF3gFOkmvt/7Et6vXhRGVnHUCJw060w=;
  b=Gd0+I34fYrJQ8fW9UAgUvSatB8+xB0MkdBgr5hj/PJsdyid6PM/TqC4o
   PLtaQW9x0LMIquokBemNzOSpxeNd/eKQ4lDjGBBJGsiDY1NUHdkBHsuQD
   XKpfpyQKaEq6bY73dqmqIrkVZkiZtFLcqWS7lyIGSq6qCfzkDmCfLHqbM
   XsyUw3AGSWbrX/HVuKVQJCxekULHAmdm4hLSBLAF9DjXcy53g1TASuIkg
   94rcDQXsErSqGkQRN8y1h1U1COQKFR2CtJgt6X4volbT8Up0K70W9aIRu
   FJXnU0GufBC6AErDc3eWEB4QKiZzrI5OdLw0OXC4FgYSttED016rJdkLb
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532241"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532241"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730101"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730101"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 26/41] hw/cpu/drawer: Abstract cpu-drawer level as topology device
Date: Thu, 30 Nov 2023 22:41:48 +0800
Message-Id: <20231130144203.2307629-27-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Abstract drawer level as a topology device "cpu-drawer" to allow user to
create drawer level topology from cli and later the cpu-drawers could be
added into topology tree.

In addition, mark the cpu-drawer as DEVICE_CATEGORY_CPU_DEF category to
indicate it belongs to the basic CPU definition and should be created
from cli before board initialization.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 MAINTAINERS             |  2 ++
 hw/cpu/drawer.c         | 46 +++++++++++++++++++++++++++++++++++++++++
 hw/cpu/meson.build      |  2 +-
 include/hw/cpu/drawer.h | 38 ++++++++++++++++++++++++++++++++++
 4 files changed, 87 insertions(+), 1 deletion(-)
 create mode 100644 hw/cpu/drawer.c
 create mode 100644 include/hw/cpu/drawer.h

diff --git a/MAINTAINERS b/MAINTAINERS
index dd5adfda64cc..4b373ff46ce3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1865,6 +1865,7 @@ F: hw/core/numa.c
 F: hw/cpu/book.c
 F: hw/cpu/cluster.c
 F: hw/cpu/die.c
+F: hw/cpu/drawer.c
 F: hw/cpu/socket.c
 F: qapi/machine.json
 F: qapi/machine-common.json
@@ -1875,6 +1876,7 @@ F: include/hw/core/cpu-topo.h
 F: include/hw/cpu/book.h
 F: include/hw/cpu/cluster.h
 F: include/hw/cpu/die.h
+F: include/hw/cpu/drawer.h
 F: include/hw/cpu/socket.h
 F: include/sysemu/numa.h
 F: tests/unit/test-smp-parse.c
diff --git a/hw/cpu/drawer.c b/hw/cpu/drawer.c
new file mode 100644
index 000000000000..f1ccfd153284
--- /dev/null
+++ b/hw/cpu/drawer.c
@@ -0,0 +1,46 @@
+/*
+ * CPU drawer abstract device
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#include "qemu/osdep.h"
+#include "hw/cpu/drawer.h"
+
+static void cpu_drawer_class_init(ObjectClass *oc, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(oc);
+    CPUTopoClass *tc = CPU_TOPO_CLASS(oc);
+
+    set_bit(DEVICE_CATEGORY_CPU_DEF, dc->categories);
+
+    tc->level = CPU_TOPO_DRAWER;
+}
+
+static const TypeInfo cpu_drawer_type_info = {
+    .name = TYPE_CPU_DRAWER,
+    .parent = TYPE_CPU_TOPO,
+    .class_init = cpu_drawer_class_init,
+    .instance_size = sizeof(CPUDrawer),
+};
+
+static void cpu_drawer_register_types(void)
+{
+    type_register_static(&cpu_drawer_type_info);
+}
+
+type_init(cpu_drawer_register_types)
diff --git a/hw/cpu/meson.build b/hw/cpu/meson.build
index c44b54c5abb0..0dea39364b98 100644
--- a/hw/cpu/meson.build
+++ b/hw/cpu/meson.build
@@ -1,4 +1,4 @@
-system_ss.add(files('core.c', 'cluster.c', 'die.c', 'socket.c', 'book.c'))
+system_ss.add(files('core.c', 'cluster.c', 'die.c', 'socket.c', 'book.c', 'drawer.c'))
 
 system_ss.add(when: 'CONFIG_ARM11MPCORE', if_true: files('arm11mpcore.c'))
 system_ss.add(when: 'CONFIG_REALVIEW', if_true: files('realview_mpcore.c'))
diff --git a/include/hw/cpu/drawer.h b/include/hw/cpu/drawer.h
new file mode 100644
index 000000000000..34ae089d33bf
--- /dev/null
+++ b/include/hw/cpu/drawer.h
@@ -0,0 +1,38 @@
+/*
+ * CPU drawer abstract device
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#ifndef HW_CPU_DRAWER_H
+#define HW_CPU_DRAWER_H
+
+#include "hw/core/cpu-topo.h"
+#include "hw/qdev-core.h"
+
+#define TYPE_CPU_DRAWER "cpu-drawer"
+
+OBJECT_DECLARE_SIMPLE_TYPE(CPUDrawer, CPU_DRAWER)
+
+struct CPUDrawer {
+    /*< private >*/
+    CPUTopoState obj;
+
+    /*< public >*/
+};
+
+#endif /* HW_CPU_DRAWER_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644799.1006420 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCR-000815-6a; Thu, 30 Nov 2023 14:39:31 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644799.1006420; Thu, 30 Nov 2023 14:39: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 1r8iCP-0007vo-RE; Thu, 30 Nov 2023 14:39:29 +0000
Received: by outflank-mailman (input) for mailman id 644799;
 Thu, 30 Nov 2023 14: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i7v-0008Nr-07
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:34:51 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9cb3f37e-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:34:49 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:34:47 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:34:37 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 9cb3f37e-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354889; x=1732890889;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=dK+ilj3Q1LqgiJ2/EiJWYjQp1qXfjG6+/g3hE8BTtcM=;
  b=S+uqvQeIY/+UlzIPEQmvk9Kko1omXkX6YAvDYBAQIsl2Z54fRu7mwDPD
   DIXIzmYyKSW0TWZCL5MiGkIyfm9munIEfmjlMdjY/YOQ5rY/0/9XLz/C9
   yY8ORf9uBtaGxhtE7FvxiJvru3To7eKtjZTHj7LBY+SfSjFVEI4MPYNmV
   JLC3ejyvDepJHTfxVeNhv2rQnPXBUFo0YAp4GA5/YCmTorNSaEqCvSocJ
   BGzYMVO2VMS09rRv257X2abEG5fLB81t7kvgmvQcVXuwY4t5Ic/t2erbn
   HWj9LIT6kyTcZ7qc3HfjqK4TD+5IoQoILhgUR/Y/2ugXIFtp/z2kXELwY
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532281"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532281"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730118"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730118"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 27/41] hw/core/slot: Introduce CPU slot as the root of CPU topology
Date: Thu, 30 Nov 2023 22:41:49 +0800
Message-Id: <20231130144203.2307629-28-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Abstract the root of topology tree as a special topology device
"cpu-slot".

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 MAINTAINERS                |  2 ++
 hw/core/cpu-slot.c         | 48 ++++++++++++++++++++++++++++++++++++++
 hw/core/meson.build        |  1 +
 include/hw/core/cpu-slot.h | 38 ++++++++++++++++++++++++++++++
 4 files changed, 89 insertions(+)
 create mode 100644 hw/core/cpu-slot.c
 create mode 100644 include/hw/core/cpu-slot.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 4b373ff46ce3..ac08b5a8c4e0 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1856,6 +1856,7 @@ R: Philippe Mathieu-Daudé <philmd@linaro.org>
 R: Yanan Wang <wangyanan55@huawei.com>
 S: Supported
 F: hw/core/cpu.c
+F: hw/core/cpu-slot.c
 F: hw/core/cpu-topo.c
 F: hw/core/machine-qmp-cmds.c
 F: hw/core/machine.c
@@ -1872,6 +1873,7 @@ F: qapi/machine-common.json
 F: qapi/machine-target.json
 F: include/hw/boards.h
 F: include/hw/core/cpu.h
+F: include/hw/core/cpu-slot.h
 F: include/hw/core/cpu-topo.h
 F: include/hw/cpu/book.h
 F: include/hw/cpu/cluster.h
diff --git a/hw/core/cpu-slot.c b/hw/core/cpu-slot.c
new file mode 100644
index 000000000000..5aef5b0189c2
--- /dev/null
+++ b/hw/core/cpu-slot.c
@@ -0,0 +1,48 @@
+/*
+ * CPU slot device abstraction
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#include "qemu/osdep.h"
+
+#include "hw/core/cpu-slot.h"
+
+static void cpu_slot_class_init(ObjectClass *oc, void *data)
+{
+    DeviceClass *dc = DEVICE_CLASS(oc);
+    CPUTopoClass *tc = CPU_TOPO_CLASS(oc);
+
+    set_bit(DEVICE_CATEGORY_CPU_DEF, dc->categories);
+    dc->user_creatable = false;
+
+    tc->level = CPU_TOPO_ROOT;
+}
+
+static const TypeInfo cpu_slot_type_info = {
+    .name = TYPE_CPU_SLOT,
+    .parent = TYPE_CPU_TOPO,
+    .class_init = cpu_slot_class_init,
+    .instance_size = sizeof(CPUSlot),
+};
+
+static void cpu_slot_register_types(void)
+{
+    type_register_static(&cpu_slot_type_info);
+}
+
+type_init(cpu_slot_register_types)
diff --git a/hw/core/meson.build b/hw/core/meson.build
index 501d2529697e..3347c054e162 100644
--- a/hw/core/meson.build
+++ b/hw/core/meson.build
@@ -23,6 +23,7 @@ else
 endif
 
 common_ss.add(files('cpu-common.c'))
+common_ss.add(files('cpu-slot.c'))
 common_ss.add(files('cpu-topo.c'))
 common_ss.add(files('machine-smp.c'))
 system_ss.add(when: 'CONFIG_FITLOADER', if_true: files('loader-fit.c'))
diff --git a/include/hw/core/cpu-slot.h b/include/hw/core/cpu-slot.h
new file mode 100644
index 000000000000..718c8ecaa751
--- /dev/null
+++ b/include/hw/core/cpu-slot.h
@@ -0,0 +1,38 @@
+/*
+ * CPU slot device abstraction
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#ifndef CPU_SLOT_H
+#define CPU_SLOT_H
+
+#include "hw/core/cpu-topo.h"
+#include "hw/qdev-core.h"
+
+#define TYPE_CPU_SLOT "cpu-slot"
+
+OBJECT_DECLARE_SIMPLE_TYPE(CPUSlot, CPU_SLOT)
+
+struct CPUSlot {
+    /*< private >*/
+    CPUTopoState parent_obj;
+
+    /*< public >*/
+};
+
+#endif /* CPU_SLOT_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:33 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:33 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644801.1006428 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCS-0008MB-Sh; Thu, 30 Nov 2023 14:39:32 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644801.1006428; Thu, 30 Nov 2023 14: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 1r8iCR-0008EY-Ht; Thu, 30 Nov 2023 14:39:31 +0000
Received: by outflank-mailman (input) for mailman id 644801;
 Thu, 30 Nov 2023 14: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i83-0008E0-F4
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:34:59 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a249a6b7-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:34:58 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:34:56 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:34:47 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a249a6b7-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354898; x=1732890898;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=FbB6vbX6bR4dqU1fCV07ghJ+c5nYYHlqh35CAqrTsmY=;
  b=C6X5Ftzjr3qufornHD4QbhdH7yYB2zNkz92LccZnSp/zG+x5Cd5K8fcK
   aauMozS+22014MvJT1xgtBLA6uV4OXfX3iNajd4vTsBMT0C2/I+IDRCLm
   XHSAL13j1AU3htiWxQc57GwHbCcr2/Oa/ZFi+V5OYPW0pqMJooMN/zsaq
   CkJb5RG0E4WMcKcH1mgFGaIAkenfMdN5jyYsghmOmtH2HNISnhveE/tPt
   ykoBQeEwgYjXzHep2f0x0qqQ8i4YEvQJSwNUc2WDC/G7y6CBZzpyty4GP
   mZFJwhtHyZ1m8qwSFagEDgmn97wc6vhicEPlaaa4jFyF8yUxbMLqCYFNH
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532308"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532308"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730130"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730130"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 28/41] hw/core/slot: Maintain the core queue in CPU slot
Date: Thu, 30 Nov 2023 22:41:50 +0800
Message-Id: <20231130144203.2307629-29-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Maintain the cores queue at cpu-slot to facilitate direct traversal
of all cores.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-slot.c         | 43 ++++++++++++++++++++++++++++++++++++++
 include/hw/core/cpu-slot.h |  9 ++++++++
 include/hw/cpu/core.h      |  2 ++
 3 files changed, 54 insertions(+)

diff --git a/hw/core/cpu-slot.c b/hw/core/cpu-slot.c
index 5aef5b0189c2..a6b7d98dea18 100644
--- a/hw/core/cpu-slot.c
+++ b/hw/core/cpu-slot.c
@@ -22,6 +22,40 @@
 
 #include "hw/core/cpu-slot.h"
 
+static void cpu_slot_add_topo_info(CPUTopoState *root, CPUTopoState *child)
+{
+    CPUSlot *slot = CPU_SLOT(root);
+    CPUTopoLevel level = CPU_TOPO_LEVEL(child);
+
+    if (level == CPU_TOPO_CORE) {
+        QTAILQ_INSERT_TAIL(&slot->cores, CPU_CORE(child), node);
+    }
+    return;
+}
+
+static void cpu_slot_del_topo_info(CPUTopoState *root, CPUTopoState *child)
+{
+    CPUSlot *slot = CPU_SLOT(root);
+    CPUTopoLevel level = CPU_TOPO_LEVEL(child);
+
+    if (level == CPU_TOPO_CORE) {
+        QTAILQ_REMOVE(&slot->cores, CPU_CORE(child), node);
+    }
+    return;
+}
+
+static void cpu_slot_update_topo_info(CPUTopoState *root, CPUTopoState *child,
+                                      bool is_realize)
+{
+    g_assert(child->parent);
+
+    if (is_realize) {
+        cpu_slot_add_topo_info(root, child);
+    } else {
+        cpu_slot_del_topo_info(root, child);
+    }
+}
+
 static void cpu_slot_class_init(ObjectClass *oc, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(oc);
@@ -31,12 +65,21 @@ static void cpu_slot_class_init(ObjectClass *oc, void *data)
     dc->user_creatable = false;
 
     tc->level = CPU_TOPO_ROOT;
+    tc->update_topo_info = cpu_slot_update_topo_info;
+}
+
+static void cpu_slot_instance_init(Object *obj)
+{
+    CPUSlot *slot = CPU_SLOT(obj);
+
+    QTAILQ_INIT(&slot->cores);
 }
 
 static const TypeInfo cpu_slot_type_info = {
     .name = TYPE_CPU_SLOT,
     .parent = TYPE_CPU_TOPO,
     .class_init = cpu_slot_class_init,
+    .instance_init = cpu_slot_instance_init,
     .instance_size = sizeof(CPUSlot),
 };
 
diff --git a/include/hw/core/cpu-slot.h b/include/hw/core/cpu-slot.h
index 718c8ecaa751..d2a1160562be 100644
--- a/include/hw/core/cpu-slot.h
+++ b/include/hw/core/cpu-slot.h
@@ -22,17 +22,26 @@
 #define CPU_SLOT_H
 
 #include "hw/core/cpu-topo.h"
+#include "hw/cpu/core.h"
 #include "hw/qdev-core.h"
 
 #define TYPE_CPU_SLOT "cpu-slot"
 
 OBJECT_DECLARE_SIMPLE_TYPE(CPUSlot, CPU_SLOT)
 
+/**
+ * CPUSlot:
+ * @cores: Queue consisting of all the cores in the topology tree
+ *     where the cpu-slot is the root. cpu-slot can maintain similar
+ *     queues for other topology levels to facilitate traversal
+ *     when necessary.
+ */
 struct CPUSlot {
     /*< private >*/
     CPUTopoState parent_obj;
 
     /*< public >*/
+    QTAILQ_HEAD(, CPUCore) cores;
 };
 
 #endif /* CPU_SLOT_H */
diff --git a/include/hw/cpu/core.h b/include/hw/cpu/core.h
index 591240861efb..65dc10931190 100644
--- a/include/hw/cpu/core.h
+++ b/include/hw/cpu/core.h
@@ -40,6 +40,8 @@ struct CPUCore {
      * "-device"/"device_add"?
      */
     int plugged_threads;
+
+    QTAILQ_ENTRY(CPUCore) node;
 };
 
 #endif
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:35 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:35 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644803.1006435 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCU-0000JU-TD; Thu, 30 Nov 2023 14:39:34 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644803.1006435; Thu, 30 Nov 2023 14:39: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 1r8iCT-0000D7-Er; Thu, 30 Nov 2023 14:39:33 +0000
Received: by outflank-mailman (input) for mailman id 644803;
 Thu, 30 Nov 2023 14: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i8C-0008E0-Vg
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:35:08 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id a7d88ddb-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:35:08 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:35:05 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:34:56 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: a7d88ddb-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354908; x=1732890908;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=3aKtyhn4HEa/g5VVCwXVJ9czPMzUH1bTJvhs1x/p4jk=;
  b=ieFe+1UVXlIIJXNKd/9MWm4Gc6rcYToj1iYhCzXmPwn5QLhNydPUvpMh
   j1H9ACEAhWd8dnLFZv2iYlNMbrEhesI8pEvXUaWI9YWf41U/uru7TdUaj
   FvQesVheSpJoPElFhGSq34EjSgokWyjBOMhpUS0yxg1QYrpS+unE71YCT
   N5I94aGRNCVRixca+6Qh8LMGXMiZRFrnHiI5llM5/hw9wxd8U0v5Cs1Ty
   mItLO9qeNMzJ4mI0j5LXkIFpC9Wbxa/AMOebsNB9TWz7OBj7iyHtKivdd
   7CVCI5P2nil+Wt3TkE356S/kqiybNbMoumT4CX1b0BY5DJyeXfiWUUS5n
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532332"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532332"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730181"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730181"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 29/41] hw/core/slot: Statistics topology information in CPU slot
Date: Thu, 30 Nov 2023 22:41:51 +0800
Message-Id: <20231130144203.2307629-30-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

The CPU slot, as the root of the topology tree, is responsible for
global topology information collection and updates.

When a new topology device is added to/deleted from the topology tree,
update the corresponding information in the slot.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-slot.c         | 41 +++++++++++++++++++++++++++++++++++-
 include/hw/core/cpu-slot.h | 43 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 83 insertions(+), 1 deletion(-)

diff --git a/hw/core/cpu-slot.c b/hw/core/cpu-slot.c
index a6b7d98dea18..e8e6f4d25532 100644
--- a/hw/core/cpu-slot.c
+++ b/hw/core/cpu-slot.c
@@ -22,14 +22,44 @@
 
 #include "hw/core/cpu-slot.h"
 
+static inline
+CPUTopoStatEntry *get_topo_stat_entry(CPUTopoStat *stat,
+                                      CPUTopoLevel level)
+{
+    assert(level != CPU_TOPO_UNKNOWN);
+
+    return &stat->entries[TOPO_STAT_ENTRY_IDX(level)];
+}
+
 static void cpu_slot_add_topo_info(CPUTopoState *root, CPUTopoState *child)
 {
     CPUSlot *slot = CPU_SLOT(root);
     CPUTopoLevel level = CPU_TOPO_LEVEL(child);
+    CPUTopoStatEntry *entry;
 
     if (level == CPU_TOPO_CORE) {
-        QTAILQ_INSERT_TAIL(&slot->cores, CPU_CORE(child), node);
+        CPUCore *core = CPU_CORE(child);
+        CPUTopoStatEntry *thread_entry;
+
+        QTAILQ_INSERT_TAIL(&slot->cores, core, node);
+
+        /* Max CPUs per core is pre-configured by "nr-threads". */
+        slot->stat.max_cpus += core->nr_threads;
+        slot->stat.pre_plugged_cpus += core->plugged_threads;
+
+        thread_entry = get_topo_stat_entry(&slot->stat, CPU_TOPO_THREAD);
+        if (child->max_children > thread_entry->max_units) {
+            thread_entry->max_units = child->max_children;
+        }
     }
+
+    entry = get_topo_stat_entry(&slot->stat, level);
+    entry->total_units++;
+    if (child->parent->num_children > entry->max_units) {
+        entry->max_units = child->parent->num_children;
+    }
+
+    set_bit(level, slot->stat.curr_levels);
     return;
 }
 
@@ -37,10 +67,18 @@ static void cpu_slot_del_topo_info(CPUTopoState *root, CPUTopoState *child)
 {
     CPUSlot *slot = CPU_SLOT(root);
     CPUTopoLevel level = CPU_TOPO_LEVEL(child);
+    CPUTopoStatEntry *entry;
+
+    assert(level != CPU_TOPO_UNKNOWN);
 
     if (level == CPU_TOPO_CORE) {
         QTAILQ_REMOVE(&slot->cores, CPU_CORE(child), node);
     }
+
+    entry = get_topo_stat_entry(&slot->stat, level);
+    entry->total_units--;
+
+    /* No need to update entries[*].max_units and curr_levels. */
     return;
 }
 
@@ -73,6 +111,7 @@ static void cpu_slot_instance_init(Object *obj)
     CPUSlot *slot = CPU_SLOT(obj);
 
     QTAILQ_INIT(&slot->cores);
+    set_bit(CPU_TOPO_ROOT, slot->stat.curr_levels);
 }
 
 static const TypeInfo cpu_slot_type_info = {
diff --git a/include/hw/core/cpu-slot.h b/include/hw/core/cpu-slot.h
index d2a1160562be..fa2bd4af247d 100644
--- a/include/hw/core/cpu-slot.h
+++ b/include/hw/core/cpu-slot.h
@@ -25,6 +25,47 @@
 #include "hw/cpu/core.h"
 #include "hw/qdev-core.h"
 
+/**
+ * @USER_AVAIL_LEVEL_NUM: the number of total topology levels in topology
+ *                        bitmap, which includes CPU_TOPO_UNKNOWN.
+ */
+#define USER_AVAIL_LEVEL_NUM (CPU_TOPO_ROOT + 1)
+
+/**
+ * @VALID_LEVEL_NUM: the number of valid topology levels, which excludes
+ *                   CPU_TOPO_UNKNOWN and CPU_TOPO_ROOT.
+ */
+#define VALID_LEVEL_NUM (CPU_TOPO_ROOT - 1)
+
+#define TOPO_STAT_ENTRY_IDX(level) ((level) - 1)
+
+/**
+ * CPUTopoStatEntry:
+ * @total: Total number of topological units at the same level that are
+ *         currently inserted in CPU slot
+ * @max: Maximum number of topological units at the same level under the
+ *       parent topolofical container
+ */
+typedef struct CPUTopoStatEntry {
+    unsigned int total_units;
+    unsigned int max_units;
+} CPUTopoStatEntry;
+
+/**
+ * CPUTopoStat:
+ * @max_cpus: Maximum number of CPUs in CPU slot.
+ * @pre_plugged_cpus: Number of pre-plugged CPUs in CPU slot.
+ * @entries: Detail count information for valid topology levels under
+ *           CPU slot
+ * @curr_levels: Current CPU topology levels inserted in CPU slot
+ */
+typedef struct CPUTopoStat {
+    unsigned int max_cpus;
+    unsigned int pre_plugged_cpus;
+    CPUTopoStatEntry entries[VALID_LEVEL_NUM];
+    DECLARE_BITMAP(curr_levels, USER_AVAIL_LEVEL_NUM);
+} CPUTopoStat;
+
 #define TYPE_CPU_SLOT "cpu-slot"
 
 OBJECT_DECLARE_SIMPLE_TYPE(CPUSlot, CPU_SLOT)
@@ -35,6 +76,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(CPUSlot, CPU_SLOT)
  *     where the cpu-slot is the root. cpu-slot can maintain similar
  *     queues for other topology levels to facilitate traversal
  *     when necessary.
+ * @stat: Statistical topology information for topology tree.
  */
 struct CPUSlot {
     /*< private >*/
@@ -42,6 +84,7 @@ struct CPUSlot {
 
     /*< public >*/
     QTAILQ_HEAD(, CPUCore) cores;
+    CPUTopoStat stat;
 };
 
 #endif /* CPU_SLOT_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644805.1006445 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCX-0000jp-5c; Thu, 30 Nov 2023 14:39:37 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644805.1006445; Thu, 30 Nov 2023 14: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 1r8iCV-0000ad-Je; Thu, 30 Nov 2023 14:39:35 +0000
Received: by outflank-mailman (input) for mailman id 644805;
 Thu, 30 Nov 2023 14:35: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i8M-0008E0-OW
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:35:18 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id adbced87-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:35:17 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:35:15 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:35:05 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adbced87-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354918; x=1732890918;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=HnOAO3NMx1dRMWQIeSpDRtg/0be+6N1pOpK/5nWbTXE=;
  b=d268OJrANGzjW2nqH1XFWmwdpbNdCZko7vWPvFJL19cQ2a4XcmR5HmBz
   bQ16DFdRGPys+DG4q484GIqZQjabSQx+oPeMvdwZIqCCcZ1VnU4d6lUti
   mirTFqJBb8zFoqlN2bohwlxc9REIlhMxwsKtK/Alp9od/MafNAIMSho07
   +FrrJKopuXuXeNq92OReh6z91Tb7JEGF3lsAU0qtEGwvNJAUtM7zbZ12U
   pYedlmcCmB3R2+c3OlwLrnR6MXaS2qIQ4ubABOUJ1OJxBTC1MJuwM+hs9
   1IIWWAOlcdbs//CIso2ND5v25WHXHXSxDuXtQAh/lWQfTieYLAbseG8n2
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532381"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532381"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730225"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730225"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 30/41] hw/core/slot: Check topology child to be added under CPU slot
Date: Thu, 30 Nov 2023 22:41:52 +0800
Message-Id: <20231130144203.2307629-31-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Implement CPUTopoClass.check_topo_child() in cpu-slot to be compatible
with the limitations of the current smp topology.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-slot.c         | 37 +++++++++++++++++++++++++++++++++++++
 hw/core/cpu-topo.c         |  2 +-
 include/hw/core/cpu-slot.h |  2 ++
 include/hw/core/cpu-topo.h |  1 +
 4 files changed, 41 insertions(+), 1 deletion(-)

diff --git a/hw/core/cpu-slot.c b/hw/core/cpu-slot.c
index e8e6f4d25532..2a796ad5b6e7 100644
--- a/hw/core/cpu-slot.c
+++ b/hw/core/cpu-slot.c
@@ -21,6 +21,7 @@
 #include "qemu/osdep.h"
 
 #include "hw/core/cpu-slot.h"
+#include "qapi/error.h"
 
 static inline
 CPUTopoStatEntry *get_topo_stat_entry(CPUTopoStat *stat,
@@ -94,6 +95,37 @@ static void cpu_slot_update_topo_info(CPUTopoState *root, CPUTopoState *child,
     }
 }
 
+static void cpu_slot_check_topo_support(CPUTopoState *root, CPUTopoState *child,
+                                        Error **errp)
+{
+    CPUSlot *slot = CPU_SLOT(root);
+    CPUTopoLevel child_level = CPU_TOPO_LEVEL(child);
+
+    if (!test_bit(child_level, slot->supported_levels)) {
+        error_setg(errp, "cpu topo: the level %s is not supported",
+                   cpu_topo_level_to_string(child_level));
+        return;
+    }
+
+    /*
+     * Currently we doesn't support hybrid topology. For SMP topology,
+     * each child under the same parent are same type.
+     */
+    if (child->parent->num_children) {
+        CPUTopoState *sibling = QTAILQ_FIRST(&child->parent->children);
+        const char *sibling_type = object_get_typename(OBJECT(sibling));
+        const char *child_type = object_get_typename(OBJECT(child));
+
+        if (strcmp(sibling_type, child_type)) {
+            error_setg(errp, "Invalid smp topology: different CPU "
+                       "topology types (%s child vs %s sibling) "
+                       "under the same parent (%s).",
+                       child_type, sibling_type,
+                       object_get_typename(OBJECT(child->parent)));
+        }
+    }
+}
+
 static void cpu_slot_class_init(ObjectClass *oc, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(oc);
@@ -104,6 +136,7 @@ static void cpu_slot_class_init(ObjectClass *oc, void *data)
 
     tc->level = CPU_TOPO_ROOT;
     tc->update_topo_info = cpu_slot_update_topo_info;
+    tc->check_topo_child = cpu_slot_check_topo_support;
 }
 
 static void cpu_slot_instance_init(Object *obj)
@@ -112,6 +145,10 @@ static void cpu_slot_instance_init(Object *obj)
 
     QTAILQ_INIT(&slot->cores);
     set_bit(CPU_TOPO_ROOT, slot->stat.curr_levels);
+
+    /* Set all levels by default. */
+    bitmap_fill(slot->supported_levels, USER_AVAIL_LEVEL_NUM);
+    clear_bit(CPU_TOPO_UNKNOWN, slot->supported_levels);
 }
 
 static const TypeInfo cpu_slot_type_info = {
diff --git a/hw/core/cpu-topo.c b/hw/core/cpu-topo.c
index 687a4cc566ec..351112ca7a73 100644
--- a/hw/core/cpu-topo.c
+++ b/hw/core/cpu-topo.c
@@ -24,7 +24,7 @@
 #include "hw/qdev-properties.h"
 #include "qapi/error.h"
 
-static const char *cpu_topo_level_to_string(CPUTopoLevel level)
+const char *cpu_topo_level_to_string(CPUTopoLevel level)
 {
     switch (level) {
     case CPU_TOPO_UNKNOWN:
diff --git a/include/hw/core/cpu-slot.h b/include/hw/core/cpu-slot.h
index fa2bd4af247d..7bf51988afb3 100644
--- a/include/hw/core/cpu-slot.h
+++ b/include/hw/core/cpu-slot.h
@@ -77,6 +77,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(CPUSlot, CPU_SLOT)
  *     queues for other topology levels to facilitate traversal
  *     when necessary.
  * @stat: Statistical topology information for topology tree.
+ * @supported_levels: Supported topology levels for topology tree.
  */
 struct CPUSlot {
     /*< private >*/
@@ -85,6 +86,7 @@ struct CPUSlot {
     /*< public >*/
     QTAILQ_HEAD(, CPUCore) cores;
     CPUTopoStat stat;
+    DECLARE_BITMAP(supported_levels, USER_AVAIL_LEVEL_NUM);
 };
 
 #endif /* CPU_SLOT_H */
diff --git a/include/hw/core/cpu-topo.h b/include/hw/core/cpu-topo.h
index 453bacbb558b..d27da0335c42 100644
--- a/include/hw/core/cpu-topo.h
+++ b/include/hw/core/cpu-topo.h
@@ -102,5 +102,6 @@ int cpu_topo_child_foreach(CPUTopoState *topo, unsigned long *levels,
 int cpu_topo_child_foreach_recursive(CPUTopoState *topo,
                                      unsigned long *levels,
                                      topo_fn fn, void *opaque);
+const char *cpu_topo_level_to_string(CPUTopoLevel level);
 
 #endif /* CPU_TOPO_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:40 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:40 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644813.1006457 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCZ-0001KX-M5; Thu, 30 Nov 2023 14:39:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644813.1006457; Thu, 30 Nov 2023 14: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 1r8iCY-0001Cp-2Q; Thu, 30 Nov 2023 14:39:38 +0000
Received: by outflank-mailman (input) for mailman id 644813;
 Thu, 30 Nov 2023 14:35: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i8V-0008E0-KQ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:35:27 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b316c244-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:35:26 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:35:24 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:35:15 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b316c244-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354926; x=1732890926;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=f8dzVIiaV15FUJhTAcShJBTihquI/MGo+GvFSgqbGOs=;
  b=KBVmNrXf0jr/ocJ1dMv3RJ4GeezN/D1eOKUOAgMQZ1Jl6FYopYQeIRxi
   XsBFeRkWisBCNVLQQhXtMSbB3sV0GsjnOuu5HDfDnTl+YsIm5/UZ2Ncja
   WclvS8zR2OYRvSnpnrKctAMdrVh9nDeoJskszWRK8u5gHXuKupjyw1AzT
   zPVCPvr8R/LXVutPUuMC6DPYn0mVwg409xoOLsAw+KM1adhPJDUmJsmEP
   91CCfmOYJzueKsA0RuVyC+dnp8dsg9qxxeNAIpKjLwpb1k2FXu8ndCZxO
   po350qESlE6zwIE+ujasntYj24hovTMWQsTmq3l9bwIJc8rwxnmT9w/Oh
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532402"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532402"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730271"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730271"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 31/41] hw/machine: Plug cpu-slot into machine to maintain topology tree
Date: Thu, 30 Nov 2023 22:41:53 +0800
Message-Id: <20231130144203.2307629-32-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Add a cpu-slot in machine as the root of topology tree to maintain the
QOM topology.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-slot.c         | 31 +++++++++++++++++++++++++++++++
 include/hw/boards.h        |  2 ++
 include/hw/core/cpu-slot.h |  7 +++++++
 system/vl.c                |  2 ++
 4 files changed, 42 insertions(+)

diff --git a/hw/core/cpu-slot.c b/hw/core/cpu-slot.c
index 2a796ad5b6e7..4b148440ed3d 100644
--- a/hw/core/cpu-slot.c
+++ b/hw/core/cpu-slot.c
@@ -20,6 +20,7 @@
 
 #include "qemu/osdep.h"
 
+#include "hw/boards.h"
 #include "hw/core/cpu-slot.h"
 #include "qapi/error.h"
 
@@ -165,3 +166,33 @@ static void cpu_slot_register_types(void)
 }
 
 type_init(cpu_slot_register_types)
+
+void machine_plug_cpu_slot(MachineState *ms)
+{
+    MachineClass *mc = MACHINE_GET_CLASS(ms);
+
+    ms->topo = CPU_SLOT(qdev_new(TYPE_CPU_SLOT));
+
+    object_property_add_child(container_get(OBJECT(ms), "/peripheral"),
+                              "cpu-slot", OBJECT(ms->topo));
+    DEVICE(ms->topo)->id = g_strdup_printf("%s", "cpu-slot");
+
+    qdev_realize_and_unref(DEVICE(ms->topo), NULL, &error_abort);
+    ms->topo->ms = ms;
+
+    if (!mc->smp_props.clusters_supported) {
+        clear_bit(CPU_TOPO_CLUSTER, ms->topo->supported_levels);
+    }
+
+    if (!mc->smp_props.dies_supported) {
+        clear_bit(CPU_TOPO_DIE, ms->topo->supported_levels);
+    }
+
+    if (!mc->smp_props.books_supported) {
+        clear_bit(CPU_TOPO_BOOK, ms->topo->supported_levels);
+    }
+
+    if (!mc->smp_props.drawers_supported) {
+        clear_bit(CPU_TOPO_DRAWER, ms->topo->supported_levels);
+    }
+}
diff --git a/include/hw/boards.h b/include/hw/boards.h
index da85f86efb91..81a7b04ece86 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -10,6 +10,7 @@
 #include "qemu/module.h"
 #include "qom/object.h"
 #include "hw/core/cpu.h"
+#include "hw/core/cpu-slot.h"
 
 #define TYPE_MACHINE_SUFFIX "-machine"
 
@@ -398,6 +399,7 @@ struct MachineState {
     AccelState *accelerator;
     CPUArchIdList *possible_cpus;
     CpuTopology smp;
+    CPUSlot *topo;
     struct NVDIMMState *nvdimms_state;
     struct NumaState *numa_state;
 };
diff --git a/include/hw/core/cpu-slot.h b/include/hw/core/cpu-slot.h
index 7bf51988afb3..1361af4ccfc0 100644
--- a/include/hw/core/cpu-slot.h
+++ b/include/hw/core/cpu-slot.h
@@ -78,6 +78,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(CPUSlot, CPU_SLOT)
  *     when necessary.
  * @stat: Statistical topology information for topology tree.
  * @supported_levels: Supported topology levels for topology tree.
+ * @ms: Machine in which this cpu-slot is plugged.
  */
 struct CPUSlot {
     /*< private >*/
@@ -87,6 +88,12 @@ struct CPUSlot {
     QTAILQ_HEAD(, CPUCore) cores;
     CPUTopoStat stat;
     DECLARE_BITMAP(supported_levels, USER_AVAIL_LEVEL_NUM);
+    MachineState *ms;
 };
 
+#define MACHINE_CORE_FOREACH(ms, core) \
+    QTAILQ_FOREACH((core), &(ms)->topo->cores, node)
+
+void machine_plug_cpu_slot(MachineState *ms);
+
 #endif /* CPU_SLOT_H */
diff --git a/system/vl.c b/system/vl.c
index 65add2fb2460..637f708d2265 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -2128,6 +2128,8 @@ static void qemu_create_machine(QDict *qdict)
                                           false, &error_abort);
         qobject_unref(default_opts);
     }
+
+    machine_plug_cpu_slot(current_machine);
 }
 
 static int global_init_func(void *opaque, QemuOpts *opts, Error **errp)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:42 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:42 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644815.1006466 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCb-0001mS-Ex; Thu, 30 Nov 2023 14:39:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644815.1006466; Thu, 30 Nov 2023 14:39: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 1r8iCZ-0001cB-Q3; Thu, 30 Nov 2023 14:39:39 +0000
Received: by outflank-mailman (input) for mailman id 644815;
 Thu, 30 Nov 2023 14:35: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i8h-0008E0-Ay
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:35:39 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b9e73598-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:35:38 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:35:35 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:35:24 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b9e73598-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354938; x=1732890938;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=ONngA8TQ7iwdQG2PpHP3CY/JQBJI2+erv4AqH9RU4Wo=;
  b=nqwwSCIQi8K1+kPfijeZWhrzWsilvb2fmB2dK7Mygjl0LIui/pkQW3Gz
   ij6bbJZ73MwytHIzte0w70wLlx2wh0xSmuJCC0tCZSjmTB6gy8yGRpd6/
   WT+UC6xN4AnOZ95iELXQq0lXdfhMKIKAeWzrQkTLBeMGk3FbnxSKjH4mG
   zIpKns+LsXHneXZcHGvJogUJSuXXpxKYI9LIFuuNNbNI4vDzyRIIdWEva
   2QIXRh0m5V+9HvJ91+/lZhZmPj1q5sIio6RfT+VRR9eLV3NxeS9Nv/wH2
   3TtS2j7GqK5OeeURR2gSsQix4CO0XzafwKmu3MXqw9EqrsEsk1Pit861i
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532446"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532446"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730298"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730298"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 32/41] hw/machine: Build smp topology tree from -smp
Date: Thu, 30 Nov 2023 22:41:54 +0800
Message-Id: <20231130144203.2307629-33-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

For the architecture supports QOM topology (the field
MachineClass.possible_cpus_qom_granu is set), implement smp QOM topology
tree from MachineState.smp.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-slot.c         | 217 +++++++++++++++++++++++++++++++++++++
 hw/core/machine-smp.c      |   9 ++
 hw/cpu/core.c              |   1 -
 include/hw/boards.h        |  11 ++
 include/hw/core/cpu-slot.h |   5 +
 tests/unit/meson.build     |   5 +-
 6 files changed, 246 insertions(+), 2 deletions(-)

diff --git a/hw/core/cpu-slot.c b/hw/core/cpu-slot.c
index 4b148440ed3d..ade155baf60b 100644
--- a/hw/core/cpu-slot.c
+++ b/hw/core/cpu-slot.c
@@ -22,6 +22,11 @@
 
 #include "hw/boards.h"
 #include "hw/core/cpu-slot.h"
+#include "hw/cpu/book.h"
+#include "hw/cpu/cluster.h"
+#include "hw/cpu/die.h"
+#include "hw/cpu/drawer.h"
+#include "hw/cpu/socket.h"
 #include "qapi/error.h"
 
 static inline
@@ -196,3 +201,215 @@ void machine_plug_cpu_slot(MachineState *ms)
         clear_bit(CPU_TOPO_DRAWER, ms->topo->supported_levels);
     }
 }
+
+static unsigned int *get_smp_info_by_level(CpuTopology *smp_info,
+                                           CPUTopoLevel child_level)
+{
+    switch (child_level) {
+    case CPU_TOPO_THREAD:
+        return &smp_info->threads;
+    case CPU_TOPO_CORE:
+        return &smp_info->cores;
+    case CPU_TOPO_CLUSTER:
+        return &smp_info->clusters;
+    case CPU_TOPO_DIE:
+        return &smp_info->dies;
+    case CPU_TOPO_SOCKET:
+        return &smp_info->sockets;
+    case CPU_TOPO_BOOK:
+        return &smp_info->books;
+    case CPU_TOPO_DRAWER:
+        return &smp_info->drawers;
+    default:
+        /* No need to consider CPU_TOPO_UNKNOWN, and CPU_TOPO_ROOT. */
+        g_assert_not_reached();
+    }
+
+    return NULL;
+}
+
+static const char *get_topo_typename_by_level(CPUTopoLevel level)
+{
+    switch (level) {
+    case CPU_TOPO_CORE:
+        return TYPE_CPU_CORE;
+    case CPU_TOPO_CLUSTER:
+        return TYPE_CPU_CLUSTER;
+    case CPU_TOPO_DIE:
+        return TYPE_CPU_DIE;
+    case CPU_TOPO_SOCKET:
+        return TYPE_CPU_SOCKET;
+    case CPU_TOPO_BOOK:
+        return TYPE_CPU_BOOK;
+    case CPU_TOPO_DRAWER:
+        return TYPE_CPU_DRAWER;
+    default:
+        /*
+         * No need to consider CPU_TOPO_UNKNOWN, CPU_TOPO_THREAD
+         * and CPU_TOPO_ROOT.
+         */
+        g_assert_not_reached();
+    }
+
+    return NULL;
+}
+
+static char *get_topo_global_name(CPUTopoStat *stat,
+                                  CPUTopoLevel level)
+{
+    const char *type = NULL;
+    CPUTopoStatEntry *entry;
+
+    type = cpu_topo_level_to_string(level);
+    entry = get_topo_stat_entry(stat, level);
+    return g_strdup_printf("%s[%d]", type, entry->total_units);
+}
+
+typedef struct SMPBuildCbData {
+    unsigned long *supported_levels;
+    unsigned int plugged_cpus;
+    CpuTopology *smp_info;
+    CPUTopoStat *stat;
+    Error **errp;
+} SMPBuildCbData;
+
+static int smp_core_set_threads(Object *core, unsigned int max_threads,
+                                unsigned int *plugged_cpus, Error **errp)
+{
+    if (!object_property_set_int(core, "nr-threads", max_threads, errp)) {
+        object_unref(core);
+        return TOPO_FOREACH_ERR;
+    }
+
+    if (*plugged_cpus > max_threads) {
+        if (!object_property_set_int(core, "plugged-threads",
+                                     max_threads, errp)) {
+            object_unref(core);
+            return TOPO_FOREACH_ERR;
+        }
+        *plugged_cpus -= max_threads;
+    } else{
+        if (!object_property_set_int(core, "plugged-threads",
+                                     *plugged_cpus, errp)) {
+            object_unref(core);
+            return TOPO_FOREACH_ERR;
+        }
+        *plugged_cpus = 0;
+    }
+
+    return TOPO_FOREACH_CONTINUE;
+}
+
+static int add_smp_topo_child(CPUTopoState *topo, void *opaque)
+{
+    CPUTopoLevel level, child_level;
+    Object *parent = OBJECT(topo);
+    SMPBuildCbData *cb = opaque;
+    unsigned int *nr_children;
+    Error **errp = cb->errp;
+
+    level = CPU_TOPO_LEVEL(topo);
+    child_level = find_last_bit(cb->supported_levels, level);
+
+    /*
+     * child_level equals to level, that means no child needs to create.
+     * This shouldn't happen.
+     */
+    g_assert(child_level != level);
+
+    nr_children = get_smp_info_by_level(cb->smp_info, child_level);
+    topo->max_children = *nr_children;
+
+    for (int i = 0; i < topo->max_children; i++) {
+        ObjectProperty *prop;
+        Object *child;
+        gchar *name;
+
+        child = object_new(get_topo_typename_by_level(child_level));
+        name = get_topo_global_name(cb->stat, child_level);
+
+        prop = object_property_try_add_child(parent, name, child, errp);
+        g_free(name);
+        if (!prop) {
+            return TOPO_FOREACH_ERR;
+        }
+
+        if (child_level == CPU_TOPO_CORE) {
+            int ret = smp_core_set_threads(child, cb->smp_info->threads,
+                                           &cb->plugged_cpus, errp);
+
+            if (ret == TOPO_FOREACH_ERR) {
+                return ret;
+            }
+        }
+
+        qdev_realize(DEVICE(child), NULL, errp);
+        if (*errp) {
+            return TOPO_FOREACH_ERR;
+        }
+    }
+
+    return TOPO_FOREACH_CONTINUE;
+}
+
+void machine_create_smp_topo_tree(MachineState *ms, Error **errp)
+{
+    DECLARE_BITMAP(foreach_bitmap, USER_AVAIL_LEVEL_NUM);
+    MachineClass *mc = MACHINE_GET_CLASS(ms);
+    CPUSlot *slot = ms->topo;
+    SMPBuildCbData cb;
+
+    if (!slot) {
+        error_setg(errp, "Invalid machine: "
+                   "the cpu-slot of machine is not initialized.");
+        return;
+    }
+
+    if (mc->smp_props.possible_cpus_qom_granu != CPU_TOPO_CORE &&
+        mc->smp_props.possible_cpus_qom_granu != CPU_TOPO_THREAD) {
+        error_setg(errp, "Invalid machine: Only support building "
+                   "qom smp topology with core/thread granularity. "
+                   "Not support %s granularity.",
+                   cpu_topo_level_to_string(
+                       mc->smp_props.possible_cpus_qom_granu));
+        return;
+    }
+
+    cb.supported_levels = slot->supported_levels;
+    cb.plugged_cpus = ms->smp.cpus;
+    cb.smp_info = &ms->smp;
+    cb.stat = &slot->stat;
+    cb.errp = errp;
+
+    if (add_smp_topo_child(CPU_TOPO(slot), &cb) < 0) {
+        return;
+    }
+
+    bitmap_copy(foreach_bitmap, slot->supported_levels, USER_AVAIL_LEVEL_NUM);
+
+    /*
+     * Don't create threads from -smp, and just record threads
+     * number in core.
+     */
+    clear_bit(CPU_TOPO_CORE, foreach_bitmap);
+    clear_bit(CPU_TOPO_THREAD, foreach_bitmap);
+
+    /*
+     * If the core level is inserted by hotplug way, don't create cores
+     * from -smp ethier.
+     */
+    if (mc->smp_props.possible_cpus_qom_granu == CPU_TOPO_CORE) {
+        CPUTopoLevel next_level;
+
+        next_level = find_next_bit(foreach_bitmap, USER_AVAIL_LEVEL_NUM,
+                                   CPU_TOPO_CORE + 1);
+        clear_bit(next_level, foreach_bitmap);
+    }
+
+    cpu_topo_child_foreach_recursive(CPU_TOPO(slot), foreach_bitmap,
+                                     add_smp_topo_child, &cb);
+    if (*errp) {
+        return;
+    }
+    slot->smp_parsed = true;
+}
diff --git a/hw/core/machine-smp.c b/hw/core/machine-smp.c
index 25019c91ee36..a0d091b23b97 100644
--- a/hw/core/machine-smp.c
+++ b/hw/core/machine-smp.c
@@ -19,6 +19,7 @@
 
 #include "qemu/osdep.h"
 #include "hw/boards.h"
+#include "hw/core/cpu-slot.h"
 #include "qapi/error.h"
 #include "qemu/error-report.h"
 
@@ -230,6 +231,14 @@ void machine_parse_smp_config(MachineState *ms,
                    mc->name, mc->max_cpus);
         return;
     }
+
+    /*
+     * TODO: drop this check and convert "smp" to QOM topology tree by
+     * default when all arches support QOM topology.
+     */
+    if (mc->smp_props.possible_cpus_qom_granu) {
+        machine_create_smp_topo_tree(ms, errp);
+    }
 }
 
 unsigned int machine_topo_get_cores_per_socket(const MachineState *ms)
diff --git a/hw/cpu/core.c b/hw/cpu/core.c
index 261b15fa8171..07100754e9d1 100644
--- a/hw/cpu/core.c
+++ b/hw/cpu/core.c
@@ -107,7 +107,6 @@ static void cpu_core_class_init(ObjectClass *oc, void *data)
 static const TypeInfo cpu_core_type_info = {
     .name = TYPE_CPU_CORE,
     .parent = TYPE_CPU_TOPO,
-    .abstract = true,
     .class_init = cpu_core_class_init,
     .class_size = sizeof(CPUCoreClass),
     .instance_size = sizeof(CPUCore),
diff --git a/include/hw/boards.h b/include/hw/boards.h
index 81a7b04ece86..88de08d98f9f 100644
--- a/include/hw/boards.h
+++ b/include/hw/boards.h
@@ -138,6 +138,11 @@ typedef struct {
  *                 provided SMP configuration
  * @books_supported - whether books are supported by the machine
  * @drawers_supported - whether drawers are supported by the machine
+ * @possible_cpus_qom_granu - the topology granularity for possible_cpus[]
+ *                            based on QOM CPU topology to plug CPUs.
+ *                            Note this flag indicates the support for QOM CPU
+ *                            topology. If QOM CPU topology is not supported,
+ *                            must set this field as CPU_TOPO_UNKNOWN.
  */
 typedef struct {
     bool prefer_sockets;
@@ -146,6 +151,7 @@ typedef struct {
     bool has_clusters;
     bool books_supported;
     bool drawers_supported;
+    CPUTopoLevel possible_cpus_qom_granu;
 } SMPCompatProps;
 
 /**
@@ -187,6 +193,9 @@ typedef struct {
  *    specifies default CPU_TYPE, which will be used for parsing target
  *    specific features and for creating CPUs if CPU name wasn't provided
  *    explicitly at CLI
+ * @default_core_tyep:
+ *    specifies default CORE_TYPE, which will be used to create default core
+ *    topology device for smp topology tree from -smp
  * @minimum_page_bits:
  *    If non-zero, the board promises never to create a CPU with a page size
  *    smaller than this, so QEMU can use a more efficient larger page
@@ -267,6 +276,7 @@ struct MachineClass {
     const char *hw_version;
     ram_addr_t default_ram_size;
     const char *default_cpu_type;
+    const char *default_core_type;
     bool default_kernel_irqchip_split;
     bool option_rom_has_mr;
     bool rom_file_has_mr;
@@ -398,6 +408,7 @@ struct MachineState {
     const char *cpu_type;
     AccelState *accelerator;
     CPUArchIdList *possible_cpus;
+    /* TODO: get rid of "smp" when all arches support QOM topology. */
     CpuTopology smp;
     CPUSlot *topo;
     struct NVDIMMState *nvdimms_state;
diff --git a/include/hw/core/cpu-slot.h b/include/hw/core/cpu-slot.h
index 1361af4ccfc0..de3d08fcb2ac 100644
--- a/include/hw/core/cpu-slot.h
+++ b/include/hw/core/cpu-slot.h
@@ -79,6 +79,9 @@ OBJECT_DECLARE_SIMPLE_TYPE(CPUSlot, CPU_SLOT)
  * @stat: Statistical topology information for topology tree.
  * @supported_levels: Supported topology levels for topology tree.
  * @ms: Machine in which this cpu-slot is plugged.
+ * @smp_parsed: Flag indicates if topology tree is derived from "-smp".
+ *      If not, MachineState.smp needs to be initialized based on
+ *      topology tree.
  */
 struct CPUSlot {
     /*< private >*/
@@ -89,11 +92,13 @@ struct CPUSlot {
     CPUTopoStat stat;
     DECLARE_BITMAP(supported_levels, USER_AVAIL_LEVEL_NUM);
     MachineState *ms;
+    bool smp_parsed;
 };
 
 #define MACHINE_CORE_FOREACH(ms, core) \
     QTAILQ_FOREACH((core), &(ms)->topo->cores, node)
 
 void machine_plug_cpu_slot(MachineState *ms);
+void machine_create_smp_topo_tree(MachineState *ms, Error **errp);
 
 #endif /* CPU_SLOT_H */
diff --git a/tests/unit/meson.build b/tests/unit/meson.build
index a05d47109040..5806dc5d813c 100644
--- a/tests/unit/meson.build
+++ b/tests/unit/meson.build
@@ -138,7 +138,10 @@ if have_system
     'test-util-sockets': ['socket-helpers.c'],
     'test-base64': [],
     'test-bufferiszero': [],
-    'test-smp-parse': [qom, meson.project_source_root() / 'hw/core/machine-smp.c'],
+    'test-smp-parse': [qom, meson.project_source_root() / 'hw/core/machine-smp.c',
+                       meson.project_source_root() / 'hw/core/cpu-slot.c',
+                       meson.project_source_root() / 'hw/core/cpu-topo.c',
+                       hwcore],
     'test-vmstate': [migration, io],
     'test-yank': ['socket-helpers.c', qom, io, chardev]
   }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:44 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:44 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644817.1006476 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCd-0002EI-9T; Thu, 30 Nov 2023 14:39:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644817.1006476; Thu, 30 Nov 2023 14:39: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 1r8iCb-00025F-NJ; Thu, 30 Nov 2023 14:39:41 +0000
Received: by outflank-mailman (input) for mailman id 644817;
 Thu, 30 Nov 2023 14:36: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i9A-0000W8-2w
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:36:08 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ca6b3264-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:36:05 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:36:03 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:35:54 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ca6b3264-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354965; x=1732890965;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=1ATU854G1+lM0AKtC/FFv0wTbLk1yiIDIW9pRjL09lQ=;
  b=CWOo8NiZSeph855JmZHll98ggBldNO0k1NR4fp4Addk1ISGRd+9w6MgV
   yYw7JTWNg37QNOW/Ahs8DQNL9YppZCGeQqcthJw4U69cBnC9ALNQyGQ0P
   EoTvkulRmLiIXr0m08O9csZ4xqGpKG3EhdK6Bk95iA1370bEWyHHeIvYh
   e94usb7HRZO8FBlJW8tA6kSv6UeIq+ayQPfN2tNQVIPtjNuoKDTvPjH+r
   A0KreWbQtYy+T3Go6V2lz8xeW+nLUMx3xZOisbSTA0xE/Qg3tkZGOKHWW
   3XVuR638qaSuG+bl62bAM+Wo5053XmxLSpT1hCPLARYg1jEEBew6WIQPw
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532572"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532572"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730346"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730346"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 35/41] hw/i386: Make x86_cpu_new() private in x86.c
Date: Thu, 30 Nov 2023 22:41:57 +0800
Message-Id: <20231130144203.2307629-36-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

x86_cpu_new() is only invoked in x86.c. Declear it as static in x86.c.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/i386/x86.c         | 3 ++-
 include/hw/i386/x86.h | 2 --
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index b3d054889bba..d9293846db64 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -95,7 +95,8 @@ uint32_t x86_cpu_apic_id_from_index(X86MachineState *x86ms,
 }
 
 
-void x86_cpu_new(X86MachineState *x86ms, int64_t apic_id, Error **errp)
+static void x86_cpu_new(X86MachineState *x86ms, int64_t apic_id,
+                        Error **errp)
 {
     Object *cpu = object_new(MACHINE(x86ms)->cpu_type);
 
diff --git a/include/hw/i386/x86.h b/include/hw/i386/x86.h
index da19ae15463a..19e9f93fe286 100644
--- a/include/hw/i386/x86.h
+++ b/include/hw/i386/x86.h
@@ -97,8 +97,6 @@ OBJECT_DECLARE_TYPE(X86MachineState, X86MachineClass, X86_MACHINE)
 
 uint32_t x86_cpu_apic_id_from_index(X86MachineState *pcms,
                                     unsigned int cpu_index);
-
-void x86_cpu_new(X86MachineState *pcms, int64_t apic_id, Error **errp);
 void x86_cpus_init(X86MachineState *pcms, int default_cpu_version);
 CpuInstanceProperties x86_cpu_index_to_props(MachineState *ms,
                                              unsigned cpu_index);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644819.1006490 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCg-0002wF-77; Thu, 30 Nov 2023 14:39:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644819.1006490; Thu, 30 Nov 2023 14: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 1r8iCe-0002jM-9i; Thu, 30 Nov 2023 14:39:44 +0000
Received: by outflank-mailman (input) for mailman id 644819;
 Thu, 30 Nov 2023 14: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i9j-0000pO-Kk
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:36:43 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id df06d535-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:36:41 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:36:16 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:36:03 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: df06d535-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701355001; x=1732891001;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=xvYlraOGB3zayUrWIK0PscKH2Ic2SrgqXJLGzTM1XXI=;
  b=nf7zfM5ep/A9Skf6dZhIHN/1tVx6PH1M90+O18AbWo7Y3X0J6Wij6e+q
   Y9KzqrlPCEtSTlHX4hf7hBwUZrpZghXFyZ8OuEVGGaHR6C83FTtFkd3Y8
   jUCnv7wmEK5AvHpfjUUsyC+5sGe54ALc1V5hy+78CDaXUohnthq37HS7w
   aMdskleeq/rrCwQZutYoh56u8uuKajlm5k4HHwKZmOoi+z6bHp103fGEq
   lclaASyZXMLDfAhVqJAfyVrblk9GrmaSRFq/nDpJD4UYJz2yOtAGI1iPR
   CBC1fZVBF0OrT8ogA5/KJsO0AFUm4RxJsUAkWJ+95se0LYCnwAZvBlWb2
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532657"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532657"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730473"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730473"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 36/41] hw/i386: Allow x86_cpu_new() to specify parent for new CPU
Date: Thu, 30 Nov 2023 22:41:58 +0800
Message-Id: <20231130144203.2307629-37-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

For QOM topology, CPU should be inserted under its parent core.

Extend x86_cpu_new() to allow caller to specify topology parent.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/i386/x86.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index d9293846db64..3c99f4c3ab51 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -94,15 +94,22 @@ uint32_t x86_cpu_apic_id_from_index(X86MachineState *x86ms,
     return x86_apicid_from_cpu_idx(&topo_info, cpu_index);
 }
 
-
 static void x86_cpu_new(X86MachineState *x86ms, int64_t apic_id,
-                        Error **errp)
+                        Object *parent, int index, Error **errp)
 {
-    Object *cpu = object_new(MACHINE(x86ms)->cpu_type);
+    const char *cpu_type = MACHINE(x86ms)->cpu_type;
+    Object *cpu = object_new(cpu_type);
 
     if (!object_property_set_uint(cpu, "apic-id", apic_id, errp)) {
         goto out;
     }
+
+    if (parent) {
+        char *name = g_strdup_printf("%s[%d]", cpu_type, index);
+        object_property_add_child(parent, name, cpu);
+        g_free(name);
+    }
+
     qdev_realize(DEVICE(cpu), NULL, errp);
 
 out:
@@ -146,7 +153,8 @@ void x86_cpus_init(X86MachineState *x86ms, int default_cpu_version)
 
     possible_cpus = mc->possible_cpu_arch_ids(ms);
     for (i = 0; i < ms->smp.cpus; i++) {
-        x86_cpu_new(x86ms, possible_cpus->cpus[i].arch_id, &error_fatal);
+        x86_cpu_new(x86ms, possible_cpus->cpus[i].arch_id,
+                    NULL, i, &error_fatal);
     }
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644820.1006494 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCh-0003WV-KY; Thu, 30 Nov 2023 14:39:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644820.1006494; Thu, 30 Nov 2023 14:39: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 1r8iCg-0003P8-N4; Thu, 30 Nov 2023 14:39:46 +0000
Received: by outflank-mailman (input) for mailman id 644820;
 Thu, 30 Nov 2023 14: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i9k-0000pO-AZ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:36:44 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id dfa734af-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:36:42 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:36:24 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:36:14 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: dfa734af-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701355002; x=1732891002;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=lndGadsp6lchipVix45sBuugJYcXf54DoIQPmPepLjo=;
  b=A6azXLPohjn3O2rubFp/PwjM2P0N7a1vzt+L4NzbeQoNeofkrrtPBG/V
   cVz5L2SGMPrFA1l5NUmqhJ253NbxyUg/ZIFrmkgprX0Y8f2Fr9fdnAlqk
   jhRJTq8FKmnPjdFXWtbJdgoBhKs59YptmVLm6FE87Eov8rGRgGDqmY60A
   47/SdNx8iMnGlK22IMQXNESB57X0UU2jq6G6H4Re4/olwPJnBnKGMi/LK
   RRRiQhDOzjiVF2XoVMinXQ9RiQOjHw3dDbVdN6DkX0uE8+UVlbynjGWRI
   0K2ezNsW1+f4+CqnyuJlZN36itjZChq9OgKlmqESyCCgk6nU+9FAdkEhp
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532685"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532685"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730506"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730506"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 37/41] hw/i386: Allow i386 to create new CPUs from QOM topology
Date: Thu, 30 Nov 2023 22:41:59 +0800
Message-Id: <20231130144203.2307629-38-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

For QOM topology, maximum number of CPUs and the number of plugged CPUs
are configured in core level.

Iterate through all the cpu-cores to determine how many CPUs should be
created in each cpu-core.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/i386/x86.c | 32 +++++++++++++++++++++++++++++---
 1 file changed, 29 insertions(+), 3 deletions(-)

diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index 3c99f4c3ab51..febffed92a83 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -152,9 +152,35 @@ void x86_cpus_init(X86MachineState *x86ms, int default_cpu_version)
     }
 
     possible_cpus = mc->possible_cpu_arch_ids(ms);
-    for (i = 0; i < ms->smp.cpus; i++) {
-        x86_cpu_new(x86ms, possible_cpus->cpus[i].arch_id,
-                    NULL, i, &error_fatal);
+
+    /*
+     * possible_cpus_qom_granu means the QOM topology support.
+     *
+     * TODO: Drop the "!mc->smp_props.possible_cpus_qom_granu" case when
+     * i386 completes QOM topology support.
+     */
+    if (mc->smp_props.possible_cpus_qom_granu) {
+        CPUCore *core;
+        int cpu_index = 0;
+        int core_idx = 0;
+
+        MACHINE_CORE_FOREACH(ms, core) {
+            for (i = 0; i < core->plugged_threads; i++) {
+                x86_cpu_new(x86ms, possible_cpus->cpus[cpu_index].arch_id,
+                            OBJECT(core), cpu_index, &error_fatal);
+                cpu_index++;
+            }
+
+            if (core->plugged_threads < core->nr_threads) {
+                cpu_index += core->nr_threads - core->plugged_threads;
+            }
+            core_idx++;
+        }
+    } else {
+        for (i = 0; i < ms->smp.cpus; i++) {
+            x86_cpu_new(x86ms, possible_cpus->cpus[i].arch_id,
+                        NULL, i, &error_fatal);
+        }
     }
 }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644821.1006512 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCk-00049p-J0; Thu, 30 Nov 2023 14:39:50 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644821.1006512; Thu, 30 Nov 2023 14: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 1r8iCj-00042p-7r; Thu, 30 Nov 2023 14:39:49 +0000
Received: by outflank-mailman (input) for mailman id 644821;
 Thu, 30 Nov 2023 14:36: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i9l-0000pO-Pk
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:36:45 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e1a1a4f1-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:36:43 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:36:34 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:36:24 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e1a1a4f1-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701355003; x=1732891003;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=RjfOv7ECY6GXSAStu2RlCVg7nYnpovILbpK6PYk0aaQ=;
  b=G3N9dKrJ30FzhYjN91aotKNcJB3hwkODcoyjQqHB/DWYJrn0Muk03/8Z
   WEdKLIQD8BQpVZxPTJ+C8zemoBFd4yxtEwmX2QKWbjkiKGZGqhgiQWJ9W
   +GQmLAZZ0w+COB4pdylve2WWCPYvXpNUpnpcUqHx2xnp+PhsQCWnTy2ew
   Ee+hIG06YqG+QxJK0lWMjl87cMJDt+EYbIcIIEU4Z3vYqBYMbSSEsoMEe
   nP0cR5UmZgzGM91jaOIK9vMllhEaX9xiJZPSsIDhwlvUaLy3yfE7XMGaH
   gBbMVEdi1nsiiWFthyvuuC0fJLrpLcJuPboBoPRiWsGPP00ne++HbkHux
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532731"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532731"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730519"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730519"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 38/41] hw/i386: Wrap apic id and topology sub ids assigning as helpers
Date: Thu, 30 Nov 2023 22:42:00 +0800
Message-Id: <20231130144203.2307629-39-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

For QOM topology, these 2 helpers are needed for hotplugged CPU to
verify its topology sub indexes and then search its parent core.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/i386/x86.c | 173 ++++++++++++++++++++++++++++----------------------
 1 file changed, 96 insertions(+), 77 deletions(-)

diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index febffed92a83..04edd6de6aeb 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -306,6 +306,98 @@ void x86_cpu_unplug_cb(HotplugHandler *hotplug_dev,
     error_propagate(errp, local_err);
 }
 
+static void x86_cpu_assign_apic_id(MachineState *ms, X86CPU *cpu,
+                                   X86CPUTopoIDs *topo_ids,
+                                   X86CPUTopoInfo *topo_info,
+                                   Error **errp)
+{
+    int max_socket = (ms->smp.max_cpus - 1) /
+                     ms->smp.threads / ms->smp.cores / ms->smp.dies;
+
+    /*
+     * die-id was optional in QEMU 4.0 and older, so keep it optional
+     * if there's only one die per socket.
+     */
+    if (cpu->die_id < 0 && ms->smp.dies == 1) {
+        cpu->die_id = 0;
+    }
+
+    if (cpu->socket_id < 0) {
+        error_setg(errp, "CPU socket-id is not set");
+        return;
+    } else if (cpu->socket_id > max_socket) {
+        error_setg(errp, "Invalid CPU socket-id: %u must be in range 0:%u",
+                   cpu->socket_id, max_socket);
+        return;
+    }
+    if (cpu->die_id < 0) {
+        error_setg(errp, "CPU die-id is not set");
+        return;
+    } else if (cpu->die_id > ms->smp.dies - 1) {
+        error_setg(errp, "Invalid CPU die-id: %u must be in range 0:%u",
+                   cpu->die_id, ms->smp.dies - 1);
+        return;
+    }
+    if (cpu->core_id < 0) {
+        error_setg(errp, "CPU core-id is not set");
+        return;
+    } else if (cpu->core_id > (ms->smp.cores - 1)) {
+        error_setg(errp, "Invalid CPU core-id: %u must be in range 0:%u",
+                   cpu->core_id, ms->smp.cores - 1);
+        return;
+    }
+    if (cpu->thread_id < 0) {
+        error_setg(errp, "CPU thread-id is not set");
+        return;
+    } else if (cpu->thread_id > (ms->smp.threads - 1)) {
+        error_setg(errp, "Invalid CPU thread-id: %u must be in range 0:%u",
+                   cpu->thread_id, ms->smp.threads - 1);
+        return;
+    }
+
+    topo_ids->pkg_id = cpu->socket_id;
+    topo_ids->die_id = cpu->die_id;
+    topo_ids->core_id = cpu->core_id;
+    topo_ids->smt_id = cpu->thread_id;
+    cpu->apic_id = x86_apicid_from_topo_ids(topo_info, topo_ids);
+}
+
+static void x86_cpu_assign_topo_id(X86CPU *cpu,
+                                   X86CPUTopoIDs *topo_ids,
+                                   Error **errp)
+{
+    if (cpu->socket_id != -1 && cpu->socket_id != topo_ids->pkg_id) {
+        error_setg(errp, "property socket-id: %u doesn't match set apic-id:"
+            " 0x%x (socket-id: %u)", cpu->socket_id, cpu->apic_id,
+            topo_ids->pkg_id);
+        return;
+    }
+    cpu->socket_id = topo_ids->pkg_id;
+
+    if (cpu->die_id != -1 && cpu->die_id != topo_ids->die_id) {
+        error_setg(errp, "property die-id: %u doesn't match set apic-id:"
+            " 0x%x (die-id: %u)", cpu->die_id, cpu->apic_id, topo_ids->die_id);
+        return;
+    }
+    cpu->die_id = topo_ids->die_id;
+
+    if (cpu->core_id != -1 && cpu->core_id != topo_ids->core_id) {
+        error_setg(errp, "property core-id: %u doesn't match set apic-id:"
+            " 0x%x (core-id: %u)", cpu->core_id, cpu->apic_id,
+            topo_ids->core_id);
+        return;
+    }
+    cpu->core_id = topo_ids->core_id;
+
+    if (cpu->thread_id != -1 && cpu->thread_id != topo_ids->smt_id) {
+        error_setg(errp, "property thread-id: %u doesn't match set apic-id:"
+            " 0x%x (thread-id: %u)", cpu->thread_id, cpu->apic_id,
+            topo_ids->smt_id);
+        return;
+    }
+    cpu->thread_id = topo_ids->smt_id;
+}
+
 void x86_cpu_pre_plug(HotplugHandler *hotplug_dev,
                       DeviceState *dev, Error **errp)
 {
@@ -317,8 +409,6 @@ void x86_cpu_pre_plug(HotplugHandler *hotplug_dev,
     CPUX86State *env = &cpu->env;
     MachineState *ms = MACHINE(hotplug_dev);
     X86MachineState *x86ms = X86_MACHINE(hotplug_dev);
-    unsigned int smp_cores = ms->smp.cores;
-    unsigned int smp_threads = ms->smp.threads;
     X86CPUTopoInfo topo_info;
 
     if (!object_dynamic_cast(OBJECT(cpu), ms->cpu_type)) {
@@ -347,55 +437,10 @@ void x86_cpu_pre_plug(HotplugHandler *hotplug_dev,
      * set it based on socket/die/core/thread properties.
      */
     if (cpu->apic_id == UNASSIGNED_APIC_ID) {
-        int max_socket = (ms->smp.max_cpus - 1) /
-                                smp_threads / smp_cores / ms->smp.dies;
-
-        /*
-         * die-id was optional in QEMU 4.0 and older, so keep it optional
-         * if there's only one die per socket.
-         */
-        if (cpu->die_id < 0 && ms->smp.dies == 1) {
-            cpu->die_id = 0;
-        }
-
-        if (cpu->socket_id < 0) {
-            error_setg(errp, "CPU socket-id is not set");
-            return;
-        } else if (cpu->socket_id > max_socket) {
-            error_setg(errp, "Invalid CPU socket-id: %u must be in range 0:%u",
-                       cpu->socket_id, max_socket);
+        x86_cpu_assign_apic_id(ms, cpu, &topo_ids, &topo_info, errp);
+        if (*errp) {
             return;
         }
-        if (cpu->die_id < 0) {
-            error_setg(errp, "CPU die-id is not set");
-            return;
-        } else if (cpu->die_id > ms->smp.dies - 1) {
-            error_setg(errp, "Invalid CPU die-id: %u must be in range 0:%u",
-                       cpu->die_id, ms->smp.dies - 1);
-            return;
-        }
-        if (cpu->core_id < 0) {
-            error_setg(errp, "CPU core-id is not set");
-            return;
-        } else if (cpu->core_id > (smp_cores - 1)) {
-            error_setg(errp, "Invalid CPU core-id: %u must be in range 0:%u",
-                       cpu->core_id, smp_cores - 1);
-            return;
-        }
-        if (cpu->thread_id < 0) {
-            error_setg(errp, "CPU thread-id is not set");
-            return;
-        } else if (cpu->thread_id > (smp_threads - 1)) {
-            error_setg(errp, "Invalid CPU thread-id: %u must be in range 0:%u",
-                       cpu->thread_id, smp_threads - 1);
-            return;
-        }
-
-        topo_ids.pkg_id = cpu->socket_id;
-        topo_ids.die_id = cpu->die_id;
-        topo_ids.core_id = cpu->core_id;
-        topo_ids.smt_id = cpu->thread_id;
-        cpu->apic_id = x86_apicid_from_topo_ids(&topo_info, &topo_ids);
     }
 
     cpu_slot = x86_find_cpu_slot(MACHINE(x86ms), cpu->apic_id, &idx);
@@ -422,36 +467,10 @@ void x86_cpu_pre_plug(HotplugHandler *hotplug_dev,
      * once -smp refactoring is complete and there will be CPU private
      * CPUState::nr_cores and CPUState::nr_threads fields instead of globals */
     x86_topo_ids_from_apicid(cpu->apic_id, &topo_info, &topo_ids);
-    if (cpu->socket_id != -1 && cpu->socket_id != topo_ids.pkg_id) {
-        error_setg(errp, "property socket-id: %u doesn't match set apic-id:"
-            " 0x%x (socket-id: %u)", cpu->socket_id, cpu->apic_id,
-            topo_ids.pkg_id);
-        return;
-    }
-    cpu->socket_id = topo_ids.pkg_id;
-
-    if (cpu->die_id != -1 && cpu->die_id != topo_ids.die_id) {
-        error_setg(errp, "property die-id: %u doesn't match set apic-id:"
-            " 0x%x (die-id: %u)", cpu->die_id, cpu->apic_id, topo_ids.die_id);
-        return;
-    }
-    cpu->die_id = topo_ids.die_id;
-
-    if (cpu->core_id != -1 && cpu->core_id != topo_ids.core_id) {
-        error_setg(errp, "property core-id: %u doesn't match set apic-id:"
-            " 0x%x (core-id: %u)", cpu->core_id, cpu->apic_id,
-            topo_ids.core_id);
-        return;
-    }
-    cpu->core_id = topo_ids.core_id;
-
-    if (cpu->thread_id != -1 && cpu->thread_id != topo_ids.smt_id) {
-        error_setg(errp, "property thread-id: %u doesn't match set apic-id:"
-            " 0x%x (thread-id: %u)", cpu->thread_id, cpu->apic_id,
-            topo_ids.smt_id);
+    x86_cpu_assign_topo_id(cpu, &topo_ids, errp);
+    if (*errp) {
         return;
     }
-    cpu->thread_id = topo_ids.smt_id;
 
     if (hyperv_feat_enabled(cpu, HYPERV_FEAT_VPINDEX) &&
         kvm_enabled() && !kvm_hv_vpindex_settable()) {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644824.1006518 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCm-0004lm-LY; Thu, 30 Nov 2023 14:39:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644824.1006518; Thu, 30 Nov 2023 14:39: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 1r8iCl-0004Wc-Ek; Thu, 30 Nov 2023 14:39:51 +0000
Received: by outflank-mailman (input) for mailman id 644824;
 Thu, 30 Nov 2023 14:36: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i9n-0000pO-Uk
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:36:47 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id e3151d4e-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:36:46 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:36:42 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:36:33 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e3151d4e-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701355006; x=1732891006;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=q0lEBoFOr9b0x5amAD6sBLj9mxt45Se06XmWgm72SHY=;
  b=aCv8TiwjThHi9DnlHxz3vJ6b31n05Kofu3wuWgXE+6wb9hgy0Ph2xAPj
   u/w/zHbvjh5AAhDM3ImFz7XunalIXo/RoUc9F6tfGPSNV/+Eb3o/jLzU+
   CjwlRnyPQoKXa1Fs1cZ6QVzhDPEI4ZQsANedF0CpRnMDqYNXjlRTVnJ2Y
   f7cmY4UtQlSBzNJBq/qN7C4Offqwpi24SZxaWOxP0Yhu4SErFyva6ODlH
   /DKXRQzAqALUzB2co7zqh/SpYuk0QY74Tt41+hwgpKHMdM1U1Yb0o+hxC
   zZgNIcn1pJkTQwO2s+6Ngdj9hlYeuUHKOp5EMFQcmxogs/EvWDQleartj
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532773"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532773"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730530"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730530"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 39/41] hw/i386: Add the interface to search parent for QOM topology
Date: Thu, 30 Nov 2023 22:42:01 +0800
Message-Id: <20231130144203.2307629-40-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

QOM topology needs to search parent cpu-core for hotplugged CPU to
create topology child<> property in qdev_set_id().

This process is before x86_cpu_pre_plug(), thus place 2 helpers
x86_cpu_assign_apic_id() and x86_cpu_assign_topo_id() in
x86_cpu_search_parent_pre_plug() to help get the correct topology sub
indexes. Then x86_cpu_search_parent_pre_plug() searches the parent
cpu-core with these sub indexes.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/i386/x86.c         | 128 +++++++++++++++++++++++++++++++++++++++---
 include/hw/i386/x86.h |   3 +
 2 files changed, 122 insertions(+), 9 deletions(-)

diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index 04edd6de6aeb..595d4365fdd1 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -460,16 +460,18 @@ void x86_cpu_pre_plug(HotplugHandler *hotplug_dev,
         return;
     }
 
-    /* if 'address' properties socket-id/core-id/thread-id are not set, set them
-     * so that machine_query_hotpluggable_cpus would show correct values
+    /*
+     * possible_cpus_qom_granu means the QOM topology support.
+     *
+     * TODO: Drop the "!mc->smp_props.possible_cpus_qom_granu" case when
+     * i386 completes QOM topology support.
      */
-    /* TODO: move socket_id/core_id/thread_id checks into x86_cpu_realizefn()
-     * once -smp refactoring is complete and there will be CPU private
-     * CPUState::nr_cores and CPUState::nr_threads fields instead of globals */
-    x86_topo_ids_from_apicid(cpu->apic_id, &topo_info, &topo_ids);
-    x86_cpu_assign_topo_id(cpu, &topo_ids, errp);
-    if (*errp) {
-        return;
+    if (!mc->smp_props.possible_cpus_qom_granu) {
+        x86_topo_ids_from_apicid(cpu->apic_id, &topo_info, &topo_ids);
+        x86_cpu_assign_topo_id(cpu, &topo_ids, errp);
+        if (*errp) {
+            return;
+        }
     }
 
     if (hyperv_feat_enabled(cpu, HYPERV_FEAT_VPINDEX) &&
@@ -484,6 +486,114 @@ void x86_cpu_pre_plug(HotplugHandler *hotplug_dev,
     numa_cpu_pre_plug(cpu_slot, dev, errp);
 }
 
+static int x86_cpu_get_topo_id_by_level(X86CPU *cpu,
+                                        CPUTopoLevel level)
+{
+    switch (level) {
+    case CPU_TOPO_THREAD:
+        return cpu->thread_id;
+    case CPU_TOPO_CORE:
+        return cpu->core_id;
+    case CPU_TOPO_DIE:
+        return cpu->die_id;
+    case CPU_TOPO_SOCKET:
+        return cpu->socket_id;
+    default:
+        g_assert_not_reached();
+    }
+
+    return -1;
+}
+
+typedef struct SearchCoreCb {
+    X86CPU *cpu;
+    CPUTopoState *parent;
+    int id;
+} SearchCoreCb;
+
+static int x86_cpu_search_parent_core(CPUTopoState *topo,
+                                      void *opaque)
+{
+    SearchCoreCb *cb = opaque;
+    CPUTopoLevel level = CPU_TOPO_LEVEL(topo);
+
+    cb->parent = topo;
+    cb->id = x86_cpu_get_topo_id_by_level(cb->cpu, level);
+
+    if (cb->id == topo->index) {
+        if (level == CPU_TOPO_CORE) {
+            return TOPO_FOREACH_END;
+        }
+        return TOPO_FOREACH_CONTINUE;
+    }
+    return TOPO_FOREACH_SIBLING;
+}
+
+Object *x86_cpu_search_parent_pre_plug(CPUTopoState *topo,
+                                       CPUTopoState *root,
+                                       Error **errp)
+{
+    int ret;
+    SearchCoreCb cb;
+    X86CPUTopoIDs topo_ids;
+    X86CPUTopoInfo topo_info;
+    X86CPU *cpu = X86_CPU(topo);
+    CPUSlot *slot = CPU_SLOT(root);
+    MachineState *ms = slot->ms;
+    DECLARE_BITMAP(foreach_bitmap, USER_AVAIL_LEVEL_NUM);
+
+    topo_info.dies_per_pkg = ms->smp.dies;
+    topo_info.cores_per_die = ms->smp.cores;
+    topo_info.threads_per_core = ms->smp.threads;
+
+    if (cpu->apic_id == UNASSIGNED_APIC_ID) {
+        x86_cpu_assign_apic_id(ms, cpu, &topo_ids, &topo_info, errp);
+        if (*errp) {
+            return NULL;
+        }
+    } else {
+        /*
+         * if 'address' properties socket-id/core-id/thread-id are not set,
+         * set them so that machine_query_hotpluggable_cpus would show
+         * correct values.
+         *
+         * TODO: move socket_id/core_id/thread_id checks into
+         * x86_cpu_realizefn() once -smp refactoring is complete and there
+         * will be CPU private CPUState::nr_cores and CPUState::nr_threads
+         * fields instead of globals.
+         */
+        x86_topo_ids_from_apicid(cpu->apic_id, &topo_info, &topo_ids);
+    }
+
+    x86_cpu_assign_topo_id(cpu, &topo_ids, errp);
+    if (*errp) {
+        return NULL;
+    }
+
+    cb.cpu = cpu;
+    cb.parent = NULL;
+    cb.id = -1;
+    bitmap_fill(foreach_bitmap, USER_AVAIL_LEVEL_NUM);
+    clear_bit(CPU_TOPO_UNKNOWN, foreach_bitmap);
+    clear_bit(CPU_TOPO_THREAD, foreach_bitmap);
+
+    ret = cpu_topo_child_foreach_recursive(root, foreach_bitmap,
+                                           x86_cpu_search_parent_core, &cb);
+    if (ret != TOPO_FOREACH_END) {
+        g_autofree char *search_info = NULL;
+
+        search_info = !cb.parent ? g_strdup("") :
+            g_strdup_printf(" for %s level with id: %d",
+            cpu_topo_level_to_string(CPU_TOPO_LEVEL(cb.parent)), cb.id);
+        error_setg(errp, "Can't find parent%s", search_info);
+        return NULL;
+    }
+
+    /* Keep the index of CPU topology device the same as the thread_id. */
+    topo->index = cpu->thread_id;
+    return OBJECT(cb.parent);
+}
+
 CpuInstanceProperties
 x86_cpu_index_to_props(MachineState *ms, unsigned cpu_index)
 {
diff --git a/include/hw/i386/x86.h b/include/hw/i386/x86.h
index 19e9f93fe286..e8c9ddc36359 100644
--- a/include/hw/i386/x86.h
+++ b/include/hw/i386/x86.h
@@ -104,6 +104,9 @@ int64_t x86_get_default_cpu_node_id(const MachineState *ms, int idx);
 const CPUArchIdList *x86_possible_cpu_arch_ids(MachineState *ms);
 CPUArchId *x86_find_cpu_slot(MachineState *ms, uint32_t id, int *idx);
 void x86_rtc_set_cpus_count(ISADevice *rtc, uint16_t cpus_count);
+Object *x86_cpu_search_parent_pre_plug(CPUTopoState *topo,
+                                       CPUTopoState *root,
+                                       Error **errp);
 void x86_cpu_pre_plug(HotplugHandler *hotplug_dev,
                       DeviceState *dev, Error **errp);
 void x86_cpu_plug(HotplugHandler *hotplug_dev,
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644827.1006532 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCo-0005Ha-Pt; Thu, 30 Nov 2023 14:39:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644827.1006532; Thu, 30 Nov 2023 14:39: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 1r8iCn-00057T-M1; Thu, 30 Nov 2023 14:39:53 +0000
Received: by outflank-mailman (input) for mailman id 644827;
 Thu, 30 Nov 2023 14:36: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i9v-00012Q-QO
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:36:55 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id e7691a85-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:36:54 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:36:52 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:36:42 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: e7691a85-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701355014; x=1732891014;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=n1bOTd1De6zljXfwth5hOf8VQYb/0aDsDjxTGUGzfGQ=;
  b=F5QTSm5jbN6dDpxGptEEyRAKNkqpedZ1wSJ5+sA9RhQFSah02QO70J08
   Zp/Cqx4Xl/Y0qsglGYFkBayyl2Gs3d/WCiOgNp5SS4u4Kj+phJ2qGvYQB
   tL1oN2BkFFxsDbQ0n+GZJAdYy8ZSGjtVIKjMakS1UM6ALsnaLrrcha+CB
   uFk4iAROETImcLkq8J9CYoK4GimVcJ66WEK8JMot0z5xh0XUWdw4653wP
   CqwHge/vPwd99U2O6irk3KrkgOblQjV6cdBxwULrbiLLCwBcBTGF7fYfm
   Jov4H87c6+WjB3lCTtl6lqhrf71xxknX6sbNJgro8KrNZPFcghTwIirPy
   A==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532843"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532843"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730582"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730582"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 40/41] hw/i386: Support QOM topology
Date: Thu, 30 Nov 2023 22:42:02 +0800
Message-Id: <20231130144203.2307629-41-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Set MachineClass.smp_props.possible_cpus_qom_granu and
TopoClass.search_parent_pre_plug for i386.

So far, the i386 topology is based on the QOM topology.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/i386/x86.c     | 1 +
 target/i386/cpu.c | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index 595d4365fdd1..99f6c502de43 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -1565,6 +1565,7 @@ static void x86_machine_class_init(ObjectClass *oc, void *data)
     mc->cpu_index_to_instance_props = x86_cpu_index_to_props;
     mc->get_default_cpu_node_id = x86_get_default_cpu_node_id;
     mc->possible_cpu_arch_ids = x86_possible_cpu_arch_ids;
+    mc->smp_props.possible_cpus_qom_granu = CPU_TOPO_THREAD;
     x86mc->save_tsc_khz = true;
     x86mc->fwcfg_dma_enabled = true;
     nc->nmi_monitor_handler = x86_nmi;
diff --git a/target/i386/cpu.c b/target/i386/cpu.c
index cd16cb893daf..1de5726691e1 100644
--- a/target/i386/cpu.c
+++ b/target/i386/cpu.c
@@ -41,6 +41,7 @@
 #include "exec/address-spaces.h"
 #include "hw/boards.h"
 #include "hw/i386/sgx-epc.h"
+#include "hw/i386/x86.h"
 #endif
 
 #include "disas/capstone.h"
@@ -8009,6 +8010,9 @@ static void x86_cpu_common_class_init(ObjectClass *oc, void *data)
 #if !defined(CONFIG_USER_ONLY)
     object_class_property_add(oc, "crash-information", "GuestPanicInformation",
                               x86_cpu_get_crash_info_qom, NULL, NULL, NULL);
+
+    CPU_TOPO_CLASS(oc)->search_parent_pre_plug =
+        x86_cpu_search_parent_pre_plug;
 #endif
 
     for (w = 0; w < FEATURE_WORDS; w++) {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644829.1006545 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCr-0005pp-OS; Thu, 30 Nov 2023 14:39:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644829.1006545; Thu, 30 Nov 2023 14:39: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 1r8iCp-0005XJ-Aq; Thu, 30 Nov 2023 14:39:55 +0000
Received: by outflank-mailman (input) for mailman id 644829;
 Thu, 30 Nov 2023 14:37: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8iA4-00012Q-T7
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:37:04 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ecedd737-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:37:03 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:37:01 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:36:52 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ecedd737-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701355024; x=1732891024;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=1TBuBuayUq5ep3LedB2XG6MRM6nllhfykxLgfM/A+kw=;
  b=NVQsN9XsOQGKx6S/7t9IhJRy3s8xFQ54yloWKF/QeKolh5joJaEfIyCS
   DbsTmJhBAam5nwKa6LIQuQKdajNTq5UdGlO37t2tfz9gNlhfczKtc9DfT
   zLXtC4qjDs0/EwjEgPhKr6AqbJQN9ONQrl5NI72tp6vjkY1WAvFYsGGV+
   IMJF0s5cROsHvKeSIdKUO//YKMb2Pgr7NQopAz6Oxs/ssl+fn0ftZsjk0
   yVmI71N3lBigiffKgJxUDxnwvE1JVQ9u9gV5mS/JYaHn3+KDhZDAnmZrl
   EoIVOVWb5Oa0X+w0homY3IauYYbH2CkTARlU7B8sr+8qCtjBGP2/GdDBi
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532884"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532884"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730622"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730622"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 41/41] hw/i386: Cleanup non-QOM topology support
Date: Thu, 30 Nov 2023 22:42:03 +0800
Message-Id: <20231130144203.2307629-42-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

After i386 supports QOM topology, drop original topology logic.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/i386/x86.c | 52 +++++++++++----------------------------------------
 1 file changed, 11 insertions(+), 41 deletions(-)

diff --git a/hw/i386/x86.c b/hw/i386/x86.c
index 99f6c502de43..cba8b806cdb6 100644
--- a/hw/i386/x86.c
+++ b/hw/i386/x86.c
@@ -118,7 +118,8 @@ out:
 
 void x86_cpus_init(X86MachineState *x86ms, int default_cpu_version)
 {
-    int i;
+    CPUCore *core;
+    int i, cpu_index = 0, core_idx = 0;
     const CPUArchIdList *possible_cpus;
     MachineState *ms = MACHINE(x86ms);
     MachineClass *mc = MACHINE_GET_CLASS(x86ms);
@@ -153,34 +154,17 @@ void x86_cpus_init(X86MachineState *x86ms, int default_cpu_version)
 
     possible_cpus = mc->possible_cpu_arch_ids(ms);
 
-    /*
-     * possible_cpus_qom_granu means the QOM topology support.
-     *
-     * TODO: Drop the "!mc->smp_props.possible_cpus_qom_granu" case when
-     * i386 completes QOM topology support.
-     */
-    if (mc->smp_props.possible_cpus_qom_granu) {
-        CPUCore *core;
-        int cpu_index = 0;
-        int core_idx = 0;
-
-        MACHINE_CORE_FOREACH(ms, core) {
-            for (i = 0; i < core->plugged_threads; i++) {
-                x86_cpu_new(x86ms, possible_cpus->cpus[cpu_index].arch_id,
-                            OBJECT(core), cpu_index, &error_fatal);
-                cpu_index++;
-            }
-
-            if (core->plugged_threads < core->nr_threads) {
-                cpu_index += core->nr_threads - core->plugged_threads;
-            }
-            core_idx++;
+    MACHINE_CORE_FOREACH(ms, core) {
+        for (i = 0; i < core->plugged_threads; i++) {
+            x86_cpu_new(x86ms, possible_cpus->cpus[cpu_index].arch_id,
+                        OBJECT(core), cpu_index, &error_fatal);
+            cpu_index++;
         }
-    } else {
-        for (i = 0; i < ms->smp.cpus; i++) {
-            x86_cpu_new(x86ms, possible_cpus->cpus[i].arch_id,
-                        NULL, i, &error_fatal);
+
+        if (core->plugged_threads < core->nr_threads) {
+            cpu_index += core->nr_threads - core->plugged_threads;
         }
+        core_idx++;
     }
 }
 
@@ -460,20 +444,6 @@ void x86_cpu_pre_plug(HotplugHandler *hotplug_dev,
         return;
     }
 
-    /*
-     * possible_cpus_qom_granu means the QOM topology support.
-     *
-     * TODO: Drop the "!mc->smp_props.possible_cpus_qom_granu" case when
-     * i386 completes QOM topology support.
-     */
-    if (!mc->smp_props.possible_cpus_qom_granu) {
-        x86_topo_ids_from_apicid(cpu->apic_id, &topo_info, &topo_ids);
-        x86_cpu_assign_topo_id(cpu, &topo_ids, errp);
-        if (*errp) {
-            return;
-        }
-    }
-
     if (hyperv_feat_enabled(cpu, HYPERV_FEAT_VPINDEX) &&
         kvm_enabled() && !kvm_hv_vpindex_settable()) {
         error_setg(errp, "kernel doesn't allow setting HyperV VP_INDEX");
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:39:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:39:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644831.1006551 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCt-00065m-33; Thu, 30 Nov 2023 14:39:59 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644831.1006551; Thu, 30 Nov 2023 14:39: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 1r8iCr-00060a-1I; Thu, 30 Nov 2023 14:39:57 +0000
Received: by outflank-mailman (input) for mailman id 644831;
 Thu, 30 Nov 2023 14:37: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i4k-0004Xw-Ql
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:31:34 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 27aa5209-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:31:32 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:31:01 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:30:52 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 27aa5209-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354693; x=1732890693;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=50lNzU4oWEfgKNc9gIKf0MEOC0NyWyVi0AxeNokOwXU=;
  b=epqoRAPAS/YlNO/PAcLcqAiqY1fh7I1c0c3+oAeflmd8i8EYeX1ALeBI
   1TMdzOBvGKNadyzHTg/3aonx1OPYT2xWNvDsEzCzQjjdAy6GiPwH4glZ8
   byNSkgc3emlRnSvymHo4cAjTTOWuEm7BpnNUPjxNRxv/tLasRJh7fTquD
   8lMwnIl3KErl5v7RqhHGmLJNWy0RDQmARN6Qjo9d1ETU70gwOp//eEG89
   4vl1PoQZjlwSdSADoqry7toWuGmOdeS7gXL/ne51+zxYiawErRbyUFuj0
   bzxkUz3GomiL99X0IxlH7VPe6hQepu5qy6HlnjurelZ0NIy8bgqD6zBPb
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479530949"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479530949"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729615"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729615"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 03/41] system: Create base category devices from cli before board initialization
Date: Thu, 30 Nov 2023 22:41:25 +0800
Message-Id: <20231130144203.2307629-4-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Topology devices are required to complete CPU topology building before
*_init_cpus() in MachineClass.init().

Add a qemu_create_cli_base_devices() before board initialization to
help create and realize topology devices from cli early.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 system/vl.c | 51 ++++++++++++++++++++++++++++++++++-----------------
 1 file changed, 34 insertions(+), 17 deletions(-)

diff --git a/system/vl.c b/system/vl.c
index 0be155b530b4..65add2fb2460 100644
--- a/system/vl.c
+++ b/system/vl.c
@@ -1197,8 +1197,9 @@ static int device_help_func(void *opaque, QemuOpts *opts, Error **errp)
 static int device_init_func(void *opaque, QemuOpts *opts, Error **errp)
 {
     DeviceState *dev;
+    long *category = opaque;
 
-    dev = qdev_device_add(opts, NULL, errp);
+    dev = qdev_device_add(opts, category, errp);
     if (!dev && *errp) {
         error_report_err(*errp);
         return -1;
@@ -2617,25 +2618,13 @@ static void qemu_init_board(void)
     realtime_init();
 }
 
-static void qemu_create_cli_devices(void)
+static void qemu_create_cli_devices(long *category)
 {
     DeviceOption *opt;
 
-    soundhw_init();
-
-    qemu_opts_foreach(qemu_find_opts("fw_cfg"),
-                      parse_fw_cfg, fw_cfg_find(), &error_fatal);
-
-    /* init USB devices */
-    if (machine_usb(current_machine)) {
-        if (foreach_device_config(DEV_USB, usb_parse) < 0)
-            exit(1);
-    }
-
-    /* init generic devices */
     rom_set_order_override(FW_CFG_ORDER_OVERRIDE_DEVICE);
     qemu_opts_foreach(qemu_find_opts("device"),
-                      device_init_func, NULL, &error_fatal);
+                      device_init_func, category, &error_fatal);
     QTAILQ_FOREACH(opt, &device_opts, next) {
         DeviceState *dev;
         loc_push_restore(&opt->loc);
@@ -2646,13 +2635,40 @@ static void qemu_create_cli_devices(void)
          * from the start, so call qdev_device_add_from_qdict() directly for
          * now.
          */
-        dev = qdev_device_add_from_qdict(opt->opts, NULL, true, &error_fatal);
+        dev = qdev_device_add_from_qdict(opt->opts, category,
+                                         true, &error_fatal);
         object_unref(OBJECT(dev));
         loc_pop(&opt->loc);
     }
     rom_reset_order_override();
 }
 
+static void qemu_create_cli_base_devices(void)
+{
+    long category = DEVICE_CATEGORY_CPU_DEF;
+
+    qemu_opts_foreach(qemu_find_opts("fw_cfg"),
+                      parse_fw_cfg, fw_cfg_find(), &error_fatal);
+
+    /* init CPU topology devices which don't support hotplug. */
+    qemu_create_cli_devices(&category);
+}
+
+static void qemu_create_cli_periphery_devices(void)
+{
+    soundhw_init();
+
+    /* init USB devices */
+    if (machine_usb(current_machine)) {
+        if (foreach_device_config(DEV_USB, usb_parse) < 0) {
+            exit(1);
+        }
+    }
+
+    /* init generic devices */
+    qemu_create_cli_devices(NULL);
+}
+
 static void qemu_machine_creation_done(void)
 {
     MachineState *machine = MACHINE(qdev_get_machine());
@@ -2701,8 +2717,9 @@ void qmp_x_exit_preconfig(Error **errp)
         return;
     }
 
+    qemu_create_cli_base_devices();
     qemu_init_board();
-    qemu_create_cli_devices();
+    qemu_create_cli_periphery_devices();
     qemu_machine_creation_done();
 
     if (loadvm) {
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:40:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:40:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644834.1006560 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCu-0006XA-Aw; Thu, 30 Nov 2023 14:40:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644834.1006560; Thu, 30 Nov 2023 14: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 1r8iCs-0006LP-Q4; Thu, 30 Nov 2023 14:39:58 +0000
Received: by outflank-mailman (input) for mailman id 644834;
 Thu, 30 Nov 2023 14:37: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i4u-0004Xw-Pi
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:31:44 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2da480e5-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:31:43 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:31:10 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:31:01 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2da480e5-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354703; x=1732890703;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=q8av5JpkyS6FnEIeBR5gNojelDu9V7STUz/Dtf8UH7E=;
  b=Pl6RCKidOy53hMl3u9OgllTrCBuThagxP6zWt4pqBM3gXsKSbNG7F7tK
   zC4wGVlrY35oZKltxYiRdpgVknZhCrwbuDeuTfGu/nkhELnJ1dJv6NZNL
   qw4tST/bP3IaOPs8S0si3jp/gpfmH2nAHvZ9/NHcfzbUmxE/1uIpRlKdJ
   ZLRzKuZzcJqZaL4K+3xUwtdLS3Acr9H20fvjYYiEJ5IgqeR6Sf6vhkVPB
   T28RrtY9hDgmdKNuMaOAH02xaxgtBIg2krB7oxYj0/59l5R612FkbnJqV
   rB/Pjw5LQ2NtOst8JJ4WWpQqb0dXOFXUWaXyFiOQpJYRwHrv5HSRdX+4m
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531053"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531053"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729632"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729632"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 04/41] qom/object: Introduce helper to resolve path from non-direct parent
Date: Thu, 30 Nov 2023 22:41:26 +0800
Message-Id: <20231130144203.2307629-5-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

When we support child<> property creation from cli, the peripheral
container (/machine/peripheral) may not be the direct parent of the
devices created from cli.

For this case, add a helper to resolve path from non-direct parent.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 include/qom/object.h | 15 +++++++++++++++
 qom/object.c         | 18 ++++++++++++++++++
 2 files changed, 33 insertions(+)

diff --git a/include/qom/object.h b/include/qom/object.h
index afccd24ca7ab..494eef801be3 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -1562,6 +1562,21 @@ Object *object_resolve_path_type(const char *path, const char *typename,
  */
 Object *object_resolve_path_at(Object *parent, const char *path);
 
+/**
+ * object_resolve_path_from:
+ * @parent: the object from which to resolve the path
+ * @path: the path to resolve
+ * @ambiguous: returns true if the path resolution failed because of an
+ *   ambiguous match
+ *
+ * This is like object_resolve_path_at(), except @parent may be the
+ * partial parent of @path.
+ *
+ * Returns: The resolved object or NULL on path lookup failure.
+ */
+Object *object_resolve_path_from(Object *parent, const char *path,
+                                 bool *ambiguous);
+
 /**
  * object_resolve_path_component:
  * @parent: the object in which to resolve the path
diff --git a/qom/object.c b/qom/object.c
index 95c0dc8285fe..da29e88816b5 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -2192,6 +2192,24 @@ Object *object_resolve_path_at(Object *parent, const char *path)
     return object_resolve_abs_path(parent, parts, TYPE_OBJECT);
 }
 
+Object *object_resolve_path_from(Object *parent, const char *path,
+                                 bool *ambiguousp)
+{
+    g_auto(GStrv) parts = NULL;
+    bool ambiguous = false;
+    Object *obj;
+
+    parts = g_strsplit(path, "/", 0);
+    assert(parts);
+
+    obj = object_resolve_partial_path(parent, parts, TYPE_OBJECT,
+                                      &ambiguous);
+    if (ambiguousp) {
+        *ambiguousp = ambiguous;
+    }
+    return obj;
+}
+
 typedef struct StringProperty
 {
     char *(*get)(Object *, Error **);
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:40:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:40:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644837.1006567 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iCv-0006zT-O1; Thu, 30 Nov 2023 14:40:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644837.1006567; Thu, 30 Nov 2023 14: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 1r8iCu-0006rl-NV; Thu, 30 Nov 2023 14:40:00 +0000
Received: by outflank-mailman (input) for mailman id 644837;
 Thu, 30 Nov 2023 14:37: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i5J-0004Xw-QY
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:32:09 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3d088c85-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:32:07 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:31:39 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:31:29 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3d088c85-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354727; x=1732890727;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=vOtFxW4vj/U4kztv92p8xu/6iieeFFSa0l7Rf+yqZFI=;
  b=kMebdLYII7TqquSHJt71rO4bonxNpIj6X1tCzuTm+tu5KnXJV/aH7mRv
   0oH02zKN/iDWBoAkP2wOOFAN3YsC+nZYH5PbSpdRGDER8PClmF/7TKKjp
   MNaGFkA409nQjrN9AdKqbhvVmk7zSYBGyR85ZoRSjrlxfI+KBUoqwXyrM
   8EM3g0eOVPnWfHJF1SO3VG+Z4JzREqolLjgjpVkuVQL1gCjQpvfaTyWo1
   Zx+w4FG6lzordPe0HqAN2A8h6U3yp4nanj25zIyp81iw8sLToMuxNGAf1
   6Mcf/bd3fUqACoTBR3rEoZfUYfrX60aTQan9CHyrkH4ysYa0N9is7bL/A
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531332"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531332"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729711"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729711"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 07/41] qdev: Introduce parent option in -device
Date: Thu, 30 Nov 2023 22:41:29 +0800
Message-Id: <20231130144203.2307629-8-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Currently, the devices added by "-device" are linked via bus, and are
set the parent as peripheral-anon or peripheral containers of the
machine.

But this is not enough for building CPU topology hierarchies as:
1. The relationship between different CPU hierarchies is child<>
   property other than link<> property, and they shouldn't be linked
   using the special bus.
2. The canonical path of device is built from the child<> property, and
   the well defined CPU topology hierarchies ask their canonical path to
   reflect the correct topological relationship.

With these, the child<> property support is needed for QDev interface to
allow user to configure proper parent in "-device".

Introduce the "parent" option in "-device" to create the child<>
property. This option asks for the device id of the parent device.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/xen/xen-legacy-backend.c |  2 +-
 include/monitor/qdev.h      |  3 ++-
 system/qdev-monitor.c       | 50 ++++++++++++++++++++++++++-----------
 3 files changed, 38 insertions(+), 17 deletions(-)

diff --git a/hw/xen/xen-legacy-backend.c b/hw/xen/xen-legacy-backend.c
index 124dd5f3d687..70ad11c6287e 100644
--- a/hw/xen/xen-legacy-backend.c
+++ b/hw/xen/xen-legacy-backend.c
@@ -184,7 +184,7 @@ static struct XenLegacyDevice *xen_be_get_xendev(const char *type, int dom,
     object_initialize(&xendev->qdev, ops->size, TYPE_XENBACKEND);
     OBJECT(xendev)->free = g_free;
     qdev_set_id(DEVICE(xendev), g_strdup_printf("xen-%s-%d", type, dev),
-                &error_fatal);
+                NULL, &error_fatal);
     qdev_realize(DEVICE(xendev), xen_sysbus, &error_fatal);
     object_unref(OBJECT(xendev));
 
diff --git a/include/monitor/qdev.h b/include/monitor/qdev.h
index f5fd6e6c1ffc..3d9d06158e5f 100644
--- a/include/monitor/qdev.h
+++ b/include/monitor/qdev.h
@@ -16,6 +16,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
  * qdev_set_id: parent the device and set its id if provided.
  * @dev: device to handle
  * @id: id to be given to the device, or NULL.
+ * @parent: parent to be set for the device, or NULL.
  *
  * Returns: the id of the device in case of success; otherwise NULL.
  *
@@ -34,6 +35,6 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
  * returned string is owned by the corresponding child property and must
  * not be freed by the caller.
  */
-const char *qdev_set_id(DeviceState *dev, char *id, Error **errp);
+const char *qdev_set_id(DeviceState *dev, char *id, char *parent, Error **errp);
 
 #endif
diff --git a/system/qdev-monitor.c b/system/qdev-monitor.c
index 0261937b8462..8f56113eef65 100644
--- a/system/qdev-monitor.c
+++ b/system/qdev-monitor.c
@@ -587,22 +587,33 @@ static BusState *qbus_find(const char *path, Error **errp)
 }
 
 static Object *qdev_find_peripheral_parent(DeviceState *dev,
+                                           char *parent_id,
                                            Error **errp)
 {
     Object *parent_obj, *obj = OBJECT(dev);
 
-    parent_obj = uc_provide_default_parent(obj, errp);
-    if (*errp) {
-        return NULL;
-    }
+    if (parent_id) {
+        parent_obj = object_resolve_path_from(qdev_get_peripheral(),
+                                              parent_id, NULL);
+        if (parent_obj) {
+            if (uc_check_user_parent(obj, parent_obj)) {
+                return parent_obj;
+            }
+        }
+    } else {
+        parent_obj = uc_provide_default_parent(obj, errp);
+        if (*errp) {
+            return NULL;
+        }
 
-    if (parent_obj) {
-        /*
-         * Non-anonymous parents (under "/peripheral") are allowed to
-         * be accessed to create child<> properties.
-         */
-        if (object_is_child_from(parent_obj, qdev_get_peripheral())) {
-            return parent_obj;
+        if (parent_obj) {
+            /*
+             * Non-anonymous parents (under "/peripheral") are allowed to
+             * be accessed to create child<> properties.
+             */
+            if (object_is_child_from(parent_obj, qdev_get_peripheral())) {
+                return parent_obj;
+            }
         }
     }
 
@@ -628,7 +639,8 @@ static bool qdev_pre_check_device_id(char *id, Error **errp)
 }
 
 /* Takes ownership of @id, will be freed when deleting the device */
-const char *qdev_set_id(DeviceState *dev, char *id, Error **errp)
+const char *qdev_set_id(DeviceState *dev, char *id,
+                        char *parent, Error **errp)
 {
     Object *parent_obj = NULL;
     ObjectProperty *prop;
@@ -639,7 +651,7 @@ const char *qdev_set_id(DeviceState *dev, char *id, Error **errp)
     uc = (UserChild *)object_dynamic_cast(OBJECT(dev), TYPE_USER_CHILD);
 
     if (uc) {
-        parent_obj = qdev_find_peripheral_parent(dev, errp);
+        parent_obj = qdev_find_peripheral_parent(dev, parent, errp);
         if (*errp) {
             goto err;
         }
@@ -655,6 +667,11 @@ const char *qdev_set_id(DeviceState *dev, char *id, Error **errp)
                 goto err;
             }
         }
+        g_free(parent);
+    } else if (parent) {
+        error_setg(errp, "Only the device implemented user-child "
+                   "interface supports `parent` option.");
+        goto err;
     }
 
     /*
@@ -684,6 +701,7 @@ const char *qdev_set_id(DeviceState *dev, char *id, Error **errp)
 
     return prop->name;
 err:
+    g_free(parent);
     g_free(id);
     return NULL;
 }
@@ -694,7 +712,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
     ERRP_GUARD();
     DeviceClass *dc;
     const char *driver, *path;
-    char *id;
+    char *id, *parent;
     DeviceState *dev = NULL;
     BusState *bus = NULL;
 
@@ -772,12 +790,14 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
     }
 
     id = g_strdup(qdict_get_try_str(opts, "id"));
+    parent = g_strdup(qdict_get_try_str(opts, "parent"));
 
     /* set properties */
     dev->opts = qdict_clone_shallow(opts);
     qdict_del(dev->opts, "driver");
     qdict_del(dev->opts, "bus");
     qdict_del(dev->opts, "id");
+    qdict_del(dev->opts, "parent");
 
     object_set_properties_from_keyval(&dev->parent_obj, dev->opts, from_json,
                                       errp);
@@ -789,7 +809,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
      * set dev's parent and register its id.
      * If it fails it means the id is already taken.
      */
-    if (!qdev_set_id(dev, id, errp)) {
+    if (!qdev_set_id(dev, id, parent, errp)) {
         goto err_del_dev;
     }
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:42:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:42:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644906.1006607 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iFg-00088t-W7; Thu, 30 Nov 2023 14:42:52 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644906.1006607; Thu, 30 Nov 2023 14:42: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 1r8iFg-00088m-Tf; Thu, 30 Nov 2023 14:42:52 +0000
Received: by outflank-mailman (input) for mailman id 644906;
 Thu, 30 Nov 2023 14:42: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i51-0004Xw-Cg
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:31:51 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3239d44c-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:31:49 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:31:20 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:31:10 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 3239d44c-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354709; x=1732890709;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=FvkKzJCE6FUWENQ9f97m08P62P/QoMoZpAQ1rnP03oI=;
  b=UrcGRvFnCAnzdiNOM4AYpNGm+Ui5Ukg46b9RnRhw7MtlrcKLxFtdklZc
   0ThvUH9qT7RHY1teggUxrhswQ7kv0XIrE/k7xZnReSyYPcqu1iaapInBe
   o7DFrWV4L9rqDOuSax5dDX3bWJCdbUBeZ0QMEYZ99GWfKwG+NHmntoNMq
   CDrDZQnrudMWwDp//KrBQhTCnPl52Kk84WB5UflLFSq9nUlLYUZ/ktE1s
   2zng7EqBIiMSTEMhoaaM2WwxWfdMiivvxEXaEjHvDt9egh8lb1d3Uxyzk
   MoTKkkPmgldXgcJzOteGBwCk8c6i6Ybgw35NmW/2efLSV4Xb+tnm5aDrx
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531147"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531147"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729654"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729654"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 05/41] qdev: Set device parent and id after setting properties
Date: Thu, 30 Nov 2023 22:41:27 +0800
Message-Id: <20231130144203.2307629-6-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

The properties setting does not conflict with the creation of child<>
property.

Pre-setting the device's properties can help the device's parent
selection. Some topology devices (e.g., CPUs that support hotplug)
usually define topology sub indexes as properties, and the selection of
their parent needs to be based on these proteries.

Move qdev_set_id() after properties setting to help the next user-child
introduction.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 system/qdev-monitor.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/system/qdev-monitor.c b/system/qdev-monitor.c
index 7ee33a50142a..107411bb50cc 100644
--- a/system/qdev-monitor.c
+++ b/system/qdev-monitor.c
@@ -700,14 +700,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
         }
     }
 
-    /*
-     * set dev's parent and register its id.
-     * If it fails it means the id is already taken.
-     */
     id = g_strdup(qdict_get_try_str(opts, "id"));
-    if (!qdev_set_id(dev, id, errp)) {
-        goto err_del_dev;
-    }
 
     /* set properties */
     dev->opts = qdict_clone_shallow(opts);
@@ -721,6 +714,14 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
         goto err_del_dev;
     }
 
+    /*
+     * set dev's parent and register its id.
+     * If it fails it means the id is already taken.
+     */
+    if (!qdev_set_id(dev, id, errp)) {
+        goto err_del_dev;
+    }
+
     if (!qdev_realize(dev, bus, errp)) {
         goto err_del_dev;
     }
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:45:51 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:45:51 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644911.1006617 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iIU-0000im-DZ; Thu, 30 Nov 2023 14:45:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644911.1006617; Thu, 30 Nov 2023 14: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 1r8iIU-0000if-Av; Thu, 30 Nov 2023 14:45:46 +0000
Received: by outflank-mailman (input) for mailman id 644911;
 Thu, 30 Nov 2023 14:45: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i5C-0004Xw-V8
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:32:03 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 383bf452-8f8d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:32:01 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:31:29 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:31:20 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 383bf452-8f8d-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354721; x=1732890721;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=g5Zw3I63TJXvQFrzB5uJb/WUPaoeW0TH6JE9nfaHRvc=;
  b=X2Gjs1BDL3HcwpZbq51kOtazaSNcIHSN6lgDf+E6ZyjiTpHpy7SIO2wr
   SRSodAr5MYGgn8BgqRCXrOQGCYFHEd8JFRA8xnH8PYxlFlf0i5yGylNvF
   8CX+di/vhoRvTXnJ4xcah0YTjr3X6ubjzoiDTttf3tBpsRMQ6+wOApB/n
   5oIMYIY0ziSVCCLn5gY342500hBv+Kles1jUOvD4LJaWVYjuA2Mc6Sim8
   IhNLKMBqLOq3mDLvzf7nv83RyzmurrFBvlKPkAyZWWaS5g84eUqu0Hxio
   G7sQn4hGV2Nroq/j4G4QEX/oH6L9c2bbJaePVGw5g+S6Xki2Me6KQ9XM8
   w==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479531251"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479531251"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942729699"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942729699"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 06/41] qdev: Introduce user-child interface to collect devices from -device
Date: Thu, 30 Nov 2023 22:41:28 +0800
Message-Id: <20231130144203.2307629-7-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Topology relationship is based on child<> property, therefore introduce
a new user-child interface to help bus-less devices create child<>
property from cli.

User-child interface works in qdev_set_id(), where the child<> property
is created for cli devices.

With several methods, user-child could provide the specific "parent"
device other than the default peripheral/peripheral-anon container.

The topology root (cpu-slot) could collect topology devices based on
user-child implementation.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 MAINTAINERS                  |  2 +
 include/monitor/user-child.h | 57 +++++++++++++++++++++++
 include/qom/object.h         | 11 +++++
 qom/object.c                 | 13 ++++++
 system/meson.build           |  1 +
 system/qdev-monitor.c        | 89 +++++++++++++++++++++++++++++++++---
 system/user-child.c          | 72 +++++++++++++++++++++++++++++
 7 files changed, 239 insertions(+), 6 deletions(-)
 create mode 100644 include/monitor/user-child.h
 create mode 100644 system/user-child.c

diff --git a/MAINTAINERS b/MAINTAINERS
index 695e0bd34fbb..fdbabaa983cc 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -3208,12 +3208,14 @@ F: hw/core/bus.c
 F: hw/core/sysbus.c
 F: include/hw/qdev*
 F: include/monitor/qdev.h
+F: include/monitor/user-child.h
 F: include/qom/
 F: qapi/qom.json
 F: qapi/qdev.json
 F: scripts/coccinelle/qom-parent-type.cocci
 F: scripts/qom-cast-macro-clean-cocci-gen.py
 F: system/qdev-monitor.c
+F: system/user-child.c
 F: stubs/qdev.c
 F: qom/
 F: tests/unit/check-qom-interface.c
diff --git a/include/monitor/user-child.h b/include/monitor/user-child.h
new file mode 100644
index 000000000000..e246fcefe40a
--- /dev/null
+++ b/include/monitor/user-child.h
@@ -0,0 +1,57 @@
+/*
+ * Child configurable interface header.
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#ifndef USER_CHILD_H
+#define USER_CHILD_H
+
+#include "qom/object.h"
+
+#define TYPE_USER_CHILD "user-child"
+
+typedef struct UserChildClass UserChildClass;
+DECLARE_CLASS_CHECKERS(UserChildClass, USER_CHILD, TYPE_USER_CHILD)
+#define USER_CHILD(obj) INTERFACE_CHECK(UserChild, (obj), TYPE_USER_CHILD)
+
+typedef struct UserChild UserChild;
+
+/**
+ * UserChildClass:
+ * @get_parent: Method to get the default parent if user doesn't specify
+ *     the parent in cli.
+ * @get_child_name: Method to get the default device id for this device
+ *     if user doesn't specify id in cli.
+ * @check_parent: Method to check if the parent specified by user in cli
+ *     is valid.
+ */
+struct UserChildClass {
+    /* <private> */
+    InterfaceClass parent_class;
+
+    /* <public> */
+    Object *(*get_parent)(UserChild *uc, Error **errp);
+    char *(*get_child_name)(UserChild *uc, Object *parent);
+    bool (*check_parent)(UserChild *uc, Object *parent);
+};
+
+Object *uc_provide_default_parent(Object *obj, Error **errp);
+char *uc_name_future_child(Object *obj, Object *parent);
+bool uc_check_user_parent(Object *obj, Object *parent);
+
+#endif /* USER_CHILD_H */
diff --git a/include/qom/object.h b/include/qom/object.h
index 494eef801be3..f725d9452c76 100644
--- a/include/qom/object.h
+++ b/include/qom/object.h
@@ -1484,6 +1484,17 @@ Object *object_get_objects_root(void);
  */
 Object *object_get_internal_root(void);
 
+/**
+ * object_is_child_from:
+ * @child: the object.
+ * @parent: the parent/non-direct parent object.
+ *
+ * Check whether @parent is the parent/non-direct parent of @child.
+ *
+ * Returns: true iff @parent is the parent/non-direct parent of @child.
+ */
+bool object_is_child_from(const Object *child, const Object *parent);
+
 /**
  * object_get_canonical_path_component:
  * @obj: the object
diff --git a/qom/object.c b/qom/object.c
index da29e88816b5..d6f55aa59504 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -2024,6 +2024,19 @@ object_property_add_const_link(Object *obj, const char *name,
                                 NULL, OBJ_PROP_LINK_DIRECT);
 }
 
+bool object_is_child_from(const Object *child, const Object *parent)
+{
+    Object *obj = child->parent;
+
+    while (obj) {
+        if (obj == parent) {
+            return true;
+        }
+        obj = obj->parent;
+    }
+    return false;
+}
+
 const char *object_get_canonical_path_component(const Object *obj)
 {
     ObjectProperty *prop = NULL;
diff --git a/system/meson.build b/system/meson.build
index 3a64dd89de1f..ac682a3ca9e1 100644
--- a/system/meson.build
+++ b/system/meson.build
@@ -24,6 +24,7 @@ system_ss.add(files(
   'runstate-hmp-cmds.c',
   'runstate.c',
   'tpm-hmp-cmds.c',
+  'user-child.c',
   'vl.c',
 ), sdl, libpmem, libdaxctl)
 
diff --git a/system/qdev-monitor.c b/system/qdev-monitor.c
index 107411bb50cc..0261937b8462 100644
--- a/system/qdev-monitor.c
+++ b/system/qdev-monitor.c
@@ -22,6 +22,7 @@
 #include "monitor/hmp.h"
 #include "monitor/monitor.h"
 #include "monitor/qdev.h"
+#include "monitor/user-child.h"
 #include "sysemu/arch_init.h"
 #include "qapi/error.h"
 #include "qapi/qapi-commands-qdev.h"
@@ -585,26 +586,93 @@ static BusState *qbus_find(const char *path, Error **errp)
     return bus;
 }
 
+static Object *qdev_find_peripheral_parent(DeviceState *dev,
+                                           Error **errp)
+{
+    Object *parent_obj, *obj = OBJECT(dev);
+
+    parent_obj = uc_provide_default_parent(obj, errp);
+    if (*errp) {
+        return NULL;
+    }
+
+    if (parent_obj) {
+        /*
+         * Non-anonymous parents (under "/peripheral") are allowed to
+         * be accessed to create child<> properties.
+         */
+        if (object_is_child_from(parent_obj, qdev_get_peripheral())) {
+            return parent_obj;
+        }
+    }
+
+    return NULL;
+}
+
+static bool qdev_pre_check_device_id(char *id, Error **errp)
+{
+    bool ambiguous = false;
+    Object *obj;
+
+    if (!id) {
+        return true;
+    }
+
+    obj = object_resolve_path_from(qdev_get_peripheral(), id, &ambiguous);
+    if (obj || ambiguous) {
+        error_setg(errp, "Duplicate device default ID '%s'. "
+                   "Please specify another 'id'", id);
+        return false;
+    }
+    return true;
+}
+
 /* Takes ownership of @id, will be freed when deleting the device */
 const char *qdev_set_id(DeviceState *dev, char *id, Error **errp)
 {
+    Object *parent_obj = NULL;
     ObjectProperty *prop;
+    UserChild *uc;
 
     assert(!dev->id && !dev->realized);
 
+    uc = (UserChild *)object_dynamic_cast(OBJECT(dev), TYPE_USER_CHILD);
+
+    if (uc) {
+        parent_obj = qdev_find_peripheral_parent(dev, errp);
+        if (*errp) {
+            goto err;
+        }
+
+        if (!id && parent_obj) {
+            /*
+             * Covert anonymous device with user-child interface to
+             * non-anonymous, then it will be insert under "/peripheral"
+             * path.
+             */
+            id = uc_name_future_child(OBJECT(dev), parent_obj);
+            if (!qdev_pre_check_device_id(id, errp)) {
+                goto err;
+            }
+        }
+    }
+
     /*
      * object_property_[try_]add_child() below will assert the device
      * has no parent
      */
     if (id) {
-        prop = object_property_try_add_child(qdev_get_peripheral(), id,
+        if (!parent_obj) {
+            parent_obj = qdev_get_peripheral();
+        }
+
+        prop = object_property_try_add_child(parent_obj, id,
                                              OBJECT(dev), NULL);
         if (prop) {
             dev->id = id;
         } else {
             error_setg(errp, "Duplicate device ID '%s'", id);
-            g_free(id);
-            return NULL;
+            goto err;
         }
     } else {
         static int anon_count;
@@ -615,6 +683,9 @@ const char *qdev_set_id(DeviceState *dev, char *id, Error **errp)
     }
 
     return prop->name;
+err:
+    g_free(id);
+    return NULL;
 }
 
 DeviceState *qdev_device_add_from_qdict(const QDict *opts, long *category,
@@ -885,12 +956,18 @@ void qmp_device_add(QDict *qdict, QObject **ret_data, Error **errp)
 
 static DeviceState *find_device_state(const char *id, Error **errp)
 {
-    Object *obj = object_resolve_path_at(qdev_get_peripheral(), id);
+    bool ambiguous = false;
     DeviceState *dev;
+    Object *obj;
 
+    obj = object_resolve_path_from(qdev_get_peripheral(), id, &ambiguous);
     if (!obj) {
-        error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
-                  "Device '%s' not found", id);
+        if (ambiguous) {
+            error_setg(errp, "Device ID '%s' is ambiguous", id);
+        } else {
+            error_set(errp, ERROR_CLASS_DEVICE_NOT_FOUND,
+                      "Device '%s' not found", id);
+        }
         return NULL;
     }
 
diff --git a/system/user-child.c b/system/user-child.c
new file mode 100644
index 000000000000..1e667f09cc87
--- /dev/null
+++ b/system/user-child.c
@@ -0,0 +1,72 @@
+/*
+ * Child configurable interface.
+ *
+ * Copyright (c) 2023 Intel Corporation
+ * Author: Zhao Liu <zhao1.liu@intel.com>
+ *
+ * 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/>.
+ */
+
+#include "qemu/osdep.h"
+
+#include "monitor/user-child.h"
+
+Object *uc_provide_default_parent(Object *obj, Error **errp)
+{
+    UserChild *uc = USER_CHILD(obj);
+    UserChildClass *ucc = USER_CHILD_GET_CLASS(uc);
+
+    if (ucc->get_parent) {
+        return ucc->get_parent(uc, errp);
+    }
+
+    return NULL;
+}
+
+char *uc_name_future_child(Object *obj, Object *parent)
+{
+    UserChild *uc = USER_CHILD(obj);
+    UserChildClass *ucc = USER_CHILD_GET_CLASS(uc);
+
+    if (ucc->get_child_name) {
+        return ucc->get_child_name(uc, parent);
+    }
+
+    return NULL;
+}
+
+bool uc_check_user_parent(Object *obj, Object *parent)
+{
+    UserChild *uc = USER_CHILD(obj);
+    UserChildClass *ucc = USER_CHILD_GET_CLASS(uc);
+
+    if (ucc->check_parent) {
+        ucc->check_parent(uc, parent);
+    }
+
+    return true;
+}
+
+static const TypeInfo user_child_interface_info = {
+    .name          = TYPE_USER_CHILD,
+    .parent        = TYPE_INTERFACE,
+    .class_size = sizeof(UserChildClass),
+};
+
+static void user_child_register_types(void)
+{
+    type_register_static(&user_child_interface_info);
+}
+
+type_init(user_child_register_types)
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:52:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:52:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644919.1006628 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iP5-0002vI-93; Thu, 30 Nov 2023 14:52:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644919.1006628; Thu, 30 Nov 2023 14: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 1r8iP5-0002vB-5Y; Thu, 30 Nov 2023 14:52:35 +0000
Received: by outflank-mailman (input) for mailman id 644919;
 Thu, 30 Nov 2023 14: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8iP4-0002v5-7M
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:52:34 +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 16e19bdb-8f90-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:52:31 +0100 (CET)
Received: by mail-wm1-x32a.google.com with SMTP id
 5b1f17b1804b1-40b552deba0so9739525e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 06:52:31 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 g14-20020a05600c310e00b0040b481222e3sm5978469wmo.41.2023.11.30.06.52.30
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 06:52:30 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 16e19bdb-8f90-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701355951; x=1701960751; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=Dylb9GtPZfUUsFcjIq/QYTzqyPgTEh2O7rbe0XEYzNA=;
        b=sTVG+GKjECZVWxCbJNZo0WuXKSG13RbpRgPGXs/kGo6eWrP6odNWlrHlx7CxR8sxN1
         Io/UBtiCLHpM7vNe6SfoHIyY+zLarcA7TZRYz1Iz0dMWuXnld/Rz3jUQPvEIU/OuPvfX
         hv1/6QaVawSLtpYcpWiYh6R3QZKp1zWErVW04=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701355951; x=1701960751;
        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:subject:date:message-id:reply-to;
        bh=Dylb9GtPZfUUsFcjIq/QYTzqyPgTEh2O7rbe0XEYzNA=;
        b=iyNtu0ABTTilT+vGvJhmuzp73DxyrUaKgONKbSVYKUIpKYqP2KjC9Pe6jD9fLC5UsB
         UX/3sB+lIFV8dONR41ZtkSGW8NdsHuVoZ/o1QzU4GfOphXKSWPJ/NwcrWIgSCo6pzRyI
         5WslwumYiBDemd2hcuK3dCcI1IKXwVd523KX/o2qWx4tHFALYGraZ92RqZ6MvSopTbiv
         JVLRLLy1U3AqTO9Wt9hqpUJ5DNmMUGG37OZhjd0lEgMmlcjcKkEl+62LWk6craf4B1mE
         u+Wdhgq0uSPierOohDrVVnss6Jacp/rjDxgJD+eYv8jV6+fvOFFtFGjaHaHgMIKEL/ZK
         rCvw==
X-Gm-Message-State: AOJu0YzX9x1vscNOmfjPK7cGxOCJJPrsWz91jA/QtjF2Ekdbwpgigl8i
	BESOJlBmzODXmaHsyUSu6gtRkw==
X-Google-Smtp-Source: AGHT+IELK2lkjIDqTqnI/AsoJHdM7By6uJrffUpYfI5y842mXyqUl3S0BQ+j1H7uBiZTmCazCbCfVg==
X-Received: by 2002:a05:600c:1909:b0:40b:4aa9:91a9 with SMTP id j9-20020a05600c190900b0040b4aa991a9mr6295680wmq.8.1701355951203;
        Thu, 30 Nov 2023 06:52:31 -0800 (PST)
Date: Thu, 30 Nov 2023 15:52:30 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Daniel P. Smith" <dpsmith@apertussolutions.com>
Cc: "Chen, Jiqian" <Jiqian.Chen@amd.com>, Jan Beulich <jbeulich@suse.com>,
	Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>,
	"Huang, Ray" <Ray.Huang@amd.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 1/3] xen/vpci: Clear all vpci status of device
Message-ID: <ZWihrmHpIrI_ccX4@macbook>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-2-Jiqian.Chen@amd.com>
 <ZWX0U1tYooY70UJo@macbook>
 <BL1PR12MB58493CC28A32E3C9B3A1767FE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
 <14d2dd16-be21-4e9a-97eb-bb477af49e73@apertussolutions.com>
 <930da43f-0395-40cb-a79d-012c4e1acbcb@apertussolutions.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <930da43f-0395-40cb-a79d-012c4e1acbcb@apertussolutions.com>

On Thu, Nov 30, 2023 at 07:39:38AM -0500, Daniel P. Smith wrote:
> On 11/30/23 07:25, Daniel P. Smith wrote:
> > On 11/30/23 01:22, Chen, Jiqian wrote:
> > > Hi Roger and Daniel P. Smith,
> > > 
> > > On 2023/11/28 22:08, Roger Pau Monné wrote:
> > > > On Fri, Nov 24, 2023 at 06:41:34PM +0800, Jiqian Chen wrote:
> > > > > When a device has been reset on dom0 side, the vpci on Xen
> > > > > side won't get notification, so the cached state in vpci is
> > > > > all out of date compare with the real device state.
> > > > > To solve that problem, this patch add new hypercall to clear
> > > > > all vpci device state. And when reset device happens on dom0
> > > > > side, dom0 can call this hypercall to notify vpci.
> > > > > 
> > > > > Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
> > > > > Signed-off-by: Huang Rui <ray.huang@amd.com>
> > > > > ---
> > > > >   xen/arch/x86/hvm/hypercall.c  |  1 +
> > > > >   xen/drivers/passthrough/pci.c | 21 +++++++++++++++++++++
> > > > >   xen/drivers/pci/physdev.c     | 14 ++++++++++++++
> > > > >   xen/drivers/vpci/vpci.c       |  9 +++++++++
> > > > >   xen/include/public/physdev.h  |  2 ++
> > > > >   xen/include/xen/pci.h         |  1 +
> > > > >   xen/include/xen/vpci.h        |  6 ++++++
> > > > >   7 files changed, 54 insertions(+)
> > > > > 
> > > > > diff --git a/xen/arch/x86/hvm/hypercall.c
> > > > > b/xen/arch/x86/hvm/hypercall.c
> > > > > index eeb73e1aa5..6ad5b4d5f1 100644
> > > > > --- a/xen/arch/x86/hvm/hypercall.c
> > > > > +++ b/xen/arch/x86/hvm/hypercall.c
> > > > > @@ -84,6 +84,7 @@ long hvm_physdev_op(int cmd,
> > > > > XEN_GUEST_HANDLE_PARAM(void) arg)
> > > > >       case PHYSDEVOP_pci_mmcfg_reserved:
> > > > >       case PHYSDEVOP_pci_device_add:
> > > > >       case PHYSDEVOP_pci_device_remove:
> > > > > +    case PHYSDEVOP_pci_device_state_reset:
> > > > >       case PHYSDEVOP_dbgp_op:
> > > > >           if ( !is_hardware_domain(currd) )
> > > > >               return -ENOSYS;
> > > > > diff --git a/xen/drivers/passthrough/pci.c
> > > > > b/xen/drivers/passthrough/pci.c
> > > > > index 04d00c7c37..f871715585 100644
> > > > > --- a/xen/drivers/passthrough/pci.c
> > > > > +++ b/xen/drivers/passthrough/pci.c
> > > > > @@ -824,6 +824,27 @@ int pci_remove_device(u16 seg, u8 bus, u8 devfn)
> > > > >       return ret;
> > > > >   }
> > > > > +int pci_reset_device_state(u16 seg, u8 bus, u8 devfn)
> > > > 
> > > > You could use pci_sbdf_t here instead of 3 parameters.
> > > Will change in next version, thank you.
> > > 
> > > > 
> > > > I'm however unsure whether we really need this helper just to fetch
> > > > the pdev and call vpci_reset_device_state(), I think you could place
> > > > this logic directly in pci_physdev_op().  Unless there are plans to
> > > > use such logic outside of pci_physdev_op().
> > > If I place the logic of pci_reset_device_state directly in
> > > pci_physdev_op. I think I need to declare vpci_reset_device_state in
> > > pci.h? If it is suitable, I will change in next version.
> > > 
> > > > 
> > > > > +{
> > > > > +    struct pci_dev *pdev;
> > > > > +    int ret = -ENODEV;
> > > > 
> > > > Some XSM check should be introduced fro this operation, as none of the
> > > > existing ones is suitable.  See xsm_resource_unplug_pci() for example.
> > > > 
> > > > xsm_resource_reset_state_pci() or some such I would assume.
> > > I don't know what I should do in XSM function(assume it is
> > > xsm_resource_reset_state_pci).
> > > Hi Daniel P. Smith, could you please give me some suggestions?
> > > Just to check the XSM_PRIV action?
> > > 
> > 
> > Roger, thank you for seeing this and adding me in!
> > 
> > Jiqian, I just wanted to let you know I have seen your post but I have
> > been a little tied up this week. Just with the cursory look, I think
> > Roger is suggesting a new XSM check/hook is warranted.
> > 
> > If you would like to attempt at writing the dummy policy side, mimic
> > xsm_resource_plug_pci in xen/include/xsm/dummy.h and
> > xen/include/xsm/xsm.h, then I can look at handling the FLASK portion
> > next week and provide it to you for inclusion into the series. If you
> > are not comfortable with it, I can look at the whole thing next week.
> > Just let me know what you would be comfortable with.
> 
> Apologies, thinking about for a moment and was thinking the hook should be
> called xsm_resource_config_pci. I would reset as a config operation and
> there might be new ones in the future. I do not believe there is a need to
> have fine grain access control down to individual config operation, thus
> they could all be captured under this one hook. Roger, what are your
> thoughts about this, in particular how you see vpci evolving?

So the configuration space reset should only be done by the domain
that's also capable of triggering the physical device reset, usually
the hardware domain.  I don't think it's possible ATM to allow a
domain different than the hardware domain to perform a PCI reset, as
doing it requires unmediated access to the PCI config space.

So resetting the vPCI state should either be limited to the hardware
domain, or to a pci reset capability explicitly
(xsm_resource_reset_pci or some such?).  Or maybe
xsm_resource_config_pci if that denotes unmediated access to the PCI
config space.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 14:56:15 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 14:56:15 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644925.1006637 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iSa-0004FV-Nb; Thu, 30 Nov 2023 14:56:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644925.1006637; Thu, 30 Nov 2023 14: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 1r8iSa-0004FO-L5; Thu, 30 Nov 2023 14:56:12 +0000
Received: by outflank-mailman (input) for mailman id 644925;
 Thu, 30 Nov 2023 14: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8iSZ-0004FI-CP
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:56:11 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20630.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::630])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 977a1b1a-8f90-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 15:56:08 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM0PR04MB7121.eurprd04.prod.outlook.com (2603:10a6:208:19a::18)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.13; Thu, 30 Nov
 2023 14:56:05 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 14:56: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: 977a1b1a-8f90-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=M31+F4q6UtN7iQGVFMs2FyT48UX8Ne52EFmPpIERPFQbUaPjRXE+VtNra4FEk77qtvIkE+ilLQxfZMYUSAOlueo0jPCXbRqdthkwHFmIgt5zhOFXKXwI7XDLVeAjgz9jSiHoPMzv1jFdSLpNseRv1+KTydbvNb17P/B/Rkiu6BCD1AYzsXIt55iv5Trkh+T8kWBrYaVEPBHrXwQbQq6bA/G9KWMPEEQ+wSdhF2esDp7iuLhKPm1jVdOoajwwxGlAzuJLP86YUinbS2otDpdNSQ3/4uLaCu+jczyZqke0Px7lDBtxLyR4FRYUhTTLiwlhfTu8uLUJKmQnapI1f0mzgw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=JA2JsnWmhLgl9JQHDMRHy/d+zziDh1kMfmjR+Y/DxuQ=;
 b=g9nmQ8oULO0gnMI5z4YNG21Tpijs1S84X3fkT7fjUE27LbPIaNuTrNG8B6RqWjHN2m6sLw4Nm02ow4LHSmPs3o+J00v3n0+JAFME7yx5j//Cvoc0D6rXjQD5SChG8TtDPUUivPst37UnK/h73ESW1MYtxIlncfFw3XtnVdd39hr9JcarEhgnbd7U55cGsvnhpW9FBstDEOvNOBBfEsirUpEmR/cu9oxHbtrrDbKzgWxOx9nYU/e9T2GnGzcBr8DVIHVSBeaVWgKgWPcjljHz9BrcrB9S9TrWddZcj1+U9kwnfIFhmgPBah082MFnaD13pbjvsgc/bhr+Wnlpn27OKQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=JA2JsnWmhLgl9JQHDMRHy/d+zziDh1kMfmjR+Y/DxuQ=;
 b=K0eszqQHaNX3LdMH3BZSW+JtW9G45CXd4hZmx7pCqkt9TJO/1yq3hXrakCvoLHrMmJbpP2dBAEjz9woNTfOdLTzZh5prjJotOw61wh6qqBFM77fE6PzpGDKFzYr9LCqaid/YVCrjvMmdSuElQqA/DEX5mzJ2imyZCzMORzfcjVwmb3FflA+tPN+dkvEMNA9HhoeEg5wlN/WqvxOzeNwvAAb3QAtTHVAgvRtldj+A+h4J4LSl+efiOkn2uyWM8EFvDlk1uw/Ul2cn4fXdsKOySiN6Y6R77ZyUTgfFlb7id0RBxH1Zv0rs/XwwCNn+5xvNzdWIQOj1kE5rf4L4t6c2UA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0bf576e1-b9ce-44f5-9866-7b67706a100c@suse.com>
Date: Thu, 30 Nov 2023 15:56:03 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH] x86/DMI: adjustments to comply with Misra C:2012 Rule 9.3
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>, 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>,
 Nicola Vetrini <nicola.vetrini@bugseng.com>
References: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4876b0a8-b96b-4f60-8040-a346b2655645@suse.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR0P281CA0040.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:48::11) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM0PR04MB7121:EE_
X-MS-Office365-Filtering-Correlation-Id: f30796c1-4d4b-4473-fa68-08dbf1b47a0e
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	2nLcK7tAphibJF5cmT3PIUBMz3xmm3xEWK+avimfr1tiVIhswwuW7BcmfhXLakUACTyYOejcdKTEKxJk3AmNAqD+o8+bLcDIYrDbzUpCP3YQ7bHzBOlz/Kgqu6QfJLC99pFl88ddWFJnDIKleFUjxb6yPIIZQ3Dw/kE+XT/dU5+kWwOIRz+ON0x3Jq3+iFRSYy/wrUJE5tjLt4t56M1+jDUtF0UICEqnQXZM+AIP5PUscGeGLza/Upi8sotl9qEAIUEmHBWSTpwH0iaD6sHr3+WCDw9XE7pfwwHHeh6kEOKmN0XsLp/qyTwARtdW1uVcgO+LWjncZnzjcy+oKkKbA/YZy2brZKjAZiAkjuVueFDlmLMlecVbBJCwRjcVklZeX2tZ3YV50WekXaifJdWoRlfe1/RLvNXBcwpVcZBEC1n/OFxG2rjp6t44kn6kzw3lKgW1vvrQbf4Ea/27041CkfMPxgc/R6nQ3ywAlciygzj9goZYg5piwRBpSt5oWgJBdtvcUFDc8RHszrSDPk1xaFbOa/bWTRZSOxEgXqscGQl0hfls10NGU6LrBBz7Z4eiqYpS5+w6+mjkbvGf8VGAE/7JimhUwrcTJ6JhH/1WuGtpldZdxnpWsk/VQjfrg25BjeP0K6IYYsi1YYvxJiqXyQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(346002)(376002)(396003)(366004)(136003)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(86362001)(6506007)(26005)(53546011)(6512007)(2616005)(41300700001)(5660300002)(4326008)(8676002)(8936002)(4744005)(478600001)(2906002)(6486002)(316002)(66556008)(66476007)(54906003)(6916009)(66946007)(31696002)(36756003)(38100700002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?WHNpUUlxQ3c2dm9aUWtQYU9uQ1UrcmFReWhqcUROZHd5RDdvbkp1bUduL1Mv?=
 =?utf-8?B?YVlOL1E4NUxOclFLc3lDWlVlTXZNdjgzNEd5SHRGRTNSLzZMSW50cHpjbGdS?=
 =?utf-8?B?OXVEZW1lQSttS00zOU4yemRmRlhtUHhkVlJIcy9kdWNGWDAwY290TGlYTE5p?=
 =?utf-8?B?VFk1bDhzWTFkckxkOFFtNGh3VDl1eTZsMTltTk8vN051STdodnppZ1A0RTQv?=
 =?utf-8?B?ZDc5SFpkeE95NjlhS0lnQkdlRW4ySmVRRVhhcmg2MzBkakY4dkVLZnI5dDA4?=
 =?utf-8?B?YWpiSC9TQ1VaZG9uTVN6aDU1YjZYU0RmcnlYQ0FYWWlkZTVPakxQRjBITHdr?=
 =?utf-8?B?QmtWT2dWMG5IZE40WlB6K1BTNFZSb3VlVDVaUW14Vm5MZkVqUVdWdjE0VTBa?=
 =?utf-8?B?TUIvcDY4OVEwVjR5RUh3WDhQL3NhODFSTXhhYzBtaTV1eC9kaVBrNXhIUWNx?=
 =?utf-8?B?MHI2SzE4Z3FJUXd3UFdSanBXeE5aQ3ZCZEU2V0lvNzdzRlhwOGhMN0lxbUh0?=
 =?utf-8?B?YWY3U2NNZUhwcmszRzdkaVdodE8rNHFTNnlrTkFXQUd1OHc1bFc3QXhkeE92?=
 =?utf-8?B?ckt2QXRFRlVvbVkzZWhSVkJKaXB5dXprcDNQQWtHNElWZGNyUkFhaXVHeU5z?=
 =?utf-8?B?V1RVS0FyaE5EZ21OQ2Z5ZkN5TXJXUXl6dHlNL1NmU0F4c1JoSTAyNWdpMnY1?=
 =?utf-8?B?TG9jYlArL2s2Rk85aXFLTXlrbzcxSmhKWXkrNEdIWEJJdGNYdC9QUmZUeXhZ?=
 =?utf-8?B?bWM3bHl6MmhEc2JBR0VPd2RvN29ERGVyRmhCRnRwVWhHSVF5NmdmMnVoZWhx?=
 =?utf-8?B?UG43VGFMN2JZTkRoY1BxNXppR2xYdkhVV3pUQklJamlBR0VvajBTTGxYTW5i?=
 =?utf-8?B?dVFTWUsraCtzaVhGZU9jdnRsU2lHcFpxN3locGJnaEVoNnFFY2FWYW1Rbnlm?=
 =?utf-8?B?V0pWd0dxQTJnV2FRM3k5SUtNTXloS2d6WDg5eCtYSllQdUg5WjZhYkI1bVo4?=
 =?utf-8?B?b3NDcFBpR09LN09MS2o0ekUxcmtlRklieFgvZWcxMmNpdzg2S3N5VTZ4NlVE?=
 =?utf-8?B?OUFrcHI5MkppVGZIUnVHK2o0QzAxOU9SM3NGVEtWcUw1dnBOc0FlVkM0MGFt?=
 =?utf-8?B?SzVLVFQwWHFzcUxVdE1qZGx0c1BpaG0vbEtWU0ptMVNoNmtzK0FvVWRKR0hS?=
 =?utf-8?B?ZThVTmhDS2ZvMUh0a1VHWEZGRzVDalovZDA2YTVLdXNiUGljMy9nYmk4MCt2?=
 =?utf-8?B?OXJ2Z1pJRXlidmtpdnl1UjNaRmZEcTBrdUNMN2Y3Z2hLSlVhTi90cndLdkh1?=
 =?utf-8?B?eTVKNFhWV2FxeEk3eUE0YUVIN0QwUENIL05lY3dOc3g0WGJpR05UTHFtRUVV?=
 =?utf-8?B?OXMvc0NNWGYzNUxyOGowd293RG1qN2drbGE3cmcxc293RTJCUE5oQllidG51?=
 =?utf-8?B?cW5Md1FoN0tKUUswQ2Qvc1NISUhoR1d6Q2dsSXJvTE0yQk1DaGFHM3hjSEkw?=
 =?utf-8?B?Q0VLYTZXdSsza1hxMTJYUVNLdm03WDdCdlpNbTFLd0tReDFWcllaVERmVGdt?=
 =?utf-8?B?NVprdTNhQ1RxWmZqOGZSczhUMGVRNHpGNzdtcUdRWllXUzFZSTBIS0gwdkU2?=
 =?utf-8?B?RGJCU1YyUktybEx2VWk4eVNadUllbnFiMG9BVlVZV2hSR2JOb0xOR2pra0hU?=
 =?utf-8?B?M3FURnF5Qk9IYXhROGtLSUk5aG11YnNSam5OQUxVbksyZjFZQ2orU1RUT3ls?=
 =?utf-8?B?QUhDSmpHVmo0VFFNdDZNclpreURZTWhBVjNCT1dKbnlaNjdDaGdlckp5bGJS?=
 =?utf-8?B?WDQ2cEVlU0FaUzdYVjN1dGp4N3ZSNDNhUUhyNXBPQ2lIUitPZHBTVTg5UUZE?=
 =?utf-8?B?OFRUdEtLcEJSMk9xZkI2Z3pJWUFTTW9TVjlKNUhwd2hNMUx1dFJPOGVGUkwx?=
 =?utf-8?B?eFVOeEtDYldYUUV1RkIrQVVJRFpvRmc2c0EvSXNUaUxZbmtwVDJ3ZUx5SXFy?=
 =?utf-8?B?bjdzd3dxSDJYbE9aMWVxaVBSbTF4eWV4d2NTN01DNzc1OW41dnQxam5rRmxQ?=
 =?utf-8?B?bS93eDBaV1BRZ3ZHN21UaGwrQ3Y3OWt3cnE2Y1p0dWI0SEVzdERhUE15dVpF?=
 =?utf-8?Q?sEESVZh/f6lWXun3Aco2PCyp8?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f30796c1-4d4b-4473-fa68-08dbf1b47a0e
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 14:56:04.9372
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: z3VndfkpwGkrIIa/peLvQg150lDXTIEPhlbw3jVAnDeyPa1awal5pWVhN0crkkbRThTTjQxN4Gt+x7InhE+UTQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB7121

On 30.11.2023 08:55, Jan Beulich wrote:
> The rule demands that all array elements be initialized (or dedicated
> initializers be used). Introduce a small set of macros to allow doing so
> without unduly affecting use sites (in particular in terms of how many
> elements .matches[] actually has; right now there's no use of
> DMI_MATCH4(), so we could even consider reducing the array size to 3).
> 
> Note that DMI_MATCH() needs adjustment because of the comma included in
> its expansion, which - due to being unparenthesized - would otherwise
> cause macro arguments in the "further replacement" step to be wrong.

Sadly this doesn't work with older gcc (4.8.5 is what I had an issue with,
complaining "initializer element is not constant").

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:03:27 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:03:27 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644934.1006647 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iZT-0007ra-Dg; Thu, 30 Nov 2023 15:03:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644934.1006647; Thu, 30 Nov 2023 15: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 1r8iZT-0007rT-B9; Thu, 30 Nov 2023 15:03:19 +0000
Received: by outflank-mailman (input) for mailman id 644934;
 Thu, 30 Nov 2023 15:03: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=/hl0=HL=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r8iZR-0007rN-JM
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:03:17 +0000
Received: from NAM12-DM6-obe.outbound.protection.outlook.com
 (mail-dm6nam12on20621.outbound.protection.outlook.com
 [2a01:111:f400:fe59::621])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 957fb148-8f91-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 16:03:14 +0100 (CET)
Received: from CH0PR03CA0085.namprd03.prod.outlook.com (2603:10b6:610:cc::30)
 by SN7PR12MB8103.namprd12.prod.outlook.com (2603:10b6:806:355::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Thu, 30 Nov
 2023 15:03:11 +0000
Received: from DS2PEPF00003447.namprd04.prod.outlook.com
 (2603:10b6:610:cc:cafe::a7) by CH0PR03CA0085.outlook.office365.com
 (2603:10b6:610:cc::30) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.24 via Frontend
 Transport; Thu, 30 Nov 2023 15:03:11 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 DS2PEPF00003447.mail.protection.outlook.com (10.167.17.74) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Thu, 30 Nov 2023 15:03:10 +0000
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.34; Thu, 30 Nov
 2023 09:03:07 -0600
Received: from [172.27.137.28] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Thu, 30 Nov 2023 09:03:04 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 957fb148-8f91-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=WuXxCCq93TEs+cYSdr60I22HQfUnnoKryJ3HAmvy+lkYS7KRa7bvT9HUaHIHk3R7LmhrFF4RIr2QpOzw9kKY06u2/88wLiYmxnyNkUv4BOCXY/DCxmZDVdTi/m42vEEeSnqcpSjL+Q3n/UzSzzUxFK03J3y/I/GE/SFbVrJNK2h3J3YyzfJuijvlz1XavrUuD2xL8TlFH/zBg51zc6Cu8seSYB4TrKreiNejvmctPqfglrQZ7K9jW93liagvMLqtWHX1r8NvVYtLH/9/xbK9h34AvtwKdtyA9uJYJCCRX/8UG2Mi1u0ZF7/emZBEpbcp+93qVcIGyID4/xwB9sxIqw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=eBFIVtiQXa0sNx/4VzJnx+rOix4DIGI+pZcFJLf3UZw=;
 b=ZuaUS0uxj68MnNbglX1WG9af5nVMtnfzFVYl9HGNf0LIHCDMbbR2fLgJtWSrtCGSdE+q3qYn81IAddJX7ptJad9MpYrXIbvWlrQiDYrv5f/DjYsLL0LB2n+5Ey0hIGjTqD4xDEv4T7R1m3+V3Wtzn7vEqz0mxDcMW9CjBvGW5xlCjciNGVEaNUUl711YlDM1kf4pUgwivaE8OZpZck2uQjqn1hIuMeieV1dZ+/6Dj9OS1Gl+FVBUHhKfp/qDSY4C5R/tKiY2rdXZ8voZmpAtErZR2xgW9uHW0L+BoF03OSoEgIkPehVbofQxrJk4IlcMcmlqM0bIknr5cXmRYTtZYA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=kernel.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 (0)
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=eBFIVtiQXa0sNx/4VzJnx+rOix4DIGI+pZcFJLf3UZw=;
 b=r0Ras1tkhSDJVNk+S8BIv8KY1eqp9ZB61akeaVyeDaQWKJYUb3wGiIU8WSWtexrhex3RKznrjJb7lCX5sbxoAiFAnPIhc3aS+aTUh8QUOPPIfcwV7Wd0SrOY5ygboUIC2cRveJ3OfYeX/HSrHR10Ug8GcqYS/URiqpG29G010s4=
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: <f78395f3-6588-4bc9-8612-3450a8f44be7@amd.com>
Date: Thu, 30 Nov 2023 10:03:02 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [RFC KERNEL PATCH v2 1/3] xen/pci: Add xen_reset_device_state
 function
Content-Language: en-US
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>, Stefano Stabellini
	<sstabellini@kernel.org>
CC: Juergen Gross <jgross@suse.com>, Oleksandr Tyshchenko
	<oleksandr_tyshchenko@epam.com>, Thomas Gleixner <tglx@linutronix.de>, "Boris
 Ostrovsky" <boris.ostrovsky@oracle.com>, "Rafael J . Wysocki"
	<rafael@kernel.org>, Len Brown <lenb@kernel.org>, Bjorn Helgaas
	<bhelgaas@google.com>, =?UTF-8?Q?Roger_Pau_Monn=C3=A9?=
	<roger.pau@citrix.com>, "xen-devel@lists.xenproject.org"
	<xen-devel@lists.xenproject.org>, "linux-kernel@vger.kernel.org"
	<linux-kernel@vger.kernel.org>, "linux-acpi@vger.kernel.org"
	<linux-acpi@vger.kernel.org>, "Stabellini, Stefano"
	<stefano.stabellini@amd.com>, "Deucher, Alexander"
	<Alexander.Deucher@amd.com>, "Koenig, Christian" <Christian.Koenig@amd.com>,
	"Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>, "Huang, Honglei1"
	<Honglei1.Huang@amd.com>, "Zhang, Julia" <Julia.Zhang@amd.com>, "Huang, Ray"
	<Ray.Huang@amd.com>
References: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
 <20231124103123.3263471-2-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2311291943260.3533093@ubuntu-linux-20-04-desktop>
 <BL1PR12MB58490EB260D226500141557EE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <BL1PR12MB58490EB260D226500141557EE782A@BL1PR12MB5849.namprd12.prod.outlook.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DS2PEPF00003447:EE_|SN7PR12MB8103:EE_
X-MS-Office365-Filtering-Correlation-Id: 0c753df2-6631-4fdb-5150-08dbf1b57823
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	vqNgQS6+MyAmGysQyzTvULI2XB9tcAY7ALXeSWoFkM+jhBkNSccCU6PvqCnnKB51BcVkpiBqrwGwi8T0NVI51dDQHZOBHHWI8SOHMrw9ffY8AoOe6I21mvDRaovgrSnKgMRUaU4pPUulyB6Nh6cxSZ07QiJleHlMCsFr3Yj6Bv020ouNNLCIh4oLh732ZlWl2Sxx4WfF3Eb07wwwkwJC6GrIqNfyh2qQcr4wzzRZWucQK6YB0xwUYyVzcFrwxwHgIRpWRvxuKIiMR46jD+1GeHdRDJeux6U0YxlUGfQ2pjtDL+5+92Hj7VuGZISnDnyjHYb9cz9cYHA8P04yQkOnGa7NkckVGuVixHPcogly74Vp/87Pv5IuhyNC2+KyNt2vC4JY0rflMghsHLaGHGUakBXv6SLOZVub4nAFkDiPnA4+VXhalzfEkKNZdITnKVU15YeLHXRQN2fdOTZ+dcD+Lb5PB2zeRkJEKom+k/vXX3gWghwCY9IDmD4BJZB71oLuy8xvTCpHreJNxNXamY5YX1OT8+HYbwDe6sOfgQUa9pACrhgDd2ZkC/ffoO06EE8jHu1XIImIxNfaD1lQ9XMGl8Nl030V/wANPLojhqOoGoW6iDqwt0PoncQZRbJrMy/6/pCajd2dVVL+jEO1Xof9/iK6ikkZR6NwZ920lPi/YgPxIwyY+Jx/YDHuZH/PyaQlhM7boQzbR/QSRIyiNmpKJis8EXzGuhHLh0KF3KaSC6eXRQE7EVChoE0GbjmP3Xu5w7UcIqtYap0iSbC/wKFPeirW+1b2GDxS5YQUQ/deHDiUieAFrNgR8faYvwQRyA+lHhmfkpxBYCCD+dnyi+Bx17Slu8o4NZkSkGprRZqJz50=
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:(13230031)(4636009)(346002)(376002)(396003)(39860400002)(136003)(230922051799003)(186009)(451199024)(64100799003)(82310400011)(1800799012)(46966006)(36840700001)(40470700004)(31686004)(40460700003)(40480700001)(2616005)(478600001)(53546011)(336012)(47076005)(26005)(36860700001)(356005)(81166007)(86362001)(36756003)(82740400003)(31696002)(70586007)(5660300002)(70206006)(44832011)(54906003)(41300700001)(426003)(7416002)(2906002)(83380400001)(4326008)(8676002)(316002)(8936002)(110136005)(16576012)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 15:03:10.9230
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 0c753df2-6631-4fdb-5150-08dbf1b57823
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:
	DS2PEPF00003447.namprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR12MB8103

On 11/30/23 02:03, Chen, Jiqian wrote:
> 
> On 2023/11/30 11:46, Stefano Stabellini wrote:
>> On Fri, 24 Nov 2023, Jiqian Chen wrote:
>>> When device on dom0 side has been reset, the vpci on Xen side
>>> won't get notification, so that the cached state in vpci is
>>> all out of date with the real device state.
>>> To solve that problem, this patch add a function to clear all
>>> vpci device state when device is reset on dom0 side.
>>>
>>> And call that function in pcistub_init_device. Because when
>>> we use "pci-assignable-add" to assign a passthrough device in
>>> Xen, it will reset passthrough device and the vpci state will
>>> out of date, and then device will fail to restore bar state.
>>>
>>> Signed-off-by: Jiqian Chen <Jiqian.Chen@amd.com>
>>> Signed-off-by: Huang Rui <ray.huang@amd.com>
>>> ---
>>>  drivers/xen/pci.c                  | 12 ++++++++++++
>>>  drivers/xen/xen-pciback/pci_stub.c |  3 +++
>>>  include/xen/interface/physdev.h    |  2 ++
>>>  include/xen/pci.h                  |  6 ++++++
>>>  4 files changed, 23 insertions(+)
>>>
>>> diff --git a/drivers/xen/pci.c b/drivers/xen/pci.c
>>> index 72d4e3f193af..e9b30bc09139 100644
>>> --- a/drivers/xen/pci.c
>>> +++ b/drivers/xen/pci.c
>>> @@ -177,6 +177,18 @@ static int xen_remove_device(struct device *dev)
>>>  	return r;
>>>  }
>>>  
>>> +int xen_reset_device_state(const struct pci_dev *dev)
>>> +{
>>> +	struct physdev_pci_device device = {
>>> +		.seg = pci_domain_nr(dev->bus),
>>> +		.bus = dev->bus->number,
>>> +		.devfn = dev->devfn
>>> +	};
>>> +
>>> +	return HYPERVISOR_physdev_op(PHYSDEVOP_pci_device_state_reset, &device);
>>> +}
>>> +EXPORT_SYMBOL_GPL(xen_reset_device_state);
>>> +
>>>  static int xen_pci_notifier(struct notifier_block *nb,
>>>  			    unsigned long action, void *data)
>>>  {
>>> diff --git a/drivers/xen/xen-pciback/pci_stub.c b/drivers/xen/xen-pciback/pci_stub.c
>>> index e34b623e4b41..5a96b6c66c07 100644
>>> --- a/drivers/xen/xen-pciback/pci_stub.c
>>> +++ b/drivers/xen/xen-pciback/pci_stub.c
>>> @@ -421,6 +421,9 @@ static int pcistub_init_device(struct pci_dev *dev)
>>>  	else {
>>>  		dev_dbg(&dev->dev, "resetting (FLR, D3, etc) the device\n");
>>>  		__pci_reset_function_locked(dev);
>>> +		err = xen_reset_device_state(dev);
>>> +		if (err)
>>> +			goto config_release;
>>
>> Older versions of Xen won't have the hypercall
>> PHYSDEVOP_pci_device_state_reset implemented. I think we should do
>> something like:
>>
>> if (err && xen_pvh_domain())
>>     goto config_release;
>>
>>
>> Or even:
>>
>> if (xen_pvh_domain()) {
>>     err = xen_reset_device_state(dev);
>>     if (err)
>>         goto config_release;
>> }
>>
>> depending on whether we want to call xen_reset_device_state also for PV
>> guests or not. I am assuming we don't want to error out on failure such
>> as -ENOENT for PV guests.
> Yes, only for PVH dom0, I will add the condition in next version. Thank you!

We will want to call xen_reset_device_state() for Arm dom0, too, so checking xen_pvh_domain() alone is not sufficient. I suggest instead to check !xen_pv_domain().

> 
>>
>>
>>>  		pci_restore_state(dev);
>>>  	}
>>>  	/* Now disable the device (this also ensures some private device
>>> diff --git a/include/xen/interface/physdev.h b/include/xen/interface/physdev.h
>>> index a237af867873..231526f80f6c 100644
>>> --- a/include/xen/interface/physdev.h
>>> +++ b/include/xen/interface/physdev.h
>>> @@ -263,6 +263,8 @@ struct physdev_pci_device {
>>>      uint8_t devfn;
>>>  };
>>>  
>>> +#define PHYSDEVOP_pci_device_state_reset     32
>>> +
>>>  #define PHYSDEVOP_DBGP_RESET_PREPARE    1
>>>  #define PHYSDEVOP_DBGP_RESET_DONE       2
>>>  
>>> diff --git a/include/xen/pci.h b/include/xen/pci.h
>>> index b8337cf85fd1..b2e2e856efd6 100644
>>> --- a/include/xen/pci.h
>>> +++ b/include/xen/pci.h
>>> @@ -4,10 +4,16 @@
>>>  #define __XEN_PCI_H__
>>>  
>>>  #if defined(CONFIG_XEN_DOM0)
>>> +int xen_reset_device_state(const struct pci_dev *dev);
>>>  int xen_find_device_domain_owner(struct pci_dev *dev);
>>>  int xen_register_device_domain_owner(struct pci_dev *dev, uint16_t domain);
>>>  int xen_unregister_device_domain_owner(struct pci_dev *dev);
>>>  #else
>>> +static inline int xen_reset_device_state(const struct pci_dev *dev)
>>> +{
>>> +	return -1;
>>> +}
>>> +
>>>  static inline int xen_find_device_domain_owner(struct pci_dev *dev)
>>>  {
>>>  	return -1;
>>> -- 
>>> 2.34.1
>>>
> 


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:13:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:13:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644958.1006665 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ij1-0002MS-JS; Thu, 30 Nov 2023 15:13:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644958.1006665; Thu, 30 Nov 2023 15:13: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 1r8ij1-0002ML-Gu; Thu, 30 Nov 2023 15:13:11 +0000
Received: by outflank-mailman (input) for mailman id 644958;
 Thu, 30 Nov 2023 15:13: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=ZmE5=HL=cloud.com=kelly.choi@srs-se1.protection.inumbo.net>)
 id 1r8ij1-0002MF-4T
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:13:11 +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 f8f355a8-8f92-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 16:13:10 +0100 (CET)
Received: by mail-ej1-x62d.google.com with SMTP id
 a640c23a62f3a-a187cd4eb91so117126166b.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 07:13:10 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f8f355a8-8f92-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=cloud.com; s=cloud; t=1701357189; x=1701961989; darn=lists.xenproject.org;
        h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
         :date:message-id:reply-to;
        bh=en2qWV6gd6X60S07WN8Z5awnuTkrelPJjx0uApjIJAs=;
        b=GkirZllYsd+/W/U3bBb2r6cnQKyE3LT9xiPtxHymt94Qw6qVJB2ttKhx6+8vCMqr5a
         D2QVIDuRHjLNZxJFXgHZm1+niwlJmqgInEIsYTYrT5pw82NwJ7PrsTxb6NuZfrAkLIxi
         U8pHCdi3xFWdwH1ASVdsZjB4pSVC6CsnebNrU=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701357189; x=1701961989;
        h=to:subject:message-id:date:from:mime-version:x-gm-message-state
         :from:to:cc:subject:date:message-id:reply-to;
        bh=en2qWV6gd6X60S07WN8Z5awnuTkrelPJjx0uApjIJAs=;
        b=LNEfaMjUkG3kIRwAsiaAt7o3uUw5gse85ZFNdeL7qlNK+qk/gHrXWokpzNJV1epFjF
         MRZ1ORToMkIr1qBOrlrGsmWaASzYfSj6BRb29zaKsyOAa2eM08eeAkNCc5HyLZInmBAl
         u7NDLr+Tnooe6Rmu+V2DpZFpZj7upAjAmb+vZbmv6UCC4nxs80TV1rWEBr4e08j93s5Y
         o8Lu4TadUeZcUp4co085np/5dm8NdPeaALexdTD8850vaprSAn9M9m8pfnKJGZZUitL7
         eqipJS7Fc4smp9Z62karIoAK20MrYEA9RjK736fe+gYVP/eXDbMBCQVX5MIFmLmlNHoq
         Z3uA==
X-Gm-Message-State: AOJu0Ywjm0OHNkMWMSS5TznfN76k3SZCWQnDkr7r/xBI0ctamTPiE+Wq
	Zw9wUqX9DuiK5Z82i4MGdZ4dHfO4gbr8u97nj1aDkFKtyJicDDhoOylczg==
X-Google-Smtp-Source: AGHT+IG9HrOnmG3LeBZq3CrJeB1WGXpwQAKFJfUUlBsVoYPRlI3izBTje7EvnUMLF6tDWST0HMbyTMgg0r6cZb3sk1I=
X-Received: by 2002:a17:906:c08:b0:a18:ed83:ccc0 with SMTP id
 s8-20020a1709060c0800b00a18ed83ccc0mr761354ejf.28.1701357189262; Thu, 30 Nov
 2023 07:13:09 -0800 (PST)
MIME-Version: 1.0
From: Kelly Choi <kelly.choi@cloud.com>
Date: Thu, 30 Nov 2023 15:12:33 +0000
Message-ID: <CAO-mL=x3DntLhoKuaiWYjVqkQRqj=rdyZWmuH1aDjkmUbQchyA@mail.gmail.com>
Subject: INFORMAL VOTE REQUIRED - DOCUMENTATION WORDING
To: xen-devel@lists.xenproject.org
Content-Type: multipart/alternative; boundary="000000000000e71461060b601668"

--000000000000e71461060b601668
Content-Type: text/plain; charset="UTF-8"

Hi all,

There have been a few discussions about how we use documentation wording
within the community. Whilst there are differences in opinions and
perceptions of the definition, it would be helpful to see a wider consensus
of how we feel.

*Discussion: Should we use the term 'broken' in our documentation, or do
you think an alternative wording would be better? If you agree or disagree,
please vote as this will impact future discussions. *

I have purposely made the vote between two options to help us move in a
forward direction.

*PLEASE VOTE HERE. Deadline 15th December 2023.
<https://cryptpad.fr/form/#/2/form/view/7ByH95Vd7KiDOvN4wjV5iUGlMuZbkVdwk7cYpZdluWo/>*
*Your name will be required but will be private. If you answer anonymously,
your vote will not count. This is to ensure it is fair and each person gets
one vote. *

As an open-source project, we need to come to a common ground, which
sometimes means we may not personally agree. To make this fair, please note
the final results will be used to determine our future actions within the
community.

If the majority votes for/against, we will respect the majority and
implement this accordingly.

Many thanks,
Kelly Choi

Xen Project Community Manager
XenServer, Cloud Software Group

--000000000000e71461060b601668
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi all,=C2=A0<div><br></div><div>There have been a few dis=
cussions about how we use documentation wording within the community. Whils=
t there are differences in opinions and perceptions of the definition, it w=
ould be helpful to see a wider consensus of how we feel.=C2=A0</div><div><b=
r></div><div><b>Discussion: Should we use the term &#39;broken&#39; in our =
documentation, or do you think an alternative wording would be better? If y=
ou agree or disagree, please vote as this=C2=A0will impact future=C2=A0disc=
ussions.=C2=A0</b></div><div><b><br></b></div><div>I have purposely made th=
e vote between two options to help us move in a forward direction.</div><di=
v><br></div><div><b><font color=3D"#ff0000"><a href=3D"https://cryptpad.fr/=
form/#/2/form/view/7ByH95Vd7KiDOvN4wjV5iUGlMuZbkVdwk7cYpZdluWo/">PLEASE VOT=
E HERE. Deadline 15th December 2023.</a></font></b></div><div><i>Your name =
will be required but will be private. If you answer anonymously, your vote =
will not count. This is to ensure it is fair and each person gets one vote.=
=C2=A0</i><br></div><div><br></div><div>As an open-source project, we need =
to come to a common ground, which sometimes means we may not personally agr=
ee. To make this fair, please note the final results will be used to determ=
ine our future actions within the community.=C2=A0</div><div><br></div><div=
>If the majority votes for/against, we will respect the majority and implem=
ent this accordingly.=C2=A0</div><div><br clear=3D"all"><div><div dir=3D"lt=
r" class=3D"gmail_signature" data-smartmail=3D"gmail_signature"><div dir=3D=
"ltr"><div>Many thanks,</div><div>Kelly Choi</div><div><br></div><div><div =
style=3D"color:rgb(136,136,136)">Xen Project Community Manager</div><div st=
yle=3D"color:rgb(136,136,136)">XenServer, Cloud Software Group</div></div><=
/div></div></div></div></div>

--000000000000e71461060b601668--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:13:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:13:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644959.1006676 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ijB-0002gk-Sg; Thu, 30 Nov 2023 15:13:21 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644959.1006676; Thu, 30 Nov 2023 15: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 1r8ijB-0002gd-PV; Thu, 30 Nov 2023 15:13:21 +0000
Received: by outflank-mailman (input) for mailman id 644959;
 Thu, 30 Nov 2023 15: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8ijB-0002MF-1p
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:13:21 +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 ff25cda7-8f92-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 16:13:20 +0100 (CET)
Received: by mail-wm1-x32b.google.com with SMTP id
 5b1f17b1804b1-40b54261442so8829885e9.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 07:13:20 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 l8-20020a5d4bc8000000b003316b3d69b3sm1760620wrt.46.2023.11.30.07.13.19
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 07:13:19 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ff25cda7-8f92-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701357200; x=1701962000; darn=lists.xenproject.org;
        h=in-reply-to:content-transfer-encoding:content-disposition
         :mime-version:references:message-id:subject:cc:to:from:date:from:to
         :cc:subject:date:message-id:reply-to;
        bh=zHbIpqKppVrirWnuO8nHfLF6hK+LIbZb7v0QlMQXF8Q=;
        b=ECjywN+bgv5Rl30aVSDWNtbvj3TlnB75SfHrnGU6Z+rXPwPkmePxAhoEmPI8g0wNut
         CGuCRnRGZrTGnAPy4M3QDb9uPB1sSWoOv+GKM1QhsaS1tk+qa3Tjr2sSxYFplMxW7K8j
         iPefBDZSs1+3c+CFnscGI23avCpm+dFE4F8uI=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701357200; x=1701962000;
        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:subject:date:message-id:reply-to;
        bh=zHbIpqKppVrirWnuO8nHfLF6hK+LIbZb7v0QlMQXF8Q=;
        b=oXzAgQCcGqJlD5vcxmitFi+dRhexQsG7tU1z1jQRcg+OOec3dA5wOTffmEbTVBK1w1
         h9hihlLZOgGypQC4Kn1sQTa0oCovpDgPuTVx/vhkR6i25EgC6xiyaHHwEsH70DWiVjAQ
         03O5wfDLDuyW8b3JC+OKxE6MwbyCGFGUuonEftPTI2v7z67lV3Wn97v25kfPn7U5NiG/
         N48iNK1yKzCivvniBpDNROTpA5UOKxC/IkH1aQSQzJ4iZ4HocGvEKLtsVfYJGMQDv3Yw
         xRTjGzKjCuoPhI+QxQKoBVCEaMLvv4Ewq0YrPSxBfLfz7WdgWipIXGg4+NzgCcQpSoPB
         XiAw==
X-Gm-Message-State: AOJu0Yx1ar55alxxGEOkFirtW4MBm1DV2zSm0LP9C9P+fbJBF76UQX0W
	HCKicLMYzBHoDdZ796injkAmEI00ZMJYPhSl8+w=
X-Google-Smtp-Source: AGHT+IEvGDWaS2xSJN5CO2xPYnnHJJ+5awRVwaMq+O0xpPyRzVLJIJ7UO7pc9Meccu3QUa3cZQ9coQ==
X-Received: by 2002:a05:600c:4b2a:b0:40b:4337:7cbf with SMTP id i42-20020a05600c4b2a00b0040b43377cbfmr10468364wmp.1.1701357200043;
        Thu, 30 Nov 2023 07:13:20 -0800 (PST)
Date: Thu, 30 Nov 2023 16:13:18 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: "Chen, Jiqian" <Jiqian.Chen@amd.com>
Cc: Jan Beulich <jbeulich@suse.com>, Wei Liu <wl@xen.org>,
	Anthony PERARD <anthony.perard@citrix.com>,
	Juergen Gross <jgross@suse.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	"xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Hildebrand, Stewart" <Stewart.Hildebrand@amd.com>,
	"Deucher, Alexander" <Alexander.Deucher@amd.com>,
	"Ragiadakou, Xenia" <Xenia.Ragiadakou@amd.com>,
	"Stabellini, Stefano" <stefano.stabellini@amd.com>,
	"Huang, Ray" <Ray.Huang@amd.com>,
	"Huang, Honglei1" <Honglei1.Huang@amd.com>,
	"Zhang, Julia" <Julia.Zhang@amd.com>
Subject: Re: [RFC XEN PATCH v2 2/3] x86/pvh: Open PHYSDEVOP_map_pirq for PVH
 dom0
Message-ID: <ZWimjreYPWvAtle5@macbook>
References: <20231124104136.3263722-1-Jiqian.Chen@amd.com>
 <20231124104136.3263722-3-Jiqian.Chen@amd.com>
 <ZWX2c7oQfeZxrpEF@macbook>
 <BL1PR12MB5849A2AB56BAC75D4558F873E782A@BL1PR12MB5849.namprd12.prod.outlook.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <BL1PR12MB5849A2AB56BAC75D4558F873E782A@BL1PR12MB5849.namprd12.prod.outlook.com>

On Thu, Nov 30, 2023 at 06:32:00AM +0000, Chen, Jiqian wrote:
> 
> On 2023/11/28 22:17, Roger Pau Monné wrote:
> > On Fri, Nov 24, 2023 at 06:41:35PM +0800, Jiqian Chen wrote:
> >> If we run Xen with PVH dom0 and hvm domU, hvm will map a pirq for
> >> a passthrough device by using gsi, see xen_pt_realize->xc_physdev_map_pirq
> >> and pci_add_dm_done->xc_physdev_map_pirq. Then xc_physdev_map_pirq will
> >> call into Xen, but in hvm_physdev_op, PHYSDEVOP_map_pirq is not allowed
> >> because currd is PVH dom0 and PVH has no X86_EMU_USE_PIRQ flag, it will
> >> fail at has_pirq check.
> >>
> >> So, I think we may need to allow PHYSDEVOP_map_pirq when currd is dom0 (at
> > 
> > And PHYSDEVOP_unmap_pirq also?
> Yes, in the failed path, PHYSDEVOP_unmap_pirq will be called. I will add some descriptions about it into the commit message.
> 
> > 
> >> present dom0 is PVH).
> > 
> > IMO it would be better to implement a new set of DMOP hypercalls that
> > handle the setup of interrupts from physical devices that are assigned
> > to a guest.  That should allow us to get rid of the awkward PHYSDEVOP
> > + XEN_DOMCTL_{,un}bind_pt_irq hypercall interface, which currently
> > prevents QEMU from being hypervisor version agnostic (since the domctl
> > interface is not stable).
> > 
> > I understand this might be too much to ask for, but something to take
> > into account.
> Yes, that will be a complex project. I think current change can meet the needs. We can take DMOP into account in the future. Thank you.

The issue with this approach is that we always do things in a rush and
cut corners, and then never pay back the debt.  Anyway, I'm not going
to block this, and I'm not blaming you.

Sadly this is just focused on getting something working in the short
term rather than thinking long term in a maintainable interface.

Regards, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:18:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:18:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644972.1006686 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ioR-0004y6-EW; Thu, 30 Nov 2023 15:18:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644972.1006686; Thu, 30 Nov 2023 15:18: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 1r8ioR-0004xz-Bi; Thu, 30 Nov 2023 15:18:47 +0000
Received: by outflank-mailman (input) for mailman id 644972;
 Thu, 30 Nov 2023 15:18: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i8q-0008E0-8m
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:35:48 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id bf59b2a9-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:35:47 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:35:45 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:35:35 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bf59b2a9-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354947; x=1732890947;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=zMs3wimSwFi3OS/xT8fCJCLyivsPCu0OTNgeR6TOgP0=;
  b=Nw9Zwe69Mk+TS601A3YuuhAalgfKvFgpVCFb1nIq3+pqYPt0WlQCT0xm
   umeFpcCRZAXdCRhocduL+Zy0/iuFg+C6Zm+ewBg9woT1xr/ra5LJwHv4X
   KWQ0Uql02opxuXzfEyMS3mb85SwAp+mW/Ir1f83khKERRKRzjIKttS8v1
   z3KwKEWA0gNRNSuTQQlMjJ/SRzuXFMwVzzzqn5n6QAlIQIgaMoYpPEqTq
   ULj3wcbKW7bb/RXwTA6RRpztzAO3oewm2YCYRyU9xnk37LoP7KmCAY2Ou
   XBMdNpi0oBQtU5BOBZU4C7JFj8p3TiXeOD9z0/dqy3Rn+O2x1YkAbpF6m
   g==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532483"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532483"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730310"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730310"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 33/41] hw/machine: Validate smp topology tree without -smp
Date: Thu, 30 Nov 2023 22:41:55 +0800
Message-Id: <20231130144203.2307629-34-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

QOM topology allows user to create topology tree from cli without -smp,
in this case, validate the topology tree to meet the smp requirement.

Currently, for compatibility with MachineState.smp, initialize
MachineState.smp from topology tree in this case.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-slot.c         | 146 +++++++++++++++++++++++++++++++++++++
 hw/core/machine.c          |  10 +++
 include/hw/core/cpu-slot.h |   1 +
 3 files changed, 157 insertions(+)

diff --git a/hw/core/cpu-slot.c b/hw/core/cpu-slot.c
index ade155baf60b..45b6aef0750a 100644
--- a/hw/core/cpu-slot.c
+++ b/hw/core/cpu-slot.c
@@ -413,3 +413,149 @@ void machine_create_smp_topo_tree(MachineState *ms, Error **errp)
     }
     slot->smp_parsed = true;
 }
+
+static void set_smp_child_topo_info(CpuTopology *smp_info,
+                                    CPUTopoStat *stat,
+                                    CPUTopoLevel child_level)
+{
+    unsigned int *smp_count;
+    CPUTopoStatEntry *entry;
+
+    smp_count = get_smp_info_by_level(smp_info, child_level);
+    entry = get_topo_stat_entry(stat, child_level);
+    *smp_count = entry->max_units ? entry->max_units : 1;
+
+    return;
+}
+
+typedef struct ValidateCbData {
+    CPUTopoStat *stat;
+    CpuTopology *smp_info;
+    Error **errp;
+} ValidateCbData;
+
+static int validate_topo_children(CPUTopoState *topo, void *opaque)
+{
+    CPUTopoLevel level = CPU_TOPO_LEVEL(topo), next_level;
+    ValidateCbData *cb = opaque;
+    unsigned int max_children;
+    CPUTopoStatEntry *entry;
+    Error **errp = cb->errp;
+
+    if (level != CPU_TOPO_THREAD && !topo->num_children &&
+        !topo->max_children) {
+        error_setg(errp, "Invalid topology: the CPU topology "
+                   "(level: %s, index: %d) isn't completed.",
+                   cpu_topo_level_to_string(level), topo->index);
+        return TOPO_FOREACH_ERR;
+    }
+
+    if (level == CPU_TOPO_UNKNOWN) {
+        error_setg(errp, "Invalid CPU topology: unknown topology level.");
+        return TOPO_FOREACH_ERR;
+    }
+
+    /*
+     * Only CPU_TOPO_THREAD level's child_level could be CPU_TOPO_UNKNOWN,
+     * but machine_validate_cpu_topology() is before CPU creation.
+     */
+    if (topo->child_level == CPU_TOPO_UNKNOWN) {
+        error_setg(errp, "Invalid CPU topology: incomplete topology "
+                   "(level: %s, index: %d), no child?.",
+                   cpu_topo_level_to_string(level), topo->index);
+        return TOPO_FOREACH_ERR;
+    }
+
+    /*
+     * Currently hybrid topology isn't supported, so only SMP topology
+     * is allowed.
+     */
+
+    entry = get_topo_stat_entry(cb->stat, topo->child_level);
+
+    /* Max threads per core is pre-configured by "nr-threads". */
+    max_children = topo->child_level != CPU_TOPO_THREAD ?
+                   topo->num_children : topo->max_children;
+
+    if (entry->max_units != max_children) {
+        error_setg(errp, "Invalid SMP topology: "
+                   "The %s topology is asymmetric.",
+                   cpu_topo_level_to_string(level));
+        return TOPO_FOREACH_ERR;
+    }
+
+    next_level = find_next_bit(cb->stat->curr_levels, USER_AVAIL_LEVEL_NUM,
+                               topo->child_level + 1);
+
+    if (next_level != level) {
+        error_setg(errp, "Invalid smp topology: "
+                   "asymmetric CPU topology depth.");
+        return TOPO_FOREACH_ERR;
+    }
+
+    set_smp_child_topo_info(cb->smp_info, cb->stat, topo->child_level);
+
+    return TOPO_FOREACH_CONTINUE;
+}
+
+/*
+ * Only check the case user configures CPU topology via -device
+ * without -smp. In this case, MachineState.smp also needs to be
+ * initialized based on topology tree.
+ */
+bool machine_validate_cpu_topology(MachineState *ms, Error **errp)
+{
+    MachineClass *mc = MACHINE_GET_CLASS(ms);
+    CPUTopoState *slot_topo = CPU_TOPO(ms->topo);
+    CPUTopoStat *stat = &ms->topo->stat;
+    CpuTopology *smp_info = &ms->smp;
+    unsigned int total_cpus;
+    ValidateCbData cb;
+
+    if (ms->topo->smp_parsed) {
+        return true;
+    } else if (!slot_topo->num_children) {
+        /*
+         * If there's no -smp nor -device to add topology children,
+         * then create the default topology.
+         */
+        machine_create_smp_topo_tree(ms, errp);
+        if (*errp) {
+            return false;
+        }
+        return true;
+    }
+
+    if (test_bit(CPU_TOPO_CLUSTER, stat->curr_levels)) {
+        mc->smp_props.has_clusters = true;
+    }
+
+    /*
+     * The next cpu_topo_child_foreach_recursive() doesn't cover the
+     * parent topology unit. Update information for root here.
+     */
+    set_smp_child_topo_info(smp_info, stat, slot_topo->child_level);
+
+    cb.stat = stat;
+    cb.smp_info = smp_info;
+    cb.errp = errp;
+
+    cpu_topo_child_foreach_recursive(slot_topo, NULL,
+                                     validate_topo_children, &cb);
+    if (*errp) {
+        return false;
+    }
+
+    ms->smp.cpus = stat->pre_plugged_cpus ?
+                   stat->pre_plugged_cpus : 1;
+    ms->smp.max_cpus = stat->max_cpus ?
+                       stat->max_cpus : 1;
+
+    total_cpus = ms->smp.drawers * ms->smp.books *
+                 ms->smp.sockets * ms->smp.dies *
+                 ms->smp.clusters * ms->smp.cores *
+                 ms->smp.threads;
+    g_assert(total_cpus == ms->smp.max_cpus);
+
+    return true;
+}
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 0c1739814124..5fa0c826f35e 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -1505,6 +1505,16 @@ void machine_run_board_init(MachineState *machine, const char *mem_path, Error *
                                    "on", false);
     }
 
+    /*
+     * TODO: drop this check and validate topology tree by default
+     * when all arches support QOM topology.
+     */
+    if (machine_class->smp_props.possible_cpus_qom_granu) {
+        if (!machine_validate_cpu_topology(machine, errp)) {
+            return;
+        }
+    }
+
     accel_init_interfaces(ACCEL_GET_CLASS(machine->accelerator));
     machine_class->init(machine);
     phase_advance(PHASE_MACHINE_INITIALIZED);
diff --git a/include/hw/core/cpu-slot.h b/include/hw/core/cpu-slot.h
index de3d08fcb2ac..9e1c6d6b7ff2 100644
--- a/include/hw/core/cpu-slot.h
+++ b/include/hw/core/cpu-slot.h
@@ -100,5 +100,6 @@ struct CPUSlot {
 
 void machine_plug_cpu_slot(MachineState *ms);
 void machine_create_smp_topo_tree(MachineState *ms, Error **errp);
+bool machine_validate_cpu_topology(MachineState *ms, Error **errp);
 
 #endif /* CPU_SLOT_H */
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:26:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:26:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644990.1006700 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ivZ-0002Ch-7a; Thu, 30 Nov 2023 15:26:09 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644990.1006700; Thu, 30 Nov 2023 15:26: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 1r8ivZ-0002Ca-4i; Thu, 30 Nov 2023 15:26:09 +0000
Received: by outflank-mailman (input) for mailman id 644990;
 Thu, 30 Nov 2023 15:26: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8ivX-0002CR-NE
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:26:07 +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 c53d729c-8f94-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 16:26:03 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-631-AkwYzv4cPa23jxw8AoYvfg-1; Thu,
 30 Nov 2023 10:25:58 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 597981C0F479;
 Thu, 30 Nov 2023 15:25:57 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id C7778492BE7;
 Thu, 30 Nov 2023 15:25:53 +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: c53d729c-8f94-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701357962;
	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=1E3MmvTBcjlJZU/lnnO0iHKSu14HCeHV8F5Op4ocv4k=;
	b=V6CarrlKE0XZtZv4t4mORZoUcC2iuJHNkXQ8TB5KBgcVrXGIlMGLQ7P8pondgEvEjP3gkj
	epwnPHUx+cwarvIxML6EzTNpolcOPqfR922JBg6oa7/Wz8c888yc1GIdepjZc/nvQ769c/
	qOfTHVBsVerqYqj202emGzAu6MRR8ks=
X-MC-Unique: AkwYzv4cPa23jxw8AoYvfg-1
Date: Thu, 30 Nov 2023 09:25:52 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 01/12] virtio-scsi: replace AioContext lock with
 tmf_bh_lock
Message-ID: <tng432xox5h3zwi7vkc7nbuu2bckkackqtdifqt2dtsn7t2eti@m2jwhopket2s>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-2-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-2-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.9

On Wed, Nov 29, 2023 at 02:55:42PM -0500, Stefan Hajnoczi wrote:
> Protect the Task Management Function BH state with a lock. The TMF BH
> runs in the main loop thread. An IOThread might process a TMF at the
> same time as the TMF BH is running. Therefore tmf_bh_list and tmf_bh
> must be protected by a lock.
> 
> Run TMF request completion in the IOThread using aio_wait_bh_oneshot().
> This avoids more locking to protect the virtqueue and SCSI layer state.

Are we trying to get this into 8.2?

> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  include/hw/virtio/virtio-scsi.h |  3 +-
>  hw/scsi/virtio-scsi.c           | 62 ++++++++++++++++++++++-----------
>  2 files changed, 43 insertions(+), 22 deletions(-)
>

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:29:29 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:29:29 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644996.1006710 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iyk-0005nk-MI; Thu, 30 Nov 2023 15:29:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644996.1006710; Thu, 30 Nov 2023 15:29: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 1r8iyk-0005nd-JH; Thu, 30 Nov 2023 15:29:26 +0000
Received: by outflank-mailman (input) for mailman id 644996;
 Thu, 30 Nov 2023 15:29: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=Jjew=HL=linux.intel.com=zhao1.liu@srs-se1.protection.inumbo.net>)
 id 1r8i8z-0008E0-He
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 14:35:57 +0000
Received: from mgamail.intel.com (mgamail.intel.com [192.55.52.43])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id c4d43e5f-8f8d-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 15:35:56 +0100 (CET)
Received: from orsmga005.jf.intel.com ([10.7.209.41])
 by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 30 Nov 2023 06:35:54 -0800
Received: from liuzhao-optiplex-7080.sh.intel.com ([10.239.160.36])
 by orsmga005.jf.intel.com with ESMTP; 30 Nov 2023 06:35:44 -0800
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: c4d43e5f-8f8d-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;
  d=intel.com; i=@intel.com; q=dns/txt; s=Intel;
  t=1701354956; x=1732890956;
  h=from:to:cc:subject:date:message-id:in-reply-to:
   references:mime-version:content-transfer-encoding;
  bh=/v8heKKPYeoDkQz9adBaYazg44MH5EQbkce1fx19vRE=;
  b=krqzJicKiE9OF/VYLIFFodb6Bv+V2e8jD/EznFsFuAaDKhR8h5WCwfhd
   2kdOdXCDN/PfQF2FyaN0BkDLueV2XBpGNRUmQK9zNp0rMUcCRn2ChLR7Z
   Gv5naYhi+a00oy/ou0QXzT8ZfkOv01IrvmmBiDbfLTxmOs0ActmdCdnBf
   4hFBelZzadGmDta4o74zuKAIuWNQRVtDVMWaApUiUDw0ga6zYVzEa2PdX
   1KDEp8r7r7RB8yh8uVNQPf1DOZRIeQkAnA48iD1pLsusplFdvd56u2noE
   dbW3whWcVqIplRGOBzr8GPKoE8hv3pLDRhYinhfscP+/WIDZnr6Xt1VME
   Q==;
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="479532520"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="479532520"
X-ExtLoop1: 1
X-IronPort-AV: E=McAfee;i="6600,9927,10910"; a="942730319"
X-IronPort-AV: E=Sophos;i="6.04,239,1695711600"; 
   d="scan'208";a="942730319"
From: Zhao Liu <zhao1.liu@linux.intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>,
	=?UTF-8?q?Alex=20Benn=C3=A9e?= <alex.bennee@linaro.org>,
	=?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Yanan Wang <wangyanan55@huawei.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	"Michael S . Tsirkin" <mst@redhat.com>,
	Jason Wang <jasowang@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Igor Mammedov <imammedo@redhat.com>,
	=?UTF-8?q?C=C3=A9dric=20Le=20Goater?= <clg@kaod.org>,
	=?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Barrat?= <fbarrat@linux.ibm.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Stefano Stabellini <sstabellini@kernel.org>,
	Anthony Perard <anthony.perard@citrix.com>,
	Paul Durrant <paul@xen.org>,
	Gerd Hoffmann <kraxel@redhat.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Alistair Francis <alistair@alistair23.me>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	=?UTF-8?q?Daniel=20P=20=2E=20Berrang=C3=A9?= <berrange@redhat.com>,
	Bin Meng <bin.meng@windriver.com>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Weiwei Li <liwei1518@gmail.com>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	qemu-devel@nongnu.org,
	kvm@vger.kernel.org,
	qemu-ppc@nongnu.org,
	xen-devel@lists.xenproject.org,
	qemu-arm@nongnu.org,
	qemu-riscv@nongnu.org,
	qemu-s390x@nongnu.org
Cc: Nina Schoetterl-Glausch <nsg@linux.ibm.com>,
	Thomas Huth <thuth@redhat.com>,
	Zhiyuan Lv <zhiyuan.lv@intel.com>,
	Zhenyu Wang <zhenyu.z.wang@intel.com>,
	Yongwei Ma <yongwei.ma@intel.com>,
	Zhao Liu <zhao1.liu@intel.com>
Subject: [RFC 34/41] hw/core/topo: Implement user-child to collect topology device from cli
Date: Thu, 30 Nov 2023 22:41:56 +0800
Message-Id: <20231130144203.2307629-35-zhao1.liu@linux.intel.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
References: <20231130144203.2307629-1-zhao1.liu@linux.intel.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

From: Zhao Liu <zhao1.liu@intel.com>

Support user-child for topology devices.

This will affect these 2 aspects:
1. For the basic topology device (with DEVICE_CATEGORY_CPU_DEF
   category), user could specify "parent" to build the topology
   relationship from cli. And cpu-slot will collect all topology
   devices.

2. For the hotplug topology devices (ppc-core or CPUs of other arches),
   user-child could help to search the correct topology parent in
   topology tree with the index properties. This is compatible with
   the original behavior of inserting CPU/core from cli. And this
   requires arch to support QOM topology with a few arch-specific
   modifications, before this support, hotplugged CPUs/cores are
   inserted into cpu-slot by default.

Signed-off-by: Zhao Liu <zhao1.liu@intel.com>
---
 hw/core/cpu-slot.c         | 44 ++++++++++++++++++++++++++++++++++++++
 hw/core/cpu-topo.c         | 38 ++++++++++++++++++++++++++++++++
 include/hw/core/cpu-slot.h |  3 +++
 include/hw/core/cpu-topo.h |  4 ++++
 4 files changed, 89 insertions(+)

diff --git a/hw/core/cpu-slot.c b/hw/core/cpu-slot.c
index 45b6aef0750a..413daa66aaad 100644
--- a/hw/core/cpu-slot.c
+++ b/hw/core/cpu-slot.c
@@ -559,3 +559,47 @@ bool machine_validate_cpu_topology(MachineState *ms, Error **errp)
 
     return true;
 }
+
+Object *cpu_slot_get_free_parent(CPUTopoState *child, Error **errp)
+{
+    MachineState *ms = MACHINE(qdev_get_machine());
+    MachineClass *mc = MACHINE_GET_CLASS(ms);
+    CPUTopoLevel level = CPU_TOPO_LEVEL(child);
+    CPUSlot *slot = ms->topo;
+
+    if (!slot) {
+        return NULL;
+    }
+
+    /*
+     * For CPUs and cores that support hotplug, the behavior is to specify
+     * some topology sub ids. This requires special handling.
+     */
+    if (level == mc->smp_props.possible_cpus_qom_granu) {
+        CPUTopoClass *child_tc = CPU_TOPO_GET_CLASS(child);
+
+        if (child_tc->search_parent_pre_plug) {
+            return child_tc->search_parent_pre_plug(child,
+                       CPU_TOPO(slot), errp);
+        }
+    }
+
+    /*
+     * For other topology devices, just collect them into CPU slot.
+     * The realize() of CPUTopoClass will check no "parent" option case.
+     */
+    return OBJECT(slot);
+}
+
+char *cpu_slot_name_future_child(CPUTopoState *child)
+{
+    MachineState *ms = MACHINE(qdev_get_machine());
+    CPUTopoLevel level = CPU_TOPO_LEVEL(child);
+    CPUSlot *slot = ms->topo;
+
+    if (!slot) {
+        return NULL;
+    }
+
+    return get_topo_global_name(&slot->stat, level);
+}
diff --git a/hw/core/cpu-topo.c b/hw/core/cpu-topo.c
index 351112ca7a73..143b0a148b17 100644
--- a/hw/core/cpu-topo.c
+++ b/hw/core/cpu-topo.c
@@ -20,8 +20,10 @@
 
 #include "qemu/osdep.h"
 
+#include "hw/core/cpu-slot.h"
 #include "hw/core/cpu-topo.h"
 #include "hw/qdev-properties.h"
+#include "monitor/user-child.h"
 #include "qapi/error.h"
 
 const char *cpu_topo_level_to_string(CPUTopoLevel level)
@@ -272,10 +274,38 @@ static void cpu_topo_unrealize(DeviceState *dev)
     }
 }
 
+/*
+ * Prefer to insert topology device into topology tree where the CPU
+ * slot is the root.
+ */
+static Object *cpu_topo_get_parent(UserChild *uc, Error **errp)
+{
+    return cpu_slot_get_free_parent(CPU_TOPO(uc), errp);
+}
+
+static char *cpu_topo_get_child_name(UserChild *uc, Object *parent)
+{
+    return cpu_slot_name_future_child(CPU_TOPO(uc));
+}
+
+/* Only check type. Other topology details with be checked at realize(). */
+static bool cpu_topo_check_user_parent(UserChild *uc, Object *parent)
+{
+    CPUTopoState *topo;
+
+    topo = (CPUTopoState *)object_dynamic_cast(parent, TYPE_CPU_TOPO);
+    if (!topo) {
+        return false;
+    }
+
+    return true;
+}
+
 static void cpu_topo_class_init(ObjectClass *oc, void *data)
 {
     DeviceClass *dc = DEVICE_CLASS(oc);
     CPUTopoClass *tc = CPU_TOPO_CLASS(oc);
+    UserChildClass *ucc = USER_CHILD_CLASS(oc);
 
     /* All topology devices belong to CPU property. */
     set_bit(DEVICE_CATEGORY_CPU, dc->categories);
@@ -290,6 +320,10 @@ static void cpu_topo_class_init(ObjectClass *oc, void *data)
     dc->hotpluggable = false;
 
     tc->level = CPU_TOPO_UNKNOWN;
+
+    ucc->get_parent = cpu_topo_get_parent;
+    ucc->get_child_name = cpu_topo_get_child_name;
+    ucc->check_parent = cpu_topo_check_user_parent;
 }
 
 static void cpu_topo_instance_init(Object *obj)
@@ -310,6 +344,10 @@ static const TypeInfo cpu_topo_type_info = {
     .class_init = cpu_topo_class_init,
     .instance_size = sizeof(CPUTopoState),
     .instance_init = cpu_topo_instance_init,
+    .interfaces = (InterfaceInfo[]) {
+        { TYPE_USER_CHILD },
+        { }
+    }
 };
 
 static void cpu_topo_register_types(void)
diff --git a/include/hw/core/cpu-slot.h b/include/hw/core/cpu-slot.h
index 9e1c6d6b7ff2..1a63f55f52c3 100644
--- a/include/hw/core/cpu-slot.h
+++ b/include/hw/core/cpu-slot.h
@@ -102,4 +102,7 @@ void machine_plug_cpu_slot(MachineState *ms);
 void machine_create_smp_topo_tree(MachineState *ms, Error **errp);
 bool machine_validate_cpu_topology(MachineState *ms, Error **errp);
 
+Object *cpu_slot_get_free_parent(CPUTopoState *child, Error **errp);
+char *cpu_slot_name_future_child(CPUTopoState *child);
+
 #endif /* CPU_SLOT_H */
diff --git a/include/hw/core/cpu-topo.h b/include/hw/core/cpu-topo.h
index d27da0335c42..6cef26cce0b7 100644
--- a/include/hw/core/cpu-topo.h
+++ b/include/hw/core/cpu-topo.h
@@ -48,6 +48,8 @@ OBJECT_DECLARE_TYPE(CPUTopoState, CPUTopoClass, CPU_TOPO)
  *     new child (including direct child and non-direct child) is added.
  * @check_topo_child: Method to check the support for new child (including
  *     direct child and non-direct child) to be added.
+ * @search_parent_pre_plug: Method to search proper topology parent of @child
+ *     from @root.
  */
 struct CPUTopoClass {
     /*< private >*/
@@ -59,6 +61,8 @@ struct CPUTopoClass {
                              bool is_realize);
     void (*check_topo_child)(CPUTopoState *parent, CPUTopoState *child,
                              Error **errp);
+    Object *(*search_parent_pre_plug)(CPUTopoState *child, CPUTopoState *root,
+                                      Error **errp);
 };
 
 /**
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:29:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:29:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.644998.1006720 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8iz4-0006R2-3T; Thu, 30 Nov 2023 15:29:46 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 644998.1006720; Thu, 30 Nov 2023 15:29: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 1r8iz4-0006Qv-0A; Thu, 30 Nov 2023 15:29:46 +0000
Received: by outflank-mailman (input) for mailman id 644998;
 Thu, 30 Nov 2023 15:29: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8iz2-0006M0-Gj
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:29:44 +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 48ba3b98-8f95-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 16:29:43 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-605-LgiIdD8uN8mh6HEoDFNSpA-1; Thu, 30 Nov 2023 10:29:40 -0500
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
 [10.11.54.6])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id AE66A101A529;
 Thu, 30 Nov 2023 15:29:39 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 625392166B27;
 Thu, 30 Nov 2023 15:29: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: 48ba3b98-8f95-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701358182;
	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=lRu1DpGqufpi6vJf/QtkPNmIfn7avcVJal3SJr8lFvI=;
	b=Bc3cw61yKLvctKpdz849l7RHaq85yVW/oHAhqLhzKWBaxFTR0dTH8o31jGpmtqH04H+m+t
	7ySKefU+a0agUXNlgrjrEAQTG0E4L3sxGPMSmSoxo/AVNZ5Ww/WRLzPbUnckrBbCUPliXk
	qB/UABjn6ldunz1mhOxWJk1G2SurTpI=
X-MC-Unique: LgiIdD8uN8mh6HEoDFNSpA-1
Date: Thu, 30 Nov 2023 09:29:35 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 02/12] tests: remove aio_context_acquire() tests
Message-ID: <r6752wnsw2pf2susl5vzoszywb2etltoywuhkvhtui4h5oyslw@k4cimtclsa3g>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-3-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-3-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.6

On Wed, Nov 29, 2023 at 02:55:43PM -0500, Stefan Hajnoczi wrote:
> The aio_context_acquire() API is being removed. Drop the test case that
> calls the API.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  tests/unit/test-aio.c | 67 +------------------------------------------
>  1 file changed, 1 insertion(+), 66 deletions(-)

The rest of this series should not hold up 8.2.

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:48:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:48:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645013.1006754 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jHM-000751-0q; Thu, 30 Nov 2023 15:48:40 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645013.1006754; Thu, 30 Nov 2023 15:48: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 1r8jHL-00074u-U2; Thu, 30 Nov 2023 15:48:39 +0000
Received: by outflank-mailman (input) for mailman id 645013;
 Thu, 30 Nov 2023 15:48: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=Hcd2=HL=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r8jHJ-0006bT-Ry
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:48:37 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ebd2b1a0-8f97-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 16:48:35 +0100 (CET)
Received: from Dell.homenet.telecomitalia.it
 (host-82-59-158-146.retail.telecomitalia.it [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id 3AEF04EE073E;
 Thu, 30 Nov 2023 16:48:35 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebd2b1a0-8f97-11ee-9b0f-b553b5be7939
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>
Subject: [XEN PATCH 2/2] x86/p2m: address a violation of MISRA C:2012 Rule 8.3
Date: Thu, 30 Nov 2023 16:48:22 +0100
Message-Id: <0faaa66465367a9e4c4da5749bc123b832e02103.1701344917.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1701344917.git.federico.serafini@bugseng.com>
References: <cover.1701344917.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Make function declaration and definition consistent changing
parameter name from "gpfn" to "gfn".
For consistency, rename also "old_gpfn" to "old_gfn".
No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
This patch depends on patch 1/2 of the same series.
---
 xen/arch/x86/mm/p2m.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index 42508e1e7e..6eb446e437 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -2414,10 +2414,10 @@ int xenmem_add_to_physmap_one(
     unsigned int space,
     union add_to_physmap_extra extra,
     unsigned long idx,
-    gfn_t gpfn)
+    gfn_t gfn)
 {
     struct page_info *page = NULL;
-    unsigned long gmfn = 0 /* gcc ... */, old_gpfn;
+    unsigned long gmfn = 0 /* gcc ... */, old_gfn;
     mfn_t prev_mfn;
     int rc = 0;
     mfn_t mfn = INVALID_MFN;
@@ -2431,7 +2431,7 @@ int xenmem_add_to_physmap_one(
         break;
 
     case XENMAPSPACE_grant_table:
-        rc = gnttab_map_frame(d, idx, gpfn, &mfn);
+        rc = gnttab_map_frame(d, idx, gfn, &mfn);
         if ( rc )
             return rc;
         /* Need to take care of the reference obtained in gnttab_map_frame(). */
@@ -2455,7 +2455,7 @@ int xenmem_add_to_physmap_one(
     }
 
     case XENMAPSPACE_gmfn_foreign:
-        return p2m_add_foreign(d, idx, gfn_x(gpfn), extra.foreign_domid);
+        return p2m_add_foreign(d, idx, gfn_x(gfn), extra.foreign_domid);
     }
 
     if ( mfn_eq(mfn, INVALID_MFN) )
@@ -2475,12 +2475,12 @@ int xenmem_add_to_physmap_one(
      * Upon freeing we wouldn't be able to find other mappings in the P2M
      * (unless we did a brute force search).
      */
-    prev_mfn = get_gfn(d, gfn_x(gpfn), &p2mt);
+    prev_mfn = get_gfn(d, gfn_x(gfn), &p2mt);
 
     /* XENMAPSPACE_gmfn: Check if the MFN is associated with another GFN. */
-    old_gpfn = get_gpfn_from_mfn(mfn_x(mfn));
-    ASSERT(!SHARED_M2P(old_gpfn));
-    if ( space == XENMAPSPACE_gmfn && old_gpfn != gmfn )
+    old_gfn = get_gpfn_from_mfn(mfn_x(mfn));
+    ASSERT(!SHARED_M2P(old_gfn));
+    if ( space == XENMAPSPACE_gmfn && old_gfn != gmfn )
     {
         rc = -EXDEV;
         goto put_all;
@@ -2493,22 +2493,22 @@ int xenmem_add_to_physmap_one(
     {
         if ( is_special_page(mfn_to_page(prev_mfn)) )
             /* Special pages are simply unhooked from this phys slot. */
-            rc = p2m_remove_page(d, gpfn, prev_mfn, PAGE_ORDER_4K);
+            rc = p2m_remove_page(d, gfn, prev_mfn, PAGE_ORDER_4K);
         else if ( !mfn_eq(mfn, prev_mfn) )
             /* Normal domain memory is freed, to avoid leaking memory. */
-            rc = guest_remove_page(d, gfn_x(gpfn));
+            rc = guest_remove_page(d, gfn_x(gfn));
     }
 
     /* Unmap from old location, if any. */
-    if ( !rc && old_gpfn != INVALID_M2P_ENTRY && !gfn_eq(_gfn(old_gpfn), gpfn) )
-        rc = p2m_remove_page(d, _gfn(old_gpfn), mfn, PAGE_ORDER_4K);
+    if ( !rc && old_gfn != INVALID_M2P_ENTRY && !gfn_eq(_gfn(old_gfn), gfn) )
+        rc = p2m_remove_page(d, _gfn(old_gfn), mfn, PAGE_ORDER_4K);
 
     /* Map at new location. */
     if ( !rc )
-        rc = p2m_add_page(d, gpfn, mfn, PAGE_ORDER_4K, p2m_ram_rw);
+        rc = p2m_add_page(d, gfn, mfn, PAGE_ORDER_4K, p2m_ram_rw);
 
  put_all:
-    put_gfn(d, gfn_x(gpfn));
+    put_gfn(d, gfn_x(gfn));
 
  put_both:
     /*
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:48:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:48:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645012.1006740 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jHK-0006fs-S1; Thu, 30 Nov 2023 15:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645012.1006740; Thu, 30 Nov 2023 15:48: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 1r8jHK-0006en-NL; Thu, 30 Nov 2023 15:48:38 +0000
Received: by outflank-mailman (input) for mailman id 645012;
 Thu, 30 Nov 2023 15:48: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=Hcd2=HL=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r8jHJ-0006a5-Gf
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:48:37 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebacaf32-8f97-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 16:48:35 +0100 (CET)
Received: from Dell.homenet.telecomitalia.it
 (host-82-59-158-146.retail.telecomitalia.it [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id B8E994EE0739;
 Thu, 30 Nov 2023 16:48:34 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebacaf32-8f97-11ee-98e4-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>
Subject: [XEN PATCH 0/2] x86/p2m: address a violation of MISRA C:2012 Rule 8.3
Date: Thu, 30 Nov 2023 16:48:20 +0100
Message-Id: <cover.1701344917.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

Patch 1/2 does some preparation work, hence it needs to be committed as first.
Patch 2/2 addresses the violation.

Federico Serafini (2):
  x86/p2m: preparation work for xenmem_add_to_physmap_one()
  x86/p2m: address a violation of MISRA C:2012 Rule 8.3

 xen/arch/x86/mm/p2m.c | 36 ++++++++++++++++++------------------
 1 file changed, 18 insertions(+), 18 deletions(-)

-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:48:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:48:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645011.1006733 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jHK-0006bl-Hc; Thu, 30 Nov 2023 15:48:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645011.1006733; Thu, 30 Nov 2023 15:48: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 1r8jHK-0006be-F0; Thu, 30 Nov 2023 15:48:38 +0000
Received: by outflank-mailman (input) for mailman id 645011;
 Thu, 30 Nov 2023 15:48: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=Hcd2=HL=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r8jHI-0006a5-Sc
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:48:36 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id ebb3c753-8f97-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 16:48:35 +0100 (CET)
Received: from Dell.homenet.telecomitalia.it
 (host-82-59-158-146.retail.telecomitalia.it [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id 085594EE073C;
 Thu, 30 Nov 2023 16:48:35 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ebb3c753-8f97-11ee-98e4-6d05b1d4d9a1
From: Federico Serafini <federico.serafini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Federico Serafini <federico.serafini@bugseng.com>
Subject: [XEN PATCH 1/2] x86/p2m: preparation work for xenmem_add_to_physmap_one()
Date: Thu, 30 Nov 2023 16:48:21 +0100
Message-Id: <aeafaee0fc4a507f6ba0c10e8fed90ed73a6bd6d.1701344917.git.federico.serafini@bugseng.com>
X-Mailer: git-send-email 2.34.1
In-Reply-To: <cover.1701344917.git.federico.serafini@bugseng.com>
References: <cover.1701344917.git.federico.serafini@bugseng.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The objective is to use parameter name "gfn" for
xenmem_add_to_physmap_one().
Since the name "gfn" is currently used as identifier for a local
variable, bad things could happen if new uses of such variable are
committed while a renaming patch is waiting for the approval.
To avoid such danger, as first thing rename the local variable from
"gfn" to "gmfn".

No functional change.

Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>
---
 xen/arch/x86/mm/p2m.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c
index fe9ccabb87..42508e1e7e 100644
--- a/xen/arch/x86/mm/p2m.c
+++ b/xen/arch/x86/mm/p2m.c
@@ -2417,7 +2417,7 @@ int xenmem_add_to_physmap_one(
     gfn_t gpfn)
 {
     struct page_info *page = NULL;
-    unsigned long gfn = 0 /* gcc ... */, old_gpfn;
+    unsigned long gmfn = 0 /* gcc ... */, old_gpfn;
     mfn_t prev_mfn;
     int rc = 0;
     mfn_t mfn = INVALID_MFN;
@@ -2440,12 +2440,12 @@ int xenmem_add_to_physmap_one(
 
     case XENMAPSPACE_gmfn:
     {
-        gfn = idx;
-        mfn = get_gfn_unshare(d, gfn, &p2mt);
+        gmfn = idx;
+        mfn = get_gfn_unshare(d, gmfn, &p2mt);
         /* If the page is still shared, exit early */
         if ( p2m_is_shared(p2mt) )
         {
-            put_gfn(d, gfn);
+            put_gfn(d, gmfn);
             return -ENOMEM;
         }
         page = get_page_from_mfn(mfn, d);
@@ -2480,7 +2480,7 @@ int xenmem_add_to_physmap_one(
     /* XENMAPSPACE_gmfn: Check if the MFN is associated with another GFN. */
     old_gpfn = get_gpfn_from_mfn(mfn_x(mfn));
     ASSERT(!SHARED_M2P(old_gpfn));
-    if ( space == XENMAPSPACE_gmfn && old_gpfn != gfn )
+    if ( space == XENMAPSPACE_gmfn && old_gpfn != gmfn )
     {
         rc = -EXDEV;
         goto put_all;
@@ -2518,7 +2518,7 @@ int xenmem_add_to_physmap_one(
      */
     if ( space == XENMAPSPACE_gmfn )
     {
-        put_gfn(d, gfn);
+        put_gfn(d, gmfn);
         if ( !rc && extra.ppage )
         {
             *extra.ppage = page;
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:56:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:56:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645023.1006764 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jOZ-0001c2-OX; Thu, 30 Nov 2023 15:56:07 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645023.1006764; Thu, 30 Nov 2023 15:56: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 1r8jOZ-0001bv-Lh; Thu, 30 Nov 2023 15:56:07 +0000
Received: by outflank-mailman (input) for mailman id 645023;
 Thu, 30 Nov 2023 15:56: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=Hcd2=HL=bugseng.com=federico.serafini@srs-se1.protection.inumbo.net>)
 id 1r8jOY-0001aY-L6
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:56:06 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id f7a083c0-8f98-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 16:56:04 +0100 (CET)
Received: from [192.168.1.15] (host-82-59-158-146.retail.telecomitalia.it
 [82.59.158.146])
 by support.bugseng.com (Postfix) with ESMTPSA id 4A1E34EE0739;
 Thu, 30 Nov 2023 16:56:04 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f7a083c0-8f98-11ee-9b0f-b553b5be7939
Message-ID: <6e770043-c358-4000-badb-5a4e08e8c8b2@bugseng.com>
Date: Thu, 30 Nov 2023 16:56:03 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 0/2] x86/p2m: address a violation of MISRA C:2012 Rule
 8.3
Content-Language: en-US, it
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
 "jbeulich@suse.com Andrew Cooper" <andrew.cooper3@citrix.com>,
 george.dunlap@citrix.com, roger.pau@citrix.com, wl@xen.org
References: <cover.1701344917.git.federico.serafini@bugseng.com>
From: Federico Serafini <federico.serafini@bugseng.com>
Organization: BUGSENG srl
In-Reply-To: <cover.1701344917.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 30/11/23 16:48, Federico Serafini wrote:
> Patch 1/2 does some preparation work, hence it needs to be committed as first.
> Patch 2/2 addresses the violation.
> 
> Federico Serafini (2):
>    x86/p2m: preparation work for xenmem_add_to_physmap_one()
>    x86/p2m: address a violation of MISRA C:2012 Rule 8.3
> 
>   xen/arch/x86/mm/p2m.c | 36 ++++++++++++++++++------------------
>   1 file changed, 18 insertions(+), 18 deletions(-)

Adding maintainers in CC.

-- 
Federico Serafini, M.Sc.

Software Engineer, BUGSENG (http://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:58:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645026.1006774 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jRG-0002mE-5s; Thu, 30 Nov 2023 15:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645026.1006774; Thu, 30 Nov 2023 15:58: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 1r8jRG-0002m7-2k; Thu, 30 Nov 2023 15:58:54 +0000
Received: by outflank-mailman (input) for mailman id 645026;
 Thu, 30 Nov 2023 15:58: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8jRE-0002lr-RW
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:58:52 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2085.outbound.protection.outlook.com [40.107.7.85])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b3e63c6-8f99-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 16:58:52 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7310.eurprd04.prod.outlook.com (2603:10a6:800:1a2::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8; Thu, 30 Nov
 2023 15:58:21 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 15:58: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: 5b3e63c6-8f99-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=VVivXSJ+FBmz5sXfV1bKrbSwQLpG67CbvG2aK4nQ1irtFOJAudtRc1x7lih0UZ9mWe3QWC4htjqSKUCmQnOvpw6yMelIZj1koXRoZ4cJITwvPtHi7qVRawf6JqIDISlbfsCyHSuamNW22mQkrAseVtHQ4h9OpopXyYPnoPJfyrREMnjyh3h+egNI+pqm+EozXGCq4FLjplAitMD6Nszb6vl+LpXy0b6GPZhGyTMf8IMn+LqY9Jgpy9BKq2dIV2G9Afv39VMsr3MhIlaf0q4RZa9/Yx/NhKMG9sR4uod2qNlyv2Kf+K1r1bF/2ozQxwDWiQXUR4IlDSbOlJUv0ZoNaw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vPAnAkPuF+r9vh72RFbq6quMYRHsEkj7B9nvnGNJ3Js=;
 b=d3LAydGtomPE5NN6bm+MzcMxE22xRX4G1UyADydo6rEYrzuZr/Ebl8Ba5wfcE1iSv88tHK8y4mPCtbRjqsWt3/QYUw+/PnGn36tMgovGFeNjf9DRbdZRyRDJwi+8vFQROgY2L9yDT8A+zYJFrhMgwgKJvIAPL+z9QWepgI8TF8msIh4Oo8+7d97E4DTqD2ofCrMdVMqJBojwTf01ToqBzM6gNDhJHC2yEEVgmDZATQXlIcioR5dhwd0f/lPvsAM7hQe4vqwFg9CBZQWRB0YrD7tZglLzPSQOwUY6rFOKTwujlZ+alMrfXCwVQ7rjIl+lD/bV1VGfg562BunqkUmIdg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vPAnAkPuF+r9vh72RFbq6quMYRHsEkj7B9nvnGNJ3Js=;
 b=0N9tLNHZL8Xh62MCLXOu2Ec1lEaeieDyZh32rduupAqbCc2pzTDuwAUWbAyIapoBed0f/PRMndLjj9JUuP04ChT4hfzupcnXofouwk2nudCfeGFWSeP2kT95/uXywr2Gb9jHlXFa4zq1fcR8Id5vj1JgYuKh1fEY7wfIBabwotpF55773H3YsR3ngRS7JaSDhrO8pAGQneBM+cxwS6FYyJujYQMesZf6sXRldqZ8MmcwUOlFd8Z8E4krpNqYuskNDCUI9AcuNCcqWAVktBN5WtCn21deSr9dWK/eBEGCcTmcVeQkvxf6WNho9olTRjGZnWMMRKY5uB+5HRF/dcvubQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <97c2031c-6be8-43b6-9ebd-c586985ce089@suse.com>
Date: Thu, 30 Nov 2023 16:58:19 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 05/11] xen/domain: address violations of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700832962.git.federico.serafini@bugseng.com>
 <d38b5f555c622a23b2433793e70156efe459a811.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d38b5f555c622a23b2433793e70156efe459a811.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0437.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7310:EE_
X-MS-Office365-Filtering-Correlation-Id: 94858acc-6c68-49a1-7ca7-08dbf1bd2d5d
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	xbrW6TCudF6fjp/VaB/6UqsX++NyybmzWtiSW3CUHYZuUEZdxGdaXvjC/LzcvOAuTo1gBJwZWntS1kcOTuVxstroCkeWu+rcH9lMisUCck1Jz09H/zWmSrEwGmyElkCVRoAS0xK2arHj8bgWmTGh09BgF00Kf/hJxi7rBcdxz4rGaW3W04ErtHVp0Q54695SKmkUcqBiAswj08pGqE/u+1D1uAnac5Ii9uroCO91hA8EAcSwul8fPWVxomQd33VId8LKo4bgFGpPkVXRp5jx0i/hhPIORPmwYlJvw6NlYTeTKAa7/YbqbCbO0UbLMxJM3KWw5ymfTLo/oaQbTivY0n2INx51ZSf+XVjQmSBaw0kOJyfiHmVtGMLNyU8We5DO7sxyPOz8aew3FMclYSqA89WZS1XzDUXityuYM6jt0j44NJJmaCEMorCjftg+OxcrDJD2279Sv37yjkC9oktx9YpO3tkLXXN5bQ9GYg27/aSR1lMukbl7IJH+usp5fjN+sOcPKErWs97zF98/UkKwEiuTIqrJ4Qsnnn6yzYmCYDrRL2ijCrbbFvDxzGFtABlM9tPtGYuJNF/MOt2Gzb2UEeWmxuzzHLiW7i1l0+Wgwi0s7LWFAy9eRq76yw2nyXO0VBnrNVELzJco5ooCWqMZIg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(366004)(39860400002)(136003)(376002)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(8936002)(31696002)(86362001)(316002)(558084003)(4326008)(5660300002)(36756003)(66556008)(6916009)(66946007)(66476007)(54906003)(31686004)(8676002)(6506007)(38100700002)(2906002)(478600001)(6486002)(53546011)(6512007)(2616005)(41300700001)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?MzJOcC9sL3FNbU52ZnIyNDJ3bG5HUEZRMUZiVDlJOFRVZXU4UWRKRFFYZnlv?=
 =?utf-8?B?dGx3eDB2SHFNYzdRdzV5QWxTRzBUcHQ3RldIOEtrUXFzcUJkZjhUVHJNbFRS?=
 =?utf-8?B?RkFvZUFrNy9JTEk1TVpxODRuUXVFQ25tbnVWNk1lQXh5S2VGOEZQNnlmV1FB?=
 =?utf-8?B?UzArMkc1N25WVGV3TjRXSldGMWtRM2ZXQ2tmd2hocDhBcDhCaWVrZC83aUNC?=
 =?utf-8?B?amlJWmFra2k0eFlsSE5FMWtiZmtuQkI2UGpQK1ZhdUFqSm5lNFBSbXROdFB1?=
 =?utf-8?B?YnN2cWozdW9LM1lzV1A5SmR6MmYvR1V3RHNZSU9nT3JHcGZVRStWN1orWTEz?=
 =?utf-8?B?VFQyVmhBVU1TcGtuVUZIbmMvbFNVaHYzblkxdnowT2JQa1Joa1ZhRTRFcmJY?=
 =?utf-8?B?OWRTcStnNzM5cjgrQ2Vrbng4NERnVjJ2Y1VPUDl4VTVrRkVTTVQwcElBaFIy?=
 =?utf-8?B?d2tDa2piNjZ1eDB3UmZkUmRHS0JGZk1NZTVqbUdIR0NOTDBFbVh6TWZaMUVy?=
 =?utf-8?B?czk3V1VIQkVUT21TK25xd2t6NnlkK0NsakVTajFiTzZaUFZGR0hmK1hPbFhh?=
 =?utf-8?B?NXZUQ0lyek8vL3pMUVFKc3VHbWRCdjFyZE1aUUdoR2VCMldIZzlWaExHMXFX?=
 =?utf-8?B?dHpaeFdZVWZabnMwaFpRRFhINjJqMnBLSHMwOTRwbEtaYmFDVmd4azlvT0tk?=
 =?utf-8?B?eUZ1RWlqTjVJVmx1S1FQNExTK0pzY1lRNVdzZ29JQnVhRW5ZcVMyN2ZvNzZx?=
 =?utf-8?B?a3JhL2NhWjcxVVo2VXRJclBwYXY4b3RWY3ZkaHlHNDJoS3lVZnlMcDh6aE1k?=
 =?utf-8?B?R1hYbnhIRFJWREwxODB2YnNxWDZuVTBQRHlPRUVpUjFqK2FGbEYrSms1NFpv?=
 =?utf-8?B?MUhlcDV1NUxtRWErK1BYMXBYSXBqdkdRN1dDSzhuWU5xUDQ3cGJOSEZNNmcx?=
 =?utf-8?B?dGlGWC80WDRNUi9EZE5USDJiS1NYMUdIcG1JQWhPMWUrU0NNN2d1UzdBQWtP?=
 =?utf-8?B?WE85OWlQVWJNeTkxLzdkcWxxc1YrYk9vYUsvczJTbEJiZjhUVzNJTmw5dFM4?=
 =?utf-8?B?bW00NEtyWTBWcktST0JLV0JkYk56UkQ3MVVwbFdUN0hvWnNWc0RJNE53RHZN?=
 =?utf-8?B?YXVZSk8xSFFybEVUT1d2UXpmMy9DcDNMUnBDRGpPc01GNWtzdUoxQk5tNkNL?=
 =?utf-8?B?QTB5VE9SWG1ad3NXa0FKZ090dUUwRUVVNnRVbDVIN2N0K3l2ZVR4aHVDZkR0?=
 =?utf-8?B?V041K1Jjd0NhbHlaWHVNWHk1dHNkNEpDa2hqNWFzQTJDaXFTTWp2RkxwYWVU?=
 =?utf-8?B?aTRkZGFmVVFlNGVmbkZvVDNhWjFEOGhpSFdlQ1RqZExEdm1ldHdUcjNsUFdC?=
 =?utf-8?B?ZkdwbWlOMnAyVmE2a1BPeGZSZXRLRjJRRk9xcm9USmRkY2ZsbldRamRiN29C?=
 =?utf-8?B?SnMxaEZHbVk3eWlETXQvTTBvbG5Ra2p0TEIyWmxBWlNDQ3g1Smplc3RDZ21h?=
 =?utf-8?B?SUdDdDZQYnNDeUxWRXcxQ3AvTDlmd2VqZjZIUnk3a3c1RTFob0ZnZ2FRYlRE?=
 =?utf-8?B?N29hVWZkZ1JGZk9BbVJkWlZ3T3l0OFo2QUQ0Vkkrak9tZUpaanNjZTI5T1Y2?=
 =?utf-8?B?QXhJOUZNRnBDS3RtdndoQjVrRGI1cEhyU0lRMlN0VTBPZkdRYTFrZERna2tl?=
 =?utf-8?B?UW5rQ1djcURSQ1RibG1vOE1DU3EvSlhHZ0tvTzhzL0MyVHpIQnBieGEvWXht?=
 =?utf-8?B?cUVEc2dnNkFYblMveTZQdVU3WktMU1lnTkNpWk1ubkRqRjRKbXk3dDVBZHVR?=
 =?utf-8?B?b0FPU1Vqdk52eEN0S0dZRzB3NHhCM0RQNXp6VmEvRkdaLzhQVURrdHdZaGdm?=
 =?utf-8?B?K1NEQTI2MUJac0FBQWd1YWxTRFhhd25vdFBRVjh1eG83U0R0dzFBTTk1QVB0?=
 =?utf-8?B?SUVKQWYrM2tCWHJNV1NidkFiUCtOSklMbUFjRHhCZTVwa2ZQNW1wcHNlV3pP?=
 =?utf-8?B?WEhEaDR5R2YwYzg5MVp1L0FIdHJGL1Q5ZE1laWlNbnY3YWpzMHVLTjNkSnlY?=
 =?utf-8?B?Z2ZFVlhvMnYwelRGL05rRGw0dkF5b1dXRzBodXBrTS9WdmxzZHFXakNEUjNi?=
 =?utf-8?Q?W/vLa5/3gFqSwrtSuuQATnFd7?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 94858acc-6c68-49a1-7ca7-08dbf1bd2d5d
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 15:58:21.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: A8YkTtTalkToxDjGBcUN/75ZoU81tlz3LYiHlmaK7fERhwQr1gvDEgjnaCqnTFwlip/fyvFB0rj8dXP1SZNeVg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7310

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 30 15:58:56 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 15:58:56 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645027.1006779 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jRG-0002pB-Cr; Thu, 30 Nov 2023 15:58:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645027.1006779; Thu, 30 Nov 2023 15:58: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 1r8jRG-0002od-9M; Thu, 30 Nov 2023 15:58:54 +0000
Received: by outflank-mailman (input) for mailman id 645027;
 Thu, 30 Nov 2023 15:58: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8jRF-0002lr-HJ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 15:58:53 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2085.outbound.protection.outlook.com [40.107.7.85])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5b93d6aa-8f99-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 16:58:52 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7310.eurprd04.prod.outlook.com (2603:10a6:800:1a2::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8; Thu, 30 Nov
 2023 15:58:43 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 15: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>
X-Inumbo-ID: 5b93d6aa-8f99-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=eaETe2P/6zo+JF7iNIqhmld3pVwjaKzpCe3P4+pWw4qorbsqw9qLnWzdvdkI+ylq6Das40nRHL1M1h7/7tiBtfgrosO13U6+XHK5sAUrCZKbcIp2WmxyyFWhIdxL2tn3aeQ4Sj4XW51BT2DtEQ0JpeDQoAq9jPMZv+nMpVd+ua6S3U3yu5eHRa5cgUjrM5R8+agJUVoawn7tX6ede2Bx9sxvUtN7vHM565d12O/CpkIE+wiYys9KkI438/DDAspozjE3I420gTQteMySvHi1hlBBoCDfqZo1uB20WtUCL5XlffEml+0gkmO4QxRllPZ8b2X9JbdPV+BX7LJpaa9npw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=vPAnAkPuF+r9vh72RFbq6quMYRHsEkj7B9nvnGNJ3Js=;
 b=Pj+5wvHLzNy4UTpz4g5M9PDLZoc7A47+h21IxZbOuZx86h4roO8OUZugQlx99belINNH5I0CeoVML1kucVu0dNAbFEwdPp+zlZelYh5gklaFVnh2J/LViccdduEBZujWSlumciHJeQxYEJq5WFX5aOigN/BEujy69De86F77F57jJ0Aj0YNBJVaC8uE0kf0eN2ANaox3In+qV69+8FmTXnPBVJ1b7hhxHWoBIcOW/uMZdRVNQxoiagMM+Ep6cwDWw7CFdNQWDkGeJnCwfckpDvRHiv8Wy5a4p1KaRkYnA1S6vrRVmQuaFGsZQjfy9L0YdYjNcrIHRlM0mcCDjJzJ7g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=vPAnAkPuF+r9vh72RFbq6quMYRHsEkj7B9nvnGNJ3Js=;
 b=KvNJy4hQPHzpG4PngQF2844nFPD092S2JF/QGjdlWPiunUjRY/65ZXFU4DiU+DGboppPQshmvIkVnx9cReA5IaSjNjllrf5sCVmjNxqVKCX780PetwcbO6/SBYE9LvF4nPsBWs2qoAcLJYhhf9whUk5fXH8xoqN7azG7daihZ+UcoAHoUJDrAOn6PTvzl7AY1ALGZ3s8epuIR0+kWV+1jw8e9DxDIpy1zZeuj5++vCbxZxERhSFUmKZEDAFY+qKFIItyHOeMb1Y7r/Us1PPuDK1dQx8/plXic0wiZ1txB03Jf7sArG8xUzKZmOh9bVWfjw9rh7hb/GVRmUEDdWmMeg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <b4b28528-6929-4b90-a9a3-f5dd090b89db@suse.com>
Date: Thu, 30 Nov 2023 16:58:42 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 06/11] xen/notifier: address violations of MISRA
 C:2012 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700832962.git.federico.serafini@bugseng.com>
 <cdd613a0570b9376eee058e399e4e0cc08ed7df2.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <cdd613a0570b9376eee058e399e4e0cc08ed7df2.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0437.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7310:EE_
X-MS-Office365-Filtering-Correlation-Id: 53e9d975-d844-49ea-2167-08dbf1bd3a65
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	I7FcUwWQPzo29KgFRNKcITYINCYiOvIVBfN/bqJdapr3qARkeALD/aVnIEuXi+01jDs258ngZizmo+vCNUcHZUpqeG2aRt1ozs5l8Vtcq9VRV6I076lTWSWi81Dzy8IlkIeOd7sFK2/ayoBPXQn5GHgM6WYogDGbKTVtd6EC7/smvOd3xYp7FFxqjzSN4dWYpvWFym2d1hjU0PSgAkPEZiLe6I/PLLyV/InMiPaw3pILpHvX3jfGgdFG+A3Fa6t66jldtacADKpuayvSuVDkrqEm+4kukT4q13UBvlfsoahmgj/zAYjTc2+9VARDJt53lT0WoFuLKnZoR9ykQnECYjm24CjFTS+vabZxxXnG2MjcrBSgs7dQOiN7xPGJACL9cL1HdiDBhenvk7+RftxG8bQqOhBmUfztfjP0GnYm68ENdPlw+Dlyw9SHZKsiTOWAqkJm68Q46PdfQGf2r9tGEtAbOxPZU2z/sTsgir2nrs3yELTir9WIlQXQlvEla/gMZq7vl+hTwI6r9zzsG6Ymr8UON+ROi3FQqMlFv/T4CGFD4XzI7pQN3hG8aQAXQkEh9LHl/NCdBlW7hvaqhZRxoUXWmJ7tiLnAtzk2MPC/foUGIuc/4NImKp+z4iozzG0XFKvS1SdrIJz6xcNBtsR7SA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(366004)(39860400002)(136003)(376002)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(8936002)(31696002)(86362001)(316002)(558084003)(4326008)(5660300002)(36756003)(66556008)(6916009)(66946007)(66476007)(54906003)(31686004)(8676002)(6506007)(38100700002)(2906002)(478600001)(6486002)(53546011)(6512007)(2616005)(41300700001)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VjlrZDlJcFVIdEltVlJNOXdJWkwyV01BN0VlVk5TMDN0UThPK0pLZ3p0VTF6?=
 =?utf-8?B?aXoyQ2lLamQycHJnRG9vdUs2MTgxVEdQOEs1UFlqSjlFREVwOURZSUpqbnQv?=
 =?utf-8?B?Y3dhNDRidGdmY1gwZzVJUFRiT0NYTDVjelVBTHFIU0VYZXVuQzVIcC83VVp6?=
 =?utf-8?B?Yzc2R0NOQXAvT085ZVBQL09xbTBoTVFsWHlSR1ZTbktsSUhRWFhlazhBTGVz?=
 =?utf-8?B?V3pNd1JUR1dnQkMra1piVWQzYXFDQU83Yno3NmtIV1NoU29sRHYxdHlORTUw?=
 =?utf-8?B?UlZFdG5RelRxM0QzMVdSS28xZHFwVnltcHpiQUtPU2ZZckNyMkFhYSs1Yjla?=
 =?utf-8?B?N09sMGlQMUQvTEM4SmxuTFM4YzlJb2ZEeUk1dEd5YXpnaU96LzNmRVhhNC9w?=
 =?utf-8?B?TUxTWXN3RlYzNUJQa2F5VWJTR2NCNHRiVTBMT0FMMXI3VmhiZUFQenlQcHA4?=
 =?utf-8?B?Q081eG9qd1orS1k5SHBnd25XK2FSTGhuZHIzZzlpSVJBa3pDODNldlh6WDhU?=
 =?utf-8?B?ZE55TjkwU0gvOGpmZHZtd2p4VlZhZTZSQU5tOWl5cXJldEUvZnhpaW8xV1NQ?=
 =?utf-8?B?d3JweHp6SThxOGlkek1aaTh1WndnNFpiRmdCUXBEdnYvd2l2VGFuSmhER1dL?=
 =?utf-8?B?K0R0VFdZSlExNlVnbWdmbUJuVDJuck5ucDBDRytKWGYwSlVIYmxsN0VCRlJU?=
 =?utf-8?B?NDh5VXExbjh3c0ZHWkZ4N2gwcWNISW82ZkFIV2RWMUFQN2Qwd01XVm5xSE53?=
 =?utf-8?B?WGpnUEk2alBOaWo1S1k2Z1l3TE1UMnNTKzNUL0dtVGt2d0pwcW5ScFEyK1Ir?=
 =?utf-8?B?OE5pWXI2V09sMzc1dklSS3czcjNZc2VSdmF1M0NsTGxYUDVWL08xbm5BSmxr?=
 =?utf-8?B?V3MxdktUTVZTRlJpRmoxZTBiN3dOY25yTlUwMTlCYVFpVm4wUldQRWtiZmhs?=
 =?utf-8?B?ZmM2eWV1TUhWZ2l2QjRscXlKZ01QVzFFV09SZlkxSVN1QWE1eEgwZlVqRFZV?=
 =?utf-8?B?Qk1QbldzUVprV1B0UnFtT0tqMUlNdHp5by8zY2xtemdTNnQ0SlNQMmk5bDRp?=
 =?utf-8?B?QUNTTU1HZVUvcFdXTjR6YVYwTk4wQWZDSm1jaUJ3TmN2OEgyY2NwWGlLeWVp?=
 =?utf-8?B?cHhLOVBJY1NkVmhjbGEvYmxtUnpHK1hVM2lHQUU1WXljamtTUnlBZ3BHQVpJ?=
 =?utf-8?B?a3R5L2I1V2RiOERHTFFhRjdwajZ0aVlkaEJHUlYvYm5FdmdnVGtpeE9vT1lL?=
 =?utf-8?B?OGhqOE5lRWhpVStVQ0M1eGNKTlhFZ1hBNlovMzd6QU55RW9nVFhPUCtMNUhu?=
 =?utf-8?B?NGdlcWlaQitOcHIyNUZBU240U3MzSmpPRmhCT3h3VndtRmIwaEZBR2c5NUVF?=
 =?utf-8?B?UEpQd3p3TTRJQWNQQWUwK2gzUmJUbHJlc3dlei9uY1U0MGZZTzVkK1g2YzI0?=
 =?utf-8?B?RjVtcFEwcGlhTDJUMUsxSGhuQ05FR0l5M1hZZnZCTDJ0ZnJnSnpVRkhOZ3ZX?=
 =?utf-8?B?WlRNRUlpTTI4VkFzZUhkRUczcm90RDRnQms3UDFFUk1lZmptUVVyV3hvQVB3?=
 =?utf-8?B?OTdCWkFuYXdoejlncytCVERDaitYS0F5alB1RVBRSTNqZDRTa29hYU5NTjEy?=
 =?utf-8?B?UnROK1VETTdhZFIwZTVZbTlrY1crd0tmMUtVY3Zwc202QXlKTDlsQTE5VkJo?=
 =?utf-8?B?N3VDSmVPWGM5YkNkQTE2V1pYdWNjZDRUTHhYS3FYUWFTbDBWczZHRTFYQVBT?=
 =?utf-8?B?am9SbUZsUFF0WkUwRlNsOXkzOFdWM3diSUo3dnJGNUFhVXQ1dXNHVTZ2T2xp?=
 =?utf-8?B?M0taWmM4SVVzNFpKYkxQV3VHbEMxOXltTG9FVkdhRk96V3hpcDBxejR1eWdU?=
 =?utf-8?B?R3NkK3RNWGRpOWtCMnpxb0NaV3NUQXAyMk1xR0hpNzdER3FKZ0srNTRNVktO?=
 =?utf-8?B?MWpzM0tRUWVPYnJHWi9CYkZBVWtxY0NycXFJaWxkV00rV0RjanZ0YXEzazZB?=
 =?utf-8?B?RGxsSWsvSkFUVC9QYVNoNkxXY2dNelFHNXJBNkF3Y3pXUjRUK2pjY0JURm5v?=
 =?utf-8?B?eG52bUk0SUFnMHlTanlhbkUvSXZFOHc2SUdpdmExZFprTEplL0orTG05WXB2?=
 =?utf-8?Q?AvfzZvUKC5u2KU/ucW59HqtdY?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 53e9d975-d844-49ea-2167-08dbf1bd3a65
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 15:58:43.5044
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: FjMSvmHXTdqWYqhMr9jjGD3hoieOQ54o4wX9rfxG4d5ljDv5CVnWAGm554fNoUXkTXyTCr1BvDQBEYXA73qHHg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7310

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter names. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:00:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:00:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645032.1006794 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jSb-0005NL-SN; Thu, 30 Nov 2023 16:00:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645032.1006794; Thu, 30 Nov 2023 16:00: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 1r8jSb-0005NE-OG; Thu, 30 Nov 2023 16:00:17 +0000
Received: by outflank-mailman (input) for mailman id 645032;
 Thu, 30 Nov 2023 16:00: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8jSa-0005KM-LJ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:00:16 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2057.outbound.protection.outlook.com [40.107.7.57])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8c96da59-8f99-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 17:00:14 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7310.eurprd04.prod.outlook.com (2603:10a6:800:1a2::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8; Thu, 30 Nov
 2023 15:59:45 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 15:59: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: 8c96da59-8f99-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=PFqEHJq02Vwpl/xfov8jVHQIaJLU6VLnBHqQgVCoRuas8SLnMfzV2eNqHZ5Sd9kqAg5G8f6I4N9oEk9LO+b0pJJJwg78j/jBRHnZQy/ja1794o7Im/55An8OVKT6bARwz7MRZruvVprqLHKJYGZgDi72LotBT8G10BCuLP8mBDbhczOUGm/QtK4CyxUA2UlhPnI06ALdDVO4eKI0y+k0DhJ+5mWWSNshI2e1b+FqB1wWb60mEqB+V41rK/qjh4lkLalh2BNjBpznJAa/R1OA0p0i9+7NA2L/Spp6Y7e3+mkffPMa0gDj6FXhFCUNnQwLhvkitUlV9TecODpf1jFHcA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=02HKpb4GNdUC1VsGOqjmWHVYN/hnbassl75ivaLhBFs=;
 b=Nf6HL3VwnJHx20LYiS/f6gvDhptgCG4kJ2UHG+o38205y+vmSm0QAqS0o3q8eHV4PCNAiqtO04Lzp3J/HuWYdp/35GiPKNOr8EnO7nzCsVjyRFFryim/JDSj0Yhb8pGhhhezOVZGveJcNeP/mEdkS9hb85AQPGWPOP+eQZw3Wo/xwJtYODKjv/qW9IuDfz0/Uxkr2CcCjGR6BJOSC4ZJ0RCl6Ms0wf7aUlnhOE13Ai0NfUvPP7J7CI+pUBE0tkWir7aI47l8i1oJv0L5shDJ8fAh6/70OOjaKjUmgwYofXtmRTOWNW/bTMzPvYnDizUVYfRBibCVfXOPYva5KsBwfw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=02HKpb4GNdUC1VsGOqjmWHVYN/hnbassl75ivaLhBFs=;
 b=PSwjHp0LztYcUVyreqL1Wtdrt2xEnFGQAUCCYYP8sYI65cDepSL1acS8ZISvgIFJkbNCwCOWsS/ACFG+1FHaI0T0GTrtSKuPVSOR6+EHo1qSFKT5mz2dKnWgv9vfigxS2l9q5yMOEKKcGJyWQqc9INNQcH15yzlKa8nEJCel0fzxS39eywOOyK8riVReWHx09Eg64FlznLd3Te0uetrpbRH9aHHX4MF4Vm/JRHn+4+mo89q0Tv2l7swubtvwU78cOU/kIZisdPvtZUe2iKfA2ynbRDTxLPbuA9tnSa0FbB8sr9wx8mf6pE3zVis324MF3uIiSN5NyyTb4nnyo8dZrA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d70f2ae5-b4d2-4758-ac84-1e8f8c415ff7@suse.com>
Date: Thu, 30 Nov 2023 16:59:44 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 07/11] xen/iommu: address violations of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.com, Paul Durrant <paul@xen.org>,
 =?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>,
 xen-devel@lists.xenproject.org
References: <cover.1700832962.git.federico.serafini@bugseng.com>
 <85581b19ffe10276639683aff56d04f3f74abd6f.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <85581b19ffe10276639683aff56d04f3f74abd6f.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0437.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7310:EE_
X-MS-Office365-Filtering-Correlation-Id: 5ce528f6-43c3-4335-a0af-08dbf1bd5f38
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	psm77l1qgVEgGS8EhKznSzEnupXBIz8vEDy/7in6F1DEAyv2qYR+xUCLYytNut7nE3bEFPT0Kpc5Xg4nt9divcZ3MFnObqRQnnTMwl25Qxw/9vOnWTTr0RQa8PI+Oe54ybypBzhfDQaoEcNUGsnB9xx5NsNdAMAPPdncu4CMUGAmUU8xASdatFMX132dotWEzGCu8NzS23LwNy1phJAUslQF1CDRplV/PcRjwTrdA7054wcU6A2N10k6I3t/ZkYGEgVqucUxF17gUqxIiJuwOCZBbI/+SibBtaVo/+L1axPzSV3eo4BSEHuFrMxp+Us9/JBdop8cy+xvUDmiu89PNNOWRO7F8RqIYSfEk+PbcI4haeapjV48OjAZj7PgLOJQbAtBoSXOuE6Af1T8k0dTzlzabV+XfqZgCrIqBa1/HDxiJ+gR/BnD0m1T5jjDTtB5/By0+QVSGPkGvt0luCNYjGzD1cAezcfEn6R51FguKs0OBrw/VC33VD7lHOFtudF/OgatNjlnENKsfl9T1CD8lDgJbxVKYGF805TTMKIGwqQ5UXsHueSVSuTn+G8dXyk44Ujv9PxObfXolvAYPgWhd6LKMltmqo+egTRSCEWrKEp3k3WtSrWCkQamAWA1kzbnStq8BCI8tjqDSrWTMpAROA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(366004)(39860400002)(136003)(376002)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(8936002)(31696002)(86362001)(316002)(4326008)(5660300002)(36756003)(66556008)(6916009)(66946007)(66476007)(54906003)(4744005)(31686004)(8676002)(6506007)(38100700002)(2906002)(478600001)(6486002)(53546011)(6512007)(2616005)(41300700001)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?KzlGVFNqS21pWGFZMnRTZGtoUGVYdFdVQ1BwQ1lNRERZSDNxSkNiOU9BWWdv?=
 =?utf-8?B?cmRZVmoraThBZjMrSnZOM01xVEV6MzRkaWJCdHlzMUYxWHpXb0dsUlNQdHZq?=
 =?utf-8?B?UGFoRVVUNzhaaXNsblJtbTZOZVRXRmFjb0s0SkdsTVNXOGVsTGdtamltdkhW?=
 =?utf-8?B?dkJlN0lvM3oyMjNlclhDYWg2SVdXZE9iMGZMZ21jNzhPZ01kUmsxM1pWN2FK?=
 =?utf-8?B?ei81WENOMkpKMkYxU2tOaTJzOFJoNmlNZzMwS0R6UTRuTkVPSWc5SDFDZStx?=
 =?utf-8?B?QjQxY0s4RWJySXJ5SGZpTktFVkVERUpRVTliL25YV0Z4MnowVlZMeURFK1Fw?=
 =?utf-8?B?aWtwZXZEcHBzV1d0TnY4cnNDQjYxT3lQNXFhbXNRTXlEMHp4RTNwNDJYTWw1?=
 =?utf-8?B?Nm1UK251bUFsdDlLWDNheG0wZGg1cWIxYk12VkZ6ZEN6SlQ4Y1hpTXlpU3lB?=
 =?utf-8?B?M2ppUHhjZnRxNm5pU3ZVdFBLbUNmZk93dHY4WmErOFRBby9mZ0dRMkJJSTI0?=
 =?utf-8?B?WHFkc0RWNmVHNXVVVldHd1J3dVRudytFWDZRMTFvdW1QUndwMHVEN2UvZllo?=
 =?utf-8?B?cUlOVldORmJueHhtOFNnd1VJQlh1ZSs3a2txb1ZZb2k0K2NOVkhDNmhwOW1i?=
 =?utf-8?B?OC8wMnR0dCs5Rzl2bHlTTitaVHI3RlgxZFVnbkk0TUZhWi9STUwxZWJlUFF6?=
 =?utf-8?B?eCsvUitKbFdBS09vTWRGLzFjdE5UbFVsanRrVDlyL0dvM0FDTWs4T3h1dFV0?=
 =?utf-8?B?MG1wWVRoaStrK0hyV1FmSVBkREd1M2ZycTNaWThOTU5uNCt1VC9yYXV0UWZq?=
 =?utf-8?B?STVJQ0VjV2JVSUovcXo0WkYrV3NMTUx5ZE4wYk1LVzJ4T2RyemZqVlVKRmlK?=
 =?utf-8?B?a0lTcUhlSk9lMjR3MDBLalRIN2xUQnptU1hnUmZLS0YwNXpTV0hGV2dCV0lj?=
 =?utf-8?B?K04vb2dQcVo1V25iR0NWTVBRQkhMQU40SG90YWZMdTQrTW9oTHVobFF6cGF2?=
 =?utf-8?B?ZjlwSlF5d04ya3ZWZWdKa1JDRGFGWFVIWlAvaGJMNzIwYnBaM3JNNFpJUTdX?=
 =?utf-8?B?TlhRazJqT3poaVRNRm1qNUpaZEdpVGFDcG5sd3l1bGl0cUoxYm1Ja2FHbGRU?=
 =?utf-8?B?UUVQNkg2OUtrRmZqY0ZuUDVObVROUG1NTC8zZUFubzgwa0FNL1dhT0hmNm1q?=
 =?utf-8?B?OU9Pb2VSVXpudXpCZTcrS1N2aDBSSWM4K3VaOEY5dWRuV3A4U2hUUlh0NHg0?=
 =?utf-8?B?TkVvMVc0VUEyMVV5V2oySnJQemFOLzJvOUJJVjhkRGxKVnlqTTJKYUYrZDdj?=
 =?utf-8?B?L3V6OWJFWGN3QTNpckh4VllQcGFqaDhRU01ja0NVbnBUN1hWYVpaQzhNTlR5?=
 =?utf-8?B?Qm4wMmxnSmh0TXR4ZjVsV2I4ZFpmUVBwOXJUOUtja0I5bXdIbFNra0NLRFcw?=
 =?utf-8?B?dFpzS3NuTVJkWERRWlIvcDliOEFXLzRBeisrVUVwenhpNUVSOUpmTytpQ3h3?=
 =?utf-8?B?dmhNSXFLNi9sVEtPOG5qNXhaNVVvelc3Tm1tTGs4ZlVNRHRxNnY2SFhGRytz?=
 =?utf-8?B?c1hVN2ZsQmlKNTZXVG1RSzlhOEs1aEtuM2piSnViREROY0t3RWdxZDhKczJz?=
 =?utf-8?B?ZkdWeUpIOGZPbkx5T0ZvL1hEVkJ0SjdJZHpEVGlOYTIyNTdMQWxaRVNUVjhn?=
 =?utf-8?B?dEN4MXhLMzdITzFuZmszZTBVZFZoUzJMWHhKNy92WG5CQXFzLzN5bWxHcXlm?=
 =?utf-8?B?UW5say9PVVY3RitrVUhDMThNNCtyam13dzBXb2RFcmxQdHRtNjNwTnZDVGJx?=
 =?utf-8?B?TFJhSndNblc4WWdHek9MNnNoK1ZRQWp3YnorUjNzWjNybGlDR0lickJuUmpw?=
 =?utf-8?B?RG9PbzJKV1VlcVBuQWxjZlQ1YWRhcUFScnZOTFoxQnBHeGZZcm9XQWc1NjM2?=
 =?utf-8?B?SUo0RWRPUUtXb0NCWjRNVXdFR0F0aFFsZXE2THg0RTBKcHlCOWt6TXBkbkwv?=
 =?utf-8?B?M2kyZ3lUN3hmNGxsRTRYN3k0T1RBejFFbVE4anNlM2hMa1IvSGt3TzcyU1VZ?=
 =?utf-8?B?WmMyTEgwSk4zRHpJS3l0QnUxTldWSWNTS3AwZGplcjRFaDV2eEJEM3BydmZQ?=
 =?utf-8?Q?6ByghMTaz2FQSaCdDL1M2oec2?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 5ce528f6-43c3-4335-a0af-08dbf1bd5f38
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 15:59:45.2873
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: hGVQD1v0UyfFwy1/oNSoB3DBXI212lCDbLqHPDzxj2K7ZV8hb/AnCKHuLvE0rRugPTQ7tkLgIjVm3l8Zh3CWtA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7310

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter names to address violations of MISRA C:2012
> Rule 8.2 and remove uses of u{8,16,32} in favor of C standard types.
> No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:00:19 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:00:19 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645033.1006804 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jSd-0005cq-3J; Thu, 30 Nov 2023 16:00:19 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645033.1006804; Thu, 30 Nov 2023 16: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 1r8jSd-0005cj-0R; Thu, 30 Nov 2023 16:00:19 +0000
Received: by outflank-mailman (input) for mailman id 645033;
 Thu, 30 Nov 2023 16:00: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8jSb-0005KM-P8
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:00:17 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2057.outbound.protection.outlook.com [40.107.7.57])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8d8b97c4-8f99-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 17:00:16 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VE1PR04MB7310.eurprd04.prod.outlook.com (2603:10a6:800:1a2::9)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8; Thu, 30 Nov
 2023 16:00:13 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 16:00: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: 8d8b97c4-8f99-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=DuCM12zi0TF4+r/qEJDon+yhg5xlYaCrR7fveRFJcbhWnJVP0Klf5UxPJla/asyRkMaXHCUjUkZ6bCvExmHhoCOrgPCVQtthTCzCn4SmFdCWDhycogLDE09Pv0zzAlG3cIHvnGi9xbFSWsh5WwJJwtXVYjowEoGw6RJSplXQu9exjc0bOZz6KtXG6cnCkM0QNVk/PGlH7s4ZKFQOiMzjtd8LlHgQ61L61IuznfmD6QHu6NgU1kHSJkceQodJOiixhxNZ8nAoM/GgdglAxCgKQURUD8UcTHmnQvdYyTx0LIUlW0EGf/rOj/bNz8FUxJdUUT9k3v/l01GYbDbsNjEw1w==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=359se0zwheblR3gQ8iCEWo19fEVQkaMnFaZyxNlsiXQ=;
 b=mpALbJgNC07GpiWC3XCKyFNM2JjPa2Dno7zhEZN9sH/MGXX4eCxnkOJEyGltbDkhgEyd4mFsTtPZ2JivxdOpzzifUzhMtjMPQlMrfa4VVDUuiHb623/oGrOQbZrvOTG1w9HrrScmYoOfgnyG55sJnblFB7sB1EkrLimAIfQ0RkfLgqqr+PO/B2UPgazLSppZUYnJjYaLP5/JRUQJ3DV9rOSCzURxfScsREJojPidJufBeFrmmhP7gXw7Qi/+ze2E0l/HKlOe/6WBpEpnjBmsKjCNNnOM2Z/tXAXRdb4VNjFXebUvtDsQDhIn+pLzs33bo3MwE3IDhL+9hn8v0ZIYxw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=359se0zwheblR3gQ8iCEWo19fEVQkaMnFaZyxNlsiXQ=;
 b=KQVwDUlMA0Qh7VZUCSLt3VDCtSpufT6EbBPaXbmiDYNlXSX2zq25TIDrC6kOUZy66soq5oTZenzw2lyV71MQkAFgf1XC3KmcaGByF1gPst0GeqBaTcba3dPaOzSYMgNkYCc3oUm7Jic71sG3J3BygbaKoBYOSRjfj667k5KwGEbEx0seJATTbCcmbkZSzf1zQej83u6RukCDzYvt5lW/qA1Yw6lCKV/FV1nakDzZRoifAGK8mV9Mhzlzd1q7/kJ1OlsJrFDolIISNKwrG/XDXca1ns2EG2jwT5j3DoCAoBj0F4XdsZmgI017lFUj/CPMU3iMII42sgFmJdOm9/Nytg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <0d59754d-75a0-4536-80c4-0af73f8d063d@suse.com>
Date: Thu, 30 Nov 2023 17:00:12 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 08/11] xen/kernel: address a violation of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700832962.git.federico.serafini@bugseng.com>
 <2f551139ef5a26b203c6c089947ca4bc5bd29d5a.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2f551139ef5a26b203c6c089947ca4bc5bd29d5a.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0437.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c6::7) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VE1PR04MB7310:EE_
X-MS-Office365-Filtering-Correlation-Id: 909bae90-9863-46e6-9faf-08dbf1bd700a
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	yXIGaQJ58QlEKS4mEpeuMrtQY8MFrsWNaj9JKDvoODc6KRmg5IHzICwZ3mBHYJ4Tkr9r+s35L/WCDisEdY+tzhiR6nM+pCJuSy2EJqNAPDbkx4rBpKqf45LgZVym30UplF28EZRCTbzRyTCXe8GKax82WhKF745sydqyacW/JZygHFPTBQDYF7f0bQrjfQsRcZX8vZeFSz0yEAJ3E7EZD+FngIjG70kTtluHtmwKn+autf3hdUl2t7320FqUBB4V3b+ZfhomV8pbkor11PvEeiIdilYrACUrIVE21o8/en4F0QWgrj+6XpFVy2UUaW/0Qo2uuOTSPuWEJyeLFNMkaM0Cj4MoOoBbADeHDQ5Q7H1Zrvy9mZ/rd0f/XIYKTFbqyTfRzTv5/qB3VB81BPFXwHNjMoFExOGD+ZB2QKpve+EC5AdcbOtXNi8LG80m9guHw9bTm6OSzCeK6o2x0kY/wqbGYTrCYxfhi3fAMenT/uNxleD0iXS8a2YtIzqYN6EjA0Cevgl1R//cSaLVU4hgQpSaCDXmPI6G5dKLQymPeyNKUhZ2x/ZPdIh9/j4u8eV1KNZMB+9LrcjxFrjc0fP31jnkuH4dsK9CUVFVqc0VtZLjj4dyFHSwKLgYijy2ui5c64FW2yFDEgVLjLnmo7y7vg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(346002)(396003)(366004)(39860400002)(136003)(376002)(230922051799003)(64100799003)(451199024)(1800799012)(186009)(8936002)(31696002)(86362001)(316002)(558084003)(4326008)(5660300002)(36756003)(66556008)(6916009)(66946007)(66476007)(54906003)(31686004)(8676002)(6506007)(38100700002)(2906002)(478600001)(6486002)(53546011)(6512007)(2616005)(41300700001)(26005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?ZU1sZ1d1eUVlWm92cElJcEUwRWJaR05NQ1FXY1B1Z0lKL1NXeWpZYXZJVE1v?=
 =?utf-8?B?Zit2elhoRUI0cW9pTW9zMVpPeWpydyt4WnV6RnRBc3Y4ZWJvdnY4M3BWMTZS?=
 =?utf-8?B?dThiclQyYnRyTWJLN05WUlhUYUllUktOVGkzMWhjclZnd3JvT1dzVUJqSkxR?=
 =?utf-8?B?SVJ2WVVmWEw4VUdROFhSaUI4QUYxaTJVOXlhMmtpWmxiZHQwZktEVGlqdmdv?=
 =?utf-8?B?MUliM2dGYmN3aU8rVHhZSVQrRXZ2N2pOczdWQVFWNFByUmZlRjF2RlRHc2M5?=
 =?utf-8?B?RjZ2Y0YvSndtYXh3N0VpaDlFREdOc0RycFhISXQzb2t1d0J5cElwY2lrYXVK?=
 =?utf-8?B?QXlLRm0wbUNhOFp6MnRQaWFvbVZOclA1R3hIMDlRa2k2blByNll1YlB6Z1Q1?=
 =?utf-8?B?RWZXSGR3LzVwbllLVFZFbnRTSExaMlY4Q0xjUktPakxVNmNkbjJucG9ESVJs?=
 =?utf-8?B?VnQrY08wY3ZCYklzemZCZ0FBbjIvZVZuampudW1ZR3FSeHI5L0k4enRpSVJ2?=
 =?utf-8?B?Z2F0VWJHaDc5S0NkY3JuS0QwTE5YenpDZGE5UzMwdVhJN292SVF4Vjl4RFF6?=
 =?utf-8?B?MXFuTlgrZ3NPQWIvRkthYkpYVXNzOGJxZXFDaktqYzNNYlJQU3B6bHM4ZDdH?=
 =?utf-8?B?Nmsrb3hCSERieEdGNVIxSUdWbWcxYmw2NnJZMzlzdlVOV2FMelFOdTZ6UVg2?=
 =?utf-8?B?eFdURkNuL2ZOaStqS2pTa2s3SmVGbERSbDdjL3p2TTNEc0NOcG4zRndVWWIz?=
 =?utf-8?B?TEU1aEVUa1daNmVnRnF0UUZJN0FPN1JLbjlRVnlvQTRTeWFiWnhDRHlLd3h3?=
 =?utf-8?B?bGNwSWpKdk84K2pwMHB6OEMzRmtHeGRialhZWnA0d2RoM21CWDVaOE8xc3JN?=
 =?utf-8?B?NUdZd2svSmExOVZTOU5CUVhnQ1lZcm8rOVNFbXFtNWZPRXR3MS80NHE1VXNY?=
 =?utf-8?B?bEJ1dm83WXdYa01YMEd3Q0pXTjhGNFZBRitsUEM0Y2xJbGRDTDZqUktBU3JM?=
 =?utf-8?B?bGgxc05laGRIRERmQkYrSjU3OVNaSzlNU3RxeUt3Q2FtUS9yYUl3ZmowMVVn?=
 =?utf-8?B?S0ZvRUFncERsWFNTdjFiZFhoT1h1R2VLNkxFQlN5aENuNSs2UUhQRDVEaytO?=
 =?utf-8?B?RHZYSE4rbkRIMVR3S2JoM3kzQ3dTdG1wOVQzdGNYd3BMNmVvemRzZ0t1YXFH?=
 =?utf-8?B?YTQ4S0xGSVVhVGhkMStlZk5VNnBYMzlVN083TlBleXpER2E2N0dlRDg5WXM3?=
 =?utf-8?B?TExzemhTVG9SNXZDdVc5WVJ6aWowSVYrS2dRZnB4Rnp4ZTMzMlloellRSGJq?=
 =?utf-8?B?OTVKdk5TUTE5OXdGNXpsNXROMmFRWXlCc2xlcSs1MTZUNmV2WnRmbHhrRWU4?=
 =?utf-8?B?bjRxUW42RmpkMEh5a2FkWFNtbGsyK3lkeFMrdFlFZi9jZllXWWRIT2JpRjJa?=
 =?utf-8?B?cm1BS2dtTHNmNTdDKzBnWkVIcktGQjFVYlh3dWhVeXo4NXhPY3pFMXViQWMr?=
 =?utf-8?B?bTIzLzg2R0sxY0FIdzlVSG4wSzZQcTQ2R3hMbElJeTlRWW5BQ2NkQTM3dHgw?=
 =?utf-8?B?VTZBeDEvM1lTL2tCTkVmQmdSdmZNNlFPUUViYXp5c3E1Q2RWMWxHdWJGNUEx?=
 =?utf-8?B?ZFdiY0EwY0ZVd1lyV1Nmc2hpakpHZmUxTi9iL2gwRWQrdXJwY3hBNUk1S0tV?=
 =?utf-8?B?czRlSHNsbUFIUWtIZlhsTS9XZTUxK2VtbjVxbWFteGhRS2o4OXRhWUJGd3lZ?=
 =?utf-8?B?WkZzQnNVcm9OQUlpTGhiSHRXSzJTTm1GZXBUNzkvd211YkpkN2ZmeHpkeGxY?=
 =?utf-8?B?OHhQbCs4RW9Gcm5sM2pMVC9lL3gyaHhsVkVaQXdoWW5ZTkw3MUJDVmJXd0Fo?=
 =?utf-8?B?N2JUNE5aWVlwYXpjOENwNFFJVy9nMHMxbERGanBqYWVHZzlkbFIyT0RmTExY?=
 =?utf-8?B?aU8wZEYyQng1azJLbjNvbnV1QnM1alFQaGx2dGpaQnhqVzNQUVQ0M05IY1FH?=
 =?utf-8?B?WjVOUlV0bFBaelBPYVVFSXoxWHNyd1NoSnM2SnRtVHNoTTNzeW81ZkM3aEtF?=
 =?utf-8?B?OVRQL1ZSODljVk1jZk5KZ2tsZ2dvTlF1SXVML1Q4Tlh3ZWl4RlNSalNxelF2?=
 =?utf-8?Q?PEI0R5OJ0qUDcHK0OK/0tH3Xm?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 909bae90-9863-46e6-9faf-08dbf1bd700a
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 16:00:13.4975
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 1z/kkekVSVUvRe2Pl3Ba3tflFk+uU303fkax6zscv+KRIP1OH50zl1J8dQ9oQ+L+E/r4skBiONzxhHZc9HSTKQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VE1PR04MB7310

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter name. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:02:21 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:02:21 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645040.1006814 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jUX-0006qF-JA; Thu, 30 Nov 2023 16:02:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645040.1006814; Thu, 30 Nov 2023 16: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 1r8jUX-0006q8-G7; Thu, 30 Nov 2023 16:02:17 +0000
Received: by outflank-mailman (input) for mailman id 645040;
 Thu, 30 Nov 2023 16: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8jUW-0006q2-BT
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:02:16 +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 d3ca1928-8f99-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 17:02:14 +0100 (CET)
Received: by mail-wr1-x42a.google.com with SMTP id
 ffacd0b85a97d-32f8441dfb5so773225f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 08:02:14 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 f12-20020adfdb4c000000b00332d3b89561sm1873646wrj.97.2023.11.30.08.02.12
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 08:02:13 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d3ca1928-8f99-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701360134; x=1701964934; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=J8Q31kwOWiBDXnwlbMX0bPU/+i+b5UwJll/wjEONC1U=;
        b=PdQw6BmV4N+ZRrxZ262D/349Mad0uhcBqfqVfEImmhSNgTO8JQf4ie/iw38GpqIBaE
         zDiHl5mTGloxIjEjPCDEd54Z/7gYMxEVQvYgUCLNg4uIqfBZAeLMSz4epywkg4XP6ouq
         kcNC6iPUIil827QcpKgMZm9qFGAMXolt683Ig=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701360134; x=1701964934;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=J8Q31kwOWiBDXnwlbMX0bPU/+i+b5UwJll/wjEONC1U=;
        b=BGOxgJ+T+9LW8Uw+WA8Tebzns/fcwCwlVFwQb5ZCSxfh1yqlAldJJCBjwUXwWbB6jT
         va3BQiEAKR4JJWonwpeDVvQxc+P5ENkSBcU3JaKKGdoGtbVLfnx8oecBWZPBKC5rIKa7
         GZ0V1Bbv3wsNKT547HbJDuiD1gELtdJ+uLse3j0cq+48loBUSfXA35swUzMuhTD41rzb
         pKuTNmy9a9YtISPDLXth3Djmo7hkQL+01HYTIq+x8tC9KzdsoiVu6uXtjn7fUd+76k8n
         U0rsqECp78+fFMQAzdyTnE1b6IzgYzHt0rAfiw4lpI2yJy3fJxxEoRi2bYVdv95nT8/K
         AOSQ==
X-Gm-Message-State: AOJu0YyH/1z5+i97cAAjhuEHEvK5wJgZTalZo/Z5driH9XHueb150yca
	q1CMY4ZBAMoO3CH/uxgZwriQiQ==
X-Google-Smtp-Source: AGHT+IG7CHrQYHgQi9oJz5npE820tArdqo6WytLhF5GonusjbfiVhyI2nc1i0dbHiq1MLAlBCrQniA==
X-Received: by 2002:a5d:458b:0:b0:332:ffaf:d217 with SMTP id p11-20020a5d458b000000b00332ffafd217mr9790796wrq.27.1701360133280;
        Thu, 30 Nov 2023 08:02:13 -0800 (PST)
Date: Thu, 30 Nov 2023 17:02:12 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Jiqian Chen <Jiqian.Chen@amd.com>, Juergen Gross <jgross@suse.com>,
	Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Boris Ostrovsky <boris.ostrovsky@oracle.com>,
	"Rafael J . Wysocki" <rafael@kernel.org>,
	Len Brown <lenb@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>,
	xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org,
	linux-acpi@vger.kernel.org,
	Stefano Stabellini <stefano.stabellini@amd.com>,
	Alex Deucher <Alexander.Deucher@amd.com>,
	Christian Koenig <Christian.Koenig@amd.com>,
	Stewart Hildebrand <Stewart.Hildebrand@amd.com>,
	Xenia Ragiadakou <xenia.ragiadakou@amd.com>,
	Honglei Huang <Honglei1.Huang@amd.com>,
	Julia Zhang <Julia.Zhang@amd.com>, Huang Rui <Ray.Huang@amd.com>
Subject: Re: [RFC KERNEL PATCH v2 2/3] xen/pvh: Unmask irq for passthrough
 device in PVH dom0
Message-ID: <ZWiyBP4Lzz5lXraP@macbook>
References: <20231124103123.3263471-1-Jiqian.Chen@amd.com>
 <20231124103123.3263471-3-Jiqian.Chen@amd.com>
 <alpine.DEB.2.22.394.2311291950350.3533093@ubuntu-linux-20-04-desktop>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <alpine.DEB.2.22.394.2311291950350.3533093@ubuntu-linux-20-04-desktop>

On Wed, Nov 29, 2023 at 07:53:59PM -0800, Stefano Stabellini wrote:
> On Fri, 24 Nov 2023, Jiqian Chen wrote:
> > This patch is to solve two problems we encountered when we try to
> > passthrough a device to hvm domU base on Xen PVH dom0.
> > 
> > First, hvm guest will alloc a pirq and irq for a passthrough device
> > by using gsi, before that, the gsi must first has a mapping in dom0,
> > see Xen code pci_add_dm_done->xc_domain_irq_permission, it will call
> > into Xen and check whether dom0 has the mapping. See
> > XEN_DOMCTL_irq_permission->pirq_access_permitted, "current" is PVH
> > dom0 and it return irq is 0, and then return -EPERM.
> > This is because the passthrough device doesn't do PHYSDEVOP_map_pirq
> > when thay are enabled.
> > 
> > Second, in PVH dom0, the gsi of a passthrough device doesn't get
> > registered, but gsi must be configured for it to be able to be
> > mapped into a domU.
> > 
> > After searching codes, we can find map_pirq and register_gsi will be
> > done in function vioapic_write_redirent->vioapic_hwdom_map_gsi when
> > the gsi(aka ioapic's pin) is unmasked in PVH dom0. So the problems
> > can be conclude to that the gsi of a passthrough device doesn't be
> > unmasked.
> > 
> > To solve the unmaske problem, this patch call the unmask_irq when we
> > assign a device to be passthrough. So that the gsi can get registered
> > and mapped in PVH dom0.
> 
> 
> Roger, this seems to be more of a Xen issue than a Linux issue. Why do
> we need the unmask check in Xen? Couldn't we just do:
> 
> 
> diff --git a/xen/arch/x86/hvm/vioapic.c b/xen/arch/x86/hvm/vioapic.c
> index 4e40d3609a..df262a4a18 100644
> --- a/xen/arch/x86/hvm/vioapic.c
> +++ b/xen/arch/x86/hvm/vioapic.c
> @@ -287,7 +287,7 @@ static void vioapic_write_redirent(
>              hvm_dpci_eoi(d, gsi);
>      }
>  
> -    if ( is_hardware_domain(d) && unmasked )
> +    if ( is_hardware_domain(d) )
>      {
>          /*
>           * NB: don't call vioapic_hwdom_map_gsi while holding hvm.irq_lock

There are some issues with this approach.

mp_register_gsi() will only setup the trigger and polarity of the
IO-APIC pin once, so we do so once the guest unmask the pin in order
to assert that the configuration is the intended one.  A guest is
allowed to write all kind of nonsense stuff to the IO-APIC RTE, but
that doesn't take effect unless the pin is unmasked.

Overall the question would be whether we have any guarantees that
the hardware domain has properly configured the pin, even if it's not
using it itself (as it hasn't been unmasked).

IIRC PCI legacy interrupts are level triggered and low polarity, so we
could configure any pins that are not setup at bind time?

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:28:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:28:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645050.1006824 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jtE-00017j-JX; Thu, 30 Nov 2023 16:27:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645050.1006824; Thu, 30 Nov 2023 16:27: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 1r8jtE-00017c-GE; Thu, 30 Nov 2023 16:27:48 +0000
Received: by outflank-mailman (input) for mailman id 645050;
 Thu, 30 Nov 2023 16:27: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 1r8jtD-000165-LV; Thu, 30 Nov 2023 16:27: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 1r8jtD-0002mC-DD; Thu, 30 Nov 2023 16:27: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 1r8jtD-0004yR-0L; Thu, 30 Nov 2023 16:27:47 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8jtC-0006h5-WA; Thu, 30 Nov 2023 16: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=pccusUjWaYumG+b6RzyJEqI5i8/5BnZ5Jn83GJnJFn0=; b=sbLwOCMf3Kj522Ppk/0rP0nFbn
	5ba81Jm0Tl/29hfuFkN1svh1QllEh6epTAqQjnO6VI1mUJl/sHC0EKF5d8AXSRu9gYUNkS+ccUpr3
	JljbZkJAuLIVouP5ok+xlIkFboYZ76Fo/Z7h+LHxHJkA4QztJwsuVWrqqa0yEaf426bQ=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183944-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [libvirt test] 183944: tolerable all pass - PUSHED
X-Osstest-Failures:
    libvirt:test-armhf-armhf-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-xsm:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-qemuu-debianhvm-amd64-xsm:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt:migrate-support-check:fail:nonblocking
    libvirt:test-amd64-i386-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-qcow2:saverestore-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:migrate-support-check:fail:nonblocking
    libvirt:test-arm64-arm64-libvirt-raw:saverestore-support-check:fail:nonblocking
    libvirt:test-amd64-amd64-libvirt-vhd:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-qcow2:migrate-support-check:fail:nonblocking
    libvirt:test-armhf-armhf-libvirt-raw:migrate-support-check:fail:nonblocking
X-Osstest-Versions-This:
    libvirt=94ded36b3fdde0c68f47ccfad4afa21fe4996fa5
X-Osstest-Versions-That:
    libvirt=f3573b5efaa2002c6c9efc379e3f8578c9bbbdf5
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Nov 2023 16:27:46 +0000

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

Failures :-/ but no regressions.

Tests which did not succeed, but are not blocking:
 test-armhf-armhf-libvirt-raw 15 saverestore-support-check fail blocked in 183927
 test-armhf-armhf-libvirt     16 saverestore-support-check    fail  like 183927
 test-armhf-armhf-libvirt-qcow2 15 saverestore-support-check   fail like 183927
 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-i386-libvirt      15 migrate-support-check        fail   never pass
 test-amd64-amd64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     15 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt     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-libvirt     15 migrate-support-check        fail   never pass
 test-amd64-i386-libvirt-raw  14 migrate-support-check        fail   never pass
 test-arm64-arm64-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-arm64-arm64-libvirt-qcow2 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-libvirt-qcow2 14 migrate-support-check        fail never pass
 test-armhf-armhf-libvirt-raw 14 migrate-support-check        fail   never pass

version targeted for testing:
 libvirt              94ded36b3fdde0c68f47ccfad4afa21fe4996fa5
baseline version:
 libvirt              f3573b5efaa2002c6c9efc379e3f8578c9bbbdf5

Last test of basis   183927  2023-11-29 04:18:51 Z    1 days
Testing same since   183944  2023-11-30 04:22:11 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michal Privoznik <mprivozn@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-libvirt-qemuu-debianhvm-amd64-xsm           pass    
 test-amd64-i386-libvirt-qemuu-debianhvm-amd64-xsm            pass    
 test-amd64-amd64-libvirt-xsm                                 pass    
 test-arm64-arm64-libvirt-xsm                                 pass    
 test-amd64-i386-libvirt-xsm                                  pass    
 test-amd64-amd64-libvirt                                     pass    
 test-arm64-arm64-libvirt                                     pass    
 test-armhf-armhf-libvirt                                     pass    
 test-amd64-i386-libvirt                                      pass    
 test-amd64-amd64-libvirt-pair                                pass    
 test-amd64-i386-libvirt-pair                                 pass    
 test-arm64-arm64-libvirt-qcow2                               pass    
 test-armhf-armhf-libvirt-qcow2                               pass    
 test-arm64-arm64-libvirt-raw                                 pass    
 test-armhf-armhf-libvirt-raw                                 pass    
 test-amd64-i386-libvirt-raw                                  pass    
 test-amd64-amd64-libvirt-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/libvirt.git
   f3573b5efa..94ded36b3f  94ded36b3fdde0c68f47ccfad4afa21fe4996fa5 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:29:58 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:29:58 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645055.1006833 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8jvF-0003x8-05; Thu, 30 Nov 2023 16:29:53 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645055.1006833; Thu, 30 Nov 2023 16: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 1r8jvE-0003w4-TH; Thu, 30 Nov 2023 16:29:52 +0000
Received: by outflank-mailman (input) for mailman id 645055;
 Thu, 30 Nov 2023 16:29: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8jvD-0003eV-Fg
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:29:51 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2612::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ae64d8b2-8f9d-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 17:29:49 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by VI1PR04MB10052.eurprd04.prod.outlook.com (2603:10a6:800:1db::20)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.18; Thu, 30 Nov
 2023 16:29:46 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 16:29: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: ae64d8b2-8f9d-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=dfg+7GfByELd6qbl0C2eFevwxwBrYL0ih6WBqkjMWY6ZB6j8oWlbTOHhqsgUQ/ExdcP7pES/flfM7lXAHyUkP0znzqDVCBSLbJ9oQEoVvYApUZX/f89VGsKKAxN3M7pZ2R1bHX5N7FWF0RddGppp3wOVdB5ed+tnFalHEYrsTLTJXOyDszWpYmC8k1yawT/BJs52lJT/PpJyjQaW193tkGNE9BRHesUL0uKuAwQxw6L49e2UiO5VMYf9x4T72EcIbv62LMk8flt+/u4k+zn/RT/BYICSBAKcsj7yz22xA7NpKY+85A2pkB6Gh3ndWYgHwvFJjFS022Xjm7ggyk3+vg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=19th791u8Q40P67jno3Zsl0Clu2tY5TxkMTqR6JbPmE=;
 b=PUGv26ZVve7As+RQ+1pj2oOjB0YZ/N9F8Khzs7BY1bMo8xhQrvbwQ/gzrmlO09SOzpB41B6mVoIzH0srBwaKdnaAqiC28soLehNs8vk9Rb+0FtFtkmwcOqP3di6j5ubEDd5QHEsX14v7j83svTeP1N6JwEBly3JNeNVJ/ukXsYe+CAkcGpFa4dBGFQITK+ElB4hGeAySw1e5RrEDNsVCohAN2Let/A7F4IT+/SKCCWDNgLSLxCUCNk08irnSK5wSH0urlHOyFsQnnWa2FXCjYNs9uMH0d+T0pR1yRg0r+vIWAcXmxp2y7rJsjSzcMH5QdRph5Y1/CH9Ln+Uv8niYfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=19th791u8Q40P67jno3Zsl0Clu2tY5TxkMTqR6JbPmE=;
 b=GP7rQ6oJosJoSpZ9TjNsQ7KyTDBAkInJCD3HiJTnVXhrclrSPCZpFnlJqrAFeN4ADfzgezyRtS522rTY4PvK79VP8EIr0kd3Nw6NUZwlebJWiyp8CGP8AyZkbtM9p+8Bpy2eSpHE6xOuFMU7O3rjP8+enopp5zl6fr/OqJD0/VD1H+hLhaQkBoquvjmKf1t4HVEwyJKumjkDl/wkj5uQ52EFcUQhfPsEOLDdKGWkosQoWzguBtox+wSbBYzi7AtHSNszOP40dLUhmtcLApe2Bu501WBsagfBhJ+/62Bc0RpJjhK5n10TaPIUdMrX+3OL8wm19/77bMnDl4CqoAnlsw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3423b479-f99d-49f6-bf5f-15e5c1aee823@suse.com>
Date: Thu, 30 Nov 2023 17:29:43 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 09/11] xen/param: address a violation of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>,
 Stefano Stabellini <sstabellini@kernel.org>
Cc: consulting@bugseng.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: <cover.1700832962.git.federico.serafini@bugseng.com>
 <2ef34f3beec85dac126a89c6da1bbbdfaa00727d.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <2ef34f3beec85dac126a89c6da1bbbdfaa00727d.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0146.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:b8::10) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|VI1PR04MB10052:EE_
X-MS-Office365-Filtering-Correlation-Id: 141691c1-5be9-41db-a55a-08dbf1c1909c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	hjMx/1keWF/khSv+WeA3EeJ979HHABRwAxzn4VX3aZa5RUvnEfDizOlB3WObSQ99JokRHBJgtZKtOf7QH3D3VLIExscGf8/dBMDqnXs5op8tZ1OMAGaETZ7mj7OcHI441/2m9bgD86/zb4TqwH4PpvX9Bh2/I5ajOcpcp3lOwLKKelpG0uOvIwOoaFAiAn6T2fPMUDVlj3xHhmSaAv8kBMBqOudN2l2xE8YeoAic29vn4PVDasG04+IP+ct4RW/WxexbMNIeotw54lR6zGxFjAHK/8de7CA19Ks4fpehkcPxETwOIuoIhY4DIKWxLI3MNJBv1u6jBSx6Nb3WusAaikyoD/ZDUib67G+x3aZA6AVCSL3PLqe3wydjXqVCdDRufdsYf0NVB74LU5RbQ+wwMLSNvp/kJee3HmwPAQ7TGpS0pZw7pUBoFLnkr/YWQNO1CJUP84v3Zk7P7HcPotmhV3xIu4Jp5MEwXY2RTjsbZr1qhJI0rCNhmfrVRYQ9eiag0honQOP5LV1J2ZONY8KtlKNA5yTjq9TX2J7XrMI1xi8K9d54o3j5Bu7oGG7ba92PNDvACMbbEufTh9qFslsXMBmKJkGPWWYCFcXSdCkznqmIZhagUM0jFiJSh7stBi3J6KW1drFGDXigsaYSb24fzw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(39860400002)(376002)(346002)(366004)(396003)(230922051799003)(186009)(64100799003)(451199024)(1800799012)(8936002)(66476007)(478600001)(6486002)(8676002)(66946007)(66556008)(316002)(54906003)(4326008)(110136005)(4744005)(5660300002)(36756003)(6506007)(86362001)(2906002)(53546011)(31696002)(6666004)(41300700001)(38100700002)(26005)(6512007)(2616005)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?bXdjdUN3YUF1cTFxSmNnK2dZWFVZZGZrRmJOdFl4aHFRVTFrMTN4RllXNmJ0?=
 =?utf-8?B?c0lHUHhVQkc5cjZYdU9ibmYrNVBJR3BYRHFIVlFoeEU0RFRJQTN3M291ZGlZ?=
 =?utf-8?B?Y2wwaDhjNkVpZCtwNkxjTDU5UEZLd0FYNFhOU2o1NWVpVkJRdjQzL3RkbThI?=
 =?utf-8?B?VUZJaW9nNVBKcE1zOXZadmxrRHU1Yk0rMkVvb2tDRnZPQXlQM2VlY3R4Rm1T?=
 =?utf-8?B?akdLRXJwek5DeDBtLzVodXloNUxmdHRPMVNNRUhTVWhYWWZWZ3hSR3RNYVQ4?=
 =?utf-8?B?Yjkwc2FqaWdSQkRvZnhhejlTZzlFSnQwdTV3VXBiYTZOcWlUNXk2V3VWRE9n?=
 =?utf-8?B?aG84TjRpNk52ZjF0NFgrVFhFVEl2OThrandoL3JET0tTT0ZTZTV6WGpRUmJU?=
 =?utf-8?B?NzYrZCs0VVF1NVBLQ3VzRElzeTVXMzV2U1I5VVgwMUFjM3pDczg5cmxqSDFD?=
 =?utf-8?B?QzE1dGZwNkVIdEU4YUxZcDkvZmJmRFNFai9HU3dGendFbzFMTHo1WVZqSk9s?=
 =?utf-8?B?R1ZpLzNOU0svNVRFLy9US1RoMEt4TFBybmJGMlBleGNOb3oxa29NbTdhN2Qv?=
 =?utf-8?B?VG9LWWlaOUcyRUdYYjlseFhyMmNoZEtDaVVwUTBBeENxNXF4dElnNENoREo1?=
 =?utf-8?B?SjVXLzNIaTFoQVRCTklmVEhyMEZaNDU1aXNBVVBOUlcrVmI1VzBKbjZGUVRS?=
 =?utf-8?B?Y2drNnBDNzZtdHBkZkRJcEZ4ZmlwaC9rY1ZkVlpldmFWQ2NCSldHQVVtU2x2?=
 =?utf-8?B?a0pMUzl5dEszMWNlTUtGYzVTZmlRNDd5K3p2SXVOUjRaUU5LQWdFbFozQVJW?=
 =?utf-8?B?d2pwckJ4VERsVXFvcDJweGxaNk5sY29MVjNWMXZKMDNQakZteDNQK0RCY2tZ?=
 =?utf-8?B?dE8yMTVINy9YZ3pIdFpwdEJNVFpXUDB5UjRBcXFvWkRMR1dUVVplalNDU1hE?=
 =?utf-8?B?WkcrM2FCSHNzRTdNN0VZNkhMQVFZZ1JjZkFyMW5rcDRTZzB3Y0NVb1hPSjEy?=
 =?utf-8?B?YU5KSmRZZyt5dFBOSWswV0FrNjFWU1VEcy83V2h5Y3FCQ1BoYmdVVmNqU0hL?=
 =?utf-8?B?eitEek8wRExUTmVuNmdXekE4T3RpbmFjbHJEcTZNSk02bWVISW9DbnArc2VL?=
 =?utf-8?B?RlFjRG93dUZsaFVjTXltOU1vcE9GbnJXZmdHUGI5dGlGbEZZL2tvRnNIMTJP?=
 =?utf-8?B?akU2UURhZHBseDZVNEpLSFYzUlVhVWVweGlqaldMaE1RRW8rZEZKdlMyc1c2?=
 =?utf-8?B?M3MwRzU5dHk2cUJDV0R3QjN4SWZzd3h1MG54VTV1eW9pQzdaNU1BczVKSDFs?=
 =?utf-8?B?K28yTmdSL3dpaGQrdlRCWkNQZ240REphaWdablBtZ0NtdlZONExoeGhrNGo4?=
 =?utf-8?B?VnRxUTdOTnhSOUNqWG1LTGRkR20vQklZM0ZsUkRGblZtL3M0YlBoY0dpVjdP?=
 =?utf-8?B?bkpMY3NpQTZ0LzVHeU1UR1pOQ25FaENUUFEraFVsSkVRZFQ4VUQ0ZWhjVTg0?=
 =?utf-8?B?blBiaHo2alMzaC8wdWlHdys1L3RoUHA2MDlTNTdBSjhLV01BeU1SSzFqVE16?=
 =?utf-8?B?ZEQ1WTlTRkJaUXRWNjRWamlFZXNudkFvVmFTNTREV2crdVlpUXh2UjB3L244?=
 =?utf-8?B?TmFJVXRCTUNNeDF4NE9DZjFhUlVYRjRnak0yV2VDZ1RGM2JBY0tySzU1bzVY?=
 =?utf-8?B?cWNCWUxwODNDd2ZndlVNc2pGM3dVVktDS3VPTkdzYmdUYWJwTU9VTm5ERTVw?=
 =?utf-8?B?Z1JtakFnblFEMzJqSEVwKzQ2cjVvd210L0ZEVTljZ2lxOGZpRUdJNURkOTMy?=
 =?utf-8?B?YnQvMUM4TVVYd3hrRVM5ejNFK1g2MUdOczFkVnltREFDR3Z6QzhpQmU1TW9I?=
 =?utf-8?B?bW1sNkRQcUovNkh5Sit4bGJMSE1WNlE4NXRHTmlpeDIzRlBWRXZBalptRGZF?=
 =?utf-8?B?NFBibHZCblZMbW8vOEtQRDc4b1pPQTgrLzI0dzBDU3gxT2g1RzNpdHY4Y09R?=
 =?utf-8?B?aVhUdHA5cTdQeU4xZGRNNktYRlRXNlROWll3bFplb0NROGdxZWtSa0J3WHI1?=
 =?utf-8?B?Q3RQb2V5cHFzQVZ5dm13cm4zdDlKem1xeFlZdU9XakxqaklLaEVWQStsdElt?=
 =?utf-8?Q?g0T3ljuXqKsYR+Cx4bTZsfICE?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 141691c1-5be9-41db-a55a-08dbf1c1909c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 16:29:46.1692
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: B2LQNhHWNQZnfskSWpg5Hi2rWwWBdxYLBqmKV09Rw95SqrJtu7FqDR+tP2MbtfQmNDYAR9hPeb3n33NNUL+WJw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR04MB10052

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter name. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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

> --- a/xen/include/xen/param.h
> +++ b/xen/include/xen/param.h
> @@ -22,7 +22,7 @@ struct kernel_param {
>      unsigned int len;
>      union {
>          void *var;
> -        int (*func)(const char *);
> +        int (*func)(const char *s);

Still I again wonder what good this name does us here.

Jan



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:36:02 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:36:02 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645059.1006844 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8k17-0000G8-Le; Thu, 30 Nov 2023 16:35:57 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645059.1006844; Thu, 30 Nov 2023 16:35: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 1r8k17-0000G1-I9; Thu, 30 Nov 2023 16:35:57 +0000
Received: by outflank-mailman (input) for mailman id 645059;
 Thu, 30 Nov 2023 16:35: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8k16-0000Fv-0P
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:35:56 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2055.outbound.protection.outlook.com [40.107.7.55])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 885770c1-8f9e-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 17:35:55 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8040.eurprd04.prod.outlook.com (2603:10a6:20b:2a9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.13; Thu, 30 Nov
 2023 16:35:25 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 16:35: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: 885770c1-8f9e-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=OugQTKMC/fqlNSrlYFSoslNG11BgI8Yk6/yXr5kxytuoVssZuTjO+oAHfMsw6xVdTf4MtXP07teipkHRP8a6D69jOt2O7r7MJjvOX70pHadVN9MBjzM+yF+RbEnDEAB5YFe6JY85IDFtnLRng3j0z7tVhZgKcJ0qnB2wDxX9CteblLDyWqPCO7L/CmakR96/f7a4e0OKWCX4j4T262hwRImTPNQv8xZpd5DsqFOKcKS99wCtLgp5c3Yvrump/X1mLvIyZR8Lvrf1dIgjU20b9qT48xtjuf8EQBcXFjkQY09ZWEq443vQtzkPXogAOoUTNd+P5hZND7qFvSMz1HCXHA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=359se0zwheblR3gQ8iCEWo19fEVQkaMnFaZyxNlsiXQ=;
 b=b9hDQgBrifCePBs0a3R4D3sW4AXwO8iHChawh2O1dzMF6QKQC4JtaygvRCS/6rhCmOuT7C3aU9+ckFJOIHzXZdakuTxS96Q9YMkSEFfXRAP3E5A3nPZmkt1XidVHywP3kyWMybazzJgbMRE8EmAR2+hr/OUZBHzgqDHxHSRpYOA2FvFDLJxKeQiSk+Eh2Pe//E3HvAnLgr/r4wGnKsu/Qd3zLSpwTwr3IEg16f5Mnzmu13S8Z34Xnr2pyTRKtv0tyr7didPlF/nXfxn1fm+vGLWaidPHtCVw+Pc3qnV+CKZDFbIgEF3IVmLEN8qW1DXRDujELqamFCJvaun/KzNIqQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=359se0zwheblR3gQ8iCEWo19fEVQkaMnFaZyxNlsiXQ=;
 b=rcXtyr3yad0pPJcWa5exI0s4e79TmS8yS1UQ0hTD0zABEBy4PKXu4g/6Fq6MHN3LkOoWokZwjw4O5g5zM4ti8+1x8eKV4GWPoFE0qoY9eqo8g6lWUoh7JdoRpLKEXmImqaLfPuLq04lxJ0URfHy0v9i9KI4U1gdtUY+PMRt+KsQXkeUxEc/po1bqzFKh8o5w61rDq0fpHIwOJSLXD0J4b2Ar1s9kWQuI2DGpXJq/MOt1lsIRW1TkOatHqA80ihla7608v7xTrzkj4rIFZQDcP2bCeAu6wPjPVrLWPr2nrHRuy1AVTupcLmH6EuVJKZy6R0t3rH9vABX1mNzBYLAIRg==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <f916a2da-7b47-46eb-b2f4-152fa053df74@suse.com>
Date: Thu, 30 Nov 2023 17:35:23 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 10/11] xen/perfc: address a violation of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700832962.git.federico.serafini@bugseng.com>
 <642bcf2ea2147c797d102a12d51b7eee90f0e5a6.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <642bcf2ea2147c797d102a12d51b7eee90f0e5a6.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8040:EE_
X-MS-Office365-Filtering-Correlation-Id: 2980bd44-313e-4365-5614-08dbf1c25abe
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	LTDeBSza0LZqT1Nw9BWwthJdnD3S1iwoRvGRmzqULfS/ta3qHjo5VYuNOJ4mFthb3aTjxSoxztS8U6EDbt/LzQOkq9A3yv3BL3DFogKDsCel7QFaOWS1gs0/8f7rB9CCtadxvqwcJanS3WUE5RZ5UFM5b195D+EC16V9TOjiLdH12FHlIl5Hic3ssnrydShOCVhYZgV+5ohQB865sT/uoVB5yTD9BfP+1cqRSB+Ia3woZCCf2yugpq3Mad/sl5UBjBpo9X2j1VGNWTIgz2wcoMbHP/CtnlEz4APo9yWezqIls76szEZ1+ADnmFe6RBZ6SdMb7B45TuIN0O8TAL9KbTRnvJR+Ifs5w2EfOw1B8JyBnmj9TcEsueMhwqNkLodxvJJ3ylEdiwyb2EAHCdb70eWx9m5niegVlphJxJNnUiYIPre6pv520v1N+ifa+lWpCR7waCTJznOs195NfyQFZl7EKa+ErLm1WWMnIRwlsLIggCz+rPf2eKYWySiB6M8iUZGKiypboyOrCWlY9nEIbk7IsCQd1U4OJO29M61dC4uPSbyelwclyNUgl148AEolnEM8kNm7YIM0bWqMnzLCI4TvKlpbf/oWtOCPmGfJw/ZNdWk/DM4+iotaaEy/KArC3AtTMqUVDtBpn+6FJg+71g==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(396003)(136003)(346002)(376002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(6512007)(6506007)(26005)(53546011)(2616005)(478600001)(41300700001)(5660300002)(4326008)(8676002)(8936002)(2906002)(6486002)(316002)(6916009)(54906003)(66476007)(66556008)(66946007)(558084003)(31696002)(36756003)(38100700002)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?a3RBZkJjS1dxVGU1Sm8wRmJHOVhtYXdnOXcveFJNc0ltSVM3dGM1TUtFd1NT?=
 =?utf-8?B?czVKMW1nYUhURER5bE1EL0tiYlowZEFTUThveXFmRlNCZC8wWkVlY2N2TzZ1?=
 =?utf-8?B?YyszaDhWeG92ZWlvNUtVTXF6VFYrSmVORXczVzVWdGpvbzRwU2VYN3lVdFVW?=
 =?utf-8?B?blpteU1UbFNqQ2hoT3IxbXFaSTNEV2x0Sk9WY3ZEQnRFdkVjdkZTNFVZcUZ6?=
 =?utf-8?B?Y21hMkVERDZ4eUlSR3oyZFRmR21KWnRPRGt5b0owRlJHa2pydHhqWlRONGN6?=
 =?utf-8?B?anhlbmJPQ3MvRVpyQ1p1dFIvWlYwQXdBK21NaW1wb0NMQTFmSVp5N3BJMzk1?=
 =?utf-8?B?UHhtQzVwdXd2azZ4VVJELzViYXFOY1BNTFF5ckdMNHNmVGd0MzNSa0pnS0VE?=
 =?utf-8?B?TVRLK3VZZEVjWFpoTjVKc1d5NjUyK1dxTnlENkNTbjJOMEhjZTN6azRyT1VR?=
 =?utf-8?B?MzFsSjUzQy80T0I1YmZERVp5Uy9jcnRrUHgrUWJDQ3N1d3NRaklyUUIwd1hR?=
 =?utf-8?B?T0F2SHRacEQwcXBQTlIzU0VhbXdFWkpCQW5sa0VPM2NVMHdCYUxoS2Y0K0du?=
 =?utf-8?B?ZlFKcFczY1Z5RVlFQ1VoVjR5TG5VTE05OTdqamNpdFlOb2puWnJ2YXMxa1RV?=
 =?utf-8?B?Wk15a2QrQmxWWi9mTklIS3pjT09JNEo1UzVvRENwRFpZeEV2RDk5TkNHS093?=
 =?utf-8?B?RUhXdE84Zk5sM0J1bUZMdjN2R1lsa281d2l4T1FZRDdCVC9EMmRkeGMyR2tT?=
 =?utf-8?B?YmRCcmsyNEVxSE12ZnFtbDJ4QXQybzBwL1FOZUlLdDQ1aExzQk83Y2NmTTF2?=
 =?utf-8?B?eWhkTU13L0N5bnVnd1h4UnN1K1dZbG8wRUJ4VUJPODZuanNwaEZWWUQvL1VE?=
 =?utf-8?B?dytUa3c4KzNjVzRsY2V0UFdzMnFnZDIzQnIyZWJZZlRuWjV5WUNTdUdiay9W?=
 =?utf-8?B?eHhERzRDU1JHZG54YjRmVTJsdmYwYUd2K0lvTE5zTnB1WjBCUU9Nek9KSDJ1?=
 =?utf-8?B?MGFtcnRvSmNqSWdqbTVVcHZmYVFUSXdRV1NGYjZQTnhjTlBSemZJMjA4eXBS?=
 =?utf-8?B?NmtIeFZIUjRGKzFLVEc5Lzl0Si94YWZUNEhCRUQvaWNrUWJLeDFOMThoNm9Z?=
 =?utf-8?B?eThpeDhGNktVb0M3Ulh3aXkza2RUeWtBaVAvK2ZMYkpyeHJOU2pMT0x5dDhV?=
 =?utf-8?B?ajk3M01wcUc4R3VvRXNJRjlmcVQrNXJjSjRCSkwyN3NZNnB3dml6bVpwV21X?=
 =?utf-8?B?a003a3g3YnluTlR0UFJOV29WbU01U1lXUy9LaDZTMzFyckZlUXBIQUJyS2JC?=
 =?utf-8?B?MFJ4bGNyUm9PM1ZIQm1jNDBtK0ZMRE1qQzMxQ0pKV01vY09LOWN1d0pwM3Q4?=
 =?utf-8?B?Y1ozck5kYzk2WWplenE5ZVNualB1ZDlia1ZIMHBkT1RNYmJFT1oxNE1PbGNP?=
 =?utf-8?B?T1RFVnJRcldLN2RxRTBNRmdyZmxTTDJ5Tyt6RWNQVGd0RkhkaWdJOVcrdGxD?=
 =?utf-8?B?d1JCSXZYME9wRE5HamJURHN3RWFUdWpBZk16NGVoM2h5WkM2eHh6QVNFWXF0?=
 =?utf-8?B?WjlYTDNPRjYycnBlUmNnaW0wNzJDQ2RkSS9yQkl1QXJ2U1BGK2RQVW9HdU11?=
 =?utf-8?B?WG05WjE3Nnl1bXhhZ0h6M2ZxMXpQWExVeWxqTGwzZVlUYmwxRTZiYUxyL1NI?=
 =?utf-8?B?azVuSUJBajFJeHl0RTNpRjR4a3Z6aUViQytIMEFpUUhSdjJGeDUyYjc2bmVE?=
 =?utf-8?B?dzlxaG5nd1hJUG1LNkZwczY3YXFKMWlUbTR1YWZRY3pXVEIzY1hXNGI4VnVr?=
 =?utf-8?B?TEJza0ZOSnVpVDhtbFNsNzBPUXZ2RlJHdmtKMGJ3aGNBMVNQWlR1QXFXVGk4?=
 =?utf-8?B?VUNtOGJIRnluL1lITDlHbU5KMFYvS2dZU1VMU2c5Zm9LZGx1bjlTbnFlQkxU?=
 =?utf-8?B?TWpKUHdrNU43S3ZCWGtlRWVUT3FQL0RCSFJOTHQ1eTNrNlVwZXdRMjFMYXdm?=
 =?utf-8?B?TkpGMVM1Y3lHMHJTbmRHL0x2d3BNdVgzVnVvd3k2aUIvWkw0Y0hxVnJJMzlY?=
 =?utf-8?B?ZGsvdDd1ZXdDMXc3Y21xaGt0dURHL0FUcE0xV3J0ODNTYmQ1RHljOFJrVVZO?=
 =?utf-8?Q?KejnG6JWS8ZOP90WW50+ETfOw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 2980bd44-313e-4365-5614-08dbf1c25abe
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 16:35:25.2453
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zC8UG2ChnxcX6VwXSSWeii4B99gzLe4TK5M/SDncXHY9GQNe9vnzDBntgG21HFkoGffe5nsP6lVJyw1d4KgsZA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8040

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter name. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:36:30 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:36:30 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645062.1006854 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8k1e-0000yP-1u; Thu, 30 Nov 2023 16:36:30 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645062.1006854; Thu, 30 Nov 2023 16: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 1r8k1d-0000yI-UQ; Thu, 30 Nov 2023 16:36:29 +0000
Received: by outflank-mailman (input) for mailman id 645062;
 Thu, 30 Nov 2023 16:36: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8k1c-0000gH-Mg
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:36:28 +0000
Received: from EUR04-HE1-obe.outbound.protection.outlook.com
 (mail-he1eur04on2078.outbound.protection.outlook.com [40.107.7.78])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 9b6693ed-8f9e-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 17:36:27 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8040.eurprd04.prod.outlook.com (2603:10a6:20b:2a9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.13; Thu, 30 Nov
 2023 16:35:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 16:35: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: 9b6693ed-8f9e-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=BrviWtANQ/sjaxlS0S3yp2u4ZMtO+XEadBmWe099Tj6wigU0agrPgpI7IRQU0WIgmgwCggvzymupZWwos3+NWxdtTSR2D7FryoloDIQ9fB11f7KDce6u1eBvL6Id0IKQPdWzd0jGHg4OxILqTkO/DYCfgVX8vPtzXwWzw61DnNl91UHZw/8kwES5mnZU1zYxavMQe62HYmOappjrKrIRrTEkJjfNJKvwf5TroDR2OnMLML0kvWw9L0v8BSJHCb7+BgPwiV0mIPy7GU+4Zx2bcHGb2cIYdPsZ4KQd3uFWkeM5sD84LT/bUGPOD4nGJwfrP5B94Z4xcrXH3kYnSlCMIA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=359se0zwheblR3gQ8iCEWo19fEVQkaMnFaZyxNlsiXQ=;
 b=XoUiFLIs4s8bsX08c48x+Ki0H+ixOS8az2fn6BApFpMENEqkbqemCURvZTRqa3tinhE7VoXg53yjH/XzXr3zVGim8NUPeAWNtuh0NeVqaDLDt74avedmaFmJEthgx97mV3qL6Fu/w4aZ/zvTD2OBP4s4O6ew6kicNWvS6Y+Ktf2eAgbxEIRyaoE1YjRNQ1rAiMed6eJ/sY6X9xMnKzt4jkui7HH5akh8rdW3BkXRqXmm/Krq4lW6WY792pzD4dtONTz+V2ZBR4a06rUEIn6zxKLAs8G1ouqFjj9SXvA8FBpAgnjYDLfg1+I9G6eS6P40+yKDSTnc21cd/c0pAvs/0Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=359se0zwheblR3gQ8iCEWo19fEVQkaMnFaZyxNlsiXQ=;
 b=x9osfgtLtVwVChpayySmcoKIqRJoVsBGTdccsSfjW1xphYxK++o2/gQfzZlmWtm40U7C4/47rtDnStETPkVHS83CB1BHmLltgZgaGxnCMOTsrhqWdQ4iy+TCPXHZJVh8DqzSrMpe01qOCeaw7kRcbspK3zfXyq0EibCTrvgq4tseBuD0/jGj3PR+YHQWMnNDTht1Yz6O1lUc/Ao1RjJCJC2Q4T2YTklRgPURj4Zn4lGoudjCEiGVwixzhq/DiulXQSvwQ89L34GCIR6KWD9Wnf8lD8K3iHlYgleGQiP58HBOLWJeMt5NATvyPrplsv8NMHYht9ua6QsAtTpX7BD0wA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <54946bcc-6983-4c19-ba62-4bf9079701af@suse.com>
Date: Thu, 30 Nov 2023 17:35:57 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 11/11] xen/serial: address a violation of MISRA C:2012
 Rule 8.2
Content-Language: en-US
To: Federico Serafini <federico.serafini@bugseng.com>
Cc: consulting@bugseng.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.1700832962.git.federico.serafini@bugseng.com>
 <4f831a5441ac699b50783fb0559daabaa37b8e50.1700832962.git.federico.serafini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4f831a5441ac699b50783fb0559daabaa37b8e50.1700832962.git.federico.serafini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0058.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:93::9) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8040:EE_
X-MS-Office365-Filtering-Correlation-Id: fec1cf99-9f01-4da7-96f6-08dbf1c26e3c
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	I2b2J9DkjWJQZxfjxi8c2nXlR/yXzFIeqOb3UtydQoRyxCid4KivwSfX9/86JFM2/XB0c7MZB2UOEPtlvgtscwcURigVv8EfNZRNXuo8D/mA1bNDSBveT430KCqvd0XAH/KrYpFOGMXrAf1SWFosxRZ9AYZsbjODPwoJvN6kKEDEW0/wyzGI5Ph8GVUYTZSM//rIjgkxfsr5VZbT/bPlF+sH4AikA+0gFxa62Mt3MMWSL8kXwpldgsvxiuxkbZ9ub+kmIUONq/U/uQohe1eG0sA5pLLaMHAwYujpFWXoz8gKJRRkDGfV2aQx8WuJCLhXL2Mp5z6/iMH+gyu0C72FpBfUjSQySjnlEdks6YZQZPLPEddb5AP9wKmf1BN95hiU3O5gWr6lUkrTVUHdQiw7tyrTkcJ2uR+lOAz6xBbIF0Yone1mTRUG8Glzxvp4KlptVcctLDo/zuYBF/kbYYraKhYoaVkjfEE3wS9kobbJDOAs6k02b3TtF8k6QaXsgEehAQxuqCvpgmYgZ2N2b5jJt9aip63NLUYaS9pNLMmqNERc7HHoeDDWO2W/gf+5tvvuiuhPt42A1AYA63itKarJNXpeCi7c3QO2TGmX7XYjemmiucG/Q6soXzmqG86X2BmQpCOZ+C24J/4Em6OmRS3rIg==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(396003)(136003)(346002)(376002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(6512007)(6506007)(26005)(53546011)(2616005)(478600001)(41300700001)(5660300002)(4326008)(8676002)(8936002)(2906002)(6486002)(316002)(6916009)(54906003)(66476007)(66556008)(66946007)(558084003)(31696002)(36756003)(38100700002)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?TEpxOWY4ajVlcGlxWWpkSW9zQUk4VFJ4L1lqa2dGeXBreEN0ZGcremtzZ05F?=
 =?utf-8?B?RkZDc25ocEE4ZmFzSm1FZCtsZHpVaFVHSUlDR0dCbWZzRjlsSVB6cUxyRHJO?=
 =?utf-8?B?d0dZSk1uRlhrNlJaRnhPaFhFUHg3Q0VFVEdXeXdvNVBXaGVKRUNuNjJqWXJw?=
 =?utf-8?B?ZXhscFpjaUE5OUZiRHJRdW5NQVBkVzNLR090eFlUSEdCdlA3aGZwazlSdWEx?=
 =?utf-8?B?N3NLWU5Db1ZHNGFjaWZXY2NtSTNBRVhZMUdzanRSdWR3cXU4dk1SMThFRHJS?=
 =?utf-8?B?Tkd0cGtLckdNVUswNjE3cWZsLytnWDVRRVpQRjl2SzFySFJmY0VETVFtRG0z?=
 =?utf-8?B?bTR6b2xFdHREVzNqb0FNQUd0cUY5SmNENUxkdlBSSVhXY21IeHVGZFd0K2U5?=
 =?utf-8?B?UXhrbm8zN0JqZjJQc0ZKMlpJZHdSUU4vV2dvSEc1eWNabWZzMTNvN05CZEpP?=
 =?utf-8?B?T1dIbmZhSmNxYXdzVDJpOXhpbVNJdStHams1RzhGQ05qQTRrekJKVHNkUVph?=
 =?utf-8?B?eTg4VzZFU0EyL3A2T3MzbG1scndiWDFUcEt6dmN5RXNqVnN5alZXOEo5cXg2?=
 =?utf-8?B?dEJvcDVCTEhZKzRsZUZvYTBxWkw3NWxpRlhHdDc3Z3V1MG1DNFAxMFJqQ28x?=
 =?utf-8?B?RzF4L1p0K29NTE9OcWNOUENmYnBXdjk0dXdPbUVGaGEwYllPOW8wa3NybjBM?=
 =?utf-8?B?UlFZYkVXdEc2cHFSYVdtZE4rZzk4d1ZmRURYYVZ1cjVPblZScUFQbkVBNG1x?=
 =?utf-8?B?bWxzK0RyYlJRY2JabkJjZ0J1bTQ0T3J6WHRqU3BnbmRoUE1WNTRYeUx2RFVs?=
 =?utf-8?B?UWFrWDZsTkJ3Z3IzejZhUWE2TmlZWURtaDN2MG0waVZOR2NvM2ZsRjVKTzdQ?=
 =?utf-8?B?bnA2Q3hJT1dGUUJ2T3JjZS9xb3o4aVJ1T0s1MjRXMmJEVXBoU3JxbHFlaklF?=
 =?utf-8?B?Vm5DZG9yeEhLdlZjcklXcFROUy94ckFaeEYvOTFSazdoMm1SRlBjNDJBcU9S?=
 =?utf-8?B?Z2V0d0lTdVVBV2J0Z28vMEFFZWhpQU5OcjgzQ2hEN2F4RXZnbGpwQ1k5b2oz?=
 =?utf-8?B?WGsrd3k3eldqTUxqZnBRaXpuTTR0dTV0VmJuWWpnUWZvNWJwN1VadUJWUnll?=
 =?utf-8?B?Qi9EL3gxY2Y0OW9LSC9EeXM5SmdPeXRTWjlvY0RhdTB2VmRQZ1cwTVJ5M2hy?=
 =?utf-8?B?THdTM1diRTJsK09VeDZXTk9vWkpLbzNaaVd5Z0U2Y3crUHYxc0MwdHl4bFRF?=
 =?utf-8?B?QndlUzNMbEZ4eENINGNPbmdZK3pUbUk0ZWFoK1pFREtaeXFLVnNPMlI1OEpr?=
 =?utf-8?B?ekF0MFBNaytocHJ2SDZvVEpoZmVPS2p4WFpQdXg0SnhQZnpUVXVqRjExUFMy?=
 =?utf-8?B?M2djTXNsTHYwanoyTmo4NDJKTlZHNkpQWDhlNG15ZnRVV3dyU3dhTVZ0cFoz?=
 =?utf-8?B?YkNseVNuQSszQXlzeUIySGpZVE52Y2RZS2xHVWxHVmF1UjhhQ29JOVNCaVdN?=
 =?utf-8?B?UWdzc3A3OWR6QWFnZkJrT2I1SHp4bmNnb0dBaXJIN1dlcHNCUDVuZnB4dG1t?=
 =?utf-8?B?OU1qSFlWNmhDRWFiVFh6OXU0WU5GZ05oUTQ1Q1J5NXVqNlBTZ21JeEZlWlBa?=
 =?utf-8?B?OUl5VFp2Zm5TVkNZVTRjd25FeENCOG5HQnovZkRMUkpyOVRVM2lFOURtSURR?=
 =?utf-8?B?dlZzZC9oZitCZEltaVRuL3ordkxGeU53ZUZrYk4xc1JVb1Q1amZmNC80WVJi?=
 =?utf-8?B?OExxdEJOMEU2USthTnNjdGY5SldRbU43SW9tQ2MxUU5jaHBpcmowME5qNmMw?=
 =?utf-8?B?UmNHL1FxVE9lcjN2TSt4bWlWWTlIYjVQd1o3dFZ3eTg2UEdDdEpTcDFaL3pw?=
 =?utf-8?B?enE5b09jT09aSWVrSGw1STZHTnNMUU9nRzhTc2xtckxIalNxaHU3VlZWNERj?=
 =?utf-8?B?blBSN1VZd3FjZmhEQTZuWUd3bk5ySWY0VFJMZTRxZitLd0E1a1lFZ3RleUJm?=
 =?utf-8?B?NFhOUmRacEp3L2tFNTB2RTQyMzVXQnhMYWJKT0wxdGVoUGducm9CdklEcmQ1?=
 =?utf-8?B?WWpqRXZ0T0F4Y09xcjgyTGJTcWJ6eU1RS2V2ODFhQW92Q3ZONHlLcS9YQktO?=
 =?utf-8?Q?y2ZLVz0saN08hsoaikzwsLa32?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: fec1cf99-9f01-4da7-96f6-08dbf1c26e3c
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 16:35:57.9674
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: BPBT06gKQkrWR5w3ixt4Ye8EIrNeLOTs10CzmEULzlXVb32BNaIaoLh9n8HFJiKMhMNa44sx5iNGJX4ci8qzYw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8040

On 24.11.2023 15:03, Federico Serafini wrote:
> Add missing parameter name. No functional change.
> 
> Signed-off-by: Federico Serafini <federico.serafini@bugseng.com>

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




From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:37:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:37:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645065.1006864 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8k2Z-0002CH-AW; Thu, 30 Nov 2023 16:37:27 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645065.1006864; Thu, 30 Nov 2023 16:37: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 1r8k2Z-0002CA-7s; Thu, 30 Nov 2023 16:37:27 +0000
Received: by outflank-mailman (input) for mailman id 645065;
 Thu, 30 Nov 2023 16:37: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=6V2q=HL=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r8k2Y-0002Am-GK
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:37:26 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bda756b5-8f9e-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 17:37:24 +0100 (CET)
Received: from [192.168.1.9] (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 185B64EE0739;
 Thu, 30 Nov 2023 17:37:23 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: bda756b5-8f9e-11ee-9b0f-b553b5be7939
Message-ID: <dcf64e9b-3e2f-423e-bc8c-0062c80acae8@bugseng.com>
Date: Thu, 30 Nov 2023 17:37:23 +0100
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH v2] automation/eclair: improve scheduled analyses
Content-Language: en-US
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, consulting@bugseng.com,
 Doug Goldstein <cardoe@cardoe.com>
References: <36ea68b24a1e336ef9170b7f89949d282ee1e746.1700752056.git.simone.ballarin@bugseng.com>
 <alpine.DEB.2.22.394.2311291911350.3533093@ubuntu-linux-20-04-desktop>
From: Simone Ballarin <simone.ballarin@bugseng.com>
Organization: BUGSENG
In-Reply-To: <alpine.DEB.2.22.394.2311291911350.3533093@ubuntu-linux-20-04-desktop>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit

On 30/11/23 04:13, Stefano Stabellini wrote:
> On Thu, 23 Nov 2023, Simone Ballarin wrote:
>> The scheduled analyses are intended to maintain an overall vision
>> of the MISRA complaince of the entire project. For this reason,
>> the file exclusions in "out_of_scope.ecl" should not be applied.
>>
>> This patch amends ECLAIR settings to prevent exempting files for
>> scheduled analyses.
>>
>> Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>
>> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
>>
>> ---
>> Changes in v2:
>> - drop changes to inhibit test and build stages in scheduled pipelines.
>> ---
>>   automation/eclair_analysis/ECLAIR/action.settings |  2 +-
>>   automation/eclair_analysis/ECLAIR/analysis.ecl    | 12 ++++++++++--
>>   automation/gitlab-ci/analyze.yaml                 |  2 ++
>>   3 files changed, 13 insertions(+), 3 deletions(-)
>>
>> diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
>> index f96368ffc7..3cba1a3afb 100644
>> --- a/automation/eclair_analysis/ECLAIR/action.settings
>> +++ b/automation/eclair_analysis/ECLAIR/action.settings
>> @@ -134,7 +134,7 @@ push)
>>       badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
>>       ;;
>>   auto_pull_request)
>> -    git remote remove autoPRRemote || true
>> +    git remote remove autoPRRemote 2>/dev/null || true
>>       git remote add autoPRRemote "${autoPRRemoteUrl}"
>>       git fetch -q autoPRRemote
>>       subDir="${ref}"
>> diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
>> index fe418d6da1..2507a8e787 100644
>> --- a/automation/eclair_analysis/ECLAIR/analysis.ecl
>> +++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
>> @@ -2,7 +2,13 @@
>>   -project_name=getenv("ECLAIR_PROJECT_NAME")
>>   -project_root=getenv("ECLAIR_PROJECT_ROOT")
>>   
>> --setq=data_dir,getenv("ECLAIR_DATA_DIR")
>> +setq(data_dir,getenv("ECLAIR_DATA_DIR"))
>> +setq(analysis_kind,getenv("ANALYSIS_KIND"))
>> +setq(scheduled_analysis,nil)
>> +
>> +strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t))
>> +strings_map("scheduled-analysis",500,"","^.*$",0)
>> +map_strings("scheduled-analysis",analysis_kind)
>>   
>>   -verbose
>>   
>> @@ -15,7 +21,9 @@
>>   
>>   -eval_file=toolchain.ecl
>>   -eval_file=public_APIs.ecl
>> --eval_file=out_of_scope.ecl
>> +if(scheduled_analysis,
>> +    eval_file("out_of_scope.ecl")
>> +)
> 
> 
> Overall the patch looks much better. Only one question: shouldn't it be
> 
>    if not scheduled_analysis
> 
> instead of:
> 
>    if scheduled_analysis
> 
> I don't know the language of analysis.ecl but we are supposed to add
> out_of_scope.ecl in all cases except for scheduled_analysis. Looking at
> this change it seems to do the opposite?

yes, you're right. I will fix the guard in v3.
> 
> 
>>   -eval_file=deviations.ecl
>>   -eval_file=call_properties.ecl
>>   -eval_file=tagging.ecl
>> diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
>> index bd9a68de31..6631db53fa 100644
>> --- a/automation/gitlab-ci/analyze.yaml
>> +++ b/automation/gitlab-ci/analyze.yaml
>> @@ -28,6 +28,8 @@
>>     extends: .eclair-analysis
>>     allow_failure: true
>>     rules:
>> +    - if: $CI_PIPELINE_SOURCE == "schedule"
>> +      when: never
>>       - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
>>         when: manual
>>       - !reference [.eclair-analysis, rules]
>> -- 
>> 2.34.1
>>
> 

-- 
Simone Ballarin, M.Sc.

Field Application Engineer, BUGSENG (https://bugseng.com)



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:41:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:41:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645071.1006874 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8k6c-00005W-Rw; Thu, 30 Nov 2023 16:41:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645071.1006874; Thu, 30 Nov 2023 16:41: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 1r8k6c-00005P-Oj; Thu, 30 Nov 2023 16:41:38 +0000
Received: by outflank-mailman (input) for mailman id 645071;
 Thu, 30 Nov 2023 16:41: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8k6b-00080S-IN
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:41:37 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on2062d.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::62d])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 534c7a3c-8f9f-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 17:41:36 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS8PR04MB8040.eurprd04.prod.outlook.com (2603:10a6:20b:2a9::22)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.13; Thu, 30 Nov
 2023 16:41:34 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 16:41: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: 534c7a3c-8f9f-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=n3zOlNJM5JSp3FjdATe+ulnB41pgI/m/DggZ2/I95HiYBrp/QD2kzYKXgXDylIJbWMWH66PapFdR32L6uCKBJk173GsS1DdlgOFLzcY8sScgItF333jS/2kydOWqsqBCBTSA6i0rJXIXfBh9udRwZpzFa97xJ/x0YAJPJ8QD+NiSnVyYguaNPfvaNFCZ8ZBfC/LmTMI9viOG2nNAd8d4gGVQS016Lb/Je+9S156P+RY6mQbWQicHnI2W12lkjcgS3LphrnjqODOA2gytOm6/Mp8A96GSHCMrDxdCeimT3V3semsd1vWjePRql99JIjMi1ZSMGrJlgLR1aHoRDhDXRQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=Q9j+A2Tc8862l9loqlFGJxJCuCnrZDwGbllLSxcetMk=;
 b=eZHE3Ftz6EcpHurndLmJBz4muUK6YJmC7+DPlBuYl3l3x3GsQonsgT1iY7Dj5IvcLrkFzU9dS7n63+LIygAywI6nGeux61AZpZpSDOf4XsxtSTZgD3cRDKJO42oSClieV7tF6aW0SURGwfzoEw3b0seuKGDrELQ0xWLCvkdrnQcs532TiOEpb6aKGuKbJAciTRkm7p/qt1QDQORZgJ6MUl7ji5haorBJQ9ZWjxD+ujwGvn0kTIGNeWkbzyBPdyES/VAugLZQ6pZ80umKPQdHYkKLOU3lyMt5EvZtAQI5cpoCeaTyQ7mj9sajUF3WvNqJm530Js0mOFxjTw8gQIFI+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=Q9j+A2Tc8862l9loqlFGJxJCuCnrZDwGbllLSxcetMk=;
 b=E2Ns6wNi8Gx7C6Hl/GiQuBYxZHSJrZpvilaVrZXP9iTnf74DwczpK7PkJeEATSx3M0lneCTZSnOaq6CLCFT9XfBrgUoLpM8Jnb/6ns77K/MNBM88AtJqNILrARwGT/MZUBXXF50WFiyPDP1RBYxMbPItGFZXLq0VBHqU75r40suH4PQ1H7Othd1a7rQj9Bi0wBVEKQgRs+yPn4uwmmwb3r+TxEu6j21C4VfaTuRGNAdFCpAwprDklJbT1TzHTMTtD+V4Mh+j0ZMpcUMdrRM3SoPN+yV8zuPeEqJ8P6KCPk9dDwAZXwEG0mA4vPAtMIkILc/xhqA2hexW7v34uIz6Sw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <48f44ee5-95c5-4656-97f1-7fa6d0fdc53c@suse.com>
Date: Thu, 30 Nov 2023 17:41:31 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 6/7] xen/x86: remove stale comment
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, 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: <cover.1701270983.git.nicola.vetrini@bugseng.com>
 <d06ee9f139392045fb8d927ff3a0c38fdc5080c6.1701270983.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <d06ee9f139392045fb8d927ff3a0c38fdc5080c6.1701270983.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0109.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::8) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS8PR04MB8040:EE_
X-MS-Office365-Filtering-Correlation-Id: ae67f665-65e7-4400-275d-08dbf1c33664
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	Fxi848UK9ZbXwF/G4lnXxfNEKX3yDKJafzQCqffMlcVtIro4FdpfF8r+bHAl94Xx5o21dIZZ+QbD+yc+9c9bXsdo/hSGh3oPHsXnmRMF3j5hPoRauQNePcYqpZiOprlXKgL6uFL1oL1bF4gE0Qpkajg835DIqaIp6KaXttGpsPHYDIFU9w2PJOXq9YIGuSlRmn34mpOH/6jxdiN1Z/FJdLCvP4GIy2XummtNPxCvF0a+8EnUdkmiAgRinwWQPVQD/bcs11ptRrSDZtmuxdBFCCSY0Wui1ayFMCXet7tzc2gXCCzjeQ+tvtgDHJ9wMvxRZOfPPZB4Gy9yQD1jIP/En3t0mveVig8Y03dCMzD68v7V1wbBLnu21n30w38E+1CpoevfqHzhlsC9Gj4zP6cXPpo2zFL+OwseblWe/ZhFG6dP4KweJGnI0Y1WxqakuczAhym61q4l886RTpg92/LsJPp2Mox7oU/jRMcKtRKQznVNtDKA8yfhdSJcLjsXW+hm0HKaUALozkeL8IXWQIvExr/rx0kApxjfcADkhd8Q5URwqoS2jW0K43Fn6y0+5rjWjwUxOyLdIfKAfDoVF5H2kQ02akUeK/Ds7EEM7tPtat0BatU+Xj83YSy9LPIkL9Q3SIObmfGwvXDJoY+rPxj1Vw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(366004)(396003)(136003)(346002)(376002)(230922051799003)(1800799012)(186009)(64100799003)(451199024)(6512007)(6506007)(26005)(53546011)(6666004)(2616005)(83380400001)(478600001)(41300700001)(5660300002)(4326008)(8676002)(8936002)(7416002)(2906002)(6486002)(316002)(6916009)(54906003)(66476007)(66556008)(66946007)(31696002)(36756003)(38100700002)(86362001)(31686004)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VGtOeXBXR3loK0xxWkNzRVdKS2w2eUtLc3pvbXd4WDhOVzQwYXdBUG1iQUxa?=
 =?utf-8?B?c3l1RFdIcVltTFJmZ2NLMEI0czNNUU1oVnZrRnNoUWYxZkFIeUd3anExY1No?=
 =?utf-8?B?cm1GOTF4OFJIZWlkWnN1RmNFc3IwSFQxay9DQm1PNE4zaDZiWTI4WS85d2Y3?=
 =?utf-8?B?aGJSYlFDbUFzT1JlU1RJYk0xN1ZxRTN2anZvbWo0ZTNaUzNEdXJrYTh0dEtj?=
 =?utf-8?B?YzNSYjNYL3N0OFVXc0s4ZHMySUwxVnYwbnB5VWdxc2d2NVpRTW1KcUE1dkNj?=
 =?utf-8?B?Z2c3SzFDaVE5UytFZ1JVNWJtZFJoMWpIb2hhMTNvV0UwQTV3S3hkZUhQSlBZ?=
 =?utf-8?B?WS9EM1BBMlZkR1VhUE0yNkJhUEtrWVBtVFN2RUYwdzV6dlNocjROeGJpWHhH?=
 =?utf-8?B?dVZBTFJEQ0N3aFFPc2JuNTJvb2xVYTAvTkpNTmpjYWRvRnBQQmhZVFcrR3pR?=
 =?utf-8?B?eVlqMnB3VGJBSTZwTVM1Q0xxUHBNRGZVYW5rNStXTzJ0VG4vRm9CdnR3R2Yr?=
 =?utf-8?B?LzdPNDh6Mk9LdnZ5WEZCNmMxQy9TOW5LOVFTU25oaS9CSFJqVU55WDJjR3Jm?=
 =?utf-8?B?V09XOXlINHJYOTMrRFdkdThOaysxOXF0cXFiQ1gybGh2YWV1eVpxYUkveVho?=
 =?utf-8?B?WEtMTFZaMlFFdHJLZTZaSmUxcEgwL1NKeEpqaXBJaWljNEEzQkdyUGd3RnZP?=
 =?utf-8?B?b3Q1cnFjT1Qyd1VENS9nZnhlNDdrdnhrdWdEQy9hc3AvcU5FNThmNnI5R3Vu?=
 =?utf-8?B?TEN0YjdxSlh5Yk8wa25MK044aWwwQ2lCQit3K1M0S0padHNEZUV4NlI4V3pG?=
 =?utf-8?B?NTJkVmZlc09wSEtYTWpQclhIeWJOQmN0cWxieUhWU2lOLy9keUtoNmF1YlM2?=
 =?utf-8?B?czc1ekdUQmR1c3J2ZTN4VlV0WFVTSWs4T0VwTXFBR3FiVHUxQ2wrNTYzL2t6?=
 =?utf-8?B?aXNNSDZ6M2FORXNVTW1MN0ZhS0UyYlZnSys1MDBWVHlqZ2Uvc1UrRU5qcFRD?=
 =?utf-8?B?TXFDL2hsZmswa1FQdU50SXdYRUdHNFYzM3l5WkVRaXhQZlNXSVFEalY2aXhP?=
 =?utf-8?B?TmZETXNkRFVwNDZhRGZMdjE5V0M5Vyt4bzBBd2c4R3d4WFlERnhVbmFuSmV4?=
 =?utf-8?B?aFVURXhLb0R0Sm85dlZ1TitKVlJLZ0JUV3E2OFRDRWpzZythRXhUL1VveTFE?=
 =?utf-8?B?bFZQM1JXakk0enZ2MkxzV1pmRWcvaXZwRFcxVTZ6b1FFaTJQMjNFaVpORDZk?=
 =?utf-8?B?aWp5LzY2Z0Vnc3VkeCt6Vk9KWFQzQmg2UmEvL0htWE5VT0I1TlFjbGdQOHhL?=
 =?utf-8?B?QTV3bXBLWFplNEEvam9odmlsREJHeW5wRDhFa1U0TUhPYjFBbVJjd0wrUFkw?=
 =?utf-8?B?MEh6cEsrN1hYYTdyWFhDc1h5Yko4WjdRQ0krckpQTlptYkRTdlppamxCUHNp?=
 =?utf-8?B?RTJMOGtKT2RMdnp0TVczQkJHQ3N0dUI5VWRCTEFMcHFjWHJySlVlNUxlejNJ?=
 =?utf-8?B?Zlo3RU9sbjJmUmxwMmVocnJMWVJ1S1FEUEF4Q3BYR2ROZXVYVjhYRTdMWjMx?=
 =?utf-8?B?NDBhN3YyaHJaZ20yMXBTOVF2MnlVWjFUVGlOSFUxU1RHKzZDZk9rNXduOG1h?=
 =?utf-8?B?bm5GZU1nQ3A3YmtZNzc3VlpDMlpMRUhxTDVuM0lQMzE2cDVIM1A4M21RS2NK?=
 =?utf-8?B?MXAzQ2FpMGl1dTVxZGg5OVNjSFBEUWMvZzV1dG5oMmtuczVWVGgrK1NEWnk2?=
 =?utf-8?B?UzBOSXU5NDdoYVZRNjRGUndZTnBKQnlqbXBndmhpVGQ3WEJzOVlTbnNMb0tV?=
 =?utf-8?B?S3VIZzZCd2JlakdMYkRYVjZxMm1JeE9aMHYrWTliMTc2RWVWdVB4V09aUFpG?=
 =?utf-8?B?S1N2MEUzTndVZnpTdHVpNlhIdVJaeFZkNzM1Nmg0ZUhKZ1lTeXJlNGdQMVVG?=
 =?utf-8?B?Mzh4VDlSQ21wOTR1YlU5ZzJPZUl5RmlQanBta1NPN3ZGNlVSNEY4V0JJMmtW?=
 =?utf-8?B?VkE0eGRsMWdWRzRIQXlhalltcHZDeDRqYjVNNkRCc25OQUhJdmtHZUdQREVP?=
 =?utf-8?B?TXlsdExYenk3ck9zc2ZFUzhVVTd6eEYrMlBzMU9tcGdadGRnWTlDRnJwVTMz?=
 =?utf-8?Q?5LYSpCwSlWkrrVmMbrPMZBIzw?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: ae67f665-65e7-4400-275d-08dbf1c33664
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 16:41:33.9233
 (UTC)
X-MS-Exchange-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+d9iUdCF6cOZV4HPPdC6Q/rE/ub2EJXqOUKErrU+bYr9R8KjjhpvyrfSYJJ8Rrr8ngFIeCn2lqLj6YtC8gQmw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR04MB8040

On 29.11.2023 16:24, Nicola Vetrini wrote:
> The comment referred to the declaration for do_mca, which
> now is part of hypercall-defs.h, therefore the comment is stale.

If the comments were stale, the #include-s should also be able to
disappear?

> --- a/xen/arch/x86/cpu/mcheck/mce.c
> +++ b/xen/arch/x86/cpu/mcheck/mce.c
> @@ -14,7 +14,7 @@
>  #include <xen/cpumask.h>
>  #include <xen/event.h>
>  #include <xen/guest_access.h>
> -#include <xen/hypercall.h> /* for do_mca */
> +#include <xen/hypercall.h>
>  #include <xen/cpu.h>

Here specifically I think the comment isn't stale, as xen/hypercall.h
includes xen/hypercall-defs.h.

> --- a/xen/arch/x86/include/asm/hypercall.h
> +++ b/xen/arch/x86/include/asm/hypercall.h
> @@ -12,7 +12,7 @@
>  #include <xen/types.h>
>  #include <public/physdev.h>
>  #include <public/event_channel.h>
> -#include <public/arch-x86/xen-mca.h> /* for do_mca */
> +#include <public/arch-x86/xen-mca.h>
>  #include <asm/paging.h>

Here otoh I'm not even sure this public header (or the others) is (are)
really needed.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:44:28 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:44:28 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645073.1006883 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8k9K-0002hs-8u; Thu, 30 Nov 2023 16:44:26 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645073.1006883; Thu, 30 Nov 2023 16:44: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 1r8k9K-0002hl-67; Thu, 30 Nov 2023 16:44:26 +0000
Received: by outflank-mailman (input) for mailman id 645073;
 Thu, 30 Nov 2023 16:44: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8k9J-0002gG-6n
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:44:25 +0000
Received: from EUR03-DBA-obe.outbound.protection.outlook.com
 (mail-dbaeur03on20631.outbound.protection.outlook.com
 [2a01:111:f400:fe1a::631])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b7bf599d-8f9f-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 17:44:24 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9412.eurprd04.prod.outlook.com (2603:10a6:20b:4eb::5)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8; Thu, 30 Nov
 2023 16:44:22 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 16:44: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: b7bf599d-8f9f-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ZAJc1sFhQmx+VVJEBfz1RtadG31O6GwUfYiLIuUzfxhuoNPj/CD7CB7kNkHJkAuN9w5hNb6lNUNENyOpacn7IISWeEbD/FIkBZHgIcF0Fgee0Qhjo6cyOFsg9AFotqad6YHXu1k6uqikKNC2kNG5gZi2CAEcOu5oBhFH7V3kv1z4FXGD3E0XMLR4oc2/by6Cc47fWVPSlcCQUHdSRf8E/xSeK4dH99KZ5YcsoyFEgUqi3zdafqDknInee2Yn2P7/HTgOTcR6mTtbhpdPliNbYV9+Ok/INsYzxfeiyLnFXlHuUPSrPZ+ZLdX7avY1soMucsYIRsQedvbZz7S3GgqlQw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=95nfjp9u+Vuxnchjj0ZGBhJwX+UDFQAuqpefBG7v6NE=;
 b=Bchfr+4hrEl5CZkx8n4AybRJChrdtWlUOl5hj225+8xbPaY2RNOOLGk8SohRGd+dRfHiGihP8oKiRaXjbUuLQyQzfjmbLcSwMd73jSnbuuIkkpx3Kh8R3XSQDngeIZ7acq5fq2EWmIXEFvZx/pjH8AnxUpGdyHyWtWxvz0wKvFads+VhAG7T1elp/tQtM+bKjHHxmr5C+EFeR+GAnJkSMuKIVzV3AYWpmqZilUQGlCz5HfJvSrk+bQ4VDIVSF2FC1j5TOOvm5aAY9wamOJBdiUmbd1BGxnwZCAmox1+1qq3E/GnGmaLyCzO1dKSy4c3O/ZK2BKGpL1iKuRnKjBIgzg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=95nfjp9u+Vuxnchjj0ZGBhJwX+UDFQAuqpefBG7v6NE=;
 b=KSHH/vweM+7L7Axy+lqVDQjtJfD+zCWPt30uRI0sQy4v0pmTD2J9l7XuU5RkF1sER0hxycHz3WUf5Yth44W/OeNHZrrpcDH913/P0S1O1kqLHtRSajrN0p9CMnYdQMvDEjL7V48z1v2B3HGHha+vk3ANfhI4X505IVWkGYL123O4XJDoWdaRXCoqmKDCVJTmop81ne+jGndFWKDkW4oLhJO249EwerH8WQbfjL1XXAd8WDyH+0XPhO4lpLSCki7YPwqC7tZJtipOy5nRsQsdu4pG0+biTvmvvfBCHpNWu2WVX1pGT6fB6y1Cyn1SwV+uY4x3Njb53eJiYevcIqV/hw==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <918d258e-c10a-4cdd-a598-3b5dc0124de8@suse.com>
Date: Thu, 30 Nov 2023 17:44:20 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 3/7] xen/x86: add missing instances of asmlinkage
 attributes
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, 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: <cover.1701270983.git.nicola.vetrini@bugseng.com>
 <4815279026ca4e2f1d93c98bfe6ea51ee139280d.1701270983.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <4815279026ca4e2f1d93c98bfe6ea51ee139280d.1701270983.git.nicola.vetrini@bugseng.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR4P281CA0021.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:c9::12) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9412:EE_
X-MS-Office365-Filtering-Correlation-Id: 99d4fd23-facc-4973-e1a6-08dbf1c39ac2
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	pllV6rJ/H3mpO3r1SzqYTrQwVzHJ8X2vMMbiPYKNw/cgDY2djEgQTOzEMs2UD5zl8OfgdlUeCsFoDdD8gj/tAqLaFX5Uqcn89dtLxuDLDmsvgR8sgeekVpgVWXbg780ofjcpDbFPW18f6SYPl7PaOCQ3HGkF43cZwkoVrnDnKZOkrmVLcOB6il7DtnRuDxDstHBlwUzXJ4LM8BbL3IvBTYQJ7mpx8p8FLKDEQkTmT/sPTaGemrYRBSC46ZaqHiLJ7E9G8Bw24H9sXrP/4dpmDrYiqBCOqIJOWduTxX1DK0/LHbTKgUgn5oqHoaqYS/pWrPDR0ghVCt70PD7Ucm/pmpWL6ahoRXfOOQokA1GYc7Cxl2ZbPFOi6zwS7a906ZBp++5PV1g+fL2L9A+b8XHTxl0bSrqIS0vZwclTHex4rInU5rxeCDxtT+9Agp1gY4cM2Cj3cHgBt1KCV6//tqmgdW8PvwlE8bRbZ4v1cK1kc7nFc/ZKqF6mOr+DKd9k5ppjAyw1Tf37TTNQDmzD+ZVxGUUzD8oLejDVjgwxyAtgU8V3Ye8bijb2MBgclM6ryu02peA0r/S5PmtjMXbd7kh8dNjIs8rKLrugGnmUmz6MSvwygO/vB9EWOeQiNTGhMwXkQ7b41BTqIe0PKGdt5tV8PA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(39860400002)(396003)(136003)(346002)(366004)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(53546011)(478600001)(2616005)(6512007)(26005)(6506007)(6486002)(7416002)(4744005)(2906002)(83380400001)(41300700001)(54906003)(66476007)(66556008)(5660300002)(6916009)(66946007)(316002)(8936002)(8676002)(4326008)(38100700002)(36756003)(31696002)(86362001)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?RE10bUJJbDY1N2tDNzlqYlc4NVM1eXlsVzBLT2wvbGI5LzZHVUtmWDZBSGpF?=
 =?utf-8?B?THRYU0dwQTd1c0Vha1EyT3NHckJIM1lORGRBYU1NQ2QyRW1oZUlZekhkZER3?=
 =?utf-8?B?WkxDSDBRbjllaHZodVRJcU0yVGlUUkU3WjBwOFcxaHZhNkxjbUZ4dkJWeHJV?=
 =?utf-8?B?akxTSHVXcDJTdXdlM1pITFpYYXREQ3g0ek43K2JUMzlyMDluSlRrOWYxZVA2?=
 =?utf-8?B?NHVNODlYRENrWHY4SlJFMXlpVDJoWXhmUTV3VUJnN214M0lvK2drN3dnbTRN?=
 =?utf-8?B?bFZ5VXM3d3E4OFJsL2RHYXRFQ1VuMDg3b0lOeFVIZEIrZUN6enFpVEkvbXRs?=
 =?utf-8?B?UWw3ODBHdlpzeG8wQXVnSWpjT2xzNVpxMENxVDJ5YnE5Vkg5bDlNR1BXeFdV?=
 =?utf-8?B?c21ocVZpd3MwSUFtWnBxOStEVEhZU0d2Rk50Y1JsR0FITzREZm0weVpIOEQy?=
 =?utf-8?B?eWRiZkUvWnd0c1VxdHk3bkVTK3l4b1R0Wk1Wb1VQV0x3M1lNUjBMT2hGd2hU?=
 =?utf-8?B?UEh0dHE3c1FNckFBOFFwUUxGU1ZlNUlNWFh3bld2aW9ja3VVRmlWaXc0bjRD?=
 =?utf-8?B?cEZxaS93YXZJbFZXS2Y0ZFZpbFVrSHJGQTJlZnlYZjMxOHBsSjdkQ2lNcGY2?=
 =?utf-8?B?MXFEbkZNWVlKQXRWY2NBZ1FnZEJWbXludmVFZEhUWkxlLzFub3hZQ0JBc2dp?=
 =?utf-8?B?dTJuTUx5NDkwQnpMMDBuRTZYUm9nUEVlbnZFZDd4aXBYODk4K1JJYUJzWjZt?=
 =?utf-8?B?NTJQSndrWlhEb3BGMzJkdXVCeUFERTBHMnVFQ2o4TzJPRkxrbEhZUElmUlFm?=
 =?utf-8?B?SS8wVCtSaHBvZmpKZnpJTjk2L1dWanVjNVJTR3MyMGY4Z1Bhc0w5V3lpcUx0?=
 =?utf-8?B?NktIT0xFUWwzU2ZyTGRSZEEzZDBDc2NPa2tXNWwxNFN1QUhEeFdqd0pvQjAv?=
 =?utf-8?B?VkNkVVVDNHpUODQ5c1RrcmdNaFVjbStFRUQ2MzhBYlgvZDJsN2tWWnVScUxG?=
 =?utf-8?B?ZWRRR1Z3TGlRakJOOHUrTXNZNzlyeDNFTnROMTRNdmNIUU9ZcXFGNzd0bUY1?=
 =?utf-8?B?cWxkc2lNVzNtQXNPYVQ4Vk4yUUdKVjNuek9SZ0p2a1diMFJFVW45WmRybzZC?=
 =?utf-8?B?UzAvYjdWenZFNjVVRFVLQ1c5VFVjRDBlSFVXS3k2eEo5SEg4dndBRHRkempE?=
 =?utf-8?B?Y0VqZmpkYWdXTGFnNTQ1WjRBeXhSdy80dGdCMGQ1bktUZ2FsWDB2THNJMkVh?=
 =?utf-8?B?Q0s4V0s0U3ptY0JJZnJPSitRajFZQUhGMnNqeFQyV0NGMi8xaW9Cd3hFeThL?=
 =?utf-8?B?UzU2dWNpWkhpNWg3VG1vYmluM2o5ODBWOHprRmlVRDVvSW83UjBsM2k2Y0px?=
 =?utf-8?B?WkZUVXp2RU9EODBNcXVRWXM4VHY4TkpqUlUrTmQyeWRPM2RjK2d1cUloVit1?=
 =?utf-8?B?SEs2VGRxclNmMWZjT0tybXNMRFBCU3BwUGRvbGswcWJadTM0QytvWEJVRTlR?=
 =?utf-8?B?aWl4NFg5NjZqRVd5Z1ZYSlM1cFlDTUE0dGw2MzJDRG9pLzNEbXluWkJsQ2VU?=
 =?utf-8?B?djI1SG85R1BCUmo3NzBwSnJIaGRyczByWDBQNDAzMHhIdlRwUjZLcWdvOGxI?=
 =?utf-8?B?Vk45clZVaHluU0QxT0MwMXlKSkJwOHBCRFhjZ1NDaGN5anhoUXBuV2dnYXVB?=
 =?utf-8?B?WjBpQzRNUlQyNW5acE9EWHZqT244OC9LVi9PU2F1ajg2SlBYYVcvcnRlQkFM?=
 =?utf-8?B?SnpyOEphNmk5c0hQOVBXMDhOMk5oWXEwWmI5V0xOSytDNjVtazk4b3FIRWND?=
 =?utf-8?B?ZStwc1FsMmwrUTVxZE5XeGtRSk1qMWpRQUJvUG9OWmVDOWhXWGR3MVBOVHFR?=
 =?utf-8?B?ampMZmVwQzFUMXJtU0hoMkswTTJJY0QzY2VlY0lvdXZlYm5YVmZ3dG5xQXNQ?=
 =?utf-8?B?aVVyOEhLVFdXTkVWeno2bVRIaC9qRDdvUUllZ1pQY3ptcEZUV25wbHJKV09h?=
 =?utf-8?B?a1hhR053U2Jpcmd1Z0U3eUNvd2V6NlJQdHh3QmppOFZ6ZHpabGh0ZytuTHNQ?=
 =?utf-8?B?UEgrWk1oZ3NLRWZoSDJWTGRrTlpXVTZtUUw3bC9HaU9UdVFHczhwYnRqcFRC?=
 =?utf-8?Q?XLb7zwbaF/STCn7+4os57GZCK?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 99d4fd23-facc-4973-e1a6-08dbf1c39ac2
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 16:44:22.1573
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: zZWTMsHPeR7a4zkM8hMbdAYHBOY2BbE7lxmUkMoEOiwYqd9xrfUDVsSolD+QW4AP3F9dfCvne5s/BPAHfQkzZw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9412

On 29.11.2023 16:24, Nicola Vetrini wrote:
> --- a/xen/arch/x86/desc.c
> +++ b/xen/arch/x86/desc.c
> @@ -91,7 +91,7 @@ seg_desc_t boot_compat_gdt[PAGE_SIZE / sizeof(seg_desc_t)] =
>   * References boot_cpu_gdt_table for a short period, until the CPUs switch
>   * onto their per-CPU GDTs.
>   */
> -const struct desc_ptr boot_gdtr = {
> +const struct desc_ptr asmlinkage boot_gdtr = {
>      .limit = LAST_RESERVED_GDT_BYTE,
>      .base = (unsigned long)(boot_gdt - FIRST_RESERVED_GDT_ENTRY),
>  };

I'm not convinced asmlinkage is okay to use on data. Recall that in principle
it may expand to an attribute specifying a non-default calling convention.
Such attributes cannot be assumed to continue to be possible to apply to
non-functions, even if such may happen to work with a particular compiler
version.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:48:32 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:48:32 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645079.1006893 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8kD3-00065z-Se; Thu, 30 Nov 2023 16:48:17 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645079.1006893; Thu, 30 Nov 2023 16:48: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 1r8kD3-00065s-PH; Thu, 30 Nov 2023 16:48:17 +0000
Received: by outflank-mailman (input) for mailman id 645079;
 Thu, 30 Nov 2023 16: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8kD1-00064Z-RH
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:48:15 +0000
Received: from EUR05-VI1-obe.outbound.protection.outlook.com
 (mail-vi1eur05on2061b.outbound.protection.outlook.com
 [2a01:111:f400:7d00::61b])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 40883a4c-8fa0-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 17:48:13 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by PAXPR04MB8078.eurprd04.prod.outlook.com (2603:10a6:102:1c1::16)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23; Thu, 30 Nov
 2023 16:48:10 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 16: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: 40883a4c-8fa0-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=Vq0ua94wJZjcKwTlmNJTu2DwQsQ2as9fpE4x84FCXKqhcpIaxISVWMCct8qNvn7aFH5V/d7wZH09PvIbjWKOl8YwxCIkaQNi/NX9NlVr3a3n/v1yitPr3qxFS1W3+/Ul5SI4f8x30IU/cQF6uQLkOPX5VofZ9zFYfbvPZcSBNXwUMmRDQ6ZDr6t9maXsP/DN+xlivEMUeokagFIrshfG2OzzOilvYKRLs1IvxxqmzbMcONfuofythX0CDZoJCJsS9og5JakccmbVw+DDPuarpOWWZlXCijmfx57dsQB1QhTG+oR1QZVkqjwbVEdf83FhRdDjsu1TlYlydcksAhtEIg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=O/yuXpov8937iZqls1WJE6u3QSj/3NqIo4nE9Nz3mZg=;
 b=dYe9pzoK5nFAwdxSs9kw53r2CB1XJq1OZDjNjSk5GAWPe8lCm4uc4SatSm/Q3ppqNqp90bre/De6eRD1uZs2gR6vic9Qr1yyq07q4bCLsrW3wFuUu43kXSagvqOJSksIqdo4/f+9Ho8l04gjAptBgLHj7Hp/RRZwuTg3lORHxX/xLjJlYNc5iKVjdE+ZFwzb1UAuwZeiTl2hOuZYHidSQTlb+ofKFydZJiL+qlhVfCd5EXf3TnQiJeU3alKMY3Yj7TlhF2YTgB7B+obxWYlyyraLQ1uO7efU0B8tV7Kk8On7fcMJB8VHWcS1RfeiOll7/dGOGRuQK8gGBa+u8I4CuQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=O/yuXpov8937iZqls1WJE6u3QSj/3NqIo4nE9Nz3mZg=;
 b=NPiQB0+4lJTj1lEvU544GghDAHZ6Ka+Ezz19WodurMxVCT1KNmtzO7feVIQ0WFyCrbr9zdy6oTDZ5YsdC6SMBNNqf29pkL4rT6shaTpzZB1YFg8YbWvl1CHOPiRD7AvWNnS7BBv7PcXi50iknbRi855mTtpnbAN9+6ugH4YYFtJG8gxIc0MHC06GiZC1yfDBdeI15+Ih2fQnKWLLhrrJd+A8F320fvVcCCJ5eD5Eyc1fKOUcBQnGoolnL66S9DremCtO07n0nz3bnQlsW+CX7GHLRfQYq5G+tW7gb7SaIXJo49ZWBsCJ6VOH1q5PyX1p8hypfQLOajaTVUJ859MZaA==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <d81a16f5-98e5-467f-8aed-0cb4a84e854e@suse.com>
Date: Thu, 30 Nov 2023 17:48:08 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [XEN PATCH 2/7] x86/i8259: add missing header for init_IRQ
 declaration
Content-Language: en-US
To: Nicola Vetrini <nicola.vetrini@bugseng.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, 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: <cover.1701270983.git.nicola.vetrini@bugseng.com>
 <3443c1a877c63f1c6213e0c184e89b20aaa29ffb.1701270983.git.nicola.vetrini@bugseng.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <3443c1a877c63f1c6213e0c184e89b20aaa29ffb.1701270983.git.nicola.vetrini@bugseng.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|PAXPR04MB8078:EE_
X-MS-Office365-Filtering-Correlation-Id: 1e438f4c-b16e-46d4-b508-08dbf1c42308
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	rJeWRzD4Q8w/2My3NmG+ED4lTz2lzEAEWML7PuP2tf5w+vmeyjJ72ESek3ZPtPJJeY4LCCNMi5vsgHaKiK88/P4qqkIlXsGyNhWn1Bb4kaeljMvaa+fxPRsuLHNtkxfauSVTbobLbA0LwVnQ8sIYmOzZ2L++Uz2l13hNoUgdzoFI1fyvKq2qT40hU+NanI79ESMnOIGZm7UpyLwF/YPUP9z6T+mzzk4xIzYcy3a317oKJY7zYyiGeRY+wEJzD/ssMB8a9X3cdRE4WmkimU2cfxt1a6IDu3IPiVaN+w1IEpWj+V/STW+jAVRVU2r6hYLMf6hqfHkR89DqcD7ZiMsvQwxwCOo9hhL5uQ/w7SYueJ/bXOyf/3jJF74vrQuzjaXqA8oI9LU2yGkLKNt67rHDwSpJnC3T7VdotTZitAdcTNWTgQl4ug27kRkVe9IXj5il/HoPgoWOKsutDRnAFHgo/Sf8EWUXmhKB/ptzeMXlAt4OBzEqai1ocNATqToFzfQnCe4fQxdCwaq8bOCuXijCVTSgsEcLYojiOboHV5CFPCY5a5rGrXhEXlXg4MS+YTmjyhA6i6O7rKujNBfj3X6ZTL6XHnuO4PXNrMgYwuVAZIplZTRjgpW/mTdN/JNrDtRLatjCZLUjrS0G3nhLF8tEkQ==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(39860400002)(376002)(396003)(366004)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(8936002)(31696002)(86362001)(4326008)(66556008)(5660300002)(6916009)(66946007)(66476007)(7416002)(36756003)(8676002)(54906003)(31686004)(4744005)(316002)(6506007)(38100700002)(2906002)(6486002)(478600001)(53546011)(6512007)(41300700001)(26005)(2616005)(83380400001)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?VGs2MTl0K21xTFN5bUYxc2VDKzdRdmVwbFl2U1dUQy92SktaeldvMk1rUHBZ?=
 =?utf-8?B?M01GcFoybkJSdWJvMmpMMmZEZFRHa0J6c3ROTEQ4UHJHYUIrR3dKc2t3Sk9a?=
 =?utf-8?B?K0IwcWY3Y1pNcU1NYXVGWTZ6UllVVnV2S3VMUFJwR2VoVXhWSlB2NjdENlpm?=
 =?utf-8?B?dmhvVitCWUpEYm9OM2dJcTNobGU2MzBYdjI5RmlZRmhqbnNxZCtIL25UQy85?=
 =?utf-8?B?NW00UmhOREtNd2Vscjh5OEN2a0ZLMjBCck5lREJPd0JjM21peFh4ZHNLSERF?=
 =?utf-8?B?Rk9ZYlRqVDdWZEdRWjMrUkhWN1hMdE14RUxRMTlHTTduWkwyZURETWsyZUV4?=
 =?utf-8?B?Mytnb0NPMUsxaUwwWkdEYmNMMDJmcWZRd2tWcm9YWURqZGtTU3hZbjJXaHFp?=
 =?utf-8?B?cU9mMzN4eFY5VktGeVNoVmVtNTR4RWFwYzFTTkNTMEpBbmY3NFJ2VFpLWUZU?=
 =?utf-8?B?ZGxjVUYwdFBlMWp0R3NjZWU2N0xxZEl1T0JsM0xWSlUwWjY5SU81Z0tuNG5i?=
 =?utf-8?B?ZkpIa3hzZlVmNWpmWDJJcjMzOGxxQlBPODZ3andxQit6UFJGOW95aGdjeThB?=
 =?utf-8?B?M015em5xK2E2L1Q4YThIQmtLSnRoQWY1Z3VkZUZrV0JzV3RhOXRDK0cwWmNJ?=
 =?utf-8?B?VVBoOUZDc1ZCTURCa3pib0NQbXEvZzRGZVJGVGFrTEgvYXhORmJvRnVHM1dx?=
 =?utf-8?B?cHErS2Z5YlNycWFXTXJiR1lscTFxcFpRUG5HWTFpcXM2TldJZlhHcVRvZEpx?=
 =?utf-8?B?YldneDVxUTIrZnNEQlhIbnBVM0VoMXlyTi9aRHd0Mmg0M2o0NzFRNFFaaVlO?=
 =?utf-8?B?RUR4VEZnaEdLUC9zTjZSUzRheEE1cWdFQjdkb0lxbkFiN3JERStnS1lydTJC?=
 =?utf-8?B?VldlTjJsQ0pzcDgwRDl5cHlDOEl4elU4c3FKWWp5QkxSWktXTm1hOEhaOFVL?=
 =?utf-8?B?Y1UvQzdNMkxBaXQrUzdFU1UwaENIUEQ5S1J0UnJnUkNRNDhnd1lEbHZhM0Vy?=
 =?utf-8?B?Zm1CYXJCS0d4NTc5c0ZDdW01c0tMa2psR1gwY2pFVWwvMmV1QU51Rm01TklW?=
 =?utf-8?B?aGVkLzMrbjNnZDMrOWwwcmhQNk10bEU5MGhBelZKbEdOcnFIdG1tRlRIUkYr?=
 =?utf-8?B?V2UvYnJlbkFtclpLZ0p6dEppSjd3dzVmZWdFaWVqbThnbk1sSG5jaUYxSllt?=
 =?utf-8?B?MnpJOEE4aWtFUzd0a3MrWTFRTDBXQmtRMjNTcFcrc1BrbWF1WHhLWjVBVGZG?=
 =?utf-8?B?UmhCcFpwWmxqd3R0MzRMSGFjUUMyaUlDbitjcldZNDcrc3N2M2RLMFdqWmEz?=
 =?utf-8?B?SjRZN0JhczJ4R1o3S1JpQTdhQUt5OEk5SnAvTXJJVVhpb3hiZE5ZdVp2TGNT?=
 =?utf-8?B?N1ZWTDNqeHdRQ1FNb01MUXBxVExkcWUxT0E0WlZOTkZaSG5SejZ3WEt4cWNx?=
 =?utf-8?B?TkZ6ck1YR2ZHQTlUcGRjQzlic1pwbmhTblNyV2ZDOTVERG1icktkdGlBR3U2?=
 =?utf-8?B?bDM5NHc4QVBrd05halVBYndkYlA2Q00yK0lscWd2NVVaWjRObzJtbS9GdmZw?=
 =?utf-8?B?clJmb2VnNFhLcHczdStDM05WNXlGMERqN3N3QXhqbjQxcXl1UWxXNTRHVmV2?=
 =?utf-8?B?aG9kZHB6a0FFUytVUXJWdnNsNm0ycnF5VzJBZkQ5T1YrUnkwRTFaME9oYzJC?=
 =?utf-8?B?ZHl2dldlaktXMTBKMUs5a2lCR3RjYUNmR1BSOXdmb3N0UXFuZU4yajhvTDVP?=
 =?utf-8?B?MERvS2hQVGdLcmRTeFo3a2ErR0J3QnNjNHl3T09JdWJqRnZHaFdMWWE3WVg0?=
 =?utf-8?B?QU5SeVVYOW41OXpJcjR5L0djMkl0MGU5WXRPZHNEblJEZFkxS0E0Z2d2bGF4?=
 =?utf-8?B?bFUvcnhCWGlLemRhSlBXdStKYlVJR3AxbXN2N2VwVDdRaE10Ym9May8zYjdK?=
 =?utf-8?B?YlJtRzNtazVzTk9XQzdUOUFjMnhLZThvNHpHWkhQU05YZTBjVXMzYnFoQmdj?=
 =?utf-8?B?eGZBbytYdjVaeUhSRDFQN3lEMHFKN1FBQU5COUlDR1ZvOG4vRW1yb2pLRzhC?=
 =?utf-8?B?Wm9ibmtpbVh2WVUzMmNvU1g3TjJqbCsvYVFPc3FrSTM3UG15aXBiVWp3MFVs?=
 =?utf-8?Q?U8TJSgpMyZj5GDDSMa9Uz9Dld?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1e438f4c-b16e-46d4-b508-08dbf1c42308
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 16:48:10.7809
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: DgSNz5hrpnWxlNEl4fGs/KfcAgnWCyf0E7ERRj3swUm9f/lPnptcj95MYBBIZuxdUTq1fdRtxp+KgOJh3RqtPQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8078

On 29.11.2023 16:24, Nicola Vetrini wrote:
> --- a/xen/arch/x86/i8259.c
> +++ b/xen/arch/x86/i8259.c
> @@ -19,6 +19,7 @@
>  #include <xen/delay.h>
>  #include <asm/apic.h>
>  #include <asm/asm_defns.h>
> +#include <asm/setup.h>
>  #include <io_ports.h>
>  #include <irq_vectors.h>

A patch doing this (among other things) is already pending: "x86: detect
PIC aliasing on ports other than 0x[2A][01]".

Jan



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:55:26 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:55:26 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645082.1006903 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8kJn-0003z6-G9; Thu, 30 Nov 2023 16:55:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645082.1006903; Thu, 30 Nov 2023 16: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 1r8kJn-0003yz-DR; Thu, 30 Nov 2023 16:55:15 +0000
Received: by outflank-mailman (input) for mailman id 645082;
 Thu, 30 Nov 2023 16:55: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8kJm-0003yd-1v
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:55:14 +0000
Received: from EUR05-AM6-obe.outbound.protection.outlook.com
 (mail-am6eur05on20600.outbound.protection.outlook.com
 [2a01:111:f403:2612::600])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 3a0436ce-8fa1-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 17:55:12 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AM9PR04MB8954.eurprd04.prod.outlook.com (2603:10a6:20b:409::7)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7068.8; Thu, 30 Nov
 2023 16:55:09 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 16:55: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: 3a0436ce-8fa1-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=ci08Y0wmOh8iI/fIXWlJSLn4rZT8QJUk/8f3+7IeZL1WY5cC6mjOV7KaKcTYsESBFf/KhOxTp1NrIOOStjMEOnWwT9j/0le1pl7FwHx5k5H8Zx9F3Fv6o5PIkURjPF4Hr5VcYVP31OVW5FnFqVJpPxcDfXvTDlvYB1GbSpNIJq13vTIW0hGPVmMtNB33W1mQ4dmGO/hddMqeZXEfoyTXKjJDf7+5uydQ6NWIk4H4QQUNI+zVSsFV1g0v6TLVHxY09BzeY/Lpf9mhxS9QBzbF6B++7ZWIKdAXkbzeUDyivIhqzG319zyOX7AuyO9caLhYB9JXUT5IHiPXRSul+G9Lww==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=EN7A2xSqslLl/wKIgCxd8LwVHYij5ag/iOmhZoc69oo=;
 b=UIf65Wm4fvISG+YTG1tBHbb+sEZU7QOWygFuxE+YKqJApZJ7AkfqKALnrcTj1fgjMHvJzlBkgf9sfyxlAmX2FWTNTbSw5940JfXg7GxoIV9menOQ6fjvjiobhCENNLm9RetyxbiMrnPq4yBQ0b7jwZLw8BmPB5F90upG7d70SeR+wooctZGDuTUlEc5OdzDnanZpRCgfWHpLAVFWpLsJHos+oGShBM1ANbm1cFjU+j1CB2lBZr6tbkqObxwHrilJQ9N+aiArVUGO/GOFaPH3Owqf9wohFuzdcMzLmCawIoR2sG6If9CP17ixu9qpsRs420KHnw7WyNQedXLiv6HUUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=EN7A2xSqslLl/wKIgCxd8LwVHYij5ag/iOmhZoc69oo=;
 b=SKHHPR+Djkq/3G8T/1IpX3AEKTi4oPLgim92Ucjd5XJHulduKK7O2YKv9/R6ETjHSpDrwiai1nbM+5snsfUOCh2rybO9OH+Y6YQ5i9oh/9nbDwWn1Q95qryzMwAtVvhStklcEF2eDmv6hSr11pvtpJeielH9wjPCqhFUafCTgqDYf99B3axV3KecSSeaYZ0+EVAhQ7S/IhrPhq9cPQVhuVsQeCxAJpJdhOWd2Nycif2rnd9RtWLZCfdlBQLQVuny5mkpYWaL1HXz4jL9giLTfs3S6Zw6vUVetDs0YriVGWT5jPjl6jlVOF3yLXjzVg1lVtD9NVLJTrQVCMOZ+fj4ug==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <a65aafed-68c0-41dd-bf4d-3eeff87dd5d3@suse.com>
Date: Thu, 30 Nov 2023 17:55:07 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 1/5] x86/livepatch: set function alignment to ensure
 minimal function size
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
 Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
 Ross Lagerwall <ross.lagerwall@citrix.com>, xen-devel@lists.xenproject.org
References: <20231128100352.35430-1-roger.pau@citrix.com>
 <20231128100352.35430-2-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231128100352.35430-2-roger.pau@citrix.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 DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AM9PR04MB8954:EE_
X-MS-Office365-Filtering-Correlation-Id: e8c092ef-bc78-4aff-5d38-08dbf1c51c73
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	YhD3ddlLriEOTcVC2mzqWfo1UWbXx4AqA6ReY8SCNJLnbOUEXXyO8ctQdISRV1gwWm1uHfZbn25w+lsOvnBGyl3Zsk5abIJf+2KlEWjojNcdbdBD8/aR16ka3bes/tmI1PR40XJOGiiQzVpZ0F5Va3/4xOA2yGiZa0VG+P91PCHA6b9u0W/BI3zauiuzjsI2CDQ5AlUkdWPXkO7jDrNsYUnB+LqzmNQYfWHq/TXhsRZ0k36TkdntTgY/Xkj3YbaoeG9C/UAR0eEoQdga0EzUp+ZhDzTvcEl/7Kfy6MNfCXDORng9+E3XrDGdD/VwMVCEc3MoJaZHE/TJO2GBYxCOzOTo7WWBFcAon7IGE4oAFlLSTOJyFo988kUlyeqC4uhyYrodl2SKDo6d8pzu27JZnZ3K8Y6410ud/NQKpe7BGIoOB9HrufHU75J7p3T9RED64y7L8fFb7yy7R7KgNqExv3+oZhg3XMnG8fauHC6+P6NGo5xdBHmG6Whw8+FcgtS6EKthRxXVxbB5gZ3tVC10J2gs2EwSrhobRBZbCOPcAkHf3QYNG9voN7S8b7zyGta62USolJikv9e9KHJk0xBGgCMQQYuAJ632LX0LznIZsl/f5cfygD/aNSoInp0N8gs7/yXpsEssREgeaufOBomApA==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(366004)(346002)(376002)(136003)(396003)(39860400002)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2906002)(4326008)(54906003)(66556008)(66476007)(36756003)(6916009)(66946007)(316002)(8676002)(8936002)(5660300002)(41300700001)(86362001)(31696002)(83380400001)(2616005)(26005)(38100700002)(31686004)(6512007)(53546011)(6506007)(478600001)(6486002)(43740500002)(45980500001);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?OWtwRWM5Um9QVE5tZTR6RmliMU9RQTNmM3NRbHhRMFRabkc0ZHovRXk0YVMx?=
 =?utf-8?B?YWp4eUZpN3FTWCtqcEYxK1NvVDNYcXptMUZWRDVTbEFTODl2KzZyQ2hVWDJW?=
 =?utf-8?B?WC80YUlDc2pRSnAzaFhSTmcybWllVFhHNkZDUHlvV2twUDVTbWNpdW9MUnph?=
 =?utf-8?B?R1I2R2J6NGJCM2o4TVQvMTRaOG1PRWIxcDlPYjBmVER5K2gvL3lyemFJODZZ?=
 =?utf-8?B?RTJ0VW1haTB0Zy92ZDhHYmk5OU0zMFJMc0MwWDI4MFJZa2JteWs2eW9neTA2?=
 =?utf-8?B?cDdEY0VXNk9TdXh3Z3dzaVBjWkZGUEd4ay9UZTJKR0tsQm1KcEtuQXNhVEs4?=
 =?utf-8?B?VGpKREZIMzZsaTFTeS81UWN0NmJ5ZGp6SVBZL1lpMUo3OUg2UXl3M25pd0dX?=
 =?utf-8?B?SU9Yb2oxcFJQR1Y2Y0s2Q096Um9scnRWWWp3QjBkVUtIOForZTdjTFE3VGNU?=
 =?utf-8?B?L1lKQ0NuM0JYV3pWbmJPVVVDUThzT1I4VFQ0d1BqbHhWUldLeWRyS3J0K0xK?=
 =?utf-8?B?NWVsSWhtYlZSOGh3Zmc3cDcwc3JhSStUV2RTaytldWxZTElIU0ZjWTJ4bGQz?=
 =?utf-8?B?ZFlRU2o0ZTZKSUNpNGYwRXRQZC8vQ3QyUUZWZDgrdCtHYjMyMlRNazZKdFFY?=
 =?utf-8?B?TnViU0VCeGIyckJZdXJSMFYzSGF0bzA4TmlVNDNlQnBmaFFPcmhxelpBZWJy?=
 =?utf-8?B?alkrRGEvREdsU2VqQUpMQXFEOU1zN0lqakVBM0JTeGNTdkpQQi9TNlV2dWZy?=
 =?utf-8?B?aFdZU2Q5UjBzeW44WGFLZFhFUGtUbUsrL1hlZGV5WE5sVmtPRUQwcWJOcnh6?=
 =?utf-8?B?OUhSOU5WUkRaaUhwb05zMGZjZVJDbTBuSkhIVUZFMFRCcGJTV2pKU05ZVnJH?=
 =?utf-8?B?OGtxTFBMMlpBaS9kdUU1SmJnNWRwK3dRQU5INEpZeW10dTRBa0R5dTNtTnJ6?=
 =?utf-8?B?cllqV2hKSUNaZUR5ZXl3TlBIcngyZldNeVNQVVoyc2dYYTliUW9qRmdqTE16?=
 =?utf-8?B?RkVoT3RuRUw2VjhJa1FLSXBKT00zeVVOTDV6Y2pnV0NJMmhVTlFidWlXcm1L?=
 =?utf-8?B?ZUljWFI2OXZ4NUpINWlCM0YyczhoUjNuc05RbFpTUUVnRE1vVUxJOFRJRXo2?=
 =?utf-8?B?Z1crNm1RcFNMNHlvekJadjYxN0RXVTFrdXF5VkdwVCtJUEU3ZHhrVnFLQ3JY?=
 =?utf-8?B?dndKbmk1d1gzTGpvMi9nWU9TT2ZWVVI0em05NlphYUdSR1c3MzNRNEtKYm1n?=
 =?utf-8?B?bWh2dFlHUzBUZllPNERSY29yRnB2ZmMxbncxS1ZzNTBUd2VZemkwU0Mrb1Iy?=
 =?utf-8?B?RGxoTnJBSFdwblpHb0xyT3VmWjBodlAyUUhVMmFTOEd3eEk2aWhwNG5BenEw?=
 =?utf-8?B?dm0yUGs3YklXSlA0RmRiV09qYThQMVg2Z05rM1RxUVlMQXJFcnJLakhyeTZS?=
 =?utf-8?B?N0s1ZWw1OTlraWtibDVYRVJtUmFPcW12d1hpdGlOVy9VSmVmREdLOUhqNzNs?=
 =?utf-8?B?KzdaWXJ0dy9BOUd4SUpZU2p6ZXRQbjJZbXJRam1LSlVZNE5jdkt3dlg5b0g1?=
 =?utf-8?B?SmYzUUlsdmlpNGhoRGRlaWh1MW1DZTc3RC9aOXFMdy9IaWJQOEFOZllGamYz?=
 =?utf-8?B?dkZaaytib2NSWFdib1AxUnBEY1BiVUFnSmU3TjU3cktFd2NocXV6VUVYSjlT?=
 =?utf-8?B?Tk52STNIQVFCdnNTVHU3dXVERElKUE4ybHBpSW4vL0Q0UVFMUjc0eWVUandL?=
 =?utf-8?B?ekxOcXFGbyt1NVFOc0gwNzZURC9UMmtXdjV3WStUTXpTWmtGdGNydmV3YmR3?=
 =?utf-8?B?NDJQdXNjNE50T0RXS28yK05ZaG9NQ3V2L0k4alJIZndLNG80Y3hrcENnNEcv?=
 =?utf-8?B?NTlMVmluMkxhZ25ZMENkc2p2MCt6VmE5Z0JMcTc2VzlzM3JUb05TOERidXNG?=
 =?utf-8?B?SFFRZEZFOUdDUjNZK0w2QU9saTZXeGJFMzVaekxaT1dIYlYzYS9FOHpJT2M1?=
 =?utf-8?B?bXd3NVdhbFdKbW9aYnJnY0F1S3ZaVlhQa3lLODVIQmFENFg5aG41Y3IySmhm?=
 =?utf-8?B?NjdYa2tCbVdKQWtoUFM1MHBLNmdlek8yazlsOWxOWlYzcXJRTHdTQVJHVlo4?=
 =?utf-8?Q?Jwj/kGzOskBKPHzvSmg7gqvd5?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: e8c092ef-bc78-4aff-5d38-08dbf1c51c73
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 16:55:09.2862
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: 130TktVgzjBc+R+JJhtCPXmOBTT4foMNff+etqyaPPWDH9d4R1OyXjNi2AT28BtPNL36rRpnW3jzzdlfunyEUA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM9PR04MB8954

On 28.11.2023 11:03, Roger Pau Monne wrote:
> The minimal function size requirements for livepatch are either 5 bytes (for
> jmp) or 9 bytes (for endbr + jmp).  Ensure that functions are always at least
> that size by requesting the compiled to align the functions to 8 or 16 bytes,
> depending on whether Xen is build with IBT support.

How is alignment going to enforce minimum function size? If a function is
last in a section, there may not be any padding added (ahead of linking at
least). The trailing padding also isn't part of the function.

> Note that it's possible for the compiler to end up using a higher function
> alignment regardless of the passed value, so this change just make sure that
> the minimum required for livepatch to work is present.
> 
> Since the option (-falign-functions) is supported by both minimal required
> compiler versions of clang and gcc there's no need to add a test to check for
> its presence.
> 
> The alignment is currently only implemented for livepatch on x86, I'm unsure
> whether ARM has a mandatory function alignment high enough to cover for the
> space required by the replacement instruction(s).

Indeed I was wondering whether this shouldn't be generalized, if indeed
required.

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 16:58:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 16:58:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645084.1006914 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8kN1-0006EG-W7; Thu, 30 Nov 2023 16:58:35 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645084.1006914; Thu, 30 Nov 2023 16:58: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 1r8kN1-0006E9-T0; Thu, 30 Nov 2023 16:58:35 +0000
Received: by outflank-mailman (input) for mailman id 645084;
 Thu, 30 Nov 2023 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=J4Nc=HL=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8kN1-0006Cl-A9
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 16:58:35 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id b24fa7b2-8fa1-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 17:58:34 +0100 (CET)
Received: from support.bugseng.com (support.bugseng.com [162.55.131.47])
 by support.bugseng.com (Postfix) with ESMTPA id 8B8274EE0739;
 Thu, 30 Nov 2023 17:58:33 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: b24fa7b2-8fa1-11ee-98e4-6d05b1d4d9a1
MIME-Version: 1.0
Date: Thu, 30 Nov 2023 17:58:33 +0100
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: sstabellini@kernel.org, michal.orzel@amd.com, xenia.ragiadakou@amd.com,
 ayan.kumar.halder@amd.com, consulting@bugseng.com, bertrand.marquis@arm.com,
 julien@xen.org, Andrew Cooper <andrew.cooper3@citrix.com>, =?UTF-8?Q?R?=
 =?UTF-8?Q?oger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Wei Liu
 <wl@xen.org>, xen-devel@lists.xenproject.org
Subject: Re: [XEN PATCH 2/7] x86/i8259: add missing header for init_IRQ
 declaration
In-Reply-To: <d81a16f5-98e5-467f-8aed-0cb4a84e854e@suse.com>
References: <cover.1701270983.git.nicola.vetrini@bugseng.com>
 <3443c1a877c63f1c6213e0c184e89b20aaa29ffb.1701270983.git.nicola.vetrini@bugseng.com>
 <d81a16f5-98e5-467f-8aed-0cb4a84e854e@suse.com>
Message-ID: <3d4a73182bcdda4951a3e77ab8f42fe2@bugseng.com>
X-Sender: nicola.vetrini@bugseng.com
Organization: BUGSENG s.r.l.
Content-Type: text/plain; charset=US-ASCII;
 format=flowed
Content-Transfer-Encoding: 7bit

On 2023-11-30 17:48, Jan Beulich wrote:
> On 29.11.2023 16:24, Nicola Vetrini wrote:
>> --- a/xen/arch/x86/i8259.c
>> +++ b/xen/arch/x86/i8259.c
>> @@ -19,6 +19,7 @@
>>  #include <xen/delay.h>
>>  #include <asm/apic.h>
>>  #include <asm/asm_defns.h>
>> +#include <asm/setup.h>
>>  #include <io_ports.h>
>>  #include <irq_vectors.h>
> 
> A patch doing this (among other things) is already pending: "x86: 
> detect
> PIC aliasing on ports other than 0x[2A][01]".
> 

Ok

-- 
Nicola Vetrini, BSc
Software Engineer, BUGSENG srl (https://bugseng.com)


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 17:03:07 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 17:03:07 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645089.1006923 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8kRK-0000rU-GW; Thu, 30 Nov 2023 17:03:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645089.1006923; Thu, 30 Nov 2023 17:03: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 1r8kRK-0000rN-DV; Thu, 30 Nov 2023 17:03:02 +0000
Received: by outflank-mailman (input) for mailman id 645089;
 Thu, 30 Nov 2023 17:03: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=BG3/=HL=suse.com=JBeulich@srs-se1.protection.inumbo.net>)
 id 1r8kRJ-0000rH-OB
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 17:03:01 +0000
Received: from EUR05-DB8-obe.outbound.protection.outlook.com
 (mail-db8eur05on2060a.outbound.protection.outlook.com
 [2a01:111:f400:7e1a::60a])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 5100337c-8fa2-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 18:03:00 +0100 (CET)
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com (2603:10a6:10:2e1::23)
 by AS4PR04MB9576.eurprd04.prod.outlook.com (2603:10a6:20b:4fe::12)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.22; Thu, 30 Nov
 2023 17:02:58 +0000
Received: from DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44]) by DU2PR04MB8790.eurprd04.prod.outlook.com
 ([fe80::eb8e:fa24:44c1:5d44%3]) with mapi id 15.20.7068.012; Thu, 30 Nov 2023
 17:02: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: 5100337c-8fa2-11ee-98e4-6d05b1d4d9a1
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=mnULUrMxbVRMOqfOpgvdZsBRkPLBWhhDyrkDechwv8h1HkI23fL6UpmEvUiw3fAmxtRKmiHI/cLoDyJ8cifixZ/Fw6gKurC8WWayVfl3Gqz/yVuord7twekauD8YsS4rL06XIO5qTsa5AUzmbepBpaML11f/H4U/iVcuWcen6KGgyur4+lv8KAaSjnhmtom/iF8xslQPYkrFnOKjPTi8rfIn3mwrTtLjYojkIbEHzZcvERm3qAM6Iz/aBXsfByXmZI/5/cO/mLhZYGb8vQ7rSCrr0Wc7So38TCtN3PiqmsmDPlfuaSW2gMQObkwYibsLBkeL6frnVtAgOg8/6NTCCA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=ZFMtYpj/wmPRbhRyIRlfOwNwyt/FyiipM675f4p4UIs=;
 b=BdC0p/dTjS+noH3jn9D+FqYq0V2KH22sYNIuTfclfU3cmoFbOZSWeuFGB+RzkuA+40eQW9T6KwHBZGXR1NhuLsQ7QDpwsCJQmwKGqbCzR/v7wtQU8dhcsleC8gDRhFfXrBK4n9Pto58NCEcAJmPmQ35TezPDZPU+REAyuKTgeBeWbzK1UT5P2p79qRR3DaajV6+J9fnilN5QYLJVdxEE9U8UwjUTApJVWiT5ThMRuh5c9l+lA09s1QHkf4/XzMBVHpylqduPEoVKhJjnRtVOHnHe2BHgYjo1tEvKPnATjXr1F/UW/qhN+1b/nNaZ/hzO1B/uNgNaI5h1p3cIgVZR9Q==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=suse.com; dmarc=pass action=none header.from=suse.com;
 dkim=pass header.d=suse.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=selector1;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=ZFMtYpj/wmPRbhRyIRlfOwNwyt/FyiipM675f4p4UIs=;
 b=ag7entcH1XUncb/tEkaFIjgh94yEKNxa7BrDxnnxNJWPDIKRWw6MQ907W/s5qPK5G2Y5zXjOmbPeoWhOH/vRQ/kL73rD8reft2aWOe61Djvp0O0mFq9dFwtwEpZbwP9G9fMq5lEIoFcj7OaGsYS/47/xbaFoFnYB+s/J5RazbAo4z6gJfx45n2r9fC5hGDnFgyd7tFryv0vJcX031ze9b6Y0crmUd2dE4cpUXBZSazRL3uy76Pb26Nx3n2LxZXtcrXu6P6/fR6U39miDr2jjmU1GF53DphYQten1aho8XwsuSXfIruEyjKURYaoVCh5i1A1ecOQUgCZZnoKwpKbEWQ==
Authentication-Results: dkim=none (message not signed)
 header.d=none;dmarc=none action=none header.from=suse.com;
Message-ID: <3ac223d0-75a1-40b0-8bf9-1c556703c07d@suse.com>
Date: Thu, 30 Nov 2023 18:02:55 +0100
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v2 3/5] xen/x86: introduce self modifying code test
Content-Language: en-US
To: Roger Pau Monne <roger.pau@citrix.com>
Cc: Wei Liu <wl@xen.org>, Anthony PERARD <anthony.perard@citrix.com>,
 Juergen Gross <jgross@suse.com>, Andrew Cooper <andrew.cooper3@citrix.com>,
 George Dunlap <george.dunlap@citrix.com>, Julien Grall <julien@xen.org>,
 Stefano Stabellini <sstabellini@kernel.org>, xen-devel@lists.xenproject.org
References: <20231128100352.35430-1-roger.pau@citrix.com>
 <20231128100352.35430-4-roger.pau@citrix.com>
From: Jan Beulich <jbeulich@suse.com>
Autocrypt: addr=jbeulich@suse.com; keydata=
 xsDiBFk3nEQRBADAEaSw6zC/EJkiwGPXbWtPxl2xCdSoeepS07jW8UgcHNurfHvUzogEq5xk
 hu507c3BarVjyWCJOylMNR98Yd8VqD9UfmX0Hb8/BrA+Hl6/DB/eqGptrf4BSRwcZQM32aZK
 7Pj2XbGWIUrZrd70x1eAP9QE3P79Y2oLrsCgbZJfEwCgvz9JjGmQqQkRiTVzlZVCJYcyGGsD
 /0tbFCzD2h20ahe8rC1gbb3K3qk+LpBtvjBu1RY9drYk0NymiGbJWZgab6t1jM7sk2vuf0Py
 O9Hf9XBmK0uE9IgMaiCpc32XV9oASz6UJebwkX+zF2jG5I1BfnO9g7KlotcA/v5ClMjgo6Gl
 MDY4HxoSRu3i1cqqSDtVlt+AOVBJBACrZcnHAUSuCXBPy0jOlBhxPqRWv6ND4c9PH1xjQ3NP
 nxJuMBS8rnNg22uyfAgmBKNLpLgAGVRMZGaGoJObGf72s6TeIqKJo/LtggAS9qAUiuKVnygo
 3wjfkS9A3DRO+SpU7JqWdsveeIQyeyEJ/8PTowmSQLakF+3fote9ybzd880fSmFuIEJldWxp
 Y2ggPGpiZXVsaWNoQHN1c2UuY29tPsJgBBMRAgAgBQJZN5xEAhsDBgsJCAcDAgQVAggDBBYC
 AwECHgECF4AACgkQoDSui/t3IH4J+wCfQ5jHdEjCRHj23O/5ttg9r9OIruwAn3103WUITZee
 e7Sbg12UgcQ5lv7SzsFNBFk3nEQQCACCuTjCjFOUdi5Nm244F+78kLghRcin/awv+IrTcIWF
 hUpSs1Y91iQQ7KItirz5uwCPlwejSJDQJLIS+QtJHaXDXeV6NI0Uef1hP20+y8qydDiVkv6l
 IreXjTb7DvksRgJNvCkWtYnlS3mYvQ9NzS9PhyALWbXnH6sIJd2O9lKS1Mrfq+y0IXCP10eS
 FFGg+Av3IQeFatkJAyju0PPthyTqxSI4lZYuJVPknzgaeuJv/2NccrPvmeDg6Coe7ZIeQ8Yj
 t0ARxu2xytAkkLCel1Lz1WLmwLstV30g80nkgZf/wr+/BXJW/oIvRlonUkxv+IbBM3dX2OV8
 AmRv1ySWPTP7AAMFB/9PQK/VtlNUJvg8GXj9ootzrteGfVZVVT4XBJkfwBcpC/XcPzldjv+3
 HYudvpdNK3lLujXeA5fLOH+Z/G9WBc5pFVSMocI71I8bT8lIAzreg0WvkWg5V2WZsUMlnDL9
 mpwIGFhlbM3gfDMs7MPMu8YQRFVdUvtSpaAs8OFfGQ0ia3LGZcjA6Ik2+xcqscEJzNH+qh8V
 m5jjp28yZgaqTaRbg3M/+MTbMpicpZuqF4rnB0AQD12/3BNWDR6bmh+EkYSMcEIpQmBM51qM
 EKYTQGybRCjpnKHGOxG0rfFY1085mBDZCH5Kx0cl0HVJuQKC+dV2ZY5AqjcKwAxpE75MLFkr
 wkkEGBECAAkFAlk3nEQCGwwACgkQoDSui/t3IH7nnwCfcJWUDUFKdCsBH/E5d+0ZnMQi+G0A
 nAuWpQkjM1ASeQwSHEeAWPgskBQL
In-Reply-To: <20231128100352.35430-4-roger.pau@citrix.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: FR2P281CA0110.DEUP281.PROD.OUTLOOK.COM
 (2603:10a6:d10:9c::20) To DU2PR04MB8790.eurprd04.prod.outlook.com
 (2603:10a6:10:2e1::23)
MIME-Version: 1.0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: DU2PR04MB8790:EE_|AS4PR04MB9576:EE_
X-MS-Office365-Filtering-Correlation-Id: 8fb8427b-f326-4bdd-fa77-08dbf1c633a7
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:
	XKlSzDWlXcCNiFFyj7/sS9ishe1MlrthFNnOO56fSOy9mRMwzcDFaGeS0JdqyHIP1d/5K+2E5A85X+e3744iYxve0/7Q6POI+HRxyQbSzngSTTaKkNpUjvxKajGuPFVOsr6UMreEsn1D/GmmxkHUK5tOYc3Ea5ob+73tJnpuA/8T8IEoSVXbuNx2gCzNDC8PHBQyY2fA20lQPPk1TFn+fBBGcG2ID99KCusGxWLEy97ItW94fbweI9QgwEZUvxl1BuCs5x5ZnC+kZNMm6btGXGRck4/f9iVDii+871uz33HmyXYPa7BmOw1t2fK1uWSwYKZE2Vr8foRLqmwrCXtQDmZsBiOq5bZfP4Zc3jXr/klO4tj+qUGnOqBdgDC74Kg0zvwRbGcDtNuh35FA59ptV3Yv26jjE6MAjNlxP0wH65PCbeI0joagpZW/k7xIHhbXmAcmsUNZDz36G1csWwFB/BG8zWCWNsi4AcUwHx9hhh9m9HV7YKu8LXFZJBRT/wmAXKXcCZXiB4Q7zCVI4/zwfmZfMQx8tPAEB1dDlLYPonIl/orh5Vzrb06J2fmTciqJHEZq6IGwnNOZruCC8wNUHWvzW5TcEPIsZb3AoD0VzuWDI95jOg7HQ20GSAdBDZogUeeubRKed6uzuZV7+c4RAw==
X-Forefront-Antispam-Report:
	CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DU2PR04MB8790.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(136003)(346002)(39860400002)(376002)(396003)(366004)(230922051799003)(64100799003)(1800799012)(186009)(451199024)(8936002)(31696002)(86362001)(4326008)(66556008)(5660300002)(6916009)(66946007)(66476007)(36756003)(8676002)(54906003)(31686004)(316002)(6506007)(38100700002)(2906002)(6486002)(478600001)(53546011)(6512007)(41300700001)(26005)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101;
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0:
	=?utf-8?B?Y0Fidm5vK09PSmxKcWI1cXUrM2ZPOVNoM0h6QkhWNUdEYlhKaGxjTlR1Z2Zv?=
 =?utf-8?B?MkZOQXQ2VnNvblZvdFpDVThWSU5GTStHbDFkQXkvK2pUbFV0eUQ1ajlrdGRP?=
 =?utf-8?B?a0pXLzhhbVRwUTJXMWRLUUUwODVNZWU1eG15S29oTE84TjE1cThjajFucGZC?=
 =?utf-8?B?NHdUVW9kZCtvZG9GMTBzdGFNNXorVU5jaDNKU08rdndQYzNWeXlwVUk3Mm9N?=
 =?utf-8?B?aHdGVEl5T0V6N1hCbEM4QUNkMGxXTlJ6NlR3Z2dxK01MeE9SdmtyRnJ0OW9X?=
 =?utf-8?B?dVFjbm5BN0NmRm1pN05YeG1SaU1YZVl6ZWFKanNxaE5kbWQ0TGp0T1J1OS8v?=
 =?utf-8?B?TUVIcHdOZHRORHp5Tm9EOG9raDQ4QzQreGNLV1RINitPdUN2b2FwMlRNSjVG?=
 =?utf-8?B?TjJHY2g0L2J4a2kyOFdHeWVWSWppamZyZ0Z6bWVMbFZtaHNXeTJsWGVVdEdV?=
 =?utf-8?B?QnRlNi8rTGxaWkRJNjFRKzlyeHBKeFR4WXR5OEl4U0MvQVAzVDlWUW5MMHhv?=
 =?utf-8?B?VjRLY0pVYUliTFdWcU96Yk1xVE5hQ1hsQ25Dc3IxbXU5Z2ZuckpNdTRqaDZH?=
 =?utf-8?B?YklNSWNMQXFmUmhFNmNWL0FDOEJwMWdaU2pnZzZaVGVQUlhFQ3ppSTJ1c1pm?=
 =?utf-8?B?bU1iMlZCY0ROekxxbzlmdk9ETXExekhDRTc2QkhJbHBjSGE3SXdRWDhSZWJD?=
 =?utf-8?B?UU1qSkpyMDlTZ2IrcEl3dGVsZzFCNVFaNWN5R3FuREpjMXYzNWo2YzBXSUZE?=
 =?utf-8?B?SHh6MHN0aERxZjBvMm9KU0FLY3lRVU1KUCtQbkxvalNHZm9lNGp0dGxldDlG?=
 =?utf-8?B?MzF1WldhMkNDbEVkanpmQ09URDdsTmRWeVkvRjZia0M0cTZMVmFFMExnaDgv?=
 =?utf-8?B?T2NKdlF4ZmFSN2pIZ1lkc2VTdlhBOE9BVnpjU043c3JMSkdjWFBNRnNweWRG?=
 =?utf-8?B?aXppTTIvVGM0dmxyaXpYelk1a0lBREwrenJEUzIvQXNsenFseHBPbFZGbElE?=
 =?utf-8?B?WjZ2M2FnLy9qME4raTM5aFhGWUt3bkMycG9uZXI2S3FjZXgyZy9GZmV6MWc2?=
 =?utf-8?B?MStUSklrYy9nRElVWVB2SUU0NU9aUVFNcy91T3h4Z01RNWxRZkJtS05yQnM2?=
 =?utf-8?B?NTJQclZXQTNFSkdvUVJNbXpIMm8vbDJxbFp2OXZVb1JjVHFIMzhoekNkaTV6?=
 =?utf-8?B?bmFGZ2g5T0pkNjg4YzVvMVlwSGFvNnZBb0VlRDlRWUU1TnhNTjc5NStXL1oz?=
 =?utf-8?B?QndnWVdaeXplZUJjZFhwVXlEekFNcEU1bG9zQnVSSkdQbWV0Y3BCUWRqMWpC?=
 =?utf-8?B?Y2xuYzZUN1BUYkZXMzgwUzlzaW5zNHRCKy9nQjluby8rUC9CM2dBM2w5Q0hl?=
 =?utf-8?B?dklYQWh6RGhvUjI5MTk1d2VqTmZubmlObnlxNFM3SjJCM2pJZ0MwbXpsbWdq?=
 =?utf-8?B?U2MyWGhzRDZmV2RhdHVuM2RoZGRwRTBJVmtBaFNPOWNCYkZtZ3c1QkdLTVlz?=
 =?utf-8?B?bFRmWkZYdEVTUWxwbDlSOSt3dUJVZFdZdUNXMktGWHZZZXJuVFAvM1dCc1ZJ?=
 =?utf-8?B?RFcyMUZFS2lkRXpEZHRxaHprakRFUFVKK0lOb3pURDNiSGtqTDQwOEdDcU5h?=
 =?utf-8?B?OFZjemxFTEdEZUtLMldKdlNWSEM0YStyZlFWLzNjcW9wbGd2ZFpEcGZHLy9y?=
 =?utf-8?B?dTl2bDd1bFRscDBkUGJSTjJjZEFlNnRKdit4L25hd0hMQVo0M0NEVm1iQVNn?=
 =?utf-8?B?Y2ZaKzNxdmE5RkQ4ak1VZWluT1N2TXozOFozN3h0bE5qZHF3aXJpQmw1cDVh?=
 =?utf-8?B?Mlo5SlVxM1NLQ1FwOHJzVjRaVTdvaVRFbWpxTFZXZG5LNDFqRUN0Vk9GYXky?=
 =?utf-8?B?NVNwdzBGQm1lNXJEY0t3REFqQmxjd1ZjbzcrbTd4Q3pYaW05SU9JbXhOa0dO?=
 =?utf-8?B?dEZ0QzlPcTNQTU91d2wwQkloZ2ZQdlFxdWVYWUFpMTdCQlJUbmk5MWpuRnoz?=
 =?utf-8?B?ZG41VmpCSUZ5QmRsNEFKMHk1VHNVOHBqR3BLcjRlOWJwSVliNWxsR0g4d0FJ?=
 =?utf-8?B?VzlpUmxYNlZWM2RJNlY3UEpweXdVbE9kT0EvMHN5S0I1Y1NPNWxlVFFwTkRJ?=
 =?utf-8?Q?VDBBm/IQlkAlQA5l554xZcZ/6?=
X-OriginatorOrg: suse.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8fb8427b-f326-4bdd-fa77-08dbf1c633a7
X-MS-Exchange-CrossTenant-AuthSource: DU2PR04MB8790.eurprd04.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 17:02:57.7533
 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: F2iVQjkHWGeLbQ8Y4rH5bGDmc1sHygORe6YznOJNBbEdJg7cy5ATFPRglALO7sGOJRkBXMAXiJgEFJgyo3vKjw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS4PR04MB9576

On 28.11.2023 11:03, Roger Pau Monne wrote:
> --- /dev/null
> +++ b/xen/arch/x86/test-smc.c
> @@ -0,0 +1,68 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +
> +#include <xen/errno.h>
> +
> +#include <asm/alternative.h>
> +#include <asm/cpufeature.h>
> +#include <asm/test-smc.h>
> +
> +static bool cf_check test_insn_replacement(void)
> +{
> +#define EXPECTED_VALUE 2
> +    unsigned int r = ~EXPECTED_VALUE;

The compiler is permitted to elide the initializer unless ...

> +    alternative_io("", "mov $" STR(EXPECTED_VALUE) ", %0",
> +                   X86_FEATURE_ALWAYS, "=r"(r));

... you use "+r" here. Also (nit) there's a blank missing between that
string and the opening parethesis. Also what's wrong with passing
EXPECTED_VALUE in as an "i" constraint input operand?

> +    return r == EXPECTED_VALUE;
> +#undef EXPECTED_VALUE
> +}
> +
> +int test_smc(uint32_t selection, uint32_t *results)
> +{
> +    struct {
> +        unsigned int mask;
> +        bool (*test)(void);
> +        const char *name;
> +    } static const tests[] = {
> +        { XEN_SYSCTL_TEST_SMC_INSN_REPL, &test_insn_replacement,
> +          "alternative instruction replacement" },
> +    };
> +    unsigned int i;
> +
> +    if ( selection & ~XEN_SYSCTL_TEST_SMC_ALL )
> +        return -EINVAL;
> +
> +    if ( results )
> +        *results = 0;
> +
> +    printk(XENLOG_INFO "Checking Self Modify Code\n");
> +
> +    for ( i = 0; i < ARRAY_SIZE(tests); i++ )
> +    {
> +        if ( !(selection & tests[i].mask) )
> +            continue;
> +
> +        if ( tests[i].test() )
> +        {
> +            if ( results )
> +                *results |= tests[i].mask;
> +            continue;
> +        }
> +
> +        add_taint(TAINT_ERROR_SMC);
> +        printk(XENLOG_ERR "%s test failed\n", tests[i].name);
> +    }
> +
> +    return 0;
> +}

I think I need to look at the next patch to make sense of this.

> @@ -1261,6 +1269,7 @@ struct xen_sysctl {
>          struct xen_sysctl_livepatch_op      livepatch;
>  #if defined(__i386__) || defined(__x86_64__)
>          struct xen_sysctl_cpu_policy        cpu_policy;
> +        struct xen_sysctl_test_smc          smc;

Imo the field name would better be test_smc (leaving aside Stefano's comment).

Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 17:05:41 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 17:05:41 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645092.1006934 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8kTr-0001kD-1W; Thu, 30 Nov 2023 17:05:39 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645092.1006934; Thu, 30 Nov 2023 17:05: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 1r8kTq-0001k6-UL; Thu, 30 Nov 2023 17:05:38 +0000
Received: by outflank-mailman (input) for mailman id 645092;
 Thu, 30 Nov 2023 17:05: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=6V2q=HL=bugseng.com=simone.ballarin@srs-se1.protection.inumbo.net>)
 id 1r8kTq-0001ip-4b
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 17:05:38 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id adf4df61-8fa2-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 18:05:36 +0100 (CET)
Received: from beta.station (net-37-182-35-120.cust.vodafonedsl.it
 [37.182.35.120])
 by support.bugseng.com (Postfix) with ESMTPSA id 7B3C24EE0739;
 Thu, 30 Nov 2023 18:05:35 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: adf4df61-8fa2-11ee-9b0f-b553b5be7939
From: Simone Ballarin <simone.ballarin@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Simone Ballarin <simone.ballarin@bugseng.com>,
	Doug Goldstein <cardoe@cardoe.com>,
	Stefano Stabellini <sstabellini@kernel.org>
Subject: [XEN PATCH v3] automation/eclair: improve scheduled analyses
Date: Thu, 30 Nov 2023 18:04:53 +0100
Message-Id: <90f35626378aae5f5a482bf22c2246b506bb547e.1701363877.git.simone.ballarin@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

The scheduled analyses are intended to maintain an overall vision
of the MISRA complaince of the entire project. For this reason,
the file exclusions in "out_of_scope.ecl" should not be applied.

This patch amends ECLAIR settings to prevent exempting files for
scheduled analyses.

Signed-off-by: Simone Ballarin <simone.ballarin@bugseng.com>

---
Changes in v3:
- fix guard for inclusion of out_of_scope.ecl.
Changes in v2:
- drop changes to inhibit test and build stages in scheduled pipelines.
---
 automation/eclair_analysis/ECLAIR/action.settings |  2 +-
 automation/eclair_analysis/ECLAIR/analysis.ecl    | 12 ++++++++++--
 automation/gitlab-ci/analyze.yaml                 |  2 ++
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/automation/eclair_analysis/ECLAIR/action.settings b/automation/eclair_analysis/ECLAIR/action.settings
index f96368ffc7..3cba1a3afb 100644
--- a/automation/eclair_analysis/ECLAIR/action.settings
+++ b/automation/eclair_analysis/ECLAIR/action.settings
@@ -134,7 +134,7 @@ push)
     badgeLabel="ECLAIR ${ANALYSIS_KIND} ${ref}${variantHeadline} #${jobId}"
     ;;
 auto_pull_request)
-    git remote remove autoPRRemote || true
+    git remote remove autoPRRemote 2>/dev/null || true
     git remote add autoPRRemote "${autoPRRemoteUrl}"
     git fetch -q autoPRRemote
     subDir="${ref}"
diff --git a/automation/eclair_analysis/ECLAIR/analysis.ecl b/automation/eclair_analysis/ECLAIR/analysis.ecl
index fe418d6da1..f8d4cc8c99 100644
--- a/automation/eclair_analysis/ECLAIR/analysis.ecl
+++ b/automation/eclair_analysis/ECLAIR/analysis.ecl
@@ -2,7 +2,13 @@
 -project_name=getenv("ECLAIR_PROJECT_NAME")
 -project_root=getenv("ECLAIR_PROJECT_ROOT")
 
--setq=data_dir,getenv("ECLAIR_DATA_DIR")
+setq(data_dir,getenv("ECLAIR_DATA_DIR"))
+setq(analysis_kind,getenv("ANALYSIS_KIND"))
+setq(scheduled_analysis,nil)
+
+strings_map("scheduled-analysis",500,"","^.*scheduled$",0,setq(scheduled_analysis,t))
+strings_map("scheduled-analysis",500,"","^.*$",0)
+map_strings("scheduled-analysis",analysis_kind)
 
 -verbose
 
@@ -15,7 +21,9 @@
 
 -eval_file=toolchain.ecl
 -eval_file=public_APIs.ecl
--eval_file=out_of_scope.ecl
+if(not(scheduled_analysis),
+    eval_file("out_of_scope.ecl")
+)
 -eval_file=deviations.ecl
 -eval_file=call_properties.ecl
 -eval_file=tagging.ecl
diff --git a/automation/gitlab-ci/analyze.yaml b/automation/gitlab-ci/analyze.yaml
index bd9a68de31..6631db53fa 100644
--- a/automation/gitlab-ci/analyze.yaml
+++ b/automation/gitlab-ci/analyze.yaml
@@ -28,6 +28,8 @@
   extends: .eclair-analysis
   allow_failure: true
   rules:
+    - if: $CI_PIPELINE_SOURCE == "schedule"
+      when: never
     - if: $WTOKEN && $CI_PROJECT_PATH =~ /^xen-project\/people\/.*$/
       when: manual
     - !reference [.eclair-analysis, rules]
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 17:06:43 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 17:06:43 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645096.1006943 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8kUr-0002Wd-AM; Thu, 30 Nov 2023 17:06:41 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645096.1006943; Thu, 30 Nov 2023 17: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 1r8kUr-0002WW-7n; Thu, 30 Nov 2023 17:06:41 +0000
Received: by outflank-mailman (input) for mailman id 645096;
 Thu, 30 Nov 2023 17: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=/hl0=HL=amd.com=Stewart.Hildebrand@srs-se1.protection.inumbo.net>)
 id 1r8kUq-0002WQ-4q
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 17:06:40 +0000
Received: from NAM10-MW2-obe.outbound.protection.outlook.com
 (mail-mw2nam10on2061f.outbound.protection.outlook.com
 [2a01:111:f400:7e89::61f])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id d0ed6909-8fa2-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 18:06:36 +0100 (CET)
Received: from CY5PR15CA0005.namprd15.prod.outlook.com (2603:10b6:930:14::18)
 by IA0PR12MB7752.namprd12.prod.outlook.com (2603:10b6:208:442::11)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7025.29; Thu, 30 Nov
 2023 17:06:32 +0000
Received: from CY4PEPF0000E9D0.namprd03.prod.outlook.com
 (2603:10b6:930:14:cafe::95) by CY5PR15CA0005.outlook.office365.com
 (2603:10b6:930:14::18) with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7046.23 via Frontend
 Transport; Thu, 30 Nov 2023 17:06:31 +0000
Received: from SATLEXMB03.amd.com (165.204.84.17) by
 CY4PEPF0000E9D0.mail.protection.outlook.com (10.167.241.143) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.20.7046.17 via Frontend Transport; Thu, 30 Nov 2023 17:06:31 +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.2507.34; Thu, 30 Nov
 2023 11:06:30 -0600
Received: from SATLEXMB03.amd.com (10.181.40.144) 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.2507.32; Thu, 30 Nov
 2023 09:06:30 -0800
Received: from [172.27.137.28] (10.180.168.240) by SATLEXMB03.amd.com
 (10.181.40.144) with Microsoft SMTP Server id 15.1.2507.34 via Frontend
 Transport; Thu, 30 Nov 2023 11:06:28 -0600
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: d0ed6909-8fa2-11ee-9b0f-b553b5be7939
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=hipbjfnuHKAPzu2pz6cNM/bUpPE4E6/q6urYnHDhewnj0GlekG8RLfLUHbgUOp7JeTNMejB815U3KbPeCmHT98tf8/UA1P1OILFG9dkJ4gDMbVupAR+9F9DsXPJxDGoUdJuE9LU9aa+VYEF5idrk5c+h+ZX6AZDD8nBgg8MGmSQg5fEK95eyvEnM4EKnEyx8xMY+m5A7ZcwJrErZgb0MTfTladciOnbacI0P+KC0pRRBz6+pEuvc+SuSzW1YEscSctScIhiW/84zIeifEOekflk++kEA5J/A8JaL3vC4QrXqSUSdFkF8ChLo4XS007UbfdwjItT4DHVuvMMZv0lcug==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=r9yv9IDk5DyS3cwk/afV9Gg+1N1Gnxr+EoG2hGG58K0=;
 b=a0ZsbafVNFxXEk4NBizck482TnWCoOfh59TubiwPBUsvv8BE2UgSO8YrOMznRScbmG4ddP4veKN6KXfkCEoCl7ga/z6ToXxDCptdkeI5ocojBC929FXrOyBmHOI4A1at2ErNaOMjvDsZH4GsE9QiW9isBxMj8a0sl238Sgjow7bc9oXa2Ta1VQFetP2sE+fy1XSzQVn/Chui7kp270Id6pij2E1OFHibM4bfTxwYBGrPMqc9RnGyQHZ0+qzyazDaIDTtEBDO5+cyvL+OuMiKv+9jqiXH30lcb3Hp7y2Sdv0SWMvEpNQtb9eFfaSWi/Ep+S6kNEj+Hud0720nofWpTQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is
 165.204.84.17) smtp.rcpttodomain=suse.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 (0)
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=r9yv9IDk5DyS3cwk/afV9Gg+1N1Gnxr+EoG2hGG58K0=;
 b=XBUuHzo8pf+f85dYlqyCosrDtQx53klAlZ4JYX0rdqezKvNWQ60f5BMb46Gyg4KuzCKzs6+iv2KgQNBZiC8ooxiheOeSfeBmrUMG0ATeDg0X/0Ua9p514iOL/nT8k9Nu4QK/QTJbqjuahM0S3kfaQtqNRQw4LAGArjj4MDqHEVY=
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: <cebd5aa5-d000-42c5-a224-dfc8775f5ba8@amd.com>
Date: Thu, 30 Nov 2023 12:06:23 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
Subject: Re: [PATCH v6 4/5] [FUTURE] xen/arm: enable vPCI for domUs
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>, Michal Orzel
	<michal.orzel@amd.com>, Volodymyr Babchuk <Volodymyr_Babchuk@epam.com>,
	Andrew Cooper <andrew.cooper3@citrix.com>, George Dunlap
	<george.dunlap@citrix.com>, Wei Liu <wl@xen.org>,
	=?UTF-8?Q?Roger_Pau_Monn=C3=A9?= <roger.pau@citrix.com>, Paul Durrant
	<paul@xen.org>, <xen-devel@lists.xenproject.org>
References: <20231113222118.825758-1-stewart.hildebrand@amd.com>
 <20231113222118.825758-5-stewart.hildebrand@amd.com>
 <8be3763f-a4b6-8962-9183-a2a9c3509726@suse.com>
 <a92b1717-965b-4767-8f11-4c3a4e03418d@amd.com>
 <4cf3d507-a76a-43b6-81c3-bee960e811f1@suse.com>
From: Stewart Hildebrand <stewart.hildebrand@amd.com>
In-Reply-To: <4cf3d507-a76a-43b6-81c3-bee960e811f1@suse.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-EOPAttributedMessage: 0
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: CY4PEPF0000E9D0:EE_|IA0PR12MB7752:EE_
X-MS-Office365-Filtering-Correlation-Id: 09ffd6c9-818f-4011-2cb1-08dbf1c6b33b
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info:
	QW305xDFaiyv86X97cUi5twTR+eJe5Nupta0cKpVCNs2tXDTGzWPeYzO/DvwFPsEKvNwmhUMNnf0cZLcDE/6o3lnwzjrQGvZXj4EXS844sFGikYhIkRGOKzgY6hGM+USVCfJQ1HoDmfkQTeeijm5pxcbPn1uJbBFnbk+FntM6E00HxnTTpl9ttpneR3szFtd8z0ulBCT3kQyvWdDaucJAREW//LoPFYru79GLM+QVGsphG0o9o16lbzMxKAaLrEX5wDTiyWVKwyAfwKRb6wCpuTbh2ODx5feVoVwAtaZ7eMUoX83nPXBhJ3Xsc2ESGPFMIewqQJEL5ddByCgp4FpZZLwNpT2KScs6Ktcjak2souR9PRLJYiTKXn1DtuoXZH5r53gmQbfh8b88IZzbXGaS81qHvNi7iaLV9TRg9XgF6g3ZKSLIZmEizCq1dW4IlLOfoPgM9wfcMQp4PBa+0PGm8+wIemY8zbprsiXN2zGFMhdD4InrE1oYQczjJybAnx3yoLmok2J24w0fYzZWrO7sIDEEMmBDgsW/j8vYSuPKvIgybcqNk4kHG5fd/P3XxUSzHOpJFMXBOD8rs4axIAAn27U0ipfq2IhWmea2zBX2kMCWlltHAaS2N4rJ28E+jdqnYmTTG3Vf/N48kORT3O28IRgo33Lt23Azv+ULMLbAcP87EWeLIOnaT9xzGkg+hwQbNzbxi9iwwXK8haDO987+8N6RWAMYpahvj6Mkaht1UUn9WcSntlVofRS+5+P7sDnmSBH8TkuwI+yUV8n5z2H3wK+9IluZOsO8mI2zaXFkChwuiHf1ueTMXOkpTzAS8Q9
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:(13230031)(4636009)(376002)(136003)(39860400002)(396003)(346002)(230922051799003)(451199024)(186009)(82310400011)(64100799003)(1800799012)(46966006)(40470700004)(36840700001)(6666004)(2616005)(26005)(336012)(426003)(47076005)(478600001)(6916009)(36860700001)(2906002)(7416002)(44832011)(5660300002)(16576012)(41300700001)(53546011)(70206006)(70586007)(8936002)(8676002)(316002)(4326008)(54906003)(36756003)(356005)(81166007)(82740400003)(40460700003)(31696002)(86362001)(31686004)(40480700001)(43740500002)(36900700001);DIR:OUT;SFP:1101;
X-OriginatorOrg: amd.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Nov 2023 17:06:31.4781
 (UTC)
X-MS-Exchange-CrossTenant-Network-Message-Id: 09ffd6c9-818f-4011-2cb1-08dbf1c6b33b
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:
	CY4PEPF0000E9D0.namprd03.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Anonymous
X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem
X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7752

On 11/30/23 03:33, Jan Beulich wrote:
> On 30.11.2023 03:47, Stewart Hildebrand wrote:
>> On 11/14/23 04:13, Jan Beulich wrote:
>>> On 13.11.2023 23:21, Stewart Hildebrand wrote:
>>>> --- a/xen/arch/x86/include/asm/domain.h
>>>> +++ b/xen/arch/x86/include/asm/domain.h
>>>> @@ -503,6 +503,8 @@ struct arch_domain
>>>>  #define has_vpit(d)        (!!((d)->arch.emulation_flags & X86_EMU_PIT))
>>>>  #define has_pirq(d)        (!!((d)->arch.emulation_flags & X86_EMU_USE_PIRQ))
>>>>  
>>>> +#define arch_needs_vpci(d) ({ (void)(d); false; })
>>>
>>> See my comments on the v5 thread on both this and ...
>>
>> So, the goal here is to return true for a PVH dom0, and false otherwise (for now). Since dom0 can't feasibly be full HVM, and is_hvm_domain(d) returns true for PVH, how about the following?
>>
>> /* TODO: re-visit when vPCI is enabled for PVH domUs. */
>> #define arch_needs_vpci(d) ({                       \
>>     const struct domain *_d = (d);                  \
>>     is_hardware_domain(_d) && is_hvm_domain(_d); })
> 
> Looks okay to me, except for the leading underscore in _d (see respective
> Misra guidelines, merely re-enforcing what the C standard says).

Right. If I'm interpreting the standards correctly, it looks like a trailing underscore would work, seeing as we haven't adopted MISRA C:2012 Dir 4.5 (yet?).

> Of course
> the double evaluate_nospec() isn't quite nice in the result, but I guess
> this isn't going to be used in many places?

Only in XEN_DOMCTL_assign_device, as far as I'm aware.

> 
> Jan


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 17:16:03 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 17:16:03 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645101.1006953 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8kdq-0006NP-6T; Thu, 30 Nov 2023 17:15:58 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645101.1006953; Thu, 30 Nov 2023 17: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 1r8kdq-0006NI-3T; Thu, 30 Nov 2023 17:15:58 +0000
Received: by outflank-mailman (input) for mailman id 645101;
 Thu, 30 Nov 2023 17: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=J4Nc=HL=bugseng.com=nicola.vetrini@srs-se1.protection.inumbo.net>)
 id 1r8kdo-0006Ly-TE
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 17:15:56 +0000
Received: from support.bugseng.com (mail.bugseng.com [162.55.131.47])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 1f4650ac-8fa4-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 18:15:55 +0100 (CET)
Received: from nico.bugseng.com (unknown [147.123.100.152])
 by support.bugseng.com (Postfix) with ESMTPSA id 87CD54EE0739;
 Thu, 30 Nov 2023 18:15:54 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 1f4650ac-8fa4-11ee-98e4-6d05b1d4d9a1
From: Nicola Vetrini <nicola.vetrini@bugseng.com>
To: xen-devel@lists.xenproject.org
Cc: consulting@bugseng.com,
	Nicola Vetrini <nicola.vetrini@bugseng.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] docs/misra: fix a typo in rules.rst
Date: Thu, 30 Nov 2023 18:15:43 +0100
Message-Id: <d385998bd7f45c9753db504f8b89db5ed8bc90ce.1701364429.git.nicola.vetrini@bugseng.com>
X-Mailer: git-send-email 2.34.1
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit

No functional changes.

Signed-off-by: Nicola Vetrini <nicola.vetrini@bugseng.com>
---
 docs/misra/rules.rst | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/misra/rules.rst b/docs/misra/rules.rst
index 53dab0070c7b..75921b9a3463 100644
--- a/docs/misra/rules.rst
+++ b/docs/misra/rules.rst
@@ -531,7 +531,7 @@ maintainers if you want to suggest a change.
        the future or with another compiler.  For these reasons we discourage
        the introduction of new reserved identifiers in Xen, and we see it as
        positive the reduction of reserved identifiers. At the same time,
-       certain identifiers starting with wo underscores are also commonly used
+       certain identifiers starting with two underscores are also commonly used
        in Linux (e.g. __set_bit) and we don't think it would be an improvement
        to rename them.
 
-- 
2.34.1



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 18:10:48 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 18:10:48 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645105.1006964 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8lUf-0005DA-4u; Thu, 30 Nov 2023 18:10:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645105.1006964; Thu, 30 Nov 2023 18: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 1r8lUf-0005D3-1U; Thu, 30 Nov 2023 18:10:33 +0000
Received: by outflank-mailman (input) for mailman id 645105;
 Thu, 30 Nov 2023 18:10: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8lUd-00055y-ST
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 18:10:31 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id bce6c2bc-8fab-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 19:10:27 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-643-fuNyjow6N2-4hfmq0K7BLA-1; Thu, 30 Nov 2023 13:10:23 -0500
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 25F32101A53B;
 Thu, 30 Nov 2023 18:10:22 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id BBC4CC1596F;
 Thu, 30 Nov 2023 18:10:18 +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: bce6c2bc-8fab-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701367826;
	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=2m4n11NBDxbZslbtUPldbmQwBb2fr/Ruvx5gsmdokXk=;
	b=Rfri5n3OhAvZbr7OqKr3RYPE8yPiEPrq15M+6xZq4F6xmnL6naY7EdYQ+chSpl0kX7Hbth
	E9bx2A11c1XNzXYT0ISITMNzSXLD4NicyXKW8JIIvuL6wIJ7qU9ZIWBPYBgPENgenGZ2qw
	LkjguZW61KfmBxQMnvdzepzd/V05kbQ=
X-MC-Unique: fuNyjow6N2-4hfmq0K7BLA-1
Date: Thu, 30 Nov 2023 12:10:16 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 03/12] aio: make
 aio_context_acquire()/aio_context_release() a no-op
Message-ID: <ytopmeusq6nnzmjwssczinmksegntgiuei3favjvecf2kmlanb@zgewhe3t3alz>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-4-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-4-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8

On Wed, Nov 29, 2023 at 02:55:44PM -0500, Stefan Hajnoczi wrote:
> aio_context_acquire()/aio_context_release() has been replaced by
> fine-grained locking to protect state shared by multiple threads. The
> AioContext lock still plays the role of balancing locking in
> AIO_WAIT_WHILE() and many functions in QEMU either require that the
> AioContext lock is held or not held for this reason. In other words, the
> AioContext lock is purely there for consistency with itself and serves
> no real purpose anymore.
> 
> Stop actually acquiring/releasing the lock in
> aio_context_acquire()/aio_context_release() so that subsequent patches
> can remove callers across the codebase incrementally.
> 
> I have performed "make check" and qemu-iotests stress tests across
> x86-64, ppc64le, and aarch64 to confirm that there are no failures as a
> result of eliminating the lock.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  util/async.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/util/async.c b/util/async.c
> index 8f90ddc304..04ee83d220 100644
> --- a/util/async.c
> +++ b/util/async.c
> @@ -725,12 +725,12 @@ void aio_context_unref(AioContext *ctx)
>  
>  void aio_context_acquire(AioContext *ctx)
>  {
> -    qemu_rec_mutex_lock(&ctx->lock);
> +    /* TODO remove this function */
>  }
>  
>  void aio_context_release(AioContext *ctx)
>  {
> -    qemu_rec_mutex_unlock(&ctx->lock);
> +    /* TODO remove this function */
>  }
>  
>  QEMU_DEFINE_STATIC_CO_TLS(AioContext *, my_aiocontext)
> -- 
> 2.42.0

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 18:58:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 18:58:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645112.1006974 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8mEa-00041E-Hy; Thu, 30 Nov 2023 18:58:00 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645112.1006974; Thu, 30 Nov 2023 18:58: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 1r8mEa-000417-Du; Thu, 30 Nov 2023 18:58:00 +0000
Received: by outflank-mailman (input) for mailman id 645112;
 Thu, 30 Nov 2023 18:57: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=4Jom=HL=cloud.com=roger.pau@srs-se1.protection.inumbo.net>)
 id 1r8mEZ-00040z-87
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 18:57:59 +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 606d8301-8fb2-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 19:57:58 +0100 (CET)
Received: by mail-wr1-x434.google.com with SMTP id
 ffacd0b85a97d-333229dcebdso730581f8f.0
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 10:57:58 -0800 (PST)
Received: from localhost ([213.195.113.99]) by smtp.gmail.com with ESMTPSA id
 g18-20020a05600c311200b0040b42df75fcsm2677201wmo.39.2023.11.30.09.37.36
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 09:37:36 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 606d8301-8fb2-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=citrix.com; s=google; t=1701370677; x=1701975477; darn=lists.xenproject.org;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;
        bh=lcathtPMd/K6//oFMVQXSzN41+O54GUsjafhp+RF6U4=;
        b=K33ZTseW6aWQ+GUN3GkHperKIKvcOzRthxIFSni3LUwf5goVuK3QStvLZRTV7cokpM
         In38NS6V/A0o53WPVz1zIHEu0SWcWmADo+YXvmDrlb2DmnlV9T1AvRms7S2g2UK3CoT6
         DSP0XljPNzo6WKu2Y9ivCL+FuzDBq+b6HfOak=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701370677; x=1701975477;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=lcathtPMd/K6//oFMVQXSzN41+O54GUsjafhp+RF6U4=;
        b=Yxd16QIXSvGxOdFJXyvPP5SmDpv8A4M5cS8t2Zx5/iAWcW+R9xPPeD6QRW6RDi1lUe
         n81SaQvKZJgEASpl4h0qexsQpruIp8U03YemZFK9Rie5Ld6VQ0LS0EzswyEKLJzL8dhW
         5QTI7yJ27WW2LDaW1LAKgKFlrWRiXguztZ99zL0XAA/SHBT85NoNSkw1De9GFGPlUFsX
         j+/sIgCmlHyYB/X1WkoZQV88f2C0E+Yp4psHBbh7aLpea0zhyuXHtFyTa8XwnJUMqlS8
         6/7NiYFpo3E3pBCfl+d5581u3xJSMGMyHVuMfWCjrbFknKn9cjqfD8kM2qvJSUpcoeYE
         a8cQ==
X-Gm-Message-State: AOJu0YwBl6ZiM9SqOmygriTEn+cCPm/zx/CHGHx0Y9OlZQrilTJkJg8d
	V/+4LCtijbdjTbQ4cE2uflBTCLhfpGHEm7gRrs4=
X-Google-Smtp-Source: AGHT+IELsgRR2XV4U7ninKGiFM/shsuXV0t1HIW1G+Wy/nQjkAepd01DVR+4GOfodS4JEoEj5vLn1Q==
X-Received: by 2002:a05:600c:198c:b0:40b:578d:248e with SMTP id t12-20020a05600c198c00b0040b578d248emr2216wmq.27.1701365856857;
        Thu, 30 Nov 2023 09:37:36 -0800 (PST)
Date: Thu, 30 Nov 2023 18:37:35 +0100
From: Roger Pau =?utf-8?B?TW9ubsOp?= <roger.pau@citrix.com>
To: Jan Beulich <jbeulich@suse.com>
Cc: Andrew Cooper <andrew.cooper3@citrix.com>, Wei Liu <wl@xen.org>,
	Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
	Ross Lagerwall <ross.lagerwall@citrix.com>,
	xen-devel@lists.xenproject.org
Subject: Re: [PATCH v2 1/5] x86/livepatch: set function alignment to ensure
 minimal function size
Message-ID: <ZWjIX0Jo5gW5SEDr@macbook>
References: <20231128100352.35430-1-roger.pau@citrix.com>
 <20231128100352.35430-2-roger.pau@citrix.com>
 <a65aafed-68c0-41dd-bf4d-3eeff87dd5d3@suse.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <a65aafed-68c0-41dd-bf4d-3eeff87dd5d3@suse.com>

On Thu, Nov 30, 2023 at 05:55:07PM +0100, Jan Beulich wrote:
> On 28.11.2023 11:03, Roger Pau Monne wrote:
> > The minimal function size requirements for livepatch are either 5 bytes (for
> > jmp) or 9 bytes (for endbr + jmp).  Ensure that functions are always at least
> > that size by requesting the compiled to align the functions to 8 or 16 bytes,
> > depending on whether Xen is build with IBT support.
> 
> How is alignment going to enforce minimum function size? If a function is
> last in a section, there may not be any padding added (ahead of linking at
> least). The trailing padding also isn't part of the function.

If each function lives in it's own section (by using
-ffunction-sections), and each section is aligned, then I think we can
guarantee that there will always be enough padding space?

Even the last function/section on the .text block would still be
aligned, and as long as the function alignment <= SECTION_ALIGN
there will be enough padding left.  I should add some build time
assert that CONFIG_CC_FUNCTION_ALIGNMENT <= SECTION_ALIGN.

While the trailing padding is not part of the function itself, I don't
see issues in overwriting it with the replacement function code.

> > Note that it's possible for the compiler to end up using a higher function
> > alignment regardless of the passed value, so this change just make sure that
> > the minimum required for livepatch to work is present.
> > 
> > Since the option (-falign-functions) is supported by both minimal required
> > compiler versions of clang and gcc there's no need to add a test to check for
> > its presence.
> > 
> > The alignment is currently only implemented for livepatch on x86, I'm unsure
> > whether ARM has a mandatory function alignment high enough to cover for the
> > space required by the replacement instruction(s).
> 
> Indeed I was wondering whether this shouldn't be generalized, if indeed
> required.

Well, more than required it's nice to have in order to avoid failures.
The checks in the livepatch code will trigger if there's not enough
space to apply the replacement code.

Thanks, Roger.


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 19:34:31 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 19:34:31 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645118.1006983 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8mnc-0000Tk-2z; Thu, 30 Nov 2023 19:34:12 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645118.1006983; Thu, 30 Nov 2023 19:34: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 1r8mnc-0000Td-0E; Thu, 30 Nov 2023 19:34:12 +0000
Received: by outflank-mailman (input) for mailman id 645118;
 Thu, 30 Nov 2023 19:34: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8mna-0000TX-Ul
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 19:34:10 +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 6cef8ded-8fb7-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 20:34:07 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-686-RZUkswVuPmuQYjY25Z6cPg-1; Thu,
 30 Nov 2023 14:34:02 -0500
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id AEBC53C000A9;
 Thu, 30 Nov 2023 19:34:01 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 48154C15881;
 Thu, 30 Nov 2023 19: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: 6cef8ded-8fb7-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701372846;
	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=uPN8j5o+8l5w/iaYdtuGIVOqMccrauJ8Ec54nmU0VwI=;
	b=RRNPbKazjCmWqRfwRhFA9RBPpy+2PyUJ/NCnCjz0Hz+bKEUppQH9xGnDNp0RC2vcjqoY9m
	OlW6mPhzbJYftAUOolBeWz9L/qp0cVjrFbE0ZgVia4lx8zfQBbIMTCHr2R0L83YTDqxdLl
	vRxM1ThjBbheJnOYFr66KB+w4GdWtFQ=
X-MC-Unique: RZUkswVuPmuQYjY25Z6cPg-1
Date: Thu, 30 Nov 2023 13:33:56 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 04/12] graph-lock: remove AioContext locking
Message-ID: <shpuf2hftekseg2gm6ngmhtwsorc5voyr5nhq5ngz6khu3cv74@tjj5l2dg33ek>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-5-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-5-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8

On Wed, Nov 29, 2023 at 02:55:45PM -0500, Stefan Hajnoczi wrote:
> Stop acquiring/releasing the AioContext lock in
> bdrv_graph_wrlock()/bdrv_graph_unlock() since the lock no longer has any
> effect.
> 
> The distinction between bdrv_graph_wrunlock() and
> bdrv_graph_wrunlock_ctx() becomes meaningless and they can be collapsed
> into one function.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 20:09:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 20:09:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645122.1006994 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8nLJ-0008BH-QP; Thu, 30 Nov 2023 20:09:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645122.1006994; Thu, 30 Nov 2023 20: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 1r8nLJ-0008BA-NI; Thu, 30 Nov 2023 20:09:01 +0000
Received: by outflank-mailman (input) for mailman id 645122;
 Thu, 30 Nov 2023 20:09: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=k41O=HL=redhat.com=peterx@srs-se1.protection.inumbo.net>)
 id 1r8nLH-00089e-VL
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 20:08: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 4b1760c5-8fbc-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 21:08:58 +0100 (CET)
Received: from mail-oo1-f71.google.com (mail-oo1-f71.google.com
 [209.85.161.71]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-618-kvMiOI0lN1ikNiNaCsWQyA-1; Thu, 30 Nov 2023 15:08:55 -0500
Received: by mail-oo1-f71.google.com with SMTP id
 006d021491bc7-58dc1a18554so210158eaf.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 12:08:55 -0800 (PST)
Received: from x1n (cpe688f2e2cb7c3-cm688f2e2cb7c0.cpe.net.cable.rogers.com.
 [99.254.121.117]) by smtp.gmail.com with ESMTPSA id
 qr13-20020a05620a390d00b0077d5e1e4edesm790071qkn.57.2023.11.30.12.08.50
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 12:08:54 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 4b1760c5-8fbc-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701374936;
	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=vQ5m3o7+UqdtWYSDU6QubOO0VIH9lcTK3EaDyGHvbxw=;
	b=Mtct1fO/ctWsHPFB+5wB3YkKWIi/8kY27OjH8kRwmuhYOoj/9W0NoGoJs1A18gtogaCYUD
	vRffEee1eUh+KlaA+W6L6CSktX+K5UIEAVyUr+LBUSgmdRbz278lk3afFfDrj6OZVBpOpg
	eBP1oeEHCSNxEordsBYKyhvdgJ8WBVU=
X-MC-Unique: kvMiOI0lN1ikNiNaCsWQyA-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701374935; x=1701979735;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=vQ5m3o7+UqdtWYSDU6QubOO0VIH9lcTK3EaDyGHvbxw=;
        b=R7+RZnmTs5JEfhUDDzWKPI49nlH91gFwHfc+vO6sP/Mfg/IMTV9rmJgtp4OQmB5qVe
         dY9OmzwihdmTdBBxNQkICAAw52IYHwS4kuWle8fLfmXKyiO2A2lfBljBfJWxedfALESY
         XE2H4SCAVtVDiZjJZJfRm08AgDb09mRWIfaFmTIAJtYzuEL+/cxCfu9XugKdSqAWRiXj
         CJRVfz3HLxWY/2y687NssERPICjT74jMUbWgtXWM7O5hhCyCayuj0M4EkzOX6z1Snstp
         2ux56DwMedYxf6aTUsSV7nP6cSfK6Vk/YXnge/E1jQp+GLk7nleuKfifaVnqpYNoqziS
         Pyxg==
X-Gm-Message-State: AOJu0Yxsdbuu1lHDIWwqrU3F9vsiw1k7QWJubPZ7ONYxUtG1ouwxr6W1
	+9gJh8v5ynfhg5bUan9lAeyrHJVGEAWaFhgiPzLOca0cLM0brgwbKPxsabKND8NVW+xw2q8yivh
	3i37JyP+Ss2yBwrxCOILeeuJjxU8=
X-Received: by 2002:a05:6820:a8f:b0:58d:e3d3:ec72 with SMTP id de15-20020a0568200a8f00b0058de3d3ec72mr3219669oob.0.1701374934934;
        Thu, 30 Nov 2023 12:08:54 -0800 (PST)
X-Google-Smtp-Source: AGHT+IEFrVwMaTOwUyaQhegCiYW255oqkz3A1nA2DFXZquNCGnC+wsIvv9V9+I7etJ6uoaw71Bi5Lw==
X-Received: by 2002:a05:6820:a8f:b0:58d:e3d3:ec72 with SMTP id de15-20020a0568200a8f00b0058de3d3ec72mr3219606oob.0.1701374934634;
        Thu, 30 Nov 2023 12:08:54 -0800 (PST)
Date: Thu, 30 Nov 2023 15:08:49 -0500
From: Peter Xu <peterx@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>,
	qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	=?utf-8?Q?Marc-Andr=C3=A9?= Lureau <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>, Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>, Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>, Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
	qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?utf-8?Q?C=C3=A9dric?= Le Goater <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to
 qemu_bql_lock()
Message-ID: <ZWjr0TKxihlpd1jm@x1n>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-2-stefanha@redhat.com>
MIME-Version: 1.0
In-Reply-To: <20231129212625.1051502-2-stefanha@redhat.com>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline

On Wed, Nov 29, 2023 at 04:26:20PM -0500, Stefan Hajnoczi wrote:
> The Big QEMU Lock (BQL) has many names and they are confusing. The
> actual QemuMutex variable is called qemu_global_mutex but it's commonly
> referred to as the BQL in discussions and some code comments. The
> locking APIs, however, are called qemu_mutex_lock_iothread() and
> qemu_mutex_unlock_iothread().
> 
> The "iothread" name is historic and comes from when the main thread was
> split into into KVM vcpu threads and the "iothread" (now called the main
> loop thread). I have contributed to the confusion myself by introducing
> a separate --object iothread, a separate concept unrelated to the BQL.
> 
> The "iothread" name is no longer appropriate for the BQL. Rename the
> locking APIs to:
> - void qemu_bql_lock(void)
> - void qemu_bql_unlock(void)
> - bool qemu_bql_locked(void)
> 
> There are more APIs with "iothread" in their names. Subsequent patches
> will rename them. There are also comments and documentation that will be
> updated in later patches.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>

Acked-by: Peter Xu <peterx@redhat.com>

Two nickpicks:

  - BQL contains "QEMU" as the 2nd character, so maybe easier to further
    rename qemu_bql into bql_?

  - Could we keep the full spell of BQL at some places, so people can still
    reference it if not familiar?  IIUC most of the BQL helpers will root
    back to the major three functions (_lock, _unlock, _locked), perhaps
    add a comment of "BQL stands for..." over these three functions as
    comment?

Please take or ignore these nitpicks; my ACK will stand irrelevant.

Thanks,

-- 
Peter Xu



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 20:29:37 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 20:29:37 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645128.1007004 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8nf7-0004Li-Cb; Thu, 30 Nov 2023 20:29:29 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645128.1007004; Thu, 30 Nov 2023 20:29: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 1r8nf7-0004Lb-9i; Thu, 30 Nov 2023 20:29:29 +0000
Received: by outflank-mailman (input) for mailman id 645128;
 Thu, 30 Nov 2023 20:29: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=PSmm=HL=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8nf6-0004LV-Hc
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 20:29:28 +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 26fa903e-8fbf-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 21:29:26 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-500-DFipSJ9NNb6fbEEPaw_Vzw-1; Thu,
 30 Nov 2023 15:29:21 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 6B2941C06EC1;
 Thu, 30 Nov 2023 20:29:18 +0000 (UTC)
Received: from localhost (unknown [10.39.192.46])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 1713E36E2;
 Thu, 30 Nov 2023 20:27: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: 26fa903e-8fbf-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701376164;
	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=pspgY/UtbTR6ASTEqbHV7C5jZMpcDbn0C1ttaW0vK+0=;
	b=MUByS6TXp2b5SlHUn8tYIPNx45ojPf44Ceh7bnTuvAVka6ZqOJTzLpaYLyMZgEq3MZY9Lz
	UDnBw4zrKWP5m6wzCirg1D2UgXsPh9rGg8n6l1SMTjzgu1UUS2ahrx7YlqwsQiX3fq67E0
	xGyNJWpyvnaD4hsISiqHA4FK1v4orUA=
X-MC-Unique: DFipSJ9NNb6fbEEPaw_Vzw-1
Date: Thu, 30 Nov 2023 15:27:32 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Ilya Leoshkevich <iii@linux.ibm.com>
Cc: qemu-devel@nongnu.org, Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	=?iso-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>, Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>, Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>, Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
	qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?iso-8859-1?Q?C=E9dric?= Le Goater <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 2/6] qemu/main-loop: rename QEMU_IOTHREAD_LOCK_GUARD to
 QEMU_BQL_LOCK_GUARD
Message-ID: <20231130202732.GA1184658@fedora>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-3-stefanha@redhat.com>
 <c3ac8d9c2b9d611e84672436ce1a96aedcaacf5e.camel@linux.ibm.com>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="IGy9nSmIZnwUahKG"
Content-Disposition: inline
In-Reply-To: <c3ac8d9c2b9d611e84672436ce1a96aedcaacf5e.camel@linux.ibm.com>
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.1


--IGy9nSmIZnwUahKG
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 30, 2023 at 10:14:47AM +0100, Ilya Leoshkevich wrote:
> On Wed, 2023-11-29 at 16:26 -0500, Stefan Hajnoczi wrote:
> > The name "iothread" is overloaded. Use the term Big QEMU Lock (BQL)
> > instead, it is already widely used and unambiguous.
> >=20
> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> > ---
> > =A0include/qemu/main-loop.h=A0 | 20 ++++++++++----------
> > =A0hw/i386/kvm/xen_evtchn.c=A0 | 14 +++++++-------
> > =A0hw/i386/kvm/xen_gnttab.c=A0 |=A0 2 +-
> > =A0hw/mips/mips_int.c=A0=A0=A0=A0=A0=A0=A0 |=A0 2 +-
> > =A0hw/ppc/ppc.c=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0 |=A0 2 +-
> > =A0target/i386/kvm/xen-emu.c |=A0 2 +-
> > =A0target/ppc/excp_helper.c=A0 |=A0 2 +-
> > =A0target/ppc/helper_regs.c=A0 |=A0 2 +-
> > =A0target/riscv/cpu_helper.c |=A0 4 ++--
> > =A09 files changed, 25 insertions(+), 25 deletions(-)
> >=20
> > diff --git a/include/qemu/main-loop.h b/include/qemu/main-loop.h
> > index d6f75e57bd..0b6a3e4824 100644
> > --- a/include/qemu/main-loop.h
> > +++ b/include/qemu/main-loop.h
> > @@ -344,13 +344,13 @@ void qemu_bql_lock_impl(const char *file, int
> > line);
> > =A0void qemu_bql_unlock(void);
> > =A0
> > =A0/**
> > - * QEMU_IOTHREAD_LOCK_GUARD
> > + * QEMU_BQL_LOCK_GUARD
> > =A0 *
> > - * Wrap a block of code in a conditional
> > qemu_mutex_{lock,unlock}_iothread.
> > + * Wrap a block of code in a conditional qemu_bql_{lock,unlock}.
> > =A0 */
> > -typedef struct IOThreadLockAuto IOThreadLockAuto;
> > +typedef struct BQLLockAuto BQLLockAuto;
> > =A0
> > -static inline IOThreadLockAuto *qemu_iothread_auto_lock(const char
> > *file,
> > +static inline BQLLockAuto *qemu_bql_auto_lock(const char *file,
> > =A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=A0=
=A0=A0=A0=A0=A0=A0=A0=A0 int line)
>=20
> The padding is not correct anymore.

Good point, I didn't check the formatting after search-and-replace. I
will fix this across the patch series in v2.

Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmVo8DQACgkQnKSrs4Gr
c8ge1wf+IIHG7oAMqIyOTOA/oFS2QG8uPyiFJQq8Zhme5LBuPIvsf8300Z76gAFP
LqKNIp9tEHi376ORvR9zKqXs6EyrAjdTT9jBThkjo9Dsw8WtdpMy1OP3sRZ6RZ5Z
BKv5+J0R2bvw5JBpc/wk7Fnypv5lgxFtWE/MiKDSG6jfjr6+6VDuHt3/CiBBs0cU
XCtQeZrqhRpjJVA0k05LM+8lVbx8H27bqQxQ9kLFFGpiDm0mMNtiQ+VyXLsxprcW
0OZ+iv46HtHiJtiBYEMxGxI7q3OJjnvS7fKklk3dLJAJxGHVUEedtOg9gzcMCec1
64wQWmIUbq61hdMdbFULncGwAIGa0w==
=I8on
-----END PGP SIGNATURE-----

--IGy9nSmIZnwUahKG--



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 20:31:46 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 20:31:46 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645130.1007014 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8nhJ-0005lO-OK; Thu, 30 Nov 2023 20:31:45 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645130.1007014; Thu, 30 Nov 2023 20:31: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 1r8nhJ-0005lH-LK; Thu, 30 Nov 2023 20:31:45 +0000
Received: by outflank-mailman (input) for mailman id 645130;
 Thu, 30 Nov 2023 20:31: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=PSmm=HL=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8nhJ-0005l9-1e
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 20:31:45 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 789790de-8fbf-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 21:31:43 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-145-88dqJ2RNNwmoiXaZzWJvUg-1; Thu, 30 Nov 2023 15:31:37 -0500
Received: from smtp.corp.redhat.com (int-mx09.intmail.prod.int.rdu2.redhat.com
 [10.11.54.9])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7F70582BA82;
 Thu, 30 Nov 2023 20:31:34 +0000 (UTC)
Received: from localhost (unknown [10.39.192.46])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 768DF492BE0;
 Thu, 30 Nov 2023 20:31: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: 789790de-8fbf-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701376301;
	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=8KFoHugi6jgybVjDl52fW0YxT+ePBaAxcnqZf4SllrU=;
	b=fhdvEOJx3Puzl4tYDkHZC6B+2XgHZP4o1jVjkc47bJKWi37ginuMZ6uk7PxwuWvT/sD+w7
	R//V4jVx/hGbet1jOwN5g+EBMJ2K482iWwA/5X1s1/OFmbEYKjhnVFmkJ9m+2+60Y2eVsD
	jCU+MQtvnoHK0gbMThsLzBTHEyTyTAU=
X-MC-Unique: 88dqJ2RNNwmoiXaZzWJvUg-1
Date: Thu, 30 Nov 2023 15:31:32 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	=?iso-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>, Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>, Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>, Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
	qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?iso-8859-1?Q?C=E9dric?= Le Goater <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 4/6] system/cpus: rename qemu_global_mutex to qemu_bql
Message-ID: <20231130203132.GB1184658@fedora>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-5-stefanha@redhat.com>
 <01ebd72d-affc-4b03-b491-f40964520f1c@linaro.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="sn71hyyf1gpGKJP8"
Content-Disposition: inline
In-Reply-To: <01ebd72d-affc-4b03-b491-f40964520f1c@linaro.org>
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.9


--sn71hyyf1gpGKJP8
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 30, 2023 at 02:44:07PM +0100, Philippe Mathieu-Daud=E9 wrote:
> Hi Stefan,
>=20
> On 29/11/23 22:26, Stefan Hajnoczi wrote:
> > The APIs using qemu_global_mutex now follow the Big QEMU Lock (BQL)
> > nomenclature. It's a little strange that the actual QemuMutex variable
> > that embodies the BQL is called qemu_global_mutex instead of qemu_bql.
> > Rename it for consistency.
> >=20
> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> > ---
> >   system/cpus.c | 20 ++++++++++----------
> >   1 file changed, 10 insertions(+), 10 deletions(-)
> >=20
> > diff --git a/system/cpus.c b/system/cpus.c
> > index eb24a4db8e..138720a540 100644
> > --- a/system/cpus.c
> > +++ b/system/cpus.c
> > @@ -65,7 +65,7 @@
> >   #endif /* CONFIG_LINUX */
> > -static QemuMutex qemu_global_mutex;
> > +static QemuMutex qemu_bql;
>=20
> I thought we were using _cond/_sem/_mutex suffixes, but
> this is not enforced:

I'm open to alternative names. Here are some I can think of:
- big_qemu_lock (although grepping for "bql" won't find it)
- qemu_bql_mutex

If there is no strong feeling about this then let's leave it at
qemu_bql. Otherwise, please discuss.

Thanks,
Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmVo8SQACgkQnKSrs4Gr
c8j+pAf/bHckak+kCTFY6THF9fWYuY9tKxDh1TAsmCqS02YPBAPs1z0YH+99X3km
es2S24gx5+JuX1lEM4Cq3AGZibmA2Vrs+TcKe6DyN6hT5mtNrfeoTcFLiUGNHFVx
s+czVZPIfsxatmrt9FobrI2Ih51wyLzqPPI9ibJTSbz849aMGdjCfB+///3zKHW5
JsvpwUhaL7gomsRHXZZSyQq9f/yJrxcl7BP/tM4eJhLul0Q/3xsdQsme8PS4ImLz
srpkocFet7WKPXnBwXpDaZ21znv5VvTybFpRqCXpFJlQoWwZR5m+bF/Jo1vdCKBU
R3KRE4Yg7YPFP70oH/H5T7bSCUiOKg==
=zmh7
-----END PGP SIGNATURE-----

--sn71hyyf1gpGKJP8--



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 20:37:00 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 20:37:00 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645134.1007024 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8nmC-0007fF-A5; Thu, 30 Nov 2023 20:36:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645134.1007024; Thu, 30 Nov 2023 20:36: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 1r8nmC-0007f8-6i; Thu, 30 Nov 2023 20:36:48 +0000
Received: by outflank-mailman (input) for mailman id 645134;
 Thu, 30 Nov 2023 20:36: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=PSmm=HL=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8nmB-0007f2-BX
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 20:36:47 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 2c21b466-8fc0-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 21:36:44 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-665-SIexcsI8MJKCO3SfmX55Dg-1; Thu,
 30 Nov 2023 15:36:38 -0500
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com
 [10.11.54.6])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id F3AB4280666F;
 Thu, 30 Nov 2023 20:36:35 +0000 (UTC)
Received: from localhost (unknown [10.39.192.46])
 by smtp.corp.redhat.com (Postfix) with ESMTP id 7B9DD2166B26;
 Thu, 30 Nov 2023 20:36: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: 2c21b466-8fc0-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701376603;
	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=eYEi0Y5+QQuaOwHuJk++/9L4d3OIIjWT68mwc8kKwmY=;
	b=h3DzD7HXvKMnsy90OPZGabZ/JQKmAM5x5hyDdsweD2rYwIw9MPDRdcKDX4en8zpmJ4c9h/
	XqHQ/wpeBUyFUUxwlLIUfLqBjOMae4PyDskl+u7cXvEI07hHaCEM0c9XzNMHdZwETCY6dS
	ZhOAz+8kk9wR+pH2YsFB0RwekzqmFrg=
X-MC-Unique: SIexcsI8MJKCO3SfmX55Dg-1
Date: Thu, 30 Nov 2023 15:36:33 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	=?iso-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>, Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>, Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>, Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
	qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?iso-8859-1?Q?C=E9dric?= Le Goater <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 5/6] Replace "iothread lock" with "BQL" in comments
Message-ID: <20231130203633.GC1184658@fedora>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-6-stefanha@redhat.com>
 <9c305a84-fd86-42fe-98ae-9297d480acd6@linaro.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="ADMBXqBOX1KM7dkn"
Content-Disposition: inline
In-Reply-To: <9c305a84-fd86-42fe-98ae-9297d480acd6@linaro.org>
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.6


--ADMBXqBOX1KM7dkn
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 30, 2023 at 02:47:49PM +0100, Philippe Mathieu-Daud=E9 wrote:
> Hi Stefan,
>=20
> On 29/11/23 22:26, Stefan Hajnoczi wrote:
> > The term "iothread lock" is obsolete. The APIs use Big QEMU Lock (BQL)
> > in their names. Update the code comments to use "BQL" instead of
> > "iothread lock".
> >=20
> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> > ---
> >   docs/devel/reset.rst             |  2 +-
> >   hw/display/qxl.h                 |  2 +-
> >   include/exec/cpu-common.h        |  2 +-
> >   include/exec/memory.h            |  4 ++--
> >   include/exec/ramblock.h          |  2 +-
> >   include/migration/register.h     |  8 ++++----
> >   target/arm/internals.h           |  4 ++--
> >   accel/tcg/cputlb.c               |  4 ++--
> >   accel/tcg/tcg-accel-ops-icount.c |  2 +-
> >   hw/remote/mpqemu-link.c          |  2 +-
> >   migration/block-dirty-bitmap.c   | 10 +++++-----
> >   migration/block.c                | 24 ++++++++++++------------
> >   migration/colo.c                 |  2 +-
> >   migration/migration.c            |  2 +-
> >   migration/ram.c                  |  4 ++--
> >   system/physmem.c                 |  6 +++---
> >   target/arm/helper.c              |  2 +-
> >   target/arm/tcg/m_helper.c        |  2 +-
> >   ui/spice-core.c                  |  2 +-
> >   util/rcu.c                       |  2 +-
> >   audio/coreaudio.m                |  4 ++--
> >   ui/cocoa.m                       |  6 +++---
> >   22 files changed, 49 insertions(+), 49 deletions(-)
>=20
>=20
> > diff --git a/include/exec/ramblock.h b/include/exec/ramblock.h
> > index 69c6a53902..a2bc0a345d 100644
> > --- a/include/exec/ramblock.h
> > +++ b/include/exec/ramblock.h
> > @@ -34,7 +34,7 @@ struct RAMBlock {
> >       ram_addr_t max_length;
> >       void (*resized)(const char*, uint64_t length, void *host);
> >       uint32_t flags;
> > -    /* Protected by iothread lock.  */
> > +    /* Protected by BQL.  */
>=20
> There is only one single BQL, so preferably:
>=20
> "by the BQL"
>=20
> >       char idstr[256];
> >       /* RCU-enabled, writes protected by the ramlist lock */
> >       QLIST_ENTRY(RAMBlock) next;
>=20
>=20
>=20
>=20
> > -/* Called with iothread lock taken.  */
> > +/* Called with BQL taken.  */
>=20
> "with the BQL" (other uses)

I will try to change these for v2. It's a pre-existing issue though
because there was only ever one "iothread lock" too.

Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmVo8lEACgkQnKSrs4Gr
c8inmQf8CHG08Gjf/Xbq1d507Sf6BOzXT42zcBsMdkGeul6WorzG8oHfr1SMVJgi
Fkex2GIeIAH3TjLTtiXePxp/7MXVrArmRxUltKaaZZAcD48aA8VXeOylS3pnZnU+
2cqukgamf6tOSIc43sr1ZX06y154qL7xAMQ8Xl0sUu3ERaJob0bzyfPKf2xgjnas
wVfsXUS7nEcRMJVi94oT9ST1WpJPbA9yDVyVX3LwtX0KECWoYIiN9or7jTlP2TnA
9/GXVa9I8R/eA0P2xLU2RpfNNNY9A9+MZvgHSU75u9C9jN4/CR59W8EjyBTl+/fA
KHaDBsL7B4GbwgONA8VDLiAbIN/g3Q==
=Ause
-----END PGP SIGNATURE-----

--ADMBXqBOX1KM7dkn--



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 20:37:34 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 20:37:34 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645137.1007034 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8nmv-0000Fj-MM; Thu, 30 Nov 2023 20:37:33 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645137.1007034; Thu, 30 Nov 2023 20: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 1r8nmv-0000Fc-Jg; Thu, 30 Nov 2023 20:37:33 +0000
Received: by outflank-mailman (input) for mailman id 645137;
 Thu, 30 Nov 2023 20: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=PSmm=HL=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8nmu-0008JW-CE
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 20:37:32 +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 4879d134-8fc0-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 21:37:31 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-342-EGzAGfmtP1Gfd_b9MrP_Pw-1; Thu,
 30 Nov 2023 15:37:25 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 5D6F62802292;
 Thu, 30 Nov 2023 20:37:21 +0000 (UTC)
Received: from localhost (unknown [10.39.192.46])
 by smtp.corp.redhat.com (Postfix) with ESMTP id DDF641C060BD;
 Thu, 30 Nov 2023 20:37: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: 4879d134-8fc0-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701376650;
	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=+iKxVT3Aoxm2ETYbHgSKpvUXyQ0XJ8rFvA2vgboplHU=;
	b=WoHDYjhkWvUNMfzjEK6PZ0HXews1WDTt9so/SenbNYE1HA+vZFbBw3YmZQcZ/QHjg0PjGb
	1gAkW1XaCsKosYmFfaxmPBGTDhz3bAhdgfoh2Ol8dZR/YjwqRH0rhBw6EGS3VNDm6d1zuR
	EwzU0fYTJUyWoFmJufYYS7eT80IXIFQ=
X-MC-Unique: EGzAGfmtP1Gfd_b9MrP_Pw-1
Date: Thu, 30 Nov 2023 15:37:18 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>
Cc: qemu-devel@nongnu.org, Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	=?iso-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>, Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>, Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>, Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
	qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
	Peter Xu <peterx@redhat.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?iso-8859-1?Q?C=E9dric?= Le Goater <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 6/6] Rename "QEMU global mutex" to "BQL" in comments and
 docs
Message-ID: <20231130203718.GD1184658@fedora>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-7-stefanha@redhat.com>
 <fcaff24d-0ced-4547-898f-a9b8bf49be45@linaro.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="rAX955JzN10OrQ/Q"
Content-Disposition: inline
In-Reply-To: <fcaff24d-0ced-4547-898f-a9b8bf49be45@linaro.org>
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.7


--rAX955JzN10OrQ/Q
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 30, 2023 at 02:49:48PM +0100, Philippe Mathieu-Daud=E9 wrote:
> On 29/11/23 22:26, Stefan Hajnoczi wrote:
> > The term "QEMU global mutex" is identical to the more widely used Big
> > QEMU Lock ("BQL"). Update the code comments and documentation to use
> > "BQL" instead of "QEMU global mutex".
> >=20
> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> > ---
> >   docs/devel/multi-thread-tcg.rst   |  7 +++----
> >   docs/devel/qapi-code-gen.rst      |  2 +-
> >   docs/devel/replay.rst             |  2 +-
> >   docs/devel/multiple-iothreads.txt | 16 ++++++++--------
> >   include/block/blockjob.h          |  6 +++---
> >   include/io/task.h                 |  2 +-
> >   include/qemu/coroutine-core.h     |  2 +-
> >   include/qemu/coroutine.h          |  2 +-
> >   hw/block/dataplane/virtio-blk.c   |  8 ++++----
> >   hw/block/virtio-blk.c             |  2 +-
> >   hw/scsi/virtio-scsi-dataplane.c   |  6 +++---
> >   net/tap.c                         |  2 +-
> >   12 files changed, 28 insertions(+), 29 deletions(-)
>=20
>=20
> > diff --git a/include/block/blockjob.h b/include/block/blockjob.h
> > index e594c10d23..b2bc7c04d6 100644
> > --- a/include/block/blockjob.h
> > +++ b/include/block/blockjob.h
> > @@ -54,7 +54,7 @@ typedef struct BlockJob {
> >       /**
> >        * Speed that was set with @block_job_set_speed.
> > -     * Always modified and read under QEMU global mutex (GLOBAL_STATE_=
CODE).
> > +     * Always modified and read under BQL (GLOBAL_STATE_CODE).
>=20
> "under the BQL"
>=20
> >        */
> >       int64_t speed;
> > @@ -66,7 +66,7 @@ typedef struct BlockJob {
> >       /**
> >        * Block other operations when block job is running.
> > -     * Always modified and read under QEMU global mutex (GLOBAL_STATE_=
CODE).
> > +     * Always modified and read under BQL (GLOBAL_STATE_CODE).
>=20
> Ditto,
>=20
> >        */
> >       Error *blocker;
> > @@ -89,7 +89,7 @@ typedef struct BlockJob {
> >       /**
> >        * BlockDriverStates that are involved in this block job.
> > -     * Always modified and read under QEMU global mutex (GLOBAL_STATE_=
CODE).
> > +     * Always modified and read under BQL (GLOBAL_STATE_CODE).
>=20
> Ditto.
>=20
> >        */
> >       GSList *nodes;
> >   } BlockJob;

Will fix in v2.

Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmVo8n4ACgkQnKSrs4Gr
c8hqqggAtuleOhegca1BHCQqICnBO4Olum6obo9K4B6RhmNaK9kIfqeO3kNFY9K0
xy7SGfNACel07j3Lttl6p+xHJOe1zaE7IV2o9jKqMK0J09vpTZSXq06ssaTJrYZn
p2hGeneWnTJU5O3qUpotRsBp19PdMJLL3o2V7fJ+FRmE+0bc1KTCfzaIDC0IWFQD
rc5d8Et49WwA+aKWhDsn3GeRlvfxIxk/TFHsfdkLSdpU/LVU9lP/ExNVLqwYTNl9
OChcXKr+5mvuONgflXwub4uzX8FbIS/HoPIIC7uBG5xE+gao+EYmNRXVFFHRC+CP
/rjI7iW5qJHCSKa8tj2XY0KwbTSlcQ==
=hoap
-----END PGP SIGNATURE-----

--rAX955JzN10OrQ/Q--



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 20:43:47 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 20:43:47 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645142.1007044 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8nso-0003Rc-AS; Thu, 30 Nov 2023 20:43:38 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645142.1007044; Thu, 30 Nov 2023 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 1r8nso-0003RV-79; Thu, 30 Nov 2023 20:43:38 +0000
Received: by outflank-mailman (input) for mailman id 645142;
 Thu, 30 Nov 2023 20: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=PSmm=HL=redhat.com=stefanha@srs-se1.protection.inumbo.net>)
 id 1r8nsn-0003RP-6E
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 20:43:37 +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 21971f5a-8fc1-11ee-98e4-6d05b1d4d9a1;
 Thu, 30 Nov 2023 21:43:36 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-488-YVQAL4REMrW4yB-eXJoi0A-1; Thu, 30 Nov 2023 15:43:32 -0500
Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com
 [10.11.54.8])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 13067828AC0;
 Thu, 30 Nov 2023 20:43:29 +0000 (UTC)
Received: from localhost (unknown [10.39.192.46])
 by smtp.corp.redhat.com (Postfix) with ESMTP id E5D84C0BDC0;
 Thu, 30 Nov 2023 20:43:26 +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: 21971f5a-8fc1-11ee-98e4-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701377014;
	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=cNAnS8dhB7e4TvDt7MCxzeAFcs3pq2oyNt9JbDuu0+0=;
	b=XQsADhPo9zzCyI4BfNmmG5MHeS7sHsgVA5kZfbtrXlyUw02+B6YwL6YBCgbQaWfqsnX/1Z
	t69HTR8FXzXonnxOzWr8yVu3RbJoqFpRFY40GJxIJ2BJC0tQ2NP3RR1s7psIC0XjU48ur1
	Ppo36AlZ/evJSjWH08ldvQjMQYky2wk=
X-MC-Unique: YVQAL4REMrW4yB-eXJoi0A-1
Date: Thu, 30 Nov 2023 15:43:25 -0500
From: Stefan Hajnoczi <stefanha@redhat.com>
To: Peter Xu <peterx@redhat.com>
Cc: qemu-devel@nongnu.org, Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	Daniel =?iso-8859-1?Q?P=2E_Berrang=E9?= <berrange@redhat.com>,
	qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	=?iso-8859-1?Q?Marc-Andr=E9?= Lureau <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>, Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>, Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>, Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
	qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alex =?iso-8859-1?Q?Benn=E9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?iso-8859-1?Q?C=E9dric?= Le Goater <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	Philippe =?iso-8859-1?Q?Mathieu-Daud=E9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to
 qemu_bql_lock()
Message-ID: <20231130204325.GE1184658@fedora>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-2-stefanha@redhat.com>
 <ZWjr0TKxihlpd1jm@x1n>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="SBmcOIqLLg4zQdMA"
Content-Disposition: inline
In-Reply-To: <ZWjr0TKxihlpd1jm@x1n>
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.8


--SBmcOIqLLg4zQdMA
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Thu, Nov 30, 2023 at 03:08:49PM -0500, Peter Xu wrote:
> On Wed, Nov 29, 2023 at 04:26:20PM -0500, Stefan Hajnoczi wrote:
> > The Big QEMU Lock (BQL) has many names and they are confusing. The
> > actual QemuMutex variable is called qemu_global_mutex but it's commonly
> > referred to as the BQL in discussions and some code comments. The
> > locking APIs, however, are called qemu_mutex_lock_iothread() and
> > qemu_mutex_unlock_iothread().
> >=20
> > The "iothread" name is historic and comes from when the main thread was
> > split into into KVM vcpu threads and the "iothread" (now called the main
> > loop thread). I have contributed to the confusion myself by introducing
> > a separate --object iothread, a separate concept unrelated to the BQL.
> >=20
> > The "iothread" name is no longer appropriate for the BQL. Rename the
> > locking APIs to:
> > - void qemu_bql_lock(void)
> > - void qemu_bql_unlock(void)
> > - bool qemu_bql_locked(void)
> >=20
> > There are more APIs with "iothread" in their names. Subsequent patches
> > will rename them. There are also comments and documentation that will be
> > updated in later patches.
> >=20
> > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
>=20
> Acked-by: Peter Xu <peterx@redhat.com>
>=20
> Two nickpicks:
>=20
>   - BQL contains "QEMU" as the 2nd character, so maybe easier to further
>     rename qemu_bql into bql_?

Philippe wondered whether the variable name should end with _mutex (or
_lock is common too), so an alternative might be big_qemu_lock. That's
imperfect because it doesn't start with the usual qemu_ prefix.
qemu_big_lock is better in that regard but inconsistent with our BQL
abbreviation.

I don't like putting an underscore at the end. It's unusual and would
make me wonder what that means.

Naming is hard, but please discuss and I'm open to change to BQL
variable's name to whatever we all agree on.

>=20
>   - Could we keep the full spell of BQL at some places, so people can sti=
ll
>     reference it if not familiar?  IIUC most of the BQL helpers will root
>     back to the major three functions (_lock, _unlock, _locked), perhaps
>     add a comment of "BQL stands for..." over these three functions as
>     comment?

Yes, I'll update the doc comments to say "Big QEMU Lock (BQL)" for each
of these functions.

Stefan

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

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

iQEzBAEBCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmVo8+0ACgkQnKSrs4Gr
c8jJmAf9E8P/Xu7G6FqCGvOsGt/mlsqbLE31vNsiYxVDEuJJ4a39lBYM8XOY3zUI
Gg064yxhG8tJGG9m/NXlySw6Sspev3/nD4NPnrVvUGbS7OGjFL9L4oeHzgeK/ude
U2mtVSBxhVHvx08ya0nKtF3i0ghiSWa+/X83V03smz5ZuMNU1ZXTAzSCp54dwQCH
nO4Q4Y7nQxE57jSy8rB5HTwxFpmfjfXlzYpF+3rYGj+pjy7vOEuD8jdGBZ3+ts9x
Cca0JUsQNEHbcUesyE4ToH5KQHOFUQKalbc+knFcT8JuoGXX3MwuS4mp22wi7Gv6
LDSh2bymbDqhY4xQU5BomaihozS0ww==
=QeIi
-----END PGP SIGNATURE-----

--SBmcOIqLLg4zQdMA--



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 20:56:55 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 20:56:55 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645146.1007054 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8o5X-000132-Dr; Thu, 30 Nov 2023 20:56:47 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645146.1007054; Thu, 30 Nov 2023 20:56: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 1r8o5X-00012v-9M; Thu, 30 Nov 2023 20:56:47 +0000
Received: by outflank-mailman (input) for mailman id 645146;
 Thu, 30 Nov 2023 20:56: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=k41O=HL=redhat.com=peterx@srs-se1.protection.inumbo.net>)
 id 1r8o5V-00012p-KR
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 20:56:45 +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 f6e5a95d-8fc2-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 21:56:43 +0100 (CET)
Received: from mail-qv1-f72.google.com (mail-qv1-f72.google.com
 [209.85.219.72]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-352-NtYf5c-bOvuDPDpZ4KOM1w-1; Thu, 30 Nov 2023 15:56:40 -0500
Received: by mail-qv1-f72.google.com with SMTP id
 6a1803df08f44-67a1f7b4a0fso3396206d6.1
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 12:56:40 -0800 (PST)
Received: from x1n (cpe688f2e2cb7c3-cm688f2e2cb7c0.cpe.net.cable.rogers.com.
 [99.254.121.117]) by smtp.gmail.com with ESMTPSA id
 y10-20020a0cc54a000000b0067835abc38bsm811386qvi.129.2023.11.30.12.56.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 30 Nov 2023 12:56:39 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: f6e5a95d-8fc2-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701377802;
	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=CvBa0sQTQ4iydX+WLgMreuODjjAkBlkycz9lfLxb2yo=;
	b=go4JouXgP/qYR0pqbpuiwCswEGdsF9/BFXEkQoDQVk+eFSzVe2FzADGiJXn+w6Cw7B5BQq
	G1U2lRZFN6XBgFG/XtD6WNhsvB1OWchvenC7wnqDIa9FdBKdUpIAsad52JQvXil46gR3hd
	MplBgH/IAzkCjZBbgEthJX/wCTgXT4o=
X-MC-Unique: NtYf5c-bOvuDPDpZ4KOM1w-1
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701377800; x=1701982600;
        h=in-reply-to:content-disposition:mime-version:references:message-id
         :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date
         :message-id:reply-to;
        bh=CvBa0sQTQ4iydX+WLgMreuODjjAkBlkycz9lfLxb2yo=;
        b=aQWMQdkEXWqmaXiDLjCuwfDbG0b9np23sZA1nHWH7NjhIust35EGhIpK5OkkLeI3B7
         zIv1X3n8H+2jy8ynflDl3lf5AIDdHhiu90cTeqUVNpUEP195FW0yDkbF9rnTSo5jx8ny
         zUIpfph1BSS/Hl90J6uqdcdyVGRlha+wr8svFEQxI+sZXvdWd3CpAGJymwLjq2pzTgm3
         IhD4mvWJbPTa2zwbU0uokHQZJGNFolEH4Akd99FxwJfK5xk3xTp47P4qoACdxxw1rZy8
         fVB+3yooJUntgLLjQTzT5yT5wlVbkl73K5XafMTBKwh5rPioZUwzqrFklmL/JnRArFJj
         /mHQ==
X-Gm-Message-State: AOJu0Yx96uCgYJi4+WxaNx/ettwsChrExApngoDFQWD5+MQvAlG+p4Lb
	LkSf1hvzFcsTz6mCjBaU0LepsKsAzlI1H+XCDzIDD0cp7ogh5gZ6OIzGeNtLA0k5HrCS6ti6qx9
	5ShANptxCJXm6cYbwlEw4Qjc5jxE=
X-Received: by 2002:ad4:5246:0:b0:67a:1c70:115e with SMTP id s6-20020ad45246000000b0067a1c70115emr20447936qvq.1.1701377800282;
        Thu, 30 Nov 2023 12:56:40 -0800 (PST)
X-Google-Smtp-Source: AGHT+IFZFruQQTFBL/xGKczOZd90VtaWOUXKwFyQD2ApNFiLcB8OZlzG0+liCbF3N/eQ9eEuKWmncA==
X-Received: by 2002:ad4:5246:0:b0:67a:1c70:115e with SMTP id s6-20020ad45246000000b0067a1c70115emr20447887qvq.1.1701377799939;
        Thu, 30 Nov 2023 12:56:39 -0800 (PST)
Date: Thu, 30 Nov 2023 15:56:32 -0500
From: Peter Xu <peterx@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Jean-Christophe Dubois <jcd@tribudubois.net>,
	Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org,
	Song Gao <gaosong@loongson.cn>,
	Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,
	Thomas Huth <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>,
	Marcelo Tosatti <mtosatti@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Andrey Smirnov <andrew.smirnov@gmail.com>,
	Peter Maydell <peter.maydell@linaro.org>,
	Kevin Wolf <kwolf@redhat.com>, Ilya Leoshkevich <iii@linux.ibm.com>,
	Artyom Tarasenko <atar4qemu@gmail.com>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Alistair Francis <alistair.francis@wdc.com>,
	Paul Durrant <paul@xen.org>,
	Jagannathan Raman <jag.raman@oracle.com>,
	Juan Quintela <quintela@redhat.com>,
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>,
	qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>,
	Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz <hreitz@redhat.com>,
	=?utf-8?Q?Marc-Andr=C3=A9?= Lureau <marcandre.lureau@redhat.com>,
	BALATON Zoltan <balaton@eik.bme.hu>,
	Daniel Henrique Barboza <danielhb413@gmail.com>,
	Elena Ufimtseva <elena.ufimtseva@oracle.com>,
	Aurelien Jarno <aurelien@aurel32.net>,
	Hailiang Zhang <zhanghailiang@xfusion.com>,
	Roman Bolshakov <rbolshakov@ddn.com>,
	Huacai Chen <chenhuacai@kernel.org>, Fam Zheng <fam@euphon.net>,
	Eric Blake <eblake@redhat.com>, Jiri Slaby <jslaby@suse.cz>,
	Alexander Graf <agraf@csgraf.de>,
	Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,
	Weiwei Li <liwei1518@gmail.com>, Eric Farman <farman@linux.ibm.com>,
	Stafford Horne <shorne@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Reinoud Zandijk <reinoud@netbsd.org>,
	Palmer Dabbelt <palmer@dabbelt.com>,
	Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org,
	Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org,
	Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>,
	John Snow <jsnow@redhat.com>,
	Sunil Muthuswamy <sunilmut@microsoft.com>,
	Michael Roth <michael.roth@amd.com>,
	David Gibson <david@gibson.dropbear.id.au>,
	"Michael S. Tsirkin" <mst@redhat.com>,
	Richard Henderson <richard.henderson@linaro.org>,
	Bin Meng <bin.meng@windriver.com>,
	Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org,
	qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>,
	Anthony Perard <anthony.perard@citrix.com>,
	Harsh Prateek Bora <harshpb@linux.ibm.com>,
	Alex =?utf-8?Q?Benn=C3=A9e?= <alex.bennee@linaro.org>,
	Eduardo Habkost <eduardo@habkost.net>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>,
	=?utf-8?Q?C=C3=A9dric?= Le Goater <clg@kaod.org>,
	qemu-ppc@nongnu.org,
	Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= <philmd@linaro.org>,
	Christian Borntraeger <borntraeger@linux.ibm.com>,
	Akihiko Odaki <akihiko.odaki@daynix.com>,
	Leonardo Bras <leobras@redhat.com>,
	Nicholas Piggin <npiggin@gmail.com>,
	Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to
 qemu_bql_lock()
Message-ID: <ZWj3AN5qBnEu8NcI@x1n>
References: <20231129212625.1051502-1-stefanha@redhat.com>
 <20231129212625.1051502-2-stefanha@redhat.com>
 <ZWjr0TKxihlpd1jm@x1n>
 <20231130204325.GE1184658@fedora>
MIME-Version: 1.0
In-Reply-To: <20231130204325.GE1184658@fedora>
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline

On Thu, Nov 30, 2023 at 03:43:25PM -0500, Stefan Hajnoczi wrote:
> On Thu, Nov 30, 2023 at 03:08:49PM -0500, Peter Xu wrote:
> > On Wed, Nov 29, 2023 at 04:26:20PM -0500, Stefan Hajnoczi wrote:
> > > The Big QEMU Lock (BQL) has many names and they are confusing. The
> > > actual QemuMutex variable is called qemu_global_mutex but it's commonly
> > > referred to as the BQL in discussions and some code comments. The
> > > locking APIs, however, are called qemu_mutex_lock_iothread() and
> > > qemu_mutex_unlock_iothread().
> > > 
> > > The "iothread" name is historic and comes from when the main thread was
> > > split into into KVM vcpu threads and the "iothread" (now called the main
> > > loop thread). I have contributed to the confusion myself by introducing
> > > a separate --object iothread, a separate concept unrelated to the BQL.
> > > 
> > > The "iothread" name is no longer appropriate for the BQL. Rename the
> > > locking APIs to:
> > > - void qemu_bql_lock(void)
> > > - void qemu_bql_unlock(void)
> > > - bool qemu_bql_locked(void)
> > > 
> > > There are more APIs with "iothread" in their names. Subsequent patches
> > > will rename them. There are also comments and documentation that will be
> > > updated in later patches.
> > > 
> > > Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> > 
> > Acked-by: Peter Xu <peterx@redhat.com>
> > 
> > Two nickpicks:
> > 
> >   - BQL contains "QEMU" as the 2nd character, so maybe easier to further
> >     rename qemu_bql into bql_?
> 
> Philippe wondered whether the variable name should end with _mutex (or
> _lock is common too), so an alternative might be big_qemu_lock. That's

IMHO mutex isn't important in this context, but an implementation detail of
the "lock" as an abstract concept.

For example, we won't need to rename it again then if the impl changes,
e.g. using pure futex or a rwlock replacement.  When that happens we don't
need to change all call sites again.

(never really meant to change the lock impl, just an example.. :)

KVM actually has that example of KVM_MMU_LOCK() macro taking as the rwlock
write lock when the spinlock is replaced with rwlock, while it'll keep to
be the spinlock "lock()" when !KVM_HAVE_MMU_RWLOCK.

> imperfect because it doesn't start with the usual qemu_ prefix.
> qemu_big_lock is better in that regard but inconsistent with our BQL
> abbreviation.
> 
> I don't like putting an underscore at the end. It's unusual and would
> make me wonder what that means.

Ah, I meant replacing the "qemu_bql_" prefix with "bql_", as that contains
QEMU already, rather than making "_" at the end.  So they'll be bql_lock(),
bql_unlock(), bql_locked().

> 
> Naming is hard, but please discuss and I'm open to change to BQL
> variable's name to whatever we all agree on.

I'm pretty okay with qemu_bql_lock(), etc. too.  I prefer a tiny little bit
on bql_ over qemu_bql_ in this regard, but frankly they're all names good
enough to me.  The "qemu_" prefix can still be a good thing saying "this is
a qemu global function", even if contained inside "bql" itself.

> 
> > 
> >   - Could we keep the full spell of BQL at some places, so people can still
> >     reference it if not familiar?  IIUC most of the BQL helpers will root
> >     back to the major three functions (_lock, _unlock, _locked), perhaps
> >     add a comment of "BQL stands for..." over these three functions as
> >     comment?
> 
> Yes, I'll update the doc comments to say "Big QEMU Lock (BQL)" for each
> of these functions.

Thanks!

-- 
Peter Xu



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 21:31:59 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 21:31:59 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645149.1007064 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8odT-0000lF-1a; Thu, 30 Nov 2023 21:31:51 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645149.1007064; Thu, 30 Nov 2023 21:31: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 1r8odS-0000l8-Ug; Thu, 30 Nov 2023 21:31:50 +0000
Received: by outflank-mailman (input) for mailman id 645149;
 Thu, 30 Nov 2023 21:31: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8odS-0000l0-0i
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 21:31:50 +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 ddb36d0f-8fc7-11ee-98e5-6d05b1d4d9a1;
 Thu, 30 Nov 2023 22:31:48 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-487-q1IMUd4SMcOPNw2L8mcRsA-1; Thu, 30 Nov 2023 16:31:43 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id C7125824021;
 Thu, 30 Nov 2023 21:31:42 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 540E81C060AE;
 Thu, 30 Nov 2023 21:31:39 +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: ddb36d0f-8fc7-11ee-98e5-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701379907;
	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=V/gvXfT47TeQd2gZo/6v34/l0zAaPUjzItBRjKteQxw=;
	b=TV5tquf6ZoXo207BFz4Qjby+yJn1Pui7Fn+5mVyAkydC0XR6b50/L4K5hYVjEyKZBdzg/p
	+SOeyhAzELkQZvW4djNpkROmaqchvCUDIhIC2gtFNT6Y3tLVRH3hCSMwaCOmYSPzolaRO7
	rRKTvdyDVRGWem/CvUUBFFiANoeVMFo=
X-MC-Unique: q1IMUd4SMcOPNw2L8mcRsA-1
Date: Thu, 30 Nov 2023 15:31:37 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 05/12] block: remove AioContext locking
Message-ID: <haqk3uaxn25it4myxsockwyqxarroyqpzpticpxfdzld4qwewh@edcz4bipmqlw>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-6-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-6-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.7

On Wed, Nov 29, 2023 at 02:55:46PM -0500, Stefan Hajnoczi wrote:
> This is the big patch that removes
> aio_context_acquire()/aio_context_release() from the block layer and
> affected block layer users.
> 
> There isn't a clean way to split this patch and the reviewers are likely
> the same group of people, so I decided to do it in one patch.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---

> +++ b/block.c
> @@ -7585,29 +7433,12 @@ void coroutine_fn bdrv_co_leave(BlockDriverState *bs, AioContext *old_ctx)
>  
>  void coroutine_fn bdrv_co_lock(BlockDriverState *bs)
>  {
> -    AioContext *ctx = bdrv_get_aio_context(bs);
> -
> -    /* In the main thread, bs->aio_context won't change concurrently */
> -    assert(qemu_get_current_aio_context() == qemu_get_aio_context());
> -
> -    /*
> -     * We're in coroutine context, so we already hold the lock of the main
> -     * loop AioContext. Don't lock it twice to avoid deadlocks.
> -     */
> -    assert(qemu_in_coroutine());

Is this assertion worth keeping in the short term?...

> -    if (ctx != qemu_get_aio_context()) {
> -        aio_context_acquire(ctx);
> -    }
> +    /* TODO removed in next patch */
>  }

...I guess I'll see in the next patch.

>  
>  void coroutine_fn bdrv_co_unlock(BlockDriverState *bs)
>  {
> -    AioContext *ctx = bdrv_get_aio_context(bs);
> -
> -    assert(qemu_in_coroutine());
> -    if (ctx != qemu_get_aio_context()) {
> -        aio_context_release(ctx);
> -    }
> +    /* TODO removed in next patch */
>  }

Same comment.

> +++ b/blockdev.c
> @@ -1395,7 +1352,6 @@ static void external_snapshot_action(TransactionAction *action,
>      /* File name of the new image (for 'blockdev-snapshot-sync') */
>      const char *new_image_file;
>      ExternalSnapshotState *state = g_new0(ExternalSnapshotState, 1);
> -    AioContext *aio_context;
>      uint64_t perm, shared;
>  
>      /* TODO We'll eventually have to take a writer lock in this function */

I'm guessing removal of the locking gets us one step closer to
implementing this TODO at a later time?  Or is it now a stale comment?
Either way, it doesn't affect this patch.

> +++ b/migration/block.c
> @@ -270,7 +270,6 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
>  
>      if (bmds->shared_base) {
>          qemu_mutex_lock_iothread();
> -        aio_context_acquire(blk_get_aio_context(bb));
...
> @@ -313,22 +311,10 @@ static int mig_save_device_bulk(QEMUFile *f, BlkMigDevState *bmds)
>      block_mig_state.submitted++;
>      blk_mig_unlock();
>  
> -    /* We do not know if bs is under the main thread (and thus does
> -     * not acquire the AioContext when doing AIO) or rather under
> -     * dataplane.  Thus acquire both the iothread mutex and the
> -     * AioContext.
> -     *
> -     * This is ugly and will disappear when we make bdrv_* thread-safe,
> -     * without the need to acquire the AioContext.
> -     */
> -    qemu_mutex_lock_iothread();
> -    aio_context_acquire(blk_get_aio_context(bmds->blk));

Will conflict, but with trivial resolution, with your other thread
renaming things to qemu_bql_lock().


> +++ b/tests/unit/test-blockjob.c

> -static void test_complete_in_standby(void)
> -{

> @@ -531,13 +402,5 @@ int main(int argc, char **argv)
>      g_test_add_func("/blockjob/cancel/standby", test_cancel_standby);
>      g_test_add_func("/blockjob/cancel/pending", test_cancel_pending);
>      g_test_add_func("/blockjob/cancel/concluded", test_cancel_concluded);
> -
> -    /*
> -     * This test is flaky and sometimes fails in CI and otherwise:
> -     * don't run unless user opts in via environment variable.
> -     */
> -    if (getenv("QEMU_TEST_FLAKY_TESTS")) {
> -        g_test_add_func("/blockjob/complete_in_standby", test_complete_in_standby);
> -    }

Looks like you ripped out this entire test, because it is no longer
viable.  I might have mentioned it in the commit message, or squashed
the removal of this test into the earlier 02/12 patch.

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 21:36:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 21:36:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645153.1007073 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8oiG-0002Ir-Ng; Thu, 30 Nov 2023 21:36:48 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645153.1007073; Thu, 30 Nov 2023 21:36: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 1r8oiG-0002Ik-Kr; Thu, 30 Nov 2023 21:36:48 +0000
Received: by outflank-mailman (input) for mailman id 645153;
 Thu, 30 Nov 2023 21:36: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8oiF-0002Ie-1s
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 21:36:47 +0000
Received: from us-smtp-delivery-124.mimecast.com
 (us-smtp-delivery-124.mimecast.com [170.10.129.124])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id 8e6ce67a-8fc8-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 22:36:44 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-35-ID1dLT8AOhm8WZQtPE76jQ-1; Thu, 30 Nov 2023 16:36:41 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 01CF1101A590;
 Thu, 30 Nov 2023 21:36:40 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 26F4210EA5;
 Thu, 30 Nov 2023 21:36: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: 8e6ce67a-8fc8-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701380203;
	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=G4xx48IrfYR8HpVbqif8dwMq0RcgNVMpzDKp6Wh2oMc=;
	b=Ppk2GyhcTqIh8Qk6A/OI2g1vWXfe8uQQH8nEUO4jq9v0lIm+L9voD4GT/StzgYG62gRhfJ
	pDKYPOCTey1C1sZ83fxNzSSpKoDCmI75727HCVyGwqIF3OfrXwyJp5R6qfxTgvrTtLb2gW
	Qyik1ja6FroDO/NYEkSa+e6rRtSAQTk=
X-MC-Unique: ID1dLT8AOhm8WZQtPE76jQ-1
Date: Thu, 30 Nov 2023 15:36:35 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 06/12] scsi: remove AioContext locking
Message-ID: <grmekw2utdinnwm6vf5yzrehjqmbgfcnouzefeqgrrolyf2dw2@ngzxictk7zgn>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-7-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-7-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5

On Wed, Nov 29, 2023 at 02:55:47PM -0500, Stefan Hajnoczi wrote:
> The AioContext lock no longer has any effect. Remove it.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  include/hw/virtio/virtio-scsi.h | 14 --------------
>  hw/scsi/scsi-bus.c              |  2 --
>  hw/scsi/scsi-disk.c             | 28 ++++------------------------
>  hw/scsi/virtio-scsi.c           | 18 ------------------
>  4 files changed, 4 insertions(+), 58 deletions(-)
>

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 21:40:06 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 21:40:06 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645156.1007084 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8olG-000456-6d; Thu, 30 Nov 2023 21:39:54 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645156.1007084; Thu, 30 Nov 2023 21:39: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 1r8olG-00044z-2f; Thu, 30 Nov 2023 21:39:54 +0000
Received: by outflank-mailman (input) for mailman id 645156;
 Thu, 30 Nov 2023 21:39: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8olE-00040i-DQ
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 21:39:52 +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 fd2b9ce8-8fc8-11ee-98e5-6d05b1d4d9a1;
 Thu, 30 Nov 2023 22:39:50 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-408-HAPuHUsKOV6zC7w_7qgJMg-1; Thu,
 30 Nov 2023 16:39:46 -0500
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.rdu2.redhat.com
 [10.11.54.7])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 9BA1E3C000A9;
 Thu, 30 Nov 2023 21:39:45 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id C8DEB1C060AE;
 Thu, 30 Nov 2023 21:39: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: fd2b9ce8-8fc8-11ee-98e5-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701380389;
	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=yJx77l9Qm/nY+elC71n/KnbdxOWlhoVS1buECAHBREs=;
	b=LFs3gQsnX48M6RwN9XBt7RhQN+Hg6oEP6rb9Fd8EMyKFFNdJSqyReFRQv7I7NUzx+XULwW
	+Jy3o/CVjC/ziPk184/L/DTCQ4IVW6/9Wpg7n/xPSAdW0a4yN6ToX8midsH/GsZN3/wt6V
	oz4slgKnvjEp3lfa9aR2EfegAcj1Pwk=
X-MC-Unique: HAPuHUsKOV6zC7w_7qgJMg-1
Date: Thu, 30 Nov 2023 15:39:41 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 07/12] aio-wait: draw equivalence between
 AIO_WAIT_WHILE() and AIO_WAIT_WHILE_UNLOCKED()
Message-ID: <y6j7swfr36mmzdoq4ajc3ptmqf5kamptc3wfdyjcuxkk5lbwxk@uqmvf674x7p7>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-8-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-8-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.7

On Wed, Nov 29, 2023 at 02:55:48PM -0500, Stefan Hajnoczi wrote:
> Now that the AioContext lock no longer exists, AIO_WAIT_WHILE() and
> AIO_WAIT_WHILE_UNLOCKED() are equivalent.
> 
> A future patch will get rid of AIO_WAIT_WHILE_UNLOCKED().
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  include/block/aio-wait.h | 16 ++++------------
>  1 file changed, 4 insertions(+), 12 deletions(-)
>

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 21:41:16 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 21:41:16 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645158.1007094 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8omZ-0005q7-F9; Thu, 30 Nov 2023 21:41:15 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645158.1007094; Thu, 30 Nov 2023 21: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 1r8omZ-0005q0-CF; Thu, 30 Nov 2023 21:41:15 +0000
Received: by outflank-mailman (input) for mailman id 645158;
 Thu, 30 Nov 2023 21:41: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=vXWe=HL=eik.bme.hu=balaton@srs-se1.protection.inumbo.net>)
 id 1r8omX-0005ob-Ux
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 21:41:13 +0000
Received: from zero.eik.bme.hu (zero.eik.bme.hu [152.66.115.2])
 by se1-gles-sth1.inumbo.com (Halon) with ESMTPS
 id 2e238d64-8fc9-11ee-98e5-6d05b1d4d9a1;
 Thu, 30 Nov 2023 22:41:12 +0100 (CET)
Received: from zero.eik.bme.hu (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id 4629E75A4C4;
 Thu, 30 Nov 2023 22:41:11 +0100 (CET)
Received: from zero.eik.bme.hu ([127.0.0.1])
 by zero.eik.bme.hu (zero.eik.bme.hu [127.0.0.1]) (amavisd-new, port 10028)
 with ESMTP id wx21V_Q-LTE0; Thu, 30 Nov 2023 22:41:09 +0100 (CET)
Received: by zero.eik.bme.hu (Postfix, from userid 432)
 id 4F947756094; Thu, 30 Nov 2023 22:41:09 +0100 (CET)
Received: from localhost (localhost [127.0.0.1])
 by zero.eik.bme.hu (Postfix) with ESMTP id 4B666756066;
 Thu, 30 Nov 2023 22:41:09 +0100 (CET)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: 2e238d64-8fc9-11ee-98e5-6d05b1d4d9a1
X-Virus-Scanned: amavisd-new at eik.bme.hu
Date: Thu, 30 Nov 2023 22:41:09 +0100 (CET)
From: BALATON Zoltan <balaton@eik.bme.hu>
To: Stefan Hajnoczi <stefanha@redhat.com>
cc: Peter Xu <peterx@redhat.com>, qemu-devel@nongnu.org, 
    Jean-Christophe Dubois <jcd@tribudubois.net>, 
    Fabiano Rosas <farosas@suse.de>, qemu-s390x@nongnu.org, 
    Song Gao <gaosong@loongson.cn>, 
    Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, 
    Thomas Huth <thuth@redhat.com>, Hyman Huang <yong.huang@smartx.com>, 
    Marcelo Tosatti <mtosatti@redhat.com>, 
    David Woodhouse <dwmw2@infradead.org>, 
    Andrey Smirnov <andrew.smirnov@gmail.com>, 
    Peter Maydell <peter.maydell@linaro.org>, Kevin Wolf <kwolf@redhat.com>, 
    Ilya Leoshkevich <iii@linux.ibm.com>, 
    Artyom Tarasenko <atar4qemu@gmail.com>, 
    Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, 
    Max Filippov <jcmvbkbc@gmail.com>, 
    Alistair Francis <alistair.francis@wdc.com>, Paul Durrant <paul@xen.org>, 
    Jagannathan Raman <jag.raman@oracle.com>, 
    Juan Quintela <quintela@redhat.com>, 
    =?ISO-8859-15?Q?Daniel_P=2E_Berrang=E9?= <berrange@redhat.com>, 
    qemu-arm@nongnu.org, Jason Wang <jasowang@redhat.com>, 
    Gerd Hoffmann <kraxel@redhat.com>, Hanna Reitz <hreitz@redhat.com>, 
    =?ISO-8859-15?Q?Marc-Andr=E9_Lureau?= <marcandre.lureau@redhat.com>, 
    Daniel Henrique Barboza <danielhb413@gmail.com>, 
    Elena Ufimtseva <elena.ufimtseva@oracle.com>, 
    Aurelien Jarno <aurelien@aurel32.net>, 
    Hailiang Zhang <zhanghailiang@xfusion.com>, 
    Roman Bolshakov <rbolshakov@ddn.com>, Huacai Chen <chenhuacai@kernel.org>, 
    Fam Zheng <fam@euphon.net>, Eric Blake <eblake@redhat.com>, 
    Jiri Slaby <jslaby@suse.cz>, Alexander Graf <agraf@csgraf.de>, 
    Liu Zhiwei <zhiwei_liu@linux.alibaba.com>, Weiwei Li <liwei1518@gmail.com>, 
    Eric Farman <farman@linux.ibm.com>, Stafford Horne <shorne@gmail.com>, 
    David Hildenbrand <david@redhat.com>, 
    Markus Armbruster <armbru@redhat.com>, 
    Reinoud Zandijk <reinoud@netbsd.org>, Palmer Dabbelt <palmer@dabbelt.com>, 
    Cameron Esfahani <dirty@apple.com>, xen-devel@lists.xenproject.org, 
    Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, qemu-riscv@nongnu.org, 
    Aleksandar Rikalo <aleksandar.rikalo@syrmia.com>, 
    John Snow <jsnow@redhat.com>, Sunil Muthuswamy <sunilmut@microsoft.com>, 
    Michael Roth <michael.roth@amd.com>, 
    David Gibson <david@gibson.dropbear.id.au>, 
    "Michael S. Tsirkin" <mst@redhat.com>, 
    Richard Henderson <richard.henderson@linaro.org>, 
    Bin Meng <bin.meng@windriver.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, kvm@vger.kernel.org, 
    qemu-block@nongnu.org, Halil Pasic <pasic@linux.ibm.com>, 
    Anthony Perard <anthony.perard@citrix.com>, 
    Harsh Prateek Bora <harshpb@linux.ibm.com>, 
    =?ISO-8859-15?Q?Alex_Benn=E9e?= <alex.bennee@linaro.org>, 
    Eduardo Habkost <eduardo@habkost.net>, Paolo Bonzini <pbonzini@redhat.com>, 
    Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, 
    =?ISO-8859-15?Q?C=E9dric_Le_Goater?= <clg@kaod.org>, qemu-ppc@nongnu.org, 
    =?ISO-8859-15?Q?Philippe_Mathieu-Daud=E9?= <philmd@linaro.org>, 
    Christian Borntraeger <borntraeger@linux.ibm.com>, 
    Akihiko Odaki <akihiko.odaki@daynix.com>, 
    Leonardo Bras <leobras@redhat.com>, Nicholas Piggin <npiggin@gmail.com>, 
    Jiaxun Yang <jiaxun.yang@flygoat.com>
Subject: Re: [PATCH 1/6] system/cpus: rename qemu_mutex_lock_iothread() to
 qemu_bql_lock()
In-Reply-To: <20231130204325.GE1184658@fedora>
Message-ID: <2e5f3da3-958e-fed3-5e15-0e9aa09159e1@eik.bme.hu>
References: <20231129212625.1051502-1-stefanha@redhat.com> <20231129212625.1051502-2-stefanha@redhat.com> <ZWjr0TKxihlpd1jm@x1n> <20231130204325.GE1184658@fedora>
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed

On Thu, 30 Nov 2023, Stefan Hajnoczi wrote:

> On Thu, Nov 30, 2023 at 03:08:49PM -0500, Peter Xu wrote:
>> On Wed, Nov 29, 2023 at 04:26:20PM -0500, Stefan Hajnoczi wrote:
>>> The Big QEMU Lock (BQL) has many names and they are confusing. The
>>> actual QemuMutex variable is called qemu_global_mutex but it's commonly
>>> referred to as the BQL in discussions and some code comments. The
>>> locking APIs, however, are called qemu_mutex_lock_iothread() and
>>> qemu_mutex_unlock_iothread().
>>>
>>> The "iothread" name is historic and comes from when the main thread was
>>> split into into KVM vcpu threads and the "iothread" (now called the main
>>> loop thread). I have contributed to the confusion myself by introducing
>>> a separate --object iothread, a separate concept unrelated to the BQL.
>>>
>>> The "iothread" name is no longer appropriate for the BQL. Rename the
>>> locking APIs to:
>>> - void qemu_bql_lock(void)
>>> - void qemu_bql_unlock(void)
>>> - bool qemu_bql_locked(void)
>>>
>>> There are more APIs with "iothread" in their names. Subsequent patches
>>> will rename them. There are also comments and documentation that will be
>>> updated in later patches.
>>>
>>> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
>>
>> Acked-by: Peter Xu <peterx@redhat.com>
>>
>> Two nickpicks:
>>
>>   - BQL contains "QEMU" as the 2nd character, so maybe easier to further
>>     rename qemu_bql into bql_?
>
> Philippe wondered whether the variable name should end with _mutex (or
> _lock is common too), so an alternative might be big_qemu_lock. That's
> imperfect because it doesn't start with the usual qemu_ prefix.
> qemu_big_lock is better in that regard but inconsistent with our BQL
> abbreviation.

BQL isn't very specific for those unfamiliar with the code but it's short 
and already used and known by people so I'm OK with qemu_bql with some 
comments and docs explainig here and there what bql stands for should be 
enough for new people to quickly find out. If we want to be more verbose 
how about "qemu_global_mutex" which is self describing but longer and does 
not resemble BQL so then comments may be needed to explain this is what 
was called BQL as well. I don't mind either way though.

Regards,
BALATON Zoltan

> I don't like putting an underscore at the end. It's unusual and would
> make me wonder what that means.
>
> Naming is hard, but please discuss and I'm open to change to BQL
> variable's name to whatever we all agree on.
>
>>
>>   - Could we keep the full spell of BQL at some places, so people can still
>>     reference it if not familiar?  IIUC most of the BQL helpers will root
>>     back to the major three functions (_lock, _unlock, _locked), perhaps
>>     add a comment of "BQL stands for..." over these three functions as
>>     comment?
>
> Yes, I'll update the doc comments to say "Big QEMU Lock (BQL)" for each
> of these functions.
>
> Stefan
>


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 21:43:09 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 21:43:09 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645160.1007103 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8ooM-0007BD-PS; Thu, 30 Nov 2023 21:43:06 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645160.1007103; Thu, 30 Nov 2023 21:43: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 1r8ooM-0007B6-Mu; Thu, 30 Nov 2023 21:43:06 +0000
Received: by outflank-mailman (input) for mailman id 645160;
 Thu, 30 Nov 2023 21: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8ooK-0007Aq-N5
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 21:43:04 +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 700535fe-8fc9-11ee-98e5-6d05b1d4d9a1;
 Thu, 30 Nov 2023 22:43:03 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-351-hUhmXwXxNcmZVg8thDKODw-1; Thu, 30 Nov 2023 16:42:59 -0500
Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com
 [10.11.54.5])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3DC1C811E7B;
 Thu, 30 Nov 2023 21:42:58 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id B96D210EA5;
 Thu, 30 Nov 2023 21:42: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: 700535fe-8fc9-11ee-98e5-6d05b1d4d9a1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701380582;
	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=MD69coIBlG9VqDYZ0wk5OAoCPvH1GgbHq/HJWPTguzs=;
	b=MR01+E3TAERnVS1O4MI7Cs14skM0ItGTeXgFl7wBTGFBbtuCzBxgsbT9SH9j2KtjIV7+wW
	Q6p77CRUvTcYTjXr+ifHKS1ruBf7kJlclOfQLNoKnqMbLQHWpG9l86TXp+nXOCQ31JD+U9
	sYUGzWV5zZssEG2//XWl/EwT3EoNG/A=
X-MC-Unique: hUhmXwXxNcmZVg8thDKODw-1
Date: Thu, 30 Nov 2023 15:42:53 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 08/12] aio: remove
 aio_context_acquire()/aio_context_release() API
Message-ID: <w4gmlvtpq3makf5selkqgqjn4qnazxcocsd3v2jv4hmq6336bb@7ojdiyvbsjlk>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-9-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-9-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.5

On Wed, Nov 29, 2023 at 02:55:49PM -0500, Stefan Hajnoczi wrote:
> Delete these functions because nothing calls these functions anymore.
> 
> I introduced these APIs in commit 98563fc3ec44 ("aio: add
> aio_context_acquire() and aio_context_release()") in 2014. It's with a
> sigh of relief that I delete these APIs almost 10 years later.
> 
> Thanks to Paolo Bonzini's vision for multi-queue QEMU, we got an
> understanding of where the code needed to go in order to remove the
> limitations that the original dataplane and the IOThread/AioContext
> approach that followed it.
> 
> Emanuele Giuseppe Esposito had the splendid determination to convert
> large parts of the codebase so that they no longer needed the AioContext
> lock. This was a painstaking process, both in the actual code changes
> required and the iterations of code review that Emanuele eeked out of

s/eeked/eked/

> Kevin and me over many months.
> 
> Kevin Wolf tackled multitudes of graph locking conversions to protect
> in-flight I/O from run-time changes to the block graph as well as the
> clang Thread Safety Analysis annotations that allow the compiler to
> check whether the graph lock is being used correctly.
> 
> And me, well, I'm just here to add some pizzazz to the QEMU multi-queue
> block layer :). Thank you to everyone who helped with this effort,
> including Eric Blake, code reviewer extraordinaire, and others who I've
> forgotten to mention.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  include/block/aio.h | 17 -----------------
>  util/async.c        | 10 ----------
>  2 files changed, 27 deletions(-)
>

Yay!

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 22:03:53 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 22:03:53 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645167.1007114 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8p8J-0007vx-Hz; Thu, 30 Nov 2023 22:03:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645167.1007114; Thu, 30 Nov 2023 22:03: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 1r8p8J-0007vq-E5; Thu, 30 Nov 2023 22:03:43 +0000
Received: by outflank-mailman (input) for mailman id 645167;
 Thu, 30 Nov 2023 22:03: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 1r8p8I-0007vg-Cd; Thu, 30 Nov 2023 22:03: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 1r8p8I-0000ls-4S; Thu, 30 Nov 2023 22:03: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 1r8p8H-0004Uw-Mn; Thu, 30 Nov 2023 22:03:41 +0000
Received: from osstest by osstest.test-lab.xenproject.org with local (Exim
 4.92) (envelope-from <osstest-admin@xenproject.org>)
 id 1r8p8H-0007Ua-ML; Thu, 30 Nov 2023 22:03: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=CLO6wMPjl5zSFhv9PkmBqgYxS+WbOvAZaYX8ga9VSM8=; b=NE54kX+Mklbcv8kkCeLMq8gmJO
	rvMRbezExEFDMTPEjBvR+VZN/OZIYRXEekIOTa9vXW1sF1LVZNQQick9dpi6VR1mPHKO1uXDkWOUF
	Lcup731UypdgezW+I3MNuBk/CYnScSSxGx1l+ayFvvzTseuKge+afdFr70lgJZomzG2A=;
To: xen-devel@lists.xenproject.org
Message-ID: <osstest-183956-mainreport@xen.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
MIME-Version: 1.0
Subject: [ovmf test] 183956: all pass - PUSHED
X-Osstest-Versions-This:
    ovmf=26d484d0867b03ebd8a1ecdd9895f17e96732503
X-Osstest-Versions-That:
    ovmf=b4f8c75e316e74750d5806b8ebf2bd11a3d62626
From: osstest service owner <osstest-admin@xenproject.org>
Date: Thu, 30 Nov 2023 22:03:41 +0000

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

Perfect :-)
All tests in this flight passed as required
version targeted for testing:
 ovmf                 26d484d0867b03ebd8a1ecdd9895f17e96732503
baseline version:
 ovmf                 b4f8c75e316e74750d5806b8ebf2bd11a3d62626

Last test of basis   183946  2023-11-30 07:41:01 Z    0 days
Testing same since   183956  2023-11-30 19:44:47 Z    0 days    1 attempts

------------------------------------------------------------
People who touched revisions under test:
  Michael D Kinney <michael.d.kinney@intel.com>
  Michael Kubacki <michael.kubacki@microsoft.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
   b4f8c75e31..26d484d086  26d484d0867b03ebd8a1ecdd9895f17e96732503 -> xen-tested-master


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 22:28:08 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 22:28:08 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645173.1007123 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8pVp-00014R-Eg; Thu, 30 Nov 2023 22:28:01 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645173.1007123; Thu, 30 Nov 2023 22:28: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 1r8pVp-00013n-Bp; Thu, 30 Nov 2023 22:28:01 +0000
Received: by outflank-mailman (input) for mailman id 645173;
 Thu, 30 Nov 2023 22:28: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8pVp-00013C-1Y
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 22:28:01 +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 b6f0ddd9-8fcf-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 23:27:58 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 13D7BB84621;
 Thu, 30 Nov 2023 22:27:58 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 00B39C433C7;
 Thu, 30 Nov 2023 22:27: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: b6f0ddd9-8fcf-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701383277;
	bh=F281DB7xOndLaMDb9Xw74K249E/jyyggnnpA28gdFdo=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=FKMslYmSlVFcQ+5MAEBNtNPWi/1VlTTvEH2L77mNH+qzUYTpaRdAgZmswtvqYfFka
	 bQAaG9FdrtWosERJk+izOHt4qI9WtWpqAqD1CqzNGA5ZfOoKfCTq5kwQZbwfMOPfQN
	 O+5VTtgBpCTYOdNlwRp2c2muCQ99vMWtIqDOqLbfpkO2sx0u4c6UgF6Casah6KsqK+
	 lp8avOBryjaHnDP4xx8Fii2jf/xbgvPuT2YVDG5rztln2ZJBAkM89KyRTIlATrx7JJ
	 B2evxgmMz2a1FyzwwzMIfePH1mMmjjGJgalIgKL/QarMrcxWijFoJdRaxabAqyho/K
	 oQhgOpbmQrWLg==
Date: Thu, 30 Nov 2023 14:27:55 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Kelly Choi <kelly.choi@cloud.com>
cc: xen-devel@lists.xenproject.org, committers@xenproject.org
Subject: Re: INFORMAL VOTE REQUIRED - DOCUMENTATION WORDING
In-Reply-To: <CAO-mL=x3DntLhoKuaiWYjVqkQRqj=rdyZWmuH1aDjkmUbQchyA@mail.gmail.com>
Message-ID: <alpine.DEB.2.22.394.2311301426210.110490@ubuntu-linux-20-04-desktop>
References: <CAO-mL=x3DntLhoKuaiWYjVqkQRqj=rdyZWmuH1aDjkmUbQchyA@mail.gmail.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: multipart/mixed; BOUNDARY="8323329-1646724806-1701383194=:110490"
Content-ID: <alpine.DEB.2.22.394.2311301427010.110490@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-1646724806-1701383194=:110490
Content-Type: text/plain; CHARSET=UTF-8
Content-Transfer-Encoding: 8BIT
Content-ID: <alpine.DEB.2.22.394.2311301427011.110490@ubuntu-linux-20-04-desktop>

Hi all,

This vote is in the context of this thread:
https://marc.info/?l=xen-devel&m=169213351810075


On Thu, 30 Nov 2023, Kelly Choi wrote:
> Hi all, 
> There have been a few discussions about how we use documentation wording within the community. Whilst there are differences in opinions and
> perceptions of the definition, it would be helpful to see a wider consensus of how we feel. 
> 
> Discussion: Should we use the term 'broken' in our documentation, or do you think an alternative wording would be better? If you agree or
> disagree, please vote as this will impact future discussions. 
> 
> I have purposely made the vote between two options to help us move in a forward direction.
> 
> PLEASE VOTE HERE. Deadline 15th December 2023.
> Your name will be required but will be private. If you answer anonymously, your vote will not count. This is to ensure it is fair and each
> person gets one vote. 
> 
> As an open-source project, we need to come to a common ground, which sometimes means we may not personally agree. To make this fair, please
> note the final results will be used to determine our future actions within the community. 
> 
> If the majority votes for/against, we will respect the majority and implement this accordingly. 
> 
> Many thanks,
> Kelly Choi
> 
> Xen Project Community Manager
> XenServer, Cloud Software Group
> 
> 
--8323329-1646724806-1701383194=:110490--


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 22:30:12 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 22:30:12 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645176.1007133 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8pXv-0004DJ-1y; Thu, 30 Nov 2023 22:30:11 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645176.1007133; Thu, 30 Nov 2023 22: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 1r8pXu-0004DC-Va; Thu, 30 Nov 2023 22:30:10 +0000
Received: by outflank-mailman (input) for mailman id 645176;
 Thu, 30 Nov 2023 22:30: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=SKhV=HL=kernel.org=sstabellini@srs-se1.protection.inumbo.net>)
 id 1r8pXu-0004D4-8J
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 22:30:10 +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 042f8062-8fd0-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 23:30:08 +0100 (CET)
Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])
 by ams.source.kernel.org (Postfix) with ESMTP id 7FB65B8466B;
 Thu, 30 Nov 2023 22:30:07 +0000 (UTC)
Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8522AC433C7;
 Thu, 30 Nov 2023 22:30:05 +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: 042f8062-8fd0-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;
	s=k20201202; t=1701383406;
	bh=6sfbdEBXOq2QxiQeJ3hEcfPlVY3gue2J5kdPIMlcSiw=;
	h=Date:From:To:cc:Subject:In-Reply-To:References:From;
	b=kSUS1t5p0OSNXBkCSDsf7gNS//DdHHIN5qV2xJBTz3AH+hi1wCTcH0j+c1EA7JmJE
	 kcburQkoJMgazC2Mh0B1h4RF0ZtQpAkkxeOZzHtPTM24n2NCWqZdIr+Zc70su4koZB
	 1ShERq5vSeV+QnPQiMWsMWFzNOu172ktsOObcncLrBckdXOyFbbyPZyf8p4pEOSheO
	 XpW2Nzwi78aKpxcNTHUB6l5+ZldwyP1xd/iq8EPCH2kZMuOIDdI348vwBUusnOv43a
	 mgj7N5SMy+8SQ7aibVbn5AfYPvjeDkmES3Ns+AdXNCMr3/+QWzWTtpjqPRwUVWnTxC
	 2XVwjVROrIIfQ==
Date: Thu, 30 Nov 2023 14:30:04 -0800 (PST)
From: Stefano Stabellini <sstabellini@kernel.org>
X-X-Sender: sstabellini@ubuntu-linux-20-04-desktop
To: Andrew Cooper <andrew.cooper3@citrix.com>
cc: Xen-devel <xen-devel@lists.xenproject.org>, 
    Jason Andryuk <jandryuk@gmail.com>, 
    George Dunlap <George.Dunlap@eu.citrix.com>, 
    Jan Beulich <JBeulich@suse.com>, 
    Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wl@xen.org>, 
    Julien Grall <julien@xen.org>, Daniel De Graaf <dgdegra@tycho.nsa.gov>, 
    Daniel Smith <dpsmith@apertussolutions.com>, 
    Henry Wang <Henry.Wang@arm.com>
Subject: Re: [PATCH v3 02/10] xen/version: Introduce non-truncating
 deterministically-signed XENVER_* subops
In-Reply-To: <20230815210650.2735671-3-andrew.cooper3@citrix.com>
Message-ID: <alpine.DEB.2.22.394.2311301429030.110490@ubuntu-linux-20-04-desktop>
References: <20230815210650.2735671-1-andrew.cooper3@citrix.com> <20230815210650.2735671-3-andrew.cooper3@citrix.com>
User-Agent: Alpine 2.22 (DEB 394 2020-01-19)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII

Hi everyone following this thread,

please see:
https://marc.info/?l=xen-devel&m=170135718323946
https://cryptpad.fr/form/#/2/form/view/7ByH95Vd7KiDOvN4wjV5iUGlMuZbkVdwk7cYpZdluWo/

For a vote on the usage of the word "broken"


On Tue, 15 Aug 2023, Andrew Cooper wrote:
> Recently in XenServer, we have encountered problems caused by both
> XENVER_extraversion and XENVER_commandline having fixed bounds.
> 
> More than just the invariant size, the APIs/ABIs also broken by typedef-ing an
> array, and using an unqualified 'char' which has implementation-specific
> signed-ness.
> 
> Provide brand new ops, which are capable of expressing variable length
> strings, and mark the older ops as broken.
> 
> This fixes all issues around XENVER_extraversion being longer than 15 chars.
> Further work beyond just this API is needed to remove other assumptions about
> XENVER_commandline being 1023 chars long.
> 
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> Reviewed-by: Jason Andryuk <jandryuk@gmail.com>
> ---
> CC: George Dunlap <George.Dunlap@eu.citrix.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Stefano Stabellini <sstabellini@kernel.org>
> CC: Wei Liu <wl@xen.org>
> CC: Julien Grall <julien@xen.org>
> CC: Daniel De Graaf <dgdegra@tycho.nsa.gov>
> CC: Daniel Smith <dpsmith@apertussolutions.com>
> CC: Jason Andryuk <jandryuk@gmail.com>
> CC: Henry Wang <Henry.Wang@arm.com>
> 
> v3:
>  * Modify dummy.h's xsm_xen_version() in the same way as flask.
> v2:
>  * Remove xen_capabilities_info_t from the stack now that arch_get_xen_caps()
>    has gone.
>  * Use an arbitrary limit check much lower than INT_MAX.
>  * Use "buf" rather than "string" terminology.
>  * Expand the API comment.
> 
> Tested by forcing XENVER_extraversion to be 20 chars long, and confirming that
> an untruncated version can be obtained.
> ---
>  xen/common/kernel.c          | 62 +++++++++++++++++++++++++++++++++++
>  xen/include/public/version.h | 63 ++++++++++++++++++++++++++++++++++--
>  xen/include/xlat.lst         |  1 +
>  xen/include/xsm/dummy.h      |  3 ++
>  xen/xsm/flask/hooks.c        |  4 +++
>  5 files changed, 131 insertions(+), 2 deletions(-)
> 
> diff --git a/xen/common/kernel.c b/xen/common/kernel.c
> index f822480a8ef3..79c008c7ee5f 100644
> --- a/xen/common/kernel.c
> +++ b/xen/common/kernel.c
> @@ -24,6 +24,7 @@
>  CHECK_build_id;
>  CHECK_compile_info;
>  CHECK_feature_info;
> +CHECK_varbuf;
>  #endif
>  
>  enum system_state system_state = SYS_STATE_early_boot;
> @@ -498,6 +499,59 @@ static int __init cf_check param_init(void)
>  __initcall(param_init);
>  #endif
>  
> +static long xenver_varbuf_op(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
> +{
> +    struct xen_varbuf user_str;
> +    const char *str = NULL;
> +    size_t sz;
> +
> +    switch ( cmd )
> +    {
> +    case XENVER_extraversion2:
> +        str = xen_extra_version();
> +        break;
> +
> +    case XENVER_changeset2:
> +        str = xen_changeset();
> +        break;
> +
> +    case XENVER_commandline2:
> +        str = saved_cmdline;
> +        break;
> +
> +    case XENVER_capabilities2:
> +        str = xen_cap_info;
> +        break;
> +
> +    default:
> +        ASSERT_UNREACHABLE();
> +        return -ENODATA;
> +    }
> +
> +    sz = strlen(str);
> +
> +    if ( sz > KB(64) ) /* Arbitrary limit.  Avoid long-running operations. */
> +        return -E2BIG;
> +
> +    if ( guest_handle_is_null(arg) ) /* Length request */
> +        return sz;
> +
> +    if ( copy_from_guest(&user_str, arg, 1) )
> +        return -EFAULT;
> +
> +    if ( user_str.len == 0 )
> +        return -EINVAL;
> +
> +    if ( sz > user_str.len )
> +        return -ENOBUFS;
> +
> +    if ( copy_to_guest_offset(arg, offsetof(struct xen_varbuf, buf),
> +                              str, sz) )
> +        return -EFAULT;
> +
> +    return sz;
> +}
> +
>  long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>  {
>      bool_t deny = !!xsm_xen_version(XSM_OTHER, cmd);
> @@ -711,6 +765,14 @@ long do_xen_version(int cmd, XEN_GUEST_HANDLE_PARAM(void) arg)
>  
>          return sz;
>      }
> +
> +    case XENVER_extraversion2:
> +    case XENVER_capabilities2:
> +    case XENVER_changeset2:
> +    case XENVER_commandline2:
> +        if ( deny )
> +            return -EPERM;
> +        return xenver_varbuf_op(cmd, arg);
>      }
>  
>      return -ENOSYS;
> diff --git a/xen/include/public/version.h b/xen/include/public/version.h
> index cbc4ef7a46e6..0dd6bbcb43cc 100644
> --- a/xen/include/public/version.h
> +++ b/xen/include/public/version.h
> @@ -19,12 +19,20 @@
>  /* arg == NULL; returns major:minor (16:16). */
>  #define XENVER_version      0
>  
> -/* arg == xen_extraversion_t. */
> +/*
> + * arg == xen_extraversion_t.
> + *
> + * This API/ABI is broken.  Use XENVER_extraversion2 where possible.
> + */
>  #define XENVER_extraversion 1
>  typedef char xen_extraversion_t[16];
>  #define XEN_EXTRAVERSION_LEN (sizeof(xen_extraversion_t))
>  
> -/* arg == xen_compile_info_t. */
> +/*
> + * arg == xen_compile_info_t.
> + *
> + * This API/ABI is broken and truncates data.
> + */
>  #define XENVER_compile_info 2
>  struct xen_compile_info {
>      char compiler[64];
> @@ -34,10 +42,20 @@ struct xen_compile_info {
>  };
>  typedef struct xen_compile_info xen_compile_info_t;
>  
> +/*
> + * arg == xen_capabilities_info_t.
> + *
> + * This API/ABI is broken.  Use XENVER_capabilities2 where possible.
> + */
>  #define XENVER_capabilities 3
>  typedef char xen_capabilities_info_t[1024];
>  #define XEN_CAPABILITIES_INFO_LEN (sizeof(xen_capabilities_info_t))
>  
> +/*
> + * arg == xen_changeset_info_t.
> + *
> + * This API/ABI is broken.  Use XENVER_changeset2 where possible.
> + */
>  #define XENVER_changeset 4
>  typedef char xen_changeset_info_t[64];
>  #define XEN_CHANGESET_INFO_LEN (sizeof(xen_changeset_info_t))
> @@ -95,6 +113,11 @@ typedef struct xen_feature_info xen_feature_info_t;
>   */
>  #define XENVER_guest_handle 8
>  
> +/*
> + * arg == xen_commandline_t.
> + *
> + * This API/ABI is broken.  Use XENVER_commandline2 where possible.
> + */
>  #define XENVER_commandline 9
>  typedef char xen_commandline_t[1024];
>  
> @@ -110,6 +133,42 @@ struct xen_build_id {
>  };
>  typedef struct xen_build_id xen_build_id_t;
>  
> +/*
> + * Container for an arbitrary variable length buffer.
> + */
> +struct xen_varbuf {
> +    uint32_t len;                          /* IN:  size of buf[] in bytes. */
> +    unsigned char buf[XEN_FLEX_ARRAY_DIM]; /* OUT: requested data.         */
> +};
> +typedef struct xen_varbuf xen_varbuf_t;
> +
> +/*
> + * arg == xen_varbuf_t
> + *
> + * Equivalent to the original ops, but with a non-truncating API/ABI.
> + *
> + * These hypercalls can fail for a number of reasons.  All callers must handle
> + * -XEN_xxx return values appropriately.
> + *
> + * Passing arg == NULL is a request for size, which will be signalled with a
> + * non-negative return value.  Note: a return size of 0 may be legitimate for
> + * the requested subop.
> + *
> + * Otherwise, the input xen_varbuf_t provides the size of the following
> + * buffer.  Xen will fill the buffer, and return the number of bytes written
> + * (e.g. if the input buffer was longer than necessary).
> + *
> + * Some subops may return binary data.  Some subops may be expected to return
> + * textural data.  These are returned without a NUL terminator, and while the
> + * contents is expected to be ASCII/UTF-8, Xen makes no guarentees to this
> + * effect.  e.g. Xen has no control over the formatting used for the command
> + * line.
> + */
> +#define XENVER_extraversion2 11
> +#define XENVER_capabilities2 12
> +#define XENVER_changeset2    13
> +#define XENVER_commandline2  14
> +
>  #endif /* __XEN_PUBLIC_VERSION_H__ */
>  
>  /*
> diff --git a/xen/include/xlat.lst b/xen/include/xlat.lst
> index 9c41948514bf..a61ba85ed0ca 100644
> --- a/xen/include/xlat.lst
> +++ b/xen/include/xlat.lst
> @@ -173,6 +173,7 @@
>  ?	build_id                        version.h
>  ?	compile_info                    version.h
>  ?	feature_info                    version.h
> +?	varbuf                          version.h
>  ?	xenoprof_init			xenoprof.h
>  ?	xenoprof_passive		xenoprof.h
>  ?	flask_access			xsm/flask_op.h
> diff --git a/xen/include/xsm/dummy.h b/xen/include/xsm/dummy.h
> index 8671af1ba4d3..a4a920f74e6e 100644
> --- a/xen/include/xsm/dummy.h
> +++ b/xen/include/xsm/dummy.h
> @@ -828,9 +828,12 @@ static XSM_INLINE int cf_check xsm_xen_version(XSM_DEFAULT_ARG uint32_t op)
>          block_speculation();
>          return 0;
>      case XENVER_extraversion:
> +    case XENVER_extraversion2:
>      case XENVER_compile_info:
>      case XENVER_capabilities:
> +    case XENVER_capabilities2:
>      case XENVER_changeset:
> +    case XENVER_changeset2:
>      case XENVER_pagesize:
>      case XENVER_guest_handle:
>          /* These MUST always be accessible to any guest by default. */
> diff --git a/xen/xsm/flask/hooks.c b/xen/xsm/flask/hooks.c
> index 78225f68c15c..a671dcd0322e 100644
> --- a/xen/xsm/flask/hooks.c
> +++ b/xen/xsm/flask/hooks.c
> @@ -1777,15 +1777,18 @@ static int cf_check flask_xen_version(uint32_t op)
>          /* These sub-ops ignore the permission checks and return data. */
>          return 0;
>      case XENVER_extraversion:
> +    case XENVER_extraversion2:
>          return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
>                              VERSION__XEN_EXTRAVERSION, NULL);
>      case XENVER_compile_info:
>          return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
>                              VERSION__XEN_COMPILE_INFO, NULL);
>      case XENVER_capabilities:
> +    case XENVER_capabilities2:
>          return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
>                              VERSION__XEN_CAPABILITIES, NULL);
>      case XENVER_changeset:
> +    case XENVER_changeset2:
>          return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
>                              VERSION__XEN_CHANGESET, NULL);
>      case XENVER_pagesize:
> @@ -1795,6 +1798,7 @@ static int cf_check flask_xen_version(uint32_t op)
>          return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
>                              VERSION__XEN_GUEST_HANDLE, NULL);
>      case XENVER_commandline:
> +    case XENVER_commandline2:
>          return avc_has_perm(dsid, SECINITSID_XEN, SECCLASS_VERSION,
>                              VERSION__XEN_COMMANDLINE, NULL);
>      case XENVER_build_id:
> -- 
> 2.30.2
> 


From xen-devel-bounces@lists.xenproject.org Thu Nov 30 22:39:11 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 22:39:11 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645180.1007143 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8pgU-0006rV-Ts; Thu, 30 Nov 2023 22:39:02 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645180.1007143; Thu, 30 Nov 2023 22:39: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 1r8pgU-0006rO-Qp; Thu, 30 Nov 2023 22:39:02 +0000
Received: by outflank-mailman (input) for mailman id 645180;
 Thu, 30 Nov 2023 22:39: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8pgT-0006rI-PD
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 22:39:01 +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 40284671-8fd1-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 23:38:59 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73])
 by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3,
 cipher=TLS_AES_256_GCM_SHA384) id us-mta-370-2yT6W-xzPFaqTYNGz5hOgg-1; Thu,
 30 Nov 2023 17:38:54 -0500
Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com
 [10.11.54.2])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id A778629ABA10;
 Thu, 30 Nov 2023 22:38:52 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 6177140C6EB9;
 Thu, 30 Nov 2023 22:38: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: 40284671-8fd1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701383938;
	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=WI2Jf1OC4iSvALmYQfUtReNWVl9fhkLMLHnroecJUTI=;
	b=coVohl7C8ylVp6d39s1WDaMbSsiNmzFww6mpaVREFPqqNGonncYKL/BCih4VthFulFA5QD
	cm6Cb6rE8uSehYvKfRfFvpL+vYgpTXSKs2yhHnvHuwD9m7Erqjw2powCR0QqgV/KPah7bG
	8KDG+BSRUjj2eDMcXCkM5Kxo5MafzNc=
X-MC-Unique: 2yT6W-xzPFaqTYNGz5hOgg-1
Date: Thu, 30 Nov 2023 16:38:47 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 09/12] docs: remove AioContext lock from IOThread docs
Message-ID: <dt2akuchauh75it4qw4j3sghioirzalmv4ehsjsdhi4w4inj3z@l4tpvy74dejw>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-10-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-10-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.2

On Wed, Nov 29, 2023 at 02:55:50PM -0500, Stefan Hajnoczi wrote:
> Encourage the use of locking primitives and stop mentioning the
> AioContext lock since it is being removed.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  docs/devel/multiple-iothreads.txt | 45 +++++++++++--------------------
>  1 file changed, 15 insertions(+), 30 deletions(-)
> 
> diff --git a/docs/devel/multiple-iothreads.txt b/docs/devel/multiple-iothreads.txt
> index a3e949f6b3..4865196bde 100644
> --- a/docs/devel/multiple-iothreads.txt

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 22:41:50 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 22:41:50 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645182.1007154 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8pj5-0000pK-BV; Thu, 30 Nov 2023 22:41:43 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645182.1007154; Thu, 30 Nov 2023 22: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 1r8pj5-0000pD-7W; Thu, 30 Nov 2023 22:41:43 +0000
Received: by outflank-mailman (input) for mailman id 645182;
 Thu, 30 Nov 2023 22:41: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=3Itg=HL=redhat.com=eblake@srs-se1.protection.inumbo.net>)
 id 1r8pj3-0000p7-6c
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 22:41:41 +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 9f993ff3-8fd1-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 23:41:39 +0100 (CET)
Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com
 [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS
 (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id
 us-mta-298-xfySg5UIPHa0Oze4U3OSMA-1; Thu, 30 Nov 2023 17:41:36 -0500
Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.rdu2.redhat.com
 [10.11.54.1])
 (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 mimecast-mx02.redhat.com (Postfix) with ESMTPS id 745D285A58C;
 Thu, 30 Nov 2023 22:41:35 +0000 (UTC)
Received: from redhat.com (unknown [10.2.16.190])
 by smtp.corp.redhat.com (Postfix) with ESMTPS id 3FA1936E2;
 Thu, 30 Nov 2023 22:39: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: 9f993ff3-8fd1-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
	s=mimecast20190719; t=1701384098;
	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=r/VZfGX6KLqMsdN4cAwU47Sz86b9uY8dJAFkwekZGW4=;
	b=d/AuhIAm50TNZiRjdlbylkQjCNql7k9+N1FooV2dv/yMEzJ2QdO482RozshsLRuf+wGyFI
	FsGvzCC4WmFosu/2QK55LjdjbzouAtzLzjWI9yuLekSImXbuNKlPmGx9TAbVNeUy9NIe1a
	osgLVO8WW4mwr3BE4GnPIn99is9sCFk=
X-MC-Unique: xfySg5UIPHa0Oze4U3OSMA-1
Date: Thu, 30 Nov 2023 16:39:32 -0600
From: Eric Blake <eblake@redhat.com>
To: Stefan Hajnoczi <stefanha@redhat.com>
Cc: qemu-devel@nongnu.org, Hanna Reitz <hreitz@redhat.com>, 
	Paul Durrant <paul@xen.org>, Paolo Bonzini <pbonzini@redhat.com>, 
	Alberto Garcia <berto@igalia.com>, Emanuele Giuseppe Esposito <eesposit@redhat.com>, 
	John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, 
	Wen Congyang <wencongyang2@huawei.com>, qemu-block@nongnu.org, xen-devel@lists.xenproject.org, 
	Coiby Xu <Coiby.Xu@gmail.com>, Eduardo Habkost <eduardo@habkost.net>, 
	Xie Changlong <xiechanglong.d@gmail.com>, Ari Sundholm <ari@tuxera.com>, 
	Li Zhijian <lizhijian@fujitsu.com>, Cleber Rosa <crosa@redhat.com>, 
	Juan Quintela <quintela@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>, 
	Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= <berrange@redhat.com>, Jason Wang <jasowang@redhat.com>, 
	Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>, Zhang Chen <chen.zhang@intel.com>, Peter Xu <peterx@redhat.com>, 
	Anthony Perard <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>, 
	Leonardo Bras <leobras@redhat.com>, Pavel Dovgalyuk <pavel.dovgaluk@ispras.ru>, 
	Fam Zheng <fam@euphon.net>, Fabiano Rosas <farosas@suse.de>
Subject: Re: [PATCH 10/12] scsi: remove outdated AioContext lock comment
Message-ID: <nmuvrnmt3rltedioief3aswbwcvmesqkglouh2iqok44gdm67j@xrohy4ys3ojc>
References: <20231129195553.942921-1-stefanha@redhat.com>
 <20231129195553.942921-11-stefanha@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20231129195553.942921-11-stefanha@redhat.com>
User-Agent: NeoMutt/20231103
X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.1

On Wed, Nov 29, 2023 at 02:55:51PM -0500, Stefan Hajnoczi wrote:
> The SCSI subsystem no longer uses the AioContext lock. Request
> processing runs exclusively in the BlockBackend's AioContext since
> "scsi: only access SCSIDevice->requests from one thread" and hence the
> lock is unnecessary.
> 
> Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
> ---
>  hw/scsi/scsi-disk.c | 1 -
>  1 file changed, 1 deletion(-)
>

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org



From xen-devel-bounces@lists.xenproject.org Thu Nov 30 22:58:22 2023
Return-path: <xen-devel-bounces@lists.xenproject.org>
Envelope-to: archives@lists.xen.org
Delivery-date: Thu, 30 Nov 2023 22:58:22 +0000
Received: from list by lists.xenproject.org with outflank-mailman.645186.1007164 (Exim 4.92)
	(envelope-from <xen-devel-bounces@lists.xenproject.org>)
	id 1r8pz3-0006zZ-Lu; Thu, 30 Nov 2023 22:58:13 +0000
X-Outflank-Mailman: Message body and most headers restored to incoming version
Received: by outflank-mailman (output) from mailman id 645186.1007164; Thu, 30 Nov 2023 22:58: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 1r8pz3-0006zS-J8; Thu, 30 Nov 2023 22:58:13 +0000
Received: by outflank-mailman (input) for mailman id 645186;
 Thu, 30 Nov 2023 22:58: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=gUle=HL=gmail.com=tamas.k.lengyel@srs-se1.protection.inumbo.net>)
 id 1r8pz2-0006wq-Ql
 for xen-devel@lists.xenproject.org; Thu, 30 Nov 2023 22:58:12 +0000
Received: from mail-yw1-x1134.google.com (mail-yw1-x1134.google.com
 [2607:f8b0:4864:20::1134])
 by se1-gles-flk1.inumbo.com (Halon) with ESMTPS
 id ed5680d7-8fd3-11ee-9b0f-b553b5be7939;
 Thu, 30 Nov 2023 23:58:08 +0100 (CET)
Received: by mail-yw1-x1134.google.com with SMTP id
 00721157ae682-5d279bcce64so17450827b3.3
 for <xen-devel@lists.xenproject.org>; Thu, 30 Nov 2023 14:58:08 -0800 (PST)
X-BeenThere: xen-devel@lists.xenproject.org
List-Id: Xen developer discussion <xen-devel.lists.xenproject.org>
List-Unsubscribe: <https://lists.xenproject.org/mailman/options/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=unsubscribe>
List-Post: <mailto:xen-devel@lists.xenproject.org>
List-Help: <mailto:xen-devel-request@lists.xenproject.org?subject=help>
List-Subscribe: <https://lists.xenproject.org/mailman/listinfo/xen-devel>,
 <mailto:xen-devel-request@lists.xenproject.org?subject=subscribe>
Errors-To: xen-devel-bounces@lists.xenproject.org
Precedence: list
Sender: "Xen-devel" <xen-devel-bounces@lists.xenproject.org>
X-Inumbo-ID: ed5680d7-8fd3-11ee-9b0f-b553b5be7939
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=gmail.com; s=20230601; t=1701385087; x=1701989887; darn=lists.xenproject.org;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:from:to:cc:subject:date
         :message-id:reply-to;
        bh=DXiMl/IIXeka1Aj/gUHafQnf9b/q3sVuGXEQoG9QPTg=;
        b=iIaBSOPPIS7xBD/flmKh+oix5oq99FCSi9NkptTYY9OkiQoNDg6OPRdkJ/r0iuYqJ1
         jfEeHRzexHAu8dgomkeudM/K5V7Iod0omsJ6fqYAQ+cIJHW9C9Z8GAPHP08wXoyFgx9i
         P+glz3sBph7GbEWv1B8hgcb6xVzu1kqwXdQs70jtxhIkFQZOFOkxXo+lt+4WbCbFDj7E
         WA1Z2SE/WC6ki4JlMcUf8IUMhVeiH0AGz+hW+nrzhBodYwPLDtARYGyi/deFn3EMuxyI
         EHF0dnjfWMOf5mBHbNXSvTfRtcC3V6SFOId0oqOP5+y3fo6TyP6qlt+VaeOiPXPa1ljl
         qDOA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20230601; t=1701385087; x=1701989887;
        h=content-transfer-encoding:cc:to:subject:message-id:date:from
         :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
         :subject:date:message-id:reply-to;
        bh=DXiMl/IIXeka1Aj/gUHafQnf9b/q3sVuGXEQoG9QPTg=;
        b=Oe8LR0+ya4Dj89Bc2kUc9k0eob6IK25YWYSKFEkm4JXLwIFSQXTuOPiRbep4vJn/TM
         l6cthybtMK/bQIJFT8KUBgC2/TVJRQSFGZrdkfILENmWQfICSYPkgsxP9ExgHJK0RJrB
         lOlwl7N2pNn8kVVtgL3GR1Db48VrrRYFIEeEzPCC/Gz9ufjOo0CdXVv+GoZprFv1TcXI
         HrFIRdwAO1qHA3wBT9oIG4T76y/mO+UbA7CHaws3CNa7hLBQVfl2QTJ+Y4JCSMpXqK1I
         LC7xCFw4Vtrf3u7ABx+wwsef710zZ1SEhBFUhOEE+SmKZBIGu67yq8OeSpdWsFbNskd/
         k5SQ==
X-Gm-Message-State: AOJu0YyI5M+7emUnvipP4bbI3xRWVtgFQR1yn6ntJipHft/8JuWbSSXv
	pCwOkqrhatIB1w87plhPNsEM7QvY4c4OuUoMHWk=
X-Google-Smtp-Source: AGHT+IHIl9PAfjmhwtsblurkdKohEeMBs29OX7GaWQw3zuwC6lC8olNXE9e3w6etEHka2eXEGY7whcBv3ihBquZuqZk=
X-Received: by 2002:a05:690c:3513:b0:5d0:9a2f:26e7 with SMTP id
 fq19-20020a05690c351300b005d09a2f26e7mr16636549ywb.19.1701385087158; Thu, 30
 Nov 2023 14:58:07 -0800 (PST)
MIME-Version: 1.0
References: <CAO-mL=x3DntLhoKuaiWYjVqkQRqj=rdyZWmuH1aDjkmUbQchyA@mail.gmail.com>
 <alpine.DEB.2.22.394.2311301426210.110490@ubuntu-linux-20-04-desktop>
In-Reply-To: <alpine.DEB.2.22.394.2311301426210.110490@ubuntu-linux-20-04-desktop>
From: Tamas K Lengyel <tamas.k.lengyel@gmail.com>
Date: Thu, 30 Nov 2023 17:57:30 -0500
Message-ID: <CABfawhnXtOFuqNgWP=6bdX_+T7X0+T_wxQtJsxMrbtpbempuVA@mail.gmail.com>
Subject: Re: INFORMAL VOTE REQUIRED - DOCUMENTATION WORDING
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: Kelly Choi <kelly.choi@cloud.com>, xen-devel@lists.xenproject.org, 
	committers@xenproject.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi all,
I think this form is bad and is not helpful. We ought to be able to
recommend an alternative term beside "broken" and "deprecated". I
would not use the term broken in this context but that also doesn't
mean we shouldn't use it in any context. But also in this context
deprecated is not the right term to use either since deprecated would
require us to actually make the old hypercalls stop working altogether
at some future point, which we won't ever do AFAIU. My vote would be
to use the term superseded in this context, which I can't express
clearly in the form so I'm not going to cast a vote.

Tamas

On Thu, Nov 30, 2023 at 5:28=E2=80=AFPM Stefano Stabellini
<sstabellini@kernel.org> wrote:
>
> Hi all,
>
> This vote is in the context of this thread:
> https://marc.info/?l=3Dxen-devel&m=3D169213351810075
>
>
> On Thu, 30 Nov 2023, Kelly Choi wrote:
> > Hi all,
> > There have been a few discussions about how we use documentation wordin=
g within the community. Whilst there are differences in opinions and
> > perceptions of the definition, it would be helpful to see a wider conse=
nsus of how we feel.
> >
> > Discussion: Should we use the term 'broken' in our documentation, or do=
 you think an alternative wording would be better? If you agree or
> > disagree, please vote as this will impact future discussions.
> >
> > I have purposely made the vote between two options to help us move in a=
 forward direction.
> >
> > PLEASE VOTE HERE. Deadline 15th December 2023.
> > Your name will be required but will be private. If you answer anonymous=
ly, your vote will not count. This is to ensure it is fair and each
> > person gets one vote.
> >
> > As an open-source project, we need to come to a common ground, which so=
metimes means we may not personally agree. To make this fair, please
> > note the final results will be used to determine our future actions wit=
hin the community.
> >
> > If the majority votes for/against, we will respect the majority and imp=
lement this accordingly.
> >
> > Many thanks,
> > Kelly Choi
> >
> > Xen Project Community Manager
> > XenServer, Cloud Software Group
> >
> >


